From 4b6d6ff1d76a23e683a16e744ee1d7ae5ae2ad39 Mon Sep 17 00:00:00 2001 From: Nick Downing Date: Tue, 1 Dec 2015 03:17:51 +1100 Subject: [PATCH] 20040204 release --- .cvsignore | 2 + CVS/Entries | 10 + CVS/Repository | 1 + CVS/Root | 1 + bin/.cvsignore | 1 + bin/CVS/Entries | 53 + bin/CVS/Repository | 1 + bin/CVS/Root | 1 + bin/banked/CVS/Entries | 105 + bin/banked/CVS/Repository | 1 + bin/banked/CVS/Root | 1 + bin/banked/mkfs | Bin 15822 -> 15822 bytes bin/checksum | Bin 128 -> 128 bytes bin/chset/CVS/Entries | 5 + bin/chset/CVS/Repository | 1 + bin/chset/CVS/Root | 1 + bin/data/CVS/Entries | 9 + bin/data/CVS/Repository | 1 + bin/data/CVS/Root | 1 + bin/db/CVS/Entries | 3 + bin/db/CVS/Repository | 1 + bin/db/CVS/Root | 1 + bin/demos/CVS/Entries | 29 + bin/demos/CVS/Repository | 1 + bin/demos/CVS/Root | 1 + bin/font/CVS/Entries | 4 + bin/font/CVS/Repository | 1 + bin/font/CVS/Root | 1 + bin/good/CVS/Entries | 2 + bin/good/CVS/Repository | 1 + bin/good/CVS/Root | 1 + bin/kernel.bin | Bin 341185 -> 349333 bytes bin/large/CVS/Entries | 101 + bin/large/CVS/Repository | 1 + bin/large/CVS/Root | 1 + bin/large/mkfs | Bin 14813 -> 14813 bytes bin/man/CVS/Entries | 6 + bin/man/CVS/Repository | 1 + bin/man/CVS/Root | 1 + bin/man/cat1/CVS/Entries | 48 + bin/man/cat1/CVS/Repository | 1 + bin/man/cat1/CVS/Root | 1 + bin/man/man1/CVS/Entries | 48 + bin/man/man1/CVS/Repository | 1 + bin/man/man1/CVS/Root | 1 + bin/man/man1/basename.1 | 58 +- bin/man/man1/cal.1 | 54 +- bin/man/man1/cat.1 | 76 +- bin/man/man1/chmod.1 | 344 +- bin/man/man1/chown.1 | 70 +- bin/man/man1/cmp.1 | 84 +- bin/man/man1/cp.1 | 58 +- bin/man/man1/date.1 | 84 +- bin/man/man1/dd.1 | 384 +- bin/man/man1/diff.1 | 276 +- bin/man/man1/du.1 | 86 +- bin/man/man1/echo.1 | 46 +- bin/man/man1/ed.1 | 1304 +- bin/man/man1/expr.1 | 192 +- bin/man/man1/file.1 | 36 +- bin/man/man1/find.1 | 338 +- bin/man/man1/grep.1 | 352 +- bin/man/man1/kill.1 | 76 +- bin/man/man1/ln.1 | 66 +- bin/man/man1/login.1 | 122 +- bin/man/man1/ls.1 | 344 +- bin/man/man1/man.1 | 198 +- bin/man/man1/mkdir.1 | 50 +- bin/man/man1/mv.1 | 138 +- bin/man/man1/od.1 | 140 +- bin/man/man1/passwd.1 | 60 +- bin/man/man1/pr.1 | 150 +- bin/man/man1/ps.1 | 248 +- bin/man/man1/pwd.1 | 20 +- bin/man/man1/rm.1 | 126 +- bin/man/man1/roff.1 | 636 +- bin/man/man1/sort.1 | 352 +- bin/man/man1/split.1 | 70 +- bin/man/man1/su.1 | 54 +- bin/man/man1/sum.1 | 38 +- bin/man/man1/tail.1 | 70 +- bin/man/man1/tar.1 | 334 +- bin/man/man1/tee.1 | 48 +- bin/man/man1/test.1 | 230 +- bin/man/man1/time.1 | 52 +- bin/man/man1/touch.1 | 44 +- bin/man/man1/tr.1 | 134 +- bin/man/man1/troff.1 | 424 +- bin/man/man1/true.1 | 60 +- bin/man/man1/uniq.1 | 144 +- bin/man/man1/wc.1 | 46 +- bin/mkboot%.ucp | 133 - bin/mkboot.ucp | 7 +- bin/n.bat | 17 +- bin/nlddl/CHECKSUM | Bin 0 -> 128 bytes bin/nlddl/CRC | Bin 0 -> 128 bytes bin/nlddl/CVS/Entries | 1 + bin/nlddl/CVS/Repository | 1 + bin/nlddl/CVS/Root | 1 + bin/nlddl/DIR.ID | 1 + bin/nlddl/boot.bin | Bin 0 -> 1920 bytes bin/nlddl/checksum.dat | 2 + bin/nlddl/crc.dat | 2 + bin/nlddl/kernel.bin | Bin 0 -> 141312 bytes bin/nos/CVS/Entries | 10 + bin/nos/CVS/Repository | 1 + bin/nos/CVS/Root | 1 + bin/nos/drop.escc0 | 19 + bin/nos/drop.escc1 | 15 + bin/nos/init.escc0 | 20 + bin/nos/init.escc1 | 20 + bin/nos/raise.asci0 | 14 +- bin/nos/raise.escc0 | 20 + bin/nos/raise.escc1 | 16 + bin/nos/startup.net | 20 + bin/nos/startup.net% | 72 + bin/profile.tsys.sh | 8 +- bin/term/CVS/Entries | 2 + bin/term/CVS/Repository | 1 + bin/term/CVS/Root | 1 + bin/tmac/CVS/Entries | 2 + bin/tmac/CVS/Repository | 1 + bin/tmac/CVS/Root | 1 + bin/uzboot.bin | Bin 136364 -> 141218 bytes bin/uzboot.gz | Bin 134562 -> 139416 bytes bin/uzidisk.dat | Bin 4194304 -> 4194304 bytes devlog.txt | 18 +- doc/030131SD.P | 40 +- doc/030217SD.P | 8 +- doc/030306SD.P | 10 +- .../CVS/Entries | 5 + .../CVS/Repository | 1 + .../CVS/Root | 1 + doc/ASxxxx Cross Assemblers_files/CVS/Entries | 9 + .../CVS/Repository | 1 + doc/ASxxxx Cross Assemblers_files/CVS/Root | 1 + .../CVS/Entries | 2 + .../CVS/Repository | 1 + .../CVS/Root | 1 + doc/CVS/Entries | 37 + doc/CVS/Repository | 1 + doc/CVS/Root | 1 + ...tilities - 8 Producing Binary MO Files.htm | 2 +- ...- History and Timeline -- UNIX History.htm | 2 +- .../CVS/Entries | 10 + .../CVS/Repository | 1 + .../CVS/Root | 1 + .../code | 138 +- .../what_is_unix.htm | 922 +- doc/gui/CVS/Entries | 4 + doc/gui/CVS/Repository | 1 + doc/gui/CVS/Root | 1 + doc/gui/Gui driver.doc | Bin 47104 -> 47171 bytes doc/gui/Software design.doc | Bin 19456 -> 19468 bytes doc/gui/scr file format.doc | Bin 22016 -> 22024 bytes doc/rfc/CVS/Entries | 6 + doc/rfc/CVS/Repository | 1 + doc/rfc/CVS/Root | 1 + doc/syscalls.p | 588 +- doc/z180-mem.p | 666 +- include/CVS/Entries | 51 + include/CVS/Repository | 1 + include/CVS/Root | 1 + include/setjmp.h | 4 +- include/sys/CVS/Entries | 11 + include/sys/CVS/Repository | 1 + include/sys/CVS/Root | 1 + lib/c0b.lst | 335 - lib/c0b.rel | 60 - lib/c0b.rst | 335 - lib/c0l.lst | 335 - lib/c0l.rel | 55 - lib/c0l.rst | 335 - lib/relcb/abort.rel | 50 - lib/relcb/alloca.rel | 98 - lib/relcb/asctime.rel | 225 - lib/relcb/assert.rel | 82 - lib/relcb/atexit.rel | 128 - lib/relcb/atoi.rel | 21 - lib/relcb/atol.rel | 21 - lib/relcb/bsearch.rel | 94 - lib/relcb/calloc.rel | 37 - lib/relcb/clock.rel | 28 - lib/relcb/closedir.rel | 57 - lib/relcb/convtime.rel | 191 - lib/relcb/crypt.rel | 229 - lib/relcb/ctime.rel | 22 - lib/relcb/ctype.rel | 101 - lib/relcb/difftime.rel | 85 - lib/relcb/error.rel | 249 - lib/relcb/etime.rel | 117 - lib/relcb/execl.rel | 198 - lib/relcb/execle.rel | 37 - lib/relcb/execlp.rel | 27 - lib/relcb/execlpe.rel | 42 - lib/relcb/exect.rel | 19 - lib/relcb/execv.rel | 20 - lib/relcb/execvp.rel | 25 - lib/relcb/execvpe.rel | 24 - lib/relcb/exit.rel | 34 - lib/relcb/fclose.rel | 155 - lib/relcb/fflush.rel | 208 - lib/relcb/fgetc.rel | 94 - lib/relcb/fgetgren.rel | 34 - lib/relcb/fgetpwen.rel | 34 - lib/relcb/fgets.rel | 83 - lib/relcb/fopen.rel | 254 - lib/relcb/fprintf.rel | 25 - lib/relcb/fputc.rel | 130 - lib/relcb/fputs.rel | 53 - lib/relcb/fread.rel | 155 - lib/relcb/free.rel | 90 - lib/relcb/fscanf.rel | 25 - lib/relcb/ftell.rel | 40 - lib/relcb/fwrite.rel | 198 - lib/relcb/getcwd.rel | 353 - lib/relcb/getenv.rel | 83 - lib/relcb/getgrent.rel | 294 - lib/relcb/getgrgid.rel | 53 - lib/relcb/getgrnam.rel | 69 - lib/relcb/getopt.rel | 290 - lib/relcb/getpass.rel | 166 - lib/relcb/getpw.rel | 68 - lib/relcb/getpwent.rel | 293 - lib/relcb/getpwnam.rel | 69 - lib/relcb/getpwuid.rel | 53 - lib/relcb/gets.rel | 96 - lib/relcb/gmtime.rel | 478 - lib/relcb/initgrup.rel | 6 - lib/relcb/isatty.rel | 41 - lib/relcb/itoa.rel | 193 - lib/relcb/localtim.rel | 26 - lib/relcb/longjmpb.rel | 21 - lib/relcb/lsearch.rel | 93 - lib/relcb/lstat.rel | 52 - lib/relcb/ltoa.rel | 45 - lib/relcb/ltostr.rel | 38 - lib/relcb/malloc.rel | 199 - lib/relcb/memccpy.rel | 49 - lib/relcb/memchr.rel | 47 - lib/relcb/memcmp.rel | 47 - lib/relcb/memcpy.rel | 35 - lib/relcb/memmove.rel | 61 - lib/relcb/memset.rel | 31 - lib/relcb/mkdir.rel | 23 - lib/relcb/mktime.rel | 41 - lib/relcb/opendir.rel | 105 - lib/relcb/perror.rel | 84 - lib/relcb/popen.rel | 204 - lib/relcb/printf.rel | 26 - lib/relcb/putenv.rel | 202 - lib/relcb/putgetch.rel | 46 - lib/relcb/putpwent.rel | 69 - lib/relcb/qsort.rel | 308 - lib/relcb/rand.rel | 126 - lib/relcb/readdir.rel | 94 - lib/relcb/readlink.rel | 49 - lib/relcb/realloc.rel | 61 - lib/relcb/regerror.rel | 34 - lib/relcb/regexp.rel | 2217 -- lib/relcb/regsub.rel | 219 - lib/relcb/rename.rel | 36 - lib/relcb/rewind.rel | 170 - lib/relcb/rewindir.rel | 46 - lib/relcb/rmdir.rel | 201 - lib/relcb/scanf.rel | 26 - lib/relcb/setbuff.rel | 72 - lib/relcb/setenv.rel | 296 - lib/relcb/setgrent.rel | 86 - lib/relcb/setjmpb.rel | 17 - lib/relcb/setpwent.rel | 112 - lib/relcb/setvbuff.rel | 105 - lib/relcb/sleep.rel | 74 - lib/relcb/sprintf.rel | 43 - lib/relcb/sscanf.rel | 39 - lib/relcb/stdio0.rel | 145 - lib/relcb/strcat.rel | 24 - lib/relcb/strchr.rel | 47 - lib/relcb/strcmp.rel | 43 - lib/relcb/strcpy.rel | 26 - lib/relcb/strcspn.rel | 43 - lib/relcb/strdup.rel | 41 - lib/relcb/stricmp.rel | 84 - lib/relcb/strlen.rel | 33 - lib/relcb/strncat.rel | 59 - lib/relcb/strncmp.rel | 51 - lib/relcb/strncpy.rel | 59 - lib/relcb/strnicmp.rel | 90 - lib/relcb/strpbrk.rel | 51 - lib/relcb/strrchr.rel | 59 - lib/relcb/strsep.rel | 53 - lib/relcb/strspn.rel | 71 - lib/relcb/strstr.rel | 71 - lib/relcb/strtod.rel | 6 - lib/relcb/strtok.rel | 86 - lib/relcb/strtol.rel | 87 - lib/relcb/strtoul.rel | 218 - lib/relcb/system.rel | 165 - lib/relcb/termcap.rel | 1432 -- lib/relcb/tmpnam.rel | 87 - lib/relcb/tparam.rel | 701 - lib/relcb/ttyname.rel | 164 - lib/relcb/tzset.rel | 104 - lib/relcb/ultoa.rel | 37 - lib/relcb/ungetc.rel | 77 - lib/relcb/utsname.rel | 69 - lib/relcb/vfprintf.rel | 758 - lib/relcb/vfscanf.rel | 952 - lib/relcb/vprintf.rel | 22 - lib/relcb/vscanf.rel | 22 - lib/relcb/vsprintf.rel | 39 - lib/relcb/vsscanf.rel | 35 - lib/relcb/xitoa.rel | 21 - lib/relcb/xltoa.rel | 29 - lib/relcl/abort.rel | 30 - lib/relcl/alloca.rel | 93 - lib/relcl/asctime.rel | 215 - lib/relcl/assert.rel | 59 - lib/relcl/atexit.rel | 115 - lib/relcl/atoi.rel | 18 - lib/relcl/atol.rel | 18 - lib/relcl/bsearch.rel | 94 - lib/relcl/calloc.rel | 32 - lib/relcl/clock.rel | 23 - lib/relcl/closedir.rel | 50 - lib/relcl/convtime.rel | 191 - lib/relcl/crypt.rel | 222 - lib/relcl/ctime.rel | 17 - lib/relcl/ctype.rel | 101 - lib/relcl/difftime.rel | 80 - lib/relcl/error.rel | 230 - lib/relcl/etime.rel | 110 - lib/relcl/execl.rel | 187 - lib/relcl/execle.rel | 34 - lib/relcl/execlp.rel | 22 - lib/relcl/execlpe.rel | 37 - lib/relcl/exect.rel | 18 - lib/relcl/execv.rel | 17 - lib/relcl/execvp.rel | 20 - lib/relcl/execvpe.rel | 19 - lib/relcl/exit.rel | 30 - lib/relcl/fclose.rel | 144 - lib/relcl/fflush.rel | 195 - lib/relcl/fgetc.rel | 89 - lib/relcl/fgetgren.rel | 31 - lib/relcl/fgetpwen.rel | 31 - lib/relcl/fgets.rel | 80 - lib/relcl/fopen.rel | 241 - lib/relcl/fprintf.rel | 22 - lib/relcl/fputc.rel | 121 - lib/relcl/fputs.rel | 50 - lib/relcl/fread.rel | 146 - lib/relcl/free.rel | 90 - lib/relcl/fscanf.rel | 22 - lib/relcl/ftell.rel | 33 - lib/relcl/fwrite.rel | 185 - lib/relcl/getcwd.rel | 321 - lib/relcl/getenv.rel | 78 - lib/relcl/getgrent.rel | 271 - lib/relcl/getgrgid.rel | 46 - lib/relcl/getgrnam.rel | 60 - lib/relcl/getopt.rel | 269 - lib/relcl/getpass.rel | 152 - lib/relcl/getpw.rel | 63 - lib/relcl/getpwent.rel | 274 - lib/relcl/getpwnam.rel | 60 - lib/relcl/getpwuid.rel | 46 - lib/relcl/gets.rel | 89 - lib/relcl/gmtime.rel | 475 - lib/relcl/initgrup.rel | 6 - lib/relcl/isatty.rel | 38 - lib/relcl/itoa.rel | 190 - lib/relcl/localtim.rel | 23 - lib/relcl/longjmpl.rel | 16 - lib/relcl/lsearch.rel | 87 - lib/relcl/lstat.rel | 45 - lib/relcl/ltoa.rel | 42 - lib/relcl/ltostr.rel | 33 - lib/relcl/malloc.rel | 194 - lib/relcl/memccpy.rel | 49 - lib/relcl/memchr.rel | 47 - lib/relcl/memcmp.rel | 47 - lib/relcl/memcpy.rel | 35 - lib/relcl/memmove.rel | 58 - lib/relcl/memset.rel | 31 - lib/relcl/mkdir.rel | 20 - lib/relcl/mktime.rel | 41 - lib/relcl/opendir.rel | 88 - lib/relcl/perror.rel | 78 - lib/relcl/popen.rel | 171 - lib/relcl/printf.rel | 23 - lib/relcl/putenv.rel | 189 - lib/relcl/putgetch.rel | 41 - lib/relcl/putpwent.rel | 66 - lib/relcl/qsort.rel | 305 - lib/relcl/rand.rel | 126 - lib/relcl/readdir.rel | 87 - lib/relcl/readlink.rel | 42 - lib/relcl/realloc.rel | 54 - lib/relcl/regerror.rel | 29 - lib/relcl/regexp.rel | 2147 -- lib/relcl/regsub.rel | 212 - lib/relcl/rename.rel | 31 - lib/relcl/rewind.rel | 161 - lib/relcl/rewindir.rel | 43 - lib/relcl/rmdir.rel | 170 - lib/relcl/scanf.rel | 23 - lib/relcl/setbuff.rel | 67 - lib/relcl/setenv.rel | 265 - lib/relcl/setgrent.rel | 74 - lib/relcl/setjmpl.rel | 16 - lib/relcl/setpwent.rel | 98 - lib/relcl/setvbuff.rel | 98 - lib/relcl/sleep.rel | 62 - lib/relcl/sprintf.rel | 40 - lib/relcl/sscanf.rel | 36 - lib/relcl/stdio0.rel | 129 - lib/relcl/strcat.rel | 19 - lib/relcl/strchr.rel | 47 - lib/relcl/strcmp.rel | 43 - lib/relcl/strcpy.rel | 21 - lib/relcl/strcspn.rel | 40 - lib/relcl/strdup.rel | 34 - lib/relcl/stricmp.rel | 84 - lib/relcl/strlen.rel | 33 - lib/relcl/strncat.rel | 50 - lib/relcl/strncmp.rel | 51 - lib/relcl/strncpy.rel | 59 - lib/relcl/strnicmp.rel | 90 - lib/relcl/strpbrk.rel | 48 - lib/relcl/strrchr.rel | 56 - lib/relcl/strsep.rel | 50 - lib/relcl/strspn.rel | 71 - lib/relcl/strstr.rel | 64 - lib/relcl/strtod.rel | 6 - lib/relcl/strtok.rel | 81 - lib/relcl/strtol.rel | 84 - lib/relcl/strtoul.rel | 218 - lib/relcl/system.rel | 140 - lib/relcl/termcap.rel | 1381 -- lib/relcl/tmpnam.rel | 77 - lib/relcl/tparam.rel | 677 - lib/relcl/ttyname.rel | 143 - lib/relcl/tzset.rel | 95 - lib/relcl/ultoa.rel | 34 - lib/relcl/ungetc.rel | 74 - lib/relcl/utsname.rel | 54 - lib/relcl/vfprintf.rel | 734 - lib/relcl/vfscanf.rel | 923 - lib/relcl/vprintf.rel | 19 - lib/relcl/vscanf.rel | 19 - lib/relcl/vsprintf.rel | 36 - lib/relcl/vsscanf.rel | 32 - lib/relcl/xitoa.rel | 18 - lib/relcl/xltoa.rel | 24 - lib/reliar/BANKCALLDIRECT.rel | 12 - lib/reliar/BANKCALLDIRECTEXAF.rel | 10 - lib/reliar/BANKLEAVE32.rel | 12 - lib/reliar/BANKLEAVEDIRECT.rel | 15 - lib/reliar/BFCANDASG.rel | 16 - lib/reliar/BFCLSHASG.rel | 14 - lib/reliar/BFCMULASG.rel | 16 - lib/reliar/BFCORASG.rel | 16 - lib/reliar/BFCRETVAL.rel | 23 - lib/reliar/BFCSHIFTUP.rel | 11 - lib/reliar/BFCXORASG.rel | 16 - lib/reliar/BFMASKEDLD.rel | 12 - lib/reliar/BFMASKEDST.rel | 14 - lib/reliar/BFSADDASG.rel | 18 - lib/reliar/BFSANDASG.rel | 18 - lib/reliar/BFSCDIVASG.rel | 18 - lib/reliar/BFSCEXT.rel | 12 - lib/reliar/BFSCLDSHIFTDOWN.rel | 14 - lib/reliar/BFSCMODASG.rel | 18 - lib/reliar/BFSCRSHASG.rel | 17 - lib/reliar/BFSLSHASG.rel | 17 - lib/reliar/BFSMULASG.rel | 18 - lib/reliar/BFSNEGASG.rel | 18 - lib/reliar/BFSORASG.rel | 18 - lib/reliar/BFSPOSTDEC.rel | 18 - lib/reliar/BFSPOSTINC.rel | 18 - lib/reliar/BFSPREDEC.rel | 18 - lib/reliar/BFSPREINC.rel | 18 - lib/reliar/BFSRETVAL.rel | 29 - lib/reliar/BFSSDIVASG.rel | 20 - lib/reliar/BFSSEXT.rel | 18 - lib/reliar/BFSSHIFTUP.rel | 11 - lib/reliar/BFSSLDSHIFTDOWN.rel | 17 - lib/reliar/BFSSMODASG.rel | 20 - lib/reliar/BFSSRSHASG.rel | 20 - lib/reliar/BFSSUBASG.rel | 18 - lib/reliar/BFSXORASG.rel | 18 - lib/reliar/BFUCDIVASG.rel | 18 - lib/reliar/BFUCLDSHIFTDOWN.rel | 13 - lib/reliar/BFUCMODASG.rel | 18 - lib/reliar/BFUCRSHASG.rel | 14 - lib/reliar/BFUSDIVASG.rel | 20 - lib/reliar/BFUSLDSHIFTDOWN.rel | 14 - lib/reliar/BFUSMODASG.rel | 20 - lib/reliar/BFUSRSHASG.rel | 17 - lib/reliar/CALLIND.rel | 10 - lib/reliar/CDIVMOD.rel | 12 - lib/reliar/CFINDSIGN.rel | 12 - lib/reliar/CLSH.rel | 10 - lib/reliar/CLSHASG.rel | 11 - lib/reliar/CMUL.rel | 10 - lib/reliar/CMULASG.rel | 11 - lib/reliar/CSSWITCH.rel | 14 - lib/reliar/CVSWITCH.rel | 13 - lib/reliar/ENTAUTODIRECT.rel | 12 - lib/reliar/ENTPARMDIRECT.rel | 12 - lib/reliar/FADDASG.rel | 14 - lib/reliar/FADDSUB.rel | 73 - lib/reliar/FCMP.rel | 24 - lib/reliar/FDEC.rel | 13 - lib/reliar/FDECASG.rel | 15 - lib/reliar/FDIV.rel | 52 - lib/reliar/FDIVASG.rel | 14 - lib/reliar/FENDASG2.rel | 10 - lib/reliar/FINC.rel | 13 - lib/reliar/FINCASG.rel | 15 - lib/reliar/FMUL.rel | 62 - lib/reliar/FMULASG.rel | 14 - lib/reliar/FNEGASG.rel | 12 - lib/reliar/FPACK.rel | 24 - lib/reliar/FROUND.rel | 22 - lib/reliar/FSUBASG.rel | 14 - lib/reliar/FTOL.rel | 30 - lib/reliar/FUNPACK.rel | 20 - lib/reliar/LADDASG.rel | 14 - lib/reliar/LAND.rel | 14 - lib/reliar/LANDASG.rel | 14 - lib/reliar/LDEC.rel | 10 - lib/reliar/LDECASG.rel | 14 - lib/reliar/LDIVMOD.rel | 24 - lib/reliar/LEAVE32.rel | 10 - lib/reliar/LEAVEDIRECT.rel | 10 - lib/reliar/LENDASG.rel | 10 - lib/reliar/LENDMULDIVASG.rel | 10 - lib/reliar/LFINDSIGN.rel | 24 - lib/reliar/LIBVERSION.rel | 6 - lib/reliar/LINC.rel | 10 - lib/reliar/LINCASG.rel | 14 - lib/reliar/LLSH.rel | 14 - lib/reliar/LLSHASG.rel | 14 - lib/reliar/LMUL.rel | 32 - lib/reliar/LMULASG.rel | 14 - lib/reliar/LNEG.rel | 12 - lib/reliar/LNEGASG.rel | 14 - lib/reliar/LNOT.rel | 12 - lib/reliar/LNOTASG.rel | 14 - lib/reliar/LOR.rel | 14 - lib/reliar/LORASG.rel | 14 - lib/reliar/LSSWITCH.rel | 17 - lib/reliar/LSUBASG.rel | 14 - lib/reliar/LTOF.rel | 25 - lib/reliar/LVSWITCH.rel | 21 - lib/reliar/LXOR.rel | 14 - lib/reliar/LXORASG.rel | 14 - lib/reliar/MEMCMP.rel | 14 - lib/reliar/MEMSET.rel | 14 - lib/reliar/MONITORBANKLEAVE.rel | 13 - lib/reliar/MONITORBANKLEAVE32.rel | 13 - lib/reliar/MONITORBANKLEAVEIX.rel | 13 - lib/reliar/MONITORBANKLEAVEPOP.rel | 13 - lib/reliar/MONITORLEAVE.rel | 10 - lib/reliar/MONITORLEAVE32.rel | 10 - lib/reliar/MONITORLEAVEIX.rel | 10 - lib/reliar/MONITORLEAVEIXPA.rel | 10 - lib/reliar/MONITORLEAVEPA.rel | 10 - lib/reliar/MONITORLEAVEPOP.rel | 12 - lib/reliar/SCDIV.rel | 16 - lib/reliar/SCMOD.rel | 16 - lib/reliar/SCRSH.rel | 10 - lib/reliar/SCRSHASG.rel | 11 - lib/reliar/SDIVMOD.rel | 12 - lib/reliar/SFINDSIGN.rel | 14 - lib/reliar/SLCMP.rel | 18 - lib/reliar/SLDIV.rel | 24 - lib/reliar/SLDIVASG.rel | 14 - lib/reliar/SLMOD.rel | 24 - lib/reliar/SLMODASG.rel | 14 - lib/reliar/SLRSH.rel | 12 - lib/reliar/SLRSHASG.rel | 14 - lib/reliar/SLSH.rel | 10 - lib/reliar/SLSHASG.rel | 13 - lib/reliar/SLSHASGBCprim.rel | 12 - lib/reliar/SLSHASGDEprim.rel | 12 - lib/reliar/SMUL.rel | 12 - lib/reliar/SMULASG.rel | 13 - lib/reliar/SMULASGBCprim.rel | 13 - lib/reliar/SMULASGDEprim.rel | 13 - lib/reliar/SMULASGIX.rel | 13 - lib/reliar/SMULASGIY.rel | 13 - lib/reliar/SSCMP.rel | 12 - lib/reliar/SSDIV.rel | 16 - lib/reliar/SSDIVASG.rel | 13 - lib/reliar/SSDIVASGBCprim.rel | 13 - lib/reliar/SSDIVASGDEprim.rel | 13 - lib/reliar/SSDIVASGIX.rel | 13 - lib/reliar/SSDIVASGIY.rel | 13 - lib/reliar/SSMOD.rel | 16 - lib/reliar/SSMODASG.rel | 13 - lib/reliar/SSMODASGBCprim.rel | 13 - lib/reliar/SSMODASGDEprim.rel | 13 - lib/reliar/SSMODASGIX.rel | 13 - lib/reliar/SSMODASGIY.rel | 13 - lib/reliar/SSRSH.rel | 10 - lib/reliar/SSRSHASG.rel | 13 - lib/reliar/SSRSHASGBCprim.rel | 12 - lib/reliar/SSRSHASGDEprim.rel | 12 - lib/reliar/SSRSHASGIX.rel | 13 - lib/reliar/SSRSHASGIY.rel | 13 - lib/reliar/SSSWITCH.rel | 13 - lib/reliar/SSWITCHEND.rel | 12 - lib/reliar/STRCAT.rel | 12 - lib/reliar/STRCHR.rel | 10 - lib/reliar/STRCMP.rel | 12 - lib/reliar/STRCPY.rel | 12 - lib/reliar/STRLEN.rel | 12 - lib/reliar/SVSWITCH.rel | 15 - lib/reliar/UCDIV.rel | 13 - lib/reliar/UCMOD.rel | 13 - lib/reliar/UCRSH.rel | 10 - lib/reliar/UCRSHASG.rel | 11 - lib/reliar/ULDIV.rel | 18 - lib/reliar/ULDIVASG.rel | 14 - lib/reliar/ULMOD.rel | 17 - lib/reliar/ULMODASG.rel | 14 - lib/reliar/ULRSH.rel | 14 - lib/reliar/ULRSHASG.rel | 14 - lib/reliar/USDIV.rel | 13 - lib/reliar/USDIVASG.rel | 13 - lib/reliar/USDIVASGBCprim.rel | 13 - lib/reliar/USDIVASGDEprim.rel | 13 - lib/reliar/USDIVASGIX.rel | 13 - lib/reliar/USDIVASGIY.rel | 13 - lib/reliar/USMOD.rel | 11 - lib/reliar/USMODASG.rel | 13 - lib/reliar/USMODASGBCprim.rel | 13 - lib/reliar/USMODASGDEprim.rel | 13 - lib/reliar/USMODASGIX.rel | 13 - lib/reliar/USMODASGIY.rel | 13 - lib/reliar/USRSH.rel | 10 - lib/reliar/USRSHASG.rel | 13 - lib/reliar/USRSHASGBCprim.rel | 12 - lib/reliar/USRSHASGDEprim.rel | 12 - lib/reliar/USRSHASGIX.rel | 13 - lib/reliar/USRSHASGIY.rel | 13 - lib/reliar/VSWITCHEND.rel | 10 - lib/relsysb/_exit.rel | 20 - lib/relsysb/access.rel | 22 - lib/relsysb/alarm.rel | 20 - lib/relsysb/brk.rel | 20 - lib/relsysb/chdir.rel | 20 - lib/relsysb/chmod.rel | 22 - lib/relsysb/chown.rel | 24 - lib/relsysb/chroot.rel | 20 - lib/relsysb/close.rel | 20 - lib/relsysb/creat.rel | 22 - lib/relsysb/dup.rel | 20 - lib/relsysb/dup2.rel | 22 - lib/relsysb/execve.rel | 24 - lib/relsysb/falign.rel | 22 - lib/relsysb/fork.rel | 19 - lib/relsysb/fstat.rel | 22 - lib/relsysb/getegid.rel | 19 - lib/relsysb/geteuid.rel | 19 - lib/relsysb/getfsys.rel | 22 - lib/relsysb/getgid.rel | 19 - lib/relsysb/getpid.rel | 19 - lib/relsysb/getppid.rel | 19 - lib/relsysb/getprio.rel | 19 - lib/relsysb/getuid.rel | 19 - lib/relsysb/ioctl.rel | 26 - lib/relsysb/kill.rel | 22 - lib/relsysb/link.rel | 22 - lib/relsysb/lseek.rel | 26 - lib/relsysb/mkfifo.rel | 22 - lib/relsysb/mknod.rel | 24 - lib/relsysb/module.rel | 72 - lib/relsysb/mount.rel | 24 - lib/relsysb/open.rel | 26 - lib/relsysb/pause.rel | 19 - lib/relsysb/pipe.rel | 20 - lib/relsysb/read.rel | 24 - lib/relsysb/reboot.rel | 22 - lib/relsysb/sbrk.rel | 20 - lib/relsysb/seek.rel | 24 - lib/relsysb/setgid.rel | 22 - lib/relsysb/setprio.rel | 24 - lib/relsysb/setuid.rel | 22 - lib/relsysb/signal.rel | 24 - lib/relsysb/stat.rel | 22 - lib/relsysb/stime.rel | 20 - lib/relsysb/symlink.rel | 22 - lib/relsysb/sync.rel | 19 - lib/relsysb/sys0b.rel | 21 - lib/relsysb/sys1b.rel | 21 - lib/relsysb/syscal0b.rel | 21 - lib/relsysb/syscal1b.rel | 21 - lib/relsysb/sysdebug.rel | 22 - lib/relsysb/systrace.rel | 22 - lib/relsysb/time.rel | 50 - lib/relsysb/times.rel | 20 - lib/relsysb/umask.rel | 22 - lib/relsysb/umount.rel | 20 - lib/relsysb/unlink.rel | 20 - lib/relsysb/utime.rel | 22 - lib/relsysb/waitpid.rel | 24 - lib/relsysb/write.rel | 24 - lib/relsysl/_exit.rel | 17 - lib/relsysl/access.rel | 19 - lib/relsysl/alarm.rel | 17 - lib/relsysl/brk.rel | 17 - lib/relsysl/chdir.rel | 17 - lib/relsysl/chmod.rel | 19 - lib/relsysl/chown.rel | 21 - lib/relsysl/chroot.rel | 17 - lib/relsysl/close.rel | 17 - lib/relsysl/creat.rel | 19 - lib/relsysl/dup.rel | 17 - lib/relsysl/dup2.rel | 19 - lib/relsysl/execve.rel | 21 - lib/relsysl/falign.rel | 19 - lib/relsysl/fork.rel | 13 - lib/relsysl/fstat.rel | 19 - lib/relsysl/getegid.rel | 15 - lib/relsysl/geteuid.rel | 15 - lib/relsysl/getfsys.rel | 19 - lib/relsysl/getgid.rel | 15 - lib/relsysl/getpid.rel | 15 - lib/relsysl/getppid.rel | 15 - lib/relsysl/getprio.rel | 15 - lib/relsysl/getuid.rel | 15 - lib/relsysl/ioctl.rel | 23 - lib/relsysl/kill.rel | 19 - lib/relsysl/link.rel | 19 - lib/relsysl/lseek.rel | 23 - lib/relsysl/mkfifo.rel | 19 - lib/relsysl/mknod.rel | 21 - lib/relsysl/module.rel | 59 - lib/relsysl/mount.rel | 21 - lib/relsysl/open.rel | 23 - lib/relsysl/pause.rel | 13 - lib/relsysl/pipe.rel | 17 - lib/relsysl/read.rel | 21 - lib/relsysl/reboot.rel | 19 - lib/relsysl/sbrk.rel | 17 - lib/relsysl/seek.rel | 21 - lib/relsysl/setgid.rel | 19 - lib/relsysl/setprio.rel | 21 - lib/relsysl/setuid.rel | 19 - lib/relsysl/signal.rel | 21 - lib/relsysl/stat.rel | 19 - lib/relsysl/stime.rel | 17 - lib/relsysl/symlink.rel | 19 - lib/relsysl/sync.rel | 13 - lib/relsysl/sys0l.rel | 20 - lib/relsysl/sys1l.rel | 20 - lib/relsysl/syscal0l.rel | 20 - lib/relsysl/syscal1l.rel | 20 - lib/relsysl/sysdebug.rel | 19 - lib/relsysl/systrace.rel | 19 - lib/relsysl/time.rel | 43 - lib/relsysl/times.rel | 17 - lib/relsysl/umask.rel | 19 - lib/relsysl/umount.rel | 17 - lib/relsysl/unlink.rel | 17 - lib/relsysl/utime.rel | 19 - lib/relsysl/waitpid.rel | 21 - lib/relsysl/write.rel | 21 - relnotes/20040204.txt | 23 + src/CVS/Entries | 24 + src/CVS/Repository | 1 + src/CVS/Root | 1 + src/avr/CVS/Entries | 98 + src/avr/CVS/Repository | 1 + src/avr/CVS/Root | 1 + src/avr/cs64v4-cs64v5.diff | 46 +- src/avr/product/CVS/Entries | 13 + src/avr/product/CVS/Repository | 1 + src/avr/product/CVS/Root | 1 + src/avr/tsv3-tsv4.diff | 62 +- src/avr/tsv3.lst | 5765 ----- src/bin/CVS/Entries | 53 + src/bin/CVS/Repository | 1 + src/bin/CVS/Root | 1 + src/bin/bd.exe | Bin 69680 -> 69680 bytes src/bin/bin2avr.exe | Bin 73781 -> 73781 bytes src/bin/bin2c.exe | Bin 69683 -> 69683 bytes src/bin/bmp2txt.exe | Bin 102453 -> 102453 bytes src/bin/cat.exe | Bin 17408 -> 0 bytes src/bin/chs2cmd.exe | Bin 77877 -> 77877 bytes src/bin/cp.exe | Bin 77312 -> 0 bytes src/bin/cr.exe | Bin 73776 -> 0 bytes src/bin/crc.com | Bin 5413 -> 5287 bytes src/bin/cygpopt-0.dll | Bin 22528 -> 0 bytes src/bin/cygwin1.dll | Bin 971080 -> 0 bytes src/bin/diff.exe | Bin 87040 -> 0 bytes src/bin/echo.exe | Bin 24064 -> 0 bytes src/bin/false.exe | Bin 61491 -> 0 bytes src/bin/foster.exe | Bin 69684 -> 69684 bytes src/bin/fsck.exe | Bin 86066 -> 86066 bytes src/bin/gunzip.exe | Bin 59392 -> 0 bytes src/bin/gzip.exe | Bin 59392 -> 0 bytes src/bin/hfmdump.exe | Bin 77877 -> 77877 bytes src/bin/hfmtool.exe | Bin 131125 -> 131125 bytes src/bin/hfmwidth.exe | Bin 73782 -> 73782 bytes src/bin/iccz80.exe | Bin 0 -> 1554944 bytes src/bin/ihex2bin.exe | Bin 73782 -> 73782 bytes src/bin/ln.exe | Bin 60416 -> 0 bytes src/bin/loginsh.exe | Bin 73781 -> 0 bytes src/bin/make.exe | Bin 254016 -> 266304 bytes src/bin/mkdir.exe | Bin 30720 -> 0 bytes src/bin/mkfs.exe | Bin 81970 -> 81970 bytes src/bin/p.pif | Bin 2855 -> 2856 bytes src/bin/patch.exe | Bin 85504 -> 0 bytes src/bin/patch.sh | 2 + src/bin/po2c.exe | Bin 110642 -> 110642 bytes src/bin/restool.exe | Bin 118837 -> 118837 bytes src/bin/rm.exe | Bin 65024 -> 0 bytes src/bin/rmdir.exe | Bin 25088 -> 0 bytes src/bin/sed.exe | Bin 92160 -> 0 bytes src/bin/tee.exe | Bin 24064 -> 0 bytes src/bin/test.exe | Bin 33792 -> 0 bytes src/bin/touch.exe | Bin 73779 -> 0 bytes src/bin/true.exe | Bin 61490 -> 0 bytes src/bin/txt2chs.exe | Bin 90165 -> 90165 bytes src/bin/ucp.exe | Bin 155697 -> 155697 bytes src/chset/CHSET00.WIN | Bin 1792 -> 1794 bytes src/chset/CHSET01.WIN | Bin 2432 -> 2435 bytes src/chset/CHSET02.WIN | Bin 3584 -> 3626 bytes src/chset/CHSET03.WIN | Bin 1664 -> 1665 bytes src/chset/CHSET04.WIN | Bin 3712 -> 3714 bytes src/chset/CHSET05.WIN | Bin 3456 -> 3461 bytes src/chset/CHSET06.WIN | Bin 2560 -> 2577 bytes src/chset/CHSET07.WIN | Bin 3200 -> 3201 bytes src/chset/CHSET08.WIN | Bin 2688 -> 2693 bytes src/chset/CHSET09.WIN | Bin 2816 -> 2818 bytes src/chset/CVS/Entries | 53 + src/chset/CVS/Repository | 1 + src/chset/CVS/Root | 1 + src/chset/HEADER5 | 2 +- src/chset/HEADER6 | Bin 34 -> 35 bytes src/chset/HEADER8 | 2 +- src/chset/TRI08.CHR | Bin 12344 -> 12438 bytes src/chset/TRI10.CHR | Bin 13924 -> 13961 bytes src/chset/TRI16.CHR | Bin 18831 -> 18878 bytes src/chset/chset0 | Bin 1826 -> 1828 bytes src/chset/chset1 | Bin 2466 -> 2469 bytes src/chset/chset2 | Bin 3618 -> 3660 bytes src/chset/chset3 | Bin 1698 -> 1699 bytes src/chset/chset4 | Bin 3746 -> 3748 bytes src/chset/chset5 | Bin 3490 -> 3495 bytes src/chset/chset6 | Bin 2594 -> 2612 bytes src/chset/chset7 | Bin 3234 -> 3235 bytes src/chset/chset8 | Bin 2722 -> 2728 bytes src/chset/chset9 | Bin 2850 -> 2852 bytes src/chset/demos/CVS/Entries | 31 + src/chset/demos/CVS/Repository | 1 + src/chset/demos/CVS/Root | 1 + src/chset/hylab.tmp | Bin 45298 -> 0 bytes src/chset/hylab0.tmp | 14 - src/chset/hylab1.tmp | 15 - src/chset/hylab2.tmp | 19 - src/db/CVS/Entries | 21 + src/db/CVS/Repository | 1 + src/db/CVS/Root | 1 + src/db/db.lst | 6551 ----- src/db/db.rel | 3930 --- src/db/db.rst | 6551 ----- src/db/main.lst | 258 - src/db/main.rel | 188 - src/db/main.rst | 258 - src/font/CVS/Entries | 43 + src/font/CVS/Repository | 1 + src/font/CVS/Root | 1 + src/font/sans-la.psd | Bin 303651 -> 303784 bytes src/font/sans-sm.psd | Bin 283328 -> 283350 bytes src/font/serif-la.psd | Bin 304396 -> 304953 bytes src/font/serif-sm.psd | Bin 272858 -> 272878 bytes src/font/set00nld.chs | Bin 1792 -> 1794 bytes src/font/set01nld.chs | Bin 2432 -> 2435 bytes src/font/set02nld.chs | Bin 3584 -> 3626 bytes src/font/set03nld.chs | Bin 1664 -> 1665 bytes src/font/set04nld.chs | Bin 3712 -> 3714 bytes src/font/wid-demo.obj | Bin 2935 -> 0 bytes src/fsutil/CVS/Entries | 50 + src/fsutil/CVS/Repository | 1 + src/fsutil/CVS/Root | 1 + src/fsutil/bd.exe | Bin 69680 -> 69680 bytes src/fsutil/bd.lst | 556 - src/fsutil/bd.obj | Bin 4242 -> 0 bytes src/fsutil/bd.rel | 386 - src/fsutil/bd.rst | 556 - src/fsutil/boot.c | 298 +- src/fsutil/devhd.obj | Bin 4445 -> 0 bytes src/fsutil/devio.obj | Bin 12749 -> 0 bytes src/fsutil/devmisc.obj | Bin 4543 -> 0 bytes src/fsutil/devtty.obj | Bin 9908 -> 0 bytes src/fsutil/filesys.obj | Bin 28036 -> 0 bytes src/fsutil/fsck.exe | Bin 86066 -> 86066 bytes src/fsutil/fsck.lst | 4939 ---- src/fsutil/fsck.obj | Bin 28879 -> 0 bytes src/fsutil/fsck.rel | 3609 --- src/fsutil/fsck.rst | 4939 ---- src/fsutil/hdasm.obj | Bin 1981 -> 0 bytes src/fsutil/machdep.obj | Bin 6591 -> 0 bytes src/fsutil/main.obj | Bin 2248 -> 0 bytes src/fsutil/mkfs.exe | Bin 81970 -> 81970 bytes src/fsutil/mkfs.i86 | 104 +- src/fsutil/mkfs.lst | 4282 ---- src/fsutil/mkfs.obj | Bin 17055 -> 0 bytes src/fsutil/mkfs.rel | 2098 -- src/fsutil/mkfs.rst | 4282 ---- src/fsutil/mkfs.s01 | 342 +- src/fsutil/process.obj | Bin 12082 -> 0 bytes src/fsutil/scall1.obj | Bin 28187 -> 0 bytes src/fsutil/scall2.obj | Bin 12236 -> 0 bytes src/fsutil/ucp.exe | Bin 155697 -> 155697 bytes src/fsutil/ucp.map | 2 +- src/fsutil/ucp.obj | Bin 15162 -> 0 bytes src/fsutil/ucpsub.obj | Bin 22088 -> 0 bytes src/fsutil/utils.lst | 148 - src/fsutil/utils.obj | Bin 2080 -> 0 bytes src/fsutil/utils.rel | 112 - src/fsutil/utils.rst | 148 - src/fsutil/xfs.obj | Bin 16073 -> 0 bytes src/fsutil/xip.obj | Bin 17088 -> 0 bytes src/games/CVS/Entries | 1 + src/games/CVS/Repository | 1 + src/games/CVS/Root | 1 + src/games/advent/CVS/Entries | 22 + src/games/advent/CVS/Repository | 1 + src/games/advent/CVS/Root | 1 + src/games/advent/advent | Bin 57049 -> 57293 bytes src/games/advent/data.rel | 732 - src/games/advent/done.rel | 692 - src/games/advent/init.rel | 1226 - src/games/advent/io.rel | 2258 -- src/games/advent/main.rel | 3669 --- src/games/advent/nick | Bin 8071 -> 8087 bytes src/games/advent/okplay.rel | 252 - src/games/advent/save.rel | 341 - src/games/advent/subr.rel | 4962 ---- src/games/advent/vocab.rel | 860 - src/games/advent/wizard.rel | 291 - src/gboot/CVS/Entries | 17 + src/gboot/CVS/Repository | 1 + src/gboot/CVS/Root | 1 + src/gboot/io64180.inc | 2 +- src/gui/CVS/Entries | 21 + src/gui/CVS/Repository | 1 + src/gui/CVS/Root | 1 + src/gui/login.lst | 374 - src/gui/login.rel | 236 - src/gui/login.rst | 374 - src/gui/test.lst | 78 - src/gui/test.rel | 56 - src/gui/test.rst | 78 - src/gui/trans.lst | 1014 - src/gui/trans.rel | 584 - src/gui/trans.rst | 1014 - src/gui/wnd.lst | 5682 ----- src/gui/wnd.rel | 3607 --- src/gui/wnd.rst | 5682 ----- src/hello/CVS/Entries | 9 + src/hello/CVS/Repository | 1 + src/hello/CVS/Root | 1 + src/hello/hello-b | Bin 4833 -> 4877 bytes src/hello/hello-l | Bin 4512 -> 4556 bytes src/init/CVS/Entries | 6 + src/init/CVS/Repository | 1 + src/init/CVS/Root | 1 + src/init/init.rel | 1294 - src/init/login.rel | 273 - src/kernel/CVS/Entries | 6 + src/kernel/CVS/Repository | 1 + src/kernel/CVS/Root | 1 + src/kernel/cmx/CVS/Entries | 26 + src/kernel/cmx/CVS/Repository | 1 + src/kernel/cmx/CVS/Root | 1 + src/kernel/cmx/bstartup.asm | 2 +- src/kernel/cmx/io64180.h | 2 +- src/kernel/cmx/io64180.inc | 2 +- src/kernel/libc/CVS/Entries | 28 + src/kernel/libc/CVS/Repository | 1 + src/kernel/libc/CVS/Root | 1 + src/kernel/uzi/CVS/Entries | 48 + src/kernel/uzi/CVS/Repository | 1 + src/kernel/uzi/CVS/Root | 1 + src/kernel/uzi/devno.h | 68 +- src/libc/CVS/Entries | 184 + src/libc/CVS/Repository | 1 + src/libc/CVS/Root | 1 + src/libc/build-b.ban | 2 +- src/libc/build-l.ban | 2 +- src/libc/cstartup.r01 | Bin 1537 -> 1542 bytes src/libc/getopt.c | 2 +- src/libc/libcb.lib | 142 - lib/libcb.lib => src/libc/libcb.txt | 0 src/libc/libcl.lib | 142 - lib/libcl.lib => src/libc/libcl.txt | 0 src/libc/n.bat | 4 + src/libc/qsort.c | 2 +- src/libc/setjmp.r01 | Bin 513 -> 514 bytes src/libiar/CVS/Entries | 319 + src/libiar/CVS/Repository | 1 + src/libiar/CVS/Root | 1 + src/libiar/build.ban | 2 +- src/libiar/libiar.lib | 195 - lib/libiar.lib => src/libiar/libiar.txt | 0 src/libiar/n.bat | 2 + src/libsys/CVS/Entries | 69 + src/libsys/CVS/Repository | 1 + src/libsys/CVS/Root | 1 + src/libsys/build-b.ban | 2 +- src/libsys/build-l.ban | 2 +- src/libsys/libsysb.lib | 59 - lib/libsysb.lib => src/libsys/libsysb.txt | 0 src/libsys/libsysl.lib | 59 - lib/libsysl.lib => src/libsys/libsysl.txt | 0 src/libsys/n.bat | 4 + src/make.d/CVS/Entries | 5 + src/make.d/CVS/Repository | 1 + src/make.d/CVS/Root | 1 + src/make.d/top_gens.mk | 26 +- src/make.d/z80/CVS/Entries | 3 + src/make.d/z80/CVS/Repository | 1 + src/make.d/z80/CVS/Root | 1 + src/man/CVS/Entries | 20 + src/man/CVS/Repository | 1 + src/man/CVS/Root | 1 + src/man/catman.8 | 238 +- src/mkfont/CVS/Entries | 50 + src/mkfont/CVS/Repository | 1 + src/mkfont/CVS/Root | 1 + src/mkfont/bmp2txt.exe | Bin 102453 -> 102453 bytes src/mkfont/bmp2txt.obj | Bin 19759 -> 0 bytes src/mkfont/chs2cmd.exe | Bin 77877 -> 77877 bytes src/mkfont/chs2cmd.obj | Bin 17634 -> 0 bytes src/mkfont/hfmdump.exe | Bin 77877 -> 77877 bytes src/mkfont/hfmdump.obj | Bin 7742 -> 0 bytes src/mkfont/hfmlib.obj | Bin 19073 -> 0 bytes src/mkfont/hfmtool.exe | Bin 131125 -> 131125 bytes src/mkfont/hfmtool.obj | Bin 27613 -> 0 bytes src/mkfont/hfmwidth.exe | Bin 73782 -> 73782 bytes src/mkfont/hfmwidth.obj | Bin 4160 -> 0 bytes src/mkfont/hycache.obj | Bin 19515 -> 0 bytes src/mkfont/hyfile.obj | Bin 15740 -> 0 bytes src/mkfont/hyfs.obj | Bin 12830 -> 0 bytes src/mkfont/hyimage.obj | Bin 26926 -> 0 bytes src/mkfont/hylist.obj | Bin 14544 -> 0 bytes src/mkfont/hymb.obj | Bin 11125 -> 0 bytes src/mkfont/hymem.obj | Bin 11783 -> 0 bytes src/mkfont/hystring.obj | Bin 15435 -> 0 bytes src/mkfont/po2c.cpp | 186 +- src/mkfont/po2c.exe | Bin 110642 -> 110642 bytes src/mkfont/po2c.h | 5 +- src/mkfont/po2c.obj | Bin 30194 -> 0 bytes src/mkfont/restool.cpp | 223 +- src/mkfont/restool.exe | Bin 118837 -> 118837 bytes src/mkfont/restool.obj | Bin 35883 -> 0 bytes src/mkfont/txt2chs.exe | Bin 90165 -> 90165 bytes src/mkfont/txt2chs.obj | Bin 25115 -> 0 bytes src/mkfont/x.lib | 52 - src/mkfont/x.rel | 36 - src/mkutil/CR.EXE | Bin 73769 -> 0 bytes src/mkutil/CRC.LST | 2406 ++ src/mkutil/CRC.MAP | 6 + src/mkutil/CRC.OBJ | Bin 0 -> 5369 bytes src/mkutil/CVS/Entries | 39 + src/mkutil/CVS/Repository | 1 + src/mkutil/CVS/Root | 1 + src/mkutil/as-z80/CVS/Entries | 22 + src/mkutil/as-z80/CVS/Repository | 1 + src/mkutil/as-z80/CVS/Root | 1 + src/mkutil/as-z80/asdata.obj | Bin 5248 -> 0 bytes src/mkutil/as-z80/asexpr.obj | Bin 17692 -> 0 bytes src/mkutil/as-z80/aslex.obj | Bin 7382 -> 0 bytes src/mkutil/as-z80/aslist.obj | Bin 19093 -> 0 bytes src/mkutil/as-z80/asmain.obj | Bin 29354 -> 0 bytes src/mkutil/as-z80/asout.obj | Bin 21762 -> 0 bytes src/mkutil/as-z80/assubr.obj | Bin 5958 -> 0 bytes src/mkutil/as-z80/assym.obj | Bin 7171 -> 0 bytes src/mkutil/as-z80/z80adr.obj | Bin 4818 -> 0 bytes src/mkutil/as-z80/z80ext.obj | Bin 1046 -> 0 bytes src/mkutil/as-z80/z80mch.obj | Bin 14551 -> 0 bytes src/mkutil/as-z80/z80pst.obj | Bin 8478 -> 0 bytes src/mkutil/avra-0.8/COPYING | 682 +- src/mkutil/avra-0.8/CVS/Entries | 6 + src/mkutil/avra-0.8/CVS/Repository | 1 + src/mkutil/avra-0.8/CVS/Root | 1 + src/mkutil/avra-0.8/ChangeLog | 86 +- src/mkutil/avra-0.8/SOURCE/CVS/Entries | 27 + src/mkutil/avra-0.8/SOURCE/CVS/Repository | 1 + src/mkutil/avra-0.8/SOURCE/CVS/Root | 1 + src/mkutil/avra-0.8/SOURCE/Makefile.amiga.gcc | 160 +- src/mkutil/avra-0.8/SOURCE/Makefile.amiga.sas | 150 +- src/mkutil/avra-0.8/SOURCE/Makefile.emx | 138 +- src/mkutil/avra-0.8/SOURCE/Makefile.linux | 148 +- src/mkutil/avra-0.8/SOURCE/args.c | 480 +- src/mkutil/avra-0.8/SOURCE/args.h | 130 +- src/mkutil/avra-0.8/SOURCE/avra.h | 590 +- src/mkutil/avra-0.8/SOURCE/device.h | 64 +- src/mkutil/avra-0.8/SOURCE/directiv.c | 1648 +- src/mkutil/avra-0.8/SOURCE/expr.c | 1216 +- src/mkutil/avra-0.8/SOURCE/file.c | 544 +- src/mkutil/avra-0.8/SOURCE/macro.c | 854 +- src/mkutil/avra-0.8/SOURCE/map.c | 140 +- src/mkutil/avra-0.8/SOURCE/misc.h | 28 +- src/mkutil/avra-0.8/SOURCE/mnemonic.c | 1742 +- src/mkutil/avra-0.8/SOURCE/parser.c | 794 +- src/mkutil/avra-0.8/SOURCE/stdextra.c | 394 +- src/mkutil/avra-0.8/TODO | 16 +- src/mkutil/bin2avr.exe | Bin 73781 -> 73781 bytes src/mkutil/bin2avr.obj | Bin 4344 -> 0 bytes src/mkutil/bin2c.exe | Bin 69683 -> 69683 bytes src/mkutil/bin2c.obj | Bin 4105 -> 0 bytes src/mkutil/cpp/CVS/Entries | 53 + src/mkutil/cpp/CVS/Repository | 1 + src/mkutil/cpp/CVS/Root | 1 + src/mkutil/cpp/alloca.obj | Bin 2592 -> 0 bytes src/mkutil/cpp/cppdefault.obj | Bin 8836 -> 0 bytes src/mkutil/cpp/cpperror.obj | Bin 18537 -> 0 bytes src/mkutil/cpp/cppexp.obj | Bin 29195 -> 0 bytes src/mkutil/cpp/cppfiles.obj | Bin 29765 -> 0 bytes src/mkutil/cpp/cpphash.obj | Bin 12790 -> 0 bytes src/mkutil/cpp/cppinit.obj | Bin 58103 -> 0 bytes src/mkutil/cpp/cpplex.obj | Bin 59389 -> 0 bytes src/mkutil/cpp/cpplib.obj | Bin 51532 -> 0 bytes src/mkutil/cpp/cppmacro.obj | Bin 41212 -> 0 bytes src/mkutil/cpp/cppmain.obj | Bin 22454 -> 0 bytes src/mkutil/cpp/cppspec.obj | Bin 13785 -> 0 bytes src/mkutil/cpp/hex.obj | Bin 1295 -> 0 bytes src/mkutil/cpp/lbasename.obj | Bin 1128 -> 0 bytes src/mkutil/cpp/mkdeps.obj | Bin 14251 -> 0 bytes src/mkutil/cpp/obstack.obj | Bin 6160 -> 0 bytes src/mkutil/cpp/safe-ctype.obj | Bin 1931 -> 0 bytes src/mkutil/cpp/version.obj | Bin 807 -> 0 bytes src/mkutil/cpp/xexit.obj | Bin 1070 -> 0 bytes src/mkutil/cpp/xmalloc.obj | Bin 3074 -> 0 bytes src/mkutil/cpp/xstrdup.obj | Bin 1050 -> 0 bytes src/mkutil/cpp/xstrerror.obj | Bin 1390 -> 0 bytes src/mkutil/cr.exe | Bin 73776 -> 0 bytes src/mkutil/cr.obj | Bin 2806 -> 0 bytes src/mkutil/crc.asm | 2256 ++ src/mkutil/crc.com | Bin 5413 -> 5287 bytes src/mkutil/crc.exe | Bin 69681 -> 0 bytes src/mkutil/crc.obj | Bin 3528 -> 0 bytes src/mkutil/false.exe | Bin 61491 -> 0 bytes src/mkutil/false.obj | Bin 817 -> 0 bytes src/mkutil/foster.exe | Bin 69684 -> 69684 bytes src/mkutil/foster.obj | Bin 11101 -> 0 bytes src/mkutil/ihex2bin.exe | Bin 73782 -> 73782 bytes src/mkutil/ihex2bin.obj | Bin 7464 -> 0 bytes src/mkutil/lib-z80/CVS/Entries | 13 + src/mkutil/lib-z80/CVS/Repository | 1 + src/mkutil/lib-z80/CVS/Root | 1 + src/mkutil/lib-z80/a.lib | 6 - src/mkutil/lib-z80/a.rel | 255 - src/mkutil/lib-z80/a_lib/a.rel | 255 - src/mkutil/lib-z80/a_lib/b.rel | 199 - src/mkutil/lib-z80/b.rel | 199 - src/mkutil/lib-z80/lbdata.obj | Bin 5147 -> 0 bytes src/mkutil/lib-z80/lblex.obj | Bin 8511 -> 0 bytes src/mkutil/lib-z80/lbmain.obj | Bin 16470 -> 0 bytes src/mkutil/lib-z80/lbsym.obj | Bin 2191 -> 0 bytes src/mkutil/lib-z80/out/a.lib | 6 - src/mkutil/lib-z80/out/a_lib/a.rel | 255 - src/mkutil/lib-z80/out/a_lib/b.rel | 199 - src/mkutil/lib-z80/out/a_lib/c.rel | 0 src/mkutil/lib-z80/rel/CVS/Entries | 3 + src/mkutil/lib-z80/rel/CVS/Repository | 1 + src/mkutil/lib-z80/rel/CVS/Root | 1 + src/mkutil/lib-z80/rel/a.rel | 255 - src/mkutil/lib-z80/rel/b.rel | 199 - src/mkutil/lib-z80/x.lib | 6 - src/mkutil/lib-z80/x_lib/a.rel | 255 - src/mkutil/lib-z80/x_lib/b.rel | 199 - src/mkutil/link-z80/ASLINK.H | 932 - src/mkutil/link-z80/CVS/Entries | 20 + src/mkutil/link-z80/CVS/Repository | 1 + src/mkutil/link-z80/CVS/Root | 1 + src/mkutil/link-z80/aslink.h | 24 + src/mkutil/link-z80/lkarea.obj | Bin 8220 -> 0 bytes src/mkutil/link-z80/lkdata.obj | Bin 5207 -> 0 bytes src/mkutil/link-z80/lkeval.obj | Bin 7537 -> 0 bytes src/mkutil/link-z80/lkhead.obj | Bin 2946 -> 0 bytes src/mkutil/link-z80/lklex.obj | Bin 8278 -> 0 bytes src/mkutil/link-z80/lklibr.obj | Bin 11821 -> 0 bytes src/mkutil/link-z80/lklist.obj | Bin 18570 -> 0 bytes src/mkutil/link-z80/lkmain.obj | Bin 30058 -> 0 bytes src/mkutil/link-z80/lkout.obj | Bin 7258 -> 0 bytes src/mkutil/link-z80/lkrloc.obj | Bin 20078 -> 0 bytes src/mkutil/link-z80/lksym.obj | Bin 8400 -> 0 bytes src/mkutil/loginsh.exe | Bin 73781 -> 0 bytes src/mkutil/loginsh.obj | Bin 12452 -> 0 bytes src/mkutil/make/AUTHORS | 114 +- src/mkutil/make/COPYING | 680 +- src/mkutil/make/CVS/Entries | 174 +- src/mkutil/make/CVS/Entries.Log | 7 - src/mkutil/make/CVS/Repository | 2 +- src/mkutil/make/CVS/Root | 2 +- src/mkutil/make/ChangeLog | 2260 +- src/mkutil/make/ChangeLog.1 | 9960 ++++---- src/mkutil/make/ChangeLog.2 | 13296 +++++----- src/mkutil/make/INSTALL | 374 +- src/mkutil/make/Makefile.DOS.template | 1066 +- src/mkutil/make/Makefile.am | 320 +- src/mkutil/make/Makefile.ami | 610 +- src/mkutil/make/NEWS | 1754 +- src/mkutil/make/NMakefile | 5474 ++-- src/mkutil/make/NMakefile.template | 248 +- src/mkutil/make/README.Amiga | 122 +- src/mkutil/make/README.DOS.template | 646 +- src/mkutil/make/README.OS2.template | 318 +- src/mkutil/make/README.W32.template | 482 +- src/mkutil/make/README.customs | 190 +- src/mkutil/make/README.cvs | 220 +- src/mkutil/make/README.template | 328 +- src/mkutil/make/SCOPTIONS | 26 +- src/mkutil/make/SMakefile.template | 426 +- src/mkutil/make/TODO.private | 280 +- src/mkutil/make/acinclude.m4 | 328 +- src/mkutil/make/amiga.h | 44 +- src/mkutil/make/build.template | 166 +- src/mkutil/make/commands.h | 84 +- src/mkutil/make/config.ami.template | 634 +- src/mkutil/make/config.h | 798 +- src/mkutil/make/config.h-vms.template | 806 +- src/mkutil/make/config.h.W32 | 798 +- src/mkutil/make/config.h.W32.template | 798 +- src/mkutil/make/config/.cvsignore | 4 - src/mkutil/make/config/CVS/Entries | 9 +- src/mkutil/make/config/CVS/Repository | 2 +- src/mkutil/make/config/CVS/Root | 2 +- src/mkutil/make/config/ChangeLog | 38 +- src/mkutil/make/config/Makefile.am | 16 +- src/mkutil/make/config/dospaths.m4 | 42 +- src/mkutil/make/configh.dos.template | 188 +- src/mkutil/make/configure.in | 790 +- src/mkutil/make/debug.h | 82 +- src/mkutil/make/dep.h | 156 +- src/mkutil/make/doc/.cvsignore | 7 - src/mkutil/make/doc/CVS/Entries | 7 +- src/mkutil/make/doc/CVS/Repository | 2 +- src/mkutil/make/doc/CVS/Root | 2 +- src/mkutil/make/doc/Makefile.am | 44 +- src/mkutil/make/doc/make.texi | 20642 ++++++++-------- src/mkutil/make/filedef.h | 398 +- src/mkutil/make/function.c% | 4036 +-- src/mkutil/make/getopt.h | 266 +- src/mkutil/make/gettext.h | 118 +- src/mkutil/make/glob/.cvsignore | 2 - src/mkutil/make/glob/COPYING.LIB | 962 +- src/mkutil/make/glob/CVS/Entries | 25 +- src/mkutil/make/glob/CVS/Repository | 2 +- src/mkutil/make/glob/CVS/Root | 2 +- src/mkutil/make/glob/ChangeLog | 284 +- src/mkutil/make/glob/Makefile.am | 28 +- src/mkutil/make/glob/Makefile.ami | 138 +- src/mkutil/make/glob/SCOPTIONS | 26 +- src/mkutil/make/glob/SMakefile | 138 +- src/mkutil/make/glob/fnmatch.c | 976 +- src/mkutil/make/glob/fnmatch.h | 168 +- src/mkutil/make/glob/glob.c | 2856 +-- src/mkutil/make/glob/glob.h | 418 +- src/mkutil/make/hash.h | 466 +- src/mkutil/make/i18n/CVS/Entries | 1 - src/mkutil/make/i18n/CVS/Repository | 1 - src/mkutil/make/i18n/CVS/Root | 1 - src/mkutil/make/job.h | 208 +- src/mkutil/make/maintMakefile | 456 +- src/mkutil/make/make.1 | 582 +- src/mkutil/make/make.h | 1186 +- src/mkutil/make/make.lnk | 10 +- src/mkutil/make/makefile.vms | 294 +- src/mkutil/make/po/.cvsignore | 6 - src/mkutil/make/po/CVS/Entries | 11 +- src/mkutil/make/po/CVS/Repository | 2 +- src/mkutil/make/po/CVS/Root | 2 +- src/mkutil/make/po/ChangeLog | 50 +- src/mkutil/make/po/LINGUAS | 10 +- src/mkutil/make/po/Makevars | 50 +- src/mkutil/make/po/POTFILES.in | 50 +- src/mkutil/make/readme.vms | 366 +- src/mkutil/make/rule.h | 122 +- src/mkutil/make/tests/.cvsignore | 1 - src/mkutil/make/tests/COPYING | 678 +- src/mkutil/make/tests/CVS/Entries | 19 +- src/mkutil/make/tests/CVS/Entries.Log | 1 - src/mkutil/make/tests/CVS/Repository | 2 +- src/mkutil/make/tests/CVS/Root | 2 +- src/mkutil/make/tests/ChangeLog | 800 +- src/mkutil/make/tests/NEWS | 322 +- src/mkutil/make/tests/README | 158 +- src/mkutil/make/tests/mkshadow | 84 +- src/mkutil/make/tests/run_make_tests | 4 +- src/mkutil/make/tests/run_make_tests.pl | 548 +- src/mkutil/make/tests/scripts/CVS/Entries | 9 +- src/mkutil/make/tests/scripts/CVS/Entries.Log | 6 - src/mkutil/make/tests/scripts/CVS/Repository | 2 +- src/mkutil/make/tests/scripts/CVS/Root | 2 +- .../make/tests/scripts/features/CVS/Entries | 52 +- .../tests/scripts/features/CVS/Repository | 2 +- .../make/tests/scripts/features/CVS/Root | 2 +- .../make/tests/scripts/features/comments | 70 +- .../make/tests/scripts/features/conditionals | 200 +- .../make/tests/scripts/features/default_names | 130 +- .../make/tests/scripts/features/double_colon | 254 +- .../make/tests/scripts/features/echoing | 180 +- src/mkutil/make/tests/scripts/features/errors | 186 +- src/mkutil/make/tests/scripts/features/escape | 120 +- src/mkutil/make/tests/scripts/features/export | 500 +- .../make/tests/scripts/features/include | 122 +- .../make/tests/scripts/features/mult_rules | 156 +- .../make/tests/scripts/features/mult_targets | 92 +- .../make/tests/scripts/features/order_only | 224 +- .../make/tests/scripts/features/override | 68 +- .../make/tests/scripts/features/parallelism | 200 +- .../tests/scripts/features/patspecific_vars | 128 +- .../make/tests/scripts/features/quoting | 64 +- .../make/tests/scripts/features/recursion | 122 +- .../make/tests/scripts/features/reinvoke | 172 +- .../tests/scripts/features/statipattrules | 144 +- .../make/tests/scripts/features/targetvars | 540 +- .../make/tests/scripts/features/varnesting | 68 +- src/mkutil/make/tests/scripts/features/vpath | 124 +- src/mkutil/make/tests/scripts/features/vpath2 | 90 +- .../make/tests/scripts/features/vpathgpath | 132 +- .../make/tests/scripts/features/vpathplus | 256 +- .../make/tests/scripts/functions/CVS/Entries | 46 +- .../tests/scripts/functions/CVS/Repository | 2 +- .../make/tests/scripts/functions/CVS/Root | 2 +- .../make/tests/scripts/functions/addprefix | 88 +- .../make/tests/scripts/functions/addsuffix | 72 +- src/mkutil/make/tests/scripts/functions/call | 198 +- src/mkutil/make/tests/scripts/functions/dir | 88 +- src/mkutil/make/tests/scripts/functions/error | 126 +- src/mkutil/make/tests/scripts/functions/eval | 224 +- .../make/tests/scripts/functions/filter-out | 56 +- .../make/tests/scripts/functions/findstring | 94 +- .../make/tests/scripts/functions/foreach | 106 +- src/mkutil/make/tests/scripts/functions/if | 62 +- src/mkutil/make/tests/scripts/functions/join | 88 +- .../make/tests/scripts/functions/notdir | 88 +- .../make/tests/scripts/functions/origin | 132 +- src/mkutil/make/tests/scripts/functions/strip | 114 +- .../make/tests/scripts/functions/substitution | 74 +- .../make/tests/scripts/functions/suffix | 114 +- src/mkutil/make/tests/scripts/functions/value | 60 +- .../make/tests/scripts/functions/warning | 126 +- .../make/tests/scripts/functions/wildcard | 210 +- src/mkutil/make/tests/scripts/functions/word | 182 +- .../make/tests/scripts/misc/CVS/Entries | 10 +- .../make/tests/scripts/misc/CVS/Repository | 2 +- src/mkutil/make/tests/scripts/misc/CVS/Root | 2 +- src/mkutil/make/tests/scripts/misc/general1 | 102 +- src/mkutil/make/tests/scripts/misc/general2 | 100 +- src/mkutil/make/tests/scripts/misc/general3 | 116 +- src/mkutil/make/tests/scripts/misc/general4 | 62 +- .../make/tests/scripts/options/CVS/Entries | 24 +- .../make/tests/scripts/options/CVS/Repository | 2 +- .../make/tests/scripts/options/CVS/Root | 2 +- src/mkutil/make/tests/scripts/options/dash-B | 86 +- src/mkutil/make/tests/scripts/options/dash-C | 96 +- src/mkutil/make/tests/scripts/options/dash-I | 114 +- src/mkutil/make/tests/scripts/options/dash-e | 48 +- src/mkutil/make/tests/scripts/options/dash-f | 170 +- src/mkutil/make/tests/scripts/options/dash-k | 200 +- src/mkutil/make/tests/scripts/options/dash-l | 110 +- src/mkutil/make/tests/scripts/options/dash-n | 140 +- src/mkutil/make/tests/scripts/options/dash-q | 140 +- src/mkutil/make/tests/scripts/options/dash-t | 116 +- src/mkutil/make/tests/scripts/options/general | 70 +- .../make/tests/scripts/targets/CVS/Entries | 16 +- .../make/tests/scripts/targets/CVS/Repository | 2 +- .../make/tests/scripts/targets/CVS/Root | 2 +- src/mkutil/make/tests/scripts/targets/DEFAULT | 106 +- src/mkutil/make/tests/scripts/targets/FORCE | 104 +- .../make/tests/scripts/targets/INTERMEDIATE | 216 +- src/mkutil/make/tests/scripts/targets/PHONY | 124 +- .../make/tests/scripts/targets/SECONDARY | 224 +- src/mkutil/make/tests/scripts/targets/SILENT | 102 +- src/mkutil/make/tests/scripts/targets/clean | 102 +- src/mkutil/make/tests/scripts/test_template | 140 +- .../make/tests/scripts/variables/CURDIR | 40 +- .../make/tests/scripts/variables/CVS/Entries | 20 +- .../tests/scripts/variables/CVS/Repository | 2 +- .../make/tests/scripts/variables/CVS/Root | 2 +- src/mkutil/make/tests/scripts/variables/MAKE | 66 +- .../make/tests/scripts/variables/MAKECMDGOALS | 104 +- .../make/tests/scripts/variables/MAKEFILES | 68 +- .../tests/scripts/variables/MAKEFILE_LIST | 60 +- .../make/tests/scripts/variables/MAKELEVEL | 68 +- .../make/tests/scripts/variables/automatic | 162 +- .../make/tests/scripts/variables/flavors | 170 +- .../make/tests/scripts/variables/special | 136 +- src/mkutil/make/tests/test_driver.pl | 2226 +- src/mkutil/make/variable.h | 398 +- src/mkutil/make/vmsdir.h | 122 +- src/mkutil/make/w32/CVS/Entries | 6 +- src/mkutil/make/w32/CVS/Entries.Log | 3 - src/mkutil/make/w32/CVS/Repository | 2 +- src/mkutil/make/w32/CVS/Root | 2 +- src/mkutil/make/w32/compat/CVS/Entries | 4 +- src/mkutil/make/w32/compat/CVS/Repository | 2 +- src/mkutil/make/w32/compat/CVS/Root | 2 +- src/mkutil/make/w32/include/CVS/Entries | 10 +- src/mkutil/make/w32/include/CVS/Repository | 2 +- src/mkutil/make/w32/include/CVS/Root | 2 +- src/mkutil/make/w32/include/pathstuff.h | 18 +- src/mkutil/make/w32/include/sub_proc.h | 8 +- src/mkutil/make/w32/pathstuff.c | 476 +- src/mkutil/make/w32/subproc/CVS/Entries | 14 +- src/mkutil/make/w32/subproc/CVS/Repository | 2 +- src/mkutil/make/w32/subproc/CVS/Root | 2 +- src/mkutil/make/w32/subproc/NMakefile | 120 +- src/mkutil/make/w32/subproc/sub_proc.c | 2414 +- src/mkutil/n.bat | 41 +- src/mkutil/revava-0.3/Avr.o | Bin 10005 -> 10015 bytes src/mkutil/revava-0.3/CVS/Entries | 30 + src/mkutil/revava-0.3/CVS/Repository | 1 + src/mkutil/revava-0.3/CVS/Root | 1 + src/mkutil/revava-0.3/Flash.o | Bin 6829 -> 6836 bytes src/mkutil/revava-0.3/IntelHex.o | Bin 4758 -> 4764 bytes src/mkutil/revava-0.3/Main.o | Bin 9054 -> 9073 bytes src/mkutil/revava-0.3/Object.o | Bin 7319 -> 7333 bytes src/mkutil/revava-0.3/Source.o | Bin 26096 -> 26173 bytes src/mkutil/revava-0.3/make_test_source.o | Bin 7119 -> 7337 bytes src/mkutil/revava-0.3/n.bat | 4 +- src/mkutil/setfsize.exe | Bin 57390 -> 0 bytes src/mkutil/tasm.exe | Bin 0 -> 105651 bytes src/mkutil/tavrasm.118/CVS/Entries | 3 + src/mkutil/tavrasm.118/CVS/Repository | 1 + src/mkutil/tavrasm.118/CVS/Root | 1 + src/mkutil/tavrasm.118/README | 640 +- src/mkutil/tavrasm.118/gpl.txt | 570 +- src/mkutil/tavrasm.118/src/CVS/Entries | 33 + src/mkutil/tavrasm.118/src/CVS/Repository | 1 + src/mkutil/tavrasm.118/src/CVS/Root | 1 + src/mkutil/tavrasm.118/src/avrlex.cc | 2 +- src/mkutil/tavrasm.118/src/avrparse.y | 1086 +- src/mkutil/tavrasm.118/src/makefile | 234 +- src/mkutil/tavrasm.118/src/msg_de.hh | 2 +- src/mkutil/tlink.exe | Bin 0 -> 53510 bytes src/mkutil/touch.exe | Bin 73779 -> 0 bytes src/mkutil/touch.map | 404 - src/mkutil/touch.obj | Bin 3262 -> 0 bytes src/mkutil/tradcpp/CVS/Entries | 30 + src/mkutil/tradcpp/CVS/Repository | 1 + src/mkutil/tradcpp/CVS/Root | 1 + src/mkutil/tradcpp/alloca.obj | Bin 2592 -> 0 bytes src/mkutil/tradcpp/cppdefault.obj | Bin 8836 -> 0 bytes src/mkutil/tradcpp/defaults.h | 942 +- src/mkutil/tradcpp/hex.c | 222 +- src/mkutil/tradcpp/hex.obj | Bin 1295 -> 0 bytes src/mkutil/tradcpp/lbasename.c | 176 +- src/mkutil/tradcpp/lbasename.obj | Bin 1128 -> 0 bytes src/mkutil/tradcpp/mkdeps.c | 582 +- src/mkutil/tradcpp/mkdeps.h | 124 +- src/mkutil/tradcpp/mkdeps.obj | Bin 14251 -> 0 bytes src/mkutil/tradcpp/safe-ctype.obj | Bin 1931 -> 0 bytes src/mkutil/tradcpp/tradcif.obj | Bin 29547 -> 0 bytes src/mkutil/tradcpp/tradcpp.obj | Bin 64722 -> 0 bytes src/mkutil/tradcpp/version.c | 8 +- src/mkutil/tradcpp/version.obj | Bin 807 -> 0 bytes src/mkutil/tradcpp/xexit.obj | Bin 1070 -> 0 bytes src/mkutil/tradcpp/xmalloc.obj | Bin 3074 -> 0 bytes src/mkutil/tradcpp/xstrdup.obj | Bin 1050 -> 0 bytes src/mkutil/true.exe | Bin 61490 -> 0 bytes src/mkutil/true.obj | Bin 813 -> 0 bytes src/nos/CVS/Entries | 35 + src/nos/CVS/Repository | 1 + src/nos/CVS/Root | 1 + src/nos/auto.mk | 4 +- src/nos/ax25/CVS/Entries | 14 + src/nos/ax25/CVS/Repository | 1 + src/nos/ax25/CVS/Root | 1 + src/nos/ax25/ax25.i | 4621 ++++ src/nos/ax25/ax25cmd.i | 4345 ++++ src/nos/ax25/ax25hdr.i | 2511 ++ src/nos/ax25/ax25mail.i | 3122 +++ src/nos/ax25/ax25subr.i | 2882 +++ src/nos/ax25/ax25user.i | 2856 +++ src/nos/ax25/axheard.i | 2821 +++ src/nos/ax25/axsock.i | 4826 ++++ src/nos/ax25/kiss.i | 3630 +++ src/nos/ax25/lapb.i | 4055 +++ src/nos/ax25/lapbtime.i | 2696 ++ src/nos/bin/CVS/Entries | 3 + src/nos/bin/CVS/Repository | 1 + src/nos/bin/CVS/Root | 1 + src/nos/bin/boot.bin | Bin 2048 -> 2048 bytes src/nos/bin/net.bin | Bin 341185 -> 349333 bytes src/nos/c.sh | 1 + src/nos/clean.sh | 4 +- src/nos/clients/CVS/Entries | 12 + src/nos/clients/CVS/Repository | 1 + src/nos/clients/CVS/Root | 1 + src/nos/clients/bootp.i | 3595 +++ src/nos/clients/finger.i | 2995 +++ src/nos/clients/ftpcli.i | 4527 ++++ src/nos/clients/lterm.i | 3248 +++ src/nos/clients/nntpcli.i | 5529 +++++ src/nos/clients/popcli.i | 2960 +++ src/nos/clients/smtpcli.i | 4256 ++++ src/nos/clients/telnet.i | 3426 +++ src/nos/clients/tip.i | 3193 +++ src/nos/crt/CVS/Entries | 182 + src/nos/crt/CVS/Repository | 1 + src/nos/crt/CVS/Root | 1 + src/nos/crt/auto.mk | 53 + src/nos/crt/build-b.ban | 10 +- src/nos/crt/{crt0b.S => crt0_banked.S} | 0 src/nos/crt/{crt0l.S => crt0_large.S} | 0 src/nos/crt/crt_banked.lbr | 4 +- src/nos/crt/crt_large.lbr | 4 +- src/nos/crt/etime.c | 3 + src/nos/crt/getcwd.c | 1 + src/nos/crt/getopt.c | 2 +- src/nos/crt/io64180.inc | 2 +- src/nos/crt/longjmp_banked.S | 104 + src/nos/crt/longjmp_large.S | 23 + src/nos/crt/longjmpb.S | 104 - src/nos/crt/longjmpl.S | 19 - src/nos/crt/makefile | 10 + src/nos/crt/malloc-l.h | 2 + src/nos/crt/n.baty | 12 - src/nos/crt/perror.c | 2 +- src/nos/crt/qsort.c | 12 +- src/nos/crt/rename.c | 4 +- src/nos/crt/setjmp.c$ | 48 - src/nos/crt/setjmp.msx | 126 - src/nos/crt/setjmp_banked.S | 99 + src/nos/crt/setjmp_large.S | 23 + src/nos/crt/setjmpb.S | 99 - src/nos/crt/setjmpl.S | 19 - src/nos/crt/stdio0.c | 3 + src/nos/crt/termcap.c | 4 + src/nos/crt/tparam.c | 2 +- src/nos/crt/utsname.c | 4 + src/nos/doc/CVS/Entries | 12 + src/nos/doc/CVS/Repository | 1 + src/nos/doc/CVS/Root | 1 + src/nos/doc/bmexe332/BM.MM | 2 +- src/nos/doc/bmexe332/CVS/Entries | 4 + src/nos/doc/bmexe332/CVS/Repository | 1 + src/nos/doc/bmexe332/CVS/Root | 1 + src/nos/doc/bmpgp01/CVS/Entries | 17 + src/nos/doc/bmpgp01/CVS/Repository | 1 + src/nos/doc/bmpgp01/CVS/Root | 1 + src/nos/doc/bmpgp01/PGP.C | 442 +- src/nos/doc/intronos/CVS/Entries | 3 + src/nos/doc/intronos/CVS/Repository | 1 + src/nos/doc/intronos/CVS/Root | 1 + src/nos/doc/ka9qbgn/BM.TXT | 1172 +- src/nos/doc/ka9qbgn/CHANGES.LOG | 42 +- src/nos/doc/ka9qbgn/CVS/Entries | 13 + src/nos/doc/ka9qbgn/CVS/Repository | 1 + src/nos/doc/ka9qbgn/CVS/Root | 1 + src/nos/doc/ka9qbgn/README | 368 +- src/nos/doc/ka9qbgn/RSPF.TXT | 2348 +- src/nos/doc/ka9qbgn/USERMAN.TXT | 6840 ++--- src/nos/doc/man_9106/CVS/Entries | 2 + src/nos/doc/man_9106/CVS/Repository | 1 + src/nos/doc/man_9106/CVS/Root | 1 + src/nos/doc/rurtcp/CVS/Entries | 3 + src/nos/doc/rurtcp/CVS/Repository | 1 + src/nos/doc/rurtcp/CVS/Root | 1 + src/nos/doc/rurtcp/rurtcpp/CVS/Entries | 2 + src/nos/doc/rurtcp/rurtcpp/CVS/Repository | 1 + src/nos/doc/rurtcp/rurtcpp/CVS/Root | 1 + src/nos/drivers/CVS/Entries | 11 + src/nos/drivers/CVS/Repository | 1 + src/nos/drivers/CVS/Root | 1 + src/nos/drivers/arcnet.i | 2778 +++ src/nos/drivers/dma.i | 1550 ++ src/nos/drivers/drsi.i | 4356 ++++ src/nos/drivers/eagle.i | 4036 +++ src/nos/drivers/enet.i | 2794 +++ src/nos/drivers/hapn.i | 3393 +++ src/nos/drivers/hs.i | 3752 +++ src/nos/drivers/pc100.i | 3579 +++ src/nos/drivers/pi.i | 5328 ++++ src/nos/drivers/pktdrvr.i | 4294 ++++ src/nos/dump/CVS/Entries | 15 + src/nos/dump/CVS/Repository | 1 + src/nos/dump/CVS/Root | 1 + src/nos/dump/arcdump.i | 2384 ++ src/nos/dump/arpdump.i | 2549 ++ src/nos/dump/ax25dump.i | 2987 +++ src/nos/dump/enetdump.i | 2397 ++ src/nos/dump/icmpdump.i | 2853 +++ src/nos/dump/ipdump.i | 3150 +++ src/nos/dump/kissdump.i | 2628 ++ src/nos/dump/nrdump.i | 3273 +++ src/nos/dump/ripdump.i | 2906 +++ src/nos/dump/tcpdump.i | 3055 +++ src/nos/dump/trace.c | 5 +- src/nos/dump/trace.i | 3460 +++ src/nos/dump/udpdump.i | 2942 +++ src/nos/filesys/CVS/Entries | 15 + src/nos/filesys/CVS/Repository | 1 + src/nos/filesys/CVS/Root | 1 + src/nos/filesys/auto.mk | 16 +- src/nos/filesys/devio.c | 128 +- src/nos/filesys/devio.i | 2918 +++ src/nos/filesys/execve.c | 8 +- src/nos/filesys/execve.i | 2753 +++ src/nos/filesys/filesys.c | 108 +- src/nos/filesys/filesys.i | 4330 ++++ src/nos/filesys/maxmin.i | 130 + src/nos/filesys/process.c | 331 +- src/nos/filesys/process.i | 2641 ++ src/nos/filesys/rtc.c | 3 - src/nos/filesys/rtc.i | 962 + src/nos/filesys/scall1.c | 14 +- src/nos/filesys/scall1.i | 4015 +++ src/nos/filesys/scall2.c | 43 +- src/nos/filesys/scall2.i | 2975 +++ src/nos/filesys/systrace.c | 11 - src/nos/filesys/systrace.i | 2473 ++ src/nos/filesys/usrmem.c | 1 - src/nos/filesys/usrmem.i | 333 + src/nos/filesys/xfs.c | 85 +- src/nos/filesys/xfs.i | 3577 +++ src/nos/filesys/xip.c | 8 +- src/nos/filesys/xip.i | 3754 +++ src/nos/g.sh | 1 + src/nos/gboot/CVS/Entries | 18 + src/nos/gboot/CVS/Repository | 1 + src/nos/gboot/CVS/Root | 1 + src/nos/gboot/gboot.S | 9 +- src/nos/gboot/io64180.inc | 2 +- src/nos/iar/CVS/Entries | 204 + src/nos/iar/CVS/Repository | 1 + src/nos/iar/CVS/Root | 1 + src/nos/include/CVS/Entries | 58 + src/nos/include/CVS/Repository | 1 + src/nos/include/CVS/Root | 1 + src/nos/include/ctype.h% | 4 +- src/nos/include/errno.h | 1 + src/nos/include/libintl.h | 6 + src/nos/include/nos/CVS/Entries | 89 + src/nos/include/nos/CVS/Repository | 1 + src/nos/include/nos/CVS/Root | 1 + src/nos/include/nos/config.h | 6 + src/nos/include/nos/devparam.h | 9 +- src/nos/include/nos/dialer.h | 3 + src/nos/include/nos/escc.h | 11 + src/nos/include/nos/pppfsm.h | 17 +- src/nos/include/nos/proc.h | 26 +- src/nos/include/nos/slhc.h | 2 +- src/nos/include/nos/stdio.h | 2 + src/nos/include/nos/tcp.h | 15 + src/nos/include/nos/trace.h | 2 +- src/nos/include/po/.cvsignore | 1 + src/nos/include/po/CVS/Entries | 2 + src/nos/include/po/CVS/Repository | 1 + src/nos/include/po/CVS/Root | 1 + src/nos/include/po/messages.h | 3429 +-- src/nos/include/setjmp.h% | 4 +- src/nos/include/stdarg.h% | 4 +- src/nos/include/stdio.h | 4 +- src/nos/include/sys/CVS/Entries | 14 + src/nos/include/sys/CVS/Repository | 1 + src/nos/include/sys/CVS/Root | 1 + src/nos/include/sys/ioctl.h | 51 +- src/nos/include/syscalls.h | 6 +- src/nos/include/sysmac.h% | 2 +- src/nos/include/termcap.h | 42 +- src/nos/include/termios.h | 46 +- src/nos/include/time.h | 2 + src/nos/include/unistd.h | 116 +- src/nos/include/utime.h | 18 +- src/nos/include/utmp.h | 90 +- src/nos/include/utsname.h | 36 +- src/nos/include/uzi/CVS/Entries | 14 + src/nos/include/uzi/CVS/Repository | 1 + src/nos/include/uzi/CVS/Root | 1 + src/nos/include/uzi/devio.h | 5 +- src/nos/include/uzi/execve.h | 2 + src/nos/include/uzi/filesys.h | 6 +- src/nos/include/uzi/process.h | 17 +- src/nos/include/uzi/scall1.h | 3 + src/nos/include/uzi/scall2.h | 3 +- src/nos/include/uzi/usrmem.h | 2 + src/nos/include/uzi/xfs.h | 6 +- src/nos/include/uzi/xip.h | 2 + src/nos/include/z80/CVS/Entries | 2 + src/nos/include/z80/CVS/Repository | 1 + src/nos/include/z80/CVS/Root | 1 + src/nos/internet/CVS/Entries | 35 + src/nos/internet/CVS/Repository | 1 + src/nos/internet/CVS/Root | 1 + src/nos/internet/arp.i | 3312 +++ src/nos/internet/arpcmd.i | 3209 +++ src/nos/internet/arphdr.i | 2388 ++ src/nos/internet/domain.i | 5904 +++++ src/nos/internet/domhdr.c | 594 +- src/nos/internet/domhdr.i | 2506 ++ src/nos/internet/hop.i | 5728 +++++ src/nos/internet/icmp.i | 3379 +++ src/nos/internet/icmpcmd.i | 3211 +++ src/nos/internet/icmphdr.i | 2732 ++ src/nos/internet/icmpmsg.i | 965 + src/nos/internet/ip.c | 11 - src/nos/internet/ip.i | 3434 +++ src/nos/internet/ipcmd.i | 3399 +++ src/nos/internet/iphdr.i | 2670 ++ src/nos/internet/iproute.i | 4569 ++++ src/nos/internet/ipsock.i | 4477 ++++ src/nos/internet/netuser.i | 1274 + src/nos/internet/ping.i | 3827 +++ src/nos/internet/rip.i | 3545 +++ src/nos/internet/ripcmd.i | 3217 +++ src/nos/internet/sim.i | 2583 ++ src/nos/internet/tcpcmd.i | 4130 ++++ src/nos/internet/tcphdr.c | 118 + src/nos/internet/tcphdr.i | 3107 +++ src/nos/internet/tcpin.c | 57 + src/nos/internet/tcpin.i | 4037 +++ src/nos/internet/tcpout.i | 3104 +++ src/nos/internet/tcpsock.c | 911 +- src/nos/internet/tcpsock.i | 4782 ++++ src/nos/internet/tcpsubr.i | 3215 +++ src/nos/internet/tcptimer.i | 2937 +++ src/nos/internet/tcpuser.i | 3536 +++ src/nos/internet/udp.i | 3057 +++ src/nos/internet/udpcmd.i | 2994 +++ src/nos/internet/udphdr.i | 2702 ++ src/nos/internet/udpsock.i | 4481 ++++ src/nos/intl/CVS/Entries | 5 + src/nos/intl/CVS/Repository | 1 + src/nos/intl/CVS/Root | 1 + src/nos/intl/auto.mk | 2 +- src/nos/intl/intl.c | 27 + src/nos/kernel/CVS/Entries | 1 + src/nos/kernel/CVS/Repository | 1 + src/nos/kernel/CVS/Root | 1 + src/nos/lib/.cvsignore | 12 + src/nos/lib/CVS/Entries | 2 + src/nos/lib/CVS/Repository | 1 + src/nos/lib/CVS/Root | 1 + src/nos/lib/clients_lib/Ftpcmds.rel | 142 +- src/nos/lib/clients_lib/Notsess.rel | 2 +- src/nos/lib/clients_lib/bootp.rel | 354 +- src/nos/lib/clients_lib/compsub.rel | 92 +- src/nos/lib/clients_lib/dobatch.rel | 10 +- src/nos/lib/clients_lib/docompare.rel | 8 +- src/nos/lib/clients_lib/doftp.rel | 202 +- src/nos/lib/clients_lib/doftpcd.rel | 8 +- src/nos/lib/clients_lib/doget.rel | 10 +- src/nos/lib/clients_lib/dolist.rel | 18 +- src/nos/lib/clients_lib/dols.rel | 18 +- src/nos/lib/clients_lib/domcompare.rel | 60 +- src/nos/lib/clients_lib/domd5.rel | 38 +- src/nos/lib/clients_lib/domget.rel | 14 +- src/nos/lib/clients_lib/domkdir.rel | 8 +- src/nos/lib/clients_lib/domput.rel | 10 +- src/nos/lib/clients_lib/doquit.rel | 6 +- src/nos/lib/clients_lib/dormdir.rel | 12 +- src/nos/lib/clients_lib/dotype.rel | 40 +- src/nos/lib/clients_lib/doupdate.rel | 2 +- src/nos/lib/clients_lib/doverbose.rel | 8 +- src/nos/lib/clients_lib/finger.rel | 164 +- src/nos/lib/clients_lib/getresp.rel | 2 +- src/nos/lib/clients_lib/getsub.rel | 110 +- src/nos/lib/clients_lib/keychar.rel | 18 +- src/nos/lib/clients_lib/lterm.rel | 162 +- src/nos/lib/clients_lib/putsub.rel | 176 +- src/nos/lib/clients_lib/sendport.rel | 8 +- src/nos/lib/clients_lib/telnet.rel | 512 +- src/nos/lib/crt0_banked.lst | 332 - src/nos/lib/crt0_banked.rel | 61 - src/nos/lib/crt0_large.lst | 335 - src/nos/lib/crt0_large.rel | 56 - src/nos/lib/crt_banked.lib | 8 +- src/nos/lib/crt_banked_lib/atexit.rel | 2 +- src/nos/lib/crt_banked_lib/closedir.rel | 2 +- src/nos/lib/crt_banked_lib/etime.rel | 105 +- src/nos/lib/crt_banked_lib/fclose.rel | 2 +- src/nos/lib/crt_banked_lib/fflush.rel | 231 +- src/nos/lib/crt_banked_lib/fgetgren.rel | 2 +- src/nos/lib/crt_banked_lib/fgetpwen.rel | 2 +- src/nos/lib/crt_banked_lib/fopen.rel | 10 +- src/nos/lib/crt_banked_lib/fwrite.rel | 2 +- src/nos/lib/crt_banked_lib/getcwd.rel | 10 +- src/nos/lib/crt_banked_lib/getgrnam.rel | 2 +- src/nos/lib/crt_banked_lib/getpw.rel | 2 +- src/nos/lib/crt_banked_lib/getpwnam.rel | 2 +- src/nos/lib/crt_banked_lib/gets.rel | 103 +- .../{longjmp.rel => longjmp_banked.rel} | 0 src/nos/lib/crt_banked_lib/opendir.rel | 6 +- src/nos/lib/crt_banked_lib/perror.rel | 2 +- src/nos/lib/crt_banked_lib/putpwent.rel | 2 +- src/nos/lib/crt_banked_lib/readdir.rel | 2 +- src/nos/lib/crt_banked_lib/regexp.rel | 1286 +- src/nos/lib/crt_banked_lib/rewindir.rel | 2 +- src/nos/lib/crt_banked_lib/rmdir.rel | 6 +- src/nos/lib/crt_banked_lib/setenv.rel | 2 +- .../{setjmp.rel => setjmp_banked.rel} | 0 src/nos/lib/crt_banked_lib/setpwent.rel | 2 +- src/nos/lib/crt_banked_lib/setvbuff.rel | 2 +- src/nos/lib/crt_banked_lib/stdio0.rel | 14 +- src/nos/lib/crt_banked_lib/termcap.rel | 695 +- src/nos/lib/crt_banked_lib/ttyname.rel | 6 +- src/nos/lib/crt_large.lib | 342 - src/nos/lib/crt_large_lib/abort.rel | 30 - src/nos/lib/crt_large_lib/alloca.rel | 93 - src/nos/lib/crt_large_lib/asctime.rel | 215 - src/nos/lib/crt_large_lib/assert.rel | 59 - src/nos/lib/crt_large_lib/atexit.rel | 115 - src/nos/lib/crt_large_lib/atoi.rel | 18 - src/nos/lib/crt_large_lib/atol.rel | 18 - src/nos/lib/crt_large_lib/bsearch.rel | 94 - src/nos/lib/crt_large_lib/calloc.rel | 32 - src/nos/lib/crt_large_lib/clock.rel | 20 - src/nos/lib/crt_large_lib/closedir.rel | 50 - src/nos/lib/crt_large_lib/convtime.rel | 191 - src/nos/lib/crt_large_lib/crypt.rel | 222 - src/nos/lib/crt_large_lib/ctime.rel | 17 - src/nos/lib/crt_large_lib/ctype.rel | 101 - src/nos/lib/crt_large_lib/difftime.rel | 80 - src/nos/lib/crt_large_lib/error.rel | 230 - src/nos/lib/crt_large_lib/etime.rel | 110 - src/nos/lib/crt_large_lib/execl.rel | 187 - src/nos/lib/crt_large_lib/execle.rel | 34 - src/nos/lib/crt_large_lib/execlp.rel | 22 - src/nos/lib/crt_large_lib/execlpe.rel | 37 - src/nos/lib/crt_large_lib/exect.rel | 18 - src/nos/lib/crt_large_lib/execv.rel | 17 - src/nos/lib/crt_large_lib/execvp.rel | 20 - src/nos/lib/crt_large_lib/execvpe.rel | 19 - src/nos/lib/crt_large_lib/exit.rel | 30 - src/nos/lib/crt_large_lib/fclose.rel | 146 - src/nos/lib/crt_large_lib/fflush.rel | 197 - src/nos/lib/crt_large_lib/fgetc.rel | 89 - src/nos/lib/crt_large_lib/fgetgren.rel | 31 - src/nos/lib/crt_large_lib/fgetpwen.rel | 31 - src/nos/lib/crt_large_lib/fgets.rel | 80 - src/nos/lib/crt_large_lib/fopen.rel | 245 - src/nos/lib/crt_large_lib/fprintf.rel | 25 - src/nos/lib/crt_large_lib/fputc.rel | 121 - src/nos/lib/crt_large_lib/fputs.rel | 50 - src/nos/lib/crt_large_lib/fputter.rel | 85 - src/nos/lib/crt_large_lib/fread.rel | 146 - src/nos/lib/crt_large_lib/free.rel | 88 - src/nos/lib/crt_large_lib/fscanf.rel | 22 - src/nos/lib/crt_large_lib/ftell.rel | 33 - src/nos/lib/crt_large_lib/fwrite.rel | 187 - src/nos/lib/crt_large_lib/getcwd.rel | 319 - src/nos/lib/crt_large_lib/getenv.rel | 78 - src/nos/lib/crt_large_lib/getgrent.rel | 271 - src/nos/lib/crt_large_lib/getgrgid.rel | 46 - src/nos/lib/crt_large_lib/getgrnam.rel | 60 - src/nos/lib/crt_large_lib/getopt.rel | 269 - src/nos/lib/crt_large_lib/getpass.rel | 152 - src/nos/lib/crt_large_lib/getpw.rel | 63 - src/nos/lib/crt_large_lib/getpwent.rel | 274 - src/nos/lib/crt_large_lib/getpwnam.rel | 60 - src/nos/lib/crt_large_lib/getpwuid.rel | 46 - src/nos/lib/crt_large_lib/gets.rel | 89 - src/nos/lib/crt_large_lib/gmtime.rel | 475 - src/nos/lib/crt_large_lib/initgrup.rel | 102 - src/nos/lib/crt_large_lib/isatty.rel | 38 - src/nos/lib/crt_large_lib/itoa.rel | 190 - src/nos/lib/crt_large_lib/localtim.rel | 23 - src/nos/lib/crt_large_lib/longjmp.rel | 14 - src/nos/lib/crt_large_lib/lsearch.rel | 87 - src/nos/lib/crt_large_lib/lstat.rel | 45 - src/nos/lib/crt_large_lib/ltoa.rel | 42 - src/nos/lib/crt_large_lib/ltostr.rel | 33 - src/nos/lib/crt_large_lib/malloc.rel | 194 - src/nos/lib/crt_large_lib/memccpy.rel | 49 - src/nos/lib/crt_large_lib/memchr.rel | 47 - src/nos/lib/crt_large_lib/memcmp.rel | 47 - src/nos/lib/crt_large_lib/memcpy.rel | 35 - src/nos/lib/crt_large_lib/memmove.rel | 58 - src/nos/lib/crt_large_lib/memset.rel | 31 - src/nos/lib/crt_large_lib/mkdir.rel | 20 - src/nos/lib/crt_large_lib/mktime.rel | 41 - src/nos/lib/crt_large_lib/opendir.rel | 94 - src/nos/lib/crt_large_lib/perror.rel | 80 - src/nos/lib/crt_large_lib/popen.rel | 171 - src/nos/lib/crt_large_lib/printf.rel | 23 - src/nos/lib/crt_large_lib/putenv.rel | 189 - src/nos/lib/crt_large_lib/putgetch.rel | 41 - src/nos/lib/crt_large_lib/putpwent.rel | 66 - src/nos/lib/crt_large_lib/qsort.rel | 305 - src/nos/lib/crt_large_lib/rand.rel | 126 - src/nos/lib/crt_large_lib/readdir.rel | 89 - src/nos/lib/crt_large_lib/readlink.rel | 42 - src/nos/lib/crt_large_lib/realloc.rel | 54 - src/nos/lib/crt_large_lib/regerror.rel | 29 - src/nos/lib/crt_large_lib/regexp.rel | 2147 -- src/nos/lib/crt_large_lib/regsub.rel | 212 - src/nos/lib/crt_large_lib/rename.rel | 31 - src/nos/lib/crt_large_lib/rewind.rel | 161 - src/nos/lib/crt_large_lib/rewindir.rel | 45 - src/nos/lib/crt_large_lib/rmdir.rel | 170 - src/nos/lib/crt_large_lib/scanf.rel | 23 - src/nos/lib/crt_large_lib/setbuff.rel | 67 - src/nos/lib/crt_large_lib/setenv.rel | 267 - src/nos/lib/crt_large_lib/setgrent.rel | 74 - src/nos/lib/crt_large_lib/setjmp.rel | 14 - src/nos/lib/crt_large_lib/setpwent.rel | 102 - src/nos/lib/crt_large_lib/setvbuff.rel | 98 - src/nos/lib/crt_large_lib/sleep.rel | 62 - src/nos/lib/crt_large_lib/sprintf.rel | 27 - src/nos/lib/crt_large_lib/sputter.rel | 22 - src/nos/lib/crt_large_lib/sscanf.rel | 36 - src/nos/lib/crt_large_lib/stdio0.rel | 129 - src/nos/lib/crt_large_lib/strcat.rel | 19 - src/nos/lib/crt_large_lib/strchr.rel | 47 - src/nos/lib/crt_large_lib/strcmp.rel | 43 - src/nos/lib/crt_large_lib/strcpy.rel | 21 - src/nos/lib/crt_large_lib/strcspn.rel | 44 - src/nos/lib/crt_large_lib/strdup.rel | 34 - src/nos/lib/crt_large_lib/stricmp.rel | 84 - src/nos/lib/crt_large_lib/strlen.rel | 33 - src/nos/lib/crt_large_lib/strncat.rel | 50 - src/nos/lib/crt_large_lib/strncmp.rel | 51 - src/nos/lib/crt_large_lib/strncpy.rel | 59 - src/nos/lib/crt_large_lib/strnicmp.rel | 90 - src/nos/lib/crt_large_lib/strpbrk.rel | 48 - src/nos/lib/crt_large_lib/strrchr.rel | 56 - src/nos/lib/crt_large_lib/strsep.rel | 50 - src/nos/lib/crt_large_lib/strspn.rel | 71 - src/nos/lib/crt_large_lib/strstr.rel | 64 - src/nos/lib/crt_large_lib/strtok.rel | 81 - src/nos/lib/crt_large_lib/strtol.rel | 84 - src/nos/lib/crt_large_lib/strtoul.rel | 218 - src/nos/lib/crt_large_lib/system.rel | 140 - src/nos/lib/crt_large_lib/termcap.rel | 1381 -- src/nos/lib/crt_large_lib/tmpnam.rel | 77 - src/nos/lib/crt_large_lib/tparam.rel | 677 - src/nos/lib/crt_large_lib/ttyname.rel | 149 - src/nos/lib/crt_large_lib/tzset.rel | 95 - src/nos/lib/crt_large_lib/ultoa.rel | 34 - src/nos/lib/crt_large_lib/ungetc.rel | 74 - src/nos/lib/crt_large_lib/utsname.rel | 54 - src/nos/lib/crt_large_lib/vfprintf.rel | 19 - src/nos/lib/crt_large_lib/vfscanf.rel | 923 - src/nos/lib/crt_large_lib/vprinter.rel | 743 - src/nos/lib/crt_large_lib/vprintf.rel | 19 - src/nos/lib/crt_large_lib/vscanf.rel | 19 - src/nos/lib/crt_large_lib/vsprintf.rel | 25 - src/nos/lib/crt_large_lib/vsscanf.rel | 32 - src/nos/lib/crt_large_lib/xitoa.rel | 18 - src/nos/lib/crt_large_lib/xltoa.rel | 24 - src/nos/lib/dump.lib | 2 +- src/nos/lib/dump_lib/icmpdump.rel | 66 +- src/nos/lib/dump_lib/ipdump.rel | 158 +- src/nos/lib/dump_lib/tcpdump.rel | 214 +- src/nos/lib/dump_lib/trace.rel | 455 +- src/nos/lib/dump_lib/udpdump.rel | 48 +- src/nos/lib/filesys.lib | 30 +- src/nos/lib/filesys_lib/Baddevmsg.rel | 2 +- src/nos/lib/filesys_lib/Badfsmsg.rel | 2 +- src/nos/lib/filesys_lib/Badinomsg.rel | 2 +- src/nos/lib/filesys_lib/Gtinobadoft.rel | 2 +- src/nos/lib/filesys_lib/Ptab.rel | 2 +- src/nos/lib/filesys_lib/Refstoinode.rel | 4 +- src/nos/lib/filesys_lib/_access.rel | 24 +- src/nos/lib/filesys_lib/_chdir.rel | 28 +- src/nos/lib/filesys_lib/_chmod.rel | 28 +- src/nos/lib/filesys_lib/_chown.rel | 28 +- src/nos/lib/filesys_lib/_close.rel | 24 +- src/nos/lib/filesys_lib/_creat.rel | 28 +- src/nos/lib/filesys_lib/_dup.rel | 24 +- src/nos/lib/filesys_lib/_dup2.rel | 26 +- src/nos/lib/filesys_lib/_falign.rel | 26 +- src/nos/lib/filesys_lib/_fstat.rel | 26 +- src/nos/lib/filesys_lib/_getfsys.rel | 26 +- src/nos/lib/filesys_lib/_ioctl.rel | 28 +- src/nos/lib/filesys_lib/_link.rel | 26 +- src/nos/lib/filesys_lib/_lseek.rel | 30 +- src/nos/lib/filesys_lib/_mknod.rel | 28 +- src/nos/lib/filesys_lib/_mount.rel | 28 +- src/nos/lib/filesys_lib/_namei.rel | 6 +- src/nos/lib/filesys_lib/_open.rel | 30 +- src/nos/lib/filesys_lib/_panic.rel | 2 +- src/nos/lib/filesys_lib/_read.rel | 28 +- src/nos/lib/filesys_lib/_stat.rel | 26 +- src/nos/lib/filesys_lib/_symlink.rel | 26 +- src/nos/lib/filesys_lib/_sync.rel | 18 +- src/nos/lib/filesys_lib/_sysdebug.rel | 30 +- src/nos/lib/filesys_lib/_systrace.rel | 30 +- src/nos/lib/filesys_lib/_time.rel | 20 +- src/nos/lib/filesys_lib/_umask.rel | 30 +- src/nos/lib/filesys_lib/_umount.rel | 24 +- src/nos/lib/filesys_lib/_unlink.rel | 28 +- src/nos/lib/filesys_lib/_write.rel | 28 +- src/nos/lib/filesys_lib/access.rel | 24 +- src/nos/lib/filesys_lib/allocatepid.rel | 140 + src/nos/lib/filesys_lib/bdreadwrite.rel | 2 +- src/nos/lib/filesys_lib/bfind.rel | 18 +- src/nos/lib/filesys_lib/bfree.rel | 48 +- src/nos/lib/filesys_lib/blk_alloc.rel | 38 +- src/nos/lib/filesys_lib/bmap.rel | 50 +- src/nos/lib/filesys_lib/bread.rel | 48 +- src/nos/lib/filesys_lib/bufdump.rel | 26 +- src/nos/lib/filesys_lib/bufinit.rel | 128 - src/nos/lib/filesys_lib/bufpool_garbage.rel | 122 + src/nos/lib/filesys_lib/bufsync.rel | 28 +- src/nos/lib/filesys_lib/ch_link.rel | 102 +- src/nos/lib/filesys_lib/chany.rel | 10 +- src/nos/lib/filesys_lib/chdir.rel | 28 +- src/nos/lib/filesys_lib/chmod.rel | 28 +- src/nos/lib/filesys_lib/chown.rel | 28 +- src/nos/lib/filesys_lib/close.rel | 24 +- src/nos/lib/filesys_lib/creat.rel | 28 +- src/nos/lib/filesys_lib/d_init.rel | 50 +- src/nos/lib/filesys_lib/d_ioctl.rel | 4 +- src/nos/lib/filesys_lib/delptab.rel | 97 + src/nos/lib/filesys_lib/doexit.rel | 76 +- src/nos/lib/filesys_lib/dprintf.rel | 40 +- src/nos/lib/filesys_lib/dup.rel | 24 +- src/nos/lib/filesys_lib/dup2.rel | 26 +- src/nos/lib/filesys_lib/f_trunc.rel | 36 +- src/nos/lib/filesys_lib/falign.rel | 26 +- src/nos/lib/filesys_lib/filesys_doclose.rel | 56 +- src/nos/lib/filesys_lib/findfs.rel | 4 +- src/nos/lib/filesys_lib/findprocess.rel | 177 +- src/nos/lib/filesys_lib/fmount.rel | 72 +- src/nos/lib/filesys_lib/forkprocess.rel | 187 + src/nos/lib/filesys_lib/freeblk.rel | 42 +- src/nos/lib/filesys_lib/freebuf.rel | 64 +- src/nos/lib/filesys_lib/fs_init.rel | 14 +- src/nos/lib/filesys_lib/fstat.rel | 26 +- src/nos/lib/filesys_lib/getfsys.rel | 26 +- src/nos/lib/filesys_lib/getinode.rel | 6 +- src/nos/lib/filesys_lib/getperm.rel | 12 +- src/nos/lib/filesys_lib/i_alloc.rel | 4 +- src/nos/lib/filesys_lib/i_init.rel | 64 - src/nos/lib/filesys_lib/i_open.rel | 50 +- src/nos/lib/filesys_lib/inotab_garbage.rel | 60 + src/nos/lib/filesys_lib/ioctl.rel | 28 +- src/nos/lib/filesys_lib/link.rel | 26 +- src/nos/lib/filesys_lib/lseek.rel | 30 +- src/nos/lib/filesys_lib/magic.rel | 2 +- src/nos/lib/filesys_lib/mainptab.rel | 65 + src/nos/lib/filesys_lib/mknod.rel | 28 +- src/nos/lib/filesys_lib/mount.rel | 28 +- src/nos/lib/filesys_lib/n_creat.rel | 102 +- src/nos/lib/filesys_lib/namei.rel | 34 +- src/nos/lib/filesys_lib/newfile.rel | 86 +- src/nos/lib/filesys_lib/newptab.rel | 158 + src/nos/lib/filesys_lib/oft_alloc.rel | 2 +- src/nos/lib/filesys_lib/oft_deref.rel | 29 +- src/nos/lib/filesys_lib/oftab_garbage.rel | 60 + src/nos/lib/filesys_lib/open.rel | 30 +- src/nos/lib/filesys_lib/p_init.rel | 71 - src/nos/lib/filesys_lib/panic.rel | 2 +- src/nos/lib/filesys_lib/ptab_garbage.rel | 58 + src/nos/lib/filesys_lib/read.rel | 28 +- src/nos/lib/filesys_lib/readwritei.rel | 302 +- src/nos/lib/filesys_lib/rwsetup.rel | 64 +- src/nos/lib/filesys_lib/scall1_getfsys.rel | 173 +- src/nos/lib/filesys_lib/stat.rel | 26 +- src/nos/lib/filesys_lib/stcpy.rel | 2 +- src/nos/lib/filesys_lib/symlink.rel | 26 +- src/nos/lib/filesys_lib/sync.rel | 18 +- src/nos/lib/filesys_lib/sys_NONE.rel | 2 +- src/nos/lib/filesys_lib/sys__exit.rel | 2 +- src/nos/lib/filesys_lib/sys_alarm.rel | 6 +- src/nos/lib/filesys_lib/sys_brk.rel | 8 +- src/nos/lib/filesys_lib/sys_chdir.rel | 14 +- src/nos/lib/filesys_lib/sys_chmod.rel | 4 +- src/nos/lib/filesys_lib/sys_chown.rel | 6 +- src/nos/lib/filesys_lib/sys_chroot.rel | 14 +- src/nos/lib/filesys_lib/sys_close.rel | 2 +- src/nos/lib/filesys_lib/sys_dup.rel | 12 +- src/nos/lib/filesys_lib/sys_dup2.rel | 30 +- src/nos/lib/filesys_lib/sys_execve.rel | 46 +- src/nos/lib/filesys_lib/sys_falign.rel | 4 +- src/nos/lib/filesys_lib/sys_getfsys.rel | 6 +- src/nos/lib/filesys_lib/sys_getset.rel | 96 +- src/nos/lib/filesys_lib/sys_ioctl.rel | 12 +- src/nos/lib/filesys_lib/sys_kill.rel | 12 +- src/nos/lib/filesys_lib/sys_link.rel | 12 +- src/nos/lib/filesys_lib/sys_lseek.rel | 24 +- src/nos/lib/filesys_lib/sys_mknod.rel | 62 +- src/nos/lib/filesys_lib/sys_mountumount.rel | 32 +- src/nos/lib/filesys_lib/sys_open.rel | 52 +- src/nos/lib/filesys_lib/sys_pause.rel | 2 +- src/nos/lib/filesys_lib/sys_pipe.rel | 20 +- src/nos/lib/filesys_lib/sys_readwrite.rel | 22 +- src/nos/lib/filesys_lib/sys_reboot.rel | 12 +- src/nos/lib/filesys_lib/sys_sbrk.rel | 8 +- src/nos/lib/filesys_lib/sys_signal.rel | 34 +- src/nos/lib/filesys_lib/sys_statfstat.rel | 14 +- src/nos/lib/filesys_lib/sys_stime.rel | 8 +- src/nos/lib/filesys_lib/sys_symlink.rel | 20 +- src/nos/lib/filesys_lib/sys_time.rel | 2 +- src/nos/lib/filesys_lib/sys_times.rel | 16 +- src/nos/lib/filesys_lib/sys_unlink.rel | 10 +- src/nos/lib/filesys_lib/sys_utime.rel | 20 +- src/nos/lib/filesys_lib/sys_waitpid.rel | 12 +- src/nos/lib/filesys_lib/sysdebug.rel | 30 +- src/nos/lib/filesys_lib/syserror_table.rel | 124 +- src/nos/lib/filesys_lib/systrace.rel | 30 +- src/nos/lib/filesys_lib/systrace_dump.rel | 92 +- src/nos/lib/filesys_lib/systrace_entry.rel | 22 +- src/nos/lib/filesys_lib/systrace_exit.rel | 40 +- src/nos/lib/filesys_lib/systrace_table.rel | 160 +- src/nos/lib/filesys_lib/time.rel | 20 +- src/nos/lib/filesys_lib/udata.rel | 12 - src/nos/lib/filesys_lib/uf_alloc.rel | 8 +- src/nos/lib/filesys_lib/umask.rel | 30 +- src/nos/lib/filesys_lib/umount.rel | 24 +- src/nos/lib/filesys_lib/unlink.rel | 28 +- src/nos/lib/filesys_lib/valadr.rel | 2 +- src/nos/lib/filesys_lib/validblk.rel | 10 +- src/nos/lib/filesys_lib/validdev.rel | 2 +- src/nos/lib/filesys_lib/vdprintf.rel | 36 +- src/nos/lib/filesys_lib/wargs.rel | 2 +- src/nos/lib/filesys_lib/wr_inode.rel | 46 +- src/nos/lib/filesys_lib/write.rel | 28 +- src/nos/lib/filesys_lib/xfs_access.rel | 24 +- src/nos/lib/filesys_lib/xfs_chdir.rel | 28 +- src/nos/lib/filesys_lib/xfs_chmod.rel | 28 +- src/nos/lib/filesys_lib/xfs_chown.rel | 28 +- src/nos/lib/filesys_lib/xfs_close.rel | 24 +- src/nos/lib/filesys_lib/xfs_creat.rel | 28 +- src/nos/lib/filesys_lib/xfs_dup.rel | 24 +- src/nos/lib/filesys_lib/xfs_dup2.rel | 26 +- src/nos/lib/filesys_lib/xfs_end.rel | 6 +- src/nos/lib/filesys_lib/xfs_falign.rel | 26 +- src/nos/lib/filesys_lib/xfs_fstat.rel | 26 +- src/nos/lib/filesys_lib/xfs_getfsys.rel | 26 +- src/nos/lib/filesys_lib/xfs_init.rel | 114 +- src/nos/lib/filesys_lib/xfs_ioctl.rel | 28 +- src/nos/lib/filesys_lib/xfs_link.rel | 26 +- src/nos/lib/filesys_lib/xfs_lseek.rel | 30 +- src/nos/lib/filesys_lib/xfs_mknod.rel | 28 +- src/nos/lib/filesys_lib/xfs_mount.rel | 28 +- src/nos/lib/filesys_lib/xfs_open.rel | 30 +- src/nos/lib/filesys_lib/xfs_read.rel | 28 +- src/nos/lib/filesys_lib/xfs_stat.rel | 26 +- src/nos/lib/filesys_lib/xfs_symlink.rel | 26 +- src/nos/lib/filesys_lib/xfs_sync.rel | 18 +- src/nos/lib/filesys_lib/xfs_sysdebug.rel | 30 +- src/nos/lib/filesys_lib/xfs_systrace.rel | 30 +- src/nos/lib/filesys_lib/xfs_time.rel | 20 +- src/nos/lib/filesys_lib/xfs_umask.rel | 30 +- src/nos/lib/filesys_lib/xfs_umount.rel | 24 +- src/nos/lib/filesys_lib/xfs_unlink.rel | 28 +- src/nos/lib/filesys_lib/xfs_write.rel | 28 +- src/nos/lib/filesys_lib/xip_align.rel | 114 +- src/nos/lib/filesys_lib/xip_align_bmap.rel | 54 +- src/nos/lib/filesys_lib/xip_align_chase.rel | 48 +- src/nos/lib/filesys_lib/xip_align_recurse.rel | 128 +- src/nos/lib/filesys_lib/xip_examine.rel | 34 +- src/nos/lib/filesys_lib/xip_find.rel | 22 +- src/nos/lib/filesys_lib/xip_get.rel | 20 +- src/nos/lib/filesys_lib/xip_reserve.rel | 54 +- src/nos/lib/filesys_lib/xip_search.rel | 14 +- src/nos/lib/filesys_lib/xip_set.rel | 8 +- src/nos/lib/filesys_lib/xip_ualign.rel | 38 +- src/nos/lib/filesys_lib/zerobuf.rel | 42 +- src/nos/lib/internet_lib/Dcachecmds.rel | 12 +- src/nos/lib/internet_lib/Dcmds.rel | 44 +- src/nos/lib/internet_lib/Tcpcmds.rel | 54 +- src/nos/lib/internet_lib/add_reseq.rel | 8 +- src/nos/lib/internet_lib/dfile_search.rel | 22 +- src/nos/lib/internet_lib/dfile_update.rel | 224 +- src/nos/lib/internet_lib/dns_query.rel | 126 +- src/nos/lib/internet_lib/docacheclean.rel | 2 +- src/nos/lib/internet_lib/docachesize.rel | 2 +- src/nos/lib/internet_lib/docachewait.rel | 8 +- src/nos/lib/internet_lib/dodnsadd.rel | 10 +- src/nos/lib/internet_lib/dodnsdrop.rel | 10 +- src/nos/lib/internet_lib/dodnslist.rel | 14 +- src/nos/lib/internet_lib/dodnsretry.rel | 12 +- src/nos/lib/internet_lib/dodnstrace.rel | 6 +- src/nos/lib/internet_lib/doirtt.rel | 10 +- src/nos/lib/internet_lib/domss.rel | 2 +- src/nos/lib/internet_lib/dosuffix.rel | 2 +- src/nos/lib/internet_lib/dosyndata.rel | 8 +- src/nos/lib/internet_lib/dotcptr.rel | 6 +- src/nos/lib/internet_lib/dotimestamps.rel | 10 +- src/nos/lib/internet_lib/dowindow.rel | 10 +- src/nos/lib/internet_lib/dumpdomain.rel | 58 +- src/nos/lib/internet_lib/get_reseq.rel | 8 +- src/nos/lib/internet_lib/hop.rel | 418 +- src/nos/lib/internet_lib/icmp.rel | 168 +- src/nos/lib/internet_lib/icmpcmd.rel | 42 +- src/nos/lib/internet_lib/ipcmd.rel | 400 +- src/nos/lib/internet_lib/ipsock.rel | 8 +- src/nos/lib/internet_lib/keychar.rel | 20 +- src/nos/lib/internet_lib/ping.rel | 270 +- src/nos/lib/internet_lib/put_rr.rel | 18 +- src/nos/lib/internet_lib/q_pkt.rel | 56 +- src/nos/lib/internet_lib/reset.rel | 80 +- src/nos/lib/internet_lib/rt_merge.rel | 14 +- src/nos/lib/internet_lib/sim.rel | 10 +- src/nos/lib/internet_lib/st_tcp.rel | 190 +- src/nos/lib/internet_lib/tcp_icmp.rel | 46 +- src/nos/lib/internet_lib/tcp_input.rel | 1406 +- src/nos/lib/internet_lib/tcpcmd.rel | 1244 - src/nos/lib/internet_lib/tcphdr.rel | 847 +- src/nos/lib/internet_lib/tcpout.rel | 200 +- src/nos/lib/internet_lib/tcprepstat.rel | 32 +- src/nos/lib/internet_lib/tcpsock.rel | 546 +- src/nos/lib/internet_lib/tcpsubr.rel | 8 +- src/nos/lib/internet_lib/tcpuser.rel | 72 +- src/nos/lib/internet_lib/tstat.rel | 90 +- src/nos/lib/internet_lib/udpcmd.rel | 74 +- src/nos/lib/internet_lib/udpsock.rel | 8 +- src/nos/lib/intl.lib | 2 + src/nos/lib/intl_lib/_stricmp.rel | 60 + src/nos/lib/intl_lib/_vdprintf.rel | 2 +- src/nos/lib/messages.lib | 6858 ++--- src/nos/lib/messages_lib/0000_ffff_.rel | 10 + .../lib/messages_lib/0001_508a__08_20_08.rel | 10 + .../0002_17d6__09_09_20MRU_09_20A.rel | 16 + .../0003_002f__09_09_256u_20Lcp_2.rel | 14 + .../0004_14b3__09_09_256u_20Lcp_2.rel | 16 + .../0005_7313__09_09pid_20_25d_2c.rel | 14 + .../0006_bdbf__09_2510ld_20Cmp_2c.rel | 18 + .../0007_d27a__09_2510ld_20Cmp_2c.rel | 18 + .../0008_c900__09_2510ld_20Search.rel | 14 + .../lib/messages_lib/0009_2913__09_25ld.rel | 10 + .../000a_1c3a__09_25p_09_25u_09_2.rel | 12 + .../lib/messages_lib/000b_b9ba__09_25s.rel | 10 + .../000c_21cf__09_25s_09_25s_09_2.rel | 14 + .../000d_1d7d__09_25s_09_25s_0a.rel | 10 + .../lib/messages_lib/000e_b532__09_25s_0a.rel | 10 + .../000f_26e5__09_25u_09_25s_0a.rel | 10 + .../0010_7e01__09_28open_20for_20.rel | 12 + .../messages_lib/0011_d62d__09_3c_25u_3e.rel | 10 + src/nos/lib/messages_lib/0012_9f29__09IN.rel | 10 + .../messages_lib/0013_53f6__09Local_3a_09.rel | 10 + .../0014_b8da__09Message_3a_20_27.rel | 12 + .../0015_a684__09Remote_3a_09.rel | 12 + .../0016_e0e0__09Urgent_20pointer.rel | 14 + .../0017_c0f0__09changes_3a_200x_.rel | 12 + .../0018_6a8d__09connection_200x_.rel | 12 + .../0019_a28a__09connection_20ID_.rel | 14 + .../001a_cf72__09delta_20ACK_20an.rel | 18 + .../001b_8077__09delta_20ACK_3a_2.rel | 12 + .../001c_4a2b__09delta_20ID_3a_20.rel | 12 + .../001d_7710__09delta_20SEQ_20im.rel | 16 + .../001e_a966__09delta_20SEQ_3a_2.rel | 12 + .../001f_f05a__09delta_20WINDOW_3.rel | 14 + .../0020_ad18__09increment_20ID_0.rel | 12 + .../0021_13bc__09local_20IP_20add.rel | 14 + .../0022_efeb__09pid_20_25d_2c_20.rel | 12 + src/nos/lib/messages_lib/0023_a0dd__0a.rel | 10 + .../0024_f279__0a_20_20_20_20.rel | 10 + .../0025_f170__0a_20_20_20_20_20_.rel | 10 + .../0026_da94__0a_25s_20_2d_20_25.rel | 12 + .../0027_e088__0a_25s_20_2d_20_25.rel | 12 + .../0028_c061__0a_2a_2a_2a_20Loca.rel | 18 + .../0029_932c__0a_2a_2a_2a_20Unab.rel | 20 + .../002a_2592__0a_2a_2a_2a_2a_2a_.rel | 14 + .../002b_0887__0aCurrent_20remote.rel | 14 + .../002c_ebd8__0aReclaimation_20a.rel | 14 + .../002d_c546__0aUsed_20address_2.rel | 14 + src/nos/lib/messages_lib/002e_2e85__20.rel | 10 - .../messages_lib/002e_e8fc__0apanic_3a_20.rel | 10 + src/nos/lib/messages_lib/002f_2e85__20.rel | 10 + .../002f_4403__20_0aend_0asize_20.rel | 12 - .../0030_4403__20_0aend_0asize_20.rel | 12 + src/nos/lib/messages_lib/0030_f289__20_20.rel | 10 - .../lib/messages_lib/0031_3839__20_20_20.rel | 10 - src/nos/lib/messages_lib/0031_f289__20_20.rel | 10 + .../lib/messages_lib/0032_3839__20_20_20.rel | 10 + .../messages_lib/0032_8d78__20_20_20_20.rel | 10 - .../messages_lib/0033_8d78__20_20_20_20.rel | 10 + .../0033_de40__20_20_20_20_20.rel | 10 - .../0034_3e02__20_20_20_20_20_20_.rel | 16 - .../0034_de40__20_20_20_20_20.rel | 10 + .../0035_0534__20_20_20_20_20_20_.rel | 14 - .../0035_3e02__20_20_20_20_20_20_.rel | 16 + .../0036_0534__20_20_20_20_20_20_.rel | 14 + .../0036_3fef__20_20_20_20_20_20_.rel | 16 - .../0037_3164__20_20_20_20_20_20_.rel | 16 - .../0037_3fef__20_20_20_20_20_20_.rel | 16 + .../0038_3164__20_20_20_20_20_20_.rel | 16 + .../0038_c6d7__20_20_20_20_20_20_.rel | 18 - .../0039_9d57__20_20_20_20_20_20_.rel | 18 - .../0039_c6d7__20_20_20_20_20_20_.rel | 18 + .../003a_9d57__20_20_20_20_20_20_.rel | 18 + .../003a_d46e__20_20_20_20_20_20_.rel | 20 - .../003b_d46e__20_20_20_20_20_20_.rel | 20 + .../003b_f37c__20_20_20_20_20_20_.rel | 24 - .../003c_5dd1__20_20_20_20_20_20_.rel | 18 - .../003c_f37c__20_20_20_20_20_20_.rel | 24 + .../003d_0406__20_20_20_20_20_20_.rel | 14 - .../003d_5dd1__20_20_20_20_20_20_.rel | 18 + .../003e_0406__20_20_20_20_20_20_.rel | 14 + .../003e_da67__20_20_20_20_20_20_.rel | 14 - .../003f_da67__20_20_20_20_20_20_.rel | 14 + .../003f_f638__20_20_20_20_20_20_.rel | 14 - .../0040_74c7__20_20_20_20_20_20_.rel | 14 - .../0040_f638__20_20_20_20_20_20_.rel | 14 + .../0041_74c7__20_20_20_20_20_20_.rel | 14 + .../0041_f10d__20_20_20_20_20_20_.rel | 14 - .../0042_d02b__20_20_20_20_20_20_.rel | 16 - .../0042_f10d__20_20_20_20_20_20_.rel | 14 + .../0043_0105__20_20_20_20_20_20_.rel | 16 - .../0043_d02b__20_20_20_20_20_20_.rel | 16 + .../0044_0105__20_20_20_20_20_20_.rel | 16 + .../0044_c46d__20_20_20_20_20_20_.rel | 12 - .../0045_3a28__20_20_20_20_20_20_.rel | 16 - .../0045_c46d__20_20_20_20_20_20_.rel | 12 + .../0046_3a28__20_20_20_20_20_20_.rel | 16 + .../0046_48df__20_20_20_20_20_20_.rel | 14 - .../0047_48df__20_20_20_20_20_20_.rel | 14 + .../0047_da1e__20_20_20_20_20_20s.rel | 22 - .../0048_3800__20_20_20_20_20_26A.rel | 18 - .../0048_da1e__20_20_20_20_20_20s.rel | 22 + .../0049_0e60__20_20_20_20_20_28_.rel | 14 - .../0049_3800__20_20_20_20_20_26A.rel | 18 + .../004a_0e60__20_20_20_20_20_28_.rel | 14 + .../004a_d7d4__20_20_20_20_20Broa.rel | 12 - .../004b_d7d4__20_20_20_20_20Broa.rel | 12 + .../004b_f5a8__20_20_20_20_20Defa.rel | 14 - .../004c_de7b__20_20_20_20_20Host.rel | 12 - .../004c_f5a8__20_20_20_20_20Defa.rel | 14 + .../004d_a271__20_20_20_20_20INF.rel | 10 - .../004d_de7b__20_20_20_20_20Host.rel | 12 + .../004e_1775__20_20_20_20_20IP_2.rel | 14 - .../004e_a271__20_20_20_20_20INF.rel | 10 + .../004f_1775__20_20_20_20_20IP_2.rel | 14 + .../004f_7765__20_20_20_20_20Name.rel | 14 - .../0050_6879__20_20_20_20_20Subn.rel | 14 - .../0050_7765__20_20_20_20_20Name.rel | 14 + .../0051_6879__20_20_20_20_20Subn.rel | 14 + .../0051_dac6__20_20_20_20_25_2d4.rel | 12 - .../0052_b576__20_20_20_20_2512s.rel | 10 - .../0052_dac6__20_20_20_20_25_2d4.rel | 12 + .../0053_b576__20_20_20_20_2512s.rel | 10 + .../0053_e5e6__20_20_20_20_253u_0.rel | 10 - .../0054_e5e6__20_20_20_20_253u_0.rel | 10 + .../0054_ed50__20_20_20_20_25s_20.rel | 14 - .../0055_3528__20_20_20_20_25s_20.rel | 14 - .../0055_ed50__20_20_20_20_25s_20.rel | 14 + .../0056_3528__20_20_20_20_25s_20.rel | 14 + .../0056_cbdf__20_20_20_20_25s_20.rel | 14 - .../0057_cbdf__20_20_20_20_25s_20.rel | 14 + .../0057_f7f3__20_20_20_20_26UCB_.rel | 14 - .../0058_9bd9__20_20_20_20In_09TC.rel | 22 - .../0058_f7f3__20_20_20_20_26UCB_.rel | 14 + .../0059_7788__20_20_20_20Out_09T.rel | 22 - .../0059_9bd9__20_20_20_20In_09TC.rel | 22 + .../005a_7788__20_20_20_20Out_09T.rel | 22 + .../005a_8f4d__20_20_20_20Record_.rel | 12 - .../005b_8f4d__20_20_20_20Record_.rel | 12 + .../005b_eacd__20_20_20_20Upload_.rel | 12 - .../005c_2da2__20_20_20_25s_0a.rel | 10 - .../005c_9578__20_20_20_20Set_20n.rel | 16 + .../messages_lib/005d_ad66__20_20_20PUSH.rel | 10 - .../005d_eacd__20_20_20_20Upload_.rel | 12 + .../005e_94e3__20_20_20_20checkin.rel | 14 + .../005e_9f3a__20_20_20TCP_20chec.rel | 14 - .../005f_14a8__20_20_20_20checkin.rel | 16 + .../005f_5946__20_20_20connection.rel | 14 - .../0060_9d66__20_20_20_20checkin.rel | 16 + .../0060_f01f__20_20_3d_3d_3d_3d_.rel | 14 - .../0061_49a9__20_20_20_20checkin.rel | 16 + .../0061_cfff__20_20_3d_3d_3d_3d_.rel | 16 - .../0062_19af__20_20_20_20checkin.rel | 16 + .../0062_8181__20_20SR_20_5bnumbe.rel | 12 - .../0063_1149__20_20S_5bF_5d_20na.rel | 18 - .../0063_edc5__20_20_20_20checkin.rel | 16 + .../0064_47af__20_20remote_20IP_2.rel | 14 - .../0064_4df8__20_20_20_20checkin.rel | 14 + .../0065_0ca6__20_20_20_20checkin.rel | 16 + .../0065_ccb1__20_20seq_20x_25lx_.rel | 14 - .../0066_a6cb__20_20_20_20checkin.rel | 16 + .../lib/messages_lib/0066_c997__20_21_3f.rel | 10 - .../lib/messages_lib/0067_536e__20_21A.rel | 10 - .../0067_c499__20_20_20_20checkin.rel | 14 + .../0068_232a__20_20_20_20checkin.rel | 14 + .../lib/messages_lib/0068_27d1__20_21F.rel | 10 - .../0069_4125__20_20_20_20making_.rel | 14 + .../lib/messages_lib/0069_ceaf__20_21H.rel | 10 - .../006a_5c3a__20_20_20_20making_.rel | 16 + .../lib/messages_lib/006a_ab99__20_21N.rel | 10 - .../006b_2ab5__20_20_20_20making_.rel | 16 + .../lib/messages_lib/006b_5266__20_21P.rel | 10 - .../lib/messages_lib/006c_60fd__20_21S.rel | 10 - .../006c_fe7a__20_20_20_20making_.rel | 16 + .../006d_bac3__20_23_20_20S_23_20.rel | 20 - .../006d_c25d__20_20_20_20making_.rel | 16 + .../006e_5a16__20_20_20_20making_.rel | 16 + .../messages_lib/006e_9a7d__20_25_2d15s.rel | 10 - .../006f_6c96__20_20_20_20making_.rel | 12 + .../messages_lib/006f_85f4__20_25_2d3d_20.rel | 10 - .../0070_a413__20_2502u_2f_2502u.rel | 12 - .../0070_bb75__20_20_20_20making_.rel | 16 + .../0071_d8f4__20_2502u_2f_2502u_.rel | 12 - .../0071_ee59__20_20_20_20making_.rel | 16 + .../lib/messages_lib/0072_4d6e__20_2502x.rel | 10 - .../0072_fa1f__20_20_20_20making_.rel | 16 + .../0073_6383__20_20_20_20making_.rel | 14 + .../0073_cad1__20_2510lu_2510lu_2.rel | 14 - .../0074_43b6__20_254d_20_254d.rel | 10 - .../0074_6fd3__20_20_20_20with_20.rel | 16 + .../0075_2da2__20_20_20_25s_0a.rel | 10 + .../0075_78a4__20_258s_20_20_20_2.rel | 14 - .../0076_6904__20_25lu_20bps_0a.rel | 12 - .../messages_lib/0076_ad66__20_20_20PUSH.rel | 10 + .../lib/messages_lib/0077_269f__20_25s.rel | 10 - .../0077_9f3a__20_20_20TCP_20chec.rel | 14 + .../0078_5946__20_20_20connection.rel | 14 + .../lib/messages_lib/0078_c302__20_25s_0a.rel | 10 - .../0079_10eb__20_25s_20_25s_20_2.rel | 12 - .../0079_f01f__20_20_3d_3d_3d_3d_.rel | 14 + .../messages_lib/007a_c236__20_25s_25s.rel | 10 - .../007a_cfff__20_20_3d_3d_3d_3d_.rel | 16 + .../messages_lib/007b_3c84__20_25s_2b_25x.rel | 10 - .../007b_8181__20_20SR_20_5bnumbe.rel | 12 + .../007c_1149__20_20S_5bF_5d_20na.rel | 18 + .../lib/messages_lib/007c_97d2__20_25u_0a.rel | 10 - .../007d_47af__20_20remote_20IP_2.rel | 14 + .../007d_5984__20_25u_2d_3e_25u.rel | 10 - .../007e_98a5__20_28_25ld_20ms_29.rel | 12 - .../007e_ccb1__20_20seq_20x_25lx_.rel | 14 + .../007f_9556__20_28_25s_20seek_3.rel | 12 - .../lib/messages_lib/007f_c997__20_21_3f.rel | 10 + .../lib/messages_lib/0080_536e__20_21A.rel | 10 + .../0080_6268__20_28_25s_29_0a.rel | 10 - .../lib/messages_lib/0081_27d1__20_21F.rel | 10 + .../0081_3f71__20_28ASCII_20dump_.rel | 12 - .../0082_05b3__20_28Hex_2fASCII_2.rel | 12 - .../lib/messages_lib/0082_ceaf__20_21H.rel | 10 + .../lib/messages_lib/0083_0cd7__20_28S_29.rel | 10 - .../lib/messages_lib/0083_ab99__20_21N.rel | 10 + .../lib/messages_lib/0084_5266__20_21P.rel | 10 + .../0084_ef5f__20_28headers_20onl.rel | 12 - .../lib/messages_lib/0085_60fd__20_21S.rel | 10 + .../0085_c04d__20_28published_29.rel | 12 - .../messages_lib/0086_ac28__20_2a_2a_2a.rel | 10 - .../0086_bac3__20_23_20_20S_23_20.rel | 20 + .../lib/messages_lib/0087_8841__20_2d_20.rel | 10 - .../messages_lib/0087_9a7d__20_25_2d15s.rel | 10 + .../messages_lib/0088_85f4__20_25_2d3d_20.rel | 10 + .../0088_ace7__20_2d_20no_20broad.rel | 12 - .../lib/messages_lib/0089_01a0__20APND.rel | 10 - .../0089_a413__20_2502u_2f_2502u.rel | 12 + .../008a_2da0__20Ack_20x_25lx.rel | 12 - .../008a_d8f4__20_2502u_2f_2502u_.rel | 12 + .../lib/messages_lib/008b_4d6e__20_2502x.rel | 10 + .../lib/messages_lib/008b_f35d__20BUSY.rel | 10 - src/nos/lib/messages_lib/008c_43af__20CE.rel | 10 - .../008c_cad1__20_2510lu_2510lu_2.rel | 14 + .../008d_43b6__20_254d_20_254d.rel | 10 + .../008d_d667__20CHECKSUM_20ERROR.rel | 14 - .../lib/messages_lib/008e_5947__20CHOKE.rel | 10 - .../008e_78a4__20_258s_20_20_20_2.rel | 14 + src/nos/lib/messages_lib/008f_3c3c__20DF.rel | 10 - .../008f_6904__20_25lu_20bps_0a.rel | 12 + .../lib/messages_lib/0090_269f__20_25s.rel | 10 + .../messages_lib/0090_26b0__20Data_20_25u.rel | 10 - src/nos/lib/messages_lib/0091_5125__20EOF.rel | 10 - .../lib/messages_lib/0091_c302__20_25s_0a.rel | 10 + .../0092_10eb__20_25s_20_25s_20_2.rel | 12 + src/nos/lib/messages_lib/0092_2269__20ERR.rel | 10 - .../0093_869e__20IPaddr_20_25s.rel | 12 - .../messages_lib/0093_c236__20_25s_25s.rel | 10 + .../messages_lib/0094_3c84__20_25s_2b_25x.rel | 10 + .../0094_d267__20Illegal_20I_2dfi.rel | 12 - .../lib/messages_lib/0095_97d2__20_25u_0a.rel | 10 + .../0095_d316__20Invalid_20contro.rel | 14 - .../0096_1e4f__20Invalid_20seq_20.rel | 12 - .../0096_5984__20_25u_2d_3e_25u.rel | 10 + .../0097_98a5__20_28_25ld_20ms_29.rel | 12 + .../0097_fd02__20MC_3a_20int_20_2.rel | 20 - .../0098_9556__20_28_25s_20seek_3.rel | 12 + src/nos/lib/messages_lib/0098_eb24__20MF.rel | 10 - .../0099_6268__20_28_25s_29_0a.rel | 10 + .../lib/messages_lib/0099_747e__20MORE.rel | 10 - .../009a_3f71__20_28ASCII_20dump_.rel | 12 + .../messages_lib/009a_c5ed__20MSS_20_25u.rel | 10 - .../009b_05b3__20_28Hex_2fASCII_2.rel | 12 + src/nos/lib/messages_lib/009b_3976__20NAK.rel | 10 - .../lib/messages_lib/009c_0cd7__20_28S_29.rel | 10 + .../messages_lib/009c_c092__20NR_3d_25d.rel | 10 - .../messages_lib/009d_dc29__20NS_3d_25d.rel | 10 - .../009d_ef5f__20_28headers_20onl.rel | 12 + .../009e_c04d__20_28published_29.rel | 12 + .../009e_df24__20RX_3a_20int_20_2.rel | 18 - .../009f_78a4__20Raw_20output.rel | 12 - .../messages_lib/009f_ac28__20_2a_2a_2a.rel | 10 + .../lib/messages_lib/00a0_8841__20_2d_20.rel | 10 + .../00a0_a393__20Remote_3a_20_25s.rel | 12 - .../00a1_ace7__20_2d_20no_20broad.rel | 12 + .../lib/messages_lib/00a1_d7c2__20Retry.rel | 10 - .../lib/messages_lib/00a2_01a0__20APND.rel | 10 + .../00a2_42ba__20ST_3a_20int_20_2.rel | 20 - .../00a3_2da0__20Ack_20x_25lx.rel | 12 + .../00a3_d322__20State_3a_20_25s_.rel | 12 - src/nos/lib/messages_lib/00a4_c86b__20TMP.rel | 10 - .../lib/messages_lib/00a4_f35d__20BUSY.rel | 10 + .../00a5_2dcc__20TSTAMP_20_25lu_2.rel | 14 - src/nos/lib/messages_lib/00a5_43af__20CE.rel | 10 + .../00a6_d667__20CHECKSUM_20ERROR.rel | 14 + .../00a6_e8c1__20TX_3a_20int_20_2.rel | 16 - .../lib/messages_lib/00a7_5947__20CHOKE.rel | 10 + .../00a7_d70d__20Too_2dlong_20I_2.rel | 12 - src/nos/lib/messages_lib/00a8_3c3c__20DF.rel | 10 + .../messages_lib/00a8_5a85__20UP_20x_25x.rel | 10 - .../00a9_2210__20Unack_3a_20_25_2.rel | 18 - .../messages_lib/00a9_26b0__20Data_20_25u.rel | 10 + .../00aa_3a68__20Unknown_20passwo.rel | 12 - src/nos/lib/messages_lib/00aa_5125__20EOF.rel | 10 + src/nos/lib/messages_lib/00ab_2269__20ERR.rel | 10 + .../00ab_23f3__20Vr_20_3d_20_25d_.rel | 12 - .../00ac_869e__20IPaddr_20_25s.rel | 12 + .../00ac_a984__20WSCALE_20_25u.rel | 12 - .../messages_lib/00ad_1d25__20Wnd_20_25u.rel | 10 - .../00ad_d267__20Illegal_20I_2dfi.rel | 12 + .../00ae_d316__20Invalid_20contro.rel | 14 + .../00ae_e77d__20_5b_25s_5d_20_25.rel | 12 - .../00af_1e4f__20Invalid_20seq_20.rel | 12 + .../00af_7762__20_5bcts_20flow_20.rel | 12 - .../00b0_2f4d__20_5brlsd_20line_2.rel | 14 - .../00b0_fd02__20MC_3a_20int_20_2.rel | 20 + .../00b1_db59__20_5btrigger_200x_.rel | 12 - src/nos/lib/messages_lib/00b1_eb24__20MF.rel | 10 + .../lib/messages_lib/00b2_747e__20MORE.rel | 10 + .../lib/messages_lib/00b2_bc24__20asy_20.rel | 10 - .../messages_lib/00b3_c5ed__20MSS_20_25u.rel | 10 + .../00b3_c96a__20bad_20header_21_.rel | 12 - .../00b4_0acc__20bad_20packet_0a.rel | 12 - src/nos/lib/messages_lib/00b4_3976__20NAK.rel | 10 + .../messages_lib/00b5_c092__20NR_3d_25d.rel | 10 + .../messages_lib/00b5_d795__20cmd_20_25u.rel | 10 - .../messages_lib/00b6_1813__20code_20_25s.rel | 10 - .../messages_lib/00b6_dc29__20NS_3d_25d.rel | 10 + .../messages_lib/00b7_ad83__20dest_20_25s.rel | 10 - .../00b7_df24__20RX_3a_20int_20_2.rel | 18 + .../00b8_78a4__20Raw_20output.rel | 12 + .../00b8_e3a3__20dest_20_25s_20_2.rel | 12 - .../lib/messages_lib/00b9_4976__20diag.rel | 10 - .../00b9_a393__20Remote_3a_20_25s.rel | 12 + .../lib/messages_lib/00ba_d7c2__20Retry.rel | 10 + .../lib/messages_lib/00ba_e36a__20file.rel | 10 - .../00bb_42ba__20ST_3a_20int_20_2.rel | 20 + .../lib/messages_lib/00bb_5e9d__20full.rel | 10 - .../00bc_4c62__20hwaddr_20_25s_0a.rel | 12 - .../00bc_d322__20State_3a_20_25s_.rel | 12 + src/nos/lib/messages_lib/00bd_c86b__20TMP.rel | 10 + .../00bd_ed56__20hwlen_20_25u.rel | 12 - .../00be_2971__20hwtype_20_25s.rel | 12 - .../00be_2dcc__20TSTAMP_20_25lu_2.rel | 14 + .../00bf_3119__20id_20_25u_20offs.rel | 12 - .../00bf_e8c1__20TX_3a_20int_20_2.rel | 16 + .../00c0_8f2f__20id_20_25u_20pctl.rel | 16 - .../00c0_d70d__20Too_2dlong_20I_2.rel | 12 + .../00c1_20f7__20id_20_25u_20seq_.rel | 12 - .../messages_lib/00c1_5a85__20UP_20x_25x.rel | 10 + .../00c2_2210__20Unack_3a_20_25_2.rel | 18 + .../00c2_8c07__20idle_20timer_20_.rel | 14 - .../00c3_3a68__20Unknown_20passwo.rel | 12 + .../lib/messages_lib/00c3_7166__20input.rel | 10 - .../00c4_23f3__20Vr_20_3d_20_25d_.rel | 12 + .../messages_lib/00c4_6c92__20len_20_25u.rel | 10 - .../lib/messages_lib/00c5_0c74__20line.rel | 10 - .../00c5_a984__20WSCALE_20_25u.rel | 12 + .../messages_lib/00c6_1d25__20Wnd_20_25u.rel | 10 + .../00c6_2537__20new_20gateway_20.rel | 12 - .../00c7_e77d__20_5b_25s_5d_20_25.rel | 12 + .../00c7_ea43__20new_20gateway_20.rel | 12 - .../00c8_7762__20_5bcts_20flow_20.rel | 12 + .../lib/messages_lib/00c8_e3db__20none.rel | 10 - .../00c9_2f4d__20_5brlsd_20line_2.rel | 14 + .../00c9_826b__20offset_20_25u_20.rel | 12 - .../messages_lib/00ca_6680__20op_20_25u.rel | 10 - .../00ca_db59__20_5btrigger_200x_.rel | 12 + .../lib/messages_lib/00cb_bc24__20asy_20.rel | 10 + .../messages_lib/00cb_f7d5__20op_20REPLY.rel | 12 - .../00cc_5e3d__20op_20REQUEST.rel | 12 - .../00cc_c96a__20bad_20header_21_.rel | 12 + .../00cd_0acc__20bad_20packet_0a.rel | 12 + .../00cd_9500__20op_20REVERSE_20R.rel | 12 - .../00ce_3faa__20op_20REVERSE_20R.rel | 12 - .../messages_lib/00ce_d795__20cmd_20_25u.rel | 10 + .../messages_lib/00cf_1813__20code_20_25s.rel | 10 + .../lib/messages_lib/00cf_8a3d__20output.rel | 10 - .../00d0_5896__20pid_3d0x_25x_0a.rel | 12 - .../messages_lib/00d0_ad83__20dest_20_25s.rel | 10 + .../00d1_aba6__20pid_3dARP_0a.rel | 12 - .../00d1_e3a3__20dest_20_25s_20_2.rel | 12 + .../lib/messages_lib/00d2_4976__20diag.rel | 10 + .../messages_lib/00d2_d4e9__20pid_3dIP_0a.rel | 10 - .../00d3_a349__20pid_3dNET_2fROM_.rel | 12 - .../lib/messages_lib/00d3_e36a__20file.rel | 10 + .../lib/messages_lib/00d4_5e9d__20full.rel | 10 + .../00d4_932f__20pid_3dTEXNET_0a.rel | 12 - .../00d5_4927__20pid_3dText_0a.rel | 12 - .../00d5_4c62__20hwaddr_20_25s_0a.rel | 12 + .../00d6_c207__20pid_3dX_2e25_0a.rel | 12 - .../00d6_ed56__20hwlen_20_25u.rel | 12 + .../00d7_2971__20hwtype_20_25s.rel | 12 + .../lib/messages_lib/00d7_5760__20pipe.rel | 10 - .../00d8_3119__20id_20_25u_20offs.rel | 12 + .../00d8_ac0a__20pointer_20_25u.rel | 12 - .../00d9_5557__20prot_20_25s_0a.rel | 12 - .../00d9_8f2f__20id_20_25u_20pctl.rel | 16 + .../00da_0187__20prot_20_25u_0a.rel | 12 - .../00da_20f7__20id_20_25u_20seq_.rel | 12 + .../00db_75a2__20prot_200x_25x_20.rel | 12 - .../00db_8c07__20idle_20timer_20_.rel | 14 + .../messages_lib/00dc_3541__20prot_20IP.rel | 10 - .../lib/messages_lib/00dc_7166__20input.rel | 10 + .../00dd_1888__20receive_20_20_2d.rel | 22 - .../messages_lib/00dd_6c92__20len_20_25u.rel | 10 + .../lib/messages_lib/00de_0c74__20line.rel | 10 + .../lib/messages_lib/00de_f2f3__20sock.rel | 10 - .../00df_2537__20new_20gateway_20.rel | 12 + .../messages_lib/00df_c067__20spi_20_25lx.rel | 10 - .../00e0_2902__20sw_20over_20_25l.rel | 14 - .../00e0_ea43__20new_20gateway_20.rel | 12 + .../messages_lib/00e1_0bfc__20tos_20_25u.rel | 10 - .../lib/messages_lib/00e1_e3db__20none.rel | 10 + .../00e2_826b__20offset_20_25u_20.rel | 12 + .../00e2_e1c5__20trace_20file_3a_.rel | 12 - .../messages_lib/00e3_6680__20op_20_25u.rel | 10 + .../00e3_ca97__20tracing_20off_0a.rel | 12 - .../00e4_be19__20transmit_20_2d_2.rel | 22 - .../messages_lib/00e4_f7d5__20op_20REPLY.rel | 12 + .../00e5_5e3d__20op_20REQUEST.rel | 12 + .../00e5_afd2__20ttl_20_25d_0a.rel | 10 - .../00e6_6f53__20txseq_20_25d_20r.rel | 12 - .../00e6_9500__20op_20REVERSE_20R.rel | 12 + .../00e7_3faa__20op_20REVERSE_20R.rel | 12 + .../00e7_c8f3__20type_200x_25x_0a.rel | 12 - .../00e8_6772__20type_20ARP_0a.rel | 12 - .../lib/messages_lib/00e8_8a3d__20output.rel | 10 + .../00e9_5896__20pid_3d0x_25x_0a.rel | 12 + .../00e9_5c83__20type_20IP_0a.rel | 12 - .../00ea_aba6__20pid_3dARP_0a.rel | 12 + .../00ea_f937__20type_20REVARP_0a.rel | 12 - src/nos/lib/messages_lib/00eb_c53a__20v.rel | 10 - .../messages_lib/00eb_d4e9__20pid_3dIP_0a.rel | 10 + .../00ec_9158__20vers_20_25u_20en.rel | 14 - .../00ec_a349__20pid_3dNET_2fROM_.rel | 12 + .../00ed_932f__20pid_3dTEXNET_0a.rel | 12 + .../messages_lib/00ed_994d__20wnd_20_25d.rel | 10 - .../lib/messages_lib/00ee_426e__20_7c_20.rel | 10 - .../00ee_4927__20pid_3dText_0a.rel | 12 + src/nos/lib/messages_lib/00ef_3f0c__21.rel | 10 - .../00ef_c207__20pid_3dX_2e25_0a.rel | 12 + .../lib/messages_lib/00f0_5760__20pipe.rel | 10 + .../00f0_f9eb__21_21_20_25s_20_25.rel | 12 - .../00f1_ac0a__20pointer_20_25u.rel | 12 + .../00f1_ef2d__21_21_20maximum_20.rel | 14 - .../00f2_5557__20prot_20_25s_0a.rel | 12 + .../00f2_55d7__22_25s_22_20_2d_20.rel | 16 - .../00f3_0187__20prot_20_25u_0a.rel | 12 + .../00f3_60ae__23_20queries_20eac.rel | 14 - .../00f4_1acc__23_20secs_20to_20w.rel | 16 - .../00f4_75a2__20prot_200x_25x_20.rel | 12 + .../messages_lib/00f5_3541__20prot_20IP.rel | 10 + .../00f5_fb95__25_2d10_2e10s_20_2.rel | 12 - .../00f6_1888__20receive_20_20_2d.rel | 22 + .../00f6_3035__25_2d10s_20IP_20ad.rel | 16 - .../00f7_01be__25_2d10s_25_2d17s.rel | 12 - .../lib/messages_lib/00f7_f2f3__20sock.rel | 10 + .../00f8_4da0__25_2d10s_25_2d17s_.rel | 12 - .../messages_lib/00f8_c067__20spi_20_25lx.rel | 10 + .../00f9_2902__20sw_20over_20_25l.rel | 14 + .../00f9_ff4a__25_2d10s_25_2d6s.rel | 12 - .../messages_lib/00fa_0bfc__20tos_20_25u.rel | 10 + .../00fa_e1c2__25_2d11s_25_2d9s_2.rel | 12 - .../lib/messages_lib/00fb_7335__25_2d13s.rel | 10 - .../00fb_e1c5__20trace_20file_3a_.rel | 12 + .../lib/messages_lib/00fc_27e5__25_2d15s.rel | 10 - .../00fc_ca97__20tracing_20off_0a.rel | 12 + .../lib/messages_lib/00fd_0d8d__25_2d16s.rel | 10 - .../00fd_be19__20transmit_20_2d_2.rel | 22 + .../00fe_afd2__20ttl_20_25d_0a.rel | 10 + .../00fe_e560__25_2d16s_20_20.rel | 10 - .../00ff_6f53__20txseq_20_25d_20r.rel | 12 + .../00ff_f903__25_2d16s_25_2d3u_2.rel | 12 - .../0100_2609__25_2d16s_25_2d9lu_.rel | 12 - .../0100_c8f3__20type_200x_25x_0a.rel | 12 + .../lib/messages_lib/0101_1455__25_2d17s.rel | 10 - .../0101_6772__20type_20ARP_0a.rel | 12 + .../0102_5c83__20type_20IP_0a.rel | 12 + .../0102_e920__25_2d20s_258lu_258.rel | 14 - .../lib/messages_lib/0103_8589__25_2d22s.rel | 10 - .../0103_f937__20type_20REVARP_0a.rel | 12 + .../messages_lib/0104_b616__25_2d22s_0a.rel | 10 - src/nos/lib/messages_lib/0104_c53a__20v.rel | 10 + .../0105_9158__20vers_20_25u_20en.rel | 14 + .../lib/messages_lib/0105_9c51__25_2d23s.rel | 10 - .../messages_lib/0106_994d__20wnd_20_25d.rel | 10 + .../lib/messages_lib/0106_bf59__25_2d2u.rel | 10 - .../lib/messages_lib/0107_426e__20_7c_20.rel | 10 + .../0107_6601__25_2d32s_20_28_25l.rel | 14 - src/nos/lib/messages_lib/0108_3f0c__21.rel | 10 + .../lib/messages_lib/0108_a681__25_2d3u.rel | 10 - .../lib/messages_lib/0109_ea81__25_2d4d.rel | 10 - .../0109_f9eb__21_21_20_25s_20_25.rel | 12 + .../010a_6f94__25_2d4d_255d_20_25.rel | 12 - .../010a_ef2d__21_21_20maximum_20.rel | 14 + .../010b_55d7__22_25s_22_20_2d_20.rel | 16 + .../lib/messages_lib/010b_eb89__25_2d4u.rel | 10 - .../lib/messages_lib/010c_2455__25_2d5ld.rel | 10 - .../010c_60ae__23_20queries_20eac.rel | 14 + .../010d_1acc__23_20secs_20to_20w.rel | 16 + .../lib/messages_lib/010d_90e5__25_2d7lu.rel | 10 - .../010e_8982__25_2d7s_20_25_2d8s.rel | 12 - .../010e_fb95__25_2d10_2e10s_20_2.rel | 12 + .../010f_3035__25_2d10s_20IP_20ad.rel | 16 + .../lib/messages_lib/010f_da22__25_2d8lu.rel | 10 - .../0110_01be__25_2d10s_25_2d17s.rel | 12 + .../lib/messages_lib/0110_d1e2__25_2ds.rel | 10 - src/nos/lib/messages_lib/0111_1e56__2502x.rel | 10 - .../0111_4da0__25_2d10s_25_2d17s_.rel | 12 + .../messages_lib/0112_3773__2504x_20_20.rel | 10 - .../0112_ff4a__25_2d10s_25_2d6s.rel | 12 + .../0113_6df9__2504x_20_20_2504x_.rel | 20 - .../0113_e1c2__25_2d11s_25_2d9s_2.rel | 12 + .../lib/messages_lib/0114_7335__25_2d13s.rel | 10 + .../0114_aa0a__2504x_3a_2504x.rel | 12 - .../lib/messages_lib/0115_27e5__25_2d15s.rel | 10 + .../0115_83ad__2510lu_20In_2c_20_.rel | 20 - .../lib/messages_lib/0116_0d8d__25_2d16s.rel | 10 + .../0116_cbd3__2510lu_20Out_2c_20.rel | 16 - .../0117_2875__2510lu_2510lu_255l.rel | 16 - .../0117_e560__25_2d16s_20_20.rel | 10 + .../0118_a689__251s_20_253d_20_20.rel | 14 - .../0118_f903__25_2d16s_25_2d3u_2.rel | 12 + .../0119_2609__25_2d16s_25_2d9lu_.rel | 12 + .../0119_e9b8__252d_20_25_2d6s_20.rel | 20 - .../lib/messages_lib/011a_1455__25_2d17s.rel | 10 + .../011a_b620__252d_20_25_2d6s_20.rel | 18 - .../lib/messages_lib/011b_1703__253d_3a.rel | 10 - .../011b_e920__25_2d20s_258lu_258.rel | 14 + .../lib/messages_lib/011c_8589__25_2d22s.rel | 10 + .../011c_b932__254d_20_25_2d8s_25.rel | 14 - src/nos/lib/messages_lib/011d_936b__254s.rel | 10 - .../messages_lib/011d_b616__25_2d22s_0a.rel | 10 + src/nos/lib/messages_lib/011e_4a96__258lu.rel | 10 - .../lib/messages_lib/011e_9c51__25_2d23s.rel | 10 + .../lib/messages_lib/011f_5eaf__258lu_0a.rel | 10 - .../lib/messages_lib/011f_bf59__25_2d2u.rel | 10 + src/nos/lib/messages_lib/0120_3acb__258s.rel | 10 - .../0120_6601__25_2d32s_20_28_25l.rel | 14 + .../0121_3341__258u_2510u_2511lu_.rel | 14 - .../lib/messages_lib/0121_a681__25_2d3u.rel | 10 + .../lib/messages_lib/0122_ea81__25_2d4d.rel | 10 + .../0122_fd73__259p_20_20_20_253d.rel | 16 - .../0123_6f94__25_2d4d_255d_20_25.rel | 12 + .../0123_b8a6__259p_20_25_2d8d_25.rel | 14 - .../0124_1719__259p_20_25_2d9s_25.rel | 12 - .../lib/messages_lib/0124_eb89__25_2d4u.rel | 10 + .../0125_1260__259p_256u_20_20_25.rel | 12 - .../lib/messages_lib/0125_2455__25_2d5ld.rel | 10 + .../0126_482b__259p_256u_256u_20_.rel | 12 - .../lib/messages_lib/0126_90e5__25_2d7lu.rel | 10 + .../0127_8982__25_2d7s_20_25_2d8s.rel | 12 + src/nos/lib/messages_lib/0127_fcae__25c.rel | 10 - .../lib/messages_lib/0128_6d8a__25c_20.rel | 10 - .../lib/messages_lib/0128_da22__25_2d8lu.rel | 10 + .../0129_3d14__25c_20_257s_20_257.rel | 18 - .../lib/messages_lib/0129_d1e2__25_2ds.rel | 10 + src/nos/lib/messages_lib/012a_1e56__2502x.rel | 10 + .../messages_lib/012a_22d3__25c_25c_25c.rel | 10 - .../messages_lib/012b_3773__2504x_20_20.rel | 10 + .../012b_4b6e__25c_25c_25c_0a.rel | 10 - .../012c_2970__25c_25c_25c_253d_2.rel | 16 - .../012c_6df9__2504x_20_20_2504x_.rel | 20 + .../messages_lib/012d_8514__25c_25s_0a.rel | 10 - .../012d_aa0a__2504x_3a_2504x.rel | 12 + .../lib/messages_lib/012e_086d__25c_5b2J.rel | 10 - .../012e_83ad__2510lu_20In_2c_20_.rel | 20 + src/nos/lib/messages_lib/012f_8811__25d.rel | 10 - .../012f_cbd3__2510lu_20Out_2c_20.rel | 16 + .../0130_2875__2510lu_2510lu_255l.rel | 16 + .../lib/messages_lib/0130_aeda__25d_0a.rel | 10 - .../0131_a689__251s_20_253d_20_20.rel | 14 + .../0131_cd50__25d_20message_25s_.rel | 14 - .../0132_e9b8__252d_20_25_2d6s_20.rel | 20 + src/nos/lib/messages_lib/0132_ea62__25ld.rel | 10 - .../0133_374a__252d_20_25_2d6s_20.rel | 16 + src/nos/lib/messages_lib/0133_eb6a__25lu.rel | 10 - .../lib/messages_lib/0134_63ed__25lu_0a.rel | 10 - .../0134_b620__252d_20_25_2d6s_20.rel | 18 + .../lib/messages_lib/0135_1703__253d_3a.rel | 10 + .../0135_f325__25lu_2f_25lu_0a.rel | 10 - .../lib/messages_lib/0136_981e__254d_09.rel | 10 + .../lib/messages_lib/0136_d273__25p_20.rel | 10 - .../messages_lib/0137_1c93__25p_20_256lu.rel | 10 - .../0137_b932__254d_20_25_2d8s_25.rel | 14 + src/nos/lib/messages_lib/0138_936b__254s.rel | 10 + src/nos/lib/messages_lib/0138_ec2f__25s.rel | 10 - src/nos/lib/messages_lib/0139_4a96__258lu.rel | 10 + .../lib/messages_lib/0139_7643__25s_0a.rel | 10 - .../messages_lib/013a_0276__25s_0a_25s_0a.rel | 10 - .../lib/messages_lib/013a_5eaf__258lu_0a.rel | 10 + src/nos/lib/messages_lib/013b_3acb__258s.rel | 10 + .../lib/messages_lib/013b_f81b__25s_20.rel | 10 - .../013c_3341__258u_2510u_2511lu_.rel | 14 + .../013c_8b7d__25s_20_2502d_2502d.rel | 14 - .../messages_lib/013d_7be3__25s_20_25p_0a.rel | 10 - .../013d_fd73__259p_20_20_20_253d.rel | 16 + .../messages_lib/013e_518b__25s_20_25s_0a.rel | 10 - .../013e_b8a6__259p_20_25_2d8d_25.rel | 14 + .../013f_1719__259p_20_25_2d9s_25.rel | 12 + .../013f_ca49__25s_20_25s_3a_20_2.rel | 16 - .../0140_1260__259p_256u_20_20_25.rel | 12 + .../0140_43c6__25s_20_25s_3a_20Er.rel | 16 - .../0141_482b__259p_256u_256u_20_.rel | 12 + .../messages_lib/0141_b8b7__25s_20_2d_20.rel | 10 - .../0142_1170__25s_20_2d_20Differ.rel | 12 - src/nos/lib/messages_lib/0142_fcae__25c.rel | 10 + .../lib/messages_lib/0143_6d8a__25c_20.rel | 10 + .../0143_d4cc__25s_20_2d_20Remote.rel | 12 - .../0144_3d14__25c_20_257s_20_257.rel | 18 + .../0144_4968__25s_20_2d_20Same_0.rel | 12 - .../messages_lib/0145_22d3__25c_25c_25c.rel | 10 + .../0145_ace2__25s_20dialer_3a_20.rel | 12 - .../0146_4b6e__25c_25c_25c_0a.rel | 10 + .../0146_933b__25s_20errno_20_25d.rel | 12 - .../0147_2970__25c_25c_25c_253d_2.rel | 16 + .../0147_f768__25s_20file_25s_2e_.rel | 18 - .../messages_lib/0148_8514__25c_25s_0a.rel | 10 + .../0148_c691__25s_20is_20unreach.rel | 12 - .../lib/messages_lib/0149_086d__25c_5b2J.rel | 10 + .../0149_a4a4__25s_20logged_20in.rel | 12 - src/nos/lib/messages_lib/014a_8811__25d.rel | 10 + .../014a_a64e__25s_20logged_20in_.rel | 12 - .../lib/messages_lib/014b_aeda__25d_0a.rel | 10 + .../014b_b314__25s_20refs_20to_20.rel | 14 - .../014c_bd91__25s_20remain_20_25.rel | 12 - .../014c_cd50__25d_20message_25s_.rel | 14 + .../messages_lib/014d_bf9e__25s_20thru_20.rel | 10 - src/nos/lib/messages_lib/014d_ea62__25ld.rel | 10 + .../014e_243b__25s_20type_20_25s_.rel | 14 - src/nos/lib/messages_lib/014e_eb6a__25lu.rel | 10 + .../lib/messages_lib/014f_63ed__25lu_0a.rel | 10 + .../014f_7d69__25s_25_25_25s_2ebb.rel | 12 - .../messages_lib/0150_d324__25s_25c_0a.rel | 10 - .../0150_f325__25lu_2f_25lu_0a.rel | 10 + .../0151_ce9c__25s_25c_25c_25c.rel | 10 - .../lib/messages_lib/0151_d273__25p_20.rel | 10 + .../messages_lib/0152_1c93__25p_20_256lu.rel | 10 + .../lib/messages_lib/0152_910e__25s_25s.rel | 10 - .../messages_lib/0153_46b5__25s_25s_0a.rel | 10 - src/nos/lib/messages_lib/0153_ec2f__25s.rel | 10 + .../messages_lib/0154_4d3a__25s_25s_0a_0a.rel | 10 - .../lib/messages_lib/0154_7643__25s_0a.rel | 10 + .../messages_lib/0155_0276__25s_0a_25s_0a.rel | 10 + .../lib/messages_lib/0155_47c0__25s_3a.rel | 10 - .../lib/messages_lib/0156_6911__25s_3a_0a.rel | 10 - .../lib/messages_lib/0156_f81b__25s_20.rel | 10 + .../0157_8b7d__25s_20_2502d_2502d.rel | 14 + .../lib/messages_lib/0157_e749__25s_3a_20.rel | 10 - .../0158_650d__25s_3a_20_25d_20me.rel | 12 - .../messages_lib/0158_7be3__25s_20_25p_0a.rel | 10 + .../messages_lib/0159_518b__25s_20_25s_0a.rel | 10 + .../0159_86f5__25s_3a_20_25ld_0a.rel | 10 - .../015a_7189__25s_3a_20_25s_0a.rel | 10 - .../015a_ca49__25s_20_25s_3a_20_2.rel | 16 + .../015b_35bd__25s_3a_20_25s_2c.rel | 10 - .../015b_43c6__25s_20_25s_3a_20Er.rel | 16 + .../015c_adab__25s_3a_20Interface.rel | 14 - .../messages_lib/015c_b8b7__25s_20_2d_20.rel | 10 + .../015d_1170__25s_20_2d_20Differ.rel | 12 + .../015d_5f8a__25s_3a_20PPP_2fPAP.rel | 14 - .../015e_0cde__25s_3a_20bad_20dev.rel | 12 - .../015e_d4cc__25s_20_2d_20Remote.rel | 12 + .../015f_4968__25s_20_2d_20Same_0.rel | 12 + .../015f_5351__25s_3a_20bad_20ino.rel | 14 - .../0160_55aa__25s_20PPP_20_25s.rel | 12 + .../0160_8c96__25s_3a_20corrupted.rel | 14 - .../0161_7a48__25s_20PPP_20Unknow.rel | 16 + .../0161_d157__25s_3a_20fs_20of_2.rel | 16 - .../0162_136e__25s_20PPP_2f_25s_2.rel | 12 + .../0162_1d98__25s_3a_20local_20n.rel | 14 - .../0163_8479__25s_20PPP_2f_25s_2.rel | 18 + .../0163_bba5__25s_3a_20mode_20_2.rel | 14 - .../0164_0e2f__25s_20PPP_2f_25s_2.rel | 16 + .../0164_60cc__25s_3a_20not_20a_2.rel | 14 - .../0165_3c0d__25s_20PPP_2f_25s_2.rel | 18 + .../0165_4ed5__25s_3a_20release_5.rel | 16 - .../0166_04ae__25s_3a_20rtt_20_25.rel | 12 - .../0166_9bc7__25s_20PPP_2f_25s_2.rel | 20 + .../0167_991e__25s_20PPP_2f_25s_2.rel | 20 + .../0167_db35__25s_3a_20srtt_20_2.rel | 14 - .../0168_65f3__25s_3c_25ld_40_25s.rel | 12 - .../0168_8bd6__25s_20PPP_2f_25s_2.rel | 18 + .../0169_5f30__25s_20PPP_2f_25s_2.rel | 20 + .../0169_6e45__25s_3e_20_25s_20_2.rel | 12 - .../016a_205d__25s_3e_20Invalid_2.rel | 18 - .../016a_252c__25s_20PPP_2fIPCP_2.rel | 26 + .../016b_375d__25s_20PPP_2fIPCP_2.rel | 16 + .../messages_lib/016b_c86f__25s_40_25s_0a.rel | 10 - .../016c_82c1__25s_40_25s_3a_0a.rel | 10 - .../016c_a652__25s_20PPP_2fPAP_20.rel | 14 + .../016d_9fa6__25sMAILER_2dDAEMON.rel | 18 - .../016d_a115__25s_20PPP_2fPap_20.rel | 18 + .../016e_ace2__25s_20dialer_3a_20.rel | 12 + .../lib/messages_lib/016e_c284__25sR_0a.rel | 10 - .../lib/messages_lib/016f_2293__25u_0a.rel | 10 - .../016f_933b__25s_20errno_20_25d.rel | 12 + .../0170_c0bd__25u_20additional_3.rel | 12 - .../0170_f768__25s_20file_25s_2e_.rel | 18 + .../0171_7db0__25u_20answers_3a_0.rel | 12 - .../0171_c691__25s_20is_20unreach.rel | 12 + .../0172_7c48__25u_20authority_3a.rel | 12 - .../0172_a4a4__25s_20logged_20in.rel | 12 + .../0173_a64e__25s_20logged_20in_.rel | 12 + .../0173_b843__25u_20questions_3a.rel | 12 - .../0174_af86__25u_3a_20calls_20_.rel | 18 - .../0174_b314__25s_20refs_20to_20.rel | 14 + src/nos/lib/messages_lib/0175_52fc__25x.rel | 10 - .../0175_bd91__25s_20remain_20_25.rel | 12 + .../0176_b099__26AXB_20_20_20_20_.rel | 18 - .../messages_lib/0176_bf9e__25s_20thru_20.rel | 10 + .../0177_243b__25s_20type_20_25s_.rel | 14 + .../0177_7bf6__26CB_20_20_20_20_2.rel | 22 - .../0178_7d69__25s_25_25_25s_2ebb.rel | 12 + .../0178_c497__26TCB_20_20_20_20_.rel | 24 - .../messages_lib/0179_d324__25s_25c_0a.rel | 10 + .../0179_f73b__26UCB_20_20_20_20_.rel | 14 - .../messages_lib/017a_aa89__27_25c_27_0a.rel | 10 - .../017a_ce9c__25s_25c_25c_25c.rel | 10 + .../lib/messages_lib/017b_910e__25s_25s.rel | 10 + src/nos/lib/messages_lib/017b_a2cd__28.rel | 10 - .../messages_lib/017c_46b5__25s_25s_0a.rel | 10 + .../017c_ba4c__28_252u_29_25_2d20.rel | 12 - .../messages_lib/017d_4d3a__25s_25s_0a_0a.rel | 10 + .../lib/messages_lib/017d_52bf__28F_29.rel | 10 - .../lib/messages_lib/017e_47c0__25s_3a.rel | 10 + .../lib/messages_lib/017e_93fe__28P_29.rel | 10 - .../messages_lib/017f_38a6__28P_2fF_29.rel | 10 - .../lib/messages_lib/017f_6911__25s_3a_0a.rel | 10 + .../0180_7b70__28compressed_20ALL.rel | 14 - .../lib/messages_lib/0180_e749__25s_3a_20.rel | 10 + .../0181_650d__25s_3a_20_25d_20me.rel | 12 + .../0181_c1c3__28hopcheck_29_20IC.rel | 16 - .../0182_565f__28missing_20UI_21_.rel | 12 - .../0182_86f5__25s_3a_20_25ld_0a.rel | 10 + .../0183_7189__25s_3a_20_25s_0a.rel | 10 + .../0183_f935__28not_20odd_21_29_.rel | 12 - .../0184_35bd__25s_3a_20_25s_2c.rel | 10 + src/nos/lib/messages_lib/0184_abc9__29_0a.rel | 10 - .../0185_adab__25s_3a_20Interface.rel | 14 + .../0185_bfa2__2a_2a_20smtp_3a_20.rel | 14 - .../lib/messages_lib/0186_1969__2a_2a_2a.rel | 10 - .../0186_5fe2__25s_3a_20PPP_2fPAP.rel | 12 + .../0187_5f8a__25s_3a_20PPP_2fPAP.rel | 14 + .../0187_a448__2a_2a_2a_20Done_0a.rel | 12 - .../0188_53bc__25s_3a_20PPP_2fPAP.rel | 14 + .../0188_c993__2a_2a_2a_20Unable_.rel | 14 - .../0189_990e__25s_3a_20PPP_2fPAP.rel | 14 + .../0189_b489__2a_2a_2a_2a_2a_2a_.rel | 10 - .../018a_0cde__25s_3a_20bad_20dev.rel | 12 + src/nos/lib/messages_lib/018a_5b29__2c_20.rel | 10 - .../018b_1a71__2c_20err_20_25d.rel | 10 - .../018b_5351__25s_3a_20bad_20ino.rel | 14 + .../018c_099c__2d_2d_2d_2d_2d_20E.rel | 16 - .../018c_8c96__25s_3a_20corrupted.rel | 14 + .../018d_01ea__2d_2d_2d_2d_2d_20F.rel | 16 - .../018d_d157__25s_3a_20fs_20of_2.rel | 16 + .../018e_04ae__2d_2d_2d_2d_2d_2d_.rel | 22 - .../018e_1d98__25s_3a_20local_20n.rel | 14 + .../018f_1b54__2d_2d_2d_2d_2d_2d_.rel | 24 - .../018f_bba5__25s_3a_20mode_20_2.rel | 14 + .../0190_3d1a__2d_2d_2d_2d_2d_2d_.rel | 16 - .../0190_60cc__25s_3a_20not_20a_2.rel | 14 + .../0191_4ed5__25s_3a_20release_5.rel | 16 + .../lib/messages_lib/0191_8ddf__2d_3e_25s.rel | 10 - .../0192_04ae__25s_3a_20rtt_20_25.rel | 12 + .../0192_589d__2d_3e_25s_20ihl_20.rel | 12 - .../0193_db35__25s_3a_20srtt_20_2.rel | 14 + src/nos/lib/messages_lib/0193_e6c1__2e_0a.rel | 10 - .../0194_65f3__25s_3c_25ld_40_25s.rel | 12 + .../messages_lib/0194_ed84__2f_25lu_20ms.rel | 10 - .../0195_6d9b__2f_25lu_20ms_0a.rel | 10 - .../0195_6e45__25s_3e_20_25s_20_2.rel | 12 + .../0196_205d__25s_3e_20Invalid_2.rel | 18 + .../0196_a44f__2f_25lu_20ms_3b_20.rel | 12 - .../lib/messages_lib/0197_096e__2f_25u.rel | 10 - .../messages_lib/0197_c86f__25s_40_25s_0a.rel | 10 + .../0198_82c1__25s_40_25s_3a_0a.rel | 10 + src/nos/lib/messages_lib/0198_96dc__2fEX.rel | 10 - src/nos/lib/messages_lib/0199_79e7_0_25o.rel | 10 - .../0199_9fa6__25sMAILER_2dDAEMON.rel | 18 + .../019a_8157_007Incoming_20_25s_.rel | 16 - .../lib/messages_lib/019a_c284__25sR_0a.rel | 10 + .../lib/messages_lib/019b_2293__25u_0a.rel | 10 + .../019b_b04e_0x_2503x_20_20_20_2.rel | 20 - .../messages_lib/019c_3f3a_0x_2504x_0a.rel | 10 - .../019c_c0bd__25u_20additional_3.rel | 12 + .../019d_7db0__25u_20answers_3a_0.rel | 12 + .../messages_lib/019d_8308_0x_2508lx_0a.rel | 10 - .../019e_7c48__25u_20authority_3a.rel | 12 + src/nos/lib/messages_lib/019e_ab8d_0x_25x.rel | 10 - .../019f_6f63_0x_25x_09_09_25ld_0.rel | 18 - .../019f_b843__25u_20questions_3a.rel | 12 + .../01a0_af86__25u_3a_20calls_20_.rel | 18 + .../01a0_fea8_0x_25x_09_09_25ld_0.rel | 18 - src/nos/lib/messages_lib/01a1_52fc__25x.rel | 10 + .../lib/messages_lib/01a1_f01c_0x_25x_0a.rel | 10 - .../01a2_b099__26AXB_20_20_20_20_.rel | 18 + .../01a2_d635_100_20Warning_3a_20.rel | 20 - .../01a3_3f47_150_20Opening_20dat.rel | 16 - .../01a3_7bf6__26CB_20_20_20_20_2.rel | 22 + src/nos/lib/messages_lib/01a4_67ab_200_20.rel | 10 - .../01a4_c497__26TCB_20_20_20_20_.rel | 24 + .../01a5_cc8d_200_20MKD_20ok_0a.rel | 12 - .../01a5_f73b__26UCB_20_20_20_20_.rel | 14 + .../messages_lib/01a6_6c3a_200_20Ok_0a.rel | 10 - .../messages_lib/01a6_aa89__27_25c_27_0a.rel | 10 + src/nos/lib/messages_lib/01a7_a2cd__28.rel | 10 + .../01a7_ba32_200_20Port_20comman.rel | 14 - .../01a8_1db7_200_20Type_20_25s_2.rel | 12 - .../01a8_ba4c__28_252u_29_25_2d20.rel | 12 + .../01a9_1192_215_20_25s_20Type_3.rel | 14 - .../lib/messages_lib/01a9_52bf__28F_29.rel | 10 + .../01aa_01fe_220_20_25s_20FTP_20.rel | 16 - .../lib/messages_lib/01aa_93fe__28P_29.rel | 10 + .../messages_lib/01ab_38a6__28P_2fF_29.rel | 10 + .../01ab_7804_221_20Goodbye_21_0a.rel | 12 - .../01ac_3f54_226_20File_20receiv.rel | 14 - .../01ac_7b70__28compressed_20ALL.rel | 14 + .../01ad_c1c3__28hopcheck_29_20IC.rel | 16 + .../01ad_caea_226_20File_20sent_2.rel | 12 - .../01ae_565f__28missing_20UI_21_.rel | 12 + .../01ae_9fe8_230_20Logged_20in_0.rel | 12 - .../messages_lib/01af_55db_250_20_25s_0a.rel | 10 - .../01af_f935__28not_20odd_21_29_.rel | 12 + src/nos/lib/messages_lib/01b0_abc9__29_0a.rel | 10 + .../01b0_c720_250_20File_20delete.rel | 12 - .../01b1_bfa2__2a_2a_20smtp_3a_20.rel | 14 + .../messages_lib/01b1_de54_250_2d_25s_0a.rel | 10 - .../lib/messages_lib/01b2_1969__2a_2a_2a.rel | 10 + .../01b2_9400_257_20_22_25s_22_20.rel | 14 - .../01b3_24f1_331_20Enter_20PASS_.rel | 14 - .../01b3_a448__2a_2a_2a_20Done_0a.rel | 12 + .../01b4_273f_421_20System_20over.rel | 16 - .../01b4_c993__2a_2a_2a_20Unable_.rel | 14 + .../01b5_b489__2a_2a_2a_2a_2a_2a_.rel | 10 + .../01b5_e43d_425_20Data_20connec.rel | 14 - src/nos/lib/messages_lib/01b6_5b29__2c_20.rel | 10 + .../01b6_7e66_500_20Unknown_20com.rel | 14 - .../01b7_1a71__2c_20err_20_25d.rel | 10 + .../01b7_3d39_500_20Unsupported_2.rel | 16 - .../01b8_099c__2d_2d_2d_2d_2d_20E.rel | 16 + .../01b8_fe7e_501_20Bad_20port_20.rel | 14 - .../01b9_01ea__2d_2d_2d_2d_2d_20F.rel | 16 + .../01b9_065e_501_20Only_20logica.rel | 16 - .../01ba_04ae__2d_2d_2d_2d_2d_2d_.rel | 22 + .../01ba_a2bf_501_20Unknown_20typ.rel | 14 - .../01bb_1b54__2d_2d_2d_2d_2d_2d_.rel | 24 + .../01bb_41cf_502_20Command_20not.rel | 16 - .../01bc_3d1a__2d_2d_2d_2d_2d_2d_.rel | 16 + .../01bc_f576_503_20Login_20with_.rel | 14 - .../01bd_7dc2_530_20Please_20log_.rel | 16 - .../lib/messages_lib/01bd_8ddf__2d_3e_25s.rel | 10 + .../01be_589d__2d_3e_25s_20ihl_20.rel | 12 + .../01be_c53a_550_20Can_27t_20rea.rel | 14 - .../01bf_4770_550_20Delete_20fail.rel | 14 - src/nos/lib/messages_lib/01bf_e6c1__2e_0a.rel | 10 + .../01c0_38c3_550_20Permission_20.rel | 14 - .../messages_lib/01c0_ed84__2f_25lu_20ms.rel | 10 + .../01c1_6d9b__2f_25lu_20ms_0a.rel | 10 + .../01c1_95c1_552_20Write_20error.rel | 14 - .../01c2_7eaf_553_20Can_27t_20cre.rel | 14 - .../01c2_a44f__2f_25lu_20ms_3b_20.rel | 12 + .../lib/messages_lib/01c3_096e__2f_25u.rel | 10 + .../01c3_f0b2_553_20Can_27t_20rea.rel | 16 - src/nos/lib/messages_lib/01c4_96dc__2fEX.rel | 10 + .../messages_lib/01c4_b04b__3a_20_25d_0a.rel | 10 - .../messages_lib/01c5_6aba__3a_20_25ld_0a.rel | 10 - src/nos/lib/messages_lib/01c5_79e7_0_25o.rel | 10 + .../01c6_8157_007Incoming_20_25s_.rel | 16 + .../lib/messages_lib/01c6_8cd1__3a_20_25s.rel | 10 - .../messages_lib/01c7_68d2__3a_20_25s_0a.rel | 10 - .../01c7_b04e_0x_2503x_20_20_20_2.rel | 20 + .../messages_lib/01c8_0da1_0x_2504x_09.rel | 10 + .../messages_lib/01c8_3c02__3a_20_25u_0a.rel | 10 - .../messages_lib/01c9_3f3a_0x_2504x_0a.rel | 10 + .../01c9_6692__3b_20Tries_3a_20_2.rel | 12 - .../01ca_697b__3c_25ld_40_25s_3e_.rel | 12 - .../messages_lib/01ca_b193_0x_2508lx_09.rel | 10 + .../01cb_2587__3c_25s_40_25s_2ebb.rel | 12 - .../messages_lib/01cb_8308_0x_2508lx_0a.rel | 10 + .../messages_lib/01cc_3152__3c_3d_3d_25s.rel | 10 - src/nos/lib/messages_lib/01cc_ab8d_0x_25x.rel | 10 + .../01cd_6f63_0x_25x_09_09_25ld_0.rel | 18 + .../01cd_defc__3c_3d_3d_25s_0a.rel | 10 - .../01ce_016b__3d_3d_3eARTICLE_20.rel | 12 - .../01ce_fea8_0x_25x_09_09_25ld_0.rel | 18 + .../01cf_c133__3d_3d_3eNEWNEWS_20.rel | 12 - .../lib/messages_lib/01cf_f01c_0x_25x_0a.rel | 10 + .../01d0_696c__3d_3d_3eQUIT_0a.rel | 10 - .../01d0_d635_100_20Warning_3a_20.rel | 20 + .../01d1_396e__3d_3dNo_20response.rel | 12 - .../01d1_3f47_150_20Opening_20dat.rel | 16 + src/nos/lib/messages_lib/01d2_67ab_200_20.rel | 10 + src/nos/lib/messages_lib/01d2_c6f3__3f.rel | 10 - src/nos/lib/messages_lib/01d3_4d83__40.rel | 10 - .../01d3_cc8d_200_20MKD_20ok_0a.rel | 12 + .../lib/messages_lib/01d4_23d2__40_25s.rel | 10 - .../messages_lib/01d4_6c3a_200_20Ok_0a.rel | 10 + .../01d5_7f61_ARP_3a_20len_20_25d.rel | 12 - .../01d5_ba32_200_20Port_20comman.rel | 14 + .../messages_lib/01d6_124c_ARTICLE_20_25s.rel | 12 - .../01d6_1db7_200_20Type_20_25s_2.rel | 12 + .../01d7_109d_AX25_20receive_20wi.rel | 14 - .../01d7_1192_215_20_25s_20Type_3.rel | 14 + .../01d8_01fe_220_20_25s_20FTP_20.rel | 16 + .../messages_lib/01d8_f4e0_AX25_20version.rel | 12 - .../01d9_7804_221_20Goodbye_21_0a.rel | 12 + .../lib/messages_lib/01d9_818f_AX25_3a_20.rel | 10 - .../01da_3f54_226_20File_20receiv.rel | 14 + .../messages_lib/01da_f05c_Abort_0d_0a.rel | 10 - .../lib/messages_lib/01db_6caf_Aborted_2e.rel | 10 - .../01db_caea_226_20File_20sent_2.rel | 12 + .../01dc_9fe8_230_20Logged_20in_0.rel | 12 + .../messages_lib/01dc_f2cb_Aborted_2e_0a.rel | 12 - .../lib/messages_lib/01dd_537a_Accept_0a.rel | 10 - .../messages_lib/01dd_55db_250_20_25s_0a.rel | 10 + .../01de_b988_Ack_20delay_20time_.rel | 12 - .../01de_c720_250_20File_20delete.rel | 12 + .../messages_lib/01df_de54_250_2d_25s_0a.rel | 10 + .../01df_fccc_Active_20RIP_20outp.rel | 14 - .../01e0_9400_257_20_22_25s_22_20.rel | 14 + .../01e0_e216_Address_2fControl_2.rel | 16 - .../01e1_1fbc_All_20groups_20are_.rel | 16 - .../01e1_24f1_331_20Enter_20PASS_.rel | 14 + .../01e2_273f_421_20System_20over.rel | 16 + .../messages_lib/01e2_4a0c_Allow_20ACCM.rel | 12 - .../01e3_8e02_Allow_20Address.rel | 12 - .../01e3_e43d_425_20Data_20connec.rel | 14 + .../01e4_7b21_Allow_20Address_2fC.rel | 16 - .../01e4_7e66_500_20Unknown_20com.rel | 14 + .../01e5_3d39_500_20Unsupported_2.rel | 16 + .../01e5_5003_Allow_20Authenticat.rel | 14 - .../01e6_081e_Allow_20Compression.rel | 12 - .../01e6_fe7e_501_20Bad_20port_20.rel | 14 + .../01e7_065e_501_20Only_20logica.rel | 16 + .../messages_lib/01e7_14d8_Allow_20MRU.rel | 12 - .../01e8_5c94_Allow_20Magic_20Num.rel | 12 - .../01e8_a2bf_501_20Unknown_20typ.rel | 14 + .../01e9_33ea_Allow_20Protocol_20.rel | 16 - .../01e9_41cf_502_20Command_20not.rel | 16 + .../01ea_a5f9_Already_20have_20_2.rel | 12 - .../01ea_f576_503_20Login_20with_.rel | 14 + .../01eb_7dc2_530_20Please_20log_.rel | 16 + .../01eb_8eaf_Arcnet_3a_20len_20_.rel | 14 - .../01ec_52c7_Argument_20missing_.rel | 12 - .../01ec_c53a_550_20Can_27t_20rea.rel | 14 + .../lib/messages_lib/01ed_3ed8_Ascii_0a.rel | 10 - .../01ed_4770_550_20Delete_20fail.rel | 14 + .../01ee_38c3_550_20Permission_20.rel | 14 + .../01ee_7cb2_Attach_20device_20f.rel | 14 - .../01ef_95c1_552_20Write_20error.rel | 14 + .../01ef_ec38_Attach_20netrom_20i.rel | 14 - .../01f0_7eaf_553_20Can_27t_20cre.rel | 14 + .../01f0_ee22_Attended_20flag.rel | 12 - .../01f1_0443_Available_20areas_2.rel | 18 - .../01f1_f0b2_553_20Can_27t_20rea.rel | 16 + .../01f2_6999_Backoff_20Level_20_.rel | 18 - .../messages_lib/01f2_b04b__3a_20_25d_0a.rel | 10 + .../messages_lib/01f3_6aba__3a_20_25ld_0a.rel | 10 + .../01f3_9716_Bad_20digipeater_20.rel | 12 - .../01f4_0b9f_Bad_20syntax_2e_0a.rel | 12 - .../lib/messages_lib/01f4_8cd1__3a_20_25s.rel | 10 + .../messages_lib/01f5_68d2__3a_20_25s_0a.rel | 10 + .../01f5_e884_Bad_20target_20_25s.rel | 12 - .../messages_lib/01f6_3c02__3a_20_25u_0a.rel | 10 + .../01f6_822a_Bad_20user_20or_20h.rel | 14 - .../01f7_61f7_Base_20Addr_09Rxint.rel | 22 - .../01f7_6692__3b_20Tries_3a_20_2.rel | 12 + .../01f8_697b__3c_25ld_40_25s_3e_.rel | 12 + .../01f8_929a_Base_20Addr_20_20Rx.rel | 24 - .../01f9_2587__3c_25s_40_25s_2ebb.rel | 12 + .../01f9_de82_Buf_20hits_2fmiss_2.rel | 22 - .../messages_lib/01fa_3152__3c_3d_3d_25s.rel | 10 + .../messages_lib/01fa_ae0c_CTRL_2d_25c_0a.rel | 10 - .../messages_lib/01fb_6c46_CWD_20_25s_0a.rel | 10 - .../01fb_defc__3c_3d_3d_25s_0a.rel | 10 + .../01fc_016b__3d_3d_3eARTICLE_20.rel | 12 + .../01fc_0e64_Calls_20originated_.rel | 16 - .../01fd_9777_Calls_20timed_20out.rel | 18 - .../01fd_c133__3d_3d_3eNEWNEWS_20.rel | 12 + .../01fe_696c__3d_3d_3eQUIT_0a.rel | 10 + .../01fe_e911_Can_27t_20NLST_20_2.rel | 12 - .../01ff_396e__3d_3dNo_20response.rel | 12 + .../01ff_daf3_Can_27t_20add_20rou.rel | 12 - .../0200_6db7_Can_27t_20attach_20.rel | 14 - src/nos/lib/messages_lib/0200_c6f3__3f.rel | 10 + src/nos/lib/messages_lib/0201_4d83__40.rel | 10 + .../0201_79e8_Can_27t_20change_20.rel | 14 - .../lib/messages_lib/0202_23d2__40_25s.rel | 10 + .../0202_3bb8_Can_27t_20create_20.rel | 14 - .../0203_0003_Can_27t_20create_20.rel | 14 - .../0203_7f61_ARP_3a_20len_20_25d.rel | 12 + .../messages_lib/0204_124c_ARTICLE_20_25s.rel | 12 + .../0204_ef8c_Can_27t_20create_20.rel | 14 - .../0205_109d_AX25_20receive_20wi.rel | 14 + .../0205_28e0_Can_27t_20create_20.rel | 16 - .../0206_d5bc_Can_27t_20create_20.rel | 14 - .../messages_lib/0206_f4e0_AX25_20version.rel | 12 + .../lib/messages_lib/0207_818f_AX25_3a_20.rel | 10 + .../0207_c7fb_Can_27t_20delete_20.rel | 12 - .../0208_d5d6_Can_27t_20detach_20.rel | 16 - .../messages_lib/0208_f05c_Abort_0d_0a.rel | 10 + .../0209_5d65_Can_27t_20find_20he.rel | 14 - .../lib/messages_lib/0209_6caf_Aborted_2e.rel | 10 + .../020a_3eee_Can_27t_20list_20lo.rel | 14 - .../messages_lib/020a_f2cb_Aborted_2e_0a.rel | 12 + .../lib/messages_lib/020b_537a_Accept_0a.rel | 10 + .../020b_c1c1_Can_27t_20open_20_2.rel | 14 - .../lib/messages_lib/020c_d953_Ack_20Rcvd.rel | 10 + .../020c_fedd_Can_27t_20open_20_2.rel | 12 - .../lib/messages_lib/020d_58e1_Ack_20Sent.rel | 10 + .../020d_fb2a_Can_27t_20open_20_2.rel | 12 - .../020e_b988_Ack_20delay_20time_.rel | 12 + .../020e_d8a5_Can_27t_20open_20in.rel | 14 - .../020f_0616_Can_27t_20read_20_2.rel | 12 - .../020f_fccc_Active_20RIP_20outp.rel | 14 + .../0210_4a10_Can_27t_20read_20_2.rel | 12 - .../0210_fb01_Actively_20opening_.rel | 14 + .../0211_8468_Can_27t_20read_20co.rel | 14 - .../0211_e216_Address_2fControl_2.rel | 16 + .../0212_1fbc_All_20groups_20are_.rel | 16 + .../0212_4327_Can_27t_20read_20di.rel | 16 - .../messages_lib/0213_4a0c_Allow_20ACCM.rel | 12 + .../0213_5fb2_Can_27t_20read_20lo.rel | 14 - .../0214_36d4_Can_27t_20read_20pa.rel | 14 - .../0214_8e02_Allow_20Address.rel | 12 + .../0215_5e43_Can_27t_20rename_20.rel | 12 - .../0215_7b21_Allow_20Address_2fC.rel | 16 + .../0216_4bfe_Can_27t_20rewrite_2.rel | 12 - .../0216_5003_Allow_20Authenticat.rel | 14 + .../0217_081e_Allow_20Compression.rel | 12 + .../0217_24ca_Can_27t_20set_20lin.rel | 14 - .../messages_lib/0218_14d8_Allow_20MRU.rel | 12 + .../0218_5e82_Can_27t_20write_20_.rel | 12 - .../0219_5c94_Allow_20Magic_20Num.rel | 12 + .../0219_988b_Can_27t_20write_20l.rel | 14 - .../021a_33ea_Allow_20Protocol_20.rel | 16 + .../021a_c0f9_Can_27t_20write_20t.rel | 12 - .../021b_5055_Ch_20Iface_20_20_20.rel | 24 - .../021b_a5f9_Already_20have_20_2.rel | 12 + .../021c_8eaf_Arcnet_3a_20len_20_.rel | 14 + .../021c_eff3_Channel_20_2d_20_25.rel | 12 - .../021d_1b09_Choke_20timeout_20_.rel | 12 - .../021d_52c7_Argument_20missing_.rel | 12 + .../lib/messages_lib/021e_3ed8_Ascii_0a.rel | 10 + .../021e_f95c_Closed_3a_20_25s_0a.rel | 12 - .../021f_7cb2_Attach_20device_20f.rel | 14 + .../021f_e508_Command_20batching.rel | 12 - .../0220_b471_Connect_20failed_0a.rel | 12 - .../0220_ec38_Attach_20netrom_20i.rel | 14 + .../0221_bb2f_Connect_20failed_3a.rel | 12 - .../0221_ee22_Attended_20flag.rel | 12 + .../0222_85e9_Connect_20to_20mail.rel | 16 - .../0222_b76d_Authentication_20Ph.rel | 14 + .../0223_0443_Available_20areas_2.rel | 18 + .../messages_lib/0223_6930_Connected_0a.rel | 12 - .../0224_5189_Connected_20to_20_2.rel | 12 - .../0224_6999_Backoff_20Level_20_.rel | 18 + .../0225_771a_Connected_20to_20ma.rel | 14 - .../0225_9716_Bad_20digipeater_20.rel | 12 + .../0226_0b9f_Bad_20syntax_2e_0a.rel | 12 + .../messages_lib/0226_0e16_Connected_2e.rel | 12 - .../0227_3e79_Connection_20closed.rel | 16 - .../0227_e884_Bad_20target_20_25s.rel | 12 + .../0228_822a_Bad_20user_20or_20h.rel | 14 + .../0228_faa9_Connection_20failed.rel | 12 - .../0229_3676_Could_20not_20creat.rel | 16 - .../0229_61f7_Base_20Addr_09Rxint.rel | 22 + .../022a_929a_Base_20Addr_20_20Rx.rel | 24 + .../022a_d95b_Couldn_27t_20queue_.rel | 16 - .../022b_68a6_Current_20message_2.rel | 14 - .../022b_de82_Buf_20hits_2fmiss_2.rel | 22 + .../022c_23ad_Currently_20enabled.rel | 16 - .../messages_lib/022c_ae0c_CTRL_2d_25c_0a.rel | 10 + .../messages_lib/022d_1cf7_DELE_20_25s.rel | 10 - .../messages_lib/022d_6c46_CWD_20_25s_0a.rel | 10 + .../022e_0e64_Calls_20originated_.rel | 16 + .../022e_5fad_DISASTER_21_20Out_2.rel | 16 - .../022f_7ce2_DRSI_20Board_20Stat.rel | 16 - .../022f_9777_Calls_20timed_20out.rel | 18 + .../0230_2f52_D_5bU_5d_20filename.rel | 12 - .../0230_e911_Can_27t_20NLST_20_2.rel | 12 + .../lib/messages_lib/0231_698b_Data_0a.rel | 10 - .../0231_daf3_Can_27t_20add_20rou.rel | 12 + .../0232_6db7_Can_27t_20attach_20.rel | 14 + .../0232_cb1c_Data_20outside_20he.rel | 12 - .../0233_01be_Data_20pointer_20_2.rel | 16 - .../0233_79e8_Can_27t_20change_20.rel | 14 + .../0234_3bb8_Can_27t_20create_20.rel | 14 + .../0234_3cbb_Data_20pointer_20be.rel | 14 - .../0235_0003_Can_27t_20create_20.rel | 14 + .../0235_bd70_Defaulting_20to_20b.rel | 14 - .../0236_2d19_Del_5fconst_20_3d_2.rel | 12 - .../0236_ef8c_Can_27t_20create_20.rel | 14 + .../0237_28e0_Can_27t_20create_20.rel | 16 + .../0237_6255_Dest_20Addr_20_20_2.rel | 16 - .../0238_3894_Dialing_20not_20sup.rel | 14 - .../0238_d5bc_Can_27t_20create_20.rel | 14 + .../messages_lib/0239_26a3_Different_0a.rel | 12 - .../0239_c7fb_Can_27t_20delete_20.rel | 12 + .../lib/messages_lib/023a_ae33_Digipeat.rel | 10 - .../023a_d5d6_Can_27t_20detach_20.rel | 16 + .../023b_5d65_Can_27t_20find_20he.rel | 14 + .../023b_af35_Directory_20table_2.rel | 14 - .../023c_3eee_Can_27t_20list_20lo.rel | 14 + .../023c_c1bb_Disconnected_20.rel | 12 - .../023d_2cc5_Disconnecting_2e.rel | 12 - .../023d_c1c1_Can_27t_20open_20_2.rel | 14 + .../023e_b7f4_Dup_20acks_20_20_20.rel | 22 - .../023e_fedd_Can_27t_20open_20_2.rel | 12 + .../023f_3ed4_Duplex_3a_20_25s_0a.rel | 12 - .../023f_fb2a_Can_27t_20open_20_2.rel | 12 + src/nos/lib/messages_lib/0240_b671_E2BIG.rel | 10 - .../0240_d8a5_Can_27t_20open_20in.rel | 14 + src/nos/lib/messages_lib/0241_56e8_EACCES.rel | 10 - .../0241_8131_Can_27t_20read_20.rel | 12 + .../0242_4a10_Can_27t_20read_20_2.rel | 12 + src/nos/lib/messages_lib/0242_f378_EAGAIN.rel | 10 - .../0243_0483_EAGLE_20Board_20Sta.rel | 14 - .../0243_8468_Can_27t_20read_20co.rel | 14 + .../0244_4327_Can_27t_20read_20di.rel | 16 + src/nos/lib/messages_lib/0244_a2a1_EBADF.rel | 10 - .../0245_5fb2_Can_27t_20read_20lo.rel | 14 + src/nos/lib/messages_lib/0245_74ba_EBUSY.rel | 10 - .../0246_36d4_Can_27t_20read_20pa.rel | 14 + src/nos/lib/messages_lib/0246_4029_ECHILD.rel | 10 - .../0247_5e43_Can_27t_20rename_20.rel | 12 + .../lib/messages_lib/0247_cd2b_EDEADLK.rel | 10 - src/nos/lib/messages_lib/0248_4299_EDOM.rel | 10 - .../0248_4bfe_Can_27t_20rewrite_2.rel | 12 + .../0249_24ca_Can_27t_20set_20lin.rel | 14 + src/nos/lib/messages_lib/0249_bec8_EEXIST.rel | 10 - .../024a_5e82_Can_27t_20write_20_.rel | 12 + src/nos/lib/messages_lib/024a_afa9_EFAULT.rel | 10 - .../024b_988b_Can_27t_20write_20l.rel | 14 + src/nos/lib/messages_lib/024b_9ed8_EFBIG.rel | 10 - .../024c_28f7_EGATTACH_3a_20No_20.rel | 18 - .../024c_c0f9_Can_27t_20write_20t.rel | 12 + .../024d_5055_Ch_20Iface_20_20_20.rel | 24 + src/nos/lib/messages_lib/024d_eb47_EINTR.rel | 10 - .../024e_95d8_Ch_20Iface_20_20CTS.rel | 18 + src/nos/lib/messages_lib/024e_b479_EINVAL.rel | 10 - .../lib/messages_lib/024f_21d8_EINVFNC.rel | 10 - .../024f_eff3_Channel_20_2d_20_25.rel | 12 + .../0250_1b09_Choke_20timeout_20_.rel | 12 + src/nos/lib/messages_lib/0250_2d75_EIO.rel | 10 - src/nos/lib/messages_lib/0251_433b_Close.rel | 10 + src/nos/lib/messages_lib/0251_fb45_EISDIR.rel | 10 - src/nos/lib/messages_lib/0252_8de7_ELOOP.rel | 10 - src/nos/lib/messages_lib/0252_aa31_Closed.rel | 10 + src/nos/lib/messages_lib/0253_9e5a_EMFILE.rel | 10 - .../0253_f95c_Closed_3a_20_25s_0a.rel | 12 + .../messages_lib/0254_253f_Closing_20PPP.rel | 12 + src/nos/lib/messages_lib/0254_983a_EMLINK.rel | 10 - .../messages_lib/0255_0607_ENAMETOOLONG.rel | 12 - .../messages_lib/0255_5627_Code_20Reject.rel | 12 + src/nos/lib/messages_lib/0256_8396_ENFILE.rel | 10 - .../0256_e508_Command_20batching.rel | 12 + .../0257_6fb2_Compressed_20TCP_2f.rel | 14 + src/nos/lib/messages_lib/0257_7088_ENODEV.rel | 10 - .../0258_242d_Compressed_20TCP_2f.rel | 14 + src/nos/lib/messages_lib/0258_edee_ENOENT.rel | 10 - .../messages_lib/0259_531f_Config_20Ack.rel | 12 + .../lib/messages_lib/0259_a107_ENOEXEC.rel | 10 - src/nos/lib/messages_lib/025a_29fe_ENOLCK.rel | 10 - .../messages_lib/025a_2a68_Config_20Nak.rel | 12 + .../025b_194d_Config_20Reject.rel | 12 + src/nos/lib/messages_lib/025b_42c4_ENOMEM.rel | 10 - .../messages_lib/025c_d2e5_Config_20Req.rel | 12 + src/nos/lib/messages_lib/025c_d51d_ENOSPC.rel | 10 - .../025d_b471_Connect_20failed_0a.rel | 12 + .../lib/messages_lib/025d_d3a2_ENOTBLK.rel | 10 - .../025e_bb2f_Connect_20failed_3a.rel | 12 + .../lib/messages_lib/025e_f683_ENOTDIR.rel | 10 - .../lib/messages_lib/025f_83de_ENOTEMPTY.rel | 12 - .../025f_85e9_Connect_20to_20mail.rel | 16 + .../messages_lib/0260_6930_Connected_0a.rel | 12 + src/nos/lib/messages_lib/0260_81a3_ENOTTY.rel | 10 - src/nos/lib/messages_lib/0261_01a7_ENXIO.rel | 10 - .../0261_5189_Connected_20to_20_2.rel | 12 + src/nos/lib/messages_lib/0262_4485_EPERM.rel | 10 - .../0262_771a_Connected_20to_20ma.rel | 14 + .../messages_lib/0263_0e16_Connected_2e.rel | 12 + src/nos/lib/messages_lib/0263_5ede_EPIPE.rel | 10 - .../0264_3e79_Connection_20closed.rel | 16 + src/nos/lib/messages_lib/0264_7f6a_ERANGE.rel | 10 - src/nos/lib/messages_lib/0265_0587_EROFS.rel | 10 - .../0265_faa9_Connection_20failed.rel | 12 + .../0266_3676_Could_20not_20creat.rel | 16 + .../0266_6b3a_ESCC_20channel_20_2.rel | 16 - .../0267_6d38_ESCC_20channel_20_2.rel | 14 - .../0267_d95b_Couldn_27t_20queue_.rel | 16 + .../0268_0a8a_ESCC_20driver_20alr.rel | 18 - .../0268_68a6_Current_20message_2.rel | 14 + .../0269_23ad_Currently_20enabled.rel | 16 + .../0269_d89e_ESCC_20driver_20not.rel | 14 - .../messages_lib/026a_1cf7_DELE_20_25s.rel | 10 + src/nos/lib/messages_lib/026a_dd82_ESHELL.rel | 10 - .../026b_5fad_DISASTER_21_20Out_2.rel | 16 + src/nos/lib/messages_lib/026b_ffa8_ESPIPE.rel | 10 - .../026c_7ce2_DRSI_20Board_20Stat.rel | 16 + src/nos/lib/messages_lib/026c_b33c_ESRCH.rel | 10 - .../lib/messages_lib/026d_194a_ETXTBSY.rel | 10 - .../026d_2f52_D_5bU_5d_20filename.rel | 12 + .../lib/messages_lib/026e_698b_Data_0a.rel | 10 + src/nos/lib/messages_lib/026e_8d4a_EXDEV.rel | 10 - .../026f_4f54_Encapsulation_20mod.rel | 16 - .../026f_cb1c_Data_20outside_20he.rel | 12 + .../0270_01be_Data_20pointer_20_2.rel | 16 + .../0270_0f4a_Enqued_20_20_2d_20_.rel | 18 - .../0271_3cbb_Data_20pointer_20be.rel | 14 + .../0271_de30_Enter_20message_2e_.rel | 12 - .../0272_3a50_Error_20in_20respon.rel | 12 - .../0272_bd70_Defaulting_20to_20b.rel | 14 + .../0273_2d19_Del_5fconst_20_3d_2.rel | 12 + .../0273_d568_Error_20updating_20.rel | 14 - .../0274_6255_Dest_20Addr_20_20_2.rel | 16 + .../0274_69fc_Error_20writing_20m.rel | 14 - .../0275_3894_Dialing_20not_20sup.rel | 14 + .../0275_9664_Escape_20character_.rel | 14 - .../messages_lib/0276_26a3_Different_0a.rel | 12 + .../0276_8c2d_Ether_3a_20len_20_2.rel | 14 - src/nos/lib/messages_lib/0277_3af3_F_3e.rel | 10 - .../lib/messages_lib/0277_ae33_Digipeat.rel | 10 + .../lib/messages_lib/0278_0046_Failed_0a.rel | 10 - .../0278_af35_Directory_20table_2.rel | 14 + .../0279_4a7b_First_20init_20ESCC.rel | 14 - .../0279_c453_Discard_20Request.rel | 12 + .../027a_0954_Forwarding_20timer_.rel | 14 - .../027a_c1bb_Disconnected_20.rel | 12 + .../027b_2cc5_Disconnecting_2e.rel | 12 + .../027b_95bb_Free_20address_20qu.rel | 12 - src/nos/lib/messages_lib/027c_1f44_Down.rel | 10 + .../027c_fee7_Free_20cache_3a_20s.rel | 16 - .../027d_8dc1_Free_20memory_20thr.rel | 14 - .../027d_b7f4_Dup_20acks_20_20_20.rel | 22 + .../027e_1be2_From_20_25s_20_25s.rel | 12 - .../027e_3ed4_Duplex_3a_20_25s_0a.rel | 12 + src/nos/lib/messages_lib/027f_b671_E2BIG.rel | 10 + .../027f_d837_From_3a_20_25s_0a.rel | 12 - src/nos/lib/messages_lib/0280_56e8_EACCES.rel | 10 + .../0280_b9a0_Garbage_20bp_20_25l.rel | 12 - .../0281_7731_Group_20list_20too_.rel | 18 - src/nos/lib/messages_lib/0281_f378_EAGAIN.rel | 10 + .../0282_0483_EAGLE_20Board_20Sta.rel | 14 + .../0282_ccdf_HAPN_20_25d_3a_20_2.rel | 18 - .../0283_9570_HOPCHECK_20start_20.rel | 14 - src/nos/lib/messages_lib/0283_a2a1_EBADF.rel | 10 + src/nos/lib/messages_lib/0284_74ba_EBUSY.rel | 10 + .../0284_8ef4_HOPCHECK_20to_20_25.rel | 12 - src/nos/lib/messages_lib/0285_4029_ECHILD.rel | 10 + .../0285_c794_HOPCHECK_20tracing.rel | 12 - .../0286_4952_HS_3a_20Warning_3a_.rel | 16 - .../lib/messages_lib/0286_cd2b_EDEADLK.rel | 10 + .../0287_10ba_Hardware_20_25u_0a.rel | 12 - src/nos/lib/messages_lib/0287_4299_EDOM.rel | 10 + .../0288_32e9_Heap_20debugging.rel | 12 - src/nos/lib/messages_lib/0288_bec8_EEXIST.rel | 10 + .../0289_9144_Host_20_25s_20_28_2.rel | 14 - src/nos/lib/messages_lib/0289_afa9_EFAULT.rel | 10 + .../028a_862c_Host_20_25s_20unkno.rel | 12 - src/nos/lib/messages_lib/028a_9ed8_EFBIG.rel | 10 + .../028b_28f7_EGATTACH_3a_20No_20.rel | 18 + .../028b_f216_Hostname_20set_20to.rel | 12 - .../028c_267d_Hytech_20KA9Q_20NOS.rel | 36 - src/nos/lib/messages_lib/028c_eb47_EINTR.rel | 10 + src/nos/lib/messages_lib/028d_b479_EINVAL.rel | 10 + .../028d_df4f_ICMP_20echo_20respo.rel | 14 - .../lib/messages_lib/028e_21d8_EINVFNC.rel | 10 + .../028e_db6d_ICMP_20from_20_25s_.rel | 12 - src/nos/lib/messages_lib/028f_2d75_EIO.rel | 10 + .../messages_lib/028f_abbc_ICMP_20tracing.rel | 12 - .../0290_6b85_ICMP_3a_20type_20_2.rel | 12 - src/nos/lib/messages_lib/0290_fb45_EISDIR.rel | 10 + src/nos/lib/messages_lib/0291_8de7_ELOOP.rel | 10 + src/nos/lib/messages_lib/0291_dff6_IP_0a.rel | 10 - .../0292_5812_IP_20Time_2dto_2dli.rel | 12 - src/nos/lib/messages_lib/0292_9e5a_EMFILE.rel | 10 + .../0293_0e41_IP_20addr_20_20_20_.rel | 18 - src/nos/lib/messages_lib/0293_983a_EMLINK.rel | 10 + .../messages_lib/0294_0607_ENAMETOOLONG.rel | 12 + .../0294_8cdb_IP_20reasm_20timeou.rel | 14 - .../0295_5f88_IP_20rx_20tracing.rel | 12 - src/nos/lib/messages_lib/0295_8396_ENFILE.rel | 10 + src/nos/lib/messages_lib/0296_7088_ENODEV.rel | 10 + .../0296_88e0_IP_3a_20CHECKSUM_20.rel | 14 - .../0297_03a7_IP_3a_20bad_20heade.rel | 12 - src/nos/lib/messages_lib/0297_edee_ENOENT.rel | 10 + .../0298_4543_IP_3a_20len_20_25u.rel | 12 - .../lib/messages_lib/0298_a107_ENOEXEC.rel | 10 + src/nos/lib/messages_lib/0299_29fe_ENOLCK.rel | 10 + .../lib/messages_lib/0299_e067_IPCP_0a.rel | 10 - src/nos/lib/messages_lib/029a_42c4_ENOMEM.rel | 10 + .../messages_lib/029a_7c5c_IPCP_20_25s_0a.rel | 10 - .../029b_a490_IRQ_20_25u_20out_20.rel | 14 - src/nos/lib/messages_lib/029b_d51d_ENOSPC.rel | 10 + .../029c_925d_Idle_20poll_20timer.rel | 14 - .../lib/messages_lib/029c_d3a2_ENOTBLK.rel | 10 + .../lib/messages_lib/029d_4ab5_Image_0a.rel | 10 - .../lib/messages_lib/029d_f683_ENOTDIR.rel | 10 + .../029e_7e58_Initial_20RTT_20_28.rel | 12 - .../lib/messages_lib/029e_83de_ENOTEMPTY.rel | 12 + src/nos/lib/messages_lib/029f_81a3_ENOTTY.rel | 10 + .../029f_bd38_Inqlen_3a_20_25d_20.rel | 12 - src/nos/lib/messages_lib/02a0_01a7_ENXIO.rel | 10 + .../02a0_c7f6_Insufficient_20args.rel | 12 - src/nos/lib/messages_lib/02a1_4485_EPERM.rel | 10 + .../02a1_fcf9_Interface_20_20_20R.rel | 18 - src/nos/lib/messages_lib/02a2_5ede_EPIPE.rel | 10 + .../02a2_b903_Interface_20_22_25s.rel | 16 - .../02a3_4daf_Interface_20_22_25s.rel | 14 - src/nos/lib/messages_lib/02a3_7f6a_ERANGE.rel | 10 + src/nos/lib/messages_lib/02a4_0587_EROFS.rel | 10 + .../02a4_42ac_Interface_20_22_25s.rel | 14 - .../02a5_5a50_Interface_20_25s_20.rel | 14 - .../02a5_6b3a_ESCC_20channel_20_2.rel | 16 + .../02a6_1298_Interface_20_25s_20.rel | 14 - .../02a6_6d38_ESCC_20channel_20_2.rel | 14 + .../02a7_0a8a_ESCC_20driver_20alr.rel | 18 + .../02a7_24cb_Interface_20_25s_20.rel | 14 - .../02a8_c749_Interface_20_25s_20.rel | 14 - .../02a8_d89e_ESCC_20driver_20not.rel | 14 + .../02a9_63a0_Interface_20_25s_20.rel | 14 - src/nos/lib/messages_lib/02a9_dd82_ESHELL.rel | 10 + .../02aa_8880_Interface_20_25s_20.rel | 14 - src/nos/lib/messages_lib/02aa_ffa8_ESPIPE.rel | 10 + .../02ab_6e91_Interface_20_25s_20.rel | 14 - src/nos/lib/messages_lib/02ab_b33c_ESRCH.rel | 10 + .../02ac_103c_Interface_20address.rel | 16 - .../lib/messages_lib/02ac_194a_ETXTBSY.rel | 10 + src/nos/lib/messages_lib/02ad_8d4a_EXDEV.rel | 10 + .../02ad_c429_Interface_3a_20.rel | 12 - .../messages_lib/02ae_6684_Echo_20Reply.rel | 12 + .../02ae_d726_Invalid_20magic_20c.rel | 14 - .../messages_lib/02af_1323_Echo_20Request.rel | 12 + .../02af_42d9_Invalid_20range_2e_.rel | 12 - .../02b0_4f54_Encapsulation_20mod.rel | 16 + .../02b0_89c0_Invalid_20type_20_2.rel | 12 - .../02b1_0f4a_Enqued_20_20_2d_20_.rel | 18 + .../02b1_62ed_Invalid_20user_20na.rel | 14 - .../02b2_be0b_Job_20id_20_25s_20n.rel | 14 - .../02b2_de30_Enter_20message_2e_.rel | 12 + .../02b3_3a50_Error_20in_20respon.rel | 12 + .../messages_lib/02b3_87a9_K_20numbers.rel | 12 - .../lib/messages_lib/02b4_414e_KISS_3a_20.rel | 10 - .../02b4_d568_Error_20updating_20.rel | 14 + .../02b5_1668_Known_20users_20on_.rel | 14 - .../02b5_69fc_Error_20writing_20m.rel | 14 + src/nos/lib/messages_lib/02b6_171d_LCP_0a.rel | 10 - .../02b6_9664_Escape_20character_.rel | 14 + .../02b7_bdca_Establishment_20Pha.rel | 12 + .../messages_lib/02b7_befe_LCP_20_25s_0a.rel | 10 - .../02b8_1d45_Last_20message_0a.rel | 12 - .../02b8_8c2d_Ether_3a_20len_20_2.rel | 14 + src/nos/lib/messages_lib/02b9_3af3_F_3e.rel | 10 + src/nos/lib/messages_lib/02b9_a317_Loc_20.rel | 10 - .../lib/messages_lib/02ba_0046_Failed_0a.rel | 10 + .../02ba_5ce5_Local_3a_20_25s.rel | 12 - .../02bb_0926_Local_3a_20_25s_20_.rel | 18 - .../02bb_8931_Failed_3b_20close_2.rel | 14 + .../02bc_4a7b_First_20init_20ESCC.rel | 14 + .../02bc_6210_Lock_20directory_20.rel | 14 - .../02bd_0954_Forwarding_20timer_.rel | 14 + .../02bd_f59a_Logging_20off_0a.rel | 12 - .../02be_1bd9_Logging_20to_20_25s.rel | 12 - .../02be_95bb_Free_20address_20qu.rel | 12 + .../02bf_4a5a_Logical_20bytesize_.rel | 14 - .../02bf_fee7_Free_20cache_3a_20s.rel | 16 + .../02c0_4f93_Login_20incorrect_0.rel | 12 - .../02c0_8dc1_Free_20memory_20thr.rel | 14 + .../02c1_1be2_From_20_25s_20_25s.rel | 12 + .../02c1_8ac2_MBOX_20Zap_3a_20_25.rel | 12 - .../02c2_1dc7_MBOX_20bbs_20mail_2.rel | 16 - .../02c2_d837_From_3a_20_25s_0a.rel | 12 + .../02c3_37c2_MBOX_20bbs_20mail_2.rel | 14 - .../02c3_b9a0_Garbage_20bp_20_25l.rel | 12 + .../02c4_7731_Group_20list_20too_.rel | 18 + .../02c4_f88f_MBOX_20forward_20fa.rel | 16 - .../02c5_9bd4_MBOX_20forwarding_2.rel | 14 - .../02c5_ccdf_HAPN_20_25d_3a_20_2.rel | 18 + .../02c6_9570_HOPCHECK_20start_20.rel | 14 + .../02c6_d1e8_MBOX_20login_3a_20_.rel | 12 - .../02c7_8ef4_HOPCHECK_20to_20_25.rel | 12 + .../02c7_dd2e_MBOX_20login_3a_20_.rel | 14 - .../02c8_c794_HOPCHECK_20tracing.rel | 12 + .../02c8_e920_MBOX_20sysop_3a_20_.rel | 12 - .../02c9_4952_HS_3a_20Warning_3a_.rel | 16 + .../02c9_a30c_MBOX_20upload_3a_20.rel | 12 - .../02ca_10ba_Hardware_20_25u_0a.rel | 12 + .../lib/messages_lib/02ca_c247_MKD_20_25s.rel | 10 - .../02cb_32e9_Heap_20debugging.rel | 12 + .../02cb_53a6_MRU_20_25s_20_28_25.rel | 16 - .../02cc_9144_Host_20_25s_20_28_2.rel | 14 + .../messages_lib/02cc_f9a6_Magic_20Number.rel | 12 - .../02cd_862c_Host_20_25s_20unkno.rel | 12 + .../02cd_d070_Mail_20area_3a_20_2.rel | 16 - .../02ce_0103_Mail_20box_20full_3.rel | 14 - .../02ce_f216_Hostname_20set_20to.rel | 12 + .../02cf_267d_Hytech_20KA9Q_20NOS.rel | 36 + .../02cf_523a_Main_20commands_3a_.rel | 12 - .../02d0_dcca_Max_20attempts_20to.rel | 14 - .../02d0_df4f_ICMP_20echo_20respo.rel | 14 + .../messages_lib/02d1_0279_Max_20clients.rel | 12 - .../02d1_db6d_ICMP_20from_20_25s_.rel | 12 + .../02d2_3cd5_Max_20frame_20lengt.rel | 14 - .../messages_lib/02d2_abbc_ICMP_20tracing.rel | 12 + .../02d3_6b85_ICMP_3a_20type_20_2.rel | 12 + .../02d3_d96d_Maximum_20messages_.rel | 14 - .../02d4_488d_Mbuf_20sizes_3a_0a.rel | 12 - src/nos/lib/messages_lib/02d4_dff6_IP_0a.rel | 10 + .../02d5_5812_IP_20Time_2dto_2dli.rel | 12 + .../02d5_ee8f_Message_20_23_25d_2.rel | 12 - .../02d6_0e41_IP_20addr_20_20_20_.rel | 18 + .../02d6_b5f9_Mode_20_25s_20unkno.rel | 14 - .../02d7_8cdb_IP_20reasm_20timeou.rel | 14 + .../02d7_aa15_Mode_20_25s_20unkno.rel | 16 - .../02d8_5f88_IP_20rx_20tracing.rel | 12 + .../02d8_ac3e_Msg_20_25d_20Killed.rel | 12 - .../02d9_88e0_IP_3a_20CHECKSUM_20.rel | 14 + .../02d9_9a86_Must_20be_20_200_20.rel | 14 - .../02da_03a7_IP_3a_20bad_20heade.rel | 12 + .../02da_362b_Must_20be_20_200_20.rel | 14 - .../02db_2da0_Must_20be_20_3e_3d_.rel | 12 - .../02db_4543_IP_3a_20len_20_25u.rel | 12 + .../02dc_06a9_Must_20set_20_27r_2.rel | 16 - .../lib/messages_lib/02dc_e067_IPCP_0a.rel | 10 + .../lib/messages_lib/02dd_6e3f_IPCP_20.rel | 10 + .../02dd_d814_N_3e_3d_255u_3a_257.rel | 18 - .../02de_7868_NET_2fROM_20Routing.rel | 14 - .../02de_9f0e_IPCP_20ACK_3a_20buf.rel | 16 + .../02df_7bbb_IPCP_20ACK_3a_20dat.rel | 14 + .../02df_ae07_NET_2fROM_20not_20a.rel | 14 - .../02e0_b0d9_IPCP_20ACK_3a_20val.rel | 12 + .../02e0_d0e9_NET_2fROM_3a_20_25s.rel | 12 - .../02e1_3a6e_IPCP_20ACK_3a_20wro.rel | 12 + .../02e1_73b0_NEWNEWS_20_25s_20_2.rel | 12 - .../02e2_678b_IPCP_20NAK_3a_20bad.rel | 14 + .../02e2_c191_NNTP_20_25s_20Canno.rel | 16 - .../02e3_4d9e_IPCP_20NAK_3a_20opt.rel | 14 + .../02e3_7ed2_NNTP_20_25s_20Canno.rel | 14 - .../02e4_4732_IPCP_20NAK_3a_20opt.rel | 14 + .../02e4_bcd0_NNTP_20_25s_20Conne.rel | 14 - .../02e5_3eb8_IPCP_20NAK_3a_20ran.rel | 14 + .../02e5_796b_NNTP_20_25s_20Conne.rel | 14 - .../02e6_4193_NNTP_20_25s_20Conne.rel | 16 - .../02e6_86ff_IPCP_20NAK_3a_20val.rel | 12 + .../02e7_0909_NNTP_20_25s_20Conne.rel | 16 - .../02e7_0dfe_IPCP_20NAK_3a_20wro.rel | 12 + .../02e8_3814_NNTP_20_25s_20Conne.rel | 18 - .../02e8_77fc_IPCP_20REJ_3a_20bad.rel | 14 + .../02e9_b5ec_NNTP_20_25s_20Could.rel | 18 - .../02e9_e0d3_IPCP_20REJ_3a_20opt.rel | 14 + .../02ea_8531_NNTP_20_25s_20Could.rel | 14 - .../02ea_ea7f_IPCP_20REJ_3a_20opt.rel | 14 + .../02eb_8fd5_NNTP_20_25s_20Could.rel | 14 - .../02eb_a959_IPCP_20REJ_3a_20ran.rel | 14 + .../02ec_0d83_NNTP_20_25s_20Givin.rel | 16 - .../02ec_3342_IPCP_20REJ_3a_20val.rel | 12 + .../02ed_19c4_NNTP_20_25s_20Givin.rel | 16 - .../02ed_3c15_IPCP_20REJ_3a_20wro.rel | 12 + .../02ee_213a_NNTP_20_25s_20bad_2.rel | 18 - .../02ee_497c_IPCP_20REQ_3a_20bad.rel | 14 + .../02ef_31a2_NNTP_20_25s_20bad_2.rel | 18 - .../02ef_a1a1_IPCP_20REQ_3a_20ran.rel | 14 + .../02f0_4065_IPCP_20REQ_3a_20res.rel | 16 + .../02f0_df3f_NNTP_20_25s_20givin.rel | 18 - .../02f1_791c_NNTP_20_25s_20givin.rel | 16 - .../02f1_a490_IRQ_20_25u_20out_20.rel | 14 + .../02f2_75ce_NNTP_20_25s_20givin.rel | 16 - .../02f2_925d_Idle_20poll_20timer.rel | 14 + .../lib/messages_lib/02f3_4ab5_Image_0a.rel | 10 + .../02f3_7eb6_NNTP_20_25s_20proto.rel | 16 - .../02f4_7e58_Initial_20RTT_20_28.rel | 12 + .../02f4_7f99_NNTP_20_25s_20proto.rel | 16 - .../02f5_a517_NNTP_20Cannot_20ope.rel | 16 - .../02f5_bd38_Inqlen_3a_20_25d_20.rel | 12 + .../02f6_c7f6_Insufficient_20args.rel | 12 + .../02f6_fc8f_NNTP_20can_27t_20re.rel | 14 - .../02f7_2c2a_NNTP_20daemon_20ent.rel | 16 - .../02f7_fcf9_Interface_20_20_20R.rel | 18 + .../02f8_b903_Interface_20_22_25s.rel | 16 + .../02f8_f2a9_NNTP_20daemon_20exi.rel | 14 - .../02f9_4daf_Interface_20_22_25s.rel | 14 + .../02f9_cbc7_NNTP_20daemon_20qui.rel | 16 - .../02fa_0fa8_NNTP_20group_20_27_.rel | 14 - .../02fa_42ac_Interface_20_22_25s.rel | 14 + .../02fb_0e76_NNTP_20receive_20er.rel | 16 - .../02fb_5a50_Interface_20_25s_20.rel | 14 + .../02fc_1298_Interface_20_25s_20.rel | 14 + .../02fc_a47f_NNTP_20received_20_.rel | 14 - .../messages_lib/02fd_0916_NNTP_20tracing.rel | 12 - .../02fd_24cb_Interface_20_25s_20.rel | 14 + .../02fe_b065_NNTP_20window_20to_.rel | 14 - .../02fe_c749_Interface_20_25s_20.rel | 14 + .../02ff_63a0_Interface_20_25s_20.rel | 14 + .../messages_lib/02ff_852e_NO_20_2d_20.rel | 10 - .../0300_c292_Interface_20_25s_20.rel | 14 + .../0300_e182_NO_20_2d_20bad_20ad.rel | 12 - .../0301_7ccb_NO_20_2d_20syntax_2.rel | 12 - .../0301_8880_Interface_20_25s_20.rel | 14 + .../0302_2df6_NOS_20log_20closed.rel | 12 - .../0302_6e91_Interface_20_25s_20.rel | 14 + .../0303_103c_Interface_20address.rel | 16 + .../0303_e1c8_NOS_20was_20started.rel | 14 - .../0304_c429_Interface_3a_20.rel | 12 + .../0304_cfbe_NOS_20was_20stopped.rel | 14 - .../0305_998c_NULL_20BUFFER_0a.rel | 12 - .../0305_d726_Invalid_20magic_20c.rel | 14 + .../0306_42d9_Invalid_20range_2e_.rel | 12 + .../lib/messages_lib/0306_89a8_Net_3e_20.rel | 10 - .../0307_89c0_Invalid_20type_20_2.rel | 12 + .../0307_e0c6_Network_20_25s_20co.rel | 14 - .../0308_4009_New_20mail_20arrive.rel | 14 - .../0308_62ed_Invalid_20user_20na.rel | 14 + .../0309_be0b_Job_20id_20_25s_20n.rel | 14 + .../0309_fbfc_New_20mail_20arrive.rel | 18 - .../messages_lib/030a_87a9_K_20numbers.rel | 12 + .../030a_d0a7_New_20news_20arrive.rel | 16 - .../lib/messages_lib/030b_414e_KISS_3a_20.rel | 10 + .../030b_e9a0_No_20HAPN_20adaptor.rel | 14 - .../030c_1668_Known_20users_20on_.rel | 14 + .../030c_87bb_No_20current_20sess.rel | 12 - src/nos/lib/messages_lib/030d_171d_LCP_0a.rel | 10 + .../030d_7f27_No_20dialer_20activ.rel | 14 - src/nos/lib/messages_lib/030e_9945_LCP_20.rel | 10 + .../030e_cd1f_No_20finger_20infor.rel | 16 - .../030f_2a2e_No_20help_20availab.rel | 16 - .../030f_7a27_LCP_20ACK_3a_20buff.rel | 16 + .../0310_7cc9_No_20packet_20drive.rel | 16 - .../0310_a126_LCP_20ACK_3a_20data.rel | 14 + .../0311_4e0c_No_20such_20message.rel | 14 - .../0311_6dd9_LCP_20ACK_3a_20vali.rel | 12 + .../0312_2a80_No_20such_20server_.rel | 14 - .../0312_d52d_LCP_20ACK_3a_20wron.rel | 12 + .../0313_0cda_Nodetimer_20_25lu_2.rel | 14 - .../0313_febe_LCP_20NAK_3a_20bad_.rel | 14 + src/nos/lib/messages_lib/0314_3fb0_None.rel | 10 - .../0314_8ccc_LCP_20NAK_3a_20opti.rel | 14 + .../lib/messages_lib/0315_1aee_None_0a.rel | 10 - .../0315_8660_LCP_20NAK_3a_20opti.rel | 14 + .../0316_ee4a_LCP_20NAK_3a_20ran_.rel | 14 + .../0316_f8e2_Not_20a_20valid_20s.rel | 12 - .../0317_5bff_LCP_20NAK_3a_20vali.rel | 12 + .../0317_b4ba_Not_20an_20FTP_20se.rel | 14 - .../0318_e2bd_LCP_20NAK_3a_20wron.rel | 12 + .../messages_lib/0318_ee7e_Not_20found_0a.rel | 12 - .../0319_533e_Not_20in_20table_0a.rel | 12 - .../0319_eec9_LCP_20REJ_3a_20bad_.rel | 14 + .../031a_2181_LCP_20REJ_3a_20opti.rel | 14 + .../031a_c7b9_Not_20supported_0a.rel | 12 - .../031b_2b2d_LCP_20REJ_3a_20opti.rel | 14 + .../031b_9692_Obsotimer_20_25lu_2.rel | 14 - .../031c_79ab_LCP_20REJ_3a_20ran_.rel | 14 + .../031c_ff96_Oh_2c_20hello_20_25.rel | 12 - .../031d_0948_Only_20_25d_20DRSI_.rel | 18 - .../031d_ee42_LCP_20REJ_3a_20vali.rel | 12 + .../031e_8edb_Only_20_25d_20net_2.rel | 16 - .../031e_d356_LCP_20REJ_3a_20wron.rel | 12 + .../031f_d049_LCP_20REQ_3a_20bad_.rel | 14 + .../031f_f9f0_Only_201_20EAGLE_20.rel | 18 - .../0320_1514_Outqlen_3a_20_25d_2.rel | 14 - .../0320_7153_LCP_20REQ_3a_20ran_.rel | 14 + .../0321_0ae9_LCP_20REQ_3a_20resu.rel | 16 + .../0321_5b48_PANIC_3a_20Timer_20.rel | 14 - .../0322_1d45_Last_20message_0a.rel | 12 + .../0322_281b_PANIC_3a_20buffer_2.rel | 18 - src/nos/lib/messages_lib/0323_c626_Listen.rel | 10 + src/nos/lib/messages_lib/0323_f630_PAP_0a.rel | 10 - .../messages_lib/0324_b2fb_PAP_20_25s_0a.rel | 10 - .../0324_f6d8_Listening_20_2d_2d_.rel | 18 + .../messages_lib/0325_8063_PASS_20_25s.rel | 10 - src/nos/lib/messages_lib/0325_a317_Loc_20.rel | 10 + .../0326_2320_PI_20Board_20Statis.rel | 14 - .../0326_5ce5_Local_3a_20_25s.rel | 12 + .../0327_0926_Local_3a_20_25s_20_.rel | 18 + .../0327_73f1_PI_3a_20DMA_20_25d_.rel | 14 - .../0328_5841_PI_3a_20DMA_20chann.rel | 16 - .../0328_6210_Lock_20directory_20.rel | 14 + .../0329_3992_PI_3a_20IRQ_20_25u_.rel | 14 - .../0329_f59a_Logging_20off_0a.rel | 12 + .../032a_1bd9_Logging_20to_20_25s.rel | 12 + .../032a_4ca4_PI_3a_20Interface_2.rel | 16 - .../032b_4a5a_Logical_20bytesize_.rel | 14 + .../032b_d856_PI_3a_20Maximum_20o.rel | 16 - .../032c_4f93_Login_20incorrect_0.rel | 12 + .../032c_9098_PI_3a_20Mode_20_25s.rel | 16 - .../032d_8ac2_MBOX_20Zap_3a_20_25.rel | 12 + .../032d_de39_PI_3a_20No_20IP_20a.rel | 12 - .../032e_02ea_PI_3a_20No_20memory.rel | 18 - .../032e_1dc7_MBOX_20bbs_20mail_2.rel | 16 + .../032f_37c2_MBOX_20bbs_20mail_2.rel | 14 + .../032f_c0d0_PI_3a_20No_20memory.rel | 18 - .../0330_94ca_PI_3a_20No_20memory.rel | 18 - .../0330_f88f_MBOX_20forward_20fa.rel | 16 + .../0331_9bd4_MBOX_20forwarding_2.rel | 14 + .../0331_c698_PI_3a_20No_20memory.rel | 18 - .../0332_d1e8_MBOX_20login_3a_20_.rel | 12 + .../0332_d61f_PI_3a_20Set_20mycal.rel | 14 - .../0333_68d4_PID_20_20_20CS_3aIP.rel | 22 - .../0333_dd2e_MBOX_20login_3a_20_.rel | 14 + .../0334_3c62_POP_20access_20DENI.rel | 14 - .../0334_e920_MBOX_20sysop_3a_20_.rel | 12 + .../0335_a30c_MBOX_20upload_3a_20.rel | 12 + .../0335_f3cf_POP_20access_20gran.rel | 14 - .../0336_639f_POP_20client_20retr.rel | 16 - .../lib/messages_lib/0336_c247_MKD_20_25s.rel | 10 + .../0337_53a6_MRU_20_25s_20_28_25.rel | 16 + .../messages_lib/0337_e9bb_POP_20quiet.rel | 12 - .../0338_1231_POP_20users_20file_.rel | 14 - .../messages_lib/0338_f9a6_Magic_20Number.rel | 12 + .../0339_d070_Mail_20area_3a_20_2.rel | 16 + .../0339_e126_PORT_20_25u_2c_25u_.rel | 14 - .../033a_0103_Mail_20box_20full_3.rel | 14 + .../messages_lib/033a_b459_PPP_20tracing.rel | 12 - .../033b_523a_Main_20commands_3a_.rel | 12 + .../033b_b660_PPP_3a_20len_20_253.rel | 12 - .../033c_8c73_Packet_20driver_20h.rel | 16 - .../033c_dcca_Max_20attempts_20to.rel | 14 + .../messages_lib/033d_0279_Max_20clients.rel | 12 + src/nos/lib/messages_lib/033d_d638_Pap_0a.rel | 10 - .../033e_3cd5_Max_20frame_20lengt.rel | 14 + .../033e_8165_Parameter_20_25s_20.rel | 14 - .../messages_lib/033f_85d2_Password_3a_20.rel | 12 - .../033f_d96d_Maximum_20messages_.rel | 14 + .../0340_488d_Mbuf_20sizes_3a_0a.rel | 12 + .../0340_cb37_Password_3a_20_25c_.rel | 12 - .../lib/messages_lib/0341_6310_Path_3a_20.rel | 10 - .../0341_ee8f_Message_20_23_25d_2.rel | 12 + .../0342_b5f9_Mode_20_25s_20unkno.rel | 14 + .../0342_f75b_Persistence_3a_20_2.rel | 14 - .../0343_7bc8_Pinging_20_25s_0a.rel | 12 - .../0343_aa15_Mode_20_25s_20unkno.rel | 16 + .../0344_94a5_Pinging_20resumed_0.rel | 12 - .../0344_ac3e_Msg_20_25d_20Killed.rel | 12 + .../0345_7fa9_Pinging_20suspended.rel | 14 - .../0345_9a86_Must_20be_20_200_20.rel | 14 + .../0346_220f_Please_20hang_20up_.rel | 14 - .../0346_362b_Must_20be_20_200_20.rel | 14 + .../0347_2da0_Must_20be_20_3e_3d_.rel | 12 + .../0347_4304_Poll_20threshold_20.rel | 14 - .../0348_06a9_Must_20set_20_27r_2.rel | 16 + .../0348_f8a0_Pool_20count_20_25s.rel | 16 - .../0349_d814_N_3e_3d_255u_3a_257.rel | 18 + .../0349_dd4d_Protocol_20Field_20.rel | 14 - .../lib/messages_lib/034a_744a_QUIT_0a.rel | 10 - .../034a_7868_NET_2fROM_20Routing.rel | 14 + .../034b_43c0_Quality_20cannot_20.rel | 16 - .../034b_ae07_NET_2fROM_20not_20a.rel | 14 + .../034c_b523_Queue_20limit_20_28.rel | 12 - .../034c_d0e9_NET_2fROM_3a_20_25s.rel | 12 + .../messages_lib/034d_4a0a_R_20numbers.rel | 12 - .../034d_73b0_NEWNEWS_20_25s_20_2.rel | 12 + .../034e_c191_NNTP_20_25s_20Canno.rel | 16 + .../034e_db0e_R_3a_25s_20_40_25s_.rel | 12 - .../lib/messages_lib/034f_373f_REQUEST.rel | 10 - .../034f_7ed2_NNTP_20_25s_20Canno.rel | 14 + .../lib/messages_lib/0350_19a4_RESPONSE.rel | 10 - .../0350_bcd0_NNTP_20_25s_20Conne.rel | 14 + .../0351_796b_NNTP_20_25s_20Conne.rel | 14 + .../messages_lib/0351_8b13_RETR_20_25s.rel | 10 - .../0352_4193_NNTP_20_25s_20Conne.rel | 16 + .../lib/messages_lib/0352_86e9_RETURN_0a.rel | 10 - .../0353_0909_NNTP_20_25s_20Conne.rel | 16 + .../0353_bbdb_RFrames_20_2d_20_25.rel | 18 - .../0354_3814_NNTP_20_25s_20Conne.rel | 18 + .../messages_lib/0354_f9d6_RIP_20merging.rel | 12 - .../0355_3211_RIP_20refused_20fro.rel | 14 - .../0355_b5ec_NNTP_20_25s_20Could.rel | 18 + .../0356_8531_NNTP_20_25s_20Could.rel | 14 + .../messages_lib/0356_8827_RIP_20tracing.rel | 12 - .../lib/messages_lib/0357_5585_RIP_3a_20.rel | 10 - .../0357_8fd5_NNTP_20_25s_20Could.rel | 14 + .../0358_0d83_NNTP_20_25s_20Givin.rel | 16 + .../0358_fd1d_RIP_3a_20sent_20_25.rel | 20 - .../0359_19c4_NNTP_20_25s_20Givin.rel | 16 + .../0359_6b7c_RIPCMD_3a_20Unknown.rel | 14 - .../035a_213a_NNTP_20_25s_20bad_2.rel | 18 + .../035a_5f5f_RIPCMD_5fREQUEST_0a.rel | 12 - .../035b_07f6_RIPCMD_5fRESPONSE_2.rel | 14 - .../035b_31a2_NNTP_20_25s_20bad_2.rel | 18 + .../035c_df3f_NNTP_20_25s_20givin.rel | 18 + .../035c_eb71_RIP_5frx_3a_20Not_2.rel | 16 - .../035d_791c_NNTP_20_25s_20givin.rel | 16 + .../lib/messages_lib/035d_86e6_RMD_20_25s.rel | 10 - .../035e_75ce_NNTP_20_25s_20givin.rel | 16 + .../035e_8005_Range_20for_20inter.rel | 16 - .../035f_1ee5_Reassembly_20fragme.rel | 14 - .../035f_7eb6_NNTP_20_25s_20proto.rel | 16 + .../0360_7f99_NNTP_20_25s_20proto.rel | 16 + .../0360_fbe9_Reassembly_20queue_.rel | 12 - .../messages_lib/0361_5eb3_Received_3a_20.rel | 12 - .../0361_a517_NNTP_20Cannot_20ope.rel | 16 + .../0362_9fbc_Recording_20into_20.rel | 12 - .../0362_fc8f_NNTP_20can_27t_20re.rel | 14 + .../0363_2c2a_NNTP_20daemon_20ent.rel | 16 + .../0363_aa80_Recording_20off_0a.rel | 12 - .../0364_2a15_Recv_3a_20_20_20_20.rel | 20 - .../0364_f2a9_NNTP_20daemon_20exi.rel | 14 + .../0365_cbc7_NNTP_20daemon_20qui.rel | 16 + .../lib/messages_lib/0365_d0ff_Refuse_0a.rel | 10 - .../0366_0fa8_NNTP_20group_20_27_.rel | 14 + .../0366_42c0_Refusing_20announce.rel | 16 - .../0367_0e76_NNTP_20receive_20er.rel | 16 + .../0367_6bd1_Requesting_2e_2e_2e.rel | 12 - .../0368_4784_Resolver_20_25s_20u.rel | 14 - .../0368_a47f_NNTP_20received_20_.rel | 14 + .../messages_lib/0369_0916_NNTP_20tracing.rel | 12 + .../0369_ae52_Resolving_20_25s_2e.rel | 12 - .../036a_200a_Resolving_20_25s_2e.rel | 12 - .../036a_b065_NNTP_20window_20to_.rel | 14 + .../messages_lib/036b_852e_NO_20_2d_20.rel | 10 + .../messages_lib/036b_cacc_Retry_20limit.rel | 12 - .../messages_lib/036c_0cd3_Returned_20.rel | 12 - .../036c_e182_NO_20_2d_20bad_20ad.rel | 12 + .../036d_7ccb_NO_20_2d_20syntax_2.rel | 12 + .../036d_85af_Route_20add_20faile.rel | 12 - .../036e_2df6_NOS_20log_20closed.rel | 12 + .../036e_9b70_Routing_20lookups_3.rel | 18 - .../036f_9c01_Rxints_20_20_2d_20_.rel | 18 - .../036f_e1c8_NOS_20was_20started.rel | 14 + .../0370_ccf6_S_20_20_20_20_20Job.rel | 20 - .../0370_cfbe_NOS_20was_20stopped.rel | 14 + .../0371_998c_NULL_20BUFFER_0a.rel | 12 + .../0371_df6d_S_20command_20synta.rel | 16 - .../0372_4fbb_S_23_20_20_20Type_2.rel | 18 - .../0372_f664_NULL_20username_20o.rel | 14 + .../lib/messages_lib/0373_89a8_Net_3e_20.rel | 10 + .../0373_bf54_SMTP_20_25s_20Conne.rel | 14 - .../0374_cbb7_SMTP_20batching.rel | 12 - .../0374_e0c6_Network_20_25s_20co.rel | 14 + .../0375_41e1_Network_20Protocol_.rel | 14 + .../0375_e45f_SMTP_20client_20Try.rel | 14 - .../0376_4009_New_20mail_20arrive.rel | 14 + .../0376_797a_SMTP_20sent_20job_2.rel | 16 - .../messages_lib/0377_68b2_SMTP_20tracing.rel | 12 - .../0377_fbfc_New_20mail_20arrive.rel | 18 + .../0378_d0a7_New_20news_20arrive.rel | 16 + .../0378_e7a4_SP_20_3d_20_25p_2c_.rel | 16 - .../messages_lib/0379_a1f1_STOR_20_25s.rel | 10 - .../lib/messages_lib/0379_f66f_No_20_20.rel | 10 + .../messages_lib/037a_49fd_STOR_20_25s_0a.rel | 10 - .../037a_e9a0_No_20HAPN_20adaptor.rel | 14 + .../037b_38ea_STOR_20_25s_3a_20_2.rel | 16 - .../037b_87bb_No_20current_20sess.rel | 12 + .../037c_12cc_STOR_20_25s_3a_20Er.rel | 18 - .../037c_7f27_No_20dialer_20activ.rel | 14 + .../037d_cd1f_No_20finger_20infor.rel | 16 + .../037d_cfe9_SUBCMD_20_2d_20Don_.rel | 16 - .../lib/messages_lib/037e_0319_SYST_0a.rel | 10 - .../037e_2a2e_No_20help_20availab.rel | 16 + .../037f_7cc9_No_20packet_20drive.rel | 16 + .../lib/messages_lib/037f_93fc_Same_0a.rel | 10 - .../0380_3c55_Scroll_20file_20siz.rel | 12 - .../0380_c43d_No_20space_21_21_0a.rel | 12 + .../0381_4e0c_No_20such_20message.rel | 14 + .../0381_e255_Send_20file_2c_20_2.rel | 12 - .../0382_2a80_No_20such_20server_.rel | 14 + .../0382_c1d8_Send_3a_20_2508lx_2.rel | 18 - .../0383_0cda_Nodetimer_20_25lu_2.rel | 14 + .../0383_afab_Server_20address_20.rel | 22 - .../0384_36ef_Session_20_25s_20no.rel | 14 - src/nos/lib/messages_lib/0384_3fb0_None.rel | 10 + .../0385_0845_Slot_20time_3a_20_2.rel | 12 - .../lib/messages_lib/0385_2875_None_09.rel | 10 + .../lib/messages_lib/0386_1aee_None_0a.rel | 10 + .../0386_6556_Socket_20not_20in_2.rel | 12 - .../0387_a061_Sorry_20_2d_20the_2.rel | 16 - .../0387_f8e2_Not_20a_20valid_20s.rel | 12 + .../0388_8034_Stack_20violation_2.rel | 14 - .../0388_b4ba_Not_20an_20FTP_20se.rel | 14 + .../0389_6414_Station_20_20_20Las.rel | 16 - .../0389_ae74_Not_20enough_20memo.rel | 12 + .../038a_5bef_Station_20_20_20Las.rel | 20 - .../messages_lib/038a_ee7e_Not_20found_0a.rel | 12 + .../038b_533e_Not_20in_20table_0a.rel | 12 + .../038b_9aef_Subject_3a_20_25s_0.rel | 12 - .../038c_0cac_System_20is_20overl.rel | 16 - .../038c_c7b9_Not_20supported_0a.rel | 12 + .../messages_lib/038d_63e9_T_20hostname.rel | 12 - .../038d_9692_Obsotimer_20_25lu_2.rel | 14 + .../lib/messages_lib/038e_1279_T1_3a_20.rel | 10 - .../038e_ff96_Oh_2c_20hello_20_25.rel | 12 + .../038f_0948_Only_20_25d_20DRSI_.rel | 18 + .../lib/messages_lib/038f_a7c1_T3_3a_20.rel | 10 - .../0390_8edb_Only_20_25d_20net_2.rel | 16 + .../lib/messages_lib/0390_e4a1_TACK_3a_20.rel | 10 - .../0391_7f7b_TCB_20_25p_20_25s_2.rel | 12 - .../0391_f9f0_Only_201_20EAGLE_20.rel | 18 + .../lib/messages_lib/0392_5447_TCD_3a_20.rel | 10 - src/nos/lib/messages_lib/0392_b622_Open.rel | 10 + .../lib/messages_lib/0393_fa23_TCP_20MSS.rel | 10 - src/nos/lib/messages_lib/0393_fef1_Opened.rel | 10 + .../0394_1514_Outqlen_3a_20_25d_2.rel | 14 + .../0394_70e7_TCP_20default_20irt.rel | 12 - .../0395_5ac7_TCP_20header_20comp.rel | 20 - .../0395_5b48_PANIC_3a_20Timer_20.rel | 14 + .../0396_281b_PANIC_3a_20buffer_2.rel | 18 + .../0396_c668_TCP_20state_20traci.rel | 12 - .../0397_b0d7_TCP_20syn_2bdata_20.rel | 14 - src/nos/lib/messages_lib/0397_f630_PAP_0a.rel | 10 + .../0398_43bd_TCP_20timestamps.rel | 12 - src/nos/lib/messages_lib/0398_7868_PAP_20.rel | 10 + .../0399_4af6_PAP_3a_20missing_20.rel | 14 + .../messages_lib/0399_5b74_TCP_20window.rel | 12 - .../039a_7267_TCP_3a_20_25u_2d_3e.rel | 14 - .../039a_e6d7_PAP_3a_20no_20permi.rel | 16 + .../039b_02ce_PAP_3a_20username_2.rel | 18 + .../messages_lib/039b_59c4_TChoke_3a_20.rel | 10 - .../039c_2ced_TX_20Delay_3a_20_25.rel | 12 - .../039c_cf4a_PAP_3a_20wrong_20ID.rel | 12 + .../039d_6a23_TX_20Tail_20time_3a.rel | 14 - .../messages_lib/039d_8063_PASS_20_25s.rel | 10 + .../039e_2320_PI_20Board_20Statis.rel | 14 + .../039e_d175_TX_20queue_20limit.rel | 12 - .../039f_73f1_PI_3a_20DMA_20_25d_.rel | 14 + .../messages_lib/039f_f579_TYPE_20A_0a.rel | 10 - .../messages_lib/03a0_3bb9_TYPE_20I_0a.rel | 10 - .../03a0_5841_PI_3a_20DMA_20chann.rel | 16 + .../03a1_3992_PI_3a_20IRQ_20_25u_.rel | 14 + .../03a1_a616_TYPE_20L_20_25d_0a.rel | 12 - .../03a2_4ca4_PI_3a_20Interface_2.rel | 16 + .../03a2_f6fb_Target_20_20_20_20T.rel | 14 - .../03a3_950b_Telnet_20option_20t.rel | 14 - .../03a3_d856_PI_3a_20Maximum_20o.rel | 16 + .../03a4_4517_Thank_20you_20_25s_.rel | 18 - .../03a4_9098_PI_3a_20Mode_20_25s.rel | 16 + .../03a5_70f0_The_20escape_20char.rel | 14 - .../03a5_de39_PI_3a_20No_20IP_20a.rel | 12 + .../03a6_02ea_PI_3a_20No_20memory.rel | 18 + .../03a6_6de0_Time_20for_201000_2.rel | 16 - .../03a7_601a_Time_20to_20live.rel | 12 - .../03a7_c0d0_PI_3a_20No_20memory.rel | 18 + .../03a8_94ca_PI_3a_20No_20memory.rel | 18 + .../03a8_e505_Timeout_20value_20_.rel | 16 - .../03a9_1db3_Timer_20_20_20_20_2.rel | 22 - .../03a9_c698_PI_3a_20No_20memory.rel | 18 + .../03aa_d61f_PI_3a_20Set_20mycal.rel | 14 + .../03aa_d78a_Tip_20connection_20.rel | 14 - .../03ab_68d4_PID_20_20_20CS_3aIP.rel | 22 + .../03ab_c093_Tip_20session_20alr.rel | 16 - .../03ac_3c62_POP_20access_20DENI.rel | 14 + .../03ac_8c54_To_3a_20_25s_0a.rel | 10 - .../03ad_2a55_Too_20many_20HAPN_2.rel | 14 - .../03ad_f3cf_POP_20access_20gran.rel | 14 + .../03ae_639f_POP_20client_20retr.rel | 16 + .../03ae_76b7_Too_20many_20asynch.rel | 14 - .../03af_58f2_Too_20many_20digipe.rel | 14 - .../messages_lib/03af_e9bb_POP_20quiet.rel | 12 + .../03b0_1231_POP_20users_20file_.rel | 14 + .../03b0_2d53_Too_20many_20hs_20c.rel | 14 - .../03b1_286c_Too_20many_20mailbo.rel | 14 - .../03b1_e126_PORT_20_25u_2c_25u_.rel | 14 + .../03b2_4c9a_Too_20many_20nrs_20.rel | 14 - .../messages_lib/03b2_b459_PPP_20tracing.rel | 12 + .../03b3_7103_Too_20many_20packet.rel | 14 - .../03b3_b660_PPP_3a_20len_20_253.rel | 12 + .../03b4_8c73_Packet_20driver_20h.rel | 16 + .../03b4_d8c3_Too_20many_20pc100_.rel | 14 - .../03b5_2057_Too_20many_20sessio.rel | 12 - src/nos/lib/messages_lib/03b5_e4a3_Pap_09.rel | 10 + .../03b6_447c_Too_20many_20slip_2.rel | 14 - src/nos/lib/messages_lib/03b6_d638_Pap_0a.rel | 10 + .../03b7_0d8c_Try_20to_20bounce_2.rel | 14 - .../03b7_8165_Parameter_20_25s_20.rel | 14 + .../03b8_2030_Trying_20_25s_2e_2e.rel | 12 - .../03b8_d275_Passively_20opening.rel | 14 + .../messages_lib/03b9_85d2_Password_3a_20.rel | 12 + .../03b9_cee2_Trying_20_25s_2e_2e.rel | 12 - .../03ba_be29_Trying_20Connection.rel | 14 - .../03ba_cb37_Password_3a_20_25c_.rel | 12 + .../lib/messages_lib/03bb_6310_Path_3a_20.rel | 10 + .../03bb_9c56_Tstate_20_3d_20_25s.rel | 12 - .../03bc_2890_Peer_20requested_20.rel | 14 + .../03bc_6afe_Turn_20off_20local_.rel | 14 - .../03bd_c801_Tx_20state_20_20_25.rel | 14 - .../03bd_f75b_Persistence_3a_20_2.rel | 14 + .../03be_63e4_Physical_20Line_20D.rel | 12 + .../03be_be1b_Tx_20state_20_20_25.rel | 14 - .../03bf_48f5_Physical_20layer_20.rel | 12 + .../03bf_e1f6_TxBuffers_3a_20_20S.rel | 16 - .../03c0_5cfe_Txdefer_20_2d_20_25.rel | 18 - .../03c0_caac_Physical_20layer_20.rel | 12 + .../03c1_7bc8_Pinging_20_25s_0a.rel | 12 + .../messages_lib/03c1_e733_U_20filename.rel | 12 - src/nos/lib/messages_lib/03c2_9059_UDP_3a.rel | 10 - .../03c2_94a5_Pinging_20resumed_0.rel | 12 + .../03c3_7fa9_Pinging_20suspended.rel | 14 + .../messages_lib/03c3_a945_USER_20_25s.rel | 10 - .../03c4_220f_Please_20hang_20up_.rel | 14 + .../03c4_41aa_Unknown_20command.rel | 12 - .../03c5_4304_Poll_20threshold_20.rel | 14 + .../03c5_e21a_Unknown_20command_2.rel | 12 - .../03c6_b975_Unknown_20command_3.rel | 16 - .../03c6_f8a0_Pool_20count_20_25s.rel | 16 + .../03c7_d2a4_Unknown_20encapsula.rel | 14 - .../03c7_dd4d_Protocol_20Field_20.rel | 14 + .../03c8_8cf4_Unknown_20parameter.rel | 14 - .../03c8_c251_Protocol_20Reject.rel | 12 + .../lib/messages_lib/03c9_744a_QUIT_0a.rel | 10 + .../03c9_eb24_Update_20with_20MD5.rel | 12 - .../03ca_43c0_Quality_20cannot_20.rel | 16 + .../03ca_7d7d_Uploading_20_25s_0a.rel | 12 - .../03cb_b523_Queue_20limit_20_28.rel | 12 + .../03cb_bd81_Uploading_20off_0a.rel | 12 - .../messages_lib/03cc_4a0a_R_20numbers.rel | 12 + .../03cc_6d70_Uptime_20_25s_20Sta.rel | 16 - .../messages_lib/03cd_0a8d_Usage_3a_20.rel | 10 - .../03cd_db0e_R_3a_25s_20_40_25s_.rel | 12 + .../03ce_125c_Usage_3a_20_25s_20_.rel | 14 - .../lib/messages_lib/03ce_373f_REQUEST.rel | 10 + .../lib/messages_lib/03cf_19a4_RESPONSE.rel | 10 + .../03cf_6ae1_Usage_3a_20F_20user.rel | 18 - .../03d0_7dd1_Usage_3a_20ax25_20r.rel | 18 - .../messages_lib/03d0_8b13_RETR_20_25s.rel | 10 + .../lib/messages_lib/03d1_86e9_RETURN_0a.rel | 10 + .../03d1_f8b8_Usage_3a_20dial_20_.rel | 22 - .../03d2_a375_Usage_3a_20mbox_20m.rel | 16 - .../03d2_bbdb_RFrames_20_2d_20_25.rel | 18 + .../03d3_8cfb_Usage_3a_20pop_20us.rel | 18 - .../messages_lib/03d3_f9d6_RIP_20merging.rel | 12 + .../03d4_3211_RIP_20refused_20fro.rel | 14 + .../03d4_a2c0_Usage_3a_20smtp_20m.rel | 16 - .../messages_lib/03d5_8827_RIP_20tracing.rel | 12 + .../03d5_9654_Use_20the_20ax25_20.rel | 18 - .../03d6_4893_User_20_20_20_20_20.rel | 14 - .../lib/messages_lib/03d6_5585_RIP_3a_20.rel | 10 + .../03d7_633f_User_20_25s_20not_2.rel | 12 - .../03d7_fd1d_RIP_3a_20sent_20_25.rel | 20 + .../03d8_6b7c_RIPCMD_3a_20Unknown.rel | 14 + .../messages_lib/03d8_75ef_V_20numbers.rel | 12 - .../03d9_4b9d_VJ_20Compressed_20T.rel | 14 - .../03d9_5f5f_RIPCMD_5fREQUEST_0a.rel | 12 + .../03da_07f6_RIPCMD_5fRESPONSE_2.rel | 14 + .../03da_2be9_VJ_20Uncompressed_2.rel | 14 - .../03db_3d32_Valid_20options_3a.rel | 12 - .../03db_eb71_RIP_5frx_3a_20Not_2.rel | 16 + .../03dc_8007_Value_20_25s_20_28_.rel | 14 - .../lib/messages_lib/03dc_86e6_RMD_20_25s.rel | 10 + .../03dd_8005_Range_20for_20inter.rel | 16 + .../lib/messages_lib/03dd_c8df_Verbose.rel | 10 - .../03de_1ee5_Reassembly_20fragme.rel | 14 + .../messages_lib/03de_32ff_Verbose_20flag.rel | 12 - .../03df_b110_WARNING_3a_20Locati.rel | 16 - .../03df_fbe9_Reassembly_20queue_.rel | 12 + .../messages_lib/03e0_5eb3_Received_3a_20.rel | 12 + .../03e0_eddf_Warning_21_20Interf.rel | 18 - .../03e1_4457_Warning_3a_20type_2.rel | 18 - .../03e1_9fbc_Recording_20into_20.rel | 12 + .../03e2_85a8_Window_20_28frames_.rel | 12 - .../03e2_aa80_Recording_20off_0a.rel | 12 + .../03e3_2a15_Recv_3a_20_20_20_20.rel | 20 + .../03e3_9331_Window_20size_20_28.rel | 14 - .../03e4_613d_Window_3a_20_25_2d5.rel | 18 - .../lib/messages_lib/03e4_d0ff_Refuse_0a.rel | 10 + .../03e5_25a6_Wink_20DTR_3f_20.rel | 12 - .../03e5_42c0_Refusing_20announce.rel | 16 + .../03e6_3602_Remote_20host_20acc.rel | 20 + .../03e6_75b2_Writing_20article_2.rel | 14 - .../messages_lib/03e7_3999_XMD5_20_25s.rel | 10 - .../lib/messages_lib/03e7_ba3a_Req_20Sent.rel | 10 + .../03e8_8d50_Request_20retry_20e.rel | 14 + .../messages_lib/03e8_a62b_XMD5_20_25s_0a.rel | 10 - .../03e9_7be8_Request_20timeout.rel | 12 + .../messages_lib/03e9_8515_XMKD_20_25s_0a.rel | 10 - .../messages_lib/03ea_31d2_XRMD_20_25s_0a.rel | 10 - .../03ea_6bd1_Requesting_2e_2e_2e.rel | 12 + .../03eb_4784_Resolver_20_25s_20u.rel | 14 + .../messages_lib/03eb_71c6_You_20have_20.rel | 12 - .../03ec_1e66_You_20have_20new_20.rel | 12 - .../03ec_ae52_Resolving_20_25s_2e.rel | 12 + .../03ed_200a_Resolving_20_25s_2e.rel | 12 + .../03ed_4583_You_27re_20using_20.rel | 14 - .../messages_lib/03ee_4aef_Z_20filename.rel | 12 - .../messages_lib/03ee_cacc_Retry_20limit.rel | 12 + .../messages_lib/03ef_0cd3_Returned_20.rel | 12 + .../03ef_5fd7_Zap_20failed_3a_20_.rel | 12 - .../03f0_85af_Route_20add_20faile.rel | 12 + src/nos/lib/messages_lib/03f0_e3d1__5b.rel | 10 - .../03f1_9b70_Routing_20lookups_3.rel | 18 + .../03f1_9d9c__5bNET_2dHMR_24_5d.rel | 12 - .../03f2_9c01_Rxints_20_20_2d_20_.rel | 18 + .../messages_lib/03f2_f8e4__5bunknown_5d.rel | 12 - .../lib/messages_lib/03f3_699f__5eC_0a.rel | 10 - .../03f3_ccf6_S_20_20_20_20_20Job.rel | 20 + .../03f4_df6d_S_20command_20synta.rel | 16 + .../lib/messages_lib/03f4_e5d6__5eR_0a.rel | 10 - .../lib/messages_lib/03f5_1951__5fexit.rel | 10 - .../03f5_4fbb_S_23_20_20_20Type_2.rel | 18 + .../03f6_a314__5ffcreat_3a_20WARN.rel | 16 - .../03f6_bf54_SMTP_20_25s_20Conne.rel | 14 + .../03f7_79de__5funlink_3a_20bad_.rel | 14 - .../03f7_cbb7_SMTP_20batching.rel | 12 + src/nos/lib/messages_lib/03f8_722b_accept.rel | 10 - .../03f8_e45f_SMTP_20client_20Try.rel | 14 + .../lib/messages_lib/03f9_30f9_accept_0a.rel | 10 - .../03f9_797a_SMTP_20sent_20job_2.rel | 16 + src/nos/lib/messages_lib/03fa_2cfc_access.rel | 10 - .../messages_lib/03fa_68b2_SMTP_20tracing.rel | 12 + src/nos/lib/messages_lib/03fb_9b89_accm.rel | 10 - .../03fb_e7a4_SP_20_3d_20_25p_2c_.rel | 16 + src/nos/lib/messages_lib/03fc_16c9_acct.rel | 10 - .../messages_lib/03fc_a1f1_STOR_20_25s.rel | 10 + src/nos/lib/messages_lib/03fd_0c4f_acfc.rel | 10 - .../messages_lib/03fd_49fd_STOR_20_25s_0a.rel | 10 + .../03fe_38ea_STOR_20_25s_3a_20_2.rel | 16 + .../lib/messages_lib/03fe_7530_acktime.rel | 10 - .../03ff_12cc_STOR_20_25s_3a_20Er.rel | 18 + src/nos/lib/messages_lib/03ff_41b5_add.rel | 10 - .../0400_cfe9_SUBCMD_20_2d_20Don_.rel | 16 + .../0400_d8a3_add_20_3chostid_3e.rel | 12 - .../lib/messages_lib/0401_0319_SYST_0a.rel | 10 + .../lib/messages_lib/0401_6783_addprivate.rel | 12 - .../lib/messages_lib/0402_93fc_Same_0a.rel | 10 + .../lib/messages_lib/0402_9712_address.rel | 10 - .../lib/messages_lib/0403_2c42_addserver.rel | 12 - .../0403_3c55_Scroll_20file_20siz.rel | 12 + src/nos/lib/messages_lib/0404_b0a9_alarm.rel | 10 - .../0404_e255_Send_20file_2c_20_2.rel | 12 + .../0405_9965_allocs_20_25lu_20fr.rel | 22 - .../0405_c1d8_Send_3a_20_2508lx_2.rel | 18 + .../0406_8e82_allow_20pap_20none_.rel | 12 - .../0406_afab_Server_20address_20.rel | 22 + .../0407_36ef_Session_20_25s_20no.rel | 14 + .../0407_ba08_allow_20tcp_20none_.rel | 12 - .../0408_0845_Slot_20time_3a_20_2.rel | 12 + .../0408_94f6_anext_20pointer_20o.rel | 14 - .../0409_6556_Socket_20not_20in_2.rel | 12 + .../0409_c2a0_answer_20script_3a_.rel | 12 - .../040a_a061_Sorry_20_2d_20the_2.rel | 16 + src/nos/lib/messages_lib/040a_da7c_area.rel | 10 - .../040b_1dde_arp_20add_20_3chost.rel | 20 - .../040b_8034_Stack_20violation_2.rel | 14 + .../040c_96ce_arp_20drop_20_3chos.rel | 18 - src/nos/lib/messages_lib/040c_d9c9_Start.rel | 10 + .../040d_0018_arp_20publish_20_3c.rel | 22 - .../040d_0d1f_Starting_20configur.rel | 16 + src/nos/lib/messages_lib/040e_5838_asci.rel | 10 - .../040e_6414_Station_20_20_20Las.rel | 16 + src/nos/lib/messages_lib/040f_4354_ascii.rel | 10 - .../040f_5bef_Station_20_20_20Las.rel | 20 + .../lib/messages_lib/0410_3914_ascistat.rel | 10 - .../0410_9aef_Subject_3a_20_25s_0.rel | 12 + .../0411_0cac_System_20is_20overl.rel | 16 + src/nos/lib/messages_lib/0411_6442_attach.rel | 10 - .../0412_39bc_attach_20_3chardwar.rel | 16 - .../messages_lib/0412_63e9_T_20hostname.rel | 12 + .../lib/messages_lib/0413_1279_T1_3a_20.rel | 10 + .../0413_fe98_attach_20asci_20_3c.rel | 28 - .../0414_342d_attach_20escc_20_3c.rel | 42 - .../lib/messages_lib/0414_a7c1_T3_3a_20.rel | 10 + .../0415_7943_attempt_20to_20writ.rel | 14 - .../lib/messages_lib/0415_e4a1_TACK_3a_20.rel | 10 + src/nos/lib/messages_lib/0416_7d37_attend.rel | 10 - .../0416_7f7b_TCB_20_25p_20_25s_2.rel | 12 + .../lib/messages_lib/0417_5447_TCD_3a_20.rel | 10 + .../messages_lib/0417_c133_authenticate.rel | 12 - .../lib/messages_lib/0418_fa23_TCP_20MSS.rel | 10 + .../0418_fd47_ax25_20kick_20_3cax.rel | 12 - .../0419_0003_ax25_20reset_20_3ca.rel | 12 - .../0419_70e7_TCP_20default_20irt.rel | 12 + .../041a_5ac7_TCP_20header_20comp.rel | 20 + .../041a_ca0a_bad_20destination_2.rel | 14 - .../041b_60d3_bad_20internet_20ad.rel | 14 - .../041b_c668_TCP_20state_20traci.rel | 12 + .../041c_0a79_bad_20neighbor_20ca.rel | 14 - .../041c_b0d7_TCP_20syn_2bdata_20.rel | 14 + src/nos/lib/messages_lib/041d_4126_batch.rel | 10 - .../041d_43bd_TCP_20timestamps.rel | 12 + .../messages_lib/041e_5b74_TCP_20window.rel | 12 + .../lib/messages_lib/041e_bcb6_bcnodes.rel | 10 - .../041f_0c93_begin_20_2503o_20_2.rel | 12 - .../041f_7267_TCP_3a_20_25u_2d_3e.rel | 14 + .../0420_50c4_bfind_28_25u_2c_20_.rel | 14 - .../messages_lib/0420_59c4_TChoke_3a_20.rel | 10 + .../0421_0a46_bfind_28_29_20retur.rel | 16 - .../0421_2ced_TX_20Delay_3a_20_25.rel | 12 + .../0422_6a23_TX_20Tail_20time_3a.rel | 14 + .../0422_f1cc_bfind_28_29_20retur.rel | 16 - .../0423_d175_TX_20queue_20limit.rel | 12 + .../0423_e2d4_bfree_28_29_20retur.rel | 16 - .../0424_e703_bfree_28_29_20retur.rel | 14 - .../messages_lib/0424_f579_TYPE_20A_0a.rel | 10 + .../messages_lib/0425_3bb9_TYPE_20I_0a.rel | 10 + .../0425_4466_bfree_280x_25x_2c_2.rel | 14 - src/nos/lib/messages_lib/0426_3245_binary.rel | 10 - .../0426_a616_TYPE_20L_20_25d_0a.rel | 12 + src/nos/lib/messages_lib/0427_4c4f_blimit.rel | 10 - .../0427_f6fb_Target_20_20_20_20T.rel | 14 + .../0428_950b_Telnet_20option_20t.rel | 14 + .../0428_c307_blk_5falloc_28_29_2.rel | 16 - .../lib/messages_lib/0429_16a0_TermSent.rel | 10 + .../0429_b0c8_bmap_28_29_20return.rel | 14 - .../042a_bbcb_bmap_28_29_20return.rel | 14 - .../messages_lib/042a_e674_Termin_20Ack.rel | 12 + .../042b_46ee_bmap_28_29_20return.rel | 16 - .../messages_lib/042b_678e_Termin_20Req.rel | 12 + .../042c_3a66_Terminate_20request.rel | 16 + .../042c_7681_bmap_280x_25x_2c_20.rel | 14 - .../042d_b7ab_Terminate_20retry_2.rel | 14 + .../042d_ff8d_bootp_20_5bnet_5fna.rel | 16 - .../042e_0e8f_bootp_3a_20Net_5fer.rel | 16 - .../lib/messages_lib/042e_ff4c_Terminated.rel | 12 + .../042f_206b_Terminated_20unexpe.rel | 14 + .../042f_f5d9_bootp_3a_20timed_20.rel | 16 - .../0430_72d6_bp_20_25lx_20tot_20.rel | 20 - .../0430_73f9_Termination_20Phase.rel | 12 + .../0431_4517_Thank_20you_20_25s_.rel | 18 + .../0431_88ea_bread_28_25u_2c_20_.rel | 14 - .../0432_70f0_The_20escape_20char.rel | 14 + .../0432_89e2_bread_28_29_20retur.rel | 16 - .../0433_6de0_Time_20for_201000_2.rel | 16 + .../0433_7a66_bread_28_29_20retur.rel | 16 - .../0434_601a_Time_20to_20live.rel | 12 + src/nos/lib/messages_lib/0434_9767_brk.rel | 10 - .../lib/messages_lib/0435_12d5_Timeout.rel | 10 + .../lib/messages_lib/0435_f951_broadcast.rel | 12 - src/nos/lib/messages_lib/0436_03ff_bsr.rel | 10 - .../0436_e505_Timeout_20value_20_.rel | 16 + .../0437_1db3_Timer_20_20_20_20_2.rel | 22 + .../0437_d194_bufsync_28_29_20ret.rel | 14 - .../0438_606b_bufsync_28_29_20sta.rel | 12 - .../0438_d78a_Tip_20connection_20.rel | 14 + .../0439_83e6_by_20_25s_20_28_25s.rel | 14 - .../0439_c093_Tip_20session_20alr.rel | 16 + .../043a_69f3_by_20_25s_20with_20.rel | 14 - .../043a_8c54_To_3a_20_25s_0a.rel | 10 + src/nos/lib/messages_lib/043b_9ab1_bye.rel | 10 - .../043b_a093_Too_20few_20argumen.rel | 16 + .../043c_2a55_Too_20many_20HAPN_2.rel | 14 + src/nos/lib/messages_lib/043c_7cbf_cache.rel | 10 - .../043d_76b7_Too_20many_20asynch.rel | 14 + .../043d_a3a9_can_27t_20read_20_2.rel | 12 - .../043e_58f2_Too_20many_20digipe.rel | 14 + .../043e_f4b4_can_27t_20trace_20i.rel | 16 - .../043f_2d53_Too_20many_20hs_20c.rel | 14 + src/nos/lib/messages_lib/043f_9aa7_cd.rel | 10 - .../0440_286c_Too_20many_20mailbo.rel | 14 + .../0440_42c2_cd_20_3cdirectory_3.rel | 12 - .../0441_4c9a_Too_20many_20nrs_20.rel | 14 + .../0441_8b51_ch_5flink_28_29_20r.rel | 16 - .../0442_30ce_ch_5flink_28_29_20r.rel | 16 - .../0442_7103_Too_20many_20packet.rel | 14 + .../0443_7c72_ch_5flink_280x_25x_.rel | 16 - .../0443_d8c3_Too_20many_20pc100_.rel | 14 + .../0444_2057_Too_20many_20sessio.rel | 12 + src/nos/lib/messages_lib/0444_35a9_chat.rel | 10 - .../0445_447c_Too_20many_20slip_2.rel | 14 + src/nos/lib/messages_lib/0445_743f_chdir.rel | 10 - .../0446_0d8c_Try_20to_20bounce_2.rel | 14 + src/nos/lib/messages_lib/0446_5ed3_check.rel | 10 - .../0447_2030_Trying_20_25s_2e_2e.rel | 12 + .../0447_40b3_check_20_3chost_3e.rel | 12 - src/nos/lib/messages_lib/0448_c946_chmod.rel | 10 - .../0448_cee2_Trying_20_25s_2e_2e.rel | 12 + .../lib/messages_lib/0449_b786_choketime.rel | 12 - .../0449_be29_Trying_20Connection.rel | 14 + src/nos/lib/messages_lib/044a_88f5_chown.rel | 10 - .../044a_9c56_Tstate_20_3d_20_25s.rel | 12 + .../044b_6afe_Turn_20off_20local_.rel | 14 + src/nos/lib/messages_lib/044b_87a8_chroot.rel | 10 - src/nos/lib/messages_lib/044c_4822_clean.rel | 10 - .../044c_c801_Tx_20state_20_20_25.rel | 14 + src/nos/lib/messages_lib/044d_23aa_close.rel | 10 - .../044d_be1b_Tx_20state_20_20_25.rel | 14 + .../messages_lib/044e_2b22_close_20FTP.rel | 12 - .../044e_e1f6_TxBuffers_3a_20_20S.rel | 16 + .../044f_5cfe_Txdefer_20_2d_20_25.rel | 18 + .../messages_lib/044f_f93d_close_20Finger.rel | 12 - .../messages_lib/0450_0957_close_20POP.rel | 12 - .../messages_lib/0450_e733_U_20filename.rel | 12 + src/nos/lib/messages_lib/0451_9059_UDP_3a.rel | 10 + .../0451_b85c_close_20POP_20_2d_2.rel | 14 - .../messages_lib/0452_83a3_close_20SMTP.rel | 12 - .../messages_lib/0452_a945_USER_20_25s.rel | 10 + .../0453_790d_Uncompressed_20TCP_.rel | 16 + .../0453_b949_close_20SMTP_20_2d_.rel | 14 - .../0454_423c_close_20discard.rel | 12 - .../0454_6947_Uncompressed_20TCP_.rel | 16 + .../messages_lib/0455_419d_close_20echo.rel | 12 - .../0455_41aa_Unknown_20command.rel | 12 + .../messages_lib/0456_03ad_close_20term.rel | 12 - .../0456_e21a_Unknown_20command_2.rel | 12 + .../0457_83dc_code_20_25u_20arg_2.rel | 12 - .../0457_b975_Unknown_20command_3.rel | 16 + .../0458_d2a4_Unknown_20encapsula.rel | 14 + .../lib/messages_lib/0458_ea90_compare.rel | 10 - .../0459_8cf4_Unknown_20parameter.rel | 14 + .../0459_a613_compare_20_3cremote.rel | 16 - .../045a_eb24_Update_20with_20MD5.rel | 12 + .../lib/messages_lib/045a_fbc2_compress.rel | 10 - .../messages_lib/045b_3845_compressed_20.rel | 12 - .../045b_7d7d_Uploading_20_25s_0a.rel | 12 + .../lib/messages_lib/045c_26b1_configure.rel | 12 - .../045c_bd81_Uploading_20off_0a.rel | 12 + .../045d_6d70_Uptime_20_25s_20Sta.rel | 16 + .../lib/messages_lib/045d_749f_connect.rel | 10 - .../messages_lib/045e_0a8d_Usage_3a_20.rel | 10 + .../lib/messages_lib/045e_5769_control.rel | 10 - .../045f_125c_Usage_3a_20_25s_20_.rel | 14 + .../045f_941e_control_20up_20_7c_.rel | 12 - .../0460_2aba_control_3a_20_25s_0.rel | 12 - .../0460_6ae1_Usage_3a_20F_20user.rel | 18 + src/nos/lib/messages_lib/0461_4bf4_cwd.rel | 10 - .../0461_7dd1_Usage_3a_20ax25_20r.rel | 18 + .../messages_lib/0462_62af_d_5finit_28_29.rel | 10 - .../0462_685b_Usage_3a_20dial_20_.rel | 24 + .../0463_5a9b_d_5finit_28_29_20ma.rel | 14 - .../0463_a375_Usage_3a_20mbox_20m.rel | 16 + src/nos/lib/messages_lib/0464_62a8_debug.rel | 10 - .../0464_8cfb_Usage_3a_20pop_20us.rel | 18 + .../lib/messages_lib/0465_740d_default.rel | 10 - .../0465_a2c0_Usage_3a_20smtp_20m.rel | 16 + .../0466_9654_Use_20the_20ax25_20.rel | 18 + .../messages_lib/0466_db45_defaultfile.rel | 12 - .../0467_4893_User_20_20_20_20_20.rel | 14 + .../0467_818b_delay_20_25lu_0a.rel | 12 - src/nos/lib/messages_lib/0468_2c87_dele.rel | 10 - .../0468_633f_User_20_25s_20not_2.rel | 12 + .../messages_lib/0469_75ef_V_20numbers.rel | 12 + src/nos/lib/messages_lib/0469_89a5_delete.rel | 10 - .../046a_3919_delete_20_3cfile_3e.rel | 12 - .../046a_4b9d_VJ_20Compressed_20T.rel | 14 + .../046b_2be9_VJ_20Uncompressed_2.rel | 14 + .../lib/messages_lib/046b_6466_destlist.rel | 10 - .../046c_3d32_Valid_20options_3a.rel | 12 + src/nos/lib/messages_lib/046c_cfc1_detach.rel | 10 - .../046d_26f3_detach_20_3cinterfa.rel | 12 - .../046d_8007_Value_20_25s_20_28_.rel | 14 + .../046e_3f12_devio_5fgarbage_3a_.rel | 16 - .../lib/messages_lib/046e_c8df_Verbose.rel | 10 + .../046f_0f61_dfile_5fsearch_3a_2.rel | 16 - .../messages_lib/046f_32ff_Verbose_20flag.rel | 12 + .../0470_4eba_dfile_5fupdate_3a_2.rel | 16 - .../0470_b110_WARNING_3a_20Locati.rel | 16 + .../0471_5b47_dfile_5fupdate_3a_2.rel | 16 - .../0471_eddf_Warning_21_20Interf.rel | 18 + .../0472_4457_Warning_3a_20type_2.rel | 18 + .../0472_ef06_dfile_5fupdate_3a_2.rel | 16 - src/nos/lib/messages_lib/0473_0173_dialer.rel | 10 - .../0473_5d14_We_20accepted_20rem.rel | 20 + .../0474_85a8_Window_20_28frames_.rel | 12 + .../0474_8d0b_dialer_20_3ciface_3.rel | 18 - .../lib/messages_lib/0475_18c3_digipeat.rel | 10 - .../0475_9331_Window_20size_20_28.rel | 14 + .../0476_613d_Window_3a_20_25_2d5.rel | 18 + src/nos/lib/messages_lib/0476_bdc7_dir.rel | 10 - .../0477_25a6_Wink_20DTR_3f_20.rel | 12 + .../lib/messages_lib/0477_5c0a_directory.rel | 12 - .../lib/messages_lib/0478_176f_discard.rel | 10 - .../0478_75b2_Writing_20article_2.rel | 14 + .../messages_lib/0479_3999_XMD5_20_25s.rel | 10 + .../0479_684a_discard_20expired_2.rel | 14 - .../messages_lib/047a_a62b_XMD5_20_25s_0a.rel | 10 + .../lib/messages_lib/047a_f701_disconnect.rel | 12 - .../messages_lib/047b_8515_XMKD_20_25s_0a.rel | 10 + src/nos/lib/messages_lib/047b_e146_dns.rel | 10 - .../messages_lib/047c_31d2_XRMD_20_25s_0a.rel | 10 + .../047c_8f79_dns_5fquery_3a_20qu.rel | 16 - .../047d_6da5_dns_5fquery_3a_20re.rel | 16 - src/nos/lib/messages_lib/047d_e80a_Yes_20.rel | 10 + .../047e_041c_doexit_3a_20won_27t.rel | 12 - .../messages_lib/047e_71c6_You_20have_20.rel | 12 + .../047f_1e66_You_20have_20new_20.rel | 12 + src/nos/lib/messages_lib/047f_21ed_domain.rel | 10 - .../0480_4583_You_27re_20using_20.rel | 14 + .../0480_e0fd_down_20script_3a_20.rel | 12 - .../lib/messages_lib/0481_050c_download.rel | 10 - .../messages_lib/0481_4aef_Z_20filename.rel | 12 + src/nos/lib/messages_lib/0482_4853_drop.rel | 10 - .../0482_5fd7_Zap_20failed_3a_20_.rel | 12 + .../0483_0532_drop_20_3chostid_3e.rel | 12 - src/nos/lib/messages_lib/0483_e3d1__5b.rel | 10 + .../0484_9d9c__5bNET_2dHMR_24_5d.rel | 12 + .../lib/messages_lib/0484_e7cf_dropserver.rel | 12 - src/nos/lib/messages_lib/0485_a2e4_dup.rel | 10 - .../messages_lib/0485_f8e4__5bunknown_5d.rel | 12 + .../lib/messages_lib/0486_699f__5eC_0a.rel | 10 + src/nos/lib/messages_lib/0486_b319_dup2.rel | 10 - src/nos/lib/messages_lib/0487_cb91_dynip.rel | 10 - .../lib/messages_lib/0487_e5d6__5eR_0a.rel | 10 + .../lib/messages_lib/0488_1951__5fexit.rel | 10 + src/nos/lib/messages_lib/0488_2edf_echo.rel | 10 - .../0489_7366_empty_20packet_21_2.rel | 12 - .../0489_a314__5ffcreat_3a_20WARN.rel | 16 + .../messages_lib/048a_48fd_encapsulation.rel | 12 - .../048a_79de__5funlink_3a_20bad_.rel | 14 + src/nos/lib/messages_lib/048b_4a34_eol.rel | 10 - src/nos/lib/messages_lib/048b_722b_accept.rel | 10 + .../lib/messages_lib/048c_30f9_accept_0a.rel | 10 + src/nos/lib/messages_lib/048c_b4ae_escape.rel | 10 - src/nos/lib/messages_lib/048d_2cfc_access.rel | 10 + src/nos/lib/messages_lib/048d_858e_escc.rel | 10 - src/nos/lib/messages_lib/048e_9b89_accm.rel | 10 + .../048e_d50a_escc_25d_3a_20No_20.rel | 16 - src/nos/lib/messages_lib/048f_16c9_acct.rel | 10 + .../lib/messages_lib/048f_6362_esccstat.rel | 10 - src/nos/lib/messages_lib/0490_0c4f_acfc.rel | 10 + src/nos/lib/messages_lib/0490_59b0_execve.rel | 10 - src/nos/lib/messages_lib/0491_3566_exit.rel | 10 - .../lib/messages_lib/0491_7530_acktime.rel | 10 + src/nos/lib/messages_lib/0492_41b5_add.rel | 10 + .../lib/messages_lib/0492_bd2b_expired.rel | 10 - .../0493_bf9b_f_5ftrunc_28_29_20r.rel | 14 - .../0493_d8a3_add_20_3chostid_3e.rel | 12 + .../lib/messages_lib/0494_6783_addprivate.rel | 12 + .../0494_687d_f_5ftrunc_280x_25x_.rel | 14 - .../lib/messages_lib/0495_9712_address.rel | 10 + .../lib/messages_lib/0495_bce0_failure.rel | 10 - src/nos/lib/messages_lib/0496_086a_falign.rel | 10 - .../lib/messages_lib/0496_2c42_addserver.rel | 12 + src/nos/lib/messages_lib/0497_303b_files.rel | 10 - src/nos/lib/messages_lib/0497_b0a9_alarm.rel | 10 + .../0498_4d36_allocatepid_28_29_2.rel | 16 + .../0498_d461_filesys_5fdoclose_2.rel | 14 - .../0499_661c_filesys_5fdoclose_2.rel | 16 - .../0499_7b67_allocatepid_280x_25.rel | 14 + .../049a_8db4_filesys_5fdoclose_2.rel | 16 - .../049a_9965_allocs_20_25lu_20fr.rel | 22 + src/nos/lib/messages_lib/049b_d5e4_allow.rel | 10 + .../049b_d6a7_filter_20mode_20is_.rel | 12 - .../049c_8e82_allow_20pap_20none_.rel | 12 + src/nos/lib/messages_lib/049c_927a_finger.rel | 10 - .../049d_8ea1_finger_20name_40hos.rel | 12 - .../049d_ba08_allow_20tcp_20none_.rel | 12 + src/nos/lib/messages_lib/049e_28f4_flush.rel | 10 - .../049e_94f6_anext_20pointer_20o.rel | 14 + .../049f_c2a0_answer_20script_3a_.rel | 12 + .../049f_db22_fmount_28_25d_2c_20.rel | 14 - .../04a0_9479_fmount_28_29_20retu.rel | 16 - src/nos/lib/messages_lib/04a0_da7c_area.rel | 10 + .../04a1_1dde_arp_20add_20_3chost.rel | 20 + .../04a1_d221_fmount_28_29_20retu.rel | 14 - .../04a2_96ce_arp_20drop_20_3chos.rel | 18 + .../04a2_dc8b_fmount_3a_20can_27t.rel | 14 - .../04a3_0018_arp_20publish_20_3c.rel | 22 + src/nos/lib/messages_lib/04a3_8074_fork.rel | 10 - src/nos/lib/messages_lib/04a4_5838_asci.rel | 10 + .../lib/messages_lib/04a4_8227_forward.rel | 10 - src/nos/lib/messages_lib/04a5_4354_ascii.rel | 10 + .../04a5_c066_fp_20_20_20_20_20_2.rel | 18 - .../lib/messages_lib/04a6_3914_ascistat.rel | 10 + .../04a6_9a2a_free_3a_20WARNING_2.rel | 20 - .../04a7_13ec_freeblk_28_25u_2c_2.rel | 14 - src/nos/lib/messages_lib/04a7_6442_attach.rel | 10 + .../04a8_39bc_attach_20_3chardwar.rel | 16 + .../04a8_bc64_freeblk_28_29_20ret.rel | 14 - .../04a9_3018_freeblk_28_29_20ret.rel | 14 - .../04a9_fe98_attach_20asci_20_3c.rel | 28 + .../04aa_093e_attach_20escc_20_3c.rel | 44 + .../04aa_4c13_freebuf_28_25u_29_2.rel | 14 - .../04ab_0c86_freebuf_28_29_20ret.rel | 16 - .../04ab_7943_attempt_20to_20writ.rel | 14 + src/nos/lib/messages_lib/04ac_7d37_attend.rel | 10 + .../lib/messages_lib/04ac_f896_freelist.rel | 10 - .../messages_lib/04ad_bd4f_from_20_25s_20.rel | 10 - .../messages_lib/04ad_c133_authenticate.rel | 12 + .../04ae_5b02_from_20_25s_2ebbs_2.rel | 12 - .../04ae_fd47_ax25_20kick_20_3cax.rel | 12 + .../04af_0003_ax25_20reset_20_3ca.rel | 12 + .../04af_2208_fs_5finit_28_29.rel | 12 - .../04b0_88d9_fsp_200x_25x_20s_5f.rel | 16 - .../04b0_9171_bad_20IP_20packet.rel | 12 + src/nos/lib/messages_lib/04b1_7fbc_fstat.rel | 10 - .../04b1_ca0a_bad_20destination_2.rel | 14 + src/nos/lib/messages_lib/04b2_0e84_ftp.rel | 10 - .../04b2_60d3_bad_20internet_20ad.rel | 14 + .../04b3_0a79_bad_20neighbor_20ca.rel | 14 + .../04b3_bafd_ftp_20_3caddress_3e.rel | 12 - src/nos/lib/messages_lib/04b4_4126_batch.rel | 10 + .../04b4_f999_ftp_3e_20syst_0a.rel | 12 - .../04b5_51ba_garbage_20collectio.rel | 16 - .../lib/messages_lib/04b5_bcb6_bcnodes.rel | 10 + .../04b6_0c93_begin_20_2503o_20_2.rel | 12 + .../lib/messages_lib/04b6_c2ce_gateway.rel | 10 - .../04b7_50c4_bfind_28_25u_2c_20_.rel | 14 + src/nos/lib/messages_lib/04b7_9e35_get.rel | 10 - .../04b8_0a46_bfind_28_29_20retur.rel | 16 + .../04b8_c7c0_get_20_3cremotefile.rel | 14 - .../lib/messages_lib/04b9_60c5_getfsys.rel | 10 - .../04b9_f1cc_bfind_28_29_20retur.rel | 16 + .../04ba_631b_getinode_3a_20bad_2.rel | 14 - .../04ba_e2d4_bfree_28_29_20retur.rel | 16 + src/nos/lib/messages_lib/04bb_7dac_getset.rel | 10 - .../04bb_e703_bfree_28_29_20retur.rel | 14 + .../04bc_4466_bfree_280x_25x_2c_2.rel | 14 + .../04bc_74d1_getting_20block_20_.rel | 16 - src/nos/lib/messages_lib/04bd_3245_binary.rel | 10 + src/nos/lib/messages_lib/04bd_b3cb_groups.rel | 10 - src/nos/lib/messages_lib/04be_156e_hash.rel | 10 - src/nos/lib/messages_lib/04be_4c4f_blimit.rel | 10 + .../04bf_5bc8_heap_20size_20_25lu.rel | 18 - .../04bf_c307_blk_5falloc_28_29_2.rel | 16 + src/nos/lib/messages_lib/04c0_856f_heard.rel | 10 - .../04c0_b0c8_bmap_28_29_20return.rel | 14 + .../04c1_bbcb_bmap_28_29_20return.rel | 14 + src/nos/lib/messages_lib/04c1_fc9f_help.rel | 10 - .../lib/messages_lib/04c2_1d5e_homedir.rel | 10 - .../04c2_46ee_bmap_28_29_20return.rel | 16 + src/nos/lib/messages_lib/04c3_6fa6_hop.rel | 10 - .../04c3_7681_bmap_280x_25x_2c_20.rel | 14 + src/nos/lib/messages_lib/04c4_df98_host.rel | 10 - .../04c4_ff8d_bootp_20_5bnet_5fna.rel | 16 + .../04c5_0e8f_bootp_3a_20Net_5fer.rel | 16 + .../lib/messages_lib/04c5_476e_hostname.rel | 10 - .../04c6_001d_i_5fopen_28_25u_2c_.rel | 14 - .../04c6_f5d9_bootp_3a_20timed_20.rel | 16 + .../04c7_72d6_bp_20_25lx_20tot_20.rel | 20 + .../04c7_e51c_i_5fopen_28_29_20re.rel | 16 - .../04c8_64fb_i_5fopen_28_29_20re.rel | 16 - .../04c8_88ea_bread_28_25u_2c_20_.rel | 14 + src/nos/lib/messages_lib/04c9_2f25_icmp.rel | 10 - .../04c9_89e2_bread_28_29_20retur.rel | 16 + .../04ca_7a66_bread_28_29_20retur.rel | 16 + src/nos/lib/messages_lib/04ca_dd41_ident.rel | 10 - src/nos/lib/messages_lib/04cb_9767_brk.rel | 10 + .../lib/messages_lib/04cb_fe83_ifconfig.rel | 10 - .../04cc_6196_ignored_20_28hold_2.rel | 14 - .../lib/messages_lib/04cc_f951_broadcast.rel | 12 + src/nos/lib/messages_lib/04cd_03ff_bsr.rel | 10 + src/nos/lib/messages_lib/04cd_dc84_info.rel | 10 - .../04ce_0500_input_20line_3a_20_.rel | 12 - .../04ce_d194_bufsync_28_29_20ret.rel | 14 + .../04cf_606b_bufsync_28_29_20sta.rel | 12 + .../lib/messages_lib/04cf_9677_interface.rel | 12 - src/nos/lib/messages_lib/04d0_3fa5_ioctl.rel | 10 - .../04d0_83e6_by_20_25s_20_28_25s.rel | 14 + src/nos/lib/messages_lib/04d1_3172_ip.rel | 10 - .../04d1_69f3_by_20_25s_20with_20.rel | 14 + src/nos/lib/messages_lib/04d2_9ab1_bye.rel | 10 + .../04d2_d229_ip_5frecv_28_25s_29.rel | 12 - .../messages_lib/04d3_289f_ip_5fsend_0a.rel | 10 - src/nos/lib/messages_lib/04d3_7cbf_cache.rel | 10 + .../lib/messages_lib/04d4_0191_ipaddress.rel | 12 - .../04d4_a3a9_can_27t_20read_20_2.rel | 12 + src/nos/lib/messages_lib/04d5_dfc4_ipcp.rel | 10 - .../04d5_f4b4_can_27t_20trace_20i.rel | 16 + src/nos/lib/messages_lib/04d6_9aa7_cd.rel | 10 + src/nos/lib/messages_lib/04d6_f4c1_irtt.rel | 10 - .../04d7_42c2_cd_20_3cdirectory_3.rel | 12 + src/nos/lib/messages_lib/04d7_516b_kick.rel | 10 - .../04d8_8b51_ch_5flink_28_29_20r.rel | 16 + src/nos/lib/messages_lib/04d8_a61c_kill.rel | 10 - .../04d9_30ce_ch_5flink_28_29_20r.rel | 16 + .../04d9_ff9f_kill_20_3cjobnumber.rel | 12 - .../04da_5e27_ksigs_20_25lu_20que.rel | 20 - .../04da_7c72_ch_5flink_280x_25x_.rel | 16 + .../04db_1bbe_kwaits_20_25lu_20no.rel | 16 - src/nos/lib/messages_lib/04db_35a9_chat.rel | 10 + src/nos/lib/messages_lib/04dc_743f_chdir.rel | 10 + src/nos/lib/messages_lib/04dc_a567_lcp.rel | 10 - src/nos/lib/messages_lib/04dd_5ed3_check.rel | 10 + src/nos/lib/messages_lib/04dd_b632_link.rel | 10 - .../04de_40b3_check_20_3chost_3e.rel | 12 + .../messages_lib/04de_dfe4_linkaddress.rel | 12 - .../04df_4a64_checksum_20error.rel | 12 + src/nos/lib/messages_lib/04df_7bad_list.rel | 10 - src/nos/lib/messages_lib/04e0_4346_listen.rel | 10 - src/nos/lib/messages_lib/04e0_c946_chmod.rel | 10 + .../messages_lib/04e1_a5dd_listservers.rel | 12 - .../lib/messages_lib/04e1_b786_choketime.rel | 12 + src/nos/lib/messages_lib/04e2_88f5_chown.rel | 10 + src/nos/lib/messages_lib/04e2_f2d8_local.rel | 10 - src/nos/lib/messages_lib/04e3_68f9_log.rel | 10 - src/nos/lib/messages_lib/04e3_87a8_chroot.rel | 10 + src/nos/lib/messages_lib/04e4_4822_clean.rel | 10 + .../lib/messages_lib/04e4_feb4_logfile.rel | 10 - src/nos/lib/messages_lib/04e5_23aa_close.rel | 10 + .../messages_lib/04e5_52c6_login_3a_20.rel | 10 - .../messages_lib/04e6_2b22_close_20FTP.rel | 12 + .../lib/messages_lib/04e6_a516_logscreen.rel | 12 - src/nos/lib/messages_lib/04e7_8f77_lookup.rel | 10 - .../messages_lib/04e7_f93d_close_20Finger.rel | 12 + .../messages_lib/04e8_0957_close_20POP.rel | 12 + src/nos/lib/messages_lib/04e8_7d51_ls.rel | 10 - src/nos/lib/messages_lib/04e9_634b_lseek.rel | 10 - .../04e9_b85c_close_20POP_20_2d_2.rel | 14 + src/nos/lib/messages_lib/04ea_0288_magic.rel | 10 - .../messages_lib/04ea_83a3_close_20SMTP.rel | 12 + .../04eb_868b_maibox_20name_20not.rel | 14 - .../04eb_b949_close_20SMTP_20_2d_.rel | 14 + .../lib/messages_lib/04ec_2d7f_mailbox.rel | 10 - .../04ec_423c_close_20discard.rel | 12 + .../04ed_2084_mailbox_20name_20no.rel | 18 - .../messages_lib/04ed_419d_close_20echo.rel | 12 + .../messages_lib/04ee_03ad_close_20term.rel | 12 + .../lib/messages_lib/04ee_86f8_mailhost.rel | 10 - .../04ef_63b8_mailhost_20not_20de.rel | 18 - .../04ef_83dc_code_20_25u_20arg_2.rel | 12 + .../lib/messages_lib/04f0_139d_maxclients.rel | 12 - .../lib/messages_lib/04f0_ea90_compare.rel | 10 + .../lib/messages_lib/04f1_8d56_maxframe.rel | 10 - .../04f1_a613_compare_20_3cremote.rel | 16 + .../04f2_d5aa_maximum_20route_20q.rel | 14 - .../lib/messages_lib/04f2_fbc2_compress.rel | 10 + .../messages_lib/04f3_3845_compressed_20.rel | 12 + src/nos/lib/messages_lib/04f3_9853_maxmsg.rel | 10 - .../lib/messages_lib/04f4_26b1_configure.rel | 12 + src/nos/lib/messages_lib/04f4_7203_maxttl.rel | 10 - .../lib/messages_lib/04f5_749f_connect.rel | 10 + .../lib/messages_lib/04f5_e017_maxwait.rel | 10 - .../lib/messages_lib/04f6_5769_control.rel | 10 + .../04f6_e57a_mbuf_20allocs_20_25.rel | 20 - .../lib/messages_lib/04f7_8c4f_mcompare.rel | 10 - .../04f7_a93e_control_20up_7cdown.rel | 12 + .../04f8_2aba_control_3a_20_25s_0.rel | 12 + .../04f8_f47e_mcompare_20_3cfile_.rel | 14 - src/nos/lib/messages_lib/04f9_4bf4_cwd.rel | 10 + src/nos/lib/messages_lib/04f9_a71a_md5.rel | 10 - .../messages_lib/04fa_62af_d_5finit_28_29.rel | 10 + .../04fa_cc78_md5_20_3cfile_3e.rel | 12 - src/nos/lib/messages_lib/04fb_4d2a_memory.rel | 10 - .../04fb_5a9b_d_5finit_28_29_20ma.rel | 14 + src/nos/lib/messages_lib/04fc_62a8_debug.rel | 10 + .../04fc_69ba_memory_20cache_20si.rel | 12 - src/nos/lib/messages_lib/04fd_336a_merge.rel | 10 - .../lib/messages_lib/04fd_740d_default.rel | 10 + .../04fe_649e_merge_20_25s_20_25d.rel | 12 - .../messages_lib/04fe_db45_defaultfile.rel | 12 + .../04ff_460c_metric_20better_3a_.rel | 14 - .../04ff_818b_delay_20_25lu_0a.rel | 12 + src/nos/lib/messages_lib/0500_2c87_dele.rel | 10 + .../0500_3694_metric_20change_3a_.rel | 14 - .../0501_44b0_metric_20not_20bett.rel | 14 - src/nos/lib/messages_lib/0501_89a5_delete.rel | 10 + .../0502_3919_delete_20_3cfile_3e.rel | 12 + src/nos/lib/messages_lib/0502_b64c_mget.rel | 10 - .../0503_3d2c_deliberate_20cancel.rel | 14 + .../0503_8d01_mget_20_3cfile_3e_2.rel | 14 - src/nos/lib/messages_lib/0504_1e96_mkd_20.rel | 10 - .../0504_f9d2_delptab_28_29_20ret.rel | 14 + src/nos/lib/messages_lib/0505_304a_mkdir.rel | 10 - .../0505_748e_delptab_28_29_20sta.rel | 12 + .../lib/messages_lib/0506_6466_destlist.rel | 10 + .../0506_7d04_mkdir_20_3cdirector.rel | 12 - src/nos/lib/messages_lib/0507_6257_mknod.rel | 10 - src/nos/lib/messages_lib/0507_cfc1_detach.rel | 10 + .../0508_26f3_detach_20_3cinterfa.rel | 12 + src/nos/lib/messages_lib/0508_685e_mode.rel | 10 - .../0509_3f12_devio_5fgarbage_3a_.rel | 16 + .../0509_9335_modes_20are_3a_20no.rel | 14 - .../050a_0f61_dfile_5fsearch_3a_2.rel | 16 + src/nos/lib/messages_lib/050a_a91f_more.rel | 10 - .../050b_4eba_dfile_5fupdate_3a_2.rel | 16 + .../050b_5384_more_20_3cfilename_.rel | 12 - .../050c_5b47_dfile_5fupdate_3a_2.rel | 16 + src/nos/lib/messages_lib/050c_ec46_motd.rel | 10 - src/nos/lib/messages_lib/050d_b5d1_mount.rel | 10 - .../050d_ef06_dfile_5fupdate_3a_2.rel | 16 + src/nos/lib/messages_lib/050e_0173_dialer.rel | 10 + src/nos/lib/messages_lib/050e_2a4d_mput.rel | 10 - .../050f_312f_mput_20_3cfile_3e_2.rel | 14 - .../050f_8d0b_dialer_20_3ciface_3.rel | 18 + .../lib/messages_lib/0510_18c3_digipeat.rel | 10 + src/nos/lib/messages_lib/0510_245f_mru.rel | 10 - src/nos/lib/messages_lib/0511_58b1_mss.rel | 10 - src/nos/lib/messages_lib/0511_bdc7_dir.rel | 10 + .../lib/messages_lib/0512_5c0a_directory.rel | 12 + src/nos/lib/messages_lib/0512_708f_mtu.rel | 10 - .../lib/messages_lib/0513_176f_discard.rel | 10 + src/nos/lib/messages_lib/0513_78ae_mycall.rel | 10 - .../0514_684a_discard_20expired_2.rel | 14 + .../0514_e112_n_5fcreat_28_22_25s.rel | 14 - .../lib/messages_lib/0515_f701_disconnect.rel | 12 + .../0515_fa1b_n_5fcreat_28_29_20r.rel | 16 - .../0516_105b_n_5fcreat_28_29_20r.rel | 16 - src/nos/lib/messages_lib/0516_e146_dns.rel | 10 + src/nos/lib/messages_lib/0517_8a90_name.rel | 10 - .../0517_8f79_dns_5fquery_3a_20qu.rel | 16 + .../0518_6da5_dns_5fquery_3a_20re.rel | 16 + .../lib/messages_lib/0518_b07d_netmask.rel | 10 - .../0519_041c_doexit_3a_20won_27t.rel | 12 + .../0519_4d2c_netrom_20bcnodes_20.rel | 14 - src/nos/lib/messages_lib/051a_21ed_domain.rel | 10 + .../051a_c5dc_netrom_20connect_20.rel | 14 - .../051b_925a_netrom_20interface_.rel | 18 - .../051b_e0fd_down_20script_3a_20.rel | 12 + .../lib/messages_lib/051c_050c_download.rel | 10 + .../051c_a510_netrom_20interface_.rel | 16 - src/nos/lib/messages_lib/051d_4853_drop.rel | 10 + .../051d_b271_netrom_20kick_20_3c.rel | 12 - .../051e_0532_drop_20_3chostid_3e.rel | 12 + .../051e_5334_netrom_20nodefilter.rel | 18 - .../051f_6bfe_netrom_20nodefilter.rel | 18 - .../lib/messages_lib/051f_e7cf_dropserver.rel | 12 + .../0520_328e_netrom_20reset_20_3.rel | 14 - src/nos/lib/messages_lib/0520_a2e4_dup.rel | 10 + .../0521_18c8_netrom_20route_20ad.rel | 22 - src/nos/lib/messages_lib/0521_b319_dup2.rel | 10 + src/nos/lib/messages_lib/0522_cb91_dynip.rel | 10 + .../0522_fff3_netrom_20route_20dr.rel | 20 - src/nos/lib/messages_lib/0523_2edf_echo.rel | 10 + .../0523_e8da_netrom_20route_20in.rel | 16 - .../0524_7366_empty_20packet_21_2.rel | 12 + .../0524_9094_newfile_28_29_20ret.rel | 16 - .../messages_lib/0525_48fd_encapsulation.rel | 12 + .../0525_6cce_newfile_28_29_20ret.rel | 16 - .../0526_147d_newfile_280x_25x_2c.rel | 14 - src/nos/lib/messages_lib/0526_4a34_eol.rel | 10 + .../0527_2254_newproc_20_22_25s_2.rel | 12 - src/nos/lib/messages_lib/0527_b4ae_escape.rel | 10 + .../0528_4db6_newsession_3a_20WAR.rel | 18 - src/nos/lib/messages_lib/0528_858e_escc.rel | 10 + .../0529_5ab5_newsession_3a_20WAR.rel | 16 - .../0529_d50a_escc_25d_3a_20No_20.rel | 16 + .../lib/messages_lib/052a_6362_esccstat.rel | 10 + .../052a_7718_next_20pointer_20ou.rel | 14 - src/nos/lib/messages_lib/052b_59b0_execve.rel | 10 + src/nos/lib/messages_lib/052b_7b66_nlst.rel | 10 - .../052c_0ca7_nntp_20addserver_20.rel | 16 - src/nos/lib/messages_lib/052c_3566_exit.rel | 10 + .../lib/messages_lib/052d_bd2b_expired.rel | 10 + .../052d_fea0_nntp_20dropserver_2.rel | 14 - .../052e_a821_nntp_20kick_20_3cnn.rel | 14 - .../052e_bf9b_f_5ftrunc_28_29_20r.rel | 14 + .../052f_687d_f_5ftrunc_280x_25x_.rel | 14 + .../messages_lib/052f_a7f6_no_20filesys.rel | 12 - .../lib/messages_lib/0530_7405_no_20root.rel | 10 - .../lib/messages_lib/0530_bce0_failure.rel | 10 + src/nos/lib/messages_lib/0531_086a_falign.rel | 10 + .../0531_b518_no_20such_20route_0.rel | 12 - src/nos/lib/messages_lib/0532_303b_files.rel | 10 + .../lib/messages_lib/0532_3fb4_nodefilter.rel | 12 - .../0533_bac4_nodefilter_20subcom.rel | 16 - .../0533_d461_filesys_5fdoclose_2.rel | 14 + .../0534_661c_filesys_5fdoclose_2.rel | 16 + src/nos/lib/messages_lib/0534_e743_nodes.rel | 10 - .../lib/messages_lib/0535_57cf_nodetimer.rel | 12 - .../0535_8db4_filesys_5fdoclose_2.rel | 16 + .../lib/messages_lib/0536_7a7f_none_0a.rel | 10 - .../0536_d6a7_filter_20mode_20is_.rel | 12 + .../0537_29c2_normal_20_28_25s_20.rel | 12 - .../0537_e04d_findprocess_28_25d_.rel | 14 + .../lib/messages_lib/0538_07d0_null_0a.rel | 10 - .../0538_1164_findprocess_28_29_2.rel | 16 + .../0539_9bc0_findprocess_28_29_2.rel | 16 + .../lib/messages_lib/0539_fb30_obsotimer.rel | 12 - src/nos/lib/messages_lib/053a_3971_open.rel | 10 - src/nos/lib/messages_lib/053a_927a_finger.rel | 10 + .../053b_8ea1_finger_20name_40hos.rel | 12 + .../messages_lib/053b_a412_open_20_25s.rel | 10 - src/nos/lib/messages_lib/053c_28f4_flush.rel | 10 + .../lib/messages_lib/053c_e5a0_open_20FTP.rel | 10 - .../messages_lib/053d_10d3_open_20Finger.rel | 12 - .../053d_db22_fmount_28_25d_2c_20.rel | 14 + .../053e_9479_fmount_28_29_20retu.rel | 16 + .../messages_lib/053e_fe22_open_20MBOX.rel | 12 - .../lib/messages_lib/053f_c7d5_open_20POP.rel | 10 - .../053f_d221_fmount_28_29_20retu.rel | 14 + .../messages_lib/0540_2477_open_20SMTP.rel | 12 - .../0540_dc8b_fmount_3a_20can_27t.rel | 14 + .../messages_lib/0541_4ca5_open_20discard.rel | 12 - src/nos/lib/messages_lib/0541_cf48_force.rel | 10 + .../0542_7349_force_20up_7cdown.rel | 12 + .../messages_lib/0542_e649_open_20echo.rel | 12 - src/nos/lib/messages_lib/0543_8074_fork.rel | 10 + .../messages_lib/0543_a479_open_20term.rel | 12 - .../messages_lib/0544_2f09_p_5finit_28_29.rel | 10 - .../0544_a19b_forkprocess_28_29_2.rel | 16 + .../0545_76ec_packet_20delayed_20.rel | 14 - .../0545_9408_forkprocess_28_29_2.rel | 16 + .../0546_8504_packet_20duped_0a.rel | 12 - .../0546_9eb7_forkprocess_280x_25.rel | 14 + .../lib/messages_lib/0547_8227_forward.rel | 10 + .../0547_a8e1_packet_20lost_0a.rel | 12 - .../0548_c066_fp_20_20_20_20_20_2.rel | 18 + src/nos/lib/messages_lib/0548_ead4_paclen.rel | 10 - src/nos/lib/messages_lib/0549_1a03_page.rel | 10 - .../0549_9a2a_free_3a_20WARNING_2.rel | 20 + .../054a_13ec_freeblk_28_25u_2c_2.rel | 14 + .../054a_dd11_page_20_3ccommand_3.rel | 14 - src/nos/lib/messages_lib/054b_b6e1_pap.rel | 10 - .../054b_bc64_freeblk_28_29_20ret.rel | 14 + .../054c_3018_freeblk_28_29_20ret.rel | 14 + src/nos/lib/messages_lib/054c_512a_param.rel | 10 - .../054d_4c13_freebuf_28_25u_29_2.rel | 14 + .../054d_d362_param_20_3cinterfac.rel | 12 - .../054e_0c86_freebuf_28_29_20ret.rel | 16 + src/nos/lib/messages_lib/054e_9d45_pass.rel | 10 - src/nos/lib/messages_lib/054f_f746_pause.rel | 10 - .../lib/messages_lib/054f_f896_freelist.rel | 10 + .../messages_lib/0550_bd4f_from_20_25s_20.rel | 10 + src/nos/lib/messages_lib/0550_d9f3_pfc.rel | 10 - src/nos/lib/messages_lib/0551_28cb_ping.rel | 10 - .../0551_5b02_from_20_25s_2ebbs_2.rel | 12 + .../0552_2208_fs_5finit_28_29.rel | 12 + .../0552_d85a_ping_20_3chostid_3e.rel | 18 - .../0553_0372_fsm_5finit_28_29.rel | 12 + src/nos/lib/messages_lib/0553_0458_pipe.rel | 10 - src/nos/lib/messages_lib/0554_5919_pool.rel | 10 - .../0554_914a_fsm_5fno_5faction_2.rel | 12 + src/nos/lib/messages_lib/0555_e039_port.rel | 10 - .../0555_f286_fsm_5fno_5fcheck_28.rel | 12 + .../0556_1a51_fsm_5freset_28_29.rel | 12 + .../0556_a9d2_port_20_25d_3a_20tx.rel | 28 - .../0557_1515_fsm_5fsendreq_28_29.rel | 12 + src/nos/lib/messages_lib/0557_3aa8_ppp.rel | 10 - .../0558_5109_fsm_5fsendtermack_2.rel | 12 + .../0558_8304_ppp_5fproc_3a_20mis.rel | 14 - .../0559_45f0_fsm_5fsendtermreq_2.rel | 12 + .../0559_4b37_process_20_25d_20ex.rel | 12 - .../055a_7049_fsm_5ftimer_28_29.rel | 12 + .../055a_8848_processing_20my_20i.rel | 14 - .../055b_88d9_fsp_200x_25x_20s_5f.rel | 16 + .../055b_e384_processing_20other_.rel | 14 - .../messages_lib/055c_3dc2_protocol_3a_20.rel | 12 - src/nos/lib/messages_lib/055c_7fbc_fstat.rel | 10 + src/nos/lib/messages_lib/055d_0e84_ftp.rel | 10 + src/nos/lib/messages_lib/055d_4160_ps.rel | 10 - .../lib/messages_lib/055e_26dc_pthresh.rel | 10 - .../055e_bafd_ftp_20_3caddress_3e.rel | 12 + .../lib/messages_lib/055f_a61f_publish.rel | 10 - .../055f_f999_ftp_3e_20syst_0a.rel | 12 + .../0560_274c_pushdown_20calls_20.rel | 18 - .../0560_51ba_garbage_20collectio.rel | 16 + src/nos/lib/messages_lib/0561_0234_put.rel | 10 - .../lib/messages_lib/0561_c2ce_gateway.rel | 10 + .../0562_8f3b_put_20_3clocalfile_.rel | 14 - src/nos/lib/messages_lib/0562_9e35_get.rel | 10 + .../0563_b16b_putting_20block_20_.rel | 16 - .../0563_c7c0_get_20_3cremotefile.rel | 14 + src/nos/lib/messages_lib/0564_2105_pwd.rel | 10 - .../lib/messages_lib/0564_60c5_getfsys.rel | 10 + src/nos/lib/messages_lib/0565_0282_qlimit.rel | 10 - .../0565_631b_getinode_3a_20bad_2.rel | 14 + .../lib/messages_lib/0566_0be6_queries.rel | 10 - src/nos/lib/messages_lib/0566_7dac_getset.rel | 10 + src/nos/lib/messages_lib/0567_0bef_query.rel | 10 - .../0567_74d1_getting_20block_20_.rel | 16 + .../0568_6646_query_20_3chostid_3.rel | 12 - src/nos/lib/messages_lib/0568_b3cb_groups.rel | 10 + src/nos/lib/messages_lib/0569_156e_hash.rel | 10 + .../0569_27c8_queue_20job_20_25s_.rel | 14 - src/nos/lib/messages_lib/056a_1196_quick.rel | 10 - .../056a_5bc8_heap_20size_20_25lu.rel | 18 + src/nos/lib/messages_lib/056b_856f_heard.rel | 10 + src/nos/lib/messages_lib/056b_ad30_quiet.rel | 10 - src/nos/lib/messages_lib/056c_7b54_quit.rel | 10 - src/nos/lib/messages_lib/056c_fc9f_help.rel | 10 + src/nos/lib/messages_lib/056d_054d_read.rel | 10 - .../lib/messages_lib/056d_1d5e_homedir.rel | 10 + src/nos/lib/messages_lib/056e_6fa6_hop.rel | 10 + .../056e_c7a9_read_20_3cremotefil.rel | 12 - .../056f_19fa_readwritei_28_25u_2.rel | 14 - src/nos/lib/messages_lib/056f_df98_host.rel | 10 + .../lib/messages_lib/0570_476e_hostname.rel | 10 + .../0570_79be_readwritei_28_29_20.rel | 20 - .../0571_001d_i_5fopen_28_25u_2c_.rel | 14 + .../0571_94aa_readwritei_28_29_20.rel | 16 - .../0572_67b0_readwritei_28_29_20.rel | 16 - .../0572_e51c_i_5fopen_28_29_20re.rel | 16 + .../0573_64fb_i_5fopen_28_29_20re.rel | 16 + src/nos/lib/messages_lib/0573_7ee6_reboot.rel | 10 - .../0574_1c64_received_20_25u_20b.rel | 22 - src/nos/lib/messages_lib/0574_2f25_icmp.rel | 10 + src/nos/lib/messages_lib/0575_5735_record.rel | 10 - .../0575_6bae_id_20mismatch_20hdr.rel | 16 + .../0576_18c5_recv_3a_20do_20.rel | 12 - src/nos/lib/messages_lib/0576_dd41_ident.rel | 10 + .../0577_8810_recv_3a_20dont_20.rel | 12 - .../lib/messages_lib/0577_fe83_ifconfig.rel | 10 + .../0578_6196_ignored_20_28hold_2.rel | 14 + .../0578_84ef_recv_3a_20will_20.rel | 12 - .../0579_219c_recv_3a_20wont_20.rel | 12 - src/nos/lib/messages_lib/0579_dc84_info.rel | 10 + .../057a_155a_init_20script_3a_20.rel | 12 + src/nos/lib/messages_lib/057a_c7dc_refuse.rel | 10 - .../057b_0500_input_20line_3a_20_.rel | 12 + .../lib/messages_lib/057b_0e31_reject_0a.rel | 10 - .../lib/messages_lib/057c_9677_interface.rel | 12 + src/nos/lib/messages_lib/057c_bc2e_remote.rel | 10 - src/nos/lib/messages_lib/057d_3fa5_ioctl.rel | 10 + .../057d_4ff0_remote_20_5b_2dp_20.rel | 22 - src/nos/lib/messages_lib/057e_3172_ip.rel | 10 + src/nos/lib/messages_lib/057e_cb71_rename.rel | 10 - .../057f_a493_rename_20_3coldfile.rel | 14 - .../057f_d229_ip_5frecv_28_25s_29.rel | 12 + .../messages_lib/0580_289f_ip_5fsend_0a.rel | 10 + src/nos/lib/messages_lib/0580_6d5b_repeat.rel | 10 - .../lib/messages_lib/0581_0191_ipaddress.rel | 12 + .../0581_01b9_repeat_20_3cinterva.rel | 16 - .../lib/messages_lib/0582_3f14_request.rel | 10 - src/nos/lib/messages_lib/0582_dfc4_ipcp.rel | 10 + src/nos/lib/messages_lib/0583_85b2_reset.rel | 10 - .../0583_94f9_ipcp_5fack_28_29.rel | 12 + .../0584_8ddb_ipcp_5finit_28_29.rel | 12 + .../0584_c3ce_response_20id_20_25.rel | 24 - src/nos/lib/messages_lib/0585_9bd3_retr.rel | 10 - .../0585_fa2c_ipcp_5fmakeoptions_.rel | 12 + .../0586_5617_ipcp_5fmakereq_28_2.rel | 12 + .../lib/messages_lib/0586_5e3c_retries.rel | 10 - src/nos/lib/messages_lib/0587_0acb_retry.rel | 10 - .../0587_c773_ipcp_5fnak_28_29.rel | 12 + .../0588_269f_ipcp_5freject_28_29.rel | 12 + .../0588_7f96_rip_20accept_20_3cg.rel | 14 - .../0589_0241_ipcp_5frequest_28_2.rel | 12 + .../0589_764e_rip_20add_20_3cdest.rel | 16 - .../058a_2214_ipcp_5freset_28_29.rel | 12 + .../058a_3030_rip_20drop_20_3cdes.rel | 12 - .../058b_1977_ipcp_5fstarting_28_.rel | 12 + .../058b_8661_rip_20refuse_20_3cg.rel | 14 - .../058c_0e6d_ipcp_5fstopping_28_.rel | 12 + src/nos/lib/messages_lib/058c_b917_rmd_20.rel | 10 - src/nos/lib/messages_lib/058d_a56c_rmdir.rel | 10 - src/nos/lib/messages_lib/058d_f4c1_irtt.rel | 10 + src/nos/lib/messages_lib/058e_516b_kick.rel | 10 + .../058e_b9e3_rmdir_20_3cdirector.rel | 12 - src/nos/lib/messages_lib/058f_a61c_kill.rel | 10 + src/nos/lib/messages_lib/058f_c459_rmhost.rel | 10 - src/nos/lib/messages_lib/0590_0284_route.rel | 10 - .../0590_ff9f_kill_20_3cjobnumber.rel | 12 + .../0591_5e27_ksigs_20_25lu_20que.rel | 20 + .../0591_ea02_route_20add_20_3cde.rel | 20 - .../0592_1bbe_kwaits_20_25lu_20no.rel | 16 + .../0592_f461_route_20add_20_5b_2.rel | 14 - src/nos/lib/messages_lib/0593_a567_lcp.rel | 10 + .../0593_d581_route_20addprivate_.rel | 22 - .../0594_411d_lcp_5fack_28_29.rel | 12 + .../0594_bbd2_route_20drop_20_3cd.rel | 16 - .../0595_103e_route_20drop_20_5b_.rel | 12 - .../0595_2c24_lcp_5finit_28_29.rel | 12 + .../0596_a5ec_route_20lookup_20_3.rel | 14 - .../0596_f060_lcp_5fmakeoptions_2.rel | 12 + .../0597_26c3_lcp_5fmakereq_28_29.rel | 12 + .../0597_ae23_route_20to_20self_3.rel | 14 - .../0598_1297_lcp_5fnak_28_29.rel | 12 + src/nos/lib/messages_lib/0598_2c09_rtimer.rel | 10 - .../0599_6ddc_lcp_5freject_28_29.rel | 12 + src/nos/lib/messages_lib/0599_ae54_rtt.rel | 10 - .../lib/messages_lib/059a_02fc_running.rel | 10 - .../059a_7295_lcp_5frequest_28_29.rel | 12 + .../059b_2dcd_lcp_5freset_28_29.rel | 12 + .../059b_de1b_rwsetup_28_25u_2c_2.rel | 16 - .../059c_7f24_rwsetup_28_29_20ret.rel | 16 - .../059c_89ae_lcp_5fstarting_28_2.rel | 12 + .../059d_9eb4_lcp_5fstopping_28_2.rel | 12 + .../059d_d9aa_rwsetup_28_29_20ret.rel | 16 - src/nos/lib/messages_lib/059e_b4d7_rxbuf.rel | 10 - .../059e_cbc2_line_20not_20up.rel | 12 + src/nos/lib/messages_lib/059f_b632_link.rel | 10 + src/nos/lib/messages_lib/059f_d2fd_sbrk.rel | 10 - .../05a0_01ce_link_20header_20mis.rel | 12 + .../lib/messages_lib/05a0_3365_scrollback.rel | 12 - src/nos/lib/messages_lib/05a1_9a3e_send.rel | 10 - .../messages_lib/05a1_dfe4_linkaddress.rel | 12 + src/nos/lib/messages_lib/05a2_7bad_list.rel | 10 + .../05a2_e397_send_20_22string_22.rel | 14 - src/nos/lib/messages_lib/05a3_4346_listen.rel | 10 + src/nos/lib/messages_lib/05a3_5c19_sender.rel | 10 - .../messages_lib/05a4_a5dd_listservers.rel | 12 + .../05a4_efea_sending_20job_20_25.rel | 12 - .../05a5_7321_sent_3a_20do_20.rel | 12 - src/nos/lib/messages_lib/05a5_f2d8_local.rel | 10 + src/nos/lib/messages_lib/05a6_68f9_log.rel | 10 + .../05a6_db3c_sent_3a_20dont_20.rel | 12 - .../05a7_d7c3_sent_3a_20will_20.rel | 12 - .../lib/messages_lib/05a7_feb4_logfile.rel | 10 + .../messages_lib/05a8_52c6_login_3a_20.rel | 10 + .../05a8_72b0_sent_3a_20wont_20.rel | 12 - .../05a9_2d5d_serial_20line_20IP_.rel | 14 - .../lib/messages_lib/05a9_a516_logscreen.rel | 12 + src/nos/lib/messages_lib/05aa_8f77_lookup.rel | 10 + .../05aa_f33e_serial_20line_20VJ_.rel | 16 - .../05ab_6f7f_serial_20line_20VJ_.rel | 16 - src/nos/lib/messages_lib/05ab_7d51_ls.rel | 10 + src/nos/lib/messages_lib/05ac_634b_lseek.rel | 10 + .../05ac_6f48_server_20retries.rel | 12 - src/nos/lib/messages_lib/05ad_0288_magic.rel | 10 + .../messages_lib/05ad_f0af_server_20trace.rel | 12 - .../05ae_868b_maibox_20name_20not.rel | 14 + .../lib/messages_lib/05ae_db9a_session.rel | 10 - .../lib/messages_lib/05af_2d7f_mailbox.rel | 10 + .../05af_3031_set_20mycall_20firs.rel | 12 - src/nos/lib/messages_lib/05b0_1de4_shell.rel | 10 - .../05b0_2084_mailbox_20name_20no.rel | 18 + src/nos/lib/messages_lib/05b1_3faf_signal.rel | 10 - .../lib/messages_lib/05b1_86f8_mailhost.rel | 10 + .../05b2_63b8_mailhost_20not_20de.rel | 18 + src/nos/lib/messages_lib/05b2_dce5_size.rel | 10 - .../messages_lib/05b3_c3a4_mainproc_28_29.rel | 12 + src/nos/lib/messages_lib/05b3_f163_sizes.rel | 10 - .../messages_lib/05b4_0ca2_mainptab_28_29.rel | 12 + .../05b4_4046_smtp_20daemon_20ent.rel | 16 - .../lib/messages_lib/05b5_139d_maxclients.rel | 12 + .../05b5_8e2a_smtp_20daemon_3a_20.rel | 16 - .../05b6_23e1_smtp_20job_20_25s_2.rel | 16 - .../lib/messages_lib/05b6_8d56_maxframe.rel | 10 + .../05b7_d5aa_maximum_20route_20q.rel | 14 + .../05b7_ed89_smtp_20mode_3a_20_2.rel | 12 - .../05b8_2b33_smtp_20recv_3a_20_2.rel | 12 - src/nos/lib/messages_lib/05b8_9853_maxmsg.rel | 10 + src/nos/lib/messages_lib/05b9_7203_maxttl.rel | 10 + .../05b9_928b_smtp_20sent_3a_20.rel | 12 - src/nos/lib/messages_lib/05ba_b4cf_socket.rel | 10 - .../lib/messages_lib/05ba_e017_maxwait.rel | 10 + .../05bb_6b20_some_20strange_2c_2.rel | 14 - .../05bb_e57a_mbuf_20allocs_20_25.rel | 20 + src/nos/lib/messages_lib/05bc_60cd_speed.rel | 10 - .../lib/messages_lib/05bc_8c4f_mcompare.rel | 10 + .../05bd_9785_speed_20_3cbps_3e.rel | 12 - .../05bd_f47e_mcompare_20_3cfile_.rel | 14 + .../05be_1861_spool_3a_20_25s_0a.rel | 12 - src/nos/lib/messages_lib/05be_a71a_md5.rel | 10 + .../lib/messages_lib/05bf_61f2_src_20_25s.rel | 10 - .../05bf_cc78_md5_20_3cfile_3e.rel | 12 + src/nos/lib/messages_lib/05c0_4d2a_memory.rel | 10 + .../05c0_4e06_srtt_20_3d_20_25lu_.rel | 14 - .../05c1_69ba_memory_20cache_20si.rel | 12 + .../messages_lib/05c1_795f_stack_20test.rel | 12 - src/nos/lib/messages_lib/05c2_336a_merge.rel | 10 + .../lib/messages_lib/05c2_45e3_stacktest.rel | 12 - .../05c3_649e_merge_20_25s_20_25d.rel | 12 + .../05c3_be0b_stacktest_20_5bon_7.rel | 12 - .../05c4_460c_metric_20better_3a_.rel | 14 + .../messages_lib/05c4_fcc6_standard_0a.rel | 12 - .../05c5_3694_metric_20change_3a_.rel | 14 + src/nos/lib/messages_lib/05c5_b958_start.rel | 10 - .../05c6_44b0_metric_20not_20bett.rel | 14 + .../05c6_4b5d_start_20_3cserverna.rel | 12 - .../05c7_9324_start_20bsr_20_3cin.rel | 14 - src/nos/lib/messages_lib/05c7_b64c_mget.rel | 10 + .../05c8_8d01_mget_20_3cfile_3e_2.rel | 14 + src/nos/lib/messages_lib/05c8_d63e_stat.rel | 10 - src/nos/lib/messages_lib/05c9_5069_status.rel | 10 - .../05c9_f789_missing_20ALL_20add.rel | 12 + .../05ca_7dfc_status_20up_20_7c_2.rel | 12 - .../messages_lib/05ca_d180_missing_20UI.rel | 12 + .../05cb_0135_missing_20lower_20p.rel | 14 + src/nos/lib/messages_lib/05cb_68cb_stime.rel | 10 - .../05cc_4875_stktrace_20from_20p.rel | 14 - .../05cc_d703_missing_20upper_20p.rel | 14 + src/nos/lib/messages_lib/05cd_0a0a_stop.rel | 10 - src/nos/lib/messages_lib/05cd_1e96_mkd_20.rel | 10 + src/nos/lib/messages_lib/05ce_304a_mkdir.rel | 10 + .../05ce_6ec0_stop_20_3cservernam.rel | 12 - .../lib/messages_lib/05cf_301d_stopped.rel | 10 - .../05cf_7d04_mkdir_20_3cdirector.rel | 12 + src/nos/lib/messages_lib/05d0_2918_stor.rel | 10 - src/nos/lib/messages_lib/05d0_6257_mknod.rel | 10 + src/nos/lib/messages_lib/05d1_685e_mode.rel | 10 + src/nos/lib/messages_lib/05d1_784e_stru.rel | 10 - .../05d2_9335_modes_20are_3a_20no.rel | 14 + src/nos/lib/messages_lib/05d2_bec3_suffix.rel | 10 - .../lib/messages_lib/05d3_420b_symlink.rel | 10 - src/nos/lib/messages_lib/05d3_a91f_more.rel | 10 + .../05d4_5384_more_20_3cfilename_.rel | 12 + src/nos/lib/messages_lib/05d4_ceb7_sync.rel | 10 - .../lib/messages_lib/05d5_bb66_syndata.rel | 10 - src/nos/lib/messages_lib/05d5_ec46_motd.rel | 10 + .../lib/messages_lib/05d6_b50c_sysdebug.rel | 10 - src/nos/lib/messages_lib/05d6_b5d1_mount.rel | 10 + src/nos/lib/messages_lib/05d7_2a4d_mput.rel | 10 + .../05d7_be35_sysdebug_20_5bon_7c.rel | 12 - .../05d8_312f_mput_20_3cfile_3e_2.rel | 14 + src/nos/lib/messages_lib/05d8_8f60_syst.rel | 10 - src/nos/lib/messages_lib/05d9_245f_mru.rel | 10 + .../05d9_f3f3_system_20call_20tra.rel | 12 - src/nos/lib/messages_lib/05da_58b1_mss.rel | 10 + .../05da_a612_system_20kernel_20d.rel | 12 - src/nos/lib/messages_lib/05db_708f_mtu.rel | 10 + .../lib/messages_lib/05db_98fb_systrace.rel | 10 - .../05dc_71e3_systrace_20_5bon_7c.rel | 12 - src/nos/lib/messages_lib/05dc_78ae_mycall.rel | 10 + src/nos/lib/messages_lib/05dd_6404_t3.rel | 10 - .../05dd_e112_n_5fcreat_28_22_25s.rel | 14 + src/nos/lib/messages_lib/05de_b31f_target.rel | 10 - .../05de_fa1b_n_5fcreat_28_29_20r.rel | 16 + .../05df_105b_n_5fcreat_28_29_20r.rel | 16 + src/nos/lib/messages_lib/05df_e630_tcp.rel | 10 - src/nos/lib/messages_lib/05e0_8a90_name.rel | 10 + .../05e0_e483_tcp_20kick_20_3ctcb.rel | 12 - .../05e1_a12c_tcp_20reset_20_3ctc.rel | 12 - .../lib/messages_lib/05e1_b07d_netmask.rel | 10 + .../05e2_4d2c_netrom_20bcnodes_20.rel | 14 + .../05e2_bb94_tcp_20rtt_20_3ctcb_.rel | 12 - .../05e3_c5dc_netrom_20connect_20.rel | 14 + .../05e3_f363_tcp_20stat_20_3ctcb.rel | 14 - src/nos/lib/messages_lib/05e4_6ff2_telnet.rel | 10 - .../05e4_925a_netrom_20interface_.rel | 18 + .../05e5_2114_telnet_20_3caddress.rel | 12 - .../05e5_a510_netrom_20interface_.rel | 16 + src/nos/lib/messages_lib/05e6_6cef_term.rel | 10 - .../05e6_b271_netrom_20kick_20_3c.rel | 12 + .../05e7_5334_netrom_20nodefilter.rel | 18 + .../lib/messages_lib/05e7_7425_terminate.rel | 12 - src/nos/lib/messages_lib/05e8_4c6f_thresh.rel | 10 - .../05e8_6bfe_netrom_20nodefilter.rel | 18 + .../05e9_328e_netrom_20reset_20_3.rel | 14 + src/nos/lib/messages_lib/05e9_535d_time.rel | 10 - .../05ea_18c8_netrom_20route_20ad.rel | 22 + .../05ea_43a3_time_20before_20fil.rel | 16 - .../lib/messages_lib/05eb_7156_timeout.rel | 10 - .../05eb_fff3_netrom_20route_20dr.rel | 20 + src/nos/lib/messages_lib/05ec_d9a6_timer.rel | 10 - .../05ec_e8da_netrom_20route_20in.rel | 16 + .../05ed_9094_newfile_28_29_20ret.rel | 16 + .../05ed_d29c_timer_3a_20ints_20w.rel | 14 - .../05ee_6cce_newfile_28_29_20ret.rel | 16 + src/nos/lib/messages_lib/05ee_c82f_times.rel | 10 - .../05ef_147d_newfile_280x_25x_2c.rel | 14 + .../lib/messages_lib/05ef_223a_timestamps.rel | 12 - .../05f0_004c_tip_20or_20dialer_2.rel | 18 - .../05f0_2254_newproc_20_22_25s_2.rel | 12 + .../05f1_1067_newptab_28_29_20ret.rel | 16 + .../lib/messages_lib/05f1_aa4a_tiptimeout.rel | 12 - .../05f2_a95a_newptab_28_29_20ret.rel | 16 + .../05f2_aa76_tmp_20file_20wiping.rel | 12 - .../05f3_2645_tmp_20file_3a_20_25.rel | 12 - .../05f3_5889_newptab_28_29_20sta.rel | 12 + .../05f4_4db6_newsession_3a_20WAR.rel | 18 + src/nos/lib/messages_lib/05f4_a165_topt.rel | 10 - src/nos/lib/messages_lib/05f5_4f5f_trace.rel | 10 - .../05f5_5ab5_newsession_3a_20WAR.rel | 16 + .../05f6_3bce_traceroute_20done_3.rel | 12 - .../05f6_7718_next_20pointer_20ou.rel | 14 + src/nos/lib/messages_lib/05f7_7b66_nlst.rel | 10 + src/nos/lib/messages_lib/05f7_f7b8_try.rel | 10 - .../05f8_0ca7_nntp_20addserver_20.rel | 16 + src/nos/lib/messages_lib/05f8_e444_ttl.rel | 10 - .../lib/messages_lib/05f9_299c_ttylink.rel | 10 - .../05f9_fea0_nntp_20dropserver_2.rel | 14 + .../05fa_a821_nntp_20kick_20_3cnn.rel | 14 + src/nos/lib/messages_lib/05fa_e58b_txqlen.rel | 10 - .../messages_lib/05fb_a7f6_no_20filesys.rel | 12 + src/nos/lib/messages_lib/05fb_f321_type.rel | 10 - .../lib/messages_lib/05fc_7405_no_20root.rel | 10 + src/nos/lib/messages_lib/05fc_f1e4_udp.rel | 10 - src/nos/lib/messages_lib/05fd_5caf_umount.rel | 10 - .../05fd_b518_no_20such_20route_0.rel | 12 + .../lib/messages_lib/05fe_3fb4_nodefilter.rel | 12 + .../lib/messages_lib/05fe_5c70_unknown_0a.rel | 10 - .../05ff_bac4_nodefilter_20subcom.rel | 16 + .../05ff_bc4f_unknown_200x_2504x_.rel | 12 - .../0600_5194_unknown_20hardware_.rel | 14 - src/nos/lib/messages_lib/0600_e743_nodes.rel | 10 + .../lib/messages_lib/0601_57cf_nodetimer.rel | 12 + src/nos/lib/messages_lib/0601_acee_unlink.rel | 10 - src/nos/lib/messages_lib/0602_b0e3_none.rel | 10 + .../0602_f303_up_20script_3a_20_2.rel | 12 - .../lib/messages_lib/0603_7a7f_none_0a.rel | 10 + src/nos/lib/messages_lib/0603_db93_update.rel | 10 - .../0604_29c2_normal_20_28_25s_20.rel | 12 + .../0604_5c27_update_20Domain_2et.rel | 12 - .../0605_0b09_update_20Domain_2et.rel | 14 - .../0605_6504_not_20open_20for_20.rel | 16 + .../0606_6274_not_20open_20for_20.rel | 14 + .../0606_c5a3_update_20Domain_2et.rel | 14 - .../0607_7cd1_not_20open_20for_20.rel | 16 + src/nos/lib/messages_lib/0607_d4f0_upload.rel | 10 - src/nos/lib/messages_lib/0608_13f7_user.rel | 10 - .../0608_a01b_not_20ready_20for_2.rel | 14 + .../0609_6f25_user_20abort_0a.rel | 12 - .../0609_f235_not_20ready_20for_2.rel | 14 + .../lib/messages_lib/060a_07d0_null_0a.rel | 10 + .../lib/messages_lib/060a_1b49_userdata.rel | 10 - .../060b_3967_username_20not_20de.rel | 18 - .../lib/messages_lib/060b_fb30_obsotimer.rel | 12 + src/nos/lib/messages_lib/060c_3971_open.rel | 10 + src/nos/lib/messages_lib/060c_c23f_users.rel | 10 - src/nos/lib/messages_lib/060d_5353_utime.rel | 10 - .../messages_lib/060d_a412_open_20_25s.rel | 10 + .../060e_d261_valid_20subcommands.rel | 12 - .../lib/messages_lib/060e_e5a0_open_20FTP.rel | 10 + .../messages_lib/060f_10d3_open_20Finger.rel | 12 + .../060f_a0e5_validblk_3a_20dev_2.rel | 14 - .../0610_74cf_validblk_3a_20inval.rel | 14 - .../messages_lib/0610_fe22_open_20MBOX.rel | 12 + .../lib/messages_lib/0611_ab5c_verbose.rel | 10 - .../lib/messages_lib/0611_c7d5_open_20POP.rel | 10 + .../lib/messages_lib/0612_207d_version.rel | 10 - .../messages_lib/0612_2477_open_20SMTP.rel | 12 + .../messages_lib/0613_4ca5_open_20discard.rel | 12 + src/nos/lib/messages_lib/0613_9778_view.rel | 10 - .../0614_23f1_view_20_3cfilename_.rel | 12 - .../messages_lib/0614_e649_open_20echo.rel | 12 + .../messages_lib/0615_a479_open_20term.rel | 12 + src/nos/lib/messages_lib/0615_d63a_wait.rel | 10 - .../0616_2887_wait_20_3cmilliseco.rel | 16 - .../0616_76ec_packet_20delayed_20.rel | 14 + .../0617_8504_packet_20duped_0a.rel | 12 + .../lib/messages_lib/0617_e988_waitpid.rel | 10 - .../0618_674e_want_20busy_20block.rel | 16 - .../0618_a8e1_packet_20lost_0a.rel | 12 + src/nos/lib/messages_lib/0619_84e4_what.rel | 10 - src/nos/lib/messages_lib/0619_ead4_paclen.rel | 10 + src/nos/lib/messages_lib/061a_1a03_page.rel | 10 + src/nos/lib/messages_lib/061a_9158_window.rel | 10 - src/nos/lib/messages_lib/061b_5379_wipe.rel | 10 - .../061b_dd11_page_20_3ccommand_3.rel | 14 + src/nos/lib/messages_lib/061c_b6e1_pap.rel | 10 + .../061c_bd9d_wr_5finode_28_29_20.rel | 16 - .../061d_68b2_wr_5finode_28_29_20.rel | 16 - .../061d_f2ea_pap_5fcheck_28_29.rel | 12 + .../061e_7708_wr_5finode_280x_25x.rel | 14 - .../061e_bc39_pap_5finit_28_29.rel | 12 + src/nos/lib/messages_lib/061f_4cc8_write.rel | 10 - .../061f_7924_pap_5flocal_28_29.rel | 12 + .../0620_4574_pap_5fmakereq_28_29.rel | 12 + src/nos/lib/messages_lib/0620_dd6d_x_25x.rel | 10 - .../0621_c70c_pap_5fremote_28_29.rel | 12 + src/nos/lib/messages_lib/0621_ce7b_xcwd.rel | 10 - .../0622_1122_pap_5frequest_28_29.rel | 12 + .../0622_511f_xip_5falign_28_29_2.rel | 14 - .../0623_3ddd_pap_5fshutdown_28_2.rel | 12 + .../0623_62af_xip_5falign_28_29_2.rel | 14 - .../0624_2fa7_xip_5falign_28_29_2.rel | 14 - src/nos/lib/messages_lib/0624_512a_param.rel | 10 + .../0625_6211_xip_5falign_28_29_2.rel | 16 - .../0625_d362_param_20_3cinterfac.rel | 12 + src/nos/lib/messages_lib/0626_9d45_pass.rel | 10 + .../0626_dc6f_xip_5falign_280x_25.rel | 14 - .../0627_d854_xip_5falign_5fbmap_.rel | 16 - src/nos/lib/messages_lib/0627_f746_pause.rel | 10 + .../0628_4a41_xip_5falign_5fbmap_.rel | 16 - src/nos/lib/messages_lib/0628_d9f3_pfc.rel | 10 + src/nos/lib/messages_lib/0629_28cb_ping.rel | 10 + .../0629_f051_xip_5falign_5fbmap_.rel | 16 - .../062a_39ef_xip_5falign_5fchase.rel | 18 - .../062a_d85a_ping_20_3chostid_3e.rel | 18 + src/nos/lib/messages_lib/062b_0458_pipe.rel | 10 + .../062b_7ea2_xip_5falign_5fchase.rel | 18 - src/nos/lib/messages_lib/062c_5919_pool.rel | 10 + .../062c_f19c_xip_5falign_5fchase.rel | 16 - src/nos/lib/messages_lib/062d_e039_port.rel | 10 + .../062d_fcac_xip_5falign_5fchase.rel | 16 - .../062e_a9d2_port_20_25d_3a_20tx.rel | 28 + .../062e_d6ef_xip_5falign_5fchase.rel | 20 - .../062f_0fcd_xip_5falign_5frecur.rel | 20 - src/nos/lib/messages_lib/062f_3aa8_ppp.rel | 10 + .../0630_ceee_xip_5falign_5frecur.rel | 18 - .../0630_d86b_ppp_20_3ciface_3e_2.rel | 14 + .../0631_346b_xip_5fexamine_28_29.rel | 16 - .../0631_fc07_ppp_5fproc_3a_20mis.rel | 14 + .../0632_8304_ppp_5fproc_3a_20mis.rel | 14 + .../0632_fa8e_xip_5fexamine_28_29.rel | 16 - .../0633_4b37_process_20_25d_20ex.rel | 12 + .../0633_ed9f_xip_5fexamine_28_29.rel | 16 - .../0634_8848_processing_20my_20i.rel | 14 + .../0634_c7f7_xip_5fexamine_28_29.rel | 16 - .../0635_04e3_xip_5fexamine_280x_.rel | 18 - .../0635_e384_processing_20other_.rel | 14 + .../messages_lib/0636_3dc2_protocol_3a_20.rel | 12 + .../0636_ffc4_xip_5ffind_28_25u_2.rel | 18 - src/nos/lib/messages_lib/0637_4160_ps.rel | 10 + .../0637_cb3b_xip_5ffind_28_29_20.rel | 16 - .../lib/messages_lib/0638_26dc_pthresh.rel | 10 + .../0638_5d23_xip_5ffind_28_29_20.rel | 16 - .../0639_1764_xip_5ffind_28_29_20.rel | 16 - .../lib/messages_lib/0639_a61f_publish.rel | 10 + .../063a_0ce2_xip_5fget_28_25u_2c.rel | 16 - .../063a_274c_pushdown_20calls_20.rel | 18 + src/nos/lib/messages_lib/063b_0234_put.rel | 10 + .../063b_db94_xip_5fget_28_29_20r.rel | 16 - .../063c_8f3b_put_20_3clocalfile_.rel | 14 + .../063c_de41_xip_5fget_28_29_20r.rel | 16 - .../063d_192a_xip_5fget_28_29_20r.rel | 16 - .../063d_b16b_putting_20block_20_.rel | 16 + src/nos/lib/messages_lib/063e_2105_pwd.rel | 10 + .../063e_2347_xip_5freserve_28_25.rel | 18 - src/nos/lib/messages_lib/063f_0282_qlimit.rel | 10 + .../063f_acf4_xip_5freserve_28_29.rel | 16 - .../lib/messages_lib/0640_0be6_queries.rel | 10 + .../0640_69a1_xip_5freserve_28_29.rel | 16 - src/nos/lib/messages_lib/0641_0bef_query.rel | 10 + .../0641_4bfa_xip_5freserve_28_29.rel | 16 - .../0642_3192_xip_5fsearch_28_25u.rel | 16 - .../0642_6646_query_20_3chostid_3.rel | 12 + .../0643_27c8_queue_20job_20_25s_.rel | 14 + .../0643_83fc_xip_5fsearch_28_29_.rel | 16 - src/nos/lib/messages_lib/0644_1196_quick.rel | 10 + .../0644_fd61_xip_5fsearch_28_29_.rel | 16 - src/nos/lib/messages_lib/0645_ad30_quiet.rel | 10 + .../0645_f464_xip_5fsearch_28_29_.rel | 16 - src/nos/lib/messages_lib/0646_7b54_quit.rel | 10 + .../0646_ef25_xip_5fset_28_25u_2c.rel | 16 - src/nos/lib/messages_lib/0647_054d_read.rel | 10 + .../0647_7af3_xip_5fset_28_29_20r.rel | 16 - .../0648_429f_xip_5fset_28_29_20r.rel | 16 - .../0648_c7a9_read_20_3cremotefil.rel | 12 + .../0649_19fa_readwritei_28_25u_2.rel | 14 + .../0649_36c3_xip_5fset_28_29_20r.rel | 16 - .../064a_3cda_xip_5fualign_28_29_.rel | 14 - .../064a_79be_readwritei_28_29_20.rel | 20 + .../064b_16b2_xip_5fualign_28_29_.rel | 14 - .../064b_94aa_readwritei_28_29_20.rel | 16 + .../064c_67b0_readwritei_28_29_20.rel | 16 + .../064c_71d2_xip_5fualign_28_29_.rel | 14 - src/nos/lib/messages_lib/064d_7ee6_reboot.rel | 10 + .../064d_c58e_xip_5fualign_28_29_.rel | 14 - .../064e_1c64_received_20_25u_20b.rel | 22 + .../064e_3a65_xip_5fualign_280x_2.rel | 16 - src/nos/lib/messages_lib/064f_2295_xmd5.rel | 10 - src/nos/lib/messages_lib/064f_5735_record.rel | 10 + .../0650_18c5_recv_3a_20do_20.rel | 12 + src/nos/lib/messages_lib/0650_e251_xmkd.rel | 10 - .../0651_8810_recv_3a_20dont_20.rel | 12 + src/nos/lib/messages_lib/0651_a48a_xpwd.rel | 10 - src/nos/lib/messages_lib/0652_79d3_xrmd.rel | 10 - .../0652_84ef_recv_3a_20will_20.rel | 12 + .../0653_219c_recv_3a_20wont_20.rel | 12 + src/nos/lib/messages_lib/0653_c59b_zap.rel | 10 - .../0654_4749_zerobuf_28_25u_29_2.rel | 14 - src/nos/lib/messages_lib/0654_c7dc_refuse.rel | 10 + .../lib/messages_lib/0655_0e31_reject_0a.rel | 10 + .../0655_ba0e_zerobuf_28_29_20ret.rel | 16 - .../0656_1fe8_zerobuf_28_29_20ret.rel | 16 - src/nos/lib/messages_lib/0656_bc2e_remote.rel | 10 + .../0657_4ff0_remote_20_5b_2dp_20.rel | 22 + src/nos/lib/messages_lib/0658_cb71_rename.rel | 10 + .../0659_a493_rename_20_3coldfile.rel | 14 + src/nos/lib/messages_lib/065a_6d5b_repeat.rel | 10 + .../065b_01b9_repeat_20_3cinterva.rel | 16 + .../lib/messages_lib/065c_3f14_request.rel | 10 + src/nos/lib/messages_lib/065d_85b2_reset.rel | 10 + .../065e_c3ce_response_20id_20_25.rel | 24 + src/nos/lib/messages_lib/065f_9bd3_retr.rel | 10 + .../lib/messages_lib/0660_5e3c_retries.rel | 10 + src/nos/lib/messages_lib/0661_0acb_retry.rel | 10 + .../0662_7f96_rip_20accept_20_3cg.rel | 14 + .../0663_764e_rip_20add_20_3cdest.rel | 16 + .../0664_3030_rip_20drop_20_3cdes.rel | 12 + .../0665_8661_rip_20refuse_20_3cg.rel | 14 + src/nos/lib/messages_lib/0666_b917_rmd_20.rel | 10 + src/nos/lib/messages_lib/0667_a56c_rmdir.rel | 10 + .../0668_b9e3_rmdir_20_3cdirector.rel | 12 + src/nos/lib/messages_lib/0669_c459_rmhost.rel | 10 + src/nos/lib/messages_lib/066a_0284_route.rel | 10 + .../066b_ea02_route_20add_20_3cde.rel | 20 + .../066c_f461_route_20add_20_5b_2.rel | 14 + .../066d_d581_route_20addprivate_.rel | 22 + .../066e_bbd2_route_20drop_20_3cd.rel | 16 + .../066f_103e_route_20drop_20_5b_.rel | 12 + .../0670_a5ec_route_20lookup_20_3.rel | 14 + .../0671_ae23_route_20to_20self_3.rel | 14 + src/nos/lib/messages_lib/0672_2c09_rtimer.rel | 10 + src/nos/lib/messages_lib/0673_ae54_rtt.rel | 10 + .../lib/messages_lib/0674_02fc_running.rel | 10 + .../0675_de1b_rwsetup_28_25u_2c_2.rel | 16 + .../0676_7f24_rwsetup_28_29_20ret.rel | 16 + .../0677_d9aa_rwsetup_28_29_20ret.rel | 16 + src/nos/lib/messages_lib/0678_b4d7_rxbuf.rel | 10 + src/nos/lib/messages_lib/0679_d2fd_sbrk.rel | 10 + .../lib/messages_lib/067a_3365_scrollback.rel | 12 + src/nos/lib/messages_lib/067b_9a3e_send.rel | 10 + .../067c_e397_send_20_22string_22.rel | 14 + src/nos/lib/messages_lib/067d_5c19_sender.rel | 10 + .../067e_efea_sending_20job_20_25.rel | 12 + .../067f_7321_sent_3a_20do_20.rel | 12 + .../0680_db3c_sent_3a_20dont_20.rel | 12 + .../0681_d7c3_sent_3a_20will_20.rel | 12 + .../0682_72b0_sent_3a_20wont_20.rel | 12 + .../0683_2d5d_serial_20line_20IP_.rel | 14 + .../0684_f33e_serial_20line_20VJ_.rel | 16 + .../0685_6f7f_serial_20line_20VJ_.rel | 16 + .../0686_6f48_server_20retries.rel | 12 + .../messages_lib/0687_f0af_server_20trace.rel | 12 + .../lib/messages_lib/0688_db9a_session.rel | 10 + .../0689_3031_set_20mycall_20firs.rel | 12 + src/nos/lib/messages_lib/068a_1de4_shell.rel | 10 + .../068b_ed19_short_20authenticat.rel | 14 + .../068c_cfaf_short_20configurati.rel | 14 + src/nos/lib/messages_lib/068d_3faf_signal.rel | 10 + src/nos/lib/messages_lib/068e_dce5_size.rel | 10 + src/nos/lib/messages_lib/068f_f163_sizes.rel | 10 + .../0690_675f_slots_20must_20be_2.rel | 16 + .../0691_4046_smtp_20daemon_20ent.rel | 16 + .../0692_8e2a_smtp_20daemon_3a_20.rel | 16 + .../0693_23e1_smtp_20job_20_25s_2.rel | 16 + .../0694_ed89_smtp_20mode_3a_20_2.rel | 12 + .../0695_2b33_smtp_20recv_3a_20_2.rel | 12 + .../0696_928b_smtp_20sent_3a_20.rel | 12 + src/nos/lib/messages_lib/0697_b4cf_socket.rel | 10 + .../0698_6b20_some_20strange_2c_2.rel | 14 + src/nos/lib/messages_lib/0699_60cd_speed.rel | 10 + .../069a_9785_speed_20_3cbps_3e.rel | 12 + .../069b_1861_spool_3a_20_25s_0a.rel | 12 + .../lib/messages_lib/069c_61f2_src_20_25s.rel | 10 + .../069d_4e06_srtt_20_3d_20_25lu_.rel | 14 + .../messages_lib/069e_795f_stack_20test.rel | 12 + .../lib/messages_lib/069f_45e3_stacktest.rel | 12 + .../06a0_be0b_stacktest_20_5bon_7.rel | 12 + .../messages_lib/06a1_fcc6_standard_0a.rel | 12 + src/nos/lib/messages_lib/06a2_b958_start.rel | 10 + .../06a3_4b5d_start_20_3cserverna.rel | 12 + .../06a4_9324_start_20bsr_20_3cin.rel | 14 + src/nos/lib/messages_lib/06a5_d63e_stat.rel | 10 + src/nos/lib/messages_lib/06a6_5069_status.rel | 10 + .../06a7_a95a_status_20up_7cdown_.rel | 16 + src/nos/lib/messages_lib/06a8_68cb_stime.rel | 10 + .../06a9_4875_stktrace_20from_20p.rel | 14 + src/nos/lib/messages_lib/06aa_0a0a_stop.rel | 10 + .../06ab_6ec0_stop_20_3cservernam.rel | 12 + .../lib/messages_lib/06ac_301d_stopped.rel | 10 + src/nos/lib/messages_lib/06ad_2918_stor.rel | 10 + src/nos/lib/messages_lib/06ae_784e_stru.rel | 10 + src/nos/lib/messages_lib/06af_bec3_suffix.rel | 10 + .../lib/messages_lib/06b0_420b_symlink.rel | 10 + src/nos/lib/messages_lib/06b1_ceb7_sync.rel | 10 + .../lib/messages_lib/06b2_bb66_syndata.rel | 10 + .../lib/messages_lib/06b3_b50c_sysdebug.rel | 10 + .../06b4_be35_sysdebug_20_5bon_7c.rel | 12 + src/nos/lib/messages_lib/06b5_8f60_syst.rel | 10 + .../06b6_f3f3_system_20call_20tra.rel | 12 + .../06b7_a612_system_20kernel_20d.rel | 12 + .../lib/messages_lib/06b8_98fb_systrace.rel | 10 + .../06b9_71e3_systrace_20_5bon_7c.rel | 12 + src/nos/lib/messages_lib/06ba_6404_t3.rel | 10 + src/nos/lib/messages_lib/06bb_b31f_target.rel | 10 + src/nos/lib/messages_lib/06bc_e630_tcp.rel | 10 + .../06bd_e483_tcp_20kick_20_3ctcb.rel | 12 + .../06be_a12c_tcp_20reset_20_3ctc.rel | 12 + .../06bf_bb94_tcp_20rtt_20_3ctcb_.rel | 12 + .../06c0_f363_tcp_20stat_20_3ctcb.rel | 14 + src/nos/lib/messages_lib/06c1_6ff2_telnet.rel | 10 + .../06c2_2114_telnet_20_3caddress.rel | 12 + src/nos/lib/messages_lib/06c3_6cef_term.rel | 10 + .../lib/messages_lib/06c4_7425_terminate.rel | 12 + src/nos/lib/messages_lib/06c5_4c6f_thresh.rel | 10 + src/nos/lib/messages_lib/06c6_535d_time.rel | 10 + .../06c7_43a3_time_20before_20fil.rel | 16 + .../lib/messages_lib/06c8_7156_timeout.rel | 10 + src/nos/lib/messages_lib/06c9_d9a6_timer.rel | 10 + .../06ca_d29c_timer_3a_20ints_20w.rel | 14 + src/nos/lib/messages_lib/06cb_c82f_times.rel | 10 + .../lib/messages_lib/06cc_223a_timestamps.rel | 12 + .../06cd_004c_tip_20or_20dialer_2.rel | 18 + .../lib/messages_lib/06ce_aa4a_tiptimeout.rel | 12 + .../06cf_aa76_tmp_20file_20wiping.rel | 12 + .../06d0_2645_tmp_20file_3a_20_25.rel | 12 + src/nos/lib/messages_lib/06d1_a165_topt.rel | 10 + src/nos/lib/messages_lib/06d2_4f5f_trace.rel | 10 + .../06d3_3bce_traceroute_20done_3.rel | 12 + src/nos/lib/messages_lib/06d4_f7b8_try.rel | 10 + src/nos/lib/messages_lib/06d5_e444_ttl.rel | 10 + .../lib/messages_lib/06d6_299c_ttylink.rel | 10 + src/nos/lib/messages_lib/06d7_e58b_txqlen.rel | 10 + src/nos/lib/messages_lib/06d8_f321_type.rel | 10 + src/nos/lib/messages_lib/06d9_f1e4_udp.rel | 10 + src/nos/lib/messages_lib/06da_5caf_umount.rel | 10 + .../lib/messages_lib/06db_5c70_unknown_0a.rel | 10 + .../06dc_bc4f_unknown_200x_2504x_.rel | 12 + .../06dd_5194_unknown_20hardware_.rel | 14 + src/nos/lib/messages_lib/06de_acee_unlink.rel | 10 + .../lib/messages_lib/06df_f1c3_unused_0a.rel | 10 + .../06e0_f303_up_20script_3a_20_2.rel | 12 + src/nos/lib/messages_lib/06e1_db93_update.rel | 10 + .../06e2_5c27_update_20Domain_2et.rel | 12 + .../06e3_0b09_update_20Domain_2et.rel | 14 + .../06e4_c5a3_update_20Domain_2et.rel | 14 + src/nos/lib/messages_lib/06e5_d4f0_upload.rel | 10 + src/nos/lib/messages_lib/06e6_13f7_user.rel | 10 + .../06e7_6f25_user_20abort_0a.rel | 12 + .../lib/messages_lib/06e8_1b49_userdata.rel | 10 + .../06e9_3967_username_20not_20de.rel | 18 + src/nos/lib/messages_lib/06ea_c23f_users.rel | 10 + src/nos/lib/messages_lib/06eb_5353_utime.rel | 10 + .../06ec_d261_valid_20subcommands.rel | 12 + .../06ed_a0e5_validblk_3a_20dev_2.rel | 14 + .../06ee_74cf_validblk_3a_20inval.rel | 14 + .../lib/messages_lib/06ef_ab5c_verbose.rel | 10 + .../lib/messages_lib/06f0_207d_version.rel | 10 + src/nos/lib/messages_lib/06f1_9778_view.rel | 10 + .../06f2_23f1_view_20_3cfilename_.rel | 12 + src/nos/lib/messages_lib/06f3_98f0_vj.rel | 10 + src/nos/lib/messages_lib/06f4_d63a_wait.rel | 10 + .../06f5_2887_wait_20_3cmilliseco.rel | 16 + .../lib/messages_lib/06f6_e988_waitpid.rel | 10 + .../06f7_674e_want_20busy_20block.rel | 16 + src/nos/lib/messages_lib/06f8_84e4_what.rel | 10 + src/nos/lib/messages_lib/06f9_9158_window.rel | 10 + src/nos/lib/messages_lib/06fa_5379_wipe.rel | 10 + .../06fb_bd9d_wr_5finode_28_29_20.rel | 16 + .../06fc_68b2_wr_5finode_28_29_20.rel | 16 + .../06fd_7708_wr_5finode_280x_25x.rel | 14 + src/nos/lib/messages_lib/06fe_4cc8_write.rel | 10 + src/nos/lib/messages_lib/06ff_dd6d_x_25x.rel | 10 + src/nos/lib/messages_lib/0700_ce7b_xcwd.rel | 10 + .../0701_511f_xip_5falign_28_29_2.rel | 14 + .../0702_62af_xip_5falign_28_29_2.rel | 14 + .../0703_2fa7_xip_5falign_28_29_2.rel | 14 + .../0704_6211_xip_5falign_28_29_2.rel | 16 + .../0705_dc6f_xip_5falign_280x_25.rel | 14 + .../0706_d854_xip_5falign_5fbmap_.rel | 16 + .../0707_4a41_xip_5falign_5fbmap_.rel | 16 + .../0708_f051_xip_5falign_5fbmap_.rel | 16 + .../0709_39ef_xip_5falign_5fchase.rel | 18 + .../070a_7ea2_xip_5falign_5fchase.rel | 18 + .../070b_f19c_xip_5falign_5fchase.rel | 16 + .../070c_fcac_xip_5falign_5fchase.rel | 16 + .../070d_d6ef_xip_5falign_5fchase.rel | 20 + .../070e_0fcd_xip_5falign_5frecur.rel | 20 + .../070f_ceee_xip_5falign_5frecur.rel | 18 + .../0710_346b_xip_5fexamine_28_29.rel | 16 + .../0711_fa8e_xip_5fexamine_28_29.rel | 16 + .../0712_ed9f_xip_5fexamine_28_29.rel | 16 + .../0713_c7f7_xip_5fexamine_28_29.rel | 16 + .../0714_04e3_xip_5fexamine_280x_.rel | 18 + .../0715_ffc4_xip_5ffind_28_25u_2.rel | 18 + .../0716_cb3b_xip_5ffind_28_29_20.rel | 16 + .../0717_5d23_xip_5ffind_28_29_20.rel | 16 + .../0718_1764_xip_5ffind_28_29_20.rel | 16 + .../0719_0ce2_xip_5fget_28_25u_2c.rel | 16 + .../071a_db94_xip_5fget_28_29_20r.rel | 16 + .../071b_de41_xip_5fget_28_29_20r.rel | 16 + .../071c_192a_xip_5fget_28_29_20r.rel | 16 + .../071d_2347_xip_5freserve_28_25.rel | 18 + .../071e_acf4_xip_5freserve_28_29.rel | 16 + .../071f_69a1_xip_5freserve_28_29.rel | 16 + .../0720_4bfa_xip_5freserve_28_29.rel | 16 + .../0721_3192_xip_5fsearch_28_25u.rel | 16 + .../0722_83fc_xip_5fsearch_28_29_.rel | 16 + .../0723_fd61_xip_5fsearch_28_29_.rel | 16 + .../0724_f464_xip_5fsearch_28_29_.rel | 16 + .../0725_ef25_xip_5fset_28_25u_2c.rel | 16 + .../0726_7af3_xip_5fset_28_29_20r.rel | 16 + .../0727_429f_xip_5fset_28_29_20r.rel | 16 + .../0728_36c3_xip_5fset_28_29_20r.rel | 16 + .../0729_3cda_xip_5fualign_28_29_.rel | 14 + .../072a_16b2_xip_5fualign_28_29_.rel | 14 + .../072b_71d2_xip_5fualign_28_29_.rel | 14 + .../072c_c58e_xip_5fualign_28_29_.rel | 14 + .../072d_3a65_xip_5fualign_280x_2.rel | 16 + src/nos/lib/messages_lib/072e_2295_xmd5.rel | 10 + src/nos/lib/messages_lib/072f_e251_xmkd.rel | 10 + src/nos/lib/messages_lib/0730_a48a_xpwd.rel | 10 + src/nos/lib/messages_lib/0731_79d3_xrmd.rel | 10 + src/nos/lib/messages_lib/0732_c59b_zap.rel | 10 + .../0733_4749_zerobuf_28_25u_29_2.rel | 14 + .../0734_ba0e_zerobuf_28_29_20ret.rel | 16 + .../0735_1fe8_zerobuf_28_29_20ret.rel | 16 + src/nos/lib/net.lib | 1 + src/nos/lib/net_lib/Ifcmds.rel | 44 +- src/nos/lib/net_lib/_fcreat.rel | 14 +- src/nos/lib/net_lib/_fillbuf.rel | 4 +- src/nos/lib/net_lib/accept.rel | 12 +- src/nos/lib/net_lib/alloc.rel | 1193 +- src/nos/lib/net_lib/audit.rel | 70 +- src/nos/lib/net_lib/bind.rel | 10 +- src/nos/lib/net_lib/close.rel | 4 +- src/nos/lib/net_lib/close_s.rel | 2 +- src/nos/lib/net_lib/cmdparse.rel | 805 +- src/nos/lib/net_lib/connect.rel | 6 +- src/nos/lib/net_lib/devparam.rel | 44 +- src/nos/lib/net_lib/dodetach.rel | 22 +- src/nos/lib/net_lib/dodialer.rel | 105 +- src/nos/lib/net_lib/dofiles.rel | 178 +- src/nos/lib/net_lib/doifconfig.rel | 26 +- src/nos/lib/net_lib/eolseq.rel | 2 +- src/nos/lib/net_lib/files.rel | 294 +- src/nos/lib/net_lib/freopen.rel | 2 +- src/nos/lib/net_lib/fseek.rel | 2 +- src/nos/lib/net_lib/getpeername.rel | 6 +- src/nos/lib/net_lib/getsockname.rel | 4 +- src/nos/lib/net_lib/ifencap.rel | 10 +- src/nos/lib/net_lib/iflinkadr.rel | 6 +- src/nos/lib/net_lib/iftxqlen.rel | 6 +- src/nos/lib/net_lib/kernel.rel | 1583 +- src/nos/lib/net_lib/ksubr.rel | 132 +- src/nos/lib/net_lib/listen.rel | 6 +- src/nos/lib/net_lib/locsock.rel | 92 +- src/nos/lib/net_lib/mbufsizes.rel | 22 +- src/nos/lib/net_lib/mbufstat.rel | 44 +- src/nos/lib/net_lib/perror.rel | 18 +- src/nos/lib/net_lib/read.rel | 4 +- src/nos/lib/net_lib/recv_mbuf.rel | 4 +- src/nos/lib/net_lib/send_mbuf.rel | 6 +- src/nos/lib/net_lib/settos.rel | 2 +- src/nos/lib/net_lib/showiface.rel | 64 +- src/nos/lib/net_lib/shutdown.rel | 4 +- src/nos/lib/net_lib/sockcmd.rel | 54 +- src/nos/lib/net_lib/socket.rel | 16 +- src/nos/lib/net_lib/socketpair.rel | 6 +- src/nos/lib/net_lib/sockkick.rel | 4 +- src/nos/lib/net_lib/socklen.rel | 8 +- src/nos/lib/net_lib/sockowner.rel | 2 +- src/nos/lib/net_lib/sockutil.rel | 10 +- src/nos/lib/net_lib/timer.rel | 36 +- src/nos/lib/net_lib/tmpfile.rel | 2 +- src/nos/lib/net_lib/ttydriv.rel | 12 +- src/nos/lib/net_lib/usesock.rel | 2 +- src/nos/lib/net_lib/view.rel | 1136 +- src/nos/lib/net_lib/write.rel | 4 +- src/nos/lib/ppp.lib | 18 +- src/nos/lib/ppp_lib/Dial_cmds.rel | 46 +- src/nos/lib/ppp_lib/IPcpcmds.rel | 28 +- src/nos/lib/ppp_lib/IPcpside_cmds.rel | 14 +- src/nos/lib/ppp_lib/Lcpcmds.rel | 26 +- src/nos/lib/ppp_lib/Lcpside_cmds.rel | 30 +- src/nos/lib/ppp_lib/Papcmds.rel | 14 +- src/nos/lib/ppp_lib/_fsm_log.rel | 110 + src/nos/lib/ppp_lib/_ppp_error.rel | 26 + src/nos/lib/ppp_lib/_ppp_log.rel | 65 + src/nos/lib/ppp_lib/_ppp_skipped.rel | 40 + src/nos/lib/ppp_lib/asy.rel | 106 +- src/nos/lib/ppp_lib/dialer.rel | 1459 -- src/nos/lib/ppp_lib/dialer_kick.rel | 127 +- src/nos/lib/ppp_lib/dodial_exec.rel | 140 + src/nos/lib/ppp_lib/dodial_send.rel | 12 +- src/nos/lib/ppp_lib/dodial_speed.rel | 32 +- src/nos/lib/ppp_lib/dodial_wait.rel | 264 +- src/nos/lib/ppp_lib/doipcp_address.rel | 110 +- src/nos/lib/ppp_lib/doipcp_compress.rel | 299 +- src/nos/lib/ppp_lib/doipcp_pool.rel | 36 +- src/nos/lib/ppp_lib/dolcp_accm.rel | 102 +- src/nos/lib/ppp_lib/dolcp_acfc.rel | 106 +- src/nos/lib/ppp_lib/dolcp_auth.rel | 178 +- src/nos/lib/ppp_lib/dolcp_magic.rel | 168 +- src/nos/lib/ppp_lib/dolcp_mru.rel | 152 +- src/nos/lib/ppp_lib/dolcp_pfc.rel | 92 +- src/nos/lib/ppp_lib/dopap_user.rel | 103 +- src/nos/lib/ppp_lib/dropit.rel | 57 +- src/nos/lib/ppp_lib/dropline.rel | 2 +- src/nos/lib/ppp_lib/fsmCodes.rel | 98 +- src/nos/lib/ppp_lib/fsmStates.rel | 60 +- src/nos/lib/ppp_lib/fsm_close.rel | 92 +- src/nos/lib/ppp_lib/fsm_down.rel | 98 +- src/nos/lib/ppp_lib/fsm_init.rel | 80 +- src/nos/lib/ppp_lib/fsm_log.rel | 52 - src/nos/lib/ppp_lib/fsm_no_action.rel | 38 +- src/nos/lib/ppp_lib/fsm_no_check.rel | 38 +- src/nos/lib/ppp_lib/fsm_opening.rel | 46 +- src/nos/lib/ppp_lib/fsm_proc.rel | 1183 +- src/nos/lib/ppp_lib/fsm_reset.rel | 62 +- src/nos/lib/ppp_lib/fsm_send.rel | 350 +- src/nos/lib/ppp_lib/fsm_sendreq.rel | 72 +- src/nos/lib/ppp_lib/fsm_sendtermack.rel | 44 +- src/nos/lib/ppp_lib/fsm_sendtermreq.rel | 66 +- src/nos/lib/ppp_lib/fsm_start.rel | 90 +- src/nos/lib/ppp_lib/fsm_timeout.rel | 172 +- src/nos/lib/ppp_lib/fsm_timer.rel | 44 +- src/nos/lib/ppp_lib/ipcp_ack.rel | 288 +- src/nos/lib/ppp_lib/ipcp_check.rel | 541 +- src/nos/lib/ppp_lib/ipcp_init.rel | 96 +- src/nos/lib/ppp_lib/ipcp_makeoptions.rel | 84 +- src/nos/lib/ppp_lib/ipcp_makereq.rel | 52 +- src/nos/lib/ppp_lib/ipcp_nak.rel | 448 +- src/nos/lib/ppp_lib/ipcp_opening.rel | 179 +- src/nos/lib/ppp_lib/ipcp_option.rel | 282 +- src/nos/lib/ppp_lib/ipcp_reject.rel | 432 +- src/nos/lib/ppp_lib/ipcp_request.rel | 469 +- src/nos/lib/ppp_lib/ipcp_reset.rel | 62 +- src/nos/lib/ppp_lib/ipcp_starting.rel | 94 +- src/nos/lib/ppp_lib/ipcp_stopping.rel | 38 +- src/nos/lib/ppp_lib/lcp_ack.rel | 288 +- src/nos/lib/ppp_lib/lcp_check.rel | 537 +- src/nos/lib/ppp_lib/lcp_init.rel | 90 +- src/nos/lib/ppp_lib/lcp_makeoptions.rel | 88 +- src/nos/lib/ppp_lib/lcp_makereq.rel | 52 +- src/nos/lib/ppp_lib/lcp_nak.rel | 442 +- src/nos/lib/ppp_lib/lcp_opening.rel | 128 +- src/nos/lib/ppp_lib/lcp_option.rel | 372 +- src/nos/lib/ppp_lib/lcp_reject.rel | 434 +- src/nos/lib/ppp_lib/lcp_request.rel | 469 +- src/nos/lib/ppp_lib/lcp_reset.rel | 72 +- src/nos/lib/ppp_lib/lcp_starting.rel | 42 +- src/nos/lib/ppp_lib/lcp_stopping.rel | 68 +- src/nos/lib/ppp_lib/pap_check.rel | 327 +- src/nos/lib/ppp_lib/pap_down.rel | 82 +- src/nos/lib/ppp_lib/pap_init.rel | 120 +- src/nos/lib/ppp_lib/pap_local.rel | 50 +- src/nos/lib/ppp_lib/pap_makereq.rel | 224 +- src/nos/lib/ppp_lib/pap_monitor.rel | 332 +- src/nos/lib/ppp_lib/pap_opening.rel | 54 +- src/nos/lib/ppp_lib/pap_proc.rel | 317 +- src/nos/lib/ppp_lib/pap_remote.rel | 87 +- src/nos/lib/ppp_lib/pap_request.rel | 353 +- src/nos/lib/ppp_lib/pap_shutdown.rel | 81 +- src/nos/lib/ppp_lib/pap_timeout.rel | 148 +- src/nos/lib/ppp_lib/pap_verify.rel | 97 +- src/nos/lib/ppp_lib/ppp_error.rel | 26 - src/nos/lib/ppp_lib/ppp_init.rel | 139 +- src/nos/lib/ppp_lib/ppp_iostatus.rel | 168 +- src/nos/lib/ppp_lib/ppp_log.rel | 40 - src/nos/lib/ppp_lib/ppp_output.rel | 68 +- src/nos/lib/ppp_lib/ppp_proc.rel | 896 +- src/nos/lib/ppp_lib/ppp_raw.rel | 483 +- src/nos/lib/ppp_lib/ppp_recv.rel | 435 +- src/nos/lib/ppp_lib/ppp_send.rel | 129 +- src/nos/lib/ppp_lib/ppp_skipped.rel | 38 - src/nos/lib/ppp_lib/pppcmd.rel | 2038 +- src/nos/lib/ppp_lib/pppdump.rel | 152 +- src/nos/lib/ppp_lib/redial.rel | 308 +- src/nos/lib/ppp_lib/sd_answer.rel | 101 +- src/nos/lib/ppp_lib/sd_init.rel | 390 +- src/nos/lib/ppp_lib/sd_stat.rel | 249 +- src/nos/lib/ppp_lib/slhc_compress.rel | 770 +- src/nos/lib/ppp_lib/slhc_init.rel | 14 +- src/nos/lib/ppp_lib/slhc_remember.rel | 120 +- src/nos/lib/ppp_lib/slhc_uncompress.rel | 2 +- src/nos/lib/ppp_lib/slhcdump.rel | 212 +- src/nos/lib/ppp_lib/slip.rel | 917 +- src/nos/lib/servers_lib/Ftpscmd.rel | 72 +- src/nos/lib/servers_lib/Ftpsmsg_badcmd.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_badport.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_badtype.rel | 4 +- src/nos/lib/servers_lib/Ftpsmsg_banner.rel | 4 +- src/nos/lib/servers_lib/Ftpsmsg_binwarn.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_bye.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_cantmake.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_cantopen.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_delefail.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_deleok.rel | 4 +- src/nos/lib/servers_lib/Ftpsmsg_givepass.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_logged.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_lowmem.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_mkdok.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_noconn.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_nodir.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_noperm.rel | 4 +- src/nos/lib/servers_lib/Ftpsmsg_notlog.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_okay.rel | 4 +- src/nos/lib/servers_lib/Ftpsmsg_only8.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_portok.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_pwdmsg.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_rxok.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_sending.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_syst.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_txok.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_typeok.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_unimp.rel | 4 +- src/nos/lib/servers_lib/Ftpsmsg_unsupp.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_userfirst.rel | 2 +- src/nos/lib/servers_lib/Ftpsmsg_writerr.rel | 4 +- src/nos/lib/servers_lib/bootpcmd.rel | 482 +- src/nos/lib/servers_lib/bootpdip.rel | 180 +- src/nos/lib/servers_lib/fingerd.rel | 112 +- src/nos/lib/servers_lib/ftplogin.rel | 34 +- src/nos/lib/servers_lib/ftpserv.rel | 10 +- src/nos/lib/servers_lib/ftpserv_switch.rel | 408 +- .../lib/servers_lib/ftpserv_switch_xmd5.rel | 70 +- src/nos/lib/servers_lib/recvit.rel | 2 +- src/nos/lib/servers_lib/smisc.rel | 604 +- src/nos/lib/servers_lib/ttylink.rel | 70 +- src/nos/lib/z80.lib | 10 +- src/nos/lib/z80_lib/asy_close.rel | 4 +- src/nos/lib/z80_lib/asy_open.rel | 4 +- src/nos/lib/z80_lib/asy_read.rel | 6 +- src/nos/lib/z80_lib/asy_stop.rel | 2 +- src/nos/lib/z80_lib/diag.rel | 71 +- src/nos/lib/z80_lib/dirutil.rel | 130 +- src/nos/lib/z80_lib/doasystat.rel | 8 +- src/nos/lib/z80_lib/doesccstat.rel | 216 +- src/nos/lib/z80_lib/escc_asyex.rel | 163 +- src/nos/lib/z80_lib/escc_async.rel | 164 +- src/nos/lib/z80_lib/escc_asyrx.rel | 4 +- src/nos/lib/z80_lib/escc_asysp.rel | 4 +- src/nos/lib/z80_lib/escc_asytx.rel | 122 +- src/nos/lib/z80_lib/escc_attach.rel | 1135 +- src/nos/lib/z80_lib/escc_frameup.rel | 2 +- src/nos/lib/z80_lib/escc_init.rel | 199 +- src/nos/lib/z80_lib/escc_raw.rel | 2 +- src/nos/lib/z80_lib/escc_sdlcex.rel | 6 +- src/nos/lib/z80_lib/escc_sdlcrx.rel | 4 +- src/nos/lib/z80_lib/escc_sdlcsp.rel | 8 +- src/nos/lib/z80_lib/escc_sdlctx.rel | 4 +- src/nos/lib/z80_lib/escc_sstart.rel | 90 +- src/nos/lib/z80_lib/escc_write.rel | 152 + src/nos/lib/z80_lib/esccvec.rel | 122 +- src/nos/lib/z80_lib/get_escc.rel | 63 +- src/nos/lib/z80_lib/get_rlsd_escc.rel | 77 + src/nos/lib/z80_lib/pasy.rel | 136 +- src/nos/lib/z80_lib/stktrace.rel | 206 +- src/nos/lib/z80_lib/sw.rel | 16 +- src/nos/lib/z80_lib/z80.rel | 1041 +- src/nos/lib/z80_lib/z80gen.rel | 6 +- src/nos/main/CVS/Entries | 11 + src/nos/main/CVS/Repository | 1 + src/nos/main/CVS/Root | 1 + src/nos/main/config.c | 25 +- src/nos/main/config.i | 7228 ++++++ src/nos/main/main.c | 28 +- src/nos/main/main.i | 7070 ++++++ src/nos/main/parm.i | 20 + src/nos/main/session.i | 4111 +++ src/nos/main/version.i | 2 + src/nos/make.d/CVS/Entries | 2 + src/nos/make.d/CVS/Repository | 1 + src/nos/make.d/CVS/Root | 1 + src/nos/mkutil/CVS/Entries | 6 + src/nos/mkutil/CVS/Repository | 1 + src/nos/mkutil/CVS/Root | 1 + src/nos/net/CVS/Entries | 30 + src/nos/net/CVS/Repository | 1 + src/nos/net/CVS/Root | 1 + src/nos/net/ahdlc.i | 2496 ++ src/nos/net/alloc.c | 20 +- src/nos/net/alloc.i | 2697 ++ src/nos/net/audit.i | 2187 ++ src/nos/net/cmdparse.c | 16 +- src/nos/net/cmdparse.i | 2623 ++ src/nos/net/crc.i | 977 + src/nos/net/devparam.c | 5 + src/nos/net/devparam.i | 1070 + src/nos/net/files.i | 2704 ++ src/nos/net/ftpsubr.i | 2520 ++ src/nos/net/getopt.i | 1014 + src/nos/net/iface.c | 11 + src/nos/net/iface.i | 4108 +++ src/nos/net/kernel.c | 98 +- src/nos/net/kernel.i | 3397 +++ src/nos/net/ksubr.i | 2878 +++ src/nos/net/locsock.i | 4506 ++++ src/nos/net/mbuf.i | 2866 +++ src/nos/net/md5c.i | 955 + src/nos/net/misc.i | 2378 ++ src/nos/net/pathname.i | 1204 + src/nos/net/sockcmd.i | 4553 ++++ src/nos/net/socket.i | 5079 ++++ src/nos/net/sockuser.i | 4766 ++++ src/nos/net/sockutil.i | 4405 ++++ src/nos/net/stdio.i | 6069 +++++ src/nos/net/timer.i | 2937 +++ src/nos/net/ttydriv.i | 2715 ++ src/nos/net/vfprintf.i | 1113 + src/nos/net/view.c | 13 + src/nos/net/view.i | 3295 +++ src/nos/net/wildmat.i | 1024 + src/nos/netrom/CVS/Entries | 14 + src/nos/netrom/CVS/Repository | 1 + src/nos/netrom/CVS/Root | 1 + src/nos/netrom/nr3.i | 5644 +++++ src/nos/netrom/nr4.i | 3869 +++ src/nos/netrom/nr4hdr.i | 2820 +++ src/nos/netrom/nr4mail.i | 4195 ++++ src/nos/netrom/nr4subr.i | 3358 +++ src/nos/netrom/nr4timer.i | 3293 +++ src/nos/netrom/nr4user.i | 3345 +++ src/nos/netrom/nrcmd.i | 4985 ++++ src/nos/netrom/nrhdr.i | 3256 +++ src/nos/netrom/nrs.i | 3163 +++ src/nos/netrom/nrsock.i | 4753 ++++ src/nos/pmm/CVS/Entries | 16 + src/nos/pmm/CVS/Repository | 1 + src/nos/pmm/CVS/Root | 1 + src/nos/pmm/diffdir.pmm | 16 +- src/nos/po/.cvsignore | 2 + src/nos/po/CVS/Entries | 5 + src/nos/po/CVS/Repository | 1 + src/nos/po/CVS/Root | 1 + src/nos/po/messages.po | 3906 +-- src/nos/po/messages.txt | 326 +- src/nos/ppp/CVS/Entries | 16 + src/nos/ppp/CVS/Repository | 1 + src/nos/ppp/CVS/Root | 1 + src/nos/ppp/asy.i | 4214 ++++ src/nos/ppp/auto.mk | 6 +- src/nos/ppp/dialer.c | 296 +- src/nos/ppp/dialer.i | 4811 ++++ src/nos/ppp/ppp.c | 254 +- src/nos/ppp/ppp.i | 5248 ++++ src/nos/ppp/pppcmd.c | 136 +- src/nos/ppp/pppcmd.i | 4203 ++++ src/nos/ppp/pppdump.i | 2546 ++ src/nos/ppp/pppfsm.c | 247 +- src/nos/ppp/pppfsm.i | 3763 +++ src/nos/ppp/pppipcp.c | 115 +- src/nos/ppp/pppipcp.i | 4960 ++++ src/nos/ppp/ppplcp.c | 124 +- src/nos/ppp/ppplcp.i | 4189 ++++ src/nos/ppp/ppppap.c | 83 +- src/nos/ppp/ppppap.i | 4143 ++++ src/nos/ppp/slhc.i | 3735 +++ src/nos/ppp/slhcdump.i | 3279 +++ src/nos/ppp/slip.c | 74 + src/nos/ppp/slip.i | 3701 +++ src/nos/ppp/sppp.i | 3427 +++ src/nos/servers/CVS/Entries | 18 + src/nos/servers/CVS/Repository | 1 + src/nos/servers/CVS/Root | 1 + src/nos/servers/bmutil.i | 6159 +++++ src/nos/servers/bootpcmd.i | 3956 +++ src/nos/servers/bootpd.i | 3873 +++ src/nos/servers/bootpdip.i | 3648 +++ src/nos/servers/fingerd.i | 3118 +++ src/nos/servers/forward.i | 5695 +++++ src/nos/servers/ftpserv.i | 3739 +++ src/nos/servers/mailbox.i | 7352 ++++++ src/nos/servers/popserv.i | 3312 +++ src/nos/servers/rewrite.i | 1694 ++ src/nos/servers/smisc.i | 4697 ++++ src/nos/servers/smtpserv.i | 4224 ++++ src/nos/servers/sysprs7.dll | Bin 1025 -> 0 bytes src/nos/servers/sysprs7.tgz | Bin 1025 -> 0 bytes src/nos/servers/tipmail.i | 5387 ++++ src/nos/servers/ttylink.i | 3093 +++ src/nos/sys/CVS/Entries | 8 + src/nos/sys/CVS/Repository | 1 + src/nos/sys/CVS/Root | 1 + src/nos/sys/_sys/CVS/Entries | 8 + src/nos/sys/_sys/CVS/Repository | 1 + src/nos/sys/_sys/CVS/Root | 1 + src/nos/turboc/CVS/Entries | 4 + src/nos/turboc/CVS/Repository | 1 + src/nos/turboc/CVS/Root | 1 + src/nos/turboc/lib/clients.lib | Bin 72192 -> 0 bytes src/nos/turboc/lib/dump.lib | Bin 26112 -> 0 bytes src/nos/turboc/lib/internet.lib | Bin 118272 -> 0 bytes src/nos/turboc/lib/net.lib | Bin 92160 -> 0 bytes src/nos/turboc/lib/netrom.lib | Bin 47616 -> 0 bytes src/nos/turboc/lib/servers.lib | Bin 117760 -> 0 bytes src/nos/turboc/obj/ahdlc.obj | Bin 1509 -> 0 bytes src/nos/turboc/obj/alloc.obj | Bin 5800 -> 0 bytes src/nos/turboc/obj/arcdump.obj | Bin 957 -> 0 bytes src/nos/turboc/obj/arcnet.obj | Bin 1483 -> 0 bytes src/nos/turboc/obj/arp.obj | Bin 3524 -> 0 bytes src/nos/turboc/obj/arpcmd.obj | Bin 3195 -> 0 bytes src/nos/turboc/obj/arpdump.obj | Bin 1658 -> 0 bytes src/nos/turboc/obj/arphdr.obj | Bin 1319 -> 0 bytes src/nos/turboc/obj/asy.obj | Bin 2524 -> 0 bytes src/nos/turboc/obj/asyvec.obj | Bin 1005 -> 0 bytes src/nos/turboc/obj/audit.obj | Bin 1441 -> 0 bytes src/nos/turboc/obj/ax25.obj | Bin 4361 -> 0 bytes src/nos/turboc/obj/ax25cmd.obj | Bin 8076 -> 0 bytes src/nos/turboc/obj/ax25dump.obj | Bin 3262 -> 0 bytes src/nos/turboc/obj/ax25hdr.obj | Bin 1165 -> 0 bytes src/nos/turboc/obj/ax25mail.obj | Bin 1969 -> 0 bytes src/nos/turboc/obj/ax25subr.obj | Bin 2558 -> 0 bytes src/nos/turboc/obj/ax25user.obj | Bin 2393 -> 0 bytes src/nos/turboc/obj/axheard.obj | Bin 1505 -> 0 bytes src/nos/turboc/obj/axsock.obj | Bin 5305 -> 0 bytes src/nos/turboc/obj/bmutil.obj | Bin 12550 -> 0 bytes src/nos/turboc/obj/bootp.obj | Bin 4771 -> 0 bytes src/nos/turboc/obj/bootpcmd.obj | Bin 8416 -> 0 bytes src/nos/turboc/obj/bootpd.obj | Bin 6563 -> 0 bytes src/nos/turboc/obj/bootpdip.obj | Bin 6558 -> 0 bytes src/nos/turboc/obj/cmdparse.obj | Bin 3527 -> 0 bytes src/nos/turboc/obj/config.obj | Bin 8688 -> 0 bytes src/nos/turboc/obj/crc.obj | Bin 1028 -> 0 bytes src/nos/turboc/obj/devparam.obj | Bin 1030 -> 0 bytes src/nos/turboc/obj/dialer.obj | Bin 5966 -> 0 bytes src/nos/turboc/obj/dirutil.obj | Bin 3575 -> 0 bytes src/nos/turboc/obj/display.obj | Bin 7939 -> 0 bytes src/nos/turboc/obj/dma.obj | Bin 2790 -> 0 bytes src/nos/turboc/obj/domain.obj | Bin 18827 -> 0 bytes src/nos/turboc/obj/domhdr.obj | Bin 3036 -> 0 bytes src/nos/turboc/obj/dos.obj | Bin 2081 -> 0 bytes src/nos/turboc/obj/drsi.obj | Bin 10029 -> 0 bytes src/nos/turboc/obj/drsivec.obj | Bin 366 -> 0 bytes src/nos/turboc/obj/eagle.obj | Bin 8641 -> 0 bytes src/nos/turboc/obj/eaglevec.obj | Bin 369 -> 0 bytes src/nos/turboc/obj/enet.obj | Bin 1565 -> 0 bytes src/nos/turboc/obj/enetdump.obj | Bin 1026 -> 0 bytes src/nos/turboc/obj/files.obj | Bin 5218 -> 0 bytes src/nos/turboc/obj/finger.obj | Bin 2089 -> 0 bytes src/nos/turboc/obj/fingerd.obj | Bin 2010 -> 0 bytes src/nos/turboc/obj/forward.obj | Bin 9873 -> 0 bytes src/nos/turboc/obj/ftpcli.obj | Bin 13494 -> 0 bytes src/nos/turboc/obj/ftpserv.obj | Bin 9491 -> 0 bytes src/nos/turboc/obj/ftpsubr.obj | Bin 2271 -> 0 bytes src/nos/turboc/obj/getopt.obj | Bin 1401 -> 0 bytes src/nos/turboc/obj/hapn.obj | Bin 4833 -> 0 bytes src/nos/turboc/obj/hapnvec.obj | Bin 366 -> 0 bytes src/nos/turboc/obj/hop.obj | Bin 5234 -> 0 bytes src/nos/turboc/obj/hs.obj | Bin 6716 -> 0 bytes src/nos/turboc/obj/hsvec.obj | Bin 360 -> 0 bytes src/nos/turboc/obj/icmp.obj | Bin 4016 -> 0 bytes src/nos/turboc/obj/icmpcmd.obj | Bin 1329 -> 0 bytes src/nos/turboc/obj/icmpdump.obj | Bin 1750 -> 0 bytes src/nos/turboc/obj/icmphdr.obj | Bin 1462 -> 0 bytes src/nos/turboc/obj/icmpmsg.obj | Bin 1240 -> 0 bytes src/nos/turboc/obj/iface.obj | Bin 6568 -> 0 bytes src/nos/turboc/obj/ip.obj | Bin 6203 -> 0 bytes src/nos/turboc/obj/ipcmd.obj | Bin 4652 -> 0 bytes src/nos/turboc/obj/ipdump.obj | Bin 2335 -> 0 bytes src/nos/turboc/obj/iphdr.obj | Bin 2090 -> 0 bytes src/nos/turboc/obj/iproute.obj | Bin 6585 -> 0 bytes src/nos/turboc/obj/ipsock.obj | Bin 1881 -> 0 bytes src/nos/turboc/obj/kernel.obj | Bin 4596 -> 0 bytes src/nos/turboc/obj/kiss.obj | Bin 1918 -> 0 bytes src/nos/turboc/obj/kissdump.obj | Bin 1555 -> 0 bytes src/nos/turboc/obj/ksubr.obj | Bin 3137 -> 0 bytes src/nos/turboc/obj/lapb.obj | Bin 6197 -> 0 bytes src/nos/turboc/obj/lapbtime.obj | Bin 1433 -> 0 bytes src/nos/turboc/obj/locsock.obj | Bin 2620 -> 0 bytes src/nos/turboc/obj/lterm.obj | Bin 2412 -> 0 bytes src/nos/turboc/obj/mailbox.obj | Bin 22295 -> 0 bytes src/nos/turboc/obj/main.obj | Bin 11105 -> 0 bytes src/nos/turboc/obj/mbuf.obj | Bin 5654 -> 0 bytes src/nos/turboc/obj/md5c.obj | Bin 8156 -> 0 bytes src/nos/turboc/obj/misc.obj | Bin 1473 -> 0 bytes src/nos/turboc/obj/n8250.obj | Bin 7157 -> 0 bytes src/nos/turboc/obj/netuser.obj | Bin 1153 -> 0 bytes src/nos/turboc/obj/nntpcli.obj | Bin 13089 -> 0 bytes src/nos/turboc/obj/nr3.obj | Bin 8561 -> 0 bytes src/nos/turboc/obj/nr4.obj | Bin 5719 -> 0 bytes src/nos/turboc/obj/nr4hdr.obj | Bin 1673 -> 0 bytes src/nos/turboc/obj/nr4mail.obj | Bin 2948 -> 0 bytes src/nos/turboc/obj/nr4subr.obj | Bin 2119 -> 0 bytes src/nos/turboc/obj/nr4timer.obj | Bin 1535 -> 0 bytes src/nos/turboc/obj/nr4user.obj | Bin 2366 -> 0 bytes src/nos/turboc/obj/nrcmd.obj | Bin 11918 -> 0 bytes src/nos/turboc/obj/nrdump.obj | Bin 2940 -> 0 bytes src/nos/turboc/obj/nrhdr.obj | Bin 1438 -> 0 bytes src/nos/turboc/obj/nrs.obj | Bin 2786 -> 0 bytes src/nos/turboc/obj/nrsock.obj | Bin 4116 -> 0 bytes src/nos/turboc/obj/pathname.obj | Bin 1240 -> 0 bytes src/nos/turboc/obj/pc.obj | Bin 5382 -> 0 bytes src/nos/turboc/obj/pc100.obj | Bin 5605 -> 0 bytes src/nos/turboc/obj/pc100vec.obj | Bin 369 -> 0 bytes src/nos/turboc/obj/pcgen.obj | Bin 2078 -> 0 bytes src/nos/turboc/obj/pi.obj | Bin 13446 -> 0 bytes src/nos/turboc/obj/ping.obj | Bin 3994 -> 0 bytes src/nos/turboc/obj/pivec.obj | Bin 794 -> 0 bytes src/nos/turboc/obj/pktdrvr.obj | Bin 4565 -> 0 bytes src/nos/turboc/obj/pkvec.obj | Bin 504 -> 0 bytes src/nos/turboc/obj/popcli.obj | Bin 5398 -> 0 bytes src/nos/turboc/obj/popserv.obj | Bin 7758 -> 0 bytes src/nos/turboc/obj/ppp.obj | Bin 7424 -> 0 bytes src/nos/turboc/obj/pppcmd.obj | Bin 5959 -> 0 bytes src/nos/turboc/obj/pppdump.obj | Bin 1758 -> 0 bytes src/nos/turboc/obj/pppfsm.obj | Bin 6956 -> 0 bytes src/nos/turboc/obj/pppipcp.obj | Bin 10577 -> 0 bytes src/nos/turboc/obj/ppplcp.obj | Bin 10586 -> 0 bytes src/nos/turboc/obj/ppppap.obj | Bin 8212 -> 0 bytes src/nos/turboc/obj/random.obj | Bin 1386 -> 0 bytes src/nos/turboc/obj/rewrite.obj | Bin 2430 -> 0 bytes src/nos/turboc/obj/rip.obj | Bin 7192 -> 0 bytes src/nos/turboc/obj/ripcmd.obj | Bin 2629 -> 0 bytes src/nos/turboc/obj/ripdump.obj | Bin 1246 -> 0 bytes src/nos/turboc/obj/sb.obj | Bin 9519 -> 0 bytes src/nos/turboc/obj/sbvec.obj | Bin 360 -> 0 bytes src/nos/turboc/obj/scc.obj | Bin 14338 -> 0 bytes src/nos/turboc/obj/sccvec.obj | Bin 667 -> 0 bytes src/nos/turboc/obj/session.obj | Bin 6572 -> 0 bytes src/nos/turboc/obj/sim.obj | Bin 1351 -> 0 bytes src/nos/turboc/obj/slhc.obj | Bin 5051 -> 0 bytes src/nos/turboc/obj/slhcdump.obj | Bin 2218 -> 0 bytes src/nos/turboc/obj/slip.obj | Bin 3142 -> 0 bytes src/nos/turboc/obj/smisc.obj | Bin 6648 -> 0 bytes src/nos/turboc/obj/smtpcli.obj | Bin 10838 -> 0 bytes src/nos/turboc/obj/smtpserv.obj | Bin 12853 -> 0 bytes src/nos/turboc/obj/sockcmd.obj | Bin 1454 -> 0 bytes src/nos/turboc/obj/socket.obj | Bin 5374 -> 0 bytes src/nos/turboc/obj/sockuser.obj | Bin 1444 -> 0 bytes src/nos/turboc/obj/sockutil.obj | Bin 1327 -> 0 bytes src/nos/turboc/obj/sppp.obj | Bin 2090 -> 0 bytes src/nos/turboc/obj/stdio.obj | Bin 12048 -> 0 bytes src/nos/turboc/obj/stktrace.obj | Bin 3015 -> 0 bytes src/nos/turboc/obj/stopwatc.obj | Bin 289 -> 0 bytes src/nos/turboc/obj/sw.obj | Bin 1076 -> 0 bytes src/nos/turboc/obj/tcpcmd.obj | Bin 5622 -> 0 bytes src/nos/turboc/obj/tcpdump.obj | Bin 1818 -> 0 bytes src/nos/turboc/obj/tcphdr.obj | Bin 2339 -> 0 bytes src/nos/turboc/obj/tcpin.obj | Bin 8330 -> 0 bytes src/nos/turboc/obj/tcpout.obj | Bin 2351 -> 0 bytes src/nos/turboc/obj/tcpsock.obj | Bin 4276 -> 0 bytes src/nos/turboc/obj/tcpsubr.obj | Bin 3813 -> 0 bytes src/nos/turboc/obj/tcptimer.obj | Bin 955 -> 0 bytes src/nos/turboc/obj/tcpuser.obj | Bin 3596 -> 0 bytes src/nos/turboc/obj/telnet.obj | Bin 5481 -> 0 bytes src/nos/turboc/obj/timer.obj | Bin 2731 -> 0 bytes src/nos/turboc/obj/tip.obj | Bin 1861 -> 0 bytes src/nos/turboc/obj/tipmail.obj | Bin 4965 -> 0 bytes src/nos/turboc/obj/trace.obj | Bin 4815 -> 0 bytes src/nos/turboc/obj/ttydriv.obj | Bin 1656 -> 0 bytes src/nos/turboc/obj/ttylink.obj | Bin 2259 -> 0 bytes src/nos/turboc/obj/udp.obj | Bin 2720 -> 0 bytes src/nos/turboc/obj/udpcmd.obj | Bin 1220 -> 0 bytes src/nos/turboc/obj/udpdump.obj | Bin 1148 -> 0 bytes src/nos/turboc/obj/udphdr.obj | Bin 1032 -> 0 bytes src/nos/turboc/obj/udpsock.obj | Bin 1805 -> 0 bytes src/nos/turboc/obj/version.obj | Bin 222 -> 0 bytes src/nos/turboc/obj/view.obj | Bin 3369 -> 0 bytes src/nos/turboc/obj/wildmat.obj | Bin 908 -> 0 bytes src/nos/turboc/obj/z8530.obj | Bin 395 -> 0 bytes src/nos/x86/CVS/Entries | 36 + src/nos/x86/CVS/Repository | 1 + src/nos/x86/CVS/Root | 1 + src/nos/x86/dirutil.c | 836 +- src/nos/x86/hapn.c | 998 +- src/nos/x86/pc.lib | Bin 128000 -> 0 bytes src/nos/x86/pc100.c | 1016 +- src/nos/x86/pktdrvr.c | 982 +- src/nos/x86/random.i | 436 - src/nos/x86/stktrace.c | 504 +- src/nos/z80/CVS/Entries | 24 + src/nos/z80/CVS/Repository | 1 + src/nos/z80/CVS/Root | 1 + src/nos/z80/asci.i | 3824 +++ src/nos/z80/auto.mk | 4 +- src/nos/z80/diag.S | 7 + src/nos/z80/dirutil.i | 3018 +++ src/nos/z80/escc.c | 737 +- src/nos/z80/escc.i | 6756 +++++ src/nos/z80/esccgen.S | 36 + src/nos/z80/esccvec.S | 80 +- src/nos/z80/rand.i | 1447 ++ src/nos/z80/stktrace.i | 2389 ++ src/nos/z80/sw.i | 1340 + src/nos/z80/z80.c | 42 +- src/nos/z80/z80.i | 5535 +++++ src/nos/z80/z80gen.S | 14 +- src/sh/CVS/Entries | 3 + src/sh/CVS/Repository | 1 + src/sh/CVS/Root | 1 + src/sh/bsh/CVS/Entries | 35 + src/sh/bsh/CVS/Repository | 1 + src/sh/bsh/CVS/Root | 1 + src/sh/bsh/args.rel | 439 - src/sh/bsh/blok.rel | 223 - src/sh/bsh/builtin.rel | 13 - src/sh/bsh/cmd.rel | 1257 - src/sh/bsh/ctype.rel | 67 - src/sh/bsh/data.rel | 188 - src/sh/bsh/error.rel | 182 - src/sh/bsh/expand.rel | 672 - src/sh/bsh/fault.rel | 324 - src/sh/bsh/io.rel | 431 - src/sh/bsh/macro.rel | 1002 - src/sh/bsh/main.rel | 605 - src/sh/bsh/msg.rel | 642 - src/sh/bsh/name.rel | 1089 - src/sh/bsh/print.rel | 314 - src/sh/bsh/service.rel | 1356 - src/sh/bsh/setbrk.rel | 42 - src/sh/bsh/stak.rel | 179 - src/sh/bsh/string.rel | 140 - src/sh/bsh/word.rel | 653 - src/sh/bsh/xec.rel | 1692 -- src/sh/msh/CVS/Entries | 16 + src/sh/msh/CVS/Repository | 1 + src/sh/msh/CVS/Root | 1 + src/sh/msh/closedir.rel | 49 - src/sh/msh/opendir.rel | 77 - src/sh/msh/readdir.rel | 95 - src/sh/msh/sh1.rel | 3320 --- src/sh/msh/sh2.rel | 1993 -- src/sh/msh/sh3.rel | 4265 ---- src/sh/msh/sh4.rel | 2800 --- src/sh/msh/sh5.rel | 2513 -- src/sh/msh/sh6.rel | 153 - src/sh/sash/CVS/Entries | 19 + src/sh/sash/CVS/Repository | 1 + src/sh/sash/CVS/Root | 1 + src/simple/CVS/Entries | 100 + src/simple/CVS/Repository | 1 + src/simple/CVS/Root | 1 + src/simple/dosread.c | 5 +- src/simple/dtree.c | 2 +- src/testsystem/CVS/Entries | 22 + src/testsystem/CVS/Repository | 1 + src/testsystem/CVS/Root | 1 + src/testsystem/aap.diff | 4 +- src/testsystem/doit | 24 +- src/testsystem/interpreter/CVS/Entries | 10 + src/testsystem/interpreter/CVS/Repository | 1 + src/testsystem/interpreter/CVS/Root | 1 + src/testsystem/interpreter/n.sh | 4 +- src/testsystem/n.sh | 4 +- src/testsystem/n.sh.org | 4 +- src/testsystem/prout | 2 +- src/testsystem/prout2 | 2 +- src/troff/CVS/Entries | 37 + src/troff/CVS/Repository | 1 + src/troff/CVS/Root | 1 + src/troff/README | 36 +- src/troff/font/CVS/Entries | 31 + src/troff/font/CVS/Repository | 1 + src/troff/font/CVS/Root | 1 + src/troff/font/chars.c | 44 +- src/troff/font/ftB.c | 272 +- src/troff/font/ftBC.c | 274 +- src/troff/font/ftC.c | 274 +- src/troff/font/ftCE.c | 272 +- src/troff/font/ftCI.c | 280 +- src/troff/font/ftCK.c | 272 +- src/troff/font/ftCS.c | 280 +- src/troff/font/ftCW.c | 274 +- src/troff/font/ftG.c | 272 +- src/troff/font/ftGI.c | 270 +- src/troff/font/ftGM.c | 272 +- src/troff/font/ftGR.c | 274 +- src/troff/font/ftI.c | 272 +- src/troff/font/ftL.c | 276 +- src/troff/font/ftLI.c | 276 +- src/troff/font/ftPA.c | 272 +- src/troff/font/ftPB.c | 272 +- src/troff/font/ftPI.c | 272 +- src/troff/font/ftR.c | 272 +- src/troff/font/ftS.c | 270 +- src/troff/font/ftSB.c | 276 +- src/troff/font/ftSI.c | 276 +- src/troff/font/ftSM.c | 276 +- src/troff/font/ftUD.c | 272 +- src/troff/font/ftXM.c | 276 +- src/troff/font/linkrc | 14 +- src/troff/font/makefile | 32 +- src/troff/font/mkfont.c | 206 +- src/troff/font/mkfont1.c | 738 +- src/troff/hytab.rel | 284 - src/troff/makefile | 36 +- src/troff/n1.rel | 3199 --- src/troff/n10.rel | 1223 - src/troff/n2.rel | 893 - src/troff/n3.rel | 2669 -- src/troff/n4.rel | 2273 -- src/troff/n5.rel | 2992 --- src/troff/n6.rel | 1024 - src/troff/n7.rel | 2895 --- src/troff/n8.rel | 1170 - src/troff/n9.rel | 1430 -- src/troff/ni.rel | 1447 -- src/troff/nii.rel | 567 - src/troff/nmake | 64 +- src/troff/ntab.rel | 114 - src/troff/suftab.rel | 494 - src/troff/t10.c | 630 +- src/troff/tab3.c | 1784 +- src/troff/term/CVS/Entries | 20 + src/troff/term/CVS/Repository | 1 + src/troff/term/CVS/Root | 1 + src/troff/term/code.300 | 422 +- src/troff/term/makefile | 28 +- src/troff/term/tab300-12.c | 118 +- src/troff/term/tab300.c | 118 +- src/troff/term/tab300s-12.c | 118 +- src/troff/term/tab300s.c | 118 +- src/troff/term/tab37.rel | 904 - src/troff/term/tab450-12-8.c | 120 +- src/troff/term/tab450-12.c | 120 +- src/troff/term/tab450.c | 118 +- src/troff/term/tab832.c | 118 +- src/troff/term/taba1.c | 118 +- src/troff/term/tablp.c | 538 +- src/troff/term/tabtn300.c | 538 +- src/troff/textscript | 10 +- src/troff/tmac/CVS/Entries | 3 + src/troff/tmac/CVS/Repository | 1 + src/troff/tmac/CVS/Root | 1 + src/troff/tmake | 64 +- 6341 files changed, 705521 insertions(+), 336767 deletions(-) create mode 100644 .cvsignore create mode 100644 CVS/Entries create mode 100644 CVS/Repository create mode 100644 CVS/Root create mode 100644 bin/.cvsignore create mode 100644 bin/CVS/Entries create mode 100644 bin/CVS/Repository create mode 100644 bin/CVS/Root create mode 100644 bin/banked/CVS/Entries create mode 100644 bin/banked/CVS/Repository create mode 100644 bin/banked/CVS/Root create mode 100644 bin/chset/CVS/Entries create mode 100644 bin/chset/CVS/Repository create mode 100644 bin/chset/CVS/Root create mode 100644 bin/data/CVS/Entries create mode 100644 bin/data/CVS/Repository create mode 100644 bin/data/CVS/Root create mode 100644 bin/db/CVS/Entries create mode 100644 bin/db/CVS/Repository create mode 100644 bin/db/CVS/Root create mode 100644 bin/demos/CVS/Entries create mode 100644 bin/demos/CVS/Repository create mode 100644 bin/demos/CVS/Root create mode 100644 bin/font/CVS/Entries create mode 100644 bin/font/CVS/Repository create mode 100644 bin/font/CVS/Root create mode 100644 bin/good/CVS/Entries create mode 100644 bin/good/CVS/Repository create mode 100644 bin/good/CVS/Root create mode 100644 bin/large/CVS/Entries create mode 100644 bin/large/CVS/Repository create mode 100644 bin/large/CVS/Root create mode 100644 bin/man/CVS/Entries create mode 100644 bin/man/CVS/Repository create mode 100644 bin/man/CVS/Root create mode 100644 bin/man/cat1/CVS/Entries create mode 100644 bin/man/cat1/CVS/Repository create mode 100644 bin/man/cat1/CVS/Root create mode 100644 bin/man/man1/CVS/Entries create mode 100644 bin/man/man1/CVS/Repository create mode 100644 bin/man/man1/CVS/Root delete mode 100644 bin/mkboot%.ucp create mode 100644 bin/nlddl/CHECKSUM create mode 100644 bin/nlddl/CRC create mode 100644 bin/nlddl/CVS/Entries create mode 100644 bin/nlddl/CVS/Repository create mode 100644 bin/nlddl/CVS/Root create mode 100644 bin/nlddl/DIR.ID create mode 100644 bin/nlddl/boot.bin create mode 100644 bin/nlddl/checksum.dat create mode 100644 bin/nlddl/crc.dat create mode 100644 bin/nlddl/kernel.bin create mode 100644 bin/nos/CVS/Entries create mode 100644 bin/nos/CVS/Repository create mode 100644 bin/nos/CVS/Root create mode 100644 bin/nos/drop.escc0 create mode 100644 bin/nos/drop.escc1 create mode 100644 bin/nos/init.escc0 create mode 100644 bin/nos/init.escc1 create mode 100644 bin/nos/raise.escc0 create mode 100644 bin/nos/raise.escc1 create mode 100644 bin/nos/startup.net create mode 100644 bin/nos/startup.net% create mode 100644 bin/term/CVS/Entries create mode 100644 bin/term/CVS/Repository create mode 100644 bin/term/CVS/Root create mode 100644 bin/tmac/CVS/Entries create mode 100644 bin/tmac/CVS/Repository create mode 100644 bin/tmac/CVS/Root create mode 100644 doc/ASxxxx Cross Assembler Documentation_files/CVS/Entries create mode 100644 doc/ASxxxx Cross Assembler Documentation_files/CVS/Repository create mode 100644 doc/ASxxxx Cross Assembler Documentation_files/CVS/Root create mode 100644 doc/ASxxxx Cross Assemblers_files/CVS/Entries create mode 100644 doc/ASxxxx Cross Assemblers_files/CVS/Repository create mode 100644 doc/ASxxxx Cross Assemblers_files/CVS/Root create mode 100644 doc/Betriebssystem UNIX - Literatur_files/CVS/Entries create mode 100644 doc/Betriebssystem UNIX - Literatur_files/CVS/Repository create mode 100644 doc/Betriebssystem UNIX - Literatur_files/CVS/Root create mode 100644 doc/CVS/Entries create mode 100644 doc/CVS/Repository create mode 100644 doc/CVS/Root create mode 100644 doc/The UNIX System -- History and Timeline -- UNIX History_files/CVS/Entries create mode 100644 doc/The UNIX System -- History and Timeline -- UNIX History_files/CVS/Repository create mode 100644 doc/The UNIX System -- History and Timeline -- UNIX History_files/CVS/Root create mode 100644 doc/gui/CVS/Entries create mode 100644 doc/gui/CVS/Repository create mode 100644 doc/gui/CVS/Root create mode 100644 doc/rfc/CVS/Entries create mode 100644 doc/rfc/CVS/Repository create mode 100644 doc/rfc/CVS/Root create mode 100644 include/CVS/Entries create mode 100644 include/CVS/Repository create mode 100644 include/CVS/Root create mode 100644 include/sys/CVS/Entries create mode 100644 include/sys/CVS/Repository create mode 100644 include/sys/CVS/Root delete mode 100644 lib/c0b.lst delete mode 100644 lib/c0b.rel delete mode 100644 lib/c0b.rst delete mode 100644 lib/c0l.lst delete mode 100644 lib/c0l.rel delete mode 100644 lib/c0l.rst delete mode 100644 lib/relcb/abort.rel delete mode 100644 lib/relcb/alloca.rel delete mode 100644 lib/relcb/asctime.rel delete mode 100644 lib/relcb/assert.rel delete mode 100644 lib/relcb/atexit.rel delete mode 100644 lib/relcb/atoi.rel delete mode 100644 lib/relcb/atol.rel delete mode 100644 lib/relcb/bsearch.rel delete mode 100644 lib/relcb/calloc.rel delete mode 100644 lib/relcb/clock.rel delete mode 100644 lib/relcb/closedir.rel delete mode 100644 lib/relcb/convtime.rel delete mode 100644 lib/relcb/crypt.rel delete mode 100644 lib/relcb/ctime.rel delete mode 100644 lib/relcb/ctype.rel delete mode 100644 lib/relcb/difftime.rel delete mode 100644 lib/relcb/error.rel delete mode 100644 lib/relcb/etime.rel delete mode 100644 lib/relcb/execl.rel delete mode 100644 lib/relcb/execle.rel delete mode 100644 lib/relcb/execlp.rel delete mode 100644 lib/relcb/execlpe.rel delete mode 100644 lib/relcb/exect.rel delete mode 100644 lib/relcb/execv.rel delete mode 100644 lib/relcb/execvp.rel delete mode 100644 lib/relcb/execvpe.rel delete mode 100644 lib/relcb/exit.rel delete mode 100644 lib/relcb/fclose.rel delete mode 100644 lib/relcb/fflush.rel delete mode 100644 lib/relcb/fgetc.rel delete mode 100644 lib/relcb/fgetgren.rel delete mode 100644 lib/relcb/fgetpwen.rel delete mode 100644 lib/relcb/fgets.rel delete mode 100644 lib/relcb/fopen.rel delete mode 100644 lib/relcb/fprintf.rel delete mode 100644 lib/relcb/fputc.rel delete mode 100644 lib/relcb/fputs.rel delete mode 100644 lib/relcb/fread.rel delete mode 100644 lib/relcb/free.rel delete mode 100644 lib/relcb/fscanf.rel delete mode 100644 lib/relcb/ftell.rel delete mode 100644 lib/relcb/fwrite.rel delete mode 100644 lib/relcb/getcwd.rel delete mode 100644 lib/relcb/getenv.rel delete mode 100644 lib/relcb/getgrent.rel delete mode 100644 lib/relcb/getgrgid.rel delete mode 100644 lib/relcb/getgrnam.rel delete mode 100644 lib/relcb/getopt.rel delete mode 100644 lib/relcb/getpass.rel delete mode 100644 lib/relcb/getpw.rel delete mode 100644 lib/relcb/getpwent.rel delete mode 100644 lib/relcb/getpwnam.rel delete mode 100644 lib/relcb/getpwuid.rel delete mode 100644 lib/relcb/gets.rel delete mode 100644 lib/relcb/gmtime.rel delete mode 100644 lib/relcb/initgrup.rel delete mode 100644 lib/relcb/isatty.rel delete mode 100644 lib/relcb/itoa.rel delete mode 100644 lib/relcb/localtim.rel delete mode 100644 lib/relcb/longjmpb.rel delete mode 100644 lib/relcb/lsearch.rel delete mode 100644 lib/relcb/lstat.rel delete mode 100644 lib/relcb/ltoa.rel delete mode 100644 lib/relcb/ltostr.rel delete mode 100644 lib/relcb/malloc.rel delete mode 100644 lib/relcb/memccpy.rel delete mode 100644 lib/relcb/memchr.rel delete mode 100644 lib/relcb/memcmp.rel delete mode 100644 lib/relcb/memcpy.rel delete mode 100644 lib/relcb/memmove.rel delete mode 100644 lib/relcb/memset.rel delete mode 100644 lib/relcb/mkdir.rel delete mode 100644 lib/relcb/mktime.rel delete mode 100644 lib/relcb/opendir.rel delete mode 100644 lib/relcb/perror.rel delete mode 100644 lib/relcb/popen.rel delete mode 100644 lib/relcb/printf.rel delete mode 100644 lib/relcb/putenv.rel delete mode 100644 lib/relcb/putgetch.rel delete mode 100644 lib/relcb/putpwent.rel delete mode 100644 lib/relcb/qsort.rel delete mode 100644 lib/relcb/rand.rel delete mode 100644 lib/relcb/readdir.rel delete mode 100644 lib/relcb/readlink.rel delete mode 100644 lib/relcb/realloc.rel delete mode 100644 lib/relcb/regerror.rel delete mode 100644 lib/relcb/regexp.rel delete mode 100644 lib/relcb/regsub.rel delete mode 100644 lib/relcb/rename.rel delete mode 100644 lib/relcb/rewind.rel delete mode 100644 lib/relcb/rewindir.rel delete mode 100644 lib/relcb/rmdir.rel delete mode 100644 lib/relcb/scanf.rel delete mode 100644 lib/relcb/setbuff.rel delete mode 100644 lib/relcb/setenv.rel delete mode 100644 lib/relcb/setgrent.rel delete mode 100644 lib/relcb/setjmpb.rel delete mode 100644 lib/relcb/setpwent.rel delete mode 100644 lib/relcb/setvbuff.rel delete mode 100644 lib/relcb/sleep.rel delete mode 100644 lib/relcb/sprintf.rel delete mode 100644 lib/relcb/sscanf.rel delete mode 100644 lib/relcb/stdio0.rel delete mode 100644 lib/relcb/strcat.rel delete mode 100644 lib/relcb/strchr.rel delete mode 100644 lib/relcb/strcmp.rel delete mode 100644 lib/relcb/strcpy.rel delete mode 100644 lib/relcb/strcspn.rel delete mode 100644 lib/relcb/strdup.rel delete mode 100644 lib/relcb/stricmp.rel delete mode 100644 lib/relcb/strlen.rel delete mode 100644 lib/relcb/strncat.rel delete mode 100644 lib/relcb/strncmp.rel delete mode 100644 lib/relcb/strncpy.rel delete mode 100644 lib/relcb/strnicmp.rel delete mode 100644 lib/relcb/strpbrk.rel delete mode 100644 lib/relcb/strrchr.rel delete mode 100644 lib/relcb/strsep.rel delete mode 100644 lib/relcb/strspn.rel delete mode 100644 lib/relcb/strstr.rel delete mode 100644 lib/relcb/strtod.rel delete mode 100644 lib/relcb/strtok.rel delete mode 100644 lib/relcb/strtol.rel delete mode 100644 lib/relcb/strtoul.rel delete mode 100644 lib/relcb/system.rel delete mode 100644 lib/relcb/termcap.rel delete mode 100644 lib/relcb/tmpnam.rel delete mode 100644 lib/relcb/tparam.rel delete mode 100644 lib/relcb/ttyname.rel delete mode 100644 lib/relcb/tzset.rel delete mode 100644 lib/relcb/ultoa.rel delete mode 100644 lib/relcb/ungetc.rel delete mode 100644 lib/relcb/utsname.rel delete mode 100644 lib/relcb/vfprintf.rel delete mode 100644 lib/relcb/vfscanf.rel delete mode 100644 lib/relcb/vprintf.rel delete mode 100644 lib/relcb/vscanf.rel delete mode 100644 lib/relcb/vsprintf.rel delete mode 100644 lib/relcb/vsscanf.rel delete mode 100644 lib/relcb/xitoa.rel delete mode 100644 lib/relcb/xltoa.rel delete mode 100644 lib/relcl/abort.rel delete mode 100644 lib/relcl/alloca.rel delete mode 100644 lib/relcl/asctime.rel delete mode 100644 lib/relcl/assert.rel delete mode 100644 lib/relcl/atexit.rel delete mode 100644 lib/relcl/atoi.rel delete mode 100644 lib/relcl/atol.rel delete mode 100644 lib/relcl/bsearch.rel delete mode 100644 lib/relcl/calloc.rel delete mode 100644 lib/relcl/clock.rel delete mode 100644 lib/relcl/closedir.rel delete mode 100644 lib/relcl/convtime.rel delete mode 100644 lib/relcl/crypt.rel delete mode 100644 lib/relcl/ctime.rel delete mode 100644 lib/relcl/ctype.rel delete mode 100644 lib/relcl/difftime.rel delete mode 100644 lib/relcl/error.rel delete mode 100644 lib/relcl/etime.rel delete mode 100644 lib/relcl/execl.rel delete mode 100644 lib/relcl/execle.rel delete mode 100644 lib/relcl/execlp.rel delete mode 100644 lib/relcl/execlpe.rel delete mode 100644 lib/relcl/exect.rel delete mode 100644 lib/relcl/execv.rel delete mode 100644 lib/relcl/execvp.rel delete mode 100644 lib/relcl/execvpe.rel delete mode 100644 lib/relcl/exit.rel delete mode 100644 lib/relcl/fclose.rel delete mode 100644 lib/relcl/fflush.rel delete mode 100644 lib/relcl/fgetc.rel delete mode 100644 lib/relcl/fgetgren.rel delete mode 100644 lib/relcl/fgetpwen.rel delete mode 100644 lib/relcl/fgets.rel delete mode 100644 lib/relcl/fopen.rel delete mode 100644 lib/relcl/fprintf.rel delete mode 100644 lib/relcl/fputc.rel delete mode 100644 lib/relcl/fputs.rel delete mode 100644 lib/relcl/fread.rel delete mode 100644 lib/relcl/free.rel delete mode 100644 lib/relcl/fscanf.rel delete mode 100644 lib/relcl/ftell.rel delete mode 100644 lib/relcl/fwrite.rel delete mode 100644 lib/relcl/getcwd.rel delete mode 100644 lib/relcl/getenv.rel delete mode 100644 lib/relcl/getgrent.rel delete mode 100644 lib/relcl/getgrgid.rel delete mode 100644 lib/relcl/getgrnam.rel delete mode 100644 lib/relcl/getopt.rel delete mode 100644 lib/relcl/getpass.rel delete mode 100644 lib/relcl/getpw.rel delete mode 100644 lib/relcl/getpwent.rel delete mode 100644 lib/relcl/getpwnam.rel delete mode 100644 lib/relcl/getpwuid.rel delete mode 100644 lib/relcl/gets.rel delete mode 100644 lib/relcl/gmtime.rel delete mode 100644 lib/relcl/initgrup.rel delete mode 100644 lib/relcl/isatty.rel delete mode 100644 lib/relcl/itoa.rel delete mode 100644 lib/relcl/localtim.rel delete mode 100644 lib/relcl/longjmpl.rel delete mode 100644 lib/relcl/lsearch.rel delete mode 100644 lib/relcl/lstat.rel delete mode 100644 lib/relcl/ltoa.rel delete mode 100644 lib/relcl/ltostr.rel delete mode 100644 lib/relcl/malloc.rel delete mode 100644 lib/relcl/memccpy.rel delete mode 100644 lib/relcl/memchr.rel delete mode 100644 lib/relcl/memcmp.rel delete mode 100644 lib/relcl/memcpy.rel delete mode 100644 lib/relcl/memmove.rel delete mode 100644 lib/relcl/memset.rel delete mode 100644 lib/relcl/mkdir.rel delete mode 100644 lib/relcl/mktime.rel delete mode 100644 lib/relcl/opendir.rel delete mode 100644 lib/relcl/perror.rel delete mode 100644 lib/relcl/popen.rel delete mode 100644 lib/relcl/printf.rel delete mode 100644 lib/relcl/putenv.rel delete mode 100644 lib/relcl/putgetch.rel delete mode 100644 lib/relcl/putpwent.rel delete mode 100644 lib/relcl/qsort.rel delete mode 100644 lib/relcl/rand.rel delete mode 100644 lib/relcl/readdir.rel delete mode 100644 lib/relcl/readlink.rel delete mode 100644 lib/relcl/realloc.rel delete mode 100644 lib/relcl/regerror.rel delete mode 100644 lib/relcl/regexp.rel delete mode 100644 lib/relcl/regsub.rel delete mode 100644 lib/relcl/rename.rel delete mode 100644 lib/relcl/rewind.rel delete mode 100644 lib/relcl/rewindir.rel delete mode 100644 lib/relcl/rmdir.rel delete mode 100644 lib/relcl/scanf.rel delete mode 100644 lib/relcl/setbuff.rel delete mode 100644 lib/relcl/setenv.rel delete mode 100644 lib/relcl/setgrent.rel delete mode 100644 lib/relcl/setjmpl.rel delete mode 100644 lib/relcl/setpwent.rel delete mode 100644 lib/relcl/setvbuff.rel delete mode 100644 lib/relcl/sleep.rel delete mode 100644 lib/relcl/sprintf.rel delete mode 100644 lib/relcl/sscanf.rel delete mode 100644 lib/relcl/stdio0.rel delete mode 100644 lib/relcl/strcat.rel delete mode 100644 lib/relcl/strchr.rel delete mode 100644 lib/relcl/strcmp.rel delete mode 100644 lib/relcl/strcpy.rel delete mode 100644 lib/relcl/strcspn.rel delete mode 100644 lib/relcl/strdup.rel delete mode 100644 lib/relcl/stricmp.rel delete mode 100644 lib/relcl/strlen.rel delete mode 100644 lib/relcl/strncat.rel delete mode 100644 lib/relcl/strncmp.rel delete mode 100644 lib/relcl/strncpy.rel delete mode 100644 lib/relcl/strnicmp.rel delete mode 100644 lib/relcl/strpbrk.rel delete mode 100644 lib/relcl/strrchr.rel delete mode 100644 lib/relcl/strsep.rel delete mode 100644 lib/relcl/strspn.rel delete mode 100644 lib/relcl/strstr.rel delete mode 100644 lib/relcl/strtod.rel delete mode 100644 lib/relcl/strtok.rel delete mode 100644 lib/relcl/strtol.rel delete mode 100644 lib/relcl/strtoul.rel delete mode 100644 lib/relcl/system.rel delete mode 100644 lib/relcl/termcap.rel delete mode 100644 lib/relcl/tmpnam.rel delete mode 100644 lib/relcl/tparam.rel delete mode 100644 lib/relcl/ttyname.rel delete mode 100644 lib/relcl/tzset.rel delete mode 100644 lib/relcl/ultoa.rel delete mode 100644 lib/relcl/ungetc.rel delete mode 100644 lib/relcl/utsname.rel delete mode 100644 lib/relcl/vfprintf.rel delete mode 100644 lib/relcl/vfscanf.rel delete mode 100644 lib/relcl/vprintf.rel delete mode 100644 lib/relcl/vscanf.rel delete mode 100644 lib/relcl/vsprintf.rel delete mode 100644 lib/relcl/vsscanf.rel delete mode 100644 lib/relcl/xitoa.rel delete mode 100644 lib/relcl/xltoa.rel delete mode 100644 lib/reliar/BANKCALLDIRECT.rel delete mode 100644 lib/reliar/BANKCALLDIRECTEXAF.rel delete mode 100644 lib/reliar/BANKLEAVE32.rel delete mode 100644 lib/reliar/BANKLEAVEDIRECT.rel delete mode 100644 lib/reliar/BFCANDASG.rel delete mode 100644 lib/reliar/BFCLSHASG.rel delete mode 100644 lib/reliar/BFCMULASG.rel delete mode 100644 lib/reliar/BFCORASG.rel delete mode 100644 lib/reliar/BFCRETVAL.rel delete mode 100644 lib/reliar/BFCSHIFTUP.rel delete mode 100644 lib/reliar/BFCXORASG.rel delete mode 100644 lib/reliar/BFMASKEDLD.rel delete mode 100644 lib/reliar/BFMASKEDST.rel delete mode 100644 lib/reliar/BFSADDASG.rel delete mode 100644 lib/reliar/BFSANDASG.rel delete mode 100644 lib/reliar/BFSCDIVASG.rel delete mode 100644 lib/reliar/BFSCEXT.rel delete mode 100644 lib/reliar/BFSCLDSHIFTDOWN.rel delete mode 100644 lib/reliar/BFSCMODASG.rel delete mode 100644 lib/reliar/BFSCRSHASG.rel delete mode 100644 lib/reliar/BFSLSHASG.rel delete mode 100644 lib/reliar/BFSMULASG.rel delete mode 100644 lib/reliar/BFSNEGASG.rel delete mode 100644 lib/reliar/BFSORASG.rel delete mode 100644 lib/reliar/BFSPOSTDEC.rel delete mode 100644 lib/reliar/BFSPOSTINC.rel delete mode 100644 lib/reliar/BFSPREDEC.rel delete mode 100644 lib/reliar/BFSPREINC.rel delete mode 100644 lib/reliar/BFSRETVAL.rel delete mode 100644 lib/reliar/BFSSDIVASG.rel delete mode 100644 lib/reliar/BFSSEXT.rel delete mode 100644 lib/reliar/BFSSHIFTUP.rel delete mode 100644 lib/reliar/BFSSLDSHIFTDOWN.rel delete mode 100644 lib/reliar/BFSSMODASG.rel delete mode 100644 lib/reliar/BFSSRSHASG.rel delete mode 100644 lib/reliar/BFSSUBASG.rel delete mode 100644 lib/reliar/BFSXORASG.rel delete mode 100644 lib/reliar/BFUCDIVASG.rel delete mode 100644 lib/reliar/BFUCLDSHIFTDOWN.rel delete mode 100644 lib/reliar/BFUCMODASG.rel delete mode 100644 lib/reliar/BFUCRSHASG.rel delete mode 100644 lib/reliar/BFUSDIVASG.rel delete mode 100644 lib/reliar/BFUSLDSHIFTDOWN.rel delete mode 100644 lib/reliar/BFUSMODASG.rel delete mode 100644 lib/reliar/BFUSRSHASG.rel delete mode 100644 lib/reliar/CALLIND.rel delete mode 100644 lib/reliar/CDIVMOD.rel delete mode 100644 lib/reliar/CFINDSIGN.rel delete mode 100644 lib/reliar/CLSH.rel delete mode 100644 lib/reliar/CLSHASG.rel delete mode 100644 lib/reliar/CMUL.rel delete mode 100644 lib/reliar/CMULASG.rel delete mode 100644 lib/reliar/CSSWITCH.rel delete mode 100644 lib/reliar/CVSWITCH.rel delete mode 100644 lib/reliar/ENTAUTODIRECT.rel delete mode 100644 lib/reliar/ENTPARMDIRECT.rel delete mode 100644 lib/reliar/FADDASG.rel delete mode 100644 lib/reliar/FADDSUB.rel delete mode 100644 lib/reliar/FCMP.rel delete mode 100644 lib/reliar/FDEC.rel delete mode 100644 lib/reliar/FDECASG.rel delete mode 100644 lib/reliar/FDIV.rel delete mode 100644 lib/reliar/FDIVASG.rel delete mode 100644 lib/reliar/FENDASG2.rel delete mode 100644 lib/reliar/FINC.rel delete mode 100644 lib/reliar/FINCASG.rel delete mode 100644 lib/reliar/FMUL.rel delete mode 100644 lib/reliar/FMULASG.rel delete mode 100644 lib/reliar/FNEGASG.rel delete mode 100644 lib/reliar/FPACK.rel delete mode 100644 lib/reliar/FROUND.rel delete mode 100644 lib/reliar/FSUBASG.rel delete mode 100644 lib/reliar/FTOL.rel delete mode 100644 lib/reliar/FUNPACK.rel delete mode 100644 lib/reliar/LADDASG.rel delete mode 100644 lib/reliar/LAND.rel delete mode 100644 lib/reliar/LANDASG.rel delete mode 100644 lib/reliar/LDEC.rel delete mode 100644 lib/reliar/LDECASG.rel delete mode 100644 lib/reliar/LDIVMOD.rel delete mode 100644 lib/reliar/LEAVE32.rel delete mode 100644 lib/reliar/LEAVEDIRECT.rel delete mode 100644 lib/reliar/LENDASG.rel delete mode 100644 lib/reliar/LENDMULDIVASG.rel delete mode 100644 lib/reliar/LFINDSIGN.rel delete mode 100644 lib/reliar/LIBVERSION.rel delete mode 100644 lib/reliar/LINC.rel delete mode 100644 lib/reliar/LINCASG.rel delete mode 100644 lib/reliar/LLSH.rel delete mode 100644 lib/reliar/LLSHASG.rel delete mode 100644 lib/reliar/LMUL.rel delete mode 100644 lib/reliar/LMULASG.rel delete mode 100644 lib/reliar/LNEG.rel delete mode 100644 lib/reliar/LNEGASG.rel delete mode 100644 lib/reliar/LNOT.rel delete mode 100644 lib/reliar/LNOTASG.rel delete mode 100644 lib/reliar/LOR.rel delete mode 100644 lib/reliar/LORASG.rel delete mode 100644 lib/reliar/LSSWITCH.rel delete mode 100644 lib/reliar/LSUBASG.rel delete mode 100644 lib/reliar/LTOF.rel delete mode 100644 lib/reliar/LVSWITCH.rel delete mode 100644 lib/reliar/LXOR.rel delete mode 100644 lib/reliar/LXORASG.rel delete mode 100644 lib/reliar/MEMCMP.rel delete mode 100644 lib/reliar/MEMSET.rel delete mode 100644 lib/reliar/MONITORBANKLEAVE.rel delete mode 100644 lib/reliar/MONITORBANKLEAVE32.rel delete mode 100644 lib/reliar/MONITORBANKLEAVEIX.rel delete mode 100644 lib/reliar/MONITORBANKLEAVEPOP.rel delete mode 100644 lib/reliar/MONITORLEAVE.rel delete mode 100644 lib/reliar/MONITORLEAVE32.rel delete mode 100644 lib/reliar/MONITORLEAVEIX.rel delete mode 100644 lib/reliar/MONITORLEAVEIXPA.rel delete mode 100644 lib/reliar/MONITORLEAVEPA.rel delete mode 100644 lib/reliar/MONITORLEAVEPOP.rel delete mode 100644 lib/reliar/SCDIV.rel delete mode 100644 lib/reliar/SCMOD.rel delete mode 100644 lib/reliar/SCRSH.rel delete mode 100644 lib/reliar/SCRSHASG.rel delete mode 100644 lib/reliar/SDIVMOD.rel delete mode 100644 lib/reliar/SFINDSIGN.rel delete mode 100644 lib/reliar/SLCMP.rel delete mode 100644 lib/reliar/SLDIV.rel delete mode 100644 lib/reliar/SLDIVASG.rel delete mode 100644 lib/reliar/SLMOD.rel delete mode 100644 lib/reliar/SLMODASG.rel delete mode 100644 lib/reliar/SLRSH.rel delete mode 100644 lib/reliar/SLRSHASG.rel delete mode 100644 lib/reliar/SLSH.rel delete mode 100644 lib/reliar/SLSHASG.rel delete mode 100644 lib/reliar/SLSHASGBCprim.rel delete mode 100644 lib/reliar/SLSHASGDEprim.rel delete mode 100644 lib/reliar/SMUL.rel delete mode 100644 lib/reliar/SMULASG.rel delete mode 100644 lib/reliar/SMULASGBCprim.rel delete mode 100644 lib/reliar/SMULASGDEprim.rel delete mode 100644 lib/reliar/SMULASGIX.rel delete mode 100644 lib/reliar/SMULASGIY.rel delete mode 100644 lib/reliar/SSCMP.rel delete mode 100644 lib/reliar/SSDIV.rel delete mode 100644 lib/reliar/SSDIVASG.rel delete mode 100644 lib/reliar/SSDIVASGBCprim.rel delete mode 100644 lib/reliar/SSDIVASGDEprim.rel delete mode 100644 lib/reliar/SSDIVASGIX.rel delete mode 100644 lib/reliar/SSDIVASGIY.rel delete mode 100644 lib/reliar/SSMOD.rel delete mode 100644 lib/reliar/SSMODASG.rel delete mode 100644 lib/reliar/SSMODASGBCprim.rel delete mode 100644 lib/reliar/SSMODASGDEprim.rel delete mode 100644 lib/reliar/SSMODASGIX.rel delete mode 100644 lib/reliar/SSMODASGIY.rel delete mode 100644 lib/reliar/SSRSH.rel delete mode 100644 lib/reliar/SSRSHASG.rel delete mode 100644 lib/reliar/SSRSHASGBCprim.rel delete mode 100644 lib/reliar/SSRSHASGDEprim.rel delete mode 100644 lib/reliar/SSRSHASGIX.rel delete mode 100644 lib/reliar/SSRSHASGIY.rel delete mode 100644 lib/reliar/SSSWITCH.rel delete mode 100644 lib/reliar/SSWITCHEND.rel delete mode 100644 lib/reliar/STRCAT.rel delete mode 100644 lib/reliar/STRCHR.rel delete mode 100644 lib/reliar/STRCMP.rel delete mode 100644 lib/reliar/STRCPY.rel delete mode 100644 lib/reliar/STRLEN.rel delete mode 100644 lib/reliar/SVSWITCH.rel delete mode 100644 lib/reliar/UCDIV.rel delete mode 100644 lib/reliar/UCMOD.rel delete mode 100644 lib/reliar/UCRSH.rel delete mode 100644 lib/reliar/UCRSHASG.rel delete mode 100644 lib/reliar/ULDIV.rel delete mode 100644 lib/reliar/ULDIVASG.rel delete mode 100644 lib/reliar/ULMOD.rel delete mode 100644 lib/reliar/ULMODASG.rel delete mode 100644 lib/reliar/ULRSH.rel delete mode 100644 lib/reliar/ULRSHASG.rel delete mode 100644 lib/reliar/USDIV.rel delete mode 100644 lib/reliar/USDIVASG.rel delete mode 100644 lib/reliar/USDIVASGBCprim.rel delete mode 100644 lib/reliar/USDIVASGDEprim.rel delete mode 100644 lib/reliar/USDIVASGIX.rel delete mode 100644 lib/reliar/USDIVASGIY.rel delete mode 100644 lib/reliar/USMOD.rel delete mode 100644 lib/reliar/USMODASG.rel delete mode 100644 lib/reliar/USMODASGBCprim.rel delete mode 100644 lib/reliar/USMODASGDEprim.rel delete mode 100644 lib/reliar/USMODASGIX.rel delete mode 100644 lib/reliar/USMODASGIY.rel delete mode 100644 lib/reliar/USRSH.rel delete mode 100644 lib/reliar/USRSHASG.rel delete mode 100644 lib/reliar/USRSHASGBCprim.rel delete mode 100644 lib/reliar/USRSHASGDEprim.rel delete mode 100644 lib/reliar/USRSHASGIX.rel delete mode 100644 lib/reliar/USRSHASGIY.rel delete mode 100644 lib/reliar/VSWITCHEND.rel delete mode 100644 lib/relsysb/_exit.rel delete mode 100644 lib/relsysb/access.rel delete mode 100644 lib/relsysb/alarm.rel delete mode 100644 lib/relsysb/brk.rel delete mode 100644 lib/relsysb/chdir.rel delete mode 100644 lib/relsysb/chmod.rel delete mode 100644 lib/relsysb/chown.rel delete mode 100644 lib/relsysb/chroot.rel delete mode 100644 lib/relsysb/close.rel delete mode 100644 lib/relsysb/creat.rel delete mode 100644 lib/relsysb/dup.rel delete mode 100644 lib/relsysb/dup2.rel delete mode 100644 lib/relsysb/execve.rel delete mode 100644 lib/relsysb/falign.rel delete mode 100644 lib/relsysb/fork.rel delete mode 100644 lib/relsysb/fstat.rel delete mode 100644 lib/relsysb/getegid.rel delete mode 100644 lib/relsysb/geteuid.rel delete mode 100644 lib/relsysb/getfsys.rel delete mode 100644 lib/relsysb/getgid.rel delete mode 100644 lib/relsysb/getpid.rel delete mode 100644 lib/relsysb/getppid.rel delete mode 100644 lib/relsysb/getprio.rel delete mode 100644 lib/relsysb/getuid.rel delete mode 100644 lib/relsysb/ioctl.rel delete mode 100644 lib/relsysb/kill.rel delete mode 100644 lib/relsysb/link.rel delete mode 100644 lib/relsysb/lseek.rel delete mode 100644 lib/relsysb/mkfifo.rel delete mode 100644 lib/relsysb/mknod.rel delete mode 100644 lib/relsysb/module.rel delete mode 100644 lib/relsysb/mount.rel delete mode 100644 lib/relsysb/open.rel delete mode 100644 lib/relsysb/pause.rel delete mode 100644 lib/relsysb/pipe.rel delete mode 100644 lib/relsysb/read.rel delete mode 100644 lib/relsysb/reboot.rel delete mode 100644 lib/relsysb/sbrk.rel delete mode 100644 lib/relsysb/seek.rel delete mode 100644 lib/relsysb/setgid.rel delete mode 100644 lib/relsysb/setprio.rel delete mode 100644 lib/relsysb/setuid.rel delete mode 100644 lib/relsysb/signal.rel delete mode 100644 lib/relsysb/stat.rel delete mode 100644 lib/relsysb/stime.rel delete mode 100644 lib/relsysb/symlink.rel delete mode 100644 lib/relsysb/sync.rel delete mode 100644 lib/relsysb/sys0b.rel delete mode 100644 lib/relsysb/sys1b.rel delete mode 100644 lib/relsysb/syscal0b.rel delete mode 100644 lib/relsysb/syscal1b.rel delete mode 100644 lib/relsysb/sysdebug.rel delete mode 100644 lib/relsysb/systrace.rel delete mode 100644 lib/relsysb/time.rel delete mode 100644 lib/relsysb/times.rel delete mode 100644 lib/relsysb/umask.rel delete mode 100644 lib/relsysb/umount.rel delete mode 100644 lib/relsysb/unlink.rel delete mode 100644 lib/relsysb/utime.rel delete mode 100644 lib/relsysb/waitpid.rel delete mode 100644 lib/relsysb/write.rel delete mode 100644 lib/relsysl/_exit.rel delete mode 100644 lib/relsysl/access.rel delete mode 100644 lib/relsysl/alarm.rel delete mode 100644 lib/relsysl/brk.rel delete mode 100644 lib/relsysl/chdir.rel delete mode 100644 lib/relsysl/chmod.rel delete mode 100644 lib/relsysl/chown.rel delete mode 100644 lib/relsysl/chroot.rel delete mode 100644 lib/relsysl/close.rel delete mode 100644 lib/relsysl/creat.rel delete mode 100644 lib/relsysl/dup.rel delete mode 100644 lib/relsysl/dup2.rel delete mode 100644 lib/relsysl/execve.rel delete mode 100644 lib/relsysl/falign.rel delete mode 100644 lib/relsysl/fork.rel delete mode 100644 lib/relsysl/fstat.rel delete mode 100644 lib/relsysl/getegid.rel delete mode 100644 lib/relsysl/geteuid.rel delete mode 100644 lib/relsysl/getfsys.rel delete mode 100644 lib/relsysl/getgid.rel delete mode 100644 lib/relsysl/getpid.rel delete mode 100644 lib/relsysl/getppid.rel delete mode 100644 lib/relsysl/getprio.rel delete mode 100644 lib/relsysl/getuid.rel delete mode 100644 lib/relsysl/ioctl.rel delete mode 100644 lib/relsysl/kill.rel delete mode 100644 lib/relsysl/link.rel delete mode 100644 lib/relsysl/lseek.rel delete mode 100644 lib/relsysl/mkfifo.rel delete mode 100644 lib/relsysl/mknod.rel delete mode 100644 lib/relsysl/module.rel delete mode 100644 lib/relsysl/mount.rel delete mode 100644 lib/relsysl/open.rel delete mode 100644 lib/relsysl/pause.rel delete mode 100644 lib/relsysl/pipe.rel delete mode 100644 lib/relsysl/read.rel delete mode 100644 lib/relsysl/reboot.rel delete mode 100644 lib/relsysl/sbrk.rel delete mode 100644 lib/relsysl/seek.rel delete mode 100644 lib/relsysl/setgid.rel delete mode 100644 lib/relsysl/setprio.rel delete mode 100644 lib/relsysl/setuid.rel delete mode 100644 lib/relsysl/signal.rel delete mode 100644 lib/relsysl/stat.rel delete mode 100644 lib/relsysl/stime.rel delete mode 100644 lib/relsysl/symlink.rel delete mode 100644 lib/relsysl/sync.rel delete mode 100644 lib/relsysl/sys0l.rel delete mode 100644 lib/relsysl/sys1l.rel delete mode 100644 lib/relsysl/syscal0l.rel delete mode 100644 lib/relsysl/syscal1l.rel delete mode 100644 lib/relsysl/sysdebug.rel delete mode 100644 lib/relsysl/systrace.rel delete mode 100644 lib/relsysl/time.rel delete mode 100644 lib/relsysl/times.rel delete mode 100644 lib/relsysl/umask.rel delete mode 100644 lib/relsysl/umount.rel delete mode 100644 lib/relsysl/unlink.rel delete mode 100644 lib/relsysl/utime.rel delete mode 100644 lib/relsysl/waitpid.rel delete mode 100644 lib/relsysl/write.rel create mode 100644 relnotes/20040204.txt create mode 100644 src/CVS/Entries create mode 100644 src/CVS/Repository create mode 100644 src/CVS/Root create mode 100644 src/avr/CVS/Entries create mode 100644 src/avr/CVS/Repository create mode 100644 src/avr/CVS/Root create mode 100644 src/avr/product/CVS/Entries create mode 100644 src/avr/product/CVS/Repository create mode 100644 src/avr/product/CVS/Root delete mode 100644 src/avr/tsv3.lst create mode 100644 src/bin/CVS/Entries create mode 100644 src/bin/CVS/Repository create mode 100644 src/bin/CVS/Root delete mode 100644 src/bin/cat.exe delete mode 100644 src/bin/cp.exe delete mode 100644 src/bin/cr.exe delete mode 100644 src/bin/cygpopt-0.dll delete mode 100644 src/bin/cygwin1.dll delete mode 100644 src/bin/diff.exe delete mode 100644 src/bin/echo.exe delete mode 100644 src/bin/false.exe delete mode 100644 src/bin/gunzip.exe delete mode 100644 src/bin/gzip.exe create mode 100644 src/bin/iccz80.exe delete mode 100644 src/bin/ln.exe delete mode 100644 src/bin/loginsh.exe delete mode 100644 src/bin/mkdir.exe delete mode 100644 src/bin/patch.exe create mode 100644 src/bin/patch.sh delete mode 100644 src/bin/rm.exe delete mode 100644 src/bin/rmdir.exe delete mode 100644 src/bin/sed.exe delete mode 100644 src/bin/tee.exe delete mode 100644 src/bin/test.exe delete mode 100644 src/bin/touch.exe delete mode 100644 src/bin/true.exe create mode 100644 src/chset/CVS/Entries create mode 100644 src/chset/CVS/Repository create mode 100644 src/chset/CVS/Root create mode 100644 src/chset/demos/CVS/Entries create mode 100644 src/chset/demos/CVS/Repository create mode 100644 src/chset/demos/CVS/Root delete mode 100644 src/chset/hylab.tmp delete mode 100644 src/chset/hylab0.tmp delete mode 100644 src/chset/hylab1.tmp delete mode 100644 src/chset/hylab2.tmp create mode 100644 src/db/CVS/Entries create mode 100644 src/db/CVS/Repository create mode 100644 src/db/CVS/Root delete mode 100644 src/db/db.lst delete mode 100644 src/db/db.rel delete mode 100644 src/db/db.rst delete mode 100644 src/db/main.lst delete mode 100644 src/db/main.rel delete mode 100644 src/db/main.rst create mode 100644 src/font/CVS/Entries create mode 100644 src/font/CVS/Repository create mode 100644 src/font/CVS/Root delete mode 100644 src/font/wid-demo.obj create mode 100644 src/fsutil/CVS/Entries create mode 100644 src/fsutil/CVS/Repository create mode 100644 src/fsutil/CVS/Root delete mode 100644 src/fsutil/bd.lst delete mode 100644 src/fsutil/bd.obj delete mode 100644 src/fsutil/bd.rel delete mode 100644 src/fsutil/bd.rst delete mode 100644 src/fsutil/devhd.obj delete mode 100644 src/fsutil/devio.obj delete mode 100644 src/fsutil/devmisc.obj delete mode 100644 src/fsutil/devtty.obj delete mode 100644 src/fsutil/filesys.obj delete mode 100644 src/fsutil/fsck.lst delete mode 100644 src/fsutil/fsck.obj delete mode 100644 src/fsutil/fsck.rel delete mode 100644 src/fsutil/fsck.rst delete mode 100644 src/fsutil/hdasm.obj delete mode 100644 src/fsutil/machdep.obj delete mode 100644 src/fsutil/main.obj delete mode 100644 src/fsutil/mkfs.lst delete mode 100644 src/fsutil/mkfs.obj delete mode 100644 src/fsutil/mkfs.rel delete mode 100644 src/fsutil/mkfs.rst delete mode 100644 src/fsutil/process.obj delete mode 100644 src/fsutil/scall1.obj delete mode 100644 src/fsutil/scall2.obj delete mode 100644 src/fsutil/ucp.obj delete mode 100644 src/fsutil/ucpsub.obj delete mode 100644 src/fsutil/utils.lst delete mode 100644 src/fsutil/utils.obj delete mode 100644 src/fsutil/utils.rel delete mode 100644 src/fsutil/utils.rst delete mode 100644 src/fsutil/xfs.obj delete mode 100644 src/fsutil/xip.obj create mode 100644 src/games/CVS/Entries create mode 100644 src/games/CVS/Repository create mode 100644 src/games/CVS/Root create mode 100644 src/games/advent/CVS/Entries create mode 100644 src/games/advent/CVS/Repository create mode 100644 src/games/advent/CVS/Root delete mode 100644 src/games/advent/data.rel delete mode 100644 src/games/advent/done.rel delete mode 100644 src/games/advent/init.rel delete mode 100644 src/games/advent/io.rel delete mode 100644 src/games/advent/main.rel delete mode 100644 src/games/advent/okplay.rel delete mode 100644 src/games/advent/save.rel delete mode 100644 src/games/advent/subr.rel delete mode 100644 src/games/advent/vocab.rel delete mode 100644 src/games/advent/wizard.rel create mode 100644 src/gboot/CVS/Entries create mode 100644 src/gboot/CVS/Repository create mode 100644 src/gboot/CVS/Root create mode 100644 src/gui/CVS/Entries create mode 100644 src/gui/CVS/Repository create mode 100644 src/gui/CVS/Root delete mode 100644 src/gui/login.lst delete mode 100644 src/gui/login.rel delete mode 100644 src/gui/login.rst delete mode 100644 src/gui/test.lst delete mode 100644 src/gui/test.rel delete mode 100644 src/gui/test.rst delete mode 100644 src/gui/trans.lst delete mode 100644 src/gui/trans.rel delete mode 100644 src/gui/trans.rst delete mode 100644 src/gui/wnd.lst delete mode 100644 src/gui/wnd.rel delete mode 100644 src/gui/wnd.rst create mode 100644 src/hello/CVS/Entries create mode 100644 src/hello/CVS/Repository create mode 100644 src/hello/CVS/Root create mode 100644 src/init/CVS/Entries create mode 100644 src/init/CVS/Repository create mode 100644 src/init/CVS/Root delete mode 100644 src/init/init.rel delete mode 100644 src/init/login.rel create mode 100644 src/kernel/CVS/Entries create mode 100644 src/kernel/CVS/Repository create mode 100644 src/kernel/CVS/Root create mode 100644 src/kernel/cmx/CVS/Entries create mode 100644 src/kernel/cmx/CVS/Repository create mode 100644 src/kernel/cmx/CVS/Root create mode 100644 src/kernel/libc/CVS/Entries create mode 100644 src/kernel/libc/CVS/Repository create mode 100644 src/kernel/libc/CVS/Root create mode 100644 src/kernel/uzi/CVS/Entries create mode 100644 src/kernel/uzi/CVS/Repository create mode 100644 src/kernel/uzi/CVS/Root create mode 100644 src/libc/CVS/Entries create mode 100644 src/libc/CVS/Repository create mode 100644 src/libc/CVS/Root delete mode 100644 src/libc/libcb.lib rename lib/libcb.lib => src/libc/libcb.txt (100%) delete mode 100644 src/libc/libcl.lib rename lib/libcl.lib => src/libc/libcl.txt (100%) create mode 100644 src/libiar/CVS/Entries create mode 100644 src/libiar/CVS/Repository create mode 100644 src/libiar/CVS/Root delete mode 100644 src/libiar/libiar.lib rename lib/libiar.lib => src/libiar/libiar.txt (100%) create mode 100644 src/libsys/CVS/Entries create mode 100644 src/libsys/CVS/Repository create mode 100644 src/libsys/CVS/Root delete mode 100644 src/libsys/libsysb.lib rename lib/libsysb.lib => src/libsys/libsysb.txt (100%) delete mode 100644 src/libsys/libsysl.lib rename lib/libsysl.lib => src/libsys/libsysl.txt (100%) create mode 100644 src/make.d/CVS/Entries create mode 100644 src/make.d/CVS/Repository create mode 100644 src/make.d/CVS/Root create mode 100644 src/make.d/z80/CVS/Entries create mode 100644 src/make.d/z80/CVS/Repository create mode 100644 src/make.d/z80/CVS/Root create mode 100644 src/man/CVS/Entries create mode 100644 src/man/CVS/Repository create mode 100644 src/man/CVS/Root create mode 100644 src/mkfont/CVS/Entries create mode 100644 src/mkfont/CVS/Repository create mode 100644 src/mkfont/CVS/Root delete mode 100644 src/mkfont/bmp2txt.obj delete mode 100644 src/mkfont/chs2cmd.obj delete mode 100644 src/mkfont/hfmdump.obj delete mode 100644 src/mkfont/hfmlib.obj delete mode 100644 src/mkfont/hfmtool.obj delete mode 100644 src/mkfont/hfmwidth.obj delete mode 100644 src/mkfont/hycache.obj delete mode 100644 src/mkfont/hyfile.obj delete mode 100644 src/mkfont/hyfs.obj delete mode 100644 src/mkfont/hyimage.obj delete mode 100644 src/mkfont/hylist.obj delete mode 100644 src/mkfont/hymb.obj delete mode 100644 src/mkfont/hymem.obj delete mode 100644 src/mkfont/hystring.obj delete mode 100644 src/mkfont/po2c.obj delete mode 100644 src/mkfont/restool.obj delete mode 100644 src/mkfont/txt2chs.obj delete mode 100644 src/mkfont/x.lib delete mode 100644 src/mkfont/x.rel delete mode 100644 src/mkutil/CR.EXE create mode 100644 src/mkutil/CRC.LST create mode 100644 src/mkutil/CRC.MAP create mode 100644 src/mkutil/CRC.OBJ create mode 100644 src/mkutil/CVS/Entries create mode 100644 src/mkutil/CVS/Repository create mode 100644 src/mkutil/CVS/Root create mode 100644 src/mkutil/as-z80/CVS/Entries create mode 100644 src/mkutil/as-z80/CVS/Repository create mode 100644 src/mkutil/as-z80/CVS/Root delete mode 100644 src/mkutil/as-z80/asdata.obj delete mode 100644 src/mkutil/as-z80/asexpr.obj delete mode 100644 src/mkutil/as-z80/aslex.obj delete mode 100644 src/mkutil/as-z80/aslist.obj delete mode 100644 src/mkutil/as-z80/asmain.obj delete mode 100644 src/mkutil/as-z80/asout.obj delete mode 100644 src/mkutil/as-z80/assubr.obj delete mode 100644 src/mkutil/as-z80/assym.obj delete mode 100644 src/mkutil/as-z80/z80adr.obj delete mode 100644 src/mkutil/as-z80/z80ext.obj delete mode 100644 src/mkutil/as-z80/z80mch.obj delete mode 100644 src/mkutil/as-z80/z80pst.obj create mode 100644 src/mkutil/avra-0.8/CVS/Entries create mode 100644 src/mkutil/avra-0.8/CVS/Repository create mode 100644 src/mkutil/avra-0.8/CVS/Root create mode 100644 src/mkutil/avra-0.8/SOURCE/CVS/Entries create mode 100644 src/mkutil/avra-0.8/SOURCE/CVS/Repository create mode 100644 src/mkutil/avra-0.8/SOURCE/CVS/Root delete mode 100644 src/mkutil/bin2avr.obj delete mode 100644 src/mkutil/bin2c.obj create mode 100644 src/mkutil/cpp/CVS/Entries create mode 100644 src/mkutil/cpp/CVS/Repository create mode 100644 src/mkutil/cpp/CVS/Root delete mode 100644 src/mkutil/cpp/alloca.obj delete mode 100644 src/mkutil/cpp/cppdefault.obj delete mode 100644 src/mkutil/cpp/cpperror.obj delete mode 100644 src/mkutil/cpp/cppexp.obj delete mode 100644 src/mkutil/cpp/cppfiles.obj delete mode 100644 src/mkutil/cpp/cpphash.obj delete mode 100644 src/mkutil/cpp/cppinit.obj delete mode 100644 src/mkutil/cpp/cpplex.obj delete mode 100644 src/mkutil/cpp/cpplib.obj delete mode 100644 src/mkutil/cpp/cppmacro.obj delete mode 100644 src/mkutil/cpp/cppmain.obj delete mode 100644 src/mkutil/cpp/cppspec.obj delete mode 100644 src/mkutil/cpp/hex.obj delete mode 100644 src/mkutil/cpp/lbasename.obj delete mode 100644 src/mkutil/cpp/mkdeps.obj delete mode 100644 src/mkutil/cpp/obstack.obj delete mode 100644 src/mkutil/cpp/safe-ctype.obj delete mode 100644 src/mkutil/cpp/version.obj delete mode 100644 src/mkutil/cpp/xexit.obj delete mode 100644 src/mkutil/cpp/xmalloc.obj delete mode 100644 src/mkutil/cpp/xstrdup.obj delete mode 100644 src/mkutil/cpp/xstrerror.obj delete mode 100644 src/mkutil/cr.exe delete mode 100644 src/mkutil/cr.obj create mode 100644 src/mkutil/crc.asm delete mode 100644 src/mkutil/crc.exe delete mode 100644 src/mkutil/crc.obj delete mode 100644 src/mkutil/false.exe delete mode 100644 src/mkutil/false.obj delete mode 100644 src/mkutil/foster.obj delete mode 100644 src/mkutil/ihex2bin.obj create mode 100644 src/mkutil/lib-z80/CVS/Entries create mode 100644 src/mkutil/lib-z80/CVS/Repository create mode 100644 src/mkutil/lib-z80/CVS/Root delete mode 100644 src/mkutil/lib-z80/a.lib delete mode 100644 src/mkutil/lib-z80/a.rel delete mode 100644 src/mkutil/lib-z80/a_lib/a.rel delete mode 100644 src/mkutil/lib-z80/a_lib/b.rel delete mode 100644 src/mkutil/lib-z80/b.rel delete mode 100644 src/mkutil/lib-z80/lbdata.obj delete mode 100644 src/mkutil/lib-z80/lblex.obj delete mode 100644 src/mkutil/lib-z80/lbmain.obj delete mode 100644 src/mkutil/lib-z80/lbsym.obj delete mode 100644 src/mkutil/lib-z80/out/a.lib delete mode 100644 src/mkutil/lib-z80/out/a_lib/a.rel delete mode 100644 src/mkutil/lib-z80/out/a_lib/b.rel delete mode 100644 src/mkutil/lib-z80/out/a_lib/c.rel create mode 100644 src/mkutil/lib-z80/rel/CVS/Entries create mode 100644 src/mkutil/lib-z80/rel/CVS/Repository create mode 100644 src/mkutil/lib-z80/rel/CVS/Root delete mode 100644 src/mkutil/lib-z80/rel/a.rel delete mode 100644 src/mkutil/lib-z80/rel/b.rel delete mode 100644 src/mkutil/lib-z80/x.lib delete mode 100644 src/mkutil/lib-z80/x_lib/a.rel delete mode 100644 src/mkutil/lib-z80/x_lib/b.rel delete mode 100644 src/mkutil/link-z80/ASLINK.H create mode 100644 src/mkutil/link-z80/CVS/Entries create mode 100644 src/mkutil/link-z80/CVS/Repository create mode 100644 src/mkutil/link-z80/CVS/Root delete mode 100644 src/mkutil/link-z80/lkarea.obj delete mode 100644 src/mkutil/link-z80/lkdata.obj delete mode 100644 src/mkutil/link-z80/lkeval.obj delete mode 100644 src/mkutil/link-z80/lkhead.obj delete mode 100644 src/mkutil/link-z80/lklex.obj delete mode 100644 src/mkutil/link-z80/lklibr.obj delete mode 100644 src/mkutil/link-z80/lklist.obj delete mode 100644 src/mkutil/link-z80/lkmain.obj delete mode 100644 src/mkutil/link-z80/lkout.obj delete mode 100644 src/mkutil/link-z80/lkrloc.obj delete mode 100644 src/mkutil/link-z80/lksym.obj delete mode 100644 src/mkutil/loginsh.exe delete mode 100644 src/mkutil/loginsh.obj delete mode 100644 src/mkutil/make/CVS/Entries.Log delete mode 100644 src/mkutil/make/config/.cvsignore delete mode 100644 src/mkutil/make/doc/.cvsignore delete mode 100644 src/mkutil/make/glob/.cvsignore delete mode 100644 src/mkutil/make/i18n/CVS/Entries delete mode 100644 src/mkutil/make/i18n/CVS/Repository delete mode 100644 src/mkutil/make/i18n/CVS/Root delete mode 100644 src/mkutil/make/po/.cvsignore delete mode 100644 src/mkutil/make/tests/.cvsignore delete mode 100644 src/mkutil/make/tests/CVS/Entries.Log delete mode 100644 src/mkutil/make/tests/scripts/CVS/Entries.Log delete mode 100644 src/mkutil/make/w32/CVS/Entries.Log create mode 100644 src/mkutil/revava-0.3/CVS/Entries create mode 100644 src/mkutil/revava-0.3/CVS/Repository create mode 100644 src/mkutil/revava-0.3/CVS/Root delete mode 100644 src/mkutil/setfsize.exe create mode 100644 src/mkutil/tasm.exe create mode 100644 src/mkutil/tavrasm.118/CVS/Entries create mode 100644 src/mkutil/tavrasm.118/CVS/Repository create mode 100644 src/mkutil/tavrasm.118/CVS/Root create mode 100644 src/mkutil/tavrasm.118/src/CVS/Entries create mode 100644 src/mkutil/tavrasm.118/src/CVS/Repository create mode 100644 src/mkutil/tavrasm.118/src/CVS/Root create mode 100644 src/mkutil/tlink.exe delete mode 100644 src/mkutil/touch.exe delete mode 100644 src/mkutil/touch.map delete mode 100644 src/mkutil/touch.obj create mode 100644 src/mkutil/tradcpp/CVS/Entries create mode 100644 src/mkutil/tradcpp/CVS/Repository create mode 100644 src/mkutil/tradcpp/CVS/Root delete mode 100644 src/mkutil/tradcpp/alloca.obj delete mode 100644 src/mkutil/tradcpp/cppdefault.obj delete mode 100644 src/mkutil/tradcpp/hex.obj delete mode 100644 src/mkutil/tradcpp/lbasename.obj delete mode 100644 src/mkutil/tradcpp/mkdeps.obj delete mode 100644 src/mkutil/tradcpp/safe-ctype.obj delete mode 100644 src/mkutil/tradcpp/tradcif.obj delete mode 100644 src/mkutil/tradcpp/tradcpp.obj delete mode 100644 src/mkutil/tradcpp/version.obj delete mode 100644 src/mkutil/tradcpp/xexit.obj delete mode 100644 src/mkutil/tradcpp/xmalloc.obj delete mode 100644 src/mkutil/tradcpp/xstrdup.obj delete mode 100644 src/mkutil/true.exe delete mode 100644 src/mkutil/true.obj create mode 100644 src/nos/CVS/Entries create mode 100644 src/nos/CVS/Repository create mode 100644 src/nos/CVS/Root create mode 100644 src/nos/ax25/CVS/Entries create mode 100644 src/nos/ax25/CVS/Repository create mode 100644 src/nos/ax25/CVS/Root create mode 100644 src/nos/ax25/ax25.i create mode 100644 src/nos/ax25/ax25cmd.i create mode 100644 src/nos/ax25/ax25hdr.i create mode 100644 src/nos/ax25/ax25mail.i create mode 100644 src/nos/ax25/ax25subr.i create mode 100644 src/nos/ax25/ax25user.i create mode 100644 src/nos/ax25/axheard.i create mode 100644 src/nos/ax25/axsock.i create mode 100644 src/nos/ax25/kiss.i create mode 100644 src/nos/ax25/lapb.i create mode 100644 src/nos/ax25/lapbtime.i create mode 100644 src/nos/bin/CVS/Entries create mode 100644 src/nos/bin/CVS/Repository create mode 100644 src/nos/bin/CVS/Root create mode 100644 src/nos/clients/CVS/Entries create mode 100644 src/nos/clients/CVS/Repository create mode 100644 src/nos/clients/CVS/Root create mode 100644 src/nos/clients/bootp.i create mode 100644 src/nos/clients/finger.i create mode 100644 src/nos/clients/ftpcli.i create mode 100644 src/nos/clients/lterm.i create mode 100644 src/nos/clients/nntpcli.i create mode 100644 src/nos/clients/popcli.i create mode 100644 src/nos/clients/smtpcli.i create mode 100644 src/nos/clients/telnet.i create mode 100644 src/nos/clients/tip.i create mode 100644 src/nos/crt/CVS/Entries create mode 100644 src/nos/crt/CVS/Repository create mode 100644 src/nos/crt/CVS/Root create mode 100644 src/nos/crt/auto.mk rename src/nos/crt/{crt0b.S => crt0_banked.S} (100%) rename src/nos/crt/{crt0l.S => crt0_large.S} (100%) create mode 100644 src/nos/crt/longjmp_banked.S create mode 100644 src/nos/crt/longjmp_large.S delete mode 100644 src/nos/crt/longjmpb.S delete mode 100644 src/nos/crt/longjmpl.S create mode 100644 src/nos/crt/makefile delete mode 100644 src/nos/crt/n.baty delete mode 100644 src/nos/crt/setjmp.c$ delete mode 100644 src/nos/crt/setjmp.msx create mode 100644 src/nos/crt/setjmp_banked.S create mode 100644 src/nos/crt/setjmp_large.S delete mode 100644 src/nos/crt/setjmpb.S delete mode 100644 src/nos/crt/setjmpl.S create mode 100644 src/nos/doc/CVS/Entries create mode 100644 src/nos/doc/CVS/Repository create mode 100644 src/nos/doc/CVS/Root create mode 100644 src/nos/doc/bmexe332/CVS/Entries create mode 100644 src/nos/doc/bmexe332/CVS/Repository create mode 100644 src/nos/doc/bmexe332/CVS/Root create mode 100644 src/nos/doc/bmpgp01/CVS/Entries create mode 100644 src/nos/doc/bmpgp01/CVS/Repository create mode 100644 src/nos/doc/bmpgp01/CVS/Root create mode 100644 src/nos/doc/intronos/CVS/Entries create mode 100644 src/nos/doc/intronos/CVS/Repository create mode 100644 src/nos/doc/intronos/CVS/Root create mode 100644 src/nos/doc/ka9qbgn/CVS/Entries create mode 100644 src/nos/doc/ka9qbgn/CVS/Repository create mode 100644 src/nos/doc/ka9qbgn/CVS/Root create mode 100644 src/nos/doc/man_9106/CVS/Entries create mode 100644 src/nos/doc/man_9106/CVS/Repository create mode 100644 src/nos/doc/man_9106/CVS/Root create mode 100644 src/nos/doc/rurtcp/CVS/Entries create mode 100644 src/nos/doc/rurtcp/CVS/Repository create mode 100644 src/nos/doc/rurtcp/CVS/Root create mode 100644 src/nos/doc/rurtcp/rurtcpp/CVS/Entries create mode 100644 src/nos/doc/rurtcp/rurtcpp/CVS/Repository create mode 100644 src/nos/doc/rurtcp/rurtcpp/CVS/Root create mode 100644 src/nos/drivers/CVS/Entries create mode 100644 src/nos/drivers/CVS/Repository create mode 100644 src/nos/drivers/CVS/Root create mode 100644 src/nos/drivers/arcnet.i create mode 100644 src/nos/drivers/dma.i create mode 100644 src/nos/drivers/drsi.i create mode 100644 src/nos/drivers/eagle.i create mode 100644 src/nos/drivers/enet.i create mode 100644 src/nos/drivers/hapn.i create mode 100644 src/nos/drivers/hs.i create mode 100644 src/nos/drivers/pc100.i create mode 100644 src/nos/drivers/pi.i create mode 100644 src/nos/drivers/pktdrvr.i create mode 100644 src/nos/dump/CVS/Entries create mode 100644 src/nos/dump/CVS/Repository create mode 100644 src/nos/dump/CVS/Root create mode 100644 src/nos/dump/arcdump.i create mode 100644 src/nos/dump/arpdump.i create mode 100644 src/nos/dump/ax25dump.i create mode 100644 src/nos/dump/enetdump.i create mode 100644 src/nos/dump/icmpdump.i create mode 100644 src/nos/dump/ipdump.i create mode 100644 src/nos/dump/kissdump.i create mode 100644 src/nos/dump/nrdump.i create mode 100644 src/nos/dump/ripdump.i create mode 100644 src/nos/dump/tcpdump.i create mode 100644 src/nos/dump/trace.i create mode 100644 src/nos/dump/udpdump.i create mode 100644 src/nos/filesys/CVS/Entries create mode 100644 src/nos/filesys/CVS/Repository create mode 100644 src/nos/filesys/CVS/Root create mode 100644 src/nos/filesys/devio.i create mode 100644 src/nos/filesys/execve.i create mode 100644 src/nos/filesys/filesys.i create mode 100644 src/nos/filesys/maxmin.i create mode 100644 src/nos/filesys/process.i create mode 100644 src/nos/filesys/rtc.i create mode 100644 src/nos/filesys/scall1.i create mode 100644 src/nos/filesys/scall2.i create mode 100644 src/nos/filesys/systrace.i create mode 100644 src/nos/filesys/usrmem.i create mode 100644 src/nos/filesys/xfs.i create mode 100644 src/nos/filesys/xip.i create mode 100644 src/nos/gboot/CVS/Entries create mode 100644 src/nos/gboot/CVS/Repository create mode 100644 src/nos/gboot/CVS/Root create mode 100644 src/nos/iar/CVS/Entries create mode 100644 src/nos/iar/CVS/Repository create mode 100644 src/nos/iar/CVS/Root create mode 100644 src/nos/include/CVS/Entries create mode 100644 src/nos/include/CVS/Repository create mode 100644 src/nos/include/CVS/Root create mode 100644 src/nos/include/nos/CVS/Entries create mode 100644 src/nos/include/nos/CVS/Repository create mode 100644 src/nos/include/nos/CVS/Root create mode 100644 src/nos/include/po/.cvsignore create mode 100644 src/nos/include/po/CVS/Entries create mode 100644 src/nos/include/po/CVS/Repository create mode 100644 src/nos/include/po/CVS/Root create mode 100644 src/nos/include/sys/CVS/Entries create mode 100644 src/nos/include/sys/CVS/Repository create mode 100644 src/nos/include/sys/CVS/Root create mode 100644 src/nos/include/uzi/CVS/Entries create mode 100644 src/nos/include/uzi/CVS/Repository create mode 100644 src/nos/include/uzi/CVS/Root create mode 100644 src/nos/include/z80/CVS/Entries create mode 100644 src/nos/include/z80/CVS/Repository create mode 100644 src/nos/include/z80/CVS/Root create mode 100644 src/nos/internet/CVS/Entries create mode 100644 src/nos/internet/CVS/Repository create mode 100644 src/nos/internet/CVS/Root create mode 100644 src/nos/internet/arp.i create mode 100644 src/nos/internet/arpcmd.i create mode 100644 src/nos/internet/arphdr.i create mode 100644 src/nos/internet/domain.i create mode 100644 src/nos/internet/domhdr.i create mode 100644 src/nos/internet/hop.i create mode 100644 src/nos/internet/icmp.i create mode 100644 src/nos/internet/icmpcmd.i create mode 100644 src/nos/internet/icmphdr.i create mode 100644 src/nos/internet/icmpmsg.i create mode 100644 src/nos/internet/ip.i create mode 100644 src/nos/internet/ipcmd.i create mode 100644 src/nos/internet/iphdr.i create mode 100644 src/nos/internet/iproute.i create mode 100644 src/nos/internet/ipsock.i create mode 100644 src/nos/internet/netuser.i create mode 100644 src/nos/internet/ping.i create mode 100644 src/nos/internet/rip.i create mode 100644 src/nos/internet/ripcmd.i create mode 100644 src/nos/internet/sim.i create mode 100644 src/nos/internet/tcpcmd.i create mode 100644 src/nos/internet/tcphdr.i create mode 100644 src/nos/internet/tcpin.i create mode 100644 src/nos/internet/tcpout.i create mode 100644 src/nos/internet/tcpsock.i create mode 100644 src/nos/internet/tcpsubr.i create mode 100644 src/nos/internet/tcptimer.i create mode 100644 src/nos/internet/tcpuser.i create mode 100644 src/nos/internet/udp.i create mode 100644 src/nos/internet/udpcmd.i create mode 100644 src/nos/internet/udphdr.i create mode 100644 src/nos/internet/udpsock.i create mode 100644 src/nos/intl/CVS/Entries create mode 100644 src/nos/intl/CVS/Repository create mode 100644 src/nos/intl/CVS/Root create mode 100644 src/nos/kernel/CVS/Entries create mode 100644 src/nos/kernel/CVS/Repository create mode 100644 src/nos/kernel/CVS/Root create mode 100644 src/nos/lib/.cvsignore create mode 100644 src/nos/lib/CVS/Entries create mode 100644 src/nos/lib/CVS/Repository create mode 100644 src/nos/lib/CVS/Root delete mode 100644 src/nos/lib/crt0_banked.lst delete mode 100644 src/nos/lib/crt0_banked.rel delete mode 100644 src/nos/lib/crt0_large.lst delete mode 100644 src/nos/lib/crt0_large.rel rename src/nos/lib/crt_banked_lib/{longjmp.rel => longjmp_banked.rel} (100%) rename src/nos/lib/crt_banked_lib/{setjmp.rel => setjmp_banked.rel} (100%) delete mode 100644 src/nos/lib/crt_large.lib delete mode 100644 src/nos/lib/crt_large_lib/abort.rel delete mode 100644 src/nos/lib/crt_large_lib/alloca.rel delete mode 100644 src/nos/lib/crt_large_lib/asctime.rel delete mode 100644 src/nos/lib/crt_large_lib/assert.rel delete mode 100644 src/nos/lib/crt_large_lib/atexit.rel delete mode 100644 src/nos/lib/crt_large_lib/atoi.rel delete mode 100644 src/nos/lib/crt_large_lib/atol.rel delete mode 100644 src/nos/lib/crt_large_lib/bsearch.rel delete mode 100644 src/nos/lib/crt_large_lib/calloc.rel delete mode 100644 src/nos/lib/crt_large_lib/clock.rel delete mode 100644 src/nos/lib/crt_large_lib/closedir.rel delete mode 100644 src/nos/lib/crt_large_lib/convtime.rel delete mode 100644 src/nos/lib/crt_large_lib/crypt.rel delete mode 100644 src/nos/lib/crt_large_lib/ctime.rel delete mode 100644 src/nos/lib/crt_large_lib/ctype.rel delete mode 100644 src/nos/lib/crt_large_lib/difftime.rel delete mode 100644 src/nos/lib/crt_large_lib/error.rel delete mode 100644 src/nos/lib/crt_large_lib/etime.rel delete mode 100644 src/nos/lib/crt_large_lib/execl.rel delete mode 100644 src/nos/lib/crt_large_lib/execle.rel delete mode 100644 src/nos/lib/crt_large_lib/execlp.rel delete mode 100644 src/nos/lib/crt_large_lib/execlpe.rel delete mode 100644 src/nos/lib/crt_large_lib/exect.rel delete mode 100644 src/nos/lib/crt_large_lib/execv.rel delete mode 100644 src/nos/lib/crt_large_lib/execvp.rel delete mode 100644 src/nos/lib/crt_large_lib/execvpe.rel delete mode 100644 src/nos/lib/crt_large_lib/exit.rel delete mode 100644 src/nos/lib/crt_large_lib/fclose.rel delete mode 100644 src/nos/lib/crt_large_lib/fflush.rel delete mode 100644 src/nos/lib/crt_large_lib/fgetc.rel delete mode 100644 src/nos/lib/crt_large_lib/fgetgren.rel delete mode 100644 src/nos/lib/crt_large_lib/fgetpwen.rel delete mode 100644 src/nos/lib/crt_large_lib/fgets.rel delete mode 100644 src/nos/lib/crt_large_lib/fopen.rel delete mode 100644 src/nos/lib/crt_large_lib/fprintf.rel delete mode 100644 src/nos/lib/crt_large_lib/fputc.rel delete mode 100644 src/nos/lib/crt_large_lib/fputs.rel delete mode 100644 src/nos/lib/crt_large_lib/fputter.rel delete mode 100644 src/nos/lib/crt_large_lib/fread.rel delete mode 100644 src/nos/lib/crt_large_lib/free.rel delete mode 100644 src/nos/lib/crt_large_lib/fscanf.rel delete mode 100644 src/nos/lib/crt_large_lib/ftell.rel delete mode 100644 src/nos/lib/crt_large_lib/fwrite.rel delete mode 100644 src/nos/lib/crt_large_lib/getcwd.rel delete mode 100644 src/nos/lib/crt_large_lib/getenv.rel delete mode 100644 src/nos/lib/crt_large_lib/getgrent.rel delete mode 100644 src/nos/lib/crt_large_lib/getgrgid.rel delete mode 100644 src/nos/lib/crt_large_lib/getgrnam.rel delete mode 100644 src/nos/lib/crt_large_lib/getopt.rel delete mode 100644 src/nos/lib/crt_large_lib/getpass.rel delete mode 100644 src/nos/lib/crt_large_lib/getpw.rel delete mode 100644 src/nos/lib/crt_large_lib/getpwent.rel delete mode 100644 src/nos/lib/crt_large_lib/getpwnam.rel delete mode 100644 src/nos/lib/crt_large_lib/getpwuid.rel delete mode 100644 src/nos/lib/crt_large_lib/gets.rel delete mode 100644 src/nos/lib/crt_large_lib/gmtime.rel delete mode 100644 src/nos/lib/crt_large_lib/initgrup.rel delete mode 100644 src/nos/lib/crt_large_lib/isatty.rel delete mode 100644 src/nos/lib/crt_large_lib/itoa.rel delete mode 100644 src/nos/lib/crt_large_lib/localtim.rel delete mode 100644 src/nos/lib/crt_large_lib/longjmp.rel delete mode 100644 src/nos/lib/crt_large_lib/lsearch.rel delete mode 100644 src/nos/lib/crt_large_lib/lstat.rel delete mode 100644 src/nos/lib/crt_large_lib/ltoa.rel delete mode 100644 src/nos/lib/crt_large_lib/ltostr.rel delete mode 100644 src/nos/lib/crt_large_lib/malloc.rel delete mode 100644 src/nos/lib/crt_large_lib/memccpy.rel delete mode 100644 src/nos/lib/crt_large_lib/memchr.rel delete mode 100644 src/nos/lib/crt_large_lib/memcmp.rel delete mode 100644 src/nos/lib/crt_large_lib/memcpy.rel delete mode 100644 src/nos/lib/crt_large_lib/memmove.rel delete mode 100644 src/nos/lib/crt_large_lib/memset.rel delete mode 100644 src/nos/lib/crt_large_lib/mkdir.rel delete mode 100644 src/nos/lib/crt_large_lib/mktime.rel delete mode 100644 src/nos/lib/crt_large_lib/opendir.rel delete mode 100644 src/nos/lib/crt_large_lib/perror.rel delete mode 100644 src/nos/lib/crt_large_lib/popen.rel delete mode 100644 src/nos/lib/crt_large_lib/printf.rel delete mode 100644 src/nos/lib/crt_large_lib/putenv.rel delete mode 100644 src/nos/lib/crt_large_lib/putgetch.rel delete mode 100644 src/nos/lib/crt_large_lib/putpwent.rel delete mode 100644 src/nos/lib/crt_large_lib/qsort.rel delete mode 100644 src/nos/lib/crt_large_lib/rand.rel delete mode 100644 src/nos/lib/crt_large_lib/readdir.rel delete mode 100644 src/nos/lib/crt_large_lib/readlink.rel delete mode 100644 src/nos/lib/crt_large_lib/realloc.rel delete mode 100644 src/nos/lib/crt_large_lib/regerror.rel delete mode 100644 src/nos/lib/crt_large_lib/regexp.rel delete mode 100644 src/nos/lib/crt_large_lib/regsub.rel delete mode 100644 src/nos/lib/crt_large_lib/rename.rel delete mode 100644 src/nos/lib/crt_large_lib/rewind.rel delete mode 100644 src/nos/lib/crt_large_lib/rewindir.rel delete mode 100644 src/nos/lib/crt_large_lib/rmdir.rel delete mode 100644 src/nos/lib/crt_large_lib/scanf.rel delete mode 100644 src/nos/lib/crt_large_lib/setbuff.rel delete mode 100644 src/nos/lib/crt_large_lib/setenv.rel delete mode 100644 src/nos/lib/crt_large_lib/setgrent.rel delete mode 100644 src/nos/lib/crt_large_lib/setjmp.rel delete mode 100644 src/nos/lib/crt_large_lib/setpwent.rel delete mode 100644 src/nos/lib/crt_large_lib/setvbuff.rel delete mode 100644 src/nos/lib/crt_large_lib/sleep.rel delete mode 100644 src/nos/lib/crt_large_lib/sprintf.rel delete mode 100644 src/nos/lib/crt_large_lib/sputter.rel delete mode 100644 src/nos/lib/crt_large_lib/sscanf.rel delete mode 100644 src/nos/lib/crt_large_lib/stdio0.rel delete mode 100644 src/nos/lib/crt_large_lib/strcat.rel delete mode 100644 src/nos/lib/crt_large_lib/strchr.rel delete mode 100644 src/nos/lib/crt_large_lib/strcmp.rel delete mode 100644 src/nos/lib/crt_large_lib/strcpy.rel delete mode 100644 src/nos/lib/crt_large_lib/strcspn.rel delete mode 100644 src/nos/lib/crt_large_lib/strdup.rel delete mode 100644 src/nos/lib/crt_large_lib/stricmp.rel delete mode 100644 src/nos/lib/crt_large_lib/strlen.rel delete mode 100644 src/nos/lib/crt_large_lib/strncat.rel delete mode 100644 src/nos/lib/crt_large_lib/strncmp.rel delete mode 100644 src/nos/lib/crt_large_lib/strncpy.rel delete mode 100644 src/nos/lib/crt_large_lib/strnicmp.rel delete mode 100644 src/nos/lib/crt_large_lib/strpbrk.rel delete mode 100644 src/nos/lib/crt_large_lib/strrchr.rel delete mode 100644 src/nos/lib/crt_large_lib/strsep.rel delete mode 100644 src/nos/lib/crt_large_lib/strspn.rel delete mode 100644 src/nos/lib/crt_large_lib/strstr.rel delete mode 100644 src/nos/lib/crt_large_lib/strtok.rel delete mode 100644 src/nos/lib/crt_large_lib/strtol.rel delete mode 100644 src/nos/lib/crt_large_lib/strtoul.rel delete mode 100644 src/nos/lib/crt_large_lib/system.rel delete mode 100644 src/nos/lib/crt_large_lib/termcap.rel delete mode 100644 src/nos/lib/crt_large_lib/tmpnam.rel delete mode 100644 src/nos/lib/crt_large_lib/tparam.rel delete mode 100644 src/nos/lib/crt_large_lib/ttyname.rel delete mode 100644 src/nos/lib/crt_large_lib/tzset.rel delete mode 100644 src/nos/lib/crt_large_lib/ultoa.rel delete mode 100644 src/nos/lib/crt_large_lib/ungetc.rel delete mode 100644 src/nos/lib/crt_large_lib/utsname.rel delete mode 100644 src/nos/lib/crt_large_lib/vfprintf.rel delete mode 100644 src/nos/lib/crt_large_lib/vfscanf.rel delete mode 100644 src/nos/lib/crt_large_lib/vprinter.rel delete mode 100644 src/nos/lib/crt_large_lib/vprintf.rel delete mode 100644 src/nos/lib/crt_large_lib/vscanf.rel delete mode 100644 src/nos/lib/crt_large_lib/vsprintf.rel delete mode 100644 src/nos/lib/crt_large_lib/vsscanf.rel delete mode 100644 src/nos/lib/crt_large_lib/xitoa.rel delete mode 100644 src/nos/lib/crt_large_lib/xltoa.rel create mode 100644 src/nos/lib/filesys_lib/allocatepid.rel delete mode 100644 src/nos/lib/filesys_lib/bufinit.rel create mode 100644 src/nos/lib/filesys_lib/bufpool_garbage.rel create mode 100644 src/nos/lib/filesys_lib/delptab.rel create mode 100644 src/nos/lib/filesys_lib/forkprocess.rel delete mode 100644 src/nos/lib/filesys_lib/i_init.rel create mode 100644 src/nos/lib/filesys_lib/inotab_garbage.rel create mode 100644 src/nos/lib/filesys_lib/mainptab.rel create mode 100644 src/nos/lib/filesys_lib/newptab.rel create mode 100644 src/nos/lib/filesys_lib/oftab_garbage.rel delete mode 100644 src/nos/lib/filesys_lib/p_init.rel create mode 100644 src/nos/lib/filesys_lib/ptab_garbage.rel delete mode 100644 src/nos/lib/filesys_lib/udata.rel delete mode 100644 src/nos/lib/internet_lib/tcpcmd.rel create mode 100644 src/nos/lib/intl_lib/_stricmp.rel create mode 100644 src/nos/lib/messages_lib/0000_ffff_.rel create mode 100644 src/nos/lib/messages_lib/0001_508a__08_20_08.rel create mode 100644 src/nos/lib/messages_lib/0002_17d6__09_09_20MRU_09_20A.rel create mode 100644 src/nos/lib/messages_lib/0003_002f__09_09_256u_20Lcp_2.rel create mode 100644 src/nos/lib/messages_lib/0004_14b3__09_09_256u_20Lcp_2.rel create mode 100644 src/nos/lib/messages_lib/0005_7313__09_09pid_20_25d_2c.rel create mode 100644 src/nos/lib/messages_lib/0006_bdbf__09_2510ld_20Cmp_2c.rel create mode 100644 src/nos/lib/messages_lib/0007_d27a__09_2510ld_20Cmp_2c.rel create mode 100644 src/nos/lib/messages_lib/0008_c900__09_2510ld_20Search.rel create mode 100644 src/nos/lib/messages_lib/0009_2913__09_25ld.rel create mode 100644 src/nos/lib/messages_lib/000a_1c3a__09_25p_09_25u_09_2.rel create mode 100644 src/nos/lib/messages_lib/000b_b9ba__09_25s.rel create mode 100644 src/nos/lib/messages_lib/000c_21cf__09_25s_09_25s_09_2.rel create mode 100644 src/nos/lib/messages_lib/000d_1d7d__09_25s_09_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/000e_b532__09_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/000f_26e5__09_25u_09_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/0010_7e01__09_28open_20for_20.rel create mode 100644 src/nos/lib/messages_lib/0011_d62d__09_3c_25u_3e.rel create mode 100644 src/nos/lib/messages_lib/0012_9f29__09IN.rel create mode 100644 src/nos/lib/messages_lib/0013_53f6__09Local_3a_09.rel create mode 100644 src/nos/lib/messages_lib/0014_b8da__09Message_3a_20_27.rel create mode 100644 src/nos/lib/messages_lib/0015_a684__09Remote_3a_09.rel create mode 100644 src/nos/lib/messages_lib/0016_e0e0__09Urgent_20pointer.rel create mode 100644 src/nos/lib/messages_lib/0017_c0f0__09changes_3a_200x_.rel create mode 100644 src/nos/lib/messages_lib/0018_6a8d__09connection_200x_.rel create mode 100644 src/nos/lib/messages_lib/0019_a28a__09connection_20ID_.rel create mode 100644 src/nos/lib/messages_lib/001a_cf72__09delta_20ACK_20an.rel create mode 100644 src/nos/lib/messages_lib/001b_8077__09delta_20ACK_3a_2.rel create mode 100644 src/nos/lib/messages_lib/001c_4a2b__09delta_20ID_3a_20.rel create mode 100644 src/nos/lib/messages_lib/001d_7710__09delta_20SEQ_20im.rel create mode 100644 src/nos/lib/messages_lib/001e_a966__09delta_20SEQ_3a_2.rel create mode 100644 src/nos/lib/messages_lib/001f_f05a__09delta_20WINDOW_3.rel create mode 100644 src/nos/lib/messages_lib/0020_ad18__09increment_20ID_0.rel create mode 100644 src/nos/lib/messages_lib/0021_13bc__09local_20IP_20add.rel create mode 100644 src/nos/lib/messages_lib/0022_efeb__09pid_20_25d_2c_20.rel create mode 100644 src/nos/lib/messages_lib/0023_a0dd__0a.rel create mode 100644 src/nos/lib/messages_lib/0024_f279__0a_20_20_20_20.rel create mode 100644 src/nos/lib/messages_lib/0025_f170__0a_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/0026_da94__0a_25s_20_2d_20_25.rel create mode 100644 src/nos/lib/messages_lib/0027_e088__0a_25s_20_2d_20_25.rel create mode 100644 src/nos/lib/messages_lib/0028_c061__0a_2a_2a_2a_20Loca.rel create mode 100644 src/nos/lib/messages_lib/0029_932c__0a_2a_2a_2a_20Unab.rel create mode 100644 src/nos/lib/messages_lib/002a_2592__0a_2a_2a_2a_2a_2a_.rel create mode 100644 src/nos/lib/messages_lib/002b_0887__0aCurrent_20remote.rel create mode 100644 src/nos/lib/messages_lib/002c_ebd8__0aReclaimation_20a.rel create mode 100644 src/nos/lib/messages_lib/002d_c546__0aUsed_20address_2.rel delete mode 100644 src/nos/lib/messages_lib/002e_2e85__20.rel create mode 100644 src/nos/lib/messages_lib/002e_e8fc__0apanic_3a_20.rel create mode 100644 src/nos/lib/messages_lib/002f_2e85__20.rel delete mode 100644 src/nos/lib/messages_lib/002f_4403__20_0aend_0asize_20.rel create mode 100644 src/nos/lib/messages_lib/0030_4403__20_0aend_0asize_20.rel delete mode 100644 src/nos/lib/messages_lib/0030_f289__20_20.rel delete mode 100644 src/nos/lib/messages_lib/0031_3839__20_20_20.rel create mode 100644 src/nos/lib/messages_lib/0031_f289__20_20.rel create mode 100644 src/nos/lib/messages_lib/0032_3839__20_20_20.rel delete mode 100644 src/nos/lib/messages_lib/0032_8d78__20_20_20_20.rel create mode 100644 src/nos/lib/messages_lib/0033_8d78__20_20_20_20.rel delete mode 100644 src/nos/lib/messages_lib/0033_de40__20_20_20_20_20.rel delete mode 100644 src/nos/lib/messages_lib/0034_3e02__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/0034_de40__20_20_20_20_20.rel delete mode 100644 src/nos/lib/messages_lib/0035_0534__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/0035_3e02__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/0036_0534__20_20_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/0036_3fef__20_20_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/0037_3164__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/0037_3fef__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/0038_3164__20_20_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/0038_c6d7__20_20_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/0039_9d57__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/0039_c6d7__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/003a_9d57__20_20_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/003a_d46e__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/003b_d46e__20_20_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/003b_f37c__20_20_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/003c_5dd1__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/003c_f37c__20_20_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/003d_0406__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/003d_5dd1__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/003e_0406__20_20_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/003e_da67__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/003f_da67__20_20_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/003f_f638__20_20_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/0040_74c7__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/0040_f638__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/0041_74c7__20_20_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/0041_f10d__20_20_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/0042_d02b__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/0042_f10d__20_20_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/0043_0105__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/0043_d02b__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/0044_0105__20_20_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/0044_c46d__20_20_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/0045_3a28__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/0045_c46d__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/0046_3a28__20_20_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/0046_48df__20_20_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/0047_48df__20_20_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/0047_da1e__20_20_20_20_20_20s.rel delete mode 100644 src/nos/lib/messages_lib/0048_3800__20_20_20_20_20_26A.rel create mode 100644 src/nos/lib/messages_lib/0048_da1e__20_20_20_20_20_20s.rel delete mode 100644 src/nos/lib/messages_lib/0049_0e60__20_20_20_20_20_28_.rel create mode 100644 src/nos/lib/messages_lib/0049_3800__20_20_20_20_20_26A.rel create mode 100644 src/nos/lib/messages_lib/004a_0e60__20_20_20_20_20_28_.rel delete mode 100644 src/nos/lib/messages_lib/004a_d7d4__20_20_20_20_20Broa.rel create mode 100644 src/nos/lib/messages_lib/004b_d7d4__20_20_20_20_20Broa.rel delete mode 100644 src/nos/lib/messages_lib/004b_f5a8__20_20_20_20_20Defa.rel delete mode 100644 src/nos/lib/messages_lib/004c_de7b__20_20_20_20_20Host.rel create mode 100644 src/nos/lib/messages_lib/004c_f5a8__20_20_20_20_20Defa.rel delete mode 100644 src/nos/lib/messages_lib/004d_a271__20_20_20_20_20INF.rel create mode 100644 src/nos/lib/messages_lib/004d_de7b__20_20_20_20_20Host.rel delete mode 100644 src/nos/lib/messages_lib/004e_1775__20_20_20_20_20IP_2.rel create mode 100644 src/nos/lib/messages_lib/004e_a271__20_20_20_20_20INF.rel create mode 100644 src/nos/lib/messages_lib/004f_1775__20_20_20_20_20IP_2.rel delete mode 100644 src/nos/lib/messages_lib/004f_7765__20_20_20_20_20Name.rel delete mode 100644 src/nos/lib/messages_lib/0050_6879__20_20_20_20_20Subn.rel create mode 100644 src/nos/lib/messages_lib/0050_7765__20_20_20_20_20Name.rel create mode 100644 src/nos/lib/messages_lib/0051_6879__20_20_20_20_20Subn.rel delete mode 100644 src/nos/lib/messages_lib/0051_dac6__20_20_20_20_25_2d4.rel delete mode 100644 src/nos/lib/messages_lib/0052_b576__20_20_20_20_2512s.rel create mode 100644 src/nos/lib/messages_lib/0052_dac6__20_20_20_20_25_2d4.rel create mode 100644 src/nos/lib/messages_lib/0053_b576__20_20_20_20_2512s.rel delete mode 100644 src/nos/lib/messages_lib/0053_e5e6__20_20_20_20_253u_0.rel create mode 100644 src/nos/lib/messages_lib/0054_e5e6__20_20_20_20_253u_0.rel delete mode 100644 src/nos/lib/messages_lib/0054_ed50__20_20_20_20_25s_20.rel delete mode 100644 src/nos/lib/messages_lib/0055_3528__20_20_20_20_25s_20.rel create mode 100644 src/nos/lib/messages_lib/0055_ed50__20_20_20_20_25s_20.rel create mode 100644 src/nos/lib/messages_lib/0056_3528__20_20_20_20_25s_20.rel delete mode 100644 src/nos/lib/messages_lib/0056_cbdf__20_20_20_20_25s_20.rel create mode 100644 src/nos/lib/messages_lib/0057_cbdf__20_20_20_20_25s_20.rel delete mode 100644 src/nos/lib/messages_lib/0057_f7f3__20_20_20_20_26UCB_.rel delete mode 100644 src/nos/lib/messages_lib/0058_9bd9__20_20_20_20In_09TC.rel create mode 100644 src/nos/lib/messages_lib/0058_f7f3__20_20_20_20_26UCB_.rel delete mode 100644 src/nos/lib/messages_lib/0059_7788__20_20_20_20Out_09T.rel create mode 100644 src/nos/lib/messages_lib/0059_9bd9__20_20_20_20In_09TC.rel create mode 100644 src/nos/lib/messages_lib/005a_7788__20_20_20_20Out_09T.rel delete mode 100644 src/nos/lib/messages_lib/005a_8f4d__20_20_20_20Record_.rel create mode 100644 src/nos/lib/messages_lib/005b_8f4d__20_20_20_20Record_.rel delete mode 100644 src/nos/lib/messages_lib/005b_eacd__20_20_20_20Upload_.rel delete mode 100644 src/nos/lib/messages_lib/005c_2da2__20_20_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/005c_9578__20_20_20_20Set_20n.rel delete mode 100644 src/nos/lib/messages_lib/005d_ad66__20_20_20PUSH.rel create mode 100644 src/nos/lib/messages_lib/005d_eacd__20_20_20_20Upload_.rel create mode 100644 src/nos/lib/messages_lib/005e_94e3__20_20_20_20checkin.rel delete mode 100644 src/nos/lib/messages_lib/005e_9f3a__20_20_20TCP_20chec.rel create mode 100644 src/nos/lib/messages_lib/005f_14a8__20_20_20_20checkin.rel delete mode 100644 src/nos/lib/messages_lib/005f_5946__20_20_20connection.rel create mode 100644 src/nos/lib/messages_lib/0060_9d66__20_20_20_20checkin.rel delete mode 100644 src/nos/lib/messages_lib/0060_f01f__20_20_3d_3d_3d_3d_.rel create mode 100644 src/nos/lib/messages_lib/0061_49a9__20_20_20_20checkin.rel delete mode 100644 src/nos/lib/messages_lib/0061_cfff__20_20_3d_3d_3d_3d_.rel create mode 100644 src/nos/lib/messages_lib/0062_19af__20_20_20_20checkin.rel delete mode 100644 src/nos/lib/messages_lib/0062_8181__20_20SR_20_5bnumbe.rel delete mode 100644 src/nos/lib/messages_lib/0063_1149__20_20S_5bF_5d_20na.rel create mode 100644 src/nos/lib/messages_lib/0063_edc5__20_20_20_20checkin.rel delete mode 100644 src/nos/lib/messages_lib/0064_47af__20_20remote_20IP_2.rel create mode 100644 src/nos/lib/messages_lib/0064_4df8__20_20_20_20checkin.rel create mode 100644 src/nos/lib/messages_lib/0065_0ca6__20_20_20_20checkin.rel delete mode 100644 src/nos/lib/messages_lib/0065_ccb1__20_20seq_20x_25lx_.rel create mode 100644 src/nos/lib/messages_lib/0066_a6cb__20_20_20_20checkin.rel delete mode 100644 src/nos/lib/messages_lib/0066_c997__20_21_3f.rel delete mode 100644 src/nos/lib/messages_lib/0067_536e__20_21A.rel create mode 100644 src/nos/lib/messages_lib/0067_c499__20_20_20_20checkin.rel create mode 100644 src/nos/lib/messages_lib/0068_232a__20_20_20_20checkin.rel delete mode 100644 src/nos/lib/messages_lib/0068_27d1__20_21F.rel create mode 100644 src/nos/lib/messages_lib/0069_4125__20_20_20_20making_.rel delete mode 100644 src/nos/lib/messages_lib/0069_ceaf__20_21H.rel create mode 100644 src/nos/lib/messages_lib/006a_5c3a__20_20_20_20making_.rel delete mode 100644 src/nos/lib/messages_lib/006a_ab99__20_21N.rel create mode 100644 src/nos/lib/messages_lib/006b_2ab5__20_20_20_20making_.rel delete mode 100644 src/nos/lib/messages_lib/006b_5266__20_21P.rel delete mode 100644 src/nos/lib/messages_lib/006c_60fd__20_21S.rel create mode 100644 src/nos/lib/messages_lib/006c_fe7a__20_20_20_20making_.rel delete mode 100644 src/nos/lib/messages_lib/006d_bac3__20_23_20_20S_23_20.rel create mode 100644 src/nos/lib/messages_lib/006d_c25d__20_20_20_20making_.rel create mode 100644 src/nos/lib/messages_lib/006e_5a16__20_20_20_20making_.rel delete mode 100644 src/nos/lib/messages_lib/006e_9a7d__20_25_2d15s.rel create mode 100644 src/nos/lib/messages_lib/006f_6c96__20_20_20_20making_.rel delete mode 100644 src/nos/lib/messages_lib/006f_85f4__20_25_2d3d_20.rel delete mode 100644 src/nos/lib/messages_lib/0070_a413__20_2502u_2f_2502u.rel create mode 100644 src/nos/lib/messages_lib/0070_bb75__20_20_20_20making_.rel delete mode 100644 src/nos/lib/messages_lib/0071_d8f4__20_2502u_2f_2502u_.rel create mode 100644 src/nos/lib/messages_lib/0071_ee59__20_20_20_20making_.rel delete mode 100644 src/nos/lib/messages_lib/0072_4d6e__20_2502x.rel create mode 100644 src/nos/lib/messages_lib/0072_fa1f__20_20_20_20making_.rel create mode 100644 src/nos/lib/messages_lib/0073_6383__20_20_20_20making_.rel delete mode 100644 src/nos/lib/messages_lib/0073_cad1__20_2510lu_2510lu_2.rel delete mode 100644 src/nos/lib/messages_lib/0074_43b6__20_254d_20_254d.rel create mode 100644 src/nos/lib/messages_lib/0074_6fd3__20_20_20_20with_20.rel create mode 100644 src/nos/lib/messages_lib/0075_2da2__20_20_20_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/0075_78a4__20_258s_20_20_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0076_6904__20_25lu_20bps_0a.rel create mode 100644 src/nos/lib/messages_lib/0076_ad66__20_20_20PUSH.rel delete mode 100644 src/nos/lib/messages_lib/0077_269f__20_25s.rel create mode 100644 src/nos/lib/messages_lib/0077_9f3a__20_20_20TCP_20chec.rel create mode 100644 src/nos/lib/messages_lib/0078_5946__20_20_20connection.rel delete mode 100644 src/nos/lib/messages_lib/0078_c302__20_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/0079_10eb__20_25s_20_25s_20_2.rel create mode 100644 src/nos/lib/messages_lib/0079_f01f__20_20_3d_3d_3d_3d_.rel delete mode 100644 src/nos/lib/messages_lib/007a_c236__20_25s_25s.rel create mode 100644 src/nos/lib/messages_lib/007a_cfff__20_20_3d_3d_3d_3d_.rel delete mode 100644 src/nos/lib/messages_lib/007b_3c84__20_25s_2b_25x.rel create mode 100644 src/nos/lib/messages_lib/007b_8181__20_20SR_20_5bnumbe.rel create mode 100644 src/nos/lib/messages_lib/007c_1149__20_20S_5bF_5d_20na.rel delete mode 100644 src/nos/lib/messages_lib/007c_97d2__20_25u_0a.rel create mode 100644 src/nos/lib/messages_lib/007d_47af__20_20remote_20IP_2.rel delete mode 100644 src/nos/lib/messages_lib/007d_5984__20_25u_2d_3e_25u.rel delete mode 100644 src/nos/lib/messages_lib/007e_98a5__20_28_25ld_20ms_29.rel create mode 100644 src/nos/lib/messages_lib/007e_ccb1__20_20seq_20x_25lx_.rel delete mode 100644 src/nos/lib/messages_lib/007f_9556__20_28_25s_20seek_3.rel create mode 100644 src/nos/lib/messages_lib/007f_c997__20_21_3f.rel create mode 100644 src/nos/lib/messages_lib/0080_536e__20_21A.rel delete mode 100644 src/nos/lib/messages_lib/0080_6268__20_28_25s_29_0a.rel create mode 100644 src/nos/lib/messages_lib/0081_27d1__20_21F.rel delete mode 100644 src/nos/lib/messages_lib/0081_3f71__20_28ASCII_20dump_.rel delete mode 100644 src/nos/lib/messages_lib/0082_05b3__20_28Hex_2fASCII_2.rel create mode 100644 src/nos/lib/messages_lib/0082_ceaf__20_21H.rel delete mode 100644 src/nos/lib/messages_lib/0083_0cd7__20_28S_29.rel create mode 100644 src/nos/lib/messages_lib/0083_ab99__20_21N.rel create mode 100644 src/nos/lib/messages_lib/0084_5266__20_21P.rel delete mode 100644 src/nos/lib/messages_lib/0084_ef5f__20_28headers_20onl.rel create mode 100644 src/nos/lib/messages_lib/0085_60fd__20_21S.rel delete mode 100644 src/nos/lib/messages_lib/0085_c04d__20_28published_29.rel delete mode 100644 src/nos/lib/messages_lib/0086_ac28__20_2a_2a_2a.rel create mode 100644 src/nos/lib/messages_lib/0086_bac3__20_23_20_20S_23_20.rel delete mode 100644 src/nos/lib/messages_lib/0087_8841__20_2d_20.rel create mode 100644 src/nos/lib/messages_lib/0087_9a7d__20_25_2d15s.rel create mode 100644 src/nos/lib/messages_lib/0088_85f4__20_25_2d3d_20.rel delete mode 100644 src/nos/lib/messages_lib/0088_ace7__20_2d_20no_20broad.rel delete mode 100644 src/nos/lib/messages_lib/0089_01a0__20APND.rel create mode 100644 src/nos/lib/messages_lib/0089_a413__20_2502u_2f_2502u.rel delete mode 100644 src/nos/lib/messages_lib/008a_2da0__20Ack_20x_25lx.rel create mode 100644 src/nos/lib/messages_lib/008a_d8f4__20_2502u_2f_2502u_.rel create mode 100644 src/nos/lib/messages_lib/008b_4d6e__20_2502x.rel delete mode 100644 src/nos/lib/messages_lib/008b_f35d__20BUSY.rel delete mode 100644 src/nos/lib/messages_lib/008c_43af__20CE.rel create mode 100644 src/nos/lib/messages_lib/008c_cad1__20_2510lu_2510lu_2.rel create mode 100644 src/nos/lib/messages_lib/008d_43b6__20_254d_20_254d.rel delete mode 100644 src/nos/lib/messages_lib/008d_d667__20CHECKSUM_20ERROR.rel delete mode 100644 src/nos/lib/messages_lib/008e_5947__20CHOKE.rel create mode 100644 src/nos/lib/messages_lib/008e_78a4__20_258s_20_20_20_2.rel delete mode 100644 src/nos/lib/messages_lib/008f_3c3c__20DF.rel create mode 100644 src/nos/lib/messages_lib/008f_6904__20_25lu_20bps_0a.rel create mode 100644 src/nos/lib/messages_lib/0090_269f__20_25s.rel delete mode 100644 src/nos/lib/messages_lib/0090_26b0__20Data_20_25u.rel delete mode 100644 src/nos/lib/messages_lib/0091_5125__20EOF.rel create mode 100644 src/nos/lib/messages_lib/0091_c302__20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/0092_10eb__20_25s_20_25s_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0092_2269__20ERR.rel delete mode 100644 src/nos/lib/messages_lib/0093_869e__20IPaddr_20_25s.rel create mode 100644 src/nos/lib/messages_lib/0093_c236__20_25s_25s.rel create mode 100644 src/nos/lib/messages_lib/0094_3c84__20_25s_2b_25x.rel delete mode 100644 src/nos/lib/messages_lib/0094_d267__20Illegal_20I_2dfi.rel create mode 100644 src/nos/lib/messages_lib/0095_97d2__20_25u_0a.rel delete mode 100644 src/nos/lib/messages_lib/0095_d316__20Invalid_20contro.rel delete mode 100644 src/nos/lib/messages_lib/0096_1e4f__20Invalid_20seq_20.rel create mode 100644 src/nos/lib/messages_lib/0096_5984__20_25u_2d_3e_25u.rel create mode 100644 src/nos/lib/messages_lib/0097_98a5__20_28_25ld_20ms_29.rel delete mode 100644 src/nos/lib/messages_lib/0097_fd02__20MC_3a_20int_20_2.rel create mode 100644 src/nos/lib/messages_lib/0098_9556__20_28_25s_20seek_3.rel delete mode 100644 src/nos/lib/messages_lib/0098_eb24__20MF.rel create mode 100644 src/nos/lib/messages_lib/0099_6268__20_28_25s_29_0a.rel delete mode 100644 src/nos/lib/messages_lib/0099_747e__20MORE.rel create mode 100644 src/nos/lib/messages_lib/009a_3f71__20_28ASCII_20dump_.rel delete mode 100644 src/nos/lib/messages_lib/009a_c5ed__20MSS_20_25u.rel create mode 100644 src/nos/lib/messages_lib/009b_05b3__20_28Hex_2fASCII_2.rel delete mode 100644 src/nos/lib/messages_lib/009b_3976__20NAK.rel create mode 100644 src/nos/lib/messages_lib/009c_0cd7__20_28S_29.rel delete mode 100644 src/nos/lib/messages_lib/009c_c092__20NR_3d_25d.rel delete mode 100644 src/nos/lib/messages_lib/009d_dc29__20NS_3d_25d.rel create mode 100644 src/nos/lib/messages_lib/009d_ef5f__20_28headers_20onl.rel create mode 100644 src/nos/lib/messages_lib/009e_c04d__20_28published_29.rel delete mode 100644 src/nos/lib/messages_lib/009e_df24__20RX_3a_20int_20_2.rel delete mode 100644 src/nos/lib/messages_lib/009f_78a4__20Raw_20output.rel create mode 100644 src/nos/lib/messages_lib/009f_ac28__20_2a_2a_2a.rel create mode 100644 src/nos/lib/messages_lib/00a0_8841__20_2d_20.rel delete mode 100644 src/nos/lib/messages_lib/00a0_a393__20Remote_3a_20_25s.rel create mode 100644 src/nos/lib/messages_lib/00a1_ace7__20_2d_20no_20broad.rel delete mode 100644 src/nos/lib/messages_lib/00a1_d7c2__20Retry.rel create mode 100644 src/nos/lib/messages_lib/00a2_01a0__20APND.rel delete mode 100644 src/nos/lib/messages_lib/00a2_42ba__20ST_3a_20int_20_2.rel create mode 100644 src/nos/lib/messages_lib/00a3_2da0__20Ack_20x_25lx.rel delete mode 100644 src/nos/lib/messages_lib/00a3_d322__20State_3a_20_25s_.rel delete mode 100644 src/nos/lib/messages_lib/00a4_c86b__20TMP.rel create mode 100644 src/nos/lib/messages_lib/00a4_f35d__20BUSY.rel delete mode 100644 src/nos/lib/messages_lib/00a5_2dcc__20TSTAMP_20_25lu_2.rel create mode 100644 src/nos/lib/messages_lib/00a5_43af__20CE.rel create mode 100644 src/nos/lib/messages_lib/00a6_d667__20CHECKSUM_20ERROR.rel delete mode 100644 src/nos/lib/messages_lib/00a6_e8c1__20TX_3a_20int_20_2.rel create mode 100644 src/nos/lib/messages_lib/00a7_5947__20CHOKE.rel delete mode 100644 src/nos/lib/messages_lib/00a7_d70d__20Too_2dlong_20I_2.rel create mode 100644 src/nos/lib/messages_lib/00a8_3c3c__20DF.rel delete mode 100644 src/nos/lib/messages_lib/00a8_5a85__20UP_20x_25x.rel delete mode 100644 src/nos/lib/messages_lib/00a9_2210__20Unack_3a_20_25_2.rel create mode 100644 src/nos/lib/messages_lib/00a9_26b0__20Data_20_25u.rel delete mode 100644 src/nos/lib/messages_lib/00aa_3a68__20Unknown_20passwo.rel create mode 100644 src/nos/lib/messages_lib/00aa_5125__20EOF.rel create mode 100644 src/nos/lib/messages_lib/00ab_2269__20ERR.rel delete mode 100644 src/nos/lib/messages_lib/00ab_23f3__20Vr_20_3d_20_25d_.rel create mode 100644 src/nos/lib/messages_lib/00ac_869e__20IPaddr_20_25s.rel delete mode 100644 src/nos/lib/messages_lib/00ac_a984__20WSCALE_20_25u.rel delete mode 100644 src/nos/lib/messages_lib/00ad_1d25__20Wnd_20_25u.rel create mode 100644 src/nos/lib/messages_lib/00ad_d267__20Illegal_20I_2dfi.rel create mode 100644 src/nos/lib/messages_lib/00ae_d316__20Invalid_20contro.rel delete mode 100644 src/nos/lib/messages_lib/00ae_e77d__20_5b_25s_5d_20_25.rel create mode 100644 src/nos/lib/messages_lib/00af_1e4f__20Invalid_20seq_20.rel delete mode 100644 src/nos/lib/messages_lib/00af_7762__20_5bcts_20flow_20.rel delete mode 100644 src/nos/lib/messages_lib/00b0_2f4d__20_5brlsd_20line_2.rel create mode 100644 src/nos/lib/messages_lib/00b0_fd02__20MC_3a_20int_20_2.rel delete mode 100644 src/nos/lib/messages_lib/00b1_db59__20_5btrigger_200x_.rel create mode 100644 src/nos/lib/messages_lib/00b1_eb24__20MF.rel create mode 100644 src/nos/lib/messages_lib/00b2_747e__20MORE.rel delete mode 100644 src/nos/lib/messages_lib/00b2_bc24__20asy_20.rel create mode 100644 src/nos/lib/messages_lib/00b3_c5ed__20MSS_20_25u.rel delete mode 100644 src/nos/lib/messages_lib/00b3_c96a__20bad_20header_21_.rel delete mode 100644 src/nos/lib/messages_lib/00b4_0acc__20bad_20packet_0a.rel create mode 100644 src/nos/lib/messages_lib/00b4_3976__20NAK.rel create mode 100644 src/nos/lib/messages_lib/00b5_c092__20NR_3d_25d.rel delete mode 100644 src/nos/lib/messages_lib/00b5_d795__20cmd_20_25u.rel delete mode 100644 src/nos/lib/messages_lib/00b6_1813__20code_20_25s.rel create mode 100644 src/nos/lib/messages_lib/00b6_dc29__20NS_3d_25d.rel delete mode 100644 src/nos/lib/messages_lib/00b7_ad83__20dest_20_25s.rel create mode 100644 src/nos/lib/messages_lib/00b7_df24__20RX_3a_20int_20_2.rel create mode 100644 src/nos/lib/messages_lib/00b8_78a4__20Raw_20output.rel delete mode 100644 src/nos/lib/messages_lib/00b8_e3a3__20dest_20_25s_20_2.rel delete mode 100644 src/nos/lib/messages_lib/00b9_4976__20diag.rel create mode 100644 src/nos/lib/messages_lib/00b9_a393__20Remote_3a_20_25s.rel create mode 100644 src/nos/lib/messages_lib/00ba_d7c2__20Retry.rel delete mode 100644 src/nos/lib/messages_lib/00ba_e36a__20file.rel create mode 100644 src/nos/lib/messages_lib/00bb_42ba__20ST_3a_20int_20_2.rel delete mode 100644 src/nos/lib/messages_lib/00bb_5e9d__20full.rel delete mode 100644 src/nos/lib/messages_lib/00bc_4c62__20hwaddr_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/00bc_d322__20State_3a_20_25s_.rel create mode 100644 src/nos/lib/messages_lib/00bd_c86b__20TMP.rel delete mode 100644 src/nos/lib/messages_lib/00bd_ed56__20hwlen_20_25u.rel delete mode 100644 src/nos/lib/messages_lib/00be_2971__20hwtype_20_25s.rel create mode 100644 src/nos/lib/messages_lib/00be_2dcc__20TSTAMP_20_25lu_2.rel delete mode 100644 src/nos/lib/messages_lib/00bf_3119__20id_20_25u_20offs.rel create mode 100644 src/nos/lib/messages_lib/00bf_e8c1__20TX_3a_20int_20_2.rel delete mode 100644 src/nos/lib/messages_lib/00c0_8f2f__20id_20_25u_20pctl.rel create mode 100644 src/nos/lib/messages_lib/00c0_d70d__20Too_2dlong_20I_2.rel delete mode 100644 src/nos/lib/messages_lib/00c1_20f7__20id_20_25u_20seq_.rel create mode 100644 src/nos/lib/messages_lib/00c1_5a85__20UP_20x_25x.rel create mode 100644 src/nos/lib/messages_lib/00c2_2210__20Unack_3a_20_25_2.rel delete mode 100644 src/nos/lib/messages_lib/00c2_8c07__20idle_20timer_20_.rel create mode 100644 src/nos/lib/messages_lib/00c3_3a68__20Unknown_20passwo.rel delete mode 100644 src/nos/lib/messages_lib/00c3_7166__20input.rel create mode 100644 src/nos/lib/messages_lib/00c4_23f3__20Vr_20_3d_20_25d_.rel delete mode 100644 src/nos/lib/messages_lib/00c4_6c92__20len_20_25u.rel delete mode 100644 src/nos/lib/messages_lib/00c5_0c74__20line.rel create mode 100644 src/nos/lib/messages_lib/00c5_a984__20WSCALE_20_25u.rel create mode 100644 src/nos/lib/messages_lib/00c6_1d25__20Wnd_20_25u.rel delete mode 100644 src/nos/lib/messages_lib/00c6_2537__20new_20gateway_20.rel create mode 100644 src/nos/lib/messages_lib/00c7_e77d__20_5b_25s_5d_20_25.rel delete mode 100644 src/nos/lib/messages_lib/00c7_ea43__20new_20gateway_20.rel create mode 100644 src/nos/lib/messages_lib/00c8_7762__20_5bcts_20flow_20.rel delete mode 100644 src/nos/lib/messages_lib/00c8_e3db__20none.rel create mode 100644 src/nos/lib/messages_lib/00c9_2f4d__20_5brlsd_20line_2.rel delete mode 100644 src/nos/lib/messages_lib/00c9_826b__20offset_20_25u_20.rel delete mode 100644 src/nos/lib/messages_lib/00ca_6680__20op_20_25u.rel create mode 100644 src/nos/lib/messages_lib/00ca_db59__20_5btrigger_200x_.rel create mode 100644 src/nos/lib/messages_lib/00cb_bc24__20asy_20.rel delete mode 100644 src/nos/lib/messages_lib/00cb_f7d5__20op_20REPLY.rel delete mode 100644 src/nos/lib/messages_lib/00cc_5e3d__20op_20REQUEST.rel create mode 100644 src/nos/lib/messages_lib/00cc_c96a__20bad_20header_21_.rel create mode 100644 src/nos/lib/messages_lib/00cd_0acc__20bad_20packet_0a.rel delete mode 100644 src/nos/lib/messages_lib/00cd_9500__20op_20REVERSE_20R.rel delete mode 100644 src/nos/lib/messages_lib/00ce_3faa__20op_20REVERSE_20R.rel create mode 100644 src/nos/lib/messages_lib/00ce_d795__20cmd_20_25u.rel create mode 100644 src/nos/lib/messages_lib/00cf_1813__20code_20_25s.rel delete mode 100644 src/nos/lib/messages_lib/00cf_8a3d__20output.rel delete mode 100644 src/nos/lib/messages_lib/00d0_5896__20pid_3d0x_25x_0a.rel create mode 100644 src/nos/lib/messages_lib/00d0_ad83__20dest_20_25s.rel delete mode 100644 src/nos/lib/messages_lib/00d1_aba6__20pid_3dARP_0a.rel create mode 100644 src/nos/lib/messages_lib/00d1_e3a3__20dest_20_25s_20_2.rel create mode 100644 src/nos/lib/messages_lib/00d2_4976__20diag.rel delete mode 100644 src/nos/lib/messages_lib/00d2_d4e9__20pid_3dIP_0a.rel delete mode 100644 src/nos/lib/messages_lib/00d3_a349__20pid_3dNET_2fROM_.rel create mode 100644 src/nos/lib/messages_lib/00d3_e36a__20file.rel create mode 100644 src/nos/lib/messages_lib/00d4_5e9d__20full.rel delete mode 100644 src/nos/lib/messages_lib/00d4_932f__20pid_3dTEXNET_0a.rel delete mode 100644 src/nos/lib/messages_lib/00d5_4927__20pid_3dText_0a.rel create mode 100644 src/nos/lib/messages_lib/00d5_4c62__20hwaddr_20_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/00d6_c207__20pid_3dX_2e25_0a.rel create mode 100644 src/nos/lib/messages_lib/00d6_ed56__20hwlen_20_25u.rel create mode 100644 src/nos/lib/messages_lib/00d7_2971__20hwtype_20_25s.rel delete mode 100644 src/nos/lib/messages_lib/00d7_5760__20pipe.rel create mode 100644 src/nos/lib/messages_lib/00d8_3119__20id_20_25u_20offs.rel delete mode 100644 src/nos/lib/messages_lib/00d8_ac0a__20pointer_20_25u.rel delete mode 100644 src/nos/lib/messages_lib/00d9_5557__20prot_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/00d9_8f2f__20id_20_25u_20pctl.rel delete mode 100644 src/nos/lib/messages_lib/00da_0187__20prot_20_25u_0a.rel create mode 100644 src/nos/lib/messages_lib/00da_20f7__20id_20_25u_20seq_.rel delete mode 100644 src/nos/lib/messages_lib/00db_75a2__20prot_200x_25x_20.rel create mode 100644 src/nos/lib/messages_lib/00db_8c07__20idle_20timer_20_.rel delete mode 100644 src/nos/lib/messages_lib/00dc_3541__20prot_20IP.rel create mode 100644 src/nos/lib/messages_lib/00dc_7166__20input.rel delete mode 100644 src/nos/lib/messages_lib/00dd_1888__20receive_20_20_2d.rel create mode 100644 src/nos/lib/messages_lib/00dd_6c92__20len_20_25u.rel create mode 100644 src/nos/lib/messages_lib/00de_0c74__20line.rel delete mode 100644 src/nos/lib/messages_lib/00de_f2f3__20sock.rel create mode 100644 src/nos/lib/messages_lib/00df_2537__20new_20gateway_20.rel delete mode 100644 src/nos/lib/messages_lib/00df_c067__20spi_20_25lx.rel delete mode 100644 src/nos/lib/messages_lib/00e0_2902__20sw_20over_20_25l.rel create mode 100644 src/nos/lib/messages_lib/00e0_ea43__20new_20gateway_20.rel delete mode 100644 src/nos/lib/messages_lib/00e1_0bfc__20tos_20_25u.rel create mode 100644 src/nos/lib/messages_lib/00e1_e3db__20none.rel create mode 100644 src/nos/lib/messages_lib/00e2_826b__20offset_20_25u_20.rel delete mode 100644 src/nos/lib/messages_lib/00e2_e1c5__20trace_20file_3a_.rel create mode 100644 src/nos/lib/messages_lib/00e3_6680__20op_20_25u.rel delete mode 100644 src/nos/lib/messages_lib/00e3_ca97__20tracing_20off_0a.rel delete mode 100644 src/nos/lib/messages_lib/00e4_be19__20transmit_20_2d_2.rel create mode 100644 src/nos/lib/messages_lib/00e4_f7d5__20op_20REPLY.rel create mode 100644 src/nos/lib/messages_lib/00e5_5e3d__20op_20REQUEST.rel delete mode 100644 src/nos/lib/messages_lib/00e5_afd2__20ttl_20_25d_0a.rel delete mode 100644 src/nos/lib/messages_lib/00e6_6f53__20txseq_20_25d_20r.rel create mode 100644 src/nos/lib/messages_lib/00e6_9500__20op_20REVERSE_20R.rel create mode 100644 src/nos/lib/messages_lib/00e7_3faa__20op_20REVERSE_20R.rel delete mode 100644 src/nos/lib/messages_lib/00e7_c8f3__20type_200x_25x_0a.rel delete mode 100644 src/nos/lib/messages_lib/00e8_6772__20type_20ARP_0a.rel create mode 100644 src/nos/lib/messages_lib/00e8_8a3d__20output.rel create mode 100644 src/nos/lib/messages_lib/00e9_5896__20pid_3d0x_25x_0a.rel delete mode 100644 src/nos/lib/messages_lib/00e9_5c83__20type_20IP_0a.rel create mode 100644 src/nos/lib/messages_lib/00ea_aba6__20pid_3dARP_0a.rel delete mode 100644 src/nos/lib/messages_lib/00ea_f937__20type_20REVARP_0a.rel delete mode 100644 src/nos/lib/messages_lib/00eb_c53a__20v.rel create mode 100644 src/nos/lib/messages_lib/00eb_d4e9__20pid_3dIP_0a.rel delete mode 100644 src/nos/lib/messages_lib/00ec_9158__20vers_20_25u_20en.rel create mode 100644 src/nos/lib/messages_lib/00ec_a349__20pid_3dNET_2fROM_.rel create mode 100644 src/nos/lib/messages_lib/00ed_932f__20pid_3dTEXNET_0a.rel delete mode 100644 src/nos/lib/messages_lib/00ed_994d__20wnd_20_25d.rel delete mode 100644 src/nos/lib/messages_lib/00ee_426e__20_7c_20.rel create mode 100644 src/nos/lib/messages_lib/00ee_4927__20pid_3dText_0a.rel delete mode 100644 src/nos/lib/messages_lib/00ef_3f0c__21.rel create mode 100644 src/nos/lib/messages_lib/00ef_c207__20pid_3dX_2e25_0a.rel create mode 100644 src/nos/lib/messages_lib/00f0_5760__20pipe.rel delete mode 100644 src/nos/lib/messages_lib/00f0_f9eb__21_21_20_25s_20_25.rel create mode 100644 src/nos/lib/messages_lib/00f1_ac0a__20pointer_20_25u.rel delete mode 100644 src/nos/lib/messages_lib/00f1_ef2d__21_21_20maximum_20.rel create mode 100644 src/nos/lib/messages_lib/00f2_5557__20prot_20_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/00f2_55d7__22_25s_22_20_2d_20.rel create mode 100644 src/nos/lib/messages_lib/00f3_0187__20prot_20_25u_0a.rel delete mode 100644 src/nos/lib/messages_lib/00f3_60ae__23_20queries_20eac.rel delete mode 100644 src/nos/lib/messages_lib/00f4_1acc__23_20secs_20to_20w.rel create mode 100644 src/nos/lib/messages_lib/00f4_75a2__20prot_200x_25x_20.rel create mode 100644 src/nos/lib/messages_lib/00f5_3541__20prot_20IP.rel delete mode 100644 src/nos/lib/messages_lib/00f5_fb95__25_2d10_2e10s_20_2.rel create mode 100644 src/nos/lib/messages_lib/00f6_1888__20receive_20_20_2d.rel delete mode 100644 src/nos/lib/messages_lib/00f6_3035__25_2d10s_20IP_20ad.rel delete mode 100644 src/nos/lib/messages_lib/00f7_01be__25_2d10s_25_2d17s.rel create mode 100644 src/nos/lib/messages_lib/00f7_f2f3__20sock.rel delete mode 100644 src/nos/lib/messages_lib/00f8_4da0__25_2d10s_25_2d17s_.rel create mode 100644 src/nos/lib/messages_lib/00f8_c067__20spi_20_25lx.rel create mode 100644 src/nos/lib/messages_lib/00f9_2902__20sw_20over_20_25l.rel delete mode 100644 src/nos/lib/messages_lib/00f9_ff4a__25_2d10s_25_2d6s.rel create mode 100644 src/nos/lib/messages_lib/00fa_0bfc__20tos_20_25u.rel delete mode 100644 src/nos/lib/messages_lib/00fa_e1c2__25_2d11s_25_2d9s_2.rel delete mode 100644 src/nos/lib/messages_lib/00fb_7335__25_2d13s.rel create mode 100644 src/nos/lib/messages_lib/00fb_e1c5__20trace_20file_3a_.rel delete mode 100644 src/nos/lib/messages_lib/00fc_27e5__25_2d15s.rel create mode 100644 src/nos/lib/messages_lib/00fc_ca97__20tracing_20off_0a.rel delete mode 100644 src/nos/lib/messages_lib/00fd_0d8d__25_2d16s.rel create mode 100644 src/nos/lib/messages_lib/00fd_be19__20transmit_20_2d_2.rel create mode 100644 src/nos/lib/messages_lib/00fe_afd2__20ttl_20_25d_0a.rel delete mode 100644 src/nos/lib/messages_lib/00fe_e560__25_2d16s_20_20.rel create mode 100644 src/nos/lib/messages_lib/00ff_6f53__20txseq_20_25d_20r.rel delete mode 100644 src/nos/lib/messages_lib/00ff_f903__25_2d16s_25_2d3u_2.rel delete mode 100644 src/nos/lib/messages_lib/0100_2609__25_2d16s_25_2d9lu_.rel create mode 100644 src/nos/lib/messages_lib/0100_c8f3__20type_200x_25x_0a.rel delete mode 100644 src/nos/lib/messages_lib/0101_1455__25_2d17s.rel create mode 100644 src/nos/lib/messages_lib/0101_6772__20type_20ARP_0a.rel create mode 100644 src/nos/lib/messages_lib/0102_5c83__20type_20IP_0a.rel delete mode 100644 src/nos/lib/messages_lib/0102_e920__25_2d20s_258lu_258.rel delete mode 100644 src/nos/lib/messages_lib/0103_8589__25_2d22s.rel create mode 100644 src/nos/lib/messages_lib/0103_f937__20type_20REVARP_0a.rel delete mode 100644 src/nos/lib/messages_lib/0104_b616__25_2d22s_0a.rel create mode 100644 src/nos/lib/messages_lib/0104_c53a__20v.rel create mode 100644 src/nos/lib/messages_lib/0105_9158__20vers_20_25u_20en.rel delete mode 100644 src/nos/lib/messages_lib/0105_9c51__25_2d23s.rel create mode 100644 src/nos/lib/messages_lib/0106_994d__20wnd_20_25d.rel delete mode 100644 src/nos/lib/messages_lib/0106_bf59__25_2d2u.rel create mode 100644 src/nos/lib/messages_lib/0107_426e__20_7c_20.rel delete mode 100644 src/nos/lib/messages_lib/0107_6601__25_2d32s_20_28_25l.rel create mode 100644 src/nos/lib/messages_lib/0108_3f0c__21.rel delete mode 100644 src/nos/lib/messages_lib/0108_a681__25_2d3u.rel delete mode 100644 src/nos/lib/messages_lib/0109_ea81__25_2d4d.rel create mode 100644 src/nos/lib/messages_lib/0109_f9eb__21_21_20_25s_20_25.rel delete mode 100644 src/nos/lib/messages_lib/010a_6f94__25_2d4d_255d_20_25.rel create mode 100644 src/nos/lib/messages_lib/010a_ef2d__21_21_20maximum_20.rel create mode 100644 src/nos/lib/messages_lib/010b_55d7__22_25s_22_20_2d_20.rel delete mode 100644 src/nos/lib/messages_lib/010b_eb89__25_2d4u.rel delete mode 100644 src/nos/lib/messages_lib/010c_2455__25_2d5ld.rel create mode 100644 src/nos/lib/messages_lib/010c_60ae__23_20queries_20eac.rel create mode 100644 src/nos/lib/messages_lib/010d_1acc__23_20secs_20to_20w.rel delete mode 100644 src/nos/lib/messages_lib/010d_90e5__25_2d7lu.rel delete mode 100644 src/nos/lib/messages_lib/010e_8982__25_2d7s_20_25_2d8s.rel create mode 100644 src/nos/lib/messages_lib/010e_fb95__25_2d10_2e10s_20_2.rel create mode 100644 src/nos/lib/messages_lib/010f_3035__25_2d10s_20IP_20ad.rel delete mode 100644 src/nos/lib/messages_lib/010f_da22__25_2d8lu.rel create mode 100644 src/nos/lib/messages_lib/0110_01be__25_2d10s_25_2d17s.rel delete mode 100644 src/nos/lib/messages_lib/0110_d1e2__25_2ds.rel delete mode 100644 src/nos/lib/messages_lib/0111_1e56__2502x.rel create mode 100644 src/nos/lib/messages_lib/0111_4da0__25_2d10s_25_2d17s_.rel delete mode 100644 src/nos/lib/messages_lib/0112_3773__2504x_20_20.rel create mode 100644 src/nos/lib/messages_lib/0112_ff4a__25_2d10s_25_2d6s.rel delete mode 100644 src/nos/lib/messages_lib/0113_6df9__2504x_20_20_2504x_.rel create mode 100644 src/nos/lib/messages_lib/0113_e1c2__25_2d11s_25_2d9s_2.rel create mode 100644 src/nos/lib/messages_lib/0114_7335__25_2d13s.rel delete mode 100644 src/nos/lib/messages_lib/0114_aa0a__2504x_3a_2504x.rel create mode 100644 src/nos/lib/messages_lib/0115_27e5__25_2d15s.rel delete mode 100644 src/nos/lib/messages_lib/0115_83ad__2510lu_20In_2c_20_.rel create mode 100644 src/nos/lib/messages_lib/0116_0d8d__25_2d16s.rel delete mode 100644 src/nos/lib/messages_lib/0116_cbd3__2510lu_20Out_2c_20.rel delete mode 100644 src/nos/lib/messages_lib/0117_2875__2510lu_2510lu_255l.rel create mode 100644 src/nos/lib/messages_lib/0117_e560__25_2d16s_20_20.rel delete mode 100644 src/nos/lib/messages_lib/0118_a689__251s_20_253d_20_20.rel create mode 100644 src/nos/lib/messages_lib/0118_f903__25_2d16s_25_2d3u_2.rel create mode 100644 src/nos/lib/messages_lib/0119_2609__25_2d16s_25_2d9lu_.rel delete mode 100644 src/nos/lib/messages_lib/0119_e9b8__252d_20_25_2d6s_20.rel create mode 100644 src/nos/lib/messages_lib/011a_1455__25_2d17s.rel delete mode 100644 src/nos/lib/messages_lib/011a_b620__252d_20_25_2d6s_20.rel delete mode 100644 src/nos/lib/messages_lib/011b_1703__253d_3a.rel create mode 100644 src/nos/lib/messages_lib/011b_e920__25_2d20s_258lu_258.rel create mode 100644 src/nos/lib/messages_lib/011c_8589__25_2d22s.rel delete mode 100644 src/nos/lib/messages_lib/011c_b932__254d_20_25_2d8s_25.rel delete mode 100644 src/nos/lib/messages_lib/011d_936b__254s.rel create mode 100644 src/nos/lib/messages_lib/011d_b616__25_2d22s_0a.rel delete mode 100644 src/nos/lib/messages_lib/011e_4a96__258lu.rel create mode 100644 src/nos/lib/messages_lib/011e_9c51__25_2d23s.rel delete mode 100644 src/nos/lib/messages_lib/011f_5eaf__258lu_0a.rel create mode 100644 src/nos/lib/messages_lib/011f_bf59__25_2d2u.rel delete mode 100644 src/nos/lib/messages_lib/0120_3acb__258s.rel create mode 100644 src/nos/lib/messages_lib/0120_6601__25_2d32s_20_28_25l.rel delete mode 100644 src/nos/lib/messages_lib/0121_3341__258u_2510u_2511lu_.rel create mode 100644 src/nos/lib/messages_lib/0121_a681__25_2d3u.rel create mode 100644 src/nos/lib/messages_lib/0122_ea81__25_2d4d.rel delete mode 100644 src/nos/lib/messages_lib/0122_fd73__259p_20_20_20_253d.rel create mode 100644 src/nos/lib/messages_lib/0123_6f94__25_2d4d_255d_20_25.rel delete mode 100644 src/nos/lib/messages_lib/0123_b8a6__259p_20_25_2d8d_25.rel delete mode 100644 src/nos/lib/messages_lib/0124_1719__259p_20_25_2d9s_25.rel create mode 100644 src/nos/lib/messages_lib/0124_eb89__25_2d4u.rel delete mode 100644 src/nos/lib/messages_lib/0125_1260__259p_256u_20_20_25.rel create mode 100644 src/nos/lib/messages_lib/0125_2455__25_2d5ld.rel delete mode 100644 src/nos/lib/messages_lib/0126_482b__259p_256u_256u_20_.rel create mode 100644 src/nos/lib/messages_lib/0126_90e5__25_2d7lu.rel create mode 100644 src/nos/lib/messages_lib/0127_8982__25_2d7s_20_25_2d8s.rel delete mode 100644 src/nos/lib/messages_lib/0127_fcae__25c.rel delete mode 100644 src/nos/lib/messages_lib/0128_6d8a__25c_20.rel create mode 100644 src/nos/lib/messages_lib/0128_da22__25_2d8lu.rel delete mode 100644 src/nos/lib/messages_lib/0129_3d14__25c_20_257s_20_257.rel create mode 100644 src/nos/lib/messages_lib/0129_d1e2__25_2ds.rel create mode 100644 src/nos/lib/messages_lib/012a_1e56__2502x.rel delete mode 100644 src/nos/lib/messages_lib/012a_22d3__25c_25c_25c.rel create mode 100644 src/nos/lib/messages_lib/012b_3773__2504x_20_20.rel delete mode 100644 src/nos/lib/messages_lib/012b_4b6e__25c_25c_25c_0a.rel delete mode 100644 src/nos/lib/messages_lib/012c_2970__25c_25c_25c_253d_2.rel create mode 100644 src/nos/lib/messages_lib/012c_6df9__2504x_20_20_2504x_.rel delete mode 100644 src/nos/lib/messages_lib/012d_8514__25c_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/012d_aa0a__2504x_3a_2504x.rel delete mode 100644 src/nos/lib/messages_lib/012e_086d__25c_5b2J.rel create mode 100644 src/nos/lib/messages_lib/012e_83ad__2510lu_20In_2c_20_.rel delete mode 100644 src/nos/lib/messages_lib/012f_8811__25d.rel create mode 100644 src/nos/lib/messages_lib/012f_cbd3__2510lu_20Out_2c_20.rel create mode 100644 src/nos/lib/messages_lib/0130_2875__2510lu_2510lu_255l.rel delete mode 100644 src/nos/lib/messages_lib/0130_aeda__25d_0a.rel create mode 100644 src/nos/lib/messages_lib/0131_a689__251s_20_253d_20_20.rel delete mode 100644 src/nos/lib/messages_lib/0131_cd50__25d_20message_25s_.rel create mode 100644 src/nos/lib/messages_lib/0132_e9b8__252d_20_25_2d6s_20.rel delete mode 100644 src/nos/lib/messages_lib/0132_ea62__25ld.rel create mode 100644 src/nos/lib/messages_lib/0133_374a__252d_20_25_2d6s_20.rel delete mode 100644 src/nos/lib/messages_lib/0133_eb6a__25lu.rel delete mode 100644 src/nos/lib/messages_lib/0134_63ed__25lu_0a.rel create mode 100644 src/nos/lib/messages_lib/0134_b620__252d_20_25_2d6s_20.rel create mode 100644 src/nos/lib/messages_lib/0135_1703__253d_3a.rel delete mode 100644 src/nos/lib/messages_lib/0135_f325__25lu_2f_25lu_0a.rel create mode 100644 src/nos/lib/messages_lib/0136_981e__254d_09.rel delete mode 100644 src/nos/lib/messages_lib/0136_d273__25p_20.rel delete mode 100644 src/nos/lib/messages_lib/0137_1c93__25p_20_256lu.rel create mode 100644 src/nos/lib/messages_lib/0137_b932__254d_20_25_2d8s_25.rel create mode 100644 src/nos/lib/messages_lib/0138_936b__254s.rel delete mode 100644 src/nos/lib/messages_lib/0138_ec2f__25s.rel create mode 100644 src/nos/lib/messages_lib/0139_4a96__258lu.rel delete mode 100644 src/nos/lib/messages_lib/0139_7643__25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/013a_0276__25s_0a_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/013a_5eaf__258lu_0a.rel create mode 100644 src/nos/lib/messages_lib/013b_3acb__258s.rel delete mode 100644 src/nos/lib/messages_lib/013b_f81b__25s_20.rel create mode 100644 src/nos/lib/messages_lib/013c_3341__258u_2510u_2511lu_.rel delete mode 100644 src/nos/lib/messages_lib/013c_8b7d__25s_20_2502d_2502d.rel delete mode 100644 src/nos/lib/messages_lib/013d_7be3__25s_20_25p_0a.rel create mode 100644 src/nos/lib/messages_lib/013d_fd73__259p_20_20_20_253d.rel delete mode 100644 src/nos/lib/messages_lib/013e_518b__25s_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/013e_b8a6__259p_20_25_2d8d_25.rel create mode 100644 src/nos/lib/messages_lib/013f_1719__259p_20_25_2d9s_25.rel delete mode 100644 src/nos/lib/messages_lib/013f_ca49__25s_20_25s_3a_20_2.rel create mode 100644 src/nos/lib/messages_lib/0140_1260__259p_256u_20_20_25.rel delete mode 100644 src/nos/lib/messages_lib/0140_43c6__25s_20_25s_3a_20Er.rel create mode 100644 src/nos/lib/messages_lib/0141_482b__259p_256u_256u_20_.rel delete mode 100644 src/nos/lib/messages_lib/0141_b8b7__25s_20_2d_20.rel delete mode 100644 src/nos/lib/messages_lib/0142_1170__25s_20_2d_20Differ.rel create mode 100644 src/nos/lib/messages_lib/0142_fcae__25c.rel create mode 100644 src/nos/lib/messages_lib/0143_6d8a__25c_20.rel delete mode 100644 src/nos/lib/messages_lib/0143_d4cc__25s_20_2d_20Remote.rel create mode 100644 src/nos/lib/messages_lib/0144_3d14__25c_20_257s_20_257.rel delete mode 100644 src/nos/lib/messages_lib/0144_4968__25s_20_2d_20Same_0.rel create mode 100644 src/nos/lib/messages_lib/0145_22d3__25c_25c_25c.rel delete mode 100644 src/nos/lib/messages_lib/0145_ace2__25s_20dialer_3a_20.rel create mode 100644 src/nos/lib/messages_lib/0146_4b6e__25c_25c_25c_0a.rel delete mode 100644 src/nos/lib/messages_lib/0146_933b__25s_20errno_20_25d.rel create mode 100644 src/nos/lib/messages_lib/0147_2970__25c_25c_25c_253d_2.rel delete mode 100644 src/nos/lib/messages_lib/0147_f768__25s_20file_25s_2e_.rel create mode 100644 src/nos/lib/messages_lib/0148_8514__25c_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/0148_c691__25s_20is_20unreach.rel create mode 100644 src/nos/lib/messages_lib/0149_086d__25c_5b2J.rel delete mode 100644 src/nos/lib/messages_lib/0149_a4a4__25s_20logged_20in.rel create mode 100644 src/nos/lib/messages_lib/014a_8811__25d.rel delete mode 100644 src/nos/lib/messages_lib/014a_a64e__25s_20logged_20in_.rel create mode 100644 src/nos/lib/messages_lib/014b_aeda__25d_0a.rel delete mode 100644 src/nos/lib/messages_lib/014b_b314__25s_20refs_20to_20.rel delete mode 100644 src/nos/lib/messages_lib/014c_bd91__25s_20remain_20_25.rel create mode 100644 src/nos/lib/messages_lib/014c_cd50__25d_20message_25s_.rel delete mode 100644 src/nos/lib/messages_lib/014d_bf9e__25s_20thru_20.rel create mode 100644 src/nos/lib/messages_lib/014d_ea62__25ld.rel delete mode 100644 src/nos/lib/messages_lib/014e_243b__25s_20type_20_25s_.rel create mode 100644 src/nos/lib/messages_lib/014e_eb6a__25lu.rel create mode 100644 src/nos/lib/messages_lib/014f_63ed__25lu_0a.rel delete mode 100644 src/nos/lib/messages_lib/014f_7d69__25s_25_25_25s_2ebb.rel delete mode 100644 src/nos/lib/messages_lib/0150_d324__25s_25c_0a.rel create mode 100644 src/nos/lib/messages_lib/0150_f325__25lu_2f_25lu_0a.rel delete mode 100644 src/nos/lib/messages_lib/0151_ce9c__25s_25c_25c_25c.rel create mode 100644 src/nos/lib/messages_lib/0151_d273__25p_20.rel create mode 100644 src/nos/lib/messages_lib/0152_1c93__25p_20_256lu.rel delete mode 100644 src/nos/lib/messages_lib/0152_910e__25s_25s.rel delete mode 100644 src/nos/lib/messages_lib/0153_46b5__25s_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/0153_ec2f__25s.rel delete mode 100644 src/nos/lib/messages_lib/0154_4d3a__25s_25s_0a_0a.rel create mode 100644 src/nos/lib/messages_lib/0154_7643__25s_0a.rel create mode 100644 src/nos/lib/messages_lib/0155_0276__25s_0a_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/0155_47c0__25s_3a.rel delete mode 100644 src/nos/lib/messages_lib/0156_6911__25s_3a_0a.rel create mode 100644 src/nos/lib/messages_lib/0156_f81b__25s_20.rel create mode 100644 src/nos/lib/messages_lib/0157_8b7d__25s_20_2502d_2502d.rel delete mode 100644 src/nos/lib/messages_lib/0157_e749__25s_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/0158_650d__25s_3a_20_25d_20me.rel create mode 100644 src/nos/lib/messages_lib/0158_7be3__25s_20_25p_0a.rel create mode 100644 src/nos/lib/messages_lib/0159_518b__25s_20_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/0159_86f5__25s_3a_20_25ld_0a.rel delete mode 100644 src/nos/lib/messages_lib/015a_7189__25s_3a_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/015a_ca49__25s_20_25s_3a_20_2.rel delete mode 100644 src/nos/lib/messages_lib/015b_35bd__25s_3a_20_25s_2c.rel create mode 100644 src/nos/lib/messages_lib/015b_43c6__25s_20_25s_3a_20Er.rel delete mode 100644 src/nos/lib/messages_lib/015c_adab__25s_3a_20Interface.rel create mode 100644 src/nos/lib/messages_lib/015c_b8b7__25s_20_2d_20.rel create mode 100644 src/nos/lib/messages_lib/015d_1170__25s_20_2d_20Differ.rel delete mode 100644 src/nos/lib/messages_lib/015d_5f8a__25s_3a_20PPP_2fPAP.rel delete mode 100644 src/nos/lib/messages_lib/015e_0cde__25s_3a_20bad_20dev.rel create mode 100644 src/nos/lib/messages_lib/015e_d4cc__25s_20_2d_20Remote.rel create mode 100644 src/nos/lib/messages_lib/015f_4968__25s_20_2d_20Same_0.rel delete mode 100644 src/nos/lib/messages_lib/015f_5351__25s_3a_20bad_20ino.rel create mode 100644 src/nos/lib/messages_lib/0160_55aa__25s_20PPP_20_25s.rel delete mode 100644 src/nos/lib/messages_lib/0160_8c96__25s_3a_20corrupted.rel create mode 100644 src/nos/lib/messages_lib/0161_7a48__25s_20PPP_20Unknow.rel delete mode 100644 src/nos/lib/messages_lib/0161_d157__25s_3a_20fs_20of_2.rel create mode 100644 src/nos/lib/messages_lib/0162_136e__25s_20PPP_2f_25s_2.rel delete mode 100644 src/nos/lib/messages_lib/0162_1d98__25s_3a_20local_20n.rel create mode 100644 src/nos/lib/messages_lib/0163_8479__25s_20PPP_2f_25s_2.rel delete mode 100644 src/nos/lib/messages_lib/0163_bba5__25s_3a_20mode_20_2.rel create mode 100644 src/nos/lib/messages_lib/0164_0e2f__25s_20PPP_2f_25s_2.rel delete mode 100644 src/nos/lib/messages_lib/0164_60cc__25s_3a_20not_20a_2.rel create mode 100644 src/nos/lib/messages_lib/0165_3c0d__25s_20PPP_2f_25s_2.rel delete mode 100644 src/nos/lib/messages_lib/0165_4ed5__25s_3a_20release_5.rel delete mode 100644 src/nos/lib/messages_lib/0166_04ae__25s_3a_20rtt_20_25.rel create mode 100644 src/nos/lib/messages_lib/0166_9bc7__25s_20PPP_2f_25s_2.rel create mode 100644 src/nos/lib/messages_lib/0167_991e__25s_20PPP_2f_25s_2.rel delete mode 100644 src/nos/lib/messages_lib/0167_db35__25s_3a_20srtt_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0168_65f3__25s_3c_25ld_40_25s.rel create mode 100644 src/nos/lib/messages_lib/0168_8bd6__25s_20PPP_2f_25s_2.rel create mode 100644 src/nos/lib/messages_lib/0169_5f30__25s_20PPP_2f_25s_2.rel delete mode 100644 src/nos/lib/messages_lib/0169_6e45__25s_3e_20_25s_20_2.rel delete mode 100644 src/nos/lib/messages_lib/016a_205d__25s_3e_20Invalid_2.rel create mode 100644 src/nos/lib/messages_lib/016a_252c__25s_20PPP_2fIPCP_2.rel create mode 100644 src/nos/lib/messages_lib/016b_375d__25s_20PPP_2fIPCP_2.rel delete mode 100644 src/nos/lib/messages_lib/016b_c86f__25s_40_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/016c_82c1__25s_40_25s_3a_0a.rel create mode 100644 src/nos/lib/messages_lib/016c_a652__25s_20PPP_2fPAP_20.rel delete mode 100644 src/nos/lib/messages_lib/016d_9fa6__25sMAILER_2dDAEMON.rel create mode 100644 src/nos/lib/messages_lib/016d_a115__25s_20PPP_2fPap_20.rel create mode 100644 src/nos/lib/messages_lib/016e_ace2__25s_20dialer_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/016e_c284__25sR_0a.rel delete mode 100644 src/nos/lib/messages_lib/016f_2293__25u_0a.rel create mode 100644 src/nos/lib/messages_lib/016f_933b__25s_20errno_20_25d.rel delete mode 100644 src/nos/lib/messages_lib/0170_c0bd__25u_20additional_3.rel create mode 100644 src/nos/lib/messages_lib/0170_f768__25s_20file_25s_2e_.rel delete mode 100644 src/nos/lib/messages_lib/0171_7db0__25u_20answers_3a_0.rel create mode 100644 src/nos/lib/messages_lib/0171_c691__25s_20is_20unreach.rel delete mode 100644 src/nos/lib/messages_lib/0172_7c48__25u_20authority_3a.rel create mode 100644 src/nos/lib/messages_lib/0172_a4a4__25s_20logged_20in.rel create mode 100644 src/nos/lib/messages_lib/0173_a64e__25s_20logged_20in_.rel delete mode 100644 src/nos/lib/messages_lib/0173_b843__25u_20questions_3a.rel delete mode 100644 src/nos/lib/messages_lib/0174_af86__25u_3a_20calls_20_.rel create mode 100644 src/nos/lib/messages_lib/0174_b314__25s_20refs_20to_20.rel delete mode 100644 src/nos/lib/messages_lib/0175_52fc__25x.rel create mode 100644 src/nos/lib/messages_lib/0175_bd91__25s_20remain_20_25.rel delete mode 100644 src/nos/lib/messages_lib/0176_b099__26AXB_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/0176_bf9e__25s_20thru_20.rel create mode 100644 src/nos/lib/messages_lib/0177_243b__25s_20type_20_25s_.rel delete mode 100644 src/nos/lib/messages_lib/0177_7bf6__26CB_20_20_20_20_2.rel create mode 100644 src/nos/lib/messages_lib/0178_7d69__25s_25_25_25s_2ebb.rel delete mode 100644 src/nos/lib/messages_lib/0178_c497__26TCB_20_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/0179_d324__25s_25c_0a.rel delete mode 100644 src/nos/lib/messages_lib/0179_f73b__26UCB_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/017a_aa89__27_25c_27_0a.rel create mode 100644 src/nos/lib/messages_lib/017a_ce9c__25s_25c_25c_25c.rel create mode 100644 src/nos/lib/messages_lib/017b_910e__25s_25s.rel delete mode 100644 src/nos/lib/messages_lib/017b_a2cd__28.rel create mode 100644 src/nos/lib/messages_lib/017c_46b5__25s_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/017c_ba4c__28_252u_29_25_2d20.rel create mode 100644 src/nos/lib/messages_lib/017d_4d3a__25s_25s_0a_0a.rel delete mode 100644 src/nos/lib/messages_lib/017d_52bf__28F_29.rel create mode 100644 src/nos/lib/messages_lib/017e_47c0__25s_3a.rel delete mode 100644 src/nos/lib/messages_lib/017e_93fe__28P_29.rel delete mode 100644 src/nos/lib/messages_lib/017f_38a6__28P_2fF_29.rel create mode 100644 src/nos/lib/messages_lib/017f_6911__25s_3a_0a.rel delete mode 100644 src/nos/lib/messages_lib/0180_7b70__28compressed_20ALL.rel create mode 100644 src/nos/lib/messages_lib/0180_e749__25s_3a_20.rel create mode 100644 src/nos/lib/messages_lib/0181_650d__25s_3a_20_25d_20me.rel delete mode 100644 src/nos/lib/messages_lib/0181_c1c3__28hopcheck_29_20IC.rel delete mode 100644 src/nos/lib/messages_lib/0182_565f__28missing_20UI_21_.rel create mode 100644 src/nos/lib/messages_lib/0182_86f5__25s_3a_20_25ld_0a.rel create mode 100644 src/nos/lib/messages_lib/0183_7189__25s_3a_20_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/0183_f935__28not_20odd_21_29_.rel create mode 100644 src/nos/lib/messages_lib/0184_35bd__25s_3a_20_25s_2c.rel delete mode 100644 src/nos/lib/messages_lib/0184_abc9__29_0a.rel create mode 100644 src/nos/lib/messages_lib/0185_adab__25s_3a_20Interface.rel delete mode 100644 src/nos/lib/messages_lib/0185_bfa2__2a_2a_20smtp_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/0186_1969__2a_2a_2a.rel create mode 100644 src/nos/lib/messages_lib/0186_5fe2__25s_3a_20PPP_2fPAP.rel create mode 100644 src/nos/lib/messages_lib/0187_5f8a__25s_3a_20PPP_2fPAP.rel delete mode 100644 src/nos/lib/messages_lib/0187_a448__2a_2a_2a_20Done_0a.rel create mode 100644 src/nos/lib/messages_lib/0188_53bc__25s_3a_20PPP_2fPAP.rel delete mode 100644 src/nos/lib/messages_lib/0188_c993__2a_2a_2a_20Unable_.rel create mode 100644 src/nos/lib/messages_lib/0189_990e__25s_3a_20PPP_2fPAP.rel delete mode 100644 src/nos/lib/messages_lib/0189_b489__2a_2a_2a_2a_2a_2a_.rel create mode 100644 src/nos/lib/messages_lib/018a_0cde__25s_3a_20bad_20dev.rel delete mode 100644 src/nos/lib/messages_lib/018a_5b29__2c_20.rel delete mode 100644 src/nos/lib/messages_lib/018b_1a71__2c_20err_20_25d.rel create mode 100644 src/nos/lib/messages_lib/018b_5351__25s_3a_20bad_20ino.rel delete mode 100644 src/nos/lib/messages_lib/018c_099c__2d_2d_2d_2d_2d_20E.rel create mode 100644 src/nos/lib/messages_lib/018c_8c96__25s_3a_20corrupted.rel delete mode 100644 src/nos/lib/messages_lib/018d_01ea__2d_2d_2d_2d_2d_20F.rel create mode 100644 src/nos/lib/messages_lib/018d_d157__25s_3a_20fs_20of_2.rel delete mode 100644 src/nos/lib/messages_lib/018e_04ae__2d_2d_2d_2d_2d_2d_.rel create mode 100644 src/nos/lib/messages_lib/018e_1d98__25s_3a_20local_20n.rel delete mode 100644 src/nos/lib/messages_lib/018f_1b54__2d_2d_2d_2d_2d_2d_.rel create mode 100644 src/nos/lib/messages_lib/018f_bba5__25s_3a_20mode_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0190_3d1a__2d_2d_2d_2d_2d_2d_.rel create mode 100644 src/nos/lib/messages_lib/0190_60cc__25s_3a_20not_20a_2.rel create mode 100644 src/nos/lib/messages_lib/0191_4ed5__25s_3a_20release_5.rel delete mode 100644 src/nos/lib/messages_lib/0191_8ddf__2d_3e_25s.rel create mode 100644 src/nos/lib/messages_lib/0192_04ae__25s_3a_20rtt_20_25.rel delete mode 100644 src/nos/lib/messages_lib/0192_589d__2d_3e_25s_20ihl_20.rel create mode 100644 src/nos/lib/messages_lib/0193_db35__25s_3a_20srtt_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0193_e6c1__2e_0a.rel create mode 100644 src/nos/lib/messages_lib/0194_65f3__25s_3c_25ld_40_25s.rel delete mode 100644 src/nos/lib/messages_lib/0194_ed84__2f_25lu_20ms.rel delete mode 100644 src/nos/lib/messages_lib/0195_6d9b__2f_25lu_20ms_0a.rel create mode 100644 src/nos/lib/messages_lib/0195_6e45__25s_3e_20_25s_20_2.rel create mode 100644 src/nos/lib/messages_lib/0196_205d__25s_3e_20Invalid_2.rel delete mode 100644 src/nos/lib/messages_lib/0196_a44f__2f_25lu_20ms_3b_20.rel delete mode 100644 src/nos/lib/messages_lib/0197_096e__2f_25u.rel create mode 100644 src/nos/lib/messages_lib/0197_c86f__25s_40_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/0198_82c1__25s_40_25s_3a_0a.rel delete mode 100644 src/nos/lib/messages_lib/0198_96dc__2fEX.rel delete mode 100644 src/nos/lib/messages_lib/0199_79e7_0_25o.rel create mode 100644 src/nos/lib/messages_lib/0199_9fa6__25sMAILER_2dDAEMON.rel delete mode 100644 src/nos/lib/messages_lib/019a_8157_007Incoming_20_25s_.rel create mode 100644 src/nos/lib/messages_lib/019a_c284__25sR_0a.rel create mode 100644 src/nos/lib/messages_lib/019b_2293__25u_0a.rel delete mode 100644 src/nos/lib/messages_lib/019b_b04e_0x_2503x_20_20_20_2.rel delete mode 100644 src/nos/lib/messages_lib/019c_3f3a_0x_2504x_0a.rel create mode 100644 src/nos/lib/messages_lib/019c_c0bd__25u_20additional_3.rel create mode 100644 src/nos/lib/messages_lib/019d_7db0__25u_20answers_3a_0.rel delete mode 100644 src/nos/lib/messages_lib/019d_8308_0x_2508lx_0a.rel create mode 100644 src/nos/lib/messages_lib/019e_7c48__25u_20authority_3a.rel delete mode 100644 src/nos/lib/messages_lib/019e_ab8d_0x_25x.rel delete mode 100644 src/nos/lib/messages_lib/019f_6f63_0x_25x_09_09_25ld_0.rel create mode 100644 src/nos/lib/messages_lib/019f_b843__25u_20questions_3a.rel create mode 100644 src/nos/lib/messages_lib/01a0_af86__25u_3a_20calls_20_.rel delete mode 100644 src/nos/lib/messages_lib/01a0_fea8_0x_25x_09_09_25ld_0.rel create mode 100644 src/nos/lib/messages_lib/01a1_52fc__25x.rel delete mode 100644 src/nos/lib/messages_lib/01a1_f01c_0x_25x_0a.rel create mode 100644 src/nos/lib/messages_lib/01a2_b099__26AXB_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/01a2_d635_100_20Warning_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/01a3_3f47_150_20Opening_20dat.rel create mode 100644 src/nos/lib/messages_lib/01a3_7bf6__26CB_20_20_20_20_2.rel delete mode 100644 src/nos/lib/messages_lib/01a4_67ab_200_20.rel create mode 100644 src/nos/lib/messages_lib/01a4_c497__26TCB_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/01a5_cc8d_200_20MKD_20ok_0a.rel create mode 100644 src/nos/lib/messages_lib/01a5_f73b__26UCB_20_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/01a6_6c3a_200_20Ok_0a.rel create mode 100644 src/nos/lib/messages_lib/01a6_aa89__27_25c_27_0a.rel create mode 100644 src/nos/lib/messages_lib/01a7_a2cd__28.rel delete mode 100644 src/nos/lib/messages_lib/01a7_ba32_200_20Port_20comman.rel delete mode 100644 src/nos/lib/messages_lib/01a8_1db7_200_20Type_20_25s_2.rel create mode 100644 src/nos/lib/messages_lib/01a8_ba4c__28_252u_29_25_2d20.rel delete mode 100644 src/nos/lib/messages_lib/01a9_1192_215_20_25s_20Type_3.rel create mode 100644 src/nos/lib/messages_lib/01a9_52bf__28F_29.rel delete mode 100644 src/nos/lib/messages_lib/01aa_01fe_220_20_25s_20FTP_20.rel create mode 100644 src/nos/lib/messages_lib/01aa_93fe__28P_29.rel create mode 100644 src/nos/lib/messages_lib/01ab_38a6__28P_2fF_29.rel delete mode 100644 src/nos/lib/messages_lib/01ab_7804_221_20Goodbye_21_0a.rel delete mode 100644 src/nos/lib/messages_lib/01ac_3f54_226_20File_20receiv.rel create mode 100644 src/nos/lib/messages_lib/01ac_7b70__28compressed_20ALL.rel create mode 100644 src/nos/lib/messages_lib/01ad_c1c3__28hopcheck_29_20IC.rel delete mode 100644 src/nos/lib/messages_lib/01ad_caea_226_20File_20sent_2.rel create mode 100644 src/nos/lib/messages_lib/01ae_565f__28missing_20UI_21_.rel delete mode 100644 src/nos/lib/messages_lib/01ae_9fe8_230_20Logged_20in_0.rel delete mode 100644 src/nos/lib/messages_lib/01af_55db_250_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/01af_f935__28not_20odd_21_29_.rel create mode 100644 src/nos/lib/messages_lib/01b0_abc9__29_0a.rel delete mode 100644 src/nos/lib/messages_lib/01b0_c720_250_20File_20delete.rel create mode 100644 src/nos/lib/messages_lib/01b1_bfa2__2a_2a_20smtp_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/01b1_de54_250_2d_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/01b2_1969__2a_2a_2a.rel delete mode 100644 src/nos/lib/messages_lib/01b2_9400_257_20_22_25s_22_20.rel delete mode 100644 src/nos/lib/messages_lib/01b3_24f1_331_20Enter_20PASS_.rel create mode 100644 src/nos/lib/messages_lib/01b3_a448__2a_2a_2a_20Done_0a.rel delete mode 100644 src/nos/lib/messages_lib/01b4_273f_421_20System_20over.rel create mode 100644 src/nos/lib/messages_lib/01b4_c993__2a_2a_2a_20Unable_.rel create mode 100644 src/nos/lib/messages_lib/01b5_b489__2a_2a_2a_2a_2a_2a_.rel delete mode 100644 src/nos/lib/messages_lib/01b5_e43d_425_20Data_20connec.rel create mode 100644 src/nos/lib/messages_lib/01b6_5b29__2c_20.rel delete mode 100644 src/nos/lib/messages_lib/01b6_7e66_500_20Unknown_20com.rel create mode 100644 src/nos/lib/messages_lib/01b7_1a71__2c_20err_20_25d.rel delete mode 100644 src/nos/lib/messages_lib/01b7_3d39_500_20Unsupported_2.rel create mode 100644 src/nos/lib/messages_lib/01b8_099c__2d_2d_2d_2d_2d_20E.rel delete mode 100644 src/nos/lib/messages_lib/01b8_fe7e_501_20Bad_20port_20.rel create mode 100644 src/nos/lib/messages_lib/01b9_01ea__2d_2d_2d_2d_2d_20F.rel delete mode 100644 src/nos/lib/messages_lib/01b9_065e_501_20Only_20logica.rel create mode 100644 src/nos/lib/messages_lib/01ba_04ae__2d_2d_2d_2d_2d_2d_.rel delete mode 100644 src/nos/lib/messages_lib/01ba_a2bf_501_20Unknown_20typ.rel create mode 100644 src/nos/lib/messages_lib/01bb_1b54__2d_2d_2d_2d_2d_2d_.rel delete mode 100644 src/nos/lib/messages_lib/01bb_41cf_502_20Command_20not.rel create mode 100644 src/nos/lib/messages_lib/01bc_3d1a__2d_2d_2d_2d_2d_2d_.rel delete mode 100644 src/nos/lib/messages_lib/01bc_f576_503_20Login_20with_.rel delete mode 100644 src/nos/lib/messages_lib/01bd_7dc2_530_20Please_20log_.rel create mode 100644 src/nos/lib/messages_lib/01bd_8ddf__2d_3e_25s.rel create mode 100644 src/nos/lib/messages_lib/01be_589d__2d_3e_25s_20ihl_20.rel delete mode 100644 src/nos/lib/messages_lib/01be_c53a_550_20Can_27t_20rea.rel delete mode 100644 src/nos/lib/messages_lib/01bf_4770_550_20Delete_20fail.rel create mode 100644 src/nos/lib/messages_lib/01bf_e6c1__2e_0a.rel delete mode 100644 src/nos/lib/messages_lib/01c0_38c3_550_20Permission_20.rel create mode 100644 src/nos/lib/messages_lib/01c0_ed84__2f_25lu_20ms.rel create mode 100644 src/nos/lib/messages_lib/01c1_6d9b__2f_25lu_20ms_0a.rel delete mode 100644 src/nos/lib/messages_lib/01c1_95c1_552_20Write_20error.rel delete mode 100644 src/nos/lib/messages_lib/01c2_7eaf_553_20Can_27t_20cre.rel create mode 100644 src/nos/lib/messages_lib/01c2_a44f__2f_25lu_20ms_3b_20.rel create mode 100644 src/nos/lib/messages_lib/01c3_096e__2f_25u.rel delete mode 100644 src/nos/lib/messages_lib/01c3_f0b2_553_20Can_27t_20rea.rel create mode 100644 src/nos/lib/messages_lib/01c4_96dc__2fEX.rel delete mode 100644 src/nos/lib/messages_lib/01c4_b04b__3a_20_25d_0a.rel delete mode 100644 src/nos/lib/messages_lib/01c5_6aba__3a_20_25ld_0a.rel create mode 100644 src/nos/lib/messages_lib/01c5_79e7_0_25o.rel create mode 100644 src/nos/lib/messages_lib/01c6_8157_007Incoming_20_25s_.rel delete mode 100644 src/nos/lib/messages_lib/01c6_8cd1__3a_20_25s.rel delete mode 100644 src/nos/lib/messages_lib/01c7_68d2__3a_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/01c7_b04e_0x_2503x_20_20_20_2.rel create mode 100644 src/nos/lib/messages_lib/01c8_0da1_0x_2504x_09.rel delete mode 100644 src/nos/lib/messages_lib/01c8_3c02__3a_20_25u_0a.rel create mode 100644 src/nos/lib/messages_lib/01c9_3f3a_0x_2504x_0a.rel delete mode 100644 src/nos/lib/messages_lib/01c9_6692__3b_20Tries_3a_20_2.rel delete mode 100644 src/nos/lib/messages_lib/01ca_697b__3c_25ld_40_25s_3e_.rel create mode 100644 src/nos/lib/messages_lib/01ca_b193_0x_2508lx_09.rel delete mode 100644 src/nos/lib/messages_lib/01cb_2587__3c_25s_40_25s_2ebb.rel create mode 100644 src/nos/lib/messages_lib/01cb_8308_0x_2508lx_0a.rel delete mode 100644 src/nos/lib/messages_lib/01cc_3152__3c_3d_3d_25s.rel create mode 100644 src/nos/lib/messages_lib/01cc_ab8d_0x_25x.rel create mode 100644 src/nos/lib/messages_lib/01cd_6f63_0x_25x_09_09_25ld_0.rel delete mode 100644 src/nos/lib/messages_lib/01cd_defc__3c_3d_3d_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/01ce_016b__3d_3d_3eARTICLE_20.rel create mode 100644 src/nos/lib/messages_lib/01ce_fea8_0x_25x_09_09_25ld_0.rel delete mode 100644 src/nos/lib/messages_lib/01cf_c133__3d_3d_3eNEWNEWS_20.rel create mode 100644 src/nos/lib/messages_lib/01cf_f01c_0x_25x_0a.rel delete mode 100644 src/nos/lib/messages_lib/01d0_696c__3d_3d_3eQUIT_0a.rel create mode 100644 src/nos/lib/messages_lib/01d0_d635_100_20Warning_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/01d1_396e__3d_3dNo_20response.rel create mode 100644 src/nos/lib/messages_lib/01d1_3f47_150_20Opening_20dat.rel create mode 100644 src/nos/lib/messages_lib/01d2_67ab_200_20.rel delete mode 100644 src/nos/lib/messages_lib/01d2_c6f3__3f.rel delete mode 100644 src/nos/lib/messages_lib/01d3_4d83__40.rel create mode 100644 src/nos/lib/messages_lib/01d3_cc8d_200_20MKD_20ok_0a.rel delete mode 100644 src/nos/lib/messages_lib/01d4_23d2__40_25s.rel create mode 100644 src/nos/lib/messages_lib/01d4_6c3a_200_20Ok_0a.rel delete mode 100644 src/nos/lib/messages_lib/01d5_7f61_ARP_3a_20len_20_25d.rel create mode 100644 src/nos/lib/messages_lib/01d5_ba32_200_20Port_20comman.rel delete mode 100644 src/nos/lib/messages_lib/01d6_124c_ARTICLE_20_25s.rel create mode 100644 src/nos/lib/messages_lib/01d6_1db7_200_20Type_20_25s_2.rel delete mode 100644 src/nos/lib/messages_lib/01d7_109d_AX25_20receive_20wi.rel create mode 100644 src/nos/lib/messages_lib/01d7_1192_215_20_25s_20Type_3.rel create mode 100644 src/nos/lib/messages_lib/01d8_01fe_220_20_25s_20FTP_20.rel delete mode 100644 src/nos/lib/messages_lib/01d8_f4e0_AX25_20version.rel create mode 100644 src/nos/lib/messages_lib/01d9_7804_221_20Goodbye_21_0a.rel delete mode 100644 src/nos/lib/messages_lib/01d9_818f_AX25_3a_20.rel create mode 100644 src/nos/lib/messages_lib/01da_3f54_226_20File_20receiv.rel delete mode 100644 src/nos/lib/messages_lib/01da_f05c_Abort_0d_0a.rel delete mode 100644 src/nos/lib/messages_lib/01db_6caf_Aborted_2e.rel create mode 100644 src/nos/lib/messages_lib/01db_caea_226_20File_20sent_2.rel create mode 100644 src/nos/lib/messages_lib/01dc_9fe8_230_20Logged_20in_0.rel delete mode 100644 src/nos/lib/messages_lib/01dc_f2cb_Aborted_2e_0a.rel delete mode 100644 src/nos/lib/messages_lib/01dd_537a_Accept_0a.rel create mode 100644 src/nos/lib/messages_lib/01dd_55db_250_20_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/01de_b988_Ack_20delay_20time_.rel create mode 100644 src/nos/lib/messages_lib/01de_c720_250_20File_20delete.rel create mode 100644 src/nos/lib/messages_lib/01df_de54_250_2d_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/01df_fccc_Active_20RIP_20outp.rel create mode 100644 src/nos/lib/messages_lib/01e0_9400_257_20_22_25s_22_20.rel delete mode 100644 src/nos/lib/messages_lib/01e0_e216_Address_2fControl_2.rel delete mode 100644 src/nos/lib/messages_lib/01e1_1fbc_All_20groups_20are_.rel create mode 100644 src/nos/lib/messages_lib/01e1_24f1_331_20Enter_20PASS_.rel create mode 100644 src/nos/lib/messages_lib/01e2_273f_421_20System_20over.rel delete mode 100644 src/nos/lib/messages_lib/01e2_4a0c_Allow_20ACCM.rel delete mode 100644 src/nos/lib/messages_lib/01e3_8e02_Allow_20Address.rel create mode 100644 src/nos/lib/messages_lib/01e3_e43d_425_20Data_20connec.rel delete mode 100644 src/nos/lib/messages_lib/01e4_7b21_Allow_20Address_2fC.rel create mode 100644 src/nos/lib/messages_lib/01e4_7e66_500_20Unknown_20com.rel create mode 100644 src/nos/lib/messages_lib/01e5_3d39_500_20Unsupported_2.rel delete mode 100644 src/nos/lib/messages_lib/01e5_5003_Allow_20Authenticat.rel delete mode 100644 src/nos/lib/messages_lib/01e6_081e_Allow_20Compression.rel create mode 100644 src/nos/lib/messages_lib/01e6_fe7e_501_20Bad_20port_20.rel create mode 100644 src/nos/lib/messages_lib/01e7_065e_501_20Only_20logica.rel delete mode 100644 src/nos/lib/messages_lib/01e7_14d8_Allow_20MRU.rel delete mode 100644 src/nos/lib/messages_lib/01e8_5c94_Allow_20Magic_20Num.rel create mode 100644 src/nos/lib/messages_lib/01e8_a2bf_501_20Unknown_20typ.rel delete mode 100644 src/nos/lib/messages_lib/01e9_33ea_Allow_20Protocol_20.rel create mode 100644 src/nos/lib/messages_lib/01e9_41cf_502_20Command_20not.rel delete mode 100644 src/nos/lib/messages_lib/01ea_a5f9_Already_20have_20_2.rel create mode 100644 src/nos/lib/messages_lib/01ea_f576_503_20Login_20with_.rel create mode 100644 src/nos/lib/messages_lib/01eb_7dc2_530_20Please_20log_.rel delete mode 100644 src/nos/lib/messages_lib/01eb_8eaf_Arcnet_3a_20len_20_.rel delete mode 100644 src/nos/lib/messages_lib/01ec_52c7_Argument_20missing_.rel create mode 100644 src/nos/lib/messages_lib/01ec_c53a_550_20Can_27t_20rea.rel delete mode 100644 src/nos/lib/messages_lib/01ed_3ed8_Ascii_0a.rel create mode 100644 src/nos/lib/messages_lib/01ed_4770_550_20Delete_20fail.rel create mode 100644 src/nos/lib/messages_lib/01ee_38c3_550_20Permission_20.rel delete mode 100644 src/nos/lib/messages_lib/01ee_7cb2_Attach_20device_20f.rel create mode 100644 src/nos/lib/messages_lib/01ef_95c1_552_20Write_20error.rel delete mode 100644 src/nos/lib/messages_lib/01ef_ec38_Attach_20netrom_20i.rel create mode 100644 src/nos/lib/messages_lib/01f0_7eaf_553_20Can_27t_20cre.rel delete mode 100644 src/nos/lib/messages_lib/01f0_ee22_Attended_20flag.rel delete mode 100644 src/nos/lib/messages_lib/01f1_0443_Available_20areas_2.rel create mode 100644 src/nos/lib/messages_lib/01f1_f0b2_553_20Can_27t_20rea.rel delete mode 100644 src/nos/lib/messages_lib/01f2_6999_Backoff_20Level_20_.rel create mode 100644 src/nos/lib/messages_lib/01f2_b04b__3a_20_25d_0a.rel create mode 100644 src/nos/lib/messages_lib/01f3_6aba__3a_20_25ld_0a.rel delete mode 100644 src/nos/lib/messages_lib/01f3_9716_Bad_20digipeater_20.rel delete mode 100644 src/nos/lib/messages_lib/01f4_0b9f_Bad_20syntax_2e_0a.rel create mode 100644 src/nos/lib/messages_lib/01f4_8cd1__3a_20_25s.rel create mode 100644 src/nos/lib/messages_lib/01f5_68d2__3a_20_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/01f5_e884_Bad_20target_20_25s.rel create mode 100644 src/nos/lib/messages_lib/01f6_3c02__3a_20_25u_0a.rel delete mode 100644 src/nos/lib/messages_lib/01f6_822a_Bad_20user_20or_20h.rel delete mode 100644 src/nos/lib/messages_lib/01f7_61f7_Base_20Addr_09Rxint.rel create mode 100644 src/nos/lib/messages_lib/01f7_6692__3b_20Tries_3a_20_2.rel create mode 100644 src/nos/lib/messages_lib/01f8_697b__3c_25ld_40_25s_3e_.rel delete mode 100644 src/nos/lib/messages_lib/01f8_929a_Base_20Addr_20_20Rx.rel create mode 100644 src/nos/lib/messages_lib/01f9_2587__3c_25s_40_25s_2ebb.rel delete mode 100644 src/nos/lib/messages_lib/01f9_de82_Buf_20hits_2fmiss_2.rel create mode 100644 src/nos/lib/messages_lib/01fa_3152__3c_3d_3d_25s.rel delete mode 100644 src/nos/lib/messages_lib/01fa_ae0c_CTRL_2d_25c_0a.rel delete mode 100644 src/nos/lib/messages_lib/01fb_6c46_CWD_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/01fb_defc__3c_3d_3d_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/01fc_016b__3d_3d_3eARTICLE_20.rel delete mode 100644 src/nos/lib/messages_lib/01fc_0e64_Calls_20originated_.rel delete mode 100644 src/nos/lib/messages_lib/01fd_9777_Calls_20timed_20out.rel create mode 100644 src/nos/lib/messages_lib/01fd_c133__3d_3d_3eNEWNEWS_20.rel create mode 100644 src/nos/lib/messages_lib/01fe_696c__3d_3d_3eQUIT_0a.rel delete mode 100644 src/nos/lib/messages_lib/01fe_e911_Can_27t_20NLST_20_2.rel create mode 100644 src/nos/lib/messages_lib/01ff_396e__3d_3dNo_20response.rel delete mode 100644 src/nos/lib/messages_lib/01ff_daf3_Can_27t_20add_20rou.rel delete mode 100644 src/nos/lib/messages_lib/0200_6db7_Can_27t_20attach_20.rel create mode 100644 src/nos/lib/messages_lib/0200_c6f3__3f.rel create mode 100644 src/nos/lib/messages_lib/0201_4d83__40.rel delete mode 100644 src/nos/lib/messages_lib/0201_79e8_Can_27t_20change_20.rel create mode 100644 src/nos/lib/messages_lib/0202_23d2__40_25s.rel delete mode 100644 src/nos/lib/messages_lib/0202_3bb8_Can_27t_20create_20.rel delete mode 100644 src/nos/lib/messages_lib/0203_0003_Can_27t_20create_20.rel create mode 100644 src/nos/lib/messages_lib/0203_7f61_ARP_3a_20len_20_25d.rel create mode 100644 src/nos/lib/messages_lib/0204_124c_ARTICLE_20_25s.rel delete mode 100644 src/nos/lib/messages_lib/0204_ef8c_Can_27t_20create_20.rel create mode 100644 src/nos/lib/messages_lib/0205_109d_AX25_20receive_20wi.rel delete mode 100644 src/nos/lib/messages_lib/0205_28e0_Can_27t_20create_20.rel delete mode 100644 src/nos/lib/messages_lib/0206_d5bc_Can_27t_20create_20.rel create mode 100644 src/nos/lib/messages_lib/0206_f4e0_AX25_20version.rel create mode 100644 src/nos/lib/messages_lib/0207_818f_AX25_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/0207_c7fb_Can_27t_20delete_20.rel delete mode 100644 src/nos/lib/messages_lib/0208_d5d6_Can_27t_20detach_20.rel create mode 100644 src/nos/lib/messages_lib/0208_f05c_Abort_0d_0a.rel delete mode 100644 src/nos/lib/messages_lib/0209_5d65_Can_27t_20find_20he.rel create mode 100644 src/nos/lib/messages_lib/0209_6caf_Aborted_2e.rel delete mode 100644 src/nos/lib/messages_lib/020a_3eee_Can_27t_20list_20lo.rel create mode 100644 src/nos/lib/messages_lib/020a_f2cb_Aborted_2e_0a.rel create mode 100644 src/nos/lib/messages_lib/020b_537a_Accept_0a.rel delete mode 100644 src/nos/lib/messages_lib/020b_c1c1_Can_27t_20open_20_2.rel create mode 100644 src/nos/lib/messages_lib/020c_d953_Ack_20Rcvd.rel delete mode 100644 src/nos/lib/messages_lib/020c_fedd_Can_27t_20open_20_2.rel create mode 100644 src/nos/lib/messages_lib/020d_58e1_Ack_20Sent.rel delete mode 100644 src/nos/lib/messages_lib/020d_fb2a_Can_27t_20open_20_2.rel create mode 100644 src/nos/lib/messages_lib/020e_b988_Ack_20delay_20time_.rel delete mode 100644 src/nos/lib/messages_lib/020e_d8a5_Can_27t_20open_20in.rel delete mode 100644 src/nos/lib/messages_lib/020f_0616_Can_27t_20read_20_2.rel create mode 100644 src/nos/lib/messages_lib/020f_fccc_Active_20RIP_20outp.rel delete mode 100644 src/nos/lib/messages_lib/0210_4a10_Can_27t_20read_20_2.rel create mode 100644 src/nos/lib/messages_lib/0210_fb01_Actively_20opening_.rel delete mode 100644 src/nos/lib/messages_lib/0211_8468_Can_27t_20read_20co.rel create mode 100644 src/nos/lib/messages_lib/0211_e216_Address_2fControl_2.rel create mode 100644 src/nos/lib/messages_lib/0212_1fbc_All_20groups_20are_.rel delete mode 100644 src/nos/lib/messages_lib/0212_4327_Can_27t_20read_20di.rel create mode 100644 src/nos/lib/messages_lib/0213_4a0c_Allow_20ACCM.rel delete mode 100644 src/nos/lib/messages_lib/0213_5fb2_Can_27t_20read_20lo.rel delete mode 100644 src/nos/lib/messages_lib/0214_36d4_Can_27t_20read_20pa.rel create mode 100644 src/nos/lib/messages_lib/0214_8e02_Allow_20Address.rel delete mode 100644 src/nos/lib/messages_lib/0215_5e43_Can_27t_20rename_20.rel create mode 100644 src/nos/lib/messages_lib/0215_7b21_Allow_20Address_2fC.rel delete mode 100644 src/nos/lib/messages_lib/0216_4bfe_Can_27t_20rewrite_2.rel create mode 100644 src/nos/lib/messages_lib/0216_5003_Allow_20Authenticat.rel create mode 100644 src/nos/lib/messages_lib/0217_081e_Allow_20Compression.rel delete mode 100644 src/nos/lib/messages_lib/0217_24ca_Can_27t_20set_20lin.rel create mode 100644 src/nos/lib/messages_lib/0218_14d8_Allow_20MRU.rel delete mode 100644 src/nos/lib/messages_lib/0218_5e82_Can_27t_20write_20_.rel create mode 100644 src/nos/lib/messages_lib/0219_5c94_Allow_20Magic_20Num.rel delete mode 100644 src/nos/lib/messages_lib/0219_988b_Can_27t_20write_20l.rel create mode 100644 src/nos/lib/messages_lib/021a_33ea_Allow_20Protocol_20.rel delete mode 100644 src/nos/lib/messages_lib/021a_c0f9_Can_27t_20write_20t.rel delete mode 100644 src/nos/lib/messages_lib/021b_5055_Ch_20Iface_20_20_20.rel create mode 100644 src/nos/lib/messages_lib/021b_a5f9_Already_20have_20_2.rel create mode 100644 src/nos/lib/messages_lib/021c_8eaf_Arcnet_3a_20len_20_.rel delete mode 100644 src/nos/lib/messages_lib/021c_eff3_Channel_20_2d_20_25.rel delete mode 100644 src/nos/lib/messages_lib/021d_1b09_Choke_20timeout_20_.rel create mode 100644 src/nos/lib/messages_lib/021d_52c7_Argument_20missing_.rel create mode 100644 src/nos/lib/messages_lib/021e_3ed8_Ascii_0a.rel delete mode 100644 src/nos/lib/messages_lib/021e_f95c_Closed_3a_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/021f_7cb2_Attach_20device_20f.rel delete mode 100644 src/nos/lib/messages_lib/021f_e508_Command_20batching.rel delete mode 100644 src/nos/lib/messages_lib/0220_b471_Connect_20failed_0a.rel create mode 100644 src/nos/lib/messages_lib/0220_ec38_Attach_20netrom_20i.rel delete mode 100644 src/nos/lib/messages_lib/0221_bb2f_Connect_20failed_3a.rel create mode 100644 src/nos/lib/messages_lib/0221_ee22_Attended_20flag.rel delete mode 100644 src/nos/lib/messages_lib/0222_85e9_Connect_20to_20mail.rel create mode 100644 src/nos/lib/messages_lib/0222_b76d_Authentication_20Ph.rel create mode 100644 src/nos/lib/messages_lib/0223_0443_Available_20areas_2.rel delete mode 100644 src/nos/lib/messages_lib/0223_6930_Connected_0a.rel delete mode 100644 src/nos/lib/messages_lib/0224_5189_Connected_20to_20_2.rel create mode 100644 src/nos/lib/messages_lib/0224_6999_Backoff_20Level_20_.rel delete mode 100644 src/nos/lib/messages_lib/0225_771a_Connected_20to_20ma.rel create mode 100644 src/nos/lib/messages_lib/0225_9716_Bad_20digipeater_20.rel create mode 100644 src/nos/lib/messages_lib/0226_0b9f_Bad_20syntax_2e_0a.rel delete mode 100644 src/nos/lib/messages_lib/0226_0e16_Connected_2e.rel delete mode 100644 src/nos/lib/messages_lib/0227_3e79_Connection_20closed.rel create mode 100644 src/nos/lib/messages_lib/0227_e884_Bad_20target_20_25s.rel create mode 100644 src/nos/lib/messages_lib/0228_822a_Bad_20user_20or_20h.rel delete mode 100644 src/nos/lib/messages_lib/0228_faa9_Connection_20failed.rel delete mode 100644 src/nos/lib/messages_lib/0229_3676_Could_20not_20creat.rel create mode 100644 src/nos/lib/messages_lib/0229_61f7_Base_20Addr_09Rxint.rel create mode 100644 src/nos/lib/messages_lib/022a_929a_Base_20Addr_20_20Rx.rel delete mode 100644 src/nos/lib/messages_lib/022a_d95b_Couldn_27t_20queue_.rel delete mode 100644 src/nos/lib/messages_lib/022b_68a6_Current_20message_2.rel create mode 100644 src/nos/lib/messages_lib/022b_de82_Buf_20hits_2fmiss_2.rel delete mode 100644 src/nos/lib/messages_lib/022c_23ad_Currently_20enabled.rel create mode 100644 src/nos/lib/messages_lib/022c_ae0c_CTRL_2d_25c_0a.rel delete mode 100644 src/nos/lib/messages_lib/022d_1cf7_DELE_20_25s.rel create mode 100644 src/nos/lib/messages_lib/022d_6c46_CWD_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/022e_0e64_Calls_20originated_.rel delete mode 100644 src/nos/lib/messages_lib/022e_5fad_DISASTER_21_20Out_2.rel delete mode 100644 src/nos/lib/messages_lib/022f_7ce2_DRSI_20Board_20Stat.rel create mode 100644 src/nos/lib/messages_lib/022f_9777_Calls_20timed_20out.rel delete mode 100644 src/nos/lib/messages_lib/0230_2f52_D_5bU_5d_20filename.rel create mode 100644 src/nos/lib/messages_lib/0230_e911_Can_27t_20NLST_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0231_698b_Data_0a.rel create mode 100644 src/nos/lib/messages_lib/0231_daf3_Can_27t_20add_20rou.rel create mode 100644 src/nos/lib/messages_lib/0232_6db7_Can_27t_20attach_20.rel delete mode 100644 src/nos/lib/messages_lib/0232_cb1c_Data_20outside_20he.rel delete mode 100644 src/nos/lib/messages_lib/0233_01be_Data_20pointer_20_2.rel create mode 100644 src/nos/lib/messages_lib/0233_79e8_Can_27t_20change_20.rel create mode 100644 src/nos/lib/messages_lib/0234_3bb8_Can_27t_20create_20.rel delete mode 100644 src/nos/lib/messages_lib/0234_3cbb_Data_20pointer_20be.rel create mode 100644 src/nos/lib/messages_lib/0235_0003_Can_27t_20create_20.rel delete mode 100644 src/nos/lib/messages_lib/0235_bd70_Defaulting_20to_20b.rel delete mode 100644 src/nos/lib/messages_lib/0236_2d19_Del_5fconst_20_3d_2.rel create mode 100644 src/nos/lib/messages_lib/0236_ef8c_Can_27t_20create_20.rel create mode 100644 src/nos/lib/messages_lib/0237_28e0_Can_27t_20create_20.rel delete mode 100644 src/nos/lib/messages_lib/0237_6255_Dest_20Addr_20_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0238_3894_Dialing_20not_20sup.rel create mode 100644 src/nos/lib/messages_lib/0238_d5bc_Can_27t_20create_20.rel delete mode 100644 src/nos/lib/messages_lib/0239_26a3_Different_0a.rel create mode 100644 src/nos/lib/messages_lib/0239_c7fb_Can_27t_20delete_20.rel delete mode 100644 src/nos/lib/messages_lib/023a_ae33_Digipeat.rel create mode 100644 src/nos/lib/messages_lib/023a_d5d6_Can_27t_20detach_20.rel create mode 100644 src/nos/lib/messages_lib/023b_5d65_Can_27t_20find_20he.rel delete mode 100644 src/nos/lib/messages_lib/023b_af35_Directory_20table_2.rel create mode 100644 src/nos/lib/messages_lib/023c_3eee_Can_27t_20list_20lo.rel delete mode 100644 src/nos/lib/messages_lib/023c_c1bb_Disconnected_20.rel delete mode 100644 src/nos/lib/messages_lib/023d_2cc5_Disconnecting_2e.rel create mode 100644 src/nos/lib/messages_lib/023d_c1c1_Can_27t_20open_20_2.rel delete mode 100644 src/nos/lib/messages_lib/023e_b7f4_Dup_20acks_20_20_20.rel create mode 100644 src/nos/lib/messages_lib/023e_fedd_Can_27t_20open_20_2.rel delete mode 100644 src/nos/lib/messages_lib/023f_3ed4_Duplex_3a_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/023f_fb2a_Can_27t_20open_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0240_b671_E2BIG.rel create mode 100644 src/nos/lib/messages_lib/0240_d8a5_Can_27t_20open_20in.rel delete mode 100644 src/nos/lib/messages_lib/0241_56e8_EACCES.rel create mode 100644 src/nos/lib/messages_lib/0241_8131_Can_27t_20read_20.rel create mode 100644 src/nos/lib/messages_lib/0242_4a10_Can_27t_20read_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0242_f378_EAGAIN.rel delete mode 100644 src/nos/lib/messages_lib/0243_0483_EAGLE_20Board_20Sta.rel create mode 100644 src/nos/lib/messages_lib/0243_8468_Can_27t_20read_20co.rel create mode 100644 src/nos/lib/messages_lib/0244_4327_Can_27t_20read_20di.rel delete mode 100644 src/nos/lib/messages_lib/0244_a2a1_EBADF.rel create mode 100644 src/nos/lib/messages_lib/0245_5fb2_Can_27t_20read_20lo.rel delete mode 100644 src/nos/lib/messages_lib/0245_74ba_EBUSY.rel create mode 100644 src/nos/lib/messages_lib/0246_36d4_Can_27t_20read_20pa.rel delete mode 100644 src/nos/lib/messages_lib/0246_4029_ECHILD.rel create mode 100644 src/nos/lib/messages_lib/0247_5e43_Can_27t_20rename_20.rel delete mode 100644 src/nos/lib/messages_lib/0247_cd2b_EDEADLK.rel delete mode 100644 src/nos/lib/messages_lib/0248_4299_EDOM.rel create mode 100644 src/nos/lib/messages_lib/0248_4bfe_Can_27t_20rewrite_2.rel create mode 100644 src/nos/lib/messages_lib/0249_24ca_Can_27t_20set_20lin.rel delete mode 100644 src/nos/lib/messages_lib/0249_bec8_EEXIST.rel create mode 100644 src/nos/lib/messages_lib/024a_5e82_Can_27t_20write_20_.rel delete mode 100644 src/nos/lib/messages_lib/024a_afa9_EFAULT.rel create mode 100644 src/nos/lib/messages_lib/024b_988b_Can_27t_20write_20l.rel delete mode 100644 src/nos/lib/messages_lib/024b_9ed8_EFBIG.rel delete mode 100644 src/nos/lib/messages_lib/024c_28f7_EGATTACH_3a_20No_20.rel create mode 100644 src/nos/lib/messages_lib/024c_c0f9_Can_27t_20write_20t.rel create mode 100644 src/nos/lib/messages_lib/024d_5055_Ch_20Iface_20_20_20.rel delete mode 100644 src/nos/lib/messages_lib/024d_eb47_EINTR.rel create mode 100644 src/nos/lib/messages_lib/024e_95d8_Ch_20Iface_20_20CTS.rel delete mode 100644 src/nos/lib/messages_lib/024e_b479_EINVAL.rel delete mode 100644 src/nos/lib/messages_lib/024f_21d8_EINVFNC.rel create mode 100644 src/nos/lib/messages_lib/024f_eff3_Channel_20_2d_20_25.rel create mode 100644 src/nos/lib/messages_lib/0250_1b09_Choke_20timeout_20_.rel delete mode 100644 src/nos/lib/messages_lib/0250_2d75_EIO.rel create mode 100644 src/nos/lib/messages_lib/0251_433b_Close.rel delete mode 100644 src/nos/lib/messages_lib/0251_fb45_EISDIR.rel delete mode 100644 src/nos/lib/messages_lib/0252_8de7_ELOOP.rel create mode 100644 src/nos/lib/messages_lib/0252_aa31_Closed.rel delete mode 100644 src/nos/lib/messages_lib/0253_9e5a_EMFILE.rel create mode 100644 src/nos/lib/messages_lib/0253_f95c_Closed_3a_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/0254_253f_Closing_20PPP.rel delete mode 100644 src/nos/lib/messages_lib/0254_983a_EMLINK.rel delete mode 100644 src/nos/lib/messages_lib/0255_0607_ENAMETOOLONG.rel create mode 100644 src/nos/lib/messages_lib/0255_5627_Code_20Reject.rel delete mode 100644 src/nos/lib/messages_lib/0256_8396_ENFILE.rel create mode 100644 src/nos/lib/messages_lib/0256_e508_Command_20batching.rel create mode 100644 src/nos/lib/messages_lib/0257_6fb2_Compressed_20TCP_2f.rel delete mode 100644 src/nos/lib/messages_lib/0257_7088_ENODEV.rel create mode 100644 src/nos/lib/messages_lib/0258_242d_Compressed_20TCP_2f.rel delete mode 100644 src/nos/lib/messages_lib/0258_edee_ENOENT.rel create mode 100644 src/nos/lib/messages_lib/0259_531f_Config_20Ack.rel delete mode 100644 src/nos/lib/messages_lib/0259_a107_ENOEXEC.rel delete mode 100644 src/nos/lib/messages_lib/025a_29fe_ENOLCK.rel create mode 100644 src/nos/lib/messages_lib/025a_2a68_Config_20Nak.rel create mode 100644 src/nos/lib/messages_lib/025b_194d_Config_20Reject.rel delete mode 100644 src/nos/lib/messages_lib/025b_42c4_ENOMEM.rel create mode 100644 src/nos/lib/messages_lib/025c_d2e5_Config_20Req.rel delete mode 100644 src/nos/lib/messages_lib/025c_d51d_ENOSPC.rel create mode 100644 src/nos/lib/messages_lib/025d_b471_Connect_20failed_0a.rel delete mode 100644 src/nos/lib/messages_lib/025d_d3a2_ENOTBLK.rel create mode 100644 src/nos/lib/messages_lib/025e_bb2f_Connect_20failed_3a.rel delete mode 100644 src/nos/lib/messages_lib/025e_f683_ENOTDIR.rel delete mode 100644 src/nos/lib/messages_lib/025f_83de_ENOTEMPTY.rel create mode 100644 src/nos/lib/messages_lib/025f_85e9_Connect_20to_20mail.rel create mode 100644 src/nos/lib/messages_lib/0260_6930_Connected_0a.rel delete mode 100644 src/nos/lib/messages_lib/0260_81a3_ENOTTY.rel delete mode 100644 src/nos/lib/messages_lib/0261_01a7_ENXIO.rel create mode 100644 src/nos/lib/messages_lib/0261_5189_Connected_20to_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0262_4485_EPERM.rel create mode 100644 src/nos/lib/messages_lib/0262_771a_Connected_20to_20ma.rel create mode 100644 src/nos/lib/messages_lib/0263_0e16_Connected_2e.rel delete mode 100644 src/nos/lib/messages_lib/0263_5ede_EPIPE.rel create mode 100644 src/nos/lib/messages_lib/0264_3e79_Connection_20closed.rel delete mode 100644 src/nos/lib/messages_lib/0264_7f6a_ERANGE.rel delete mode 100644 src/nos/lib/messages_lib/0265_0587_EROFS.rel create mode 100644 src/nos/lib/messages_lib/0265_faa9_Connection_20failed.rel create mode 100644 src/nos/lib/messages_lib/0266_3676_Could_20not_20creat.rel delete mode 100644 src/nos/lib/messages_lib/0266_6b3a_ESCC_20channel_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0267_6d38_ESCC_20channel_20_2.rel create mode 100644 src/nos/lib/messages_lib/0267_d95b_Couldn_27t_20queue_.rel delete mode 100644 src/nos/lib/messages_lib/0268_0a8a_ESCC_20driver_20alr.rel create mode 100644 src/nos/lib/messages_lib/0268_68a6_Current_20message_2.rel create mode 100644 src/nos/lib/messages_lib/0269_23ad_Currently_20enabled.rel delete mode 100644 src/nos/lib/messages_lib/0269_d89e_ESCC_20driver_20not.rel create mode 100644 src/nos/lib/messages_lib/026a_1cf7_DELE_20_25s.rel delete mode 100644 src/nos/lib/messages_lib/026a_dd82_ESHELL.rel create mode 100644 src/nos/lib/messages_lib/026b_5fad_DISASTER_21_20Out_2.rel delete mode 100644 src/nos/lib/messages_lib/026b_ffa8_ESPIPE.rel create mode 100644 src/nos/lib/messages_lib/026c_7ce2_DRSI_20Board_20Stat.rel delete mode 100644 src/nos/lib/messages_lib/026c_b33c_ESRCH.rel delete mode 100644 src/nos/lib/messages_lib/026d_194a_ETXTBSY.rel create mode 100644 src/nos/lib/messages_lib/026d_2f52_D_5bU_5d_20filename.rel create mode 100644 src/nos/lib/messages_lib/026e_698b_Data_0a.rel delete mode 100644 src/nos/lib/messages_lib/026e_8d4a_EXDEV.rel delete mode 100644 src/nos/lib/messages_lib/026f_4f54_Encapsulation_20mod.rel create mode 100644 src/nos/lib/messages_lib/026f_cb1c_Data_20outside_20he.rel create mode 100644 src/nos/lib/messages_lib/0270_01be_Data_20pointer_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0270_0f4a_Enqued_20_20_2d_20_.rel create mode 100644 src/nos/lib/messages_lib/0271_3cbb_Data_20pointer_20be.rel delete mode 100644 src/nos/lib/messages_lib/0271_de30_Enter_20message_2e_.rel delete mode 100644 src/nos/lib/messages_lib/0272_3a50_Error_20in_20respon.rel create mode 100644 src/nos/lib/messages_lib/0272_bd70_Defaulting_20to_20b.rel create mode 100644 src/nos/lib/messages_lib/0273_2d19_Del_5fconst_20_3d_2.rel delete mode 100644 src/nos/lib/messages_lib/0273_d568_Error_20updating_20.rel create mode 100644 src/nos/lib/messages_lib/0274_6255_Dest_20Addr_20_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0274_69fc_Error_20writing_20m.rel create mode 100644 src/nos/lib/messages_lib/0275_3894_Dialing_20not_20sup.rel delete mode 100644 src/nos/lib/messages_lib/0275_9664_Escape_20character_.rel create mode 100644 src/nos/lib/messages_lib/0276_26a3_Different_0a.rel delete mode 100644 src/nos/lib/messages_lib/0276_8c2d_Ether_3a_20len_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0277_3af3_F_3e.rel create mode 100644 src/nos/lib/messages_lib/0277_ae33_Digipeat.rel delete mode 100644 src/nos/lib/messages_lib/0278_0046_Failed_0a.rel create mode 100644 src/nos/lib/messages_lib/0278_af35_Directory_20table_2.rel delete mode 100644 src/nos/lib/messages_lib/0279_4a7b_First_20init_20ESCC.rel create mode 100644 src/nos/lib/messages_lib/0279_c453_Discard_20Request.rel delete mode 100644 src/nos/lib/messages_lib/027a_0954_Forwarding_20timer_.rel create mode 100644 src/nos/lib/messages_lib/027a_c1bb_Disconnected_20.rel create mode 100644 src/nos/lib/messages_lib/027b_2cc5_Disconnecting_2e.rel delete mode 100644 src/nos/lib/messages_lib/027b_95bb_Free_20address_20qu.rel create mode 100644 src/nos/lib/messages_lib/027c_1f44_Down.rel delete mode 100644 src/nos/lib/messages_lib/027c_fee7_Free_20cache_3a_20s.rel delete mode 100644 src/nos/lib/messages_lib/027d_8dc1_Free_20memory_20thr.rel create mode 100644 src/nos/lib/messages_lib/027d_b7f4_Dup_20acks_20_20_20.rel delete mode 100644 src/nos/lib/messages_lib/027e_1be2_From_20_25s_20_25s.rel create mode 100644 src/nos/lib/messages_lib/027e_3ed4_Duplex_3a_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/027f_b671_E2BIG.rel delete mode 100644 src/nos/lib/messages_lib/027f_d837_From_3a_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/0280_56e8_EACCES.rel delete mode 100644 src/nos/lib/messages_lib/0280_b9a0_Garbage_20bp_20_25l.rel delete mode 100644 src/nos/lib/messages_lib/0281_7731_Group_20list_20too_.rel create mode 100644 src/nos/lib/messages_lib/0281_f378_EAGAIN.rel create mode 100644 src/nos/lib/messages_lib/0282_0483_EAGLE_20Board_20Sta.rel delete mode 100644 src/nos/lib/messages_lib/0282_ccdf_HAPN_20_25d_3a_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0283_9570_HOPCHECK_20start_20.rel create mode 100644 src/nos/lib/messages_lib/0283_a2a1_EBADF.rel create mode 100644 src/nos/lib/messages_lib/0284_74ba_EBUSY.rel delete mode 100644 src/nos/lib/messages_lib/0284_8ef4_HOPCHECK_20to_20_25.rel create mode 100644 src/nos/lib/messages_lib/0285_4029_ECHILD.rel delete mode 100644 src/nos/lib/messages_lib/0285_c794_HOPCHECK_20tracing.rel delete mode 100644 src/nos/lib/messages_lib/0286_4952_HS_3a_20Warning_3a_.rel create mode 100644 src/nos/lib/messages_lib/0286_cd2b_EDEADLK.rel delete mode 100644 src/nos/lib/messages_lib/0287_10ba_Hardware_20_25u_0a.rel create mode 100644 src/nos/lib/messages_lib/0287_4299_EDOM.rel delete mode 100644 src/nos/lib/messages_lib/0288_32e9_Heap_20debugging.rel create mode 100644 src/nos/lib/messages_lib/0288_bec8_EEXIST.rel delete mode 100644 src/nos/lib/messages_lib/0289_9144_Host_20_25s_20_28_2.rel create mode 100644 src/nos/lib/messages_lib/0289_afa9_EFAULT.rel delete mode 100644 src/nos/lib/messages_lib/028a_862c_Host_20_25s_20unkno.rel create mode 100644 src/nos/lib/messages_lib/028a_9ed8_EFBIG.rel create mode 100644 src/nos/lib/messages_lib/028b_28f7_EGATTACH_3a_20No_20.rel delete mode 100644 src/nos/lib/messages_lib/028b_f216_Hostname_20set_20to.rel delete mode 100644 src/nos/lib/messages_lib/028c_267d_Hytech_20KA9Q_20NOS.rel create mode 100644 src/nos/lib/messages_lib/028c_eb47_EINTR.rel create mode 100644 src/nos/lib/messages_lib/028d_b479_EINVAL.rel delete mode 100644 src/nos/lib/messages_lib/028d_df4f_ICMP_20echo_20respo.rel create mode 100644 src/nos/lib/messages_lib/028e_21d8_EINVFNC.rel delete mode 100644 src/nos/lib/messages_lib/028e_db6d_ICMP_20from_20_25s_.rel create mode 100644 src/nos/lib/messages_lib/028f_2d75_EIO.rel delete mode 100644 src/nos/lib/messages_lib/028f_abbc_ICMP_20tracing.rel delete mode 100644 src/nos/lib/messages_lib/0290_6b85_ICMP_3a_20type_20_2.rel create mode 100644 src/nos/lib/messages_lib/0290_fb45_EISDIR.rel create mode 100644 src/nos/lib/messages_lib/0291_8de7_ELOOP.rel delete mode 100644 src/nos/lib/messages_lib/0291_dff6_IP_0a.rel delete mode 100644 src/nos/lib/messages_lib/0292_5812_IP_20Time_2dto_2dli.rel create mode 100644 src/nos/lib/messages_lib/0292_9e5a_EMFILE.rel delete mode 100644 src/nos/lib/messages_lib/0293_0e41_IP_20addr_20_20_20_.rel create mode 100644 src/nos/lib/messages_lib/0293_983a_EMLINK.rel create mode 100644 src/nos/lib/messages_lib/0294_0607_ENAMETOOLONG.rel delete mode 100644 src/nos/lib/messages_lib/0294_8cdb_IP_20reasm_20timeou.rel delete mode 100644 src/nos/lib/messages_lib/0295_5f88_IP_20rx_20tracing.rel create mode 100644 src/nos/lib/messages_lib/0295_8396_ENFILE.rel create mode 100644 src/nos/lib/messages_lib/0296_7088_ENODEV.rel delete mode 100644 src/nos/lib/messages_lib/0296_88e0_IP_3a_20CHECKSUM_20.rel delete mode 100644 src/nos/lib/messages_lib/0297_03a7_IP_3a_20bad_20heade.rel create mode 100644 src/nos/lib/messages_lib/0297_edee_ENOENT.rel delete mode 100644 src/nos/lib/messages_lib/0298_4543_IP_3a_20len_20_25u.rel create mode 100644 src/nos/lib/messages_lib/0298_a107_ENOEXEC.rel create mode 100644 src/nos/lib/messages_lib/0299_29fe_ENOLCK.rel delete mode 100644 src/nos/lib/messages_lib/0299_e067_IPCP_0a.rel create mode 100644 src/nos/lib/messages_lib/029a_42c4_ENOMEM.rel delete mode 100644 src/nos/lib/messages_lib/029a_7c5c_IPCP_20_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/029b_a490_IRQ_20_25u_20out_20.rel create mode 100644 src/nos/lib/messages_lib/029b_d51d_ENOSPC.rel delete mode 100644 src/nos/lib/messages_lib/029c_925d_Idle_20poll_20timer.rel create mode 100644 src/nos/lib/messages_lib/029c_d3a2_ENOTBLK.rel delete mode 100644 src/nos/lib/messages_lib/029d_4ab5_Image_0a.rel create mode 100644 src/nos/lib/messages_lib/029d_f683_ENOTDIR.rel delete mode 100644 src/nos/lib/messages_lib/029e_7e58_Initial_20RTT_20_28.rel create mode 100644 src/nos/lib/messages_lib/029e_83de_ENOTEMPTY.rel create mode 100644 src/nos/lib/messages_lib/029f_81a3_ENOTTY.rel delete mode 100644 src/nos/lib/messages_lib/029f_bd38_Inqlen_3a_20_25d_20.rel create mode 100644 src/nos/lib/messages_lib/02a0_01a7_ENXIO.rel delete mode 100644 src/nos/lib/messages_lib/02a0_c7f6_Insufficient_20args.rel create mode 100644 src/nos/lib/messages_lib/02a1_4485_EPERM.rel delete mode 100644 src/nos/lib/messages_lib/02a1_fcf9_Interface_20_20_20R.rel create mode 100644 src/nos/lib/messages_lib/02a2_5ede_EPIPE.rel delete mode 100644 src/nos/lib/messages_lib/02a2_b903_Interface_20_22_25s.rel delete mode 100644 src/nos/lib/messages_lib/02a3_4daf_Interface_20_22_25s.rel create mode 100644 src/nos/lib/messages_lib/02a3_7f6a_ERANGE.rel create mode 100644 src/nos/lib/messages_lib/02a4_0587_EROFS.rel delete mode 100644 src/nos/lib/messages_lib/02a4_42ac_Interface_20_22_25s.rel delete mode 100644 src/nos/lib/messages_lib/02a5_5a50_Interface_20_25s_20.rel create mode 100644 src/nos/lib/messages_lib/02a5_6b3a_ESCC_20channel_20_2.rel delete mode 100644 src/nos/lib/messages_lib/02a6_1298_Interface_20_25s_20.rel create mode 100644 src/nos/lib/messages_lib/02a6_6d38_ESCC_20channel_20_2.rel create mode 100644 src/nos/lib/messages_lib/02a7_0a8a_ESCC_20driver_20alr.rel delete mode 100644 src/nos/lib/messages_lib/02a7_24cb_Interface_20_25s_20.rel delete mode 100644 src/nos/lib/messages_lib/02a8_c749_Interface_20_25s_20.rel create mode 100644 src/nos/lib/messages_lib/02a8_d89e_ESCC_20driver_20not.rel delete mode 100644 src/nos/lib/messages_lib/02a9_63a0_Interface_20_25s_20.rel create mode 100644 src/nos/lib/messages_lib/02a9_dd82_ESHELL.rel delete mode 100644 src/nos/lib/messages_lib/02aa_8880_Interface_20_25s_20.rel create mode 100644 src/nos/lib/messages_lib/02aa_ffa8_ESPIPE.rel delete mode 100644 src/nos/lib/messages_lib/02ab_6e91_Interface_20_25s_20.rel create mode 100644 src/nos/lib/messages_lib/02ab_b33c_ESRCH.rel delete mode 100644 src/nos/lib/messages_lib/02ac_103c_Interface_20address.rel create mode 100644 src/nos/lib/messages_lib/02ac_194a_ETXTBSY.rel create mode 100644 src/nos/lib/messages_lib/02ad_8d4a_EXDEV.rel delete mode 100644 src/nos/lib/messages_lib/02ad_c429_Interface_3a_20.rel create mode 100644 src/nos/lib/messages_lib/02ae_6684_Echo_20Reply.rel delete mode 100644 src/nos/lib/messages_lib/02ae_d726_Invalid_20magic_20c.rel create mode 100644 src/nos/lib/messages_lib/02af_1323_Echo_20Request.rel delete mode 100644 src/nos/lib/messages_lib/02af_42d9_Invalid_20range_2e_.rel create mode 100644 src/nos/lib/messages_lib/02b0_4f54_Encapsulation_20mod.rel delete mode 100644 src/nos/lib/messages_lib/02b0_89c0_Invalid_20type_20_2.rel create mode 100644 src/nos/lib/messages_lib/02b1_0f4a_Enqued_20_20_2d_20_.rel delete mode 100644 src/nos/lib/messages_lib/02b1_62ed_Invalid_20user_20na.rel delete mode 100644 src/nos/lib/messages_lib/02b2_be0b_Job_20id_20_25s_20n.rel create mode 100644 src/nos/lib/messages_lib/02b2_de30_Enter_20message_2e_.rel create mode 100644 src/nos/lib/messages_lib/02b3_3a50_Error_20in_20respon.rel delete mode 100644 src/nos/lib/messages_lib/02b3_87a9_K_20numbers.rel delete mode 100644 src/nos/lib/messages_lib/02b4_414e_KISS_3a_20.rel create mode 100644 src/nos/lib/messages_lib/02b4_d568_Error_20updating_20.rel delete mode 100644 src/nos/lib/messages_lib/02b5_1668_Known_20users_20on_.rel create mode 100644 src/nos/lib/messages_lib/02b5_69fc_Error_20writing_20m.rel delete mode 100644 src/nos/lib/messages_lib/02b6_171d_LCP_0a.rel create mode 100644 src/nos/lib/messages_lib/02b6_9664_Escape_20character_.rel create mode 100644 src/nos/lib/messages_lib/02b7_bdca_Establishment_20Pha.rel delete mode 100644 src/nos/lib/messages_lib/02b7_befe_LCP_20_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/02b8_1d45_Last_20message_0a.rel create mode 100644 src/nos/lib/messages_lib/02b8_8c2d_Ether_3a_20len_20_2.rel create mode 100644 src/nos/lib/messages_lib/02b9_3af3_F_3e.rel delete mode 100644 src/nos/lib/messages_lib/02b9_a317_Loc_20.rel create mode 100644 src/nos/lib/messages_lib/02ba_0046_Failed_0a.rel delete mode 100644 src/nos/lib/messages_lib/02ba_5ce5_Local_3a_20_25s.rel delete mode 100644 src/nos/lib/messages_lib/02bb_0926_Local_3a_20_25s_20_.rel create mode 100644 src/nos/lib/messages_lib/02bb_8931_Failed_3b_20close_2.rel create mode 100644 src/nos/lib/messages_lib/02bc_4a7b_First_20init_20ESCC.rel delete mode 100644 src/nos/lib/messages_lib/02bc_6210_Lock_20directory_20.rel create mode 100644 src/nos/lib/messages_lib/02bd_0954_Forwarding_20timer_.rel delete mode 100644 src/nos/lib/messages_lib/02bd_f59a_Logging_20off_0a.rel delete mode 100644 src/nos/lib/messages_lib/02be_1bd9_Logging_20to_20_25s.rel create mode 100644 src/nos/lib/messages_lib/02be_95bb_Free_20address_20qu.rel delete mode 100644 src/nos/lib/messages_lib/02bf_4a5a_Logical_20bytesize_.rel create mode 100644 src/nos/lib/messages_lib/02bf_fee7_Free_20cache_3a_20s.rel delete mode 100644 src/nos/lib/messages_lib/02c0_4f93_Login_20incorrect_0.rel create mode 100644 src/nos/lib/messages_lib/02c0_8dc1_Free_20memory_20thr.rel create mode 100644 src/nos/lib/messages_lib/02c1_1be2_From_20_25s_20_25s.rel delete mode 100644 src/nos/lib/messages_lib/02c1_8ac2_MBOX_20Zap_3a_20_25.rel delete mode 100644 src/nos/lib/messages_lib/02c2_1dc7_MBOX_20bbs_20mail_2.rel create mode 100644 src/nos/lib/messages_lib/02c2_d837_From_3a_20_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/02c3_37c2_MBOX_20bbs_20mail_2.rel create mode 100644 src/nos/lib/messages_lib/02c3_b9a0_Garbage_20bp_20_25l.rel create mode 100644 src/nos/lib/messages_lib/02c4_7731_Group_20list_20too_.rel delete mode 100644 src/nos/lib/messages_lib/02c4_f88f_MBOX_20forward_20fa.rel delete mode 100644 src/nos/lib/messages_lib/02c5_9bd4_MBOX_20forwarding_2.rel create mode 100644 src/nos/lib/messages_lib/02c5_ccdf_HAPN_20_25d_3a_20_2.rel create mode 100644 src/nos/lib/messages_lib/02c6_9570_HOPCHECK_20start_20.rel delete mode 100644 src/nos/lib/messages_lib/02c6_d1e8_MBOX_20login_3a_20_.rel create mode 100644 src/nos/lib/messages_lib/02c7_8ef4_HOPCHECK_20to_20_25.rel delete mode 100644 src/nos/lib/messages_lib/02c7_dd2e_MBOX_20login_3a_20_.rel create mode 100644 src/nos/lib/messages_lib/02c8_c794_HOPCHECK_20tracing.rel delete mode 100644 src/nos/lib/messages_lib/02c8_e920_MBOX_20sysop_3a_20_.rel create mode 100644 src/nos/lib/messages_lib/02c9_4952_HS_3a_20Warning_3a_.rel delete mode 100644 src/nos/lib/messages_lib/02c9_a30c_MBOX_20upload_3a_20.rel create mode 100644 src/nos/lib/messages_lib/02ca_10ba_Hardware_20_25u_0a.rel delete mode 100644 src/nos/lib/messages_lib/02ca_c247_MKD_20_25s.rel create mode 100644 src/nos/lib/messages_lib/02cb_32e9_Heap_20debugging.rel delete mode 100644 src/nos/lib/messages_lib/02cb_53a6_MRU_20_25s_20_28_25.rel create mode 100644 src/nos/lib/messages_lib/02cc_9144_Host_20_25s_20_28_2.rel delete mode 100644 src/nos/lib/messages_lib/02cc_f9a6_Magic_20Number.rel create mode 100644 src/nos/lib/messages_lib/02cd_862c_Host_20_25s_20unkno.rel delete mode 100644 src/nos/lib/messages_lib/02cd_d070_Mail_20area_3a_20_2.rel delete mode 100644 src/nos/lib/messages_lib/02ce_0103_Mail_20box_20full_3.rel create mode 100644 src/nos/lib/messages_lib/02ce_f216_Hostname_20set_20to.rel create mode 100644 src/nos/lib/messages_lib/02cf_267d_Hytech_20KA9Q_20NOS.rel delete mode 100644 src/nos/lib/messages_lib/02cf_523a_Main_20commands_3a_.rel delete mode 100644 src/nos/lib/messages_lib/02d0_dcca_Max_20attempts_20to.rel create mode 100644 src/nos/lib/messages_lib/02d0_df4f_ICMP_20echo_20respo.rel delete mode 100644 src/nos/lib/messages_lib/02d1_0279_Max_20clients.rel create mode 100644 src/nos/lib/messages_lib/02d1_db6d_ICMP_20from_20_25s_.rel delete mode 100644 src/nos/lib/messages_lib/02d2_3cd5_Max_20frame_20lengt.rel create mode 100644 src/nos/lib/messages_lib/02d2_abbc_ICMP_20tracing.rel create mode 100644 src/nos/lib/messages_lib/02d3_6b85_ICMP_3a_20type_20_2.rel delete mode 100644 src/nos/lib/messages_lib/02d3_d96d_Maximum_20messages_.rel delete mode 100644 src/nos/lib/messages_lib/02d4_488d_Mbuf_20sizes_3a_0a.rel create mode 100644 src/nos/lib/messages_lib/02d4_dff6_IP_0a.rel create mode 100644 src/nos/lib/messages_lib/02d5_5812_IP_20Time_2dto_2dli.rel delete mode 100644 src/nos/lib/messages_lib/02d5_ee8f_Message_20_23_25d_2.rel create mode 100644 src/nos/lib/messages_lib/02d6_0e41_IP_20addr_20_20_20_.rel delete mode 100644 src/nos/lib/messages_lib/02d6_b5f9_Mode_20_25s_20unkno.rel create mode 100644 src/nos/lib/messages_lib/02d7_8cdb_IP_20reasm_20timeou.rel delete mode 100644 src/nos/lib/messages_lib/02d7_aa15_Mode_20_25s_20unkno.rel create mode 100644 src/nos/lib/messages_lib/02d8_5f88_IP_20rx_20tracing.rel delete mode 100644 src/nos/lib/messages_lib/02d8_ac3e_Msg_20_25d_20Killed.rel create mode 100644 src/nos/lib/messages_lib/02d9_88e0_IP_3a_20CHECKSUM_20.rel delete mode 100644 src/nos/lib/messages_lib/02d9_9a86_Must_20be_20_200_20.rel create mode 100644 src/nos/lib/messages_lib/02da_03a7_IP_3a_20bad_20heade.rel delete mode 100644 src/nos/lib/messages_lib/02da_362b_Must_20be_20_200_20.rel delete mode 100644 src/nos/lib/messages_lib/02db_2da0_Must_20be_20_3e_3d_.rel create mode 100644 src/nos/lib/messages_lib/02db_4543_IP_3a_20len_20_25u.rel delete mode 100644 src/nos/lib/messages_lib/02dc_06a9_Must_20set_20_27r_2.rel create mode 100644 src/nos/lib/messages_lib/02dc_e067_IPCP_0a.rel create mode 100644 src/nos/lib/messages_lib/02dd_6e3f_IPCP_20.rel delete mode 100644 src/nos/lib/messages_lib/02dd_d814_N_3e_3d_255u_3a_257.rel delete mode 100644 src/nos/lib/messages_lib/02de_7868_NET_2fROM_20Routing.rel create mode 100644 src/nos/lib/messages_lib/02de_9f0e_IPCP_20ACK_3a_20buf.rel create mode 100644 src/nos/lib/messages_lib/02df_7bbb_IPCP_20ACK_3a_20dat.rel delete mode 100644 src/nos/lib/messages_lib/02df_ae07_NET_2fROM_20not_20a.rel create mode 100644 src/nos/lib/messages_lib/02e0_b0d9_IPCP_20ACK_3a_20val.rel delete mode 100644 src/nos/lib/messages_lib/02e0_d0e9_NET_2fROM_3a_20_25s.rel create mode 100644 src/nos/lib/messages_lib/02e1_3a6e_IPCP_20ACK_3a_20wro.rel delete mode 100644 src/nos/lib/messages_lib/02e1_73b0_NEWNEWS_20_25s_20_2.rel create mode 100644 src/nos/lib/messages_lib/02e2_678b_IPCP_20NAK_3a_20bad.rel delete mode 100644 src/nos/lib/messages_lib/02e2_c191_NNTP_20_25s_20Canno.rel create mode 100644 src/nos/lib/messages_lib/02e3_4d9e_IPCP_20NAK_3a_20opt.rel delete mode 100644 src/nos/lib/messages_lib/02e3_7ed2_NNTP_20_25s_20Canno.rel create mode 100644 src/nos/lib/messages_lib/02e4_4732_IPCP_20NAK_3a_20opt.rel delete mode 100644 src/nos/lib/messages_lib/02e4_bcd0_NNTP_20_25s_20Conne.rel create mode 100644 src/nos/lib/messages_lib/02e5_3eb8_IPCP_20NAK_3a_20ran.rel delete mode 100644 src/nos/lib/messages_lib/02e5_796b_NNTP_20_25s_20Conne.rel delete mode 100644 src/nos/lib/messages_lib/02e6_4193_NNTP_20_25s_20Conne.rel create mode 100644 src/nos/lib/messages_lib/02e6_86ff_IPCP_20NAK_3a_20val.rel delete mode 100644 src/nos/lib/messages_lib/02e7_0909_NNTP_20_25s_20Conne.rel create mode 100644 src/nos/lib/messages_lib/02e7_0dfe_IPCP_20NAK_3a_20wro.rel delete mode 100644 src/nos/lib/messages_lib/02e8_3814_NNTP_20_25s_20Conne.rel create mode 100644 src/nos/lib/messages_lib/02e8_77fc_IPCP_20REJ_3a_20bad.rel delete mode 100644 src/nos/lib/messages_lib/02e9_b5ec_NNTP_20_25s_20Could.rel create mode 100644 src/nos/lib/messages_lib/02e9_e0d3_IPCP_20REJ_3a_20opt.rel delete mode 100644 src/nos/lib/messages_lib/02ea_8531_NNTP_20_25s_20Could.rel create mode 100644 src/nos/lib/messages_lib/02ea_ea7f_IPCP_20REJ_3a_20opt.rel delete mode 100644 src/nos/lib/messages_lib/02eb_8fd5_NNTP_20_25s_20Could.rel create mode 100644 src/nos/lib/messages_lib/02eb_a959_IPCP_20REJ_3a_20ran.rel delete mode 100644 src/nos/lib/messages_lib/02ec_0d83_NNTP_20_25s_20Givin.rel create mode 100644 src/nos/lib/messages_lib/02ec_3342_IPCP_20REJ_3a_20val.rel delete mode 100644 src/nos/lib/messages_lib/02ed_19c4_NNTP_20_25s_20Givin.rel create mode 100644 src/nos/lib/messages_lib/02ed_3c15_IPCP_20REJ_3a_20wro.rel delete mode 100644 src/nos/lib/messages_lib/02ee_213a_NNTP_20_25s_20bad_2.rel create mode 100644 src/nos/lib/messages_lib/02ee_497c_IPCP_20REQ_3a_20bad.rel delete mode 100644 src/nos/lib/messages_lib/02ef_31a2_NNTP_20_25s_20bad_2.rel create mode 100644 src/nos/lib/messages_lib/02ef_a1a1_IPCP_20REQ_3a_20ran.rel create mode 100644 src/nos/lib/messages_lib/02f0_4065_IPCP_20REQ_3a_20res.rel delete mode 100644 src/nos/lib/messages_lib/02f0_df3f_NNTP_20_25s_20givin.rel delete mode 100644 src/nos/lib/messages_lib/02f1_791c_NNTP_20_25s_20givin.rel create mode 100644 src/nos/lib/messages_lib/02f1_a490_IRQ_20_25u_20out_20.rel delete mode 100644 src/nos/lib/messages_lib/02f2_75ce_NNTP_20_25s_20givin.rel create mode 100644 src/nos/lib/messages_lib/02f2_925d_Idle_20poll_20timer.rel create mode 100644 src/nos/lib/messages_lib/02f3_4ab5_Image_0a.rel delete mode 100644 src/nos/lib/messages_lib/02f3_7eb6_NNTP_20_25s_20proto.rel create mode 100644 src/nos/lib/messages_lib/02f4_7e58_Initial_20RTT_20_28.rel delete mode 100644 src/nos/lib/messages_lib/02f4_7f99_NNTP_20_25s_20proto.rel delete mode 100644 src/nos/lib/messages_lib/02f5_a517_NNTP_20Cannot_20ope.rel create mode 100644 src/nos/lib/messages_lib/02f5_bd38_Inqlen_3a_20_25d_20.rel create mode 100644 src/nos/lib/messages_lib/02f6_c7f6_Insufficient_20args.rel delete mode 100644 src/nos/lib/messages_lib/02f6_fc8f_NNTP_20can_27t_20re.rel delete mode 100644 src/nos/lib/messages_lib/02f7_2c2a_NNTP_20daemon_20ent.rel create mode 100644 src/nos/lib/messages_lib/02f7_fcf9_Interface_20_20_20R.rel create mode 100644 src/nos/lib/messages_lib/02f8_b903_Interface_20_22_25s.rel delete mode 100644 src/nos/lib/messages_lib/02f8_f2a9_NNTP_20daemon_20exi.rel create mode 100644 src/nos/lib/messages_lib/02f9_4daf_Interface_20_22_25s.rel delete mode 100644 src/nos/lib/messages_lib/02f9_cbc7_NNTP_20daemon_20qui.rel delete mode 100644 src/nos/lib/messages_lib/02fa_0fa8_NNTP_20group_20_27_.rel create mode 100644 src/nos/lib/messages_lib/02fa_42ac_Interface_20_22_25s.rel delete mode 100644 src/nos/lib/messages_lib/02fb_0e76_NNTP_20receive_20er.rel create mode 100644 src/nos/lib/messages_lib/02fb_5a50_Interface_20_25s_20.rel create mode 100644 src/nos/lib/messages_lib/02fc_1298_Interface_20_25s_20.rel delete mode 100644 src/nos/lib/messages_lib/02fc_a47f_NNTP_20received_20_.rel delete mode 100644 src/nos/lib/messages_lib/02fd_0916_NNTP_20tracing.rel create mode 100644 src/nos/lib/messages_lib/02fd_24cb_Interface_20_25s_20.rel delete mode 100644 src/nos/lib/messages_lib/02fe_b065_NNTP_20window_20to_.rel create mode 100644 src/nos/lib/messages_lib/02fe_c749_Interface_20_25s_20.rel create mode 100644 src/nos/lib/messages_lib/02ff_63a0_Interface_20_25s_20.rel delete mode 100644 src/nos/lib/messages_lib/02ff_852e_NO_20_2d_20.rel create mode 100644 src/nos/lib/messages_lib/0300_c292_Interface_20_25s_20.rel delete mode 100644 src/nos/lib/messages_lib/0300_e182_NO_20_2d_20bad_20ad.rel delete mode 100644 src/nos/lib/messages_lib/0301_7ccb_NO_20_2d_20syntax_2.rel create mode 100644 src/nos/lib/messages_lib/0301_8880_Interface_20_25s_20.rel delete mode 100644 src/nos/lib/messages_lib/0302_2df6_NOS_20log_20closed.rel create mode 100644 src/nos/lib/messages_lib/0302_6e91_Interface_20_25s_20.rel create mode 100644 src/nos/lib/messages_lib/0303_103c_Interface_20address.rel delete mode 100644 src/nos/lib/messages_lib/0303_e1c8_NOS_20was_20started.rel create mode 100644 src/nos/lib/messages_lib/0304_c429_Interface_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/0304_cfbe_NOS_20was_20stopped.rel delete mode 100644 src/nos/lib/messages_lib/0305_998c_NULL_20BUFFER_0a.rel create mode 100644 src/nos/lib/messages_lib/0305_d726_Invalid_20magic_20c.rel create mode 100644 src/nos/lib/messages_lib/0306_42d9_Invalid_20range_2e_.rel delete mode 100644 src/nos/lib/messages_lib/0306_89a8_Net_3e_20.rel create mode 100644 src/nos/lib/messages_lib/0307_89c0_Invalid_20type_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0307_e0c6_Network_20_25s_20co.rel delete mode 100644 src/nos/lib/messages_lib/0308_4009_New_20mail_20arrive.rel create mode 100644 src/nos/lib/messages_lib/0308_62ed_Invalid_20user_20na.rel create mode 100644 src/nos/lib/messages_lib/0309_be0b_Job_20id_20_25s_20n.rel delete mode 100644 src/nos/lib/messages_lib/0309_fbfc_New_20mail_20arrive.rel create mode 100644 src/nos/lib/messages_lib/030a_87a9_K_20numbers.rel delete mode 100644 src/nos/lib/messages_lib/030a_d0a7_New_20news_20arrive.rel create mode 100644 src/nos/lib/messages_lib/030b_414e_KISS_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/030b_e9a0_No_20HAPN_20adaptor.rel create mode 100644 src/nos/lib/messages_lib/030c_1668_Known_20users_20on_.rel delete mode 100644 src/nos/lib/messages_lib/030c_87bb_No_20current_20sess.rel create mode 100644 src/nos/lib/messages_lib/030d_171d_LCP_0a.rel delete mode 100644 src/nos/lib/messages_lib/030d_7f27_No_20dialer_20activ.rel create mode 100644 src/nos/lib/messages_lib/030e_9945_LCP_20.rel delete mode 100644 src/nos/lib/messages_lib/030e_cd1f_No_20finger_20infor.rel delete mode 100644 src/nos/lib/messages_lib/030f_2a2e_No_20help_20availab.rel create mode 100644 src/nos/lib/messages_lib/030f_7a27_LCP_20ACK_3a_20buff.rel delete mode 100644 src/nos/lib/messages_lib/0310_7cc9_No_20packet_20drive.rel create mode 100644 src/nos/lib/messages_lib/0310_a126_LCP_20ACK_3a_20data.rel delete mode 100644 src/nos/lib/messages_lib/0311_4e0c_No_20such_20message.rel create mode 100644 src/nos/lib/messages_lib/0311_6dd9_LCP_20ACK_3a_20vali.rel delete mode 100644 src/nos/lib/messages_lib/0312_2a80_No_20such_20server_.rel create mode 100644 src/nos/lib/messages_lib/0312_d52d_LCP_20ACK_3a_20wron.rel delete mode 100644 src/nos/lib/messages_lib/0313_0cda_Nodetimer_20_25lu_2.rel create mode 100644 src/nos/lib/messages_lib/0313_febe_LCP_20NAK_3a_20bad_.rel delete mode 100644 src/nos/lib/messages_lib/0314_3fb0_None.rel create mode 100644 src/nos/lib/messages_lib/0314_8ccc_LCP_20NAK_3a_20opti.rel delete mode 100644 src/nos/lib/messages_lib/0315_1aee_None_0a.rel create mode 100644 src/nos/lib/messages_lib/0315_8660_LCP_20NAK_3a_20opti.rel create mode 100644 src/nos/lib/messages_lib/0316_ee4a_LCP_20NAK_3a_20ran_.rel delete mode 100644 src/nos/lib/messages_lib/0316_f8e2_Not_20a_20valid_20s.rel create mode 100644 src/nos/lib/messages_lib/0317_5bff_LCP_20NAK_3a_20vali.rel delete mode 100644 src/nos/lib/messages_lib/0317_b4ba_Not_20an_20FTP_20se.rel create mode 100644 src/nos/lib/messages_lib/0318_e2bd_LCP_20NAK_3a_20wron.rel delete mode 100644 src/nos/lib/messages_lib/0318_ee7e_Not_20found_0a.rel delete mode 100644 src/nos/lib/messages_lib/0319_533e_Not_20in_20table_0a.rel create mode 100644 src/nos/lib/messages_lib/0319_eec9_LCP_20REJ_3a_20bad_.rel create mode 100644 src/nos/lib/messages_lib/031a_2181_LCP_20REJ_3a_20opti.rel delete mode 100644 src/nos/lib/messages_lib/031a_c7b9_Not_20supported_0a.rel create mode 100644 src/nos/lib/messages_lib/031b_2b2d_LCP_20REJ_3a_20opti.rel delete mode 100644 src/nos/lib/messages_lib/031b_9692_Obsotimer_20_25lu_2.rel create mode 100644 src/nos/lib/messages_lib/031c_79ab_LCP_20REJ_3a_20ran_.rel delete mode 100644 src/nos/lib/messages_lib/031c_ff96_Oh_2c_20hello_20_25.rel delete mode 100644 src/nos/lib/messages_lib/031d_0948_Only_20_25d_20DRSI_.rel create mode 100644 src/nos/lib/messages_lib/031d_ee42_LCP_20REJ_3a_20vali.rel delete mode 100644 src/nos/lib/messages_lib/031e_8edb_Only_20_25d_20net_2.rel create mode 100644 src/nos/lib/messages_lib/031e_d356_LCP_20REJ_3a_20wron.rel create mode 100644 src/nos/lib/messages_lib/031f_d049_LCP_20REQ_3a_20bad_.rel delete mode 100644 src/nos/lib/messages_lib/031f_f9f0_Only_201_20EAGLE_20.rel delete mode 100644 src/nos/lib/messages_lib/0320_1514_Outqlen_3a_20_25d_2.rel create mode 100644 src/nos/lib/messages_lib/0320_7153_LCP_20REQ_3a_20ran_.rel create mode 100644 src/nos/lib/messages_lib/0321_0ae9_LCP_20REQ_3a_20resu.rel delete mode 100644 src/nos/lib/messages_lib/0321_5b48_PANIC_3a_20Timer_20.rel create mode 100644 src/nos/lib/messages_lib/0322_1d45_Last_20message_0a.rel delete mode 100644 src/nos/lib/messages_lib/0322_281b_PANIC_3a_20buffer_2.rel create mode 100644 src/nos/lib/messages_lib/0323_c626_Listen.rel delete mode 100644 src/nos/lib/messages_lib/0323_f630_PAP_0a.rel delete mode 100644 src/nos/lib/messages_lib/0324_b2fb_PAP_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/0324_f6d8_Listening_20_2d_2d_.rel delete mode 100644 src/nos/lib/messages_lib/0325_8063_PASS_20_25s.rel create mode 100644 src/nos/lib/messages_lib/0325_a317_Loc_20.rel delete mode 100644 src/nos/lib/messages_lib/0326_2320_PI_20Board_20Statis.rel create mode 100644 src/nos/lib/messages_lib/0326_5ce5_Local_3a_20_25s.rel create mode 100644 src/nos/lib/messages_lib/0327_0926_Local_3a_20_25s_20_.rel delete mode 100644 src/nos/lib/messages_lib/0327_73f1_PI_3a_20DMA_20_25d_.rel delete mode 100644 src/nos/lib/messages_lib/0328_5841_PI_3a_20DMA_20chann.rel create mode 100644 src/nos/lib/messages_lib/0328_6210_Lock_20directory_20.rel delete mode 100644 src/nos/lib/messages_lib/0329_3992_PI_3a_20IRQ_20_25u_.rel create mode 100644 src/nos/lib/messages_lib/0329_f59a_Logging_20off_0a.rel create mode 100644 src/nos/lib/messages_lib/032a_1bd9_Logging_20to_20_25s.rel delete mode 100644 src/nos/lib/messages_lib/032a_4ca4_PI_3a_20Interface_2.rel create mode 100644 src/nos/lib/messages_lib/032b_4a5a_Logical_20bytesize_.rel delete mode 100644 src/nos/lib/messages_lib/032b_d856_PI_3a_20Maximum_20o.rel create mode 100644 src/nos/lib/messages_lib/032c_4f93_Login_20incorrect_0.rel delete mode 100644 src/nos/lib/messages_lib/032c_9098_PI_3a_20Mode_20_25s.rel create mode 100644 src/nos/lib/messages_lib/032d_8ac2_MBOX_20Zap_3a_20_25.rel delete mode 100644 src/nos/lib/messages_lib/032d_de39_PI_3a_20No_20IP_20a.rel delete mode 100644 src/nos/lib/messages_lib/032e_02ea_PI_3a_20No_20memory.rel create mode 100644 src/nos/lib/messages_lib/032e_1dc7_MBOX_20bbs_20mail_2.rel create mode 100644 src/nos/lib/messages_lib/032f_37c2_MBOX_20bbs_20mail_2.rel delete mode 100644 src/nos/lib/messages_lib/032f_c0d0_PI_3a_20No_20memory.rel delete mode 100644 src/nos/lib/messages_lib/0330_94ca_PI_3a_20No_20memory.rel create mode 100644 src/nos/lib/messages_lib/0330_f88f_MBOX_20forward_20fa.rel create mode 100644 src/nos/lib/messages_lib/0331_9bd4_MBOX_20forwarding_2.rel delete mode 100644 src/nos/lib/messages_lib/0331_c698_PI_3a_20No_20memory.rel create mode 100644 src/nos/lib/messages_lib/0332_d1e8_MBOX_20login_3a_20_.rel delete mode 100644 src/nos/lib/messages_lib/0332_d61f_PI_3a_20Set_20mycal.rel delete mode 100644 src/nos/lib/messages_lib/0333_68d4_PID_20_20_20CS_3aIP.rel create mode 100644 src/nos/lib/messages_lib/0333_dd2e_MBOX_20login_3a_20_.rel delete mode 100644 src/nos/lib/messages_lib/0334_3c62_POP_20access_20DENI.rel create mode 100644 src/nos/lib/messages_lib/0334_e920_MBOX_20sysop_3a_20_.rel create mode 100644 src/nos/lib/messages_lib/0335_a30c_MBOX_20upload_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/0335_f3cf_POP_20access_20gran.rel delete mode 100644 src/nos/lib/messages_lib/0336_639f_POP_20client_20retr.rel create mode 100644 src/nos/lib/messages_lib/0336_c247_MKD_20_25s.rel create mode 100644 src/nos/lib/messages_lib/0337_53a6_MRU_20_25s_20_28_25.rel delete mode 100644 src/nos/lib/messages_lib/0337_e9bb_POP_20quiet.rel delete mode 100644 src/nos/lib/messages_lib/0338_1231_POP_20users_20file_.rel create mode 100644 src/nos/lib/messages_lib/0338_f9a6_Magic_20Number.rel create mode 100644 src/nos/lib/messages_lib/0339_d070_Mail_20area_3a_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0339_e126_PORT_20_25u_2c_25u_.rel create mode 100644 src/nos/lib/messages_lib/033a_0103_Mail_20box_20full_3.rel delete mode 100644 src/nos/lib/messages_lib/033a_b459_PPP_20tracing.rel create mode 100644 src/nos/lib/messages_lib/033b_523a_Main_20commands_3a_.rel delete mode 100644 src/nos/lib/messages_lib/033b_b660_PPP_3a_20len_20_253.rel delete mode 100644 src/nos/lib/messages_lib/033c_8c73_Packet_20driver_20h.rel create mode 100644 src/nos/lib/messages_lib/033c_dcca_Max_20attempts_20to.rel create mode 100644 src/nos/lib/messages_lib/033d_0279_Max_20clients.rel delete mode 100644 src/nos/lib/messages_lib/033d_d638_Pap_0a.rel create mode 100644 src/nos/lib/messages_lib/033e_3cd5_Max_20frame_20lengt.rel delete mode 100644 src/nos/lib/messages_lib/033e_8165_Parameter_20_25s_20.rel delete mode 100644 src/nos/lib/messages_lib/033f_85d2_Password_3a_20.rel create mode 100644 src/nos/lib/messages_lib/033f_d96d_Maximum_20messages_.rel create mode 100644 src/nos/lib/messages_lib/0340_488d_Mbuf_20sizes_3a_0a.rel delete mode 100644 src/nos/lib/messages_lib/0340_cb37_Password_3a_20_25c_.rel delete mode 100644 src/nos/lib/messages_lib/0341_6310_Path_3a_20.rel create mode 100644 src/nos/lib/messages_lib/0341_ee8f_Message_20_23_25d_2.rel create mode 100644 src/nos/lib/messages_lib/0342_b5f9_Mode_20_25s_20unkno.rel delete mode 100644 src/nos/lib/messages_lib/0342_f75b_Persistence_3a_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0343_7bc8_Pinging_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/0343_aa15_Mode_20_25s_20unkno.rel delete mode 100644 src/nos/lib/messages_lib/0344_94a5_Pinging_20resumed_0.rel create mode 100644 src/nos/lib/messages_lib/0344_ac3e_Msg_20_25d_20Killed.rel delete mode 100644 src/nos/lib/messages_lib/0345_7fa9_Pinging_20suspended.rel create mode 100644 src/nos/lib/messages_lib/0345_9a86_Must_20be_20_200_20.rel delete mode 100644 src/nos/lib/messages_lib/0346_220f_Please_20hang_20up_.rel create mode 100644 src/nos/lib/messages_lib/0346_362b_Must_20be_20_200_20.rel create mode 100644 src/nos/lib/messages_lib/0347_2da0_Must_20be_20_3e_3d_.rel delete mode 100644 src/nos/lib/messages_lib/0347_4304_Poll_20threshold_20.rel create mode 100644 src/nos/lib/messages_lib/0348_06a9_Must_20set_20_27r_2.rel delete mode 100644 src/nos/lib/messages_lib/0348_f8a0_Pool_20count_20_25s.rel create mode 100644 src/nos/lib/messages_lib/0349_d814_N_3e_3d_255u_3a_257.rel delete mode 100644 src/nos/lib/messages_lib/0349_dd4d_Protocol_20Field_20.rel delete mode 100644 src/nos/lib/messages_lib/034a_744a_QUIT_0a.rel create mode 100644 src/nos/lib/messages_lib/034a_7868_NET_2fROM_20Routing.rel delete mode 100644 src/nos/lib/messages_lib/034b_43c0_Quality_20cannot_20.rel create mode 100644 src/nos/lib/messages_lib/034b_ae07_NET_2fROM_20not_20a.rel delete mode 100644 src/nos/lib/messages_lib/034c_b523_Queue_20limit_20_28.rel create mode 100644 src/nos/lib/messages_lib/034c_d0e9_NET_2fROM_3a_20_25s.rel delete mode 100644 src/nos/lib/messages_lib/034d_4a0a_R_20numbers.rel create mode 100644 src/nos/lib/messages_lib/034d_73b0_NEWNEWS_20_25s_20_2.rel create mode 100644 src/nos/lib/messages_lib/034e_c191_NNTP_20_25s_20Canno.rel delete mode 100644 src/nos/lib/messages_lib/034e_db0e_R_3a_25s_20_40_25s_.rel delete mode 100644 src/nos/lib/messages_lib/034f_373f_REQUEST.rel create mode 100644 src/nos/lib/messages_lib/034f_7ed2_NNTP_20_25s_20Canno.rel delete mode 100644 src/nos/lib/messages_lib/0350_19a4_RESPONSE.rel create mode 100644 src/nos/lib/messages_lib/0350_bcd0_NNTP_20_25s_20Conne.rel create mode 100644 src/nos/lib/messages_lib/0351_796b_NNTP_20_25s_20Conne.rel delete mode 100644 src/nos/lib/messages_lib/0351_8b13_RETR_20_25s.rel create mode 100644 src/nos/lib/messages_lib/0352_4193_NNTP_20_25s_20Conne.rel delete mode 100644 src/nos/lib/messages_lib/0352_86e9_RETURN_0a.rel create mode 100644 src/nos/lib/messages_lib/0353_0909_NNTP_20_25s_20Conne.rel delete mode 100644 src/nos/lib/messages_lib/0353_bbdb_RFrames_20_2d_20_25.rel create mode 100644 src/nos/lib/messages_lib/0354_3814_NNTP_20_25s_20Conne.rel delete mode 100644 src/nos/lib/messages_lib/0354_f9d6_RIP_20merging.rel delete mode 100644 src/nos/lib/messages_lib/0355_3211_RIP_20refused_20fro.rel create mode 100644 src/nos/lib/messages_lib/0355_b5ec_NNTP_20_25s_20Could.rel create mode 100644 src/nos/lib/messages_lib/0356_8531_NNTP_20_25s_20Could.rel delete mode 100644 src/nos/lib/messages_lib/0356_8827_RIP_20tracing.rel delete mode 100644 src/nos/lib/messages_lib/0357_5585_RIP_3a_20.rel create mode 100644 src/nos/lib/messages_lib/0357_8fd5_NNTP_20_25s_20Could.rel create mode 100644 src/nos/lib/messages_lib/0358_0d83_NNTP_20_25s_20Givin.rel delete mode 100644 src/nos/lib/messages_lib/0358_fd1d_RIP_3a_20sent_20_25.rel create mode 100644 src/nos/lib/messages_lib/0359_19c4_NNTP_20_25s_20Givin.rel delete mode 100644 src/nos/lib/messages_lib/0359_6b7c_RIPCMD_3a_20Unknown.rel create mode 100644 src/nos/lib/messages_lib/035a_213a_NNTP_20_25s_20bad_2.rel delete mode 100644 src/nos/lib/messages_lib/035a_5f5f_RIPCMD_5fREQUEST_0a.rel delete mode 100644 src/nos/lib/messages_lib/035b_07f6_RIPCMD_5fRESPONSE_2.rel create mode 100644 src/nos/lib/messages_lib/035b_31a2_NNTP_20_25s_20bad_2.rel create mode 100644 src/nos/lib/messages_lib/035c_df3f_NNTP_20_25s_20givin.rel delete mode 100644 src/nos/lib/messages_lib/035c_eb71_RIP_5frx_3a_20Not_2.rel create mode 100644 src/nos/lib/messages_lib/035d_791c_NNTP_20_25s_20givin.rel delete mode 100644 src/nos/lib/messages_lib/035d_86e6_RMD_20_25s.rel create mode 100644 src/nos/lib/messages_lib/035e_75ce_NNTP_20_25s_20givin.rel delete mode 100644 src/nos/lib/messages_lib/035e_8005_Range_20for_20inter.rel delete mode 100644 src/nos/lib/messages_lib/035f_1ee5_Reassembly_20fragme.rel create mode 100644 src/nos/lib/messages_lib/035f_7eb6_NNTP_20_25s_20proto.rel create mode 100644 src/nos/lib/messages_lib/0360_7f99_NNTP_20_25s_20proto.rel delete mode 100644 src/nos/lib/messages_lib/0360_fbe9_Reassembly_20queue_.rel delete mode 100644 src/nos/lib/messages_lib/0361_5eb3_Received_3a_20.rel create mode 100644 src/nos/lib/messages_lib/0361_a517_NNTP_20Cannot_20ope.rel delete mode 100644 src/nos/lib/messages_lib/0362_9fbc_Recording_20into_20.rel create mode 100644 src/nos/lib/messages_lib/0362_fc8f_NNTP_20can_27t_20re.rel create mode 100644 src/nos/lib/messages_lib/0363_2c2a_NNTP_20daemon_20ent.rel delete mode 100644 src/nos/lib/messages_lib/0363_aa80_Recording_20off_0a.rel delete mode 100644 src/nos/lib/messages_lib/0364_2a15_Recv_3a_20_20_20_20.rel create mode 100644 src/nos/lib/messages_lib/0364_f2a9_NNTP_20daemon_20exi.rel create mode 100644 src/nos/lib/messages_lib/0365_cbc7_NNTP_20daemon_20qui.rel delete mode 100644 src/nos/lib/messages_lib/0365_d0ff_Refuse_0a.rel create mode 100644 src/nos/lib/messages_lib/0366_0fa8_NNTP_20group_20_27_.rel delete mode 100644 src/nos/lib/messages_lib/0366_42c0_Refusing_20announce.rel create mode 100644 src/nos/lib/messages_lib/0367_0e76_NNTP_20receive_20er.rel delete mode 100644 src/nos/lib/messages_lib/0367_6bd1_Requesting_2e_2e_2e.rel delete mode 100644 src/nos/lib/messages_lib/0368_4784_Resolver_20_25s_20u.rel create mode 100644 src/nos/lib/messages_lib/0368_a47f_NNTP_20received_20_.rel create mode 100644 src/nos/lib/messages_lib/0369_0916_NNTP_20tracing.rel delete mode 100644 src/nos/lib/messages_lib/0369_ae52_Resolving_20_25s_2e.rel delete mode 100644 src/nos/lib/messages_lib/036a_200a_Resolving_20_25s_2e.rel create mode 100644 src/nos/lib/messages_lib/036a_b065_NNTP_20window_20to_.rel create mode 100644 src/nos/lib/messages_lib/036b_852e_NO_20_2d_20.rel delete mode 100644 src/nos/lib/messages_lib/036b_cacc_Retry_20limit.rel delete mode 100644 src/nos/lib/messages_lib/036c_0cd3_Returned_20.rel create mode 100644 src/nos/lib/messages_lib/036c_e182_NO_20_2d_20bad_20ad.rel create mode 100644 src/nos/lib/messages_lib/036d_7ccb_NO_20_2d_20syntax_2.rel delete mode 100644 src/nos/lib/messages_lib/036d_85af_Route_20add_20faile.rel create mode 100644 src/nos/lib/messages_lib/036e_2df6_NOS_20log_20closed.rel delete mode 100644 src/nos/lib/messages_lib/036e_9b70_Routing_20lookups_3.rel delete mode 100644 src/nos/lib/messages_lib/036f_9c01_Rxints_20_20_2d_20_.rel create mode 100644 src/nos/lib/messages_lib/036f_e1c8_NOS_20was_20started.rel delete mode 100644 src/nos/lib/messages_lib/0370_ccf6_S_20_20_20_20_20Job.rel create mode 100644 src/nos/lib/messages_lib/0370_cfbe_NOS_20was_20stopped.rel create mode 100644 src/nos/lib/messages_lib/0371_998c_NULL_20BUFFER_0a.rel delete mode 100644 src/nos/lib/messages_lib/0371_df6d_S_20command_20synta.rel delete mode 100644 src/nos/lib/messages_lib/0372_4fbb_S_23_20_20_20Type_2.rel create mode 100644 src/nos/lib/messages_lib/0372_f664_NULL_20username_20o.rel create mode 100644 src/nos/lib/messages_lib/0373_89a8_Net_3e_20.rel delete mode 100644 src/nos/lib/messages_lib/0373_bf54_SMTP_20_25s_20Conne.rel delete mode 100644 src/nos/lib/messages_lib/0374_cbb7_SMTP_20batching.rel create mode 100644 src/nos/lib/messages_lib/0374_e0c6_Network_20_25s_20co.rel create mode 100644 src/nos/lib/messages_lib/0375_41e1_Network_20Protocol_.rel delete mode 100644 src/nos/lib/messages_lib/0375_e45f_SMTP_20client_20Try.rel create mode 100644 src/nos/lib/messages_lib/0376_4009_New_20mail_20arrive.rel delete mode 100644 src/nos/lib/messages_lib/0376_797a_SMTP_20sent_20job_2.rel delete mode 100644 src/nos/lib/messages_lib/0377_68b2_SMTP_20tracing.rel create mode 100644 src/nos/lib/messages_lib/0377_fbfc_New_20mail_20arrive.rel create mode 100644 src/nos/lib/messages_lib/0378_d0a7_New_20news_20arrive.rel delete mode 100644 src/nos/lib/messages_lib/0378_e7a4_SP_20_3d_20_25p_2c_.rel delete mode 100644 src/nos/lib/messages_lib/0379_a1f1_STOR_20_25s.rel create mode 100644 src/nos/lib/messages_lib/0379_f66f_No_20_20.rel delete mode 100644 src/nos/lib/messages_lib/037a_49fd_STOR_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/037a_e9a0_No_20HAPN_20adaptor.rel delete mode 100644 src/nos/lib/messages_lib/037b_38ea_STOR_20_25s_3a_20_2.rel create mode 100644 src/nos/lib/messages_lib/037b_87bb_No_20current_20sess.rel delete mode 100644 src/nos/lib/messages_lib/037c_12cc_STOR_20_25s_3a_20Er.rel create mode 100644 src/nos/lib/messages_lib/037c_7f27_No_20dialer_20activ.rel create mode 100644 src/nos/lib/messages_lib/037d_cd1f_No_20finger_20infor.rel delete mode 100644 src/nos/lib/messages_lib/037d_cfe9_SUBCMD_20_2d_20Don_.rel delete mode 100644 src/nos/lib/messages_lib/037e_0319_SYST_0a.rel create mode 100644 src/nos/lib/messages_lib/037e_2a2e_No_20help_20availab.rel create mode 100644 src/nos/lib/messages_lib/037f_7cc9_No_20packet_20drive.rel delete mode 100644 src/nos/lib/messages_lib/037f_93fc_Same_0a.rel delete mode 100644 src/nos/lib/messages_lib/0380_3c55_Scroll_20file_20siz.rel create mode 100644 src/nos/lib/messages_lib/0380_c43d_No_20space_21_21_0a.rel create mode 100644 src/nos/lib/messages_lib/0381_4e0c_No_20such_20message.rel delete mode 100644 src/nos/lib/messages_lib/0381_e255_Send_20file_2c_20_2.rel create mode 100644 src/nos/lib/messages_lib/0382_2a80_No_20such_20server_.rel delete mode 100644 src/nos/lib/messages_lib/0382_c1d8_Send_3a_20_2508lx_2.rel create mode 100644 src/nos/lib/messages_lib/0383_0cda_Nodetimer_20_25lu_2.rel delete mode 100644 src/nos/lib/messages_lib/0383_afab_Server_20address_20.rel delete mode 100644 src/nos/lib/messages_lib/0384_36ef_Session_20_25s_20no.rel create mode 100644 src/nos/lib/messages_lib/0384_3fb0_None.rel delete mode 100644 src/nos/lib/messages_lib/0385_0845_Slot_20time_3a_20_2.rel create mode 100644 src/nos/lib/messages_lib/0385_2875_None_09.rel create mode 100644 src/nos/lib/messages_lib/0386_1aee_None_0a.rel delete mode 100644 src/nos/lib/messages_lib/0386_6556_Socket_20not_20in_2.rel delete mode 100644 src/nos/lib/messages_lib/0387_a061_Sorry_20_2d_20the_2.rel create mode 100644 src/nos/lib/messages_lib/0387_f8e2_Not_20a_20valid_20s.rel delete mode 100644 src/nos/lib/messages_lib/0388_8034_Stack_20violation_2.rel create mode 100644 src/nos/lib/messages_lib/0388_b4ba_Not_20an_20FTP_20se.rel delete mode 100644 src/nos/lib/messages_lib/0389_6414_Station_20_20_20Las.rel create mode 100644 src/nos/lib/messages_lib/0389_ae74_Not_20enough_20memo.rel delete mode 100644 src/nos/lib/messages_lib/038a_5bef_Station_20_20_20Las.rel create mode 100644 src/nos/lib/messages_lib/038a_ee7e_Not_20found_0a.rel create mode 100644 src/nos/lib/messages_lib/038b_533e_Not_20in_20table_0a.rel delete mode 100644 src/nos/lib/messages_lib/038b_9aef_Subject_3a_20_25s_0.rel delete mode 100644 src/nos/lib/messages_lib/038c_0cac_System_20is_20overl.rel create mode 100644 src/nos/lib/messages_lib/038c_c7b9_Not_20supported_0a.rel delete mode 100644 src/nos/lib/messages_lib/038d_63e9_T_20hostname.rel create mode 100644 src/nos/lib/messages_lib/038d_9692_Obsotimer_20_25lu_2.rel delete mode 100644 src/nos/lib/messages_lib/038e_1279_T1_3a_20.rel create mode 100644 src/nos/lib/messages_lib/038e_ff96_Oh_2c_20hello_20_25.rel create mode 100644 src/nos/lib/messages_lib/038f_0948_Only_20_25d_20DRSI_.rel delete mode 100644 src/nos/lib/messages_lib/038f_a7c1_T3_3a_20.rel create mode 100644 src/nos/lib/messages_lib/0390_8edb_Only_20_25d_20net_2.rel delete mode 100644 src/nos/lib/messages_lib/0390_e4a1_TACK_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/0391_7f7b_TCB_20_25p_20_25s_2.rel create mode 100644 src/nos/lib/messages_lib/0391_f9f0_Only_201_20EAGLE_20.rel delete mode 100644 src/nos/lib/messages_lib/0392_5447_TCD_3a_20.rel create mode 100644 src/nos/lib/messages_lib/0392_b622_Open.rel delete mode 100644 src/nos/lib/messages_lib/0393_fa23_TCP_20MSS.rel create mode 100644 src/nos/lib/messages_lib/0393_fef1_Opened.rel create mode 100644 src/nos/lib/messages_lib/0394_1514_Outqlen_3a_20_25d_2.rel delete mode 100644 src/nos/lib/messages_lib/0394_70e7_TCP_20default_20irt.rel delete mode 100644 src/nos/lib/messages_lib/0395_5ac7_TCP_20header_20comp.rel create mode 100644 src/nos/lib/messages_lib/0395_5b48_PANIC_3a_20Timer_20.rel create mode 100644 src/nos/lib/messages_lib/0396_281b_PANIC_3a_20buffer_2.rel delete mode 100644 src/nos/lib/messages_lib/0396_c668_TCP_20state_20traci.rel delete mode 100644 src/nos/lib/messages_lib/0397_b0d7_TCP_20syn_2bdata_20.rel create mode 100644 src/nos/lib/messages_lib/0397_f630_PAP_0a.rel delete mode 100644 src/nos/lib/messages_lib/0398_43bd_TCP_20timestamps.rel create mode 100644 src/nos/lib/messages_lib/0398_7868_PAP_20.rel create mode 100644 src/nos/lib/messages_lib/0399_4af6_PAP_3a_20missing_20.rel delete mode 100644 src/nos/lib/messages_lib/0399_5b74_TCP_20window.rel delete mode 100644 src/nos/lib/messages_lib/039a_7267_TCP_3a_20_25u_2d_3e.rel create mode 100644 src/nos/lib/messages_lib/039a_e6d7_PAP_3a_20no_20permi.rel create mode 100644 src/nos/lib/messages_lib/039b_02ce_PAP_3a_20username_2.rel delete mode 100644 src/nos/lib/messages_lib/039b_59c4_TChoke_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/039c_2ced_TX_20Delay_3a_20_25.rel create mode 100644 src/nos/lib/messages_lib/039c_cf4a_PAP_3a_20wrong_20ID.rel delete mode 100644 src/nos/lib/messages_lib/039d_6a23_TX_20Tail_20time_3a.rel create mode 100644 src/nos/lib/messages_lib/039d_8063_PASS_20_25s.rel create mode 100644 src/nos/lib/messages_lib/039e_2320_PI_20Board_20Statis.rel delete mode 100644 src/nos/lib/messages_lib/039e_d175_TX_20queue_20limit.rel create mode 100644 src/nos/lib/messages_lib/039f_73f1_PI_3a_20DMA_20_25d_.rel delete mode 100644 src/nos/lib/messages_lib/039f_f579_TYPE_20A_0a.rel delete mode 100644 src/nos/lib/messages_lib/03a0_3bb9_TYPE_20I_0a.rel create mode 100644 src/nos/lib/messages_lib/03a0_5841_PI_3a_20DMA_20chann.rel create mode 100644 src/nos/lib/messages_lib/03a1_3992_PI_3a_20IRQ_20_25u_.rel delete mode 100644 src/nos/lib/messages_lib/03a1_a616_TYPE_20L_20_25d_0a.rel create mode 100644 src/nos/lib/messages_lib/03a2_4ca4_PI_3a_20Interface_2.rel delete mode 100644 src/nos/lib/messages_lib/03a2_f6fb_Target_20_20_20_20T.rel delete mode 100644 src/nos/lib/messages_lib/03a3_950b_Telnet_20option_20t.rel create mode 100644 src/nos/lib/messages_lib/03a3_d856_PI_3a_20Maximum_20o.rel delete mode 100644 src/nos/lib/messages_lib/03a4_4517_Thank_20you_20_25s_.rel create mode 100644 src/nos/lib/messages_lib/03a4_9098_PI_3a_20Mode_20_25s.rel delete mode 100644 src/nos/lib/messages_lib/03a5_70f0_The_20escape_20char.rel create mode 100644 src/nos/lib/messages_lib/03a5_de39_PI_3a_20No_20IP_20a.rel create mode 100644 src/nos/lib/messages_lib/03a6_02ea_PI_3a_20No_20memory.rel delete mode 100644 src/nos/lib/messages_lib/03a6_6de0_Time_20for_201000_2.rel delete mode 100644 src/nos/lib/messages_lib/03a7_601a_Time_20to_20live.rel create mode 100644 src/nos/lib/messages_lib/03a7_c0d0_PI_3a_20No_20memory.rel create mode 100644 src/nos/lib/messages_lib/03a8_94ca_PI_3a_20No_20memory.rel delete mode 100644 src/nos/lib/messages_lib/03a8_e505_Timeout_20value_20_.rel delete mode 100644 src/nos/lib/messages_lib/03a9_1db3_Timer_20_20_20_20_2.rel create mode 100644 src/nos/lib/messages_lib/03a9_c698_PI_3a_20No_20memory.rel create mode 100644 src/nos/lib/messages_lib/03aa_d61f_PI_3a_20Set_20mycal.rel delete mode 100644 src/nos/lib/messages_lib/03aa_d78a_Tip_20connection_20.rel create mode 100644 src/nos/lib/messages_lib/03ab_68d4_PID_20_20_20CS_3aIP.rel delete mode 100644 src/nos/lib/messages_lib/03ab_c093_Tip_20session_20alr.rel create mode 100644 src/nos/lib/messages_lib/03ac_3c62_POP_20access_20DENI.rel delete mode 100644 src/nos/lib/messages_lib/03ac_8c54_To_3a_20_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/03ad_2a55_Too_20many_20HAPN_2.rel create mode 100644 src/nos/lib/messages_lib/03ad_f3cf_POP_20access_20gran.rel create mode 100644 src/nos/lib/messages_lib/03ae_639f_POP_20client_20retr.rel delete mode 100644 src/nos/lib/messages_lib/03ae_76b7_Too_20many_20asynch.rel delete mode 100644 src/nos/lib/messages_lib/03af_58f2_Too_20many_20digipe.rel create mode 100644 src/nos/lib/messages_lib/03af_e9bb_POP_20quiet.rel create mode 100644 src/nos/lib/messages_lib/03b0_1231_POP_20users_20file_.rel delete mode 100644 src/nos/lib/messages_lib/03b0_2d53_Too_20many_20hs_20c.rel delete mode 100644 src/nos/lib/messages_lib/03b1_286c_Too_20many_20mailbo.rel create mode 100644 src/nos/lib/messages_lib/03b1_e126_PORT_20_25u_2c_25u_.rel delete mode 100644 src/nos/lib/messages_lib/03b2_4c9a_Too_20many_20nrs_20.rel create mode 100644 src/nos/lib/messages_lib/03b2_b459_PPP_20tracing.rel delete mode 100644 src/nos/lib/messages_lib/03b3_7103_Too_20many_20packet.rel create mode 100644 src/nos/lib/messages_lib/03b3_b660_PPP_3a_20len_20_253.rel create mode 100644 src/nos/lib/messages_lib/03b4_8c73_Packet_20driver_20h.rel delete mode 100644 src/nos/lib/messages_lib/03b4_d8c3_Too_20many_20pc100_.rel delete mode 100644 src/nos/lib/messages_lib/03b5_2057_Too_20many_20sessio.rel create mode 100644 src/nos/lib/messages_lib/03b5_e4a3_Pap_09.rel delete mode 100644 src/nos/lib/messages_lib/03b6_447c_Too_20many_20slip_2.rel create mode 100644 src/nos/lib/messages_lib/03b6_d638_Pap_0a.rel delete mode 100644 src/nos/lib/messages_lib/03b7_0d8c_Try_20to_20bounce_2.rel create mode 100644 src/nos/lib/messages_lib/03b7_8165_Parameter_20_25s_20.rel delete mode 100644 src/nos/lib/messages_lib/03b8_2030_Trying_20_25s_2e_2e.rel create mode 100644 src/nos/lib/messages_lib/03b8_d275_Passively_20opening.rel create mode 100644 src/nos/lib/messages_lib/03b9_85d2_Password_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/03b9_cee2_Trying_20_25s_2e_2e.rel delete mode 100644 src/nos/lib/messages_lib/03ba_be29_Trying_20Connection.rel create mode 100644 src/nos/lib/messages_lib/03ba_cb37_Password_3a_20_25c_.rel create mode 100644 src/nos/lib/messages_lib/03bb_6310_Path_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/03bb_9c56_Tstate_20_3d_20_25s.rel create mode 100644 src/nos/lib/messages_lib/03bc_2890_Peer_20requested_20.rel delete mode 100644 src/nos/lib/messages_lib/03bc_6afe_Turn_20off_20local_.rel delete mode 100644 src/nos/lib/messages_lib/03bd_c801_Tx_20state_20_20_25.rel create mode 100644 src/nos/lib/messages_lib/03bd_f75b_Persistence_3a_20_2.rel create mode 100644 src/nos/lib/messages_lib/03be_63e4_Physical_20Line_20D.rel delete mode 100644 src/nos/lib/messages_lib/03be_be1b_Tx_20state_20_20_25.rel create mode 100644 src/nos/lib/messages_lib/03bf_48f5_Physical_20layer_20.rel delete mode 100644 src/nos/lib/messages_lib/03bf_e1f6_TxBuffers_3a_20_20S.rel delete mode 100644 src/nos/lib/messages_lib/03c0_5cfe_Txdefer_20_2d_20_25.rel create mode 100644 src/nos/lib/messages_lib/03c0_caac_Physical_20layer_20.rel create mode 100644 src/nos/lib/messages_lib/03c1_7bc8_Pinging_20_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/03c1_e733_U_20filename.rel delete mode 100644 src/nos/lib/messages_lib/03c2_9059_UDP_3a.rel create mode 100644 src/nos/lib/messages_lib/03c2_94a5_Pinging_20resumed_0.rel create mode 100644 src/nos/lib/messages_lib/03c3_7fa9_Pinging_20suspended.rel delete mode 100644 src/nos/lib/messages_lib/03c3_a945_USER_20_25s.rel create mode 100644 src/nos/lib/messages_lib/03c4_220f_Please_20hang_20up_.rel delete mode 100644 src/nos/lib/messages_lib/03c4_41aa_Unknown_20command.rel create mode 100644 src/nos/lib/messages_lib/03c5_4304_Poll_20threshold_20.rel delete mode 100644 src/nos/lib/messages_lib/03c5_e21a_Unknown_20command_2.rel delete mode 100644 src/nos/lib/messages_lib/03c6_b975_Unknown_20command_3.rel create mode 100644 src/nos/lib/messages_lib/03c6_f8a0_Pool_20count_20_25s.rel delete mode 100644 src/nos/lib/messages_lib/03c7_d2a4_Unknown_20encapsula.rel create mode 100644 src/nos/lib/messages_lib/03c7_dd4d_Protocol_20Field_20.rel delete mode 100644 src/nos/lib/messages_lib/03c8_8cf4_Unknown_20parameter.rel create mode 100644 src/nos/lib/messages_lib/03c8_c251_Protocol_20Reject.rel create mode 100644 src/nos/lib/messages_lib/03c9_744a_QUIT_0a.rel delete mode 100644 src/nos/lib/messages_lib/03c9_eb24_Update_20with_20MD5.rel create mode 100644 src/nos/lib/messages_lib/03ca_43c0_Quality_20cannot_20.rel delete mode 100644 src/nos/lib/messages_lib/03ca_7d7d_Uploading_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/03cb_b523_Queue_20limit_20_28.rel delete mode 100644 src/nos/lib/messages_lib/03cb_bd81_Uploading_20off_0a.rel create mode 100644 src/nos/lib/messages_lib/03cc_4a0a_R_20numbers.rel delete mode 100644 src/nos/lib/messages_lib/03cc_6d70_Uptime_20_25s_20Sta.rel delete mode 100644 src/nos/lib/messages_lib/03cd_0a8d_Usage_3a_20.rel create mode 100644 src/nos/lib/messages_lib/03cd_db0e_R_3a_25s_20_40_25s_.rel delete mode 100644 src/nos/lib/messages_lib/03ce_125c_Usage_3a_20_25s_20_.rel create mode 100644 src/nos/lib/messages_lib/03ce_373f_REQUEST.rel create mode 100644 src/nos/lib/messages_lib/03cf_19a4_RESPONSE.rel delete mode 100644 src/nos/lib/messages_lib/03cf_6ae1_Usage_3a_20F_20user.rel delete mode 100644 src/nos/lib/messages_lib/03d0_7dd1_Usage_3a_20ax25_20r.rel create mode 100644 src/nos/lib/messages_lib/03d0_8b13_RETR_20_25s.rel create mode 100644 src/nos/lib/messages_lib/03d1_86e9_RETURN_0a.rel delete mode 100644 src/nos/lib/messages_lib/03d1_f8b8_Usage_3a_20dial_20_.rel delete mode 100644 src/nos/lib/messages_lib/03d2_a375_Usage_3a_20mbox_20m.rel create mode 100644 src/nos/lib/messages_lib/03d2_bbdb_RFrames_20_2d_20_25.rel delete mode 100644 src/nos/lib/messages_lib/03d3_8cfb_Usage_3a_20pop_20us.rel create mode 100644 src/nos/lib/messages_lib/03d3_f9d6_RIP_20merging.rel create mode 100644 src/nos/lib/messages_lib/03d4_3211_RIP_20refused_20fro.rel delete mode 100644 src/nos/lib/messages_lib/03d4_a2c0_Usage_3a_20smtp_20m.rel create mode 100644 src/nos/lib/messages_lib/03d5_8827_RIP_20tracing.rel delete mode 100644 src/nos/lib/messages_lib/03d5_9654_Use_20the_20ax25_20.rel delete mode 100644 src/nos/lib/messages_lib/03d6_4893_User_20_20_20_20_20.rel create mode 100644 src/nos/lib/messages_lib/03d6_5585_RIP_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/03d7_633f_User_20_25s_20not_2.rel create mode 100644 src/nos/lib/messages_lib/03d7_fd1d_RIP_3a_20sent_20_25.rel create mode 100644 src/nos/lib/messages_lib/03d8_6b7c_RIPCMD_3a_20Unknown.rel delete mode 100644 src/nos/lib/messages_lib/03d8_75ef_V_20numbers.rel delete mode 100644 src/nos/lib/messages_lib/03d9_4b9d_VJ_20Compressed_20T.rel create mode 100644 src/nos/lib/messages_lib/03d9_5f5f_RIPCMD_5fREQUEST_0a.rel create mode 100644 src/nos/lib/messages_lib/03da_07f6_RIPCMD_5fRESPONSE_2.rel delete mode 100644 src/nos/lib/messages_lib/03da_2be9_VJ_20Uncompressed_2.rel delete mode 100644 src/nos/lib/messages_lib/03db_3d32_Valid_20options_3a.rel create mode 100644 src/nos/lib/messages_lib/03db_eb71_RIP_5frx_3a_20Not_2.rel delete mode 100644 src/nos/lib/messages_lib/03dc_8007_Value_20_25s_20_28_.rel create mode 100644 src/nos/lib/messages_lib/03dc_86e6_RMD_20_25s.rel create mode 100644 src/nos/lib/messages_lib/03dd_8005_Range_20for_20inter.rel delete mode 100644 src/nos/lib/messages_lib/03dd_c8df_Verbose.rel create mode 100644 src/nos/lib/messages_lib/03de_1ee5_Reassembly_20fragme.rel delete mode 100644 src/nos/lib/messages_lib/03de_32ff_Verbose_20flag.rel delete mode 100644 src/nos/lib/messages_lib/03df_b110_WARNING_3a_20Locati.rel create mode 100644 src/nos/lib/messages_lib/03df_fbe9_Reassembly_20queue_.rel create mode 100644 src/nos/lib/messages_lib/03e0_5eb3_Received_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/03e0_eddf_Warning_21_20Interf.rel delete mode 100644 src/nos/lib/messages_lib/03e1_4457_Warning_3a_20type_2.rel create mode 100644 src/nos/lib/messages_lib/03e1_9fbc_Recording_20into_20.rel delete mode 100644 src/nos/lib/messages_lib/03e2_85a8_Window_20_28frames_.rel create mode 100644 src/nos/lib/messages_lib/03e2_aa80_Recording_20off_0a.rel create mode 100644 src/nos/lib/messages_lib/03e3_2a15_Recv_3a_20_20_20_20.rel delete mode 100644 src/nos/lib/messages_lib/03e3_9331_Window_20size_20_28.rel delete mode 100644 src/nos/lib/messages_lib/03e4_613d_Window_3a_20_25_2d5.rel create mode 100644 src/nos/lib/messages_lib/03e4_d0ff_Refuse_0a.rel delete mode 100644 src/nos/lib/messages_lib/03e5_25a6_Wink_20DTR_3f_20.rel create mode 100644 src/nos/lib/messages_lib/03e5_42c0_Refusing_20announce.rel create mode 100644 src/nos/lib/messages_lib/03e6_3602_Remote_20host_20acc.rel delete mode 100644 src/nos/lib/messages_lib/03e6_75b2_Writing_20article_2.rel delete mode 100644 src/nos/lib/messages_lib/03e7_3999_XMD5_20_25s.rel create mode 100644 src/nos/lib/messages_lib/03e7_ba3a_Req_20Sent.rel create mode 100644 src/nos/lib/messages_lib/03e8_8d50_Request_20retry_20e.rel delete mode 100644 src/nos/lib/messages_lib/03e8_a62b_XMD5_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/03e9_7be8_Request_20timeout.rel delete mode 100644 src/nos/lib/messages_lib/03e9_8515_XMKD_20_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/03ea_31d2_XRMD_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/03ea_6bd1_Requesting_2e_2e_2e.rel create mode 100644 src/nos/lib/messages_lib/03eb_4784_Resolver_20_25s_20u.rel delete mode 100644 src/nos/lib/messages_lib/03eb_71c6_You_20have_20.rel delete mode 100644 src/nos/lib/messages_lib/03ec_1e66_You_20have_20new_20.rel create mode 100644 src/nos/lib/messages_lib/03ec_ae52_Resolving_20_25s_2e.rel create mode 100644 src/nos/lib/messages_lib/03ed_200a_Resolving_20_25s_2e.rel delete mode 100644 src/nos/lib/messages_lib/03ed_4583_You_27re_20using_20.rel delete mode 100644 src/nos/lib/messages_lib/03ee_4aef_Z_20filename.rel create mode 100644 src/nos/lib/messages_lib/03ee_cacc_Retry_20limit.rel create mode 100644 src/nos/lib/messages_lib/03ef_0cd3_Returned_20.rel delete mode 100644 src/nos/lib/messages_lib/03ef_5fd7_Zap_20failed_3a_20_.rel create mode 100644 src/nos/lib/messages_lib/03f0_85af_Route_20add_20faile.rel delete mode 100644 src/nos/lib/messages_lib/03f0_e3d1__5b.rel create mode 100644 src/nos/lib/messages_lib/03f1_9b70_Routing_20lookups_3.rel delete mode 100644 src/nos/lib/messages_lib/03f1_9d9c__5bNET_2dHMR_24_5d.rel create mode 100644 src/nos/lib/messages_lib/03f2_9c01_Rxints_20_20_2d_20_.rel delete mode 100644 src/nos/lib/messages_lib/03f2_f8e4__5bunknown_5d.rel delete mode 100644 src/nos/lib/messages_lib/03f3_699f__5eC_0a.rel create mode 100644 src/nos/lib/messages_lib/03f3_ccf6_S_20_20_20_20_20Job.rel create mode 100644 src/nos/lib/messages_lib/03f4_df6d_S_20command_20synta.rel delete mode 100644 src/nos/lib/messages_lib/03f4_e5d6__5eR_0a.rel delete mode 100644 src/nos/lib/messages_lib/03f5_1951__5fexit.rel create mode 100644 src/nos/lib/messages_lib/03f5_4fbb_S_23_20_20_20Type_2.rel delete mode 100644 src/nos/lib/messages_lib/03f6_a314__5ffcreat_3a_20WARN.rel create mode 100644 src/nos/lib/messages_lib/03f6_bf54_SMTP_20_25s_20Conne.rel delete mode 100644 src/nos/lib/messages_lib/03f7_79de__5funlink_3a_20bad_.rel create mode 100644 src/nos/lib/messages_lib/03f7_cbb7_SMTP_20batching.rel delete mode 100644 src/nos/lib/messages_lib/03f8_722b_accept.rel create mode 100644 src/nos/lib/messages_lib/03f8_e45f_SMTP_20client_20Try.rel delete mode 100644 src/nos/lib/messages_lib/03f9_30f9_accept_0a.rel create mode 100644 src/nos/lib/messages_lib/03f9_797a_SMTP_20sent_20job_2.rel delete mode 100644 src/nos/lib/messages_lib/03fa_2cfc_access.rel create mode 100644 src/nos/lib/messages_lib/03fa_68b2_SMTP_20tracing.rel delete mode 100644 src/nos/lib/messages_lib/03fb_9b89_accm.rel create mode 100644 src/nos/lib/messages_lib/03fb_e7a4_SP_20_3d_20_25p_2c_.rel delete mode 100644 src/nos/lib/messages_lib/03fc_16c9_acct.rel create mode 100644 src/nos/lib/messages_lib/03fc_a1f1_STOR_20_25s.rel delete mode 100644 src/nos/lib/messages_lib/03fd_0c4f_acfc.rel create mode 100644 src/nos/lib/messages_lib/03fd_49fd_STOR_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/03fe_38ea_STOR_20_25s_3a_20_2.rel delete mode 100644 src/nos/lib/messages_lib/03fe_7530_acktime.rel create mode 100644 src/nos/lib/messages_lib/03ff_12cc_STOR_20_25s_3a_20Er.rel delete mode 100644 src/nos/lib/messages_lib/03ff_41b5_add.rel create mode 100644 src/nos/lib/messages_lib/0400_cfe9_SUBCMD_20_2d_20Don_.rel delete mode 100644 src/nos/lib/messages_lib/0400_d8a3_add_20_3chostid_3e.rel create mode 100644 src/nos/lib/messages_lib/0401_0319_SYST_0a.rel delete mode 100644 src/nos/lib/messages_lib/0401_6783_addprivate.rel create mode 100644 src/nos/lib/messages_lib/0402_93fc_Same_0a.rel delete mode 100644 src/nos/lib/messages_lib/0402_9712_address.rel delete mode 100644 src/nos/lib/messages_lib/0403_2c42_addserver.rel create mode 100644 src/nos/lib/messages_lib/0403_3c55_Scroll_20file_20siz.rel delete mode 100644 src/nos/lib/messages_lib/0404_b0a9_alarm.rel create mode 100644 src/nos/lib/messages_lib/0404_e255_Send_20file_2c_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0405_9965_allocs_20_25lu_20fr.rel create mode 100644 src/nos/lib/messages_lib/0405_c1d8_Send_3a_20_2508lx_2.rel delete mode 100644 src/nos/lib/messages_lib/0406_8e82_allow_20pap_20none_.rel create mode 100644 src/nos/lib/messages_lib/0406_afab_Server_20address_20.rel create mode 100644 src/nos/lib/messages_lib/0407_36ef_Session_20_25s_20no.rel delete mode 100644 src/nos/lib/messages_lib/0407_ba08_allow_20tcp_20none_.rel create mode 100644 src/nos/lib/messages_lib/0408_0845_Slot_20time_3a_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0408_94f6_anext_20pointer_20o.rel create mode 100644 src/nos/lib/messages_lib/0409_6556_Socket_20not_20in_2.rel delete mode 100644 src/nos/lib/messages_lib/0409_c2a0_answer_20script_3a_.rel create mode 100644 src/nos/lib/messages_lib/040a_a061_Sorry_20_2d_20the_2.rel delete mode 100644 src/nos/lib/messages_lib/040a_da7c_area.rel delete mode 100644 src/nos/lib/messages_lib/040b_1dde_arp_20add_20_3chost.rel create mode 100644 src/nos/lib/messages_lib/040b_8034_Stack_20violation_2.rel delete mode 100644 src/nos/lib/messages_lib/040c_96ce_arp_20drop_20_3chos.rel create mode 100644 src/nos/lib/messages_lib/040c_d9c9_Start.rel delete mode 100644 src/nos/lib/messages_lib/040d_0018_arp_20publish_20_3c.rel create mode 100644 src/nos/lib/messages_lib/040d_0d1f_Starting_20configur.rel delete mode 100644 src/nos/lib/messages_lib/040e_5838_asci.rel create mode 100644 src/nos/lib/messages_lib/040e_6414_Station_20_20_20Las.rel delete mode 100644 src/nos/lib/messages_lib/040f_4354_ascii.rel create mode 100644 src/nos/lib/messages_lib/040f_5bef_Station_20_20_20Las.rel delete mode 100644 src/nos/lib/messages_lib/0410_3914_ascistat.rel create mode 100644 src/nos/lib/messages_lib/0410_9aef_Subject_3a_20_25s_0.rel create mode 100644 src/nos/lib/messages_lib/0411_0cac_System_20is_20overl.rel delete mode 100644 src/nos/lib/messages_lib/0411_6442_attach.rel delete mode 100644 src/nos/lib/messages_lib/0412_39bc_attach_20_3chardwar.rel create mode 100644 src/nos/lib/messages_lib/0412_63e9_T_20hostname.rel create mode 100644 src/nos/lib/messages_lib/0413_1279_T1_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/0413_fe98_attach_20asci_20_3c.rel delete mode 100644 src/nos/lib/messages_lib/0414_342d_attach_20escc_20_3c.rel create mode 100644 src/nos/lib/messages_lib/0414_a7c1_T3_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/0415_7943_attempt_20to_20writ.rel create mode 100644 src/nos/lib/messages_lib/0415_e4a1_TACK_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/0416_7d37_attend.rel create mode 100644 src/nos/lib/messages_lib/0416_7f7b_TCB_20_25p_20_25s_2.rel create mode 100644 src/nos/lib/messages_lib/0417_5447_TCD_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/0417_c133_authenticate.rel create mode 100644 src/nos/lib/messages_lib/0418_fa23_TCP_20MSS.rel delete mode 100644 src/nos/lib/messages_lib/0418_fd47_ax25_20kick_20_3cax.rel delete mode 100644 src/nos/lib/messages_lib/0419_0003_ax25_20reset_20_3ca.rel create mode 100644 src/nos/lib/messages_lib/0419_70e7_TCP_20default_20irt.rel create mode 100644 src/nos/lib/messages_lib/041a_5ac7_TCP_20header_20comp.rel delete mode 100644 src/nos/lib/messages_lib/041a_ca0a_bad_20destination_2.rel delete mode 100644 src/nos/lib/messages_lib/041b_60d3_bad_20internet_20ad.rel create mode 100644 src/nos/lib/messages_lib/041b_c668_TCP_20state_20traci.rel delete mode 100644 src/nos/lib/messages_lib/041c_0a79_bad_20neighbor_20ca.rel create mode 100644 src/nos/lib/messages_lib/041c_b0d7_TCP_20syn_2bdata_20.rel delete mode 100644 src/nos/lib/messages_lib/041d_4126_batch.rel create mode 100644 src/nos/lib/messages_lib/041d_43bd_TCP_20timestamps.rel create mode 100644 src/nos/lib/messages_lib/041e_5b74_TCP_20window.rel delete mode 100644 src/nos/lib/messages_lib/041e_bcb6_bcnodes.rel delete mode 100644 src/nos/lib/messages_lib/041f_0c93_begin_20_2503o_20_2.rel create mode 100644 src/nos/lib/messages_lib/041f_7267_TCP_3a_20_25u_2d_3e.rel delete mode 100644 src/nos/lib/messages_lib/0420_50c4_bfind_28_25u_2c_20_.rel create mode 100644 src/nos/lib/messages_lib/0420_59c4_TChoke_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/0421_0a46_bfind_28_29_20retur.rel create mode 100644 src/nos/lib/messages_lib/0421_2ced_TX_20Delay_3a_20_25.rel create mode 100644 src/nos/lib/messages_lib/0422_6a23_TX_20Tail_20time_3a.rel delete mode 100644 src/nos/lib/messages_lib/0422_f1cc_bfind_28_29_20retur.rel create mode 100644 src/nos/lib/messages_lib/0423_d175_TX_20queue_20limit.rel delete mode 100644 src/nos/lib/messages_lib/0423_e2d4_bfree_28_29_20retur.rel delete mode 100644 src/nos/lib/messages_lib/0424_e703_bfree_28_29_20retur.rel create mode 100644 src/nos/lib/messages_lib/0424_f579_TYPE_20A_0a.rel create mode 100644 src/nos/lib/messages_lib/0425_3bb9_TYPE_20I_0a.rel delete mode 100644 src/nos/lib/messages_lib/0425_4466_bfree_280x_25x_2c_2.rel delete mode 100644 src/nos/lib/messages_lib/0426_3245_binary.rel create mode 100644 src/nos/lib/messages_lib/0426_a616_TYPE_20L_20_25d_0a.rel delete mode 100644 src/nos/lib/messages_lib/0427_4c4f_blimit.rel create mode 100644 src/nos/lib/messages_lib/0427_f6fb_Target_20_20_20_20T.rel create mode 100644 src/nos/lib/messages_lib/0428_950b_Telnet_20option_20t.rel delete mode 100644 src/nos/lib/messages_lib/0428_c307_blk_5falloc_28_29_2.rel create mode 100644 src/nos/lib/messages_lib/0429_16a0_TermSent.rel delete mode 100644 src/nos/lib/messages_lib/0429_b0c8_bmap_28_29_20return.rel delete mode 100644 src/nos/lib/messages_lib/042a_bbcb_bmap_28_29_20return.rel create mode 100644 src/nos/lib/messages_lib/042a_e674_Termin_20Ack.rel delete mode 100644 src/nos/lib/messages_lib/042b_46ee_bmap_28_29_20return.rel create mode 100644 src/nos/lib/messages_lib/042b_678e_Termin_20Req.rel create mode 100644 src/nos/lib/messages_lib/042c_3a66_Terminate_20request.rel delete mode 100644 src/nos/lib/messages_lib/042c_7681_bmap_280x_25x_2c_20.rel create mode 100644 src/nos/lib/messages_lib/042d_b7ab_Terminate_20retry_2.rel delete mode 100644 src/nos/lib/messages_lib/042d_ff8d_bootp_20_5bnet_5fna.rel delete mode 100644 src/nos/lib/messages_lib/042e_0e8f_bootp_3a_20Net_5fer.rel create mode 100644 src/nos/lib/messages_lib/042e_ff4c_Terminated.rel create mode 100644 src/nos/lib/messages_lib/042f_206b_Terminated_20unexpe.rel delete mode 100644 src/nos/lib/messages_lib/042f_f5d9_bootp_3a_20timed_20.rel delete mode 100644 src/nos/lib/messages_lib/0430_72d6_bp_20_25lx_20tot_20.rel create mode 100644 src/nos/lib/messages_lib/0430_73f9_Termination_20Phase.rel create mode 100644 src/nos/lib/messages_lib/0431_4517_Thank_20you_20_25s_.rel delete mode 100644 src/nos/lib/messages_lib/0431_88ea_bread_28_25u_2c_20_.rel create mode 100644 src/nos/lib/messages_lib/0432_70f0_The_20escape_20char.rel delete mode 100644 src/nos/lib/messages_lib/0432_89e2_bread_28_29_20retur.rel create mode 100644 src/nos/lib/messages_lib/0433_6de0_Time_20for_201000_2.rel delete mode 100644 src/nos/lib/messages_lib/0433_7a66_bread_28_29_20retur.rel create mode 100644 src/nos/lib/messages_lib/0434_601a_Time_20to_20live.rel delete mode 100644 src/nos/lib/messages_lib/0434_9767_brk.rel create mode 100644 src/nos/lib/messages_lib/0435_12d5_Timeout.rel delete mode 100644 src/nos/lib/messages_lib/0435_f951_broadcast.rel delete mode 100644 src/nos/lib/messages_lib/0436_03ff_bsr.rel create mode 100644 src/nos/lib/messages_lib/0436_e505_Timeout_20value_20_.rel create mode 100644 src/nos/lib/messages_lib/0437_1db3_Timer_20_20_20_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0437_d194_bufsync_28_29_20ret.rel delete mode 100644 src/nos/lib/messages_lib/0438_606b_bufsync_28_29_20sta.rel create mode 100644 src/nos/lib/messages_lib/0438_d78a_Tip_20connection_20.rel delete mode 100644 src/nos/lib/messages_lib/0439_83e6_by_20_25s_20_28_25s.rel create mode 100644 src/nos/lib/messages_lib/0439_c093_Tip_20session_20alr.rel delete mode 100644 src/nos/lib/messages_lib/043a_69f3_by_20_25s_20with_20.rel create mode 100644 src/nos/lib/messages_lib/043a_8c54_To_3a_20_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/043b_9ab1_bye.rel create mode 100644 src/nos/lib/messages_lib/043b_a093_Too_20few_20argumen.rel create mode 100644 src/nos/lib/messages_lib/043c_2a55_Too_20many_20HAPN_2.rel delete mode 100644 src/nos/lib/messages_lib/043c_7cbf_cache.rel create mode 100644 src/nos/lib/messages_lib/043d_76b7_Too_20many_20asynch.rel delete mode 100644 src/nos/lib/messages_lib/043d_a3a9_can_27t_20read_20_2.rel create mode 100644 src/nos/lib/messages_lib/043e_58f2_Too_20many_20digipe.rel delete mode 100644 src/nos/lib/messages_lib/043e_f4b4_can_27t_20trace_20i.rel create mode 100644 src/nos/lib/messages_lib/043f_2d53_Too_20many_20hs_20c.rel delete mode 100644 src/nos/lib/messages_lib/043f_9aa7_cd.rel create mode 100644 src/nos/lib/messages_lib/0440_286c_Too_20many_20mailbo.rel delete mode 100644 src/nos/lib/messages_lib/0440_42c2_cd_20_3cdirectory_3.rel create mode 100644 src/nos/lib/messages_lib/0441_4c9a_Too_20many_20nrs_20.rel delete mode 100644 src/nos/lib/messages_lib/0441_8b51_ch_5flink_28_29_20r.rel delete mode 100644 src/nos/lib/messages_lib/0442_30ce_ch_5flink_28_29_20r.rel create mode 100644 src/nos/lib/messages_lib/0442_7103_Too_20many_20packet.rel delete mode 100644 src/nos/lib/messages_lib/0443_7c72_ch_5flink_280x_25x_.rel create mode 100644 src/nos/lib/messages_lib/0443_d8c3_Too_20many_20pc100_.rel create mode 100644 src/nos/lib/messages_lib/0444_2057_Too_20many_20sessio.rel delete mode 100644 src/nos/lib/messages_lib/0444_35a9_chat.rel create mode 100644 src/nos/lib/messages_lib/0445_447c_Too_20many_20slip_2.rel delete mode 100644 src/nos/lib/messages_lib/0445_743f_chdir.rel create mode 100644 src/nos/lib/messages_lib/0446_0d8c_Try_20to_20bounce_2.rel delete mode 100644 src/nos/lib/messages_lib/0446_5ed3_check.rel create mode 100644 src/nos/lib/messages_lib/0447_2030_Trying_20_25s_2e_2e.rel delete mode 100644 src/nos/lib/messages_lib/0447_40b3_check_20_3chost_3e.rel delete mode 100644 src/nos/lib/messages_lib/0448_c946_chmod.rel create mode 100644 src/nos/lib/messages_lib/0448_cee2_Trying_20_25s_2e_2e.rel delete mode 100644 src/nos/lib/messages_lib/0449_b786_choketime.rel create mode 100644 src/nos/lib/messages_lib/0449_be29_Trying_20Connection.rel delete mode 100644 src/nos/lib/messages_lib/044a_88f5_chown.rel create mode 100644 src/nos/lib/messages_lib/044a_9c56_Tstate_20_3d_20_25s.rel create mode 100644 src/nos/lib/messages_lib/044b_6afe_Turn_20off_20local_.rel delete mode 100644 src/nos/lib/messages_lib/044b_87a8_chroot.rel delete mode 100644 src/nos/lib/messages_lib/044c_4822_clean.rel create mode 100644 src/nos/lib/messages_lib/044c_c801_Tx_20state_20_20_25.rel delete mode 100644 src/nos/lib/messages_lib/044d_23aa_close.rel create mode 100644 src/nos/lib/messages_lib/044d_be1b_Tx_20state_20_20_25.rel delete mode 100644 src/nos/lib/messages_lib/044e_2b22_close_20FTP.rel create mode 100644 src/nos/lib/messages_lib/044e_e1f6_TxBuffers_3a_20_20S.rel create mode 100644 src/nos/lib/messages_lib/044f_5cfe_Txdefer_20_2d_20_25.rel delete mode 100644 src/nos/lib/messages_lib/044f_f93d_close_20Finger.rel delete mode 100644 src/nos/lib/messages_lib/0450_0957_close_20POP.rel create mode 100644 src/nos/lib/messages_lib/0450_e733_U_20filename.rel create mode 100644 src/nos/lib/messages_lib/0451_9059_UDP_3a.rel delete mode 100644 src/nos/lib/messages_lib/0451_b85c_close_20POP_20_2d_2.rel delete mode 100644 src/nos/lib/messages_lib/0452_83a3_close_20SMTP.rel create mode 100644 src/nos/lib/messages_lib/0452_a945_USER_20_25s.rel create mode 100644 src/nos/lib/messages_lib/0453_790d_Uncompressed_20TCP_.rel delete mode 100644 src/nos/lib/messages_lib/0453_b949_close_20SMTP_20_2d_.rel delete mode 100644 src/nos/lib/messages_lib/0454_423c_close_20discard.rel create mode 100644 src/nos/lib/messages_lib/0454_6947_Uncompressed_20TCP_.rel delete mode 100644 src/nos/lib/messages_lib/0455_419d_close_20echo.rel create mode 100644 src/nos/lib/messages_lib/0455_41aa_Unknown_20command.rel delete mode 100644 src/nos/lib/messages_lib/0456_03ad_close_20term.rel create mode 100644 src/nos/lib/messages_lib/0456_e21a_Unknown_20command_2.rel delete mode 100644 src/nos/lib/messages_lib/0457_83dc_code_20_25u_20arg_2.rel create mode 100644 src/nos/lib/messages_lib/0457_b975_Unknown_20command_3.rel create mode 100644 src/nos/lib/messages_lib/0458_d2a4_Unknown_20encapsula.rel delete mode 100644 src/nos/lib/messages_lib/0458_ea90_compare.rel create mode 100644 src/nos/lib/messages_lib/0459_8cf4_Unknown_20parameter.rel delete mode 100644 src/nos/lib/messages_lib/0459_a613_compare_20_3cremote.rel create mode 100644 src/nos/lib/messages_lib/045a_eb24_Update_20with_20MD5.rel delete mode 100644 src/nos/lib/messages_lib/045a_fbc2_compress.rel delete mode 100644 src/nos/lib/messages_lib/045b_3845_compressed_20.rel create mode 100644 src/nos/lib/messages_lib/045b_7d7d_Uploading_20_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/045c_26b1_configure.rel create mode 100644 src/nos/lib/messages_lib/045c_bd81_Uploading_20off_0a.rel create mode 100644 src/nos/lib/messages_lib/045d_6d70_Uptime_20_25s_20Sta.rel delete mode 100644 src/nos/lib/messages_lib/045d_749f_connect.rel create mode 100644 src/nos/lib/messages_lib/045e_0a8d_Usage_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/045e_5769_control.rel create mode 100644 src/nos/lib/messages_lib/045f_125c_Usage_3a_20_25s_20_.rel delete mode 100644 src/nos/lib/messages_lib/045f_941e_control_20up_20_7c_.rel delete mode 100644 src/nos/lib/messages_lib/0460_2aba_control_3a_20_25s_0.rel create mode 100644 src/nos/lib/messages_lib/0460_6ae1_Usage_3a_20F_20user.rel delete mode 100644 src/nos/lib/messages_lib/0461_4bf4_cwd.rel create mode 100644 src/nos/lib/messages_lib/0461_7dd1_Usage_3a_20ax25_20r.rel delete mode 100644 src/nos/lib/messages_lib/0462_62af_d_5finit_28_29.rel create mode 100644 src/nos/lib/messages_lib/0462_685b_Usage_3a_20dial_20_.rel delete mode 100644 src/nos/lib/messages_lib/0463_5a9b_d_5finit_28_29_20ma.rel create mode 100644 src/nos/lib/messages_lib/0463_a375_Usage_3a_20mbox_20m.rel delete mode 100644 src/nos/lib/messages_lib/0464_62a8_debug.rel create mode 100644 src/nos/lib/messages_lib/0464_8cfb_Usage_3a_20pop_20us.rel delete mode 100644 src/nos/lib/messages_lib/0465_740d_default.rel create mode 100644 src/nos/lib/messages_lib/0465_a2c0_Usage_3a_20smtp_20m.rel create mode 100644 src/nos/lib/messages_lib/0466_9654_Use_20the_20ax25_20.rel delete mode 100644 src/nos/lib/messages_lib/0466_db45_defaultfile.rel create mode 100644 src/nos/lib/messages_lib/0467_4893_User_20_20_20_20_20.rel delete mode 100644 src/nos/lib/messages_lib/0467_818b_delay_20_25lu_0a.rel delete mode 100644 src/nos/lib/messages_lib/0468_2c87_dele.rel create mode 100644 src/nos/lib/messages_lib/0468_633f_User_20_25s_20not_2.rel create mode 100644 src/nos/lib/messages_lib/0469_75ef_V_20numbers.rel delete mode 100644 src/nos/lib/messages_lib/0469_89a5_delete.rel delete mode 100644 src/nos/lib/messages_lib/046a_3919_delete_20_3cfile_3e.rel create mode 100644 src/nos/lib/messages_lib/046a_4b9d_VJ_20Compressed_20T.rel create mode 100644 src/nos/lib/messages_lib/046b_2be9_VJ_20Uncompressed_2.rel delete mode 100644 src/nos/lib/messages_lib/046b_6466_destlist.rel create mode 100644 src/nos/lib/messages_lib/046c_3d32_Valid_20options_3a.rel delete mode 100644 src/nos/lib/messages_lib/046c_cfc1_detach.rel delete mode 100644 src/nos/lib/messages_lib/046d_26f3_detach_20_3cinterfa.rel create mode 100644 src/nos/lib/messages_lib/046d_8007_Value_20_25s_20_28_.rel delete mode 100644 src/nos/lib/messages_lib/046e_3f12_devio_5fgarbage_3a_.rel create mode 100644 src/nos/lib/messages_lib/046e_c8df_Verbose.rel delete mode 100644 src/nos/lib/messages_lib/046f_0f61_dfile_5fsearch_3a_2.rel create mode 100644 src/nos/lib/messages_lib/046f_32ff_Verbose_20flag.rel delete mode 100644 src/nos/lib/messages_lib/0470_4eba_dfile_5fupdate_3a_2.rel create mode 100644 src/nos/lib/messages_lib/0470_b110_WARNING_3a_20Locati.rel delete mode 100644 src/nos/lib/messages_lib/0471_5b47_dfile_5fupdate_3a_2.rel create mode 100644 src/nos/lib/messages_lib/0471_eddf_Warning_21_20Interf.rel create mode 100644 src/nos/lib/messages_lib/0472_4457_Warning_3a_20type_2.rel delete mode 100644 src/nos/lib/messages_lib/0472_ef06_dfile_5fupdate_3a_2.rel delete mode 100644 src/nos/lib/messages_lib/0473_0173_dialer.rel create mode 100644 src/nos/lib/messages_lib/0473_5d14_We_20accepted_20rem.rel create mode 100644 src/nos/lib/messages_lib/0474_85a8_Window_20_28frames_.rel delete mode 100644 src/nos/lib/messages_lib/0474_8d0b_dialer_20_3ciface_3.rel delete mode 100644 src/nos/lib/messages_lib/0475_18c3_digipeat.rel create mode 100644 src/nos/lib/messages_lib/0475_9331_Window_20size_20_28.rel create mode 100644 src/nos/lib/messages_lib/0476_613d_Window_3a_20_25_2d5.rel delete mode 100644 src/nos/lib/messages_lib/0476_bdc7_dir.rel create mode 100644 src/nos/lib/messages_lib/0477_25a6_Wink_20DTR_3f_20.rel delete mode 100644 src/nos/lib/messages_lib/0477_5c0a_directory.rel delete mode 100644 src/nos/lib/messages_lib/0478_176f_discard.rel create mode 100644 src/nos/lib/messages_lib/0478_75b2_Writing_20article_2.rel create mode 100644 src/nos/lib/messages_lib/0479_3999_XMD5_20_25s.rel delete mode 100644 src/nos/lib/messages_lib/0479_684a_discard_20expired_2.rel create mode 100644 src/nos/lib/messages_lib/047a_a62b_XMD5_20_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/047a_f701_disconnect.rel create mode 100644 src/nos/lib/messages_lib/047b_8515_XMKD_20_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/047b_e146_dns.rel create mode 100644 src/nos/lib/messages_lib/047c_31d2_XRMD_20_25s_0a.rel delete mode 100644 src/nos/lib/messages_lib/047c_8f79_dns_5fquery_3a_20qu.rel delete mode 100644 src/nos/lib/messages_lib/047d_6da5_dns_5fquery_3a_20re.rel create mode 100644 src/nos/lib/messages_lib/047d_e80a_Yes_20.rel delete mode 100644 src/nos/lib/messages_lib/047e_041c_doexit_3a_20won_27t.rel create mode 100644 src/nos/lib/messages_lib/047e_71c6_You_20have_20.rel create mode 100644 src/nos/lib/messages_lib/047f_1e66_You_20have_20new_20.rel delete mode 100644 src/nos/lib/messages_lib/047f_21ed_domain.rel create mode 100644 src/nos/lib/messages_lib/0480_4583_You_27re_20using_20.rel delete mode 100644 src/nos/lib/messages_lib/0480_e0fd_down_20script_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/0481_050c_download.rel create mode 100644 src/nos/lib/messages_lib/0481_4aef_Z_20filename.rel delete mode 100644 src/nos/lib/messages_lib/0482_4853_drop.rel create mode 100644 src/nos/lib/messages_lib/0482_5fd7_Zap_20failed_3a_20_.rel delete mode 100644 src/nos/lib/messages_lib/0483_0532_drop_20_3chostid_3e.rel create mode 100644 src/nos/lib/messages_lib/0483_e3d1__5b.rel create mode 100644 src/nos/lib/messages_lib/0484_9d9c__5bNET_2dHMR_24_5d.rel delete mode 100644 src/nos/lib/messages_lib/0484_e7cf_dropserver.rel delete mode 100644 src/nos/lib/messages_lib/0485_a2e4_dup.rel create mode 100644 src/nos/lib/messages_lib/0485_f8e4__5bunknown_5d.rel create mode 100644 src/nos/lib/messages_lib/0486_699f__5eC_0a.rel delete mode 100644 src/nos/lib/messages_lib/0486_b319_dup2.rel delete mode 100644 src/nos/lib/messages_lib/0487_cb91_dynip.rel create mode 100644 src/nos/lib/messages_lib/0487_e5d6__5eR_0a.rel create mode 100644 src/nos/lib/messages_lib/0488_1951__5fexit.rel delete mode 100644 src/nos/lib/messages_lib/0488_2edf_echo.rel delete mode 100644 src/nos/lib/messages_lib/0489_7366_empty_20packet_21_2.rel create mode 100644 src/nos/lib/messages_lib/0489_a314__5ffcreat_3a_20WARN.rel delete mode 100644 src/nos/lib/messages_lib/048a_48fd_encapsulation.rel create mode 100644 src/nos/lib/messages_lib/048a_79de__5funlink_3a_20bad_.rel delete mode 100644 src/nos/lib/messages_lib/048b_4a34_eol.rel create mode 100644 src/nos/lib/messages_lib/048b_722b_accept.rel create mode 100644 src/nos/lib/messages_lib/048c_30f9_accept_0a.rel delete mode 100644 src/nos/lib/messages_lib/048c_b4ae_escape.rel create mode 100644 src/nos/lib/messages_lib/048d_2cfc_access.rel delete mode 100644 src/nos/lib/messages_lib/048d_858e_escc.rel create mode 100644 src/nos/lib/messages_lib/048e_9b89_accm.rel delete mode 100644 src/nos/lib/messages_lib/048e_d50a_escc_25d_3a_20No_20.rel create mode 100644 src/nos/lib/messages_lib/048f_16c9_acct.rel delete mode 100644 src/nos/lib/messages_lib/048f_6362_esccstat.rel create mode 100644 src/nos/lib/messages_lib/0490_0c4f_acfc.rel delete mode 100644 src/nos/lib/messages_lib/0490_59b0_execve.rel delete mode 100644 src/nos/lib/messages_lib/0491_3566_exit.rel create mode 100644 src/nos/lib/messages_lib/0491_7530_acktime.rel create mode 100644 src/nos/lib/messages_lib/0492_41b5_add.rel delete mode 100644 src/nos/lib/messages_lib/0492_bd2b_expired.rel delete mode 100644 src/nos/lib/messages_lib/0493_bf9b_f_5ftrunc_28_29_20r.rel create mode 100644 src/nos/lib/messages_lib/0493_d8a3_add_20_3chostid_3e.rel create mode 100644 src/nos/lib/messages_lib/0494_6783_addprivate.rel delete mode 100644 src/nos/lib/messages_lib/0494_687d_f_5ftrunc_280x_25x_.rel create mode 100644 src/nos/lib/messages_lib/0495_9712_address.rel delete mode 100644 src/nos/lib/messages_lib/0495_bce0_failure.rel delete mode 100644 src/nos/lib/messages_lib/0496_086a_falign.rel create mode 100644 src/nos/lib/messages_lib/0496_2c42_addserver.rel delete mode 100644 src/nos/lib/messages_lib/0497_303b_files.rel create mode 100644 src/nos/lib/messages_lib/0497_b0a9_alarm.rel create mode 100644 src/nos/lib/messages_lib/0498_4d36_allocatepid_28_29_2.rel delete mode 100644 src/nos/lib/messages_lib/0498_d461_filesys_5fdoclose_2.rel delete mode 100644 src/nos/lib/messages_lib/0499_661c_filesys_5fdoclose_2.rel create mode 100644 src/nos/lib/messages_lib/0499_7b67_allocatepid_280x_25.rel delete mode 100644 src/nos/lib/messages_lib/049a_8db4_filesys_5fdoclose_2.rel create mode 100644 src/nos/lib/messages_lib/049a_9965_allocs_20_25lu_20fr.rel create mode 100644 src/nos/lib/messages_lib/049b_d5e4_allow.rel delete mode 100644 src/nos/lib/messages_lib/049b_d6a7_filter_20mode_20is_.rel create mode 100644 src/nos/lib/messages_lib/049c_8e82_allow_20pap_20none_.rel delete mode 100644 src/nos/lib/messages_lib/049c_927a_finger.rel delete mode 100644 src/nos/lib/messages_lib/049d_8ea1_finger_20name_40hos.rel create mode 100644 src/nos/lib/messages_lib/049d_ba08_allow_20tcp_20none_.rel delete mode 100644 src/nos/lib/messages_lib/049e_28f4_flush.rel create mode 100644 src/nos/lib/messages_lib/049e_94f6_anext_20pointer_20o.rel create mode 100644 src/nos/lib/messages_lib/049f_c2a0_answer_20script_3a_.rel delete mode 100644 src/nos/lib/messages_lib/049f_db22_fmount_28_25d_2c_20.rel delete mode 100644 src/nos/lib/messages_lib/04a0_9479_fmount_28_29_20retu.rel create mode 100644 src/nos/lib/messages_lib/04a0_da7c_area.rel create mode 100644 src/nos/lib/messages_lib/04a1_1dde_arp_20add_20_3chost.rel delete mode 100644 src/nos/lib/messages_lib/04a1_d221_fmount_28_29_20retu.rel create mode 100644 src/nos/lib/messages_lib/04a2_96ce_arp_20drop_20_3chos.rel delete mode 100644 src/nos/lib/messages_lib/04a2_dc8b_fmount_3a_20can_27t.rel create mode 100644 src/nos/lib/messages_lib/04a3_0018_arp_20publish_20_3c.rel delete mode 100644 src/nos/lib/messages_lib/04a3_8074_fork.rel create mode 100644 src/nos/lib/messages_lib/04a4_5838_asci.rel delete mode 100644 src/nos/lib/messages_lib/04a4_8227_forward.rel create mode 100644 src/nos/lib/messages_lib/04a5_4354_ascii.rel delete mode 100644 src/nos/lib/messages_lib/04a5_c066_fp_20_20_20_20_20_2.rel create mode 100644 src/nos/lib/messages_lib/04a6_3914_ascistat.rel delete mode 100644 src/nos/lib/messages_lib/04a6_9a2a_free_3a_20WARNING_2.rel delete mode 100644 src/nos/lib/messages_lib/04a7_13ec_freeblk_28_25u_2c_2.rel create mode 100644 src/nos/lib/messages_lib/04a7_6442_attach.rel create mode 100644 src/nos/lib/messages_lib/04a8_39bc_attach_20_3chardwar.rel delete mode 100644 src/nos/lib/messages_lib/04a8_bc64_freeblk_28_29_20ret.rel delete mode 100644 src/nos/lib/messages_lib/04a9_3018_freeblk_28_29_20ret.rel create mode 100644 src/nos/lib/messages_lib/04a9_fe98_attach_20asci_20_3c.rel create mode 100644 src/nos/lib/messages_lib/04aa_093e_attach_20escc_20_3c.rel delete mode 100644 src/nos/lib/messages_lib/04aa_4c13_freebuf_28_25u_29_2.rel delete mode 100644 src/nos/lib/messages_lib/04ab_0c86_freebuf_28_29_20ret.rel create mode 100644 src/nos/lib/messages_lib/04ab_7943_attempt_20to_20writ.rel create mode 100644 src/nos/lib/messages_lib/04ac_7d37_attend.rel delete mode 100644 src/nos/lib/messages_lib/04ac_f896_freelist.rel delete mode 100644 src/nos/lib/messages_lib/04ad_bd4f_from_20_25s_20.rel create mode 100644 src/nos/lib/messages_lib/04ad_c133_authenticate.rel delete mode 100644 src/nos/lib/messages_lib/04ae_5b02_from_20_25s_2ebbs_2.rel create mode 100644 src/nos/lib/messages_lib/04ae_fd47_ax25_20kick_20_3cax.rel create mode 100644 src/nos/lib/messages_lib/04af_0003_ax25_20reset_20_3ca.rel delete mode 100644 src/nos/lib/messages_lib/04af_2208_fs_5finit_28_29.rel delete mode 100644 src/nos/lib/messages_lib/04b0_88d9_fsp_200x_25x_20s_5f.rel create mode 100644 src/nos/lib/messages_lib/04b0_9171_bad_20IP_20packet.rel delete mode 100644 src/nos/lib/messages_lib/04b1_7fbc_fstat.rel create mode 100644 src/nos/lib/messages_lib/04b1_ca0a_bad_20destination_2.rel delete mode 100644 src/nos/lib/messages_lib/04b2_0e84_ftp.rel create mode 100644 src/nos/lib/messages_lib/04b2_60d3_bad_20internet_20ad.rel create mode 100644 src/nos/lib/messages_lib/04b3_0a79_bad_20neighbor_20ca.rel delete mode 100644 src/nos/lib/messages_lib/04b3_bafd_ftp_20_3caddress_3e.rel create mode 100644 src/nos/lib/messages_lib/04b4_4126_batch.rel delete mode 100644 src/nos/lib/messages_lib/04b4_f999_ftp_3e_20syst_0a.rel delete mode 100644 src/nos/lib/messages_lib/04b5_51ba_garbage_20collectio.rel create mode 100644 src/nos/lib/messages_lib/04b5_bcb6_bcnodes.rel create mode 100644 src/nos/lib/messages_lib/04b6_0c93_begin_20_2503o_20_2.rel delete mode 100644 src/nos/lib/messages_lib/04b6_c2ce_gateway.rel create mode 100644 src/nos/lib/messages_lib/04b7_50c4_bfind_28_25u_2c_20_.rel delete mode 100644 src/nos/lib/messages_lib/04b7_9e35_get.rel create mode 100644 src/nos/lib/messages_lib/04b8_0a46_bfind_28_29_20retur.rel delete mode 100644 src/nos/lib/messages_lib/04b8_c7c0_get_20_3cremotefile.rel delete mode 100644 src/nos/lib/messages_lib/04b9_60c5_getfsys.rel create mode 100644 src/nos/lib/messages_lib/04b9_f1cc_bfind_28_29_20retur.rel delete mode 100644 src/nos/lib/messages_lib/04ba_631b_getinode_3a_20bad_2.rel create mode 100644 src/nos/lib/messages_lib/04ba_e2d4_bfree_28_29_20retur.rel delete mode 100644 src/nos/lib/messages_lib/04bb_7dac_getset.rel create mode 100644 src/nos/lib/messages_lib/04bb_e703_bfree_28_29_20retur.rel create mode 100644 src/nos/lib/messages_lib/04bc_4466_bfree_280x_25x_2c_2.rel delete mode 100644 src/nos/lib/messages_lib/04bc_74d1_getting_20block_20_.rel create mode 100644 src/nos/lib/messages_lib/04bd_3245_binary.rel delete mode 100644 src/nos/lib/messages_lib/04bd_b3cb_groups.rel delete mode 100644 src/nos/lib/messages_lib/04be_156e_hash.rel create mode 100644 src/nos/lib/messages_lib/04be_4c4f_blimit.rel delete mode 100644 src/nos/lib/messages_lib/04bf_5bc8_heap_20size_20_25lu.rel create mode 100644 src/nos/lib/messages_lib/04bf_c307_blk_5falloc_28_29_2.rel delete mode 100644 src/nos/lib/messages_lib/04c0_856f_heard.rel create mode 100644 src/nos/lib/messages_lib/04c0_b0c8_bmap_28_29_20return.rel create mode 100644 src/nos/lib/messages_lib/04c1_bbcb_bmap_28_29_20return.rel delete mode 100644 src/nos/lib/messages_lib/04c1_fc9f_help.rel delete mode 100644 src/nos/lib/messages_lib/04c2_1d5e_homedir.rel create mode 100644 src/nos/lib/messages_lib/04c2_46ee_bmap_28_29_20return.rel delete mode 100644 src/nos/lib/messages_lib/04c3_6fa6_hop.rel create mode 100644 src/nos/lib/messages_lib/04c3_7681_bmap_280x_25x_2c_20.rel delete mode 100644 src/nos/lib/messages_lib/04c4_df98_host.rel create mode 100644 src/nos/lib/messages_lib/04c4_ff8d_bootp_20_5bnet_5fna.rel create mode 100644 src/nos/lib/messages_lib/04c5_0e8f_bootp_3a_20Net_5fer.rel delete mode 100644 src/nos/lib/messages_lib/04c5_476e_hostname.rel delete mode 100644 src/nos/lib/messages_lib/04c6_001d_i_5fopen_28_25u_2c_.rel create mode 100644 src/nos/lib/messages_lib/04c6_f5d9_bootp_3a_20timed_20.rel create mode 100644 src/nos/lib/messages_lib/04c7_72d6_bp_20_25lx_20tot_20.rel delete mode 100644 src/nos/lib/messages_lib/04c7_e51c_i_5fopen_28_29_20re.rel delete mode 100644 src/nos/lib/messages_lib/04c8_64fb_i_5fopen_28_29_20re.rel create mode 100644 src/nos/lib/messages_lib/04c8_88ea_bread_28_25u_2c_20_.rel delete mode 100644 src/nos/lib/messages_lib/04c9_2f25_icmp.rel create mode 100644 src/nos/lib/messages_lib/04c9_89e2_bread_28_29_20retur.rel create mode 100644 src/nos/lib/messages_lib/04ca_7a66_bread_28_29_20retur.rel delete mode 100644 src/nos/lib/messages_lib/04ca_dd41_ident.rel create mode 100644 src/nos/lib/messages_lib/04cb_9767_brk.rel delete mode 100644 src/nos/lib/messages_lib/04cb_fe83_ifconfig.rel delete mode 100644 src/nos/lib/messages_lib/04cc_6196_ignored_20_28hold_2.rel create mode 100644 src/nos/lib/messages_lib/04cc_f951_broadcast.rel create mode 100644 src/nos/lib/messages_lib/04cd_03ff_bsr.rel delete mode 100644 src/nos/lib/messages_lib/04cd_dc84_info.rel delete mode 100644 src/nos/lib/messages_lib/04ce_0500_input_20line_3a_20_.rel create mode 100644 src/nos/lib/messages_lib/04ce_d194_bufsync_28_29_20ret.rel create mode 100644 src/nos/lib/messages_lib/04cf_606b_bufsync_28_29_20sta.rel delete mode 100644 src/nos/lib/messages_lib/04cf_9677_interface.rel delete mode 100644 src/nos/lib/messages_lib/04d0_3fa5_ioctl.rel create mode 100644 src/nos/lib/messages_lib/04d0_83e6_by_20_25s_20_28_25s.rel delete mode 100644 src/nos/lib/messages_lib/04d1_3172_ip.rel create mode 100644 src/nos/lib/messages_lib/04d1_69f3_by_20_25s_20with_20.rel create mode 100644 src/nos/lib/messages_lib/04d2_9ab1_bye.rel delete mode 100644 src/nos/lib/messages_lib/04d2_d229_ip_5frecv_28_25s_29.rel delete mode 100644 src/nos/lib/messages_lib/04d3_289f_ip_5fsend_0a.rel create mode 100644 src/nos/lib/messages_lib/04d3_7cbf_cache.rel delete mode 100644 src/nos/lib/messages_lib/04d4_0191_ipaddress.rel create mode 100644 src/nos/lib/messages_lib/04d4_a3a9_can_27t_20read_20_2.rel delete mode 100644 src/nos/lib/messages_lib/04d5_dfc4_ipcp.rel create mode 100644 src/nos/lib/messages_lib/04d5_f4b4_can_27t_20trace_20i.rel create mode 100644 src/nos/lib/messages_lib/04d6_9aa7_cd.rel delete mode 100644 src/nos/lib/messages_lib/04d6_f4c1_irtt.rel create mode 100644 src/nos/lib/messages_lib/04d7_42c2_cd_20_3cdirectory_3.rel delete mode 100644 src/nos/lib/messages_lib/04d7_516b_kick.rel create mode 100644 src/nos/lib/messages_lib/04d8_8b51_ch_5flink_28_29_20r.rel delete mode 100644 src/nos/lib/messages_lib/04d8_a61c_kill.rel create mode 100644 src/nos/lib/messages_lib/04d9_30ce_ch_5flink_28_29_20r.rel delete mode 100644 src/nos/lib/messages_lib/04d9_ff9f_kill_20_3cjobnumber.rel delete mode 100644 src/nos/lib/messages_lib/04da_5e27_ksigs_20_25lu_20que.rel create mode 100644 src/nos/lib/messages_lib/04da_7c72_ch_5flink_280x_25x_.rel delete mode 100644 src/nos/lib/messages_lib/04db_1bbe_kwaits_20_25lu_20no.rel create mode 100644 src/nos/lib/messages_lib/04db_35a9_chat.rel create mode 100644 src/nos/lib/messages_lib/04dc_743f_chdir.rel delete mode 100644 src/nos/lib/messages_lib/04dc_a567_lcp.rel create mode 100644 src/nos/lib/messages_lib/04dd_5ed3_check.rel delete mode 100644 src/nos/lib/messages_lib/04dd_b632_link.rel create mode 100644 src/nos/lib/messages_lib/04de_40b3_check_20_3chost_3e.rel delete mode 100644 src/nos/lib/messages_lib/04de_dfe4_linkaddress.rel create mode 100644 src/nos/lib/messages_lib/04df_4a64_checksum_20error.rel delete mode 100644 src/nos/lib/messages_lib/04df_7bad_list.rel delete mode 100644 src/nos/lib/messages_lib/04e0_4346_listen.rel create mode 100644 src/nos/lib/messages_lib/04e0_c946_chmod.rel delete mode 100644 src/nos/lib/messages_lib/04e1_a5dd_listservers.rel create mode 100644 src/nos/lib/messages_lib/04e1_b786_choketime.rel create mode 100644 src/nos/lib/messages_lib/04e2_88f5_chown.rel delete mode 100644 src/nos/lib/messages_lib/04e2_f2d8_local.rel delete mode 100644 src/nos/lib/messages_lib/04e3_68f9_log.rel create mode 100644 src/nos/lib/messages_lib/04e3_87a8_chroot.rel create mode 100644 src/nos/lib/messages_lib/04e4_4822_clean.rel delete mode 100644 src/nos/lib/messages_lib/04e4_feb4_logfile.rel create mode 100644 src/nos/lib/messages_lib/04e5_23aa_close.rel delete mode 100644 src/nos/lib/messages_lib/04e5_52c6_login_3a_20.rel create mode 100644 src/nos/lib/messages_lib/04e6_2b22_close_20FTP.rel delete mode 100644 src/nos/lib/messages_lib/04e6_a516_logscreen.rel delete mode 100644 src/nos/lib/messages_lib/04e7_8f77_lookup.rel create mode 100644 src/nos/lib/messages_lib/04e7_f93d_close_20Finger.rel create mode 100644 src/nos/lib/messages_lib/04e8_0957_close_20POP.rel delete mode 100644 src/nos/lib/messages_lib/04e8_7d51_ls.rel delete mode 100644 src/nos/lib/messages_lib/04e9_634b_lseek.rel create mode 100644 src/nos/lib/messages_lib/04e9_b85c_close_20POP_20_2d_2.rel delete mode 100644 src/nos/lib/messages_lib/04ea_0288_magic.rel create mode 100644 src/nos/lib/messages_lib/04ea_83a3_close_20SMTP.rel delete mode 100644 src/nos/lib/messages_lib/04eb_868b_maibox_20name_20not.rel create mode 100644 src/nos/lib/messages_lib/04eb_b949_close_20SMTP_20_2d_.rel delete mode 100644 src/nos/lib/messages_lib/04ec_2d7f_mailbox.rel create mode 100644 src/nos/lib/messages_lib/04ec_423c_close_20discard.rel delete mode 100644 src/nos/lib/messages_lib/04ed_2084_mailbox_20name_20no.rel create mode 100644 src/nos/lib/messages_lib/04ed_419d_close_20echo.rel create mode 100644 src/nos/lib/messages_lib/04ee_03ad_close_20term.rel delete mode 100644 src/nos/lib/messages_lib/04ee_86f8_mailhost.rel delete mode 100644 src/nos/lib/messages_lib/04ef_63b8_mailhost_20not_20de.rel create mode 100644 src/nos/lib/messages_lib/04ef_83dc_code_20_25u_20arg_2.rel delete mode 100644 src/nos/lib/messages_lib/04f0_139d_maxclients.rel create mode 100644 src/nos/lib/messages_lib/04f0_ea90_compare.rel delete mode 100644 src/nos/lib/messages_lib/04f1_8d56_maxframe.rel create mode 100644 src/nos/lib/messages_lib/04f1_a613_compare_20_3cremote.rel delete mode 100644 src/nos/lib/messages_lib/04f2_d5aa_maximum_20route_20q.rel create mode 100644 src/nos/lib/messages_lib/04f2_fbc2_compress.rel create mode 100644 src/nos/lib/messages_lib/04f3_3845_compressed_20.rel delete mode 100644 src/nos/lib/messages_lib/04f3_9853_maxmsg.rel create mode 100644 src/nos/lib/messages_lib/04f4_26b1_configure.rel delete mode 100644 src/nos/lib/messages_lib/04f4_7203_maxttl.rel create mode 100644 src/nos/lib/messages_lib/04f5_749f_connect.rel delete mode 100644 src/nos/lib/messages_lib/04f5_e017_maxwait.rel create mode 100644 src/nos/lib/messages_lib/04f6_5769_control.rel delete mode 100644 src/nos/lib/messages_lib/04f6_e57a_mbuf_20allocs_20_25.rel delete mode 100644 src/nos/lib/messages_lib/04f7_8c4f_mcompare.rel create mode 100644 src/nos/lib/messages_lib/04f7_a93e_control_20up_7cdown.rel create mode 100644 src/nos/lib/messages_lib/04f8_2aba_control_3a_20_25s_0.rel delete mode 100644 src/nos/lib/messages_lib/04f8_f47e_mcompare_20_3cfile_.rel create mode 100644 src/nos/lib/messages_lib/04f9_4bf4_cwd.rel delete mode 100644 src/nos/lib/messages_lib/04f9_a71a_md5.rel create mode 100644 src/nos/lib/messages_lib/04fa_62af_d_5finit_28_29.rel delete mode 100644 src/nos/lib/messages_lib/04fa_cc78_md5_20_3cfile_3e.rel delete mode 100644 src/nos/lib/messages_lib/04fb_4d2a_memory.rel create mode 100644 src/nos/lib/messages_lib/04fb_5a9b_d_5finit_28_29_20ma.rel create mode 100644 src/nos/lib/messages_lib/04fc_62a8_debug.rel delete mode 100644 src/nos/lib/messages_lib/04fc_69ba_memory_20cache_20si.rel delete mode 100644 src/nos/lib/messages_lib/04fd_336a_merge.rel create mode 100644 src/nos/lib/messages_lib/04fd_740d_default.rel delete mode 100644 src/nos/lib/messages_lib/04fe_649e_merge_20_25s_20_25d.rel create mode 100644 src/nos/lib/messages_lib/04fe_db45_defaultfile.rel delete mode 100644 src/nos/lib/messages_lib/04ff_460c_metric_20better_3a_.rel create mode 100644 src/nos/lib/messages_lib/04ff_818b_delay_20_25lu_0a.rel create mode 100644 src/nos/lib/messages_lib/0500_2c87_dele.rel delete mode 100644 src/nos/lib/messages_lib/0500_3694_metric_20change_3a_.rel delete mode 100644 src/nos/lib/messages_lib/0501_44b0_metric_20not_20bett.rel create mode 100644 src/nos/lib/messages_lib/0501_89a5_delete.rel create mode 100644 src/nos/lib/messages_lib/0502_3919_delete_20_3cfile_3e.rel delete mode 100644 src/nos/lib/messages_lib/0502_b64c_mget.rel create mode 100644 src/nos/lib/messages_lib/0503_3d2c_deliberate_20cancel.rel delete mode 100644 src/nos/lib/messages_lib/0503_8d01_mget_20_3cfile_3e_2.rel delete mode 100644 src/nos/lib/messages_lib/0504_1e96_mkd_20.rel create mode 100644 src/nos/lib/messages_lib/0504_f9d2_delptab_28_29_20ret.rel delete mode 100644 src/nos/lib/messages_lib/0505_304a_mkdir.rel create mode 100644 src/nos/lib/messages_lib/0505_748e_delptab_28_29_20sta.rel create mode 100644 src/nos/lib/messages_lib/0506_6466_destlist.rel delete mode 100644 src/nos/lib/messages_lib/0506_7d04_mkdir_20_3cdirector.rel delete mode 100644 src/nos/lib/messages_lib/0507_6257_mknod.rel create mode 100644 src/nos/lib/messages_lib/0507_cfc1_detach.rel create mode 100644 src/nos/lib/messages_lib/0508_26f3_detach_20_3cinterfa.rel delete mode 100644 src/nos/lib/messages_lib/0508_685e_mode.rel create mode 100644 src/nos/lib/messages_lib/0509_3f12_devio_5fgarbage_3a_.rel delete mode 100644 src/nos/lib/messages_lib/0509_9335_modes_20are_3a_20no.rel create mode 100644 src/nos/lib/messages_lib/050a_0f61_dfile_5fsearch_3a_2.rel delete mode 100644 src/nos/lib/messages_lib/050a_a91f_more.rel create mode 100644 src/nos/lib/messages_lib/050b_4eba_dfile_5fupdate_3a_2.rel delete mode 100644 src/nos/lib/messages_lib/050b_5384_more_20_3cfilename_.rel create mode 100644 src/nos/lib/messages_lib/050c_5b47_dfile_5fupdate_3a_2.rel delete mode 100644 src/nos/lib/messages_lib/050c_ec46_motd.rel delete mode 100644 src/nos/lib/messages_lib/050d_b5d1_mount.rel create mode 100644 src/nos/lib/messages_lib/050d_ef06_dfile_5fupdate_3a_2.rel create mode 100644 src/nos/lib/messages_lib/050e_0173_dialer.rel delete mode 100644 src/nos/lib/messages_lib/050e_2a4d_mput.rel delete mode 100644 src/nos/lib/messages_lib/050f_312f_mput_20_3cfile_3e_2.rel create mode 100644 src/nos/lib/messages_lib/050f_8d0b_dialer_20_3ciface_3.rel create mode 100644 src/nos/lib/messages_lib/0510_18c3_digipeat.rel delete mode 100644 src/nos/lib/messages_lib/0510_245f_mru.rel delete mode 100644 src/nos/lib/messages_lib/0511_58b1_mss.rel create mode 100644 src/nos/lib/messages_lib/0511_bdc7_dir.rel create mode 100644 src/nos/lib/messages_lib/0512_5c0a_directory.rel delete mode 100644 src/nos/lib/messages_lib/0512_708f_mtu.rel create mode 100644 src/nos/lib/messages_lib/0513_176f_discard.rel delete mode 100644 src/nos/lib/messages_lib/0513_78ae_mycall.rel create mode 100644 src/nos/lib/messages_lib/0514_684a_discard_20expired_2.rel delete mode 100644 src/nos/lib/messages_lib/0514_e112_n_5fcreat_28_22_25s.rel create mode 100644 src/nos/lib/messages_lib/0515_f701_disconnect.rel delete mode 100644 src/nos/lib/messages_lib/0515_fa1b_n_5fcreat_28_29_20r.rel delete mode 100644 src/nos/lib/messages_lib/0516_105b_n_5fcreat_28_29_20r.rel create mode 100644 src/nos/lib/messages_lib/0516_e146_dns.rel delete mode 100644 src/nos/lib/messages_lib/0517_8a90_name.rel create mode 100644 src/nos/lib/messages_lib/0517_8f79_dns_5fquery_3a_20qu.rel create mode 100644 src/nos/lib/messages_lib/0518_6da5_dns_5fquery_3a_20re.rel delete mode 100644 src/nos/lib/messages_lib/0518_b07d_netmask.rel create mode 100644 src/nos/lib/messages_lib/0519_041c_doexit_3a_20won_27t.rel delete mode 100644 src/nos/lib/messages_lib/0519_4d2c_netrom_20bcnodes_20.rel create mode 100644 src/nos/lib/messages_lib/051a_21ed_domain.rel delete mode 100644 src/nos/lib/messages_lib/051a_c5dc_netrom_20connect_20.rel delete mode 100644 src/nos/lib/messages_lib/051b_925a_netrom_20interface_.rel create mode 100644 src/nos/lib/messages_lib/051b_e0fd_down_20script_3a_20.rel create mode 100644 src/nos/lib/messages_lib/051c_050c_download.rel delete mode 100644 src/nos/lib/messages_lib/051c_a510_netrom_20interface_.rel create mode 100644 src/nos/lib/messages_lib/051d_4853_drop.rel delete mode 100644 src/nos/lib/messages_lib/051d_b271_netrom_20kick_20_3c.rel create mode 100644 src/nos/lib/messages_lib/051e_0532_drop_20_3chostid_3e.rel delete mode 100644 src/nos/lib/messages_lib/051e_5334_netrom_20nodefilter.rel delete mode 100644 src/nos/lib/messages_lib/051f_6bfe_netrom_20nodefilter.rel create mode 100644 src/nos/lib/messages_lib/051f_e7cf_dropserver.rel delete mode 100644 src/nos/lib/messages_lib/0520_328e_netrom_20reset_20_3.rel create mode 100644 src/nos/lib/messages_lib/0520_a2e4_dup.rel delete mode 100644 src/nos/lib/messages_lib/0521_18c8_netrom_20route_20ad.rel create mode 100644 src/nos/lib/messages_lib/0521_b319_dup2.rel create mode 100644 src/nos/lib/messages_lib/0522_cb91_dynip.rel delete mode 100644 src/nos/lib/messages_lib/0522_fff3_netrom_20route_20dr.rel create mode 100644 src/nos/lib/messages_lib/0523_2edf_echo.rel delete mode 100644 src/nos/lib/messages_lib/0523_e8da_netrom_20route_20in.rel create mode 100644 src/nos/lib/messages_lib/0524_7366_empty_20packet_21_2.rel delete mode 100644 src/nos/lib/messages_lib/0524_9094_newfile_28_29_20ret.rel create mode 100644 src/nos/lib/messages_lib/0525_48fd_encapsulation.rel delete mode 100644 src/nos/lib/messages_lib/0525_6cce_newfile_28_29_20ret.rel delete mode 100644 src/nos/lib/messages_lib/0526_147d_newfile_280x_25x_2c.rel create mode 100644 src/nos/lib/messages_lib/0526_4a34_eol.rel delete mode 100644 src/nos/lib/messages_lib/0527_2254_newproc_20_22_25s_2.rel create mode 100644 src/nos/lib/messages_lib/0527_b4ae_escape.rel delete mode 100644 src/nos/lib/messages_lib/0528_4db6_newsession_3a_20WAR.rel create mode 100644 src/nos/lib/messages_lib/0528_858e_escc.rel delete mode 100644 src/nos/lib/messages_lib/0529_5ab5_newsession_3a_20WAR.rel create mode 100644 src/nos/lib/messages_lib/0529_d50a_escc_25d_3a_20No_20.rel create mode 100644 src/nos/lib/messages_lib/052a_6362_esccstat.rel delete mode 100644 src/nos/lib/messages_lib/052a_7718_next_20pointer_20ou.rel create mode 100644 src/nos/lib/messages_lib/052b_59b0_execve.rel delete mode 100644 src/nos/lib/messages_lib/052b_7b66_nlst.rel delete mode 100644 src/nos/lib/messages_lib/052c_0ca7_nntp_20addserver_20.rel create mode 100644 src/nos/lib/messages_lib/052c_3566_exit.rel create mode 100644 src/nos/lib/messages_lib/052d_bd2b_expired.rel delete mode 100644 src/nos/lib/messages_lib/052d_fea0_nntp_20dropserver_2.rel delete mode 100644 src/nos/lib/messages_lib/052e_a821_nntp_20kick_20_3cnn.rel create mode 100644 src/nos/lib/messages_lib/052e_bf9b_f_5ftrunc_28_29_20r.rel create mode 100644 src/nos/lib/messages_lib/052f_687d_f_5ftrunc_280x_25x_.rel delete mode 100644 src/nos/lib/messages_lib/052f_a7f6_no_20filesys.rel delete mode 100644 src/nos/lib/messages_lib/0530_7405_no_20root.rel create mode 100644 src/nos/lib/messages_lib/0530_bce0_failure.rel create mode 100644 src/nos/lib/messages_lib/0531_086a_falign.rel delete mode 100644 src/nos/lib/messages_lib/0531_b518_no_20such_20route_0.rel create mode 100644 src/nos/lib/messages_lib/0532_303b_files.rel delete mode 100644 src/nos/lib/messages_lib/0532_3fb4_nodefilter.rel delete mode 100644 src/nos/lib/messages_lib/0533_bac4_nodefilter_20subcom.rel create mode 100644 src/nos/lib/messages_lib/0533_d461_filesys_5fdoclose_2.rel create mode 100644 src/nos/lib/messages_lib/0534_661c_filesys_5fdoclose_2.rel delete mode 100644 src/nos/lib/messages_lib/0534_e743_nodes.rel delete mode 100644 src/nos/lib/messages_lib/0535_57cf_nodetimer.rel create mode 100644 src/nos/lib/messages_lib/0535_8db4_filesys_5fdoclose_2.rel delete mode 100644 src/nos/lib/messages_lib/0536_7a7f_none_0a.rel create mode 100644 src/nos/lib/messages_lib/0536_d6a7_filter_20mode_20is_.rel delete mode 100644 src/nos/lib/messages_lib/0537_29c2_normal_20_28_25s_20.rel create mode 100644 src/nos/lib/messages_lib/0537_e04d_findprocess_28_25d_.rel delete mode 100644 src/nos/lib/messages_lib/0538_07d0_null_0a.rel create mode 100644 src/nos/lib/messages_lib/0538_1164_findprocess_28_29_2.rel create mode 100644 src/nos/lib/messages_lib/0539_9bc0_findprocess_28_29_2.rel delete mode 100644 src/nos/lib/messages_lib/0539_fb30_obsotimer.rel delete mode 100644 src/nos/lib/messages_lib/053a_3971_open.rel create mode 100644 src/nos/lib/messages_lib/053a_927a_finger.rel create mode 100644 src/nos/lib/messages_lib/053b_8ea1_finger_20name_40hos.rel delete mode 100644 src/nos/lib/messages_lib/053b_a412_open_20_25s.rel create mode 100644 src/nos/lib/messages_lib/053c_28f4_flush.rel delete mode 100644 src/nos/lib/messages_lib/053c_e5a0_open_20FTP.rel delete mode 100644 src/nos/lib/messages_lib/053d_10d3_open_20Finger.rel create mode 100644 src/nos/lib/messages_lib/053d_db22_fmount_28_25d_2c_20.rel create mode 100644 src/nos/lib/messages_lib/053e_9479_fmount_28_29_20retu.rel delete mode 100644 src/nos/lib/messages_lib/053e_fe22_open_20MBOX.rel delete mode 100644 src/nos/lib/messages_lib/053f_c7d5_open_20POP.rel create mode 100644 src/nos/lib/messages_lib/053f_d221_fmount_28_29_20retu.rel delete mode 100644 src/nos/lib/messages_lib/0540_2477_open_20SMTP.rel create mode 100644 src/nos/lib/messages_lib/0540_dc8b_fmount_3a_20can_27t.rel delete mode 100644 src/nos/lib/messages_lib/0541_4ca5_open_20discard.rel create mode 100644 src/nos/lib/messages_lib/0541_cf48_force.rel create mode 100644 src/nos/lib/messages_lib/0542_7349_force_20up_7cdown.rel delete mode 100644 src/nos/lib/messages_lib/0542_e649_open_20echo.rel create mode 100644 src/nos/lib/messages_lib/0543_8074_fork.rel delete mode 100644 src/nos/lib/messages_lib/0543_a479_open_20term.rel delete mode 100644 src/nos/lib/messages_lib/0544_2f09_p_5finit_28_29.rel create mode 100644 src/nos/lib/messages_lib/0544_a19b_forkprocess_28_29_2.rel delete mode 100644 src/nos/lib/messages_lib/0545_76ec_packet_20delayed_20.rel create mode 100644 src/nos/lib/messages_lib/0545_9408_forkprocess_28_29_2.rel delete mode 100644 src/nos/lib/messages_lib/0546_8504_packet_20duped_0a.rel create mode 100644 src/nos/lib/messages_lib/0546_9eb7_forkprocess_280x_25.rel create mode 100644 src/nos/lib/messages_lib/0547_8227_forward.rel delete mode 100644 src/nos/lib/messages_lib/0547_a8e1_packet_20lost_0a.rel create mode 100644 src/nos/lib/messages_lib/0548_c066_fp_20_20_20_20_20_2.rel delete mode 100644 src/nos/lib/messages_lib/0548_ead4_paclen.rel delete mode 100644 src/nos/lib/messages_lib/0549_1a03_page.rel create mode 100644 src/nos/lib/messages_lib/0549_9a2a_free_3a_20WARNING_2.rel create mode 100644 src/nos/lib/messages_lib/054a_13ec_freeblk_28_25u_2c_2.rel delete mode 100644 src/nos/lib/messages_lib/054a_dd11_page_20_3ccommand_3.rel delete mode 100644 src/nos/lib/messages_lib/054b_b6e1_pap.rel create mode 100644 src/nos/lib/messages_lib/054b_bc64_freeblk_28_29_20ret.rel create mode 100644 src/nos/lib/messages_lib/054c_3018_freeblk_28_29_20ret.rel delete mode 100644 src/nos/lib/messages_lib/054c_512a_param.rel create mode 100644 src/nos/lib/messages_lib/054d_4c13_freebuf_28_25u_29_2.rel delete mode 100644 src/nos/lib/messages_lib/054d_d362_param_20_3cinterfac.rel create mode 100644 src/nos/lib/messages_lib/054e_0c86_freebuf_28_29_20ret.rel delete mode 100644 src/nos/lib/messages_lib/054e_9d45_pass.rel delete mode 100644 src/nos/lib/messages_lib/054f_f746_pause.rel create mode 100644 src/nos/lib/messages_lib/054f_f896_freelist.rel create mode 100644 src/nos/lib/messages_lib/0550_bd4f_from_20_25s_20.rel delete mode 100644 src/nos/lib/messages_lib/0550_d9f3_pfc.rel delete mode 100644 src/nos/lib/messages_lib/0551_28cb_ping.rel create mode 100644 src/nos/lib/messages_lib/0551_5b02_from_20_25s_2ebbs_2.rel create mode 100644 src/nos/lib/messages_lib/0552_2208_fs_5finit_28_29.rel delete mode 100644 src/nos/lib/messages_lib/0552_d85a_ping_20_3chostid_3e.rel create mode 100644 src/nos/lib/messages_lib/0553_0372_fsm_5finit_28_29.rel delete mode 100644 src/nos/lib/messages_lib/0553_0458_pipe.rel delete mode 100644 src/nos/lib/messages_lib/0554_5919_pool.rel create mode 100644 src/nos/lib/messages_lib/0554_914a_fsm_5fno_5faction_2.rel delete mode 100644 src/nos/lib/messages_lib/0555_e039_port.rel create mode 100644 src/nos/lib/messages_lib/0555_f286_fsm_5fno_5fcheck_28.rel create mode 100644 src/nos/lib/messages_lib/0556_1a51_fsm_5freset_28_29.rel delete mode 100644 src/nos/lib/messages_lib/0556_a9d2_port_20_25d_3a_20tx.rel create mode 100644 src/nos/lib/messages_lib/0557_1515_fsm_5fsendreq_28_29.rel delete mode 100644 src/nos/lib/messages_lib/0557_3aa8_ppp.rel create mode 100644 src/nos/lib/messages_lib/0558_5109_fsm_5fsendtermack_2.rel delete mode 100644 src/nos/lib/messages_lib/0558_8304_ppp_5fproc_3a_20mis.rel create mode 100644 src/nos/lib/messages_lib/0559_45f0_fsm_5fsendtermreq_2.rel delete mode 100644 src/nos/lib/messages_lib/0559_4b37_process_20_25d_20ex.rel create mode 100644 src/nos/lib/messages_lib/055a_7049_fsm_5ftimer_28_29.rel delete mode 100644 src/nos/lib/messages_lib/055a_8848_processing_20my_20i.rel create mode 100644 src/nos/lib/messages_lib/055b_88d9_fsp_200x_25x_20s_5f.rel delete mode 100644 src/nos/lib/messages_lib/055b_e384_processing_20other_.rel delete mode 100644 src/nos/lib/messages_lib/055c_3dc2_protocol_3a_20.rel create mode 100644 src/nos/lib/messages_lib/055c_7fbc_fstat.rel create mode 100644 src/nos/lib/messages_lib/055d_0e84_ftp.rel delete mode 100644 src/nos/lib/messages_lib/055d_4160_ps.rel delete mode 100644 src/nos/lib/messages_lib/055e_26dc_pthresh.rel create mode 100644 src/nos/lib/messages_lib/055e_bafd_ftp_20_3caddress_3e.rel delete mode 100644 src/nos/lib/messages_lib/055f_a61f_publish.rel create mode 100644 src/nos/lib/messages_lib/055f_f999_ftp_3e_20syst_0a.rel delete mode 100644 src/nos/lib/messages_lib/0560_274c_pushdown_20calls_20.rel create mode 100644 src/nos/lib/messages_lib/0560_51ba_garbage_20collectio.rel delete mode 100644 src/nos/lib/messages_lib/0561_0234_put.rel create mode 100644 src/nos/lib/messages_lib/0561_c2ce_gateway.rel delete mode 100644 src/nos/lib/messages_lib/0562_8f3b_put_20_3clocalfile_.rel create mode 100644 src/nos/lib/messages_lib/0562_9e35_get.rel delete mode 100644 src/nos/lib/messages_lib/0563_b16b_putting_20block_20_.rel create mode 100644 src/nos/lib/messages_lib/0563_c7c0_get_20_3cremotefile.rel delete mode 100644 src/nos/lib/messages_lib/0564_2105_pwd.rel create mode 100644 src/nos/lib/messages_lib/0564_60c5_getfsys.rel delete mode 100644 src/nos/lib/messages_lib/0565_0282_qlimit.rel create mode 100644 src/nos/lib/messages_lib/0565_631b_getinode_3a_20bad_2.rel delete mode 100644 src/nos/lib/messages_lib/0566_0be6_queries.rel create mode 100644 src/nos/lib/messages_lib/0566_7dac_getset.rel delete mode 100644 src/nos/lib/messages_lib/0567_0bef_query.rel create mode 100644 src/nos/lib/messages_lib/0567_74d1_getting_20block_20_.rel delete mode 100644 src/nos/lib/messages_lib/0568_6646_query_20_3chostid_3.rel create mode 100644 src/nos/lib/messages_lib/0568_b3cb_groups.rel create mode 100644 src/nos/lib/messages_lib/0569_156e_hash.rel delete mode 100644 src/nos/lib/messages_lib/0569_27c8_queue_20job_20_25s_.rel delete mode 100644 src/nos/lib/messages_lib/056a_1196_quick.rel create mode 100644 src/nos/lib/messages_lib/056a_5bc8_heap_20size_20_25lu.rel create mode 100644 src/nos/lib/messages_lib/056b_856f_heard.rel delete mode 100644 src/nos/lib/messages_lib/056b_ad30_quiet.rel delete mode 100644 src/nos/lib/messages_lib/056c_7b54_quit.rel create mode 100644 src/nos/lib/messages_lib/056c_fc9f_help.rel delete mode 100644 src/nos/lib/messages_lib/056d_054d_read.rel create mode 100644 src/nos/lib/messages_lib/056d_1d5e_homedir.rel create mode 100644 src/nos/lib/messages_lib/056e_6fa6_hop.rel delete mode 100644 src/nos/lib/messages_lib/056e_c7a9_read_20_3cremotefil.rel delete mode 100644 src/nos/lib/messages_lib/056f_19fa_readwritei_28_25u_2.rel create mode 100644 src/nos/lib/messages_lib/056f_df98_host.rel create mode 100644 src/nos/lib/messages_lib/0570_476e_hostname.rel delete mode 100644 src/nos/lib/messages_lib/0570_79be_readwritei_28_29_20.rel create mode 100644 src/nos/lib/messages_lib/0571_001d_i_5fopen_28_25u_2c_.rel delete mode 100644 src/nos/lib/messages_lib/0571_94aa_readwritei_28_29_20.rel delete mode 100644 src/nos/lib/messages_lib/0572_67b0_readwritei_28_29_20.rel create mode 100644 src/nos/lib/messages_lib/0572_e51c_i_5fopen_28_29_20re.rel create mode 100644 src/nos/lib/messages_lib/0573_64fb_i_5fopen_28_29_20re.rel delete mode 100644 src/nos/lib/messages_lib/0573_7ee6_reboot.rel delete mode 100644 src/nos/lib/messages_lib/0574_1c64_received_20_25u_20b.rel create mode 100644 src/nos/lib/messages_lib/0574_2f25_icmp.rel delete mode 100644 src/nos/lib/messages_lib/0575_5735_record.rel create mode 100644 src/nos/lib/messages_lib/0575_6bae_id_20mismatch_20hdr.rel delete mode 100644 src/nos/lib/messages_lib/0576_18c5_recv_3a_20do_20.rel create mode 100644 src/nos/lib/messages_lib/0576_dd41_ident.rel delete mode 100644 src/nos/lib/messages_lib/0577_8810_recv_3a_20dont_20.rel create mode 100644 src/nos/lib/messages_lib/0577_fe83_ifconfig.rel create mode 100644 src/nos/lib/messages_lib/0578_6196_ignored_20_28hold_2.rel delete mode 100644 src/nos/lib/messages_lib/0578_84ef_recv_3a_20will_20.rel delete mode 100644 src/nos/lib/messages_lib/0579_219c_recv_3a_20wont_20.rel create mode 100644 src/nos/lib/messages_lib/0579_dc84_info.rel create mode 100644 src/nos/lib/messages_lib/057a_155a_init_20script_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/057a_c7dc_refuse.rel create mode 100644 src/nos/lib/messages_lib/057b_0500_input_20line_3a_20_.rel delete mode 100644 src/nos/lib/messages_lib/057b_0e31_reject_0a.rel create mode 100644 src/nos/lib/messages_lib/057c_9677_interface.rel delete mode 100644 src/nos/lib/messages_lib/057c_bc2e_remote.rel create mode 100644 src/nos/lib/messages_lib/057d_3fa5_ioctl.rel delete mode 100644 src/nos/lib/messages_lib/057d_4ff0_remote_20_5b_2dp_20.rel create mode 100644 src/nos/lib/messages_lib/057e_3172_ip.rel delete mode 100644 src/nos/lib/messages_lib/057e_cb71_rename.rel delete mode 100644 src/nos/lib/messages_lib/057f_a493_rename_20_3coldfile.rel create mode 100644 src/nos/lib/messages_lib/057f_d229_ip_5frecv_28_25s_29.rel create mode 100644 src/nos/lib/messages_lib/0580_289f_ip_5fsend_0a.rel delete mode 100644 src/nos/lib/messages_lib/0580_6d5b_repeat.rel create mode 100644 src/nos/lib/messages_lib/0581_0191_ipaddress.rel delete mode 100644 src/nos/lib/messages_lib/0581_01b9_repeat_20_3cinterva.rel delete mode 100644 src/nos/lib/messages_lib/0582_3f14_request.rel create mode 100644 src/nos/lib/messages_lib/0582_dfc4_ipcp.rel delete mode 100644 src/nos/lib/messages_lib/0583_85b2_reset.rel create mode 100644 src/nos/lib/messages_lib/0583_94f9_ipcp_5fack_28_29.rel create mode 100644 src/nos/lib/messages_lib/0584_8ddb_ipcp_5finit_28_29.rel delete mode 100644 src/nos/lib/messages_lib/0584_c3ce_response_20id_20_25.rel delete mode 100644 src/nos/lib/messages_lib/0585_9bd3_retr.rel create mode 100644 src/nos/lib/messages_lib/0585_fa2c_ipcp_5fmakeoptions_.rel create mode 100644 src/nos/lib/messages_lib/0586_5617_ipcp_5fmakereq_28_2.rel delete mode 100644 src/nos/lib/messages_lib/0586_5e3c_retries.rel delete mode 100644 src/nos/lib/messages_lib/0587_0acb_retry.rel create mode 100644 src/nos/lib/messages_lib/0587_c773_ipcp_5fnak_28_29.rel create mode 100644 src/nos/lib/messages_lib/0588_269f_ipcp_5freject_28_29.rel delete mode 100644 src/nos/lib/messages_lib/0588_7f96_rip_20accept_20_3cg.rel create mode 100644 src/nos/lib/messages_lib/0589_0241_ipcp_5frequest_28_2.rel delete mode 100644 src/nos/lib/messages_lib/0589_764e_rip_20add_20_3cdest.rel create mode 100644 src/nos/lib/messages_lib/058a_2214_ipcp_5freset_28_29.rel delete mode 100644 src/nos/lib/messages_lib/058a_3030_rip_20drop_20_3cdes.rel create mode 100644 src/nos/lib/messages_lib/058b_1977_ipcp_5fstarting_28_.rel delete mode 100644 src/nos/lib/messages_lib/058b_8661_rip_20refuse_20_3cg.rel create mode 100644 src/nos/lib/messages_lib/058c_0e6d_ipcp_5fstopping_28_.rel delete mode 100644 src/nos/lib/messages_lib/058c_b917_rmd_20.rel delete mode 100644 src/nos/lib/messages_lib/058d_a56c_rmdir.rel create mode 100644 src/nos/lib/messages_lib/058d_f4c1_irtt.rel create mode 100644 src/nos/lib/messages_lib/058e_516b_kick.rel delete mode 100644 src/nos/lib/messages_lib/058e_b9e3_rmdir_20_3cdirector.rel create mode 100644 src/nos/lib/messages_lib/058f_a61c_kill.rel delete mode 100644 src/nos/lib/messages_lib/058f_c459_rmhost.rel delete mode 100644 src/nos/lib/messages_lib/0590_0284_route.rel create mode 100644 src/nos/lib/messages_lib/0590_ff9f_kill_20_3cjobnumber.rel create mode 100644 src/nos/lib/messages_lib/0591_5e27_ksigs_20_25lu_20que.rel delete mode 100644 src/nos/lib/messages_lib/0591_ea02_route_20add_20_3cde.rel create mode 100644 src/nos/lib/messages_lib/0592_1bbe_kwaits_20_25lu_20no.rel delete mode 100644 src/nos/lib/messages_lib/0592_f461_route_20add_20_5b_2.rel create mode 100644 src/nos/lib/messages_lib/0593_a567_lcp.rel delete mode 100644 src/nos/lib/messages_lib/0593_d581_route_20addprivate_.rel create mode 100644 src/nos/lib/messages_lib/0594_411d_lcp_5fack_28_29.rel delete mode 100644 src/nos/lib/messages_lib/0594_bbd2_route_20drop_20_3cd.rel delete mode 100644 src/nos/lib/messages_lib/0595_103e_route_20drop_20_5b_.rel create mode 100644 src/nos/lib/messages_lib/0595_2c24_lcp_5finit_28_29.rel delete mode 100644 src/nos/lib/messages_lib/0596_a5ec_route_20lookup_20_3.rel create mode 100644 src/nos/lib/messages_lib/0596_f060_lcp_5fmakeoptions_2.rel create mode 100644 src/nos/lib/messages_lib/0597_26c3_lcp_5fmakereq_28_29.rel delete mode 100644 src/nos/lib/messages_lib/0597_ae23_route_20to_20self_3.rel create mode 100644 src/nos/lib/messages_lib/0598_1297_lcp_5fnak_28_29.rel delete mode 100644 src/nos/lib/messages_lib/0598_2c09_rtimer.rel create mode 100644 src/nos/lib/messages_lib/0599_6ddc_lcp_5freject_28_29.rel delete mode 100644 src/nos/lib/messages_lib/0599_ae54_rtt.rel delete mode 100644 src/nos/lib/messages_lib/059a_02fc_running.rel create mode 100644 src/nos/lib/messages_lib/059a_7295_lcp_5frequest_28_29.rel create mode 100644 src/nos/lib/messages_lib/059b_2dcd_lcp_5freset_28_29.rel delete mode 100644 src/nos/lib/messages_lib/059b_de1b_rwsetup_28_25u_2c_2.rel delete mode 100644 src/nos/lib/messages_lib/059c_7f24_rwsetup_28_29_20ret.rel create mode 100644 src/nos/lib/messages_lib/059c_89ae_lcp_5fstarting_28_2.rel create mode 100644 src/nos/lib/messages_lib/059d_9eb4_lcp_5fstopping_28_2.rel delete mode 100644 src/nos/lib/messages_lib/059d_d9aa_rwsetup_28_29_20ret.rel delete mode 100644 src/nos/lib/messages_lib/059e_b4d7_rxbuf.rel create mode 100644 src/nos/lib/messages_lib/059e_cbc2_line_20not_20up.rel create mode 100644 src/nos/lib/messages_lib/059f_b632_link.rel delete mode 100644 src/nos/lib/messages_lib/059f_d2fd_sbrk.rel create mode 100644 src/nos/lib/messages_lib/05a0_01ce_link_20header_20mis.rel delete mode 100644 src/nos/lib/messages_lib/05a0_3365_scrollback.rel delete mode 100644 src/nos/lib/messages_lib/05a1_9a3e_send.rel create mode 100644 src/nos/lib/messages_lib/05a1_dfe4_linkaddress.rel create mode 100644 src/nos/lib/messages_lib/05a2_7bad_list.rel delete mode 100644 src/nos/lib/messages_lib/05a2_e397_send_20_22string_22.rel create mode 100644 src/nos/lib/messages_lib/05a3_4346_listen.rel delete mode 100644 src/nos/lib/messages_lib/05a3_5c19_sender.rel create mode 100644 src/nos/lib/messages_lib/05a4_a5dd_listservers.rel delete mode 100644 src/nos/lib/messages_lib/05a4_efea_sending_20job_20_25.rel delete mode 100644 src/nos/lib/messages_lib/05a5_7321_sent_3a_20do_20.rel create mode 100644 src/nos/lib/messages_lib/05a5_f2d8_local.rel create mode 100644 src/nos/lib/messages_lib/05a6_68f9_log.rel delete mode 100644 src/nos/lib/messages_lib/05a6_db3c_sent_3a_20dont_20.rel delete mode 100644 src/nos/lib/messages_lib/05a7_d7c3_sent_3a_20will_20.rel create mode 100644 src/nos/lib/messages_lib/05a7_feb4_logfile.rel create mode 100644 src/nos/lib/messages_lib/05a8_52c6_login_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/05a8_72b0_sent_3a_20wont_20.rel delete mode 100644 src/nos/lib/messages_lib/05a9_2d5d_serial_20line_20IP_.rel create mode 100644 src/nos/lib/messages_lib/05a9_a516_logscreen.rel create mode 100644 src/nos/lib/messages_lib/05aa_8f77_lookup.rel delete mode 100644 src/nos/lib/messages_lib/05aa_f33e_serial_20line_20VJ_.rel delete mode 100644 src/nos/lib/messages_lib/05ab_6f7f_serial_20line_20VJ_.rel create mode 100644 src/nos/lib/messages_lib/05ab_7d51_ls.rel create mode 100644 src/nos/lib/messages_lib/05ac_634b_lseek.rel delete mode 100644 src/nos/lib/messages_lib/05ac_6f48_server_20retries.rel create mode 100644 src/nos/lib/messages_lib/05ad_0288_magic.rel delete mode 100644 src/nos/lib/messages_lib/05ad_f0af_server_20trace.rel create mode 100644 src/nos/lib/messages_lib/05ae_868b_maibox_20name_20not.rel delete mode 100644 src/nos/lib/messages_lib/05ae_db9a_session.rel create mode 100644 src/nos/lib/messages_lib/05af_2d7f_mailbox.rel delete mode 100644 src/nos/lib/messages_lib/05af_3031_set_20mycall_20firs.rel delete mode 100644 src/nos/lib/messages_lib/05b0_1de4_shell.rel create mode 100644 src/nos/lib/messages_lib/05b0_2084_mailbox_20name_20no.rel delete mode 100644 src/nos/lib/messages_lib/05b1_3faf_signal.rel create mode 100644 src/nos/lib/messages_lib/05b1_86f8_mailhost.rel create mode 100644 src/nos/lib/messages_lib/05b2_63b8_mailhost_20not_20de.rel delete mode 100644 src/nos/lib/messages_lib/05b2_dce5_size.rel create mode 100644 src/nos/lib/messages_lib/05b3_c3a4_mainproc_28_29.rel delete mode 100644 src/nos/lib/messages_lib/05b3_f163_sizes.rel create mode 100644 src/nos/lib/messages_lib/05b4_0ca2_mainptab_28_29.rel delete mode 100644 src/nos/lib/messages_lib/05b4_4046_smtp_20daemon_20ent.rel create mode 100644 src/nos/lib/messages_lib/05b5_139d_maxclients.rel delete mode 100644 src/nos/lib/messages_lib/05b5_8e2a_smtp_20daemon_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/05b6_23e1_smtp_20job_20_25s_2.rel create mode 100644 src/nos/lib/messages_lib/05b6_8d56_maxframe.rel create mode 100644 src/nos/lib/messages_lib/05b7_d5aa_maximum_20route_20q.rel delete mode 100644 src/nos/lib/messages_lib/05b7_ed89_smtp_20mode_3a_20_2.rel delete mode 100644 src/nos/lib/messages_lib/05b8_2b33_smtp_20recv_3a_20_2.rel create mode 100644 src/nos/lib/messages_lib/05b8_9853_maxmsg.rel create mode 100644 src/nos/lib/messages_lib/05b9_7203_maxttl.rel delete mode 100644 src/nos/lib/messages_lib/05b9_928b_smtp_20sent_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/05ba_b4cf_socket.rel create mode 100644 src/nos/lib/messages_lib/05ba_e017_maxwait.rel delete mode 100644 src/nos/lib/messages_lib/05bb_6b20_some_20strange_2c_2.rel create mode 100644 src/nos/lib/messages_lib/05bb_e57a_mbuf_20allocs_20_25.rel delete mode 100644 src/nos/lib/messages_lib/05bc_60cd_speed.rel create mode 100644 src/nos/lib/messages_lib/05bc_8c4f_mcompare.rel delete mode 100644 src/nos/lib/messages_lib/05bd_9785_speed_20_3cbps_3e.rel create mode 100644 src/nos/lib/messages_lib/05bd_f47e_mcompare_20_3cfile_.rel delete mode 100644 src/nos/lib/messages_lib/05be_1861_spool_3a_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/05be_a71a_md5.rel delete mode 100644 src/nos/lib/messages_lib/05bf_61f2_src_20_25s.rel create mode 100644 src/nos/lib/messages_lib/05bf_cc78_md5_20_3cfile_3e.rel create mode 100644 src/nos/lib/messages_lib/05c0_4d2a_memory.rel delete mode 100644 src/nos/lib/messages_lib/05c0_4e06_srtt_20_3d_20_25lu_.rel create mode 100644 src/nos/lib/messages_lib/05c1_69ba_memory_20cache_20si.rel delete mode 100644 src/nos/lib/messages_lib/05c1_795f_stack_20test.rel create mode 100644 src/nos/lib/messages_lib/05c2_336a_merge.rel delete mode 100644 src/nos/lib/messages_lib/05c2_45e3_stacktest.rel create mode 100644 src/nos/lib/messages_lib/05c3_649e_merge_20_25s_20_25d.rel delete mode 100644 src/nos/lib/messages_lib/05c3_be0b_stacktest_20_5bon_7.rel create mode 100644 src/nos/lib/messages_lib/05c4_460c_metric_20better_3a_.rel delete mode 100644 src/nos/lib/messages_lib/05c4_fcc6_standard_0a.rel create mode 100644 src/nos/lib/messages_lib/05c5_3694_metric_20change_3a_.rel delete mode 100644 src/nos/lib/messages_lib/05c5_b958_start.rel create mode 100644 src/nos/lib/messages_lib/05c6_44b0_metric_20not_20bett.rel delete mode 100644 src/nos/lib/messages_lib/05c6_4b5d_start_20_3cserverna.rel delete mode 100644 src/nos/lib/messages_lib/05c7_9324_start_20bsr_20_3cin.rel create mode 100644 src/nos/lib/messages_lib/05c7_b64c_mget.rel create mode 100644 src/nos/lib/messages_lib/05c8_8d01_mget_20_3cfile_3e_2.rel delete mode 100644 src/nos/lib/messages_lib/05c8_d63e_stat.rel delete mode 100644 src/nos/lib/messages_lib/05c9_5069_status.rel create mode 100644 src/nos/lib/messages_lib/05c9_f789_missing_20ALL_20add.rel delete mode 100644 src/nos/lib/messages_lib/05ca_7dfc_status_20up_20_7c_2.rel create mode 100644 src/nos/lib/messages_lib/05ca_d180_missing_20UI.rel create mode 100644 src/nos/lib/messages_lib/05cb_0135_missing_20lower_20p.rel delete mode 100644 src/nos/lib/messages_lib/05cb_68cb_stime.rel delete mode 100644 src/nos/lib/messages_lib/05cc_4875_stktrace_20from_20p.rel create mode 100644 src/nos/lib/messages_lib/05cc_d703_missing_20upper_20p.rel delete mode 100644 src/nos/lib/messages_lib/05cd_0a0a_stop.rel create mode 100644 src/nos/lib/messages_lib/05cd_1e96_mkd_20.rel create mode 100644 src/nos/lib/messages_lib/05ce_304a_mkdir.rel delete mode 100644 src/nos/lib/messages_lib/05ce_6ec0_stop_20_3cservernam.rel delete mode 100644 src/nos/lib/messages_lib/05cf_301d_stopped.rel create mode 100644 src/nos/lib/messages_lib/05cf_7d04_mkdir_20_3cdirector.rel delete mode 100644 src/nos/lib/messages_lib/05d0_2918_stor.rel create mode 100644 src/nos/lib/messages_lib/05d0_6257_mknod.rel create mode 100644 src/nos/lib/messages_lib/05d1_685e_mode.rel delete mode 100644 src/nos/lib/messages_lib/05d1_784e_stru.rel create mode 100644 src/nos/lib/messages_lib/05d2_9335_modes_20are_3a_20no.rel delete mode 100644 src/nos/lib/messages_lib/05d2_bec3_suffix.rel delete mode 100644 src/nos/lib/messages_lib/05d3_420b_symlink.rel create mode 100644 src/nos/lib/messages_lib/05d3_a91f_more.rel create mode 100644 src/nos/lib/messages_lib/05d4_5384_more_20_3cfilename_.rel delete mode 100644 src/nos/lib/messages_lib/05d4_ceb7_sync.rel delete mode 100644 src/nos/lib/messages_lib/05d5_bb66_syndata.rel create mode 100644 src/nos/lib/messages_lib/05d5_ec46_motd.rel delete mode 100644 src/nos/lib/messages_lib/05d6_b50c_sysdebug.rel create mode 100644 src/nos/lib/messages_lib/05d6_b5d1_mount.rel create mode 100644 src/nos/lib/messages_lib/05d7_2a4d_mput.rel delete mode 100644 src/nos/lib/messages_lib/05d7_be35_sysdebug_20_5bon_7c.rel create mode 100644 src/nos/lib/messages_lib/05d8_312f_mput_20_3cfile_3e_2.rel delete mode 100644 src/nos/lib/messages_lib/05d8_8f60_syst.rel create mode 100644 src/nos/lib/messages_lib/05d9_245f_mru.rel delete mode 100644 src/nos/lib/messages_lib/05d9_f3f3_system_20call_20tra.rel create mode 100644 src/nos/lib/messages_lib/05da_58b1_mss.rel delete mode 100644 src/nos/lib/messages_lib/05da_a612_system_20kernel_20d.rel create mode 100644 src/nos/lib/messages_lib/05db_708f_mtu.rel delete mode 100644 src/nos/lib/messages_lib/05db_98fb_systrace.rel delete mode 100644 src/nos/lib/messages_lib/05dc_71e3_systrace_20_5bon_7c.rel create mode 100644 src/nos/lib/messages_lib/05dc_78ae_mycall.rel delete mode 100644 src/nos/lib/messages_lib/05dd_6404_t3.rel create mode 100644 src/nos/lib/messages_lib/05dd_e112_n_5fcreat_28_22_25s.rel delete mode 100644 src/nos/lib/messages_lib/05de_b31f_target.rel create mode 100644 src/nos/lib/messages_lib/05de_fa1b_n_5fcreat_28_29_20r.rel create mode 100644 src/nos/lib/messages_lib/05df_105b_n_5fcreat_28_29_20r.rel delete mode 100644 src/nos/lib/messages_lib/05df_e630_tcp.rel create mode 100644 src/nos/lib/messages_lib/05e0_8a90_name.rel delete mode 100644 src/nos/lib/messages_lib/05e0_e483_tcp_20kick_20_3ctcb.rel delete mode 100644 src/nos/lib/messages_lib/05e1_a12c_tcp_20reset_20_3ctc.rel create mode 100644 src/nos/lib/messages_lib/05e1_b07d_netmask.rel create mode 100644 src/nos/lib/messages_lib/05e2_4d2c_netrom_20bcnodes_20.rel delete mode 100644 src/nos/lib/messages_lib/05e2_bb94_tcp_20rtt_20_3ctcb_.rel create mode 100644 src/nos/lib/messages_lib/05e3_c5dc_netrom_20connect_20.rel delete mode 100644 src/nos/lib/messages_lib/05e3_f363_tcp_20stat_20_3ctcb.rel delete mode 100644 src/nos/lib/messages_lib/05e4_6ff2_telnet.rel create mode 100644 src/nos/lib/messages_lib/05e4_925a_netrom_20interface_.rel delete mode 100644 src/nos/lib/messages_lib/05e5_2114_telnet_20_3caddress.rel create mode 100644 src/nos/lib/messages_lib/05e5_a510_netrom_20interface_.rel delete mode 100644 src/nos/lib/messages_lib/05e6_6cef_term.rel create mode 100644 src/nos/lib/messages_lib/05e6_b271_netrom_20kick_20_3c.rel create mode 100644 src/nos/lib/messages_lib/05e7_5334_netrom_20nodefilter.rel delete mode 100644 src/nos/lib/messages_lib/05e7_7425_terminate.rel delete mode 100644 src/nos/lib/messages_lib/05e8_4c6f_thresh.rel create mode 100644 src/nos/lib/messages_lib/05e8_6bfe_netrom_20nodefilter.rel create mode 100644 src/nos/lib/messages_lib/05e9_328e_netrom_20reset_20_3.rel delete mode 100644 src/nos/lib/messages_lib/05e9_535d_time.rel create mode 100644 src/nos/lib/messages_lib/05ea_18c8_netrom_20route_20ad.rel delete mode 100644 src/nos/lib/messages_lib/05ea_43a3_time_20before_20fil.rel delete mode 100644 src/nos/lib/messages_lib/05eb_7156_timeout.rel create mode 100644 src/nos/lib/messages_lib/05eb_fff3_netrom_20route_20dr.rel delete mode 100644 src/nos/lib/messages_lib/05ec_d9a6_timer.rel create mode 100644 src/nos/lib/messages_lib/05ec_e8da_netrom_20route_20in.rel create mode 100644 src/nos/lib/messages_lib/05ed_9094_newfile_28_29_20ret.rel delete mode 100644 src/nos/lib/messages_lib/05ed_d29c_timer_3a_20ints_20w.rel create mode 100644 src/nos/lib/messages_lib/05ee_6cce_newfile_28_29_20ret.rel delete mode 100644 src/nos/lib/messages_lib/05ee_c82f_times.rel create mode 100644 src/nos/lib/messages_lib/05ef_147d_newfile_280x_25x_2c.rel delete mode 100644 src/nos/lib/messages_lib/05ef_223a_timestamps.rel delete mode 100644 src/nos/lib/messages_lib/05f0_004c_tip_20or_20dialer_2.rel create mode 100644 src/nos/lib/messages_lib/05f0_2254_newproc_20_22_25s_2.rel create mode 100644 src/nos/lib/messages_lib/05f1_1067_newptab_28_29_20ret.rel delete mode 100644 src/nos/lib/messages_lib/05f1_aa4a_tiptimeout.rel create mode 100644 src/nos/lib/messages_lib/05f2_a95a_newptab_28_29_20ret.rel delete mode 100644 src/nos/lib/messages_lib/05f2_aa76_tmp_20file_20wiping.rel delete mode 100644 src/nos/lib/messages_lib/05f3_2645_tmp_20file_3a_20_25.rel create mode 100644 src/nos/lib/messages_lib/05f3_5889_newptab_28_29_20sta.rel create mode 100644 src/nos/lib/messages_lib/05f4_4db6_newsession_3a_20WAR.rel delete mode 100644 src/nos/lib/messages_lib/05f4_a165_topt.rel delete mode 100644 src/nos/lib/messages_lib/05f5_4f5f_trace.rel create mode 100644 src/nos/lib/messages_lib/05f5_5ab5_newsession_3a_20WAR.rel delete mode 100644 src/nos/lib/messages_lib/05f6_3bce_traceroute_20done_3.rel create mode 100644 src/nos/lib/messages_lib/05f6_7718_next_20pointer_20ou.rel create mode 100644 src/nos/lib/messages_lib/05f7_7b66_nlst.rel delete mode 100644 src/nos/lib/messages_lib/05f7_f7b8_try.rel create mode 100644 src/nos/lib/messages_lib/05f8_0ca7_nntp_20addserver_20.rel delete mode 100644 src/nos/lib/messages_lib/05f8_e444_ttl.rel delete mode 100644 src/nos/lib/messages_lib/05f9_299c_ttylink.rel create mode 100644 src/nos/lib/messages_lib/05f9_fea0_nntp_20dropserver_2.rel create mode 100644 src/nos/lib/messages_lib/05fa_a821_nntp_20kick_20_3cnn.rel delete mode 100644 src/nos/lib/messages_lib/05fa_e58b_txqlen.rel create mode 100644 src/nos/lib/messages_lib/05fb_a7f6_no_20filesys.rel delete mode 100644 src/nos/lib/messages_lib/05fb_f321_type.rel create mode 100644 src/nos/lib/messages_lib/05fc_7405_no_20root.rel delete mode 100644 src/nos/lib/messages_lib/05fc_f1e4_udp.rel delete mode 100644 src/nos/lib/messages_lib/05fd_5caf_umount.rel create mode 100644 src/nos/lib/messages_lib/05fd_b518_no_20such_20route_0.rel create mode 100644 src/nos/lib/messages_lib/05fe_3fb4_nodefilter.rel delete mode 100644 src/nos/lib/messages_lib/05fe_5c70_unknown_0a.rel create mode 100644 src/nos/lib/messages_lib/05ff_bac4_nodefilter_20subcom.rel delete mode 100644 src/nos/lib/messages_lib/05ff_bc4f_unknown_200x_2504x_.rel delete mode 100644 src/nos/lib/messages_lib/0600_5194_unknown_20hardware_.rel create mode 100644 src/nos/lib/messages_lib/0600_e743_nodes.rel create mode 100644 src/nos/lib/messages_lib/0601_57cf_nodetimer.rel delete mode 100644 src/nos/lib/messages_lib/0601_acee_unlink.rel create mode 100644 src/nos/lib/messages_lib/0602_b0e3_none.rel delete mode 100644 src/nos/lib/messages_lib/0602_f303_up_20script_3a_20_2.rel create mode 100644 src/nos/lib/messages_lib/0603_7a7f_none_0a.rel delete mode 100644 src/nos/lib/messages_lib/0603_db93_update.rel create mode 100644 src/nos/lib/messages_lib/0604_29c2_normal_20_28_25s_20.rel delete mode 100644 src/nos/lib/messages_lib/0604_5c27_update_20Domain_2et.rel delete mode 100644 src/nos/lib/messages_lib/0605_0b09_update_20Domain_2et.rel create mode 100644 src/nos/lib/messages_lib/0605_6504_not_20open_20for_20.rel create mode 100644 src/nos/lib/messages_lib/0606_6274_not_20open_20for_20.rel delete mode 100644 src/nos/lib/messages_lib/0606_c5a3_update_20Domain_2et.rel create mode 100644 src/nos/lib/messages_lib/0607_7cd1_not_20open_20for_20.rel delete mode 100644 src/nos/lib/messages_lib/0607_d4f0_upload.rel delete mode 100644 src/nos/lib/messages_lib/0608_13f7_user.rel create mode 100644 src/nos/lib/messages_lib/0608_a01b_not_20ready_20for_2.rel delete mode 100644 src/nos/lib/messages_lib/0609_6f25_user_20abort_0a.rel create mode 100644 src/nos/lib/messages_lib/0609_f235_not_20ready_20for_2.rel create mode 100644 src/nos/lib/messages_lib/060a_07d0_null_0a.rel delete mode 100644 src/nos/lib/messages_lib/060a_1b49_userdata.rel delete mode 100644 src/nos/lib/messages_lib/060b_3967_username_20not_20de.rel create mode 100644 src/nos/lib/messages_lib/060b_fb30_obsotimer.rel create mode 100644 src/nos/lib/messages_lib/060c_3971_open.rel delete mode 100644 src/nos/lib/messages_lib/060c_c23f_users.rel delete mode 100644 src/nos/lib/messages_lib/060d_5353_utime.rel create mode 100644 src/nos/lib/messages_lib/060d_a412_open_20_25s.rel delete mode 100644 src/nos/lib/messages_lib/060e_d261_valid_20subcommands.rel create mode 100644 src/nos/lib/messages_lib/060e_e5a0_open_20FTP.rel create mode 100644 src/nos/lib/messages_lib/060f_10d3_open_20Finger.rel delete mode 100644 src/nos/lib/messages_lib/060f_a0e5_validblk_3a_20dev_2.rel delete mode 100644 src/nos/lib/messages_lib/0610_74cf_validblk_3a_20inval.rel create mode 100644 src/nos/lib/messages_lib/0610_fe22_open_20MBOX.rel delete mode 100644 src/nos/lib/messages_lib/0611_ab5c_verbose.rel create mode 100644 src/nos/lib/messages_lib/0611_c7d5_open_20POP.rel delete mode 100644 src/nos/lib/messages_lib/0612_207d_version.rel create mode 100644 src/nos/lib/messages_lib/0612_2477_open_20SMTP.rel create mode 100644 src/nos/lib/messages_lib/0613_4ca5_open_20discard.rel delete mode 100644 src/nos/lib/messages_lib/0613_9778_view.rel delete mode 100644 src/nos/lib/messages_lib/0614_23f1_view_20_3cfilename_.rel create mode 100644 src/nos/lib/messages_lib/0614_e649_open_20echo.rel create mode 100644 src/nos/lib/messages_lib/0615_a479_open_20term.rel delete mode 100644 src/nos/lib/messages_lib/0615_d63a_wait.rel delete mode 100644 src/nos/lib/messages_lib/0616_2887_wait_20_3cmilliseco.rel create mode 100644 src/nos/lib/messages_lib/0616_76ec_packet_20delayed_20.rel create mode 100644 src/nos/lib/messages_lib/0617_8504_packet_20duped_0a.rel delete mode 100644 src/nos/lib/messages_lib/0617_e988_waitpid.rel delete mode 100644 src/nos/lib/messages_lib/0618_674e_want_20busy_20block.rel create mode 100644 src/nos/lib/messages_lib/0618_a8e1_packet_20lost_0a.rel delete mode 100644 src/nos/lib/messages_lib/0619_84e4_what.rel create mode 100644 src/nos/lib/messages_lib/0619_ead4_paclen.rel create mode 100644 src/nos/lib/messages_lib/061a_1a03_page.rel delete mode 100644 src/nos/lib/messages_lib/061a_9158_window.rel delete mode 100644 src/nos/lib/messages_lib/061b_5379_wipe.rel create mode 100644 src/nos/lib/messages_lib/061b_dd11_page_20_3ccommand_3.rel create mode 100644 src/nos/lib/messages_lib/061c_b6e1_pap.rel delete mode 100644 src/nos/lib/messages_lib/061c_bd9d_wr_5finode_28_29_20.rel delete mode 100644 src/nos/lib/messages_lib/061d_68b2_wr_5finode_28_29_20.rel create mode 100644 src/nos/lib/messages_lib/061d_f2ea_pap_5fcheck_28_29.rel delete mode 100644 src/nos/lib/messages_lib/061e_7708_wr_5finode_280x_25x.rel create mode 100644 src/nos/lib/messages_lib/061e_bc39_pap_5finit_28_29.rel delete mode 100644 src/nos/lib/messages_lib/061f_4cc8_write.rel create mode 100644 src/nos/lib/messages_lib/061f_7924_pap_5flocal_28_29.rel create mode 100644 src/nos/lib/messages_lib/0620_4574_pap_5fmakereq_28_29.rel delete mode 100644 src/nos/lib/messages_lib/0620_dd6d_x_25x.rel create mode 100644 src/nos/lib/messages_lib/0621_c70c_pap_5fremote_28_29.rel delete mode 100644 src/nos/lib/messages_lib/0621_ce7b_xcwd.rel create mode 100644 src/nos/lib/messages_lib/0622_1122_pap_5frequest_28_29.rel delete mode 100644 src/nos/lib/messages_lib/0622_511f_xip_5falign_28_29_2.rel create mode 100644 src/nos/lib/messages_lib/0623_3ddd_pap_5fshutdown_28_2.rel delete mode 100644 src/nos/lib/messages_lib/0623_62af_xip_5falign_28_29_2.rel delete mode 100644 src/nos/lib/messages_lib/0624_2fa7_xip_5falign_28_29_2.rel create mode 100644 src/nos/lib/messages_lib/0624_512a_param.rel delete mode 100644 src/nos/lib/messages_lib/0625_6211_xip_5falign_28_29_2.rel create mode 100644 src/nos/lib/messages_lib/0625_d362_param_20_3cinterfac.rel create mode 100644 src/nos/lib/messages_lib/0626_9d45_pass.rel delete mode 100644 src/nos/lib/messages_lib/0626_dc6f_xip_5falign_280x_25.rel delete mode 100644 src/nos/lib/messages_lib/0627_d854_xip_5falign_5fbmap_.rel create mode 100644 src/nos/lib/messages_lib/0627_f746_pause.rel delete mode 100644 src/nos/lib/messages_lib/0628_4a41_xip_5falign_5fbmap_.rel create mode 100644 src/nos/lib/messages_lib/0628_d9f3_pfc.rel create mode 100644 src/nos/lib/messages_lib/0629_28cb_ping.rel delete mode 100644 src/nos/lib/messages_lib/0629_f051_xip_5falign_5fbmap_.rel delete mode 100644 src/nos/lib/messages_lib/062a_39ef_xip_5falign_5fchase.rel create mode 100644 src/nos/lib/messages_lib/062a_d85a_ping_20_3chostid_3e.rel create mode 100644 src/nos/lib/messages_lib/062b_0458_pipe.rel delete mode 100644 src/nos/lib/messages_lib/062b_7ea2_xip_5falign_5fchase.rel create mode 100644 src/nos/lib/messages_lib/062c_5919_pool.rel delete mode 100644 src/nos/lib/messages_lib/062c_f19c_xip_5falign_5fchase.rel create mode 100644 src/nos/lib/messages_lib/062d_e039_port.rel delete mode 100644 src/nos/lib/messages_lib/062d_fcac_xip_5falign_5fchase.rel create mode 100644 src/nos/lib/messages_lib/062e_a9d2_port_20_25d_3a_20tx.rel delete mode 100644 src/nos/lib/messages_lib/062e_d6ef_xip_5falign_5fchase.rel delete mode 100644 src/nos/lib/messages_lib/062f_0fcd_xip_5falign_5frecur.rel create mode 100644 src/nos/lib/messages_lib/062f_3aa8_ppp.rel delete mode 100644 src/nos/lib/messages_lib/0630_ceee_xip_5falign_5frecur.rel create mode 100644 src/nos/lib/messages_lib/0630_d86b_ppp_20_3ciface_3e_2.rel delete mode 100644 src/nos/lib/messages_lib/0631_346b_xip_5fexamine_28_29.rel create mode 100644 src/nos/lib/messages_lib/0631_fc07_ppp_5fproc_3a_20mis.rel create mode 100644 src/nos/lib/messages_lib/0632_8304_ppp_5fproc_3a_20mis.rel delete mode 100644 src/nos/lib/messages_lib/0632_fa8e_xip_5fexamine_28_29.rel create mode 100644 src/nos/lib/messages_lib/0633_4b37_process_20_25d_20ex.rel delete mode 100644 src/nos/lib/messages_lib/0633_ed9f_xip_5fexamine_28_29.rel create mode 100644 src/nos/lib/messages_lib/0634_8848_processing_20my_20i.rel delete mode 100644 src/nos/lib/messages_lib/0634_c7f7_xip_5fexamine_28_29.rel delete mode 100644 src/nos/lib/messages_lib/0635_04e3_xip_5fexamine_280x_.rel create mode 100644 src/nos/lib/messages_lib/0635_e384_processing_20other_.rel create mode 100644 src/nos/lib/messages_lib/0636_3dc2_protocol_3a_20.rel delete mode 100644 src/nos/lib/messages_lib/0636_ffc4_xip_5ffind_28_25u_2.rel create mode 100644 src/nos/lib/messages_lib/0637_4160_ps.rel delete mode 100644 src/nos/lib/messages_lib/0637_cb3b_xip_5ffind_28_29_20.rel create mode 100644 src/nos/lib/messages_lib/0638_26dc_pthresh.rel delete mode 100644 src/nos/lib/messages_lib/0638_5d23_xip_5ffind_28_29_20.rel delete mode 100644 src/nos/lib/messages_lib/0639_1764_xip_5ffind_28_29_20.rel create mode 100644 src/nos/lib/messages_lib/0639_a61f_publish.rel delete mode 100644 src/nos/lib/messages_lib/063a_0ce2_xip_5fget_28_25u_2c.rel create mode 100644 src/nos/lib/messages_lib/063a_274c_pushdown_20calls_20.rel create mode 100644 src/nos/lib/messages_lib/063b_0234_put.rel delete mode 100644 src/nos/lib/messages_lib/063b_db94_xip_5fget_28_29_20r.rel create mode 100644 src/nos/lib/messages_lib/063c_8f3b_put_20_3clocalfile_.rel delete mode 100644 src/nos/lib/messages_lib/063c_de41_xip_5fget_28_29_20r.rel delete mode 100644 src/nos/lib/messages_lib/063d_192a_xip_5fget_28_29_20r.rel create mode 100644 src/nos/lib/messages_lib/063d_b16b_putting_20block_20_.rel create mode 100644 src/nos/lib/messages_lib/063e_2105_pwd.rel delete mode 100644 src/nos/lib/messages_lib/063e_2347_xip_5freserve_28_25.rel create mode 100644 src/nos/lib/messages_lib/063f_0282_qlimit.rel delete mode 100644 src/nos/lib/messages_lib/063f_acf4_xip_5freserve_28_29.rel create mode 100644 src/nos/lib/messages_lib/0640_0be6_queries.rel delete mode 100644 src/nos/lib/messages_lib/0640_69a1_xip_5freserve_28_29.rel create mode 100644 src/nos/lib/messages_lib/0641_0bef_query.rel delete mode 100644 src/nos/lib/messages_lib/0641_4bfa_xip_5freserve_28_29.rel delete mode 100644 src/nos/lib/messages_lib/0642_3192_xip_5fsearch_28_25u.rel create mode 100644 src/nos/lib/messages_lib/0642_6646_query_20_3chostid_3.rel create mode 100644 src/nos/lib/messages_lib/0643_27c8_queue_20job_20_25s_.rel delete mode 100644 src/nos/lib/messages_lib/0643_83fc_xip_5fsearch_28_29_.rel create mode 100644 src/nos/lib/messages_lib/0644_1196_quick.rel delete mode 100644 src/nos/lib/messages_lib/0644_fd61_xip_5fsearch_28_29_.rel create mode 100644 src/nos/lib/messages_lib/0645_ad30_quiet.rel delete mode 100644 src/nos/lib/messages_lib/0645_f464_xip_5fsearch_28_29_.rel create mode 100644 src/nos/lib/messages_lib/0646_7b54_quit.rel delete mode 100644 src/nos/lib/messages_lib/0646_ef25_xip_5fset_28_25u_2c.rel create mode 100644 src/nos/lib/messages_lib/0647_054d_read.rel delete mode 100644 src/nos/lib/messages_lib/0647_7af3_xip_5fset_28_29_20r.rel delete mode 100644 src/nos/lib/messages_lib/0648_429f_xip_5fset_28_29_20r.rel create mode 100644 src/nos/lib/messages_lib/0648_c7a9_read_20_3cremotefil.rel create mode 100644 src/nos/lib/messages_lib/0649_19fa_readwritei_28_25u_2.rel delete mode 100644 src/nos/lib/messages_lib/0649_36c3_xip_5fset_28_29_20r.rel delete mode 100644 src/nos/lib/messages_lib/064a_3cda_xip_5fualign_28_29_.rel create mode 100644 src/nos/lib/messages_lib/064a_79be_readwritei_28_29_20.rel delete mode 100644 src/nos/lib/messages_lib/064b_16b2_xip_5fualign_28_29_.rel create mode 100644 src/nos/lib/messages_lib/064b_94aa_readwritei_28_29_20.rel create mode 100644 src/nos/lib/messages_lib/064c_67b0_readwritei_28_29_20.rel delete mode 100644 src/nos/lib/messages_lib/064c_71d2_xip_5fualign_28_29_.rel create mode 100644 src/nos/lib/messages_lib/064d_7ee6_reboot.rel delete mode 100644 src/nos/lib/messages_lib/064d_c58e_xip_5fualign_28_29_.rel create mode 100644 src/nos/lib/messages_lib/064e_1c64_received_20_25u_20b.rel delete mode 100644 src/nos/lib/messages_lib/064e_3a65_xip_5fualign_280x_2.rel delete mode 100644 src/nos/lib/messages_lib/064f_2295_xmd5.rel create mode 100644 src/nos/lib/messages_lib/064f_5735_record.rel create mode 100644 src/nos/lib/messages_lib/0650_18c5_recv_3a_20do_20.rel delete mode 100644 src/nos/lib/messages_lib/0650_e251_xmkd.rel create mode 100644 src/nos/lib/messages_lib/0651_8810_recv_3a_20dont_20.rel delete mode 100644 src/nos/lib/messages_lib/0651_a48a_xpwd.rel delete mode 100644 src/nos/lib/messages_lib/0652_79d3_xrmd.rel create mode 100644 src/nos/lib/messages_lib/0652_84ef_recv_3a_20will_20.rel create mode 100644 src/nos/lib/messages_lib/0653_219c_recv_3a_20wont_20.rel delete mode 100644 src/nos/lib/messages_lib/0653_c59b_zap.rel delete mode 100644 src/nos/lib/messages_lib/0654_4749_zerobuf_28_25u_29_2.rel create mode 100644 src/nos/lib/messages_lib/0654_c7dc_refuse.rel create mode 100644 src/nos/lib/messages_lib/0655_0e31_reject_0a.rel delete mode 100644 src/nos/lib/messages_lib/0655_ba0e_zerobuf_28_29_20ret.rel delete mode 100644 src/nos/lib/messages_lib/0656_1fe8_zerobuf_28_29_20ret.rel create mode 100644 src/nos/lib/messages_lib/0656_bc2e_remote.rel create mode 100644 src/nos/lib/messages_lib/0657_4ff0_remote_20_5b_2dp_20.rel create mode 100644 src/nos/lib/messages_lib/0658_cb71_rename.rel create mode 100644 src/nos/lib/messages_lib/0659_a493_rename_20_3coldfile.rel create mode 100644 src/nos/lib/messages_lib/065a_6d5b_repeat.rel create mode 100644 src/nos/lib/messages_lib/065b_01b9_repeat_20_3cinterva.rel create mode 100644 src/nos/lib/messages_lib/065c_3f14_request.rel create mode 100644 src/nos/lib/messages_lib/065d_85b2_reset.rel create mode 100644 src/nos/lib/messages_lib/065e_c3ce_response_20id_20_25.rel create mode 100644 src/nos/lib/messages_lib/065f_9bd3_retr.rel create mode 100644 src/nos/lib/messages_lib/0660_5e3c_retries.rel create mode 100644 src/nos/lib/messages_lib/0661_0acb_retry.rel create mode 100644 src/nos/lib/messages_lib/0662_7f96_rip_20accept_20_3cg.rel create mode 100644 src/nos/lib/messages_lib/0663_764e_rip_20add_20_3cdest.rel create mode 100644 src/nos/lib/messages_lib/0664_3030_rip_20drop_20_3cdes.rel create mode 100644 src/nos/lib/messages_lib/0665_8661_rip_20refuse_20_3cg.rel create mode 100644 src/nos/lib/messages_lib/0666_b917_rmd_20.rel create mode 100644 src/nos/lib/messages_lib/0667_a56c_rmdir.rel create mode 100644 src/nos/lib/messages_lib/0668_b9e3_rmdir_20_3cdirector.rel create mode 100644 src/nos/lib/messages_lib/0669_c459_rmhost.rel create mode 100644 src/nos/lib/messages_lib/066a_0284_route.rel create mode 100644 src/nos/lib/messages_lib/066b_ea02_route_20add_20_3cde.rel create mode 100644 src/nos/lib/messages_lib/066c_f461_route_20add_20_5b_2.rel create mode 100644 src/nos/lib/messages_lib/066d_d581_route_20addprivate_.rel create mode 100644 src/nos/lib/messages_lib/066e_bbd2_route_20drop_20_3cd.rel create mode 100644 src/nos/lib/messages_lib/066f_103e_route_20drop_20_5b_.rel create mode 100644 src/nos/lib/messages_lib/0670_a5ec_route_20lookup_20_3.rel create mode 100644 src/nos/lib/messages_lib/0671_ae23_route_20to_20self_3.rel create mode 100644 src/nos/lib/messages_lib/0672_2c09_rtimer.rel create mode 100644 src/nos/lib/messages_lib/0673_ae54_rtt.rel create mode 100644 src/nos/lib/messages_lib/0674_02fc_running.rel create mode 100644 src/nos/lib/messages_lib/0675_de1b_rwsetup_28_25u_2c_2.rel create mode 100644 src/nos/lib/messages_lib/0676_7f24_rwsetup_28_29_20ret.rel create mode 100644 src/nos/lib/messages_lib/0677_d9aa_rwsetup_28_29_20ret.rel create mode 100644 src/nos/lib/messages_lib/0678_b4d7_rxbuf.rel create mode 100644 src/nos/lib/messages_lib/0679_d2fd_sbrk.rel create mode 100644 src/nos/lib/messages_lib/067a_3365_scrollback.rel create mode 100644 src/nos/lib/messages_lib/067b_9a3e_send.rel create mode 100644 src/nos/lib/messages_lib/067c_e397_send_20_22string_22.rel create mode 100644 src/nos/lib/messages_lib/067d_5c19_sender.rel create mode 100644 src/nos/lib/messages_lib/067e_efea_sending_20job_20_25.rel create mode 100644 src/nos/lib/messages_lib/067f_7321_sent_3a_20do_20.rel create mode 100644 src/nos/lib/messages_lib/0680_db3c_sent_3a_20dont_20.rel create mode 100644 src/nos/lib/messages_lib/0681_d7c3_sent_3a_20will_20.rel create mode 100644 src/nos/lib/messages_lib/0682_72b0_sent_3a_20wont_20.rel create mode 100644 src/nos/lib/messages_lib/0683_2d5d_serial_20line_20IP_.rel create mode 100644 src/nos/lib/messages_lib/0684_f33e_serial_20line_20VJ_.rel create mode 100644 src/nos/lib/messages_lib/0685_6f7f_serial_20line_20VJ_.rel create mode 100644 src/nos/lib/messages_lib/0686_6f48_server_20retries.rel create mode 100644 src/nos/lib/messages_lib/0687_f0af_server_20trace.rel create mode 100644 src/nos/lib/messages_lib/0688_db9a_session.rel create mode 100644 src/nos/lib/messages_lib/0689_3031_set_20mycall_20firs.rel create mode 100644 src/nos/lib/messages_lib/068a_1de4_shell.rel create mode 100644 src/nos/lib/messages_lib/068b_ed19_short_20authenticat.rel create mode 100644 src/nos/lib/messages_lib/068c_cfaf_short_20configurati.rel create mode 100644 src/nos/lib/messages_lib/068d_3faf_signal.rel create mode 100644 src/nos/lib/messages_lib/068e_dce5_size.rel create mode 100644 src/nos/lib/messages_lib/068f_f163_sizes.rel create mode 100644 src/nos/lib/messages_lib/0690_675f_slots_20must_20be_2.rel create mode 100644 src/nos/lib/messages_lib/0691_4046_smtp_20daemon_20ent.rel create mode 100644 src/nos/lib/messages_lib/0692_8e2a_smtp_20daemon_3a_20.rel create mode 100644 src/nos/lib/messages_lib/0693_23e1_smtp_20job_20_25s_2.rel create mode 100644 src/nos/lib/messages_lib/0694_ed89_smtp_20mode_3a_20_2.rel create mode 100644 src/nos/lib/messages_lib/0695_2b33_smtp_20recv_3a_20_2.rel create mode 100644 src/nos/lib/messages_lib/0696_928b_smtp_20sent_3a_20.rel create mode 100644 src/nos/lib/messages_lib/0697_b4cf_socket.rel create mode 100644 src/nos/lib/messages_lib/0698_6b20_some_20strange_2c_2.rel create mode 100644 src/nos/lib/messages_lib/0699_60cd_speed.rel create mode 100644 src/nos/lib/messages_lib/069a_9785_speed_20_3cbps_3e.rel create mode 100644 src/nos/lib/messages_lib/069b_1861_spool_3a_20_25s_0a.rel create mode 100644 src/nos/lib/messages_lib/069c_61f2_src_20_25s.rel create mode 100644 src/nos/lib/messages_lib/069d_4e06_srtt_20_3d_20_25lu_.rel create mode 100644 src/nos/lib/messages_lib/069e_795f_stack_20test.rel create mode 100644 src/nos/lib/messages_lib/069f_45e3_stacktest.rel create mode 100644 src/nos/lib/messages_lib/06a0_be0b_stacktest_20_5bon_7.rel create mode 100644 src/nos/lib/messages_lib/06a1_fcc6_standard_0a.rel create mode 100644 src/nos/lib/messages_lib/06a2_b958_start.rel create mode 100644 src/nos/lib/messages_lib/06a3_4b5d_start_20_3cserverna.rel create mode 100644 src/nos/lib/messages_lib/06a4_9324_start_20bsr_20_3cin.rel create mode 100644 src/nos/lib/messages_lib/06a5_d63e_stat.rel create mode 100644 src/nos/lib/messages_lib/06a6_5069_status.rel create mode 100644 src/nos/lib/messages_lib/06a7_a95a_status_20up_7cdown_.rel create mode 100644 src/nos/lib/messages_lib/06a8_68cb_stime.rel create mode 100644 src/nos/lib/messages_lib/06a9_4875_stktrace_20from_20p.rel create mode 100644 src/nos/lib/messages_lib/06aa_0a0a_stop.rel create mode 100644 src/nos/lib/messages_lib/06ab_6ec0_stop_20_3cservernam.rel create mode 100644 src/nos/lib/messages_lib/06ac_301d_stopped.rel create mode 100644 src/nos/lib/messages_lib/06ad_2918_stor.rel create mode 100644 src/nos/lib/messages_lib/06ae_784e_stru.rel create mode 100644 src/nos/lib/messages_lib/06af_bec3_suffix.rel create mode 100644 src/nos/lib/messages_lib/06b0_420b_symlink.rel create mode 100644 src/nos/lib/messages_lib/06b1_ceb7_sync.rel create mode 100644 src/nos/lib/messages_lib/06b2_bb66_syndata.rel create mode 100644 src/nos/lib/messages_lib/06b3_b50c_sysdebug.rel create mode 100644 src/nos/lib/messages_lib/06b4_be35_sysdebug_20_5bon_7c.rel create mode 100644 src/nos/lib/messages_lib/06b5_8f60_syst.rel create mode 100644 src/nos/lib/messages_lib/06b6_f3f3_system_20call_20tra.rel create mode 100644 src/nos/lib/messages_lib/06b7_a612_system_20kernel_20d.rel create mode 100644 src/nos/lib/messages_lib/06b8_98fb_systrace.rel create mode 100644 src/nos/lib/messages_lib/06b9_71e3_systrace_20_5bon_7c.rel create mode 100644 src/nos/lib/messages_lib/06ba_6404_t3.rel create mode 100644 src/nos/lib/messages_lib/06bb_b31f_target.rel create mode 100644 src/nos/lib/messages_lib/06bc_e630_tcp.rel create mode 100644 src/nos/lib/messages_lib/06bd_e483_tcp_20kick_20_3ctcb.rel create mode 100644 src/nos/lib/messages_lib/06be_a12c_tcp_20reset_20_3ctc.rel create mode 100644 src/nos/lib/messages_lib/06bf_bb94_tcp_20rtt_20_3ctcb_.rel create mode 100644 src/nos/lib/messages_lib/06c0_f363_tcp_20stat_20_3ctcb.rel create mode 100644 src/nos/lib/messages_lib/06c1_6ff2_telnet.rel create mode 100644 src/nos/lib/messages_lib/06c2_2114_telnet_20_3caddress.rel create mode 100644 src/nos/lib/messages_lib/06c3_6cef_term.rel create mode 100644 src/nos/lib/messages_lib/06c4_7425_terminate.rel create mode 100644 src/nos/lib/messages_lib/06c5_4c6f_thresh.rel create mode 100644 src/nos/lib/messages_lib/06c6_535d_time.rel create mode 100644 src/nos/lib/messages_lib/06c7_43a3_time_20before_20fil.rel create mode 100644 src/nos/lib/messages_lib/06c8_7156_timeout.rel create mode 100644 src/nos/lib/messages_lib/06c9_d9a6_timer.rel create mode 100644 src/nos/lib/messages_lib/06ca_d29c_timer_3a_20ints_20w.rel create mode 100644 src/nos/lib/messages_lib/06cb_c82f_times.rel create mode 100644 src/nos/lib/messages_lib/06cc_223a_timestamps.rel create mode 100644 src/nos/lib/messages_lib/06cd_004c_tip_20or_20dialer_2.rel create mode 100644 src/nos/lib/messages_lib/06ce_aa4a_tiptimeout.rel create mode 100644 src/nos/lib/messages_lib/06cf_aa76_tmp_20file_20wiping.rel create mode 100644 src/nos/lib/messages_lib/06d0_2645_tmp_20file_3a_20_25.rel create mode 100644 src/nos/lib/messages_lib/06d1_a165_topt.rel create mode 100644 src/nos/lib/messages_lib/06d2_4f5f_trace.rel create mode 100644 src/nos/lib/messages_lib/06d3_3bce_traceroute_20done_3.rel create mode 100644 src/nos/lib/messages_lib/06d4_f7b8_try.rel create mode 100644 src/nos/lib/messages_lib/06d5_e444_ttl.rel create mode 100644 src/nos/lib/messages_lib/06d6_299c_ttylink.rel create mode 100644 src/nos/lib/messages_lib/06d7_e58b_txqlen.rel create mode 100644 src/nos/lib/messages_lib/06d8_f321_type.rel create mode 100644 src/nos/lib/messages_lib/06d9_f1e4_udp.rel create mode 100644 src/nos/lib/messages_lib/06da_5caf_umount.rel create mode 100644 src/nos/lib/messages_lib/06db_5c70_unknown_0a.rel create mode 100644 src/nos/lib/messages_lib/06dc_bc4f_unknown_200x_2504x_.rel create mode 100644 src/nos/lib/messages_lib/06dd_5194_unknown_20hardware_.rel create mode 100644 src/nos/lib/messages_lib/06de_acee_unlink.rel create mode 100644 src/nos/lib/messages_lib/06df_f1c3_unused_0a.rel create mode 100644 src/nos/lib/messages_lib/06e0_f303_up_20script_3a_20_2.rel create mode 100644 src/nos/lib/messages_lib/06e1_db93_update.rel create mode 100644 src/nos/lib/messages_lib/06e2_5c27_update_20Domain_2et.rel create mode 100644 src/nos/lib/messages_lib/06e3_0b09_update_20Domain_2et.rel create mode 100644 src/nos/lib/messages_lib/06e4_c5a3_update_20Domain_2et.rel create mode 100644 src/nos/lib/messages_lib/06e5_d4f0_upload.rel create mode 100644 src/nos/lib/messages_lib/06e6_13f7_user.rel create mode 100644 src/nos/lib/messages_lib/06e7_6f25_user_20abort_0a.rel create mode 100644 src/nos/lib/messages_lib/06e8_1b49_userdata.rel create mode 100644 src/nos/lib/messages_lib/06e9_3967_username_20not_20de.rel create mode 100644 src/nos/lib/messages_lib/06ea_c23f_users.rel create mode 100644 src/nos/lib/messages_lib/06eb_5353_utime.rel create mode 100644 src/nos/lib/messages_lib/06ec_d261_valid_20subcommands.rel create mode 100644 src/nos/lib/messages_lib/06ed_a0e5_validblk_3a_20dev_2.rel create mode 100644 src/nos/lib/messages_lib/06ee_74cf_validblk_3a_20inval.rel create mode 100644 src/nos/lib/messages_lib/06ef_ab5c_verbose.rel create mode 100644 src/nos/lib/messages_lib/06f0_207d_version.rel create mode 100644 src/nos/lib/messages_lib/06f1_9778_view.rel create mode 100644 src/nos/lib/messages_lib/06f2_23f1_view_20_3cfilename_.rel create mode 100644 src/nos/lib/messages_lib/06f3_98f0_vj.rel create mode 100644 src/nos/lib/messages_lib/06f4_d63a_wait.rel create mode 100644 src/nos/lib/messages_lib/06f5_2887_wait_20_3cmilliseco.rel create mode 100644 src/nos/lib/messages_lib/06f6_e988_waitpid.rel create mode 100644 src/nos/lib/messages_lib/06f7_674e_want_20busy_20block.rel create mode 100644 src/nos/lib/messages_lib/06f8_84e4_what.rel create mode 100644 src/nos/lib/messages_lib/06f9_9158_window.rel create mode 100644 src/nos/lib/messages_lib/06fa_5379_wipe.rel create mode 100644 src/nos/lib/messages_lib/06fb_bd9d_wr_5finode_28_29_20.rel create mode 100644 src/nos/lib/messages_lib/06fc_68b2_wr_5finode_28_29_20.rel create mode 100644 src/nos/lib/messages_lib/06fd_7708_wr_5finode_280x_25x.rel create mode 100644 src/nos/lib/messages_lib/06fe_4cc8_write.rel create mode 100644 src/nos/lib/messages_lib/06ff_dd6d_x_25x.rel create mode 100644 src/nos/lib/messages_lib/0700_ce7b_xcwd.rel create mode 100644 src/nos/lib/messages_lib/0701_511f_xip_5falign_28_29_2.rel create mode 100644 src/nos/lib/messages_lib/0702_62af_xip_5falign_28_29_2.rel create mode 100644 src/nos/lib/messages_lib/0703_2fa7_xip_5falign_28_29_2.rel create mode 100644 src/nos/lib/messages_lib/0704_6211_xip_5falign_28_29_2.rel create mode 100644 src/nos/lib/messages_lib/0705_dc6f_xip_5falign_280x_25.rel create mode 100644 src/nos/lib/messages_lib/0706_d854_xip_5falign_5fbmap_.rel create mode 100644 src/nos/lib/messages_lib/0707_4a41_xip_5falign_5fbmap_.rel create mode 100644 src/nos/lib/messages_lib/0708_f051_xip_5falign_5fbmap_.rel create mode 100644 src/nos/lib/messages_lib/0709_39ef_xip_5falign_5fchase.rel create mode 100644 src/nos/lib/messages_lib/070a_7ea2_xip_5falign_5fchase.rel create mode 100644 src/nos/lib/messages_lib/070b_f19c_xip_5falign_5fchase.rel create mode 100644 src/nos/lib/messages_lib/070c_fcac_xip_5falign_5fchase.rel create mode 100644 src/nos/lib/messages_lib/070d_d6ef_xip_5falign_5fchase.rel create mode 100644 src/nos/lib/messages_lib/070e_0fcd_xip_5falign_5frecur.rel create mode 100644 src/nos/lib/messages_lib/070f_ceee_xip_5falign_5frecur.rel create mode 100644 src/nos/lib/messages_lib/0710_346b_xip_5fexamine_28_29.rel create mode 100644 src/nos/lib/messages_lib/0711_fa8e_xip_5fexamine_28_29.rel create mode 100644 src/nos/lib/messages_lib/0712_ed9f_xip_5fexamine_28_29.rel create mode 100644 src/nos/lib/messages_lib/0713_c7f7_xip_5fexamine_28_29.rel create mode 100644 src/nos/lib/messages_lib/0714_04e3_xip_5fexamine_280x_.rel create mode 100644 src/nos/lib/messages_lib/0715_ffc4_xip_5ffind_28_25u_2.rel create mode 100644 src/nos/lib/messages_lib/0716_cb3b_xip_5ffind_28_29_20.rel create mode 100644 src/nos/lib/messages_lib/0717_5d23_xip_5ffind_28_29_20.rel create mode 100644 src/nos/lib/messages_lib/0718_1764_xip_5ffind_28_29_20.rel create mode 100644 src/nos/lib/messages_lib/0719_0ce2_xip_5fget_28_25u_2c.rel create mode 100644 src/nos/lib/messages_lib/071a_db94_xip_5fget_28_29_20r.rel create mode 100644 src/nos/lib/messages_lib/071b_de41_xip_5fget_28_29_20r.rel create mode 100644 src/nos/lib/messages_lib/071c_192a_xip_5fget_28_29_20r.rel create mode 100644 src/nos/lib/messages_lib/071d_2347_xip_5freserve_28_25.rel create mode 100644 src/nos/lib/messages_lib/071e_acf4_xip_5freserve_28_29.rel create mode 100644 src/nos/lib/messages_lib/071f_69a1_xip_5freserve_28_29.rel create mode 100644 src/nos/lib/messages_lib/0720_4bfa_xip_5freserve_28_29.rel create mode 100644 src/nos/lib/messages_lib/0721_3192_xip_5fsearch_28_25u.rel create mode 100644 src/nos/lib/messages_lib/0722_83fc_xip_5fsearch_28_29_.rel create mode 100644 src/nos/lib/messages_lib/0723_fd61_xip_5fsearch_28_29_.rel create mode 100644 src/nos/lib/messages_lib/0724_f464_xip_5fsearch_28_29_.rel create mode 100644 src/nos/lib/messages_lib/0725_ef25_xip_5fset_28_25u_2c.rel create mode 100644 src/nos/lib/messages_lib/0726_7af3_xip_5fset_28_29_20r.rel create mode 100644 src/nos/lib/messages_lib/0727_429f_xip_5fset_28_29_20r.rel create mode 100644 src/nos/lib/messages_lib/0728_36c3_xip_5fset_28_29_20r.rel create mode 100644 src/nos/lib/messages_lib/0729_3cda_xip_5fualign_28_29_.rel create mode 100644 src/nos/lib/messages_lib/072a_16b2_xip_5fualign_28_29_.rel create mode 100644 src/nos/lib/messages_lib/072b_71d2_xip_5fualign_28_29_.rel create mode 100644 src/nos/lib/messages_lib/072c_c58e_xip_5fualign_28_29_.rel create mode 100644 src/nos/lib/messages_lib/072d_3a65_xip_5fualign_280x_2.rel create mode 100644 src/nos/lib/messages_lib/072e_2295_xmd5.rel create mode 100644 src/nos/lib/messages_lib/072f_e251_xmkd.rel create mode 100644 src/nos/lib/messages_lib/0730_a48a_xpwd.rel create mode 100644 src/nos/lib/messages_lib/0731_79d3_xrmd.rel create mode 100644 src/nos/lib/messages_lib/0732_c59b_zap.rel create mode 100644 src/nos/lib/messages_lib/0733_4749_zerobuf_28_25u_29_2.rel create mode 100644 src/nos/lib/messages_lib/0734_ba0e_zerobuf_28_29_20ret.rel create mode 100644 src/nos/lib/messages_lib/0735_1fe8_zerobuf_28_29_20ret.rel create mode 100644 src/nos/lib/ppp_lib/_fsm_log.rel create mode 100644 src/nos/lib/ppp_lib/_ppp_error.rel create mode 100644 src/nos/lib/ppp_lib/_ppp_log.rel create mode 100644 src/nos/lib/ppp_lib/_ppp_skipped.rel delete mode 100644 src/nos/lib/ppp_lib/dialer.rel create mode 100644 src/nos/lib/ppp_lib/dodial_exec.rel delete mode 100644 src/nos/lib/ppp_lib/fsm_log.rel delete mode 100644 src/nos/lib/ppp_lib/ppp_error.rel delete mode 100644 src/nos/lib/ppp_lib/ppp_log.rel delete mode 100644 src/nos/lib/ppp_lib/ppp_skipped.rel create mode 100644 src/nos/lib/z80_lib/escc_write.rel create mode 100644 src/nos/lib/z80_lib/get_rlsd_escc.rel create mode 100644 src/nos/main/CVS/Entries create mode 100644 src/nos/main/CVS/Repository create mode 100644 src/nos/main/CVS/Root create mode 100644 src/nos/main/config.i create mode 100644 src/nos/main/main.i create mode 100644 src/nos/main/parm.i create mode 100644 src/nos/main/session.i create mode 100644 src/nos/main/version.i create mode 100644 src/nos/make.d/CVS/Entries create mode 100644 src/nos/make.d/CVS/Repository create mode 100644 src/nos/make.d/CVS/Root create mode 100644 src/nos/mkutil/CVS/Entries create mode 100644 src/nos/mkutil/CVS/Repository create mode 100644 src/nos/mkutil/CVS/Root create mode 100644 src/nos/net/CVS/Entries create mode 100644 src/nos/net/CVS/Repository create mode 100644 src/nos/net/CVS/Root create mode 100644 src/nos/net/ahdlc.i create mode 100644 src/nos/net/alloc.i create mode 100644 src/nos/net/audit.i create mode 100644 src/nos/net/cmdparse.i create mode 100644 src/nos/net/crc.i create mode 100644 src/nos/net/devparam.i create mode 100644 src/nos/net/files.i create mode 100644 src/nos/net/ftpsubr.i create mode 100644 src/nos/net/getopt.i create mode 100644 src/nos/net/iface.i create mode 100644 src/nos/net/kernel.i create mode 100644 src/nos/net/ksubr.i create mode 100644 src/nos/net/locsock.i create mode 100644 src/nos/net/mbuf.i create mode 100644 src/nos/net/md5c.i create mode 100644 src/nos/net/misc.i create mode 100644 src/nos/net/pathname.i create mode 100644 src/nos/net/sockcmd.i create mode 100644 src/nos/net/socket.i create mode 100644 src/nos/net/sockuser.i create mode 100644 src/nos/net/sockutil.i create mode 100644 src/nos/net/stdio.i create mode 100644 src/nos/net/timer.i create mode 100644 src/nos/net/ttydriv.i create mode 100644 src/nos/net/vfprintf.i create mode 100644 src/nos/net/view.i create mode 100644 src/nos/net/wildmat.i create mode 100644 src/nos/netrom/CVS/Entries create mode 100644 src/nos/netrom/CVS/Repository create mode 100644 src/nos/netrom/CVS/Root create mode 100644 src/nos/netrom/nr3.i create mode 100644 src/nos/netrom/nr4.i create mode 100644 src/nos/netrom/nr4hdr.i create mode 100644 src/nos/netrom/nr4mail.i create mode 100644 src/nos/netrom/nr4subr.i create mode 100644 src/nos/netrom/nr4timer.i create mode 100644 src/nos/netrom/nr4user.i create mode 100644 src/nos/netrom/nrcmd.i create mode 100644 src/nos/netrom/nrhdr.i create mode 100644 src/nos/netrom/nrs.i create mode 100644 src/nos/netrom/nrsock.i create mode 100644 src/nos/pmm/CVS/Entries create mode 100644 src/nos/pmm/CVS/Repository create mode 100644 src/nos/pmm/CVS/Root create mode 100644 src/nos/po/.cvsignore create mode 100644 src/nos/po/CVS/Entries create mode 100644 src/nos/po/CVS/Repository create mode 100644 src/nos/po/CVS/Root create mode 100644 src/nos/ppp/CVS/Entries create mode 100644 src/nos/ppp/CVS/Repository create mode 100644 src/nos/ppp/CVS/Root create mode 100644 src/nos/ppp/asy.i create mode 100644 src/nos/ppp/dialer.i create mode 100644 src/nos/ppp/ppp.i create mode 100644 src/nos/ppp/pppcmd.i create mode 100644 src/nos/ppp/pppdump.i create mode 100644 src/nos/ppp/pppfsm.i create mode 100644 src/nos/ppp/pppipcp.i create mode 100644 src/nos/ppp/ppplcp.i create mode 100644 src/nos/ppp/ppppap.i create mode 100644 src/nos/ppp/slhc.i create mode 100644 src/nos/ppp/slhcdump.i create mode 100644 src/nos/ppp/slip.i create mode 100644 src/nos/ppp/sppp.i create mode 100644 src/nos/servers/CVS/Entries create mode 100644 src/nos/servers/CVS/Repository create mode 100644 src/nos/servers/CVS/Root create mode 100644 src/nos/servers/bmutil.i create mode 100644 src/nos/servers/bootpcmd.i create mode 100644 src/nos/servers/bootpd.i create mode 100644 src/nos/servers/bootpdip.i create mode 100644 src/nos/servers/fingerd.i create mode 100644 src/nos/servers/forward.i create mode 100644 src/nos/servers/ftpserv.i create mode 100644 src/nos/servers/mailbox.i create mode 100644 src/nos/servers/popserv.i create mode 100644 src/nos/servers/rewrite.i create mode 100644 src/nos/servers/smisc.i create mode 100644 src/nos/servers/smtpserv.i delete mode 100644 src/nos/servers/sysprs7.dll delete mode 100644 src/nos/servers/sysprs7.tgz create mode 100644 src/nos/servers/tipmail.i create mode 100644 src/nos/servers/ttylink.i create mode 100644 src/nos/sys/CVS/Entries create mode 100644 src/nos/sys/CVS/Repository create mode 100644 src/nos/sys/CVS/Root create mode 100644 src/nos/sys/_sys/CVS/Entries create mode 100644 src/nos/sys/_sys/CVS/Repository create mode 100644 src/nos/sys/_sys/CVS/Root create mode 100644 src/nos/turboc/CVS/Entries create mode 100644 src/nos/turboc/CVS/Repository create mode 100644 src/nos/turboc/CVS/Root delete mode 100644 src/nos/turboc/lib/clients.lib delete mode 100644 src/nos/turboc/lib/dump.lib delete mode 100644 src/nos/turboc/lib/internet.lib delete mode 100644 src/nos/turboc/lib/net.lib delete mode 100644 src/nos/turboc/lib/netrom.lib delete mode 100644 src/nos/turboc/lib/servers.lib delete mode 100644 src/nos/turboc/obj/ahdlc.obj delete mode 100644 src/nos/turboc/obj/alloc.obj delete mode 100644 src/nos/turboc/obj/arcdump.obj delete mode 100644 src/nos/turboc/obj/arcnet.obj delete mode 100644 src/nos/turboc/obj/arp.obj delete mode 100644 src/nos/turboc/obj/arpcmd.obj delete mode 100644 src/nos/turboc/obj/arpdump.obj delete mode 100644 src/nos/turboc/obj/arphdr.obj delete mode 100644 src/nos/turboc/obj/asy.obj delete mode 100644 src/nos/turboc/obj/asyvec.obj delete mode 100644 src/nos/turboc/obj/audit.obj delete mode 100644 src/nos/turboc/obj/ax25.obj delete mode 100644 src/nos/turboc/obj/ax25cmd.obj delete mode 100644 src/nos/turboc/obj/ax25dump.obj delete mode 100644 src/nos/turboc/obj/ax25hdr.obj delete mode 100644 src/nos/turboc/obj/ax25mail.obj delete mode 100644 src/nos/turboc/obj/ax25subr.obj delete mode 100644 src/nos/turboc/obj/ax25user.obj delete mode 100644 src/nos/turboc/obj/axheard.obj delete mode 100644 src/nos/turboc/obj/axsock.obj delete mode 100644 src/nos/turboc/obj/bmutil.obj delete mode 100644 src/nos/turboc/obj/bootp.obj delete mode 100644 src/nos/turboc/obj/bootpcmd.obj delete mode 100644 src/nos/turboc/obj/bootpd.obj delete mode 100644 src/nos/turboc/obj/bootpdip.obj delete mode 100644 src/nos/turboc/obj/cmdparse.obj delete mode 100644 src/nos/turboc/obj/config.obj delete mode 100644 src/nos/turboc/obj/crc.obj delete mode 100644 src/nos/turboc/obj/devparam.obj delete mode 100644 src/nos/turboc/obj/dialer.obj delete mode 100644 src/nos/turboc/obj/dirutil.obj delete mode 100644 src/nos/turboc/obj/display.obj delete mode 100644 src/nos/turboc/obj/dma.obj delete mode 100644 src/nos/turboc/obj/domain.obj delete mode 100644 src/nos/turboc/obj/domhdr.obj delete mode 100644 src/nos/turboc/obj/dos.obj delete mode 100644 src/nos/turboc/obj/drsi.obj delete mode 100644 src/nos/turboc/obj/drsivec.obj delete mode 100644 src/nos/turboc/obj/eagle.obj delete mode 100644 src/nos/turboc/obj/eaglevec.obj delete mode 100644 src/nos/turboc/obj/enet.obj delete mode 100644 src/nos/turboc/obj/enetdump.obj delete mode 100644 src/nos/turboc/obj/files.obj delete mode 100644 src/nos/turboc/obj/finger.obj delete mode 100644 src/nos/turboc/obj/fingerd.obj delete mode 100644 src/nos/turboc/obj/forward.obj delete mode 100644 src/nos/turboc/obj/ftpcli.obj delete mode 100644 src/nos/turboc/obj/ftpserv.obj delete mode 100644 src/nos/turboc/obj/ftpsubr.obj delete mode 100644 src/nos/turboc/obj/getopt.obj delete mode 100644 src/nos/turboc/obj/hapn.obj delete mode 100644 src/nos/turboc/obj/hapnvec.obj delete mode 100644 src/nos/turboc/obj/hop.obj delete mode 100644 src/nos/turboc/obj/hs.obj delete mode 100644 src/nos/turboc/obj/hsvec.obj delete mode 100644 src/nos/turboc/obj/icmp.obj delete mode 100644 src/nos/turboc/obj/icmpcmd.obj delete mode 100644 src/nos/turboc/obj/icmpdump.obj delete mode 100644 src/nos/turboc/obj/icmphdr.obj delete mode 100644 src/nos/turboc/obj/icmpmsg.obj delete mode 100644 src/nos/turboc/obj/iface.obj delete mode 100644 src/nos/turboc/obj/ip.obj delete mode 100644 src/nos/turboc/obj/ipcmd.obj delete mode 100644 src/nos/turboc/obj/ipdump.obj delete mode 100644 src/nos/turboc/obj/iphdr.obj delete mode 100644 src/nos/turboc/obj/iproute.obj delete mode 100644 src/nos/turboc/obj/ipsock.obj delete mode 100644 src/nos/turboc/obj/kernel.obj delete mode 100644 src/nos/turboc/obj/kiss.obj delete mode 100644 src/nos/turboc/obj/kissdump.obj delete mode 100644 src/nos/turboc/obj/ksubr.obj delete mode 100644 src/nos/turboc/obj/lapb.obj delete mode 100644 src/nos/turboc/obj/lapbtime.obj delete mode 100644 src/nos/turboc/obj/locsock.obj delete mode 100644 src/nos/turboc/obj/lterm.obj delete mode 100644 src/nos/turboc/obj/mailbox.obj delete mode 100644 src/nos/turboc/obj/main.obj delete mode 100644 src/nos/turboc/obj/mbuf.obj delete mode 100644 src/nos/turboc/obj/md5c.obj delete mode 100644 src/nos/turboc/obj/misc.obj delete mode 100644 src/nos/turboc/obj/n8250.obj delete mode 100644 src/nos/turboc/obj/netuser.obj delete mode 100644 src/nos/turboc/obj/nntpcli.obj delete mode 100644 src/nos/turboc/obj/nr3.obj delete mode 100644 src/nos/turboc/obj/nr4.obj delete mode 100644 src/nos/turboc/obj/nr4hdr.obj delete mode 100644 src/nos/turboc/obj/nr4mail.obj delete mode 100644 src/nos/turboc/obj/nr4subr.obj delete mode 100644 src/nos/turboc/obj/nr4timer.obj delete mode 100644 src/nos/turboc/obj/nr4user.obj delete mode 100644 src/nos/turboc/obj/nrcmd.obj delete mode 100644 src/nos/turboc/obj/nrdump.obj delete mode 100644 src/nos/turboc/obj/nrhdr.obj delete mode 100644 src/nos/turboc/obj/nrs.obj delete mode 100644 src/nos/turboc/obj/nrsock.obj delete mode 100644 src/nos/turboc/obj/pathname.obj delete mode 100644 src/nos/turboc/obj/pc.obj delete mode 100644 src/nos/turboc/obj/pc100.obj delete mode 100644 src/nos/turboc/obj/pc100vec.obj delete mode 100644 src/nos/turboc/obj/pcgen.obj delete mode 100644 src/nos/turboc/obj/pi.obj delete mode 100644 src/nos/turboc/obj/ping.obj delete mode 100644 src/nos/turboc/obj/pivec.obj delete mode 100644 src/nos/turboc/obj/pktdrvr.obj delete mode 100644 src/nos/turboc/obj/pkvec.obj delete mode 100644 src/nos/turboc/obj/popcli.obj delete mode 100644 src/nos/turboc/obj/popserv.obj delete mode 100644 src/nos/turboc/obj/ppp.obj delete mode 100644 src/nos/turboc/obj/pppcmd.obj delete mode 100644 src/nos/turboc/obj/pppdump.obj delete mode 100644 src/nos/turboc/obj/pppfsm.obj delete mode 100644 src/nos/turboc/obj/pppipcp.obj delete mode 100644 src/nos/turboc/obj/ppplcp.obj delete mode 100644 src/nos/turboc/obj/ppppap.obj delete mode 100644 src/nos/turboc/obj/random.obj delete mode 100644 src/nos/turboc/obj/rewrite.obj delete mode 100644 src/nos/turboc/obj/rip.obj delete mode 100644 src/nos/turboc/obj/ripcmd.obj delete mode 100644 src/nos/turboc/obj/ripdump.obj delete mode 100644 src/nos/turboc/obj/sb.obj delete mode 100644 src/nos/turboc/obj/sbvec.obj delete mode 100644 src/nos/turboc/obj/scc.obj delete mode 100644 src/nos/turboc/obj/sccvec.obj delete mode 100644 src/nos/turboc/obj/session.obj delete mode 100644 src/nos/turboc/obj/sim.obj delete mode 100644 src/nos/turboc/obj/slhc.obj delete mode 100644 src/nos/turboc/obj/slhcdump.obj delete mode 100644 src/nos/turboc/obj/slip.obj delete mode 100644 src/nos/turboc/obj/smisc.obj delete mode 100644 src/nos/turboc/obj/smtpcli.obj delete mode 100644 src/nos/turboc/obj/smtpserv.obj delete mode 100644 src/nos/turboc/obj/sockcmd.obj delete mode 100644 src/nos/turboc/obj/socket.obj delete mode 100644 src/nos/turboc/obj/sockuser.obj delete mode 100644 src/nos/turboc/obj/sockutil.obj delete mode 100644 src/nos/turboc/obj/sppp.obj delete mode 100644 src/nos/turboc/obj/stdio.obj delete mode 100644 src/nos/turboc/obj/stktrace.obj delete mode 100644 src/nos/turboc/obj/stopwatc.obj delete mode 100644 src/nos/turboc/obj/sw.obj delete mode 100644 src/nos/turboc/obj/tcpcmd.obj delete mode 100644 src/nos/turboc/obj/tcpdump.obj delete mode 100644 src/nos/turboc/obj/tcphdr.obj delete mode 100644 src/nos/turboc/obj/tcpin.obj delete mode 100644 src/nos/turboc/obj/tcpout.obj delete mode 100644 src/nos/turboc/obj/tcpsock.obj delete mode 100644 src/nos/turboc/obj/tcpsubr.obj delete mode 100644 src/nos/turboc/obj/tcptimer.obj delete mode 100644 src/nos/turboc/obj/tcpuser.obj delete mode 100644 src/nos/turboc/obj/telnet.obj delete mode 100644 src/nos/turboc/obj/timer.obj delete mode 100644 src/nos/turboc/obj/tip.obj delete mode 100644 src/nos/turboc/obj/tipmail.obj delete mode 100644 src/nos/turboc/obj/trace.obj delete mode 100644 src/nos/turboc/obj/ttydriv.obj delete mode 100644 src/nos/turboc/obj/ttylink.obj delete mode 100644 src/nos/turboc/obj/udp.obj delete mode 100644 src/nos/turboc/obj/udpcmd.obj delete mode 100644 src/nos/turboc/obj/udpdump.obj delete mode 100644 src/nos/turboc/obj/udphdr.obj delete mode 100644 src/nos/turboc/obj/udpsock.obj delete mode 100644 src/nos/turboc/obj/version.obj delete mode 100644 src/nos/turboc/obj/view.obj delete mode 100644 src/nos/turboc/obj/wildmat.obj delete mode 100644 src/nos/turboc/obj/z8530.obj create mode 100644 src/nos/x86/CVS/Entries create mode 100644 src/nos/x86/CVS/Repository create mode 100644 src/nos/x86/CVS/Root delete mode 100644 src/nos/x86/pc.lib delete mode 100644 src/nos/x86/random.i create mode 100644 src/nos/z80/CVS/Entries create mode 100644 src/nos/z80/CVS/Repository create mode 100644 src/nos/z80/CVS/Root create mode 100644 src/nos/z80/asci.i create mode 100644 src/nos/z80/dirutil.i create mode 100644 src/nos/z80/escc.i create mode 100644 src/nos/z80/rand.i create mode 100644 src/nos/z80/stktrace.i create mode 100644 src/nos/z80/sw.i create mode 100644 src/nos/z80/z80.i create mode 100644 src/sh/CVS/Entries create mode 100644 src/sh/CVS/Repository create mode 100644 src/sh/CVS/Root create mode 100644 src/sh/bsh/CVS/Entries create mode 100644 src/sh/bsh/CVS/Repository create mode 100644 src/sh/bsh/CVS/Root delete mode 100644 src/sh/bsh/args.rel delete mode 100644 src/sh/bsh/blok.rel delete mode 100644 src/sh/bsh/builtin.rel delete mode 100644 src/sh/bsh/cmd.rel delete mode 100644 src/sh/bsh/ctype.rel delete mode 100644 src/sh/bsh/data.rel delete mode 100644 src/sh/bsh/error.rel delete mode 100644 src/sh/bsh/expand.rel delete mode 100644 src/sh/bsh/fault.rel delete mode 100644 src/sh/bsh/io.rel delete mode 100644 src/sh/bsh/macro.rel delete mode 100644 src/sh/bsh/main.rel delete mode 100644 src/sh/bsh/msg.rel delete mode 100644 src/sh/bsh/name.rel delete mode 100644 src/sh/bsh/print.rel delete mode 100644 src/sh/bsh/service.rel delete mode 100644 src/sh/bsh/setbrk.rel delete mode 100644 src/sh/bsh/stak.rel delete mode 100644 src/sh/bsh/string.rel delete mode 100644 src/sh/bsh/word.rel delete mode 100644 src/sh/bsh/xec.rel create mode 100644 src/sh/msh/CVS/Entries create mode 100644 src/sh/msh/CVS/Repository create mode 100644 src/sh/msh/CVS/Root delete mode 100644 src/sh/msh/closedir.rel delete mode 100644 src/sh/msh/opendir.rel delete mode 100644 src/sh/msh/readdir.rel delete mode 100644 src/sh/msh/sh1.rel delete mode 100644 src/sh/msh/sh2.rel delete mode 100644 src/sh/msh/sh3.rel delete mode 100644 src/sh/msh/sh4.rel delete mode 100644 src/sh/msh/sh5.rel delete mode 100644 src/sh/msh/sh6.rel create mode 100644 src/sh/sash/CVS/Entries create mode 100644 src/sh/sash/CVS/Repository create mode 100644 src/sh/sash/CVS/Root create mode 100644 src/simple/CVS/Entries create mode 100644 src/simple/CVS/Repository create mode 100644 src/simple/CVS/Root create mode 100644 src/testsystem/CVS/Entries create mode 100644 src/testsystem/CVS/Repository create mode 100644 src/testsystem/CVS/Root create mode 100644 src/testsystem/interpreter/CVS/Entries create mode 100644 src/testsystem/interpreter/CVS/Repository create mode 100644 src/testsystem/interpreter/CVS/Root create mode 100644 src/troff/CVS/Entries create mode 100644 src/troff/CVS/Repository create mode 100644 src/troff/CVS/Root create mode 100644 src/troff/font/CVS/Entries create mode 100644 src/troff/font/CVS/Repository create mode 100644 src/troff/font/CVS/Root delete mode 100644 src/troff/hytab.rel delete mode 100644 src/troff/n1.rel delete mode 100644 src/troff/n10.rel delete mode 100644 src/troff/n2.rel delete mode 100644 src/troff/n3.rel delete mode 100644 src/troff/n4.rel delete mode 100644 src/troff/n5.rel delete mode 100644 src/troff/n6.rel delete mode 100644 src/troff/n7.rel delete mode 100644 src/troff/n8.rel delete mode 100644 src/troff/n9.rel delete mode 100644 src/troff/ni.rel delete mode 100644 src/troff/nii.rel delete mode 100644 src/troff/ntab.rel delete mode 100644 src/troff/suftab.rel create mode 100644 src/troff/term/CVS/Entries create mode 100644 src/troff/term/CVS/Repository create mode 100644 src/troff/term/CVS/Root delete mode 100644 src/troff/term/tab37.rel create mode 100644 src/troff/tmac/CVS/Entries create mode 100644 src/troff/tmac/CVS/Repository create mode 100644 src/troff/tmac/CVS/Root diff --git a/.cvsignore b/.cvsignore new file mode 100644 index 00000000..568abd05 --- /dev/null +++ b/.cvsignore @@ -0,0 +1,2 @@ +lib + diff --git a/CVS/Entries b/CVS/Entries new file mode 100644 index 00000000..9995f103 --- /dev/null +++ b/CVS/Entries @@ -0,0 +1,10 @@ +/.cvsignore/1.1/Tue Dec 2 05:23:46 2003// +/avr.txt/1.1.1.1/Mon Nov 17 19:05:42 2003// +/bak.bat/1.1.1.1/Mon Nov 17 19:05:42 2003// +/devlog.txt/1.1.1.1/Mon Nov 17 19:05:42 2003// +/uzi.bat/1.1.1.1/Mon Nov 17 19:05:42 2003// +/uzipatch.bat/1.1.1.1/Mon Nov 17 19:05:42 2003// +D/bin//// +D/doc//// +D/include//// +D/src//// diff --git a/CVS/Repository b/CVS/Repository new file mode 100644 index 00000000..b81c82fe --- /dev/null +++ b/CVS/Repository @@ -0,0 +1 @@ +uzi diff --git a/CVS/Root b/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/bin/.cvsignore b/bin/.cvsignore new file mode 100644 index 00000000..b8fe925a --- /dev/null +++ b/bin/.cvsignore @@ -0,0 +1 @@ +nlddl diff --git a/bin/CVS/Entries b/bin/CVS/Entries new file mode 100644 index 00000000..8e21d7ef --- /dev/null +++ b/bin/CVS/Entries @@ -0,0 +1,53 @@ +/.cvsignore/1.1/Tue Dec 2 05:24:42 2003// +/appinst.bat/1.1.1.1/Mon Nov 17 19:05:42 2003// +/appinst.sh/1.1.1.1/Mon Nov 17 19:05:42 2003// +/appinst.ucp/1.1.1.1/Mon Nov 17 19:05:42 2003// +/boot.bin/1.1.1.1/Mon Nov 17 19:05:42 2003/-kb/ +/catman.bat/1.1.1.1/Mon Nov 17 19:05:42 2003// +/checksum/1.2/Wed Nov 26 04:16:50 2003/-kb/ +/checksum.dat/1.1.1.1/Mon Nov 17 19:05:42 2003/-kb/ +/chset.sh/1.1.1.1/Mon Nov 17 19:05:42 2003// +/demos.sh/1.1.1.1/Mon Nov 17 19:05:42 2003// +/fortune.dat/1.1.1.1/Mon Nov 17 19:05:42 2003/-kb/ +/fstab.txt/1.1.1.1/Mon Nov 17 19:05:42 2003// +/group.txt/1.1.1.1/Mon Nov 17 19:05:42 2003// +/inittab.txt/1.1.1.1/Mon Nov 17 19:05:42 2003// +/kernel.bin/1.2/Wed Nov 26 04:16:50 2003/-kb/ +/liberror.txt/1.1.1.1/Mon Nov 17 19:05:42 2003// +/mkboot.bat/1.1.1.1/Mon Nov 17 19:05:42 2003// +/mkboot.ucp/1.2/Fri Jan 23 12:48:36 2004// +/mkramfs.sh/1.1.1.1/Mon Nov 17 19:05:42 2003// +/mtab.txt/1.1.1.1/Mon Nov 17 19:05:42 2003// +/n.bat/1.1.1.1/Mon Nov 17 19:05:42 2003// +/n.sh/1.1.1.1/Mon Nov 17 19:05:42 2003// +/n.ucp/1.1.1.1/Mon Nov 17 19:05:42 2003// +/newkrnl.sh/1.1.1.1/Mon Nov 17 19:05:42 2003// +/padding.dat/1.1.1.1/Mon Nov 17 19:05:42 2003/-kb/ +/passwd.txt/1.1.1.1/Mon Nov 17 19:05:42 2003// +/profile.sh/1.1.1.1/Mon Nov 17 19:05:42 2003// +/profile.tsys.sh/1.1.1.1/Mon Nov 17 19:05:42 2003// +/root=hd0/1.2/Wed Nov 26 04:16:50 2003// +/root=hd0%/1.1.1.1/Mon Nov 17 19:05:42 2003// +/runonce.rc/1.1.1.1/Mon Nov 17 19:05:42 2003// +/runonce.sh/1.1.1.1/Mon Nov 17 19:05:42 2003// +/sysinit.rc/1.1.1.1/Mon Nov 17 19:05:42 2003// +/uzboot.bin/1.2/Wed Nov 26 04:16:50 2003/-kb/ +/uzboot.gz/1.2/Wed Nov 26 04:16:50 2003/-kb/ +/uzboot.ldr/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/uzidisk.dat/1.2/Wed Nov 26 04:16:50 2003/-kb/ +/xfstab.txt/1.1.1.1/Mon Nov 17 19:05:44 2003// +/xinittab.txt/1.1.1.1/Mon Nov 17 19:05:44 2003// +/xmtab.txt/1.1.1.1/Mon Nov 17 19:05:44 2003// +D/banked//// +D/chset//// +D/data//// +D/db//// +D/demos//// +D/font//// +D/good//// +D/large//// +D/man//// +D/nlddl//// +D/nos//// +D/term//// +D/tmac//// diff --git a/bin/CVS/Repository b/bin/CVS/Repository new file mode 100644 index 00000000..a5a19613 --- /dev/null +++ b/bin/CVS/Repository @@ -0,0 +1 @@ +uzi/bin diff --git a/bin/CVS/Root b/bin/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/bin/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/bin/banked/CVS/Entries b/bin/banked/CVS/Entries new file mode 100644 index 00000000..ace49379 --- /dev/null +++ b/bin/banked/CVS/Entries @@ -0,0 +1,105 @@ +/adduser/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/align/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/apropos/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/banner/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/basename/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/bsh/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cal/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cat/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/catman/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cdiff/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cgrep/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/chgrp/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/chmod/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/chown/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cksum/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cmp/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cp/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cr/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/crc/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cron/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/date/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/db/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/dd/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/df/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/dhry/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/diff/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/dirname/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/diskusag/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/dtree/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/du/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/echo/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/ed/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/expr/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/false/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/fgrep/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/file/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/find/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/fld/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/fortune/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/fsck/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/grep/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/gres/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/grlogin/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/head/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/id/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/init/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/inodes/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/kill/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/login/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/lpd/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/lpr/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/ls/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/man/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/mkdir/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/mkfs/1.2/Tue Dec 2 07:41:08 2003/-kb/ +/mknod/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/more/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/mount/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/msh/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/ncheck/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/nroff/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/od/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/passwd/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/pathchk/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/pr/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/printenv/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/ps/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/pwd/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/readall/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/reboot/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/renice/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/rm/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/rmdir/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/roff/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/sash/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/setclock/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/sort/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/split/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/su/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/sum/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/sync/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/tail/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/tar/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/tee/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/ter/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/termcap/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/test/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/tget/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/time/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/top/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/touch/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/tr/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/true/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/ualign/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/umount/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/uname/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/uniq/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/uudecode/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/uuencode/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/wc/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/which/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/whoami/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/wnd/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/yes/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +D diff --git a/bin/banked/CVS/Repository b/bin/banked/CVS/Repository new file mode 100644 index 00000000..1facfb76 --- /dev/null +++ b/bin/banked/CVS/Repository @@ -0,0 +1 @@ +uzi/bin/banked diff --git a/bin/banked/CVS/Root b/bin/banked/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/bin/banked/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/bin/banked/mkfs b/bin/banked/mkfs index 7647d9583080e979659fce541c961ffbd461f041..53b491a88161376ce1235a8219be2f8e0335fbed 100644 GIT binary patch delta 1092 zcmYL{e`r%z6vyv-dATQTa$oakbxGXX_d{oRwvcw6ZED+Db;=l8r<=nCHrUt?a6{Ne zYv^i=4v`{KebROFpCN;R?2q^Z`p4KxSLz7$7AkbOtf;}YVB!s}wu0T_c3v~w`{Tav zIrn_dIrrQ<)ic$TYWF@9+ujs=p}xMMDb^6%+}K!8g1ij4=Dgv3YoDUd7^jF@AyQ*D zRUd10B%HU2`qe~Q#N+LYBHq%{9~ANCdzwOw4DboX&VY8Uenjlk_t>*wo&@_Am;+$n z0rM23?IlN|&&rROQ$uT&2*om;G_nSnKS26N+I&%@G(xB{F=J$$qjYVcfqwYz;lrP| z=w!UX`Ic^yI-KkDU%11r?mZ$e> zw4GC>=W_Iwo_Wv@+CKF&>r>10Ict0$^%a=8zzjmn2h7f~-m7|~gmjuYR-#fk8uLDL zr;}qMQDFR`gbJI*5WBD{3e0}M!kFXLZ6dM2?E6flkP-V)7u>8Daew!YX@s(A;~U^f z#jTlRef9+~2f_Xh%(Gxz2J;*k8NWG%D>H|23&(tI%*M5PO@$aZ=A@%jCM?iah{LNJQ+D5YFT6PnT`jpitgGYju(zXVM(Mt;`j( zZ)U4K;~mtsirKZEcg8!Mb>(fZm#d*bm@g^SitK59PG1oTpXxS{Pm2Uq?JW>Cw}9~y z@b|rT8yan39CQsM4pJQvsdV!ArtTvHR=2gs+L=u03u&Xv`Jud~Pb5yb=hLmQ`6b{r zD8_MUG|1Mlc>;`MD7%0+E$BBfN3tu%?Xz0=6-E_|r<;EyY&eu$IQo_&B0E=p(Iab&! z;;~}c?2oi;_9y3ie~q`KCjEP>@6j>;kxTl+v0cgeim2WxV$Waynm!GV2X;!j(;o;a VbzNk=b0KivxfAeTX=7(%{{o#Ah~WSL delta 1127 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

|PaO_BIa6R3B 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

$2Eq{(wAvJu(>C&E&_mrMQaZ{}W_%eKxbIcN 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 literal 341185 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 diff --git a/bin/large/CVS/Entries b/bin/large/CVS/Entries new file mode 100644 index 00000000..1e27aad5 --- /dev/null +++ b/bin/large/CVS/Entries @@ -0,0 +1,101 @@ +/adduser/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/align/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/apropos/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/banner/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/basename/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/bd/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cal/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cat/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/catman/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cdiff/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cgrep/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/chgrp/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/chmod/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/chown/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cksum/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cmp/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cp/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cr/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/crc/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cron/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/date/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/dd/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/df/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/dhry/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/diff/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/dirname/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/diskusag/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/dtree/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/du/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/echo/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/ed/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/expr/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/false/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/fgrep/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/file/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/find/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/fld/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/fortune/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/fsck/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/grep/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/gres/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/head/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/id/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/init/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/inodes/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/kill/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/login/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/lpd/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/lpr/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/ls/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/man/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/mkdir/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/mkfs/1.2/Tue Dec 2 07:41:08 2003/-kb/ +/mknod/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/more/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/mount/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/ncheck/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/od/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/passwd/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/pathchk/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/pr/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/printenv/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/ps/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/pwd/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/readall/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/reboot/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/renice/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/rm/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/rmdir/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/roff/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/sash/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/setclock/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/sort/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/split/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/su/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/sum/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/sync/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/tail/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/tar/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/tee/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/ter/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/termcap/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/test/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/tget/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/time/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/top/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/touch/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/tr/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/true/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/ualign/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/umount/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/uname/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/uniq/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/uudecode/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/uuencode/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/wc/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/which/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/whoami/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/wnd/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/yes/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +D diff --git a/bin/large/CVS/Repository b/bin/large/CVS/Repository new file mode 100644 index 00000000..e196ec65 --- /dev/null +++ b/bin/large/CVS/Repository @@ -0,0 +1 @@ +uzi/bin/large diff --git a/bin/large/CVS/Root b/bin/large/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/bin/large/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/bin/large/mkfs b/bin/large/mkfs index 6bb6c593ec3d555d52225b22b78bef9f9cf66e1a..31951f37e98a882edcd0a16714acafb335ae918d 100644 GIT binary patch delta 1053 zcmYL|Urbw79LLXXFXxoD=hAB{YpcM$w_=(*ptrRA-9XuiiE#aax>8qzi%@K)y0@c>2ijek*>Nz@kQwg(W=jhF7rm<1ms;M^3Mdy8y=9yBV7@wl-4JSobiCS+5f*+&6GlYdmLc8e)$iY+=V6q zngYn43ZN%myQ!%iXlgeRdRrM;CD?hV_0BWCE&U>C0wSzmAfddPvBHV!Y7xV2*C;4I zM}-x3UtB3>k7X;Ja~;^WirI4KJ98aYccQJ$Ed{+HwjoxE4(I*~Ws93G$!;K@<|dZ( zeI%sqBkBu;^_1vsV6+kSE!$9Ah)`=SC(4B(Yco;R&CPLp93>LcJ|b}HqWU38s_4a# zHcr$rkVAwuttodwH?WjYgga0-sO?m^GTzo)U4pJDB@`RpHUiGWb~3x|R&=6>;$KpTDO^w#6TB;o;S)`A&@3C)i7) zGH*5tM|g`-EM58v{j0vOfFD@M>99>Ey=qKYWUxB#$+` rT%jN@sz3UGV;l@}5xtK(l$GF(=w#O+gt6w0=$O#3&@ttRa&)l&$dJ-IJp4YbL@Fd&A;N~RdzPnVgs`}<3_kX|xHRu} zttMu9i#_4yEtTG9tQj9Osa6GLnvI8{mxZKJ9Ugp@NOBeO$~u*J$|iZYLBTvlB{x*J zzbmVqC+vzSgMK9Q!(XYMts&DNh5#4}vb4S!ZE?f7cQ~ zxvcsPVPm3sW|2CKm=r&dQ&yiQa^4Q!xch&vnzuoIvmIc19{dMQZ$Z-l z%>ZO}1<-S^S=7uXG_w^5wdKcG2)5p6z43x;O+QDPf$-}F@fFm(;g8nU*)ZI8y@CoE zD&*NcF<;Id%GFpiNo-o>oX7f3CTa9V+uN%pufxaw7HdR{wQYy8##3&|ETE9(DOu7x zh)?SvY8PSs6?!KaokZ<34K+c8sBt&y5l$M#XzgSo(%1|0I&1c%1bo_;1V%5ar%6mj z9X{0t+ zZaxs$8KLzQX(ME>`l%~%`NKe)Yd!NWD)M-RaXRLB!-f-;-bWv^m+(Z<2@iV(KUr}u zp4s(V$1d;9`^8TJ@WnD4_Wtwaes=tsc=KmGwo<#$jS>3_J7`em@$lmVyd_+=-Tn#N zZeKSFvD%6)-)QPJA diff --git a/bin/man/CVS/Entries b/bin/man/CVS/Entries new file mode 100644 index 00000000..54d3ffee --- /dev/null +++ b/bin/man/CVS/Entries @@ -0,0 +1,6 @@ +/mkwhatis.bat/1.1.1.1/Mon Nov 17 19:05:44 2003// +/mkwhatis.sed/1.1.1.1/Mon Nov 17 19:05:44 2003// +/mkwhatis.sh/1.1.1.1/Mon Nov 17 19:05:44 2003// +/sh.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +D/cat1//// +D/man1//// diff --git a/bin/man/CVS/Repository b/bin/man/CVS/Repository new file mode 100644 index 00000000..73a77d2e --- /dev/null +++ b/bin/man/CVS/Repository @@ -0,0 +1 @@ +uzi/bin/man diff --git a/bin/man/CVS/Root b/bin/man/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/bin/man/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/bin/man/cat1/CVS/Entries b/bin/man/cat1/CVS/Entries new file mode 100644 index 00000000..db40aa36 --- /dev/null +++ b/bin/man/cat1/CVS/Entries @@ -0,0 +1,48 @@ +/basename.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cal.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cat.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/chmod.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/chown.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cmp.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/cp.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/date.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/dd.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/diff.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/du.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/echo.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/ed.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/expr.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/file.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/find.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/grep.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/kill.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/ln.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/login.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/ls.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/man.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/mkdir.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/mv.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/od.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/passwd.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/pr.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/ps.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/pwd.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/rm.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/roff.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/sh.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/sort.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/split.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/su.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/sum.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/tail.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/tar.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/tee.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/test.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/time.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/touch.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/tr.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/troff.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/true.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/uniq.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/wc.0/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +D diff --git a/bin/man/cat1/CVS/Repository b/bin/man/cat1/CVS/Repository new file mode 100644 index 00000000..e127aa78 --- /dev/null +++ b/bin/man/cat1/CVS/Repository @@ -0,0 +1 @@ +uzi/bin/man/cat1 diff --git a/bin/man/cat1/CVS/Root b/bin/man/cat1/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/bin/man/cat1/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/bin/man/man1/CVS/Entries b/bin/man/man1/CVS/Entries new file mode 100644 index 00000000..dd682a28 --- /dev/null +++ b/bin/man/man1/CVS/Entries @@ -0,0 +1,48 @@ +/basename.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/cal.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/cat.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/chmod.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/chown.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/cmp.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/cp.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/date.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/dd.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/diff.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/du.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/echo.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/ed.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/expr.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/file.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/find.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/grep.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/kill.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/ln.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/login.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/ls.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/man.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/mkdir.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/mv.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/od.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/passwd.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/pr.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/ps.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/pwd.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/rm.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/roff.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/sh.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/sort.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/split.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/su.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/sum.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/tail.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/tar.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/tee.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/test.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/time.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/touch.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/tr.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/troff.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/true.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/uniq.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +/wc.1/1.1.1.1/Mon Nov 17 19:05:44 2003// +D diff --git a/bin/man/man1/CVS/Repository b/bin/man/man1/CVS/Repository new file mode 100644 index 00000000..2a5c6802 --- /dev/null +++ b/bin/man/man1/CVS/Repository @@ -0,0 +1 @@ +uzi/bin/man/man1 diff --git a/bin/man/man1/CVS/Root b/bin/man/man1/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/bin/man/man1/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/bin/man/man1/basename.1 b/bin/man/man1/basename.1 index 661f3c95..c8a8332a 100644 --- a/bin/man/man1/basename.1 +++ b/bin/man/man1/basename.1 @@ -1,29 +1,29 @@ -.TH BASENAME 1 -.SH NAME -basename \- strip filename affixes -.SH SYNOPSIS -.B basename -string [ suffix ] -.SH DESCRIPTION -.I Basename -deletes any prefix ending in `/' and the -.I suffix, -if present in -.I string, -from -.I string, -and prints the result on the standard output. -It is normally used inside substitution marks \`\ \` -in shell procedures. -.PP -This shell procedure invoked with the argument -.I /usr/src/cmd/cat.c -compiles the named file and moves the output to -.I cat -in the current directory: -.IP "" 15n -cc $1 -.br -mv a.out \`basename $1 .c\` -.SH "SEE ALSO" -sh(1) +.TH BASENAME 1 +.SH NAME +basename \- strip filename affixes +.SH SYNOPSIS +.B basename +string [ suffix ] +.SH DESCRIPTION +.I Basename +deletes any prefix ending in `/' and the +.I suffix, +if present in +.I string, +from +.I string, +and prints the result on the standard output. +It is normally used inside substitution marks \`\ \` +in shell procedures. +.PP +This shell procedure invoked with the argument +.I /usr/src/cmd/cat.c +compiles the named file and moves the output to +.I cat +in the current directory: +.IP "" 15n +cc $1 +.br +mv a.out \`basename $1 .c\` +.SH "SEE ALSO" +sh(1) diff --git a/bin/man/man1/cal.1 b/bin/man/man1/cal.1 index d34b849d..2c369c88 100644 --- a/bin/man/man1/cal.1 +++ b/bin/man/man1/cal.1 @@ -1,27 +1,27 @@ -.TH CAL 1 -.SH NAME -cal \- print calendar -.SH SYNOPSIS -.B cal -[ month ] year -.SH DESCRIPTION -.I Cal -prints a calendar for the specified year. -If a month is also specified, a calendar -just for that month is printed. -.I Year -can be between 1 -and 9999. -The -.I month -is a number between 1 and 12. -The calendar -produced is that for England and her colonies. -.PP -Try September 1752. -.SH BUGS -The year is always considered to start in January even though this -is historically naive. -.br -Beware that `cal 78' refers to the early Christian era, -not the 20th century. +.TH CAL 1 +.SH NAME +cal \- print calendar +.SH SYNOPSIS +.B cal +[ month ] year +.SH DESCRIPTION +.I Cal +prints a calendar for the specified year. +If a month is also specified, a calendar +just for that month is printed. +.I Year +can be between 1 +and 9999. +The +.I month +is a number between 1 and 12. +The calendar +produced is that for England and her colonies. +.PP +Try September 1752. +.SH BUGS +The year is always considered to start in January even though this +is historically naive. +.br +Beware that `cal 78' refers to the early Christian era, +not the 20th century. diff --git a/bin/man/man1/cat.1 b/bin/man/man1/cat.1 index ebeac0d8..5d0f631f 100644 --- a/bin/man/man1/cat.1 +++ b/bin/man/man1/cat.1 @@ -1,38 +1,38 @@ -.TH CAT 1 -.SH NAME -cat \- catenate and print -.SH SYNOPSIS -.B cat -[ -.B \-u -] file ... -.SH DESCRIPTION -.I Cat -reads each -.I file -in sequence and writes it on the standard output. -Thus -.IP -cat file -.LP -prints the file and -.IP -cat file1 file2 >file3 -.LP -concatenates the first two files and places the result -on the third. -.PP -If no -.I file -is given, or if the argument `\-' is encountered, -.I cat -reads from the standard input. -Output is buffered in 512-byte blocks unless the -standard output is a terminal or the -.B \-u -option is present. -.SH SEE ALSO -pr(1), cp(1) -.SH BUGS -Beware of `cat a b >a' and `cat a b >b', which -destroy input files before reading them. +.TH CAT 1 +.SH NAME +cat \- catenate and print +.SH SYNOPSIS +.B cat +[ +.B \-u +] file ... +.SH DESCRIPTION +.I Cat +reads each +.I file +in sequence and writes it on the standard output. +Thus +.IP +cat file +.LP +prints the file and +.IP +cat file1 file2 >file3 +.LP +concatenates the first two files and places the result +on the third. +.PP +If no +.I file +is given, or if the argument `\-' is encountered, +.I cat +reads from the standard input. +Output is buffered in 512-byte blocks unless the +standard output is a terminal or the +.B \-u +option is present. +.SH SEE ALSO +pr(1), cp(1) +.SH BUGS +Beware of `cat a b >a' and `cat a b >b', which +destroy input files before reading them. diff --git a/bin/man/man1/chmod.1 b/bin/man/man1/chmod.1 index dc61d366..689e9a37 100644 --- a/bin/man/man1/chmod.1 +++ b/bin/man/man1/chmod.1 @@ -1,172 +1,172 @@ -.TH CHMOD 1 -.SH NAME -chmod \- change mode -.SH SYNOPSIS -.B chmod -mode file ... -.SH DESCRIPTION -The mode of -each named file -is changed -according to -.I mode, -which may be absolute or symbolic. -An absolute -.I mode -is an octal -number constructed -from the OR of the -following modes: -.TP 10 -4000 -set user ID on execution -.br -.br -.ns -.TP 10 -2000 -set group ID on execution -.br -.br -.ns -.TP 10 -1000 -sticky bit, see -.IR chmod (2) -.br -.br -.ns -.TP 10 -0400 -read by owner -.br -.br -.ns -.TP 10 -0200 -write by owner -.br -.br -.ns -.TP 10 -0100 -execute (search in directory) by owner -.br -.br -.ns -.TP 10 -0070 -read, write, execute (search) by group -.br -.br -.ns -.TP 10 -0007 -read, write, execute (search) by others -.PP -A symbolic -.I mode -has the form: -.IP -.RI [ who ] -.I op permission -.RI [ "op permission" "] ..." -.PP -The -.I who -part is a combination -of the letters -.B u -(for user's permissions), -.B g -(group) -and -.B o -(other). -The letter -.B a -stands for -.B ugo. -If -.I who -is omitted, -the default is -.I a -but the setting of -the file creation mask -(see umask(2)) -is taken into account. -.PP -.I Op -can be -.B + -to add -.I permission -to the file's mode, -.B \- -to take away -.I permission -and -.B = -to assign -.I permission -absolutely -(all other bits will -be reset). -.PP -.I Permission -is any combination of the letters -.B r -(read), -.B w -(write), -.B x -(execute), -.B s -(set owner or group id) -and -.B t -(save text \- sticky). -Letters -.BR u, -.B g -or -.B o -indicate that -.I permission -is to be taken -from the current -mode. -Omitting -.I permission -is only useful -with -.B = -to take away -all permissions. -.PP -The first example denies write permission to others, -the second makes a file executable: -.IP -chmod o\-w file -.br -chmod +x file -.PP -Multiple symbolic modes separated by commas may be given. -Operations are performed -in the order specified. -The letter -.B s -is only useful -with -.B u -or -.B g. -.PP -Only the owner of a file (or the super-user) may change its mode. -.SH "SEE ALSO" -ls(1), -chmod(2), -chown (1), -stat(2), -umask(2) +.TH CHMOD 1 +.SH NAME +chmod \- change mode +.SH SYNOPSIS +.B chmod +mode file ... +.SH DESCRIPTION +The mode of +each named file +is changed +according to +.I mode, +which may be absolute or symbolic. +An absolute +.I mode +is an octal +number constructed +from the OR of the +following modes: +.TP 10 +4000 +set user ID on execution +.br +.br +.ns +.TP 10 +2000 +set group ID on execution +.br +.br +.ns +.TP 10 +1000 +sticky bit, see +.IR chmod (2) +.br +.br +.ns +.TP 10 +0400 +read by owner +.br +.br +.ns +.TP 10 +0200 +write by owner +.br +.br +.ns +.TP 10 +0100 +execute (search in directory) by owner +.br +.br +.ns +.TP 10 +0070 +read, write, execute (search) by group +.br +.br +.ns +.TP 10 +0007 +read, write, execute (search) by others +.PP +A symbolic +.I mode +has the form: +.IP +.RI [ who ] +.I op permission +.RI [ "op permission" "] ..." +.PP +The +.I who +part is a combination +of the letters +.B u +(for user's permissions), +.B g +(group) +and +.B o +(other). +The letter +.B a +stands for +.B ugo. +If +.I who +is omitted, +the default is +.I a +but the setting of +the file creation mask +(see umask(2)) +is taken into account. +.PP +.I Op +can be +.B + +to add +.I permission +to the file's mode, +.B \- +to take away +.I permission +and +.B = +to assign +.I permission +absolutely +(all other bits will +be reset). +.PP +.I Permission +is any combination of the letters +.B r +(read), +.B w +(write), +.B x +(execute), +.B s +(set owner or group id) +and +.B t +(save text \- sticky). +Letters +.BR u, +.B g +or +.B o +indicate that +.I permission +is to be taken +from the current +mode. +Omitting +.I permission +is only useful +with +.B = +to take away +all permissions. +.PP +The first example denies write permission to others, +the second makes a file executable: +.IP +chmod o\-w file +.br +chmod +x file +.PP +Multiple symbolic modes separated by commas may be given. +Operations are performed +in the order specified. +The letter +.B s +is only useful +with +.B u +or +.B g. +.PP +Only the owner of a file (or the super-user) may change its mode. +.SH "SEE ALSO" +ls(1), +chmod(2), +chown (1), +stat(2), +umask(2) diff --git a/bin/man/man1/chown.1 b/bin/man/man1/chown.1 index 7be9fe58..5eceb3d5 100644 --- a/bin/man/man1/chown.1 +++ b/bin/man/man1/chown.1 @@ -1,35 +1,35 @@ -.TH CHOWN 1 -.SH NAME -chown, chgrp \- change owner or group -.SH SYNOPSIS -.B chown -owner file ... -.PP -.B chgrp -group file ... -.SH DESCRIPTION -.I Chown -changes the owner of the -.I files -to -.IR owner . -The owner may be either a decimal UID or -a login name found in the password file. -.PP -.I Chgrp -changes the group-ID of the -.I files -to -.IR group . -The group may be either a decimal GID or -a group name found in the group-ID file. -.PP -Only the super-user can change owner or group, -in order to simplify as yet unimplemented accounting procedures. -.SH FILES -/etc/passwd -.br -/etc/group -.SH "SEE ALSO" -chown(2), -passwd(5), group(5) +.TH CHOWN 1 +.SH NAME +chown, chgrp \- change owner or group +.SH SYNOPSIS +.B chown +owner file ... +.PP +.B chgrp +group file ... +.SH DESCRIPTION +.I Chown +changes the owner of the +.I files +to +.IR owner . +The owner may be either a decimal UID or +a login name found in the password file. +.PP +.I Chgrp +changes the group-ID of the +.I files +to +.IR group . +The group may be either a decimal GID or +a group name found in the group-ID file. +.PP +Only the super-user can change owner or group, +in order to simplify as yet unimplemented accounting procedures. +.SH FILES +/etc/passwd +.br +/etc/group +.SH "SEE ALSO" +chown(2), +passwd(5), group(5) diff --git a/bin/man/man1/cmp.1 b/bin/man/man1/cmp.1 index 415bbc8b..123b3c6d 100644 --- a/bin/man/man1/cmp.1 +++ b/bin/man/man1/cmp.1 @@ -1,42 +1,42 @@ -.TH CMP 1 -.SH NAME -cmp \- compare two files -.SH SYNOPSIS -.B cmp -[ -.B \-l -] [ -.B \-s -] -file1 file2 -.SH DESCRIPTION -The two files are -compared. -(If -.I file1 -is `\-', -the standard input is used.) -Under default options, -.I cmp -makes no comment if the files are the same; -if they differ, it announces the byte and line number -at which the difference occurred. -If one file is an initial subsequence -of the other, that fact is noted. -.PP -Options: -.TP 6 -.B \-l -Print the byte number (decimal) and the -differing bytes (octal) for each difference. -.TP 6 -.B \-s -Print nothing for differing files; -return codes only. -.dt -.SH "SEE ALSO" -diff(1), comm(1) -.SH DIAGNOSTICS -Exit code 0 is returned for identical -files, 1 for different files, and 2 for an -inaccessible or missing argument. +.TH CMP 1 +.SH NAME +cmp \- compare two files +.SH SYNOPSIS +.B cmp +[ +.B \-l +] [ +.B \-s +] +file1 file2 +.SH DESCRIPTION +The two files are +compared. +(If +.I file1 +is `\-', +the standard input is used.) +Under default options, +.I cmp +makes no comment if the files are the same; +if they differ, it announces the byte and line number +at which the difference occurred. +If one file is an initial subsequence +of the other, that fact is noted. +.PP +Options: +.TP 6 +.B \-l +Print the byte number (decimal) and the +differing bytes (octal) for each difference. +.TP 6 +.B \-s +Print nothing for differing files; +return codes only. +.dt +.SH "SEE ALSO" +diff(1), comm(1) +.SH DIAGNOSTICS +Exit code 0 is returned for identical +files, 1 for different files, and 2 for an +inaccessible or missing argument. diff --git a/bin/man/man1/cp.1 b/bin/man/man1/cp.1 index 605e4866..35abac10 100644 --- a/bin/man/man1/cp.1 +++ b/bin/man/man1/cp.1 @@ -1,29 +1,29 @@ -.TH CP 1 -.SH NAME -cp \- copy -.SH SYNOPSIS -.B cp -file1 file2 -.PP -.B cp -file ... directory -.SH DESCRIPTION -.I File1 -is copied onto -.IR file2 . -The mode and owner of -.I file2 -are preserved if it already -existed; the mode of the source file -is used otherwise. -.PP -In the second form, one or more -.I files -are copied into the -.I directory -with their original file-names. -.PP -.I Cp -refuses to copy a file onto itself. -.SH "SEE ALSO" -cat(1), pr(1), mv(1) +.TH CP 1 +.SH NAME +cp \- copy +.SH SYNOPSIS +.B cp +file1 file2 +.PP +.B cp +file ... directory +.SH DESCRIPTION +.I File1 +is copied onto +.IR file2 . +The mode and owner of +.I file2 +are preserved if it already +existed; the mode of the source file +is used otherwise. +.PP +In the second form, one or more +.I files +are copied into the +.I directory +with their original file-names. +.PP +.I Cp +refuses to copy a file onto itself. +.SH "SEE ALSO" +cat(1), pr(1), mv(1) diff --git a/bin/man/man1/date.1 b/bin/man/man1/date.1 index e9ea7fcb..2fa4529f 100644 --- a/bin/man/man1/date.1 +++ b/bin/man/man1/date.1 @@ -1,42 +1,42 @@ -.TH DATE 1 -.SH NAME -date \- print and set the date -.SH SYNOPSIS -.B date -.RB "[ yymmddhhmm [ " . "ss ] ]" -.SH DESCRIPTION -If no argument is given, the current date and time are printed. -If an argument is given, the current date is set. -.I yy -is the last two digits of the year; -the first -.I mm -is the month number; -.I dd -is the day number in the month; -.I hh -is the hour number (24 hour system); -the second -.I mm -is the minute number; -.BI . ss -is optional and is the seconds. -For example: -.IP -date 10080045 -.PP -sets the date to Oct 8, 12:45 AM. -The year, month and day may be omitted, the current -values being the defaults. -The system operates in GMT. -.I Date -takes care of the conversion to and from -local standard and daylight time. -.SH FILES -/usr/adm/wtmp to record time-setting -.SH SEE ALSO -utmp(5) -.SH DIAGNOSTICS -`No permission' if -you aren't the super-user and you try to change the date; -`bad conversion' if the date set is syntactically incorrect. +.TH DATE 1 +.SH NAME +date \- print and set the date +.SH SYNOPSIS +.B date +.RB "[ yymmddhhmm [ " . "ss ] ]" +.SH DESCRIPTION +If no argument is given, the current date and time are printed. +If an argument is given, the current date is set. +.I yy +is the last two digits of the year; +the first +.I mm +is the month number; +.I dd +is the day number in the month; +.I hh +is the hour number (24 hour system); +the second +.I mm +is the minute number; +.BI . ss +is optional and is the seconds. +For example: +.IP +date 10080045 +.PP +sets the date to Oct 8, 12:45 AM. +The year, month and day may be omitted, the current +values being the defaults. +The system operates in GMT. +.I Date +takes care of the conversion to and from +local standard and daylight time. +.SH FILES +/usr/adm/wtmp to record time-setting +.SH SEE ALSO +utmp(5) +.SH DIAGNOSTICS +`No permission' if +you aren't the super-user and you try to change the date; +`bad conversion' if the date set is syntactically incorrect. diff --git a/bin/man/man1/dd.1 b/bin/man/man1/dd.1 index 56aaab3c..a40066c0 100644 --- a/bin/man/man1/dd.1 +++ b/bin/man/man1/dd.1 @@ -1,192 +1,192 @@ -.TH DD 1 -.SH NAME -dd \- convert and copy a file -.SH SYNOPSIS -.B dd -[option=value] ... -.SH DESCRIPTION -.I Dd -copies the specified input file -to the specified output with -possible conversions. -The standard input and output are used by default. -The input and output block size may be -specified to take advantage of raw physical I/O. -.PP -.br -.ns -.TP 15 -.I option -.I values -.br -.ns -.TP -if= -input file name; standard input is default -.br -.ns -.TP -of= -output file name; standard output is default -.br -.ns -.TP -.RI ibs= n -input block size -.I n -bytes (default 512) -.br -.ns -.TP -.RI obs= n -output block size (default 512) -.br -.ns -.TP -.RI bs= n -set both input and output block size, -superseding -.I ibs -and -.I obs; -also, if no conversion is specified, -it is particularly efficient since no copy need be done -.br -.ns -.TP -.RI cbs= n -conversion buffer size -.br -.ns -.TP -.RI skip= n -skip -.IR n "" -input records before starting copy -.br -.ns -.TP -.RI files= n -copy -.I n -files from (tape) input -.br -.ns -.TP -.RI seek= n -seek -.I n -records from beginning of output file before copying -.br -.ns -.TP -count=\fIn\fR -copy only -.IR n "" -input records -.br -.ns -.TP -conv=ascii -.ds h \h'\w'conv='u' -convert EBCDIC to ASCII -.br -.ns -.IP \*hebcdic -convert ASCII to EBCDIC -.br -.ns -.IP \*hibm -slightly different map of ASCII to EBCDIC -.br -.ns -.IP \*hlcase -map alphabetics to lower case -.br -.ns -.IP \*hucase -map alphabetics to upper case -.br -.ns -.IP \*hswab -swap every pair of bytes -.br -.ns -.IP \*hnoerror -do not stop processing on an error -.br -.ns -.IP \*hsync -pad every input record to -.I ibs -.br -.ns -.IP "\*h... , ..." -several comma-separated conversions -.PP -.fi -Where sizes are specified, -a number of bytes is expected. -A number may end with -.B "k, b" -or -.B w -to specify multiplication by -1024, 512, or 2 respectively; -a pair of numbers may be separated by -.B x -to indicate a product. -.PP -.I Cbs -is used only if -.I ascii -or -.I ebcdic -conversion is specified. -In the former case -.I cbs -characters are placed into the conversion buffer, converted to -ASCII, and trailing blanks trimmed and new-line added -before sending the line to the output. -In the latter case ASCII characters are read into the -conversion buffer, converted to EBCDIC, and blanks added -to make up an -output record of size -.IR cbs . -.PP -After completion, -.I dd -reports the number of whole and partial input and output -blocks. -.PP -For example, to read an EBCDIC tape blocked ten 80-byte -EBCDIC card images per record into the ASCII file -.IR x : -.IP "" -dd if=/dev/rmt0 of=x ibs=800 cbs=80 conv=ascii,lcase -.PP -Note the use of raw magtape. -.I Dd -is especially suited to I/O on the raw -physical devices because it allows reading -and writing in arbitrary record sizes. -.PP -To skip over a file before copying from magnetic tape do -.IP"" -(dd of=/dev/null; dd of=x) '. -.PP -The -.B \-b -option causes -trailing blanks (spaces and tabs) to be ignored -and other strings of blanks to compare equal. -.PP -The -.B \-e -option produces a script of -.I "a, c" -and -.I d -commands for the editor -.I ed, -which will recreate -.I file2 -from -.IR file1 . -The -.B \-f -option produces a similar script, -not useful with -.I ed, -in the opposite order. -In connection with -.BR \-e , -the following shell program may help maintain -multiple versions of a file. -Only an ancestral file ($1) and a chain of -version-to-version -.I ed -scripts ($2,$3,...) made by -.I diff -need be on hand. -A `latest version' appears on -the standard output. -.IP "" 5 -(shift; cat $*; echo \'1,$p\') \(bv ed \- $1 -.PP -Except in rare circumstances, -.I diff -finds a smallest sufficient set of file -differences. -.PP -Option -.B \-h -does a fast, half-hearted job. -It works only when changed stretches are short -and well separated, -but does work on files of unlimited length. -Options -.B \-e -and -.B \-f -are unavailable with -.BR \-h . -.SH FILES -/tmp/d????? -.br -/usr/lib/diffh for -.B \-h -.SH "SEE ALSO" -cmp(1), comm(1), ed(1) -.SH DIAGNOSTICS -Exit status is 0 for no differences, 1 for some, 2 for trouble. -.SH BUGS -Editing scripts produced under the -.BR \-e " or" -.BR \-f " option are naive about" -creating lines consisting of a single `\fB.\fR'. +.TH DIFF 1 +.SH NAME +diff \- differential file comparator +.SH SYNOPSIS +.B diff +[ +.B \-efbh +] file1 file2 +.SH DESCRIPTION +.I Diff +tells what lines must be changed in two files to bring them +into agreement. +If +.I file1 +.RI ( file2 ) +is `\-', the standard input is used. +If +.I file1 +.RI ( file2 ) +is a directory, then a file in that directory +whose file-name is the same as the file-name of +.I file2 +.RI ( file1 ) +is used. +The normal output contains lines of these forms: +.IP "" 5 +.I n1 +a +.I n3,n4 +.br +.I n1,n2 +d +.I n3 +.br +.I n1,n2 +c +.I n3,n4 +.PP +These lines resemble +.I ed +commands to convert +.I file1 +into +.IR file2 . +The numbers after the letters pertain to +.IR file2 . +In fact, by exchanging `a' for `d' and reading backward +one may ascertain equally how to convert +.I file2 +into +.IR file1 . +As in +.I ed, +identical pairs where +.I n1 += +.I n2 +or +.I n3 += +.I n4 +are abbreviated as a single number. +.PP +Following each of these lines come all the lines that are +affected in the first file flagged by `<', +then all the lines that are affected in the second file +flagged by `>'. +.PP +The +.B \-b +option causes +trailing blanks (spaces and tabs) to be ignored +and other strings of blanks to compare equal. +.PP +The +.B \-e +option produces a script of +.I "a, c" +and +.I d +commands for the editor +.I ed, +which will recreate +.I file2 +from +.IR file1 . +The +.B \-f +option produces a similar script, +not useful with +.I ed, +in the opposite order. +In connection with +.BR \-e , +the following shell program may help maintain +multiple versions of a file. +Only an ancestral file ($1) and a chain of +version-to-version +.I ed +scripts ($2,$3,...) made by +.I diff +need be on hand. +A `latest version' appears on +the standard output. +.IP "" 5 +(shift; cat $*; echo \'1,$p\') \(bv ed \- $1 +.PP +Except in rare circumstances, +.I diff +finds a smallest sufficient set of file +differences. +.PP +Option +.B \-h +does a fast, half-hearted job. +It works only when changed stretches are short +and well separated, +but does work on files of unlimited length. +Options +.B \-e +and +.B \-f +are unavailable with +.BR \-h . +.SH FILES +/tmp/d????? +.br +/usr/lib/diffh for +.B \-h +.SH "SEE ALSO" +cmp(1), comm(1), ed(1) +.SH DIAGNOSTICS +Exit status is 0 for no differences, 1 for some, 2 for trouble. +.SH BUGS +Editing scripts produced under the +.BR \-e " or" +.BR \-f " option are naive about" +creating lines consisting of a single `\fB.\fR'. diff --git a/bin/man/man1/du.1 b/bin/man/man1/du.1 index 59ed53e0..436328b2 100644 --- a/bin/man/man1/du.1 +++ b/bin/man/man1/du.1 @@ -1,43 +1,43 @@ -.TH DU 1 -.SH NAME -du \- summarize disk usage -.SH SYNOPSIS -.B du -[ -.B \-s -] [ -.B \-a -] [ name ... ] -.SH DESCRIPTION -.I Du -gives the number of blocks contained in all files -and (recursively) directories within each specified directory or -file -.IR name . -If -.I name -is missing, -`\fB.\fR' -is used. -.PP -The optional argument -.B \-s -causes only the grand total to -be given. -The optional argument -.B \-a -causes an entry to be generated -for each file. -Absence of either causes an entry to be generated for -each directory only. -.PP -A file which has two links to it is only counted once. -.SH BUGS -Non-directories -given as arguments (not under -.B \-a -option) are not listed. -.br -If there are too many distinct linked files, -.I du -counts the excess files multiply. +.TH DU 1 +.SH NAME +du \- summarize disk usage +.SH SYNOPSIS +.B du +[ +.B \-s +] [ +.B \-a +] [ name ... ] +.SH DESCRIPTION +.I Du +gives the number of blocks contained in all files +and (recursively) directories within each specified directory or +file +.IR name . +If +.I name +is missing, +`\fB.\fR' +is used. +.PP +The optional argument +.B \-s +causes only the grand total to +be given. +The optional argument +.B \-a +causes an entry to be generated +for each file. +Absence of either causes an entry to be generated for +each directory only. +.PP +A file which has two links to it is only counted once. +.SH BUGS +Non-directories +given as arguments (not under +.B \-a +option) are not listed. +.br +If there are too many distinct linked files, +.I du +counts the excess files multiply. diff --git a/bin/man/man1/echo.1 b/bin/man/man1/echo.1 index 16b2ead2..b2911c40 100644 --- a/bin/man/man1/echo.1 +++ b/bin/man/man1/echo.1 @@ -1,23 +1,23 @@ -.TH ECHO 1 -.SH NAME -echo \- echo arguments -.SH SYNOPSIS -.B echo -[ -.B \-n -] -[ arg ] ... -.SH DESCRIPTION -.I Echo -writes its arguments separated by blanks and terminated by -a newline on the standard output. -If the flag -.B \-n -is used, -no newline is added to the output. -.PP -.I Echo -is useful for producing diagnostics in -shell programs and for writing constant data on pipes. -To send diagnostics to the standard error file, do -`echo ... 1>&2'. +.TH ECHO 1 +.SH NAME +echo \- echo arguments +.SH SYNOPSIS +.B echo +[ +.B \-n +] +[ arg ] ... +.SH DESCRIPTION +.I Echo +writes its arguments separated by blanks and terminated by +a newline on the standard output. +If the flag +.B \-n +is used, +no newline is added to the output. +.PP +.I Echo +is useful for producing diagnostics in +shell programs and for writing constant data on pipes. +To send diagnostics to the standard error file, do +`echo ... 1>&2'. diff --git a/bin/man/man1/ed.1 b/bin/man/man1/ed.1 index 1fbedc45..196b973d 100644 --- a/bin/man/man1/ed.1 +++ b/bin/man/man1/ed.1 @@ -1,652 +1,652 @@ -.TH ED 1 -.if t .ds q \(aa -.if n .ds q ' -.SH NAME -ed \- text editor -.SH SYNOPSIS -.B ed -[ -.B \- -] [ -.B \-x -] [ name ] -.SH DESCRIPTION -.I Ed -is the standard text editor. -.PP -If a -.I name -argument is given, -.I ed -simulates an -.I e -command (see below)\| on the named file; that is to say, -the file is read into -.I ed's -buffer so that it can be edited. -If -.B \-x -is present, an -.I x -command is simulated first to handle an encrypted file. -The optional -.B \- -suppresses the printing -of character counts by -.I e, -.I r, -and -.I w -commands. -.PP -.I Ed -operates on a copy of any file it is editing; changes made -in the copy have no effect on the file until a -.IR w "" -(write)\| -command is given. -The copy of the text being edited resides -in a temporary file called the -.IR buffer . -.PP -Commands to -.I ed -have a simple and regular structure: zero or -more -.I addresses -followed by a single character -.I command, -possibly -followed by parameters to the command. -These addresses specify one or more lines in the buffer. -Missing addresses are supplied by default. -.PP -In general, only one command may appear on a line. -Certain commands allow the -addition of text to the buffer. -While -.I ed -is accepting text, it is said -to be in -.I "input mode." -In this mode, no commands are recognized; -all input is merely collected. -Input mode is left by typing a period `\fB.\fR' alone at the -beginning of a line. -.PP -.I Ed -supports a limited form of -.I "regular expression" -notation. -A regular expression specifies -a set of strings of characters. -A member of this set of strings is said to be -.I matched -by the regular expression. -In the following specification for regular expressions -the word `character' means any character but newline. -.IP 1. -Any character except a special character -matches itself. -Special characters are -the regular expression delimiter plus -.RB \e\|[\| . -and sometimes ^\|*\|$. -.IP 2. -A -.B . -matches any character. -.IP 3. -A \e followed by any character except a digit or (\|) matches that character. -.IP 4. -A nonempty string -.I s -bracketed -.RI [ \|s\| ] -(or -.RI [^ s\| ]) -matches any character in (or not in) -.I s. -In -.I s, -\e has no special meaning, and ] may only appear as -the first letter. -A substring -.I a\-b, -with -.I a -and -.I b -in ascending ASCII order, stands for the inclusive -range of ASCII characters. -.IP 5. -A regular expression of form 1-4 followed by * matches a sequence of -0 or more matches of the regular expression. -.IP 6. -A regular expression, -.I x, -of form 1-8, bracketed -.RI \e( \|x\| \e) -matches what -.I x -matches. -.IP 7. -A \e followed by a digit -.I n -matches a copy of the string that the -bracketed regular expression beginning with the -.IR n th -\e( matched. -.IP 8. -A regular expression of form 1-8, -.I x, -followed by a regular expression of form 1-7, -.I y -matches a match for -.I x -followed by a match for -.I y, -with the -.I x -match being as long as possible while still permitting a -.I y -match. -.IP 9. -A regular expression of form 1-8 preceded by ^ -(or followed by $), is constrained to matches that -begin at the left (or end at the right) end of a line. -.IP 10. -A regular expression of form 1-9 picks out the -longest among the leftmost matches in a line. -.IP 11. -An empty regular expression stands for a copy of the -last regular expression encountered. -.PP -Regular expressions are used in addresses to specify -lines and in one command -(see -.I s -below)\| -to specify a portion of a line which is to be replaced. -If it is desired to use one of -the regular expression metacharacters as an ordinary -character, that character may be preceded by `\e'. -This also applies to the character bounding the regular -expression (often `/')\| and to `\e' itself. -.PP -To understand addressing in -.I ed -it is necessary to know that at any time there is a -.I "current line." -Generally speaking, the current line is -the last line affected by a command; however, -the exact effect on the current line -is discussed under the description of -the command. -Addresses are constructed as follows. -.TP -1. -The character `\fB.\fR' addresses the current line. -.TP -2. -The character `$' addresses the last line of the buffer. -.TP -3. -A decimal number -.I n -addresses the -.IR n -th -line of the buffer. -.TP -4. -`\(fm\fIx\fR' addresses the line marked with the name -.IR x , -which must be a lower-case letter. -Lines are marked with the -.I k -command described below. -.TP -5. -A regular expression enclosed in slashes `/' addresses -the line found by searching forward from the current line -and stopping at the first line containing a -string that matches the regular expression. -If necessary the search wraps around to the beginning of the -buffer. -.TP -6. -A regular expression enclosed in queries `?' addresses -the line found by searching backward from the current line -and stopping at the first line containing -a string that matches the regular expression. -If necessary -the search wraps around to the end of the buffer. -.TP -7. -An address followed by a plus sign `+' -or a minus sign `\-' followed by a decimal number specifies that address plus -(resp. minus)\| the indicated number of lines. -The plus sign may be omitted. -.TP -8. -If an address begins with `+' or `\-' -the addition or subtraction is taken with respect to the current line; -e.g. `\-5' is understood to mean `\fB.\fR\-5'. -.TP -9. -If an address ends with `+' or `\-', -then 1 is added (resp. subtracted). -As a consequence of this rule and rule 8, -the address `\-' refers to the line before the current line. -Moreover, -trailing -`+' and `\-' characters -have cumulative effect, so `\-\-' refers to the current -line less 2. -.TP -10. -To maintain compatibility with earlier versions of the editor, -the character `^' in addresses is -equivalent to `\-'. -.PP -Commands may require zero, one, or two addresses. -Commands which require no addresses regard the presence -of an address as an error. -Commands which accept one or two addresses -assume default addresses when insufficient are given. -If more addresses are given than such a command requires, -the last one or two (depending on what is accepted)\| are used. -.PP -Addresses are separated from each other typically by a comma -`\fB,\fR'. -They may also be separated by a semicolon -`\fB;\fR'. -In this case the current line `\fB.\fR' is set to -the previous address before the next address is interpreted. -This feature can be used to determine the starting -line for forward and backward searches (`/', `?')\|. -The second address of any two-address sequence -must correspond to a line following the line corresponding to the first address. -.PP -In the following list of -.I ed -commands, the default addresses -are shown in parentheses. -The parentheses are not part of -the address, but are used to show that the given addresses are -the default. -.PP -As mentioned, it is generally illegal for more than one -command to appear on a line. -However, most commands may be suffixed by `p' -or by `l', in which case -the current line is either -printed or listed respectively -in the way discussed below. -.TP 5 -.RB (\| .\| )\|a -.br -.ns -.TP 5 - -.br -.ns -.TP 5 -.B . -.br -The append command reads the given text -and appends it after the addressed line. -`\fB.\fR' is left -on the last line input, if there -were any, otherwise at the addressed line. -Address `0' is legal for this command; text is placed -at the beginning of the buffer. -.TP 5 -.RB (\| .\| ,\ .\| )\|c -.br -.ns -.TP 5 - -.br -.ns -.TP 5 -.B . -.br -The change -command deletes the addressed lines, then accepts input -text which replaces these lines. -`\fB.\fR' is left at the last line input; if there were none, -it is left at the line preceding the deleted lines. -.TP 5 -.RB (\| .\| ,\ .\| )\|d -The delete command deletes the addressed lines from the buffer. -The line originally after the last line deleted becomes the current line; -if the lines deleted were originally at the end, -the new last line becomes the current line. -.TP 5 -e filename -The edit -command causes the entire contents of the buffer to be deleted, -and then the named file to be read in. -`\fB.\fR' is set to the last line of the buffer. -The number of characters read is typed. -`filename' is remembered for possible use as a default file name -in a subsequent -.I r -or -.I w -command. -If `filename' is missing, the remembered name is used. -.TP 5 -E filename -This command is the same as -.I e, -except that no diagnostic results when no -.I w -has been given since the last buffer alteration. -.TP 5 -f filename -The filename command prints the currently remembered file name. -If `filename' is given, -the currently remembered file name is changed to `filename'. -.TP 5 -(1,$)\|g/regular expression/command list -In the global -command, the first step is to mark every line which matches -the given regular expression. -Then for every such line, the -given command list is executed with `\fB.\fR' initially set to that line. -A single command or the first of multiple commands -appears on the same line with the global command. -All lines of a multi-line list except the last line must be ended with `\e'. -.I A, -.I i, -and -.I c -commands and associated input are permitted; -the `\fB.\fR' terminating input mode may be omitted if it would be on the -last line of the command list. -The commands -.I g -and -.I v -are not permitted in the command list. -.TP 5 -.RB (\| .\| )\|i -.ns -.TP 5 - -.br -.ns -.TP 5 -.B . -.br -This command inserts the given text before the addressed line. -`\fB.\fR' is left at the last line input, or, if there were none, -at the line before the addressed line. -This command differs from the -.I a -command only in the placement of the -text. -.TP 5 -.RB (\| .\| ,\ . +1)\|j -This command joins the addressed lines into a single line; -intermediate newlines simply disappear. -`\fB.\fR' is left at the resulting line. -.TP 5 -( \fB. \fR)\|k\fIx\fR -The mark command marks the addressed line with -name -.I x, -which must be a lower-case letter. -The address form `\(fm\fIx\fR' then addresses this line. -.ne 2.5 -.TP 5 -.RB (\| .\| ,\ .\| )\|l -The list command -prints the addressed lines in an unambiguous way: -non-graphic characters are -printed in two-digit octal, -and long lines are folded. -The -.I l -command may be placed on the same line after any non-i/o -command. -.TP 5 -.RB (\| .\| ,\ .\| )\|m\fIa -The move command repositions the addressed lines after the line -addressed by -.IR a . -The last of the moved lines becomes the current line. -.TP 5 -.RB (\| .\| ,\ .\| )\|p -The print command prints the addressed lines. -`\fB.\fR' -is left at the last line printed. -The -.I p -command -may -be placed on the same line after any non-i/o command. -.TP -.RB (\| .\| ,\ .\| )\|P -This command is a synonym for -.I p. -.TP 5 -q -The quit command causes -.I ed -to exit. -No automatic write -of a file is done. -.TP 5 -Q -This command is the same as -.I q, -except that no diagnostic results when no -.I w -has been given since the last buffer alteration. -.TP 5 -($)\|r filename -The read command -reads in the given file after the addressed line. -If no file name is given, -the remembered file name, if any, is used -(see -.I e -and -.I f -commands)\|. -The file name is remembered if there was no -remembered file name already. -Address `0' is legal for -.I r -and causes the -file to be read at the beginning of the buffer. -If the read is successful, the number of characters -read is typed. -`\fB.\fR' is left at the last line read in from the file. -.TP 5 -(\| \fB.\fR\|, \fB.\fR\|)\|s/regular expression/replacement/ or, -.br -.ns -.TP 5 -(\| \fB.\fR\|, \fB.\fR\|)\|s/regular expression/replacement/g -The substitute command searches each addressed -line for an occurrence of the specified regular expression. -On each line in which a match is found, -all matched strings are replaced by the replacement specified, -if the global replacement indicator `g' appears after the command. -If the global indicator does not appear, only the first occurrence -of the matched string is replaced. -It is an error for the substitution to fail on all addressed lines. -Any character other than space or new-line -may be used instead of `/' to delimit the regular expression -and the replacement. -`\fB.\fR' is left at the last line substituted. -.IP -An ampersand `&' appearing in the replacement -is replaced by the string matching the regular expression. -The special meaning of `&' in this context may be -suppressed by preceding it by `\e'. -The characters -.I `\|\en' -where -.I n -is a digit, -are replaced by the text matched by the -.IR n -th -regular subexpression -enclosed between `\e(' and `\e)'. -When -nested, parenthesized subexpressions -are present, -.I n -is determined by counting occurrences of `\e(' starting from the left. -.IP -Lines may be split by substituting new-line characters into them. -The new-line in the -replacement string -must be escaped by preceding it by `\e'. -.TP 5 -.RB (\| .\| ,\ .\| )\|t\|\fIa -This command acts just like the -.I m -command, except that a copy of the addressed lines is placed -after address -.I a -(which may be 0). -`\fB.\fR' is left on the last line of the copy. -.TP 5 -.RB (\| .\| ,\ .\| )\|u -The undo command restores the preceding contents -of the current line, which must be the last line -in which a substitution was made. -.TP 5 -(1, $)\|v/regular expression/command list -This command is the same as the global command -.I g -except that the command list is executed -.I g -with `\fB.\fR' initially set to every line -.I except -those -matching the regular expression. -.TP 5 -(1, $)\|w filename -.br -The write command writes the addressed lines onto -the given file. -If the file does not exist, -it is created mode 666 (readable and writable by everyone)\|. -The file name is remembered if there was no -remembered file name already. -If no file name is given, -the remembered file name, if any, is used -(see -.I e -and -.I f -commands)\|. -`\fB.\fR' is unchanged. -If the command is successful, the number of characters written is -printed. -.TP -(1,$)W filename -This command is the same as -.I w, -except that the addressed lines are appended to the file. -.TP 5 -x -A key string is demanded from the standard input. -Later -.I r, e -and -.I w -commands will encrypt and decrypt the text -with this key by the algorithm of -.IR crypt (1). -An explicitly empty key turns off encryption. -.TP 5 -($)\|= -The line number of the addressed line is typed. -`\fB.\fR' is unchanged by this command. -.TP 5 -! -The remainder of the line after the `!' is sent -to -.IR sh (1) -to be interpreted as a command. -.RB ` . ' -is unchanged. -.TP 5 -.RB (\| . +1)\| -An address alone on a line causes the addressed line to be printed. -A blank line alone is equivalent to `.+1p'; it is useful -for stepping through text. -.PP -If an interrupt signal (ASCII DEL)\| is sent, -.I ed -prints a `?' and returns to its command level. -.PP -Some size limitations: -512 characters per line, -256 characters per global command list, -64 characters per file name, -and 128K characters in the temporary file. -The limit on the number of lines depends on the amount of core: -each line takes 1 word. -.PP -When reading a file, -.I ed -discards ASCII NUL characters -and all characters after the last newline. -It refuses to read files containing non-ASCII characters. -.SH FILES -/tmp/e* -.br -ed.hup: work is saved here if terminal hangs up -.SH "SEE ALSO" -B. W. Kernighan, -.I -A Tutorial Introduction to the ED Text Editor -.br -B. W. Kernighan, -.I Advanced editing on UNIX -.br -sed(1), crypt(1) -.SH DIAGNOSTICS -`?name' for inaccessible file; -`?' for -errors in commands; -`?TMP' for temporary file overflow. -.PP -To protect against throwing away valuable work, -a -.I q -or -.I e -command is considered to be in error, unless a -.I w -has occurred since the last buffer change. -A second -.I q -or -.I e -will be obeyed regardless. -.SH BUGS -The -.I l -command mishandles DEL. -.br -A -.I ! -command cannot be subject to a -.I g -command. -.br -Because 0 is an illegal address for a -.I w -command, it is not possible to -create an empty file with -.I ed. +.TH ED 1 +.if t .ds q \(aa +.if n .ds q ' +.SH NAME +ed \- text editor +.SH SYNOPSIS +.B ed +[ +.B \- +] [ +.B \-x +] [ name ] +.SH DESCRIPTION +.I Ed +is the standard text editor. +.PP +If a +.I name +argument is given, +.I ed +simulates an +.I e +command (see below)\| on the named file; that is to say, +the file is read into +.I ed's +buffer so that it can be edited. +If +.B \-x +is present, an +.I x +command is simulated first to handle an encrypted file. +The optional +.B \- +suppresses the printing +of character counts by +.I e, +.I r, +and +.I w +commands. +.PP +.I Ed +operates on a copy of any file it is editing; changes made +in the copy have no effect on the file until a +.IR w "" +(write)\| +command is given. +The copy of the text being edited resides +in a temporary file called the +.IR buffer . +.PP +Commands to +.I ed +have a simple and regular structure: zero or +more +.I addresses +followed by a single character +.I command, +possibly +followed by parameters to the command. +These addresses specify one or more lines in the buffer. +Missing addresses are supplied by default. +.PP +In general, only one command may appear on a line. +Certain commands allow the +addition of text to the buffer. +While +.I ed +is accepting text, it is said +to be in +.I "input mode." +In this mode, no commands are recognized; +all input is merely collected. +Input mode is left by typing a period `\fB.\fR' alone at the +beginning of a line. +.PP +.I Ed +supports a limited form of +.I "regular expression" +notation. +A regular expression specifies +a set of strings of characters. +A member of this set of strings is said to be +.I matched +by the regular expression. +In the following specification for regular expressions +the word `character' means any character but newline. +.IP 1. +Any character except a special character +matches itself. +Special characters are +the regular expression delimiter plus +.RB \e\|[\| . +and sometimes ^\|*\|$. +.IP 2. +A +.B . +matches any character. +.IP 3. +A \e followed by any character except a digit or (\|) matches that character. +.IP 4. +A nonempty string +.I s +bracketed +.RI [ \|s\| ] +(or +.RI [^ s\| ]) +matches any character in (or not in) +.I s. +In +.I s, +\e has no special meaning, and ] may only appear as +the first letter. +A substring +.I a\-b, +with +.I a +and +.I b +in ascending ASCII order, stands for the inclusive +range of ASCII characters. +.IP 5. +A regular expression of form 1-4 followed by * matches a sequence of +0 or more matches of the regular expression. +.IP 6. +A regular expression, +.I x, +of form 1-8, bracketed +.RI \e( \|x\| \e) +matches what +.I x +matches. +.IP 7. +A \e followed by a digit +.I n +matches a copy of the string that the +bracketed regular expression beginning with the +.IR n th +\e( matched. +.IP 8. +A regular expression of form 1-8, +.I x, +followed by a regular expression of form 1-7, +.I y +matches a match for +.I x +followed by a match for +.I y, +with the +.I x +match being as long as possible while still permitting a +.I y +match. +.IP 9. +A regular expression of form 1-8 preceded by ^ +(or followed by $), is constrained to matches that +begin at the left (or end at the right) end of a line. +.IP 10. +A regular expression of form 1-9 picks out the +longest among the leftmost matches in a line. +.IP 11. +An empty regular expression stands for a copy of the +last regular expression encountered. +.PP +Regular expressions are used in addresses to specify +lines and in one command +(see +.I s +below)\| +to specify a portion of a line which is to be replaced. +If it is desired to use one of +the regular expression metacharacters as an ordinary +character, that character may be preceded by `\e'. +This also applies to the character bounding the regular +expression (often `/')\| and to `\e' itself. +.PP +To understand addressing in +.I ed +it is necessary to know that at any time there is a +.I "current line." +Generally speaking, the current line is +the last line affected by a command; however, +the exact effect on the current line +is discussed under the description of +the command. +Addresses are constructed as follows. +.TP +1. +The character `\fB.\fR' addresses the current line. +.TP +2. +The character `$' addresses the last line of the buffer. +.TP +3. +A decimal number +.I n +addresses the +.IR n -th +line of the buffer. +.TP +4. +`\(fm\fIx\fR' addresses the line marked with the name +.IR x , +which must be a lower-case letter. +Lines are marked with the +.I k +command described below. +.TP +5. +A regular expression enclosed in slashes `/' addresses +the line found by searching forward from the current line +and stopping at the first line containing a +string that matches the regular expression. +If necessary the search wraps around to the beginning of the +buffer. +.TP +6. +A regular expression enclosed in queries `?' addresses +the line found by searching backward from the current line +and stopping at the first line containing +a string that matches the regular expression. +If necessary +the search wraps around to the end of the buffer. +.TP +7. +An address followed by a plus sign `+' +or a minus sign `\-' followed by a decimal number specifies that address plus +(resp. minus)\| the indicated number of lines. +The plus sign may be omitted. +.TP +8. +If an address begins with `+' or `\-' +the addition or subtraction is taken with respect to the current line; +e.g. `\-5' is understood to mean `\fB.\fR\-5'. +.TP +9. +If an address ends with `+' or `\-', +then 1 is added (resp. subtracted). +As a consequence of this rule and rule 8, +the address `\-' refers to the line before the current line. +Moreover, +trailing +`+' and `\-' characters +have cumulative effect, so `\-\-' refers to the current +line less 2. +.TP +10. +To maintain compatibility with earlier versions of the editor, +the character `^' in addresses is +equivalent to `\-'. +.PP +Commands may require zero, one, or two addresses. +Commands which require no addresses regard the presence +of an address as an error. +Commands which accept one or two addresses +assume default addresses when insufficient are given. +If more addresses are given than such a command requires, +the last one or two (depending on what is accepted)\| are used. +.PP +Addresses are separated from each other typically by a comma +`\fB,\fR'. +They may also be separated by a semicolon +`\fB;\fR'. +In this case the current line `\fB.\fR' is set to +the previous address before the next address is interpreted. +This feature can be used to determine the starting +line for forward and backward searches (`/', `?')\|. +The second address of any two-address sequence +must correspond to a line following the line corresponding to the first address. +.PP +In the following list of +.I ed +commands, the default addresses +are shown in parentheses. +The parentheses are not part of +the address, but are used to show that the given addresses are +the default. +.PP +As mentioned, it is generally illegal for more than one +command to appear on a line. +However, most commands may be suffixed by `p' +or by `l', in which case +the current line is either +printed or listed respectively +in the way discussed below. +.TP 5 +.RB (\| .\| )\|a +.br +.ns +.TP 5 + +.br +.ns +.TP 5 +.B . +.br +The append command reads the given text +and appends it after the addressed line. +`\fB.\fR' is left +on the last line input, if there +were any, otherwise at the addressed line. +Address `0' is legal for this command; text is placed +at the beginning of the buffer. +.TP 5 +.RB (\| .\| ,\ .\| )\|c +.br +.ns +.TP 5 + +.br +.ns +.TP 5 +.B . +.br +The change +command deletes the addressed lines, then accepts input +text which replaces these lines. +`\fB.\fR' is left at the last line input; if there were none, +it is left at the line preceding the deleted lines. +.TP 5 +.RB (\| .\| ,\ .\| )\|d +The delete command deletes the addressed lines from the buffer. +The line originally after the last line deleted becomes the current line; +if the lines deleted were originally at the end, +the new last line becomes the current line. +.TP 5 +e filename +The edit +command causes the entire contents of the buffer to be deleted, +and then the named file to be read in. +`\fB.\fR' is set to the last line of the buffer. +The number of characters read is typed. +`filename' is remembered for possible use as a default file name +in a subsequent +.I r +or +.I w +command. +If `filename' is missing, the remembered name is used. +.TP 5 +E filename +This command is the same as +.I e, +except that no diagnostic results when no +.I w +has been given since the last buffer alteration. +.TP 5 +f filename +The filename command prints the currently remembered file name. +If `filename' is given, +the currently remembered file name is changed to `filename'. +.TP 5 +(1,$)\|g/regular expression/command list +In the global +command, the first step is to mark every line which matches +the given regular expression. +Then for every such line, the +given command list is executed with `\fB.\fR' initially set to that line. +A single command or the first of multiple commands +appears on the same line with the global command. +All lines of a multi-line list except the last line must be ended with `\e'. +.I A, +.I i, +and +.I c +commands and associated input are permitted; +the `\fB.\fR' terminating input mode may be omitted if it would be on the +last line of the command list. +The commands +.I g +and +.I v +are not permitted in the command list. +.TP 5 +.RB (\| .\| )\|i +.ns +.TP 5 + +.br +.ns +.TP 5 +.B . +.br +This command inserts the given text before the addressed line. +`\fB.\fR' is left at the last line input, or, if there were none, +at the line before the addressed line. +This command differs from the +.I a +command only in the placement of the +text. +.TP 5 +.RB (\| .\| ,\ . +1)\|j +This command joins the addressed lines into a single line; +intermediate newlines simply disappear. +`\fB.\fR' is left at the resulting line. +.TP 5 +( \fB. \fR)\|k\fIx\fR +The mark command marks the addressed line with +name +.I x, +which must be a lower-case letter. +The address form `\(fm\fIx\fR' then addresses this line. +.ne 2.5 +.TP 5 +.RB (\| .\| ,\ .\| )\|l +The list command +prints the addressed lines in an unambiguous way: +non-graphic characters are +printed in two-digit octal, +and long lines are folded. +The +.I l +command may be placed on the same line after any non-i/o +command. +.TP 5 +.RB (\| .\| ,\ .\| )\|m\fIa +The move command repositions the addressed lines after the line +addressed by +.IR a . +The last of the moved lines becomes the current line. +.TP 5 +.RB (\| .\| ,\ .\| )\|p +The print command prints the addressed lines. +`\fB.\fR' +is left at the last line printed. +The +.I p +command +may +be placed on the same line after any non-i/o command. +.TP +.RB (\| .\| ,\ .\| )\|P +This command is a synonym for +.I p. +.TP 5 +q +The quit command causes +.I ed +to exit. +No automatic write +of a file is done. +.TP 5 +Q +This command is the same as +.I q, +except that no diagnostic results when no +.I w +has been given since the last buffer alteration. +.TP 5 +($)\|r filename +The read command +reads in the given file after the addressed line. +If no file name is given, +the remembered file name, if any, is used +(see +.I e +and +.I f +commands)\|. +The file name is remembered if there was no +remembered file name already. +Address `0' is legal for +.I r +and causes the +file to be read at the beginning of the buffer. +If the read is successful, the number of characters +read is typed. +`\fB.\fR' is left at the last line read in from the file. +.TP 5 +(\| \fB.\fR\|, \fB.\fR\|)\|s/regular expression/replacement/ or, +.br +.ns +.TP 5 +(\| \fB.\fR\|, \fB.\fR\|)\|s/regular expression/replacement/g +The substitute command searches each addressed +line for an occurrence of the specified regular expression. +On each line in which a match is found, +all matched strings are replaced by the replacement specified, +if the global replacement indicator `g' appears after the command. +If the global indicator does not appear, only the first occurrence +of the matched string is replaced. +It is an error for the substitution to fail on all addressed lines. +Any character other than space or new-line +may be used instead of `/' to delimit the regular expression +and the replacement. +`\fB.\fR' is left at the last line substituted. +.IP +An ampersand `&' appearing in the replacement +is replaced by the string matching the regular expression. +The special meaning of `&' in this context may be +suppressed by preceding it by `\e'. +The characters +.I `\|\en' +where +.I n +is a digit, +are replaced by the text matched by the +.IR n -th +regular subexpression +enclosed between `\e(' and `\e)'. +When +nested, parenthesized subexpressions +are present, +.I n +is determined by counting occurrences of `\e(' starting from the left. +.IP +Lines may be split by substituting new-line characters into them. +The new-line in the +replacement string +must be escaped by preceding it by `\e'. +.TP 5 +.RB (\| .\| ,\ .\| )\|t\|\fIa +This command acts just like the +.I m +command, except that a copy of the addressed lines is placed +after address +.I a +(which may be 0). +`\fB.\fR' is left on the last line of the copy. +.TP 5 +.RB (\| .\| ,\ .\| )\|u +The undo command restores the preceding contents +of the current line, which must be the last line +in which a substitution was made. +.TP 5 +(1, $)\|v/regular expression/command list +This command is the same as the global command +.I g +except that the command list is executed +.I g +with `\fB.\fR' initially set to every line +.I except +those +matching the regular expression. +.TP 5 +(1, $)\|w filename +.br +The write command writes the addressed lines onto +the given file. +If the file does not exist, +it is created mode 666 (readable and writable by everyone)\|. +The file name is remembered if there was no +remembered file name already. +If no file name is given, +the remembered file name, if any, is used +(see +.I e +and +.I f +commands)\|. +`\fB.\fR' is unchanged. +If the command is successful, the number of characters written is +printed. +.TP +(1,$)W filename +This command is the same as +.I w, +except that the addressed lines are appended to the file. +.TP 5 +x +A key string is demanded from the standard input. +Later +.I r, e +and +.I w +commands will encrypt and decrypt the text +with this key by the algorithm of +.IR crypt (1). +An explicitly empty key turns off encryption. +.TP 5 +($)\|= +The line number of the addressed line is typed. +`\fB.\fR' is unchanged by this command. +.TP 5 +! +The remainder of the line after the `!' is sent +to +.IR sh (1) +to be interpreted as a command. +.RB ` . ' +is unchanged. +.TP 5 +.RB (\| . +1)\| +An address alone on a line causes the addressed line to be printed. +A blank line alone is equivalent to `.+1p'; it is useful +for stepping through text. +.PP +If an interrupt signal (ASCII DEL)\| is sent, +.I ed +prints a `?' and returns to its command level. +.PP +Some size limitations: +512 characters per line, +256 characters per global command list, +64 characters per file name, +and 128K characters in the temporary file. +The limit on the number of lines depends on the amount of core: +each line takes 1 word. +.PP +When reading a file, +.I ed +discards ASCII NUL characters +and all characters after the last newline. +It refuses to read files containing non-ASCII characters. +.SH FILES +/tmp/e* +.br +ed.hup: work is saved here if terminal hangs up +.SH "SEE ALSO" +B. W. Kernighan, +.I +A Tutorial Introduction to the ED Text Editor +.br +B. W. Kernighan, +.I Advanced editing on UNIX +.br +sed(1), crypt(1) +.SH DIAGNOSTICS +`?name' for inaccessible file; +`?' for +errors in commands; +`?TMP' for temporary file overflow. +.PP +To protect against throwing away valuable work, +a +.I q +or +.I e +command is considered to be in error, unless a +.I w +has occurred since the last buffer change. +A second +.I q +or +.I e +will be obeyed regardless. +.SH BUGS +The +.I l +command mishandles DEL. +.br +A +.I ! +command cannot be subject to a +.I g +command. +.br +Because 0 is an illegal address for a +.I w +command, it is not possible to +create an empty file with +.I ed. diff --git a/bin/man/man1/expr.1 b/bin/man/man1/expr.1 index dd63e6ac..39d9ea68 100644 --- a/bin/man/man1/expr.1 +++ b/bin/man/man1/expr.1 @@ -1,96 +1,96 @@ -.TH EXPR 1 -.SH NAME -expr \- evaluate arguments as an expression -.SH SYNOPSIS -.B expr -arg -.B .\|.\|. -.SH DESCRIPTION -The arguments are taken as an expression. -After evaluation, the result is written on the standard output. -Each token of the expression is a separate argument. -.PP -The operators and keywords are listed below. -The list is in order of increasing precedence, -with equal precedence operators grouped. -.TP -.I expr | expr -yields the first -.I expr -if it is neither null nor `0', otherwise -yields the second -.I expr. -.TP -.I expr & expr -yields the first -.I expr -if neither -.I expr -is null or `0', otherwise yields `0'. -.TP -.I expr relop expr -where -.I relop is one of -< <= = != >= >, -yields `1' if the indicated comparison is true, `0' if false. -The comparison is numeric if both -.I expr -are integers, otherwise lexicographic. -.TP -.IR expr " + " expr -.br -.IR expr " - " expr -.br -addition or subtraction of the arguments. -.TP -.IR expr " * " expr -.br -.IR expr " / " expr -.br -.IR expr " % " expr -.br -multiplication, division, or remainder of the arguments. -.TP -.IR expr " : " expr -The matching operator compares the string first argument -with the regular expression second argument; -regular expression syntax is the same as that of -.IR ed (1). -The -\fB\\(\|.\|.\|.\|\\)\fP -pattern symbols can be used to select a portion of the -first argument. -Otherwise, -the matching operator yields the number of characters matched -(`0' on failure). -.TP -.RI ( " expr " ) -parentheses for grouping. -.PP -Examples: -.PP -To add 1 to the Shell variable -.IR a : -.IP -a=\`expr $a + 1\` -.PP -To find the filename part (least significant part) -of the pathname stored in variable -.I a, -which may or may not contain `/': -.IP -expr $a : \'.*/\e(\^.*\e)\' \'\^|\' $a -.LP -Note the quoted Shell metacharacters. -.SH "SEE ALSO" -ed(1), sh(1), test(1) -.SH DIAGNOSTICS -.I Expr -returns the following exit codes: -.PP - 0 if the expression is neither null nor `0', -.br - 1 if the expression -is null or `0', -.br - 2 for invalid expressions. +.TH EXPR 1 +.SH NAME +expr \- evaluate arguments as an expression +.SH SYNOPSIS +.B expr +arg +.B .\|.\|. +.SH DESCRIPTION +The arguments are taken as an expression. +After evaluation, the result is written on the standard output. +Each token of the expression is a separate argument. +.PP +The operators and keywords are listed below. +The list is in order of increasing precedence, +with equal precedence operators grouped. +.TP +.I expr | expr +yields the first +.I expr +if it is neither null nor `0', otherwise +yields the second +.I expr. +.TP +.I expr & expr +yields the first +.I expr +if neither +.I expr +is null or `0', otherwise yields `0'. +.TP +.I expr relop expr +where +.I relop is one of +< <= = != >= >, +yields `1' if the indicated comparison is true, `0' if false. +The comparison is numeric if both +.I expr +are integers, otherwise lexicographic. +.TP +.IR expr " + " expr +.br +.IR expr " - " expr +.br +addition or subtraction of the arguments. +.TP +.IR expr " * " expr +.br +.IR expr " / " expr +.br +.IR expr " % " expr +.br +multiplication, division, or remainder of the arguments. +.TP +.IR expr " : " expr +The matching operator compares the string first argument +with the regular expression second argument; +regular expression syntax is the same as that of +.IR ed (1). +The +\fB\\(\|.\|.\|.\|\\)\fP +pattern symbols can be used to select a portion of the +first argument. +Otherwise, +the matching operator yields the number of characters matched +(`0' on failure). +.TP +.RI ( " expr " ) +parentheses for grouping. +.PP +Examples: +.PP +To add 1 to the Shell variable +.IR a : +.IP +a=\`expr $a + 1\` +.PP +To find the filename part (least significant part) +of the pathname stored in variable +.I a, +which may or may not contain `/': +.IP +expr $a : \'.*/\e(\^.*\e)\' \'\^|\' $a +.LP +Note the quoted Shell metacharacters. +.SH "SEE ALSO" +ed(1), sh(1), test(1) +.SH DIAGNOSTICS +.I Expr +returns the following exit codes: +.PP + 0 if the expression is neither null nor `0', +.br + 1 if the expression +is null or `0', +.br + 2 for invalid expressions. diff --git a/bin/man/man1/file.1 b/bin/man/man1/file.1 index 7c7786c4..6c34e667 100644 --- a/bin/man/man1/file.1 +++ b/bin/man/man1/file.1 @@ -1,18 +1,18 @@ -.TH FILE 1 -.SH NAME -file \- determine file type -.SH SYNOPSIS -.B file -file ... -.SH DESCRIPTION -.I File -performs a series of tests on each argument -in an attempt to classify it. -If an argument appears to be ascii, -.I file -examines the first 512 bytes -and tries to guess its language. -.SH BUGS -It often makes mistakes. -In particular it often suggests that -command files are C programs. +.TH FILE 1 +.SH NAME +file \- determine file type +.SH SYNOPSIS +.B file +file ... +.SH DESCRIPTION +.I File +performs a series of tests on each argument +in an attempt to classify it. +If an argument appears to be ascii, +.I file +examines the first 512 bytes +and tries to guess its language. +.SH BUGS +It often makes mistakes. +In particular it often suggests that +command files are C programs. diff --git a/bin/man/man1/find.1 b/bin/man/man1/find.1 index bad926d8..0ba36223 100644 --- a/bin/man/man1/find.1 +++ b/bin/man/man1/find.1 @@ -1,169 +1,169 @@ -.TH FIND 1 -.SH NAME -find \- find files -.SH SYNOPSIS -.B find -pathname-list expression -.SH DESCRIPTION -.I Find -recursively descends -the directory hierarchy for -each pathname in the -.I pathname-list -(i.e., one or more pathnames) -seeking files that match a boolean -.I expression -written in the primaries given below. -In the descriptions, the argument -.I n -is used as a decimal integer -where -.I +n -means more than -.I n, -.I \-n -means less than -.I n -and -.I n -means exactly -.IR n . -.TP 10n -.BR \-name " filename" -True if the -.I filename -argument matches the current file name. -Normal -Shell -argument syntax may be used if escaped (watch out for -`[', `?' and `*'). -.TP -.BR \-perm " onum" -True if the file permission flags -exactly -match the -octal number -.I onum -(see -.IR chmod (1)). -If -.I onum -is prefixed by a minus sign, -more flag bits (017777, see -.IR stat (2)) -become significant and -the flags are compared: -.IR (flags&onum)==onum . -.TP -.BR \-type " c" -True if the type of the file -is -.I c, -where -.I c -is -.B "b, c, d" -or -.B f -for -block special file, character special file, -directory or plain file. -.TP -.BR \-links " n" -True if the file has -.I n -links. -.TP -.BR \-user " uname" -True if the file belongs to the user -.I uname -(login name or numeric user ID). -.TP -.BR \-group " gname" -True if the file belongs to group -.I gname -(group name or numeric group ID). -.TP -.BR \-size " n" -True if the file is -.I n -blocks long (512 bytes per block). -.TP -.BR \-inum " n" -True if the file has inode number -.I n. -.TP -.BR \-atime " n" -True if the file has been accessed in -.I n -days. -.TP -.BR \-mtime " n" -True if the file has been modified in -.I n -days. -.TP -.BR \-exec " command" -True if the executed command returns -a zero value as exit status. -The end of the command must be punctuated by an escaped -semicolon. -A command argument `{}' is replaced by the -current pathname. -.TP -.BR \-ok " command" -Like -.B \-exec -except that the generated command is written on -the standard output, then the standard input is read -and the command executed only upon response -.BR y . -.TP -.B \-print -Always true; -causes the current pathname to be printed. -.TP -.BR \-newer " file" -True if -the current file has been modified more recently than the argument -.I file. -.PP -The primaries may be combined using the following operators -(in order of decreasing precedence): -.TP 4 -1) -A parenthesized group of primaries and operators -(parentheses are special to the Shell and must be escaped). -.TP 4 -2) -The negation of a primary -(`!' is the unary -.I not -operator). -.TP 4 -3) -Concatenation of primaries -(the -.I and -operation -is implied by the juxtaposition of two primaries). -.TP 4 -4) -Alternation of primaries -.RB "(`" \-o "' is the" -.I or -operator). -.SH EXAMPLE -To remove all files named -`a.out' or `*.o' that have not been accessed for a week: -.IP "" .2i -find / \\( \-name a.out \-o \-name '*.o' \\) -\-atime +7 \-exec rm {} \\; -.SH FILES -/etc/passwd -.br -/etc/group -.SH "SEE ALSO" -sh(1), test(1), filsys(5) -.SH BUGS -The syntax is painful. +.TH FIND 1 +.SH NAME +find \- find files +.SH SYNOPSIS +.B find +pathname-list expression +.SH DESCRIPTION +.I Find +recursively descends +the directory hierarchy for +each pathname in the +.I pathname-list +(i.e., one or more pathnames) +seeking files that match a boolean +.I expression +written in the primaries given below. +In the descriptions, the argument +.I n +is used as a decimal integer +where +.I +n +means more than +.I n, +.I \-n +means less than +.I n +and +.I n +means exactly +.IR n . +.TP 10n +.BR \-name " filename" +True if the +.I filename +argument matches the current file name. +Normal +Shell +argument syntax may be used if escaped (watch out for +`[', `?' and `*'). +.TP +.BR \-perm " onum" +True if the file permission flags +exactly +match the +octal number +.I onum +(see +.IR chmod (1)). +If +.I onum +is prefixed by a minus sign, +more flag bits (017777, see +.IR stat (2)) +become significant and +the flags are compared: +.IR (flags&onum)==onum . +.TP +.BR \-type " c" +True if the type of the file +is +.I c, +where +.I c +is +.B "b, c, d" +or +.B f +for +block special file, character special file, +directory or plain file. +.TP +.BR \-links " n" +True if the file has +.I n +links. +.TP +.BR \-user " uname" +True if the file belongs to the user +.I uname +(login name or numeric user ID). +.TP +.BR \-group " gname" +True if the file belongs to group +.I gname +(group name or numeric group ID). +.TP +.BR \-size " n" +True if the file is +.I n +blocks long (512 bytes per block). +.TP +.BR \-inum " n" +True if the file has inode number +.I n. +.TP +.BR \-atime " n" +True if the file has been accessed in +.I n +days. +.TP +.BR \-mtime " n" +True if the file has been modified in +.I n +days. +.TP +.BR \-exec " command" +True if the executed command returns +a zero value as exit status. +The end of the command must be punctuated by an escaped +semicolon. +A command argument `{}' is replaced by the +current pathname. +.TP +.BR \-ok " command" +Like +.B \-exec +except that the generated command is written on +the standard output, then the standard input is read +and the command executed only upon response +.BR y . +.TP +.B \-print +Always true; +causes the current pathname to be printed. +.TP +.BR \-newer " file" +True if +the current file has been modified more recently than the argument +.I file. +.PP +The primaries may be combined using the following operators +(in order of decreasing precedence): +.TP 4 +1) +A parenthesized group of primaries and operators +(parentheses are special to the Shell and must be escaped). +.TP 4 +2) +The negation of a primary +(`!' is the unary +.I not +operator). +.TP 4 +3) +Concatenation of primaries +(the +.I and +operation +is implied by the juxtaposition of two primaries). +.TP 4 +4) +Alternation of primaries +.RB "(`" \-o "' is the" +.I or +operator). +.SH EXAMPLE +To remove all files named +`a.out' or `*.o' that have not been accessed for a week: +.IP "" .2i +find / \\( \-name a.out \-o \-name '*.o' \\) +\-atime +7 \-exec rm {} \\; +.SH FILES +/etc/passwd +.br +/etc/group +.SH "SEE ALSO" +sh(1), test(1), filsys(5) +.SH BUGS +The syntax is painful. diff --git a/bin/man/man1/grep.1 b/bin/man/man1/grep.1 index 18780de0..a50403ec 100644 --- a/bin/man/man1/grep.1 +++ b/bin/man/man1/grep.1 @@ -1,176 +1,176 @@ -.TH GREP 1 -.SH NAME -grep, egrep, fgrep \- search a file for a pattern -.SH SYNOPSIS -.B grep -[ option ] ... -expression [ file ] ... -.LP -.B egrep -[ option ] ... -[ expression ] -[ file ] ... -.PP -.B fgrep -[ option ] ... -[ strings ] -[ file ] -.SH DESCRIPTION -Commands of the -.I grep -family search the input -.I files -(standard input default) -for lines matching -a pattern. -Normally, each line found -is copied to the standard output; -unless the -.B \-h -flag is used, -the file name is shown if there is more than one input file. -.PP -.I Grep -patterns are limited regular expressions in the style of -.IR ed (1); -it uses a compact nondeterministic algorithm. -.I Egrep -patterns are full regular expressions; -it uses a fast deterministic algorithm that -sometimes needs exponential space. -.I Fgrep -patterns are fixed strings; it is fast and compact. -.PP -The following options are recognized. -.TP -.B \-v -All lines but those matching -are printed. -.TP -.B \-c -Only a count of matching lines is printed. -.TP -.B \-l -The names of files with matching lines are listed (once) -separated by newlines. -.TP -.B \-n -Each line is preceded by -its line number in the file. -.TP -.B \-b -Each line is preceded by the block number -on which it was found. -This is sometimes useful in locating -disk block numbers by context. -.TP -.B \-s -No output is produced, only status. -.TP -.B \-h -Do not print filename headers with output lines. -.TP -.B \-y -Lower case letters in the pattern will also match -upper case letters in the input -.RI ( grep -only). -.TP -.BI \-e " expression" -Same as a simple -.I expression -argument, -but useful when the -.I expression -begins with a \-. -.TP -.BI \-f " file" -The regular expression -.RI ( egrep ) -or string list -.RI ( fgrep ) -is taken from the -.I file. -.TP -.B \-x -(Exact) only lines matched in their entirety are printed -.RI ( fgrep -only). -.PP -Care should be taken when -using the characters -$ * [ ^ | ? \' " ( ) and \e in the -.I expression -as they are -also meaningful to the Shell. -It is safest to enclose the -entire -.I expression -argument in single quotes \' \'. -.PP -.I Fgrep -searches for lines that contain one of the (newline-separated) -.I strings. -.PP -.I Egrep -accepts extended regular expressions. -In the following description `character' excludes -newline: -.IP -A \e followed by a single character -matches that character. -.IP -The character ^ -($) matches the beginning (end) of a line. -.IP -A -.B . -matches any character. -.IP -A single character not otherwise endowed with special -meaning matches that character. -.IP -A string enclosed in brackets [\|] -matches any single character from the string. -Ranges of ASCII character codes may be abbreviated -as in `a\-z0\-9'. -A ] -may occur only as the first character of the string. -A literal \- must be placed where it can't be -mistaken as a range indicator. -.IP -A regular expression followed by * (+, ?) matches a sequence -of 0 or more (1 or more, 0 or 1) -matches of the regular expression. -.IP -Two regular expressions concatenated -match a match of the first followed by a match of -the second. -.IP -Two regular expressions separated by | or newline -match either a match for the first or a match for the -second. -.IP -A regular expression enclosed in parentheses -matches a match for the regular expression. -.LP -The order of precedence of operators -at the same parenthesis level -is [\|] then -*+? then concatenation then | and newline. -.SH "SEE ALSO" -ed(1), -sed(1), -sh(1) -.SH DIAGNOSTICS -Exit status is 0 if any matches are found, -1 if none, 2 for syntax errors or inaccessible files. -.SH BUGS -Ideally there should be only one -.I grep, -but we don't know a single algorithm that spans a wide enough -range of space-time tradeoffs. -.PP -Lines -are limited to 256 characters; -longer lines are truncated. +.TH GREP 1 +.SH NAME +grep, egrep, fgrep \- search a file for a pattern +.SH SYNOPSIS +.B grep +[ option ] ... +expression [ file ] ... +.LP +.B egrep +[ option ] ... +[ expression ] +[ file ] ... +.PP +.B fgrep +[ option ] ... +[ strings ] +[ file ] +.SH DESCRIPTION +Commands of the +.I grep +family search the input +.I files +(standard input default) +for lines matching +a pattern. +Normally, each line found +is copied to the standard output; +unless the +.B \-h +flag is used, +the file name is shown if there is more than one input file. +.PP +.I Grep +patterns are limited regular expressions in the style of +.IR ed (1); +it uses a compact nondeterministic algorithm. +.I Egrep +patterns are full regular expressions; +it uses a fast deterministic algorithm that +sometimes needs exponential space. +.I Fgrep +patterns are fixed strings; it is fast and compact. +.PP +The following options are recognized. +.TP +.B \-v +All lines but those matching +are printed. +.TP +.B \-c +Only a count of matching lines is printed. +.TP +.B \-l +The names of files with matching lines are listed (once) +separated by newlines. +.TP +.B \-n +Each line is preceded by +its line number in the file. +.TP +.B \-b +Each line is preceded by the block number +on which it was found. +This is sometimes useful in locating +disk block numbers by context. +.TP +.B \-s +No output is produced, only status. +.TP +.B \-h +Do not print filename headers with output lines. +.TP +.B \-y +Lower case letters in the pattern will also match +upper case letters in the input +.RI ( grep +only). +.TP +.BI \-e " expression" +Same as a simple +.I expression +argument, +but useful when the +.I expression +begins with a \-. +.TP +.BI \-f " file" +The regular expression +.RI ( egrep ) +or string list +.RI ( fgrep ) +is taken from the +.I file. +.TP +.B \-x +(Exact) only lines matched in their entirety are printed +.RI ( fgrep +only). +.PP +Care should be taken when +using the characters +$ * [ ^ | ? \' " ( ) and \e in the +.I expression +as they are +also meaningful to the Shell. +It is safest to enclose the +entire +.I expression +argument in single quotes \' \'. +.PP +.I Fgrep +searches for lines that contain one of the (newline-separated) +.I strings. +.PP +.I Egrep +accepts extended regular expressions. +In the following description `character' excludes +newline: +.IP +A \e followed by a single character +matches that character. +.IP +The character ^ +($) matches the beginning (end) of a line. +.IP +A +.B . +matches any character. +.IP +A single character not otherwise endowed with special +meaning matches that character. +.IP +A string enclosed in brackets [\|] +matches any single character from the string. +Ranges of ASCII character codes may be abbreviated +as in `a\-z0\-9'. +A ] +may occur only as the first character of the string. +A literal \- must be placed where it can't be +mistaken as a range indicator. +.IP +A regular expression followed by * (+, ?) matches a sequence +of 0 or more (1 or more, 0 or 1) +matches of the regular expression. +.IP +Two regular expressions concatenated +match a match of the first followed by a match of +the second. +.IP +Two regular expressions separated by | or newline +match either a match for the first or a match for the +second. +.IP +A regular expression enclosed in parentheses +matches a match for the regular expression. +.LP +The order of precedence of operators +at the same parenthesis level +is [\|] then +*+? then concatenation then | and newline. +.SH "SEE ALSO" +ed(1), +sed(1), +sh(1) +.SH DIAGNOSTICS +Exit status is 0 if any matches are found, +1 if none, 2 for syntax errors or inaccessible files. +.SH BUGS +Ideally there should be only one +.I grep, +but we don't know a single algorithm that spans a wide enough +range of space-time tradeoffs. +.PP +Lines +are limited to 256 characters; +longer lines are truncated. diff --git a/bin/man/man1/kill.1 b/bin/man/man1/kill.1 index 9eef9b14..4d6210d3 100644 --- a/bin/man/man1/kill.1 +++ b/bin/man/man1/kill.1 @@ -1,38 +1,38 @@ -.TH KILL 1 -.SH NAME -kill \- terminate a process with extreme prejudice -.SH SYNOPSIS -.B kill -[ -.BR \- signo -] -processid ... -.SH DESCRIPTION -.I Kill -sends signal 15 (terminate) to the specified processes. -If a signal number preceded by `\-' is given -as first argument, that signal is sent instead of -terminate -(see -.IR signal (2)). -This will kill processes that do not catch the signal; -in particular `kill \-9 ...' is a sure kill. -.PP -By convention, if process number 0 is specified, all members -in the process group (i.e. processes resulting from -the current login) are signaled. -.PP -The killed processes must belong -to the current user unless -he is the super-user. -To shut the system down and bring it up single user -the super-user may -use `kill \-1 1'; see -.IR init (8). -.PP -The process number of an asynchronous process -started with `&' is reported by the shell. -Process numbers can also be found by using -.IR ps (1). -.SH "SEE ALSO" -ps(1), kill(2), signal(2) +.TH KILL 1 +.SH NAME +kill \- terminate a process with extreme prejudice +.SH SYNOPSIS +.B kill +[ +.BR \- signo +] +processid ... +.SH DESCRIPTION +.I Kill +sends signal 15 (terminate) to the specified processes. +If a signal number preceded by `\-' is given +as first argument, that signal is sent instead of +terminate +(see +.IR signal (2)). +This will kill processes that do not catch the signal; +in particular `kill \-9 ...' is a sure kill. +.PP +By convention, if process number 0 is specified, all members +in the process group (i.e. processes resulting from +the current login) are signaled. +.PP +The killed processes must belong +to the current user unless +he is the super-user. +To shut the system down and bring it up single user +the super-user may +use `kill \-1 1'; see +.IR init (8). +.PP +The process number of an asynchronous process +started with `&' is reported by the shell. +Process numbers can also be found by using +.IR ps (1). +.SH "SEE ALSO" +ps(1), kill(2), signal(2) diff --git a/bin/man/man1/ln.1 b/bin/man/man1/ln.1 index 4cf4c1a5..efdc7953 100644 --- a/bin/man/man1/ln.1 +++ b/bin/man/man1/ln.1 @@ -1,33 +1,33 @@ -.TH LN 1 -.SH NAME -ln \- make a link -.SH SYNOPSIS -.B ln -name1 [ name2 ] -.SH DESCRIPTION -A link is a directory entry referring -to a file; the same file (together with -its size, all its protection -information, etc.) -may have several links to it. -There is no way to distinguish a link to a file -from its original directory entry; -any changes in the -file are effective -independently of the name by which the file is known. -.PP -.I Ln -creates a link to an existing file -.IR name1 . -If -.I name2 -is given, the link has that name; -otherwise it is placed in the current directory -and its name is the last component -of -.IR name1 . -.PP -It is forbidden to link to a directory -or to link across file systems. -.SH "SEE ALSO" -rm(1) +.TH LN 1 +.SH NAME +ln \- make a link +.SH SYNOPSIS +.B ln +name1 [ name2 ] +.SH DESCRIPTION +A link is a directory entry referring +to a file; the same file (together with +its size, all its protection +information, etc.) +may have several links to it. +There is no way to distinguish a link to a file +from its original directory entry; +any changes in the +file are effective +independently of the name by which the file is known. +.PP +.I Ln +creates a link to an existing file +.IR name1 . +If +.I name2 +is given, the link has that name; +otherwise it is placed in the current directory +and its name is the last component +of +.IR name1 . +.PP +It is forbidden to link to a directory +or to link across file systems. +.SH "SEE ALSO" +rm(1) diff --git a/bin/man/man1/login.1 b/bin/man/man1/login.1 index a1d8dd9b..6ab19c39 100644 --- a/bin/man/man1/login.1 +++ b/bin/man/man1/login.1 @@ -1,61 +1,61 @@ -.TH LOGIN 1 -.SH NAME -login \- sign on -.SH SYNOPSIS -.B login -[ username ] -.SH DESCRIPTION -The -.I login -command -is used when a user initially -signs on, or it may be used at any time to change -from one user to another. -The latter case is the one summarized above and -described here. -See `How to Get Started' for how to dial up initially. -.PP -If -.I login -is invoked without an argument, -it asks for a user name, and, if -appropriate, a password. -Echoing is turned off (if possible) during the typing of the password, -so it will not appear on the written record of the -session. -.PP -After a successful login, -accounting files are updated and -the user is informed of the -existence of -.I .mail -and message-of-the-day files. -.I Login -initializes the user and group IDs and the working directory, -then executes a command interpreter (usually -.IR sh (1)) -according to specifications found in a password file. -Argument 0 of the command interpreter is `\-sh. -.PP -Login is recognized by -.IR sh (1) -and executed directly (without forking). -.SH FILES -.ta \w'/usr/adm/wtmp\ \ 'u -/etc/utmp accounting -.br -/usr/adm/wtmp accounting -.br -/usr/mail/* mail -.br -/etc/motd message-of-the-day -.br -/etc/passwd password file -.SH "SEE ALSO" -init(8), newgrp(1), getty(8), mail(1), passwd(1), passwd(5) -.SH DIAGNOSTICS -`Login incorrect,' -if the name or the password is bad. -.br -`No Shell', `cannot open password file', `no directory': -consult a programming counselor. +.TH LOGIN 1 +.SH NAME +login \- sign on +.SH SYNOPSIS +.B login +[ username ] +.SH DESCRIPTION +The +.I login +command +is used when a user initially +signs on, or it may be used at any time to change +from one user to another. +The latter case is the one summarized above and +described here. +See `How to Get Started' for how to dial up initially. +.PP +If +.I login +is invoked without an argument, +it asks for a user name, and, if +appropriate, a password. +Echoing is turned off (if possible) during the typing of the password, +so it will not appear on the written record of the +session. +.PP +After a successful login, +accounting files are updated and +the user is informed of the +existence of +.I .mail +and message-of-the-day files. +.I Login +initializes the user and group IDs and the working directory, +then executes a command interpreter (usually +.IR sh (1)) +according to specifications found in a password file. +Argument 0 of the command interpreter is `\-sh. +.PP +Login is recognized by +.IR sh (1) +and executed directly (without forking). +.SH FILES +.ta \w'/usr/adm/wtmp\ \ 'u +/etc/utmp accounting +.br +/usr/adm/wtmp accounting +.br +/usr/mail/* mail +.br +/etc/motd message-of-the-day +.br +/etc/passwd password file +.SH "SEE ALSO" +init(8), newgrp(1), getty(8), mail(1), passwd(1), passwd(5) +.SH DIAGNOSTICS +`Login incorrect,' +if the name or the password is bad. +.br +`No Shell', `cannot open password file', `no directory': +consult a programming counselor. diff --git a/bin/man/man1/ls.1 b/bin/man/man1/ls.1 index 8dfe64e3..14b9aae7 100644 --- a/bin/man/man1/ls.1 +++ b/bin/man/man1/ls.1 @@ -1,172 +1,172 @@ -.TH LS 1 -.SH NAME -ls \- list contents of directory -.SH SYNOPSIS -.B ls -[ -.B \-ltasdrucifg -] name ... -.SH DESCRIPTION -For each directory argument, -.I ls -lists the contents of the directory; -for each file argument, -.I ls -repeats its name and any other information requested. -The output is sorted alphabetically by default. -When no argument is given, the current directory is listed. -When several arguments are given, -the arguments are first sorted appropriately, -but file arguments appear -before directories and their contents. -There are several options: -.TP -.B \-l -List in long format, giving mode, number of links, owner, -size in bytes, and time of last modification -for each file. -(See below.) -If the file is a special file the size field will instead contain -the major and minor device numbers. -.TP -.B \-t -Sort by time modified (latest first) instead of -by name, as is normal. -.TP -.B \-a -List all entries; usually -.RB ` . ' -and -.RB ` .. ' -are suppressed. -.TP -.B \-s -Give size in blocks, -including indirect blocks, for each entry. -.TP -.B \-d -If argument is a directory, list only its name, not -its contents (mostly used with -.B \-l -to get status -on directory). -.TP -.B \-r -Reverse the order of sort to get reverse alphabetic -or oldest first as appropriate. -.TP -.B \-u -Use time of last access instead of last -modification for sorting -.RB ( \-t ) -or printing -.RB ( \-l ). -.TP -.B \-c -Use time of last modification to inode (mode, etc.) -instead of last modification to file for sorting -.RB ( \-t ) -or printing -.RB ( \-l ). -.TP -.B \-i -Print i-number in first column -of the report for each file listed. -.TP -.B \-f -Force each argument to be interpreted as a directory -and list the name found in each slot. -This option turns off -.B "\-l, \-t, \-s," -and -.B \-r, -and -turns on -.B \-a; -the order is the order in which entries -appear in the directory. -.TP -.B \-g -Give group ID instead of owner ID in long listing. -.PP -The mode printed under the -.B \-l -option contains 11 characters -which are interpreted -as follows: -the first character is -.TP 3 -.B d -if the entry is a directory; -.br -.ns -.TP 3 -.B b -if the entry is a block-type special file; -.br -.ns -.TP 3 -.B c -if the entry is a character-type special file; -.br -.ns -.TP 3 -.B \- -if the entry is a plain file. -.PP -The next 9 characters are interpreted -as three sets of three bits each. -The first set refers to owner permissions; -the next to permissions to others in the same user-group; -and the last to all others. -Within each set the three characters indicate -permission respectively to read, to write, or to -execute the file as a program. -For a directory, `execute' permission is interpreted -to mean permission to search the directory -for a specified file. -The permissions are indicated as follows: -.TP 3 -.B r -if the file is readable; -.br -.ns -.TP 3 -.B w -if the file is writable; -.br -.ns -.TP 3 -.B x -if the file is executable; -.br -.ns -.TP 3 -.B \- -if the indicated permission is not granted. -.PP -The group-execute permission character is given -as -.B s -if the file has set-group-ID mode; -likewise the user-execute permission character is given -as -.B s -if the file has set-user-ID mode. -.PP -The last character of the mode (normally `x' or `\-') is -.B t -if the 1000 bit of the mode is on. -See -.IR chmod (1) -for the meaning of this mode. -.PP -When the sizes of the files in a directory -are listed, a total count of blocks, -including indirect blocks is printed. -.SH FILES -/etc/passwd to get user ID's for -`ls \-l'. -.br -/etc/group to get group ID's for -`ls \-g'. +.TH LS 1 +.SH NAME +ls \- list contents of directory +.SH SYNOPSIS +.B ls +[ +.B \-ltasdrucifg +] name ... +.SH DESCRIPTION +For each directory argument, +.I ls +lists the contents of the directory; +for each file argument, +.I ls +repeats its name and any other information requested. +The output is sorted alphabetically by default. +When no argument is given, the current directory is listed. +When several arguments are given, +the arguments are first sorted appropriately, +but file arguments appear +before directories and their contents. +There are several options: +.TP +.B \-l +List in long format, giving mode, number of links, owner, +size in bytes, and time of last modification +for each file. +(See below.) +If the file is a special file the size field will instead contain +the major and minor device numbers. +.TP +.B \-t +Sort by time modified (latest first) instead of +by name, as is normal. +.TP +.B \-a +List all entries; usually +.RB ` . ' +and +.RB ` .. ' +are suppressed. +.TP +.B \-s +Give size in blocks, +including indirect blocks, for each entry. +.TP +.B \-d +If argument is a directory, list only its name, not +its contents (mostly used with +.B \-l +to get status +on directory). +.TP +.B \-r +Reverse the order of sort to get reverse alphabetic +or oldest first as appropriate. +.TP +.B \-u +Use time of last access instead of last +modification for sorting +.RB ( \-t ) +or printing +.RB ( \-l ). +.TP +.B \-c +Use time of last modification to inode (mode, etc.) +instead of last modification to file for sorting +.RB ( \-t ) +or printing +.RB ( \-l ). +.TP +.B \-i +Print i-number in first column +of the report for each file listed. +.TP +.B \-f +Force each argument to be interpreted as a directory +and list the name found in each slot. +This option turns off +.B "\-l, \-t, \-s," +and +.B \-r, +and +turns on +.B \-a; +the order is the order in which entries +appear in the directory. +.TP +.B \-g +Give group ID instead of owner ID in long listing. +.PP +The mode printed under the +.B \-l +option contains 11 characters +which are interpreted +as follows: +the first character is +.TP 3 +.B d +if the entry is a directory; +.br +.ns +.TP 3 +.B b +if the entry is a block-type special file; +.br +.ns +.TP 3 +.B c +if the entry is a character-type special file; +.br +.ns +.TP 3 +.B \- +if the entry is a plain file. +.PP +The next 9 characters are interpreted +as three sets of three bits each. +The first set refers to owner permissions; +the next to permissions to others in the same user-group; +and the last to all others. +Within each set the three characters indicate +permission respectively to read, to write, or to +execute the file as a program. +For a directory, `execute' permission is interpreted +to mean permission to search the directory +for a specified file. +The permissions are indicated as follows: +.TP 3 +.B r +if the file is readable; +.br +.ns +.TP 3 +.B w +if the file is writable; +.br +.ns +.TP 3 +.B x +if the file is executable; +.br +.ns +.TP 3 +.B \- +if the indicated permission is not granted. +.PP +The group-execute permission character is given +as +.B s +if the file has set-group-ID mode; +likewise the user-execute permission character is given +as +.B s +if the file has set-user-ID mode. +.PP +The last character of the mode (normally `x' or `\-') is +.B t +if the 1000 bit of the mode is on. +See +.IR chmod (1) +for the meaning of this mode. +.PP +When the sizes of the files in a directory +are listed, a total count of blocks, +including indirect blocks is printed. +.SH FILES +/etc/passwd to get user ID's for +`ls \-l'. +.br +/etc/group to get group ID's for +`ls \-g'. diff --git a/bin/man/man1/man.1 b/bin/man/man1/man.1 index cadea037..5c921480 100644 --- a/bin/man/man1/man.1 +++ b/bin/man/man1/man.1 @@ -1,99 +1,99 @@ -.TH MAN 1 -.SH NAME -man \- print sections of this manual -.SH SYNOPSIS -.B man -[ option ... ] [ chapter ] title ... -.SH DESCRIPTION -.I Man -locates and prints the section of this manual named -.I title -in the specified -.IR chapter . -(In this context, the word `page' is often used as a synonym for `section'.)\ -The -.I title -is entered in lower case. -The -.I chapter -number does not need a letter suffix. -If no -.I chapter -is specified, the whole manual is searched for -.I title -and all occurrences of it are printed. -.PP -.I Options -and their meanings are: -.TP -.B \-t -Phototypeset the section using -.IR troff (1). -.TP -.B \-n -Print the section on the standard output using -.IR nroff (1). -.TP -.B \-k -Display the output on a Tektronix 4014 terminal using -.IR troff (1) -and -.IR tc (1). -.TP -.B \-e -Appended or prefixed to any of the above -causes the manual section to be preprocessed by -.I neqn -or -.IR eqn (1); -.B \-e -alone means -.BR \-te . -.TP -.B \-w -Print the path names of the manual sections, -but do not print the sections themselves. -.TP -(default) -Copy an already formatted manual section to the terminal, -or, if none is available, act as -.BR \-n . -It may be necessary to use a filter to adapt the output to -the -particular terminal's characteristics. -.PP -Further -.I options, -e.g. to specify the kind of terminal you have, -are passed on to -.IR troff (1) -or -.IR nroff . -.I Options -and -.I chapter -may be changed before each -.IR title . -.PP -For example: -.IP -man man -.PP -would reproduce this section, -as well as any other sections named -.I man -that may exist in other chapters of the manual, e.g. -.IR man (7). -.SH FILES -/usr/man/man?/\(** -.br -/usr/man/cat?/\(** -.SH "SEE ALSO" -nroff(1), -eqn(1), -tc(1), -man(7) -.SH BUGS -The manual is supposed to be reproducible either on -a phototypesetter or on a terminal. -However, on a terminal some information is necessarily lost. +.TH MAN 1 +.SH NAME +man \- print sections of this manual +.SH SYNOPSIS +.B man +[ option ... ] [ chapter ] title ... +.SH DESCRIPTION +.I Man +locates and prints the section of this manual named +.I title +in the specified +.IR chapter . +(In this context, the word `page' is often used as a synonym for `section'.)\ +The +.I title +is entered in lower case. +The +.I chapter +number does not need a letter suffix. +If no +.I chapter +is specified, the whole manual is searched for +.I title +and all occurrences of it are printed. +.PP +.I Options +and their meanings are: +.TP +.B \-t +Phototypeset the section using +.IR troff (1). +.TP +.B \-n +Print the section on the standard output using +.IR nroff (1). +.TP +.B \-k +Display the output on a Tektronix 4014 terminal using +.IR troff (1) +and +.IR tc (1). +.TP +.B \-e +Appended or prefixed to any of the above +causes the manual section to be preprocessed by +.I neqn +or +.IR eqn (1); +.B \-e +alone means +.BR \-te . +.TP +.B \-w +Print the path names of the manual sections, +but do not print the sections themselves. +.TP +(default) +Copy an already formatted manual section to the terminal, +or, if none is available, act as +.BR \-n . +It may be necessary to use a filter to adapt the output to +the +particular terminal's characteristics. +.PP +Further +.I options, +e.g. to specify the kind of terminal you have, +are passed on to +.IR troff (1) +or +.IR nroff . +.I Options +and +.I chapter +may be changed before each +.IR title . +.PP +For example: +.IP +man man +.PP +would reproduce this section, +as well as any other sections named +.I man +that may exist in other chapters of the manual, e.g. +.IR man (7). +.SH FILES +/usr/man/man?/\(** +.br +/usr/man/cat?/\(** +.SH "SEE ALSO" +nroff(1), +eqn(1), +tc(1), +man(7) +.SH BUGS +The manual is supposed to be reproducible either on +a phototypesetter or on a terminal. +However, on a terminal some information is necessarily lost. diff --git a/bin/man/man1/mkdir.1 b/bin/man/man1/mkdir.1 index 73b86843..465d9cc0 100644 --- a/bin/man/man1/mkdir.1 +++ b/bin/man/man1/mkdir.1 @@ -1,25 +1,25 @@ -.TH MKDIR 1 -.SH NAME -mkdir \- make a directory -.SH SYNOPSIS -.B mkdir -dirname ... -.SH DESCRIPTION -.I Mkdir -creates specified directories -in mode 777. -Standard entries, -.RB ` . ', -for the directory itself, -and -.BR ` .. ' -for its parent, are made automatically. -.PP -.I Mkdir -requires write permission in the parent directory. -.SH "SEE ALSO" -rm(1) -.SH DIAGNOSTICS -.I Mkdir -returns exit code 0 if all directories were successfully made. -Otherwise it prints a diagnostic and returns nonzero. +.TH MKDIR 1 +.SH NAME +mkdir \- make a directory +.SH SYNOPSIS +.B mkdir +dirname ... +.SH DESCRIPTION +.I Mkdir +creates specified directories +in mode 777. +Standard entries, +.RB ` . ', +for the directory itself, +and +.BR ` .. ' +for its parent, are made automatically. +.PP +.I Mkdir +requires write permission in the parent directory. +.SH "SEE ALSO" +rm(1) +.SH DIAGNOSTICS +.I Mkdir +returns exit code 0 if all directories were successfully made. +Otherwise it prints a diagnostic and returns nonzero. diff --git a/bin/man/man1/mv.1 b/bin/man/man1/mv.1 index 318df89d..fc0021a5 100644 --- a/bin/man/man1/mv.1 +++ b/bin/man/man1/mv.1 @@ -1,69 +1,69 @@ -.TH MV 1 -.SH NAME -mv \- move or rename files and directories -.SH SYNOPSIS -.B mv -file1 file2 -.PP -.B mv -file ... directory -.SH DESCRIPTION -.I Mv -moves (changes the name of) -.I file1 -to -.IR file2 . -.PP -If -.I file2 -already exists, -it is removed before -.I file1 -is moved. -If -.I file2 -has a mode which forbids writing, -.I mv -prints the mode (see -.IR chmod (2)) -and -reads the standard input to obtain a line; -if the line begins with -.B y, -the move takes place; -if not, -.I mv -exits. -.PP -In the second form, -one or more -.I files -are moved to the -.I directory -with their original -file-names. -.PP -.I Mv -refuses to move a file onto itself. -.SH "SEE ALSO" -cp(1), chmod(2) -.SH BUGS -If -.I file1 -and -.I file2 -lie on different file systems, -.I mv -must copy the file and delete the original. -In this case the owner name becomes -that of the copying process and any -linking relationship with other files -is lost. -.PP -.I Mv -should take -.B \-f -flag, like -.I rm, -to suppress the question -if the target exists and is not writable. +.TH MV 1 +.SH NAME +mv \- move or rename files and directories +.SH SYNOPSIS +.B mv +file1 file2 +.PP +.B mv +file ... directory +.SH DESCRIPTION +.I Mv +moves (changes the name of) +.I file1 +to +.IR file2 . +.PP +If +.I file2 +already exists, +it is removed before +.I file1 +is moved. +If +.I file2 +has a mode which forbids writing, +.I mv +prints the mode (see +.IR chmod (2)) +and +reads the standard input to obtain a line; +if the line begins with +.B y, +the move takes place; +if not, +.I mv +exits. +.PP +In the second form, +one or more +.I files +are moved to the +.I directory +with their original +file-names. +.PP +.I Mv +refuses to move a file onto itself. +.SH "SEE ALSO" +cp(1), chmod(2) +.SH BUGS +If +.I file1 +and +.I file2 +lie on different file systems, +.I mv +must copy the file and delete the original. +In this case the owner name becomes +that of the copying process and any +linking relationship with other files +is lost. +.PP +.I Mv +should take +.B \-f +flag, like +.I rm, +to suppress the question +if the target exists and is not writable. diff --git a/bin/man/man1/od.1 b/bin/man/man1/od.1 index 31338c7d..9e492956 100644 --- a/bin/man/man1/od.1 +++ b/bin/man/man1/od.1 @@ -1,70 +1,70 @@ -.TH OD 1 -.SH NAME -od \- octal dump -.SH SYNOPSIS -.B od -[ -.B \-bcdox -] [ file ] [ [ -.B + -]offset[ -.BR ". " "][" -\fBb\fR ] ] -.SH DESCRIPTION -.I Od -dumps -.I file -in -one or more formats -as -selected by the first argument. -If the first argument is missing, -.B \-o -is default. -The meanings of the format argument characters -are: -.TP 3 -.B b -Interpret bytes in octal. -.TP 3 -.B c -Interpret bytes in ASCII. -Certain non-graphic characters appear as C escapes: -null=\e0, -backspace=\eb, -formfeed=\ef, -newline=\en, -return=\er, -tab=\et; -others appear as 3-digit octal numbers. -.TP 3 -.B d -Interpret words in decimal. -.TP 3 -.B o -Interpret words in octal. -.TP 3 -.B x -Interpret words in hex. -.PP -The -.I file -argument specifies which file is to be dumped. -If no file argument is specified, -the standard input is used. -.PP -The offset argument specifies the offset -in the file where dumping is to commence. -This argument is normally interpreted -as octal bytes. -If `\fB.\fR' is appended, the offset is interpreted in -decimal. -If `\fBb\fR' is appended, the offset is interpreted in -blocks of 512 bytes. -If the file argument is omitted, -the offset argument must be preceded -.RB ` + '. -.PP -Dumping continues until end-of-file. -.SH "SEE ALSO" -adb(1) +.TH OD 1 +.SH NAME +od \- octal dump +.SH SYNOPSIS +.B od +[ +.B \-bcdox +] [ file ] [ [ +.B + +]offset[ +.BR ". " "][" +\fBb\fR ] ] +.SH DESCRIPTION +.I Od +dumps +.I file +in +one or more formats +as +selected by the first argument. +If the first argument is missing, +.B \-o +is default. +The meanings of the format argument characters +are: +.TP 3 +.B b +Interpret bytes in octal. +.TP 3 +.B c +Interpret bytes in ASCII. +Certain non-graphic characters appear as C escapes: +null=\e0, +backspace=\eb, +formfeed=\ef, +newline=\en, +return=\er, +tab=\et; +others appear as 3-digit octal numbers. +.TP 3 +.B d +Interpret words in decimal. +.TP 3 +.B o +Interpret words in octal. +.TP 3 +.B x +Interpret words in hex. +.PP +The +.I file +argument specifies which file is to be dumped. +If no file argument is specified, +the standard input is used. +.PP +The offset argument specifies the offset +in the file where dumping is to commence. +This argument is normally interpreted +as octal bytes. +If `\fB.\fR' is appended, the offset is interpreted in +decimal. +If `\fBb\fR' is appended, the offset is interpreted in +blocks of 512 bytes. +If the file argument is omitted, +the offset argument must be preceded +.RB ` + '. +.PP +Dumping continues until end-of-file. +.SH "SEE ALSO" +adb(1) diff --git a/bin/man/man1/passwd.1 b/bin/man/man1/passwd.1 index af5a1c61..14eff8fb 100644 --- a/bin/man/man1/passwd.1 +++ b/bin/man/man1/passwd.1 @@ -1,30 +1,30 @@ -.TH PASSWD 1 -.SH NAME -passwd \- change login password -.SH SYNOPSIS -.B passwd -[ name ] -.SH DESCRIPTION -This command changes (or installs) a password -associated with the user -.IR name -(your own name by default). -.PP -The program prompts for the old password and then for the new one. -The caller must supply both. -The new password must be typed twice, to forestall mistakes. -.PP -New passwords must be at least four characters long if they use -a sufficiently rich alphabet and at least six characters long -if monocase. -These rules are relaxed if you are insistent enough. -.PP -Only the owner of the name or the super-user may change a password; -the owner must prove he knows the old password. -.SH FILES -/etc/passwd -.SH "SEE ALSO" -login(1), passwd(5), crypt(3) -.br -Robert Morris and Ken Thompson, -.I Password Security: A Case History +.TH PASSWD 1 +.SH NAME +passwd \- change login password +.SH SYNOPSIS +.B passwd +[ name ] +.SH DESCRIPTION +This command changes (or installs) a password +associated with the user +.IR name +(your own name by default). +.PP +The program prompts for the old password and then for the new one. +The caller must supply both. +The new password must be typed twice, to forestall mistakes. +.PP +New passwords must be at least four characters long if they use +a sufficiently rich alphabet and at least six characters long +if monocase. +These rules are relaxed if you are insistent enough. +.PP +Only the owner of the name or the super-user may change a password; +the owner must prove he knows the old password. +.SH FILES +/etc/passwd +.SH "SEE ALSO" +login(1), passwd(5), crypt(3) +.br +Robert Morris and Ken Thompson, +.I Password Security: A Case History diff --git a/bin/man/man1/pr.1 b/bin/man/man1/pr.1 index a4fe1a37..0c7892b8 100644 --- a/bin/man/man1/pr.1 +++ b/bin/man/man1/pr.1 @@ -1,75 +1,75 @@ -.TH PR 1 -.SH NAME -pr \- print file -.SH SYNOPSIS -.B pr -[ option ] ... -[ file ] ... -.SH DESCRIPTION -.I Pr -produces a printed listing of one or more -.I files. -The output is separated into pages headed by a date, -the name of the file or a specified header, and the page number. -If there are no file arguments, -.I pr -prints its standard input. -.PP -Options apply to all following files but may be reset -between files: -.TP -.BI \- n -Produce -.IR n -column -output. -.TP -.BI + n -Begin printing with page -.I n. -.TP -.B \-h -Take the next argument as a page header. -.TP -.BI \-w n -For purposes of multi-column output, -take the width of the page to be -.I n -characters instead of the default 72. -.TP -.BI \-l n -Take the length of the page to be -.I n -lines instead of the default 66. -.TP -.B \-t -Do not print the 5-line header or the -5-line trailer normally supplied for each page. -.TP -.BI \-s c -Separate columns by the single character -.I c -instead of by the appropriate amount of white space. -A missing -.I c -is taken to be a tab. -.TP -.B \-m -Print all -.I files -simultaneously, -each in one column, -.PP -Inter-terminal messages via -.IR write (1) -are -forbidden during a -.IR pr . -.SH FILES -/dev/tty? -to suspend messages. -.SH "SEE ALSO" -cat(1) -.SH DIAGNOSTICS -There are no diagnostics when -.I pr -is printing on a terminal. +.TH PR 1 +.SH NAME +pr \- print file +.SH SYNOPSIS +.B pr +[ option ] ... +[ file ] ... +.SH DESCRIPTION +.I Pr +produces a printed listing of one or more +.I files. +The output is separated into pages headed by a date, +the name of the file or a specified header, and the page number. +If there are no file arguments, +.I pr +prints its standard input. +.PP +Options apply to all following files but may be reset +between files: +.TP +.BI \- n +Produce +.IR n -column +output. +.TP +.BI + n +Begin printing with page +.I n. +.TP +.B \-h +Take the next argument as a page header. +.TP +.BI \-w n +For purposes of multi-column output, +take the width of the page to be +.I n +characters instead of the default 72. +.TP +.BI \-l n +Take the length of the page to be +.I n +lines instead of the default 66. +.TP +.B \-t +Do not print the 5-line header or the +5-line trailer normally supplied for each page. +.TP +.BI \-s c +Separate columns by the single character +.I c +instead of by the appropriate amount of white space. +A missing +.I c +is taken to be a tab. +.TP +.B \-m +Print all +.I files +simultaneously, +each in one column, +.PP +Inter-terminal messages via +.IR write (1) +are +forbidden during a +.IR pr . +.SH FILES +/dev/tty? +to suspend messages. +.SH "SEE ALSO" +cat(1) +.SH DIAGNOSTICS +There are no diagnostics when +.I pr +is printing on a terminal. diff --git a/bin/man/man1/ps.1 b/bin/man/man1/ps.1 index 88aa2d91..ea561cd2 100644 --- a/bin/man/man1/ps.1 +++ b/bin/man/man1/ps.1 @@ -1,124 +1,124 @@ -.TH PS 1 PDP11 -.SH NAME -ps \- process status -.SH SYNOPSIS -.B ps -[ -.B aklx -] -[ namelist ] -.SH DESCRIPTION -.I Ps -prints certain indicia about active -processes. -The -.B a -option asks for information about all processes with terminals (ordinarily -only one's own processes are displayed); -.B x -asks even about processes with no terminal; -.B l -asks for a long listing. -The short listing contains the process ID, tty letter, -the cumulative execution time of the process and an -approximation to the command line. -.PP -The long listing is columnar and contains -.TP -F -Flags associated with the process. -01: in core; -02: system process; -04: locked in core (e.g. for physical I/O); -10: being swapped; -20: being traced by another process. -.TP -S -The state of the process. -0: nonexistent; -S: sleeping; -W: waiting; -R: running; -I: intermediate; -Z: terminated; -T: stopped. -.TP -UID -The user ID of the process owner. -.TP -PID -The process ID of the process; as in certain cults it is possible to kill a process -if you know its true name. -.TP -PPID -The process ID of the parent process. -.TP -CPU -Processor utilization for scheduling. -.TP -PRI -The priority of the -process; high numbers mean low priority. -.TP -NICE -Used in priority computation. -.TP -ADDR -The core address of the process if resident, -otherwise the disk address. -.TP -SZ -The size in blocks of the core image of the process. -.TP -WCHAN -The event for which the process is waiting or sleeping; -if blank, the process is running. -.TP -TTY -The controlling tty for the process. -.TP -TIME -The cumulative execution time for the process. -.TP TIME -The command and its arguments. -.DT -.PP -A process that has exited and has a parent, but has not -yet been waited for by the parent is marked . -.I Ps -makes an educated guess as to the file name -and arguments given when the process was created -by examining core memory or the swap area. -The method is inherently somewhat unreliable and in any event -a process is entitled to destroy this information, -so the names cannot be counted on too much. -.PP -If the -.B k -option is specified, -the file -.I /usr/sys/core -is used in place of -.IR /dev/mem . -This is used for -postmortem system debugging. -If a second argument is given, -it is taken to be the file containing the system's namelist. -.SH FILES -.ta \w'/usr/sys/core 'u -/unix system namelist -.br -/dev/mem core memory -.br -/usr/sys/core alternate core file -.br -/dev searched to find swap device and tty names -.SH "SEE ALSO" -kill(1) -.SH BUGS -Things can change while -.I ps -is running; the picture it gives is only a close -approximation to reality. -.br -Some data printed for defunct processes is irrelevant +.TH PS 1 PDP11 +.SH NAME +ps \- process status +.SH SYNOPSIS +.B ps +[ +.B aklx +] +[ namelist ] +.SH DESCRIPTION +.I Ps +prints certain indicia about active +processes. +The +.B a +option asks for information about all processes with terminals (ordinarily +only one's own processes are displayed); +.B x +asks even about processes with no terminal; +.B l +asks for a long listing. +The short listing contains the process ID, tty letter, +the cumulative execution time of the process and an +approximation to the command line. +.PP +The long listing is columnar and contains +.TP +F +Flags associated with the process. +01: in core; +02: system process; +04: locked in core (e.g. for physical I/O); +10: being swapped; +20: being traced by another process. +.TP +S +The state of the process. +0: nonexistent; +S: sleeping; +W: waiting; +R: running; +I: intermediate; +Z: terminated; +T: stopped. +.TP +UID +The user ID of the process owner. +.TP +PID +The process ID of the process; as in certain cults it is possible to kill a process +if you know its true name. +.TP +PPID +The process ID of the parent process. +.TP +CPU +Processor utilization for scheduling. +.TP +PRI +The priority of the +process; high numbers mean low priority. +.TP +NICE +Used in priority computation. +.TP +ADDR +The core address of the process if resident, +otherwise the disk address. +.TP +SZ +The size in blocks of the core image of the process. +.TP +WCHAN +The event for which the process is waiting or sleeping; +if blank, the process is running. +.TP +TTY +The controlling tty for the process. +.TP +TIME +The cumulative execution time for the process. +.TP TIME +The command and its arguments. +.DT +.PP +A process that has exited and has a parent, but has not +yet been waited for by the parent is marked . +.I Ps +makes an educated guess as to the file name +and arguments given when the process was created +by examining core memory or the swap area. +The method is inherently somewhat unreliable and in any event +a process is entitled to destroy this information, +so the names cannot be counted on too much. +.PP +If the +.B k +option is specified, +the file +.I /usr/sys/core +is used in place of +.IR /dev/mem . +This is used for +postmortem system debugging. +If a second argument is given, +it is taken to be the file containing the system's namelist. +.SH FILES +.ta \w'/usr/sys/core 'u +/unix system namelist +.br +/dev/mem core memory +.br +/usr/sys/core alternate core file +.br +/dev searched to find swap device and tty names +.SH "SEE ALSO" +kill(1) +.SH BUGS +Things can change while +.I ps +is running; the picture it gives is only a close +approximation to reality. +.br +Some data printed for defunct processes is irrelevant diff --git a/bin/man/man1/pwd.1 b/bin/man/man1/pwd.1 index 4962aacd..dabb2416 100644 --- a/bin/man/man1/pwd.1 +++ b/bin/man/man1/pwd.1 @@ -1,10 +1,10 @@ -.TH PWD 1 -.SH NAME -pwd \- working directory name -.SH SYNOPSIS -.B pwd -.SH DESCRIPTION -.I Pwd -prints the pathname of the working (current) directory. -.SH "SEE ALSO" -cd(1) +.TH PWD 1 +.SH NAME +pwd \- working directory name +.SH SYNOPSIS +.B pwd +.SH DESCRIPTION +.I Pwd +prints the pathname of the working (current) directory. +.SH "SEE ALSO" +cd(1) diff --git a/bin/man/man1/rm.1 b/bin/man/man1/rm.1 index 1c3c46c6..25d26751 100644 --- a/bin/man/man1/rm.1 +++ b/bin/man/man1/rm.1 @@ -1,63 +1,63 @@ -.TH RM 1 -.SH NAME -rm, rmdir \- remove (unlink) files -.SH SYNOPSIS -.B rm -[ -.B \-fri -] file ... -.PP -.B rmdir -dir ... -.PP -.SH DESCRIPTION -.I Rm -removes the entries for one or more -files -from a directory. -If an entry was the last link to the file, the file -is destroyed. -Removal of a file requires write permission in its directory, -but neither read nor write permission on the file itself. -.PP -If a file has no write permission -and the standard input is a terminal, -its permissions are printed and a line is read from -the standard input. -If that line begins with `y' the file is deleted, -otherwise the file remains. -No questions are asked -when the -.B \-f -(force) option is given. -.PP -If a designated file is a directory, -an error comment is printed unless the optional -argument -.B \-r -has been used. -In that case, -.I rm -recursively deletes the -entire contents of the specified directory, -and the directory itself. -.PP -If the -.B \-i -(interactive) option is in effect, -.I rm -asks whether to delete each file, -and, under -.BR \-r , -whether to examine each directory. -.PP -.I Rmdir -removes entries for the named directories, -which must be empty. -.SH "SEE ALSO" -unlink(2) -.SH DIAGNOSTICS -Generally self-explanatory. -It is forbidden to remove the file `..' merely to avoid the -antisocial consequences of inadvertently doing something like -`rm \-r .*'. +.TH RM 1 +.SH NAME +rm, rmdir \- remove (unlink) files +.SH SYNOPSIS +.B rm +[ +.B \-fri +] file ... +.PP +.B rmdir +dir ... +.PP +.SH DESCRIPTION +.I Rm +removes the entries for one or more +files +from a directory. +If an entry was the last link to the file, the file +is destroyed. +Removal of a file requires write permission in its directory, +but neither read nor write permission on the file itself. +.PP +If a file has no write permission +and the standard input is a terminal, +its permissions are printed and a line is read from +the standard input. +If that line begins with `y' the file is deleted, +otherwise the file remains. +No questions are asked +when the +.B \-f +(force) option is given. +.PP +If a designated file is a directory, +an error comment is printed unless the optional +argument +.B \-r +has been used. +In that case, +.I rm +recursively deletes the +entire contents of the specified directory, +and the directory itself. +.PP +If the +.B \-i +(interactive) option is in effect, +.I rm +asks whether to delete each file, +and, under +.BR \-r , +whether to examine each directory. +.PP +.I Rmdir +removes entries for the named directories, +which must be empty. +.SH "SEE ALSO" +unlink(2) +.SH DIAGNOSTICS +Generally self-explanatory. +It is forbidden to remove the file `..' merely to avoid the +antisocial consequences of inadvertently doing something like +`rm \-r .*'. diff --git a/bin/man/man1/roff.1 b/bin/man/man1/roff.1 index a2eda763..decfe5a5 100644 --- a/bin/man/man1/roff.1 +++ b/bin/man/man1/roff.1 @@ -1,318 +1,318 @@ -.TH ROFF 1 -.SH NAME -roff \- format text -.SH SYNOPSIS -.B roff -[ \fB+\fIn\fR ] [ \fB\-\fIn\fR ] [ -.B \-s -] [ -.B \-h -] file ... -.PP -.B nroff \-mr -[ option ] ... file ... -.br -.B troff \-mr -[ option ] ... file ... -.SH DESCRIPTION -.I Roff -formats text according to control lines embedded -in the text in the given files. -Encountering a nonexistent file terminates printing. -Incoming inter-terminal messages are turned off during printing. -The optional flag arguments mean: -.br -.ns -.TP 5 -.BI + n -Start printing at the first page with number -.IR n . -.br -.ns -.TP 5 -.BI \- n -Stop printing at the first page numbered higher -than -.IR n . -.br -.ns -.TP 5 -.B \-s -Stop before each page (including the first) -to allow paper manipulation; -resume on receipt of an interrupt signal. -.br -.ns -.TP 5 -.B \-h -Insert tabs in the output stream to replace -spaces whenever appropriate. -.PP -.DT -Input consists of intermixed -.I "text lines," -which contain information to be formatted, and -.I "request lines," -which contain instructions about how to format -it. -Request lines begin with a distinguished -.I "control character," -normally a period. -.PP -Output lines may be -.I filled -as nearly as possible with words without regard to -input lineation. -Line -.I breaks -may be caused at specified places by -certain commands, or by the appearance of an -empty input line or an input line beginning with a space. -.PP -The capabilities of -.I roff -are specified in the attached Request Summary. -Numerical values are denoted there by n or +n, -titles by t, and single characters by c. -Numbers denoted +n may be signed + or \-, -in which case they signify relative changes to -a quantity, otherwise they signify -an absolute resetting. -Missing n fields are ordinarily taken to be 1, -missing t fields to be empty, and c fields to shut off -the appropriate special interpretation. -.PP -Running titles usually appear at top and bottom of every -page. -They are set by requests like -.PP -.in +10 -.if t \&.he \(fmpart1\(fmpart2\(fmpart3\(fm -.if n \&.he 'part1'part2'part3' -.in -10 -.PP -Part1 is left justified, part2 is centered, -and part3 is right justified on the page. -Any % sign in a title is replaced by the current -page number. -Any nonblank may serve as a quote. -.PP -ASCII tab characters are replaced in the input by a -.I "replacement character," -normally a space, -according to the -column settings given by a .ta command. -(See .tr for how to convert this character on output.) -.PP -Automatic hyphenation of filled output is done -under control of .hy. -When a word contains a designated -.I "hyphenation character," -that character disappears from the output and -hyphens can be introduced into -the word at the marked places only. -.PP -The -.B \-mr -option of -.I nroff -or -.IR troff (1) -simulates -.I roff -to the greatest extent possible. -.SH FILES -/usr/lib/suftab suffix hyphenation tables -.br -/tmp/rtm? temporary -.br -.SH BUGS -.I Roff -is the simplest of the text formatting -programs, and is utterly frozen. -.bp -.tc | -.tr | -.in 0 -.ce -REQUEST SUMMARY -.PP -.ul -.ta \w'.tr cdef.. 'u +\w'Break 'u +\w'Initial 'u -.di x - \ka -.br -.di -.in \nau -.ti 0 -Request Break Initial Meaning -.na -.ti 0 -.li -.ad yes yes Begin adjusting right margins. -.ti 0 -.li -.ar no arabic Arabic page numbers. -.ti 0 -.li -.br yes \- Causes a line break \*- the filling of -the current line is stopped. -.ti 0 -.li -.bl|n yes \- Insert of n blank lines, on new page if necessary. -.ti 0 -.li -.bp|+n yes n=1 Begin new page and number it n; no n means `+1'. -.ti 0 -.li -.cc|c no c=. Control character becomes `c'. -.ti 0 -.li -.ce|n yes \- Center the next n input lines, -without filling. -.ti 0 -.li -.de|xx no \- Define parameterless macro -to be invoked by request `.xx' -(definition ends on line beginning `\fB..\fR'). -.ti 0 -.li -.ds yes no Double space; same as `.ls 2'. -.ti 0 -.li -.ef|t no t=\*a\*a\*a\*a Even foot title becomes t. -.ti 0 -.li -.eh|t no t=\*a\*a\*a\*a Even head title becomes t. -.ti 0 -.li -.fi yes yes Begin filling output lines. -.ti 0 -.li -.fo no t=\*a\*a\*a\*a All foot titles are t. -.ti 0 -.li -.hc|c no none Hyphenation character becomes `c'. -.ti 0 -.li -.he|t no t=\*a\*a\*a\*a All head titles are t. -.ti 0 -.li -.hx no \- Title lines are suppressed. -.ti 0 -.li -.hy|n no n=1 Hyphenation is done, if n=1; -and is not done, if n=0. -.ti 0 -.li -.ig no \- Ignore input lines through -a line beginning with `\fB..\fR'. -.ti 0 -.li -.in|+n yes \- Indent n spaces from left margin. -.ti 0 -.li -.ix +n no \- Same as `.in' but without break. -.ti 0 -.li -.li|n no \- Literal, treat next n lines as text. -.ti 0 -.li -.ll|+n no n=65 Line length including indent is n characters. -.ti 0 -.li -.ls|+n yes n=1 Line spacing set to n lines per output line. -.ti 0 -.li -.m1|n no n=2 Put n blank lines between the top -of page and head title. -.ti 0 -.li -.m2|n no n=2 n blank lines put between head title -and beginning of text on page. -.ti 0 -.li -.m3|n no n=1 n blank lines put between end of -text and foot title. -.ti 0 -.li -.m4|n no n=3 n blank lines put between the foot title -and the bottom of page. -.ti 0 -.li -.na yes no Stop adjusting the right margin. -.ti 0 -.li -.ne|n no \- Begin new page, if n output lines -cannot fit on present page. -.ti 0 -.li -.nn|+n no \- The next n output lines are not numbered. -.ti 0 -.li -.n1 no no Add 5 to page offset; -number lines in margin from 1 on each page. -.ti 0 -.li -.n2|n no no Add 5 to page offset; -number lines from n; -stop if n=0. -.ti 0 -.li -.ni|+n no n=0 Line numbers are indented n. -.ti 0 -.li -.nf yes no Stop filling output lines. -.ti 0 -.li -.nx|file \- Switch input to `file'. -.ti 0 -.li -.of|t no t=\*a\*a\*a\*a Odd foot title becomes t. -.ti 0 -.li -.oh|t no t=\*a\*a\*a\*a Odd head title becomes t. -.ti 0 -.li -.pa|+n yes n=1 Same as `.bp'. -.ti 0 -.li -.pl|+n no n=66 Total paper length taken to be n lines. -.ti 0 -.li -.po|+n no n=0 Page offset. -All lines are preceded by n spaces. -.ti 0 -.li -.ro no arabic Roman page numbers. -.ti 0 -.li -.sk|n no \- Produce n blank pages starting next page. -.ti 0 -.li -.sp|n yes \- Insert block of n blank lines, -except at top of page. -.ti 0 -.li -.ss yes yes Single space output lines, -equivalent to `.ls 1'. -.ti 0 -.li -.ta|n|n.. \- Pseudotab settings. -Initial tab settings are columns 9 17 25 ... -.ti 0 -.li -.tc|c no space Tab replacement character becomes `c'. -.ti 0 -.li -.ti|+n yes \- Temporarily indent next output -line n spaces. -.ti0 -.li -.tr|cdef.. no \- Translate c into d, e into f, etc. -.ti0 -.li -.ul|n no \- Underline the letters and numbers -in the next n input lines. -.br -.tr || +.TH ROFF 1 +.SH NAME +roff \- format text +.SH SYNOPSIS +.B roff +[ \fB+\fIn\fR ] [ \fB\-\fIn\fR ] [ +.B \-s +] [ +.B \-h +] file ... +.PP +.B nroff \-mr +[ option ] ... file ... +.br +.B troff \-mr +[ option ] ... file ... +.SH DESCRIPTION +.I Roff +formats text according to control lines embedded +in the text in the given files. +Encountering a nonexistent file terminates printing. +Incoming inter-terminal messages are turned off during printing. +The optional flag arguments mean: +.br +.ns +.TP 5 +.BI + n +Start printing at the first page with number +.IR n . +.br +.ns +.TP 5 +.BI \- n +Stop printing at the first page numbered higher +than +.IR n . +.br +.ns +.TP 5 +.B \-s +Stop before each page (including the first) +to allow paper manipulation; +resume on receipt of an interrupt signal. +.br +.ns +.TP 5 +.B \-h +Insert tabs in the output stream to replace +spaces whenever appropriate. +.PP +.DT +Input consists of intermixed +.I "text lines," +which contain information to be formatted, and +.I "request lines," +which contain instructions about how to format +it. +Request lines begin with a distinguished +.I "control character," +normally a period. +.PP +Output lines may be +.I filled +as nearly as possible with words without regard to +input lineation. +Line +.I breaks +may be caused at specified places by +certain commands, or by the appearance of an +empty input line or an input line beginning with a space. +.PP +The capabilities of +.I roff +are specified in the attached Request Summary. +Numerical values are denoted there by n or +n, +titles by t, and single characters by c. +Numbers denoted +n may be signed + or \-, +in which case they signify relative changes to +a quantity, otherwise they signify +an absolute resetting. +Missing n fields are ordinarily taken to be 1, +missing t fields to be empty, and c fields to shut off +the appropriate special interpretation. +.PP +Running titles usually appear at top and bottom of every +page. +They are set by requests like +.PP +.in +10 +.if t \&.he \(fmpart1\(fmpart2\(fmpart3\(fm +.if n \&.he 'part1'part2'part3' +.in -10 +.PP +Part1 is left justified, part2 is centered, +and part3 is right justified on the page. +Any % sign in a title is replaced by the current +page number. +Any nonblank may serve as a quote. +.PP +ASCII tab characters are replaced in the input by a +.I "replacement character," +normally a space, +according to the +column settings given by a .ta command. +(See .tr for how to convert this character on output.) +.PP +Automatic hyphenation of filled output is done +under control of .hy. +When a word contains a designated +.I "hyphenation character," +that character disappears from the output and +hyphens can be introduced into +the word at the marked places only. +.PP +The +.B \-mr +option of +.I nroff +or +.IR troff (1) +simulates +.I roff +to the greatest extent possible. +.SH FILES +/usr/lib/suftab suffix hyphenation tables +.br +/tmp/rtm? temporary +.br +.SH BUGS +.I Roff +is the simplest of the text formatting +programs, and is utterly frozen. +.bp +.tc | +.tr | +.in 0 +.ce +REQUEST SUMMARY +.PP +.ul +.ta \w'.tr cdef.. 'u +\w'Break 'u +\w'Initial 'u +.di x + \ka +.br +.di +.in \nau +.ti 0 +Request Break Initial Meaning +.na +.ti 0 +.li +.ad yes yes Begin adjusting right margins. +.ti 0 +.li +.ar no arabic Arabic page numbers. +.ti 0 +.li +.br yes \- Causes a line break \*- the filling of +the current line is stopped. +.ti 0 +.li +.bl|n yes \- Insert of n blank lines, on new page if necessary. +.ti 0 +.li +.bp|+n yes n=1 Begin new page and number it n; no n means `+1'. +.ti 0 +.li +.cc|c no c=. Control character becomes `c'. +.ti 0 +.li +.ce|n yes \- Center the next n input lines, +without filling. +.ti 0 +.li +.de|xx no \- Define parameterless macro +to be invoked by request `.xx' +(definition ends on line beginning `\fB..\fR'). +.ti 0 +.li +.ds yes no Double space; same as `.ls 2'. +.ti 0 +.li +.ef|t no t=\*a\*a\*a\*a Even foot title becomes t. +.ti 0 +.li +.eh|t no t=\*a\*a\*a\*a Even head title becomes t. +.ti 0 +.li +.fi yes yes Begin filling output lines. +.ti 0 +.li +.fo no t=\*a\*a\*a\*a All foot titles are t. +.ti 0 +.li +.hc|c no none Hyphenation character becomes `c'. +.ti 0 +.li +.he|t no t=\*a\*a\*a\*a All head titles are t. +.ti 0 +.li +.hx no \- Title lines are suppressed. +.ti 0 +.li +.hy|n no n=1 Hyphenation is done, if n=1; +and is not done, if n=0. +.ti 0 +.li +.ig no \- Ignore input lines through +a line beginning with `\fB..\fR'. +.ti 0 +.li +.in|+n yes \- Indent n spaces from left margin. +.ti 0 +.li +.ix +n no \- Same as `.in' but without break. +.ti 0 +.li +.li|n no \- Literal, treat next n lines as text. +.ti 0 +.li +.ll|+n no n=65 Line length including indent is n characters. +.ti 0 +.li +.ls|+n yes n=1 Line spacing set to n lines per output line. +.ti 0 +.li +.m1|n no n=2 Put n blank lines between the top +of page and head title. +.ti 0 +.li +.m2|n no n=2 n blank lines put between head title +and beginning of text on page. +.ti 0 +.li +.m3|n no n=1 n blank lines put between end of +text and foot title. +.ti 0 +.li +.m4|n no n=3 n blank lines put between the foot title +and the bottom of page. +.ti 0 +.li +.na yes no Stop adjusting the right margin. +.ti 0 +.li +.ne|n no \- Begin new page, if n output lines +cannot fit on present page. +.ti 0 +.li +.nn|+n no \- The next n output lines are not numbered. +.ti 0 +.li +.n1 no no Add 5 to page offset; +number lines in margin from 1 on each page. +.ti 0 +.li +.n2|n no no Add 5 to page offset; +number lines from n; +stop if n=0. +.ti 0 +.li +.ni|+n no n=0 Line numbers are indented n. +.ti 0 +.li +.nf yes no Stop filling output lines. +.ti 0 +.li +.nx|file \- Switch input to `file'. +.ti 0 +.li +.of|t no t=\*a\*a\*a\*a Odd foot title becomes t. +.ti 0 +.li +.oh|t no t=\*a\*a\*a\*a Odd head title becomes t. +.ti 0 +.li +.pa|+n yes n=1 Same as `.bp'. +.ti 0 +.li +.pl|+n no n=66 Total paper length taken to be n lines. +.ti 0 +.li +.po|+n no n=0 Page offset. +All lines are preceded by n spaces. +.ti 0 +.li +.ro no arabic Roman page numbers. +.ti 0 +.li +.sk|n no \- Produce n blank pages starting next page. +.ti 0 +.li +.sp|n yes \- Insert block of n blank lines, +except at top of page. +.ti 0 +.li +.ss yes yes Single space output lines, +equivalent to `.ls 1'. +.ti 0 +.li +.ta|n|n.. \- Pseudotab settings. +Initial tab settings are columns 9 17 25 ... +.ti 0 +.li +.tc|c no space Tab replacement character becomes `c'. +.ti 0 +.li +.ti|+n yes \- Temporarily indent next output +line n spaces. +.ti0 +.li +.tr|cdef.. no \- Translate c into d, e into f, etc. +.ti0 +.li +.ul|n no \- Underline the letters and numbers +in the next n input lines. +.br +.tr || diff --git a/bin/man/man1/sort.1 b/bin/man/man1/sort.1 index ccc7c475..94ccc16a 100644 --- a/bin/man/man1/sort.1 +++ b/bin/man/man1/sort.1 @@ -1,176 +1,176 @@ -.TH SORT 1 -.SH NAME -sort \- sort or merge files -.SH SYNOPSIS -.B sort -[ -.if t \fB\-mubdf\&inrt\fIx\fR -.if n -mubdfinrt_________x -] -[ \fB+\fIpos1 \fR [ \fB\-\fIpos2 \fR] -] ... -[ -.B \-o -name ] [ -.B \-T -directory ] [ name ] ... -.SH DESCRIPTION -.I Sort -sorts -lines of all the named files together -and writes the result on -the standard output. -The name `\-' means -the standard input. -If no input files are named, the standard input is sorted. -.PP -The default sort key is an entire line. -Default ordering is -lexicographic by bytes in machine -collating sequence. -The ordering is affected globally by the following options, -one or more of which may appear. -.TP 5 -.B b -Ignore leading blanks (spaces and tabs) in field comparisons. -.TP 5 -.B d -`Dictionary' order: only letters, digits and blanks -are significant in comparisons. -.TP 5 -.B f -Fold upper case -letters onto lower case. -.TP 5 -.B i -Ignore characters outside the ASCII range 040-0176 -in nonnumeric comparisons. -.TP 5 -.B n -An initial numeric string, -consisting of optional blanks, optional minus sign, -and zero or more digits with optional decimal point, -is sorted by arithmetic value. -Option -.B n -implies option -.B b. -.TP 5 -.B r -Reverse the sense of comparisons. -.TP 5 -.BI t x -`Tab character' separating fields is -.IR x . -.PP -The notation -.BI + "pos1 " "\-\fIpos2" -restricts a sort key to a field beginning at -.I pos1 -and ending just before -.IR pos2 . -.I Pos1 -and -.I pos2 -each have the form -.IB m . n\fR, -optionally followed by one or more of the flags -.B bdf\&inr, -where -.I m -tells a number of fields to skip from the beginning of the line and -.I n -tells a number of characters to skip further. -If any flags are present they override all the global -ordering options for this key. -If the -.B b -option is in effect -.I n -is counted from the first nonblank in the field; -.B b -is attached independently to -.IR pos2 . -A missing -\&\fB.\fIn\fR -means .0; -a missing -.BI \- pos2 -means the end of the line. -Under the -.BI \-t x -option, fields are strings separated by -.IR x ; -otherwise fields are -nonempty nonblank strings separated by blanks. -.PP -When there are multiple sort keys, later keys -are compared only after all earlier keys -compare equal. -Lines that otherwise compare equal are ordered -with all bytes significant. -.PP -These option arguments are also understood: -.TP 5 -.B c -Check that the input file is sorted according to the ordering rules; -give no output unless the file is out of sort. -.TP 5 -.B m -Merge only, the input files are already sorted. -.TP 5 -.B o -The next argument is the name of an output file -to use instead of the standard output. -This file may be the same as one of the inputs. -.TP 5 -.B T -The next argument is the name of a directory in which temporary files -should be made. -.TP 5 -.B u -Suppress all but one in each -set of equal lines. -Ignored bytes -and bytes outside keys -do not participate in -this comparison. -.PP -.B Examples. -Print in alphabetical order all the unique spellings -in a list of words. -Capitalized words differ from uncapitalized. -.PP -.ti +8 -sort \-u +0f +0 list -.PP -Print the password file -.RI ( passwd (5)) -sorted by user id number (the 3rd colon-separated field). -.PP -.ti +8 -sort \-t: +2n /etc/passwd -.PP -Print the first instance of each month in an already sorted file -of (month day) entries. -The options -.B \-um -with just one input file make the choice of a -unique representative from a set of equal lines predictable. -.PP -.ti +8 -sort \-um +0 \-1 dates -.SH FILES -/usr/tmp/stm*, /tmp/*: first and second tries for -temporary files -.SH "SEE ALSO" -uniq(1), -comm(1), -rev(1), -join(1) -.SH DIAGNOSTICS -Comments and exits with nonzero status for various trouble -conditions and for disorder discovered under option -.BR \-c . -.SH BUGS -Very long lines are silently truncated. +.TH SORT 1 +.SH NAME +sort \- sort or merge files +.SH SYNOPSIS +.B sort +[ +.if t \fB\-mubdf\&inrt\fIx\fR +.if n -mubdfinrt_________x +] +[ \fB+\fIpos1 \fR [ \fB\-\fIpos2 \fR] +] ... +[ +.B \-o +name ] [ +.B \-T +directory ] [ name ] ... +.SH DESCRIPTION +.I Sort +sorts +lines of all the named files together +and writes the result on +the standard output. +The name `\-' means +the standard input. +If no input files are named, the standard input is sorted. +.PP +The default sort key is an entire line. +Default ordering is +lexicographic by bytes in machine +collating sequence. +The ordering is affected globally by the following options, +one or more of which may appear. +.TP 5 +.B b +Ignore leading blanks (spaces and tabs) in field comparisons. +.TP 5 +.B d +`Dictionary' order: only letters, digits and blanks +are significant in comparisons. +.TP 5 +.B f +Fold upper case +letters onto lower case. +.TP 5 +.B i +Ignore characters outside the ASCII range 040-0176 +in nonnumeric comparisons. +.TP 5 +.B n +An initial numeric string, +consisting of optional blanks, optional minus sign, +and zero or more digits with optional decimal point, +is sorted by arithmetic value. +Option +.B n +implies option +.B b. +.TP 5 +.B r +Reverse the sense of comparisons. +.TP 5 +.BI t x +`Tab character' separating fields is +.IR x . +.PP +The notation +.BI + "pos1 " "\-\fIpos2" +restricts a sort key to a field beginning at +.I pos1 +and ending just before +.IR pos2 . +.I Pos1 +and +.I pos2 +each have the form +.IB m . n\fR, +optionally followed by one or more of the flags +.B bdf\&inr, +where +.I m +tells a number of fields to skip from the beginning of the line and +.I n +tells a number of characters to skip further. +If any flags are present they override all the global +ordering options for this key. +If the +.B b +option is in effect +.I n +is counted from the first nonblank in the field; +.B b +is attached independently to +.IR pos2 . +A missing +\&\fB.\fIn\fR +means .0; +a missing +.BI \- pos2 +means the end of the line. +Under the +.BI \-t x +option, fields are strings separated by +.IR x ; +otherwise fields are +nonempty nonblank strings separated by blanks. +.PP +When there are multiple sort keys, later keys +are compared only after all earlier keys +compare equal. +Lines that otherwise compare equal are ordered +with all bytes significant. +.PP +These option arguments are also understood: +.TP 5 +.B c +Check that the input file is sorted according to the ordering rules; +give no output unless the file is out of sort. +.TP 5 +.B m +Merge only, the input files are already sorted. +.TP 5 +.B o +The next argument is the name of an output file +to use instead of the standard output. +This file may be the same as one of the inputs. +.TP 5 +.B T +The next argument is the name of a directory in which temporary files +should be made. +.TP 5 +.B u +Suppress all but one in each +set of equal lines. +Ignored bytes +and bytes outside keys +do not participate in +this comparison. +.PP +.B Examples. +Print in alphabetical order all the unique spellings +in a list of words. +Capitalized words differ from uncapitalized. +.PP +.ti +8 +sort \-u +0f +0 list +.PP +Print the password file +.RI ( passwd (5)) +sorted by user id number (the 3rd colon-separated field). +.PP +.ti +8 +sort \-t: +2n /etc/passwd +.PP +Print the first instance of each month in an already sorted file +of (month day) entries. +The options +.B \-um +with just one input file make the choice of a +unique representative from a set of equal lines predictable. +.PP +.ti +8 +sort \-um +0 \-1 dates +.SH FILES +/usr/tmp/stm*, /tmp/*: first and second tries for +temporary files +.SH "SEE ALSO" +uniq(1), +comm(1), +rev(1), +join(1) +.SH DIAGNOSTICS +Comments and exits with nonzero status for various trouble +conditions and for disorder discovered under option +.BR \-c . +.SH BUGS +Very long lines are silently truncated. diff --git a/bin/man/man1/split.1 b/bin/man/man1/split.1 index 0e5c682f..a88ff46c 100644 --- a/bin/man/man1/split.1 +++ b/bin/man/man1/split.1 @@ -1,35 +1,35 @@ -.TH SPLIT 1 -.SH NAME -split \- split a file into pieces -.SH SYNOPSIS -.B split -[ -.B \-\fIn -] -[ file [ name ] ] -.SH DESCRIPTION -.I Split -reads -.I file -and writes -it in -.IR n -line -pieces -(default 1000), as many as necessary, -onto -a set of output files. The name of the first output -file is -.I name -with -.B aa -appended, and so on -lexicographically. -If no output name is given, -.B x -is default. -.PP -If no input file is given, or -if -.B \- -is given in its stead, -then the standard input file is used. +.TH SPLIT 1 +.SH NAME +split \- split a file into pieces +.SH SYNOPSIS +.B split +[ +.B \-\fIn +] +[ file [ name ] ] +.SH DESCRIPTION +.I Split +reads +.I file +and writes +it in +.IR n -line +pieces +(default 1000), as many as necessary, +onto +a set of output files. The name of the first output +file is +.I name +with +.B aa +appended, and so on +lexicographically. +If no output name is given, +.B x +is default. +.PP +If no input file is given, or +if +.B \- +is given in its stead, +then the standard input file is used. diff --git a/bin/man/man1/su.1 b/bin/man/man1/su.1 index 14646aa8..9ed4082c 100644 --- a/bin/man/man1/su.1 +++ b/bin/man/man1/su.1 @@ -1,27 +1,27 @@ -.TH SU 1 -.SH NAME -su \- substitute user id temporarily -.SH SYNOPSIS -.B su -[ userid ] -.SH DESCRIPTION -.I Su -demands the password of the specified -.I userid, -and if it is given, -changes to that -.I userid -and invokes the Shell -.IR sh (1) -without changing the current directory or the -user environment (see -.IR environ (5)). -The new user ID stays in force until the Shell exits. -.PP -If no -.I userid -is specified, `root' is assumed. -To remind the super-user of his responsibilities, -the Shell substitutes `#' for its usual prompt. -.SH "SEE ALSO" -sh(1) +.TH SU 1 +.SH NAME +su \- substitute user id temporarily +.SH SYNOPSIS +.B su +[ userid ] +.SH DESCRIPTION +.I Su +demands the password of the specified +.I userid, +and if it is given, +changes to that +.I userid +and invokes the Shell +.IR sh (1) +without changing the current directory or the +user environment (see +.IR environ (5)). +The new user ID stays in force until the Shell exits. +.PP +If no +.I userid +is specified, `root' is assumed. +To remind the super-user of his responsibilities, +the Shell substitutes `#' for its usual prompt. +.SH "SEE ALSO" +sh(1) diff --git a/bin/man/man1/sum.1 b/bin/man/man1/sum.1 index 58182c30..72a6cce8 100644 --- a/bin/man/man1/sum.1 +++ b/bin/man/man1/sum.1 @@ -1,19 +1,19 @@ -.TH SUM 1 -.SH NAME -sum \- sum and count blocks in a file -.SH SYNOPSIS -.B sum -file -.SH DESCRIPTION -.I Sum -calculates and prints a 16-bit checksum for the named file, -and also prints the number of blocks in the file. -It is typically used to look for bad spots, or -to validate a file communicated over -some transmission line. -.SH "SEE ALSO" -wc(1) -.SH DIAGNOSTICS -`Read error' -is indistinuishable from end of file on -most devices; check the block count. +.TH SUM 1 +.SH NAME +sum \- sum and count blocks in a file +.SH SYNOPSIS +.B sum +file +.SH DESCRIPTION +.I Sum +calculates and prints a 16-bit checksum for the named file, +and also prints the number of blocks in the file. +It is typically used to look for bad spots, or +to validate a file communicated over +some transmission line. +.SH "SEE ALSO" +wc(1) +.SH DIAGNOSTICS +`Read error' +is indistinuishable from end of file on +most devices; check the block count. diff --git a/bin/man/man1/tail.1 b/bin/man/man1/tail.1 index 82edce46..a40c4f8c 100644 --- a/bin/man/man1/tail.1 +++ b/bin/man/man1/tail.1 @@ -1,35 +1,35 @@ -.TH TAIL 1 -.SH NAME -tail \- deliver the last part of a file -.SH SYNOPSIS -.B tail -.if t [ \(+-number[\fBlbc\fR] ] -.if n +_number[lbc___] -[ file ] -.SH DESCRIPTION -.I Tail -copies the named file to the standard output beginning -at a designated place. -If no file is named, the standard input is used. -.PP -Copying begins at distance -.I +number -from the beginning, or -.I \-number -from the end of the input. -.I Number -is counted in units of lines, blocks or characters, -according to the appended option -.B l, -.B b -or -.B c. -When no units are specified, counting is by lines. -.SH "SEE ALSO" -dd(1) -.SH BUGS -Tails relative to the end of the file -are treasured up in a buffer, and thus -are limited in length. -Various kinds of anomalous behavior may happen -with character special files. +.TH TAIL 1 +.SH NAME +tail \- deliver the last part of a file +.SH SYNOPSIS +.B tail +.if t [ \(+-number[\fBlbc\fR] ] +.if n +_number[lbc___] +[ file ] +.SH DESCRIPTION +.I Tail +copies the named file to the standard output beginning +at a designated place. +If no file is named, the standard input is used. +.PP +Copying begins at distance +.I +number +from the beginning, or +.I \-number +from the end of the input. +.I Number +is counted in units of lines, blocks or characters, +according to the appended option +.B l, +.B b +or +.B c. +When no units are specified, counting is by lines. +.SH "SEE ALSO" +dd(1) +.SH BUGS +Tails relative to the end of the file +are treasured up in a buffer, and thus +are limited in length. +Various kinds of anomalous behavior may happen +with character special files. diff --git a/bin/man/man1/tar.1 b/bin/man/man1/tar.1 index cae6821e..b5214717 100644 --- a/bin/man/man1/tar.1 +++ b/bin/man/man1/tar.1 @@ -1,167 +1,167 @@ -.TH TAR 1 -.SH NAME -tar \- tape archiver -.SH SYNOPSIS -.B tar -[ key ] [ name ... ] -.SH DESCRIPTION -.I Tar -saves and restores files -on magtape. -Its actions are controlled by the -.I key -argument. -The -.I key -is a string of characters containing -at most one function letter and possibly -one or more function modifiers. -Other arguments to the command are file or directory -names specifying which files are to be dumped or restored. -In all cases, appearance of a directory name refers to -the files and (recursively) subdirectories of that directory. -.PP -The function portion of -the key is specified by one of the following letters: -.TP 8 -.B r -The named files -are written -on the end of the tape. -The -.B c -function implies this. -.TP 8 -.B x -The named files are extracted from the tape. -If the named file matches a directory whose contents -had been written onto the tape, this directory is (recursively) extracted. -The owner, modification time, and mode are restored (if possible). -If no file argument is given, the entire content of the -tape is extracted. -Note that if multiple entries specifying the same file -are on the tape, the last one overwrites -all earlier. -.TP 8 -.B t -The names of the specified files are listed each time they occur -on the tape. -If no file argument is given, -all of the names on the tape are listed. -.TP 8 -.B u -The named files are added to the tape if either they -are not already there or have -been modified since last put on the tape. -.TP 8 -.B c -Create a new tape; writing begins on the beginning -of the tape instead of after the last file. -This command implies -.B r. -.PP -The following characters may be used in addition to the letter -which selects the function desired. -.TP 10 -.B 0,...,7 -This -modifier selects the drive on which the tape is mounted. -The default is -.BR 1 . -.TP 10 -.B v -Normally -.I tar -does its work silently. -The -.B v -(verbose) -option causes it to type the name of each file it treats -preceded by the function letter. -With the -.B t -function, -.B v -gives more information about the -tape entries than just the name. -.TP 10 -.B w -causes -.I tar -to print the action to be taken followed by file name, then -wait for user confirmation. If a word beginning with `y' -is given, the action is performed. Any other input means -don't do it. -.TP 10 -.B f -causes -.I tar -to use the next argument as the name of the archive instead -of /dev/mt?. -If the name of the file is `\-', tar writes to -standard output or reads from standard input, whichever is -appropriate. Thus, -.I tar -can be used as the head or tail of a filter chain -.I Tar -can also be used to move hierarchies with the command -.ce 1 -cd fromdir; tar cf - . | (cd todir; tar xf -) -.TP 10 -.B b -causes -.I tar -to use the next argument as the blocking factor for tape -records. The default is 1, the maximum is 20. This option -should only be used with raw magnetic tape archives (See -.B f -above). -The block size is determined automatically when reading -tapes (key letters `x' and `t'). -.TP 10 -.B l -tells -.I tar -to complain if it cannot resolve all of the links -to the files dumped. If this is not specified, no -error messages are printed. -.TP 10 -.B m -tells -.I tar -to not restore the modification times. -The mod time -will be the time of extraction. -.PP -.SH FILES -/dev/mt? -.br -/tmp/tar* -.SH DIAGNOSTICS -Complaints about bad key characters and tape read/write errors. -.br -Complaints if enough memory is not available to hold -the link tables. -.SH BUGS -There is no way to ask for the -.IR n -th -occurrence of a file. -.br -Tape errors are handled ungracefully. -.br -The -.B u -option can be slow. -.br -The -.B b -option should not be used with archives that are -going to be updated. The current magtape driver cannot -backspace raw magtape. -If the archive is on a disk file the -.B b -option should not be used at all, as updating -an archive stored in this manner can destroy it. -.br -The current limit on file name length is -100 characters. +.TH TAR 1 +.SH NAME +tar \- tape archiver +.SH SYNOPSIS +.B tar +[ key ] [ name ... ] +.SH DESCRIPTION +.I Tar +saves and restores files +on magtape. +Its actions are controlled by the +.I key +argument. +The +.I key +is a string of characters containing +at most one function letter and possibly +one or more function modifiers. +Other arguments to the command are file or directory +names specifying which files are to be dumped or restored. +In all cases, appearance of a directory name refers to +the files and (recursively) subdirectories of that directory. +.PP +The function portion of +the key is specified by one of the following letters: +.TP 8 +.B r +The named files +are written +on the end of the tape. +The +.B c +function implies this. +.TP 8 +.B x +The named files are extracted from the tape. +If the named file matches a directory whose contents +had been written onto the tape, this directory is (recursively) extracted. +The owner, modification time, and mode are restored (if possible). +If no file argument is given, the entire content of the +tape is extracted. +Note that if multiple entries specifying the same file +are on the tape, the last one overwrites +all earlier. +.TP 8 +.B t +The names of the specified files are listed each time they occur +on the tape. +If no file argument is given, +all of the names on the tape are listed. +.TP 8 +.B u +The named files are added to the tape if either they +are not already there or have +been modified since last put on the tape. +.TP 8 +.B c +Create a new tape; writing begins on the beginning +of the tape instead of after the last file. +This command implies +.B r. +.PP +The following characters may be used in addition to the letter +which selects the function desired. +.TP 10 +.B 0,...,7 +This +modifier selects the drive on which the tape is mounted. +The default is +.BR 1 . +.TP 10 +.B v +Normally +.I tar +does its work silently. +The +.B v +(verbose) +option causes it to type the name of each file it treats +preceded by the function letter. +With the +.B t +function, +.B v +gives more information about the +tape entries than just the name. +.TP 10 +.B w +causes +.I tar +to print the action to be taken followed by file name, then +wait for user confirmation. If a word beginning with `y' +is given, the action is performed. Any other input means +don't do it. +.TP 10 +.B f +causes +.I tar +to use the next argument as the name of the archive instead +of /dev/mt?. +If the name of the file is `\-', tar writes to +standard output or reads from standard input, whichever is +appropriate. Thus, +.I tar +can be used as the head or tail of a filter chain +.I Tar +can also be used to move hierarchies with the command +.ce 1 +cd fromdir; tar cf - . | (cd todir; tar xf -) +.TP 10 +.B b +causes +.I tar +to use the next argument as the blocking factor for tape +records. The default is 1, the maximum is 20. This option +should only be used with raw magnetic tape archives (See +.B f +above). +The block size is determined automatically when reading +tapes (key letters `x' and `t'). +.TP 10 +.B l +tells +.I tar +to complain if it cannot resolve all of the links +to the files dumped. If this is not specified, no +error messages are printed. +.TP 10 +.B m +tells +.I tar +to not restore the modification times. +The mod time +will be the time of extraction. +.PP +.SH FILES +/dev/mt? +.br +/tmp/tar* +.SH DIAGNOSTICS +Complaints about bad key characters and tape read/write errors. +.br +Complaints if enough memory is not available to hold +the link tables. +.SH BUGS +There is no way to ask for the +.IR n -th +occurrence of a file. +.br +Tape errors are handled ungracefully. +.br +The +.B u +option can be slow. +.br +The +.B b +option should not be used with archives that are +going to be updated. The current magtape driver cannot +backspace raw magtape. +If the archive is on a disk file the +.B b +option should not be used at all, as updating +an archive stored in this manner can destroy it. +.br +The current limit on file name length is +100 characters. diff --git a/bin/man/man1/tee.1 b/bin/man/man1/tee.1 index 609a4cb7..bcecd49f 100644 --- a/bin/man/man1/tee.1 +++ b/bin/man/man1/tee.1 @@ -1,24 +1,24 @@ -.TH TEE 1 -.SH NAME -tee \- pipe fitting -.SH SYNOPSIS -.B tee -[ -.B \-i -] [ -.B \-a -] -[ file ] ... -.SH DESCRIPTION -.I Tee -transcribes the standard input to the standard -output and makes copies in the -.I files. -Option -.B \-i -ignores interrupts; -option -.B \-a -causes the output to be appended to the -.I files -rather than overwriting them. +.TH TEE 1 +.SH NAME +tee \- pipe fitting +.SH SYNOPSIS +.B tee +[ +.B \-i +] [ +.B \-a +] +[ file ] ... +.SH DESCRIPTION +.I Tee +transcribes the standard input to the standard +output and makes copies in the +.I files. +Option +.B \-i +ignores interrupts; +option +.B \-a +causes the output to be appended to the +.I files +rather than overwriting them. diff --git a/bin/man/man1/test.1 b/bin/man/man1/test.1 index c7440419..62dec49b 100644 --- a/bin/man/man1/test.1 +++ b/bin/man/man1/test.1 @@ -1,115 +1,115 @@ -.TH TEST 1 -.SH NAME -test \- condition command -.SH SYNOPSIS -.B test -expr -.SH DESCRIPTION -.I test -evaluates the expression -.IR expr , -and if its value is true then returns zero exit status; otherwise, a -non zero exit status is returned. -.I test -returns a non zero exit if there are no arguments. -.PP -The following primitives are used to construct -.IR expr . -.TP 9n -.BR \-r " file" -true if the file exists and is readable. -.TP -.BR \-w " file" -true if the file exists and is writable. -.TP -.BR \-f " file" -true if the file exists and is not a directory. -.TP -.BR \-d " file" -true if the file exists and is a directory. -.TP -.BR \-s " file" -true if the file exists and has a size greater than zero. -.TP -.BR \-t " [ fildes ]" -true if the open file whose file descriptor number is -.I fildes -(1 by default) -is associated with a terminal device. -.TP -.BR \-z " s1" -true if the length of string -.I s1 -is zero. -.TP -.BR \-n " s1" -true if the length of the string -.I s1 -is nonzero. -.TP -.RB s1 " = " s2 -true -if the strings -.I s1 -and -.I s2 -are equal. -.TP -.RB s1 " != " s2 -true -if the strings -.I s1 -and -.I s2 -are not equal. -.TP -s1 -true if -.I s1 -is not the null string. -.TP -.RB n1 " \-eq " n2 -true if the integers -.I n1 -and -.I n2 -are algebraically equal. -Any of the comparisons -.BR \-ne , -.BR \-gt , -.BR \-ge , -.BR \-lt , -or -.BR \-le -may be used in place of -.BR \-eq . -.PP -These primaries may be combined with the -following operators: -.TP -.B ! -unary negation operator -.TP -.B \-a -binary -.I and -operator -.TP -.B \-o -binary -.I or -operator -.TP -.BR "( " "expr" " )" -parentheses for grouping. -.PP -.B \-a -has higher precedence than -.B \-o. -Notice that all the operators and flags are separate -arguments to -.IR test . -Notice also that parentheses are meaningful -to the Shell and must be escaped. -.SH "SEE ALSO" -sh(1), find(1) +.TH TEST 1 +.SH NAME +test \- condition command +.SH SYNOPSIS +.B test +expr +.SH DESCRIPTION +.I test +evaluates the expression +.IR expr , +and if its value is true then returns zero exit status; otherwise, a +non zero exit status is returned. +.I test +returns a non zero exit if there are no arguments. +.PP +The following primitives are used to construct +.IR expr . +.TP 9n +.BR \-r " file" +true if the file exists and is readable. +.TP +.BR \-w " file" +true if the file exists and is writable. +.TP +.BR \-f " file" +true if the file exists and is not a directory. +.TP +.BR \-d " file" +true if the file exists and is a directory. +.TP +.BR \-s " file" +true if the file exists and has a size greater than zero. +.TP +.BR \-t " [ fildes ]" +true if the open file whose file descriptor number is +.I fildes +(1 by default) +is associated with a terminal device. +.TP +.BR \-z " s1" +true if the length of string +.I s1 +is zero. +.TP +.BR \-n " s1" +true if the length of the string +.I s1 +is nonzero. +.TP +.RB s1 " = " s2 +true +if the strings +.I s1 +and +.I s2 +are equal. +.TP +.RB s1 " != " s2 +true +if the strings +.I s1 +and +.I s2 +are not equal. +.TP +s1 +true if +.I s1 +is not the null string. +.TP +.RB n1 " \-eq " n2 +true if the integers +.I n1 +and +.I n2 +are algebraically equal. +Any of the comparisons +.BR \-ne , +.BR \-gt , +.BR \-ge , +.BR \-lt , +or +.BR \-le +may be used in place of +.BR \-eq . +.PP +These primaries may be combined with the +following operators: +.TP +.B ! +unary negation operator +.TP +.B \-a +binary +.I and +operator +.TP +.B \-o +binary +.I or +operator +.TP +.BR "( " "expr" " )" +parentheses for grouping. +.PP +.B \-a +has higher precedence than +.B \-o. +Notice that all the operators and flags are separate +arguments to +.IR test . +Notice also that parentheses are meaningful +to the Shell and must be escaped. +.SH "SEE ALSO" +sh(1), find(1) diff --git a/bin/man/man1/time.1 b/bin/man/man1/time.1 index 45135e94..29a336e7 100644 --- a/bin/man/man1/time.1 +++ b/bin/man/man1/time.1 @@ -1,26 +1,26 @@ -.TH TIME 1 -.SH NAME -time \- time a command -.SH SYNOPSIS -.B time -command -.SH DESCRIPTION -The -given command is executed; after it is complete, -.I time -prints the elapsed time during the command, the time -spent in the system, and the time spent in execution -of the command. -Times are reported in seconds. -.PP -The execution time can depend on what kind of memory -the program happens to land in; -the user time in MOS is often half what it is in core. -.PP -The times are printed on the diagnostic output stream. -.SH BUGS -Elapsed time is accurate to the second, -while the CPU times are measured -to the 60th second. -Thus the sum of the CPU times can be up to a second larger -than the elapsed time. +.TH TIME 1 +.SH NAME +time \- time a command +.SH SYNOPSIS +.B time +command +.SH DESCRIPTION +The +given command is executed; after it is complete, +.I time +prints the elapsed time during the command, the time +spent in the system, and the time spent in execution +of the command. +Times are reported in seconds. +.PP +The execution time can depend on what kind of memory +the program happens to land in; +the user time in MOS is often half what it is in core. +.PP +The times are printed on the diagnostic output stream. +.SH BUGS +Elapsed time is accurate to the second, +while the CPU times are measured +to the 60th second. +Thus the sum of the CPU times can be up to a second larger +than the elapsed time. diff --git a/bin/man/man1/touch.1 b/bin/man/man1/touch.1 index 6ec9db25..cb54def1 100644 --- a/bin/man/man1/touch.1 +++ b/bin/man/man1/touch.1 @@ -1,22 +1,22 @@ -.TH TOUCH 1 -.SH NAME -touch \- update date last modified of a file -.SH SYNOPSIS -.B touch -[ -.B \-c -] -file ... -.SH DESCRIPTION -.I Touch -attempts to set the modified date of each -.I file. -This is done by reading a character from the file -and writing it back. -.PP -If a -.I file -does not exist, -an attempt will be made to create it unless the -.B \-c -option is specified. +.TH TOUCH 1 +.SH NAME +touch \- update date last modified of a file +.SH SYNOPSIS +.B touch +[ +.B \-c +] +file ... +.SH DESCRIPTION +.I Touch +attempts to set the modified date of each +.I file. +This is done by reading a character from the file +and writing it back. +.PP +If a +.I file +does not exist, +an attempt will be made to create it unless the +.B \-c +option is specified. diff --git a/bin/man/man1/tr.1 b/bin/man/man1/tr.1 index 58507829..382eb1dc 100644 --- a/bin/man/man1/tr.1 +++ b/bin/man/man1/tr.1 @@ -1,67 +1,67 @@ -.TH TR 1 -.SH NAME -tr \- translate characters -.SH SYNOPSIS -.B tr -[ -.B \-cds -] [ string1 [ string2 ] ] -.SH DESCRIPTION -.I Tr -copies the standard input to the standard output with -substitution or deletion of selected characters. -Input characters found in -.I string1 -are mapped into the corresponding characters of -.IR string2 . -When -.I string2 -is short it is padded to the length of -.I string1 -by duplicating its last character. -Any combination of the options -.B \-cds -may be used: -.B \-c -complements the set of characters in -.I string1 -with respect to the universe of characters -whose ASCII codes are 01 through 0377 octal; -.B \-d -deletes all input characters in -.I string1; -.B \-s -squeezes all strings of repeated output characters that are -in -.I string2 -to single characters. -.PP -In either string the notation -.IB a \- b -means a range of characters from -.I a -to -.I b -in increasing ASCII order. -The character -`\e' followed by 1, 2 or 3 octal digits stands for the -character whose ASCII code is given by those digits. -A `\e' followed by any other character stands -for that character. -.PP -The following example creates a list of all -the words in `file1' one per line in `file2', -where a word is taken to be a maximal string of alphabetics. -The second string is quoted -to protect `\e' from the Shell. -012 is the ASCII code for newline. -.IP -tr \-cs A\-Za\-z \'\e012\' file2 -.SH "SEE ALSO" -ed(1), ascii(7) -.SH BUGS -Won't handle ASCII NUL in -.I string1 -or -.I string2; -always deletes NUL from input. +.TH TR 1 +.SH NAME +tr \- translate characters +.SH SYNOPSIS +.B tr +[ +.B \-cds +] [ string1 [ string2 ] ] +.SH DESCRIPTION +.I Tr +copies the standard input to the standard output with +substitution or deletion of selected characters. +Input characters found in +.I string1 +are mapped into the corresponding characters of +.IR string2 . +When +.I string2 +is short it is padded to the length of +.I string1 +by duplicating its last character. +Any combination of the options +.B \-cds +may be used: +.B \-c +complements the set of characters in +.I string1 +with respect to the universe of characters +whose ASCII codes are 01 through 0377 octal; +.B \-d +deletes all input characters in +.I string1; +.B \-s +squeezes all strings of repeated output characters that are +in +.I string2 +to single characters. +.PP +In either string the notation +.IB a \- b +means a range of characters from +.I a +to +.I b +in increasing ASCII order. +The character +`\e' followed by 1, 2 or 3 octal digits stands for the +character whose ASCII code is given by those digits. +A `\e' followed by any other character stands +for that character. +.PP +The following example creates a list of all +the words in `file1' one per line in `file2', +where a word is taken to be a maximal string of alphabetics. +The second string is quoted +to protect `\e' from the Shell. +012 is the ASCII code for newline. +.IP +tr \-cs A\-Za\-z \'\e012\' file2 +.SH "SEE ALSO" +ed(1), ascii(7) +.SH BUGS +Won't handle ASCII NUL in +.I string1 +or +.I string2; +always deletes NUL from input. diff --git a/bin/man/man1/troff.1 b/bin/man/man1/troff.1 index ab83e329..1844ac88 100644 --- a/bin/man/man1/troff.1 +++ b/bin/man/man1/troff.1 @@ -1,212 +1,212 @@ -.TH TROFF 1 -.SH NAME -troff, nroff \- text formatting and typesetting -.SH SYNOPSIS -.B troff -[ option ] ... -[ file ] ... -.PP -.B nroff -[ option ] ... -[ file ] ... -.SH DESCRIPTION -.I Troff -formats text in the named -.I files -for -printing on a Graphic Systems C/A/T phototypesetter; -.I nroff -for typewriter-like devices. -Their capabilities are described in the -.I Nroff/Troff user's manual. -.PP -If no -.I file -argument is present, the standard input is read. -An argument consisting of a single minus -.RB ( \- ) -is taken to be -a file name corresponding to the standard input. -The options, which may appear in any order so long as they appear -before the files, are: -.TP "\w'\f3\-m\f1name 'u" -.BI \-o list -Print only pages whose page numbers appear in -the comma-separated -.I list -of numbers and ranges. -A range -.IB N \- M -means pages -.I N -through -.IR M ; -an initial -.I \-N -means -from the beginning to page -.IR N ; -and a final -.IR N \- -means -from -.I N -to the end. -.TP -.BI \-n N -Number first generated page -.IR N . -.TP -.BI \-s N -Stop every -.I N -pages. -.I Nroff -will halt prior to every -.I N -pages (default -.IR N =1) -to allow paper loading or -changing, and will resume upon receipt of a newline. -.I Troff -will stop the phototypesetter every -.I N -pages, -produce a trailer to allow changing cassettes, -and resume when the typesetter's start button is pressed. -.TP -.BI \-m name -Prepend the macro file -.BI /usr/lib/tmac/tmac. name -to the input -.IR files . -.TP -.BI \-r aN -Set register -.I a -(one-character) to -.IR N . -.TP -.B \-i -Read standard input after the input files are exhausted. -.TP -.B \-q -Invoke the simultaneous input-output mode of the -.B rd -request. -.HP -.bd I 3 -.I Nroff only -.br -.bd I -.TP -.BI \-T name -Prepare output for specified terminal. -Known -.I names -are -.B 37 -for the (default) -Teletype Corporation Model 37 terminal, -.B tn300 -for the GE TermiNet\ 300 (or any terminal without half-line -capability), -.B 300S -for the \s-1DASI\s+1-300S, -.B 300 -for the \s-1DASI\s+1-300, -and -.B 450 -for the \s-1DASI\s+1-450 -(Diablo Hyterm). -.TP -.B \-e -Produce equally-spaced words in adjusted -lines, using full terminal resolution. -.TP -.B \-h -Use output tabs during horizontal spacing -to speed output and reduce output character count. -Tab settings are assumed to be every -8 nominal character widths. -.HP -.bd I 3 -.I Troff only -.br -.bd I -.TP -.B \-t -Direct output to the standard output instead -of the phototypesetter. -.TP -.B \-f -Refrain from feeding out paper and stopping -phototypesetter at the end of the run. -.TP -.B \-w -Wait until phototypesetter is available, if -currently busy. -.TP -.B \-b -Report whether the phototypesetter -is busy or available. -No text processing is done. -.TP -.B \-a -Send a printable ASCII approximation -of the results to the standard output. -.TP -.BR \-p N -Print all characters in point size -.I N -while retaining all prescribed spacings and motions, -to reduce phototypesetter elasped time. -.TP -.B \-g -Prepare output for a GCOS -phototypesetter and direct it to the standard output -(see -.IR gcat (1)). -.PP -If the file -.I /usr/adm/tracct -is writable, -.I troff -keeps phototypesetter accounting records there. -The integrity of that file may be secured by making -.I troff -a `set user-id' program. -.SH FILES -.ta \w'/usr/lib/tmac/tmac.* 'u -/usr/lib/suftab suffix hyphenation tables -.br -/tmp/ta* temporary file -.br -/usr/lib/tmac/tmac.* standard macro files -.br -/usr/lib/term/* terminal driving tables for -.I nroff -.br -/usr/lib/font/* font width tables for -.I troff -.br -/dev/cat phototypesetter -.br -/usr/adm/tracct accounting statistics for /dev/cat -.SH "SEE ALSO" -J. F. Ossanna, -.I Nroff/Troff user's manual -.br -B. W. Kernighan, -.I -A TROFF Tutorial -.br -eqn(1), tbl(1) -.br -col(1), tk(1) -.RI ( nroff -only) -.br -tc(1), gcat(1) -.RI ( troff -only) +.TH TROFF 1 +.SH NAME +troff, nroff \- text formatting and typesetting +.SH SYNOPSIS +.B troff +[ option ] ... +[ file ] ... +.PP +.B nroff +[ option ] ... +[ file ] ... +.SH DESCRIPTION +.I Troff +formats text in the named +.I files +for +printing on a Graphic Systems C/A/T phototypesetter; +.I nroff +for typewriter-like devices. +Their capabilities are described in the +.I Nroff/Troff user's manual. +.PP +If no +.I file +argument is present, the standard input is read. +An argument consisting of a single minus +.RB ( \- ) +is taken to be +a file name corresponding to the standard input. +The options, which may appear in any order so long as they appear +before the files, are: +.TP "\w'\f3\-m\f1name 'u" +.BI \-o list +Print only pages whose page numbers appear in +the comma-separated +.I list +of numbers and ranges. +A range +.IB N \- M +means pages +.I N +through +.IR M ; +an initial +.I \-N +means +from the beginning to page +.IR N ; +and a final +.IR N \- +means +from +.I N +to the end. +.TP +.BI \-n N +Number first generated page +.IR N . +.TP +.BI \-s N +Stop every +.I N +pages. +.I Nroff +will halt prior to every +.I N +pages (default +.IR N =1) +to allow paper loading or +changing, and will resume upon receipt of a newline. +.I Troff +will stop the phototypesetter every +.I N +pages, +produce a trailer to allow changing cassettes, +and resume when the typesetter's start button is pressed. +.TP +.BI \-m name +Prepend the macro file +.BI /usr/lib/tmac/tmac. name +to the input +.IR files . +.TP +.BI \-r aN +Set register +.I a +(one-character) to +.IR N . +.TP +.B \-i +Read standard input after the input files are exhausted. +.TP +.B \-q +Invoke the simultaneous input-output mode of the +.B rd +request. +.HP +.bd I 3 +.I Nroff only +.br +.bd I +.TP +.BI \-T name +Prepare output for specified terminal. +Known +.I names +are +.B 37 +for the (default) +Teletype Corporation Model 37 terminal, +.B tn300 +for the GE TermiNet\ 300 (or any terminal without half-line +capability), +.B 300S +for the \s-1DASI\s+1-300S, +.B 300 +for the \s-1DASI\s+1-300, +and +.B 450 +for the \s-1DASI\s+1-450 +(Diablo Hyterm). +.TP +.B \-e +Produce equally-spaced words in adjusted +lines, using full terminal resolution. +.TP +.B \-h +Use output tabs during horizontal spacing +to speed output and reduce output character count. +Tab settings are assumed to be every +8 nominal character widths. +.HP +.bd I 3 +.I Troff only +.br +.bd I +.TP +.B \-t +Direct output to the standard output instead +of the phototypesetter. +.TP +.B \-f +Refrain from feeding out paper and stopping +phototypesetter at the end of the run. +.TP +.B \-w +Wait until phototypesetter is available, if +currently busy. +.TP +.B \-b +Report whether the phototypesetter +is busy or available. +No text processing is done. +.TP +.B \-a +Send a printable ASCII approximation +of the results to the standard output. +.TP +.BR \-p N +Print all characters in point size +.I N +while retaining all prescribed spacings and motions, +to reduce phototypesetter elasped time. +.TP +.B \-g +Prepare output for a GCOS +phototypesetter and direct it to the standard output +(see +.IR gcat (1)). +.PP +If the file +.I /usr/adm/tracct +is writable, +.I troff +keeps phototypesetter accounting records there. +The integrity of that file may be secured by making +.I troff +a `set user-id' program. +.SH FILES +.ta \w'/usr/lib/tmac/tmac.* 'u +/usr/lib/suftab suffix hyphenation tables +.br +/tmp/ta* temporary file +.br +/usr/lib/tmac/tmac.* standard macro files +.br +/usr/lib/term/* terminal driving tables for +.I nroff +.br +/usr/lib/font/* font width tables for +.I troff +.br +/dev/cat phototypesetter +.br +/usr/adm/tracct accounting statistics for /dev/cat +.SH "SEE ALSO" +J. F. Ossanna, +.I Nroff/Troff user's manual +.br +B. W. Kernighan, +.I +A TROFF Tutorial +.br +eqn(1), tbl(1) +.br +col(1), tk(1) +.RI ( nroff +only) +.br +tc(1), gcat(1) +.RI ( troff +only) diff --git a/bin/man/man1/true.1 b/bin/man/man1/true.1 index cf415714..066f07c1 100644 --- a/bin/man/man1/true.1 +++ b/bin/man/man1/true.1 @@ -1,30 +1,30 @@ -.TH TRUE 1 -.SH NAME -true, false \- provide truth values -.SH SYNOPSIS -.B true -.PP -.B false -.SH DESCRIPTION -.I True -does nothing, successfully. -.I False -does nothing, unsuccessfully. -They are typically used in input to -.IR sh (1) -such as: -.PP - while true -.br - do -.br - command -.br - done -.SH "SEE ALSO" -sh(1) -.SH DIAGNOSTICS -.I True -has exit status zero, -.I false -nonzero. +.TH TRUE 1 +.SH NAME +true, false \- provide truth values +.SH SYNOPSIS +.B true +.PP +.B false +.SH DESCRIPTION +.I True +does nothing, successfully. +.I False +does nothing, unsuccessfully. +They are typically used in input to +.IR sh (1) +such as: +.PP + while true +.br + do +.br + command +.br + done +.SH "SEE ALSO" +sh(1) +.SH DIAGNOSTICS +.I True +has exit status zero, +.I false +nonzero. diff --git a/bin/man/man1/uniq.1 b/bin/man/man1/uniq.1 index ad5439a8..b5f038be 100644 --- a/bin/man/man1/uniq.1 +++ b/bin/man/man1/uniq.1 @@ -1,72 +1,72 @@ -.TH UNIQ 1 -.SH NAME -uniq \- report repeated lines in a file -.SH SYNOPSIS -.B uniq -[ -.B \-udc -[ -.BR + n -] [ -.BR \- n -] -] [ input [ output ] ] -.SH DESCRIPTION -.I Uniq -reads the input -file comparing adjacent lines. -In the normal case, the second and succeeding copies -of repeated lines are -removed; the remainder is written on the output file. -Note that repeated lines must be adjacent -in order to be found; -see -.IR sort (1). -If the -.B \-u -flag is used, -just the lines that are not repeated -in the original file are output. -The -.B \-d -option specifies that -one copy of just the repeated lines is to -be written. -The normal mode output is the union of the -.B \-u -and -.B \-d -mode outputs. -.PP -The -.B \-c -option supersedes -.B \-u -and -.B \-d -and generates -an output report in default style -but with each line preceded by a count of the -number of times it occurred. -.PP -The -.I n -arguments specify skipping an initial portion of each line -in the comparison: -.TP 8 -.BI \- n -The first -.IR n -fields -together with any blanks before each are ignored. -A field is defined as a string of non-space, non-tab characters -separated by tabs and spaces from its neighbors. -.TP 8 -.BI + n -The first -.IR n -characters are ignored. -Fields are skipped before characters. -.PP -.SH "SEE ALSO" -sort(1), comm(1) +.TH UNIQ 1 +.SH NAME +uniq \- report repeated lines in a file +.SH SYNOPSIS +.B uniq +[ +.B \-udc +[ +.BR + n +] [ +.BR \- n +] +] [ input [ output ] ] +.SH DESCRIPTION +.I Uniq +reads the input +file comparing adjacent lines. +In the normal case, the second and succeeding copies +of repeated lines are +removed; the remainder is written on the output file. +Note that repeated lines must be adjacent +in order to be found; +see +.IR sort (1). +If the +.B \-u +flag is used, +just the lines that are not repeated +in the original file are output. +The +.B \-d +option specifies that +one copy of just the repeated lines is to +be written. +The normal mode output is the union of the +.B \-u +and +.B \-d +mode outputs. +.PP +The +.B \-c +option supersedes +.B \-u +and +.B \-d +and generates +an output report in default style +but with each line preceded by a count of the +number of times it occurred. +.PP +The +.I n +arguments specify skipping an initial portion of each line +in the comparison: +.TP 8 +.BI \- n +The first +.IR n +fields +together with any blanks before each are ignored. +A field is defined as a string of non-space, non-tab characters +separated by tabs and spaces from its neighbors. +.TP 8 +.BI + n +The first +.IR n +characters are ignored. +Fields are skipped before characters. +.PP +.SH "SEE ALSO" +sort(1), comm(1) diff --git a/bin/man/man1/wc.1 b/bin/man/man1/wc.1 index 7363fcf9..ea15cb38 100644 --- a/bin/man/man1/wc.1 +++ b/bin/man/man1/wc.1 @@ -1,23 +1,23 @@ -.TH WC 1 -.SH NAME -wc \- word count -.SH SYNOPSIS -.B wc -[ -.B \-lwc -] -[ name ... ] -.SH DESCRIPTION -.I Wc -counts lines, words and characters in the named files, -or in the standard input if no name appears. -A word is a maximal string of characters -delimited by spaces, tabs or newlines. -.PP -If the optional argument is present, -just the specified counts (lines, words or characters) -are selected by the letters -.BR l , -.BR w , -or -.BR c . +.TH WC 1 +.SH NAME +wc \- word count +.SH SYNOPSIS +.B wc +[ +.B \-lwc +] +[ name ... ] +.SH DESCRIPTION +.I Wc +counts lines, words and characters in the named files, +or in the standard input if no name appears. +A word is a maximal string of characters +delimited by spaces, tabs or newlines. +.PP +If the optional argument is present, +just the specified counts (lines, words or characters) +are selected by the letters +.BR l , +.BR w , +or +.BR c . diff --git a/bin/mkboot%.ucp b/bin/mkboot%.ucp deleted file mode 100644 index a0c41302..00000000 --- a/bin/mkboot%.ucp +++ /dev/null @@ -1,133 +0,0 @@ -root b: -cd / -mkdir bin -mkdir boot -mkdir dev -mkdir etc -mkdir home -mkdir lib -mkdir mnt -mkdir root -mkdir tmp -mkdir usr -mkdir var -cd /bin -bget banked\align align -chmod 755 align -align align -bget banked\cat cat -chmod 755 cat -align cat -bget banked\chgrp chgrp -chmod 755 chgrp -align chgrp -bget banked\chmod chmod -chmod 755 chmod -align chmod -bget banked\chown chown -chmod 755 chown -align chown -bget banked\cp cp -chmod 755 cp -align cp -bget banked\echo echo -chmod 755 echo -align echo -bget banked\fsck fsck -chmod 755 fsck -align fsck -bget banked\init init -chmod 755 init -align init -sln cp ln -bget banked\login login -chmod 755 login -align login -bget banked\ls ls -chmod 755 ls -align ls -bget banked\mkdir mkdir -chmod 755 mkdir -align mkdir -bget banked\more more -chmod 755 more -align more -bget banked\mount mount -chmod 755 mount -align mount -bget banked\msh msh -chmod 755 msh -align msh -sln cp mv -bget banked\reboot reboot -chmod 755 reboot -align reboot -sln cp rm -bget banked\rmdir rmdir -chmod 755 rmdir -align rmdir -sln msh sh -bget banked\ualign ualign -chmod 755 ualign -align ualign -bget banked\umount umount -chmod 755 umount -align umount -cd /boot -bget kernel.bin -align kernel.bin -cd /dev -umask 000 -mknod hd0 60666 0 0 -mknod hd1 60666 0 1 -mknod null 20666 1 0 -mknod zero 20666 2 0 -mknod kmem 20666 3 0 -mknod tty 20666 4 0 -mknod tty0 20666 4 1 -mknod tty1 20666 4 2 -mknod tty2 20666 4 3 -mknod tty3 20666 4 4 -mknod scale 20666 4 5 -mknod lcd0 20666 4 6 -mknod lcd1 20666 4 7 -mknod lpr0 20666 4 9 -umask 022 -sln tty0 cognitive -sln tty1 barcode -sln tty1 console -sln tty2 atmodem -sln tty3 apilan -sln lpr0 printer -cd /etc -get group.txt group -get passwd.txt passwd -get mtab.txt mtab -get fstab.txt fstab -get inittab.txt inittab -get profile.sh profile -mkdir rc.d -cd /etc/rc.d -get sysinit.rc rc.sysinit -chmod 755 rc.sysinit -get runonce.rc rc.runonce -chmod 755 rc.runonce -cd /home -mkdir downingn -chown 60 downingn -chgrp 100 downingn -mkdir morsinkj -chown 70 morsinkj -chgrp 100 morsinkj -mkdir buijsr -chown 80 buijsr -chgrp 100 buijsr -mkdir tsys -chown 0 tsys -chgrp 0 tsys -cd /home/tsys -get profile.tsys.sh .profile -chmod 755 .profile -cd /lib -get liberror.txt -exit diff --git a/bin/mkboot.ucp b/bin/mkboot.ucp index 63787046..9a82bd1c 100644 --- a/bin/mkboot.ucp +++ b/bin/mkboot.ucp @@ -23,7 +23,12 @@ get nos/news news get nos/popusers popusers get nos/signatur signatur get nos/forward.bbs forward.bbs -get nos/raise.asci0 raise.asci0 +get nos/init.escc0 init.escc0 +get nos/raise.escc0 raise.escc0 +get nos/drop.escc0 drop.escc0 +get nos/init.escc1 init.escc1 +get nos/raise.escc1 raise.escc1 +get nos/drop.escc1 drop.escc1 cd /lib get liberror.txt cd /var diff --git a/bin/n.bat b/bin/n.bat index 8153147a..e7dabb92 100644 --- a/bin/n.bat +++ b/bin/n.bat @@ -7,15 +7,14 @@ copy/b uzboot.ldr + uzboot.gz uzboot.bin @rem the following should be uncommented to use the old style bootstrap script @rem copy kernel.bin uzboot.bin -md \nlddl -copy checksum.dat \nlddl -copy checksum.dat \nlddl\crc.dat -copy boot.bin \nlddl -copy uzboot.bin \nlddl\kernel.bin -set country=NLD -del \nlddl\checksum -crc -copy \nlddl\checksum . +md nlddl +copy checksum.dat nlddl +copy checksum.dat nlddl\crc.dat +copy boot.bin nlddl +copy uzboot.bin nlddl\kernel.bin +del nlddl\checksum +crc nlddl +copy nlddl\checksum . del uzidisk.dat touch uzidisk.dat diff --git a/bin/nlddl/CHECKSUM b/bin/nlddl/CHECKSUM new file mode 100644 index 0000000000000000000000000000000000000000..a7a4fe3f094589807e61160c8c3603a703f1cc3a GIT binary patch literal 128 zcmZ>AGcqAGcqs{mZc^m4CdSi{R4yEX)5(vJ5rOFp0n#oEKk;rvK`+I2>L;+ z=~z!;tp@AwV67I*0#cV?8W)uTmE^vC^rTHaPK0HMR@i(4v{|5U2gBsT=cqKw6VZ20k^(8bu_EaNHWa|YY-bz{Q?V| zAv47i8__=@EO3@skj>t3B&0-R31x3=f3yp7aP}^86S0`mw=Wh?aPBViU1s=y(~lF` zIs@>RK&vCzrG)nM2D`(Zeg!#K=^qiAqF*_9-LDE=F<#D~ z(isT_qYAGoID{g~gILH4jl*n2Mo6+x%<#fqv`>$fmEJXnnNet#F=MIo5xwl_=2qZk z{IWw95fw%A(4zcAld|ySk&&n#dYD;A3l22?D|g zHv}^UY3B+r3n?LsdOB7%qW+OfY{Y^@e{#)P`o~0GhMcl~8j5;~IG5;WfjCXdK)!8* zrFk)QRw#vx2=wimn+3dBDt4EDqud(xILb=r%STxtNi1lgHcaSeHack=yx=kEZQHhdAmm$hU2n2BWm4uE#WJ z=RU!H1J>%X{tDLCVs$6h8nK!z)O_$Jnjc$wJ!XNmSU}<^Yn_u2ynKaVz}i6_i8=Yp z^`O^?3+=(NS5xyaa#+xWo74>q}DRR-oc zBpyv6M8j?Tc@~70fqqH0DgV^-r4RHPybipS>pFJLLAmBLpqri+n$d3dx@#J?5cGr} zqHr|U6@u+M>7}O}u$^lZG&lafkfA@=VXy8=zhr~W%KsM9&)N0>ts;pdzX%n8d|k;< zxcUR@AmlgYU!H#^*Dr#1L}Hyi0L~FrC#LKE;AeMninaK+Y}~PZ zsqq>%SF+(slW&phH1T*Z+a4_!@<}CmZ%vjBg zYG&xnSjmhUOGH0s?`D6=-pV5M?^_AQVKO%D>++(%K-#{&$;%hw^AbJ1yO5CI1^Iig M2rj(l^8aQ14Zd2QUH||9 literal 0 HcmV?d00001 diff --git a/bin/nlddl/checksum.dat b/bin/nlddl/checksum.dat new file mode 100644 index 00000000..172cee84 --- /dev/null +++ b/bin/nlddl/checksum.dat @@ -0,0 +1,2 @@ +C A:KERNEL.BIN +C A:BOOT.BIN diff --git a/bin/nlddl/crc.dat b/bin/nlddl/crc.dat new file mode 100644 index 00000000..172cee84 --- /dev/null +++ b/bin/nlddl/crc.dat @@ -0,0 +1,2 @@ +C A:KERNEL.BIN +C A:BOOT.BIN diff --git a/bin/nlddl/kernel.bin b/bin/nlddl/kernel.bin new file mode 100644 index 0000000000000000000000000000000000000000..227f25c5115de1b5f1a0c2828ac16bc055af0cfb GIT binary patch literal 141312 zcmb5VbyS;C^DY|P-JRg>?pCxwad&rjcei529g0J7Z*g~bcPZ|0((m`3yY4ynubX7; zwcnZ9&pdnf%p@zxJ5mY(@KonOe}@7D0fLZ%5mOM0?=N_u4#8=juP=CEMudZlh?~V9;K+bjmybehQ6rlkV zaR5Xl8ng=@mdkG!ye#i<>n#Ad^)|pCA*eB)F+4%iXI%UNFjBw;9M%8V2EntQba&*R z3XB>TN(k(Nm+IjC;DVO?0!VRzN4axBOL_qWUZ9cf2!UVlvW{Sm5RMGgf~+ohsf8f_ zi|<)agERn!3Ya(m{P_oX`$x*_5QT`5)WtsF_s9h~iqT#?`beGx%q?7=|JU>6{1u=D%D#*Q^rp#KFgZ#o-EFdK33geTNH z5Eu*%Kk*BS4j7C^64P>_Oj=Jz9*hPH_%|(m2XY1Tkpv6U7z%++kU@c#O*nxA5u?z? z!zS3FuxQNRT>$Uo|1W{s|1FUCzXk075xgJlpmBwOeDKs$OpHO{R{lp23=;H@fk@E@ zL&JhdfvD@#u?LU%w2Yd7oqfRZ06&O$pn%|DxcG}uC@6<8QhtJm5D$+5e`NI;DQ2Okb;pR1yhot1oxRk2=>lG3PFLmf`Ng-fyDorlY?|X z-ViVhz(hHe5G2UOAfy!9OV9v51}HT_8aN>ckkI1~>IKLKjW+~{7%|}o0Xhacq~HrV zlwdeKGPK~c1CSV`1Z~~t1C@t?hTsE@22Kd(9~=TM%zq#TAryB&K5)_gvyp#S^b=K3 zxZpc3sdzlMOy1B88{g9YM*5&U2BUqj&FI7q?CIsPDc)sdc}0RUj&fB~Rw2%HPK zGiVW<0=eWF9PQa3L`1I-Ql0~!Uo-?jg%FUP5DG{|eg=0YNcsQ-`0MMWuDE@KkK%ZQ_g$4--07#ADj}cs0qduL1 zHttM5^B?ndI-FoI061t1aQG**f%1|EUI)RI?u>vg;o$tq%^l9h zylH4a<{$wdaqvGj7#IQ{uspCJ86Q!wV)_|~{+KuE0jO1s;Ms$0!a%b{*k#bT;SXRV z3f>^!IM^HW-5EXrH5d+iP;=PLBm5K zKq5jQfg^*Vki@_Ogx(TFz#-0cQ5*>tGCtM6H>F|lqVN2k#QOD}rT(BlEhivNc79pG zR+(^Z8QAufZGUlgby0H@tK)2$>JJ9|k~3au`UeoQW+^Bwh~NHj7r>s&TMCtTrt5mS zIZt?K8J%zK7%yRqPaO$?zV_Iax<8DJD8sJn!~Gi5_`3Pnebsg4vy~UemE5wZ(y`gl zURdbdRW{pTKamMvM~kgppOt!<4NeW1=isz6LFLrJueX4JKNMY22!rCn-R1vr!zG$H z*1?l>)N5u3+{}a-B`tYlq(KXDj#RdvP+C0v+41!mBYp@N5XHxH&UF-EZ2%Pp$GtDi zi?7zD|Cw@n|BSq>>ac*<0Y^w}Wj4PrB(s*FfmqJ?wdj>-^%?iVKi!?Uc%!EzCt*(M zQA*wC&WlhmsJ*dXG<Vx)54A%pBbG^Kj_o{bl#RXKmmdo= zQj`G$)`ejTwPPArb?}2AGqYr|>nHLm*m&s-T;X=WkHLuaRi+mM)vlN~IW-6UKe5VI zm!!%(C(asmmDPAY?Pnd0yjxA@N8>96yV)hp`@ev0OENZ?oc1VTyx};erFzFZAwLg?mFdLOpn{V4 zpp+DnE--mktxBeUzf~5=b@YUf@d*7==7wNWaT9yS`L+o$A#lLXF&?gJ{KJ@qqOQDC zk@w~%r|o&vM)E*!PrMfM6|2E&OKw2tA*VDW=W^Y5gtFanz0=o~Y@m)|;9E8>bt$V& zgkAC~z(oK*0ptET*YO8%bkb^*HvbUlFO-Bk94<~Ikj~}gtXeH-;g;LN2gt^$x@=I- zcGa?;p*qsCvEC4kMLUX6M<24NKCN+4KOhTZRE5%7KWZH0t$Yn`LOp6NliYCIJpGui zKrW13_0DzNu43MOT9n@#CP?7RElu^u(84$f5aUOgxjeEwdbApnYrKtU+}kHRGV0XM zkz(OSo;j_#n#05mpU(`%`>Wgp3pKB93KPPm?*senFTJ)^=;S^{X1jT{dfA&%c-hzZ zzE4)H&e$d9mfg7h){md^?52I_Xnn^rN+^nFBWoTn>&jO+LMW5;tx4uCeTCKpGozGdj?F^XuL(>o>xC9qmz*VvfZ~F zuN;C4u_1UMY*earO&)qruZ1Y8{fqfbhRVzCDQVW2*3OH z_&zz6NF+JRNRIMKjz6K*D|m5>4PF`}QzTCo3 zUTUOek;pQM(hMAy&&kD;XkT9uXkd0a(eZBgf(PnCktpUwUuLm(U1zp^-rdYlvD0j^ zGdE+eEznK1nJ=7WGLEKh4y9U`(eQqpBKQjHLA;@|TRIjxS|Bz)I)y`yn1-^B7)@&4#G8CX=R z(jLv2550R6H1){Xf*nv-;Y(`s4^dTROn~t&J!k|PACbs zRSX5w|J-z5&?)rZsAy5WuZhL~jflt)zV;W``ga7T@}ZYV+QDvp8wg-S*4k4YJu5Fe zHQrxuJx>VT!{T-17aFr2Y!aReGa3%^`%aDU0GS7{2TV;JsQk_cbHDD z8-2s-NoDAq!A<Y5dasPH@@T+cQYlJtsMY=IJV_9aYk^sNPV64jJ=Wnmcvcc zv&(mo0ril_pzJtnndStMt)kq4MEltTQR_9#a6h{tceq2rEUD*E1iS z&WN)rsHqNlQ5?&2XDOT;3GeffQS;NT&jE1>Ls-YC`;9;RET%`J{Q0K-EG57^=&fUk z_Hznhf2%|EJ-{dDh97%)s8%IchxD`KETxuZDqYyjbBo1_$F4Q^Z6xiJx$pkSp!p4E ziNWDx{f*ZpYvr_dbfx!0 zAQ((SG?CjCTClvE^*&(b$Pios+4TBIgl9f&fjeZKXykORE*-1krEQwl)uo-}LlgE3 zE*CB)uZ%Gr-I#hUtxiXct)Ch({g`cj@=mcxV7Z}~ue7;z;&c z=Ic-SeXq%=LejJmKkwep9`QRb@;f^NmpS>iAJGpY@?Ycz9+J}L3xooWyP&W?+A!6+ z)Z%LRmhJ$CF?aKSTzzH*O|med>rS%k2NZK;gzjW%#ThfB=>%d?6oGzxmxltU-5K7d zH|>9SV-)qG^}i~-Fs-e_r2VASU)ZUXz_u#w2FIVL%hEQ>$yKea_#V%W^A_P)m^8Gb z>TJAaw3G`IaK0Mk(HXZcJ0KJ{FchI^hMkZr8;{O70#uGkjFJ)Z{E^|@ri(o$jds9F zsY@C5*wIWqSf=oWF%3+kgC({)wRY?JWp_z_=6zI8_2qZf#Qb`YmW_?|FLndZ zYd)iM2EP}*Hyl&xDhb95r8DA^`e>fU-H((>&d6+WqCh=jXKCnUo2 zjUD`_vrVd{-zHu6B_$;)GX)szZE9(!&^3sgql~TJ*vv^9>}T zZ#jyu-yHw#(>cRX+1s<+vX9tJ zbYuX#`rQU`Z){bR5_u);kuP2y#qJd~8>HM#ejU8Zw$A-kJ&H<-`qldK;#iqrzOKFF zv$ng5Tu30bOJl#YJ@j#|KZAK58Y@F5&(Q>u@>^Nb31Kw2v%qTB;N7()PU=w{!lcw| z>deg~!C=+xO!mHSqg=(oWXyj5ucJ7P+wUe53i|DrA+t>Se#+Y2?#lQ-!g2Kad6`W~ zQXdot+n{iWQ{7Kuh+H@h(x3iLGi%KDi1e6t-VEsAkVxW`K7UUxI$nKuRn8dBkVRy@ zn;|*B?wjKe-&2{H8KH18A>ng7g>t1b|4s3W(h=6rlY^X7)mB&Aa8slE=#TS6@<>p+ zOkj@$_!}!dIj3T2U>Uf71FVj)=yY;>GwQ(EGK{DpD{X+M+Cck?F z-GC?4@iH;hul-7fG`b`N9lmn5w)j2lPdQzb%@4`DY~Mpo0=V28R+X_#Z2ju{To)jd z*GTwnYn0)??r+ZHyt3+D;W7CYY+I-#2jG$6eLxhx%t_prMV?B{R+v1*w~e$#DOF=v z>HC!gCIK&`2ab>Xbr~`d$uZ1TXB|j%_}u5hF*3f zRm+f~CM;PnrGAC^ydZswvljm8CmuU;K*tke8mlX|-0-$9s_DNPFd2BV$5XFQ-(H*l zd%t_mynRGWl~6j?B#aq1TjlS8{;p%;Hf!N_e(83$UjMv?i?q%8pWWb0pE}inCs!h? zO}yk2&4d-jf+J`J3KO@6`oRp%SJ&8{>>7@wm1PKaRxiFq7q3%7EO{YSrgP@2V`hg_ z`kqzG^}FCK>{*&tZ)WuPxQ36Uq^sYW2K5KWkBy9XDkdno(xobaRbR4Sk=71e!%!ML zvYOx(Z+J0sT$o;Y%Z0U=I@4QGsh{HQ`1o3sJ|hY43!9ZbMYv9{n&Omop7B2=7dlo^ ztlvx4Z0x}v&DH{^)q`o)CsMzZ5}_EBI*VAb#8*}aWg0c5RYvjiTN65Ne$sf8?XXO| z1aS2BHLsetI;gPQmTyF-n_FUfB5M=WHN9u8R=2g`wTtbrPzMv94$^;=o@4bhy-loa zQPmlv1~B{;y@3GNq(u#e|EUR+BrS1fRQ3zL^GqQ3PEnNv!{|$MR`T^wGzxBR)#7Ec zuc*P=rUHp{XF9;!4Al%4wv!^1cl!xIV6-pvR+&hFz|)`$5BeB9 z4kfz#l+R%5?IW(s{F{sEt3S+=olW>@&re+hH()o!h2ODb=ajn2ShVG z8H@))k_a`WF{udA8ngrKxQ3RYF%{P9J+H5XOO9w?- z%}izNi{q%oB8i>L#BoOf?aBOb%PhiOA0AS7R%4PoabfBp1~Qp#Cmc%EjJ*}E#ylAP zKzA+%r`2;}QYqpXR79ComVGR*#k=R>uoLq>BjC656Y?%}Xs&H+sbR)1Mu*ph)nISt zF3E9OL-S0|T8PC*Chn>&9QIaK9xOnAW&&iWj7Zekb2_Hz6c#ikSe7r!#FLT=wgXwy zoDQQR&GGaZZ6md8MJ-RagW$J=zxE5b7^IKy!xJf71R5`GO<4#{tAo-m!zR9uH;Znh z4eE1IXqe)s((=xRLaTqzI9>JOK#xkW!@XIRCg)A!i@lWWNojGs5HzJ^qq`d}-%o-_ z!q)nU>;Y>meR;0%*b@HqHRghxv2y{wQ?d$qxS&f{C3KH+*3O)gw!?sNOxHuAMm*ip zPu@=+tXgM{JeoG9t|83ffRDpjB_Z3Y*^%wAH08v8hdahNyzEP_mY6SOlR;{G0Z^OS z&jEwg9HNz^?o?LA)W-;`Em0HYPsMz7@>z)5zF1+hDXHa}{4WuNi^2s_LtN-~t@T)@ zUpZQ=#YA|q=EJ&F&V*hRw5Eo`XH|ux`6yP?_^4ry%NmW=cC9d%ds@!$EbiXJ{Vsv+ zbR=8U>~2`Z2KoFy=m-PL>7nYru~uid;$Q^0a^N}X&~DG#iPaCY|i3K)8xPE z-KRlU5gL1ht1t|pTyg>nvE=WbXB8Zc@FPv$uu>hoZdOG*Ron$WZvYaYFK`BmcBSrLG`Xy`!IS!A}I! z$dxBe>@S2Z4*u@!ZH|L<;KrWFM4d8Tq4bBayoi!$)R?#jSJ{Ya7o&$(Opy4Vl)c!Q zI$(jZ;#pNEfb+wLZCKY6Wn^JO-fi`a=>qSIzC+)-NqoxgYuzmOh2>Wgoa}dE&Mz`u zvkGWDyx)W#537Bd>C@!UL}AlSvLjU9>!u6tN9$M<_JW9!5#H5OoISLdEAqbJ%w?N0 zRyEmr1Bvqr{@mn?D9iesBr8+ho64~kk(8)5BqK;EGbWu4?55<#A9>Fqq5(}HPh<*^ zi9I+36+1{DjBiq!nkE|RF-#0Z%2I4TT~!r!$K$%wSRug#?4A;D-cXzzz;V@*IN~3_ zQUT#m+2DpGfZgf1U%^9v|3X78qF`MI5*7xAlfy`mh7v;Sj{hR|bo4AL1gDE6O^-wa zLmNh}5z$3;5`3tRx!gu8YD*Xy?=(>J=&>;ud3$*M_>?)EID4(AsR6z86~13VQX5_r zw8PZ&jlPkFwaFR2QKy0j8`lzI{(vZ(xcD+1zaAEiGa0^?c63O4dG19i_e(BqQe%Bi z*4ZeIX%_t}6b+26YAH5Aq&OhrUMG(m@d@1kMXz|q%ZoDkFqP@Xy;2Dfy72J3qec{V zeUlMf*d+OP-!fJI(V!&ofvXWdMk#B6=;g(e^XpYng1K$xWXPAy225v|ed z%F~;4oU{YBhARMU%6X=c-{Ed=;TQbx#V*dkX<0KfdP`VCx9Di#>i|9M6}IfmR~>DA z@W>?2Oqw_~OW<{eC(Y*&WAz>@lYT+4!lsCs8#YN7Bm1eeGP_<916L^UU5m}( z4?3xwro^UlJJw(t+;0XkubINa609%d5YXzkJJ;m~K-8f+`+Xy;R(B?bY=cMz2Gy&< z?UUp()&O6;9GD;I;ZV#qt=s|E@aOE5Z0?Ksze+-|#Ur&fbU9?@Zqvsj9>k!<0z|Dy zU1rQTCo5>a5(qMd#4<7Kz``N8Xr((7W+&z8{3_JEV*f!wMF}n%M?d%d3(MqNmnmHL z)|Xvqq-XJR|2S%=m|N-f#C_$U@6drthMWYM+_(nEEe=1Ys*@_9RNet$lI!ty5L!8!3sH74$Cb^I_43DmQqy$5S&5AgD5N>K}sam^i7 z0@ea!O@vz#$W@NiV22GhxQL$Og#Q|_q0!`8ncY#FfPJm`{stc0;`H0P1H3XWxis__ zF1UqjzLuAZbCNOT?X6>VI7#^YSfdrP@E5P)EF^phN%-L|#=sJ9+OrqY5Xis#$f34B z^h!i}VQ*!zQ|5LCab;xw3gf;Y5jWz4kE8w~?TOvI3e1|#ur(85Ypdf4QKFnHQ-p*m z+*tPw%vV0e&C)2$7ma6CqdqLCe!?B+PglS{>>J^}9F`g`wxT62zWv_eiuNb9$(3%B z&Q%`juU;YQ**cue?R?z`#=M54z4!#+A%na7#BZ)(iPfNrJENP>n!^EVB%JS03fUYs zbICFmcqutvqE@%3lcX0b9s*X#rr4*9YmH)_Y^g$?WU126&T5(jGj?beQC7Tk7->{q z7(;BT{aR8FQW&u|%;5E)-W^j?$=0qP#bA6B5FBteT&UwEGAvNraMKdJln_-#Lxhk| zV|_kfMhLn3+g-g523(?>C;(7UCBM_aVZzq2GWhKHMsm5*NRM1!=UFM>~ipujnW-KP8K7; zsX6Jbj3h)+E~f*Um^C_HwuF8E0Zq%k`Ok}+Z`tA{W-+6Q8j8I$5%<(qa4b*&D*80i zTgVK!;NYcHMfc~ofv~oc-Zw08Oz=AmLf3w0a6|fSZd$kxso4Ne8CiJBy`dj~EbHN%XpP z0+j#GFYeSVnZsi<_T}8JpY=kx37hSGy;*QZh^gbZa#P}BL*wg&lyaamRNiMxe9GqX zyHRCxA`CQHl<+)WE+}@=3X!xh{VISNR6CN=;Fn*s?L@P@1*KV#W&e(*%^W2H`NNq&)9 z@9E@0`38$8k2^oBns|}7dvjUVuK7dQb4D^W)cs;nk90&l{KIIOM8%#^$k}lD;5f0o-!G@I@9<~Y>|VFHstFl#ferC^@e1rJh41gNs^4oaB(@s*+Ue@ z2oXkUlC3nSyRQ17DO;4_6~)|DcFiIJyXo`H+k*ZdGpuibn*pAJrg-W$TdUCnIgDyF zB!yyxkGFvs9%t}w8@>T1${b&@DyOlPV^Xo{%N=B%Gk?*>X+Y zrE)j&Vm)KMQ(vhxIZx4HRg}T}`{jyLh|O6o<5i;J&!)HI*3yeF7qXda2RH#%zB&^x zBU5#YcelZBZyj-2Z6*Wx-&JN-}9fd}T z%r4VEVi`G;;c{~vL_HSgke|ihFU$6;#m!cW`UDcjug`tM-L482--&LDgco`w$IWM# z-pwQ4b}L?vJncIKm>(T<#)#Mj_^H}c@W+!4TL0Xmp0Zs$RBbQ_f08y+2fA_*Tc#~h zbr4ge0dCsgG~3R8^SRYM@IPJ|xiySVO{E!}&*XD3Y4~4D_w`x(ETTAQ5I(jd3oKlx z@Hy*nIC`z!-b4*nuLE5#1>@q_lSl;Dd|LCKibKE$aBk+7M%HXH_K>DdnYEjfULsgm zd-nZ=hbv#%hh!h+6rQiA1V*12k_<4<@`hO76W*4gp3RhN0Ryi$^t{yx80N>_;+xCM zZQ?|8Wm|6aO_zxtH}Rh}W@}wHF&Jm5sAX@F(3qkh86LRKbCJMr9t0Km{Ji>Just*<`K>ED!UP^9U#7Pf<@+t= z>7-a92=Eh4%CCc&v{zqSp>J2#1H#nD6kT92Ps;(8= zS$4@qL5CfBa#;nsDvr&4ESSo?^Ql@?7(9M?=fi-r)?VuJ(o-F4ze#gD(_VCItnyjx zI{YZ^@u*_wT{@uHlQ1ArPPlbu7eZO6{cJbtDv45@zbm~*&FOxy*3U~Olvd}@NPdGc zFg?m-t>NtR!URNd%DO)7Q^1H{+PJCtH2YVV8C|$B9zQydt(IbQ))l*5EEWJwJDK?Y z9IwdR7}#`wz1#BIo2@3+Z|GfY>XIgLhM~PQVM`$W)mcg;9z3YyP`PF2bkSn2)zN5Q z$4SH@-z2o~;_Ntdn9W}mce&JE9$R7#c+0;qc}J+Wpf}nFJtsAihszv z(5|UKOdIm(#b<-yrmECE0F8^o-V_a6OXhv8K>$WGAFG?&Lm)hH$26UYUh5J({kQiq`f7@wMgFhi>c)JRzK%Jm zkZ(iJ!Qh4RipaK_g2lIZ%Aa&RI4#2JN8WaNL*Xt+wG6lCom*}qm%eX0j|eUT{4{(T zs5PU4%EZJ`O;sf#ln{P&(LbNy--N%lFWJ_0oB9p35410|V|+YlwlEnm3%UNiLp$hz{Gogt7{(gGq4!g_+jVm`&hb=*Tu2q{3QLJlJ=(zVRBW^ zVf|*O#KVD+Qh(ki9e7jx zM5h8%!~Xn8BeXtp`}pBVTpU(PV{-|G{@}ZLPPmFw}4 zz0^==Av1*~NOJNlp=j*Sp`24I7-R_4@!5UN&HZWUmMBzNK2>)2%;?88TUL%E)OS25 znOEP{_&s9wQR%KcBA&IYH;5~99zl(x?2!#jJ7WVONseg{(O?##voHM-yjMmuN~qVs zTh#D3`4e$nH%=83n4(JFk&l&&L=pYb#MA@?dOBoQN&=QJRi0w2;ajYl@H%;%|G2*p zgFuKsgTD~2^~Ub*9=kdzh{VngYcrDK>dkhX)->Gb^46Yt{0d-k5c>sUJ%p`8?|dHFDcs!)f3ww< z%A}munH|QG^ZKd+(hRsw{d(SZsao(S8k#mizxSqZW&SibeDbAssN?K(u=f1yJks-6 zYqrSIIU1Qd>S$g$dqj5Z*<5dC9DmM@IzI_Jmm+{h z8A{5Klu*c0+cR_I_43B;$2DW|oAW8QcLcEEz^;UU2AAwJ z2c4CIr+c=?Gt|_WRKu_od?w1X9EQZKl&+;Oic>cn4E0b`pFv}zmzVChuf(m$g2bK3 zGbhPQKx?nCm-FJOkh^CzzmE{1fZ{3j7erK=oG*DxGe@LA{B(*Jp?IOPxg&uWU5Pv_ z@XG$az+MuZ@qH^`pe-iDz8f&{95Z;>zW{-k0Wujw43?KR^t+0fhO_#yWH)AevO_4# z4M_pavnVWe54`#;g9K_Bs*LFlGljHopeq&$g;C*G@90R%f;@k#jV-ExAKOA??%9!- z0#DkvL41#!LN{*cINJ3YHj#i+Yg?;Kj?iXCAbb>b+39A z&U$qwbfVC2c=-oe<1Fpmk- z1gNv*9^5zg1qB85-^i{RoeGhY1Q{CBhPxj36n164v+Fud#+Dt$%G-1!h`;V51h2js`a^dE-+aL4JzCUhhb}ML}_vLO* z97D0#WgZA2mysQ6)JxMtNs+V<=7ZnGC(3^CM$U6zLuTnTS| zezH7=;EEsxe2^$}X^`NcdY1a`fA{syzda^7U{}bG;-Ab;N>I4sar$*}%zarTrx&50 zjM6lGRqNFCsk>I7xEjxNC7^vKV3aN_bX4x&eDN3f95S_kntzz-_-y*k<$gE~Lon0k z@=Rb86t`)oU5)3yDV_MKlu8U;YGuC9hxExJ;noByA7r&L5&?=l*}IxaIPSYUlf}s8 z^l<&Ww%7QSHja6#&xGF6mute=ho+e;SYp|O@4;GkhP(!8X@PS7niIU>mHAqH=VI`6l6H8 z+~_(e+gfQlPmh$VU+8t}?zqo6WcwT;P#BO~#SGF1^w3U2U~myuIxqxR9I)=>B4- zd5rp=+tSTONp)FmG$MNSIP!8&KBZ^DB>i~)bh&*qM4<0o%whZCvf?Mz^D)$awsk4k zIkt5$ZcrScP+RU7@R3DC5VHg+e3yPyv-0tE;Wx(GWSPEi?Z@JFLQyI5leek9`bM@- z`Y=6-Pny8ntPh&Q`N!SMDGGt|hu=CE*Z!M)13D3J40X$fK^u?jS_q77WuCXtNykN8 zQGAyV6XVX^-}7naT1L$m8?zOO#|@iJP6t0H@h5Vhte1e-KPyHm zN=jpT^we(r&wqsriKe)RYQ68vlWKb!giU-W&hf&w81mLGhWsf*_*Itt?4K=NxSE7gM);-PZDk- zg6+4gm)gI+JWEK@&l8gv)ceU#4^tu}5~%pD(|!-ODsDx#dFx&ZyiS(_k3WwXJOrro ze5c>JFQqL7JAP{weUrV3TB&iVh`q&VyGQgOwBli%(z~b)u|E}~+Dl#E%i-)9w%9zb zTHIf0o@|K3QQ@EBJ(vU1#nXEb4ZF=G5(pk;6D@RYSR|%CiweQG&Vu7iY!5E72c&+= z3dow#?W^Pk>J0p-ZKMHOXxo%F=CvV`?Qzhe@5>+UneuxSyXL;i`83hFLJO4e@Eu?v zPYr3dcp zA5Zf=B9;rs&G_GB!>3jXJAYyk`K?(a`&8t_9UXUv-|A+(mISn9?|^@h9%p*<^L?D~ z!a;sdBlxE9OQoC>70ZEZ!LX4b-LJ!@ z?SxmSCXt<11tfO1&B$YGQ#dywuv%*JbEMrT`jl?Bq1e~T;IFBl? z%6;x5Off()uH!<$V|~;8quhIdwd~?;G2Ug}C|$A4)4G+s{e2zcW@!DoyTe=bXsdN^ z=H+&&F>fax@5U;ks`#33hQPEQ5-MY&g)49CESzS`Tc}H4s0^&{?ZHK0B`@cwrG*yw zd;V>}YtdlO-d;GJGT_bZ>^ULlsG6c~&)4hq8CY$xWi5Ec+V*Sh0QzwyN5&aE13ix<~$yd@Lb4@iwiPck-)H5uu36iAB3J@RH_z~xO202jrT zs;S?8fY^jv&vWJ8quqlaeuthN2&Ilq`XWm<273yxOn@POR7>tR;wExlU;Dt-|BQDa znw^JqRvdyxl8(wv%0z1~yb|nYrlSf!DlGv;V1cg znfuk!x#x)8%(zXcvbHDRD1XH|a_MNUb!zWx|BJrfDh`lJ#ZPaQ(IB)RvjjRg$BR9b!sd3rdQ6xcXKoF<+CF?w?tX zPKKyS(Yne(K0bPxES~!VL01FR6!y}US%1awpZXu=e1VMSCZJhoqB)x=Q{^1#Q0|W+ zJ2&gr#vw|zwy@1_L=jQ;q{TH@uXFL$LMJKCy0eHLry;wG3IgHYvocbD$gm)h6Gs`9 zwG7YSVRma%qsNs+MXFTo(?-Fe_wT4=!PmSNB@!6mA#E^~;Y`1%`8KAQq?tp~tzerrY^)B>giCM?7*`akIin|+$nTi zxx&ixF-*{MN6U1-~8(KCEcvb8*o^xIOM6WIErR3dH6r z2?=aLUrMnK|kXp8JukZWD zoS$@GVvq6KT)DjS0Z|q|%2Qq7jhGbn_tv#sryoa9Kk&IqZ=K!;>`;*{1^%{1XX6}Z z7LfcP@;1~?4_)E%=!#qEx15m7#uTpV{XJ9~KgnlN-jkG(B5cTmbl+fF+&_fzkHe+5 zjXq{pecHE_#ko7m$bKYzzDCSpx8q866hp`KlwD-=$n}?a&U>h9yljfioaK#|Bz*HM z*bO$a0nDu49jF|3V}wi5NSSzS(oO5wh|P?8D1`gzzJ}lVM)ko~KQ18tYDehTNf(>s zRG-ZO;(VnmdxWZ)-bXlM&si2UFBnL|0V-RV28DIVM6C?Xo�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%0A2v#v<;9;#_zX+} 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 H^bP$N^sNMRky3DrQM3|B&W%pO%1hH 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%0AZX?{_1k_f!wmL3!0Y`p%imT+)UdCSpWB4 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

l+mSlCBJwa>Aq; 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 jAz3^e7&^VbkP#f2t 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 diff --git a/bin/uzboot.gz b/bin/uzboot.gz index 223b99673f7e5c5be068d634d98dadfaa9a6342b..53b0cf0a239a1abf1fd6fb5e00ade6bf8f91df94 100644 GIT binary patch literal 139416 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%0Db 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

    jfoeJ_aHkS9S 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⪻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 Xh0%TNKPub)`xX2L?Km&?0I~%Dq#|2t diff --git a/bin/uzidisk.dat b/bin/uzidisk.dat index 67ac046444f71fb0c350f3e85f6871d596f65e73..a75cd0e7f4f41b97f32ba2d074c74fcfa6de9cc1 100644 GIT binary patch delta 338428 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 jAz3^e7 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ξZbOx zgaJ5f9tUjnH2FRC*CJDTWKW!vy`IM|YSu zH;38A$#{9E6GJ1Eub6T?r)}1kIca~+AmewkZXyE0O|p-3b)mcZuSR!&b;_SJ*f-N9 z7{>_IMVTrT2P&$Hs{MMG;r^8J)2$#S6dc6MVq+n*Vd}-+ z*jR{`S=n`IW5QRq0EgScb~cu6VS5`3*{*Dk^yIPB#xh1@`%)-88tH?0#pCtIZOk0i6RNrv^YsGGuyxXM@+IK%4HJXCiu- z7~7B-Ll%&^W>yGu;Y1)x45`*uL&o^(=U@^0w*xq1A%#-5v5Ksb4Nt|A$C)q0l7$Rt z7~ztE9wl2Pbjs5cgcYb)=4$y&vTfzeGs~H6C#MB`wj%4|*Fn|~PpYyOm_!;zWi?+I z#APio$*PekTQBQ>T&q?fuU}v*YqnX|0$W-8+sk^S3SsvJSGB_1irl>pMGCSxv(rYao@?d?As`nrD(V&#I^D z$B4ESEQjAeGgfiSXd~;EAt3A8ANtIA9cC|U+6N%(hB3J~LiLdsz=Y2C}X%>oenZti#-N4rI-HsLza7pS`TF-ld6p>I>s_qP?u| z9spVI{?9%$UeoPmP4R%NzgyX7#_LpjSsz^mvOd<`XU6Mvds!cz1+uPrq0fxhnf9_u z{Xy2(=KW}Y&(chCMO`-s2Zf=~< zdQ+<58hk9K4=lPv7!26S6pgd2BunrLl}iy_&zCZ;CS@X~5v7j{Tsu%0C@iZE6qOVg z)dYnxLdLY~MJOSb)riHl)zy%LtGMb13S))UWmQXmOUo)tOsTwOlLIuJ7hr>mYJ)4t zt!2eUK|i;kVS0esf)+1iWK0p~1Og??*7zlWp}BcJf^kL*m4QmXYJa=c(*CB=|23V% zs!Q5-n7n^RFi(n`bTT+}_N34m<7azksmW?>WtSBkX3q z0heum)?>nETML`ln`zHs>Av+&5O&EmPSf61cGF(`Wt;Yxum#q_X7^&=v$JEp^dShk z{gl(3H^^?z8+O_DD3@`(Iw;2X3$`gl#(T2%CPgl(m6_<34@*&)&#?P0(A9TDk& zE)6PLMqHZyz$&exx#s#rk;sBVXv}`$|NJJQTgqHvBqFmiAXNKK0 zO9HMeX=smf^%ve~&pMrd=GyPyX#Wd;`FDT&#&*AV4M|U(Gh?tTg)rK6 zJ)=ZZ&StL1eD82S%t@Z8t5Xt&Qc5(nw2+!Pl$WN=UcUJ%A(`8krIsb_EJe|5x=n2h z)5mHAg!4QfK1$GpYt+BrZe%{Z+M4+=O4}3@5YC3bHVwRh_Ly#N4@O}KY(~KinkgO5%KGL_o=bije-@H*&HR!l)S?_ECj(Cz*bfVA*bm16 z`=O{-0#SP7+p(d@G^I!~m%bQ(#!5v@oEF||`DM~0zWUyD88Y&tXp1nOyZ$}kxudtp zySvRicbF!n@Z7;s9F5BA5zigxWLK$$0FD}%tH|UTJcp6sob6GZfqCHkkbIhGO-qL2 zpA1PCA{-e>n~+*wkEmJ-mJaFLJi!YBks1gK-g!}J+}EHI!Kpp%g|kwGT|E>jc@ zzsHfR;;}$<^aHQ$dbx9pygkYS62b#XFZ;XnxayeQkJ;EdLS&17oSETp``29zto_o! z8iRG^-;ypOYtw&sF@XDi>R5p5(^2SP54FD?OQ&{$nyl!B# z5Rli!HJ@IdmHqNI@fR$eMA|jB$@S4#GswL!g(D1nY*T`Kxd380;G?%>iVPoQkT76s zs_2@kg5l#Kt&ZY<3}IC&&X5~Y!SHop?RvGtBIyUNdKVfH@Ga5uEiHN_rO}6f7v5BZxxrilxAEsC)k@8hSu8M%y42pY2m=Oc-}E zgA9;p42w^D3Y4!_Goo9H4#%&N?Nx2T+ZaS1%}LRNw+SI*(tr`X&G?q;`$zQz((O7y zTxbcFyrK?&nGpEjE6NahI$f*O0i-dxwF=7w1GI*+l5#)vuvO*$N-Ah;2P zcAR>N0ngGNv1L2i6ft;A?!3I0;x~LI{v>$kxj>A$$!pH!`vHxzzTFe;$+MmWoOKcx}1?sJ&IrA5;@qS zf7t;Nt=iyZu^et^v5dQ%@k>35QsNRhxa(7jK%yrqEX|oi!1jmBE58e?q!Qq z>QOurm&(B#G-x_V)#MoOJHXEVIO1}~5B6#-IRwn)wSYwLK6izUB?n*Zi=Ti*N9SLE zVPna`#DDL6km#+BD{w41L_<`)4O0E>-79P?IXKxqSO*e4?z^(al3g6q`SBRQ(Q<{2 zBM0~PgX!oO+;;_zBZnx!=+Pk6e?(njM1F4)E0&?N1o;pI)z zND6P3|3Z7A7vi$4rB$9w3A)*}v?t2Lx zJBfr03yreanh0SykO%@9(KQ%{!mI1)x3ro>sID_>p=5?5}BxTCsWK7G(;~|3A>pr`T5vg5wMcoQ0Du z4$CnYAay@DMO>i;0HOH7hj7Js*FGSXAsur;AkLj8fe&dTFH4Sni>DZwzd#xj8TN^@ z2|7mbOie(|mXO-hq~=3^39vR-yy7$>9h%|K!yHt}0I=#Jf#bsJ8@8NVKx(^4&2jfH zSpwFy$c&1QU)7$A3Lriv)Hf@{9|N@f6hQr^Wi!w)XADS1HKAdiA&qCRf`*y!vw?=G zLuTn{nDL1P8YV+;HlblILP15tl#YgZlmw1(G|Z!<@)$?Mv~~V}aTxlN12wviWD(cz z6-F03hn=Kgdz{rCVV!D9k&h{KG~ygXb~y70!w?jisSUU1ZF%7t;yp?l zk1>ejJ0ZPJ(~FIN|F*Ve3`#DLu^1{2*)>9Z5j;0%5_%qlvi3aZkJQJ@<6|5o?F0#Q zlU*l??-VObPELtA7i&@hPI1?+DeyUS>!y+9z0 zl)0pR9B2=^9v^;%cu$bVZp*UgdMk+cBxyWlDOY+c%3K`gha&;wS;tp4I>VhLm8V#q z?i6eHh7?XKk6fJgB}O{NKL?q+wUm%KqdAvOBE)#wrhNmJF3esLmSp=`nE;WUt?1Jg zsf_vLPut6X&HZ(a?lHfJ&&Yy)6p$RjMGR&`ym9|pduT)kgtc|P&v4%nnAM;o^JGYL;tcUMntsn}2sTa>@Fjuj{#raHSn4Bx<0!ltyYZNzH8GN)$Gi?svQF$FM>uK`3RxXK7LYrd@ys;$-up zwrWCucYo|%JHNaKUY*TExyaI2&Xmph+yO)TctKd3`2bMNEfzEhGaq0|{l2N&PMp_% zH4%M>dHwr=E+sJ$ZR~bQ5p@%3b_f`IGy9i$5>_?f$OUVuT-8eY z1A-vZ-xva-%$dgYq~47TF;0LOv%_8k?e<;T1+cu;KheX$9o)q zy!a5Qc`q4waXx(gM8pJM3~5F8(6>n-xo~+x`yHY{BbN6*5_qfln{tkj9*mNX@vg3M zoFzFsamt-7u^DAMII6P&^u3QXz6Fj0sMN8vbagF2bU^*~CU(t>bX2Pv!uc5T3S3|) zf$=?;1^j?u`4BD)P_WL@ah8eWMTaeae~br#euo6!1teW_?R(e$Y%%YF7d1B$1=a2+ zHNO?Gh0xZsSX;kCI^N}N{SK*lH(6V|0buU)>D!v+H16WQ^a`hiuD(Dj{{V|Ru8#~Z zkuU9r_%Z-#Nf-e@+W48S{2iqI0IBXEl?V8D&zRB6yXMD8Z3n42pkp-NAa#v@T7c@u z)qBd+w_OvHrp~4JA`eznN0^3$=_28@2-9r-<9-N8nwtz^8dK?`Poz(s#HVQ!so-<8FA6$SZu6@VkHgOww4GzTk3$$U-wvuIKQ1hnZq zz<*@`=ZH4l`Q{i;#El`i_(qa{Oey)VFQ&74wz9^H#H4C~ZN@W{`AV~nV3`~dfI;WG zhQir@3DlZ{69#nttx^bnJP)DnP+wiQLvbh#@Y1b*PhD&M_T_4Qo%i;D3QT^D$jKe3 z3$)R~%v8W+K<}D;e%QWm{QjzS>y+6HYtuj-&)g}s^ai}FIOA=SQ0qU zZ&RD=T6cIF)H*+e`UBy3x}yzo{^-_qO*OrLVAUohAWu`OTf82$J`CyB2hf|Zg8#1# zm;m;Xr9DNUGrFwA6{TCraUJs?gp2n5nF)zD05Ci`*+P+|=vcm_%fJw+8J2j~rLl}+ z%`hP8K(uvE^uxYw&m`G@6C-=3R;afpz7ZPj4U@l1C$kP1bOOMt98V_z3b;-upu>Jz zIH{$oQ_YDJnkn-(@O7 zR}|vv1qvsC;~odwl6zH?V79(YjGliXYxq->|)D zXN$jWw9k2cPPVt<~un*A^K z0%Uu8pWQ**(+cfr&!bl}@G6^LW#JW6um@a`t0SU(Sl)vDYQ(*bC3R-FD|n{a;!VVL zLFp_Xaqs4TNpjr}@~hdR(!}*YkVLOJ?c*NOaY^0a&LD3 zcvH=Am+;@TYc>u@A*t>qm3=Up;5Ow z`9@8o(KASVLpaA6g`cK^o%JxO`2cB}mv{`p%I%O)h;KHIcH*(>edxQRT=x!Ba``B!apt9_;Yw7pmo zod{_hr3G?Y>CiRUETrGI7sKt zE2Obs!h^38oO`q4@!+c_(TpJD!QUgHq@NqO27Ec|eF>U7W@_$X<5)#%#SU*dM459mh}(V0O*K&KxoC$!5vbG7#YF)+Cl7FqcBT> zRn@-GZ6j}tkdBC2AeYm5qnwbgQzI$xeso>nBegmN4bMjMYeK@zg5$QbcRN!`>AX~` z6mr9C4;wY?c%gUg#k(Q8=HlHfx&{ri^v;OT$-j6v&9^{lZTEWuZN962h6Bx2*2RZa zV3g2D7K`<1K^mH0d|?^=*v<4$a|rtz4=y zi$JsA&-wq3+k$Fl@uy|1I69#Z)qR2)q+=%A=+QfFTtB*upX`7Mz_L~Z!}B8`o)r-j z81vl$=Unt6V|QPu`ums+>1Rlc?8|wZ5$8y^^L!Y*s4YRUwu{$)uaSxM@>%d7;5INK z@E)4sSzIykU8W4W?@R(}gBh;@Ut~sJzzwsE*T703<25A7CF3>l^5CKsHTiv*!i)Y* z3yvFK%lK?3S4h-iUG_Z-u!>xGUgwR9A#^p}WJHMCwBROu`OWrv&PKXw6nv1nReeExpMbpi5QVPWL1HqpU7_wVzKK zQ!Ki0l-*`T!9k-H6%~Om5fq31dZ#Mf3THXO%h$Vq?hh4LyTb0DYU_0|oMVc0&0eRR&U)7XHjC)a0v@#o(x$& znhIG|CB281zIHM`N<4HPsEdwGg|q*BQQSES16$HP%DGge(jH7xdhh$V>ItzE`+Xuy z6$&Tt_=-r;EXi3#zr*gWff0_VH1wMp3I;}hZu3#4Cx@Nmm^qL$4MZe#r%a>T(t~U6 zSBkjKwP86`L;avkIsA7BDklJdX6hHcG%w~{53(meMzJ@TdA4!Qw8;^_6=j(`m=p)Q z{U)p!9&H#7H9F}qZhzR>vralJmWrsUt)X1T%z-W_@hyKQq#aMBfyXt`WfjNH!4cJe z)beV(CC9&rwJVbCixIMh71|r&d5qfXP=j0J8k6y$V^PfZER+mWUOJ1 zbSft^T7NZV@Rh=u!c?XOPgnVhfU7|U^U5|rFo3-e9hj(A#5h5(jZ}ep$wL!>tbs`4 zrZ3Ej{{n-ea28%2hk>DOJT#%BUC>K^PBVxS6J}r$Hty_q5mcUA5?(TgzQq0`W}-}1 zDvp`K-W;Yw|E{pb?%=o)X7CCZdgCAkB2JrI)|((HZplpH?Zq)PXxsOZ_RFmNfI4Bq zqF_n&6|RpoUZy>nD-E@{C!TPb-kyx zxrs$?H+Z~F5LI7d_=bZ&IR0zk|L|U(BU2G6o^F%ar`R+l)&LHc(BpnVyF921b`MqP z$0K;0ug=l@3t=4(^yBEGW4y!|vdrU$Fs!PVgpwm+RiR5af(Q5mEj}MD5TXY-7JjeH z4{_`>Zu-oZ+)Flz}NMOpagD{_>i5|4 zU}LAs#f}Qt>CPjyS4d62{t|X4oKn;ndn>bJfM+IB>8)B*z3BmEzOgAc6a3Kyo9@}u z720co?X7Jp&9PzgnoT+mh=fMM2o_Q2rwYX^61cH|&JixY$}w3hiFe@pej49Lg57rp z-#Mh(59&)WI>XIiAF`)^u?2_zlB%FNAYFHbUYHDU(S zLRV<|D!xEsZTOqFM@``d{oFjvm)Uh3iRRL00+ zKW@0~i%$%hYdiP5e`2=j6DQAWUz%%i%Xj~T*HJ4-yMtA`1JK3S=3WX;0u za}t^j9gFa{8Ju@i5ky3W{u2&z0>rADwya;Ju0zlgrfdsuBUj9VsD`Ln zQsJjF-zU!uTj&glN--QmJYSm2a9kfZKmTc|fq4?2fwdjF>1VzW(#W_paiLnuH*m}u zKF?xRx}QjY`QbiiPUb)1Ig$j$lg+W}q0K5W%P9Nuv0r`{c3P zb!0^QQ6g~E?u19&wHLOlFHcIf$z-(w3nJZ){)5&xhTiQThO|W{2P#}8@RdD!s@pz1 zAD=2yN%s~iMcJOxTrtNznUJC~HB~LtS`7Q5b#+01km}gZY}kTaGSxq!@g(_!X6QUL zETp)ds(UT%bmIoYY9rm^dOhu^H$mVV9b1pJz)6Cyu6~Cn;9m|Kw_7EW-bBZ~=7y!* zS@7E$Qs^4@_2_lQ5E@$;bXeruwv4!Kn_bCewS`Yu_C`Y%n-Y>uN14`;Cg`9s;y^ah zoz>cZpt~-@MrFaZ644Q*kYFq}$61yMi#)V;)k>R<;ek$@Ye~$0Omi|@o}G^+$(AQF zxhyD0Cbw1C0KPI7ZwdH6%}2vUsVw64v?p7O&TX>z|5$ z5PvvjkLZswmw5Nl36ExwVZJ;CfH$xQlRR~K;1>e`D->wJPku4`$c$le z*Wdkr%v}j^9MzeAJ-QE%EXlG*zSNC>P%PW{0PI;~gc4gmLit3#LYV?&Yb4L2%NhyU zKxUn=Ax=@1N_MI2hTR1!TV=Aa8xx9{P^1V%E3#!_HjA;t;WnF8jkXHK*phWy((L>H zcXm&YZ5haJ`H=ec>(~E#{f__q{x=N$1uW3OK7q_xA+v5X#S4O?1@dK4&nFCj?Mw}v zt`ZV{Q)n$_I-&oLTl3f|^&zEF+0Io6F;0i?%^HJSVg(_Uwub5Xk7@=2xqc$Lu@kw`Q zbB&6p!+IWSd4=|avZ&KQP;F?guMdHqnQpW-$ep*;w3tokCGIDvaEP=w)U+XUo)EKs z7XcQlyx6)+=L3x#!nR=(bJdRzx%RWvxb+vJK8BvEOIUhB*(VEQw0Sn8rZY7bcSgt1 zD}9%OMnW>)=px-ycwV=JvAe+OHwh&O_g(A9KKWWm)ftttxIt6!zS{o6~e=a>( zBKWtV-Te>h10De;`QseY-HkQ%AxILqFWgkqdRVHDhU|{v6o)*2jBEhk;kNo9$d7Jt zzf1&&?K^It@Ri@A0JfvAmRBWM8s{goG}5F0{79l*aQc{va-@vm17J-(p^V}0ufj`jWSQmo(c;u)kkhSbgW8we9G&&bo(CDbqn0)FCs zN8kUD;2AKLk5!a^FL1nKCSWIu&1eRy8tB%FfFvHhb@Yi@$T7$>Ycz3K=@208DV@I< zbrZsla?r^^mEZiaA5CJ;h*-xnGl>#>pMUGZ+Ftr^)gJd?q09g0Cp*cT&vY@}9TmGJ zj7x!A_6D8d3U>qirbqSvdj3K+8wmFhF|8jgy~qG%0AZYePX6k0@`2p4t_zx%6QLAy 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�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 qR2UkT73Uk^xfpqJ0=BC+%wFk>m&k_>EoF1|)t zCJKbRlB@;zUy`+;I-#D4`j=ARBIQG+#K*1sqBk)2$%(8-Zc?msrkgy1=mC*lss-+xsiA zKCHVSioUTOj!UIX)Yzk~dhY;pjJiyJztU6Gkme(kw5ULW$Me}qT4H~7*5}~GmPP4@ zNVDL)8Aylbubo3Z(JD_k5}uRUj(98zFdi@prem)^3>SrVr$5K%D zEGyBIj+no`C-L9J&y;H-@t^8T%8sK1t~%p@!_Kb^iiC%CK4y%mBQQXHRReGgWDdiF zh%9X;8&}nyI~L=E^3JpU?ksQYX%;(+vPH;NlE2q^ z{?FZZhrgx3Z|63d)&Xdk0T)n*E}==dRlkx}a&q?=9%*tg&1%4)o2F^u)F6>L4s<3Y zf`m<)gyBdUs`yL=$IJt^8uUwa3vO0eqUvnC!toJ_G zoc1w%)$W+Fsl9B;8O6!z?5ooSfsH+@nW~8Wviu1o=HlgM+<+eTK|GTGQJSpxAl)j21ZID zxypJ%zy$y9)<%2$?6xGZ2t&v|{YBbgy~FlsJLr}uD3?GYP@v5n(|nBrH}c=fViCQb zDbdu^&w%DGsr@01a`q_``_GlU|E?mQ$h7d4#rE}{5} zA)8gLe?x#WqLK@u;XYE;>31)A$Nf{FVILkLca;tqc4%F6CEe(!x)S(rD@1nhK|D_ zXMe<#ICq(n@03fls3BhFIV&$SfhsJT26+Gv-g1sd4%Lo9zm`!VRXYI`A?XEg5fYyg z%HGl&#Soif|im7_KpM9ts5*02yONxUsa4Z{m6nQi~iACRT?T^A|2TPbwG?;3(oulG%O5SB=!t*O?nkWs~uE^F&vYMQqvD z*vUHxUBfxX&vxRy;C1kOc6uy|Ar`?({E9zmNeD56qof$dIpBR@I*0ESM$)0K(sHO; zrJ!3G$3ynSjQ3E`3sGbtyWORrUm*sW!u$;&euIs@xCq(qVqt2heHZ^m(guulamgdc zf{zlfJ$J$U8T0W4YSs|AntR$@%NA!(oi{_EQ9iYs&RT#2PjqT7b*-_91=fTItCg7? zlUP6Mi8o$ZQvWw5DD88>mZ|kGiviG_o4$>%730J*tA4WuP#6G(3JT#6X@5XJMrnU2 zgo%R0?nQVdeWx43%EX6{)`mJhJHsy+ttCgBi#r8wian6h_VVqckz4b09Z;ojkpB&x zhw715Dc@Wo39n)S_PF~ISVgX$mB(EWZV#QbBqfD~V-X)V2J2FSKGQ5$gRer*5W9(h zu500LA7+n~UDE|(txZ0LFuTJZMl$YrDPH+b_-=i|1U%vpbd?1(JJHo5E%Ov?jI=SC zE~3r3v;~M+C@gwrWD9Lhq6}ITS2Cm&7pah_@A)lbwS;&P-{_@M52!j1PEA2vez(4~ zmA^GsEB+lFdfr(2f*IdbBZg}3^G41K6qO25jiO7%NEN}F2q(lYG*6r{(e}iBhJ!uD zL87JQx1?+RBd<^ZJ4KB~E_eP)y0*m2LHoUp^Go7Jz$*3kOX8-p_tcb-52eKYd-WGi z@qra_W1Tn4$Re0MeDW!||M`}RxcI^5#b`bTMcVzMSO@Tb*{q znVGg+h51Dr3f5-wK6h%<`J8dugt!$W5Fi}l>Vs z+b6ce2^MbLl(*CtRKqdRq5VM##&ue&`i9v+I{O<$PFhh%939nDERFH4Ja znGEZu#0j~rnso8IO*Z*kv$V2d?^o*~{)!l6L%9r*4GtH1soM2ke2>NwdLK#n`w{&; zg)8U3pRBnTfIY+Q$8_k6rKUw_hb|^~4OTxwa#46u(W)cDqDGF#^AU!yC1ZF*IKW3|tOfiib=FS-U_b%HJKyfU zDcTSnL8_B{*DDS=^m>S`q$U?11|R3xFLLPxRw+vyw(7$skMzXH5Bj9V|T~I zyMk>%s+2(Rfm(n)6%^HXCEN0KgdOus9Sr!CXshrl;UCbYAJr)n}Pn$5i#PWhKR z$R2{@#WRvh5XTE%vzgDoa6wK@{&qj3WE;K2ym;W8Tui88%|Us^;{;C+Z~m*zki5`AGT z5~y%{w$^{Ni6DfT7fBA_mQF{1Ejg)2+ST|cMj;WBfMD z$6xCCYuVadQ;qLEU1KA0+m?0;z__Zdqq(K4IP^5Yb3TNF_TlN;c*neU{^fKn$&FF4 z3m6!GE0KI8UD2i7S3aLQVEzlw zyP{1N9TB_|KfgA6zVKkk?tuCD64_P3n{u=PO8{(vSPlXnkO2rr z9yx}5YYs*F3bCY`c<--i?Ko8NdT8d5=~EcxZv$uZ*&OZsQCoe-VFx3rL2a-P=rv?@ zmzHj1&o)~yi(fZWON$efR}Fr*fh3f14*j)#mbSL%<#4I?GWPa9czGk=JWIPsI%mF^ zrL7OUJke+IiZmaX0Bh1knYcTQKeflk^hZN-IosE3Z3Gi+6-H^FGTpt^WZ%MgY!4 zG1yM3LJ)5wK!hl<@&YZIFJBJVITho7Sgx%CwC3C8+K?Dv4JDvc&2v@v)eGYy`MC2j zE2e`z?R+iP{usaMe68H&mFWm%E&OPPUnXCkaDny+3Lm%td*Xdf{680H{Re`HxnMO> z6bB1$?(Wm~ zHb$TO)YE#T{#^Z=4H>8JIrH|}x6fYNbZyg1%`Y_{YsqNc*7|1ay^SK^!E~yc(LFdw zvEyPBv4-(w_Mf`)NUAm!v3w*OiC{~-2#oNmPZdgb1(L164?1o3y!_Qg8?txS*VJ8B ze_8$Wb>=6T;^gQ{#~UQ?RZV6LRU6eswe?jW)$@sSG}t~TEvQZnK!*zzq2t|A>h3vO zd}J3D@wai};x10ehSxjYW-A6y#VwMjc72O_B*^=;HFGgFBd?og&=mi?mDewT=WvG} zUdKnw*9JuPz&1J18Qx|S3EM*H7r$q&<{o}X|H`z$yY$TTDX4kOl&Vi%^HR9P@l>71D(?qWaoEf&ZLf>(M?A?6EYdj_fL)OrhtFf_RP~#lC5LS)!kU* zzgwV<*r-q*U5%$mYF0!ycSSG3wJZjTJ>Kkx-!KGzLpzr({2yv(;(xQ99&3N5ch{eC zh3R?-R3l>(UcNv`AJTs!dkVzrDLQ3M>9iaVfE`H`g*E+1X2z72o+GK_rgUC~>zxaK zZjk@N>+8CqpSJq7N!Ot%8HV!XkRi%irg^ z(43ebR_g~EJ59{Y} zfSXu6;q&@>vSeDH5GKGGe0VMb8!QX;|KfO%Vg>T6c#vB1dFubHLXaf5GN;nGnB3jC zNXYz-&i}ic^B5uCioNxg{%pN-g@lG(<7X>IZkPSTY6NVqVpL7$L>dU0odyE$xlCi> zf77><6$-R3!nAp4wKitlWJ#z>rW2yd10ky%yksmFFu=+1d=ra+v6qxe^B5n$MjI0} z2bPhke9IbbTKp~glR~%`ybWlM)KL_}6aR3HMhrfPr|+{?`#;RR2Yggj`UX6c0x4vY zA#HL`%G?x40)!rVAc24ggpP<(LJuVgArY_;%UW31uAFssMRdUqhzf{^LW~6kMZkVt zP-7v&5(r6vl<#@Zxp(HyB-p?`@D|+2F0rI48w6m>bTG; z!DcC{_#QK-&_IVz*E!MleIMhnIa5K8wqP})JZV9ePJF;?QJqnFCU4n z3TE^WH>c|U^0WN0SxUl{@Fy)cm;9?yyI@pA)EGIlb|Mb-1dny~_!^$ZmKw=m%!lM7 z9)fOs?@4Lw&U&U@-<5LRM0NmyE3_o(yYTw zpVc&1JAU*7ctJmpm**>y!SK`!(h+amI#-F{pUhT<2g4&%V)!s|v=<%NuMZi|nyVzV z&!dM;N#?iAQ3g4njODuP1M1aNDrVRIe==@qZH(I}SheUmx@P{7J;a7&6mR^?JuGj# zhr&l!2ZvU(#acb_)HOd%%+kS=;64?eh7NV<)!?$ENkYC!0Na|yX|AM70_Sx(HRh*@ zz}k_6b8U0?)Zx-Ia15oXCn7!xVExEE4cuhaVH5k zt-DV1>r>lVILZcE~2rm+sZd)*uu+=7PcNL--?9u>8CJGq;ZiSPc@Gk zr9_I&-o^RA6IvroJkfz3NL2G3qWm84FM znM$2-CZFHw@2PQyd|wlZXj5EuOUg539p zCCarvog4V4g-RD@>>Ci!16=_D84uw9Uaqj<`_<0mA{05q70Z>$k&`D4zk>WrjV%Z@ z%=QhsO4O|GQm7<#g*e&hv3X$cB{B|^zxS~EF+s)9!JBp{3H?xa1WYy<52YwvS!91; z4%l$1ERO(#OFxQWogRnH#l@+N?7Nq9l-M4$5g0g+LV_5|!X5e{;lwfG)8afnbBi*( zJ9f|9>7yr4k)VpP!^co(wzWvCJqaTU2ik`b5dwh#_?#joGGMRzBngQV{O%$p4uyJY zFhAfMixfxSO;+(FvDa0pBSi@aim*|lwa^XpZxE$MgY|Ft=^`a24JS;HutfQK3|Jy2 z6NrJvkyB0(12yu(88Ojw-QvSY6TYcQkh_}{8Xe3)OsB|~b}cve1)hjlkIO+YzpYq_ zEC)wC1>YcA1oFYHz&K`loDbf4NknfvAI$XBal+VnUP|=xE-FnOXz!+%7r1+p+|=y_ zs|Obslz^)PlL7;aw_t>bWXMZ@yEr$}0xpl0YYOL?gUo#WmrBACyyM|lj2=4z_ajwl zWZrN~j71WG5agZGTh}-jte%H@hj>ynfQQIfK<=g27hr(NFYHW*;SQy`NdcCrlXEAL zs}ylsnE_e!UJOH|78RgMc67#=vMDm;xCCO(_3tv>C%x}N5-9h>v|FlHO@Oh<~ zhb1b>;}P+@84#aoT>I)+cg`3hnROuDz#T_RW~p&b|n2$)_uqet)9LP8}Y5d5^ym^%}44(L*tCdmsb?0it)z|S;tCb?_cROdUQ94+y>vk@= zUfFH+QP1&CH!1_$`T0O69l$5HXVLto8PuDrYR?>8yStZ=;7uT`=G{d^9p zek2igW|u1kR$rhJ^5Ru!BKq7t;#STKOcV2t;$TC zReh_nls-g3K&R;2yXC zP5Fv%TB+O?{z$V7NMLtHvEKcUfKrk_aLU2>v{Gfo=oxYor!8LYW)*KV>2gW9gTSg~ z$1GS`wCp-c;5D`Gx$-+fJc**k?gWeIp z3yS7}`B>k63iHYFju|jv^n_e;(SwzMAYMbyC_@x|(xFJ@cU~Z|)`93ZTZLX*hjN}h z>#FKOp+SMLwpb3n;q&SBXLa|XtQNgbJuBQtU|+so)PB%rU4nCI;=w!pKU|$^#J?vJ z1|0QqyhuUXdTy4Fw)bKWbEw$Ts=XCI)bR25E9#u@tZSb}rHQAuIai3P@*+N|jl3v9 zi28S~R@ktOJ=JPWw$%vZ7To_%WkmTt15>9LsvtLM587WTvJdBV=il#`V{Vq8wuL6J zv$N=7f2Z*b>kZv!U*G*Icl*~q4ZO-zpaVN2pV2SMh7kPCzt?bSh6>c04p5(c9b~>f z`Haj^>{Q1vPbGL38LklPG;KXHP_uv`klFAqFu5?I-#ur{aN3NlfV{l2{44ie{dOv9Gkm6awUJUpW!` z*1{ru%d=N0N|bp)p$agy2CHfPU5X0UCn0^|fBDW!>j4Tvus%?mk(ENhbTk&LKh9QJ zi7Y?FoCNg3MXEp>*B$5S9R!f(LKjfzhhD~#R&QLt`3R}0=w<>GO1g^F8T|;vM$|AX__J9i+YI}VWHe{o~z|7f}gxg2|@`50MYW+Dav5eO`t}{x!R)(s`u4+lO)u8 zXIw*faH@I}aCL&wee}n4J-=_Al03rga=>zVs8vS=f>3BaB*%sH#@Ivtfw)dJlHB;d zbxNeqjynFuI%U=D(!OX2=|`2vAR5%4eGk%ZBsB?`_m8VXMT+GKk*6sXyUfz0%$B6g zPe2RPC`7^%d@5-nvj3L)I)d+WRgLGq3@f`8cT1B}qY`SfH zFO^e1Y`YTQwWGy(O=(HNB5)u&DVws_>Y3EXlag)Mvj!Y5TnqN#lDn0d5wEDX$~dfy zE$Vviz+`f&C6ZH()L$A1Q}mLG)6rpiS%h}sAK$Gg$UwcnhM&4y={`hM#V(j5b7=-v zQLN~DiWRkSD+mI!Pa+m7UZ|tF;xsYQ?8+`p-t>-Ou~& z`&oVXUMK6$8~>q1#+A^Mi!bwJUi=iagfaIhnenc4i%OuVJ{jgt)08i3!#&DC7hPnm zn;60*xFi99XMJeQTAMkY9xfdqwJE<{@CFz{1RhTua;3Zr5i(6Hp~QZ1P-xM47#QIO!AqI*2}Gj6 zz@wzXGF0alWiU`uVfG>x?Wcl7lE3&yR6<;^B^P{O0O=PmBdSAD$a{JIQV^A*>KM;D zqhu+1d*OHcUyWyby%Yf~?x$P%6I<_vKFv~AV8VGR0!N`|Q4j(BCjHf<2ppxdh6CDE z1SXKIo!jWyGDzlDSQ4LRsR$&=JRP*q4)KBPWKQ7cMx=pcYJ&iuJRtpr(k3s=(nRG-!N^Vj6g zSVgR_Vw%N}gC|MYvSPz`oe<5l&nr>o1Q-6+vWnhRKFv zQ$tO;Q=QJ=s#T(Aie{#`PY^l^T-O)8Am~Kv%wU6wyWpg(ZqIGozX&jWF$gX|DCHT@ z>=!d(E?@qbvNZZ~U;ghgC9{WkeujwC%3eoVjv*;ia6r-!_3*;I@`;Zt>#g7MpC4By zN)Evx|5hCQhi9;I+5uvoU$Pw5&1w{#_d*`Y+KQ%CfOT2hN`$#RGc*B_mO?QRe@pI& z@#8>fkUxJuAXgw?!rugXcdkxZwwiW!!I4;gR$FxrK~>^P1i;k-W%U#FbqT~3Sz-da zXSetqliuxWFdPZB3+Oq@=QZZInBO{$iliNYhudk?1rzgJoU&YMy$*xsBiOVA_)q^< zQo=t{ua`*@TG_8!=_&ABJ;@WEP{tZ-v*HqJHU6qiJ7ut{+=SxoVjT`L8so7JW!}6& z%%oqcFF|ztS8dfPy5-ul+KzM1D0Bab2vPJhopu6#@(IP>)ipRo^CFAlw86O|*bpx9 z&Ks1RMf0`H`edVJVhkcIF;vVDrC>}uc}L3NJF87Q=as={kCNOpNdRvf7l{5rk;sJW z^;d1=DHt7x_$M2b&IZ7@X@im;?=8bbqjKu?oABHxl_fsWyHq~c-Xrt2a{|{R8D^PPtp(d?) zfz+CP1^^=av=U=*+0dS2VB7}o846{1_t3W0a4=4|^ycuGo&ysI(h*0H4iBB3?|fRh zeab7ULMt4?AK|5U)UOD%hSwb?wL8NrBs@R!03;PfKQ5X*^fKw&?Ep(ZF@#_DA7xrO zG^RYW)1G|x2|B&RK|T5<$tDcPx==XiwdKL9I$U^2buN*T{8cVKk&c#9u*EGX0SV0l zQ8#s<6Elx8T8X^Pl^~H|&X9mNwC;kZ*5{>rQ({;EJc$eQ%a)Z| zI`j5#M5TiBQ&{!JkM6!&>T-M~(K%(H&)3EpM1(pS*%&f5$E+K<#Cl%?9N z^h^9m{hG{C?3U)#rL4nhFdNYm|BY`z==ANTCd?pAFhvB3rw*|J#ob&vV zXO!{f&=f@II|ler3%L`l9iWlkm6LV5I*r1#@DRG9&6uq}f)LG}RrrQlP3|6;vMJ`n z53A1#06LOSOXXswDP2*6Gza&!D7u92_^Rgsk`>tXC!bTI2k8qJdj~Bx$(2*!jo9cVl0i4BQWF z)rrq5%(kxnI`MB^eL4Q|>z`LL%28PxIyy)xM4AZsGw4<_-9(4ZTS4gnI%B$z_)a+5 zZ+R@r~eh6`bqQ1wLs)uLLE#kjm+vafOmqGaN@`q|zp|7! zZHsE(7doPKMRL|&8B#$}3Inl%ZP+QLaFx0yxoY49@@eD^5g|xE>;R_SC6!{ziK;9(NWQ6 z5xLVaYR;(>prNnEf?X;2l`%|6$|gDtpFvdNf{aP&OwFi3cnd9ZdvA#p zgWeJXjTCR9siwcdHN4*zB{9$?arojFl`e4z^{qjOO{C(MELbRVHwsX35|qhhL44!e zsAIW(i;`okIVmP3{t!VXyx|eK*(1h|L0czZJ$XtHjF;?^MP-7~6O(l%g?9MFtxA_r zKzY7wG-ZC>y%izFFWd8NTMJwyq#oss_@e6<^e!M)NX5n~jHO6QktuPE zzD0>H2%Cr&K4zQJS9ub;4Ebu-YFiq#&F8dLXSK|8Ejtg~)6D<14Q%&#)W_SDKILDw z-?ECb;A>F=)=)R0iT>sj96d-u{WDkSK2VB>KIoBKH(LNA$9>p%(eMhdew6rp^)G9t~ad^(+jU@>$raBw7Pd zhMC)y1jD5Uy}{wV$33_mjOzEP5$E}??Mfdj<2_%FiY*VeEG#X~a?*4nBK76Sq4BlM zL*SdR6&_}br;pPWZHf0d3B-=%3~#Zvw9sqbTq8Cp;U`C-_3_~OJTodQ478KF>t)#p z_hOGD-^+I6cEaEy`p!1Iq(-2H&XJoKu97zbJ3N$Mk>=xTnN{=AnYuHM8vUO9tydJa z%XP*_c>!n&bZ3cN9{@}^W*HX*zp4ytWsVVyp(6c^aZbUj%II>EaB0@}`-ywXCRw2+ zBgq|{B2Gh3Az}u~>Jj6C&01G*A6B2x)rn|}bIRl?+2fE{zpM;@0zfdH{-oD|yJ zeoT<1l0txP1C?eWc9>1-ERvFk_o40u#MzYTQ*wZB5+XPL;4yWs8|;Yc=O>29*(wR8 z4t!G!x<>sa$XCy!b}IQ1MusUZ+dW1O`rSK~xbp6``d&|zgleoItmX7Ot(E>y&v&*W zQ=#mPR$8O2II9)Ay)$(vH z4WNkj66iqWxkC8K%aOgLp7vu8NA^&|fr}1#huT~Du_Y&&DMRwQ2E1dDi&$PIrm$!o zTzVqg%^YVI^9F7>*Yg0z+|bG*@UoBEc%JZL9ym~E^~DI2rbYPZX@g_R#an`AC2HEZ zBu|p}dGa*9ya|b)>l(DYOF%dSu1Wu2Nb$HTN*X@m8K$Svgl|d!jdV3t&-fI$jB>(w z`c{lNFKrAt-RYRBGr8%b20cP}fL;+Fwp)prPKeVRwx=$T znlirtpZgyrJs*BV^^AM}wbw7gr$gl~KuJV_0cfUGqM?F8ZTS=H$ z=SSDj4bf_00_0)1>vW~l#qi_#@-Y@$=oYD_vLet$W-nM>P|DS}z}-LL4J9lN+wd`H z52O+ciCK*)@Fht~LMQT`=c6NnAO?l=xBdcu>W$-@%=Ld)W6XO2@+&p1yD={ypOQ&4=t&1_4VH&TrVO#3TVm@wvzKBn*A& z7UcRWDJ`|c^WxW|62=Bv$Zb1m-gWaWfdubzPKH#2yJYkPkbaAT7T1A#iO@3w^92cSJ>QrIwPaf^u5kmf(xz@~_<^?j^0G4c1Px08X;>Hrp!7;Ap;DaHoiJ|MYi>xH26 zLjGc%k?W|+hG9O^Qf0q01FvmuBX4?3i4Mtc1Qz>0*olT)=a1m(+e)5W?BaE6I@1Tg z?QLav$U*g0GVW+#XEkxhdL@3eW&#cfK(N{Fd|3UMEI8s*_@B_B1sgh*yuL(6E9Oc^ zb!9ib=JmjRU}7n*;n(g{62d;MRF@HO$jAQoWUAQ8@7||$vP~OejUeQ$c(I*%+ODY7 zC>IM2UMF^*!Ud(v^H(kvdC?*Jl~BK@)In#sbH6e)vXiv2O?L5^_#P3iW_!7v7e?WjtsIC{zbPrJjmXo%N}DlCWbi6JQZe z%FY{=%fH(ZlM>!hFxBT}qY8^rx{1I1D08O3sZ&-8ihEatx2TwkZ>@wQ2Y1LDIeKg^ z8W@HK#`ysVIbO~ZV^ep9*phg3g%TI1Ta$Fy4#>~ijgXB`8vb)Wu|kP4T;=#XynGH+ z$v)wV(@n^V9pKM3ACU6^YY1?^Ok&|^ zG8AxL{*DsuVNC04(9`N|v>MC&JIIY%p#WGIts#9HhznwIP$#yb zc$NoZj(>JQNr*n8=8+(WGttN4TQTFj@j5$vsKm6YP#|XP;CepzLuGkq{W;;h%iy1s`nHi{I&lXCVm*IW%{y6%q;wooZFQ5IV!a?@3lr4VUVpc`i;9ef+*a($s+DicK`H=tHs6Ye z8u-xnAtqYalH7kxopr&hmZS_I5wisSMPwBI7K_!#zuiL(cjDi*_<5kg6F(>XQr4xU z>`B2T)-rh%@NVUOV8D-;<(nYJ06;^Mw)AV!s&}R8Qgm3@!BTr|w)VF*`}PPzdAmnZ z-p)k^7RSvr_GIK|k3`xkC!Ja9X-u?-VrW>V3*E!&3wiXY&R< z^msoe(oF{jbLo!O0i#wRsCSTVD+~w28{o28*IyQVwf^$ptBEwsg}-M+Vk>{ADJ#GO zg^lZO_X^*^Ua~att)FT9{oF>eO8G{-z^B-2*i#4IX%r+&nEG}PnAv%mutwwGc>A& zkNQ;UJN!bk8iLNtjSxl>qq}w$h9|g4t4#CFF|OH)uhHg@n=r|Us#Jc>-}+Qx9dY~_ zppnhTfBh7cMPy9y*dt2s(EpL)VY+PA5hW(hY-8ZCu;K2B+c&3K`dPJGw_pCaziC=kC zi52A<3yvzCqupF^smpbJkGS9XGe?z9exIl{XZc~A?{|Q@TXR&2QcfCW6*j1+$sp4& z!W!o4F(qX*%aQ6rj}ZHzVK7#TN&Gr~NOWunyWvR^Ij`Es+ArC0O&NTD14<&`&vZt@Dx#6{irtb7;T#eHk}iR1g6hg9(~Za zzQgKC*|Pnc&hZyMQ*M@XqWkB{u!JwWqC3H+GQ<_zfT43eir@P=+;)eC1)mx&hJ>`M z2n-GSZp9YMa*QI+THzPk!Y?sb6ieRJv16S?a#fhWe1Ws51iVwSl%{S`&FTQKm~KxI z@fAEuH1p=3afe6HL$_uYRc^tS*M%%kSD>}0p}QE`gU}P8-#y&g^^fLO{MS&GFkVLS zBs>_!lPrPc1oy0Thos;RsebKHskI$#()^w;ln(vP8We@pLdbjlY^^-khI4JcI;>t- zH4NqK@E3qpn)N&ZbRrTClY%W2Kxl50up9hYi&pmN(tY=7sOTh zqqgcN;j#TjE7e^7o%lwca8hyjZKh>1=p;DXI_L1RlS*=;OC^Wye8@a`YigiMA?5PF z{Ed?cQhltR z50X{v66iFG5ErHs=>5tBtb0^}e^2k6gVp3>Ou;c>HvOWhG{-|Bw8Fd*^b z$+?JfB1Yz9R{7E`xQp;~#WxBY<{NFK7MNu{_(prJ@EdKRmIUroVvwd$!_w&C8p2a! ze$CeJ$h5p4wUIwTgZNP^{we*}Yy@QRE3B2HnCp+W}#6~W}PuTr$quW=I* zTNR7!V|}3)ex)t^T4)`Vez)~knB+q7e4|a%KmvCy zji($cRAVNBI_wkQY774h53_j0LHP(EK`CVNl{WJ0KsY+5ToT=vADews!-O|VeoWf2 ze+mleWS*R^WmcnD3n@Elq`a7abXwU_F6i(ebY$%dswXe5B<=JQ^*Iqqj+6lg<0GnM zn!m-RrjO}YWZ&3+!}#n<6W{EWL!@tW;f2kMVM|X@KcsA(&^dAzo z)(gVt^t$jl(Ke$K`z5~AOCJPXbHhcDQSC%Yt2KPwRjd;~{3wg?izTPgzBi*3kIXtu zvLr9qx)*>6+je0q9jTQHQt|y|0rjsnUk*_JTJvuJ>LKZ#{R6t>_svqLa{=lhXNRBh zgk+sK0YE*ebZr6Zq1A$L_jfb+zHb(Q`Z>9J*V_WrV=yDV6y!EEKmyc@D1$77Et>C6 zn-ePBkoYDe9s^PM_Z)n| zDC7VSa#2~~{2;ib@82C2<6n|rxM%_Y^=E|{>1P0hCAAtW6Mib1cDWZ|jtEQ6MEG=V&wI3E zG5mj;5^3GZ)h307t^N-dk-Fq_v5u&0_(p#g;TwYzc85b)RJ-=5CXPhrjX|s{a)GVw zkR^QSD_q@`+rL)2<0jc(BgVLi7k{lpS)b%JKDefXyk=iJam^=R!$IDaH_6jyw_^!> z>^Dj%SE8ZiP2%b~Ry6c2bknQPj~r$RVOv9~%Qv3?t6i@7_D^+L`!C=d zf3~+iJKOOdp)8*NeEhHUR1TI?3|80||D^ujT<}->yYag})!%!*{|o(<4el!6?mvI{ z>wWGa`&#pSxxOd{*r(D3UMZ%wI?br$}EH+fCw#FeXuLf@MpuN&`98GE>e$4-jL)F(#GFg+QdL|U~xy1 z+{(a(SW5|f;U#e)L{5ZnG*&-^j=uWcA}89H9*3KXOWW}xUzTc~WA=$NXoAe@WK0lU z8g-P?NWY&hi@t8ps3F;YqVW)$=|c8Uv&#dFXS*d2ovU{gq9TE(HUIgJVi6_qsFwdX z9hDQye#?*4(T!jH>5f8HLb5}~{(*i%L?m#{%Kr2V#llJ82YkeZfANLtTf$CX=H66( z?=^bJ$5RnBLNjuW5&C0YhJ;86^Z$h|{r)-Q(mywwu^H-n=bxL%uFYX-`#;@hDIfXt z02=Z(dn$!ZRsrib8QKqEm7}4$OYbr4qEL6;8Zx$gEB3W`)W5N-$*$9XbRvFty(j++ zpLpEiEEjb#0j|*XoHx{G$ot}Ed|O)=uxj=(n?J$H-A--yRU(w9)6_r_g0vxZj{rZ= zwkNc5BH|PY4-lAuU`q!?{1+B1Lc;6{OAB9jR_WS#*SV}SBWu#m?mG7hey%_F=s97c zwV7I%s;AZwvdPGr6aI-Oy>c&k^f_gF_Z{pUofj^Aux}Hc&2`vwOY8Y(bxOA(8!FXH4brDco7QZgpb=#!gPTzAVnMspq=`TQ zKG+u<;Op~iqoli?Jb|A9_htsRi;&+*jn_r9aKrm&I4d(n5%?c)g#gI^e%M*~8eQk> zmEJ2JN6sc;>LI9qxZu%t1I@4ZCq^{vBXyeu^T_^)tN2C-i-q@m!$rQ&!Qy%!NUpMe z0Q9M7*E_04(PmLiB2kZ$sULZt!R;|@RJj|S;e*u+wxG|+Y@#7KnGGi-3O)(vD?aU`ByxcOOFWs4IS6=BUiP@$DdWeF9iKOf zZydmq9!Yd`43$_IvHm_$6PkG+#xf+TX(40jQLRx;gu3FJ8N0F@osWSh+7dT&n7C6L zfG2)e57vWEQ&|60aM8+$nm58Tg$N4eSA^>1vwBBIQ6l-(z&;Td%hLHr0ZipxlUVXXpuf(UJ;#njH)>tT6iAF^9)LfG#bGB0UW56v zigV32-0G`l2o85Ll&gF&-0MfGtt zN)O5@qbpldbTzl6*Y@GBB(piuz^kuZ@5KcGrtvkuD4l#;kg(?y#0K~u zZ-4N3dp<0Pb(6MLgl{ZN8W=*lNn`fp+++t_TwDOpigXt69>GEv9~Lase&Npv_VDLC z8O(;dE|LbjJu#ou;D0YS)L<*$*Aewzc6VfnFxuQ69fjZDfu-ne%=$@*=U;Tt_0S04 zK(w=^gV9d6ITg)khnU*wC++3uLqt1;x9Ychs6TF&O$^CzcT7JQo|kUqviSqOxc7S{ zKCE~T_5ZECM*oFl>JRp(kL*uf*q`jr^LCboSNz-kalI(rNLt@f8VrA+V|n2;UVoq` z`j|N*{`8d7ZIQ6ZKQrZYv$o+z8uF(Sj3NI+FKbRac+_@9{l=7Ykf%ikA)zyfBD3#{ z;0*7S!m=~m^-w&3CSnKl;^42iy_r9f!V+>kYSsLgippqh6qS+r63!gA4Mcuh%CGQm z=0iI%)lZZ_VVzil|B+*A{|n-v)5Icw0u7f5_%7jVN#e`)MkQN2@tz8c3QH;L>YQ5u z5N)w@VcD`}K@$G`uTIQ12?}{GNxC*r%QdY~%6L#1L97LXCgtBD;~PhM_2}W8f-+1< zJwY}J-?WA$^L1$~z8k>Ygq)NViE;}LvrH%{DlM8&Vj-?F`I4evB9g1a!f_$niJYu$6yr3ZNuTlS*xuGDY z<9lyqIuzt!0*mwc;XL0F&yxL)s58&=Z{yhj`4>xIX-Hvx^eiuY5n7#qj?nqBKb)7_ zoXA8vL@K-K-WwBGs{7oqAI^&@Ayi=39q8zM-C9S+G9W3Poy>{*>LaDiI-pJaFza>o zYC$>%-1sRz&&hiETz7$UoaqCGv)7$$OnV)k!ry!vuAy|5MR&(O{x^@ouXz7Fio@y~ zrO=qI7Nlr@_5OKr+hUas@VV|he?et~DKz?v%5DvYUU8egRrBi-*%E%d6LUm(Gwu0S zyxl-Fd%gM4&dk5dR9BuhbQ5Xv>hb5h)vIMTpq>-gj@xG_;ejG&nZDz9cV;mZ_6bOx zV^SbIZ7sCvZ7(~Q*mx+|)3$MjY1q&T&UB(;b_2+O21p2@xDc(ScFvgA1n*0+8^=!; zz}nAz%tS^hLjN+Z5-f%zT7@f5xKGOJM&a=iz9N-nT_yULK}F*A1{22*(8NNMLu0); ze$cxUj!x3dkApLTa2+`98!uk~Z%$>2k^|_WzHm9^37Y##|GI8AVd@1|{R7l?tWSwN|H_26CNz>KC>Ju^5 zj4_}A1buz_aTpfq-}TCV?bQR%H>VR2XFq<+qjYe=MNIfN$(?ZZ1aPh&&&Ddi@9(nt zwOyFfPDaJ~jre$L^mE&vna-@m#WtJ38)9_yD>G|-GeMD;QF23 z1AeF*OAipR2b{V-gUyL^VYDQo?Lb_!Hfx7AZKq^fxG95W4AWT^gdgXkHu91{Yc)0r zw3g|!QJ+)P&UT@-4m39L>I}AIWF%lPP7trt75X5$=o$zRsFm%|N_UDG_V-~^OQhro%MtXDibHO713Fub^!W{`l*?IW|XVjG+p zVsv$&1-<=-`d0Hv!L={-!fLf!Mi+{lEhiOsgjNy61OLuc)xaTU)>heXr-Y|-v>?fC zfQv+G&%`&Q936rwuZz6AdHG9u&{UQ>B3M?7EX`kDypr-|CSQ>|b}TGbC^BFN7yL#D zi;;|xK*tB_tL&X~Jb{jUQfDRUDuBCE%0#r?&k{H~4=Bk=xl;s9cst+#3Ks;C3R&yI zKI%F8rX*sQ>OqJ`^{m}uB?J%;>B%yBHVP=DL_$hc%73e!xUH|tMWa3b5D(tr7~ zo=o*=tl{_dWQkp{^0t_5(wYk4_i%w>bp8(kpZumLOLMqUlLx+s5-TvG0yY`fi$xFo z1h7dOUd%5bt6a&-Pk0n-p(1PYE4Kql50ml@NCsf$Cz2GzO9mrV!{UEUr%El&j9yvX8ADC$Og;<2$y9jmt z7j4x^x!103PTB8&kxzKle}wvLGG$Cc#_B@VdM;VL!+e0BNe=DpGpjp4Gmy=s-w!PC zS9rl7W{xGyXg2>wj~b$LEJQdp?{RMmY+HkkQkkLKC6eerC!_7;9TK#p-*`oFW%v=`efJf zmmZD~zdsqw#`w%@ru)XOyGV`K@=j?ZPt$;6Lx(W0m(Q^7@^=P+J@^}PbMT2f{hg^e zpZ0tpK+C}!b3t2p5zH+Yw9<=7a985cT51LU;B(Ff^de=cW(ZRqreSXV1jTrQ+|w%F z0L9xc+K!V4!s>a`*??$%Ll!GRW)9KCn~t*8qpdVfmkl+NG(~;2n6lHaZZ5~dm8Ejkbfa|uDT(ZKGyc9+b~?7lJH6m> ztq@&ub$UEcXov@1YBaLW%Z>DOfhB-M{8=-kne6momcIIoKzg`*-9!wGcLjACjS&WeG%9xy@cDivtcXm1zrSQs5FaN*GPR9mZO-h3!ZbV7Nd&j#~agKbAIn@i|$dqz&>@k$L&xIbm0mC_%pr%AWg?XYE^oYuy>k zJgz@W8s(i{Kzz#;4;tsWLWDZu@?{vl9z4hI><@R#)QSAL{w#j<9(5JXd8=ZcB&J7; z7bHyx%E_)qEL4tyz=Y^09#N;&@UQ`_htEqjJZAtKRBj{=3ox|^f>i3(IjQ}xp7o5) zk@BwZ#jbAX3AUmP1!XFW^arGl3f|~8gMQdfm%^T)pkMim>g&=!BZGcVoyX2;$P;qp z07iS198oTYlZ@ZHrRk0p_nyZtP5wW6f8sTX;!%M#l7fbbKRBEz6w@WTHp(ZVA3L(9 z@o3>W0C$qe!8X1Zy+eYx{yp*fBhgpR06lQ3=QT(*s>&LS*(bDOQw-LbV}5h91>G7s zvHwKh99Z0vy9I8y(XCTu^oP>><$oW+`nT7mAh({6j^X2`vZ!uHE7degsr*CEWd8YR zriO_bqThNe2)ud!T-GnFLkg()GKq>WQ&RDj=d$hyMIUV7+jCh@2Z1LL0yN5!xx;_W z_p;as1m~_hTV=gje?ySfwU>CteaxX^q6|Cl{sy%s%%Q=PmR`L5Yf-&pW6dnNsVMib zI?ZViukwx0vRMA&eXJu8lti^F%JA@YBN^*?sM7jbOQqFG%&jJhLXy$Kg9YmnK=2R1 z*KuukoN%s@9~;S1+2`Zd2nZ8e_ntSVCSnvDG#J#>L{&An7`sEbiP*%IaAz}2Ufrh- zKFhr6V1Y=pjOBb!RB952nd%#n@OJG64mY(GS*85VQEZ+}kxRaUWx860XzPdGc%cV_<0~>27<3gX1MD+1Mw8LRD>_IUY;XM2GsEGAfGG?q5 zu@2nS1(fjv$NJA&=`S!qeJdb(W!{jtn7E9zo6$&^4QQCydGysNo**OdCZ78N67hht z@*a$Y-U}yF06Atfx=NNCXD;((9e$w|{;VzhMQ|xrSshr> z0){~=nvWX8;uJGxBHHGscV2)o){bE@3A&ioj~ky1!o(PUMR1lD~tC{c)H1dP(f$omw$!p$yT;nuV-a#LuN z_GQ^<;AS;`$7q%iDi}*pGp)E7gol6y?75nyr(!yuCTxxnQBtveNPUY;{HrHCb81X< z4)PsOjX}brHipF`3G&qNm>hbUS{bp93*R3xf@z|^k_`-2ZDI>g8OzGx13Y<=KQWdu zzoV+p1^(t();lL9hm@ySZPpoWT1^%mr#(P^GTeMlWa69!C74t}Yqf>vv23xFM(0hL zWQpVTZ$`y;474D~Rl2yO%!zL%P8~fZh-bHpQTRRM+1M_mztUp@YlOh{;@wW(d zFVM1lUeWU6{E`JcbsSqxv5D_5>eXpK=bl!a;^B>h_lC~qm zaN$$LLcS(h7ugzv#VC|QNw5bMU&wFn9L=IaC?}}#7+7P*SwBY&#ffYf)7PHWY7wM$ zbg39?=ovhC5=#ySo6*%1a-CzHDf9VU97wz6yp`A;E^5;*5hKvu8Bi3+IdYxn@q04( z)=4Z{!S}L}q>NSB?gxXDQLFg)B$iapg)_k&q6BJ2;s)J^j54?tAJkfX^lkCr8owL1 zJ6oSiYFfE@YNS6gT*kVjPJ7_pI`u|q_(FNbq~fJWF3l^3uL6^c}*kvD9 zPt$r6sITrGK1z{jC~igNALUu`hmWaVXQ8y1;G)KV534e` zq0ToZsGEfEns1%T5<`zvTDM-Tgg2uSzO&a``0=SCG+TCo2TVg~|A>mex=mxflIbsu z&WnNLt>3fJ>D zrm=C>0la1t5~Nl>!jh~i-~CopBBXv`$}*~~F&4Jzq}(gr%u{+wwyrct3((Am>EX&A zb&+qpiiKYjp8|7Fn?)JSVima4<7vNebTpQoOr)h_IsihY47k(gcWO^eF%w~?J@SAf zJkpwE*j}dP$?wCk@~r7>V9)0Sw#z*QV4(ka>30!h@pyLDr7CD{x`W!R7XEsP-_jBt z?)M6c;PKk&EM+JZWK_QeMxDINCOQOJyjpfBwG$$AqM+_gKZd>=Kmls;spjBbKK*L8 zfG6J(6JBoAfi=_(Pf{R3r$Yt=7{y1J^1exvAv3|a%Fvyp9_@7^F?`7vLT2>_bp!=X zP*`9okoV;XtO$K(?amb=WF@k1uU_{ zV@+2zEyll*_|2CrVEut$_}?YIc>zm6U96M=#VMI(_@C3syIsZ9-~cITM?;I`5ZA7|1((X#Zi}edxg5agtwUCXpe#ToCvc5hjz_9d*=+1svrBS^3 z^{D88_Li|A1z%9eU%8hh+x;zz^H(m04~PoaQmO)PUd$2_{ROf{q<85;YxMH`MTjxA zx6Cal%r9AESwDky4aIESWrDo&K{HsK!AKxx2HDQ>P)m(>WI&BYupZ*%+XlBd;rGvA z*#`UD=QEgd$r1Go&46mC@D}1T7Abw^;1moQ3~5n3SzgTZ zuVIPl*hvCg$u}(HFhqKG_@w$)ymmqF2!H7smSME@#5K^G^+t$ZgD^n^d`bC9Ylm{w7usnmS(hZ&MX#}W^N-myl^4GP^z;64~F_n zRob|8^DF@rT5*YgKZ~hLpD`%+oE_XHe`o?!8j)s!ciEsCWaK)@OQA6W#uUr45ojdB z`>^+m3H2Hm{^V@t6qM%`v$0K5bNJ7*S$eeB^M)Jkrn51AXerrB+5YHP;6)^!pB|=k0ls11kpT$ubBkwPbWKkQ| z^<~;9CT_ROx6Npn@l1>ipFEd!HWs58An@SHYDrk}$Tfd>E=%#?q{H|4#@=E*Sj|6~ z%euvFfs5ZONu0?!;JC(Uq%kiu!?7|+ zp17(o$yWifC^V<@Y`uu`WhdJBO5>(_HwCJWE6L`q=>^q-?MqYD0>+TcV$g}N{ zu|AdAeAo@_J^z$T6?GSRevyBaPd@m`8f^W2K)bqcP-vWf%5?tZ0iPIt`bKt*|5c3@ zxX;UjL*x0fo7h`)#{EM=llX+S?8Yfb`Xx-yU`y4hG2JJncbkMt-BqZt8952`fZ?>Q zo=_tR{1jtxy8j!Cc!ZMz5+c+PD(W_^TwGQPU6{-!!3(^xfJN~|cQ8lSXrUDfawiXK z%}{rRz9{K+Ro;7FRN@pEJJ2I_P89g2Th@!&$WdkYL zQM_=Tg=z%Vwgk=g4Y~@hq`L`sAgP_J1v(;b2~*Nsb;DzXa;&Qmh61INqTj7fY~gd3 zph%|p>xLz4Cn5iZ7P`DuZHynz1rhTnAcTgkQhq0xJU6)79;O=&r(((3fOd8 z4sL>u%h+1?rx#71xH$aYayC-@5mv~e67Eu`$P@|!1i?j0!7B=58T2{Rida8!c6lM| z5^IJI10WPwrOgV^rUi=D^3RJP5=GOh3t10W`H8{+ZDC-=6IS8svv$!d@BYE3-e2^` zpW0Xi0O{R;4fEJy)>pP~m=vRjJYZg<=+G_dd+T;b7C@^`$Ib z4oZgWuWL(Lf6-lDiV+a9`R!6RG*oY%roY9Vwla37)#nK-zikogDOj=pu^8aglZ#k~ zQ~`0&%KWrafA~g4)a|Dxt&bm-$?%5(Nxxevwl(tj#Voml4#E~3I{e#3%t6qJ#fzD0 z-1SN-VszH!9VQPOp=oKlQo7$w9YdA`a0_v2F z51OBTcFmcO&h)HFKYJH`eys^UYw|nkAw>OY0=nY~*G)2=Eb@etJOK=Zu&tQDZ8K1? z)CESyD}?)sa6q5=nX$iJ$VivSUG!N`>4haQs}*4m-Sn(*(ilkL-)(71s>k`26!X~Z z71t1rJm#3u`F z)LP!B+Q=iimQP+0Zo8F5Er+x1ZQYwEURI3?J2SG*oi0G=o4~av_8yp4>pr;FgHG}@ zZQ~iF+rsxQPKz3jKqmC%^)>&M$jw&((DeZ z=vW7j3&xSy3w7ViqiU0YfVz_cFr6`iSfM?Z(H*Wc-vI%KZ?sjKHSA`7&EHu36_Nqg za5)={NC)Bru+|IaQP8DF zPv_LarG?P3B&0PlWo2RzZ%JeQc>YM1-t99hT(LeB1`>f?9qn9gFgogo-&bECwT|!! z5pj_GmxGl)P|v@3YF&S!5xG zhwhDPhXOMra>wREapVu&hn@D#XIV#H{3wg_jX{|4<=s&Z)I*r~2I?W4*#s}j{_QM} z``*ct$U(8jlxEHQ-pMjL;o($w!knlJQ3bBqwHLLuem}M!m1RAM!c^<-WU*Zht52r~ zjit_f+sa2EFXo5uWJ}78Dyr>RyGDOIP@)9 z1D{ztNgVM`;E1pAu2zSy?VTs#k$|ipzl%k*OPh4+n$DB>#k&C9*Z)@5x&I!xj;TW~ zAATE4NdUyL=q|fJ?-z@}NJw?^=ii7@`88iEL-@0mEEb+$|F@$OgAy%H{6`@ae&fC< z#TKGhny0KRm;(P;gWzl=0*1YuS5akI=Yo=wqLP8aZh*q@*Fu9v)1W=+z?(_r_LehG z+!d}sN)Evr4sNV+c+C&Oie$a2eqGC-`#S*Z;W^=_CWq&c!_(gf^?ud%K7psMIXwYK zPfwtu79YZD=+APQ3OdXIqW4&n_YA~qq}ZAxhE_*j>p3QtNW6?<@%12ki_in|9o!yP=XbN-(p<3pgI(Xh{;Wuh5a335 zF?529nzQX{kj{U$=4?jIxA=?x$xm0|_Xd38Z~udJ>QZx75LW1wB8a=fxRIef>JVly z1KaO`eJAXPjC&Xh)3r;F?<0BPJxpoytC%GH0%=}?*s_YO6S=LC`$gRO=soQC98B*s zE-jn;pS)!CUQq1@~CdLyPk@WLe^Nr ze&)YC$R6#WQ>h9$#ScBpGWf^8C@BMRZexqvLn^J0%ansxXtxoXIr#y(-@|NKZ^NtT z@f8*wnr3q~tz^Lpgf8%?i!JFXIsEv;EYgm+BCo52o-HF#a3QsOge7)O(dnXP;s_~V zg1*@(`6@&k?(Jt;URuTg6_o~sBzz^^6 zPRN>YLAr`5;749ZS_`hsBoeWrkgUD51*ZqKeIX71_|o+(W8muz zM(~jCrB{-*{%-BqI4CC%ydD*$vvPjC9y?$x|8+f!n;s2GIMBHgKwN>ZT0Vclb@WG& zMIyWM=Pkv+6UioARM-ij#pUGBcNQ0wl%kenVQK#AARrtlZt4#Eq5#;km3+e{V8q_q zsU#4hVFrgU8`*mNCeC8oy(j?OeBT0=(oJ4$a-u=*N&%VLQ<`VG=66)>aGrn4S*Juj z#+4le^>QxNyG091=M_7b7Eq=3(s^^U_=f>3k;nX#MfQBPQk`wivV$*tYU6JPLj`^g zyT~<-RaT1QicMPVFYEpZ6G((WpZh19%KOY$I`aFij!=HjMi$niRoJ!Sg{I$p5b<=x z<3V2{>PmP;2GXlR8hEXUT8gkn^yh=MUS4afPr z-^bVhAYg&80Wa=}iVg6$6c-gOvm}bVdp`R=EQE@K#fVaCv^!TKP)7;OVrL?dpecoo z|Km~CDFIVJDvxh9SJ@-IlF+a}--o<@dzfXaz-YnITDsT?;5gsCiKRh<8%Gw0Gp}s< z+yy24AGfeh9qoVyE?=IHT2^AZ0EESRexO9>iMs5kTlBp{Qcw#_mDswDL5HZ$awmu( z#cROlLdHi{GOatHW7>i~eTe)b9 z*b7Bl4&ww$`8xR+8i%V#_bP7cT9qF7T1u>6Bk_ZI2$|3gV4bAEkw42RXV0x z@5T-$+)FxZ4&+;k*v!vrBhNueMc~17CI9hpR^YhYefgq)v!qUO*-|Mbc|KYGDRQ5M zyGqzE^eDdV-;4#BT72x^Y@qOjc6@?e?MFq$dC?QBi+lseH^3(=bd$XsKvf{Tvvkbi zJ!q~0xS6gH=f!Sdi3Yoct|v{E3}K>+Rr+eyJ0%q(aGHt2)aI^x-to`1ro)rq@6y|< zPah#djC^X9NYrkF&+G52Opg@riI6PSSr4iDTgOf&CsiA7y{+?^>-_T8)1<8ns6G!l zQDgq#1Csve`G8oaZ)CkfT)txhFLLM8EV|rd7blAXvoON;Vx?Mb_5oDnG{B9aOQX!~ zNtsPanYX!*kZW*l!5rId_U%otJ13o*D63dw^bt+g!I0d&m(K$ z-V|Q`JP?8pir=KXBXYXnY-}?>M znfq%`*O}?K+jVyDi=f|_)6Bnl!Jyypd(oiZ$bPXk{f2S=OE0o$LUkP@5<>T#(H{}M zcBs| zw3TK1pekVcHg;`%h=^{MELdJtiv1c2lR*36_q=5b@(cNs|6$JZyVXjWS=_9qQI3({ zD8RRV^xFjmOb*ad^<#3nsaG0Cq)}g52Q9j9Ko{;$okzdkCOEkm-=peE@=ywYd#fuP zNBGc9EGDwOD2hNXdDAI;`6kviF2JG#hN0m&Qzw%;Iw8N9;-<(#=birp_p{2UAo6OB z<6i-w%wNBQbppJoboGj5fERV$43jUmfsfzJdZYyd6zH<~g_+YK#OZI{nBwrYK8sZ& z8vLBPrH&ul%$~{Feb#0L-lI-K4y63)7K(^fV1 zz=x)aC_GP>BW^r}Z$;o)qh5T)(>mLqs(W6RLg#Ugp5R}W^9tWi4Z#&Q-quq7+oq3Dy%!hE%Q70$KJIP|G4e{5dZk9%T89|%@g>?nbz0v zqJ*?H;UCFfgkb*K0%$w=lYrGDj)qXn@chEgr6__*jz>)NA75i#Q5|(T)-o6y z=H0DWG{Q|zDfF+L#G%BA5!P!oopFk!W7LL$+i`A%Jp#Rslf^W3ZsuNa0L2^nX4vLWxTWG4SoBCHeEn`f%bu z0ZOMiH*V5YxJ&2rdmmycRwpmp2QO^-D=guv7uEd)sl#^V8Pz*hsjfB`RX2NaJBl&F z_+UWjX?OsJ32+Jl@11G()L*2NYq-FuT!V2OZ`A#b5@$+TBll7bY|N#mrOPh3bu z??o8kH3NCttIP>UCbb^U5Odo%aNvdSd5v|>l&fJ@5SV@t9}%gz{2C{Dl?;!Q?>^ol8W9K{?XY^ePOBaSNwX?AgqCfvIAvMuO+TrE56$QvX(d8#?h*HK{ zJ0bw*$G_RZhD03Im8ddZpYyHAZQ|W_vRI$oWi`Tc8x5wud3C!il9tEGoQPQ4f28GYQrv;n(W<{aPRj?ZL8kJ67!8n47HXti?yEx z$Vjvy-YX)IPA~FVY#7qro#r@XrXL7$C!03>rj zQs$vnsJU1Y;}SP%Ko=$D7iP}uo`Rq~y*i8%@()?R@&hTL+?pneVrylWw9>}5?U8$H zCD+xAT5WBUwxfAJ{wVxGTUZ6O_5Npom!J|>GEawuL$q5Rq=&&W%e$nFY!q}|x_^)| z$Mcf-=r>u1a<@ApbpTC8fcMFpjgIS|bmI|nImY#UEvbi4%&8Rw*m7jazhN9f44T@5 z$$P{cO>Na6r&=QTzl{zZI0(guZkv=u-8*=WpLvrx2L9tNHy_455LmXs*dxs%@cpk!rI7EgIGt>}9Xf zV%26{(xx?HiuDn?I`Qa?@@zza>mZ#eTPDs77WaQ}AM4Z~R}fywXr>+*b2NNcms0O&a5SXUe^#F&{>e`h zaP&od=4bZ7G;%iZS^E*?axps7UQ(eS^&`cQ-?SeTeB!UC_p@Gp!nO3}el}|vQB**w z6s4vp?qUBb1zz}91y4emzON+FW^MfxtQz?_0(nfc3hzqok)GIX(y8IyCpnhTDbmvM zI7_Ov;fPtnam3%QU_(OueDsSTO%o|~DTZITg9RID6(_SPt)d$*dIy}t9e1$g_;wbl z_C#71&Mqw}E1W0Xw54Swh0tk&_|`X=1GW*upTsFv`3~zeq@$%5GGa%Twl4;g*BU z$(@Io0_emv8SCZwmCQL`HyW$R<~+QT#wSfT$N_~h;LbX(`0|^9({QxWD(z?%mf{`TR+krO0rRiZlKXWnI_0e!4&=0o0N@jkUp zeCB%sMvEiYzsDx}R5kH~@3Cinwl?xr@3Tq1=rsT6edPRf9cT@;oZ5z+0}Hq11J-x2 zt3p9r1TGcpTYfXnKmm=e5ILwcAmR+dU22LmIKbELr!DlCMk|$*-+lm5dsjJm?Eo9V z2YrC|c>P-}CD~^5SEqC_GKeTnATo#$YT!-p!x04BVeAJip}SN+LurXa~LUHGYe1q>YP_xNY1F5in4RIzh9nK9XqN@+TH1M*h$^P?c!|! zy=597_7QVhSMYrN@)J>?+dpExqoe7%X&4NTbi*?K;YUaZ6Q{L5$a?+`XZ!er%%NZw zoHn~HRTo5tHy%X(;NF95sH3C)f)O++rkPC9BVWsPOZbvQY&aiy2>uo)uiFnxZsS1~ zw=;2;b*XjpC#-~L=EQbtH^Da1Hp%wTKXW?;F0?JOEw&ZdmOOM~bi&Rav#fVmH;;(D zBjgs_t+v~2f3w|gyTf*;_|AEK@GqoIIJ=;HKd))SK+Y`p|udT0H<60hy`O)^1 z?PuFBwv)DM+po4$w$rx%+0NK%Y-f#|zi+)`eca~t@eihK3w=3sd*~~nuZF%Bx+8RF z=&sP$LwAS15xOVz&CtD}Z-u@cx-WG9L+TXKrajg>(i1kPJAJIZc3QhSTRu;CB5Xt0 zlVKafo(g+9>_1_f!ZwFJ6ZUM_b79Yiy%6?d*h_TQcW5j?$GPqHhgF2V6ZX*bMV$h_ z2>UYZtFW)bzM&I7v~JE*=kUxe>a`tId!jwbo@`ICcd|d^DCp!n&^~DA16$OhiihSD z#D~teFR(APFS0MT7uc8Bm+tJ@G3jILL&X7pn@bZXrIg!mw%=mE)qb1(Z}!{mci8W= z-(_EC|GWKe`#~7?+IQJsx9_&UVc%na^G-YyKgsw>!A~drbjD9Ae$w!hj-M|0 z>589j_{qRecl`W64bDjcfFJ+>uu2GWsu0^4RAP_)7r2NdZZd^RqceDT`Ix?I{|BfY Bm0+sPzu)fTaeq9XkLRecurRzZ^g$;rp(-OLDJCN! zE-oV_CLtw`1MhpeR@hK+8Qx+}BPZ zFh@+@Azr(Dj_s_#0x<`YSYVNuBb``aiI@XL+$C^`I+Fr0;o-ti&MAP9Br8!L4N;#7 zuDzFwrxV*HHamBROP*}DUS3zo033ES)jTooA?}H?<%i@rI79^PBkXfXWn3E4lSEEO zO0sM?ttU~7DS#lZ1~LiPU7Z+4PK859E@J)u=Wy?9F5}p*5H*p_59@|UytH+;BXgl^p z6buOn5m3W8C{YSXfR2O`=F92BiT=wP2{o zEwbf@Xq#mt^!M!})-tqQPwh3@=tCEKF>zl2!I95RGK4@mF~@CUfl6YI9AfqcVvamw z_Bkj=0s1!?M@TB&pGE~}qe8UNQC4W9Kj=|V zg~vvPKNZoj%>~U96XEyB_AtVC1k#C5qAeH%ki_&$>~koFbby;1LezJXNQez*sg(?O zu5X%PZvTVn2NwKR4WgsJ_CL_z+q7yRrwHWbsbO@a^nDuyEChJ?a?ETy%a)X|qX?F| zmMzI)0!qa697@FOYQ%jGgaRt)KU9d>?T`LoS0KifL`|gwG`QhNFG5y?g1Ce&x?(9u zS+Q}_b0iU?i%-CwNG!#UqeRb3k{u)l)cXEww4EH0M;Pg%7^zGn|?0+D~A$7AuV6j#C0@G0naxm6bl>(ti0Hn5 zo#_fXAQ)^T3YceY*C)d1%OD~p<0D^|5nC}>J|(sfnP?`0OuRth5>T=d{`?A}00Wj4 zq88}2M{M6(Gy~>AJ~sVjF`nLBqCe^(C_n?32dO|z2l${ToV>HW7>)qyJqoy;N_ZHV3T~ z{OF&hI&3a%AQKxH!v^T+r7#-Y5s3>$w>>!toRJG_K!abPQM;X4pU`HZX<_&@p0jU;~-hz!)|_$Ary+4P-K5rd^6+e^1Pt%8XTVI_Cd~ zj;1!!3=RA}$B~)Xz!__qc*AqA41l@)oJgb1m`LW*f^#v(=jx3Vyy2%+dNbpm8F zw)z+gmUlWOl)8b8=&LE%&hY$JYHlNA69sod|1B5umL)LEDbYkAQKxH z!v^RCusH-U!?Q<`3&44i%>tN1?eG&uuZHBoIGDQ($6q2rObe%9uq+Au0Tmv`z66;m z$b;U@6@}xXsnBG^n1oj#evqpWe-!R_3U>OUaJ-*NM~dim=l5~#NQ_>dg)qGa9K)$t zyOO|vqCvk=jOm*3oq`XkB#cQL^3z)w799GU0b^l7{8T>LF#V49`19Xz_`l(Zf5Vag zhOhsEMM?Glc6kF51&M~lKw=>`A#sp+NCG4gk_1VHq(D+3NXT(rkAE%y8VPND%p#{j z(vOI_k~XmA*2XW47vM@{5P>VD<*LX zq!e-wQUpPgR6r^r443b%3LwA)Gk{J=7o;1~1L=kIL0&=nAp?-tkU_{0WEe66 zc>@`Rj6vQ)-k~{u2Vg@3!z4hlbW_qISH+ky>Vga40r&s`KnM^4!~h8Z0RR9BkOE`? z3;+Q*Kn_pC+9EkYOo(_kG2$LWl zNB|Onq@xJgkzo>;9hD5E0I2{HNCVP=3;+dW0$IQ<;5LvA>@O7KoW-bIJ@6c802+ZN zpc!ZZUI48?8_*7P055?~pbO{*dVpS_4^8k_=`rjy5UR4x*7^gP9I z&iTu^6shjt&bgr6P#!2Rln=@e6@Ustg`mPv5vV9s3@Q$lfd23Nf6k9di_DjzaaDjS zLY1J(P!*^uR1K<*Hv7GBw@49UM4=5m1J!}*LiM0$q54n*s3G(m)Cg(}Jr6a3nnKN> z=1>c$CDe-a$)%s&dlbOm;i5PDe8@0qtjeITy!epK(wK`W&e2sB`ZOg?3j3P@=jeig z=Lp7F(@_Nl?9AwWC-fgYN4wqsHDG&B{J&1|j)BCq$7=8Z7D9pxBR1Oo}{7IpN1%Lm=j0JD~VkV%` zz_G_+!wToePpLenhwWcBnCQ+g2UyCxKVc;`QmVg;wnw&4c0hJ`BxL)a$?<Mk21ph<{kI|zEgP~0H8zv#go-o8e zMd%5GVL|e57;+4!8baV$%?bSSphk*u(F%o;!pLB-BO&^Hd=_GWz?@2cw5Ez!+gnFlHDFj1|TPV@Gd`mX&{Q(Q(ipe|N6I&v>x*;)ef3&;1NB zOdV_C7P`j7!}Q-7XG8$gg$E3osm{gzpF#oFp5r>~1}q8|{WC`;SrTdzLQIAjSS;-3 zk(d)bFeI#(KumEQEFP8sON1rCl3^*ZROAP3dSo;Dj^*EZB4OzJ8pc2GYaGe`zMGi_ z`}Rksq)Cc#iz6MD0Ym+9O(}y_zD!uwkq~_)dkI2;CA$T?eJo4W!VD!Fmh;O-mV~wu z>$)lzmIup+6&xv`#~aJ?4y^ExB_%P|bwClU_>Yjh4Qo}udn7_{IkhoEDS?&#v0+{% z#VqSRSQ+d->;bGCRspL-7nKp&tW8S&cTpe09>J<$)vy}0R1l-wk6};#5R=zq1ylPo zn6NXXMt`$Ch1J2H!RlepVGXcGSQD%n)&hG0YlXGJ+F>2Am#|J)7pxoI%D;Cuy;!9i zgS~~lgN+}Nvmf;dc^H=8iJyLzbVzCc_B#oif=$ET!#==1qVr%rZm}q=D~TD{ENl)o z4_knJf-S;6AGa9V1!X(dAS}VY9Os>?i&^Mp*vc_}L{6QD)!wVHHQ3i9@o{@I*OFn5 z!#eC6Yy-9l`wrWJ{rEW!x|oZ^Hf#sB3)?%Q_?h`3&@HT z*Jrf+I}$dK9pnHxK`xLRK9C<200luIP#C?;{P**_>z-hBh6pGMih<&w1Skng zfzs%x(2I{gW;Q4OWYc`{f0l`ppv*5Z`i?8QYg@6#?$jUSFayltlLb%zv250buwX5V za-ck@04jn?pfaces-jitQw=c#Q~Se>_DoBMHKEi&4Nw!*I@UQj2gP3Bw81m~xyK^b z`J0&fBi8uof_mWDUmEDU zXbxKZ_K|9YnYZQNrj$BZooxkP_$4Poh8bbj+#0m`Po@Q-z%soEUiu?Omy|vqeS6~X z+-yNR&>nOE9no5tE2b0Z{M!;e9kF>`K-b^WUL+}Nv62r35x;{t z3KEXM3KGd;%<=QVf(fbV-&KhKBf;z74KNCf24lcj@Fo}s#)Ao9BA5gwgDGGthy>Hn z-TiwG7GSL=rQkiV47?9M0L%Xbr;Fvh0<8QUT&gK%!#xBafmL8NSOY!=pMbS!wd00^ z2UB1U9tv*FN`>SwraH=w`aaf*`2uVO+kUw~KMXO&?3;G5ZBoX7#soLfTPF)Gt5pJ1K<93m1>UJ3-7>jaNA2y4o(kefHT6G;LLCqI4hhD$$o(r8D@#u0PJv%Uysbu=TaK1nZpU^Iu@o{VH$D6 zdHyr%#xmlC^ZhikhHy|~hQtpSfD6Kf;KFbbxF}ok@{t02sx>L=-&=4M zxGG!?t`66LYr?hQ+VC@Q^ce&lFuFx4jnOmtZ(Uuu-XAB_@6rAHx9}`nA8v3Y=0rAI zV{Y>e;pdL+Qf)9_vM@SA(KiLLVB>$o=YPV@7cogpj^R`+)byt^Ity|)bQAs^sM-Is z$o$_fEPlda_L!b6e-T~6gsuJ!U-&m{eGI4CVshC0Qbvcrj1~UH|3qe3qDwzT%~)i% z|5;$y!tR&I4%5B;FCy*Zi{-zI=Wr}Z#j1qkKT)TDqRv0Lv5V>Q6UH80*MDof{e+dU zO7H$}*yG=@=TEr#=PiN1v-J99AWMR{tcuw^m*L)UAGk043fvEV748qe1`mJ-!h_(! z@DO+?903o5hr=WOTeNU$(1Y|hbs9V!o&iU}GvQhATkzZPYthZn%_zzg9; z@M8Gg|LiGnys-uu{T>y1(xf_JPO(;a+Yyew97do1i)t`^qKG2cc^LmJq&Om2lxZo&eQo zVR|qmKSypvZcLt0%E5xZ+41}N)6?^qYX0Qc$OFg&$%Dv)$wSCP$ussiX#UDy9xLv` zUn!wyn;Dj<=$FV9v)skxcaH?e<))m$S|&@#OMeQRT`?!@5IZ<@Bbkr zpT!E|!Lc3oq$~f!MlOUkpcS>^TAcm3wfPy;KmPCc|5f1slNE?E#*H$@i!#QKGA4*J zCX6yBiZUjSGA4;KhCDF_qUC7+?``q_dt3bf-WLDAx5bZNF8_aiTRb`{6F?tO^g)U~ z$j}E2eSo!5neZ3|#MD}gA|C!1D}({#Xbxg0{0$yd$NO_wWo#aoU1W^%MR%Pu4;UVL zJBz`azXyDYtJV@6V7r<=nNIHg;_be8Lr=}9qlEUYyV^^>wL(RMS;e+zEbNkZpl94k3ZkAo5g~PU_Pmix?=nE4wJXJ*_?`GI zi`8VGx2+#*Yqf4^+3C((K#J6Zlw9R=W`ZI5oRcPO9{kB*g+T6;P)6#?)M!oSjE_1Q zeWg-!d;+1aay<2uh$;HF%U_u!dpt)2;#ka)X;KybT>L#*x5(@8Yh@22tK`p~dS zmrwI%mAra86O>2iOF(80&V^?#ijJ_YA$jFI;=)utnBF7x=nP#VnZ`Vtt}kU@%o3j) zTR5?0tPcG+WeZOTVUKbYe*}%kbr4$M>x*z)id%n3$Q~IQd<((%LuY^Zlj}G2)wrtq z&U%Zhv>ClR!V|6#me3!nftzI9ledF+d!MyF)O2UP-KlW)_G~0dcTk1toVnNoa7pWnqm{|&)GQ;B=OL84LG zvU&Fo;IK>XphxreZ1a%)X-M5yQf}7Zj6t^Ln2BTwwrhx|H^Y=y2z-jp&ok!XK4Ue^ zARrvfQ6G3d-PjLHwN0c<<2ENKtQaxXDA(rfk*_Yy)E`4sh;hiDv z8w>W1B*r=_&q<$Y_s`~KD*DMOd*CNNPJDT9km{*m4#B&&G)H1tHdcY02>IK6!)!g< z^jc+-XSxVJIAb9%#KaKa z#+`;#ua@E|onNods(w`XZKrlxj5OEs4!5cywxKbhzDKO4D_9keLoqsq4=ml2Z8lI#Tf}HLfDOv|e$~0rl<|L{S;svw)Cg zc~yJHnyZ7q-j_FHD7%@GurpV^Ha=Ic7nbzs%@{l@g3^c6YWjn@mgf`4?H8g>=1B@w znAkk%a={V2r5GEa{x-qBw!;lM$(BpS((pwjIY-dGgxn-~a-^zWDETn;x!FUkMS~Qz%eI;3VHL*=I>B88{4?cn~+Y^Tp&f zhr{8l!gt2m!>+HrJCe@)hdYecHbH%xJ)WtER=ssE#9sE^wXA)`(J4Mei}YyT(@UX~ z(%W_?I}eeRSw9lqPz!w!)ucAq5_p~COj)Kf(i!V&Ap9==^8if^wTG(6tcI6!zq9Yx z>FVAC@#Tea#VwJUJT#?rRPmmdEBCT!&EcK>J70rzf_%T`J-ZazDm}CHU9aM>=l1O3 zh~B#XG=l4}(#z-Ya0v}2(%dsBP`Lq63mBLFzxZN9$6);Ud6T_T&|Kal!2yQ@++B{1 z81j&S4MIMuFRzvulgC(JEg5|x>08(|&9|<|Gn`p#Lfp7WHx#PaPl8u*ul${r>0<}C zkrSru!Z&LwX(c22qunkilieJnFE78>diIm7w{Y-;jFnMsxo3|_i7%v%63U(|a6No@ zapGpJJ3dfcr|X*WU|yi=V)M&K;TMxQIO!TQLUpvvG`^JFP#6%)$D#UI7t;yvS${fl z{iy-jHpM4|0_S1Ew*UFkABB+zk{@ki@N8u`#GWTF(z55m09|U~9}#CqLJn6A*XY06 zXutA}S~%5sCjMqw)4>=#$U6GY?q|PK;lMGIALz1`ETK4g^VTCkB@pECINIj>8k`in##w*yMhV|lxCmyU#C z_k`^2T!o#Y{WaD8w_B}@)^@cnA5kA;@4c?BYqxV6no-m7K^T+6KWwP#f26OU^pr|W zcgfyKYq+z42;FTQ9`1dc`C7&vyj(c&?Aznb%JN`6)*h0$;^;<&%VP=~pPEB=2W((9 zZ=(-vFZw$;%;~z@+lJogF`Is2Twqhlw_R#GDB&`ds2I!LQ8Lr@l)B*Q?(@cr9Op0P z>V&5u)w*pc`FUf~Se=TqFK{KUN_ME*?Hy2m?Yz18^$H?;#J{KDM3(I4HF<&?S#2CpHNJ;fb6?tOWx49gK{5H63WpH;Py&Nu29|DO1S zD}I_zzR}6w)zKCBGEN#JFXS=c=tX${jmQ*`k+FqX3p1(HAg%0e(u`v))taO?D3+`D4fmFTW}|&oikq=(V{t1CPLRj)55o%BhJ-T-mU6B=5N0}yYJGK;JErKbmjD*h;@jz z#UmeWhQTD73j|rLbJMBc!DsD+sOi)bjP(_QXB|GK(lH14if$6Manq(R)r*J&?7f4< z$Qk&%ymJT_muDAwq$BPbC9!_L!}^6)ueYrO=|a)LN8mS4NW#NqLD6|mj8I%IeTIR5 zv|L1-sa#>t;4wwl#()l2QmDrIC#kN&5AH1d6Xvp=Wg8m|YTc3N=rbI5I@|2G?H6ZJ zyk66ZLv^m# z24~BCq6HKCUjIO*xiM7I#Vfj8*5(de_l)bvE4+GIQ_zMlz=3C5DVZwuW$b4~wlYOM zz(dWJleR& zDoChM)0Lg&d-tAxU{S&tjd@4XVmS6xSZI)y*t$n}J@`0jf?K6>k#*<#!( z$r$dESnk%F+;K2Ah3%JkgSUc9pBH_w=F9OuVR`u-*rqPPB7RL8{;?qT%5xX?DOpyq zxBYF;+f*v+7)2RY+J%oPJ(9Fik2W|*CR#`2BS$=5f4<*<|C+zfVLOxP!g5^Nh}ddK z$QMgz3512G+-BxSw@Sx#G}#H$P78b5;P&8CK_9Pw3L@=}Ri#j@O`x@_&!Z}PZZ@rH zONQ6zkQ*l~`+2q5P*fms$MR!olOYqgzlncoxL!ld)kJSm#dy+bAP*wMQ zU-sq?2R+6C`FHEK!)L8?YAczz#^OrQw6`AY|P3=yCez871E@(i;8j|1P^guZndC>T09fy_t(m=Zz2_q*w)(# zM)Gf!^D)5$-jH5-Lr-3(KVk`fj!PciG1AJ8D{?k5@jItvHWIGSnS}J|tZJaE)lP^+rfT zd?n~d*xCkp+R(_nOghMZ#pe14Vna@{q0+dL5CrMxi!VsYnhL-e^ZRv5Y=svcG|V4z zQt;3w-3f}|a5NKRjf}c@o6eq-l;i3pg_}gL**Mu!qS+G(O@Vxg*1^e(ig9Kz!cWP~ ze1kbLR>{4b2m^z=hL^IcMLx5G6Z+9A*_9LY+zmkdlgPZ**>w6A9p@Gk*5LJfu`?NP z!fObgq_7RSYlsj{H{T^sL0FaMCxd~cRx5)?_n!+{g}2Hrv^uD;YjJMXzldA1AWV0o^^X0WHR zJ^(RRt*}P??n-gj5WX{IKym|%+HHwSYo41YQi$K?aN(zX^h_n}eiM~?Ir9quu7E&W z`P0)BBuc>ivrS>)x~6E6#AOd_ca0a9#;n+sXM?Rs{K1>OAFW~-pSmVm(f5VZdWX$; z`<^BeCBRdj9`x?~A!eTZ)sFA_NPxX*KfD8>E3#85&UiN+C7A%OX>I;gx4G!S$iGYmM-bM*SGfP`eWpWX+f z^Xk>U2lHufqYz(cT0oY3(T_PvHkJQ<fCoK{J(TZsbd-~^;c$xeb`N3X_*J*3F1}_6bWLK{~l=hXG`EDg*9~EmE z;jZu@RYKdxd5A~%qwX#H+BN!fcKWBgrH0RSRj5ddiQW z<+y?RzMc7yq#hLqF90=~9sDo26@OuR*KhT~T=sFcFcSk;*&IZp$UQYRTiQS6{3(1A z?_BdDjt}*bT*lTnL^>r8RE&wb3>Qvv_}qD_V#w)Q(wb$>e5JEeQ{ze)xtP?YUB`QX z;dSn4Wp;^`aQot*_hA!eJnlkj-Ci;dh?KGk&^}i)Kwz8LWstB$LplQYPZFm6a#z^m5}Kj zLwZA_ClfMst}`umk8EONf$|JMl#eKG_o2J-F#f^E_;6RXp!a(pQnWqeL2k}V*W#9Gx9fuR+FE>&gOe?u3G}%{WL6#U4j)-15l$v?bA%`?Y-8)< z;^(C(NZzQNDzOwm73gE}+Ul?dK;X^ZPb6OP!&iCnot1o+KAM2OL%d+lj*05ssVKus zlAj-5Q<-LM3SacyxY$v!D8Xmod3MSQH-PNA+({#?S3&{`Z&7gkySo#OWj1M#*-B(0 z_uKH&`?NTQ{j~LR&I%g&(asH@dhbO=D_X?Ord}GAeVrra@^!_{cDXw+>-rhtgdRJ^PZ2L{?)7Cx8x;Ovkhs8WLh#sz z=Y`&@Za!R3OTKskJb#hsEHSIR@RLL!|Cxk*Hm=wkF4cz25=si^p8e?EkmzJ8xc>H} zP~>M$?&#K`=S-Kyl+EpJ-JAz|yAay_EnFwc^zFPqU+)rP_0n*N*t_ncOemuW9e%Aw zMwc?uB-4ZtNh=Le_a$|&3s@AhE>-#@%!hB!FRRc zTvwHZWQqeqZr%v+y_CBh@mqcfdNXJb`A z3Q9+uMV4W%&?-Nso7_b?ah(ru=$w{d_63y%Ms_07utR)Y^UDR3O1n3DUkTh*yr)tX zH{W-M94cm!4{H{dgb}?ktvpbT(+K;~-$Qk#C68+Gn-hu(qN}U4g^znjWfgILSie(Q zP_8;J`F6VIrAyx_vOMqHDZNN4dD6%T$rc`=$O+|p9K*BHDP&9_j(Y1#u{7|7OlW>c zGYdI)c`1jtDjEM%wK0X!!2&-sThY07UiK|pSBi&Sa_x`iwXaDT3Evj8Zg8j&-yppf z?=X|2;4h^s@+NMd=N>d)(*@dvQ2RvrP$Vn+w*K5{s-ipWsb;CSPZK>4JDqPACfuuk zSAyG*A}dWcOIHL(S=+O}$9^Q9FxE(^!y)3Kx+p8t?pJeYmsC7Wyz(i@;xMkT zPt>A9`BYLWokG2$N<1bEd|F1kB~Gqiri5m{EJ;35c^Mz219cK#e>0M5eopMZ(tR8m zw)z-_4n}+Yld{x(9esSvrNW$Xrw+q46vPE}{D1-9HxsOVCkN^vS@|?oG*n@(1a%Lj zr5Sd>YoR#nnj~V;GPKRpX22?Fgm7ol|l%)FMjd)jP=F_f)?+|H8N|^w@GTy^&A5>f}DQr+9YD~}aFeqMx z+4qvq+tbY3Cl*zwnHcMOsh+1`zR?KZb4tN4!cU%ME4gdyoD$!isdH{{zN$Mtzh7?N z8Mh&Amb&l?vl0;uNA%WbnvH#l!F7o$AK$kd0|(UUy))iOcIV3uREY$(1Pf%tsv@WN=mxI+0o%AKHXyD`yRJ`@)5zrw|EZrkOG_wL|_r^ zz#bl+txPjtP^P*nte!?x+lB@^!tDqlDyd-fJtA4+-JYT&BNm-s3v ze7_D$BkH~Qj!%}Xj_@;qZCA~M3DOCCf%q9^t6-863!Kz*O4^={2r7nE>L|2`9A=@Zyzk|TQ-9jWT zr1&+?eVi(SO9AmsB$2pEo?77rTvRhVT48h^J%mdq)5;?a7IF@$*yL<(*`)R$?#D~8 z`lGzt*=^=b�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ΠHv#Nzq&O;+o+eO3pb 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 /uzi/src/testsystem/testsystem.c - -16/6: Set the default baudrate on ESCC2 of the Z85C30 to 38400 baud. - => /uzi/src/testsystem/escc.asm - - + +13/6-16/6: Cleaned-up and extended functionality of "testter", now called + "tter" + => /uzi/src/testsystem/testsystem.c + +16/6: Set the default baudrate on ESCC2 of the Z85C30 to 38400 baud. + => /uzi/src/testsystem/escc.asm + + diff --git a/doc/030131SD.P b/doc/030131SD.P index 6cc1b571..28f5c623 100644 --- a/doc/030131SD.P +++ b/doc/030131SD.P @@ -9,37 +9,37 @@ INTRODUCTION Full release of the Hytech CMX/UZI kernel and associated utilities. -Note: This doesn't contain Joost's userlevel work at the moment. However we -do have a small "helloworld" program which compiles to /usr/bin/hello, Nick +Note: This doesn't contain Joost's userlevel work at the moment. However we +do have a small "helloworld" program which compiles to /usr/bin/hello, Nick uses this to test. CHANGES IN THIS RELEASE -Contains a major filesystem upgrade - the superblock now begins at block 4, -rather than block 1. This is partway towards implementing a RAMdrive in the -terminal's internal memory. Utilities which construct and maintain the -filesystem are also completely new versions, with much better error checking -and help messages. These utilities are now available at the terminal level +Contains a major filesystem upgrade - the superblock now begins at block 4, +rather than block 1. This is partway towards implementing a RAMdrive in the +terminal's internal memory. Utilities which construct and maintain the +filesystem are also completely new versions, with much better error checking +and help messages. These utilities are now available at the terminal level (also partway towards implementing the RAMdrive). -In the kernel itself, symbolic linking is now implemented. The kernel also has -much better error checking and messages. In the C library, a bug is fixed in -the creat() function (the bug caused it to pass garbage for the filename, so -that an EINVAL message was always returned). This means shell redirections now +In the kernel itself, symbolic linking is now implemented. The kernel also has +much better error checking and messages. In the C library, a bug is fixed in +the creat() function (the bug caused it to pass garbage for the filename, so +that an EINVAL message was always returned). This means shell redirections now work again. -When building the filesystem, you should now use /uzi/bin/n.bat rather than the -former loadall.bat - the contents have been revised so that the filesystem is -now built from scratch every time, rather than relying on a pre-initialised -image in /uzi/utils. The filesystem is now checked after copying the necessary +When building the filesystem, you should now use /uzi/bin/n.bat rather than the +former loadall.bat - the contents have been revised so that the filesystem is +now built from scratch every time, rather than relying on a pre-initialised +image in /uzi/utils. The filesystem is now checked after copying the necessary files into the uzidisk.dat image. -Note: HD1_START has been set to 0x239. For Joost's system this may need to be -changed to 0x259. If possible, please advise the starting position for a brand +Note: HD1_START has been set to 0x239. For Joost's system this may need to be +changed to 0x259. If possible, please advise the starting position for a brand new flash card! -Note: When prompted with "boot: " at startup, you must type 2. The RAMdrive -is device 0 (but this won't boot until it's been formatted using mkfs and other -steps performed). Similarly in the UCP program you need to type "root c:" +Note: When prompted with "boot: " at startup, you must type 2. The RAMdrive +is device 0 (but this won't boot until it's been formatted using mkfs and other +steps performed). Similarly in the UCP program you need to type "root c:" which translates to device 2. diff --git a/doc/030217SD.P b/doc/030217SD.P index 38a3ce54..5817f7a0 100644 --- a/doc/030217SD.P +++ b/doc/030217SD.P @@ -7,15 +7,15 @@ MANIFEST INTRODUCTION -Full release of the Hytech CMX/UZI kernel and associated utilities. The +Full release of the Hytech CMX/UZI kernel and associated utilities. The release is at "www.hytechscales.com/release/nld/test/030217SD". Note: This doesn't contain Joost's userlevel work at the moment. CHANGES IN THIS RELEASE -Contains an upgrade to the "teletype driver" so that now you have access to all -the serial ports, the scale, the internal printer, and both the LCDs. I put +Contains an upgrade to the "teletype driver" so that now you have access to all +the serial ports, the scale, the internal printer, and both the LCDs. I put some testroutines in the directory /usr/root to give you a starting point. The rough list of changes: @@ -37,7 +37,7 @@ The rough list of changes: - now got a default group of "100" for users - ls program now displays in columns by default -Your installation procedure should be something like this, hopefully avoiding +Your installation procedure should be something like this, hopefully avoiding the problems of last time: - rename /uzi to something else (as usual) diff --git a/doc/030306SD.P b/doc/030306SD.P index dd16a5ee..f61db4f1 100644 --- a/doc/030306SD.P +++ b/doc/030306SD.P @@ -186,7 +186,7 @@ CHANGES IN THIS RELEASE INSTALLATION PROCEDURE -In the Windows "System Properties" dialog, click "Advanced -> Environment Variables". Add the entry "c:\uzi\src\bin" into your path. This is necessary for the new compile system to work. Note the distinction between "c:\uzi\bin", which contains +In the Windows "System Properties" dialog, click "Advanced -> Environment Variables". Add the entry "c:\uzi\src\bin" into your path. This is necessary for the new compile system to work. Note the distinction between "c:\uzi\bin", which contains executables for the Hytech 1000 / 1500 terminal, and the folder mentioned here, which contains Windows executables to use during building. Due to the system-wide changes (executable formats and device numbering), it's not possible to upgrade to this release by means of "newkrnl.sh" (although we @@ -194,16 +194,16 @@ would like to test the "newkrnl.sh" functionality whenever possible). Instead you should use the CLR MEM switch of the terminal, although this will mean having to reset the terminal's RTC manually to the current time and date. -As with the previous release, it's necessary to have a DOS or Windows 98 PC, loaded with the Hytech POS software, to load the software from the CLR MEM state. Coming soon is a modification to the EPROM to avoid this inconvenience. Once the kernel +As with the previous release, it's necessary to have a DOS or Windows 98 PC, loaded with the Hytech POS software, to load the software from the CLR MEM state. Coming soon is a modification to the EPROM to avoid this inconvenience. Once the kernel has been loaded, further initialisation proceeds via flash card. So the flash card must have been initialised, with "hytdisk.dat" and "uzidisk.dat" as usual, and inserted, before loading the kernel via POS. -Normally, you would build the kernel before doing the above. This is because only the kernel's build-script contains the commands to generate CHECKSUM for the downloading via POS. If you want to save time building the kernel, you could just copy +Normally, you would build the kernel before doing the above. This is because only the kernel's build-script contains the commands to generate CHECKSUM for the downloading via POS. If you want to save time building the kernel, you could just copy the distribution files CHECKSUM, KERNEL.BIN and BOOT.BIN from the "/uzi/bin" directory to "/nlddl" on the machine which is running POS. *** LATE BREAKING NOTE: -When using the banked executables, you will have to copy the executable onto the root filesystem (ie. the RAMdrive) before executing each time. Then the file needs to be aligned with the "align" command. But this can lead to a problem: If the file +When using the banked executables, you will have to copy the executable onto the root filesystem (ie. the RAMdrive) before executing each time. Then the file needs to be aligned with the "align" command. But this can lead to a problem: If the file is modified after being aligned, the alignment is broken and this can't easily be fixed at the moment. You would need to delete the file and start again. So please use the following sequence to test your work: rm /bin/myprogram @@ -212,6 +212,6 @@ is modified after being aligned, the alignment is broken and this can't easily b chmod 755 myprogram myprogram -In this case I selected a folder called "myfolder" on the flash card for use in transporting the banked program code onto the RAMdrive. Note that the flash card is mounted on /usr, so the folder "/usr/myfolder" is referred to as simply "/myfolder" +In this case I selected a folder called "myfolder" on the flash card for use in transporting the banked program code onto the RAMdrive. Note that the flash card is mounted on /usr, so the folder "/usr/myfolder" is referred to as simply "/myfolder" while constructing the flash card. Use the "ucp" program for this. diff --git a/doc/ASxxxx Cross Assembler Documentation_files/CVS/Entries b/doc/ASxxxx Cross Assembler Documentation_files/CVS/Entries new file mode 100644 index 00000000..bd91d195 --- /dev/null +++ b/doc/ASxxxx Cross Assembler Documentation_files/CVS/Entries @@ -0,0 +1,5 @@ +/home.gif/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/rnbow.gif/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/spcshp.gif/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/welcom.gif/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +D diff --git a/doc/ASxxxx Cross Assembler Documentation_files/CVS/Repository b/doc/ASxxxx Cross Assembler Documentation_files/CVS/Repository new file mode 100644 index 00000000..d0b1171e --- /dev/null +++ b/doc/ASxxxx Cross Assembler Documentation_files/CVS/Repository @@ -0,0 +1 @@ +uzi/doc/ASxxxx Cross Assembler Documentation_files diff --git a/doc/ASxxxx Cross Assembler Documentation_files/CVS/Root b/doc/ASxxxx Cross Assembler Documentation_files/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/doc/ASxxxx Cross Assembler Documentation_files/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/doc/ASxxxx Cross Assemblers_files/CVS/Entries b/doc/ASxxxx Cross Assemblers_files/CVS/Entries new file mode 100644 index 00000000..147a8926 --- /dev/null +++ b/doc/ASxxxx Cross Assemblers_files/CVS/Entries @@ -0,0 +1,9 @@ +/bug.gif/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/home.gif/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/manual.gif/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/netwrk.gif/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/notes.gif/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/questn.gif/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/rnbow.gif/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/welcom.gif/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +D diff --git a/doc/ASxxxx Cross Assemblers_files/CVS/Repository b/doc/ASxxxx Cross Assemblers_files/CVS/Repository new file mode 100644 index 00000000..7729d358 --- /dev/null +++ b/doc/ASxxxx Cross Assemblers_files/CVS/Repository @@ -0,0 +1 @@ +uzi/doc/ASxxxx Cross Assemblers_files diff --git a/doc/ASxxxx Cross Assemblers_files/CVS/Root b/doc/ASxxxx Cross Assemblers_files/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/doc/ASxxxx Cross Assemblers_files/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/doc/Betriebssystem UNIX - Literatur_files/CVS/Entries b/doc/Betriebssystem UNIX - Literatur_files/CVS/Entries new file mode 100644 index 00000000..5c458b76 --- /dev/null +++ b/doc/Betriebssystem UNIX - Literatur_files/CVS/Entries @@ -0,0 +1,2 @@ +/kd14.jpg/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +D diff --git a/doc/Betriebssystem UNIX - Literatur_files/CVS/Repository b/doc/Betriebssystem UNIX - Literatur_files/CVS/Repository new file mode 100644 index 00000000..6117c442 --- /dev/null +++ b/doc/Betriebssystem UNIX - Literatur_files/CVS/Repository @@ -0,0 +1 @@ +uzi/doc/Betriebssystem UNIX - Literatur_files diff --git a/doc/Betriebssystem UNIX - Literatur_files/CVS/Root b/doc/Betriebssystem UNIX - Literatur_files/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/doc/Betriebssystem UNIX - Literatur_files/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/doc/CVS/Entries b/doc/CVS/Entries new file mode 100644 index 00000000..66624d9d --- /dev/null +++ b/doc/CVS/Entries @@ -0,0 +1,37 @@ +/030131SD test readme.txt/1.1.1.1/Mon Nov 17 19:05:44 2003// +/030131SD.P/1.1.1.1/Mon Nov 17 19:05:44 2003// +/030217SD test readme.txt/1.1.1.1/Mon Nov 17 19:05:44 2003// +/030217SD.P/1.1.1.1/Mon Nov 17 19:05:44 2003// +/030306SD test readme.txt/1.1.1.1/Mon Nov 17 19:05:44 2003// +/030306SD.P/1.1.1.1/Mon Nov 17 19:05:44 2003// +/ASxxxx Cross Assembler Documentation.htm/1.1.1.1/Mon Nov 17 19:05:44 2003// +/ASxxxx Cross Assemblers.htm/1.1.1.1/Mon Nov 17 19:05:44 2003// +/Betriebssystem UNIX - Literatur.htm/1.1.1.1/Mon Nov 17 19:05:44 2003// +/C-history.htm/1.1.1.1/Mon Nov 17 19:05:44 2003// +/EXECPATH.TXT/1.1.1.1/Mon Nov 17 19:05:44 2003// +/GNU gettext utilities - 8 Producing Binary MO Files.htm/1.1.1.1/Mon Nov 17 19:05:44 2003// +/POSIX Directory Browsing API for Win32.htm/1.1.1.1/Mon Nov 17 19:05:44 2003// +/The UNIX System -- History and Timeline -- UNIX History.htm/1.1.1.1/Mon Nov 17 19:05:44 2003// +/UNIX Evolution.htm/1.1.1.1/Mon Nov 17 19:05:44 2003// +/UNIX.htm/1.1.1.1/Mon Nov 17 19:05:44 2003// +/cmx-lic.p/1.1.1.1/Mon Nov 17 19:05:44 2003// +/cmx-lic.txt/1.1.1.1/Mon Nov 17 19:05:44 2003// +/index.htm/1.1.1.1/Mon Nov 17 19:05:44 2003// +/lcd0.txt/1.1.1.1/Mon Nov 17 19:05:44 2003// +/overview.txt/1.1.1.1/Mon Nov 17 19:05:44 2003// +/solarisporting.pdf/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/stdlib.txt/1.1.1.1/Mon Nov 17 19:05:44 2003// +/syscalls.p/1.1.1.1/Mon Nov 17 19:05:44 2003// +/syscalls.txt/1.1.1.1/Mon Nov 17 19:05:44 2003// +/uzi-lic.txt/1.1.1.1/Mon Nov 17 19:05:44 2003// +/uzi-summ.txt/1.1.1.1/Mon Nov 17 19:05:44 2003// +/uzi-tech.txt/1.1.1.1/Mon Nov 17 19:05:44 2003// +/ycp_puttext.txt/1.1.1.1/Mon Nov 17 19:05:44 2003// +/z180-mem.p/1.1.1.1/Mon Nov 17 19:05:44 2003// +/z180-mem.txt/1.1.1.1/Mon Nov 17 19:05:44 2003// +D/ASxxxx Cross Assembler Documentation_files//// +D/ASxxxx Cross Assemblers_files//// +D/Betriebssystem UNIX - Literatur_files//// +D/The UNIX System -- History and Timeline -- UNIX History_files//// +D/gui//// +D/rfc//// diff --git a/doc/CVS/Repository b/doc/CVS/Repository new file mode 100644 index 00000000..169983ac --- /dev/null +++ b/doc/CVS/Repository @@ -0,0 +1 @@ +uzi/doc diff --git a/doc/CVS/Root b/doc/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/doc/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/doc/GNU gettext utilities - 8 Producing Binary MO Files.htm b/doc/GNU gettext utilities - 8 Producing Binary MO Files.htm index 292ca2ca..532bf9f5 100644 --- a/doc/GNU gettext utilities - 8 Producing Binary MO Files.htm +++ b/doc/GNU gettext utilities - 8 Producing Binary MO Files.htm @@ -1,7 +1,7 @@ GNU gettext utilities - 8 Producing Binary MO Files - Go to the ISO/IEC 9945:2002 The core volumes of Version 3 of the Single UNIX Specification are approved as an international standard. -

     

    diff --git a/doc/The UNIX System -- History and Timeline -- UNIX History_files/CVS/Entries b/doc/The UNIX System -- History and Timeline -- UNIX History_files/CVS/Entries new file mode 100644 index 00000000..a1505e7c --- /dev/null +++ b/doc/The UNIX System -- History and Timeline -- UNIX History_files/CVS/Entries @@ -0,0 +1,10 @@ +/b.gif/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/background.gif/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/code/1.1.1.1/Mon Nov 17 19:05:44 2003// +/info1.css/1.1.1.1/Mon Nov 17 19:05:44 2003// +/opengroup-logo.gif/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/topcell.gif/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/under-logo2.gif/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/unix_plate-small.jpg/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/what_is_unix.htm/1.1.1.1/Mon Nov 17 19:05:44 2003// +D diff --git a/doc/The UNIX System -- History and Timeline -- UNIX History_files/CVS/Repository b/doc/The UNIX System -- History and Timeline -- UNIX History_files/CVS/Repository new file mode 100644 index 00000000..36e3a951 --- /dev/null +++ b/doc/The UNIX System -- History and Timeline -- UNIX History_files/CVS/Repository @@ -0,0 +1 @@ +uzi/doc/The UNIX System -- History and Timeline -- UNIX History_files diff --git a/doc/The UNIX System -- History and Timeline -- UNIX History_files/CVS/Root b/doc/The UNIX System -- History and Timeline -- UNIX History_files/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/doc/The UNIX System -- History and Timeline -- UNIX History_files/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/doc/The UNIX System -- History and Timeline -- UNIX History_files/code b/doc/The UNIX System -- History and Timeline -- UNIX History_files/code index 7244ebd4..1f1cb5aa 100644 --- a/doc/The UNIX System -- History and Timeline -- UNIX History_files/code +++ b/doc/The UNIX System -- History and Timeline -- UNIX History_files/code @@ -1,69 +1,69 @@ -var s_un,s_ios=0,s_code='',code='',pageName,server,channel,pageType, -pageValue,product,prop1,prop2,prop3,prop4,prop5,prop6,prop7,prop8, -prop9,prop10,prop11,prop12,prop13,prop14,prop15,prop16,prop17,prop18, -prop19,prop20, -s_vb,s_e=false,s_n=navigator,s_u=s_n.userAgent,s_apn=s_n.appName,s_w= -s_n.appVersion,s_apv,s_i,s_ie=s_w.indexOf('MSIE '),s_ns6=s_u.indexOf( -'Netscape6/');if(s_w.indexOf('Opera')>=0||s_u.indexOf('Opera')>=0) -s_apn='Opera';if(s_ie>0){s_apv=parseInt(s_i=s_w.substring(s_ie+5));if( -s_apv>3)s_apv=parseFloat(s_i);}else if(s_ns6>0)s_apv=parseFloat( -s_u.substring(s_ns6+10));else s_apv=parseFloat(s_w);if(s_apv>=4&&s_apn -!='Opera'&&(s_ns6<0||s_apv>=6.1))s_ios=1;function s_it(un){var imn= -'s_i_'+un;if(s_ios&&!document.images[imn])document.write('')}function s_rep(s,o,n){var c= -s.indexOf(o);while(c>=0){s=s.substr(0,c)+n+s.substr(c+1,s.length);c= -s.indexOf(o)}return s}function s_esc(s){return s_rep(escape(s),'+', -'%2B')}function s_et(){window.onerror=window.oe;s_e=1;s_code=s_dc( -s_un);if(s_code)document.write(s_code);s_e=0;return true} -function s_dc(un){s_un=un;var unc=s_rep(un,'_','-'),imn='s_i_'+un,r='' -,r_d=0;if(!s_e){ -/*@cc_on@if(@_jscript_version>=5){try{r=parent.document.referrer;}catch(e){s_e=1}r_d=1}@end@*/ -if(!r_d){if(s_u.indexOf('Mac')>=0&&s_u.indexOf('MSIE 4')>=0)r= -document.referrer;else{window.oe=window.onerror;window.onerror=s_et;r= -parent.document.referrer}}}r=r?r:(s_e?'External Frame Referrer':'NULL' -);document.cookie='s_cc=true';var tm=new Date,sess='ss'+Math.floor( -tm.getTime()/10800000)%10+tm.getTime()%10000000000000,s='',c='',v='', -p='',bw='',bh='',j='1.0',vb=s_vb?s_vb:'',a=s_apn+' '+s_apv,g= -window.location.href,o=navigator.platform,yr=tm.getYear(),t= -tm.getDate()+'/'+tm.getMonth()+'/'+(yr<1900?yr+1900:yr)+' ' -+tm.getHours()+':'+tm.getMinutes()+':'+tm.getSeconds()+' '+tm.getDay() -+' '+tm.getTimezoneOffset(),k=document.cookie.indexOf('s_cc=')>=0?'Y': -'N',hp='',ct='';if(s_apv>=4)s=screen.width+'x'+screen.height;if(s_apn -=='Netscape'||s_apn=='Opera'){if(s_apv>=3){j='1.1';var i1=0,i2=0,sta; -while(i2<30&&i1100)sta=sta.substring(0,100); -sta+=';';if(p.indexOf(sta)<0)p+=sta;i1++;i2++}v=navigator.javaEnabled( -)?'Y':'N'}if(s_apv>=4){j='1.2';c=screen.pixelDepth;bw= -window.innerWidth;bh=window.innerHeight}if(s_apv>=4.06)j='1.3'}else if -(s_apn=='Microsoft Internet Explorer'){if(s_apv<4)r='NULL';if(s_apv>=4 -){v=navigator.javaEnabled()?'Y':'N';j='1.2';c=screen.colorDepth}if( -s_apv>=5){bw=document.documentElement.offsetWidth;bh= -document.documentElement.offsetHeight;j='1.3';if(s_u.indexOf('Mac')<0) -{document.body.addBehavior("#default#homePage");hp= -document.body.isHomePage(location.href)?"Y":"N"; -document.body.addBehavior("#default#clientCaps");ct= -document.body.connectionType}}} -code='http://stats.superstats.com/b/ss/'+un+'/1/c4.3/' -+sess+'?'+(s_apn!='Opera'?'[AQB]':'')+'&box=code.superstats.com' -+(r?'&r='+s_esc(r):'')+(s?'&s='+s_esc(s):'')+(c?'&c='+s_esc(c):'')+(o? -'&o='+s_esc(o):'')+(j?'&j='+j:'')+(v?'&v='+v:'')+(k?'&k='+k:'')+(bw? -'&bw='+bw:'')+(bh?'&bh='+bh:'')+(t?'&t='+s_esc(t):'')+(vb?'&vb='+vb:'' -)+(ct?'&ct='+s_esc(ct):'')+(hp?'&hp='+hp:'')+(pageName?'&pageName=' -+s_esc(pageName):'')+(server?'&server='+s_esc(server):'')+(channel? -'&ch='+s_esc(channel):'')+(pageType?'&pageType='+s_esc(pageType):'')+( -pageValue?'&pageValue='+s_esc(pageValue):'')+(product?'&product=' -+s_esc(product):'')+(prop1?'&c1='+s_esc(prop1):'')+(prop2?'&c2=' -+s_esc(prop2):'')+(prop3?'&c3='+s_esc(prop3):'')+(prop4?'&c4='+s_esc( -prop4):'')+(prop5?'&c5='+s_esc(prop5):'')+(prop6?'&c6='+s_esc(prop6): -'')+(prop7?'&c7='+s_esc(prop7):'')+(prop8?'&c8='+s_esc(prop8):'')+( -prop9?'&c9='+s_esc(prop9):'')+(prop10?'&c10='+s_esc(prop10):'')+( -prop11?'&c11='+s_esc(prop11):'')+(prop12?'&c12='+s_esc(prop12):'')+( -prop13?'&c13='+s_esc(prop13):'')+(prop14?'&c14='+s_esc(prop14):'')+( -prop15?'&c15='+s_esc(prop15):'')+(prop16?'&c16='+s_esc(prop16):'')+( -prop17?'&c17='+s_esc(prop17):'')+(prop18?'&c18='+s_esc(prop18):'')+( -prop19?'&c19='+s_esc(prop19):'')+(prop20?'&c20='+s_esc(prop20):'') -+(g?'&g='+s_esc(g):'')+(a?'&a='+s_esc(a):'')+(p?'&p='+s_esc(p):'')+( -s_apn!='Opera'?'[AQE]':'');if(s_ios&&document.images[imn]){ -document.images[imn].src=code;code=''}else code='';return code} -s_it('johnbligh');s_code=code=s_dc('johnbligh') +var s_un,s_ios=0,s_code='',code='',pageName,server,channel,pageType, +pageValue,product,prop1,prop2,prop3,prop4,prop5,prop6,prop7,prop8, +prop9,prop10,prop11,prop12,prop13,prop14,prop15,prop16,prop17,prop18, +prop19,prop20, +s_vb,s_e=false,s_n=navigator,s_u=s_n.userAgent,s_apn=s_n.appName,s_w= +s_n.appVersion,s_apv,s_i,s_ie=s_w.indexOf('MSIE '),s_ns6=s_u.indexOf( +'Netscape6/');if(s_w.indexOf('Opera')>=0||s_u.indexOf('Opera')>=0) +s_apn='Opera';if(s_ie>0){s_apv=parseInt(s_i=s_w.substring(s_ie+5));if( +s_apv>3)s_apv=parseFloat(s_i);}else if(s_ns6>0)s_apv=parseFloat( +s_u.substring(s_ns6+10));else s_apv=parseFloat(s_w);if(s_apv>=4&&s_apn +!='Opera'&&(s_ns6<0||s_apv>=6.1))s_ios=1;function s_it(un){var imn= +'s_i_'+un;if(s_ios&&!document.images[imn])document.write('')}function s_rep(s,o,n){var c= +s.indexOf(o);while(c>=0){s=s.substr(0,c)+n+s.substr(c+1,s.length);c= +s.indexOf(o)}return s}function s_esc(s){return s_rep(escape(s),'+', +'%2B')}function s_et(){window.onerror=window.oe;s_e=1;s_code=s_dc( +s_un);if(s_code)document.write(s_code);s_e=0;return true} +function s_dc(un){s_un=un;var unc=s_rep(un,'_','-'),imn='s_i_'+un,r='' +,r_d=0;if(!s_e){ +/*@cc_on@if(@_jscript_version>=5){try{r=parent.document.referrer;}catch(e){s_e=1}r_d=1}@end@*/ +if(!r_d){if(s_u.indexOf('Mac')>=0&&s_u.indexOf('MSIE 4')>=0)r= +document.referrer;else{window.oe=window.onerror;window.onerror=s_et;r= +parent.document.referrer}}}r=r?r:(s_e?'External Frame Referrer':'NULL' +);document.cookie='s_cc=true';var tm=new Date,sess='ss'+Math.floor( +tm.getTime()/10800000)%10+tm.getTime()%10000000000000,s='',c='',v='', +p='',bw='',bh='',j='1.0',vb=s_vb?s_vb:'',a=s_apn+' '+s_apv,g= +window.location.href,o=navigator.platform,yr=tm.getYear(),t= +tm.getDate()+'/'+tm.getMonth()+'/'+(yr<1900?yr+1900:yr)+' ' ++tm.getHours()+':'+tm.getMinutes()+':'+tm.getSeconds()+' '+tm.getDay() ++' '+tm.getTimezoneOffset(),k=document.cookie.indexOf('s_cc=')>=0?'Y': +'N',hp='',ct='';if(s_apv>=4)s=screen.width+'x'+screen.height;if(s_apn +=='Netscape'||s_apn=='Opera'){if(s_apv>=3){j='1.1';var i1=0,i2=0,sta; +while(i2<30&&i1100)sta=sta.substring(0,100); +sta+=';';if(p.indexOf(sta)<0)p+=sta;i1++;i2++}v=navigator.javaEnabled( +)?'Y':'N'}if(s_apv>=4){j='1.2';c=screen.pixelDepth;bw= +window.innerWidth;bh=window.innerHeight}if(s_apv>=4.06)j='1.3'}else if +(s_apn=='Microsoft Internet Explorer'){if(s_apv<4)r='NULL';if(s_apv>=4 +){v=navigator.javaEnabled()?'Y':'N';j='1.2';c=screen.colorDepth}if( +s_apv>=5){bw=document.documentElement.offsetWidth;bh= +document.documentElement.offsetHeight;j='1.3';if(s_u.indexOf('Mac')<0) +{document.body.addBehavior("#default#homePage");hp= +document.body.isHomePage(location.href)?"Y":"N"; +document.body.addBehavior("#default#clientCaps");ct= +document.body.connectionType}}} +code='http://stats.superstats.com/b/ss/'+un+'/1/c4.3/' ++sess+'?'+(s_apn!='Opera'?'[AQB]':'')+'&box=code.superstats.com' ++(r?'&r='+s_esc(r):'')+(s?'&s='+s_esc(s):'')+(c?'&c='+s_esc(c):'')+(o? +'&o='+s_esc(o):'')+(j?'&j='+j:'')+(v?'&v='+v:'')+(k?'&k='+k:'')+(bw? +'&bw='+bw:'')+(bh?'&bh='+bh:'')+(t?'&t='+s_esc(t):'')+(vb?'&vb='+vb:'' +)+(ct?'&ct='+s_esc(ct):'')+(hp?'&hp='+hp:'')+(pageName?'&pageName=' ++s_esc(pageName):'')+(server?'&server='+s_esc(server):'')+(channel? +'&ch='+s_esc(channel):'')+(pageType?'&pageType='+s_esc(pageType):'')+( +pageValue?'&pageValue='+s_esc(pageValue):'')+(product?'&product=' ++s_esc(product):'')+(prop1?'&c1='+s_esc(prop1):'')+(prop2?'&c2=' ++s_esc(prop2):'')+(prop3?'&c3='+s_esc(prop3):'')+(prop4?'&c4='+s_esc( +prop4):'')+(prop5?'&c5='+s_esc(prop5):'')+(prop6?'&c6='+s_esc(prop6): +'')+(prop7?'&c7='+s_esc(prop7):'')+(prop8?'&c8='+s_esc(prop8):'')+( +prop9?'&c9='+s_esc(prop9):'')+(prop10?'&c10='+s_esc(prop10):'')+( +prop11?'&c11='+s_esc(prop11):'')+(prop12?'&c12='+s_esc(prop12):'')+( +prop13?'&c13='+s_esc(prop13):'')+(prop14?'&c14='+s_esc(prop14):'')+( +prop15?'&c15='+s_esc(prop15):'')+(prop16?'&c16='+s_esc(prop16):'')+( +prop17?'&c17='+s_esc(prop17):'')+(prop18?'&c18='+s_esc(prop18):'')+( +prop19?'&c19='+s_esc(prop19):'')+(prop20?'&c20='+s_esc(prop20):'') ++(g?'&g='+s_esc(g):'')+(a?'&a='+s_esc(a):'')+(p?'&p='+s_esc(p):'')+( +s_apn!='Opera'?'[AQE]':'');if(s_ios&&document.images[imn]){ +document.images[imn].src=code;code=''}else code='';return code} +s_it('johnbligh');s_code=code=s_dc('johnbligh') diff --git a/doc/The UNIX System -- History and Timeline -- UNIX History_files/what_is_unix.htm b/doc/The UNIX System -- History and Timeline -- UNIX History_files/what_is_unix.htm index 0abff050..c6a6ccd4 100644 --- a/doc/The UNIX System -- History and Timeline -- UNIX History_files/what_is_unix.htm +++ b/doc/The UNIX System -- History and Timeline -- UNIX History_files/what_is_unix.htm @@ -1,464 +1,464 @@ - - -The UNIX System -- The Single UNIX Specification - - - - - - - - - - + + +The UNIX System -- The Single UNIX Specification + + + + + + +
    + + + - - - - -

    -
    -UNIX System Home - •   -The Single UNIX Specification - •   -UNIX 98 - •   -UNIX.net - •   -Mailing Lists - •   -White Papers -
    -

    - - -

    The Single UNIX Specification

    -
    - - -
    - - - + + + + +
    + width=271>

    +
    +UNIX System Home + •   +The Single UNIX Specification + •   +UNIX 98 + •   +UNIX.net + •   +Mailing Lists + •   +White Papers +
    +

    + + +

    The Single UNIX Specification

    +
    + + +
    + + + - - - -
    -
    - - - - - -
    - - -
    History & Timeline
    -
    The Single UNIX Specification
    -
    Registered Products
    -
    The UNIX Brand
    -
    What About All Those "Flavors"
    -
    Version 2 of the Single UNIX Specification
    -
    Version 3 of the Single UNIX Specification
    -
    UNIX API Tables
    -
    Why This is Different
    - - - -
    - - - - Introduction
    -History
    -Structure and Contents
    -The 1170 Initiative
    -Platform Vendors Supporting the Single UNIX Specification
    -ISVs and User Organizations Supporting the Common API Specification
    -The Single UNIX Specification
    -System Interfaces and Headers (XSH)
    -Corrigenda
    -

    - -
    -  - -

    Introduction
    -Many names have been applied to the work that has culminated in the Single UNIX -Specification and its attendant X/Open UNIX brand. It began as the Common API -Specification, became Spec 1170, and is now the Single UNIX Specification published in a -number of X/Open Common Applications Environment (CAE) volumes.
    -
    -This paper briefly describes the history of Spec 1170, and its journey to becoming the -Single UNIX Specification, along with the organization of that specification.
    -
    - History
    -Previously the UNIX operating system has been a product with four elements (Figure 1); the -specification (e.g. SVID) , the technology (e.g. SVR4), the registered trade mark (UNIX), -and the product (e.g. UNIXWare).
    -
    -
    -Figure 1
    -
    -With the Single UNIX Specification, there is now a single, open, consensus specification -that defines a product. There is also a mark, or brand, that is used to identify those -products that conform to the Single UNIX specification. Both the specification and the -trade mark are now managed and held in trust for the industry by X/Open Company.
    -
    -There will be many competing products, all implemented against the Single UNIX -Specification, ensuring competition and vendor choice. There will be a limited number of -technology suppliers, which vendors can license and build there own product, all of them -implementing the Single UNIX Specification. . Buyers can expect each of these products to -carry the X/open UNIX brand as an guarantee of conformance to the specification and that -the vendor stands behind a quality product.
    -
    -UNIX is now no longer just the operating system product from AT&T (later, Novell), -documented by the System V Interface Definition (SVID), controlled and licensed from a -single point. Neither is it a collection of slightly different products from different -vendors, each extended in slightly different ways. The UNIX specification has been -separated from its licensed source-code product, and "UNIX'' has become a single -stable specification to be used to develop portable applications that run on systems -conforming to the Single UNIX Specification
    -
    - Structure and Contents
    -The Single UNIX Specification is a collection of documents that are part of the X/Open -Common Applications Environment (CAE), and include:
    -
    -

    - - - -


    -A UNIX 95 branded product is built from a number of components (in X/Open language) and -includes:
    -
    - -

      -
    • XPG4 Internationalized System Calls and Libraries (Extended), covering POSIX.1 and - POSIX.2 callable interfaces, the ISO C library and Multibyte Support Extension addendum, - the Single UNIX Specification extension including STREAMS, the Shared Memory calls, - application internationalization interfaces, and a wealth of other application interfaces.
    • -
    • XPG4 Commands and Utilities V2, covering the POSIX.2 Shell and Utilities, and a large - number of additional commands and development utilities.
    • -
    • XPG4 C Language
    • -
    • XPG4 Sockets
    • -
    • XPG4 Transport Interfaces (XTI)
    • -
    • XPG4 Internationalized Terminal Interfaces including the new extensions to support color - and multibyte characters.
    • -
    - -


    -The Single UNIX Specification is supported by the X/Open UNIX brand, which in turn is -supported by a verification program. The X/Open brand provides the guarantee that products -adhere to the relevant X/Open specification. Systems that provide the Single UNIX -Specification interfaces can be X/Open UNIX branded as proof to the marketplace. The -Single UNIX Specification is the programmer's reference to the portability environment -provided on X/Open UNIX branded systems.
    -
    -It is important for application developers to realize that in committing to the brand, the -vendor is obligating themselves to conform. X/Open conformance verification suites are -vendors' ways of measuring their implementation against the specification, providing a -guarantee that they have implemented the specification correctly.
    -
    -And the X/Open brand commitment goes even deeper than this. It is a promise by the vendor -to conform to the specification, not to the test suite. If a user of a branded system -discovers an interface that does not behave according to the specification, regardless of -whether or not a test case in the verification suite passed in this area, the vendor is -obliged to correct the defect within explicit time frames.
    -
    -The base is now in place to better support portable applications development by:
    -
    - -

      -
    • Providing a rich set of interfaces that cover a broad range of "historical UNIX - systems" practice, simplifying the porting of existing applications, and protecting - current application development investments.
    • -
    • Providing a stable specification against which to write applications that will be - portable to many platforms, and a stable methodology to evolve the specification in a - manner that is not under the control of any single vendor or vendor consortium.
    • -
    • Ensuring that the portability model embodied in the specifications is based as much as - possible on standards.
    • -
    • Supporting the specification with an X/Open branding program to provide both halves of - the portability formula, where application developers can write source code to the - specification, and purchase products branded to the specification with the confidence that - the application will port in a very straightforward manner.
    • -
    - -


    - The Spec 1170 Initiative
    -The Common API Specification project started when several vendors (Sun Microsystems, IBM, -Hewlett-Packard, Novell/USL and OSF) organized together to provide a single unified -specification of the UNIX system services. By implementing a single common definition of -the UNIX system services, third-party independent software vendors (ISVs) would be able to -more easily deliver strategic applications on all of these vendors' platforms at once.
    -
    -The focus of this initiative was to deliver the core application interfaces used by -current programs. The economic driver that initiated the project was to ease the porting -of existing successful applications. While the work was led by a central group of vendors, -it received widespread support within the industry.
    -
    - Platform Vendors Supporting the Single UNIX -Specification:1
    -Acer; Amdahl; Apple; AT&T GIS; Bull; Convex; Cray; Data General; Compaq; Encore; 88 -Open; Fuji Xerox; Fujitsu Ossi; Hal; Hewlett-Packard; Hitachi; IBM; ICL; Matsushita; Mips -ABI; Mitsubishi; Motorola; NEC; Novell/USL; Oki; Olivetti; OSF; PowerOpen; Precision RISC; -Pyramid; SCO; Sequent; Sequoia; Sharp; Siemens-Nixdorf; Silicon Graphics; Sony; Sparc -International; Stratus; Sun Microsystems; Tadpole; Tandem; -Thompson/Cetia; Toshiba; Unisys; Wang Labs.
    -
    - ISVs and User Organizations Supporting the Common API -Specification:
    -AutoDesk; Banyan; Bellcore; Bentley; Cadence; Cadre; Chorus; Computer Associates; DHL; EDS -Unigraphics; Frame Tech; Informix; Island Software; Lachman Tech; Locus; Lotus; -McDonald's; Mentor; Oracle; Pencom Systems; SDRC; Software AG; Shell Oil; Veritas; -Wal-Mart; WordPerfect.
    -
    -A two-pronged approach was used to develop the Common API Specification. First, a set of -formal industry specifications was chosen to form the overall base for the work. This -would provide stability, vendor neutrality, and lay a well charted course for future -application development, taking advantage of the careful work that has gone into -developing these specifications. It would also preserve the portability of existing -applications already developed to these core models.
    -
    -X/Open Company's XPG4 Base was chosen as the stable functional base from which to start. -XPG4 Base supports the POSIX.1 system interface and the ANSI/ISO C standards at its core. -It provides a rich set of 174 commands and utilities.
    -
    -Many UNIX systems already conform to this specification. To this base was added the -traditional UNIX System V Interface Definition, (SVID) Edition 3, Level 1 calls, and the -OSF Application Environment Specification Full Use interface definitions. This represented -the stable central core of the latter two specifications.
    -
    -The second part of the approach was to incorporate interfaces that are acknowledged common -practice but have not yet been incorporated into any formal specification or standard. The -intent was to ensure existing applications running on UNIX systems would port with -relative ease to a platform supporting the Common API Specification. A survey of real -world applications was used to determine what additional interfaces would be required in -the specification.
    -
    -Fifty successful application packages were chosen to be analyzed using the following -criteria:
    -
    - -

      -
    • Ranked in International Data Corp's. 1992, 'Survey of Leading UNIX Applications',
    • -
    • The application's domain of applicability was checked to ensure that no single - application type (for example, databases) was overly represented,
    • -
    • The application had to be available for analysis either as source code, or as a shared - or dynamic linked library.
    • -
    - -

    From the group of fifty, the top ten were selected carefully, ensuring that no more -than two representative application packages in a particular problem space were chosen. -The ten chosen applications were:
    -
    -AutoCAD; Cadence; FrameMaker; Informix; Island Write/Paint; Lotus 1-2-3; SAS (4GL); -Sybase; Teamwork; WordPerfect
    -
    -APIs used by the applications that were not part of the base specifications were analyzed:
    -
    - -

      -
    • If an API was used by any of the top ten applications, it was considered for inclusion.
    • -
    • If an API was not used by one of the top ten, but was used by any three of the remaining - 40 applications, it was considered for inclusion.
    • -
    • While the investigation of these 50 applications was representative of large complex - applications, it still was not considered as a broad enough survey, so an additional 3500 - modules were scanned. If an API was used at least seven times in modules that came from at - least two platforms (to screen out vendor specific libraries), then the interface was - considered for inclusion.
    • -
    - -

    The goal was to ensure that APIs in common use were included, even if they were not in -the formal specifications that made up the base. Making the Common API Specification a -superset of existing base specifications ensured any existing applications should work -unmodified. The sponsors of the work considered pruning the Common API Specification of -interfaces from the base specifications that were not found to be in common use in the -application survey.
    -
    -This idea was rejected for two reasons. While some of the interfaces in the base -specifications are not yet considered common practice, their inclusion in the overall -specification meant there existed clear sign-posts for future applications development -work. As well, it was recognized that the applications chosen for the survey were still -only a representative sample, and that many other applications not surveyed may use these -interfaces.
    -
    -When the survey was complete, there were 130 interfaces that did not already appear in the -base specification. These interfaces seem to be predominantly Berkeley UNIX calls that had -never been covered in XPG4 Base, the SVID, or the AES, but did represent common practice -in UNIX system applications developed originally on BSD-derived platforms. Such things as -sockets and the 4.3BSD memory management calls were commonly used in many applications.
    -
    -The resulting Common API Specification was impressive in its coverage. The top ten -applications surveyed were completely covered. Of the remaining 40 application packages, -the next 25 were within 5% of complete coverage. The software vendors involved all -acknowledged that it would be fairly straightforward for them to modify the 5% of the -application to conform fully to the specification.
    -
    -There were 1170 interfaces in the complete specification when the work was done (926 -programming interfaces, 70 headers, 174 commands and utilities), and the name of Spec 1170 -was born.
    -
    -Because of the breadth and origins of the specification, duplication of functionality -existed. There were similar interfaces for doing the same thing in such areas as memory -management (bcopy versus memmove) and creating temporary filenames (tmpnam versus mktemp). -This duplication was allowed as it would increase the number of existing applications that -would be portable in the new model. At the same time, certain functions have been -identified as the recommended practice for future development. There are cases where the -duplicated functionality cannot co-exist in the same application (for example, conflicting -signals models), and it is important to ensure that the is correctly configured if the -expected behavior is to be observed.
    -
    -In December 1993, Spec 1170 was delivered to X/Open for fast-track processing into a -proper industry supported specification. This work progressed through 1994 and culminated -in the publication of the Spec 1170 work as the Single UNIX Specification in October 1994. -There are now more than 1170 interfaces in the specification as the review process shaped -the document accordingly. (The new internationalized curses specification contributed a -large number of interfaces.)
    -
    -The Single UNIX Specification documents are part of the X/Open CAE (Common Applications -Environment) document set.
    -
    - The Single UNIX Specification
    -Five X/Open CAE documents make up the Single UNIX Specification. These are:
    -
    - -

      -
    • System Interface Definitions, Issue 4, - Version 2 (XBD)
      - The XBD document outlines the common definitions used by both the System Interfaces and - Headers, and the Commands and Utilities documents. Such items as locales and regular - expression grammars appear here, along with a large glossary defining common terms and - concepts.
    • -
    • System Interfaces and Headers, Issue 4, Version - 2 (XSH)
      - The XSH document describes all of the programming interfaces and headers available in the - Single UNIX Specification with the exception of the networking and terminal interfaces - (contained in their own documents). The front section introduces general concerns with - respect to usage guidelines, the compilation environment, error numbers, types, standard - streams and STREAMS. The rest of the document is the reference pages describing each - interface (in alphabetical order) and its use, and each header and its contents.
    • -
    • Commands and Utilities, Issue 4, Version 2 (XCU)
      - The XCU document describes all of the commands and utilities available in the Single UNIX - Specification. The first section describes the syntax and functionality of the shell in - depth. The rest of the document is the reference pages describing each command and utility - (in alphabetic order) and its use.
    • -
    • Networking Services, Issue 4
      - Three sets of networking services are defined in the Single UNIX Specification, X/Open - Transport Interface (XTI), XPG4 Sockets, and IP Address Resolution interfaces. These - services are described in the Networking Services document, along with appendices - containing useful additional protocol information and examples.
    • -
    • X/Open Curses, Issue 4
      - The X/Open Curses interfaces are described in this document. It is an upwardly compatible - version of X/Open Curses, Version 3, extended to support internationalization, enhanced - character sets, and different writing directions.
    • -
    - - -

    -The System Interfaces and Headers (XSH)
    -System Interfaces and Headers specification contains the base interfaces and several -"feature" groups. Interfaces that are part of a feature group have a feature -group specific label that appears in the header of the interface's reference page.
    -
    -XSH (System Interfaces and Headers) contains the following feature groups:
    -
    - -

      -
    • POSIX.2 C-language binding covering regular expression matching, word expansion, and - filename matching. The label POSIX.2 CLB appears in the header of each of these function's - reference page.
    • -
    • Single UNIX Specification Extension covering all the functions that have been added to - XPG4 to create the Single UNIX Specification. The label SINGLE UNIX SPECIFICATION appears - in the header of each of these function's reference page.
    • -
    • Shared Memory covering the SVID 3 kernel extension calls to manage shared memory. The - label SHARED MEM appears in the header of each of these function's reference page.
    • -
    • Enhanced Internationalization adding functions that are not yet in wide use for - internationalizing applications, but will hopefully provide future direction and a - converging path for functionality of this type. The label ENHANCED I18N appears in the - header of each of these function's reference page.
    • -
    • Encryption covering the functions crypt, encrypt, and setkey. The label CRYPT appears in - the header of each of these function's reference page. Anything that does not fall into - the feature groups listed above is considered to be base functionality, and marked with - the label BASE in the reference page heading.
    • -
    - -

    XPG4 Base did not require all of the feature groups for conforming implementations. -Only the base interfaces were mandatory. To conform to Single UNIX Specification, an -implementation will need to support all of the feature groups with the exception of the -encryption interfaces. (There are U.S. government export restrictions on this technology -that may disallow some vendors from shipping it.)
    -
    -The Commands and Utilities (XCU) specification describes all of the utilities required in -the environment. Some of these utilities do not need to be present, being contained in -``packages'' that need not be implemented.
    -
    - -

      -
    • DEVELOPMENT utilities are those required in a software development environment.
    • -
    • FORTRAN utilities are required in a FORTRAN-77 development environment, and essentially - consists of the compiler, fort77.
    • -
    • A number of utilities are considered to be "possibly insupportable", and need - not be implemented. These include such commands as lpstat and uulog.
    • -
    - -

    The only real effect that the Single UNIX Specification had on the XCU -(Commands and Utilities) document from Issue 4, was to modify the cc and c89 C compiler -commands.
    -
    -A programmer developing applications on an Single UNIX Specification system has at their -disposal all of the functions, commands and utilities described in the Single UNIX -Specification document set. This functional superset of consensus-based specifications and -historical practice also creates a straightforward environment for porting existing -applications running on UNIX systems.
    -
    -Products that implement Single UNIX Specification and qualify for the X/Open UNIX brand -will compile and run applications built or ported according to this model.
    -
    -***Edited from "Go Solo - -How to Implement and Utilize the Single UNIX Specification"; published by X/Open -and Prentice Hall PTR.
    -Information about this, and other X/Open publications may be obtained from any X/Open -office or by sending e-mail to: XoPubs@xopen.org
    -X/Open is a registered trade mark, and the "X" device is a trade mark of X/Open -Company Limited. UNIX is a registered trade mark in the United States and other countries, -licensed exclusively through X/Open Company Limited
    -
    -  -Footnote 1: -This is a list of vendors who have expressed support for the -specification and does not constitute any endorsement by The -Open Group of the company or their products. - - - - - -

     

    -
    -
    + + + + + + + + + + +
    + + +
    History & Timeline
    +
    The Single UNIX Specification
    +
    Registered Products
    +
    The UNIX Brand
    +
    What About All Those "Flavors"
    +
    Version 2 of the Single UNIX Specification
    +
    Version 3 of the Single UNIX Specification
    +
    UNIX API Tables
    +
    Why This is Different
    + + + +
    + + + + Introduction
    +History
    +Structure and Contents
    +The 1170 Initiative
    +Platform Vendors Supporting the Single UNIX Specification
    +ISVs and User Organizations Supporting the Common API Specification
    +The Single UNIX Specification
    +System Interfaces and Headers (XSH)
    +Corrigenda
    +

    + +
    +  + +

    Introduction
    +Many names have been applied to the work that has culminated in the Single UNIX +Specification and its attendant X/Open UNIX brand. It began as the Common API +Specification, became Spec 1170, and is now the Single UNIX Specification published in a +number of X/Open Common Applications Environment (CAE) volumes.
    +
    +This paper briefly describes the history of Spec 1170, and its journey to becoming the +Single UNIX Specification, along with the organization of that specification.
    +
    + History
    +Previously the UNIX operating system has been a product with four elements (Figure 1); the +specification (e.g. SVID) , the technology (e.g. SVR4), the registered trade mark (UNIX), +and the product (e.g. UNIXWare).
    +
    +
    +Figure 1
    +
    +With the Single UNIX Specification, there is now a single, open, consensus specification +that defines a product. There is also a mark, or brand, that is used to identify those +products that conform to the Single UNIX specification. Both the specification and the +trade mark are now managed and held in trust for the industry by X/Open Company.
    +
    +There will be many competing products, all implemented against the Single UNIX +Specification, ensuring competition and vendor choice. There will be a limited number of +technology suppliers, which vendors can license and build there own product, all of them +implementing the Single UNIX Specification. . Buyers can expect each of these products to +carry the X/open UNIX brand as an guarantee of conformance to the specification and that +the vendor stands behind a quality product.
    +
    +UNIX is now no longer just the operating system product from AT&T (later, Novell), +documented by the System V Interface Definition (SVID), controlled and licensed from a +single point. Neither is it a collection of slightly different products from different +vendors, each extended in slightly different ways. The UNIX specification has been +separated from its licensed source-code product, and "UNIX'' has become a single +stable specification to be used to develop portable applications that run on systems +conforming to the Single UNIX Specification
    +
    + Structure and Contents
    +The Single UNIX Specification is a collection of documents that are part of the X/Open +Common Applications Environment (CAE), and include:
    +
    +

    + + + +


    +A UNIX 95 branded product is built from a number of components (in X/Open language) and +includes:
    +
    + +

      +
    • XPG4 Internationalized System Calls and Libraries (Extended), covering POSIX.1 and + POSIX.2 callable interfaces, the ISO C library and Multibyte Support Extension addendum, + the Single UNIX Specification extension including STREAMS, the Shared Memory calls, + application internationalization interfaces, and a wealth of other application interfaces.
    • +
    • XPG4 Commands and Utilities V2, covering the POSIX.2 Shell and Utilities, and a large + number of additional commands and development utilities.
    • +
    • XPG4 C Language
    • +
    • XPG4 Sockets
    • +
    • XPG4 Transport Interfaces (XTI)
    • +
    • XPG4 Internationalized Terminal Interfaces including the new extensions to support color + and multibyte characters.
    • +
    + +


    +The Single UNIX Specification is supported by the X/Open UNIX brand, which in turn is +supported by a verification program. The X/Open brand provides the guarantee that products +adhere to the relevant X/Open specification. Systems that provide the Single UNIX +Specification interfaces can be X/Open UNIX branded as proof to the marketplace. The +Single UNIX Specification is the programmer's reference to the portability environment +provided on X/Open UNIX branded systems.
    +
    +It is important for application developers to realize that in committing to the brand, the +vendor is obligating themselves to conform. X/Open conformance verification suites are +vendors' ways of measuring their implementation against the specification, providing a +guarantee that they have implemented the specification correctly.
    +
    +And the X/Open brand commitment goes even deeper than this. It is a promise by the vendor +to conform to the specification, not to the test suite. If a user of a branded system +discovers an interface that does not behave according to the specification, regardless of +whether or not a test case in the verification suite passed in this area, the vendor is +obliged to correct the defect within explicit time frames.
    +
    +The base is now in place to better support portable applications development by:
    +
    + +

      +
    • Providing a rich set of interfaces that cover a broad range of "historical UNIX + systems" practice, simplifying the porting of existing applications, and protecting + current application development investments.
    • +
    • Providing a stable specification against which to write applications that will be + portable to many platforms, and a stable methodology to evolve the specification in a + manner that is not under the control of any single vendor or vendor consortium.
    • +
    • Ensuring that the portability model embodied in the specifications is based as much as + possible on standards.
    • +
    • Supporting the specification with an X/Open branding program to provide both halves of + the portability formula, where application developers can write source code to the + specification, and purchase products branded to the specification with the confidence that + the application will port in a very straightforward manner.
    • +
    + +


    + The Spec 1170 Initiative
    +The Common API Specification project started when several vendors (Sun Microsystems, IBM, +Hewlett-Packard, Novell/USL and OSF) organized together to provide a single unified +specification of the UNIX system services. By implementing a single common definition of +the UNIX system services, third-party independent software vendors (ISVs) would be able to +more easily deliver strategic applications on all of these vendors' platforms at once.
    +
    +The focus of this initiative was to deliver the core application interfaces used by +current programs. The economic driver that initiated the project was to ease the porting +of existing successful applications. While the work was led by a central group of vendors, +it received widespread support within the industry.
    +
    + Platform Vendors Supporting the Single UNIX +Specification:1
    +Acer; Amdahl; Apple; AT&T GIS; Bull; Convex; Cray; Data General; Compaq; Encore; 88 +Open; Fuji Xerox; Fujitsu Ossi; Hal; Hewlett-Packard; Hitachi; IBM; ICL; Matsushita; Mips +ABI; Mitsubishi; Motorola; NEC; Novell/USL; Oki; Olivetti; OSF; PowerOpen; Precision RISC; +Pyramid; SCO; Sequent; Sequoia; Sharp; Siemens-Nixdorf; Silicon Graphics; Sony; Sparc +International; Stratus; Sun Microsystems; Tadpole; Tandem; +Thompson/Cetia; Toshiba; Unisys; Wang Labs.
    +
    + ISVs and User Organizations Supporting the Common API +Specification:
    +AutoDesk; Banyan; Bellcore; Bentley; Cadence; Cadre; Chorus; Computer Associates; DHL; EDS +Unigraphics; Frame Tech; Informix; Island Software; Lachman Tech; Locus; Lotus; +McDonald's; Mentor; Oracle; Pencom Systems; SDRC; Software AG; Shell Oil; Veritas; +Wal-Mart; WordPerfect.
    +
    +A two-pronged approach was used to develop the Common API Specification. First, a set of +formal industry specifications was chosen to form the overall base for the work. This +would provide stability, vendor neutrality, and lay a well charted course for future +application development, taking advantage of the careful work that has gone into +developing these specifications. It would also preserve the portability of existing +applications already developed to these core models.
    +
    +X/Open Company's XPG4 Base was chosen as the stable functional base from which to start. +XPG4 Base supports the POSIX.1 system interface and the ANSI/ISO C standards at its core. +It provides a rich set of 174 commands and utilities.
    +
    +Many UNIX systems already conform to this specification. To this base was added the +traditional UNIX System V Interface Definition, (SVID) Edition 3, Level 1 calls, and the +OSF Application Environment Specification Full Use interface definitions. This represented +the stable central core of the latter two specifications.
    +
    +The second part of the approach was to incorporate interfaces that are acknowledged common +practice but have not yet been incorporated into any formal specification or standard. The +intent was to ensure existing applications running on UNIX systems would port with +relative ease to a platform supporting the Common API Specification. A survey of real +world applications was used to determine what additional interfaces would be required in +the specification.
    +
    +Fifty successful application packages were chosen to be analyzed using the following +criteria:
    +
    + +

      +
    • Ranked in International Data Corp's. 1992, 'Survey of Leading UNIX Applications',
    • +
    • The application's domain of applicability was checked to ensure that no single + application type (for example, databases) was overly represented,
    • +
    • The application had to be available for analysis either as source code, or as a shared + or dynamic linked library.
    • +
    + +

    From the group of fifty, the top ten were selected carefully, ensuring that no more +than two representative application packages in a particular problem space were chosen. +The ten chosen applications were:
    +
    +AutoCAD; Cadence; FrameMaker; Informix; Island Write/Paint; Lotus 1-2-3; SAS (4GL); +Sybase; Teamwork; WordPerfect
    +
    +APIs used by the applications that were not part of the base specifications were analyzed:
    +
    + +

      +
    • If an API was used by any of the top ten applications, it was considered for inclusion.
    • +
    • If an API was not used by one of the top ten, but was used by any three of the remaining + 40 applications, it was considered for inclusion.
    • +
    • While the investigation of these 50 applications was representative of large complex + applications, it still was not considered as a broad enough survey, so an additional 3500 + modules were scanned. If an API was used at least seven times in modules that came from at + least two platforms (to screen out vendor specific libraries), then the interface was + considered for inclusion.
    • +
    + +

    The goal was to ensure that APIs in common use were included, even if they were not in +the formal specifications that made up the base. Making the Common API Specification a +superset of existing base specifications ensured any existing applications should work +unmodified. The sponsors of the work considered pruning the Common API Specification of +interfaces from the base specifications that were not found to be in common use in the +application survey.
    +
    +This idea was rejected for two reasons. While some of the interfaces in the base +specifications are not yet considered common practice, their inclusion in the overall +specification meant there existed clear sign-posts for future applications development +work. As well, it was recognized that the applications chosen for the survey were still +only a representative sample, and that many other applications not surveyed may use these +interfaces.
    +
    +When the survey was complete, there were 130 interfaces that did not already appear in the +base specification. These interfaces seem to be predominantly Berkeley UNIX calls that had +never been covered in XPG4 Base, the SVID, or the AES, but did represent common practice +in UNIX system applications developed originally on BSD-derived platforms. Such things as +sockets and the 4.3BSD memory management calls were commonly used in many applications.
    +
    +The resulting Common API Specification was impressive in its coverage. The top ten +applications surveyed were completely covered. Of the remaining 40 application packages, +the next 25 were within 5% of complete coverage. The software vendors involved all +acknowledged that it would be fairly straightforward for them to modify the 5% of the +application to conform fully to the specification.
    +
    +There were 1170 interfaces in the complete specification when the work was done (926 +programming interfaces, 70 headers, 174 commands and utilities), and the name of Spec 1170 +was born.
    +
    +Because of the breadth and origins of the specification, duplication of functionality +existed. There were similar interfaces for doing the same thing in such areas as memory +management (bcopy versus memmove) and creating temporary filenames (tmpnam versus mktemp). +This duplication was allowed as it would increase the number of existing applications that +would be portable in the new model. At the same time, certain functions have been +identified as the recommended practice for future development. There are cases where the +duplicated functionality cannot co-exist in the same application (for example, conflicting +signals models), and it is important to ensure that the is correctly configured if the +expected behavior is to be observed.
    +
    +In December 1993, Spec 1170 was delivered to X/Open for fast-track processing into a +proper industry supported specification. This work progressed through 1994 and culminated +in the publication of the Spec 1170 work as the Single UNIX Specification in October 1994. +There are now more than 1170 interfaces in the specification as the review process shaped +the document accordingly. (The new internationalized curses specification contributed a +large number of interfaces.)
    +
    +The Single UNIX Specification documents are part of the X/Open CAE (Common Applications +Environment) document set.
    +
    + The Single UNIX Specification
    +Five X/Open CAE documents make up the Single UNIX Specification. These are:
    +
    + +

      +
    • System Interface Definitions, Issue 4, + Version 2 (XBD)
      + The XBD document outlines the common definitions used by both the System Interfaces and + Headers, and the Commands and Utilities documents. Such items as locales and regular + expression grammars appear here, along with a large glossary defining common terms and + concepts.
    • +
    • System Interfaces and Headers, Issue 4, Version + 2 (XSH)
      + The XSH document describes all of the programming interfaces and headers available in the + Single UNIX Specification with the exception of the networking and terminal interfaces + (contained in their own documents). The front section introduces general concerns with + respect to usage guidelines, the compilation environment, error numbers, types, standard + streams and STREAMS. The rest of the document is the reference pages describing each + interface (in alphabetical order) and its use, and each header and its contents.
    • +
    • Commands and Utilities, Issue 4, Version 2 (XCU)
      + The XCU document describes all of the commands and utilities available in the Single UNIX + Specification. The first section describes the syntax and functionality of the shell in + depth. The rest of the document is the reference pages describing each command and utility + (in alphabetic order) and its use.
    • +
    • Networking Services, Issue 4
      + Three sets of networking services are defined in the Single UNIX Specification, X/Open + Transport Interface (XTI), XPG4 Sockets, and IP Address Resolution interfaces. These + services are described in the Networking Services document, along with appendices + containing useful additional protocol information and examples.
    • +
    • X/Open Curses, Issue 4
      + The X/Open Curses interfaces are described in this document. It is an upwardly compatible + version of X/Open Curses, Version 3, extended to support internationalization, enhanced + character sets, and different writing directions.
    • +
    + + +

    +The System Interfaces and Headers (XSH)
    +System Interfaces and Headers specification contains the base interfaces and several +"feature" groups. Interfaces that are part of a feature group have a feature +group specific label that appears in the header of the interface's reference page.
    +
    +XSH (System Interfaces and Headers) contains the following feature groups:
    +
    + +

      +
    • POSIX.2 C-language binding covering regular expression matching, word expansion, and + filename matching. The label POSIX.2 CLB appears in the header of each of these function's + reference page.
    • +
    • Single UNIX Specification Extension covering all the functions that have been added to + XPG4 to create the Single UNIX Specification. The label SINGLE UNIX SPECIFICATION appears + in the header of each of these function's reference page.
    • +
    • Shared Memory covering the SVID 3 kernel extension calls to manage shared memory. The + label SHARED MEM appears in the header of each of these function's reference page.
    • +
    • Enhanced Internationalization adding functions that are not yet in wide use for + internationalizing applications, but will hopefully provide future direction and a + converging path for functionality of this type. The label ENHANCED I18N appears in the + header of each of these function's reference page.
    • +
    • Encryption covering the functions crypt, encrypt, and setkey. The label CRYPT appears in + the header of each of these function's reference page. Anything that does not fall into + the feature groups listed above is considered to be base functionality, and marked with + the label BASE in the reference page heading.
    • +
    + +

    XPG4 Base did not require all of the feature groups for conforming implementations. +Only the base interfaces were mandatory. To conform to Single UNIX Specification, an +implementation will need to support all of the feature groups with the exception of the +encryption interfaces. (There are U.S. government export restrictions on this technology +that may disallow some vendors from shipping it.)
    +
    +The Commands and Utilities (XCU) specification describes all of the utilities required in +the environment. Some of these utilities do not need to be present, being contained in +``packages'' that need not be implemented.
    +
    + +

      +
    • DEVELOPMENT utilities are those required in a software development environment.
    • +
    • FORTRAN utilities are required in a FORTRAN-77 development environment, and essentially + consists of the compiler, fort77.
    • +
    • A number of utilities are considered to be "possibly insupportable", and need + not be implemented. These include such commands as lpstat and uulog.
    • +
    + +

    The only real effect that the Single UNIX Specification had on the XCU +(Commands and Utilities) document from Issue 4, was to modify the cc and c89 C compiler +commands.
    +
    +A programmer developing applications on an Single UNIX Specification system has at their +disposal all of the functions, commands and utilities described in the Single UNIX +Specification document set. This functional superset of consensus-based specifications and +historical practice also creates a straightforward environment for porting existing +applications running on UNIX systems.
    +
    +Products that implement Single UNIX Specification and qualify for the X/Open UNIX brand +will compile and run applications built or ported according to this model.
    +
    +***Edited from "Go Solo - +How to Implement and Utilize the Single UNIX Specification"; published by X/Open +and Prentice Hall PTR.
    +Information about this, and other X/Open publications may be obtained from any X/Open +office or by sending e-mail to: XoPubs@xopen.org
    +X/Open is a registered trade mark, and the "X" device is a trade mark of X/Open +Company Limited. UNIX is a registered trade mark in the United States and other countries, +licensed exclusively through X/Open Company Limited
    +
    +  +Footnote 1: +This is a list of vendors who have expressed support for the +specification and does not constitute any endorsement by The +Open Group of the company or their products. + + + + + +

     

    +
    +

    Home @@ -524,7 +524,7 @@ document.write(code);

    -

    -
    - - + +
    + + diff --git a/doc/gui/CVS/Entries b/doc/gui/CVS/Entries new file mode 100644 index 00000000..cacbe2a5 --- /dev/null +++ b/doc/gui/CVS/Entries @@ -0,0 +1,4 @@ +/Gui driver.doc/1.1.1.1/Mon Nov 17 19:05:44 2003// +/Software design.doc/1.1.1.1/Mon Nov 17 19:05:44 2003// +/scr file format.doc/1.1.1.1/Mon Nov 17 19:05:44 2003// +D diff --git a/doc/gui/CVS/Repository b/doc/gui/CVS/Repository new file mode 100644 index 00000000..cb77ddfb --- /dev/null +++ b/doc/gui/CVS/Repository @@ -0,0 +1 @@ +uzi/doc/gui diff --git a/doc/gui/CVS/Root b/doc/gui/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/doc/gui/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/doc/gui/Gui driver.doc b/doc/gui/Gui driver.doc index 3e36ef1eccf58b219fb94210efc6f2711ec33068..2227ea458984491c402a10b9514224158277f222 100644 GIT binary patch delta 395 zcmZqpz;yTn(}pruM&8Y3tbJOHypvfBJT-Z_7#Orcge!=M1rg;SVkU?<4Ik_XJaoWd5{cP3t070B-KEPkGz{h&3>~1?Fq150@U%vR)Paa@wj~f z8nemc9mueEo_|5qYi}NqncsbRfz)J{fOkOhQ-BpvNGH&jQ3Ygf7>K9?5%nNq5{Nhi zA`XLyXS|!I2APA*I1{2I3Z&j;1~P&5f&CT%QUi8q3y9SZB2IvaE4-VdbDV)rm^?4{ z22fjBUOu-TNCF%#2yI|Hn?Vv_>yCq1&q2fs-p!m<+gR8@>`Agbyz52RGqJ!A*kz`D&C$g$XVf)N0QAzWSn delta 305 zcmX^7fvMpG(}ptE&E>3pT9erfJQcVY7_@=d6^LVjxEzRQ0`X}eehb7OHdh#kGH&iO zEM(eb;>9EZ6apy&DLD$nU?o8M?+CxH0M=I$J4#>wY%Z){$Xm(Q&N6w(A@m{O3@%|Hw? z_Baqf2jUl-U8}aSumD+;HZ#`$a+9$UfP9oAKuAZ6_E3!`W25 diff --git a/doc/gui/Software design.doc b/doc/gui/Software design.doc index 1c86efa57ed7c677f37f1ceeb848540e265ba16a..ca2792cac12b250cf5c001317ee40662652c6b80 100644 GIT binary patch delta 94 zcmZpe!Pql{aYG&}Bk$xqR#RbKE(S1|$Hc$@W^3_o-pp#j!N|M$HLoNKP!)^NJ0Rzi jkT4sNVwJ4s1X2x3OXPu+iqk`OpbAzmV<5-E>jWbJ#(EWw delta 73 zcmeB~!Pqc^aYG*KlvH1h9B+Fzjp?8~q3JJ4q=9R4G Z+}x?OM1HfL(?j;j0$#?OUA#^(0szJq6)yk) diff --git a/doc/gui/scr file format.doc b/doc/gui/scr file format.doc index d48abea08f1316d43ed1f4ce7b657b115271b04a..5cafeadfb8d24e642e086876d743e2ea33783bf4 100644 GIT binary patch delta 64 zcmZoz!`QKgaf1OLBkyJdzAM~7ibcwa4M@2uXfXn*0!0CkV1v#Qc_5|Y^N^j9cQR{; LF_2>sa)J>6C4&&5 delta 48 zcmV-00MGx3tO0 */ -See "c:\uzi\include\sys\stat.h" for further handy macros, for example the -S_IRWXU macro returns a mask which contains all of the "read, write, execute" +See "c:\uzi\include\sys\stat.h" for further handy macros, for example the +S_IRWXU macro returns a mask which contains all of the "read, write, execute" bits for "user" set. This is handy for isolating a particular set of bits. ; ----------------------------------------------------------------------------- int chown (char *path, int owner, int group); -Changes the owner and group of the given file. The owner and group are 16 bit -integer numbers which correspond to entries in "/etc/passwd" and "/etc/group" +Changes the owner and group of the given file. The owner and group are 16 bit +integer numbers which correspond to entries in "/etc/passwd" and "/etc/group" respectively. The user "root" is normally 0 and often is in group 0 as well. -Superuser permissions are required in order to make this call. In other words -it's not permitted for a user to create a file and then assign ownership to +Superuser permissions are required in order to make this call. In other words +it's not permitted for a user to create a file and then assign ownership to anyone else. (Assigning ownership to "root" could cause a security problem). ; ----------------------------------------------------------------------------- int close (int uindex); -Closes the given file handle. The file handle must previously have been opened -with open() or creat(), or created using dup() or dup2(). If the caller is the +Closes the given file handle. The file handle must previously have been opened +with open() or creat(), or created using dup() or dup2(). If the caller is the last process with a handle to this file, the kernel will also close the file. -When the kernel really closes the file, the file's last-modification and/or -last-access times are updated. Any unwritten data is flushed, and the disk is +When the kernel really closes the file, the file's last-modification and/or +last-access times are updated. Any unwritten data is flushed, and the disk is synchronised. The in-core inode table entry is marked as free for later use. ; ----------------------------------------------------------------------------- int creat (char *name, mode_t mode); -Creates a file of the given name, and opens it in the given mode. Normally -mode would be one of the write modes such as O_WRONLY or possibly O_RDWR. Any -existing file of the same name is deleted first, so the caller to creat() can +Creates a file of the given name, and opens it in the given mode. Normally +mode would be one of the write modes such as O_WRONLY or possibly O_RDWR. Any +existing file of the same name is deleted first, so the caller to creat() can be assured of getting a zero-length file before beginning to write data. -It's not possible to specify the access permissions for the file during this -call. Instead, the user must call the umask() function to set the default file -creation permissions, then call creat() as described here. The argument to -umask() is specified in 'inverse', for example if the file was to be created +It's not possible to specify the access permissions for the file during this +call. Instead, the user must call the umask() function to set the default file +creation permissions, then call creat() as described here. The argument to +umask() is specified in 'inverse', for example if the file was to be created with octal permissions '755' you would call umask(022) followed by creat(). -If creat() is successful, a file handle is returned. This opaque "token" is -used for further access to the file, eg. by read(), write() or close(). Each +If creat() is successful, a file handle is returned. This opaque "token" is +used for further access to the file, eg. by read(), write() or close(). Each process has its own file table, so handles are not unique across processes. To make things easier, the following definitions are provided by fcntl.h: @@ -322,90 +322,90 @@ To make things easier, the following definitions are provided by fcntl.h: int dup (int oldd); -Duplicates the given file handle. The file handle must previously have been -opened with open() or creat(), or created using dup() or dup2(). Any free +Duplicates the given file handle. The file handle must previously have been +opened with open() or creat(), or created using dup() or dup2(). Any free location in the process's file table can be used to create the duplicate. -So "oldd" is copied into a new spot in order to create the duplicate reference. -Both handles then refer to the same inode (each in-core inode has a reference +So "oldd" is copied into a new spot in order to create the duplicate reference. +Both handles then refer to the same inode (each in-core inode has a reference count indicating how many duplicated or inherited handles refer to the file). -If dup() is successful, a file handle is returned. This opaque "token" is used +If dup() is successful, a file handle is returned. This opaque "token" is used for further access to the file, eg. by read(), write() or close(). ; ----------------------------------------------------------------------------- int dup2 (int oldd, int newd); -Duplicates the given file handle. The file handle must previously have been -opened with open() or creat(), or created using dup() or dup2(). The caller +Duplicates the given file handle. The file handle must previously have been +opened with open() or creat(), or created using dup() or dup2(). The caller specifies a particular location in the process's file table, using "newd". -If "newd" was previously open, it is closed using the close() system call. -Then "oldd" is copied into "newd" in order to create the duplicate reference. -Both handles then refer to the same inode (each in-core inode has a reference +If "newd" was previously open, it is closed using the close() system call. +Then "oldd" is copied into "newd" in order to create the duplicate reference. +Both handles then refer to the same inode (each in-core inode has a reference count indicating how many duplicated or inherited handles refer to the file). -If dup2() is successful, a file handle is returned. This opaque "token" is -used for further access to the file, eg. by read(), write() or close(). Of +If dup2() is successful, a file handle is returned. This opaque "token" is +used for further access to the file, eg. by read(), write() or close(). Of course, this return value is always equal to the value of "newd" passed in. ; ----------------------------------------------------------------------------- int execve (char *name, char *argv[], char *envp[]); -Loads a program from the disk and executes it. The current user must have -execute permission for the file specified by "name". Information is passed to -the executed program using the argv[] and envp[] arrays. The execve() call -does not return, because the program is loaded into the same memory as the -caller of execve(). Instead, the executed program will execute forever, or at +Loads a program from the disk and executes it. The current user must have +execute permission for the file specified by "name". Information is passed to +the executed program using the argv[] and envp[] arrays. The execve() call +does not return, because the program is loaded into the same memory as the +caller of execve(). Instead, the executed program will execute forever, or at least until it calls execve() again or exits with the _exit system call. -The kernel allocates some temporary storage in order to save your argv[] and -envp[] arrays while the new program is being loaded. They are compacted into -kernel memory, and then copied back out into user memory after loading the -program. The 'C' startup saves the envp[] pointer for use by the getenv() and +The kernel allocates some temporary storage in order to save your argv[] and +envp[] arrays while the new program is being loaded. They are compacted into +kernel memory, and then copied back out into user memory after loading the +program. The 'C' startup saves the envp[] pointer for use by the getenv() and setenv() library calls, and then passes the argv[] and argc into your main(). -Note that execve() can return in one situation: If the file can't be executed. +Note that execve() can return in one situation: If the file can't be executed. In this case execve() returns -1 and errno gives the reason why. ; ----------------------------------------------------------------------------- int fork (void); -Creates a new process, by duplicating the current process. This is the only -way to create a new process under Unix. The created process will return from -fork() a value of 0, which tells the subsequent code that it should behave as +Creates a new process, by duplicating the current process. This is the only +way to create a new process under Unix. The created process will return from +fork() a value of 0, which tells the subsequent code that it should behave as the child of the fork() rather than the parent. Often it would then execve(). -The originally existing process will return from fork() a value indicating how -to find the new process just created. So subsequent code knows that it should -behave as the parent of the fork() rather than the child. Using the PID value -returned, the process which forked is able to keep track of the progress of the +The originally existing process will return from fork() a value indicating how +to find the new process just created. So subsequent code knows that it should +behave as the parent of the fork() rather than the child. Using the PID value +returned, the process which forked is able to keep track of the progress of the child, and obtain an exitcode when the child exits. See the wait() call. -All memory belonging to the process is copied. Of course there must be enough -free memory for the new process's code and data (32 kbytes). It's also quite a +All memory belonging to the process is copied. Of course there must be enough +free memory for the new process's code and data (32 kbytes). It's also quite a lengthy operation, since the entire 32 kbytes must be copied byte for byte. -All file handles belonging to the process are duplicated. This doesn't require -any files to be opened in reality, instead the in-core inodes simply have their +All file handles belonging to the process are duplicated. This doesn't require +any files to be opened in reality, instead the in-core inodes simply have their reference count increased by one, to show that someone has inherited a handle. -Of course, if there is not enough memory or there is no free process table +Of course, if there is not enough memory or there is no free process table entry available, fork() will fail and return -1. Errno gives the reason why. ; ----------------------------------------------------------------------------- int fstat (int fd, void *buf); -Checks whether the file exists, and if so, returns information about it. Note -that the user doesn't need to have any access to the file in order to make this +Checks whether the file exists, and if so, returns information about it. Note +that the user doesn't need to have any access to the file in order to make this call. The user only needs execute permission on the directory containing it. -Calling fstat does not update the file's last accessed time. It's completely -benign and therefore would be used by a directory listing program (for example) +Calling fstat does not update the file's last accessed time. It's completely +benign and therefore would be used by a directory listing program (for example) in preference to the stat() system call. (Both return the same information). The structure of "buf" is defined in types.h and contains the following fields: @@ -444,87 +444,87 @@ typedef struct s_time { int getfsys (int dev, void *buf); -Returns information about the filesystem mounted on the given device. This is -a copy of the superblock for the filesystem, and thus can be used by a utility +Returns information about the filesystem mounted on the given device. This is +a copy of the superblock for the filesystem, and thus can be used by a utility such as "df" to show information about the free space on the filesystem. ; ----------------------------------------------------------------------------- int getgid (void); -Returns the GID or "group ID" of the current process. This is a unique integer +Returns the GID or "group ID" of the current process. This is a unique integer referring to a line in the file "/etc/group" and is initialised at login time. ; ----------------------------------------------------------------------------- int getpid (void); -Returns the PID or "process ID" of the current process. This is a unique +Returns the PID or "process ID" of the current process. This is a unique integer generated when a process forks and is allocated a process table entry. ; ----------------------------------------------------------------------------- int getppid (void); -Returns the PID or "process ID" of the parent process. This is a unique -integer generated at the time the parent process was created. The parent +Returns the PID or "process ID" of the parent process. This is a unique +integer generated at the time the parent process was created. The parent process is the process which forked to create this (the current) process. ; ----------------------------------------------------------------------------- int getuid (void); -Returns the UID or "user ID" of the current process. This is a unique integer +Returns the UID or "user ID" of the current process. This is a unique integer referring to a line in the file "/etc/passwd" and is initialised at login time. ; ----------------------------------------------------------------------------- int geteuid (void); -Returns the effective UID or "user ID" of the current process. This would -normally be equal to the value returned by getuid(), except that the user may -have executed a binary program with the SETUID bit set. If so, the effective -user ID will be the user ID of the owner of that program. For example, when +Returns the effective UID or "user ID" of the current process. This would +normally be equal to the value returned by getuid(), except that the user may +have executed a binary program with the SETUID bit set. If so, the effective +user ID will be the user ID of the owner of that program. For example, when executing the "login" utility, the effective user ID is always "root". ; ----------------------------------------------------------------------------- int getegid (void); -Returns the effective GID or "group ID" of the current process. This would -normally be equal to the value returned by getgid(), except that the user may -have executed a binary program with the SETGID bit set. If so, the effective -user ID will be the user ID of the group of that program. For example, when +Returns the effective GID or "group ID" of the current process. This would +normally be equal to the value returned by getgid(), except that the user may +have executed a binary program with the SETGID bit set. If so, the effective +user ID will be the user ID of the group of that program. For example, when executing email daemons, the effective group ID is often "mail". ; ----------------------------------------------------------------------------- int getprio (void); -Returns the priority of the current process. This is an integer indicating how -many system "ticks" should be allocated to the process each time it runs. When +Returns the priority of the current process. This is an integer indicating how +many system "ticks" should be allocated to the process each time it runs. When this number of "ticks" expires each time, some other process is allowed to run. ; ----------------------------------------------------------------------------- int ioctl (int fd, int request, ...); -Allows arbitrary control of devices. The handle "fd" must have been opened -with the open() system call or created with dup() or dup2(). Only special +Allows arbitrary control of devices. The handle "fd" must have been opened +with the open() system call or created with dup() or dup2(). Only special files referring to devices can be manipulated with the ioctl() system call. -The caller must know what kind of device the handle refers to, for example a -TTY device will respond to certain kinds of ioctl() requests, whereas a block -device will respond to different ones. Unix doesn't inspect the "request" or +The caller must know what kind of device the handle refers to, for example a +TTY device will respond to certain kinds of ioctl() requests, whereas a block +device will respond to different ones. Unix doesn't inspect the "request" or subsequent parameters given. These are simply passed on to the device driver. ; ----------------------------------------------------------------------------- int kill (int pid, int sig); -Sends a signal to a process. If the process does not catch the signal, it will -be killed, hence the name "kill". The kill() system call can also be used to -communicate with a child in a more benign way. The "pid" is often obtained as +Sends a signal to a process. If the process does not catch the signal, it will +be killed, hence the name "kill". The kill() system call can also be used to +communicate with a child in a more benign way. The "pid" is often obtained as the return value from fork(), or else by using the getpid() system call. The "sig" argument can be one of the following values defined by signal.h: @@ -555,58 +555,58 @@ The "sig" argument can be one of the following values defined by signal.h: #define SIGTTIN 20 #define SIGTOUT 21 -When any process sends a signal to a sleeping process, its state will change to -P_READY. As the process is now eligible, it will be selected in due course by -the scheduler, at which time the signal is processed (its handler is called). -If the signal handler subsequently returns, normal execution resumes for the +When any process sends a signal to a sleeping process, its state will change to +P_READY. As the process is now eligible, it will be selected in due course by +the scheduler, at which time the signal is processed (its handler is called). +If the signal handler subsequently returns, normal execution resumes for the process, just after the point where it went to sleep. ; ----------------------------------------------------------------------------- int link (char *oldname, char *newname); -Creates a new file in the directory structure, named "newname", which refers to -the same inode as the already existing file named "oldname". Note that both -aliases really refer to the same file, so writing or appending to the file, or +Creates a new file in the directory structure, named "newname", which refers to +the same inode as the already existing file named "oldname". Note that both +aliases really refer to the same file, so writing or appending to the file, or truncating it, will affect both files identically. -Linking is achieved by making the new file refer to the same "inode" as the -original file, and increasing that inode's "link count" by one. Directory -entries consist of "name" and "inode". When files are deleted (unlinked), +Linking is achieved by making the new file refer to the same "inode" as the +original file, and increasing that inode's "link count" by one. Directory +entries consist of "name" and "inode". When files are deleted (unlinked), inodes will not be destroyed until all of their aliases have been deleted. ; ----------------------------------------------------------------------------- int symlink (char *oldname, char *newname); -Similar to the link() function call, except that symlinks are easily identified -as such, whereas the file created by the link() system call cannot easily be +Similar to the link() function call, except that symlinks are easily identified +as such, whereas the file created by the link() system call cannot easily be distinguished from the original. Symlinks are more manageable for this reason. -Symlinks also have the property that they can traverse mount points and so they -are useful when aliasing files on some other media (for example a network or -removeable drive). This property is achieved because the symlink is just a -small file containing a short string which is appended to the path. For -example I could symlink "/usr/etc" to "../etc" and the symlink, when accessed, -would correctly find the "/usr/../etc" directory, even if the /usr directory +Symlinks also have the property that they can traverse mount points and so they +are useful when aliasing files on some other media (for example a network or +removeable drive). This property is achieved because the symlink is just a +small file containing a short string which is appended to the path. For +example I could symlink "/usr/etc" to "../etc" and the symlink, when accessed, +would correctly find the "/usr/../etc" directory, even if the /usr directory had been mounted from a completely different drive than the /etc directory. -If the original file is deleted or moved somewhere temporarily, the symlink is -"broken" and thus can't be accessed. (ENOENT errors would result). However -this can be a valuable property, as symlinks can be archived and used again -later, and/or the original files could be temporarily deleted, and restored +If the original file is deleted or moved somewhere temporarily, the symlink is +"broken" and thus can't be accessed. (ENOENT errors would result). However +this can be a valuable property, as symlinks can be archived and used again +later, and/or the original files could be temporarily deleted, and restored again later. Symlinks only need to be valid at the time of opening a file. ; ----------------------------------------------------------------------------- int mknod (char *name, mode_t mode, int dev); -Creates a special device file. This would usually be placed in the "/dev" -subdirectory, although it can be placed anywhere. The file doesn't contain any -data, but its inode is marked as "special" by setting the "block special" or -"character special" bits in the "mode". The "mode" is the same 16-bit integer -which holds the access permissions for "user, group, other" as described for -the chmod() system call, but only the lower 12 bits are modifiable by chmod. +Creates a special device file. This would usually be placed in the "/dev" +subdirectory, although it can be placed anywhere. The file doesn't contain any +data, but its inode is marked as "special" by setting the "block special" or +"character special" bits in the "mode". The "mode" is the same 16-bit integer +which holds the access permissions for "user, group, other" as described for +the chmod() system call, but only the lower 12 bits are modifiable by chmod. The upper 4 bits must be set when the file is created using the mknod() call. To make things easier, the following definitions are provided by sys/stat.h: @@ -619,17 +619,17 @@ To make things easier, the following definitions are provided by sys/stat.h: #define S_IFCHR 0020000 /* character special */ #define S_IFPIPE 0010000 /* pipe */ -See "c:\uzi\include\sys\stat.h" for further handy macros, for example the +See "c:\uzi\include\sys\stat.h" for further handy macros, for example the S_ISLNK macro returns true if some file's mode indicates a symbolic link. -In addition to providing a "mode" parameter which has the "block special" or -"character special" bits set, the user also provides a device number in "major, -minor" format. The "major" device number indicates which device driver will -perform the work. The "minor" device number is passed in to this device driver -to do what it wants with. For example a hard disk device might provide "minor" -device numbers of 0 and 1 for two different hard disks attached to the system. -A TTY device driver might provide "minor" device numbers of 0 thru 3 for four -different serial ports attached to the system. So the creator of the device +In addition to providing a "mode" parameter which has the "block special" or +"character special" bits set, the user also provides a device number in "major, +minor" format. The "major" device number indicates which device driver will +perform the work. The "minor" device number is passed in to this device driver +to do what it wants with. For example a hard disk device might provide "minor" +device numbers of 0 and 1 for two different hard disks attached to the system. +A TTY device driver might provide "minor" device numbers of 0 thru 3 for four +different serial ports attached to the system. So the creator of the device special files is going to need to know something about the underlying driver! The following major and minor device number combinations have been allocated: @@ -654,48 +654,48 @@ See the file "c:\uzi\kernel\config.h" for the most up to date version of this. int mkfifo (char *name, mode_t mode); -Creates a special "pipe" file. This can be placed anywhere in the directory -structure of the drive which is to hold the piped data. The file is like a -regular file, except it is always written by appending to the file, and is read +Creates a special "pipe" file. This can be placed anywhere in the directory +structure of the drive which is to hold the piped data. The file is like a +regular file, except it is always written by appending to the file, and is read from the start. Blocks are freed from the start of the file as they are read. -The file is marked as a "pipe" by setting the "pipe" bit in the file's "mode". -The "mode" is the same 16-bit integer which holds the access permissions for -"user, group, other" as described for the chmod() system call, but only the -lower 12 bits are modifiable by chmod. The upper 4 bits must be set when the -file is created using the mkfifo() call. You must be sure to set the S_IFPIPE +The file is marked as a "pipe" by setting the "pipe" bit in the file's "mode". +The "mode" is the same 16-bit integer which holds the access permissions for +"user, group, other" as described for the chmod() system call, but only the +lower 12 bits are modifiable by chmod. The upper 4 bits must be set when the +file is created using the mkfifo() call. You must be sure to set the S_IFPIPE bit in the passed mode, and also any necessary access permissions for the pipe. -If any process tries to write to a pipe which doesn't have any handles open to -read it, it will receive a signal which would normally kill the program. The +If any process tries to write to a pipe which doesn't have any handles open to +read it, it will receive a signal which would normally kill the program. The signal can be caught if you need to write to broken pipes for some reason. ; ----------------------------------------------------------------------------- int mount (char *spec, char *dir, int rwflag); -Mounts the filesystem found on a given device, onto a given mount point. The -device referred to by "spec" must be a special device file with the "block +Mounts the filesystem found on a given device, onto a given mount point. The +device referred to by "spec" must be a special device file with the "block special" bit set. The mount point referred to by "dir" must be an already­ -existing directory (usually empty). "rwflag" indicates whether the mounted -filesystem should be writeable. (If the filesystem is mounted read-only, not +existing directory (usually empty). "rwflag" indicates whether the mounted +filesystem should be writeable. (If the filesystem is mounted read-only, not even the superuser is allowed to make changes). -The filesystem on the device must be an UZI filesystem. This is verified by -reading the superblock of the filesystem and checking for the correct "magic -number" in the header. If this is found, the root directory of the filesystem -is opened and remains open. This is saved in the "mounts" table so that any +The filesystem on the device must be an UZI filesystem. This is verified by +reading the superblock of the filesystem and checking for the correct "magic +number" in the header. If this is found, the root directory of the filesystem +is opened and remains open. This is saved in the "mounts" table so that any further system calls such as open() can correctly traverse the mount point. ; ----------------------------------------------------------------------------- int open (char *name, uint flag, ...); -Searches for a file of the given name, and if found, opens it in the given +Searches for a file of the given name, and if found, opens it in the given mode. Mode can be any of the read or write modes such as O_RDONLY or O_RDWR. -If open() is successful, a file handle is returned. This opaque "token" is -used for further access to the file, eg. by read(), write() or close(). Each +If open() is successful, a file handle is returned. This opaque "token" is +used for further access to the file, eg. by read(), write() or close(). Each process has its own file table, so handles are not unique across processes. To make things easier, the following definitions are provided by fcntl.h: @@ -719,84 +719,84 @@ To make things easier, the following definitions are provided by fcntl.h: int pause (void); -Pauses the current process until a signal is received (any signal). The -process must have installed a signal handler for the anticipated signal, +Pauses the current process until a signal is received (any signal). The +process must have installed a signal handler for the anticipated signal, because the default behaviour would be to terminate the process on receipt. -While the current process is paused, any other eligible processes will run. -When one of them sends a signal to the paused process, its state will change -from P_PAUSE to P_READY. As the process is now eligible, it will be selected -in due course by the scheduler, at which time the signal is processed (its +While the current process is paused, any other eligible processes will run. +When one of them sends a signal to the paused process, its state will change +from P_PAUSE to P_READY. As the process is now eligible, it will be selected +in due course by the scheduler, at which time the signal is processed (its handler is called). If the signal handler returns, normal execution resumes. ; ----------------------------------------------------------------------------- int pipe (int fildes[2]); -Creates an unnamed pipe on the root filesystem. The pipe is a temporary file -which is not in any directory, similar to the result of creating a file using +Creates an unnamed pipe on the root filesystem. The pipe is a temporary file +which is not in any directory, similar to the result of creating a file using creat(), using unlink() to delete it, then continuing to access the file. -When temporary files are created like this, all is well, but as there is no -reference to the file anywhere in the directory structure, its inode and data +When temporary files are created like this, all is well, but as there is no +reference to the file anywhere in the directory structure, its inode and data space will be freed immediately on closure. -Separate file handles are returned for the "read" and "write" sides of the -pipe. Assuming the pipe can be created, fildes[0] is given a handle opened in +Separate file handles are returned for the "read" and "write" sides of the +pipe. Assuming the pipe can be created, fildes[0] is given a handle opened in O_RDONLY mode, and fildes[1] is given a handle opened in O_WRONLY mode. -If the operation fails, fildes[0] and fildes[1] are both set to -1, the return +If the operation fails, fildes[0] and fildes[1] are both set to -1, the return value is -1 and errno says why the pipe could not be created. ; ----------------------------------------------------------------------------- int read (int fd, void *buf, uint nbytes); -Reads from the given file handle. The file handle must previously have been -opened with open() or creat(), or created using dup() or dup2(). The handle -can refer to a file, in which case bytes will be read from the current file -position, and the file position will be incremented. Or "fd" can refer to a +Reads from the given file handle. The file handle must previously have been +opened with open() or creat(), or created using dup() or dup2(). The handle +can refer to a file, in which case bytes will be read from the current file +position, and the file position will be incremented. Or "fd" can refer to a device, in which case the bytes are read from the associated device driver. -Whether the handle refers to a file or a device, read() will read as much as -possible, to address "buf" onwards, up to the limit specified by "nbytes". The -return value from read() is the actual number of bytes read, or -1 if some kind -of catastrophic error occurred (eg. disk I/O error). EOF is not considered an +Whether the handle refers to a file or a device, read() will read as much as +possible, to address "buf" onwards, up to the limit specified by "nbytes". The +return value from read() is the actual number of bytes read, or -1 if some kind +of catastrophic error occurred (eg. disk I/O error). EOF is not considered an error, and simply results in less than the expected number of bytes being read. ; ----------------------------------------------------------------------------- int sbrk (uint incr); -Increases the top of the process's memory by the given amount. On entry to the -program, "brk" is set to the top of the loaded program image, and therefore -must be adjusted slightly higher if the program is going to use extra memory -for data. This is normally done at least once, by the 'C' startup code, to +Increases the top of the process's memory by the given amount. On entry to the +program, "brk" is set to the top of the loaded program image, and therefore +must be adjusted slightly higher if the program is going to use extra memory +for data. This is normally done at least once, by the 'C' startup code, to inform the kernel of how much uninitialised data the program wishes to use. -The kernel checks if the "brk" value is getting too close to the process's -stack pointer (ie. if there would not be enough stack space left to process a +The kernel checks if the "brk" value is getting too close to the process's +stack pointer (ie. if there would not be enough stack space left to process a system call or an interrupt). In this case the call fails and returns -1. -The 'C' library also provides a malloc() and free() implementation, which is -based on the brk() and sbrk() system calls. Normally sbrk() is called from -within malloc() each time malloc() wishes to extend the size of the pool. This -might not be very often since the user might be requesting small blocks and +The 'C' library also provides a malloc() and free() implementation, which is +based on the brk() and sbrk() system calls. Normally sbrk() is called from +within malloc() each time malloc() wishes to extend the size of the pool. This +might not be very often since the user might be requesting small blocks and freeing them often. An appropriate increment is usally determined in advance. -Or, sbrk() can be used as a direct replacement for malloc(), since it returns +Or, sbrk() can be used as a direct replacement for malloc(), since it returns the previous brk address (ie. the start of the extra portion just allocated). ; ----------------------------------------------------------------------------- int seek (int fd, int offset, int whence); -Sets the file position for the given file handle. Ordinary files and devices -can be seeked, but seek() will return an error if the file handle refers to a +Sets the file position for the given file handle. Ordinary files and devices +can be seeked, but seek() will return an error if the file handle refers to a pipe or a file opened in append mode. On failure, errno indicates why. -The file position is set absolutely (SEEK_OSET/SEEK_BSET), or relative to the -current file position (SEEK_OCUR/SEEK_BCUR), or relative to the end of the file +The file position is set absolutely (SEEK_OSET/SEEK_BSET), or relative to the +current file position (SEEK_OCUR/SEEK_BCUR), or relative to the end of the file (SEEK_OEND/SEEK_BEND). Negative offsets for relative seek are not implemented. The "whence" argument can be one of the following values from seek.h: @@ -808,21 +808,21 @@ The "whence" argument can be one of the following values from seek.h: #define SEEK_BCUR 4 #define SEEK_BEND 5 -Since a file can be larger than the integer value represented in "offset", it's -necessary to set the file position in two steps. Firstly set the byte position -in the current block, using one of the SEEK_Oxxx calls. Then set the block -number using one of the SEEK_Bxxx calls. The resulting file position can be -inferred by recombining the return values from each function. When converting +Since a file can be larger than the integer value represented in "offset", it's +necessary to set the file position in two steps. Firstly set the byte position +in the current block, using one of the SEEK_Oxxx calls. Then set the block +number using one of the SEEK_Bxxx calls. The resulting file position can be +inferred by recombining the return values from each function. When converting block/offset to "long" or vice versa, use a hard coded block size of 512 bytes. ; ----------------------------------------------------------------------------- off_t lseek (int fd, off_t offset, int whence); -Not yet implemented by the kernel. Instead it's done as a library call, based -on the seek() function call which is implemented by the kernel. As we can only -pass 16-bit parameters into the kernel for the moment, and the return value can -only be 16-bit as well, it's quite convenient to provide an lseek() routine in +Not yet implemented by the kernel. Instead it's done as a library call, based +on the seek() function call which is implemented by the kernel. As we can only +pass 16-bit parameters into the kernel for the moment, and the return value can +only be 16-bit as well, it's quite convenient to provide an lseek() routine in the 'C' library, which decodes the "off_t" value into sector and byte offsets. The "whence" argument can be one of the following values from seek.h: @@ -835,38 +835,38 @@ The "whence" argument can be one of the following values from seek.h: int setgid (int gid); -Sets the GID or "group ID" of the current process. This is a unique integer +Sets the GID or "group ID" of the current process. This is a unique integer referring to a line in the file "/etc/group" and is initialised at login time. -Superuser permissions are required to make this call. Therefore the "login" +Superuser permissions are required to make this call. Therefore the "login" utility usually runs "setuid" so that you can temporarily become root to do it. ; ----------------------------------------------------------------------------- int setuid (int uid); -Sets the UID or "user ID" of the current process. This is a unique integer +Sets the UID or "user ID" of the current process. This is a unique integer referring to a line in the file "/etc/passwd" and is initialised at login time. -Superuser permissions are required to make this call. Therefore the "login" +Superuser permissions are required to make this call. Therefore the "login" utility usually runs "setuid" so that you can temporarily become root to do it. ; ----------------------------------------------------------------------------- int setprio (int pid, char prio); -Sets the priority of the current process. This is an integer indicating how -many system "ticks" should be allocated to the process each time it runs. When +Sets the priority of the current process. This is an integer indicating how +many system "ticks" should be allocated to the process each time it runs. When this number of "ticks" expires each time, some other process is allowed to run. ; ----------------------------------------------------------------------------- sig_t signal (signal_t sig, sig_t func); -Install a signal handler to catch a particular signal. Signals can be sent by -any process, by device drivers, or by the kernel in response to certain events. -The default behaviour on receipt of a signal is to kill the receiving process, -but if the process has "caught" the signal by calling signal() to register a +Install a signal handler to catch a particular signal. Signals can be sent by +any process, by device drivers, or by the kernel in response to certain events. +The default behaviour on receipt of a signal is to kill the receiving process, +but if the process has "caught" the signal by calling signal() to register a handler for the anticipated signal, the given signal handler executes instead. The "sig" argument can be one of the following values defined by signal.h: @@ -897,36 +897,36 @@ The "sig" argument can be one of the following values defined by signal.h: #define SIGTTIN 20 #define SIGTOUT 21 -The "func" argument is a function pointer, but the sig_t type is provided by -types.h for convenience. The definition is: typedef void (*sig_t) (signal_t); -which means that the signal handler will be told which signal it's handling, as +The "func" argument is a function pointer, but the sig_t type is provided by +types.h for convenience. The definition is: typedef void (*sig_t) (signal_t); +which means that the signal handler will be told which signal it's handling, as its first argument is a "signal_t", and the function does not return a value. -In fact the signal handler doesn't need to return at all, it may exit using the -exit() call, or restore execution to an earlier saved state using the longjmp() -library routine. If the signal handler does return, then execution continues -in the process which recieved the signal. (If it was asleep, it will have been +In fact the signal handler doesn't need to return at all, it may exit using the +exit() call, or restore execution to an earlier saved state using the longjmp() +library routine. If the signal handler does return, then execution continues +in the process which recieved the signal. (If it was asleep, it will have been woken at the time the signal was originally sent, so it now executes again). ; ----------------------------------------------------------------------------- int stat (char *path, void *buf); -Checks whether the file exists, and if so, returns information about it. Note -that the user does need to have read access to the file in order to make this +Checks whether the file exists, and if so, returns information about it. Note +that the user does need to have read access to the file in order to make this call. The user also needs execute permission on the directory containing it. -Calling stat will update the file's last accessed time. It should therefore be -used with caution by directory listing or disk cataloguing programs. For most -purposes you would not want to corrupt the file's last-access time unless you +Calling stat will update the file's last accessed time. It should therefore be +used with caution by directory listing or disk cataloguing programs. For most +purposes you would not want to corrupt the file's last-access time unless you were about to access the file yourself. Use fstat() for a non-intrusive call. ; ----------------------------------------------------------------------------- int stime (time_t *tvec); -Not yet implemented. Sets the system real time clock. The buffer pointed to -by "tvec" contains the time and date. Superuser permission is required to set +Not yet implemented. Sets the system real time clock. The buffer pointed to +by "tvec" contains the time and date. Superuser permission is required to set the system real time clock. time_t is currently in the following format, defined by types.h: @@ -941,19 +941,19 @@ typedef struct s_time { int sync (void); -Synchronises the file system, possibly in preparation for a reboot or system +Synchronises the file system, possibly in preparation for a reboot or system shutdown (or just to ensure that an important file's data is really flushed). -The kernel writes any modified inodes to disk (for example, updating the length -of any open files to the correct value), updates the superblock (this ensures -the 'blocks free' and 'blocks used' counters are at their correct values), then +The kernel writes any modified inodes to disk (for example, updating the length +of any open files to the correct value), updates the superblock (this ensures +the 'blocks free' and 'blocks used' counters are at their correct values), then finally any unwritten disk buffers are written out to disk before returning. ; ----------------------------------------------------------------------------- time_t time (time_t *tvec); -Returns the system real time clock. The buffer pointed to by "tvec" receives +Returns the system real time clock. The buffer pointed to by "tvec" receives the time. No special permissions are required to do this. time_t is currently in the following format, defined by types.h: @@ -968,8 +968,8 @@ typedef struct s_time { int times (struct tms *buf); -Returns information about the running time of the current process and its -children. The information is returned in a structure containing various +Returns information about the running time of the current process and its +children. The information is returned in a structure containing various fields. The fields of the structure are as follows, defined by types.h: /* User's structure for times() system call */ @@ -993,8 +993,8 @@ typedef struct s_time { int utime (char *path, struct utimbuf *buf); -Checks whether the file exists, and if so, returns information about it. Note -that the user doesn't need to have any access to the file in order to make this +Checks whether the file exists, and if so, returns information about it. Note +that the user doesn't need to have any access to the file in order to make this call. The user only needs execute permission on the directory containing it. The structure of "buf" is defined in types.h and contains the following fields: @@ -1017,28 +1017,28 @@ typedef struct s_time { int umask (int mask); -Sets the default file creation permissions for the current process (this +Sets the default file creation permissions for the current process (this setting will also be inherited by any child processes). -The argument to umask() is specified in 'inverse', for example if some file was -to be created with octal permissions '755' you would call umask(022) followed -by creat(). Thus the argument to umask() tells the system which bits to turn -off, hence the name "mask". The usual value of 022 specifies that new files +The argument to umask() is specified in 'inverse', for example if some file was +to be created with octal permissions '755' you would call umask(022) followed +by creat(). Thus the argument to umask() tells the system which bits to turn +off, hence the name "mask". The usual value of 022 specifies that new files should not be writeable by "group" and "other" users, but only by the owner. ; ----------------------------------------------------------------------------- int umount (char *spec); -Unmounts the filesystem found on a given device, from its mount point. Only -the device containing the filesystem needs to be specified. The device -referred to by "spec" must be a special device file with the "block special" -bit set. The filesystem must earlier have been mounted using the mount() +Unmounts the filesystem found on a given device, from its mount point. Only +the device containing the filesystem needs to be specified. The device +referred to by "spec" must be a special device file with the "block special" +bit set. The filesystem must earlier have been mounted using the mount() system call. It is not possible to unmount the root filesystem. -The filesystem on the device must be an UZI filesystem. The call will fail if -any files on the device are still open. The root directory of the filesystem, -whose inode is obtained from the mounts table, is closed. All unwritten data, +The filesystem on the device must be an UZI filesystem. The call will fail if +any files on the device are still open. The root directory of the filesystem, +whose inode is obtained from the mounts table, is closed. All unwritten data, including modified inodes and changes to the superblock, are written out. The mounts table is updated to show that the filesystem is no longer mounted. @@ -1046,60 +1046,60 @@ mounts table is updated to show that the filesystem is no longer mounted. int unlink (char *path); -Searches for the given path. If the file is found, and the user has write -permission for the directory containing the file, the found entry is removed +Searches for the given path. If the file is found, and the user has write +permission for the directory containing the file, the found entry is removed from the directory structure. -In the process the directory entry is inspected. Directory entries consist of -"name" and "inode". The associated inode is also inspected, and its "link -count" is decreased by one. The inode will also be destroyed, if its "link +In the process the directory entry is inspected. Directory entries consist of +"name" and "inode". The associated inode is also inspected, and its "link +count" is decreased by one. The inode will also be destroyed, if its "link count" has reached zero, meaning all aliases to the file have been unlinked. ; ----------------------------------------------------------------------------- int wait (int *statloc); -Waits for a child process to die (any child of the current process). If there -are no children, wait() returns an error ECHILD. If there are some children, -the current process goes to sleep having indicated it wants to be notified when -a child exits. Some other eligible program runs, and eventually, if a child -does exit, the sleeping process is woken up and wait() returns the child's PID. +Waits for a child process to die (any child of the current process). If there +are no children, wait() returns an error ECHILD. If there are some children, +the current process goes to sleep having indicated it wants to be notified when +a child exits. Some other eligible program runs, and eventually, if a child +does exit, the sleeping process is woken up and wait() returns the child's PID. At the buffer pointed to by statloc, the process receives the child's exitcode. ; ----------------------------------------------------------------------------- int write (int fd, void *buf, uint nbytes); -Writes to the given file handle. The file handle must previously have been -opened with open() or creat(), or created using dup() or dup2(). The handle -can refer to a file, in which case bytes will be written to the current file -position, and the file position will be incremented. Or "fd" can refer to a +Writes to the given file handle. The file handle must previously have been +opened with open() or creat(), or created using dup() or dup2(). The handle +can refer to a file, in which case bytes will be written to the current file +position, and the file position will be incremented. Or "fd" can refer to a device, in which case the bytes are written to the associated device driver. -Whether the handle refers to a file or a device, write() will write as much as -possible, using data from address "buf" onwards, up to the limit specified by -"nbytes". The return value from write() is the actual number of bytes written, +Whether the handle refers to a file or a device, write() will write as much as +possible, using data from address "buf" onwards, up to the limit specified by +"nbytes". The return value from write() is the actual number of bytes written, or -1 if some kind of catastrophic error occurred (eg. disk I/O error). ; ----------------------------------------------------------------------------- int reboot (char p1, char p2); -Not yet implemented. This call would be passed two special values, p1 = 'm' +Not yet implemented. This call would be passed two special values, p1 = 'm' and p2 = 'e'. The parameters are checked to guard against accidental reboots. -Only the superuser is allowed to reboot the system. The reboot() system call +Only the superuser is allowed to reboot the system. The reboot() system call would be used by a shutdown program, so that you could type "shutdown -r now". ; ----------------------------------------------------------------------------- int systrace (int onoff); -Enables or disables system call tracing. When system call tracing is active -for a process, the kernel will print diagnostic log information to the console, -so that you can see exactly which system calls a program is making, and which -ones were successful and which ones were not. This system call might be used -by a version of the "systrace" program, which turns on system tracing, executes +Enables or disables system call tracing. When system call tracing is active +for a process, the kernel will print diagnostic log information to the console, +so that you can see exactly which system calls a program is making, and which +ones were successful and which ones were not. This system call might be used +by a version of the "systrace" program, which turns on system tracing, executes a command line given by the user, and then turns off tracing before exiting. ; ----------------------------------------------------------------------------- diff --git a/doc/z180-mem.p b/doc/z180-mem.p index 3f4357be..adb4a6e6 100644 --- a/doc/z180-mem.p +++ b/doc/z180-mem.p @@ -4,116 +4,116 @@ The Z180 MMU is confusing, but quite useful when well understood. Published in Circuit Cellar Ink, February 1990 -World Wide Web editor's note: This discussion of the MMU is still appropriate -today. Change the processor name from 64180 to Z180, as Zilog now dominates -this market, and change Archimedes (the compiler guys) to IAR, and most of the +World Wide Web editor's note: This discussion of the MMU is still appropriate +today. Change the processor name from 64180 to Z180, as Zilog now dominates +this market, and change Archimedes (the compiler guys) to IAR, and most of the article is still correct. -Programs are getting big! Part of today's shift towards 16 and 32 bit -processors comes from the need for correspondingly huge address spaces, since -conventional wisdom holds that a 512kb program just cannot fit in the 64k -address space of most 8 bit CPUs. Where performance is the overriding concern, -a 32 bit CPU may be the only solution. It does seem a shame to abandon all the -accumulated knowledge and code gleaned from two decades of 8 bit +Programs are getting big! Part of today's shift towards 16 and 32 bit +processors comes from the need for correspondingly huge address spaces, since +conventional wisdom holds that a 512kb program just cannot fit in the 64k +address space of most 8 bit CPUs. Where performance is the overriding concern, +a 32 bit CPU may be the only solution. It does seem a shame to abandon all the +accumulated knowledge and code gleaned from two decades of 8 bit microprocessors just to get more programming elbow room. -For the past few years some 8 bit CPUs have been equipped with memory -management units (MMU) that free programs from most memory limitations. It's -tedious and complex to control a MMU manually; now, many languages and other +For the past few years some 8 bit CPUs have been equipped with memory +management units (MMU) that free programs from most memory limitations. It's +tedious and complex to control a MMU manually; now, many languages and other tools include built-in MMU support. Logical -> Physical -The problem of memory management is easy to define: we need some way of -connecting lots of memory to a processor that just cannot handle or address it. -For example, we might want to put 512kb on a Z80. Since the Z80 only generates -16 bit addresses, it can only directly address 64k of RAM. Somehow, though +The problem of memory management is easy to define: we need some way of +connecting lots of memory to a processor that just cannot handle or address it. +For example, we might want to put 512kb on a Z80. Since the Z80 only generates +16 bit addresses, it can only directly address 64k of RAM. Somehow, though memory management, we must expand this capability. -For now let's assume that magic hardware gives us more address lines. Perhaps -it is as simple as an I/O port loaded by the CPU with an extra upper 8 address -lines (A16 to A23), giving us a potential address space of 24 mb. Or, it can -be hideously complex, providing some ability to access different sections of +For now let's assume that magic hardware gives us more address lines. Perhaps +it is as simple as an I/O port loaded by the CPU with an extra upper 8 address +lines (A16 to A23), giving us a potential address space of 24 mb. Or, it can +be hideously complex, providing some ability to access different sections of address space in wild and wonderful ways. -In any event, as soon as some external mechanism is added to translate -addresses in some fashion, the programmer suddenly must contend with two very +In any event, as soon as some external mechanism is added to translate +addresses in some fashion, the programmer suddenly must contend with two very different sorts of address spaces. -"Physical" memory is that actually connected to the hardware. For example, the -512kb we attach to the sadly-overloaded Z80 is physical memory. Its address +"Physical" memory is that actually connected to the hardware. For example, the +512kb we attach to the sadly-overloaded Z80 is physical memory. Its address ranges from 00000 to 80000 hex in a linear manner. -"Logical" memory is the memory currently located in the processor's address -space. Obviously, if the computer can only issue addresses in the range of -0000 to FFFF (0 to 64k), then some of the physical memory is visible and some -is not. As the code changes the memory manager's settings different memory +"Logical" memory is the memory currently located in the processor's address +space. Obviously, if the computer can only issue addresses in the range of +0000 to FFFF (0 to 64k), then some of the physical memory is visible and some +is not. As the code changes the memory manager's settings different memory becomes visible. That which is addressable at any time is the logical memory. -Thus, addresses generated by the program are always logical addresses - they +Thus, addresses generated by the program are always logical addresses - they get translated by some yet undefined hardware into real physical addresses. -So, at one time address 1000 logical might be translated into 28000 physical. +So, at one time address 1000 logical might be translated into 28000 physical. Later, in the same code, 1000 could correspond to 80000 physical. The old one­ to-one mapping of addresses we're all familiar with is gone! -In summary, addresses used by the code are logical; the memory array sees -physical. Between these two the memory management unit (MMU) falls. Standard +In summary, addresses used by the code are logical; the memory array sees +physical. Between these two the memory management unit (MMU) falls. Standard Architectures -Several years ago Hitachi introduced the 64180, a high integration version of -the venerable Z80. While other vendors were trying to push new proprietary -architectures, Hitachi took what might seem a step backwards towards the Z80. -They realized an important fact of the industry - customers had a fortune -invested in Z80 code and were unwilling to switch to an incompatible +Several years ago Hitachi introduced the 64180, a high integration version of +the venerable Z80. While other vendors were trying to push new proprietary +architectures, Hitachi took what might seem a step backwards towards the Z80. +They realized an important fact of the industry - customers had a fortune +invested in Z80 code and were unwilling to switch to an incompatible instruction set. -The 64180 is a Z80 at heart. The designers resisted the temptation to add -fancy new instructions and addressing modes that could have made it -incompatible with the Z80. Rather, they integrated timers, serial ports, and -DMA controllers onto the chip. Even better, they added a memory management +The 64180 is a Z80 at heart. The designers resisted the temptation to add +fancy new instructions and addressing modes that could have made it +incompatible with the Z80. Rather, they integrated timers, serial ports, and +DMA controllers onto the chip. Even better, they added a memory management unit to translate 64k logical addresses into a 1 mb physical address space. -Now Hitachi sells several other versions of the part. The 64180S is designed -especially for telecommunications. The 647180X is a microcontroller version, -containing a 64180 core, ROM, RAM, and parallel I/O. Zilog stepped into the -act, offering the Z180 (a second source of the 64180) and Z280, a very high -performance Z80 upgrade. Zilog is just now announcing the Z181 and will soon +Now Hitachi sells several other versions of the part. The 64180S is designed +especially for telecommunications. The 647180X is a microcontroller version, +containing a 64180 core, ROM, RAM, and parallel I/O. Zilog stepped into the +act, offering the Z180 (a second source of the 64180) and Z280, a very high +performance Z80 upgrade. Zilog is just now announcing the Z181 and will soon offer a microcontroller version of the part, probably a 647180X look-alike. -The most important peripheral on the 64180-family processors is the memory -management unit (MMU). The MMU is a hardware device built onto the processor's +The most important peripheral on the 64180-family processors is the memory +management unit (MMU). The MMU is a hardware device built onto the processor's silicon. The MMU translates every memory address from 16 to 20 bits. -The 64180's MMU uses three internal control registers. In keeping with the -chip's design philosophy, on reset the MMU gives a straight logical to physical +The 64180's MMU uses three internal control registers. In keeping with the +chip's design philosophy, on reset the MMU gives a straight logical to physical mapping, simulating the Z80 and, of course, limiting the address space to 64k. -You can divide the 64180's logical address space into one, two, or three areas. -The logical space itself is unaltered; even when divided it is still a +You can divide the 64180's logical address space into one, two, or three areas. +The logical space itself is unaltered; even when divided it is still a contiguous 64k. -CBAR is an 8 bit I/O port that can be accessed by the processor's OUT and IN -instructions. The lower 4 bits specify the starting address of the bank area, -and the upper 4 give the start of common 1. These bits determine the upper -four bits of the address. If CBAR were A8, then the base area starts at 8000 +CBAR is an 8 bit I/O port that can be accessed by the processor's OUT and IN +instructions. The lower 4 bits specify the starting address of the bank area, +and the upper 4 give the start of common 1. These bits determine the upper +four bits of the address. If CBAR were A8, then the base area starts at 8000 logical, and common 1 starts at A000. -Common 0, if it exists, always starts at logical 0000 and runs up to the bank +Common 0, if it exists, always starts at logical 0000 and runs up to the bank area. The bank area then runs to the start of common 1. -Therefore, you can always understand the logical address space by examining the +Therefore, you can always understand the logical address space by examining the contents of CBAR by itself. No other information is needed. -The logical address is only part of the problem. How does logical space get +The logical address is only part of the problem. How does logical space get mapped to physical? Two other ports provide the rest of the answer. -BBR (the Base Area Bank Register) specifies the starting physical address of -the base area (remember, the logical start is in CBAR). CBR (Common Bank -Register) provides the same information for common 1. Both of these specify +BBR (the Base Area Bank Register) specifies the starting physical address of +the base area (remember, the logical start is in CBAR). CBR (Common Bank +Register) provides the same information for common 1. Both of these specify the upper 8 bits of the 20 bit physical address. -A simple formula gives the translation from logical to physical address for the +A simple formula gives the translation from logical to physical address for the bank area: Physical = Logical + (BBR * 4096) @@ -122,140 +122,140 @@ The same formula gives Common 1: Physical = Logical + (CBR * 4096) -BBR and CBR gives the upper 8 address bit only - hence the 4096 multiplier. -The lower 12 bits come from the logical address. Thus, the translation only -affects the upper 8 bits; the lower 12 physical bits are always identical to +BBR and CBR gives the upper 8 address bit only - hence the 4096 multiplier. +The lower 12 bits come from the logical address. Thus, the translation only +affects the upper 8 bits; the lower 12 physical bits are always identical to the lower 12 logical. -On reset, the 64180 sets CBAR to F0, and CBR=BBR=0. This maps logical to -physical exactly, with no translation; the bank area starts at logical 0 and -common 1 at F000 (since CBAR=F0), the bank area physically starts at 0000 -(BBR=0), as does common 1 (CBR=0). If the logical address is 1000, then the -MMU allocates this to the bank area (CBAR=F0; 1000 is less than the start of -common 1 at F000), and adds the physical base of bank to it (0), giving a -translated address of 01000. Similarly, logical F800 is in common 1, and +On reset, the 64180 sets CBAR to F0, and CBR=BBR=0. This maps logical to +physical exactly, with no translation; the bank area starts at logical 0 and +common 1 at F000 (since CBAR=F0), the bank area physically starts at 0000 +(BBR=0), as does common 1 (CBR=0). If the logical address is 1000, then the +MMU allocates this to the bank area (CBAR=F0; 1000 is less than the start of +common 1 at F000), and adds the physical base of bank to it (0), giving a +translated address of 01000. Similarly, logical F800 is in common 1, and translates to 0F800. -The most important point that can be made about the MMU is that it does not -provide the 1mb linear address space we all crave. After all, Z80 instructions -use 16 bit address operands and 16 bit register pointers - there is no way to -address a number larger than 64k. A jump instruction will always have an -argument that is 16 bits long - the logical destination address. The MMU -translates this logical address to a possibly large physical number, but the +The most important point that can be made about the MMU is that it does not +provide the 1mb linear address space we all crave. After all, Z80 instructions +use 16 bit address operands and 16 bit register pointers - there is no way to +address a number larger than 64k. A jump instruction will always have an +argument that is 16 bits long - the logical destination address. The MMU +translates this logical address to a possibly large physical number, but the software still operates in a 64k space. -This has a subtle implication - logical address space is a valuable commodity -that must be conserved. Wasting physical memory isn't so bad, since the 64180 -can deal with up to 1mb. As an example, suppose that your program will have -three banks (COMMON 0, BANK, and COMMON 1). If the program is large you might -want to bank it in and out of the BANK area, leaving COMMON 1 for data. If -BANK is too large, you could be left with little data space - it is important +This has a subtle implication - logical address space is a valuable commodity +that must be conserved. Wasting physical memory isn't so bad, since the 64180 +can deal with up to 1mb. As an example, suppose that your program will have +three banks (COMMON 0, BANK, and COMMON 1). If the program is large you might +want to bank it in and out of the BANK area, leaving COMMON 1 for data. If +BANK is too large, you could be left with little data space - it is important to make BANK as small as feasible to maximize the (in this case) unbanked data. Language Support -Despite the fabulous extra power offered by the 64180's MMU, we've all been -making do with Z80 assemblers and compilers. Sure, some claim to support the -new processor's extended features, but in truth, until recently, that support +Despite the fabulous extra power offered by the 64180's MMU, we've all been +making do with Z80 assemblers and compilers. Sure, some claim to support the +new processor's extended features, but in truth, until recently, that support has been minimal. -Just what features are important in a 64180 assembler or compiler? Certainly it -should be fast, efficient, and all that, but more than anything else the +Just what features are important in a 64180 assembler or compiler? Certainly it +should be fast, efficient, and all that, but more than anything else the language should give you some sort of way of handling the MMU. -There are two related but different aspects to MMU management. The first is to -provide some sort of mechanism to control the MMU with as little programer help -as possible. An ideal solution would be a smart compiler that simulates a -nearly linear huge address space. The second is to provide output files that -contain compiled code and debugging records in some manner that supports -current 8 bit tools (like the PROM programmer), but that accounts for the large +There are two related but different aspects to MMU management. The first is to +provide some sort of mechanism to control the MMU with as little programer help +as possible. An ideal solution would be a smart compiler that simulates a +nearly linear huge address space. The second is to provide output files that +contain compiled code and debugging records in some manner that supports +current 8 bit tools (like the PROM programmer), but that accounts for the large address spaces. -Taking these two criterion separately, especially with a C compiler we'd really -like some method of compiling an ordinary C program in multiple banks. Sure, -you might have to tell the compiler or linker about your memory configuration, -but ideally the tools should segment and package functions into memory banks as -needed. Even better, we'd want it to remap the MMU automatically. Just like -working with Turbo C, we would like to be able to invoke a function through a +Taking these two criterion separately, especially with a C compiler we'd really +like some method of compiling an ordinary C program in multiple banks. Sure, +you might have to tell the compiler or linker about your memory configuration, +but ideally the tools should segment and package functions into memory banks as +needed. Even better, we'd want it to remap the MMU automatically. Just like +working with Turbo C, we would like to be able to invoke a function through a conventional function call, without worrying about its location in memory. -The second requirement is not quite so obvious. How will you burn ROMs for the -final project? If the compiled/assembled code exceeds 64k, there may be a -problem with using standard Intel hex records for output. Every ROM programmer -in the world takes Intel hex input, but the format only supports 16 bit +The second requirement is not quite so obvious. How will you burn ROMs for the +final project? If the compiled/assembled code exceeds 64k, there may be a +problem with using standard Intel hex records for output. Every ROM programmer +in the world takes Intel hex input, but the format only supports 16 bit addresses. -One solution is to divide the source program into many separately compiled -small pieces. This is especially hard in C, since the linker will not be able -to resolve calls between pieces. Another approach is to insure that the -compiler or assembler can produce "Type 2" Intel records. Whenever the code -crosses a 64k bank the linker could output a type 2 record to specify a new -segment address (physical address shifted right 4 bits). This does imply that -the linker can handle large physical addresses, and the PROM programmer can +One solution is to divide the source program into many separately compiled +small pieces. This is especially hard in C, since the linker will not be able +to resolve calls between pieces. Another approach is to insure that the +compiler or assembler can produce "Type 2" Intel records. Whenever the code +crosses a 64k bank the linker could output a type 2 record to specify a new +segment address (physical address shifted right 4 bits). This does imply that +the linker can handle large physical addresses, and the PROM programmer can accept type 2 records. -Decent debugging files are just as important as useful PROM files. You can't -use an emulator, simulator, or monitor to debug the code if the debug records -are inadequate. Suppose you wish to display the value of a variable. The -debugger must know the physical address of that quantity, since only the -physical address is constant. Remapping the MMU changes its logical address, +Decent debugging files are just as important as useful PROM files. You can't +use an emulator, simulator, or monitor to debug the code if the debug records +are inadequate. Suppose you wish to display the value of a variable. The +debugger must know the physical address of that quantity, since only the +physical address is constant. Remapping the MMU changes its logical address, and at times no logical address might correspond to the variable. -This implies that the software packages must maintain both logical and physical -addresses for all lines and symbols. Compiling, say, jumps requires logical -addresses. All jumps and calls take logical addresses as arguments (since they -can only support a 16 bit number). Physical addresses are needed in the -debugging records so debuggers can unambiguously resolve the location of -symbols, functions, and line numbers, all whose logical address changes with +This implies that the software packages must maintain both logical and physical +addresses for all lines and symbols. Compiling, say, jumps requires logical +addresses. All jumps and calls take logical addresses as arguments (since they +can only support a 16 bit number). Physical addresses are needed in the +debugging records so debuggers can unambiguously resolve the location of +symbols, functions, and line numbers, all whose logical address changes with the current MMU setting. Assemblers -Most 64180 programs written in assembly language control the memory manager by -tediously issuing many MMU control instructions. The programmer must first -decide exactly what configuration logical memory will assume, and then come up -with CBAR, BBR, and CBR values for every possible combination of banks. Then, -the code must send these values out to change maps. Needless to say, this +Most 64180 programs written in assembly language control the memory manager by +tediously issuing many MMU control instructions. The programmer must first +decide exactly what configuration logical memory will assume, and then come up +with CBAR, BBR, and CBR values for every possible combination of banks. Then, +the code must send these values out to change maps. Needless to say, this takes a lot of work. -Softools (8770 Manahan Drive, Ellicott City, MD 21043, (301) 750-3733) came up -with an interesting approach that eliminates most of the work. Their SASM -assembler and linker will automatically drop in all the code needed to bank a -program. In effect, this means you can write code as if the 64180 had a 1 mb +Softools (8770 Manahan Drive, Ellicott City, MD 21043, (301) 750-3733) came up +with an interesting approach that eliminates most of the work. Their SASM +assembler and linker will automatically drop in all the code needed to bank a +program. In effect, this means you can write code as if the 64180 had a 1 mb linear address space. -Like most good assemblers, SASM supports lots of named segments - up to 256. -Most of the time we assembly programmers just need a CODE, DATA, and ASEG -segment, but SASM's segmentation lets us break a program into mapped and -unmapped sections. When using SASM on large programs, you can assign any -segment or segments to have a "mapped" attribute, identifying those that +Like most good assemblers, SASM supports lots of named segments - up to 256. +Most of the time we assembly programmers just need a CODE, DATA, and ASEG +segment, but SASM's segmentation lets us break a program into mapped and +unmapped sections. When using SASM on large programs, you can assign any +segment or segments to have a "mapped" attribute, identifying those that require some MMU manipulation to bring them into the address space. -NOTE: SASM IS QUITE SIMILAR TO IAR'S AZ80 ASSEMBLER, SO CHANGED SASM TO AZ80 -IN THE FOLLOWING DISCUSSION. HOWEVER, AZ80 USES THE SEGMENT NAME 'CODE' FOR -ALL BANKED CODE, KNOWING THAT THE SEGMENT'S CODE CAN BE SPLIT INTO BANKS WHERE -THERE IS A MODULE BOUNDARY. SO ACCESSES OUTSIDE THE MODULE MUST USE BANKED -CALLING CONVENTIONS!! WITHIN THE MODULE THERE IS SOME FREEDOM TO USE PRIVATE -ROUTINES WITH THEIR OWN CALLING CONVENTIONS (AS YOU KNOW EACH MODULE FITS INTO +NOTE: SASM IS QUITE SIMILAR TO IAR'S AZ80 ASSEMBLER, SO CHANGED SASM TO AZ80 +IN THE FOLLOWING DISCUSSION. HOWEVER, AZ80 USES THE SEGMENT NAME 'CODE' FOR +ALL BANKED CODE, KNOWING THAT THE SEGMENT'S CODE CAN BE SPLIT INTO BANKS WHERE +THERE IS A MODULE BOUNDARY. SO ACCESSES OUTSIDE THE MODULE MUST USE BANKED +CALLING CONVENTIONS!! WITHIN THE MODULE THERE IS SOME FREEDOM TO USE PRIVATE +ROUTINES WITH THEIR OWN CALLING CONVENTIONS (AS YOU KNOW EACH MODULE FITS INTO A BANK AND CAN'T SPAN MULTIPLE BANKS). USE THE LWRD OPERATOR WHEN DOING THIS. -Segments are the key to IAR AZ80's mapping scheme. The linker identifies how -much data the program uses and the number of bytes used for unmapped code (that -which must never be mapped out). It computes CBAR to define the -characteristics of the runtime logical address space: COMMON 0 being just big -enough to hold all the unmapped code, COMMON 1 containing the data, and the +Segments are the key to IAR AZ80's mapping scheme. The linker identifies how +much data the program uses and the number of bytes used for unmapped code (that +which must never be mapped out). It computes CBAR to define the +characteristics of the runtime logical address space: COMMON 0 being just big +enough to hold all the unmapped code, COMMON 1 containing the data, and the rest, the BANK area, is allocated to mapped routines. -The linker groups all mapped segments together and starts to assign both -logical and physical addresses to each routine. Whenever a routine will exceed -the size of the BANK area the linker moves it to the start of a new BANK area. -It then converts all jumps and calls between banked areas to transfers to code +The linker groups all mapped segments together and starts to assign both +logical and physical addresses to each routine. Whenever a routine will exceed +the size of the BANK area the linker moves it to the start of a new BANK area. +It then converts all jumps and calls between banked areas to transfers to code that manages the MMU in COMMON 0. -When finally linked, the program has three parts - a COMMON 0 non-mapped (i.e., -always in the address space) area which typically contains startup code, -frequently-used routines, and AZ80's banking code. COMMON 1 is usually your -data area. The BANK area contains most of the program code. Calls between -these banked routines will cause remapping as needed to bring in ones that are +When finally linked, the program has three parts - a COMMON 0 non-mapped (i.e., +always in the address space) area which typically contains startup code, +frequently-used routines, and AZ80's banking code. COMMON 1 is usually your +data area. The BANK area contains most of the program code. Calls between +these banked routines will cause remapping as needed to bring in ones that are not currently visible in the address space. For example, suppose the program is as follows: @@ -270,14 +270,14 @@ For example, suppose the program is as follows: sub5 800h banked data 3200h not banked -On a 64180 the reset jump is at 0, so it makes sense to put the unbanked code -(vectors and main) at 0. The data area cannot be banked (especially the -stack!) and is traditionally in high memory. Suppose the code that starts at -physical location 0 is to go into ROM, and the data that starts at physical -40000h is in RAM. The linker will first divide the logical address space based -on the unmapped memory requirements: main and vectors need 3780h bytes starting -at location 0, and data occupies 3200h at the end of the logical space. -Bearing in mind that the mapping resolution of the 64180 is 4k, memory thus +On a 64180 the reset jump is at 0, so it makes sense to put the unbanked code +(vectors and main) at 0. The data area cannot be banked (especially the +stack!) and is traditionally in high memory. Suppose the code that starts at +physical location 0 is to go into ROM, and the data that starts at physical +40000h is in RAM. The linker will first divide the logical address space based +on the unmapped memory requirements: main and vectors need 3780h bytes starting +at location 0, and data occupies 3200h at the end of the logical space. +Bearing in mind that the mapping resolution of the 64180 is 4k, memory thus looks like: Logical Physical Area @@ -285,10 +285,10 @@ looks like: 4000 04000 start of banked routines c000 40000 start of RAM data -All the logical address space from 4000 to bfff is available to routines that -can be banked. If the sum of the banked sizes is less than the BANK logical -area, then no mapping need take place. In our example, however, banked -routines need some 64k, much more than the available logical space. If CBAR is +All the logical address space from 4000 to bfff is available to routines that +can be banked. If the sum of the banked sizes is less than the BANK logical +area, then no mapping need take place. In our example, however, banked +routines need some 64k, much more than the available logical space. If CBAR is C4 (COMMON 1 at c000 and BANK at 4000), AZ80 will assign addresses as follows: Logical Physical Routine length BBR @@ -301,104 +301,104 @@ C4 (COMMON 1 at c000 and BANK at 4000), AZ80 will assign addresses as follows: af00 14f00 sub5 800 0a c000 40000 data 3200 -- -For sub1 AZ80 assigned a logical and physical address of 4000 - reasonable, -since this is the first free spot after COMMON 0. sub1 is in BANK, so a BBR -value is required. BBR=0 will map 4000 to 04000. sub2 follows sub1, again +For sub1 AZ80 assigned a logical and physical address of 4000 - reasonable, +since this is the first free spot after COMMON 0. sub1 is in BANK, so a BBR +value is required. BBR=0 will map 4000 to 04000. sub2 follows sub1, again with BBR=0. So far, no surprises. -sub2 ends at b8f0, practically right before the logical start of data (c000). -There is no way sub3 can fit, since sub3 is 1200 bytes long. AZ80 therefore -put sub3 at logical address 4000 (the same as sub1). sub3 follows in physical -memory at 0c000 (the next physical address rounded up to a 4k boundary). BBR -equals 08. sub1 and sub3 occupy the same place in logical address space -(4000), but different physical addresses. To get to sub3, BBR must be set to +sub2 ends at b8f0, practically right before the logical start of data (c000). +There is no way sub3 can fit, since sub3 is 1200 bytes long. AZ80 therefore +put sub3 at logical address 4000 (the same as sub1). sub3 follows in physical +memory at 0c000 (the next physical address rounded up to a 4k boundary). BBR +equals 08. sub1 and sub3 occupy the same place in logical address space +(4000), but different physical addresses. To get to sub3, BBR must be set to 08 and a logical address of 4000 issued. -While sub3 is very short, leaving plenty of room for code in the same bank map, -sub4 is not. sub3 and sub4 will not both fit into BANK together, so AZ80 once -again reset the logical address to 4000. sub4 comes after sub3, rounded up 4k, -and a BBR of 0a is assigned. (Remember the math - BBR * 4096 + logical = -physical, so 0a * 4096 + 4000 = e000). sub5 fits into the space between the +While sub3 is very short, leaving plenty of room for code in the same bank map, +sub4 is not. sub3 and sub4 will not both fit into BANK together, so AZ80 once +again reset the logical address to 4000. sub4 comes after sub3, rounded up 4k, +and a BBR of 0a is assigned. (Remember the math - BBR * 4096 + logical = +physical, so 0a * 4096 + 4000 = e000). sub5 fits into the space between the end of sub4 and COMMON 1, and is so assigned. -IAR XLINK generates address assignments as we've just seen, but how are calls -and jumps between subroutines handled? Obviously, if sub1, sub3, and sub4 all -reside at logical address 4000, a simple CALL 4000 will not always resolve -properly. As mentioned earlier, XLINK converts all inter-BANK calls and jumps -to a transfer to a jump table which is usually linked into COMMON 0. In -particular, if sub4 were to call sub1, the following will be automatically +IAR XLINK generates address assignments as we've just seen, but how are calls +and jumps between subroutines handled? Obviously, if sub1, sub3, and sub4 all +reside at logical address 4000, a simple CALL 4000 will not always resolve +properly. As mentioned earlier, XLINK converts all inter-BANK calls and jumps +to a transfer to a jump table which is usually linked into COMMON 0. In +particular, if sub4 were to call sub1, the following will be automatically substituted for the call instruction: call bank_table+x ; invoke MMU handler db BBR ; BBR of sub1 DW sub1 ; address of routine to call -The code in bank_table stores the current BBR value and return address on a -local stack, remaps the MMU by outputting the indicated BBR, and then transfers -to the logical address supplied as a parameter. Returns operate in a reverse -procedure, being vectored to another Softools-supplied routine to reverse the +The code in bank_table stores the current BBR value and return address on a +local stack, remaps the MMU by outputting the indicated BBR, and then transfers +to the logical address supplied as a parameter. Returns operate in a reverse +procedure, being vectored to another Softools-supplied routine to reverse the mapping. -What might not be entirely obvious is that AZ80 does it all. Once you tell -XLINK where ROM and RAM are (which has to be done for any linker) it -automatically allocates logical and physical addresses. The linker also -replaces the calls and jumps as shown above. AZ80 does offer options to +What might not be entirely obvious is that AZ80 does it all. Once you tell +XLINK where ROM and RAM are (which has to be done for any linker) it +automatically allocates logical and physical addresses. The linker also +replaces the calls and jumps as shown above. AZ80 does offer options to control memory allocation and the like, but in most cases these are not needed. -This means that you can write large programs without ever considering the MMU. -AZ80 takes care of it all. There's an interesting subtle implication - you can -link a 256k program to take up only 8k or so of logical space! Assign 4k for -COMMON 0 and 56k for data. AZ80 will bravely partition the 256k code into 50 -or more sections, each of which will get remapped through the 4k BANK area. -The mapping overhead might get high, but logical address space will be +This means that you can write large programs without ever considering the MMU. +AZ80 takes care of it all. There's an interesting subtle implication - you can +link a 256k program to take up only 8k or so of logical space! Assign 4k for +COMMON 0 and 56k for data. AZ80 will bravely partition the 256k code into 50 +or more sections, each of which will get remapped through the 4k BANK area. +The mapping overhead might get high, but logical address space will be conserved. -Since AZ80 partitions the program during the link phase, it can save the -addresses of all symbols, line numbers and other parameters in a debug file. -Symbols' physical addresses are stored in the debug file, maintaining true -addresses regardless of the MMU mapping. If the debugger (emulator or monitor) -can handle physical addresses, then you can access any routine, variable, or -source line number at any time, without manually remapping to bring the desired +Since AZ80 partitions the program during the link phase, it can save the +addresses of all symbols, line numbers and other parameters in a debug file. +Symbols' physical addresses are stored in the debug file, maintaining true +addresses regardless of the MMU mapping. If the debugger (emulator or monitor) +can handle physical addresses, then you can access any routine, variable, or +source line number at any time, without manually remapping to bring the desired value into logical address space. C Compilers -As we write this, only three compilers currently support 64180 bank switching. -Archimedes Software's C180, Whitesmiths' C, and Software Development System's C -all automatically generate code for large memory models. Manx (MANX Software -Systems, P.O. Box 55, Shrewsbury, NJ 07701) will soon have a compiler, and no +As we write this, only three compilers currently support 64180 bank switching. +Archimedes Software's C180, Whitesmiths' C, and Software Development System's C +all automatically generate code for large memory models. Manx (MANX Software +Systems, P.O. Box 55, Shrewsbury, NJ 07701) will soon have a compiler, and no doubt others are on the way. -Archimedes (2159 Union Street, San Francisco, CA, 94123 (415) 567-4010) -approach to memory management is much like that used by AZ80. As you write -your C code you do not need to be especially concerned with the MMU. There are +Archimedes (2159 Union Street, San Francisco, CA, 94123 (415) 567-4010) +approach to memory management is much like that used by AZ80. As you write +your C code you do not need to be especially concerned with the MMU. There are no special procedures to use or functions to invoke. -Before linking the compiled object files various parameters must be passed to -the linker in its indirect command file. The first are values for CBAR and -CBR. It is the programmer's responsibility to determine exactly the memory +Before linking the compiled object files various parameters must be passed to +the linker in its indirect command file. The first are values for CBAR and +CBR. It is the programmer's responsibility to determine exactly the memory configuration, and to compute these simple values. -NOTE: THE IAR ICCZ80 WORKS LIKE THIS. FOR THE MOMENT THE VALUES ARE HARD -CODED BUT THE DEFAULT SETUP PROVIDED BY IAR ALLOWS YOU TO PASS THEM IN THE +NOTE: THE IAR ICCZ80 WORKS LIKE THIS. FOR THE MOMENT THE VALUES ARE HARD +CODED BUT THE DEFAULT SETUP PROVIDED BY IAR ALLOWS YOU TO PASS THEM IN THE LINKER CONTROL FILE. OUR CSTARTUP IS HEAVILY CUSTOMISED SO I DIDN'T BOTHER. -In addition to the MMU register settings, the programmer must provide the -linker with a table of modules (i.e., file of source code, each of which may -contain several functions) and names. If the module is not to be banked, that +In addition to the MMU register settings, the programmer must provide the +linker with a table of modules (i.e., file of source code, each of which may +contain several functions) and names. If the module is not to be banked, that must be indicated as well. -NOTE: THE IAR XLINK DETERMINES AUTOMATICALLY WHICH FUNCTIONS ARE BANKED AND -WHICH ARE NON_BANKED USING INFORMATION EMBEDDED IN THE OBJECT FILES. BANKED -AND NON_BANKED CALLING SEQUENCES HAVE BEEN DETERMINED AT COMPILE TIME, SO THE +NOTE: THE IAR XLINK DETERMINES AUTOMATICALLY WHICH FUNCTIONS ARE BANKED AND +WHICH ARE NON_BANKED USING INFORMATION EMBEDDED IN THE OBJECT FILES. BANKED +AND NON_BANKED CALLING SEQUENCES HAVE BEEN DETERMINED AT COMPILE TIME, SO THE LINKER DOESN'T NEED ANY SPECIAL SYMBOL TABLE INFORMATION TO DO ITS WORK. -The memory model supported by the compiler puts all non-banked functions into +The memory model supported by the compiler puts all non-banked functions into COMMON 0, the banked code into BANK, and data areas into COMMON 1. NOTE: THIS IS IDENTICAL TO IAR'S SCHEME WHICH WE ARE USING FOR HYTECH CMX/UZI. -The linker generates a table ("FLIST") of data about every mapped function in -the program. For each function, FLIST gives an encrypted BBR value, logical -start address, and bank number. FLIST is a sort of global cheat sheet, located -in COMMON 0 so it is never mapped out, that describes every function's logical +The linker generates a table ("FLIST") of data about every mapped function in +the program. For each function, FLIST gives an encrypted BBR value, logical +start address, and bank number. FLIST is a sort of global cheat sheet, located +in COMMON 0 so it is never mapped out, that describes every function's logical and physical address. The linker replaces all mapped function calls with: @@ -406,32 +406,32 @@ The linker replaces all mapped function calls with: ld hl,FLIST entry for the function call remap_code -The remap_code extracts pertinent data from the FLIST entry and remaps the MMU +The remap_code extracts pertinent data from the FLIST entry and remaps the MMU as needed before branching to the function's logical address. -The beauty of using an FLIST table is that pointers to functions will work - -the pointer becomes an FLIST pointer. With FLIST always mapped in, indirect +The beauty of using an FLIST table is that pointers to functions will work - +the pointer becomes an FLIST pointer. With FLIST always mapped in, indirect function invocations will work even to mapped functions. -The Archimedes compiler does produce a good debugging file, which contains -useful information about the physical address of every function. The -information is stored in FLIST. A conversion routine easily extracts the real +The Archimedes compiler does produce a good debugging file, which contains +useful information about the physical address of every function. The +information is stored in FLIST. A conversion routine easily extracts the real physical address of each function, line number, and global symbol. -NOTE: IAR DOES NOT USE AN FLIST, BUT NICK IS PLANNING TO ADD AN FLIST OR -SIMILAR STRUCTURE FOR A "SHARED LIBRARY IMPLEMENTATION" - SO THAT UTILITY -ROUTINES SUCH AS LIBC CAN BE COMPILED IN ADVANCE AND MADE AVAILABLE AS A SHARED +NOTE: IAR DOES NOT USE AN FLIST, BUT NICK IS PLANNING TO ADD AN FLIST OR +SIMILAR STRUCTURE FOR A "SHARED LIBRARY IMPLEMENTATION" - SO THAT UTILITY +ROUTINES SUCH AS LIBC CAN BE COMPILED IN ADVANCE AND MADE AVAILABLE AS A SHARED EXECUTABLES, RATHER THAN HAVING TO BE STATICALLY LINKED INTO EVERY PROGRAM. -Whitesmiths (733 Concord Ave., Cambridge, MA 02138, (617) 661-0072) took a -somewhat different approach to using the MMU. When writing C code for this -compiler, all calls to mapped functions must be specified as FAR calls. This -directs the compiler to generate the proper code to bring the function into the +Whitesmiths (733 Concord Ave., Cambridge, MA 02138, (617) 661-0072) took a +somewhat different approach to using the MMU. When writing C code for this +compiler, all calls to mapped functions must be specified as FAR calls. This +directs the compiler to generate the proper code to bring the function into the map and execute it. -The called function needs no special handling, since it can be called as either -a FAR or as a near. For example, if a function in one module invokes another -in the same module, it can use a conventional call structure. Only if a -different function, possibly located outside of this bank, calls the same +The called function needs no special handling, since it can be called as either +a FAR or as a near. For example, if a function in one module invokes another +in the same module, it can use a conventional call structure. Only if a +different function, possibly located outside of this bank, calls the same function, does the extra call overhead have to be inserted. A typical call sequence looks like: @@ -443,144 +443,144 @@ A typical call sequence looks like: sub1(); } -The function is FAR in the definitions, and then all references to it within +The function is FAR in the definitions, and then all references to it within that module generate banked calls. -NOTE: THIS IS SIMILAR TO THE OLD 'WINVEC' SYSTEM USED BY THE HYTECH OPERATING -SYSTEM PRIOR TO CMX/UZI. IT WAS QUITE NICE BEING ABLE TO CALL EACH SUBROUTINE -AS EITHER NEAR OR FAR DEPENDING ON WHERE YOU WERE CALLING FROM. BUT THERE'S A +NOTE: THIS IS SIMILAR TO THE OLD 'WINVEC' SYSTEM USED BY THE HYTECH OPERATING +SYSTEM PRIOR TO CMX/UZI. IT WAS QUITE NICE BEING ABLE TO CALL EACH SUBROUTINE +AS EITHER NEAR OR FAR DEPENDING ON WHERE YOU WERE CALLING FROM. BUT THERE'S A PENALTY IN TERMS OF STACK SPACE AND IT DOESN'T LEND ITSELF TO STACK PARAMETERS. -All banked calls do produce overhead, both in code size and speed. The -Whitesmiths approach eliminates the overhead in cases where it is not needed. -Archimedes, on the other hand, vectors all banked function calls through FLIST, +All banked calls do produce overhead, both in code size and speed. The +Whitesmiths approach eliminates the overhead in cases where it is not needed. +Archimedes, on the other hand, vectors all banked function calls through FLIST, even if both the caller and callee are co-resident in BANK. -NOTE: THE IAR ICCZ80 ALSO DOES THIS: FUNCTIONS ARE SPECIFIED AS 'BANKED' -CALLING CONVENTION OR 'NON_BANKED' AND SO THE CORRECT CALLING CONVENTION HAS TO +NOTE: THE IAR ICCZ80 ALSO DOES THIS: FUNCTIONS ARE SPECIFIED AS 'BANKED' +CALLING CONVENTION OR 'NON_BANKED' AND SO THE CORRECT CALLING CONVENTION HAS TO BE USED REGARDLESS OF WHETHER THE FUNCTIONS HAPPEN TO BE IN THE SAME BANK. -Whitesmiths uses the indirect linker command file to indicate the location of -every banked function. The programmer provides both the logical and physical -addresses of each of these functions. Again, the peril here is having to go +Whitesmiths uses the indirect linker command file to indicate the location of +every banked function. The programmer provides both the logical and physical +addresses of each of these functions. Again, the peril here is having to go through iterative modifications of these parameters during development. -To date, no compiler is smart enough to automatically set banked addresses. +To date, no compiler is smart enough to automatically set banked addresses. Perhaps soon this will change. -The compiler generates a call to library routine c.libc to do the bank -switching. Space is allocated on the stack for the return address and return -BBR. c.libc gets a "far pointer" to the function so it can reset BBR and the +The compiler generates a call to library routine c.libc to do the bank +switching. Space is allocated on the stack for the return address and return +BBR. c.libc gets a "far pointer" to the function so it can reset BBR and the logical address. -Uniware, from Software Development Systems (4248 Belle Aire Lane, Downers -Grove, IL 60515 (800) 448-7733) implements bank switching by simulating linker -overlays. In other words, the compiler and linker are not even aware that the +Uniware, from Software Development Systems (4248 Belle Aire Lane, Downers +Grove, IL 60515 (800) 448-7733) implements bank switching by simulating linker +overlays. In other words, the compiler and linker are not even aware that the 64180 processor has an MMU; each mapped function appears to be an overlay. -NOTE: THIS IS SIMILAR TO THE SCHEME USED BY IAR, EXCEPT THAT IAR SIMULATES A -LARGE LINEAR ADDRESS SPACE IN WHICH ALL BANKED MODULES CAN BE LINKED TOGETHER. -A SPECIAL "BANKED SEGMENT" COMMAND TO THE LINKER INSTRUCTS IT TO PUT GAPS IN +NOTE: THIS IS SIMILAR TO THE SCHEME USED BY IAR, EXCEPT THAT IAR SIMULATES A +LARGE LINEAR ADDRESS SPACE IN WHICH ALL BANKED MODULES CAN BE LINKED TOGETHER. +A SPECIAL "BANKED SEGMENT" COMMAND TO THE LINKER INSTRUCTS IT TO PUT GAPS IN THIS LARGE LINEAR ADDRESS SPACE SO LOGICAL AND PHYSICAL ADDRESSES ARE EQUAL. -Like the other compilers, the IAR ICCZ80 compiler breaks memory into three -sections. Only the middle area is mapped dynamically. Your initialization +Like the other compilers, the IAR ICCZ80 compiler breaks memory into three +sections. Only the middle area is mapped dynamically. Your initialization code must preset CBAR and CBR to their static values. -The special pragma "#pragma function = {banked|non_banked}" specifies which -functions are to be mapped, and each function's logical address and BBR value +The special pragma "#pragma function = {banked|non_banked}" specifies which +functions are to be mapped, and each function's logical address and BBR value is determined by at link time. The compiler uses the following call sequence: ld hl, ld a, call ?BANKED_CALL_DIRECT_L08 -_call is a low level routine in COMMON 0 that remaps the MMU and vectors off to +_call is a low level routine in COMMON 0 that remaps the MMU and vectors off to the function. -You must give the linker much more information than for the Archimedes product, -so ICCZ80 is a bit harder to use. One of the nice side benefits of this -approach, though, is that it is directly applicable to Z80 bank switched -applications. You just have to modify the _call code to handle your +You must give the linker much more information than for the Archimedes product, +so ICCZ80 is a bit harder to use. One of the nice side benefits of this +approach, though, is that it is directly applicable to Z80 bank switched +applications. You just have to modify the _call code to handle your proprietary hardware. The Emulator -In the embedded world generating code is only a small part of the development -battle. Somehow it must be tested and debugged. The only suitable tool for -embedded debugging code is an In Circuit Emulator, since only the emulator lets +In the embedded world generating code is only a small part of the development +battle. Somehow it must be tested and debugged. The only suitable tool for +embedded debugging code is an In Circuit Emulator, since only the emulator lets you interactively isolate bugs in a ROMed environment. -Like compilers, 64180 emulators are all basically extensions of technology -developed for the Z80. After all, the timing is similar and the software is -practically the same. Unfortunately, the extra four address bits found on the +Like compilers, 64180 emulators are all basically extensions of technology +developed for the Z80. After all, the timing is similar and the software is +practically the same. Unfortunately, the extra four address bits found on the 64180 can cause lots of emulation problems. -On a Z80 the logical and physical address space is the same. Not so for the -64180 - only by knowing the MMU values can the translation take place. It's -therefore crucial that the emulator can handle physical addresses, since only +On a Z80 the logical and physical address space is the same. Not so for the +64180 - only by knowing the MMU values can the translation take place. It's +therefore crucial that the emulator can handle physical addresses, since only physical ones never change. -While this seems fairly obvious it can be difficult to implement. Emulators -use the 64180 for all target memory accesses, so the machine cycles are -identical to those expected with a processor in the socket. A translation from -desired physical address back to logical, CBAR, CBR, and BBR must take place, +While this seems fairly obvious it can be difficult to implement. Emulators +use the 64180 for all target memory accesses, so the machine cycles are +identical to those expected with a processor in the socket. A translation from +desired physical address back to logical, CBAR, CBR, and BBR must take place, since the 64180's code can only issue logical addresses. -In other words, if memory at physical address 20000 is to be displayed, then -some routine has to figure out settings for all three MMU registers, plus a -logical address, that the 64180 can use to access the memory. Not a trivial +In other words, if memory at physical address 20000 is to be displayed, then +some routine has to figure out settings for all three MMU registers, plus a +logical address, that the 64180 can use to access the memory. Not a trivial task. -As users we don't care what the emulator does or how it works. All we're -concerned with is the debugging interface - the source level debugger (SLD) -that runs on a PC and communicates with the emulator over RS-232. If we type -DISPLAY SYMBOL FOO, then we want to see the value of FOO, no matter where it is -or how the MMU is setup. The SLD must therefore know about FOO's physical +As users we don't care what the emulator does or how it works. All we're +concerned with is the debugging interface - the source level debugger (SLD) +that runs on a PC and communicates with the emulator over RS-232. If we type +DISPLAY SYMBOL FOO, then we want to see the value of FOO, no matter where it is +or how the MMU is setup. The SLD must therefore know about FOO's physical address. -Fortunately, all the products mentioned generate physical symbol addresses in -the debugging files. The SLD can send these values down to the emulator and +Fortunately, all the products mentioned generate physical symbol addresses in +the debugging files. The SLD can send these values down to the emulator and let it deal with coming up with the proper address. -This does mean that the SLD/emulator interface is completely linear, like the -68000's. You can randomly access any location in the target's memory just by +This does mean that the SLD/emulator interface is completely linear, like the +68000's. You can randomly access any location in the target's memory just by typing in the right address. -What if you wish to see a logical address? Is this important? Herein lies a -source of confusion. Only physical addresses unambiguously identify each -public symbol and line number. Your program works through logical addresses - -the two are not the same or even similar. Looking at disassembled code, you -might see a LD A,(1000). The 1000 is logical - its physical equivalent depends +What if you wish to see a logical address? Is this important? Herein lies a +source of confusion. Only physical addresses unambiguously identify each +public symbol and line number. Your program works through logical addresses - +the two are not the same or even similar. Looking at disassembled code, you +might see a LD A,(1000). The 1000 is logical - its physical equivalent depends on the current MMU mapping. -Softaid's emulators get around this problem by letting you suffix any address -with a tilde to indicate that the logical address is needed, rather than the -default physical. Of course, the emulator will use the current MMU setting to -access the memory, so if the MMU is not set up as it would be when executing -that instruction, the data may not be correct. Normally this is not a problem -- you debug in your execution context, rather than randomly hunting through +Softaid's emulators get around this problem by letting you suffix any address +with a tilde to indicate that the logical address is needed, rather than the +default physical. Of course, the emulator will use the current MMU setting to +access the memory, so if the MMU is not set up as it would be when executing +that instruction, the data may not be correct. Normally this is not a problem +- you debug in your execution context, rather than randomly hunting through code. -64180 registers are 16 bits long. When used as pointers, they form logical -addresses, creating the same sort of problem just mentioned. Again, when -displaying the contents of a register pointer, that will be logical. If you -ask for a dump of memory at the address in HL, what will result? The correct -solution is to use indirect register references as logical (saving the bother -of suffixing a tilde all the time), since this is what the programmer really +64180 registers are 16 bits long. When used as pointers, they form logical +addresses, creating the same sort of problem just mentioned. Again, when +displaying the contents of a register pointer, that will be logical. If you +ask for a dump of memory at the address in HL, what will result? The correct +solution is to use indirect register references as logical (saving the bother +of suffixing a tilde all the time), since this is what the programmer really wants. -In C, an automatic pointer will be stored as a 16 bit value on the stack. -Suppose, while debugging, you wish to dump *ptr? In other words, display the -data pointed to by ptr, which is presumably on the stack. Again, only one -correct solution exists: get the stack pointer, convert it to physical using -the current MMU, extract the 16 bit value of ptr from the stack, make that +In C, an automatic pointer will be stored as a 16 bit value on the stack. +Suppose, while debugging, you wish to dump *ptr? In other words, display the +data pointed to by ptr, which is presumably on the stack. Again, only one +correct solution exists: get the stack pointer, convert it to physical using +the current MMU, extract the 16 bit value of ptr from the stack, make that physical, and then access the destination address. Conclusion -The 64180 family solves a long standing Z80 problem - that of handling more -memory. Lots of current Z80 applications can be easily ported to the 64180 to -take advantage of the larger memory model and high integration peripherals. -Don't try to get away with Z80-style development tools - select assemblers, -compilers, and debuggers that exploit the 64180's resources to ease your +The 64180 family solves a long standing Z80 problem - that of handling more +memory. Lots of current Z80 applications can be easily ported to the 64180 to +take advantage of the larger memory model and high integration peripherals. +Don't try to get away with Z80-style development tools - select assemblers, +compilers, and debuggers that exploit the 64180's resources to ease your development efforts. The Ganssle Group PO Box 38346, Baltimore, MD 21231 Email info@ganssle.com diff --git a/include/CVS/Entries b/include/CVS/Entries new file mode 100644 index 00000000..83694447 --- /dev/null +++ b/include/CVS/Entries @@ -0,0 +1,51 @@ +/!readme!/1.1.1.1/Mon Nov 17 19:05:44 2003// +/alloc.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/ar.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/assert.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/ctype.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/curses.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/dirent.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/errno.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/fcntl.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/features.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/float.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/getopt.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/grp.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/include.zip/1.1.1.1/Mon Nov 17 19:05:44 2003/-kb/ +/limits.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/malloc.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/math.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/mem.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/memory.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/ncurses.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/paths.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/pwd.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/regexp.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/regmagic.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/search.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/setjmp.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/setjmp.h$/1.1.1.1/Mon Nov 17 19:05:44 2003// +/sgtty.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/signal.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/stdarg.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/stddef.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/stdio.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/stdlib.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/string.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/strings.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/syscalls.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/tcpip.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/termcap.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/termio.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/termios.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/time.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/types.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/unistd.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/utime.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/utmp.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/utsname.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/varargs.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/vendor.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/z8.pmm/1.1.1.1/Mon Nov 17 19:05:44 2003// +/z9.pmm/1.1.1.1/Mon Nov 17 19:05:44 2003// +D/sys//// diff --git a/include/CVS/Repository b/include/CVS/Repository new file mode 100644 index 00000000..c3a6e28f --- /dev/null +++ b/include/CVS/Repository @@ -0,0 +1 @@ +uzi/include diff --git a/include/CVS/Root b/include/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/include/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/include/setjmp.h b/include/setjmp.h index 7a606308..1972d027 100644 --- a/include/setjmp.h +++ b/include/setjmp.h @@ -2,7 +2,7 @@ The ANSI "setjmp" and "longjmp" function declarations. - $Name: V3_34K V3_34J $ + $Name: $ Copyright 1986 - 1999 IAR Systems. All rights reserved. */ @@ -16,7 +16,7 @@ Defines system macros to maintain source compatibility with different IAR compilers. - $Name: V3_34K V3_34J V3_34I V3_34H $ + $Name: $ Copyright 1986 - 1999 IAR Systems. All rights reserved. */ diff --git a/include/sys/CVS/Entries b/include/sys/CVS/Entries new file mode 100644 index 00000000..0e4969ec --- /dev/null +++ b/include/sys/CVS/Entries @@ -0,0 +1,11 @@ +/cdefs.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/exec.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/ioctl.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/seek.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/stat.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/types.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/utsname.h/1.1.1.1/Mon Nov 17 19:05:44 2003// +/wait.h/1.1.1.1/Mon Nov 17 19:05:48 2003// +/z8.pmm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/z9.pmm/1.1.1.1/Mon Nov 17 19:05:48 2003// +D diff --git a/include/sys/CVS/Repository b/include/sys/CVS/Repository new file mode 100644 index 00000000..0cb38719 --- /dev/null +++ b/include/sys/CVS/Repository @@ -0,0 +1 @@ +uzi/include/sys diff --git a/include/sys/CVS/Root b/include/sys/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/include/sys/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/lib/c0b.lst b/lib/c0b.lst deleted file mode 100644 index 7d5581d4..00000000 --- a/lib/c0b.lst +++ /dev/null @@ -1,335 +0,0 @@ - 1 ; c0b.asm by Nick for UZI180 banked memory model - 2 - 3 ; ----------------------------------------------------------------------------- - 4 - 00000000 5 .if 0 - 6 $ io64180.s01 - 7 .endif - 8 - 9 module _c0b - 10 - 11 public __init ; vendor _init - 00000000 12 .if 0 - 13 extern brk ; vendor _brk - 14 .endif - 15 extern main ; vendor _main - 16 extern exit ; vendor _exit - 17 - 18 ; extern l__DEFAULT ; e_hsize - 19 extern s_RCODE ; e_idata - 20 extern s_UDATA0 ; e_udata - 21 extern s_CSTACK ; e_stack - 22 extern e_CSTACK ; e_break - 23 - 00000001 24 .if 1 - 25 extern ?BANK_CALL_DIRECT_L08 - 26 .endif - 27 - 0000A6C9 28 E_MAGIC equ 0a6c9h - 00000002 29 E_FORMAT_BANKED equ 2 - 00001000 30 E_STACK_SIZE equ 1000h - 31 - 32 ; ----------------------------------------------------------------------------- - 33 ; forward definitions of segments, to set the linkage order (c0l must be first) - 34 - 35 rseg RCODE - 36 ; rseg TEMP - 37 ; rseg DATA0 - 38 ; rseg WCSTR - 39 rseg CONST - 40 rseg CSTR - 41 rseg IDATA0(NUL) - 42 rseg CDATA0 - 43 rseg ECSTR(NUL) - 44 rseg CCSTR - 45 rseg CODE(NUL) ; needs to be at end for banked model - 46 rseg UDATA0 - 47 rseg CSTACK - 48 - 49 ; ----------------------------------------------------------------------------- - 50 - 00000001 51 .if 1 - 52 rseg _DEFAULT ; means header is discarded at loading - 53 .else - 54 rseg RCODE ; means header is visible to loaded pgm - 55 .endif - 56 - 00000001 57 .if 1 - 00000000 C9 A6 58 defw E_MAGIC ; e_magic - 00000002 02 00 59 defw E_FORMAT_BANKED ; e_format - 00000004 78 56 34 12 60 defd 12345678h ; e_size - 00000008 14 00 61 defw 14h ;l__DEFAULT ; e_hsize - 0000000A 00 00 62 defw s_RCODE ; e_idata - 0000000C 00 00 63 defw __init ; e_entry - 0000000E 00 00 64 defw s_UDATA0 ; e_udata - 00000010 00 00 65 defw s_CSTACK ; e_stack - 00000012 00 00 66 defw e_CSTACK ; e_break - 67 .else - 68 jp __init - 69 .endif - 70 - 71 ; ----------------------------------------------------------------------------- - 72 - 73 rseg RCODE - 74 - 00000000 75 __init:: - 00000000 76 .if 0 - 77 ld a,'A' - 78 call abyte - 79 .endif - 80 - 00000000 81 .if 0 - 82 ld de,.sfb.CSTACK ; 1st argument to brk() - 83 - 00000000 84 .if 0 - 85 ld hl,LWRD brk - 86 ld a,BYTE3 brk - 87 call ?BANK_CALL_DIRECT_L08 - 88 .else - 89 call brk - 90 .endif - 91 - 92 call seg_init - 93 .endif - 94 - 95 ; now there are the next stack structure: - 96 ; +4 envp - 97 ; +2 argv - 98 ; sp-> +0 argc - 00000001 99 .if 1 - 00000000 D1 100 pop de - 00000001 ED 53 00 00 101 ld (_argc),de ; vendor __argc (2nd argument to main) - 00000005 C1 102 pop bc - 00000006 ED 43 02 00 103 ld (_argv),bc ; vendor __argv (1st argument to main) - 0000000A E1 104 pop hl - 0000000B 22 04 00 105 ld (environ),hl ; vendor _environ - 106 .else - 107 ld ix,0 - 108 add ix,sp - 109 ld l,(ix+4) - 110 ld h,(ix+5) - 111 ld (environ),hl ; vendor _environ - 112 ld c,(ix+2) - 113 ld b,(ix+3) - 114 ld (_argv),bc ; vendor __argv (1st argument to main) - 115 ld e,(ix+0) - 116 ld d,(ix+1) - 117 ld (_argc),de ; vendor __argc (2nd argument to main) - 118 .endif - 119 - 00000001 120 .if 1 - 0000000E 21 00 00 121 ld HL,LWRD main ; banked call to _main() - 00000011 3E 00 122 ld A,BYTE3 main - 00000013 CD 00 00 123 call ?BANK_CALL_DIRECT_L08 - 124 .else - 125 call main ; vendor _main ; non-banked call to _main() - 126 .endif - 127 - 00000016 EB 128 ex de,hl ; de = exitcode (1st argument to exit) - 129 - 00000001 130 .if 1 - 00000017 21 00 00 131 ld HL,LWRD exit ; banked call to _exit() - 0000001A 3E 00 132 ld A,BYTE3 exit - 0000001C C3 00 00 133 jp ?BANK_CALL_DIRECT_L08 - 134 .else - 135 jp exit ; vendor _exit ; non-banked call to _exit() - 136 .endif - 137 - 138 ; ----------------------------------------------------------------------------- - 139 - 00000000 140 .if 0 - 141 seg_init: - 142 ld HL,.sfe.UDATA0 - 143 ld DE,.sfb.UDATA0 - 144 call zero_mem - 145 - 146 ld DE,.sfb.IDATA0 ; destination address - 147 ld HL,.sfe.CDATA0 ;+4000h ; really 8:0000 + .sfe.CDATA0 - 148 ld BC,.sfb.CDATA0 ;+4000h ; really 8:0000 + .sfb.CDATA0 - 149 call copy_mem - 150 - 151 ld DE,.sfb.ECSTR ; destination address - 152 ld HL,.sfe.CCSTR ;+4000h ; really 8:0000 + .sfe.CCSTR - 153 ld BC,.sfb.CCSTR ;+4000h ; really 8:0000 + .sfb.CCSTR - 154 - 155 ; Just fall in to the copy_mem function - 156 - 157 copy_mem: - 158 XOR A - 159 SBC HL,BC - 160 PUSH BC - 161 LD C,L - 162 LD B,H ; BC - that many bytes - 163 POP HL ; source address - 164 RET Z ; If block size = 0 return now - 165 LDIR - 166 RET - 167 - 168 zero_mem: - 169 XOR A - 170 again: PUSH HL - 171 SBC HL,DE - 172 POP HL - 173 RET Z - 174 LD (DE),A - 175 INC DE - 176 JR again - 177 .endif - 178 - 179 ; ----------------------------------------------------------------------------- - 180 - 00000000 181 .if 0 - 182 public _abyte - 183 - 184 _abyte:: - 00000000 185 .if 0 ; SDCC - 186 ld hl,2 - 187 add hl,sp - 188 ld a,(hl) - 189 .else ; IAR - 190 ld a,e - 191 .endif - 192 - 193 public abyte - 194 - 195 abyte:: - 00000000 196 .if 0 - 197 ret - 198 .else - 199 push af - 200 .endif - 201 - 202 L1$: in0 a,(STAT1) - 203 and 10b - 204 jr z,L1$ - 205 - 206 pop af - 207 out0 (TDR1),a - 208 - 00000000 209 .if 0 - 210 di - 211 .endif - 00000000 212 .if 0 - 213 ei - 214 .endif - 215 ret - 216 - 217 public _acrlf - 218 - 219 _acrlf:: - 220 - 221 public acrlf - 222 - 223 acrlf:: - 224 ld a,0dh - 225 call abyte - 226 ld a,0ah - 227 jr abyte - 228 - 229 public _ahexw - 230 - 231 _ahexw:: - 00000000 232 .if 0 ; SDCC - 233 ld hl,2 - 234 add hl,sp - 235 ld e,(hl) - 236 inc hl - 237 ld d,(hl) - 238 .endif - 239 ex de,hl - 240 - 241 public ahexw - 242 - 243 ahexw:: - 244 ld a,h - 245 call ahexb - 246 ld a,l - 247 - 248 public ahexb - 249 - 250 ahexb:: - 251 push af - 252 rrca - 253 rrca - 254 rrca - 255 rrca - 256 call ahexn - 257 pop af - 258 - 259 public ahexn - 260 - 261 ahexn:: - 262 and 0fh - 263 add a,90h - 264 daa - 265 adc a,40h - 266 daa - 267 jr abyte - 268 - 269 public amess - 270 - 271 amess:: - 272 ex (sp),hl - 273 push af - 274 - 275 L01$: ld a,(hl) - 276 inc hl - 277 or a - 278 jr z,L02$ - 279 - 280 call abyte - 281 jr L01$ - 282 - 283 L02$: pop af - 284 ex (sp),hl - 285 ret - 286 .endif - 287 - 288 ; ----------------------------------------------------------------------------- - 289 - 290 public _argc, _argv, environ, errno, __cleanup - 291 ;public __argc, __argv, _environ, _errno, ___cleanup - 292 - 293 rseg UDATA0 - 00000000 294 _argc: defs 2 ; vendor __argc - 00000002 295 _argv: defs 2 ; vendor __argv - 00000004 296 environ: defs 2 ; vendor _environ - 00000006 297 errno: defs 2 ; vendor _errno - 00000008 298 __cleanup: defs 3 ; oopsy 2 ; vendor ___cleanup - 299 - 300 rseg CSTACK - 00000000 301 defs E_STACK_SIZE - 302 - 303 ; ----------------------------------------------------------------------------- - 304 - 00001000 305 END - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. -Hexadecimal [32-Bits] - -Symbol Table - - .__.ABS. = 00000000 G | ?BANK_CALL_DIR ******** GX - E_FORMAT_BANKE = 00000002 | E_MAGIC = 0000A6C9 - E_STACK_SIZE = 00001000 | 9 __cleanup 00000008 GR - 1 __init 00000000 GR | 9 _argc 00000000 GR - 9 _argv 00000002 GR | e_CSTACK ******** GX - 9 environ 00000004 GR | 9 errno 00000006 GR - exit ******** GX | main ******** GX - s_CSTACK ******** GX | s_RCODE ******** GX - s_UDATA0 ******** GX - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. -Hexadecimal [32-Bits] - -Area Table - - 0 _DEFAULT size 14 flags 0 - 1 RCODE size 1F flags 0 - 2 CONST size 0 flags 0 - 3 CSTR size 0 flags 0 - 4 IDATA0 size 0 flags 1 - 5 CDATA0 size 0 flags 0 - 6 ECSTR size 0 flags 1 - 7 CCSTR size 0 flags 0 - 8 CODE size 0 flags 1 - 9 UDATA0 size B flags 0 - A CSTACK size 1000 flags 0 diff --git a/lib/c0b.rel b/lib/c0b.rel deleted file mode 100644 index a9f5ccc3..00000000 --- a/lib/c0b.rel +++ /dev/null @@ -1,60 +0,0 @@ -XL4 -H B areas E global symbols -M _c0b -S s_CSTACK Ref00000000 -S s_UDATA0 Ref00000000 -S s_RCODE Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S main Ref00000000 -S exit Ref00000000 -S e_CSTACK Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 14 flags 0 -A RCODE size 1F flags 0 -S __init Def00000000 -A CONST size 0 flags 0 -A CSTR size 0 flags 0 -A IDATA0 size 0 flags 1 -A CDATA0 size 0 flags 0 -A ECSTR size 0 flags 1 -A CCSTR size 0 flags 0 -A CODE size 0 flags 1 -A UDATA0 size B flags 0 -S environ Def00000004 -S _argv Def00000002 -S __cleanup Def00000008 -S errno Def00000006 -S _argc Def00000000 -A CSTACK size 1000 flags 0 -T 00 00 00 00 C9 A6 02 00 78 56 34 12 14 00 -R 00 00 00 00 -T 0A 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 00 00 02 04 02 00 00 08 01 00 -T 0E 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 00 00 02 04 01 00 02 08 00 00 -T 12 00 00 00 00 00 00 00 -R 00 00 00 00 02 04 06 00 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D1 ED 53 00 00 00 00 C1 ED 43 -R 00 00 01 00 00 07 09 00 -T 08 00 00 00 02 00 00 00 E1 22 04 00 00 00 21 -R 00 00 01 00 00 04 09 00 00 0A 09 00 -T 0F 00 00 00 00 00 00 00 3E 00 00 00 00 CD -R 00 00 01 00 02 04 04 00 2B 09 04 00 -T 14 00 00 00 00 00 00 00 EB 21 00 00 00 00 3E -R 00 00 01 00 02 04 03 00 02 0A 05 00 -T 1B 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 2B 04 05 00 02 09 03 00 -T 00 00 00 00 -R 00 00 09 00 -T 02 00 00 00 -R 00 00 09 00 -T 04 00 00 00 -R 00 00 09 00 -T 06 00 00 00 -R 00 00 09 00 -T 08 00 00 00 -R 00 00 09 00 -T 00 00 00 00 -R 00 00 0A 00 diff --git a/lib/c0b.rst b/lib/c0b.rst deleted file mode 100644 index 90e554f4..00000000 --- a/lib/c0b.rst +++ /dev/null @@ -1,335 +0,0 @@ - 1 ; c0b.asm by Nick for UZI180 banked memory model - 2 - 3 ; ----------------------------------------------------------------------------- - 4 - 00000000 5 .if 0 - 6 $ io64180.s01 - 7 .endif - 8 - 9 module _c0b - 10 - 11 public __init ; vendor _init - 00000000 12 .if 0 - 13 extern brk ; vendor _brk - 14 .endif - 15 extern main ; vendor _main - 16 extern exit ; vendor _exit - 17 - 18 ; extern l__DEFAULT ; e_hsize - 19 extern s_RCODE ; e_idata - 20 extern s_UDATA0 ; e_udata - 21 extern s_CSTACK ; e_stack - 22 extern e_CSTACK ; e_break - 23 - 00000001 24 .if 1 - 25 extern ?BANK_CALL_DIRECT_L08 - 26 .endif - 27 - 0000A6C9 28 E_MAGIC equ 0a6c9h - 00000002 29 E_FORMAT_BANKED equ 2 - 00001000 30 E_STACK_SIZE equ 1000h - 31 - 32 ; ----------------------------------------------------------------------------- - 33 ; forward definitions of segments, to set the linkage order (c0l must be first) - 34 - 35 rseg RCODE - 36 ; rseg TEMP - 37 ; rseg DATA0 - 38 ; rseg WCSTR - 39 rseg CONST - 40 rseg CSTR - 41 rseg IDATA0(NUL) - 42 rseg CDATA0 - 43 rseg ECSTR(NUL) - 44 rseg CCSTR - 45 rseg CODE(NUL) ; needs to be at end for banked model - 46 rseg UDATA0 - 47 rseg CSTACK - 48 - 49 ; ----------------------------------------------------------------------------- - 50 - 00000001 51 .if 1 - 52 rseg _DEFAULT ; means header is discarded at loading - 53 .else - 54 rseg RCODE ; means header is visible to loaded pgm - 55 .endif - 56 - 00000001 57 .if 1 - 00000000 C9 A6 58 defw E_MAGIC ; e_magic - 00000002 02 00 59 defw E_FORMAT_BANKED ; e_format - 00000004 78 56 34 12 60 defd 12345678h ; e_size - 00000008 14 00 61 defw 14h ;l__DEFAULT ; e_hsize - 0000000A 00 81 62 defw s_RCODE ; e_idata - 0000000C 00 81 63 defw __init ; e_entry - 0000000E 8C 8D 64 defw s_UDATA0 ; e_udata - 00000010 59 96 65 defw s_CSTACK ; e_stack - 00000012 59 A6 66 defw e_CSTACK ; e_break - 67 .else - 68 jp __init - 69 .endif - 70 - 71 ; ----------------------------------------------------------------------------- - 72 - 73 rseg RCODE - 74 - 00008100 75 __init:: - 00000000 76 .if 0 - 77 ld a,'A' - 78 call abyte - 79 .endif - 80 - 00000000 81 .if 0 - 82 ld de,.sfb.CSTACK ; 1st argument to brk() - 83 - 00000000 84 .if 0 - 85 ld hl,LWRD brk - 86 ld a,BYTE3 brk - 87 call ?BANK_CALL_DIRECT_L08 - 88 .else - 89 call brk - 90 .endif - 91 - 92 call seg_init - 93 .endif - 94 - 95 ; now there are the next stack structure: - 96 ; +4 envp - 97 ; +2 argv - 98 ; sp-> +0 argc - 00000001 99 .if 1 - 00008100 D1 100 pop de - 00008101 ED 53 8C 8D 101 ld (_argc),de ; vendor __argc (2nd argument to main) - 00008105 C1 102 pop bc - 00008106 ED 43 8E 8D 103 ld (_argv),bc ; vendor __argv (1st argument to main) - 0000810A E1 104 pop hl - 0000810B 22 90 8D 105 ld (environ),hl ; vendor _environ - 106 .else - 107 ld ix,0 - 108 add ix,sp - 109 ld l,(ix+4) - 110 ld h,(ix+5) - 111 ld (environ),hl ; vendor _environ - 112 ld c,(ix+2) - 113 ld b,(ix+3) - 114 ld (_argv),bc ; vendor __argv (1st argument to main) - 115 ld e,(ix+0) - 116 ld d,(ix+1) - 117 ld (_argc),de ; vendor __argc (2nd argument to main) - 118 .endif - 119 - 00000001 120 .if 1 - 0000810E 21 53 66 121 ld HL,LWRD main ; banked call to _main() - 00008111 3E 00 122 ld A,BYTE3 main - 00008113 CD 49 81 123 call ?BANK_CALL_DIRECT_L08 - 124 .else - 125 call main ; vendor _main ; non-banked call to _main() - 126 .endif - 127 - 00008116 EB 128 ex de,hl ; de = exitcode (1st argument to exit) - 129 - 00000001 130 .if 1 - 00008117 21 78 7F 131 ld HL,LWRD exit ; banked call to _exit() - 0000811A 3E 00 132 ld A,BYTE3 exit - 0000811C C3 49 81 133 jp ?BANK_CALL_DIRECT_L08 - 134 .else - 135 jp exit ; vendor _exit ; non-banked call to _exit() - 136 .endif - 137 - 138 ; ----------------------------------------------------------------------------- - 139 - 00000000 140 .if 0 - 141 seg_init: - 142 ld HL,.sfe.UDATA0 - 143 ld DE,.sfb.UDATA0 - 144 call zero_mem - 145 - 146 ld DE,.sfb.IDATA0 ; destination address - 147 ld HL,.sfe.CDATA0 ;+4000h ; really 8:0000 + .sfe.CDATA0 - 148 ld BC,.sfb.CDATA0 ;+4000h ; really 8:0000 + .sfb.CDATA0 - 149 call copy_mem - 150 - 151 ld DE,.sfb.ECSTR ; destination address - 152 ld HL,.sfe.CCSTR ;+4000h ; really 8:0000 + .sfe.CCSTR - 153 ld BC,.sfb.CCSTR ;+4000h ; really 8:0000 + .sfb.CCSTR - 154 - 155 ; Just fall in to the copy_mem function - 156 - 157 copy_mem: - 158 XOR A - 159 SBC HL,BC - 160 PUSH BC - 161 LD C,L - 162 LD B,H ; BC - that many bytes - 163 POP HL ; source address - 164 RET Z ; If block size = 0 return now - 165 LDIR - 166 RET - 167 - 168 zero_mem: - 169 XOR A - 170 again: PUSH HL - 171 SBC HL,DE - 172 POP HL - 173 RET Z - 174 LD (DE),A - 175 INC DE - 176 JR again - 177 .endif - 178 - 179 ; ----------------------------------------------------------------------------- - 180 - 00000000 181 .if 0 - 182 public _abyte - 183 - 184 _abyte:: - 00000000 185 .if 0 ; SDCC - 186 ld hl,2 - 187 add hl,sp - 188 ld a,(hl) - 189 .else ; IAR - 190 ld a,e - 191 .endif - 192 - 193 public abyte - 194 - 195 abyte:: - 00000000 196 .if 0 - 197 ret - 198 .else - 199 push af - 200 .endif - 201 - 202 L1$: in0 a,(STAT1) - 203 and 10b - 204 jr z,L1$ - 205 - 206 pop af - 207 out0 (TDR1),a - 208 - 00000000 209 .if 0 - 210 di - 211 .endif - 00000000 212 .if 0 - 213 ei - 214 .endif - 215 ret - 216 - 217 public _acrlf - 218 - 219 _acrlf:: - 220 - 221 public acrlf - 222 - 223 acrlf:: - 224 ld a,0dh - 225 call abyte - 226 ld a,0ah - 227 jr abyte - 228 - 229 public _ahexw - 230 - 231 _ahexw:: - 00000000 232 .if 0 ; SDCC - 233 ld hl,2 - 234 add hl,sp - 235 ld e,(hl) - 236 inc hl - 237 ld d,(hl) - 238 .endif - 239 ex de,hl - 240 - 241 public ahexw - 242 - 243 ahexw:: - 244 ld a,h - 245 call ahexb - 246 ld a,l - 247 - 248 public ahexb - 249 - 250 ahexb:: - 251 push af - 252 rrca - 253 rrca - 254 rrca - 255 rrca - 256 call ahexn - 257 pop af - 258 - 259 public ahexn - 260 - 261 ahexn:: - 262 and 0fh - 263 add a,90h - 264 daa - 265 adc a,40h - 266 daa - 267 jr abyte - 268 - 269 public amess - 270 - 271 amess:: - 272 ex (sp),hl - 273 push af - 274 - 275 L01$: ld a,(hl) - 276 inc hl - 277 or a - 278 jr z,L02$ - 279 - 280 call abyte - 281 jr L01$ - 282 - 283 L02$: pop af - 284 ex (sp),hl - 285 ret - 286 .endif - 287 - 288 ; ----------------------------------------------------------------------------- - 289 - 290 public _argc, _argv, environ, errno, __cleanup - 291 ;public __argc, __argv, _environ, _errno, ___cleanup - 292 - 293 rseg UDATA0 - 00008D8C 294 _argc: defs 2 ; vendor __argc - 00008D8E 295 _argv: defs 2 ; vendor __argv - 00008D90 296 environ: defs 2 ; vendor _environ - 00008D92 297 errno: defs 2 ; vendor _errno - 00008D94 298 __cleanup: defs 3 ; oopsy 2 ; vendor ___cleanup - 299 - 300 rseg CSTACK - 00009659 301 defs E_STACK_SIZE - 302 - 303 ; ----------------------------------------------------------------------------- - 304 - 00001000 305 END - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. -Hexadecimal [32-Bits] - -Symbol Table - - .__.ABS. = 00000000 G | ?BANK_CALL_DIR ******** GX - E_FORMAT_BANKE = 00000002 | E_MAGIC = 0000A6C9 - E_STACK_SIZE = 00001000 | 9 __cleanup 00000008 GR - 1 __init 00000000 GR | 9 _argc 00000000 GR - 9 _argv 00000002 GR | e_CSTACK ******** GX - 9 environ 00000004 GR | 9 errno 00000006 GR - exit ******** GX | main ******** GX - s_CSTACK ******** GX | s_RCODE ******** GX - s_UDATA0 ******** GX - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. -Hexadecimal [32-Bits] - -Area Table - - 0 _DEFAULT size 14 flags 0 - 1 RCODE size 1F flags 0 - 2 CONST size 0 flags 0 - 3 CSTR size 0 flags 0 - 4 IDATA0 size 0 flags 1 - 5 CDATA0 size 0 flags 0 - 6 ECSTR size 0 flags 1 - 7 CCSTR size 0 flags 0 - 8 CODE size 0 flags 1 - 9 UDATA0 size B flags 0 - A CSTACK size 1000 flags 0 diff --git a/lib/c0l.lst b/lib/c0l.lst deleted file mode 100644 index f0bc3bda..00000000 --- a/lib/c0l.lst +++ /dev/null @@ -1,335 +0,0 @@ - 1 ; c0l.asm by Nick for UZI180 large memory model - 2 - 3 ; ----------------------------------------------------------------------------- - 4 - 00000000 5 .if 0 - 6 $ io64180.s01 - 7 .endif - 8 - 9 module _c0l - 10 - 11 public __init ; vendor _init - 00000000 12 .if 0 - 13 extern brk ; vendor _brk - 14 .endif - 15 extern main ; vendor _main - 16 extern exit ; vendor _exit - 17 - 18 ; extern l__DEFAULT ; e_hsize - 19 extern s_RCODE ; e_idata - 20 extern s_UDATA0 ; e_udata - 21 extern s_CSTACK ; e_stack - 22 extern e_CSTACK ; e_break - 23 - 00000000 24 .if 0 - 25 extern ?BANK_CALL_DIRECT_L08 - 26 .endif - 27 - 0000A6C9 28 E_MAGIC equ 0a6c9h - 00000001 29 E_FORMAT_LARGE equ 1 - 00001000 30 E_STACK_SIZE equ 1000h - 31 - 32 ; ----------------------------------------------------------------------------- - 33 ; forward definitions of segments, to set the linkage order (c0l must be first) - 34 - 35 rseg RCODE - 36 rseg CODE ; needs to be at start for large model - 37 ; rseg TEMP - 38 ; rseg DATA0 - 39 ; rseg WCSTR - 40 rseg CONST - 41 rseg CSTR - 42 rseg IDATA0(NUL) - 43 rseg CDATA0 - 44 rseg ECSTR(NUL) - 45 rseg CCSTR - 46 rseg UDATA0 - 47 rseg CSTACK - 48 - 49 ; ----------------------------------------------------------------------------- - 50 - 00000001 51 .if 1 - 52 rseg _DEFAULT ; means header is discarded at loading - 53 .else - 54 rseg RCODE ; means header is visible to loaded pgm - 55 .endif - 56 - 00000001 57 .if 1 - 00000000 C9 A6 58 defw E_MAGIC ; e_magic - 00000002 01 00 59 defw E_FORMAT_LARGE ; e_format - 00000004 78 56 34 12 60 defd 12345678h ; e_size - 00000008 14 00 61 defw 14h ;l__DEFAULT ; e_hsize - 0000000A 00 00 62 defw s_RCODE ; e_idata - 0000000C 00 00 63 defw __init ; e_entry - 0000000E 00 00 64 defw s_UDATA0 ; e_udata - 00000010 00 00 65 defw s_CSTACK ; e_stack - 00000012 00 00 66 defw e_CSTACK ; e_break - 67 .else - 68 jp __init - 69 .endif - 70 - 71 ; ----------------------------------------------------------------------------- - 72 - 73 rseg RCODE - 74 - 00000000 75 __init:: - 00000000 76 .if 0 - 77 ld a,'A' - 78 call abyte - 79 .endif - 80 - 00000000 81 .if 0 - 82 ld de,.sfb.CSTACK ; 1st argument to brk() - 83 - 00000000 84 .if 0 - 85 ld hl,LWRD brk - 86 ld a,BYTE3 brk - 87 call ?BANK_CALL_DIRECT_L08 - 88 .else - 89 call brk - 90 .endif - 91 - 92 call seg_init - 93 .endif - 94 - 95 ; now there are the next stack structure: - 96 ; +4 envp - 97 ; +2 argv - 98 ; sp-> +0 argc - 00000001 99 .if 1 - 00000000 D1 100 pop de - 00000001 ED 53 00 00 101 ld (_argc),de ; vendor __argc (2nd argument to main) - 00000005 C1 102 pop bc - 00000006 ED 43 02 00 103 ld (_argv),bc ; vendor __argv (1st argument to main) - 0000000A E1 104 pop hl - 0000000B 22 04 00 105 ld (environ),hl ; vendor _environ - 106 .else - 107 ld ix,0 - 108 add ix,sp - 109 ld l,(ix+4) - 110 ld h,(ix+5) - 111 ld (environ),hl ; vendor _environ - 112 ld c,(ix+2) - 113 ld b,(ix+3) - 114 ld (_argv),bc ; vendor __argv (1st argument to main) - 115 ld e,(ix+0) - 116 ld d,(ix+1) - 117 ld (_argc),de ; vendor __argc (2nd argument to main) - 118 .endif - 119 - 00000000 120 .if 0 - 121 ld HL,LWRD main ; banked call to _main() - 122 ld A,BYTE3 main - 123 call ?BANK_CALL_DIRECT_L08 - 124 .else - 0000000E CD 00 00 125 call main ; vendor _main ; non-banked call to _main() - 126 .endif - 127 - 00000011 EB 128 ex de,hl ; de = exitcode (1st argument to exit) - 129 - 00000000 130 .if 0 - 131 ld HL,LWRD exit ; banked call to _exit() - 132 ld A,BYTE3 exit - 133 jp ?BANK_CALL_DIRECT_L08 - 134 .else - 00000012 C3 00 00 135 jp exit ; vendor _exit ; non-banked call to _exit() - 136 .endif - 137 - 138 ; ----------------------------------------------------------------------------- - 139 - 00000000 140 .if 0 - 141 seg_init: - 142 ld HL,.sfe.UDATA0 - 143 ld DE,.sfb.UDATA0 - 144 call zero_mem - 145 - 146 ld DE,.sfb.IDATA0 ; destination address - 147 ld HL,.sfe.CDATA0 ;+4000h ; really 8:0000 + .sfe.CDATA0 - 148 ld BC,.sfb.CDATA0 ;+4000h ; really 8:0000 + .sfb.CDATA0 - 149 call copy_mem - 150 - 151 ld DE,.sfb.ECSTR ; destination address - 152 ld HL,.sfe.CCSTR ;+4000h ; really 8:0000 + .sfe.CCSTR - 153 ld BC,.sfb.CCSTR ;+4000h ; really 8:0000 + .sfb.CCSTR - 154 - 155 ; Just fall in to the copy_mem function - 156 - 157 copy_mem: - 158 XOR A - 159 SBC HL,BC - 160 PUSH BC - 161 LD C,L - 162 LD B,H ; BC - that many bytes - 163 POP HL ; source address - 164 RET Z ; If block size = 0 return now - 165 LDIR - 166 RET - 167 - 168 zero_mem: - 169 XOR A - 170 again: PUSH HL - 171 SBC HL,DE - 172 POP HL - 173 RET Z - 174 LD (DE),A - 175 INC DE - 176 JR again - 177 .endif - 178 - 179 ; ----------------------------------------------------------------------------- - 180 - 00000000 181 .if 0 - 182 public _abyte - 183 - 184 _abyte:: - 00000000 185 .if 0 ; SDCC - 186 ld hl,2 - 187 add hl,sp - 188 ld a,(hl) - 189 .else ; IAR - 190 ld a,e - 191 .endif - 192 - 193 public abyte - 194 - 195 abyte:: - 00000000 196 .if 0 - 197 ret - 198 .else - 199 push af - 200 .endif - 201 - 202 L1$: in0 a,(STAT1) - 203 and 10b - 204 jr z,L1$ - 205 - 206 pop af - 207 out0 (TDR1),a - 208 - 00000000 209 .if 0 - 210 di - 211 .endif - 00000000 212 .if 0 - 213 ei - 214 .endif - 215 ret - 216 - 217 public _acrlf - 218 - 219 _acrlf:: - 220 - 221 public acrlf - 222 - 223 acrlf:: - 224 ld a,0dh - 225 call abyte - 226 ld a,0ah - 227 jr abyte - 228 - 229 public _ahexw - 230 - 231 _ahexw:: - 00000000 232 .if 0 ; SDCC - 233 ld hl,2 - 234 add hl,sp - 235 ld e,(hl) - 236 inc hl - 237 ld d,(hl) - 238 .endif - 239 ex de,hl - 240 - 241 public ahexw - 242 - 243 ahexw:: - 244 ld a,h - 245 call ahexb - 246 ld a,l - 247 - 248 public ahexb - 249 - 250 ahexb:: - 251 push af - 252 rrca - 253 rrca - 254 rrca - 255 rrca - 256 call ahexn - 257 pop af - 258 - 259 public ahexn - 260 - 261 ahexn:: - 262 and 0fh - 263 add a,90h - 264 daa - 265 adc a,40h - 266 daa - 267 jr abyte - 268 - 269 public amess - 270 - 271 amess:: - 272 ex (sp),hl - 273 push af - 274 - 275 L01$: ld a,(hl) - 276 inc hl - 277 or a - 278 jr z,L02$ - 279 - 280 call abyte - 281 jr L01$ - 282 - 283 L02$: pop af - 284 ex (sp),hl - 285 ret - 286 .endif - 287 - 288 ; ----------------------------------------------------------------------------- - 289 - 290 public _argc, _argv, environ, errno, __cleanup - 291 ;public __argc, __argv, _environ, _errno, ___cleanup - 292 - 293 rseg UDATA0 - 00000000 294 _argc: defs 2 ; vendor __argc - 00000002 295 _argv: defs 2 ; vendor __argv - 00000004 296 environ: defs 2 ; vendor _environ - 00000006 297 errno: defs 2 ; vendor _errno - 00000008 298 __cleanup: defs 2 ; vendor ___cleanup - 299 - 300 rseg CSTACK - 00000000 301 defs E_STACK_SIZE - 302 - 303 ; ----------------------------------------------------------------------------- - 304 - 00001000 305 END - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. -Hexadecimal [32-Bits] - -Symbol Table - - .__.ABS. = 00000000 G | E_FORMAT_LARGE = 00000001 - E_MAGIC = 0000A6C9 | E_STACK_SIZE = 00001000 - 9 __cleanup 00000008 GR | 1 __init 00000000 GR - 9 _argc 00000000 GR | 9 _argv 00000002 GR - e_CSTACK ******** GX | 9 environ 00000004 GR - 9 errno 00000006 GR | exit ******** GX - main ******** GX | s_CSTACK ******** GX - s_RCODE ******** GX | s_UDATA0 ******** GX - - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. -Hexadecimal [32-Bits] - -Area Table - - 0 _DEFAULT size 14 flags 0 - 1 RCODE size 15 flags 0 - 2 CODE size 0 flags 0 - 3 CONST size 0 flags 0 - 4 CSTR size 0 flags 0 - 5 IDATA0 size 0 flags 1 - 6 CDATA0 size 0 flags 0 - 7 ECSTR size 0 flags 1 - 8 CCSTR size 0 flags 0 - 9 UDATA0 size A flags 0 - A CSTACK size 1000 flags 0 diff --git a/lib/c0l.rel b/lib/c0l.rel deleted file mode 100644 index 5aefde1e..00000000 --- a/lib/c0l.rel +++ /dev/null @@ -1,55 +0,0 @@ -XL4 -H B areas D global symbols -M _c0l -S s_CSTACK Ref00000000 -S s_UDATA0 Ref00000000 -S s_RCODE Ref00000000 -S main Ref00000000 -S exit Ref00000000 -S e_CSTACK Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 14 flags 0 -A RCODE size 15 flags 0 -S __init Def00000000 -A CODE size 0 flags 0 -A CONST size 0 flags 0 -A CSTR size 0 flags 0 -A IDATA0 size 0 flags 1 -A CDATA0 size 0 flags 0 -A ECSTR size 0 flags 1 -A CCSTR size 0 flags 0 -A UDATA0 size A flags 0 -S environ Def00000004 -S _argv Def00000002 -S __cleanup Def00000008 -S errno Def00000006 -S _argc Def00000000 -A CSTACK size 1000 flags 0 -T 00 00 00 00 C9 A6 01 00 78 56 34 12 14 00 -R 00 00 00 00 -T 0A 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 00 00 02 04 02 00 00 08 01 00 -T 0E 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 00 00 02 04 01 00 02 08 00 00 -T 12 00 00 00 00 00 00 00 -R 00 00 00 00 02 04 05 00 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D1 ED 53 00 00 00 00 C1 ED 43 -R 00 00 01 00 00 07 09 00 -T 08 00 00 00 02 00 00 00 E1 22 04 00 00 00 CD -R 00 00 01 00 00 04 09 00 00 0A 09 00 -T 0F 00 00 00 00 00 00 00 EB C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0A 04 00 -T 00 00 00 00 -R 00 00 09 00 -T 02 00 00 00 -R 00 00 09 00 -T 04 00 00 00 -R 00 00 09 00 -T 06 00 00 00 -R 00 00 09 00 -T 08 00 00 00 -R 00 00 09 00 -T 00 00 00 00 -R 00 00 0A 00 diff --git a/lib/c0l.rst b/lib/c0l.rst deleted file mode 100644 index 6e244c5a..00000000 --- a/lib/c0l.rst +++ /dev/null @@ -1,335 +0,0 @@ - 1 ; c0l.asm by Nick for UZI180 large memory model - 2 - 3 ; ----------------------------------------------------------------------------- - 4 - 00000000 5 .if 0 - 6 $ io64180.s01 - 7 .endif - 8 - 9 module _c0l - 10 - 11 public __init ; vendor _init - 00000000 12 .if 0 - 13 extern brk ; vendor _brk - 14 .endif - 15 extern main ; vendor _main - 16 extern exit ; vendor _exit - 17 - 18 ; extern l__DEFAULT ; e_hsize - 19 extern s_RCODE ; e_idata - 20 extern s_UDATA0 ; e_udata - 21 extern s_CSTACK ; e_stack - 22 extern e_CSTACK ; e_break - 23 - 00000000 24 .if 0 - 25 extern ?BANK_CALL_DIRECT_L08 - 26 .endif - 27 - 0000A6C9 28 E_MAGIC equ 0a6c9h - 00000001 29 E_FORMAT_LARGE equ 1 - 00001000 30 E_STACK_SIZE equ 1000h - 31 - 32 ; ----------------------------------------------------------------------------- - 33 ; forward definitions of segments, to set the linkage order (c0l must be first) - 34 - 35 rseg RCODE - 36 rseg CODE ; needs to be at start for large model - 37 ; rseg TEMP - 38 ; rseg DATA0 - 39 ; rseg WCSTR - 40 rseg CONST - 41 rseg CSTR - 42 rseg IDATA0(NUL) - 43 rseg CDATA0 - 44 rseg ECSTR(NUL) - 45 rseg CCSTR - 46 rseg UDATA0 - 47 rseg CSTACK - 48 - 49 ; ----------------------------------------------------------------------------- - 50 - 00000001 51 .if 1 - 52 rseg _DEFAULT ; means header is discarded at loading - 53 .else - 54 rseg RCODE ; means header is visible to loaded pgm - 55 .endif - 56 - 00000001 57 .if 1 - 00000000 C9 A6 58 defw E_MAGIC ; e_magic - 00000002 01 00 59 defw E_FORMAT_LARGE ; e_format - 00000004 78 56 34 12 60 defd 12345678h ; e_size - 00000008 14 00 61 defw 14h ;l__DEFAULT ; e_hsize - 0000000A 00 81 62 defw s_RCODE ; e_idata - 0000000C 00 81 63 defw __init ; e_entry - 0000000E FE 9D 64 defw s_UDATA0 ; e_udata - 00000010 82 A4 65 defw s_CSTACK ; e_stack - 00000012 82 B4 66 defw e_CSTACK ; e_break - 67 .else - 68 jp __init - 69 .endif - 70 - 71 ; ----------------------------------------------------------------------------- - 72 - 73 rseg RCODE - 74 - 00008100 75 __init:: - 00000000 76 .if 0 - 77 ld a,'A' - 78 call abyte - 79 .endif - 80 - 00000000 81 .if 0 - 82 ld de,.sfb.CSTACK ; 1st argument to brk() - 83 - 00000000 84 .if 0 - 85 ld hl,LWRD brk - 86 ld a,BYTE3 brk - 87 call ?BANK_CALL_DIRECT_L08 - 88 .else - 89 call brk - 90 .endif - 91 - 92 call seg_init - 93 .endif - 94 - 95 ; now there are the next stack structure: - 96 ; +4 envp - 97 ; +2 argv - 98 ; sp-> +0 argc - 00000001 99 .if 1 - 00008100 D1 100 pop de - 00008101 ED 53 FE 9D 101 ld (_argc),de ; vendor __argc (2nd argument to main) - 00008105 C1 102 pop bc - 00008106 ED 43 00 9E 103 ld (_argv),bc ; vendor __argv (1st argument to main) - 0000810A E1 104 pop hl - 0000810B 22 02 9E 105 ld (environ),hl ; vendor _environ - 106 .else - 107 ld ix,0 - 108 add ix,sp - 109 ld l,(ix+4) - 110 ld h,(ix+5) - 111 ld (environ),hl ; vendor _environ - 112 ld c,(ix+2) - 113 ld b,(ix+3) - 114 ld (_argv),bc ; vendor __argv (1st argument to main) - 115 ld e,(ix+0) - 116 ld d,(ix+1) - 117 ld (_argc),de ; vendor __argc (2nd argument to main) - 118 .endif - 119 - 00000000 120 .if 0 - 121 ld HL,LWRD main ; banked call to _main() - 122 ld A,BYTE3 main - 123 call ?BANK_CALL_DIRECT_L08 - 124 .else - 0000810E CD EA 83 125 call main ; vendor _main ; non-banked call to _main() - 126 .endif - 127 - 00008111 EB 128 ex de,hl ; de = exitcode (1st argument to exit) - 129 - 00000000 130 .if 0 - 131 ld HL,LWRD exit ; banked call to _exit() - 132 ld A,BYTE3 exit - 133 jp ?BANK_CALL_DIRECT_L08 - 134 .else - 00008112 C3 EF 93 135 jp exit ; vendor _exit ; non-banked call to _exit() - 136 .endif - 137 - 138 ; ----------------------------------------------------------------------------- - 139 - 00000000 140 .if 0 - 141 seg_init: - 142 ld HL,.sfe.UDATA0 - 143 ld DE,.sfb.UDATA0 - 144 call zero_mem - 145 - 146 ld DE,.sfb.IDATA0 ; destination address - 147 ld HL,.sfe.CDATA0 ;+4000h ; really 8:0000 + .sfe.CDATA0 - 148 ld BC,.sfb.CDATA0 ;+4000h ; really 8:0000 + .sfb.CDATA0 - 149 call copy_mem - 150 - 151 ld DE,.sfb.ECSTR ; destination address - 152 ld HL,.sfe.CCSTR ;+4000h ; really 8:0000 + .sfe.CCSTR - 153 ld BC,.sfb.CCSTR ;+4000h ; really 8:0000 + .sfb.CCSTR - 154 - 155 ; Just fall in to the copy_mem function - 156 - 157 copy_mem: - 158 XOR A - 159 SBC HL,BC - 160 PUSH BC - 161 LD C,L - 162 LD B,H ; BC - that many bytes - 163 POP HL ; source address - 164 RET Z ; If block size = 0 return now - 165 LDIR - 166 RET - 167 - 168 zero_mem: - 169 XOR A - 170 again: PUSH HL - 171 SBC HL,DE - 172 POP HL - 173 RET Z - 174 LD (DE),A - 175 INC DE - 176 JR again - 177 .endif - 178 - 179 ; ----------------------------------------------------------------------------- - 180 - 00000000 181 .if 0 - 182 public _abyte - 183 - 184 _abyte:: - 00000000 185 .if 0 ; SDCC - 186 ld hl,2 - 187 add hl,sp - 188 ld a,(hl) - 189 .else ; IAR - 190 ld a,e - 191 .endif - 192 - 193 public abyte - 194 - 195 abyte:: - 00000000 196 .if 0 - 197 ret - 198 .else - 199 push af - 200 .endif - 201 - 202 L1$: in0 a,(STAT1) - 203 and 10b - 204 jr z,L1$ - 205 - 206 pop af - 207 out0 (TDR1),a - 208 - 00000000 209 .if 0 - 210 di - 211 .endif - 00000000 212 .if 0 - 213 ei - 214 .endif - 215 ret - 216 - 217 public _acrlf - 218 - 219 _acrlf:: - 220 - 221 public acrlf - 222 - 223 acrlf:: - 224 ld a,0dh - 225 call abyte - 226 ld a,0ah - 227 jr abyte - 228 - 229 public _ahexw - 230 - 231 _ahexw:: - 00000000 232 .if 0 ; SDCC - 233 ld hl,2 - 234 add hl,sp - 235 ld e,(hl) - 236 inc hl - 237 ld d,(hl) - 238 .endif - 239 ex de,hl - 240 - 241 public ahexw - 242 - 243 ahexw:: - 244 ld a,h - 245 call ahexb - 246 ld a,l - 247 - 248 public ahexb - 249 - 250 ahexb:: - 251 push af - 252 rrca - 253 rrca - 254 rrca - 255 rrca - 256 call ahexn - 257 pop af - 258 - 259 public ahexn - 260 - 261 ahexn:: - 262 and 0fh - 263 add a,90h - 264 daa - 265 adc a,40h - 266 daa - 267 jr abyte - 268 - 269 public amess - 270 - 271 amess:: - 272 ex (sp),hl - 273 push af - 274 - 275 L01$: ld a,(hl) - 276 inc hl - 277 or a - 278 jr z,L02$ - 279 - 280 call abyte - 281 jr L01$ - 282 - 283 L02$: pop af - 284 ex (sp),hl - 285 ret - 286 .endif - 287 - 288 ; ----------------------------------------------------------------------------- - 289 - 290 public _argc, _argv, environ, errno, __cleanup - 291 ;public __argc, __argv, _environ, _errno, ___cleanup - 292 - 293 rseg UDATA0 - 00009DFE 294 _argc: defs 2 ; vendor __argc - 00009E00 295 _argv: defs 2 ; vendor __argv - 00009E02 296 environ: defs 2 ; vendor _environ - 00009E04 297 errno: defs 2 ; vendor _errno - 00009E06 298 __cleanup: defs 2 ; vendor ___cleanup - 299 - 300 rseg CSTACK - 0000A482 301 defs E_STACK_SIZE - 302 - 303 ; ----------------------------------------------------------------------------- - 304 - 00001000 305 END - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. -Hexadecimal [32-Bits] - -Symbol Table - - .__.ABS. = 00000000 G | E_FORMAT_LARGE = 00000001 - E_MAGIC = 0000A6C9 | E_STACK_SIZE = 00001000 - 9 __cleanup 00000008 GR | 1 __init 00000000 GR - 9 _argc 00000000 GR | 9 _argv 00000002 GR - e_CSTACK ******** GX | 9 environ 00000004 GR - 9 errno 00000006 GR | exit ******** GX - main ******** GX | s_CSTACK ******** GX - s_RCODE ******** GX | s_UDATA0 ******** GX - - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. -Hexadecimal [32-Bits] - -Area Table - - 0 _DEFAULT size 14 flags 0 - 1 RCODE size 15 flags 0 - 2 CODE size 0 flags 0 - 3 CONST size 0 flags 0 - 4 CSTR size 0 flags 0 - 5 IDATA0 size 0 flags 1 - 6 CDATA0 size 0 flags 0 - 7 ECSTR size 0 flags 1 - 8 CCSTR size 0 flags 0 - 9 UDATA0 size A flags 0 - A CSTACK size 1000 flags 0 diff --git a/lib/relcb/abort.rel b/lib/relcb/abort.rel deleted file mode 100644 index 48fd14fe..00000000 --- a/lib/relcb/abort.rel +++ /dev/null @@ -1,50 +0,0 @@ -XL4 -H 2 areas A global symbols -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S _exit Ref00000000 -S pause Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S kill Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S getpid Ref00000000 -S signal Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6E flags 0 -S abort Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 21 00 00 E5 21 00 00 E5 11 -R 00 00 01 00 -T 0B 00 00 00 06 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 07 00 -T 10 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 07 00 02 09 03 00 -T 17 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 -T 1D 00 00 00 00 00 00 00 4D 44 11 06 00 3E -R 00 00 01 00 02 04 03 00 -T 25 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 2A 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 03 00 2B 09 02 00 -T 2F 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 02 00 02 09 03 00 -T 35 00 00 00 00 00 E5 21 00 00 E5 11 09 00 3E -R 00 00 01 00 -T 40 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 45 00 00 00 00 00 00 00 F1 F1 3E 00 00 00 00 -R 00 00 01 00 02 04 03 00 2B 0B 06 00 -T 4B 00 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 06 00 02 0A 03 00 -T 52 00 00 00 44 11 09 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 04 00 -T 59 00 00 00 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 04 04 00 02 09 03 00 -T 5F 00 00 00 FF 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 01 00 -T 64 00 00 00 00 00 00 00 CD 00 00 00 00 D1 C1 -R 00 00 01 00 02 04 01 00 02 09 03 00 -T 6B 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/alloca.rel b/lib/relcb/alloca.rel deleted file mode 100644 index e734cbf4..00000000 --- a/lib/relcb/alloca.rel +++ /dev/null @@ -1,98 +0,0 @@ -XL4 -H 4 areas 8 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S free Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S malloc Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size CE flags 0 -S alloca Def00000000 -A IDATA0 size 2 flags 0 -A CDATA0 size 2 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF 2A -R 00 00 01 00 02 05 03 00 -T 06 00 00 00 00 00 00 00 DD 75 FB DD 74 FC -R 00 00 01 00 00 04 02 00 -T 0E 00 00 00 -R 00 00 01 00 -T 0E 00 00 00 DD 7E FB DD B6 FC 28 49 -R 00 00 01 00 -T 16 00 00 00 -R 00 00 01 00 -T 16 00 00 00 21 00 00 39 4D 44 21 04 00 DD 5E -R 00 00 01 00 -T 21 00 00 00 FB DD 56 FC 19 56 23 66 6A A7 ED -R 00 00 01 00 -T 2C 00 00 00 42 30 2C -R 00 00 01 00 -T 2F 00 00 00 -R 00 00 01 00 -T 2F 00 00 00 DD 6E FB DD 66 FC 46 23 66 68 DD -R 00 00 01 00 -T 3A 00 00 00 75 FD DD 74 FE DD 5E FB DD 56 FC -R 00 00 01 00 -T 45 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 01 00 02 0A 01 00 -T 4B 00 00 00 00 00 00 00 DD 6E FD DD 66 FE DD -R 00 00 01 00 02 04 02 00 -T 54 00 00 00 75 FB DD 74 FC 18 02 -R 00 00 01 00 -T 5B 00 00 00 -R 00 00 01 00 -T 5B 00 00 00 18 02 -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 18 AF -R 00 00 01 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 DD 6E FB DD 66 FC 22 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 68 00 00 00 DD 7E 02 DD B6 03 20 05 -R 00 00 01 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 21 00 00 18 56 -R 00 00 01 00 -T 75 00 00 00 -R 00 00 01 00 -T 75 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 EB -R 00 00 01 00 -T 80 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 05 00 02 0A 05 00 -T 86 00 00 00 00 00 00 00 DD 75 FB DD 74 FC 7D -R 00 00 01 00 02 04 02 00 -T 8F 00 00 00 B4 20 08 -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 DD 6E FB DD 66 FC 18 31 -R 00 00 01 00 -T 9A 00 00 00 -R 00 00 01 00 -T 9A 00 00 00 2A 00 00 00 00 E5 DD 6E FB DD 66 -R 00 00 01 00 00 05 02 00 -T A3 00 00 00 FC C1 71 23 70 21 04 00 DD 4E FB -R 00 00 01 00 -T AE 00 00 00 DD 46 FC 09 E5 21 02 00 39 5D 54 -R 00 00 01 00 -T B9 00 00 00 E1 73 23 72 ED 43 00 00 00 00 21 -R 00 00 01 00 00 0A 02 00 -T C2 00 00 00 0C 00 DD 4E FB DD 46 FC 09 -R 00 00 01 00 -T CB 00 00 00 -R 00 00 01 00 -T CB 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcb/asctime.rel b/lib/relcb/asctime.rel deleted file mode 100644 index c1b0202e..00000000 --- a/lib/relcb/asctime.rel +++ /dev/null @@ -1,225 +0,0 @@ -XL4 -H 6 areas F global symbols -S memcpy Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S strcpy Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?SS_MOD_L02 Ref00000000 -S ?SS_DIV_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 263 flags 0 -S __asctime Def0000001C -S asctime Def00000240 -A CSTR size 1A flags 0 -A UDATA0 size 1A flags 0 -A IDATA0 size 3B flags 0 -A CDATA0 size 3B flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 01 0A 00 DD 5E 04 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 DD 56 05 CD 00 00 00 00 7B C6 30 -R 00 00 01 00 02 08 09 00 -T 12 00 00 00 DD 6E 02 DD 66 03 77 C3 -R 00 00 01 00 -T 1A 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 03 00 -T 1C 00 00 00 -R 00 00 01 00 -T 1C 00 00 00 CD 00 00 00 00 FE FF 01 -R 00 00 01 00 02 05 07 00 -T 22 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E -R 00 00 01 00 00 04 02 00 -T 2B 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 -T 30 00 00 00 00 00 00 00 21 0C 00 DD 4E 04 DD -R 00 00 01 00 02 04 05 00 -T 39 00 00 00 46 05 09 23 CB 7E 20 41 21 0C 00 -R 00 00 01 00 -T 44 00 00 00 DD 4E 04 DD 46 05 09 4E 23 46 21 -R 00 00 01 00 -T 4F 00 00 00 06 00 CD 00 00 00 00 38 2C -R 00 00 01 00 02 07 08 00 -T 56 00 00 00 -R 00 00 01 00 -T 56 00 00 00 -R 00 00 01 00 -T 56 00 00 00 -R 00 00 01 00 -T 56 00 00 00 21 03 00 E5 21 0C 00 DD 4E 04 DD -R 00 00 01 00 -T 61 00 00 00 46 05 09 4E 23 46 11 03 00 CD -R 00 00 01 00 -T 6B 00 00 00 00 00 00 00 21 00 00 00 00 19 4D -R 00 00 01 00 02 04 01 00 00 09 04 00 -T 72 00 00 00 44 DD 5E 02 DD 56 03 3E -R 00 00 01 00 -T 7A 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 7F 00 00 00 00 00 00 00 F1 -R 00 00 01 00 02 04 05 00 -T 82 00 00 00 -R 00 00 01 00 -T 82 00 00 00 21 08 00 DD 4E 04 DD 46 05 09 23 -R 00 00 01 00 -T 8D 00 00 00 CB 7E 20 46 21 08 00 DD 4E 04 DD -R 00 00 01 00 -T 98 00 00 00 46 05 09 4E 23 46 21 0B 00 CD -R 00 00 01 00 -T A2 00 00 00 00 00 00 00 38 31 -R 00 00 01 00 02 04 08 00 -T A6 00 00 00 -R 00 00 01 00 -T A6 00 00 00 -R 00 00 01 00 -T A6 00 00 00 -R 00 00 01 00 -T A6 00 00 00 21 03 00 E5 21 08 00 DD 4E 04 DD -R 00 00 01 00 -T B1 00 00 00 46 05 09 4E 23 46 11 03 00 CD -R 00 00 01 00 -T BB 00 00 00 00 00 00 00 21 16 00 00 00 19 4D -R 00 00 01 00 02 04 01 00 00 09 04 00 -T C2 00 00 00 44 21 04 00 DD 5E 02 DD 56 03 19 -R 00 00 01 00 -T CD 00 00 00 EB 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 00 00 02 0B 00 00 -T D3 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 05 00 -T D7 00 00 00 -R 00 00 01 00 -T D7 00 00 00 21 0A 00 DD 4E 04 DD 46 05 09 56 -R 00 00 01 00 -T E2 00 00 00 23 66 6A 11 6C 07 19 DD 75 FE DD -R 00 00 01 00 -T ED 00 00 00 74 FF 21 06 00 09 5E 23 56 01 -R 00 00 01 00 -T F7 00 00 00 0A 00 CD 00 00 00 00 4B 42 21 -R 00 00 01 00 02 07 0A 00 -T FF 00 00 00 08 00 DD 5E 02 DD 56 03 19 EB CD -R 00 00 01 00 -T 0A 01 00 00 00 00 00 00 21 06 00 DD 4E 04 DD -R 00 00 01 00 00 04 01 00 -T 13 01 00 00 46 05 09 4E 23 46 21 09 00 DD 5E -R 00 00 01 00 -T 1E 01 00 00 02 DD 56 03 19 EB CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 27 01 00 00 21 04 00 DD 4E 04 DD 46 05 09 5E -R 00 00 01 00 -T 32 01 00 00 23 56 01 0A 00 CD 00 00 00 00 4B -R 00 00 01 00 02 0A 0A 00 -T 3B 01 00 00 42 21 0B 00 DD 5E 02 DD 56 03 19 -R 00 00 01 00 -T 46 01 00 00 EB CD 00 00 00 00 21 04 00 DD 4E -R 00 00 01 00 00 06 01 00 -T 4F 01 00 00 04 DD 46 05 09 4E 23 46 21 0C 00 -R 00 00 01 00 -T 5A 01 00 00 DD 5E 02 DD 56 03 19 EB CD -R 00 00 01 00 -T 63 01 00 00 00 00 00 00 DD 6E 04 DD 66 05 23 -R 00 00 01 00 00 04 01 00 -T 6C 01 00 00 23 5E 23 56 01 0A 00 CD -R 00 00 01 00 -T 74 01 00 00 00 00 00 00 4B 42 21 0E 00 DD 5E -R 00 00 01 00 02 04 0A 00 -T 7D 01 00 00 02 DD 56 03 19 EB CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 86 01 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 -R 00 00 01 00 -T 91 01 00 00 21 0F 00 DD 5E 02 DD 56 03 19 EB -R 00 00 01 00 -T 9C 01 00 00 CD 00 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 00 05 01 00 -T A5 01 00 00 5E 23 56 01 0A 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 0A 00 -T AE 01 00 00 4B 42 21 11 00 DD 5E 02 DD 56 03 -R 00 00 01 00 -T B9 01 00 00 19 EB CD 00 00 00 00 DD 6E 04 DD -R 00 00 01 00 00 07 01 00 -T C2 01 00 00 66 05 4E 23 46 21 12 00 DD 5E 02 -R 00 00 01 00 -T CD 01 00 00 DD 56 03 19 EB CD 00 00 00 00 01 -R 00 00 01 00 00 0A 01 00 -T D6 01 00 00 E8 03 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T DF 01 00 00 00 00 00 00 4B 42 21 14 00 DD 5E -R 00 00 01 00 02 04 0A 00 -T E8 01 00 00 02 DD 56 03 19 EB CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T F1 01 00 00 01 64 00 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T FB 01 00 00 00 00 00 00 4B 42 21 15 00 DD 5E -R 00 00 01 00 02 04 0A 00 -T 04 02 00 00 02 DD 56 03 19 EB CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 0D 02 00 00 01 0A 00 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 17 02 00 00 00 00 00 00 4B 42 21 16 00 DD 5E -R 00 00 01 00 02 04 0A 00 -T 20 02 00 00 02 DD 56 03 19 EB CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 29 02 00 00 DD 4E FE DD 46 FF 21 17 00 DD 5E -R 00 00 01 00 -T 34 02 00 00 02 DD 56 03 19 EB CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 3D 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 40 02 00 00 -R 00 00 01 00 -T 40 02 00 00 CD 00 00 00 00 7B B2 20 05 -R 00 00 01 00 02 05 04 00 -T 47 02 00 00 -R 00 00 01 00 -T 47 02 00 00 21 00 00 18 14 -R 00 00 01 00 -T 4C 02 00 00 -R 00 00 01 00 -T 4C 02 00 00 DD 4E 02 DD 46 03 11 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 55 02 00 00 3E 1C 00 00 00 21 1C 00 00 00 CD -R 00 00 01 00 29 05 01 00 00 0A 01 00 -T 5B 02 00 00 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 02 04 05 00 00 09 03 00 -T 60 02 00 00 -R 00 00 01 00 -T 60 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 45 72 72 20 45 72 72 20 2E 2E 20 -R 00 00 02 00 -T 0B 00 00 00 2E 2E 3A 2E 2E 3A 2E 2E 20 2E 2E -R 00 00 02 00 -T 16 00 00 00 2E 2E 0A 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 16 00 00 00 -R 00 00 04 00 -T 16 00 00 00 -R 00 00 04 00 -T 00 00 00 00 53 75 6E 4D 6F 6E 54 75 65 57 65 -R 00 00 05 00 -T 0B 00 00 00 64 54 68 75 46 72 69 53 61 74 00 -R 00 00 05 00 -T 16 00 00 00 4A 61 6E 46 65 62 4D 61 72 41 70 -R 00 00 05 00 -T 21 00 00 00 72 4D 61 79 4A 75 6E 4A 75 6C 41 -R 00 00 05 00 -T 2C 00 00 00 75 67 53 65 70 4F 63 74 4E 6F 76 -R 00 00 05 00 -T 37 00 00 00 44 65 63 00 -R 00 00 05 00 diff --git a/lib/relcb/assert.rel b/lib/relcb/assert.rel deleted file mode 100644 index 0b017cbe..00000000 --- a/lib/relcb/assert.rel +++ /dev/null @@ -1,82 +0,0 @@ -XL4 -H 3 areas B global symbols -S _write Ref00000000 -S _itoa Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strlen Ref00000000 -S abort Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8A flags 0 -S __assert Def00000021 -S __errput Def00000000 -A CSTR size 1D flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 05 00 2B 0A 03 00 -T 06 00 00 00 00 00 00 00 CD 00 00 00 00 E5 DD -R 00 00 01 00 02 04 03 00 02 09 06 00 -T 0D 00 00 00 4E 02 DD 46 03 11 02 00 3E -R 00 00 01 00 -T 16 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 1B 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 06 00 02 0A 02 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 CD 00 00 00 00 11 00 00 00 00 3E -R 00 00 01 00 02 05 05 00 00 0A 02 00 -T 28 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 2D 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E -R 00 00 01 00 02 04 06 00 -T 36 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 3B 00 00 00 00 00 00 00 11 09 00 00 00 3E -R 00 00 01 00 02 04 06 00 00 09 02 00 -T 41 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 46 00 00 00 00 00 00 00 59 50 3E 00 00 00 00 -R 00 00 01 00 02 04 06 00 29 0B 01 00 -T 4C 00 00 00 21 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 00 05 01 00 02 0A 06 00 -T 53 00 00 00 12 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 29 09 01 00 -T 58 00 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 00 04 01 00 02 09 06 00 -T 5F 00 00 00 0A DD 56 0B 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 01 00 -T 66 00 00 00 00 00 00 00 CD 00 00 00 00 EB 3E -R 00 00 01 00 02 04 01 00 02 09 06 00 -T 6D 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 72 00 00 00 00 00 00 00 11 1A 00 00 00 3E -R 00 00 01 00 02 04 06 00 00 09 02 00 -T 78 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 7D 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 06 00 2B 09 04 00 -T 82 00 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 04 00 02 09 06 00 -T 88 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 46 61 69 6C 65 64 20 27 00 -R 00 00 02 00 -T 09 00 00 00 -R 00 00 02 00 -T 09 00 00 00 27 2C 20 66 69 6C 65 20 00 -R 00 00 02 00 -T 12 00 00 00 -R 00 00 02 00 -T 12 00 00 00 2C 20 6C 69 6E 65 20 00 -R 00 00 02 00 -T 1A 00 00 00 -R 00 00 02 00 -T 1A 00 00 00 2E 0A 00 -R 00 00 02 00 diff --git a/lib/relcb/atexit.rel b/lib/relcb/atexit.rel deleted file mode 100644 index b250001c..00000000 --- a/lib/relcb/atexit.rel +++ /dev/null @@ -1,128 +0,0 @@ -XL4 -H 5 areas D global symbols -S ?S_MUL_L02 Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S __cleanup Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 108 flags 0 -S atexit Def000000F5 -S on_exit Def0000007C -A UDATA0 size 32 flags 0 -S __on_exit_table Def00000000 -A IDATA0 size 2 flags 0 -S __on_exit_count Def00000000 -A CDATA0 size 2 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF 2A -R 00 00 01 00 02 05 06 00 -T 06 00 00 00 00 00 00 00 2B DD 75 FA DD 74 FB -R 00 00 01 00 00 04 03 00 -T 0F 00 00 00 21 FF FF 22 00 00 00 00 3E 00 21 -R 00 00 01 00 00 08 03 00 -T 18 00 00 00 00 00 32 02 00 00 00 22 -R 00 00 01 00 02 07 05 00 -T 1E 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 05 00 -T 20 00 00 00 -R 00 00 01 00 -T 20 00 00 00 DD CB FB 7E 20 53 -R 00 00 01 00 -T 26 00 00 00 -R 00 00 01 00 -T 26 00 00 00 01 05 00 DD 5E FA DD 56 FB CD -R 00 00 01 00 -T 30 00 00 00 00 00 00 00 21 00 00 00 00 19 5E -R 00 00 01 00 02 04 00 00 00 09 02 00 -T 37 00 00 00 23 56 23 46 EB DD 75 FC DD 74 FD -R 00 00 01 00 -T 42 00 00 00 DD 70 FE 11 05 00 DD 4E FA DD 46 -R 00 00 01 00 -T 4D 00 00 00 FB CD 00 00 00 00 21 03 00 00 00 -R 00 00 01 00 02 06 00 00 00 0B 02 00 -T 54 00 00 00 19 4E 23 46 DD 5E 02 DD 56 03 DD -R 00 00 01 00 -T 5F 00 00 00 7E FE DD 6E FC DD 66 FD CD -R 00 00 01 00 -T 68 00 00 00 00 00 00 00 DD 6E FA DD 66 FB 2B -R 00 00 01 00 02 04 03 00 -T 71 00 00 00 DD 75 FA DD 74 FB 18 A7 -R 00 00 01 00 -T 79 00 00 00 -R 00 00 01 00 -T 79 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 7C 00 00 00 -R 00 00 01 00 -T 7C 00 00 00 CD 00 00 00 00 2A 00 00 00 00 CB -R 00 00 01 00 02 05 02 00 00 0A 03 00 -T 83 00 00 00 7C 20 0E 01 0A 80 2A 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 8C 00 00 00 3E 80 AC 67 ED 42 38 0B -R 00 00 01 00 -T 94 00 00 00 -R 00 00 01 00 -T 94 00 00 00 -R 00 00 01 00 -T 94 00 00 00 -R 00 00 01 00 -T 94 00 00 00 21 0C 00 22 00 00 00 00 21 FF FF -R 00 00 01 00 02 08 04 00 -T 9D 00 00 00 18 53 -R 00 00 01 00 -T 9F 00 00 00 -R 00 00 01 00 -T 9F 00 00 00 3E 00 00 00 00 21 00 00 00 00 32 -R 00 00 01 00 29 05 01 00 00 0A 01 00 -T A5 00 00 00 02 00 00 00 22 00 00 00 00 DD 7E -R 00 00 01 00 02 04 05 00 02 09 05 00 -T AC 00 00 00 02 DD B6 03 DD B6 04 28 3A -R 00 00 01 00 -T B5 00 00 00 -R 00 00 01 00 -T B5 00 00 00 01 05 00 ED 5B 00 00 00 00 CD -R 00 00 01 00 00 09 03 00 -T BD 00 00 00 00 00 00 00 21 00 00 00 00 19 DD -R 00 00 01 00 02 04 00 00 00 09 02 00 -T C4 00 00 00 56 04 DD 4E 02 DD 46 03 71 23 70 -R 00 00 01 00 -T CF 00 00 00 23 72 01 05 00 ED 5B 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T D8 00 00 00 CD 00 00 00 00 21 03 00 00 00 19 -R 00 00 01 00 02 05 00 00 00 0A 02 00 -T DF 00 00 00 DD 4E 0A DD 46 0B 71 23 70 2A -R 00 00 01 00 -T E9 00 00 00 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 04 03 00 00 0A 03 00 -T EF 00 00 00 -R 00 00 01 00 -T EF 00 00 00 21 00 00 -R 00 00 01 00 -T F2 00 00 00 -R 00 00 01 00 -T F2 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T F5 00 00 00 -R 00 00 01 00 -T F5 00 00 00 CD 00 00 00 00 21 00 00 E5 3E -R 00 00 01 00 02 05 02 00 -T FD 00 00 00 7C 00 00 00 21 7C 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 02 01 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0A 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 00 00 -R 00 00 04 00 diff --git a/lib/relcb/atoi.rel b/lib/relcb/atoi.rel deleted file mode 100644 index f8a40af5..00000000 --- a/lib/relcb/atoi.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S strtol Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S atoi Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 0A 00 E5 01 -R 00 00 01 00 02 05 01 00 -T 08 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 03 00 -T 0D 00 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 03 00 02 09 02 00 -T 14 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 diff --git a/lib/relcb/atol.rel b/lib/relcb/atol.rel deleted file mode 100644 index e0aa0598..00000000 --- a/lib/relcb/atol.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S strtol Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S ?BANK_LEAVE_32_L08 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S atol Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 0A 00 E5 01 -R 00 00 01 00 02 05 00 00 -T 08 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 02 00 -T 0D 00 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 02 00 02 09 01 00 -T 14 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 04 00 diff --git a/lib/relcb/bsearch.rel b/lib/relcb/bsearch.rel deleted file mode 100644 index 51d1b06f..00000000 --- a/lib/relcb/bsearch.rel +++ /dev/null @@ -1,94 +0,0 @@ -XL4 -H 3 areas 9 global symbols -S ?S_MUL_L02 Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size D4 flags 0 -S bsearch Def00000000 -A UDATA0 size 2 flags 0 -S _bsearch Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF AF DD 77 F8 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 DD 77 F9 21 FF FF DD 5E 0A DD 56 -R 00 00 01 00 -T 14 00 00 00 0B 19 DD 75 FA DD 74 FB -R 00 00 01 00 -T 1C 00 00 00 -R 00 00 01 00 -T 1C 00 00 00 DD 4E F8 DD 46 F9 DD 6E FA DD 66 -R 00 00 01 00 -T 27 00 00 00 FB CD 00 00 00 00 DA C5 00 00 00 -R 00 00 01 00 02 06 04 00 00 0B 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 DD 6E FA DD 66 FB DD 4E F8 DD 46 -R 00 00 01 00 -T 39 00 00 00 F9 09 CB 2C CB 1D DD 75 FC DD 74 -R 00 00 01 00 -T 44 00 00 00 FD DD 4E 02 DD 46 03 C5 EB DD 4E -R 00 00 01 00 -T 4F 00 00 00 0C DD 46 0D CD 00 00 00 00 DD 6E -R 00 00 01 00 02 09 00 00 -T 58 00 00 00 04 DD 66 05 19 EB DD 7E 10 DD 6E -R 00 00 01 00 -T 63 00 00 00 0E DD 66 0F C1 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 02 00 -T 6C 00 00 00 75 FE DD 74 FF 7D B4 28 2C -R 00 00 01 00 -T 75 00 00 00 -R 00 00 01 00 -T 75 00 00 00 DD 4E FE DD 46 FF 21 00 00 CD -R 00 00 01 00 -T 7F 00 00 00 00 00 00 00 30 0F -R 00 00 01 00 02 04 04 00 -T 83 00 00 00 -R 00 00 01 00 -T 83 00 00 00 DD 6E FC DD 66 FD 2B DD 75 FA DD -R 00 00 01 00 -T 8E 00 00 00 74 FB 18 0D -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 DD 6E FC DD 66 FD 23 DD 75 F8 DD -R 00 00 01 00 -T 9D 00 00 00 74 F9 -R 00 00 01 00 -T 9F 00 00 00 -R 00 00 01 00 -T 9F 00 00 00 18 21 -R 00 00 01 00 -T A1 00 00 00 -R 00 00 01 00 -T A1 00 00 00 DD 6E FC DD 66 FD 22 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T AA 00 00 00 DD 4E 0C DD 46 0D DD 5E FC DD 56 -R 00 00 01 00 -T B5 00 00 00 FD CD 00 00 00 00 DD 6E 04 DD 66 -R 00 00 01 00 02 06 00 00 -T BE 00 00 00 05 19 18 0F -R 00 00 01 00 -T C2 00 00 00 -R 00 00 01 00 -T C2 00 00 00 C3 1C 00 00 00 -R 00 00 01 00 00 05 01 00 -T C5 00 00 00 -R 00 00 01 00 -T C5 00 00 00 DD 6E FA DD 66 FB 22 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T CE 00 00 00 21 00 00 -R 00 00 01 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 diff --git a/lib/relcb/calloc.rel b/lib/relcb/calloc.rel deleted file mode 100644 index d1ae4a65..00000000 --- a/lib/relcb/calloc.rel +++ /dev/null @@ -1,37 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S memset Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S malloc Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 48 flags 0 -S calloc Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 5E 02 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 56 03 CD 00 00 00 00 DD 73 FC DD -R 00 00 01 00 02 07 01 00 -T 12 00 00 00 72 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 06 00 -T 17 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 06 00 02 09 03 00 -T 1E 00 00 00 FE DD 74 FF 7D B4 28 19 -R 00 00 01 00 -T 26 00 00 00 -R 00 00 01 00 -T 26 00 00 00 DD 6E FC DD 66 FD E5 01 00 00 DD -R 00 00 01 00 -T 31 00 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 00 00 -T 39 00 00 00 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 04 00 00 02 09 03 00 -T 3F 00 00 00 -R 00 00 01 00 -T 3F 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 02 00 diff --git a/lib/relcb/clock.rel b/lib/relcb/clock.rel deleted file mode 100644 index c6a391ac..00000000 --- a/lib/relcb/clock.rel +++ /dev/null @@ -1,28 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?S_MUL_L02 Ref00000000 -S times Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S ?BANK_LEAVE_32_L08 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 32 flags 0 -S clock Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 EC FF 21 00 00 39 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 01 00 -T 0E 00 00 00 00 00 00 00 CD 00 00 00 00 DD 4E -R 00 00 01 00 02 04 01 00 02 09 02 00 -T 15 00 00 00 EE DD 46 EF 11 12 00 CD -R 00 00 01 00 -T 1D 00 00 00 00 00 00 00 01 3C 00 CD -R 00 00 01 00 02 04 00 00 -T 23 00 00 00 00 00 00 00 DD 6E EC DD 66 ED 19 -R 00 00 01 00 02 04 00 00 -T 2C 00 00 00 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 08 05 00 diff --git a/lib/relcb/closedir.rel b/lib/relcb/closedir.rel deleted file mode 100644 index aeefd17f..00000000 --- a/lib/relcb/closedir.rel +++ /dev/null @@ -1,57 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S close Ref00000000 -S free Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 76 flags 0 -S closedir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 7B B2 28 1A 21 -R 00 00 01 00 02 05 03 00 -T 08 00 00 00 06 00 DD 4E 02 DD 46 03 09 7E 23 -R 00 00 01 00 -T 13 00 00 00 B6 28 0B DD 6E 02 DD 66 03 7E 23 -R 00 00 01 00 -T 1E 00 00 00 B6 20 0B -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 21 0E 00 22 00 00 00 00 21 FF FF -R 00 00 01 00 02 08 05 00 -T 2A 00 00 00 18 47 -R 00 00 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 DD 6E 02 DD 66 03 5E 23 56 3E -R 00 00 01 00 -T 36 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 3B 00 00 00 00 00 00 00 21 06 00 DD 4E 02 DD -R 00 00 01 00 02 04 04 00 -T 44 00 00 00 46 03 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 -T 4C 00 00 00 21 00 00 00 00 CD 00 00 00 00 69 -R 00 00 01 00 02 05 02 00 02 0A 04 00 -T 53 00 00 00 60 AF 77 23 77 21 06 00 DD 4E 02 -R 00 00 01 00 -T 5E 00 00 00 DD 46 03 09 AF 77 23 77 59 50 3E -R 00 00 01 00 -T 69 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 6E 00 00 00 00 00 00 00 21 00 00 -R 00 00 01 00 02 04 04 00 -T 73 00 00 00 -R 00 00 01 00 -T 73 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/convtime.rel b/lib/relcb/convtime.rel deleted file mode 100644 index d095d817..00000000 --- a/lib/relcb/convtime.rel +++ /dev/null @@ -1,191 +0,0 @@ -XL4 -H 4 areas 9 global symbols -S ?US_RSH_L02 Ref00000000 -S ?L_MUL_L03 Ref00000000 -S timezone Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S ?L_SUBASG_L03 Ref00000000 -S ?BANK_LEAVE_32_L08 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2CE flags 0 -S convtime Def00000000 -A IDATA0 size 18 flags 0 -A CDATA0 size 18 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D6 FF DD 6E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 66 03 23 23 7E E6 00 5F 23 7E E6 -R 00 00 01 00 -T 14 00 00 00 FE 57 06 09 CD 00 00 00 00 21 -R 00 00 01 00 02 09 00 00 -T 1C 00 00 00 BC 07 19 DD 75 D6 DD 74 D7 01 -R 00 00 01 00 -T 26 00 00 00 B4 07 A7 ED 42 30 0C -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 21 00 00 39 7E C6 64 77 30 02 23 -R 00 00 01 00 -T 38 00 00 00 34 -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 DD 6E 02 DD 66 03 23 23 7E E6 E0 -R 00 00 01 00 -T 44 00 00 00 5F 23 7E E6 01 57 06 05 CD -R 00 00 01 00 -T 4D 00 00 00 00 00 00 00 DD 73 D8 DD 72 D9 DD -R 00 00 01 00 02 04 00 00 -T 56 00 00 00 6E 02 DD 66 03 23 23 7E E6 1F 4F -R 00 00 01 00 -T 61 00 00 00 23 7E E6 00 47 DD 71 DA DD 70 DB -R 00 00 01 00 -T 6C 00 00 00 DD 6E 02 DD 66 03 7E E6 00 5F 23 -R 00 00 01 00 -T 77 00 00 00 7E E6 F8 57 06 0B CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 80 00 00 00 DD 73 DC DD 72 DD DD 6E 02 DD 66 -R 00 00 01 00 -T 8B 00 00 00 03 7E E6 E0 5F 23 7E E6 07 57 06 -R 00 00 01 00 -T 96 00 00 00 05 CD 00 00 00 00 DD 73 DE DD 72 -R 00 00 01 00 02 06 00 00 -T 9F 00 00 00 DF DD 6E 02 DD 66 03 7E E6 1F 4F -R 00 00 01 00 -T AA 00 00 00 23 7E E6 00 47 69 60 29 DD 75 E0 -R 00 00 01 00 -T B5 00 00 00 DD 74 E1 21 4E F8 DD 4E D6 DD 46 -R 00 00 01 00 -T C0 00 00 00 D7 09 DD 75 D6 DD 74 D7 CB 3C CB -R 00 00 01 00 -T CB 00 00 00 1D CB 3C CB 1D DD 75 E2 DD 74 E3 -R 00 00 01 00 -T D6 00 00 00 EB 01 00 00 C5 D5 01 00 00 21 -R 00 00 01 00 -T E0 00 00 00 18 00 CD 00 00 00 00 C5 E5 01 -R 00 00 01 00 02 07 01 00 -T E8 00 00 00 00 00 21 3C 00 CD 00 00 00 00 C5 -R 00 00 01 00 02 0A 01 00 -T F1 00 00 00 E5 01 00 00 21 3C 00 CD -R 00 00 01 00 -T F9 00 00 00 00 00 00 00 DD 75 FC DD 74 FD DD -R 00 00 01 00 02 04 01 00 -T 02 01 00 00 71 FE DD 70 FF DD 7E D6 E6 03 47 -R 00 00 01 00 -T 0D 01 00 00 DD 7E D7 E6 00 B0 20 1B 01 03 00 -R 00 00 01 00 -T 18 01 00 00 DD 6E D8 DD 66 D9 A7 ED 42 30 0D -R 00 00 01 00 -T 23 01 00 00 -R 00 00 01 00 -T 23 01 00 00 -R 00 00 01 00 -T 23 01 00 00 -R 00 00 01 00 -T 23 01 00 00 21 26 00 39 01 01 00 11 80 51 CD -R 00 00 01 00 -T 2E 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 05 00 -T 30 01 00 00 -R 00 00 01 00 -T 30 01 00 00 DD 6E D6 DD 66 D7 01 00 00 C5 E5 -R 00 00 01 00 -T 3B 01 00 00 01 00 00 21 6D 01 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 44 01 00 00 C5 E5 01 00 00 21 18 00 CD -R 00 00 01 00 -T 4D 01 00 00 00 00 00 00 C5 E5 01 00 00 21 -R 00 00 01 00 02 04 01 00 -T 55 01 00 00 3C 00 CD 00 00 00 00 C5 E5 01 -R 00 00 01 00 02 07 01 00 -T 5D 01 00 00 00 00 21 3C 00 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 01 00 -T 66 01 00 00 75 E8 DD 74 E9 DD 71 EA DD 70 EB -R 00 00 01 00 -T 71 01 00 00 DD 6E D8 DD 66 D9 29 01 -R 00 00 01 00 -T 79 01 00 00 FE FF FF FF 09 46 23 66 68 DD 75 -R 00 00 01 00 00 04 02 00 -T 82 01 00 00 D8 DD 74 D9 EB 01 00 00 C5 D5 01 -R 00 00 01 00 -T 8D 01 00 00 00 00 21 18 00 CD 00 00 00 00 C5 -R 00 00 01 00 02 0A 01 00 -T 96 01 00 00 E5 01 00 00 21 3C 00 CD -R 00 00 01 00 -T 9E 01 00 00 00 00 00 00 C5 E5 01 00 00 21 -R 00 00 01 00 02 04 01 00 -T A6 01 00 00 3C 00 CD 00 00 00 00 DD 75 EC DD -R 00 00 01 00 02 07 01 00 -T AF 01 00 00 74 ED DD 71 EE DD 70 EF DD 5E DA -R 00 00 01 00 -T BA 01 00 00 DD 56 DB 01 00 00 C5 D5 01 00 00 -R 00 00 01 00 -T C5 01 00 00 21 18 00 CD 00 00 00 00 C5 E5 01 -R 00 00 01 00 02 08 01 00 -T CE 01 00 00 00 00 21 3C 00 CD 00 00 00 00 C5 -R 00 00 01 00 02 0A 01 00 -T D7 01 00 00 E5 01 00 00 21 3C 00 CD -R 00 00 01 00 -T DF 01 00 00 00 00 00 00 DD 75 F0 DD 74 F1 DD -R 00 00 01 00 02 04 01 00 -T E8 01 00 00 71 F2 DD 70 F3 DD 5E DC DD 56 DD -R 00 00 01 00 -T F3 01 00 00 01 00 00 C5 D5 01 00 00 21 3C 00 -R 00 00 01 00 -T FE 01 00 00 CD 00 00 00 00 C5 E5 01 00 00 21 -R 00 00 01 00 02 05 01 00 -T 07 02 00 00 3C 00 CD 00 00 00 00 DD 75 F4 DD -R 00 00 01 00 02 07 01 00 -T 10 02 00 00 74 F5 DD 71 F6 DD 70 F7 DD 5E DE -R 00 00 01 00 -T 1B 02 00 00 DD 56 DF 01 00 00 C5 D5 01 00 00 -R 00 00 01 00 -T 26 02 00 00 21 3C 00 CD 00 00 00 00 DD 75 F8 -R 00 00 01 00 02 08 01 00 -T 2F 02 00 00 DD 74 F9 DD 71 FA DD 70 FB C5 E5 -R 00 00 01 00 -T 3A 02 00 00 DD 6E E0 DD 66 E1 01 00 00 C5 E5 -R 00 00 01 00 -T 45 02 00 00 DD 6E FC DD 66 FD C1 09 EB DD 6E -R 00 00 01 00 -T 50 02 00 00 FE DD 66 FF C1 ED 4A E5 D5 DD 6E -R 00 00 01 00 -T 5B 02 00 00 E8 DD 66 E9 C1 09 EB DD 6E EA DD -R 00 00 01 00 -T 66 02 00 00 66 EB C1 ED 4A E5 D5 DD 6E EC DD -R 00 00 01 00 -T 71 02 00 00 66 ED C1 09 EB DD 6E EE DD 66 EF -R 00 00 01 00 -T 7C 02 00 00 C1 ED 4A E5 D5 DD 6E F0 DD 66 F1 -R 00 00 01 00 -T 87 02 00 00 C1 09 EB DD 6E F2 DD 66 F3 C1 ED -R 00 00 01 00 -T 92 02 00 00 4A E5 D5 DD 6E F4 DD 66 F5 C1 09 -R 00 00 01 00 -T 9D 02 00 00 EB DD 6E F6 DD 66 F7 C1 ED 4A EB -R 00 00 01 00 -T A8 02 00 00 C1 09 EB C1 ED 4A E5 D5 2A -R 00 00 01 00 -T B1 02 00 00 00 00 00 00 C1 09 EB 2A -R 00 00 01 00 02 04 02 00 -T B7 02 00 00 02 00 00 00 C1 ED 4A 4D 44 EB DD -R 00 00 01 00 02 04 02 00 -T C0 02 00 00 75 E4 DD 74 E5 DD 71 E6 DD 70 E7 -R 00 00 01 00 -T CB 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 1F 00 3B 00 5A 00 78 00 -R 00 00 03 00 -T 0A 00 00 00 97 00 B5 00 D4 00 F3 00 11 01 -R 00 00 03 00 -T 14 00 00 00 30 01 4E 01 -R 00 00 03 00 diff --git a/lib/relcb/crypt.rel b/lib/relcb/crypt.rel deleted file mode 100644 index 5abef5be..00000000 --- a/lib/relcb/crypt.rel +++ /dev/null @@ -1,229 +0,0 @@ -XL4 -H 3 areas E global symbols -S memset Ref00000000 -S memcpy Ref00000000 -S ?L_XOR_L03 Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?L_ORASG_L03 Ref00000000 -S ?L_ADDASG_L03 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?UL_RSHASG_L03 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S ?UL_RSH_L03 Ref00000000 -S .__.ABS. Def00000000 -S ?L_LSH_L03 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2AD flags 0 -S crypt Def00000000 -A UDATA0 size 10 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DC FF DD 36 F8 B9 -R 00 00 01 00 02 05 07 00 -T 09 00 00 00 DD 36 F9 79 DD 36 FA 37 DD 36 FB -R 00 00 01 00 -T 14 00 00 00 9E 21 10 00 E5 01 00 00 11 -R 00 00 01 00 -T 1D 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 2B 09 00 00 -T 22 00 00 00 00 00 00 00 CD 00 00 00 00 F1 21 -R 00 00 01 00 02 04 00 00 02 09 06 00 -T 29 00 00 00 02 00 E5 DD 4E 04 DD 46 05 11 -R 00 00 01 00 -T 33 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 2B 09 01 00 -T 38 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 01 00 02 09 06 00 -T 3F 00 00 00 36 FE 00 -R 00 00 01 00 -T 42 00 00 00 -R 00 00 01 00 -T 42 00 00 00 DD 7E FE FE 0E 30 2E DD 4E FE 06 -R 00 00 01 00 -T 4D 00 00 00 00 DD 6E 02 DD 66 03 09 7E B7 28 -R 00 00 01 00 -T 58 00 00 00 1E -R 00 00 01 00 -T 59 00 00 00 -R 00 00 01 00 -T 59 00 00 00 -R 00 00 01 00 -T 59 00 00 00 -R 00 00 01 00 -T 59 00 00 00 21 02 00 00 00 DD 4E FE 06 00 09 -R 00 00 01 00 00 05 02 00 -T 62 00 00 00 E5 DD 4E FE 06 00 DD 6E 02 DD 66 -R 00 00 01 00 -T 6D 00 00 00 03 09 46 E1 70 DD 34 FE 18 CB -R 00 00 01 00 -T 77 00 00 00 -R 00 00 01 00 -T 77 00 00 00 -R 00 00 01 00 -T 77 00 00 00 DD 4E FE 06 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 82 00 00 00 09 7E B7 28 18 -R 00 00 01 00 -T 87 00 00 00 -R 00 00 01 00 -T 87 00 00 00 DD 4E FE 06 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 92 00 00 00 09 3A 02 00 00 00 86 32 -R 00 00 01 00 00 06 02 00 -T 98 00 00 00 02 00 00 00 DD 34 FE 18 D8 -R 00 00 01 00 00 04 02 00 -T 9F 00 00 00 -R 00 00 01 00 -T 9F 00 00 00 21 10 00 E5 01 00 00 00 00 21 -R 00 00 01 00 00 09 02 00 -T A7 00 00 00 0A 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 01 00 -T AF 00 00 00 00 00 00 00 CD 00 00 00 00 F1 AF -R 00 00 01 00 02 04 01 00 02 09 06 00 -T B6 00 00 00 DD 77 F4 DD 77 F5 DD 77 F6 DD 77 -R 00 00 01 00 -T C1 00 00 00 F7 AF DD 77 E0 DD 77 E1 DD 77 E2 -R 00 00 01 00 -T CC 00 00 00 DD 77 E3 AF DD 77 DC DD 77 DD DD -R 00 00 01 00 -T D7 00 00 00 77 DE DD 77 DF DD 36 FE 40 -R 00 00 01 00 -T E0 00 00 00 -R 00 00 01 00 -T E0 00 00 00 AF DD B6 FE CA 02 02 00 00 -R 00 00 01 00 00 09 01 00 -T E7 00 00 00 -R 00 00 01 00 -T E7 00 00 00 21 18 00 39 DD 4E FA DD 46 FB DD -R 00 00 01 00 -T F2 00 00 00 5E F8 DD 56 F9 CD 00 00 00 00 21 -R 00 00 01 00 02 0A 05 00 -T FB 00 00 00 00 00 39 E5 21 06 00 39 5E 23 56 -R 00 00 01 00 -T 06 01 00 00 23 4E 23 46 EB 3E 05 CD -R 00 00 01 00 -T 0E 01 00 00 00 00 00 00 C5 E5 DD 6E E8 DD 66 -R 00 00 01 00 02 04 0A 00 -T 17 01 00 00 E9 C1 09 EB DD 6E EA DD 66 EB C1 -R 00 00 01 00 -T 22 01 00 00 ED 4A E5 D5 DD 6E E2 DD 66 E3 E5 -R 00 00 01 00 -T 2D 01 00 00 DD 6E E0 DD 66 E1 E5 DD 6E F4 DD -R 00 00 01 00 -T 38 01 00 00 66 F5 C1 09 EB DD 6E F6 DD 66 F7 -R 00 00 01 00 -T 43 01 00 00 C1 ED 4A E5 D5 21 0E 00 39 5E 23 -R 00 00 01 00 -T 4E 01 00 00 56 23 4E 23 46 EB 3E 04 CD -R 00 00 01 00 -T 57 01 00 00 00 00 00 00 C5 E5 DD 6E E4 DD 66 -R 00 00 01 00 02 04 0C 00 -T 60 01 00 00 E5 C1 09 EB DD 6E E6 DD 66 E7 C1 -R 00 00 01 00 -T 6B 01 00 00 ED 4A 4D 44 EB CD 00 00 00 00 CD -R 00 00 01 00 02 0A 02 00 -T 74 01 00 00 00 00 00 00 EB E1 CD 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 0B 05 00 -T 7B 01 00 00 21 04 00 39 E5 21 02 00 39 5E 23 -R 00 00 01 00 -T 86 01 00 00 56 23 4E 23 46 EB 3E 05 CD -R 00 00 01 00 -T 8F 01 00 00 00 00 00 00 C5 E5 DD 6E F0 DD 66 -R 00 00 01 00 02 04 0A 00 -T 98 01 00 00 F1 C1 09 EB DD 6E F2 DD 66 F3 C1 -R 00 00 01 00 -T A3 01 00 00 ED 4A E5 D5 DD 6E DE DD 66 DF E5 -R 00 00 01 00 -T AE 01 00 00 DD 6E DC DD 66 DD E5 DD 6E F4 DD -R 00 00 01 00 -T B9 01 00 00 66 F5 C1 09 EB DD 6E F6 DD 66 F7 -R 00 00 01 00 -T C4 01 00 00 C1 ED 4A E5 D5 21 0A 00 39 5E 23 -R 00 00 01 00 -T CF 01 00 00 56 23 4E 23 46 EB 3E 04 CD -R 00 00 01 00 -T D8 01 00 00 00 00 00 00 C5 E5 DD 6E EC DD 66 -R 00 00 01 00 02 04 0C 00 -T E1 01 00 00 ED C1 09 EB DD 6E EE DD 66 EF C1 -R 00 00 01 00 -T EC 01 00 00 ED 4A 4D 44 EB CD 00 00 00 00 CD -R 00 00 01 00 02 0A 02 00 -T F5 01 00 00 00 00 00 00 EB E1 CD 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 0B 05 00 -T FC 01 00 00 DD 35 FE C3 E0 00 00 00 -R 00 00 01 00 00 08 01 00 -T 02 02 00 00 -R 00 00 01 00 -T 02 02 00 00 21 00 00 39 DD 75 FC DD 74 FD DD -R 00 00 01 00 -T 0D 02 00 00 36 FE 02 -R 00 00 01 00 -T 10 02 00 00 -R 00 00 01 00 -T 10 02 00 00 DD 7E FE FE 0D D2 A3 02 00 00 -R 00 00 01 00 00 0A 01 00 -T 18 02 00 00 -R 00 00 01 00 -T 18 02 00 00 DD 7E FE FE 08 20 28 -R 00 00 01 00 -T 1F 02 00 00 -R 00 00 01 00 -T 1F 02 00 00 21 00 00 39 E5 21 06 00 39 5E 23 -R 00 00 01 00 -T 2A 02 00 00 56 23 4E 23 46 EB 3E 1C CD -R 00 00 01 00 -T 33 02 00 00 00 00 00 00 EB E1 CD 00 00 00 00 -R 00 00 01 00 02 04 0A 00 02 0B 04 00 -T 3A 02 00 00 DD 7E FC C6 04 DD 77 FC 30 03 DD -R 00 00 01 00 -T 45 02 00 00 34 FD -R 00 00 01 00 -T 47 02 00 00 -R 00 00 01 00 -T 47 02 00 00 -R 00 00 01 00 -T 47 02 00 00 DD 6E FC DD 66 FD 5E 23 56 23 4E -R 00 00 01 00 -T 52 02 00 00 23 46 EB 7D E6 3F DD 77 FF 3E 06 -R 00 00 01 00 -T 5D 02 00 00 DD 6E FC DD 66 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T 66 02 00 00 DD 7E FF FE 0C 30 0A -R 00 00 01 00 -T 6D 02 00 00 -R 00 00 01 00 -T 6D 02 00 00 DD 7E FF C6 2E DD 77 FF 18 19 -R 00 00 01 00 -T 77 02 00 00 -R 00 00 01 00 -T 77 02 00 00 DD 7E FF FE 26 30 0A -R 00 00 01 00 -T 7E 02 00 00 -R 00 00 01 00 -T 7E 02 00 00 DD 7E FF C6 35 DD 77 FF 18 08 -R 00 00 01 00 -T 88 02 00 00 -R 00 00 01 00 -T 88 02 00 00 DD 7E FF C6 3B DD 77 FF -R 00 00 01 00 -T 90 02 00 00 -R 00 00 01 00 -T 90 02 00 00 -R 00 00 01 00 -T 90 02 00 00 DD 4E FE 06 00 21 00 00 00 00 09 -R 00 00 01 00 00 0A 02 00 -T 99 02 00 00 DD 46 FF 70 DD 34 FE C3 -R 00 00 01 00 -T A1 02 00 00 10 02 00 00 -R 00 00 01 00 00 04 01 00 -T A3 02 00 00 -R 00 00 01 00 -T A3 02 00 00 AF 32 0D 00 00 00 21 00 00 00 00 -R 00 00 01 00 00 06 02 00 00 0B 02 00 -T AA 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 diff --git a/lib/relcb/ctime.rel b/lib/relcb/ctime.rel deleted file mode 100644 index d7947c20..00000000 --- a/lib/relcb/ctime.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S asctime Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S localtime Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ctime Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 01 00 2B 0A 05 00 -T 06 00 00 00 00 00 00 00 CD 00 00 00 00 EB 3E -R 00 00 01 00 02 04 05 00 02 09 02 00 -T 0D 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 12 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 09 00 00 diff --git a/lib/relcb/ctype.rel b/lib/relcb/ctype.rel deleted file mode 100644 index 30a2d562..00000000 --- a/lib/relcb/ctype.rel +++ /dev/null @@ -1,101 +0,0 @@ -XL4 -H 4 areas 7 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4A flags 0 -S tolower Def00000025 -S toupper Def00000000 -A IDATA0 size 100 flags 0 -S __ctype Def00000000 -A CDATA0 size 100 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 16 00 21 -R 00 00 01 00 02 05 01 00 -T 06 00 00 00 00 00 00 00 19 7E E6 04 28 0E DD -R 00 00 01 00 00 04 02 00 -T 0F 00 00 00 7E 02 EE 20 6F DD 7E 03 EE 00 67 -R 00 00 01 00 -T 1A 00 00 00 18 06 -R 00 00 01 00 -T 1C 00 00 00 -R 00 00 01 00 -T 1C 00 00 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 CD 00 00 00 00 16 00 21 -R 00 00 01 00 02 05 01 00 -T 2B 00 00 00 00 00 00 00 19 7E E6 02 28 0E DD -R 00 00 01 00 00 04 02 00 -T 34 00 00 00 7E 02 EE 20 6F DD 7E 03 EE 00 67 -R 00 00 01 00 -T 3F 00 00 00 18 06 -R 00 00 01 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 01 01 01 01 01 01 01 01 01 11 11 -R 00 00 03 00 -T 0B 00 00 00 11 11 11 01 01 01 01 01 01 01 01 -R 00 00 03 00 -T 16 00 00 00 01 01 01 01 01 01 01 01 01 01 10 -R 00 00 03 00 -T 21 00 00 00 20 20 20 20 20 20 20 20 20 20 20 -R 00 00 03 00 -T 2C 00 00 00 20 20 20 20 48 48 48 48 48 48 48 -R 00 00 03 00 -T 37 00 00 00 48 48 48 20 20 20 20 20 20 20 42 -R 00 00 03 00 -T 42 00 00 00 42 42 42 42 42 02 02 02 02 02 02 -R 00 00 03 00 -T 4D 00 00 00 02 02 02 02 02 02 02 02 02 02 02 -R 00 00 03 00 -T 58 00 00 00 02 02 02 20 20 20 20 20 20 44 44 -R 00 00 03 00 -T 63 00 00 00 44 44 44 44 04 04 04 04 04 04 04 -R 00 00 03 00 -T 6E 00 00 00 04 04 04 04 04 04 04 04 04 04 04 -R 00 00 03 00 -T 79 00 00 00 04 04 20 20 20 20 01 00 00 00 00 -R 00 00 03 00 -T 84 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T 8F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T 9A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T A5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T BB 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T C6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T D1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T DC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T E7 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T F2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T FD 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcb/difftime.rel b/lib/relcb/difftime.rel deleted file mode 100644 index b5c6d8a4..00000000 --- a/lib/relcb/difftime.rel +++ /dev/null @@ -1,85 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S ?L_MUL_L03 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S __tm_conv Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S ?BANK_LEAVE_32_L08 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 152 flags 0 -S difftime Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D4 FF 21 00 00 E5 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 21 02 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 -T 11 00 00 00 21 00 00 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 02 05 04 00 02 0A 02 00 -T 18 00 00 00 21 00 00 E5 DD 4E 02 DD 46 03 21 -R 00 00 01 00 -T 23 00 00 00 14 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 04 00 -T 2B 00 00 00 00 00 00 00 CD 00 00 00 00 E1 DD -R 00 00 01 00 02 04 04 00 02 09 02 00 -T 32 00 00 00 4E D6 DD 46 D7 11 3C 00 CD -R 00 00 01 00 -T 3B 00 00 00 00 00 00 00 D5 DD 4E D8 DD 46 D9 -R 00 00 01 00 02 04 01 00 -T 44 00 00 00 11 10 0E CD 00 00 00 00 EB D1 19 -R 00 00 01 00 02 08 01 00 -T 4D 00 00 00 7C 07 9F 4F 41 C5 E5 DD 6E E2 DD -R 00 00 01 00 -T 58 00 00 00 66 E3 7C 07 9F 4F 41 C5 E5 01 -R 00 00 01 00 -T 62 00 00 00 01 00 21 80 51 CD 00 00 00 00 59 -R 00 00 01 00 02 0A 00 00 -T 6B 00 00 00 50 C1 09 EB C1 ED 4A E5 D5 DD 6E -R 00 00 01 00 -T 76 00 00 00 DE DD 66 DF 7C 07 9F 4F 41 C5 E5 -R 00 00 01 00 -T 81 00 00 00 01 EB 01 21 80 BF CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 8A 00 00 00 59 50 C1 09 EB C1 ED 4A E5 D5 DD -R 00 00 01 00 -T 95 00 00 00 6E D4 DD 66 D5 7C 07 9F 5F 53 C1 -R 00 00 01 00 -T A0 00 00 00 09 EB C1 ED 4A 4D 44 EB DD 75 F8 -R 00 00 01 00 -T AB 00 00 00 DD 74 F9 DD 71 FA DD 70 FB DD 5E -R 00 00 01 00 -T B6 00 00 00 E8 DD 56 E9 01 3C 00 CD -R 00 00 01 00 -T BE 00 00 00 00 00 00 00 D5 DD 4E EA DD 46 EB -R 00 00 01 00 02 04 01 00 -T C7 00 00 00 11 10 0E CD 00 00 00 00 EB D1 19 -R 00 00 01 00 02 08 01 00 -T D0 00 00 00 EB 7A 07 9F 4F 41 C5 D5 DD 6E F4 -R 00 00 01 00 -T DB 00 00 00 DD 66 F5 7C 07 9F 4F 41 C5 E5 01 -R 00 00 01 00 -T E6 00 00 00 01 00 21 80 51 CD 00 00 00 00 59 -R 00 00 01 00 02 0A 00 00 -T EF 00 00 00 50 C1 09 EB C1 ED 4A E5 D5 DD 6E -R 00 00 01 00 -T FA 00 00 00 F0 DD 66 F1 7C 07 9F 4F 41 C5 E5 -R 00 00 01 00 -T 05 01 00 00 01 EB 01 21 80 BF CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 0E 01 00 00 59 50 C1 09 EB C1 ED 4A E5 D5 DD -R 00 00 01 00 -T 19 01 00 00 6E E6 DD 66 E7 7C 07 9F 5F 53 C1 -R 00 00 01 00 -T 24 01 00 00 09 EB C1 ED 4A 4D 44 EB DD 75 FC -R 00 00 01 00 -T 2F 01 00 00 DD 74 FD DD 71 FE DD 70 FF 59 50 -R 00 00 01 00 -T 3A 01 00 00 A7 DD 4E F8 DD 46 F9 ED 42 EB DD -R 00 00 01 00 -T 45 01 00 00 4E FA DD 46 FB ED 42 4D 44 EB C3 -R 00 00 01 00 -T 50 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 06 00 diff --git a/lib/relcb/error.rel b/lib/relcb/error.rel deleted file mode 100644 index 35fca719..00000000 --- a/lib/relcb/error.rel +++ /dev/null @@ -1,249 +0,0 @@ -XL4 -H 6 areas 11 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strchr Ref00000000 -S close Ref00000000 -S strlen Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S strcpy Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S itoa Ref00000000 -S atoi Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S open Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1BD flags 0 -S strerror Def00000000 -A CSTR size 21 flags 0 -A UDATA0 size 50 flags 0 -A IDATA0 size 4 flags 0 -S __sys_errlist Def00000000 -S __sys_nerr Def00000002 -A CDATA0 size 4 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 76 FF AF DD 77 FE -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 DD 77 FF 2A 02 00 00 00 7D B4 28 -R 00 00 01 00 00 08 04 00 -T 12 00 00 00 2B -R 00 00 01 00 -T 13 00 00 00 -R 00 00 01 00 -T 13 00 00 00 DD CB 03 7E 20 0F ED 4B -R 00 00 01 00 -T 1B 00 00 00 02 00 00 00 DD 6E 02 DD 66 03 CD -R 00 00 01 00 00 04 04 00 -T 24 00 00 00 00 00 00 00 38 03 -R 00 00 01 00 02 04 09 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 C3 85 01 00 00 -R 00 00 01 00 00 05 01 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 DD 6E 02 DD 66 03 29 ED 4B -R 00 00 01 00 -T 34 00 00 00 00 00 00 00 09 46 23 66 68 C3 -R 00 00 01 00 00 04 04 00 -T 3C 00 00 00 BA 01 00 00 -R 00 00 01 00 00 04 01 00 -T 3E 00 00 00 -R 00 00 01 00 -T 3E 00 00 00 DD 4E 02 DD 46 03 21 00 00 CD -R 00 00 01 00 -T 48 00 00 00 00 00 00 00 38 03 -R 00 00 01 00 02 04 09 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 C3 85 01 00 00 -R 00 00 01 00 00 05 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 21 00 00 E5 21 00 00 00 00 E5 3E -R 00 00 01 00 00 09 02 00 -T 58 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 -T 5D 00 00 00 00 00 00 00 F1 F1 DD 75 FA DD 74 -R 00 00 01 00 02 04 04 00 -T 66 00 00 00 FB CB 7C 28 03 -R 00 00 01 00 -T 6B 00 00 00 -R 00 00 01 00 -T 6B 00 00 00 C3 85 01 00 00 -R 00 00 01 00 00 05 01 00 -T 6E 00 00 00 -R 00 00 01 00 -T 6E 00 00 00 -R 00 00 01 00 -T 6E 00 00 00 21 80 00 E5 21 04 00 39 4D 44 DD -R 00 00 01 00 -T 79 00 00 00 5E FA DD 56 FB 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0C 00 -T 81 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 0C 00 02 09 04 00 -T 88 00 00 00 75 F8 DD 74 F9 4D 44 21 00 00 CD -R 00 00 01 00 -T 93 00 00 00 00 00 00 00 D2 85 01 00 00 -R 00 00 01 00 02 04 09 00 00 09 01 00 -T 98 00 00 00 -R 00 00 01 00 -T 98 00 00 00 AF DD 77 FC DD 77 FD -R 00 00 01 00 -T 9F 00 00 00 -R 00 00 01 00 -T 9F 00 00 00 DD 4E F8 DD 46 F9 DD 6E FC DD 66 -R 00 00 01 00 -T AA 00 00 00 FD A7 ED 42 D2 82 01 00 00 -R 00 00 01 00 00 09 01 00 -T B1 00 00 00 -R 00 00 01 00 -T B1 00 00 00 21 02 00 39 DD 4E FC DD 46 FD 09 -R 00 00 01 00 -T BC 00 00 00 7E FE 0A C2 4A 01 00 00 -R 00 00 01 00 00 08 01 00 -T C2 00 00 00 -R 00 00 01 00 -T C2 00 00 00 21 00 00 00 00 DD 4E FE DD 46 FF -R 00 00 01 00 00 05 03 00 -T CB 00 00 00 09 36 00 11 00 00 00 00 3E -R 00 00 01 00 00 08 03 00 -T D2 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T D7 00 00 00 00 00 00 00 DD 4E 02 DD 46 03 A7 -R 00 00 01 00 02 04 04 00 -T E0 00 00 00 ED 42 20 5D -R 00 00 01 00 -T E4 00 00 00 -R 00 00 01 00 -T E4 00 00 00 21 00 00 39 E5 01 20 00 11 -R 00 00 01 00 -T ED 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 01 00 -T F2 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 01 00 02 09 04 00 -T F9 00 00 00 E1 71 23 70 79 B0 20 10 -R 00 00 01 00 -T 01 01 00 00 -R 00 00 01 00 -T 01 01 00 00 DD 5E FA DD 56 FB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 -T 09 01 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 02 00 02 0A 04 00 -T 10 01 00 00 74 -R 00 00 01 00 -T 11 01 00 00 -R 00 00 01 00 -T 11 01 00 00 -R 00 00 01 00 -T 11 01 00 00 21 00 00 39 7E 23 66 6F 7E FE 20 -R 00 00 01 00 -T 1C 01 00 00 20 0B -R 00 00 01 00 -T 1E 01 00 00 -R 00 00 01 00 -T 1E 01 00 00 21 00 00 39 34 23 20 01 34 -R 00 00 01 00 -T 27 01 00 00 -R 00 00 01 00 -T 27 01 00 00 18 E8 -R 00 00 01 00 -T 29 01 00 00 -R 00 00 01 00 -T 29 01 00 00 DD 5E FA DD 56 FB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 -T 31 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 02 00 02 0A 04 00 -T 38 01 00 00 00 00 39 46 23 66 68 18 79 -R 00 00 01 00 -T 41 01 00 00 -R 00 00 01 00 -T 41 01 00 00 AF DD 77 FE DD 77 FF 18 2D -R 00 00 01 00 -T 4A 01 00 00 -R 00 00 01 00 -T 4A 01 00 00 01 4F 00 DD 6E FE DD 66 FF A7 ED -R 00 00 01 00 -T 55 01 00 00 42 30 1F -R 00 00 01 00 -T 58 01 00 00 -R 00 00 01 00 -T 58 01 00 00 21 02 00 39 DD 4E FC DD 46 FD 09 -R 00 00 01 00 -T 63 01 00 00 46 DD 6E FE DD 66 FF 23 DD 75 FE -R 00 00 01 00 -T 6E 01 00 00 DD 74 FF 2B 11 00 00 00 00 19 70 -R 00 00 01 00 00 09 03 00 -T 77 01 00 00 -R 00 00 01 00 -T 77 01 00 00 -R 00 00 01 00 -T 77 01 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 7F 01 00 00 -R 00 00 01 00 -T 7F 01 00 00 C3 9F 00 00 00 -R 00 00 01 00 00 05 01 00 -T 82 01 00 00 -R 00 00 01 00 -T 82 01 00 00 C3 6E 00 00 00 -R 00 00 01 00 00 05 01 00 -T 85 01 00 00 -R 00 00 01 00 -T 85 01 00 00 -R 00 00 01 00 -T 85 01 00 00 01 12 00 00 00 11 00 00 00 00 3E -R 00 00 01 00 00 05 02 00 00 0A 03 00 -T 8C 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 -T 91 01 00 00 00 00 00 00 21 0A 00 E5 11 -R 00 00 01 00 02 04 04 00 -T 98 01 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 03 00 -T 9D 01 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 04 03 00 02 09 04 00 -T A3 01 00 00 00 00 00 00 09 4D 44 DD 5E 02 DD -R 00 00 01 00 00 04 03 00 -T AC 01 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 07 00 -T B1 01 00 00 00 00 00 00 CD 00 00 00 00 F1 21 -R 00 00 01 00 02 04 07 00 02 09 04 00 -T B8 01 00 00 00 00 00 00 -R 00 00 01 00 00 04 03 00 -T BA 01 00 00 -R 00 00 01 00 -T BA 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2F 6C 69 62 2F 6C 69 62 65 72 72 -R 00 00 02 00 -T 0B 00 00 00 6F 72 2E 74 78 74 00 -R 00 00 02 00 -T 12 00 00 00 -R 00 00 02 00 -T 12 00 00 00 55 6E 6B 6E 6F 77 6E 20 65 72 72 -R 00 00 02 00 -T 1D 00 00 00 6F 72 20 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 02 00 00 00 -R 00 00 04 00 -T 02 00 00 00 -R 00 00 04 00 -T 00 00 00 00 00 00 00 00 -R 00 00 05 00 diff --git a/lib/relcb/etime.rel b/lib/relcb/etime.rel deleted file mode 100644 index f07123a2..00000000 --- a/lib/relcb/etime.rel +++ /dev/null @@ -1,117 +0,0 @@ -XL4 -H 3 areas E global symbols -S ?S_MUL_L02 Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?SS_MODASG_L02 Ref00000000 -S ?SS_MOD_L02 Ref00000000 -S ?US_MOD_L02 Ref00000000 -S ?SS_DIV_L02 Ref00000000 -S ?US_DIV_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13A flags 0 -S etime Def00000000 -S dout Def0000009D -S ediff Def000000D7 -A UDATA0 size 1A flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 02 00 00 00 22 -R 00 00 01 00 02 05 02 00 00 0A 02 00 -T 07 00 00 00 00 00 00 00 13 13 EB 5E 23 56 01 -R 00 00 01 00 00 04 02 00 -T 10 00 00 00 3C 00 CD 00 00 00 00 3E -R 00 00 01 00 02 07 08 00 -T 16 00 00 00 9D 00 00 00 21 9D 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 1B 00 00 00 00 00 00 00 2A 00 00 00 00 23 22 -R 00 00 01 00 02 04 03 00 00 09 02 00 -T 22 00 00 00 00 00 00 00 2B 36 3A DD 6E 02 DD -R 00 00 01 00 00 04 02 00 -T 2B 00 00 00 66 03 23 23 5E 23 56 01 3C 00 CD -R 00 00 01 00 -T 36 00 00 00 00 00 00 00 3E 9D 00 00 00 21 -R 00 00 01 00 02 04 06 00 29 09 01 00 -T 3B 00 00 00 9D 00 00 00 CD 00 00 00 00 2A -R 00 00 01 00 00 04 01 00 02 09 03 00 -T 41 00 00 00 00 00 00 00 23 22 00 00 00 00 2B -R 00 00 01 00 00 04 02 00 00 0A 02 00 -T 48 00 00 00 36 3A DD 6E 02 DD 66 03 5E 23 56 -R 00 00 01 00 -T 53 00 00 00 01 32 00 CD 00 00 00 00 3E -R 00 00 01 00 02 08 08 00 -T 5A 00 00 00 9D 00 00 00 21 9D 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 5F 00 00 00 00 00 00 00 2A 00 00 00 00 23 22 -R 00 00 01 00 02 04 03 00 00 09 02 00 -T 66 00 00 00 00 00 00 00 2B 36 2E DD 6E 02 DD -R 00 00 01 00 00 04 02 00 -T 6F 00 00 00 66 03 5E 23 56 01 32 00 CD -R 00 00 01 00 -T 78 00 00 00 00 00 00 00 01 0A 00 CD -R 00 00 01 00 02 04 06 00 -T 7E 00 00 00 00 00 00 00 01 32 00 CD -R 00 00 01 00 02 04 00 00 -T 84 00 00 00 00 00 00 00 7B C6 30 2A -R 00 00 01 00 02 04 08 00 -T 8A 00 00 00 00 00 00 00 23 22 00 00 00 00 2B -R 00 00 01 00 00 04 02 00 00 0A 02 00 -T 91 00 00 00 77 2A 00 00 00 00 36 00 21 -R 00 00 01 00 00 06 02 00 -T 98 00 00 00 02 00 00 00 C3 00 00 00 00 -R 00 00 01 00 00 04 02 00 02 09 01 00 -T 9D 00 00 00 -R 00 00 01 00 -T 9D 00 00 00 CD 00 00 00 00 21 02 00 39 01 -R 00 00 01 00 02 05 02 00 -T A5 00 00 00 64 00 CD 00 00 00 00 01 0A 00 CD -R 00 00 01 00 02 07 04 00 -T AE 00 00 00 00 00 00 00 7B C6 30 2A -R 00 00 01 00 02 04 07 00 -T B4 00 00 00 00 00 00 00 23 22 00 00 00 00 2B -R 00 00 01 00 00 04 02 00 00 0A 02 00 -T BB 00 00 00 77 01 0A 00 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T C6 00 00 00 00 00 00 00 7B C6 30 2A -R 00 00 01 00 02 04 05 00 -T CC 00 00 00 00 00 00 00 23 22 00 00 00 00 2B -R 00 00 01 00 00 04 02 00 00 0A 02 00 -T D3 00 00 00 77 C3 00 00 00 00 -R 00 00 01 00 02 06 01 00 -T D7 00 00 00 -R 00 00 01 00 -T D7 00 00 00 CD 00 00 00 00 69 60 4E 23 46 1A -R 00 00 01 00 02 05 02 00 -T E0 00 00 00 6F 13 1A 67 A7 ED 42 30 1E -R 00 00 01 00 -T E9 00 00 00 -R 00 00 01 00 -T E9 00 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 -R 00 00 01 00 -T F4 00 00 00 0B 70 2B 71 DD 6E 02 DD 66 03 7E -R 00 00 01 00 -T FF 00 00 00 C6 B8 77 23 7E CE 0B 77 -R 00 00 01 00 -T 07 01 00 00 -R 00 00 01 00 -T 07 01 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 -R 00 00 01 00 -T 12 01 00 00 DD 6E 02 DD 66 03 23 23 7E 91 77 -R 00 00 01 00 -T 1D 01 00 00 23 7E 98 77 DD 6E 04 DD 66 05 4E -R 00 00 01 00 -T 28 01 00 00 23 46 DD 6E 02 DD 66 03 7E 91 77 -R 00 00 01 00 -T 33 01 00 00 23 7E 98 77 C3 00 00 00 00 -R 00 00 01 00 02 09 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 diff --git a/lib/relcb/execl.rel b/lib/relcb/execl.rel deleted file mode 100644 index 84e34e76..00000000 --- a/lib/relcb/execl.rel +++ /dev/null @@ -1,198 +0,0 @@ -XL4 -H 4 areas E global symbols -S execve Ref00000000 -S environ Ref00000000 -S getenv Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strlen Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S strcpy Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S access Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 158 flags 0 -S execl Def00000139 -S _findPath Def00000000 -A CSTR size 29 flags 0 -A UDATA0 size 101 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 08 00 -T 09 00 00 00 66 03 7E FE 2F 28 0B DD 6E 02 DD -R 00 00 01 00 -T 14 00 00 00 66 03 7E FE 2E 20 09 -R 00 00 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 DD 6E 02 DD 66 03 C3 36 01 00 00 -R 00 00 01 00 00 0B 01 00 -T 24 00 00 00 -R 00 00 01 00 -T 24 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 02 00 -T 2A 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 02 00 02 09 06 00 -T 31 00 00 00 FE DD 74 FF 7D B4 20 08 -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 DD 36 FE 05 00 00 00 DD 36 FF -R 00 00 01 00 09 07 02 00 -T 40 00 00 00 05 00 00 00 -R 00 00 01 00 89 04 02 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 DD 6E FE DD 66 FF AF B6 CA -R 00 00 01 00 -T 4A 00 00 00 19 01 00 00 -R 00 00 01 00 00 04 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 DD 36 FC 00 00 00 00 DD 36 FD -R 00 00 01 00 09 07 03 00 -T 53 00 00 00 00 00 00 00 -R 00 00 01 00 89 04 03 00 -T 54 00 00 00 -R 00 00 01 00 -T 54 00 00 00 DD 6E FE DD 66 FF AF B6 28 3B DD -R 00 00 01 00 -T 5F 00 00 00 6E FE DD 66 FF 23 DD 75 FE DD 74 -R 00 00 01 00 -T 6A 00 00 00 FF 2B 46 DD 6E FC DD 66 FD 70 78 -R 00 00 01 00 -T 75 00 00 00 FE 3A 28 20 -R 00 00 01 00 -T 79 00 00 00 -R 00 00 01 00 -T 79 00 00 00 -R 00 00 01 00 -T 79 00 00 00 -R 00 00 01 00 -T 79 00 00 00 01 00 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 00 05 03 00 -T 82 00 00 00 A7 ED 42 01 01 01 A7 ED 42 38 02 -R 00 00 01 00 -T 8D 00 00 00 -R 00 00 01 00 -T 8D 00 00 00 18 0A -R 00 00 01 00 -T 8F 00 00 00 -R 00 00 01 00 -T 8F 00 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 97 00 00 00 -R 00 00 01 00 -T 97 00 00 00 18 BB -R 00 00 01 00 -T 99 00 00 00 -R 00 00 01 00 -T 99 00 00 00 DD 6E FC DD 66 FD 2B DD 75 FC DD -R 00 00 01 00 -T A4 00 00 00 74 FD 7E FE 2F 28 0F -R 00 00 01 00 -T AB 00 00 00 -R 00 00 01 00 -T AB 00 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD -R 00 00 01 00 -T B6 00 00 00 74 FD 36 2F -R 00 00 01 00 -T BA 00 00 00 -R 00 00 01 00 -T BA 00 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T C2 00 00 00 -R 00 00 01 00 -T C2 00 00 00 01 00 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 00 05 03 00 -T CB 00 00 00 A7 ED 42 E5 DD 5E 02 DD 56 03 3E -R 00 00 01 00 -T D6 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T DB 00 00 00 00 00 00 00 4D 44 E1 09 01 01 01 -R 00 00 01 00 02 04 06 00 -T E4 00 00 00 A7 ED 42 38 02 -R 00 00 01 00 -T E9 00 00 00 -R 00 00 01 00 -T E9 00 00 00 18 2E -R 00 00 01 00 -T EB 00 00 00 -R 00 00 01 00 -T EB 00 00 00 DD 4E 02 DD 46 03 DD 5E FC DD 56 -R 00 00 01 00 -T F6 00 00 00 FD 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 07 00 02 0B 07 00 -T FC 00 00 00 CD 00 00 00 00 01 00 00 11 -R 00 00 01 00 02 05 06 00 -T 03 01 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 09 00 -T 08 01 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 09 00 02 09 06 00 -T 0F 01 00 00 20 05 -R 00 00 01 00 -T 11 01 00 00 -R 00 00 01 00 -T 11 01 00 00 21 00 00 00 00 18 20 -R 00 00 01 00 00 05 03 00 -T 16 01 00 00 -R 00 00 01 00 -T 16 01 00 00 C3 41 00 00 00 -R 00 00 01 00 00 05 01 00 -T 19 01 00 00 -R 00 00 01 00 -T 19 01 00 00 01 00 00 DD 5E 02 DD 56 03 3E -R 00 00 01 00 -T 23 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T 28 01 00 00 00 00 00 00 7D B4 20 05 -R 00 00 01 00 02 04 06 00 -T 2E 01 00 00 -R 00 00 01 00 -T 2E 01 00 00 21 00 00 00 00 18 03 -R 00 00 01 00 00 05 03 00 -T 33 01 00 00 -R 00 00 01 00 -T 33 01 00 00 21 00 00 -R 00 00 01 00 -T 36 01 00 00 -R 00 00 01 00 -T 36 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 39 01 00 00 -R 00 00 01 00 -T 39 01 00 00 CD 00 00 00 00 2A 00 00 00 00 E5 -R 00 00 01 00 02 05 05 00 02 0A 01 00 -T 40 01 00 00 21 0E 00 39 4D 44 DD 5E 0A DD 56 -R 00 00 01 00 -T 4B 01 00 00 0B 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 00 00 02 0B 00 00 -T 51 01 00 00 CD 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 02 0B 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 50 41 54 48 00 -R 00 00 02 00 -T 05 00 00 00 -R 00 00 02 00 -T 05 00 00 00 2E 3A 2F 62 69 6E 3A 2F 75 73 72 -R 00 00 02 00 -T 10 00 00 00 2F 62 69 6E 3A 2F 65 74 63 3A 2F -R 00 00 02 00 -T 1B 00 00 00 75 73 72 2F 6C 6F 63 61 6C 2F 62 -R 00 00 02 00 -T 26 00 00 00 69 6E 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcb/execle.rel b/lib/relcb/execle.rel deleted file mode 100644 index 11e35d20..00000000 --- a/lib/relcb/execle.rel +++ /dev/null @@ -1,37 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S execve Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 48 flags 0 -S execle Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 0E 00 39 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 DD 6E FE DD 66 FF 4D 44 03 03 DD -R 00 00 01 00 -T 1A 00 00 00 71 FE DD 70 FF 7E 23 B6 28 02 -R 00 00 01 00 -T 24 00 00 00 -R 00 00 01 00 -T 24 00 00 00 18 E9 -R 00 00 01 00 -T 26 00 00 00 -R 00 00 01 00 -T 26 00 00 00 DD 6E FE DD 66 FF 4E 23 46 C5 21 -R 00 00 01 00 -T 31 00 00 00 10 00 39 4D 44 DD 5E 0A DD 56 0B -R 00 00 01 00 -T 3C 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 00 00 02 0A 00 00 -T 42 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 0A 01 00 diff --git a/lib/relcb/execlp.rel b/lib/relcb/execlp.rel deleted file mode 100644 index 310eafa4..00000000 --- a/lib/relcb/execlp.rel +++ /dev/null @@ -1,27 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S execve Ref00000000 -S environ Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S _findPath Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S execlp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 2A 00 00 00 00 E5 -R 00 00 01 00 02 05 03 00 02 0A 01 00 -T 07 00 00 00 21 0E 00 39 4D 44 DD 5E 0A DD 56 -R 00 00 01 00 -T 12 00 00 00 0B 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 -T 18 00 00 00 CD 00 00 00 00 EB 3E 00 00 00 00 -R 00 00 01 00 02 05 04 00 2B 0B 00 00 -T 1E 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 00 00 02 0A 04 00 -T 25 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcb/execlpe.rel b/lib/relcb/execlpe.rel deleted file mode 100644 index 729e2c10..00000000 --- a/lib/relcb/execlpe.rel +++ /dev/null @@ -1,42 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S execve Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _findPath Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 51 flags 0 -S execlpe Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 0E 00 39 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 DD 6E FE DD 66 FF 4D 44 03 03 DD -R 00 00 01 00 -T 1A 00 00 00 71 FE DD 70 FF 7E 23 B6 28 02 -R 00 00 01 00 -T 24 00 00 00 -R 00 00 01 00 -T 24 00 00 00 18 E9 -R 00 00 01 00 -T 26 00 00 00 -R 00 00 01 00 -T 26 00 00 00 DD 6E FE DD 66 FF 4E 23 46 C5 21 -R 00 00 01 00 -T 31 00 00 00 10 00 39 4D 44 DD 5E 0A DD 56 0B -R 00 00 01 00 -T 3C 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 04 00 02 0A 04 00 -T 42 00 00 00 00 00 00 00 EB 3E 00 00 00 00 21 -R 00 00 01 00 02 04 02 00 2B 0A 00 00 -T 48 00 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 00 00 02 09 02 00 -T 4F 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relcb/exect.rel b/lib/relcb/exect.rel deleted file mode 100644 index 1b1c988d..00000000 --- a/lib/relcb/exect.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S execve Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S exect Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 00 00 02 0B 00 00 -T 0F 00 00 00 CD 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 02 0B 01 00 diff --git a/lib/relcb/execv.rel b/lib/relcb/execv.rel deleted file mode 100644 index d1999854..00000000 --- a/lib/relcb/execv.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S execve Ref00000000 -S environ Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S execv Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 2A 00 00 00 00 E5 -R 00 00 01 00 02 05 03 00 02 0A 01 00 -T 07 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 00 00 02 0A 00 00 -T 0D 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 04 00 02 0A 02 00 diff --git a/lib/relcb/execvp.rel b/lib/relcb/execvp.rel deleted file mode 100644 index 87569559..00000000 --- a/lib/relcb/execvp.rel +++ /dev/null @@ -1,25 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S execve Ref00000000 -S environ Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S _findPath Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1C flags 0 -S execvp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 2A 00 00 00 00 E5 -R 00 00 01 00 02 05 03 00 02 0A 01 00 -T 07 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 05 00 02 0A 05 00 -T 0D 00 00 00 00 00 00 00 EB 3E 00 00 00 00 21 -R 00 00 01 00 02 04 04 00 2B 0A 00 00 -T 13 00 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 00 00 02 09 04 00 -T 1A 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relcb/execvpe.rel b/lib/relcb/execvpe.rel deleted file mode 100644 index fa5b6b74..00000000 --- a/lib/relcb/execvpe.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S execve Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S _findPath Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1F flags 0 -S execvpe Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 04 00 02 0B 04 00 -T 0F 00 00 00 CD 00 00 00 00 EB 3E 00 00 00 00 -R 00 00 01 00 02 05 03 00 2B 0B 00 00 -T 15 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 00 00 02 0A 03 00 -T 1C 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcb/exit.rel b/lib/relcb/exit.rel deleted file mode 100644 index af114afb..00000000 --- a/lib/relcb/exit.rel +++ /dev/null @@ -1,34 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S _exit Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S __cleanup Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 30 flags 0 -S exit Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 2A 00 00 00 00 3A -R 00 00 01 00 02 05 02 00 02 0A 04 00 -T 07 00 00 00 02 00 00 00 B5 B4 28 12 -R 00 00 01 00 02 04 04 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 01 00 00 DD 5E 02 DD 56 03 3A -R 00 00 01 00 -T 17 00 00 00 02 00 00 00 2A 00 00 00 00 CD -R 00 00 01 00 02 04 04 00 02 09 04 00 -T 1D 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 03 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 01 00 -T 27 00 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 01 00 02 0A 03 00 -T 2E 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 diff --git a/lib/relcb/fclose.rel b/lib/relcb/fclose.rel deleted file mode 100644 index 00b05135..00000000 --- a/lib/relcb/fclose.rel +++ /dev/null @@ -1,155 +0,0 @@ -XL4 -H 2 areas B global symbols -S fflush Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S close Ref00000000 -S free Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S __IO_list Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 171 flags 0 -S fclose Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF AF DD 77 FA -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 DD 77 FB DD 7E 02 DD B6 03 20 0C -R 00 00 01 00 -T 14 00 00 00 -R 00 00 01 00 -T 14 00 00 00 21 16 00 22 00 00 00 00 21 FF FF -R 00 00 01 00 02 08 05 00 -T 1D 00 00 00 C3 6E 01 00 00 -R 00 00 01 00 00 05 01 00 -T 20 00 00 00 -R 00 00 01 00 -T 20 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 00 00 -T 28 00 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 00 00 02 0A 04 00 -T 2F 00 00 00 B4 28 06 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 21 FF FF C3 6E 01 00 00 -R 00 00 01 00 00 08 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 43 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 02 00 -T 48 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 02 00 02 09 04 00 -T 4F 00 00 00 28 08 -R 00 00 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 DD 36 FA FF DD 36 FB FF -R 00 00 01 00 -T 59 00 00 00 -R 00 00 01 00 -T 59 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 36 -R 00 00 01 00 -T 64 00 00 00 FF 23 36 FF 21 0C 00 09 7E E6 04 -R 00 00 01 00 -T 6F 00 00 00 28 34 -R 00 00 01 00 -T 71 00 00 00 -R 00 00 01 00 -T 71 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 7C 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 03 00 -T 81 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 03 00 02 09 04 00 -T 87 00 00 00 0C 00 09 7E E6 FB 77 23 7E E6 FF -R 00 00 01 00 -T 92 00 00 00 77 21 06 00 09 E5 21 08 00 09 AF -R 00 00 01 00 -T 9D 00 00 00 77 23 77 E1 AF 77 23 77 -R 00 00 01 00 -T A5 00 00 00 -R 00 00 01 00 -T A5 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T B0 00 00 00 E6 08 CA 5A 01 00 00 -R 00 00 01 00 00 07 01 00 -T B5 00 00 00 -R 00 00 01 00 -T B5 00 00 00 2A 00 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 02 05 07 00 -T BE 00 00 00 AF DD 77 FE DD 77 FF 21 0C 00 DD -R 00 00 01 00 -T C9 00 00 00 4E 02 DD 46 03 09 AF 77 23 77 -R 00 00 01 00 -T D3 00 00 00 -R 00 00 01 00 -T D3 00 00 00 DD 7E FC DD B6 FD 28 27 DD 6E 02 -R 00 00 01 00 -T DE 00 00 00 DD 66 03 DD 4E FC DD 46 FD A7 ED -R 00 00 01 00 -T E9 00 00 00 42 28 16 -R 00 00 01 00 -T EC 00 00 00 -R 00 00 01 00 -T EC 00 00 00 -R 00 00 01 00 -T EC 00 00 00 -R 00 00 01 00 -T EC 00 00 00 21 16 00 DD 4E FC DD 46 FD 09 56 -R 00 00 01 00 -T F7 00 00 00 23 66 6A DD 75 FC DD 74 FD 18 D1 -R 00 00 01 00 -T 02 01 00 00 -R 00 00 01 00 -T 02 01 00 00 DD 6E 02 DD 66 03 DD 4E FC DD 46 -R 00 00 01 00 -T 0D 01 00 00 FD A7 ED 42 20 37 -R 00 00 01 00 -T 13 01 00 00 -R 00 00 01 00 -T 13 01 00 00 DD 7E FE DD B6 FF 20 13 -R 00 00 01 00 -T 1B 01 00 00 -R 00 00 01 00 -T 1B 01 00 00 21 16 00 DD 4E 02 DD 46 03 09 46 -R 00 00 01 00 -T 26 01 00 00 23 66 68 22 00 00 00 00 18 1C -R 00 00 01 00 02 08 07 00 -T 2E 01 00 00 -R 00 00 01 00 -T 2E 01 00 00 21 16 00 DD 4E FE DD 46 FF 09 E5 -R 00 00 01 00 -T 39 01 00 00 21 16 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 44 01 00 00 23 46 E1 71 23 70 -R 00 00 01 00 -T 4A 01 00 00 -R 00 00 01 00 -T 4A 01 00 00 -R 00 00 01 00 -T 4A 01 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 03 00 -T 52 01 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 03 00 02 0A 04 00 -T 59 01 00 00 0E -R 00 00 01 00 -T 5A 01 00 00 -R 00 00 01 00 -T 5A 01 00 00 21 0C 00 DD 4E 02 DD 46 03 09 AF -R 00 00 01 00 -T 65 01 00 00 77 23 77 -R 00 00 01 00 -T 68 01 00 00 -R 00 00 01 00 -T 68 01 00 00 DD 6E FA DD 66 FB -R 00 00 01 00 -T 6E 01 00 00 -R 00 00 01 00 -T 6E 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcb/fflush.rel b/lib/relcb/fflush.rel deleted file mode 100644 index 87dfb3fb..00000000 --- a/lib/relcb/fflush.rel +++ /dev/null @@ -1,208 +0,0 @@ -XL4 -H 2 areas E global symbols -S _write Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S stderr Ref00000000 -S lseek Ref00000000 -S stdin Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S stdout Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S __IO_list Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 213 flags 0 -S fflush Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF AF DD 77 FE -R 00 00 01 00 02 05 08 00 -T 09 00 00 00 DD 77 FF DD 7E 02 DD B6 03 20 78 -R 00 00 01 00 -T 14 00 00 00 -R 00 00 01 00 -T 14 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 04 00 29 0A 01 00 -T 1A 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 00 04 01 00 02 09 05 00 -T 21 00 00 00 20 1E 11 00 00 00 00 3E -R 00 00 01 00 02 07 06 00 -T 27 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 2C 00 00 00 00 00 00 00 7D B4 20 0F 11 -R 00 00 01 00 02 04 05 00 -T 33 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 02 00 29 09 01 00 -T 38 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 00 04 01 00 02 09 05 00 -T 3F 00 00 00 28 06 -R 00 00 01 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 21 FF FF C3 10 02 00 00 -R 00 00 01 00 00 08 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 2A 00 00 00 00 DD 75 02 DD 74 03 -R 00 00 01 00 02 05 0A 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 DD 7E 02 DD B6 03 28 2E -R 00 00 01 00 -T 58 00 00 00 -R 00 00 01 00 -T 58 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 29 0B 01 00 -T 60 00 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 00 05 01 00 02 0A 05 00 -T 67 00 00 00 B4 28 06 -R 00 00 01 00 -T 6A 00 00 00 -R 00 00 01 00 -T 6A 00 00 00 21 FF FF C3 10 02 00 00 -R 00 00 01 00 00 08 01 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 21 16 00 DD 4E 02 DD 46 03 09 56 -R 00 00 01 00 -T 7B 00 00 00 23 66 6A DD 75 02 DD 74 03 18 CA -R 00 00 01 00 -T 86 00 00 00 -R 00 00 01 00 -T 86 00 00 00 21 00 00 C3 10 02 00 00 -R 00 00 01 00 00 08 01 00 -T 8C 00 00 00 -R 00 00 01 00 -T 8C 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 97 00 00 00 E6 80 CA 66 01 00 00 -R 00 00 01 00 00 07 01 00 -T 9C 00 00 00 -R 00 00 01 00 -T 9C 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T A7 00 00 00 23 56 0A 6F 03 0A 67 A7 ED 52 DD -R 00 00 01 00 -T B2 00 00 00 75 FA DD 74 FB 7D B4 CA -R 00 00 01 00 -T BA 00 00 00 64 01 00 00 -R 00 00 01 00 00 04 01 00 -T BC 00 00 00 -R 00 00 01 00 -T BC 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 46 -R 00 00 01 00 -T C7 00 00 00 23 66 68 DD 75 F8 DD 74 F9 -R 00 00 01 00 -T D0 00 00 00 -R 00 00 01 00 -T D0 00 00 00 DD 6E FA DD 66 FB E5 DD 4E F8 DD -R 00 00 01 00 -T DB 00 00 00 46 F9 21 0A 00 DD 5E 02 DD 56 03 -R 00 00 01 00 -T E6 00 00 00 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 00 00 -T ED 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 00 00 02 09 05 00 -T F4 00 00 00 75 FC DD 74 FD 4D 44 21 00 00 CD -R 00 00 01 00 -T FF 00 00 00 00 00 00 00 30 1E -R 00 00 01 00 02 04 09 00 -T 03 01 00 00 -R 00 00 01 00 -T 03 01 00 00 21 00 00 39 7E DD 86 FC 77 23 7E -R 00 00 01 00 -T 0E 01 00 00 DD 8E FD 77 21 02 00 39 7E DD 96 -R 00 00 01 00 -T 19 01 00 00 FC 77 23 7E DD 9E FD 77 -R 00 00 01 00 -T 21 01 00 00 -R 00 00 01 00 -T 21 01 00 00 DD 4E FC DD 46 FD 21 00 00 CD -R 00 00 01 00 -T 2B 01 00 00 00 00 00 00 38 A1 DD 7E FC DD A6 -R 00 00 01 00 02 04 09 00 -T 34 01 00 00 FD 3C 20 09 2A 00 00 00 00 3E 04 -R 00 00 01 00 02 09 07 00 -T 3D 01 00 00 AD B4 28 8F -R 00 00 01 00 -T 41 01 00 00 -R 00 00 01 00 -T 41 01 00 00 DD 7E FA DD B6 FB 28 1B -R 00 00 01 00 -T 49 01 00 00 -R 00 00 01 00 -T 49 01 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 54 01 00 00 F6 00 77 23 7E F6 02 77 DD 36 FE -R 00 00 01 00 -T 5F 01 00 00 FF DD 36 FF FF -R 00 00 01 00 -T 64 01 00 00 -R 00 00 01 00 -T 64 01 00 00 -R 00 00 01 00 -T 64 01 00 00 18 6A -R 00 00 01 00 -T 66 01 00 00 -R 00 00 01 00 -T 66 01 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 71 01 00 00 E6 40 28 5B -R 00 00 01 00 -T 75 01 00 00 -R 00 00 01 00 -T 75 01 00 00 DD 6E 02 DD 66 03 4E 23 46 DD 6E -R 00 00 01 00 -T 80 01 00 00 02 DD 66 03 23 23 56 23 66 6A A7 -R 00 00 01 00 -T 8B 01 00 00 ED 42 DD 75 FA DD 74 FB 4D 44 21 -R 00 00 01 00 -T 96 01 00 00 00 00 CD 00 00 00 00 30 33 21 -R 00 00 01 00 02 07 09 00 -T 9E 01 00 00 01 00 E5 DD 4E FA DD 46 FB A7 21 -R 00 00 01 00 -T A9 01 00 00 00 00 ED 42 7C 07 9F 4F 41 C5 E5 -R 00 00 01 00 -T B4 01 00 00 21 0A 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T BF 01 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 03 00 -T C4 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 02 09 05 00 -T CB 01 00 00 F1 CB 78 28 00 -R 00 00 01 00 -T D0 01 00 00 -R 00 00 01 00 -T D0 01 00 00 -R 00 00 01 00 -T D0 01 00 00 -R 00 00 01 00 -T D0 01 00 00 -R 00 00 01 00 -T D0 01 00 00 -R 00 00 01 00 -T D0 01 00 00 -R 00 00 01 00 -T D0 01 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T DB 01 00 00 E6 3F 77 23 7E E6 FA 77 69 60 23 -R 00 00 01 00 -T E6 01 00 00 23 E5 21 04 00 DD 4E 02 DD 46 03 -R 00 00 01 00 -T F1 01 00 00 09 E5 21 06 00 09 56 23 66 6A E5 -R 00 00 01 00 -T FC 01 00 00 69 60 C1 71 23 70 E1 71 23 70 E1 -R 00 00 01 00 -T 07 02 00 00 71 23 70 DD 6E FE DD 66 FF -R 00 00 01 00 -T 10 02 00 00 -R 00 00 01 00 -T 10 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcb/fgetc.rel b/lib/relcb/fgetc.rel deleted file mode 100644 index 57c007f3..00000000 --- a/lib/relcb/fgetc.rel +++ /dev/null @@ -1,94 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S fread Ref00000000 -S fflush Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 110 flags 0 -S fgetc Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 0C 00 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 4E 02 DD 46 03 09 7E E6 80 28 0E -R 00 00 01 00 -T 14 00 00 00 -R 00 00 01 00 -T 14 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 01 00 -T 1C 00 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 01 00 02 0A 03 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 2D 00 00 00 E6 10 4F 23 7E E6 03 47 3E 10 A9 -R 00 00 01 00 -T 38 00 00 00 B0 28 06 -R 00 00 01 00 -T 3B 00 00 00 -R 00 00 01 00 -T 3B 00 00 00 21 FF FF C3 0D 01 00 00 -R 00 00 01 00 00 08 01 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 -R 00 00 01 00 -T 4C 00 00 00 DD 6E 02 DD 66 03 56 23 66 6A A7 -R 00 00 01 00 -T 57 00 00 00 ED 42 DA F3 00 00 00 -R 00 00 01 00 00 07 01 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 DD 6E 02 DD 66 03 23 23 E5 21 -R 00 00 01 00 -T 66 00 00 00 06 00 DD 4E 02 DD 46 03 09 5E 23 -R 00 00 01 00 -T 71 00 00 00 56 E1 73 23 72 69 60 73 23 72 DD -R 00 00 01 00 -T 7C 00 00 00 6E 02 DD 66 03 E5 21 06 00 DD 4E -R 00 00 01 00 -T 87 00 00 00 02 DD 46 03 09 5E 23 56 21 08 00 -R 00 00 01 00 -T 92 00 00 00 09 7E 23 66 6F A7 ED 52 E5 01 -R 00 00 01 00 -T 9C 00 00 00 01 00 DD 6E 02 DD 66 03 5E 23 56 -R 00 00 01 00 -T A7 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 00 00 02 0A 00 00 -T AD 00 00 00 00 00 00 00 F1 F1 DD 75 FE DD 74 -R 00 00 01 00 02 04 03 00 -T B6 00 00 00 FF 7D B4 20 05 -R 00 00 01 00 -T BB 00 00 00 -R 00 00 01 00 -T BB 00 00 00 21 FF FF 18 4D -R 00 00 01 00 -T C0 00 00 00 -R 00 00 01 00 -T C0 00 00 00 DD 6E 02 DD 66 03 23 23 7E DD 86 -R 00 00 01 00 -T CB 00 00 00 FE 77 23 7E DD 8E FF 77 21 0C 00 -R 00 00 01 00 -T D6 00 00 00 DD 4E 02 DD 46 03 09 7E F6 40 77 -R 00 00 01 00 -T E1 00 00 00 23 7E F6 00 77 21 0C 00 09 7E E6 -R 00 00 01 00 -T EC 00 00 00 FF 77 23 7E E6 FB 77 -R 00 00 01 00 -T F3 00 00 00 -R 00 00 01 00 -T F3 00 00 00 DD 6E 02 DD 66 03 4E 23 46 03 70 -R 00 00 01 00 -T FE 00 00 00 2B 71 0B 0A 4F 06 00 DD 71 FE DD -R 00 00 01 00 -T 09 01 00 00 70 FF 69 60 -R 00 00 01 00 -T 0D 01 00 00 -R 00 00 01 00 -T 0D 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcb/fgetgren.rel b/lib/relcb/fgetgren.rel deleted file mode 100644 index 9df86ec2..00000000 --- a/lib/relcb/fgetgren.rel +++ /dev/null @@ -1,34 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S __getgrent Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2A flags 0 -S fgetgrent Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 7B B2 20 0B -R 00 00 01 00 02 05 02 00 -T 07 00 00 00 -R 00 00 01 00 -T 07 00 00 00 21 04 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 04 00 -T 10 00 00 00 18 15 -R 00 00 01 00 -T 12 00 00 00 -R 00 00 01 00 -T 12 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 1D 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 01 00 -T 22 00 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 03 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/fgetpwen.rel b/lib/relcb/fgetpwen.rel deleted file mode 100644 index 742389ab..00000000 --- a/lib/relcb/fgetpwen.rel +++ /dev/null @@ -1,34 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S __getpwent Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2A flags 0 -S fgetpwent Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 7B B2 20 0B -R 00 00 01 00 02 05 01 00 -T 07 00 00 00 -R 00 00 01 00 -T 07 00 00 00 21 04 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 03 00 -T 10 00 00 00 18 15 -R 00 00 01 00 -T 12 00 00 00 -R 00 00 01 00 -T 12 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 1D 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 04 00 -T 22 00 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 04 00 02 09 02 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/fgets.rel b/lib/relcb/fgets.rel deleted file mode 100644 index d9a1981b..00000000 --- a/lib/relcb/fgets.rel +++ /dev/null @@ -1,83 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S fgetc Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size A5 flags 0 -S fgets Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF DD 71 FA DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 70 FB DD 6E 02 DD 66 03 DD 75 FE -R 00 00 01 00 -T 14 00 00 00 DD 74 FF -R 00 00 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 DD 6E FA DD 66 FB 2B DD 75 FA DD -R 00 00 01 00 -T 22 00 00 00 74 FB 23 7D B4 28 51 -R 00 00 01 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 00 00 -T 31 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 00 00 02 0A 02 00 -T 38 00 00 00 75 FC DD 74 FD 7D A4 3C 20 18 -R 00 00 01 00 -T 42 00 00 00 -R 00 00 01 00 -T 42 00 00 00 DD 6E FE DD 66 FF DD 4E 02 DD 46 -R 00 00 01 00 -T 4D 00 00 00 03 A7 ED 42 20 05 -R 00 00 01 00 -T 53 00 00 00 -R 00 00 01 00 -T 53 00 00 00 21 00 00 18 4A -R 00 00 01 00 -T 58 00 00 00 -R 00 00 01 00 -T 58 00 00 00 18 20 -R 00 00 01 00 -T 5A 00 00 00 -R 00 00 01 00 -T 5A 00 00 00 DD 46 FC DD 6E 02 DD 66 03 23 DD -R 00 00 01 00 -T 65 00 00 00 75 02 DD 74 03 2B 70 3E 0A DD AE -R 00 00 01 00 -T 70 00 00 00 FC DD B6 FD 20 02 -R 00 00 01 00 -T 76 00 00 00 -R 00 00 01 00 -T 76 00 00 00 18 02 -R 00 00 01 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 18 9D -R 00 00 01 00 -T 7A 00 00 00 -R 00 00 01 00 -T 7A 00 00 00 DD 6E 02 DD 66 03 36 00 21 0C 00 -R 00 00 01 00 -T 85 00 00 00 DD 4E 0A DD 46 0B 09 7E E6 00 47 -R 00 00 01 00 -T 90 00 00 00 23 7E E6 02 B0 28 05 21 00 00 18 -R 00 00 01 00 -T 9B 00 00 00 06 -R 00 00 01 00 -T 9C 00 00 00 -R 00 00 01 00 -T 9C 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 -T A2 00 00 00 -R 00 00 01 00 -T A2 00 00 00 -R 00 00 01 00 -T A2 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcb/fopen.rel b/lib/relcb/fopen.rel deleted file mode 100644 index 1ea940db..00000000 --- a/lib/relcb/fopen.rel +++ /dev/null @@ -1,254 +0,0 @@ -XL4 -H 2 areas E global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?C_V_SWITCH_L06 Ref00000000 -S isatty Ref00000000 -S free Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S calloc Ref00000000 -S __IO_list Ref00000000 -S open Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S fclose Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2B9 flags 0 -S __fopen Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF AF DD 77 FA -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 DD 77 FB AF DD 77 FC DD 77 FD AF -R 00 00 01 00 -T 14 00 00 00 DD 77 FE DD 77 FF DD 7E 0A DD B6 -R 00 00 01 00 -T 1F 00 00 00 0B 28 35 -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 7E -R 00 00 01 00 -T 2D 00 00 00 E6 0F 5F 23 7E E6 00 57 21 02 00 -R 00 00 01 00 -T 38 00 00 00 39 7E B3 77 23 7E B2 77 21 0C 00 -R 00 00 01 00 -T 43 00 00 00 09 7E E6 F3 77 23 7E E6 FF 77 59 -R 00 00 01 00 -T 4E 00 00 00 50 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 -T 54 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 DD 6E 0C DD 66 0D AF B6 28 70 -R 00 00 01 00 -T 61 00 00 00 -R 00 00 01 00 -T 61 00 00 00 DD 6E 0C DD 66 0D 23 DD 75 0C DD -R 00 00 01 00 -T 6C 00 00 00 74 0D 2B 5E CD 00 00 00 00 04 00 -R 00 00 01 00 02 09 01 00 -T 75 00 00 00 2B 61 72 77 CF 00 00 00 -R 00 00 01 00 00 08 01 00 -T 7B 00 00 00 92 00 00 00 83 00 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 7F 00 00 00 A9 00 00 00 C0 00 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 83 00 00 00 -R 00 00 01 00 -T 83 00 00 00 21 02 00 39 7E F6 10 77 23 7E F6 -R 00 00 01 00 -T 8E 00 00 00 00 77 18 3D -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 21 02 00 39 7E F6 20 77 23 7E F6 -R 00 00 01 00 -T 9D 00 00 00 00 77 DD 36 FA 00 DD 36 FB 03 18 -R 00 00 01 00 -T A8 00 00 00 26 -R 00 00 01 00 -T A9 00 00 00 -R 00 00 01 00 -T A9 00 00 00 21 02 00 39 7E F6 20 77 23 7E F6 -R 00 00 01 00 -T B4 00 00 00 00 77 DD 36 FA 00 DD 36 FB 21 18 -R 00 00 01 00 -T BF 00 00 00 0F -R 00 00 01 00 -T C0 00 00 00 -R 00 00 01 00 -T C0 00 00 00 21 02 00 39 7E F6 30 77 23 7E F6 -R 00 00 01 00 -T CB 00 00 00 00 77 18 00 -R 00 00 01 00 -T CF 00 00 00 -R 00 00 01 00 -T CF 00 00 00 18 86 -R 00 00 01 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 DD 7E FC E6 30 4F DD 7E FD E6 00 -R 00 00 01 00 -T DC 00 00 00 47 79 B0 20 06 -R 00 00 01 00 -T E1 00 00 00 -R 00 00 01 00 -T E1 00 00 00 21 00 00 C3 B6 02 00 00 -R 00 00 01 00 00 08 01 00 -T E7 00 00 00 -R 00 00 01 00 -T E7 00 00 00 3E 10 A9 B0 20 02 18 24 -R 00 00 01 00 -T EF 00 00 00 -R 00 00 01 00 -T EF 00 00 00 3E 20 A9 B0 20 0F 21 00 00 39 7E -R 00 00 01 00 -T FA 00 00 00 F6 01 77 23 7E F6 00 77 18 0F -R 00 00 01 00 -T 04 01 00 00 -R 00 00 01 00 -T 04 01 00 00 21 00 00 39 7E F6 02 77 23 7E F6 -R 00 00 01 00 -T 0F 01 00 00 00 77 18 00 -R 00 00 01 00 -T 13 01 00 00 -R 00 00 01 00 -T 13 01 00 00 DD 7E 0A DD B6 0B 20 1E 01 18 00 -R 00 00 01 00 -T 1E 01 00 00 11 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 07 00 -T 24 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 07 00 02 09 04 00 -T 2B 01 00 00 FE DD 74 FF 7D B4 20 06 -R 00 00 01 00 -T 33 01 00 00 -R 00 00 01 00 -T 33 01 00 00 -R 00 00 01 00 -T 33 01 00 00 -R 00 00 01 00 -T 33 01 00 00 21 00 00 C3 B6 02 00 00 -R 00 00 01 00 00 08 01 00 -T 39 01 00 00 -R 00 00 01 00 -T 39 01 00 00 DD 7E 02 DD B6 03 28 23 -R 00 00 01 00 -T 41 01 00 00 -R 00 00 01 00 -T 41 01 00 00 21 B6 01 E5 DD 6E FA DD 66 FB E5 -R 00 00 01 00 -T 4C 01 00 00 DD 6E 02 DD 66 03 E5 3E -R 00 00 01 00 -T 54 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T 59 01 00 00 00 00 00 00 F1 F1 F1 DD 75 04 DD -R 00 00 01 00 02 04 04 00 -T 62 01 00 00 74 05 -R 00 00 01 00 -T 64 01 00 00 -R 00 00 01 00 -T 64 01 00 00 DD CB 05 7E 28 2E -R 00 00 01 00 -T 6A 01 00 00 -R 00 00 01 00 -T 6A 01 00 00 2A 00 00 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 02 05 05 00 -T 73 01 00 00 DD 7E FE DD B6 FF 28 0E -R 00 00 01 00 -T 7B 01 00 00 -R 00 00 01 00 -T 7B 01 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 03 00 -T 83 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 03 00 02 0A 04 00 -T 89 01 00 00 -R 00 00 01 00 -T 89 01 00 00 DD 6E FA DD 66 FB 22 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 92 01 00 00 21 00 00 C3 B6 02 00 00 -R 00 00 01 00 00 08 01 00 -T 98 01 00 00 -R 00 00 01 00 -T 98 01 00 00 DD 7E 0A DD B6 0B C2 6A 02 00 00 -R 00 00 01 00 00 0B 01 00 -T A1 01 00 00 -R 00 00 01 00 -T A1 01 00 00 DD 6E FE DD 66 FF DD 75 0A DD 74 -R 00 00 01 00 -T AC 01 00 00 0B 01 16 00 09 ED 4B 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T B5 01 00 00 71 23 70 DD 6E 0A DD 66 0B 22 -R 00 00 01 00 -T BF 01 00 00 00 00 00 00 21 0C 00 DD 4E 0A DD -R 00 00 01 00 02 04 08 00 -T C8 01 00 00 46 0B 09 36 08 23 36 00 DD 5E 04 -R 00 00 01 00 -T D3 01 00 00 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 02 00 -T D9 01 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 02 00 02 09 04 00 -T E0 01 00 00 28 13 -R 00 00 01 00 -T E2 01 00 00 -R 00 00 01 00 -T E2 01 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 7E -R 00 00 01 00 -T ED 01 00 00 F6 01 77 23 7E F6 00 77 -R 00 00 01 00 -T F5 01 00 00 -R 00 00 01 00 -T F5 01 00 00 21 06 00 DD 4E 0A DD 46 0B 09 E5 -R 00 00 01 00 -T 00 02 00 00 01 00 01 11 01 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T 08 02 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 07 00 02 0A 04 00 -T 0F 02 00 00 44 E1 71 23 70 79 B0 20 29 -R 00 00 01 00 -T 18 02 00 00 -R 00 00 01 00 -T 18 02 00 00 21 06 00 DD 4E 0A DD 46 0B 09 E5 -R 00 00 01 00 -T 23 02 00 00 21 0E 00 09 EB E1 73 23 72 21 -R 00 00 01 00 -T 2D 02 00 00 08 00 09 E5 21 0E 00 09 01 08 00 -R 00 00 01 00 -T 38 02 00 00 09 4D 44 E1 71 23 70 18 29 -R 00 00 01 00 -T 41 02 00 00 -R 00 00 01 00 -T 41 02 00 00 21 08 00 DD 4E 0A DD 46 0B 09 E5 -R 00 00 01 00 -T 4C 02 00 00 21 06 00 09 56 23 66 6A 3E 01 84 -R 00 00 01 00 -T 57 02 00 00 67 EB E1 73 23 72 21 0C 00 09 7E -R 00 00 01 00 -T 62 02 00 00 F6 04 77 23 7E F6 00 77 -R 00 00 01 00 -T 6A 02 00 00 -R 00 00 01 00 -T 6A 02 00 00 -R 00 00 01 00 -T 6A 02 00 00 DD 6E 0A DD 66 0B 23 23 E5 21 -R 00 00 01 00 -T 74 02 00 00 04 00 DD 4E 0A DD 46 0B 09 E5 21 -R 00 00 01 00 -T 7F 02 00 00 06 00 09 5E 23 56 E1 73 23 72 E1 -R 00 00 01 00 -T 8A 02 00 00 73 23 72 69 60 73 23 72 21 0C 00 -R 00 00 01 00 -T 95 02 00 00 DD 4E 0A DD 46 0B 09 7E DD B6 FC -R 00 00 01 00 -T A0 02 00 00 77 23 7E DD B6 FD 77 21 0A 00 09 -R 00 00 01 00 -T AB 02 00 00 DD 5E 04 DD 56 05 73 23 72 69 60 -R 00 00 01 00 -T B6 02 00 00 -R 00 00 01 00 -T B6 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/fprintf.rel b/lib/relcb/fprintf.rel deleted file mode 100644 index be6a538d..00000000 --- a/lib/relcb/fprintf.rel +++ /dev/null @@ -1,25 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S vfprintf Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 32 flags 0 -S fprintf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 10 00 39 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 01 02 00 09 DD 75 FC DD 74 FD E5 -R 00 00 01 00 -T 14 00 00 00 DD 4E 0C DD 46 0D DD 5E 0A DD 56 -R 00 00 01 00 -T 1F 00 00 00 0B 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 03 00 02 0B 03 00 -T 25 00 00 00 CD 00 00 00 00 F1 DD 75 FE DD 74 -R 00 00 01 00 02 05 01 00 -T 2E 00 00 00 FF C3 00 00 00 00 -R 00 00 01 00 02 06 00 00 diff --git a/lib/relcb/fputc.rel b/lib/relcb/fputc.rel deleted file mode 100644 index e2def638..00000000 --- a/lib/relcb/fputc.rel +++ /dev/null @@ -1,130 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S fflush Ref00000000 -S __stdio_init_vars Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 112 flags 0 -S fputc Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 3E -R 00 00 01 00 02 05 04 00 -T 06 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 0B 00 00 00 00 00 00 00 21 0C 00 09 46 23 66 -R 00 00 01 00 02 04 03 00 -T 14 00 00 00 68 DD 75 FE DD 74 FF 7D E6 40 28 -R 00 00 01 00 -T 1F 00 00 00 18 DD 5E 04 DD 56 05 3E -R 00 00 01 00 -T 27 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 2C 00 00 00 00 00 00 00 7D B4 28 06 -R 00 00 01 00 02 04 03 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 21 FF FF C3 0F 01 00 00 -R 00 00 01 00 00 08 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 DD 7E FE E6 20 6F DD 7E FF E6 03 -R 00 00 01 00 -T 43 00 00 00 67 3E 20 AD B4 28 06 -R 00 00 01 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 21 FF FF C3 0F 01 00 00 -R 00 00 01 00 00 08 01 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 21 08 00 DD 4E 04 DD 46 05 09 5E -R 00 00 01 00 -T 5B 00 00 00 23 56 0A 6F 03 0A 67 A7 ED 52 38 -R 00 00 01 00 -T 66 00 00 00 18 DD 5E 04 DD 56 05 3E -R 00 00 01 00 -T 6E 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 73 00 00 00 00 00 00 00 7D B4 28 06 -R 00 00 01 00 02 04 03 00 -T 79 00 00 00 -R 00 00 01 00 -T 79 00 00 00 -R 00 00 01 00 -T 79 00 00 00 -R 00 00 01 00 -T 79 00 00 00 21 FF FF C3 0F 01 00 00 -R 00 00 01 00 00 08 01 00 -T 7F 00 00 00 -R 00 00 01 00 -T 7F 00 00 00 DD 6E 04 DD 66 05 4E 23 46 03 70 -R 00 00 01 00 -T 8A 00 00 00 2B 71 0B 69 60 DD 46 02 70 21 -R 00 00 01 00 -T 94 00 00 00 0C 00 DD 4E 04 DD 46 05 09 7E F6 -R 00 00 01 00 -T 9F 00 00 00 80 77 23 7E F6 00 77 3E 0A DD AE -R 00 00 01 00 -T AA 00 00 00 02 DD B6 03 20 07 DD 7E FE E6 01 -R 00 00 01 00 -T B5 00 00 00 20 07 -R 00 00 01 00 -T B7 00 00 00 -R 00 00 01 00 -T B7 00 00 00 -R 00 00 01 00 -T B7 00 00 00 DD 7E FE E6 02 28 17 -R 00 00 01 00 -T BE 00 00 00 -R 00 00 01 00 -T BE 00 00 00 -R 00 00 01 00 -T BE 00 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 00 00 -T C6 00 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 00 00 02 0A 03 00 -T CD 00 00 00 B4 28 05 -R 00 00 01 00 -T D0 00 00 00 -R 00 00 01 00 -T D0 00 00 00 -R 00 00 01 00 -T D0 00 00 00 -R 00 00 01 00 -T D0 00 00 00 21 FF FF 18 3A -R 00 00 01 00 -T D5 00 00 00 -R 00 00 01 00 -T D5 00 00 00 DD 7E FE E6 03 28 18 -R 00 00 01 00 -T DC 00 00 00 -R 00 00 01 00 -T DC 00 00 00 21 04 00 DD 4E 04 DD 46 05 09 E5 -R 00 00 01 00 -T E7 00 00 00 21 06 00 09 4E 23 46 E1 71 23 70 -R 00 00 01 00 -T F2 00 00 00 18 16 -R 00 00 01 00 -T F4 00 00 00 -R 00 00 01 00 -T F4 00 00 00 21 04 00 DD 4E 04 DD 46 05 09 E5 -R 00 00 01 00 -T FF 00 00 00 21 08 00 09 4E 23 46 E1 71 23 70 -R 00 00 01 00 -T 0A 01 00 00 -R 00 00 01 00 -T 0A 01 00 00 DD 6E 02 26 00 -R 00 00 01 00 -T 0F 01 00 00 -R 00 00 01 00 -T 0F 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcb/fputs.rel b/lib/relcb/fputs.rel deleted file mode 100644 index f182caed..00000000 --- a/lib/relcb/fputs.rel +++ /dev/null @@ -1,53 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S fputc Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5E flags 0 -S fputs Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF AF DD 77 FC -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 DD 77 FD DD 6E 02 DD 66 03 DD 75 -R 00 00 01 00 -T 14 00 00 00 FE DD 74 FF -R 00 00 01 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 DD 6E FE DD 66 FF AF B6 28 33 -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 -R 00 00 01 00 -T 2D 00 00 00 FF 23 DD 75 FE DD 74 FF 2B 5E 16 -R 00 00 01 00 -T 38 00 00 00 00 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 01 00 02 0B 01 00 -T 3E 00 00 00 CD 00 00 00 00 7D A4 3C 20 05 -R 00 00 01 00 02 05 02 00 -T 46 00 00 00 -R 00 00 01 00 -T 46 00 00 00 21 FF FF 18 10 -R 00 00 01 00 -T 4B 00 00 00 -R 00 00 01 00 -T 4B 00 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 53 00 00 00 -R 00 00 01 00 -T 53 00 00 00 18 C3 -R 00 00 01 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 -T 5B 00 00 00 -R 00 00 01 00 -T 5B 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/fread.rel b/lib/relcb/fread.rel deleted file mode 100644 index eb19853c..00000000 --- a/lib/relcb/fread.rel +++ /dev/null @@ -1,155 +0,0 @@ -XL4 -H 2 areas D global symbols -S fflush Ref00000000 -S memcpy Ref00000000 -S ?S_MUL_L02 Ref00000000 -S __stdio_init_vars Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?US_DIV_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1AE flags 0 -S fread Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF AF DD 77 FE -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 DD 77 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 03 00 -T 0F 00 00 00 00 00 00 00 CD 00 00 00 00 DD 7E -R 00 00 01 00 02 04 03 00 02 09 05 00 -T 16 00 00 00 02 DD B6 03 28 18 DD 7E 04 DD B6 -R 00 00 01 00 -T 21 00 00 00 05 28 10 DD 7E 0A DD B6 0B 28 08 -R 00 00 01 00 -T 2C 00 00 00 DD 7E 0C DD B6 0D 20 06 -R 00 00 01 00 -T 34 00 00 00 -R 00 00 01 00 -T 34 00 00 00 -R 00 00 01 00 -T 34 00 00 00 -R 00 00 01 00 -T 34 00 00 00 21 00 00 C3 AB 01 00 00 -R 00 00 01 00 00 08 01 00 -T 3A 00 00 00 -R 00 00 01 00 -T 3A 00 00 00 21 0C 00 DD 4E 0C DD 46 0D 09 46 -R 00 00 01 00 -T 45 00 00 00 23 66 68 DD 75 FA DD 74 FB 7D E6 -R 00 00 01 00 -T 50 00 00 00 80 28 0E -R 00 00 01 00 -T 53 00 00 00 -R 00 00 01 00 -T 53 00 00 00 DD 5E 0C DD 56 0D 3E 00 00 00 00 -R 00 00 01 00 2B 0B 00 00 -T 5B 00 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 00 00 02 0A 05 00 -T 61 00 00 00 -R 00 00 01 00 -T 61 00 00 00 DD 7E FA E6 10 6F DD 7E FB E6 03 -R 00 00 01 00 -T 6C 00 00 00 67 3E 10 AD B4 28 06 -R 00 00 01 00 -T 73 00 00 00 -R 00 00 01 00 -T 73 00 00 00 21 00 00 C3 AB 01 00 00 -R 00 00 01 00 00 08 01 00 -T 79 00 00 00 -R 00 00 01 00 -T 79 00 00 00 DD 4E 0A DD 46 0B DD 5E 04 DD 56 -R 00 00 01 00 -T 84 00 00 00 05 CD 00 00 00 00 DD 73 FC DD 72 -R 00 00 01 00 02 06 02 00 -T 8D 00 00 00 FD DD 6E 0C DD 66 0D 4E 23 46 DD -R 00 00 01 00 -T 98 00 00 00 6E 0C DD 66 0D 23 23 7E 23 66 6F -R 00 00 01 00 -T A3 00 00 00 A7 ED 42 DD 75 F8 DD 74 F9 A7 ED -R 00 00 01 00 -T AE 00 00 00 52 38 39 -R 00 00 01 00 -T B1 00 00 00 -R 00 00 01 00 -T B1 00 00 00 DD 6E FC DD 66 FD E5 DD 6E 0C DD -R 00 00 01 00 -T BC 00 00 00 66 0D 4E 23 46 DD 5E 02 DD 56 03 -R 00 00 01 00 -T C7 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 01 00 02 0A 01 00 -T CD 00 00 00 00 00 00 00 F1 DD 6E 0C DD 66 0D -R 00 00 01 00 02 04 05 00 -T D6 00 00 00 7E DD 86 FC 77 23 7E DD 8E FD 77 -R 00 00 01 00 -T E1 00 00 00 DD 6E FC DD 66 FD C3 AB 01 00 00 -R 00 00 01 00 00 0B 01 00 -T EA 00 00 00 -R 00 00 01 00 -T EA 00 00 00 DD 4E F8 DD 46 F9 21 00 00 CD -R 00 00 01 00 -T F4 00 00 00 00 00 00 00 30 2B -R 00 00 01 00 02 04 07 00 -T F8 00 00 00 -R 00 00 01 00 -T F8 00 00 00 DD 6E F8 DD 66 F9 E5 DD 6E 0C DD -R 00 00 01 00 -T 03 01 00 00 66 0D 4E 23 46 DD 5E 02 DD 56 03 -R 00 00 01 00 -T 0E 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 01 00 02 0A 01 00 -T 14 01 00 00 00 00 00 00 F1 DD 6E F8 DD 66 F9 -R 00 00 01 00 02 04 05 00 -T 1D 01 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 -T 23 01 00 00 -R 00 00 01 00 -T 23 01 00 00 DD 4E FE DD 46 FF DD 6E FC DD 66 -R 00 00 01 00 -T 2E 01 00 00 FD A7 ED 42 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 39 01 00 00 09 4D 44 21 0A 00 DD 5E 0C DD 56 -R 00 00 01 00 -T 44 01 00 00 0D 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0A 00 -T 4C 01 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 0A 00 02 09 05 00 -T 53 01 00 00 75 F8 DD 74 F9 CB 7C 28 1C -R 00 00 01 00 -T 5C 01 00 00 -R 00 00 01 00 -T 5C 01 00 00 21 0C 00 DD 4E 0C DD 46 0D 09 7E -R 00 00 01 00 -T 67 01 00 00 F6 00 77 23 7E F6 02 77 AF DD 77 -R 00 00 01 00 -T 72 01 00 00 F8 DD 77 F9 18 1B -R 00 00 01 00 -T 78 01 00 00 -R 00 00 01 00 -T 78 01 00 00 DD 7E F8 DD B6 F9 20 13 -R 00 00 01 00 -T 80 01 00 00 -R 00 00 01 00 -T 80 01 00 00 21 0C 00 DD 4E 0C DD 46 0D 09 7E -R 00 00 01 00 -T 8B 01 00 00 F6 00 77 23 7E F6 01 77 -R 00 00 01 00 -T 93 01 00 00 -R 00 00 01 00 -T 93 01 00 00 -R 00 00 01 00 -T 93 01 00 00 DD 6E F8 DD 66 F9 DD 4E FE DD 46 -R 00 00 01 00 -T 9E 01 00 00 FF 09 EB DD 4E 04 DD 46 05 CD -R 00 00 01 00 -T A8 01 00 00 00 00 00 00 EB -R 00 00 01 00 02 04 08 00 -T AB 01 00 00 -R 00 00 01 00 -T AB 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 diff --git a/lib/relcb/free.rel b/lib/relcb/free.rel deleted file mode 100644 index 2752eb3b..00000000 --- a/lib/relcb/free.rel +++ /dev/null @@ -1,90 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S __malloc_last Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size E0 flags 0 -S free Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 FC FF DD -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 4E 02 DD 46 03 09 DD 75 FE DD 74 -R 00 00 01 00 -T 14 00 00 00 FF 23 23 7E 23 B6 28 06 -R 00 00 01 00 -T 1C 00 00 00 -R 00 00 01 00 -T 1C 00 00 00 21 FF FF C3 DD 00 00 00 -R 00 00 01 00 00 08 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 2A 00 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 02 05 00 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 DD 4E FC DD 46 FD DD 6E FE DD 66 -R 00 00 01 00 -T 36 00 00 00 FF A7 ED 42 38 17 DD 6E FC DD 66 -R 00 00 01 00 -T 41 00 00 00 FD 23 23 46 23 66 68 DD 4E FE DD -R 00 00 01 00 -T 4C 00 00 00 46 FF A7 ED 42 30 53 -R 00 00 01 00 -T 53 00 00 00 -R 00 00 01 00 -T 53 00 00 00 -R 00 00 01 00 -T 53 00 00 00 -R 00 00 01 00 -T 53 00 00 00 DD 6E FC DD 66 FD 23 23 4E 23 46 -R 00 00 01 00 -T 5E 00 00 00 DD 6E FC DD 66 FD A7 ED 42 38 29 -R 00 00 01 00 -T 69 00 00 00 DD 4E FE DD 46 FF DD 6E FC DD 66 -R 00 00 01 00 -T 74 00 00 00 FD A7 ED 42 38 16 DD 6E FC DD 66 -R 00 00 01 00 -T 7F 00 00 00 FD 23 23 4E 23 46 DD 6E FE DD 66 -R 00 00 01 00 -T 8A 00 00 00 FF A7 ED 42 30 02 -R 00 00 01 00 -T 90 00 00 00 -R 00 00 01 00 -T 90 00 00 00 -R 00 00 01 00 -T 90 00 00 00 -R 00 00 01 00 -T 90 00 00 00 -R 00 00 01 00 -T 90 00 00 00 -R 00 00 01 00 -T 90 00 00 00 18 14 -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 DD 6E FC DD 66 FD 23 23 46 23 66 -R 00 00 01 00 -T 9D 00 00 00 68 DD 75 FC DD 74 FD 18 85 -R 00 00 01 00 -T A6 00 00 00 -R 00 00 01 00 -T A6 00 00 00 DD 6E FE DD 66 FF 23 23 E5 DD 4E -R 00 00 01 00 -T B1 00 00 00 FC DD 46 FD 03 03 69 60 4E 23 46 -R 00 00 01 00 -T BC 00 00 00 E1 71 23 70 DD 6E FC DD 66 FD 23 -R 00 00 01 00 -T C7 00 00 00 23 DD 4E FE DD 46 FF 71 23 70 DD -R 00 00 01 00 -T D2 00 00 00 6E FC DD 66 FD 22 00 00 00 00 21 -R 00 00 01 00 02 0A 00 00 -T DB 00 00 00 00 00 -R 00 00 01 00 -T DD 00 00 00 -R 00 00 01 00 -T DD 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcb/fscanf.rel b/lib/relcb/fscanf.rel deleted file mode 100644 index f92b982c..00000000 --- a/lib/relcb/fscanf.rel +++ /dev/null @@ -1,25 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S vfscanf Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 32 flags 0 -S fscanf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 10 00 39 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 01 02 00 09 DD 75 FC DD 74 FD E5 -R 00 00 01 00 -T 14 00 00 00 DD 4E 0C DD 46 0D DD 5E 0A DD 56 -R 00 00 01 00 -T 1F 00 00 00 0B 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 02 00 02 0B 02 00 -T 25 00 00 00 CD 00 00 00 00 F1 DD 75 FE DD 74 -R 00 00 01 00 02 05 01 00 -T 2E 00 00 00 FF C3 00 00 00 00 -R 00 00 01 00 02 06 00 00 diff --git a/lib/relcb/ftell.rel b/lib/relcb/ftell.rel deleted file mode 100644 index 46448c27..00000000 --- a/lib/relcb/ftell.rel +++ /dev/null @@ -1,40 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S fflush Ref00000000 -S lseek Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S ?BANK_LEAVE_32_L08 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3F flags 0 -S ftell Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 02 00 2B 0A 00 00 -T 06 00 00 00 00 00 00 00 CD 00 00 00 00 7D A4 -R 00 00 01 00 02 04 00 00 02 09 03 00 -T 0D 00 00 00 3C 20 08 -R 00 00 01 00 -T 10 00 00 00 -R 00 00 01 00 -T 10 00 00 00 01 FF FF 21 FF FF 18 24 -R 00 00 01 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 21 01 00 E5 21 00 00 E5 21 00 00 -R 00 00 01 00 -T 23 00 00 00 E5 21 0A 00 DD 4E 02 DD 46 03 09 -R 00 00 01 00 -T 2E 00 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 01 00 -T 34 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 01 00 02 09 03 00 -T 3B 00 00 00 F1 -R 00 00 01 00 -T 3C 00 00 00 -R 00 00 01 00 -T 3C 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 diff --git a/lib/relcb/fwrite.rel b/lib/relcb/fwrite.rel deleted file mode 100644 index 59985d6f..00000000 --- a/lib/relcb/fwrite.rel +++ /dev/null @@ -1,198 +0,0 @@ -XL4 -H 2 areas E global symbols -S fflush Ref00000000 -S _write Ref00000000 -S memcpy Ref00000000 -S ?S_MUL_L02 Ref00000000 -S __stdio_init_vars Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?US_DIV_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21C flags 0 -S fwrite Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF 3E -R 00 00 01 00 02 05 08 00 -T 06 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 0B 00 00 00 00 00 00 00 DD 7E 02 DD B6 03 28 -R 00 00 01 00 02 04 06 00 -T 14 00 00 00 18 DD 7E 04 DD B6 05 28 10 DD 7E -R 00 00 01 00 -T 1F 00 00 00 0A DD B6 0B 28 08 DD 7E 0C DD B6 -R 00 00 01 00 -T 2A 00 00 00 0D 20 06 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 21 00 00 C3 19 02 00 00 -R 00 00 01 00 00 08 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 21 0C 00 DD 4E 0C DD 46 0D 09 46 -R 00 00 01 00 -T 3E 00 00 00 23 66 68 DD 75 FA DD 74 FB 7D E6 -R 00 00 01 00 -T 49 00 00 00 40 28 18 DD 5E 0C DD 56 0D 3E -R 00 00 01 00 -T 53 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 58 00 00 00 00 00 00 00 7D B4 28 06 -R 00 00 01 00 02 04 06 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 21 00 00 C3 19 02 00 00 -R 00 00 01 00 00 08 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 DD 7E FA E6 20 6F DD 7E FB E6 03 -R 00 00 01 00 -T 6F 00 00 00 67 3E 20 AD B4 28 06 -R 00 00 01 00 -T 76 00 00 00 -R 00 00 01 00 -T 76 00 00 00 21 00 00 C3 19 02 00 00 -R 00 00 01 00 00 08 01 00 -T 7C 00 00 00 -R 00 00 01 00 -T 7C 00 00 00 DD 4E 0A DD 46 0B DD 5E 04 DD 56 -R 00 00 01 00 -T 87 00 00 00 05 CD 00 00 00 00 DD 73 FC DD 72 -R 00 00 01 00 02 06 03 00 -T 90 00 00 00 FD DD 6E 0C DD 66 0D 4E 23 46 21 -R 00 00 01 00 -T 9B 00 00 00 08 00 DD 5E 0C DD 56 0D 19 56 23 -R 00 00 01 00 -T A6 00 00 00 66 6A A7 ED 42 DD 75 F8 DD 74 F9 -R 00 00 01 00 -T B1 00 00 00 DD 4E FC DD 46 FD A7 ED 42 30 18 -R 00 00 01 00 -T BC 00 00 00 DD 5E 0C DD 56 0D 3E 00 00 00 00 -R 00 00 01 00 2B 0B 00 00 -T C4 00 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 00 00 02 0A 06 00 -T CB 00 00 00 B4 28 06 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 21 00 00 C3 19 02 00 00 -R 00 00 01 00 00 08 01 00 -T D4 00 00 00 -R 00 00 01 00 -T D4 00 00 00 DD 6E 0C DD 66 0D 4E 23 46 21 -R 00 00 01 00 -T DE 00 00 00 08 00 DD 5E 0C DD 56 0D 19 56 23 -R 00 00 01 00 -T E9 00 00 00 66 6A A7 ED 42 DD 75 F8 DD 74 F9 -R 00 00 01 00 -T F4 00 00 00 DD 4E FC DD 46 FD A7 ED 42 38 61 -R 00 00 01 00 -T FF 00 00 00 -R 00 00 01 00 -T FF 00 00 00 21 0C 00 DD 4E 0C DD 46 0D 09 7E -R 00 00 01 00 -T 0A 01 00 00 F6 80 77 23 7E F6 00 77 DD 6E FC -R 00 00 01 00 -T 15 01 00 00 DD 66 FD E5 DD 4E 02 DD 46 03 DD -R 00 00 01 00 -T 20 01 00 00 6E 0C DD 66 0D 5E 23 56 3E -R 00 00 01 00 -T 29 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 2E 01 00 00 00 00 00 00 F1 DD 6E 0C DD 66 0D -R 00 00 01 00 02 04 06 00 -T 37 01 00 00 7E DD 86 FC 77 23 7E DD 8E FD 77 -R 00 00 01 00 -T 42 01 00 00 DD 7E FA E6 03 28 0E -R 00 00 01 00 -T 49 01 00 00 -R 00 00 01 00 -T 49 01 00 00 DD 5E 0C DD 56 0D 3E 00 00 00 00 -R 00 00 01 00 2B 0B 00 00 -T 51 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 00 00 02 0A 06 00 -T 57 01 00 00 -R 00 00 01 00 -T 57 01 00 00 DD 6E 0A DD 66 0B C3 19 02 00 00 -R 00 00 01 00 00 0B 01 00 -T 60 01 00 00 -R 00 00 01 00 -T 60 01 00 00 DD 6E FC DD 66 FD DD 75 FE DD 74 -R 00 00 01 00 -T 6B 01 00 00 FF -R 00 00 01 00 -T 6C 01 00 00 -R 00 00 01 00 -T 6C 01 00 00 DD 6E FC DD 66 FD E5 DD 4E 02 DD -R 00 00 01 00 -T 77 01 00 00 46 03 21 0A 00 DD 5E 0C DD 56 0D -R 00 00 01 00 -T 82 01 00 00 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 01 00 -T 89 01 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 01 00 02 09 06 00 -T 90 01 00 00 75 F8 DD 74 F9 4D 44 21 00 00 CD -R 00 00 01 00 -T 9B 01 00 00 00 00 00 00 30 22 -R 00 00 01 00 02 04 09 00 -T 9F 01 00 00 -R 00 00 01 00 -T 9F 01 00 00 DD 6E F8 DD 66 F9 DD 4E 02 DD 46 -R 00 00 01 00 -T AA 01 00 00 03 09 DD 75 02 DD 74 03 21 04 00 -R 00 00 01 00 -T B5 01 00 00 39 7E DD 96 F8 77 23 7E DD 9E F9 -R 00 00 01 00 -T C0 01 00 00 77 -R 00 00 01 00 -T C1 01 00 00 -R 00 00 01 00 -T C1 01 00 00 DD 4E F8 DD 46 F9 21 00 00 CD -R 00 00 01 00 -T CB 01 00 00 00 00 00 00 38 9D DD 7E F8 DD A6 -R 00 00 01 00 02 04 09 00 -T D4 01 00 00 F9 3C 20 09 2A 00 00 00 00 3E 04 -R 00 00 01 00 02 09 07 00 -T DD 01 00 00 AD B4 28 8B -R 00 00 01 00 -T E1 01 00 00 -R 00 00 01 00 -T E1 01 00 00 DD CB F9 7E 28 13 -R 00 00 01 00 -T E7 01 00 00 -R 00 00 01 00 -T E7 01 00 00 21 0C 00 DD 4E 0C DD 46 0D 09 7E -R 00 00 01 00 -T F2 01 00 00 F6 00 77 23 7E F6 02 77 -R 00 00 01 00 -T FA 01 00 00 -R 00 00 01 00 -T FA 01 00 00 21 06 00 39 7E DD 96 FC 77 23 7E -R 00 00 01 00 -T 05 02 00 00 DD 9E FD 77 DD 4E 04 DD 46 05 DD -R 00 00 01 00 -T 10 02 00 00 5E FE DD 56 FF CD 00 00 00 00 EB -R 00 00 01 00 02 0A 0A 00 -T 19 02 00 00 -R 00 00 01 00 -T 19 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 diff --git a/lib/relcb/getcwd.rel b/lib/relcb/getcwd.rel deleted file mode 100644 index 652d0b2d..00000000 --- a/lib/relcb/getcwd.rel +++ /dev/null @@ -1,353 +0,0 @@ -XL4 -H 4 areas 11 global symbols -S strcat Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S closedir Ref00000000 -S strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S readdir Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S strcpy Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S opendir Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S stat Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2A2 flags 0 -S getcwd Def00000245 -A CSTR size 8 flags 0 -A UDATA0 size 26 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF DD 36 FE 00 -R 00 00 01 00 02 05 0A 00 -T 09 00 00 00 01 08 00 00 00 ED 5B 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 10 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 -T 16 00 00 00 00 00 00 00 CB 7C 28 06 -R 00 00 01 00 02 04 07 00 -T 1C 00 00 00 -R 00 00 01 00 -T 1C 00 00 00 21 00 00 C3 94 01 00 00 -R 00 00 01 00 00 08 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 2A 08 00 00 00 DD 4E 02 DD 46 03 -R 00 00 01 00 00 05 03 00 -T 2B 00 00 00 A7 ED 42 28 03 -R 00 00 01 00 -T 30 00 00 00 -R 00 00 01 00 -T 30 00 00 00 DD 34 FE -R 00 00 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 00 06 03 00 2B 0B 03 00 -T 39 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 03 00 02 0A 07 00 -T 40 00 00 00 75 FA DD 74 FB 2B ED 4B -R 00 00 01 00 -T 48 00 00 00 00 00 00 00 09 DD 75 F8 DD 74 F9 -R 00 00 01 00 00 04 03 00 -T 51 00 00 00 7E FE 2F 28 3C -R 00 00 01 00 -T 56 00 00 00 -R 00 00 01 00 -T 56 00 00 00 DD 4E FA DD 46 FB 03 03 2A -R 00 00 01 00 -T 5F 00 00 00 02 00 00 00 CD 00 00 00 00 30 0C -R 00 00 01 00 00 04 03 00 02 09 0B 00 -T 66 00 00 00 -R 00 00 01 00 -T 66 00 00 00 21 22 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 09 00 -T 6F 00 00 00 C3 94 01 00 00 -R 00 00 01 00 00 05 01 00 -T 72 00 00 00 -R 00 00 01 00 -T 72 00 00 00 01 00 00 00 00 DD 5E F8 DD 56 F9 -R 00 00 01 00 00 05 02 00 -T 7B 00 00 00 13 DD 73 F8 DD 72 F9 3E -R 00 00 01 00 -T 83 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T 88 00 00 00 00 00 00 00 DD 34 FA 20 03 DD 34 -R 00 00 01 00 02 04 07 00 -T 91 00 00 00 FB -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 9A 00 00 00 -R 00 00 01 00 -T 9A 00 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 00 06 03 00 2B 0B 0C 00 -T A0 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0C 00 02 0A 07 00 -T A7 00 00 00 75 FC DD 74 FD 7D B4 20 06 -R 00 00 01 00 -T B0 00 00 00 -R 00 00 01 00 -T B0 00 00 00 21 00 00 C3 94 01 00 00 -R 00 00 01 00 00 08 01 00 -T B6 00 00 00 -R 00 00 01 00 -T B6 00 00 00 -R 00 00 01 00 -T B6 00 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 -T BE 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 05 00 02 0A 07 00 -T C5 00 00 00 75 F6 DD 74 F7 7D B4 CA -R 00 00 01 00 -T CD 00 00 00 7D 01 00 00 -R 00 00 01 00 00 04 01 00 -T CF 00 00 00 -R 00 00 01 00 -T CF 00 00 00 AF DD B6 FE 20 16 DD 6E F6 DD 66 -R 00 00 01 00 -T DA 00 00 00 F7 46 23 66 68 DD 4E 04 DD 46 05 -R 00 00 01 00 -T E5 00 00 00 A7 ED 42 C2 7A 01 00 00 -R 00 00 01 00 00 08 01 00 -T EB 00 00 00 -R 00 00 01 00 -T EB 00 00 00 -R 00 00 01 00 -T EB 00 00 00 -R 00 00 01 00 -T EB 00 00 00 21 06 00 DD 4E F6 DD 46 F7 09 EB -R 00 00 01 00 -T F6 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 -T FC 00 00 00 00 00 00 00 DD 4E FA DD 46 FB 09 -R 00 00 01 00 02 04 07 00 -T 05 01 00 00 4D 44 2A 02 00 00 00 A7 ED 42 30 -R 00 00 01 00 00 07 03 00 -T 0E 01 00 00 0B -R 00 00 01 00 -T 0F 01 00 00 -R 00 00 01 00 -T 0F 01 00 00 21 22 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 09 00 -T 18 01 00 00 18 7A -R 00 00 01 00 -T 1A 01 00 00 -R 00 00 01 00 -T 1A 01 00 00 21 06 00 DD 4E F6 DD 46 F7 09 4D -R 00 00 01 00 -T 25 01 00 00 44 DD 5E F8 DD 56 F9 13 3E -R 00 00 01 00 -T 2E 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T 33 01 00 00 00 00 00 00 01 08 00 00 00 ED 5B -R 00 00 01 00 02 04 07 00 00 09 03 00 -T 3A 01 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 0E 00 -T 3F 01 00 00 00 00 00 00 CD 00 00 00 00 CB 7C -R 00 00 01 00 02 04 0E 00 02 09 07 00 -T 46 01 00 00 28 03 -R 00 00 01 00 -T 48 01 00 00 -R 00 00 01 00 -T 48 01 00 00 C3 B6 00 00 00 -R 00 00 01 00 00 05 01 00 -T 4B 01 00 00 -R 00 00 01 00 -T 4B 01 00 00 2A 0A 00 00 00 DD 4E 04 DD 46 05 -R 00 00 01 00 00 05 03 00 -T 54 01 00 00 A7 ED 42 20 21 2A 08 00 00 00 DD -R 00 00 01 00 00 0A 03 00 -T 5D 01 00 00 4E 02 DD 46 03 A7 ED 42 20 13 -R 00 00 01 00 -T 67 01 00 00 -R 00 00 01 00 -T 67 01 00 00 -R 00 00 01 00 -T 67 01 00 00 -R 00 00 01 00 -T 67 01 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 -T 6F 01 00 00 21 00 00 00 00 CD 00 00 00 00 2A -R 00 00 01 00 02 05 02 00 02 0A 07 00 -T 76 01 00 00 00 00 00 00 18 1A -R 00 00 01 00 00 04 03 00 -T 7A 01 00 00 -R 00 00 01 00 -T 7A 01 00 00 -R 00 00 01 00 -T 7A 01 00 00 C3 B6 00 00 00 -R 00 00 01 00 00 05 01 00 -T 7D 01 00 00 -R 00 00 01 00 -T 7D 01 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 -T 85 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 02 00 02 0A 07 00 -T 8C 01 00 00 02 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 07 09 00 -T 94 01 00 00 -R 00 00 01 00 -T 94 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 97 01 00 00 -R 00 00 01 00 -T 97 01 00 00 CD 00 00 00 00 FC FF 01 -R 00 00 01 00 02 05 0A 00 -T 9D 01 00 00 08 00 00 00 ED 5B 00 00 00 00 3E -R 00 00 01 00 00 04 03 00 00 0A 03 00 -T A4 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 -T A9 01 00 00 00 00 00 00 CB 7C 28 06 -R 00 00 01 00 02 04 07 00 -T AF 01 00 00 -R 00 00 01 00 -T AF 01 00 00 21 00 00 C3 42 02 00 00 -R 00 00 01 00 00 08 01 00 -T B5 01 00 00 -R 00 00 01 00 -T B5 01 00 00 2A 08 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 00 05 03 00 -T BE 01 00 00 ED 4B 0A 00 00 00 DD 71 FE DD 70 -R 00 00 01 00 00 06 03 00 -T C7 01 00 00 FF ED 4B 04 00 00 00 A7 ED 42 20 -R 00 00 01 00 00 07 03 00 -T D0 01 00 00 22 2A 06 00 00 00 DD 4E FE DD 46 -R 00 00 01 00 00 06 03 00 -T D9 01 00 00 FF A7 ED 42 20 14 -R 00 00 01 00 -T DF 01 00 00 -R 00 00 01 00 -T DF 01 00 00 -R 00 00 01 00 -T DF 01 00 00 -R 00 00 01 00 -T DF 01 00 00 01 00 00 00 00 ED 5B 00 00 00 00 -R 00 00 01 00 00 05 02 00 00 0B 03 00 -T E6 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 08 00 02 0A 08 00 -T EC 01 00 00 00 00 00 00 2A 00 00 00 00 18 4F -R 00 00 01 00 02 04 07 00 00 09 03 00 -T F3 01 00 00 -R 00 00 01 00 -T F3 01 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 00 06 03 00 2B 0B 03 00 -T F9 01 00 00 21 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 05 03 00 02 0A 07 00 -T 00 02 00 00 04 00 09 4D 44 2A 02 00 00 00 A7 -R 00 00 01 00 00 0A 03 00 -T 09 02 00 00 ED 42 30 0B -R 00 00 01 00 -T 0D 02 00 00 -R 00 00 01 00 -T 0D 02 00 00 21 22 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 09 00 -T 16 02 00 00 18 2A -R 00 00 01 00 -T 18 02 00 00 -R 00 00 01 00 -T 18 02 00 00 01 02 00 00 00 ED 5B 00 00 00 00 -R 00 00 01 00 00 05 02 00 00 0B 03 00 -T 1F 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 00 00 02 0A 00 00 -T 25 02 00 00 00 00 00 00 CD 97 01 00 00 7D B4 -R 00 00 01 00 02 04 07 00 00 09 01 00 -T 2C 02 00 00 28 11 DD 4E FE DD 46 FF DD 5E FC -R 00 00 01 00 -T 37 02 00 00 DD 56 FD CD 00 00 00 00 18 03 -R 00 00 01 00 00 08 01 00 -T 3F 02 00 00 -R 00 00 01 00 -T 3F 02 00 00 21 00 00 -R 00 00 01 00 -T 42 02 00 00 -R 00 00 01 00 -T 42 02 00 00 -R 00 00 01 00 -T 42 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 45 02 00 00 -R 00 00 01 00 -T 45 02 00 00 CD 00 00 00 00 ED 43 02 00 00 00 -R 00 00 01 00 02 05 06 00 00 0B 03 00 -T 4C 02 00 00 69 60 01 03 80 3E 80 AC 67 ED 42 -R 00 00 01 00 -T 57 02 00 00 30 0B -R 00 00 01 00 -T 59 02 00 00 -R 00 00 01 00 -T 59 02 00 00 21 22 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 09 00 -T 62 02 00 00 18 3B -R 00 00 01 00 -T 64 02 00 00 -R 00 00 01 00 -T 64 02 00 00 01 06 00 00 00 DD 6E 02 DD 66 03 -R 00 00 01 00 00 05 02 00 -T 6D 02 00 00 22 00 00 00 00 EB 3E 00 00 00 00 -R 00 00 01 00 00 05 03 00 2B 0B 08 00 -T 73 02 00 00 21 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 05 08 00 02 0A 07 00 -T 7A 02 00 00 08 00 00 00 11 00 00 00 00 3E -R 00 00 01 00 00 04 03 00 00 09 02 00 -T 80 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 -T 85 02 00 00 00 00 00 00 CB 7C 28 05 -R 00 00 01 00 02 04 07 00 -T 8B 02 00 00 -R 00 00 01 00 -T 8B 02 00 00 21 00 00 18 0F -R 00 00 01 00 -T 90 02 00 00 -R 00 00 01 00 -T 90 02 00 00 2A 08 00 00 00 22 04 00 00 00 2A -R 00 00 01 00 00 05 03 00 00 0A 03 00 -T 97 02 00 00 0A 00 00 00 22 06 00 00 00 CD -R 00 00 01 00 00 04 03 00 00 09 03 00 -T 9D 02 00 00 97 01 00 00 -R 00 00 01 00 00 04 01 00 -T 9F 02 00 00 -R 00 00 01 00 -T 9F 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2F 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 02 00 00 00 2F 2E 2E 00 -R 00 00 02 00 -T 06 00 00 00 -R 00 00 02 00 -T 06 00 00 00 2E 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 06 00 00 00 -R 00 00 03 00 -T 06 00 00 00 -R 00 00 03 00 -T 08 00 00 00 -R 00 00 03 00 -T 08 00 00 00 -R 00 00 03 00 diff --git a/lib/relcb/getenv.rel b/lib/relcb/getenv.rel deleted file mode 100644 index 357bf229..00000000 --- a/lib/relcb/getenv.rel +++ /dev/null @@ -1,83 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S environ Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strlen Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -S memcmp Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size B1 flags 0 -S getenv Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF 2A -R 00 00 01 00 02 05 04 00 -T 06 00 00 00 00 00 00 00 DD 75 FC DD 74 FD DD -R 00 00 01 00 02 04 00 00 -T 0F 00 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 02 00 -T 17 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 02 00 02 09 03 00 -T 1E 00 00 00 FE DD 74 FF DD 7E FC DD B6 FD 28 -R 00 00 01 00 -T 29 00 00 00 08 DD 7E FE DD B6 FF 20 05 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 21 00 00 18 77 -R 00 00 01 00 -T 37 00 00 00 -R 00 00 01 00 -T 37 00 00 00 -R 00 00 01 00 -T 37 00 00 00 DD 6E FC DD 66 FD 4D 44 03 03 DD -R 00 00 01 00 -T 42 00 00 00 71 FC DD 70 FD 46 23 66 68 DD 75 -R 00 00 01 00 -T 4D 00 00 00 FA DD 74 FB 7D B4 28 56 -R 00 00 01 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 DD 6E 02 DD 66 03 E5 DD 6E FA DD -R 00 00 01 00 -T 60 00 00 00 66 FB 7E E1 BE 20 42 DD 6E FE DD -R 00 00 01 00 -T 6B 00 00 00 66 FF DD 4E FA DD 46 FB 09 7E FE -R 00 00 01 00 -T 76 00 00 00 3D 20 30 DD 6E FE DD 66 FF E5 DD -R 00 00 01 00 -T 81 00 00 00 4E FA DD 46 FB DD 5E 02 DD 56 03 -R 00 00 01 00 -T 8C 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 -T 92 00 00 00 00 00 00 00 F1 7D B4 20 10 -R 00 00 01 00 02 04 03 00 -T 99 00 00 00 -R 00 00 01 00 -T 99 00 00 00 -R 00 00 01 00 -T 99 00 00 00 -R 00 00 01 00 -T 99 00 00 00 DD 6E FE DD 66 FF 23 DD 4E FA DD -R 00 00 01 00 -T A4 00 00 00 46 FB 09 18 05 -R 00 00 01 00 -T A9 00 00 00 -R 00 00 01 00 -T A9 00 00 00 18 8C -R 00 00 01 00 -T AB 00 00 00 -R 00 00 01 00 -T AB 00 00 00 21 00 00 -R 00 00 01 00 -T AE 00 00 00 -R 00 00 01 00 -T AE 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcb/getgrent.rel b/lib/relcb/getgrent.rel deleted file mode 100644 index b580aed8..00000000 --- a/lib/relcb/getgrent.rel +++ /dev/null @@ -1,294 +0,0 @@ -XL4 -H 3 areas B global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S lseek Ref00000000 -S strchr Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S strtol Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2C9 flags 0 -S __getgrent Def00000000 -A UDATA0 size F2 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF -R 00 00 01 00 02 05 05 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 21 C8 00 E5 01 00 00 00 00 DD 5E -R 00 00 01 00 00 09 02 00 -T 0E 00 00 00 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 08 00 -T 15 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 08 00 02 09 03 00 -T 1C 00 00 00 75 FC DD 74 FD 4D 44 21 00 00 CD -R 00 00 01 00 -T 27 00 00 00 00 00 00 00 38 06 -R 00 00 01 00 02 04 06 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 21 00 00 C3 C6 02 00 00 -R 00 00 01 00 00 08 01 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 01 0A 00 11 00 00 00 00 3E -R 00 00 01 00 00 08 02 00 -T 38 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 3D 00 00 00 00 00 00 00 DD 75 F6 DD 74 F7 7D -R 00 00 01 00 02 04 03 00 -T 46 00 00 00 B4 28 5A -R 00 00 01 00 -T 49 00 00 00 -R 00 00 01 00 -T 49 00 00 00 DD 6E F6 DD 66 F7 23 DD 75 F6 DD -R 00 00 01 00 -T 54 00 00 00 74 F7 2B 36 00 21 01 00 E5 01 -R 00 00 01 00 -T 5E 00 00 00 00 00 00 00 DD 6E F6 DD 66 F7 A7 -R 00 00 01 00 00 04 02 00 -T 67 00 00 00 ED 42 DD 4E FC DD 46 FD A7 ED 42 -R 00 00 01 00 -T 72 00 00 00 7C 07 9F 4F 41 C5 E5 DD 5E 02 DD -R 00 00 01 00 -T 7D 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 01 00 -T 82 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 01 00 02 09 03 00 -T 89 00 00 00 F1 DD 6E F6 DD 66 F7 2B 2B 7E FE -R 00 00 01 00 -T 94 00 00 00 0D 20 0A -R 00 00 01 00 -T 97 00 00 00 -R 00 00 01 00 -T 97 00 00 00 DD 6E F6 DD 66 F7 2B 2B 36 00 -R 00 00 01 00 -T A1 00 00 00 -R 00 00 01 00 -T A1 00 00 00 18 79 -R 00 00 01 00 -T A3 00 00 00 -R 00 00 01 00 -T A3 00 00 00 -R 00 00 01 00 -T A3 00 00 00 21 C8 00 E5 01 00 00 00 00 DD 5E -R 00 00 01 00 00 09 02 00 -T AC 00 00 00 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 08 00 -T B3 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 08 00 02 09 03 00 -T BA 00 00 00 75 FC DD 74 FD 4D 44 21 00 00 CD -R 00 00 01 00 -T C5 00 00 00 00 00 00 00 38 06 -R 00 00 01 00 02 04 06 00 -T C9 00 00 00 -R 00 00 01 00 -T C9 00 00 00 21 00 00 C3 C6 02 00 00 -R 00 00 01 00 00 08 01 00 -T CF 00 00 00 -R 00 00 01 00 -T CF 00 00 00 01 0A 00 11 00 00 00 00 3E -R 00 00 01 00 00 08 02 00 -T D6 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T DB 00 00 00 00 00 00 00 DD 75 F6 DD 74 F7 7D -R 00 00 01 00 02 04 03 00 -T E4 00 00 00 B4 28 BC -R 00 00 01 00 -T E7 00 00 00 -R 00 00 01 00 -T E7 00 00 00 21 01 00 E5 01 00 00 00 00 DD 6E -R 00 00 01 00 00 09 02 00 -T F0 00 00 00 F6 DD 66 F7 A7 ED 42 DD 4E FC DD -R 00 00 01 00 -T FB 00 00 00 46 FD A7 ED 42 23 7C 07 9F 4F 41 -R 00 00 01 00 -T 06 01 00 00 C5 E5 DD 5E 02 DD 56 03 3E -R 00 00 01 00 -T 0F 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 14 01 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 1A 01 00 00 05 00 00 00 -R 00 00 01 00 00 04 01 00 -T 1C 01 00 00 -R 00 00 01 00 -T 1C 01 00 00 3A 00 00 00 00 FE 23 28 15 3A -R 00 00 01 00 00 05 02 00 -T 24 01 00 00 00 00 00 00 FE 20 28 0E 3A -R 00 00 01 00 00 04 02 00 -T 2B 01 00 00 00 00 00 00 FE 0A 28 07 3A -R 00 00 01 00 00 04 02 00 -T 32 01 00 00 00 00 00 00 FE 09 20 03 -R 00 00 01 00 00 04 02 00 -T 38 01 00 00 -R 00 00 01 00 -T 38 01 00 00 -R 00 00 01 00 -T 38 01 00 00 -R 00 00 01 00 -T 38 01 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 3B 01 00 00 -R 00 00 01 00 -T 3B 01 00 00 21 00 00 00 00 22 EA 00 00 00 01 -R 00 00 01 00 00 05 02 00 00 0A 02 00 -T 42 01 00 00 3A 00 11 00 00 00 00 3E -R 00 00 01 00 00 07 02 00 -T 48 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 4D 01 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 03 00 -T 56 01 00 00 B4 20 03 -R 00 00 01 00 -T 59 01 00 00 -R 00 00 01 00 -T 59 01 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 5C 01 00 00 -R 00 00 01 00 -T 5C 01 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 67 01 00 00 74 FF 2B 36 00 DD 6E FE DD 66 FF -R 00 00 01 00 -T 72 01 00 00 22 EC 00 00 00 01 3A 00 DD 5E FE -R 00 00 01 00 00 05 02 00 -T 7B 01 00 00 DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 02 00 -T 81 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 02 00 02 09 03 00 -T 88 01 00 00 FE DD 74 FF 7D B4 20 03 -R 00 00 01 00 -T 90 01 00 00 -R 00 00 01 00 -T 90 01 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 93 01 00 00 -R 00 00 01 00 -T 93 01 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 9E 01 00 00 74 FF 2B 36 00 DD 6E FE DD 66 FF -R 00 00 01 00 -T A9 01 00 00 DD 75 F6 DD 74 F7 01 3A 00 DD 5E -R 00 00 01 00 -T B4 01 00 00 FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 02 00 -T BB 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 02 00 02 09 03 00 -T C2 01 00 00 FE DD 74 FF 7D B4 20 03 -R 00 00 01 00 -T CA 01 00 00 -R 00 00 01 00 -T CA 01 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T CD 01 00 00 -R 00 00 01 00 -T CD 01 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T D8 01 00 00 74 FF 2B 36 00 21 0A 00 E5 21 -R 00 00 01 00 -T E2 01 00 00 04 00 39 4D 44 DD 5E F6 DD 56 F7 -R 00 00 01 00 -T ED 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 04 00 02 0A 04 00 -T F3 01 00 00 00 00 00 00 F1 22 EE 00 00 00 DD -R 00 00 01 00 02 04 03 00 00 0A 02 00 -T FA 01 00 00 6E F8 DD 66 F9 AF B6 28 03 -R 00 00 01 00 -T 03 02 00 00 -R 00 00 01 00 -T 03 02 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 06 02 00 00 -R 00 00 01 00 -T 06 02 00 00 DD 6E FE DD 66 FF DD 75 F6 DD 74 -R 00 00 01 00 -T 11 02 00 00 F7 AF DD 77 FA DD 77 FB -R 00 00 01 00 -T 19 02 00 00 -R 00 00 01 00 -T 19 02 00 00 01 2C 00 DD 5E FE DD 56 FF 3E -R 00 00 01 00 -T 23 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 28 02 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 03 00 -T 31 02 00 00 B4 28 4B -R 00 00 01 00 -T 34 02 00 00 -R 00 00 01 00 -T 34 02 00 00 DD 6E FE DD 66 FF 36 00 DD 34 FE -R 00 00 01 00 -T 3F 02 00 00 20 03 DD 34 FF -R 00 00 01 00 -T 44 02 00 00 -R 00 00 01 00 -T 44 02 00 00 DD 6E FA DD 66 FB 29 01 -R 00 00 01 00 -T 4C 02 00 00 C8 00 00 00 09 DD 4E F6 DD 46 F7 -R 00 00 01 00 00 04 02 00 -T 55 02 00 00 71 23 70 DD 6E FE DD 66 FF DD 75 -R 00 00 01 00 -T 60 02 00 00 F6 DD 74 F7 01 10 80 DD 6E FA DD -R 00 00 01 00 -T 6B 02 00 00 66 FB 3E 80 AC 67 ED 42 30 08 -R 00 00 01 00 -T 75 02 00 00 -R 00 00 01 00 -T 75 02 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 7D 02 00 00 -R 00 00 01 00 -T 7D 02 00 00 -R 00 00 01 00 -T 7D 02 00 00 18 9A -R 00 00 01 00 -T 7F 02 00 00 -R 00 00 01 00 -T 7F 02 00 00 DD 6E F6 DD 66 F7 AF B6 20 11 -R 00 00 01 00 -T 89 02 00 00 -R 00 00 01 00 -T 89 02 00 00 DD 6E FA DD 66 FB 29 01 -R 00 00 01 00 -T 91 02 00 00 C8 00 00 00 09 AF 77 23 77 18 23 -R 00 00 01 00 00 04 02 00 -T 9A 02 00 00 -R 00 00 01 00 -T 9A 02 00 00 DD 6E FA DD 66 FB 29 01 -R 00 00 01 00 -T A2 02 00 00 C8 00 00 00 09 DD 4E F6 DD 46 F7 -R 00 00 01 00 00 04 02 00 -T AB 02 00 00 71 23 70 DD 6E FA DD 66 FB 29 01 -R 00 00 01 00 -T B6 02 00 00 CA 00 00 00 09 AF 77 23 77 -R 00 00 01 00 00 04 02 00 -T BD 02 00 00 -R 00 00 01 00 -T BD 02 00 00 21 C8 00 00 00 22 F0 00 00 00 21 -R 00 00 01 00 00 05 02 00 00 0A 02 00 -T C4 02 00 00 EA 00 00 00 -R 00 00 01 00 00 04 02 00 -T C6 02 00 00 -R 00 00 01 00 -T C6 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T C8 00 00 00 -R 00 00 02 00 -T C8 00 00 00 -R 00 00 02 00 -T EA 00 00 00 -R 00 00 02 00 -T EA 00 00 00 -R 00 00 02 00 diff --git a/lib/relcb/getgrgid.rel b/lib/relcb/getgrgid.rel deleted file mode 100644 index b2f14a3a..00000000 --- a/lib/relcb/getgrgid.rel +++ /dev/null @@ -1,53 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S endgrent Ref00000000 -S getgrent Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S setgrent Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4D flags 0 -S getgrgid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 3E -R 00 00 01 00 02 05 04 00 -T 06 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 -T 0B 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 03 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 02 00 02 0A 02 00 -T 13 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 03 00 -T 1C 00 00 00 B4 28 1D -R 00 00 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 21 04 00 DD 4E FE DD 46 FF 09 46 -R 00 00 01 00 -T 2A 00 00 00 23 66 68 DD 4E 02 DD 46 03 A7 ED -R 00 00 01 00 -T 35 00 00 00 42 20 02 -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 18 02 -R 00 00 01 00 -T 3A 00 00 00 -R 00 00 01 00 -T 3A 00 00 00 18 D1 -R 00 00 01 00 -T 3C 00 00 00 -R 00 00 01 00 -T 3C 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 01 00 02 0A 01 00 -T 42 00 00 00 00 00 00 00 DD 6E FE DD 66 FF C3 -R 00 00 01 00 02 04 03 00 -T 4B 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 diff --git a/lib/relcb/getgrnam.rel b/lib/relcb/getgrnam.rel deleted file mode 100644 index bd777337..00000000 --- a/lib/relcb/getgrnam.rel +++ /dev/null @@ -1,69 +0,0 @@ -XL4 -H 2 areas B global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S endgrent Ref00000000 -S strcmp Ref00000000 -S getgrent Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S setgrent Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 62 flags 0 -S getgrnam Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 B6 03 20 0B -R 00 00 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 21 16 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 05 00 -T 16 00 00 00 18 47 -R 00 00 01 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 -T 1E 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 04 00 -T 20 00 00 00 -R 00 00 01 00 -T 20 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 -T 26 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 04 00 -T 2F 00 00 00 B4 28 1F -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 DD 4E 02 DD 46 03 DD 6E FE DD 66 -R 00 00 01 00 -T 3D 00 00 00 FF 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 02 00 -T 44 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 02 00 02 09 04 00 -T 4B 00 00 00 20 02 -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 18 02 -R 00 00 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 18 CF -R 00 00 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 01 00 02 0A 01 00 -T 57 00 00 00 00 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 02 04 04 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/getopt.rel b/lib/relcb/getopt.rel deleted file mode 100644 index a5c54634..00000000 --- a/lib/relcb/getopt.rel +++ /dev/null @@ -1,290 +0,0 @@ -XL4 -H 6 areas 10 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S stderr Ref00000000 -S strchr Ref00000000 -S strcmp Ref00000000 -S fputc Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S fputs Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23D flags 0 -S getopt Def00000000 -A CSTR size 3A flags 0 -A UDATA0 size 4 flags 0 -S optarg Def00000002 -S optopt Def00000000 -A IDATA0 size 6 flags 0 -S optind Def00000002 -S opterr Def00000000 -A CDATA0 size 6 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 2A -R 00 00 01 00 02 05 06 00 -T 06 00 00 00 04 00 00 00 3E 01 AD B4 20 66 -R 00 00 01 00 00 04 04 00 -T 0E 00 00 00 -R 00 00 01 00 -T 0E 00 00 00 DD 4E 02 DD 46 03 2A 02 00 00 00 -R 00 00 01 00 00 0B 04 00 -T 17 00 00 00 CD 00 00 00 00 30 28 2A -R 00 00 01 00 02 05 07 00 -T 1D 00 00 00 02 00 00 00 29 DD 4E 04 DD 46 05 -R 00 00 01 00 00 04 04 00 -T 26 00 00 00 09 7E 23 66 6F 7E FE 2D 20 14 2A -R 00 00 01 00 -T 31 00 00 00 02 00 00 00 29 DD 4E 04 DD 46 05 -R 00 00 01 00 00 04 04 00 -T 3A 00 00 00 09 46 23 66 68 23 7E B7 20 06 -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 21 FF FF C3 3A 02 00 00 -R 00 00 01 00 00 08 01 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 01 00 00 00 00 2A 02 00 00 00 29 -R 00 00 01 00 00 05 02 00 00 0A 04 00 -T 51 00 00 00 DD 5E 04 DD 56 05 19 5E 23 56 3E -R 00 00 01 00 -T 5C 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 61 00 00 00 00 00 00 00 7D B4 20 0D -R 00 00 01 00 02 04 05 00 -T 67 00 00 00 -R 00 00 01 00 -T 67 00 00 00 2A 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 05 04 00 00 0B 04 00 -T 6E 00 00 00 21 FF FF C3 3A 02 00 00 -R 00 00 01 00 00 08 01 00 -T 74 00 00 00 -R 00 00 01 00 -T 74 00 00 00 -R 00 00 01 00 -T 74 00 00 00 2A 02 00 00 00 29 DD 4E 04 DD 46 -R 00 00 01 00 00 05 04 00 -T 7D 00 00 00 05 09 46 23 66 68 ED 4B -R 00 00 01 00 -T 85 00 00 00 04 00 00 00 09 4E 06 00 DD 71 FC -R 00 00 01 00 00 04 04 00 -T 8E 00 00 00 DD 70 FD ED 43 00 00 00 00 3E 3A -R 00 00 01 00 00 09 03 00 -T 97 00 00 00 DD AE FC DD B6 FD 28 1E DD 4E FC -R 00 00 01 00 -T A2 00 00 00 DD 46 FD DD 5E 0A DD 56 0B 3E -R 00 00 01 00 -T AC 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T B1 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 05 00 -T BA 00 00 00 B4 20 78 -R 00 00 01 00 -T BD 00 00 00 -R 00 00 01 00 -T BD 00 00 00 -R 00 00 01 00 -T BD 00 00 00 -R 00 00 01 00 -T BD 00 00 00 2A 00 00 00 00 7D B4 28 41 -R 00 00 01 00 00 05 04 00 -T C4 00 00 00 -R 00 00 01 00 -T C4 00 00 00 01 00 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 02 05 01 00 -T CD 00 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 08 00 -T D3 00 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 04 08 00 02 09 05 00 -T D9 00 00 00 00 00 00 00 11 03 00 00 00 3E -R 00 00 01 00 02 04 01 00 00 09 02 00 -T DF 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T E4 00 00 00 00 00 00 00 01 00 00 00 00 DD 5E -R 00 00 01 00 02 04 05 00 02 09 01 00 -T EB 00 00 00 FC DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 04 00 -T F2 00 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 04 04 00 02 09 05 00 -T F8 00 00 00 00 00 00 00 11 0A 00 3E -R 00 00 01 00 02 04 01 00 -T FE 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 03 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 05 00 -T 05 01 00 00 -R 00 00 01 00 -T 05 01 00 00 2A 02 00 00 00 29 DD 4E 04 DD 46 -R 00 00 01 00 00 05 04 00 -T 0E 01 00 00 05 09 46 23 66 68 ED 4B -R 00 00 01 00 -T 16 01 00 00 04 00 00 00 03 ED 43 04 00 00 00 -R 00 00 01 00 00 04 04 00 00 0B 04 00 -T 1D 01 00 00 09 7E B7 20 0D -R 00 00 01 00 -T 22 01 00 00 -R 00 00 01 00 -T 22 01 00 00 2A 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 05 04 00 00 0B 04 00 -T 29 01 00 00 21 01 00 22 04 00 00 00 -R 00 00 01 00 00 08 04 00 -T 2F 01 00 00 -R 00 00 01 00 -T 2F 01 00 00 21 3F 00 C3 3A 02 00 00 -R 00 00 01 00 00 08 01 00 -T 35 01 00 00 -R 00 00 01 00 -T 35 01 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 40 01 00 00 74 FF 7E FE 3A C2 04 02 00 00 -R 00 00 01 00 00 0A 01 00 -T 48 01 00 00 -R 00 00 01 00 -T 48 01 00 00 2A 02 00 00 00 29 DD 4E 04 DD 46 -R 00 00 01 00 00 05 04 00 -T 51 01 00 00 05 09 46 23 66 68 ED 4B -R 00 00 01 00 -T 59 01 00 00 04 00 00 00 09 23 7E B7 28 1F -R 00 00 01 00 00 04 04 00 -T 61 01 00 00 -R 00 00 01 00 -T 61 01 00 00 2A 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 05 04 00 00 0B 04 00 -T 68 01 00 00 2B 29 DD 4E 04 DD 46 05 09 46 23 -R 00 00 01 00 -T 73 01 00 00 66 68 ED 4B 04 00 00 00 09 23 22 -R 00 00 01 00 00 08 04 00 -T 7C 01 00 00 02 00 00 00 18 7C -R 00 00 01 00 00 04 03 00 -T 80 01 00 00 -R 00 00 01 00 -T 80 01 00 00 2A 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 05 04 00 00 0B 04 00 -T 87 01 00 00 DD 4E 02 DD 46 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 07 00 -T 90 01 00 00 38 53 -R 00 00 01 00 -T 92 01 00 00 -R 00 00 01 00 -T 92 01 00 00 2A 00 00 00 00 7D B4 28 41 -R 00 00 01 00 00 05 04 00 -T 99 01 00 00 -R 00 00 01 00 -T 99 01 00 00 01 00 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 02 05 01 00 -T A2 01 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 08 00 -T A8 01 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 04 08 00 02 09 05 00 -T AE 01 00 00 00 00 00 00 11 18 00 00 00 3E -R 00 00 01 00 02 04 01 00 00 09 02 00 -T B4 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T B9 01 00 00 00 00 00 00 01 00 00 00 00 DD 5E -R 00 00 01 00 02 04 05 00 02 09 01 00 -T C0 01 00 00 FC DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 04 00 -T C7 01 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 04 04 00 02 09 05 00 -T CD 01 00 00 00 00 00 00 11 0A 00 3E -R 00 00 01 00 02 04 01 00 -T D3 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T D8 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 05 00 -T DA 01 00 00 -R 00 00 01 00 -T DA 01 00 00 21 01 00 22 04 00 00 00 21 3F 00 -R 00 00 01 00 00 08 04 00 -T E3 01 00 00 18 55 -R 00 00 01 00 -T E5 01 00 00 -R 00 00 01 00 -T E5 01 00 00 2A 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 05 04 00 00 0B 04 00 -T EC 01 00 00 2B 29 DD 4E 04 DD 46 05 09 46 23 -R 00 00 01 00 -T F7 01 00 00 66 68 22 02 00 00 00 -R 00 00 01 00 00 07 03 00 -T FC 01 00 00 -R 00 00 01 00 -T FC 01 00 00 21 01 00 22 04 00 00 00 18 30 -R 00 00 01 00 00 08 04 00 -T 04 02 00 00 -R 00 00 01 00 -T 04 02 00 00 2A 02 00 00 00 29 DD 4E 04 DD 46 -R 00 00 01 00 00 05 04 00 -T 0D 02 00 00 05 09 46 23 66 68 ED 4B -R 00 00 01 00 -T 15 02 00 00 04 00 00 00 03 ED 43 04 00 00 00 -R 00 00 01 00 00 04 04 00 00 0B 04 00 -T 1C 02 00 00 09 7E B7 20 0D -R 00 00 01 00 -T 21 02 00 00 -R 00 00 01 00 -T 21 02 00 00 21 01 00 22 04 00 00 00 2A -R 00 00 01 00 00 08 04 00 -T 28 02 00 00 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 04 04 00 00 0A 04 00 -T 2E 02 00 00 -R 00 00 01 00 -T 2E 02 00 00 21 00 00 22 02 00 00 00 -R 00 00 01 00 00 08 03 00 -T 34 02 00 00 -R 00 00 01 00 -T 34 02 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 -T 3A 02 00 00 -R 00 00 01 00 -T 3A 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2D 2D 00 -R 00 00 02 00 -T 03 00 00 00 -R 00 00 02 00 -T 03 00 00 00 3A 20 69 6C 6C 65 67 61 6C 20 6F -R 00 00 02 00 -T 0E 00 00 00 70 74 69 6F 6E 20 2D 2D 20 00 -R 00 00 02 00 -T 18 00 00 00 -R 00 00 02 00 -T 18 00 00 00 3A 20 6F 70 74 69 6F 6E 20 72 65 -R 00 00 02 00 -T 23 00 00 00 71 75 69 72 65 73 20 61 6E 20 61 -R 00 00 02 00 -T 2E 00 00 00 72 67 75 6D 65 6E 74 20 2D 2D 20 -R 00 00 02 00 -T 39 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 02 00 00 00 -R 00 00 04 00 -T 02 00 00 00 -R 00 00 04 00 -T 04 00 00 00 -R 00 00 04 00 -T 04 00 00 00 -R 00 00 04 00 -T 00 00 00 00 01 00 01 00 01 00 -R 00 00 05 00 diff --git a/lib/relcb/getpass.rel b/lib/relcb/getpass.rel deleted file mode 100644 index 031970d4..00000000 --- a/lib/relcb/getpass.rel +++ /dev/null @@ -1,166 +0,0 @@ -XL4 -H 3 areas D global symbols -S fflush Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ioctl Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S stdout Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S fputs Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S _getchar Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 153 flags 0 -S getpass Def000000AE -A UDATA0 size 80 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF AF DD 77 FE -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 DD 77 FF -R 00 00 01 00 -T 0C 00 00 00 -R 00 00 01 00 -T 0C 00 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 -R 00 00 01 00 -T 17 00 00 00 FF CD 00 00 00 00 30 7D -R 00 00 01 00 02 06 07 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0A 00 02 0A 0A 00 -T 23 00 00 00 00 00 00 00 DD 75 FC DD 74 FD 7D -R 00 00 01 00 02 04 04 00 -T 2C 00 00 00 A4 3C 20 0D DD 7E FE DD B6 FF 20 -R 00 00 01 00 -T 37 00 00 00 05 -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 21 00 00 18 6E -R 00 00 01 00 -T 3D 00 00 00 -R 00 00 01 00 -T 3D 00 00 00 3E 43 DD AE FC DD B6 FD 20 04 3E -R 00 00 01 00 -T 48 00 00 00 01 18 01 -R 00 00 01 00 -T 4B 00 00 00 -R 00 00 01 00 -T 4B 00 00 00 AF -R 00 00 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 E6 1F 20 13 3E 5A DD AE FC DD B6 -R 00 00 01 00 -T 57 00 00 00 FD 20 04 3E 01 18 01 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 AF -R 00 00 01 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 E6 1F 28 05 -R 00 00 01 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 21 00 00 18 43 -R 00 00 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 3E 0A DD AE FC DD B6 FD 28 0A 3E -R 00 00 01 00 -T 73 00 00 00 0D DD AE FC DD B6 FD 20 02 -R 00 00 01 00 -T 7C 00 00 00 -R 00 00 01 00 -T 7C 00 00 00 -R 00 00 01 00 -T 7C 00 00 00 -R 00 00 01 00 -T 7C 00 00 00 18 1C -R 00 00 01 00 -T 7E 00 00 00 -R 00 00 01 00 -T 7E 00 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 89 00 00 00 74 FF 2B DD 4E 02 DD 46 03 09 DD -R 00 00 01 00 -T 94 00 00 00 46 FC 70 C3 0C 00 00 00 -R 00 00 01 00 00 08 01 00 -T 9A 00 00 00 -R 00 00 01 00 -T 9A 00 00 00 DD 6E FE DD 66 FF DD 4E 02 DD 46 -R 00 00 01 00 -T A5 00 00 00 03 09 36 00 69 60 -R 00 00 01 00 -T AB 00 00 00 -R 00 00 01 00 -T AB 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T AE 00 00 00 -R 00 00 01 00 -T AE 00 00 00 CD 00 00 00 00 F8 FF 01 -R 00 00 01 00 02 05 06 00 -T B4 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E -R 00 00 01 00 02 04 05 00 -T BD 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T C2 00 00 00 00 00 00 00 11 00 00 00 00 3E -R 00 00 01 00 02 04 04 00 02 09 05 00 -T C8 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T CD 00 00 00 00 00 00 00 21 00 00 39 E5 21 -R 00 00 01 00 02 04 04 00 -T D5 00 00 00 00 00 E5 21 00 00 E5 3E -R 00 00 01 00 -T DD 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T E2 00 00 00 00 00 00 00 F1 F1 F1 DD 6E FC DD -R 00 00 01 00 02 04 04 00 -T EB 00 00 00 66 FD DD 75 FE DD 74 FF 21 04 00 -R 00 00 01 00 -T F6 00 00 00 39 7E E6 F7 77 23 7E E6 FF 77 21 -R 00 00 01 00 -T 01 01 00 00 00 00 39 E5 21 01 00 E5 21 00 00 -R 00 00 01 00 -T 0C 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 03 00 02 0B 03 00 -T 12 01 00 00 CD 00 00 00 00 F1 F1 F1 01 7F 00 -R 00 00 01 00 02 05 04 00 -T 1B 01 00 00 11 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 00 05 02 00 00 0A 01 00 -T 22 01 00 00 B4 20 04 -R 00 00 01 00 -T 25 01 00 00 -R 00 00 01 00 -T 25 01 00 00 AF 32 00 00 00 00 -R 00 00 01 00 00 06 02 00 -T 29 01 00 00 -R 00 00 01 00 -T 29 01 00 00 DD 6E FE DD 66 FF DD 75 FC DD 74 -R 00 00 01 00 -T 34 01 00 00 FD 21 00 00 39 E5 21 01 00 E5 21 -R 00 00 01 00 -T 3F 01 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 03 00 -T 45 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 02 09 04 00 -T 4C 01 00 00 F1 21 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 00 06 02 00 02 0B 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 diff --git a/lib/relcb/getpw.rel b/lib/relcb/getpw.rel deleted file mode 100644 index 341fe1df..00000000 --- a/lib/relcb/getpw.rel +++ /dev/null @@ -1,68 +0,0 @@ -XL4 -H 3 areas 9 global symbols -S sprintf Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S getpwuid Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 91 flags 0 -S getpw Def00000000 -A CSTR size 15 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 79 B0 20 0B -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 -R 00 00 01 00 -T 09 00 00 00 21 16 00 22 00 00 00 00 21 FF FF -R 00 00 01 00 02 08 03 00 -T 12 00 00 00 18 7A -R 00 00 01 00 -T 14 00 00 00 -R 00 00 01 00 -T 14 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 -T 1C 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 04 00 02 0A 02 00 -T 23 00 00 00 75 FE DD 74 FF 7D B4 20 05 -R 00 00 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 21 FF FF 18 5D -R 00 00 01 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 21 0C 00 DD 4E FE DD 46 FF 09 5E -R 00 00 01 00 -T 3C 00 00 00 23 56 D5 21 0A 00 09 5E 23 56 D5 -R 00 00 01 00 -T 47 00 00 00 21 08 00 09 5E 23 56 D5 21 06 00 -R 00 00 01 00 -T 52 00 00 00 09 5E 23 56 D5 21 04 00 09 5E 23 -R 00 00 01 00 -T 5D 00 00 00 56 D5 03 03 69 60 4E 23 46 C5 DD -R 00 00 01 00 -T 68 00 00 00 6E FE DD 66 FF 4E 23 46 C5 21 -R 00 00 01 00 -T 72 00 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 00 04 02 00 -T 7B 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 00 00 02 0B 00 00 -T 81 00 00 00 CD 00 00 00 00 EB 21 12 00 39 F9 -R 00 00 01 00 02 05 02 00 -T 8A 00 00 00 EB 21 00 00 -R 00 00 01 00 -T 8E 00 00 00 -R 00 00 01 00 -T 8E 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 25 73 3A 25 73 3A 25 75 3A 25 75 -R 00 00 02 00 -T 0B 00 00 00 3A 25 73 3A 25 73 3A 25 73 00 -R 00 00 02 00 diff --git a/lib/relcb/getpwent.rel b/lib/relcb/getpwent.rel deleted file mode 100644 index 4da54a2a..00000000 --- a/lib/relcb/getpwent.rel +++ /dev/null @@ -1,293 +0,0 @@ -XL4 -H 3 areas C global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S lseek Ref00000000 -S strchr Ref00000000 -S strtoul Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?S_S_SWITCH_L06 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 288 flags 0 -S __getpwent Def00000000 -A UDATA0 size 10E flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F4 FF -R 00 00 01 00 02 05 06 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 21 00 01 E5 01 00 00 00 00 DD 5E -R 00 00 01 00 00 09 02 00 -T 0E 00 00 00 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 09 00 -T 15 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 09 00 02 09 04 00 -T 1C 00 00 00 75 FE DD 74 FF 4D 44 21 00 00 CD -R 00 00 01 00 -T 27 00 00 00 00 00 00 00 38 06 -R 00 00 01 00 02 04 07 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 21 00 00 C3 85 02 00 00 -R 00 00 01 00 00 08 01 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 01 0A 00 11 00 00 00 00 3E -R 00 00 01 00 00 08 02 00 -T 38 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 3D 00 00 00 00 00 00 00 DD 75 F4 DD 74 F5 7D -R 00 00 01 00 02 04 04 00 -T 46 00 00 00 B4 28 5B -R 00 00 01 00 -T 49 00 00 00 -R 00 00 01 00 -T 49 00 00 00 DD 6E F4 DD 66 F5 23 DD 75 F4 DD -R 00 00 01 00 -T 54 00 00 00 74 F5 2B 36 00 21 01 00 E5 01 -R 00 00 01 00 -T 5E 00 00 00 00 00 00 00 DD 6E F4 DD 66 F5 A7 -R 00 00 01 00 00 04 02 00 -T 67 00 00 00 ED 42 DD 4E FE DD 46 FF A7 ED 42 -R 00 00 01 00 -T 72 00 00 00 7C 07 9F 4F 41 C5 E5 DD 5E 02 DD -R 00 00 01 00 -T 7D 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 01 00 -T 82 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 01 00 02 09 04 00 -T 89 00 00 00 F1 DD 6E F4 DD 66 F5 2B 2B 7E FE -R 00 00 01 00 -T 94 00 00 00 0D 20 0A -R 00 00 01 00 -T 97 00 00 00 -R 00 00 01 00 -T 97 00 00 00 DD 6E F4 DD 66 F5 2B 2B 36 00 -R 00 00 01 00 -T A1 00 00 00 -R 00 00 01 00 -T A1 00 00 00 C3 36 01 00 00 -R 00 00 01 00 00 05 01 00 -T A4 00 00 00 -R 00 00 01 00 -T A4 00 00 00 -R 00 00 01 00 -T A4 00 00 00 21 00 01 E5 01 00 00 00 00 DD 5E -R 00 00 01 00 00 09 02 00 -T AD 00 00 00 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 09 00 -T B4 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 09 00 02 09 04 00 -T BB 00 00 00 75 FE DD 74 FF 4D 44 21 00 00 CD -R 00 00 01 00 -T C6 00 00 00 00 00 00 00 38 06 -R 00 00 01 00 02 04 07 00 -T CA 00 00 00 -R 00 00 01 00 -T CA 00 00 00 21 00 00 C3 85 02 00 00 -R 00 00 01 00 00 08 01 00 -T D0 00 00 00 -R 00 00 01 00 -T D0 00 00 00 01 0A 00 11 00 00 00 00 3E -R 00 00 01 00 00 08 02 00 -T D7 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T DC 00 00 00 00 00 00 00 DD 75 F4 DD 74 F5 7D -R 00 00 01 00 02 04 04 00 -T E5 00 00 00 B4 28 BC -R 00 00 01 00 -T E8 00 00 00 -R 00 00 01 00 -T E8 00 00 00 21 01 00 E5 DD 6E FE DD 66 FF 7C -R 00 00 01 00 -T F3 00 00 00 07 9F 5F 53 D5 E5 01 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T FC 00 00 00 DD 6E F4 DD 66 F5 A7 ED 42 7C 07 -R 00 00 01 00 -T 07 01 00 00 9F 5F 53 A7 C1 ED 42 EB C1 ED 42 -R 00 00 01 00 -T 12 01 00 00 E5 D5 21 01 00 C1 09 EB 21 00 00 -R 00 00 01 00 -T 1D 01 00 00 C1 ED 4A E5 D5 DD 5E 02 DD 56 03 -R 00 00 01 00 -T 28 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 01 00 02 0A 01 00 -T 2E 01 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 04 00 -T 34 01 00 00 05 00 00 00 -R 00 00 01 00 00 04 01 00 -T 36 01 00 00 -R 00 00 01 00 -T 36 01 00 00 3A 00 00 00 00 FE 23 28 15 3A -R 00 00 01 00 00 05 02 00 -T 3E 01 00 00 00 00 00 00 FE 20 28 0E 3A -R 00 00 01 00 00 04 02 00 -T 45 01 00 00 00 00 00 00 FE 0A 28 07 3A -R 00 00 01 00 00 04 02 00 -T 4C 01 00 00 00 00 00 00 FE 09 20 03 -R 00 00 01 00 00 04 02 00 -T 52 01 00 00 -R 00 00 01 00 -T 52 01 00 00 -R 00 00 01 00 -T 52 01 00 00 -R 00 00 01 00 -T 52 01 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 55 01 00 00 -R 00 00 01 00 -T 55 01 00 00 DD 36 F4 00 00 00 00 DD 36 F5 -R 00 00 01 00 09 07 02 00 -T 5C 01 00 00 00 00 00 00 AF DD 77 FC DD 77 FD -R 00 00 01 00 89 04 02 00 -T 64 01 00 00 -R 00 00 01 00 -T 64 01 00 00 01 07 80 DD 6E FC DD 66 FD 3E 80 -R 00 00 01 00 -T 6F 01 00 00 AC 67 ED 42 D2 30 02 00 00 -R 00 00 01 00 00 09 01 00 -T 76 01 00 00 -R 00 00 01 00 -T 76 01 00 00 DD 5E FC DD 56 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 7F 01 00 00 00 00 07 00 E6 01 00 00 -R 00 00 01 00 00 08 01 00 -T 85 01 00 00 93 01 00 00 9E 01 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 89 01 00 00 A9 01 00 00 B7 01 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 8D 01 00 00 C5 01 00 00 D0 01 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 91 01 00 00 DB 01 00 00 -R 00 00 01 00 00 04 01 00 -T 93 01 00 00 -R 00 00 01 00 -T 93 01 00 00 DD 6E F4 DD 66 F5 22 00 01 00 00 -R 00 00 01 00 00 0B 02 00 -T 9C 01 00 00 18 48 -R 00 00 01 00 -T 9E 01 00 00 -R 00 00 01 00 -T 9E 01 00 00 DD 6E F4 DD 66 F5 22 02 01 00 00 -R 00 00 01 00 00 0B 02 00 -T A7 01 00 00 18 3D -R 00 00 01 00 -T A9 01 00 00 -R 00 00 01 00 -T A9 01 00 00 DD 6E F4 DD 66 F5 DD 75 FA DD 74 -R 00 00 01 00 -T B4 01 00 00 FB 18 2F -R 00 00 01 00 -T B7 01 00 00 -R 00 00 01 00 -T B7 01 00 00 DD 6E F4 DD 66 F5 DD 75 F8 DD 74 -R 00 00 01 00 -T C2 01 00 00 F9 18 21 -R 00 00 01 00 -T C5 01 00 00 -R 00 00 01 00 -T C5 01 00 00 DD 6E F4 DD 66 F5 22 08 01 00 00 -R 00 00 01 00 00 0B 02 00 -T CE 01 00 00 18 16 -R 00 00 01 00 -T D0 01 00 00 -R 00 00 01 00 -T D0 01 00 00 DD 6E F4 DD 66 F5 22 0A 01 00 00 -R 00 00 01 00 00 0B 02 00 -T D9 01 00 00 18 0B -R 00 00 01 00 -T DB 01 00 00 -R 00 00 01 00 -T DB 01 00 00 DD 6E F4 DD 66 F5 22 0C 01 00 00 -R 00 00 01 00 00 0B 02 00 -T E4 01 00 00 18 00 -R 00 00 01 00 -T E6 01 00 00 -R 00 00 01 00 -T E6 01 00 00 01 06 80 DD 6E FC DD 66 FD 3E 80 -R 00 00 01 00 -T F1 01 00 00 AC 67 ED 42 30 2E -R 00 00 01 00 -T F7 01 00 00 -R 00 00 01 00 -T F7 01 00 00 01 3A 00 DD 5E F4 DD 56 F5 3E -R 00 00 01 00 -T 01 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 06 02 00 00 00 00 00 00 DD 75 F4 DD 74 F5 7D -R 00 00 01 00 02 04 04 00 -T 0F 02 00 00 B4 20 03 -R 00 00 01 00 -T 12 02 00 00 -R 00 00 01 00 -T 12 02 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 15 02 00 00 -R 00 00 01 00 -T 15 02 00 00 DD 6E F4 DD 66 F5 23 DD 75 F4 DD -R 00 00 01 00 -T 20 02 00 00 74 F5 2B 36 00 -R 00 00 01 00 -T 25 02 00 00 -R 00 00 01 00 -T 25 02 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 2D 02 00 00 -R 00 00 01 00 -T 2D 02 00 00 C3 64 01 00 00 -R 00 00 01 00 00 05 01 00 -T 30 02 00 00 -R 00 00 01 00 -T 30 02 00 00 21 0A 00 E5 21 04 00 39 4D 44 DD -R 00 00 01 00 -T 3B 02 00 00 5E F8 DD 56 F9 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 03 00 -T 43 02 00 00 00 00 00 00 CD 00 00 00 00 F1 22 -R 00 00 01 00 02 04 03 00 02 09 04 00 -T 4A 02 00 00 06 01 00 00 DD 6E F6 DD 66 F7 AF -R 00 00 01 00 00 04 02 00 -T 53 02 00 00 B6 28 03 -R 00 00 01 00 -T 56 02 00 00 -R 00 00 01 00 -T 56 02 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 59 02 00 00 -R 00 00 01 00 -T 59 02 00 00 21 0A 00 E5 21 04 00 39 4D 44 DD -R 00 00 01 00 -T 64 02 00 00 5E FA DD 56 FB 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 03 00 -T 6C 02 00 00 00 00 00 00 CD 00 00 00 00 F1 22 -R 00 00 01 00 02 04 03 00 02 09 04 00 -T 73 02 00 00 04 01 00 00 DD 6E F6 DD 66 F7 AF -R 00 00 01 00 00 04 02 00 -T 7C 02 00 00 B6 28 03 -R 00 00 01 00 -T 7F 02 00 00 -R 00 00 01 00 -T 7F 02 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 82 02 00 00 -R 00 00 01 00 -T 82 02 00 00 21 00 01 00 00 -R 00 00 01 00 00 05 02 00 -T 85 02 00 00 -R 00 00 01 00 -T 85 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 01 00 00 -R 00 00 02 00 -T 00 01 00 00 -R 00 00 02 00 diff --git a/lib/relcb/getpwnam.rel b/lib/relcb/getpwnam.rel deleted file mode 100644 index bd4e5d2f..00000000 --- a/lib/relcb/getpwnam.rel +++ /dev/null @@ -1,69 +0,0 @@ -XL4 -H 2 areas B global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strcmp Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S endpwent Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S getpwent Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S setpwent Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 62 flags 0 -S getpwnam Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 B6 03 20 0B -R 00 00 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 21 16 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 04 00 -T 16 00 00 00 18 47 -R 00 00 01 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 08 00 02 0A 08 00 -T 1E 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 -T 20 00 00 00 -R 00 00 01 00 -T 20 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 -T 26 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 02 00 -T 2F 00 00 00 B4 28 1F -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 DD 4E 02 DD 46 03 DD 6E FE DD 66 -R 00 00 01 00 -T 3D 00 00 00 FF 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 01 00 -T 44 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 01 00 02 09 02 00 -T 4B 00 00 00 20 02 -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 18 02 -R 00 00 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 18 CF -R 00 00 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 -T 57 00 00 00 00 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 02 04 02 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/getpwuid.rel b/lib/relcb/getpwuid.rel deleted file mode 100644 index d8430c81..00000000 --- a/lib/relcb/getpwuid.rel +++ /dev/null @@ -1,53 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S endpwent Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S getpwent Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S setpwent Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4D flags 0 -S getpwuid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 3E -R 00 00 01 00 02 05 03 00 -T 06 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 -T 0B 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 04 00 02 0A 04 00 -T 13 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 01 00 -T 1C 00 00 00 B4 28 1D -R 00 00 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 21 04 00 DD 4E FE DD 46 FF 09 46 -R 00 00 01 00 -T 2A 00 00 00 23 66 68 DD 4E 02 DD 46 03 A7 ED -R 00 00 01 00 -T 35 00 00 00 42 20 02 -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 18 02 -R 00 00 01 00 -T 3A 00 00 00 -R 00 00 01 00 -T 3A 00 00 00 18 D1 -R 00 00 01 00 -T 3C 00 00 00 -R 00 00 01 00 -T 3C 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 02 00 02 0A 02 00 -T 42 00 00 00 00 00 00 00 DD 6E FE DD 66 FF C3 -R 00 00 01 00 02 04 01 00 -T 4B 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 diff --git a/lib/relcb/gets.rel b/lib/relcb/gets.rel deleted file mode 100644 index 531372dd..00000000 --- a/lib/relcb/gets.rel +++ /dev/null @@ -1,96 +0,0 @@ -XL4 -H 2 areas C global symbols -S fgetc Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S stdin Ref00000000 -S fputc Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S stdout Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S fputs Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size BE flags 0 -S puts Def00000075 -S gets Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 66 03 DD 75 FE DD 74 FF -R 00 00 01 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 02 00 2B 0A 00 00 -T 17 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 00 00 02 09 04 00 -T 1E 00 00 00 FC DD 74 FD 7D A4 3C 28 1E 3E 0A -R 00 00 01 00 -T 29 00 00 00 DD AE FC DD B6 FD 28 14 -R 00 00 01 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 DD 46 FC DD 6E FE DD 66 FF 23 DD -R 00 00 01 00 -T 3C 00 00 00 75 FE DD 74 FF 2B 70 18 CC -R 00 00 01 00 -T 45 00 00 00 -R 00 00 01 00 -T 45 00 00 00 DD 6E FE DD 66 FF 36 00 DD 7E FC -R 00 00 01 00 -T 50 00 00 00 DD A6 FD 3C 20 16 DD 6E 02 DD 66 -R 00 00 01 00 -T 5B 00 00 00 03 DD 4E FE DD 46 FF A7 ED 42 20 -R 00 00 01 00 -T 66 00 00 00 05 21 00 00 18 06 -R 00 00 01 00 -T 6C 00 00 00 -R 00 00 01 00 -T 6C 00 00 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 72 00 00 00 -R 00 00 01 00 -T 72 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 75 00 00 00 -R 00 00 01 00 -T 75 00 00 00 CD 00 00 00 00 FE FF 01 -R 00 00 01 00 02 05 06 00 -T 7B 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E -R 00 00 01 00 02 04 05 00 -T 84 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 89 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 04 00 -T 92 00 00 00 A4 3C 28 13 01 00 00 00 00 11 -R 00 00 01 00 02 09 05 00 -T 9A 00 00 00 0A 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 03 00 -T 9F 00 00 00 00 00 00 00 CD 00 00 00 00 7D A4 -R 00 00 01 00 02 04 03 00 02 09 04 00 -T A6 00 00 00 3C 20 05 -R 00 00 01 00 -T A9 00 00 00 -R 00 00 01 00 -T A9 00 00 00 -R 00 00 01 00 -T A9 00 00 00 -R 00 00 01 00 -T A9 00 00 00 21 FF FF 18 0D -R 00 00 01 00 -T AE 00 00 00 -R 00 00 01 00 -T AE 00 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T B9 00 00 00 74 FF -R 00 00 01 00 -T BB 00 00 00 -R 00 00 01 00 -T BB 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcb/gmtime.rel b/lib/relcb/gmtime.rel deleted file mode 100644 index 1fdd2ee6..00000000 --- a/lib/relcb/gmtime.rel +++ /dev/null @@ -1,478 +0,0 @@ -XL4 -H 5 areas D global symbols -S ?US_RSH_L02 Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S timezone Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SL_DIV_L03 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?SS_MOD_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4F5 flags 0 -S gmtime Def000004CB -S __tm_conv Def00000000 -A UDATA0 size 12 flags 0 -A IDATA0 size 18 flags 0 -A CDATA0 size 18 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF 0A 6F 03 0A -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 67 7D E6 1F 4F 7C E6 00 47 69 60 -R 00 00 01 00 -T 14 00 00 00 29 E5 DD 6E 02 DD 66 03 C1 71 23 -R 00 00 01 00 -T 1F 00 00 00 70 DD 6E 02 DD 66 03 23 23 E5 DD -R 00 00 01 00 -T 2A 00 00 00 6E 04 DD 66 05 5E 23 56 06 05 CD -R 00 00 01 00 -T 35 00 00 00 00 00 00 00 7B E6 3F 6F 7A E6 00 -R 00 00 01 00 02 04 00 00 -T 3E 00 00 00 67 DD 4E 0A DD 46 0B 09 4D 44 E1 -R 00 00 01 00 -T 49 00 00 00 71 23 70 21 04 00 DD 4E 02 DD 46 -R 00 00 01 00 -T 54 00 00 00 03 09 E5 DD 6E 04 DD 66 05 5E 23 -R 00 00 01 00 -T 5F 00 00 00 56 06 0B CD 00 00 00 00 7B E6 1F -R 00 00 01 00 02 08 00 00 -T 68 00 00 00 4F 7A E6 00 47 E1 71 23 70 21 -R 00 00 01 00 -T 72 00 00 00 06 00 DD 4E 02 DD 46 03 09 E5 DD -R 00 00 01 00 -T 7D 00 00 00 5E 04 DD 56 05 13 13 EB 5E 23 56 -R 00 00 01 00 -T 88 00 00 00 7B E6 1F 4F 7A E6 00 47 E1 71 23 -R 00 00 01 00 -T 93 00 00 00 70 21 08 00 DD 4E 02 DD 46 03 09 -R 00 00 01 00 -T 9E 00 00 00 E5 DD 6E 04 DD 66 05 23 23 5E 23 -R 00 00 01 00 -T A9 00 00 00 56 06 05 CD 00 00 00 00 7B E6 0F -R 00 00 01 00 02 08 00 00 -T B2 00 00 00 6F 7A E6 00 67 01 FF FF 09 4D 44 -R 00 00 01 00 -T BD 00 00 00 E1 71 23 70 DD 6E 04 DD 66 05 23 -R 00 00 01 00 -T C8 00 00 00 23 5E 23 56 06 09 CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T D1 00 00 00 7B E6 7F 6F 7A E6 00 67 01 BC 07 -R 00 00 01 00 -T DC 00 00 00 09 DD 75 F8 DD 74 F9 -R 00 00 01 00 -T E3 00 00 00 -R 00 00 01 00 -T E3 00 00 00 DD 6E 02 DD 66 03 23 23 23 CB 7E -R 00 00 01 00 -T EE 00 00 00 CA 0C 02 00 00 -R 00 00 01 00 00 05 01 00 -T F1 00 00 00 -R 00 00 01 00 -T F1 00 00 00 DD 6E 02 DD 66 03 23 23 7E C6 3C -R 00 00 01 00 -T FC 00 00 00 77 30 02 23 34 -R 00 00 01 00 -T 01 01 00 00 -R 00 00 01 00 -T 01 01 00 00 21 04 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 0C 01 00 00 23 46 0B 70 2B 71 -R 00 00 01 00 -T 12 01 00 00 -R 00 00 01 00 -T 12 01 00 00 21 04 00 DD 4E 02 DD 46 03 09 23 -R 00 00 01 00 -T 1D 01 00 00 CB 7E CA 09 02 00 00 -R 00 00 01 00 00 07 01 00 -T 22 01 00 00 -R 00 00 01 00 -T 22 01 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 2D 01 00 00 C6 18 77 30 02 23 34 -R 00 00 01 00 -T 34 01 00 00 -R 00 00 01 00 -T 34 01 00 00 21 08 00 09 56 23 66 6A 29 11 -R 00 00 01 00 -T 3E 01 00 00 00 00 00 00 19 56 23 66 6A DD 75 -R 00 00 01 00 00 04 03 00 -T 47 01 00 00 FA DD 74 FB 21 08 00 09 3E 01 AE -R 00 00 01 00 -T 52 01 00 00 23 B6 20 38 01 04 00 DD 5E F8 DD -R 00 00 01 00 -T 5D 01 00 00 56 F9 CD 00 00 00 00 7B B2 20 28 -R 00 00 01 00 02 07 08 00 -T 66 01 00 00 01 64 00 DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T 70 01 00 00 00 00 00 00 7B B2 20 10 01 90 01 -R 00 00 01 00 02 04 08 00 -T 79 01 00 00 DD 5E F8 DD 56 F9 CD 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T 82 01 00 00 7B B2 20 08 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 8E 01 00 00 -R 00 00 01 00 -T 8E 01 00 00 -R 00 00 01 00 -T 8E 01 00 00 21 06 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 99 01 00 00 23 46 0B 70 2B 71 -R 00 00 01 00 -T 9F 01 00 00 -R 00 00 01 00 -T 9F 01 00 00 21 06 00 DD 4E 02 DD 46 03 09 23 -R 00 00 01 00 -T AA 01 00 00 CB 7E 28 58 -R 00 00 01 00 -T AE 01 00 00 -R 00 00 01 00 -T AE 01 00 00 21 06 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T B9 01 00 00 DD 86 FA 77 23 7E DD 8E FB 77 21 -R 00 00 01 00 -T C4 01 00 00 08 00 09 4E 23 46 0B 70 2B 71 -R 00 00 01 00 -T CE 01 00 00 -R 00 00 01 00 -T CE 01 00 00 21 08 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T D9 01 00 00 23 46 21 00 00 CD 00 00 00 00 38 -R 00 00 01 00 02 0A 07 00 -T E2 01 00 00 21 -R 00 00 01 00 -T E3 01 00 00 -R 00 00 01 00 -T E3 01 00 00 21 08 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T EE 01 00 00 C6 0C 77 30 02 23 34 -R 00 00 01 00 -T F5 01 00 00 -R 00 00 01 00 -T F5 01 00 00 DD 6E F8 DD 66 F9 2B DD 75 F8 DD -R 00 00 01 00 -T 00 02 00 00 74 F9 18 CA -R 00 00 01 00 -T 04 02 00 00 -R 00 00 01 00 -T 04 02 00 00 18 99 -R 00 00 01 00 -T 06 02 00 00 -R 00 00 01 00 -T 06 02 00 00 C3 12 01 00 00 -R 00 00 01 00 00 05 01 00 -T 09 02 00 00 -R 00 00 01 00 -T 09 02 00 00 C3 E3 00 00 00 -R 00 00 01 00 00 05 01 00 -T 0C 02 00 00 -R 00 00 01 00 -T 0C 02 00 00 -R 00 00 01 00 -T 0C 02 00 00 DD 6E 02 DD 66 03 23 23 46 23 66 -R 00 00 01 00 -T 17 02 00 00 68 01 3C 80 3E 80 AC 67 ED 42 DA -R 00 00 01 00 -T 22 02 00 00 4E 03 00 00 -R 00 00 01 00 00 04 01 00 -T 24 02 00 00 -R 00 00 01 00 -T 24 02 00 00 DD 6E 02 DD 66 03 23 23 7E D6 3C -R 00 00 01 00 -T 2F 02 00 00 77 23 7E DE 00 77 21 04 00 DD 4E -R 00 00 01 00 -T 3A 02 00 00 02 DD 46 03 09 34 23 20 01 34 -R 00 00 01 00 -T 44 02 00 00 -R 00 00 01 00 -T 44 02 00 00 -R 00 00 01 00 -T 44 02 00 00 21 04 00 DD 4E 02 DD 46 03 09 46 -R 00 00 01 00 -T 4F 02 00 00 23 66 68 01 18 80 3E 80 AC 67 ED -R 00 00 01 00 -T 5A 02 00 00 42 DA 4B 03 00 00 -R 00 00 01 00 00 06 01 00 -T 5E 02 00 00 -R 00 00 01 00 -T 5E 02 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 69 02 00 00 D6 18 77 23 7E DE 00 77 21 08 00 -R 00 00 01 00 -T 74 02 00 00 09 56 23 66 6A 29 11 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 7D 02 00 00 19 56 23 66 6A DD 75 FA DD 74 FB -R 00 00 01 00 -T 88 02 00 00 21 08 00 09 3E 01 AE 23 B6 20 38 -R 00 00 01 00 -T 93 02 00 00 01 04 00 DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T 9D 02 00 00 00 00 00 00 7B B2 20 28 01 64 00 -R 00 00 01 00 02 04 08 00 -T A6 02 00 00 DD 5E F8 DD 56 F9 CD 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T AF 02 00 00 7B B2 20 10 01 90 01 DD 5E F8 DD -R 00 00 01 00 -T BA 02 00 00 56 F9 CD 00 00 00 00 7B B2 20 08 -R 00 00 01 00 02 07 08 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T CB 02 00 00 -R 00 00 01 00 -T CB 02 00 00 -R 00 00 01 00 -T CB 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 34 -R 00 00 01 00 -T D6 02 00 00 23 20 01 34 -R 00 00 01 00 -T DA 02 00 00 -R 00 00 01 00 -T DA 02 00 00 -R 00 00 01 00 -T DA 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T E5 02 00 00 23 46 DD 6E FA DD 66 FB CD -R 00 00 01 00 -T EE 02 00 00 00 00 00 00 30 56 -R 00 00 01 00 02 04 07 00 -T F2 02 00 00 -R 00 00 01 00 -T F2 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T FD 02 00 00 DD 96 FA 77 23 7E DD 9E FB 77 21 -R 00 00 01 00 -T 08 03 00 00 08 00 09 34 23 20 01 34 -R 00 00 01 00 -T 10 03 00 00 -R 00 00 01 00 -T 10 03 00 00 -R 00 00 01 00 -T 10 03 00 00 21 08 00 DD 4E 02 DD 46 03 09 46 -R 00 00 01 00 -T 1B 03 00 00 23 66 68 01 0C 80 3E 80 AC 67 ED -R 00 00 01 00 -T 26 03 00 00 42 38 1D -R 00 00 01 00 -T 29 03 00 00 -R 00 00 01 00 -T 29 03 00 00 21 08 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 34 03 00 00 D6 0C 77 23 7E DE 00 77 DD 34 F8 -R 00 00 01 00 -T 3F 03 00 00 20 03 DD 34 F9 -R 00 00 01 00 -T 44 03 00 00 -R 00 00 01 00 -T 44 03 00 00 18 CA -R 00 00 01 00 -T 46 03 00 00 -R 00 00 01 00 -T 46 03 00 00 18 92 -R 00 00 01 00 -T 48 03 00 00 -R 00 00 01 00 -T 48 03 00 00 C3 44 02 00 00 -R 00 00 01 00 00 05 01 00 -T 4B 03 00 00 -R 00 00 01 00 -T 4B 03 00 00 C3 0C 02 00 00 -R 00 00 01 00 00 05 01 00 -T 4E 03 00 00 -R 00 00 01 00 -T 4E 03 00 00 21 0A 00 DD 4E 02 DD 46 03 09 E5 -R 00 00 01 00 -T 59 03 00 00 21 94 F8 DD 4E F8 DD 46 F9 09 EB -R 00 00 01 00 -T 64 03 00 00 E1 73 23 72 21 CC 07 CD -R 00 00 01 00 -T 6C 03 00 00 00 00 00 00 30 12 -R 00 00 01 00 02 04 07 00 -T 70 03 00 00 -R 00 00 01 00 -T 70 03 00 00 DD 36 FA CD DD 36 FB 07 DD 36 FC -R 00 00 01 00 -T 7B 03 00 00 02 DD 36 FD 00 18 10 -R 00 00 01 00 -T 82 03 00 00 -R 00 00 01 00 -T 82 03 00 00 DD 36 FA B2 DD 36 FB 07 DD 36 FC -R 00 00 01 00 -T 8D 03 00 00 03 DD 36 FD 00 -R 00 00 01 00 -T 92 03 00 00 -R 00 00 01 00 -T 92 03 00 00 -R 00 00 01 00 -T 92 03 00 00 DD 4E F8 DD 46 F9 DD 6E FA DD 66 -R 00 00 01 00 -T 9D 03 00 00 FB CD 00 00 00 00 30 4D -R 00 00 01 00 02 06 07 00 -T A3 03 00 00 -R 00 00 01 00 -T A3 03 00 00 01 04 00 DD 5E FA DD 56 FB CD -R 00 00 01 00 -T AD 03 00 00 00 00 00 00 7B B2 20 25 01 64 00 -R 00 00 01 00 02 04 08 00 -T B6 03 00 00 DD 5E FA DD 56 FB CD 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T BF 03 00 00 7B B2 20 10 01 90 01 DD 5E FA DD -R 00 00 01 00 -T CA 03 00 00 56 FB CD 00 00 00 00 7B B2 20 05 -R 00 00 01 00 02 07 08 00 -T D3 03 00 00 -R 00 00 01 00 -T D3 03 00 00 11 02 00 18 03 -R 00 00 01 00 -T D8 03 00 00 -R 00 00 01 00 -T D8 03 00 00 11 01 00 -R 00 00 01 00 -T DB 03 00 00 -R 00 00 01 00 -T DB 03 00 00 21 04 00 39 7E 83 77 23 7E 8A 77 -R 00 00 01 00 -T E6 03 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T EE 03 00 00 -R 00 00 01 00 -T EE 03 00 00 18 A2 -R 00 00 01 00 -T F0 03 00 00 -R 00 00 01 00 -T F0 03 00 00 AF DD 77 FA DD 77 FB 21 06 00 DD -R 00 00 01 00 -T FB 03 00 00 4E 02 DD 46 03 09 46 23 66 68 DD -R 00 00 01 00 -T 06 04 00 00 75 FE DD 74 FF -R 00 00 01 00 -T 0B 04 00 00 -R 00 00 01 00 -T 0B 04 00 00 21 08 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 16 04 00 00 23 46 DD 6E FA DD 66 FB CD -R 00 00 01 00 -T 1F 04 00 00 00 00 00 00 30 65 -R 00 00 01 00 02 04 07 00 -T 23 04 00 00 -R 00 00 01 00 -T 23 04 00 00 DD 6E FA DD 66 FB 29 01 -R 00 00 01 00 -T 2B 04 00 00 00 00 00 00 09 4E 23 46 21 06 00 -R 00 00 01 00 00 04 03 00 -T 34 04 00 00 39 7E 81 77 23 7E 88 77 3E 01 DD -R 00 00 01 00 -T 3F 04 00 00 AE FA DD B6 FB 20 38 01 04 00 DD -R 00 00 01 00 -T 4A 04 00 00 5E FA DD 56 FB CD 00 00 00 00 7B -R 00 00 01 00 02 0A 08 00 -T 53 04 00 00 B2 20 28 01 64 00 DD 5E FA DD 56 -R 00 00 01 00 -T 5E 04 00 00 FB CD 00 00 00 00 7B B2 20 10 01 -R 00 00 01 00 02 06 08 00 -T 67 04 00 00 90 01 DD 5E FA DD 56 FB CD -R 00 00 01 00 -T 70 04 00 00 00 00 00 00 7B B2 20 08 -R 00 00 01 00 02 04 08 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 7E 04 00 00 -R 00 00 01 00 -T 7E 04 00 00 -R 00 00 01 00 -T 7E 04 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 86 04 00 00 -R 00 00 01 00 -T 86 04 00 00 18 83 -R 00 00 01 00 -T 88 04 00 00 -R 00 00 01 00 -T 88 04 00 00 21 0C 00 DD 4E 02 DD 46 03 09 E5 -R 00 00 01 00 -T 93 04 00 00 DD 6E FE DD 66 FF DD 5E FC DD 56 -R 00 00 01 00 -T 9E 04 00 00 FD 19 EB 01 07 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T A7 04 00 00 E1 73 23 72 21 0E 00 DD 4E 02 DD -R 00 00 01 00 -T B2 04 00 00 46 03 09 DD 5E FE DD 56 FF 13 73 -R 00 00 01 00 -T BD 04 00 00 23 72 21 10 00 09 36 FF 23 36 FF -R 00 00 01 00 -T C8 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T CB 04 00 00 -R 00 00 01 00 -T CB 04 00 00 CD 00 00 00 00 21 00 00 E5 21 -R 00 00 01 00 02 05 02 00 -T D3 04 00 00 3C 00 E5 ED 4B 02 00 00 00 2A -R 00 00 01 00 02 09 04 00 -T DB 04 00 00 00 00 00 00 CD 00 00 00 00 E5 4B -R 00 00 01 00 02 04 04 00 02 09 06 00 -T E2 04 00 00 42 11 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 00 06 02 00 29 0B 01 00 -T E8 04 00 00 21 00 00 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 00 05 01 00 02 0A 03 00 -T EF 04 00 00 21 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0A 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 1F 00 1C 00 1F 00 1E 00 1F 00 -R 00 00 04 00 -T 0A 00 00 00 1E 00 1F 00 1F 00 1E 00 1F 00 -R 00 00 04 00 -T 14 00 00 00 1E 00 1F 00 -R 00 00 04 00 diff --git a/lib/relcb/initgrup.rel b/lib/relcb/initgrup.rel deleted file mode 100644 index cfcedfe1..00000000 --- a/lib/relcb/initgrup.rel +++ /dev/null @@ -1,6 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 0 flags 0 diff --git a/lib/relcb/isatty.rel b/lib/relcb/isatty.rel deleted file mode 100644 index cb24b48f..00000000 --- a/lib/relcb/isatty.rel +++ /dev/null @@ -1,41 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S fstat Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3B flags 0 -S isatty Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 E2 FF 21 00 00 39 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 4D 44 DD 5E 02 DD 56 03 3E -R 00 00 01 00 -T 12 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 17 00 00 00 00 00 00 00 7D A4 3C 28 12 DD 7E -R 00 00 01 00 02 04 02 00 -T 20 00 00 00 E6 E6 00 6F DD 7E E7 E6 F0 67 3E -R 00 00 01 00 -T 2B 00 00 00 20 AC B5 28 05 -R 00 00 01 00 -T 30 00 00 00 -R 00 00 01 00 -T 30 00 00 00 -R 00 00 01 00 -T 30 00 00 00 -R 00 00 01 00 -T 30 00 00 00 21 00 00 18 03 -R 00 00 01 00 -T 35 00 00 00 -R 00 00 01 00 -T 35 00 00 00 21 01 00 -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/itoa.rel b/lib/relcb/itoa.rel deleted file mode 100644 index 7161b433..00000000 --- a/lib/relcb/itoa.rel +++ /dev/null @@ -1,193 +0,0 @@ -XL4 -H 2 areas D global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?UL_DIVASG_L03 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?UL_MOD_L03 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?L_NEG_L03 Ref00000000 -S ?US_MOD_L02 Ref00000000 -S ?US_DIV_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1FD flags 0 -S itoa Def00000194 -S __longtoa Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D6 FF DD 6E 0A DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 66 0B DD 75 F8 DD 74 F9 21 00 00 -R 00 00 01 00 -T 14 00 00 00 39 DD 75 FA DD 74 FB 21 2C 00 39 -R 00 00 01 00 -T 1F 00 00 00 DD 75 FC DD 74 FD 21 3A 00 39 7E -R 00 00 01 00 -T 2A 00 00 00 D6 0A 77 DD 4E 0C DD 46 0D 21 -R 00 00 01 00 -T 34 00 00 00 24 00 CD 00 00 00 00 38 11 01 -R 00 00 01 00 02 07 05 00 -T 3C 00 00 00 02 80 DD 6E 0C DD 66 0D 3E 80 AC -R 00 00 01 00 -T 47 00 00 00 67 ED 42 30 03 -R 00 00 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 C3 83 01 00 00 -R 00 00 01 00 00 05 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 DD 6E FC DD 66 FD 23 23 7E E6 00 -R 00 00 01 00 -T 5A 00 00 00 47 23 7E E6 80 B0 28 31 AF DD B6 -R 00 00 01 00 -T 65 00 00 00 0E 28 2B -R 00 00 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 DD 6E F8 DD 66 F9 23 DD 75 F8 DD -R 00 00 01 00 -T 73 00 00 00 74 F9 2B 36 2D DD 4E 04 DD 46 05 -R 00 00 01 00 -T 7E 00 00 00 DD 6E 02 DD 66 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T 87 00 00 00 DD 75 02 DD 74 03 DD 71 04 DD 70 -R 00 00 01 00 -T 92 00 00 00 05 -R 00 00 01 00 -T 93 00 00 00 -R 00 00 01 00 -T 93 00 00 00 DD 6E FC DD 66 FD 23 23 7E 23 B6 -R 00 00 01 00 -T 9E 00 00 00 20 02 -R 00 00 01 00 -T A0 00 00 00 -R 00 00 01 00 -T A0 00 00 00 18 4E -R 00 00 01 00 -T A2 00 00 00 -R 00 00 01 00 -T A2 00 00 00 -R 00 00 01 00 -T A2 00 00 00 DD 6E 0C DD 66 0D 7C 07 9F 4F 41 -R 00 00 01 00 -T AD 00 00 00 C5 E5 DD 4E 04 DD 46 05 DD 6E 02 -R 00 00 01 00 -T B8 00 00 00 DD 66 03 CD 00 00 00 00 E5 DD 6E -R 00 00 01 00 02 08 04 00 -T C1 00 00 00 FA DD 66 FB 23 DD 75 FA DD 74 FB -R 00 00 01 00 -T CC 00 00 00 2B C1 71 21 2C 00 39 DD 5E 0C DD -R 00 00 01 00 -T D7 00 00 00 56 0D 7A 07 9F 4F 41 CD -R 00 00 01 00 -T DF 00 00 00 00 00 00 00 DD 6E FC DD 66 FD 23 -R 00 00 01 00 02 04 02 00 -T E8 00 00 00 23 7E 23 B6 20 B4 -R 00 00 01 00 -T EE 00 00 00 -R 00 00 01 00 -T EE 00 00 00 18 30 -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 DD 5E 02 DD 56 03 DD 4E 0C DD 46 -R 00 00 01 00 -T FB 00 00 00 0D CD 00 00 00 00 DD 6E FA DD 66 -R 00 00 01 00 02 06 07 00 -T 04 01 00 00 FB 23 DD 75 FA DD 74 FB 2B 73 DD -R 00 00 01 00 -T 0F 01 00 00 5E 02 DD 56 03 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 08 00 -T 18 01 00 00 6E FC DD 66 FD 73 23 72 -R 00 00 01 00 -T 20 01 00 00 -R 00 00 01 00 -T 20 01 00 00 DD 6E FC DD 66 FD 7E 23 B6 20 C5 -R 00 00 01 00 -T 2B 01 00 00 -R 00 00 01 00 -T 2B 01 00 00 21 00 00 39 4D 44 DD 6E FA DD 66 -R 00 00 01 00 -T 36 01 00 00 FB A7 ED 42 DD 75 FF -R 00 00 01 00 -T 3D 01 00 00 -R 00 00 01 00 -T 3D 01 00 00 AF DD B6 FF 28 40 -R 00 00 01 00 -T 43 01 00 00 -R 00 00 01 00 -T 43 01 00 00 DD 6E FA DD 66 FB 2B DD 75 FA DD -R 00 00 01 00 -T 4E 01 00 00 74 FB 46 DD 70 FE 78 FE 0A 30 0A -R 00 00 01 00 -T 59 01 00 00 -R 00 00 01 00 -T 59 01 00 00 DD 7E FE C6 30 DD 77 FE 18 09 -R 00 00 01 00 -T 63 01 00 00 -R 00 00 01 00 -T 63 01 00 00 DD 7E FE DD 86 10 DD 77 FE -R 00 00 01 00 -T 6C 01 00 00 -R 00 00 01 00 -T 6C 01 00 00 DD 6E F8 DD 66 F9 23 DD 75 F8 DD -R 00 00 01 00 -T 77 01 00 00 74 F9 2B DD 46 FE 70 DD 35 FF 18 -R 00 00 01 00 -T 82 01 00 00 BA -R 00 00 01 00 -T 83 01 00 00 -R 00 00 01 00 -T 83 01 00 00 -R 00 00 01 00 -T 83 01 00 00 DD 6E F8 DD 66 F9 36 00 DD 6E 0A -R 00 00 01 00 -T 8E 01 00 00 DD 66 0B C3 00 00 00 00 -R 00 00 01 00 02 08 00 00 -T 94 01 00 00 -R 00 00 01 00 -T 94 01 00 00 CD 00 00 00 00 FE FF DD 36 FE 41 -R 00 00 01 00 02 05 03 00 -T 9D 01 00 00 DD CB 0B 7E 28 16 -R 00 00 01 00 -T A3 01 00 00 -R 00 00 01 00 -T A3 01 00 00 DD 36 FE 61 DD 4E 0A DD 46 0B A7 -R 00 00 01 00 -T AE 01 00 00 21 00 00 ED 42 DD 75 0A DD 74 0B -R 00 00 01 00 -T B9 01 00 00 -R 00 00 01 00 -T B9 01 00 00 DD 6E FE E5 0E 01 C5 DD 6E 0A DD -R 00 00 01 00 -T C4 01 00 00 66 0B E5 DD 6E 04 DD 66 05 E5 3E -R 00 00 01 00 -T CF 01 00 00 0A DD AE 0A DD B6 0B 20 0D DD 5E -R 00 00 01 00 -T DA 01 00 00 02 DD 56 03 7A 07 9F 4F 41 18 09 -R 00 00 01 00 -T E5 01 00 00 -R 00 00 01 00 -T E5 01 00 00 DD 5E 02 DD 56 03 01 00 00 -R 00 00 01 00 -T EE 01 00 00 -R 00 00 01 00 -T EE 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 29 05 01 00 00 0A 01 00 -T F4 01 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 -T FB 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 diff --git a/lib/relcb/localtim.rel b/lib/relcb/localtim.rel deleted file mode 100644 index d30832dd..00000000 --- a/lib/relcb/localtim.rel +++ /dev/null @@ -1,26 +0,0 @@ -XL4 -H 3 areas 7 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S __tm_conv Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1B flags 0 -S localtime Def00000000 -A UDATA0 size 12 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 00 00 E5 4B 42 -R 00 00 01 00 02 05 01 00 -T 09 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 03 00 -T 0F 00 00 00 00 00 00 00 CD 00 00 00 00 E1 21 -R 00 00 01 00 02 04 03 00 02 09 02 00 -T 16 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 00 04 02 00 02 09 00 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 diff --git a/lib/relcb/longjmpb.rel b/lib/relcb/longjmpb.rel deleted file mode 100644 index 08c9aa46..00000000 --- a/lib/relcb/longjmpb.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2B flags 0 -S longjmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 78 B1 20 01 03 -R 00 00 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 EB 5E 23 56 23 EB F9 EB C5 4E 23 -R 00 00 01 00 -T 10 00 00 00 46 23 5E 23 56 23 D5 DD E1 5E 23 -R 00 00 01 00 -T 1B 00 00 00 56 23 D5 FD E1 5E 23 56 23 7E E1 -R 00 00 01 00 -T 26 00 00 00 D5 F5 C3 00 00 00 00 -R 00 00 01 00 02 07 00 00 diff --git a/lib/relcb/lsearch.rel b/lib/relcb/lsearch.rel deleted file mode 100644 index 177f40cd..00000000 --- a/lib/relcb/lsearch.rel +++ /dev/null @@ -1,93 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S memcpy Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size EC flags 0 -S lfind Def00000000 -S lsearch Def00000066 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 0A DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 66 0B 56 23 66 6A DD 75 FE DD 74 -R 00 00 01 00 -T 14 00 00 00 FF -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 DD 6E FE DD 66 FF 2B DD 75 FE DD -R 00 00 01 00 -T 20 00 00 00 74 FF 23 7D B4 28 39 -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 DD 4E 02 DD 46 03 DD 5E 04 DD 56 -R 00 00 01 00 -T 32 00 00 00 05 DD 7E 10 DD 6E 0E DD 66 0F CD -R 00 00 01 00 -T 3D 00 00 00 00 00 00 00 7D B4 20 08 -R 00 00 01 00 02 04 03 00 -T 43 00 00 00 -R 00 00 01 00 -T 43 00 00 00 DD 6E 04 DD 66 05 18 18 -R 00 00 01 00 -T 4B 00 00 00 -R 00 00 01 00 -T 4B 00 00 00 DD 6E 0C DD 66 0D DD 4E 04 DD 46 -R 00 00 01 00 -T 56 00 00 00 05 09 DD 75 04 DD 74 05 18 B5 -R 00 00 01 00 -T 60 00 00 00 -R 00 00 01 00 -T 60 00 00 00 21 00 00 -R 00 00 01 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 66 00 00 00 -R 00 00 01 00 -T 66 00 00 00 CD 00 00 00 00 FE FF DD 6E 10 E5 -R 00 00 01 00 02 05 04 00 -T 6F 00 00 00 DD 6E 0E DD 66 0F E5 DD 6E 0C DD -R 00 00 01 00 -T 7A 00 00 00 66 0D E5 DD 6E 0A DD 66 0B E5 DD -R 00 00 01 00 -T 85 00 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 29 0A 01 00 -T 8D 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 00 04 01 00 02 09 03 00 -T 94 00 00 00 F1 F1 DD 75 FE DD 74 FF 7D B4 20 -R 00 00 01 00 -T 9F 00 00 00 43 -R 00 00 01 00 -T A0 00 00 00 -R 00 00 01 00 -T A0 00 00 00 DD 6E 0C DD 66 0D E5 DD 4E 02 DD -R 00 00 01 00 -T AB 00 00 00 46 03 C5 DD 6E 0A DD 66 0B 5E 23 -R 00 00 01 00 -T B6 00 00 00 56 DD 4E 0C DD 46 0D CD -R 00 00 01 00 -T BE 00 00 00 00 00 00 00 DD 6E 04 DD 66 05 19 -R 00 00 01 00 02 04 01 00 -T C7 00 00 00 EB 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 00 00 02 0B 00 00 -T CD 00 00 00 C1 CD 00 00 00 00 F1 DD 75 FE DD -R 00 00 01 00 02 06 03 00 -T D6 00 00 00 74 FF DD 6E 0A DD 66 0B 34 23 20 -R 00 00 01 00 -T E1 00 00 00 01 34 -R 00 00 01 00 -T E3 00 00 00 -R 00 00 01 00 -T E3 00 00 00 -R 00 00 01 00 -T E3 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 02 00 diff --git a/lib/relcb/lstat.rel b/lib/relcb/lstat.rel deleted file mode 100644 index 14286ba0..00000000 --- a/lib/relcb/lstat.rel +++ /dev/null @@ -1,52 +0,0 @@ -XL4 -H 2 areas A global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S close Ref00000000 -S fstat Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S open Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S stat Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 71 flags 0 -S lstat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 00 08 E5 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 DD 6E 02 DD 66 03 E5 3E -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 -T 16 00 00 00 00 00 00 00 F1 F1 DD 75 FE DD 74 -R 00 00 01 00 02 04 03 00 -T 1F 00 00 00 FF CB 7C 28 1C -R 00 00 01 00 -T 24 00 00 00 -R 00 00 01 00 -T 24 00 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 -R 00 00 01 00 -T 2F 00 00 00 03 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 07 00 02 0B 07 00 -T 35 00 00 00 CD 00 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 02 05 03 00 -T 3E 00 00 00 18 28 -R 00 00 01 00 -T 40 00 00 00 -R 00 00 01 00 -T 40 00 00 00 DD 4E 04 DD 46 05 DD 5E FE DD 56 -R 00 00 01 00 -T 4B 00 00 00 FF 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 02 00 02 0B 02 00 -T 51 00 00 00 CD 00 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 02 05 03 00 -T 5A 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 01 00 -T 62 00 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 01 00 02 0A 03 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 DD 6E FC DD 66 FD C3 00 00 00 00 -R 00 00 01 00 02 0B 00 00 diff --git a/lib/relcb/ltoa.rel b/lib/relcb/ltoa.rel deleted file mode 100644 index 4c2eced5..00000000 --- a/lib/relcb/ltoa.rel +++ /dev/null @@ -1,45 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S __longtoa Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 63 flags 0 -S ltoa Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 36 FE 41 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 DD CB 0D 7E 28 16 -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 DD 36 FE 61 DD 4E 0C DD 46 0D A7 -R 00 00 01 00 -T 1A 00 00 00 21 00 00 ED 42 DD 75 0C DD 74 0D -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 DD 6E FE E5 3E 0A DD AE 0C DD B6 -R 00 00 01 00 -T 30 00 00 00 0D 20 04 3E 01 18 01 -R 00 00 01 00 -T 37 00 00 00 -R 00 00 01 00 -T 37 00 00 00 AF -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 4F C5 DD 6E 0C DD 66 0D E5 DD 6E -R 00 00 01 00 -T 43 00 00 00 0A DD 66 0B E5 DD 4E 04 DD 46 05 -R 00 00 01 00 -T 4E 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 03 00 -T 56 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 03 00 02 0A 01 00 -T 5D 00 00 00 F1 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 08 00 00 diff --git a/lib/relcb/ltostr.rel b/lib/relcb/ltostr.rel deleted file mode 100644 index a3af7bed..00000000 --- a/lib/relcb/ltostr.rel +++ /dev/null @@ -1,38 +0,0 @@ -XL4 -H 3 areas 9 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ultoa Ref00000000 -S ltoa Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 36 flags 0 -S ultostr Def00000000 -S ltostr Def0000001B -A UDATA0 size 22 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 01 00 -T 09 00 00 00 E5 21 00 00 00 00 E5 3E -R 00 00 01 00 00 06 02 00 -T 0F 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 14 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 0B 00 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 01 00 -T 24 00 00 00 E5 21 00 00 00 00 E5 3E -R 00 00 01 00 00 06 02 00 -T 2A 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 2F 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 0B 00 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 diff --git a/lib/relcb/malloc.rel b/lib/relcb/malloc.rel deleted file mode 100644 index 273c2624..00000000 --- a/lib/relcb/malloc.rel +++ /dev/null @@ -1,199 +0,0 @@ -XL4 -H 3 areas A global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S free Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S sbrk Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22C flags 0 -S malloc Def00000000 -A UDATA0 size 6 flags 0 -S __malloc_last Def00000004 -S __malloc_head Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF DD 6E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 66 03 23 23 23 CB 3C CB 1D CB 3C -R 00 00 01 00 -T 14 00 00 00 CB 1D 23 DD 75 FE DD 74 FF 2A -R 00 00 01 00 -T 1E 00 00 00 04 00 00 00 DD 75 FC DD 74 FD 7D -R 00 00 01 00 00 04 02 00 -T 27 00 00 00 B4 20 11 -R 00 00 01 00 -T 2A 00 00 00 -R 00 00 01 00 -T 2A 00 00 00 DD 36 FC 00 00 00 00 DD 36 FD -R 00 00 01 00 09 07 02 00 -T 31 00 00 00 00 00 00 00 21 00 00 00 00 22 -R 00 00 01 00 89 04 02 00 00 09 02 00 -T 36 00 00 00 02 00 00 00 22 04 00 00 00 -R 00 00 01 00 00 04 02 00 00 09 02 00 -T 3B 00 00 00 -R 00 00 01 00 -T 3B 00 00 00 DD 6E FC DD 66 FD 23 23 46 23 66 -R 00 00 01 00 -T 46 00 00 00 68 DD 75 FA DD 74 FB -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 DD 6E FA DD 66 FB 23 23 46 23 66 -R 00 00 01 00 -T 58 00 00 00 68 DD 4E FA DD 46 FB A7 ED 42 CA -R 00 00 01 00 -T 63 00 00 00 F0 00 00 00 DD 6E FA DD 66 FB 46 -R 00 00 01 00 00 04 01 00 -T 6C 00 00 00 23 66 68 29 29 DD 4E FA DD 46 FB -R 00 00 01 00 -T 77 00 00 00 09 E5 03 03 69 60 4E 23 46 E1 A7 -R 00 00 01 00 -T 82 00 00 00 ED 42 20 6A -R 00 00 01 00 -T 86 00 00 00 -R 00 00 01 00 -T 86 00 00 00 -R 00 00 01 00 -T 86 00 00 00 -R 00 00 01 00 -T 86 00 00 00 DD 6E FA DD 66 FB 23 23 46 23 66 -R 00 00 01 00 -T 91 00 00 00 68 ED 4B 04 00 00 00 A7 ED 42 20 -R 00 00 01 00 00 07 02 00 -T 9A 00 00 00 15 -R 00 00 01 00 -T 9B 00 00 00 -R 00 00 01 00 -T 9B 00 00 00 DD 6E FA DD 66 FB 23 23 46 23 66 -R 00 00 01 00 -T A6 00 00 00 68 23 23 46 23 66 68 22 -R 00 00 01 00 -T AE 00 00 00 04 00 00 00 -R 00 00 01 00 00 04 02 00 -T B0 00 00 00 -R 00 00 01 00 -T B0 00 00 00 DD 6E FA DD 66 FB 23 23 7E 23 66 -R 00 00 01 00 -T BB 00 00 00 6F 4E 23 46 DD 6E FA DD 66 FB 7E -R 00 00 01 00 -T C6 00 00 00 81 77 23 7E 88 77 DD 6E FA DD 66 -R 00 00 01 00 -T D1 00 00 00 FB 23 23 E5 DD 4E FA DD 46 FB 03 -R 00 00 01 00 -T DC 00 00 00 03 69 60 4E 23 46 03 03 69 60 4E -R 00 00 01 00 -T E7 00 00 00 23 46 E1 71 23 70 C3 4D 00 00 00 -R 00 00 01 00 00 0B 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 DD 6E FA DD 66 FB 46 23 66 68 DD -R 00 00 01 00 -T FB 00 00 00 4E FE DD 46 FF A7 ED 42 DA -R 00 00 01 00 -T 04 01 00 00 AE 01 00 00 -R 00 00 01 00 00 04 01 00 -T 06 01 00 00 -R 00 00 01 00 -T 06 01 00 00 DD 6E FA DD 66 FB 46 23 66 68 DD -R 00 00 01 00 -T 11 01 00 00 4E FE DD 46 FF A7 ED 42 20 1C -R 00 00 01 00 -T 1B 01 00 00 -R 00 00 01 00 -T 1B 01 00 00 DD 6E FC DD 66 FD 23 23 E5 DD 4E -R 00 00 01 00 -T 26 01 00 00 FA DD 46 FB 03 03 69 60 4E 23 46 -R 00 00 01 00 -T 31 01 00 00 E1 71 23 70 18 56 -R 00 00 01 00 -T 37 01 00 00 -R 00 00 01 00 -T 37 01 00 00 DD 6E FE DD 66 FF 29 29 DD 4E FA -R 00 00 01 00 -T 42 01 00 00 DD 46 FB 09 22 04 00 00 00 DD 6E -R 00 00 01 00 00 09 02 00 -T 4B 01 00 00 FC DD 66 FD 23 23 ED 5B -R 00 00 01 00 -T 53 01 00 00 04 00 00 00 73 23 72 2A -R 00 00 01 00 00 04 02 00 -T 59 01 00 00 04 00 00 00 23 23 E5 03 03 69 60 -R 00 00 01 00 00 04 02 00 -T 62 01 00 00 4E 23 46 E1 71 23 70 DD 6E FA DD -R 00 00 01 00 -T 6D 01 00 00 66 FB 46 23 66 68 DD 4E FE DD 46 -R 00 00 01 00 -T 78 01 00 00 FF A7 ED 42 E5 2A 04 00 00 00 D1 -R 00 00 01 00 00 0A 02 00 -T 81 01 00 00 73 23 72 DD 6E FA DD 66 FB 71 23 -R 00 00 01 00 -T 8C 01 00 00 70 -R 00 00 01 00 -T 8D 01 00 00 -R 00 00 01 00 -T 8D 01 00 00 DD 6E FC DD 66 FD 22 04 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 96 01 00 00 DD 6E FA DD 66 FB 23 23 AF 77 23 -R 00 00 01 00 -T A1 01 00 00 77 21 04 00 DD 4E FA DD 46 FB 09 -R 00 00 01 00 -T AC 01 00 00 18 27 -R 00 00 01 00 -T AE 01 00 00 -R 00 00 01 00 -T AE 01 00 00 2A 04 00 00 00 DD 4E FA DD 46 FB -R 00 00 01 00 00 05 02 00 -T B7 01 00 00 A7 ED 42 20 4F -R 00 00 01 00 -T BC 01 00 00 -R 00 00 01 00 -T BC 01 00 00 11 00 04 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 04 00 -T C2 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 04 00 02 09 02 00 -T C9 01 00 00 FA DD 74 FB 7D A4 3C 20 06 -R 00 00 01 00 -T D2 01 00 00 -R 00 00 01 00 -T D2 01 00 00 21 00 00 -R 00 00 01 00 -T D5 01 00 00 -R 00 00 01 00 -T D5 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 -T D8 01 00 00 -R 00 00 01 00 -T D8 01 00 00 DD 6E FA DD 66 FB 36 00 23 36 01 -R 00 00 01 00 -T E3 01 00 00 DD 6E FA DD 66 FB 23 23 AF 77 23 -R 00 00 01 00 -T EE 01 00 00 77 21 04 00 DD 4E FA DD 46 FB 09 -R 00 00 01 00 -T F9 01 00 00 EB 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 01 00 02 0B 01 00 -T FF 01 00 00 CD 00 00 00 00 2A 04 00 00 00 DD -R 00 00 01 00 02 05 02 00 00 0A 02 00 -T 06 02 00 00 75 FA DD 74 FB -R 00 00 01 00 -T 0B 02 00 00 -R 00 00 01 00 -T 0B 02 00 00 DD 6E FA DD 66 FB DD 75 FC DD 74 -R 00 00 01 00 -T 16 02 00 00 FD DD 6E FA DD 66 FB 23 23 46 23 -R 00 00 01 00 -T 21 02 00 00 66 68 DD 75 FA DD 74 FB C3 -R 00 00 01 00 -T 2A 02 00 00 4D 00 00 00 -R 00 00 01 00 00 04 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 04 00 00 00 -R 00 00 02 00 -T 04 00 00 00 -R 00 00 02 00 diff --git a/lib/relcb/memccpy.rel b/lib/relcb/memccpy.rel deleted file mode 100644 index 2f3d1ec7..00000000 --- a/lib/relcb/memccpy.rel +++ /dev/null @@ -1,49 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 65 flags 0 -S memccpy Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 01 00 -T 09 00 00 00 66 03 DD 75 FC DD 74 FD DD 71 FE -R 00 00 01 00 -T 14 00 00 00 DD 70 FF -R 00 00 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 DD 6E 0C DD 66 0D 2B DD 75 0C DD -R 00 00 01 00 -T 22 00 00 00 74 0D 23 7D B4 28 36 -R 00 00 01 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 34 00 00 00 74 FF 2B 46 DD 6E FC DD 66 FD 23 -R 00 00 01 00 -T 3F 00 00 00 DD 75 FC DD 74 FD 2B 70 48 06 00 -R 00 00 01 00 -T 4A 00 00 00 DD 6E 0A DD 66 0B A7 ED 42 20 08 -R 00 00 01 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 DD 6E FC DD 66 FD 18 05 -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 18 B8 -R 00 00 01 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 21 00 00 -R 00 00 01 00 -T 62 00 00 00 -R 00 00 01 00 -T 62 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/memchr.rel b/lib/relcb/memchr.rel deleted file mode 100644 index 6d2946ce..00000000 --- a/lib/relcb/memchr.rel +++ /dev/null @@ -1,47 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4F flags 0 -S memchr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 01 00 -T 09 00 00 00 66 03 DD 75 FE DD 74 FF -R 00 00 01 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 DD 6E 0A DD 66 0B 2B DD 75 0A DD -R 00 00 01 00 -T 1C 00 00 00 74 0B 23 7D B4 28 26 -R 00 00 01 00 -T 23 00 00 00 -R 00 00 01 00 -T 23 00 00 00 DD 6E FE DD 66 FF 4E 06 00 DD 6E -R 00 00 01 00 -T 2E 00 00 00 04 DD 66 05 A7 ED 42 20 08 -R 00 00 01 00 -T 37 00 00 00 -R 00 00 01 00 -T 37 00 00 00 DD 6E FE DD 66 FF 18 0D -R 00 00 01 00 -T 3F 00 00 00 -R 00 00 01 00 -T 3F 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 18 C8 -R 00 00 01 00 -T 49 00 00 00 -R 00 00 01 00 -T 49 00 00 00 21 00 00 -R 00 00 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/memcmp.rel b/lib/relcb/memcmp.rel deleted file mode 100644 index 45e26e78..00000000 --- a/lib/relcb/memcmp.rel +++ /dev/null @@ -1,47 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6D flags 0 -S memcmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF DD 71 FA DD -R 00 00 01 00 02 05 01 00 -T 09 00 00 00 70 FB DD 6E 02 DD 66 03 DD 75 FC -R 00 00 01 00 -T 14 00 00 00 DD 74 FD DD 36 FE 00 DD 36 FF 00 -R 00 00 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 DD 6E 0A DD 66 0B 2B DD 75 0A DD -R 00 00 01 00 -T 2A 00 00 00 74 0B 23 7D B4 28 2C -R 00 00 01 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD -R 00 00 01 00 -T 3C 00 00 00 74 FD 2B 46 DD 70 FF DD 6E FA DD -R 00 00 01 00 -T 47 00 00 00 66 FB 23 DD 75 FA DD 74 FB 2B 4E -R 00 00 01 00 -T 52 00 00 00 DD 71 FE 79 B8 28 02 -R 00 00 01 00 -T 59 00 00 00 -R 00 00 01 00 -T 59 00 00 00 18 02 -R 00 00 01 00 -T 5B 00 00 00 -R 00 00 01 00 -T 5B 00 00 00 18 C2 -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 DD 4E FF 06 00 DD 6E FE 26 00 A7 -R 00 00 01 00 -T 68 00 00 00 ED 42 C3 00 00 00 00 -R 00 00 01 00 02 07 00 00 diff --git a/lib/relcb/memcpy.rel b/lib/relcb/memcpy.rel deleted file mode 100644 index 986f0ae9..00000000 --- a/lib/relcb/memcpy.rel +++ /dev/null @@ -1,35 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 52 flags 0 -S memcpy Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 01 00 -T 09 00 00 00 66 03 DD 75 FC DD 74 FD DD 71 FE -R 00 00 01 00 -T 14 00 00 00 DD 70 FF -R 00 00 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 DD 6E 0A DD 66 0B 2B DD 75 0A DD -R 00 00 01 00 -T 22 00 00 00 74 0B 23 7D B4 28 20 -R 00 00 01 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 34 00 00 00 74 FF 2B 46 DD 6E FC DD 66 FD 23 -R 00 00 01 00 -T 3F 00 00 00 DD 75 FC DD 74 FD 2B 70 18 CE -R 00 00 01 00 -T 49 00 00 00 -R 00 00 01 00 -T 49 00 00 00 DD 6E 02 DD 66 03 C3 00 00 00 00 -R 00 00 01 00 02 0B 00 00 diff --git a/lib/relcb/memmove.rel b/lib/relcb/memmove.rel deleted file mode 100644 index 2d94fdb3..00000000 --- a/lib/relcb/memmove.rel +++ /dev/null @@ -1,61 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S memcpy Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9A flags 0 -S memmove Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 66 03 DD 75 FC DD 74 FD DD 71 FE -R 00 00 01 00 -T 14 00 00 00 DD 70 FF A7 ED 42 DD 4E 0A DD 46 -R 00 00 01 00 -T 1F 00 00 00 0B A7 ED 42 38 1E -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 DD 6E 0A DD 66 0B E5 DD 4E 04 DD -R 00 00 01 00 -T 30 00 00 00 46 05 DD 5E 02 DD 56 03 3E -R 00 00 01 00 -T 39 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 3E 00 00 00 00 00 00 00 F1 18 54 -R 00 00 01 00 02 04 02 00 -T 43 00 00 00 -R 00 00 01 00 -T 43 00 00 00 21 00 00 39 7E DD 86 0A 77 23 7E -R 00 00 01 00 -T 4E 00 00 00 DD 8E 0B 77 21 02 00 39 7E DD 86 -R 00 00 01 00 -T 59 00 00 00 0A 77 23 7E DD 8E 0B 77 -R 00 00 01 00 -T 61 00 00 00 -R 00 00 01 00 -T 61 00 00 00 DD 6E 0A DD 66 0B 2B DD 75 0A DD -R 00 00 01 00 -T 6C 00 00 00 74 0B 23 7D B4 28 1E -R 00 00 01 00 -T 73 00 00 00 -R 00 00 01 00 -T 73 00 00 00 DD 6E FE DD 66 FF 2B DD 75 FE DD -R 00 00 01 00 -T 7E 00 00 00 74 FF 46 DD 6E FC DD 66 FD 2B DD -R 00 00 01 00 -T 89 00 00 00 75 FC DD 74 FD 70 18 D0 -R 00 00 01 00 -T 91 00 00 00 -R 00 00 01 00 -T 91 00 00 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 97 00 00 00 -R 00 00 01 00 -T 97 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcb/memset.rel b/lib/relcb/memset.rel deleted file mode 100644 index adb8b153..00000000 --- a/lib/relcb/memset.rel +++ /dev/null @@ -1,31 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 40 flags 0 -S memset Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 01 00 -T 09 00 00 00 66 03 DD 75 FE DD 74 FF -R 00 00 01 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 DD 6E 0A DD 66 0B 2B DD 75 0A DD -R 00 00 01 00 -T 1C 00 00 00 74 0B 23 7D B4 28 14 -R 00 00 01 00 -T 23 00 00 00 -R 00 00 01 00 -T 23 00 00 00 DD 46 04 DD 6E FE DD 66 FF 23 DD -R 00 00 01 00 -T 2E 00 00 00 75 FE DD 74 FF 2B 70 18 DA -R 00 00 01 00 -T 37 00 00 00 -R 00 00 01 00 -T 37 00 00 00 DD 6E 02 DD 66 03 C3 00 00 00 00 -R 00 00 01 00 02 0B 00 00 diff --git a/lib/relcb/mkdir.rel b/lib/relcb/mkdir.rel deleted file mode 100644 index 9cadcb39..00000000 --- a/lib/relcb/mkdir.rel +++ /dev/null @@ -1,23 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S mknod Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S mkdir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 00 00 E5 79 E6 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 FF 6F 78 E6 0F 67 7D F6 00 4F 7C -R 00 00 01 00 -T 14 00 00 00 F6 40 47 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 01 00 -T 1A 00 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 01 00 02 09 03 00 -T 21 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 diff --git a/lib/relcb/mktime.rel b/lib/relcb/mktime.rel deleted file mode 100644 index 93c04245..00000000 --- a/lib/relcb/mktime.rel +++ /dev/null @@ -1,41 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9B flags 0 -S mktime Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 04 00 09 -R 00 00 01 00 02 05 01 00 -T 09 00 00 00 56 23 66 6A 65 2E 00 29 29 29 E5 -R 00 00 01 00 -T 14 00 00 00 03 03 0A 6F 03 0A 67 29 29 29 29 -R 00 00 01 00 -T 1F 00 00 00 29 4D 44 E1 7D B1 5F 7C B0 57 DD -R 00 00 01 00 -T 2A 00 00 00 6E 04 DD 66 05 46 23 66 68 CB 2C -R 00 00 01 00 -T 35 00 00 00 CB 1D 7B B5 4F 7A B4 47 DD 71 FC -R 00 00 01 00 -T 40 00 00 00 DD 70 FD 21 0A 00 DD 4E 04 DD 46 -R 00 00 01 00 -T 4B 00 00 00 05 09 56 23 66 6A 11 B0 FF 19 65 -R 00 00 01 00 -T 56 00 00 00 2E 00 29 E5 21 08 00 09 56 23 66 -R 00 00 01 00 -T 61 00 00 00 6A 23 29 29 29 29 29 EB E1 7D B3 -R 00 00 01 00 -T 6C 00 00 00 4F 7C B2 47 21 06 00 DD 5E 04 DD -R 00 00 01 00 -T 77 00 00 00 56 05 19 79 B6 5F 78 23 B6 57 DD -R 00 00 01 00 -T 82 00 00 00 73 FE DD 72 FF 21 00 00 39 DD 5E -R 00 00 01 00 -T 8D 00 00 00 02 DD 56 03 01 04 00 D5 ED B0 E1 -R 00 00 01 00 -T 98 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/opendir.rel b/lib/relcb/opendir.rel deleted file mode 100644 index cf99fee2..00000000 --- a/lib/relcb/opendir.rel +++ /dev/null @@ -1,105 +0,0 @@ -XL4 -H 2 areas B global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S free Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S calloc Ref00000000 -S open Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S stat Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size E1 flags 0 -S opendir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 E0 FF 21 00 00 39 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 4D 44 DD 5E 02 DD 56 03 3E -R 00 00 01 00 -T 12 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T 17 00 00 00 00 00 00 00 7D B4 28 03 -R 00 00 01 00 02 04 02 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 C3 D3 00 00 00 -R 00 00 01 00 00 05 01 00 -T 20 00 00 00 -R 00 00 01 00 -T 20 00 00 00 DD 7E E4 E6 00 47 DD 7E E5 E6 40 -R 00 00 01 00 -T 2B 00 00 00 B0 20 09 -R 00 00 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 21 14 00 22 00 00 00 00 C3 -R 00 00 01 00 02 08 03 00 -T 35 00 00 00 D3 00 00 00 -R 00 00 01 00 00 04 01 00 -T 37 00 00 00 -R 00 00 01 00 -T 37 00 00 00 01 08 00 11 01 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 -T 3F 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 05 00 02 0A 02 00 -T 46 00 00 00 75 FE DD 74 FF 7D B4 20 08 -R 00 00 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 21 0C 00 22 00 00 00 00 18 7C -R 00 00 01 00 02 08 03 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 21 06 00 DD 4E FE DD 46 FF 09 E5 -R 00 00 01 00 -T 62 00 00 00 01 15 00 11 01 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 -T 6A 00 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 05 00 02 0A 02 00 -T 71 00 00 00 44 E1 71 23 70 79 B0 20 16 -R 00 00 01 00 -T 7A 00 00 00 -R 00 00 01 00 -T 7A 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 01 00 -T 82 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 01 00 02 0A 02 00 -T 89 00 00 00 0C 00 22 00 00 00 00 18 43 -R 00 00 01 00 02 07 03 00 -T 90 00 00 00 -R 00 00 01 00 -T 90 00 00 00 21 00 80 E5 DD 6E 02 DD 66 03 E5 -R 00 00 01 00 -T 9B 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 -T A1 00 00 00 00 00 00 00 F1 F1 E5 DD 6E FE DD -R 00 00 01 00 02 04 02 00 -T AA 00 00 00 66 FF C1 71 23 70 CB 78 28 24 -R 00 00 01 00 -T B4 00 00 00 -R 00 00 01 00 -T B4 00 00 00 21 06 00 DD 4E FE DD 46 FF 09 5E -R 00 00 01 00 -T BF 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 01 00 -T C4 00 00 00 00 00 00 00 CD 00 00 00 00 59 50 -R 00 00 01 00 02 04 01 00 02 09 02 00 -T CB 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 01 00 02 0A 01 00 -T D1 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 -T D3 00 00 00 -R 00 00 01 00 -T D3 00 00 00 21 00 00 18 06 -R 00 00 01 00 -T D8 00 00 00 -R 00 00 01 00 -T D8 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 -T DE 00 00 00 -R 00 00 01 00 -T DE 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/perror.rel b/lib/relcb/perror.rel deleted file mode 100644 index bbba436e..00000000 --- a/lib/relcb/perror.rel +++ /dev/null @@ -1,84 +0,0 @@ -XL4 -H 3 areas B global symbols -S strerror Ref00000000 -S _write Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 87 flags 0 -S perror Def0000004A -A CSTR size B flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 07 00 -T 09 00 00 00 66 03 DD 75 FE DD 74 FF -R 00 00 01 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 DD 6E FE DD 66 FF AF B6 28 0A -R 00 00 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 23 00 00 00 -R 00 00 01 00 -T 23 00 00 00 18 EC -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 DD 4E 02 DD 46 03 DD 6E FE DD 66 -R 00 00 01 00 -T 30 00 00 00 FF A7 ED 42 E5 DD 4E 02 DD 46 03 -R 00 00 01 00 -T 3B 00 00 00 11 02 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 01 00 -T 41 00 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 01 00 02 09 05 00 -T 48 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 03 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 CD 00 00 00 00 7B B2 20 08 -R 00 00 01 00 02 05 04 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 DD 36 02 00 00 00 00 DD 36 03 -R 00 00 01 00 09 07 02 00 -T 58 00 00 00 00 00 00 00 -R 00 00 01 00 89 04 02 00 -T 59 00 00 00 -R 00 00 01 00 -T 59 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 62 00 00 00 11 06 00 00 00 CD 00 00 00 00 ED -R 00 00 01 00 00 05 02 00 00 0A 01 00 -T 69 00 00 00 5B 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 06 00 2B 0A 00 00 -T 6F 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 00 00 02 09 05 00 -T 76 00 00 00 02 DD 74 03 EB CD 00 00 00 00 11 -R 00 00 01 00 00 0A 01 00 -T 7F 00 00 00 09 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 00 04 02 00 00 09 01 00 -T 85 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 65 72 72 6F 72 00 -R 00 00 02 00 -T 06 00 00 00 -R 00 00 02 00 -T 06 00 00 00 3A 20 00 -R 00 00 02 00 -T 09 00 00 00 -R 00 00 02 00 -T 09 00 00 00 0A 00 -R 00 00 02 00 diff --git a/lib/relcb/popen.rel b/lib/relcb/popen.rel deleted file mode 100644 index 88034f2b..00000000 --- a/lib/relcb/popen.rel +++ /dev/null @@ -1,204 +0,0 @@ -XL4 -H 5 areas 11 global symbols -S execve Ref00000000 -S environ Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S close Ref00000000 -S __fopen Ref00000000 -S abort Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S pipe Ref00000000 -S waitpid Ref00000000 -S fork Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S dup2 Ref00000000 -S fclose Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1B1 flags 0 -S pclose Def00000176 -S popen Def00000000 -A CSTR size E flags 0 -A IDATA0 size 8 flags 0 -A CDATA0 size 8 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF 21 00 00 39 -R 00 00 01 00 02 05 07 00 -T 09 00 00 00 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 08 00 -T 0E 00 00 00 00 00 00 00 CD 00 00 00 00 CB 7C -R 00 00 01 00 02 04 08 00 02 09 06 00 -T 15 00 00 00 28 06 -R 00 00 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 21 00 00 C3 73 01 00 00 -R 00 00 01 00 00 08 01 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 DD 6E 04 DD 66 05 7E FE 72 20 04 -R 00 00 01 00 -T 28 00 00 00 0E 01 18 02 -R 00 00 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 0E 00 -R 00 00 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 06 00 DD 71 FC DD 70 FD 79 B0 20 -R 00 00 01 00 -T 39 00 00 00 04 0E 01 18 02 -R 00 00 01 00 -T 3E 00 00 00 -R 00 00 01 00 -T 3E 00 00 00 0E 00 -R 00 00 01 00 -T 40 00 00 00 -R 00 00 01 00 -T 40 00 00 00 06 00 DD 71 FE DD 70 FF 3E -R 00 00 01 00 -T 49 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 -T 4E 00 00 00 00 00 00 00 DD 75 FA DD 74 FB CB -R 00 00 01 00 02 04 06 00 -T 57 00 00 00 7C 28 22 -R 00 00 01 00 -T 5A 00 00 00 -R 00 00 01 00 -T 5A 00 00 00 DD 5E F6 DD 56 F7 3E 00 00 00 00 -R 00 00 01 00 2B 0B 03 00 -T 62 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 03 00 02 0A 06 00 -T 69 00 00 00 5E F8 DD 56 F9 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 03 00 -T 71 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 03 00 02 09 06 00 -T 77 00 00 00 00 00 C3 73 01 00 00 -R 00 00 01 00 00 07 01 00 -T 7C 00 00 00 -R 00 00 01 00 -T 7C 00 00 00 DD 7E FA DD B6 FB C2 2D 01 00 00 -R 00 00 01 00 00 0B 01 00 -T 85 00 00 00 -R 00 00 01 00 -T 85 00 00 00 DD 6E FE DD 66 FF 29 E5 21 02 00 -R 00 00 01 00 -T 90 00 00 00 39 4D 44 E1 09 5E 23 56 3E -R 00 00 01 00 -T 99 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 9E 00 00 00 00 00 00 00 DD 5E FC DD 56 FD 3E -R 00 00 01 00 02 04 06 00 -T A7 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T AC 00 00 00 00 00 00 00 DD 6E FC DD 66 FD 29 -R 00 00 01 00 02 04 06 00 -T B5 00 00 00 E5 21 02 00 39 4D 44 E1 09 46 23 -R 00 00 01 00 -T C0 00 00 00 66 68 DD 4E FC DD 46 FD A7 ED 42 -R 00 00 01 00 -T CB 00 00 00 28 3C -R 00 00 01 00 -T CD 00 00 00 -R 00 00 01 00 -T CD 00 00 00 DD 4E FC DD 46 FD DD 6E FC DD 66 -R 00 00 01 00 -T D8 00 00 00 FD 29 E5 21 02 00 39 5D 54 E1 19 -R 00 00 01 00 -T E3 00 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0C 00 -T E9 00 00 00 00 00 00 00 CD 00 00 00 00 DD 6E -R 00 00 01 00 02 04 0C 00 02 09 06 00 -T F0 00 00 00 FC DD 66 FD 29 E5 21 02 00 39 4D -R 00 00 01 00 -T FB 00 00 00 44 E1 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 03 00 -T 03 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 03 00 02 0A 06 00 -T 09 01 00 00 -R 00 00 01 00 -T 09 01 00 00 DD 6E 02 DD 66 03 22 04 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 12 01 00 00 2A 00 00 00 00 E5 01 00 00 00 00 -R 00 00 01 00 02 05 01 00 00 0B 03 00 -T 19 01 00 00 11 06 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 00 00 -T 1F 01 00 00 00 00 00 00 CD 00 00 00 00 F1 3E -R 00 00 01 00 02 04 00 00 02 09 06 00 -T 26 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 -T 2B 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 06 00 -T 2D 01 00 00 -R 00 00 01 00 -T 2D 01 00 00 DD 6E FC DD 66 FD 29 E5 21 02 00 -R 00 00 01 00 -T 38 01 00 00 39 4D 44 E1 09 5E 23 56 3E -R 00 00 01 00 -T 41 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 46 01 00 00 00 00 00 00 DD 6E 04 DD 66 05 E5 -R 00 00 01 00 02 04 06 00 -T 4F 01 00 00 21 00 00 E5 DD 6E FE DD 66 FF 29 -R 00 00 01 00 -T 5A 01 00 00 E5 21 06 00 39 4D 44 E1 09 4E 23 -R 00 00 01 00 -T 65 01 00 00 46 11 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 04 00 -T 6C 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 04 00 02 09 06 00 -T 73 01 00 00 -R 00 00 01 00 -T 73 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 76 01 00 00 -R 00 00 01 00 -T 76 01 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 07 00 -T 7F 01 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0D 00 -T 84 01 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 0D 00 02 09 06 00 -T 8B 01 00 00 28 05 -R 00 00 01 00 -T 8D 01 00 00 -R 00 00 01 00 -T 8D 01 00 00 21 FF FF 18 1C -R 00 00 01 00 -T 92 01 00 00 -R 00 00 01 00 -T 92 01 00 00 21 00 00 E5 21 02 00 39 4D 44 11 -R 00 00 01 00 -T 9D 01 00 00 FF FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 09 00 -T A2 01 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 09 00 02 09 06 00 -T A9 01 00 00 6E FE DD 66 FF -R 00 00 01 00 -T AE 01 00 00 -R 00 00 01 00 -T AE 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 73 68 00 -R 00 00 02 00 -T 03 00 00 00 -R 00 00 02 00 -T 03 00 00 00 2D 63 00 -R 00 00 02 00 -T 06 00 00 00 -R 00 00 02 00 -T 06 00 00 00 2F 62 69 6E 2F 73 68 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 00 00 00 00 03 00 00 00 00 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 06 00 00 00 00 00 -R 00 00 04 00 diff --git a/lib/relcb/printf.rel b/lib/relcb/printf.rel deleted file mode 100644 index 7c30dfe3..00000000 --- a/lib/relcb/printf.rel +++ /dev/null @@ -1,26 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S stdout Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S vfprintf Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2F flags 0 -S printf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 0E 00 39 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 01 02 00 09 DD 75 FC DD 74 FD E5 -R 00 00 01 00 -T 14 00 00 00 DD 4E 0A DD 46 0B 11 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 1D 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 04 00 02 0A 04 00 -T 23 00 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 01 00 -T 2C 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/putenv.rel b/lib/relcb/putenv.rel deleted file mode 100644 index b74da636..00000000 --- a/lib/relcb/putenv.rel +++ /dev/null @@ -1,202 +0,0 @@ -XL4 -H 4 areas E global symbols -S environ Ref00000000 -S memcpy Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strchr Ref00000000 -S strlen Ref00000000 -S free Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S malloc Ref00000000 -S .__.ABS. Def00000000 -S memcmp Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1D5 flags 0 -S putenv Def00000000 -A IDATA0 size 4 flags 0 -A CDATA0 size 4 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF 01 3D 00 DD -R 00 00 01 00 02 05 07 00 -T 09 00 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 03 00 -T 11 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 03 00 02 09 06 00 -T 18 00 00 00 FA DD 74 FB 7D B4 20 16 -R 00 00 01 00 -T 20 00 00 00 -R 00 00 01 00 -T 20 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 -T 28 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 04 00 02 0A 06 00 -T 2F 00 00 00 75 FE DD 74 FF 18 15 -R 00 00 01 00 -T 36 00 00 00 -R 00 00 01 00 -T 36 00 00 00 DD 4E 02 DD 46 03 DD 6E FA DD 66 -R 00 00 01 00 -T 41 00 00 00 FB A7 ED 42 DD 75 FE DD 74 FF -R 00 00 01 00 -T 4B 00 00 00 -R 00 00 01 00 -T 4B 00 00 00 2A 00 00 00 00 DD 75 F6 DD 74 F7 -R 00 00 01 00 02 05 00 00 -T 54 00 00 00 -R 00 00 01 00 -T 54 00 00 00 DD 6E F6 DD 66 F7 46 23 66 68 DD -R 00 00 01 00 -T 5F 00 00 00 75 FC DD 74 FD 7D B4 CA -R 00 00 01 00 -T 67 00 00 00 F0 00 00 00 -R 00 00 01 00 00 04 01 00 -T 69 00 00 00 -R 00 00 01 00 -T 69 00 00 00 DD 6E 02 DD 66 03 E5 DD 6E FC DD -R 00 00 01 00 -T 74 00 00 00 66 FD 7E E1 BE 20 65 DD 6E FE DD -R 00 00 01 00 -T 7F 00 00 00 66 FF DD 4E FC DD 46 FD 09 7E FE -R 00 00 01 00 -T 8A 00 00 00 3D 20 53 DD 6E FE DD 66 FF E5 DD -R 00 00 01 00 -T 95 00 00 00 4E FC DD 46 FD DD 5E 02 DD 56 03 -R 00 00 01 00 -T A0 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 -T A6 00 00 00 00 00 00 00 F1 7D B4 20 33 -R 00 00 01 00 02 04 06 00 -T AD 00 00 00 -R 00 00 01 00 -T AD 00 00 00 -R 00 00 01 00 -T AD 00 00 00 -R 00 00 01 00 -T AD 00 00 00 -R 00 00 01 00 -T AD 00 00 00 DD 6E F6 DD 66 F7 23 23 46 23 66 -R 00 00 01 00 -T B8 00 00 00 68 E5 DD 6E F6 DD 66 F7 C1 71 23 -R 00 00 01 00 -T C3 00 00 00 70 79 B0 28 0F -R 00 00 01 00 -T C8 00 00 00 -R 00 00 01 00 -T C8 00 00 00 DD 7E F6 C6 02 DD 77 F6 30 03 DD -R 00 00 01 00 -T D3 00 00 00 34 F7 -R 00 00 01 00 -T D5 00 00 00 -R 00 00 01 00 -T D5 00 00 00 18 D6 -R 00 00 01 00 -T D7 00 00 00 -R 00 00 01 00 -T D7 00 00 00 2A 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 05 02 00 00 0B 02 00 -T DE 00 00 00 18 10 -R 00 00 01 00 -T E0 00 00 00 -R 00 00 01 00 -T E0 00 00 00 DD 7E F6 C6 02 DD 77 F6 30 03 DD -R 00 00 01 00 -T EB 00 00 00 34 F7 -R 00 00 01 00 -T ED 00 00 00 -R 00 00 01 00 -T ED 00 00 00 C3 54 00 00 00 -R 00 00 01 00 00 05 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 DD 7E FA DD B6 FB 20 06 -R 00 00 01 00 -T F8 00 00 00 -R 00 00 01 00 -T F8 00 00 00 21 00 00 C3 D2 01 00 00 -R 00 00 01 00 00 08 01 00 -T FE 00 00 00 -R 00 00 01 00 -T FE 00 00 00 ED 4B 02 00 00 00 21 00 00 CD -R 00 00 01 00 00 06 02 00 -T 06 01 00 00 00 00 00 00 DA A5 01 00 00 -R 00 00 01 00 02 04 08 00 00 09 01 00 -T 0B 01 00 00 -R 00 00 01 00 -T 0B 01 00 00 ED 4B 00 00 00 00 DD 6E F6 DD 66 -R 00 00 01 00 02 06 00 00 -T 14 01 00 00 F7 A7 ED 42 CB 2C CB 1D 01 05 00 -R 00 00 01 00 -T 1F 01 00 00 09 29 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0A 00 -T 25 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 0A 00 02 09 06 00 -T 2C 01 00 00 F8 DD 74 F9 7D B4 20 06 -R 00 00 01 00 -T 34 01 00 00 -R 00 00 01 00 -T 34 01 00 00 21 FF FF C3 D2 01 00 00 -R 00 00 01 00 00 08 01 00 -T 3A 01 00 00 -R 00 00 01 00 -T 3A 01 00 00 ED 4B 00 00 00 00 DD 6E F6 DD 66 -R 00 00 01 00 02 06 00 00 -T 43 01 00 00 F7 A7 ED 42 CB 2C CB 1D 23 29 E5 -R 00 00 01 00 -T 4E 01 00 00 ED 4B 00 00 00 00 DD 5E F8 DD 56 -R 00 00 01 00 02 06 00 00 -T 57 01 00 00 F9 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 01 00 02 0B 01 00 -T 5D 01 00 00 CD 00 00 00 00 F1 ED 4B -R 00 00 01 00 02 05 06 00 -T 63 01 00 00 00 00 00 00 DD 6E F6 DD 66 F7 A7 -R 00 00 01 00 02 04 00 00 -T 6C 01 00 00 ED 42 CB 2C CB 1D 29 DD 4E F8 DD -R 00 00 01 00 -T 77 01 00 00 46 F9 09 DD 75 F6 DD 74 F7 21 -R 00 00 01 00 -T 81 01 00 00 04 00 22 02 00 00 00 2A -R 00 00 01 00 00 07 02 00 -T 87 01 00 00 00 00 00 00 7D B4 28 0C -R 00 00 01 00 00 04 02 00 -T 8D 01 00 00 -R 00 00 01 00 -T 8D 01 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 00 06 02 00 2B 0B 05 00 -T 93 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 05 00 02 0A 06 00 -T 99 01 00 00 -R 00 00 01 00 -T 99 01 00 00 DD 6E F8 DD 66 F9 22 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T A2 01 00 00 22 00 00 00 00 -R 00 00 01 00 00 05 02 00 -T A5 01 00 00 -R 00 00 01 00 -T A5 01 00 00 DD 6E F6 DD 66 F7 4D 44 03 03 DD -R 00 00 01 00 -T B0 01 00 00 71 F6 DD 70 F7 DD 4E 02 DD 46 03 -R 00 00 01 00 -T BB 01 00 00 71 23 70 DD 6E F6 DD 66 F7 AF 77 -R 00 00 01 00 -T C6 01 00 00 23 77 2A 02 00 00 00 2B 22 -R 00 00 01 00 00 07 02 00 -T CD 01 00 00 02 00 00 00 21 00 00 -R 00 00 01 00 00 04 02 00 -T D2 01 00 00 -R 00 00 01 00 -T D2 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcb/putgetch.rel b/lib/relcb/putgetch.rel deleted file mode 100644 index aedea8f1..00000000 --- a/lib/relcb/putgetch.rel +++ /dev/null @@ -1,46 +0,0 @@ -XL4 -H 2 areas A global symbols -S _write Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4A flags 0 -S _putchar Def00000000 -S _getchar Def0000001C -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 01 00 E5 21 -R 00 00 01 00 02 05 02 00 -T 08 00 00 00 04 00 39 4D 44 11 01 00 3E -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 16 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0A 01 00 -T 1C 00 00 00 -R 00 00 01 00 -T 1C 00 00 00 CD 00 00 00 00 FE FF 21 01 00 E5 -R 00 00 01 00 02 05 04 00 -T 25 00 00 00 21 02 00 39 4D 44 11 00 00 3E -R 00 00 01 00 -T 2F 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 -T 34 00 00 00 00 00 00 00 F1 3E 01 AD B4 20 07 -R 00 00 01 00 02 04 03 00 -T 3D 00 00 00 -R 00 00 01 00 -T 3D 00 00 00 DD 6E FE 26 00 18 03 -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 21 FF FF -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcb/putpwent.rel b/lib/relcb/putpwent.rel deleted file mode 100644 index 669199e1..00000000 --- a/lib/relcb/putpwent.rel +++ /dev/null @@ -1,69 +0,0 @@ -XL4 -H 3 areas 8 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S fprintf Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 83 flags 0 -S putpwent Def00000000 -A CSTR size 16 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 7B B2 28 08 DD 7E -R 00 00 01 00 02 05 01 00 -T 09 00 00 00 04 DD B6 05 20 0B -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 21 16 00 22 00 00 00 00 21 FF FF -R 00 00 01 00 02 08 03 00 -T 18 00 00 00 18 66 -R 00 00 01 00 -T 1A 00 00 00 -R 00 00 01 00 -T 1A 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 25 00 00 00 23 56 D5 21 0A 00 09 5E 23 56 D5 -R 00 00 01 00 -T 30 00 00 00 21 08 00 09 5E 23 56 D5 21 06 00 -R 00 00 01 00 -T 3B 00 00 00 09 5E 23 56 D5 21 04 00 09 5E 23 -R 00 00 01 00 -T 46 00 00 00 56 D5 03 03 69 60 4E 23 46 C5 DD -R 00 00 01 00 -T 51 00 00 00 6E 02 DD 66 03 4E 23 46 C5 21 -R 00 00 01 00 -T 5B 00 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 00 04 02 00 -T 64 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 -T 6A 00 00 00 CD 00 00 00 00 EB 21 12 00 39 F9 -R 00 00 01 00 02 05 02 00 -T 73 00 00 00 EB CB 7C 28 05 -R 00 00 01 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 21 FF FF 18 03 -R 00 00 01 00 -T 7D 00 00 00 -R 00 00 01 00 -T 7D 00 00 00 21 00 00 -R 00 00 01 00 -T 80 00 00 00 -R 00 00 01 00 -T 80 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 25 73 3A 25 73 3A 25 75 3A 25 75 -R 00 00 02 00 -T 0B 00 00 00 3A 25 73 3A 25 73 3A 25 73 0A 00 -R 00 00 02 00 diff --git a/lib/relcb/qsort.rel b/lib/relcb/qsort.rel deleted file mode 100644 index 57e6379b..00000000 --- a/lib/relcb/qsort.rel +++ /dev/null @@ -1,308 +0,0 @@ -XL4 -H 3 areas B global symbols -S ?S_MUL_L02 Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?US_DIV_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 37F flags 0 -S qsort Def00000334 -A UDATA0 size 3 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF -R 00 00 01 00 02 05 05 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 DD 4E 04 DD 46 05 DD 6E 02 DD 66 -R 00 00 01 00 -T 10 00 00 00 03 A7 ED 42 38 03 -R 00 00 01 00 -T 16 00 00 00 -R 00 00 01 00 -T 16 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 19 00 00 00 -R 00 00 01 00 -T 19 00 00 00 DD 6E 02 DD 66 03 DD 75 F6 DD 74 -R 00 00 01 00 -T 24 00 00 00 F7 DD 6E 04 DD 66 05 DD 75 F8 DD -R 00 00 01 00 -T 2F 00 00 00 74 F9 DD 4E 02 DD 46 03 DD 6E 04 -R 00 00 01 00 -T 3A 00 00 00 DD 66 05 A7 ED 42 DD 4E 08 DD 46 -R 00 00 01 00 -T 45 00 00 00 09 09 EB 69 60 29 4D 44 CD -R 00 00 01 00 -T 4E 00 00 00 00 00 00 00 DD 4E 08 DD 46 09 CD -R 00 00 01 00 02 04 07 00 -T 57 00 00 00 00 00 00 00 DD 6E 02 DD 66 03 19 -R 00 00 01 00 02 04 00 00 -T 60 00 00 00 DD 75 FC DD 74 FD DD 75 FA DD 74 -R 00 00 01 00 -T 6B 00 00 00 FB -R 00 00 01 00 -T 6C 00 00 00 -R 00 00 01 00 -T 6C 00 00 00 -R 00 00 01 00 -T 6C 00 00 00 DD 4E FA DD 46 FB DD 6E F6 DD 66 -R 00 00 01 00 -T 77 00 00 00 F7 A7 ED 42 30 64 DD 4E FA DD 46 -R 00 00 01 00 -T 82 00 00 00 FB DD 5E F6 DD 56 F7 3A -R 00 00 01 00 -T 8A 00 00 00 02 00 00 00 2A 00 00 00 00 CD -R 00 00 01 00 00 04 02 00 00 09 02 00 -T 90 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 4D -R 00 00 01 00 02 04 04 00 -T 99 00 00 00 44 21 00 00 CD 00 00 00 00 38 3F -R 00 00 01 00 02 09 06 00 -T A2 00 00 00 -R 00 00 01 00 -T A2 00 00 00 -R 00 00 01 00 -T A2 00 00 00 -R 00 00 01 00 -T A2 00 00 00 DD CB FF 7E 28 11 -R 00 00 01 00 -T A8 00 00 00 -R 00 00 01 00 -T A8 00 00 00 21 00 00 39 7E DD 86 08 77 23 7E -R 00 00 01 00 -T B3 00 00 00 DD 8E 09 77 18 26 -R 00 00 01 00 -T B9 00 00 00 -R 00 00 01 00 -T B9 00 00 00 21 04 00 39 7E DD 96 08 77 23 7E -R 00 00 01 00 -T C4 00 00 00 DD 9E 09 77 DD 6E 08 DD 66 09 E5 -R 00 00 01 00 -T CF 00 00 00 DD 4E FA DD 46 FB DD 5E F6 DD 56 -R 00 00 01 00 -T DA 00 00 00 F7 CD 7E 02 00 00 E1 -R 00 00 01 00 00 06 01 00 -T DF 00 00 00 -R 00 00 01 00 -T DF 00 00 00 18 8B -R 00 00 01 00 -T E1 00 00 00 -R 00 00 01 00 -T E1 00 00 00 -R 00 00 01 00 -T E1 00 00 00 DD 4E F8 DD 46 F9 DD 6E FC DD 66 -R 00 00 01 00 -T EC 00 00 00 FD A7 ED 42 D2 E9 01 00 00 -R 00 00 01 00 00 09 01 00 -T F3 00 00 00 -R 00 00 01 00 -T F3 00 00 00 DD 4E FC DD 46 FD DD 5E F8 DD 56 -R 00 00 01 00 -T FE 00 00 00 F9 3A 02 00 00 00 2A 00 00 00 00 -R 00 00 01 00 00 06 02 00 00 0B 02 00 -T 05 01 00 00 CD 00 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 02 05 04 00 -T 0E 01 00 00 CB 7C CA A7 01 00 00 -R 00 00 01 00 00 07 01 00 -T 13 01 00 00 -R 00 00 01 00 -T 13 01 00 00 DD 4E FA DD 46 FB DD 6E F6 DD 66 -R 00 00 01 00 -T 1E 01 00 00 F7 A7 ED 42 30 38 -R 00 00 01 00 -T 24 01 00 00 -R 00 00 01 00 -T 24 01 00 00 DD 6E 08 DD 66 09 E5 DD 4E F8 DD -R 00 00 01 00 -T 2F 01 00 00 46 F9 DD 5E F6 DD 56 F7 CD -R 00 00 01 00 -T 38 01 00 00 7E 02 00 00 E1 21 00 00 39 7E DD -R 00 00 01 00 00 04 01 00 -T 41 01 00 00 86 08 77 23 7E DD 8E 09 77 21 -R 00 00 01 00 -T 4B 01 00 00 02 00 39 7E DD 96 08 77 23 7E DD -R 00 00 01 00 -T 56 01 00 00 9E 09 77 C3 6C 00 00 00 -R 00 00 01 00 00 08 01 00 -T 5C 01 00 00 -R 00 00 01 00 -T 5C 01 00 00 21 06 00 39 7E DD 86 08 77 23 7E -R 00 00 01 00 -T 67 01 00 00 DD 8E 09 77 DD 6E 08 DD 66 09 E5 -R 00 00 01 00 -T 72 01 00 00 DD 6E F8 DD 66 F9 E5 DD 4E FC DD -R 00 00 01 00 -T 7D 01 00 00 46 FD DD 5E F6 DD 56 F7 CD -R 00 00 01 00 -T 86 01 00 00 CE 02 00 00 E1 E1 21 04 00 39 7E -R 00 00 01 00 00 04 01 00 -T 8F 01 00 00 DD 86 08 77 23 7E DD 8E 09 77 DD -R 00 00 01 00 -T 9A 01 00 00 6E FA DD 66 FB DD 75 F6 DD 74 F7 -R 00 00 01 00 -T A5 01 00 00 18 3F -R 00 00 01 00 -T A7 01 00 00 -R 00 00 01 00 -T A7 01 00 00 DD 7E FE DD B6 FF 20 28 -R 00 00 01 00 -T AF 01 00 00 -R 00 00 01 00 -T AF 01 00 00 21 06 00 39 7E DD 86 08 77 23 7E -R 00 00 01 00 -T BA 01 00 00 DD 8E 09 77 DD 6E 08 DD 66 09 E5 -R 00 00 01 00 -T C5 01 00 00 DD 4E FC DD 46 FD DD 5E F8 DD 56 -R 00 00 01 00 -T D0 01 00 00 F9 CD 7E 02 00 00 E1 18 0F -R 00 00 01 00 00 06 01 00 -T D7 01 00 00 -R 00 00 01 00 -T D7 01 00 00 21 02 00 39 7E DD 96 08 77 23 7E -R 00 00 01 00 -T E2 01 00 00 DD 9E 09 77 -R 00 00 01 00 -T E6 01 00 00 -R 00 00 01 00 -T E6 01 00 00 -R 00 00 01 00 -T E6 01 00 00 C3 E1 00 00 00 -R 00 00 01 00 00 05 01 00 -T E9 01 00 00 -R 00 00 01 00 -T E9 01 00 00 DD 4E FA DD 46 FB DD 6E F6 DD 66 -R 00 00 01 00 -T F4 01 00 00 F7 A7 ED 42 30 4C -R 00 00 01 00 -T FA 01 00 00 -R 00 00 01 00 -T FA 01 00 00 21 04 00 39 7E DD 96 08 77 23 7E -R 00 00 01 00 -T 05 02 00 00 DD 9E 09 77 DD 6E 08 DD 66 09 E5 -R 00 00 01 00 -T 10 02 00 00 DD 6E F6 DD 66 F7 E5 DD 4E FA DD -R 00 00 01 00 -T 1B 02 00 00 46 FB DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T 24 02 00 00 CE 02 00 00 E1 E1 21 06 00 39 7E -R 00 00 01 00 00 04 01 00 -T 2D 02 00 00 DD 96 08 77 23 7E DD 9E 09 77 DD -R 00 00 01 00 -T 38 02 00 00 6E FC DD 66 FD DD 75 F8 DD 74 F9 -R 00 00 01 00 -T 43 02 00 00 C3 6C 00 00 00 -R 00 00 01 00 00 05 01 00 -T 46 02 00 00 -R 00 00 01 00 -T 46 02 00 00 DD 6E 08 DD 66 09 E5 DD 4E 08 DD -R 00 00 01 00 -T 51 02 00 00 46 09 DD 6E FA DD 66 FB A7 ED 42 -R 00 00 01 00 -T 5C 02 00 00 4D 44 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 65 02 00 00 00 00 00 00 E1 DD 6E 08 DD 66 09 -R 00 00 01 00 00 04 01 00 -T 6E 02 00 00 DD 4E FC DD 46 FD 09 DD 75 02 DD -R 00 00 01 00 -T 79 02 00 00 74 03 C3 05 00 00 00 -R 00 00 01 00 00 07 01 00 -T 7E 02 00 00 -R 00 00 01 00 -T 7E 02 00 00 CD 00 00 00 00 FE FF -R 00 00 01 00 02 05 05 00 -T 83 02 00 00 -R 00 00 01 00 -T 83 02 00 00 -R 00 00 01 00 -T 83 02 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 8E 02 00 00 74 09 23 7D B4 28 36 -R 00 00 01 00 -T 95 02 00 00 -R 00 00 01 00 -T 95 02 00 00 DD 6E 02 DD 66 03 4E 06 00 DD 71 -R 00 00 01 00 -T A0 02 00 00 FE DD 70 FF DD 6E 04 DD 66 05 56 -R 00 00 01 00 -T AB 02 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T B6 02 00 00 74 03 2B 72 DD 6E 04 DD 66 05 23 -R 00 00 01 00 -T C1 02 00 00 DD 75 04 DD 74 05 2B 71 18 B8 -R 00 00 01 00 -T CB 02 00 00 -R 00 00 01 00 -T CB 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T CE 02 00 00 -R 00 00 01 00 -T CE 02 00 00 CD 00 00 00 00 FE FF -R 00 00 01 00 02 05 05 00 -T D3 02 00 00 -R 00 00 01 00 -T D3 02 00 00 -R 00 00 01 00 -T D3 02 00 00 DD 6E 0A DD 66 0B 2B DD 75 0A DD -R 00 00 01 00 -T DE 02 00 00 74 0B 23 7D B4 28 4C -R 00 00 01 00 -T E5 02 00 00 -R 00 00 01 00 -T E5 02 00 00 DD 6E 02 DD 66 03 4E 06 00 DD 71 -R 00 00 01 00 -T F0 02 00 00 FE DD 70 FF DD 6E 08 DD 66 09 56 -R 00 00 01 00 -T FB 02 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T 06 03 00 00 74 03 2B 72 DD 6E 04 DD 66 05 56 -R 00 00 01 00 -T 11 03 00 00 DD 6E 08 DD 66 09 23 DD 75 08 DD -R 00 00 01 00 -T 1C 03 00 00 74 09 2B 72 DD 6E 04 DD 66 05 23 -R 00 00 01 00 -T 27 03 00 00 DD 75 04 DD 74 05 2B 71 18 A2 -R 00 00 01 00 -T 31 03 00 00 -R 00 00 01 00 -T 31 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 34 03 00 00 -R 00 00 01 00 -T 34 03 00 00 CD 00 00 00 00 79 B0 20 02 -R 00 00 01 00 02 05 03 00 -T 3B 03 00 00 -R 00 00 01 00 -T 3B 03 00 00 18 3F -R 00 00 01 00 -T 3D 03 00 00 -R 00 00 01 00 -T 3D 03 00 00 DD 46 0E DD 6E 0C DD 66 0D ED 43 -R 00 00 01 00 -T 48 03 00 00 01 00 00 00 22 00 00 00 00 DD 6E -R 00 00 01 00 00 04 02 00 00 09 02 00 -T 4F 03 00 00 0A DD 66 0B E5 21 FF FF DD 4E 04 -R 00 00 01 00 -T 5A 03 00 00 DD 46 05 09 4D 44 DD 5E 0A DD 56 -R 00 00 01 00 -T 65 03 00 00 0B CD 00 00 00 00 DD 6E 02 DD 66 -R 00 00 01 00 02 06 00 00 -T 6E 03 00 00 03 19 4D 44 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 79 03 00 00 00 00 00 00 E1 -R 00 00 01 00 00 04 01 00 -T 7C 03 00 00 -R 00 00 01 00 -T 7C 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 diff --git a/lib/relcb/rand.rel b/lib/relcb/rand.rel deleted file mode 100644 index 8e781b25..00000000 --- a/lib/relcb/rand.rel +++ /dev/null @@ -1,126 +0,0 @@ -XL4 -H 4 areas A global symbols -S ?S_MUL_L02 Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?US_MOD_L02 Ref00000000 -S ?SS_DIV_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13E flags 0 -S srand Def000000F8 -S rand Def00000000 -A IDATA0 size 6 flags 0 -A CDATA0 size 6 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 01 CE 00 ED -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 5B 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 02 00 02 0A 05 00 -T 10 00 00 00 73 FE DD 72 FF 01 1F 00 CD -R 00 00 01 00 -T 19 00 00 00 00 00 00 00 D5 01 CE 00 DD 5E FE -R 00 00 01 00 02 04 00 00 -T 22 00 00 00 DD 56 FF CD 00 00 00 00 2A -R 00 00 01 00 02 08 00 00 -T 29 00 00 00 00 00 00 00 A7 ED 52 4D 44 11 -R 00 00 01 00 00 04 02 00 -T 31 00 00 00 9D 00 CD 00 00 00 00 EB D1 A7 ED -R 00 00 01 00 02 07 00 00 -T 3A 00 00 00 52 22 00 00 00 00 CB 7C 28 0B -R 00 00 01 00 00 06 02 00 -T 42 00 00 00 -R 00 00 01 00 -T 42 00 00 00 21 6B 7E ED 4B 00 00 00 00 09 22 -R 00 00 01 00 00 09 02 00 -T 4B 00 00 00 00 00 00 00 -R 00 00 01 00 00 04 02 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 01 D9 00 ED 5B 02 00 00 00 CD -R 00 00 01 00 00 09 02 00 -T 55 00 00 00 00 00 00 00 DD 73 FE DD 72 FF 01 -R 00 00 01 00 02 04 05 00 -T 5E 00 00 00 2D 00 CD 00 00 00 00 D5 01 D9 00 -R 00 00 01 00 02 07 00 00 -T 67 00 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 70 00 00 00 2A 02 00 00 00 A7 ED 52 4D 44 11 -R 00 00 01 00 00 05 02 00 -T 79 00 00 00 92 00 CD 00 00 00 00 EB D1 A7 ED -R 00 00 01 00 02 07 00 00 -T 82 00 00 00 52 22 02 00 00 00 CB 7C 28 0B -R 00 00 01 00 00 06 02 00 -T 8A 00 00 00 -R 00 00 01 00 -T 8A 00 00 00 21 EF 7B ED 4B 02 00 00 00 09 22 -R 00 00 01 00 00 09 02 00 -T 93 00 00 00 02 00 00 00 -R 00 00 01 00 00 04 02 00 -T 95 00 00 00 -R 00 00 01 00 -T 95 00 00 00 01 DE 00 ED 5B 04 00 00 00 CD -R 00 00 01 00 00 09 02 00 -T 9D 00 00 00 00 00 00 00 DD 73 FE DD 72 FF 01 -R 00 00 01 00 02 04 05 00 -T A6 00 00 00 85 00 CD 00 00 00 00 D5 01 DE 00 -R 00 00 01 00 02 07 00 00 -T AF 00 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T B8 00 00 00 2A 04 00 00 00 A7 ED 52 4D 44 11 -R 00 00 01 00 00 05 02 00 -T C1 00 00 00 8E 00 CD 00 00 00 00 EB D1 A7 ED -R 00 00 01 00 02 07 00 00 -T CA 00 00 00 52 22 04 00 00 00 CB 7C 28 0B -R 00 00 01 00 00 06 02 00 -T D2 00 00 00 -R 00 00 01 00 -T D2 00 00 00 21 A9 7B ED 4B 04 00 00 00 09 22 -R 00 00 01 00 00 09 02 00 -T DB 00 00 00 04 00 00 00 -R 00 00 01 00 00 04 02 00 -T DD 00 00 00 -R 00 00 01 00 -T DD 00 00 00 2A 00 00 00 00 ED 4B 02 00 00 00 -R 00 00 01 00 00 05 02 00 00 0B 02 00 -T E4 00 00 00 7D A9 5F 7C A8 57 2A 04 00 00 00 -R 00 00 01 00 00 0B 02 00 -T ED 00 00 00 7B AD 4F 7A AC 47 69 60 C3 -R 00 00 01 00 -T F6 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 -T F8 00 00 00 -R 00 00 01 00 -T F8 00 00 00 CD 00 00 00 00 21 02 00 39 7E E6 -R 00 00 01 00 02 05 02 00 -T 01 01 00 00 FF 77 23 7E E6 7F 77 01 6A 7E DD -R 00 00 01 00 -T 0C 01 00 00 5E 02 DD 56 03 CD 00 00 00 00 13 -R 00 00 01 00 02 0A 04 00 -T 15 01 00 00 ED 53 00 00 00 00 01 EE 7B DD 5E -R 00 00 01 00 00 06 02 00 -T 1E 01 00 00 02 DD 56 03 CD 00 00 00 00 13 ED -R 00 00 01 00 02 09 04 00 -T 27 01 00 00 53 02 00 00 00 01 A8 7B DD 5E 02 -R 00 00 01 00 00 05 02 00 -T 30 01 00 00 DD 56 03 CD 00 00 00 00 13 ED 53 -R 00 00 01 00 02 08 04 00 -T 39 01 00 00 04 00 00 00 C3 00 00 00 00 -R 00 00 01 00 00 04 02 00 02 09 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 04 00 00 00 -R 00 00 02 00 -T 04 00 00 00 -R 00 00 02 00 -T 00 00 00 00 01 00 01 00 01 00 -R 00 00 03 00 diff --git a/lib/relcb/readdir.rel b/lib/relcb/readdir.rel deleted file mode 100644 index 4541a784..00000000 --- a/lib/relcb/readdir.rel +++ /dev/null @@ -1,94 +0,0 @@ -XL4 -H 2 areas A global symbols -S strncpy Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strlen Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size E3 flags 0 -S readdir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 EE FF DD 7E 02 DD -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 B6 03 28 1A 21 06 00 DD 4E 02 DD -R 00 00 01 00 -T 14 00 00 00 46 03 09 7E 23 B6 28 0B DD 6E 02 -R 00 00 01 00 -T 1F 00 00 00 DD 66 03 7E 23 B6 20 0C -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 21 0E 00 22 00 00 00 00 -R 00 00 01 00 02 08 04 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 21 00 00 C3 E0 00 00 00 -R 00 00 01 00 00 08 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 DD 36 F0 00 -R 00 00 01 00 -T 37 00 00 00 -R 00 00 01 00 -T 37 00 00 00 DD 7E F0 B7 20 26 -R 00 00 01 00 -T 3D 00 00 00 -R 00 00 01 00 -T 3D 00 00 00 21 10 00 E5 21 02 00 39 4D 44 DD -R 00 00 01 00 -T 48 00 00 00 6E 02 DD 66 03 5E 23 56 3E -R 00 00 01 00 -T 51 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 56 00 00 00 00 00 00 00 F1 3E 10 AD B4 28 02 -R 00 00 01 00 02 04 03 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 18 CC -R 00 00 01 00 -T 61 00 00 00 -R 00 00 01 00 -T 61 00 00 00 18 D4 -R 00 00 01 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 56 -R 00 00 01 00 -T 6E 00 00 00 23 66 6A DD 75 FE DD 74 FF DD 5E -R 00 00 01 00 -T 79 00 00 00 EE DD 56 EF 73 23 72 DD 6E FE DD -R 00 00 01 00 -T 84 00 00 00 66 FF 23 23 E5 69 60 23 23 4E 23 -R 00 00 01 00 -T 8F 00 00 00 46 03 70 2B 71 0B E1 71 23 70 21 -R 00 00 01 00 -T 9A 00 00 00 0E 00 E5 21 02 00 39 01 02 00 09 -R 00 00 01 00 -T A5 00 00 00 4D 44 21 06 00 DD 5E FE DD 56 FF -R 00 00 01 00 -T B0 00 00 00 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 00 00 -T B5 00 00 00 00 00 00 00 CD 00 00 00 00 F1 21 -R 00 00 01 00 02 04 00 00 02 09 03 00 -T BC 00 00 00 14 00 DD 4E FE DD 46 FF 09 36 00 -R 00 00 01 00 -T C7 00 00 00 21 04 00 09 E5 21 06 00 09 EB 3E -R 00 00 01 00 -T D2 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T D7 00 00 00 00 00 00 00 EB E1 73 23 72 69 60 -R 00 00 01 00 02 04 03 00 -T E0 00 00 00 -R 00 00 01 00 -T E0 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcb/readlink.rel b/lib/relcb/readlink.rel deleted file mode 100644 index d415ed7c..00000000 --- a/lib/relcb/readlink.rel +++ /dev/null @@ -1,49 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S close Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S open Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 62 flags 0 -S readlink Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 00 08 E5 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 DD 6E 02 DD 66 03 E5 3E -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 16 00 00 00 00 00 00 00 F1 F1 DD 75 FE DD 74 -R 00 00 01 00 02 04 02 00 -T 1F 00 00 00 FF CB 7C 28 05 -R 00 00 01 00 -T 24 00 00 00 -R 00 00 01 00 -T 24 00 00 00 21 FF FF 18 36 -R 00 00 01 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 DD 6E 0A DD 66 0B E5 DD 4E 04 DD -R 00 00 01 00 -T 34 00 00 00 46 05 DD 5E FE DD 56 FF 3E -R 00 00 01 00 -T 3D 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 -T 42 00 00 00 00 00 00 00 F1 DD 75 FC DD 74 FD -R 00 00 01 00 02 04 02 00 -T 4B 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 01 00 -T 53 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 01 00 02 0A 02 00 -T 5A 00 00 00 6E FC DD 66 FD -R 00 00 01 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/realloc.rel b/lib/relcb/realloc.rel deleted file mode 100644 index 817e4e3c..00000000 --- a/lib/relcb/realloc.rel +++ /dev/null @@ -1,61 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S memcpy Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S free Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S malloc Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8E flags 0 -S realloc Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 FC FF DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 5E 02 DD 56 03 19 7E 23 66 6F 01 -R 00 00 01 00 -T 14 00 00 00 FF FF 09 29 29 DD 75 FE DD 74 FF -R 00 00 01 00 -T 1F 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 02 00 02 0A 02 00 -T 25 00 00 00 00 00 00 00 DD 5E 04 DD 56 05 3E -R 00 00 01 00 02 04 03 00 -T 2E 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 -T 33 00 00 00 00 00 00 00 DD 75 FC DD 74 FD 7D -R 00 00 01 00 02 04 03 00 -T 3C 00 00 00 B4 28 46 DD 6E 02 DD 66 03 DD 4E -R 00 00 01 00 -T 47 00 00 00 FC DD 46 FD A7 ED 42 28 35 -R 00 00 01 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 -R 00 00 01 00 -T 5B 00 00 00 FF A7 ED 42 30 08 DD 6E FE DD 66 -R 00 00 01 00 -T 66 00 00 00 FF 18 06 -R 00 00 01 00 -T 69 00 00 00 -R 00 00 01 00 -T 69 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 -T 6F 00 00 00 -R 00 00 01 00 -T 6F 00 00 00 E5 DD 4E 02 DD 46 03 DD 5E FC DD -R 00 00 01 00 -T 7A 00 00 00 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 00 00 -T 7F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 04 00 00 02 09 03 00 -T 85 00 00 00 -R 00 00 01 00 -T 85 00 00 00 DD 6E FC DD 66 FD C3 00 00 00 00 -R 00 00 01 00 02 0B 01 00 diff --git a/lib/relcb/regerror.rel b/lib/relcb/regerror.rel deleted file mode 100644 index 3c55fa87..00000000 --- a/lib/relcb/regerror.rel +++ /dev/null @@ -1,34 +0,0 @@ -XL4 -H 3 areas 9 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S stderr Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S fprintf Ref00000000 -S exit Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S regerror Def00000000 -A CSTR size E flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 00 00 00 00 -R 00 00 01 00 02 05 02 00 00 0B 02 00 -T 07 00 00 00 E5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 01 00 -T 0D 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 -T 12 00 00 00 00 00 00 00 F1 F1 F1 11 01 00 3E -R 00 00 01 00 02 04 03 00 -T 1B 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 -T 20 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 72 65 67 65 78 70 28 33 29 3A 20 -R 00 00 02 00 -T 0B 00 00 00 25 73 00 -R 00 00 02 00 diff --git a/lib/relcb/regexp.rel b/lib/relcb/regexp.rel deleted file mode 100644 index e6e46ee0..00000000 --- a/lib/relcb/regexp.rel +++ /dev/null @@ -1,2217 +0,0 @@ -XL4 -H 4 areas 15 global symbols -S strncmp Ref00000000 -S strcspn Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strchr Ref00000000 -S strlen Ref00000000 -S ?C_V_SWITCH_L06 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?L_ADDASG_L03 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S regerror Ref00000000 -S ?SL_CMP_L03 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?L_INC_L03 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S malloc Ref00000000 -S ?SS_RSH_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 135D flags 0 -S regexec Def00000BF6 -S regcomp Def00000000 -A CSTR size 132 flags 0 -A UDATA0 size 13 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF DD 7E 02 DD -R 00 00 01 00 02 05 0C 00 -T 09 00 00 00 B6 03 20 11 -R 00 00 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T 13 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T 19 00 00 00 00 00 C3 FC 01 00 00 -R 00 00 01 00 00 07 01 00 -T 1E 00 00 00 -R 00 00 01 00 -T 1E 00 00 00 DD 6E 02 DD 66 03 22 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 27 00 00 00 21 01 00 22 02 00 00 00 01 00 00 -R 00 00 01 00 00 08 03 00 -T 30 00 00 00 21 00 00 22 07 00 00 00 ED 43 -R 00 00 01 00 00 08 03 00 -T 38 00 00 00 09 00 00 00 21 04 00 00 00 22 -R 00 00 01 00 00 04 03 00 00 09 03 00 -T 3E 00 00 00 05 00 00 00 11 9C 00 CD -R 00 00 01 00 00 04 03 00 -T 44 00 00 00 47 0A 00 00 21 08 00 39 4D 44 11 -R 00 00 01 00 00 04 01 00 -T 4D 00 00 00 00 00 CD FF 01 00 00 7D B4 20 06 -R 00 00 01 00 00 07 01 00 -T 56 00 00 00 -R 00 00 01 00 -T 56 00 00 00 21 00 00 C3 FC 01 00 00 -R 00 00 01 00 00 08 01 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 21 00 00 E5 21 FF 7F E5 ED 4B -R 00 00 01 00 -T 66 00 00 00 09 00 00 00 2A 07 00 00 00 CD -R 00 00 01 00 00 04 03 00 00 09 03 00 -T 6C 00 00 00 00 00 00 00 38 11 -R 00 00 01 00 02 04 0B 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 11 0E 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T 76 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T 7C 00 00 00 00 00 C3 FC 01 00 00 -R 00 00 01 00 00 07 01 00 -T 81 00 00 00 -R 00 00 01 00 -T 81 00 00 00 2A 07 00 00 00 01 2F 00 09 EB 3E -R 00 00 01 00 00 05 03 00 -T 8A 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 10 00 02 09 10 00 -T 8F 00 00 00 00 00 00 00 DD 75 F6 DD 74 F7 7D -R 00 00 01 00 02 04 09 00 -T 98 00 00 00 B4 20 11 -R 00 00 01 00 -T 9B 00 00 00 -R 00 00 01 00 -T 9B 00 00 00 11 1D 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T A1 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T A7 00 00 00 00 00 C3 FC 01 00 00 -R 00 00 01 00 00 07 01 00 -T AC 00 00 00 -R 00 00 01 00 -T AC 00 00 00 DD 6E 02 DD 66 03 22 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T B5 00 00 00 21 01 00 22 02 00 00 00 21 2E 00 -R 00 00 01 00 00 08 03 00 -T BE 00 00 00 DD 4E F6 DD 46 F7 09 22 -R 00 00 01 00 -T C6 00 00 00 05 00 00 00 11 9C 00 CD -R 00 00 01 00 00 04 03 00 -T CC 00 00 00 47 0A 00 00 21 08 00 39 4D 44 11 -R 00 00 01 00 00 04 01 00 -T D5 00 00 00 00 00 CD FF 01 00 00 7D B4 20 06 -R 00 00 01 00 00 07 01 00 -T DE 00 00 00 -R 00 00 01 00 -T DE 00 00 00 21 00 00 C3 FC 01 00 00 -R 00 00 01 00 00 08 01 00 -T E4 00 00 00 -R 00 00 01 00 -T E4 00 00 00 21 28 00 DD 4E F6 DD 46 F7 09 36 -R 00 00 01 00 -T EF 00 00 00 00 21 29 00 09 36 00 21 2A 00 09 -R 00 00 01 00 -T FA 00 00 00 AF 77 23 77 21 2C 00 09 AF 77 23 -R 00 00 01 00 -T 05 01 00 00 77 21 2E 00 09 23 DD 75 F8 DD 74 -R 00 00 01 00 -T 10 01 00 00 F9 EB CD E9 12 00 00 7E B7 C2 -R 00 00 01 00 00 07 01 00 -T 18 01 00 00 F6 01 00 00 -R 00 00 01 00 00 04 01 00 -T 1A 01 00 00 -R 00 00 01 00 -T 1A 01 00 00 DD 6E F8 DD 66 F9 23 23 23 DD 75 -R 00 00 01 00 -T 25 01 00 00 F8 DD 74 F9 7E FE 08 20 17 -R 00 00 01 00 -T 2E 01 00 00 -R 00 00 01 00 -T 2E 01 00 00 DD 6E F8 DD 66 F9 23 23 23 46 21 -R 00 00 01 00 -T 39 01 00 00 28 00 DD 5E F6 DD 56 F7 19 70 18 -R 00 00 01 00 -T 44 01 00 00 15 -R 00 00 01 00 -T 45 01 00 00 -R 00 00 01 00 -T 45 01 00 00 DD 6E F8 DD 66 F9 46 05 20 0B -R 00 00 01 00 -T 4F 01 00 00 -R 00 00 01 00 -T 4F 01 00 00 21 29 00 DD 4E F6 DD 46 F7 09 34 -R 00 00 01 00 -T 5A 01 00 00 -R 00 00 01 00 -T 5A 01 00 00 -R 00 00 01 00 -T 5A 01 00 00 DD 7E FE E6 04 CA F6 01 00 00 -R 00 00 01 00 00 0A 01 00 -T 62 01 00 00 -R 00 00 01 00 -T 62 01 00 00 AF DD 77 FA DD 77 FB AF DD 77 FC -R 00 00 01 00 -T 6D 01 00 00 DD 77 FD -R 00 00 01 00 -T 70 01 00 00 -R 00 00 01 00 -T 70 01 00 00 DD 7E F8 DD B6 F9 28 5E -R 00 00 01 00 -T 78 01 00 00 -R 00 00 01 00 -T 78 01 00 00 DD 6E F8 DD 66 F9 7E FE 08 20 42 -R 00 00 01 00 -T 83 01 00 00 DD 5E F8 DD 56 F9 13 13 13 3E -R 00 00 01 00 -T 8D 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 92 01 00 00 00 00 00 00 DD 4E FC DD 46 FD A7 -R 00 00 01 00 02 04 09 00 -T 9B 01 00 00 ED 42 38 26 -R 00 00 01 00 -T 9F 01 00 00 -R 00 00 01 00 -T 9F 01 00 00 -R 00 00 01 00 -T 9F 01 00 00 -R 00 00 01 00 -T 9F 01 00 00 DD 6E F8 DD 66 F9 23 23 23 DD 75 -R 00 00 01 00 -T AA 01 00 00 FA DD 74 FB DD 5E F8 DD 56 F9 13 -R 00 00 01 00 -T B5 01 00 00 13 13 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 04 00 -T BA 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 04 00 02 09 09 00 -T C1 01 00 00 FC DD 74 FD -R 00 00 01 00 -T C5 01 00 00 -R 00 00 01 00 -T C5 01 00 00 DD 5E F8 DD 56 F9 CD E9 12 00 00 -R 00 00 01 00 00 0B 01 00 -T CE 01 00 00 DD 75 F8 DD 74 F9 18 9A -R 00 00 01 00 -T D6 01 00 00 -R 00 00 01 00 -T D6 01 00 00 21 2A 00 DD 4E F6 DD 46 F7 09 DD -R 00 00 01 00 -T E1 01 00 00 5E FA DD 56 FB 73 23 72 21 2C 00 -R 00 00 01 00 -T EC 01 00 00 09 DD 4E FC DD 46 FD 71 23 70 -R 00 00 01 00 -T F6 01 00 00 -R 00 00 01 00 -T F6 01 00 00 -R 00 00 01 00 -T F6 01 00 00 DD 6E F6 DD 66 F7 -R 00 00 01 00 -T FC 01 00 00 -R 00 00 01 00 -T FC 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T FF 01 00 00 -R 00 00 01 00 -T FF 01 00 00 CD 00 00 00 00 F6 FF 69 60 36 01 -R 00 00 01 00 02 05 0C 00 -T 08 02 00 00 23 36 00 DD 7E 02 DD B6 03 28 40 -R 00 00 01 00 -T 13 02 00 00 -R 00 00 01 00 -T 13 02 00 00 01 0A 80 2A 02 00 00 00 3E 80 AC -R 00 00 01 00 00 08 03 00 -T 1C 02 00 00 67 ED 42 38 11 -R 00 00 01 00 -T 21 02 00 00 -R 00 00 01 00 -T 21 02 00 00 11 2A 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T 27 02 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T 2D 02 00 00 00 00 C3 FD 03 00 00 -R 00 00 01 00 00 07 01 00 -T 32 02 00 00 -R 00 00 01 00 -T 32 02 00 00 2A 02 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 00 05 03 00 -T 3B 02 00 00 ED 4B 02 00 00 00 03 ED 43 -R 00 00 01 00 00 06 03 00 -T 42 02 00 00 02 00 00 00 7D C6 14 5F CD -R 00 00 01 00 00 04 03 00 -T 49 02 00 00 D3 09 00 00 DD 75 F6 DD 74 F7 18 -R 00 00 01 00 00 04 01 00 -T 52 02 00 00 07 -R 00 00 01 00 -T 53 02 00 00 -R 00 00 01 00 -T 53 02 00 00 AF DD 77 F6 DD 77 F7 -R 00 00 01 00 -T 5A 02 00 00 -R 00 00 01 00 -T 5A 02 00 00 21 08 00 39 5D 54 CD 00 04 00 00 -R 00 00 01 00 00 0B 01 00 -T 63 02 00 00 DD 75 F8 DD 74 F9 7D B4 20 06 -R 00 00 01 00 -T 6D 02 00 00 -R 00 00 01 00 -T 6D 02 00 00 21 00 00 C3 FD 03 00 00 -R 00 00 01 00 00 08 01 00 -T 73 02 00 00 -R 00 00 01 00 -T 73 02 00 00 DD 7E F6 DD B6 F7 28 11 -R 00 00 01 00 -T 7B 02 00 00 -R 00 00 01 00 -T 7B 02 00 00 DD 4E F8 DD 46 F9 DD 5E F6 DD 56 -R 00 00 01 00 -T 86 02 00 00 F7 CD 1C 0B 00 00 18 0C -R 00 00 01 00 00 06 01 00 -T 8C 02 00 00 -R 00 00 01 00 -T 8C 02 00 00 DD 6E F8 DD 66 F9 DD 75 F6 DD 74 -R 00 00 01 00 -T 97 02 00 00 F7 -R 00 00 01 00 -T 98 02 00 00 -R 00 00 01 00 -T 98 02 00 00 DD 7E FE E6 01 47 DD 7E FF E6 00 -R 00 00 01 00 -T A3 02 00 00 B0 20 0F -R 00 00 01 00 -T A6 02 00 00 -R 00 00 01 00 -T A6 02 00 00 DD 6E 04 DD 66 05 7E E6 FE 77 23 -R 00 00 01 00 -T B1 02 00 00 7E E6 FF 77 -R 00 00 01 00 -T B5 02 00 00 -R 00 00 01 00 -T B5 02 00 00 DD 7E FE E6 04 4F DD 7E FF E6 00 -R 00 00 01 00 -T C0 02 00 00 47 DD 6E 04 DD 66 05 7E B1 77 23 -R 00 00 01 00 -T CB 02 00 00 7E B0 77 -R 00 00 01 00 -T CE 02 00 00 -R 00 00 01 00 -T CE 02 00 00 2A 00 00 00 00 7E FE 7C 20 67 -R 00 00 01 00 00 05 03 00 -T D6 02 00 00 -R 00 00 01 00 -T D6 02 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T DD 02 00 00 21 08 00 39 5D 54 CD 00 04 00 00 -R 00 00 01 00 00 0B 01 00 -T E6 02 00 00 DD 75 F8 DD 74 F9 7D B4 20 06 -R 00 00 01 00 -T F0 02 00 00 -R 00 00 01 00 -T F0 02 00 00 21 00 00 C3 FD 03 00 00 -R 00 00 01 00 00 08 01 00 -T F6 02 00 00 -R 00 00 01 00 -T F6 02 00 00 DD 4E F8 DD 46 F9 DD 5E F6 DD 56 -R 00 00 01 00 -T 01 03 00 00 F7 CD 1C 0B 00 00 DD 7E FE E6 01 -R 00 00 01 00 00 06 01 00 -T 0A 03 00 00 47 DD 7E FF E6 00 B0 20 0F -R 00 00 01 00 -T 13 03 00 00 -R 00 00 01 00 -T 13 03 00 00 DD 6E 04 DD 66 05 7E E6 FE 77 23 -R 00 00 01 00 -T 1E 03 00 00 7E E6 FF 77 -R 00 00 01 00 -T 22 03 00 00 -R 00 00 01 00 -T 22 03 00 00 DD 7E FE E6 04 4F DD 7E FF E6 00 -R 00 00 01 00 -T 2D 03 00 00 47 DD 6E 04 DD 66 05 7E B1 77 23 -R 00 00 01 00 -T 38 03 00 00 7E B0 77 18 91 -R 00 00 01 00 -T 3D 03 00 00 -R 00 00 01 00 -T 3D 03 00 00 DD 7E 02 DD B6 03 28 08 DD 7E FC -R 00 00 01 00 -T 48 03 00 00 C6 1E 5F 18 02 -R 00 00 01 00 -T 4D 03 00 00 -R 00 00 01 00 -T 4D 03 00 00 1E 00 -R 00 00 01 00 -T 4F 03 00 00 -R 00 00 01 00 -T 4F 03 00 00 CD D3 09 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 00 05 01 00 -T 58 03 00 00 4D 44 DD 5E F6 DD 56 F7 CD -R 00 00 01 00 -T 61 03 00 00 1C 0B 00 00 DD 6E F6 DD 66 F7 DD -R 00 00 01 00 00 04 01 00 -T 6A 03 00 00 75 F8 DD 74 F9 -R 00 00 01 00 -T 6F 03 00 00 -R 00 00 01 00 -T 6F 03 00 00 DD 7E F8 DD B6 F9 28 20 -R 00 00 01 00 -T 77 03 00 00 -R 00 00 01 00 -T 77 03 00 00 DD 4E FA DD 46 FB DD 5E F8 DD 56 -R 00 00 01 00 -T 82 03 00 00 F9 CD BF 0B 00 00 DD 5E F8 DD 56 -R 00 00 01 00 00 06 01 00 -T 8B 03 00 00 F9 CD E9 12 00 00 DD 75 F8 DD 74 -R 00 00 01 00 00 06 01 00 -T 94 03 00 00 F9 18 D8 -R 00 00 01 00 -T 97 03 00 00 -R 00 00 01 00 -T 97 03 00 00 DD 7E 02 DD B6 03 28 1F 2A -R 00 00 01 00 -T A0 03 00 00 00 00 00 00 23 22 00 00 00 00 2B -R 00 00 01 00 00 04 03 00 00 0A 03 00 -T A7 03 00 00 7E FE 29 28 12 -R 00 00 01 00 -T AC 03 00 00 -R 00 00 01 00 -T AC 03 00 00 -R 00 00 01 00 -T AC 03 00 00 -R 00 00 01 00 -T AC 03 00 00 11 36 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T B2 03 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T B8 03 00 00 00 00 18 41 18 39 -R 00 00 01 00 -T BE 03 00 00 -R 00 00 01 00 -T BE 03 00 00 DD 7E 02 DD B6 03 20 31 2A -R 00 00 01 00 -T C7 03 00 00 00 00 00 00 AF B6 28 2A -R 00 00 01 00 00 04 03 00 -T CD 03 00 00 -R 00 00 01 00 -T CD 03 00 00 -R 00 00 01 00 -T CD 03 00 00 -R 00 00 01 00 -T CD 03 00 00 2A 00 00 00 00 7E FE 29 20 12 -R 00 00 01 00 00 05 03 00 -T D5 03 00 00 -R 00 00 01 00 -T D5 03 00 00 11 36 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T DB 03 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T E1 03 00 00 00 00 18 18 18 10 -R 00 00 01 00 -T E7 03 00 00 -R 00 00 01 00 -T E7 03 00 00 11 43 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T ED 03 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T F3 03 00 00 00 00 18 06 -R 00 00 01 00 -T F7 03 00 00 -R 00 00 01 00 -T F7 03 00 00 -R 00 00 01 00 -T F7 03 00 00 -R 00 00 01 00 -T F7 03 00 00 DD 6E F6 DD 66 F7 -R 00 00 01 00 -T FD 03 00 00 -R 00 00 01 00 -T FD 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 00 04 00 00 -R 00 00 01 00 -T 00 04 00 00 CD 00 00 00 00 F8 FF DD 6E 02 DD -R 00 00 01 00 02 05 0C 00 -T 09 04 00 00 66 03 AF 77 23 77 1E 06 CD -R 00 00 01 00 -T 12 04 00 00 D3 09 00 00 DD 75 F8 DD 74 F9 AF -R 00 00 01 00 00 04 01 00 -T 1B 04 00 00 DD 77 FA DD 77 FB -R 00 00 01 00 -T 21 04 00 00 -R 00 00 01 00 -T 21 04 00 00 2A 00 00 00 00 AF B6 CA -R 00 00 01 00 00 05 03 00 -T 27 04 00 00 AB 04 00 00 2A 00 00 00 00 7E FE -R 00 00 01 00 00 04 01 00 00 09 03 00 -T 2E 04 00 00 7C 28 7A 2A 00 00 00 00 7E FE 29 -R 00 00 01 00 00 08 03 00 -T 37 04 00 00 28 72 -R 00 00 01 00 -T 39 04 00 00 -R 00 00 01 00 -T 39 04 00 00 -R 00 00 01 00 -T 39 04 00 00 -R 00 00 01 00 -T 39 04 00 00 21 06 00 39 5D 54 CD C1 04 00 00 -R 00 00 01 00 00 0B 01 00 -T 42 04 00 00 DD 75 FC DD 74 FD 7D B4 20 05 -R 00 00 01 00 -T 4C 04 00 00 -R 00 00 01 00 -T 4C 04 00 00 21 00 00 18 6D -R 00 00 01 00 -T 51 04 00 00 -R 00 00 01 00 -T 51 04 00 00 DD 7E FE E6 01 4F DD 7E FF E6 00 -R 00 00 01 00 -T 5C 04 00 00 47 DD 6E 02 DD 66 03 7E B1 77 23 -R 00 00 01 00 -T 67 04 00 00 7E B0 77 DD 7E FA DD B6 FB 20 1B -R 00 00 01 00 -T 72 04 00 00 -R 00 00 01 00 -T 72 04 00 00 DD 7E FE E6 04 4F DD 7E FF E6 00 -R 00 00 01 00 -T 7D 04 00 00 47 DD 6E 02 DD 66 03 7E B1 77 23 -R 00 00 01 00 -T 88 04 00 00 7E B0 77 18 0F -R 00 00 01 00 -T 8D 04 00 00 -R 00 00 01 00 -T 8D 04 00 00 DD 4E FC DD 46 FD DD 5E FA DD 56 -R 00 00 01 00 -T 98 04 00 00 FB CD 1C 0B 00 00 -R 00 00 01 00 00 06 01 00 -T 9C 04 00 00 -R 00 00 01 00 -T 9C 04 00 00 DD 6E FC DD 66 FD DD 75 FA DD 74 -R 00 00 01 00 -T A7 04 00 00 FB C3 21 04 00 00 -R 00 00 01 00 00 06 01 00 -T AB 04 00 00 -R 00 00 01 00 -T AB 04 00 00 DD 7E FA DD B6 FB 20 05 -R 00 00 01 00 -T B3 04 00 00 -R 00 00 01 00 -T B3 04 00 00 1E 09 CD D3 09 00 00 -R 00 00 01 00 00 07 01 00 -T B8 04 00 00 -R 00 00 01 00 -T B8 04 00 00 DD 6E F8 DD 66 F9 -R 00 00 01 00 -T BE 04 00 00 -R 00 00 01 00 -T BE 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T C1 04 00 00 -R 00 00 01 00 -T C1 04 00 00 CD 00 00 00 00 F8 FF 21 05 00 39 -R 00 00 01 00 02 05 0C 00 -T CA 04 00 00 5D 54 CD AC 06 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T D3 04 00 00 74 F9 7D B4 20 06 -R 00 00 01 00 -T D9 04 00 00 -R 00 00 01 00 -T D9 04 00 00 21 00 00 C3 A9 06 00 00 -R 00 00 01 00 00 08 01 00 -T DF 04 00 00 -R 00 00 01 00 -T DF 04 00 00 2A 00 00 00 00 46 DD 70 FA 78 FE -R 00 00 01 00 00 05 03 00 -T E8 04 00 00 2A 28 28 DD 7E FA FE 2B 28 21 DD -R 00 00 01 00 -T F3 04 00 00 7E FA FE 3F 28 1A -R 00 00 01 00 -T F9 04 00 00 -R 00 00 01 00 -T F9 04 00 00 DD 6E FD DD 66 FE E5 DD 6E 02 DD -R 00 00 01 00 -T 04 05 00 00 66 03 C1 71 23 70 DD 6E F8 DD 66 -R 00 00 01 00 -T 0F 05 00 00 F9 C3 A9 06 00 00 -R 00 00 01 00 00 06 01 00 -T 13 05 00 00 -R 00 00 01 00 -T 13 05 00 00 DD 7E FD E6 01 47 DD 7E FE E6 00 -R 00 00 01 00 -T 1E 05 00 00 B0 20 18 DD 7E FA FE 3F 28 11 -R 00 00 01 00 -T 28 05 00 00 -R 00 00 01 00 -T 28 05 00 00 -R 00 00 01 00 -T 28 05 00 00 -R 00 00 01 00 -T 28 05 00 00 11 4F 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T 2E 05 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T 34 05 00 00 00 00 C3 A9 06 00 00 -R 00 00 01 00 00 07 01 00 -T 39 05 00 00 -R 00 00 01 00 -T 39 05 00 00 DD 7E FA FE 2B 28 05 21 04 00 18 -R 00 00 01 00 -T 44 05 00 00 03 -R 00 00 01 00 -T 45 05 00 00 -R 00 00 01 00 -T 45 05 00 00 21 01 00 -R 00 00 01 00 -T 48 05 00 00 -R 00 00 01 00 -T 48 05 00 00 E5 DD 6E 02 DD 66 03 C1 71 23 70 -R 00 00 01 00 -T 53 05 00 00 DD 7E FA FE 2A 20 15 DD 7E FD E6 -R 00 00 01 00 -T 5E 05 00 00 02 28 0E -R 00 00 01 00 -T 61 05 00 00 -R 00 00 01 00 -T 61 05 00 00 -R 00 00 01 00 -T 61 05 00 00 -R 00 00 01 00 -T 61 05 00 00 DD 4E F8 DD 46 F9 1E 0A CD -R 00 00 01 00 -T 6A 05 00 00 78 0A 00 00 C3 74 06 00 00 -R 00 00 01 00 00 04 01 00 00 09 01 00 -T 6F 05 00 00 -R 00 00 01 00 -T 6F 05 00 00 DD 7E FA FE 2A 20 4D -R 00 00 01 00 -T 76 05 00 00 -R 00 00 01 00 -T 76 05 00 00 DD 4E F8 DD 46 F9 1E 06 CD -R 00 00 01 00 -T 7F 05 00 00 78 0A 00 00 1E 07 CD D3 09 00 00 -R 00 00 01 00 00 04 01 00 00 0B 01 00 -T 86 05 00 00 4D 44 DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T 8F 05 00 00 BF 0B 00 00 DD 4E F8 DD 46 F9 DD -R 00 00 01 00 00 04 01 00 -T 98 05 00 00 5E F8 DD 56 F9 CD BF 0B 00 00 1E -R 00 00 01 00 00 0A 01 00 -T A1 05 00 00 06 CD D3 09 00 00 4D 44 DD 5E F8 -R 00 00 01 00 00 06 01 00 -T AA 05 00 00 DD 56 F9 CD 1C 0B 00 00 1E 09 CD -R 00 00 01 00 00 08 01 00 -T B3 05 00 00 D3 09 00 00 4D 44 DD 5E F8 DD 56 -R 00 00 01 00 00 04 01 00 -T BC 05 00 00 F9 CD 1C 0B 00 00 C3 74 06 00 00 -R 00 00 01 00 00 06 01 00 00 0B 01 00 -T C3 05 00 00 -R 00 00 01 00 -T C3 05 00 00 DD 7E FA FE 2B 20 15 DD 7E FD E6 -R 00 00 01 00 -T CE 05 00 00 02 28 0E -R 00 00 01 00 -T D1 05 00 00 -R 00 00 01 00 -T D1 05 00 00 -R 00 00 01 00 -T D1 05 00 00 -R 00 00 01 00 -T D1 05 00 00 DD 4E F8 DD 46 F9 1E 0B CD -R 00 00 01 00 -T DA 05 00 00 78 0A 00 00 C3 74 06 00 00 -R 00 00 01 00 00 04 01 00 00 09 01 00 -T DF 05 00 00 -R 00 00 01 00 -T DF 05 00 00 DD 7E FA FE 2B 20 47 -R 00 00 01 00 -T E6 05 00 00 -R 00 00 01 00 -T E6 05 00 00 1E 06 CD D3 09 00 00 DD 75 FB DD -R 00 00 01 00 00 07 01 00 -T EF 05 00 00 74 FC 4D 44 DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T FA 05 00 00 1C 0B 00 00 DD 4E F8 DD 46 F9 1E -R 00 00 01 00 00 04 01 00 -T 03 06 00 00 07 CD D3 09 00 00 EB CD -R 00 00 01 00 00 06 01 00 -T 09 06 00 00 1C 0B 00 00 1E 06 CD D3 09 00 00 -R 00 00 01 00 00 04 01 00 00 0B 01 00 -T 10 06 00 00 4D 44 DD 5E FB DD 56 FC CD -R 00 00 01 00 -T 19 06 00 00 1C 0B 00 00 1E 09 CD D3 09 00 00 -R 00 00 01 00 00 04 01 00 00 0B 01 00 -T 20 06 00 00 4D 44 DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T 29 06 00 00 1C 0B 00 00 18 47 -R 00 00 01 00 00 04 01 00 -T 2D 06 00 00 -R 00 00 01 00 -T 2D 06 00 00 DD 7E FA FE 3F 20 40 -R 00 00 01 00 -T 34 06 00 00 -R 00 00 01 00 -T 34 06 00 00 DD 4E F8 DD 46 F9 1E 06 CD -R 00 00 01 00 -T 3D 06 00 00 78 0A 00 00 1E 06 CD D3 09 00 00 -R 00 00 01 00 00 04 01 00 00 0B 01 00 -T 44 06 00 00 4D 44 DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T 4D 06 00 00 1C 0B 00 00 1E 09 CD D3 09 00 00 -R 00 00 01 00 00 04 01 00 00 0B 01 00 -T 54 06 00 00 DD 75 FB DD 74 FC 4D 44 DD 5E F8 -R 00 00 01 00 -T 5F 06 00 00 DD 56 F9 CD 1C 0B 00 00 DD 4E FB -R 00 00 01 00 00 08 01 00 -T 68 06 00 00 DD 46 FC DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T 72 06 00 00 BF 0B 00 00 -R 00 00 01 00 00 04 01 00 -T 74 06 00 00 -R 00 00 01 00 -T 74 06 00 00 -R 00 00 01 00 -T 74 06 00 00 -R 00 00 01 00 -T 74 06 00 00 -R 00 00 01 00 -T 74 06 00 00 -R 00 00 01 00 -T 74 06 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 7B 06 00 00 2A 00 00 00 00 7E FE 2A 28 10 2A -R 00 00 01 00 00 05 03 00 -T 84 06 00 00 00 00 00 00 7E FE 2B 28 08 2A -R 00 00 01 00 00 04 03 00 -T 8C 06 00 00 00 00 00 00 7E FE 3F 20 10 -R 00 00 01 00 00 04 03 00 -T 93 06 00 00 -R 00 00 01 00 -T 93 06 00 00 -R 00 00 01 00 -T 93 06 00 00 -R 00 00 01 00 -T 93 06 00 00 11 69 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T 99 06 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T 9F 06 00 00 00 00 18 06 -R 00 00 01 00 -T A3 06 00 00 -R 00 00 01 00 -T A3 06 00 00 DD 6E F8 DD 66 F9 -R 00 00 01 00 -T A9 06 00 00 -R 00 00 01 00 -T A9 06 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T AC 06 00 00 -R 00 00 01 00 -T AC 06 00 00 CD 00 00 00 00 F8 FF DD 6E 02 DD -R 00 00 01 00 02 05 0C 00 -T B5 06 00 00 66 03 AF 77 23 77 2A 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T BE 06 00 00 23 22 00 00 00 00 2B 5E CD -R 00 00 01 00 00 06 03 00 -T C5 06 00 00 00 00 00 00 0C 00 00 24 28 29 2A -R 00 00 01 00 02 04 05 00 -T CE 06 00 00 2B 2E 3F 5B 5C 5E 7C F0 08 00 00 -R 00 00 01 00 00 0B 01 00 -T D7 06 00 00 85 08 00 00 EF 06 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T DB 06 00 00 A7 08 00 00 28 07 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T DF 06 00 00 96 08 00 00 0B 07 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T E3 06 00 00 96 08 00 00 96 08 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T E7 06 00 00 85 08 00 00 4D 08 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T EB 06 00 00 FD 06 00 00 85 08 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T EF 06 00 00 -R 00 00 01 00 -T EF 06 00 00 1E 01 CD D3 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T F8 06 00 00 74 F9 C3 CA 09 00 00 -R 00 00 01 00 00 07 01 00 -T FD 06 00 00 -R 00 00 01 00 -T FD 06 00 00 1E 02 CD D3 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T 06 07 00 00 74 F9 C3 CA 09 00 00 -R 00 00 01 00 00 07 01 00 -T 0B 07 00 00 -R 00 00 01 00 -T 0B 07 00 00 1E 03 CD D3 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T 14 07 00 00 74 F9 DD 6E 02 DD 66 03 7E F6 03 -R 00 00 01 00 -T 1F 07 00 00 77 23 7E F6 00 77 C3 CA 09 00 00 -R 00 00 01 00 00 0B 01 00 -T 28 07 00 00 -R 00 00 01 00 -T 28 07 00 00 2A 00 00 00 00 7E FE 5E 20 14 -R 00 00 01 00 00 05 03 00 -T 30 07 00 00 -R 00 00 01 00 -T 30 07 00 00 1E 05 CD D3 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T 39 07 00 00 74 F9 2A 00 00 00 00 23 22 -R 00 00 01 00 00 07 03 00 -T 40 07 00 00 00 00 00 00 18 0B -R 00 00 01 00 00 04 03 00 -T 44 07 00 00 -R 00 00 01 00 -T 44 07 00 00 1E 04 CD D3 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T 4D 07 00 00 74 F9 -R 00 00 01 00 -T 4F 07 00 00 -R 00 00 01 00 -T 4F 07 00 00 2A 00 00 00 00 7E FE 5D 28 08 2A -R 00 00 01 00 00 05 03 00 -T 58 07 00 00 00 00 00 00 7E FE 2D 20 0E -R 00 00 01 00 00 04 03 00 -T 5F 07 00 00 -R 00 00 01 00 -T 5F 07 00 00 -R 00 00 01 00 -T 5F 07 00 00 -R 00 00 01 00 -T 5F 07 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 66 07 00 00 2B 5E 16 00 CD 47 0A 00 00 -R 00 00 01 00 00 09 01 00 -T 6D 07 00 00 -R 00 00 01 00 -T 6D 07 00 00 -R 00 00 01 00 -T 6D 07 00 00 2A 00 00 00 00 AF B6 CA -R 00 00 01 00 00 05 03 00 -T 73 07 00 00 15 08 00 00 2A 00 00 00 00 7E FE -R 00 00 01 00 00 04 01 00 00 09 03 00 -T 7A 07 00 00 5D CA 15 08 00 00 -R 00 00 01 00 00 06 01 00 -T 7E 07 00 00 -R 00 00 01 00 -T 7E 07 00 00 -R 00 00 01 00 -T 7E 07 00 00 -R 00 00 01 00 -T 7E 07 00 00 2A 00 00 00 00 7E FE 2D 20 7E -R 00 00 01 00 00 05 03 00 -T 86 07 00 00 -R 00 00 01 00 -T 86 07 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 8D 07 00 00 2A 00 00 00 00 7E FE 5D 28 07 2A -R 00 00 01 00 00 05 03 00 -T 96 07 00 00 00 00 00 00 AF B6 20 08 -R 00 00 01 00 00 04 03 00 -T 9C 07 00 00 -R 00 00 01 00 -T 9C 07 00 00 -R 00 00 01 00 -T 9C 07 00 00 -R 00 00 01 00 -T 9C 07 00 00 11 2D 00 CD 47 0A 00 00 18 5E -R 00 00 01 00 00 08 01 00 -T A4 07 00 00 -R 00 00 01 00 -T A4 07 00 00 2A 00 00 00 00 2B 2B 4E 06 00 03 -R 00 00 01 00 00 05 03 00 -T AD 07 00 00 DD 71 FC DD 70 FD 2A 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T B6 07 00 00 5E 16 00 DD 73 FE DD 72 FF EB 23 -R 00 00 01 00 -T C1 07 00 00 CD 00 00 00 00 30 11 -R 00 00 01 00 02 05 0D 00 -T C6 07 00 00 -R 00 00 01 00 -T C6 07 00 00 11 74 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T CC 07 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T D2 07 00 00 00 00 C3 D0 09 00 00 -R 00 00 01 00 00 07 01 00 -T D7 07 00 00 -R 00 00 01 00 -T D7 07 00 00 -R 00 00 01 00 -T D7 07 00 00 DD 4E FC DD 46 FD DD 6E FE DD 66 -R 00 00 01 00 -T E2 07 00 00 FF CD 00 00 00 00 38 13 -R 00 00 01 00 02 06 0D 00 -T E8 07 00 00 -R 00 00 01 00 -T E8 07 00 00 DD 5E FC DD 56 FD 13 DD 73 FC DD -R 00 00 01 00 -T F3 07 00 00 72 FD 1B CD 47 0A 00 00 18 DC -R 00 00 01 00 00 08 01 00 -T FB 07 00 00 -R 00 00 01 00 -T FB 07 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 02 08 00 00 -R 00 00 01 00 -T 02 08 00 00 18 0E -R 00 00 01 00 -T 04 08 00 00 -R 00 00 01 00 -T 04 08 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 0B 08 00 00 2B 5E 16 00 CD 47 0A 00 00 -R 00 00 01 00 00 09 01 00 -T 12 08 00 00 -R 00 00 01 00 -T 12 08 00 00 C3 6D 07 00 00 -R 00 00 01 00 00 05 01 00 -T 15 08 00 00 -R 00 00 01 00 -T 15 08 00 00 11 00 00 CD 47 0A 00 00 2A -R 00 00 01 00 00 08 01 00 -T 1C 08 00 00 00 00 00 00 7E FE 5D 28 11 -R 00 00 01 00 00 04 03 00 -T 23 08 00 00 -R 00 00 01 00 -T 23 08 00 00 11 85 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T 29 08 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T 2F 08 00 00 00 00 C3 D0 09 00 00 -R 00 00 01 00 00 07 01 00 -T 34 08 00 00 -R 00 00 01 00 -T 34 08 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 3B 08 00 00 DD 6E 02 DD 66 03 7E F6 03 77 23 -R 00 00 01 00 -T 46 08 00 00 7E F6 00 77 C3 CA 09 00 00 -R 00 00 01 00 00 09 01 00 -T 4D 08 00 00 -R 00 00 01 00 -T 4D 08 00 00 21 02 00 39 4D 44 11 01 00 CD -R 00 00 01 00 -T 57 08 00 00 FF 01 00 00 DD 75 F8 DD 74 F9 7D -R 00 00 01 00 00 04 01 00 -T 60 08 00 00 B4 20 06 -R 00 00 01 00 -T 63 08 00 00 -R 00 00 01 00 -T 63 08 00 00 21 00 00 C3 D0 09 00 00 -R 00 00 01 00 00 08 01 00 -T 69 08 00 00 -R 00 00 01 00 -T 69 08 00 00 DD 7E FA E6 05 4F DD 7E FB E6 00 -R 00 00 01 00 -T 74 08 00 00 47 DD 6E 02 DD 66 03 7E B1 77 23 -R 00 00 01 00 -T 7F 08 00 00 7E B0 77 C3 CA 09 00 00 -R 00 00 01 00 00 08 01 00 -T 85 08 00 00 -R 00 00 01 00 -T 85 08 00 00 11 92 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T 8B 08 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T 91 08 00 00 00 00 C3 D0 09 00 00 -R 00 00 01 00 00 07 01 00 -T 96 08 00 00 -R 00 00 01 00 -T 96 08 00 00 11 9F 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T 9C 08 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T A2 08 00 00 00 00 C3 D0 09 00 00 -R 00 00 01 00 00 07 01 00 -T A7 08 00 00 -R 00 00 01 00 -T A7 08 00 00 2A 00 00 00 00 AF B6 20 11 -R 00 00 01 00 00 05 03 00 -T AE 08 00 00 -R 00 00 01 00 -T AE 08 00 00 11 B3 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T B4 08 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T BA 08 00 00 00 00 C3 D0 09 00 00 -R 00 00 01 00 00 07 01 00 -T BF 08 00 00 -R 00 00 01 00 -T BF 08 00 00 1E 08 CD D3 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T C8 08 00 00 74 F9 2A 00 00 00 00 23 22 -R 00 00 01 00 00 07 03 00 -T CF 08 00 00 00 00 00 00 2B 5E 16 00 CD -R 00 00 01 00 00 04 03 00 -T D6 08 00 00 47 0A 00 00 11 00 00 CD -R 00 00 01 00 00 04 01 00 -T DC 08 00 00 47 0A 00 00 DD 6E 02 DD 66 03 7E -R 00 00 01 00 00 04 01 00 -T E5 08 00 00 F6 03 77 23 7E F6 00 77 C3 -R 00 00 01 00 -T EE 08 00 00 CA 09 00 00 -R 00 00 01 00 00 04 01 00 -T F0 08 00 00 -R 00 00 01 00 -T F0 08 00 00 01 BE 00 00 00 ED 5B 00 00 00 00 -R 00 00 01 00 00 05 02 00 00 0B 03 00 -T F7 08 00 00 1B ED 53 00 00 00 00 3E -R 00 00 01 00 00 07 03 00 -T FD 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 02 09 00 00 00 00 00 00 DD 75 FC DD 74 FD 4D -R 00 00 01 00 02 04 09 00 -T 0B 09 00 00 44 21 00 00 CD 00 00 00 00 38 11 -R 00 00 01 00 02 09 0D 00 -T 14 09 00 00 -R 00 00 01 00 -T 14 09 00 00 11 CA 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T 1A 09 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T 20 09 00 00 00 00 C3 D0 09 00 00 -R 00 00 01 00 00 07 01 00 -T 25 09 00 00 -R 00 00 01 00 -T 25 09 00 00 DD 6E FC DD 66 FD ED 4B -R 00 00 01 00 -T 2D 09 00 00 00 00 00 00 09 46 DD 70 FE DD 4E -R 00 00 01 00 00 04 03 00 -T 36 09 00 00 FC DD 46 FD 21 01 00 CD -R 00 00 01 00 -T 3E 09 00 00 00 00 00 00 30 22 DD 7E FE FE 2A -R 00 00 01 00 02 04 0D 00 -T 47 09 00 00 28 0E DD 7E FE FE 2B 28 07 DD 7E -R 00 00 01 00 -T 52 09 00 00 FE FE 3F 20 0D -R 00 00 01 00 -T 57 09 00 00 -R 00 00 01 00 -T 57 09 00 00 -R 00 00 01 00 -T 57 09 00 00 -R 00 00 01 00 -T 57 09 00 00 -R 00 00 01 00 -T 57 09 00 00 -R 00 00 01 00 -T 57 09 00 00 DD 6E FC DD 66 FD 2B DD 75 FC DD -R 00 00 01 00 -T 62 09 00 00 74 FD -R 00 00 01 00 -T 64 09 00 00 -R 00 00 01 00 -T 64 09 00 00 DD 6E 02 DD 66 03 7E F6 01 77 23 -R 00 00 01 00 -T 6F 09 00 00 7E F6 00 77 3E 01 DD AE FC DD B6 -R 00 00 01 00 -T 7A 09 00 00 FD 20 0F -R 00 00 01 00 -T 7D 09 00 00 -R 00 00 01 00 -T 7D 09 00 00 DD 6E 02 DD 66 03 7E F6 02 77 23 -R 00 00 01 00 -T 88 09 00 00 7E F6 00 77 -R 00 00 01 00 -T 8C 09 00 00 -R 00 00 01 00 -T 8C 09 00 00 1E 08 CD D3 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T 95 09 00 00 74 F9 -R 00 00 01 00 -T 97 09 00 00 -R 00 00 01 00 -T 97 09 00 00 DD 4E FC DD 46 FD 21 00 00 CD -R 00 00 01 00 -T A1 09 00 00 00 00 00 00 30 1D -R 00 00 01 00 02 04 0D 00 -T A5 09 00 00 -R 00 00 01 00 -T A5 09 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T AC 09 00 00 2B 5E 16 00 CD 47 0A 00 00 DD 6E -R 00 00 01 00 00 09 01 00 -T B5 09 00 00 FC DD 66 FD 2B DD 75 FC DD 74 FD -R 00 00 01 00 -T C0 09 00 00 18 D5 -R 00 00 01 00 -T C2 09 00 00 -R 00 00 01 00 -T C2 09 00 00 11 00 00 CD 47 0A 00 00 18 00 -R 00 00 01 00 00 08 01 00 -T CA 09 00 00 -R 00 00 01 00 -T CA 09 00 00 DD 6E F8 DD 66 F9 -R 00 00 01 00 -T D0 09 00 00 -R 00 00 01 00 -T D0 09 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T D3 09 00 00 -R 00 00 01 00 -T D3 09 00 00 CD 00 00 00 00 FC FF 2A -R 00 00 01 00 02 05 0C 00 -T D9 09 00 00 05 00 00 00 DD 75 FC DD 74 FD 01 -R 00 00 01 00 00 04 03 00 -T E2 09 00 00 04 00 00 00 A7 ED 42 20 14 -R 00 00 01 00 00 04 03 00 -T E9 09 00 00 -R 00 00 01 00 -T E9 09 00 00 21 07 00 00 00 01 00 00 11 03 00 -R 00 00 01 00 00 05 03 00 -T F2 09 00 00 CD 00 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 02 05 07 00 -T FB 09 00 00 18 47 -R 00 00 01 00 -T FD 09 00 00 -R 00 00 01 00 -T FD 09 00 00 DD 6E FC DD 66 FD DD 75 FE DD 74 -R 00 00 01 00 -T 08 0A 00 00 FF 23 DD 75 FE DD 74 FF 2B DD 46 -R 00 00 01 00 -T 13 0A 00 00 02 70 DD 6E FE DD 66 FF 23 DD 75 -R 00 00 01 00 -T 1E 0A 00 00 FE DD 74 FF 2B 36 00 DD 6E FE DD -R 00 00 01 00 -T 29 0A 00 00 66 FF 23 DD 75 FE DD 74 FF 2B 36 -R 00 00 01 00 -T 34 0A 00 00 00 DD 6E FE DD 66 FF 22 -R 00 00 01 00 -T 3C 0A 00 00 05 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 00 04 03 00 -T 44 0A 00 00 -R 00 00 01 00 -T 44 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 47 0A 00 00 -R 00 00 01 00 -T 47 0A 00 00 CD 00 00 00 00 21 04 00 00 00 ED -R 00 00 01 00 02 05 08 00 00 0A 03 00 -T 4E 0A 00 00 4B 05 00 00 00 A7 ED 42 28 0E -R 00 00 01 00 00 05 03 00 -T 56 0A 00 00 -R 00 00 01 00 -T 56 0A 00 00 DD 46 02 2A 05 00 00 00 23 22 -R 00 00 01 00 00 08 03 00 -T 5E 0A 00 00 05 00 00 00 2B 70 18 11 -R 00 00 01 00 00 04 03 00 -T 64 0A 00 00 -R 00 00 01 00 -T 64 0A 00 00 2A 07 00 00 00 ED 4B 09 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 6B 0A 00 00 CD 00 00 00 00 22 07 00 00 00 ED -R 00 00 01 00 02 05 0E 00 00 0A 03 00 -T 72 0A 00 00 43 09 00 00 00 -R 00 00 01 00 00 05 03 00 -T 75 0A 00 00 -R 00 00 01 00 -T 75 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 78 0A 00 00 -R 00 00 01 00 -T 78 0A 00 00 CD 00 00 00 00 FA FF 21 -R 00 00 01 00 02 05 0C 00 -T 7E 0A 00 00 04 00 00 00 ED 5B 05 00 00 00 A7 -R 00 00 01 00 00 04 03 00 00 0A 03 00 -T 85 0A 00 00 ED 52 20 0F -R 00 00 01 00 -T 89 0A 00 00 -R 00 00 01 00 -T 89 0A 00 00 21 07 00 00 00 01 00 00 11 03 00 -R 00 00 01 00 00 05 03 00 -T 92 0A 00 00 CD 00 00 00 00 C3 19 0B 00 00 -R 00 00 01 00 02 05 07 00 00 0A 01 00 -T 98 0A 00 00 -R 00 00 01 00 -T 98 0A 00 00 2A 05 00 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 00 05 03 00 -T A1 0A 00 00 21 03 00 ED 4B 05 00 00 00 09 22 -R 00 00 01 00 00 09 03 00 -T AA 0A 00 00 05 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 00 04 03 00 -T B2 0A 00 00 -R 00 00 01 00 -T B2 0A 00 00 DD 4E FA DD 46 FB DD 6E 04 DD 66 -R 00 00 01 00 -T BD 0A 00 00 05 A7 ED 42 30 1E -R 00 00 01 00 -T C3 0A 00 00 -R 00 00 01 00 -T C3 0A 00 00 DD 6E FA DD 66 FB 2B DD 75 FA DD -R 00 00 01 00 -T CE 0A 00 00 74 FB 46 DD 6E FC DD 66 FD 2B DD -R 00 00 01 00 -T D9 0A 00 00 75 FC DD 74 FD 70 18 D1 -R 00 00 01 00 -T E1 0A 00 00 -R 00 00 01 00 -T E1 0A 00 00 DD 6E 04 DD 66 05 DD 75 FE DD 74 -R 00 00 01 00 -T EC 0A 00 00 FF 23 DD 75 FE DD 74 FF 2B DD 46 -R 00 00 01 00 -T F7 0A 00 00 02 70 DD 6E FE DD 66 FF 23 DD 75 -R 00 00 01 00 -T 02 0B 00 00 FE DD 74 FF 2B 36 00 DD 6E FE DD -R 00 00 01 00 -T 0D 0B 00 00 66 FF 23 DD 75 FE DD 74 FF 2B 36 -R 00 00 01 00 -T 18 0B 00 00 00 -R 00 00 01 00 -T 19 0B 00 00 -R 00 00 01 00 -T 19 0B 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 1C 0B 00 00 -R 00 00 01 00 -T 1C 0B 00 00 CD 00 00 00 00 FA FF 21 -R 00 00 01 00 02 05 0C 00 -T 22 0B 00 00 04 00 00 00 DD 5E 02 DD 56 03 A7 -R 00 00 01 00 00 04 03 00 -T 2B 0B 00 00 ED 52 20 03 -R 00 00 01 00 -T 2F 0B 00 00 -R 00 00 01 00 -T 2F 0B 00 00 C3 BC 0B 00 00 -R 00 00 01 00 00 05 01 00 -T 32 0B 00 00 -R 00 00 01 00 -T 32 0B 00 00 DD 6E 02 DD 66 03 DD 75 FA DD 74 -R 00 00 01 00 -T 3D 0B 00 00 FB -R 00 00 01 00 -T 3E 0B 00 00 -R 00 00 01 00 -T 3E 0B 00 00 DD 5E FA DD 56 FB CD E9 12 00 00 -R 00 00 01 00 00 0B 01 00 -T 47 0B 00 00 DD 75 FC DD 74 FD 7D B4 20 02 -R 00 00 01 00 -T 51 0B 00 00 -R 00 00 01 00 -T 51 0B 00 00 18 0E -R 00 00 01 00 -T 53 0B 00 00 -R 00 00 01 00 -T 53 0B 00 00 DD 6E FC DD 66 FD DD 75 FA DD 74 -R 00 00 01 00 -T 5E 0B 00 00 FB 18 DD -R 00 00 01 00 -T 61 0B 00 00 -R 00 00 01 00 -T 61 0B 00 00 DD 6E FA DD 66 FB 7E FE 07 20 17 -R 00 00 01 00 -T 6C 0B 00 00 -R 00 00 01 00 -T 6C 0B 00 00 DD 4E 04 DD 46 05 DD 6E FA DD 66 -R 00 00 01 00 -T 77 0B 00 00 FB A7 ED 42 DD 75 FE DD 74 FF 18 -R 00 00 01 00 -T 82 0B 00 00 15 -R 00 00 01 00 -T 83 0B 00 00 -R 00 00 01 00 -T 83 0B 00 00 DD 4E FA DD 46 FB DD 6E 04 DD 66 -R 00 00 01 00 -T 8E 0B 00 00 05 A7 ED 42 DD 75 FE DD 74 FF -R 00 00 01 00 -T 98 0B 00 00 -R 00 00 01 00 -T 98 0B 00 00 06 08 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T A1 0B 00 00 00 00 00 00 7B E6 FF DD 6E FA DD -R 00 00 01 00 02 04 11 00 -T AA 0B 00 00 66 FB 23 77 DD 7E FE E6 FF DD 6E -R 00 00 01 00 -T B5 0B 00 00 FA DD 66 FB 23 23 77 -R 00 00 01 00 -T BC 0B 00 00 -R 00 00 01 00 -T BC 0B 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T BF 0B 00 00 -R 00 00 01 00 -T BF 0B 00 00 CD 00 00 00 00 7B B2 28 19 21 -R 00 00 01 00 02 05 08 00 -T C7 0B 00 00 04 00 00 00 DD 4E 02 DD 46 03 A7 -R 00 00 01 00 00 04 03 00 -T D0 0B 00 00 ED 42 28 0B DD 6E 02 DD 66 03 7E -R 00 00 01 00 -T DB 0B 00 00 FE 06 28 02 -R 00 00 01 00 -T DF 0B 00 00 -R 00 00 01 00 -T DF 0B 00 00 -R 00 00 01 00 -T DF 0B 00 00 -R 00 00 01 00 -T DF 0B 00 00 18 12 -R 00 00 01 00 -T E1 0B 00 00 -R 00 00 01 00 -T E1 0B 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 -R 00 00 01 00 -T EC 0B 00 00 03 13 13 13 CD 1C 0B 00 00 -R 00 00 01 00 00 09 01 00 -T F3 0B 00 00 -R 00 00 01 00 -T F3 0B 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T F6 0B 00 00 -R 00 00 01 00 -T F6 0B 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD -R 00 00 01 00 02 05 0C 00 -T FF 0B 00 00 B6 03 28 08 DD 7E 04 DD B6 05 20 -R 00 00 01 00 -T 0A 0C 00 00 11 -R 00 00 01 00 -T 0B 0C 00 00 -R 00 00 01 00 -T 0B 0C 00 00 -R 00 00 01 00 -T 0B 0C 00 00 -R 00 00 01 00 -T 0B 0C 00 00 11 DC 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T 11 0C 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T 17 0C 00 00 00 00 C3 7F 0D 00 00 -R 00 00 01 00 00 07 01 00 -T 1C 0C 00 00 -R 00 00 01 00 -T 1C 0C 00 00 21 2E 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 27 0C 00 00 06 00 3E 9C A9 B0 28 11 -R 00 00 01 00 -T 2F 0C 00 00 -R 00 00 01 00 -T 2F 0C 00 00 11 EB 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T 35 0C 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T 3B 0C 00 00 00 00 C3 7F 0D 00 00 -R 00 00 01 00 00 07 01 00 -T 40 0C 00 00 -R 00 00 01 00 -T 40 0C 00 00 21 2A 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 4B 0C 00 00 23 B6 28 77 -R 00 00 01 00 -T 4F 0C 00 00 -R 00 00 01 00 -T 4F 0C 00 00 DD 6E 04 DD 66 05 DD 75 FE DD 74 -R 00 00 01 00 -T 5A 0C 00 00 FF -R 00 00 01 00 -T 5B 0C 00 00 -R 00 00 01 00 -T 5B 0C 00 00 21 2A 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 66 0C 00 00 23 66 6F 4E 06 00 DD 5E FE DD 56 -R 00 00 01 00 -T 71 0C 00 00 FF 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 03 00 02 0B 03 00 -T 77 0C 00 00 CD 00 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 02 05 09 00 -T 80 0C 00 00 7D B4 28 34 -R 00 00 01 00 -T 84 0C 00 00 -R 00 00 01 00 -T 84 0C 00 00 21 2C 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 8F 0C 00 00 23 56 D5 21 2A 00 09 4E 23 46 DD -R 00 00 01 00 -T 9A 0C 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 00 00 -T A2 0C 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 00 00 02 09 09 00 -T A9 0C 00 00 B4 20 02 -R 00 00 01 00 -T AC 0C 00 00 -R 00 00 01 00 -T AC 0C 00 00 18 0A -R 00 00 01 00 -T AE 0C 00 00 -R 00 00 01 00 -T AE 0C 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T B6 0C 00 00 -R 00 00 01 00 -T B6 0C 00 00 18 A3 -R 00 00 01 00 -T B8 0C 00 00 -R 00 00 01 00 -T B8 0C 00 00 DD 7E FE DD B6 FF 20 06 -R 00 00 01 00 -T C0 0C 00 00 -R 00 00 01 00 -T C0 0C 00 00 21 00 00 C3 7F 0D 00 00 -R 00 00 01 00 00 08 01 00 -T C6 0C 00 00 -R 00 00 01 00 -T C6 0C 00 00 -R 00 00 01 00 -T C6 0C 00 00 DD 6E 04 DD 66 05 22 0D 00 00 00 -R 00 00 01 00 00 0B 03 00 -T CF 0C 00 00 21 29 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T DA 0C 00 00 B7 28 12 -R 00 00 01 00 -T DD 0C 00 00 -R 00 00 01 00 -T DD 0C 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 -R 00 00 01 00 -T E8 0C 00 00 03 CD 82 0D 00 00 C3 7F 0D 00 00 -R 00 00 01 00 00 06 01 00 00 0B 01 00 -T EF 0C 00 00 -R 00 00 01 00 -T EF 0C 00 00 DD 6E 04 DD 66 05 DD 75 FE DD 74 -R 00 00 01 00 -T FA 0C 00 00 FF 21 28 00 DD 4E 02 DD 46 03 09 -R 00 00 01 00 -T 05 0D 00 00 7E B7 28 49 -R 00 00 01 00 -T 09 0D 00 00 -R 00 00 01 00 -T 09 0D 00 00 -R 00 00 01 00 -T 09 0D 00 00 21 28 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 14 0D 00 00 06 00 DD 5E FE DD 56 FF 3E -R 00 00 01 00 -T 1D 0D 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 22 0D 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 09 00 -T 2B 0D 00 00 B4 28 22 -R 00 00 01 00 -T 2E 0D 00 00 -R 00 00 01 00 -T 2E 0D 00 00 DD 4E FE DD 46 FF DD 5E 02 DD 56 -R 00 00 01 00 -T 39 0D 00 00 03 CD 82 0D 00 00 7D B4 28 05 -R 00 00 01 00 00 06 01 00 -T 41 0D 00 00 -R 00 00 01 00 -T 41 0D 00 00 21 01 00 18 39 -R 00 00 01 00 -T 46 0D 00 00 -R 00 00 01 00 -T 46 0D 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 4E 0D 00 00 -R 00 00 01 00 -T 4E 0D 00 00 18 B9 -R 00 00 01 00 -T 50 0D 00 00 -R 00 00 01 00 -T 50 0D 00 00 18 2A -R 00 00 01 00 -T 52 0D 00 00 -R 00 00 01 00 -T 52 0D 00 00 -R 00 00 01 00 -T 52 0D 00 00 DD 4E FE DD 46 FF DD 5E 02 DD 56 -R 00 00 01 00 -T 5D 0D 00 00 03 CD 82 0D 00 00 7D B4 28 05 -R 00 00 01 00 00 06 01 00 -T 65 0D 00 00 -R 00 00 01 00 -T 65 0D 00 00 21 01 00 18 15 -R 00 00 01 00 -T 6A 0D 00 00 -R 00 00 01 00 -T 6A 0D 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 75 0D 00 00 74 FF 2B 7E B7 20 D6 -R 00 00 01 00 -T 7C 0D 00 00 -R 00 00 01 00 -T 7C 0D 00 00 -R 00 00 01 00 -T 7C 0D 00 00 21 00 00 -R 00 00 01 00 -T 7F 0D 00 00 -R 00 00 01 00 -T 7F 0D 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 82 0D 00 00 -R 00 00 01 00 -T 82 0D 00 00 CD 00 00 00 00 FA FF ED 43 -R 00 00 01 00 02 05 0C 00 -T 89 0D 00 00 0B 00 00 00 DD 6E 02 DD 66 03 22 -R 00 00 01 00 00 04 03 00 -T 92 0D 00 00 0F 00 00 00 21 14 00 DD 4E 02 DD -R 00 00 01 00 00 04 03 00 -T 9B 0D 00 00 46 03 09 22 11 00 00 00 DD 71 FC -R 00 00 01 00 00 08 03 00 -T A4 0D 00 00 DD 70 FD 21 14 00 DD 4E 02 DD 46 -R 00 00 01 00 -T AF 0D 00 00 03 09 DD 75 FE DD 74 FF DD 36 FA -R 00 00 01 00 -T BA 0D 00 00 0A DD 36 FB 00 -R 00 00 01 00 -T BF 0D 00 00 -R 00 00 01 00 -T BF 0D 00 00 DD 6E FA DD 66 FB 2B DD 75 FA DD -R 00 00 01 00 -T CA 0D 00 00 74 FB 23 7D B4 28 2A -R 00 00 01 00 -T D1 0D 00 00 -R 00 00 01 00 -T D1 0D 00 00 DD 6E FC DD 66 FD 4D 44 03 03 DD -R 00 00 01 00 -T DC 0D 00 00 71 FC DD 70 FD AF 77 23 77 DD 6E -R 00 00 01 00 -T E7 0D 00 00 FE DD 66 FF 4D 44 03 03 DD 71 FE -R 00 00 01 00 -T F2 0D 00 00 DD 70 FF AF 77 23 77 18 C4 -R 00 00 01 00 -T FB 0D 00 00 -R 00 00 01 00 -T FB 0D 00 00 21 2E 00 DD 4E 02 DD 46 03 09 EB -R 00 00 01 00 -T 06 0E 00 00 13 CD 3B 0E 00 00 7D B4 28 27 -R 00 00 01 00 00 06 01 00 -T 0E 0E 00 00 -R 00 00 01 00 -T 0E 0E 00 00 DD 6E 04 DD 66 05 E5 DD 6E 02 DD -R 00 00 01 00 -T 19 0E 00 00 66 03 C1 71 23 70 21 14 00 DD 4E -R 00 00 01 00 -T 24 0E 00 00 02 DD 46 03 09 ED 4B 0B 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 2D 0E 00 00 71 23 70 21 01 00 18 03 -R 00 00 01 00 -T 35 0E 00 00 -R 00 00 01 00 -T 35 0E 00 00 21 00 00 -R 00 00 01 00 -T 38 0E 00 00 -R 00 00 01 00 -T 38 0E 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 3B 0E 00 00 -R 00 00 01 00 -T 3B 0E 00 00 CD 00 00 00 00 F4 FF DD 6E 02 DD -R 00 00 01 00 02 05 0C 00 -T 44 0E 00 00 66 03 DD 75 F4 DD 74 F5 -R 00 00 01 00 -T 4C 0E 00 00 -R 00 00 01 00 -T 4C 0E 00 00 DD 7E F4 DD B6 F5 CA B5 11 00 00 -R 00 00 01 00 00 0B 01 00 -T 55 0E 00 00 -R 00 00 01 00 -T 55 0E 00 00 DD 5E F4 DD 56 F5 CD E9 12 00 00 -R 00 00 01 00 00 0B 01 00 -T 5E 0E 00 00 DD 75 F6 DD 74 F7 DD 6E F4 DD 66 -R 00 00 01 00 -T 69 0E 00 00 F5 7E FE 01 20 15 -R 00 00 01 00 -T 6F 0E 00 00 -R 00 00 01 00 -T 6F 0E 00 00 2A 0D 00 00 00 ED 4B 0B 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 76 0E 00 00 A7 ED 42 28 06 -R 00 00 01 00 -T 7B 0E 00 00 -R 00 00 01 00 -T 7B 0E 00 00 21 00 00 C3 C3 11 00 00 -R 00 00 01 00 00 08 01 00 -T 81 0E 00 00 -R 00 00 01 00 -T 81 0E 00 00 C3 A6 11 00 00 -R 00 00 01 00 00 05 01 00 -T 84 0E 00 00 -R 00 00 01 00 -T 84 0E 00 00 FE 02 20 10 2A 0B 00 00 00 AF B6 -R 00 00 01 00 00 09 03 00 -T 8D 0E 00 00 28 06 -R 00 00 01 00 -T 8F 0E 00 00 -R 00 00 01 00 -T 8F 0E 00 00 21 00 00 C3 C3 11 00 00 -R 00 00 01 00 00 08 01 00 -T 95 0E 00 00 -R 00 00 01 00 -T 95 0E 00 00 C3 A6 11 00 00 -R 00 00 01 00 00 05 01 00 -T 98 0E 00 00 -R 00 00 01 00 -T 98 0E 00 00 FE 03 20 17 2A 0B 00 00 00 AF B6 -R 00 00 01 00 00 09 03 00 -T A1 0E 00 00 20 06 -R 00 00 01 00 -T A3 0E 00 00 -R 00 00 01 00 -T A3 0E 00 00 21 00 00 C3 C3 11 00 00 -R 00 00 01 00 00 08 01 00 -T A9 0E 00 00 -R 00 00 01 00 -T A9 0E 00 00 2A 0B 00 00 00 23 22 0B 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T B0 0E 00 00 C3 A6 11 00 00 -R 00 00 01 00 00 05 01 00 -T B3 0E 00 00 -R 00 00 01 00 -T B3 0E 00 00 FE 08 20 77 DD 6E F4 DD 66 F5 23 -R 00 00 01 00 -T BE 0E 00 00 23 23 DD 75 FA DD 74 FB 2A -R 00 00 01 00 -T C7 0E 00 00 0B 00 00 00 E5 DD 6E FA DD 66 FB -R 00 00 01 00 00 04 03 00 -T D0 0E 00 00 7E E1 BE 28 06 -R 00 00 01 00 -T D5 0E 00 00 -R 00 00 01 00 -T D5 0E 00 00 21 00 00 C3 C3 11 00 00 -R 00 00 01 00 00 08 01 00 -T DB 0E 00 00 -R 00 00 01 00 -T DB 0E 00 00 DD 5E FA DD 56 FB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 -T E3 0E 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 04 00 02 0A 09 00 -T EA 0E 00 00 75 F8 DD 74 F9 4D 44 21 01 00 CD -R 00 00 01 00 -T F5 0E 00 00 00 00 00 00 30 24 DD 6E F8 DD 66 -R 00 00 01 00 02 04 0D 00 -T FE 0E 00 00 F9 E5 ED 4B 0B 00 00 00 DD 5E FA -R 00 00 01 00 00 08 03 00 -T 07 0F 00 00 DD 56 FB 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 00 00 -T 0D 0F 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 00 00 02 09 09 00 -T 14 0F 00 00 B4 28 06 -R 00 00 01 00 -T 17 0F 00 00 -R 00 00 01 00 -T 17 0F 00 00 -R 00 00 01 00 -T 17 0F 00 00 -R 00 00 01 00 -T 17 0F 00 00 21 00 00 C3 C3 11 00 00 -R 00 00 01 00 00 08 01 00 -T 1D 0F 00 00 -R 00 00 01 00 -T 1D 0F 00 00 DD 6E F8 DD 66 F9 ED 4B -R 00 00 01 00 -T 25 0F 00 00 0B 00 00 00 09 22 0B 00 00 00 C3 -R 00 00 01 00 00 04 03 00 00 0A 03 00 -T 2C 0F 00 00 A6 11 00 00 -R 00 00 01 00 00 04 01 00 -T 2E 0F 00 00 -R 00 00 01 00 -T 2E 0F 00 00 FE 04 20 32 2A 0B 00 00 00 AF B6 -R 00 00 01 00 00 09 03 00 -T 37 0F 00 00 28 1B 2A 0B 00 00 00 4E 06 00 DD -R 00 00 01 00 00 07 03 00 -T 40 0F 00 00 5E F4 DD 56 F5 13 13 13 3E -R 00 00 01 00 -T 49 0F 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 4E 0F 00 00 00 00 00 00 7D B4 20 06 -R 00 00 01 00 02 04 09 00 -T 54 0F 00 00 -R 00 00 01 00 -T 54 0F 00 00 -R 00 00 01 00 -T 54 0F 00 00 -R 00 00 01 00 -T 54 0F 00 00 21 00 00 C3 C3 11 00 00 -R 00 00 01 00 00 08 01 00 -T 5A 0F 00 00 -R 00 00 01 00 -T 5A 0F 00 00 2A 0B 00 00 00 23 22 0B 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 61 0F 00 00 C3 A6 11 00 00 -R 00 00 01 00 00 05 01 00 -T 64 0F 00 00 -R 00 00 01 00 -T 64 0F 00 00 FE 05 20 32 2A 0B 00 00 00 AF B6 -R 00 00 01 00 00 09 03 00 -T 6D 0F 00 00 28 1B 2A 0B 00 00 00 4E 06 00 DD -R 00 00 01 00 00 07 03 00 -T 76 0F 00 00 5E F4 DD 56 F5 13 13 13 3E -R 00 00 01 00 -T 7F 0F 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 84 0F 00 00 00 00 00 00 7D B4 28 06 -R 00 00 01 00 02 04 09 00 -T 8A 0F 00 00 -R 00 00 01 00 -T 8A 0F 00 00 -R 00 00 01 00 -T 8A 0F 00 00 -R 00 00 01 00 -T 8A 0F 00 00 21 00 00 C3 C3 11 00 00 -R 00 00 01 00 00 08 01 00 -T 90 0F 00 00 -R 00 00 01 00 -T 90 0F 00 00 2A 0B 00 00 00 23 22 0B 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 97 0F 00 00 C3 A6 11 00 00 -R 00 00 01 00 00 05 01 00 -T 9A 0F 00 00 -R 00 00 01 00 -T 9A 0F 00 00 FE 09 20 03 C3 A6 11 00 00 -R 00 00 01 00 00 09 01 00 -T A1 0F 00 00 -R 00 00 01 00 -T A1 0F 00 00 FE 07 20 03 C3 A6 11 00 00 -R 00 00 01 00 00 09 01 00 -T A8 0F 00 00 -R 00 00 01 00 -T A8 0F 00 00 FE 15 38 5F FE 1E 30 5B DD 6E F4 -R 00 00 01 00 -T B3 0F 00 00 DD 66 F5 4E 06 00 21 EC FF 09 DD -R 00 00 01 00 -T BE 0F 00 00 75 F8 DD 74 F9 2A 0B 00 00 00 DD -R 00 00 01 00 00 0A 03 00 -T C7 0F 00 00 75 FA DD 74 FB DD 5E F6 DD 56 F7 -R 00 00 01 00 -T D2 0F 00 00 CD 3B 0E 00 00 7D B4 28 2C -R 00 00 01 00 00 05 01 00 -T D9 0F 00 00 -R 00 00 01 00 -T D9 0F 00 00 DD 6E F8 DD 66 F9 29 ED 4B -R 00 00 01 00 -T E2 0F 00 00 0F 00 00 00 09 7E 23 B6 20 15 -R 00 00 01 00 00 04 03 00 -T EA 0F 00 00 -R 00 00 01 00 -T EA 0F 00 00 DD 6E F8 DD 66 F9 29 ED 4B -R 00 00 01 00 -T F3 0F 00 00 0F 00 00 00 09 DD 4E FA DD 46 FB -R 00 00 01 00 00 04 03 00 -T FC 0F 00 00 71 23 70 -R 00 00 01 00 -T FF 0F 00 00 -R 00 00 01 00 -T FF 0F 00 00 21 01 00 C3 C3 11 00 00 -R 00 00 01 00 00 08 01 00 -T 05 10 00 00 -R 00 00 01 00 -T 05 10 00 00 21 00 00 C3 C3 11 00 00 -R 00 00 01 00 00 08 01 00 -T 0B 10 00 00 -R 00 00 01 00 -T 0B 10 00 00 FE 1F 38 5F FE 28 30 5B DD 6E F4 -R 00 00 01 00 -T 16 10 00 00 DD 66 F5 4E 06 00 21 E2 FF 09 DD -R 00 00 01 00 -T 21 10 00 00 75 F8 DD 74 F9 2A 0B 00 00 00 DD -R 00 00 01 00 00 0A 03 00 -T 2A 10 00 00 75 FA DD 74 FB DD 5E F6 DD 56 F7 -R 00 00 01 00 -T 35 10 00 00 CD 3B 0E 00 00 7D B4 28 2C -R 00 00 01 00 00 05 01 00 -T 3C 10 00 00 -R 00 00 01 00 -T 3C 10 00 00 DD 6E F8 DD 66 F9 29 ED 4B -R 00 00 01 00 -T 45 10 00 00 11 00 00 00 09 7E 23 B6 20 15 -R 00 00 01 00 00 04 03 00 -T 4D 10 00 00 -R 00 00 01 00 -T 4D 10 00 00 DD 6E F8 DD 66 F9 29 ED 4B -R 00 00 01 00 -T 56 10 00 00 11 00 00 00 09 DD 4E FA DD 46 FB -R 00 00 01 00 00 04 03 00 -T 5F 10 00 00 71 23 70 -R 00 00 01 00 -T 62 10 00 00 -R 00 00 01 00 -T 62 10 00 00 21 01 00 C3 C3 11 00 00 -R 00 00 01 00 00 08 01 00 -T 68 10 00 00 -R 00 00 01 00 -T 68 10 00 00 21 00 00 C3 C3 11 00 00 -R 00 00 01 00 00 08 01 00 -T 6E 10 00 00 -R 00 00 01 00 -T 6E 10 00 00 FE 06 20 6B DD 6E F6 DD 66 F7 7E -R 00 00 01 00 -T 79 10 00 00 FE 06 28 11 -R 00 00 01 00 -T 7D 10 00 00 -R 00 00 01 00 -T 7D 10 00 00 DD 6E F4 DD 66 F5 23 23 23 DD 75 -R 00 00 01 00 -T 88 10 00 00 F6 DD 74 F7 18 4C -R 00 00 01 00 -T 8E 10 00 00 -R 00 00 01 00 -T 8E 10 00 00 -R 00 00 01 00 -T 8E 10 00 00 2A 0B 00 00 00 DD 75 F8 DD 74 F9 -R 00 00 01 00 00 05 03 00 -T 97 10 00 00 DD 5E F4 DD 56 F5 13 13 13 CD -R 00 00 01 00 -T A1 10 00 00 3B 0E 00 00 7D B4 28 06 -R 00 00 01 00 00 04 01 00 -T A7 10 00 00 -R 00 00 01 00 -T A7 10 00 00 21 01 00 C3 C3 11 00 00 -R 00 00 01 00 00 08 01 00 -T AD 10 00 00 -R 00 00 01 00 -T AD 10 00 00 DD 6E F8 DD 66 F9 22 0B 00 00 00 -R 00 00 01 00 00 0B 03 00 -T B6 10 00 00 DD 5E F4 DD 56 F5 CD E9 12 00 00 -R 00 00 01 00 00 0B 01 00 -T BF 10 00 00 DD 75 F4 DD 74 F5 7D B4 28 0B DD -R 00 00 01 00 -T CA 10 00 00 6E F4 DD 66 F5 7E FE 06 28 BA -R 00 00 01 00 -T D4 10 00 00 -R 00 00 01 00 -T D4 10 00 00 21 00 00 C3 C3 11 00 00 -R 00 00 01 00 00 08 01 00 -T DA 10 00 00 -R 00 00 01 00 -T DA 10 00 00 C3 A6 11 00 00 -R 00 00 01 00 00 05 01 00 -T DD 10 00 00 -R 00 00 01 00 -T DD 10 00 00 FE 0A DA 8D 11 00 00 FE 0C D2 -R 00 00 01 00 00 07 01 00 -T E5 10 00 00 8D 11 00 00 DD 36 F8 00 DD 6E F6 -R 00 00 01 00 00 04 01 00 -T EE 10 00 00 DD 66 F7 7E FE 08 20 0D -R 00 00 01 00 -T F6 10 00 00 -R 00 00 01 00 -T F6 10 00 00 DD 6E F6 DD 66 F7 23 23 23 46 DD -R 00 00 01 00 -T 01 11 00 00 70 F8 -R 00 00 01 00 -T 03 11 00 00 -R 00 00 01 00 -T 03 11 00 00 DD 6E F4 DD 66 F5 7E FE 0A 20 05 -R 00 00 01 00 -T 0E 11 00 00 21 00 00 18 03 -R 00 00 01 00 -T 13 11 00 00 -R 00 00 01 00 -T 13 11 00 00 21 01 00 -R 00 00 01 00 -T 16 11 00 00 -R 00 00 01 00 -T 16 11 00 00 DD 75 FD DD 74 FE 2A 0B 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 1F 11 00 00 DD 75 FB DD 74 FC DD 5E F4 DD 56 -R 00 00 01 00 -T 2A 11 00 00 F5 13 13 13 CD C6 11 00 00 DD 75 -R 00 00 01 00 00 09 01 00 -T 33 11 00 00 F9 DD 74 FA -R 00 00 01 00 -T 37 11 00 00 -R 00 00 01 00 -T 37 11 00 00 DD 4E FD DD 46 FE DD 6E F9 DD 66 -R 00 00 01 00 -T 42 11 00 00 FA CD 00 00 00 00 38 40 -R 00 00 01 00 02 06 0D 00 -T 48 11 00 00 -R 00 00 01 00 -T 48 11 00 00 AF DD B6 F8 28 09 2A 0B 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 51 11 00 00 7E DD BE F8 20 12 -R 00 00 01 00 -T 57 11 00 00 -R 00 00 01 00 -T 57 11 00 00 -R 00 00 01 00 -T 57 11 00 00 -R 00 00 01 00 -T 57 11 00 00 DD 5E F6 DD 56 F7 CD 3B 0E 00 00 -R 00 00 01 00 00 0B 01 00 -T 60 11 00 00 7D B4 28 05 -R 00 00 01 00 -T 64 11 00 00 -R 00 00 01 00 -T 64 11 00 00 21 01 00 18 5A -R 00 00 01 00 -T 69 11 00 00 -R 00 00 01 00 -T 69 11 00 00 -R 00 00 01 00 -T 69 11 00 00 DD 6E F9 DD 66 FA 2B DD 75 F9 DD -R 00 00 01 00 -T 74 11 00 00 74 FA DD 6E F9 DD 66 FA DD 4E FB -R 00 00 01 00 -T 7F 11 00 00 DD 46 FC 09 22 0B 00 00 00 18 AF -R 00 00 01 00 00 09 03 00 -T 88 11 00 00 -R 00 00 01 00 -T 88 11 00 00 21 00 00 18 36 -R 00 00 01 00 -T 8D 11 00 00 -R 00 00 01 00 -T 8D 11 00 00 FE 00 20 05 21 01 00 18 2D -R 00 00 01 00 -T 96 11 00 00 -R 00 00 01 00 -T 96 11 00 00 11 FD 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T 9C 11 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T A2 11 00 00 00 00 18 1D -R 00 00 01 00 -T A6 11 00 00 -R 00 00 01 00 -T A6 11 00 00 DD 6E F6 DD 66 F7 DD 75 F4 DD 74 -R 00 00 01 00 -T B1 11 00 00 F5 C3 4C 0E 00 00 -R 00 00 01 00 00 06 01 00 -T B5 11 00 00 -R 00 00 01 00 -T B5 11 00 00 11 0F 01 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T BB 11 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T C1 11 00 00 00 00 -R 00 00 01 00 -T C3 11 00 00 -R 00 00 01 00 -T C3 11 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T C6 11 00 00 -R 00 00 01 00 -T C6 11 00 00 CD 00 00 00 00 FA FF AF DD 77 FA -R 00 00 01 00 02 05 0C 00 -T CF 11 00 00 DD 77 FB 2A 0B 00 00 00 DD 75 FC -R 00 00 01 00 00 08 03 00 -T D8 11 00 00 DD 74 FD DD 6E 02 DD 66 03 23 23 -R 00 00 01 00 -T E3 11 00 00 23 DD 75 FE DD 74 FF DD 6E 02 DD -R 00 00 01 00 -T EE 11 00 00 66 03 5E CD 00 00 00 00 04 00 03 -R 00 00 01 00 02 08 05 00 -T F7 11 00 00 04 05 08 C3 12 00 00 2A 12 00 00 -R 00 00 01 00 00 07 01 00 00 0B 01 00 -T FE 11 00 00 8A 12 00 00 51 12 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 02 12 00 00 04 12 00 00 -R 00 00 01 00 00 04 01 00 -T 04 12 00 00 -R 00 00 01 00 -T 04 12 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 -T 0C 12 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 04 00 02 0A 09 00 -T 13 12 00 00 75 FA DD 74 FB 21 02 00 39 7E DD -R 00 00 01 00 -T 1E 12 00 00 86 FA 77 23 7E DD 8E FB 77 C3 -R 00 00 01 00 -T 28 12 00 00 D7 12 00 00 -R 00 00 01 00 00 04 01 00 -T 2A 12 00 00 -R 00 00 01 00 -T 2A 12 00 00 -R 00 00 01 00 -T 2A 12 00 00 DD 6E FC DD 66 FD E5 DD 6E FE DD -R 00 00 01 00 -T 35 12 00 00 66 FF 7E E1 BE 20 12 -R 00 00 01 00 -T 3C 12 00 00 -R 00 00 01 00 -T 3C 12 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 44 12 00 00 -R 00 00 01 00 -T 44 12 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 4C 12 00 00 -R 00 00 01 00 -T 4C 12 00 00 18 DC -R 00 00 01 00 -T 4E 12 00 00 -R 00 00 01 00 -T 4E 12 00 00 C3 D7 12 00 00 -R 00 00 01 00 00 05 01 00 -T 51 12 00 00 -R 00 00 01 00 -T 51 12 00 00 -R 00 00 01 00 -T 51 12 00 00 DD 6E FC DD 66 FD AF B6 28 2D DD -R 00 00 01 00 -T 5C 12 00 00 6E FC DD 66 FD 4E 06 00 DD 5E FE -R 00 00 01 00 -T 67 12 00 00 DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 03 00 -T 6D 12 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 03 00 02 09 09 00 -T 74 12 00 00 28 12 -R 00 00 01 00 -T 76 12 00 00 -R 00 00 01 00 -T 76 12 00 00 -R 00 00 01 00 -T 76 12 00 00 -R 00 00 01 00 -T 76 12 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 7E 12 00 00 -R 00 00 01 00 -T 7E 12 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 86 12 00 00 -R 00 00 01 00 -T 86 12 00 00 18 C9 -R 00 00 01 00 -T 88 12 00 00 -R 00 00 01 00 -T 88 12 00 00 18 4D -R 00 00 01 00 -T 8A 12 00 00 -R 00 00 01 00 -T 8A 12 00 00 -R 00 00 01 00 -T 8A 12 00 00 DD 6E FC DD 66 FD AF B6 28 2D DD -R 00 00 01 00 -T 95 12 00 00 6E FC DD 66 FD 4E 06 00 DD 5E FE -R 00 00 01 00 -T A0 12 00 00 DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 03 00 -T A6 12 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 03 00 02 09 09 00 -T AD 12 00 00 20 12 -R 00 00 01 00 -T AF 12 00 00 -R 00 00 01 00 -T AF 12 00 00 -R 00 00 01 00 -T AF 12 00 00 -R 00 00 01 00 -T AF 12 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T B7 12 00 00 -R 00 00 01 00 -T B7 12 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T BF 12 00 00 -R 00 00 01 00 -T BF 12 00 00 18 C9 -R 00 00 01 00 -T C1 12 00 00 -R 00 00 01 00 -T C1 12 00 00 18 14 -R 00 00 01 00 -T C3 12 00 00 -R 00 00 01 00 -T C3 12 00 00 11 22 01 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0A 00 -T C9 12 00 00 00 00 00 00 CD 00 00 00 00 AF DD -R 00 00 01 00 02 04 0A 00 02 09 09 00 -T D0 12 00 00 77 FA DD 77 FB 18 00 -R 00 00 01 00 -T D7 12 00 00 -R 00 00 01 00 -T D7 12 00 00 DD 6E FC DD 66 FD 22 0B 00 00 00 -R 00 00 01 00 00 0B 03 00 -T E0 12 00 00 DD 6E FA DD 66 FB C3 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T E9 12 00 00 -R 00 00 01 00 -T E9 12 00 00 CD 00 00 00 00 FE FF 21 -R 00 00 01 00 02 05 0C 00 -T EF 12 00 00 04 00 00 00 DD 4E 02 DD 46 03 A7 -R 00 00 01 00 00 04 03 00 -T F8 12 00 00 ED 42 20 05 -R 00 00 01 00 -T FC 12 00 00 -R 00 00 01 00 -T FC 12 00 00 21 00 00 18 59 -R 00 00 01 00 -T 01 13 00 00 -R 00 00 01 00 -T 01 13 00 00 DD 6E 02 DD 66 03 23 7E E6 FF 4F -R 00 00 01 00 -T 0C 13 00 00 06 00 41 0E 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 17 13 00 00 23 23 7E E6 FF 5F 16 00 69 60 19 -R 00 00 01 00 -T 22 13 00 00 DD 75 FE DD 74 FF 7D B4 20 05 -R 00 00 01 00 -T 2C 13 00 00 -R 00 00 01 00 -T 2C 13 00 00 21 00 00 18 29 -R 00 00 01 00 -T 31 13 00 00 -R 00 00 01 00 -T 31 13 00 00 DD 6E 02 DD 66 03 7E FE 07 20 11 -R 00 00 01 00 -T 3C 13 00 00 -R 00 00 01 00 -T 3C 13 00 00 DD 4E FE DD 46 FF DD 6E 02 DD 66 -R 00 00 01 00 -T 47 13 00 00 03 A7 ED 42 18 0D -R 00 00 01 00 -T 4D 13 00 00 -R 00 00 01 00 -T 4D 13 00 00 DD 6E FE DD 66 FF DD 4E 02 DD 46 -R 00 00 01 00 -T 58 13 00 00 03 09 -R 00 00 01 00 -T 5A 13 00 00 -R 00 00 01 00 -T 5A 13 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 4E 55 4C 4C 20 61 72 67 75 6D 65 -R 00 00 02 00 -T 0B 00 00 00 6E 74 00 -R 00 00 02 00 -T 0E 00 00 00 -R 00 00 02 00 -T 0E 00 00 00 72 65 67 65 78 70 20 74 6F 6F 20 -R 00 00 02 00 -T 19 00 00 00 62 69 67 00 -R 00 00 02 00 -T 1D 00 00 00 -R 00 00 02 00 -T 1D 00 00 00 6F 75 74 20 6F 66 20 73 70 61 63 -R 00 00 02 00 -T 28 00 00 00 65 00 -R 00 00 02 00 -T 2A 00 00 00 -R 00 00 02 00 -T 2A 00 00 00 74 6F 6F 20 6D 61 6E 79 20 28 29 -R 00 00 02 00 -T 35 00 00 00 00 -R 00 00 02 00 -T 36 00 00 00 -R 00 00 02 00 -T 36 00 00 00 75 6E 6D 61 74 63 68 65 64 20 28 -R 00 00 02 00 -T 41 00 00 00 29 00 -R 00 00 02 00 -T 43 00 00 00 -R 00 00 02 00 -T 43 00 00 00 6A 75 6E 6B 20 6F 6E 20 65 6E 64 -R 00 00 02 00 -T 4E 00 00 00 00 -R 00 00 02 00 -T 4F 00 00 00 -R 00 00 02 00 -T 4F 00 00 00 2A 2B 20 6F 70 65 72 61 6E 64 20 -R 00 00 02 00 -T 5A 00 00 00 63 6F 75 6C 64 20 62 65 20 65 6D -R 00 00 02 00 -T 65 00 00 00 70 74 79 00 -R 00 00 02 00 -T 69 00 00 00 -R 00 00 02 00 -T 69 00 00 00 6E 65 73 74 65 64 20 2A 3F 2B 00 -R 00 00 02 00 -T 74 00 00 00 -R 00 00 02 00 -T 74 00 00 00 69 6E 76 61 6C 69 64 20 5B 5D 20 -R 00 00 02 00 -T 7F 00 00 00 72 61 6E 67 65 00 -R 00 00 02 00 -T 85 00 00 00 -R 00 00 02 00 -T 85 00 00 00 75 6E 6D 61 74 63 68 65 64 20 5B -R 00 00 02 00 -T 90 00 00 00 5D 00 -R 00 00 02 00 -T 92 00 00 00 -R 00 00 02 00 -T 92 00 00 00 69 6E 74 65 72 6E 61 6C 20 75 72 -R 00 00 02 00 -T 9D 00 00 00 70 00 -R 00 00 02 00 -T 9F 00 00 00 -R 00 00 02 00 -T 9F 00 00 00 3F 2B 2A 20 66 6F 6C 6C 6F 77 73 -R 00 00 02 00 -T AA 00 00 00 20 6E 6F 74 68 69 6E 67 00 -R 00 00 02 00 -T B3 00 00 00 -R 00 00 02 00 -T B3 00 00 00 74 72 61 69 6C 69 6E 67 20 5C 00 -R 00 00 02 00 -T BE 00 00 00 -R 00 00 02 00 -T BE 00 00 00 5E 24 2E 5B 28 29 7C 3F 2B 2A 5C -R 00 00 02 00 -T C9 00 00 00 00 -R 00 00 02 00 -T CA 00 00 00 -R 00 00 02 00 -T CA 00 00 00 69 6E 74 65 72 6E 61 6C 20 64 69 -R 00 00 02 00 -T D5 00 00 00 73 61 73 74 65 72 00 -R 00 00 02 00 -T DC 00 00 00 -R 00 00 02 00 -T DC 00 00 00 4E 55 4C 4C 20 70 61 72 61 6D 65 -R 00 00 02 00 -T E7 00 00 00 74 65 72 00 -R 00 00 02 00 -T EB 00 00 00 -R 00 00 02 00 -T EB 00 00 00 63 6F 72 72 75 70 74 65 64 20 70 -R 00 00 02 00 -T F6 00 00 00 72 6F 67 72 61 6D 00 -R 00 00 02 00 -T FD 00 00 00 -R 00 00 02 00 -T FD 00 00 00 6D 65 6D 6F 72 79 20 63 6F 72 72 -R 00 00 02 00 -T 08 01 00 00 75 70 74 69 6F 6E 00 -R 00 00 02 00 -T 0F 01 00 00 -R 00 00 02 00 -T 0F 01 00 00 63 6F 72 72 75 70 74 65 64 20 70 -R 00 00 02 00 -T 1A 01 00 00 6F 69 6E 74 65 72 73 00 -R 00 00 02 00 -T 22 01 00 00 -R 00 00 02 00 -T 22 01 00 00 69 6E 74 65 72 6E 61 6C 20 66 6F -R 00 00 02 00 -T 2D 01 00 00 75 6C 75 70 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 05 00 00 00 -R 00 00 03 00 -T 05 00 00 00 -R 00 00 03 00 -T 07 00 00 00 -R 00 00 03 00 -T 07 00 00 00 -R 00 00 03 00 -T 0B 00 00 00 -R 00 00 03 00 -T 0B 00 00 00 -R 00 00 03 00 -T 0D 00 00 00 -R 00 00 03 00 -T 0D 00 00 00 -R 00 00 03 00 -T 0F 00 00 00 -R 00 00 03 00 -T 0F 00 00 00 -R 00 00 03 00 -T 11 00 00 00 -R 00 00 03 00 -T 11 00 00 00 -R 00 00 03 00 diff --git a/lib/relcb/regsub.rel b/lib/relcb/regsub.rel deleted file mode 100644 index 203e9321..00000000 --- a/lib/relcb/regsub.rel +++ /dev/null @@ -1,219 +0,0 @@ -XL4 -H 3 areas 8 global symbols -S strncpy Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S regerror Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1D2 flags 0 -S regsub Def00000000 -A CSTR size 46 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF DD 7E 02 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 B6 03 28 10 DD 7E 04 DD B6 05 28 -R 00 00 01 00 -T 14 00 00 00 08 DD 7E 0A DD B6 0B 20 0E -R 00 00 01 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 03 00 -T 23 00 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 03 00 02 09 02 00 -T 29 00 00 00 CF 01 00 00 -R 00 00 01 00 00 04 01 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 21 2E 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 36 00 00 00 06 00 3E 9C A9 B0 28 0E -R 00 00 01 00 -T 3E 00 00 00 -R 00 00 01 00 -T 3E 00 00 00 11 14 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 03 00 -T 44 00 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 03 00 02 09 02 00 -T 4A 00 00 00 CF 01 00 00 -R 00 00 01 00 00 04 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 DD 6E 04 DD 66 05 DD 75 F6 DD 74 -R 00 00 01 00 -T 57 00 00 00 F7 DD 6E 0A DD 66 0B DD 75 F8 DD -R 00 00 01 00 -T 62 00 00 00 74 F9 -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 DD 6E F6 DD 66 F7 23 DD 75 F6 DD -R 00 00 01 00 -T 6F 00 00 00 74 F7 2B 46 DD 70 FA 04 05 CA -R 00 00 01 00 -T 79 00 00 00 BF 01 00 00 -R 00 00 01 00 00 04 01 00 -T 7B 00 00 00 -R 00 00 01 00 -T 7B 00 00 00 DD 7E FA FE 26 20 09 -R 00 00 01 00 -T 82 00 00 00 -R 00 00 01 00 -T 82 00 00 00 AF DD 77 FB DD 77 FC 18 42 -R 00 00 01 00 -T 8B 00 00 00 -R 00 00 01 00 -T 8B 00 00 00 DD 7E FA FE 5C 20 33 DD 6E F6 DD -R 00 00 01 00 -T 96 00 00 00 66 F7 7E FE 30 38 28 DD 6E F6 DD -R 00 00 01 00 -T A1 00 00 00 66 F7 3E 39 BE 38 1D -R 00 00 01 00 -T A8 00 00 00 -R 00 00 01 00 -T A8 00 00 00 -R 00 00 01 00 -T A8 00 00 00 -R 00 00 01 00 -T A8 00 00 00 DD 6E F6 DD 66 F7 23 DD 75 F6 DD -R 00 00 01 00 -T B3 00 00 00 74 F7 2B 4E 06 00 21 D0 FF 09 DD -R 00 00 01 00 -T BE 00 00 00 75 FB DD 74 FC 18 08 -R 00 00 01 00 -T C5 00 00 00 -R 00 00 01 00 -T C5 00 00 00 DD 36 FB FF DD 36 FC FF -R 00 00 01 00 -T CD 00 00 00 -R 00 00 01 00 -T CD 00 00 00 -R 00 00 01 00 -T CD 00 00 00 DD CB FC 7E 28 44 -R 00 00 01 00 -T D3 00 00 00 -R 00 00 01 00 -T D3 00 00 00 DD 7E FA FE 5C 20 28 DD 6E F6 DD -R 00 00 01 00 -T DE 00 00 00 66 F7 7E FE 5C 28 0B DD 6E F6 DD -R 00 00 01 00 -T E9 00 00 00 66 F7 7E FE 26 20 12 -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 DD 6E F6 DD 66 F7 23 DD 75 F6 DD -R 00 00 01 00 -T FB 00 00 00 74 F7 2B 46 DD 70 FA -R 00 00 01 00 -T 02 01 00 00 -R 00 00 01 00 -T 02 01 00 00 DD 6E F8 DD 66 F9 23 DD 75 F8 DD -R 00 00 01 00 -T 0D 01 00 00 74 F9 2B DD 46 FA 70 C3 -R 00 00 01 00 -T 15 01 00 00 BC 01 00 00 -R 00 00 01 00 00 04 01 00 -T 17 01 00 00 -R 00 00 01 00 -T 17 01 00 00 DD 6E FB DD 66 FC 29 DD 4E 02 DD -R 00 00 01 00 -T 22 01 00 00 46 03 09 7E 23 B6 CA BC 01 00 00 -R 00 00 01 00 00 0B 01 00 -T 2B 01 00 00 DD 6E FB DD 66 FC 29 DD 4E 02 DD -R 00 00 01 00 -T 36 01 00 00 46 03 09 01 14 00 09 7E 23 B6 28 -R 00 00 01 00 -T 41 01 00 00 7A -R 00 00 01 00 -T 42 01 00 00 -R 00 00 01 00 -T 42 01 00 00 -R 00 00 01 00 -T 42 01 00 00 -R 00 00 01 00 -T 42 01 00 00 DD 6E FB DD 66 FC 29 DD 4E 02 DD -R 00 00 01 00 -T 4D 01 00 00 46 03 09 5E 23 56 DD 6E FB DD 66 -R 00 00 01 00 -T 58 01 00 00 FC 29 09 01 14 00 09 46 23 66 68 -R 00 00 01 00 -T 63 01 00 00 A7 ED 52 DD 75 FD DD 74 FE E5 DD -R 00 00 01 00 -T 6E 01 00 00 6E FB DD 66 FC 29 DD 4E 02 DD 46 -R 00 00 01 00 -T 79 01 00 00 03 09 4E 23 46 DD 5E F8 DD 56 F9 -R 00 00 01 00 -T 84 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 00 00 02 0A 00 00 -T 8A 01 00 00 00 00 00 00 F1 21 02 00 39 7E DD -R 00 00 01 00 02 04 02 00 -T 93 01 00 00 86 FD 77 23 7E DD 8E FE 77 DD 7E -R 00 00 01 00 -T 9E 01 00 00 FD DD B6 FE 28 18 DD 6E F8 DD 66 -R 00 00 01 00 -T A9 01 00 00 F9 2B 7E B7 20 0D -R 00 00 01 00 -T AF 01 00 00 -R 00 00 01 00 -T AF 01 00 00 -R 00 00 01 00 -T AF 01 00 00 -R 00 00 01 00 -T AF 01 00 00 11 31 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 03 00 -T B5 01 00 00 00 00 00 00 CD 00 00 00 00 18 13 -R 00 00 01 00 02 04 03 00 02 09 02 00 -T BC 01 00 00 -R 00 00 01 00 -T BC 01 00 00 -R 00 00 01 00 -T BC 01 00 00 -R 00 00 01 00 -T BC 01 00 00 C3 64 00 00 00 -R 00 00 01 00 00 05 01 00 -T BF 01 00 00 -R 00 00 01 00 -T BF 01 00 00 DD 6E F8 DD 66 F9 23 DD 75 F8 DD -R 00 00 01 00 -T CA 01 00 00 74 F9 2B 36 00 -R 00 00 01 00 -T CF 01 00 00 -R 00 00 01 00 -T CF 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 4E 55 4C 4C 20 70 61 72 6D 20 74 -R 00 00 02 00 -T 0B 00 00 00 6F 20 72 65 67 73 75 62 00 -R 00 00 02 00 -T 14 00 00 00 -R 00 00 02 00 -T 14 00 00 00 64 61 6D 61 67 65 64 20 72 65 67 -R 00 00 02 00 -T 1F 00 00 00 65 78 70 20 66 65 64 20 74 6F 20 -R 00 00 02 00 -T 2A 00 00 00 72 65 67 73 75 62 00 -R 00 00 02 00 -T 31 00 00 00 -R 00 00 02 00 -T 31 00 00 00 64 61 6D 61 67 65 64 20 6D 61 74 -R 00 00 02 00 -T 3C 00 00 00 63 68 20 73 74 72 69 6E 67 00 -R 00 00 02 00 diff --git a/lib/relcb/rename.rel b/lib/relcb/rename.rel deleted file mode 100644 index ff1d76a4..00000000 --- a/lib/relcb/rename.rel +++ /dev/null @@ -1,36 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S unlink Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S link Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 36 flags 0 -S rename Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 04 00 -T 0E 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 04 00 02 09 02 00 -T 15 00 00 00 FE DD 74 FF 7D B4 28 08 -R 00 00 01 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 DD 6E FE DD 66 FF 18 0E -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 00 00 -T 2D 00 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 00 00 02 0A 02 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcb/rewind.rel b/lib/relcb/rewind.rel deleted file mode 100644 index 019b63bc..00000000 --- a/lib/relcb/rewind.rel +++ /dev/null @@ -1,170 +0,0 @@ -XL4 -H 2 areas C global symbols -S fflush Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S lseek Ref00000000 -S ?L_ADDASG_L03 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?SL_CMP_L03 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1DD flags 0 -S rewind Def00000000 -S fseek Def00000030 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 00 00 E5 21 -R 00 00 01 00 02 05 04 00 -T 08 00 00 00 00 00 E5 21 00 00 E5 3E -R 00 00 01 00 -T 10 00 00 00 30 00 00 00 21 30 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 15 00 00 00 00 00 00 00 F1 F1 F1 21 0C 00 DD -R 00 00 01 00 02 04 05 00 -T 1E 00 00 00 4E 02 DD 46 03 09 7E E6 FF 77 23 -R 00 00 01 00 -T 29 00 00 00 7E E6 FC 77 C3 00 00 00 00 -R 00 00 01 00 02 09 01 00 -T 30 00 00 00 -R 00 00 01 00 -T 30 00 00 00 CD 00 00 00 00 FC FF 21 0C 00 DD -R 00 00 01 00 02 05 07 00 -T 39 00 00 00 4E 02 DD 46 03 09 7E E6 40 4F 23 -R 00 00 01 00 -T 44 00 00 00 7E E6 04 47 3E 40 A9 B0 C2 -R 00 00 01 00 -T 4D 00 00 00 8E 01 00 00 DD 7E 0E DD B6 0F 28 -R 00 00 01 00 00 04 01 00 -T 56 00 00 00 0B 3E 01 DD AE 0E DD B6 0F C2 -R 00 00 01 00 -T 60 00 00 00 8E 01 00 00 -R 00 00 01 00 00 04 01 00 -T 62 00 00 00 -R 00 00 01 00 -T 62 00 00 00 -R 00 00 01 00 -T 62 00 00 00 -R 00 00 01 00 -T 62 00 00 00 -R 00 00 01 00 -T 62 00 00 00 -R 00 00 01 00 -T 62 00 00 00 21 01 00 E5 21 00 00 E5 21 00 00 -R 00 00 01 00 -T 6D 00 00 00 E5 21 0A 00 DD 4E 02 DD 46 03 09 -R 00 00 01 00 -T 78 00 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 02 00 -T 7E 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 02 00 02 09 05 00 -T 85 00 00 00 F1 DD 75 FC DD 74 FD DD 71 FE DD -R 00 00 01 00 -T 90 00 00 00 70 FF 7D A4 A1 A0 3C 20 06 -R 00 00 01 00 -T 99 00 00 00 -R 00 00 01 00 -T 99 00 00 00 21 FF FF C3 DA 01 00 00 -R 00 00 01 00 00 08 01 00 -T 9F 00 00 00 -R 00 00 01 00 -T 9F 00 00 00 3E 01 DD AE 0E DD B6 0F 20 46 -R 00 00 01 00 -T A9 00 00 00 -R 00 00 01 00 -T A9 00 00 00 AF DD 77 0E DD 77 0F 21 0E 00 39 -R 00 00 01 00 -T B4 00 00 00 E5 DD 4E 02 DD 46 03 03 03 69 60 -R 00 00 01 00 -T BF 00 00 00 4E 23 46 DD 6E 02 DD 66 03 56 23 -R 00 00 01 00 -T CA 00 00 00 66 6A A7 ED 42 EB 7A 07 9F 4F 41 -R 00 00 01 00 -T D5 00 00 00 C5 D5 DD 6E FC DD 66 FD C1 09 EB -R 00 00 01 00 -T E0 00 00 00 DD 6E FE DD 66 FF C1 ED 4A 4D 44 -R 00 00 01 00 -T EB 00 00 00 E1 CD 00 00 00 00 -R 00 00 01 00 02 06 03 00 -T EF 00 00 00 -R 00 00 01 00 -T EF 00 00 00 DD 7E 0E DD B6 0F C2 8E 01 00 00 -R 00 00 01 00 00 0B 01 00 -T F8 00 00 00 -R 00 00 01 00 -T F8 00 00 00 DD 6E FE DD 66 FF E5 DD 6E FC DD -R 00 00 01 00 -T 03 01 00 00 66 FD E5 DD 4E 0C DD 46 0D DD 6E -R 00 00 01 00 -T 0E 01 00 00 0A DD 66 0B CD 00 00 00 00 30 77 -R 00 00 01 00 02 09 06 00 -T 17 01 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 -R 00 00 01 00 -T 22 01 00 00 21 06 00 DD 5E 02 DD 56 03 19 56 -R 00 00 01 00 -T 2D 01 00 00 23 66 6A A7 ED 42 7C 07 9F 4F 41 -R 00 00 01 00 -T 38 01 00 00 C5 E5 DD 6E FC DD 66 FD C1 09 EB -R 00 00 01 00 -T 43 01 00 00 DD 6E FE DD 66 FF C1 ED 4A E5 D5 -R 00 00 01 00 -T 4E 01 00 00 DD 4E 0C DD 46 0D DD 6E 0A DD 66 -R 00 00 01 00 -T 59 01 00 00 0B CD 00 00 00 00 38 2F -R 00 00 01 00 02 06 06 00 -T 5F 01 00 00 -R 00 00 01 00 -T 5F 01 00 00 -R 00 00 01 00 -T 5F 01 00 00 -R 00 00 01 00 -T 5F 01 00 00 DD 4E FC DD 46 FD DD 6E 0A DD 66 -R 00 00 01 00 -T 6A 01 00 00 0B A7 ED 42 E5 DD 4E 02 DD 46 03 -R 00 00 01 00 -T 75 01 00 00 03 03 69 60 4E 23 46 E1 09 E5 DD -R 00 00 01 00 -T 80 01 00 00 6E 02 DD 66 03 C1 71 23 70 21 -R 00 00 01 00 -T 8A 01 00 00 00 00 18 4C -R 00 00 01 00 -T 8E 01 00 00 -R 00 00 01 00 -T 8E 01 00 00 -R 00 00 01 00 -T 8E 01 00 00 -R 00 00 01 00 -T 8E 01 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 00 00 -T 96 01 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 00 00 02 0A 05 00 -T 9D 01 00 00 A4 3C 28 31 DD 6E 0E DD 66 0F E5 -R 00 00 01 00 -T A8 01 00 00 DD 6E 0C DD 66 0D E5 DD 6E 0A DD -R 00 00 01 00 -T B3 01 00 00 66 0B E5 21 0A 00 DD 4E 02 DD 46 -R 00 00 01 00 -T BE 01 00 00 03 09 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 02 00 -T C6 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 02 00 02 09 05 00 -T CD 01 00 00 F1 CB 78 28 05 -R 00 00 01 00 -T D2 01 00 00 -R 00 00 01 00 -T D2 01 00 00 -R 00 00 01 00 -T D2 01 00 00 -R 00 00 01 00 -T D2 01 00 00 21 FF FF 18 03 -R 00 00 01 00 -T D7 01 00 00 -R 00 00 01 00 -T D7 01 00 00 21 00 00 -R 00 00 01 00 -T DA 01 00 00 -R 00 00 01 00 -T DA 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcb/rewindir.rel b/lib/relcb/rewindir.rel deleted file mode 100644 index d918ef57..00000000 --- a/lib/relcb/rewindir.rel +++ /dev/null @@ -1,46 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S lseek Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 58 flags 0 -S rewinddir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 7B B2 28 1A 21 -R 00 00 01 00 02 05 02 00 -T 08 00 00 00 06 00 DD 4E 02 DD 46 03 09 7E 23 -R 00 00 01 00 -T 13 00 00 00 B6 28 0B DD 6E 02 DD 66 03 7E 23 -R 00 00 01 00 -T 1E 00 00 00 B6 20 08 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 21 0E 00 22 00 00 00 00 18 2C -R 00 00 01 00 02 08 04 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 DD 6E 02 DD 66 03 23 23 AF 77 23 -R 00 00 01 00 -T 34 00 00 00 77 21 00 00 E5 21 00 00 E5 21 -R 00 00 01 00 -T 3E 00 00 00 00 00 E5 DD 6E 02 DD 66 03 5E 23 -R 00 00 01 00 -T 49 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 01 00 02 0B 01 00 -T 4F 00 00 00 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 05 03 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/rmdir.rel b/lib/relcb/rmdir.rel deleted file mode 100644 index b5a4996a..00000000 --- a/lib/relcb/rmdir.rel +++ /dev/null @@ -1,201 +0,0 @@ -XL4 -H 3 areas 10 global symbols -S unlink Ref00000000 -S strcat Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S close Ref00000000 -S strlen Ref00000000 -S strcmp Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S strcpy Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S open Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S _read Ref00000000 -S stat Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17C flags 0 -S rmdir Def00000000 -A CSTR size 8 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D0 FE DD 5E 02 DD -R 00 00 01 00 02 05 09 00 -T 09 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 04 00 -T 0E 00 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 04 04 00 02 09 06 00 -T 14 00 00 00 04 00 09 4D 44 21 00 01 A7 ED 42 -R 00 00 01 00 -T 1F 00 00 00 30 09 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 21 24 00 22 00 00 00 00 C3 -R 00 00 01 00 02 08 08 00 -T 28 00 00 00 71 01 00 00 -R 00 00 01 00 00 04 01 00 -T 2A 00 00 00 -R 00 00 01 00 -T 2A 00 00 00 21 00 00 39 4D 44 DD 5E 02 DD 56 -R 00 00 01 00 -T 35 00 00 00 03 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 -T 3B 00 00 00 CD 00 00 00 00 7D B4 28 03 -R 00 00 01 00 02 05 06 00 -T 42 00 00 00 -R 00 00 01 00 -T 42 00 00 00 C3 71 01 00 00 -R 00 00 01 00 00 05 01 00 -T 45 00 00 00 -R 00 00 01 00 -T 45 00 00 00 21 04 00 39 7E E6 00 47 23 7E E6 -R 00 00 01 00 -T 50 00 00 00 40 B0 20 09 -R 00 00 01 00 -T 54 00 00 00 -R 00 00 01 00 -T 54 00 00 00 21 14 00 22 00 00 00 00 C3 -R 00 00 01 00 02 08 08 00 -T 5B 00 00 00 71 01 00 00 -R 00 00 01 00 00 04 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 21 00 00 E5 DD 6E 02 DD 66 03 E5 -R 00 00 01 00 -T 68 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0A 00 02 0A 0A 00 -T 6E 00 00 00 00 00 00 00 F1 F1 DD 75 FE DD 74 -R 00 00 01 00 02 04 06 00 -T 77 00 00 00 FF CB 7C 28 03 -R 00 00 01 00 -T 7C 00 00 00 -R 00 00 01 00 -T 7C 00 00 00 C3 71 01 00 00 -R 00 00 01 00 00 05 01 00 -T 7F 00 00 00 -R 00 00 01 00 -T 7F 00 00 00 -R 00 00 01 00 -T 7F 00 00 00 21 10 00 E5 21 20 01 39 4D 44 DD -R 00 00 01 00 -T 8A 00 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0C 00 -T 92 00 00 00 00 00 00 00 CD 00 00 00 00 F1 3E -R 00 00 01 00 02 04 0C 00 02 09 06 00 -T 99 00 00 00 10 AD B4 20 55 -R 00 00 01 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 DD 6E EE DD 66 EF 7D B4 28 30 01 -R 00 00 01 00 -T A9 00 00 00 00 00 00 00 21 1E 01 39 11 02 00 -R 00 00 01 00 00 04 02 00 -T B2 00 00 00 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 05 00 -T B7 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 05 00 02 09 06 00 -T BE 00 00 00 28 18 01 02 00 00 00 21 1E 01 39 -R 00 00 01 00 00 07 02 00 -T C7 00 00 00 11 02 00 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 05 00 -T CF 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 05 00 02 09 06 00 -T D6 00 00 00 20 02 -R 00 00 01 00 -T D8 00 00 00 -R 00 00 01 00 -T D8 00 00 00 -R 00 00 01 00 -T D8 00 00 00 -R 00 00 01 00 -T D8 00 00 00 18 A5 -R 00 00 01 00 -T DA 00 00 00 -R 00 00 01 00 -T DA 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 03 00 -T E2 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 03 00 02 0A 06 00 -T E9 00 00 00 27 00 22 00 00 00 00 C3 -R 00 00 01 00 02 07 08 00 -T EF 00 00 00 71 01 00 00 18 8C -R 00 00 01 00 00 04 01 00 -T F3 00 00 00 -R 00 00 01 00 -T F3 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 03 00 -T FB 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 03 00 02 0A 06 00 -T 02 01 00 00 4E 02 DD 46 03 21 1E 00 39 5D 54 -R 00 00 01 00 -T 0D 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 -T 13 01 00 00 00 00 00 00 01 05 00 00 00 21 -R 00 00 01 00 02 04 06 00 00 09 02 00 -T 19 01 00 00 1E 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 01 00 -T 21 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 01 00 02 09 06 00 -T 27 01 00 00 1E 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 00 00 -T 2F 01 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 00 00 02 09 06 00 -T 36 01 00 00 28 02 -R 00 00 01 00 -T 38 01 00 00 -R 00 00 01 00 -T 38 01 00 00 18 37 -R 00 00 01 00 -T 3A 01 00 00 -R 00 00 01 00 -T 3A 01 00 00 01 00 00 00 00 21 1E 00 39 5D 54 -R 00 00 01 00 00 05 02 00 -T 43 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 01 00 02 0A 01 00 -T 49 01 00 00 00 00 00 00 21 1E 00 39 5D 54 3E -R 00 00 01 00 02 04 06 00 -T 52 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 57 01 00 00 00 00 00 00 7D B4 28 02 -R 00 00 01 00 02 04 06 00 -T 5D 01 00 00 -R 00 00 01 00 -T 5D 01 00 00 18 12 -R 00 00 01 00 -T 5F 01 00 00 -R 00 00 01 00 -T 5F 01 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 00 00 -T 67 01 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 00 00 02 0A 06 00 -T 6E 01 00 00 B4 28 05 -R 00 00 01 00 -T 71 01 00 00 -R 00 00 01 00 -T 71 01 00 00 -R 00 00 01 00 -T 71 01 00 00 21 FF FF 18 03 -R 00 00 01 00 -T 76 01 00 00 -R 00 00 01 00 -T 76 01 00 00 21 00 00 -R 00 00 01 00 -T 79 01 00 00 -R 00 00 01 00 -T 79 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2E 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 02 00 00 00 2E 2E 00 -R 00 00 02 00 -T 05 00 00 00 -R 00 00 02 00 -T 05 00 00 00 2F 2E 00 -R 00 00 02 00 diff --git a/lib/relcb/scanf.rel b/lib/relcb/scanf.rel deleted file mode 100644 index bfb13c04..00000000 --- a/lib/relcb/scanf.rel +++ /dev/null @@ -1,26 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S stdin Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S vfscanf Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2F flags 0 -S scanf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 0E 00 39 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 01 02 00 09 DD 75 FC DD 74 FD E5 -R 00 00 01 00 -T 14 00 00 00 DD 4E 0A DD 46 0B 11 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 1D 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 -T 23 00 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 02 00 -T 2C 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/setbuff.rel b/lib/relcb/setbuff.rel deleted file mode 100644 index 5ee64194..00000000 --- a/lib/relcb/setbuff.rel +++ /dev/null @@ -1,72 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S fflush Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S free Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size CF flags 0 -S setbuffer Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 03 00 2B 0A 00 00 -T 06 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 02 09 04 00 -T 0C 00 00 00 0C 00 DD 5E 02 DD 56 03 19 7E E6 -R 00 00 01 00 -T 17 00 00 00 04 28 15 -R 00 00 01 00 -T 1A 00 00 00 -R 00 00 01 00 -T 1A 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 25 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 02 00 -T 2A 00 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 09 04 00 -T 2F 00 00 00 -R 00 00 01 00 -T 2F 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 3A 00 00 00 E6 F8 77 23 7E E6 FF 77 DD 7E 04 -R 00 00 01 00 -T 45 00 00 00 DD B6 05 20 35 -R 00 00 01 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 E5 -R 00 00 01 00 -T 55 00 00 00 21 0E 00 09 EB E1 73 23 72 21 -R 00 00 01 00 -T 5F 00 00 00 08 00 09 E5 21 0E 00 09 11 08 00 -R 00 00 01 00 -T 6A 00 00 00 19 EB E1 73 23 72 21 0C 00 09 7E -R 00 00 01 00 -T 75 00 00 00 F6 02 77 23 7E F6 00 77 18 25 -R 00 00 01 00 -T 7F 00 00 00 -R 00 00 01 00 -T 7F 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 DD -R 00 00 01 00 -T 8A 00 00 00 5E 04 DD 56 05 73 23 72 21 08 00 -R 00 00 01 00 -T 95 00 00 00 09 E5 DD 6E 0A DD 66 0B 19 4D 44 -R 00 00 01 00 -T A0 00 00 00 E1 71 23 70 -R 00 00 01 00 -T A4 00 00 00 -R 00 00 01 00 -T A4 00 00 00 DD 6E 02 DD 66 03 23 23 E5 21 -R 00 00 01 00 -T AE 00 00 00 04 00 DD 4E 02 DD 46 03 09 E5 21 -R 00 00 01 00 -T B9 00 00 00 06 00 09 5E 23 56 E1 73 23 72 E1 -R 00 00 01 00 -T C4 00 00 00 73 23 72 69 60 73 23 72 C3 -R 00 00 01 00 -T CD 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relcb/setenv.rel b/lib/relcb/setenv.rel deleted file mode 100644 index cd177981..00000000 --- a/lib/relcb/setenv.rel +++ /dev/null @@ -1,296 +0,0 @@ -XL4 -H 4 areas E global symbols -S environ Ref00000000 -S memcpy Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strlen Ref00000000 -S free Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S malloc Ref00000000 -S .__.ABS. Def00000000 -S memcmp Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 31C flags 0 -S setenv Def00000000 -S unsetenv Def0000027C -A IDATA0 size 2 flags 0 -A CDATA0 size 2 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F2 FF AF DD 77 F4 -R 00 00 01 00 02 05 07 00 -T 09 00 00 00 DD 77 F5 DD 5E 02 DD 56 03 3E -R 00 00 01 00 -T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 DD 75 F6 DD 74 F7 59 -R 00 00 01 00 02 04 05 00 -T 21 00 00 00 50 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 03 00 02 0B 03 00 -T 27 00 00 00 CD 00 00 00 00 DD 75 F8 DD 74 F9 -R 00 00 01 00 02 05 05 00 -T 30 00 00 00 2A 00 00 00 00 DD 75 F2 DD 74 F3 -R 00 00 01 00 02 05 00 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 DD 6E F2 DD 66 F3 4D 44 03 03 DD -R 00 00 01 00 -T 44 00 00 00 71 F2 DD 70 F3 46 23 66 68 DD 75 -R 00 00 01 00 -T 4F 00 00 00 FA DD 74 FB 7D B4 28 3E -R 00 00 01 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 DD 6E F6 DD 66 F7 E5 DD 4E 02 DD -R 00 00 01 00 -T 62 00 00 00 46 03 DD 5E FA DD 56 FB 3E -R 00 00 01 00 -T 6B 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 -T 70 00 00 00 00 00 00 00 F1 7D B4 20 14 DD 6E -R 00 00 01 00 02 04 05 00 -T 79 00 00 00 F6 DD 66 F7 DD 4E FA DD 46 FB 09 -R 00 00 01 00 -T 84 00 00 00 7E FE 3D 20 02 -R 00 00 01 00 -T 89 00 00 00 -R 00 00 01 00 -T 89 00 00 00 -R 00 00 01 00 -T 89 00 00 00 -R 00 00 01 00 -T 89 00 00 00 18 0A -R 00 00 01 00 -T 8B 00 00 00 -R 00 00 01 00 -T 8B 00 00 00 DD 34 F4 20 03 DD 34 F5 -R 00 00 01 00 -T 93 00 00 00 -R 00 00 01 00 -T 93 00 00 00 18 A4 -R 00 00 01 00 -T 95 00 00 00 -R 00 00 01 00 -T 95 00 00 00 DD 7E FA DD B6 FB C2 B1 01 00 00 -R 00 00 01 00 00 0B 01 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 DD 6E F4 DD 66 F5 23 23 29 EB 3E -R 00 00 01 00 -T A9 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T AE 00 00 00 00 00 00 00 DD 75 FC DD 74 FD 7D -R 00 00 01 00 02 04 05 00 -T B7 00 00 00 B4 20 0C -R 00 00 01 00 -T BA 00 00 00 -R 00 00 01 00 -T BA 00 00 00 -R 00 00 01 00 -T BA 00 00 00 21 0C 00 22 00 00 00 00 21 FF FF -R 00 00 01 00 02 08 06 00 -T C3 00 00 00 C3 79 02 00 00 -R 00 00 01 00 00 05 01 00 -T C6 00 00 00 -R 00 00 01 00 -T C6 00 00 00 DD 6E F4 DD 66 F5 29 E5 ED 4B -R 00 00 01 00 -T D0 00 00 00 00 00 00 00 DD 5E FC DD 56 FD 3E -R 00 00 01 00 02 04 00 00 -T D9 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T DE 00 00 00 00 00 00 00 F1 DD 6E F8 DD 66 F9 -R 00 00 01 00 02 04 05 00 -T E7 00 00 00 DD 4E F6 DD 46 F7 09 EB 13 13 3E -R 00 00 01 00 -T F2 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T F7 00 00 00 00 00 00 00 DD 75 FA DD 74 FB 7D -R 00 00 01 00 02 04 05 00 -T 00 01 00 00 B4 20 10 -R 00 00 01 00 -T 03 01 00 00 -R 00 00 01 00 -T 03 01 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 -T 0B 01 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 04 00 02 0A 05 00 -T 12 01 00 00 A7 -R 00 00 01 00 -T 13 01 00 00 -R 00 00 01 00 -T 13 01 00 00 DD 6E F6 DD 66 F7 E5 DD 4E 02 DD -R 00 00 01 00 -T 1E 01 00 00 46 03 DD 5E FA DD 56 FB 3E -R 00 00 01 00 -T 27 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 2C 01 00 00 00 00 00 00 F1 DD 6E F6 DD 66 F7 -R 00 00 01 00 02 04 05 00 -T 35 01 00 00 DD 4E FA DD 46 FB 09 36 3D DD 6E -R 00 00 01 00 -T 40 01 00 00 F8 DD 66 F9 23 E5 DD 4E 04 DD 46 -R 00 00 01 00 -T 4B 01 00 00 05 DD 6E F6 DD 66 F7 DD 5E FA DD -R 00 00 01 00 -T 56 01 00 00 56 FB 19 EB 13 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 01 00 -T 5E 01 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 01 00 02 09 05 00 -T 65 01 00 00 6E F4 DD 66 F5 29 DD 4E FC DD 46 -R 00 00 01 00 -T 70 01 00 00 FD 09 DD 5E FA DD 56 FB 73 23 72 -R 00 00 01 00 -T 7B 01 00 00 DD 6E F4 DD 66 F5 29 09 23 23 AF -R 00 00 01 00 -T 86 01 00 00 77 23 77 2A 00 00 00 00 7D B4 28 -R 00 00 01 00 00 08 02 00 -T 8F 01 00 00 0C -R 00 00 01 00 -T 90 01 00 00 -R 00 00 01 00 -T 90 01 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 00 06 02 00 2B 0B 04 00 -T 96 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 04 00 02 0A 05 00 -T 9C 01 00 00 -R 00 00 01 00 -T 9C 01 00 00 DD 6E FC DD 66 FD 22 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T A5 01 00 00 DD 6E FC DD 66 FD 22 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T AE 01 00 00 C3 76 02 00 00 -R 00 00 01 00 00 05 01 00 -T B1 01 00 00 -R 00 00 01 00 -T B1 01 00 00 DD 7E 0A DD B6 0B CA 76 02 00 00 -R 00 00 01 00 00 0B 01 00 -T BA 01 00 00 -R 00 00 01 00 -T BA 01 00 00 DD 5E FA DD 56 FB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 03 00 -T C2 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 03 00 02 0A 05 00 -T C9 01 00 00 75 FC DD 74 FD DD 6E F8 DD 66 F9 -R 00 00 01 00 -T D4 01 00 00 DD 4E F6 DD 46 F7 09 4D 44 03 DD -R 00 00 01 00 -T DF 01 00 00 6E FC DD 66 FD A7 ED 42 30 67 -R 00 00 01 00 -T E9 01 00 00 -R 00 00 01 00 -T E9 01 00 00 DD 6E F8 DD 66 F9 DD 4E F6 DD 46 -R 00 00 01 00 -T F4 01 00 00 F7 09 EB 13 13 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 09 00 -T FC 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 09 00 02 09 05 00 -T 03 02 00 00 FE DD 74 FF 7D B4 20 03 -R 00 00 01 00 -T 0B 02 00 00 -R 00 00 01 00 -T 0B 02 00 00 C3 BA 00 00 00 -R 00 00 01 00 00 05 01 00 -T 0E 02 00 00 -R 00 00 01 00 -T 0E 02 00 00 DD 6E F6 DD 66 F7 E5 DD 4E 02 DD -R 00 00 01 00 -T 19 02 00 00 46 03 DD 5E FE DD 56 FF 3E -R 00 00 01 00 -T 22 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 27 02 00 00 00 00 00 00 F1 DD 6E F6 DD 66 F7 -R 00 00 01 00 02 04 05 00 -T 30 02 00 00 DD 4E FE DD 46 FF 09 36 3D DD 6E -R 00 00 01 00 -T 3B 02 00 00 F2 DD 66 F3 2B 2B DD 75 F2 DD 74 -R 00 00 01 00 -T 46 02 00 00 F3 DD 71 FA DD 70 FB 71 23 70 -R 00 00 01 00 -T 50 02 00 00 -R 00 00 01 00 -T 50 02 00 00 DD 6E F8 DD 66 F9 23 E5 DD 4E 04 -R 00 00 01 00 -T 5B 02 00 00 DD 46 05 DD 6E F6 DD 66 F7 DD 5E -R 00 00 01 00 -T 66 02 00 00 FA DD 56 FB 19 EB 13 3E -R 00 00 01 00 -T 6E 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 73 02 00 00 00 00 00 00 F1 -R 00 00 01 00 02 04 05 00 -T 76 02 00 00 -R 00 00 01 00 -T 76 02 00 00 -R 00 00 01 00 -T 76 02 00 00 21 00 00 -R 00 00 01 00 -T 79 02 00 00 -R 00 00 01 00 -T 79 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 7C 02 00 00 -R 00 00 01 00 -T 7C 02 00 00 CD 00 00 00 00 F8 FF DD 5E 02 DD -R 00 00 01 00 02 05 07 00 -T 85 02 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 03 00 -T 8A 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 03 00 02 09 05 00 -T 91 02 00 00 FE DD 74 FF 2A 00 00 00 00 DD 75 -R 00 00 01 00 02 09 00 00 -T 9A 02 00 00 F8 DD 74 F9 DD 75 FA DD 74 FB -R 00 00 01 00 -T A4 02 00 00 -R 00 00 01 00 -T A4 02 00 00 DD 6E F8 DD 66 F9 4D 44 03 03 DD -R 00 00 01 00 -T AF 02 00 00 71 F8 DD 70 F9 46 23 66 68 DD 75 -R 00 00 01 00 -T BA 02 00 00 FC DD 74 FD 7D B4 28 4D -R 00 00 01 00 -T C2 02 00 00 -R 00 00 01 00 -T C2 02 00 00 DD 6E FE DD 66 FF E5 DD 4E 02 DD -R 00 00 01 00 -T CD 02 00 00 46 03 DD 5E FC DD 56 FD 3E -R 00 00 01 00 -T D6 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 -T DB 02 00 00 00 00 00 00 F1 7D B4 20 12 DD 6E -R 00 00 01 00 02 04 05 00 -T E4 02 00 00 FE DD 66 FF DD 4E FC DD 46 FD 09 -R 00 00 01 00 -T EF 02 00 00 7E FE 3D 28 19 -R 00 00 01 00 -T F4 02 00 00 -R 00 00 01 00 -T F4 02 00 00 -R 00 00 01 00 -T F4 02 00 00 -R 00 00 01 00 -T F4 02 00 00 DD 6E FA DD 66 FB 4D 44 03 03 DD -R 00 00 01 00 -T FF 02 00 00 71 FA DD 70 FB DD 4E FC DD 46 FD -R 00 00 01 00 -T 0A 03 00 00 71 23 70 -R 00 00 01 00 -T 0D 03 00 00 -R 00 00 01 00 -T 0D 03 00 00 18 95 -R 00 00 01 00 -T 0F 03 00 00 -R 00 00 01 00 -T 0F 03 00 00 DD 6E FA DD 66 FB AF 77 23 77 C3 -R 00 00 01 00 -T 1A 03 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcb/setgrent.rel b/lib/relcb/setgrent.rel deleted file mode 100644 index 6572fa85..00000000 --- a/lib/relcb/setgrent.rel +++ /dev/null @@ -1,86 +0,0 @@ -XL4 -H 5 areas B global symbols -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S close Ref00000000 -S __getgrent Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S open Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6B flags 0 -S endgrent Def0000002E -S getgrent Def0000004D -S setgrent Def00000000 -A CSTR size B flags 0 -A IDATA0 size 4 flags 0 -S _path_group Def00000002 -A CDATA0 size 4 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D5 2A 00 00 00 00 7D A4 3C 28 0C -R 00 00 01 00 00 06 03 00 -T 09 00 00 00 -R 00 00 01 00 -T 09 00 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 00 06 03 00 2B 0B 01 00 -T 0F 00 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 01 00 02 0A 03 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 21 00 80 E5 2A 02 00 00 00 E5 3E -R 00 00 01 00 00 09 03 00 -T 1E 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 23 00 00 00 00 00 00 00 F1 F1 22 00 00 00 00 -R 00 00 01 00 02 04 03 00 00 0B 03 00 -T 2A 00 00 00 D1 C3 00 00 00 00 -R 00 00 01 00 02 06 00 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 D5 2A 00 00 00 00 7D A4 3C 28 0C -R 00 00 01 00 00 06 03 00 -T 37 00 00 00 -R 00 00 01 00 -T 37 00 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 00 06 03 00 2B 0B 01 00 -T 3D 00 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 01 00 02 0A 03 00 -T 43 00 00 00 -R 00 00 01 00 -T 43 00 00 00 21 FF FF 22 00 00 00 00 D1 C3 -R 00 00 01 00 00 08 03 00 -T 4B 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 D5 2A 00 00 00 00 7D A4 3C 20 05 -R 00 00 01 00 00 06 03 00 -T 56 00 00 00 -R 00 00 01 00 -T 56 00 00 00 21 00 00 18 0C -R 00 00 01 00 -T 5B 00 00 00 -R 00 00 01 00 -T 5B 00 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 00 06 03 00 2B 0B 02 00 -T 61 00 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 02 00 02 0A 03 00 -T 67 00 00 00 -R 00 00 01 00 -T 67 00 00 00 D1 C3 00 00 00 00 -R 00 00 01 00 02 06 00 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2F 65 74 63 2F 67 72 6F 75 70 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 00 00 00 00 FF FF 00 00 00 00 -R 00 00 04 00 00 06 02 00 diff --git a/lib/relcb/setjmpb.rel b/lib/relcb/setjmpb.rel deleted file mode 100644 index 1f4ca947..00000000 --- a/lib/relcb/setjmpb.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2A flags 0 -S setjmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 04 00 39 EB 73 23 72 23 71 23 -R 00 00 01 00 -T 0B 00 00 00 70 23 DD E5 D1 73 23 72 23 FD E5 -R 00 00 01 00 -T 16 00 00 00 D1 73 23 72 23 F1 D1 D5 F5 73 23 -R 00 00 01 00 -T 21 00 00 00 72 23 77 21 00 00 C3 00 00 00 00 -R 00 00 01 00 02 0B 00 00 diff --git a/lib/relcb/setpwent.rel b/lib/relcb/setpwent.rel deleted file mode 100644 index e4fcd1d3..00000000 --- a/lib/relcb/setpwent.rel +++ /dev/null @@ -1,112 +0,0 @@ -XL4 -H 5 areas D global symbols -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S printf Ref00000000 -S close Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S __getpwent Ref00000000 -S open Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 82 flags 0 -S endpwent Def00000045 -S getpwent Def00000064 -S setpwent Def00000000 -A CSTR size 27 flags 0 -A IDATA0 size 4 flags 0 -S _path_passwd Def00000002 -A CDATA0 size 4 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D5 2A 00 00 00 00 7D A4 3C 28 0C -R 00 00 01 00 00 06 03 00 -T 09 00 00 00 -R 00 00 01 00 -T 09 00 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 00 06 03 00 2B 0B 02 00 -T 0F 00 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 02 00 02 0A 03 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 21 00 80 E5 2A 02 00 00 00 E5 3E -R 00 00 01 00 00 09 03 00 -T 1E 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 -T 23 00 00 00 00 00 00 00 F1 F1 22 00 00 00 00 -R 00 00 01 00 02 04 03 00 00 0B 03 00 -T 2A 00 00 00 7D A4 3C 20 12 -R 00 00 01 00 -T 2F 00 00 00 -R 00 00 01 00 -T 2F 00 00 00 2A 00 00 00 00 E5 21 0C 00 00 00 -R 00 00 01 00 02 05 04 00 00 0B 02 00 -T 36 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 01 00 02 0B 01 00 -T 3C 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 03 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 D1 C3 00 00 00 00 -R 00 00 01 00 02 06 00 00 -T 45 00 00 00 -R 00 00 01 00 -T 45 00 00 00 D5 2A 00 00 00 00 7D A4 3C 28 0C -R 00 00 01 00 00 06 03 00 -T 4E 00 00 00 -R 00 00 01 00 -T 4E 00 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 00 06 03 00 2B 0B 02 00 -T 54 00 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 02 00 02 0A 03 00 -T 5A 00 00 00 -R 00 00 01 00 -T 5A 00 00 00 21 FF FF 22 00 00 00 00 D1 C3 -R 00 00 01 00 00 08 03 00 -T 62 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 D5 2A 00 00 00 00 7D A4 3C 28 0E -R 00 00 01 00 00 06 03 00 -T 6D 00 00 00 -R 00 00 01 00 -T 6D 00 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 00 06 03 00 2B 0B 05 00 -T 73 00 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 05 00 02 0A 03 00 -T 7A 00 00 00 03 -R 00 00 01 00 -T 7B 00 00 00 -R 00 00 01 00 -T 7B 00 00 00 21 00 00 -R 00 00 01 00 -T 7E 00 00 00 -R 00 00 01 00 -T 7E 00 00 00 D1 C3 00 00 00 00 -R 00 00 01 00 02 06 00 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2F 65 74 63 2F 70 61 73 73 77 64 -R 00 00 02 00 -T 0B 00 00 00 00 -R 00 00 02 00 -T 0C 00 00 00 -R 00 00 02 00 -T 0C 00 00 00 45 52 52 4E 4F 20 25 64 20 6F 70 -R 00 00 02 00 -T 17 00 00 00 65 6E 69 6E 67 20 70 61 73 73 77 -R 00 00 02 00 -T 22 00 00 00 6F 72 64 0A 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 00 00 00 00 FF FF 00 00 00 00 -R 00 00 04 00 00 06 02 00 diff --git a/lib/relcb/setvbuff.rel b/lib/relcb/setvbuff.rel deleted file mode 100644 index 4757b008..00000000 --- a/lib/relcb/setvbuff.rel +++ /dev/null @@ -1,105 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S fflush Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S free Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S calloc Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11A flags 0 -S setvbuf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 03 00 2B 0A 00 00 -T 06 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 02 09 04 00 -T 0C 00 00 00 0C 00 DD 5E 02 DD 56 03 19 7E E6 -R 00 00 01 00 -T 17 00 00 00 04 28 15 -R 00 00 01 00 -T 1A 00 00 00 -R 00 00 01 00 -T 1A 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 25 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 02 00 -T 2A 00 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 09 04 00 -T 2F 00 00 00 -R 00 00 01 00 -T 2F 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 3A 00 00 00 E6 F8 77 23 7E E6 FF 77 21 06 00 -R 00 00 01 00 -T 45 00 00 00 09 E5 21 0E 00 09 EB E1 73 23 72 -R 00 00 01 00 -T 50 00 00 00 21 08 00 09 E5 21 0E 00 09 11 -R 00 00 01 00 -T 5A 00 00 00 08 00 19 EB E1 73 23 72 21 0C 00 -R 00 00 01 00 -T 65 00 00 00 09 7E F6 02 77 23 7E F6 00 77 DD -R 00 00 01 00 -T 70 00 00 00 7E 0A DD B6 0B 28 0A 3E 01 DD AE -R 00 00 01 00 -T 7B 00 00 00 0A DD B6 0B 20 6B -R 00 00 01 00 -T 81 00 00 00 -R 00 00 01 00 -T 81 00 00 00 -R 00 00 01 00 -T 81 00 00 00 -R 00 00 01 00 -T 81 00 00 00 DD 7E 0C DD B6 0D 20 08 -R 00 00 01 00 -T 89 00 00 00 -R 00 00 01 00 -T 89 00 00 00 DD 36 0C 00 DD 36 0D 01 -R 00 00 01 00 -T 91 00 00 00 -R 00 00 01 00 -T 91 00 00 00 DD 7E 04 DD B6 05 20 20 DD 4E 0C -R 00 00 01 00 -T 9C 00 00 00 DD 46 0D 11 01 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 -T A4 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 05 00 02 0A 04 00 -T AB 00 00 00 75 04 DD 74 05 7D B4 20 05 -R 00 00 01 00 -T B4 00 00 00 -R 00 00 01 00 -T B4 00 00 00 -R 00 00 01 00 -T B4 00 00 00 -R 00 00 01 00 -T B4 00 00 00 21 FF FF 18 5E -R 00 00 01 00 -T B9 00 00 00 -R 00 00 01 00 -T B9 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 DD -R 00 00 01 00 -T C4 00 00 00 5E 04 DD 56 05 73 23 72 21 08 00 -R 00 00 01 00 -T CF 00 00 00 09 E5 DD 6E 0C DD 66 0D 19 EB E1 -R 00 00 01 00 -T DA 00 00 00 73 23 72 21 0C 00 09 7E DD B6 0A -R 00 00 01 00 -T E5 00 00 00 77 23 7E DD B6 0B 77 -R 00 00 01 00 -T EC 00 00 00 -R 00 00 01 00 -T EC 00 00 00 DD 6E 02 DD 66 03 23 23 E5 21 -R 00 00 01 00 -T F6 00 00 00 04 00 DD 4E 02 DD 46 03 09 E5 21 -R 00 00 01 00 -T 01 01 00 00 06 00 09 5E 23 56 E1 73 23 72 E1 -R 00 00 01 00 -T 0C 01 00 00 73 23 72 69 60 73 23 72 21 00 00 -R 00 00 01 00 -T 17 01 00 00 -R 00 00 01 00 -T 17 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcb/sleep.rel b/lib/relcb/sleep.rel deleted file mode 100644 index a7ba30de..00000000 --- a/lib/relcb/sleep.rel +++ /dev/null @@ -1,74 +0,0 @@ -XL4 -H 2 areas A global symbols -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S alarm Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S pause Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S signal Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size BC flags 0 -S sleep Def00000003 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 -T 03 00 00 00 -R 00 00 01 00 -T 03 00 00 00 CD 00 00 00 00 FA FF 11 00 00 3E -R 00 00 01 00 02 05 05 00 -T 0C 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 11 00 00 00 00 00 00 00 DD 75 FA DD 74 FB 06 -R 00 00 01 00 02 04 04 00 -T 1A 00 00 00 00 11 00 00 00 00 0E 00 00 00 00 -R 00 00 01 00 00 06 01 00 29 0B 01 00 -T 20 00 00 00 C5 D5 11 0B 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 07 00 -T 28 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 07 00 02 09 04 00 -T 2F 00 00 00 DD 75 FC DD 74 FD DD 71 FE DD 70 -R 00 00 01 00 -T 3A 00 00 00 FF DD 7E FA DD B6 FB 28 2B -R 00 00 01 00 -T 43 00 00 00 -R 00 00 01 00 -T 43 00 00 00 DD 4E FA DD 46 FB DD 6E 02 DD 66 -R 00 00 01 00 -T 4E 00 00 00 03 A7 ED 42 38 05 21 01 00 18 0F -R 00 00 01 00 -T 59 00 00 00 -R 00 00 01 00 -T 59 00 00 00 DD 4E 02 DD 46 03 DD 6E FA DD 66 -R 00 00 01 00 -T 64 00 00 00 FB A7 ED 42 -R 00 00 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 -T 6E 00 00 00 -R 00 00 01 00 -T 6E 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 01 00 -T 76 00 00 00 21 00 00 00 00 CD 00 00 00 00 3E -R 00 00 01 00 02 05 01 00 02 0A 04 00 -T 7D 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 82 00 00 00 00 00 00 00 DD 5E FA DD 56 FB 3E -R 00 00 01 00 02 04 04 00 -T 8B 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 90 00 00 00 00 00 00 00 DD 75 02 DD 74 03 DD -R 00 00 01 00 02 04 04 00 -T 99 00 00 00 4E FE DD 46 FF C5 DD 4E FC DD 46 -R 00 00 01 00 -T A4 00 00 00 FD C5 11 0B 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 07 00 -T AC 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 07 00 02 09 04 00 -T B3 00 00 00 DD 6E 02 DD 66 03 C3 00 00 00 00 -R 00 00 01 00 02 0B 02 00 diff --git a/lib/relcb/sprintf.rel b/lib/relcb/sprintf.rel deleted file mode 100644 index 4c01de59..00000000 --- a/lib/relcb/sprintf.rel +++ /dev/null @@ -1,43 +0,0 @@ -XL4 -H 4 areas 7 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S vfprintf Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 44 flags 0 -S sprintf Def00000000 -A IDATA0 size 18 flags 0 -A CDATA0 size 18 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 10 00 39 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 01 02 00 09 DD 75 FC DD 74 FD DD -R 00 00 01 00 -T 14 00 00 00 4E 0A DD 46 0B ED 43 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 1D 00 00 00 E5 DD 4E 0C DD 46 0D 11 -R 00 00 01 00 -T 25 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 2B 09 03 00 -T 2A 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 03 00 02 09 01 00 -T 31 00 00 00 75 FE DD 74 FF 2A 00 00 00 00 36 -R 00 00 01 00 00 0A 02 00 -T 3A 00 00 00 00 DD 6E FE DD 66 FF C3 -R 00 00 01 00 -T 42 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF -R 00 00 03 00 -T 0A 00 00 00 FF FF 20 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T 15 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcb/sscanf.rel b/lib/relcb/sscanf.rel deleted file mode 100644 index 796702a9..00000000 --- a/lib/relcb/sscanf.rel +++ /dev/null @@ -1,39 +0,0 @@ -XL4 -H 4 areas 7 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S vfscanf Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 39 flags 0 -S sscanf Def00000000 -A IDATA0 size 18 flags 0 -A CDATA0 size 18 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 10 00 39 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 01 02 00 09 DD 75 FC DD 74 FD DD -R 00 00 01 00 -T 14 00 00 00 4E 0A DD 46 0B ED 43 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 1D 00 00 00 E5 DD 4E 0C DD 46 0D 11 -R 00 00 01 00 -T 25 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 2B 09 02 00 -T 2A 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 02 00 02 09 01 00 -T 31 00 00 00 75 FE DD 74 FF C3 00 00 00 00 -R 00 00 01 00 02 0A 00 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 FF FF 00 00 00 00 FF FF -R 00 00 03 00 -T 0A 00 00 00 FF FF 10 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T 15 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcb/stdio0.rel b/lib/relcb/stdio0.rel deleted file mode 100644 index 929995e5..00000000 --- a/lib/relcb/stdio0.rel +++ /dev/null @@ -1,145 +0,0 @@ -XL4 -H 5 areas 10 global symbols -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S fflush Ref00000000 -S atexit Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S close Ref00000000 -S isatty Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size A9 flags 0 -S __stdio_init_vars Def0000006B -S __stdio_close_all Def00000000 -A UDATA0 size 200 flags 0 -A IDATA0 size 4C flags 0 -S stderr Def00000032 -S stdin Def00000002 -S stdout Def0000001A -S __IO_list Def00000000 -A CDATA0 size 4C flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 2A -R 00 00 01 00 02 05 07 00 -T 06 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 11 -R 00 00 01 00 00 04 03 00 -T 0F 00 00 00 1A 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 01 00 -T 14 00 00 00 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 04 01 00 02 09 06 00 -T 1A 00 00 00 32 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 01 00 -T 1F 00 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 06 00 -T 24 00 00 00 -R 00 00 01 00 -T 24 00 00 00 DD 7E FE DD B6 FF 28 3C -R 00 00 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 01 00 -T 34 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 01 00 02 0A 06 00 -T 3B 00 00 00 0A 00 DD 4E FE DD 46 FF 09 5E 23 -R 00 00 01 00 -T 46 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 04 00 02 0B 04 00 -T 4C 00 00 00 CD 00 00 00 00 21 0A 00 09 36 FF -R 00 00 01 00 02 05 06 00 -T 55 00 00 00 23 36 FF 21 16 00 09 56 23 66 6A -R 00 00 01 00 -T 60 00 00 00 DD 75 FE DD 74 FF 18 BC -R 00 00 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 6B 00 00 00 -R 00 00 01 00 -T 6B 00 00 00 C5 D5 2A 4A 00 00 00 7D B4 20 02 -R 00 00 01 00 00 07 03 00 -T 74 00 00 00 -R 00 00 01 00 -T 74 00 00 00 18 2E -R 00 00 01 00 -T 76 00 00 00 -R 00 00 01 00 -T 76 00 00 00 21 00 00 22 4A 00 00 00 11 01 00 -R 00 00 01 00 00 08 03 00 -T 7F 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 05 00 02 0A 05 00 -T 85 00 00 00 00 00 00 00 7D B4 28 0C -R 00 00 01 00 02 04 06 00 -T 8B 00 00 00 -R 00 00 01 00 -T 8B 00 00 00 21 26 00 00 00 7E F6 01 77 23 7E -R 00 00 01 00 00 05 03 00 -T 94 00 00 00 F6 00 77 -R 00 00 01 00 -T 97 00 00 00 -R 00 00 01 00 -T 97 00 00 00 0E 00 00 00 00 11 00 00 00 00 3E -R 00 00 01 00 29 05 01 00 00 0A 01 00 -T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T A2 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 06 00 -T A4 00 00 00 -R 00 00 01 00 -T A4 00 00 00 D1 C1 C3 00 00 00 00 -R 00 00 01 00 02 07 00 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 01 00 00 -R 00 00 02 00 -T 00 01 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 1A 00 00 00 -R 00 00 03 00 -T 1A 00 00 00 -R 00 00 03 00 -T 32 00 00 00 -R 00 00 03 00 -T 32 00 00 00 -R 00 00 03 00 -T 4A 00 00 00 -R 00 00 03 00 -T 4A 00 00 00 -R 00 00 03 00 -T 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 00 06 02 00 00 0A 02 00 -T 06 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 0A 00 00 00 00 01 00 00 00 00 10 00 00 00 00 -R 00 00 04 00 00 04 02 00 -T 13 00 00 00 00 00 00 00 00 00 00 00 01 00 00 -R 00 00 04 00 00 0B 02 00 -T 1C 00 00 00 00 01 00 00 00 01 00 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 20 00 00 00 00 01 00 00 00 02 00 00 01 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 26 00 00 00 20 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 -T 31 00 00 00 00 40 00 00 00 40 00 00 00 -R 00 00 04 00 00 05 03 00 00 09 03 00 -T 36 00 00 00 40 00 00 00 40 00 00 00 -R 00 00 04 00 00 04 03 00 00 08 03 00 -T 3A 00 00 00 42 00 00 00 02 00 22 00 00 00 00 -R 00 00 04 00 00 04 03 00 -T 43 00 00 00 00 00 00 00 00 00 00 01 00 -R 00 00 04 00 diff --git a/lib/relcb/strcat.rel b/lib/relcb/strcat.rel deleted file mode 100644 index cf293580..00000000 --- a/lib/relcb/strcat.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strlen Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S strcpy Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S strcat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 3E 00 00 00 00 -R 00 00 01 00 02 05 02 00 2B 0B 01 00 -T 06 00 00 00 21 00 00 00 00 CD 00 00 00 00 D1 -R 00 00 01 00 02 05 01 00 02 0A 03 00 -T 0D 00 00 00 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 04 00 -T 12 00 00 00 00 00 00 00 CD 00 00 00 00 DD 6E -R 00 00 01 00 02 04 04 00 02 09 03 00 -T 19 00 00 00 02 DD 66 03 C3 00 00 00 00 -R 00 00 01 00 02 09 00 00 diff --git a/lib/relcb/strchr.rel b/lib/relcb/strchr.rel deleted file mode 100644 index 9509dfbe..00000000 --- a/lib/relcb/strchr.rel +++ /dev/null @@ -1,47 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3B flags 0 -S strchr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF -R 00 00 01 00 02 05 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 DD 6E 02 DD 66 03 46 DD 70 FE 48 -R 00 00 01 00 -T 10 00 00 00 06 00 DD 6E 04 DD 66 05 A7 ED 42 -R 00 00 01 00 -T 1B 00 00 00 20 08 -R 00 00 01 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 DD 6E 02 DD 66 03 18 09 -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 AF DD B6 FE 20 06 -R 00 00 01 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 21 00 00 -R 00 00 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 18 CA -R 00 00 01 00 diff --git a/lib/relcb/strcmp.rel b/lib/relcb/strcmp.rel deleted file mode 100644 index 01788b91..00000000 --- a/lib/relcb/strcmp.rel +++ /dev/null @@ -1,43 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 57 flags 0 -S strcmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF DD 6E 02 DD -R 00 00 01 00 02 05 01 00 -T 09 00 00 00 66 03 DD 75 FA DD 74 FB DD 71 FC -R 00 00 01 00 -T 14 00 00 00 DD 70 FD -R 00 00 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD -R 00 00 01 00 -T 22 00 00 00 74 FD 2B 46 DD 70 FF DD 6E FA DD -R 00 00 01 00 -T 2D 00 00 00 66 FB 23 DD 75 FA DD 74 FB 2B 4E -R 00 00 01 00 -T 38 00 00 00 DD 71 FE 79 B8 20 08 AF DD B6 FE -R 00 00 01 00 -T 43 00 00 00 28 02 -R 00 00 01 00 -T 45 00 00 00 -R 00 00 01 00 -T 45 00 00 00 -R 00 00 01 00 -T 45 00 00 00 -R 00 00 01 00 -T 45 00 00 00 18 D0 -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 DD 4E FF 06 00 DD 6E FE 26 00 A7 -R 00 00 01 00 -T 52 00 00 00 ED 42 C3 00 00 00 00 -R 00 00 01 00 02 07 00 00 diff --git a/lib/relcb/strcpy.rel b/lib/relcb/strcpy.rel deleted file mode 100644 index f4f8b9aa..00000000 --- a/lib/relcb/strcpy.rel +++ /dev/null @@ -1,26 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S memcpy Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strlen Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 27 flags 0 -S strcpy Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 59 50 3E -R 00 00 01 00 02 05 03 00 -T 06 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 0B 00 00 00 00 00 00 00 23 E5 DD 4E 04 DD 46 -R 00 00 01 00 02 04 04 00 -T 14 00 00 00 05 DD 5E 02 DD 56 03 3E -R 00 00 01 00 -T 1C 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 21 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 04 00 02 0A 01 00 diff --git a/lib/relcb/strcspn.rel b/lib/relcb/strcspn.rel deleted file mode 100644 index 4a1ee5fe..00000000 --- a/lib/relcb/strcspn.rel +++ /dev/null @@ -1,43 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strchr Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 52 flags 0 -S strcspn Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 66 03 DD 75 FE DD 74 FF -R 00 00 01 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 DD 6E 02 DD 66 03 AF B6 28 25 DD -R 00 00 01 00 -T 1C 00 00 00 6E 02 DD 66 03 23 DD 75 02 DD 74 -R 00 00 01 00 -T 27 00 00 00 03 2B 4E 06 00 DD 5E 04 DD 56 05 -R 00 00 01 00 -T 32 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 01 00 02 0A 01 00 -T 38 00 00 00 00 00 00 00 7D B4 20 02 -R 00 00 01 00 02 04 02 00 -T 3E 00 00 00 -R 00 00 01 00 -T 3E 00 00 00 -R 00 00 01 00 -T 3E 00 00 00 -R 00 00 01 00 -T 3E 00 00 00 18 D1 -R 00 00 01 00 -T 40 00 00 00 -R 00 00 01 00 -T 40 00 00 00 DD 4E FE DD 46 FF DD 6E 02 DD 66 -R 00 00 01 00 -T 4B 00 00 00 03 A7 ED 42 C3 00 00 00 00 -R 00 00 01 00 02 09 00 00 diff --git a/lib/relcb/strdup.rel b/lib/relcb/strdup.rel deleted file mode 100644 index f7c4cc98..00000000 --- a/lib/relcb/strdup.rel +++ /dev/null @@ -1,41 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S memcpy Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strlen Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S malloc Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 52 flags 0 -S strdup Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 5E 02 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 02 00 -T 0E 00 00 00 00 00 00 00 CD 00 00 00 00 23 DD -R 00 00 01 00 02 04 02 00 02 09 03 00 -T 15 00 00 00 75 FC DD 74 FD EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 06 00 -T 1D 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 06 00 02 0A 03 00 -T 24 00 00 00 75 FE DD 74 FF 7D B4 28 1C -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 DD 6E FC DD 66 FD E5 DD 4E 02 DD -R 00 00 01 00 -T 38 00 00 00 46 03 DD 5E FE DD 56 FF 3E -R 00 00 01 00 -T 41 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 46 00 00 00 00 00 00 00 F1 -R 00 00 01 00 02 04 03 00 -T 49 00 00 00 -R 00 00 01 00 -T 49 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 01 00 diff --git a/lib/relcb/stricmp.rel b/lib/relcb/stricmp.rel deleted file mode 100644 index e1c407bb..00000000 --- a/lib/relcb/stricmp.rel +++ /dev/null @@ -1,84 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S __ctype Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 80 flags 0 -S stricmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF -R 00 00 01 00 02 05 02 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T 10 00 00 00 74 03 2B 46 DD 70 FE DD 6E 04 DD -R 00 00 01 00 -T 1B 00 00 00 66 05 23 DD 75 04 DD 74 05 2B 4E -R 00 00 01 00 -T 26 00 00 00 DD 71 FF 78 B9 28 43 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 DD 4E FF 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 01 00 -T 36 00 00 00 7E E6 02 28 08 DD 7E FF EE 20 47 -R 00 00 01 00 -T 41 00 00 00 18 03 -R 00 00 01 00 -T 43 00 00 00 -R 00 00 01 00 -T 43 00 00 00 DD 46 FF -R 00 00 01 00 -T 46 00 00 00 -R 00 00 01 00 -T 46 00 00 00 C5 DD 4E FE 06 00 21 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 4F 00 00 00 09 7E E6 02 28 07 DD 7E FE EE 20 -R 00 00 01 00 -T 5A 00 00 00 18 03 -R 00 00 01 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 DD 7E FE -R 00 00 01 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 C1 B8 28 0B -R 00 00 01 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 DD 7E FE DD 96 FF 6F 26 00 18 0F -R 00 00 01 00 -T 6E 00 00 00 -R 00 00 01 00 -T 6E 00 00 00 18 08 -R 00 00 01 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 AF DD B6 FE 20 02 -R 00 00 01 00 -T 76 00 00 00 -R 00 00 01 00 -T 76 00 00 00 18 02 -R 00 00 01 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 18 8B -R 00 00 01 00 -T 7A 00 00 00 -R 00 00 01 00 -T 7A 00 00 00 21 00 00 -R 00 00 01 00 -T 7D 00 00 00 -R 00 00 01 00 -T 7D 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/strlen.rel b/lib/relcb/strlen.rel deleted file mode 100644 index d981be8e..00000000 --- a/lib/relcb/strlen.rel +++ /dev/null @@ -1,33 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 37 flags 0 -S strlen Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 01 00 -T 09 00 00 00 66 03 DD 75 FE DD 74 FF -R 00 00 01 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 DD 6E FE DD 66 FF AF B6 28 0A -R 00 00 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 23 00 00 00 -R 00 00 01 00 -T 23 00 00 00 18 EC -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 DD 4E 02 DD 46 03 DD 6E FE DD 66 -R 00 00 01 00 -T 30 00 00 00 FF A7 ED 42 C3 00 00 00 00 -R 00 00 01 00 02 09 00 00 diff --git a/lib/relcb/strncat.rel b/lib/relcb/strncat.rel deleted file mode 100644 index 1d17839a..00000000 --- a/lib/relcb/strncat.rel +++ /dev/null @@ -1,59 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S memcpy Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strlen Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S memchr Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9F flags 0 -S strncat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 5E 02 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 02 00 -T 0E 00 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 02 00 02 09 03 00 -T 15 00 00 00 02 DD 56 03 19 DD 75 FC DD 74 FD -R 00 00 01 00 -T 20 00 00 00 DD 6E 0A DD 66 0B E5 01 00 00 DD -R 00 00 01 00 -T 2B 00 00 00 5E 04 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 06 00 -T 33 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 06 00 02 09 03 00 -T 3A 00 00 00 75 FE DD 74 FF 7D B4 28 28 -R 00 00 01 00 -T 43 00 00 00 -R 00 00 01 00 -T 43 00 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 -R 00 00 01 00 -T 4E 00 00 00 FF A7 ED 42 23 E5 DD 4E 04 DD 46 -R 00 00 01 00 -T 59 00 00 00 05 DD 5E FC DD 56 FD 3E -R 00 00 01 00 -T 61 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 66 00 00 00 00 00 00 00 F1 18 2B -R 00 00 01 00 02 04 03 00 -T 6B 00 00 00 -R 00 00 01 00 -T 6B 00 00 00 DD 6E 0A DD 66 0B E5 DD 4E 04 DD -R 00 00 01 00 -T 76 00 00 00 46 05 DD 5E FC DD 56 FD 3E -R 00 00 01 00 -T 7F 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 84 00 00 00 00 00 00 00 F1 DD 6E 0A DD 66 0B -R 00 00 01 00 02 04 03 00 -T 8D 00 00 00 DD 4E FC DD 46 FD 09 36 00 -R 00 00 01 00 -T 96 00 00 00 -R 00 00 01 00 -T 96 00 00 00 DD 6E 02 DD 66 03 C3 00 00 00 00 -R 00 00 01 00 02 0B 01 00 diff --git a/lib/relcb/strncmp.rel b/lib/relcb/strncmp.rel deleted file mode 100644 index bf59ce30..00000000 --- a/lib/relcb/strncmp.rel +++ /dev/null @@ -1,51 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 61 flags 0 -S strncmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 36 FE 00 -R 00 00 01 00 02 05 01 00 -T 09 00 00 00 DD 36 FF 00 -R 00 00 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 DD 6E 0A DD 66 0B 2B DD 75 0A DD -R 00 00 01 00 -T 18 00 00 00 74 0B 23 7D B4 28 32 -R 00 00 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 DD 6E 04 DD 66 05 23 DD 75 04 DD -R 00 00 01 00 -T 2A 00 00 00 74 05 2B 46 DD 70 FF DD 6E 02 DD -R 00 00 01 00 -T 35 00 00 00 66 03 23 DD 75 02 DD 74 03 2B 4E -R 00 00 01 00 -T 40 00 00 00 DD 71 FE 79 B8 20 06 AF DD B6 FE -R 00 00 01 00 -T 4B 00 00 00 20 02 -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 18 02 -R 00 00 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 18 BC -R 00 00 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 DD 4E FF 06 00 DD 6E FE 26 00 A7 -R 00 00 01 00 -T 5C 00 00 00 ED 42 C3 00 00 00 00 -R 00 00 01 00 02 07 00 00 diff --git a/lib/relcb/strncpy.rel b/lib/relcb/strncpy.rel deleted file mode 100644 index bcaf89d0..00000000 --- a/lib/relcb/strncpy.rel +++ /dev/null @@ -1,59 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7F flags 0 -S strncpy Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 01 00 -T 09 00 00 00 66 03 DD 75 FC DD 74 FD DD 71 FE -R 00 00 01 00 -T 14 00 00 00 DD 70 FF -R 00 00 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 DD 7E 0A DD B6 0B 28 33 -R 00 00 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 DD 6E 0A DD 66 0B 2B DD 75 0A DD -R 00 00 01 00 -T 2A 00 00 00 74 0B DD 6E FE DD 66 FF 23 DD 75 -R 00 00 01 00 -T 35 00 00 00 FE DD 74 FF 2B 46 DD 6E FC DD 66 -R 00 00 01 00 -T 40 00 00 00 FD 23 DD 75 FC DD 74 FD 2B 70 04 -R 00 00 01 00 -T 4B 00 00 00 05 20 02 -R 00 00 01 00 -T 4E 00 00 00 -R 00 00 01 00 -T 4E 00 00 00 18 02 -R 00 00 01 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 18 C5 -R 00 00 01 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 DD 6E 0A DD 66 0B 2B DD 75 0A DD -R 00 00 01 00 -T 5D 00 00 00 74 0B 23 7D B4 28 12 -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD -R 00 00 01 00 -T 6F 00 00 00 74 FD 2B 36 00 18 DC -R 00 00 01 00 -T 76 00 00 00 -R 00 00 01 00 -T 76 00 00 00 DD 6E 02 DD 66 03 C3 00 00 00 00 -R 00 00 01 00 02 0B 00 00 diff --git a/lib/relcb/strnicmp.rel b/lib/relcb/strnicmp.rel deleted file mode 100644 index f21805a2..00000000 --- a/lib/relcb/strnicmp.rel +++ /dev/null @@ -1,90 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S __ctype Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 93 flags 0 -S strnicmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF -R 00 00 01 00 02 05 02 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 DD 6E 0A DD 66 0B 2B DD 75 0A DD -R 00 00 01 00 -T 10 00 00 00 74 0B 23 7D B4 28 76 -R 00 00 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T 22 00 00 00 74 03 2B 46 DD 70 FE DD 6E 04 DD -R 00 00 01 00 -T 2D 00 00 00 66 05 23 DD 75 04 DD 74 05 2B 4E -R 00 00 01 00 -T 38 00 00 00 DD 71 FF 78 B9 28 43 -R 00 00 01 00 -T 3F 00 00 00 -R 00 00 01 00 -T 3F 00 00 00 DD 4E FF 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 01 00 -T 48 00 00 00 7E E6 02 28 08 DD 7E FF EE 20 47 -R 00 00 01 00 -T 53 00 00 00 18 03 -R 00 00 01 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 DD 46 FF -R 00 00 01 00 -T 58 00 00 00 -R 00 00 01 00 -T 58 00 00 00 C5 DD 4E FE 06 00 21 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 61 00 00 00 09 7E E6 02 28 07 DD 7E FE EE 20 -R 00 00 01 00 -T 6C 00 00 00 18 03 -R 00 00 01 00 -T 6E 00 00 00 -R 00 00 01 00 -T 6E 00 00 00 DD 7E FE -R 00 00 01 00 -T 71 00 00 00 -R 00 00 01 00 -T 71 00 00 00 C1 B8 28 0B -R 00 00 01 00 -T 75 00 00 00 -R 00 00 01 00 -T 75 00 00 00 DD 7E FE DD 96 FF 6F 26 00 18 10 -R 00 00 01 00 -T 80 00 00 00 -R 00 00 01 00 -T 80 00 00 00 18 08 -R 00 00 01 00 -T 82 00 00 00 -R 00 00 01 00 -T 82 00 00 00 AF DD B6 FE 20 02 -R 00 00 01 00 -T 88 00 00 00 -R 00 00 01 00 -T 88 00 00 00 18 03 -R 00 00 01 00 -T 8A 00 00 00 -R 00 00 01 00 -T 8A 00 00 00 -R 00 00 01 00 -T 8A 00 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 8D 00 00 00 -R 00 00 01 00 -T 8D 00 00 00 21 00 00 -R 00 00 01 00 -T 90 00 00 00 -R 00 00 01 00 -T 90 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/strpbrk.rel b/lib/relcb/strpbrk.rel deleted file mode 100644 index f5d8c20b..00000000 --- a/lib/relcb/strpbrk.rel +++ /dev/null @@ -1,51 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strchr Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 40 flags 0 -S strpbrk Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 03 00 00 00 -R 00 00 01 00 -T 03 00 00 00 -R 00 00 01 00 -T 03 00 00 00 DD 6E 02 DD 66 03 AF B6 28 2D -R 00 00 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 DD 6E 02 DD 66 03 4E 06 00 DD 5E -R 00 00 01 00 -T 18 00 00 00 04 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 01 00 -T 1F 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 01 00 02 09 03 00 -T 26 00 00 00 28 08 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 DD 6E 02 DD 66 03 18 0D -R 00 00 01 00 -T 30 00 00 00 -R 00 00 01 00 -T 30 00 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 18 C9 -R 00 00 01 00 -T 3A 00 00 00 -R 00 00 01 00 -T 3A 00 00 00 21 00 00 -R 00 00 01 00 -T 3D 00 00 00 -R 00 00 01 00 -T 3D 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/strrchr.rel b/lib/relcb/strrchr.rel deleted file mode 100644 index f4f37e67..00000000 --- a/lib/relcb/strrchr.rel +++ /dev/null @@ -1,59 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strlen Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 68 flags 0 -S strrchr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 01 00 -T 0E 00 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 01 00 02 09 02 00 -T 15 00 00 00 02 DD 56 03 19 DD 75 FE DD 74 FF -R 00 00 01 00 -T 20 00 00 00 79 B0 20 08 -R 00 00 01 00 -T 24 00 00 00 -R 00 00 01 00 -T 24 00 00 00 DD 6E FE DD 66 FF 18 39 -R 00 00 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 DD 6E 02 DD 66 03 DD 4E FE DD 46 -R 00 00 01 00 -T 37 00 00 00 FF A7 ED 42 28 25 -R 00 00 01 00 -T 3D 00 00 00 -R 00 00 01 00 -T 3D 00 00 00 DD 6E FE DD 66 FF 2B DD 75 FE DD -R 00 00 01 00 -T 48 00 00 00 74 FF 4E 06 00 DD 6E 04 DD 66 05 -R 00 00 01 00 -T 53 00 00 00 A7 ED 42 20 08 -R 00 00 01 00 -T 58 00 00 00 -R 00 00 01 00 -T 58 00 00 00 DD 6E FE DD 66 FF 18 05 -R 00 00 01 00 -T 60 00 00 00 -R 00 00 01 00 -T 60 00 00 00 18 CA -R 00 00 01 00 -T 62 00 00 00 -R 00 00 01 00 -T 62 00 00 00 21 00 00 -R 00 00 01 00 -T 65 00 00 00 -R 00 00 01 00 -T 65 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/strsep.rel b/lib/relcb/strsep.rel deleted file mode 100644 index 72a6470b..00000000 --- a/lib/relcb/strsep.rel +++ /dev/null @@ -1,53 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S strpbrk Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6B flags 0 -S strsep Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 66 03 56 23 66 6A DD 75 FC DD 74 -R 00 00 01 00 -T 14 00 00 00 FD 7D B4 20 05 -R 00 00 01 00 -T 19 00 00 00 -R 00 00 01 00 -T 19 00 00 00 21 00 00 18 4A -R 00 00 01 00 -T 1E 00 00 00 -R 00 00 01 00 -T 1E 00 00 00 DD 4E 04 DD 46 05 DD 5E FC DD 56 -R 00 00 01 00 -T 29 00 00 00 FD 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 00 00 02 0B 00 00 -T 2F 00 00 00 CD 00 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 02 05 02 00 -T 38 00 00 00 7D B4 28 1C -R 00 00 01 00 -T 3C 00 00 00 -R 00 00 01 00 -T 3C 00 00 00 DD 6E FE DD 66 FF 23 E5 DD 6E 02 -R 00 00 01 00 -T 47 00 00 00 DD 66 03 C1 71 23 70 DD 6E FE DD -R 00 00 01 00 -T 52 00 00 00 66 FF 36 00 18 0A -R 00 00 01 00 -T 58 00 00 00 -R 00 00 01 00 -T 58 00 00 00 DD 6E 02 DD 66 03 AF 77 23 77 -R 00 00 01 00 -T 62 00 00 00 -R 00 00 01 00 -T 62 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcb/strspn.rel b/lib/relcb/strspn.rel deleted file mode 100644 index e39fb809..00000000 --- a/lib/relcb/strspn.rel +++ /dev/null @@ -1,71 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7B flags 0 -S strspn Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF DD 6E 02 DD -R 00 00 01 00 02 05 01 00 -T 09 00 00 00 66 03 DD 75 FA DD 74 FB AF DD 77 -R 00 00 01 00 -T 14 00 00 00 FE DD 77 FF -R 00 00 01 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 DD 6E FA DD 66 FB AF B6 28 50 -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 DD 6E 04 DD 66 05 DD 75 FC DD 74 -R 00 00 01 00 -T 2D 00 00 00 FD -R 00 00 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 DD 6E FC DD 66 FD AF B6 28 1C DD -R 00 00 01 00 -T 39 00 00 00 6E FC DD 66 FD E5 DD 6E FA DD 66 -R 00 00 01 00 -T 44 00 00 00 FB 7E E1 BE 28 0A -R 00 00 01 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 18 DA -R 00 00 01 00 -T 54 00 00 00 -R 00 00 01 00 -T 54 00 00 00 DD 6E FC DD 66 FD AF B6 20 02 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 18 12 -R 00 00 01 00 -T 60 00 00 00 -R 00 00 01 00 -T 60 00 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 18 A6 -R 00 00 01 00 -T 72 00 00 00 -R 00 00 01 00 -T 72 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 00 00 diff --git a/lib/relcb/strstr.rel b/lib/relcb/strstr.rel deleted file mode 100644 index 7f5d421b..00000000 --- a/lib/relcb/strstr.rel +++ /dev/null @@ -1,71 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strchr Ref00000000 -S strlen Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -S memcmp Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 86 flags 0 -S strstr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 59 50 3E -R 00 00 01 00 02 05 04 00 -T 08 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 0D 00 00 00 00 00 00 00 DD 75 FC DD 74 FD DD -R 00 00 01 00 02 04 03 00 -T 16 00 00 00 4E 02 DD 46 03 DD 71 FE DD 70 FF -R 00 00 01 00 -T 21 00 00 00 7D B4 20 08 -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 DD 6E FE DD 66 FF 18 56 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 DD 6E 04 DD 66 05 4E 06 00 DD 5E -R 00 00 01 00 -T 38 00 00 00 FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 01 00 -T 3F 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 01 00 02 09 03 00 -T 46 00 00 00 FE DD 74 FF 7D B4 28 32 -R 00 00 01 00 -T 4E 00 00 00 -R 00 00 01 00 -T 4E 00 00 00 DD 6E FC DD 66 FD E5 DD 4E 04 DD -R 00 00 01 00 -T 59 00 00 00 46 05 DD 5E FE DD 56 FF 3E -R 00 00 01 00 -T 62 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 67 00 00 00 00 00 00 00 F1 7D B4 20 08 -R 00 00 01 00 02 04 03 00 -T 6E 00 00 00 -R 00 00 01 00 -T 6E 00 00 00 DD 6E FE DD 66 FF 18 0D -R 00 00 01 00 -T 76 00 00 00 -R 00 00 01 00 -T 76 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 7E 00 00 00 -R 00 00 01 00 -T 7E 00 00 00 18 AD -R 00 00 01 00 -T 80 00 00 00 -R 00 00 01 00 -T 80 00 00 00 21 00 00 -R 00 00 01 00 -T 83 00 00 00 -R 00 00 01 00 -T 83 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/relcb/strtod.rel b/lib/relcb/strtod.rel deleted file mode 100644 index cfcedfe1..00000000 --- a/lib/relcb/strtod.rel +++ /dev/null @@ -1,6 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 0 flags 0 diff --git a/lib/relcb/strtok.rel b/lib/relcb/strtok.rel deleted file mode 100644 index 89c74e06..00000000 --- a/lib/relcb/strtok.rel +++ /dev/null @@ -1,86 +0,0 @@ -XL4 -H 4 areas 8 global symbols -S strpbrk Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S strspn Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size A1 flags 0 -S strtok Def00000000 -A IDATA0 size 2 flags 0 -A CDATA0 size 2 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 B6 03 20 16 -R 00 00 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 2A 00 00 00 00 7D B4 20 06 -R 00 00 01 00 00 05 02 00 -T 14 00 00 00 -R 00 00 01 00 -T 14 00 00 00 21 00 00 C3 9E 00 00 00 -R 00 00 01 00 00 08 01 00 -T 1A 00 00 00 -R 00 00 01 00 -T 1A 00 00 00 2A 00 00 00 00 DD 75 02 DD 74 03 -R 00 00 01 00 00 05 02 00 -T 23 00 00 00 -R 00 00 01 00 -T 23 00 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 -R 00 00 01 00 -T 2E 00 00 00 03 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 03 00 02 0B 03 00 -T 34 00 00 00 CD 00 00 00 00 4D 44 21 04 00 39 -R 00 00 01 00 02 05 02 00 -T 3D 00 00 00 7E 81 77 23 7E 88 77 DD 6E 02 DD -R 00 00 01 00 -T 48 00 00 00 66 03 AF B6 20 0B -R 00 00 01 00 -T 4E 00 00 00 -R 00 00 01 00 -T 4E 00 00 00 21 00 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 00 08 02 00 -T 57 00 00 00 18 45 -R 00 00 01 00 -T 59 00 00 00 -R 00 00 01 00 -T 59 00 00 00 DD 6E 02 DD 66 03 DD 75 FE DD 74 -R 00 00 01 00 -T 64 00 00 00 FF DD 4E 04 DD 46 05 EB 3E -R 00 00 01 00 -T 6D 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 72 00 00 00 00 00 00 00 DD 75 02 DD 74 03 7D -R 00 00 01 00 02 04 02 00 -T 7B 00 00 00 B4 20 08 -R 00 00 01 00 -T 7E 00 00 00 -R 00 00 01 00 -T 7E 00 00 00 21 00 00 22 00 00 00 00 18 12 -R 00 00 01 00 00 08 02 00 -T 86 00 00 00 -R 00 00 01 00 -T 86 00 00 00 DD 6E 02 DD 66 03 36 00 DD 6E 02 -R 00 00 01 00 -T 91 00 00 00 DD 66 03 23 22 00 00 00 00 -R 00 00 01 00 00 09 02 00 -T 98 00 00 00 -R 00 00 01 00 -T 98 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcb/strtol.rel b/lib/relcb/strtol.rel deleted file mode 100644 index 0451824d..00000000 --- a/lib/relcb/strtol.rel +++ /dev/null @@ -1,87 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S strtoul Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S __ctype Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?L_NEG_L03 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S ?BANK_LEAVE_32_L08 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size A8 flags 0 -S strtol Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF AF DD 77 FC -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 DD 77 FD DD 6E 02 DD 66 03 DD 75 -R 00 00 01 00 -T 14 00 00 00 FE DD 74 FF -R 00 00 01 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 DD 6E FE DD 66 FF 4E 06 00 21 -R 00 00 01 00 -T 22 00 00 00 00 00 00 00 09 7E E6 10 28 0A -R 00 00 01 00 02 04 02 00 -T 2A 00 00 00 -R 00 00 01 00 -T 2A 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 18 E4 -R 00 00 01 00 -T 34 00 00 00 -R 00 00 01 00 -T 34 00 00 00 DD 6E FE DD 66 FF 7E FE 2D 20 12 -R 00 00 01 00 -T 3F 00 00 00 -R 00 00 01 00 -T 3F 00 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 18 13 -R 00 00 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 DD 6E FE DD 66 FF 7E FE 2B 20 08 -R 00 00 01 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 DD 6E 0A DD 66 0B E5 DD 4E 04 DD -R 00 00 01 00 -T 6F 00 00 00 46 05 DD 5E FE DD 56 FF 3E -R 00 00 01 00 -T 78 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 7D 00 00 00 00 00 00 00 F1 DD 75 F8 DD 74 F9 -R 00 00 01 00 02 04 01 00 -T 86 00 00 00 DD 71 FA DD 70 FB DD 7E FC DD B6 -R 00 00 01 00 -T 91 00 00 00 FD 28 05 CD 00 00 00 00 18 0C -R 00 00 01 00 02 08 04 00 -T 99 00 00 00 -R 00 00 01 00 -T 99 00 00 00 DD 4E FA DD 46 FB DD 6E F8 DD 66 -R 00 00 01 00 -T A4 00 00 00 F9 -R 00 00 01 00 -T A5 00 00 00 -R 00 00 01 00 -T A5 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 diff --git a/lib/relcb/strtoul.rel b/lib/relcb/strtoul.rel deleted file mode 100644 index 968273bc..00000000 --- a/lib/relcb/strtoul.rel +++ /dev/null @@ -1,218 +0,0 @@ -XL4 -H 2 areas A global symbols -S ?L_MULASG_L03 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?L_ADDASG_L03 Ref00000000 -S __ctype Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S ?BANK_LEAVE_32_L08 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1DD flags 0 -S strtoul Def00000086 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 36 FE FF -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 DD 36 FF FF DD 5E 02 16 00 21 -R 00 00 01 00 -T 13 00 00 00 00 00 00 00 19 7E E6 08 28 0F -R 00 00 01 00 02 04 03 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 DD 4E 02 06 00 21 D0 FF 09 DD 75 -R 00 00 01 00 -T 26 00 00 00 FE DD 74 FF -R 00 00 01 00 -T 2A 00 00 00 -R 00 00 01 00 -T 2A 00 00 00 DD 4E 02 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 03 00 -T 33 00 00 00 7E E6 04 28 0F -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 DD 4E 02 06 00 21 A9 FF 09 DD 75 -R 00 00 01 00 -T 43 00 00 00 FE DD 74 FF -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 DD 4E 02 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 03 00 -T 50 00 00 00 7E E6 02 28 0F -R 00 00 01 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 DD 4E 02 06 00 21 B0 FF 09 DD 75 -R 00 00 01 00 -T 60 00 00 00 FE DD 74 FF -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 -R 00 00 01 00 -T 6F 00 00 00 FF CD 00 00 00 00 38 08 -R 00 00 01 00 02 06 05 00 -T 75 00 00 00 -R 00 00 01 00 -T 75 00 00 00 DD 36 FE FF DD 36 FF FF -R 00 00 01 00 -T 7D 00 00 00 -R 00 00 01 00 -T 7D 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 86 00 00 00 -R 00 00 01 00 -T 86 00 00 00 CD 00 00 00 00 FA FF 11 02 80 DD -R 00 00 01 00 02 05 04 00 -T 8F 00 00 00 6E 0A DD 66 0B 3E 80 AC 67 ED 52 -R 00 00 01 00 -T 9A 00 00 00 38 0E DD 4E 0A DD 46 0B 21 24 00 -R 00 00 01 00 -T A5 00 00 00 CD 00 00 00 00 30 07 -R 00 00 01 00 02 05 05 00 -T AA 00 00 00 -R 00 00 01 00 -T AA 00 00 00 -R 00 00 01 00 -T AA 00 00 00 -R 00 00 01 00 -T AA 00 00 00 AF DD 77 0A DD 77 0B -R 00 00 01 00 -T B1 00 00 00 -R 00 00 01 00 -T B1 00 00 00 -R 00 00 01 00 -T B1 00 00 00 DD 6E 02 DD 66 03 4E 06 00 21 -R 00 00 01 00 -T BB 00 00 00 00 00 00 00 09 7E E6 10 28 0A -R 00 00 01 00 02 04 03 00 -T C3 00 00 00 -R 00 00 01 00 -T C3 00 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T CB 00 00 00 -R 00 00 01 00 -T CB 00 00 00 18 E4 -R 00 00 01 00 -T CD 00 00 00 -R 00 00 01 00 -T CD 00 00 00 DD 6E 02 DD 66 03 7E FE 2B 20 0A -R 00 00 01 00 -T D8 00 00 00 -R 00 00 01 00 -T D8 00 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T E0 00 00 00 -R 00 00 01 00 -T E0 00 00 00 18 6D -R 00 00 01 00 -T E2 00 00 00 -R 00 00 01 00 -T E2 00 00 00 DD 7E 0A DD B6 0B 20 65 DD 6E 02 -R 00 00 01 00 -T ED 00 00 00 DD 66 03 7E FE 30 20 5A -R 00 00 01 00 -T F5 00 00 00 -R 00 00 01 00 -T F5 00 00 00 -R 00 00 01 00 -T F5 00 00 00 -R 00 00 01 00 -T F5 00 00 00 DD 6E 02 DD 66 03 23 7E EE 20 FE -R 00 00 01 00 -T 00 01 00 00 58 20 17 -R 00 00 01 00 -T 03 01 00 00 -R 00 00 01 00 -T 03 01 00 00 DD 36 0A 10 DD 36 0B 00 21 08 00 -R 00 00 01 00 -T 0E 01 00 00 39 7E C6 02 77 23 7E CE 00 77 18 -R 00 00 01 00 -T 19 01 00 00 35 -R 00 00 01 00 -T 1A 01 00 00 -R 00 00 01 00 -T 1A 01 00 00 DD 6E 02 DD 66 03 23 7E EE 20 FE -R 00 00 01 00 -T 25 01 00 00 42 20 17 -R 00 00 01 00 -T 28 01 00 00 -R 00 00 01 00 -T 28 01 00 00 DD 36 0A 02 DD 36 0B 00 21 08 00 -R 00 00 01 00 -T 33 01 00 00 39 7E C6 02 77 23 7E CE 00 77 18 -R 00 00 01 00 -T 3E 01 00 00 10 -R 00 00 01 00 -T 3F 01 00 00 -R 00 00 01 00 -T 3F 01 00 00 DD 36 0A 08 DD 36 0B 00 DD 34 02 -R 00 00 01 00 -T 4A 01 00 00 20 03 DD 34 03 -R 00 00 01 00 -T 4F 01 00 00 -R 00 00 01 00 -T 4F 01 00 00 -R 00 00 01 00 -T 4F 01 00 00 -R 00 00 01 00 -T 4F 01 00 00 -R 00 00 01 00 -T 4F 01 00 00 -R 00 00 01 00 -T 4F 01 00 00 DD 7E 0A DD B6 0B 20 08 -R 00 00 01 00 -T 57 01 00 00 -R 00 00 01 00 -T 57 01 00 00 DD 36 0A 0A DD 36 0B 00 -R 00 00 01 00 -T 5F 01 00 00 -R 00 00 01 00 -T 5F 01 00 00 AF DD 77 FA DD 77 FB DD 77 FC DD -R 00 00 01 00 -T 6A 01 00 00 77 FD -R 00 00 01 00 -T 6C 01 00 00 -R 00 00 01 00 -T 6C 01 00 00 DD 4E 0A DD 46 0B DD 6E 02 DD 66 -R 00 00 01 00 -T 77 01 00 00 03 5E CD 00 00 00 00 DD 75 FE DD -R 00 00 01 00 00 07 01 00 -T 80 01 00 00 74 FF 7D A4 3C 28 2E -R 00 00 01 00 -T 87 01 00 00 -R 00 00 01 00 -T 87 01 00 00 21 00 00 39 DD 5E 0A DD 56 0B 7A -R 00 00 01 00 -T 92 01 00 00 07 9F 4F 41 CD 00 00 00 00 21 -R 00 00 01 00 02 09 00 00 -T 9A 01 00 00 00 00 39 DD 5E FE DD 56 FF 7A 07 -R 00 00 01 00 -T A5 01 00 00 9F 4F 41 CD 00 00 00 00 DD 34 02 -R 00 00 01 00 02 08 02 00 -T AE 01 00 00 20 03 DD 34 03 -R 00 00 01 00 -T B3 01 00 00 -R 00 00 01 00 -T B3 01 00 00 18 B7 -R 00 00 01 00 -T B5 01 00 00 -R 00 00 01 00 -T B5 01 00 00 DD 7E 04 DD B6 05 28 11 -R 00 00 01 00 -T BD 01 00 00 -R 00 00 01 00 -T BD 01 00 00 DD 6E 02 DD 66 03 E5 DD 6E 04 DD -R 00 00 01 00 -T C8 01 00 00 66 05 C1 71 23 70 -R 00 00 01 00 -T CE 01 00 00 -R 00 00 01 00 -T CE 01 00 00 DD 4E FC DD 46 FD DD 6E FA DD 66 -R 00 00 01 00 -T D9 01 00 00 FB C3 00 00 00 00 -R 00 00 01 00 02 06 07 00 diff --git a/lib/relcb/system.rel b/lib/relcb/system.rel deleted file mode 100644 index 9deda10f..00000000 --- a/lib/relcb/system.rel +++ /dev/null @@ -1,165 +0,0 @@ -XL4 -H 5 areas C global symbols -S execve Ref00000000 -S environ Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S abort Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S waitpid Ref00000000 -S fork Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S signal Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16D flags 0 -S system Def00000000 -A CSTR size E flags 0 -A IDATA0 size 8 flags 0 -A CDATA0 size 8 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F2 FF DD 36 FE FF -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 DD 36 FF FF DD 7E 02 DD B6 03 20 -R 00 00 01 00 -T 14 00 00 00 06 -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 21 01 00 C3 6A 01 00 00 -R 00 00 01 00 00 08 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 21 00 00 E5 21 01 00 E5 11 03 00 -R 00 00 01 00 -T 26 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 09 00 02 0A 09 00 -T 2C 00 00 00 00 00 00 00 F1 F1 DD 75 F2 DD 74 -R 00 00 01 00 02 04 04 00 -T 35 00 00 00 F3 DD 71 F4 DD 70 F5 21 00 00 E5 -R 00 00 01 00 -T 40 00 00 00 21 01 00 E5 11 02 00 3E -R 00 00 01 00 -T 48 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T 4D 00 00 00 00 00 00 00 F1 F1 DD 75 F6 DD 74 -R 00 00 01 00 02 04 04 00 -T 56 00 00 00 F7 DD 71 F8 DD 70 F9 3E -R 00 00 01 00 -T 5E 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 63 00 00 00 00 00 00 00 DD 75 FC DD 74 FD CB -R 00 00 01 00 02 04 04 00 -T 6C 00 00 00 7C 28 03 -R 00 00 01 00 -T 6F 00 00 00 -R 00 00 01 00 -T 6F 00 00 00 C3 2E 01 00 00 -R 00 00 01 00 00 05 01 00 -T 72 00 00 00 -R 00 00 01 00 -T 72 00 00 00 DD 7E FC DD B6 FD 20 4E -R 00 00 01 00 -T 7A 00 00 00 -R 00 00 01 00 -T 7A 00 00 00 21 00 00 E5 21 00 00 E5 11 03 00 -R 00 00 01 00 -T 85 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 09 00 02 0A 09 00 -T 8B 00 00 00 00 00 00 00 F1 F1 21 00 00 E5 21 -R 00 00 01 00 02 04 04 00 -T 94 00 00 00 00 00 E5 11 02 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 09 00 -T 9C 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 09 00 02 0A 04 00 -T A3 00 00 00 F1 DD 6E 02 DD 66 03 22 -R 00 00 01 00 -T AB 00 00 00 04 00 00 00 2A 00 00 00 00 E5 01 -R 00 00 01 00 00 04 03 00 02 09 01 00 -T B2 00 00 00 00 00 00 00 11 06 00 00 00 3E -R 00 00 01 00 00 04 03 00 00 09 02 00 -T B8 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T BD 00 00 00 00 00 00 00 F1 3E 00 00 00 00 21 -R 00 00 01 00 02 04 04 00 2B 0A 03 00 -T C3 00 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 09 04 00 -T C8 00 00 00 -R 00 00 01 00 -T C8 00 00 00 21 00 00 E5 21 01 00 E5 11 03 00 -R 00 00 01 00 -T D3 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 09 00 02 0A 09 00 -T D9 00 00 00 00 00 00 00 F1 F1 21 00 00 E5 21 -R 00 00 01 00 02 04 04 00 -T E2 00 00 00 01 00 E5 11 02 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 09 00 -T EA 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 09 00 02 0A 04 00 -T F1 00 00 00 F1 -R 00 00 01 00 -T F2 00 00 00 -R 00 00 01 00 -T F2 00 00 00 21 00 00 E5 21 0E 00 39 4D 44 11 -R 00 00 01 00 -T FD 00 00 00 FF FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 06 00 -T 02 01 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 06 00 02 09 04 00 -T 09 01 00 00 75 FA DD 74 FB 7D A4 3C 20 0A -R 00 00 01 00 -T 13 01 00 00 -R 00 00 01 00 -T 13 01 00 00 DD 36 FE FF DD 36 FF FF 18 11 -R 00 00 01 00 -T 1D 01 00 00 -R 00 00 01 00 -T 1D 01 00 00 DD 6E FC DD 66 FD DD 4E FA DD 46 -R 00 00 01 00 -T 28 01 00 00 FB A7 ED 42 20 C4 -R 00 00 01 00 -T 2E 01 00 00 -R 00 00 01 00 -T 2E 01 00 00 -R 00 00 01 00 -T 2E 01 00 00 DD 6E F4 DD 66 F5 E5 DD 6E F2 DD -R 00 00 01 00 -T 39 01 00 00 66 F3 E5 11 03 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 09 00 -T 41 01 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 09 00 02 0A 04 00 -T 48 01 00 00 F1 DD 6E F8 DD 66 F9 E5 DD 6E F6 -R 00 00 01 00 -T 53 01 00 00 DD 66 F7 E5 11 02 00 3E -R 00 00 01 00 -T 5B 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T 60 01 00 00 00 00 00 00 F1 F1 DD 6E FE DD 66 -R 00 00 01 00 02 04 04 00 -T 69 01 00 00 FF -R 00 00 01 00 -T 6A 01 00 00 -R 00 00 01 00 -T 6A 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 73 68 00 -R 00 00 02 00 -T 03 00 00 00 -R 00 00 02 00 -T 03 00 00 00 2D 63 00 -R 00 00 02 00 -T 06 00 00 00 -R 00 00 02 00 -T 06 00 00 00 2F 62 69 6E 2F 73 68 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 00 00 00 00 03 00 00 00 00 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 06 00 00 00 00 00 -R 00 00 04 00 diff --git a/lib/relcb/termcap.rel b/lib/relcb/termcap.rel deleted file mode 100644 index 987542b4..00000000 --- a/lib/relcb/termcap.rel +++ /dev/null @@ -1,1432 +0,0 @@ -XL4 -H 6 areas 22 global symbols -S ?S_LSHASG_L02 Ref00000000 -S ?S_MULASG_L02 Ref00000000 -S getenv Ref00000000 -S _write Ref00000000 -S memcpy Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S lseek Ref00000000 -S close Ref00000000 -S strlen Ref00000000 -S strcmp Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S realloc Ref00000000 -S free Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S strcpy Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S atoi Ref00000000 -S ?SS_DIVASG_L02 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S open Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S malloc Ref00000000 -S exit Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size D4A flags 0 -S tputs Def000003D0 -S tgetnum Def000000D1 -S tgetstr Def00000142 -S tgetflag Def0000010F -S tgetent Def00000536 -A CSTR size 37 flags 0 -A UDATA0 size 7 flags 0 -S ospeed Def00000002 -S tputs_baud_rate Def00000004 -S PC Def00000006 -A IDATA0 size 3C flags 0 -A CDATA0 size 3C flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 21 19 00 E5 01 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 09 00 00 00 11 02 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 03 00 -T 0F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 11 -R 00 00 01 00 02 04 03 00 02 09 0E 00 -T 16 00 00 00 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 17 00 -T 1B 00 00 00 00 00 00 00 CD 00 00 00 00 D1 C1 -R 00 00 01 00 02 04 17 00 02 09 0E 00 -T 22 00 00 00 C9 -R 00 00 01 00 -T 23 00 00 00 -R 00 00 01 00 -T 23 00 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 10 00 -T 2C 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 16 00 -T 31 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 16 00 02 09 0E 00 -T 38 00 00 00 FE DD 74 FF 7D B4 20 03 -R 00 00 01 00 -T 40 00 00 00 -R 00 00 01 00 -T 40 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 05 01 00 -T 43 00 00 00 -R 00 00 01 00 -T 43 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 0A 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 10 00 -T 55 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0B 00 -T 5A 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 0B 00 02 09 0E 00 -T 61 00 00 00 FE DD 74 FF 7D B4 20 03 -R 00 00 01 00 -T 69 00 00 00 -R 00 00 01 00 -T 69 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 05 01 00 -T 6C 00 00 00 -R 00 00 01 00 -T 6C 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 0A 00 -T 75 00 00 00 -R 00 00 01 00 -T 75 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 0D 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 DD 6E 02 DD 66 03 AF B6 28 49 -R 00 00 01 00 -T 82 00 00 00 -R 00 00 01 00 -T 82 00 00 00 DD 6E 02 DD 66 03 7E FE 3A 20 34 -R 00 00 01 00 -T 8D 00 00 00 DD 6E 04 DD 66 05 E5 DD 6E 02 DD -R 00 00 01 00 -T 98 00 00 00 66 03 23 7E E1 BE 20 21 DD 6E 04 -R 00 00 01 00 -T A3 00 00 00 DD 66 05 23 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 -T AE 00 00 00 23 23 7E E1 BE 20 0C -R 00 00 01 00 -T B5 00 00 00 -R 00 00 01 00 -T B5 00 00 00 -R 00 00 01 00 -T B5 00 00 00 -R 00 00 01 00 -T B5 00 00 00 21 04 00 DD 4E 02 DD 46 03 09 18 -R 00 00 01 00 -T C0 00 00 00 0D -R 00 00 01 00 -T C1 00 00 00 -R 00 00 01 00 -T C1 00 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T C9 00 00 00 -R 00 00 01 00 -T C9 00 00 00 18 AD -R 00 00 01 00 -T CB 00 00 00 -R 00 00 01 00 -T CB 00 00 00 21 00 00 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 CD 00 00 00 00 FE FF DD 4E 02 DD -R 00 00 01 00 02 05 10 00 -T DA 00 00 00 46 03 ED 5B 00 00 00 00 CD -R 00 00 01 00 00 08 03 00 -T E1 00 00 00 75 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 00 04 01 00 -T EA 00 00 00 B4 28 0C DD 6E FE DD 66 FF 2B 7E -R 00 00 01 00 -T F5 00 00 00 FE 23 28 05 -R 00 00 01 00 -T F9 00 00 00 -R 00 00 01 00 -T F9 00 00 00 -R 00 00 01 00 -T F9 00 00 00 -R 00 00 01 00 -T F9 00 00 00 21 FF FF 18 0E -R 00 00 01 00 -T FE 00 00 00 -R 00 00 01 00 -T FE 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 11 00 -T 06 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 11 00 02 0A 0E 00 -T 0C 01 00 00 -R 00 00 01 00 -T 0C 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 0F 01 00 00 -R 00 00 01 00 -T 0F 01 00 00 CD 00 00 00 00 FE FF DD 4E 02 DD -R 00 00 01 00 02 05 10 00 -T 18 01 00 00 46 03 ED 5B 00 00 00 00 CD -R 00 00 01 00 00 08 03 00 -T 1F 01 00 00 75 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 00 04 01 00 -T 28 01 00 00 B4 28 11 DD 6E FE DD 66 FF 2B 7E -R 00 00 01 00 -T 33 01 00 00 FE 3A 20 05 21 01 00 18 03 -R 00 00 01 00 -T 3C 01 00 00 -R 00 00 01 00 -T 3C 01 00 00 21 00 00 -R 00 00 01 00 -T 3F 01 00 00 -R 00 00 01 00 -T 3F 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 42 01 00 00 -R 00 00 01 00 -T 42 01 00 00 CD 00 00 00 00 FE FF DD 4E 02 DD -R 00 00 01 00 02 05 10 00 -T 4B 01 00 00 46 03 ED 5B 00 00 00 00 CD -R 00 00 01 00 00 08 03 00 -T 52 01 00 00 75 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 00 04 01 00 -T 5B 01 00 00 B4 28 18 DD 6E FE DD 66 FF 2B 7E -R 00 00 01 00 -T 66 01 00 00 FE 3D 28 11 DD 6E FE DD 66 FF 2B -R 00 00 01 00 -T 71 01 00 00 7E FE 7E 28 05 -R 00 00 01 00 -T 76 01 00 00 -R 00 00 01 00 -T 76 01 00 00 -R 00 00 01 00 -T 76 01 00 00 -R 00 00 01 00 -T 76 01 00 00 -R 00 00 01 00 -T 76 01 00 00 -R 00 00 01 00 -T 76 01 00 00 21 00 00 18 0F -R 00 00 01 00 -T 7B 01 00 00 -R 00 00 01 00 -T 7B 01 00 00 DD 4E 04 DD 46 05 DD 5E FE DD 56 -R 00 00 01 00 -T 86 01 00 00 FF CD 8D 01 00 00 -R 00 00 01 00 00 06 01 00 -T 8A 01 00 00 -R 00 00 01 00 -T 8A 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 8D 01 00 00 -R 00 00 01 00 -T 8D 01 00 00 CD 00 00 00 00 F4 FF DD 7E 02 DD -R 00 00 01 00 02 05 10 00 -T 96 01 00 00 B6 03 20 06 -R 00 00 01 00 -T 9A 01 00 00 -R 00 00 01 00 -T 9A 01 00 00 21 00 00 C3 CD 03 00 00 -R 00 00 01 00 00 08 01 00 -T A0 01 00 00 -R 00 00 01 00 -T A0 01 00 00 DD 7E 04 DD B6 05 20 59 -R 00 00 01 00 -T A8 01 00 00 -R 00 00 01 00 -T A8 01 00 00 DD 6E 02 DD 66 03 DD 75 F4 DD 74 -R 00 00 01 00 -T B3 01 00 00 F5 -R 00 00 01 00 -T B4 01 00 00 -R 00 00 01 00 -T B4 01 00 00 DD 6E F4 DD 66 F5 23 DD 75 F4 DD -R 00 00 01 00 -T BF 01 00 00 74 F5 2B 4E 06 00 DD 71 F8 DD 70 -R 00 00 01 00 -T CA 01 00 00 F9 79 B0 28 16 3E 3A DD AE F8 DD -R 00 00 01 00 -T D5 01 00 00 B6 F9 28 0C 3E 0A DD AE F8 DD B6 -R 00 00 01 00 -T E0 01 00 00 F9 28 02 -R 00 00 01 00 -T E3 01 00 00 -R 00 00 01 00 -T E3 01 00 00 -R 00 00 01 00 -T E3 01 00 00 -R 00 00 01 00 -T E3 01 00 00 18 CF -R 00 00 01 00 -T E5 01 00 00 -R 00 00 01 00 -T E5 01 00 00 DD 4E 02 DD 46 03 DD 6E F4 DD 66 -R 00 00 01 00 -T F0 01 00 00 F5 A7 ED 42 EB 13 CD 23 00 00 00 -R 00 00 01 00 00 0B 01 00 -T F9 01 00 00 DD 75 FE DD 74 FF 18 10 -R 00 00 01 00 -T 01 02 00 00 -R 00 00 01 00 -T 01 02 00 00 DD 6E 04 DD 66 05 46 23 66 68 DD -R 00 00 01 00 -T 0C 02 00 00 75 FE DD 74 FF -R 00 00 01 00 -T 11 02 00 00 -R 00 00 01 00 -T 11 02 00 00 DD 6E 02 DD 66 03 DD 75 F4 DD 74 -R 00 00 01 00 -T 1C 02 00 00 F5 DD 6E FE DD 66 FF DD 75 F6 DD -R 00 00 01 00 -T 27 02 00 00 74 F7 -R 00 00 01 00 -T 29 02 00 00 -R 00 00 01 00 -T 29 02 00 00 DD 6E F4 DD 66 F5 23 DD 75 F4 DD -R 00 00 01 00 -T 34 02 00 00 74 F5 2B 4E 06 00 DD 71 F8 DD 70 -R 00 00 01 00 -T 3F 02 00 00 F9 79 B0 CA A5 03 00 00 3E 3A DD -R 00 00 01 00 00 08 01 00 -T 48 02 00 00 AE F8 DD B6 F9 CA A5 03 00 00 3E -R 00 00 01 00 00 0A 01 00 -T 51 02 00 00 0A DD AE F8 DD B6 F9 CA -R 00 00 01 00 -T 59 02 00 00 A5 03 00 00 -R 00 00 01 00 00 04 01 00 -T 5B 02 00 00 -R 00 00 01 00 -T 5B 02 00 00 -R 00 00 01 00 -T 5B 02 00 00 -R 00 00 01 00 -T 5B 02 00 00 3E 5E DD AE F8 DD B6 F9 20 1D -R 00 00 01 00 -T 65 02 00 00 -R 00 00 01 00 -T 65 02 00 00 DD 6E F4 DD 66 F5 23 DD 75 F4 DD -R 00 00 01 00 -T 70 02 00 00 74 F5 2B 7E E6 1F 4F 06 00 DD 71 -R 00 00 01 00 -T 7B 02 00 00 F8 DD 70 F9 C3 90 03 00 00 -R 00 00 01 00 00 09 01 00 -T 82 02 00 00 -R 00 00 01 00 -T 82 02 00 00 3E 5C DD AE F8 DD B6 F9 C2 -R 00 00 01 00 -T 8B 02 00 00 90 03 00 00 -R 00 00 01 00 00 04 01 00 -T 8D 02 00 00 -R 00 00 01 00 -T 8D 02 00 00 DD 6E F4 DD 66 F5 23 DD 75 F4 DD -R 00 00 01 00 -T 98 02 00 00 74 F5 2B 4E 06 00 DD 71 F8 DD 70 -R 00 00 01 00 -T A3 02 00 00 F9 11 30 80 69 60 3E 80 AC 67 ED -R 00 00 01 00 -T AE 02 00 00 52 DA 43 03 00 00 DD 4E F8 DD 46 -R 00 00 01 00 00 06 01 00 -T B7 02 00 00 F9 21 37 00 CD 00 00 00 00 DA -R 00 00 01 00 02 09 13 00 -T BF 02 00 00 43 03 00 00 -R 00 00 01 00 00 04 01 00 -T C1 02 00 00 -R 00 00 01 00 -T C1 02 00 00 -R 00 00 01 00 -T C1 02 00 00 -R 00 00 01 00 -T C1 02 00 00 21 04 00 39 7E D6 30 77 23 7E DE -R 00 00 01 00 -T CC 02 00 00 00 77 AF DD 77 FA DD 77 FB -R 00 00 01 00 -T D5 02 00 00 -R 00 00 01 00 -T D5 02 00 00 DD 6E FA DD 66 FB 23 DD 75 FA DD -R 00 00 01 00 -T E0 02 00 00 74 FB 01 03 80 3E 80 AC 67 ED 42 -R 00 00 01 00 -T EB 02 00 00 30 54 DD 6E F4 DD 66 F5 4E 06 00 -R 00 00 01 00 -T F6 02 00 00 DD 71 FC DD 70 FD 69 60 01 30 80 -R 00 00 01 00 -T 01 03 00 00 3E 80 AC 67 ED 42 38 38 DD 4E FC -R 00 00 01 00 -T 0C 03 00 00 DD 46 FD 21 37 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 13 00 -T 15 03 00 00 38 2A -R 00 00 01 00 -T 17 03 00 00 -R 00 00 01 00 -T 17 03 00 00 -R 00 00 01 00 -T 17 03 00 00 -R 00 00 01 00 -T 17 03 00 00 21 04 00 39 06 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 20 03 00 00 21 D0 FF DD 4E FC DD 46 FD 09 4D -R 00 00 01 00 -T 2B 03 00 00 44 21 04 00 39 7E 81 77 23 7E 88 -R 00 00 01 00 -T 36 03 00 00 77 DD 34 F4 20 03 DD 34 F5 -R 00 00 01 00 -T 3F 03 00 00 -R 00 00 01 00 -T 3F 03 00 00 18 94 -R 00 00 01 00 -T 41 03 00 00 -R 00 00 01 00 -T 41 03 00 00 18 4D -R 00 00 01 00 -T 43 03 00 00 -R 00 00 01 00 -T 43 03 00 00 01 40 80 DD 6E F8 DD 66 F9 3E 80 -R 00 00 01 00 -T 4E 03 00 00 AC 67 ED 42 38 3C 01 80 80 DD 6E -R 00 00 01 00 -T 59 03 00 00 F8 DD 66 F9 3E 80 AC 67 ED 42 30 -R 00 00 01 00 -T 64 03 00 00 2B -R 00 00 01 00 -T 65 03 00 00 -R 00 00 01 00 -T 65 03 00 00 -R 00 00 01 00 -T 65 03 00 00 -R 00 00 01 00 -T 65 03 00 00 DD 7E F8 E6 DF 6F DD 7E F9 E6 FF -R 00 00 01 00 -T 70 03 00 00 67 01 C0 FF FF FF 09 4E 06 00 DD -R 00 00 01 00 00 06 04 00 -T 79 03 00 00 71 FC DD 70 FD 3E 20 A9 B0 28 0C -R 00 00 01 00 -T 84 03 00 00 -R 00 00 01 00 -T 84 03 00 00 DD 6E FC DD 66 FD DD 75 F8 DD 74 -R 00 00 01 00 -T 8F 03 00 00 F9 -R 00 00 01 00 -T 90 03 00 00 -R 00 00 01 00 -T 90 03 00 00 -R 00 00 01 00 -T 90 03 00 00 -R 00 00 01 00 -T 90 03 00 00 -R 00 00 01 00 -T 90 03 00 00 -R 00 00 01 00 -T 90 03 00 00 DD 46 F8 DD 6E F6 DD 66 F7 23 DD -R 00 00 01 00 -T 9B 03 00 00 75 F6 DD 74 F7 2B 70 C3 -R 00 00 01 00 -T A3 03 00 00 29 02 00 00 -R 00 00 01 00 00 04 01 00 -T A5 03 00 00 -R 00 00 01 00 -T A5 03 00 00 DD 6E F6 DD 66 F7 36 00 DD 7E 04 -R 00 00 01 00 -T B0 03 00 00 DD B6 05 28 12 -R 00 00 01 00 -T B5 03 00 00 -R 00 00 01 00 -T B5 03 00 00 DD 6E F6 DD 66 F7 23 E5 DD 6E 04 -R 00 00 01 00 -T C0 03 00 00 DD 66 05 C1 71 23 70 -R 00 00 01 00 -T C7 03 00 00 -R 00 00 01 00 -T C7 03 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 -T CD 03 00 00 -R 00 00 01 00 -T CD 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T D0 03 00 00 -R 00 00 01 00 -T D0 03 00 00 CD 00 00 00 00 FE FF AF DD 77 FE -R 00 00 01 00 02 05 10 00 -T D9 03 00 00 DD 77 FF DD 7E 02 DD B6 03 20 03 -R 00 00 01 00 -T E4 03 00 00 -R 00 00 01 00 -T E4 03 00 00 C3 33 05 00 00 -R 00 00 01 00 00 05 01 00 -T E7 03 00 00 -R 00 00 01 00 -T E7 03 00 00 -R 00 00 01 00 -T E7 03 00 00 DD 6E 02 DD 66 03 7E FE 30 38 39 -R 00 00 01 00 -T F2 03 00 00 DD 6E 02 DD 66 03 3E 39 BE 38 2E -R 00 00 01 00 -T FD 03 00 00 -R 00 00 01 00 -T FD 03 00 00 -R 00 00 01 00 -T FD 03 00 00 -R 00 00 01 00 -T FD 03 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T 08 04 00 00 74 03 2B 4E 06 00 21 D0 FF 09 4D -R 00 00 01 00 -T 13 04 00 00 44 21 00 00 39 7E 81 77 23 7E 88 -R 00 00 01 00 -T 1E 04 00 00 77 21 00 00 39 01 0A 00 CD -R 00 00 01 00 -T 27 04 00 00 00 00 00 00 18 BC -R 00 00 01 00 02 04 01 00 -T 2B 04 00 00 -R 00 00 01 00 -T 2B 04 00 00 DD 6E 02 DD 66 03 7E FE 2E 20 2A -R 00 00 01 00 -T 36 04 00 00 -R 00 00 01 00 -T 36 04 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T 3E 04 00 00 -R 00 00 01 00 -T 3E 04 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T 49 04 00 00 74 03 2B 4E 06 00 21 D0 FF 09 4D -R 00 00 01 00 -T 54 04 00 00 44 21 00 00 39 7E 81 77 23 7E 88 -R 00 00 01 00 -T 5F 04 00 00 77 -R 00 00 01 00 -T 60 04 00 00 -R 00 00 01 00 -T 60 04 00 00 DD 6E 02 DD 66 03 7E FE 2A 20 15 -R 00 00 01 00 -T 6B 04 00 00 -R 00 00 01 00 -T 6B 04 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T 73 04 00 00 -R 00 00 01 00 -T 73 04 00 00 21 00 00 39 DD 4E 04 DD 46 05 CD -R 00 00 01 00 -T 7E 04 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 -T 80 04 00 00 -R 00 00 01 00 -T 80 04 00 00 -R 00 00 01 00 -T 80 04 00 00 DD 6E 02 DD 66 03 AF B6 28 1F -R 00 00 01 00 -T 8A 04 00 00 -R 00 00 01 00 -T 8A 04 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T 95 04 00 00 74 03 2B 5E 16 00 DD 7E 0C DD 6E -R 00 00 01 00 -T A0 04 00 00 0A DD 66 0B CD 00 00 00 00 18 D7 -R 00 00 01 00 02 09 0E 00 -T A9 04 00 00 -R 00 00 01 00 -T A9 04 00 00 2A 02 00 00 00 29 01 1C 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 04 00 -T B0 04 00 00 09 4E 23 46 21 00 00 39 CD -R 00 00 01 00 -T B9 04 00 00 00 00 00 00 21 00 00 39 7E C6 F4 -R 00 00 01 00 02 04 01 00 -T C2 04 00 00 77 23 7E CE 01 77 21 00 00 39 01 -R 00 00 01 00 -T CD 04 00 00 E8 03 CD 00 00 00 00 2A -R 00 00 01 00 02 07 12 00 -T D3 04 00 00 02 00 00 00 29 01 1C 00 00 00 09 -R 00 00 01 00 00 04 03 00 00 0A 04 00 -T DA 04 00 00 23 CB 7E 28 14 -R 00 00 01 00 -T DF 04 00 00 -R 00 00 01 00 -T DF 04 00 00 DD 4E FE DD 46 FF A7 21 00 00 ED -R 00 00 01 00 -T EA 04 00 00 42 DD 75 FE DD 74 FF 18 16 -R 00 00 01 00 -T F3 04 00 00 -R 00 00 01 00 -T F3 04 00 00 21 00 00 39 7E C6 32 77 30 02 23 -R 00 00 01 00 -T FE 04 00 00 34 -R 00 00 01 00 -T FF 04 00 00 -R 00 00 01 00 -T FF 04 00 00 21 00 00 39 01 64 00 CD -R 00 00 01 00 -T 07 05 00 00 00 00 00 00 -R 00 00 01 00 02 04 12 00 -T 09 05 00 00 -R 00 00 01 00 -T 09 05 00 00 -R 00 00 01 00 -T 09 05 00 00 DD 4E FE DD 46 FF 0B DD 71 FE DD -R 00 00 01 00 -T 14 05 00 00 70 FF 03 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 13 00 -T 1D 05 00 00 30 14 -R 00 00 01 00 -T 1F 05 00 00 -R 00 00 01 00 -T 1F 05 00 00 ED 5B 06 00 00 00 16 00 DD 7E 0C -R 00 00 01 00 00 06 03 00 -T 28 05 00 00 DD 6E 0A DD 66 0B CD 00 00 00 00 -R 00 00 01 00 02 0B 0E 00 -T 31 05 00 00 18 D6 -R 00 00 01 00 -T 33 05 00 00 -R 00 00 01 00 -T 33 05 00 00 -R 00 00 01 00 -T 33 05 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 36 05 00 00 -R 00 00 01 00 -T 36 05 00 00 CD 00 00 00 00 E0 FF AF DD 77 F8 -R 00 00 01 00 02 05 10 00 -T 3F 05 00 00 DD 77 F9 11 1A 00 00 00 3E -R 00 00 01 00 00 08 02 00 -T 46 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 4B 05 00 00 00 00 00 00 DD 75 FA DD 74 FB AF -R 00 00 01 00 02 04 0E 00 -T 54 05 00 00 DD 77 FC DD 77 FD 7D B4 20 06 -R 00 00 01 00 -T 5E 05 00 00 -R 00 00 01 00 -T 5E 05 00 00 21 FF FF C3 EC 08 00 00 -R 00 00 01 00 00 08 01 00 -T 64 05 00 00 -R 00 00 01 00 -T 64 05 00 00 11 1F 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 02 00 -T 6A 05 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 02 00 02 09 0E 00 -T 71 05 00 00 E0 DD 74 E1 7D B4 28 11 DD 6E E0 -R 00 00 01 00 -T 7C 05 00 00 DD 66 E1 AF B6 20 07 -R 00 00 01 00 -T 83 05 00 00 -R 00 00 01 00 -T 83 05 00 00 -R 00 00 01 00 -T 83 05 00 00 -R 00 00 01 00 -T 83 05 00 00 AF DD 77 E0 DD 77 E1 -R 00 00 01 00 -T 8A 05 00 00 -R 00 00 01 00 -T 8A 05 00 00 DD 7E E0 DD B6 E1 28 10 DD 6E E0 -R 00 00 01 00 -T 95 05 00 00 DD 66 E1 7E FE 2F 20 05 21 01 00 -R 00 00 01 00 -T A0 05 00 00 18 03 -R 00 00 01 00 -T A2 05 00 00 -R 00 00 01 00 -T A2 05 00 00 21 00 00 -R 00 00 01 00 -T A5 05 00 00 -R 00 00 01 00 -T A5 05 00 00 DD 75 FE DD 74 FF DD 7E E0 DD B6 -R 00 00 01 00 -T B0 05 00 00 E1 28 7F DD 7E FE DD B6 FF 20 77 -R 00 00 01 00 -T BB 05 00 00 DD 4E FA DD 46 FB DD 5E 04 DD 56 -R 00 00 01 00 -T C6 05 00 00 05 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T CC 05 00 00 CD 00 00 00 00 7D B4 20 5F -R 00 00 01 00 02 05 0E 00 -T D3 05 00 00 -R 00 00 01 00 -T D3 05 00 00 -R 00 00 01 00 -T D3 05 00 00 -R 00 00 01 00 -T D3 05 00 00 01 00 00 C5 01 27 00 00 00 DD 5E -R 00 00 01 00 00 09 02 00 -T DC 05 00 00 E0 DD 56 E1 CD 75 00 00 00 EB C1 -R 00 00 01 00 00 09 01 00 -T E5 05 00 00 CD 8D 01 00 00 DD 75 F8 DD 74 F9 -R 00 00 01 00 00 05 01 00 -T EE 05 00 00 7D B4 20 2D -R 00 00 01 00 -T F2 05 00 00 -R 00 00 01 00 -T F2 05 00 00 DD 7E 02 DD B6 03 20 0E -R 00 00 01 00 -T FA 05 00 00 -R 00 00 01 00 -T FA 05 00 00 DD 6E E0 DD 66 E1 DD 75 02 DD 74 -R 00 00 01 00 -T 05 06 00 00 03 18 14 -R 00 00 01 00 -T 08 06 00 00 -R 00 00 01 00 -T 08 06 00 00 DD 4E E0 DD 46 E1 DD 5E 02 DD 56 -R 00 00 01 00 -T 13 06 00 00 03 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 -T 19 06 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 0E 00 -T 1C 06 00 00 -R 00 00 01 00 -T 1C 06 00 00 C3 D0 08 00 00 -R 00 00 01 00 00 05 01 00 -T 1F 06 00 00 -R 00 00 01 00 -T 1F 06 00 00 DD 6E E0 DD 66 E1 DD 75 F6 DD 74 -R 00 00 01 00 -T 2A 06 00 00 F7 AF DD 77 E0 DD 77 E1 -R 00 00 01 00 -T 32 06 00 00 -R 00 00 01 00 -T 32 06 00 00 DD 7E E0 DD B6 E1 28 08 DD 7E FE -R 00 00 01 00 -T 3D 06 00 00 DD B6 FF 20 08 -R 00 00 01 00 -T 42 06 00 00 -R 00 00 01 00 -T 42 06 00 00 -R 00 00 01 00 -T 42 06 00 00 -R 00 00 01 00 -T 42 06 00 00 DD 36 E0 2A 00 00 00 DD 36 E1 -R 00 00 01 00 09 07 02 00 -T 49 06 00 00 2A 00 00 00 -R 00 00 01 00 89 04 02 00 -T 4A 06 00 00 -R 00 00 01 00 -T 4A 06 00 00 21 00 00 E5 DD 6E E0 DD 66 E1 E5 -R 00 00 01 00 -T 55 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 14 00 02 0A 14 00 -T 5B 06 00 00 00 00 00 00 F1 F1 DD 75 E2 DD 74 -R 00 00 01 00 02 04 0E 00 -T 64 06 00 00 E3 CB 7C 28 06 -R 00 00 01 00 -T 69 06 00 00 -R 00 00 01 00 -T 69 06 00 00 21 FF FF C3 EC 08 00 00 -R 00 00 01 00 00 08 01 00 -T 6F 06 00 00 -R 00 00 01 00 -T 6F 06 00 00 DD 36 E6 00 DD 36 E7 08 DD 5E E6 -R 00 00 01 00 -T 7A 06 00 00 DD 56 E7 13 CD 23 00 00 00 DD 75 -R 00 00 01 00 00 09 01 00 -T 83 06 00 00 E4 DD 74 E5 DD 7E F8 DD B6 F9 28 -R 00 00 01 00 -T 8E 06 00 00 08 DD 6E F8 DD 66 F9 18 06 -R 00 00 01 00 -T 97 06 00 00 -R 00 00 01 00 -T 97 06 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 -T 9D 06 00 00 -R 00 00 01 00 -T 9D 06 00 00 DD 75 F2 DD 74 F3 DD 7E 02 DD B6 -R 00 00 01 00 -T A8 06 00 00 03 20 2F -R 00 00 01 00 -T AB 06 00 00 -R 00 00 01 00 -T AB 06 00 00 DD 7E F8 DD B6 F9 28 11 DD 5E F6 -R 00 00 01 00 -T B6 06 00 00 DD 56 F7 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 08 00 -T BC 06 00 00 00 00 00 00 CD 00 00 00 00 23 18 -R 00 00 01 00 02 04 08 00 02 09 0E 00 -T C3 06 00 00 06 -R 00 00 01 00 -T C4 06 00 00 -R 00 00 01 00 -T C4 06 00 00 DD 6E E6 DD 66 E7 -R 00 00 01 00 -T CA 06 00 00 -R 00 00 01 00 -T CA 06 00 00 DD 75 FC DD 74 FD EB CD -R 00 00 01 00 -T D2 06 00 00 23 00 00 00 DD 75 02 DD 74 03 -R 00 00 01 00 00 04 01 00 -T DA 06 00 00 -R 00 00 01 00 -T DA 06 00 00 DD 6E 02 DD 66 03 DD 75 EE DD 74 -R 00 00 01 00 -T E5 06 00 00 EF DD 7E F8 DD B6 F9 28 2F -R 00 00 01 00 -T EE 06 00 00 -R 00 00 01 00 -T EE 06 00 00 DD 4E F6 DD 46 F7 DD 5E 02 DD 56 -R 00 00 01 00 -T F9 06 00 00 03 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 -T FF 06 00 00 CD 00 00 00 00 DD 5E F6 DD 56 F7 -R 00 00 01 00 02 05 0E 00 -T 08 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 08 00 02 0A 08 00 -T 0E 07 00 00 00 00 00 00 4D 44 21 0E 00 39 7E -R 00 00 01 00 02 04 0E 00 -T 17 07 00 00 81 77 23 7E 88 77 -R 00 00 01 00 -T 1D 07 00 00 -R 00 00 01 00 -T 1D 07 00 00 -R 00 00 01 00 -T 1D 07 00 00 DD 7E F2 DD B6 F3 CA 8B 08 00 00 -R 00 00 01 00 00 0B 01 00 -T 26 07 00 00 -R 00 00 01 00 -T 26 07 00 00 21 04 00 39 E5 DD 4E E2 DD 46 E3 -R 00 00 01 00 -T 31 07 00 00 DD 5E F2 DD 56 F3 CD EF 08 00 00 -R 00 00 01 00 00 0B 01 00 -T 3A 07 00 00 F1 7D B4 20 38 -R 00 00 01 00 -T 3F 07 00 00 -R 00 00 01 00 -T 3F 07 00 00 DD 5E E2 DD 56 E3 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T 47 07 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 07 00 02 0A 0E 00 -T 4E 07 00 00 5E E4 DD 56 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0C 00 -T 56 07 00 00 00 00 00 00 CD 00 00 00 00 DD 7E -R 00 00 01 00 02 04 0C 00 02 09 0E 00 -T 5D 07 00 00 FC DD B6 FD 28 0E -R 00 00 01 00 -T 63 07 00 00 -R 00 00 01 00 -T 63 07 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0C 00 -T 6B 07 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 0C 00 02 0A 0E 00 -T 71 07 00 00 -R 00 00 01 00 -T 71 07 00 00 21 00 00 C3 EC 08 00 00 -R 00 00 01 00 00 08 01 00 -T 77 07 00 00 -R 00 00 01 00 -T 77 07 00 00 DD 6E 04 DD 66 05 DD 4E F2 DD 46 -R 00 00 01 00 -T 82 07 00 00 F3 A7 ED 42 28 0E -R 00 00 01 00 -T 88 07 00 00 -R 00 00 01 00 -T 88 07 00 00 DD 5E F2 DD 56 F3 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0C 00 -T 90 07 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 0C 00 02 0A 0E 00 -T 96 07 00 00 -R 00 00 01 00 -T 96 07 00 00 DD 7E FC DD B6 FD 28 4F -R 00 00 01 00 -T 9E 07 00 00 -R 00 00 01 00 -T 9E 07 00 00 DD 4E 02 DD 46 03 DD 6E EE DD 66 -R 00 00 01 00 -T A9 07 00 00 EF A7 ED 42 DD 4E E6 DD 46 E7 09 -R 00 00 01 00 -T B4 07 00 00 DD 75 FC DD 74 FD 4D 44 DD 5E 02 -R 00 00 01 00 -T BF 07 00 00 DD 56 03 CD 4C 00 00 00 DD 75 E0 -R 00 00 01 00 00 08 01 00 -T C8 07 00 00 DD 74 E1 DD 4E 02 DD 46 03 A7 ED -R 00 00 01 00 -T D3 07 00 00 42 4D 44 21 0E 00 39 7E 81 77 23 -R 00 00 01 00 -T DE 07 00 00 7E 88 77 DD 6E E0 DD 66 E1 DD 75 -R 00 00 01 00 -T E9 07 00 00 02 DD 74 03 -R 00 00 01 00 -T ED 07 00 00 -R 00 00 01 00 -T ED 07 00 00 DD 6E EE DD 66 EF DD 75 F0 DD 74 -R 00 00 01 00 -T F8 07 00 00 F1 DD 6E E8 DD 66 E9 DD 75 E0 DD -R 00 00 01 00 -T 03 08 00 00 74 E1 -R 00 00 01 00 -T 05 08 00 00 -R 00 00 01 00 -T 05 08 00 00 DD 6E E0 DD 66 E1 23 DD 75 E0 DD -R 00 00 01 00 -T 10 08 00 00 74 E1 2B 4E 06 00 DD 71 F4 DD 70 -R 00 00 01 00 -T 1B 08 00 00 F5 DD 6E EE DD 66 EF 23 DD 75 EE -R 00 00 01 00 -T 26 08 00 00 DD 74 EF 2B 71 0C 0D 28 36 3E 0A -R 00 00 01 00 -T 31 08 00 00 DD AE F4 DD B6 F5 28 2C -R 00 00 01 00 -T 39 08 00 00 -R 00 00 01 00 -T 39 08 00 00 -R 00 00 01 00 -T 39 08 00 00 -R 00 00 01 00 -T 39 08 00 00 3E 5C DD AE F4 DD B6 F5 20 20 DD -R 00 00 01 00 -T 44 08 00 00 6E E0 DD 66 E1 7E FE 0A 20 15 -R 00 00 01 00 -T 4E 08 00 00 -R 00 00 01 00 -T 4E 08 00 00 -R 00 00 01 00 -T 4E 08 00 00 -R 00 00 01 00 -T 4E 08 00 00 DD 6E EE DD 66 EF 2B DD 75 EE DD -R 00 00 01 00 -T 59 08 00 00 74 EF DD 34 E0 20 03 DD 34 E1 -R 00 00 01 00 -T 63 08 00 00 -R 00 00 01 00 -T 63 08 00 00 -R 00 00 01 00 -T 63 08 00 00 18 A0 -R 00 00 01 00 -T 65 08 00 00 -R 00 00 01 00 -T 65 08 00 00 DD 6E EE DD 66 EF 36 00 01 00 00 -R 00 00 01 00 -T 70 08 00 00 C5 01 27 00 00 00 DD 5E F0 DD 56 -R 00 00 01 00 00 06 02 00 -T 79 08 00 00 F1 CD 75 00 00 00 EB C1 CD -R 00 00 01 00 00 06 01 00 -T 80 08 00 00 8D 01 00 00 DD 75 F2 DD 74 F3 C3 -R 00 00 01 00 00 04 01 00 -T 89 08 00 00 1D 07 00 00 -R 00 00 01 00 00 04 01 00 -T 8B 08 00 00 -R 00 00 01 00 -T 8B 08 00 00 DD 5E E2 DD 56 E3 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T 93 08 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 07 00 02 0A 0E 00 -T 9A 08 00 00 5E E4 DD 56 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0C 00 -T A2 08 00 00 00 00 00 00 CD 00 00 00 00 DD 7E -R 00 00 01 00 02 04 0C 00 02 09 0E 00 -T A9 08 00 00 FC DD B6 FD 28 21 -R 00 00 01 00 -T AF 08 00 00 -R 00 00 01 00 -T AF 08 00 00 DD 4E 02 DD 46 03 DD 6E EE DD 66 -R 00 00 01 00 -T BA 08 00 00 EF A7 ED 42 4D 44 03 DD 5E 02 DD -R 00 00 01 00 -T C5 08 00 00 56 03 CD 4C 00 00 00 DD 75 02 DD -R 00 00 01 00 00 07 01 00 -T CE 08 00 00 74 03 -R 00 00 01 00 -T D0 08 00 00 -R 00 00 01 00 -T D0 08 00 00 -R 00 00 01 00 -T D0 08 00 00 DD 6E 02 DD 66 03 22 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T D9 08 00 00 DD 7E FC DD B6 FD 28 08 -R 00 00 01 00 -T E1 08 00 00 -R 00 00 01 00 -T E1 08 00 00 DD 6E 02 DD 66 03 18 03 -R 00 00 01 00 -T E9 08 00 00 -R 00 00 01 00 -T E9 08 00 00 21 01 00 -R 00 00 01 00 -T EC 08 00 00 -R 00 00 01 00 -T EC 08 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T EF 08 00 00 -R 00 00 01 00 -T EF 08 00 00 CD 00 00 00 00 FE FF 21 04 00 DD -R 00 00 01 00 02 05 10 00 -T F8 08 00 00 5E 08 DD 56 09 19 E5 EB 5E 23 56 -R 00 00 01 00 -T 03 09 00 00 E1 73 23 72 21 08 00 DD 5E 08 DD -R 00 00 01 00 -T 0E 09 00 00 56 09 19 AF 77 23 77 21 06 00 19 -R 00 00 01 00 -T 19 09 00 00 AF 77 23 77 21 04 00 19 7E 23 66 -R 00 00 01 00 -T 24 09 00 00 6F 36 00 21 00 00 E5 21 00 00 E5 -R 00 00 01 00 -T 2F 09 00 00 21 00 00 E5 59 50 3E 00 00 00 00 -R 00 00 01 00 2B 0B 06 00 -T 37 09 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 06 00 02 0A 0E 00 -T 3E 09 00 00 F1 F1 -R 00 00 01 00 -T 40 09 00 00 -R 00 00 01 00 -T 40 09 00 00 21 06 00 DD 4E 08 DD 46 09 09 7E -R 00 00 01 00 -T 4B 09 00 00 23 B6 C2 D8 09 00 00 -R 00 00 01 00 00 07 01 00 -T 50 09 00 00 -R 00 00 01 00 -T 50 09 00 00 AF DD 77 FE DD 77 FF -R 00 00 01 00 -T 57 09 00 00 -R 00 00 01 00 -T 57 09 00 00 DD 6E FE DD 66 FF E5 DD 4E 08 DD -R 00 00 01 00 -T 62 09 00 00 46 09 DD 5E 04 DD 56 05 CD -R 00 00 01 00 -T 6B 09 00 00 13 0B 00 00 F1 DD 75 FE DD 74 FF -R 00 00 01 00 00 04 01 00 -T 74 09 00 00 21 06 00 DD 4E 08 DD 46 09 09 7E -R 00 00 01 00 -T 7F 09 00 00 23 B6 20 0D DD 6E FE DD 66 FF 2B -R 00 00 01 00 -T 8A 09 00 00 2B 7E FE 5C 28 C7 -R 00 00 01 00 -T 90 09 00 00 -R 00 00 01 00 -T 90 09 00 00 21 04 00 DD 4E 08 DD 46 09 09 7E -R 00 00 01 00 -T 9B 09 00 00 23 66 6F 7E FE 23 28 1F DD 4E 02 -R 00 00 01 00 -T A6 09 00 00 DD 46 03 21 04 00 DD 5E 08 DD 56 -R 00 00 01 00 -T B1 09 00 00 09 19 5E 23 56 CD DE 09 00 00 7D -R 00 00 01 00 00 0A 01 00 -T BA 09 00 00 B4 28 05 -R 00 00 01 00 -T BD 09 00 00 -R 00 00 01 00 -T BD 09 00 00 -R 00 00 01 00 -T BD 09 00 00 -R 00 00 01 00 -T BD 09 00 00 21 01 00 18 19 -R 00 00 01 00 -T C2 09 00 00 -R 00 00 01 00 -T C2 09 00 00 21 04 00 DD 4E 08 DD 46 09 09 DD -R 00 00 01 00 -T CD 09 00 00 4E FE DD 46 FF 71 23 70 C3 -R 00 00 01 00 -T D6 09 00 00 40 09 00 00 -R 00 00 01 00 00 04 01 00 -T D8 09 00 00 -R 00 00 01 00 -T D8 09 00 00 21 00 00 -R 00 00 01 00 -T DB 09 00 00 -R 00 00 01 00 -T DB 09 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T DE 09 00 00 -R 00 00 01 00 -T DE 09 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 10 00 -T E7 09 00 00 56 03 CD 54 0A 00 00 7D B4 20 05 -R 00 00 01 00 00 07 01 00 -T F0 09 00 00 -R 00 00 01 00 -T F0 09 00 00 21 01 00 18 5C -R 00 00 01 00 -T F5 09 00 00 -R 00 00 01 00 -T F5 09 00 00 DD 6E 02 DD 66 03 DD 75 FE DD 74 -R 00 00 01 00 -T 00 0A 00 00 FF -R 00 00 01 00 -T 01 0A 00 00 -R 00 00 01 00 -T 01 0A 00 00 DD 6E FE DD 66 FF AF B6 28 43 DD -R 00 00 01 00 -T 0C 0A 00 00 6E FE DD 66 FF 7E FE 0A 28 38 DD -R 00 00 01 00 -T 17 0A 00 00 6E FE DD 66 FF 7E FE 3A 28 2D -R 00 00 01 00 -T 21 0A 00 00 -R 00 00 01 00 -T 21 0A 00 00 -R 00 00 01 00 -T 21 0A 00 00 -R 00 00 01 00 -T 21 0A 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 2C 0A 00 00 74 FF 2B 7E FE 7C 20 18 DD 4E 04 -R 00 00 01 00 -T 37 0A 00 00 DD 46 05 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 41 0A 00 00 54 0A 00 00 7D B4 20 05 -R 00 00 01 00 00 04 01 00 -T 47 0A 00 00 -R 00 00 01 00 -T 47 0A 00 00 -R 00 00 01 00 -T 47 0A 00 00 -R 00 00 01 00 -T 47 0A 00 00 21 01 00 18 05 -R 00 00 01 00 -T 4C 0A 00 00 -R 00 00 01 00 -T 4C 0A 00 00 18 B3 -R 00 00 01 00 -T 4E 0A 00 00 -R 00 00 01 00 -T 4E 0A 00 00 21 00 00 -R 00 00 01 00 -T 51 0A 00 00 -R 00 00 01 00 -T 51 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T 54 0A 00 00 -R 00 00 01 00 -T 54 0A 00 00 CD 00 00 00 00 FC FF -R 00 00 01 00 02 05 10 00 -T 59 0A 00 00 -R 00 00 01 00 -T 59 0A 00 00 -R 00 00 01 00 -T 59 0A 00 00 AF 3C CA 0D 0B 00 00 -R 00 00 01 00 00 07 01 00 -T 5E 0A 00 00 -R 00 00 01 00 -T 5E 0A 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T 69 0A 00 00 74 03 2B 4E 06 00 DD 71 FC DD 70 -R 00 00 01 00 -T 74 0A 00 00 FD DD 6E 04 DD 66 05 23 DD 75 04 -R 00 00 01 00 -T 7F 0A 00 00 DD 74 05 2B 4E 06 00 DD 71 FE DD -R 00 00 01 00 -T 8A 0A 00 00 70 FF -R 00 00 01 00 -T 8C 0A 00 00 -R 00 00 01 00 -T 8C 0A 00 00 3E 5C DD AE FC DD B6 FD 20 3E DD -R 00 00 01 00 -T 97 0A 00 00 6E 02 DD 66 03 7E FE 0A 20 33 -R 00 00 01 00 -T A1 0A 00 00 -R 00 00 01 00 -T A1 0A 00 00 -R 00 00 01 00 -T A1 0A 00 00 -R 00 00 01 00 -T A1 0A 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T A9 0A 00 00 -R 00 00 01 00 -T A9 0A 00 00 -R 00 00 01 00 -T A9 0A 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T B4 0A 00 00 74 03 2B 4E 06 00 DD 71 FC DD 70 -R 00 00 01 00 -T BF 0A 00 00 FD 3E 20 A9 B0 28 0A 3E 09 DD AE -R 00 00 01 00 -T CA 0A 00 00 FC DD B6 FD 20 02 -R 00 00 01 00 -T D0 0A 00 00 -R 00 00 01 00 -T D0 0A 00 00 -R 00 00 01 00 -T D0 0A 00 00 -R 00 00 01 00 -T D0 0A 00 00 18 D7 -R 00 00 01 00 -T D2 0A 00 00 -R 00 00 01 00 -T D2 0A 00 00 18 B8 -R 00 00 01 00 -T D4 0A 00 00 -R 00 00 01 00 -T D4 0A 00 00 DD 7E FE DD B6 FF 20 1B -R 00 00 01 00 -T DC 0A 00 00 -R 00 00 01 00 -T DC 0A 00 00 3E 7C DD AE FC DD B6 FD 28 0A 3E -R 00 00 01 00 -T E7 0A 00 00 3A DD AE FC DD B6 FD 20 05 -R 00 00 01 00 -T F0 0A 00 00 -R 00 00 01 00 -T F0 0A 00 00 -R 00 00 01 00 -T F0 0A 00 00 -R 00 00 01 00 -T F0 0A 00 00 21 00 00 18 1B -R 00 00 01 00 -T F5 0A 00 00 -R 00 00 01 00 -T F5 0A 00 00 18 16 -R 00 00 01 00 -T F7 0A 00 00 -R 00 00 01 00 -T F7 0A 00 00 DD 6E FE DD 66 FF DD 4E FC DD 46 -R 00 00 01 00 -T 02 0B 00 00 FD A7 ED 42 28 02 -R 00 00 01 00 -T 08 0B 00 00 -R 00 00 01 00 -T 08 0B 00 00 18 03 -R 00 00 01 00 -T 0A 0B 00 00 -R 00 00 01 00 -T 0A 0B 00 00 C3 59 0A 00 00 -R 00 00 01 00 00 05 01 00 -T 0D 0B 00 00 -R 00 00 01 00 -T 0D 0B 00 00 21 01 00 -R 00 00 01 00 -T 10 0B 00 00 -R 00 00 01 00 -T 10 0B 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T 13 0B 00 00 -R 00 00 01 00 -T 13 0B 00 00 CD 00 00 00 00 F8 FF 0A 6F 03 0A -R 00 00 01 00 02 05 10 00 -T 1C 0B 00 00 67 DD 75 FE DD 74 FF DD 7E 08 DD -R 00 00 01 00 -T 27 0B 00 00 B6 09 20 14 -R 00 00 01 00 -T 2B 0B 00 00 -R 00 00 01 00 -T 2B 0B 00 00 21 04 00 DD 4E 04 DD 46 05 09 46 -R 00 00 01 00 -T 36 0B 00 00 23 66 68 DD 75 08 DD 74 09 -R 00 00 01 00 -T 3F 0B 00 00 -R 00 00 01 00 -T 3F 0B 00 00 -R 00 00 01 00 -T 3F 0B 00 00 AF 3C CA 40 0D 00 00 -R 00 00 01 00 00 07 01 00 -T 44 0B 00 00 -R 00 00 01 00 -T 44 0B 00 00 DD 6E 08 DD 66 09 DD 75 FA DD 74 -R 00 00 01 00 -T 4F 0B 00 00 FB -R 00 00 01 00 -T 50 0B 00 00 -R 00 00 01 00 -T 50 0B 00 00 DD 6E FA DD 66 FB AF B6 28 15 DD -R 00 00 01 00 -T 5B 0B 00 00 6E FA DD 66 FB 7E FE 0A 28 0A -R 00 00 01 00 -T 65 0B 00 00 -R 00 00 01 00 -T 65 0B 00 00 -R 00 00 01 00 -T 65 0B 00 00 -R 00 00 01 00 -T 65 0B 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 6D 0B 00 00 -R 00 00 01 00 -T 6D 0B 00 00 18 E1 -R 00 00 01 00 -T 6F 0B 00 00 -R 00 00 01 00 -T 6F 0B 00 00 DD 6E FA DD 66 FB AF B6 28 03 -R 00 00 01 00 -T 79 0B 00 00 -R 00 00 01 00 -T 79 0B 00 00 C3 40 0D 00 00 -R 00 00 01 00 00 05 01 00 -T 7C 0B 00 00 -R 00 00 01 00 -T 7C 0B 00 00 21 06 00 DD 4E 04 DD 46 05 09 7E -R 00 00 01 00 -T 87 0B 00 00 23 B6 28 18 -R 00 00 01 00 -T 8B 0B 00 00 -R 00 00 01 00 -T 8B 0B 00 00 21 08 00 DD 4E 04 DD 46 05 09 46 -R 00 00 01 00 -T 96 0B 00 00 23 66 68 DD 4E FE DD 46 FF 09 C3 -R 00 00 01 00 -T A1 0B 00 00 47 0D 00 00 -R 00 00 01 00 00 04 01 00 -T A3 0B 00 00 -R 00 00 01 00 -T A3 0B 00 00 21 04 00 DD 4E 04 DD 46 05 09 46 -R 00 00 01 00 -T AE 0B 00 00 23 66 68 DD 4E FE DD 46 FF A7 ED -R 00 00 01 00 -T B9 0B 00 00 42 C2 51 0C 00 00 -R 00 00 01 00 00 06 01 00 -T BD 0B 00 00 -R 00 00 01 00 -T BD 0B 00 00 21 08 00 DD 4E 04 DD 46 05 09 56 -R 00 00 01 00 -T C8 0B 00 00 23 66 6A E5 03 03 69 60 4E 23 46 -R 00 00 01 00 -T D3 0B 00 00 E1 A7 ED 42 20 76 -R 00 00 01 00 -T D9 0B 00 00 -R 00 00 01 00 -T D9 0B 00 00 DD 6E 04 DD 66 05 23 23 06 01 CD -R 00 00 01 00 -T E4 0B 00 00 00 00 00 00 DD 6E 04 DD 66 05 23 -R 00 00 01 00 02 04 00 00 -T ED 0B 00 00 23 4E 23 46 03 DD 5E FE DD 56 FF -R 00 00 01 00 -T F8 0B 00 00 CD 4C 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 00 05 01 00 -T 01 0C 00 00 21 04 00 DD 4E 04 DD 46 05 09 E5 -R 00 00 01 00 -T 0C 0C 00 00 DD 5E FE DD 56 FF 21 04 00 09 7E -R 00 00 01 00 -T 17 0C 00 00 23 66 6F A7 ED 52 DD 5E FC DD 56 -R 00 00 01 00 -T 22 0C 00 00 FD 19 4D 44 E1 71 23 70 DD 4E FE -R 00 00 01 00 -T 2D 0C 00 00 DD 46 FF DD 6E 08 DD 66 09 A7 ED -R 00 00 01 00 -T 38 0C 00 00 42 19 DD 75 08 DD 74 09 DD 73 FE -R 00 00 01 00 -T 43 0C 00 00 DD 72 FF DD 6E 04 DD 66 05 73 23 -R 00 00 01 00 -T 4E 0C 00 00 72 -R 00 00 01 00 -T 4F 0C 00 00 -R 00 00 01 00 -T 4F 0C 00 00 18 6F -R 00 00 01 00 -T 51 0C 00 00 -R 00 00 01 00 -T 51 0C 00 00 DD 4E FE DD 46 FF 21 04 00 DD 5E -R 00 00 01 00 -T 5C 0C 00 00 04 DD 56 05 19 7E 23 66 6F A7 ED -R 00 00 01 00 -T 67 0C 00 00 42 4D 44 21 10 00 39 7E 91 77 23 -R 00 00 01 00 -T 72 0C 00 00 7E 98 77 DD 4E FE DD 46 FF 21 -R 00 00 01 00 -T 7C 0C 00 00 04 00 19 7E 23 66 6F A7 ED 42 4D -R 00 00 01 00 -T 87 0C 00 00 44 21 08 00 19 7E 91 77 23 7E 98 -R 00 00 01 00 -T 92 0C 00 00 77 2B 6E 67 E5 21 04 00 19 4E 23 -R 00 00 01 00 -T 9D 0C 00 00 46 DD 5E FE DD 56 FF 3E -R 00 00 01 00 -T A5 0C 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T AA 0C 00 00 00 00 00 00 F1 21 04 00 DD 4E 04 -R 00 00 01 00 02 04 0E 00 -T B3 0C 00 00 DD 46 05 09 DD 4E FE DD 46 FF 71 -R 00 00 01 00 -T BE 0C 00 00 23 70 -R 00 00 01 00 -T C0 0C 00 00 -R 00 00 01 00 -T C0 0C 00 00 21 08 00 DD 4E 04 DD 46 05 09 5E -R 00 00 01 00 -T CB 0C 00 00 23 56 03 03 0A 6F 03 0A 67 A7 ED -R 00 00 01 00 -T D6 0C 00 00 52 E5 21 08 00 DD 4E 04 DD 46 05 -R 00 00 01 00 -T E1 0C 00 00 09 46 23 66 68 DD 4E FE DD 46 FF -R 00 00 01 00 -T EC 0C 00 00 09 4D 44 DD 5E 02 DD 56 03 3E -R 00 00 01 00 -T F6 0C 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 18 00 02 09 18 00 -T FB 0C 00 00 00 00 00 00 F1 DD 75 F8 DD 74 F9 -R 00 00 01 00 02 04 0E 00 -T 04 0D 00 00 7D B4 20 0F -R 00 00 01 00 -T 08 0D 00 00 -R 00 00 01 00 -T 08 0D 00 00 21 06 00 DD 4E 04 DD 46 05 09 36 -R 00 00 01 00 -T 13 0D 00 00 01 23 36 00 -R 00 00 01 00 -T 17 0D 00 00 -R 00 00 01 00 -T 17 0D 00 00 21 08 00 DD 4E 04 DD 46 05 09 7E -R 00 00 01 00 -T 22 0D 00 00 DD 86 F8 77 23 7E DD 8E F9 77 21 -R 00 00 01 00 -T 2D 0D 00 00 08 00 09 46 23 66 68 DD 4E FE DD -R 00 00 01 00 -T 38 0D 00 00 46 FF 09 36 00 C3 3F 0B 00 00 -R 00 00 01 00 00 0A 01 00 -T 40 0D 00 00 -R 00 00 01 00 -T 40 0D 00 00 DD 6E FA DD 66 FB 23 -R 00 00 01 00 -T 47 0D 00 00 -R 00 00 01 00 -T 47 0D 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 76 69 72 74 75 61 6C 20 6D 65 6D -R 00 00 02 00 -T 0B 00 00 00 6F 72 79 20 65 78 68 61 75 73 74 -R 00 00 02 00 -T 16 00 00 00 65 64 0A 00 -R 00 00 02 00 -T 1A 00 00 00 -R 00 00 02 00 -T 1A 00 00 00 54 45 52 4D 00 -R 00 00 02 00 -T 1F 00 00 00 -R 00 00 02 00 -T 1F 00 00 00 54 45 52 4D 43 41 50 00 -R 00 00 02 00 -T 27 00 00 00 -R 00 00 02 00 -T 27 00 00 00 74 63 00 -R 00 00 02 00 -T 2A 00 00 00 -R 00 00 02 00 -T 2A 00 00 00 2F 65 74 63 2F 74 65 72 6D 63 61 -R 00 00 02 00 -T 35 00 00 00 70 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 06 00 00 00 -R 00 00 03 00 -T 06 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 1C 00 00 00 -R 00 00 04 00 -T 1C 00 00 00 -R 00 00 04 00 -T 00 00 00 00 20 07 08 20 20 1B 0C 20 20 20 20 -R 00 00 05 00 -T 0B 00 00 00 20 20 20 0A 20 20 20 0D 20 20 20 -R 00 00 05 00 -T 16 00 00 00 0B 20 20 20 20 00 00 00 32 00 -R 00 00 05 00 -T 20 00 00 00 4B 00 6E 00 87 00 96 00 FE FF -R 00 00 05 00 -T 2A 00 00 00 FD FF FA FF F4 FF EE FF E8 FF -R 00 00 05 00 -T 34 00 00 00 D0 FF A0 FF 40 FF 80 FE -R 00 00 05 00 diff --git a/lib/relcb/tmpnam.rel b/lib/relcb/tmpnam.rel deleted file mode 100644 index 9110b333..00000000 --- a/lib/relcb/tmpnam.rel +++ /dev/null @@ -1,87 +0,0 @@ -XL4 -H 4 areas D global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?L_ADDASG_L03 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ultoa Ref00000000 -S strcpy Ref00000000 -S access Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 95 flags 0 -S tmpnam Def00000059 -A CSTR size 6 flags 0 -A UDATA0 size 44 flags 0 -S _tmpnum Def00000040 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 7B B2 20 08 -R 00 00 01 00 02 05 04 00 -T 07 00 00 00 -R 00 00 01 00 -T 07 00 00 00 DD 36 02 00 00 00 00 DD 36 03 -R 00 00 01 00 09 07 03 00 -T 0E 00 00 00 00 00 00 00 -R 00 00 01 00 89 04 03 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 01 00 00 00 00 DD 5E 02 DD 56 03 -R 00 00 01 00 00 05 02 00 -T 18 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 -T 1E 00 00 00 00 00 00 00 21 0A 00 E5 DD 5E 02 -R 00 00 01 00 02 04 05 00 -T 27 00 00 00 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 01 00 -T 2D 00 00 00 00 00 00 00 CD 00 00 00 00 DD 4E -R 00 00 01 00 02 04 01 00 02 09 05 00 -T 34 00 00 00 02 DD 46 03 09 E5 DD 4E 0A DD 46 -R 00 00 01 00 -T 3F 00 00 00 0B DD 5E 08 DD 56 09 3E -R 00 00 01 00 -T 47 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 -T 4C 00 00 00 00 00 00 00 F1 F1 DD 6E 02 DD 66 -R 00 00 01 00 02 04 05 00 -T 55 00 00 00 03 C3 00 00 00 00 -R 00 00 01 00 02 06 02 00 -T 59 00 00 00 -R 00 00 01 00 -T 59 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 21 40 00 00 00 01 00 00 11 0D 00 -R 00 00 01 00 00 05 03 00 -T 65 00 00 00 CD 00 00 00 00 C5 D5 DD 5E 02 DD -R 00 00 01 00 02 05 03 00 -T 6E 00 00 00 56 03 CD 00 00 00 00 F1 F1 DD 75 -R 00 00 01 00 00 07 01 00 -T 77 00 00 00 02 DD 74 03 01 00 00 EB 3E -R 00 00 01 00 -T 80 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T 85 00 00 00 00 00 00 00 7D A4 3C 20 D0 -R 00 00 01 00 02 04 05 00 -T 8C 00 00 00 -R 00 00 01 00 -T 8C 00 00 00 DD 6E 02 DD 66 03 C3 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2F 74 6D 70 2F 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 40 00 00 00 -R 00 00 03 00 -T 40 00 00 00 -R 00 00 03 00 diff --git a/lib/relcb/tparam.rel b/lib/relcb/tparam.rel deleted file mode 100644 index 93aac56e..00000000 --- a/lib/relcb/tparam.rel +++ /dev/null @@ -1,701 +0,0 @@ -XL4 -H 4 areas 1B global symbols -S ?S_LSHASG_L02 Ref00000000 -S ?S_MULASG_L02 Ref00000000 -S _write Ref00000000 -S memcpy Ref00000000 -S ?S_MUL_L02 Ref00000000 -S strcat Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S realloc Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?S_V_SWITCH_L06 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_MODASG_L02 Ref00000000 -S ?SS_DIVASG_L02 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?SS_MOD_L02 Ref00000000 -S ?SS_DIV_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S malloc Ref00000000 -S exit Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6FA flags 0 -S tparam Def00000075 -S tgoto Def00000096 -A CSTR size 1A flags 0 -A UDATA0 size 36 flags 0 -S _UP Def00000002 -S _BC Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 21 19 00 E5 01 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 09 00 00 00 11 02 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 02 00 -T 0F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 11 -R 00 00 01 00 02 04 02 00 02 09 0B 00 -T 16 00 00 00 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 15 00 -T 1B 00 00 00 00 00 00 00 CD 00 00 00 00 D1 C1 -R 00 00 01 00 02 04 15 00 02 09 0B 00 -T 22 00 00 00 C9 -R 00 00 01 00 -T 23 00 00 00 -R 00 00 01 00 -T 23 00 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 0D 00 -T 2C 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 14 00 -T 31 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 14 00 02 09 0B 00 -T 38 00 00 00 FE DD 74 FF 7D B4 20 03 -R 00 00 01 00 -T 40 00 00 00 -R 00 00 01 00 -T 40 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 05 01 00 -T 43 00 00 00 -R 00 00 01 00 -T 43 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 0D 00 -T 55 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 09 00 -T 5A 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 09 00 02 09 0B 00 -T 61 00 00 00 FE DD 74 FF 7D B4 20 03 -R 00 00 01 00 -T 69 00 00 00 -R 00 00 01 00 -T 69 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 05 01 00 -T 6C 00 00 00 -R 00 00 01 00 -T 6C 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T 75 00 00 00 -R 00 00 01 00 -T 75 00 00 00 CD 00 00 00 00 21 0C 00 39 E5 21 -R 00 00 01 00 02 05 0A 00 -T 7E 00 00 00 00 00 E5 21 00 00 E5 DD 6E 0A DD -R 00 00 01 00 -T 89 00 00 00 66 0B E5 CD E4 00 00 00 F1 F1 F1 -R 00 00 01 00 00 08 01 00 -T 92 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 06 00 -T 96 00 00 00 -R 00 00 01 00 -T 96 00 00 00 CD 00 00 00 00 FC FF DD 7E 02 DD -R 00 00 01 00 02 05 0D 00 -T 9F 00 00 00 B6 03 20 05 -R 00 00 01 00 -T A3 00 00 00 -R 00 00 01 00 -T A3 00 00 00 21 00 00 18 39 -R 00 00 01 00 -T A8 00 00 00 -R 00 00 01 00 -T A8 00 00 00 DD 6E 0A DD 66 0B DD 75 FC DD 74 -R 00 00 01 00 -T B3 00 00 00 FD DD 6E 04 DD 66 05 DD 75 FE DD -R 00 00 01 00 -T BE 00 00 00 74 FF 21 00 00 39 E5 2A -R 00 00 01 00 -T C6 00 00 00 00 00 00 00 E5 2A 02 00 00 00 E5 -R 00 00 01 00 00 04 03 00 00 0A 03 00 -T CD 00 00 00 21 32 00 E5 01 04 00 00 00 DD 5E -R 00 00 01 00 00 09 03 00 -T D6 00 00 00 02 DD 56 03 CD E4 00 00 00 F1 F1 -R 00 00 01 00 00 09 01 00 -T DF 00 00 00 F1 F1 -R 00 00 01 00 -T E1 00 00 00 -R 00 00 01 00 -T E1 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T E4 00 00 00 -R 00 00 01 00 -T E4 00 00 00 CD 00 00 00 00 EC FF DD 6E 02 DD -R 00 00 01 00 02 05 0D 00 -T ED 00 00 00 66 03 DD 75 F0 DD 74 F1 DD 71 F2 -R 00 00 01 00 -T F8 00 00 00 DD 70 F3 DD 6E 0E DD 66 0F DD 75 -R 00 00 01 00 -T 03 01 00 00 F4 DD 74 F5 AF DD 77 F6 DD 77 F7 -R 00 00 01 00 -T 0E 01 00 00 AF DD 77 F8 DD 77 F9 AF DD 77 FA -R 00 00 01 00 -T 19 01 00 00 DD 77 FB DD 6E 08 DD 66 09 DD 4E -R 00 00 01 00 -T 24 01 00 00 04 DD 46 05 09 DD 75 FC DD 74 FD -R 00 00 01 00 -T 2F 01 00 00 -R 00 00 01 00 -T 2F 01 00 00 AF 3C CA 91 06 00 00 -R 00 00 01 00 00 07 01 00 -T 34 01 00 00 -R 00 00 01 00 -T 34 01 00 00 21 05 00 DD 4E F2 DD 46 F3 09 DD -R 00 00 01 00 -T 3F 01 00 00 4E FC DD 46 FD A7 ED 42 DA -R 00 00 01 00 -T 48 01 00 00 0D 02 00 00 -R 00 00 01 00 00 04 01 00 -T 4A 01 00 00 -R 00 00 01 00 -T 4A 01 00 00 DD 7E F6 DD B6 F7 20 4E -R 00 00 01 00 -T 52 01 00 00 -R 00 00 01 00 -T 52 01 00 00 21 28 00 DD 4E 08 DD 46 09 09 DD -R 00 00 01 00 -T 5D 01 00 00 75 F6 DD 74 F7 EB CD 23 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 66 01 00 00 DD 75 FE DD 74 FF 21 10 00 39 7E -R 00 00 01 00 -T 71 01 00 00 C6 28 77 23 7E CE 00 77 DD 4E 04 -R 00 00 01 00 -T 7C 01 00 00 DD 46 05 DD 6E F2 DD 66 F3 A7 ED -R 00 00 01 00 -T 87 01 00 00 42 E5 DD 4E 04 DD 46 05 DD 5E FE -R 00 00 01 00 -T 92 01 00 00 DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 03 00 -T 98 01 00 00 00 00 00 00 CD 00 00 00 00 F1 18 -R 00 00 01 00 02 04 03 00 02 09 0B 00 -T 9F 01 00 00 29 -R 00 00 01 00 -T A0 01 00 00 -R 00 00 01 00 -T A0 01 00 00 21 10 00 39 7E DD 86 F6 77 23 7E -R 00 00 01 00 -T AB 01 00 00 DD 8E F7 77 21 0A 00 39 06 01 CD -R 00 00 01 00 -T B6 01 00 00 00 00 00 00 4B 42 DD 5E 04 DD 56 -R 00 00 01 00 02 04 00 00 -T BF 01 00 00 05 CD 4C 00 00 00 DD 75 FE DD 74 -R 00 00 01 00 00 06 01 00 -T C8 01 00 00 FF -R 00 00 01 00 -T C9 01 00 00 -R 00 00 01 00 -T C9 01 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 -R 00 00 01 00 -T D4 01 00 00 FF A7 ED 42 4D 44 21 06 00 39 7E -R 00 00 01 00 -T DF 01 00 00 81 77 23 7E 88 77 DD 4E 04 DD 46 -R 00 00 01 00 -T EA 01 00 00 05 DD 6E FE DD 66 FF A7 ED 42 4D -R 00 00 01 00 -T F5 01 00 00 44 21 10 00 39 7E 81 77 23 7E 88 -R 00 00 01 00 -T 00 02 00 00 77 DD 6E FE DD 66 FF DD 75 04 DD -R 00 00 01 00 -T 0B 02 00 00 74 05 -R 00 00 01 00 -T 0D 02 00 00 -R 00 00 01 00 -T 0D 02 00 00 DD 6E F0 DD 66 F1 23 DD 75 F0 DD -R 00 00 01 00 -T 18 02 00 00 74 F1 2B 4E 06 00 DD 71 EC DD 70 -R 00 00 01 00 -T 23 02 00 00 ED 79 B0 20 03 -R 00 00 01 00 -T 28 02 00 00 -R 00 00 01 00 -T 28 02 00 00 C3 91 06 00 00 -R 00 00 01 00 00 05 01 00 -T 2B 02 00 00 -R 00 00 01 00 -T 2B 02 00 00 3E 25 DD AE EC DD B6 ED C2 -R 00 00 01 00 -T 34 02 00 00 7C 06 00 00 -R 00 00 01 00 00 04 01 00 -T 36 02 00 00 -R 00 00 01 00 -T 36 02 00 00 DD 6E F0 DD 66 F1 23 DD 75 F0 DD -R 00 00 01 00 -T 41 02 00 00 74 F1 2B 4E 06 00 DD 71 EC DD 70 -R 00 00 01 00 -T 4C 02 00 00 ED DD 6E 0E DD 66 0F 56 23 66 6A -R 00 00 01 00 -T 57 02 00 00 DD 75 EE DD 74 EF 59 50 CD -R 00 00 01 00 -T 60 02 00 00 00 00 00 00 11 00 25 00 2B 00 -R 00 00 01 00 02 04 0C 00 -T 68 02 00 00 2E 00 32 00 33 00 3E 00 42 00 -R 00 00 01 00 -T 72 02 00 00 43 00 44 00 61 00 62 00 64 00 -R 00 00 01 00 -T 7C 02 00 00 66 00 69 00 6D 00 6E 00 72 00 -R 00 00 01 00 -T 86 02 00 00 7A 06 00 00 8F 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 8A 02 00 00 F6 05 00 00 18 06 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 8E 02 00 00 D8 05 00 00 6C 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 92 02 00 00 AA 02 00 00 7C 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 96 02 00 00 07 05 00 00 5B 06 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 9A 02 00 00 75 03 00 00 3A 06 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 9E 02 00 00 C7 04 00 00 D1 02 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T A2 02 00 00 25 03 00 00 C7 03 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T A6 02 00 00 AB 03 00 00 F3 05 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T AA 02 00 00 -R 00 00 01 00 -T AA 02 00 00 01 0A 80 DD 6E EE DD 66 EF 3E 80 -R 00 00 01 00 -T B5 02 00 00 AC 67 ED 42 30 03 -R 00 00 01 00 -T BB 02 00 00 -R 00 00 01 00 -T BB 02 00 00 C3 47 03 00 00 -R 00 00 01 00 00 05 01 00 -T BE 02 00 00 -R 00 00 01 00 -T BE 02 00 00 01 64 80 DD 6E EE DD 66 EF 3E 80 -R 00 00 01 00 -T C9 02 00 00 AC 67 ED 42 30 02 -R 00 00 01 00 -T CF 02 00 00 -R 00 00 01 00 -T CF 02 00 00 18 54 -R 00 00 01 00 -T D1 02 00 00 -R 00 00 01 00 -T D1 02 00 00 -R 00 00 01 00 -T D1 02 00 00 DD 4E EE DD 46 EF 21 E7 03 CD -R 00 00 01 00 -T DB 02 00 00 00 00 00 00 30 28 -R 00 00 01 00 02 04 10 00 -T DF 02 00 00 -R 00 00 01 00 -T DF 02 00 00 01 E8 03 DD 5E EE DD 56 EF CD -R 00 00 01 00 -T E9 02 00 00 00 00 00 00 7B C6 30 DD 6E F2 DD -R 00 00 01 00 02 04 12 00 -T F2 02 00 00 66 F3 23 DD 75 F2 DD 74 F3 2B 77 -R 00 00 01 00 -T FD 02 00 00 21 02 00 39 01 E8 03 CD -R 00 00 01 00 -T 05 03 00 00 00 00 00 00 -R 00 00 01 00 02 04 0E 00 -T 07 03 00 00 -R 00 00 01 00 -T 07 03 00 00 01 64 00 DD 5E EE DD 56 EF CD -R 00 00 01 00 -T 11 03 00 00 00 00 00 00 7B C6 30 DD 6E F2 DD -R 00 00 01 00 02 04 12 00 -T 1A 03 00 00 66 F3 23 DD 75 F2 DD 74 F3 2B 77 -R 00 00 01 00 -T 25 03 00 00 -R 00 00 01 00 -T 25 03 00 00 -R 00 00 01 00 -T 25 03 00 00 21 02 00 39 01 64 00 CD -R 00 00 01 00 -T 2D 03 00 00 00 00 00 00 01 0A 00 CD -R 00 00 01 00 02 04 0E 00 -T 33 03 00 00 00 00 00 00 7B C6 30 DD 6E F2 DD -R 00 00 01 00 02 04 12 00 -T 3C 03 00 00 66 F3 23 DD 75 F2 DD 74 F3 2B 77 -R 00 00 01 00 -T 47 03 00 00 -R 00 00 01 00 -T 47 03 00 00 01 0A 00 DD 5E EE DD 56 EF CD -R 00 00 01 00 -T 51 03 00 00 00 00 00 00 7B C6 30 DD 6E F2 DD -R 00 00 01 00 02 04 11 00 -T 5A 03 00 00 66 F3 23 DD 75 F2 DD 74 F3 2B 77 -R 00 00 01 00 -T 65 03 00 00 DD 7E 0E C6 02 DD 77 0E 30 03 DD -R 00 00 01 00 -T 70 03 00 00 34 0F -R 00 00 01 00 -T 72 03 00 00 -R 00 00 01 00 -T 72 03 00 00 C3 7A 06 00 00 -R 00 00 01 00 00 05 01 00 -T 75 03 00 00 -R 00 00 01 00 -T 75 03 00 00 01 60 80 DD 6E EE DD 66 EF 3E 80 -R 00 00 01 00 -T 80 03 00 00 AC 67 ED 42 38 25 -R 00 00 01 00 -T 86 03 00 00 -R 00 00 01 00 -T 86 03 00 00 01 60 00 DD 5E EE DD 56 EF CD -R 00 00 01 00 -T 90 03 00 00 00 00 00 00 DD 6E F2 DD 66 F3 23 -R 00 00 01 00 02 04 12 00 -T 99 03 00 00 DD 75 F2 DD 74 F3 2B 73 21 02 00 -R 00 00 01 00 -T A4 03 00 00 39 01 60 00 CD 00 00 00 00 -R 00 00 01 00 02 09 0E 00 -T AB 03 00 00 -R 00 00 01 00 -T AB 03 00 00 -R 00 00 01 00 -T AB 03 00 00 DD 6E F0 DD 66 F1 23 DD 75 F0 DD -R 00 00 01 00 -T B6 03 00 00 74 F1 2B 4E 06 00 21 02 00 39 7E -R 00 00 01 00 -T C1 03 00 00 81 77 23 7E 88 77 -R 00 00 01 00 -T C7 03 00 00 -R 00 00 01 00 -T C7 03 00 00 DD 7E 0C DD B6 0D 28 7F -R 00 00 01 00 -T CF 03 00 00 -R 00 00 01 00 -T CF 03 00 00 -R 00 00 01 00 -T CF 03 00 00 DD 7E EE DD B6 EF 28 14 3E 0A DD -R 00 00 01 00 -T DA 03 00 00 AE EE DD B6 EF 28 0A 3E 09 DD AE -R 00 00 01 00 -T E5 03 00 00 EE DD B6 EF 20 63 -R 00 00 01 00 -T EB 03 00 00 -R 00 00 01 00 -T EB 03 00 00 -R 00 00 01 00 -T EB 03 00 00 -R 00 00 01 00 -T EB 03 00 00 DD 34 EE 20 03 DD 34 EF -R 00 00 01 00 -T F3 03 00 00 -R 00 00 01 00 -T F3 03 00 00 DD 6E F4 DD 66 F5 DD 4E 0E DD 46 -R 00 00 01 00 -T FE 03 00 00 0F A7 ED 42 20 25 -R 00 00 01 00 -T 04 04 00 00 -R 00 00 01 00 -T 04 04 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 0C 04 00 00 -R 00 00 01 00 -T 0C 04 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T 14 04 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 07 00 02 0A 0B 00 -T 1B 04 00 00 44 21 10 00 39 7E 91 77 23 7E 98 -R 00 00 01 00 -T 26 04 00 00 77 18 23 -R 00 00 01 00 -T 29 04 00 00 -R 00 00 01 00 -T 29 04 00 00 DD 34 F8 20 03 DD 34 F9 -R 00 00 01 00 -T 31 04 00 00 -R 00 00 01 00 -T 31 04 00 00 DD 5E 0C DD 56 0D 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T 39 04 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 07 00 02 0A 0B 00 -T 40 04 00 00 44 21 10 00 39 7E 91 77 23 7E 98 -R 00 00 01 00 -T 4B 04 00 00 77 -R 00 00 01 00 -T 4C 04 00 00 -R 00 00 01 00 -T 4C 04 00 00 18 81 -R 00 00 01 00 -T 4E 04 00 00 -R 00 00 01 00 -T 4E 04 00 00 -R 00 00 01 00 -T 4E 04 00 00 DD 7E EE DD B6 EF 28 05 DD 7E EE -R 00 00 01 00 -T 59 04 00 00 18 02 -R 00 00 01 00 -T 5B 04 00 00 -R 00 00 01 00 -T 5B 04 00 00 3E 80 -R 00 00 01 00 -T 5D 04 00 00 -R 00 00 01 00 -T 5D 04 00 00 DD 6E F2 DD 66 F3 23 DD 75 F2 DD -R 00 00 01 00 -T 68 04 00 00 74 F3 2B 77 -R 00 00 01 00 -T 6C 04 00 00 -R 00 00 01 00 -T 6C 04 00 00 DD 7E 0E C6 02 DD 77 0E 30 03 DD -R 00 00 01 00 -T 77 04 00 00 34 0F -R 00 00 01 00 -T 79 04 00 00 -R 00 00 01 00 -T 79 04 00 00 C3 7A 06 00 00 -R 00 00 01 00 00 05 01 00 -T 7C 04 00 00 -R 00 00 01 00 -T 7C 04 00 00 DD 7E 0E D6 02 DD 77 0E DD 7E 0F -R 00 00 01 00 -T 87 04 00 00 DE 00 DD 77 0F C3 7A 06 00 00 -R 00 00 01 00 00 0A 01 00 -T 8F 04 00 00 -R 00 00 01 00 -T 8F 04 00 00 DD 6E 0E DD 66 0F 23 23 46 23 66 -R 00 00 01 00 -T 9A 04 00 00 68 E5 DD 6E 0E DD 66 0F C1 71 23 -R 00 00 01 00 -T A5 04 00 00 70 DD 6E 0E DD 66 0F 23 23 DD 4E -R 00 00 01 00 -T B0 04 00 00 EE DD 46 EF 71 23 70 DD 7E F4 C6 -R 00 00 01 00 -T BB 04 00 00 02 DD 77 F4 30 03 DD 34 F5 -R 00 00 01 00 -T C4 04 00 00 -R 00 00 01 00 -T C4 04 00 00 C3 7A 06 00 00 -R 00 00 01 00 00 05 01 00 -T C7 04 00 00 -R 00 00 01 00 -T C7 04 00 00 DD 6E 0E DD 66 0F 4E 23 46 DD 6E -R 00 00 01 00 -T D2 04 00 00 F0 DD 66 F1 23 DD 75 F0 DD 74 F1 -R 00 00 01 00 -T DD 04 00 00 2B 6E 26 00 CD 00 00 00 00 30 16 -R 00 00 01 00 02 09 10 00 -T E6 04 00 00 -R 00 00 01 00 -T E6 04 00 00 DD 6E F0 DD 66 F1 4E 06 00 DD 6E -R 00 00 01 00 -T F1 04 00 00 0E DD 66 0F 7E 81 77 23 7E 88 77 -R 00 00 01 00 -T FC 04 00 00 -R 00 00 01 00 -T FC 04 00 00 DD 34 F0 20 03 DD 34 F1 -R 00 00 01 00 -T 04 05 00 00 -R 00 00 01 00 -T 04 05 00 00 C3 7A 06 00 00 -R 00 00 01 00 00 05 01 00 -T 07 05 00 00 -R 00 00 01 00 -T 07 05 00 00 DD 6E F0 DD 66 F1 23 23 7E E6 7F -R 00 00 01 00 -T 12 05 00 00 4F 06 00 DD 71 EE DD 70 EF DD 6E -R 00 00 01 00 -T 1D 05 00 00 F0 DD 66 F1 23 7E FE 70 20 1C -R 00 00 01 00 -T 27 05 00 00 -R 00 00 01 00 -T 27 05 00 00 DD 6E EE DD 66 EF 29 DD 4E 0E DD -R 00 00 01 00 -T 32 05 00 00 46 0F 09 01 80 FF 09 46 23 66 68 -R 00 00 01 00 -T 3D 05 00 00 DD 75 EE DD 74 EF -R 00 00 01 00 -T 43 05 00 00 -R 00 00 01 00 -T 43 05 00 00 DD 6E F0 DD 66 F1 7E FE 2D 20 13 -R 00 00 01 00 -T 4E 05 00 00 -R 00 00 01 00 -T 4E 05 00 00 DD 6E 0E DD 66 0F 7E DD 96 EE 77 -R 00 00 01 00 -T 59 05 00 00 23 7E DD 9E EF 77 18 67 -R 00 00 01 00 -T 61 05 00 00 -R 00 00 01 00 -T 61 05 00 00 DD 6E F0 DD 66 F1 7E FE 2B 20 13 -R 00 00 01 00 -T 6C 05 00 00 -R 00 00 01 00 -T 6C 05 00 00 DD 6E 0E DD 66 0F 7E DD 86 EE 77 -R 00 00 01 00 -T 77 05 00 00 23 7E DD 8E EF 77 18 49 -R 00 00 01 00 -T 7F 05 00 00 -R 00 00 01 00 -T 7F 05 00 00 DD 6E F0 DD 66 F1 7E FE 2A 20 11 -R 00 00 01 00 -T 8A 05 00 00 -R 00 00 01 00 -T 8A 05 00 00 DD 4E EE DD 46 EF DD 6E 0E DD 66 -R 00 00 01 00 -T 95 05 00 00 0F CD 00 00 00 00 18 2D -R 00 00 01 00 02 06 01 00 -T 9B 05 00 00 -R 00 00 01 00 -T 9B 05 00 00 DD 6E F0 DD 66 F1 7E FE 2F 20 11 -R 00 00 01 00 -T A6 05 00 00 -R 00 00 01 00 -T A6 05 00 00 DD 4E EE DD 46 EF DD 6E 0E DD 66 -R 00 00 01 00 -T B1 05 00 00 0F CD 00 00 00 00 18 11 -R 00 00 01 00 02 06 0F 00 -T B7 05 00 00 -R 00 00 01 00 -T B7 05 00 00 DD 6E EE DD 66 EF E5 DD 6E 0E DD -R 00 00 01 00 -T C2 05 00 00 66 0F C1 71 23 70 -R 00 00 01 00 -T C8 05 00 00 -R 00 00 01 00 -T C8 05 00 00 -R 00 00 01 00 -T C8 05 00 00 -R 00 00 01 00 -T C8 05 00 00 -R 00 00 01 00 -T C8 05 00 00 21 04 00 39 7E C6 03 77 23 7E CE -R 00 00 01 00 -T D3 05 00 00 00 77 C3 7A 06 00 00 -R 00 00 01 00 00 07 01 00 -T D8 05 00 00 -R 00 00 01 00 -T D8 05 00 00 DD 6E 0E DD 66 0F 34 23 20 01 34 -R 00 00 01 00 -T E3 05 00 00 -R 00 00 01 00 -T E3 05 00 00 DD 6E 0E DD 66 0F 23 23 34 23 20 -R 00 00 01 00 -T EE 05 00 00 01 34 -R 00 00 01 00 -T F0 05 00 00 -R 00 00 01 00 -T F0 05 00 00 C3 7A 06 00 00 -R 00 00 01 00 00 05 01 00 -T F3 05 00 00 -R 00 00 01 00 -T F3 05 00 00 C3 7C 06 00 00 -R 00 00 01 00 00 05 01 00 -T F6 05 00 00 -R 00 00 01 00 -T F6 05 00 00 DD 6E 0E DD 66 0F 7E EE 60 77 23 -R 00 00 01 00 -T 01 06 00 00 7E EE 00 77 DD 6E 0E DD 66 0F 23 -R 00 00 01 00 -T 0C 06 00 00 23 7E EE 60 77 23 7E EE 00 77 18 -R 00 00 01 00 -T 17 06 00 00 62 -R 00 00 01 00 -T 18 06 00 00 -R 00 00 01 00 -T 18 06 00 00 DD 6E 0E DD 66 0F 7E EE 7F 77 23 -R 00 00 01 00 -T 23 06 00 00 7E EE 00 77 DD 6E 0E DD 66 0F 23 -R 00 00 01 00 -T 2E 06 00 00 23 7E EE 7F 77 23 7E EE 00 77 18 -R 00 00 01 00 -T 39 06 00 00 40 -R 00 00 01 00 -T 3A 06 00 00 -R 00 00 01 00 -T 3A 06 00 00 01 0A 00 DD 5E EE DD 56 EF CD -R 00 00 01 00 -T 44 06 00 00 00 00 00 00 01 06 00 CD -R 00 00 01 00 02 04 12 00 -T 4A 06 00 00 00 00 00 00 DD 6E 0E DD 66 0F 7E -R 00 00 01 00 02 04 04 00 -T 53 06 00 00 83 77 23 7E 8A 77 18 1F -R 00 00 01 00 -T 5B 06 00 00 -R 00 00 01 00 -T 5B 06 00 00 01 10 00 DD 5E EE DD 56 EF CD -R 00 00 01 00 -T 65 06 00 00 00 00 00 00 EB 29 4D 44 DD 6E 0E -R 00 00 01 00 02 04 11 00 -T 6E 06 00 00 DD 66 0F 7E 91 77 23 7E 98 77 18 -R 00 00 01 00 -T 79 06 00 00 00 -R 00 00 01 00 -T 7A 06 00 00 -R 00 00 01 00 -T 7A 06 00 00 18 12 -R 00 00 01 00 -T 7C 06 00 00 -R 00 00 01 00 -T 7C 06 00 00 -R 00 00 01 00 -T 7C 06 00 00 DD 46 EC DD 6E F2 DD 66 F3 23 DD -R 00 00 01 00 -T 87 06 00 00 75 F2 DD 74 F3 2B 70 -R 00 00 01 00 -T 8E 06 00 00 -R 00 00 01 00 -T 8E 06 00 00 C3 2F 01 00 00 -R 00 00 01 00 00 05 01 00 -T 91 06 00 00 -R 00 00 01 00 -T 91 06 00 00 DD 6E F2 DD 66 F3 36 00 -R 00 00 01 00 -T 99 06 00 00 -R 00 00 01 00 -T 99 06 00 00 DD 4E FA DD 46 FB 0B DD 71 FA DD -R 00 00 01 00 -T A4 06 00 00 70 FB 03 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 10 00 -T AD 06 00 00 30 16 -R 00 00 01 00 -T AF 06 00 00 -R 00 00 01 00 -T AF 06 00 00 DD 4E 0A DD 46 0B DD 5E F2 DD 56 -R 00 00 01 00 -T BA 06 00 00 F3 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 -T C0 06 00 00 CD 00 00 00 00 18 D4 -R 00 00 01 00 02 05 0B 00 -T C5 06 00 00 -R 00 00 01 00 -T C5 06 00 00 -R 00 00 01 00 -T C5 06 00 00 DD 4E F8 DD 46 F9 0B DD 71 F8 DD -R 00 00 01 00 -T D0 06 00 00 70 F9 03 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 10 00 -T D9 06 00 00 30 16 -R 00 00 01 00 -T DB 06 00 00 -R 00 00 01 00 -T DB 06 00 00 DD 4E 0C DD 46 0D DD 5E F2 DD 56 -R 00 00 01 00 -T E6 06 00 00 F3 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 -T EC 06 00 00 CD 00 00 00 00 18 D4 -R 00 00 01 00 02 05 0B 00 -T F1 06 00 00 -R 00 00 01 00 -T F1 06 00 00 DD 6E 04 DD 66 05 C3 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 76 69 72 74 75 61 6C 20 6D 65 6D -R 00 00 02 00 -T 0B 00 00 00 6F 72 79 20 65 78 68 61 75 73 74 -R 00 00 02 00 -T 16 00 00 00 65 64 0A 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 diff --git a/lib/relcb/ttyname.rel b/lib/relcb/ttyname.rel deleted file mode 100644 index ef8b5585..00000000 --- a/lib/relcb/ttyname.rel +++ /dev/null @@ -1,164 +0,0 @@ -XL4 -H 6 areas 10 global symbols -S strcat Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S closedir Ref00000000 -S strlen Ref00000000 -S readdir Ref00000000 -S isatty Ref00000000 -S fstat Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S strcpy Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S opendir Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S stat Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13A flags 0 -S ttyname Def00000000 -A CSTR size 2 flags 0 -A UDATA0 size E flags 0 -A IDATA0 size 5 flags 0 -A CDATA0 size 5 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 BC FF AF DD 77 FA -R 00 00 01 00 02 05 0A 00 -T 09 00 00 00 DD 77 FB 2A 00 00 00 00 DD 75 FE -R 00 00 01 00 02 08 09 00 -T 12 00 00 00 DD 74 FF 21 00 00 39 4D 44 DD 5E -R 00 00 01 00 -T 1D 00 00 00 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 06 00 -T 24 00 00 00 00 00 00 00 CD 00 00 00 00 CB 7C -R 00 00 01 00 02 04 06 00 02 09 07 00 -T 2B 00 00 00 28 06 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 21 00 00 C3 37 01 00 00 -R 00 00 01 00 00 08 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 -T 3B 00 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 05 00 02 0A 07 00 -T 42 00 00 00 B4 20 0C -R 00 00 01 00 -T 45 00 00 00 -R 00 00 01 00 -T 45 00 00 00 21 19 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 09 00 -T 4E 00 00 00 C3 37 01 00 00 -R 00 00 01 00 00 05 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 04 00 2B 0A 0B 00 -T 57 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 0B 00 02 09 07 00 -T 5E 00 00 00 FC DD 74 FD 7D B4 20 06 -R 00 00 01 00 -T 66 00 00 00 -R 00 00 01 00 -T 66 00 00 00 21 00 00 C3 37 01 00 00 -R 00 00 01 00 00 08 01 00 -T 6C 00 00 00 -R 00 00 01 00 -T 6C 00 00 00 01 00 00 00 00 11 00 00 00 00 3E -R 00 00 01 00 00 05 04 00 00 0A 03 00 -T 73 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T 78 00 00 00 00 00 00 00 01 00 00 00 00 11 -R 00 00 01 00 02 04 07 00 00 09 02 00 -T 7E 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 00 00 -T 83 00 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 09 07 00 -T 88 00 00 00 -R 00 00 01 00 -T 88 00 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 -T 90 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 04 00 02 0A 07 00 -T 97 00 00 00 75 F8 DD 74 F9 7D B4 28 7A -R 00 00 01 00 -T A0 00 00 00 -R 00 00 01 00 -T A0 00 00 00 21 06 00 DD 4E F8 DD 46 F9 09 EB -R 00 00 01 00 -T AB 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 -T B1 00 00 00 00 00 00 00 4D 44 21 08 00 A7 ED -R 00 00 01 00 02 04 07 00 -T BA 00 00 00 42 30 02 -R 00 00 01 00 -T BD 00 00 00 -R 00 00 01 00 -T BD 00 00 00 18 C9 -R 00 00 01 00 -T BF 00 00 00 -R 00 00 01 00 -T BF 00 00 00 21 06 00 DD 4E F8 DD 46 F9 09 4D -R 00 00 01 00 -T CA 00 00 00 44 11 05 00 00 00 3E 00 00 00 00 -R 00 00 01 00 00 06 03 00 2B 0B 08 00 -T D0 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 08 00 02 0A 07 00 -T D7 00 00 00 1E 00 39 4D 44 11 00 00 00 00 3E -R 00 00 01 00 00 0A 03 00 -T E0 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0D 00 02 09 0D 00 -T E5 00 00 00 00 00 00 00 7D B4 20 2C DD 6E BC -R 00 00 01 00 02 04 07 00 -T EE 00 00 00 DD 66 BD DD 4E DA DD 46 DB A7 ED -R 00 00 01 00 -T F9 00 00 00 42 20 1B DD 6E BE DD 66 BF DD 4E -R 00 00 01 00 -T 04 01 00 00 DC DD 46 DD A7 ED 42 20 0A -R 00 00 01 00 -T 0D 01 00 00 -R 00 00 01 00 -T 0D 01 00 00 -R 00 00 01 00 -T 0D 01 00 00 -R 00 00 01 00 -T 0D 01 00 00 DD 36 FA 00 00 00 00 DD 36 FB -R 00 00 01 00 09 07 03 00 -T 14 01 00 00 00 00 00 00 18 03 -R 00 00 01 00 89 04 03 00 -T 17 01 00 00 -R 00 00 01 00 -T 17 01 00 00 C3 88 00 00 00 -R 00 00 01 00 00 05 01 00 -T 1A 01 00 00 -R 00 00 01 00 -T 1A 01 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 -T 22 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 02 00 02 0A 07 00 -T 29 01 00 00 6E FE DD 66 FF 22 00 00 00 00 DD -R 00 00 01 00 02 0A 09 00 -T 32 01 00 00 6E FA DD 66 FB -R 00 00 01 00 -T 37 01 00 00 -R 00 00 01 00 -T 37 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2F 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 2F 64 65 76 00 -R 00 00 05 00 diff --git a/lib/relcb/tzset.rel b/lib/relcb/tzset.rel deleted file mode 100644 index c4e6cd11..00000000 --- a/lib/relcb/tzset.rel +++ /dev/null @@ -1,104 +0,0 @@ -XL4 -H 6 areas 10 global symbols -S ?L_MUL_L03 Ref00000000 -S getenv Ref00000000 -S memcpy Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S atoi Ref00000000 -S ?SS_MOD_L02 Ref00000000 -S ?SS_DIV_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size AA flags 0 -S tzset Def00000000 -A CSTR size B flags 0 -A UDATA0 size 6 flags 0 -S daylight Def00000000 -S timezone Def00000002 -A IDATA0 size 4 flags 0 -S tzname Def00000000 -A CDATA0 size 4 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 11 -R 00 00 01 00 02 05 06 00 -T 06 00 00 00 08 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 2B 09 01 00 -T 0B 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 01 00 02 09 05 00 -T 12 00 00 00 FC DD 74 FD 7D B4 20 23 -R 00 00 01 00 -T 1A 00 00 00 -R 00 00 01 00 -T 1A 00 00 00 21 03 00 E5 01 00 00 00 00 ED 5B -R 00 00 01 00 00 09 02 00 -T 23 00 00 00 02 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 04 00 2B 09 02 00 -T 28 00 00 00 00 00 00 00 CD 00 00 00 00 F1 01 -R 00 00 01 00 02 04 02 00 02 09 05 00 -T 2F 00 00 00 00 00 21 30 2A 22 02 00 00 00 ED -R 00 00 01 00 00 0A 03 00 -T 38 00 00 00 43 04 00 00 00 18 6A -R 00 00 01 00 00 05 03 00 -T 3D 00 00 00 -R 00 00 01 00 -T 3D 00 00 00 21 03 00 E5 DD 4E FC DD 46 FD ED -R 00 00 01 00 -T 48 00 00 00 5B 02 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 04 00 2B 0A 02 00 -T 4E 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 02 00 02 09 05 00 -T 55 00 00 00 5E FC DD 56 FD 13 13 13 3E -R 00 00 01 00 -T 5E 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 63 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 01 -R 00 00 01 00 02 04 05 00 -T 6C 00 00 00 64 00 EB CD 00 00 00 00 01 3C 00 -R 00 00 01 00 02 08 09 00 -T 75 00 00 00 CD 00 00 00 00 D5 01 64 00 DD 5E -R 00 00 01 00 02 05 03 00 -T 7E 00 00 00 FE DD 56 FF CD 00 00 00 00 EB D1 -R 00 00 01 00 02 09 08 00 -T 87 00 00 00 19 EB AF 93 5F 3E 00 9A 57 7A 07 -R 00 00 01 00 -T 92 00 00 00 9F 4F 41 C5 D5 01 00 00 21 3C 00 -R 00 00 01 00 -T 9D 00 00 00 CD 00 00 00 00 22 02 00 00 00 ED -R 00 00 01 00 02 05 00 00 00 0A 03 00 -T A4 00 00 00 43 04 00 00 00 -R 00 00 01 00 00 05 03 00 -T A7 00 00 00 -R 00 00 01 00 -T A7 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 47 4D 54 00 -R 00 00 02 00 -T 04 00 00 00 -R 00 00 02 00 -T 04 00 00 00 00 00 00 00 -R 00 00 02 00 -T 08 00 00 00 -R 00 00 02 00 -T 08 00 00 00 54 5A 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 00 00 00 00 04 00 00 00 -R 00 00 05 00 00 04 02 00 00 08 02 00 diff --git a/lib/relcb/ultoa.rel b/lib/relcb/ultoa.rel deleted file mode 100644 index d3ad9cae..00000000 --- a/lib/relcb/ultoa.rel +++ /dev/null @@ -1,37 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S __longtoa Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 55 flags 0 -S ultoa Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 36 FE 41 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 DD CB 0D 7E 28 16 -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 DD 36 FE 61 DD 4E 0C DD 46 0D A7 -R 00 00 01 00 -T 1A 00 00 00 21 00 00 ED 42 DD 75 0C DD 74 0D -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 DD 6E FE E5 0E 00 C5 DD 6E 0C DD -R 00 00 01 00 -T 30 00 00 00 66 0D E5 DD 6E 0A DD 66 0B E5 DD -R 00 00 01 00 -T 3B 00 00 00 4E 04 DD 46 05 DD 5E 02 DD 56 03 -R 00 00 01 00 -T 46 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 -T 4C 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 -T 53 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 diff --git a/lib/relcb/ungetc.rel b/lib/relcb/ungetc.rel deleted file mode 100644 index f1d24f15..00000000 --- a/lib/relcb/ungetc.rel +++ /dev/null @@ -1,77 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S fflush Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size BD flags 0 -S ungetc Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 0C 00 09 7E E6 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 80 28 0E -R 00 00 01 00 -T 0C 00 00 00 -R 00 00 01 00 -T 0C 00 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 00 00 -T 14 00 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 00 00 02 0A 03 00 -T 1A 00 00 00 -R 00 00 01 00 -T 1A 00 00 00 21 0C 00 DD 4E 04 DD 46 05 09 7E -R 00 00 01 00 -T 25 00 00 00 E6 10 4F 23 7E E6 02 47 3E 10 A9 -R 00 00 01 00 -T 30 00 00 00 B0 28 06 -R 00 00 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 21 FF FF C3 BA 00 00 00 -R 00 00 01 00 00 08 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 21 0C 00 DD 4E 04 DD 46 05 09 7E -R 00 00 01 00 -T 44 00 00 00 F6 00 77 23 7E F6 04 77 69 60 4E -R 00 00 01 00 -T 4F 00 00 00 23 46 21 06 00 DD 5E 04 DD 56 05 -R 00 00 01 00 -T 5A 00 00 00 19 56 23 66 6A A7 ED 42 30 18 -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 DD 6E 04 DD 66 05 4E 23 46 0B 70 -R 00 00 01 00 -T 6F 00 00 00 2B 71 69 60 DD 46 02 70 68 26 00 -R 00 00 01 00 -T 7A 00 00 00 18 3E -R 00 00 01 00 -T 7C 00 00 00 -R 00 00 01 00 -T 7C 00 00 00 DD 6E 04 DD 66 05 23 23 46 23 66 -R 00 00 01 00 -T 87 00 00 00 68 E5 21 06 00 DD 4E 04 DD 46 05 -R 00 00 01 00 -T 92 00 00 00 09 4E 23 46 E1 A7 ED 42 20 1B -R 00 00 01 00 -T 9C 00 00 00 -R 00 00 01 00 -T 9C 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 -R 00 00 01 00 -T A7 00 00 00 03 70 2B 71 0B 69 60 DD 46 02 70 -R 00 00 01 00 -T B2 00 00 00 68 26 00 18 03 -R 00 00 01 00 -T B7 00 00 00 -R 00 00 01 00 -T B7 00 00 00 21 FF FF -R 00 00 01 00 -T BA 00 00 00 -R 00 00 01 00 -T BA 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcb/utsname.rel b/lib/relcb/utsname.rel deleted file mode 100644 index 3de9a712..00000000 --- a/lib/relcb/utsname.rel +++ /dev/null @@ -1,69 +0,0 @@ -XL4 -H 3 areas 8 global symbols -S getfsys Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S strcpy Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size BE flags 0 -S uname Def00000000 -A CSTR size C flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C6 FF 21 00 00 39 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 4D 44 11 F8 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 00 00 -T 11 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 02 09 02 00 -T 17 00 00 00 00 00 39 01 00 00 09 4D 44 DD 5E -R 00 00 01 00 -T 22 00 00 00 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 03 00 -T 29 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 03 00 02 09 02 00 -T 2F 00 00 00 00 00 39 01 1E 00 09 4D 44 21 -R 00 00 01 00 -T 39 00 00 00 0E 00 DD 5E 02 DD 56 03 19 EB 3E -R 00 00 01 00 -T 44 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 49 00 00 00 00 00 00 00 21 00 00 39 01 16 00 -R 00 00 01 00 02 04 02 00 -T 52 00 00 00 09 4D 44 21 1C 00 DD 5E 02 DD 56 -R 00 00 01 00 -T 5D 00 00 00 03 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 03 00 -T 63 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 03 00 02 09 02 00 -T 69 00 00 00 00 00 39 01 0E 00 09 4D 44 21 -R 00 00 01 00 -T 73 00 00 00 24 00 DD 5E 02 DD 56 03 19 EB 3E -R 00 00 01 00 -T 7E 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 83 00 00 00 00 00 00 00 21 00 00 39 01 2C 00 -R 00 00 01 00 02 04 02 00 -T 8C 00 00 00 09 4D 44 21 2C 00 DD 5E 02 DD 56 -R 00 00 01 00 -T 97 00 00 00 03 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 03 00 -T 9D 00 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 04 03 00 02 09 02 00 -T A3 00 00 00 00 00 00 00 21 34 00 DD 5E 02 DD -R 00 00 01 00 00 04 02 00 -T AC 00 00 00 56 03 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 03 00 -T B3 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 03 00 02 09 02 00 -T B9 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 07 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 28 6C 6F 63 61 6C 68 6F 73 74 29 -R 00 00 02 00 -T 0B 00 00 00 00 -R 00 00 02 00 diff --git a/lib/relcb/vfprintf.rel b/lib/relcb/vfprintf.rel deleted file mode 100644 index ffad817a..00000000 --- a/lib/relcb/vfprintf.rel +++ /dev/null @@ -1,758 +0,0 @@ -XL4 -H 3 areas 11 global symbols -S ?S_MULASG_L02 Ref00000000 -S fflush Ref00000000 -S strcat Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strlen Ref00000000 -S ?C_V_SWITCH_L06 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S fputc Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ultoa Ref00000000 -S strcpy Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ltoa Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6DB flags 0 -S vfprintf Def00000180 -A CSTR size C flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF AF DD 77 FB -R 00 00 01 00 02 05 0B 00 -T 09 00 00 00 DD 77 FC 59 50 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 04 00 -T 11 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 04 00 02 09 08 00 -T 18 00 00 00 FD DD 74 FE DD 6E 04 DD 66 05 7E -R 00 00 01 00 -T 23 00 00 00 FE 2D 20 14 -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 DD 6E 04 DD 66 05 23 DD 75 04 DD -R 00 00 01 00 -T 32 00 00 00 74 05 2B 46 DD 70 0A 18 0E -R 00 00 01 00 -T 3B 00 00 00 -R 00 00 01 00 -T 3B 00 00 00 AF DD B6 0A 28 08 -R 00 00 01 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 DD 34 FD 20 03 DD 34 FE -R 00 00 01 00 -T 49 00 00 00 -R 00 00 01 00 -T 49 00 00 00 -R 00 00 01 00 -T 49 00 00 00 -R 00 00 01 00 -T 49 00 00 00 DD 7E 10 DD A6 11 3C 28 1D DD 4E -R 00 00 01 00 -T 54 00 00 00 FD DD 46 FE DD 6E 10 DD 66 11 CD -R 00 00 01 00 -T 5F 00 00 00 00 00 00 00 30 0C -R 00 00 01 00 02 04 0D 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 DD 6E 10 DD 66 11 DD 75 FD DD 74 -R 00 00 01 00 -T 6E 00 00 00 FE -R 00 00 01 00 -T 6F 00 00 00 -R 00 00 01 00 -T 6F 00 00 00 DD 4E FD DD 46 FE DD 6E 0E DD 66 -R 00 00 01 00 -T 7A 00 00 00 0F CD 00 00 00 00 30 0C -R 00 00 01 00 02 06 0D 00 -T 80 00 00 00 -R 00 00 01 00 -T 80 00 00 00 DD 6E FD DD 66 FE DD 75 0E DD 74 -R 00 00 01 00 -T 8B 00 00 00 0F -R 00 00 01 00 -T 8C 00 00 00 -R 00 00 01 00 -T 8C 00 00 00 DD 6E 0E DD 66 0F DD 75 FB DD 74 -R 00 00 01 00 -T 97 00 00 00 FC 21 14 00 39 7E DD 96 FD 77 23 -R 00 00 01 00 -T A2 00 00 00 7E DD 9E FE 77 -R 00 00 01 00 -T A7 00 00 00 -R 00 00 01 00 -T A7 00 00 00 DD 7E 0E DD B6 0F 20 09 DD 7E FD -R 00 00 01 00 -T B2 00 00 00 DD B6 FE CA 77 01 00 00 -R 00 00 01 00 00 08 01 00 -T B8 00 00 00 -R 00 00 01 00 -T B8 00 00 00 -R 00 00 01 00 -T B8 00 00 00 -R 00 00 01 00 -T B8 00 00 00 DD 7E 08 DD B6 09 20 34 DD 7E 0E -R 00 00 01 00 -T C3 00 00 00 DD B6 0F 28 2C -R 00 00 01 00 -T C8 00 00 00 -R 00 00 01 00 -T C8 00 00 00 -R 00 00 01 00 -T C8 00 00 00 -R 00 00 01 00 -T C8 00 00 00 DD 7E FD DD B6 FE 28 0F AF DD B6 -R 00 00 01 00 -T D3 00 00 00 0A 28 09 DD 7E 0C FE 30 20 02 -R 00 00 01 00 -T DD 00 00 00 -R 00 00 01 00 -T DD 00 00 00 -R 00 00 01 00 -T DD 00 00 00 -R 00 00 01 00 -T DD 00 00 00 18 23 -R 00 00 01 00 -T DF 00 00 00 -R 00 00 01 00 -T DF 00 00 00 DD 46 0C DD 70 FA DD 6E 0E DD 66 -R 00 00 01 00 -T EA 00 00 00 0F 2B DD 75 0E DD 74 0F 18 4E -R 00 00 01 00 -T F4 00 00 00 -R 00 00 01 00 -T F4 00 00 00 DD 7E FD DD B6 FE 28 33 -R 00 00 01 00 -T FC 00 00 00 -R 00 00 01 00 -T FC 00 00 00 AF DD B6 0A 28 0C -R 00 00 01 00 -T 02 01 00 00 -R 00 00 01 00 -T 02 01 00 00 -R 00 00 01 00 -T 02 01 00 00 DD 46 0A DD 70 FA DD 36 0A 00 18 -R 00 00 01 00 -T 0D 01 00 00 12 -R 00 00 01 00 -T 0E 01 00 00 -R 00 00 01 00 -T 0E 01 00 00 DD 6E 04 DD 66 05 23 DD 75 04 DD -R 00 00 01 00 -T 19 01 00 00 74 05 2B 46 DD 70 FA -R 00 00 01 00 -T 20 01 00 00 -R 00 00 01 00 -T 20 01 00 00 DD 6E FD DD 66 FE 2B DD 75 FD DD -R 00 00 01 00 -T 2B 01 00 00 74 FE 18 13 -R 00 00 01 00 -T 2F 01 00 00 -R 00 00 01 00 -T 2F 01 00 00 DD 46 0C DD 70 FA DD 6E 0E DD 66 -R 00 00 01 00 -T 3A 01 00 00 0F 2B DD 75 0E DD 74 0F -R 00 00 01 00 -T 42 01 00 00 -R 00 00 01 00 -T 42 01 00 00 -R 00 00 01 00 -T 42 01 00 00 DD 4E 02 DD 46 03 DD 5E FA 16 00 -R 00 00 01 00 -T 4D 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 -T 53 01 00 00 00 00 00 00 DD 7E FA FE 0A 20 18 -R 00 00 01 00 02 04 08 00 -T 5C 01 00 00 3E 01 DD AE 12 DD B6 13 20 0E -R 00 00 01 00 -T 66 01 00 00 -R 00 00 01 00 -T 66 01 00 00 -R 00 00 01 00 -T 66 01 00 00 -R 00 00 01 00 -T 66 01 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 01 00 -T 6E 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 01 00 02 0A 08 00 -T 74 01 00 00 -R 00 00 01 00 -T 74 01 00 00 C3 A7 00 00 00 -R 00 00 01 00 00 05 01 00 -T 77 01 00 00 -R 00 00 01 00 -T 77 01 00 00 DD 6E FB DD 66 FC C3 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T 80 01 00 00 -R 00 00 01 00 -T 80 01 00 00 CD 00 00 00 00 A2 FF AF DD 77 B0 -R 00 00 01 00 02 05 0B 00 -T 89 01 00 00 DD 77 B1 21 0C 00 DD 5E 02 DD 56 -R 00 00 01 00 -T 94 01 00 00 03 19 7E E6 03 4F 23 7E E6 00 47 -R 00 00 01 00 -T 9F 01 00 00 DD 71 FD DD 70 FE 21 0C 00 19 7E -R 00 00 01 00 -T AA 01 00 00 E6 FC 77 23 7E E6 FF 77 -R 00 00 01 00 -T B2 01 00 00 -R 00 00 01 00 -T B2 01 00 00 DD 6E 04 DD 66 05 AF B6 CA -R 00 00 01 00 -T BB 01 00 00 85 06 00 00 -R 00 00 01 00 00 04 01 00 -T BD 01 00 00 -R 00 00 01 00 -T BD 01 00 00 DD 6E 04 DD 66 05 7E FE 25 C2 -R 00 00 01 00 -T C7 01 00 00 38 06 00 00 -R 00 00 01 00 00 04 01 00 -T C9 01 00 00 -R 00 00 01 00 -T C9 01 00 00 3E 02 DD AE FD DD B6 FE 20 0E -R 00 00 01 00 -T D3 01 00 00 -R 00 00 01 00 -T D3 01 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 01 00 -T DB 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 01 00 02 0A 08 00 -T E1 01 00 00 -R 00 00 01 00 -T E1 01 00 00 AF DD 77 A4 DD 77 A5 DD 36 B3 00 -R 00 00 01 00 -T EC 01 00 00 DD 36 B2 20 DD 36 AC FF DD 36 AD -R 00 00 01 00 -T F7 01 00 00 FF AF DD 77 AA DD 77 AB DD 36 A8 -R 00 00 01 00 -T 02 02 00 00 FF DD 36 A9 FF DD 36 AE 0A DD 36 -R 00 00 01 00 -T 0D 02 00 00 AF 00 21 1B 00 39 DD 75 B5 DD 74 -R 00 00 01 00 -T 18 02 00 00 B6 DD 36 B4 00 AF DD 77 A6 DD 77 -R 00 00 01 00 -T 23 02 00 00 A7 -R 00 00 01 00 -T 24 02 00 00 -R 00 00 01 00 -T 24 02 00 00 AF DD 77 A2 DD 77 A3 DD 34 04 20 -R 00 00 01 00 -T 2F 02 00 00 03 DD 34 05 -R 00 00 01 00 -T 33 02 00 00 -R 00 00 01 00 -T 33 02 00 00 -R 00 00 01 00 -T 33 02 00 00 DD 6E 04 DD 66 05 7E FE 30 38 0B -R 00 00 01 00 -T 3E 02 00 00 DD 6E 04 DD 66 05 3E 39 BE 30 02 -R 00 00 01 00 -T 49 02 00 00 -R 00 00 01 00 -T 49 02 00 00 -R 00 00 01 00 -T 49 02 00 00 -R 00 00 01 00 -T 49 02 00 00 18 65 -R 00 00 01 00 -T 4B 02 00 00 -R 00 00 01 00 -T 4B 02 00 00 21 00 00 39 01 0A 00 CD -R 00 00 01 00 -T 53 02 00 00 00 00 00 00 DD 6E 04 DD 66 05 4E -R 00 00 01 00 02 04 00 00 -T 5C 02 00 00 06 00 21 D0 FF 09 4D 44 21 00 00 -R 00 00 01 00 -T 67 02 00 00 39 7E 81 77 23 7E 88 77 DD 7E AA -R 00 00 01 00 -T 72 02 00 00 DD B6 AB 28 0E -R 00 00 01 00 -T 77 02 00 00 -R 00 00 01 00 -T 77 02 00 00 DD 6E A2 DD 66 A3 DD 75 A8 DD 74 -R 00 00 01 00 -T 82 02 00 00 A9 18 21 -R 00 00 01 00 -T 85 02 00 00 -R 00 00 01 00 -T 85 02 00 00 DD 7E A2 DD B6 A3 20 0D DD 7E B2 -R 00 00 01 00 -T 90 02 00 00 FE 20 20 06 -R 00 00 01 00 -T 94 02 00 00 -R 00 00 01 00 -T 94 02 00 00 -R 00 00 01 00 -T 94 02 00 00 -R 00 00 01 00 -T 94 02 00 00 DD 36 B2 30 18 8A -R 00 00 01 00 -T 9A 02 00 00 -R 00 00 01 00 -T 9A 02 00 00 DD 6E A2 DD 66 A3 DD 75 AC DD 74 -R 00 00 01 00 -T A5 02 00 00 AD -R 00 00 01 00 -T A6 02 00 00 -R 00 00 01 00 -T A6 02 00 00 DD 34 04 20 03 DD 34 05 -R 00 00 01 00 -T AE 02 00 00 -R 00 00 01 00 -T AE 02 00 00 18 83 -R 00 00 01 00 -T B0 02 00 00 -R 00 00 01 00 -T B0 02 00 00 DD 6E 04 DD 66 05 5E CD -R 00 00 01 00 -T B8 02 00 00 00 00 00 00 14 00 00 20 21 23 2A -R 00 00 01 00 02 04 05 00 -T C1 02 00 00 2B 2D 2E 58 62 63 64 68 69 6C 6F -R 00 00 01 00 -T CC 02 00 00 70 73 75 78 34 06 00 00 -R 00 00 01 00 00 08 01 00 -T D2 02 00 00 3C 04 00 00 44 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T D6 02 00 00 C7 05 00 00 17 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T DA 02 00 00 0D 04 00 00 93 03 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T DE 02 00 00 A8 03 00 00 9E 03 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T E2 02 00 00 A8 03 00 00 84 05 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T E6 02 00 00 03 04 00 00 32 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T EA 02 00 00 88 03 00 00 0A 03 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T EE 02 00 00 15 03 00 00 29 03 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T F2 02 00 00 22 03 00 00 66 05 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T F6 02 00 00 15 03 00 00 FA 02 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T FA 02 00 00 -R 00 00 01 00 -T FA 02 00 00 DD 6E 04 DD 66 05 2B DD 75 04 DD -R 00 00 01 00 -T 05 03 00 00 74 05 C3 38 06 00 00 -R 00 00 01 00 00 07 01 00 -T 0A 03 00 00 -R 00 00 01 00 -T 0A 03 00 00 DD 36 A4 01 DD 36 A5 00 C3 -R 00 00 01 00 -T 13 03 00 00 24 02 00 00 -R 00 00 01 00 00 04 01 00 -T 15 03 00 00 -R 00 00 01 00 -T 15 03 00 00 DD 6E 04 DD 66 05 46 DD 70 B3 C3 -R 00 00 01 00 -T 20 03 00 00 24 02 00 00 -R 00 00 01 00 00 04 01 00 -T 22 03 00 00 -R 00 00 01 00 -T 22 03 00 00 DD 36 B4 01 C3 24 02 00 00 -R 00 00 01 00 00 09 01 00 -T 29 03 00 00 -R 00 00 01 00 -T 29 03 00 00 21 68 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T 34 03 00 00 00 77 2B 6E 67 2B 2B 46 23 66 68 -R 00 00 01 00 -T 3F 03 00 00 DD 75 A2 DD 74 A3 DD 7E AA DD B6 -R 00 00 01 00 -T 4A 03 00 00 AB 28 0E -R 00 00 01 00 -T 4D 03 00 00 -R 00 00 01 00 -T 4D 03 00 00 DD 6E A2 DD 66 A3 DD 75 A8 DD 74 -R 00 00 01 00 -T 58 03 00 00 A9 18 2A -R 00 00 01 00 -T 5B 03 00 00 -R 00 00 01 00 -T 5B 03 00 00 DD 6E A2 DD 66 A3 DD 75 AC DD 74 -R 00 00 01 00 -T 66 03 00 00 AD CB 7C 28 1A -R 00 00 01 00 -T 6B 03 00 00 -R 00 00 01 00 -T 6B 03 00 00 DD 36 A4 01 DD 36 A5 00 DD 4E A2 -R 00 00 01 00 -T 76 03 00 00 DD 46 A3 A7 21 00 00 ED 42 DD 75 -R 00 00 01 00 -T 81 03 00 00 AC DD 74 AD -R 00 00 01 00 -T 85 03 00 00 -R 00 00 01 00 -T 85 03 00 00 -R 00 00 01 00 -T 85 03 00 00 C3 24 02 00 00 -R 00 00 01 00 00 05 01 00 -T 88 03 00 00 -R 00 00 01 00 -T 88 03 00 00 DD 36 AA 01 DD 36 AB 00 C3 -R 00 00 01 00 -T 91 03 00 00 24 02 00 00 -R 00 00 01 00 00 04 01 00 -T 93 03 00 00 -R 00 00 01 00 -T 93 03 00 00 DD 36 A6 01 DD 36 A7 00 C3 -R 00 00 01 00 -T 9C 03 00 00 24 02 00 00 -R 00 00 01 00 00 04 01 00 -T 9E 03 00 00 -R 00 00 01 00 -T 9E 03 00 00 AF DD 77 A6 DD 77 A7 C3 -R 00 00 01 00 -T A6 03 00 00 24 02 00 00 -R 00 00 01 00 00 04 01 00 -T A8 03 00 00 -R 00 00 01 00 -T A8 03 00 00 21 0A 00 E5 21 1D 00 39 E5 DD 7E -R 00 00 01 00 -T B3 03 00 00 A6 DD B6 A7 28 1D 21 6C 00 39 7E -R 00 00 01 00 -T BE 03 00 00 C6 04 77 23 7E CE 00 77 2B 6E 67 -R 00 00 01 00 -T C9 03 00 00 01 FC FF 09 5E 23 56 23 4E 23 46 -R 00 00 01 00 -T D4 03 00 00 18 1A -R 00 00 01 00 -T D6 03 00 00 -R 00 00 01 00 -T D6 03 00 00 21 6C 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T E1 03 00 00 00 77 2B 6E 67 2B 2B 5E 23 56 7A -R 00 00 01 00 -T EC 03 00 00 07 9F 4F 41 -R 00 00 01 00 -T F0 03 00 00 -R 00 00 01 00 -T F0 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 -T F6 03 00 00 00 00 00 00 F1 F1 DD 75 B5 DD 74 -R 00 00 01 00 02 04 08 00 -T FF 03 00 00 B6 C3 EB 05 00 00 -R 00 00 01 00 00 06 01 00 -T 03 04 00 00 -R 00 00 01 00 -T 03 04 00 00 DD 36 AE 02 DD 36 AF 00 18 37 -R 00 00 01 00 -T 0D 04 00 00 -R 00 00 01 00 -T 0D 04 00 00 DD 36 AE 08 DD 36 AF 00 18 2D -R 00 00 01 00 -T 17 04 00 00 -R 00 00 01 00 -T 17 04 00 00 AF DD 77 A6 DD 77 A7 DD 36 B2 30 -R 00 00 01 00 -T 22 04 00 00 DD 36 AC 05 DD 36 AD 00 DD 36 A8 -R 00 00 01 00 -T 2D 04 00 00 08 DD 36 A9 00 -R 00 00 01 00 -T 32 04 00 00 -R 00 00 01 00 -T 32 04 00 00 DD 36 AE 10 DD 36 AF 00 18 08 -R 00 00 01 00 -T 3C 04 00 00 -R 00 00 01 00 -T 3C 04 00 00 DD 36 AE F0 DD 36 AF FF -R 00 00 01 00 -T 44 04 00 00 -R 00 00 01 00 -T 44 04 00 00 -R 00 00 01 00 -T 44 04 00 00 DD 7E A6 DD B6 A7 28 1E 21 68 00 -R 00 00 01 00 -T 4F 04 00 00 39 7E C6 04 77 23 7E CE 00 77 2B -R 00 00 01 00 -T 5A 04 00 00 6E 67 01 FC FF 09 5E 23 56 23 4E -R 00 00 01 00 -T 65 04 00 00 23 46 EB 18 19 -R 00 00 01 00 -T 6A 04 00 00 -R 00 00 01 00 -T 6A 04 00 00 21 68 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T 75 04 00 00 00 77 2B 6E 67 2B 2B 46 23 66 68 -R 00 00 01 00 -T 80 04 00 00 01 00 00 -R 00 00 01 00 -T 83 04 00 00 -R 00 00 01 00 -T 83 04 00 00 DD 75 B9 DD 74 BA DD 71 BB DD 70 -R 00 00 01 00 -T 8E 04 00 00 BC DD 5E AE DD 56 AF D5 21 1D 00 -R 00 00 01 00 -T 99 04 00 00 39 01 04 00 09 E5 DD 4E BB DD 46 -R 00 00 01 00 -T A4 04 00 00 BC DD 5E B9 DD 56 BA 3E -R 00 00 01 00 -T AC 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T B1 04 00 00 00 00 00 00 F1 F1 DD 75 B5 DD 74 -R 00 00 01 00 02 04 08 00 -T BA 04 00 00 B6 DD 36 B7 00 00 00 00 DD 36 B8 -R 00 00 01 00 09 08 02 00 -T C2 04 00 00 00 00 00 00 AF DD B6 B4 CA -R 00 00 01 00 89 04 02 00 -T C8 04 00 00 63 05 00 00 -R 00 00 01 00 00 04 01 00 -T CA 04 00 00 -R 00 00 01 00 -T CA 04 00 00 3E 02 DD AE AE DD B6 AF 20 0A -R 00 00 01 00 -T D4 04 00 00 -R 00 00 01 00 -T D4 04 00 00 DD 36 B7 01 00 00 00 DD 36 B8 -R 00 00 01 00 09 07 02 00 -T DB 04 00 00 01 00 00 00 18 49 -R 00 00 01 00 89 04 02 00 -T DE 04 00 00 -R 00 00 01 00 -T DE 04 00 00 3E 08 DD AE AE DD B6 AF 20 18 -R 00 00 01 00 -T E8 04 00 00 -R 00 00 01 00 -T E8 04 00 00 DD 7E B9 DD B6 BA DD B6 BB DD B6 -R 00 00 01 00 -T F3 04 00 00 BC 28 08 -R 00 00 01 00 -T F6 04 00 00 -R 00 00 01 00 -T F6 04 00 00 DD 36 B7 04 00 00 00 DD 36 B8 -R 00 00 01 00 09 07 02 00 -T FD 04 00 00 04 00 00 00 -R 00 00 01 00 89 04 02 00 -T FE 04 00 00 -R 00 00 01 00 -T FE 04 00 00 18 27 -R 00 00 01 00 -T 00 05 00 00 -R 00 00 01 00 -T 00 05 00 00 3E 10 DD AE AE DD B6 AF 20 0A -R 00 00 01 00 -T 0A 05 00 00 -R 00 00 01 00 -T 0A 05 00 00 DD 36 B7 06 00 00 00 DD 36 B8 -R 00 00 01 00 09 07 02 00 -T 11 05 00 00 06 00 00 00 18 13 -R 00 00 01 00 89 04 02 00 -T 14 05 00 00 -R 00 00 01 00 -T 14 05 00 00 3E 0F DD AE AE DD A6 AF 3C 20 08 -R 00 00 01 00 -T 1F 05 00 00 -R 00 00 01 00 -T 1F 05 00 00 DD 36 B7 09 00 00 00 DD 36 B8 -R 00 00 01 00 09 07 02 00 -T 26 05 00 00 09 00 00 00 -R 00 00 01 00 89 04 02 00 -T 27 05 00 00 -R 00 00 01 00 -T 27 05 00 00 -R 00 00 01 00 -T 27 05 00 00 -R 00 00 01 00 -T 27 05 00 00 -R 00 00 01 00 -T 27 05 00 00 DD 6E B7 DD 66 B8 AF B6 28 32 -R 00 00 01 00 -T 31 05 00 00 -R 00 00 01 00 -T 31 05 00 00 DD 36 B2 00 DD 4E B7 DD 46 B8 21 -R 00 00 01 00 -T 3C 05 00 00 1B 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0A 00 -T 44 05 00 00 00 00 00 00 CD 00 00 00 00 DD 4E -R 00 00 01 00 02 04 0A 00 02 09 08 00 -T 4B 05 00 00 B5 DD 46 B6 21 1B 00 39 5D 54 3E -R 00 00 01 00 -T 56 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 5B 05 00 00 00 00 00 00 DD 75 B5 DD 74 B6 -R 00 00 01 00 02 04 08 00 -T 63 05 00 00 -R 00 00 01 00 -T 63 05 00 00 -R 00 00 01 00 -T 63 05 00 00 C3 EB 05 00 00 -R 00 00 01 00 00 05 01 00 -T 66 05 00 00 -R 00 00 01 00 -T 66 05 00 00 DD 6E 04 DD 66 05 23 4E 06 00 DD -R 00 00 01 00 -T 71 05 00 00 71 A2 DD 70 A3 79 B0 28 08 -R 00 00 01 00 -T 7A 05 00 00 -R 00 00 01 00 -T 7A 05 00 00 DD 34 04 20 03 DD 34 05 -R 00 00 01 00 -T 82 05 00 00 -R 00 00 01 00 -T 82 05 00 00 -R 00 00 01 00 -T 82 05 00 00 18 1C -R 00 00 01 00 -T 84 05 00 00 -R 00 00 01 00 -T 84 05 00 00 21 68 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T 8F 05 00 00 00 77 2B 6E 67 2B 2B 46 23 66 68 -R 00 00 01 00 -T 9A 05 00 00 DD 75 A2 DD 74 A3 -R 00 00 01 00 -T A0 05 00 00 -R 00 00 01 00 -T A0 05 00 00 DD 46 A2 DD 6E B5 DD 66 B6 70 DD -R 00 00 01 00 -T AB 05 00 00 6E B5 DD 66 B6 23 36 00 AF DD B6 -R 00 00 01 00 -T B6 05 00 00 B4 28 0C -R 00 00 01 00 -T B9 05 00 00 -R 00 00 01 00 -T B9 05 00 00 DD 6E B5 DD 66 B6 46 DD 70 B2 18 -R 00 00 01 00 -T C4 05 00 00 22 -R 00 00 01 00 -T C5 05 00 00 -R 00 00 01 00 -T C5 05 00 00 18 1C -R 00 00 01 00 -T C7 05 00 00 -R 00 00 01 00 -T C7 05 00 00 21 68 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T D2 05 00 00 00 77 2B 6E 67 2B 2B 46 23 66 68 -R 00 00 01 00 -T DD 05 00 00 DD 75 B5 DD 74 B6 -R 00 00 01 00 -T E3 05 00 00 -R 00 00 01 00 -T E3 05 00 00 DD 36 B2 20 -R 00 00 01 00 -T E7 05 00 00 -R 00 00 01 00 -T E7 05 00 00 DD 36 B3 00 -R 00 00 01 00 -T EB 05 00 00 -R 00 00 01 00 -T EB 05 00 00 DD 6E FD DD 66 FE E5 DD 6E A8 DD -R 00 00 01 00 -T F6 05 00 00 66 A9 E5 DD 6E AC DD 66 AD E5 DD -R 00 00 01 00 -T 01 06 00 00 6E B2 E5 DD 6E B3 E5 DD 6E A4 DD -R 00 00 01 00 -T 0C 06 00 00 66 A5 E5 DD 4E B5 DD 46 B6 DD 5E -R 00 00 01 00 -T 17 06 00 00 02 DD 56 03 CD 00 00 00 00 EB 21 -R 00 00 01 00 00 09 01 00 -T 20 06 00 00 0C 00 39 F9 EB 4D 44 21 0E 00 39 -R 00 00 01 00 -T 2B 06 00 00 7E 81 77 23 7E 88 77 18 02 -R 00 00 01 00 -T 34 06 00 00 -R 00 00 01 00 -T 34 06 00 00 18 02 -R 00 00 01 00 -T 36 06 00 00 -R 00 00 01 00 -T 36 06 00 00 18 42 -R 00 00 01 00 -T 38 06 00 00 -R 00 00 01 00 -T 38 06 00 00 -R 00 00 01 00 -T 38 06 00 00 DD 4E 02 DD 46 03 DD 6E 04 DD 66 -R 00 00 01 00 -T 43 06 00 00 05 5E 16 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 07 00 -T 4A 06 00 00 00 00 00 00 CD 00 00 00 00 DD 34 -R 00 00 01 00 02 04 07 00 02 09 08 00 -T 51 06 00 00 B0 20 03 DD 34 B1 -R 00 00 01 00 -T 57 06 00 00 -R 00 00 01 00 -T 57 06 00 00 DD 6E 04 DD 66 05 7E FE 0A 20 18 -R 00 00 01 00 -T 62 06 00 00 3E 01 DD AE FD DD B6 FE 20 0E -R 00 00 01 00 -T 6C 06 00 00 -R 00 00 01 00 -T 6C 06 00 00 -R 00 00 01 00 -T 6C 06 00 00 -R 00 00 01 00 -T 6C 06 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 01 00 -T 74 06 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 01 00 02 0A 08 00 -T 7A 06 00 00 -R 00 00 01 00 -T 7A 06 00 00 -R 00 00 01 00 -T 7A 06 00 00 DD 34 04 20 03 DD 34 05 -R 00 00 01 00 -T 82 06 00 00 -R 00 00 01 00 -T 82 06 00 00 C3 B2 01 00 00 -R 00 00 01 00 00 05 01 00 -T 85 06 00 00 -R 00 00 01 00 -T 85 06 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 90 06 00 00 DD B6 FD 77 23 7E DD B6 FE 77 3E -R 00 00 01 00 -T 9B 06 00 00 02 DD AE FD DD B6 FE 20 0E -R 00 00 01 00 -T A4 06 00 00 -R 00 00 01 00 -T A4 06 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 01 00 -T AC 06 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 01 00 02 0A 08 00 -T B2 06 00 00 -R 00 00 01 00 -T B2 06 00 00 3E 01 DD AE FD DD B6 FE 20 16 -R 00 00 01 00 -T BC 06 00 00 -R 00 00 01 00 -T BC 06 00 00 21 04 00 DD 4E 02 DD 46 03 09 E5 -R 00 00 01 00 -T C7 06 00 00 21 06 00 09 4E 23 46 E1 71 23 70 -R 00 00 01 00 -T D2 06 00 00 -R 00 00 01 00 -T D2 06 00 00 DD 6E B0 DD 66 B1 C3 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 -R 00 00 02 00 -T 01 00 00 00 -R 00 00 02 00 -T 01 00 00 00 30 62 00 -R 00 00 02 00 -T 04 00 00 00 -R 00 00 02 00 -T 04 00 00 00 30 00 -R 00 00 02 00 -T 06 00 00 00 -R 00 00 02 00 -T 06 00 00 00 30 78 00 -R 00 00 02 00 -T 09 00 00 00 -R 00 00 02 00 -T 09 00 00 00 30 58 00 -R 00 00 02 00 diff --git a/lib/relcb/vfscanf.rel b/lib/relcb/vfscanf.rel deleted file mode 100644 index 72cb8295..00000000 --- a/lib/relcb/vfscanf.rel +++ /dev/null @@ -1,952 +0,0 @@ -XL4 -H 3 areas 11 global symbols -S ?L_MUL_L03 Ref00000000 -S ungetc Ref00000000 -S fgetc Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S strchr Ref00000000 -S ?C_V_SWITCH_L06 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S __ctype Ref00000000 -S strcpy Ref00000000 -S ?S_S_SWITCH_L06 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?L_NEG_L03 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8A1 flags 0 -S vfscanf Def00000000 -A CSTR size 18 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 50 FF AF DD 77 FD -R 00 00 01 00 02 05 0B 00 -T 09 00 00 00 DD 77 FE 79 B0 28 0A DD 6E 04 DD -R 00 00 01 00 -T 14 00 00 00 66 05 AF B6 20 06 -R 00 00 01 00 -T 1A 00 00 00 -R 00 00 01 00 -T 1A 00 00 00 -R 00 00 01 00 -T 1A 00 00 00 -R 00 00 01 00 -T 1A 00 00 00 21 00 00 C3 9E 08 00 00 -R 00 00 01 00 00 08 01 00 -T 20 00 00 00 -R 00 00 01 00 -T 20 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 -T 28 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 02 00 02 0A 07 00 -T 2F 00 00 00 75 F7 DD 74 F8 -R 00 00 01 00 -T 34 00 00 00 -R 00 00 01 00 -T 34 00 00 00 DD 4E F7 DD 46 F8 21 00 00 CD -R 00 00 01 00 -T 3E 00 00 00 00 00 00 00 D2 65 08 00 00 -R 00 00 01 00 02 04 0C 00 00 09 01 00 -T 43 00 00 00 -R 00 00 01 00 -T 43 00 00 00 AF DD 77 E9 DD 77 EA DD 6E 04 DD -R 00 00 01 00 -T 4E 00 00 00 66 05 7E FE 25 C2 E1 07 00 00 -R 00 00 01 00 00 0A 01 00 -T 56 00 00 00 -R 00 00 01 00 -T 56 00 00 00 21 00 00 39 AF 77 23 77 23 77 23 -R 00 00 01 00 -T 61 00 00 00 77 DD 36 F9 FF DD 36 FA FF DD 36 -R 00 00 01 00 -T 6C 00 00 00 EF 01 DD 36 F0 00 DD 36 ED 0A DD -R 00 00 01 00 -T 77 00 00 00 36 EE 00 AF DD 77 FB DD 77 FC DD -R 00 00 01 00 -T 82 00 00 00 36 E9 01 DD 36 EA 00 DD 36 F1 01 -R 00 00 01 00 -T 8D 00 00 00 DD 36 F2 00 DD 36 EB FF DD 36 EC -R 00 00 01 00 -T 98 00 00 00 FF 01 00 00 00 00 21 06 00 39 5D -R 00 00 01 00 00 06 02 00 -T A1 00 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T A7 00 00 00 CD 00 00 00 00 01 07 00 00 00 21 -R 00 00 01 00 02 05 07 00 00 0A 02 00 -T AE 00 00 00 86 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 09 00 -T B6 00 00 00 00 00 00 00 CD 00 00 00 00 DD 6E -R 00 00 01 00 02 04 09 00 02 09 07 00 -T BD 00 00 00 04 DD 66 05 23 7E FE 2A 20 16 -R 00 00 01 00 -T C7 00 00 00 -R 00 00 01 00 -T C7 00 00 00 AF DD 77 E9 DD 77 EA AF DD 77 F1 -R 00 00 01 00 -T D2 00 00 00 DD 77 F2 DD 34 04 20 03 DD 34 05 -R 00 00 01 00 -T DD 00 00 00 -R 00 00 01 00 -T DD 00 00 00 -R 00 00 01 00 -T DD 00 00 00 -R 00 00 01 00 -T DD 00 00 00 DD 6E 04 DD 66 05 23 DD 75 04 DD -R 00 00 01 00 -T E8 00 00 00 74 05 4E 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 08 00 -T F1 00 00 00 7E E6 08 28 38 -R 00 00 01 00 -T F6 00 00 00 -R 00 00 01 00 -T F6 00 00 00 DD 7E F9 DD A6 FA 3C 20 07 -R 00 00 01 00 -T FF 00 00 00 -R 00 00 01 00 -T FF 00 00 00 AF DD 77 F9 DD 77 FA -R 00 00 01 00 -T 06 01 00 00 -R 00 00 01 00 -T 06 01 00 00 DD 6E 04 DD 66 05 4E 06 00 21 -R 00 00 01 00 -T 10 01 00 00 D0 FF 09 01 0A 00 DD 5E F9 DD 56 -R 00 00 01 00 -T 1B 01 00 00 FA CD 00 00 00 00 19 DD 75 F9 DD -R 00 00 01 00 02 06 03 00 -T 24 01 00 00 74 FA DD 75 EF DD 74 F0 18 AF -R 00 00 01 00 -T 2E 01 00 00 -R 00 00 01 00 -T 2E 01 00 00 DD 6E 04 DD 66 05 2B DD 75 04 DD -R 00 00 01 00 -T 39 01 00 00 74 05 -R 00 00 01 00 -T 3B 01 00 00 -R 00 00 01 00 -T 3B 01 00 00 DD 34 04 20 03 DD 34 05 -R 00 00 01 00 -T 43 01 00 00 -R 00 00 01 00 -T 43 01 00 00 DD 6E 04 DD 66 05 4E 06 00 21 -R 00 00 01 00 -T 4D 01 00 00 00 00 00 00 09 7E E6 02 28 0C DD -R 00 00 01 00 02 04 08 00 -T 56 01 00 00 6E 04 DD 66 05 7E EE 20 5F 18 07 -R 00 00 01 00 -T 61 01 00 00 -R 00 00 01 00 -T 61 01 00 00 DD 6E 04 DD 66 05 5E -R 00 00 01 00 -T 68 01 00 00 -R 00 00 01 00 -T 68 01 00 00 CD 00 00 00 00 0D 00 00 2A 5B 62 -R 00 00 01 00 02 05 06 00 -T 71 01 00 00 63 64 68 69 6C 6F 73 75 78 -R 00 00 01 00 -T 7A 01 00 00 DD 07 00 00 D6 01 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 7E 01 00 00 E7 01 00 00 77 06 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 82 01 00 00 CC 01 00 00 A6 01 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 86 01 00 00 B9 01 00 00 B0 01 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 8A 01 00 00 E0 01 00 00 EF 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 8E 01 00 00 C2 01 00 00 12 05 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 92 01 00 00 96 01 00 00 D0 07 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 96 01 00 00 -R 00 00 01 00 -T 96 01 00 00 AF DD 77 E9 DD 77 EA AF DD 77 F1 -R 00 00 01 00 -T A1 01 00 00 DD 77 F2 18 95 -R 00 00 01 00 -T A6 01 00 00 -R 00 00 01 00 -T A6 01 00 00 DD 36 FB 01 DD 36 FC 00 18 8B -R 00 00 01 00 -T B0 01 00 00 -R 00 00 01 00 -T B0 01 00 00 AF DD 77 FB DD 77 FC 18 82 -R 00 00 01 00 -T B9 01 00 00 -R 00 00 01 00 -T B9 01 00 00 AF DD 77 ED DD 77 EE 18 25 -R 00 00 01 00 -T C2 01 00 00 -R 00 00 01 00 -T C2 01 00 00 DD 36 ED 02 DD 36 EE 00 18 1B -R 00 00 01 00 -T CC 01 00 00 -R 00 00 01 00 -T CC 01 00 00 DD 36 ED 08 DD 36 EE 00 18 11 -R 00 00 01 00 -T D6 01 00 00 -R 00 00 01 00 -T D6 01 00 00 DD 36 ED 10 DD 36 EE 00 18 07 -R 00 00 01 00 -T E0 01 00 00 -R 00 00 01 00 -T E0 01 00 00 AF DD 77 EB DD 77 EC -R 00 00 01 00 -T E7 01 00 00 -R 00 00 01 00 -T E7 01 00 00 -R 00 00 01 00 -T E7 01 00 00 -R 00 00 01 00 -T E7 01 00 00 DD 4E F7 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 08 00 -T F0 01 00 00 7E E6 10 28 23 -R 00 00 01 00 -T F5 01 00 00 -R 00 00 01 00 -T F5 01 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 -T FD 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 02 00 02 0A 07 00 -T 04 02 00 00 75 F7 DD 74 F8 4D 44 21 00 00 CD -R 00 00 01 00 -T 0F 02 00 00 00 00 00 00 38 03 -R 00 00 01 00 02 04 0C 00 -T 13 02 00 00 -R 00 00 01 00 -T 13 02 00 00 C3 65 08 00 00 -R 00 00 01 00 00 05 01 00 -T 16 02 00 00 -R 00 00 01 00 -T 16 02 00 00 18 CF -R 00 00 01 00 -T 18 02 00 00 -R 00 00 01 00 -T 18 02 00 00 DD 6E 04 DD 66 05 4E 06 00 21 -R 00 00 01 00 -T 22 02 00 00 00 00 00 00 09 7E E6 02 28 08 -R 00 00 01 00 02 04 08 00 -T 2A 02 00 00 -R 00 00 01 00 -T 2A 02 00 00 DD 36 FB 01 DD 36 FC 00 -R 00 00 01 00 -T 32 02 00 00 -R 00 00 01 00 -T 32 02 00 00 DD 7E ED DD B6 EE C2 DA 02 00 00 -R 00 00 01 00 00 0B 01 00 -T 3B 02 00 00 -R 00 00 01 00 -T 3B 02 00 00 DD 36 ED 0A DD 36 EE 00 AF DD 77 -R 00 00 01 00 -T 46 02 00 00 EB DD 77 EC 3E 25 DD AE F7 DD B6 -R 00 00 01 00 -T 51 02 00 00 F8 20 0B -R 00 00 01 00 -T 54 02 00 00 -R 00 00 01 00 -T 54 02 00 00 DD 36 ED 02 DD 36 EE 00 C3 -R 00 00 01 00 -T 5D 02 00 00 12 03 00 00 -R 00 00 01 00 00 04 01 00 -T 5F 02 00 00 -R 00 00 01 00 -T 5F 02 00 00 3E 30 DD AE F7 DD B6 F8 20 71 -R 00 00 01 00 -T 69 02 00 00 -R 00 00 01 00 -T 69 02 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 -T 71 02 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 02 00 02 0A 07 00 -T 78 02 00 00 75 F7 DD 74 F8 4D 44 21 00 00 CD -R 00 00 01 00 -T 83 02 00 00 00 00 00 00 38 03 -R 00 00 01 00 02 04 0C 00 -T 87 02 00 00 -R 00 00 01 00 -T 87 02 00 00 C3 5B 04 00 00 -R 00 00 01 00 00 05 01 00 -T 8A 02 00 00 -R 00 00 01 00 -T 8A 02 00 00 3E 62 DD AE F7 DD B6 F8 28 0A 3E -R 00 00 01 00 -T 95 02 00 00 42 DD AE F7 DD B6 F8 20 0F -R 00 00 01 00 -T 9E 02 00 00 -R 00 00 01 00 -T 9E 02 00 00 -R 00 00 01 00 -T 9E 02 00 00 -R 00 00 01 00 -T 9E 02 00 00 DD 36 ED 02 DD 36 EE 00 DD 36 D8 -R 00 00 01 00 -T A9 02 00 00 00 C3 1D 04 00 00 -R 00 00 01 00 00 06 01 00 -T AD 02 00 00 -R 00 00 01 00 -T AD 02 00 00 3E 78 DD AE F7 DD B6 F8 28 19 3E -R 00 00 01 00 -T B8 02 00 00 58 DD AE F7 DD B6 F8 28 0F -R 00 00 01 00 -T C1 02 00 00 -R 00 00 01 00 -T C1 02 00 00 -R 00 00 01 00 -T C1 02 00 00 -R 00 00 01 00 -T C1 02 00 00 DD 36 ED 08 DD 36 EE 00 DD 36 DE -R 00 00 01 00 -T CC 02 00 00 00 C3 1D 04 00 00 -R 00 00 01 00 00 06 01 00 -T D0 02 00 00 -R 00 00 01 00 -T D0 02 00 00 DD 36 ED 10 DD 36 EE 00 18 38 -R 00 00 01 00 -T DA 02 00 00 -R 00 00 01 00 -T DA 02 00 00 -R 00 00 01 00 -T DA 02 00 00 DD 7E EB DD B6 EC 20 51 3E 0A DD -R 00 00 01 00 -T E5 02 00 00 AE ED DD B6 EE 20 47 3E 2D DD AE -R 00 00 01 00 -T F0 02 00 00 F7 DD B6 F8 20 04 0E 01 18 02 -R 00 00 01 00 -T FA 02 00 00 -R 00 00 01 00 -T FA 02 00 00 0E 00 -R 00 00 01 00 -T FC 02 00 00 -R 00 00 01 00 -T FC 02 00 00 06 00 DD 71 EB DD 70 EC 79 B0 20 -R 00 00 01 00 -T 07 03 00 00 0A 3E 2B DD AE F7 DD B6 F8 20 21 -R 00 00 01 00 -T 12 03 00 00 -R 00 00 01 00 -T 12 03 00 00 -R 00 00 01 00 -T 12 03 00 00 -R 00 00 01 00 -T 12 03 00 00 -R 00 00 01 00 -T 12 03 00 00 -R 00 00 01 00 -T 12 03 00 00 -R 00 00 01 00 -T 12 03 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 -T 1A 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 02 00 02 0A 07 00 -T 21 03 00 00 75 F7 DD 74 F8 4D 44 21 00 00 CD -R 00 00 01 00 -T 2C 03 00 00 00 00 00 00 38 03 -R 00 00 01 00 02 04 0C 00 -T 30 03 00 00 -R 00 00 01 00 -T 30 03 00 00 C3 65 08 00 00 -R 00 00 01 00 00 05 01 00 -T 33 03 00 00 -R 00 00 01 00 -T 33 03 00 00 -R 00 00 01 00 -T 33 03 00 00 21 86 00 39 DD 4E ED DD 46 EE 09 -R 00 00 01 00 -T 3E 03 00 00 36 00 21 04 00 39 E5 DD 4E F7 06 -R 00 00 01 00 -T 49 03 00 00 00 21 00 00 00 00 09 7E E6 04 28 -R 00 00 01 00 02 06 08 00 -T 52 03 00 00 0E DD 7E F7 EE 20 4F DD 7E F8 EE -R 00 00 01 00 -T 5D 03 00 00 00 47 18 06 -R 00 00 01 00 -T 61 03 00 00 -R 00 00 01 00 -T 61 03 00 00 DD 4E F7 DD 46 F8 -R 00 00 01 00 -T 67 03 00 00 -R 00 00 01 00 -T 67 03 00 00 21 88 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 -T 6F 03 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 05 00 02 0A 07 00 -T 76 03 00 00 44 E1 71 23 70 DD 7E F7 DD B6 F8 -R 00 00 01 00 -T 81 03 00 00 28 09 21 04 00 39 7E 23 B6 20 0B -R 00 00 01 00 -T 8C 03 00 00 -R 00 00 01 00 -T 8C 03 00 00 -R 00 00 01 00 -T 8C 03 00 00 DD 7E F9 DD B6 FA 28 03 -R 00 00 01 00 -T 94 03 00 00 -R 00 00 01 00 -T 94 03 00 00 -R 00 00 01 00 -T 94 03 00 00 -R 00 00 01 00 -T 94 03 00 00 C3 65 08 00 00 -R 00 00 01 00 00 05 01 00 -T 97 03 00 00 -R 00 00 01 00 -T 97 03 00 00 -R 00 00 01 00 -T 97 03 00 00 21 04 00 39 7E 23 B6 CA -R 00 00 01 00 -T 9F 03 00 00 5B 04 00 00 DD 6E F9 DD 66 FA 2B -R 00 00 01 00 00 04 01 00 -T A8 03 00 00 DD 75 F9 DD 74 FA 23 7D B4 CA -R 00 00 01 00 -T B2 03 00 00 5B 04 00 00 DD 7E F7 DD B6 F8 CA -R 00 00 01 00 00 04 01 00 -T BB 03 00 00 5B 04 00 00 -R 00 00 01 00 00 04 01 00 -T BD 03 00 00 -R 00 00 01 00 -T BD 03 00 00 -R 00 00 01 00 -T BD 03 00 00 -R 00 00 01 00 -T BD 03 00 00 21 86 00 39 4D 44 21 04 00 39 56 -R 00 00 01 00 -T C8 03 00 00 23 66 6A A7 ED 42 7C 07 9F 4F 41 -R 00 00 01 00 -T D3 03 00 00 C5 E5 DD 6E ED DD 66 EE 7C 07 9F -R 00 00 01 00 -T DE 03 00 00 4F 41 C5 E5 21 08 00 39 5E 23 56 -R 00 00 01 00 -T E9 03 00 00 23 4E 23 46 EB CD 00 00 00 00 59 -R 00 00 01 00 02 0A 00 00 -T F2 03 00 00 50 C1 09 EB C1 ED 4A 4D 44 EB E5 -R 00 00 01 00 -T FD 03 00 00 21 02 00 39 D1 73 23 72 23 71 23 -R 00 00 01 00 -T 08 04 00 00 70 DD 5E 02 DD 56 03 3E -R 00 00 01 00 -T 10 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 15 04 00 00 00 00 00 00 DD 75 F7 DD 74 F8 -R 00 00 01 00 02 04 07 00 -T 1D 04 00 00 -R 00 00 01 00 -T 1D 04 00 00 21 04 00 39 E5 DD 4E F7 06 00 21 -R 00 00 01 00 -T 28 04 00 00 00 00 00 00 09 7E E6 04 28 0E DD -R 00 00 01 00 02 04 08 00 -T 31 04 00 00 7E F7 EE 20 4F DD 7E F8 EE 00 47 -R 00 00 01 00 -T 3C 04 00 00 18 06 -R 00 00 01 00 -T 3E 04 00 00 -R 00 00 01 00 -T 3E 04 00 00 DD 4E F7 DD 46 F8 -R 00 00 01 00 -T 44 04 00 00 -R 00 00 01 00 -T 44 04 00 00 21 88 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 -T 4C 04 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 05 00 02 0A 07 00 -T 53 04 00 00 44 E1 71 23 70 C3 97 03 00 00 -R 00 00 01 00 00 0A 01 00 -T 5B 04 00 00 -R 00 00 01 00 -T 5B 04 00 00 -R 00 00 01 00 -T 5B 04 00 00 DD 7E E9 DD B6 EA CA EC 04 00 00 -R 00 00 01 00 00 0B 01 00 -T 64 04 00 00 -R 00 00 01 00 -T 64 04 00 00 3E 01 DD AE EB DD B6 EC 20 1C -R 00 00 01 00 -T 6E 04 00 00 -R 00 00 01 00 -T 6E 04 00 00 21 00 00 39 5E 23 56 23 4E 23 46 -R 00 00 01 00 -T 79 04 00 00 EB CD 00 00 00 00 E5 21 02 00 39 -R 00 00 01 00 02 06 0D 00 -T 82 04 00 00 D1 73 23 72 23 71 23 70 -R 00 00 01 00 -T 8A 04 00 00 -R 00 00 01 00 -T 8A 04 00 00 DD 7E FB DD B6 FC 28 2C -R 00 00 01 00 -T 92 04 00 00 -R 00 00 01 00 -T 92 04 00 00 21 BA 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T 9D 04 00 00 00 77 2B 6E 67 2B 2B 7E 23 66 6F -R 00 00 01 00 -T A8 04 00 00 E5 21 02 00 39 5E 23 56 23 4E 23 -R 00 00 01 00 -T B3 04 00 00 46 E1 73 23 72 23 71 23 70 18 26 -R 00 00 01 00 -T BE 04 00 00 -R 00 00 01 00 -T BE 04 00 00 21 BA 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T C9 04 00 00 00 77 2B 6E 67 2B 2B 7E 23 66 6F -R 00 00 01 00 -T D4 04 00 00 E5 21 02 00 39 5E 23 56 23 4E 23 -R 00 00 01 00 -T DF 04 00 00 46 E1 73 23 72 -R 00 00 01 00 -T E4 04 00 00 -R 00 00 01 00 -T E4 04 00 00 DD 34 FD 20 03 DD 34 FE -R 00 00 01 00 -T EC 04 00 00 -R 00 00 01 00 -T EC 04 00 00 -R 00 00 01 00 -T EC 04 00 00 C3 DF 07 00 00 -R 00 00 01 00 00 05 01 00 -T EF 04 00 00 -R 00 00 01 00 -T EF 04 00 00 DD 6E EF DD 66 F0 DD 75 F9 DD 74 -R 00 00 01 00 -T FA 04 00 00 FA AF DD 77 F1 DD 77 F2 AF DD 77 -R 00 00 01 00 -T 05 05 00 00 FB DD 77 FC 21 06 00 39 36 00 C3 -R 00 00 01 00 -T 10 05 00 00 AF 06 00 00 -R 00 00 01 00 00 04 01 00 -T 12 05 00 00 -R 00 00 01 00 -T 12 05 00 00 21 04 00 39 E5 21 08 00 39 4D 44 -R 00 00 01 00 -T 1D 05 00 00 E1 71 23 70 DD 6E 04 DD 66 05 23 -R 00 00 01 00 -T 28 05 00 00 DD 75 04 DD 74 05 7E FE 5E 20 11 -R 00 00 01 00 -T 33 05 00 00 -R 00 00 01 00 -T 33 05 00 00 DD 34 04 20 03 DD 34 05 -R 00 00 01 00 -T 3B 05 00 00 -R 00 00 01 00 -T 3B 05 00 00 AF DD 77 FB DD 77 FC 18 08 -R 00 00 01 00 -T 44 05 00 00 -R 00 00 01 00 -T 44 05 00 00 DD 36 FB 01 DD 36 FC 00 -R 00 00 01 00 -T 4C 05 00 00 -R 00 00 01 00 -T 4C 05 00 00 DD 36 F3 02 DD 36 F4 00 DD 6E 04 -R 00 00 01 00 -T 57 05 00 00 DD 66 05 7E FE 5D 28 0B DD 6E 04 -R 00 00 01 00 -T 62 05 00 00 DD 66 05 7E FE 2D 20 24 -R 00 00 01 00 -T 6A 05 00 00 -R 00 00 01 00 -T 6A 05 00 00 -R 00 00 01 00 -T 6A 05 00 00 -R 00 00 01 00 -T 6A 05 00 00 DD 6E 04 DD 66 05 23 DD 75 04 DD -R 00 00 01 00 -T 75 05 00 00 74 05 2B 46 21 04 00 39 5E 23 56 -R 00 00 01 00 -T 80 05 00 00 13 72 2B 73 1B EB 70 AF DD 77 F3 -R 00 00 01 00 -T 8B 05 00 00 DD 77 F4 -R 00 00 01 00 -T 8E 05 00 00 -R 00 00 01 00 -T 8E 05 00 00 -R 00 00 01 00 -T 8E 05 00 00 DD 6E 04 DD 66 05 7E FE 5D CA -R 00 00 01 00 -T 98 05 00 00 6B 06 00 00 -R 00 00 01 00 00 04 01 00 -T 9A 05 00 00 -R 00 00 01 00 -T 9A 05 00 00 DD 6E 04 DD 66 05 AF B6 20 03 -R 00 00 01 00 -T A4 05 00 00 -R 00 00 01 00 -T A4 05 00 00 C3 65 08 00 00 -R 00 00 01 00 00 05 01 00 -T A7 05 00 00 -R 00 00 01 00 -T A7 05 00 00 DD 5E F3 DD 56 F4 CD 00 00 00 00 -R 00 00 01 00 02 0B 0A 00 -T B0 05 00 00 00 00 03 00 4B 06 00 00 -R 00 00 01 00 00 08 01 00 -T B6 05 00 00 29 06 00 00 BC 05 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T BA 05 00 00 44 06 00 00 -R 00 00 01 00 00 04 01 00 -T BC 05 00 00 -R 00 00 01 00 -T BC 05 00 00 21 04 00 39 46 23 66 68 2B 2B 4E -R 00 00 01 00 -T C7 05 00 00 06 00 DD 71 F5 DD 70 F6 DD 6E 04 -R 00 00 01 00 -T D2 05 00 00 DD 66 05 6E 26 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 0C 00 -T DB 05 00 00 38 4C -R 00 00 01 00 -T DD 05 00 00 -R 00 00 01 00 -T DD 05 00 00 21 04 00 39 7E D6 02 77 23 7E DE -R 00 00 01 00 -T E8 05 00 00 00 77 -R 00 00 01 00 -T EA 05 00 00 -R 00 00 01 00 -T EA 05 00 00 DD 6E 04 DD 66 05 4E 06 00 DD 6E -R 00 00 01 00 -T F5 05 00 00 F5 DD 66 F6 CD 00 00 00 00 30 21 -R 00 00 01 00 02 09 0C 00 -T FE 05 00 00 -R 00 00 01 00 -T FE 05 00 00 DD 6E F5 DD 66 F6 23 DD 75 F5 DD -R 00 00 01 00 -T 09 06 00 00 74 F6 2B E5 21 06 00 39 4E 23 46 -R 00 00 01 00 -T 14 06 00 00 03 70 2B 71 0B 69 60 C1 71 18 CB -R 00 00 01 00 -T 1F 06 00 00 -R 00 00 01 00 -T 1F 06 00 00 DD 36 F3 02 DD 36 F4 00 18 22 -R 00 00 01 00 -T 29 06 00 00 -R 00 00 01 00 -T 29 06 00 00 -R 00 00 01 00 -T 29 06 00 00 DD 6E 04 DD 66 05 7E FE 2D 20 04 -R 00 00 01 00 -T 34 06 00 00 0E 01 18 02 -R 00 00 01 00 -T 38 06 00 00 -R 00 00 01 00 -T 38 06 00 00 0E 00 -R 00 00 01 00 -T 3A 06 00 00 -R 00 00 01 00 -T 3A 06 00 00 06 00 DD 71 F3 DD 70 F4 18 07 -R 00 00 01 00 -T 44 06 00 00 -R 00 00 01 00 -T 44 06 00 00 AF DD 77 F3 DD 77 F4 -R 00 00 01 00 -T 4B 06 00 00 -R 00 00 01 00 -T 4B 06 00 00 DD 6E 04 DD 66 05 23 DD 75 04 DD -R 00 00 01 00 -T 56 06 00 00 74 05 2B 46 21 04 00 39 5E 23 56 -R 00 00 01 00 -T 61 06 00 00 13 72 2B 73 1B EB 70 C3 -R 00 00 01 00 -T 69 06 00 00 8E 05 00 00 -R 00 00 01 00 00 04 01 00 -T 6B 06 00 00 -R 00 00 01 00 -T 6B 06 00 00 21 04 00 39 7E 23 66 6F 36 00 18 -R 00 00 01 00 -T 76 06 00 00 38 -R 00 00 01 00 -T 77 06 00 00 -R 00 00 01 00 -T 77 06 00 00 AF DD 77 FB DD 77 FC -R 00 00 01 00 -T 7E 06 00 00 -R 00 00 01 00 -T 7E 06 00 00 DD 4E F7 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 08 00 -T 87 06 00 00 7E E6 10 28 23 -R 00 00 01 00 -T 8C 06 00 00 -R 00 00 01 00 -T 8C 06 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 -T 94 06 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 02 00 02 0A 07 00 -T 9B 06 00 00 75 F7 DD 74 F8 4D 44 21 00 00 CD -R 00 00 01 00 -T A6 06 00 00 00 00 00 00 38 03 -R 00 00 01 00 02 04 0C 00 -T AA 06 00 00 -R 00 00 01 00 -T AA 06 00 00 C3 65 08 00 00 -R 00 00 01 00 00 05 01 00 -T AD 06 00 00 -R 00 00 01 00 -T AD 06 00 00 18 CF -R 00 00 01 00 -T AF 06 00 00 -R 00 00 01 00 -T AF 06 00 00 -R 00 00 01 00 -T AF 06 00 00 21 04 00 39 E5 21 BC 00 39 7E C6 -R 00 00 01 00 -T BA 06 00 00 02 77 23 7E CE 00 77 2B 6E 67 2B -R 00 00 01 00 -T C5 06 00 00 2B 4E 23 46 E1 71 23 70 DD 7E F9 -R 00 00 01 00 -T D0 06 00 00 DD B6 FA 28 58 -R 00 00 01 00 -T D5 06 00 00 -R 00 00 01 00 -T D5 06 00 00 DD 4E F7 DD 46 F8 21 06 00 39 5D -R 00 00 01 00 -T E0 06 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 -T E6 06 00 00 CD 00 00 00 00 DD 75 E7 DD 74 E8 -R 00 00 01 00 02 05 07 00 -T EF 06 00 00 DD 4E F7 DD 46 F8 21 00 00 CD -R 00 00 01 00 -T F9 06 00 00 00 00 00 00 30 1B DD 7E E7 DD B6 -R 00 00 01 00 02 04 0C 00 -T 02 07 00 00 E8 20 04 0E 01 18 02 -R 00 00 01 00 -T 09 07 00 00 -R 00 00 01 00 -T 09 07 00 00 0E 00 -R 00 00 01 00 -T 0B 07 00 00 -R 00 00 01 00 -T 0B 07 00 00 06 00 DD 6E FB DD 66 FC A7 ED 42 -R 00 00 01 00 -T 16 07 00 00 20 15 -R 00 00 01 00 -T 18 07 00 00 -R 00 00 01 00 -T 18 07 00 00 -R 00 00 01 00 -T 18 07 00 00 -R 00 00 01 00 -T 18 07 00 00 DD 7E F1 DD B6 F2 28 0A -R 00 00 01 00 -T 20 07 00 00 -R 00 00 01 00 -T 20 07 00 00 21 04 00 39 7E 23 66 6F 36 00 -R 00 00 01 00 -T 2A 07 00 00 -R 00 00 01 00 -T 2A 07 00 00 C3 65 08 00 00 -R 00 00 01 00 00 05 01 00 -T 2D 07 00 00 -R 00 00 01 00 -T 2D 07 00 00 -R 00 00 01 00 -T 2D 07 00 00 -R 00 00 01 00 -T 2D 07 00 00 DD 7E E9 DD B6 EA 28 11 -R 00 00 01 00 -T 35 07 00 00 -R 00 00 01 00 -T 35 07 00 00 DD 46 F7 21 04 00 39 5E 23 56 13 -R 00 00 01 00 -T 40 07 00 00 72 2B 73 1B EB 70 -R 00 00 01 00 -T 46 07 00 00 -R 00 00 01 00 -T 46 07 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 -T 4E 07 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 02 00 02 0A 07 00 -T 55 07 00 00 75 F7 DD 74 F8 4D 44 21 00 00 CD -R 00 00 01 00 -T 60 07 00 00 00 00 00 00 30 11 DD 6E F9 DD 66 -R 00 00 01 00 02 04 0C 00 -T 69 07 00 00 FA 2B DD 75 F9 DD 74 FA 7D B4 20 -R 00 00 01 00 -T 74 07 00 00 02 -R 00 00 01 00 -T 75 07 00 00 -R 00 00 01 00 -T 75 07 00 00 -R 00 00 01 00 -T 75 07 00 00 -R 00 00 01 00 -T 75 07 00 00 18 35 -R 00 00 01 00 -T 77 07 00 00 -R 00 00 01 00 -T 77 07 00 00 DD 4E F7 DD 46 F8 21 06 00 39 5D -R 00 00 01 00 -T 82 07 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 -T 88 07 00 00 CD 00 00 00 00 DD 75 E7 DD 74 E8 -R 00 00 01 00 02 05 07 00 -T 91 07 00 00 7D B4 20 04 0E 01 18 02 -R 00 00 01 00 -T 99 07 00 00 -R 00 00 01 00 -T 99 07 00 00 0E 00 -R 00 00 01 00 -T 9B 07 00 00 -R 00 00 01 00 -T 9B 07 00 00 06 00 DD 6E FB DD 66 FC A7 ED 42 -R 00 00 01 00 -T A6 07 00 00 20 02 -R 00 00 01 00 -T A8 07 00 00 -R 00 00 01 00 -T A8 07 00 00 18 02 -R 00 00 01 00 -T AA 07 00 00 -R 00 00 01 00 -T AA 07 00 00 18 81 -R 00 00 01 00 -T AC 07 00 00 -R 00 00 01 00 -T AC 07 00 00 DD 7E E9 DD B6 EA 28 1A -R 00 00 01 00 -T B4 07 00 00 -R 00 00 01 00 -T B4 07 00 00 DD 7E F1 DD B6 F2 28 0A -R 00 00 01 00 -T BC 07 00 00 -R 00 00 01 00 -T BC 07 00 00 21 04 00 39 7E 23 66 6F 36 00 -R 00 00 01 00 -T C6 07 00 00 -R 00 00 01 00 -T C6 07 00 00 DD 34 FD 20 03 DD 34 FE -R 00 00 01 00 -T CE 07 00 00 -R 00 00 01 00 -T CE 07 00 00 -R 00 00 01 00 -T CE 07 00 00 18 0F -R 00 00 01 00 -T D0 07 00 00 -R 00 00 01 00 -T D0 07 00 00 DD 6E 04 DD 66 05 2B DD 75 04 DD -R 00 00 01 00 -T DB 07 00 00 74 05 -R 00 00 01 00 -T DD 07 00 00 -R 00 00 01 00 -T DD 07 00 00 18 46 -R 00 00 01 00 -T DF 07 00 00 -R 00 00 01 00 -T DF 07 00 00 18 6E -R 00 00 01 00 -T E1 07 00 00 -R 00 00 01 00 -T E1 07 00 00 DD 6E 04 DD 66 05 4E 06 00 21 -R 00 00 01 00 -T EB 07 00 00 00 00 00 00 09 7E E6 10 28 32 -R 00 00 01 00 02 04 08 00 -T F3 07 00 00 -R 00 00 01 00 -T F3 07 00 00 -R 00 00 01 00 -T F3 07 00 00 DD 4E F7 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 08 00 -T FC 07 00 00 7E E6 10 28 22 -R 00 00 01 00 -T 01 08 00 00 -R 00 00 01 00 -T 01 08 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 -T 09 08 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 02 00 02 0A 07 00 -T 10 08 00 00 75 F7 DD 74 F8 4D 44 21 00 00 CD -R 00 00 01 00 -T 1B 08 00 00 00 00 00 00 38 02 -R 00 00 01 00 02 04 0C 00 -T 1F 08 00 00 -R 00 00 01 00 -T 1F 08 00 00 18 44 -R 00 00 01 00 -T 21 08 00 00 -R 00 00 01 00 -T 21 08 00 00 18 D0 -R 00 00 01 00 -T 23 08 00 00 -R 00 00 01 00 -T 23 08 00 00 18 2A -R 00 00 01 00 -T 25 08 00 00 -R 00 00 01 00 -T 25 08 00 00 -R 00 00 01 00 -T 25 08 00 00 DD 6E 04 DD 66 05 4E 06 00 DD 6E -R 00 00 01 00 -T 30 08 00 00 F7 DD 66 F8 A7 ED 42 28 02 -R 00 00 01 00 -T 39 08 00 00 -R 00 00 01 00 -T 39 08 00 00 18 2A -R 00 00 01 00 -T 3B 08 00 00 -R 00 00 01 00 -T 3B 08 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 -T 43 08 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 02 00 02 0A 07 00 -T 4A 08 00 00 75 F7 DD 74 F8 -R 00 00 01 00 -T 4F 08 00 00 -R 00 00 01 00 -T 4F 08 00 00 -R 00 00 01 00 -T 4F 08 00 00 DD 6E 04 DD 66 05 23 DD 75 04 DD -R 00 00 01 00 -T 5A 08 00 00 74 05 7E B7 20 02 -R 00 00 01 00 -T 60 08 00 00 -R 00 00 01 00 -T 60 08 00 00 18 03 -R 00 00 01 00 -T 62 08 00 00 -R 00 00 01 00 -T 62 08 00 00 C3 34 00 00 00 -R 00 00 01 00 00 05 01 00 -T 65 08 00 00 -R 00 00 01 00 -T 65 08 00 00 -R 00 00 01 00 -T 65 08 00 00 DD 7E F7 DD A6 F8 3C 20 0D DD 7E -R 00 00 01 00 -T 70 08 00 00 FD DD B6 FE 20 05 -R 00 00 01 00 -T 76 08 00 00 -R 00 00 01 00 -T 76 08 00 00 -R 00 00 01 00 -T 76 08 00 00 -R 00 00 01 00 -T 76 08 00 00 21 FF FF 18 23 -R 00 00 01 00 -T 7B 08 00 00 -R 00 00 01 00 -T 7B 08 00 00 DD 7E F7 DD A6 F8 3C 28 14 -R 00 00 01 00 -T 84 08 00 00 -R 00 00 01 00 -T 84 08 00 00 DD 4E 02 DD 46 03 DD 5E F7 DD 56 -R 00 00 01 00 -T 8F 08 00 00 F8 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 01 00 02 0B 01 00 -T 95 08 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 07 00 -T 98 08 00 00 -R 00 00 01 00 -T 98 08 00 00 DD 6E FD DD 66 FE -R 00 00 01 00 -T 9E 08 00 00 -R 00 00 01 00 -T 9E 08 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 09 0A 0B 0C 0D 20 00 -R 00 00 02 00 -T 07 00 00 00 -R 00 00 02 00 -T 07 00 00 00 30 31 32 33 34 35 36 37 38 39 41 -R 00 00 02 00 -T 12 00 00 00 42 43 44 45 46 00 -R 00 00 02 00 diff --git a/lib/relcb/vprintf.rel b/lib/relcb/vprintf.rel deleted file mode 100644 index 0669e7f2..00000000 --- a/lib/relcb/vprintf.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S stdout Ref00000000 -S vfprintf Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S vprintf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 4B 42 11 -R 00 00 01 00 02 05 01 00 -T 07 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 03 00 2B 09 04 00 -T 0C 00 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 04 00 02 09 02 00 -T 13 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 diff --git a/lib/relcb/vscanf.rel b/lib/relcb/vscanf.rel deleted file mode 100644 index 44f7d6d9..00000000 --- a/lib/relcb/vscanf.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S stdin Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S vfscanf Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S vscanf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 4B 42 11 -R 00 00 01 00 02 05 02 00 -T 07 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 01 00 2B 09 04 00 -T 0C 00 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 04 00 02 09 03 00 -T 13 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 diff --git a/lib/relcb/vsprintf.rel b/lib/relcb/vsprintf.rel deleted file mode 100644 index 2e150cf1..00000000 --- a/lib/relcb/vsprintf.rel +++ /dev/null @@ -1,39 +0,0 @@ -XL4 -H 4 areas 7 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S vfprintf Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 35 flags 0 -S vsprintf Def00000000 -A IDATA0 size 18 flags 0 -A CDATA0 size 18 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 66 03 22 00 00 00 00 DD 6E 0A DD -R 00 00 01 00 00 07 02 00 -T 12 00 00 00 66 0B E5 11 00 00 00 00 3E -R 00 00 01 00 00 08 02 00 -T 19 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 1E 00 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 01 00 -T 27 00 00 00 2A 00 00 00 00 36 00 DD 6E FE DD -R 00 00 01 00 00 05 02 00 -T 30 00 00 00 66 FF C3 00 00 00 00 -R 00 00 01 00 02 07 00 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF -R 00 00 03 00 -T 0A 00 00 00 FF FF 20 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T 15 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcb/vsscanf.rel b/lib/relcb/vsscanf.rel deleted file mode 100644 index ee7df656..00000000 --- a/lib/relcb/vsscanf.rel +++ /dev/null @@ -1,35 +0,0 @@ -XL4 -H 4 areas 7 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S vfscanf Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1D flags 0 -S vsscanf Def00000000 -A IDATA0 size 18 flags 0 -A CDATA0 size 18 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 ED 53 00 00 00 00 -R 00 00 01 00 02 05 01 00 00 0B 02 00 -T 07 00 00 00 DD 6E 0A DD 66 0B E5 11 -R 00 00 01 00 -T 0F 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 2B 09 03 00 -T 14 00 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 03 00 02 09 02 00 -T 1B 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 FF FF 00 00 00 00 FF FF -R 00 00 03 00 -T 0A 00 00 00 FF FF 10 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T 15 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcb/xitoa.rel b/lib/relcb/xitoa.rel deleted file mode 100644 index f9996afc..00000000 --- a/lib/relcb/xitoa.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ltostr Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S _itoa Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 0A 00 E5 7A 07 -R 00 00 01 00 02 05 01 00 -T 09 00 00 00 9F 4F 41 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 03 00 -T 0F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 03 00 02 09 02 00 -T 16 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 diff --git a/lib/relcb/xltoa.rel b/lib/relcb/xltoa.rel deleted file mode 100644 index ddd9cac8..00000000 --- a/lib/relcb/xltoa.rel +++ /dev/null @@ -1,29 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ultostr Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ltostr Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S _ultoa Def00000000 -S _ltoa Def00000013 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 0A 00 E5 3E -R 00 00 01 00 02 05 02 00 -T 08 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 0D 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0A 00 00 -T 13 00 00 00 -R 00 00 01 00 -T 13 00 00 00 CD 00 00 00 00 21 0A 00 E5 3E -R 00 00 01 00 02 05 02 00 -T 1B 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 20 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0A 00 00 diff --git a/lib/relcl/abort.rel b/lib/relcl/abort.rel deleted file mode 100644 index 86ee90e6..00000000 --- a/lib/relcl/abort.rel +++ /dev/null @@ -1,30 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _exit Ref00000000 -S pause Ref00000000 -S kill Ref00000000 -S getpid Ref00000000 -S signal Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 44 flags 0 -S abort Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 21 00 00 E5 21 00 00 E5 11 -R 00 00 01 00 -T 0B 00 00 00 06 00 CD 00 00 00 00 F1 F1 CD -R 00 00 01 00 02 07 05 00 -T 13 00 00 00 00 00 00 00 4D 44 11 06 00 CD -R 00 00 01 00 02 04 04 00 -T 1B 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 03 00 02 09 02 00 -T 21 00 00 00 00 00 E5 21 00 00 E5 11 09 00 CD -R 00 00 01 00 -T 2C 00 00 00 00 00 00 00 F1 F1 CD 00 00 00 00 -R 00 00 01 00 02 04 05 00 02 0B 04 00 -T 33 00 00 00 4D 44 11 09 00 CD 00 00 00 00 11 -R 00 00 01 00 02 0A 03 00 -T 3C 00 00 00 FF 00 CD 00 00 00 00 D1 C1 C9 -R 00 00 01 00 02 07 01 00 diff --git a/lib/relcl/alloca.rel b/lib/relcl/alloca.rel deleted file mode 100644 index baa0c936..00000000 --- a/lib/relcl/alloca.rel +++ /dev/null @@ -1,93 +0,0 @@ -XL4 -H 4 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S free Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S malloc Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size C4 flags 0 -S alloca Def00000000 -A IDATA0 size 2 flags 0 -A CDATA0 size 2 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF 2A -R 00 00 01 00 02 05 03 00 -T 06 00 00 00 00 00 00 00 DD 75 FB DD 74 FC -R 00 00 01 00 00 04 02 00 -T 0E 00 00 00 -R 00 00 01 00 -T 0E 00 00 00 DD 7E FB DD B6 FC 28 44 -R 00 00 01 00 -T 16 00 00 00 -R 00 00 01 00 -T 16 00 00 00 21 00 00 39 4D 44 21 04 00 DD 5E -R 00 00 01 00 -T 21 00 00 00 FB DD 56 FC 19 56 23 66 6A A7 ED -R 00 00 01 00 -T 2C 00 00 00 42 30 27 -R 00 00 01 00 -T 2F 00 00 00 -R 00 00 01 00 -T 2F 00 00 00 DD 6E FB DD 66 FC 46 23 66 68 DD -R 00 00 01 00 -T 3A 00 00 00 75 FD DD 74 FE DD 5E FB DD 56 FC -R 00 00 01 00 -T 45 00 00 00 CD 00 00 00 00 DD 6E FD DD 66 FE -R 00 00 01 00 02 05 02 00 -T 4E 00 00 00 DD 75 FB DD 74 FC 18 02 -R 00 00 01 00 -T 56 00 00 00 -R 00 00 01 00 -T 56 00 00 00 18 02 -R 00 00 01 00 -T 58 00 00 00 -R 00 00 01 00 -T 58 00 00 00 18 B4 -R 00 00 01 00 -T 5A 00 00 00 -R 00 00 01 00 -T 5A 00 00 00 DD 6E FB DD 66 FC 22 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 63 00 00 00 DD 7E 02 DD B6 03 20 05 -R 00 00 01 00 -T 6B 00 00 00 -R 00 00 01 00 -T 6B 00 00 00 21 00 00 18 51 -R 00 00 01 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 EB -R 00 00 01 00 -T 7B 00 00 00 CD 00 00 00 00 DD 75 FB DD 74 FC -R 00 00 01 00 02 05 04 00 -T 84 00 00 00 7D B4 20 08 -R 00 00 01 00 -T 88 00 00 00 -R 00 00 01 00 -T 88 00 00 00 DD 6E FB DD 66 FC 18 31 -R 00 00 01 00 -T 90 00 00 00 -R 00 00 01 00 -T 90 00 00 00 2A 00 00 00 00 E5 DD 6E FB DD 66 -R 00 00 01 00 00 05 02 00 -T 99 00 00 00 FC C1 71 23 70 21 04 00 DD 4E FB -R 00 00 01 00 -T A4 00 00 00 DD 46 FC 09 E5 21 02 00 39 5D 54 -R 00 00 01 00 -T AF 00 00 00 E1 73 23 72 ED 43 00 00 00 00 21 -R 00 00 01 00 00 0A 02 00 -T B8 00 00 00 0C 00 DD 4E FB DD 46 FC 09 -R 00 00 01 00 -T C1 00 00 00 -R 00 00 01 00 -T C1 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcl/asctime.rel b/lib/relcl/asctime.rel deleted file mode 100644 index eace0f9f..00000000 --- a/lib/relcl/asctime.rel +++ /dev/null @@ -1,215 +0,0 @@ -XL4 -H 6 areas D global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S memcpy Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S strcpy Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?SS_MOD_L02 Ref00000000 -S ?SS_DIV_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24F flags 0 -S __asctime Def0000001C -S asctime Def00000231 -A CSTR size 1A flags 0 -A UDATA0 size 1A flags 0 -A IDATA0 size 3B flags 0 -A CDATA0 size 3B flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 01 0A 00 DD 5E 04 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 DD 56 05 CD 00 00 00 00 7B C6 30 -R 00 00 01 00 02 08 08 00 -T 12 00 00 00 DD 6E 02 DD 66 03 77 C3 -R 00 00 01 00 -T 1A 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 03 00 -T 1C 00 00 00 -R 00 00 01 00 -T 1C 00 00 00 CD 00 00 00 00 FE FF 01 -R 00 00 01 00 02 05 06 00 -T 22 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 CD -R 00 00 01 00 00 04 02 00 -T 2B 00 00 00 00 00 00 00 21 0C 00 DD 4E 04 DD -R 00 00 01 00 02 04 05 00 -T 34 00 00 00 46 05 09 23 CB 7E 20 3C 21 0C 00 -R 00 00 01 00 -T 3F 00 00 00 DD 4E 04 DD 46 05 09 4E 23 46 21 -R 00 00 01 00 -T 4A 00 00 00 06 00 CD 00 00 00 00 38 27 -R 00 00 01 00 02 07 07 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 21 03 00 E5 21 0C 00 DD 4E 04 DD -R 00 00 01 00 -T 5C 00 00 00 46 05 09 4E 23 46 11 03 00 CD -R 00 00 01 00 -T 66 00 00 00 00 00 00 00 21 00 00 00 00 19 4D -R 00 00 01 00 02 04 02 00 00 09 04 00 -T 6D 00 00 00 44 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 75 00 00 00 00 00 00 00 F1 -R 00 00 01 00 02 04 01 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 21 08 00 DD 4E 04 DD 46 05 09 23 -R 00 00 01 00 -T 83 00 00 00 CB 7E 20 41 21 08 00 DD 4E 04 DD -R 00 00 01 00 -T 8E 00 00 00 46 05 09 4E 23 46 21 0B 00 CD -R 00 00 01 00 -T 98 00 00 00 00 00 00 00 38 2C -R 00 00 01 00 02 04 07 00 -T 9C 00 00 00 -R 00 00 01 00 -T 9C 00 00 00 -R 00 00 01 00 -T 9C 00 00 00 -R 00 00 01 00 -T 9C 00 00 00 21 03 00 E5 21 08 00 DD 4E 04 DD -R 00 00 01 00 -T A7 00 00 00 46 05 09 4E 23 46 11 03 00 CD -R 00 00 01 00 -T B1 00 00 00 00 00 00 00 21 16 00 00 00 19 4D -R 00 00 01 00 02 04 02 00 00 09 04 00 -T B8 00 00 00 44 21 04 00 DD 5E 02 DD 56 03 19 -R 00 00 01 00 -T C3 00 00 00 EB CD 00 00 00 00 F1 -R 00 00 01 00 02 06 01 00 -T C8 00 00 00 -R 00 00 01 00 -T C8 00 00 00 21 0A 00 DD 4E 04 DD 46 05 09 56 -R 00 00 01 00 -T D3 00 00 00 23 66 6A 11 6C 07 19 DD 75 FE DD -R 00 00 01 00 -T DE 00 00 00 74 FF 21 06 00 09 5E 23 56 01 -R 00 00 01 00 -T E8 00 00 00 0A 00 CD 00 00 00 00 4B 42 21 -R 00 00 01 00 02 07 09 00 -T F0 00 00 00 08 00 DD 5E 02 DD 56 03 19 EB CD -R 00 00 01 00 -T FB 00 00 00 00 00 00 00 21 06 00 DD 4E 04 DD -R 00 00 01 00 00 04 01 00 -T 04 01 00 00 46 05 09 4E 23 46 21 09 00 DD 5E -R 00 00 01 00 -T 0F 01 00 00 02 DD 56 03 19 EB CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 18 01 00 00 21 04 00 DD 4E 04 DD 46 05 09 5E -R 00 00 01 00 -T 23 01 00 00 23 56 01 0A 00 CD 00 00 00 00 4B -R 00 00 01 00 02 0A 09 00 -T 2C 01 00 00 42 21 0B 00 DD 5E 02 DD 56 03 19 -R 00 00 01 00 -T 37 01 00 00 EB CD 00 00 00 00 21 04 00 DD 4E -R 00 00 01 00 00 06 01 00 -T 40 01 00 00 04 DD 46 05 09 4E 23 46 21 0C 00 -R 00 00 01 00 -T 4B 01 00 00 DD 5E 02 DD 56 03 19 EB CD -R 00 00 01 00 -T 54 01 00 00 00 00 00 00 DD 6E 04 DD 66 05 23 -R 00 00 01 00 00 04 01 00 -T 5D 01 00 00 23 5E 23 56 01 0A 00 CD -R 00 00 01 00 -T 65 01 00 00 00 00 00 00 4B 42 21 0E 00 DD 5E -R 00 00 01 00 02 04 09 00 -T 6E 01 00 00 02 DD 56 03 19 EB CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 77 01 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 -R 00 00 01 00 -T 82 01 00 00 21 0F 00 DD 5E 02 DD 56 03 19 EB -R 00 00 01 00 -T 8D 01 00 00 CD 00 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 00 05 01 00 -T 96 01 00 00 5E 23 56 01 0A 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 09 00 -T 9F 01 00 00 4B 42 21 11 00 DD 5E 02 DD 56 03 -R 00 00 01 00 -T AA 01 00 00 19 EB CD 00 00 00 00 DD 6E 04 DD -R 00 00 01 00 00 07 01 00 -T B3 01 00 00 66 05 4E 23 46 21 12 00 DD 5E 02 -R 00 00 01 00 -T BE 01 00 00 DD 56 03 19 EB CD 00 00 00 00 01 -R 00 00 01 00 00 0A 01 00 -T C7 01 00 00 E8 03 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T D0 01 00 00 00 00 00 00 4B 42 21 14 00 DD 5E -R 00 00 01 00 02 04 09 00 -T D9 01 00 00 02 DD 56 03 19 EB CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T E2 01 00 00 01 64 00 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T EC 01 00 00 00 00 00 00 4B 42 21 15 00 DD 5E -R 00 00 01 00 02 04 09 00 -T F5 01 00 00 02 DD 56 03 19 EB CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T FE 01 00 00 01 0A 00 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 08 02 00 00 00 00 00 00 4B 42 21 16 00 DD 5E -R 00 00 01 00 02 04 09 00 -T 11 02 00 00 02 DD 56 03 19 EB CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 1A 02 00 00 DD 4E FE DD 46 FF 21 17 00 DD 5E -R 00 00 01 00 -T 25 02 00 00 02 DD 56 03 19 EB CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 2E 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 31 02 00 00 -R 00 00 01 00 -T 31 02 00 00 CD 00 00 00 00 7B B2 20 05 -R 00 00 01 00 02 05 04 00 -T 38 02 00 00 -R 00 00 01 00 -T 38 02 00 00 21 00 00 18 0F -R 00 00 01 00 -T 3D 02 00 00 -R 00 00 01 00 -T 3D 02 00 00 DD 4E 02 DD 46 03 11 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 46 02 00 00 CD 1C 00 00 00 21 00 00 00 00 -R 00 00 01 00 00 05 01 00 00 0A 03 00 -T 4C 02 00 00 -R 00 00 01 00 -T 4C 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 45 72 72 20 45 72 72 20 2E 2E 20 -R 00 00 02 00 -T 0B 00 00 00 2E 2E 3A 2E 2E 3A 2E 2E 20 2E 2E -R 00 00 02 00 -T 16 00 00 00 2E 2E 0A 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 16 00 00 00 -R 00 00 04 00 -T 16 00 00 00 -R 00 00 04 00 -T 00 00 00 00 53 75 6E 4D 6F 6E 54 75 65 57 65 -R 00 00 05 00 -T 0B 00 00 00 64 54 68 75 46 72 69 53 61 74 00 -R 00 00 05 00 -T 16 00 00 00 4A 61 6E 46 65 62 4D 61 72 41 70 -R 00 00 05 00 -T 21 00 00 00 72 4D 61 79 4A 75 6E 4A 75 6C 41 -R 00 00 05 00 -T 2C 00 00 00 75 67 53 65 70 4F 63 74 4E 6F 76 -R 00 00 05 00 -T 37 00 00 00 44 65 63 00 -R 00 00 05 00 diff --git a/lib/relcl/assert.rel b/lib/relcl/assert.rel deleted file mode 100644 index 55fc4d62..00000000 --- a/lib/relcl/assert.rel +++ /dev/null @@ -1,59 +0,0 @@ -XL4 -H 3 areas A global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _write Ref00000000 -S _itoa Ref00000000 -S strlen Ref00000000 -S abort Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 53 flags 0 -S __assert Def00000017 -S __errput Def00000000 -A CSTR size 1D flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 06 00 02 0A 03 00 -T 07 00 00 00 DD 4E 02 DD 46 03 11 02 00 CD -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0A 05 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 CD 00 00 00 00 11 00 00 00 00 CD -R 00 00 01 00 02 05 06 00 00 0A 02 00 -T 1E 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 CD -R 00 00 01 00 00 04 01 00 -T 27 00 00 00 00 00 00 00 11 09 00 00 00 CD -R 00 00 01 00 00 04 01 00 00 09 02 00 -T 2D 00 00 00 00 00 00 00 59 50 CD 00 00 00 00 -R 00 00 01 00 00 04 01 00 00 0B 01 00 -T 34 00 00 00 11 12 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 02 00 00 0A 01 00 -T 3B 00 00 00 5E 08 DD 56 09 CD 00 00 00 00 EB -R 00 00 01 00 02 0A 02 00 -T 44 00 00 00 CD 00 00 00 00 11 1A 00 00 00 CD -R 00 00 01 00 00 05 01 00 00 0A 02 00 -T 4B 00 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 00 04 01 00 02 09 04 00 -T 51 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 05 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 46 61 69 6C 65 64 20 27 00 -R 00 00 02 00 -T 09 00 00 00 -R 00 00 02 00 -T 09 00 00 00 27 2C 20 66 69 6C 65 20 00 -R 00 00 02 00 -T 12 00 00 00 -R 00 00 02 00 -T 12 00 00 00 2C 20 6C 69 6E 65 20 00 -R 00 00 02 00 -T 1A 00 00 00 -R 00 00 02 00 -T 1A 00 00 00 2E 0A 00 -R 00 00 02 00 diff --git a/lib/relcl/atexit.rel b/lib/relcl/atexit.rel deleted file mode 100644 index 36f3da8e..00000000 --- a/lib/relcl/atexit.rel +++ /dev/null @@ -1,115 +0,0 @@ -XL4 -H 5 areas C global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S errno Ref00000000 -S __cleanup Ref00000000 -S ?CALL_IND_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size D5 flags 0 -S atexit Def000000C9 -S on_exit Def00000067 -A UDATA0 size 28 flags 0 -S __on_exit_table Def00000000 -A IDATA0 size 2 flags 0 -S __on_exit_count Def00000000 -A CDATA0 size 2 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 2A -R 00 00 01 00 02 05 06 00 -T 06 00 00 00 00 00 00 00 2B DD 75 FC DD 74 FD -R 00 00 01 00 00 04 03 00 -T 0F 00 00 00 21 FF FF 22 00 00 00 00 21 00 00 -R 00 00 01 00 00 08 03 00 -T 18 00 00 00 22 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 DD CB FD 7E 20 43 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 DD 6E FC DD 66 FD 29 29 01 -R 00 00 01 00 -T 2A 00 00 00 00 00 00 00 09 46 23 66 68 DD 75 -R 00 00 01 00 00 04 02 00 -T 33 00 00 00 FE DD 74 FF DD 6E FC DD 66 FD 29 -R 00 00 01 00 -T 3E 00 00 00 29 01 02 00 00 00 09 4E 23 46 DD -R 00 00 01 00 00 06 02 00 -T 47 00 00 00 5E 02 DD 56 03 DD 6E FE DD 66 FF -R 00 00 01 00 -T 52 00 00 00 CD 00 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 02 05 05 00 -T 5B 00 00 00 2B DD 75 FC DD 74 FD 18 B7 -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 67 00 00 00 -R 00 00 01 00 -T 67 00 00 00 CD 00 00 00 00 2A 00 00 00 00 CB -R 00 00 01 00 02 05 02 00 00 0A 03 00 -T 6E 00 00 00 7C 20 0E 01 0A 80 2A 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 77 00 00 00 3E 80 AC 67 ED 42 38 0B -R 00 00 01 00 -T 7F 00 00 00 -R 00 00 01 00 -T 7F 00 00 00 -R 00 00 01 00 -T 7F 00 00 00 -R 00 00 01 00 -T 7F 00 00 00 21 0C 00 22 00 00 00 00 21 FF FF -R 00 00 01 00 02 08 03 00 -T 88 00 00 00 18 3C -R 00 00 01 00 -T 8A 00 00 00 -R 00 00 01 00 -T 8A 00 00 00 21 00 00 00 00 22 00 00 00 00 DD -R 00 00 01 00 00 05 01 00 02 0A 04 00 -T 91 00 00 00 7E 02 DD B6 03 28 2B -R 00 00 01 00 -T 98 00 00 00 -R 00 00 01 00 -T 98 00 00 00 2A 00 00 00 00 29 29 01 -R 00 00 01 00 00 05 03 00 -T 9E 00 00 00 00 00 00 00 09 DD 4E 02 DD 46 03 -R 00 00 01 00 00 04 02 00 -T A7 00 00 00 71 23 70 2A 00 00 00 00 29 29 01 -R 00 00 01 00 00 08 03 00 -T B0 00 00 00 02 00 00 00 09 DD 4E 04 DD 46 05 -R 00 00 01 00 00 04 02 00 -T B9 00 00 00 71 23 70 2A 00 00 00 00 23 22 -R 00 00 01 00 00 08 03 00 -T C1 00 00 00 00 00 00 00 -R 00 00 01 00 00 04 03 00 -T C3 00 00 00 -R 00 00 01 00 -T C3 00 00 00 21 00 00 -R 00 00 01 00 -T C6 00 00 00 -R 00 00 01 00 -T C6 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T C9 00 00 00 -R 00 00 01 00 -T C9 00 00 00 CD 00 00 00 00 01 00 00 CD -R 00 00 01 00 02 05 02 00 -T D0 00 00 00 67 00 00 00 C3 00 00 00 00 -R 00 00 01 00 00 04 01 00 02 09 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 00 00 -R 00 00 04 00 diff --git a/lib/relcl/atoi.rel b/lib/relcl/atoi.rel deleted file mode 100644 index d0ab43c5..00000000 --- a/lib/relcl/atoi.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S strtol Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S atoi Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 0A 00 E5 01 -R 00 00 01 00 02 05 02 00 -T 08 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 07 03 00 -T 0F 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relcl/atol.rel b/lib/relcl/atol.rel deleted file mode 100644 index bd43124f..00000000 --- a/lib/relcl/atol.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_32_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S strtol Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S atol Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 0A 00 E5 01 -R 00 00 01 00 02 05 02 00 -T 08 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 07 03 00 -T 0F 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relcl/bsearch.rel b/lib/relcl/bsearch.rel deleted file mode 100644 index 0bc56cc1..00000000 --- a/lib/relcl/bsearch.rel +++ /dev/null @@ -1,94 +0,0 @@ -XL4 -H 3 areas 9 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?CALL_IND_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size D1 flags 0 -S bsearch Def00000000 -A UDATA0 size 2 flags 0 -S _bsearch Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF AF DD 77 F8 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 DD 77 F9 21 FF FF DD 5E 08 DD 56 -R 00 00 01 00 -T 14 00 00 00 09 19 DD 75 FA DD 74 FB -R 00 00 01 00 -T 1C 00 00 00 -R 00 00 01 00 -T 1C 00 00 00 DD 4E F8 DD 46 F9 DD 6E FA DD 66 -R 00 00 01 00 -T 27 00 00 00 FB CD 00 00 00 00 DA C2 00 00 00 -R 00 00 01 00 02 06 05 00 00 0B 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 DD 6E FA DD 66 FB DD 4E F8 DD 46 -R 00 00 01 00 -T 39 00 00 00 F9 09 CB 2C CB 1D DD 75 FC DD 74 -R 00 00 01 00 -T 44 00 00 00 FD DD 4E 02 DD 46 03 C5 EB DD 4E -R 00 00 01 00 -T 4F 00 00 00 0A DD 46 0B CD 00 00 00 00 DD 6E -R 00 00 01 00 02 09 01 00 -T 58 00 00 00 04 DD 66 05 19 EB DD 6E 0C DD 66 -R 00 00 01 00 -T 63 00 00 00 0D C1 CD 00 00 00 00 DD 75 FE DD -R 00 00 01 00 02 07 03 00 -T 6C 00 00 00 74 FF 7D B4 28 2C -R 00 00 01 00 -T 72 00 00 00 -R 00 00 01 00 -T 72 00 00 00 DD 4E FE DD 46 FF 21 00 00 CD -R 00 00 01 00 -T 7C 00 00 00 00 00 00 00 30 0F -R 00 00 01 00 02 04 05 00 -T 80 00 00 00 -R 00 00 01 00 -T 80 00 00 00 DD 6E FC DD 66 FD 2B DD 75 FA DD -R 00 00 01 00 -T 8B 00 00 00 74 FB 18 0D -R 00 00 01 00 -T 8F 00 00 00 -R 00 00 01 00 -T 8F 00 00 00 DD 6E FC DD 66 FD 23 DD 75 F8 DD -R 00 00 01 00 -T 9A 00 00 00 74 F9 -R 00 00 01 00 -T 9C 00 00 00 -R 00 00 01 00 -T 9C 00 00 00 18 21 -R 00 00 01 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 DD 6E FC DD 66 FD 22 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T A7 00 00 00 DD 4E 0A DD 46 0B DD 5E FC DD 56 -R 00 00 01 00 -T B2 00 00 00 FD CD 00 00 00 00 DD 6E 04 DD 66 -R 00 00 01 00 02 06 01 00 -T BB 00 00 00 05 19 18 0F -R 00 00 01 00 -T BF 00 00 00 -R 00 00 01 00 -T BF 00 00 00 C3 1C 00 00 00 -R 00 00 01 00 00 05 01 00 -T C2 00 00 00 -R 00 00 01 00 -T C2 00 00 00 DD 6E FA DD 66 FB 22 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T CB 00 00 00 21 00 00 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 diff --git a/lib/relcl/calloc.rel b/lib/relcl/calloc.rel deleted file mode 100644 index 4f0411d7..00000000 --- a/lib/relcl/calloc.rel +++ /dev/null @@ -1,32 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S memset Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S malloc Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3E flags 0 -S calloc Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 5E 02 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 56 03 CD 00 00 00 00 DD 73 FC DD -R 00 00 01 00 02 07 02 00 -T 12 00 00 00 72 FD CD 00 00 00 00 DD 75 FE DD -R 00 00 01 00 02 07 05 00 -T 1B 00 00 00 74 FF 7D B4 28 14 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 DD 6E FC DD 66 FD E5 01 00 00 DD -R 00 00 01 00 -T 2C 00 00 00 5E FE DD 56 FF CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 01 00 -T 35 00 00 00 -R 00 00 01 00 -T 35 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 03 00 diff --git a/lib/relcl/clock.rel b/lib/relcl/clock.rel deleted file mode 100644 index d414bae9..00000000 --- a/lib/relcl/clock.rel +++ /dev/null @@ -1,23 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_32_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S times Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2D flags 0 -S clock Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 EC FF 21 00 00 39 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 5D 54 CD 00 00 00 00 DD 4E EE DD -R 00 00 01 00 02 07 03 00 -T 12 00 00 00 46 EF 11 12 00 CD 00 00 00 00 01 -R 00 00 01 00 02 0A 02 00 -T 1B 00 00 00 3C 00 CD 00 00 00 00 DD 6E EC DD -R 00 00 01 00 02 07 02 00 -T 24 00 00 00 66 ED 19 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 0B 01 00 diff --git a/lib/relcl/closedir.rel b/lib/relcl/closedir.rel deleted file mode 100644 index 03c8563d..00000000 --- a/lib/relcl/closedir.rel +++ /dev/null @@ -1,50 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S close Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S free Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S errno Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 67 flags 0 -S closedir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 7B B2 28 1A 21 -R 00 00 01 00 02 05 04 00 -T 08 00 00 00 06 00 DD 4E 02 DD 46 03 09 7E 23 -R 00 00 01 00 -T 13 00 00 00 B6 28 0B DD 6E 02 DD 66 03 7E 23 -R 00 00 01 00 -T 1E 00 00 00 B6 20 0B -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 21 0E 00 22 00 00 00 00 21 FF FF -R 00 00 01 00 02 08 05 00 -T 2A 00 00 00 18 38 -R 00 00 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 DD 6E 02 DD 66 03 5E 23 56 CD -R 00 00 01 00 -T 36 00 00 00 00 00 00 00 21 06 00 DD 4E 02 DD -R 00 00 01 00 02 04 01 00 -T 3F 00 00 00 46 03 09 5E 23 56 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 48 00 00 00 69 60 AF 77 23 77 21 06 00 DD 4E -R 00 00 01 00 -T 53 00 00 00 02 DD 46 03 09 AF 77 23 77 59 50 -R 00 00 01 00 -T 5E 00 00 00 CD 00 00 00 00 21 00 00 -R 00 00 01 00 02 05 03 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcl/convtime.rel b/lib/relcl/convtime.rel deleted file mode 100644 index 23c600c6..00000000 --- a/lib/relcl/convtime.rel +++ /dev/null @@ -1,191 +0,0 @@ -XL4 -H 4 areas 9 global symbols -S ?US_RSH_L02 Ref00000000 -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_32_L09 Ref00000000 -S ?L_MUL_L03 Ref00000000 -S timezone Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?L_SUBASG_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2CE flags 0 -S convtime Def00000000 -A IDATA0 size 18 flags 0 -A CDATA0 size 18 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D6 FF DD 6E 02 DD -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 66 03 23 23 7E E6 00 5F 23 7E E6 -R 00 00 01 00 -T 14 00 00 00 FE 57 06 09 CD 00 00 00 00 21 -R 00 00 01 00 02 09 00 00 -T 1C 00 00 00 BC 07 19 DD 75 D6 DD 74 D7 01 -R 00 00 01 00 -T 26 00 00 00 B4 07 A7 ED 42 30 0C -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 21 00 00 39 7E C6 64 77 30 02 23 -R 00 00 01 00 -T 38 00 00 00 34 -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 DD 6E 02 DD 66 03 23 23 7E E6 E0 -R 00 00 01 00 -T 44 00 00 00 5F 23 7E E6 01 57 06 05 CD -R 00 00 01 00 -T 4D 00 00 00 00 00 00 00 DD 73 D8 DD 72 D9 DD -R 00 00 01 00 02 04 00 00 -T 56 00 00 00 6E 02 DD 66 03 23 23 7E E6 1F 4F -R 00 00 01 00 -T 61 00 00 00 23 7E E6 00 47 DD 71 DA DD 70 DB -R 00 00 01 00 -T 6C 00 00 00 DD 6E 02 DD 66 03 7E E6 00 5F 23 -R 00 00 01 00 -T 77 00 00 00 7E E6 F8 57 06 0B CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 80 00 00 00 DD 73 DC DD 72 DD DD 6E 02 DD 66 -R 00 00 01 00 -T 8B 00 00 00 03 7E E6 E0 5F 23 7E E6 07 57 06 -R 00 00 01 00 -T 96 00 00 00 05 CD 00 00 00 00 DD 73 DE DD 72 -R 00 00 01 00 02 06 00 00 -T 9F 00 00 00 DF DD 6E 02 DD 66 03 7E E6 1F 4F -R 00 00 01 00 -T AA 00 00 00 23 7E E6 00 47 69 60 29 DD 75 E0 -R 00 00 01 00 -T B5 00 00 00 DD 74 E1 21 4E F8 DD 4E D6 DD 46 -R 00 00 01 00 -T C0 00 00 00 D7 09 DD 75 D6 DD 74 D7 CB 3C CB -R 00 00 01 00 -T CB 00 00 00 1D CB 3C CB 1D DD 75 E2 DD 74 E3 -R 00 00 01 00 -T D6 00 00 00 EB 01 00 00 C5 D5 01 00 00 21 -R 00 00 01 00 -T E0 00 00 00 18 00 CD 00 00 00 00 C5 E5 01 -R 00 00 01 00 02 07 03 00 -T E8 00 00 00 00 00 21 3C 00 CD 00 00 00 00 C5 -R 00 00 01 00 02 0A 03 00 -T F1 00 00 00 E5 01 00 00 21 3C 00 CD -R 00 00 01 00 -T F9 00 00 00 00 00 00 00 DD 75 FC DD 74 FD DD -R 00 00 01 00 02 04 03 00 -T 02 01 00 00 71 FE DD 70 FF DD 7E D6 E6 03 47 -R 00 00 01 00 -T 0D 01 00 00 DD 7E D7 E6 00 B0 20 1B 01 03 00 -R 00 00 01 00 -T 18 01 00 00 DD 6E D8 DD 66 D9 A7 ED 42 30 0D -R 00 00 01 00 -T 23 01 00 00 -R 00 00 01 00 -T 23 01 00 00 -R 00 00 01 00 -T 23 01 00 00 -R 00 00 01 00 -T 23 01 00 00 21 26 00 39 01 01 00 11 80 51 CD -R 00 00 01 00 -T 2E 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 06 00 -T 30 01 00 00 -R 00 00 01 00 -T 30 01 00 00 DD 6E D6 DD 66 D7 01 00 00 C5 E5 -R 00 00 01 00 -T 3B 01 00 00 01 00 00 21 6D 01 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 44 01 00 00 C5 E5 01 00 00 21 18 00 CD -R 00 00 01 00 -T 4D 01 00 00 00 00 00 00 C5 E5 01 00 00 21 -R 00 00 01 00 02 04 03 00 -T 55 01 00 00 3C 00 CD 00 00 00 00 C5 E5 01 -R 00 00 01 00 02 07 03 00 -T 5D 01 00 00 00 00 21 3C 00 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 03 00 -T 66 01 00 00 75 E8 DD 74 E9 DD 71 EA DD 70 EB -R 00 00 01 00 -T 71 01 00 00 DD 6E D8 DD 66 D9 29 01 -R 00 00 01 00 -T 79 01 00 00 FE FF FF FF 09 46 23 66 68 DD 75 -R 00 00 01 00 00 04 02 00 -T 82 01 00 00 D8 DD 74 D9 EB 01 00 00 C5 D5 01 -R 00 00 01 00 -T 8D 01 00 00 00 00 21 18 00 CD 00 00 00 00 C5 -R 00 00 01 00 02 0A 03 00 -T 96 01 00 00 E5 01 00 00 21 3C 00 CD -R 00 00 01 00 -T 9E 01 00 00 00 00 00 00 C5 E5 01 00 00 21 -R 00 00 01 00 02 04 03 00 -T A6 01 00 00 3C 00 CD 00 00 00 00 DD 75 EC DD -R 00 00 01 00 02 07 03 00 -T AF 01 00 00 74 ED DD 71 EE DD 70 EF DD 5E DA -R 00 00 01 00 -T BA 01 00 00 DD 56 DB 01 00 00 C5 D5 01 00 00 -R 00 00 01 00 -T C5 01 00 00 21 18 00 CD 00 00 00 00 C5 E5 01 -R 00 00 01 00 02 08 03 00 -T CE 01 00 00 00 00 21 3C 00 CD 00 00 00 00 C5 -R 00 00 01 00 02 0A 03 00 -T D7 01 00 00 E5 01 00 00 21 3C 00 CD -R 00 00 01 00 -T DF 01 00 00 00 00 00 00 DD 75 F0 DD 74 F1 DD -R 00 00 01 00 02 04 03 00 -T E8 01 00 00 71 F2 DD 70 F3 DD 5E DC DD 56 DD -R 00 00 01 00 -T F3 01 00 00 01 00 00 C5 D5 01 00 00 21 3C 00 -R 00 00 01 00 -T FE 01 00 00 CD 00 00 00 00 C5 E5 01 00 00 21 -R 00 00 01 00 02 05 03 00 -T 07 02 00 00 3C 00 CD 00 00 00 00 DD 75 F4 DD -R 00 00 01 00 02 07 03 00 -T 10 02 00 00 74 F5 DD 71 F6 DD 70 F7 DD 5E DE -R 00 00 01 00 -T 1B 02 00 00 DD 56 DF 01 00 00 C5 D5 01 00 00 -R 00 00 01 00 -T 26 02 00 00 21 3C 00 CD 00 00 00 00 DD 75 F8 -R 00 00 01 00 02 08 03 00 -T 2F 02 00 00 DD 74 F9 DD 71 FA DD 70 FB C5 E5 -R 00 00 01 00 -T 3A 02 00 00 DD 6E E0 DD 66 E1 01 00 00 C5 E5 -R 00 00 01 00 -T 45 02 00 00 DD 6E FC DD 66 FD C1 09 EB DD 6E -R 00 00 01 00 -T 50 02 00 00 FE DD 66 FF C1 ED 4A E5 D5 DD 6E -R 00 00 01 00 -T 5B 02 00 00 E8 DD 66 E9 C1 09 EB DD 6E EA DD -R 00 00 01 00 -T 66 02 00 00 66 EB C1 ED 4A E5 D5 DD 6E EC DD -R 00 00 01 00 -T 71 02 00 00 66 ED C1 09 EB DD 6E EE DD 66 EF -R 00 00 01 00 -T 7C 02 00 00 C1 ED 4A E5 D5 DD 6E F0 DD 66 F1 -R 00 00 01 00 -T 87 02 00 00 C1 09 EB DD 6E F2 DD 66 F3 C1 ED -R 00 00 01 00 -T 92 02 00 00 4A E5 D5 DD 6E F4 DD 66 F5 C1 09 -R 00 00 01 00 -T 9D 02 00 00 EB DD 6E F6 DD 66 F7 C1 ED 4A EB -R 00 00 01 00 -T A8 02 00 00 C1 09 EB C1 ED 4A E5 D5 2A -R 00 00 01 00 -T B1 02 00 00 00 00 00 00 C1 09 EB 2A -R 00 00 01 00 02 04 04 00 -T B7 02 00 00 02 00 00 00 C1 ED 4A 4D 44 EB DD -R 00 00 01 00 02 04 04 00 -T C0 02 00 00 75 E4 DD 74 E5 DD 71 E6 DD 70 E7 -R 00 00 01 00 -T CB 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 1F 00 3B 00 5A 00 78 00 -R 00 00 03 00 -T 0A 00 00 00 97 00 B5 00 D4 00 F3 00 11 01 -R 00 00 03 00 -T 14 00 00 00 30 01 4E 01 -R 00 00 03 00 diff --git a/lib/relcl/crypt.rel b/lib/relcl/crypt.rel deleted file mode 100644 index 688daaec..00000000 --- a/lib/relcl/crypt.rel +++ /dev/null @@ -1,222 +0,0 @@ -XL4 -H 3 areas D global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S memset Ref00000000 -S memcpy Ref00000000 -S ?L_XOR_L03 Ref00000000 -S ?L_ORASG_L03 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?L_ADDASG_L03 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?UL_RSHASG_L03 Ref00000000 -S ?UL_RSH_L03 Ref00000000 -S .__.ABS. Def00000000 -S ?L_LSH_L03 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 29E flags 0 -S crypt Def00000000 -A UDATA0 size 10 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DC FF DD 36 F8 B9 -R 00 00 01 00 02 05 07 00 -T 09 00 00 00 DD 36 F9 79 DD 36 FA 37 DD 36 FB -R 00 00 01 00 -T 14 00 00 00 9E 21 10 00 E5 01 00 00 11 -R 00 00 01 00 -T 1D 00 00 00 00 00 00 00 CD 00 00 00 00 F1 21 -R 00 00 01 00 00 04 02 00 02 09 01 00 -T 24 00 00 00 02 00 E5 DD 4E 04 DD 46 05 11 -R 00 00 01 00 -T 2E 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 00 04 02 00 02 09 02 00 -T 35 00 00 00 36 FE 00 -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 DD 7E FE FE 0E 30 2E DD 4E FE 06 -R 00 00 01 00 -T 43 00 00 00 00 DD 6E 02 DD 66 03 09 7E B7 28 -R 00 00 01 00 -T 4E 00 00 00 1E -R 00 00 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 21 02 00 00 00 DD 4E FE 06 00 09 -R 00 00 01 00 00 05 02 00 -T 58 00 00 00 E5 DD 4E FE 06 00 DD 6E 02 DD 66 -R 00 00 01 00 -T 63 00 00 00 03 09 46 E1 70 DD 34 FE 18 CB -R 00 00 01 00 -T 6D 00 00 00 -R 00 00 01 00 -T 6D 00 00 00 -R 00 00 01 00 -T 6D 00 00 00 DD 4E FE 06 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 78 00 00 00 09 7E B7 28 18 -R 00 00 01 00 -T 7D 00 00 00 -R 00 00 01 00 -T 7D 00 00 00 DD 4E FE 06 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 88 00 00 00 09 3A 02 00 00 00 86 32 -R 00 00 01 00 00 06 02 00 -T 8E 00 00 00 02 00 00 00 DD 34 FE 18 D8 -R 00 00 01 00 00 04 02 00 -T 95 00 00 00 -R 00 00 01 00 -T 95 00 00 00 21 10 00 E5 01 00 00 00 00 21 -R 00 00 01 00 00 09 02 00 -T 9D 00 00 00 0A 00 39 5D 54 CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 02 00 -T A6 00 00 00 AF DD 77 F4 DD 77 F5 DD 77 F6 DD -R 00 00 01 00 -T B1 00 00 00 77 F7 AF DD 77 E0 DD 77 E1 DD 77 -R 00 00 01 00 -T BC 00 00 00 E2 DD 77 E3 AF DD 77 DC DD 77 DD -R 00 00 01 00 -T C7 00 00 00 DD 77 DE DD 77 DF DD 36 FE 40 -R 00 00 01 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 AF DD B6 FE CA F3 01 00 00 -R 00 00 01 00 00 09 01 00 -T D8 00 00 00 -R 00 00 01 00 -T D8 00 00 00 21 18 00 39 DD 4E FA DD 46 FB DD -R 00 00 01 00 -T E3 00 00 00 5E F8 DD 56 F9 CD 00 00 00 00 21 -R 00 00 01 00 02 0A 06 00 -T EC 00 00 00 00 00 39 E5 21 06 00 39 5E 23 56 -R 00 00 01 00 -T F7 00 00 00 23 4E 23 46 EB 3E 05 CD -R 00 00 01 00 -T FF 00 00 00 00 00 00 00 C5 E5 DD 6E E8 DD 66 -R 00 00 01 00 02 04 09 00 -T 08 01 00 00 E9 C1 09 EB DD 6E EA DD 66 EB C1 -R 00 00 01 00 -T 13 01 00 00 ED 4A E5 D5 DD 6E E2 DD 66 E3 E5 -R 00 00 01 00 -T 1E 01 00 00 DD 6E E0 DD 66 E1 E5 DD 6E F4 DD -R 00 00 01 00 -T 29 01 00 00 66 F5 C1 09 EB DD 6E F6 DD 66 F7 -R 00 00 01 00 -T 34 01 00 00 C1 ED 4A E5 D5 21 0E 00 39 5E 23 -R 00 00 01 00 -T 3F 01 00 00 56 23 4E 23 46 EB 3E 04 CD -R 00 00 01 00 -T 48 01 00 00 00 00 00 00 C5 E5 DD 6E E4 DD 66 -R 00 00 01 00 02 04 0B 00 -T 51 01 00 00 E5 C1 09 EB DD 6E E6 DD 66 E7 C1 -R 00 00 01 00 -T 5C 01 00 00 ED 4A 4D 44 EB CD 00 00 00 00 CD -R 00 00 01 00 02 0A 03 00 -T 65 01 00 00 00 00 00 00 EB E1 CD 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0B 06 00 -T 6C 01 00 00 21 04 00 39 E5 21 02 00 39 5E 23 -R 00 00 01 00 -T 77 01 00 00 56 23 4E 23 46 EB 3E 05 CD -R 00 00 01 00 -T 80 01 00 00 00 00 00 00 C5 E5 DD 6E F0 DD 66 -R 00 00 01 00 02 04 09 00 -T 89 01 00 00 F1 C1 09 EB DD 6E F2 DD 66 F3 C1 -R 00 00 01 00 -T 94 01 00 00 ED 4A E5 D5 DD 6E DE DD 66 DF E5 -R 00 00 01 00 -T 9F 01 00 00 DD 6E DC DD 66 DD E5 DD 6E F4 DD -R 00 00 01 00 -T AA 01 00 00 66 F5 C1 09 EB DD 6E F6 DD 66 F7 -R 00 00 01 00 -T B5 01 00 00 C1 ED 4A E5 D5 21 0A 00 39 5E 23 -R 00 00 01 00 -T C0 01 00 00 56 23 4E 23 46 EB 3E 04 CD -R 00 00 01 00 -T C9 01 00 00 00 00 00 00 C5 E5 DD 6E EC DD 66 -R 00 00 01 00 02 04 0B 00 -T D2 01 00 00 ED C1 09 EB DD 6E EE DD 66 EF C1 -R 00 00 01 00 -T DD 01 00 00 ED 4A 4D 44 EB CD 00 00 00 00 CD -R 00 00 01 00 02 0A 03 00 -T E6 01 00 00 00 00 00 00 EB E1 CD 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0B 06 00 -T ED 01 00 00 DD 35 FE C3 D1 00 00 00 -R 00 00 01 00 00 08 01 00 -T F3 01 00 00 -R 00 00 01 00 -T F3 01 00 00 21 00 00 39 DD 75 FC DD 74 FD DD -R 00 00 01 00 -T FE 01 00 00 36 FE 02 -R 00 00 01 00 -T 01 02 00 00 -R 00 00 01 00 -T 01 02 00 00 DD 7E FE FE 0D D2 94 02 00 00 -R 00 00 01 00 00 0A 01 00 -T 09 02 00 00 -R 00 00 01 00 -T 09 02 00 00 DD 7E FE FE 08 20 28 -R 00 00 01 00 -T 10 02 00 00 -R 00 00 01 00 -T 10 02 00 00 21 00 00 39 E5 21 06 00 39 5E 23 -R 00 00 01 00 -T 1B 02 00 00 56 23 4E 23 46 EB 3E 1C CD -R 00 00 01 00 -T 24 02 00 00 00 00 00 00 EB E1 CD 00 00 00 00 -R 00 00 01 00 02 04 09 00 02 0B 04 00 -T 2B 02 00 00 DD 7E FC C6 04 DD 77 FC 30 03 DD -R 00 00 01 00 -T 36 02 00 00 34 FD -R 00 00 01 00 -T 38 02 00 00 -R 00 00 01 00 -T 38 02 00 00 -R 00 00 01 00 -T 38 02 00 00 DD 6E FC DD 66 FD 5E 23 56 23 4E -R 00 00 01 00 -T 43 02 00 00 23 46 EB 7D E6 3F DD 77 FF 3E 06 -R 00 00 01 00 -T 4E 02 00 00 DD 6E FC DD 66 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T 57 02 00 00 DD 7E FF FE 0C 30 0A -R 00 00 01 00 -T 5E 02 00 00 -R 00 00 01 00 -T 5E 02 00 00 DD 7E FF C6 2E DD 77 FF 18 19 -R 00 00 01 00 -T 68 02 00 00 -R 00 00 01 00 -T 68 02 00 00 DD 7E FF FE 26 30 0A -R 00 00 01 00 -T 6F 02 00 00 -R 00 00 01 00 -T 6F 02 00 00 DD 7E FF C6 35 DD 77 FF 18 08 -R 00 00 01 00 -T 79 02 00 00 -R 00 00 01 00 -T 79 02 00 00 DD 7E FF C6 3B DD 77 FF -R 00 00 01 00 -T 81 02 00 00 -R 00 00 01 00 -T 81 02 00 00 -R 00 00 01 00 -T 81 02 00 00 DD 4E FE 06 00 21 00 00 00 00 09 -R 00 00 01 00 00 0A 02 00 -T 8A 02 00 00 DD 46 FF 70 DD 34 FE C3 -R 00 00 01 00 -T 92 02 00 00 01 02 00 00 -R 00 00 01 00 00 04 01 00 -T 94 02 00 00 -R 00 00 01 00 -T 94 02 00 00 AF 32 0D 00 00 00 21 00 00 00 00 -R 00 00 01 00 00 06 02 00 00 0B 02 00 -T 9B 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 diff --git a/lib/relcl/ctime.rel b/lib/relcl/ctime.rel deleted file mode 100644 index a01eaddb..00000000 --- a/lib/relcl/ctime.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S asctime Ref00000000 -S localtime Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size D flags 0 -S ctime Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 02 00 02 0A 04 00 -T 07 00 00 00 CD 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 02 0A 01 00 diff --git a/lib/relcl/ctype.rel b/lib/relcl/ctype.rel deleted file mode 100644 index c09e515e..00000000 --- a/lib/relcl/ctype.rel +++ /dev/null @@ -1,101 +0,0 @@ -XL4 -H 4 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4A flags 0 -S tolower Def00000025 -S toupper Def00000000 -A IDATA0 size 100 flags 0 -S __ctype Def00000000 -A CDATA0 size 100 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 16 00 21 -R 00 00 01 00 02 05 02 00 -T 06 00 00 00 00 00 00 00 19 7E E6 04 28 0E DD -R 00 00 01 00 00 04 02 00 -T 0F 00 00 00 7E 02 EE 20 6F DD 7E 03 EE 00 67 -R 00 00 01 00 -T 1A 00 00 00 18 06 -R 00 00 01 00 -T 1C 00 00 00 -R 00 00 01 00 -T 1C 00 00 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 CD 00 00 00 00 16 00 21 -R 00 00 01 00 02 05 02 00 -T 2B 00 00 00 00 00 00 00 19 7E E6 02 28 0E DD -R 00 00 01 00 00 04 02 00 -T 34 00 00 00 7E 02 EE 20 6F DD 7E 03 EE 00 67 -R 00 00 01 00 -T 3F 00 00 00 18 06 -R 00 00 01 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 01 01 01 01 01 01 01 01 01 11 11 -R 00 00 03 00 -T 0B 00 00 00 11 11 11 01 01 01 01 01 01 01 01 -R 00 00 03 00 -T 16 00 00 00 01 01 01 01 01 01 01 01 01 01 10 -R 00 00 03 00 -T 21 00 00 00 20 20 20 20 20 20 20 20 20 20 20 -R 00 00 03 00 -T 2C 00 00 00 20 20 20 20 48 48 48 48 48 48 48 -R 00 00 03 00 -T 37 00 00 00 48 48 48 20 20 20 20 20 20 20 42 -R 00 00 03 00 -T 42 00 00 00 42 42 42 42 42 02 02 02 02 02 02 -R 00 00 03 00 -T 4D 00 00 00 02 02 02 02 02 02 02 02 02 02 02 -R 00 00 03 00 -T 58 00 00 00 02 02 02 20 20 20 20 20 20 44 44 -R 00 00 03 00 -T 63 00 00 00 44 44 44 44 04 04 04 04 04 04 04 -R 00 00 03 00 -T 6E 00 00 00 04 04 04 04 04 04 04 04 04 04 04 -R 00 00 03 00 -T 79 00 00 00 04 04 20 20 20 20 01 00 00 00 00 -R 00 00 03 00 -T 84 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T 8F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T 9A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T A5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T BB 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T C6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T D1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T DC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T E7 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T F2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T FD 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcl/difftime.rel b/lib/relcl/difftime.rel deleted file mode 100644 index 54e441a9..00000000 --- a/lib/relcl/difftime.rel +++ /dev/null @@ -1,80 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_32_L09 Ref00000000 -S ?L_MUL_L03 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S __tm_conv Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 148 flags 0 -S difftime Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D4 FF 21 00 00 E5 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 21 02 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 12 00 00 00 E1 21 00 00 E5 DD 4E 02 DD 46 03 -R 00 00 01 00 -T 1D 00 00 00 21 14 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 26 00 00 00 E1 DD 4E D6 DD 46 D7 11 3C 00 CD -R 00 00 01 00 -T 31 00 00 00 00 00 00 00 D5 DD 4E D8 DD 46 D9 -R 00 00 01 00 02 04 03 00 -T 3A 00 00 00 11 10 0E CD 00 00 00 00 EB D1 19 -R 00 00 01 00 02 08 03 00 -T 43 00 00 00 7C 07 9F 4F 41 C5 E5 DD 6E E2 DD -R 00 00 01 00 -T 4E 00 00 00 66 E3 7C 07 9F 4F 41 C5 E5 01 -R 00 00 01 00 -T 58 00 00 00 01 00 21 80 51 CD 00 00 00 00 59 -R 00 00 01 00 02 0A 02 00 -T 61 00 00 00 50 C1 09 EB C1 ED 4A E5 D5 DD 6E -R 00 00 01 00 -T 6C 00 00 00 DE DD 66 DF 7C 07 9F 4F 41 C5 E5 -R 00 00 01 00 -T 77 00 00 00 01 EB 01 21 80 BF CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 80 00 00 00 59 50 C1 09 EB C1 ED 4A E5 D5 DD -R 00 00 01 00 -T 8B 00 00 00 6E D4 DD 66 D5 7C 07 9F 5F 53 C1 -R 00 00 01 00 -T 96 00 00 00 09 EB C1 ED 4A 4D 44 EB DD 75 F8 -R 00 00 01 00 -T A1 00 00 00 DD 74 F9 DD 71 FA DD 70 FB DD 5E -R 00 00 01 00 -T AC 00 00 00 E8 DD 56 E9 01 3C 00 CD -R 00 00 01 00 -T B4 00 00 00 00 00 00 00 D5 DD 4E EA DD 46 EB -R 00 00 01 00 02 04 03 00 -T BD 00 00 00 11 10 0E CD 00 00 00 00 EB D1 19 -R 00 00 01 00 02 08 03 00 -T C6 00 00 00 EB 7A 07 9F 4F 41 C5 D5 DD 6E F4 -R 00 00 01 00 -T D1 00 00 00 DD 66 F5 7C 07 9F 4F 41 C5 E5 01 -R 00 00 01 00 -T DC 00 00 00 01 00 21 80 51 CD 00 00 00 00 59 -R 00 00 01 00 02 0A 02 00 -T E5 00 00 00 50 C1 09 EB C1 ED 4A E5 D5 DD 6E -R 00 00 01 00 -T F0 00 00 00 F0 DD 66 F1 7C 07 9F 4F 41 C5 E5 -R 00 00 01 00 -T FB 00 00 00 01 EB 01 21 80 BF CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 04 01 00 00 59 50 C1 09 EB C1 ED 4A E5 D5 DD -R 00 00 01 00 -T 0F 01 00 00 6E E6 DD 66 E7 7C 07 9F 5F 53 C1 -R 00 00 01 00 -T 1A 01 00 00 09 EB C1 ED 4A 4D 44 EB DD 75 FC -R 00 00 01 00 -T 25 01 00 00 DD 74 FD DD 71 FE DD 70 FF 59 50 -R 00 00 01 00 -T 30 01 00 00 A7 DD 4E F8 DD 46 F9 ED 42 EB DD -R 00 00 01 00 -T 3B 01 00 00 4E FA DD 46 FB ED 42 4D 44 EB C3 -R 00 00 01 00 -T 46 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relcl/error.rel b/lib/relcl/error.rel deleted file mode 100644 index 6b5895ee..00000000 --- a/lib/relcl/error.rel +++ /dev/null @@ -1,230 +0,0 @@ -XL4 -H 6 areas 10 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S strchr Ref00000000 -S close Ref00000000 -S strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S strcpy Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S itoa Ref00000000 -S atoi Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S open Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18F flags 0 -S strerror Def00000000 -A CSTR size 21 flags 0 -A UDATA0 size 50 flags 0 -A IDATA0 size 4 flags 0 -S __sys_errlist Def00000000 -S __sys_nerr Def00000002 -A CDATA0 size 4 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 76 FF AF DD 77 FE -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 DD 77 FF 2A 02 00 00 00 7D B4 28 -R 00 00 01 00 00 08 04 00 -T 12 00 00 00 2B -R 00 00 01 00 -T 13 00 00 00 -R 00 00 01 00 -T 13 00 00 00 DD CB 03 7E 20 0F ED 4B -R 00 00 01 00 -T 1B 00 00 00 02 00 00 00 DD 6E 02 DD 66 03 CD -R 00 00 01 00 00 04 04 00 -T 24 00 00 00 00 00 00 00 38 03 -R 00 00 01 00 02 04 09 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 C3 66 01 00 00 -R 00 00 01 00 00 05 01 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 DD 6E 02 DD 66 03 29 ED 4B -R 00 00 01 00 -T 34 00 00 00 00 00 00 00 09 46 23 66 68 C3 -R 00 00 01 00 00 04 04 00 -T 3C 00 00 00 8C 01 00 00 -R 00 00 01 00 00 04 01 00 -T 3E 00 00 00 -R 00 00 01 00 -T 3E 00 00 00 DD 4E 02 DD 46 03 21 00 00 CD -R 00 00 01 00 -T 48 00 00 00 00 00 00 00 38 03 -R 00 00 01 00 02 04 09 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 C3 66 01 00 00 -R 00 00 01 00 00 05 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 21 00 00 E5 21 00 00 00 00 E5 CD -R 00 00 01 00 00 09 02 00 -T 58 00 00 00 00 00 00 00 F1 F1 DD 75 FA DD 74 -R 00 00 01 00 02 04 0A 00 -T 61 00 00 00 FB CB 7C 28 03 -R 00 00 01 00 -T 66 00 00 00 -R 00 00 01 00 -T 66 00 00 00 C3 66 01 00 00 -R 00 00 01 00 00 05 01 00 -T 69 00 00 00 -R 00 00 01 00 -T 69 00 00 00 -R 00 00 01 00 -T 69 00 00 00 21 80 00 E5 21 04 00 39 4D 44 DD -R 00 00 01 00 -T 74 00 00 00 5E FA DD 56 FB CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 0B 00 -T 7D 00 00 00 DD 75 F8 DD 74 F9 4D 44 21 00 00 -R 00 00 01 00 -T 88 00 00 00 CD 00 00 00 00 D2 66 01 00 00 -R 00 00 01 00 02 05 09 00 00 0A 01 00 -T 8E 00 00 00 -R 00 00 01 00 -T 8E 00 00 00 AF DD 77 FC DD 77 FD -R 00 00 01 00 -T 95 00 00 00 -R 00 00 01 00 -T 95 00 00 00 DD 4E F8 DD 46 F9 DD 6E FC DD 66 -R 00 00 01 00 -T A0 00 00 00 FD A7 ED 42 D2 63 01 00 00 -R 00 00 01 00 00 09 01 00 -T A7 00 00 00 -R 00 00 01 00 -T A7 00 00 00 21 02 00 39 DD 4E FC DD 46 FD 09 -R 00 00 01 00 -T B2 00 00 00 7E FE 0A 20 74 -R 00 00 01 00 -T B7 00 00 00 -R 00 00 01 00 -T B7 00 00 00 21 00 00 00 00 DD 4E FE DD 46 FF -R 00 00 01 00 00 05 03 00 -T C0 00 00 00 09 36 00 11 00 00 00 00 CD -R 00 00 01 00 00 08 03 00 -T C7 00 00 00 00 00 00 00 DD 4E 02 DD 46 03 A7 -R 00 00 01 00 02 04 08 00 -T D0 00 00 00 ED 42 20 4E -R 00 00 01 00 -T D4 00 00 00 -R 00 00 01 00 -T D4 00 00 00 21 00 00 39 E5 01 20 00 11 -R 00 00 01 00 -T DD 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 00 04 03 00 02 09 01 00 -T E4 00 00 00 E1 71 23 70 79 B0 20 0B -R 00 00 01 00 -T EC 00 00 00 -R 00 00 01 00 -T EC 00 00 00 DD 5E FA DD 56 FB CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T F5 00 00 00 18 6F -R 00 00 01 00 -T F7 00 00 00 -R 00 00 01 00 -T F7 00 00 00 -R 00 00 01 00 -T F7 00 00 00 21 00 00 39 7E 23 66 6F 7E FE 20 -R 00 00 01 00 -T 02 01 00 00 20 0B -R 00 00 01 00 -T 04 01 00 00 -R 00 00 01 00 -T 04 01 00 00 21 00 00 39 34 23 20 01 34 -R 00 00 01 00 -T 0D 01 00 00 -R 00 00 01 00 -T 0D 01 00 00 18 E8 -R 00 00 01 00 -T 0F 01 00 00 -R 00 00 01 00 -T 0F 01 00 00 DD 5E FA DD 56 FB CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 18 01 00 00 21 00 00 39 46 23 66 68 18 6A -R 00 00 01 00 -T 22 01 00 00 -R 00 00 01 00 -T 22 01 00 00 AF DD 77 FE DD 77 FF 18 2D -R 00 00 01 00 -T 2B 01 00 00 -R 00 00 01 00 -T 2B 01 00 00 01 4F 00 DD 6E FE DD 66 FF A7 ED -R 00 00 01 00 -T 36 01 00 00 42 30 1F -R 00 00 01 00 -T 39 01 00 00 -R 00 00 01 00 -T 39 01 00 00 21 02 00 39 DD 4E FC DD 46 FD 09 -R 00 00 01 00 -T 44 01 00 00 46 DD 6E FE DD 66 FF 23 DD 75 FE -R 00 00 01 00 -T 4F 01 00 00 DD 74 FF 2B 11 00 00 00 00 19 70 -R 00 00 01 00 00 09 03 00 -T 58 01 00 00 -R 00 00 01 00 -T 58 01 00 00 -R 00 00 01 00 -T 58 01 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 60 01 00 00 -R 00 00 01 00 -T 60 01 00 00 C3 95 00 00 00 -R 00 00 01 00 00 05 01 00 -T 63 01 00 00 -R 00 00 01 00 -T 63 01 00 00 C3 69 00 00 00 -R 00 00 01 00 00 05 01 00 -T 66 01 00 00 -R 00 00 01 00 -T 66 01 00 00 -R 00 00 01 00 -T 66 01 00 00 01 12 00 00 00 11 00 00 00 00 CD -R 00 00 01 00 00 05 02 00 00 0A 03 00 -T 6D 01 00 00 00 00 00 00 21 0A 00 E5 11 -R 00 00 01 00 02 04 05 00 -T 74 01 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 00 04 03 00 02 09 03 00 -T 7A 01 00 00 00 00 00 00 09 4D 44 DD 5E 02 DD -R 00 00 01 00 00 04 03 00 -T 83 01 00 00 56 03 CD 00 00 00 00 F1 21 -R 00 00 01 00 02 07 07 00 -T 8A 01 00 00 00 00 00 00 -R 00 00 01 00 00 04 03 00 -T 8C 01 00 00 -R 00 00 01 00 -T 8C 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2F 6C 69 62 2F 6C 69 62 65 72 72 -R 00 00 02 00 -T 0B 00 00 00 6F 72 2E 74 78 74 00 -R 00 00 02 00 -T 12 00 00 00 -R 00 00 02 00 -T 12 00 00 00 55 6E 6B 6E 6F 77 6E 20 65 72 72 -R 00 00 02 00 -T 1D 00 00 00 6F 72 20 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 02 00 00 00 -R 00 00 04 00 -T 02 00 00 00 -R 00 00 04 00 -T 00 00 00 00 00 00 00 00 -R 00 00 05 00 diff --git a/lib/relcl/etime.rel b/lib/relcl/etime.rel deleted file mode 100644 index dd8fecb1..00000000 --- a/lib/relcl/etime.rel +++ /dev/null @@ -1,110 +0,0 @@ -XL4 -H 3 areas D global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?SS_MODASG_L02 Ref00000000 -S ?SS_MOD_L02 Ref00000000 -S ?US_MOD_L02 Ref00000000 -S ?SS_DIV_L02 Ref00000000 -S ?US_DIV_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12B flags 0 -S etime Def00000000 -S dout Def0000008E -S ediff Def000000C8 -A UDATA0 size 1A flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 02 00 00 00 22 -R 00 00 01 00 02 05 03 00 00 0A 02 00 -T 07 00 00 00 00 00 00 00 13 13 EB 5E 23 56 01 -R 00 00 01 00 00 04 02 00 -T 10 00 00 00 3C 00 CD 00 00 00 00 CD -R 00 00 01 00 02 07 08 00 -T 16 00 00 00 8E 00 00 00 2A 00 00 00 00 23 22 -R 00 00 01 00 00 04 01 00 00 09 02 00 -T 1D 00 00 00 00 00 00 00 2B 36 3A DD 6E 02 DD -R 00 00 01 00 00 04 02 00 -T 26 00 00 00 66 03 23 23 5E 23 56 01 3C 00 CD -R 00 00 01 00 -T 31 00 00 00 00 00 00 00 CD 8E 00 00 00 2A -R 00 00 01 00 02 04 06 00 00 09 01 00 -T 37 00 00 00 00 00 00 00 23 22 00 00 00 00 2B -R 00 00 01 00 00 04 02 00 00 0A 02 00 -T 3E 00 00 00 36 3A DD 6E 02 DD 66 03 5E 23 56 -R 00 00 01 00 -T 49 00 00 00 01 32 00 CD 00 00 00 00 CD -R 00 00 01 00 02 08 08 00 -T 50 00 00 00 8E 00 00 00 2A 00 00 00 00 23 22 -R 00 00 01 00 00 04 01 00 00 09 02 00 -T 57 00 00 00 00 00 00 00 2B 36 2E DD 6E 02 DD -R 00 00 01 00 00 04 02 00 -T 60 00 00 00 66 03 5E 23 56 01 32 00 CD -R 00 00 01 00 -T 69 00 00 00 00 00 00 00 01 0A 00 CD -R 00 00 01 00 02 04 06 00 -T 6F 00 00 00 00 00 00 00 01 32 00 CD -R 00 00 01 00 02 04 01 00 -T 75 00 00 00 00 00 00 00 7B C6 30 2A -R 00 00 01 00 02 04 08 00 -T 7B 00 00 00 00 00 00 00 23 22 00 00 00 00 2B -R 00 00 01 00 00 04 02 00 00 0A 02 00 -T 82 00 00 00 77 2A 00 00 00 00 36 00 21 -R 00 00 01 00 00 06 02 00 -T 89 00 00 00 02 00 00 00 C3 00 00 00 00 -R 00 00 01 00 00 04 02 00 02 09 02 00 -T 8E 00 00 00 -R 00 00 01 00 -T 8E 00 00 00 CD 00 00 00 00 21 02 00 39 01 -R 00 00 01 00 02 05 03 00 -T 96 00 00 00 64 00 CD 00 00 00 00 01 0A 00 CD -R 00 00 01 00 02 07 04 00 -T 9F 00 00 00 00 00 00 00 7B C6 30 2A -R 00 00 01 00 02 04 07 00 -T A5 00 00 00 00 00 00 00 23 22 00 00 00 00 2B -R 00 00 01 00 00 04 02 00 00 0A 02 00 -T AC 00 00 00 77 01 0A 00 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T B7 00 00 00 00 00 00 00 7B C6 30 2A -R 00 00 01 00 02 04 05 00 -T BD 00 00 00 00 00 00 00 23 22 00 00 00 00 2B -R 00 00 01 00 00 04 02 00 00 0A 02 00 -T C4 00 00 00 77 C3 00 00 00 00 -R 00 00 01 00 02 06 02 00 -T C8 00 00 00 -R 00 00 01 00 -T C8 00 00 00 CD 00 00 00 00 69 60 4E 23 46 1A -R 00 00 01 00 02 05 03 00 -T D1 00 00 00 6F 13 1A 67 A7 ED 42 30 1E -R 00 00 01 00 -T DA 00 00 00 -R 00 00 01 00 -T DA 00 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 -R 00 00 01 00 -T E5 00 00 00 0B 70 2B 71 DD 6E 02 DD 66 03 7E -R 00 00 01 00 -T F0 00 00 00 C6 B8 77 23 7E CE 0B 77 -R 00 00 01 00 -T F8 00 00 00 -R 00 00 01 00 -T F8 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 -R 00 00 01 00 -T 03 01 00 00 DD 6E 02 DD 66 03 23 23 7E 91 77 -R 00 00 01 00 -T 0E 01 00 00 23 7E 98 77 DD 6E 04 DD 66 05 4E -R 00 00 01 00 -T 19 01 00 00 23 46 DD 6E 02 DD 66 03 7E 91 77 -R 00 00 01 00 -T 24 01 00 00 23 7E 98 77 C3 00 00 00 00 -R 00 00 01 00 02 09 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 diff --git a/lib/relcl/execl.rel b/lib/relcl/execl.rel deleted file mode 100644 index c932a487..00000000 --- a/lib/relcl/execl.rel +++ /dev/null @@ -1,187 +0,0 @@ -XL4 -H 4 areas D global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S execve Ref00000000 -S environ Ref00000000 -S getenv Ref00000000 -S strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S strcpy Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S access Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13A flags 0 -S execl Def00000120 -S _findPath Def00000000 -A CSTR size 29 flags 0 -A UDATA0 size 101 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 08 00 -T 09 00 00 00 66 03 7E FE 2F 28 0B DD 6E 02 DD -R 00 00 01 00 -T 14 00 00 00 66 03 7E FE 2E 20 09 -R 00 00 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 DD 6E 02 DD 66 03 C3 1D 01 00 00 -R 00 00 01 00 00 0B 01 00 -T 24 00 00 00 -R 00 00 01 00 -T 24 00 00 00 11 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 02 00 02 0A 03 00 -T 2B 00 00 00 75 FE DD 74 FF 7D B4 20 08 -R 00 00 01 00 -T 34 00 00 00 -R 00 00 01 00 -T 34 00 00 00 DD 36 FE 05 00 00 00 DD 36 FF -R 00 00 01 00 09 07 02 00 -T 3B 00 00 00 05 00 00 00 -R 00 00 01 00 89 04 02 00 -T 3C 00 00 00 -R 00 00 01 00 -T 3C 00 00 00 -R 00 00 01 00 -T 3C 00 00 00 DD 6E FE DD 66 FF AF B6 CA -R 00 00 01 00 -T 45 00 00 00 05 01 00 00 -R 00 00 01 00 00 04 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 DD 36 FC 00 00 00 00 DD 36 FD -R 00 00 01 00 09 07 03 00 -T 4E 00 00 00 00 00 00 00 -R 00 00 01 00 89 04 03 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 DD 6E FE DD 66 FF AF B6 28 3B DD -R 00 00 01 00 -T 5A 00 00 00 6E FE DD 66 FF 23 DD 75 FE DD 74 -R 00 00 01 00 -T 65 00 00 00 FF 2B 46 DD 6E FC DD 66 FD 70 78 -R 00 00 01 00 -T 70 00 00 00 FE 3A 28 20 -R 00 00 01 00 -T 74 00 00 00 -R 00 00 01 00 -T 74 00 00 00 -R 00 00 01 00 -T 74 00 00 00 -R 00 00 01 00 -T 74 00 00 00 01 00 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 00 05 03 00 -T 7D 00 00 00 A7 ED 42 01 01 01 A7 ED 42 38 02 -R 00 00 01 00 -T 88 00 00 00 -R 00 00 01 00 -T 88 00 00 00 18 0A -R 00 00 01 00 -T 8A 00 00 00 -R 00 00 01 00 -T 8A 00 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 18 BB -R 00 00 01 00 -T 94 00 00 00 -R 00 00 01 00 -T 94 00 00 00 DD 6E FC DD 66 FD 2B DD 75 FC DD -R 00 00 01 00 -T 9F 00 00 00 74 FD 7E FE 2F 28 0F -R 00 00 01 00 -T A6 00 00 00 -R 00 00 01 00 -T A6 00 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD -R 00 00 01 00 -T B1 00 00 00 74 FD 36 2F -R 00 00 01 00 -T B5 00 00 00 -R 00 00 01 00 -T B5 00 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T BD 00 00 00 -R 00 00 01 00 -T BD 00 00 00 01 00 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 00 05 03 00 -T C6 00 00 00 A7 ED 42 E5 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T D1 00 00 00 00 00 00 00 4D 44 E1 09 01 01 01 -R 00 00 01 00 02 04 04 00 -T DA 00 00 00 A7 ED 42 38 02 -R 00 00 01 00 -T DF 00 00 00 -R 00 00 01 00 -T DF 00 00 00 18 24 -R 00 00 01 00 -T E1 00 00 00 -R 00 00 01 00 -T E1 00 00 00 DD 4E 02 DD 46 03 DD 5E FC DD 56 -R 00 00 01 00 -T EC 00 00 00 FD CD 00 00 00 00 01 00 00 11 -R 00 00 01 00 02 06 07 00 -T F4 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 00 04 03 00 02 09 09 00 -T FB 00 00 00 20 05 -R 00 00 01 00 -T FD 00 00 00 -R 00 00 01 00 -T FD 00 00 00 21 00 00 00 00 18 1B -R 00 00 01 00 00 05 03 00 -T 02 01 00 00 -R 00 00 01 00 -T 02 01 00 00 C3 3C 00 00 00 -R 00 00 01 00 00 05 01 00 -T 05 01 00 00 -R 00 00 01 00 -T 05 01 00 00 01 00 00 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 0F 01 00 00 00 00 00 00 7D B4 20 05 -R 00 00 01 00 02 04 09 00 -T 15 01 00 00 -R 00 00 01 00 -T 15 01 00 00 21 00 00 00 00 18 03 -R 00 00 01 00 00 05 03 00 -T 1A 01 00 00 -R 00 00 01 00 -T 1A 01 00 00 21 00 00 -R 00 00 01 00 -T 1D 01 00 00 -R 00 00 01 00 -T 1D 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 20 01 00 00 -R 00 00 01 00 -T 20 01 00 00 CD 00 00 00 00 2A 00 00 00 00 E5 -R 00 00 01 00 02 05 06 00 02 0A 02 00 -T 27 01 00 00 21 0C 00 39 4D 44 DD 5E 08 DD 56 -R 00 00 01 00 -T 32 01 00 00 09 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 06 01 00 -T 38 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 05 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 50 41 54 48 00 -R 00 00 02 00 -T 05 00 00 00 -R 00 00 02 00 -T 05 00 00 00 2E 3A 2F 62 69 6E 3A 2F 75 73 72 -R 00 00 02 00 -T 10 00 00 00 2F 62 69 6E 3A 2F 65 74 63 3A 2F -R 00 00 02 00 -T 1B 00 00 00 75 73 72 2F 6C 6F 63 61 6C 2F 62 -R 00 00 02 00 -T 26 00 00 00 69 6E 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcl/execle.rel b/lib/relcl/execle.rel deleted file mode 100644 index 2e087f30..00000000 --- a/lib/relcl/execle.rel +++ /dev/null @@ -1,34 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S execve Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 43 flags 0 -S execle Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 0C 00 39 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 DD 6E FE DD 66 FF 4D 44 03 03 DD -R 00 00 01 00 -T 1A 00 00 00 71 FE DD 70 FF 7E 23 B6 28 02 -R 00 00 01 00 -T 24 00 00 00 -R 00 00 01 00 -T 24 00 00 00 18 E9 -R 00 00 01 00 -T 26 00 00 00 -R 00 00 01 00 -T 26 00 00 00 DD 6E FE DD 66 FF 4E 23 46 C5 21 -R 00 00 01 00 -T 31 00 00 00 0E 00 39 4D 44 DD 5E 08 DD 56 09 -R 00 00 01 00 -T 3C 00 00 00 CD 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 02 0B 02 00 diff --git a/lib/relcl/execlp.rel b/lib/relcl/execlp.rel deleted file mode 100644 index f8b056bd..00000000 --- a/lib/relcl/execlp.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S execve Ref00000000 -S environ Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _findPath Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1E flags 0 -S execlp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 2A 00 00 00 00 E5 -R 00 00 01 00 02 05 04 00 02 0A 02 00 -T 07 00 00 00 21 0C 00 39 4D 44 DD 5E 08 DD 56 -R 00 00 01 00 -T 12 00 00 00 09 CD 00 00 00 00 EB CD -R 00 00 01 00 02 06 05 00 -T 18 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0A 03 00 diff --git a/lib/relcl/execlpe.rel b/lib/relcl/execlpe.rel deleted file mode 100644 index 7fcf4e9f..00000000 --- a/lib/relcl/execlpe.rel +++ /dev/null @@ -1,37 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S execve Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _findPath Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 47 flags 0 -S execlpe Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 0C 00 39 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 DD 6E FE DD 66 FF 4D 44 03 03 DD -R 00 00 01 00 -T 1A 00 00 00 71 FE DD 70 FF 7E 23 B6 28 02 -R 00 00 01 00 -T 24 00 00 00 -R 00 00 01 00 -T 24 00 00 00 18 E9 -R 00 00 01 00 -T 26 00 00 00 -R 00 00 01 00 -T 26 00 00 00 DD 6E FE DD 66 FF 4E 23 46 C5 21 -R 00 00 01 00 -T 31 00 00 00 0E 00 39 4D 44 DD 5E 08 DD 56 09 -R 00 00 01 00 -T 3C 00 00 00 CD 00 00 00 00 EB CD 00 00 00 00 -R 00 00 01 00 02 05 04 00 02 0B 01 00 -T 43 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 02 00 diff --git a/lib/relcl/exect.rel b/lib/relcl/exect.rel deleted file mode 100644 index e07329e3..00000000 --- a/lib/relcl/exect.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S execve Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S exect Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 E5 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 06 01 00 -T 0F 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relcl/execv.rel b/lib/relcl/execv.rel deleted file mode 100644 index 742849e1..00000000 --- a/lib/relcl/execv.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S execve Ref00000000 -S environ Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size E flags 0 -S execv Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 2A 00 00 00 00 E5 -R 00 00 01 00 02 05 04 00 02 0A 02 00 -T 07 00 00 00 CD 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 02 0B 03 00 diff --git a/lib/relcl/execvp.rel b/lib/relcl/execvp.rel deleted file mode 100644 index d5b901a3..00000000 --- a/lib/relcl/execvp.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S execve Ref00000000 -S environ Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _findPath Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S execvp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 2A 00 00 00 00 E5 -R 00 00 01 00 02 05 04 00 02 0A 02 00 -T 07 00 00 00 CD 00 00 00 00 EB CD 00 00 00 00 -R 00 00 01 00 02 05 05 00 02 0B 01 00 -T 0E 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 03 00 diff --git a/lib/relcl/execvpe.rel b/lib/relcl/execvpe.rel deleted file mode 100644 index 63a203a7..00000000 --- a/lib/relcl/execvpe.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S execve Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _findPath Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S execvpe Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 E5 CD 00 00 00 00 EB CD -R 00 00 01 00 02 06 04 00 -T 0F 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0A 02 00 diff --git a/lib/relcl/exit.rel b/lib/relcl/exit.rel deleted file mode 100644 index 4286bcb8..00000000 --- a/lib/relcl/exit.rel +++ /dev/null @@ -1,30 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _exit Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S __cleanup Ref00000000 -S ?CALL_IND_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S exit Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 2A 00 00 00 00 7D -R 00 00 01 00 02 05 03 00 02 0A 04 00 -T 07 00 00 00 B4 28 0F -R 00 00 01 00 -T 0A 00 00 00 -R 00 00 01 00 -T 0A 00 00 00 01 00 00 DD 5E 02 DD 56 03 2A -R 00 00 01 00 -T 14 00 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 04 00 02 09 05 00 -T 19 00 00 00 -R 00 00 01 00 -T 19 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 22 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcl/fclose.rel b/lib/relcl/fclose.rel deleted file mode 100644 index 9e23acbc..00000000 --- a/lib/relcl/fclose.rel +++ /dev/null @@ -1,144 +0,0 @@ -XL4 -H 2 areas A global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S fflush Ref00000000 -S close Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S free Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S __IO_list Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15D flags 0 -S fclose Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF AF DD 77 FA -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 DD 77 FB DD 7E 02 DD B6 03 20 0C -R 00 00 01 00 -T 14 00 00 00 -R 00 00 01 00 -T 14 00 00 00 21 16 00 22 00 00 00 00 21 FF FF -R 00 00 01 00 02 08 05 00 -T 1D 00 00 00 C3 5A 01 00 00 -R 00 00 01 00 00 05 01 00 -T 20 00 00 00 -R 00 00 01 00 -T 20 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 29 00 00 00 7D B4 28 06 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 21 FF FF C3 5A 01 00 00 -R 00 00 01 00 00 08 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 3E 00 00 00 23 56 CD 00 00 00 00 7D B4 28 08 -R 00 00 01 00 02 07 02 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 DD 36 FA FF DD 36 FB FF -R 00 00 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 36 -R 00 00 01 00 -T 5A 00 00 00 FF 23 36 FF 21 0C 00 09 7E E6 04 -R 00 00 01 00 -T 65 00 00 00 28 2F -R 00 00 01 00 -T 67 00 00 00 -R 00 00 01 00 -T 67 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 72 00 00 00 23 56 CD 00 00 00 00 21 0C 00 09 -R 00 00 01 00 02 07 04 00 -T 7B 00 00 00 7E E6 FB 77 23 7E E6 FF 77 21 -R 00 00 01 00 -T 85 00 00 00 06 00 09 E5 21 08 00 09 AF 77 23 -R 00 00 01 00 -T 90 00 00 00 77 E1 AF 77 23 77 -R 00 00 01 00 -T 96 00 00 00 -R 00 00 01 00 -T 96 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T A1 00 00 00 E6 08 CA 46 01 00 00 -R 00 00 01 00 00 07 01 00 -T A6 00 00 00 -R 00 00 01 00 -T A6 00 00 00 2A 00 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 02 05 07 00 -T AF 00 00 00 AF DD 77 FE DD 77 FF 21 0C 00 DD -R 00 00 01 00 -T BA 00 00 00 4E 02 DD 46 03 09 AF 77 23 77 -R 00 00 01 00 -T C4 00 00 00 -R 00 00 01 00 -T C4 00 00 00 DD 7E FC DD B6 FD 28 27 DD 6E 02 -R 00 00 01 00 -T CF 00 00 00 DD 66 03 DD 4E FC DD 46 FD A7 ED -R 00 00 01 00 -T DA 00 00 00 42 28 16 -R 00 00 01 00 -T DD 00 00 00 -R 00 00 01 00 -T DD 00 00 00 -R 00 00 01 00 -T DD 00 00 00 -R 00 00 01 00 -T DD 00 00 00 21 16 00 DD 4E FC DD 46 FD 09 56 -R 00 00 01 00 -T E8 00 00 00 23 66 6A DD 75 FC DD 74 FD 18 D1 -R 00 00 01 00 -T F3 00 00 00 -R 00 00 01 00 -T F3 00 00 00 DD 6E 02 DD 66 03 DD 4E FC DD 46 -R 00 00 01 00 -T FE 00 00 00 FD A7 ED 42 20 37 -R 00 00 01 00 -T 04 01 00 00 -R 00 00 01 00 -T 04 01 00 00 DD 7E FE DD B6 FF 20 13 -R 00 00 01 00 -T 0C 01 00 00 -R 00 00 01 00 -T 0C 01 00 00 21 16 00 DD 4E 02 DD 46 03 09 46 -R 00 00 01 00 -T 17 01 00 00 23 66 68 22 00 00 00 00 18 1C -R 00 00 01 00 02 08 07 00 -T 1F 01 00 00 -R 00 00 01 00 -T 1F 01 00 00 21 16 00 DD 4E FE DD 46 FF 09 E5 -R 00 00 01 00 -T 2A 01 00 00 21 16 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 35 01 00 00 23 46 E1 71 23 70 -R 00 00 01 00 -T 3B 01 00 00 -R 00 00 01 00 -T 3B 01 00 00 -R 00 00 01 00 -T 3B 01 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 04 00 -T 44 01 00 00 18 0E -R 00 00 01 00 -T 46 01 00 00 -R 00 00 01 00 -T 46 01 00 00 21 0C 00 DD 4E 02 DD 46 03 09 AF -R 00 00 01 00 -T 51 01 00 00 77 23 77 -R 00 00 01 00 -T 54 01 00 00 -R 00 00 01 00 -T 54 01 00 00 DD 6E FA DD 66 FB -R 00 00 01 00 -T 5A 01 00 00 -R 00 00 01 00 -T 5A 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 diff --git a/lib/relcl/fflush.rel b/lib/relcl/fflush.rel deleted file mode 100644 index 042910e0..00000000 --- a/lib/relcl/fflush.rel +++ /dev/null @@ -1,195 +0,0 @@ -XL4 -H 2 areas D global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _write Ref00000000 -S stderr Ref00000000 -S lseek Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S stdin Ref00000000 -S stdout Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S __IO_list Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1F5 flags 0 -S fflush Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF AF DD 77 FE -R 00 00 01 00 02 05 08 00 -T 09 00 00 00 DD 77 FF DD 7E 02 DD B6 03 20 64 -R 00 00 01 00 -T 14 00 00 00 -R 00 00 01 00 -T 14 00 00 00 11 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 05 00 00 0A 01 00 -T 1B 00 00 00 B4 20 14 11 00 00 00 00 CD -R 00 00 01 00 02 08 06 00 -T 22 00 00 00 00 00 00 00 7D B4 20 0A 11 -R 00 00 01 00 00 04 01 00 -T 29 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 02 00 00 09 01 00 -T 30 00 00 00 28 06 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 21 FF FF C3 F2 01 00 00 -R 00 00 01 00 00 08 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 2A 00 00 00 00 DD 75 02 DD 74 03 -R 00 00 01 00 02 05 0A 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 DD 7E 02 DD B6 03 28 29 -R 00 00 01 00 -T 49 00 00 00 -R 00 00 01 00 -T 49 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 52 00 00 00 7D B4 28 06 -R 00 00 01 00 -T 56 00 00 00 -R 00 00 01 00 -T 56 00 00 00 21 FF FF C3 F2 01 00 00 -R 00 00 01 00 00 08 01 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 21 16 00 DD 4E 02 DD 46 03 09 56 -R 00 00 01 00 -T 67 00 00 00 23 66 6A DD 75 02 DD 74 03 18 CF -R 00 00 01 00 -T 72 00 00 00 -R 00 00 01 00 -T 72 00 00 00 21 00 00 C3 F2 01 00 00 -R 00 00 01 00 00 08 01 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 83 00 00 00 E6 80 CA 4D 01 00 00 -R 00 00 01 00 00 07 01 00 -T 88 00 00 00 -R 00 00 01 00 -T 88 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 93 00 00 00 23 56 0A 6F 03 0A 67 A7 ED 52 DD -R 00 00 01 00 -T 9E 00 00 00 75 FA DD 74 FB 7D B4 CA -R 00 00 01 00 -T A6 00 00 00 4B 01 00 00 -R 00 00 01 00 00 04 01 00 -T A8 00 00 00 -R 00 00 01 00 -T A8 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 46 -R 00 00 01 00 -T B3 00 00 00 23 66 68 DD 75 F8 DD 74 F9 -R 00 00 01 00 -T BC 00 00 00 -R 00 00 01 00 -T BC 00 00 00 DD 6E FA DD 66 FB E5 DD 4E F8 DD -R 00 00 01 00 -T C7 00 00 00 46 F9 21 0A 00 DD 5E 02 DD 56 03 -R 00 00 01 00 -T D2 00 00 00 19 5E 23 56 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 09 01 00 -T DB 00 00 00 75 FC DD 74 FD 4D 44 21 00 00 CD -R 00 00 01 00 -T E6 00 00 00 00 00 00 00 30 1E -R 00 00 01 00 02 04 09 00 -T EA 00 00 00 -R 00 00 01 00 -T EA 00 00 00 21 00 00 39 7E DD 86 FC 77 23 7E -R 00 00 01 00 -T F5 00 00 00 DD 8E FD 77 21 02 00 39 7E DD 96 -R 00 00 01 00 -T 00 01 00 00 FC 77 23 7E DD 9E FD 77 -R 00 00 01 00 -T 08 01 00 00 -R 00 00 01 00 -T 08 01 00 00 DD 4E FC DD 46 FD 21 00 00 CD -R 00 00 01 00 -T 12 01 00 00 00 00 00 00 38 A6 DD 7E FC DD A6 -R 00 00 01 00 02 04 09 00 -T 1B 01 00 00 FD 3C 20 09 2A 00 00 00 00 3E 04 -R 00 00 01 00 02 09 07 00 -T 24 01 00 00 AD B4 28 94 -R 00 00 01 00 -T 28 01 00 00 -R 00 00 01 00 -T 28 01 00 00 DD 7E FA DD B6 FB 28 1B -R 00 00 01 00 -T 30 01 00 00 -R 00 00 01 00 -T 30 01 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 3B 01 00 00 F6 00 77 23 7E F6 02 77 DD 36 FE -R 00 00 01 00 -T 46 01 00 00 FF DD 36 FF FF -R 00 00 01 00 -T 4B 01 00 00 -R 00 00 01 00 -T 4B 01 00 00 -R 00 00 01 00 -T 4B 01 00 00 18 65 -R 00 00 01 00 -T 4D 01 00 00 -R 00 00 01 00 -T 4D 01 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 58 01 00 00 E6 40 28 56 -R 00 00 01 00 -T 5C 01 00 00 -R 00 00 01 00 -T 5C 01 00 00 DD 6E 02 DD 66 03 4E 23 46 DD 6E -R 00 00 01 00 -T 67 01 00 00 02 DD 66 03 23 23 56 23 66 6A A7 -R 00 00 01 00 -T 72 01 00 00 ED 42 DD 75 FA DD 74 FB 4D 44 21 -R 00 00 01 00 -T 7D 01 00 00 00 00 CD 00 00 00 00 30 2E 21 -R 00 00 01 00 02 07 09 00 -T 85 01 00 00 01 00 E5 DD 4E FA DD 46 FB A7 21 -R 00 00 01 00 -T 90 01 00 00 00 00 ED 42 7C 07 9F 4F 41 C5 E5 -R 00 00 01 00 -T 9B 01 00 00 21 0A 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T A6 01 00 00 23 56 CD 00 00 00 00 F1 F1 F1 CB -R 00 00 01 00 02 07 03 00 -T AF 01 00 00 78 28 00 -R 00 00 01 00 -T B2 01 00 00 -R 00 00 01 00 -T B2 01 00 00 -R 00 00 01 00 -T B2 01 00 00 -R 00 00 01 00 -T B2 01 00 00 -R 00 00 01 00 -T B2 01 00 00 -R 00 00 01 00 -T B2 01 00 00 -R 00 00 01 00 -T B2 01 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T BD 01 00 00 E6 3F 77 23 7E E6 FA 77 69 60 23 -R 00 00 01 00 -T C8 01 00 00 23 E5 21 04 00 DD 4E 02 DD 46 03 -R 00 00 01 00 -T D3 01 00 00 09 E5 21 06 00 09 56 23 66 6A E5 -R 00 00 01 00 -T DE 01 00 00 69 60 C1 71 23 70 E1 71 23 70 E1 -R 00 00 01 00 -T E9 01 00 00 71 23 70 DD 6E FE DD 66 FF -R 00 00 01 00 -T F2 01 00 00 -R 00 00 01 00 -T F2 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 diff --git a/lib/relcl/fgetc.rel b/lib/relcl/fgetc.rel deleted file mode 100644 index b8d6bed8..00000000 --- a/lib/relcl/fgetc.rel +++ /dev/null @@ -1,89 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S fread Ref00000000 -S fflush Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 106 flags 0 -S fgetc Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 0C 00 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 4E 02 DD 46 03 09 7E E6 80 28 09 -R 00 00 01 00 -T 14 00 00 00 -R 00 00 01 00 -T 14 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 28 00 00 00 E6 10 4F 23 7E E6 03 47 3E 10 A9 -R 00 00 01 00 -T 33 00 00 00 B0 28 06 -R 00 00 01 00 -T 36 00 00 00 -R 00 00 01 00 -T 36 00 00 00 21 FF FF C3 03 01 00 00 -R 00 00 01 00 00 08 01 00 -T 3C 00 00 00 -R 00 00 01 00 -T 3C 00 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 -R 00 00 01 00 -T 47 00 00 00 DD 6E 02 DD 66 03 56 23 66 6A A7 -R 00 00 01 00 -T 52 00 00 00 ED 42 DA E9 00 00 00 -R 00 00 01 00 00 07 01 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 DD 6E 02 DD 66 03 23 23 E5 21 -R 00 00 01 00 -T 61 00 00 00 06 00 DD 4E 02 DD 46 03 09 5E 23 -R 00 00 01 00 -T 6C 00 00 00 56 E1 73 23 72 69 60 73 23 72 DD -R 00 00 01 00 -T 77 00 00 00 6E 02 DD 66 03 E5 21 06 00 DD 4E -R 00 00 01 00 -T 82 00 00 00 02 DD 46 03 09 5E 23 56 21 08 00 -R 00 00 01 00 -T 8D 00 00 00 09 7E 23 66 6F A7 ED 52 E5 01 -R 00 00 01 00 -T 97 00 00 00 01 00 DD 6E 02 DD 66 03 5E 23 56 -R 00 00 01 00 -T A2 00 00 00 CD 00 00 00 00 F1 F1 DD 75 FE DD -R 00 00 01 00 02 05 01 00 -T AB 00 00 00 74 FF 7D B4 20 05 -R 00 00 01 00 -T B1 00 00 00 -R 00 00 01 00 -T B1 00 00 00 21 FF FF 18 4D -R 00 00 01 00 -T B6 00 00 00 -R 00 00 01 00 -T B6 00 00 00 DD 6E 02 DD 66 03 23 23 7E DD 86 -R 00 00 01 00 -T C1 00 00 00 FE 77 23 7E DD 8E FF 77 21 0C 00 -R 00 00 01 00 -T CC 00 00 00 DD 4E 02 DD 46 03 09 7E F6 40 77 -R 00 00 01 00 -T D7 00 00 00 23 7E F6 00 77 21 0C 00 09 7E E6 -R 00 00 01 00 -T E2 00 00 00 FF 77 23 7E E6 FB 77 -R 00 00 01 00 -T E9 00 00 00 -R 00 00 01 00 -T E9 00 00 00 DD 6E 02 DD 66 03 4E 23 46 03 70 -R 00 00 01 00 -T F4 00 00 00 2B 71 0B 0A 4F 06 00 DD 71 FE DD -R 00 00 01 00 -T FF 00 00 00 70 FF 69 60 -R 00 00 01 00 -T 03 01 00 00 -R 00 00 01 00 -T 03 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 diff --git a/lib/relcl/fgetgren.rel b/lib/relcl/fgetgren.rel deleted file mode 100644 index 9b696f57..00000000 --- a/lib/relcl/fgetgren.rel +++ /dev/null @@ -1,31 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S __getgrent Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S errno Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S fgetgrent Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 7B B2 20 0B -R 00 00 01 00 02 05 03 00 -T 07 00 00 00 -R 00 00 01 00 -T 07 00 00 00 21 04 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 04 00 -T 10 00 00 00 18 10 -R 00 00 01 00 -T 12 00 00 00 -R 00 00 01 00 -T 12 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 1D 00 00 00 23 56 CD 00 00 00 00 -R 00 00 01 00 02 07 02 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcl/fgetpwen.rel b/lib/relcl/fgetpwen.rel deleted file mode 100644 index 2fbbd29b..00000000 --- a/lib/relcl/fgetpwen.rel +++ /dev/null @@ -1,31 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S errno Ref00000000 -S __getpwent Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S fgetpwent Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 7B B2 20 0B -R 00 00 01 00 02 05 02 00 -T 07 00 00 00 -R 00 00 01 00 -T 07 00 00 00 21 04 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 03 00 -T 10 00 00 00 18 10 -R 00 00 01 00 -T 12 00 00 00 -R 00 00 01 00 -T 12 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 1D 00 00 00 23 56 CD 00 00 00 00 -R 00 00 01 00 02 07 04 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcl/fgets.rel b/lib/relcl/fgets.rel deleted file mode 100644 index 05eb8104..00000000 --- a/lib/relcl/fgets.rel +++ /dev/null @@ -1,80 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S fgetc Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size A0 flags 0 -S fgets Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF DD 71 FA DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 70 FB DD 6E 02 DD 66 03 DD 75 FE -R 00 00 01 00 -T 14 00 00 00 DD 74 FF -R 00 00 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 DD 6E FA DD 66 FB 2B DD 75 FA DD -R 00 00 01 00 -T 22 00 00 00 74 FB 23 7D B4 28 4C -R 00 00 01 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 DD 5E 08 DD 56 09 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 32 00 00 00 DD 75 FC DD 74 FD 7D A4 3C 20 18 -R 00 00 01 00 -T 3D 00 00 00 -R 00 00 01 00 -T 3D 00 00 00 DD 6E FE DD 66 FF DD 4E 02 DD 46 -R 00 00 01 00 -T 48 00 00 00 03 A7 ED 42 20 05 -R 00 00 01 00 -T 4E 00 00 00 -R 00 00 01 00 -T 4E 00 00 00 21 00 00 18 4A -R 00 00 01 00 -T 53 00 00 00 -R 00 00 01 00 -T 53 00 00 00 18 20 -R 00 00 01 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 DD 46 FC DD 6E 02 DD 66 03 23 DD -R 00 00 01 00 -T 60 00 00 00 75 02 DD 74 03 2B 70 3E 0A DD AE -R 00 00 01 00 -T 6B 00 00 00 FC DD B6 FD 20 02 -R 00 00 01 00 -T 71 00 00 00 -R 00 00 01 00 -T 71 00 00 00 18 02 -R 00 00 01 00 -T 73 00 00 00 -R 00 00 01 00 -T 73 00 00 00 18 A2 -R 00 00 01 00 -T 75 00 00 00 -R 00 00 01 00 -T 75 00 00 00 DD 6E 02 DD 66 03 36 00 21 0C 00 -R 00 00 01 00 -T 80 00 00 00 DD 4E 08 DD 46 09 09 7E E6 00 47 -R 00 00 01 00 -T 8B 00 00 00 23 7E E6 02 B0 28 05 21 00 00 18 -R 00 00 01 00 -T 96 00 00 00 06 -R 00 00 01 00 -T 97 00 00 00 -R 00 00 01 00 -T 97 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 -T 9D 00 00 00 -R 00 00 01 00 -T 9D 00 00 00 -R 00 00 01 00 -T 9D 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcl/fopen.rel b/lib/relcl/fopen.rel deleted file mode 100644 index 2c446322..00000000 --- a/lib/relcl/fopen.rel +++ /dev/null @@ -1,241 +0,0 @@ -XL4 -H 2 areas D global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?C_V_SWITCH_L06 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S isatty Ref00000000 -S free Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S calloc Ref00000000 -S __IO_list Ref00000000 -S open Ref00000000 -S fclose Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 29B flags 0 -S __fopen Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF AF DD 77 FA -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 DD 77 FB AF DD 77 FC DD 77 FD AF -R 00 00 01 00 -T 14 00 00 00 DD 77 FE DD 77 FF DD 7E 08 DD B6 -R 00 00 01 00 -T 1F 00 00 00 09 28 30 -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 21 0C 00 DD 4E 08 DD 46 09 09 7E -R 00 00 01 00 -T 2D 00 00 00 E6 0F 5F 23 7E E6 00 57 21 02 00 -R 00 00 01 00 -T 38 00 00 00 39 7E B3 77 23 7E B2 77 21 0C 00 -R 00 00 01 00 -T 43 00 00 00 09 7E E6 F3 77 23 7E E6 FF 77 59 -R 00 00 01 00 -T 4E 00 00 00 50 CD 00 00 00 00 -R 00 00 01 00 02 06 0A 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 DD 6E 0A DD 66 0B AF B6 28 70 -R 00 00 01 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 DD 6E 0A DD 66 0B 23 DD 75 0A DD -R 00 00 01 00 -T 67 00 00 00 74 0B 2B 5E CD 00 00 00 00 04 00 -R 00 00 01 00 02 09 01 00 -T 70 00 00 00 2B 61 72 77 CA 00 00 00 -R 00 00 01 00 00 08 01 00 -T 76 00 00 00 8D 00 00 00 7E 00 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 7A 00 00 00 A4 00 00 00 BB 00 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 7E 00 00 00 -R 00 00 01 00 -T 7E 00 00 00 21 02 00 39 7E F6 10 77 23 7E F6 -R 00 00 01 00 -T 89 00 00 00 00 77 18 3D -R 00 00 01 00 -T 8D 00 00 00 -R 00 00 01 00 -T 8D 00 00 00 21 02 00 39 7E F6 20 77 23 7E F6 -R 00 00 01 00 -T 98 00 00 00 00 77 DD 36 FA 00 DD 36 FB 03 18 -R 00 00 01 00 -T A3 00 00 00 26 -R 00 00 01 00 -T A4 00 00 00 -R 00 00 01 00 -T A4 00 00 00 21 02 00 39 7E F6 20 77 23 7E F6 -R 00 00 01 00 -T AF 00 00 00 00 77 DD 36 FA 00 DD 36 FB 21 18 -R 00 00 01 00 -T BA 00 00 00 0F -R 00 00 01 00 -T BB 00 00 00 -R 00 00 01 00 -T BB 00 00 00 21 02 00 39 7E F6 30 77 23 7E F6 -R 00 00 01 00 -T C6 00 00 00 00 77 18 00 -R 00 00 01 00 -T CA 00 00 00 -R 00 00 01 00 -T CA 00 00 00 18 86 -R 00 00 01 00 -T CC 00 00 00 -R 00 00 01 00 -T CC 00 00 00 DD 7E FC E6 30 4F DD 7E FD E6 00 -R 00 00 01 00 -T D7 00 00 00 47 79 B0 20 06 -R 00 00 01 00 -T DC 00 00 00 -R 00 00 01 00 -T DC 00 00 00 21 00 00 C3 98 02 00 00 -R 00 00 01 00 00 08 01 00 -T E2 00 00 00 -R 00 00 01 00 -T E2 00 00 00 3E 10 A9 B0 20 02 18 24 -R 00 00 01 00 -T EA 00 00 00 -R 00 00 01 00 -T EA 00 00 00 3E 20 A9 B0 20 0F 21 00 00 39 7E -R 00 00 01 00 -T F5 00 00 00 F6 01 77 23 7E F6 00 77 18 0F -R 00 00 01 00 -T FF 00 00 00 -R 00 00 01 00 -T FF 00 00 00 21 00 00 39 7E F6 02 77 23 7E F6 -R 00 00 01 00 -T 0A 01 00 00 00 77 18 00 -R 00 00 01 00 -T 0E 01 00 00 -R 00 00 01 00 -T 0E 01 00 00 DD 7E 08 DD B6 09 20 19 01 18 00 -R 00 00 01 00 -T 19 01 00 00 11 01 00 CD 00 00 00 00 DD 75 FE -R 00 00 01 00 02 08 07 00 -T 22 01 00 00 DD 74 FF 7D B4 20 06 -R 00 00 01 00 -T 29 01 00 00 -R 00 00 01 00 -T 29 01 00 00 -R 00 00 01 00 -T 29 01 00 00 -R 00 00 01 00 -T 29 01 00 00 21 00 00 C3 98 02 00 00 -R 00 00 01 00 00 08 01 00 -T 2F 01 00 00 -R 00 00 01 00 -T 2F 01 00 00 DD 7E 02 DD B6 03 28 1E -R 00 00 01 00 -T 37 01 00 00 -R 00 00 01 00 -T 37 01 00 00 21 B6 01 E5 DD 6E FA DD 66 FB E5 -R 00 00 01 00 -T 42 01 00 00 DD 6E 02 DD 66 03 E5 CD -R 00 00 01 00 -T 4A 01 00 00 00 00 00 00 F1 F1 F1 DD 75 04 DD -R 00 00 01 00 02 04 09 00 -T 53 01 00 00 74 05 -R 00 00 01 00 -T 55 01 00 00 -R 00 00 01 00 -T 55 01 00 00 DD CB 05 7E 28 29 -R 00 00 01 00 -T 5B 01 00 00 -R 00 00 01 00 -T 5B 01 00 00 2A 00 00 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 02 05 05 00 -T 64 01 00 00 DD 7E FE DD B6 FF 28 09 -R 00 00 01 00 -T 6C 01 00 00 -R 00 00 01 00 -T 6C 01 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 04 00 -T 75 01 00 00 -R 00 00 01 00 -T 75 01 00 00 DD 6E FA DD 66 FB 22 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 7E 01 00 00 21 00 00 C3 98 02 00 00 -R 00 00 01 00 00 08 01 00 -T 84 01 00 00 -R 00 00 01 00 -T 84 01 00 00 DD 7E 08 DD B6 09 C2 4C 02 00 00 -R 00 00 01 00 00 0B 01 00 -T 8D 01 00 00 -R 00 00 01 00 -T 8D 01 00 00 DD 6E FE DD 66 FF DD 75 08 DD 74 -R 00 00 01 00 -T 98 01 00 00 09 01 16 00 09 ED 4B 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T A1 01 00 00 71 23 70 DD 6E 08 DD 66 09 22 -R 00 00 01 00 -T AB 01 00 00 00 00 00 00 21 0C 00 DD 4E 08 DD -R 00 00 01 00 02 04 08 00 -T B4 01 00 00 46 09 09 36 08 23 36 00 DD 5E 04 -R 00 00 01 00 -T BF 01 00 00 DD 56 05 CD 00 00 00 00 7D B4 28 -R 00 00 01 00 02 08 03 00 -T C8 01 00 00 13 -R 00 00 01 00 -T C9 01 00 00 -R 00 00 01 00 -T C9 01 00 00 21 0C 00 DD 4E 08 DD 46 09 09 7E -R 00 00 01 00 -T D4 01 00 00 F6 01 77 23 7E F6 00 77 -R 00 00 01 00 -T DC 01 00 00 -R 00 00 01 00 -T DC 01 00 00 21 06 00 DD 4E 08 DD 46 09 09 E5 -R 00 00 01 00 -T E7 01 00 00 01 00 01 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 07 00 -T F0 01 00 00 4D 44 E1 71 23 70 79 B0 20 29 -R 00 00 01 00 -T FA 01 00 00 -R 00 00 01 00 -T FA 01 00 00 21 06 00 DD 4E 08 DD 46 09 09 E5 -R 00 00 01 00 -T 05 02 00 00 21 0E 00 09 EB E1 73 23 72 21 -R 00 00 01 00 -T 0F 02 00 00 08 00 09 E5 21 0E 00 09 01 08 00 -R 00 00 01 00 -T 1A 02 00 00 09 4D 44 E1 71 23 70 18 29 -R 00 00 01 00 -T 23 02 00 00 -R 00 00 01 00 -T 23 02 00 00 21 08 00 DD 4E 08 DD 46 09 09 E5 -R 00 00 01 00 -T 2E 02 00 00 21 06 00 09 56 23 66 6A 3E 01 84 -R 00 00 01 00 -T 39 02 00 00 67 EB E1 73 23 72 21 0C 00 09 7E -R 00 00 01 00 -T 44 02 00 00 F6 04 77 23 7E F6 00 77 -R 00 00 01 00 -T 4C 02 00 00 -R 00 00 01 00 -T 4C 02 00 00 -R 00 00 01 00 -T 4C 02 00 00 DD 6E 08 DD 66 09 23 23 E5 21 -R 00 00 01 00 -T 56 02 00 00 04 00 DD 4E 08 DD 46 09 09 E5 21 -R 00 00 01 00 -T 61 02 00 00 06 00 09 5E 23 56 E1 73 23 72 E1 -R 00 00 01 00 -T 6C 02 00 00 73 23 72 69 60 73 23 72 21 0C 00 -R 00 00 01 00 -T 77 02 00 00 DD 4E 08 DD 46 09 09 7E DD B6 FC -R 00 00 01 00 -T 82 02 00 00 77 23 7E DD B6 FD 77 21 0A 00 09 -R 00 00 01 00 -T 8D 02 00 00 DD 5E 04 DD 56 05 73 23 72 69 60 -R 00 00 01 00 -T 98 02 00 00 -R 00 00 01 00 -T 98 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcl/fprintf.rel b/lib/relcl/fprintf.rel deleted file mode 100644 index fee7eb39..00000000 --- a/lib/relcl/fprintf.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S vfprintf Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2D flags 0 -S fprintf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 0E 00 39 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 01 02 00 09 DD 75 FC DD 74 FD E5 -R 00 00 01 00 -T 14 00 00 00 DD 4E 0A DD 46 0B DD 5E 08 DD 56 -R 00 00 01 00 -T 1F 00 00 00 09 CD 00 00 00 00 F1 DD 75 FE DD -R 00 00 01 00 02 06 03 00 -T 28 00 00 00 74 FF C3 00 00 00 00 -R 00 00 01 00 02 07 01 00 diff --git a/lib/relcl/fputc.rel b/lib/relcl/fputc.rel deleted file mode 100644 index d49c290f..00000000 --- a/lib/relcl/fputc.rel +++ /dev/null @@ -1,121 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S fflush Ref00000000 -S __stdio_init_vars Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size FE flags 0 -S fputc Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF CD -R 00 00 01 00 02 05 04 00 -T 06 00 00 00 00 00 00 00 21 0C 00 09 46 23 66 -R 00 00 01 00 02 04 02 00 -T 0F 00 00 00 68 DD 75 FE DD 74 FF 7D E6 40 28 -R 00 00 01 00 -T 1A 00 00 00 13 DD 5E 04 DD 56 05 CD -R 00 00 01 00 -T 22 00 00 00 00 00 00 00 7D B4 28 06 -R 00 00 01 00 02 04 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 21 FF FF C3 FB 00 00 00 -R 00 00 01 00 00 08 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 DD 7E FE E6 20 6F DD 7E FF E6 03 -R 00 00 01 00 -T 39 00 00 00 67 3E 20 AD B4 28 06 -R 00 00 01 00 -T 40 00 00 00 -R 00 00 01 00 -T 40 00 00 00 21 FF FF C3 FB 00 00 00 -R 00 00 01 00 00 08 01 00 -T 46 00 00 00 -R 00 00 01 00 -T 46 00 00 00 21 08 00 DD 4E 04 DD 46 05 09 5E -R 00 00 01 00 -T 51 00 00 00 23 56 0A 6F 03 0A 67 A7 ED 52 38 -R 00 00 01 00 -T 5C 00 00 00 13 DD 5E 04 DD 56 05 CD -R 00 00 01 00 -T 64 00 00 00 00 00 00 00 7D B4 28 06 -R 00 00 01 00 02 04 01 00 -T 6A 00 00 00 -R 00 00 01 00 -T 6A 00 00 00 -R 00 00 01 00 -T 6A 00 00 00 -R 00 00 01 00 -T 6A 00 00 00 21 FF FF C3 FB 00 00 00 -R 00 00 01 00 00 08 01 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 DD 6E 04 DD 66 05 4E 23 46 03 70 -R 00 00 01 00 -T 7B 00 00 00 2B 71 0B 69 60 DD 46 02 70 21 -R 00 00 01 00 -T 85 00 00 00 0C 00 DD 4E 04 DD 46 05 09 7E F6 -R 00 00 01 00 -T 90 00 00 00 80 77 23 7E F6 00 77 3E 0A DD AE -R 00 00 01 00 -T 9B 00 00 00 02 DD B6 03 20 07 DD 7E FE E6 01 -R 00 00 01 00 -T A6 00 00 00 20 07 -R 00 00 01 00 -T A8 00 00 00 -R 00 00 01 00 -T A8 00 00 00 -R 00 00 01 00 -T A8 00 00 00 DD 7E FE E6 02 28 12 -R 00 00 01 00 -T AF 00 00 00 -R 00 00 01 00 -T AF 00 00 00 -R 00 00 01 00 -T AF 00 00 00 DD 5E 04 DD 56 05 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T B8 00 00 00 7D B4 28 05 -R 00 00 01 00 -T BC 00 00 00 -R 00 00 01 00 -T BC 00 00 00 -R 00 00 01 00 -T BC 00 00 00 -R 00 00 01 00 -T BC 00 00 00 21 FF FF 18 3A -R 00 00 01 00 -T C1 00 00 00 -R 00 00 01 00 -T C1 00 00 00 DD 7E FE E6 03 28 18 -R 00 00 01 00 -T C8 00 00 00 -R 00 00 01 00 -T C8 00 00 00 21 04 00 DD 4E 04 DD 46 05 09 E5 -R 00 00 01 00 -T D3 00 00 00 21 06 00 09 4E 23 46 E1 71 23 70 -R 00 00 01 00 -T DE 00 00 00 18 16 -R 00 00 01 00 -T E0 00 00 00 -R 00 00 01 00 -T E0 00 00 00 21 04 00 DD 4E 04 DD 46 05 09 E5 -R 00 00 01 00 -T EB 00 00 00 21 08 00 09 4E 23 46 E1 71 23 70 -R 00 00 01 00 -T F6 00 00 00 -R 00 00 01 00 -T F6 00 00 00 DD 6E 02 26 00 -R 00 00 01 00 -T FB 00 00 00 -R 00 00 01 00 -T FB 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 diff --git a/lib/relcl/fputs.rel b/lib/relcl/fputs.rel deleted file mode 100644 index 21bed3c9..00000000 --- a/lib/relcl/fputs.rel +++ /dev/null @@ -1,50 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S fputc Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 59 flags 0 -S fputs Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF AF DD 77 FC -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 DD 77 FD DD 6E 02 DD 66 03 DD 75 -R 00 00 01 00 -T 14 00 00 00 FE DD 74 FF -R 00 00 01 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 DD 6E FE DD 66 FF AF B6 28 2E -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 -R 00 00 01 00 -T 2D 00 00 00 FF 23 DD 75 FE DD 74 FF 2B 5E 16 -R 00 00 01 00 -T 38 00 00 00 00 CD 00 00 00 00 7D A4 3C 20 05 -R 00 00 01 00 02 06 02 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 21 FF FF 18 10 -R 00 00 01 00 -T 46 00 00 00 -R 00 00 01 00 -T 46 00 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 4E 00 00 00 -R 00 00 01 00 -T 4E 00 00 00 18 C8 -R 00 00 01 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 -T 56 00 00 00 -R 00 00 01 00 -T 56 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcl/fread.rel b/lib/relcl/fread.rel deleted file mode 100644 index f016e4fc..00000000 --- a/lib/relcl/fread.rel +++ /dev/null @@ -1,146 +0,0 @@ -XL4 -H 2 areas C global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S fflush Ref00000000 -S memcpy Ref00000000 -S ?S_MUL_L02 Ref00000000 -S __stdio_init_vars Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?US_DIV_L02 Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 195 flags 0 -S fread Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF AF DD 77 FE -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 DD 77 FF CD 00 00 00 00 DD 7E 02 -R 00 00 01 00 02 08 04 00 -T 12 00 00 00 DD B6 03 28 18 DD 7E 04 DD B6 05 -R 00 00 01 00 -T 1D 00 00 00 28 10 DD 7E 08 DD B6 09 28 08 DD -R 00 00 01 00 -T 28 00 00 00 7E 0A DD B6 0B 20 06 -R 00 00 01 00 -T 2F 00 00 00 -R 00 00 01 00 -T 2F 00 00 00 -R 00 00 01 00 -T 2F 00 00 00 -R 00 00 01 00 -T 2F 00 00 00 21 00 00 C3 92 01 00 00 -R 00 00 01 00 00 08 01 00 -T 35 00 00 00 -R 00 00 01 00 -T 35 00 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 46 -R 00 00 01 00 -T 40 00 00 00 23 66 68 DD 75 FA DD 74 FB 7D E6 -R 00 00 01 00 -T 4B 00 00 00 80 28 09 -R 00 00 01 00 -T 4E 00 00 00 -R 00 00 01 00 -T 4E 00 00 00 DD 5E 0A DD 56 0B CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 DD 7E FA E6 10 6F DD 7E FB E6 03 -R 00 00 01 00 -T 62 00 00 00 67 3E 10 AD B4 28 06 -R 00 00 01 00 -T 69 00 00 00 -R 00 00 01 00 -T 69 00 00 00 21 00 00 C3 92 01 00 00 -R 00 00 01 00 00 08 01 00 -T 6F 00 00 00 -R 00 00 01 00 -T 6F 00 00 00 DD 4E 08 DD 46 09 DD 5E 04 DD 56 -R 00 00 01 00 -T 7A 00 00 00 05 CD 00 00 00 00 DD 73 FC DD 72 -R 00 00 01 00 02 06 03 00 -T 83 00 00 00 FD DD 6E 0A DD 66 0B 4E 23 46 DD -R 00 00 01 00 -T 8E 00 00 00 6E 0A DD 66 0B 23 23 7E 23 66 6F -R 00 00 01 00 -T 99 00 00 00 A7 ED 42 DD 75 F8 DD 74 F9 A7 ED -R 00 00 01 00 -T A4 00 00 00 52 38 34 -R 00 00 01 00 -T A7 00 00 00 -R 00 00 01 00 -T A7 00 00 00 DD 6E FC DD 66 FD E5 DD 6E 0A DD -R 00 00 01 00 -T B2 00 00 00 66 0B 4E 23 46 DD 5E 02 DD 56 03 -R 00 00 01 00 -T BD 00 00 00 CD 00 00 00 00 F1 DD 6E 0A DD 66 -R 00 00 01 00 02 05 02 00 -T C6 00 00 00 0B 7E DD 86 FC 77 23 7E DD 8E FD -R 00 00 01 00 -T D1 00 00 00 77 DD 6E FC DD 66 FD C3 -R 00 00 01 00 -T D9 00 00 00 92 01 00 00 -R 00 00 01 00 00 04 01 00 -T DB 00 00 00 -R 00 00 01 00 -T DB 00 00 00 DD 4E F8 DD 46 F9 21 00 00 CD -R 00 00 01 00 -T E5 00 00 00 00 00 00 00 30 26 -R 00 00 01 00 02 04 07 00 -T E9 00 00 00 -R 00 00 01 00 -T E9 00 00 00 DD 6E F8 DD 66 F9 E5 DD 6E 0A DD -R 00 00 01 00 -T F4 00 00 00 66 0B 4E 23 46 DD 5E 02 DD 56 03 -R 00 00 01 00 -T FF 00 00 00 CD 00 00 00 00 F1 DD 6E F8 DD 66 -R 00 00 01 00 02 05 02 00 -T 08 01 00 00 F9 DD 75 FE DD 74 FF -R 00 00 01 00 -T 0F 01 00 00 -R 00 00 01 00 -T 0F 01 00 00 DD 4E FE DD 46 FF DD 6E FC DD 66 -R 00 00 01 00 -T 1A 01 00 00 FD A7 ED 42 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 25 01 00 00 09 4D 44 21 0A 00 DD 5E 0A DD 56 -R 00 00 01 00 -T 30 01 00 00 0B 19 5E 23 56 CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 09 00 -T 39 01 00 00 DD 75 F8 DD 74 F9 CB 7C 28 1C -R 00 00 01 00 -T 43 01 00 00 -R 00 00 01 00 -T 43 01 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 7E -R 00 00 01 00 -T 4E 01 00 00 F6 00 77 23 7E F6 02 77 AF DD 77 -R 00 00 01 00 -T 59 01 00 00 F8 DD 77 F9 18 1B -R 00 00 01 00 -T 5F 01 00 00 -R 00 00 01 00 -T 5F 01 00 00 DD 7E F8 DD B6 F9 20 13 -R 00 00 01 00 -T 67 01 00 00 -R 00 00 01 00 -T 67 01 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 7E -R 00 00 01 00 -T 72 01 00 00 F6 00 77 23 7E F6 01 77 -R 00 00 01 00 -T 7A 01 00 00 -R 00 00 01 00 -T 7A 01 00 00 -R 00 00 01 00 -T 7A 01 00 00 DD 6E F8 DD 66 F9 DD 4E FE DD 46 -R 00 00 01 00 -T 85 01 00 00 FF 09 EB DD 4E 04 DD 46 05 CD -R 00 00 01 00 -T 8F 01 00 00 00 00 00 00 EB -R 00 00 01 00 02 04 08 00 -T 92 01 00 00 -R 00 00 01 00 -T 92 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 diff --git a/lib/relcl/free.rel b/lib/relcl/free.rel deleted file mode 100644 index febc1448..00000000 --- a/lib/relcl/free.rel +++ /dev/null @@ -1,90 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S __malloc_last Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size E0 flags 0 -S free Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 FC FF DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 4E 02 DD 46 03 09 DD 75 FE DD 74 -R 00 00 01 00 -T 14 00 00 00 FF 23 23 7E 23 B6 28 06 -R 00 00 01 00 -T 1C 00 00 00 -R 00 00 01 00 -T 1C 00 00 00 21 FF FF C3 DD 00 00 00 -R 00 00 01 00 00 08 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 2A 00 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 02 05 01 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 DD 4E FC DD 46 FD DD 6E FE DD 66 -R 00 00 01 00 -T 36 00 00 00 FF A7 ED 42 38 17 DD 6E FC DD 66 -R 00 00 01 00 -T 41 00 00 00 FD 23 23 46 23 66 68 DD 4E FE DD -R 00 00 01 00 -T 4C 00 00 00 46 FF A7 ED 42 30 53 -R 00 00 01 00 -T 53 00 00 00 -R 00 00 01 00 -T 53 00 00 00 -R 00 00 01 00 -T 53 00 00 00 -R 00 00 01 00 -T 53 00 00 00 DD 6E FC DD 66 FD 23 23 4E 23 46 -R 00 00 01 00 -T 5E 00 00 00 DD 6E FC DD 66 FD A7 ED 42 38 29 -R 00 00 01 00 -T 69 00 00 00 DD 4E FE DD 46 FF DD 6E FC DD 66 -R 00 00 01 00 -T 74 00 00 00 FD A7 ED 42 38 16 DD 6E FC DD 66 -R 00 00 01 00 -T 7F 00 00 00 FD 23 23 4E 23 46 DD 6E FE DD 66 -R 00 00 01 00 -T 8A 00 00 00 FF A7 ED 42 30 02 -R 00 00 01 00 -T 90 00 00 00 -R 00 00 01 00 -T 90 00 00 00 -R 00 00 01 00 -T 90 00 00 00 -R 00 00 01 00 -T 90 00 00 00 -R 00 00 01 00 -T 90 00 00 00 -R 00 00 01 00 -T 90 00 00 00 18 14 -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 DD 6E FC DD 66 FD 23 23 46 23 66 -R 00 00 01 00 -T 9D 00 00 00 68 DD 75 FC DD 74 FD 18 85 -R 00 00 01 00 -T A6 00 00 00 -R 00 00 01 00 -T A6 00 00 00 DD 6E FE DD 66 FF 23 23 E5 DD 4E -R 00 00 01 00 -T B1 00 00 00 FC DD 46 FD 03 03 69 60 4E 23 46 -R 00 00 01 00 -T BC 00 00 00 E1 71 23 70 DD 6E FC DD 66 FD 23 -R 00 00 01 00 -T C7 00 00 00 23 DD 4E FE DD 46 FF 71 23 70 DD -R 00 00 01 00 -T D2 00 00 00 6E FC DD 66 FD 22 00 00 00 00 21 -R 00 00 01 00 02 0A 01 00 -T DB 00 00 00 00 00 -R 00 00 01 00 -T DD 00 00 00 -R 00 00 01 00 -T DD 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcl/fscanf.rel b/lib/relcl/fscanf.rel deleted file mode 100644 index 894971f2..00000000 --- a/lib/relcl/fscanf.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S vfscanf Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2D flags 0 -S fscanf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 0E 00 39 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 01 02 00 09 DD 75 FC DD 74 FD E5 -R 00 00 01 00 -T 14 00 00 00 DD 4E 0A DD 46 0B DD 5E 08 DD 56 -R 00 00 01 00 -T 1F 00 00 00 09 CD 00 00 00 00 F1 DD 75 FE DD -R 00 00 01 00 02 06 02 00 -T 28 00 00 00 74 FF C3 00 00 00 00 -R 00 00 01 00 02 07 01 00 diff --git a/lib/relcl/ftell.rel b/lib/relcl/ftell.rel deleted file mode 100644 index a01b83c7..00000000 --- a/lib/relcl/ftell.rel +++ /dev/null @@ -1,33 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_32_L09 Ref00000000 -S fflush Ref00000000 -S lseek Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 35 flags 0 -S ftell Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 04 00 02 0A 02 00 -T 07 00 00 00 A4 3C 20 08 -R 00 00 01 00 -T 0B 00 00 00 -R 00 00 01 00 -T 0B 00 00 00 01 FF FF 21 FF FF 18 1F -R 00 00 01 00 -T 13 00 00 00 -R 00 00 01 00 -T 13 00 00 00 21 01 00 E5 21 00 00 E5 21 00 00 -R 00 00 01 00 -T 1E 00 00 00 E5 21 0A 00 DD 4E 02 DD 46 03 09 -R 00 00 01 00 -T 29 00 00 00 5E 23 56 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 08 03 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcl/fwrite.rel b/lib/relcl/fwrite.rel deleted file mode 100644 index 409443d1..00000000 --- a/lib/relcl/fwrite.rel +++ /dev/null @@ -1,185 +0,0 @@ -XL4 -H 2 areas D global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S fflush Ref00000000 -S _write Ref00000000 -S memcpy Ref00000000 -S ?S_MUL_L02 Ref00000000 -S __stdio_init_vars Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?US_DIV_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1FE flags 0 -S fwrite Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF CD -R 00 00 01 00 02 05 08 00 -T 06 00 00 00 00 00 00 00 DD 7E 02 DD B6 03 28 -R 00 00 01 00 02 04 05 00 -T 0F 00 00 00 18 DD 7E 04 DD B6 05 28 10 DD 7E -R 00 00 01 00 -T 1A 00 00 00 08 DD B6 09 28 08 DD 7E 0A DD B6 -R 00 00 01 00 -T 25 00 00 00 0B 20 06 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 21 00 00 C3 FB 01 00 00 -R 00 00 01 00 00 08 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 46 -R 00 00 01 00 -T 39 00 00 00 23 66 68 DD 75 FA DD 74 FB 7D E6 -R 00 00 01 00 -T 44 00 00 00 40 28 13 DD 5E 0A DD 56 0B CD -R 00 00 01 00 -T 4E 00 00 00 00 00 00 00 7D B4 28 06 -R 00 00 01 00 02 04 01 00 -T 54 00 00 00 -R 00 00 01 00 -T 54 00 00 00 -R 00 00 01 00 -T 54 00 00 00 -R 00 00 01 00 -T 54 00 00 00 21 00 00 C3 FB 01 00 00 -R 00 00 01 00 00 08 01 00 -T 5A 00 00 00 -R 00 00 01 00 -T 5A 00 00 00 DD 7E FA E6 20 6F DD 7E FB E6 03 -R 00 00 01 00 -T 65 00 00 00 67 3E 20 AD B4 28 06 -R 00 00 01 00 -T 6C 00 00 00 -R 00 00 01 00 -T 6C 00 00 00 21 00 00 C3 FB 01 00 00 -R 00 00 01 00 00 08 01 00 -T 72 00 00 00 -R 00 00 01 00 -T 72 00 00 00 DD 4E 08 DD 46 09 DD 5E 04 DD 56 -R 00 00 01 00 -T 7D 00 00 00 05 CD 00 00 00 00 DD 73 FC DD 72 -R 00 00 01 00 02 06 04 00 -T 86 00 00 00 FD DD 6E 0A DD 66 0B 4E 23 46 21 -R 00 00 01 00 -T 91 00 00 00 08 00 DD 5E 0A DD 56 0B 19 56 23 -R 00 00 01 00 -T 9C 00 00 00 66 6A A7 ED 42 DD 75 F8 DD 74 F9 -R 00 00 01 00 -T A7 00 00 00 DD 4E FC DD 46 FD A7 ED 42 30 13 -R 00 00 01 00 -T B2 00 00 00 DD 5E 0A DD 56 0B CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T BB 00 00 00 7D B4 28 06 -R 00 00 01 00 -T BF 00 00 00 -R 00 00 01 00 -T BF 00 00 00 -R 00 00 01 00 -T BF 00 00 00 -R 00 00 01 00 -T BF 00 00 00 21 00 00 C3 FB 01 00 00 -R 00 00 01 00 00 08 01 00 -T C5 00 00 00 -R 00 00 01 00 -T C5 00 00 00 DD 6E 0A DD 66 0B 4E 23 46 21 -R 00 00 01 00 -T CF 00 00 00 08 00 DD 5E 0A DD 56 0B 19 56 23 -R 00 00 01 00 -T DA 00 00 00 66 6A A7 ED 42 DD 75 F8 DD 74 F9 -R 00 00 01 00 -T E5 00 00 00 DD 4E FC DD 46 FD A7 ED 42 38 57 -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 7E -R 00 00 01 00 -T FB 00 00 00 F6 80 77 23 7E F6 00 77 DD 6E FC -R 00 00 01 00 -T 06 01 00 00 DD 66 FD E5 DD 4E 02 DD 46 03 DD -R 00 00 01 00 -T 11 01 00 00 6E 0A DD 66 0B 5E 23 56 CD -R 00 00 01 00 -T 1A 01 00 00 00 00 00 00 F1 DD 6E 0A DD 66 0B -R 00 00 01 00 02 04 03 00 -T 23 01 00 00 7E DD 86 FC 77 23 7E DD 8E FD 77 -R 00 00 01 00 -T 2E 01 00 00 DD 7E FA E6 03 28 09 -R 00 00 01 00 -T 35 01 00 00 -R 00 00 01 00 -T 35 01 00 00 DD 5E 0A DD 56 0B CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 3E 01 00 00 -R 00 00 01 00 -T 3E 01 00 00 DD 6E 08 DD 66 09 C3 FB 01 00 00 -R 00 00 01 00 00 0B 01 00 -T 47 01 00 00 -R 00 00 01 00 -T 47 01 00 00 DD 6E FC DD 66 FD DD 75 FE DD 74 -R 00 00 01 00 -T 52 01 00 00 FF -R 00 00 01 00 -T 53 01 00 00 -R 00 00 01 00 -T 53 01 00 00 DD 6E FC DD 66 FD E5 DD 4E 02 DD -R 00 00 01 00 -T 5E 01 00 00 46 03 21 0A 00 DD 5E 0A DD 56 0B -R 00 00 01 00 -T 69 01 00 00 19 5E 23 56 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 09 02 00 -T 72 01 00 00 75 F8 DD 74 F9 4D 44 21 00 00 CD -R 00 00 01 00 -T 7D 01 00 00 00 00 00 00 30 22 -R 00 00 01 00 02 04 09 00 -T 81 01 00 00 -R 00 00 01 00 -T 81 01 00 00 DD 6E F8 DD 66 F9 DD 4E 02 DD 46 -R 00 00 01 00 -T 8C 01 00 00 03 09 DD 75 02 DD 74 03 21 04 00 -R 00 00 01 00 -T 97 01 00 00 39 7E DD 96 F8 77 23 7E DD 9E F9 -R 00 00 01 00 -T A2 01 00 00 77 -R 00 00 01 00 -T A3 01 00 00 -R 00 00 01 00 -T A3 01 00 00 DD 4E F8 DD 46 F9 21 00 00 CD -R 00 00 01 00 -T AD 01 00 00 00 00 00 00 38 A2 DD 7E F8 DD A6 -R 00 00 01 00 02 04 09 00 -T B6 01 00 00 F9 3C 20 09 2A 00 00 00 00 3E 04 -R 00 00 01 00 02 09 07 00 -T BF 01 00 00 AD B4 28 90 -R 00 00 01 00 -T C3 01 00 00 -R 00 00 01 00 -T C3 01 00 00 DD CB F9 7E 28 13 -R 00 00 01 00 -T C9 01 00 00 -R 00 00 01 00 -T C9 01 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 7E -R 00 00 01 00 -T D4 01 00 00 F6 00 77 23 7E F6 02 77 -R 00 00 01 00 -T DC 01 00 00 -R 00 00 01 00 -T DC 01 00 00 21 06 00 39 7E DD 96 FC 77 23 7E -R 00 00 01 00 -T E7 01 00 00 DD 9E FD 77 DD 4E 04 DD 46 05 DD -R 00 00 01 00 -T F2 01 00 00 5E FE DD 56 FF CD 00 00 00 00 EB -R 00 00 01 00 02 0A 0A 00 -T FB 01 00 00 -R 00 00 01 00 -T FB 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 diff --git a/lib/relcl/getcwd.rel b/lib/relcl/getcwd.rel deleted file mode 100644 index 0a7d9914..00000000 --- a/lib/relcl/getcwd.rel +++ /dev/null @@ -1,321 +0,0 @@ -XL4 -H 4 areas F global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S strcat Ref00000000 -S closedir Ref00000000 -S strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S readdir Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S strcpy Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S opendir Ref00000000 -S stat Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24F flags 0 -S getcwd Def000001FC -A CSTR size 8 flags 0 -A UDATA0 size 26 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF DD 36 FE 00 -R 00 00 01 00 02 05 09 00 -T 09 00 00 00 01 08 00 00 00 ED 5B 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 10 00 00 00 CD 00 00 00 00 CB 7C 28 06 -R 00 00 01 00 02 05 0C 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 21 00 00 C3 60 01 00 00 -R 00 00 01 00 00 08 01 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 2A 08 00 00 00 DD 4E 02 DD 46 03 -R 00 00 01 00 00 05 03 00 -T 26 00 00 00 A7 ED 42 28 03 -R 00 00 01 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 DD 34 FE -R 00 00 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 03 00 -T 35 00 00 00 DD 75 FA DD 74 FB 2B ED 4B -R 00 00 01 00 -T 3E 00 00 00 00 00 00 00 09 DD 75 F8 DD 74 F9 -R 00 00 01 00 00 04 03 00 -T 47 00 00 00 7E FE 2F 28 37 -R 00 00 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 DD 4E FA DD 46 FB 03 03 2A -R 00 00 01 00 -T 55 00 00 00 02 00 00 00 CD 00 00 00 00 30 0C -R 00 00 01 00 00 04 03 00 02 09 0A 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 21 22 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 08 00 -T 65 00 00 00 C3 60 01 00 00 -R 00 00 01 00 00 05 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 01 00 00 00 00 DD 5E F8 DD 56 F9 -R 00 00 01 00 00 05 02 00 -T 71 00 00 00 13 DD 73 F8 DD 72 F9 CD -R 00 00 01 00 -T 79 00 00 00 00 00 00 00 DD 34 FA 20 03 DD 34 -R 00 00 01 00 02 04 07 00 -T 82 00 00 00 FB -R 00 00 01 00 -T 83 00 00 00 -R 00 00 01 00 -T 83 00 00 00 -R 00 00 01 00 -T 83 00 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 8B 00 00 00 -R 00 00 01 00 -T 8B 00 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 0B 00 -T 92 00 00 00 DD 75 FC DD 74 FD 7D B4 20 06 -R 00 00 01 00 -T 9C 00 00 00 -R 00 00 01 00 -T 9C 00 00 00 21 00 00 C3 60 01 00 00 -R 00 00 01 00 00 08 01 00 -T A2 00 00 00 -R 00 00 01 00 -T A2 00 00 00 -R 00 00 01 00 -T A2 00 00 00 DD 5E FC DD 56 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T AB 00 00 00 DD 75 F6 DD 74 F7 7D B4 CA -R 00 00 01 00 -T B4 00 00 00 4E 01 00 00 -R 00 00 01 00 00 04 01 00 -T B6 00 00 00 -R 00 00 01 00 -T B6 00 00 00 AF DD B6 FE 20 15 DD 6E F6 DD 66 -R 00 00 01 00 -T C1 00 00 00 F7 46 23 66 68 DD 4E 04 DD 46 05 -R 00 00 01 00 -T CC 00 00 00 A7 ED 42 20 7A -R 00 00 01 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 21 06 00 DD 4E F6 DD 46 F7 09 EB -R 00 00 01 00 -T DC 00 00 00 CD 00 00 00 00 DD 4E FA DD 46 FB -R 00 00 01 00 02 05 03 00 -T E5 00 00 00 09 4D 44 2A 02 00 00 00 A7 ED 42 -R 00 00 01 00 00 08 03 00 -T EE 00 00 00 30 0B -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 21 22 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 08 00 -T F9 00 00 00 18 65 -R 00 00 01 00 -T FB 00 00 00 -R 00 00 01 00 -T FB 00 00 00 21 06 00 DD 4E F6 DD 46 F7 09 4D -R 00 00 01 00 -T 06 01 00 00 44 DD 5E F8 DD 56 F9 13 CD -R 00 00 01 00 -T 0F 01 00 00 00 00 00 00 01 08 00 00 00 ED 5B -R 00 00 01 00 02 04 07 00 00 09 03 00 -T 16 01 00 00 00 00 00 00 CD 00 00 00 00 CB 7C -R 00 00 01 00 00 04 03 00 02 09 0C 00 -T 1D 01 00 00 28 02 -R 00 00 01 00 -T 1F 01 00 00 -R 00 00 01 00 -T 1F 01 00 00 18 81 -R 00 00 01 00 -T 21 01 00 00 -R 00 00 01 00 -T 21 01 00 00 2A 0A 00 00 00 DD 4E 04 DD 46 05 -R 00 00 01 00 00 05 03 00 -T 2A 01 00 00 A7 ED 42 20 1C 2A 08 00 00 00 DD -R 00 00 01 00 00 0A 03 00 -T 33 01 00 00 4E 02 DD 46 03 A7 ED 42 20 0E -R 00 00 01 00 -T 3D 01 00 00 -R 00 00 01 00 -T 3D 01 00 00 -R 00 00 01 00 -T 3D 01 00 00 -R 00 00 01 00 -T 3D 01 00 00 DD 5E FC DD 56 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 46 01 00 00 2A 00 00 00 00 18 15 -R 00 00 01 00 00 05 03 00 -T 4B 01 00 00 -R 00 00 01 00 -T 4B 01 00 00 -R 00 00 01 00 -T 4B 01 00 00 C3 A2 00 00 00 -R 00 00 01 00 00 05 01 00 -T 4E 01 00 00 -R 00 00 01 00 -T 4E 01 00 00 DD 5E FC DD 56 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 57 01 00 00 21 02 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 08 00 -T 60 01 00 00 -R 00 00 01 00 -T 60 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 63 01 00 00 -R 00 00 01 00 -T 63 01 00 00 CD 00 00 00 00 FC FF 01 -R 00 00 01 00 02 05 09 00 -T 69 01 00 00 08 00 00 00 ED 5B 00 00 00 00 CD -R 00 00 01 00 00 04 03 00 00 0A 03 00 -T 70 01 00 00 00 00 00 00 CB 7C 28 05 -R 00 00 01 00 02 04 0C 00 -T 76 01 00 00 -R 00 00 01 00 -T 76 01 00 00 21 00 00 18 7E -R 00 00 01 00 -T 7B 01 00 00 -R 00 00 01 00 -T 7B 01 00 00 2A 08 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 00 05 03 00 -T 84 01 00 00 ED 4B 0A 00 00 00 DD 71 FE DD 70 -R 00 00 01 00 00 06 03 00 -T 8D 01 00 00 FF ED 4B 04 00 00 00 A7 ED 42 20 -R 00 00 01 00 00 07 03 00 -T 96 01 00 00 1D 2A 06 00 00 00 DD 4E FE DD 46 -R 00 00 01 00 00 06 03 00 -T 9F 01 00 00 FF A7 ED 42 20 0F -R 00 00 01 00 -T A5 01 00 00 -R 00 00 01 00 -T A5 01 00 00 -R 00 00 01 00 -T A5 01 00 00 -R 00 00 01 00 -T A5 01 00 00 01 00 00 00 00 ED 5B 00 00 00 00 -R 00 00 01 00 00 05 02 00 00 0B 03 00 -T AC 01 00 00 CD 00 00 00 00 2A 00 00 00 00 18 -R 00 00 01 00 02 05 07 00 00 0A 03 00 -T B3 01 00 00 45 -R 00 00 01 00 -T B4 01 00 00 -R 00 00 01 00 -T B4 01 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 03 00 -T BB 01 00 00 01 04 00 09 4D 44 2A 02 00 00 00 -R 00 00 01 00 00 0B 03 00 -T C4 01 00 00 A7 ED 42 30 0B -R 00 00 01 00 -T C9 01 00 00 -R 00 00 01 00 -T C9 01 00 00 21 22 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 08 00 -T D2 01 00 00 18 25 -R 00 00 01 00 -T D4 01 00 00 -R 00 00 01 00 -T D4 01 00 00 01 02 00 00 00 ED 5B 00 00 00 00 -R 00 00 01 00 00 05 02 00 00 0B 03 00 -T DB 01 00 00 CD 00 00 00 00 CD 63 01 00 00 7D -R 00 00 01 00 02 05 01 00 00 0A 01 00 -T E2 01 00 00 B4 28 11 DD 4E FE DD 46 FF DD 5E -R 00 00 01 00 -T ED 01 00 00 FC DD 56 FD CD 00 00 00 00 18 03 -R 00 00 01 00 00 09 01 00 -T F6 01 00 00 -R 00 00 01 00 -T F6 01 00 00 21 00 00 -R 00 00 01 00 -T F9 01 00 00 -R 00 00 01 00 -T F9 01 00 00 -R 00 00 01 00 -T F9 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T FC 01 00 00 -R 00 00 01 00 -T FC 01 00 00 CD 00 00 00 00 ED 43 02 00 00 00 -R 00 00 01 00 02 05 06 00 00 0B 03 00 -T 03 02 00 00 69 60 01 03 80 3E 80 AC 67 ED 42 -R 00 00 01 00 -T 0E 02 00 00 30 0B -R 00 00 01 00 -T 10 02 00 00 -R 00 00 01 00 -T 10 02 00 00 21 22 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 08 00 -T 19 02 00 00 18 31 -R 00 00 01 00 -T 1B 02 00 00 -R 00 00 01 00 -T 1B 02 00 00 01 06 00 00 00 DD 6E 02 DD 66 03 -R 00 00 01 00 00 05 02 00 -T 24 02 00 00 22 00 00 00 00 EB CD 00 00 00 00 -R 00 00 01 00 00 05 03 00 02 0B 07 00 -T 2B 02 00 00 01 08 00 00 00 11 00 00 00 00 CD -R 00 00 01 00 00 05 03 00 00 0A 02 00 -T 32 02 00 00 00 00 00 00 CB 7C 28 05 -R 00 00 01 00 02 04 0C 00 -T 38 02 00 00 -R 00 00 01 00 -T 38 02 00 00 21 00 00 18 0F -R 00 00 01 00 -T 3D 02 00 00 -R 00 00 01 00 -T 3D 02 00 00 2A 08 00 00 00 22 04 00 00 00 2A -R 00 00 01 00 00 05 03 00 00 0A 03 00 -T 44 02 00 00 0A 00 00 00 22 06 00 00 00 CD -R 00 00 01 00 00 04 03 00 00 09 03 00 -T 4A 02 00 00 63 01 00 00 -R 00 00 01 00 00 04 01 00 -T 4C 02 00 00 -R 00 00 01 00 -T 4C 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2F 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 02 00 00 00 2F 2E 2E 00 -R 00 00 02 00 -T 06 00 00 00 -R 00 00 02 00 -T 06 00 00 00 2E 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 06 00 00 00 -R 00 00 03 00 -T 06 00 00 00 -R 00 00 03 00 -T 08 00 00 00 -R 00 00 03 00 -T 08 00 00 00 -R 00 00 03 00 diff --git a/lib/relcl/getenv.rel b/lib/relcl/getenv.rel deleted file mode 100644 index f2aafc5d..00000000 --- a/lib/relcl/getenv.rel +++ /dev/null @@ -1,78 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S environ Ref00000000 -S strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S memcmp Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size A7 flags 0 -S getenv Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF 2A -R 00 00 01 00 02 05 04 00 -T 06 00 00 00 00 00 00 00 DD 75 FC DD 74 FD DD -R 00 00 01 00 02 04 01 00 -T 0F 00 00 00 5E 02 DD 56 03 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 02 00 -T 18 00 00 00 75 FE DD 74 FF DD 7E FC DD B6 FD -R 00 00 01 00 -T 23 00 00 00 28 08 DD 7E FE DD B6 FF 20 05 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 21 00 00 18 72 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 DD 6E FC DD 66 FD 4D 44 03 03 DD -R 00 00 01 00 -T 3D 00 00 00 71 FC DD 70 FD 46 23 66 68 DD 75 -R 00 00 01 00 -T 48 00 00 00 FA DD 74 FB 7D B4 28 51 -R 00 00 01 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 DD 6E 02 DD 66 03 E5 DD 6E FA DD -R 00 00 01 00 -T 5B 00 00 00 66 FB 7E E1 BE 20 3D DD 6E FE DD -R 00 00 01 00 -T 66 00 00 00 66 FF DD 4E FA DD 46 FB 09 7E FE -R 00 00 01 00 -T 71 00 00 00 3D 20 2B DD 6E FE DD 66 FF E5 DD -R 00 00 01 00 -T 7C 00 00 00 4E FA DD 46 FB DD 5E 02 DD 56 03 -R 00 00 01 00 -T 87 00 00 00 CD 00 00 00 00 F1 7D B4 20 10 -R 00 00 01 00 02 05 06 00 -T 8F 00 00 00 -R 00 00 01 00 -T 8F 00 00 00 -R 00 00 01 00 -T 8F 00 00 00 -R 00 00 01 00 -T 8F 00 00 00 DD 6E FE DD 66 FF 23 DD 4E FA DD -R 00 00 01 00 -T 9A 00 00 00 46 FB 09 18 05 -R 00 00 01 00 -T 9F 00 00 00 -R 00 00 01 00 -T 9F 00 00 00 18 91 -R 00 00 01 00 -T A1 00 00 00 -R 00 00 01 00 -T A1 00 00 00 21 00 00 -R 00 00 01 00 -T A4 00 00 00 -R 00 00 01 00 -T A4 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 diff --git a/lib/relcl/getgrent.rel b/lib/relcl/getgrent.rel deleted file mode 100644 index 172aa7f9..00000000 --- a/lib/relcl/getgrent.rel +++ /dev/null @@ -1,271 +0,0 @@ -XL4 -H 3 areas A global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S lseek Ref00000000 -S strchr Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S strtol Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 292 flags 0 -S __getgrent Def00000000 -A UDATA0 size F2 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF -R 00 00 01 00 02 05 05 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 21 C8 00 E5 01 00 00 00 00 DD 5E -R 00 00 01 00 00 09 02 00 -T 0E 00 00 00 02 DD 56 03 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 09 07 00 -T 17 00 00 00 75 FC DD 74 FD 4D 44 21 00 00 CD -R 00 00 01 00 -T 22 00 00 00 00 00 00 00 38 06 -R 00 00 01 00 02 04 06 00 -T 26 00 00 00 -R 00 00 01 00 -T 26 00 00 00 21 00 00 C3 8F 02 00 00 -R 00 00 01 00 00 08 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 01 0A 00 11 00 00 00 00 CD -R 00 00 01 00 00 08 02 00 -T 33 00 00 00 00 00 00 00 DD 75 F6 DD 74 F7 7D -R 00 00 01 00 02 04 02 00 -T 3C 00 00 00 B4 28 55 -R 00 00 01 00 -T 3F 00 00 00 -R 00 00 01 00 -T 3F 00 00 00 DD 6E F6 DD 66 F7 23 DD 75 F6 DD -R 00 00 01 00 -T 4A 00 00 00 74 F7 2B 36 00 21 01 00 E5 01 -R 00 00 01 00 -T 54 00 00 00 00 00 00 00 DD 6E F6 DD 66 F7 A7 -R 00 00 01 00 00 04 02 00 -T 5D 00 00 00 ED 42 DD 4E FC DD 46 FD A7 ED 42 -R 00 00 01 00 -T 68 00 00 00 7C 07 9F 4F 41 C5 E5 DD 5E 02 DD -R 00 00 01 00 -T 73 00 00 00 56 03 CD 00 00 00 00 F1 F1 F1 DD -R 00 00 01 00 02 07 01 00 -T 7C 00 00 00 6E F6 DD 66 F7 2B 2B 7E FE 0D 20 -R 00 00 01 00 -T 87 00 00 00 0A -R 00 00 01 00 -T 88 00 00 00 -R 00 00 01 00 -T 88 00 00 00 DD 6E F6 DD 66 F7 2B 2B 36 00 -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 18 6A -R 00 00 01 00 -T 94 00 00 00 -R 00 00 01 00 -T 94 00 00 00 -R 00 00 01 00 -T 94 00 00 00 21 C8 00 E5 01 00 00 00 00 DD 5E -R 00 00 01 00 00 09 02 00 -T 9D 00 00 00 02 DD 56 03 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 09 07 00 -T A6 00 00 00 75 FC DD 74 FD 4D 44 21 00 00 CD -R 00 00 01 00 -T B1 00 00 00 00 00 00 00 38 06 -R 00 00 01 00 02 04 06 00 -T B5 00 00 00 -R 00 00 01 00 -T B5 00 00 00 21 00 00 C3 8F 02 00 00 -R 00 00 01 00 00 08 01 00 -T BB 00 00 00 -R 00 00 01 00 -T BB 00 00 00 01 0A 00 11 00 00 00 00 CD -R 00 00 01 00 00 08 02 00 -T C2 00 00 00 00 00 00 00 DD 75 F6 DD 74 F7 7D -R 00 00 01 00 02 04 02 00 -T CB 00 00 00 B4 28 C6 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 21 01 00 E5 01 00 00 00 00 DD 6E -R 00 00 01 00 00 09 02 00 -T D7 00 00 00 F6 DD 66 F7 A7 ED 42 DD 4E FC DD -R 00 00 01 00 -T E2 00 00 00 46 FD A7 ED 42 23 7C 07 9F 4F 41 -R 00 00 01 00 -T ED 00 00 00 C5 E5 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T F6 00 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 -T FC 00 00 00 05 00 00 00 -R 00 00 01 00 00 04 01 00 -T FE 00 00 00 -R 00 00 01 00 -T FE 00 00 00 3A 00 00 00 00 FE 23 28 15 3A -R 00 00 01 00 00 05 02 00 -T 06 01 00 00 00 00 00 00 FE 20 28 0E 3A -R 00 00 01 00 00 04 02 00 -T 0D 01 00 00 00 00 00 00 FE 0A 28 07 3A -R 00 00 01 00 00 04 02 00 -T 14 01 00 00 00 00 00 00 FE 09 20 03 -R 00 00 01 00 00 04 02 00 -T 1A 01 00 00 -R 00 00 01 00 -T 1A 01 00 00 -R 00 00 01 00 -T 1A 01 00 00 -R 00 00 01 00 -T 1A 01 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 1D 01 00 00 -R 00 00 01 00 -T 1D 01 00 00 21 00 00 00 00 22 EA 00 00 00 01 -R 00 00 01 00 00 05 02 00 00 0A 02 00 -T 24 01 00 00 3A 00 11 00 00 00 00 CD -R 00 00 01 00 00 07 02 00 -T 2A 01 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 02 00 -T 33 01 00 00 B4 20 03 -R 00 00 01 00 -T 36 01 00 00 -R 00 00 01 00 -T 36 01 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 39 01 00 00 -R 00 00 01 00 -T 39 01 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 44 01 00 00 74 FF 2B 36 00 DD 6E FE DD 66 FF -R 00 00 01 00 -T 4F 01 00 00 22 EC 00 00 00 01 3A 00 DD 5E FE -R 00 00 01 00 00 05 02 00 -T 58 01 00 00 DD 56 FF CD 00 00 00 00 DD 75 FE -R 00 00 01 00 02 08 02 00 -T 61 01 00 00 DD 74 FF 7D B4 20 03 -R 00 00 01 00 -T 68 01 00 00 -R 00 00 01 00 -T 68 01 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 6B 01 00 00 -R 00 00 01 00 -T 6B 01 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 76 01 00 00 74 FF 2B 36 00 DD 6E FE DD 66 FF -R 00 00 01 00 -T 81 01 00 00 DD 75 F6 DD 74 F7 01 3A 00 DD 5E -R 00 00 01 00 -T 8C 01 00 00 FE DD 56 FF CD 00 00 00 00 DD 75 -R 00 00 01 00 02 09 02 00 -T 95 01 00 00 FE DD 74 FF 7D B4 20 03 -R 00 00 01 00 -T 9D 01 00 00 -R 00 00 01 00 -T 9D 01 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T A0 01 00 00 -R 00 00 01 00 -T A0 01 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T AB 01 00 00 74 FF 2B 36 00 21 0A 00 E5 21 -R 00 00 01 00 -T B5 01 00 00 04 00 39 4D 44 DD 5E F6 DD 56 F7 -R 00 00 01 00 -T C0 01 00 00 CD 00 00 00 00 F1 22 EE 00 00 00 -R 00 00 01 00 02 05 04 00 00 0B 02 00 -T C7 01 00 00 DD 6E F8 DD 66 F9 AF B6 28 03 -R 00 00 01 00 -T D1 01 00 00 -R 00 00 01 00 -T D1 01 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T D4 01 00 00 -R 00 00 01 00 -T D4 01 00 00 DD 6E FE DD 66 FF DD 75 F6 DD 74 -R 00 00 01 00 -T DF 01 00 00 F7 AF DD 77 FA DD 77 FB -R 00 00 01 00 -T E7 01 00 00 -R 00 00 01 00 -T E7 01 00 00 01 2C 00 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T F1 01 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 02 00 -T FA 01 00 00 B4 28 4B -R 00 00 01 00 -T FD 01 00 00 -R 00 00 01 00 -T FD 01 00 00 DD 6E FE DD 66 FF 36 00 DD 34 FE -R 00 00 01 00 -T 08 02 00 00 20 03 DD 34 FF -R 00 00 01 00 -T 0D 02 00 00 -R 00 00 01 00 -T 0D 02 00 00 DD 6E FA DD 66 FB 29 01 -R 00 00 01 00 -T 15 02 00 00 C8 00 00 00 09 DD 4E F6 DD 46 F7 -R 00 00 01 00 00 04 02 00 -T 1E 02 00 00 71 23 70 DD 6E FE DD 66 FF DD 75 -R 00 00 01 00 -T 29 02 00 00 F6 DD 74 F7 01 10 80 DD 6E FA DD -R 00 00 01 00 -T 34 02 00 00 66 FB 3E 80 AC 67 ED 42 30 08 -R 00 00 01 00 -T 3E 02 00 00 -R 00 00 01 00 -T 3E 02 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 46 02 00 00 -R 00 00 01 00 -T 46 02 00 00 -R 00 00 01 00 -T 46 02 00 00 18 9F -R 00 00 01 00 -T 48 02 00 00 -R 00 00 01 00 -T 48 02 00 00 DD 6E F6 DD 66 F7 AF B6 20 11 -R 00 00 01 00 -T 52 02 00 00 -R 00 00 01 00 -T 52 02 00 00 DD 6E FA DD 66 FB 29 01 -R 00 00 01 00 -T 5A 02 00 00 C8 00 00 00 09 AF 77 23 77 18 23 -R 00 00 01 00 00 04 02 00 -T 63 02 00 00 -R 00 00 01 00 -T 63 02 00 00 DD 6E FA DD 66 FB 29 01 -R 00 00 01 00 -T 6B 02 00 00 C8 00 00 00 09 DD 4E F6 DD 46 F7 -R 00 00 01 00 00 04 02 00 -T 74 02 00 00 71 23 70 DD 6E FA DD 66 FB 29 01 -R 00 00 01 00 -T 7F 02 00 00 CA 00 00 00 09 AF 77 23 77 -R 00 00 01 00 00 04 02 00 -T 86 02 00 00 -R 00 00 01 00 -T 86 02 00 00 21 C8 00 00 00 22 F0 00 00 00 21 -R 00 00 01 00 00 05 02 00 00 0A 02 00 -T 8D 02 00 00 EA 00 00 00 -R 00 00 01 00 00 04 02 00 -T 8F 02 00 00 -R 00 00 01 00 -T 8F 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T C8 00 00 00 -R 00 00 02 00 -T C8 00 00 00 -R 00 00 02 00 -T EA 00 00 00 -R 00 00 02 00 -T EA 00 00 00 -R 00 00 02 00 diff --git a/lib/relcl/getgrgid.rel b/lib/relcl/getgrgid.rel deleted file mode 100644 index dbd3b69b..00000000 --- a/lib/relcl/getgrgid.rel +++ /dev/null @@ -1,46 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S endgrent Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S getgrent Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S setgrent Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3E flags 0 -S getgrgid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF CD -R 00 00 01 00 02 05 04 00 -T 06 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 05 00 -T 08 00 00 00 -R 00 00 01 00 -T 08 00 00 00 CD 00 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 02 05 03 00 -T 11 00 00 00 7D B4 28 1D -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 21 04 00 DD 4E FE DD 46 FF 09 46 -R 00 00 01 00 -T 20 00 00 00 23 66 68 DD 4E 02 DD 46 03 A7 ED -R 00 00 01 00 -T 2B 00 00 00 42 20 02 -R 00 00 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 18 02 -R 00 00 01 00 -T 30 00 00 00 -R 00 00 01 00 -T 30 00 00 00 18 D6 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 CD 00 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 02 05 01 00 -T 3B 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcl/getgrnam.rel b/lib/relcl/getgrnam.rel deleted file mode 100644 index 3babd7be..00000000 --- a/lib/relcl/getgrnam.rel +++ /dev/null @@ -1,60 +0,0 @@ -XL4 -H 2 areas A global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S endgrent Ref00000000 -S strcmp Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S getgrent Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S setgrent Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4E flags 0 -S getgrnam Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 B6 03 20 0B -R 00 00 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 21 16 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 05 00 -T 16 00 00 00 18 33 -R 00 00 01 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 07 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 CD 00 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 02 05 04 00 -T 24 00 00 00 7D B4 28 1A -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 DD 4E 02 DD 46 03 DD 6E FE DD 66 -R 00 00 01 00 -T 33 00 00 00 FF 5E 23 56 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 09 02 00 -T 3C 00 00 00 20 02 -R 00 00 01 00 -T 3E 00 00 00 -R 00 00 01 00 -T 3E 00 00 00 18 02 -R 00 00 01 00 -T 40 00 00 00 -R 00 00 01 00 -T 40 00 00 00 18 D9 -R 00 00 01 00 -T 42 00 00 00 -R 00 00 01 00 -T 42 00 00 00 CD 00 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 02 05 01 00 -T 4B 00 00 00 -R 00 00 01 00 -T 4B 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 diff --git a/lib/relcl/getopt.rel b/lib/relcl/getopt.rel deleted file mode 100644 index 57d94182..00000000 --- a/lib/relcl/getopt.rel +++ /dev/null @@ -1,269 +0,0 @@ -XL4 -H 6 areas F global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S stderr Ref00000000 -S strchr Ref00000000 -S strcmp Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S fputc Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S fputs Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20B flags 0 -S getopt Def00000000 -A CSTR size 3A flags 0 -A UDATA0 size 4 flags 0 -S optarg Def00000002 -S optopt Def00000000 -A IDATA0 size 6 flags 0 -S optind Def00000002 -S opterr Def00000000 -A CDATA0 size 6 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 2A -R 00 00 01 00 02 05 06 00 -T 06 00 00 00 04 00 00 00 3E 01 AD B4 20 61 -R 00 00 01 00 00 04 04 00 -T 0E 00 00 00 -R 00 00 01 00 -T 0E 00 00 00 DD 4E 02 DD 46 03 2A 02 00 00 00 -R 00 00 01 00 00 0B 04 00 -T 17 00 00 00 CD 00 00 00 00 30 28 2A -R 00 00 01 00 02 05 07 00 -T 1D 00 00 00 02 00 00 00 29 DD 4E 04 DD 46 05 -R 00 00 01 00 00 04 04 00 -T 26 00 00 00 09 7E 23 66 6F 7E FE 2D 20 14 2A -R 00 00 01 00 -T 31 00 00 00 02 00 00 00 29 DD 4E 04 DD 46 05 -R 00 00 01 00 00 04 04 00 -T 3A 00 00 00 09 46 23 66 68 23 7E B7 20 06 -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 21 FF FF C3 08 02 00 00 -R 00 00 01 00 00 08 01 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 01 00 00 00 00 2A 02 00 00 00 29 -R 00 00 01 00 00 05 02 00 00 0A 04 00 -T 51 00 00 00 DD 5E 04 DD 56 05 19 5E 23 56 CD -R 00 00 01 00 -T 5C 00 00 00 00 00 00 00 7D B4 20 0D -R 00 00 01 00 02 04 03 00 -T 62 00 00 00 -R 00 00 01 00 -T 62 00 00 00 2A 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 05 04 00 00 0B 04 00 -T 69 00 00 00 21 FF FF C3 08 02 00 00 -R 00 00 01 00 00 08 01 00 -T 6F 00 00 00 -R 00 00 01 00 -T 6F 00 00 00 -R 00 00 01 00 -T 6F 00 00 00 2A 02 00 00 00 29 DD 4E 04 DD 46 -R 00 00 01 00 00 05 04 00 -T 78 00 00 00 05 09 46 23 66 68 ED 4B -R 00 00 01 00 -T 80 00 00 00 04 00 00 00 09 4E 06 00 DD 71 FC -R 00 00 01 00 00 04 04 00 -T 89 00 00 00 DD 70 FD ED 43 00 00 00 00 3E 3A -R 00 00 01 00 00 09 03 00 -T 92 00 00 00 DD AE FC DD B6 FD 28 19 DD 4E FC -R 00 00 01 00 -T 9D 00 00 00 DD 46 FD DD 5E 08 DD 56 09 CD -R 00 00 01 00 -T A7 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 02 00 -T B0 00 00 00 B4 20 64 -R 00 00 01 00 -T B3 00 00 00 -R 00 00 01 00 -T B3 00 00 00 -R 00 00 01 00 -T B3 00 00 00 -R 00 00 01 00 -T B3 00 00 00 2A 00 00 00 00 7D B4 28 2D -R 00 00 01 00 00 05 04 00 -T BA 00 00 00 -R 00 00 01 00 -T BA 00 00 00 01 00 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 02 05 01 00 -T C3 00 00 00 5E 23 56 CD 00 00 00 00 01 -R 00 00 01 00 02 08 08 00 -T CA 00 00 00 00 00 00 00 11 03 00 00 00 CD -R 00 00 01 00 02 04 01 00 00 09 02 00 -T D0 00 00 00 00 00 00 00 01 00 00 00 00 DD 5E -R 00 00 01 00 02 04 08 00 02 09 01 00 -T D7 00 00 00 FC DD 56 FD CD 00 00 00 00 01 -R 00 00 01 00 02 09 05 00 -T DF 00 00 00 00 00 00 00 11 0A 00 CD -R 00 00 01 00 02 04 01 00 -T E5 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 05 00 -T E7 00 00 00 -R 00 00 01 00 -T E7 00 00 00 2A 02 00 00 00 29 DD 4E 04 DD 46 -R 00 00 01 00 00 05 04 00 -T F0 00 00 00 05 09 46 23 66 68 ED 4B -R 00 00 01 00 -T F8 00 00 00 04 00 00 00 03 ED 43 04 00 00 00 -R 00 00 01 00 00 04 04 00 00 0B 04 00 -T FF 00 00 00 09 7E B7 20 0D -R 00 00 01 00 -T 04 01 00 00 -R 00 00 01 00 -T 04 01 00 00 2A 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 05 04 00 00 0B 04 00 -T 0B 01 00 00 21 01 00 22 04 00 00 00 -R 00 00 01 00 00 08 04 00 -T 11 01 00 00 -R 00 00 01 00 -T 11 01 00 00 21 3F 00 C3 08 02 00 00 -R 00 00 01 00 00 08 01 00 -T 17 01 00 00 -R 00 00 01 00 -T 17 01 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 22 01 00 00 74 FF 7E FE 3A C2 D2 01 00 00 -R 00 00 01 00 00 0A 01 00 -T 2A 01 00 00 -R 00 00 01 00 -T 2A 01 00 00 2A 02 00 00 00 29 DD 4E 04 DD 46 -R 00 00 01 00 00 05 04 00 -T 33 01 00 00 05 09 46 23 66 68 ED 4B -R 00 00 01 00 -T 3B 01 00 00 04 00 00 00 09 23 7E B7 28 1F -R 00 00 01 00 00 04 04 00 -T 43 01 00 00 -R 00 00 01 00 -T 43 01 00 00 2A 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 05 04 00 00 0B 04 00 -T 4A 01 00 00 2B 29 DD 4E 04 DD 46 05 09 46 23 -R 00 00 01 00 -T 55 01 00 00 66 68 ED 4B 04 00 00 00 09 23 22 -R 00 00 01 00 00 08 04 00 -T 5E 01 00 00 02 00 00 00 18 68 -R 00 00 01 00 00 04 03 00 -T 62 01 00 00 -R 00 00 01 00 -T 62 01 00 00 2A 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 05 04 00 00 0B 04 00 -T 69 01 00 00 DD 4E 02 DD 46 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 07 00 -T 72 01 00 00 38 3F -R 00 00 01 00 -T 74 01 00 00 -R 00 00 01 00 -T 74 01 00 00 2A 00 00 00 00 7D B4 28 2D -R 00 00 01 00 00 05 04 00 -T 7B 01 00 00 -R 00 00 01 00 -T 7B 01 00 00 01 00 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 02 05 01 00 -T 84 01 00 00 5E 23 56 CD 00 00 00 00 01 -R 00 00 01 00 02 08 08 00 -T 8B 01 00 00 00 00 00 00 11 18 00 00 00 CD -R 00 00 01 00 02 04 01 00 00 09 02 00 -T 91 01 00 00 00 00 00 00 01 00 00 00 00 DD 5E -R 00 00 01 00 02 04 08 00 02 09 01 00 -T 98 01 00 00 FC DD 56 FD CD 00 00 00 00 01 -R 00 00 01 00 02 09 05 00 -T A0 01 00 00 00 00 00 00 11 0A 00 CD -R 00 00 01 00 02 04 01 00 -T A6 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 05 00 -T A8 01 00 00 -R 00 00 01 00 -T A8 01 00 00 21 01 00 22 04 00 00 00 21 3F 00 -R 00 00 01 00 00 08 04 00 -T B1 01 00 00 18 55 -R 00 00 01 00 -T B3 01 00 00 -R 00 00 01 00 -T B3 01 00 00 2A 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 05 04 00 00 0B 04 00 -T BA 01 00 00 2B 29 DD 4E 04 DD 46 05 09 46 23 -R 00 00 01 00 -T C5 01 00 00 66 68 22 02 00 00 00 -R 00 00 01 00 00 07 03 00 -T CA 01 00 00 -R 00 00 01 00 -T CA 01 00 00 21 01 00 22 04 00 00 00 18 30 -R 00 00 01 00 00 08 04 00 -T D2 01 00 00 -R 00 00 01 00 -T D2 01 00 00 2A 02 00 00 00 29 DD 4E 04 DD 46 -R 00 00 01 00 00 05 04 00 -T DB 01 00 00 05 09 46 23 66 68 ED 4B -R 00 00 01 00 -T E3 01 00 00 04 00 00 00 03 ED 43 04 00 00 00 -R 00 00 01 00 00 04 04 00 00 0B 04 00 -T EA 01 00 00 09 7E B7 20 0D -R 00 00 01 00 -T EF 01 00 00 -R 00 00 01 00 -T EF 01 00 00 21 01 00 22 04 00 00 00 2A -R 00 00 01 00 00 08 04 00 -T F6 01 00 00 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 04 04 00 00 0A 04 00 -T FC 01 00 00 -R 00 00 01 00 -T FC 01 00 00 21 00 00 22 02 00 00 00 -R 00 00 01 00 00 08 03 00 -T 02 02 00 00 -R 00 00 01 00 -T 02 02 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 -T 08 02 00 00 -R 00 00 01 00 -T 08 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2D 2D 00 -R 00 00 02 00 -T 03 00 00 00 -R 00 00 02 00 -T 03 00 00 00 3A 20 69 6C 6C 65 67 61 6C 20 6F -R 00 00 02 00 -T 0E 00 00 00 70 74 69 6F 6E 20 2D 2D 20 00 -R 00 00 02 00 -T 18 00 00 00 -R 00 00 02 00 -T 18 00 00 00 3A 20 6F 70 74 69 6F 6E 20 72 65 -R 00 00 02 00 -T 23 00 00 00 71 75 69 72 65 73 20 61 6E 20 61 -R 00 00 02 00 -T 2E 00 00 00 72 67 75 6D 65 6E 74 20 2D 2D 20 -R 00 00 02 00 -T 39 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 02 00 00 00 -R 00 00 04 00 -T 02 00 00 00 -R 00 00 04 00 -T 04 00 00 00 -R 00 00 04 00 -T 04 00 00 00 -R 00 00 04 00 -T 00 00 00 00 01 00 01 00 01 00 -R 00 00 05 00 diff --git a/lib/relcl/getpass.rel b/lib/relcl/getpass.rel deleted file mode 100644 index cb51f7cc..00000000 --- a/lib/relcl/getpass.rel +++ /dev/null @@ -1,152 +0,0 @@ -XL4 -H 3 areas B global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S fflush Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ioctl Ref00000000 -S stdout Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S fputs Ref00000000 -S _getchar Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 135 flags 0 -S getpass Def000000A9 -A UDATA0 size 80 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF AF DD 77 FE -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 DD 77 FF -R 00 00 01 00 -T 0C 00 00 00 -R 00 00 01 00 -T 0C 00 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 -R 00 00 01 00 -T 17 00 00 00 FF CD 00 00 00 00 30 78 -R 00 00 01 00 02 06 06 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 CD 00 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 02 05 08 00 -T 26 00 00 00 7D A4 3C 20 0D DD 7E FE DD B6 FF -R 00 00 01 00 -T 31 00 00 00 20 05 -R 00 00 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 21 00 00 18 6E -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 3E 43 DD AE FC DD B6 FD 20 04 3E -R 00 00 01 00 -T 43 00 00 00 01 18 01 -R 00 00 01 00 -T 46 00 00 00 -R 00 00 01 00 -T 46 00 00 00 AF -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 E6 1F 20 13 3E 5A DD AE FC DD B6 -R 00 00 01 00 -T 52 00 00 00 FD 20 04 3E 01 18 01 -R 00 00 01 00 -T 59 00 00 00 -R 00 00 01 00 -T 59 00 00 00 AF -R 00 00 01 00 -T 5A 00 00 00 -R 00 00 01 00 -T 5A 00 00 00 E6 1F 28 05 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 21 00 00 18 43 -R 00 00 01 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 3E 0A DD AE FC DD B6 FD 28 0A 3E -R 00 00 01 00 -T 6E 00 00 00 0D DD AE FC DD B6 FD 20 02 -R 00 00 01 00 -T 77 00 00 00 -R 00 00 01 00 -T 77 00 00 00 -R 00 00 01 00 -T 77 00 00 00 -R 00 00 01 00 -T 77 00 00 00 18 1C -R 00 00 01 00 -T 79 00 00 00 -R 00 00 01 00 -T 79 00 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 84 00 00 00 74 FF 2B DD 4E 02 DD 46 03 09 DD -R 00 00 01 00 -T 8F 00 00 00 46 FC 70 C3 0C 00 00 00 -R 00 00 01 00 00 08 01 00 -T 95 00 00 00 -R 00 00 01 00 -T 95 00 00 00 DD 6E FE DD 66 FF DD 4E 02 DD 46 -R 00 00 01 00 -T A0 00 00 00 03 09 36 00 69 60 -R 00 00 01 00 -T A6 00 00 00 -R 00 00 01 00 -T A6 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T A9 00 00 00 -R 00 00 01 00 -T A9 00 00 00 CD 00 00 00 00 F8 FF 01 -R 00 00 01 00 02 05 05 00 -T AF 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 CD -R 00 00 01 00 02 04 04 00 -T B8 00 00 00 00 00 00 00 11 00 00 00 00 CD -R 00 00 01 00 02 04 07 00 02 09 04 00 -T BE 00 00 00 00 00 00 00 21 00 00 39 E5 21 -R 00 00 01 00 02 04 01 00 -T C6 00 00 00 00 00 E5 21 00 00 E5 CD -R 00 00 01 00 -T CE 00 00 00 00 00 00 00 F1 F1 F1 DD 6E FC DD -R 00 00 01 00 02 04 03 00 -T D7 00 00 00 66 FD DD 75 FE DD 74 FF 21 04 00 -R 00 00 01 00 -T E2 00 00 00 39 7E E6 F7 77 23 7E E6 FF 77 21 -R 00 00 01 00 -T ED 00 00 00 00 00 39 E5 21 01 00 E5 21 00 00 -R 00 00 01 00 -T F8 00 00 00 E5 CD 00 00 00 00 F1 F1 F1 01 -R 00 00 01 00 02 06 03 00 -T 00 01 00 00 7F 00 11 00 00 00 00 CD -R 00 00 01 00 00 07 02 00 -T 06 01 00 00 00 00 00 00 7D B4 20 04 -R 00 00 01 00 00 04 01 00 -T 0C 01 00 00 -R 00 00 01 00 -T 0C 01 00 00 AF 32 00 00 00 00 -R 00 00 01 00 00 06 02 00 -T 10 01 00 00 -R 00 00 01 00 -T 10 01 00 00 DD 6E FE DD 66 FF DD 75 FC DD 74 -R 00 00 01 00 -T 1B 01 00 00 FD 21 00 00 39 E5 21 01 00 E5 21 -R 00 00 01 00 -T 26 01 00 00 00 00 E5 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 08 03 00 -T 2F 01 00 00 21 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0A 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 diff --git a/lib/relcl/getpw.rel b/lib/relcl/getpw.rel deleted file mode 100644 index a445bad3..00000000 --- a/lib/relcl/getpw.rel +++ /dev/null @@ -1,63 +0,0 @@ -XL4 -H 3 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S sprintf Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S errno Ref00000000 -S getpwuid Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 87 flags 0 -S getpw Def00000000 -A CSTR size 15 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 79 B0 20 0B -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 -R 00 00 01 00 -T 09 00 00 00 21 16 00 22 00 00 00 00 21 FF FF -R 00 00 01 00 02 08 03 00 -T 12 00 00 00 18 70 -R 00 00 01 00 -T 14 00 00 00 -R 00 00 01 00 -T 14 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 04 00 -T 1D 00 00 00 DD 75 FE DD 74 FF 7D B4 20 05 -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 21 FF FF 18 58 -R 00 00 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 21 0C 00 DD 4E FE DD 46 FF 09 5E -R 00 00 01 00 -T 37 00 00 00 23 56 D5 21 0A 00 09 5E 23 56 D5 -R 00 00 01 00 -T 42 00 00 00 21 08 00 09 5E 23 56 D5 21 06 00 -R 00 00 01 00 -T 4D 00 00 00 09 5E 23 56 D5 21 04 00 09 5E 23 -R 00 00 01 00 -T 58 00 00 00 56 D5 03 03 69 60 4E 23 46 C5 DD -R 00 00 01 00 -T 63 00 00 00 6E FE DD 66 FF 4E 23 46 C5 21 -R 00 00 01 00 -T 6D 00 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 00 04 02 00 -T 76 00 00 00 E5 CD 00 00 00 00 EB 21 12 00 39 -R 00 00 01 00 02 06 01 00 -T 7F 00 00 00 F9 EB 21 00 00 -R 00 00 01 00 -T 84 00 00 00 -R 00 00 01 00 -T 84 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 25 73 3A 25 73 3A 25 75 3A 25 75 -R 00 00 02 00 -T 0B 00 00 00 3A 25 73 3A 25 73 3A 25 73 00 -R 00 00 02 00 diff --git a/lib/relcl/getpwent.rel b/lib/relcl/getpwent.rel deleted file mode 100644 index d0c87f35..00000000 --- a/lib/relcl/getpwent.rel +++ /dev/null @@ -1,274 +0,0 @@ -XL4 -H 3 areas B global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S lseek Ref00000000 -S strchr Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S strtoul Ref00000000 -S ?S_S_SWITCH_L06 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25B flags 0 -S __getpwent Def00000000 -A UDATA0 size 10E flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F4 FF -R 00 00 01 00 02 05 06 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 21 00 01 E5 01 00 00 00 00 DD 5E -R 00 00 01 00 00 09 02 00 -T 0E 00 00 00 02 DD 56 03 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 09 08 00 -T 17 00 00 00 75 FE DD 74 FF 4D 44 21 00 00 CD -R 00 00 01 00 -T 22 00 00 00 00 00 00 00 38 06 -R 00 00 01 00 02 04 07 00 -T 26 00 00 00 -R 00 00 01 00 -T 26 00 00 00 21 00 00 C3 58 02 00 00 -R 00 00 01 00 00 08 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 01 0A 00 11 00 00 00 00 CD -R 00 00 01 00 00 08 02 00 -T 33 00 00 00 00 00 00 00 DD 75 F4 DD 74 F5 7D -R 00 00 01 00 02 04 02 00 -T 3C 00 00 00 B4 28 56 -R 00 00 01 00 -T 3F 00 00 00 -R 00 00 01 00 -T 3F 00 00 00 DD 6E F4 DD 66 F5 23 DD 75 F4 DD -R 00 00 01 00 -T 4A 00 00 00 74 F5 2B 36 00 21 01 00 E5 01 -R 00 00 01 00 -T 54 00 00 00 00 00 00 00 DD 6E F4 DD 66 F5 A7 -R 00 00 01 00 00 04 02 00 -T 5D 00 00 00 ED 42 DD 4E FE DD 46 FF A7 ED 42 -R 00 00 01 00 -T 68 00 00 00 7C 07 9F 4F 41 C5 E5 DD 5E 02 DD -R 00 00 01 00 -T 73 00 00 00 56 03 CD 00 00 00 00 F1 F1 F1 DD -R 00 00 01 00 02 07 01 00 -T 7C 00 00 00 6E F4 DD 66 F5 2B 2B 7E FE 0D 20 -R 00 00 01 00 -T 87 00 00 00 0A -R 00 00 01 00 -T 88 00 00 00 -R 00 00 01 00 -T 88 00 00 00 DD 6E F4 DD 66 F5 2B 2B 36 00 -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 C3 18 01 00 00 -R 00 00 01 00 00 05 01 00 -T 95 00 00 00 -R 00 00 01 00 -T 95 00 00 00 -R 00 00 01 00 -T 95 00 00 00 21 00 01 E5 01 00 00 00 00 DD 5E -R 00 00 01 00 00 09 02 00 -T 9E 00 00 00 02 DD 56 03 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 09 08 00 -T A7 00 00 00 75 FE DD 74 FF 4D 44 21 00 00 CD -R 00 00 01 00 -T B2 00 00 00 00 00 00 00 38 06 -R 00 00 01 00 02 04 07 00 -T B6 00 00 00 -R 00 00 01 00 -T B6 00 00 00 21 00 00 C3 58 02 00 00 -R 00 00 01 00 00 08 01 00 -T BC 00 00 00 -R 00 00 01 00 -T BC 00 00 00 01 0A 00 11 00 00 00 00 CD -R 00 00 01 00 00 08 02 00 -T C3 00 00 00 00 00 00 00 DD 75 F4 DD 74 F5 7D -R 00 00 01 00 02 04 02 00 -T CC 00 00 00 B4 28 C6 -R 00 00 01 00 -T CF 00 00 00 -R 00 00 01 00 -T CF 00 00 00 21 01 00 E5 DD 6E FE DD 66 FF 7C -R 00 00 01 00 -T DA 00 00 00 07 9F 5F 53 D5 E5 01 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T E3 00 00 00 DD 6E F4 DD 66 F5 A7 ED 42 7C 07 -R 00 00 01 00 -T EE 00 00 00 9F 5F 53 A7 C1 ED 42 EB C1 ED 42 -R 00 00 01 00 -T F9 00 00 00 E5 D5 21 01 00 C1 09 EB 21 00 00 -R 00 00 01 00 -T 04 01 00 00 C1 ED 4A E5 D5 DD 5E 02 DD 56 03 -R 00 00 01 00 -T 0F 01 00 00 CD 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 05 01 00 -T 16 01 00 00 05 00 00 00 -R 00 00 01 00 00 04 01 00 -T 18 01 00 00 -R 00 00 01 00 -T 18 01 00 00 3A 00 00 00 00 FE 23 28 15 3A -R 00 00 01 00 00 05 02 00 -T 20 01 00 00 00 00 00 00 FE 20 28 0E 3A -R 00 00 01 00 00 04 02 00 -T 27 01 00 00 00 00 00 00 FE 0A 28 07 3A -R 00 00 01 00 00 04 02 00 -T 2E 01 00 00 00 00 00 00 FE 09 20 03 -R 00 00 01 00 00 04 02 00 -T 34 01 00 00 -R 00 00 01 00 -T 34 01 00 00 -R 00 00 01 00 -T 34 01 00 00 -R 00 00 01 00 -T 34 01 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 37 01 00 00 -R 00 00 01 00 -T 37 01 00 00 DD 36 F4 00 00 00 00 DD 36 F5 -R 00 00 01 00 09 07 02 00 -T 3E 01 00 00 00 00 00 00 AF DD 77 FC DD 77 FD -R 00 00 01 00 89 04 02 00 -T 46 01 00 00 -R 00 00 01 00 -T 46 01 00 00 01 07 80 DD 6E FC DD 66 FD 3E 80 -R 00 00 01 00 -T 51 01 00 00 AC 67 ED 42 D2 0D 02 00 00 -R 00 00 01 00 00 09 01 00 -T 58 01 00 00 -R 00 00 01 00 -T 58 01 00 00 DD 5E FC DD 56 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 61 01 00 00 00 00 07 00 C8 01 00 00 -R 00 00 01 00 00 08 01 00 -T 67 01 00 00 75 01 00 00 80 01 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 6B 01 00 00 8B 01 00 00 99 01 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 6F 01 00 00 A7 01 00 00 B2 01 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 73 01 00 00 BD 01 00 00 -R 00 00 01 00 00 04 01 00 -T 75 01 00 00 -R 00 00 01 00 -T 75 01 00 00 DD 6E F4 DD 66 F5 22 00 01 00 00 -R 00 00 01 00 00 0B 02 00 -T 7E 01 00 00 18 48 -R 00 00 01 00 -T 80 01 00 00 -R 00 00 01 00 -T 80 01 00 00 DD 6E F4 DD 66 F5 22 02 01 00 00 -R 00 00 01 00 00 0B 02 00 -T 89 01 00 00 18 3D -R 00 00 01 00 -T 8B 01 00 00 -R 00 00 01 00 -T 8B 01 00 00 DD 6E F4 DD 66 F5 DD 75 FA DD 74 -R 00 00 01 00 -T 96 01 00 00 FB 18 2F -R 00 00 01 00 -T 99 01 00 00 -R 00 00 01 00 -T 99 01 00 00 DD 6E F4 DD 66 F5 DD 75 F8 DD 74 -R 00 00 01 00 -T A4 01 00 00 F9 18 21 -R 00 00 01 00 -T A7 01 00 00 -R 00 00 01 00 -T A7 01 00 00 DD 6E F4 DD 66 F5 22 08 01 00 00 -R 00 00 01 00 00 0B 02 00 -T B0 01 00 00 18 16 -R 00 00 01 00 -T B2 01 00 00 -R 00 00 01 00 -T B2 01 00 00 DD 6E F4 DD 66 F5 22 0A 01 00 00 -R 00 00 01 00 00 0B 02 00 -T BB 01 00 00 18 0B -R 00 00 01 00 -T BD 01 00 00 -R 00 00 01 00 -T BD 01 00 00 DD 6E F4 DD 66 F5 22 0C 01 00 00 -R 00 00 01 00 00 0B 02 00 -T C6 01 00 00 18 00 -R 00 00 01 00 -T C8 01 00 00 -R 00 00 01 00 -T C8 01 00 00 01 06 80 DD 6E FC DD 66 FD 3E 80 -R 00 00 01 00 -T D3 01 00 00 AC 67 ED 42 30 29 -R 00 00 01 00 -T D9 01 00 00 -R 00 00 01 00 -T D9 01 00 00 01 3A 00 DD 5E F4 DD 56 F5 CD -R 00 00 01 00 -T E3 01 00 00 00 00 00 00 DD 75 F4 DD 74 F5 7D -R 00 00 01 00 02 04 02 00 -T EC 01 00 00 B4 20 03 -R 00 00 01 00 -T EF 01 00 00 -R 00 00 01 00 -T EF 01 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T F2 01 00 00 -R 00 00 01 00 -T F2 01 00 00 DD 6E F4 DD 66 F5 23 DD 75 F4 DD -R 00 00 01 00 -T FD 01 00 00 74 F5 2B 36 00 -R 00 00 01 00 -T 02 02 00 00 -R 00 00 01 00 -T 02 02 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 0A 02 00 00 -R 00 00 01 00 -T 0A 02 00 00 C3 46 01 00 00 -R 00 00 01 00 00 05 01 00 -T 0D 02 00 00 -R 00 00 01 00 -T 0D 02 00 00 21 0A 00 E5 21 04 00 39 4D 44 DD -R 00 00 01 00 -T 18 02 00 00 5E F8 DD 56 F9 CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 04 00 -T 21 02 00 00 22 06 01 00 00 DD 6E F6 DD 66 F7 -R 00 00 01 00 00 05 02 00 -T 2A 02 00 00 AF B6 28 03 -R 00 00 01 00 -T 2E 02 00 00 -R 00 00 01 00 -T 2E 02 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 31 02 00 00 -R 00 00 01 00 -T 31 02 00 00 21 0A 00 E5 21 04 00 39 4D 44 DD -R 00 00 01 00 -T 3C 02 00 00 5E FA DD 56 FB CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 04 00 -T 45 02 00 00 22 04 01 00 00 DD 6E F6 DD 66 F7 -R 00 00 01 00 00 05 02 00 -T 4E 02 00 00 AF B6 28 03 -R 00 00 01 00 -T 52 02 00 00 -R 00 00 01 00 -T 52 02 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 55 02 00 00 -R 00 00 01 00 -T 55 02 00 00 21 00 01 00 00 -R 00 00 01 00 00 05 02 00 -T 58 02 00 00 -R 00 00 01 00 -T 58 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 01 00 00 -R 00 00 02 00 -T 00 01 00 00 -R 00 00 02 00 diff --git a/lib/relcl/getpwnam.rel b/lib/relcl/getpwnam.rel deleted file mode 100644 index 0f821017..00000000 --- a/lib/relcl/getpwnam.rel +++ /dev/null @@ -1,60 +0,0 @@ -XL4 -H 2 areas A global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S strcmp Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S endpwent Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S getpwent Ref00000000 -S setpwent Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4E flags 0 -S getpwnam Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 B6 03 20 0B -R 00 00 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 21 16 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 04 00 -T 16 00 00 00 18 33 -R 00 00 01 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 07 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 CD 00 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 02 05 06 00 -T 24 00 00 00 7D B4 28 1A -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 DD 4E 02 DD 46 03 DD 6E FE DD 66 -R 00 00 01 00 -T 33 00 00 00 FF 5E 23 56 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 09 01 00 -T 3C 00 00 00 20 02 -R 00 00 01 00 -T 3E 00 00 00 -R 00 00 01 00 -T 3E 00 00 00 18 02 -R 00 00 01 00 -T 40 00 00 00 -R 00 00 01 00 -T 40 00 00 00 18 D9 -R 00 00 01 00 -T 42 00 00 00 -R 00 00 01 00 -T 42 00 00 00 CD 00 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 02 05 03 00 -T 4B 00 00 00 -R 00 00 01 00 -T 4B 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcl/getpwuid.rel b/lib/relcl/getpwuid.rel deleted file mode 100644 index 4c391f39..00000000 --- a/lib/relcl/getpwuid.rel +++ /dev/null @@ -1,46 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S endpwent Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S getpwent Ref00000000 -S setpwent Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3E flags 0 -S getpwuid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF CD -R 00 00 01 00 02 05 03 00 -T 06 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 05 00 -T 08 00 00 00 -R 00 00 01 00 -T 08 00 00 00 CD 00 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 02 05 04 00 -T 11 00 00 00 7D B4 28 1D -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 21 04 00 DD 4E FE DD 46 FF 09 46 -R 00 00 01 00 -T 20 00 00 00 23 66 68 DD 4E 02 DD 46 03 A7 ED -R 00 00 01 00 -T 2B 00 00 00 42 20 02 -R 00 00 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 18 02 -R 00 00 01 00 -T 30 00 00 00 -R 00 00 01 00 -T 30 00 00 00 18 D6 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 CD 00 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 02 05 02 00 -T 3B 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcl/gets.rel b/lib/relcl/gets.rel deleted file mode 100644 index 3f6d94f9..00000000 --- a/lib/relcl/gets.rel +++ /dev/null @@ -1,89 +0,0 @@ -XL4 -H 2 areas B global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S fgetc Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S stdin Ref00000000 -S fputc Ref00000000 -S stdout Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S fputs Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size AF flags 0 -S puts Def00000070 -S gets Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 66 03 DD 75 FE DD 74 FF -R 00 00 01 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 11 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 03 00 02 0A 01 00 -T 18 00 00 00 75 FC DD 74 FD 7D A4 3C 28 1E 3E -R 00 00 01 00 -T 23 00 00 00 0A DD AE FC DD B6 FD 28 14 -R 00 00 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 DD 46 FC DD 6E FE DD 66 FF 23 DD -R 00 00 01 00 -T 37 00 00 00 75 FE DD 74 FF 2B 70 18 D1 -R 00 00 01 00 -T 40 00 00 00 -R 00 00 01 00 -T 40 00 00 00 DD 6E FE DD 66 FF 36 00 DD 7E FC -R 00 00 01 00 -T 4B 00 00 00 DD A6 FD 3C 20 16 DD 6E 02 DD 66 -R 00 00 01 00 -T 56 00 00 00 03 DD 4E FE DD 46 FF A7 ED 42 20 -R 00 00 01 00 -T 61 00 00 00 05 21 00 00 18 06 -R 00 00 01 00 -T 67 00 00 00 -R 00 00 01 00 -T 67 00 00 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 6D 00 00 00 -R 00 00 01 00 -T 6D 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 CD 00 00 00 00 FE FF 01 -R 00 00 01 00 02 05 06 00 -T 76 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 CD -R 00 00 01 00 02 04 05 00 -T 7F 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 07 00 -T 88 00 00 00 A4 3C 28 0E 01 00 00 00 00 11 -R 00 00 01 00 02 09 05 00 -T 90 00 00 00 0A 00 CD 00 00 00 00 7D A4 3C 20 -R 00 00 01 00 02 07 04 00 -T 99 00 00 00 05 -R 00 00 01 00 -T 9A 00 00 00 -R 00 00 01 00 -T 9A 00 00 00 -R 00 00 01 00 -T 9A 00 00 00 -R 00 00 01 00 -T 9A 00 00 00 21 FF FF 18 0D -R 00 00 01 00 -T 9F 00 00 00 -R 00 00 01 00 -T 9F 00 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T AA 00 00 00 74 FF -R 00 00 01 00 -T AC 00 00 00 -R 00 00 01 00 -T AC 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcl/gmtime.rel b/lib/relcl/gmtime.rel deleted file mode 100644 index b4f0fddb..00000000 --- a/lib/relcl/gmtime.rel +++ /dev/null @@ -1,475 +0,0 @@ -XL4 -H 5 areas C global symbols -S ?US_RSH_L02 Ref00000000 -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S timezone Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SL_DIV_L03 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?SS_MOD_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4F0 flags 0 -S gmtime Def000004CB -S __tm_conv Def00000000 -A UDATA0 size 12 flags 0 -A IDATA0 size 18 flags 0 -A CDATA0 size 18 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF 0A 6F 03 0A -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 67 7D E6 1F 4F 7C E6 00 47 69 60 -R 00 00 01 00 -T 14 00 00 00 29 E5 DD 6E 02 DD 66 03 C1 71 23 -R 00 00 01 00 -T 1F 00 00 00 70 DD 6E 02 DD 66 03 23 23 E5 DD -R 00 00 01 00 -T 2A 00 00 00 6E 04 DD 66 05 5E 23 56 06 05 CD -R 00 00 01 00 -T 35 00 00 00 00 00 00 00 7B E6 3F 6F 7A E6 00 -R 00 00 01 00 02 04 00 00 -T 3E 00 00 00 67 DD 4E 08 DD 46 09 09 4D 44 E1 -R 00 00 01 00 -T 49 00 00 00 71 23 70 21 04 00 DD 4E 02 DD 46 -R 00 00 01 00 -T 54 00 00 00 03 09 E5 DD 6E 04 DD 66 05 5E 23 -R 00 00 01 00 -T 5F 00 00 00 56 06 0B CD 00 00 00 00 7B E6 1F -R 00 00 01 00 02 08 00 00 -T 68 00 00 00 4F 7A E6 00 47 E1 71 23 70 21 -R 00 00 01 00 -T 72 00 00 00 06 00 DD 4E 02 DD 46 03 09 E5 DD -R 00 00 01 00 -T 7D 00 00 00 5E 04 DD 56 05 13 13 EB 5E 23 56 -R 00 00 01 00 -T 88 00 00 00 7B E6 1F 4F 7A E6 00 47 E1 71 23 -R 00 00 01 00 -T 93 00 00 00 70 21 08 00 DD 4E 02 DD 46 03 09 -R 00 00 01 00 -T 9E 00 00 00 E5 DD 6E 04 DD 66 05 23 23 5E 23 -R 00 00 01 00 -T A9 00 00 00 56 06 05 CD 00 00 00 00 7B E6 0F -R 00 00 01 00 02 08 00 00 -T B2 00 00 00 6F 7A E6 00 67 01 FF FF 09 4D 44 -R 00 00 01 00 -T BD 00 00 00 E1 71 23 70 DD 6E 04 DD 66 05 23 -R 00 00 01 00 -T C8 00 00 00 23 5E 23 56 06 09 CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T D1 00 00 00 7B E6 7F 6F 7A E6 00 67 01 BC 07 -R 00 00 01 00 -T DC 00 00 00 09 DD 75 F8 DD 74 F9 -R 00 00 01 00 -T E3 00 00 00 -R 00 00 01 00 -T E3 00 00 00 DD 6E 02 DD 66 03 23 23 23 CB 7E -R 00 00 01 00 -T EE 00 00 00 CA 0C 02 00 00 -R 00 00 01 00 00 05 01 00 -T F1 00 00 00 -R 00 00 01 00 -T F1 00 00 00 DD 6E 02 DD 66 03 23 23 7E C6 3C -R 00 00 01 00 -T FC 00 00 00 77 30 02 23 34 -R 00 00 01 00 -T 01 01 00 00 -R 00 00 01 00 -T 01 01 00 00 21 04 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 0C 01 00 00 23 46 0B 70 2B 71 -R 00 00 01 00 -T 12 01 00 00 -R 00 00 01 00 -T 12 01 00 00 21 04 00 DD 4E 02 DD 46 03 09 23 -R 00 00 01 00 -T 1D 01 00 00 CB 7E CA 09 02 00 00 -R 00 00 01 00 00 07 01 00 -T 22 01 00 00 -R 00 00 01 00 -T 22 01 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 2D 01 00 00 C6 18 77 30 02 23 34 -R 00 00 01 00 -T 34 01 00 00 -R 00 00 01 00 -T 34 01 00 00 21 08 00 09 56 23 66 6A 29 11 -R 00 00 01 00 -T 3E 01 00 00 00 00 00 00 19 56 23 66 6A DD 75 -R 00 00 01 00 00 04 03 00 -T 47 01 00 00 FA DD 74 FB 21 08 00 09 3E 01 AE -R 00 00 01 00 -T 52 01 00 00 23 B6 20 38 01 04 00 DD 5E F8 DD -R 00 00 01 00 -T 5D 01 00 00 56 F9 CD 00 00 00 00 7B B2 20 28 -R 00 00 01 00 02 07 08 00 -T 66 01 00 00 01 64 00 DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T 70 01 00 00 00 00 00 00 7B B2 20 10 01 90 01 -R 00 00 01 00 02 04 08 00 -T 79 01 00 00 DD 5E F8 DD 56 F9 CD 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T 82 01 00 00 7B B2 20 08 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 8E 01 00 00 -R 00 00 01 00 -T 8E 01 00 00 -R 00 00 01 00 -T 8E 01 00 00 21 06 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 99 01 00 00 23 46 0B 70 2B 71 -R 00 00 01 00 -T 9F 01 00 00 -R 00 00 01 00 -T 9F 01 00 00 21 06 00 DD 4E 02 DD 46 03 09 23 -R 00 00 01 00 -T AA 01 00 00 CB 7E 28 58 -R 00 00 01 00 -T AE 01 00 00 -R 00 00 01 00 -T AE 01 00 00 21 06 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T B9 01 00 00 DD 86 FA 77 23 7E DD 8E FB 77 21 -R 00 00 01 00 -T C4 01 00 00 08 00 09 4E 23 46 0B 70 2B 71 -R 00 00 01 00 -T CE 01 00 00 -R 00 00 01 00 -T CE 01 00 00 21 08 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T D9 01 00 00 23 46 21 00 00 CD 00 00 00 00 38 -R 00 00 01 00 02 0A 07 00 -T E2 01 00 00 21 -R 00 00 01 00 -T E3 01 00 00 -R 00 00 01 00 -T E3 01 00 00 21 08 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T EE 01 00 00 C6 0C 77 30 02 23 34 -R 00 00 01 00 -T F5 01 00 00 -R 00 00 01 00 -T F5 01 00 00 DD 6E F8 DD 66 F9 2B DD 75 F8 DD -R 00 00 01 00 -T 00 02 00 00 74 F9 18 CA -R 00 00 01 00 -T 04 02 00 00 -R 00 00 01 00 -T 04 02 00 00 18 99 -R 00 00 01 00 -T 06 02 00 00 -R 00 00 01 00 -T 06 02 00 00 C3 12 01 00 00 -R 00 00 01 00 00 05 01 00 -T 09 02 00 00 -R 00 00 01 00 -T 09 02 00 00 C3 E3 00 00 00 -R 00 00 01 00 00 05 01 00 -T 0C 02 00 00 -R 00 00 01 00 -T 0C 02 00 00 -R 00 00 01 00 -T 0C 02 00 00 DD 6E 02 DD 66 03 23 23 46 23 66 -R 00 00 01 00 -T 17 02 00 00 68 01 3C 80 3E 80 AC 67 ED 42 DA -R 00 00 01 00 -T 22 02 00 00 4E 03 00 00 -R 00 00 01 00 00 04 01 00 -T 24 02 00 00 -R 00 00 01 00 -T 24 02 00 00 DD 6E 02 DD 66 03 23 23 7E D6 3C -R 00 00 01 00 -T 2F 02 00 00 77 23 7E DE 00 77 21 04 00 DD 4E -R 00 00 01 00 -T 3A 02 00 00 02 DD 46 03 09 34 23 20 01 34 -R 00 00 01 00 -T 44 02 00 00 -R 00 00 01 00 -T 44 02 00 00 -R 00 00 01 00 -T 44 02 00 00 21 04 00 DD 4E 02 DD 46 03 09 46 -R 00 00 01 00 -T 4F 02 00 00 23 66 68 01 18 80 3E 80 AC 67 ED -R 00 00 01 00 -T 5A 02 00 00 42 DA 4B 03 00 00 -R 00 00 01 00 00 06 01 00 -T 5E 02 00 00 -R 00 00 01 00 -T 5E 02 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 69 02 00 00 D6 18 77 23 7E DE 00 77 21 08 00 -R 00 00 01 00 -T 74 02 00 00 09 56 23 66 6A 29 11 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 7D 02 00 00 19 56 23 66 6A DD 75 FA DD 74 FB -R 00 00 01 00 -T 88 02 00 00 21 08 00 09 3E 01 AE 23 B6 20 38 -R 00 00 01 00 -T 93 02 00 00 01 04 00 DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T 9D 02 00 00 00 00 00 00 7B B2 20 28 01 64 00 -R 00 00 01 00 02 04 08 00 -T A6 02 00 00 DD 5E F8 DD 56 F9 CD 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T AF 02 00 00 7B B2 20 10 01 90 01 DD 5E F8 DD -R 00 00 01 00 -T BA 02 00 00 56 F9 CD 00 00 00 00 7B B2 20 08 -R 00 00 01 00 02 07 08 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T CB 02 00 00 -R 00 00 01 00 -T CB 02 00 00 -R 00 00 01 00 -T CB 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 34 -R 00 00 01 00 -T D6 02 00 00 23 20 01 34 -R 00 00 01 00 -T DA 02 00 00 -R 00 00 01 00 -T DA 02 00 00 -R 00 00 01 00 -T DA 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T E5 02 00 00 23 46 DD 6E FA DD 66 FB CD -R 00 00 01 00 -T EE 02 00 00 00 00 00 00 30 56 -R 00 00 01 00 02 04 07 00 -T F2 02 00 00 -R 00 00 01 00 -T F2 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T FD 02 00 00 DD 96 FA 77 23 7E DD 9E FB 77 21 -R 00 00 01 00 -T 08 03 00 00 08 00 09 34 23 20 01 34 -R 00 00 01 00 -T 10 03 00 00 -R 00 00 01 00 -T 10 03 00 00 -R 00 00 01 00 -T 10 03 00 00 21 08 00 DD 4E 02 DD 46 03 09 46 -R 00 00 01 00 -T 1B 03 00 00 23 66 68 01 0C 80 3E 80 AC 67 ED -R 00 00 01 00 -T 26 03 00 00 42 38 1D -R 00 00 01 00 -T 29 03 00 00 -R 00 00 01 00 -T 29 03 00 00 21 08 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 34 03 00 00 D6 0C 77 23 7E DE 00 77 DD 34 F8 -R 00 00 01 00 -T 3F 03 00 00 20 03 DD 34 F9 -R 00 00 01 00 -T 44 03 00 00 -R 00 00 01 00 -T 44 03 00 00 18 CA -R 00 00 01 00 -T 46 03 00 00 -R 00 00 01 00 -T 46 03 00 00 18 92 -R 00 00 01 00 -T 48 03 00 00 -R 00 00 01 00 -T 48 03 00 00 C3 44 02 00 00 -R 00 00 01 00 00 05 01 00 -T 4B 03 00 00 -R 00 00 01 00 -T 4B 03 00 00 C3 0C 02 00 00 -R 00 00 01 00 00 05 01 00 -T 4E 03 00 00 -R 00 00 01 00 -T 4E 03 00 00 21 0A 00 DD 4E 02 DD 46 03 09 E5 -R 00 00 01 00 -T 59 03 00 00 21 94 F8 DD 4E F8 DD 46 F9 09 EB -R 00 00 01 00 -T 64 03 00 00 E1 73 23 72 21 CC 07 CD -R 00 00 01 00 -T 6C 03 00 00 00 00 00 00 30 12 -R 00 00 01 00 02 04 07 00 -T 70 03 00 00 -R 00 00 01 00 -T 70 03 00 00 DD 36 FA CD DD 36 FB 07 DD 36 FC -R 00 00 01 00 -T 7B 03 00 00 02 DD 36 FD 00 18 10 -R 00 00 01 00 -T 82 03 00 00 -R 00 00 01 00 -T 82 03 00 00 DD 36 FA B2 DD 36 FB 07 DD 36 FC -R 00 00 01 00 -T 8D 03 00 00 03 DD 36 FD 00 -R 00 00 01 00 -T 92 03 00 00 -R 00 00 01 00 -T 92 03 00 00 -R 00 00 01 00 -T 92 03 00 00 DD 4E F8 DD 46 F9 DD 6E FA DD 66 -R 00 00 01 00 -T 9D 03 00 00 FB CD 00 00 00 00 30 4D -R 00 00 01 00 02 06 07 00 -T A3 03 00 00 -R 00 00 01 00 -T A3 03 00 00 01 04 00 DD 5E FA DD 56 FB CD -R 00 00 01 00 -T AD 03 00 00 00 00 00 00 7B B2 20 25 01 64 00 -R 00 00 01 00 02 04 08 00 -T B6 03 00 00 DD 5E FA DD 56 FB CD 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T BF 03 00 00 7B B2 20 10 01 90 01 DD 5E FA DD -R 00 00 01 00 -T CA 03 00 00 56 FB CD 00 00 00 00 7B B2 20 05 -R 00 00 01 00 02 07 08 00 -T D3 03 00 00 -R 00 00 01 00 -T D3 03 00 00 11 02 00 18 03 -R 00 00 01 00 -T D8 03 00 00 -R 00 00 01 00 -T D8 03 00 00 11 01 00 -R 00 00 01 00 -T DB 03 00 00 -R 00 00 01 00 -T DB 03 00 00 21 04 00 39 7E 83 77 23 7E 8A 77 -R 00 00 01 00 -T E6 03 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T EE 03 00 00 -R 00 00 01 00 -T EE 03 00 00 18 A2 -R 00 00 01 00 -T F0 03 00 00 -R 00 00 01 00 -T F0 03 00 00 AF DD 77 FA DD 77 FB 21 06 00 DD -R 00 00 01 00 -T FB 03 00 00 4E 02 DD 46 03 09 46 23 66 68 DD -R 00 00 01 00 -T 06 04 00 00 75 FE DD 74 FF -R 00 00 01 00 -T 0B 04 00 00 -R 00 00 01 00 -T 0B 04 00 00 21 08 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 16 04 00 00 23 46 DD 6E FA DD 66 FB CD -R 00 00 01 00 -T 1F 04 00 00 00 00 00 00 30 65 -R 00 00 01 00 02 04 07 00 -T 23 04 00 00 -R 00 00 01 00 -T 23 04 00 00 DD 6E FA DD 66 FB 29 01 -R 00 00 01 00 -T 2B 04 00 00 00 00 00 00 09 4E 23 46 21 06 00 -R 00 00 01 00 00 04 03 00 -T 34 04 00 00 39 7E 81 77 23 7E 88 77 3E 01 DD -R 00 00 01 00 -T 3F 04 00 00 AE FA DD B6 FB 20 38 01 04 00 DD -R 00 00 01 00 -T 4A 04 00 00 5E FA DD 56 FB CD 00 00 00 00 7B -R 00 00 01 00 02 0A 08 00 -T 53 04 00 00 B2 20 28 01 64 00 DD 5E FA DD 56 -R 00 00 01 00 -T 5E 04 00 00 FB CD 00 00 00 00 7B B2 20 10 01 -R 00 00 01 00 02 06 08 00 -T 67 04 00 00 90 01 DD 5E FA DD 56 FB CD -R 00 00 01 00 -T 70 04 00 00 00 00 00 00 7B B2 20 08 -R 00 00 01 00 02 04 08 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 7E 04 00 00 -R 00 00 01 00 -T 7E 04 00 00 -R 00 00 01 00 -T 7E 04 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 86 04 00 00 -R 00 00 01 00 -T 86 04 00 00 18 83 -R 00 00 01 00 -T 88 04 00 00 -R 00 00 01 00 -T 88 04 00 00 21 0C 00 DD 4E 02 DD 46 03 09 E5 -R 00 00 01 00 -T 93 04 00 00 DD 6E FE DD 66 FF DD 5E FC DD 56 -R 00 00 01 00 -T 9E 04 00 00 FD 19 EB 01 07 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T A7 04 00 00 E1 73 23 72 21 0E 00 DD 4E 02 DD -R 00 00 01 00 -T B2 04 00 00 46 03 09 DD 5E FE DD 56 FF 13 73 -R 00 00 01 00 -T BD 04 00 00 23 72 21 10 00 09 36 FF 23 36 FF -R 00 00 01 00 -T C8 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T CB 04 00 00 -R 00 00 01 00 -T CB 04 00 00 CD 00 00 00 00 21 00 00 E5 21 -R 00 00 01 00 02 05 03 00 -T D3 04 00 00 3C 00 E5 ED 4B 02 00 00 00 2A -R 00 00 01 00 02 09 04 00 -T DB 04 00 00 00 00 00 00 CD 00 00 00 00 E5 4B -R 00 00 01 00 02 04 04 00 02 09 06 00 -T E2 04 00 00 42 11 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 02 00 00 0B 01 00 -T E9 04 00 00 E1 21 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 00 06 02 00 02 0B 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 1F 00 1C 00 1F 00 1E 00 1F 00 -R 00 00 04 00 -T 0A 00 00 00 1E 00 1F 00 1F 00 1E 00 1F 00 -R 00 00 04 00 -T 14 00 00 00 1E 00 1F 00 -R 00 00 04 00 diff --git a/lib/relcl/initgrup.rel b/lib/relcl/initgrup.rel deleted file mode 100644 index b3988d57..00000000 --- a/lib/relcl/initgrup.rel +++ /dev/null @@ -1,6 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 0 flags 0 diff --git a/lib/relcl/isatty.rel b/lib/relcl/isatty.rel deleted file mode 100644 index 3a8b07ee..00000000 --- a/lib/relcl/isatty.rel +++ /dev/null @@ -1,38 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S fstat Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 36 flags 0 -S isatty Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 E2 FF 21 00 00 39 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 4D 44 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 12 00 00 00 00 00 00 00 7D A4 3C 28 12 DD 7E -R 00 00 01 00 02 04 02 00 -T 1B 00 00 00 E6 E6 00 6F DD 7E E7 E6 F0 67 3E -R 00 00 01 00 -T 26 00 00 00 20 AC B5 28 05 -R 00 00 01 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 21 00 00 18 03 -R 00 00 01 00 -T 30 00 00 00 -R 00 00 01 00 -T 30 00 00 00 21 01 00 -R 00 00 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcl/itoa.rel b/lib/relcl/itoa.rel deleted file mode 100644 index a47da77a..00000000 --- a/lib/relcl/itoa.rel +++ /dev/null @@ -1,190 +0,0 @@ -XL4 -H 2 areas C global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?UL_DIVASG_L03 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?UL_MOD_L03 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?L_NEG_L03 Ref00000000 -S ?US_MOD_L02 Ref00000000 -S ?US_DIV_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1F8 flags 0 -S itoa Def00000194 -S __longtoa Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D6 FF DD 6E 08 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 66 09 DD 75 F8 DD 74 F9 21 00 00 -R 00 00 01 00 -T 14 00 00 00 39 DD 75 FA DD 74 FB 21 2C 00 39 -R 00 00 01 00 -T 1F 00 00 00 DD 75 FC DD 74 FD 21 38 00 39 7E -R 00 00 01 00 -T 2A 00 00 00 D6 0A 77 DD 4E 0A DD 46 0B 21 -R 00 00 01 00 -T 34 00 00 00 24 00 CD 00 00 00 00 38 11 01 -R 00 00 01 00 02 07 05 00 -T 3C 00 00 00 02 80 DD 6E 0A DD 66 0B 3E 80 AC -R 00 00 01 00 -T 47 00 00 00 67 ED 42 30 03 -R 00 00 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 C3 83 01 00 00 -R 00 00 01 00 00 05 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 DD 6E FC DD 66 FD 23 23 7E E6 00 -R 00 00 01 00 -T 5A 00 00 00 47 23 7E E6 80 B0 28 31 AF DD B6 -R 00 00 01 00 -T 65 00 00 00 0C 28 2B -R 00 00 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 DD 6E F8 DD 66 F9 23 DD 75 F8 DD -R 00 00 01 00 -T 73 00 00 00 74 F9 2B 36 2D DD 4E 04 DD 46 05 -R 00 00 01 00 -T 7E 00 00 00 DD 6E 02 DD 66 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T 87 00 00 00 DD 75 02 DD 74 03 DD 71 04 DD 70 -R 00 00 01 00 -T 92 00 00 00 05 -R 00 00 01 00 -T 93 00 00 00 -R 00 00 01 00 -T 93 00 00 00 DD 6E FC DD 66 FD 23 23 7E 23 B6 -R 00 00 01 00 -T 9E 00 00 00 20 02 -R 00 00 01 00 -T A0 00 00 00 -R 00 00 01 00 -T A0 00 00 00 18 4E -R 00 00 01 00 -T A2 00 00 00 -R 00 00 01 00 -T A2 00 00 00 -R 00 00 01 00 -T A2 00 00 00 DD 6E 0A DD 66 0B 7C 07 9F 4F 41 -R 00 00 01 00 -T AD 00 00 00 C5 E5 DD 4E 04 DD 46 05 DD 6E 02 -R 00 00 01 00 -T B8 00 00 00 DD 66 03 CD 00 00 00 00 E5 DD 6E -R 00 00 01 00 02 08 04 00 -T C1 00 00 00 FA DD 66 FB 23 DD 75 FA DD 74 FB -R 00 00 01 00 -T CC 00 00 00 2B C1 71 21 2C 00 39 DD 5E 0A DD -R 00 00 01 00 -T D7 00 00 00 56 0B 7A 07 9F 4F 41 CD -R 00 00 01 00 -T DF 00 00 00 00 00 00 00 DD 6E FC DD 66 FD 23 -R 00 00 01 00 02 04 02 00 -T E8 00 00 00 23 7E 23 B6 20 B4 -R 00 00 01 00 -T EE 00 00 00 -R 00 00 01 00 -T EE 00 00 00 18 30 -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 DD 5E 02 DD 56 03 DD 4E 0A DD 46 -R 00 00 01 00 -T FB 00 00 00 0B CD 00 00 00 00 DD 6E FA DD 66 -R 00 00 01 00 02 06 07 00 -T 04 01 00 00 FB 23 DD 75 FA DD 74 FB 2B 73 DD -R 00 00 01 00 -T 0F 01 00 00 5E 02 DD 56 03 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 08 00 -T 18 01 00 00 6E FC DD 66 FD 73 23 72 -R 00 00 01 00 -T 20 01 00 00 -R 00 00 01 00 -T 20 01 00 00 DD 6E FC DD 66 FD 7E 23 B6 20 C5 -R 00 00 01 00 -T 2B 01 00 00 -R 00 00 01 00 -T 2B 01 00 00 21 00 00 39 4D 44 DD 6E FA DD 66 -R 00 00 01 00 -T 36 01 00 00 FB A7 ED 42 DD 75 FF -R 00 00 01 00 -T 3D 01 00 00 -R 00 00 01 00 -T 3D 01 00 00 AF DD B6 FF 28 40 -R 00 00 01 00 -T 43 01 00 00 -R 00 00 01 00 -T 43 01 00 00 DD 6E FA DD 66 FB 2B DD 75 FA DD -R 00 00 01 00 -T 4E 01 00 00 74 FB 46 DD 70 FE 78 FE 0A 30 0A -R 00 00 01 00 -T 59 01 00 00 -R 00 00 01 00 -T 59 01 00 00 DD 7E FE C6 30 DD 77 FE 18 09 -R 00 00 01 00 -T 63 01 00 00 -R 00 00 01 00 -T 63 01 00 00 DD 7E FE DD 86 0E DD 77 FE -R 00 00 01 00 -T 6C 01 00 00 -R 00 00 01 00 -T 6C 01 00 00 DD 6E F8 DD 66 F9 23 DD 75 F8 DD -R 00 00 01 00 -T 77 01 00 00 74 F9 2B DD 46 FE 70 DD 35 FF 18 -R 00 00 01 00 -T 82 01 00 00 BA -R 00 00 01 00 -T 83 01 00 00 -R 00 00 01 00 -T 83 01 00 00 -R 00 00 01 00 -T 83 01 00 00 DD 6E F8 DD 66 F9 36 00 DD 6E 08 -R 00 00 01 00 -T 8E 01 00 00 DD 66 09 C3 00 00 00 00 -R 00 00 01 00 02 08 01 00 -T 94 01 00 00 -R 00 00 01 00 -T 94 01 00 00 CD 00 00 00 00 FE FF DD 36 FE 41 -R 00 00 01 00 02 05 03 00 -T 9D 01 00 00 DD CB 09 7E 28 16 -R 00 00 01 00 -T A3 01 00 00 -R 00 00 01 00 -T A3 01 00 00 DD 36 FE 61 DD 4E 08 DD 46 09 A7 -R 00 00 01 00 -T AE 01 00 00 21 00 00 ED 42 DD 75 08 DD 74 09 -R 00 00 01 00 -T B9 01 00 00 -R 00 00 01 00 -T B9 01 00 00 DD 6E FE E5 0E 01 C5 DD 6E 08 DD -R 00 00 01 00 -T C4 01 00 00 66 09 E5 DD 6E 04 DD 66 05 E5 3E -R 00 00 01 00 -T CF 01 00 00 0A DD AE 08 DD B6 09 20 0D DD 5E -R 00 00 01 00 -T DA 01 00 00 02 DD 56 03 7A 07 9F 4F 41 18 09 -R 00 00 01 00 -T E5 01 00 00 -R 00 00 01 00 -T E5 01 00 00 DD 5E 02 DD 56 03 01 00 00 -R 00 00 01 00 -T EE 01 00 00 -R 00 00 01 00 -T EE 01 00 00 CD 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 00 05 01 00 -T F6 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relcl/localtim.rel b/lib/relcl/localtim.rel deleted file mode 100644 index 2a3397b4..00000000 --- a/lib/relcl/localtim.rel +++ /dev/null @@ -1,23 +0,0 @@ -XL4 -H 3 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S __tm_conv Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S localtime Def00000000 -A UDATA0 size 12 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 00 00 E5 4B 42 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 11 00 00 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 00 05 02 00 02 0A 03 00 -T 10 00 00 00 21 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0A 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 diff --git a/lib/relcl/longjmpl.rel b/lib/relcl/longjmpl.rel deleted file mode 100644 index 6eed7e63..00000000 --- a/lib/relcl/longjmpl.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S longjmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 78 B1 20 01 03 EB 5E 23 56 23 EB -R 00 00 01 00 -T 0B 00 00 00 F9 EB C5 4E 23 46 23 5E 23 56 23 -R 00 00 01 00 -T 16 00 00 00 D5 DD E1 5E 23 56 23 D5 FD E1 5E -R 00 00 01 00 -T 21 00 00 00 23 56 E1 D5 C9 -R 00 00 01 00 diff --git a/lib/relcl/lsearch.rel b/lib/relcl/lsearch.rel deleted file mode 100644 index 6bd0d7ec..00000000 --- a/lib/relcl/lsearch.rel +++ /dev/null @@ -1,87 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S memcpy Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?CALL_IND_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size DA flags 0 -S lfind Def00000000 -S lsearch Def00000063 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 08 DD -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 66 09 56 23 66 6A DD 75 FE DD 74 -R 00 00 01 00 -T 14 00 00 00 FF -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 DD 6E FE DD 66 FF 2B DD 75 FE DD -R 00 00 01 00 -T 20 00 00 00 74 FF 23 7D B4 28 36 -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 DD 4E 02 DD 46 03 DD 5E 04 DD 56 -R 00 00 01 00 -T 32 00 00 00 05 DD 6E 0C DD 66 0D CD -R 00 00 01 00 -T 3A 00 00 00 00 00 00 00 7D B4 20 08 -R 00 00 01 00 02 04 04 00 -T 40 00 00 00 -R 00 00 01 00 -T 40 00 00 00 DD 6E 04 DD 66 05 18 18 -R 00 00 01 00 -T 48 00 00 00 -R 00 00 01 00 -T 48 00 00 00 DD 6E 0A DD 66 0B DD 4E 04 DD 46 -R 00 00 01 00 -T 53 00 00 00 05 09 DD 75 04 DD 74 05 18 B8 -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 21 00 00 -R 00 00 01 00 -T 60 00 00 00 -R 00 00 01 00 -T 60 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 CD 00 00 00 00 FE FF DD 6E 0C DD -R 00 00 01 00 02 05 05 00 -T 6C 00 00 00 66 0D E5 DD 6E 0A DD 66 0B E5 DD -R 00 00 01 00 -T 77 00 00 00 6E 08 DD 66 09 E5 DD 5E 02 DD 56 -R 00 00 01 00 -T 82 00 00 00 03 CD 00 00 00 00 F1 F1 F1 DD 75 -R 00 00 01 00 00 06 01 00 -T 8B 00 00 00 FE DD 74 FF 7D B4 20 3E -R 00 00 01 00 -T 93 00 00 00 -R 00 00 01 00 -T 93 00 00 00 DD 6E 0A DD 66 0B E5 DD 4E 02 DD -R 00 00 01 00 -T 9E 00 00 00 46 03 C5 DD 6E 08 DD 66 09 5E 23 -R 00 00 01 00 -T A9 00 00 00 56 DD 4E 0A DD 46 0B CD -R 00 00 01 00 -T B1 00 00 00 00 00 00 00 DD 6E 04 DD 66 05 19 -R 00 00 01 00 02 04 02 00 -T BA 00 00 00 EB C1 CD 00 00 00 00 F1 DD 75 FE -R 00 00 01 00 02 07 01 00 -T C3 00 00 00 DD 74 FF DD 6E 08 DD 66 09 34 23 -R 00 00 01 00 -T CE 00 00 00 20 01 34 -R 00 00 01 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 03 00 diff --git a/lib/relcl/lstat.rel b/lib/relcl/lstat.rel deleted file mode 100644 index 404dbb6d..00000000 --- a/lib/relcl/lstat.rel +++ /dev/null @@ -1,45 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S close Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S fstat Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S open Ref00000000 -S stat Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5D flags 0 -S lstat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 00 08 E5 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 DD 6E 02 DD 66 03 E5 CD -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 F1 F1 DD 75 FE DD 74 -R 00 00 01 00 02 04 05 00 -T 1A 00 00 00 FF CB 7C 28 17 -R 00 00 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 -R 00 00 01 00 -T 2A 00 00 00 03 CD 00 00 00 00 DD 75 FC DD 74 -R 00 00 01 00 02 06 06 00 -T 33 00 00 00 FD 18 1E -R 00 00 01 00 -T 36 00 00 00 -R 00 00 01 00 -T 36 00 00 00 DD 4E 04 DD 46 05 DD 5E FE DD 56 -R 00 00 01 00 -T 41 00 00 00 FF CD 00 00 00 00 DD 75 FC DD 74 -R 00 00 01 00 02 06 03 00 -T 4A 00 00 00 FD DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 52 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 -T 54 00 00 00 -R 00 00 01 00 -T 54 00 00 00 DD 6E FC DD 66 FD C3 00 00 00 00 -R 00 00 01 00 02 0B 02 00 diff --git a/lib/relcl/ltoa.rel b/lib/relcl/ltoa.rel deleted file mode 100644 index d8246d6e..00000000 --- a/lib/relcl/ltoa.rel +++ /dev/null @@ -1,42 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S __longtoa Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5E flags 0 -S ltoa Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 36 FE 41 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 DD CB 0B 7E 28 16 -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 DD 36 FE 61 DD 4E 0A DD 46 0B A7 -R 00 00 01 00 -T 1A 00 00 00 21 00 00 ED 42 DD 75 0A DD 74 0B -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 DD 6E FE E5 3E 0A DD AE 0A DD B6 -R 00 00 01 00 -T 30 00 00 00 0B 20 04 3E 01 18 01 -R 00 00 01 00 -T 37 00 00 00 -R 00 00 01 00 -T 37 00 00 00 AF -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 4F C5 DD 6E 0A DD 66 0B E5 DD 6E -R 00 00 01 00 -T 43 00 00 00 08 DD 66 09 E5 DD 4E 04 DD 46 05 -R 00 00 01 00 -T 4E 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 57 00 00 00 F1 F1 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 09 01 00 diff --git a/lib/relcl/ltostr.rel b/lib/relcl/ltostr.rel deleted file mode 100644 index d5cafd56..00000000 --- a/lib/relcl/ltostr.rel +++ /dev/null @@ -1,33 +0,0 @@ -XL4 -H 3 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ultoa Ref00000000 -S ltoa Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2C flags 0 -S ultostr Def00000000 -S ltostr Def00000016 -A UDATA0 size 22 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 E5 21 00 00 00 00 E5 CD -R 00 00 01 00 00 06 02 00 -T 0F 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0B 01 00 -T 16 00 00 00 -R 00 00 01 00 -T 16 00 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 02 00 -T 1F 00 00 00 E5 21 00 00 00 00 E5 CD -R 00 00 01 00 00 06 02 00 -T 25 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 04 00 02 0B 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 diff --git a/lib/relcl/malloc.rel b/lib/relcl/malloc.rel deleted file mode 100644 index 86c34fbb..00000000 --- a/lib/relcl/malloc.rel +++ /dev/null @@ -1,194 +0,0 @@ -XL4 -H 3 areas 9 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S free Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S sbrk Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 222 flags 0 -S malloc Def00000000 -A UDATA0 size 6 flags 0 -S __malloc_last Def00000004 -S __malloc_head Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF DD 6E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 66 03 23 23 23 CB 3C CB 1D CB 3C -R 00 00 01 00 -T 14 00 00 00 CB 1D 23 DD 75 FE DD 74 FF 2A -R 00 00 01 00 -T 1E 00 00 00 04 00 00 00 DD 75 FC DD 74 FD 7D -R 00 00 01 00 00 04 02 00 -T 27 00 00 00 B4 20 11 -R 00 00 01 00 -T 2A 00 00 00 -R 00 00 01 00 -T 2A 00 00 00 DD 36 FC 00 00 00 00 DD 36 FD -R 00 00 01 00 09 07 02 00 -T 31 00 00 00 00 00 00 00 21 00 00 00 00 22 -R 00 00 01 00 89 04 02 00 00 09 02 00 -T 36 00 00 00 02 00 00 00 22 04 00 00 00 -R 00 00 01 00 00 04 02 00 00 09 02 00 -T 3B 00 00 00 -R 00 00 01 00 -T 3B 00 00 00 DD 6E FC DD 66 FD 23 23 46 23 66 -R 00 00 01 00 -T 46 00 00 00 68 DD 75 FA DD 74 FB -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 DD 6E FA DD 66 FB 23 23 46 23 66 -R 00 00 01 00 -T 58 00 00 00 68 DD 4E FA DD 46 FB A7 ED 42 CA -R 00 00 01 00 -T 63 00 00 00 F0 00 00 00 DD 6E FA DD 66 FB 46 -R 00 00 01 00 00 04 01 00 -T 6C 00 00 00 23 66 68 29 29 DD 4E FA DD 46 FB -R 00 00 01 00 -T 77 00 00 00 09 E5 03 03 69 60 4E 23 46 E1 A7 -R 00 00 01 00 -T 82 00 00 00 ED 42 20 6A -R 00 00 01 00 -T 86 00 00 00 -R 00 00 01 00 -T 86 00 00 00 -R 00 00 01 00 -T 86 00 00 00 -R 00 00 01 00 -T 86 00 00 00 DD 6E FA DD 66 FB 23 23 46 23 66 -R 00 00 01 00 -T 91 00 00 00 68 ED 4B 04 00 00 00 A7 ED 42 20 -R 00 00 01 00 00 07 02 00 -T 9A 00 00 00 15 -R 00 00 01 00 -T 9B 00 00 00 -R 00 00 01 00 -T 9B 00 00 00 DD 6E FA DD 66 FB 23 23 46 23 66 -R 00 00 01 00 -T A6 00 00 00 68 23 23 46 23 66 68 22 -R 00 00 01 00 -T AE 00 00 00 04 00 00 00 -R 00 00 01 00 00 04 02 00 -T B0 00 00 00 -R 00 00 01 00 -T B0 00 00 00 DD 6E FA DD 66 FB 23 23 7E 23 66 -R 00 00 01 00 -T BB 00 00 00 6F 4E 23 46 DD 6E FA DD 66 FB 7E -R 00 00 01 00 -T C6 00 00 00 81 77 23 7E 88 77 DD 6E FA DD 66 -R 00 00 01 00 -T D1 00 00 00 FB 23 23 E5 DD 4E FA DD 46 FB 03 -R 00 00 01 00 -T DC 00 00 00 03 69 60 4E 23 46 03 03 69 60 4E -R 00 00 01 00 -T E7 00 00 00 23 46 E1 71 23 70 C3 4D 00 00 00 -R 00 00 01 00 00 0B 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 DD 6E FA DD 66 FB 46 23 66 68 DD -R 00 00 01 00 -T FB 00 00 00 4E FE DD 46 FF A7 ED 42 DA -R 00 00 01 00 -T 04 01 00 00 AE 01 00 00 -R 00 00 01 00 00 04 01 00 -T 06 01 00 00 -R 00 00 01 00 -T 06 01 00 00 DD 6E FA DD 66 FB 46 23 66 68 DD -R 00 00 01 00 -T 11 01 00 00 4E FE DD 46 FF A7 ED 42 20 1C -R 00 00 01 00 -T 1B 01 00 00 -R 00 00 01 00 -T 1B 01 00 00 DD 6E FC DD 66 FD 23 23 E5 DD 4E -R 00 00 01 00 -T 26 01 00 00 FA DD 46 FB 03 03 69 60 4E 23 46 -R 00 00 01 00 -T 31 01 00 00 E1 71 23 70 18 56 -R 00 00 01 00 -T 37 01 00 00 -R 00 00 01 00 -T 37 01 00 00 DD 6E FE DD 66 FF 29 29 DD 4E FA -R 00 00 01 00 -T 42 01 00 00 DD 46 FB 09 22 04 00 00 00 DD 6E -R 00 00 01 00 00 09 02 00 -T 4B 01 00 00 FC DD 66 FD 23 23 ED 5B -R 00 00 01 00 -T 53 01 00 00 04 00 00 00 73 23 72 2A -R 00 00 01 00 00 04 02 00 -T 59 01 00 00 04 00 00 00 23 23 E5 03 03 69 60 -R 00 00 01 00 00 04 02 00 -T 62 01 00 00 4E 23 46 E1 71 23 70 DD 6E FA DD -R 00 00 01 00 -T 6D 01 00 00 66 FB 46 23 66 68 DD 4E FE DD 46 -R 00 00 01 00 -T 78 01 00 00 FF A7 ED 42 E5 2A 04 00 00 00 D1 -R 00 00 01 00 00 0A 02 00 -T 81 01 00 00 73 23 72 DD 6E FA DD 66 FB 71 23 -R 00 00 01 00 -T 8C 01 00 00 70 -R 00 00 01 00 -T 8D 01 00 00 -R 00 00 01 00 -T 8D 01 00 00 DD 6E FC DD 66 FD 22 04 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 96 01 00 00 DD 6E FA DD 66 FB 23 23 AF 77 23 -R 00 00 01 00 -T A1 01 00 00 77 21 04 00 DD 4E FA DD 46 FB 09 -R 00 00 01 00 -T AC 01 00 00 18 22 -R 00 00 01 00 -T AE 01 00 00 -R 00 00 01 00 -T AE 01 00 00 2A 04 00 00 00 DD 4E FA DD 46 FB -R 00 00 01 00 00 05 02 00 -T B7 01 00 00 A7 ED 42 20 45 -R 00 00 01 00 -T BC 01 00 00 -R 00 00 01 00 -T BC 01 00 00 11 00 04 CD 00 00 00 00 DD 75 FA -R 00 00 01 00 02 08 04 00 -T C5 01 00 00 DD 74 FB 7D A4 3C 20 06 -R 00 00 01 00 -T CD 01 00 00 -R 00 00 01 00 -T CD 01 00 00 21 00 00 -R 00 00 01 00 -T D0 01 00 00 -R 00 00 01 00 -T D0 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T D3 01 00 00 -R 00 00 01 00 -T D3 01 00 00 DD 6E FA DD 66 FB 36 00 23 36 01 -R 00 00 01 00 -T DE 01 00 00 DD 6E FA DD 66 FB 23 23 AF 77 23 -R 00 00 01 00 -T E9 01 00 00 77 21 04 00 DD 4E FA DD 46 FB 09 -R 00 00 01 00 -T F4 01 00 00 EB CD 00 00 00 00 2A 04 00 00 00 -R 00 00 01 00 02 06 02 00 00 0B 02 00 -T FB 01 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 -T 01 02 00 00 -R 00 00 01 00 -T 01 02 00 00 DD 6E FA DD 66 FB DD 75 FC DD 74 -R 00 00 01 00 -T 0C 02 00 00 FD DD 6E FA DD 66 FB 23 23 46 23 -R 00 00 01 00 -T 17 02 00 00 66 68 DD 75 FA DD 74 FB C3 -R 00 00 01 00 -T 20 02 00 00 4D 00 00 00 -R 00 00 01 00 00 04 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 04 00 00 00 -R 00 00 02 00 -T 04 00 00 00 -R 00 00 02 00 diff --git a/lib/relcl/memccpy.rel b/lib/relcl/memccpy.rel deleted file mode 100644 index 6aed74a8..00000000 --- a/lib/relcl/memccpy.rel +++ /dev/null @@ -1,49 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 65 flags 0 -S memccpy Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 66 03 DD 75 FC DD 74 FD DD 71 FE -R 00 00 01 00 -T 14 00 00 00 DD 70 FF -R 00 00 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 DD 6E 0A DD 66 0B 2B DD 75 0A DD -R 00 00 01 00 -T 22 00 00 00 74 0B 23 7D B4 28 36 -R 00 00 01 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 34 00 00 00 74 FF 2B 46 DD 6E FC DD 66 FD 23 -R 00 00 01 00 -T 3F 00 00 00 DD 75 FC DD 74 FD 2B 70 48 06 00 -R 00 00 01 00 -T 4A 00 00 00 DD 6E 08 DD 66 09 A7 ED 42 20 08 -R 00 00 01 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 DD 6E FC DD 66 FD 18 05 -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 18 B8 -R 00 00 01 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 21 00 00 -R 00 00 01 00 -T 62 00 00 00 -R 00 00 01 00 -T 62 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcl/memchr.rel b/lib/relcl/memchr.rel deleted file mode 100644 index ad584589..00000000 --- a/lib/relcl/memchr.rel +++ /dev/null @@ -1,47 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4F flags 0 -S memchr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 66 03 DD 75 FE DD 74 FF -R 00 00 01 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 1C 00 00 00 74 09 23 7D B4 28 26 -R 00 00 01 00 -T 23 00 00 00 -R 00 00 01 00 -T 23 00 00 00 DD 6E FE DD 66 FF 4E 06 00 DD 6E -R 00 00 01 00 -T 2E 00 00 00 04 DD 66 05 A7 ED 42 20 08 -R 00 00 01 00 -T 37 00 00 00 -R 00 00 01 00 -T 37 00 00 00 DD 6E FE DD 66 FF 18 0D -R 00 00 01 00 -T 3F 00 00 00 -R 00 00 01 00 -T 3F 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 18 C8 -R 00 00 01 00 -T 49 00 00 00 -R 00 00 01 00 -T 49 00 00 00 21 00 00 -R 00 00 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcl/memcmp.rel b/lib/relcl/memcmp.rel deleted file mode 100644 index 2b2235a9..00000000 --- a/lib/relcl/memcmp.rel +++ /dev/null @@ -1,47 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6D flags 0 -S memcmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF DD 71 FA DD -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 70 FB DD 6E 02 DD 66 03 DD 75 FC -R 00 00 01 00 -T 14 00 00 00 DD 74 FD DD 36 FE 00 DD 36 FF 00 -R 00 00 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 2A 00 00 00 74 09 23 7D B4 28 2C -R 00 00 01 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD -R 00 00 01 00 -T 3C 00 00 00 74 FD 2B 46 DD 70 FF DD 6E FA DD -R 00 00 01 00 -T 47 00 00 00 66 FB 23 DD 75 FA DD 74 FB 2B 4E -R 00 00 01 00 -T 52 00 00 00 DD 71 FE 79 B8 28 02 -R 00 00 01 00 -T 59 00 00 00 -R 00 00 01 00 -T 59 00 00 00 18 02 -R 00 00 01 00 -T 5B 00 00 00 -R 00 00 01 00 -T 5B 00 00 00 18 C2 -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 DD 4E FF 06 00 DD 6E FE 26 00 A7 -R 00 00 01 00 -T 68 00 00 00 ED 42 C3 00 00 00 00 -R 00 00 01 00 02 07 01 00 diff --git a/lib/relcl/memcpy.rel b/lib/relcl/memcpy.rel deleted file mode 100644 index b9e3cedf..00000000 --- a/lib/relcl/memcpy.rel +++ /dev/null @@ -1,35 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 52 flags 0 -S memcpy Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 66 03 DD 75 FC DD 74 FD DD 71 FE -R 00 00 01 00 -T 14 00 00 00 DD 70 FF -R 00 00 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 22 00 00 00 74 09 23 7D B4 28 20 -R 00 00 01 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 34 00 00 00 74 FF 2B 46 DD 6E FC DD 66 FD 23 -R 00 00 01 00 -T 3F 00 00 00 DD 75 FC DD 74 FD 2B 70 18 CE -R 00 00 01 00 -T 49 00 00 00 -R 00 00 01 00 -T 49 00 00 00 DD 6E 02 DD 66 03 C3 00 00 00 00 -R 00 00 01 00 02 0B 01 00 diff --git a/lib/relcl/memmove.rel b/lib/relcl/memmove.rel deleted file mode 100644 index b93ced4b..00000000 --- a/lib/relcl/memmove.rel +++ /dev/null @@ -1,58 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S memcpy Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 95 flags 0 -S memmove Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 66 03 DD 75 FC DD 74 FD DD 71 FE -R 00 00 01 00 -T 14 00 00 00 DD 70 FF A7 ED 42 DD 4E 08 DD 46 -R 00 00 01 00 -T 1F 00 00 00 09 A7 ED 42 38 19 -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 DD 6E 08 DD 66 09 E5 DD 4E 04 DD -R 00 00 01 00 -T 30 00 00 00 46 05 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 39 00 00 00 00 00 00 00 F1 18 54 -R 00 00 01 00 02 04 01 00 -T 3E 00 00 00 -R 00 00 01 00 -T 3E 00 00 00 21 00 00 39 7E DD 86 08 77 23 7E -R 00 00 01 00 -T 49 00 00 00 DD 8E 09 77 21 02 00 39 7E DD 86 -R 00 00 01 00 -T 54 00 00 00 08 77 23 7E DD 8E 09 77 -R 00 00 01 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 67 00 00 00 74 09 23 7D B4 28 1E -R 00 00 01 00 -T 6E 00 00 00 -R 00 00 01 00 -T 6E 00 00 00 DD 6E FE DD 66 FF 2B DD 75 FE DD -R 00 00 01 00 -T 79 00 00 00 74 FF 46 DD 6E FC DD 66 FD 2B DD -R 00 00 01 00 -T 84 00 00 00 75 FC DD 74 FD 70 18 D0 -R 00 00 01 00 -T 8C 00 00 00 -R 00 00 01 00 -T 8C 00 00 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcl/memset.rel b/lib/relcl/memset.rel deleted file mode 100644 index 9ef772e7..00000000 --- a/lib/relcl/memset.rel +++ /dev/null @@ -1,31 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 40 flags 0 -S memset Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 66 03 DD 75 FE DD 74 FF -R 00 00 01 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 1C 00 00 00 74 09 23 7D B4 28 14 -R 00 00 01 00 -T 23 00 00 00 -R 00 00 01 00 -T 23 00 00 00 DD 46 04 DD 6E FE DD 66 FF 23 DD -R 00 00 01 00 -T 2E 00 00 00 75 FE DD 74 FF 2B 70 18 DA -R 00 00 01 00 -T 37 00 00 00 -R 00 00 01 00 -T 37 00 00 00 DD 6E 02 DD 66 03 C3 00 00 00 00 -R 00 00 01 00 02 0B 01 00 diff --git a/lib/relcl/mkdir.rel b/lib/relcl/mkdir.rel deleted file mode 100644 index 7c524b8d..00000000 --- a/lib/relcl/mkdir.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S mknod Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1E flags 0 -S mkdir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 00 00 E5 79 E6 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 FF 6F 78 E6 0F 67 7D F6 00 4F 7C -R 00 00 01 00 -T 14 00 00 00 F6 40 47 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 08 01 00 -T 1C 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relcl/mktime.rel b/lib/relcl/mktime.rel deleted file mode 100644 index 660cd051..00000000 --- a/lib/relcl/mktime.rel +++ /dev/null @@ -1,41 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9B flags 0 -S mktime Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 04 00 09 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 56 23 66 6A 65 2E 00 29 29 29 E5 -R 00 00 01 00 -T 14 00 00 00 03 03 0A 6F 03 0A 67 29 29 29 29 -R 00 00 01 00 -T 1F 00 00 00 29 4D 44 E1 7D B1 5F 7C B0 57 DD -R 00 00 01 00 -T 2A 00 00 00 6E 04 DD 66 05 46 23 66 68 CB 2C -R 00 00 01 00 -T 35 00 00 00 CB 1D 7B B5 4F 7A B4 47 DD 71 FC -R 00 00 01 00 -T 40 00 00 00 DD 70 FD 21 0A 00 DD 4E 04 DD 46 -R 00 00 01 00 -T 4B 00 00 00 05 09 56 23 66 6A 11 B0 FF 19 65 -R 00 00 01 00 -T 56 00 00 00 2E 00 29 E5 21 08 00 09 56 23 66 -R 00 00 01 00 -T 61 00 00 00 6A 23 29 29 29 29 29 EB E1 7D B3 -R 00 00 01 00 -T 6C 00 00 00 4F 7C B2 47 21 06 00 DD 5E 04 DD -R 00 00 01 00 -T 77 00 00 00 56 05 19 79 B6 5F 78 23 B6 57 DD -R 00 00 01 00 -T 82 00 00 00 73 FE DD 72 FF 21 00 00 39 DD 5E -R 00 00 01 00 -T 8D 00 00 00 02 DD 56 03 01 04 00 D5 ED B0 E1 -R 00 00 01 00 -T 98 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcl/opendir.rel b/lib/relcl/opendir.rel deleted file mode 100644 index 90869515..00000000 --- a/lib/relcl/opendir.rel +++ /dev/null @@ -1,88 +0,0 @@ -XL4 -H 2 areas A global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S free Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S calloc Ref00000000 -S open Ref00000000 -S stat Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size BD flags 0 -S opendir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 E0 FF 21 00 00 39 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 4D 44 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 12 00 00 00 00 00 00 00 7D B4 28 03 -R 00 00 01 00 02 04 07 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 C3 AF 00 00 00 -R 00 00 01 00 00 05 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 DD 7E E4 E6 00 47 DD 7E E5 E6 40 -R 00 00 01 00 -T 26 00 00 00 B0 20 08 -R 00 00 01 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 21 14 00 22 00 00 00 00 18 7E -R 00 00 01 00 02 08 03 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 01 08 00 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 3A 00 00 00 DD 75 FE DD 74 FF 7D B4 20 08 -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 21 0C 00 22 00 00 00 00 18 63 -R 00 00 01 00 02 08 03 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 21 06 00 DD 4E FE DD 46 FF 09 E5 -R 00 00 01 00 -T 57 00 00 00 01 15 00 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 60 00 00 00 4D 44 E1 71 23 70 79 B0 20 11 -R 00 00 01 00 -T 6A 00 00 00 -R 00 00 01 00 -T 6A 00 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 73 00 00 00 21 0C 00 22 00 00 00 00 18 34 -R 00 00 01 00 02 08 03 00 -T 7B 00 00 00 -R 00 00 01 00 -T 7B 00 00 00 21 00 80 E5 DD 6E 02 DD 66 03 E5 -R 00 00 01 00 -T 86 00 00 00 CD 00 00 00 00 F1 F1 E5 DD 6E FE -R 00 00 01 00 02 05 06 00 -T 8F 00 00 00 DD 66 FF C1 71 23 70 CB 78 28 1A -R 00 00 01 00 -T 9A 00 00 00 -R 00 00 01 00 -T 9A 00 00 00 21 06 00 DD 4E FE DD 46 FF 09 5E -R 00 00 01 00 -T A5 00 00 00 23 56 CD 00 00 00 00 59 50 CD -R 00 00 01 00 02 07 02 00 -T AD 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 -T AF 00 00 00 -R 00 00 01 00 -T AF 00 00 00 21 00 00 18 06 -R 00 00 01 00 -T B4 00 00 00 -R 00 00 01 00 -T B4 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 -T BA 00 00 00 -R 00 00 01 00 -T BA 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcl/perror.rel b/lib/relcl/perror.rel deleted file mode 100644 index 16c059d9..00000000 --- a/lib/relcl/perror.rel +++ /dev/null @@ -1,78 +0,0 @@ -XL4 -H 3 areas 9 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S strerror Ref00000000 -S _write Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7D flags 0 -S perror Def00000045 -A CSTR size B flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 66 03 DD 75 FE DD 74 FF -R 00 00 01 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 DD 6E FE DD 66 FF AF B6 28 0A -R 00 00 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 23 00 00 00 -R 00 00 01 00 -T 23 00 00 00 18 EC -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 DD 4E 02 DD 46 03 DD 6E FE DD 66 -R 00 00 01 00 -T 30 00 00 00 FF A7 ED 42 E5 DD 4E 02 DD 46 03 -R 00 00 01 00 -T 3B 00 00 00 11 02 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 08 02 00 -T 43 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 03 00 -T 45 00 00 00 -R 00 00 01 00 -T 45 00 00 00 CD 00 00 00 00 7B B2 20 08 -R 00 00 01 00 02 05 04 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 DD 36 02 00 00 00 00 DD 36 03 -R 00 00 01 00 09 07 02 00 -T 53 00 00 00 00 00 00 00 -R 00 00 01 00 89 04 02 00 -T 54 00 00 00 -R 00 00 01 00 -T 54 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 5D 00 00 00 11 06 00 00 00 CD 00 00 00 00 ED -R 00 00 01 00 00 05 02 00 00 0A 01 00 -T 64 00 00 00 5B 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 05 00 02 0A 01 00 -T 6B 00 00 00 75 02 DD 74 03 EB CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 74 00 00 00 11 09 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 00 05 02 00 00 0A 01 00 -T 7B 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 65 72 72 6F 72 00 -R 00 00 02 00 -T 06 00 00 00 -R 00 00 02 00 -T 06 00 00 00 3A 20 00 -R 00 00 02 00 -T 09 00 00 00 -R 00 00 02 00 -T 09 00 00 00 0A 00 -R 00 00 02 00 diff --git a/lib/relcl/popen.rel b/lib/relcl/popen.rel deleted file mode 100644 index ee672055..00000000 --- a/lib/relcl/popen.rel +++ /dev/null @@ -1,171 +0,0 @@ -XL4 -H 5 areas 10 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S execve Ref00000000 -S environ Ref00000000 -S close Ref00000000 -S __fopen Ref00000000 -S abort Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S pipe Ref00000000 -S waitpid Ref00000000 -S fork Ref00000000 -S dup2 Ref00000000 -S fclose Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16B flags 0 -S pclose Def0000013A -S popen Def00000000 -A CSTR size E flags 0 -A IDATA0 size 8 flags 0 -A CDATA0 size 8 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF 21 00 00 39 -R 00 00 01 00 02 05 07 00 -T 09 00 00 00 5D 54 CD 00 00 00 00 CB 7C 28 06 -R 00 00 01 00 02 07 08 00 -T 12 00 00 00 -R 00 00 01 00 -T 12 00 00 00 21 00 00 C3 37 01 00 00 -R 00 00 01 00 00 08 01 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 DD 6E 04 DD 66 05 7E FE 72 20 04 -R 00 00 01 00 -T 23 00 00 00 0E 01 18 02 -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 0E 00 -R 00 00 01 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 06 00 DD 71 FC DD 70 FD 79 B0 20 -R 00 00 01 00 -T 34 00 00 00 04 0E 01 18 02 -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 0E 00 -R 00 00 01 00 -T 3B 00 00 00 -R 00 00 01 00 -T 3B 00 00 00 06 00 DD 71 FE DD 70 FF CD -R 00 00 01 00 -T 44 00 00 00 00 00 00 00 DD 75 FA DD 74 FB CB -R 00 00 01 00 02 04 0A 00 -T 4D 00 00 00 7C 28 18 -R 00 00 01 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 DD 5E F6 DD 56 F7 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 59 00 00 00 DD 5E F8 DD 56 F9 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 62 00 00 00 21 00 00 C3 37 01 00 00 -R 00 00 01 00 00 08 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 DD 7E FA DD B6 FB C2 FB 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 71 00 00 00 -R 00 00 01 00 -T 71 00 00 00 DD 6E FE DD 66 FF 29 E5 21 02 00 -R 00 00 01 00 -T 7C 00 00 00 39 4D 44 E1 09 5E 23 56 CD -R 00 00 01 00 -T 85 00 00 00 00 00 00 00 DD 5E FC DD 56 FD CD -R 00 00 01 00 02 04 03 00 -T 8E 00 00 00 00 00 00 00 DD 6E FC DD 66 FD 29 -R 00 00 01 00 02 04 03 00 -T 97 00 00 00 E5 21 02 00 39 4D 44 E1 09 46 23 -R 00 00 01 00 -T A2 00 00 00 66 68 DD 4E FC DD 46 FD A7 ED 42 -R 00 00 01 00 -T AD 00 00 00 28 32 -R 00 00 01 00 -T AF 00 00 00 -R 00 00 01 00 -T AF 00 00 00 DD 4E FC DD 46 FD DD 6E FC DD 66 -R 00 00 01 00 -T BA 00 00 00 FD 29 E5 21 02 00 39 5D 54 E1 19 -R 00 00 01 00 -T C5 00 00 00 5E 23 56 CD 00 00 00 00 DD 6E FC -R 00 00 01 00 02 08 0B 00 -T CE 00 00 00 DD 66 FD 29 E5 21 02 00 39 4D 44 -R 00 00 01 00 -T D9 00 00 00 E1 09 5E 23 56 CD 00 00 00 00 -R 00 00 01 00 02 0A 03 00 -T E1 00 00 00 -R 00 00 01 00 -T E1 00 00 00 DD 6E 02 DD 66 03 22 04 00 00 00 -R 00 00 01 00 00 0B 03 00 -T EA 00 00 00 2A 00 00 00 00 E5 01 00 00 00 00 -R 00 00 01 00 02 05 02 00 00 0B 03 00 -T F1 00 00 00 11 06 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 00 05 02 00 02 0A 01 00 -T F8 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T FB 00 00 00 -R 00 00 01 00 -T FB 00 00 00 DD 6E FC DD 66 FD 29 E5 21 02 00 -R 00 00 01 00 -T 06 01 00 00 39 4D 44 E1 09 5E 23 56 CD -R 00 00 01 00 -T 0F 01 00 00 00 00 00 00 DD 6E 04 DD 66 05 E5 -R 00 00 01 00 02 04 03 00 -T 18 01 00 00 21 00 00 E5 DD 6E FE DD 66 FF 29 -R 00 00 01 00 -T 23 01 00 00 E5 21 06 00 39 4D 44 E1 09 4E 23 -R 00 00 01 00 -T 2E 01 00 00 46 11 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 09 04 00 -T 37 01 00 00 -R 00 00 01 00 -T 37 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 3A 01 00 00 -R 00 00 01 00 -T 3A 01 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 07 00 -T 43 01 00 00 56 03 CD 00 00 00 00 7D B4 28 05 -R 00 00 01 00 02 07 0C 00 -T 4C 01 00 00 -R 00 00 01 00 -T 4C 01 00 00 21 FF FF 18 17 -R 00 00 01 00 -T 51 01 00 00 -R 00 00 01 00 -T 51 01 00 00 21 00 00 E5 21 02 00 39 4D 44 11 -R 00 00 01 00 -T 5C 01 00 00 FF FF CD 00 00 00 00 F1 DD 6E FE -R 00 00 01 00 02 07 09 00 -T 65 01 00 00 DD 66 FF -R 00 00 01 00 -T 68 01 00 00 -R 00 00 01 00 -T 68 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 73 68 00 -R 00 00 02 00 -T 03 00 00 00 -R 00 00 02 00 -T 03 00 00 00 2D 63 00 -R 00 00 02 00 -T 06 00 00 00 -R 00 00 02 00 -T 06 00 00 00 2F 62 69 6E 2F 73 68 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 00 00 00 00 03 00 00 00 00 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 06 00 00 00 00 00 -R 00 00 04 00 diff --git a/lib/relcl/printf.rel b/lib/relcl/printf.rel deleted file mode 100644 index 4af5ed8a..00000000 --- a/lib/relcl/printf.rel +++ /dev/null @@ -1,23 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S stdout Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S vfprintf Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2A flags 0 -S printf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 0C 00 39 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 01 02 00 09 DD 75 FC DD 74 FD E5 -R 00 00 01 00 -T 14 00 00 00 DD 4E 08 DD 46 09 11 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 1D 00 00 00 CD 00 00 00 00 F1 DD 75 FE DD 74 -R 00 00 01 00 02 05 04 00 -T 26 00 00 00 FF C3 00 00 00 00 -R 00 00 01 00 02 06 01 00 diff --git a/lib/relcl/putenv.rel b/lib/relcl/putenv.rel deleted file mode 100644 index 0c152a70..00000000 --- a/lib/relcl/putenv.rel +++ /dev/null @@ -1,189 +0,0 @@ -XL4 -H 4 areas D global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S environ Ref00000000 -S memcpy Ref00000000 -S strchr Ref00000000 -S strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S free Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S malloc Ref00000000 -S .__.ABS. Def00000000 -S memcmp Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1B7 flags 0 -S putenv Def00000000 -A IDATA0 size 4 flags 0 -A CDATA0 size 4 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF 01 3D 00 DD -R 00 00 01 00 02 05 07 00 -T 09 00 00 00 5E 02 DD 56 03 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 03 00 -T 12 00 00 00 75 FA DD 74 FB 7D B4 20 11 -R 00 00 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 04 00 -T 24 00 00 00 DD 75 FE DD 74 FF 18 15 -R 00 00 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 DD 4E 02 DD 46 03 DD 6E FA DD 66 -R 00 00 01 00 -T 37 00 00 00 FB A7 ED 42 DD 75 FE DD 74 FF -R 00 00 01 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 2A 00 00 00 00 DD 75 F6 DD 74 F7 -R 00 00 01 00 02 05 01 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 DD 6E F6 DD 66 F7 46 23 66 68 DD -R 00 00 01 00 -T 55 00 00 00 75 FC DD 74 FD 7D B4 CA -R 00 00 01 00 -T 5D 00 00 00 E1 00 00 00 -R 00 00 01 00 00 04 01 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 DD 6E 02 DD 66 03 E5 DD 6E FC DD -R 00 00 01 00 -T 6A 00 00 00 66 FD 7E E1 BE 20 60 DD 6E FE DD -R 00 00 01 00 -T 75 00 00 00 66 FF DD 4E FC DD 46 FD 09 7E FE -R 00 00 01 00 -T 80 00 00 00 3D 20 4E DD 6E FE DD 66 FF E5 DD -R 00 00 01 00 -T 8B 00 00 00 4E FC DD 46 FD DD 5E 02 DD 56 03 -R 00 00 01 00 -T 96 00 00 00 CD 00 00 00 00 F1 7D B4 20 33 -R 00 00 01 00 02 05 0B 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 DD 6E F6 DD 66 F7 23 23 46 23 66 -R 00 00 01 00 -T A9 00 00 00 68 E5 DD 6E F6 DD 66 F7 C1 71 23 -R 00 00 01 00 -T B4 00 00 00 70 79 B0 28 0F -R 00 00 01 00 -T B9 00 00 00 -R 00 00 01 00 -T B9 00 00 00 DD 7E F6 C6 02 DD 77 F6 30 03 DD -R 00 00 01 00 -T C4 00 00 00 34 F7 -R 00 00 01 00 -T C6 00 00 00 -R 00 00 01 00 -T C6 00 00 00 18 D6 -R 00 00 01 00 -T C8 00 00 00 -R 00 00 01 00 -T C8 00 00 00 2A 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 05 02 00 00 0B 02 00 -T CF 00 00 00 18 10 -R 00 00 01 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 DD 7E F6 C6 02 DD 77 F6 30 03 DD -R 00 00 01 00 -T DC 00 00 00 34 F7 -R 00 00 01 00 -T DE 00 00 00 -R 00 00 01 00 -T DE 00 00 00 C3 4A 00 00 00 -R 00 00 01 00 00 05 01 00 -T E1 00 00 00 -R 00 00 01 00 -T E1 00 00 00 DD 7E FA DD B6 FB 20 06 -R 00 00 01 00 -T E9 00 00 00 -R 00 00 01 00 -T E9 00 00 00 21 00 00 C3 B4 01 00 00 -R 00 00 01 00 00 08 01 00 -T EF 00 00 00 -R 00 00 01 00 -T EF 00 00 00 ED 4B 02 00 00 00 21 00 00 CD -R 00 00 01 00 00 06 02 00 -T F7 00 00 00 00 00 00 00 DA 87 01 00 00 -R 00 00 01 00 02 04 08 00 00 09 01 00 -T FC 00 00 00 -R 00 00 01 00 -T FC 00 00 00 ED 4B 00 00 00 00 DD 6E F6 DD 66 -R 00 00 01 00 02 06 01 00 -T 05 01 00 00 F7 A7 ED 42 CB 2C CB 1D 01 05 00 -R 00 00 01 00 -T 10 01 00 00 09 29 EB CD 00 00 00 00 DD 75 F8 -R 00 00 01 00 02 08 09 00 -T 19 01 00 00 DD 74 F9 7D B4 20 06 -R 00 00 01 00 -T 20 01 00 00 -R 00 00 01 00 -T 20 01 00 00 21 FF FF C3 B4 01 00 00 -R 00 00 01 00 00 08 01 00 -T 26 01 00 00 -R 00 00 01 00 -T 26 01 00 00 ED 4B 00 00 00 00 DD 6E F6 DD 66 -R 00 00 01 00 02 06 01 00 -T 2F 01 00 00 F7 A7 ED 42 CB 2C CB 1D 23 29 E5 -R 00 00 01 00 -T 3A 01 00 00 ED 4B 00 00 00 00 DD 5E F8 DD 56 -R 00 00 01 00 02 06 01 00 -T 43 01 00 00 F9 CD 00 00 00 00 F1 ED 4B -R 00 00 01 00 02 06 02 00 -T 4A 01 00 00 00 00 00 00 DD 6E F6 DD 66 F7 A7 -R 00 00 01 00 02 04 01 00 -T 53 01 00 00 ED 42 CB 2C CB 1D 29 DD 4E F8 DD -R 00 00 01 00 -T 5E 01 00 00 46 F9 09 DD 75 F6 DD 74 F7 21 -R 00 00 01 00 -T 68 01 00 00 04 00 22 02 00 00 00 2A -R 00 00 01 00 00 07 02 00 -T 6E 01 00 00 00 00 00 00 7D B4 28 07 -R 00 00 01 00 00 04 02 00 -T 74 01 00 00 -R 00 00 01 00 -T 74 01 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 02 00 02 0B 06 00 -T 7B 01 00 00 -R 00 00 01 00 -T 7B 01 00 00 DD 6E F8 DD 66 F9 22 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 84 01 00 00 22 00 00 00 00 -R 00 00 01 00 00 05 02 00 -T 87 01 00 00 -R 00 00 01 00 -T 87 01 00 00 DD 6E F6 DD 66 F7 4D 44 03 03 DD -R 00 00 01 00 -T 92 01 00 00 71 F6 DD 70 F7 DD 4E 02 DD 46 03 -R 00 00 01 00 -T 9D 01 00 00 71 23 70 DD 6E F6 DD 66 F7 AF 77 -R 00 00 01 00 -T A8 01 00 00 23 77 2A 02 00 00 00 2B 22 -R 00 00 01 00 00 07 02 00 -T AF 01 00 00 02 00 00 00 21 00 00 -R 00 00 01 00 00 04 02 00 -T B4 01 00 00 -R 00 00 01 00 -T B4 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcl/putgetch.rel b/lib/relcl/putgetch.rel deleted file mode 100644 index d8b26c90..00000000 --- a/lib/relcl/putgetch.rel +++ /dev/null @@ -1,41 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _write Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 40 flags 0 -S _putchar Def00000000 -S _getchar Def00000017 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 01 00 E5 21 -R 00 00 01 00 02 05 03 00 -T 08 00 00 00 04 00 39 4D 44 11 01 00 CD -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0A 02 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 CD 00 00 00 00 FE FF 21 01 00 E5 -R 00 00 01 00 02 05 04 00 -T 20 00 00 00 21 02 00 39 4D 44 11 00 00 CD -R 00 00 01 00 -T 2A 00 00 00 00 00 00 00 F1 3E 01 AD B4 20 07 -R 00 00 01 00 02 04 05 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 DD 6E FE 26 00 18 03 -R 00 00 01 00 -T 3A 00 00 00 -R 00 00 01 00 -T 3A 00 00 00 21 FF FF -R 00 00 01 00 -T 3D 00 00 00 -R 00 00 01 00 -T 3D 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcl/putpwent.rel b/lib/relcl/putpwent.rel deleted file mode 100644 index 00e4bc85..00000000 --- a/lib/relcl/putpwent.rel +++ /dev/null @@ -1,66 +0,0 @@ -XL4 -H 3 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S errno Ref00000000 -S fprintf Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7E flags 0 -S putpwent Def00000000 -A CSTR size 16 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 7B B2 28 08 DD 7E -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 04 DD B6 05 20 0B -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 21 16 00 22 00 00 00 00 21 FF FF -R 00 00 01 00 02 08 03 00 -T 18 00 00 00 18 61 -R 00 00 01 00 -T 1A 00 00 00 -R 00 00 01 00 -T 1A 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 25 00 00 00 23 56 D5 21 0A 00 09 5E 23 56 D5 -R 00 00 01 00 -T 30 00 00 00 21 08 00 09 5E 23 56 D5 21 06 00 -R 00 00 01 00 -T 3B 00 00 00 09 5E 23 56 D5 21 04 00 09 5E 23 -R 00 00 01 00 -T 46 00 00 00 56 D5 03 03 69 60 4E 23 46 C5 DD -R 00 00 01 00 -T 51 00 00 00 6E 02 DD 66 03 4E 23 46 C5 21 -R 00 00 01 00 -T 5B 00 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 00 04 02 00 -T 64 00 00 00 E5 CD 00 00 00 00 EB 21 12 00 39 -R 00 00 01 00 02 06 04 00 -T 6D 00 00 00 F9 EB CB 7C 28 05 -R 00 00 01 00 -T 73 00 00 00 -R 00 00 01 00 -T 73 00 00 00 21 FF FF 18 03 -R 00 00 01 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 21 00 00 -R 00 00 01 00 -T 7B 00 00 00 -R 00 00 01 00 -T 7B 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 25 73 3A 25 73 3A 25 75 3A 25 75 -R 00 00 02 00 -T 0B 00 00 00 3A 25 73 3A 25 73 3A 25 73 0A 00 -R 00 00 02 00 diff --git a/lib/relcl/qsort.rel b/lib/relcl/qsort.rel deleted file mode 100644 index 3ec71f1d..00000000 --- a/lib/relcl/qsort.rel +++ /dev/null @@ -1,305 +0,0 @@ -XL4 -H 3 areas A global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?CALL_IND_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?US_DIV_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 372 flags 0 -S qsort Def0000032E -A UDATA0 size 2 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF -R 00 00 01 00 02 05 05 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 DD 4E 04 DD 46 05 DD 6E 02 DD 66 -R 00 00 01 00 -T 10 00 00 00 03 A7 ED 42 38 03 -R 00 00 01 00 -T 16 00 00 00 -R 00 00 01 00 -T 16 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 19 00 00 00 -R 00 00 01 00 -T 19 00 00 00 DD 6E 02 DD 66 03 DD 75 F6 DD 74 -R 00 00 01 00 -T 24 00 00 00 F7 DD 6E 04 DD 66 05 DD 75 F8 DD -R 00 00 01 00 -T 2F 00 00 00 74 F9 DD 4E 02 DD 46 03 DD 6E 04 -R 00 00 01 00 -T 3A 00 00 00 DD 66 05 A7 ED 42 DD 4E 08 DD 46 -R 00 00 01 00 -T 45 00 00 00 09 09 EB 69 60 29 4D 44 CD -R 00 00 01 00 -T 4E 00 00 00 00 00 00 00 DD 4E 08 DD 46 09 CD -R 00 00 01 00 02 04 07 00 -T 57 00 00 00 00 00 00 00 DD 6E 02 DD 66 03 19 -R 00 00 01 00 02 04 01 00 -T 60 00 00 00 DD 75 FC DD 74 FD DD 75 FA DD 74 -R 00 00 01 00 -T 6B 00 00 00 FB -R 00 00 01 00 -T 6C 00 00 00 -R 00 00 01 00 -T 6C 00 00 00 -R 00 00 01 00 -T 6C 00 00 00 DD 4E FA DD 46 FB DD 6E F6 DD 66 -R 00 00 01 00 -T 77 00 00 00 F7 A7 ED 42 30 61 DD 4E FA DD 46 -R 00 00 01 00 -T 82 00 00 00 FB DD 5E F6 DD 56 F7 2A -R 00 00 01 00 -T 8A 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 00 04 02 00 02 09 04 00 -T 91 00 00 00 FE DD 74 FF 4D 44 21 00 00 CD -R 00 00 01 00 -T 9B 00 00 00 00 00 00 00 38 3F -R 00 00 01 00 02 04 06 00 -T 9F 00 00 00 -R 00 00 01 00 -T 9F 00 00 00 -R 00 00 01 00 -T 9F 00 00 00 -R 00 00 01 00 -T 9F 00 00 00 DD CB FF 7E 28 11 -R 00 00 01 00 -T A5 00 00 00 -R 00 00 01 00 -T A5 00 00 00 21 00 00 39 7E DD 86 08 77 23 7E -R 00 00 01 00 -T B0 00 00 00 DD 8E 09 77 18 26 -R 00 00 01 00 -T B6 00 00 00 -R 00 00 01 00 -T B6 00 00 00 21 04 00 39 7E DD 96 08 77 23 7E -R 00 00 01 00 -T C1 00 00 00 DD 9E 09 77 DD 6E 08 DD 66 09 E5 -R 00 00 01 00 -T CC 00 00 00 DD 4E FA DD 46 FB DD 5E F6 DD 56 -R 00 00 01 00 -T D7 00 00 00 F7 CD 78 02 00 00 E1 -R 00 00 01 00 00 06 01 00 -T DC 00 00 00 -R 00 00 01 00 -T DC 00 00 00 18 8E -R 00 00 01 00 -T DE 00 00 00 -R 00 00 01 00 -T DE 00 00 00 -R 00 00 01 00 -T DE 00 00 00 DD 4E F8 DD 46 F9 DD 6E FC DD 66 -R 00 00 01 00 -T E9 00 00 00 FD A7 ED 42 D2 E3 01 00 00 -R 00 00 01 00 00 09 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 DD 4E FC DD 46 FD DD 5E F8 DD 56 -R 00 00 01 00 -T FB 00 00 00 F9 2A 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 02 00 02 0B 04 00 -T 02 01 00 00 DD 75 FE DD 74 FF CB 7C CA -R 00 00 01 00 -T 0B 01 00 00 A1 01 00 00 -R 00 00 01 00 00 04 01 00 -T 0D 01 00 00 -R 00 00 01 00 -T 0D 01 00 00 DD 4E FA DD 46 FB DD 6E F6 DD 66 -R 00 00 01 00 -T 18 01 00 00 F7 A7 ED 42 30 38 -R 00 00 01 00 -T 1E 01 00 00 -R 00 00 01 00 -T 1E 01 00 00 DD 6E 08 DD 66 09 E5 DD 4E F8 DD -R 00 00 01 00 -T 29 01 00 00 46 F9 DD 5E F6 DD 56 F7 CD -R 00 00 01 00 -T 32 01 00 00 78 02 00 00 E1 21 00 00 39 7E DD -R 00 00 01 00 00 04 01 00 -T 3B 01 00 00 86 08 77 23 7E DD 8E 09 77 21 -R 00 00 01 00 -T 45 01 00 00 02 00 39 7E DD 96 08 77 23 7E DD -R 00 00 01 00 -T 50 01 00 00 9E 09 77 C3 6C 00 00 00 -R 00 00 01 00 00 08 01 00 -T 56 01 00 00 -R 00 00 01 00 -T 56 01 00 00 21 06 00 39 7E DD 86 08 77 23 7E -R 00 00 01 00 -T 61 01 00 00 DD 8E 09 77 DD 6E 08 DD 66 09 E5 -R 00 00 01 00 -T 6C 01 00 00 DD 6E F8 DD 66 F9 E5 DD 4E FC DD -R 00 00 01 00 -T 77 01 00 00 46 FD DD 5E F6 DD 56 F7 CD -R 00 00 01 00 -T 80 01 00 00 C8 02 00 00 E1 E1 21 04 00 39 7E -R 00 00 01 00 00 04 01 00 -T 89 01 00 00 DD 86 08 77 23 7E DD 8E 09 77 DD -R 00 00 01 00 -T 94 01 00 00 6E FA DD 66 FB DD 75 F6 DD 74 F7 -R 00 00 01 00 -T 9F 01 00 00 18 3F -R 00 00 01 00 -T A1 01 00 00 -R 00 00 01 00 -T A1 01 00 00 DD 7E FE DD B6 FF 20 28 -R 00 00 01 00 -T A9 01 00 00 -R 00 00 01 00 -T A9 01 00 00 21 06 00 39 7E DD 86 08 77 23 7E -R 00 00 01 00 -T B4 01 00 00 DD 8E 09 77 DD 6E 08 DD 66 09 E5 -R 00 00 01 00 -T BF 01 00 00 DD 4E FC DD 46 FD DD 5E F8 DD 56 -R 00 00 01 00 -T CA 01 00 00 F9 CD 78 02 00 00 E1 18 0F -R 00 00 01 00 00 06 01 00 -T D1 01 00 00 -R 00 00 01 00 -T D1 01 00 00 21 02 00 39 7E DD 96 08 77 23 7E -R 00 00 01 00 -T DC 01 00 00 DD 9E 09 77 -R 00 00 01 00 -T E0 01 00 00 -R 00 00 01 00 -T E0 01 00 00 -R 00 00 01 00 -T E0 01 00 00 C3 DE 00 00 00 -R 00 00 01 00 00 05 01 00 -T E3 01 00 00 -R 00 00 01 00 -T E3 01 00 00 DD 4E FA DD 46 FB DD 6E F6 DD 66 -R 00 00 01 00 -T EE 01 00 00 F7 A7 ED 42 30 4C -R 00 00 01 00 -T F4 01 00 00 -R 00 00 01 00 -T F4 01 00 00 21 04 00 39 7E DD 96 08 77 23 7E -R 00 00 01 00 -T FF 01 00 00 DD 9E 09 77 DD 6E 08 DD 66 09 E5 -R 00 00 01 00 -T 0A 02 00 00 DD 6E F6 DD 66 F7 E5 DD 4E FA DD -R 00 00 01 00 -T 15 02 00 00 46 FB DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T 1E 02 00 00 C8 02 00 00 E1 E1 21 06 00 39 7E -R 00 00 01 00 00 04 01 00 -T 27 02 00 00 DD 96 08 77 23 7E DD 9E 09 77 DD -R 00 00 01 00 -T 32 02 00 00 6E FC DD 66 FD DD 75 F8 DD 74 F9 -R 00 00 01 00 -T 3D 02 00 00 C3 6C 00 00 00 -R 00 00 01 00 00 05 01 00 -T 40 02 00 00 -R 00 00 01 00 -T 40 02 00 00 DD 6E 08 DD 66 09 E5 DD 4E 08 DD -R 00 00 01 00 -T 4B 02 00 00 46 09 DD 6E FA DD 66 FB A7 ED 42 -R 00 00 01 00 -T 56 02 00 00 4D 44 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 5F 02 00 00 00 00 00 00 E1 DD 6E 08 DD 66 09 -R 00 00 01 00 00 04 01 00 -T 68 02 00 00 DD 4E FC DD 46 FD 09 DD 75 02 DD -R 00 00 01 00 -T 73 02 00 00 74 03 C3 05 00 00 00 -R 00 00 01 00 00 07 01 00 -T 78 02 00 00 -R 00 00 01 00 -T 78 02 00 00 CD 00 00 00 00 FE FF -R 00 00 01 00 02 05 05 00 -T 7D 02 00 00 -R 00 00 01 00 -T 7D 02 00 00 -R 00 00 01 00 -T 7D 02 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 88 02 00 00 74 09 23 7D B4 28 36 -R 00 00 01 00 -T 8F 02 00 00 -R 00 00 01 00 -T 8F 02 00 00 DD 6E 02 DD 66 03 4E 06 00 DD 71 -R 00 00 01 00 -T 9A 02 00 00 FE DD 70 FF DD 6E 04 DD 66 05 56 -R 00 00 01 00 -T A5 02 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T B0 02 00 00 74 03 2B 72 DD 6E 04 DD 66 05 23 -R 00 00 01 00 -T BB 02 00 00 DD 75 04 DD 74 05 2B 71 18 B8 -R 00 00 01 00 -T C5 02 00 00 -R 00 00 01 00 -T C5 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T C8 02 00 00 -R 00 00 01 00 -T C8 02 00 00 CD 00 00 00 00 FE FF -R 00 00 01 00 02 05 05 00 -T CD 02 00 00 -R 00 00 01 00 -T CD 02 00 00 -R 00 00 01 00 -T CD 02 00 00 DD 6E 0A DD 66 0B 2B DD 75 0A DD -R 00 00 01 00 -T D8 02 00 00 74 0B 23 7D B4 28 4C -R 00 00 01 00 -T DF 02 00 00 -R 00 00 01 00 -T DF 02 00 00 DD 6E 02 DD 66 03 4E 06 00 DD 71 -R 00 00 01 00 -T EA 02 00 00 FE DD 70 FF DD 6E 08 DD 66 09 56 -R 00 00 01 00 -T F5 02 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T 00 03 00 00 74 03 2B 72 DD 6E 04 DD 66 05 56 -R 00 00 01 00 -T 0B 03 00 00 DD 6E 08 DD 66 09 23 DD 75 08 DD -R 00 00 01 00 -T 16 03 00 00 74 09 2B 72 DD 6E 04 DD 66 05 23 -R 00 00 01 00 -T 21 03 00 00 DD 75 04 DD 74 05 2B 71 18 A2 -R 00 00 01 00 -T 2B 03 00 00 -R 00 00 01 00 -T 2B 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 2E 03 00 00 -R 00 00 01 00 -T 2E 03 00 00 CD 00 00 00 00 79 B0 20 02 -R 00 00 01 00 02 05 03 00 -T 35 03 00 00 -R 00 00 01 00 -T 35 03 00 00 18 38 -R 00 00 01 00 -T 37 03 00 00 -R 00 00 01 00 -T 37 03 00 00 DD 6E 0A DD 66 0B 22 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 40 03 00 00 DD 6E 08 DD 66 09 E5 21 FF FF DD -R 00 00 01 00 -T 4B 03 00 00 4E 04 DD 46 05 09 4D 44 DD 5E 08 -R 00 00 01 00 -T 56 03 00 00 DD 56 09 CD 00 00 00 00 DD 6E 02 -R 00 00 01 00 02 08 01 00 -T 5F 03 00 00 DD 66 03 19 4D 44 DD 5E 02 DD 56 -R 00 00 01 00 -T 6A 03 00 00 03 CD 00 00 00 00 E1 -R 00 00 01 00 00 06 01 00 -T 6F 03 00 00 -R 00 00 01 00 -T 6F 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 diff --git a/lib/relcl/rand.rel b/lib/relcl/rand.rel deleted file mode 100644 index eff399c4..00000000 --- a/lib/relcl/rand.rel +++ /dev/null @@ -1,126 +0,0 @@ -XL4 -H 4 areas A global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?US_MOD_L02 Ref00000000 -S ?SS_DIV_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13E flags 0 -S srand Def000000F8 -S rand Def00000000 -A IDATA0 size 6 flags 0 -A CDATA0 size 6 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 01 CE 00 ED -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 5B 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 02 00 02 0A 06 00 -T 10 00 00 00 73 FE DD 72 FF 01 1F 00 CD -R 00 00 01 00 -T 19 00 00 00 00 00 00 00 D5 01 CE 00 DD 5E FE -R 00 00 01 00 02 04 01 00 -T 22 00 00 00 DD 56 FF CD 00 00 00 00 2A -R 00 00 01 00 02 08 01 00 -T 29 00 00 00 00 00 00 00 A7 ED 52 4D 44 11 -R 00 00 01 00 00 04 02 00 -T 31 00 00 00 9D 00 CD 00 00 00 00 EB D1 A7 ED -R 00 00 01 00 02 07 01 00 -T 3A 00 00 00 52 22 00 00 00 00 CB 7C 28 0B -R 00 00 01 00 00 06 02 00 -T 42 00 00 00 -R 00 00 01 00 -T 42 00 00 00 21 6B 7E ED 4B 00 00 00 00 09 22 -R 00 00 01 00 00 09 02 00 -T 4B 00 00 00 00 00 00 00 -R 00 00 01 00 00 04 02 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 01 D9 00 ED 5B 02 00 00 00 CD -R 00 00 01 00 00 09 02 00 -T 55 00 00 00 00 00 00 00 DD 73 FE DD 72 FF 01 -R 00 00 01 00 02 04 06 00 -T 5E 00 00 00 2D 00 CD 00 00 00 00 D5 01 D9 00 -R 00 00 01 00 02 07 01 00 -T 67 00 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 70 00 00 00 2A 02 00 00 00 A7 ED 52 4D 44 11 -R 00 00 01 00 00 05 02 00 -T 79 00 00 00 92 00 CD 00 00 00 00 EB D1 A7 ED -R 00 00 01 00 02 07 01 00 -T 82 00 00 00 52 22 02 00 00 00 CB 7C 28 0B -R 00 00 01 00 00 06 02 00 -T 8A 00 00 00 -R 00 00 01 00 -T 8A 00 00 00 21 EF 7B ED 4B 02 00 00 00 09 22 -R 00 00 01 00 00 09 02 00 -T 93 00 00 00 02 00 00 00 -R 00 00 01 00 00 04 02 00 -T 95 00 00 00 -R 00 00 01 00 -T 95 00 00 00 01 DE 00 ED 5B 04 00 00 00 CD -R 00 00 01 00 00 09 02 00 -T 9D 00 00 00 00 00 00 00 DD 73 FE DD 72 FF 01 -R 00 00 01 00 02 04 06 00 -T A6 00 00 00 85 00 CD 00 00 00 00 D5 01 DE 00 -R 00 00 01 00 02 07 01 00 -T AF 00 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T B8 00 00 00 2A 04 00 00 00 A7 ED 52 4D 44 11 -R 00 00 01 00 00 05 02 00 -T C1 00 00 00 8E 00 CD 00 00 00 00 EB D1 A7 ED -R 00 00 01 00 02 07 01 00 -T CA 00 00 00 52 22 04 00 00 00 CB 7C 28 0B -R 00 00 01 00 00 06 02 00 -T D2 00 00 00 -R 00 00 01 00 -T D2 00 00 00 21 A9 7B ED 4B 04 00 00 00 09 22 -R 00 00 01 00 00 09 02 00 -T DB 00 00 00 04 00 00 00 -R 00 00 01 00 00 04 02 00 -T DD 00 00 00 -R 00 00 01 00 -T DD 00 00 00 2A 00 00 00 00 ED 4B 02 00 00 00 -R 00 00 01 00 00 05 02 00 00 0B 02 00 -T E4 00 00 00 7D A9 5F 7C A8 57 2A 04 00 00 00 -R 00 00 01 00 00 0B 02 00 -T ED 00 00 00 7B AD 4F 7A AC 47 69 60 C3 -R 00 00 01 00 -T F6 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 -T F8 00 00 00 -R 00 00 01 00 -T F8 00 00 00 CD 00 00 00 00 21 02 00 39 7E E6 -R 00 00 01 00 02 05 03 00 -T 01 01 00 00 FF 77 23 7E E6 7F 77 01 6A 7E DD -R 00 00 01 00 -T 0C 01 00 00 5E 02 DD 56 03 CD 00 00 00 00 13 -R 00 00 01 00 02 0A 05 00 -T 15 01 00 00 ED 53 00 00 00 00 01 EE 7B DD 5E -R 00 00 01 00 00 06 02 00 -T 1E 01 00 00 02 DD 56 03 CD 00 00 00 00 13 ED -R 00 00 01 00 02 09 05 00 -T 27 01 00 00 53 02 00 00 00 01 A8 7B DD 5E 02 -R 00 00 01 00 00 05 02 00 -T 30 01 00 00 DD 56 03 CD 00 00 00 00 13 ED 53 -R 00 00 01 00 02 08 05 00 -T 39 01 00 00 04 00 00 00 C3 00 00 00 00 -R 00 00 01 00 00 04 02 00 02 09 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 04 00 00 00 -R 00 00 02 00 -T 04 00 00 00 -R 00 00 02 00 -T 00 00 00 00 01 00 01 00 01 00 -R 00 00 03 00 diff --git a/lib/relcl/readdir.rel b/lib/relcl/readdir.rel deleted file mode 100644 index 2161f01c..00000000 --- a/lib/relcl/readdir.rel +++ /dev/null @@ -1,87 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S strncpy Ref00000000 -S strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size D4 flags 0 -S readdir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 EE FF DD 7E 02 DD -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 B6 03 28 1A 21 06 00 DD 4E 02 DD -R 00 00 01 00 -T 14 00 00 00 46 03 09 7E 23 B6 28 0B DD 6E 02 -R 00 00 01 00 -T 1F 00 00 00 DD 66 03 7E 23 B6 20 0C -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 21 0E 00 22 00 00 00 00 -R 00 00 01 00 02 08 04 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 21 00 00 C3 D1 00 00 00 -R 00 00 01 00 00 08 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 DD 36 F0 00 -R 00 00 01 00 -T 37 00 00 00 -R 00 00 01 00 -T 37 00 00 00 DD 7E F0 B7 20 21 -R 00 00 01 00 -T 3D 00 00 00 -R 00 00 01 00 -T 3D 00 00 00 21 10 00 E5 21 02 00 39 4D 44 DD -R 00 00 01 00 -T 48 00 00 00 6E 02 DD 66 03 5E 23 56 CD -R 00 00 01 00 -T 51 00 00 00 00 00 00 00 F1 3E 10 AD B4 28 02 -R 00 00 01 00 02 04 06 00 -T 5A 00 00 00 -R 00 00 01 00 -T 5A 00 00 00 18 D1 -R 00 00 01 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 18 D9 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 56 -R 00 00 01 00 -T 69 00 00 00 23 66 6A DD 75 FE DD 74 FF DD 5E -R 00 00 01 00 -T 74 00 00 00 EE DD 56 EF 73 23 72 DD 6E FE DD -R 00 00 01 00 -T 7F 00 00 00 66 FF 23 23 E5 69 60 23 23 4E 23 -R 00 00 01 00 -T 8A 00 00 00 46 03 70 2B 71 0B E1 71 23 70 21 -R 00 00 01 00 -T 95 00 00 00 0E 00 E5 21 02 00 39 01 02 00 09 -R 00 00 01 00 -T A0 00 00 00 4D 44 21 06 00 DD 5E FE DD 56 FF -R 00 00 01 00 -T AB 00 00 00 19 EB CD 00 00 00 00 F1 21 14 00 -R 00 00 01 00 02 07 01 00 -T B4 00 00 00 DD 4E FE DD 46 FF 09 36 00 21 -R 00 00 01 00 -T BE 00 00 00 04 00 09 E5 21 06 00 09 EB CD -R 00 00 01 00 -T C8 00 00 00 00 00 00 00 EB E1 73 23 72 69 60 -R 00 00 01 00 02 04 02 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 diff --git a/lib/relcl/readlink.rel b/lib/relcl/readlink.rel deleted file mode 100644 index f3073ae2..00000000 --- a/lib/relcl/readlink.rel +++ /dev/null @@ -1,42 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S close Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S open Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 53 flags 0 -S readlink Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 00 08 E5 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 DD 6E 02 DD 66 03 E5 CD -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 F1 F1 DD 75 FE DD 74 -R 00 00 01 00 02 04 04 00 -T 1A 00 00 00 FF CB 7C 28 05 -R 00 00 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 21 FF FF 18 2C -R 00 00 01 00 -T 24 00 00 00 -R 00 00 01 00 -T 24 00 00 00 DD 6E 08 DD 66 09 E5 DD 4E 04 DD -R 00 00 01 00 -T 2F 00 00 00 46 05 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 38 00 00 00 00 00 00 00 F1 DD 75 FC DD 74 FD -R 00 00 01 00 02 04 05 00 -T 41 00 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 4A 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcl/realloc.rel b/lib/relcl/realloc.rel deleted file mode 100644 index a209f56b..00000000 --- a/lib/relcl/realloc.rel +++ /dev/null @@ -1,54 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S memcpy Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S free Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S malloc Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7F flags 0 -S realloc Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 FC FF DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 5E 02 DD 56 03 19 7E 23 66 6F 01 -R 00 00 01 00 -T 14 00 00 00 FF FF 09 29 29 DD 75 FE DD 74 FF -R 00 00 01 00 -T 1F 00 00 00 CD 00 00 00 00 DD 5E 04 DD 56 05 -R 00 00 01 00 02 05 03 00 -T 28 00 00 00 CD 00 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 02 05 05 00 -T 31 00 00 00 7D B4 28 41 DD 6E 02 DD 66 03 DD -R 00 00 01 00 -T 3C 00 00 00 4E FC DD 46 FD A7 ED 42 28 30 -R 00 00 01 00 -T 46 00 00 00 -R 00 00 01 00 -T 46 00 00 00 -R 00 00 01 00 -T 46 00 00 00 -R 00 00 01 00 -T 46 00 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 -R 00 00 01 00 -T 51 00 00 00 FF A7 ED 42 30 08 DD 6E FE DD 66 -R 00 00 01 00 -T 5C 00 00 00 FF 18 06 -R 00 00 01 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 -T 65 00 00 00 -R 00 00 01 00 -T 65 00 00 00 E5 DD 4E 02 DD 46 03 DD 5E FC DD -R 00 00 01 00 -T 70 00 00 00 56 FD CD 00 00 00 00 F1 -R 00 00 01 00 02 07 01 00 -T 76 00 00 00 -R 00 00 01 00 -T 76 00 00 00 DD 6E FC DD 66 FD C3 00 00 00 00 -R 00 00 01 00 02 0B 02 00 diff --git a/lib/relcl/regerror.rel b/lib/relcl/regerror.rel deleted file mode 100644 index 5d0a6b89..00000000 --- a/lib/relcl/regerror.rel +++ /dev/null @@ -1,29 +0,0 @@ -XL4 -H 3 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S stderr Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S fprintf Ref00000000 -S exit Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1B flags 0 -S regerror Def00000000 -A CSTR size E flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 00 00 00 00 -R 00 00 01 00 02 05 03 00 00 0B 02 00 -T 07 00 00 00 E5 21 00 00 00 00 E5 CD -R 00 00 01 00 02 06 01 00 -T 0D 00 00 00 00 00 00 00 F1 F1 F1 11 01 00 CD -R 00 00 01 00 02 04 04 00 -T 16 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 05 00 02 09 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 72 65 67 65 78 70 28 33 29 3A 20 -R 00 00 02 00 -T 0B 00 00 00 25 73 00 -R 00 00 02 00 diff --git a/lib/relcl/regexp.rel b/lib/relcl/regexp.rel deleted file mode 100644 index 8a3d3265..00000000 --- a/lib/relcl/regexp.rel +++ /dev/null @@ -1,2147 +0,0 @@ -XL4 -H 4 areas 13 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S strncmp Ref00000000 -S strcspn Ref00000000 -S strchr Ref00000000 -S strlen Ref00000000 -S ?C_V_SWITCH_L06 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?L_ADDASG_L03 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S regerror Ref00000000 -S ?SL_CMP_L03 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?L_INC_L03 Ref00000000 -S malloc Ref00000000 -S ?SS_RSH_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12B2 flags 0 -S regexec Def00000B97 -S regcomp Def00000000 -A CSTR size 132 flags 0 -A UDATA0 size 13 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF DD 7E 02 DD -R 00 00 01 00 02 05 0B 00 -T 09 00 00 00 B6 03 20 0C -R 00 00 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 11 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T 14 00 00 00 00 00 C3 DE 01 00 00 -R 00 00 01 00 00 07 01 00 -T 19 00 00 00 -R 00 00 01 00 -T 19 00 00 00 DD 6E 02 DD 66 03 22 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 22 00 00 00 21 01 00 22 02 00 00 00 01 00 00 -R 00 00 01 00 00 08 03 00 -T 2B 00 00 00 21 00 00 22 07 00 00 00 ED 43 -R 00 00 01 00 00 08 03 00 -T 33 00 00 00 09 00 00 00 21 04 00 00 00 22 -R 00 00 01 00 00 04 03 00 00 09 03 00 -T 39 00 00 00 05 00 00 00 11 9C 00 CD -R 00 00 01 00 00 04 03 00 -T 3F 00 00 00 E8 09 00 00 21 08 00 39 4D 44 11 -R 00 00 01 00 00 04 01 00 -T 48 00 00 00 00 00 CD E1 01 00 00 7D B4 20 06 -R 00 00 01 00 00 07 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 21 00 00 C3 DE 01 00 00 -R 00 00 01 00 00 08 01 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 21 00 00 E5 21 FF 7F E5 ED 4B -R 00 00 01 00 -T 61 00 00 00 09 00 00 00 2A 07 00 00 00 CD -R 00 00 01 00 00 04 03 00 00 09 03 00 -T 67 00 00 00 00 00 00 00 38 0C -R 00 00 01 00 02 04 0A 00 -T 6B 00 00 00 -R 00 00 01 00 -T 6B 00 00 00 11 0E 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T 72 00 00 00 00 00 C3 DE 01 00 00 -R 00 00 01 00 00 07 01 00 -T 77 00 00 00 -R 00 00 01 00 -T 77 00 00 00 2A 07 00 00 00 01 2F 00 09 EB CD -R 00 00 01 00 00 05 03 00 -T 80 00 00 00 00 00 00 00 DD 75 F6 DD 74 F7 7D -R 00 00 01 00 02 04 0E 00 -T 89 00 00 00 B4 20 0C -R 00 00 01 00 -T 8C 00 00 00 -R 00 00 01 00 -T 8C 00 00 00 11 1D 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T 93 00 00 00 00 00 C3 DE 01 00 00 -R 00 00 01 00 00 07 01 00 -T 98 00 00 00 -R 00 00 01 00 -T 98 00 00 00 DD 6E 02 DD 66 03 22 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T A1 00 00 00 21 01 00 22 02 00 00 00 21 2E 00 -R 00 00 01 00 00 08 03 00 -T AA 00 00 00 DD 4E F6 DD 46 F7 09 22 -R 00 00 01 00 -T B2 00 00 00 05 00 00 00 11 9C 00 CD -R 00 00 01 00 00 04 03 00 -T B8 00 00 00 E8 09 00 00 21 08 00 39 4D 44 11 -R 00 00 01 00 00 04 01 00 -T C1 00 00 00 00 00 CD E1 01 00 00 7D B4 20 06 -R 00 00 01 00 00 07 01 00 -T CA 00 00 00 -R 00 00 01 00 -T CA 00 00 00 21 00 00 C3 DE 01 00 00 -R 00 00 01 00 00 08 01 00 -T D0 00 00 00 -R 00 00 01 00 -T D0 00 00 00 21 28 00 DD 4E F6 DD 46 F7 09 36 -R 00 00 01 00 -T DB 00 00 00 00 21 29 00 09 36 00 21 2A 00 09 -R 00 00 01 00 -T E6 00 00 00 AF 77 23 77 21 2C 00 09 AF 77 23 -R 00 00 01 00 -T F1 00 00 00 77 21 2E 00 09 23 DD 75 F8 DD 74 -R 00 00 01 00 -T FC 00 00 00 F9 EB CD 3E 12 00 00 7E B7 C2 -R 00 00 01 00 00 07 01 00 -T 04 01 00 00 D8 01 00 00 -R 00 00 01 00 00 04 01 00 -T 06 01 00 00 -R 00 00 01 00 -T 06 01 00 00 DD 6E F8 DD 66 F9 23 23 23 DD 75 -R 00 00 01 00 -T 11 01 00 00 F8 DD 74 F9 7E FE 08 20 17 -R 00 00 01 00 -T 1A 01 00 00 -R 00 00 01 00 -T 1A 01 00 00 DD 6E F8 DD 66 F9 23 23 23 46 21 -R 00 00 01 00 -T 25 01 00 00 28 00 DD 5E F6 DD 56 F7 19 70 18 -R 00 00 01 00 -T 30 01 00 00 15 -R 00 00 01 00 -T 31 01 00 00 -R 00 00 01 00 -T 31 01 00 00 DD 6E F8 DD 66 F9 46 05 20 0B -R 00 00 01 00 -T 3B 01 00 00 -R 00 00 01 00 -T 3B 01 00 00 21 29 00 DD 4E F6 DD 46 F7 09 34 -R 00 00 01 00 -T 46 01 00 00 -R 00 00 01 00 -T 46 01 00 00 -R 00 00 01 00 -T 46 01 00 00 DD 7E FE E6 04 CA D8 01 00 00 -R 00 00 01 00 00 0A 01 00 -T 4E 01 00 00 -R 00 00 01 00 -T 4E 01 00 00 AF DD 77 FA DD 77 FB AF DD 77 FC -R 00 00 01 00 -T 59 01 00 00 DD 77 FD -R 00 00 01 00 -T 5C 01 00 00 -R 00 00 01 00 -T 5C 01 00 00 DD 7E F8 DD B6 F9 28 54 -R 00 00 01 00 -T 64 01 00 00 -R 00 00 01 00 -T 64 01 00 00 DD 6E F8 DD 66 F9 7E FE 08 20 38 -R 00 00 01 00 -T 6F 01 00 00 DD 5E F8 DD 56 F9 13 13 13 CD -R 00 00 01 00 -T 79 01 00 00 00 00 00 00 DD 4E FC DD 46 FD A7 -R 00 00 01 00 02 04 04 00 -T 82 01 00 00 ED 42 38 21 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 DD 6E F8 DD 66 F9 23 23 23 DD 75 -R 00 00 01 00 -T 91 01 00 00 FA DD 74 FB DD 5E F8 DD 56 F9 13 -R 00 00 01 00 -T 9C 01 00 00 13 13 CD 00 00 00 00 DD 75 FC DD -R 00 00 01 00 02 07 04 00 -T A5 01 00 00 74 FD -R 00 00 01 00 -T A7 01 00 00 -R 00 00 01 00 -T A7 01 00 00 DD 5E F8 DD 56 F9 CD 3E 12 00 00 -R 00 00 01 00 00 0B 01 00 -T B0 01 00 00 DD 75 F8 DD 74 F9 18 A4 -R 00 00 01 00 -T B8 01 00 00 -R 00 00 01 00 -T B8 01 00 00 21 2A 00 DD 4E F6 DD 46 F7 09 DD -R 00 00 01 00 -T C3 01 00 00 5E FA DD 56 FB 73 23 72 21 2C 00 -R 00 00 01 00 -T CE 01 00 00 09 DD 4E FC DD 46 FD 71 23 70 -R 00 00 01 00 -T D8 01 00 00 -R 00 00 01 00 -T D8 01 00 00 -R 00 00 01 00 -T D8 01 00 00 DD 6E F6 DD 66 F7 -R 00 00 01 00 -T DE 01 00 00 -R 00 00 01 00 -T DE 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T E1 01 00 00 -R 00 00 01 00 -T E1 01 00 00 CD 00 00 00 00 F6 FF 69 60 36 01 -R 00 00 01 00 02 05 0B 00 -T EA 01 00 00 23 36 00 DD 7E 02 DD B6 03 28 3B -R 00 00 01 00 -T F5 01 00 00 -R 00 00 01 00 -T F5 01 00 00 01 0A 80 2A 02 00 00 00 3E 80 AC -R 00 00 01 00 00 08 03 00 -T FE 01 00 00 67 ED 42 38 0C -R 00 00 01 00 -T 03 02 00 00 -R 00 00 01 00 -T 03 02 00 00 11 2A 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T 0A 02 00 00 00 00 C3 CB 03 00 00 -R 00 00 01 00 00 07 01 00 -T 0F 02 00 00 -R 00 00 01 00 -T 0F 02 00 00 2A 02 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 00 05 03 00 -T 18 02 00 00 ED 4B 02 00 00 00 03 ED 43 -R 00 00 01 00 00 06 03 00 -T 1F 02 00 00 02 00 00 00 7D C6 14 5F CD -R 00 00 01 00 00 04 03 00 -T 26 02 00 00 74 09 00 00 DD 75 F6 DD 74 F7 18 -R 00 00 01 00 00 04 01 00 -T 2F 02 00 00 07 -R 00 00 01 00 -T 30 02 00 00 -R 00 00 01 00 -T 30 02 00 00 AF DD 77 F6 DD 77 F7 -R 00 00 01 00 -T 37 02 00 00 -R 00 00 01 00 -T 37 02 00 00 21 08 00 39 5D 54 CD CE 03 00 00 -R 00 00 01 00 00 0B 01 00 -T 40 02 00 00 DD 75 F8 DD 74 F9 7D B4 20 06 -R 00 00 01 00 -T 4A 02 00 00 -R 00 00 01 00 -T 4A 02 00 00 21 00 00 C3 CB 03 00 00 -R 00 00 01 00 00 08 01 00 -T 50 02 00 00 -R 00 00 01 00 -T 50 02 00 00 DD 7E F6 DD B6 F7 28 11 -R 00 00 01 00 -T 58 02 00 00 -R 00 00 01 00 -T 58 02 00 00 DD 4E F8 DD 46 F9 DD 5E F6 DD 56 -R 00 00 01 00 -T 63 02 00 00 F7 CD BD 0A 00 00 18 0C -R 00 00 01 00 00 06 01 00 -T 69 02 00 00 -R 00 00 01 00 -T 69 02 00 00 DD 6E F8 DD 66 F9 DD 75 F6 DD 74 -R 00 00 01 00 -T 74 02 00 00 F7 -R 00 00 01 00 -T 75 02 00 00 -R 00 00 01 00 -T 75 02 00 00 DD 7E FE E6 01 47 DD 7E FF E6 00 -R 00 00 01 00 -T 80 02 00 00 B0 20 0F -R 00 00 01 00 -T 83 02 00 00 -R 00 00 01 00 -T 83 02 00 00 DD 6E 04 DD 66 05 7E E6 FE 77 23 -R 00 00 01 00 -T 8E 02 00 00 7E E6 FF 77 -R 00 00 01 00 -T 92 02 00 00 -R 00 00 01 00 -T 92 02 00 00 DD 7E FE E6 04 4F DD 7E FF E6 00 -R 00 00 01 00 -T 9D 02 00 00 47 DD 6E 04 DD 66 05 7E B1 77 23 -R 00 00 01 00 -T A8 02 00 00 7E B0 77 -R 00 00 01 00 -T AB 02 00 00 -R 00 00 01 00 -T AB 02 00 00 2A 00 00 00 00 7E FE 7C 20 67 -R 00 00 01 00 00 05 03 00 -T B3 02 00 00 -R 00 00 01 00 -T B3 02 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T BA 02 00 00 21 08 00 39 5D 54 CD CE 03 00 00 -R 00 00 01 00 00 0B 01 00 -T C3 02 00 00 DD 75 F8 DD 74 F9 7D B4 20 06 -R 00 00 01 00 -T CD 02 00 00 -R 00 00 01 00 -T CD 02 00 00 21 00 00 C3 CB 03 00 00 -R 00 00 01 00 00 08 01 00 -T D3 02 00 00 -R 00 00 01 00 -T D3 02 00 00 DD 4E F8 DD 46 F9 DD 5E F6 DD 56 -R 00 00 01 00 -T DE 02 00 00 F7 CD BD 0A 00 00 DD 7E FE E6 01 -R 00 00 01 00 00 06 01 00 -T E7 02 00 00 47 DD 7E FF E6 00 B0 20 0F -R 00 00 01 00 -T F0 02 00 00 -R 00 00 01 00 -T F0 02 00 00 DD 6E 04 DD 66 05 7E E6 FE 77 23 -R 00 00 01 00 -T FB 02 00 00 7E E6 FF 77 -R 00 00 01 00 -T FF 02 00 00 -R 00 00 01 00 -T FF 02 00 00 DD 7E FE E6 04 4F DD 7E FF E6 00 -R 00 00 01 00 -T 0A 03 00 00 47 DD 6E 04 DD 66 05 7E B1 77 23 -R 00 00 01 00 -T 15 03 00 00 7E B0 77 18 91 -R 00 00 01 00 -T 1A 03 00 00 -R 00 00 01 00 -T 1A 03 00 00 DD 7E 02 DD B6 03 28 08 DD 7E FC -R 00 00 01 00 -T 25 03 00 00 C6 1E 5F 18 02 -R 00 00 01 00 -T 2A 03 00 00 -R 00 00 01 00 -T 2A 03 00 00 1E 00 -R 00 00 01 00 -T 2C 03 00 00 -R 00 00 01 00 -T 2C 03 00 00 CD 74 09 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 00 05 01 00 -T 35 03 00 00 4D 44 DD 5E F6 DD 56 F7 CD -R 00 00 01 00 -T 3E 03 00 00 BD 0A 00 00 DD 6E F6 DD 66 F7 DD -R 00 00 01 00 00 04 01 00 -T 47 03 00 00 75 F8 DD 74 F9 -R 00 00 01 00 -T 4C 03 00 00 -R 00 00 01 00 -T 4C 03 00 00 DD 7E F8 DD B6 F9 28 20 -R 00 00 01 00 -T 54 03 00 00 -R 00 00 01 00 -T 54 03 00 00 DD 4E FA DD 46 FB DD 5E F8 DD 56 -R 00 00 01 00 -T 5F 03 00 00 F9 CD 60 0B 00 00 DD 5E F8 DD 56 -R 00 00 01 00 00 06 01 00 -T 68 03 00 00 F9 CD 3E 12 00 00 DD 75 F8 DD 74 -R 00 00 01 00 00 06 01 00 -T 71 03 00 00 F9 18 D8 -R 00 00 01 00 -T 74 03 00 00 -R 00 00 01 00 -T 74 03 00 00 DD 7E 02 DD B6 03 28 1A 2A -R 00 00 01 00 -T 7D 03 00 00 00 00 00 00 23 22 00 00 00 00 2B -R 00 00 01 00 00 04 03 00 00 0A 03 00 -T 84 03 00 00 7E FE 29 28 0D -R 00 00 01 00 -T 89 03 00 00 -R 00 00 01 00 -T 89 03 00 00 -R 00 00 01 00 -T 89 03 00 00 -R 00 00 01 00 -T 89 03 00 00 11 36 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T 90 03 00 00 00 00 18 37 18 2F -R 00 00 01 00 -T 96 03 00 00 -R 00 00 01 00 -T 96 03 00 00 DD 7E 02 DD B6 03 20 27 2A -R 00 00 01 00 -T 9F 03 00 00 00 00 00 00 AF B6 28 20 -R 00 00 01 00 00 04 03 00 -T A5 03 00 00 -R 00 00 01 00 -T A5 03 00 00 -R 00 00 01 00 -T A5 03 00 00 -R 00 00 01 00 -T A5 03 00 00 2A 00 00 00 00 7E FE 29 20 0D -R 00 00 01 00 00 05 03 00 -T AD 03 00 00 -R 00 00 01 00 -T AD 03 00 00 11 36 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T B4 03 00 00 00 00 18 13 18 0B -R 00 00 01 00 -T BA 03 00 00 -R 00 00 01 00 -T BA 03 00 00 11 43 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T C1 03 00 00 00 00 18 06 -R 00 00 01 00 -T C5 03 00 00 -R 00 00 01 00 -T C5 03 00 00 -R 00 00 01 00 -T C5 03 00 00 -R 00 00 01 00 -T C5 03 00 00 DD 6E F6 DD 66 F7 -R 00 00 01 00 -T CB 03 00 00 -R 00 00 01 00 -T CB 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T CE 03 00 00 -R 00 00 01 00 -T CE 03 00 00 CD 00 00 00 00 F8 FF DD 6E 02 DD -R 00 00 01 00 02 05 0B 00 -T D7 03 00 00 66 03 AF 77 23 77 1E 06 CD -R 00 00 01 00 -T E0 03 00 00 74 09 00 00 DD 75 F8 DD 74 F9 AF -R 00 00 01 00 00 04 01 00 -T E9 03 00 00 DD 77 FA DD 77 FB -R 00 00 01 00 -T EF 03 00 00 -R 00 00 01 00 -T EF 03 00 00 2A 00 00 00 00 AF B6 CA -R 00 00 01 00 00 05 03 00 -T F5 03 00 00 79 04 00 00 2A 00 00 00 00 7E FE -R 00 00 01 00 00 04 01 00 00 09 03 00 -T FC 03 00 00 7C 28 7A 2A 00 00 00 00 7E FE 29 -R 00 00 01 00 00 08 03 00 -T 05 04 00 00 28 72 -R 00 00 01 00 -T 07 04 00 00 -R 00 00 01 00 -T 07 04 00 00 -R 00 00 01 00 -T 07 04 00 00 -R 00 00 01 00 -T 07 04 00 00 21 06 00 39 5D 54 CD 8F 04 00 00 -R 00 00 01 00 00 0B 01 00 -T 10 04 00 00 DD 75 FC DD 74 FD 7D B4 20 05 -R 00 00 01 00 -T 1A 04 00 00 -R 00 00 01 00 -T 1A 04 00 00 21 00 00 18 6D -R 00 00 01 00 -T 1F 04 00 00 -R 00 00 01 00 -T 1F 04 00 00 DD 7E FE E6 01 4F DD 7E FF E6 00 -R 00 00 01 00 -T 2A 04 00 00 47 DD 6E 02 DD 66 03 7E B1 77 23 -R 00 00 01 00 -T 35 04 00 00 7E B0 77 DD 7E FA DD B6 FB 20 1B -R 00 00 01 00 -T 40 04 00 00 -R 00 00 01 00 -T 40 04 00 00 DD 7E FE E6 04 4F DD 7E FF E6 00 -R 00 00 01 00 -T 4B 04 00 00 47 DD 6E 02 DD 66 03 7E B1 77 23 -R 00 00 01 00 -T 56 04 00 00 7E B0 77 18 0F -R 00 00 01 00 -T 5B 04 00 00 -R 00 00 01 00 -T 5B 04 00 00 DD 4E FC DD 46 FD DD 5E FA DD 56 -R 00 00 01 00 -T 66 04 00 00 FB CD BD 0A 00 00 -R 00 00 01 00 00 06 01 00 -T 6A 04 00 00 -R 00 00 01 00 -T 6A 04 00 00 DD 6E FC DD 66 FD DD 75 FA DD 74 -R 00 00 01 00 -T 75 04 00 00 FB C3 EF 03 00 00 -R 00 00 01 00 00 06 01 00 -T 79 04 00 00 -R 00 00 01 00 -T 79 04 00 00 DD 7E FA DD B6 FB 20 05 -R 00 00 01 00 -T 81 04 00 00 -R 00 00 01 00 -T 81 04 00 00 1E 09 CD 74 09 00 00 -R 00 00 01 00 00 07 01 00 -T 86 04 00 00 -R 00 00 01 00 -T 86 04 00 00 DD 6E F8 DD 66 F9 -R 00 00 01 00 -T 8C 04 00 00 -R 00 00 01 00 -T 8C 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 8F 04 00 00 -R 00 00 01 00 -T 8F 04 00 00 CD 00 00 00 00 F8 FF 21 05 00 39 -R 00 00 01 00 02 05 0B 00 -T 98 04 00 00 5D 54 CD 70 06 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T A1 04 00 00 74 F9 7D B4 20 06 -R 00 00 01 00 -T A7 04 00 00 -R 00 00 01 00 -T A7 04 00 00 21 00 00 C3 6D 06 00 00 -R 00 00 01 00 00 08 01 00 -T AD 04 00 00 -R 00 00 01 00 -T AD 04 00 00 2A 00 00 00 00 46 DD 70 FA 78 FE -R 00 00 01 00 00 05 03 00 -T B6 04 00 00 2A 28 28 DD 7E FA FE 2B 28 21 DD -R 00 00 01 00 -T C1 04 00 00 7E FA FE 3F 28 1A -R 00 00 01 00 -T C7 04 00 00 -R 00 00 01 00 -T C7 04 00 00 DD 6E FD DD 66 FE E5 DD 6E 02 DD -R 00 00 01 00 -T D2 04 00 00 66 03 C1 71 23 70 DD 6E F8 DD 66 -R 00 00 01 00 -T DD 04 00 00 F9 C3 6D 06 00 00 -R 00 00 01 00 00 06 01 00 -T E1 04 00 00 -R 00 00 01 00 -T E1 04 00 00 DD 7E FD E6 01 47 DD 7E FE E6 00 -R 00 00 01 00 -T EC 04 00 00 B0 20 13 DD 7E FA FE 3F 28 0C -R 00 00 01 00 -T F6 04 00 00 -R 00 00 01 00 -T F6 04 00 00 -R 00 00 01 00 -T F6 04 00 00 -R 00 00 01 00 -T F6 04 00 00 11 4F 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T FD 04 00 00 00 00 C3 6D 06 00 00 -R 00 00 01 00 00 07 01 00 -T 02 05 00 00 -R 00 00 01 00 -T 02 05 00 00 DD 7E FA FE 2B 28 05 21 04 00 18 -R 00 00 01 00 -T 0D 05 00 00 03 -R 00 00 01 00 -T 0E 05 00 00 -R 00 00 01 00 -T 0E 05 00 00 21 01 00 -R 00 00 01 00 -T 11 05 00 00 -R 00 00 01 00 -T 11 05 00 00 E5 DD 6E 02 DD 66 03 C1 71 23 70 -R 00 00 01 00 -T 1C 05 00 00 DD 7E FA FE 2A 20 15 DD 7E FD E6 -R 00 00 01 00 -T 27 05 00 00 02 28 0E -R 00 00 01 00 -T 2A 05 00 00 -R 00 00 01 00 -T 2A 05 00 00 -R 00 00 01 00 -T 2A 05 00 00 -R 00 00 01 00 -T 2A 05 00 00 DD 4E F8 DD 46 F9 1E 0A CD -R 00 00 01 00 -T 33 05 00 00 19 0A 00 00 C3 3D 06 00 00 -R 00 00 01 00 00 04 01 00 00 09 01 00 -T 38 05 00 00 -R 00 00 01 00 -T 38 05 00 00 DD 7E FA FE 2A 20 4D -R 00 00 01 00 -T 3F 05 00 00 -R 00 00 01 00 -T 3F 05 00 00 DD 4E F8 DD 46 F9 1E 06 CD -R 00 00 01 00 -T 48 05 00 00 19 0A 00 00 1E 07 CD 74 09 00 00 -R 00 00 01 00 00 04 01 00 00 0B 01 00 -T 4F 05 00 00 4D 44 DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T 58 05 00 00 60 0B 00 00 DD 4E F8 DD 46 F9 DD -R 00 00 01 00 00 04 01 00 -T 61 05 00 00 5E F8 DD 56 F9 CD 60 0B 00 00 1E -R 00 00 01 00 00 0A 01 00 -T 6A 05 00 00 06 CD 74 09 00 00 4D 44 DD 5E F8 -R 00 00 01 00 00 06 01 00 -T 73 05 00 00 DD 56 F9 CD BD 0A 00 00 1E 09 CD -R 00 00 01 00 00 08 01 00 -T 7C 05 00 00 74 09 00 00 4D 44 DD 5E F8 DD 56 -R 00 00 01 00 00 04 01 00 -T 85 05 00 00 F9 CD BD 0A 00 00 C3 3D 06 00 00 -R 00 00 01 00 00 06 01 00 00 0B 01 00 -T 8C 05 00 00 -R 00 00 01 00 -T 8C 05 00 00 DD 7E FA FE 2B 20 15 DD 7E FD E6 -R 00 00 01 00 -T 97 05 00 00 02 28 0E -R 00 00 01 00 -T 9A 05 00 00 -R 00 00 01 00 -T 9A 05 00 00 -R 00 00 01 00 -T 9A 05 00 00 -R 00 00 01 00 -T 9A 05 00 00 DD 4E F8 DD 46 F9 1E 0B CD -R 00 00 01 00 -T A3 05 00 00 19 0A 00 00 C3 3D 06 00 00 -R 00 00 01 00 00 04 01 00 00 09 01 00 -T A8 05 00 00 -R 00 00 01 00 -T A8 05 00 00 DD 7E FA FE 2B 20 47 -R 00 00 01 00 -T AF 05 00 00 -R 00 00 01 00 -T AF 05 00 00 1E 06 CD 74 09 00 00 DD 75 FB DD -R 00 00 01 00 00 07 01 00 -T B8 05 00 00 74 FC 4D 44 DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T C3 05 00 00 BD 0A 00 00 DD 4E F8 DD 46 F9 1E -R 00 00 01 00 00 04 01 00 -T CC 05 00 00 07 CD 74 09 00 00 EB CD -R 00 00 01 00 00 06 01 00 -T D2 05 00 00 BD 0A 00 00 1E 06 CD 74 09 00 00 -R 00 00 01 00 00 04 01 00 00 0B 01 00 -T D9 05 00 00 4D 44 DD 5E FB DD 56 FC CD -R 00 00 01 00 -T E2 05 00 00 BD 0A 00 00 1E 09 CD 74 09 00 00 -R 00 00 01 00 00 04 01 00 00 0B 01 00 -T E9 05 00 00 4D 44 DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T F2 05 00 00 BD 0A 00 00 18 47 -R 00 00 01 00 00 04 01 00 -T F6 05 00 00 -R 00 00 01 00 -T F6 05 00 00 DD 7E FA FE 3F 20 40 -R 00 00 01 00 -T FD 05 00 00 -R 00 00 01 00 -T FD 05 00 00 DD 4E F8 DD 46 F9 1E 06 CD -R 00 00 01 00 -T 06 06 00 00 19 0A 00 00 1E 06 CD 74 09 00 00 -R 00 00 01 00 00 04 01 00 00 0B 01 00 -T 0D 06 00 00 4D 44 DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T 16 06 00 00 BD 0A 00 00 1E 09 CD 74 09 00 00 -R 00 00 01 00 00 04 01 00 00 0B 01 00 -T 1D 06 00 00 DD 75 FB DD 74 FC 4D 44 DD 5E F8 -R 00 00 01 00 -T 28 06 00 00 DD 56 F9 CD BD 0A 00 00 DD 4E FB -R 00 00 01 00 00 08 01 00 -T 31 06 00 00 DD 46 FC DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T 3B 06 00 00 60 0B 00 00 -R 00 00 01 00 00 04 01 00 -T 3D 06 00 00 -R 00 00 01 00 -T 3D 06 00 00 -R 00 00 01 00 -T 3D 06 00 00 -R 00 00 01 00 -T 3D 06 00 00 -R 00 00 01 00 -T 3D 06 00 00 -R 00 00 01 00 -T 3D 06 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 44 06 00 00 2A 00 00 00 00 7E FE 2A 28 10 2A -R 00 00 01 00 00 05 03 00 -T 4D 06 00 00 00 00 00 00 7E FE 2B 28 08 2A -R 00 00 01 00 00 04 03 00 -T 55 06 00 00 00 00 00 00 7E FE 3F 20 0B -R 00 00 01 00 00 04 03 00 -T 5C 06 00 00 -R 00 00 01 00 -T 5C 06 00 00 -R 00 00 01 00 -T 5C 06 00 00 -R 00 00 01 00 -T 5C 06 00 00 11 69 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T 63 06 00 00 00 00 18 06 -R 00 00 01 00 -T 67 06 00 00 -R 00 00 01 00 -T 67 06 00 00 DD 6E F8 DD 66 F9 -R 00 00 01 00 -T 6D 06 00 00 -R 00 00 01 00 -T 6D 06 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 70 06 00 00 -R 00 00 01 00 -T 70 06 00 00 CD 00 00 00 00 F8 FF DD 6E 02 DD -R 00 00 01 00 02 05 0B 00 -T 79 06 00 00 66 03 AF 77 23 77 2A 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 82 06 00 00 23 22 00 00 00 00 2B 5E CD -R 00 00 01 00 00 06 03 00 -T 89 06 00 00 00 00 00 00 0C 00 00 24 28 29 2A -R 00 00 01 00 02 04 05 00 -T 92 06 00 00 2B 2E 3F 5B 5C 5E 7C 9B 08 00 00 -R 00 00 01 00 00 0B 01 00 -T 9B 06 00 00 3F 08 00 00 B3 06 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 9F 06 00 00 57 08 00 00 EC 06 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T A3 06 00 00 4B 08 00 00 CF 06 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T A7 06 00 00 4B 08 00 00 4B 08 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T AB 06 00 00 3F 08 00 00 07 08 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T AF 06 00 00 C1 06 00 00 3F 08 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T B3 06 00 00 -R 00 00 01 00 -T B3 06 00 00 1E 01 CD 74 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T BC 06 00 00 74 F9 C3 6B 09 00 00 -R 00 00 01 00 00 07 01 00 -T C1 06 00 00 -R 00 00 01 00 -T C1 06 00 00 1E 02 CD 74 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T CA 06 00 00 74 F9 C3 6B 09 00 00 -R 00 00 01 00 00 07 01 00 -T CF 06 00 00 -R 00 00 01 00 -T CF 06 00 00 1E 03 CD 74 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T D8 06 00 00 74 F9 DD 6E 02 DD 66 03 7E F6 03 -R 00 00 01 00 -T E3 06 00 00 77 23 7E F6 00 77 C3 6B 09 00 00 -R 00 00 01 00 00 0B 01 00 -T EC 06 00 00 -R 00 00 01 00 -T EC 06 00 00 2A 00 00 00 00 7E FE 5E 20 14 -R 00 00 01 00 00 05 03 00 -T F4 06 00 00 -R 00 00 01 00 -T F4 06 00 00 1E 05 CD 74 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T FD 06 00 00 74 F9 2A 00 00 00 00 23 22 -R 00 00 01 00 00 07 03 00 -T 04 07 00 00 00 00 00 00 18 0B -R 00 00 01 00 00 04 03 00 -T 08 07 00 00 -R 00 00 01 00 -T 08 07 00 00 1E 04 CD 74 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T 11 07 00 00 74 F9 -R 00 00 01 00 -T 13 07 00 00 -R 00 00 01 00 -T 13 07 00 00 2A 00 00 00 00 7E FE 5D 28 08 2A -R 00 00 01 00 00 05 03 00 -T 1C 07 00 00 00 00 00 00 7E FE 2D 20 0E -R 00 00 01 00 00 04 03 00 -T 23 07 00 00 -R 00 00 01 00 -T 23 07 00 00 -R 00 00 01 00 -T 23 07 00 00 -R 00 00 01 00 -T 23 07 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 2A 07 00 00 2B 5E 16 00 CD E8 09 00 00 -R 00 00 01 00 00 09 01 00 -T 31 07 00 00 -R 00 00 01 00 -T 31 07 00 00 -R 00 00 01 00 -T 31 07 00 00 2A 00 00 00 00 AF B6 CA -R 00 00 01 00 00 05 03 00 -T 37 07 00 00 D4 07 00 00 2A 00 00 00 00 7E FE -R 00 00 01 00 00 04 01 00 00 09 03 00 -T 3E 07 00 00 5D CA D4 07 00 00 -R 00 00 01 00 00 06 01 00 -T 42 07 00 00 -R 00 00 01 00 -T 42 07 00 00 -R 00 00 01 00 -T 42 07 00 00 -R 00 00 01 00 -T 42 07 00 00 2A 00 00 00 00 7E FE 2D 20 79 -R 00 00 01 00 00 05 03 00 -T 4A 07 00 00 -R 00 00 01 00 -T 4A 07 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 51 07 00 00 2A 00 00 00 00 7E FE 5D 28 07 2A -R 00 00 01 00 00 05 03 00 -T 5A 07 00 00 00 00 00 00 AF B6 20 08 -R 00 00 01 00 00 04 03 00 -T 60 07 00 00 -R 00 00 01 00 -T 60 07 00 00 -R 00 00 01 00 -T 60 07 00 00 -R 00 00 01 00 -T 60 07 00 00 11 2D 00 CD E8 09 00 00 18 59 -R 00 00 01 00 00 08 01 00 -T 68 07 00 00 -R 00 00 01 00 -T 68 07 00 00 2A 00 00 00 00 2B 2B 4E 06 00 03 -R 00 00 01 00 00 05 03 00 -T 71 07 00 00 DD 71 FC DD 70 FD 2A 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 7A 07 00 00 5E 16 00 DD 73 FE DD 72 FF EB 23 -R 00 00 01 00 -T 85 07 00 00 CD 00 00 00 00 30 0C -R 00 00 01 00 02 05 0C 00 -T 8A 07 00 00 -R 00 00 01 00 -T 8A 07 00 00 11 74 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T 91 07 00 00 00 00 C3 71 09 00 00 -R 00 00 01 00 00 07 01 00 -T 96 07 00 00 -R 00 00 01 00 -T 96 07 00 00 -R 00 00 01 00 -T 96 07 00 00 DD 4E FC DD 46 FD DD 6E FE DD 66 -R 00 00 01 00 -T A1 07 00 00 FF CD 00 00 00 00 38 13 -R 00 00 01 00 02 06 0C 00 -T A7 07 00 00 -R 00 00 01 00 -T A7 07 00 00 DD 5E FC DD 56 FD 13 DD 73 FC DD -R 00 00 01 00 -T B2 07 00 00 72 FD 1B CD E8 09 00 00 18 DC -R 00 00 01 00 00 08 01 00 -T BA 07 00 00 -R 00 00 01 00 -T BA 07 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T C1 07 00 00 -R 00 00 01 00 -T C1 07 00 00 18 0E -R 00 00 01 00 -T C3 07 00 00 -R 00 00 01 00 -T C3 07 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T CA 07 00 00 2B 5E 16 00 CD E8 09 00 00 -R 00 00 01 00 00 09 01 00 -T D1 07 00 00 -R 00 00 01 00 -T D1 07 00 00 C3 31 07 00 00 -R 00 00 01 00 00 05 01 00 -T D4 07 00 00 -R 00 00 01 00 -T D4 07 00 00 11 00 00 CD E8 09 00 00 2A -R 00 00 01 00 00 08 01 00 -T DB 07 00 00 00 00 00 00 7E FE 5D 28 0C -R 00 00 01 00 00 04 03 00 -T E2 07 00 00 -R 00 00 01 00 -T E2 07 00 00 11 85 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T E9 07 00 00 00 00 C3 71 09 00 00 -R 00 00 01 00 00 07 01 00 -T EE 07 00 00 -R 00 00 01 00 -T EE 07 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T F5 07 00 00 DD 6E 02 DD 66 03 7E F6 03 77 23 -R 00 00 01 00 -T 00 08 00 00 7E F6 00 77 C3 6B 09 00 00 -R 00 00 01 00 00 09 01 00 -T 07 08 00 00 -R 00 00 01 00 -T 07 08 00 00 21 02 00 39 4D 44 11 01 00 CD -R 00 00 01 00 -T 11 08 00 00 E1 01 00 00 DD 75 F8 DD 74 F9 7D -R 00 00 01 00 00 04 01 00 -T 1A 08 00 00 B4 20 06 -R 00 00 01 00 -T 1D 08 00 00 -R 00 00 01 00 -T 1D 08 00 00 21 00 00 C3 71 09 00 00 -R 00 00 01 00 00 08 01 00 -T 23 08 00 00 -R 00 00 01 00 -T 23 08 00 00 DD 7E FA E6 05 4F DD 7E FB E6 00 -R 00 00 01 00 -T 2E 08 00 00 47 DD 6E 02 DD 66 03 7E B1 77 23 -R 00 00 01 00 -T 39 08 00 00 7E B0 77 C3 6B 09 00 00 -R 00 00 01 00 00 08 01 00 -T 3F 08 00 00 -R 00 00 01 00 -T 3F 08 00 00 11 92 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T 46 08 00 00 00 00 C3 71 09 00 00 -R 00 00 01 00 00 07 01 00 -T 4B 08 00 00 -R 00 00 01 00 -T 4B 08 00 00 11 9F 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T 52 08 00 00 00 00 C3 71 09 00 00 -R 00 00 01 00 00 07 01 00 -T 57 08 00 00 -R 00 00 01 00 -T 57 08 00 00 2A 00 00 00 00 AF B6 20 0C -R 00 00 01 00 00 05 03 00 -T 5E 08 00 00 -R 00 00 01 00 -T 5E 08 00 00 11 B3 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T 65 08 00 00 00 00 C3 71 09 00 00 -R 00 00 01 00 00 07 01 00 -T 6A 08 00 00 -R 00 00 01 00 -T 6A 08 00 00 1E 08 CD 74 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T 73 08 00 00 74 F9 2A 00 00 00 00 23 22 -R 00 00 01 00 00 07 03 00 -T 7A 08 00 00 00 00 00 00 2B 5E 16 00 CD -R 00 00 01 00 00 04 03 00 -T 81 08 00 00 E8 09 00 00 11 00 00 CD -R 00 00 01 00 00 04 01 00 -T 87 08 00 00 E8 09 00 00 DD 6E 02 DD 66 03 7E -R 00 00 01 00 00 04 01 00 -T 90 08 00 00 F6 03 77 23 7E F6 00 77 C3 -R 00 00 01 00 -T 99 08 00 00 6B 09 00 00 -R 00 00 01 00 00 04 01 00 -T 9B 08 00 00 -R 00 00 01 00 -T 9B 08 00 00 01 BE 00 00 00 ED 5B 00 00 00 00 -R 00 00 01 00 00 05 02 00 00 0B 03 00 -T A2 08 00 00 1B ED 53 00 00 00 00 CD -R 00 00 01 00 00 07 03 00 -T A8 08 00 00 00 00 00 00 DD 75 FC DD 74 FD 4D -R 00 00 01 00 02 04 02 00 -T B1 08 00 00 44 21 00 00 CD 00 00 00 00 38 0C -R 00 00 01 00 02 09 0C 00 -T BA 08 00 00 -R 00 00 01 00 -T BA 08 00 00 11 CA 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T C1 08 00 00 00 00 C3 71 09 00 00 -R 00 00 01 00 00 07 01 00 -T C6 08 00 00 -R 00 00 01 00 -T C6 08 00 00 DD 6E FC DD 66 FD ED 4B -R 00 00 01 00 -T CE 08 00 00 00 00 00 00 09 46 DD 70 FE DD 4E -R 00 00 01 00 00 04 03 00 -T D7 08 00 00 FC DD 46 FD 21 01 00 CD -R 00 00 01 00 -T DF 08 00 00 00 00 00 00 30 22 DD 7E FE FE 2A -R 00 00 01 00 02 04 0C 00 -T E8 08 00 00 28 0E DD 7E FE FE 2B 28 07 DD 7E -R 00 00 01 00 -T F3 08 00 00 FE FE 3F 20 0D -R 00 00 01 00 -T F8 08 00 00 -R 00 00 01 00 -T F8 08 00 00 -R 00 00 01 00 -T F8 08 00 00 -R 00 00 01 00 -T F8 08 00 00 -R 00 00 01 00 -T F8 08 00 00 -R 00 00 01 00 -T F8 08 00 00 DD 6E FC DD 66 FD 2B DD 75 FC DD -R 00 00 01 00 -T 03 09 00 00 74 FD -R 00 00 01 00 -T 05 09 00 00 -R 00 00 01 00 -T 05 09 00 00 DD 6E 02 DD 66 03 7E F6 01 77 23 -R 00 00 01 00 -T 10 09 00 00 7E F6 00 77 3E 01 DD AE FC DD B6 -R 00 00 01 00 -T 1B 09 00 00 FD 20 0F -R 00 00 01 00 -T 1E 09 00 00 -R 00 00 01 00 -T 1E 09 00 00 DD 6E 02 DD 66 03 7E F6 02 77 23 -R 00 00 01 00 -T 29 09 00 00 7E F6 00 77 -R 00 00 01 00 -T 2D 09 00 00 -R 00 00 01 00 -T 2D 09 00 00 1E 08 CD 74 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T 36 09 00 00 74 F9 -R 00 00 01 00 -T 38 09 00 00 -R 00 00 01 00 -T 38 09 00 00 DD 4E FC DD 46 FD 21 00 00 CD -R 00 00 01 00 -T 42 09 00 00 00 00 00 00 30 1D -R 00 00 01 00 02 04 0C 00 -T 46 09 00 00 -R 00 00 01 00 -T 46 09 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 4D 09 00 00 2B 5E 16 00 CD E8 09 00 00 DD 6E -R 00 00 01 00 00 09 01 00 -T 56 09 00 00 FC DD 66 FD 2B DD 75 FC DD 74 FD -R 00 00 01 00 -T 61 09 00 00 18 D5 -R 00 00 01 00 -T 63 09 00 00 -R 00 00 01 00 -T 63 09 00 00 11 00 00 CD E8 09 00 00 18 00 -R 00 00 01 00 00 08 01 00 -T 6B 09 00 00 -R 00 00 01 00 -T 6B 09 00 00 DD 6E F8 DD 66 F9 -R 00 00 01 00 -T 71 09 00 00 -R 00 00 01 00 -T 71 09 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 74 09 00 00 -R 00 00 01 00 -T 74 09 00 00 CD 00 00 00 00 FC FF 2A -R 00 00 01 00 02 05 0B 00 -T 7A 09 00 00 05 00 00 00 DD 75 FC DD 74 FD 01 -R 00 00 01 00 00 04 03 00 -T 83 09 00 00 04 00 00 00 A7 ED 42 20 14 -R 00 00 01 00 00 04 03 00 -T 8A 09 00 00 -R 00 00 01 00 -T 8A 09 00 00 21 07 00 00 00 01 00 00 11 03 00 -R 00 00 01 00 00 05 03 00 -T 93 09 00 00 CD 00 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 02 05 07 00 -T 9C 09 00 00 18 47 -R 00 00 01 00 -T 9E 09 00 00 -R 00 00 01 00 -T 9E 09 00 00 DD 6E FC DD 66 FD DD 75 FE DD 74 -R 00 00 01 00 -T A9 09 00 00 FF 23 DD 75 FE DD 74 FF 2B DD 46 -R 00 00 01 00 -T B4 09 00 00 02 70 DD 6E FE DD 66 FF 23 DD 75 -R 00 00 01 00 -T BF 09 00 00 FE DD 74 FF 2B 36 00 DD 6E FE DD -R 00 00 01 00 -T CA 09 00 00 66 FF 23 DD 75 FE DD 74 FF 2B 36 -R 00 00 01 00 -T D5 09 00 00 00 DD 6E FE DD 66 FF 22 -R 00 00 01 00 -T DD 09 00 00 05 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 00 04 03 00 -T E5 09 00 00 -R 00 00 01 00 -T E5 09 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T E8 09 00 00 -R 00 00 01 00 -T E8 09 00 00 CD 00 00 00 00 21 04 00 00 00 ED -R 00 00 01 00 02 05 08 00 00 0A 03 00 -T EF 09 00 00 4B 05 00 00 00 A7 ED 42 28 0E -R 00 00 01 00 00 05 03 00 -T F7 09 00 00 -R 00 00 01 00 -T F7 09 00 00 DD 46 02 2A 05 00 00 00 23 22 -R 00 00 01 00 00 08 03 00 -T FF 09 00 00 05 00 00 00 2B 70 18 11 -R 00 00 01 00 00 04 03 00 -T 05 0A 00 00 -R 00 00 01 00 -T 05 0A 00 00 2A 07 00 00 00 ED 4B 09 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 0C 0A 00 00 CD 00 00 00 00 22 07 00 00 00 ED -R 00 00 01 00 02 05 0D 00 00 0A 03 00 -T 13 0A 00 00 43 09 00 00 00 -R 00 00 01 00 00 05 03 00 -T 16 0A 00 00 -R 00 00 01 00 -T 16 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 19 0A 00 00 -R 00 00 01 00 -T 19 0A 00 00 CD 00 00 00 00 FA FF 21 -R 00 00 01 00 02 05 0B 00 -T 1F 0A 00 00 04 00 00 00 ED 5B 05 00 00 00 A7 -R 00 00 01 00 00 04 03 00 00 0A 03 00 -T 26 0A 00 00 ED 52 20 0F -R 00 00 01 00 -T 2A 0A 00 00 -R 00 00 01 00 -T 2A 0A 00 00 21 07 00 00 00 01 00 00 11 03 00 -R 00 00 01 00 00 05 03 00 -T 33 0A 00 00 CD 00 00 00 00 C3 BA 0A 00 00 -R 00 00 01 00 02 05 07 00 00 0A 01 00 -T 39 0A 00 00 -R 00 00 01 00 -T 39 0A 00 00 2A 05 00 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 00 05 03 00 -T 42 0A 00 00 21 03 00 ED 4B 05 00 00 00 09 22 -R 00 00 01 00 00 09 03 00 -T 4B 0A 00 00 05 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 00 04 03 00 -T 53 0A 00 00 -R 00 00 01 00 -T 53 0A 00 00 DD 4E FA DD 46 FB DD 6E 04 DD 66 -R 00 00 01 00 -T 5E 0A 00 00 05 A7 ED 42 30 1E -R 00 00 01 00 -T 64 0A 00 00 -R 00 00 01 00 -T 64 0A 00 00 DD 6E FA DD 66 FB 2B DD 75 FA DD -R 00 00 01 00 -T 6F 0A 00 00 74 FB 46 DD 6E FC DD 66 FD 2B DD -R 00 00 01 00 -T 7A 0A 00 00 75 FC DD 74 FD 70 18 D1 -R 00 00 01 00 -T 82 0A 00 00 -R 00 00 01 00 -T 82 0A 00 00 DD 6E 04 DD 66 05 DD 75 FE DD 74 -R 00 00 01 00 -T 8D 0A 00 00 FF 23 DD 75 FE DD 74 FF 2B DD 46 -R 00 00 01 00 -T 98 0A 00 00 02 70 DD 6E FE DD 66 FF 23 DD 75 -R 00 00 01 00 -T A3 0A 00 00 FE DD 74 FF 2B 36 00 DD 6E FE DD -R 00 00 01 00 -T AE 0A 00 00 66 FF 23 DD 75 FE DD 74 FF 2B 36 -R 00 00 01 00 -T B9 0A 00 00 00 -R 00 00 01 00 -T BA 0A 00 00 -R 00 00 01 00 -T BA 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T BD 0A 00 00 -R 00 00 01 00 -T BD 0A 00 00 CD 00 00 00 00 FA FF 21 -R 00 00 01 00 02 05 0B 00 -T C3 0A 00 00 04 00 00 00 DD 5E 02 DD 56 03 A7 -R 00 00 01 00 00 04 03 00 -T CC 0A 00 00 ED 52 20 03 -R 00 00 01 00 -T D0 0A 00 00 -R 00 00 01 00 -T D0 0A 00 00 C3 5D 0B 00 00 -R 00 00 01 00 00 05 01 00 -T D3 0A 00 00 -R 00 00 01 00 -T D3 0A 00 00 DD 6E 02 DD 66 03 DD 75 FA DD 74 -R 00 00 01 00 -T DE 0A 00 00 FB -R 00 00 01 00 -T DF 0A 00 00 -R 00 00 01 00 -T DF 0A 00 00 DD 5E FA DD 56 FB CD 3E 12 00 00 -R 00 00 01 00 00 0B 01 00 -T E8 0A 00 00 DD 75 FC DD 74 FD 7D B4 20 02 -R 00 00 01 00 -T F2 0A 00 00 -R 00 00 01 00 -T F2 0A 00 00 18 0E -R 00 00 01 00 -T F4 0A 00 00 -R 00 00 01 00 -T F4 0A 00 00 DD 6E FC DD 66 FD DD 75 FA DD 74 -R 00 00 01 00 -T FF 0A 00 00 FB 18 DD -R 00 00 01 00 -T 02 0B 00 00 -R 00 00 01 00 -T 02 0B 00 00 DD 6E FA DD 66 FB 7E FE 07 20 17 -R 00 00 01 00 -T 0D 0B 00 00 -R 00 00 01 00 -T 0D 0B 00 00 DD 4E 04 DD 46 05 DD 6E FA DD 66 -R 00 00 01 00 -T 18 0B 00 00 FB A7 ED 42 DD 75 FE DD 74 FF 18 -R 00 00 01 00 -T 23 0B 00 00 15 -R 00 00 01 00 -T 24 0B 00 00 -R 00 00 01 00 -T 24 0B 00 00 DD 4E FA DD 46 FB DD 6E 04 DD 66 -R 00 00 01 00 -T 2F 0B 00 00 05 A7 ED 42 DD 75 FE DD 74 FF -R 00 00 01 00 -T 39 0B 00 00 -R 00 00 01 00 -T 39 0B 00 00 06 08 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 42 0B 00 00 00 00 00 00 7B E6 FF DD 6E FA DD -R 00 00 01 00 02 04 0F 00 -T 4B 0B 00 00 66 FB 23 77 DD 7E FE E6 FF DD 6E -R 00 00 01 00 -T 56 0B 00 00 FA DD 66 FB 23 23 77 -R 00 00 01 00 -T 5D 0B 00 00 -R 00 00 01 00 -T 5D 0B 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 60 0B 00 00 -R 00 00 01 00 -T 60 0B 00 00 CD 00 00 00 00 7B B2 28 19 21 -R 00 00 01 00 02 05 08 00 -T 68 0B 00 00 04 00 00 00 DD 4E 02 DD 46 03 A7 -R 00 00 01 00 00 04 03 00 -T 71 0B 00 00 ED 42 28 0B DD 6E 02 DD 66 03 7E -R 00 00 01 00 -T 7C 0B 00 00 FE 06 28 02 -R 00 00 01 00 -T 80 0B 00 00 -R 00 00 01 00 -T 80 0B 00 00 -R 00 00 01 00 -T 80 0B 00 00 -R 00 00 01 00 -T 80 0B 00 00 18 12 -R 00 00 01 00 -T 82 0B 00 00 -R 00 00 01 00 -T 82 0B 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 -R 00 00 01 00 -T 8D 0B 00 00 03 13 13 13 CD BD 0A 00 00 -R 00 00 01 00 00 09 01 00 -T 94 0B 00 00 -R 00 00 01 00 -T 94 0B 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 97 0B 00 00 -R 00 00 01 00 -T 97 0B 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD -R 00 00 01 00 02 05 0B 00 -T A0 0B 00 00 B6 03 28 08 DD 7E 04 DD B6 05 20 -R 00 00 01 00 -T AB 0B 00 00 0C -R 00 00 01 00 -T AC 0B 00 00 -R 00 00 01 00 -T AC 0B 00 00 -R 00 00 01 00 -T AC 0B 00 00 -R 00 00 01 00 -T AC 0B 00 00 11 DC 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T B3 0B 00 00 00 00 C3 07 0D 00 00 -R 00 00 01 00 00 07 01 00 -T B8 0B 00 00 -R 00 00 01 00 -T B8 0B 00 00 21 2E 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T C3 0B 00 00 06 00 3E 9C A9 B0 28 0C -R 00 00 01 00 -T CB 0B 00 00 -R 00 00 01 00 -T CB 0B 00 00 11 EB 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T D2 0B 00 00 00 00 C3 07 0D 00 00 -R 00 00 01 00 00 07 01 00 -T D7 0B 00 00 -R 00 00 01 00 -T D7 0B 00 00 21 2A 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T E2 0B 00 00 23 B6 28 6D -R 00 00 01 00 -T E6 0B 00 00 -R 00 00 01 00 -T E6 0B 00 00 DD 6E 04 DD 66 05 DD 75 FE DD 74 -R 00 00 01 00 -T F1 0B 00 00 FF -R 00 00 01 00 -T F2 0B 00 00 -R 00 00 01 00 -T F2 0B 00 00 21 2A 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T FD 0B 00 00 23 66 6F 4E 06 00 DD 5E FE DD 56 -R 00 00 01 00 -T 08 0C 00 00 FF CD 00 00 00 00 DD 75 FE DD 74 -R 00 00 01 00 02 06 03 00 -T 11 0C 00 00 FF 7D B4 28 2F -R 00 00 01 00 -T 16 0C 00 00 -R 00 00 01 00 -T 16 0C 00 00 21 2C 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 21 0C 00 00 23 56 D5 21 2A 00 09 4E 23 46 DD -R 00 00 01 00 -T 2C 0C 00 00 5E FE DD 56 FF CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 01 00 -T 35 0C 00 00 7D B4 20 02 -R 00 00 01 00 -T 39 0C 00 00 -R 00 00 01 00 -T 39 0C 00 00 18 0A -R 00 00 01 00 -T 3B 0C 00 00 -R 00 00 01 00 -T 3B 0C 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 43 0C 00 00 -R 00 00 01 00 -T 43 0C 00 00 18 AD -R 00 00 01 00 -T 45 0C 00 00 -R 00 00 01 00 -T 45 0C 00 00 DD 7E FE DD B6 FF 20 06 -R 00 00 01 00 -T 4D 0C 00 00 -R 00 00 01 00 -T 4D 0C 00 00 21 00 00 C3 07 0D 00 00 -R 00 00 01 00 00 08 01 00 -T 53 0C 00 00 -R 00 00 01 00 -T 53 0C 00 00 -R 00 00 01 00 -T 53 0C 00 00 DD 6E 04 DD 66 05 22 0D 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 5C 0C 00 00 21 29 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 67 0C 00 00 B7 28 12 -R 00 00 01 00 -T 6A 0C 00 00 -R 00 00 01 00 -T 6A 0C 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 -R 00 00 01 00 -T 75 0C 00 00 03 CD 0A 0D 00 00 C3 07 0D 00 00 -R 00 00 01 00 00 06 01 00 00 0B 01 00 -T 7C 0C 00 00 -R 00 00 01 00 -T 7C 0C 00 00 DD 6E 04 DD 66 05 DD 75 FE DD 74 -R 00 00 01 00 -T 87 0C 00 00 FF 21 28 00 DD 4E 02 DD 46 03 09 -R 00 00 01 00 -T 92 0C 00 00 7E B7 28 44 -R 00 00 01 00 -T 96 0C 00 00 -R 00 00 01 00 -T 96 0C 00 00 -R 00 00 01 00 -T 96 0C 00 00 21 28 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T A1 0C 00 00 06 00 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T AA 0C 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 03 00 -T B3 0C 00 00 B4 28 22 -R 00 00 01 00 -T B6 0C 00 00 -R 00 00 01 00 -T B6 0C 00 00 DD 4E FE DD 46 FF DD 5E 02 DD 56 -R 00 00 01 00 -T C1 0C 00 00 03 CD 0A 0D 00 00 7D B4 28 05 -R 00 00 01 00 00 06 01 00 -T C9 0C 00 00 -R 00 00 01 00 -T C9 0C 00 00 21 01 00 18 39 -R 00 00 01 00 -T CE 0C 00 00 -R 00 00 01 00 -T CE 0C 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T D6 0C 00 00 -R 00 00 01 00 -T D6 0C 00 00 18 BE -R 00 00 01 00 -T D8 0C 00 00 -R 00 00 01 00 -T D8 0C 00 00 18 2A -R 00 00 01 00 -T DA 0C 00 00 -R 00 00 01 00 -T DA 0C 00 00 -R 00 00 01 00 -T DA 0C 00 00 DD 4E FE DD 46 FF DD 5E 02 DD 56 -R 00 00 01 00 -T E5 0C 00 00 03 CD 0A 0D 00 00 7D B4 28 05 -R 00 00 01 00 00 06 01 00 -T ED 0C 00 00 -R 00 00 01 00 -T ED 0C 00 00 21 01 00 18 15 -R 00 00 01 00 -T F2 0C 00 00 -R 00 00 01 00 -T F2 0C 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T FD 0C 00 00 74 FF 2B 7E B7 20 D6 -R 00 00 01 00 -T 04 0D 00 00 -R 00 00 01 00 -T 04 0D 00 00 -R 00 00 01 00 -T 04 0D 00 00 21 00 00 -R 00 00 01 00 -T 07 0D 00 00 -R 00 00 01 00 -T 07 0D 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 0A 0D 00 00 -R 00 00 01 00 -T 0A 0D 00 00 CD 00 00 00 00 FA FF ED 43 -R 00 00 01 00 02 05 0B 00 -T 11 0D 00 00 0B 00 00 00 DD 6E 02 DD 66 03 22 -R 00 00 01 00 00 04 03 00 -T 1A 0D 00 00 0F 00 00 00 21 14 00 DD 4E 02 DD -R 00 00 01 00 00 04 03 00 -T 23 0D 00 00 46 03 09 22 11 00 00 00 DD 71 FC -R 00 00 01 00 00 08 03 00 -T 2C 0D 00 00 DD 70 FD 21 14 00 DD 4E 02 DD 46 -R 00 00 01 00 -T 37 0D 00 00 03 09 DD 75 FE DD 74 FF DD 36 FA -R 00 00 01 00 -T 42 0D 00 00 0A DD 36 FB 00 -R 00 00 01 00 -T 47 0D 00 00 -R 00 00 01 00 -T 47 0D 00 00 DD 6E FA DD 66 FB 2B DD 75 FA DD -R 00 00 01 00 -T 52 0D 00 00 74 FB 23 7D B4 28 2A -R 00 00 01 00 -T 59 0D 00 00 -R 00 00 01 00 -T 59 0D 00 00 DD 6E FC DD 66 FD 4D 44 03 03 DD -R 00 00 01 00 -T 64 0D 00 00 71 FC DD 70 FD AF 77 23 77 DD 6E -R 00 00 01 00 -T 6F 0D 00 00 FE DD 66 FF 4D 44 03 03 DD 71 FE -R 00 00 01 00 -T 7A 0D 00 00 DD 70 FF AF 77 23 77 18 C4 -R 00 00 01 00 -T 83 0D 00 00 -R 00 00 01 00 -T 83 0D 00 00 21 2E 00 DD 4E 02 DD 46 03 09 EB -R 00 00 01 00 -T 8E 0D 00 00 13 CD C3 0D 00 00 7D B4 28 27 -R 00 00 01 00 00 06 01 00 -T 96 0D 00 00 -R 00 00 01 00 -T 96 0D 00 00 DD 6E 04 DD 66 05 E5 DD 6E 02 DD -R 00 00 01 00 -T A1 0D 00 00 66 03 C1 71 23 70 21 14 00 DD 4E -R 00 00 01 00 -T AC 0D 00 00 02 DD 46 03 09 ED 4B 0B 00 00 00 -R 00 00 01 00 00 0B 03 00 -T B5 0D 00 00 71 23 70 21 01 00 18 03 -R 00 00 01 00 -T BD 0D 00 00 -R 00 00 01 00 -T BD 0D 00 00 21 00 00 -R 00 00 01 00 -T C0 0D 00 00 -R 00 00 01 00 -T C0 0D 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T C3 0D 00 00 -R 00 00 01 00 -T C3 0D 00 00 CD 00 00 00 00 F4 FF DD 6E 02 DD -R 00 00 01 00 02 05 0B 00 -T CC 0D 00 00 66 03 DD 75 F4 DD 74 F5 -R 00 00 01 00 -T D4 0D 00 00 -R 00 00 01 00 -T D4 0D 00 00 DD 7E F4 DD B6 F5 CA 24 11 00 00 -R 00 00 01 00 00 0B 01 00 -T DD 0D 00 00 -R 00 00 01 00 -T DD 0D 00 00 DD 5E F4 DD 56 F5 CD 3E 12 00 00 -R 00 00 01 00 00 0B 01 00 -T E6 0D 00 00 DD 75 F6 DD 74 F7 DD 6E F4 DD 66 -R 00 00 01 00 -T F1 0D 00 00 F5 7E FE 01 20 15 -R 00 00 01 00 -T F7 0D 00 00 -R 00 00 01 00 -T F7 0D 00 00 2A 0D 00 00 00 ED 4B 0B 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T FE 0D 00 00 A7 ED 42 28 06 -R 00 00 01 00 -T 03 0E 00 00 -R 00 00 01 00 -T 03 0E 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 09 0E 00 00 -R 00 00 01 00 -T 09 0E 00 00 C3 15 11 00 00 -R 00 00 01 00 00 05 01 00 -T 0C 0E 00 00 -R 00 00 01 00 -T 0C 0E 00 00 FE 02 20 10 2A 0B 00 00 00 AF B6 -R 00 00 01 00 00 09 03 00 -T 15 0E 00 00 28 06 -R 00 00 01 00 -T 17 0E 00 00 -R 00 00 01 00 -T 17 0E 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 1D 0E 00 00 -R 00 00 01 00 -T 1D 0E 00 00 C3 15 11 00 00 -R 00 00 01 00 00 05 01 00 -T 20 0E 00 00 -R 00 00 01 00 -T 20 0E 00 00 FE 03 20 17 2A 0B 00 00 00 AF B6 -R 00 00 01 00 00 09 03 00 -T 29 0E 00 00 20 06 -R 00 00 01 00 -T 2B 0E 00 00 -R 00 00 01 00 -T 2B 0E 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 31 0E 00 00 -R 00 00 01 00 -T 31 0E 00 00 2A 0B 00 00 00 23 22 0B 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 38 0E 00 00 C3 15 11 00 00 -R 00 00 01 00 00 05 01 00 -T 3B 0E 00 00 -R 00 00 01 00 -T 3B 0E 00 00 FE 08 20 6D DD 6E F4 DD 66 F5 23 -R 00 00 01 00 -T 46 0E 00 00 23 23 DD 75 FA DD 74 FB 2A -R 00 00 01 00 -T 4F 0E 00 00 0B 00 00 00 E5 DD 6E FA DD 66 FB -R 00 00 01 00 00 04 03 00 -T 58 0E 00 00 7E E1 BE 28 06 -R 00 00 01 00 -T 5D 0E 00 00 -R 00 00 01 00 -T 5D 0E 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 63 0E 00 00 -R 00 00 01 00 -T 63 0E 00 00 DD 5E FA DD 56 FB CD 00 00 00 00 -R 00 00 01 00 02 0B 04 00 -T 6C 0E 00 00 DD 75 F8 DD 74 F9 4D 44 21 01 00 -R 00 00 01 00 -T 77 0E 00 00 CD 00 00 00 00 30 1F DD 6E F8 DD -R 00 00 01 00 02 05 0C 00 -T 80 0E 00 00 66 F9 E5 ED 4B 0B 00 00 00 DD 5E -R 00 00 01 00 00 09 03 00 -T 89 0E 00 00 FA DD 56 FB CD 00 00 00 00 F1 7D -R 00 00 01 00 02 09 01 00 -T 92 0E 00 00 B4 28 06 -R 00 00 01 00 -T 95 0E 00 00 -R 00 00 01 00 -T 95 0E 00 00 -R 00 00 01 00 -T 95 0E 00 00 -R 00 00 01 00 -T 95 0E 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 9B 0E 00 00 -R 00 00 01 00 -T 9B 0E 00 00 DD 6E F8 DD 66 F9 ED 4B -R 00 00 01 00 -T A3 0E 00 00 0B 00 00 00 09 22 0B 00 00 00 C3 -R 00 00 01 00 00 04 03 00 00 0A 03 00 -T AA 0E 00 00 15 11 00 00 -R 00 00 01 00 00 04 01 00 -T AC 0E 00 00 -R 00 00 01 00 -T AC 0E 00 00 FE 04 20 2D 2A 0B 00 00 00 AF B6 -R 00 00 01 00 00 09 03 00 -T B5 0E 00 00 28 16 2A 0B 00 00 00 4E 06 00 DD -R 00 00 01 00 00 07 03 00 -T BE 0E 00 00 5E F4 DD 56 F5 13 13 13 CD -R 00 00 01 00 -T C7 0E 00 00 00 00 00 00 7D B4 20 06 -R 00 00 01 00 02 04 03 00 -T CD 0E 00 00 -R 00 00 01 00 -T CD 0E 00 00 -R 00 00 01 00 -T CD 0E 00 00 -R 00 00 01 00 -T CD 0E 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T D3 0E 00 00 -R 00 00 01 00 -T D3 0E 00 00 2A 0B 00 00 00 23 22 0B 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T DA 0E 00 00 C3 15 11 00 00 -R 00 00 01 00 00 05 01 00 -T DD 0E 00 00 -R 00 00 01 00 -T DD 0E 00 00 FE 05 20 2D 2A 0B 00 00 00 AF B6 -R 00 00 01 00 00 09 03 00 -T E6 0E 00 00 28 16 2A 0B 00 00 00 4E 06 00 DD -R 00 00 01 00 00 07 03 00 -T EF 0E 00 00 5E F4 DD 56 F5 13 13 13 CD -R 00 00 01 00 -T F8 0E 00 00 00 00 00 00 7D B4 28 06 -R 00 00 01 00 02 04 03 00 -T FE 0E 00 00 -R 00 00 01 00 -T FE 0E 00 00 -R 00 00 01 00 -T FE 0E 00 00 -R 00 00 01 00 -T FE 0E 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 04 0F 00 00 -R 00 00 01 00 -T 04 0F 00 00 2A 0B 00 00 00 23 22 0B 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 0B 0F 00 00 C3 15 11 00 00 -R 00 00 01 00 00 05 01 00 -T 0E 0F 00 00 -R 00 00 01 00 -T 0E 0F 00 00 FE 09 20 03 C3 15 11 00 00 -R 00 00 01 00 00 09 01 00 -T 15 0F 00 00 -R 00 00 01 00 -T 15 0F 00 00 FE 07 20 03 C3 15 11 00 00 -R 00 00 01 00 00 09 01 00 -T 1C 0F 00 00 -R 00 00 01 00 -T 1C 0F 00 00 FE 15 38 5F FE 1E 30 5B DD 6E F4 -R 00 00 01 00 -T 27 0F 00 00 DD 66 F5 4E 06 00 21 EC FF 09 DD -R 00 00 01 00 -T 32 0F 00 00 75 F8 DD 74 F9 2A 0B 00 00 00 DD -R 00 00 01 00 00 0A 03 00 -T 3B 0F 00 00 75 FA DD 74 FB DD 5E F6 DD 56 F7 -R 00 00 01 00 -T 46 0F 00 00 CD C3 0D 00 00 7D B4 28 2C -R 00 00 01 00 00 05 01 00 -T 4D 0F 00 00 -R 00 00 01 00 -T 4D 0F 00 00 DD 6E F8 DD 66 F9 29 ED 4B -R 00 00 01 00 -T 56 0F 00 00 0F 00 00 00 09 7E 23 B6 20 15 -R 00 00 01 00 00 04 03 00 -T 5E 0F 00 00 -R 00 00 01 00 -T 5E 0F 00 00 DD 6E F8 DD 66 F9 29 ED 4B -R 00 00 01 00 -T 67 0F 00 00 0F 00 00 00 09 DD 4E FA DD 46 FB -R 00 00 01 00 00 04 03 00 -T 70 0F 00 00 71 23 70 -R 00 00 01 00 -T 73 0F 00 00 -R 00 00 01 00 -T 73 0F 00 00 21 01 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 79 0F 00 00 -R 00 00 01 00 -T 79 0F 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 7F 0F 00 00 -R 00 00 01 00 -T 7F 0F 00 00 FE 1F 38 5F FE 28 30 5B DD 6E F4 -R 00 00 01 00 -T 8A 0F 00 00 DD 66 F5 4E 06 00 21 E2 FF 09 DD -R 00 00 01 00 -T 95 0F 00 00 75 F8 DD 74 F9 2A 0B 00 00 00 DD -R 00 00 01 00 00 0A 03 00 -T 9E 0F 00 00 75 FA DD 74 FB DD 5E F6 DD 56 F7 -R 00 00 01 00 -T A9 0F 00 00 CD C3 0D 00 00 7D B4 28 2C -R 00 00 01 00 00 05 01 00 -T B0 0F 00 00 -R 00 00 01 00 -T B0 0F 00 00 DD 6E F8 DD 66 F9 29 ED 4B -R 00 00 01 00 -T B9 0F 00 00 11 00 00 00 09 7E 23 B6 20 15 -R 00 00 01 00 00 04 03 00 -T C1 0F 00 00 -R 00 00 01 00 -T C1 0F 00 00 DD 6E F8 DD 66 F9 29 ED 4B -R 00 00 01 00 -T CA 0F 00 00 11 00 00 00 09 DD 4E FA DD 46 FB -R 00 00 01 00 00 04 03 00 -T D3 0F 00 00 71 23 70 -R 00 00 01 00 -T D6 0F 00 00 -R 00 00 01 00 -T D6 0F 00 00 21 01 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T DC 0F 00 00 -R 00 00 01 00 -T DC 0F 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T E2 0F 00 00 -R 00 00 01 00 -T E2 0F 00 00 FE 06 20 6B DD 6E F6 DD 66 F7 7E -R 00 00 01 00 -T ED 0F 00 00 FE 06 28 11 -R 00 00 01 00 -T F1 0F 00 00 -R 00 00 01 00 -T F1 0F 00 00 DD 6E F4 DD 66 F5 23 23 23 DD 75 -R 00 00 01 00 -T FC 0F 00 00 F6 DD 74 F7 18 4C -R 00 00 01 00 -T 02 10 00 00 -R 00 00 01 00 -T 02 10 00 00 -R 00 00 01 00 -T 02 10 00 00 2A 0B 00 00 00 DD 75 F8 DD 74 F9 -R 00 00 01 00 00 05 03 00 -T 0B 10 00 00 DD 5E F4 DD 56 F5 13 13 13 CD -R 00 00 01 00 -T 15 10 00 00 C3 0D 00 00 7D B4 28 06 -R 00 00 01 00 00 04 01 00 -T 1B 10 00 00 -R 00 00 01 00 -T 1B 10 00 00 21 01 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 21 10 00 00 -R 00 00 01 00 -T 21 10 00 00 DD 6E F8 DD 66 F9 22 0B 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 2A 10 00 00 DD 5E F4 DD 56 F5 CD 3E 12 00 00 -R 00 00 01 00 00 0B 01 00 -T 33 10 00 00 DD 75 F4 DD 74 F5 7D B4 28 0B DD -R 00 00 01 00 -T 3E 10 00 00 6E F4 DD 66 F5 7E FE 06 28 BA -R 00 00 01 00 -T 48 10 00 00 -R 00 00 01 00 -T 48 10 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 4E 10 00 00 -R 00 00 01 00 -T 4E 10 00 00 C3 15 11 00 00 -R 00 00 01 00 00 05 01 00 -T 51 10 00 00 -R 00 00 01 00 -T 51 10 00 00 FE 0A DA 01 11 00 00 FE 0C D2 -R 00 00 01 00 00 07 01 00 -T 59 10 00 00 01 11 00 00 DD 36 F8 00 DD 6E F6 -R 00 00 01 00 00 04 01 00 -T 62 10 00 00 DD 66 F7 7E FE 08 20 0D -R 00 00 01 00 -T 6A 10 00 00 -R 00 00 01 00 -T 6A 10 00 00 DD 6E F6 DD 66 F7 23 23 23 46 DD -R 00 00 01 00 -T 75 10 00 00 70 F8 -R 00 00 01 00 -T 77 10 00 00 -R 00 00 01 00 -T 77 10 00 00 DD 6E F4 DD 66 F5 7E FE 0A 20 05 -R 00 00 01 00 -T 82 10 00 00 21 00 00 18 03 -R 00 00 01 00 -T 87 10 00 00 -R 00 00 01 00 -T 87 10 00 00 21 01 00 -R 00 00 01 00 -T 8A 10 00 00 -R 00 00 01 00 -T 8A 10 00 00 DD 75 FD DD 74 FE 2A 0B 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 93 10 00 00 DD 75 FB DD 74 FC DD 5E F4 DD 56 -R 00 00 01 00 -T 9E 10 00 00 F5 13 13 13 CD 30 11 00 00 DD 75 -R 00 00 01 00 00 09 01 00 -T A7 10 00 00 F9 DD 74 FA -R 00 00 01 00 -T AB 10 00 00 -R 00 00 01 00 -T AB 10 00 00 DD 4E FD DD 46 FE DD 6E F9 DD 66 -R 00 00 01 00 -T B6 10 00 00 FA CD 00 00 00 00 38 40 -R 00 00 01 00 02 06 0C 00 -T BC 10 00 00 -R 00 00 01 00 -T BC 10 00 00 AF DD B6 F8 28 09 2A 0B 00 00 00 -R 00 00 01 00 00 0B 03 00 -T C5 10 00 00 7E DD BE F8 20 12 -R 00 00 01 00 -T CB 10 00 00 -R 00 00 01 00 -T CB 10 00 00 -R 00 00 01 00 -T CB 10 00 00 -R 00 00 01 00 -T CB 10 00 00 DD 5E F6 DD 56 F7 CD C3 0D 00 00 -R 00 00 01 00 00 0B 01 00 -T D4 10 00 00 7D B4 28 05 -R 00 00 01 00 -T D8 10 00 00 -R 00 00 01 00 -T D8 10 00 00 21 01 00 18 50 -R 00 00 01 00 -T DD 10 00 00 -R 00 00 01 00 -T DD 10 00 00 -R 00 00 01 00 -T DD 10 00 00 DD 6E F9 DD 66 FA 2B DD 75 F9 DD -R 00 00 01 00 -T E8 10 00 00 74 FA DD 6E F9 DD 66 FA DD 4E FB -R 00 00 01 00 -T F3 10 00 00 DD 46 FC 09 22 0B 00 00 00 18 AF -R 00 00 01 00 00 09 03 00 -T FC 10 00 00 -R 00 00 01 00 -T FC 10 00 00 21 00 00 18 2C -R 00 00 01 00 -T 01 11 00 00 -R 00 00 01 00 -T 01 11 00 00 FE 00 20 05 21 01 00 18 23 -R 00 00 01 00 -T 0A 11 00 00 -R 00 00 01 00 -T 0A 11 00 00 11 FD 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T 11 11 00 00 00 00 18 18 -R 00 00 01 00 -T 15 11 00 00 -R 00 00 01 00 -T 15 11 00 00 DD 6E F6 DD 66 F7 DD 75 F4 DD 74 -R 00 00 01 00 -T 20 11 00 00 F5 C3 D4 0D 00 00 -R 00 00 01 00 00 06 01 00 -T 24 11 00 00 -R 00 00 01 00 -T 24 11 00 00 11 0F 01 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T 2B 11 00 00 00 00 -R 00 00 01 00 -T 2D 11 00 00 -R 00 00 01 00 -T 2D 11 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 30 11 00 00 -R 00 00 01 00 -T 30 11 00 00 CD 00 00 00 00 FA FF AF DD 77 FA -R 00 00 01 00 02 05 0B 00 -T 39 11 00 00 DD 77 FB 2A 0B 00 00 00 DD 75 FC -R 00 00 01 00 00 08 03 00 -T 42 11 00 00 DD 74 FD DD 6E 02 DD 66 03 23 23 -R 00 00 01 00 -T 4D 11 00 00 23 DD 75 FE DD 74 FF DD 6E 02 DD -R 00 00 01 00 -T 58 11 00 00 66 03 5E CD 00 00 00 00 04 00 03 -R 00 00 01 00 02 08 05 00 -T 61 11 00 00 04 05 08 1D 12 00 00 8F 11 00 00 -R 00 00 01 00 00 07 01 00 00 0B 01 00 -T 68 11 00 00 E9 11 00 00 B5 11 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 6C 11 00 00 6E 11 00 00 -R 00 00 01 00 00 04 01 00 -T 6E 11 00 00 -R 00 00 01 00 -T 6E 11 00 00 DD 5E FC DD 56 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 04 00 -T 77 11 00 00 DD 75 FA DD 74 FB 21 02 00 39 7E -R 00 00 01 00 -T 82 11 00 00 DD 86 FA 77 23 7E DD 8E FB 77 C3 -R 00 00 01 00 -T 8D 11 00 00 2C 12 00 00 -R 00 00 01 00 00 04 01 00 -T 8F 11 00 00 -R 00 00 01 00 -T 8F 11 00 00 -R 00 00 01 00 -T 8F 11 00 00 DD 6E FC DD 66 FD E5 DD 6E FE DD -R 00 00 01 00 -T 9A 11 00 00 66 FF 7E E1 BE 20 12 -R 00 00 01 00 -T A1 11 00 00 -R 00 00 01 00 -T A1 11 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T A9 11 00 00 -R 00 00 01 00 -T A9 11 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T B1 11 00 00 -R 00 00 01 00 -T B1 11 00 00 18 DC -R 00 00 01 00 -T B3 11 00 00 -R 00 00 01 00 -T B3 11 00 00 18 77 -R 00 00 01 00 -T B5 11 00 00 -R 00 00 01 00 -T B5 11 00 00 -R 00 00 01 00 -T B5 11 00 00 DD 6E FC DD 66 FD AF B6 28 28 DD -R 00 00 01 00 -T C0 11 00 00 6E FC DD 66 FD 4E 06 00 DD 5E FE -R 00 00 01 00 -T CB 11 00 00 DD 56 FF CD 00 00 00 00 7D B4 28 -R 00 00 01 00 02 08 03 00 -T D4 11 00 00 12 -R 00 00 01 00 -T D5 11 00 00 -R 00 00 01 00 -T D5 11 00 00 -R 00 00 01 00 -T D5 11 00 00 -R 00 00 01 00 -T D5 11 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T DD 11 00 00 -R 00 00 01 00 -T DD 11 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T E5 11 00 00 -R 00 00 01 00 -T E5 11 00 00 18 CE -R 00 00 01 00 -T E7 11 00 00 -R 00 00 01 00 -T E7 11 00 00 18 43 -R 00 00 01 00 -T E9 11 00 00 -R 00 00 01 00 -T E9 11 00 00 -R 00 00 01 00 -T E9 11 00 00 DD 6E FC DD 66 FD AF B6 28 28 DD -R 00 00 01 00 -T F4 11 00 00 6E FC DD 66 FD 4E 06 00 DD 5E FE -R 00 00 01 00 -T FF 11 00 00 DD 56 FF CD 00 00 00 00 7D B4 20 -R 00 00 01 00 02 08 03 00 -T 08 12 00 00 12 -R 00 00 01 00 -T 09 12 00 00 -R 00 00 01 00 -T 09 12 00 00 -R 00 00 01 00 -T 09 12 00 00 -R 00 00 01 00 -T 09 12 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 11 12 00 00 -R 00 00 01 00 -T 11 12 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 19 12 00 00 -R 00 00 01 00 -T 19 12 00 00 18 CE -R 00 00 01 00 -T 1B 12 00 00 -R 00 00 01 00 -T 1B 12 00 00 18 0F -R 00 00 01 00 -T 1D 12 00 00 -R 00 00 01 00 -T 1D 12 00 00 11 22 01 00 00 CD 00 00 00 00 AF -R 00 00 01 00 00 05 02 00 02 0A 09 00 -T 24 12 00 00 DD 77 FA DD 77 FB 18 00 -R 00 00 01 00 -T 2C 12 00 00 -R 00 00 01 00 -T 2C 12 00 00 DD 6E FC DD 66 FD 22 0B 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 35 12 00 00 DD 6E FA DD 66 FB C3 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T 3E 12 00 00 -R 00 00 01 00 -T 3E 12 00 00 CD 00 00 00 00 FE FF 21 -R 00 00 01 00 02 05 0B 00 -T 44 12 00 00 04 00 00 00 DD 4E 02 DD 46 03 A7 -R 00 00 01 00 00 04 03 00 -T 4D 12 00 00 ED 42 20 05 -R 00 00 01 00 -T 51 12 00 00 -R 00 00 01 00 -T 51 12 00 00 21 00 00 18 59 -R 00 00 01 00 -T 56 12 00 00 -R 00 00 01 00 -T 56 12 00 00 DD 6E 02 DD 66 03 23 7E E6 FF 4F -R 00 00 01 00 -T 61 12 00 00 06 00 41 0E 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 6C 12 00 00 23 23 7E E6 FF 5F 16 00 69 60 19 -R 00 00 01 00 -T 77 12 00 00 DD 75 FE DD 74 FF 7D B4 20 05 -R 00 00 01 00 -T 81 12 00 00 -R 00 00 01 00 -T 81 12 00 00 21 00 00 18 29 -R 00 00 01 00 -T 86 12 00 00 -R 00 00 01 00 -T 86 12 00 00 DD 6E 02 DD 66 03 7E FE 07 20 11 -R 00 00 01 00 -T 91 12 00 00 -R 00 00 01 00 -T 91 12 00 00 DD 4E FE DD 46 FF DD 6E 02 DD 66 -R 00 00 01 00 -T 9C 12 00 00 03 A7 ED 42 18 0D -R 00 00 01 00 -T A2 12 00 00 -R 00 00 01 00 -T A2 12 00 00 DD 6E FE DD 66 FF DD 4E 02 DD 46 -R 00 00 01 00 -T AD 12 00 00 03 09 -R 00 00 01 00 -T AF 12 00 00 -R 00 00 01 00 -T AF 12 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 4E 55 4C 4C 20 61 72 67 75 6D 65 -R 00 00 02 00 -T 0B 00 00 00 6E 74 00 -R 00 00 02 00 -T 0E 00 00 00 -R 00 00 02 00 -T 0E 00 00 00 72 65 67 65 78 70 20 74 6F 6F 20 -R 00 00 02 00 -T 19 00 00 00 62 69 67 00 -R 00 00 02 00 -T 1D 00 00 00 -R 00 00 02 00 -T 1D 00 00 00 6F 75 74 20 6F 66 20 73 70 61 63 -R 00 00 02 00 -T 28 00 00 00 65 00 -R 00 00 02 00 -T 2A 00 00 00 -R 00 00 02 00 -T 2A 00 00 00 74 6F 6F 20 6D 61 6E 79 20 28 29 -R 00 00 02 00 -T 35 00 00 00 00 -R 00 00 02 00 -T 36 00 00 00 -R 00 00 02 00 -T 36 00 00 00 75 6E 6D 61 74 63 68 65 64 20 28 -R 00 00 02 00 -T 41 00 00 00 29 00 -R 00 00 02 00 -T 43 00 00 00 -R 00 00 02 00 -T 43 00 00 00 6A 75 6E 6B 20 6F 6E 20 65 6E 64 -R 00 00 02 00 -T 4E 00 00 00 00 -R 00 00 02 00 -T 4F 00 00 00 -R 00 00 02 00 -T 4F 00 00 00 2A 2B 20 6F 70 65 72 61 6E 64 20 -R 00 00 02 00 -T 5A 00 00 00 63 6F 75 6C 64 20 62 65 20 65 6D -R 00 00 02 00 -T 65 00 00 00 70 74 79 00 -R 00 00 02 00 -T 69 00 00 00 -R 00 00 02 00 -T 69 00 00 00 6E 65 73 74 65 64 20 2A 3F 2B 00 -R 00 00 02 00 -T 74 00 00 00 -R 00 00 02 00 -T 74 00 00 00 69 6E 76 61 6C 69 64 20 5B 5D 20 -R 00 00 02 00 -T 7F 00 00 00 72 61 6E 67 65 00 -R 00 00 02 00 -T 85 00 00 00 -R 00 00 02 00 -T 85 00 00 00 75 6E 6D 61 74 63 68 65 64 20 5B -R 00 00 02 00 -T 90 00 00 00 5D 00 -R 00 00 02 00 -T 92 00 00 00 -R 00 00 02 00 -T 92 00 00 00 69 6E 74 65 72 6E 61 6C 20 75 72 -R 00 00 02 00 -T 9D 00 00 00 70 00 -R 00 00 02 00 -T 9F 00 00 00 -R 00 00 02 00 -T 9F 00 00 00 3F 2B 2A 20 66 6F 6C 6C 6F 77 73 -R 00 00 02 00 -T AA 00 00 00 20 6E 6F 74 68 69 6E 67 00 -R 00 00 02 00 -T B3 00 00 00 -R 00 00 02 00 -T B3 00 00 00 74 72 61 69 6C 69 6E 67 20 5C 00 -R 00 00 02 00 -T BE 00 00 00 -R 00 00 02 00 -T BE 00 00 00 5E 24 2E 5B 28 29 7C 3F 2B 2A 5C -R 00 00 02 00 -T C9 00 00 00 00 -R 00 00 02 00 -T CA 00 00 00 -R 00 00 02 00 -T CA 00 00 00 69 6E 74 65 72 6E 61 6C 20 64 69 -R 00 00 02 00 -T D5 00 00 00 73 61 73 74 65 72 00 -R 00 00 02 00 -T DC 00 00 00 -R 00 00 02 00 -T DC 00 00 00 4E 55 4C 4C 20 70 61 72 61 6D 65 -R 00 00 02 00 -T E7 00 00 00 74 65 72 00 -R 00 00 02 00 -T EB 00 00 00 -R 00 00 02 00 -T EB 00 00 00 63 6F 72 72 75 70 74 65 64 20 70 -R 00 00 02 00 -T F6 00 00 00 72 6F 67 72 61 6D 00 -R 00 00 02 00 -T FD 00 00 00 -R 00 00 02 00 -T FD 00 00 00 6D 65 6D 6F 72 79 20 63 6F 72 72 -R 00 00 02 00 -T 08 01 00 00 75 70 74 69 6F 6E 00 -R 00 00 02 00 -T 0F 01 00 00 -R 00 00 02 00 -T 0F 01 00 00 63 6F 72 72 75 70 74 65 64 20 70 -R 00 00 02 00 -T 1A 01 00 00 6F 69 6E 74 65 72 73 00 -R 00 00 02 00 -T 22 01 00 00 -R 00 00 02 00 -T 22 01 00 00 69 6E 74 65 72 6E 61 6C 20 66 6F -R 00 00 02 00 -T 2D 01 00 00 75 6C 75 70 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 05 00 00 00 -R 00 00 03 00 -T 05 00 00 00 -R 00 00 03 00 -T 07 00 00 00 -R 00 00 03 00 -T 07 00 00 00 -R 00 00 03 00 -T 0B 00 00 00 -R 00 00 03 00 -T 0B 00 00 00 -R 00 00 03 00 -T 0D 00 00 00 -R 00 00 03 00 -T 0D 00 00 00 -R 00 00 03 00 -T 0F 00 00 00 -R 00 00 03 00 -T 0F 00 00 00 -R 00 00 03 00 -T 11 00 00 00 -R 00 00 03 00 -T 11 00 00 00 -R 00 00 03 00 diff --git a/lib/relcl/regsub.rel b/lib/relcl/regsub.rel deleted file mode 100644 index f8d48201..00000000 --- a/lib/relcl/regsub.rel +++ /dev/null @@ -1,212 +0,0 @@ -XL4 -H 3 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S strncpy Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S regerror Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1BE flags 0 -S regsub Def00000000 -A CSTR size 46 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF DD 7E 02 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 B6 03 28 10 DD 7E 04 DD B6 05 28 -R 00 00 01 00 -T 14 00 00 00 08 DD 7E 08 DD B6 09 20 09 -R 00 00 01 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 11 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 00 05 02 00 02 0A 03 00 -T 24 00 00 00 BB 01 00 00 -R 00 00 01 00 00 04 01 00 -T 26 00 00 00 -R 00 00 01 00 -T 26 00 00 00 21 2E 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 31 00 00 00 06 00 3E 9C A9 B0 28 09 -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 11 14 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 00 05 02 00 02 0A 03 00 -T 40 00 00 00 BB 01 00 00 -R 00 00 01 00 00 04 01 00 -T 42 00 00 00 -R 00 00 01 00 -T 42 00 00 00 DD 6E 04 DD 66 05 DD 75 F6 DD 74 -R 00 00 01 00 -T 4D 00 00 00 F7 DD 6E 08 DD 66 09 DD 75 F8 DD -R 00 00 01 00 -T 58 00 00 00 74 F9 -R 00 00 01 00 -T 5A 00 00 00 -R 00 00 01 00 -T 5A 00 00 00 DD 6E F6 DD 66 F7 23 DD 75 F6 DD -R 00 00 01 00 -T 65 00 00 00 74 F7 2B 46 DD 70 FA 04 05 CA -R 00 00 01 00 -T 6F 00 00 00 AB 01 00 00 -R 00 00 01 00 00 04 01 00 -T 71 00 00 00 -R 00 00 01 00 -T 71 00 00 00 DD 7E FA FE 26 20 09 -R 00 00 01 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 AF DD 77 FB DD 77 FC 18 42 -R 00 00 01 00 -T 81 00 00 00 -R 00 00 01 00 -T 81 00 00 00 DD 7E FA FE 5C 20 33 DD 6E F6 DD -R 00 00 01 00 -T 8C 00 00 00 66 F7 7E FE 30 38 28 DD 6E F6 DD -R 00 00 01 00 -T 97 00 00 00 66 F7 3E 39 BE 38 1D -R 00 00 01 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 DD 6E F6 DD 66 F7 23 DD 75 F6 DD -R 00 00 01 00 -T A9 00 00 00 74 F7 2B 4E 06 00 21 D0 FF 09 DD -R 00 00 01 00 -T B4 00 00 00 75 FB DD 74 FC 18 08 -R 00 00 01 00 -T BB 00 00 00 -R 00 00 01 00 -T BB 00 00 00 DD 36 FB FF DD 36 FC FF -R 00 00 01 00 -T C3 00 00 00 -R 00 00 01 00 -T C3 00 00 00 -R 00 00 01 00 -T C3 00 00 00 DD CB FC 7E 28 44 -R 00 00 01 00 -T C9 00 00 00 -R 00 00 01 00 -T C9 00 00 00 DD 7E FA FE 5C 20 28 DD 6E F6 DD -R 00 00 01 00 -T D4 00 00 00 66 F7 7E FE 5C 28 0B DD 6E F6 DD -R 00 00 01 00 -T DF 00 00 00 66 F7 7E FE 26 20 12 -R 00 00 01 00 -T E6 00 00 00 -R 00 00 01 00 -T E6 00 00 00 -R 00 00 01 00 -T E6 00 00 00 -R 00 00 01 00 -T E6 00 00 00 -R 00 00 01 00 -T E6 00 00 00 -R 00 00 01 00 -T E6 00 00 00 DD 6E F6 DD 66 F7 23 DD 75 F6 DD -R 00 00 01 00 -T F1 00 00 00 74 F7 2B 46 DD 70 FA -R 00 00 01 00 -T F8 00 00 00 -R 00 00 01 00 -T F8 00 00 00 DD 6E F8 DD 66 F9 23 DD 75 F8 DD -R 00 00 01 00 -T 03 01 00 00 74 F9 2B DD 46 FA 70 C3 -R 00 00 01 00 -T 0B 01 00 00 A8 01 00 00 -R 00 00 01 00 00 04 01 00 -T 0D 01 00 00 -R 00 00 01 00 -T 0D 01 00 00 DD 6E FB DD 66 FC 29 DD 4E 02 DD -R 00 00 01 00 -T 18 01 00 00 46 03 09 7E 23 B6 CA A8 01 00 00 -R 00 00 01 00 00 0B 01 00 -T 21 01 00 00 DD 6E FB DD 66 FC 29 DD 4E 02 DD -R 00 00 01 00 -T 2C 01 00 00 46 03 09 01 14 00 09 7E 23 B6 28 -R 00 00 01 00 -T 37 01 00 00 70 -R 00 00 01 00 -T 38 01 00 00 -R 00 00 01 00 -T 38 01 00 00 -R 00 00 01 00 -T 38 01 00 00 -R 00 00 01 00 -T 38 01 00 00 DD 6E FB DD 66 FC 29 DD 4E 02 DD -R 00 00 01 00 -T 43 01 00 00 46 03 09 5E 23 56 DD 6E FB DD 66 -R 00 00 01 00 -T 4E 01 00 00 FC 29 09 01 14 00 09 46 23 66 68 -R 00 00 01 00 -T 59 01 00 00 A7 ED 52 DD 75 FD DD 74 FE E5 DD -R 00 00 01 00 -T 64 01 00 00 6E FB DD 66 FC 29 DD 4E 02 DD 46 -R 00 00 01 00 -T 6F 01 00 00 03 09 4E 23 46 DD 5E F8 DD 56 F9 -R 00 00 01 00 -T 7A 01 00 00 CD 00 00 00 00 F1 21 02 00 39 7E -R 00 00 01 00 02 05 01 00 -T 83 01 00 00 DD 86 FD 77 23 7E DD 8E FE 77 DD -R 00 00 01 00 -T 8E 01 00 00 7E FD DD B6 FE 28 13 DD 6E F8 DD -R 00 00 01 00 -T 99 01 00 00 66 F9 2B 7E B7 20 08 -R 00 00 01 00 -T A0 01 00 00 -R 00 00 01 00 -T A0 01 00 00 -R 00 00 01 00 -T A0 01 00 00 -R 00 00 01 00 -T A0 01 00 00 11 31 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 00 05 02 00 02 0A 03 00 -T A7 01 00 00 13 -R 00 00 01 00 -T A8 01 00 00 -R 00 00 01 00 -T A8 01 00 00 -R 00 00 01 00 -T A8 01 00 00 -R 00 00 01 00 -T A8 01 00 00 C3 5A 00 00 00 -R 00 00 01 00 00 05 01 00 -T AB 01 00 00 -R 00 00 01 00 -T AB 01 00 00 DD 6E F8 DD 66 F9 23 DD 75 F8 DD -R 00 00 01 00 -T B6 01 00 00 74 F9 2B 36 00 -R 00 00 01 00 -T BB 01 00 00 -R 00 00 01 00 -T BB 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 4E 55 4C 4C 20 70 61 72 6D 20 74 -R 00 00 02 00 -T 0B 00 00 00 6F 20 72 65 67 73 75 62 00 -R 00 00 02 00 -T 14 00 00 00 -R 00 00 02 00 -T 14 00 00 00 64 61 6D 61 67 65 64 20 72 65 67 -R 00 00 02 00 -T 1F 00 00 00 65 78 70 20 66 65 64 20 74 6F 20 -R 00 00 02 00 -T 2A 00 00 00 72 65 67 73 75 62 00 -R 00 00 02 00 -T 31 00 00 00 -R 00 00 02 00 -T 31 00 00 00 64 61 6D 61 67 65 64 20 6D 61 74 -R 00 00 02 00 -T 3C 00 00 00 63 68 20 73 74 72 69 6E 67 00 -R 00 00 02 00 diff --git a/lib/relcl/rename.rel b/lib/relcl/rename.rel deleted file mode 100644 index 7573ad29..00000000 --- a/lib/relcl/rename.rel +++ /dev/null @@ -1,31 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S unlink Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S link Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2C flags 0 -S rename Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 56 03 CD 00 00 00 00 DD 75 FE DD -R 00 00 01 00 02 07 04 00 -T 12 00 00 00 74 FF 7D B4 28 08 -R 00 00 01 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 DD 6E FE DD 66 FF 18 09 -R 00 00 01 00 -T 20 00 00 00 -R 00 00 01 00 -T 20 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcl/rewind.rel b/lib/relcl/rewind.rel deleted file mode 100644 index 68194628..00000000 --- a/lib/relcl/rewind.rel +++ /dev/null @@ -1,161 +0,0 @@ -XL4 -H 2 areas B global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S fflush Ref00000000 -S lseek Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?L_ADDASG_L03 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?SL_CMP_L03 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1C9 flags 0 -S rewind Def00000000 -S fseek Def0000002B -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 00 00 E5 21 -R 00 00 01 00 02 05 05 00 -T 08 00 00 00 00 00 E5 21 00 00 E5 CD -R 00 00 01 00 -T 10 00 00 00 2B 00 00 00 F1 F1 F1 21 0C 00 DD -R 00 00 01 00 00 04 01 00 -T 19 00 00 00 4E 02 DD 46 03 09 7E E6 FF 77 23 -R 00 00 01 00 -T 24 00 00 00 7E E6 FC 77 C3 00 00 00 00 -R 00 00 01 00 02 09 03 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 CD 00 00 00 00 FC FF 21 0C 00 DD -R 00 00 01 00 02 05 07 00 -T 34 00 00 00 4E 02 DD 46 03 09 7E E6 40 4F 23 -R 00 00 01 00 -T 3F 00 00 00 7E E6 04 47 3E 40 A9 B0 C2 -R 00 00 01 00 -T 48 00 00 00 84 01 00 00 DD 7E 0C DD B6 0D 28 -R 00 00 01 00 00 04 01 00 -T 51 00 00 00 0B 3E 01 DD AE 0C DD B6 0D C2 -R 00 00 01 00 -T 5B 00 00 00 84 01 00 00 -R 00 00 01 00 00 04 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 21 01 00 E5 21 00 00 E5 21 00 00 -R 00 00 01 00 -T 68 00 00 00 E5 21 0A 00 DD 4E 02 DD 46 03 09 -R 00 00 01 00 -T 73 00 00 00 5E 23 56 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 08 02 00 -T 7C 00 00 00 DD 75 FC DD 74 FD DD 71 FE DD 70 -R 00 00 01 00 -T 87 00 00 00 FF 7D A4 A1 A0 3C 20 06 -R 00 00 01 00 -T 8F 00 00 00 -R 00 00 01 00 -T 8F 00 00 00 21 FF FF C3 C6 01 00 00 -R 00 00 01 00 00 08 01 00 -T 95 00 00 00 -R 00 00 01 00 -T 95 00 00 00 3E 01 DD AE 0C DD B6 0D 20 46 -R 00 00 01 00 -T 9F 00 00 00 -R 00 00 01 00 -T 9F 00 00 00 AF DD 77 0C DD 77 0D 21 0C 00 39 -R 00 00 01 00 -T AA 00 00 00 E5 DD 4E 02 DD 46 03 03 03 69 60 -R 00 00 01 00 -T B5 00 00 00 4E 23 46 DD 6E 02 DD 66 03 56 23 -R 00 00 01 00 -T C0 00 00 00 66 6A A7 ED 42 EB 7A 07 9F 4F 41 -R 00 00 01 00 -T CB 00 00 00 C5 D5 DD 6E FC DD 66 FD C1 09 EB -R 00 00 01 00 -T D6 00 00 00 DD 6E FE DD 66 FF C1 ED 4A 4D 44 -R 00 00 01 00 -T E1 00 00 00 E1 CD 00 00 00 00 -R 00 00 01 00 02 06 04 00 -T E5 00 00 00 -R 00 00 01 00 -T E5 00 00 00 DD 7E 0C DD B6 0D C2 84 01 00 00 -R 00 00 01 00 00 0B 01 00 -T EE 00 00 00 -R 00 00 01 00 -T EE 00 00 00 DD 6E FE DD 66 FF E5 DD 6E FC DD -R 00 00 01 00 -T F9 00 00 00 66 FD E5 DD 4E 0A DD 46 0B DD 6E -R 00 00 01 00 -T 04 01 00 00 08 DD 66 09 CD 00 00 00 00 30 77 -R 00 00 01 00 02 09 06 00 -T 0D 01 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 -R 00 00 01 00 -T 18 01 00 00 21 06 00 DD 5E 02 DD 56 03 19 56 -R 00 00 01 00 -T 23 01 00 00 23 66 6A A7 ED 42 7C 07 9F 4F 41 -R 00 00 01 00 -T 2E 01 00 00 C5 E5 DD 6E FC DD 66 FD C1 09 EB -R 00 00 01 00 -T 39 01 00 00 DD 6E FE DD 66 FF C1 ED 4A E5 D5 -R 00 00 01 00 -T 44 01 00 00 DD 4E 0A DD 46 0B DD 6E 08 DD 66 -R 00 00 01 00 -T 4F 01 00 00 09 CD 00 00 00 00 38 2F -R 00 00 01 00 02 06 06 00 -T 55 01 00 00 -R 00 00 01 00 -T 55 01 00 00 -R 00 00 01 00 -T 55 01 00 00 -R 00 00 01 00 -T 55 01 00 00 DD 4E FC DD 46 FD DD 6E 08 DD 66 -R 00 00 01 00 -T 60 01 00 00 09 A7 ED 42 E5 DD 4E 02 DD 46 03 -R 00 00 01 00 -T 6B 01 00 00 03 03 69 60 4E 23 46 E1 09 E5 DD -R 00 00 01 00 -T 76 01 00 00 6E 02 DD 66 03 C1 71 23 70 21 -R 00 00 01 00 -T 80 01 00 00 00 00 18 42 -R 00 00 01 00 -T 84 01 00 00 -R 00 00 01 00 -T 84 01 00 00 -R 00 00 01 00 -T 84 01 00 00 -R 00 00 01 00 -T 84 01 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 8D 01 00 00 7D A4 3C 28 2C DD 6E 0C DD 66 0D -R 00 00 01 00 -T 98 01 00 00 E5 DD 6E 0A DD 66 0B E5 DD 6E 08 -R 00 00 01 00 -T A3 01 00 00 DD 66 09 E5 21 0A 00 DD 4E 02 DD -R 00 00 01 00 -T AE 01 00 00 46 03 09 5E 23 56 CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T B7 01 00 00 F1 F1 F1 CB 78 28 05 -R 00 00 01 00 -T BE 01 00 00 -R 00 00 01 00 -T BE 01 00 00 -R 00 00 01 00 -T BE 01 00 00 -R 00 00 01 00 -T BE 01 00 00 21 FF FF 18 03 -R 00 00 01 00 -T C3 01 00 00 -R 00 00 01 00 -T C3 01 00 00 21 00 00 -R 00 00 01 00 -T C6 01 00 00 -R 00 00 01 00 -T C6 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 diff --git a/lib/relcl/rewindir.rel b/lib/relcl/rewindir.rel deleted file mode 100644 index 7af5bd0f..00000000 --- a/lib/relcl/rewindir.rel +++ /dev/null @@ -1,43 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S lseek Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S errno Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 53 flags 0 -S rewinddir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 7B B2 28 1A 21 -R 00 00 01 00 02 05 03 00 -T 08 00 00 00 06 00 DD 4E 02 DD 46 03 09 7E 23 -R 00 00 01 00 -T 13 00 00 00 B6 28 0B DD 6E 02 DD 66 03 7E 23 -R 00 00 01 00 -T 1E 00 00 00 B6 20 08 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 21 0E 00 22 00 00 00 00 18 27 -R 00 00 01 00 02 08 04 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 DD 6E 02 DD 66 03 23 23 AF 77 23 -R 00 00 01 00 -T 34 00 00 00 77 21 00 00 E5 21 00 00 E5 21 -R 00 00 01 00 -T 3E 00 00 00 00 00 E5 DD 6E 02 DD 66 03 5E 23 -R 00 00 01 00 -T 49 00 00 00 56 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 06 01 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcl/rmdir.rel b/lib/relcl/rmdir.rel deleted file mode 100644 index ccff6d36..00000000 --- a/lib/relcl/rmdir.rel +++ /dev/null @@ -1,170 +0,0 @@ -XL4 -H 3 areas F global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S unlink Ref00000000 -S strcat Ref00000000 -S close Ref00000000 -S strlen Ref00000000 -S strcmp Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S strcpy Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S open Ref00000000 -S _read Ref00000000 -S stat Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 135 flags 0 -S rmdir Def00000000 -A CSTR size 8 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D0 FE DD 5E 02 DD -R 00 00 01 00 02 05 09 00 -T 09 00 00 00 56 03 CD 00 00 00 00 01 04 00 09 -R 00 00 01 00 02 07 04 00 -T 12 00 00 00 4D 44 21 00 01 A7 ED 42 30 09 -R 00 00 01 00 -T 1C 00 00 00 -R 00 00 01 00 -T 1C 00 00 00 21 24 00 22 00 00 00 00 C3 -R 00 00 01 00 02 08 08 00 -T 23 00 00 00 2A 01 00 00 -R 00 00 01 00 00 04 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 21 00 00 39 4D 44 DD 5E 02 DD 56 -R 00 00 01 00 -T 30 00 00 00 03 CD 00 00 00 00 7D B4 28 03 -R 00 00 01 00 02 06 0C 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 C3 2A 01 00 00 -R 00 00 01 00 00 05 01 00 -T 3B 00 00 00 -R 00 00 01 00 -T 3B 00 00 00 21 04 00 39 7E E6 00 47 23 7E E6 -R 00 00 01 00 -T 46 00 00 00 40 B0 20 09 -R 00 00 01 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 21 14 00 22 00 00 00 00 C3 -R 00 00 01 00 02 08 08 00 -T 51 00 00 00 2A 01 00 00 -R 00 00 01 00 00 04 01 00 -T 53 00 00 00 -R 00 00 01 00 -T 53 00 00 00 21 00 00 E5 DD 6E 02 DD 66 03 E5 -R 00 00 01 00 -T 5E 00 00 00 CD 00 00 00 00 F1 F1 DD 75 FE DD -R 00 00 01 00 02 05 0A 00 -T 67 00 00 00 74 FF CB 7C 28 03 -R 00 00 01 00 -T 6D 00 00 00 -R 00 00 01 00 -T 6D 00 00 00 C3 2A 01 00 00 -R 00 00 01 00 00 05 01 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 21 10 00 E5 21 20 01 39 4D 44 DD -R 00 00 01 00 -T 7B 00 00 00 5E FE DD 56 FF CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 0B 00 -T 84 00 00 00 3E 10 AD B4 20 45 -R 00 00 01 00 -T 8A 00 00 00 -R 00 00 01 00 -T 8A 00 00 00 DD 6E EE DD 66 EF 7D B4 28 26 01 -R 00 00 01 00 -T 95 00 00 00 00 00 00 00 21 1E 01 39 11 02 00 -R 00 00 01 00 00 04 02 00 -T 9E 00 00 00 19 EB CD 00 00 00 00 7D B4 28 13 -R 00 00 01 00 02 07 05 00 -T A7 00 00 00 01 02 00 00 00 21 1E 01 39 11 -R 00 00 01 00 00 05 02 00 -T AF 00 00 00 02 00 19 EB CD 00 00 00 00 7D B4 -R 00 00 01 00 02 09 05 00 -T B8 00 00 00 20 02 -R 00 00 01 00 -T BA 00 00 00 -R 00 00 01 00 -T BA 00 00 00 -R 00 00 01 00 -T BA 00 00 00 -R 00 00 01 00 -T BA 00 00 00 18 B4 -R 00 00 01 00 -T BC 00 00 00 -R 00 00 01 00 -T BC 00 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T C5 00 00 00 21 27 00 22 00 00 00 00 18 5D 18 -R 00 00 01 00 02 08 08 00 -T CE 00 00 00 A1 -R 00 00 01 00 -T CF 00 00 00 -R 00 00 01 00 -T CF 00 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T D8 00 00 00 DD 4E 02 DD 46 03 21 1E 00 39 5D -R 00 00 01 00 -T E3 00 00 00 54 CD 00 00 00 00 01 05 00 00 00 -R 00 00 01 00 02 06 07 00 00 0B 02 00 -T EA 00 00 00 21 1E 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T F3 00 00 00 21 1E 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T FC 00 00 00 7D B4 28 02 -R 00 00 01 00 -T 00 01 00 00 -R 00 00 01 00 -T 00 01 00 00 18 28 -R 00 00 01 00 -T 02 01 00 00 -R 00 00 01 00 -T 02 01 00 00 01 00 00 00 00 21 1E 00 39 5D 54 -R 00 00 01 00 00 05 02 00 -T 0B 01 00 00 CD 00 00 00 00 21 1E 00 39 5D 54 -R 00 00 01 00 02 05 02 00 -T 14 01 00 00 CD 00 00 00 00 7D B4 28 02 -R 00 00 01 00 02 05 01 00 -T 1B 01 00 00 -R 00 00 01 00 -T 1B 01 00 00 18 0D -R 00 00 01 00 -T 1D 01 00 00 -R 00 00 01 00 -T 1D 01 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 26 01 00 00 7D B4 28 05 -R 00 00 01 00 -T 2A 01 00 00 -R 00 00 01 00 -T 2A 01 00 00 -R 00 00 01 00 -T 2A 01 00 00 21 FF FF 18 03 -R 00 00 01 00 -T 2F 01 00 00 -R 00 00 01 00 -T 2F 01 00 00 21 00 00 -R 00 00 01 00 -T 32 01 00 00 -R 00 00 01 00 -T 32 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2E 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 02 00 00 00 2E 2E 00 -R 00 00 02 00 -T 05 00 00 00 -R 00 00 02 00 -T 05 00 00 00 2F 2E 00 -R 00 00 02 00 diff --git a/lib/relcl/scanf.rel b/lib/relcl/scanf.rel deleted file mode 100644 index a4aef567..00000000 --- a/lib/relcl/scanf.rel +++ /dev/null @@ -1,23 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S stdin Ref00000000 -S vfscanf Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2A flags 0 -S scanf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 0C 00 39 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 01 02 00 09 DD 75 FC DD 74 FD E5 -R 00 00 01 00 -T 14 00 00 00 DD 4E 08 DD 46 09 11 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 1D 00 00 00 CD 00 00 00 00 F1 DD 75 FE DD 74 -R 00 00 01 00 02 05 03 00 -T 26 00 00 00 FF C3 00 00 00 00 -R 00 00 01 00 02 06 01 00 diff --git a/lib/relcl/setbuff.rel b/lib/relcl/setbuff.rel deleted file mode 100644 index 26a856ca..00000000 --- a/lib/relcl/setbuff.rel +++ /dev/null @@ -1,67 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S fflush Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S free Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size C5 flags 0 -S setbuffer Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 04 00 02 0A 01 00 -T 07 00 00 00 0C 00 DD 5E 02 DD 56 03 19 7E E6 -R 00 00 01 00 -T 12 00 00 00 04 28 10 -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 20 00 00 00 23 56 CD 00 00 00 00 -R 00 00 01 00 02 07 03 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 30 00 00 00 E6 F8 77 23 7E E6 FF 77 DD 7E 04 -R 00 00 01 00 -T 3B 00 00 00 DD B6 05 20 35 -R 00 00 01 00 -T 40 00 00 00 -R 00 00 01 00 -T 40 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 E5 -R 00 00 01 00 -T 4B 00 00 00 21 0E 00 09 EB E1 73 23 72 21 -R 00 00 01 00 -T 55 00 00 00 08 00 09 E5 21 0E 00 09 11 08 00 -R 00 00 01 00 -T 60 00 00 00 19 EB E1 73 23 72 21 0C 00 09 7E -R 00 00 01 00 -T 6B 00 00 00 F6 02 77 23 7E F6 00 77 18 25 -R 00 00 01 00 -T 75 00 00 00 -R 00 00 01 00 -T 75 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 DD -R 00 00 01 00 -T 80 00 00 00 5E 04 DD 56 05 73 23 72 21 08 00 -R 00 00 01 00 -T 8B 00 00 00 09 E5 DD 6E 08 DD 66 09 19 4D 44 -R 00 00 01 00 -T 96 00 00 00 E1 71 23 70 -R 00 00 01 00 -T 9A 00 00 00 -R 00 00 01 00 -T 9A 00 00 00 DD 6E 02 DD 66 03 23 23 E5 21 -R 00 00 01 00 -T A4 00 00 00 04 00 DD 4E 02 DD 46 03 09 E5 21 -R 00 00 01 00 -T AF 00 00 00 06 00 09 5E 23 56 E1 73 23 72 E1 -R 00 00 01 00 -T BA 00 00 00 73 23 72 69 60 73 23 72 C3 -R 00 00 01 00 -T C3 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relcl/setenv.rel b/lib/relcl/setenv.rel deleted file mode 100644 index f8bd90fa..00000000 --- a/lib/relcl/setenv.rel +++ /dev/null @@ -1,265 +0,0 @@ -XL4 -H 4 areas D global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S environ Ref00000000 -S memcpy Ref00000000 -S strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S free Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S malloc Ref00000000 -S .__.ABS. Def00000000 -S memcmp Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2CC flags 0 -S setenv Def00000000 -S unsetenv Def00000236 -A IDATA0 size 2 flags 0 -A CDATA0 size 2 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F2 FF AF DD 77 F4 -R 00 00 01 00 02 05 07 00 -T 09 00 00 00 DD 77 F5 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 13 00 00 00 00 00 00 00 DD 75 F6 DD 74 F7 59 -R 00 00 01 00 02 04 03 00 -T 1C 00 00 00 50 CD 00 00 00 00 DD 75 F8 DD 74 -R 00 00 01 00 02 06 03 00 -T 25 00 00 00 F9 2A 00 00 00 00 DD 75 F2 DD 74 -R 00 00 01 00 02 06 01 00 -T 2E 00 00 00 F3 -R 00 00 01 00 -T 2F 00 00 00 -R 00 00 01 00 -T 2F 00 00 00 DD 6E F2 DD 66 F3 4D 44 03 03 DD -R 00 00 01 00 -T 3A 00 00 00 71 F2 DD 70 F3 46 23 66 68 DD 75 -R 00 00 01 00 -T 45 00 00 00 FA DD 74 FB 7D B4 28 39 -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 DD 6E F6 DD 66 F7 E5 DD 4E 02 DD -R 00 00 01 00 -T 58 00 00 00 46 03 DD 5E FA DD 56 FB CD -R 00 00 01 00 -T 61 00 00 00 00 00 00 00 F1 7D B4 20 14 DD 6E -R 00 00 01 00 02 04 0A 00 -T 6A 00 00 00 F6 DD 66 F7 DD 4E FA DD 46 FB 09 -R 00 00 01 00 -T 75 00 00 00 7E FE 3D 20 02 -R 00 00 01 00 -T 7A 00 00 00 -R 00 00 01 00 -T 7A 00 00 00 -R 00 00 01 00 -T 7A 00 00 00 -R 00 00 01 00 -T 7A 00 00 00 18 0A -R 00 00 01 00 -T 7C 00 00 00 -R 00 00 01 00 -T 7C 00 00 00 DD 34 F4 20 03 DD 34 F5 -R 00 00 01 00 -T 84 00 00 00 -R 00 00 01 00 -T 84 00 00 00 18 A9 -R 00 00 01 00 -T 86 00 00 00 -R 00 00 01 00 -T 86 00 00 00 DD 7E FA DD B6 FB C2 7F 01 00 00 -R 00 00 01 00 00 0B 01 00 -T 8F 00 00 00 -R 00 00 01 00 -T 8F 00 00 00 DD 6E F4 DD 66 F5 23 23 29 EB CD -R 00 00 01 00 -T 9A 00 00 00 00 00 00 00 DD 75 FC DD 74 FD 7D -R 00 00 01 00 02 04 08 00 -T A3 00 00 00 B4 20 0C -R 00 00 01 00 -T A6 00 00 00 -R 00 00 01 00 -T A6 00 00 00 -R 00 00 01 00 -T A6 00 00 00 21 0C 00 22 00 00 00 00 21 FF FF -R 00 00 01 00 02 08 06 00 -T AF 00 00 00 C3 33 02 00 00 -R 00 00 01 00 00 05 01 00 -T B2 00 00 00 -R 00 00 01 00 -T B2 00 00 00 DD 6E F4 DD 66 F5 29 E5 ED 4B -R 00 00 01 00 -T BC 00 00 00 00 00 00 00 DD 5E FC DD 56 FD CD -R 00 00 01 00 02 04 01 00 -T C5 00 00 00 00 00 00 00 F1 DD 6E F8 DD 66 F9 -R 00 00 01 00 02 04 02 00 -T CE 00 00 00 DD 4E F6 DD 46 F7 09 EB 13 13 CD -R 00 00 01 00 -T D9 00 00 00 00 00 00 00 DD 75 FA DD 74 FB 7D -R 00 00 01 00 02 04 08 00 -T E2 00 00 00 B4 20 0B -R 00 00 01 00 -T E5 00 00 00 -R 00 00 01 00 -T E5 00 00 00 DD 5E FC DD 56 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T EE 00 00 00 18 B6 -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 DD 6E F6 DD 66 F7 E5 DD 4E 02 DD -R 00 00 01 00 -T FB 00 00 00 46 03 DD 5E FA DD 56 FB CD -R 00 00 01 00 -T 04 01 00 00 00 00 00 00 F1 DD 6E F6 DD 66 F7 -R 00 00 01 00 02 04 02 00 -T 0D 01 00 00 DD 4E FA DD 46 FB 09 36 3D DD 6E -R 00 00 01 00 -T 18 01 00 00 F8 DD 66 F9 23 E5 DD 4E 04 DD 46 -R 00 00 01 00 -T 23 01 00 00 05 DD 6E F6 DD 66 F7 DD 5E FA DD -R 00 00 01 00 -T 2E 01 00 00 56 FB 19 EB 13 CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 02 00 -T 37 01 00 00 DD 6E F4 DD 66 F5 29 DD 4E FC DD -R 00 00 01 00 -T 42 01 00 00 46 FD 09 DD 5E FA DD 56 FB 73 23 -R 00 00 01 00 -T 4D 01 00 00 72 DD 6E F4 DD 66 F5 29 09 23 23 -R 00 00 01 00 -T 58 01 00 00 AF 77 23 77 2A 00 00 00 00 7D B4 -R 00 00 01 00 00 09 02 00 -T 61 01 00 00 28 07 -R 00 00 01 00 -T 63 01 00 00 -R 00 00 01 00 -T 63 01 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 02 00 02 0B 05 00 -T 6A 01 00 00 -R 00 00 01 00 -T 6A 01 00 00 DD 6E FC DD 66 FD 22 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 73 01 00 00 DD 6E FC DD 66 FD 22 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 7C 01 00 00 C3 30 02 00 00 -R 00 00 01 00 00 05 01 00 -T 7F 01 00 00 -R 00 00 01 00 -T 7F 01 00 00 DD 7E 08 DD B6 09 CA 30 02 00 00 -R 00 00 01 00 00 0B 01 00 -T 88 01 00 00 -R 00 00 01 00 -T 88 01 00 00 DD 5E FA DD 56 FB CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 91 01 00 00 DD 75 FC DD 74 FD DD 6E F8 DD 66 -R 00 00 01 00 -T 9C 01 00 00 F9 DD 4E F6 DD 46 F7 09 4D 44 03 -R 00 00 01 00 -T A7 01 00 00 DD 6E FC DD 66 FD A7 ED 42 30 5D -R 00 00 01 00 -T B2 01 00 00 -R 00 00 01 00 -T B2 01 00 00 DD 6E F8 DD 66 F9 DD 4E F6 DD 46 -R 00 00 01 00 -T BD 01 00 00 F7 09 EB 13 13 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 08 00 -T C6 01 00 00 75 FE DD 74 FF 7D B4 20 03 -R 00 00 01 00 -T CF 01 00 00 -R 00 00 01 00 -T CF 01 00 00 C3 A6 00 00 00 -R 00 00 01 00 00 05 01 00 -T D2 01 00 00 -R 00 00 01 00 -T D2 01 00 00 DD 6E F6 DD 66 F7 E5 DD 4E 02 DD -R 00 00 01 00 -T DD 01 00 00 46 03 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T E6 01 00 00 00 00 00 00 F1 DD 6E F6 DD 66 F7 -R 00 00 01 00 02 04 02 00 -T EF 01 00 00 DD 4E FE DD 46 FF 09 36 3D DD 6E -R 00 00 01 00 -T FA 01 00 00 F2 DD 66 F3 2B 2B DD 75 F2 DD 74 -R 00 00 01 00 -T 05 02 00 00 F3 DD 71 FA DD 70 FB 71 23 70 -R 00 00 01 00 -T 0F 02 00 00 -R 00 00 01 00 -T 0F 02 00 00 DD 6E F8 DD 66 F9 23 E5 DD 4E 04 -R 00 00 01 00 -T 1A 02 00 00 DD 46 05 DD 6E F6 DD 66 F7 DD 5E -R 00 00 01 00 -T 25 02 00 00 FA DD 56 FB 19 EB 13 CD -R 00 00 01 00 -T 2D 02 00 00 00 00 00 00 F1 -R 00 00 01 00 02 04 02 00 -T 30 02 00 00 -R 00 00 01 00 -T 30 02 00 00 -R 00 00 01 00 -T 30 02 00 00 21 00 00 -R 00 00 01 00 -T 33 02 00 00 -R 00 00 01 00 -T 33 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 36 02 00 00 -R 00 00 01 00 -T 36 02 00 00 CD 00 00 00 00 F8 FF DD 5E 02 DD -R 00 00 01 00 02 05 07 00 -T 3F 02 00 00 56 03 CD 00 00 00 00 DD 75 FE DD -R 00 00 01 00 02 07 03 00 -T 48 02 00 00 74 FF 2A 00 00 00 00 DD 75 F8 DD -R 00 00 01 00 02 07 01 00 -T 51 02 00 00 74 F9 DD 75 FA DD 74 FB -R 00 00 01 00 -T 59 02 00 00 -R 00 00 01 00 -T 59 02 00 00 DD 6E F8 DD 66 F9 4D 44 03 03 DD -R 00 00 01 00 -T 64 02 00 00 71 F8 DD 70 F9 46 23 66 68 DD 75 -R 00 00 01 00 -T 6F 02 00 00 FC DD 74 FD 7D B4 28 48 -R 00 00 01 00 -T 77 02 00 00 -R 00 00 01 00 -T 77 02 00 00 DD 6E FE DD 66 FF E5 DD 4E 02 DD -R 00 00 01 00 -T 82 02 00 00 46 03 DD 5E FC DD 56 FD CD -R 00 00 01 00 -T 8B 02 00 00 00 00 00 00 F1 7D B4 20 12 DD 6E -R 00 00 01 00 02 04 0A 00 -T 94 02 00 00 FE DD 66 FF DD 4E FC DD 46 FD 09 -R 00 00 01 00 -T 9F 02 00 00 7E FE 3D 28 19 -R 00 00 01 00 -T A4 02 00 00 -R 00 00 01 00 -T A4 02 00 00 -R 00 00 01 00 -T A4 02 00 00 -R 00 00 01 00 -T A4 02 00 00 DD 6E FA DD 66 FB 4D 44 03 03 DD -R 00 00 01 00 -T AF 02 00 00 71 FA DD 70 FB DD 4E FC DD 46 FD -R 00 00 01 00 -T BA 02 00 00 71 23 70 -R 00 00 01 00 -T BD 02 00 00 -R 00 00 01 00 -T BD 02 00 00 18 9A -R 00 00 01 00 -T BF 02 00 00 -R 00 00 01 00 -T BF 02 00 00 DD 6E FA DD 66 FB AF 77 23 77 C3 -R 00 00 01 00 -T CA 02 00 00 00 00 00 00 -R 00 00 01 00 02 04 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcl/setgrent.rel b/lib/relcl/setgrent.rel deleted file mode 100644 index d66e53df..00000000 --- a/lib/relcl/setgrent.rel +++ /dev/null @@ -1,74 +0,0 @@ -XL4 -H 5 areas 9 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S close Ref00000000 -S __getgrent Ref00000000 -S open Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 51 flags 0 -S endgrent Def00000022 -S getgrent Def0000003A -S setgrent Def00000000 -A CSTR size B flags 0 -A IDATA0 size 4 flags 0 -S _path_group Def00000002 -A CDATA0 size 4 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D5 2A 00 00 00 00 7D A4 3C 28 07 -R 00 00 01 00 00 06 03 00 -T 09 00 00 00 -R 00 00 01 00 -T 09 00 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 01 00 -T 10 00 00 00 -R 00 00 01 00 -T 10 00 00 00 21 00 80 E5 2A 02 00 00 00 E5 CD -R 00 00 01 00 00 09 03 00 -T 19 00 00 00 00 00 00 00 F1 F1 22 00 00 00 00 -R 00 00 01 00 02 04 03 00 00 0B 03 00 -T 20 00 00 00 D1 C9 -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 D5 2A 00 00 00 00 7D A4 3C 28 07 -R 00 00 01 00 00 06 03 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 21 FF FF 22 00 00 00 00 D1 C9 -R 00 00 01 00 00 08 03 00 -T 3A 00 00 00 -R 00 00 01 00 -T 3A 00 00 00 D5 2A 00 00 00 00 7D A4 3C 20 05 -R 00 00 01 00 00 06 03 00 -T 43 00 00 00 -R 00 00 01 00 -T 43 00 00 00 21 00 00 18 07 -R 00 00 01 00 -T 48 00 00 00 -R 00 00 01 00 -T 48 00 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 02 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 D1 C9 -R 00 00 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2F 65 74 63 2F 67 72 6F 75 70 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 00 00 00 00 FF FF 00 00 00 00 -R 00 00 04 00 00 06 02 00 diff --git a/lib/relcl/setjmpl.rel b/lib/relcl/setjmpl.rel deleted file mode 100644 index 9eb99dbb..00000000 --- a/lib/relcl/setjmpl.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S setjmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 02 00 39 EB 73 23 72 23 71 23 -R 00 00 01 00 -T 0B 00 00 00 70 23 DD E5 D1 73 23 72 23 FD E5 -R 00 00 01 00 -T 16 00 00 00 D1 73 23 72 23 D1 D5 73 23 72 21 -R 00 00 01 00 -T 21 00 00 00 00 00 C9 -R 00 00 01 00 diff --git a/lib/relcl/setpwent.rel b/lib/relcl/setpwent.rel deleted file mode 100644 index 8dc5db11..00000000 --- a/lib/relcl/setpwent.rel +++ /dev/null @@ -1,98 +0,0 @@ -XL4 -H 5 areas B global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S printf Ref00000000 -S close Ref00000000 -S errno Ref00000000 -S __getpwent Ref00000000 -S open Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 63 flags 0 -S endpwent Def00000034 -S getpwent Def0000004C -S setpwent Def00000000 -A CSTR size 27 flags 0 -A IDATA0 size 4 flags 0 -S _path_passwd Def00000002 -A CDATA0 size 4 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D5 2A 00 00 00 00 7D A4 3C 28 07 -R 00 00 01 00 00 06 03 00 -T 09 00 00 00 -R 00 00 01 00 -T 09 00 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 02 00 -T 10 00 00 00 -R 00 00 01 00 -T 10 00 00 00 21 00 80 E5 2A 02 00 00 00 E5 CD -R 00 00 01 00 00 09 03 00 -T 19 00 00 00 00 00 00 00 F1 F1 22 00 00 00 00 -R 00 00 01 00 02 04 05 00 00 0B 03 00 -T 20 00 00 00 7D A4 3C 20 0D -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 2A 00 00 00 00 E5 21 0C 00 00 00 -R 00 00 01 00 02 05 03 00 00 0B 02 00 -T 2C 00 00 00 E5 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 06 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 D1 C9 -R 00 00 01 00 -T 34 00 00 00 -R 00 00 01 00 -T 34 00 00 00 D5 2A 00 00 00 00 7D A4 3C 28 07 -R 00 00 01 00 00 06 03 00 -T 3D 00 00 00 -R 00 00 01 00 -T 3D 00 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 02 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 21 FF FF 22 00 00 00 00 D1 C9 -R 00 00 01 00 00 08 03 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 D5 2A 00 00 00 00 7D A4 3C 28 09 -R 00 00 01 00 00 06 03 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 04 00 -T 5C 00 00 00 18 03 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 21 00 00 -R 00 00 01 00 -T 61 00 00 00 -R 00 00 01 00 -T 61 00 00 00 D1 C9 -R 00 00 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2F 65 74 63 2F 70 61 73 73 77 64 -R 00 00 02 00 -T 0B 00 00 00 00 -R 00 00 02 00 -T 0C 00 00 00 -R 00 00 02 00 -T 0C 00 00 00 45 52 52 4E 4F 20 25 64 20 6F 70 -R 00 00 02 00 -T 17 00 00 00 65 6E 69 6E 67 20 70 61 73 73 77 -R 00 00 02 00 -T 22 00 00 00 6F 72 64 0A 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 00 00 00 00 FF FF 00 00 00 00 -R 00 00 04 00 00 06 02 00 diff --git a/lib/relcl/setvbuff.rel b/lib/relcl/setvbuff.rel deleted file mode 100644 index 1cf15d85..00000000 --- a/lib/relcl/setvbuff.rel +++ /dev/null @@ -1,98 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S fflush Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S free Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S calloc Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10B flags 0 -S setvbuf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 04 00 02 0A 01 00 -T 07 00 00 00 0C 00 DD 5E 02 DD 56 03 19 7E E6 -R 00 00 01 00 -T 12 00 00 00 04 28 10 -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 20 00 00 00 23 56 CD 00 00 00 00 -R 00 00 01 00 02 07 03 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 30 00 00 00 E6 F8 77 23 7E E6 FF 77 21 06 00 -R 00 00 01 00 -T 3B 00 00 00 09 E5 21 0E 00 09 EB E1 73 23 72 -R 00 00 01 00 -T 46 00 00 00 21 08 00 09 E5 21 0E 00 09 11 -R 00 00 01 00 -T 50 00 00 00 08 00 19 EB E1 73 23 72 21 0C 00 -R 00 00 01 00 -T 5B 00 00 00 09 7E F6 02 77 23 7E F6 00 77 DD -R 00 00 01 00 -T 66 00 00 00 7E 08 DD B6 09 28 0A 3E 01 DD AE -R 00 00 01 00 -T 71 00 00 00 08 DD B6 09 20 66 -R 00 00 01 00 -T 77 00 00 00 -R 00 00 01 00 -T 77 00 00 00 -R 00 00 01 00 -T 77 00 00 00 -R 00 00 01 00 -T 77 00 00 00 DD 7E 0A DD B6 0B 20 08 -R 00 00 01 00 -T 7F 00 00 00 -R 00 00 01 00 -T 7F 00 00 00 DD 36 0A 00 DD 36 0B 01 -R 00 00 01 00 -T 87 00 00 00 -R 00 00 01 00 -T 87 00 00 00 DD 7E 04 DD B6 05 20 1B DD 4E 0A -R 00 00 01 00 -T 92 00 00 00 DD 46 0B 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 9B 00 00 00 DD 75 04 DD 74 05 7D B4 20 05 -R 00 00 01 00 -T A5 00 00 00 -R 00 00 01 00 -T A5 00 00 00 -R 00 00 01 00 -T A5 00 00 00 -R 00 00 01 00 -T A5 00 00 00 21 FF FF 18 5E -R 00 00 01 00 -T AA 00 00 00 -R 00 00 01 00 -T AA 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 DD -R 00 00 01 00 -T B5 00 00 00 5E 04 DD 56 05 73 23 72 21 08 00 -R 00 00 01 00 -T C0 00 00 00 09 E5 DD 6E 0A DD 66 0B 19 EB E1 -R 00 00 01 00 -T CB 00 00 00 73 23 72 21 0C 00 09 7E DD B6 08 -R 00 00 01 00 -T D6 00 00 00 77 23 7E DD B6 09 77 -R 00 00 01 00 -T DD 00 00 00 -R 00 00 01 00 -T DD 00 00 00 DD 6E 02 DD 66 03 23 23 E5 21 -R 00 00 01 00 -T E7 00 00 00 04 00 DD 4E 02 DD 46 03 09 E5 21 -R 00 00 01 00 -T F2 00 00 00 06 00 09 5E 23 56 E1 73 23 72 E1 -R 00 00 01 00 -T FD 00 00 00 73 23 72 69 60 73 23 72 21 00 00 -R 00 00 01 00 -T 08 01 00 00 -R 00 00 01 00 -T 08 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcl/sleep.rel b/lib/relcl/sleep.rel deleted file mode 100644 index 34cc08b7..00000000 --- a/lib/relcl/sleep.rel +++ /dev/null @@ -1,62 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S alarm Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S pause Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S signal Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9B flags 0 -S sleep Def00000001 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C9 -R 00 00 01 00 -T 01 00 00 00 -R 00 00 01 00 -T 01 00 00 00 CD 00 00 00 00 FA FF 11 00 00 CD -R 00 00 01 00 02 05 04 00 -T 0A 00 00 00 00 00 00 00 DD 75 FA DD 74 FB 21 -R 00 00 01 00 02 04 01 00 -T 13 00 00 00 00 00 00 00 01 00 00 C5 E5 11 -R 00 00 01 00 00 04 01 00 -T 1B 00 00 00 0B 00 CD 00 00 00 00 F1 F1 DD 75 -R 00 00 01 00 02 07 05 00 -T 24 00 00 00 FC DD 74 FD DD 71 FE DD 70 FF DD -R 00 00 01 00 -T 2F 00 00 00 7E FA DD B6 FB 28 2B -R 00 00 01 00 -T 36 00 00 00 -R 00 00 01 00 -T 36 00 00 00 DD 4E FA DD 46 FB DD 6E 02 DD 66 -R 00 00 01 00 -T 41 00 00 00 03 A7 ED 42 38 05 21 01 00 18 0F -R 00 00 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 DD 4E 02 DD 46 03 DD 6E FA DD 66 -R 00 00 01 00 -T 57 00 00 00 FB A7 ED 42 -R 00 00 01 00 -T 5B 00 00 00 -R 00 00 01 00 -T 5B 00 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 -T 61 00 00 00 -R 00 00 01 00 -T 61 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 6A 00 00 00 CD 00 00 00 00 DD 5E FA DD 56 FB -R 00 00 01 00 02 05 03 00 -T 73 00 00 00 CD 00 00 00 00 DD 75 02 DD 74 03 -R 00 00 01 00 02 05 01 00 -T 7C 00 00 00 DD 4E FE DD 46 FF C5 DD 4E FC DD -R 00 00 01 00 -T 87 00 00 00 46 FD C5 11 0B 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 90 00 00 00 F1 F1 DD 6E 02 DD 66 03 C3 -R 00 00 01 00 -T 99 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relcl/sprintf.rel b/lib/relcl/sprintf.rel deleted file mode 100644 index 425b1f22..00000000 --- a/lib/relcl/sprintf.rel +++ /dev/null @@ -1,40 +0,0 @@ -XL4 -H 4 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S vfprintf Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3F flags 0 -S sprintf Def00000000 -A IDATA0 size 18 flags 0 -A CDATA0 size 18 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 0E 00 39 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 01 02 00 09 DD 75 FC DD 74 FD DD -R 00 00 01 00 -T 14 00 00 00 4E 08 DD 46 09 ED 43 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 1D 00 00 00 E5 DD 4E 0A DD 46 0B 11 -R 00 00 01 00 -T 25 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 00 04 02 00 02 09 03 00 -T 2C 00 00 00 75 FE DD 74 FF 2A 00 00 00 00 36 -R 00 00 01 00 00 0A 02 00 -T 35 00 00 00 00 DD 6E FE DD 66 FF C3 -R 00 00 01 00 -T 3D 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF -R 00 00 03 00 -T 0A 00 00 00 FF FF 20 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T 15 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcl/sscanf.rel b/lib/relcl/sscanf.rel deleted file mode 100644 index f0d9760f..00000000 --- a/lib/relcl/sscanf.rel +++ /dev/null @@ -1,36 +0,0 @@ -XL4 -H 4 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S vfscanf Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 34 flags 0 -S sscanf Def00000000 -A IDATA0 size 18 flags 0 -A CDATA0 size 18 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 0E 00 39 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 01 02 00 09 DD 75 FC DD 74 FD DD -R 00 00 01 00 -T 14 00 00 00 4E 08 DD 46 09 ED 43 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 1D 00 00 00 E5 DD 4E 0A DD 46 0B 11 -R 00 00 01 00 -T 25 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 00 04 02 00 02 09 02 00 -T 2C 00 00 00 75 FE DD 74 FF C3 00 00 00 00 -R 00 00 01 00 02 0A 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 FF FF 00 00 00 00 FF FF -R 00 00 03 00 -T 0A 00 00 00 FF FF 10 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T 15 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcl/stdio0.rel b/lib/relcl/stdio0.rel deleted file mode 100644 index 16ad7480..00000000 --- a/lib/relcl/stdio0.rel +++ /dev/null @@ -1,129 +0,0 @@ -XL4 -H 5 areas E global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S fflush Ref00000000 -S atexit Ref00000000 -S close Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S isatty Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 85 flags 0 -S __stdio_init_vars Def00000057 -S __stdio_close_all Def00000000 -A UDATA0 size 200 flags 0 -A IDATA0 size 4C flags 0 -S stderr Def00000032 -S stdin Def00000002 -S stdout Def0000001A -S __IO_list Def00000000 -A CDATA0 size 4C flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 2A -R 00 00 01 00 02 05 06 00 -T 06 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 11 -R 00 00 01 00 00 04 03 00 -T 0F 00 00 00 1A 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 00 04 03 00 02 09 01 00 -T 15 00 00 00 32 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 04 03 00 02 09 01 00 -T 1A 00 00 00 -R 00 00 01 00 -T 1A 00 00 00 DD 7E FE DD B6 FF 28 32 -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 2B 00 00 00 21 0A 00 DD 4E FE DD 46 FF 09 5E -R 00 00 01 00 -T 36 00 00 00 23 56 CD 00 00 00 00 21 0A 00 09 -R 00 00 01 00 02 07 03 00 -T 3F 00 00 00 36 FF 23 36 FF 21 16 00 09 56 23 -R 00 00 01 00 -T 4A 00 00 00 66 6A DD 75 FE DD 74 FF 18 C6 -R 00 00 01 00 -T 54 00 00 00 -R 00 00 01 00 -T 54 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 D5 2A 4A 00 00 00 7D B4 20 02 -R 00 00 01 00 00 06 03 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 18 22 -R 00 00 01 00 -T 61 00 00 00 -R 00 00 01 00 -T 61 00 00 00 21 00 00 22 4A 00 00 00 11 01 00 -R 00 00 01 00 00 08 03 00 -T 6A 00 00 00 CD 00 00 00 00 7D B4 28 0C -R 00 00 01 00 02 05 05 00 -T 71 00 00 00 -R 00 00 01 00 -T 71 00 00 00 21 26 00 00 00 7E F6 01 77 23 7E -R 00 00 01 00 00 05 03 00 -T 7A 00 00 00 F6 00 77 -R 00 00 01 00 -T 7D 00 00 00 -R 00 00 01 00 -T 7D 00 00 00 11 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 05 01 00 02 0A 02 00 -T 83 00 00 00 -R 00 00 01 00 -T 83 00 00 00 D1 C9 -R 00 00 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 01 00 00 -R 00 00 02 00 -T 00 01 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 1A 00 00 00 -R 00 00 03 00 -T 1A 00 00 00 -R 00 00 03 00 -T 32 00 00 00 -R 00 00 03 00 -T 32 00 00 00 -R 00 00 03 00 -T 4A 00 00 00 -R 00 00 03 00 -T 4A 00 00 00 -R 00 00 03 00 -T 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 00 06 02 00 00 0A 02 00 -T 06 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 0A 00 00 00 00 01 00 00 00 00 10 00 00 00 00 -R 00 00 04 00 00 04 02 00 -T 13 00 00 00 00 00 00 00 00 00 00 00 01 00 00 -R 00 00 04 00 00 0B 02 00 -T 1C 00 00 00 00 01 00 00 00 01 00 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 20 00 00 00 00 01 00 00 00 02 00 00 01 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 26 00 00 00 20 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 -T 31 00 00 00 00 40 00 00 00 40 00 00 00 -R 00 00 04 00 00 05 03 00 00 09 03 00 -T 36 00 00 00 40 00 00 00 40 00 00 00 -R 00 00 04 00 00 04 03 00 00 08 03 00 -T 3A 00 00 00 42 00 00 00 02 00 22 00 00 00 00 -R 00 00 04 00 00 04 03 00 -T 43 00 00 00 00 00 00 00 00 00 00 01 00 -R 00 00 04 00 diff --git a/lib/relcl/strcat.rel b/lib/relcl/strcat.rel deleted file mode 100644 index 2fae9208..00000000 --- a/lib/relcl/strcat.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S strcpy Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S strcat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 CD 00 00 00 00 -R 00 00 01 00 02 05 03 00 02 0B 01 00 -T 07 00 00 00 D1 19 EB CD 00 00 00 00 DD 6E 02 -R 00 00 01 00 02 08 04 00 -T 10 00 00 00 DD 66 03 C3 00 00 00 00 -R 00 00 01 00 02 08 02 00 diff --git a/lib/relcl/strchr.rel b/lib/relcl/strchr.rel deleted file mode 100644 index 6293db68..00000000 --- a/lib/relcl/strchr.rel +++ /dev/null @@ -1,47 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3B flags 0 -S strchr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF -R 00 00 01 00 02 05 02 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 DD 6E 02 DD 66 03 46 DD 70 FE 48 -R 00 00 01 00 -T 10 00 00 00 06 00 DD 6E 04 DD 66 05 A7 ED 42 -R 00 00 01 00 -T 1B 00 00 00 20 08 -R 00 00 01 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 DD 6E 02 DD 66 03 18 09 -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 AF DD B6 FE 20 06 -R 00 00 01 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 21 00 00 -R 00 00 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 18 CA -R 00 00 01 00 diff --git a/lib/relcl/strcmp.rel b/lib/relcl/strcmp.rel deleted file mode 100644 index 24271336..00000000 --- a/lib/relcl/strcmp.rel +++ /dev/null @@ -1,43 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 57 flags 0 -S strcmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF DD 6E 02 DD -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 66 03 DD 75 FA DD 74 FB DD 71 FC -R 00 00 01 00 -T 14 00 00 00 DD 70 FD -R 00 00 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD -R 00 00 01 00 -T 22 00 00 00 74 FD 2B 46 DD 70 FF DD 6E FA DD -R 00 00 01 00 -T 2D 00 00 00 66 FB 23 DD 75 FA DD 74 FB 2B 4E -R 00 00 01 00 -T 38 00 00 00 DD 71 FE 79 B8 20 08 AF DD B6 FE -R 00 00 01 00 -T 43 00 00 00 28 02 -R 00 00 01 00 -T 45 00 00 00 -R 00 00 01 00 -T 45 00 00 00 -R 00 00 01 00 -T 45 00 00 00 -R 00 00 01 00 -T 45 00 00 00 18 D0 -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 DD 4E FF 06 00 DD 6E FE 26 00 A7 -R 00 00 01 00 -T 52 00 00 00 ED 42 C3 00 00 00 00 -R 00 00 01 00 02 07 01 00 diff --git a/lib/relcl/strcpy.rel b/lib/relcl/strcpy.rel deleted file mode 100644 index 0fae0c1e..00000000 --- a/lib/relcl/strcpy.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S memcpy Ref00000000 -S strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1D flags 0 -S strcpy Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 59 50 CD -R 00 00 01 00 02 05 04 00 -T 06 00 00 00 00 00 00 00 23 E5 DD 4E 04 DD 46 -R 00 00 01 00 02 04 02 00 -T 0F 00 00 00 05 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 17 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0A 03 00 diff --git a/lib/relcl/strcspn.rel b/lib/relcl/strcspn.rel deleted file mode 100644 index e4da79c8..00000000 --- a/lib/relcl/strcspn.rel +++ /dev/null @@ -1,40 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S strchr Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4D flags 0 -S strcspn Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 66 03 DD 75 FE DD 74 FF -R 00 00 01 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 DD 6E 02 DD 66 03 AF B6 28 20 DD -R 00 00 01 00 -T 1C 00 00 00 6E 02 DD 66 03 23 DD 75 02 DD 74 -R 00 00 01 00 -T 27 00 00 00 03 2B 4E 06 00 DD 5E 04 DD 56 05 -R 00 00 01 00 -T 32 00 00 00 CD 00 00 00 00 7D B4 20 02 -R 00 00 01 00 02 05 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 18 D6 -R 00 00 01 00 -T 3B 00 00 00 -R 00 00 01 00 -T 3B 00 00 00 DD 4E FE DD 46 FF DD 6E 02 DD 66 -R 00 00 01 00 -T 46 00 00 00 03 A7 ED 42 C3 00 00 00 00 -R 00 00 01 00 02 09 02 00 diff --git a/lib/relcl/strdup.rel b/lib/relcl/strdup.rel deleted file mode 100644 index aa05b5fe..00000000 --- a/lib/relcl/strdup.rel +++ /dev/null @@ -1,34 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S memcpy Ref00000000 -S strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S malloc Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 43 flags 0 -S strdup Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 5E 02 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 56 03 CD 00 00 00 00 23 DD 75 FC -R 00 00 01 00 02 07 02 00 -T 12 00 00 00 DD 74 FD EB CD 00 00 00 00 DD 75 -R 00 00 01 00 02 09 05 00 -T 1B 00 00 00 FE DD 74 FF 7D B4 28 17 -R 00 00 01 00 -T 23 00 00 00 -R 00 00 01 00 -T 23 00 00 00 DD 6E FC DD 66 FD E5 DD 4E 02 DD -R 00 00 01 00 -T 2E 00 00 00 46 03 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 37 00 00 00 00 00 00 00 F1 -R 00 00 01 00 02 04 01 00 -T 3A 00 00 00 -R 00 00 01 00 -T 3A 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 03 00 diff --git a/lib/relcl/stricmp.rel b/lib/relcl/stricmp.rel deleted file mode 100644 index 5ee41619..00000000 --- a/lib/relcl/stricmp.rel +++ /dev/null @@ -1,84 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S __ctype Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 80 flags 0 -S stricmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF -R 00 00 01 00 02 05 03 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T 10 00 00 00 74 03 2B 46 DD 70 FE DD 6E 04 DD -R 00 00 01 00 -T 1B 00 00 00 66 05 23 DD 75 04 DD 74 05 2B 4E -R 00 00 01 00 -T 26 00 00 00 DD 71 FF 78 B9 28 43 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 DD 4E FF 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 02 00 -T 36 00 00 00 7E E6 02 28 08 DD 7E FF EE 20 47 -R 00 00 01 00 -T 41 00 00 00 18 03 -R 00 00 01 00 -T 43 00 00 00 -R 00 00 01 00 -T 43 00 00 00 DD 46 FF -R 00 00 01 00 -T 46 00 00 00 -R 00 00 01 00 -T 46 00 00 00 C5 DD 4E FE 06 00 21 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 4F 00 00 00 09 7E E6 02 28 07 DD 7E FE EE 20 -R 00 00 01 00 -T 5A 00 00 00 18 03 -R 00 00 01 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 DD 7E FE -R 00 00 01 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 C1 B8 28 0B -R 00 00 01 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 DD 7E FE DD 96 FF 6F 26 00 18 0F -R 00 00 01 00 -T 6E 00 00 00 -R 00 00 01 00 -T 6E 00 00 00 18 08 -R 00 00 01 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 AF DD B6 FE 20 02 -R 00 00 01 00 -T 76 00 00 00 -R 00 00 01 00 -T 76 00 00 00 18 02 -R 00 00 01 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 18 8B -R 00 00 01 00 -T 7A 00 00 00 -R 00 00 01 00 -T 7A 00 00 00 21 00 00 -R 00 00 01 00 -T 7D 00 00 00 -R 00 00 01 00 -T 7D 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcl/strlen.rel b/lib/relcl/strlen.rel deleted file mode 100644 index 61909e79..00000000 --- a/lib/relcl/strlen.rel +++ /dev/null @@ -1,33 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 37 flags 0 -S strlen Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 66 03 DD 75 FE DD 74 FF -R 00 00 01 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 DD 6E FE DD 66 FF AF B6 28 0A -R 00 00 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 23 00 00 00 -R 00 00 01 00 -T 23 00 00 00 18 EC -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 DD 4E 02 DD 46 03 DD 6E FE DD 66 -R 00 00 01 00 -T 30 00 00 00 FF A7 ED 42 C3 00 00 00 00 -R 00 00 01 00 02 09 01 00 diff --git a/lib/relcl/strncat.rel b/lib/relcl/strncat.rel deleted file mode 100644 index c11cc042..00000000 --- a/lib/relcl/strncat.rel +++ /dev/null @@ -1,50 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S memcpy Ref00000000 -S strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S memchr Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8B flags 0 -S strncat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 5E 02 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 56 03 CD 00 00 00 00 DD 5E 02 DD -R 00 00 01 00 02 07 02 00 -T 12 00 00 00 56 03 19 DD 75 FC DD 74 FD DD 6E -R 00 00 01 00 -T 1D 00 00 00 08 DD 66 09 E5 01 00 00 DD 5E 04 -R 00 00 01 00 -T 28 00 00 00 DD 56 05 CD 00 00 00 00 F1 DD 75 -R 00 00 01 00 02 08 05 00 -T 31 00 00 00 FE DD 74 FF 7D B4 28 23 -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 -R 00 00 01 00 -T 44 00 00 00 FF A7 ED 42 23 E5 DD 4E 04 DD 46 -R 00 00 01 00 -T 4F 00 00 00 05 DD 5E FC DD 56 FD CD -R 00 00 01 00 -T 57 00 00 00 00 00 00 00 F1 18 26 -R 00 00 01 00 02 04 01 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 DD 6E 08 DD 66 09 E5 DD 4E 04 DD -R 00 00 01 00 -T 67 00 00 00 46 05 DD 5E FC DD 56 FD CD -R 00 00 01 00 -T 70 00 00 00 00 00 00 00 F1 DD 6E 08 DD 66 09 -R 00 00 01 00 02 04 01 00 -T 79 00 00 00 DD 4E FC DD 46 FD 09 36 00 -R 00 00 01 00 -T 82 00 00 00 -R 00 00 01 00 -T 82 00 00 00 DD 6E 02 DD 66 03 C3 00 00 00 00 -R 00 00 01 00 02 0B 03 00 diff --git a/lib/relcl/strncmp.rel b/lib/relcl/strncmp.rel deleted file mode 100644 index bb3f1040..00000000 --- a/lib/relcl/strncmp.rel +++ /dev/null @@ -1,51 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 61 flags 0 -S strncmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 36 FE 00 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 DD 36 FF 00 -R 00 00 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 18 00 00 00 74 09 23 7D B4 28 32 -R 00 00 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 DD 6E 04 DD 66 05 23 DD 75 04 DD -R 00 00 01 00 -T 2A 00 00 00 74 05 2B 46 DD 70 FF DD 6E 02 DD -R 00 00 01 00 -T 35 00 00 00 66 03 23 DD 75 02 DD 74 03 2B 4E -R 00 00 01 00 -T 40 00 00 00 DD 71 FE 79 B8 20 06 AF DD B6 FE -R 00 00 01 00 -T 4B 00 00 00 20 02 -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 18 02 -R 00 00 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 18 BC -R 00 00 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 DD 4E FF 06 00 DD 6E FE 26 00 A7 -R 00 00 01 00 -T 5C 00 00 00 ED 42 C3 00 00 00 00 -R 00 00 01 00 02 07 01 00 diff --git a/lib/relcl/strncpy.rel b/lib/relcl/strncpy.rel deleted file mode 100644 index 6e5d6cf0..00000000 --- a/lib/relcl/strncpy.rel +++ /dev/null @@ -1,59 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7F flags 0 -S strncpy Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 66 03 DD 75 FC DD 74 FD DD 71 FE -R 00 00 01 00 -T 14 00 00 00 DD 70 FF -R 00 00 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 DD 7E 08 DD B6 09 28 33 -R 00 00 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 2A 00 00 00 74 09 DD 6E FE DD 66 FF 23 DD 75 -R 00 00 01 00 -T 35 00 00 00 FE DD 74 FF 2B 46 DD 6E FC DD 66 -R 00 00 01 00 -T 40 00 00 00 FD 23 DD 75 FC DD 74 FD 2B 70 04 -R 00 00 01 00 -T 4B 00 00 00 05 20 02 -R 00 00 01 00 -T 4E 00 00 00 -R 00 00 01 00 -T 4E 00 00 00 18 02 -R 00 00 01 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 18 C5 -R 00 00 01 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 5D 00 00 00 74 09 23 7D B4 28 12 -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD -R 00 00 01 00 -T 6F 00 00 00 74 FD 2B 36 00 18 DC -R 00 00 01 00 -T 76 00 00 00 -R 00 00 01 00 -T 76 00 00 00 DD 6E 02 DD 66 03 C3 00 00 00 00 -R 00 00 01 00 02 0B 01 00 diff --git a/lib/relcl/strnicmp.rel b/lib/relcl/strnicmp.rel deleted file mode 100644 index 6b3ec110..00000000 --- a/lib/relcl/strnicmp.rel +++ /dev/null @@ -1,90 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S __ctype Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 93 flags 0 -S strnicmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF -R 00 00 01 00 02 05 03 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 10 00 00 00 74 09 23 7D B4 28 76 -R 00 00 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T 22 00 00 00 74 03 2B 46 DD 70 FE DD 6E 04 DD -R 00 00 01 00 -T 2D 00 00 00 66 05 23 DD 75 04 DD 74 05 2B 4E -R 00 00 01 00 -T 38 00 00 00 DD 71 FF 78 B9 28 43 -R 00 00 01 00 -T 3F 00 00 00 -R 00 00 01 00 -T 3F 00 00 00 DD 4E FF 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 02 00 -T 48 00 00 00 7E E6 02 28 08 DD 7E FF EE 20 47 -R 00 00 01 00 -T 53 00 00 00 18 03 -R 00 00 01 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 DD 46 FF -R 00 00 01 00 -T 58 00 00 00 -R 00 00 01 00 -T 58 00 00 00 C5 DD 4E FE 06 00 21 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 61 00 00 00 09 7E E6 02 28 07 DD 7E FE EE 20 -R 00 00 01 00 -T 6C 00 00 00 18 03 -R 00 00 01 00 -T 6E 00 00 00 -R 00 00 01 00 -T 6E 00 00 00 DD 7E FE -R 00 00 01 00 -T 71 00 00 00 -R 00 00 01 00 -T 71 00 00 00 C1 B8 28 0B -R 00 00 01 00 -T 75 00 00 00 -R 00 00 01 00 -T 75 00 00 00 DD 7E FE DD 96 FF 6F 26 00 18 10 -R 00 00 01 00 -T 80 00 00 00 -R 00 00 01 00 -T 80 00 00 00 18 08 -R 00 00 01 00 -T 82 00 00 00 -R 00 00 01 00 -T 82 00 00 00 AF DD B6 FE 20 02 -R 00 00 01 00 -T 88 00 00 00 -R 00 00 01 00 -T 88 00 00 00 18 03 -R 00 00 01 00 -T 8A 00 00 00 -R 00 00 01 00 -T 8A 00 00 00 -R 00 00 01 00 -T 8A 00 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 8D 00 00 00 -R 00 00 01 00 -T 8D 00 00 00 21 00 00 -R 00 00 01 00 -T 90 00 00 00 -R 00 00 01 00 -T 90 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcl/strpbrk.rel b/lib/relcl/strpbrk.rel deleted file mode 100644 index e24de596..00000000 --- a/lib/relcl/strpbrk.rel +++ /dev/null @@ -1,48 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S strchr Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3B flags 0 -S strpbrk Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 03 00 00 00 -R 00 00 01 00 -T 03 00 00 00 -R 00 00 01 00 -T 03 00 00 00 DD 6E 02 DD 66 03 AF B6 28 28 -R 00 00 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 DD 6E 02 DD 66 03 4E 06 00 DD 5E -R 00 00 01 00 -T 18 00 00 00 04 DD 56 05 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 09 01 00 -T 21 00 00 00 28 08 -R 00 00 01 00 -T 23 00 00 00 -R 00 00 01 00 -T 23 00 00 00 DD 6E 02 DD 66 03 18 0D -R 00 00 01 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 18 CE -R 00 00 01 00 -T 35 00 00 00 -R 00 00 01 00 -T 35 00 00 00 21 00 00 -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcl/strrchr.rel b/lib/relcl/strrchr.rel deleted file mode 100644 index 3d2acddc..00000000 --- a/lib/relcl/strrchr.rel +++ /dev/null @@ -1,56 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 63 flags 0 -S strrchr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 56 03 CD 00 00 00 00 DD 5E 02 DD -R 00 00 01 00 02 07 01 00 -T 12 00 00 00 56 03 19 DD 75 FE DD 74 FF 79 B0 -R 00 00 01 00 -T 1D 00 00 00 20 08 -R 00 00 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 DD 6E FE DD 66 FF 18 39 -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 DD 6E 02 DD 66 03 DD 4E FE DD 46 -R 00 00 01 00 -T 32 00 00 00 FF A7 ED 42 28 25 -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 DD 6E FE DD 66 FF 2B DD 75 FE DD -R 00 00 01 00 -T 43 00 00 00 74 FF 4E 06 00 DD 6E 04 DD 66 05 -R 00 00 01 00 -T 4E 00 00 00 A7 ED 42 20 08 -R 00 00 01 00 -T 53 00 00 00 -R 00 00 01 00 -T 53 00 00 00 DD 6E FE DD 66 FF 18 05 -R 00 00 01 00 -T 5B 00 00 00 -R 00 00 01 00 -T 5B 00 00 00 18 CA -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 21 00 00 -R 00 00 01 00 -T 60 00 00 00 -R 00 00 01 00 -T 60 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcl/strsep.rel b/lib/relcl/strsep.rel deleted file mode 100644 index 69542d6c..00000000 --- a/lib/relcl/strsep.rel +++ /dev/null @@ -1,50 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S strpbrk Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 66 flags 0 -S strsep Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 66 03 56 23 66 6A DD 75 FC DD 74 -R 00 00 01 00 -T 14 00 00 00 FD 7D B4 20 05 -R 00 00 01 00 -T 19 00 00 00 -R 00 00 01 00 -T 19 00 00 00 21 00 00 18 45 -R 00 00 01 00 -T 1E 00 00 00 -R 00 00 01 00 -T 1E 00 00 00 DD 4E 04 DD 46 05 DD 5E FC DD 56 -R 00 00 01 00 -T 29 00 00 00 FD CD 00 00 00 00 DD 75 FE DD 74 -R 00 00 01 00 02 06 01 00 -T 32 00 00 00 FF 7D B4 28 1C -R 00 00 01 00 -T 37 00 00 00 -R 00 00 01 00 -T 37 00 00 00 DD 6E FE DD 66 FF 23 E5 DD 6E 02 -R 00 00 01 00 -T 42 00 00 00 DD 66 03 C1 71 23 70 DD 6E FE DD -R 00 00 01 00 -T 4D 00 00 00 66 FF 36 00 18 0A -R 00 00 01 00 -T 53 00 00 00 -R 00 00 01 00 -T 53 00 00 00 DD 6E 02 DD 66 03 AF 77 23 77 -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcl/strspn.rel b/lib/relcl/strspn.rel deleted file mode 100644 index 66f9ecea..00000000 --- a/lib/relcl/strspn.rel +++ /dev/null @@ -1,71 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7B flags 0 -S strspn Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF DD 6E 02 DD -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 66 03 DD 75 FA DD 74 FB AF DD 77 -R 00 00 01 00 -T 14 00 00 00 FE DD 77 FF -R 00 00 01 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 DD 6E FA DD 66 FB AF B6 28 50 -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 DD 6E 04 DD 66 05 DD 75 FC DD 74 -R 00 00 01 00 -T 2D 00 00 00 FD -R 00 00 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 DD 6E FC DD 66 FD AF B6 28 1C DD -R 00 00 01 00 -T 39 00 00 00 6E FC DD 66 FD E5 DD 6E FA DD 66 -R 00 00 01 00 -T 44 00 00 00 FB 7E E1 BE 28 0A -R 00 00 01 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 18 DA -R 00 00 01 00 -T 54 00 00 00 -R 00 00 01 00 -T 54 00 00 00 DD 6E FC DD 66 FD AF B6 20 02 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 18 12 -R 00 00 01 00 -T 60 00 00 00 -R 00 00 01 00 -T 60 00 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 18 A6 -R 00 00 01 00 -T 72 00 00 00 -R 00 00 01 00 -T 72 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 01 00 diff --git a/lib/relcl/strstr.rel b/lib/relcl/strstr.rel deleted file mode 100644 index 3e517c3a..00000000 --- a/lib/relcl/strstr.rel +++ /dev/null @@ -1,64 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S strchr Ref00000000 -S strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S memcmp Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 77 flags 0 -S strstr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 59 50 CD -R 00 00 01 00 02 05 04 00 -T 08 00 00 00 00 00 00 00 DD 75 FC DD 74 FD DD -R 00 00 01 00 02 04 02 00 -T 11 00 00 00 4E 02 DD 46 03 DD 71 FE DD 70 FF -R 00 00 01 00 -T 1C 00 00 00 7D B4 20 08 -R 00 00 01 00 -T 20 00 00 00 -R 00 00 01 00 -T 20 00 00 00 DD 6E FE DD 66 FF 18 4C -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 DD 6E 04 DD 66 05 4E 06 00 DD 5E -R 00 00 01 00 -T 33 00 00 00 FE DD 56 FF CD 00 00 00 00 DD 75 -R 00 00 01 00 02 09 01 00 -T 3C 00 00 00 FE DD 74 FF 7D B4 28 2D -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 DD 6E FC DD 66 FD E5 DD 4E 04 DD -R 00 00 01 00 -T 4F 00 00 00 46 05 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 58 00 00 00 00 00 00 00 F1 7D B4 20 08 -R 00 00 01 00 02 04 06 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 DD 6E FE DD 66 FF 18 0D -R 00 00 01 00 -T 67 00 00 00 -R 00 00 01 00 -T 67 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 6F 00 00 00 -R 00 00 01 00 -T 6F 00 00 00 18 B7 -R 00 00 01 00 -T 71 00 00 00 -R 00 00 01 00 -T 71 00 00 00 21 00 00 -R 00 00 01 00 -T 74 00 00 00 -R 00 00 01 00 -T 74 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 diff --git a/lib/relcl/strtod.rel b/lib/relcl/strtod.rel deleted file mode 100644 index b3988d57..00000000 --- a/lib/relcl/strtod.rel +++ /dev/null @@ -1,6 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 0 flags 0 diff --git a/lib/relcl/strtok.rel b/lib/relcl/strtok.rel deleted file mode 100644 index 5c45fa86..00000000 --- a/lib/relcl/strtok.rel +++ /dev/null @@ -1,81 +0,0 @@ -XL4 -H 4 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S strpbrk Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S strspn Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 96 flags 0 -S strtok Def00000000 -A IDATA0 size 2 flags 0 -A CDATA0 size 2 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 B6 03 20 15 -R 00 00 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 2A 00 00 00 00 7D B4 20 05 -R 00 00 01 00 00 05 02 00 -T 14 00 00 00 -R 00 00 01 00 -T 14 00 00 00 21 00 00 18 7A -R 00 00 01 00 -T 19 00 00 00 -R 00 00 01 00 -T 19 00 00 00 2A 00 00 00 00 DD 75 02 DD 74 03 -R 00 00 01 00 00 05 02 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 -R 00 00 01 00 -T 2D 00 00 00 03 CD 00 00 00 00 4D 44 21 04 00 -R 00 00 01 00 02 06 03 00 -T 36 00 00 00 39 7E 81 77 23 7E 88 77 DD 6E 02 -R 00 00 01 00 -T 41 00 00 00 DD 66 03 AF B6 20 0B -R 00 00 01 00 -T 48 00 00 00 -R 00 00 01 00 -T 48 00 00 00 21 00 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 00 08 02 00 -T 51 00 00 00 18 40 -R 00 00 01 00 -T 53 00 00 00 -R 00 00 01 00 -T 53 00 00 00 DD 6E 02 DD 66 03 DD 75 FE DD 74 -R 00 00 01 00 -T 5E 00 00 00 FF DD 4E 04 DD 46 05 EB CD -R 00 00 01 00 -T 67 00 00 00 00 00 00 00 DD 75 02 DD 74 03 7D -R 00 00 01 00 02 04 01 00 -T 70 00 00 00 B4 20 08 -R 00 00 01 00 -T 73 00 00 00 -R 00 00 01 00 -T 73 00 00 00 21 00 00 22 00 00 00 00 18 12 -R 00 00 01 00 00 08 02 00 -T 7B 00 00 00 -R 00 00 01 00 -T 7B 00 00 00 DD 6E 02 DD 66 03 36 00 DD 6E 02 -R 00 00 01 00 -T 86 00 00 00 DD 66 03 23 22 00 00 00 00 -R 00 00 01 00 00 09 02 00 -T 8D 00 00 00 -R 00 00 01 00 -T 8D 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 -T 93 00 00 00 -R 00 00 01 00 -T 93 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcl/strtol.rel b/lib/relcl/strtol.rel deleted file mode 100644 index a4566f69..00000000 --- a/lib/relcl/strtol.rel +++ /dev/null @@ -1,84 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_32_L09 Ref00000000 -S strtoul Ref00000000 -S __ctype Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?L_NEG_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size A3 flags 0 -S strtol Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF AF DD 77 FC -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 DD 77 FD DD 6E 02 DD 66 03 DD 75 -R 00 00 01 00 -T 14 00 00 00 FE DD 74 FF -R 00 00 01 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 DD 6E FE DD 66 FF 4E 06 00 21 -R 00 00 01 00 -T 22 00 00 00 00 00 00 00 09 7E E6 10 28 0A -R 00 00 01 00 02 04 03 00 -T 2A 00 00 00 -R 00 00 01 00 -T 2A 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 18 E4 -R 00 00 01 00 -T 34 00 00 00 -R 00 00 01 00 -T 34 00 00 00 DD 6E FE DD 66 FF 7E FE 2D 20 12 -R 00 00 01 00 -T 3F 00 00 00 -R 00 00 01 00 -T 3F 00 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 18 13 -R 00 00 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 DD 6E FE DD 66 FF 7E FE 2B 20 08 -R 00 00 01 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 DD 6E 08 DD 66 09 E5 DD 4E 04 DD -R 00 00 01 00 -T 6F 00 00 00 46 05 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 78 00 00 00 00 00 00 00 F1 DD 75 F8 DD 74 F9 -R 00 00 01 00 02 04 02 00 -T 81 00 00 00 DD 71 FA DD 70 FB DD 7E FC DD B6 -R 00 00 01 00 -T 8C 00 00 00 FD 28 05 CD 00 00 00 00 18 0C -R 00 00 01 00 02 08 05 00 -T 94 00 00 00 -R 00 00 01 00 -T 94 00 00 00 DD 4E FA DD 46 FB DD 6E F8 DD 66 -R 00 00 01 00 -T 9F 00 00 00 F9 -R 00 00 01 00 -T A0 00 00 00 -R 00 00 01 00 -T A0 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relcl/strtoul.rel b/lib/relcl/strtoul.rel deleted file mode 100644 index 84f9e2f1..00000000 --- a/lib/relcl/strtoul.rel +++ /dev/null @@ -1,218 +0,0 @@ -XL4 -H 2 areas A global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?L_MULASG_L03 Ref00000000 -S ?LEAVE_32_L09 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?L_ADDASG_L03 Ref00000000 -S __ctype Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1DD flags 0 -S strtoul Def00000086 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 36 FE FF -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 DD 36 FF FF DD 5E 02 16 00 21 -R 00 00 01 00 -T 13 00 00 00 00 00 00 00 19 7E E6 08 28 0F -R 00 00 01 00 02 04 05 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 DD 4E 02 06 00 21 D0 FF 09 DD 75 -R 00 00 01 00 -T 26 00 00 00 FE DD 74 FF -R 00 00 01 00 -T 2A 00 00 00 -R 00 00 01 00 -T 2A 00 00 00 DD 4E 02 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 05 00 -T 33 00 00 00 7E E6 04 28 0F -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 DD 4E 02 06 00 21 A9 FF 09 DD 75 -R 00 00 01 00 -T 43 00 00 00 FE DD 74 FF -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 DD 4E 02 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 05 00 -T 50 00 00 00 7E E6 02 28 0F -R 00 00 01 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 DD 4E 02 06 00 21 B0 FF 09 DD 75 -R 00 00 01 00 -T 60 00 00 00 FE DD 74 FF -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 -R 00 00 01 00 -T 6F 00 00 00 FF CD 00 00 00 00 38 08 -R 00 00 01 00 02 06 07 00 -T 75 00 00 00 -R 00 00 01 00 -T 75 00 00 00 DD 36 FE FF DD 36 FF FF -R 00 00 01 00 -T 7D 00 00 00 -R 00 00 01 00 -T 7D 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 86 00 00 00 -R 00 00 01 00 -T 86 00 00 00 CD 00 00 00 00 FA FF 11 02 80 DD -R 00 00 01 00 02 05 06 00 -T 8F 00 00 00 6E 08 DD 66 09 3E 80 AC 67 ED 52 -R 00 00 01 00 -T 9A 00 00 00 38 0E DD 4E 08 DD 46 09 21 24 00 -R 00 00 01 00 -T A5 00 00 00 CD 00 00 00 00 30 07 -R 00 00 01 00 02 05 07 00 -T AA 00 00 00 -R 00 00 01 00 -T AA 00 00 00 -R 00 00 01 00 -T AA 00 00 00 -R 00 00 01 00 -T AA 00 00 00 AF DD 77 08 DD 77 09 -R 00 00 01 00 -T B1 00 00 00 -R 00 00 01 00 -T B1 00 00 00 -R 00 00 01 00 -T B1 00 00 00 DD 6E 02 DD 66 03 4E 06 00 21 -R 00 00 01 00 -T BB 00 00 00 00 00 00 00 09 7E E6 10 28 0A -R 00 00 01 00 02 04 05 00 -T C3 00 00 00 -R 00 00 01 00 -T C3 00 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T CB 00 00 00 -R 00 00 01 00 -T CB 00 00 00 18 E4 -R 00 00 01 00 -T CD 00 00 00 -R 00 00 01 00 -T CD 00 00 00 DD 6E 02 DD 66 03 7E FE 2B 20 0A -R 00 00 01 00 -T D8 00 00 00 -R 00 00 01 00 -T D8 00 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T E0 00 00 00 -R 00 00 01 00 -T E0 00 00 00 18 6D -R 00 00 01 00 -T E2 00 00 00 -R 00 00 01 00 -T E2 00 00 00 DD 7E 08 DD B6 09 20 65 DD 6E 02 -R 00 00 01 00 -T ED 00 00 00 DD 66 03 7E FE 30 20 5A -R 00 00 01 00 -T F5 00 00 00 -R 00 00 01 00 -T F5 00 00 00 -R 00 00 01 00 -T F5 00 00 00 -R 00 00 01 00 -T F5 00 00 00 DD 6E 02 DD 66 03 23 7E EE 20 FE -R 00 00 01 00 -T 00 01 00 00 58 20 17 -R 00 00 01 00 -T 03 01 00 00 -R 00 00 01 00 -T 03 01 00 00 DD 36 08 10 DD 36 09 00 21 08 00 -R 00 00 01 00 -T 0E 01 00 00 39 7E C6 02 77 23 7E CE 00 77 18 -R 00 00 01 00 -T 19 01 00 00 35 -R 00 00 01 00 -T 1A 01 00 00 -R 00 00 01 00 -T 1A 01 00 00 DD 6E 02 DD 66 03 23 7E EE 20 FE -R 00 00 01 00 -T 25 01 00 00 42 20 17 -R 00 00 01 00 -T 28 01 00 00 -R 00 00 01 00 -T 28 01 00 00 DD 36 08 02 DD 36 09 00 21 08 00 -R 00 00 01 00 -T 33 01 00 00 39 7E C6 02 77 23 7E CE 00 77 18 -R 00 00 01 00 -T 3E 01 00 00 10 -R 00 00 01 00 -T 3F 01 00 00 -R 00 00 01 00 -T 3F 01 00 00 DD 36 08 08 DD 36 09 00 DD 34 02 -R 00 00 01 00 -T 4A 01 00 00 20 03 DD 34 03 -R 00 00 01 00 -T 4F 01 00 00 -R 00 00 01 00 -T 4F 01 00 00 -R 00 00 01 00 -T 4F 01 00 00 -R 00 00 01 00 -T 4F 01 00 00 -R 00 00 01 00 -T 4F 01 00 00 -R 00 00 01 00 -T 4F 01 00 00 DD 7E 08 DD B6 09 20 08 -R 00 00 01 00 -T 57 01 00 00 -R 00 00 01 00 -T 57 01 00 00 DD 36 08 0A DD 36 09 00 -R 00 00 01 00 -T 5F 01 00 00 -R 00 00 01 00 -T 5F 01 00 00 AF DD 77 FA DD 77 FB DD 77 FC DD -R 00 00 01 00 -T 6A 01 00 00 77 FD -R 00 00 01 00 -T 6C 01 00 00 -R 00 00 01 00 -T 6C 01 00 00 DD 4E 08 DD 46 09 DD 6E 02 DD 66 -R 00 00 01 00 -T 77 01 00 00 03 5E CD 00 00 00 00 DD 75 FE DD -R 00 00 01 00 00 07 01 00 -T 80 01 00 00 74 FF 7D A4 3C 28 2E -R 00 00 01 00 -T 87 01 00 00 -R 00 00 01 00 -T 87 01 00 00 21 00 00 39 DD 5E 08 DD 56 09 7A -R 00 00 01 00 -T 92 01 00 00 07 9F 4F 41 CD 00 00 00 00 21 -R 00 00 01 00 02 09 01 00 -T 9A 01 00 00 00 00 39 DD 5E FE DD 56 FF 7A 07 -R 00 00 01 00 -T A5 01 00 00 9F 4F 41 CD 00 00 00 00 DD 34 02 -R 00 00 01 00 02 08 04 00 -T AE 01 00 00 20 03 DD 34 03 -R 00 00 01 00 -T B3 01 00 00 -R 00 00 01 00 -T B3 01 00 00 18 B7 -R 00 00 01 00 -T B5 01 00 00 -R 00 00 01 00 -T B5 01 00 00 DD 7E 04 DD B6 05 28 11 -R 00 00 01 00 -T BD 01 00 00 -R 00 00 01 00 -T BD 01 00 00 DD 6E 02 DD 66 03 E5 DD 6E 04 DD -R 00 00 01 00 -T C8 01 00 00 66 05 C1 71 23 70 -R 00 00 01 00 -T CE 01 00 00 -R 00 00 01 00 -T CE 01 00 00 DD 4E FC DD 46 FD DD 6E FA DD 66 -R 00 00 01 00 -T D9 01 00 00 FB C3 00 00 00 00 -R 00 00 01 00 02 06 02 00 diff --git a/lib/relcl/system.rel b/lib/relcl/system.rel deleted file mode 100644 index a155b69b..00000000 --- a/lib/relcl/system.rel +++ /dev/null @@ -1,140 +0,0 @@ -XL4 -H 5 areas B global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S execve Ref00000000 -S environ Ref00000000 -S abort Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S waitpid Ref00000000 -S fork Ref00000000 -S signal Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 131 flags 0 -S system Def00000000 -A CSTR size E flags 0 -A IDATA0 size 8 flags 0 -A CDATA0 size 8 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F2 FF DD 36 FE FF -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 DD 36 FF FF DD 7E 02 DD B6 03 20 -R 00 00 01 00 -T 14 00 00 00 06 -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 21 01 00 C3 2E 01 00 00 -R 00 00 01 00 00 08 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 21 00 00 E5 21 01 00 E5 11 03 00 -R 00 00 01 00 -T 26 00 00 00 CD 00 00 00 00 F1 F1 DD 75 F2 DD -R 00 00 01 00 02 05 08 00 -T 2F 00 00 00 74 F3 DD 71 F4 DD 70 F5 21 00 00 -R 00 00 01 00 -T 3A 00 00 00 E5 21 01 00 E5 11 02 00 CD -R 00 00 01 00 -T 43 00 00 00 00 00 00 00 F1 F1 DD 75 F6 DD 74 -R 00 00 01 00 02 04 08 00 -T 4C 00 00 00 F7 DD 71 F8 DD 70 F9 CD -R 00 00 01 00 -T 54 00 00 00 00 00 00 00 DD 75 FC DD 74 FD CB -R 00 00 01 00 02 04 07 00 -T 5D 00 00 00 7C 28 03 -R 00 00 01 00 -T 60 00 00 00 -R 00 00 01 00 -T 60 00 00 00 C3 FC 00 00 00 -R 00 00 01 00 00 05 01 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 DD 7E FC DD B6 FD 20 3A -R 00 00 01 00 -T 6B 00 00 00 -R 00 00 01 00 -T 6B 00 00 00 21 00 00 E5 21 00 00 E5 11 03 00 -R 00 00 01 00 -T 76 00 00 00 CD 00 00 00 00 F1 F1 21 00 00 E5 -R 00 00 01 00 02 05 08 00 -T 7F 00 00 00 21 00 00 E5 11 02 00 CD -R 00 00 01 00 -T 87 00 00 00 00 00 00 00 F1 F1 DD 6E 02 DD 66 -R 00 00 01 00 02 04 08 00 -T 90 00 00 00 03 22 04 00 00 00 2A 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 02 00 -T 97 00 00 00 E5 01 00 00 00 00 11 06 00 00 00 -R 00 00 01 00 00 06 03 00 00 0B 02 00 -T 9E 00 00 00 CD 00 00 00 00 F1 CD 00 00 00 00 -R 00 00 01 00 02 05 01 00 02 0B 03 00 -T A5 00 00 00 -R 00 00 01 00 -T A5 00 00 00 21 00 00 E5 21 01 00 E5 11 03 00 -R 00 00 01 00 -T B0 00 00 00 CD 00 00 00 00 F1 F1 21 00 00 E5 -R 00 00 01 00 02 05 08 00 -T B9 00 00 00 21 01 00 E5 11 02 00 CD -R 00 00 01 00 -T C1 00 00 00 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 -T C5 00 00 00 -R 00 00 01 00 -T C5 00 00 00 21 00 00 E5 21 0E 00 39 4D 44 11 -R 00 00 01 00 -T D0 00 00 00 FF FF CD 00 00 00 00 F1 DD 75 FA -R 00 00 01 00 02 07 06 00 -T D9 00 00 00 DD 74 FB 7D A4 3C 20 0A -R 00 00 01 00 -T E1 00 00 00 -R 00 00 01 00 -T E1 00 00 00 DD 36 FE FF DD 36 FF FF 18 11 -R 00 00 01 00 -T EB 00 00 00 -R 00 00 01 00 -T EB 00 00 00 DD 6E FC DD 66 FD DD 4E FA DD 46 -R 00 00 01 00 -T F6 00 00 00 FB A7 ED 42 20 C9 -R 00 00 01 00 -T FC 00 00 00 -R 00 00 01 00 -T FC 00 00 00 -R 00 00 01 00 -T FC 00 00 00 DD 6E F4 DD 66 F5 E5 DD 6E F2 DD -R 00 00 01 00 -T 07 01 00 00 66 F3 E5 11 03 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T 10 01 00 00 F1 F1 DD 6E F8 DD 66 F9 E5 DD 6E -R 00 00 01 00 -T 1B 01 00 00 F6 DD 66 F7 E5 11 02 00 CD -R 00 00 01 00 -T 24 01 00 00 00 00 00 00 F1 F1 DD 6E FE DD 66 -R 00 00 01 00 02 04 08 00 -T 2D 01 00 00 FF -R 00 00 01 00 -T 2E 01 00 00 -R 00 00 01 00 -T 2E 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 73 68 00 -R 00 00 02 00 -T 03 00 00 00 -R 00 00 02 00 -T 03 00 00 00 2D 63 00 -R 00 00 02 00 -T 06 00 00 00 -R 00 00 02 00 -T 06 00 00 00 2F 62 69 6E 2F 73 68 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 00 00 00 00 03 00 00 00 00 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 06 00 00 00 00 00 -R 00 00 04 00 diff --git a/lib/relcl/termcap.rel b/lib/relcl/termcap.rel deleted file mode 100644 index 2ed474ff..00000000 --- a/lib/relcl/termcap.rel +++ /dev/null @@ -1,1381 +0,0 @@ -XL4 -H 6 areas 21 global symbols -S ?S_LSHASG_L02 Ref00000000 -S ?CL64180L_4_06_L00 Ref00000000 -S ?S_MULASG_L02 Ref00000000 -S getenv Ref00000000 -S _write Ref00000000 -S memcpy Ref00000000 -S lseek Ref00000000 -S close Ref00000000 -S strlen Ref00000000 -S strcmp Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S realloc Ref00000000 -S free Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S strcpy Ref00000000 -S ?CALL_IND_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S atoi Ref00000000 -S ?SS_DIVASG_L02 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S open Ref00000000 -S malloc Ref00000000 -S exit Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size CD6 flags 0 -S tputs Def000003B7 -S tgetnum Def000000BD -S tgetstr Def00000129 -S tgetflag Def000000F6 -S tgetent Def00000517 -A CSTR size 37 flags 0 -A UDATA0 size 7 flags 0 -S ospeed Def00000002 -S tputs_baud_rate Def00000004 -S PC Def00000006 -A IDATA0 size 3C flags 0 -A CDATA0 size 3C flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 21 19 00 E5 01 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 09 00 00 00 11 02 00 CD 00 00 00 00 F1 11 -R 00 00 01 00 02 08 04 00 -T 11 00 00 00 01 00 CD 00 00 00 00 D1 C1 C9 -R 00 00 01 00 02 07 16 00 -T 19 00 00 00 -R 00 00 01 00 -T 19 00 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 10 00 -T 22 00 00 00 56 03 CD 00 00 00 00 DD 75 FE DD -R 00 00 01 00 02 07 15 00 -T 2B 00 00 00 74 FF 7D B4 20 03 -R 00 00 01 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 05 01 00 -T 34 00 00 00 -R 00 00 01 00 -T 34 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 0A 00 -T 3D 00 00 00 -R 00 00 01 00 -T 3D 00 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 10 00 -T 46 00 00 00 56 03 CD 00 00 00 00 DD 75 FE DD -R 00 00 01 00 02 07 0B 00 -T 4F 00 00 00 74 FF 7D B4 20 03 -R 00 00 01 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 05 01 00 -T 58 00 00 00 -R 00 00 01 00 -T 58 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 0A 00 -T 61 00 00 00 -R 00 00 01 00 -T 61 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 0D 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 DD 6E 02 DD 66 03 AF B6 28 49 -R 00 00 01 00 -T 6E 00 00 00 -R 00 00 01 00 -T 6E 00 00 00 DD 6E 02 DD 66 03 7E FE 3A 20 34 -R 00 00 01 00 -T 79 00 00 00 DD 6E 04 DD 66 05 E5 DD 6E 02 DD -R 00 00 01 00 -T 84 00 00 00 66 03 23 7E E1 BE 20 21 DD 6E 04 -R 00 00 01 00 -T 8F 00 00 00 DD 66 05 23 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 9A 00 00 00 23 23 7E E1 BE 20 0C -R 00 00 01 00 -T A1 00 00 00 -R 00 00 01 00 -T A1 00 00 00 -R 00 00 01 00 -T A1 00 00 00 -R 00 00 01 00 -T A1 00 00 00 21 04 00 DD 4E 02 DD 46 03 09 18 -R 00 00 01 00 -T AC 00 00 00 0D -R 00 00 01 00 -T AD 00 00 00 -R 00 00 01 00 -T AD 00 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T B5 00 00 00 -R 00 00 01 00 -T B5 00 00 00 18 AD -R 00 00 01 00 -T B7 00 00 00 -R 00 00 01 00 -T B7 00 00 00 21 00 00 -R 00 00 01 00 -T BA 00 00 00 -R 00 00 01 00 -T BA 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T BD 00 00 00 -R 00 00 01 00 -T BD 00 00 00 CD 00 00 00 00 FE FF DD 4E 02 DD -R 00 00 01 00 02 05 10 00 -T C6 00 00 00 46 03 ED 5B 00 00 00 00 CD -R 00 00 01 00 00 08 03 00 -T CD 00 00 00 61 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 00 04 01 00 -T D6 00 00 00 B4 28 0C DD 6E FE DD 66 FF 2B 7E -R 00 00 01 00 -T E1 00 00 00 FE 23 28 05 -R 00 00 01 00 -T E5 00 00 00 -R 00 00 01 00 -T E5 00 00 00 -R 00 00 01 00 -T E5 00 00 00 -R 00 00 01 00 -T E5 00 00 00 21 FF FF 18 09 -R 00 00 01 00 -T EA 00 00 00 -R 00 00 01 00 -T EA 00 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 11 00 -T F3 00 00 00 -R 00 00 01 00 -T F3 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T F6 00 00 00 -R 00 00 01 00 -T F6 00 00 00 CD 00 00 00 00 FE FF DD 4E 02 DD -R 00 00 01 00 02 05 10 00 -T FF 00 00 00 46 03 ED 5B 00 00 00 00 CD -R 00 00 01 00 00 08 03 00 -T 06 01 00 00 61 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 00 04 01 00 -T 0F 01 00 00 B4 28 11 DD 6E FE DD 66 FF 2B 7E -R 00 00 01 00 -T 1A 01 00 00 FE 3A 20 05 21 01 00 18 03 -R 00 00 01 00 -T 23 01 00 00 -R 00 00 01 00 -T 23 01 00 00 21 00 00 -R 00 00 01 00 -T 26 01 00 00 -R 00 00 01 00 -T 26 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T 29 01 00 00 -R 00 00 01 00 -T 29 01 00 00 CD 00 00 00 00 FE FF DD 4E 02 DD -R 00 00 01 00 02 05 10 00 -T 32 01 00 00 46 03 ED 5B 00 00 00 00 CD -R 00 00 01 00 00 08 03 00 -T 39 01 00 00 61 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 00 04 01 00 -T 42 01 00 00 B4 28 18 DD 6E FE DD 66 FF 2B 7E -R 00 00 01 00 -T 4D 01 00 00 FE 3D 28 11 DD 6E FE DD 66 FF 2B -R 00 00 01 00 -T 58 01 00 00 7E FE 7E 28 05 -R 00 00 01 00 -T 5D 01 00 00 -R 00 00 01 00 -T 5D 01 00 00 -R 00 00 01 00 -T 5D 01 00 00 -R 00 00 01 00 -T 5D 01 00 00 -R 00 00 01 00 -T 5D 01 00 00 -R 00 00 01 00 -T 5D 01 00 00 21 00 00 18 0F -R 00 00 01 00 -T 62 01 00 00 -R 00 00 01 00 -T 62 01 00 00 DD 4E 04 DD 46 05 DD 5E FE DD 56 -R 00 00 01 00 -T 6D 01 00 00 FF CD 74 01 00 00 -R 00 00 01 00 00 06 01 00 -T 71 01 00 00 -R 00 00 01 00 -T 71 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T 74 01 00 00 -R 00 00 01 00 -T 74 01 00 00 CD 00 00 00 00 F4 FF DD 7E 02 DD -R 00 00 01 00 02 05 10 00 -T 7D 01 00 00 B6 03 20 06 -R 00 00 01 00 -T 81 01 00 00 -R 00 00 01 00 -T 81 01 00 00 21 00 00 C3 B4 03 00 00 -R 00 00 01 00 00 08 01 00 -T 87 01 00 00 -R 00 00 01 00 -T 87 01 00 00 DD 7E 04 DD B6 05 20 59 -R 00 00 01 00 -T 8F 01 00 00 -R 00 00 01 00 -T 8F 01 00 00 DD 6E 02 DD 66 03 DD 75 F4 DD 74 -R 00 00 01 00 -T 9A 01 00 00 F5 -R 00 00 01 00 -T 9B 01 00 00 -R 00 00 01 00 -T 9B 01 00 00 DD 6E F4 DD 66 F5 23 DD 75 F4 DD -R 00 00 01 00 -T A6 01 00 00 74 F5 2B 4E 06 00 DD 71 F8 DD 70 -R 00 00 01 00 -T B1 01 00 00 F9 79 B0 28 16 3E 3A DD AE F8 DD -R 00 00 01 00 -T BC 01 00 00 B6 F9 28 0C 3E 0A DD AE F8 DD B6 -R 00 00 01 00 -T C7 01 00 00 F9 28 02 -R 00 00 01 00 -T CA 01 00 00 -R 00 00 01 00 -T CA 01 00 00 -R 00 00 01 00 -T CA 01 00 00 -R 00 00 01 00 -T CA 01 00 00 18 CF -R 00 00 01 00 -T CC 01 00 00 -R 00 00 01 00 -T CC 01 00 00 DD 4E 02 DD 46 03 DD 6E F4 DD 66 -R 00 00 01 00 -T D7 01 00 00 F5 A7 ED 42 EB 13 CD 19 00 00 00 -R 00 00 01 00 00 0B 01 00 -T E0 01 00 00 DD 75 FE DD 74 FF 18 10 -R 00 00 01 00 -T E8 01 00 00 -R 00 00 01 00 -T E8 01 00 00 DD 6E 04 DD 66 05 46 23 66 68 DD -R 00 00 01 00 -T F3 01 00 00 75 FE DD 74 FF -R 00 00 01 00 -T F8 01 00 00 -R 00 00 01 00 -T F8 01 00 00 DD 6E 02 DD 66 03 DD 75 F4 DD 74 -R 00 00 01 00 -T 03 02 00 00 F5 DD 6E FE DD 66 FF DD 75 F6 DD -R 00 00 01 00 -T 0E 02 00 00 74 F7 -R 00 00 01 00 -T 10 02 00 00 -R 00 00 01 00 -T 10 02 00 00 DD 6E F4 DD 66 F5 23 DD 75 F4 DD -R 00 00 01 00 -T 1B 02 00 00 74 F5 2B 4E 06 00 DD 71 F8 DD 70 -R 00 00 01 00 -T 26 02 00 00 F9 79 B0 CA 8C 03 00 00 3E 3A DD -R 00 00 01 00 00 08 01 00 -T 2F 02 00 00 AE F8 DD B6 F9 CA 8C 03 00 00 3E -R 00 00 01 00 00 0A 01 00 -T 38 02 00 00 0A DD AE F8 DD B6 F9 CA -R 00 00 01 00 -T 40 02 00 00 8C 03 00 00 -R 00 00 01 00 00 04 01 00 -T 42 02 00 00 -R 00 00 01 00 -T 42 02 00 00 -R 00 00 01 00 -T 42 02 00 00 -R 00 00 01 00 -T 42 02 00 00 3E 5E DD AE F8 DD B6 F9 20 1D -R 00 00 01 00 -T 4C 02 00 00 -R 00 00 01 00 -T 4C 02 00 00 DD 6E F4 DD 66 F5 23 DD 75 F4 DD -R 00 00 01 00 -T 57 02 00 00 74 F5 2B 7E E6 1F 4F 06 00 DD 71 -R 00 00 01 00 -T 62 02 00 00 F8 DD 70 F9 C3 77 03 00 00 -R 00 00 01 00 00 09 01 00 -T 69 02 00 00 -R 00 00 01 00 -T 69 02 00 00 3E 5C DD AE F8 DD B6 F9 C2 -R 00 00 01 00 -T 72 02 00 00 77 03 00 00 -R 00 00 01 00 00 04 01 00 -T 74 02 00 00 -R 00 00 01 00 -T 74 02 00 00 DD 6E F4 DD 66 F5 23 DD 75 F4 DD -R 00 00 01 00 -T 7F 02 00 00 74 F5 2B 4E 06 00 DD 71 F8 DD 70 -R 00 00 01 00 -T 8A 02 00 00 F9 11 30 80 69 60 3E 80 AC 67 ED -R 00 00 01 00 -T 95 02 00 00 52 DA 2A 03 00 00 DD 4E F8 DD 46 -R 00 00 01 00 00 06 01 00 -T 9E 02 00 00 F9 21 37 00 CD 00 00 00 00 DA -R 00 00 01 00 02 09 13 00 -T A6 02 00 00 2A 03 00 00 -R 00 00 01 00 00 04 01 00 -T A8 02 00 00 -R 00 00 01 00 -T A8 02 00 00 -R 00 00 01 00 -T A8 02 00 00 -R 00 00 01 00 -T A8 02 00 00 21 04 00 39 7E D6 30 77 23 7E DE -R 00 00 01 00 -T B3 02 00 00 00 77 AF DD 77 FA DD 77 FB -R 00 00 01 00 -T BC 02 00 00 -R 00 00 01 00 -T BC 02 00 00 DD 6E FA DD 66 FB 23 DD 75 FA DD -R 00 00 01 00 -T C7 02 00 00 74 FB 01 03 80 3E 80 AC 67 ED 42 -R 00 00 01 00 -T D2 02 00 00 30 54 DD 6E F4 DD 66 F5 4E 06 00 -R 00 00 01 00 -T DD 02 00 00 DD 71 FC DD 70 FD 69 60 01 30 80 -R 00 00 01 00 -T E8 02 00 00 3E 80 AC 67 ED 42 38 38 DD 4E FC -R 00 00 01 00 -T F3 02 00 00 DD 46 FD 21 37 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 13 00 -T FC 02 00 00 38 2A -R 00 00 01 00 -T FE 02 00 00 -R 00 00 01 00 -T FE 02 00 00 -R 00 00 01 00 -T FE 02 00 00 -R 00 00 01 00 -T FE 02 00 00 21 04 00 39 06 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 07 03 00 00 21 D0 FF DD 4E FC DD 46 FD 09 4D -R 00 00 01 00 -T 12 03 00 00 44 21 04 00 39 7E 81 77 23 7E 88 -R 00 00 01 00 -T 1D 03 00 00 77 DD 34 F4 20 03 DD 34 F5 -R 00 00 01 00 -T 26 03 00 00 -R 00 00 01 00 -T 26 03 00 00 18 94 -R 00 00 01 00 -T 28 03 00 00 -R 00 00 01 00 -T 28 03 00 00 18 4D -R 00 00 01 00 -T 2A 03 00 00 -R 00 00 01 00 -T 2A 03 00 00 01 40 80 DD 6E F8 DD 66 F9 3E 80 -R 00 00 01 00 -T 35 03 00 00 AC 67 ED 42 38 3C 01 80 80 DD 6E -R 00 00 01 00 -T 40 03 00 00 F8 DD 66 F9 3E 80 AC 67 ED 42 30 -R 00 00 01 00 -T 4B 03 00 00 2B -R 00 00 01 00 -T 4C 03 00 00 -R 00 00 01 00 -T 4C 03 00 00 -R 00 00 01 00 -T 4C 03 00 00 -R 00 00 01 00 -T 4C 03 00 00 DD 7E F8 E6 DF 6F DD 7E F9 E6 FF -R 00 00 01 00 -T 57 03 00 00 67 01 C0 FF FF FF 09 4E 06 00 DD -R 00 00 01 00 00 06 04 00 -T 60 03 00 00 71 FC DD 70 FD 3E 20 A9 B0 28 0C -R 00 00 01 00 -T 6B 03 00 00 -R 00 00 01 00 -T 6B 03 00 00 DD 6E FC DD 66 FD DD 75 F8 DD 74 -R 00 00 01 00 -T 76 03 00 00 F9 -R 00 00 01 00 -T 77 03 00 00 -R 00 00 01 00 -T 77 03 00 00 -R 00 00 01 00 -T 77 03 00 00 -R 00 00 01 00 -T 77 03 00 00 -R 00 00 01 00 -T 77 03 00 00 -R 00 00 01 00 -T 77 03 00 00 DD 46 F8 DD 6E F6 DD 66 F7 23 DD -R 00 00 01 00 -T 82 03 00 00 75 F6 DD 74 F7 2B 70 C3 -R 00 00 01 00 -T 8A 03 00 00 10 02 00 00 -R 00 00 01 00 00 04 01 00 -T 8C 03 00 00 -R 00 00 01 00 -T 8C 03 00 00 DD 6E F6 DD 66 F7 36 00 DD 7E 04 -R 00 00 01 00 -T 97 03 00 00 DD B6 05 28 12 -R 00 00 01 00 -T 9C 03 00 00 -R 00 00 01 00 -T 9C 03 00 00 DD 6E F6 DD 66 F7 23 E5 DD 6E 04 -R 00 00 01 00 -T A7 03 00 00 DD 66 05 C1 71 23 70 -R 00 00 01 00 -T AE 03 00 00 -R 00 00 01 00 -T AE 03 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 -T B4 03 00 00 -R 00 00 01 00 -T B4 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T B7 03 00 00 -R 00 00 01 00 -T B7 03 00 00 CD 00 00 00 00 FE FF AF DD 77 FE -R 00 00 01 00 02 05 10 00 -T C0 03 00 00 DD 77 FF DD 7E 02 DD B6 03 20 03 -R 00 00 01 00 -T CB 03 00 00 -R 00 00 01 00 -T CB 03 00 00 C3 14 05 00 00 -R 00 00 01 00 00 05 01 00 -T CE 03 00 00 -R 00 00 01 00 -T CE 03 00 00 -R 00 00 01 00 -T CE 03 00 00 DD 6E 02 DD 66 03 7E FE 30 38 39 -R 00 00 01 00 -T D9 03 00 00 DD 6E 02 DD 66 03 3E 39 BE 38 2E -R 00 00 01 00 -T E4 03 00 00 -R 00 00 01 00 -T E4 03 00 00 -R 00 00 01 00 -T E4 03 00 00 -R 00 00 01 00 -T E4 03 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T EF 03 00 00 74 03 2B 4E 06 00 21 D0 FF 09 4D -R 00 00 01 00 -T FA 03 00 00 44 21 00 00 39 7E 81 77 23 7E 88 -R 00 00 01 00 -T 05 04 00 00 77 21 00 00 39 01 0A 00 CD -R 00 00 01 00 -T 0E 04 00 00 00 00 00 00 18 BC -R 00 00 01 00 02 04 02 00 -T 12 04 00 00 -R 00 00 01 00 -T 12 04 00 00 DD 6E 02 DD 66 03 7E FE 2E 20 2A -R 00 00 01 00 -T 1D 04 00 00 -R 00 00 01 00 -T 1D 04 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T 25 04 00 00 -R 00 00 01 00 -T 25 04 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T 30 04 00 00 74 03 2B 4E 06 00 21 D0 FF 09 4D -R 00 00 01 00 -T 3B 04 00 00 44 21 00 00 39 7E 81 77 23 7E 88 -R 00 00 01 00 -T 46 04 00 00 77 -R 00 00 01 00 -T 47 04 00 00 -R 00 00 01 00 -T 47 04 00 00 DD 6E 02 DD 66 03 7E FE 2A 20 15 -R 00 00 01 00 -T 52 04 00 00 -R 00 00 01 00 -T 52 04 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T 5A 04 00 00 -R 00 00 01 00 -T 5A 04 00 00 21 00 00 39 DD 4E 04 DD 46 05 CD -R 00 00 01 00 -T 65 04 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 -T 67 04 00 00 -R 00 00 01 00 -T 67 04 00 00 -R 00 00 01 00 -T 67 04 00 00 DD 6E 02 DD 66 03 AF B6 28 1C -R 00 00 01 00 -T 71 04 00 00 -R 00 00 01 00 -T 71 04 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T 7C 04 00 00 74 03 2B 5E 16 00 DD 6E 08 DD 66 -R 00 00 01 00 -T 87 04 00 00 09 CD 00 00 00 00 18 DA -R 00 00 01 00 02 06 0F 00 -T 8D 04 00 00 -R 00 00 01 00 -T 8D 04 00 00 2A 02 00 00 00 29 01 1C 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 04 00 -T 94 04 00 00 09 4E 23 46 21 00 00 39 CD -R 00 00 01 00 -T 9D 04 00 00 00 00 00 00 21 00 00 39 7E C6 F4 -R 00 00 01 00 02 04 02 00 -T A6 04 00 00 77 23 7E CE 01 77 21 00 00 39 01 -R 00 00 01 00 -T B1 04 00 00 E8 03 CD 00 00 00 00 2A -R 00 00 01 00 02 07 12 00 -T B7 04 00 00 02 00 00 00 29 01 1C 00 00 00 09 -R 00 00 01 00 00 04 03 00 00 0A 04 00 -T BE 04 00 00 23 CB 7E 28 14 -R 00 00 01 00 -T C3 04 00 00 -R 00 00 01 00 -T C3 04 00 00 DD 4E FE DD 46 FF A7 21 00 00 ED -R 00 00 01 00 -T CE 04 00 00 42 DD 75 FE DD 74 FF 18 16 -R 00 00 01 00 -T D7 04 00 00 -R 00 00 01 00 -T D7 04 00 00 21 00 00 39 7E C6 32 77 30 02 23 -R 00 00 01 00 -T E2 04 00 00 34 -R 00 00 01 00 -T E3 04 00 00 -R 00 00 01 00 -T E3 04 00 00 21 00 00 39 01 64 00 CD -R 00 00 01 00 -T EB 04 00 00 00 00 00 00 -R 00 00 01 00 02 04 12 00 -T ED 04 00 00 -R 00 00 01 00 -T ED 04 00 00 -R 00 00 01 00 -T ED 04 00 00 DD 4E FE DD 46 FF 0B DD 71 FE DD -R 00 00 01 00 -T F8 04 00 00 70 FF 03 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 13 00 -T 01 05 00 00 30 11 -R 00 00 01 00 -T 03 05 00 00 -R 00 00 01 00 -T 03 05 00 00 ED 5B 06 00 00 00 16 00 DD 6E 08 -R 00 00 01 00 00 06 03 00 -T 0C 05 00 00 DD 66 09 CD 00 00 00 00 18 D9 -R 00 00 01 00 02 08 0F 00 -T 14 05 00 00 -R 00 00 01 00 -T 14 05 00 00 -R 00 00 01 00 -T 14 05 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T 17 05 00 00 -R 00 00 01 00 -T 17 05 00 00 CD 00 00 00 00 E0 FF AF DD 77 F8 -R 00 00 01 00 02 05 10 00 -T 20 05 00 00 DD 77 F9 11 1A 00 00 00 CD -R 00 00 01 00 00 08 02 00 -T 27 05 00 00 00 00 00 00 DD 75 FA DD 74 FB AF -R 00 00 01 00 02 04 03 00 -T 30 05 00 00 DD 77 FC DD 77 FD 7D B4 20 06 -R 00 00 01 00 -T 3A 05 00 00 -R 00 00 01 00 -T 3A 05 00 00 21 FF FF C3 87 08 00 00 -R 00 00 01 00 00 08 01 00 -T 40 05 00 00 -R 00 00 01 00 -T 40 05 00 00 11 1F 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 02 00 02 0A 03 00 -T 47 05 00 00 75 E0 DD 74 E1 7D B4 28 11 DD 6E -R 00 00 01 00 -T 52 05 00 00 E0 DD 66 E1 AF B6 20 07 -R 00 00 01 00 -T 5A 05 00 00 -R 00 00 01 00 -T 5A 05 00 00 -R 00 00 01 00 -T 5A 05 00 00 -R 00 00 01 00 -T 5A 05 00 00 AF DD 77 E0 DD 77 E1 -R 00 00 01 00 -T 61 05 00 00 -R 00 00 01 00 -T 61 05 00 00 DD 7E E0 DD B6 E1 28 10 DD 6E E0 -R 00 00 01 00 -T 6C 05 00 00 DD 66 E1 7E FE 2F 20 05 21 01 00 -R 00 00 01 00 -T 77 05 00 00 18 03 -R 00 00 01 00 -T 79 05 00 00 -R 00 00 01 00 -T 79 05 00 00 21 00 00 -R 00 00 01 00 -T 7C 05 00 00 -R 00 00 01 00 -T 7C 05 00 00 DD 75 FE DD 74 FF DD 7E E0 DD B6 -R 00 00 01 00 -T 87 05 00 00 E1 28 75 DD 7E FE DD B6 FF 20 6D -R 00 00 01 00 -T 92 05 00 00 DD 4E FA DD 46 FB DD 5E 04 DD 56 -R 00 00 01 00 -T 9D 05 00 00 05 CD 00 00 00 00 7D B4 20 5A -R 00 00 01 00 02 06 09 00 -T A5 05 00 00 -R 00 00 01 00 -T A5 05 00 00 -R 00 00 01 00 -T A5 05 00 00 -R 00 00 01 00 -T A5 05 00 00 01 00 00 C5 01 27 00 00 00 DD 5E -R 00 00 01 00 00 09 02 00 -T AE 05 00 00 E0 DD 56 E1 CD 61 00 00 00 EB C1 -R 00 00 01 00 00 09 01 00 -T B7 05 00 00 CD 74 01 00 00 DD 75 F8 DD 74 F9 -R 00 00 01 00 00 05 01 00 -T C0 05 00 00 7D B4 20 28 -R 00 00 01 00 -T C4 05 00 00 -R 00 00 01 00 -T C4 05 00 00 DD 7E 02 DD B6 03 20 0E -R 00 00 01 00 -T CC 05 00 00 -R 00 00 01 00 -T CC 05 00 00 DD 6E E0 DD 66 E1 DD 75 02 DD 74 -R 00 00 01 00 -T D7 05 00 00 03 18 0F -R 00 00 01 00 -T DA 05 00 00 -R 00 00 01 00 -T DA 05 00 00 DD 4E E0 DD 46 E1 DD 5E 02 DD 56 -R 00 00 01 00 -T E5 05 00 00 03 CD 00 00 00 00 -R 00 00 01 00 02 06 0E 00 -T E9 05 00 00 -R 00 00 01 00 -T E9 05 00 00 C3 6B 08 00 00 -R 00 00 01 00 00 05 01 00 -T EC 05 00 00 -R 00 00 01 00 -T EC 05 00 00 DD 6E E0 DD 66 E1 DD 75 F6 DD 74 -R 00 00 01 00 -T F7 05 00 00 F7 AF DD 77 E0 DD 77 E1 -R 00 00 01 00 -T FF 05 00 00 -R 00 00 01 00 -T FF 05 00 00 DD 7E E0 DD B6 E1 28 08 DD 7E FE -R 00 00 01 00 -T 0A 06 00 00 DD B6 FF 20 08 -R 00 00 01 00 -T 0F 06 00 00 -R 00 00 01 00 -T 0F 06 00 00 -R 00 00 01 00 -T 0F 06 00 00 -R 00 00 01 00 -T 0F 06 00 00 DD 36 E0 2A 00 00 00 DD 36 E1 -R 00 00 01 00 09 07 02 00 -T 16 06 00 00 2A 00 00 00 -R 00 00 01 00 89 04 02 00 -T 17 06 00 00 -R 00 00 01 00 -T 17 06 00 00 21 00 00 E5 DD 6E E0 DD 66 E1 E5 -R 00 00 01 00 -T 22 06 00 00 CD 00 00 00 00 F1 F1 DD 75 E2 DD -R 00 00 01 00 02 05 14 00 -T 2B 06 00 00 74 E3 CB 7C 28 06 -R 00 00 01 00 -T 31 06 00 00 -R 00 00 01 00 -T 31 06 00 00 21 FF FF C3 87 08 00 00 -R 00 00 01 00 00 08 01 00 -T 37 06 00 00 -R 00 00 01 00 -T 37 06 00 00 DD 36 E6 00 DD 36 E7 08 DD 5E E6 -R 00 00 01 00 -T 42 06 00 00 DD 56 E7 13 CD 19 00 00 00 DD 75 -R 00 00 01 00 00 09 01 00 -T 4B 06 00 00 E4 DD 74 E5 DD 7E F8 DD B6 F9 28 -R 00 00 01 00 -T 56 06 00 00 08 DD 6E F8 DD 66 F9 18 06 -R 00 00 01 00 -T 5F 06 00 00 -R 00 00 01 00 -T 5F 06 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 -T 65 06 00 00 -R 00 00 01 00 -T 65 06 00 00 DD 75 F2 DD 74 F3 DD 7E 02 DD B6 -R 00 00 01 00 -T 70 06 00 00 03 20 2A -R 00 00 01 00 -T 73 06 00 00 -R 00 00 01 00 -T 73 06 00 00 DD 7E F8 DD B6 F9 28 0C DD 5E F6 -R 00 00 01 00 -T 7E 06 00 00 DD 56 F7 CD 00 00 00 00 23 18 06 -R 00 00 01 00 02 08 08 00 -T 87 06 00 00 -R 00 00 01 00 -T 87 06 00 00 DD 6E E6 DD 66 E7 -R 00 00 01 00 -T 8D 06 00 00 -R 00 00 01 00 -T 8D 06 00 00 DD 75 FC DD 74 FD EB CD -R 00 00 01 00 -T 95 06 00 00 19 00 00 00 DD 75 02 DD 74 03 -R 00 00 01 00 00 04 01 00 -T 9D 06 00 00 -R 00 00 01 00 -T 9D 06 00 00 DD 6E 02 DD 66 03 DD 75 EE DD 74 -R 00 00 01 00 -T A8 06 00 00 EF DD 7E F8 DD B6 F9 28 25 -R 00 00 01 00 -T B1 06 00 00 -R 00 00 01 00 -T B1 06 00 00 DD 4E F6 DD 46 F7 DD 5E 02 DD 56 -R 00 00 01 00 -T BC 06 00 00 03 CD 00 00 00 00 DD 5E F6 DD 56 -R 00 00 01 00 02 06 0E 00 -T C5 06 00 00 F7 CD 00 00 00 00 4D 44 21 0E 00 -R 00 00 01 00 02 06 08 00 -T CE 06 00 00 39 7E 81 77 23 7E 88 77 -R 00 00 01 00 -T D6 06 00 00 -R 00 00 01 00 -T D6 06 00 00 -R 00 00 01 00 -T D6 06 00 00 DD 7E F2 DD B6 F3 CA 30 08 00 00 -R 00 00 01 00 00 0B 01 00 -T DF 06 00 00 -R 00 00 01 00 -T DF 06 00 00 21 04 00 39 E5 DD 4E E2 DD 46 E3 -R 00 00 01 00 -T EA 06 00 00 DD 5E F2 DD 56 F3 CD 8A 08 00 00 -R 00 00 01 00 00 0B 01 00 -T F3 06 00 00 F1 7D B4 20 29 -R 00 00 01 00 -T F8 06 00 00 -R 00 00 01 00 -T F8 06 00 00 DD 5E E2 DD 56 E3 CD 00 00 00 00 -R 00 00 01 00 02 0B 07 00 -T 01 07 00 00 DD 5E E4 DD 56 E5 CD 00 00 00 00 -R 00 00 01 00 02 0B 0C 00 -T 0A 07 00 00 DD 7E FC DD B6 FD 28 09 -R 00 00 01 00 -T 12 07 00 00 -R 00 00 01 00 -T 12 07 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 0C 00 -T 1B 07 00 00 -R 00 00 01 00 -T 1B 07 00 00 21 00 00 C3 87 08 00 00 -R 00 00 01 00 00 08 01 00 -T 21 07 00 00 -R 00 00 01 00 -T 21 07 00 00 DD 6E 04 DD 66 05 DD 4E F2 DD 46 -R 00 00 01 00 -T 2C 07 00 00 F3 A7 ED 42 28 09 -R 00 00 01 00 -T 32 07 00 00 -R 00 00 01 00 -T 32 07 00 00 DD 5E F2 DD 56 F3 CD 00 00 00 00 -R 00 00 01 00 02 0B 0C 00 -T 3B 07 00 00 -R 00 00 01 00 -T 3B 07 00 00 DD 7E FC DD B6 FD 28 4F -R 00 00 01 00 -T 43 07 00 00 -R 00 00 01 00 -T 43 07 00 00 DD 4E 02 DD 46 03 DD 6E EE DD 66 -R 00 00 01 00 -T 4E 07 00 00 EF A7 ED 42 DD 4E E6 DD 46 E7 09 -R 00 00 01 00 -T 59 07 00 00 DD 75 FC DD 74 FD 4D 44 DD 5E 02 -R 00 00 01 00 -T 64 07 00 00 DD 56 03 CD 3D 00 00 00 DD 75 E0 -R 00 00 01 00 00 08 01 00 -T 6D 07 00 00 DD 74 E1 DD 4E 02 DD 46 03 A7 ED -R 00 00 01 00 -T 78 07 00 00 42 4D 44 21 0E 00 39 7E 81 77 23 -R 00 00 01 00 -T 83 07 00 00 7E 88 77 DD 6E E0 DD 66 E1 DD 75 -R 00 00 01 00 -T 8E 07 00 00 02 DD 74 03 -R 00 00 01 00 -T 92 07 00 00 -R 00 00 01 00 -T 92 07 00 00 DD 6E EE DD 66 EF DD 75 F0 DD 74 -R 00 00 01 00 -T 9D 07 00 00 F1 DD 6E E8 DD 66 E9 DD 75 E0 DD -R 00 00 01 00 -T A8 07 00 00 74 E1 -R 00 00 01 00 -T AA 07 00 00 -R 00 00 01 00 -T AA 07 00 00 DD 6E E0 DD 66 E1 23 DD 75 E0 DD -R 00 00 01 00 -T B5 07 00 00 74 E1 2B 4E 06 00 DD 71 F4 DD 70 -R 00 00 01 00 -T C0 07 00 00 F5 DD 6E EE DD 66 EF 23 DD 75 EE -R 00 00 01 00 -T CB 07 00 00 DD 74 EF 2B 71 0C 0D 28 36 3E 0A -R 00 00 01 00 -T D6 07 00 00 DD AE F4 DD B6 F5 28 2C -R 00 00 01 00 -T DE 07 00 00 -R 00 00 01 00 -T DE 07 00 00 -R 00 00 01 00 -T DE 07 00 00 -R 00 00 01 00 -T DE 07 00 00 3E 5C DD AE F4 DD B6 F5 20 20 DD -R 00 00 01 00 -T E9 07 00 00 6E E0 DD 66 E1 7E FE 0A 20 15 -R 00 00 01 00 -T F3 07 00 00 -R 00 00 01 00 -T F3 07 00 00 -R 00 00 01 00 -T F3 07 00 00 -R 00 00 01 00 -T F3 07 00 00 DD 6E EE DD 66 EF 2B DD 75 EE DD -R 00 00 01 00 -T FE 07 00 00 74 EF DD 34 E0 20 03 DD 34 E1 -R 00 00 01 00 -T 08 08 00 00 -R 00 00 01 00 -T 08 08 00 00 -R 00 00 01 00 -T 08 08 00 00 18 A0 -R 00 00 01 00 -T 0A 08 00 00 -R 00 00 01 00 -T 0A 08 00 00 DD 6E EE DD 66 EF 36 00 01 00 00 -R 00 00 01 00 -T 15 08 00 00 C5 01 27 00 00 00 DD 5E F0 DD 56 -R 00 00 01 00 00 06 02 00 -T 1E 08 00 00 F1 CD 61 00 00 00 EB C1 CD -R 00 00 01 00 00 06 01 00 -T 25 08 00 00 74 01 00 00 DD 75 F2 DD 74 F3 C3 -R 00 00 01 00 00 04 01 00 -T 2E 08 00 00 D6 06 00 00 -R 00 00 01 00 00 04 01 00 -T 30 08 00 00 -R 00 00 01 00 -T 30 08 00 00 DD 5E E2 DD 56 E3 CD 00 00 00 00 -R 00 00 01 00 02 0B 07 00 -T 39 08 00 00 DD 5E E4 DD 56 E5 CD 00 00 00 00 -R 00 00 01 00 02 0B 0C 00 -T 42 08 00 00 DD 7E FC DD B6 FD 28 21 -R 00 00 01 00 -T 4A 08 00 00 -R 00 00 01 00 -T 4A 08 00 00 DD 4E 02 DD 46 03 DD 6E EE DD 66 -R 00 00 01 00 -T 55 08 00 00 EF A7 ED 42 4D 44 03 DD 5E 02 DD -R 00 00 01 00 -T 60 08 00 00 56 03 CD 3D 00 00 00 DD 75 02 DD -R 00 00 01 00 00 07 01 00 -T 69 08 00 00 74 03 -R 00 00 01 00 -T 6B 08 00 00 -R 00 00 01 00 -T 6B 08 00 00 -R 00 00 01 00 -T 6B 08 00 00 DD 6E 02 DD 66 03 22 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 74 08 00 00 DD 7E FC DD B6 FD 28 08 -R 00 00 01 00 -T 7C 08 00 00 -R 00 00 01 00 -T 7C 08 00 00 DD 6E 02 DD 66 03 18 03 -R 00 00 01 00 -T 84 08 00 00 -R 00 00 01 00 -T 84 08 00 00 21 01 00 -R 00 00 01 00 -T 87 08 00 00 -R 00 00 01 00 -T 87 08 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T 8A 08 00 00 -R 00 00 01 00 -T 8A 08 00 00 CD 00 00 00 00 FE FF 21 04 00 DD -R 00 00 01 00 02 05 10 00 -T 93 08 00 00 5E 08 DD 56 09 19 E5 EB 5E 23 56 -R 00 00 01 00 -T 9E 08 00 00 E1 73 23 72 21 08 00 DD 5E 08 DD -R 00 00 01 00 -T A9 08 00 00 56 09 19 AF 77 23 77 21 06 00 19 -R 00 00 01 00 -T B4 08 00 00 AF 77 23 77 21 04 00 19 7E 23 66 -R 00 00 01 00 -T BF 08 00 00 6F 36 00 21 00 00 E5 21 00 00 E5 -R 00 00 01 00 -T CA 08 00 00 21 00 00 E5 59 50 CD 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T D3 08 00 00 F1 F1 F1 -R 00 00 01 00 -T D6 08 00 00 -R 00 00 01 00 -T D6 08 00 00 21 06 00 DD 4E 08 DD 46 09 09 7E -R 00 00 01 00 -T E1 08 00 00 23 B6 C2 6E 09 00 00 -R 00 00 01 00 00 07 01 00 -T E6 08 00 00 -R 00 00 01 00 -T E6 08 00 00 AF DD 77 FE DD 77 FF -R 00 00 01 00 -T ED 08 00 00 -R 00 00 01 00 -T ED 08 00 00 DD 6E FE DD 66 FF E5 DD 4E 08 DD -R 00 00 01 00 -T F8 08 00 00 46 09 DD 5E 04 DD 56 05 CD -R 00 00 01 00 -T 01 09 00 00 A9 0A 00 00 F1 DD 75 FE DD 74 FF -R 00 00 01 00 00 04 01 00 -T 0A 09 00 00 21 06 00 DD 4E 08 DD 46 09 09 7E -R 00 00 01 00 -T 15 09 00 00 23 B6 20 0D DD 6E FE DD 66 FF 2B -R 00 00 01 00 -T 20 09 00 00 2B 7E FE 5C 28 C7 -R 00 00 01 00 -T 26 09 00 00 -R 00 00 01 00 -T 26 09 00 00 21 04 00 DD 4E 08 DD 46 09 09 7E -R 00 00 01 00 -T 31 09 00 00 23 66 6F 7E FE 23 28 1F DD 4E 02 -R 00 00 01 00 -T 3C 09 00 00 DD 46 03 21 04 00 DD 5E 08 DD 56 -R 00 00 01 00 -T 47 09 00 00 09 19 5E 23 56 CD 74 09 00 00 7D -R 00 00 01 00 00 0A 01 00 -T 50 09 00 00 B4 28 05 -R 00 00 01 00 -T 53 09 00 00 -R 00 00 01 00 -T 53 09 00 00 -R 00 00 01 00 -T 53 09 00 00 -R 00 00 01 00 -T 53 09 00 00 21 01 00 18 19 -R 00 00 01 00 -T 58 09 00 00 -R 00 00 01 00 -T 58 09 00 00 21 04 00 DD 4E 08 DD 46 09 09 DD -R 00 00 01 00 -T 63 09 00 00 4E FE DD 46 FF 71 23 70 C3 -R 00 00 01 00 -T 6C 09 00 00 D6 08 00 00 -R 00 00 01 00 00 04 01 00 -T 6E 09 00 00 -R 00 00 01 00 -T 6E 09 00 00 21 00 00 -R 00 00 01 00 -T 71 09 00 00 -R 00 00 01 00 -T 71 09 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T 74 09 00 00 -R 00 00 01 00 -T 74 09 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 10 00 -T 7D 09 00 00 56 03 CD EA 09 00 00 7D B4 20 05 -R 00 00 01 00 00 07 01 00 -T 86 09 00 00 -R 00 00 01 00 -T 86 09 00 00 21 01 00 18 5C -R 00 00 01 00 -T 8B 09 00 00 -R 00 00 01 00 -T 8B 09 00 00 DD 6E 02 DD 66 03 DD 75 FE DD 74 -R 00 00 01 00 -T 96 09 00 00 FF -R 00 00 01 00 -T 97 09 00 00 -R 00 00 01 00 -T 97 09 00 00 DD 6E FE DD 66 FF AF B6 28 43 DD -R 00 00 01 00 -T A2 09 00 00 6E FE DD 66 FF 7E FE 0A 28 38 DD -R 00 00 01 00 -T AD 09 00 00 6E FE DD 66 FF 7E FE 3A 28 2D -R 00 00 01 00 -T B7 09 00 00 -R 00 00 01 00 -T B7 09 00 00 -R 00 00 01 00 -T B7 09 00 00 -R 00 00 01 00 -T B7 09 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T C2 09 00 00 74 FF 2B 7E FE 7C 20 18 DD 4E 04 -R 00 00 01 00 -T CD 09 00 00 DD 46 05 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T D7 09 00 00 EA 09 00 00 7D B4 20 05 -R 00 00 01 00 00 04 01 00 -T DD 09 00 00 -R 00 00 01 00 -T DD 09 00 00 -R 00 00 01 00 -T DD 09 00 00 -R 00 00 01 00 -T DD 09 00 00 21 01 00 18 05 -R 00 00 01 00 -T E2 09 00 00 -R 00 00 01 00 -T E2 09 00 00 18 B3 -R 00 00 01 00 -T E4 09 00 00 -R 00 00 01 00 -T E4 09 00 00 21 00 00 -R 00 00 01 00 -T E7 09 00 00 -R 00 00 01 00 -T E7 09 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T EA 09 00 00 -R 00 00 01 00 -T EA 09 00 00 CD 00 00 00 00 FC FF -R 00 00 01 00 02 05 10 00 -T EF 09 00 00 -R 00 00 01 00 -T EF 09 00 00 -R 00 00 01 00 -T EF 09 00 00 AF 3C CA A3 0A 00 00 -R 00 00 01 00 00 07 01 00 -T F4 09 00 00 -R 00 00 01 00 -T F4 09 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T FF 09 00 00 74 03 2B 4E 06 00 DD 71 FC DD 70 -R 00 00 01 00 -T 0A 0A 00 00 FD DD 6E 04 DD 66 05 23 DD 75 04 -R 00 00 01 00 -T 15 0A 00 00 DD 74 05 2B 4E 06 00 DD 71 FE DD -R 00 00 01 00 -T 20 0A 00 00 70 FF -R 00 00 01 00 -T 22 0A 00 00 -R 00 00 01 00 -T 22 0A 00 00 3E 5C DD AE FC DD B6 FD 20 3E DD -R 00 00 01 00 -T 2D 0A 00 00 6E 02 DD 66 03 7E FE 0A 20 33 -R 00 00 01 00 -T 37 0A 00 00 -R 00 00 01 00 -T 37 0A 00 00 -R 00 00 01 00 -T 37 0A 00 00 -R 00 00 01 00 -T 37 0A 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T 3F 0A 00 00 -R 00 00 01 00 -T 3F 0A 00 00 -R 00 00 01 00 -T 3F 0A 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T 4A 0A 00 00 74 03 2B 4E 06 00 DD 71 FC DD 70 -R 00 00 01 00 -T 55 0A 00 00 FD 3E 20 A9 B0 28 0A 3E 09 DD AE -R 00 00 01 00 -T 60 0A 00 00 FC DD B6 FD 20 02 -R 00 00 01 00 -T 66 0A 00 00 -R 00 00 01 00 -T 66 0A 00 00 -R 00 00 01 00 -T 66 0A 00 00 -R 00 00 01 00 -T 66 0A 00 00 18 D7 -R 00 00 01 00 -T 68 0A 00 00 -R 00 00 01 00 -T 68 0A 00 00 18 B8 -R 00 00 01 00 -T 6A 0A 00 00 -R 00 00 01 00 -T 6A 0A 00 00 DD 7E FE DD B6 FF 20 1B -R 00 00 01 00 -T 72 0A 00 00 -R 00 00 01 00 -T 72 0A 00 00 3E 7C DD AE FC DD B6 FD 28 0A 3E -R 00 00 01 00 -T 7D 0A 00 00 3A DD AE FC DD B6 FD 20 05 -R 00 00 01 00 -T 86 0A 00 00 -R 00 00 01 00 -T 86 0A 00 00 -R 00 00 01 00 -T 86 0A 00 00 -R 00 00 01 00 -T 86 0A 00 00 21 00 00 18 1B -R 00 00 01 00 -T 8B 0A 00 00 -R 00 00 01 00 -T 8B 0A 00 00 18 16 -R 00 00 01 00 -T 8D 0A 00 00 -R 00 00 01 00 -T 8D 0A 00 00 DD 6E FE DD 66 FF DD 4E FC DD 46 -R 00 00 01 00 -T 98 0A 00 00 FD A7 ED 42 28 02 -R 00 00 01 00 -T 9E 0A 00 00 -R 00 00 01 00 -T 9E 0A 00 00 18 03 -R 00 00 01 00 -T A0 0A 00 00 -R 00 00 01 00 -T A0 0A 00 00 C3 EF 09 00 00 -R 00 00 01 00 00 05 01 00 -T A3 0A 00 00 -R 00 00 01 00 -T A3 0A 00 00 21 01 00 -R 00 00 01 00 -T A6 0A 00 00 -R 00 00 01 00 -T A6 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T A9 0A 00 00 -R 00 00 01 00 -T A9 0A 00 00 CD 00 00 00 00 F8 FF 0A 6F 03 0A -R 00 00 01 00 02 05 10 00 -T B2 0A 00 00 67 DD 75 FE DD 74 FF DD 7E 08 DD -R 00 00 01 00 -T BD 0A 00 00 B6 09 20 14 -R 00 00 01 00 -T C1 0A 00 00 -R 00 00 01 00 -T C1 0A 00 00 21 04 00 DD 4E 04 DD 46 05 09 46 -R 00 00 01 00 -T CC 0A 00 00 23 66 68 DD 75 08 DD 74 09 -R 00 00 01 00 -T D5 0A 00 00 -R 00 00 01 00 -T D5 0A 00 00 -R 00 00 01 00 -T D5 0A 00 00 AF 3C CA CC 0C 00 00 -R 00 00 01 00 00 07 01 00 -T DA 0A 00 00 -R 00 00 01 00 -T DA 0A 00 00 DD 6E 08 DD 66 09 DD 75 FA DD 74 -R 00 00 01 00 -T E5 0A 00 00 FB -R 00 00 01 00 -T E6 0A 00 00 -R 00 00 01 00 -T E6 0A 00 00 DD 6E FA DD 66 FB AF B6 28 15 DD -R 00 00 01 00 -T F1 0A 00 00 6E FA DD 66 FB 7E FE 0A 28 0A -R 00 00 01 00 -T FB 0A 00 00 -R 00 00 01 00 -T FB 0A 00 00 -R 00 00 01 00 -T FB 0A 00 00 -R 00 00 01 00 -T FB 0A 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 03 0B 00 00 -R 00 00 01 00 -T 03 0B 00 00 18 E1 -R 00 00 01 00 -T 05 0B 00 00 -R 00 00 01 00 -T 05 0B 00 00 DD 6E FA DD 66 FB AF B6 28 03 -R 00 00 01 00 -T 0F 0B 00 00 -R 00 00 01 00 -T 0F 0B 00 00 C3 CC 0C 00 00 -R 00 00 01 00 00 05 01 00 -T 12 0B 00 00 -R 00 00 01 00 -T 12 0B 00 00 21 06 00 DD 4E 04 DD 46 05 09 7E -R 00 00 01 00 -T 1D 0B 00 00 23 B6 28 18 -R 00 00 01 00 -T 21 0B 00 00 -R 00 00 01 00 -T 21 0B 00 00 21 08 00 DD 4E 04 DD 46 05 09 46 -R 00 00 01 00 -T 2C 0B 00 00 23 66 68 DD 4E FE DD 46 FF 09 C3 -R 00 00 01 00 -T 37 0B 00 00 D3 0C 00 00 -R 00 00 01 00 00 04 01 00 -T 39 0B 00 00 -R 00 00 01 00 -T 39 0B 00 00 21 04 00 DD 4E 04 DD 46 05 09 46 -R 00 00 01 00 -T 44 0B 00 00 23 66 68 DD 4E FE DD 46 FF A7 ED -R 00 00 01 00 -T 4F 0B 00 00 42 C2 E7 0B 00 00 -R 00 00 01 00 00 06 01 00 -T 53 0B 00 00 -R 00 00 01 00 -T 53 0B 00 00 21 08 00 DD 4E 04 DD 46 05 09 56 -R 00 00 01 00 -T 5E 0B 00 00 23 66 6A E5 03 03 69 60 4E 23 46 -R 00 00 01 00 -T 69 0B 00 00 E1 A7 ED 42 20 76 -R 00 00 01 00 -T 6F 0B 00 00 -R 00 00 01 00 -T 6F 0B 00 00 DD 6E 04 DD 66 05 23 23 06 01 CD -R 00 00 01 00 -T 7A 0B 00 00 00 00 00 00 DD 6E 04 DD 66 05 23 -R 00 00 01 00 02 04 00 00 -T 83 0B 00 00 23 4E 23 46 03 DD 5E FE DD 56 FF -R 00 00 01 00 -T 8E 0B 00 00 CD 3D 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 00 05 01 00 -T 97 0B 00 00 21 04 00 DD 4E 04 DD 46 05 09 E5 -R 00 00 01 00 -T A2 0B 00 00 DD 5E FE DD 56 FF 21 04 00 09 7E -R 00 00 01 00 -T AD 0B 00 00 23 66 6F A7 ED 52 DD 5E FC DD 56 -R 00 00 01 00 -T B8 0B 00 00 FD 19 4D 44 E1 71 23 70 DD 4E FE -R 00 00 01 00 -T C3 0B 00 00 DD 46 FF DD 6E 08 DD 66 09 A7 ED -R 00 00 01 00 -T CE 0B 00 00 42 19 DD 75 08 DD 74 09 DD 73 FE -R 00 00 01 00 -T D9 0B 00 00 DD 72 FF DD 6E 04 DD 66 05 73 23 -R 00 00 01 00 -T E4 0B 00 00 72 -R 00 00 01 00 -T E5 0B 00 00 -R 00 00 01 00 -T E5 0B 00 00 18 6A -R 00 00 01 00 -T E7 0B 00 00 -R 00 00 01 00 -T E7 0B 00 00 DD 4E FE DD 46 FF 21 04 00 DD 5E -R 00 00 01 00 -T F2 0B 00 00 04 DD 56 05 19 7E 23 66 6F A7 ED -R 00 00 01 00 -T FD 0B 00 00 42 4D 44 21 10 00 39 7E 91 77 23 -R 00 00 01 00 -T 08 0C 00 00 7E 98 77 DD 4E FE DD 46 FF 21 -R 00 00 01 00 -T 12 0C 00 00 04 00 19 7E 23 66 6F A7 ED 42 4D -R 00 00 01 00 -T 1D 0C 00 00 44 21 08 00 19 7E 91 77 23 7E 98 -R 00 00 01 00 -T 28 0C 00 00 77 2B 6E 67 E5 21 04 00 19 4E 23 -R 00 00 01 00 -T 33 0C 00 00 46 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 3B 0C 00 00 00 00 00 00 F1 21 04 00 DD 4E 04 -R 00 00 01 00 02 04 05 00 -T 44 0C 00 00 DD 46 05 09 DD 4E FE DD 46 FF 71 -R 00 00 01 00 -T 4F 0C 00 00 23 70 -R 00 00 01 00 -T 51 0C 00 00 -R 00 00 01 00 -T 51 0C 00 00 21 08 00 DD 4E 04 DD 46 05 09 5E -R 00 00 01 00 -T 5C 0C 00 00 23 56 03 03 0A 6F 03 0A 67 A7 ED -R 00 00 01 00 -T 67 0C 00 00 52 E5 21 08 00 DD 4E 04 DD 46 05 -R 00 00 01 00 -T 72 0C 00 00 09 46 23 66 68 DD 4E FE DD 46 FF -R 00 00 01 00 -T 7D 0C 00 00 09 4D 44 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 87 0C 00 00 00 00 00 00 F1 DD 75 F8 DD 74 F9 -R 00 00 01 00 02 04 17 00 -T 90 0C 00 00 7D B4 20 0F -R 00 00 01 00 -T 94 0C 00 00 -R 00 00 01 00 -T 94 0C 00 00 21 06 00 DD 4E 04 DD 46 05 09 36 -R 00 00 01 00 -T 9F 0C 00 00 01 23 36 00 -R 00 00 01 00 -T A3 0C 00 00 -R 00 00 01 00 -T A3 0C 00 00 21 08 00 DD 4E 04 DD 46 05 09 7E -R 00 00 01 00 -T AE 0C 00 00 DD 86 F8 77 23 7E DD 8E F9 77 21 -R 00 00 01 00 -T B9 0C 00 00 08 00 09 46 23 66 68 DD 4E FE DD -R 00 00 01 00 -T C4 0C 00 00 46 FF 09 36 00 C3 D5 0A 00 00 -R 00 00 01 00 00 0A 01 00 -T CC 0C 00 00 -R 00 00 01 00 -T CC 0C 00 00 DD 6E FA DD 66 FB 23 -R 00 00 01 00 -T D3 0C 00 00 -R 00 00 01 00 -T D3 0C 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 76 69 72 74 75 61 6C 20 6D 65 6D -R 00 00 02 00 -T 0B 00 00 00 6F 72 79 20 65 78 68 61 75 73 74 -R 00 00 02 00 -T 16 00 00 00 65 64 0A 00 -R 00 00 02 00 -T 1A 00 00 00 -R 00 00 02 00 -T 1A 00 00 00 54 45 52 4D 00 -R 00 00 02 00 -T 1F 00 00 00 -R 00 00 02 00 -T 1F 00 00 00 54 45 52 4D 43 41 50 00 -R 00 00 02 00 -T 27 00 00 00 -R 00 00 02 00 -T 27 00 00 00 74 63 00 -R 00 00 02 00 -T 2A 00 00 00 -R 00 00 02 00 -T 2A 00 00 00 2F 65 74 63 2F 74 65 72 6D 63 61 -R 00 00 02 00 -T 35 00 00 00 70 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 06 00 00 00 -R 00 00 03 00 -T 06 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 1C 00 00 00 -R 00 00 04 00 -T 1C 00 00 00 -R 00 00 04 00 -T 00 00 00 00 20 07 08 20 20 1B 0C 20 20 20 20 -R 00 00 05 00 -T 0B 00 00 00 20 20 20 0A 20 20 20 0D 20 20 20 -R 00 00 05 00 -T 16 00 00 00 0B 20 20 20 20 00 00 00 32 00 -R 00 00 05 00 -T 20 00 00 00 4B 00 6E 00 87 00 96 00 FE FF -R 00 00 05 00 -T 2A 00 00 00 FD FF FA FF F4 FF EE FF E8 FF -R 00 00 05 00 -T 34 00 00 00 D0 FF A0 FF 40 FF 80 FE -R 00 00 05 00 diff --git a/lib/relcl/tmpnam.rel b/lib/relcl/tmpnam.rel deleted file mode 100644 index 6c8a0171..00000000 --- a/lib/relcl/tmpnam.rel +++ /dev/null @@ -1,77 +0,0 @@ -XL4 -H 4 areas B global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?L_ADDASG_L03 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ultoa Ref00000000 -S strcpy Ref00000000 -S access Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 81 flags 0 -S tmpnam Def0000004A -A CSTR size 6 flags 0 -A UDATA0 size 44 flags 0 -S _tmpnum Def00000040 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 7B B2 20 08 -R 00 00 01 00 02 05 04 00 -T 07 00 00 00 -R 00 00 01 00 -T 07 00 00 00 DD 36 02 00 00 00 00 DD 36 03 -R 00 00 01 00 09 07 03 00 -T 0E 00 00 00 00 00 00 00 -R 00 00 01 00 89 04 03 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 01 00 00 00 00 DD 5E 02 DD 56 03 -R 00 00 01 00 00 05 02 00 -T 18 00 00 00 CD 00 00 00 00 21 0A 00 E5 DD 5E -R 00 00 01 00 02 05 06 00 -T 21 00 00 00 02 DD 56 03 CD 00 00 00 00 DD 4E -R 00 00 01 00 02 09 01 00 -T 2A 00 00 00 02 DD 46 03 09 E5 DD 4E 0A DD 46 -R 00 00 01 00 -T 35 00 00 00 0B DD 5E 08 DD 56 09 CD -R 00 00 01 00 -T 3D 00 00 00 00 00 00 00 F1 F1 DD 6E 02 DD 66 -R 00 00 01 00 02 04 05 00 -T 46 00 00 00 03 C3 00 00 00 00 -R 00 00 01 00 02 06 02 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 21 40 00 00 00 01 00 00 11 0D 00 -R 00 00 01 00 00 05 03 00 -T 56 00 00 00 CD 00 00 00 00 C5 D5 DD 5E 02 DD -R 00 00 01 00 02 05 03 00 -T 5F 00 00 00 56 03 CD 00 00 00 00 F1 F1 DD 75 -R 00 00 01 00 00 07 01 00 -T 68 00 00 00 02 DD 74 03 01 00 00 EB CD -R 00 00 01 00 -T 71 00 00 00 00 00 00 00 7D A4 3C 20 D5 -R 00 00 01 00 02 04 07 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 DD 6E 02 DD 66 03 C3 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2F 74 6D 70 2F 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 40 00 00 00 -R 00 00 03 00 -T 40 00 00 00 -R 00 00 03 00 diff --git a/lib/relcl/tparam.rel b/lib/relcl/tparam.rel deleted file mode 100644 index 54f5ce62..00000000 --- a/lib/relcl/tparam.rel +++ /dev/null @@ -1,677 +0,0 @@ -XL4 -H 4 areas 19 global symbols -S ?S_LSHASG_L02 Ref00000000 -S ?CL64180L_4_06_L00 Ref00000000 -S ?S_MULASG_L02 Ref00000000 -S _write Ref00000000 -S memcpy Ref00000000 -S ?S_MUL_L02 Ref00000000 -S strcat Ref00000000 -S strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S realloc Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?S_V_SWITCH_L06 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_MODASG_L02 Ref00000000 -S ?SS_DIVASG_L02 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?SS_MOD_L02 Ref00000000 -S ?SS_DIV_L02 Ref00000000 -S malloc Ref00000000 -S exit Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6CD flags 0 -S tparam Def00000061 -S tgoto Def00000082 -A CSTR size 1A flags 0 -A UDATA0 size 36 flags 0 -S _UP Def00000002 -S _BC Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 21 19 00 E5 01 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 09 00 00 00 11 02 00 CD 00 00 00 00 F1 11 -R 00 00 01 00 02 08 03 00 -T 11 00 00 00 01 00 CD 00 00 00 00 D1 C1 C9 -R 00 00 01 00 02 07 13 00 -T 19 00 00 00 -R 00 00 01 00 -T 19 00 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 0C 00 -T 22 00 00 00 56 03 CD 00 00 00 00 DD 75 FE DD -R 00 00 01 00 02 07 12 00 -T 2B 00 00 00 74 FF 7D B4 20 03 -R 00 00 01 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 05 01 00 -T 34 00 00 00 -R 00 00 01 00 -T 34 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T 3D 00 00 00 -R 00 00 01 00 -T 3D 00 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 0C 00 -T 46 00 00 00 56 03 CD 00 00 00 00 DD 75 FE DD -R 00 00 01 00 02 07 09 00 -T 4F 00 00 00 74 FF 7D B4 20 03 -R 00 00 01 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 05 01 00 -T 58 00 00 00 -R 00 00 01 00 -T 58 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T 61 00 00 00 -R 00 00 01 00 -T 61 00 00 00 CD 00 00 00 00 21 0A 00 39 E5 21 -R 00 00 01 00 02 05 0A 00 -T 6A 00 00 00 00 00 E5 21 00 00 E5 DD 6E 08 DD -R 00 00 01 00 -T 75 00 00 00 66 09 E5 CD D0 00 00 00 F1 F1 F1 -R 00 00 01 00 00 08 01 00 -T 7E 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 08 00 -T 82 00 00 00 -R 00 00 01 00 -T 82 00 00 00 CD 00 00 00 00 FC FF DD 7E 02 DD -R 00 00 01 00 02 05 0C 00 -T 8B 00 00 00 B6 03 20 05 -R 00 00 01 00 -T 8F 00 00 00 -R 00 00 01 00 -T 8F 00 00 00 21 00 00 18 39 -R 00 00 01 00 -T 94 00 00 00 -R 00 00 01 00 -T 94 00 00 00 DD 6E 08 DD 66 09 DD 75 FC DD 74 -R 00 00 01 00 -T 9F 00 00 00 FD DD 6E 04 DD 66 05 DD 75 FE DD -R 00 00 01 00 -T AA 00 00 00 74 FF 21 00 00 39 E5 2A -R 00 00 01 00 -T B2 00 00 00 00 00 00 00 E5 2A 02 00 00 00 E5 -R 00 00 01 00 00 04 03 00 00 0A 03 00 -T B9 00 00 00 21 32 00 E5 01 04 00 00 00 DD 5E -R 00 00 01 00 00 09 03 00 -T C2 00 00 00 02 DD 56 03 CD D0 00 00 00 F1 F1 -R 00 00 01 00 00 09 01 00 -T CB 00 00 00 F1 F1 -R 00 00 01 00 -T CD 00 00 00 -R 00 00 01 00 -T CD 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 08 00 -T D0 00 00 00 -R 00 00 01 00 -T D0 00 00 00 CD 00 00 00 00 EC FF DD 6E 02 DD -R 00 00 01 00 02 05 0C 00 -T D9 00 00 00 66 03 DD 75 F0 DD 74 F1 DD 71 F2 -R 00 00 01 00 -T E4 00 00 00 DD 70 F3 DD 6E 0E DD 66 0F DD 75 -R 00 00 01 00 -T EF 00 00 00 F4 DD 74 F5 AF DD 77 F6 DD 77 F7 -R 00 00 01 00 -T FA 00 00 00 AF DD 77 F8 DD 77 F9 AF DD 77 FA -R 00 00 01 00 -T 05 01 00 00 DD 77 FB DD 6E 08 DD 66 09 DD 4E -R 00 00 01 00 -T 10 01 00 00 04 DD 46 05 09 DD 75 FC DD 74 FD -R 00 00 01 00 -T 1B 01 00 00 -R 00 00 01 00 -T 1B 01 00 00 AF 3C CA 6E 06 00 00 -R 00 00 01 00 00 07 01 00 -T 20 01 00 00 -R 00 00 01 00 -T 20 01 00 00 21 05 00 DD 4E F2 DD 46 F3 09 DD -R 00 00 01 00 -T 2B 01 00 00 4E FC DD 46 FD A7 ED 42 DA -R 00 00 01 00 -T 34 01 00 00 F4 01 00 00 -R 00 00 01 00 00 04 01 00 -T 36 01 00 00 -R 00 00 01 00 -T 36 01 00 00 DD 7E F6 DD B6 F7 20 49 -R 00 00 01 00 -T 3E 01 00 00 -R 00 00 01 00 -T 3E 01 00 00 21 28 00 DD 4E 08 DD 46 09 09 DD -R 00 00 01 00 -T 49 01 00 00 75 F6 DD 74 F7 EB CD 19 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 52 01 00 00 DD 75 FE DD 74 FF 21 10 00 39 7E -R 00 00 01 00 -T 5D 01 00 00 C6 28 77 23 7E CE 00 77 DD 4E 04 -R 00 00 01 00 -T 68 01 00 00 DD 46 05 DD 6E F2 DD 66 F3 A7 ED -R 00 00 01 00 -T 73 01 00 00 42 E5 DD 4E 04 DD 46 05 DD 5E FE -R 00 00 01 00 -T 7E 01 00 00 DD 56 FF CD 00 00 00 00 F1 18 29 -R 00 00 01 00 02 08 04 00 -T 87 01 00 00 -R 00 00 01 00 -T 87 01 00 00 21 10 00 39 7E DD 86 F6 77 23 7E -R 00 00 01 00 -T 92 01 00 00 DD 8E F7 77 21 0A 00 39 06 01 CD -R 00 00 01 00 -T 9D 01 00 00 00 00 00 00 4B 42 DD 5E 04 DD 56 -R 00 00 01 00 02 04 00 00 -T A6 01 00 00 05 CD 3D 00 00 00 DD 75 FE DD 74 -R 00 00 01 00 00 06 01 00 -T AF 01 00 00 FF -R 00 00 01 00 -T B0 01 00 00 -R 00 00 01 00 -T B0 01 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 -R 00 00 01 00 -T BB 01 00 00 FF A7 ED 42 4D 44 21 06 00 39 7E -R 00 00 01 00 -T C6 01 00 00 81 77 23 7E 88 77 DD 4E 04 DD 46 -R 00 00 01 00 -T D1 01 00 00 05 DD 6E FE DD 66 FF A7 ED 42 4D -R 00 00 01 00 -T DC 01 00 00 44 21 10 00 39 7E 81 77 23 7E 88 -R 00 00 01 00 -T E7 01 00 00 77 DD 6E FE DD 66 FF DD 75 04 DD -R 00 00 01 00 -T F2 01 00 00 74 05 -R 00 00 01 00 -T F4 01 00 00 -R 00 00 01 00 -T F4 01 00 00 DD 6E F0 DD 66 F1 23 DD 75 F0 DD -R 00 00 01 00 -T FF 01 00 00 74 F1 2B 4E 06 00 DD 71 EC DD 70 -R 00 00 01 00 -T 0A 02 00 00 ED 79 B0 20 03 -R 00 00 01 00 -T 0F 02 00 00 -R 00 00 01 00 -T 0F 02 00 00 C3 6E 06 00 00 -R 00 00 01 00 00 05 01 00 -T 12 02 00 00 -R 00 00 01 00 -T 12 02 00 00 3E 25 DD AE EC DD B6 ED C2 -R 00 00 01 00 -T 1B 02 00 00 59 06 00 00 -R 00 00 01 00 00 04 01 00 -T 1D 02 00 00 -R 00 00 01 00 -T 1D 02 00 00 DD 6E F0 DD 66 F1 23 DD 75 F0 DD -R 00 00 01 00 -T 28 02 00 00 74 F1 2B 4E 06 00 DD 71 EC DD 70 -R 00 00 01 00 -T 33 02 00 00 ED DD 6E 0E DD 66 0F 56 23 66 6A -R 00 00 01 00 -T 3E 02 00 00 DD 75 EE DD 74 EF 59 50 CD -R 00 00 01 00 -T 47 02 00 00 00 00 00 00 11 00 25 00 2B 00 -R 00 00 01 00 02 04 0B 00 -T 4F 02 00 00 2E 00 32 00 33 00 3E 00 42 00 -R 00 00 01 00 -T 59 02 00 00 43 00 44 00 61 00 62 00 64 00 -R 00 00 01 00 -T 63 02 00 00 66 00 69 00 6D 00 6E 00 72 00 -R 00 00 01 00 -T 6D 02 00 00 57 06 00 00 6C 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 71 02 00 00 D3 05 00 00 F5 05 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 75 02 00 00 B5 05 00 00 49 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 79 02 00 00 91 02 00 00 59 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 7D 02 00 00 E4 04 00 00 38 06 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 81 02 00 00 5C 03 00 00 17 06 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 85 02 00 00 A4 04 00 00 B8 02 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 89 02 00 00 0C 03 00 00 AE 03 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 8D 02 00 00 92 03 00 00 D0 05 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 91 02 00 00 -R 00 00 01 00 -T 91 02 00 00 01 0A 80 DD 6E EE DD 66 EF 3E 80 -R 00 00 01 00 -T 9C 02 00 00 AC 67 ED 42 30 03 -R 00 00 01 00 -T A2 02 00 00 -R 00 00 01 00 -T A2 02 00 00 C3 2E 03 00 00 -R 00 00 01 00 00 05 01 00 -T A5 02 00 00 -R 00 00 01 00 -T A5 02 00 00 01 64 80 DD 6E EE DD 66 EF 3E 80 -R 00 00 01 00 -T B0 02 00 00 AC 67 ED 42 30 02 -R 00 00 01 00 -T B6 02 00 00 -R 00 00 01 00 -T B6 02 00 00 18 54 -R 00 00 01 00 -T B8 02 00 00 -R 00 00 01 00 -T B8 02 00 00 -R 00 00 01 00 -T B8 02 00 00 DD 4E EE DD 46 EF 21 E7 03 CD -R 00 00 01 00 -T C2 02 00 00 00 00 00 00 30 28 -R 00 00 01 00 02 04 0F 00 -T C6 02 00 00 -R 00 00 01 00 -T C6 02 00 00 01 E8 03 DD 5E EE DD 56 EF CD -R 00 00 01 00 -T D0 02 00 00 00 00 00 00 7B C6 30 DD 6E F2 DD -R 00 00 01 00 02 04 11 00 -T D9 02 00 00 66 F3 23 DD 75 F2 DD 74 F3 2B 77 -R 00 00 01 00 -T E4 02 00 00 21 02 00 39 01 E8 03 CD -R 00 00 01 00 -T EC 02 00 00 00 00 00 00 -R 00 00 01 00 02 04 0D 00 -T EE 02 00 00 -R 00 00 01 00 -T EE 02 00 00 01 64 00 DD 5E EE DD 56 EF CD -R 00 00 01 00 -T F8 02 00 00 00 00 00 00 7B C6 30 DD 6E F2 DD -R 00 00 01 00 02 04 11 00 -T 01 03 00 00 66 F3 23 DD 75 F2 DD 74 F3 2B 77 -R 00 00 01 00 -T 0C 03 00 00 -R 00 00 01 00 -T 0C 03 00 00 -R 00 00 01 00 -T 0C 03 00 00 21 02 00 39 01 64 00 CD -R 00 00 01 00 -T 14 03 00 00 00 00 00 00 01 0A 00 CD -R 00 00 01 00 02 04 0D 00 -T 1A 03 00 00 00 00 00 00 7B C6 30 DD 6E F2 DD -R 00 00 01 00 02 04 11 00 -T 23 03 00 00 66 F3 23 DD 75 F2 DD 74 F3 2B 77 -R 00 00 01 00 -T 2E 03 00 00 -R 00 00 01 00 -T 2E 03 00 00 01 0A 00 DD 5E EE DD 56 EF CD -R 00 00 01 00 -T 38 03 00 00 00 00 00 00 7B C6 30 DD 6E F2 DD -R 00 00 01 00 02 04 10 00 -T 41 03 00 00 66 F3 23 DD 75 F2 DD 74 F3 2B 77 -R 00 00 01 00 -T 4C 03 00 00 DD 7E 0E C6 02 DD 77 0E 30 03 DD -R 00 00 01 00 -T 57 03 00 00 34 0F -R 00 00 01 00 -T 59 03 00 00 -R 00 00 01 00 -T 59 03 00 00 C3 57 06 00 00 -R 00 00 01 00 00 05 01 00 -T 5C 03 00 00 -R 00 00 01 00 -T 5C 03 00 00 01 60 80 DD 6E EE DD 66 EF 3E 80 -R 00 00 01 00 -T 67 03 00 00 AC 67 ED 42 38 25 -R 00 00 01 00 -T 6D 03 00 00 -R 00 00 01 00 -T 6D 03 00 00 01 60 00 DD 5E EE DD 56 EF CD -R 00 00 01 00 -T 77 03 00 00 00 00 00 00 DD 6E F2 DD 66 F3 23 -R 00 00 01 00 02 04 11 00 -T 80 03 00 00 DD 75 F2 DD 74 F3 2B 73 21 02 00 -R 00 00 01 00 -T 8B 03 00 00 39 01 60 00 CD 00 00 00 00 -R 00 00 01 00 02 09 0D 00 -T 92 03 00 00 -R 00 00 01 00 -T 92 03 00 00 -R 00 00 01 00 -T 92 03 00 00 DD 6E F0 DD 66 F1 23 DD 75 F0 DD -R 00 00 01 00 -T 9D 03 00 00 74 F1 2B 4E 06 00 21 02 00 39 7E -R 00 00 01 00 -T A8 03 00 00 81 77 23 7E 88 77 -R 00 00 01 00 -T AE 03 00 00 -R 00 00 01 00 -T AE 03 00 00 DD 7E 0C DD B6 0D 28 75 -R 00 00 01 00 -T B6 03 00 00 -R 00 00 01 00 -T B6 03 00 00 -R 00 00 01 00 -T B6 03 00 00 DD 7E EE DD B6 EF 28 14 3E 0A DD -R 00 00 01 00 -T C1 03 00 00 AE EE DD B6 EF 28 0A 3E 09 DD AE -R 00 00 01 00 -T CC 03 00 00 EE DD B6 EF 20 59 -R 00 00 01 00 -T D2 03 00 00 -R 00 00 01 00 -T D2 03 00 00 -R 00 00 01 00 -T D2 03 00 00 -R 00 00 01 00 -T D2 03 00 00 DD 34 EE 20 03 DD 34 EF -R 00 00 01 00 -T DA 03 00 00 -R 00 00 01 00 -T DA 03 00 00 DD 6E F4 DD 66 F5 DD 4E 0E DD 46 -R 00 00 01 00 -T E5 03 00 00 0F A7 ED 42 20 20 -R 00 00 01 00 -T EB 03 00 00 -R 00 00 01 00 -T EB 03 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T F3 03 00 00 -R 00 00 01 00 -T F3 03 00 00 DD 5E 0A DD 56 0B CD 00 00 00 00 -R 00 00 01 00 02 0B 07 00 -T FC 03 00 00 4D 44 21 10 00 39 7E 91 77 23 7E -R 00 00 01 00 -T 07 04 00 00 98 77 18 1E -R 00 00 01 00 -T 0B 04 00 00 -R 00 00 01 00 -T 0B 04 00 00 DD 34 F8 20 03 DD 34 F9 -R 00 00 01 00 -T 13 04 00 00 -R 00 00 01 00 -T 13 04 00 00 DD 5E 0C DD 56 0D CD 00 00 00 00 -R 00 00 01 00 02 0B 07 00 -T 1C 04 00 00 4D 44 21 10 00 39 7E 91 77 23 7E -R 00 00 01 00 -T 27 04 00 00 98 77 -R 00 00 01 00 -T 29 04 00 00 -R 00 00 01 00 -T 29 04 00 00 18 8B -R 00 00 01 00 -T 2B 04 00 00 -R 00 00 01 00 -T 2B 04 00 00 -R 00 00 01 00 -T 2B 04 00 00 DD 7E EE DD B6 EF 28 05 DD 7E EE -R 00 00 01 00 -T 36 04 00 00 18 02 -R 00 00 01 00 -T 38 04 00 00 -R 00 00 01 00 -T 38 04 00 00 3E 80 -R 00 00 01 00 -T 3A 04 00 00 -R 00 00 01 00 -T 3A 04 00 00 DD 6E F2 DD 66 F3 23 DD 75 F2 DD -R 00 00 01 00 -T 45 04 00 00 74 F3 2B 77 -R 00 00 01 00 -T 49 04 00 00 -R 00 00 01 00 -T 49 04 00 00 DD 7E 0E C6 02 DD 77 0E 30 03 DD -R 00 00 01 00 -T 54 04 00 00 34 0F -R 00 00 01 00 -T 56 04 00 00 -R 00 00 01 00 -T 56 04 00 00 C3 57 06 00 00 -R 00 00 01 00 00 05 01 00 -T 59 04 00 00 -R 00 00 01 00 -T 59 04 00 00 DD 7E 0E D6 02 DD 77 0E DD 7E 0F -R 00 00 01 00 -T 64 04 00 00 DE 00 DD 77 0F C3 57 06 00 00 -R 00 00 01 00 00 0A 01 00 -T 6C 04 00 00 -R 00 00 01 00 -T 6C 04 00 00 DD 6E 0E DD 66 0F 23 23 46 23 66 -R 00 00 01 00 -T 77 04 00 00 68 E5 DD 6E 0E DD 66 0F C1 71 23 -R 00 00 01 00 -T 82 04 00 00 70 DD 6E 0E DD 66 0F 23 23 DD 4E -R 00 00 01 00 -T 8D 04 00 00 EE DD 46 EF 71 23 70 DD 7E F4 C6 -R 00 00 01 00 -T 98 04 00 00 02 DD 77 F4 30 03 DD 34 F5 -R 00 00 01 00 -T A1 04 00 00 -R 00 00 01 00 -T A1 04 00 00 C3 57 06 00 00 -R 00 00 01 00 00 05 01 00 -T A4 04 00 00 -R 00 00 01 00 -T A4 04 00 00 DD 6E 0E DD 66 0F 4E 23 46 DD 6E -R 00 00 01 00 -T AF 04 00 00 F0 DD 66 F1 23 DD 75 F0 DD 74 F1 -R 00 00 01 00 -T BA 04 00 00 2B 6E 26 00 CD 00 00 00 00 30 16 -R 00 00 01 00 02 09 0F 00 -T C3 04 00 00 -R 00 00 01 00 -T C3 04 00 00 DD 6E F0 DD 66 F1 4E 06 00 DD 6E -R 00 00 01 00 -T CE 04 00 00 0E DD 66 0F 7E 81 77 23 7E 88 77 -R 00 00 01 00 -T D9 04 00 00 -R 00 00 01 00 -T D9 04 00 00 DD 34 F0 20 03 DD 34 F1 -R 00 00 01 00 -T E1 04 00 00 -R 00 00 01 00 -T E1 04 00 00 C3 57 06 00 00 -R 00 00 01 00 00 05 01 00 -T E4 04 00 00 -R 00 00 01 00 -T E4 04 00 00 DD 6E F0 DD 66 F1 23 23 7E E6 7F -R 00 00 01 00 -T EF 04 00 00 4F 06 00 DD 71 EE DD 70 EF DD 6E -R 00 00 01 00 -T FA 04 00 00 F0 DD 66 F1 23 7E FE 70 20 1C -R 00 00 01 00 -T 04 05 00 00 -R 00 00 01 00 -T 04 05 00 00 DD 6E EE DD 66 EF 29 DD 4E 0E DD -R 00 00 01 00 -T 0F 05 00 00 46 0F 09 01 80 FF 09 46 23 66 68 -R 00 00 01 00 -T 1A 05 00 00 DD 75 EE DD 74 EF -R 00 00 01 00 -T 20 05 00 00 -R 00 00 01 00 -T 20 05 00 00 DD 6E F0 DD 66 F1 7E FE 2D 20 13 -R 00 00 01 00 -T 2B 05 00 00 -R 00 00 01 00 -T 2B 05 00 00 DD 6E 0E DD 66 0F 7E DD 96 EE 77 -R 00 00 01 00 -T 36 05 00 00 23 7E DD 9E EF 77 18 67 -R 00 00 01 00 -T 3E 05 00 00 -R 00 00 01 00 -T 3E 05 00 00 DD 6E F0 DD 66 F1 7E FE 2B 20 13 -R 00 00 01 00 -T 49 05 00 00 -R 00 00 01 00 -T 49 05 00 00 DD 6E 0E DD 66 0F 7E DD 86 EE 77 -R 00 00 01 00 -T 54 05 00 00 23 7E DD 8E EF 77 18 49 -R 00 00 01 00 -T 5C 05 00 00 -R 00 00 01 00 -T 5C 05 00 00 DD 6E F0 DD 66 F1 7E FE 2A 20 11 -R 00 00 01 00 -T 67 05 00 00 -R 00 00 01 00 -T 67 05 00 00 DD 4E EE DD 46 EF DD 6E 0E DD 66 -R 00 00 01 00 -T 72 05 00 00 0F CD 00 00 00 00 18 2D -R 00 00 01 00 02 06 02 00 -T 78 05 00 00 -R 00 00 01 00 -T 78 05 00 00 DD 6E F0 DD 66 F1 7E FE 2F 20 11 -R 00 00 01 00 -T 83 05 00 00 -R 00 00 01 00 -T 83 05 00 00 DD 4E EE DD 46 EF DD 6E 0E DD 66 -R 00 00 01 00 -T 8E 05 00 00 0F CD 00 00 00 00 18 11 -R 00 00 01 00 02 06 0E 00 -T 94 05 00 00 -R 00 00 01 00 -T 94 05 00 00 DD 6E EE DD 66 EF E5 DD 6E 0E DD -R 00 00 01 00 -T 9F 05 00 00 66 0F C1 71 23 70 -R 00 00 01 00 -T A5 05 00 00 -R 00 00 01 00 -T A5 05 00 00 -R 00 00 01 00 -T A5 05 00 00 -R 00 00 01 00 -T A5 05 00 00 -R 00 00 01 00 -T A5 05 00 00 21 04 00 39 7E C6 03 77 23 7E CE -R 00 00 01 00 -T B0 05 00 00 00 77 C3 57 06 00 00 -R 00 00 01 00 00 07 01 00 -T B5 05 00 00 -R 00 00 01 00 -T B5 05 00 00 DD 6E 0E DD 66 0F 34 23 20 01 34 -R 00 00 01 00 -T C0 05 00 00 -R 00 00 01 00 -T C0 05 00 00 DD 6E 0E DD 66 0F 23 23 34 23 20 -R 00 00 01 00 -T CB 05 00 00 01 34 -R 00 00 01 00 -T CD 05 00 00 -R 00 00 01 00 -T CD 05 00 00 C3 57 06 00 00 -R 00 00 01 00 00 05 01 00 -T D0 05 00 00 -R 00 00 01 00 -T D0 05 00 00 C3 59 06 00 00 -R 00 00 01 00 00 05 01 00 -T D3 05 00 00 -R 00 00 01 00 -T D3 05 00 00 DD 6E 0E DD 66 0F 7E EE 60 77 23 -R 00 00 01 00 -T DE 05 00 00 7E EE 00 77 DD 6E 0E DD 66 0F 23 -R 00 00 01 00 -T E9 05 00 00 23 7E EE 60 77 23 7E EE 00 77 18 -R 00 00 01 00 -T F4 05 00 00 62 -R 00 00 01 00 -T F5 05 00 00 -R 00 00 01 00 -T F5 05 00 00 DD 6E 0E DD 66 0F 7E EE 7F 77 23 -R 00 00 01 00 -T 00 06 00 00 7E EE 00 77 DD 6E 0E DD 66 0F 23 -R 00 00 01 00 -T 0B 06 00 00 23 7E EE 7F 77 23 7E EE 00 77 18 -R 00 00 01 00 -T 16 06 00 00 40 -R 00 00 01 00 -T 17 06 00 00 -R 00 00 01 00 -T 17 06 00 00 01 0A 00 DD 5E EE DD 56 EF CD -R 00 00 01 00 -T 21 06 00 00 00 00 00 00 01 06 00 CD -R 00 00 01 00 02 04 11 00 -T 27 06 00 00 00 00 00 00 DD 6E 0E DD 66 0F 7E -R 00 00 01 00 02 04 05 00 -T 30 06 00 00 83 77 23 7E 8A 77 18 1F -R 00 00 01 00 -T 38 06 00 00 -R 00 00 01 00 -T 38 06 00 00 01 10 00 DD 5E EE DD 56 EF CD -R 00 00 01 00 -T 42 06 00 00 00 00 00 00 EB 29 4D 44 DD 6E 0E -R 00 00 01 00 02 04 10 00 -T 4B 06 00 00 DD 66 0F 7E 91 77 23 7E 98 77 18 -R 00 00 01 00 -T 56 06 00 00 00 -R 00 00 01 00 -T 57 06 00 00 -R 00 00 01 00 -T 57 06 00 00 18 12 -R 00 00 01 00 -T 59 06 00 00 -R 00 00 01 00 -T 59 06 00 00 -R 00 00 01 00 -T 59 06 00 00 DD 46 EC DD 6E F2 DD 66 F3 23 DD -R 00 00 01 00 -T 64 06 00 00 75 F2 DD 74 F3 2B 70 -R 00 00 01 00 -T 6B 06 00 00 -R 00 00 01 00 -T 6B 06 00 00 C3 1B 01 00 00 -R 00 00 01 00 00 05 01 00 -T 6E 06 00 00 -R 00 00 01 00 -T 6E 06 00 00 DD 6E F2 DD 66 F3 36 00 -R 00 00 01 00 -T 76 06 00 00 -R 00 00 01 00 -T 76 06 00 00 DD 4E FA DD 46 FB 0B DD 71 FA DD -R 00 00 01 00 -T 81 06 00 00 70 FB 03 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 0F 00 -T 8A 06 00 00 30 11 -R 00 00 01 00 -T 8C 06 00 00 -R 00 00 01 00 -T 8C 06 00 00 DD 4E 0A DD 46 0B DD 5E F2 DD 56 -R 00 00 01 00 -T 97 06 00 00 F3 CD 00 00 00 00 18 D9 -R 00 00 01 00 02 06 06 00 -T 9D 06 00 00 -R 00 00 01 00 -T 9D 06 00 00 -R 00 00 01 00 -T 9D 06 00 00 DD 4E F8 DD 46 F9 0B DD 71 F8 DD -R 00 00 01 00 -T A8 06 00 00 70 F9 03 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 0F 00 -T B1 06 00 00 30 11 -R 00 00 01 00 -T B3 06 00 00 -R 00 00 01 00 -T B3 06 00 00 DD 4E 0C DD 46 0D DD 5E F2 DD 56 -R 00 00 01 00 -T BE 06 00 00 F3 CD 00 00 00 00 18 D9 -R 00 00 01 00 02 06 06 00 -T C4 06 00 00 -R 00 00 01 00 -T C4 06 00 00 DD 6E 04 DD 66 05 C3 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 76 69 72 74 75 61 6C 20 6D 65 6D -R 00 00 02 00 -T 0B 00 00 00 6F 72 79 20 65 78 68 61 75 73 74 -R 00 00 02 00 -T 16 00 00 00 65 64 0A 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 diff --git a/lib/relcl/ttyname.rel b/lib/relcl/ttyname.rel deleted file mode 100644 index 26c8bea3..00000000 --- a/lib/relcl/ttyname.rel +++ /dev/null @@ -1,143 +0,0 @@ -XL4 -H 6 areas F global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S strcat Ref00000000 -S closedir Ref00000000 -S strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S readdir Ref00000000 -S isatty Ref00000000 -S fstat Ref00000000 -S strcpy Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S opendir Ref00000000 -S stat Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 107 flags 0 -S ttyname Def00000000 -A CSTR size 2 flags 0 -A UDATA0 size E flags 0 -A IDATA0 size 5 flags 0 -A CDATA0 size 5 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 BC FF AF DD 77 FA -R 00 00 01 00 02 05 0A 00 -T 09 00 00 00 DD 77 FB 2A 00 00 00 00 DD 75 FE -R 00 00 01 00 02 08 09 00 -T 12 00 00 00 DD 74 FF 21 00 00 39 4D 44 DD 5E -R 00 00 01 00 -T 1D 00 00 00 02 DD 56 03 CD 00 00 00 00 CB 7C -R 00 00 01 00 02 09 07 00 -T 26 00 00 00 28 06 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 21 00 00 C3 04 01 00 00 -R 00 00 01 00 00 08 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T 37 00 00 00 7D B4 20 0C -R 00 00 01 00 -T 3B 00 00 00 -R 00 00 01 00 -T 3B 00 00 00 21 19 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 09 00 -T 44 00 00 00 C3 04 01 00 00 -R 00 00 01 00 00 05 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 11 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 04 00 02 0A 0B 00 -T 4E 00 00 00 75 FC DD 74 FD 7D B4 20 06 -R 00 00 01 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 21 00 00 C3 04 01 00 00 -R 00 00 01 00 00 08 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 01 00 00 00 00 11 00 00 00 00 CD -R 00 00 01 00 00 05 04 00 00 0A 03 00 -T 64 00 00 00 00 00 00 00 01 00 00 00 00 11 -R 00 00 01 00 02 04 08 00 00 09 02 00 -T 6A 00 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 04 03 00 02 09 01 00 -T 6F 00 00 00 -R 00 00 01 00 -T 6F 00 00 00 DD 5E FC DD 56 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 78 00 00 00 DD 75 F8 DD 74 F9 7D B4 28 6A -R 00 00 01 00 -T 82 00 00 00 -R 00 00 01 00 -T 82 00 00 00 21 06 00 DD 4E F8 DD 46 F9 09 EB -R 00 00 01 00 -T 8D 00 00 00 CD 00 00 00 00 4D 44 21 08 00 A7 -R 00 00 01 00 02 05 03 00 -T 96 00 00 00 ED 42 30 02 -R 00 00 01 00 -T 9A 00 00 00 -R 00 00 01 00 -T 9A 00 00 00 18 D3 -R 00 00 01 00 -T 9C 00 00 00 -R 00 00 01 00 -T 9C 00 00 00 21 06 00 DD 4E F8 DD 46 F9 09 4D -R 00 00 01 00 -T A7 00 00 00 44 11 05 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 08 00 -T AE 00 00 00 21 1E 00 39 4D 44 11 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T B7 00 00 00 CD 00 00 00 00 7D B4 20 2C DD 6E -R 00 00 01 00 02 05 0C 00 -T C0 00 00 00 BC DD 66 BD DD 4E DA DD 46 DB A7 -R 00 00 01 00 -T CB 00 00 00 ED 42 20 1B DD 6E BE DD 66 BF DD -R 00 00 01 00 -T D6 00 00 00 4E DC DD 46 DD A7 ED 42 20 0A -R 00 00 01 00 -T E0 00 00 00 -R 00 00 01 00 -T E0 00 00 00 -R 00 00 01 00 -T E0 00 00 00 -R 00 00 01 00 -T E0 00 00 00 DD 36 FA 00 00 00 00 DD 36 FB -R 00 00 01 00 09 07 03 00 -T E7 00 00 00 00 00 00 00 18 02 -R 00 00 01 00 89 04 03 00 -T EA 00 00 00 -R 00 00 01 00 -T EA 00 00 00 18 83 -R 00 00 01 00 -T EC 00 00 00 -R 00 00 01 00 -T EC 00 00 00 DD 5E FC DD 56 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T F5 00 00 00 DD 6E FE DD 66 FF 22 00 00 00 00 -R 00 00 01 00 02 0B 09 00 -T FE 00 00 00 DD 6E FA DD 66 FB -R 00 00 01 00 -T 04 01 00 00 -R 00 00 01 00 -T 04 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2F 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 2F 64 65 76 00 -R 00 00 05 00 diff --git a/lib/relcl/tzset.rel b/lib/relcl/tzset.rel deleted file mode 100644 index d11e6a22..00000000 --- a/lib/relcl/tzset.rel +++ /dev/null @@ -1,95 +0,0 @@ -XL4 -H 6 areas F global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?L_MUL_L03 Ref00000000 -S getenv Ref00000000 -S memcpy Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S atoi Ref00000000 -S ?SS_MOD_L02 Ref00000000 -S ?SS_DIV_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 96 flags 0 -S tzset Def00000000 -A CSTR size B flags 0 -A UDATA0 size 6 flags 0 -S daylight Def00000000 -S timezone Def00000002 -A IDATA0 size 4 flags 0 -S tzname Def00000000 -A CDATA0 size 4 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 11 -R 00 00 01 00 02 05 06 00 -T 06 00 00 00 08 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 00 04 02 00 02 09 02 00 -T 0D 00 00 00 FC DD 74 FD 7D B4 20 1E -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 21 03 00 E5 01 00 00 00 00 ED 5B -R 00 00 01 00 00 09 02 00 -T 1E 00 00 00 02 00 00 00 CD 00 00 00 00 F1 01 -R 00 00 01 00 00 04 04 00 02 09 03 00 -T 25 00 00 00 00 00 21 30 2A 22 02 00 00 00 ED -R 00 00 01 00 00 0A 03 00 -T 2E 00 00 00 43 04 00 00 00 18 60 -R 00 00 01 00 00 05 03 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 21 03 00 E5 DD 4E FC DD 46 FD ED -R 00 00 01 00 -T 3E 00 00 00 5B 02 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 00 05 04 00 02 0A 03 00 -T 45 00 00 00 DD 5E FC DD 56 FD 13 13 13 CD -R 00 00 01 00 -T 4F 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 01 -R 00 00 01 00 02 04 07 00 -T 58 00 00 00 64 00 EB CD 00 00 00 00 01 3C 00 -R 00 00 01 00 02 08 09 00 -T 61 00 00 00 CD 00 00 00 00 D5 01 64 00 DD 5E -R 00 00 01 00 02 05 04 00 -T 6A 00 00 00 FE DD 56 FF CD 00 00 00 00 EB D1 -R 00 00 01 00 02 09 08 00 -T 73 00 00 00 19 EB AF 93 5F 3E 00 9A 57 7A 07 -R 00 00 01 00 -T 7E 00 00 00 9F 4F 41 C5 D5 01 00 00 21 3C 00 -R 00 00 01 00 -T 89 00 00 00 CD 00 00 00 00 22 02 00 00 00 ED -R 00 00 01 00 02 05 01 00 00 0A 03 00 -T 90 00 00 00 43 04 00 00 00 -R 00 00 01 00 00 05 03 00 -T 93 00 00 00 -R 00 00 01 00 -T 93 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 47 4D 54 00 -R 00 00 02 00 -T 04 00 00 00 -R 00 00 02 00 -T 04 00 00 00 00 00 00 00 -R 00 00 02 00 -T 08 00 00 00 -R 00 00 02 00 -T 08 00 00 00 54 5A 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 00 00 00 00 04 00 00 00 -R 00 00 05 00 00 04 02 00 00 08 02 00 diff --git a/lib/relcl/ultoa.rel b/lib/relcl/ultoa.rel deleted file mode 100644 index e79474ab..00000000 --- a/lib/relcl/ultoa.rel +++ /dev/null @@ -1,34 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S __longtoa Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 50 flags 0 -S ultoa Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 36 FE 41 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 DD CB 0B 7E 28 16 -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 DD 36 FE 61 DD 4E 0A DD 46 0B A7 -R 00 00 01 00 -T 1A 00 00 00 21 00 00 ED 42 DD 75 0A DD 74 0B -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 DD 6E FE E5 0E 00 C5 DD 6E 0A DD -R 00 00 01 00 -T 30 00 00 00 66 0B E5 DD 6E 08 DD 66 09 E5 DD -R 00 00 01 00 -T 3B 00 00 00 4E 04 DD 46 05 DD 5E 02 DD 56 03 -R 00 00 01 00 -T 46 00 00 00 CD 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 05 03 00 -T 4E 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relcl/ungetc.rel b/lib/relcl/ungetc.rel deleted file mode 100644 index 404af20f..00000000 --- a/lib/relcl/ungetc.rel +++ /dev/null @@ -1,74 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S fflush Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size B8 flags 0 -S ungetc Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 0C 00 09 7E E6 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 80 28 09 -R 00 00 01 00 -T 0C 00 00 00 -R 00 00 01 00 -T 0C 00 00 00 DD 5E 04 DD 56 05 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 21 0C 00 DD 4E 04 DD 46 05 09 7E -R 00 00 01 00 -T 20 00 00 00 E6 10 4F 23 7E E6 02 47 3E 10 A9 -R 00 00 01 00 -T 2B 00 00 00 B0 28 06 -R 00 00 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 21 FF FF C3 B5 00 00 00 -R 00 00 01 00 00 08 01 00 -T 34 00 00 00 -R 00 00 01 00 -T 34 00 00 00 21 0C 00 DD 4E 04 DD 46 05 09 7E -R 00 00 01 00 -T 3F 00 00 00 F6 00 77 23 7E F6 04 77 69 60 4E -R 00 00 01 00 -T 4A 00 00 00 23 46 21 06 00 DD 5E 04 DD 56 05 -R 00 00 01 00 -T 55 00 00 00 19 56 23 66 6A A7 ED 42 30 18 -R 00 00 01 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 DD 6E 04 DD 66 05 4E 23 46 0B 70 -R 00 00 01 00 -T 6A 00 00 00 2B 71 69 60 DD 46 02 70 68 26 00 -R 00 00 01 00 -T 75 00 00 00 18 3E -R 00 00 01 00 -T 77 00 00 00 -R 00 00 01 00 -T 77 00 00 00 DD 6E 04 DD 66 05 23 23 46 23 66 -R 00 00 01 00 -T 82 00 00 00 68 E5 21 06 00 DD 4E 04 DD 46 05 -R 00 00 01 00 -T 8D 00 00 00 09 4E 23 46 E1 A7 ED 42 20 1B -R 00 00 01 00 -T 97 00 00 00 -R 00 00 01 00 -T 97 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 -R 00 00 01 00 -T A2 00 00 00 03 70 2B 71 0B 69 60 DD 46 02 70 -R 00 00 01 00 -T AD 00 00 00 68 26 00 18 03 -R 00 00 01 00 -T B2 00 00 00 -R 00 00 01 00 -T B2 00 00 00 21 FF FF -R 00 00 01 00 -T B5 00 00 00 -R 00 00 01 00 -T B5 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relcl/utsname.rel b/lib/relcl/utsname.rel deleted file mode 100644 index 8637d3d7..00000000 --- a/lib/relcl/utsname.rel +++ /dev/null @@ -1,54 +0,0 @@ -XL4 -H 3 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S getfsys Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S strcpy Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9B flags 0 -S uname Def00000000 -A CSTR size C flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C6 FF 21 00 00 39 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 4D 44 11 F8 FF CD 00 00 00 00 21 -R 00 00 01 00 02 0A 01 00 -T 12 00 00 00 00 00 39 01 00 00 09 4D 44 DD 5E -R 00 00 01 00 -T 1D 00 00 00 02 DD 56 03 CD 00 00 00 00 21 -R 00 00 01 00 02 09 03 00 -T 25 00 00 00 00 00 39 01 1E 00 09 4D 44 21 -R 00 00 01 00 -T 2F 00 00 00 0E 00 DD 5E 02 DD 56 03 19 EB CD -R 00 00 01 00 -T 3A 00 00 00 00 00 00 00 21 00 00 39 01 16 00 -R 00 00 01 00 02 04 03 00 -T 43 00 00 00 09 4D 44 21 1C 00 DD 5E 02 DD 56 -R 00 00 01 00 -T 4E 00 00 00 03 19 EB CD 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 03 00 -T 57 00 00 00 39 01 0E 00 09 4D 44 21 24 00 DD -R 00 00 01 00 -T 62 00 00 00 5E 02 DD 56 03 19 EB CD -R 00 00 01 00 -T 6A 00 00 00 00 00 00 00 21 00 00 39 01 2C 00 -R 00 00 01 00 02 04 03 00 -T 73 00 00 00 09 4D 44 21 2C 00 DD 5E 02 DD 56 -R 00 00 01 00 -T 7E 00 00 00 03 19 EB CD 00 00 00 00 01 -R 00 00 01 00 02 08 03 00 -T 85 00 00 00 00 00 00 00 21 34 00 DD 5E 02 DD -R 00 00 01 00 00 04 02 00 -T 8E 00 00 00 56 03 19 EB CD 00 00 00 00 21 -R 00 00 01 00 02 09 03 00 -T 96 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 07 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 28 6C 6F 63 61 6C 68 6F 73 74 29 -R 00 00 02 00 -T 0B 00 00 00 00 -R 00 00 02 00 diff --git a/lib/relcl/vfprintf.rel b/lib/relcl/vfprintf.rel deleted file mode 100644 index 5ab767fb..00000000 --- a/lib/relcl/vfprintf.rel +++ /dev/null @@ -1,734 +0,0 @@ -XL4 -H 3 areas F global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?S_MULASG_L02 Ref00000000 -S fflush Ref00000000 -S strcat Ref00000000 -S strlen Ref00000000 -S ?C_V_SWITCH_L06 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S fputc Ref00000000 -S ultoa Ref00000000 -S strcpy Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ltoa Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6A4 flags 0 -S vfprintf Def00000171 -A CSTR size C flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF AF DD 77 FB -R 00 00 01 00 02 05 0A 00 -T 09 00 00 00 DD 77 FC 59 50 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 04 00 -T 12 00 00 00 75 FD DD 74 FE DD 6E 04 DD 66 05 -R 00 00 01 00 -T 1D 00 00 00 7E FE 2D 20 14 -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 DD 6E 04 DD 66 05 23 DD 75 04 DD -R 00 00 01 00 -T 2D 00 00 00 74 05 2B 46 DD 70 0A 18 0E -R 00 00 01 00 -T 36 00 00 00 -R 00 00 01 00 -T 36 00 00 00 AF DD B6 0A 28 08 -R 00 00 01 00 -T 3C 00 00 00 -R 00 00 01 00 -T 3C 00 00 00 DD 34 FD 20 03 DD 34 FE -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 DD 7E 10 DD A6 11 3C 28 1D DD 4E -R 00 00 01 00 -T 4F 00 00 00 FD DD 46 FE DD 6E 10 DD 66 11 CD -R 00 00 01 00 -T 5A 00 00 00 00 00 00 00 30 0C -R 00 00 01 00 02 04 0C 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 DD 6E 10 DD 66 11 DD 75 FD DD 74 -R 00 00 01 00 -T 69 00 00 00 FE -R 00 00 01 00 -T 6A 00 00 00 -R 00 00 01 00 -T 6A 00 00 00 DD 4E FD DD 46 FE DD 6E 0E DD 66 -R 00 00 01 00 -T 75 00 00 00 0F CD 00 00 00 00 30 0C -R 00 00 01 00 02 06 0C 00 -T 7B 00 00 00 -R 00 00 01 00 -T 7B 00 00 00 DD 6E FD DD 66 FE DD 75 0E DD 74 -R 00 00 01 00 -T 86 00 00 00 0F -R 00 00 01 00 -T 87 00 00 00 -R 00 00 01 00 -T 87 00 00 00 DD 6E 0E DD 66 0F DD 75 FB DD 74 -R 00 00 01 00 -T 92 00 00 00 FC 21 14 00 39 7E DD 96 FD 77 23 -R 00 00 01 00 -T 9D 00 00 00 7E DD 9E FE 77 -R 00 00 01 00 -T A2 00 00 00 -R 00 00 01 00 -T A2 00 00 00 DD 7E 0E DD B6 0F 20 09 DD 7E FD -R 00 00 01 00 -T AD 00 00 00 DD B6 FE CA 68 01 00 00 -R 00 00 01 00 00 08 01 00 -T B3 00 00 00 -R 00 00 01 00 -T B3 00 00 00 -R 00 00 01 00 -T B3 00 00 00 -R 00 00 01 00 -T B3 00 00 00 DD 7E 08 DD B6 09 20 34 DD 7E 0E -R 00 00 01 00 -T BE 00 00 00 DD B6 0F 28 2C -R 00 00 01 00 -T C3 00 00 00 -R 00 00 01 00 -T C3 00 00 00 -R 00 00 01 00 -T C3 00 00 00 -R 00 00 01 00 -T C3 00 00 00 DD 7E FD DD B6 FE 28 0F AF DD B6 -R 00 00 01 00 -T CE 00 00 00 0A 28 09 DD 7E 0C FE 30 20 02 -R 00 00 01 00 -T D8 00 00 00 -R 00 00 01 00 -T D8 00 00 00 -R 00 00 01 00 -T D8 00 00 00 -R 00 00 01 00 -T D8 00 00 00 18 23 -R 00 00 01 00 -T DA 00 00 00 -R 00 00 01 00 -T DA 00 00 00 DD 46 0C DD 70 FA DD 6E 0E DD 66 -R 00 00 01 00 -T E5 00 00 00 0F 2B DD 75 0E DD 74 0F 18 4E -R 00 00 01 00 -T EF 00 00 00 -R 00 00 01 00 -T EF 00 00 00 DD 7E FD DD B6 FE 28 33 -R 00 00 01 00 -T F7 00 00 00 -R 00 00 01 00 -T F7 00 00 00 AF DD B6 0A 28 0C -R 00 00 01 00 -T FD 00 00 00 -R 00 00 01 00 -T FD 00 00 00 -R 00 00 01 00 -T FD 00 00 00 DD 46 0A DD 70 FA DD 36 0A 00 18 -R 00 00 01 00 -T 08 01 00 00 12 -R 00 00 01 00 -T 09 01 00 00 -R 00 00 01 00 -T 09 01 00 00 DD 6E 04 DD 66 05 23 DD 75 04 DD -R 00 00 01 00 -T 14 01 00 00 74 05 2B 46 DD 70 FA -R 00 00 01 00 -T 1B 01 00 00 -R 00 00 01 00 -T 1B 01 00 00 DD 6E FD DD 66 FE 2B DD 75 FD DD -R 00 00 01 00 -T 26 01 00 00 74 FE 18 13 -R 00 00 01 00 -T 2A 01 00 00 -R 00 00 01 00 -T 2A 01 00 00 DD 46 0C DD 70 FA DD 6E 0E DD 66 -R 00 00 01 00 -T 35 01 00 00 0F 2B DD 75 0E DD 74 0F -R 00 00 01 00 -T 3D 01 00 00 -R 00 00 01 00 -T 3D 01 00 00 -R 00 00 01 00 -T 3D 01 00 00 DD 4E 02 DD 46 03 DD 5E FA 16 00 -R 00 00 01 00 -T 48 01 00 00 CD 00 00 00 00 DD 7E FA FE 0A 20 -R 00 00 01 00 02 05 07 00 -T 51 01 00 00 13 3E 01 DD AE 12 DD B6 13 20 09 -R 00 00 01 00 -T 5C 01 00 00 -R 00 00 01 00 -T 5C 01 00 00 -R 00 00 01 00 -T 5C 01 00 00 -R 00 00 01 00 -T 5C 01 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 65 01 00 00 -R 00 00 01 00 -T 65 01 00 00 C3 A2 00 00 00 -R 00 00 01 00 00 05 01 00 -T 68 01 00 00 -R 00 00 01 00 -T 68 01 00 00 DD 6E FB DD 66 FC C3 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T 71 01 00 00 -R 00 00 01 00 -T 71 01 00 00 CD 00 00 00 00 A2 FF AF DD 77 B0 -R 00 00 01 00 02 05 0A 00 -T 7A 01 00 00 DD 77 B1 21 0C 00 DD 5E 02 DD 56 -R 00 00 01 00 -T 85 01 00 00 03 19 7E E6 03 4F 23 7E E6 00 47 -R 00 00 01 00 -T 90 01 00 00 DD 71 FD DD 70 FE 21 0C 00 19 7E -R 00 00 01 00 -T 9B 01 00 00 E6 FC 77 23 7E E6 FF 77 -R 00 00 01 00 -T A3 01 00 00 -R 00 00 01 00 -T A3 01 00 00 DD 6E 04 DD 66 05 AF B6 CA -R 00 00 01 00 -T AC 01 00 00 53 06 00 00 -R 00 00 01 00 00 04 01 00 -T AE 01 00 00 -R 00 00 01 00 -T AE 01 00 00 DD 6E 04 DD 66 05 7E FE 25 C2 -R 00 00 01 00 -T B8 01 00 00 10 06 00 00 -R 00 00 01 00 00 04 01 00 -T BA 01 00 00 -R 00 00 01 00 -T BA 01 00 00 3E 02 DD AE FD DD B6 FE 20 09 -R 00 00 01 00 -T C4 01 00 00 -R 00 00 01 00 -T C4 01 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T CD 01 00 00 -R 00 00 01 00 -T CD 01 00 00 AF DD 77 A4 DD 77 A5 DD 36 B3 00 -R 00 00 01 00 -T D8 01 00 00 DD 36 B2 20 DD 36 AC FF DD 36 AD -R 00 00 01 00 -T E3 01 00 00 FF AF DD 77 AA DD 77 AB DD 36 A8 -R 00 00 01 00 -T EE 01 00 00 FF DD 36 A9 FF DD 36 AE 0A DD 36 -R 00 00 01 00 -T F9 01 00 00 AF 00 21 1B 00 39 DD 75 B5 DD 74 -R 00 00 01 00 -T 04 02 00 00 B6 DD 36 B4 00 AF DD 77 A6 DD 77 -R 00 00 01 00 -T 0F 02 00 00 A7 -R 00 00 01 00 -T 10 02 00 00 -R 00 00 01 00 -T 10 02 00 00 AF DD 77 A2 DD 77 A3 DD 34 04 20 -R 00 00 01 00 -T 1B 02 00 00 03 DD 34 05 -R 00 00 01 00 -T 1F 02 00 00 -R 00 00 01 00 -T 1F 02 00 00 -R 00 00 01 00 -T 1F 02 00 00 DD 6E 04 DD 66 05 7E FE 30 38 0B -R 00 00 01 00 -T 2A 02 00 00 DD 6E 04 DD 66 05 3E 39 BE 30 02 -R 00 00 01 00 -T 35 02 00 00 -R 00 00 01 00 -T 35 02 00 00 -R 00 00 01 00 -T 35 02 00 00 -R 00 00 01 00 -T 35 02 00 00 18 65 -R 00 00 01 00 -T 37 02 00 00 -R 00 00 01 00 -T 37 02 00 00 21 00 00 39 01 0A 00 CD -R 00 00 01 00 -T 3F 02 00 00 00 00 00 00 DD 6E 04 DD 66 05 4E -R 00 00 01 00 02 04 01 00 -T 48 02 00 00 06 00 21 D0 FF 09 4D 44 21 00 00 -R 00 00 01 00 -T 53 02 00 00 39 7E 81 77 23 7E 88 77 DD 7E AA -R 00 00 01 00 -T 5E 02 00 00 DD B6 AB 28 0E -R 00 00 01 00 -T 63 02 00 00 -R 00 00 01 00 -T 63 02 00 00 DD 6E A2 DD 66 A3 DD 75 A8 DD 74 -R 00 00 01 00 -T 6E 02 00 00 A9 18 21 -R 00 00 01 00 -T 71 02 00 00 -R 00 00 01 00 -T 71 02 00 00 DD 7E A2 DD B6 A3 20 0D DD 7E B2 -R 00 00 01 00 -T 7C 02 00 00 FE 20 20 06 -R 00 00 01 00 -T 80 02 00 00 -R 00 00 01 00 -T 80 02 00 00 -R 00 00 01 00 -T 80 02 00 00 -R 00 00 01 00 -T 80 02 00 00 DD 36 B2 30 18 8A -R 00 00 01 00 -T 86 02 00 00 -R 00 00 01 00 -T 86 02 00 00 DD 6E A2 DD 66 A3 DD 75 AC DD 74 -R 00 00 01 00 -T 91 02 00 00 AD -R 00 00 01 00 -T 92 02 00 00 -R 00 00 01 00 -T 92 02 00 00 DD 34 04 20 03 DD 34 05 -R 00 00 01 00 -T 9A 02 00 00 -R 00 00 01 00 -T 9A 02 00 00 18 83 -R 00 00 01 00 -T 9C 02 00 00 -R 00 00 01 00 -T 9C 02 00 00 DD 6E 04 DD 66 05 5E CD -R 00 00 01 00 -T A4 02 00 00 00 00 00 00 14 00 00 20 21 23 2A -R 00 00 01 00 02 04 05 00 -T AD 02 00 00 2B 2D 2E 58 62 63 64 68 69 6C 6F -R 00 00 01 00 -T B8 02 00 00 70 73 75 78 0C 06 00 00 -R 00 00 01 00 00 08 01 00 -T BE 02 00 00 23 04 00 00 2B 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T C2 02 00 00 9F 05 00 00 FE 03 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T C6 02 00 00 F4 03 00 00 7F 03 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T CA 02 00 00 94 03 00 00 8A 03 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T CE 02 00 00 94 03 00 00 5C 05 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T D2 02 00 00 EA 03 00 00 19 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T D6 02 00 00 74 03 00 00 F6 02 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T DA 02 00 00 01 03 00 00 15 03 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T DE 02 00 00 0E 03 00 00 3E 05 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T E2 02 00 00 01 03 00 00 E6 02 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T E6 02 00 00 -R 00 00 01 00 -T E6 02 00 00 DD 6E 04 DD 66 05 2B DD 75 04 DD -R 00 00 01 00 -T F1 02 00 00 74 05 C3 10 06 00 00 -R 00 00 01 00 00 07 01 00 -T F6 02 00 00 -R 00 00 01 00 -T F6 02 00 00 DD 36 A4 01 DD 36 A5 00 C3 -R 00 00 01 00 -T FF 02 00 00 10 02 00 00 -R 00 00 01 00 00 04 01 00 -T 01 03 00 00 -R 00 00 01 00 -T 01 03 00 00 DD 6E 04 DD 66 05 46 DD 70 B3 C3 -R 00 00 01 00 -T 0C 03 00 00 10 02 00 00 -R 00 00 01 00 00 04 01 00 -T 0E 03 00 00 -R 00 00 01 00 -T 0E 03 00 00 DD 36 B4 01 C3 10 02 00 00 -R 00 00 01 00 00 09 01 00 -T 15 03 00 00 -R 00 00 01 00 -T 15 03 00 00 21 66 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T 20 03 00 00 00 77 2B 6E 67 2B 2B 46 23 66 68 -R 00 00 01 00 -T 2B 03 00 00 DD 75 A2 DD 74 A3 DD 7E AA DD B6 -R 00 00 01 00 -T 36 03 00 00 AB 28 0E -R 00 00 01 00 -T 39 03 00 00 -R 00 00 01 00 -T 39 03 00 00 DD 6E A2 DD 66 A3 DD 75 A8 DD 74 -R 00 00 01 00 -T 44 03 00 00 A9 18 2A -R 00 00 01 00 -T 47 03 00 00 -R 00 00 01 00 -T 47 03 00 00 DD 6E A2 DD 66 A3 DD 75 AC DD 74 -R 00 00 01 00 -T 52 03 00 00 AD CB 7C 28 1A -R 00 00 01 00 -T 57 03 00 00 -R 00 00 01 00 -T 57 03 00 00 DD 36 A4 01 DD 36 A5 00 DD 4E A2 -R 00 00 01 00 -T 62 03 00 00 DD 46 A3 A7 21 00 00 ED 42 DD 75 -R 00 00 01 00 -T 6D 03 00 00 AC DD 74 AD -R 00 00 01 00 -T 71 03 00 00 -R 00 00 01 00 -T 71 03 00 00 -R 00 00 01 00 -T 71 03 00 00 C3 10 02 00 00 -R 00 00 01 00 00 05 01 00 -T 74 03 00 00 -R 00 00 01 00 -T 74 03 00 00 DD 36 AA 01 DD 36 AB 00 C3 -R 00 00 01 00 -T 7D 03 00 00 10 02 00 00 -R 00 00 01 00 00 04 01 00 -T 7F 03 00 00 -R 00 00 01 00 -T 7F 03 00 00 DD 36 A6 01 DD 36 A7 00 C3 -R 00 00 01 00 -T 88 03 00 00 10 02 00 00 -R 00 00 01 00 00 04 01 00 -T 8A 03 00 00 -R 00 00 01 00 -T 8A 03 00 00 AF DD 77 A6 DD 77 A7 C3 -R 00 00 01 00 -T 92 03 00 00 10 02 00 00 -R 00 00 01 00 00 04 01 00 -T 94 03 00 00 -R 00 00 01 00 -T 94 03 00 00 21 0A 00 E5 21 1D 00 39 E5 DD 7E -R 00 00 01 00 -T 9F 03 00 00 A6 DD B6 A7 28 1D 21 6A 00 39 7E -R 00 00 01 00 -T AA 03 00 00 C6 04 77 23 7E CE 00 77 2B 6E 67 -R 00 00 01 00 -T B5 03 00 00 01 FC FF 09 5E 23 56 23 4E 23 46 -R 00 00 01 00 -T C0 03 00 00 18 1A -R 00 00 01 00 -T C2 03 00 00 -R 00 00 01 00 -T C2 03 00 00 21 6A 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T CD 03 00 00 00 77 2B 6E 67 2B 2B 5E 23 56 7A -R 00 00 01 00 -T D8 03 00 00 07 9F 4F 41 -R 00 00 01 00 -T DC 03 00 00 -R 00 00 01 00 -T DC 03 00 00 CD 00 00 00 00 F1 F1 DD 75 B5 DD -R 00 00 01 00 02 05 0B 00 -T E5 03 00 00 74 B6 C3 C3 05 00 00 -R 00 00 01 00 00 07 01 00 -T EA 03 00 00 -R 00 00 01 00 -T EA 03 00 00 DD 36 AE 02 DD 36 AF 00 18 37 -R 00 00 01 00 -T F4 03 00 00 -R 00 00 01 00 -T F4 03 00 00 DD 36 AE 08 DD 36 AF 00 18 2D -R 00 00 01 00 -T FE 03 00 00 -R 00 00 01 00 -T FE 03 00 00 AF DD 77 A6 DD 77 A7 DD 36 B2 30 -R 00 00 01 00 -T 09 04 00 00 DD 36 AC 05 DD 36 AD 00 DD 36 A8 -R 00 00 01 00 -T 14 04 00 00 08 DD 36 A9 00 -R 00 00 01 00 -T 19 04 00 00 -R 00 00 01 00 -T 19 04 00 00 DD 36 AE 10 DD 36 AF 00 18 08 -R 00 00 01 00 -T 23 04 00 00 -R 00 00 01 00 -T 23 04 00 00 DD 36 AE F0 DD 36 AF FF -R 00 00 01 00 -T 2B 04 00 00 -R 00 00 01 00 -T 2B 04 00 00 -R 00 00 01 00 -T 2B 04 00 00 DD 7E A6 DD B6 A7 28 1E 21 66 00 -R 00 00 01 00 -T 36 04 00 00 39 7E C6 04 77 23 7E CE 00 77 2B -R 00 00 01 00 -T 41 04 00 00 6E 67 01 FC FF 09 5E 23 56 23 4E -R 00 00 01 00 -T 4C 04 00 00 23 46 EB 18 19 -R 00 00 01 00 -T 51 04 00 00 -R 00 00 01 00 -T 51 04 00 00 21 66 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T 5C 04 00 00 00 77 2B 6E 67 2B 2B 46 23 66 68 -R 00 00 01 00 -T 67 04 00 00 01 00 00 -R 00 00 01 00 -T 6A 04 00 00 -R 00 00 01 00 -T 6A 04 00 00 DD 75 B9 DD 74 BA DD 71 BB DD 70 -R 00 00 01 00 -T 75 04 00 00 BC DD 5E AE DD 56 AF D5 21 1D 00 -R 00 00 01 00 -T 80 04 00 00 39 01 04 00 09 E5 DD 4E BB DD 46 -R 00 00 01 00 -T 8B 04 00 00 BC DD 5E B9 DD 56 BA CD -R 00 00 01 00 -T 93 04 00 00 00 00 00 00 F1 F1 DD 75 B5 DD 74 -R 00 00 01 00 02 04 08 00 -T 9C 04 00 00 B6 DD 36 B7 00 00 00 00 DD 36 B8 -R 00 00 01 00 09 08 02 00 -T A4 04 00 00 00 00 00 00 AF DD B6 B4 CA -R 00 00 01 00 89 04 02 00 -T AA 04 00 00 3B 05 00 00 -R 00 00 01 00 00 04 01 00 -T AC 04 00 00 -R 00 00 01 00 -T AC 04 00 00 3E 02 DD AE AE DD B6 AF 20 0A -R 00 00 01 00 -T B6 04 00 00 -R 00 00 01 00 -T B6 04 00 00 DD 36 B7 01 00 00 00 DD 36 B8 -R 00 00 01 00 09 07 02 00 -T BD 04 00 00 01 00 00 00 18 49 -R 00 00 01 00 89 04 02 00 -T C0 04 00 00 -R 00 00 01 00 -T C0 04 00 00 3E 08 DD AE AE DD B6 AF 20 18 -R 00 00 01 00 -T CA 04 00 00 -R 00 00 01 00 -T CA 04 00 00 DD 7E B9 DD B6 BA DD B6 BB DD B6 -R 00 00 01 00 -T D5 04 00 00 BC 28 08 -R 00 00 01 00 -T D8 04 00 00 -R 00 00 01 00 -T D8 04 00 00 DD 36 B7 04 00 00 00 DD 36 B8 -R 00 00 01 00 09 07 02 00 -T DF 04 00 00 04 00 00 00 -R 00 00 01 00 89 04 02 00 -T E0 04 00 00 -R 00 00 01 00 -T E0 04 00 00 18 27 -R 00 00 01 00 -T E2 04 00 00 -R 00 00 01 00 -T E2 04 00 00 3E 10 DD AE AE DD B6 AF 20 0A -R 00 00 01 00 -T EC 04 00 00 -R 00 00 01 00 -T EC 04 00 00 DD 36 B7 06 00 00 00 DD 36 B8 -R 00 00 01 00 09 07 02 00 -T F3 04 00 00 06 00 00 00 18 13 -R 00 00 01 00 89 04 02 00 -T F6 04 00 00 -R 00 00 01 00 -T F6 04 00 00 3E 0F DD AE AE DD A6 AF 3C 20 08 -R 00 00 01 00 -T 01 05 00 00 -R 00 00 01 00 -T 01 05 00 00 DD 36 B7 09 00 00 00 DD 36 B8 -R 00 00 01 00 09 07 02 00 -T 08 05 00 00 09 00 00 00 -R 00 00 01 00 89 04 02 00 -T 09 05 00 00 -R 00 00 01 00 -T 09 05 00 00 -R 00 00 01 00 -T 09 05 00 00 -R 00 00 01 00 -T 09 05 00 00 -R 00 00 01 00 -T 09 05 00 00 DD 6E B7 DD 66 B8 AF B6 28 28 -R 00 00 01 00 -T 13 05 00 00 -R 00 00 01 00 -T 13 05 00 00 DD 36 B2 00 DD 4E B7 DD 46 B8 21 -R 00 00 01 00 -T 1E 05 00 00 1B 00 39 5D 54 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 09 00 -T 27 05 00 00 4E B5 DD 46 B6 21 1B 00 39 5D 54 -R 00 00 01 00 -T 32 05 00 00 CD 00 00 00 00 DD 75 B5 DD 74 B6 -R 00 00 01 00 02 05 03 00 -T 3B 05 00 00 -R 00 00 01 00 -T 3B 05 00 00 -R 00 00 01 00 -T 3B 05 00 00 C3 C3 05 00 00 -R 00 00 01 00 00 05 01 00 -T 3E 05 00 00 -R 00 00 01 00 -T 3E 05 00 00 DD 6E 04 DD 66 05 23 4E 06 00 DD -R 00 00 01 00 -T 49 05 00 00 71 A2 DD 70 A3 79 B0 28 08 -R 00 00 01 00 -T 52 05 00 00 -R 00 00 01 00 -T 52 05 00 00 DD 34 04 20 03 DD 34 05 -R 00 00 01 00 -T 5A 05 00 00 -R 00 00 01 00 -T 5A 05 00 00 -R 00 00 01 00 -T 5A 05 00 00 18 1C -R 00 00 01 00 -T 5C 05 00 00 -R 00 00 01 00 -T 5C 05 00 00 21 66 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T 67 05 00 00 00 77 2B 6E 67 2B 2B 46 23 66 68 -R 00 00 01 00 -T 72 05 00 00 DD 75 A2 DD 74 A3 -R 00 00 01 00 -T 78 05 00 00 -R 00 00 01 00 -T 78 05 00 00 DD 46 A2 DD 6E B5 DD 66 B6 70 DD -R 00 00 01 00 -T 83 05 00 00 6E B5 DD 66 B6 23 36 00 AF DD B6 -R 00 00 01 00 -T 8E 05 00 00 B4 28 0C -R 00 00 01 00 -T 91 05 00 00 -R 00 00 01 00 -T 91 05 00 00 DD 6E B5 DD 66 B6 46 DD 70 B2 18 -R 00 00 01 00 -T 9C 05 00 00 22 -R 00 00 01 00 -T 9D 05 00 00 -R 00 00 01 00 -T 9D 05 00 00 18 1C -R 00 00 01 00 -T 9F 05 00 00 -R 00 00 01 00 -T 9F 05 00 00 21 66 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T AA 05 00 00 00 77 2B 6E 67 2B 2B 46 23 66 68 -R 00 00 01 00 -T B5 05 00 00 DD 75 B5 DD 74 B6 -R 00 00 01 00 -T BB 05 00 00 -R 00 00 01 00 -T BB 05 00 00 DD 36 B2 20 -R 00 00 01 00 -T BF 05 00 00 -R 00 00 01 00 -T BF 05 00 00 DD 36 B3 00 -R 00 00 01 00 -T C3 05 00 00 -R 00 00 01 00 -T C3 05 00 00 DD 6E FD DD 66 FE E5 DD 6E A8 DD -R 00 00 01 00 -T CE 05 00 00 66 A9 E5 DD 6E AC DD 66 AD E5 DD -R 00 00 01 00 -T D9 05 00 00 6E B2 E5 DD 6E B3 E5 DD 6E A4 DD -R 00 00 01 00 -T E4 05 00 00 66 A5 E5 DD 4E B5 DD 46 B6 DD 5E -R 00 00 01 00 -T EF 05 00 00 02 DD 56 03 CD 00 00 00 00 EB 21 -R 00 00 01 00 00 09 01 00 -T F8 05 00 00 0C 00 39 F9 EB 4D 44 21 0E 00 39 -R 00 00 01 00 -T 03 06 00 00 7E 81 77 23 7E 88 77 18 02 -R 00 00 01 00 -T 0C 06 00 00 -R 00 00 01 00 -T 0C 06 00 00 18 02 -R 00 00 01 00 -T 0E 06 00 00 -R 00 00 01 00 -T 0E 06 00 00 18 38 -R 00 00 01 00 -T 10 06 00 00 -R 00 00 01 00 -T 10 06 00 00 -R 00 00 01 00 -T 10 06 00 00 DD 4E 02 DD 46 03 DD 6E 04 DD 66 -R 00 00 01 00 -T 1B 06 00 00 05 5E 16 00 CD 00 00 00 00 DD 34 -R 00 00 01 00 02 09 07 00 -T 24 06 00 00 B0 20 03 DD 34 B1 -R 00 00 01 00 -T 2A 06 00 00 -R 00 00 01 00 -T 2A 06 00 00 DD 6E 04 DD 66 05 7E FE 0A 20 13 -R 00 00 01 00 -T 35 06 00 00 3E 01 DD AE FD DD B6 FE 20 09 -R 00 00 01 00 -T 3F 06 00 00 -R 00 00 01 00 -T 3F 06 00 00 -R 00 00 01 00 -T 3F 06 00 00 -R 00 00 01 00 -T 3F 06 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 48 06 00 00 -R 00 00 01 00 -T 48 06 00 00 -R 00 00 01 00 -T 48 06 00 00 DD 34 04 20 03 DD 34 05 -R 00 00 01 00 -T 50 06 00 00 -R 00 00 01 00 -T 50 06 00 00 C3 A3 01 00 00 -R 00 00 01 00 00 05 01 00 -T 53 06 00 00 -R 00 00 01 00 -T 53 06 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 5E 06 00 00 DD B6 FD 77 23 7E DD B6 FE 77 3E -R 00 00 01 00 -T 69 06 00 00 02 DD AE FD DD B6 FE 20 09 -R 00 00 01 00 -T 72 06 00 00 -R 00 00 01 00 -T 72 06 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 7B 06 00 00 -R 00 00 01 00 -T 7B 06 00 00 3E 01 DD AE FD DD B6 FE 20 16 -R 00 00 01 00 -T 85 06 00 00 -R 00 00 01 00 -T 85 06 00 00 21 04 00 DD 4E 02 DD 46 03 09 E5 -R 00 00 01 00 -T 90 06 00 00 21 06 00 09 4E 23 46 E1 71 23 70 -R 00 00 01 00 -T 9B 06 00 00 -R 00 00 01 00 -T 9B 06 00 00 DD 6E B0 DD 66 B1 C3 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 -R 00 00 02 00 -T 01 00 00 00 -R 00 00 02 00 -T 01 00 00 00 30 62 00 -R 00 00 02 00 -T 04 00 00 00 -R 00 00 02 00 -T 04 00 00 00 30 00 -R 00 00 02 00 -T 06 00 00 00 -R 00 00 02 00 -T 06 00 00 00 30 78 00 -R 00 00 02 00 -T 09 00 00 00 -R 00 00 02 00 -T 09 00 00 00 30 58 00 -R 00 00 02 00 diff --git a/lib/relcl/vfscanf.rel b/lib/relcl/vfscanf.rel deleted file mode 100644 index 872b4042..00000000 --- a/lib/relcl/vfscanf.rel +++ /dev/null @@ -1,923 +0,0 @@ -XL4 -H 3 areas 10 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?L_MUL_L03 Ref00000000 -S ungetc Ref00000000 -S fgetc Ref00000000 -S ?S_MUL_L02 Ref00000000 -S strchr Ref00000000 -S ?C_V_SWITCH_L06 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S __ctype Ref00000000 -S strcpy Ref00000000 -S ?S_S_SWITCH_L06 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?L_NEG_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 851 flags 0 -S vfscanf Def00000000 -A CSTR size 18 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 50 FF AF DD 77 FD -R 00 00 01 00 02 05 0B 00 -T 09 00 00 00 DD 77 FE 79 B0 28 0A DD 6E 04 DD -R 00 00 01 00 -T 14 00 00 00 66 05 AF B6 20 06 -R 00 00 01 00 -T 1A 00 00 00 -R 00 00 01 00 -T 1A 00 00 00 -R 00 00 01 00 -T 1A 00 00 00 -R 00 00 01 00 -T 1A 00 00 00 21 00 00 C3 4E 08 00 00 -R 00 00 01 00 00 08 01 00 -T 20 00 00 00 -R 00 00 01 00 -T 20 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 29 00 00 00 DD 75 F7 DD 74 F8 -R 00 00 01 00 -T 2F 00 00 00 -R 00 00 01 00 -T 2F 00 00 00 DD 4E F7 DD 46 F8 21 00 00 CD -R 00 00 01 00 -T 39 00 00 00 00 00 00 00 D2 1A 08 00 00 -R 00 00 01 00 02 04 0C 00 00 09 01 00 -T 3E 00 00 00 -R 00 00 01 00 -T 3E 00 00 00 AF DD 77 E9 DD 77 EA DD 6E 04 DD -R 00 00 01 00 -T 49 00 00 00 66 05 7E FE 25 C2 A0 07 00 00 -R 00 00 01 00 00 0A 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 21 00 00 39 AF 77 23 77 23 77 23 -R 00 00 01 00 -T 5C 00 00 00 77 DD 36 F9 FF DD 36 FA FF DD 36 -R 00 00 01 00 -T 67 00 00 00 EF 01 DD 36 F0 00 DD 36 ED 0A DD -R 00 00 01 00 -T 72 00 00 00 36 EE 00 AF DD 77 FB DD 77 FC DD -R 00 00 01 00 -T 7D 00 00 00 36 E9 01 DD 36 EA 00 DD 36 F1 01 -R 00 00 01 00 -T 88 00 00 00 DD 36 F2 00 DD 36 EB FF DD 36 EC -R 00 00 01 00 -T 93 00 00 00 FF 01 00 00 00 00 21 06 00 39 5D -R 00 00 01 00 00 06 02 00 -T 9C 00 00 00 54 CD 00 00 00 00 01 07 00 00 00 -R 00 00 01 00 02 06 09 00 00 0B 02 00 -T A3 00 00 00 21 86 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 09 00 -T AC 00 00 00 DD 6E 04 DD 66 05 23 7E FE 2A 20 -R 00 00 01 00 -T B7 00 00 00 16 -R 00 00 01 00 -T B8 00 00 00 -R 00 00 01 00 -T B8 00 00 00 AF DD 77 E9 DD 77 EA AF DD 77 F1 -R 00 00 01 00 -T C3 00 00 00 DD 77 F2 DD 34 04 20 03 DD 34 05 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 DD 6E 04 DD 66 05 23 DD 75 04 DD -R 00 00 01 00 -T D9 00 00 00 74 05 4E 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 08 00 -T E2 00 00 00 7E E6 08 28 38 -R 00 00 01 00 -T E7 00 00 00 -R 00 00 01 00 -T E7 00 00 00 DD 7E F9 DD A6 FA 3C 20 07 -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 AF DD 77 F9 DD 77 FA -R 00 00 01 00 -T F7 00 00 00 -R 00 00 01 00 -T F7 00 00 00 DD 6E 04 DD 66 05 4E 06 00 21 -R 00 00 01 00 -T 01 01 00 00 D0 FF 09 01 0A 00 DD 5E F9 DD 56 -R 00 00 01 00 -T 0C 01 00 00 FA CD 00 00 00 00 19 DD 75 F9 DD -R 00 00 01 00 02 06 04 00 -T 15 01 00 00 74 FA DD 75 EF DD 74 F0 18 AF -R 00 00 01 00 -T 1F 01 00 00 -R 00 00 01 00 -T 1F 01 00 00 DD 6E 04 DD 66 05 2B DD 75 04 DD -R 00 00 01 00 -T 2A 01 00 00 74 05 -R 00 00 01 00 -T 2C 01 00 00 -R 00 00 01 00 -T 2C 01 00 00 DD 34 04 20 03 DD 34 05 -R 00 00 01 00 -T 34 01 00 00 -R 00 00 01 00 -T 34 01 00 00 DD 6E 04 DD 66 05 4E 06 00 21 -R 00 00 01 00 -T 3E 01 00 00 00 00 00 00 09 7E E6 02 28 0C DD -R 00 00 01 00 02 04 08 00 -T 47 01 00 00 6E 04 DD 66 05 7E EE 20 5F 18 07 -R 00 00 01 00 -T 52 01 00 00 -R 00 00 01 00 -T 52 01 00 00 DD 6E 04 DD 66 05 5E -R 00 00 01 00 -T 59 01 00 00 -R 00 00 01 00 -T 59 01 00 00 CD 00 00 00 00 0D 00 00 2A 5B 62 -R 00 00 01 00 02 05 06 00 -T 62 01 00 00 63 64 68 69 6C 6F 73 75 78 -R 00 00 01 00 -T 6B 01 00 00 9C 07 00 00 C7 01 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 6F 01 00 00 D8 01 00 00 4A 06 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 73 01 00 00 BD 01 00 00 97 01 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 77 01 00 00 AA 01 00 00 A1 01 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 7B 01 00 00 D1 01 00 00 C2 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 7F 01 00 00 B3 01 00 00 E5 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 83 01 00 00 87 01 00 00 8F 07 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 87 01 00 00 -R 00 00 01 00 -T 87 01 00 00 AF DD 77 E9 DD 77 EA AF DD 77 F1 -R 00 00 01 00 -T 92 01 00 00 DD 77 F2 18 95 -R 00 00 01 00 -T 97 01 00 00 -R 00 00 01 00 -T 97 01 00 00 DD 36 FB 01 DD 36 FC 00 18 8B -R 00 00 01 00 -T A1 01 00 00 -R 00 00 01 00 -T A1 01 00 00 AF DD 77 FB DD 77 FC 18 82 -R 00 00 01 00 -T AA 01 00 00 -R 00 00 01 00 -T AA 01 00 00 AF DD 77 ED DD 77 EE 18 25 -R 00 00 01 00 -T B3 01 00 00 -R 00 00 01 00 -T B3 01 00 00 DD 36 ED 02 DD 36 EE 00 18 1B -R 00 00 01 00 -T BD 01 00 00 -R 00 00 01 00 -T BD 01 00 00 DD 36 ED 08 DD 36 EE 00 18 11 -R 00 00 01 00 -T C7 01 00 00 -R 00 00 01 00 -T C7 01 00 00 DD 36 ED 10 DD 36 EE 00 18 07 -R 00 00 01 00 -T D1 01 00 00 -R 00 00 01 00 -T D1 01 00 00 AF DD 77 EB DD 77 EC -R 00 00 01 00 -T D8 01 00 00 -R 00 00 01 00 -T D8 01 00 00 -R 00 00 01 00 -T D8 01 00 00 -R 00 00 01 00 -T D8 01 00 00 DD 4E F7 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 08 00 -T E1 01 00 00 7E E6 10 28 1E -R 00 00 01 00 -T E6 01 00 00 -R 00 00 01 00 -T E6 01 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T EF 01 00 00 DD 75 F7 DD 74 F8 4D 44 21 00 00 -R 00 00 01 00 -T FA 01 00 00 CD 00 00 00 00 38 03 -R 00 00 01 00 02 05 0C 00 -T FF 01 00 00 -R 00 00 01 00 -T FF 01 00 00 C3 1A 08 00 00 -R 00 00 01 00 00 05 01 00 -T 02 02 00 00 -R 00 00 01 00 -T 02 02 00 00 18 D4 -R 00 00 01 00 -T 04 02 00 00 -R 00 00 01 00 -T 04 02 00 00 DD 6E 04 DD 66 05 4E 06 00 21 -R 00 00 01 00 -T 0E 02 00 00 00 00 00 00 09 7E E6 02 28 08 -R 00 00 01 00 02 04 08 00 -T 16 02 00 00 -R 00 00 01 00 -T 16 02 00 00 DD 36 FB 01 DD 36 FC 00 -R 00 00 01 00 -T 1E 02 00 00 -R 00 00 01 00 -T 1E 02 00 00 DD 7E ED DD B6 EE C2 C1 02 00 00 -R 00 00 01 00 00 0B 01 00 -T 27 02 00 00 -R 00 00 01 00 -T 27 02 00 00 DD 36 ED 0A DD 36 EE 00 AF DD 77 -R 00 00 01 00 -T 32 02 00 00 EB DD 77 EC 3E 25 DD AE F7 DD B6 -R 00 00 01 00 -T 3D 02 00 00 F8 20 0B -R 00 00 01 00 -T 40 02 00 00 -R 00 00 01 00 -T 40 02 00 00 DD 36 ED 02 DD 36 EE 00 C3 -R 00 00 01 00 -T 49 02 00 00 F9 02 00 00 -R 00 00 01 00 00 04 01 00 -T 4B 02 00 00 -R 00 00 01 00 -T 4B 02 00 00 3E 30 DD AE F7 DD B6 F8 20 6C -R 00 00 01 00 -T 55 02 00 00 -R 00 00 01 00 -T 55 02 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 5E 02 00 00 DD 75 F7 DD 74 F8 4D 44 21 00 00 -R 00 00 01 00 -T 69 02 00 00 CD 00 00 00 00 38 03 -R 00 00 01 00 02 05 0C 00 -T 6E 02 00 00 -R 00 00 01 00 -T 6E 02 00 00 C3 2E 04 00 00 -R 00 00 01 00 00 05 01 00 -T 71 02 00 00 -R 00 00 01 00 -T 71 02 00 00 3E 62 DD AE F7 DD B6 F8 28 0A 3E -R 00 00 01 00 -T 7C 02 00 00 42 DD AE F7 DD B6 F8 20 0F -R 00 00 01 00 -T 85 02 00 00 -R 00 00 01 00 -T 85 02 00 00 -R 00 00 01 00 -T 85 02 00 00 -R 00 00 01 00 -T 85 02 00 00 DD 36 ED 02 DD 36 EE 00 DD 36 D8 -R 00 00 01 00 -T 90 02 00 00 00 C3 F5 03 00 00 -R 00 00 01 00 00 06 01 00 -T 94 02 00 00 -R 00 00 01 00 -T 94 02 00 00 3E 78 DD AE F7 DD B6 F8 28 19 3E -R 00 00 01 00 -T 9F 02 00 00 58 DD AE F7 DD B6 F8 28 0F -R 00 00 01 00 -T A8 02 00 00 -R 00 00 01 00 -T A8 02 00 00 -R 00 00 01 00 -T A8 02 00 00 -R 00 00 01 00 -T A8 02 00 00 DD 36 ED 08 DD 36 EE 00 DD 36 DE -R 00 00 01 00 -T B3 02 00 00 00 C3 F5 03 00 00 -R 00 00 01 00 00 06 01 00 -T B7 02 00 00 -R 00 00 01 00 -T B7 02 00 00 DD 36 ED 10 DD 36 EE 00 18 38 -R 00 00 01 00 -T C1 02 00 00 -R 00 00 01 00 -T C1 02 00 00 -R 00 00 01 00 -T C1 02 00 00 DD 7E EB DD B6 EC 20 4C 3E 0A DD -R 00 00 01 00 -T CC 02 00 00 AE ED DD B6 EE 20 42 3E 2D DD AE -R 00 00 01 00 -T D7 02 00 00 F7 DD B6 F8 20 04 0E 01 18 02 -R 00 00 01 00 -T E1 02 00 00 -R 00 00 01 00 -T E1 02 00 00 0E 00 -R 00 00 01 00 -T E3 02 00 00 -R 00 00 01 00 -T E3 02 00 00 06 00 DD 71 EB DD 70 EC 79 B0 20 -R 00 00 01 00 -T EE 02 00 00 0A 3E 2B DD AE F7 DD B6 F8 20 1C -R 00 00 01 00 -T F9 02 00 00 -R 00 00 01 00 -T F9 02 00 00 -R 00 00 01 00 -T F9 02 00 00 -R 00 00 01 00 -T F9 02 00 00 -R 00 00 01 00 -T F9 02 00 00 -R 00 00 01 00 -T F9 02 00 00 -R 00 00 01 00 -T F9 02 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 02 03 00 00 DD 75 F7 DD 74 F8 4D 44 21 00 00 -R 00 00 01 00 -T 0D 03 00 00 CD 00 00 00 00 38 03 -R 00 00 01 00 02 05 0C 00 -T 12 03 00 00 -R 00 00 01 00 -T 12 03 00 00 C3 1A 08 00 00 -R 00 00 01 00 00 05 01 00 -T 15 03 00 00 -R 00 00 01 00 -T 15 03 00 00 -R 00 00 01 00 -T 15 03 00 00 21 86 00 39 DD 4E ED DD 46 EE 09 -R 00 00 01 00 -T 20 03 00 00 36 00 21 04 00 39 E5 DD 4E F7 06 -R 00 00 01 00 -T 2B 03 00 00 00 21 00 00 00 00 09 7E E6 04 28 -R 00 00 01 00 02 06 08 00 -T 34 03 00 00 0E DD 7E F7 EE 20 4F DD 7E F8 EE -R 00 00 01 00 -T 3F 03 00 00 00 47 18 06 -R 00 00 01 00 -T 43 03 00 00 -R 00 00 01 00 -T 43 03 00 00 DD 4E F7 DD 46 F8 -R 00 00 01 00 -T 49 03 00 00 -R 00 00 01 00 -T 49 03 00 00 21 88 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 52 03 00 00 4D 44 E1 71 23 70 DD 7E F7 DD B6 -R 00 00 01 00 -T 5D 03 00 00 F8 28 09 21 04 00 39 7E 23 B6 20 -R 00 00 01 00 -T 68 03 00 00 0B -R 00 00 01 00 -T 69 03 00 00 -R 00 00 01 00 -T 69 03 00 00 -R 00 00 01 00 -T 69 03 00 00 DD 7E F9 DD B6 FA 28 03 -R 00 00 01 00 -T 71 03 00 00 -R 00 00 01 00 -T 71 03 00 00 -R 00 00 01 00 -T 71 03 00 00 -R 00 00 01 00 -T 71 03 00 00 C3 1A 08 00 00 -R 00 00 01 00 00 05 01 00 -T 74 03 00 00 -R 00 00 01 00 -T 74 03 00 00 -R 00 00 01 00 -T 74 03 00 00 21 04 00 39 7E 23 B6 CA -R 00 00 01 00 -T 7C 03 00 00 2E 04 00 00 DD 6E F9 DD 66 FA 2B -R 00 00 01 00 00 04 01 00 -T 85 03 00 00 DD 75 F9 DD 74 FA 23 7D B4 CA -R 00 00 01 00 -T 8F 03 00 00 2E 04 00 00 DD 7E F7 DD B6 F8 CA -R 00 00 01 00 00 04 01 00 -T 98 03 00 00 2E 04 00 00 -R 00 00 01 00 00 04 01 00 -T 9A 03 00 00 -R 00 00 01 00 -T 9A 03 00 00 -R 00 00 01 00 -T 9A 03 00 00 -R 00 00 01 00 -T 9A 03 00 00 21 86 00 39 4D 44 21 04 00 39 56 -R 00 00 01 00 -T A5 03 00 00 23 66 6A A7 ED 42 7C 07 9F 4F 41 -R 00 00 01 00 -T B0 03 00 00 C5 E5 DD 6E ED DD 66 EE 7C 07 9F -R 00 00 01 00 -T BB 03 00 00 4F 41 C5 E5 21 08 00 39 5E 23 56 -R 00 00 01 00 -T C6 03 00 00 23 4E 23 46 EB CD 00 00 00 00 59 -R 00 00 01 00 02 0A 01 00 -T CF 03 00 00 50 C1 09 EB C1 ED 4A 4D 44 EB E5 -R 00 00 01 00 -T DA 03 00 00 21 02 00 39 D1 73 23 72 23 71 23 -R 00 00 01 00 -T E5 03 00 00 70 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T ED 03 00 00 00 00 00 00 DD 75 F7 DD 74 F8 -R 00 00 01 00 02 04 03 00 -T F5 03 00 00 -R 00 00 01 00 -T F5 03 00 00 21 04 00 39 E5 DD 4E F7 06 00 21 -R 00 00 01 00 -T 00 04 00 00 00 00 00 00 09 7E E6 04 28 0E DD -R 00 00 01 00 02 04 08 00 -T 09 04 00 00 7E F7 EE 20 4F DD 7E F8 EE 00 47 -R 00 00 01 00 -T 14 04 00 00 18 06 -R 00 00 01 00 -T 16 04 00 00 -R 00 00 01 00 -T 16 04 00 00 DD 4E F7 DD 46 F8 -R 00 00 01 00 -T 1C 04 00 00 -R 00 00 01 00 -T 1C 04 00 00 21 88 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 25 04 00 00 4D 44 E1 71 23 70 C3 74 03 00 00 -R 00 00 01 00 00 0B 01 00 -T 2E 04 00 00 -R 00 00 01 00 -T 2E 04 00 00 -R 00 00 01 00 -T 2E 04 00 00 DD 7E E9 DD B6 EA CA BF 04 00 00 -R 00 00 01 00 00 0B 01 00 -T 37 04 00 00 -R 00 00 01 00 -T 37 04 00 00 3E 01 DD AE EB DD B6 EC 20 1C -R 00 00 01 00 -T 41 04 00 00 -R 00 00 01 00 -T 41 04 00 00 21 00 00 39 5E 23 56 23 4E 23 46 -R 00 00 01 00 -T 4C 04 00 00 EB CD 00 00 00 00 E5 21 02 00 39 -R 00 00 01 00 02 06 0D 00 -T 55 04 00 00 D1 73 23 72 23 71 23 70 -R 00 00 01 00 -T 5D 04 00 00 -R 00 00 01 00 -T 5D 04 00 00 DD 7E FB DD B6 FC 28 2C -R 00 00 01 00 -T 65 04 00 00 -R 00 00 01 00 -T 65 04 00 00 21 B8 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T 70 04 00 00 00 77 2B 6E 67 2B 2B 7E 23 66 6F -R 00 00 01 00 -T 7B 04 00 00 E5 21 02 00 39 5E 23 56 23 4E 23 -R 00 00 01 00 -T 86 04 00 00 46 E1 73 23 72 23 71 23 70 18 26 -R 00 00 01 00 -T 91 04 00 00 -R 00 00 01 00 -T 91 04 00 00 21 B8 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T 9C 04 00 00 00 77 2B 6E 67 2B 2B 7E 23 66 6F -R 00 00 01 00 -T A7 04 00 00 E5 21 02 00 39 5E 23 56 23 4E 23 -R 00 00 01 00 -T B2 04 00 00 46 E1 73 23 72 -R 00 00 01 00 -T B7 04 00 00 -R 00 00 01 00 -T B7 04 00 00 DD 34 FD 20 03 DD 34 FE -R 00 00 01 00 -T BF 04 00 00 -R 00 00 01 00 -T BF 04 00 00 -R 00 00 01 00 -T BF 04 00 00 C3 9E 07 00 00 -R 00 00 01 00 00 05 01 00 -T C2 04 00 00 -R 00 00 01 00 -T C2 04 00 00 DD 6E EF DD 66 F0 DD 75 F9 DD 74 -R 00 00 01 00 -T CD 04 00 00 FA AF DD 77 F1 DD 77 F2 AF DD 77 -R 00 00 01 00 -T D8 04 00 00 FB DD 77 FC 21 06 00 39 36 00 C3 -R 00 00 01 00 -T E3 04 00 00 7D 06 00 00 -R 00 00 01 00 00 04 01 00 -T E5 04 00 00 -R 00 00 01 00 -T E5 04 00 00 21 04 00 39 E5 21 08 00 39 4D 44 -R 00 00 01 00 -T F0 04 00 00 E1 71 23 70 DD 6E 04 DD 66 05 23 -R 00 00 01 00 -T FB 04 00 00 DD 75 04 DD 74 05 7E FE 5E 20 11 -R 00 00 01 00 -T 06 05 00 00 -R 00 00 01 00 -T 06 05 00 00 DD 34 04 20 03 DD 34 05 -R 00 00 01 00 -T 0E 05 00 00 -R 00 00 01 00 -T 0E 05 00 00 AF DD 77 FB DD 77 FC 18 08 -R 00 00 01 00 -T 17 05 00 00 -R 00 00 01 00 -T 17 05 00 00 DD 36 FB 01 DD 36 FC 00 -R 00 00 01 00 -T 1F 05 00 00 -R 00 00 01 00 -T 1F 05 00 00 DD 36 F3 02 DD 36 F4 00 DD 6E 04 -R 00 00 01 00 -T 2A 05 00 00 DD 66 05 7E FE 5D 28 0B DD 6E 04 -R 00 00 01 00 -T 35 05 00 00 DD 66 05 7E FE 2D 20 24 -R 00 00 01 00 -T 3D 05 00 00 -R 00 00 01 00 -T 3D 05 00 00 -R 00 00 01 00 -T 3D 05 00 00 -R 00 00 01 00 -T 3D 05 00 00 DD 6E 04 DD 66 05 23 DD 75 04 DD -R 00 00 01 00 -T 48 05 00 00 74 05 2B 46 21 04 00 39 5E 23 56 -R 00 00 01 00 -T 53 05 00 00 13 72 2B 73 1B EB 70 AF DD 77 F3 -R 00 00 01 00 -T 5E 05 00 00 DD 77 F4 -R 00 00 01 00 -T 61 05 00 00 -R 00 00 01 00 -T 61 05 00 00 -R 00 00 01 00 -T 61 05 00 00 DD 6E 04 DD 66 05 7E FE 5D CA -R 00 00 01 00 -T 6B 05 00 00 3E 06 00 00 -R 00 00 01 00 00 04 01 00 -T 6D 05 00 00 -R 00 00 01 00 -T 6D 05 00 00 DD 6E 04 DD 66 05 AF B6 20 03 -R 00 00 01 00 -T 77 05 00 00 -R 00 00 01 00 -T 77 05 00 00 C3 1A 08 00 00 -R 00 00 01 00 00 05 01 00 -T 7A 05 00 00 -R 00 00 01 00 -T 7A 05 00 00 DD 5E F3 DD 56 F4 CD 00 00 00 00 -R 00 00 01 00 02 0B 0A 00 -T 83 05 00 00 00 00 03 00 1E 06 00 00 -R 00 00 01 00 00 08 01 00 -T 89 05 00 00 FC 05 00 00 8F 05 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 8D 05 00 00 17 06 00 00 -R 00 00 01 00 00 04 01 00 -T 8F 05 00 00 -R 00 00 01 00 -T 8F 05 00 00 21 04 00 39 46 23 66 68 2B 2B 4E -R 00 00 01 00 -T 9A 05 00 00 06 00 DD 71 F5 DD 70 F6 DD 6E 04 -R 00 00 01 00 -T A5 05 00 00 DD 66 05 6E 26 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 0C 00 -T AE 05 00 00 38 4C -R 00 00 01 00 -T B0 05 00 00 -R 00 00 01 00 -T B0 05 00 00 21 04 00 39 7E D6 02 77 23 7E DE -R 00 00 01 00 -T BB 05 00 00 00 77 -R 00 00 01 00 -T BD 05 00 00 -R 00 00 01 00 -T BD 05 00 00 DD 6E 04 DD 66 05 4E 06 00 DD 6E -R 00 00 01 00 -T C8 05 00 00 F5 DD 66 F6 CD 00 00 00 00 30 21 -R 00 00 01 00 02 09 0C 00 -T D1 05 00 00 -R 00 00 01 00 -T D1 05 00 00 DD 6E F5 DD 66 F6 23 DD 75 F5 DD -R 00 00 01 00 -T DC 05 00 00 74 F6 2B E5 21 06 00 39 4E 23 46 -R 00 00 01 00 -T E7 05 00 00 03 70 2B 71 0B 69 60 C1 71 18 CB -R 00 00 01 00 -T F2 05 00 00 -R 00 00 01 00 -T F2 05 00 00 DD 36 F3 02 DD 36 F4 00 18 22 -R 00 00 01 00 -T FC 05 00 00 -R 00 00 01 00 -T FC 05 00 00 -R 00 00 01 00 -T FC 05 00 00 DD 6E 04 DD 66 05 7E FE 2D 20 04 -R 00 00 01 00 -T 07 06 00 00 0E 01 18 02 -R 00 00 01 00 -T 0B 06 00 00 -R 00 00 01 00 -T 0B 06 00 00 0E 00 -R 00 00 01 00 -T 0D 06 00 00 -R 00 00 01 00 -T 0D 06 00 00 06 00 DD 71 F3 DD 70 F4 18 07 -R 00 00 01 00 -T 17 06 00 00 -R 00 00 01 00 -T 17 06 00 00 AF DD 77 F3 DD 77 F4 -R 00 00 01 00 -T 1E 06 00 00 -R 00 00 01 00 -T 1E 06 00 00 DD 6E 04 DD 66 05 23 DD 75 04 DD -R 00 00 01 00 -T 29 06 00 00 74 05 2B 46 21 04 00 39 5E 23 56 -R 00 00 01 00 -T 34 06 00 00 13 72 2B 73 1B EB 70 C3 -R 00 00 01 00 -T 3C 06 00 00 61 05 00 00 -R 00 00 01 00 00 04 01 00 -T 3E 06 00 00 -R 00 00 01 00 -T 3E 06 00 00 21 04 00 39 7E 23 66 6F 36 00 18 -R 00 00 01 00 -T 49 06 00 00 33 -R 00 00 01 00 -T 4A 06 00 00 -R 00 00 01 00 -T 4A 06 00 00 AF DD 77 FB DD 77 FC -R 00 00 01 00 -T 51 06 00 00 -R 00 00 01 00 -T 51 06 00 00 DD 4E F7 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 08 00 -T 5A 06 00 00 7E E6 10 28 1E -R 00 00 01 00 -T 5F 06 00 00 -R 00 00 01 00 -T 5F 06 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 68 06 00 00 DD 75 F7 DD 74 F8 4D 44 21 00 00 -R 00 00 01 00 -T 73 06 00 00 CD 00 00 00 00 38 03 -R 00 00 01 00 02 05 0C 00 -T 78 06 00 00 -R 00 00 01 00 -T 78 06 00 00 C3 1A 08 00 00 -R 00 00 01 00 00 05 01 00 -T 7B 06 00 00 -R 00 00 01 00 -T 7B 06 00 00 18 D4 -R 00 00 01 00 -T 7D 06 00 00 -R 00 00 01 00 -T 7D 06 00 00 -R 00 00 01 00 -T 7D 06 00 00 21 04 00 39 E5 21 BA 00 39 7E C6 -R 00 00 01 00 -T 88 06 00 00 02 77 23 7E CE 00 77 2B 6E 67 2B -R 00 00 01 00 -T 93 06 00 00 2B 4E 23 46 E1 71 23 70 DD 7E F9 -R 00 00 01 00 -T 9E 06 00 00 DD B6 FA 28 53 -R 00 00 01 00 -T A3 06 00 00 -R 00 00 01 00 -T A3 06 00 00 DD 4E F7 DD 46 F8 21 06 00 39 5D -R 00 00 01 00 -T AE 06 00 00 54 CD 00 00 00 00 DD 75 E7 DD 74 -R 00 00 01 00 02 06 05 00 -T B7 06 00 00 E8 DD 4E F7 DD 46 F8 21 00 00 CD -R 00 00 01 00 -T C2 06 00 00 00 00 00 00 30 1B DD 7E E7 DD B6 -R 00 00 01 00 02 04 0C 00 -T CB 06 00 00 E8 20 04 0E 01 18 02 -R 00 00 01 00 -T D2 06 00 00 -R 00 00 01 00 -T D2 06 00 00 0E 00 -R 00 00 01 00 -T D4 06 00 00 -R 00 00 01 00 -T D4 06 00 00 06 00 DD 6E FB DD 66 FC A7 ED 42 -R 00 00 01 00 -T DF 06 00 00 20 15 -R 00 00 01 00 -T E1 06 00 00 -R 00 00 01 00 -T E1 06 00 00 -R 00 00 01 00 -T E1 06 00 00 -R 00 00 01 00 -T E1 06 00 00 DD 7E F1 DD B6 F2 28 0A -R 00 00 01 00 -T E9 06 00 00 -R 00 00 01 00 -T E9 06 00 00 21 04 00 39 7E 23 66 6F 36 00 -R 00 00 01 00 -T F3 06 00 00 -R 00 00 01 00 -T F3 06 00 00 C3 1A 08 00 00 -R 00 00 01 00 00 05 01 00 -T F6 06 00 00 -R 00 00 01 00 -T F6 06 00 00 -R 00 00 01 00 -T F6 06 00 00 -R 00 00 01 00 -T F6 06 00 00 DD 7E E9 DD B6 EA 28 11 -R 00 00 01 00 -T FE 06 00 00 -R 00 00 01 00 -T FE 06 00 00 DD 46 F7 21 04 00 39 5E 23 56 13 -R 00 00 01 00 -T 09 07 00 00 72 2B 73 1B EB 70 -R 00 00 01 00 -T 0F 07 00 00 -R 00 00 01 00 -T 0F 07 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 18 07 00 00 DD 75 F7 DD 74 F8 4D 44 21 00 00 -R 00 00 01 00 -T 23 07 00 00 CD 00 00 00 00 30 11 DD 6E F9 DD -R 00 00 01 00 02 05 0C 00 -T 2C 07 00 00 66 FA 2B DD 75 F9 DD 74 FA 7D B4 -R 00 00 01 00 -T 37 07 00 00 20 02 -R 00 00 01 00 -T 39 07 00 00 -R 00 00 01 00 -T 39 07 00 00 -R 00 00 01 00 -T 39 07 00 00 -R 00 00 01 00 -T 39 07 00 00 18 30 -R 00 00 01 00 -T 3B 07 00 00 -R 00 00 01 00 -T 3B 07 00 00 DD 4E F7 DD 46 F8 21 06 00 39 5D -R 00 00 01 00 -T 46 07 00 00 54 CD 00 00 00 00 DD 75 E7 DD 74 -R 00 00 01 00 02 06 05 00 -T 4F 07 00 00 E8 7D B4 20 04 0E 01 18 02 -R 00 00 01 00 -T 58 07 00 00 -R 00 00 01 00 -T 58 07 00 00 0E 00 -R 00 00 01 00 -T 5A 07 00 00 -R 00 00 01 00 -T 5A 07 00 00 06 00 DD 6E FB DD 66 FC A7 ED 42 -R 00 00 01 00 -T 65 07 00 00 20 02 -R 00 00 01 00 -T 67 07 00 00 -R 00 00 01 00 -T 67 07 00 00 18 02 -R 00 00 01 00 -T 69 07 00 00 -R 00 00 01 00 -T 69 07 00 00 18 8B -R 00 00 01 00 -T 6B 07 00 00 -R 00 00 01 00 -T 6B 07 00 00 DD 7E E9 DD B6 EA 28 1A -R 00 00 01 00 -T 73 07 00 00 -R 00 00 01 00 -T 73 07 00 00 DD 7E F1 DD B6 F2 28 0A -R 00 00 01 00 -T 7B 07 00 00 -R 00 00 01 00 -T 7B 07 00 00 21 04 00 39 7E 23 66 6F 36 00 -R 00 00 01 00 -T 85 07 00 00 -R 00 00 01 00 -T 85 07 00 00 DD 34 FD 20 03 DD 34 FE -R 00 00 01 00 -T 8D 07 00 00 -R 00 00 01 00 -T 8D 07 00 00 -R 00 00 01 00 -T 8D 07 00 00 18 0F -R 00 00 01 00 -T 8F 07 00 00 -R 00 00 01 00 -T 8F 07 00 00 DD 6E 04 DD 66 05 2B DD 75 04 DD -R 00 00 01 00 -T 9A 07 00 00 74 05 -R 00 00 01 00 -T 9C 07 00 00 -R 00 00 01 00 -T 9C 07 00 00 18 41 -R 00 00 01 00 -T 9E 07 00 00 -R 00 00 01 00 -T 9E 07 00 00 18 64 -R 00 00 01 00 -T A0 07 00 00 -R 00 00 01 00 -T A0 07 00 00 DD 6E 04 DD 66 05 4E 06 00 21 -R 00 00 01 00 -T AA 07 00 00 00 00 00 00 09 7E E6 10 28 2D -R 00 00 01 00 02 04 08 00 -T B2 07 00 00 -R 00 00 01 00 -T B2 07 00 00 -R 00 00 01 00 -T B2 07 00 00 DD 4E F7 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 08 00 -T BB 07 00 00 7E E6 10 28 1D -R 00 00 01 00 -T C0 07 00 00 -R 00 00 01 00 -T C0 07 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T C9 07 00 00 DD 75 F7 DD 74 F8 4D 44 21 00 00 -R 00 00 01 00 -T D4 07 00 00 CD 00 00 00 00 38 02 -R 00 00 01 00 02 05 0C 00 -T D9 07 00 00 -R 00 00 01 00 -T D9 07 00 00 18 3F -R 00 00 01 00 -T DB 07 00 00 -R 00 00 01 00 -T DB 07 00 00 18 D5 -R 00 00 01 00 -T DD 07 00 00 -R 00 00 01 00 -T DD 07 00 00 18 25 -R 00 00 01 00 -T DF 07 00 00 -R 00 00 01 00 -T DF 07 00 00 -R 00 00 01 00 -T DF 07 00 00 DD 6E 04 DD 66 05 4E 06 00 DD 6E -R 00 00 01 00 -T EA 07 00 00 F7 DD 66 F8 A7 ED 42 28 02 -R 00 00 01 00 -T F3 07 00 00 -R 00 00 01 00 -T F3 07 00 00 18 25 -R 00 00 01 00 -T F5 07 00 00 -R 00 00 01 00 -T F5 07 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T FE 07 00 00 DD 75 F7 DD 74 F8 -R 00 00 01 00 -T 04 08 00 00 -R 00 00 01 00 -T 04 08 00 00 -R 00 00 01 00 -T 04 08 00 00 DD 6E 04 DD 66 05 23 DD 75 04 DD -R 00 00 01 00 -T 0F 08 00 00 74 05 7E B7 20 02 -R 00 00 01 00 -T 15 08 00 00 -R 00 00 01 00 -T 15 08 00 00 18 03 -R 00 00 01 00 -T 17 08 00 00 -R 00 00 01 00 -T 17 08 00 00 C3 2F 00 00 00 -R 00 00 01 00 00 05 01 00 -T 1A 08 00 00 -R 00 00 01 00 -T 1A 08 00 00 -R 00 00 01 00 -T 1A 08 00 00 DD 7E F7 DD A6 F8 3C 20 0D DD 7E -R 00 00 01 00 -T 25 08 00 00 FD DD B6 FE 20 05 -R 00 00 01 00 -T 2B 08 00 00 -R 00 00 01 00 -T 2B 08 00 00 -R 00 00 01 00 -T 2B 08 00 00 -R 00 00 01 00 -T 2B 08 00 00 21 FF FF 18 1E -R 00 00 01 00 -T 30 08 00 00 -R 00 00 01 00 -T 30 08 00 00 DD 7E F7 DD A6 F8 3C 28 0F -R 00 00 01 00 -T 39 08 00 00 -R 00 00 01 00 -T 39 08 00 00 DD 4E 02 DD 46 03 DD 5E F7 DD 56 -R 00 00 01 00 -T 44 08 00 00 F8 CD 00 00 00 00 -R 00 00 01 00 02 06 02 00 -T 48 08 00 00 -R 00 00 01 00 -T 48 08 00 00 DD 6E FD DD 66 FE -R 00 00 01 00 -T 4E 08 00 00 -R 00 00 01 00 -T 4E 08 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 07 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 09 0A 0B 0C 0D 20 00 -R 00 00 02 00 -T 07 00 00 00 -R 00 00 02 00 -T 07 00 00 00 30 31 32 33 34 35 36 37 38 39 41 -R 00 00 02 00 -T 12 00 00 00 42 43 44 45 46 00 -R 00 00 02 00 diff --git a/lib/relcl/vprintf.rel b/lib/relcl/vprintf.rel deleted file mode 100644 index ab355b56..00000000 --- a/lib/relcl/vprintf.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S stdout Ref00000000 -S vfprintf Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S vprintf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 4B 42 11 -R 00 00 01 00 02 05 02 00 -T 07 00 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 03 00 02 09 04 00 -T 0E 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relcl/vscanf.rel b/lib/relcl/vscanf.rel deleted file mode 100644 index f1d352e8..00000000 --- a/lib/relcl/vscanf.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S stdin Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S vfscanf Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S vscanf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 4B 42 11 -R 00 00 01 00 02 05 03 00 -T 07 00 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 02 00 02 09 04 00 -T 0E 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relcl/vsprintf.rel b/lib/relcl/vsprintf.rel deleted file mode 100644 index 395093c2..00000000 --- a/lib/relcl/vsprintf.rel +++ /dev/null @@ -1,36 +0,0 @@ -XL4 -H 4 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S vfprintf Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 30 flags 0 -S vsprintf Def00000000 -A IDATA0 size 18 flags 0 -A CDATA0 size 18 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 66 03 22 00 00 00 00 DD 6E 08 DD -R 00 00 01 00 00 07 02 00 -T 12 00 00 00 66 09 E5 11 00 00 00 00 CD -R 00 00 01 00 00 08 02 00 -T 19 00 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 03 00 -T 22 00 00 00 2A 00 00 00 00 36 00 DD 6E FE DD -R 00 00 01 00 00 05 02 00 -T 2B 00 00 00 66 FF C3 00 00 00 00 -R 00 00 01 00 02 07 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF -R 00 00 03 00 -T 0A 00 00 00 FF FF 20 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T 15 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcl/vsscanf.rel b/lib/relcl/vsscanf.rel deleted file mode 100644 index 0367f4b7..00000000 --- a/lib/relcl/vsscanf.rel +++ /dev/null @@ -1,32 +0,0 @@ -XL4 -H 4 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S vfscanf Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S vsscanf Def00000000 -A IDATA0 size 18 flags 0 -A CDATA0 size 18 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 ED 53 00 00 00 00 -R 00 00 01 00 02 05 02 00 00 0B 02 00 -T 07 00 00 00 DD 6E 08 DD 66 09 E5 11 -R 00 00 01 00 -T 0F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 00 04 02 00 02 09 03 00 -T 16 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 FF FF 00 00 00 00 FF FF -R 00 00 03 00 -T 0A 00 00 00 FF FF 10 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T 15 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/lib/relcl/xitoa.rel b/lib/relcl/xitoa.rel deleted file mode 100644 index 77d81568..00000000 --- a/lib/relcl/xitoa.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ltostr Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S _itoa Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 0A 00 E5 7A 07 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 9F 4F 41 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 08 03 00 -T 11 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relcl/xltoa.rel b/lib/relcl/xltoa.rel deleted file mode 100644 index aad4e9e9..00000000 --- a/lib/relcl/xltoa.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ultostr Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ltostr Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1C flags 0 -S _ultoa Def00000000 -S _ltoa Def0000000E -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 0A 00 E5 CD -R 00 00 01 00 02 05 03 00 -T 08 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 0A 01 00 -T 0E 00 00 00 -R 00 00 01 00 -T 0E 00 00 00 CD 00 00 00 00 21 0A 00 E5 CD -R 00 00 01 00 02 05 03 00 -T 16 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 04 00 02 0A 01 00 diff --git a/lib/reliar/BANKCALLDIRECT.rel b/lib/reliar/BANKCALLDIRECT.rel deleted file mode 100644 index 09dddc92..00000000 --- a/lib/reliar/BANKCALLDIRECT.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size D flags 0 -S ?BANK_CALL_DIRECT_L08 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 E5 26 80 6F 7E ED 20 39 ED 39 39 -R 00 00 01 00 -T 0B 00 00 00 E3 E9 -R 00 00 01 00 diff --git a/lib/reliar/BANKCALLDIRECTEXAF.rel b/lib/reliar/BANKCALLDIRECTEXAF.rel deleted file mode 100644 index 9863b069..00000000 --- a/lib/reliar/BANKCALLDIRECTEXAF.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size A flags 0 -S ?BANK_CALL_DIRECT_EXAF_L08 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 ED 38 39 F5 08 ED 39 39 E9 -R 00 00 01 00 diff --git a/lib/reliar/BANKLEAVE32.rel b/lib/reliar/BANKLEAVE32.rel deleted file mode 100644 index ca4a65af..00000000 --- a/lib/reliar/BANKLEAVE32.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size C flags 0 -S ?BANK_LEAVE_32_L08 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 DD F9 DD E1 D1 33 33 F1 ED 39 39 -R 00 00 01 00 -T 0B 00 00 00 C9 -R 00 00 01 00 diff --git a/lib/reliar/BANKLEAVEDIRECT.rel b/lib/reliar/BANKLEAVEDIRECT.rel deleted file mode 100644 index 9bbe1eeb..00000000 --- a/lib/reliar/BANKLEAVEDIRECT.rel +++ /dev/null @@ -1,15 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size B flags 0 -S ?BANK_FAST_LEAVE_L08 Def00000006 -S ?BANK_LEAVE_DIRECT_L08 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 DD F9 DD E1 D1 C1 -R 00 00 01 00 -T 06 00 00 00 -R 00 00 01 00 -T 06 00 00 00 F1 ED 39 39 C9 -R 00 00 01 00 diff --git a/lib/reliar/BFCANDASG.rel b/lib/reliar/BFCANDASG.rel deleted file mode 100644 index 994c74ea..00000000 --- a/lib/reliar/BFCANDASG.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?BF_C_RET_VAL_L10 Ref00000000 -S ?BF_C_SHIFT_UP_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 13 flags 0 -S ?BF_C_ANDASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 C5 D5 5E 23 56 23 E3 F5 CD -R 00 00 01 00 -T 0B 00 00 00 00 00 00 00 47 7E A0 C3 -R 00 00 01 00 02 04 01 00 -T 11 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 diff --git a/lib/reliar/BFCLSHASG.rel b/lib/reliar/BFCLSHASG.rel deleted file mode 100644 index 094ebec1..00000000 --- a/lib/reliar/BFCLSHASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?BF_C_RET_VAL_L10 Ref00000000 -S ?C_LSH_L01 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 12 flags 0 -S ?BF_C_LSHASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 C5 D5 5E 23 56 23 E3 F5 7E -R 00 00 01 00 -T 0B 00 00 00 A2 CD 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 06 01 00 02 0B 00 00 diff --git a/lib/reliar/BFCMULASG.rel b/lib/reliar/BFCMULASG.rel deleted file mode 100644 index 8a128a93..00000000 --- a/lib/reliar/BFCMULASG.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?BF_C_RET_VAL_L10 Ref00000000 -S ?C_MUL_L01 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 13 flags 0 -S ?BF_C_MULASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 C5 D5 5E 23 56 23 E3 F5 47 -R 00 00 01 00 -T 0B 00 00 00 7E A2 CD 00 00 00 00 C3 -R 00 00 01 00 02 07 01 00 -T 11 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 diff --git a/lib/reliar/BFCORASG.rel b/lib/reliar/BFCORASG.rel deleted file mode 100644 index ed3d6faa..00000000 --- a/lib/reliar/BFCORASG.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?BF_C_RET_VAL_L10 Ref00000000 -S ?BF_C_SHIFT_UP_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 13 flags 0 -S ?BF_C_ORASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 C5 D5 5E 23 56 23 E3 F5 CD -R 00 00 01 00 -T 0B 00 00 00 00 00 00 00 47 7E B0 C3 -R 00 00 01 00 02 04 01 00 -T 11 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 diff --git a/lib/reliar/BFCRETVAL.rel b/lib/reliar/BFCRETVAL.rel deleted file mode 100644 index 737c0b20..00000000 --- a/lib/reliar/BFCRETVAL.rel +++ /dev/null @@ -1,23 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?BF_SC_EXT_L10 Ref00000000 -S ?SC_RSH_L01 Ref00000000 -S ?UC_RSH_L01 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 2E flags 0 -S ?BF_C_RET_VAL_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 A2 4F 7A 2F A6 B1 77 CB 7B 28 1C -R 00 00 01 00 -T 0B 00 00 00 CB 73 C4 00 00 00 00 7B E6 07 47 -R 00 00 01 00 02 07 00 00 -T 14 00 00 00 79 CB 73 28 07 CD 00 00 00 00 D1 -R 00 00 01 00 02 0A 01 00 -T 1D 00 00 00 C3 28 00 00 00 CD 00 00 00 00 D1 -R 00 00 01 00 00 05 01 00 02 0A 02 00 -T 24 00 00 00 C3 28 00 00 00 F1 D1 C1 EB E3 EB -R 00 00 01 00 00 05 01 00 -T 2D 00 00 00 C9 -R 00 00 01 00 diff --git a/lib/reliar/BFCSHIFTUP.rel b/lib/reliar/BFCSHIFTUP.rel deleted file mode 100644 index 915f4410..00000000 --- a/lib/reliar/BFCSHIFTUP.rel +++ /dev/null @@ -1,11 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?C_LSH_L01 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 9 flags 0 -S ?BF_C_SHIFT_UP_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 4F 7B E6 07 47 79 C3 00 00 00 00 -R 00 00 01 00 02 0B 00 00 diff --git a/lib/reliar/BFCXORASG.rel b/lib/reliar/BFCXORASG.rel deleted file mode 100644 index 2ebf9a97..00000000 --- a/lib/reliar/BFCXORASG.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?BF_C_RET_VAL_L10 Ref00000000 -S ?BF_C_SHIFT_UP_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 13 flags 0 -S ?BF_C_XORASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 C5 D5 5E 23 56 23 E3 F5 CD -R 00 00 01 00 -T 0B 00 00 00 00 00 00 00 47 7E A8 C3 -R 00 00 01 00 02 04 01 00 -T 11 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 diff --git a/lib/reliar/BFMASKEDLD.rel b/lib/reliar/BFMASKEDLD.rel deleted file mode 100644 index ba0906ce..00000000 --- a/lib/reliar/BFMASKEDLD.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size C flags 0 -S ?BF_MASKED_LD_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 7E DD A6 01 5F 23 7E DD A6 02 57 -R 00 00 01 00 -T 0B 00 00 00 C9 -R 00 00 01 00 diff --git a/lib/reliar/BFMASKEDST.rel b/lib/reliar/BFMASKEDST.rel deleted file mode 100644 index f7665996..00000000 --- a/lib/reliar/BFMASKEDST.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 18 flags 0 -S ?BF_MASKED_ST_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 DD 4E 01 DD 46 02 7B A1 5F 7A A0 -R 00 00 01 00 -T 0B 00 00 00 57 78 2F A6 B2 77 2B 79 2F A6 B3 -R 00 00 01 00 -T 16 00 00 00 77 C9 -R 00 00 01 00 diff --git a/lib/reliar/BFSADDASG.rel b/lib/reliar/BFSADDASG.rel deleted file mode 100644 index 46eb2aa8..00000000 --- a/lib/reliar/BFSADDASG.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?BF_S_SHIFT_UP_L10 Ref00000000 -S ?BF_S_RET_VAL_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1E flags 0 -S ?BF_S_ADDASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 D5 E5 DD E1 23 23 23 -R 00 00 01 00 -T 0B 00 00 00 E3 E5 F5 C5 50 59 CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 14 00 00 00 7E 83 5F 23 7E 8A 57 C3 -R 00 00 01 00 -T 1C 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/reliar/BFSANDASG.rel b/lib/reliar/BFSANDASG.rel deleted file mode 100644 index 76520039..00000000 --- a/lib/reliar/BFSANDASG.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?BF_S_SHIFT_UP_L10 Ref00000000 -S ?BF_S_RET_VAL_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1E flags 0 -S ?BF_S_ANDASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 D5 E5 DD E1 23 23 23 -R 00 00 01 00 -T 0B 00 00 00 E3 E5 F5 C5 50 59 CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 14 00 00 00 7E A3 5F 23 7E A2 57 C3 -R 00 00 01 00 -T 1C 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/reliar/BFSCDIVASG.rel b/lib/reliar/BFSCDIVASG.rel deleted file mode 100644 index a48eb226..00000000 --- a/lib/reliar/BFSCDIVASG.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?BF_C_RET_VAL_L10 Ref00000000 -S ?SC_DIV_L01 Ref00000000 -S ?BF_SC_LD_SHIFT_DOWN_L10 Ref00000000 -S ?BF_C_SHIFT_UP_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 16 flags 0 -S ?BF_SC_DIVASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 C5 D5 5E 23 56 23 E3 F5 CD -R 00 00 01 00 -T 0B 00 00 00 00 00 00 00 CD 00 00 00 00 CD -R 00 00 01 00 02 04 02 00 02 09 01 00 -T 11 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 09 00 00 diff --git a/lib/reliar/BFSCEXT.rel b/lib/reliar/BFSCEXT.rel deleted file mode 100644 index 7942e9c6..00000000 --- a/lib/reliar/BFSCEXT.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 11 flags 0 -S ?BF_SC_EXT_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 80 7A A0 20 04 CB 28 18 F8 79 -R 00 00 01 00 -T 0B 00 00 00 A0 C8 79 B0 4F C9 -R 00 00 01 00 diff --git a/lib/reliar/BFSCLDSHIFTDOWN.rel b/lib/reliar/BFSCLDSHIFTDOWN.rel deleted file mode 100644 index e7c09b43..00000000 --- a/lib/reliar/BFSCLDSHIFTDOWN.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?BF_SC_EXT_L10 Ref00000000 -S ?SC_RSH_L01 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 12 flags 0 -S ?BF_SC_LD_SHIFT_DOWN_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 47 C5 7E A2 4F CD 00 00 00 00 7B -R 00 00 01 00 02 0A 00 00 -T 09 00 00 00 E6 07 47 79 CD 00 00 00 00 C1 C9 -R 00 00 01 00 02 09 01 00 diff --git a/lib/reliar/BFSCMODASG.rel b/lib/reliar/BFSCMODASG.rel deleted file mode 100644 index 33407f3e..00000000 --- a/lib/reliar/BFSCMODASG.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?BF_C_RET_VAL_L10 Ref00000000 -S ?SC_MOD_L01 Ref00000000 -S ?BF_SC_LD_SHIFT_DOWN_L10 Ref00000000 -S ?BF_C_SHIFT_UP_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 16 flags 0 -S ?BF_SC_MODASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 C5 D5 5E 23 56 23 E3 F5 CD -R 00 00 01 00 -T 0B 00 00 00 00 00 00 00 CD 00 00 00 00 CD -R 00 00 01 00 02 04 02 00 02 09 01 00 -T 11 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 09 00 00 diff --git a/lib/reliar/BFSCRSHASG.rel b/lib/reliar/BFSCRSHASG.rel deleted file mode 100644 index 2e695ebb..00000000 --- a/lib/reliar/BFSCRSHASG.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?BF_C_RET_VAL_L10 Ref00000000 -S ?BF_SC_EXT_L10 Ref00000000 -S ?SC_RSH_L01 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 18 flags 0 -S ?BF_SC_RSHASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 C5 D5 5E 23 56 23 E3 F5 C5 -R 00 00 01 00 -T 0B 00 00 00 7E A2 4F CD 00 00 00 00 C1 CD -R 00 00 01 00 02 08 01 00 -T 13 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 09 00 00 diff --git a/lib/reliar/BFSLSHASG.rel b/lib/reliar/BFSLSHASG.rel deleted file mode 100644 index 7b433cfc..00000000 --- a/lib/reliar/BFSLSHASG.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?S_LSH_L02 Ref00000000 -S ?BF_S_RET_VAL_L10 Ref00000000 -S ?BF_MASKED_LD_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 18 flags 0 -S ?BF_S_LSHASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 D5 E5 DD E1 23 23 23 -R 00 00 01 00 -T 0B 00 00 00 E3 E5 F5 C5 CD 00 00 00 00 CD -R 00 00 01 00 02 09 02 00 -T 13 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 09 01 00 diff --git a/lib/reliar/BFSMULASG.rel b/lib/reliar/BFSMULASG.rel deleted file mode 100644 index 1da12b18..00000000 --- a/lib/reliar/BFSMULASG.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?S_MUL_L02 Ref00000000 -S ?BF_S_RET_VAL_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 20 flags 0 -S ?BF_S_MULASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 D5 E5 DD E1 23 23 23 -R 00 00 01 00 -T 0B 00 00 00 E3 E5 F5 C5 7E DD A6 01 5F 23 7E -R 00 00 01 00 -T 16 00 00 00 DD A6 02 57 CD 00 00 00 00 C3 -R 00 00 01 00 02 09 00 00 -T 1E 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/reliar/BFSNEGASG.rel b/lib/reliar/BFSNEGASG.rel deleted file mode 100644 index 503eb4af..00000000 --- a/lib/reliar/BFSNEGASG.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?BF_S_SHIFT_UP_L10 Ref00000000 -S ?BF_S_RET_VAL_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 21 flags 0 -S ?BF_S_NEGASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 D5 E5 DD E1 23 23 23 -R 00 00 01 00 -T 0B 00 00 00 E3 E5 F5 C5 11 01 00 CD -R 00 00 01 00 -T 13 00 00 00 00 00 00 00 7E 2F 83 5F 23 7E 2F -R 00 00 01 00 02 04 00 00 -T 1C 00 00 00 8A 57 C3 00 00 00 00 -R 00 00 01 00 02 07 01 00 diff --git a/lib/reliar/BFSORASG.rel b/lib/reliar/BFSORASG.rel deleted file mode 100644 index e3cf71bb..00000000 --- a/lib/reliar/BFSORASG.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?BF_S_SHIFT_UP_L10 Ref00000000 -S ?BF_S_RET_VAL_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1E flags 0 -S ?BF_S_ORASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 D5 E5 DD E1 23 23 23 -R 00 00 01 00 -T 0B 00 00 00 E3 E5 F5 C5 50 59 CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 14 00 00 00 7E B3 5F 23 7E B2 57 C3 -R 00 00 01 00 -T 1C 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/reliar/BFSPOSTDEC.rel b/lib/reliar/BFSPOSTDEC.rel deleted file mode 100644 index 0d73818b..00000000 --- a/lib/reliar/BFSPOSTDEC.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?BF_S_RET_VAL2_L10 Ref00000000 -S ?BF_S_SHIFT_UP_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 22 flags 0 -S ?BF_S_POST_DEC_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 D5 E5 DD E1 23 23 23 -R 00 00 01 00 -T 0B 00 00 00 E3 E5 F5 C5 11 01 00 CD -R 00 00 01 00 -T 13 00 00 00 00 00 00 00 4E 23 46 C5 79 93 5F -R 00 00 01 00 02 04 01 00 -T 1C 00 00 00 78 9A 57 C3 00 00 00 00 -R 00 00 01 00 02 08 00 00 diff --git a/lib/reliar/BFSPOSTINC.rel b/lib/reliar/BFSPOSTINC.rel deleted file mode 100644 index 36601b9e..00000000 --- a/lib/reliar/BFSPOSTINC.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?BF_S_RET_VAL2_L10 Ref00000000 -S ?BF_S_SHIFT_UP_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 22 flags 0 -S ?BF_S_POST_INC_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 D5 E5 DD E1 23 23 23 -R 00 00 01 00 -T 0B 00 00 00 E3 E5 F5 C5 11 01 00 CD -R 00 00 01 00 -T 13 00 00 00 00 00 00 00 4E 23 46 C5 79 83 5F -R 00 00 01 00 02 04 01 00 -T 1C 00 00 00 78 8A 57 C3 00 00 00 00 -R 00 00 01 00 02 08 00 00 diff --git a/lib/reliar/BFSPREDEC.rel b/lib/reliar/BFSPREDEC.rel deleted file mode 100644 index 9d9f2339..00000000 --- a/lib/reliar/BFSPREDEC.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?BF_S_SHIFT_UP_L10 Ref00000000 -S ?BF_S_RET_VAL_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1F flags 0 -S ?BF_S_PRE_DEC_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 D5 E5 DD E1 23 23 23 -R 00 00 01 00 -T 0B 00 00 00 E3 E5 F5 C5 11 01 00 CD -R 00 00 01 00 -T 13 00 00 00 00 00 00 00 7E 93 5F 23 7E 9A 57 -R 00 00 01 00 02 04 00 00 -T 1C 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/reliar/BFSPREINC.rel b/lib/reliar/BFSPREINC.rel deleted file mode 100644 index b098632e..00000000 --- a/lib/reliar/BFSPREINC.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?BF_S_SHIFT_UP_L10 Ref00000000 -S ?BF_S_RET_VAL_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1F flags 0 -S ?BF_S_PRE_INC_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 D5 E5 DD E1 23 23 23 -R 00 00 01 00 -T 0B 00 00 00 E3 E5 F5 C5 11 01 00 CD -R 00 00 01 00 -T 13 00 00 00 00 00 00 00 7E 83 5F 23 7E 8A 57 -R 00 00 01 00 02 04 00 00 -T 1C 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/reliar/BFSRETVAL.rel b/lib/reliar/BFSRETVAL.rel deleted file mode 100644 index c9b9fce4..00000000 --- a/lib/reliar/BFSRETVAL.rel +++ /dev/null @@ -1,29 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?US_RSH_L02 Ref00000000 -S ?BF_MASKED_ST_L10 Ref00000000 -S ?BF_SS_EXT_L10 Ref00000000 -S ?SS_RSH_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 3D flags 0 -S ?BF_S_RET_VAL2_L10 Def00000000 -S ?BF_S_RET_VAL_L10 Def0000000C -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D1 7B A1 5F 7A A0 -R 00 00 01 00 02 05 01 00 -T 09 00 00 00 57 18 03 CD 00 00 00 00 DD 4E 00 -R 00 00 01 00 02 08 01 00 -T 12 00 00 00 CB 79 28 1D 79 E6 0F 47 CB 71 28 -R 00 00 01 00 -T 1D 00 00 00 0C CD 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 06 02 00 02 0B 03 00 -T 24 00 00 00 42 4B E1 C3 34 00 00 00 CD -R 00 00 01 00 00 08 01 00 -T 2B 00 00 00 00 00 00 00 42 4B E1 C3 -R 00 00 01 00 02 04 00 00 -T 31 00 00 00 34 00 00 00 C1 F1 E1 D1 DD E1 EB -R 00 00 01 00 00 04 01 00 -T 3A 00 00 00 E3 EB C9 -R 00 00 01 00 diff --git a/lib/reliar/BFSSDIVASG.rel b/lib/reliar/BFSSDIVASG.rel deleted file mode 100644 index 71792f7f..00000000 --- a/lib/reliar/BFSSDIVASG.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?BF_S_SHIFT_UP_L10 Ref00000000 -S ?BF_S_RET_VAL_L10 Ref00000000 -S ?SS_DIV_L02 Ref00000000 -S ?BF_SS_LD_SHIFT_DOWN_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1B flags 0 -S ?BF_SS_DIVASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 D5 E5 DD E1 23 23 23 -R 00 00 01 00 -T 0B 00 00 00 E3 E5 F5 C5 CD 00 00 00 00 CD -R 00 00 01 00 02 09 03 00 -T 13 00 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 02 00 02 09 00 00 -T 19 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/reliar/BFSSEXT.rel b/lib/reliar/BFSSEXT.rel deleted file mode 100644 index 72534701..00000000 --- a/lib/reliar/BFSSEXT.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 2D flags 0 -S ?BF_SS_EXT_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 E5 C5 DD 6E 01 DD 66 02 06 80 0E -R 00 00 01 00 -T 0B 00 00 00 00 7C A0 20 0A 7D A1 20 06 CB 28 -R 00 00 01 00 -T 16 00 00 00 CB 19 18 F2 7A A4 A0 20 08 7B A5 -R 00 00 01 00 -T 21 00 00 00 A1 28 06 7B B1 5F 7A B0 57 C1 E1 -R 00 00 01 00 -T 2C 00 00 00 C9 -R 00 00 01 00 diff --git a/lib/reliar/BFSSHIFTUP.rel b/lib/reliar/BFSSHIFTUP.rel deleted file mode 100644 index 02046095..00000000 --- a/lib/reliar/BFSSHIFTUP.rel +++ /dev/null @@ -1,11 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?S_LSH_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 9 flags 0 -S ?BF_S_SHIFT_UP_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 DD 7E 00 E6 0F 47 C3 00 00 00 00 -R 00 00 01 00 02 0B 00 00 diff --git a/lib/reliar/BFSSLDSHIFTDOWN.rel b/lib/reliar/BFSSLDSHIFTDOWN.rel deleted file mode 100644 index cf78ceab..00000000 --- a/lib/reliar/BFSSLDSHIFTDOWN.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?BF_SS_EXT_L10 Ref00000000 -S ?BF_MASKED_LD_L10 Ref00000000 -S ?SS_RSH_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 12 flags 0 -S ?BF_SS_LD_SHIFT_DOWN_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 CD 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 06 01 00 02 0B 00 00 -T 07 00 00 00 DD 7E 00 E6 0F 47 CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 10 00 00 00 C1 C9 -R 00 00 01 00 diff --git a/lib/reliar/BFSSMODASG.rel b/lib/reliar/BFSSMODASG.rel deleted file mode 100644 index 03b116bc..00000000 --- a/lib/reliar/BFSSMODASG.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?BF_S_SHIFT_UP_L10 Ref00000000 -S ?BF_S_RET_VAL_L10 Ref00000000 -S ?SS_MOD_L02 Ref00000000 -S ?BF_SS_LD_SHIFT_DOWN_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1B flags 0 -S ?BF_SS_MODASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 D5 E5 DD E1 23 23 23 -R 00 00 01 00 -T 0B 00 00 00 E3 E5 F5 C5 CD 00 00 00 00 CD -R 00 00 01 00 02 09 03 00 -T 13 00 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 02 00 02 09 00 00 -T 19 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/reliar/BFSSRSHASG.rel b/lib/reliar/BFSSRSHASG.rel deleted file mode 100644 index 9a33762d..00000000 --- a/lib/reliar/BFSSRSHASG.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?BF_S_RET_VAL_L10 Ref00000000 -S ?BF_SS_EXT_L10 Ref00000000 -S ?BF_MASKED_LD_L10 Ref00000000 -S ?SS_RSH_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1B flags 0 -S ?BF_SS_RSHASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 D5 E5 DD E1 23 23 23 -R 00 00 01 00 -T 0B 00 00 00 E3 E5 F5 C5 CD 00 00 00 00 CD -R 00 00 01 00 02 09 02 00 -T 13 00 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 01 00 02 09 03 00 -T 19 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 diff --git a/lib/reliar/BFSSUBASG.rel b/lib/reliar/BFSSUBASG.rel deleted file mode 100644 index d9ce773d..00000000 --- a/lib/reliar/BFSSUBASG.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?BF_S_SHIFT_UP_L10 Ref00000000 -S ?BF_S_RET_VAL_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1E flags 0 -S ?BF_S_SUBASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 D5 E5 DD E1 23 23 23 -R 00 00 01 00 -T 0B 00 00 00 E3 E5 F5 C5 50 59 CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 14 00 00 00 7E 93 5F 23 7E 9A 57 C3 -R 00 00 01 00 -T 1C 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/reliar/BFSXORASG.rel b/lib/reliar/BFSXORASG.rel deleted file mode 100644 index bf59b167..00000000 --- a/lib/reliar/BFSXORASG.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?BF_S_SHIFT_UP_L10 Ref00000000 -S ?BF_S_RET_VAL_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1E flags 0 -S ?BF_S_XORASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 D5 E5 DD E1 23 23 23 -R 00 00 01 00 -T 0B 00 00 00 E3 E5 F5 C5 50 59 CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 14 00 00 00 7E AB 5F 23 7E AA 57 C3 -R 00 00 01 00 -T 1C 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/reliar/BFUCDIVASG.rel b/lib/reliar/BFUCDIVASG.rel deleted file mode 100644 index a4909ebf..00000000 --- a/lib/reliar/BFUCDIVASG.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?BF_C_RET_VAL_L10 Ref00000000 -S ?UC_DIV_L01 Ref00000000 -S ?BF_UC_LD_SHIFT_DOWN_L10 Ref00000000 -S ?BF_C_SHIFT_UP_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 16 flags 0 -S ?BF_UC_DIVASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 C5 D5 5E 23 56 23 E3 F5 CD -R 00 00 01 00 -T 0B 00 00 00 00 00 00 00 CD 00 00 00 00 CD -R 00 00 01 00 02 04 02 00 02 09 01 00 -T 11 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 09 00 00 diff --git a/lib/reliar/BFUCLDSHIFTDOWN.rel b/lib/reliar/BFUCLDSHIFTDOWN.rel deleted file mode 100644 index ba686869..00000000 --- a/lib/reliar/BFUCLDSHIFTDOWN.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?UC_RSH_L01 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size F flags 0 -S ?BF_UC_LD_SHIFT_DOWN_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 47 C5 7E A2 4F 7B E6 07 47 79 CD -R 00 00 01 00 -T 0B 00 00 00 00 00 00 00 C1 C9 -R 00 00 01 00 02 04 00 00 diff --git a/lib/reliar/BFUCMODASG.rel b/lib/reliar/BFUCMODASG.rel deleted file mode 100644 index 1ed0c678..00000000 --- a/lib/reliar/BFUCMODASG.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?BF_C_RET_VAL_L10 Ref00000000 -S ?UC_MOD_L01 Ref00000000 -S ?BF_UC_LD_SHIFT_DOWN_L10 Ref00000000 -S ?BF_C_SHIFT_UP_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 16 flags 0 -S ?BF_UC_MODASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 C5 D5 5E 23 56 23 E3 F5 CD -R 00 00 01 00 -T 0B 00 00 00 00 00 00 00 CD 00 00 00 00 CD -R 00 00 01 00 02 04 02 00 02 09 01 00 -T 11 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 09 00 00 diff --git a/lib/reliar/BFUCRSHASG.rel b/lib/reliar/BFUCRSHASG.rel deleted file mode 100644 index 04e60050..00000000 --- a/lib/reliar/BFUCRSHASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?BF_C_RET_VAL_L10 Ref00000000 -S ?UC_RSH_L01 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 12 flags 0 -S ?BF_UC_RSHASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 C5 D5 5E 23 56 23 E3 F5 7E -R 00 00 01 00 -T 0B 00 00 00 A2 CD 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 06 01 00 02 0B 00 00 diff --git a/lib/reliar/BFUSDIVASG.rel b/lib/reliar/BFUSDIVASG.rel deleted file mode 100644 index 58197db7..00000000 --- a/lib/reliar/BFUSDIVASG.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?BF_S_SHIFT_UP_L10 Ref00000000 -S ?BF_S_RET_VAL_L10 Ref00000000 -S ?US_DIV_L02 Ref00000000 -S ?BF_US_LD_SHIFT_DOWN_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1B flags 0 -S ?BF_US_DIVASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 D5 E5 DD E1 23 23 23 -R 00 00 01 00 -T 0B 00 00 00 E3 E5 F5 C5 CD 00 00 00 00 CD -R 00 00 01 00 02 09 03 00 -T 13 00 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 02 00 02 09 00 00 -T 19 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/reliar/BFUSLDSHIFTDOWN.rel b/lib/reliar/BFUSLDSHIFTDOWN.rel deleted file mode 100644 index 97cb74a5..00000000 --- a/lib/reliar/BFUSLDSHIFTDOWN.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?US_RSH_L02 Ref00000000 -S ?BF_MASKED_LD_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size F flags 0 -S ?BF_US_LD_SHIFT_DOWN_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 CD 00 00 00 00 DD 7E 00 E6 0F -R 00 00 01 00 02 06 01 00 -T 09 00 00 00 47 CD 00 00 00 00 C1 C9 -R 00 00 01 00 02 06 00 00 diff --git a/lib/reliar/BFUSMODASG.rel b/lib/reliar/BFUSMODASG.rel deleted file mode 100644 index 44a3cebf..00000000 --- a/lib/reliar/BFUSMODASG.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?BF_S_SHIFT_UP_L10 Ref00000000 -S ?BF_S_RET_VAL_L10 Ref00000000 -S ?US_MOD_L02 Ref00000000 -S ?BF_US_LD_SHIFT_DOWN_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1B flags 0 -S ?BF_US_MODASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 D5 E5 DD E1 23 23 23 -R 00 00 01 00 -T 0B 00 00 00 E3 E5 F5 C5 CD 00 00 00 00 CD -R 00 00 01 00 02 09 03 00 -T 13 00 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 02 00 02 09 00 00 -T 19 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/reliar/BFUSRSHASG.rel b/lib/reliar/BFUSRSHASG.rel deleted file mode 100644 index 8a8de119..00000000 --- a/lib/reliar/BFUSRSHASG.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?US_RSH_L02 Ref00000000 -S ?BF_S_RET_VAL_L10 Ref00000000 -S ?BF_MASKED_LD_L10 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 18 flags 0 -S ?BF_US_RSHASG_L10 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 D5 E5 DD E1 23 23 23 -R 00 00 01 00 -T 0B 00 00 00 E3 E5 F5 C5 CD 00 00 00 00 CD -R 00 00 01 00 02 09 02 00 -T 13 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 09 01 00 diff --git a/lib/reliar/CALLIND.rel b/lib/reliar/CALLIND.rel deleted file mode 100644 index f538d303..00000000 --- a/lib/reliar/CALLIND.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1 flags 0 -S ?CALL_IND_L09 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 E9 -R 00 00 01 00 diff --git a/lib/reliar/CDIVMOD.rel b/lib/reliar/CDIVMOD.rel deleted file mode 100644 index 98d53cb8..00000000 --- a/lib/reliar/CDIVMOD.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 10 flags 0 -S ?C_DIVMOD_L01 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 09 00 CB 11 1D C8 CB 12 7A 90 -R 00 00 01 00 -T 0B 00 00 00 38 F6 57 18 F3 -R 00 00 01 00 diff --git a/lib/reliar/CFINDSIGN.rel b/lib/reliar/CFINDSIGN.rel deleted file mode 100644 index 081c4671..00000000 --- a/lib/reliar/CFINDSIGN.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 14 flags 0 -S ?C_FIND_SIGN_L01 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CB 78 28 05 AF 90 47 3E 01 CB 79 -R 00 00 01 00 -T 0B 00 00 00 C8 F5 AF 91 4F F1 EE 01 C9 -R 00 00 01 00 diff --git a/lib/reliar/CLSH.rel b/lib/reliar/CLSH.rel deleted file mode 100644 index 5abf2728..00000000 --- a/lib/reliar/CLSH.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 7 flags 0 -S ?C_LSH_L01 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 05 C8 87 10 FD C9 -R 00 00 01 00 diff --git a/lib/reliar/CLSHASG.rel b/lib/reliar/CLSHASG.rel deleted file mode 100644 index 27a9bd07..00000000 --- a/lib/reliar/CLSHASG.rel +++ /dev/null @@ -1,11 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?C_LSH_L01 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 6 flags 0 -S ?C_LSHASG_L01 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 7E CD 00 00 00 00 77 C9 -R 00 00 01 00 02 06 00 00 diff --git a/lib/reliar/CMUL.rel b/lib/reliar/CMUL.rel deleted file mode 100644 index 4686c84b..00000000 --- a/lib/reliar/CMUL.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 7 flags 0 -S ?C_MUL_L01 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 4F ED 4C 79 C1 C9 -R 00 00 01 00 diff --git a/lib/reliar/CMULASG.rel b/lib/reliar/CMULASG.rel deleted file mode 100644 index 09c84e87..00000000 --- a/lib/reliar/CMULASG.rel +++ /dev/null @@ -1,11 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?C_MUL_L01 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 9 flags 0 -S ?C_MULASG_L01 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 47 7E CD 00 00 00 00 77 C1 C9 -R 00 00 01 00 02 08 00 00 diff --git a/lib/reliar/CSSWITCH.rel b/lib/reliar/CSSWITCH.rel deleted file mode 100644 index 42996aa2..00000000 --- a/lib/reliar/CSSWITCH.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1C flags 0 -S ?C_S_SWITCH_L06 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 E3 F5 D5 16 00 7B 96 23 5F 96 23 -R 00 00 01 00 -T 0B 00 00 00 7A 9E 23 30 04 EB 23 29 19 5E 23 -R 00 00 01 00 -T 16 00 00 00 56 EB D1 F1 E3 C9 -R 00 00 01 00 diff --git a/lib/reliar/CVSWITCH.rel b/lib/reliar/CVSWITCH.rel deleted file mode 100644 index 6437032f..00000000 --- a/lib/reliar/CVSWITCH.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?V_SWITCH_END_L06 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 12 flags 0 -S ?C_V_SWITCH_L06 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 E3 F5 C5 4E 23 46 23 7B ED B1 20 -R 00 00 01 00 -T 0B 00 00 00 02 23 23 09 C3 00 00 00 00 -R 00 00 01 00 02 09 00 00 diff --git a/lib/reliar/ENTAUTODIRECT.rel b/lib/reliar/ENTAUTODIRECT.rel deleted file mode 100644 index 1d59e0e9..00000000 --- a/lib/reliar/ENTAUTODIRECT.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 14 flags 0 -S ?ENT_AUTO_DIRECT_L09 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 E1 C5 D5 DD E5 DD 21 00 00 DD 39 -R 00 00 01 00 -T 0B 00 00 00 5E 23 56 23 EB 39 F9 EB E9 -R 00 00 01 00 diff --git a/lib/reliar/ENTPARMDIRECT.rel b/lib/reliar/ENTPARMDIRECT.rel deleted file mode 100644 index 5fabf2ce..00000000 --- a/lib/reliar/ENTPARMDIRECT.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size C flags 0 -S ?ENT_PARM_DIRECT_L09 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 E1 C5 D5 DD E5 DD 21 00 00 DD 39 -R 00 00 01 00 -T 0B 00 00 00 E9 -R 00 00 01 00 diff --git a/lib/reliar/FADDASG.rel b/lib/reliar/FADDASG.rel deleted file mode 100644 index 51e62609..00000000 --- a/lib/reliar/FADDASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?F_ADD_L04 Ref00000000 -S ?F_END_ASG2_L04 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 10 flags 0 -S ?F_ADDASG_L04 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 5E 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T 0B 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 09 01 00 diff --git a/lib/reliar/FADDSUB.rel b/lib/reliar/FADDSUB.rel deleted file mode 100644 index 52cb7b0c..00000000 --- a/lib/reliar/FADDSUB.rel +++ /dev/null @@ -1,73 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S ?F_UNDERFLOW_L04 Ref00000000 -S ?F_NO_PACK_L04 Ref00000000 -S ?F_PACK_L04 Ref00000000 -S ?F_ROUND_L04 Ref00000000 -S ?F_OVERFLOW_L04 Ref00000000 -S ?F_UNPACK_L04 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 123 flags 0 -S ?F_ADD_L04 Def00000014 -S ?F_SUB_L04 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 DD 21 02 00 DD 39 E5 -R 00 00 01 00 -T 0B 00 00 00 F5 DD 7E 05 EE 80 6F 18 0F EB E3 -R 00 00 01 00 -T 16 00 00 00 DD E5 DD 21 02 00 DD 39 E5 F5 DD -R 00 00 01 00 -T 21 00 00 00 6E 05 78 E6 7F B1 20 15 45 DD 4E -R 00 00 01 00 -T 2C 00 00 00 04 DD 56 03 DD 5E 02 7D E6 7F 6F -R 00 00 01 00 -T 37 00 00 00 B1 20 01 45 C3 00 00 00 00 7D E6 -R 00 00 01 00 02 09 01 00 -T 40 00 00 00 7F DD B6 04 CA 00 00 00 00 C5 D5 -R 00 00 01 00 02 09 01 00 -T 49 00 00 00 78 E6 7F 67 DD 75 05 7D E6 7F 47 -R 00 00 01 00 -T 54 00 00 00 69 DD 4E 04 ED 42 20 09 EB DD 46 -R 00 00 01 00 -T 5F 00 00 00 03 DD 4E 02 ED 42 D1 38 1D E1 DD -R 00 00 01 00 -T 6A 00 00 00 7E 03 DD 72 03 57 DD 7E 02 DD 73 -R 00 00 01 00 -T 75 00 00 00 02 5F DD 46 05 DD 74 05 DD 4E 04 -R 00 00 01 00 -T 80 00 00 00 DD 75 04 18 01 C1 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 89 00 00 00 F5 7C 95 FE 1A 38 0F DD 46 05 DD -R 00 00 01 00 -T 94 00 00 00 4E 04 DD 56 03 DD 5E 02 C3 -R 00 00 01 00 -T 9D 00 00 00 00 00 00 00 FE 08 38 10 D6 08 6F -R 00 00 01 00 02 04 02 00 -T A6 00 00 00 AF BB 5A 28 02 CB C3 51 48 47 7D -R 00 00 01 00 -T B1 00 00 00 18 EC B7 28 0F CB 38 CB 19 CB 1A -R 00 00 01 00 -T BC 00 00 00 CB 1B 30 02 CB C3 3D 20 F1 DD CB -R 00 00 01 00 -T C7 00 00 00 F9 56 20 29 DD 7E 02 83 5F DD 7E -R 00 00 01 00 -T D2 00 00 00 03 8A 57 DD 7E 04 89 4F DD 7E 05 -R 00 00 01 00 -T DD 00 00 00 88 47 30 10 CB 18 CB 19 CB 1A CB -R 00 00 01 00 -T E8 00 00 00 1B 30 02 CB C3 24 CA 00 00 00 00 -R 00 00 01 00 02 0B 04 00 -T F1 00 00 00 C3 00 00 00 00 DD 7E 02 93 5F DD -R 00 00 01 00 02 05 03 00 -T FA 00 00 00 7E 03 9A 57 DD 7E 04 99 4F DD 7E -R 00 00 01 00 -T 05 01 00 00 05 98 47 B1 B2 B3 CA 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 0E 01 00 00 CB 78 20 0E 25 CA 00 00 00 00 CB -R 00 00 01 00 02 0A 00 00 -T 17 01 00 00 23 CB 12 CB 11 CB 10 18 EE C3 -R 00 00 01 00 -T 21 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 03 00 diff --git a/lib/reliar/FCMP.rel b/lib/reliar/FCMP.rel deleted file mode 100644 index 1b803510..00000000 --- a/lib/reliar/FCMP.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 54 flags 0 -S ?F_CMP_L04 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 DD 21 02 00 DD 39 E5 -R 00 00 01 00 -T 0B 00 00 00 67 DD 7E 05 CB 78 28 19 CB 7F 28 -R 00 00 01 00 -T 16 00 00 00 15 90 20 2B DD 7E 04 91 20 25 DD -R 00 00 01 00 -T 21 00 00 00 7E 03 92 20 1F DD 7E 02 93 18 19 -R 00 00 01 00 -T 2C 00 00 00 EE 80 6F 78 EE 80 95 20 10 79 DD -R 00 00 01 00 -T 37 00 00 00 96 04 20 0A 7A DD 96 03 20 04 7B -R 00 00 01 00 -T 42 00 00 00 DD 96 02 7C E1 DD 75 04 DD 74 05 -R 00 00 01 00 -T 4D 00 00 00 DD E1 E1 EB 33 33 C9 -R 00 00 01 00 diff --git a/lib/reliar/FDEC.rel b/lib/reliar/FDEC.rel deleted file mode 100644 index 5ce6521b..00000000 --- a/lib/reliar/FDEC.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?F_ADD_L04 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size C flags 0 -S ?F_DEC_L04 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 E5 01 80 BF 21 00 00 CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 C9 -R 00 00 01 00 02 04 00 00 diff --git a/lib/reliar/FDECASG.rel b/lib/reliar/FDECASG.rel deleted file mode 100644 index b889c337..00000000 --- a/lib/reliar/FDECASG.rel +++ /dev/null @@ -1,15 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?F_DEC_L04 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 14 flags 0 -S ?F_DECASG_L04 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 5E 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 EB 70 2B 71 2B 72 2B -R 00 00 01 00 02 04 00 00 -T 12 00 00 00 73 C9 -R 00 00 01 00 diff --git a/lib/reliar/FDIV.rel b/lib/reliar/FDIV.rel deleted file mode 100644 index c1cfa02a..00000000 --- a/lib/reliar/FDIV.rel +++ /dev/null @@ -1,52 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?F_UNDERFLOW_L04 Ref00000000 -S ?F_PACK_L04 Ref00000000 -S ?F_UP_ROUND_L04 Ref00000000 -S ?F_OVERFLOW_L04 Ref00000000 -S ?F_UNPACK_L04 Ref00000000 -S ?F_UNDERFLOW2_L04 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size B7 flags 0 -S ?F_DIV_L04 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 DD 21 02 00 DD 39 E5 -R 00 00 01 00 -T 0B 00 00 00 F5 CD 00 00 00 00 1F 1F F5 AF BD -R 00 00 01 00 02 06 04 00 -T 14 00 00 00 CA 00 00 00 00 B4 CA 00 00 00 00 -R 00 00 01 00 02 05 00 00 02 0B 03 00 -T 1B 00 00 00 D6 7F D2 28 00 00 00 ED 44 85 DA -R 00 00 01 00 00 07 01 00 -T 24 00 00 00 00 00 00 00 18 09 67 7D 94 DA -R 00 00 01 00 02 04 03 00 -T 2C 00 00 00 00 00 00 00 CA 00 00 00 00 F5 6A -R 00 00 01 00 02 04 00 00 02 09 00 00 -T 33 00 00 00 61 48 06 00 DD 56 04 DD 5E 03 A7 -R 00 00 01 00 -T 3E 00 00 00 ED 52 79 DD 9E 05 30 0F DD 35 F7 -R 00 00 01 00 -T 49 00 00 00 CA 00 00 00 00 CB 25 CB 14 17 19 -R 00 00 01 00 02 05 05 00 -T 52 00 00 00 DD 8E 05 4F DD 36 F6 17 CB 25 CB -R 00 00 01 00 -T 5D 00 00 00 14 CB 11 CB 10 ED 52 79 DD 9E 05 -R 00 00 01 00 -T 68 00 00 00 4F 78 DE 00 47 30 08 19 79 DD 8E -R 00 00 01 00 -T 73 00 00 00 05 4F 06 00 DD CB 02 16 DD CB 03 -R 00 00 01 00 -T 7E 00 00 00 16 DD CB 04 16 DD 35 F6 20 D2 79 -R 00 00 01 00 -T 89 00 00 00 CB 25 CB 14 17 CB 10 20 07 DD 96 -R 00 00 01 00 -T 94 00 00 00 05 20 02 ED 52 DD 7E 04 2F 47 DD -R 00 00 01 00 -T 9F 00 00 00 7E 03 2F 4F DD 7E 02 2F 57 1E 00 -R 00 00 01 00 -T AA 00 00 00 E1 38 07 20 02 CB 42 C2 -R 00 00 01 00 -T B2 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 09 01 00 diff --git a/lib/reliar/FDIVASG.rel b/lib/reliar/FDIVASG.rel deleted file mode 100644 index a924032e..00000000 --- a/lib/reliar/FDIVASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?F_DIV_L04 Ref00000000 -S ?F_END_ASG2_L04 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 10 flags 0 -S ?F_DIVASG_L04 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 5E 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T 0B 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 09 01 00 diff --git a/lib/reliar/FENDASG2.rel b/lib/reliar/FENDASG2.rel deleted file mode 100644 index 3da85b13..00000000 --- a/lib/reliar/FENDASG2.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 9 flags 0 -S ?F_END_ASG2_L04 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB 70 2B 71 2B 72 2B 73 C9 -R 00 00 01 00 diff --git a/lib/reliar/FINC.rel b/lib/reliar/FINC.rel deleted file mode 100644 index 6ed41cf1..00000000 --- a/lib/reliar/FINC.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?F_ADD_L04 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size C flags 0 -S ?F_INC_L04 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 E5 01 80 3F 21 00 00 CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 C9 -R 00 00 01 00 02 04 00 00 diff --git a/lib/reliar/FINCASG.rel b/lib/reliar/FINCASG.rel deleted file mode 100644 index 07036197..00000000 --- a/lib/reliar/FINCASG.rel +++ /dev/null @@ -1,15 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?F_INC_L04 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 14 flags 0 -S ?F_INCASG_L04 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 5E 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 EB 70 2B 71 2B 72 2B -R 00 00 01 00 02 04 00 00 -T 12 00 00 00 73 C9 -R 00 00 01 00 diff --git a/lib/reliar/FMUL.rel b/lib/reliar/FMUL.rel deleted file mode 100644 index d55b7d15..00000000 --- a/lib/reliar/FMUL.rel +++ /dev/null @@ -1,62 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?F_UNDERFLOW_L04 Ref00000000 -S ?F_ROUND_L04 Ref00000000 -S ?F_OVERFLOW_L04 Ref00000000 -S ?F_UNPACK_L04 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size F0 flags 0 -S ?F_MUL_L04 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 DD E5 DD 21 02 00 DD 39 E5 -R 00 00 01 00 -T 0B 00 00 00 F5 CD 00 00 00 00 CB 3F CB 3F F5 -R 00 00 01 00 02 06 03 00 -T 14 00 00 00 AF BD CA 00 00 00 00 B4 CA -R 00 00 01 00 02 07 00 00 -T 1B 00 00 00 00 00 00 00 D6 7F 38 06 85 DA -R 00 00 01 00 02 04 00 00 -T 23 00 00 00 00 00 00 00 18 04 85 D2 -R 00 00 01 00 02 04 02 00 -T 29 00 00 00 00 00 00 00 67 3E 80 A8 B1 B2 20 -R 00 00 01 00 02 04 00 00 -T 32 00 00 00 0B DD 46 05 DD 4E 04 DD 56 03 18 -R 00 00 01 00 -T 3D 00 00 00 29 3E 80 DD AE 05 DD B6 04 DD B6 -R 00 00 01 00 -T 48 00 00 00 03 28 1C 7C C5 D5 CD 6A 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 51 00 00 00 F1 F1 CB 3D 30 10 24 CA -R 00 00 01 00 -T 59 00 00 00 00 00 00 00 CB 18 CB 19 CB 1A CB -R 00 00 01 00 02 04 02 00 -T 62 00 00 00 1B 30 02 CB C3 C3 00 00 00 00 F5 -R 00 00 01 00 02 0A 01 00 -T 6B 00 00 00 60 DD 56 05 6A ED 6C E5 60 DD 6E -R 00 00 01 00 -T 76 00 00 00 04 ED 6C 59 ED 5C AF 19 CE 00 F5 -R 00 00 01 00 -T 81 00 00 00 E5 60 DD 6E 03 ED 6C 59 DD 56 04 -R 00 00 01 00 -T 8C 00 00 00 ED 5C AF 19 CE 00 DD 46 F5 50 DD -R 00 00 01 00 -T 97 00 00 00 5E 05 ED 5C 19 CE 00 F5 E5 69 DD -R 00 00 01 00 -T A2 00 00 00 66 03 ED 6C 50 DD 5E 04 ED 5C AF -R 00 00 01 00 -T AD 00 00 00 19 CE 00 DD 4E 03 ED 4C DD 71 02 -R 00 00 01 00 -T B8 00 00 00 48 06 00 09 DD 75 F4 4C CE 00 47 -R 00 00 01 00 -T C3 00 00 00 E1 09 4D D1 7A CE 00 57 5C E1 19 -R 00 00 01 00 -T CE 00 00 00 45 D1 7A CE 00 57 5C E1 19 E5 C5 -R 00 00 01 00 -T D9 00 00 00 D1 C1 E1 CB 13 CB 12 CB 11 CB 10 -R 00 00 01 00 -T E4 00 00 00 CB 15 DD 7E F4 DD B6 02 C8 CB C3 -R 00 00 01 00 -T EF 00 00 00 C9 -R 00 00 01 00 diff --git a/lib/reliar/FMULASG.rel b/lib/reliar/FMULASG.rel deleted file mode 100644 index b0bf80ed..00000000 --- a/lib/reliar/FMULASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?F_MUL_L04 Ref00000000 -S ?F_END_ASG2_L04 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 10 flags 0 -S ?F_MULASG_L04 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 5E 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T 0B 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 09 01 00 diff --git a/lib/reliar/FNEGASG.rel b/lib/reliar/FNEGASG.rel deleted file mode 100644 index d9270ad8..00000000 --- a/lib/reliar/FNEGASG.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 16 flags 0 -S ?F_NEGASG_L04 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 5E 23 56 23 4E 23 46 79 B0 28 -R 00 00 01 00 -T 0B 00 00 00 05 78 EE 80 47 70 2B 2B 2B F1 C9 -R 00 00 01 00 diff --git a/lib/reliar/FPACK.rel b/lib/reliar/FPACK.rel deleted file mode 100644 index 4c9df043..00000000 --- a/lib/reliar/FPACK.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 3A flags 0 -S ?F_UNDERFLOW_L04 Def0000000E -S ?F_NO_PACK_L04 Def0000002B -S ?F_PACK_L04 Def00000015 -S ?F_OVERFLOW_L04 Def00000000 -S ?F_UNDERFLOW2_L04 Def0000000D -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 FF 48 50 58 DD CB F9 1E CB 18 -R 00 00 01 00 -T 0B 00 00 00 18 1D C1 06 00 48 50 58 18 15 7C -R 00 00 01 00 -T 16 00 00 00 B7 28 F5 3C 28 E4 5A 51 48 44 DD -R 00 00 01 00 -T 21 00 00 00 CB F9 1E CB 18 38 02 CB B9 F1 F1 -R 00 00 01 00 -T 2C 00 00 00 E1 DD 75 04 DD 74 05 DD E1 E1 EB -R 00 00 01 00 -T 37 00 00 00 33 33 C9 -R 00 00 01 00 diff --git a/lib/reliar/FROUND.rel b/lib/reliar/FROUND.rel deleted file mode 100644 index e5d5135a..00000000 --- a/lib/reliar/FROUND.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?F_UNDERFLOW_L04 Ref00000000 -S ?F_PACK_L04 Ref00000000 -S ?F_OVERFLOW_L04 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 27 flags 0 -S ?F_ROUND_L04 Def00000000 -S ?F_UP_ROUND_L04 Def00000010 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 7C B7 CA 00 00 00 00 7B 17 30 1B -R 00 00 01 00 02 07 00 00 -T 09 00 00 00 B7 20 04 CB 42 28 14 7A C6 01 57 -R 00 00 01 00 -T 14 00 00 00 79 CE 00 4F 78 CE 00 47 30 06 CB -R 00 00 01 00 -T 1F 00 00 00 18 24 CA 00 00 00 00 C3 -R 00 00 01 00 02 07 02 00 -T 25 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/reliar/FSUBASG.rel b/lib/reliar/FSUBASG.rel deleted file mode 100644 index a74d9639..00000000 --- a/lib/reliar/FSUBASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?F_END_ASG2_L04 Ref00000000 -S ?F_SUB_L04 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 10 flags 0 -S ?F_SUBASG_L04 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 5E 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T 0B 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 00 00 diff --git a/lib/reliar/FTOL.rel b/lib/reliar/FTOL.rel deleted file mode 100644 index 8c64d2b9..00000000 --- a/lib/reliar/FTOL.rel +++ /dev/null @@ -1,30 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?L_NOT_L03 Ref00000000 -S ?L_INC_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 5E flags 0 -S ?F_TO_L_L04 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 D5 CB 20 CB 13 CB 79 28 02 CB -R 00 00 01 00 -T 0B 00 00 00 C0 CB F9 78 D6 7F 30 07 01 00 00 -R 00 00 01 00 -T 16 00 00 00 60 69 18 41 FE 20 38 0D 01 00 80 -R 00 00 01 00 -T 21 00 00 00 61 69 CB 43 20 34 0B 2B 18 30 47 -R 00 00 01 00 -T 2C 00 00 00 3E 1F 90 51 4C 65 2E 00 28 1A D6 -R 00 00 01 00 -T 37 00 00 00 08 38 07 6C 61 4A 16 00 18 F5 C6 -R 00 00 01 00 -T 42 00 00 00 08 28 0B 47 CB 3A CB 19 CB 1C CB -R 00 00 01 00 -T 4D 00 00 00 1D 10 F6 42 CB 43 28 06 CD -R 00 00 01 00 -T 56 00 00 00 00 00 00 00 CD 00 00 00 00 D1 F1 -R 00 00 01 00 02 04 00 00 02 09 01 00 -T 5D 00 00 00 C9 -R 00 00 01 00 diff --git a/lib/reliar/FUNPACK.rel b/lib/reliar/FUNPACK.rel deleted file mode 100644 index fc5ed72d..00000000 --- a/lib/reliar/FUNPACK.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 40 flags 0 -S ?F_UNPACK_L04 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 AF 67 CB 21 CB 10 17 37 CB 19 68 -R 00 00 01 00 -T 0B 00 00 00 41 4A 53 1E 00 C5 D5 DD 5E 02 DD -R 00 00 01 00 -T 16 00 00 00 56 03 DD 4E 04 DD 46 05 CB 21 CB -R 00 00 01 00 -T 21 00 00 00 10 CB 14 37 CB 19 DD 71 05 DD 72 -R 00 00 01 00 -T 2C 00 00 00 04 DD 73 03 DD 36 02 00 4F AC CB -R 00 00 01 00 -T 37 00 00 00 19 17 CB 1C 17 60 D1 C1 C9 -R 00 00 01 00 diff --git a/lib/reliar/LADDASG.rel b/lib/reliar/LADDASG.rel deleted file mode 100644 index 7c1e6d79..00000000 --- a/lib/reliar/LADDASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 19 flags 0 -S ?L_ADDASG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 7E 83 77 5F 23 7E 8A 77 57 23 -R 00 00 01 00 -T 0B 00 00 00 7E 89 77 4F 23 7E 88 77 47 2B 2B -R 00 00 01 00 -T 16 00 00 00 2B F1 C9 -R 00 00 01 00 diff --git a/lib/reliar/LAND.rel b/lib/reliar/LAND.rel deleted file mode 100644 index b9cc5f5e..00000000 --- a/lib/reliar/LAND.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1E flags 0 -S ?L_AND_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 F5 E5 21 06 00 39 7E A3 77 -R 00 00 01 00 -T 0B 00 00 00 23 7E A2 77 D1 23 7E 73 A1 4F 23 -R 00 00 01 00 -T 16 00 00 00 7E 72 A0 47 F1 D1 E1 C9 -R 00 00 01 00 diff --git a/lib/reliar/LANDASG.rel b/lib/reliar/LANDASG.rel deleted file mode 100644 index b94fa91d..00000000 --- a/lib/reliar/LANDASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 19 flags 0 -S ?L_ANDASG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 7E A3 77 5F 23 7E A2 77 57 23 -R 00 00 01 00 -T 0B 00 00 00 7E A1 77 4F 23 7E A0 77 47 2B 2B -R 00 00 01 00 -T 16 00 00 00 2B F1 C9 -R 00 00 01 00 diff --git a/lib/reliar/LDEC.rel b/lib/reliar/LDEC.rel deleted file mode 100644 index dfaf2115..00000000 --- a/lib/reliar/LDEC.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 9 flags 0 -S ?L_DEC_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 7D B4 2B 20 01 0B F1 C9 -R 00 00 01 00 diff --git a/lib/reliar/LDECASG.rel b/lib/reliar/LDECASG.rel deleted file mode 100644 index a151ea94..00000000 --- a/lib/reliar/LDECASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?L_END_ASG_L03 Ref00000000 -S ?L_DEC_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size E flags 0 -S ?L_DECASG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 5E 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 00 00 diff --git a/lib/reliar/LDIVMOD.rel b/lib/reliar/LDIVMOD.rel deleted file mode 100644 index b8e88819..00000000 --- a/lib/reliar/LDIVMOD.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 58 flags 0 -S ?L_DIVMOD_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 21 00 00 01 00 00 DD 36 F8 21 -R 00 00 01 00 -T 0B 00 00 00 18 02 19 37 DD CB FC 16 DD CB FD -R 00 00 01 00 -T 16 00 00 00 16 DD CB FE 16 DD CB FF 16 DD 35 -R 00 00 01 00 -T 21 00 00 00 F8 28 2E CB 11 CB 10 CB 15 CB 14 -R 00 00 01 00 -T 2C 00 00 00 ED 52 38 DD 20 10 78 DD 96 07 38 -R 00 00 01 00 -T 37 00 00 00 D5 20 08 79 DD 96 06 38 CD 18 04 -R 00 00 01 00 -T 42 00 00 00 79 DD 96 06 4F 78 DD 9E 07 47 30 -R 00 00 01 00 -T 4D 00 00 00 C1 2B A7 18 BD F1 E5 60 69 C1 C9 -R 00 00 01 00 diff --git a/lib/reliar/LEAVE32.rel b/lib/reliar/LEAVE32.rel deleted file mode 100644 index fabda197..00000000 --- a/lib/reliar/LEAVE32.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 8 flags 0 -S ?LEAVE_32_L09 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 DD F9 DD E1 D1 33 33 C9 -R 00 00 01 00 diff --git a/lib/reliar/LEAVEDIRECT.rel b/lib/reliar/LEAVEDIRECT.rel deleted file mode 100644 index 866c0bbe..00000000 --- a/lib/reliar/LEAVEDIRECT.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 7 flags 0 -S ?LEAVE_DIRECT_L09 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 DD F9 DD E1 D1 C1 C9 -R 00 00 01 00 diff --git a/lib/reliar/LENDASG.rel b/lib/reliar/LENDASG.rel deleted file mode 100644 index 497bb7b8..00000000 --- a/lib/reliar/LENDASG.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 9 flags 0 -S ?L_END_ASG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB 70 2B 71 2B 72 2B 73 C9 -R 00 00 01 00 diff --git a/lib/reliar/LENDMULDIVASG.rel b/lib/reliar/LENDMULDIVASG.rel deleted file mode 100644 index 8cc650df..00000000 --- a/lib/reliar/LENDMULDIVASG.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 9 flags 0 -S ?L_END_MULDIVASG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB 70 2B 71 2B 72 2B 73 C9 -R 00 00 01 00 diff --git a/lib/reliar/LFINDSIGN.rel b/lib/reliar/LFINDSIGN.rel deleted file mode 100644 index 9ae7a941..00000000 --- a/lib/reliar/LFINDSIGN.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?L_NOT_L03 Ref00000000 -S ?L_INC_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 44 flags 0 -S ?L_FIND_SIGN_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CB 7A 28 18 42 4B DD 66 07 DD 6E -R 00 00 01 00 -T 0B 00 00 00 06 CD 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 06 00 00 02 0B 01 00 -T 12 00 00 00 50 59 DD 74 07 DD 75 06 3E 01 DD -R 00 00 01 00 -T 1D 00 00 00 CB FF 7E C8 F5 DD 46 FF DD 4E FE -R 00 00 01 00 -T 28 00 00 00 DD 66 FD DD 6E FC CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 31 00 00 00 CD 00 00 00 00 DD 70 FF DD 71 FE -R 00 00 01 00 02 05 01 00 -T 3A 00 00 00 DD 74 FD DD 75 FC F1 EE 01 C9 -R 00 00 01 00 diff --git a/lib/reliar/LIBVERSION.rel b/lib/reliar/LIBVERSION.rel deleted file mode 100644 index cb701cdc..00000000 --- a/lib/reliar/LIBVERSION.rel +++ /dev/null @@ -1,6 +0,0 @@ -XL4 -H 1 areas 3 global symbols -S ?CL64180L_4_06_L00 Def00000000 -S ?CL64180B_4_06_L00 Def00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 diff --git a/lib/reliar/LINC.rel b/lib/reliar/LINC.rel deleted file mode 100644 index 52f25f0c..00000000 --- a/lib/reliar/LINC.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 8 flags 0 -S ?L_INC_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2C C0 24 C0 0C C0 04 C9 -R 00 00 01 00 diff --git a/lib/reliar/LINCASG.rel b/lib/reliar/LINCASG.rel deleted file mode 100644 index 6149976a..00000000 --- a/lib/reliar/LINCASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?L_END_ASG_L03 Ref00000000 -S ?L_INC_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size E flags 0 -S ?L_INCASG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 5E 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 00 00 diff --git a/lib/reliar/LLSH.rel b/lib/reliar/LLSH.rel deleted file mode 100644 index 1275699a..00000000 --- a/lib/reliar/LLSH.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 18 flags 0 -S ?L_LSH_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 B7 C8 FE 08 38 09 41 4C 65 2E 00 -R 00 00 01 00 -T 0B 00 00 00 D6 08 18 F2 29 CB 11 CB 10 3D 20 -R 00 00 01 00 -T 16 00 00 00 F8 C9 -R 00 00 01 00 diff --git a/lib/reliar/LLSHASG.rel b/lib/reliar/LLSHASG.rel deleted file mode 100644 index 0e6f9bac..00000000 --- a/lib/reliar/LLSHASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?L_END_ASG_L03 Ref00000000 -S .__.ABS. Def00000000 -S ?L_LSH_L03 Ref00000000 -A _DEFAULT size 0 flags 0 -A RCODE size E flags 0 -S ?L_LSHASG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 5E 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 09 00 00 diff --git a/lib/reliar/LMUL.rel b/lib/reliar/LMUL.rel deleted file mode 100644 index 97e5ebc3..00000000 --- a/lib/reliar/LMUL.rel +++ /dev/null @@ -1,32 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 84 flags 0 -S ?L_MUL_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 E3 D5 DD E5 DD 21 00 00 DD 39 DD -R 00 00 01 00 -T 0B 00 00 00 56 09 DD 74 09 DD 5E 08 DD 75 08 -R 00 00 01 00 -T 16 00 00 00 D5 C5 F5 DD 6E 04 62 ED 6C DD 56 -R 00 00 01 00 -T 21 00 00 00 05 ED 5C 19 59 DD 56 07 ED 5C 19 -R 00 00 01 00 -T 2C 00 00 00 DD 5E 06 50 ED 5C 19 E5 DD 5E 04 -R 00 00 01 00 -T 37 00 00 00 DD 56 FE ED 5C DD 6E 05 DD 66 07 -R 00 00 01 00 -T 42 00 00 00 ED 6C 19 DD 46 06 ED 4C 09 E5 DD -R 00 00 01 00 -T 4D 00 00 00 5E 04 DD 56 07 ED 5C DD 6E 05 DD -R 00 00 01 00 -T 58 00 00 00 66 06 ED 6C AF 19 17 F5 DD 5E 04 -R 00 00 01 00 -T 63 00 00 00 DD 56 06 ED 5C 4A 06 00 AF 09 17 -R 00 00 01 00 -T 6E 00 00 00 55 C1 4C E1 09 84 C1 81 4D 47 EB -R 00 00 01 00 -T 79 00 00 00 F1 D1 D1 DD E1 D1 33 33 33 33 C9 -R 00 00 01 00 diff --git a/lib/reliar/LMULASG.rel b/lib/reliar/LMULASG.rel deleted file mode 100644 index 66ce7d93..00000000 --- a/lib/reliar/LMULASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?L_MUL_L03 Ref00000000 -S ?L_END_MULDIVASG_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 10 flags 0 -S ?L_MULASG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 5E 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T 0B 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 09 01 00 diff --git a/lib/reliar/LNEG.rel b/lib/reliar/LNEG.rel deleted file mode 100644 index 32769b23..00000000 --- a/lib/reliar/LNEG.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 12 flags 0 -S ?L_NEG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 AF 95 6F 3E 00 9C 67 3E 00 99 -R 00 00 01 00 -T 0B 00 00 00 4F 3E 00 98 47 F1 C9 -R 00 00 01 00 diff --git a/lib/reliar/LNEGASG.rel b/lib/reliar/LNEGASG.rel deleted file mode 100644 index 360e7f2f..00000000 --- a/lib/reliar/LNEGASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?L_END_ASG_L03 Ref00000000 -S ?L_NEG_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size E flags 0 -S ?L_NEGASG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 5E 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 00 00 diff --git a/lib/reliar/LNOT.rel b/lib/reliar/LNOT.rel deleted file mode 100644 index 54f5a4b8..00000000 --- a/lib/reliar/LNOT.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size F flags 0 -S ?L_NOT_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 7D 2F 6F 7C 2F 67 79 2F 4F 78 -R 00 00 01 00 -T 0B 00 00 00 2F 47 F1 C9 -R 00 00 01 00 diff --git a/lib/reliar/LNOTASG.rel b/lib/reliar/LNOTASG.rel deleted file mode 100644 index 2e0518af..00000000 --- a/lib/reliar/LNOTASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?L_END_ASG_L03 Ref00000000 -S ?L_NOT_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size E flags 0 -S ?L_NOTASG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 5E 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 00 00 diff --git a/lib/reliar/LOR.rel b/lib/reliar/LOR.rel deleted file mode 100644 index 1ec97ded..00000000 --- a/lib/reliar/LOR.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1E flags 0 -S ?L_OR_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 F5 E5 21 06 00 39 7E B3 77 -R 00 00 01 00 -T 0B 00 00 00 23 7E B2 77 D1 23 7E 73 B1 4F 23 -R 00 00 01 00 -T 16 00 00 00 7E 72 B0 47 F1 D1 E1 C9 -R 00 00 01 00 diff --git a/lib/reliar/LORASG.rel b/lib/reliar/LORASG.rel deleted file mode 100644 index 30c846a4..00000000 --- a/lib/reliar/LORASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 19 flags 0 -S ?L_ORASG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 7E B3 77 5F 23 7E B2 77 57 23 -R 00 00 01 00 -T 0B 00 00 00 7E B1 77 4F 23 7E B0 77 47 2B 2B -R 00 00 01 00 -T 16 00 00 00 2B F1 C9 -R 00 00 01 00 diff --git a/lib/reliar/LSSWITCH.rel b/lib/reliar/LSSWITCH.rel deleted file mode 100644 index 3070b7ee..00000000 --- a/lib/reliar/LSSWITCH.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?S_SWITCH_END_L06 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 24 flags 0 -S ?L_S_SWITCH_L06 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 E3 F5 D5 C5 7B 96 23 5F 7A 9E 23 -R 00 00 01 00 -T 0B 00 00 00 57 79 9E 23 4F 78 9E 23 47 7B 96 -R 00 00 01 00 -T 16 00 00 00 23 7A 9E 23 79 DE 00 78 DE 00 C1 -R 00 00 01 00 -T 21 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/reliar/LSUBASG.rel b/lib/reliar/LSUBASG.rel deleted file mode 100644 index bde48db8..00000000 --- a/lib/reliar/LSUBASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 19 flags 0 -S ?L_SUBASG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 7E 93 77 5F 23 7E 9A 77 57 23 -R 00 00 01 00 -T 0B 00 00 00 7E 99 77 4F 23 7E 98 77 47 2B 2B -R 00 00 01 00 -T 16 00 00 00 2B F1 C9 -R 00 00 01 00 diff --git a/lib/reliar/LTOF.rel b/lib/reliar/LTOF.rel deleted file mode 100644 index 3fc9bccb..00000000 --- a/lib/reliar/LTOF.rel +++ /dev/null @@ -1,25 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?L_NOT_L03 Ref00000000 -S ?L_INC_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 43 flags 0 -S ?SL_TO_F_L04 Def00000000 -S ?UL_TO_F_L04 Def00000016 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 D5 78 B1 B4 B5 28 38 AF CB 78 -R 00 00 01 00 -T 0B 00 00 00 28 07 CD 00 00 00 00 CD -R 00 00 01 00 02 07 00 00 -T 11 00 00 00 00 00 00 00 3C 18 09 F5 D5 78 B1 -R 00 00 01 00 02 04 01 00 -T 1A 00 00 00 B4 B5 28 22 AF 58 06 1F CB 7B 20 -R 00 00 01 00 -T 25 00 00 00 0A CB 25 CB 14 CB 11 CB 13 10 F2 -R 00 00 01 00 -T 30 00 00 00 57 78 C6 7F 47 6C 61 4B CB 1A CB -R 00 00 01 00 -T 3B 00 00 00 18 38 02 CB B9 D1 F1 C9 -R 00 00 01 00 diff --git a/lib/reliar/LVSWITCH.rel b/lib/reliar/LVSWITCH.rel deleted file mode 100644 index 55a7550d..00000000 --- a/lib/reliar/LVSWITCH.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?V_SWITCH_END_L06 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 3B flags 0 -S ?L_V_SWITCH_L06 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 E3 F5 C5 DD E5 DD 21 00 00 DD 39 -R 00 00 01 00 -T 0B 00 00 00 4E 23 46 18 02 23 23 23 78 B1 28 -R 00 00 01 00 -T 16 00 00 00 1B 0B 7B 96 23 20 F3 7A 96 20 EF -R 00 00 01 00 -T 21 00 00 00 23 DD 7E 02 96 23 20 E9 DD 7E 03 -R 00 00 01 00 -T 2C 00 00 00 96 20 E3 23 23 23 09 09 09 09 DD -R 00 00 01 00 -T 37 00 00 00 E1 C3 00 00 00 00 -R 00 00 01 00 02 06 00 00 diff --git a/lib/reliar/LXOR.rel b/lib/reliar/LXOR.rel deleted file mode 100644 index fa6fe5fc..00000000 --- a/lib/reliar/LXOR.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1E flags 0 -S ?L_XOR_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 F5 E5 21 06 00 39 7E AB 77 -R 00 00 01 00 -T 0B 00 00 00 23 7E AA 77 D1 23 7E 73 A9 4F 23 -R 00 00 01 00 -T 16 00 00 00 7E 72 A8 47 F1 D1 E1 C9 -R 00 00 01 00 diff --git a/lib/reliar/LXORASG.rel b/lib/reliar/LXORASG.rel deleted file mode 100644 index c0d44d17..00000000 --- a/lib/reliar/LXORASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 19 flags 0 -S ?L_XORASG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 7E AB 77 5F 23 7E AA 77 57 23 -R 00 00 01 00 -T 0B 00 00 00 7E A9 77 4F 23 7E A8 77 47 2B 2B -R 00 00 01 00 -T 16 00 00 00 2B F1 C9 -R 00 00 01 00 diff --git a/lib/reliar/MEMCMP.rel b/lib/reliar/MEMCMP.rel deleted file mode 100644 index 371d30f1..00000000 --- a/lib/reliar/MEMCMP.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1E flags 0 -S ?MEMCMP_L11 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 C5 D5 79 B0 28 09 1A ED A1 20 -R 00 00 01 00 -T 0B 00 00 00 09 13 EA 07 00 00 00 21 00 00 18 -R 00 00 01 00 00 07 01 00 -T 14 00 00 00 05 2B 96 6F 9F 67 D1 C1 F1 C9 -R 00 00 01 00 diff --git a/lib/reliar/MEMSET.rel b/lib/reliar/MEMSET.rel deleted file mode 100644 index d32de006..00000000 --- a/lib/reliar/MEMSET.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 17 flags 0 -S ?MEMSET_L11 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 E5 D5 78 B1 28 0C 7D 12 0B 78 -R 00 00 01 00 -T 0B 00 00 00 B1 28 05 6B 62 13 ED B0 D1 E1 F1 -R 00 00 01 00 -T 16 00 00 00 C9 -R 00 00 01 00 diff --git a/lib/reliar/MONITORBANKLEAVE.rel b/lib/reliar/MONITORBANKLEAVE.rel deleted file mode 100644 index c1fe44af..00000000 --- a/lib/reliar/MONITORBANKLEAVE.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 8 flags 0 -S ?MONITOR_BANK_LEAVE_L09 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F1 E2 00 00 00 00 FB C3 -R 00 00 01 00 02 06 00 00 -T 06 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 diff --git a/lib/reliar/MONITORBANKLEAVE32.rel b/lib/reliar/MONITORBANKLEAVE32.rel deleted file mode 100644 index ec7dd97d..00000000 --- a/lib/reliar/MONITORBANKLEAVE32.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size F flags 0 -S ?MONITOR_BANK_LEAVE_32_L09 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F1 DD F9 DD E1 D1 33 33 E2 -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 FB C3 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 0A 00 00 diff --git a/lib/reliar/MONITORBANKLEAVEIX.rel b/lib/reliar/MONITORBANKLEAVEIX.rel deleted file mode 100644 index 4e32dd5a..00000000 --- a/lib/reliar/MONITORBANKLEAVEIX.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size C flags 0 -S ?MONITOR_BANK_LEAVE_IX_L09 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F1 DD F9 DD E1 E2 00 00 00 00 FB -R 00 00 01 00 02 0A 00 00 -T 09 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/lib/reliar/MONITORBANKLEAVEPOP.rel b/lib/reliar/MONITORBANKLEAVEPOP.rel deleted file mode 100644 index 0eb055e8..00000000 --- a/lib/reliar/MONITORBANKLEAVEPOP.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size E flags 0 -S ?MONITOR_BANK_LEAVE_POP_L09 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F1 DD F9 DD E1 D1 C1 E2 -R 00 00 01 00 -T 08 00 00 00 00 00 00 00 FB C3 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 0A 00 00 diff --git a/lib/reliar/MONITORLEAVE.rel b/lib/reliar/MONITORLEAVE.rel deleted file mode 100644 index ffd76de4..00000000 --- a/lib/reliar/MONITORLEAVE.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 4 flags 0 -S ?MONITOR_LEAVE_L09 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F1 E0 FB C9 -R 00 00 01 00 diff --git a/lib/reliar/MONITORLEAVE32.rel b/lib/reliar/MONITORLEAVE32.rel deleted file mode 100644 index e02e6e31..00000000 --- a/lib/reliar/MONITORLEAVE32.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size B flags 0 -S ?MONITOR_LEAVE_32_L09 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F1 DD F9 DD E1 D1 33 33 E0 FB C9 -R 00 00 01 00 diff --git a/lib/reliar/MONITORLEAVEIX.rel b/lib/reliar/MONITORLEAVEIX.rel deleted file mode 100644 index 961e889f..00000000 --- a/lib/reliar/MONITORLEAVEIX.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 8 flags 0 -S ?MONITOR_LEAVE_IX_L09 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F1 DD F9 DD E1 E0 FB C9 -R 00 00 01 00 diff --git a/lib/reliar/MONITORLEAVEIXPA.rel b/lib/reliar/MONITORLEAVEIXPA.rel deleted file mode 100644 index e9cea805..00000000 --- a/lib/reliar/MONITORLEAVEIXPA.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size A flags 0 -S ?MONITOR_LEAVE_IX_PA_L09 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 67 F1 7C DD F9 DD E1 E0 FB C9 -R 00 00 01 00 diff --git a/lib/reliar/MONITORLEAVEPA.rel b/lib/reliar/MONITORLEAVEPA.rel deleted file mode 100644 index d24f2e00..00000000 --- a/lib/reliar/MONITORLEAVEPA.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 6 flags 0 -S ?MONITOR_LEAVE_PA_L09 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 67 F1 7C E0 FB C9 -R 00 00 01 00 diff --git a/lib/reliar/MONITORLEAVEPOP.rel b/lib/reliar/MONITORLEAVEPOP.rel deleted file mode 100644 index d267291f..00000000 --- a/lib/reliar/MONITORLEAVEPOP.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size C flags 0 -S ?MONITOR_LEAVE_POP_L09 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 5F F1 7B DD F9 DD E1 D1 C1 E0 FB -R 00 00 01 00 -T 0B 00 00 00 C9 -R 00 00 01 00 diff --git a/lib/reliar/SCDIV.rel b/lib/reliar/SCDIV.rel deleted file mode 100644 index ea71a8fb..00000000 --- a/lib/reliar/SCDIV.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?C_FIND_SIGN_L01 Ref00000000 -S ?C_DIVMOD_L01 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 18 flags 0 -S ?SC_DIV_L01 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 4F AF CD 00 00 00 00 F5 CD -R 00 00 01 00 02 09 00 00 -T 09 00 00 00 00 00 00 00 F1 B7 79 28 03 3C 18 -R 00 00 01 00 02 04 01 00 -T 12 00 00 00 02 EE FF D1 C1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SCMOD.rel b/lib/reliar/SCMOD.rel deleted file mode 100644 index 834ceb94..00000000 --- a/lib/reliar/SCMOD.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?C_FIND_SIGN_L01 Ref00000000 -S ?C_DIVMOD_L01 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 16 flags 0 -S ?SC_MOD_L01 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 4F 3E 01 CD 00 00 00 00 F5 -R 00 00 01 00 02 0A 00 00 -T 09 00 00 00 CD 00 00 00 00 F1 B7 7A 20 02 ED -R 00 00 01 00 02 05 01 00 -T 12 00 00 00 44 D1 C1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SCRSH.rel b/lib/reliar/SCRSH.rel deleted file mode 100644 index c8330ffb..00000000 --- a/lib/reliar/SCRSH.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 8 flags 0 -S ?SC_RSH_L01 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 05 C8 CB 2F 10 FC C9 -R 00 00 01 00 diff --git a/lib/reliar/SCRSHASG.rel b/lib/reliar/SCRSHASG.rel deleted file mode 100644 index 6f28ea94..00000000 --- a/lib/reliar/SCRSHASG.rel +++ /dev/null @@ -1,11 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?SC_RSH_L01 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 6 flags 0 -S ?SC_RSHASG_L01 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 7E CD 00 00 00 00 77 C9 -R 00 00 01 00 02 06 00 00 diff --git a/lib/reliar/SDIVMOD.rel b/lib/reliar/SDIVMOD.rel deleted file mode 100644 index 08accb7d..00000000 --- a/lib/reliar/SDIVMOD.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 16 flags 0 -S ?S_DIVMOD_L02 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 00 3E 11 CB 13 CB 12 3D C8 -R 00 00 01 00 -T 0B 00 00 00 CB 15 CB 14 ED 42 30 F2 09 18 EF -R 00 00 01 00 diff --git a/lib/reliar/SFINDSIGN.rel b/lib/reliar/SFINDSIGN.rel deleted file mode 100644 index 29efc0c7..00000000 --- a/lib/reliar/SFINDSIGN.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1C flags 0 -S ?S_FIND_SIGN_L02 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CB 78 28 09 AF 91 4F 3E 00 98 47 -R 00 00 01 00 -T 0B 00 00 00 3E 01 CB 7A C8 F5 AF 93 5F 3E 00 -R 00 00 01 00 -T 16 00 00 00 9A 57 F1 EE 01 C9 -R 00 00 01 00 diff --git a/lib/reliar/SLCMP.rel b/lib/reliar/SLCMP.rel deleted file mode 100644 index 97c75094..00000000 --- a/lib/reliar/SLCMP.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 31 flags 0 -S ?SL_CMP_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 D5 C5 F5 D5 C5 EB 21 0F 00 -R 00 00 01 00 -T 0B 00 00 00 39 7E EE 80 47 72 2B 4E 73 EB E1 -R 00 00 01 00 -T 16 00 00 00 7C EE 80 67 ED 42 E1 20 0A EB 2B -R 00 00 01 00 -T 21 00 00 00 7E 2B 6E 67 EB A7 ED 52 C1 78 C1 -R 00 00 01 00 -T 2C 00 00 00 E1 D1 33 33 C9 -R 00 00 01 00 diff --git a/lib/reliar/SLDIV.rel b/lib/reliar/SLDIV.rel deleted file mode 100644 index 6d99fac1..00000000 --- a/lib/reliar/SLDIV.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?L_NOT_L03 Ref00000000 -S ?L_FIND_SIGN_L03 Ref00000000 -S ?L_INC_L03 Ref00000000 -S ?L_DIVMOD_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 30 flags 0 -S ?SL_DIV_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 F5 DD E5 DD 21 00 00 DD 39 -R 00 00 01 00 -T 0B 00 00 00 C5 D5 DD 56 09 DD 74 09 DD 5E 08 -R 00 00 01 00 -T 16 00 00 00 DD 75 08 AF CD 00 00 00 00 CD -R 00 00 01 00 02 09 01 00 -T 1E 00 00 00 00 00 00 00 E1 C1 B7 CC -R 00 00 01 00 02 04 03 00 -T 24 00 00 00 00 00 00 00 C4 00 00 00 00 DD E1 -R 00 00 01 00 02 04 00 00 02 09 02 00 -T 2B 00 00 00 F1 D1 33 33 C9 -R 00 00 01 00 diff --git a/lib/reliar/SLDIVASG.rel b/lib/reliar/SLDIVASG.rel deleted file mode 100644 index 694b917d..00000000 --- a/lib/reliar/SLDIVASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?L_END_MULDIVASG_L03 Ref00000000 -S ?SL_DIV_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 10 flags 0 -S ?SL_DIVASG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 5E 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T 0B 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 00 00 diff --git a/lib/reliar/SLMOD.rel b/lib/reliar/SLMOD.rel deleted file mode 100644 index 4b0cfbe3..00000000 --- a/lib/reliar/SLMOD.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?L_NOT_L03 Ref00000000 -S ?L_FIND_SIGN_L03 Ref00000000 -S ?L_INC_L03 Ref00000000 -S ?L_DIVMOD_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 33 flags 0 -S ?SL_MOD_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 F5 DD E5 DD 21 00 00 DD 39 -R 00 00 01 00 -T 0B 00 00 00 C5 D5 DD 56 09 DD 74 09 DD 5E 08 -R 00 00 01 00 -T 16 00 00 00 DD 75 08 3E 01 CD 00 00 00 00 CD -R 00 00 01 00 02 0A 01 00 -T 1F 00 00 00 00 00 00 00 B7 20 06 CD -R 00 00 01 00 02 04 03 00 -T 25 00 00 00 00 00 00 00 CD 00 00 00 00 DD F9 -R 00 00 01 00 02 04 00 00 02 09 02 00 -T 2C 00 00 00 DD E1 F1 D1 33 33 C9 -R 00 00 01 00 diff --git a/lib/reliar/SLMODASG.rel b/lib/reliar/SLMODASG.rel deleted file mode 100644 index 07a25826..00000000 --- a/lib/reliar/SLMODASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?L_END_MULDIVASG_L03 Ref00000000 -S ?SL_MOD_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 10 flags 0 -S ?SL_MODASG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 5E 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T 0B 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 00 00 diff --git a/lib/reliar/SLRSH.rel b/lib/reliar/SLRSH.rel deleted file mode 100644 index 0c9ca77d..00000000 --- a/lib/reliar/SLRSH.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size E flags 0 -S ?SL_RSH_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 B7 C8 CB 28 CB 19 CB 1C CB 1D 3D -R 00 00 01 00 -T 0B 00 00 00 20 F5 C9 -R 00 00 01 00 diff --git a/lib/reliar/SLRSHASG.rel b/lib/reliar/SLRSHASG.rel deleted file mode 100644 index 01ab3237..00000000 --- a/lib/reliar/SLRSHASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?L_END_ASG_L03 Ref00000000 -S ?SL_RSH_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size E flags 0 -S ?SL_RSHASG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 5E 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 00 00 diff --git a/lib/reliar/SLSH.rel b/lib/reliar/SLSH.rel deleted file mode 100644 index 913abba2..00000000 --- a/lib/reliar/SLSH.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 9 flags 0 -S ?S_LSH_L02 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 05 C8 EB 29 10 FD EB C9 -R 00 00 01 00 diff --git a/lib/reliar/SLSHASG.rel b/lib/reliar/SLSHASG.rel deleted file mode 100644 index 619531af..00000000 --- a/lib/reliar/SLSHASG.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?S_LSH_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size A flags 0 -S ?S_LSHASG_L02 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 5E 23 56 CD 00 00 00 00 72 2B 73 -R 00 00 01 00 02 08 00 00 -T 09 00 00 00 C9 -R 00 00 01 00 diff --git a/lib/reliar/SLSHASGBCprim.rel b/lib/reliar/SLSHASGBCprim.rel deleted file mode 100644 index 2567b0f0..00000000 --- a/lib/reliar/SLSHASGBCprim.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size F flags 0 -S ?S_LSHASG_BC_prim_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D9 B7 28 07 CB 21 CB 10 3D 20 F9 -R 00 00 01 00 -T 0B 00 00 00 C5 D9 E1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SLSHASGDEprim.rel b/lib/reliar/SLSHASGDEprim.rel deleted file mode 100644 index e86a69b5..00000000 --- a/lib/reliar/SLSHASGDEprim.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size E flags 0 -S ?S_LSHASG_DE_prim_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D9 B7 28 06 EB 29 3D 20 FC EB D5 -R 00 00 01 00 -T 0B 00 00 00 D9 E1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SMUL.rel b/lib/reliar/SMUL.rel deleted file mode 100644 index 5e105efd..00000000 --- a/lib/reliar/SMUL.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 16 flags 0 -S ?S_MUL_L02 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 C5 E5 78 42 51 67 6B ED 4C ED -R 00 00 01 00 -T 0B 00 00 00 6C ED 5C 79 85 82 57 E1 C1 F1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SMULASG.rel b/lib/reliar/SMULASG.rel deleted file mode 100644 index 87a60cba..00000000 --- a/lib/reliar/SMULASG.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?S_MUL_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size A flags 0 -S ?S_MULASG_L02 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 5E 23 56 CD 00 00 00 00 72 2B 73 -R 00 00 01 00 02 08 00 00 -T 09 00 00 00 C9 -R 00 00 01 00 diff --git a/lib/reliar/SMULASGBCprim.rel b/lib/reliar/SMULASGBCprim.rel deleted file mode 100644 index fdb40bbb..00000000 --- a/lib/reliar/SMULASGBCprim.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?S_MUL_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size F flags 0 -S ?S_MULASG_BC_prim_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D9 EB E3 EB CD 00 00 00 00 42 -R 00 00 01 00 02 0A 00 00 -T 09 00 00 00 4B D1 C5 D9 E1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SMULASGDEprim.rel b/lib/reliar/SMULASGDEprim.rel deleted file mode 100644 index 95b6bb5b..00000000 --- a/lib/reliar/SMULASGDEprim.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?S_MUL_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size E flags 0 -S ?S_MULASG_DE_prim_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D9 E1 C5 44 4D CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 09 00 00 00 C1 D5 D9 E1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SMULASGIX.rel b/lib/reliar/SMULASGIX.rel deleted file mode 100644 index 4f94cc45..00000000 --- a/lib/reliar/SMULASGIX.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?S_MUL_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size D flags 0 -S ?S_MULASG_IX_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D5 DD E5 D1 CD 00 00 00 00 D5 EB -R 00 00 01 00 02 09 00 00 -T 09 00 00 00 DD E1 D1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SMULASGIY.rel b/lib/reliar/SMULASGIY.rel deleted file mode 100644 index 8f89e26e..00000000 --- a/lib/reliar/SMULASGIY.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?S_MUL_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size D flags 0 -S ?S_MULASG_IY_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D5 FD E5 D1 CD 00 00 00 00 D5 EB -R 00 00 01 00 02 09 00 00 -T 09 00 00 00 FD E1 D1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SSCMP.rel b/lib/reliar/SSCMP.rel deleted file mode 100644 index 279002e5..00000000 --- a/lib/reliar/SSCMP.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 12 flags 0 -S ?SS_CMP_L02 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 E5 F5 7C EE 80 67 78 EE 80 47 -R 00 00 01 00 -T 0B 00 00 00 F1 A7 ED 42 E1 C1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SSDIV.rel b/lib/reliar/SSDIV.rel deleted file mode 100644 index e530c783..00000000 --- a/lib/reliar/SSDIV.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?S_DIVMOD_L02 Ref00000000 -S ?S_FIND_SIGN_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1C flags 0 -S ?SS_DIV_L02 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 C5 E5 AF CD 00 00 00 00 F5 CD -R 00 00 01 00 02 09 01 00 -T 09 00 00 00 00 00 00 00 F1 B7 28 03 13 18 06 -R 00 00 01 00 02 04 00 00 -T 12 00 00 00 7B 2F 5F 7A 2F 57 E1 C1 F1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SSDIVASG.rel b/lib/reliar/SSDIVASG.rel deleted file mode 100644 index 35ec048e..00000000 --- a/lib/reliar/SSDIVASG.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?SS_DIV_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size A flags 0 -S ?SS_DIVASG_L02 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 5E 23 56 CD 00 00 00 00 72 2B 73 -R 00 00 01 00 02 08 00 00 -T 09 00 00 00 C9 -R 00 00 01 00 diff --git a/lib/reliar/SSDIVASGBCprim.rel b/lib/reliar/SSDIVASGBCprim.rel deleted file mode 100644 index 308f1e83..00000000 --- a/lib/reliar/SSDIVASGBCprim.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?SS_DIV_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 12 flags 0 -S ?SS_DIVASG_BC_prim_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D9 EB E3 50 59 44 4D CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 42 4B D1 C5 D9 E1 C9 -R 00 00 01 00 02 04 00 00 diff --git a/lib/reliar/SSDIVASGDEprim.rel b/lib/reliar/SSDIVASGDEprim.rel deleted file mode 100644 index a735bc59..00000000 --- a/lib/reliar/SSDIVASGDEprim.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?SS_DIV_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size E flags 0 -S ?SS_DIVASG_DE_prim_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D9 E1 C5 44 4D CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 09 00 00 00 C1 D5 D9 E1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SSDIVASGIX.rel b/lib/reliar/SSDIVASGIX.rel deleted file mode 100644 index 366b6a9e..00000000 --- a/lib/reliar/SSDIVASGIX.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?SS_DIV_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size D flags 0 -S ?SS_DIVASG_IX_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D5 DD E5 D1 CD 00 00 00 00 D5 EB -R 00 00 01 00 02 09 00 00 -T 09 00 00 00 DD E1 D1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SSDIVASGIY.rel b/lib/reliar/SSDIVASGIY.rel deleted file mode 100644 index 80f2a9e6..00000000 --- a/lib/reliar/SSDIVASGIY.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?SS_DIV_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size D flags 0 -S ?SS_DIVASG_IY_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D5 FD E5 D1 CD 00 00 00 00 D5 EB -R 00 00 01 00 02 09 00 00 -T 09 00 00 00 FD E1 D1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SSMOD.rel b/lib/reliar/SSMOD.rel deleted file mode 100644 index bb64d9a5..00000000 --- a/lib/reliar/SSMOD.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?S_DIVMOD_L02 Ref00000000 -S ?S_FIND_SIGN_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1C flags 0 -S ?SS_MOD_L02 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 E5 C5 3E 01 CD 00 00 00 00 F5 -R 00 00 01 00 02 0A 01 00 -T 09 00 00 00 CD 00 00 00 00 F1 EB B7 20 07 AF -R 00 00 01 00 02 05 00 00 -T 12 00 00 00 93 5F 3E 00 9A 57 C1 E1 F1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SSMODASG.rel b/lib/reliar/SSMODASG.rel deleted file mode 100644 index f9914c5f..00000000 --- a/lib/reliar/SSMODASG.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?SS_MOD_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size A flags 0 -S ?SS_MODASG_L02 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 5E 23 56 CD 00 00 00 00 72 2B 73 -R 00 00 01 00 02 08 00 00 -T 09 00 00 00 C9 -R 00 00 01 00 diff --git a/lib/reliar/SSMODASGBCprim.rel b/lib/reliar/SSMODASGBCprim.rel deleted file mode 100644 index 5241121d..00000000 --- a/lib/reliar/SSMODASGBCprim.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?SS_MOD_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 12 flags 0 -S ?SS_MODASG_BC_prim_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D9 EB E3 50 59 44 4D CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 42 4B D1 C5 D9 E1 C9 -R 00 00 01 00 02 04 00 00 diff --git a/lib/reliar/SSMODASGDEprim.rel b/lib/reliar/SSMODASGDEprim.rel deleted file mode 100644 index 5c7551a7..00000000 --- a/lib/reliar/SSMODASGDEprim.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?SS_MOD_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size E flags 0 -S ?SS_MODASG_DE_prim_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D9 E1 C5 44 4D CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 09 00 00 00 C1 D5 D9 E1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SSMODASGIX.rel b/lib/reliar/SSMODASGIX.rel deleted file mode 100644 index 29677aae..00000000 --- a/lib/reliar/SSMODASGIX.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?SS_MOD_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size D flags 0 -S ?SS_MODASG_IX_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D5 DD E5 D1 CD 00 00 00 00 D5 EB -R 00 00 01 00 02 09 00 00 -T 09 00 00 00 DD E1 D1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SSMODASGIY.rel b/lib/reliar/SSMODASGIY.rel deleted file mode 100644 index 0bea4b46..00000000 --- a/lib/reliar/SSMODASGIY.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?SS_MOD_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size D flags 0 -S ?SS_MODASG_IY_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D5 FD E5 D1 CD 00 00 00 00 D5 EB -R 00 00 01 00 02 09 00 00 -T 09 00 00 00 FD E1 D1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SSRSH.rel b/lib/reliar/SSRSH.rel deleted file mode 100644 index d824a57f..00000000 --- a/lib/reliar/SSRSH.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size A flags 0 -S ?SS_RSH_L02 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 05 C8 CB 2A CB 1B 10 FA C9 -R 00 00 01 00 diff --git a/lib/reliar/SSRSHASG.rel b/lib/reliar/SSRSHASG.rel deleted file mode 100644 index 371927d9..00000000 --- a/lib/reliar/SSRSHASG.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?SS_RSH_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size A flags 0 -S ?SS_RSHASG_L02 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 5E 23 56 CD 00 00 00 00 72 2B 73 -R 00 00 01 00 02 08 00 00 -T 09 00 00 00 C9 -R 00 00 01 00 diff --git a/lib/reliar/SSRSHASGBCprim.rel b/lib/reliar/SSRSHASGBCprim.rel deleted file mode 100644 index 0c11c812..00000000 --- a/lib/reliar/SSRSHASGBCprim.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size F flags 0 -S ?SS_RSHASG_BC_prim_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D9 B7 28 07 CB 28 CB 19 3D 20 F9 -R 00 00 01 00 -T 0B 00 00 00 C5 D9 E1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SSRSHASGDEprim.rel b/lib/reliar/SSRSHASGDEprim.rel deleted file mode 100644 index 4535fca7..00000000 --- a/lib/reliar/SSRSHASGDEprim.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size F flags 0 -S ?SS_RSHASG_DE_prim_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D9 B7 28 07 CB 2A CB 1B 3D 20 F9 -R 00 00 01 00 -T 0B 00 00 00 D5 D9 E1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SSRSHASGIX.rel b/lib/reliar/SSRSHASGIX.rel deleted file mode 100644 index 38268990..00000000 --- a/lib/reliar/SSRSHASGIX.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?SS_RSH_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size D flags 0 -S ?SS_RSHASG_IX_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D5 DD E5 D1 CD 00 00 00 00 D5 DD -R 00 00 01 00 02 09 00 00 -T 09 00 00 00 E1 EB D1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SSRSHASGIY.rel b/lib/reliar/SSRSHASGIY.rel deleted file mode 100644 index 6d414516..00000000 --- a/lib/reliar/SSRSHASGIY.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?SS_RSH_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size D flags 0 -S ?SS_RSHASG_IY_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D5 FD E5 D1 CD 00 00 00 00 D5 FD -R 00 00 01 00 02 09 00 00 -T 09 00 00 00 E1 EB D1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SSSWITCH.rel b/lib/reliar/SSSWITCH.rel deleted file mode 100644 index 45dd07b8..00000000 --- a/lib/reliar/SSSWITCH.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?S_SWITCH_END_L06 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 14 flags 0 -S ?S_S_SWITCH_L06 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 E3 F5 D5 7B 96 23 5F 7A 9E 23 57 -R 00 00 01 00 -T 0B 00 00 00 7B 96 23 7A 9E 23 C3 00 00 00 00 -R 00 00 01 00 02 0B 00 00 diff --git a/lib/reliar/SSWITCHEND.rel b/lib/reliar/SSWITCHEND.rel deleted file mode 100644 index 830ecc43..00000000 --- a/lib/reliar/SSWITCHEND.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size E flags 0 -S ?S_SWITCH_END_L06 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 30 04 EB 23 29 19 5E 23 56 EB D1 -R 00 00 01 00 -T 0B 00 00 00 F1 E3 C9 -R 00 00 01 00 diff --git a/lib/reliar/STRCAT.rel b/lib/reliar/STRCAT.rel deleted file mode 100644 index 954d84e7..00000000 --- a/lib/reliar/STRCAT.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 15 flags 0 -S ?STRCAT_L11 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 E5 D5 C5 F5 AF 47 4F ED B1 2B EB -R 00 00 01 00 -T 0B 00 00 00 BE ED A0 20 FB F1 C1 D1 E1 C9 -R 00 00 01 00 diff --git a/lib/reliar/STRCHR.rel b/lib/reliar/STRCHR.rel deleted file mode 100644 index 64140449..00000000 --- a/lib/reliar/STRCHR.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size B flags 0 -S ?STRCHR_L11 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 7E BB C8 B7 23 20 F9 21 00 00 C9 -R 00 00 01 00 diff --git a/lib/reliar/STRCMP.rel b/lib/reliar/STRCMP.rel deleted file mode 100644 index e01a93df..00000000 --- a/lib/reliar/STRCMP.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 14 flags 0 -S ?STRCMP_L11 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 D5 1A BE 20 09 13 23 B7 20 F7 -R 00 00 01 00 -T 0B 00 00 00 21 00 00 11 CB 1C D1 F1 C9 -R 00 00 01 00 diff --git a/lib/reliar/STRCPY.rel b/lib/reliar/STRCPY.rel deleted file mode 100644 index 42ee8830..00000000 --- a/lib/reliar/STRCPY.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 10 flags 0 -S ?STRCPY_L11 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 E5 D5 C5 AF EB BE ED A0 20 FB -R 00 00 01 00 -T 0B 00 00 00 C1 D1 E1 F1 C9 -R 00 00 01 00 diff --git a/lib/reliar/STRLEN.rel b/lib/reliar/STRLEN.rel deleted file mode 100644 index 661d7785..00000000 --- a/lib/reliar/STRLEN.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size F flags 0 -S ?STRLEN_L11 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 F5 AF 47 4F ED B1 21 FF FF ED -R 00 00 01 00 -T 0B 00 00 00 42 F1 C1 C9 -R 00 00 01 00 diff --git a/lib/reliar/SVSWITCH.rel b/lib/reliar/SVSWITCH.rel deleted file mode 100644 index 7865684d..00000000 --- a/lib/reliar/SVSWITCH.rel +++ /dev/null @@ -1,15 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?V_SWITCH_END_L06 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1D flags 0 -S ?S_V_SWITCH_L06 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 E3 F5 C5 4E 23 46 23 78 B1 28 0D -R 00 00 01 00 -T 0B 00 00 00 0B 7B 96 23 20 F5 7A 96 20 F1 23 -R 00 00 01 00 -T 16 00 00 00 23 23 09 09 C3 00 00 00 00 -R 00 00 01 00 02 09 00 00 diff --git a/lib/reliar/UCDIV.rel b/lib/reliar/UCDIV.rel deleted file mode 100644 index 19daec25..00000000 --- a/lib/reliar/UCDIV.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?C_DIVMOD_L01 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size C flags 0 -S ?UC_DIV_L01 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 4F CD 00 00 00 00 79 EE FF -R 00 00 01 00 02 08 00 00 -T 09 00 00 00 D1 C1 C9 -R 00 00 01 00 diff --git a/lib/reliar/UCMOD.rel b/lib/reliar/UCMOD.rel deleted file mode 100644 index 8ae8317e..00000000 --- a/lib/reliar/UCMOD.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?C_DIVMOD_L01 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size A flags 0 -S ?UC_MOD_L01 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 4F CD 00 00 00 00 7A D1 C1 -R 00 00 01 00 02 08 00 00 -T 09 00 00 00 C9 -R 00 00 01 00 diff --git a/lib/reliar/UCRSH.rel b/lib/reliar/UCRSH.rel deleted file mode 100644 index 0f2779e7..00000000 --- a/lib/reliar/UCRSH.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 8 flags 0 -S ?UC_RSH_L01 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 05 C8 CB 3F 10 FC C9 -R 00 00 01 00 diff --git a/lib/reliar/UCRSHASG.rel b/lib/reliar/UCRSHASG.rel deleted file mode 100644 index 688e40c1..00000000 --- a/lib/reliar/UCRSHASG.rel +++ /dev/null @@ -1,11 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?UC_RSH_L01 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 6 flags 0 -S ?UC_RSHASG_L01 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 7E CD 00 00 00 00 77 C9 -R 00 00 01 00 02 06 00 00 diff --git a/lib/reliar/ULDIV.rel b/lib/reliar/ULDIV.rel deleted file mode 100644 index c405b33f..00000000 --- a/lib/reliar/ULDIV.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?L_NOT_L03 Ref00000000 -S ?L_DIVMOD_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 28 flags 0 -S ?UL_DIV_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 F5 DD E5 DD 21 00 00 DD 39 -R 00 00 01 00 -T 0B 00 00 00 C5 D5 DD 56 09 DD 74 09 DD 5E 08 -R 00 00 01 00 -T 16 00 00 00 DD 75 08 CD 00 00 00 00 E1 C1 CD -R 00 00 01 00 02 08 01 00 -T 1F 00 00 00 00 00 00 00 DD E1 F1 D1 33 33 C9 -R 00 00 01 00 02 04 00 00 diff --git a/lib/reliar/ULDIVASG.rel b/lib/reliar/ULDIVASG.rel deleted file mode 100644 index 2b2ecd5d..00000000 --- a/lib/reliar/ULDIVASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?L_END_MULDIVASG_L03 Ref00000000 -S ?UL_DIV_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 10 flags 0 -S ?UL_DIVASG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 5E 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T 0B 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 00 00 diff --git a/lib/reliar/ULMOD.rel b/lib/reliar/ULMOD.rel deleted file mode 100644 index 73b5717e..00000000 --- a/lib/reliar/ULMOD.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?L_DIVMOD_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 25 flags 0 -S ?UL_MOD_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 EB E3 F5 DD E5 DD 21 00 00 DD 39 -R 00 00 01 00 -T 0B 00 00 00 C5 D5 DD 56 09 DD 74 09 DD 5E 08 -R 00 00 01 00 -T 16 00 00 00 DD 75 08 CD 00 00 00 00 DD F9 DD -R 00 00 01 00 02 08 00 00 -T 1F 00 00 00 E1 F1 D1 33 33 C9 -R 00 00 01 00 diff --git a/lib/reliar/ULMODASG.rel b/lib/reliar/ULMODASG.rel deleted file mode 100644 index b418e412..00000000 --- a/lib/reliar/ULMODASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?L_END_MULDIVASG_L03 Ref00000000 -S ?UL_MOD_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 10 flags 0 -S ?UL_MODASG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 5E 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T 0B 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 00 00 diff --git a/lib/reliar/ULRSH.rel b/lib/reliar/ULRSH.rel deleted file mode 100644 index b0ae8850..00000000 --- a/lib/reliar/ULRSH.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 1B flags 0 -S ?UL_RSH_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 B7 C8 FE 08 38 09 6C 61 48 06 00 -R 00 00 01 00 -T 0B 00 00 00 D6 08 18 F2 CB 38 CB 19 CB 1C CB -R 00 00 01 00 -T 16 00 00 00 1D 3D 20 F5 C9 -R 00 00 01 00 diff --git a/lib/reliar/ULRSHASG.rel b/lib/reliar/ULRSHASG.rel deleted file mode 100644 index fdb2f732..00000000 --- a/lib/reliar/ULRSHASG.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 4 global symbols -S ?L_END_ASG_L03 Ref00000000 -S ?UL_RSH_L03 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size E flags 0 -S ?UL_RSHASG_L03 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 5E 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 00 00 diff --git a/lib/reliar/USDIV.rel b/lib/reliar/USDIV.rel deleted file mode 100644 index 78f52dd3..00000000 --- a/lib/reliar/USDIV.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?S_DIVMOD_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size E flags 0 -S ?US_DIV_L02 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 E5 CD 00 00 00 00 7B 2F 5F 7A -R 00 00 01 00 02 07 00 00 -T 09 00 00 00 2F 57 E1 F1 C9 -R 00 00 01 00 diff --git a/lib/reliar/USDIVASG.rel b/lib/reliar/USDIVASG.rel deleted file mode 100644 index e756ebd4..00000000 --- a/lib/reliar/USDIVASG.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?US_DIV_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size A flags 0 -S ?US_DIVASG_L02 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 5E 23 56 CD 00 00 00 00 72 2B 73 -R 00 00 01 00 02 08 00 00 -T 09 00 00 00 C9 -R 00 00 01 00 diff --git a/lib/reliar/USDIVASGBCprim.rel b/lib/reliar/USDIVASGBCprim.rel deleted file mode 100644 index 1d0e0b21..00000000 --- a/lib/reliar/USDIVASGBCprim.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?US_DIV_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 12 flags 0 -S ?US_DIVASG_BC_prim_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D9 EB E3 50 59 44 4D CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 42 4B D1 C5 D9 E1 C9 -R 00 00 01 00 02 04 00 00 diff --git a/lib/reliar/USDIVASGDEprim.rel b/lib/reliar/USDIVASGDEprim.rel deleted file mode 100644 index 0c3bc4ab..00000000 --- a/lib/reliar/USDIVASGDEprim.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?US_DIV_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size E flags 0 -S ?US_DIVASG_DE_prim_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D9 E1 C5 44 4D CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 09 00 00 00 C1 D5 D9 E1 C9 -R 00 00 01 00 diff --git a/lib/reliar/USDIVASGIX.rel b/lib/reliar/USDIVASGIX.rel deleted file mode 100644 index f8e58436..00000000 --- a/lib/reliar/USDIVASGIX.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?US_DIV_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size D flags 0 -S ?US_DIVASG_IX_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D5 DD E5 D1 CD 00 00 00 00 D5 EB -R 00 00 01 00 02 09 00 00 -T 09 00 00 00 DD E1 D1 C9 -R 00 00 01 00 diff --git a/lib/reliar/USDIVASGIY.rel b/lib/reliar/USDIVASGIY.rel deleted file mode 100644 index d6dc9cce..00000000 --- a/lib/reliar/USDIVASGIY.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?US_DIV_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size D flags 0 -S ?US_DIVASG_IY_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D5 FD E5 D1 CD 00 00 00 00 D5 EB -R 00 00 01 00 02 09 00 00 -T 09 00 00 00 FD E1 D1 C9 -R 00 00 01 00 diff --git a/lib/reliar/USMOD.rel b/lib/reliar/USMOD.rel deleted file mode 100644 index e3dbb08b..00000000 --- a/lib/reliar/USMOD.rel +++ /dev/null @@ -1,11 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?S_DIVMOD_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 9 flags 0 -S ?US_MOD_L02 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 F5 E5 CD 00 00 00 00 EB E1 F1 C9 -R 00 00 01 00 02 07 00 00 diff --git a/lib/reliar/USMODASG.rel b/lib/reliar/USMODASG.rel deleted file mode 100644 index ff704e30..00000000 --- a/lib/reliar/USMODASG.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?US_MOD_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size A flags 0 -S ?US_MODASG_L02 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 5E 23 56 CD 00 00 00 00 72 2B 73 -R 00 00 01 00 02 08 00 00 -T 09 00 00 00 C9 -R 00 00 01 00 diff --git a/lib/reliar/USMODASGBCprim.rel b/lib/reliar/USMODASGBCprim.rel deleted file mode 100644 index a48e2de9..00000000 --- a/lib/reliar/USMODASGBCprim.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?US_MOD_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size 12 flags 0 -S ?US_MODASG_BC_prim_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D9 EB E3 50 59 44 4D CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 42 4B D1 C5 D9 E1 C9 -R 00 00 01 00 02 04 00 00 diff --git a/lib/reliar/USMODASGDEprim.rel b/lib/reliar/USMODASGDEprim.rel deleted file mode 100644 index 642b7aca..00000000 --- a/lib/reliar/USMODASGDEprim.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?US_MOD_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size E flags 0 -S ?US_MODASG_DE_prim_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D9 E1 C5 44 4D CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 09 00 00 00 C1 D5 D9 E1 C9 -R 00 00 01 00 diff --git a/lib/reliar/USMODASGIX.rel b/lib/reliar/USMODASGIX.rel deleted file mode 100644 index b5080b36..00000000 --- a/lib/reliar/USMODASGIX.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?US_MOD_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size D flags 0 -S ?US_MODASG_IX_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D5 DD E5 D1 CD 00 00 00 00 D5 EB -R 00 00 01 00 02 09 00 00 -T 09 00 00 00 DD E1 D1 C9 -R 00 00 01 00 diff --git a/lib/reliar/USMODASGIY.rel b/lib/reliar/USMODASGIY.rel deleted file mode 100644 index 2f514a8a..00000000 --- a/lib/reliar/USMODASGIY.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?US_MOD_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size D flags 0 -S ?US_MODASG_IY_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D5 FD E5 D1 CD 00 00 00 00 D5 EB -R 00 00 01 00 02 09 00 00 -T 09 00 00 00 FD E1 D1 C9 -R 00 00 01 00 diff --git a/lib/reliar/USRSH.rel b/lib/reliar/USRSH.rel deleted file mode 100644 index b4481ed7..00000000 --- a/lib/reliar/USRSH.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size A flags 0 -S ?US_RSH_L02 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 05 C8 CB 3A CB 1B 10 FA C9 -R 00 00 01 00 diff --git a/lib/reliar/USRSHASG.rel b/lib/reliar/USRSHASG.rel deleted file mode 100644 index 51378d18..00000000 --- a/lib/reliar/USRSHASG.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?US_RSH_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size A flags 0 -S ?US_RSHASG_L02 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 5E 23 56 CD 00 00 00 00 72 2B 73 -R 00 00 01 00 02 08 00 00 -T 09 00 00 00 C9 -R 00 00 01 00 diff --git a/lib/reliar/USRSHASGBCprim.rel b/lib/reliar/USRSHASGBCprim.rel deleted file mode 100644 index 907f455b..00000000 --- a/lib/reliar/USRSHASGBCprim.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size F flags 0 -S ?US_RSHASG_BC_prim_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D9 B7 28 07 CB 38 CB 19 3D 20 F9 -R 00 00 01 00 -T 0B 00 00 00 C5 D9 E1 C9 -R 00 00 01 00 diff --git a/lib/reliar/USRSHASGDEprim.rel b/lib/reliar/USRSHASGDEprim.rel deleted file mode 100644 index a7dcaaf9..00000000 --- a/lib/reliar/USRSHASGDEprim.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size F flags 0 -S ?US_RSHASG_DE_prim_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D9 B7 28 07 CB 3A CB 1B 3D 20 F9 -R 00 00 01 00 -T 0B 00 00 00 D5 D9 E1 C9 -R 00 00 01 00 diff --git a/lib/reliar/USRSHASGIX.rel b/lib/reliar/USRSHASGIX.rel deleted file mode 100644 index 43eacbff..00000000 --- a/lib/reliar/USRSHASGIX.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?US_RSH_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size D flags 0 -S ?US_RSHASG_IX_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D5 DD E5 D1 CD 00 00 00 00 D5 DD -R 00 00 01 00 02 09 00 00 -T 09 00 00 00 E1 EB D1 C9 -R 00 00 01 00 diff --git a/lib/reliar/USRSHASGIY.rel b/lib/reliar/USRSHASGIY.rel deleted file mode 100644 index df04f6ec..00000000 --- a/lib/reliar/USRSHASGIY.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 3 global symbols -S ?US_RSH_L02 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size D flags 0 -S ?US_RSHASG_IY_L12 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D5 FD E5 D1 CD 00 00 00 00 D5 FD -R 00 00 01 00 02 09 00 00 -T 09 00 00 00 E1 EB D1 C9 -R 00 00 01 00 diff --git a/lib/reliar/VSWITCHEND.rel b/lib/reliar/VSWITCHEND.rel deleted file mode 100644 index 8669edc4..00000000 --- a/lib/reliar/VSWITCHEND.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A RCODE size A flags 0 -S ?V_SWITCH_END_L06 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 09 7E 23 66 6F C1 F1 E3 C9 -R 00 00 01 00 diff --git a/lib/relsysb/_exit.rel b/lib/relsysb/_exit.rel deleted file mode 100644 index baff9dae..00000000 --- a/lib/relsysb/_exit.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M __exit -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S _exit Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 0B 00 E5 3E -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0B 01 00 diff --git a/lib/relsysb/access.rel b/lib/relsysb/access.rel deleted file mode 100644 index 742ef1d9..00000000 --- a/lib/relsysb/access.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _access -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S access Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 00 00 E5 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 00 00 02 0A 00 00 -T 0F 00 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 15 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/alarm.rel b/lib/relsysb/alarm.rel deleted file mode 100644 index 75f41dc8..00000000 --- a/lib/relsysb/alarm.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _alarm -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S alarm Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 01 00 E5 3E -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0B 01 00 diff --git a/lib/relsysb/brk.rel b/lib/relsysb/brk.rel deleted file mode 100644 index 3b89f609..00000000 --- a/lib/relsysb/brk.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _brk -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S brk Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 02 00 E5 3E -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0B 01 00 diff --git a/lib/relsysb/chdir.rel b/lib/relsysb/chdir.rel deleted file mode 100644 index de83e0ba..00000000 --- a/lib/relsysb/chdir.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _chdir -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S chdir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 03 00 E5 3E -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0B 01 00 diff --git a/lib/relsysb/chmod.rel b/lib/relsysb/chmod.rel deleted file mode 100644 index f5a1dac5..00000000 --- a/lib/relsysb/chmod.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _chmod -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S chmod Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 04 00 E5 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 00 00 02 0A 00 00 -T 0F 00 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 15 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/chown.rel b/lib/relsysb/chown.rel deleted file mode 100644 index b5d905f8..00000000 --- a/lib/relsysb/chown.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _chown -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1F flags 0 -S chown Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 E5 C5 D5 21 05 00 E5 3E -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 16 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 1D 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/chroot.rel b/lib/relsysb/chroot.rel deleted file mode 100644 index f48c9573..00000000 --- a/lib/relsysb/chroot.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _chroot -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S chroot Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 27 00 E5 3E -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0B 01 00 diff --git a/lib/relsysb/close.rel b/lib/relsysb/close.rel deleted file mode 100644 index fa07cb3d..00000000 --- a/lib/relsysb/close.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _close -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S close Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 06 00 E5 3E -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0B 01 00 diff --git a/lib/relsysb/creat.rel b/lib/relsysb/creat.rel deleted file mode 100644 index 7bf7740b..00000000 --- a/lib/relsysb/creat.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _creat -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S open Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S creat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 21 01 03 E5 D5 -R 00 00 01 00 02 05 01 00 -T 09 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 -T 0F 00 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 02 00 -T 15 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 diff --git a/lib/relsysb/dup.rel b/lib/relsysb/dup.rel deleted file mode 100644 index 40f1fd85..00000000 --- a/lib/relsysb/dup.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _dup -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S dup Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 08 00 E5 3E -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0B 01 00 diff --git a/lib/relsysb/dup2.rel b/lib/relsysb/dup2.rel deleted file mode 100644 index a5aee3fd..00000000 --- a/lib/relsysb/dup2.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _dup2 -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S dup2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 09 00 E5 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 00 00 02 0A 00 00 -T 0F 00 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 15 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/execve.rel b/lib/relsysb/execve.rel deleted file mode 100644 index f2878b25..00000000 --- a/lib/relsysb/execve.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _execve -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1F flags 0 -S execve Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 E5 C5 D5 21 0A 00 E5 3E -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 16 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 1D 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/falign.rel b/lib/relsysb/falign.rel deleted file mode 100644 index 1dcdaf59..00000000 --- a/lib/relsysb/falign.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _falign -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S falign Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 28 00 E5 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 00 00 02 0A 00 00 -T 0F 00 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 15 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/fork.rel b/lib/relsysb/fork.rel deleted file mode 100644 index 2bb323b8..00000000 --- a/lib/relsysb/fork.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _fork -S unix Ref00000000 -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S fork Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 0C 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 00 00 -T 07 00 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 00 00 02 09 02 00 -T 0E 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/fstat.rel b/lib/relsysb/fstat.rel deleted file mode 100644 index 60030f04..00000000 --- a/lib/relsysb/fstat.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _fstat -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S fstat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 0D 00 E5 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 00 00 02 0A 00 00 -T 0F 00 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 15 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/getegid.rel b/lib/relsysb/getegid.rel deleted file mode 100644 index 24f5fcaa..00000000 --- a/lib/relsysb/getegid.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _getegid -S unix Ref00000000 -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S getegid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 07 00 E5 21 07 00 E5 3E -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 0B 01 00 diff --git a/lib/relsysb/geteuid.rel b/lib/relsysb/geteuid.rel deleted file mode 100644 index a681b88c..00000000 --- a/lib/relsysb/geteuid.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _geteuid -S unix Ref00000000 -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S geteuid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 04 00 E5 21 07 00 E5 3E -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 0B 01 00 diff --git a/lib/relsysb/getfsys.rel b/lib/relsysb/getfsys.rel deleted file mode 100644 index 71e78951..00000000 --- a/lib/relsysb/getfsys.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _getfsys -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S getfsys Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 0E 00 E5 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 00 00 02 0A 00 00 -T 0F 00 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 15 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/getgid.rel b/lib/relsysb/getgid.rel deleted file mode 100644 index ddc461a4..00000000 --- a/lib/relsysb/getgid.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _getgid -S unix Ref00000000 -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S getgid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 05 00 E5 21 07 00 E5 3E -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 0B 01 00 diff --git a/lib/relsysb/getpid.rel b/lib/relsysb/getpid.rel deleted file mode 100644 index 37b697be..00000000 --- a/lib/relsysb/getpid.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _getpid -S unix Ref00000000 -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S getpid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 00 E5 21 07 00 E5 3E -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 0B 01 00 diff --git a/lib/relsysb/getppid.rel b/lib/relsysb/getppid.rel deleted file mode 100644 index d8753fd0..00000000 --- a/lib/relsysb/getppid.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _getppid -S unix Ref00000000 -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S getppid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 01 00 E5 21 07 00 E5 3E -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 0B 01 00 diff --git a/lib/relsysb/getprio.rel b/lib/relsysb/getprio.rel deleted file mode 100644 index 7f15bb26..00000000 --- a/lib/relsysb/getprio.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _getprio -S unix Ref00000000 -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S getprio Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 08 00 E5 21 07 00 E5 3E -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 0B 01 00 diff --git a/lib/relsysb/getuid.rel b/lib/relsysb/getuid.rel deleted file mode 100644 index e5820e30..00000000 --- a/lib/relsysb/getuid.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _getuid -S unix Ref00000000 -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S getuid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 02 00 E5 21 07 00 E5 3E -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 0B 01 00 diff --git a/lib/relsysb/ioctl.rel b/lib/relsysb/ioctl.rel deleted file mode 100644 index 0a879de8..00000000 --- a/lib/relsysb/ioctl.rel +++ /dev/null @@ -1,26 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _ioctl -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2B flags 0 -S ioctl Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0E DD 66 0F -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 E5 DD 6E 0C DD 66 0D E5 DD 6E 0A -R 00 00 01 00 -T 14 00 00 00 DD 66 0B E5 21 0F 00 E5 3E -R 00 00 01 00 -T 1D 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 22 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 29 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/kill.rel b/lib/relsysb/kill.rel deleted file mode 100644 index 5aa92e1f..00000000 --- a/lib/relsysb/kill.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _kill -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S kill Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 10 00 E5 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 00 00 02 0A 00 00 -T 0F 00 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 15 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/link.rel b/lib/relsysb/link.rel deleted file mode 100644 index 7ca6041d..00000000 --- a/lib/relsysb/link.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _link -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S link Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 11 00 E5 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 00 00 02 0A 00 00 -T 0F 00 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 15 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/lseek.rel b/lib/relsysb/lseek.rel deleted file mode 100644 index 20958d30..00000000 --- a/lib/relsysb/lseek.rel +++ /dev/null @@ -1,26 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _lseek -S unix_long Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S ?BANK_LEAVE_32_L08 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2D flags 0 -S lseek Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0E DD 66 0F -R 00 00 01 00 02 05 01 00 -T 09 00 00 00 E5 DD 6E 0C DD 66 0D E5 DD 6E 0A -R 00 00 01 00 -T 14 00 00 00 DD 66 0B E5 D5 21 19 00 E5 3E -R 00 00 01 00 -T 1E 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 23 00 00 00 00 00 00 00 F1 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 02 00 -T 2B 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 04 00 diff --git a/lib/relsysb/mkfifo.rel b/lib/relsysb/mkfifo.rel deleted file mode 100644 index 41162cbd..00000000 --- a/lib/relsysb/mkfifo.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _mkfifo -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S mknod Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1D flags 0 -S mkfifo Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 00 00 E5 79 F6 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 00 6F 78 F6 10 67 4D 44 3E -R 00 00 01 00 -T 12 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 17 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0A 00 00 diff --git a/lib/relsysb/mknod.rel b/lib/relsysb/mknod.rel deleted file mode 100644 index af7c722f..00000000 --- a/lib/relsysb/mknod.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _mknod -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1F flags 0 -S mknod Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 E5 C5 D5 21 12 00 E5 3E -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 16 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 1D 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/module.rel b/lib/relsysb/module.rel deleted file mode 100644 index 95546cff..00000000 --- a/lib/relsysb/module.rel +++ /dev/null @@ -1,72 +0,0 @@ -XL4 -H 2 areas B global symbols -M _module -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size A4 flags 0 -S modulereg Def00000000 -S moduledereg Def00000022 -S modulesendreply Def0000005E -S modulecall Def00000037 -S modulereply Def00000085 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0C E5 DD 6E -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 0A DD 66 0B E5 D5 21 28 00 E5 3E -R 00 00 01 00 -T 14 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 19 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 20 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 CD 00 00 00 00 D5 21 29 00 E5 3E -R 00 00 01 00 02 05 02 00 -T 2B 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 30 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0B 01 00 -T 37 00 00 00 -R 00 00 01 00 -T 37 00 00 00 CD 00 00 00 00 DD 6E 0C DD 66 0D -R 00 00 01 00 02 05 02 00 -T 40 00 00 00 E5 DD 6E 0A DD 66 0B E5 C5 D5 21 -R 00 00 01 00 -T 4B 00 00 00 2A 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 00 00 -T 51 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 00 00 02 09 03 00 -T 58 00 00 00 F1 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 08 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 CD 00 00 00 00 DD 6E 0C DD 66 0D -R 00 00 01 00 02 05 02 00 -T 67 00 00 00 E5 DD 6E 0A DD 66 0B E5 C5 D5 21 -R 00 00 01 00 -T 72 00 00 00 2B 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 00 00 -T 78 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 00 00 02 09 03 00 -T 7F 00 00 00 F1 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 08 01 00 -T 85 00 00 00 -R 00 00 01 00 -T 85 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 02 00 -T 8E 00 00 00 E5 C5 D5 21 2C 00 E5 3E -R 00 00 01 00 -T 96 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 9B 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T A2 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/mount.rel b/lib/relsysb/mount.rel deleted file mode 100644 index 2339abfa..00000000 --- a/lib/relsysb/mount.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _mount -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1F flags 0 -S mount Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 E5 C5 D5 21 13 00 E5 3E -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 16 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 1D 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/open.rel b/lib/relsysb/open.rel deleted file mode 100644 index cec01d9c..00000000 --- a/lib/relsysb/open.rel +++ /dev/null @@ -1,26 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _open -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2B flags 0 -S open Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0E DD 66 0F -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 E5 DD 6E 0C DD 66 0D E5 DD 6E 0A -R 00 00 01 00 -T 14 00 00 00 DD 66 0B E5 21 14 00 E5 3E -R 00 00 01 00 -T 1D 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 22 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 29 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/pause.rel b/lib/relsysb/pause.rel deleted file mode 100644 index 1d8c6c70..00000000 --- a/lib/relsysb/pause.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _pause -S unix Ref00000000 -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S pause Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 15 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 00 00 -T 07 00 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 00 00 02 09 02 00 -T 0E 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/pipe.rel b/lib/relsysb/pipe.rel deleted file mode 100644 index 5843c9f6..00000000 --- a/lib/relsysb/pipe.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _pipe -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S pipe Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 16 00 E5 3E -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0B 01 00 diff --git a/lib/relsysb/read.rel b/lib/relsysb/read.rel deleted file mode 100644 index 4283b70e..00000000 --- a/lib/relsysb/read.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _read -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1F flags 0 -S _read Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 E5 C5 D5 21 17 00 E5 3E -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 16 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 1D 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/reboot.rel b/lib/relsysb/reboot.rel deleted file mode 100644 index 5a3dffca..00000000 --- a/lib/relsysb/reboot.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _reboot -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1B flags 0 -S reboot Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 06 00 C5 16 00 D5 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 21 25 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 00 00 -T 10 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 00 00 02 09 03 00 -T 17 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 01 00 diff --git a/lib/relsysb/sbrk.rel b/lib/relsysb/sbrk.rel deleted file mode 100644 index 875aa73f..00000000 --- a/lib/relsysb/sbrk.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _sbrk -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S sbrk Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 18 00 E5 3E -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0B 01 00 diff --git a/lib/relsysb/seek.rel b/lib/relsysb/seek.rel deleted file mode 100644 index 590eece1..00000000 --- a/lib/relsysb/seek.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _seek -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1F flags 0 -S seek Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 E5 C5 D5 21 19 00 E5 3E -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 16 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 1D 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/setgid.rel b/lib/relsysb/setgid.rel deleted file mode 100644 index 2b1862cf..00000000 --- a/lib/relsysb/setgid.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _setgid -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1A flags 0 -S setgid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 06 00 E5 21 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 07 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 00 00 -T 0F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 00 00 02 09 03 00 -T 16 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 01 00 diff --git a/lib/relsysb/setprio.rel b/lib/relsysb/setprio.rel deleted file mode 100644 index 187a2479..00000000 --- a/lib/relsysb/setprio.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _setprio -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1E flags 0 -S setprio Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 06 00 C5 D5 21 -R 00 00 01 00 02 05 02 00 -T 08 00 00 00 09 00 E5 21 07 00 E5 3E -R 00 00 01 00 -T 10 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 15 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 1C 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/setuid.rel b/lib/relsysb/setuid.rel deleted file mode 100644 index d74921b4..00000000 --- a/lib/relsysb/setuid.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _setuid -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1A flags 0 -S setuid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 03 00 E5 21 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 07 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 00 00 -T 0F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 00 00 02 09 03 00 -T 16 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 01 00 diff --git a/lib/relsysb/signal.rel b/lib/relsysb/signal.rel deleted file mode 100644 index c072ff13..00000000 --- a/lib/relsysb/signal.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _signal -S unix_long Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S ?BANK_LEAVE_32_L08 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S signal Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0C DD 66 0D -R 00 00 01 00 02 05 01 00 -T 09 00 00 00 E5 DD 6E 0A DD 66 0B E5 D5 21 -R 00 00 01 00 -T 13 00 00 00 1A 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 00 00 -T 19 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 00 00 02 09 02 00 -T 20 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 07 04 00 diff --git a/lib/relsysb/stat.rel b/lib/relsysb/stat.rel deleted file mode 100644 index b9a18a7b..00000000 --- a/lib/relsysb/stat.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _stat -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S stat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 1B 00 E5 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 00 00 02 0A 00 00 -T 0F 00 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 15 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/stime.rel b/lib/relsysb/stime.rel deleted file mode 100644 index 58ae4562..00000000 --- a/lib/relsysb/stime.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _stime -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S stime Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 1C 00 E5 3E -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0B 01 00 diff --git a/lib/relsysb/symlink.rel b/lib/relsysb/symlink.rel deleted file mode 100644 index 69e086e0..00000000 --- a/lib/relsysb/symlink.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _symlink -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S symlink Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 26 00 E5 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 00 00 02 0A 00 00 -T 0F 00 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 15 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/sync.rel b/lib/relsysb/sync.rel deleted file mode 100644 index e2cae54d..00000000 --- a/lib/relsysb/sync.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _sync -S unix Ref00000000 -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S sync Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 1D 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 00 00 -T 07 00 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 00 00 02 09 02 00 -T 0E 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/sys0b.rel b/lib/relsysb/sys0b.rel deleted file mode 100644 index c85ed297..00000000 --- a/lib/relsysb/sys0b.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 4 global symbols -M _sys0b -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S errno Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1A flags 0 -S unix Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 04 00 39 C5 D5 5E 23 56 23 4D -R 00 00 01 00 -T 0B 00 00 00 44 F7 30 06 22 00 00 00 00 21 -R 00 00 01 00 02 09 01 00 -T 13 00 00 00 FF FF -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 D1 C1 C3 00 00 00 00 -R 00 00 01 00 02 07 00 00 diff --git a/lib/relsysb/sys1b.rel b/lib/relsysb/sys1b.rel deleted file mode 100644 index f771836b..00000000 --- a/lib/relsysb/sys1b.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 4 global symbols -M _sys1b -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S errno Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1A flags 0 -S unix_long Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 04 00 39 D5 5E 23 56 23 4D 44 -R 00 00 01 00 -T 0B 00 00 00 F7 30 08 22 00 00 00 00 21 FF FF -R 00 00 01 00 02 08 01 00 -T 14 00 00 00 4D 44 -R 00 00 01 00 -T 16 00 00 00 -R 00 00 01 00 -T 16 00 00 00 D1 C3 00 00 00 00 -R 00 00 01 00 02 06 00 00 diff --git a/lib/relsysb/syscal0b.rel b/lib/relsysb/syscal0b.rel deleted file mode 100644 index fabc34b9..00000000 --- a/lib/relsysb/syscal0b.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 4 global symbols -M _syscal0b -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S errno Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1A flags 0 -S unix Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 04 00 39 C5 D5 5E 23 56 23 4D -R 00 00 01 00 -T 0B 00 00 00 44 F7 30 06 22 00 00 00 00 21 -R 00 00 01 00 02 09 01 00 -T 13 00 00 00 FF FF -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 D1 C1 C3 00 00 00 00 -R 00 00 01 00 02 07 00 00 diff --git a/lib/relsysb/syscal1b.rel b/lib/relsysb/syscal1b.rel deleted file mode 100644 index 7dd733c9..00000000 --- a/lib/relsysb/syscal1b.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 4 global symbols -M _syscal1b -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S errno Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1A flags 0 -S unix_long Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 04 00 39 D5 5E 23 56 23 4D 44 -R 00 00 01 00 -T 0B 00 00 00 F7 30 08 22 00 00 00 00 21 FF FF -R 00 00 01 00 02 08 01 00 -T 14 00 00 00 4D 44 -R 00 00 01 00 -T 16 00 00 00 -R 00 00 01 00 -T 16 00 00 00 D1 C3 00 00 00 00 -R 00 00 01 00 02 06 00 00 diff --git a/lib/relsysb/sysdebug.rel b/lib/relsysb/sysdebug.rel deleted file mode 100644 index a64d4cd1..00000000 --- a/lib/relsysb/sysdebug.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _sysdebug -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1A flags 0 -S sysdebug Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 0C 00 E5 21 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 07 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 00 00 -T 0F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 00 00 02 09 03 00 -T 16 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 01 00 diff --git a/lib/relsysb/systrace.rel b/lib/relsysb/systrace.rel deleted file mode 100644 index 0ce6dc39..00000000 --- a/lib/relsysb/systrace.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _systrace -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1A flags 0 -S systrace Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 0B 00 E5 21 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 07 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 00 00 -T 0F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 00 00 02 09 03 00 -T 16 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 01 00 diff --git a/lib/relsysb/time.rel b/lib/relsysb/time.rel deleted file mode 100644 index 6405246d..00000000 --- a/lib/relsysb/time.rel +++ /dev/null @@ -1,50 +0,0 @@ -XL4 -H 2 areas 9 global symbols -M _time -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 63 flags 0 -S gtime Def00000000 -S time Def00000015 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 1E 00 E5 3E -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0B 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 CD 00 00 00 00 FC FF 79 B0 20 21 -R 00 00 01 00 02 05 04 00 -T 1E 00 00 00 -R 00 00 01 00 -T 1E 00 00 00 21 00 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 29 0B 01 00 -T 26 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 01 00 02 0A 03 00 -T 2D 00 00 00 00 00 39 DD 5E 02 DD 56 03 01 -R 00 00 01 00 -T 37 00 00 00 04 00 D5 ED B0 E1 18 21 -R 00 00 01 00 -T 3F 00 00 00 -R 00 00 01 00 -T 3F 00 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 29 0B 01 00 -T 47 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 01 00 02 0A 03 00 -T 4E 00 00 00 6E 04 DD 66 05 DD 5E 02 DD 56 03 -R 00 00 01 00 -T 59 00 00 00 01 04 00 D5 ED B0 E1 -R 00 00 01 00 -T 60 00 00 00 -R 00 00 01 00 -T 60 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/lib/relsysb/times.rel b/lib/relsysb/times.rel deleted file mode 100644 index 4bf64dd6..00000000 --- a/lib/relsysb/times.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _times -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S times Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 1F 00 E5 3E -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0B 01 00 diff --git a/lib/relsysb/umask.rel b/lib/relsysb/umask.rel deleted file mode 100644 index 95786cc9..00000000 --- a/lib/relsysb/umask.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _umask -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1A flags 0 -S umask Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 0A 00 E5 21 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 07 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 00 00 -T 0F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 00 00 02 09 03 00 -T 16 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 01 00 diff --git a/lib/relsysb/umount.rel b/lib/relsysb/umount.rel deleted file mode 100644 index 594838ec..00000000 --- a/lib/relsysb/umount.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _umount -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S umount Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 20 00 E5 3E -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0B 01 00 diff --git a/lib/relsysb/unlink.rel b/lib/relsysb/unlink.rel deleted file mode 100644 index beb0d346..00000000 --- a/lib/relsysb/unlink.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _unlink -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S unlink Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 21 00 E5 3E -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 0E 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 0B 01 00 diff --git a/lib/relsysb/utime.rel b/lib/relsysb/utime.rel deleted file mode 100644 index 498c0f64..00000000 --- a/lib/relsysb/utime.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _utime -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S utime Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 22 00 E5 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 00 00 02 0A 00 00 -T 0F 00 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 15 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/waitpid.rel b/lib/relsysb/waitpid.rel deleted file mode 100644 index b5b713c7..00000000 --- a/lib/relsysb/waitpid.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _waitpid -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1F flags 0 -S waitpid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 E5 C5 D5 21 23 00 E5 3E -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 16 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 1D 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysb/write.rel b/lib/relsysb/write.rel deleted file mode 100644 index 9b042b07..00000000 --- a/lib/relsysb/write.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 7 global symbols -M _write -S unix Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1F flags 0 -S _write Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 E5 C5 D5 21 24 00 E5 3E -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 16 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 -T 1D 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysl/_exit.rel b/lib/relsysl/_exit.rel deleted file mode 100644 index 8537bb18..00000000 --- a/lib/relsysl/_exit.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M __exit -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S _exit Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 0B 00 E5 CD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0B 02 00 diff --git a/lib/relsysl/access.rel b/lib/relsysl/access.rel deleted file mode 100644 index 3edce565..00000000 --- a/lib/relsysl/access.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _access -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S access Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 00 00 E5 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 CD 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 05 01 00 -T 10 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/alarm.rel b/lib/relsysl/alarm.rel deleted file mode 100644 index 5ef4aa64..00000000 --- a/lib/relsysl/alarm.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _alarm -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S alarm Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 01 00 E5 CD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0B 02 00 diff --git a/lib/relsysl/brk.rel b/lib/relsysl/brk.rel deleted file mode 100644 index 4bd45202..00000000 --- a/lib/relsysl/brk.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _brk -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S brk Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 02 00 E5 CD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0B 02 00 diff --git a/lib/relsysl/chdir.rel b/lib/relsysl/chdir.rel deleted file mode 100644 index c978633c..00000000 --- a/lib/relsysl/chdir.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _chdir -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S chdir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 03 00 E5 CD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0B 02 00 diff --git a/lib/relsysl/chmod.rel b/lib/relsysl/chmod.rel deleted file mode 100644 index c1a1a82d..00000000 --- a/lib/relsysl/chmod.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _chmod -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S chmod Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 04 00 E5 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 CD 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 05 01 00 -T 10 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/chown.rel b/lib/relsysl/chown.rel deleted file mode 100644 index 671e1d27..00000000 --- a/lib/relsysl/chown.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _chown -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1A flags 0 -S chown Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 E5 C5 D5 21 05 00 E5 CD -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 -T 18 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/chroot.rel b/lib/relsysl/chroot.rel deleted file mode 100644 index 0fdaf2d3..00000000 --- a/lib/relsysl/chroot.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _chroot -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S chroot Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 27 00 E5 CD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0B 02 00 diff --git a/lib/relsysl/close.rel b/lib/relsysl/close.rel deleted file mode 100644 index 1a08882d..00000000 --- a/lib/relsysl/close.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _close -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S close Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 06 00 E5 CD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0B 02 00 diff --git a/lib/relsysl/creat.rel b/lib/relsysl/creat.rel deleted file mode 100644 index b6618e02..00000000 --- a/lib/relsysl/creat.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _creat -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S open Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S creat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 21 01 03 E5 D5 -R 00 00 01 00 02 05 02 00 -T 09 00 00 00 CD 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 05 03 00 -T 10 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysl/dup.rel b/lib/relsysl/dup.rel deleted file mode 100644 index 3c8da3cd..00000000 --- a/lib/relsysl/dup.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _dup -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S dup Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 08 00 E5 CD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0B 02 00 diff --git a/lib/relsysl/dup2.rel b/lib/relsysl/dup2.rel deleted file mode 100644 index f1dba20c..00000000 --- a/lib/relsysl/dup2.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _dup2 -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S dup2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 09 00 E5 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 CD 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 05 01 00 -T 10 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/execve.rel b/lib/relsysl/execve.rel deleted file mode 100644 index 39d6d360..00000000 --- a/lib/relsysl/execve.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _execve -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1A flags 0 -S execve Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 E5 C5 D5 21 0A 00 E5 CD -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 -T 18 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/falign.rel b/lib/relsysl/falign.rel deleted file mode 100644 index aa6250a3..00000000 --- a/lib/relsysl/falign.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _falign -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S falign Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 28 00 E5 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 CD 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 05 01 00 -T 10 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/fork.rel b/lib/relsysl/fork.rel deleted file mode 100644 index 83f37616..00000000 --- a/lib/relsysl/fork.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 4 global symbols -M _fork -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S fork Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 0C 00 E5 CD 00 00 00 00 F1 C9 -R 00 00 01 00 02 09 01 00 diff --git a/lib/relsysl/fstat.rel b/lib/relsysl/fstat.rel deleted file mode 100644 index 3f24438f..00000000 --- a/lib/relsysl/fstat.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _fstat -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S fstat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 0D 00 E5 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 CD 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 05 01 00 -T 10 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/getegid.rel b/lib/relsysl/getegid.rel deleted file mode 100644 index 35dc97d3..00000000 --- a/lib/relsysl/getegid.rel +++ /dev/null @@ -1,15 +0,0 @@ -XL4 -H 2 areas 4 global symbols -M _getegid -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size E flags 0 -S getegid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 07 00 E5 21 07 00 E5 CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 F1 F1 C9 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysl/geteuid.rel b/lib/relsysl/geteuid.rel deleted file mode 100644 index e00ceaca..00000000 --- a/lib/relsysl/geteuid.rel +++ /dev/null @@ -1,15 +0,0 @@ -XL4 -H 2 areas 4 global symbols -M _geteuid -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size E flags 0 -S geteuid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 04 00 E5 21 07 00 E5 CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 F1 F1 C9 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysl/getfsys.rel b/lib/relsysl/getfsys.rel deleted file mode 100644 index e61c63fb..00000000 --- a/lib/relsysl/getfsys.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _getfsys -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S getfsys Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 0E 00 E5 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 CD 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 05 01 00 -T 10 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/getgid.rel b/lib/relsysl/getgid.rel deleted file mode 100644 index 4669be18..00000000 --- a/lib/relsysl/getgid.rel +++ /dev/null @@ -1,15 +0,0 @@ -XL4 -H 2 areas 4 global symbols -M _getgid -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size E flags 0 -S getgid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 05 00 E5 21 07 00 E5 CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 F1 F1 C9 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysl/getpid.rel b/lib/relsysl/getpid.rel deleted file mode 100644 index 35ea4971..00000000 --- a/lib/relsysl/getpid.rel +++ /dev/null @@ -1,15 +0,0 @@ -XL4 -H 2 areas 4 global symbols -M _getpid -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size E flags 0 -S getpid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 00 E5 21 07 00 E5 CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 F1 F1 C9 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysl/getppid.rel b/lib/relsysl/getppid.rel deleted file mode 100644 index b133c23e..00000000 --- a/lib/relsysl/getppid.rel +++ /dev/null @@ -1,15 +0,0 @@ -XL4 -H 2 areas 4 global symbols -M _getppid -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size E flags 0 -S getppid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 01 00 E5 21 07 00 E5 CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 F1 F1 C9 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysl/getprio.rel b/lib/relsysl/getprio.rel deleted file mode 100644 index 424c77c3..00000000 --- a/lib/relsysl/getprio.rel +++ /dev/null @@ -1,15 +0,0 @@ -XL4 -H 2 areas 4 global symbols -M _getprio -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size E flags 0 -S getprio Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 08 00 E5 21 07 00 E5 CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 F1 F1 C9 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysl/getuid.rel b/lib/relsysl/getuid.rel deleted file mode 100644 index 8fa8fc15..00000000 --- a/lib/relsysl/getuid.rel +++ /dev/null @@ -1,15 +0,0 @@ -XL4 -H 2 areas 4 global symbols -M _getuid -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size E flags 0 -S getuid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 02 00 E5 21 07 00 E5 CD -R 00 00 01 00 -T 09 00 00 00 00 00 00 00 F1 F1 C9 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysl/ioctl.rel b/lib/relsysl/ioctl.rel deleted file mode 100644 index 8104de93..00000000 --- a/lib/relsysl/ioctl.rel +++ /dev/null @@ -1,23 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _ioctl -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ioctl Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0C DD 66 0D -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 E5 DD 6E 0A DD 66 0B E5 DD 6E 08 -R 00 00 01 00 -T 14 00 00 00 DD 66 09 E5 21 0F 00 E5 CD -R 00 00 01 00 -T 1D 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 -T 24 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/kill.rel b/lib/relsysl/kill.rel deleted file mode 100644 index f97ba071..00000000 --- a/lib/relsysl/kill.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _kill -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S kill Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 10 00 E5 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 CD 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 05 01 00 -T 10 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/link.rel b/lib/relsysl/link.rel deleted file mode 100644 index ea3a2ef3..00000000 --- a/lib/relsysl/link.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _link -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S link Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 11 00 E5 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 CD 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 05 01 00 -T 10 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/lseek.rel b/lib/relsysl/lseek.rel deleted file mode 100644 index e544ea99..00000000 --- a/lib/relsysl/lseek.rel +++ /dev/null @@ -1,23 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _lseek -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_32_L09 Ref00000000 -S unix_long Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S lseek Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0C DD 66 0D -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 E5 DD 6E 0A DD 66 0B E5 DD 6E 08 -R 00 00 01 00 -T 14 00 00 00 DD 66 09 E5 D5 21 19 00 E5 CD -R 00 00 01 00 -T 1E 00 00 00 00 00 00 00 F1 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 02 00 -T 26 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/lib/relsysl/mkfifo.rel b/lib/relsysl/mkfifo.rel deleted file mode 100644 index bed7cd48..00000000 --- a/lib/relsysl/mkfifo.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _mkfifo -S ?CL64180L_4_06_L00 Ref00000000 -S mknod Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S mkfifo Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 00 00 E5 79 F6 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 00 6F 78 F6 10 67 4D 44 CD -R 00 00 01 00 -T 12 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0A 02 00 diff --git a/lib/relsysl/mknod.rel b/lib/relsysl/mknod.rel deleted file mode 100644 index db693c8b..00000000 --- a/lib/relsysl/mknod.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _mknod -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1A flags 0 -S mknod Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 E5 C5 D5 21 12 00 E5 CD -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 -T 18 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/module.rel b/lib/relsysl/module.rel deleted file mode 100644 index 2c62230a..00000000 --- a/lib/relsysl/module.rel +++ /dev/null @@ -1,59 +0,0 @@ -XL4 -H 2 areas A global symbols -M _module -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 80 flags 0 -S modulereg Def00000000 -S moduledereg Def00000012 -S modulesendreply Def00000044 -S modulecall Def00000022 -S modulereply Def00000066 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 28 00 E5 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 CD 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 05 01 00 -T 10 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 -T 12 00 00 00 -R 00 00 01 00 -T 12 00 00 00 CD 00 00 00 00 D5 21 29 00 E5 CD -R 00 00 01 00 02 05 03 00 -T 1B 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0B 02 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 03 00 -T 2B 00 00 00 E5 DD 6E 08 DD 66 09 E5 C5 D5 21 -R 00 00 01 00 -T 36 00 00 00 2A 00 E5 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 08 01 00 -T 3F 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 07 02 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 03 00 -T 4D 00 00 00 E5 DD 6E 08 DD 66 09 E5 C5 D5 21 -R 00 00 01 00 -T 58 00 00 00 2B 00 E5 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 08 01 00 -T 61 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 07 02 00 -T 66 00 00 00 -R 00 00 01 00 -T 66 00 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 03 00 -T 6F 00 00 00 E5 C5 D5 21 2C 00 E5 CD -R 00 00 01 00 -T 77 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 -T 7E 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/mount.rel b/lib/relsysl/mount.rel deleted file mode 100644 index 2c10f478..00000000 --- a/lib/relsysl/mount.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _mount -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1A flags 0 -S mount Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 E5 C5 D5 21 13 00 E5 CD -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 -T 18 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/open.rel b/lib/relsysl/open.rel deleted file mode 100644 index 84a241ae..00000000 --- a/lib/relsysl/open.rel +++ /dev/null @@ -1,23 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _open -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S open Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0C DD 66 0D -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 E5 DD 6E 0A DD 66 0B E5 DD 6E 08 -R 00 00 01 00 -T 14 00 00 00 DD 66 09 E5 21 14 00 E5 CD -R 00 00 01 00 -T 1D 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 -T 24 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/pause.rel b/lib/relsysl/pause.rel deleted file mode 100644 index a7c8c327..00000000 --- a/lib/relsysl/pause.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 4 global symbols -M _pause -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S pause Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 15 00 E5 CD 00 00 00 00 F1 C9 -R 00 00 01 00 02 09 01 00 diff --git a/lib/relsysl/pipe.rel b/lib/relsysl/pipe.rel deleted file mode 100644 index 14106267..00000000 --- a/lib/relsysl/pipe.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _pipe -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S pipe Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 16 00 E5 CD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0B 02 00 diff --git a/lib/relsysl/read.rel b/lib/relsysl/read.rel deleted file mode 100644 index 333d318f..00000000 --- a/lib/relsysl/read.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _read -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1A flags 0 -S _read Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 E5 C5 D5 21 17 00 E5 CD -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 -T 18 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/reboot.rel b/lib/relsysl/reboot.rel deleted file mode 100644 index 8c884b0c..00000000 --- a/lib/relsysl/reboot.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _reboot -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S reboot Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 06 00 C5 16 00 D5 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 21 25 00 E5 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 09 01 00 -T 12 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 02 00 diff --git a/lib/relsysl/sbrk.rel b/lib/relsysl/sbrk.rel deleted file mode 100644 index 51d3055b..00000000 --- a/lib/relsysl/sbrk.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _sbrk -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S sbrk Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 18 00 E5 CD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0B 02 00 diff --git a/lib/relsysl/seek.rel b/lib/relsysl/seek.rel deleted file mode 100644 index 8ac3c071..00000000 --- a/lib/relsysl/seek.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _seek -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1A flags 0 -S seek Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 E5 C5 D5 21 19 00 E5 CD -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 -T 18 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/setgid.rel b/lib/relsysl/setgid.rel deleted file mode 100644 index 36033724..00000000 --- a/lib/relsysl/setgid.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _setgid -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S setgid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 06 00 E5 21 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 07 00 E5 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 08 01 00 -T 12 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relsysl/setprio.rel b/lib/relsysl/setprio.rel deleted file mode 100644 index bc4dd916..00000000 --- a/lib/relsysl/setprio.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _setprio -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S setprio Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 06 00 C5 D5 21 -R 00 00 01 00 02 05 03 00 -T 08 00 00 00 09 00 E5 21 07 00 E5 CD -R 00 00 01 00 -T 10 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 -T 17 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/setuid.rel b/lib/relsysl/setuid.rel deleted file mode 100644 index 3e9b9ee7..00000000 --- a/lib/relsysl/setuid.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _setuid -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S setuid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 03 00 E5 21 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 07 00 E5 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 08 01 00 -T 12 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relsysl/signal.rel b/lib/relsysl/signal.rel deleted file mode 100644 index 83febf39..00000000 --- a/lib/relsysl/signal.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _signal -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_32_L09 Ref00000000 -S unix_long Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S signal Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 E5 DD 6E 08 DD 66 09 E5 D5 21 -R 00 00 01 00 -T 13 00 00 00 1A 00 E5 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 08 02 00 -T 1C 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 01 00 diff --git a/lib/relsysl/stat.rel b/lib/relsysl/stat.rel deleted file mode 100644 index 1a93cb88..00000000 --- a/lib/relsysl/stat.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _stat -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S stat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 1B 00 E5 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 CD 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 05 01 00 -T 10 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/stime.rel b/lib/relsysl/stime.rel deleted file mode 100644 index c2fada3d..00000000 --- a/lib/relsysl/stime.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _stime -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S stime Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 1C 00 E5 CD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0B 02 00 diff --git a/lib/relsysl/symlink.rel b/lib/relsysl/symlink.rel deleted file mode 100644 index e36fabbb..00000000 --- a/lib/relsysl/symlink.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _symlink -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S symlink Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 26 00 E5 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 CD 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 05 01 00 -T 10 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/sync.rel b/lib/relsysl/sync.rel deleted file mode 100644 index d7580d7a..00000000 --- a/lib/relsysl/sync.rel +++ /dev/null @@ -1,13 +0,0 @@ -XL4 -H 2 areas 4 global symbols -M _sync -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S sync Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 1D 00 E5 CD 00 00 00 00 F1 C9 -R 00 00 01 00 02 09 01 00 diff --git a/lib/relsysl/sys0l.rel b/lib/relsysl/sys0l.rel deleted file mode 100644 index ef77505a..00000000 --- a/lib/relsysl/sys0l.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 3 global symbols -M _sys0l -S errno Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S unix Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 02 00 39 C5 D5 5E 23 56 23 4D -R 00 00 01 00 -T 0B 00 00 00 44 F7 30 06 22 00 00 00 00 21 -R 00 00 01 00 02 09 00 00 -T 13 00 00 00 FF FF -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 D1 C1 C9 -R 00 00 01 00 diff --git a/lib/relsysl/sys1l.rel b/lib/relsysl/sys1l.rel deleted file mode 100644 index c695ba38..00000000 --- a/lib/relsysl/sys1l.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 3 global symbols -M _sys1l -S errno Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S unix_long Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 02 00 39 D5 5E 23 56 23 4D 44 -R 00 00 01 00 -T 0B 00 00 00 F7 30 08 22 00 00 00 00 21 FF FF -R 00 00 01 00 02 08 00 00 -T 14 00 00 00 4D 44 -R 00 00 01 00 -T 16 00 00 00 -R 00 00 01 00 -T 16 00 00 00 D1 C9 -R 00 00 01 00 diff --git a/lib/relsysl/syscal0l.rel b/lib/relsysl/syscal0l.rel deleted file mode 100644 index 9d9860d0..00000000 --- a/lib/relsysl/syscal0l.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 3 global symbols -M _syscal0l -S errno Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S unix Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 02 00 39 C5 D5 5E 23 56 23 4D -R 00 00 01 00 -T 0B 00 00 00 44 F7 30 06 22 00 00 00 00 21 -R 00 00 01 00 02 09 00 00 -T 13 00 00 00 FF FF -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 D1 C1 C9 -R 00 00 01 00 diff --git a/lib/relsysl/syscal1l.rel b/lib/relsysl/syscal1l.rel deleted file mode 100644 index 42285e67..00000000 --- a/lib/relsysl/syscal1l.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 3 global symbols -M _syscal1l -S errno Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S unix_long Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 02 00 39 D5 5E 23 56 23 4D 44 -R 00 00 01 00 -T 0B 00 00 00 F7 30 08 22 00 00 00 00 21 FF FF -R 00 00 01 00 02 08 00 00 -T 14 00 00 00 4D 44 -R 00 00 01 00 -T 16 00 00 00 -R 00 00 01 00 -T 16 00 00 00 D1 C9 -R 00 00 01 00 diff --git a/lib/relsysl/sysdebug.rel b/lib/relsysl/sysdebug.rel deleted file mode 100644 index c293814b..00000000 --- a/lib/relsysl/sysdebug.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _sysdebug -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S sysdebug Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 0C 00 E5 21 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 07 00 E5 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 08 01 00 -T 12 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relsysl/systrace.rel b/lib/relsysl/systrace.rel deleted file mode 100644 index 4c482e51..00000000 --- a/lib/relsysl/systrace.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _systrace -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S systrace Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 0B 00 E5 21 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 07 00 E5 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 08 01 00 -T 12 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relsysl/time.rel b/lib/relsysl/time.rel deleted file mode 100644 index 4bf796ee..00000000 --- a/lib/relsysl/time.rel +++ /dev/null @@ -1,43 +0,0 @@ -XL4 -H 2 areas 8 global symbols -M _time -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 54 flags 0 -S gtime Def00000000 -S time Def00000010 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 1E 00 E5 CD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0B 02 00 -T 10 00 00 00 -R 00 00 01 00 -T 10 00 00 00 CD 00 00 00 00 FC FF 79 B0 20 1C -R 00 00 01 00 02 05 04 00 -T 19 00 00 00 -R 00 00 01 00 -T 19 00 00 00 21 00 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 22 00 00 00 21 00 00 39 DD 5E 02 DD 56 03 01 -R 00 00 01 00 -T 2D 00 00 00 04 00 D5 ED B0 E1 18 1C -R 00 00 01 00 -T 35 00 00 00 -R 00 00 01 00 -T 35 00 00 00 DD 5E 04 DD 56 05 CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 3E 00 00 00 DD 6E 04 DD 66 05 DD 5E 02 DD 56 -R 00 00 01 00 -T 49 00 00 00 03 01 04 00 D5 ED B0 E1 -R 00 00 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relsysl/times.rel b/lib/relsysl/times.rel deleted file mode 100644 index db42b653..00000000 --- a/lib/relsysl/times.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _times -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S times Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 1F 00 E5 CD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0B 02 00 diff --git a/lib/relsysl/umask.rel b/lib/relsysl/umask.rel deleted file mode 100644 index 3360c785..00000000 --- a/lib/relsysl/umask.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _umask -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S umask Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 0A 00 E5 21 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 07 00 E5 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 08 01 00 -T 12 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/lib/relsysl/umount.rel b/lib/relsysl/umount.rel deleted file mode 100644 index 560b65fc..00000000 --- a/lib/relsysl/umount.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _umount -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S umount Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 20 00 E5 CD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0B 02 00 diff --git a/lib/relsysl/unlink.rel b/lib/relsysl/unlink.rel deleted file mode 100644 index ca1948de..00000000 --- a/lib/relsysl/unlink.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _unlink -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S unlink Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 21 00 E5 CD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0B 02 00 diff --git a/lib/relsysl/utime.rel b/lib/relsysl/utime.rel deleted file mode 100644 index 93207729..00000000 --- a/lib/relsysl/utime.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _utime -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S utime Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 D5 21 22 00 E5 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 CD 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 05 01 00 -T 10 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/waitpid.rel b/lib/relsysl/waitpid.rel deleted file mode 100644 index 1cc757e0..00000000 --- a/lib/relsysl/waitpid.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _waitpid -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1A flags 0 -S waitpid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 E5 C5 D5 21 23 00 E5 CD -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 -T 18 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/lib/relsysl/write.rel b/lib/relsysl/write.rel deleted file mode 100644 index b346a8c6..00000000 --- a/lib/relsysl/write.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 6 global symbols -M _write -S ?CL64180L_4_06_L00 Ref00000000 -S unix Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1A flags 0 -S _write Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 E5 C5 D5 21 24 00 E5 CD -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 -T 18 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/relnotes/20040204.txt b/relnotes/20040204.txt new file mode 100644 index 00000000..5abea7c9 --- /dev/null +++ b/relnotes/20040204.txt @@ -0,0 +1,23 @@ +HYTECH NOS/UZI SNAPSHOT 04FEB04 + +This snapshot has Rob Buijs's latest work on the dialer. The snapshot was +really captured on 28APR04, and has now been updated with iccz80.exe (Nick's +compiler patch for faster compilation) and contains the "slip" configuration +in "uzi/bin/nos/startup.net". For Rob's "ppp" configuration, please see the +alternative file "uzi/bin/nos/startup.net%". Despite these changes, the +snapshot has still been backdated to 04FEB04 since it uses the 04FEB04 code. + +Note: Communications has been verified to work, with SLIP/PPP and serial +line or modem. This release does not have CompactFlash or API BUS though. +It is also not possible to execute external programs yet, you can use the +net> prompt to run the NOS's internal clients and servers though. For more +information, eg. installation / compilation instructions, please see the +earlier release notes. These procedures will not be re-stated here. Enjoy. + +Further note: CVS has now been branched at this point, with a branch tag of +"testrelease-dialer-working". The reason for branching CVS is that Nick is +about to check in a big change to the memory map, including the new API BUS +implementation and other features. If this causes any breakage, individual +developers can switch to the "testrelease-dialer-working" branch temporarily. +Nick will get the main trunk back into a useable state as soon as possible. + diff --git a/src/CVS/Entries b/src/CVS/Entries new file mode 100644 index 00000000..25d2c361 --- /dev/null +++ b/src/CVS/Entries @@ -0,0 +1,24 @@ +D/avr//// +D/bin//// +D/chset//// +D/db//// +D/font//// +D/fsutil//// +D/games//// +D/gboot//// +D/gui//// +D/hello//// +D/init//// +D/kernel//// +D/libc//// +D/libiar//// +D/libsys//// +D/make.d//// +D/man//// +D/mkfont//// +D/mkutil//// +D/nos//// +D/sh//// +D/simple//// +D/testsystem//// +D/troff//// diff --git a/src/CVS/Repository b/src/CVS/Repository new file mode 100644 index 00000000..89be1bf4 --- /dev/null +++ b/src/CVS/Repository @@ -0,0 +1 @@ +uzi/src diff --git a/src/CVS/Root b/src/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/avr/CVS/Entries b/src/avr/CVS/Entries new file mode 100644 index 00000000..940e7c52 --- /dev/null +++ b/src/avr/CVS/Entries @@ -0,0 +1,98 @@ +/2313def.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/4433def.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/4434def.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/7segv0.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/8535def.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/8x10.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/CFLASHV0.HEX/1.1.1.1/Mon Nov 17 19:05:48 2003// +/CFLASHV1.HEX/1.1.1.1/Mon Nov 17 19:05:48 2003// +/CFLASHV2.HEX/1.1.1.1/Mon Nov 17 19:05:48 2003// +/CHSET00.WIN/1.1.1.1/Mon Nov 17 19:05:48 2003// +/CS64V4.HEX/1.1.1.1/Mon Nov 17 19:05:48 2003// +/CS64V5.ASM/1.1.1.1/Mon Nov 17 19:05:48 2003// +/CS64V5.HEX/1.1.1.1/Mon Nov 17 19:05:48 2003// +/ISPD.EXE/1.1.1.1/Mon Nov 17 19:05:48 2003/-kb/ +/ISPD.INI/1.1.1.1/Mon Nov 17 19:05:48 2003// +/MAKCHR.LOG/1.1.1.1/Mon Nov 17 19:05:48 2003// +/MT102V0.HEX/1.1.1.1/Mon Nov 17 19:05:48 2003// +/MT102V1.HEX/1.1.1.1/Mon Nov 17 19:05:48 2003// +/MT102V2.HEX/1.1.1.1/Mon Nov 17 19:05:48 2003// +/TAVRASM.EXE/1.1.1.1/Mon Nov 17 19:05:48 2003/-kb/ +/TSV3.HEX/1.1.1.1/Mon Nov 17 19:05:48 2003// +/TSV4.ASM/1.1.1.1/Mon Nov 17 19:05:48 2003// +/TSV4.HEX/1.1.1.1/Mon Nov 17 19:05:48 2003// +/WPO15V1.HEX/1.1.1.1/Mon Nov 17 19:05:48 2003// +/WPOV0.HEX/1.1.1.1/Mon Nov 17 19:05:48 2003// +/WPOV1.HEX/1.1.1.1/Mon Nov 17 19:05:48 2003// +/WPOV2.HEX/1.1.1.1/Mon Nov 17 19:05:48 2003// +/WPOV3.ASM/1.1.1.1/Mon Nov 17 19:05:48 2003// +/WPOV3.HEX/1.1.1.1/Mon Nov 17 19:05:48 2003// +/a.bat/1.1.1.1/Mon Nov 17 19:05:48 2003// +/a_avra.bat/1.1.1.1/Mon Nov 17 19:05:48 2003// +/a_orig.bat/1.1.1.1/Mon Nov 17 19:05:48 2003// +/aa.bat/1.1.1.1/Mon Nov 17 19:05:48 2003// +/api.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/apicf.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/apics.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/apilc.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/apilc8.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/apits.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/avrasm.exe/1.1.1.1/Mon Nov 17 19:05:48 2003/-kb/ +/cflashv0.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/cflashv1.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/cflashv2.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/charav0.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/charav1.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/chklin.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/chset00.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/chtest.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/crcsubx.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/crcsubx.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/cs128v0.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/cs64v0.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/cs64v1.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/cs64v1a.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/cs64v2.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/cs64v4-cs64v5.diff/1.1.1.1/Mon Nov 17 19:05:48 2003// +/cs64v4.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/dos.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/dos.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/file.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/file.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/iocall.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/iocall.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/lcter.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/lcv0.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/lcv1.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/m192rhs.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/m192ter.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/m192v0.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/m192v1.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/mac.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/maclc.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/makchr.bas/1.1.1.1/Mon Nov 17 19:05:48 2003// +/makchr.exe/1.1.1.1/Mon Nov 17 19:05:48 2003/-kb/ +/mega8def.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/mt102ter.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/mt102v0.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/mt102v1.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/mt102v1.asm.orig/1.1.1.1/Mon Nov 17 19:05:48 2003// +/mt102v2.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/mt102v2.asm.orig/1.1.1.1/Mon Nov 17 19:05:48 2003// +/prm.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/prm0.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/putpcx.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/set00.pcx/1.1.1.1/Mon Nov 17 19:05:48 2003/-kb/ +/ter.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/terlc.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/terlc8.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/terts.inc/1.1.1.1/Mon Nov 17 19:05:48 2003// +/tster.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/tsv0.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/tsv3-tsv4.diff/1.1.1.1/Mon Nov 17 19:05:48 2003// +/tsv3.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/wpo15v1.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/wpov0.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/wpov1.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +/wpov2.asm/1.1.1.1/Mon Nov 17 19:05:48 2003// +D/product//// diff --git a/src/avr/CVS/Repository b/src/avr/CVS/Repository new file mode 100644 index 00000000..fc55f998 --- /dev/null +++ b/src/avr/CVS/Repository @@ -0,0 +1 @@ +uzi/src/avr diff --git a/src/avr/CVS/Root b/src/avr/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/avr/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/avr/cs64v4-cs64v5.diff b/src/avr/cs64v4-cs64v5.diff index 8c3c2156..1998cda4 100644 --- a/src/avr/cs64v4-cs64v5.diff +++ b/src/avr/cs64v4-cs64v5.diff @@ -1,12 +1,12 @@ ---- cs64v4.asm 2003-03-18 12:26:48.000000000 +1100 -+++ cs64v5.asm 2003-03-20 16:55:20.000000000 +1100 -@@ -1,4 +1,4 @@ +--- cs64v4.asm 2003-03-18 12:26:48.000000000 +1100 ++++ cs64v5.asm 2003-03-20 16:55:20.000000000 +1100 +@@ -1,4 +1,4 @@ -; CS64V4.ASM +; CS64V5.ASM ; 01FEB02 REVISE FOR 7.3728MHz XTAL ; 22NOV01 REVISE FOR OPERATION FROM VCC INSTEAD OF VBAT -@@ -15,8 +15,8 @@ +@@ -15,8 +15,8 @@ .LISTMAC .MACRO LDIYADR ; POINT Y TO DSPRAM ADDR LDI YH,HIGH(@0>>6) @@ -17,7 +17,7 @@ LDI YH,HIGH(@0<<2) LDI YL,(LOW(@0) & $3F) | (HIGH(@0) & $C0) .ENDMACRO -@@ -285,12 +285,13 @@ +@@ -285,12 +285,13 @@ .EQU API_ADDRESS =$03 ; CUSTOMER DISPLAY ADDRESS .EQU API_TIMEOUT =33 ;50 ; 50 * 100 uSEC = APPROX 5mSEC @@ -33,7 +33,7 @@ .DEF SR =R1 .DEF RX_PTR =R2 .DEF RX_COUNT =R3 -@@ -355,7 +356,7 @@ +@@ -355,7 +356,7 @@ TEMP: .BYTE 1 ; 10C LATCH11_SAV: .BYTE 1 @@ -42,7 +42,7 @@ ROWBUF: .BYTE 32 ; BUFFER FOR DSPRAM BLOCK READ/WRITE LINE_COUNT: .BYTE 1 ; CURRENT POSITION TO TEST LINE_FLAGS -@@ -572,9 +573,15 @@ +@@ -572,9 +573,15 @@ BREQ CHARACTER_SET_INIT_DONE CHARACTER_SET_INIT: @@ -61,7 +61,7 @@ CHST0: ADRH YH ; SET ADDRESS H FOR DSPRAM ; ADRL MACRO WILL CORRUPT BACKLIGHT CHST1: ADRL YL ; SET ADDRESS L FOR DSPRAM -@@ -612,11 +619,11 @@ +@@ -612,11 +619,11 @@ LDI A,LOW(VEE_INIT) STS VEEL,A ; INIT MEASURED VEE @@ -75,7 +75,7 @@ RCALL EE_READ STS CONTRASTH,A -@@ -808,7 +815,7 @@ +@@ -808,7 +815,7 @@ ; ----------------------------------------------------------------------------- ADRYP: @@ -84,7 +84,7 @@ ; LDS YL,LATCH10_SAV ; ANDI YL,$E0 ; OR YH,YL -@@ -822,10 +829,10 @@ +@@ -822,10 +829,10 @@ ; CLR YL ; INC YH ; BRNE INCRET @@ -97,7 +97,7 @@ ; CLR YH ;INCRET: RET -@@ -892,14 +899,22 @@ +@@ -892,14 +899,22 @@ RJEQ NULLSUB CPI A,'C' RJEQ CLEAR_RECTANGLE @@ -120,7 +120,7 @@ CPI A,'K' RJEQ CLR_DISP CPI A,'L' -@@ -1320,10 +1335,10 @@ +@@ -1320,10 +1335,10 @@ ; LDI A,$0D ; RCALL TX_WAIT @@ -133,7 +133,7 @@ RCALL EE_WRITE CONTRAST_DONE: -@@ -1702,7 +1717,7 @@ +@@ -1702,7 +1717,7 @@ LDS A,PTR+1 ADC YH,A LDS A,PTR+2 @@ -142,7 +142,7 @@ RCALL LPMS ADIW YL,$01 MOV W,R0 -@@ -1772,7 +1787,7 @@ +@@ -1772,7 +1787,7 @@ LDS F,TEMP SUB CURSORX,F LDS A,PTR+2 @@ -151,7 +151,7 @@ POP B POP A OK_LINE: -@@ -1823,7 +1838,7 @@ +@@ -1823,7 +1838,7 @@ MORE_X: ADIW YL,$01 LDS A,PTR+2 @@ -160,7 +160,7 @@ RCALL LPMS CLR A -@@ -1910,7 +1925,7 @@ +@@ -1910,7 +1925,7 @@ SUBI YH,HIGH(-DRAW_DSPRAM) ; Y -> SINGLE LINE FROM DRAWING BUFFER LDI A,HIGH(DRAW_DSPRAM>>6) @@ -169,7 +169,7 @@ LDI B,30 ; BYTES TO COPY DO_MORE: -@@ -2089,7 +2104,7 @@ +@@ -2089,7 +2104,7 @@ ROR YL SUBI YH,HIGH(-DRAW_DSPRAM) ; DRAW INTO DRAWING BUFFER LDI A,HIGH(DRAW_DSPRAM>>6) @@ -178,7 +178,7 @@ RJMP L03A3 L039A: SUBI YL,LOW(-$40) SBCI YH,HIGH(-$40) -@@ -2285,7 +2300,7 @@ +@@ -2285,7 +2300,7 @@ LDI YL,LOW(DRAW_DSPRAM) LDI YH,HIGH(DRAW_DSPRAM) LDI A,HIGH(DRAW_DSPRAM>>6) @@ -187,7 +187,7 @@ L0659: CLR XBYTE STS XBYTE_SAV,XBYTE L065C: LDS A,XBYTE_SAV -@@ -2439,12 +2454,13 @@ +@@ -2439,12 +2454,13 @@ CBI DDRD,5 ; CL2 INPUT TO MEASURE VEE CBI PORTD,5 ; REMOVE PULL UP @@ -207,7 +207,7 @@ LDS D,VEEH LDS C,VEEL -@@ -2474,31 +2490,31 @@ +@@ -2474,31 +2490,31 @@ OUT OCR1AH,D ; SET SWITCHING TIME FOR VEE MEASURE OUT OCR1AL,C @@ -263,7 +263,7 @@ LDS E,CONTRASTL SUB C,E LDS E,CONTRASTH -@@ -2562,7 +2578,7 @@ +@@ -2562,7 +2578,7 @@ LDI XH,HIGH(DRAW_DSPRAM) LDI A,HIGH(DRAW_DSPRAM>>6) @@ -272,7 +272,7 @@ L0628: SUBI XL,LOW(-$40) SBCI XH,HIGH(-$40) -@@ -2614,7 +2630,7 @@ +@@ -2614,7 +2630,7 @@ STS SCROLL_Y,CURSORY LDI A,HIGH(DRAW_DSPRAM>>6) @@ -281,7 +281,7 @@ POP A ; DIRECTION TO SCROLL SBRC A,0 -@@ -2815,113 +2831,244 @@ +@@ -2815,113 +2831,244 @@ RAMWR A RET diff --git a/src/avr/product/CVS/Entries b/src/avr/product/CVS/Entries new file mode 100644 index 00000000..9a9402a7 --- /dev/null +++ b/src/avr/product/CVS/Entries @@ -0,0 +1,13 @@ +/CFLASHV0.HEX/1.1.1.1/Mon Nov 17 19:05:50 2003// +/CFLASHV1.HEX/1.1.1.1/Mon Nov 17 19:05:50 2003// +/CFLASHV2.HEX/1.1.1.1/Mon Nov 17 19:05:50 2003// +/CS64V4.HEX/1.1.1.1/Mon Nov 17 19:05:50 2003// +/MT102V0.HEX/1.1.1.1/Mon Nov 17 19:05:50 2003// +/MT102V1.HEX/1.1.1.1/Mon Nov 17 19:05:50 2003// +/MT102V2.HEX/1.1.1.1/Mon Nov 17 19:05:50 2003// +/TSV3.HEX/1.1.1.1/Mon Nov 17 19:05:50 2003// +/WPO15V1.HEX/1.1.1.1/Mon Nov 17 19:05:50 2003// +/WPOV0.HEX/1.1.1.1/Mon Nov 17 19:05:50 2003// +/WPOV1.HEX/1.1.1.1/Mon Nov 17 19:05:50 2003// +/WPOV2.HEX/1.1.1.1/Mon Nov 17 19:05:50 2003// +D diff --git a/src/avr/product/CVS/Repository b/src/avr/product/CVS/Repository new file mode 100644 index 00000000..9b730655 --- /dev/null +++ b/src/avr/product/CVS/Repository @@ -0,0 +1 @@ +uzi/src/avr/product diff --git a/src/avr/product/CVS/Root b/src/avr/product/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/avr/product/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/avr/tsv3-tsv4.diff b/src/avr/tsv3-tsv4.diff index b0c020ac..7284e5d0 100644 --- a/src/avr/tsv3-tsv4.diff +++ b/src/avr/tsv3-tsv4.diff @@ -1,12 +1,12 @@ ---- tsv3.asm 2003-03-18 12:26:48.000000000 +1100 -+++ tsv4.asm 2003-03-20 16:55:02.000000000 +1100 -@@ -1,4 +1,4 @@ +--- tsv3.asm 2003-03-18 12:26:48.000000000 +1100 ++++ tsv4.asm 2003-03-20 16:55:02.000000000 +1100 +@@ -1,4 +1,4 @@ -; TSV3.ASM +; TSV4.ASM ; 19FEB02 REVISE FOR GREATER CONTRAST VOLTAGE FOR ALBERT'S 2ND BATCH -15V ; 01FEB02 REVISE FOR 7.3728MHz XTAL (SEE !!!) -@@ -17,8 +17,8 @@ +@@ -17,8 +17,8 @@ .LISTMAC .MACRO LDIYADR ; POINT Y TO DSPRAM ADDR LDI YH,HIGH(@0>>6) @@ -17,7 +17,7 @@ LDI YH,HIGH(@0<<2) LDI YL,(LOW(@0) & $3F) | (HIGH(@0) & $C0) .ENDMACRO -@@ -289,12 +289,13 @@ +@@ -289,12 +289,13 @@ .EQU API_ADDRESS =$02 ; TOUCHSCREEN ADDRESS .EQU API_TIMEOUT =33 ;50 ; 50 * 100 uSEC = APPROX 5mSEC @@ -33,7 +33,7 @@ .DEF SR =R1 .DEF RX_PTR =R2 .DEF RX_COUNT =R3 -@@ -332,6 +333,14 @@ +@@ -332,6 +333,14 @@ .DEF CURSORX =R23 .DEF CURSORY =R24 @@ -48,7 +48,7 @@ .DSEG .ORG RAM -@@ -364,7 +373,7 @@ +@@ -364,7 +373,7 @@ LATCH10_SAV: .BYTE 1 LATCH11_SAV: .BYTE 1 LATCH12_SAV: .BYTE 1 @@ -57,7 +57,7 @@ ROWBUF: .BYTE 32 ; BUFFER FOR DSPRAM BLOCK READ/WRITE LINE_COUNT: .BYTE 1 ; CURRENT POSITION TO TEST LINE_FLAGS -@@ -535,9 +544,15 @@ +@@ -535,9 +544,15 @@ SEI ; ALLOW TIMER 2 INTERRUPTS ONLY ; INITIALISE ACTIVE KEYS @@ -76,7 +76,7 @@ CDE0: ADRH YH ; SET ADDRESS H FOR DSPRAM CDE1: ADRL YL ; SET ADDRESS L FOR DSPRAM LPM ; GET DATA FROM FLASH -@@ -598,9 +613,15 @@ +@@ -598,9 +613,15 @@ BREQ CHARACTER_SET_INIT_DONE CHARACTER_SET_INIT: @@ -95,7 +95,7 @@ CHST0: ADRH YH ; SET ADDRESS H FOR DSPRAM CHST1: ADRL YL ; SET ADDRESS L FOR DSPRAM LPM ; GET DATA FROM FLASH -@@ -628,7 +649,7 @@ +@@ -628,7 +649,7 @@ LDI YL,LOW(DRAW_DSPRAM) LDI YH,HIGH(DRAW_DSPRAM) LDI A,HIGH(DRAW_DSPRAM>>6) @@ -104,7 +104,7 @@ LDI B,DISPLAY_LINES ; B = LINES TO CLEAR -@@ -672,11 +693,11 @@ +@@ -672,11 +693,11 @@ LDI A,LOW(VEE_INIT) STS VEEL,A ; INIT MEASURED VEE @@ -118,7 +118,7 @@ RCALL EE_READ STS CONTRASTH,A -@@ -802,7 +823,7 @@ +@@ -802,7 +823,7 @@ ; ----------------------------------------------------------------------------- @@ -127,7 +127,7 @@ LDS YL,LATCH10_SAV ANDI YL,$E0 OR YH,YL -@@ -816,10 +837,10 @@ +@@ -816,10 +837,10 @@ ; CLR YL ; INC YH ; BRNE INCRET @@ -140,7 +140,7 @@ ; CLR YH ;INCRET: RET -@@ -972,14 +993,22 @@ +@@ -972,14 +993,22 @@ RJEQ BUZZ_AT_FREQ CPI A,'C' RJEQ CLEAR_RECTANGLE @@ -163,7 +163,7 @@ CPI A,'K' RJEQ CLR_DISP CPI A,'L' -@@ -1292,10 +1321,10 @@ +@@ -1292,10 +1321,10 @@ STS CONTRASTL,A STS CONTRASTH,B @@ -176,7 +176,7 @@ RCALL EE_WRITE CONTRAST_DONE: -@@ -1706,7 +1735,7 @@ +@@ -1706,7 +1735,7 @@ RCALL LINE_FEED ; NO, WRAP CURSOR PRIOR TO DRAWING CHAR LDS A,PTR+2 @@ -185,7 +185,7 @@ OK_LINE: LDS F,TEMP -@@ -1783,7 +1812,7 @@ +@@ -1783,7 +1812,7 @@ MORE_X: ADIW YL,$01 LDS A,PTR+2 @@ -194,7 +194,7 @@ RCALL LPMS CLR A -@@ -1833,7 +1862,7 @@ +@@ -1833,7 +1862,7 @@ LDS A,PTR+1 ADC YH,A LDS A,PTR+2 @@ -203,7 +203,7 @@ RCALL LPMS ADIW YL,$01 MOV W,R0 -@@ -1909,7 +1938,7 @@ +@@ -1909,7 +1938,7 @@ SUBI XH,HIGH(-DRAW_DSPRAM) ; X -> DRAWING BUFFER LDI A,HIGH(DRAW_DSPRAM>>6) @@ -212,7 +212,7 @@ LDI B,32 RCALL COPY_BYTES ; 240 PIXELS, PLUS 16 FOR SAMSUNG -@@ -2043,8 +2072,8 @@ +@@ -2043,8 +2072,8 @@ GO_CLEAR_BYTES: RJMP CLEAR_BYTES @@ -223,7 +223,7 @@ GO_SCROLL_REGION: RJMP SCROLL_REGION -@@ -2083,7 +2112,7 @@ +@@ -2083,7 +2112,7 @@ ROR YL SUBI YH,HIGH(-DRAW_DSPRAM) ; DRAW INTO DRAWING BUFFER LDI A,HIGH(DRAW_DSPRAM>>6) @@ -232,7 +232,7 @@ RJMP L03A3 L039A: SUBI YL,LOW(-$40) SBCI YH,HIGH(-$40) -@@ -2305,7 +2334,7 @@ +@@ -2305,7 +2334,7 @@ LDI YL,LOW(DRAW_DSPRAM) LDI YH,HIGH(DRAW_DSPRAM) LDI A,HIGH(DRAW_DSPRAM>>6) @@ -241,7 +241,7 @@ CLEAR_DISPLAY_LOOP: CLR XBYTE STS XBYTE_SAV,XBYTE -@@ -2376,7 +2405,11 @@ +@@ -2376,7 +2405,11 @@ OUT OCR1BL,C LDS C,CLOCKING_PTR @@ -254,7 +254,7 @@ BRNE BREAK0 ; NO, BREAK COUNTER IS OK FOR NOW LDS D,BREAK_COUNT -@@ -2689,7 +2722,10 @@ +@@ -2689,7 +2722,10 @@ LDI D,-TK_LED_PULSE ; 22uSEC OUT TCNT0,D @@ -266,7 +266,7 @@ CLR D ADD ZL,SCAN ADC ZH,D -@@ -2789,7 +2825,10 @@ +@@ -2789,7 +2825,10 @@ LDI C,$34 ; BECAUSE ROW_BITMAP IS BEING TESTED SUB C,D ; IN THE REVERSE ORDER TO ITS CREATION @@ -278,7 +278,7 @@ CLR D ADD ZL,C ADC ZH,D -@@ -2801,7 +2840,11 @@ +@@ -2801,7 +2840,11 @@ ADD C,R0 LSL R0 ADD C,R0 @@ -291,7 +291,7 @@ CLR D ADD ZL,SCAN ADC ZH,D -@@ -2951,7 +2994,10 @@ +@@ -2951,7 +2994,10 @@ STS ROW_BITMAP+1,SCAN L0617: ; SELECT PHOTODIODE AND ALLOW TO SETTLE @@ -303,7 +303,7 @@ ADIW ZL,1 ; POINT TO FIRST PHOTO CHANNEL CLR D ADD ZL,SCAN -@@ -2973,7 +3019,7 @@ +@@ -2973,7 +3019,7 @@ LDI XH,HIGH(DRAW_DSPRAM) LDI A,HIGH(DRAW_DSPRAM>>6) @@ -312,7 +312,7 @@ L0628: SUBI XL,LOW(-$40) SBCI XH,HIGH(-$40) -@@ -3025,7 +3071,7 @@ +@@ -3025,7 +3071,7 @@ STS SCROLL_Y,CURSORY LDI A,HIGH(DRAW_DSPRAM>>6) @@ -321,7 +321,7 @@ POP A ; DIRECTION TO SCROLL SBRC A,0 -@@ -3226,7 +3272,7 @@ +@@ -3226,7 +3272,7 @@ RAMWR A RET @@ -330,7 +330,7 @@ A14_A18 A RET -@@ -3423,106 +3469,237 @@ +@@ -3423,106 +3469,237 @@ ; ----------------------------------------------------------------------------- CHSET00: diff --git a/src/avr/tsv3.lst b/src/avr/tsv3.lst deleted file mode 100644 index 4e99835f..00000000 --- a/src/avr/tsv3.lst +++ /dev/null @@ -1,5765 +0,0 @@ -Toms AVR macro assembler version 1.18 (May 9 2003) -Copyright (C) 2000 - Tom Mortensen -E-mail: tom@tavrasm.org WWW: http://www.tavrasm.org - -+------------------+-----------------------------------------------------------+ -| Value | Text | -|------------------|-----------------------------------------------------------| -| | ; TSV3.ASM -| | -| | ; 19FEB02 REVISE FOR GREATER CONTRAST VOLTAGE FOR ALBERT'S 2ND BATCH -15V -| | ; 01FEB02 REVISE FOR 7.3728MHz XTAL (SEE !!!) -| | -| | ; 22JUN01 REVISE -VE VOLTAGE GENERATION -| | ; TO WORK WITH REV E PARTS -| | ; ;!! INDICATES CHANGES -| | -| | ;** INDICATES CHANGES FOR LOW VCC AVR MOD -| | -| | .INCLUDE "8535DEF.INC" -| | ;*************************************************************************** -| | ;* A P P L I C A T I O N N O T E F O R T H E A V R F A M I L Y -| | ;* -| | ;* Number :AVR000 -| | ;* File Name :"8535def.inc" -| | ;* Title :Register/Bit Definitions for the AT90S8535 -| | ;* Date :98.05.22 -| | ;* Version :1.22 -| | ;* Support telephone :+47 72 88 43 88 (ATMEL Norway) -| | ;* Support fax :+47 72 88 43 99 (ATMEL Norway) -| | ;* Support E-mail :avr@atmel.com -| | ;* Target MCU :AT90S8535 -| | ;* -| | ;* DESCRIPTION -| | ;* When including this file in the assembly program file, all I/O register -| | ;* names and I/O register bit names appearing in the data book can be used. -| | ;* In addition, the six registers forming the three data pointers X, Y and -| | ;* Z have been assigned names XL - ZH. Highest RAM address for Internal -| | ;* SRAM is also defined -| | ;* -| | ;* The Register names are represented by their hexadecimal address. -| | ;* -| | ;* The Register Bit names are represented by their bit number (0-7). -| | ;* -| | ;* Please observe the difference in using the bit names with instructions -| | ;* such as "sbr"/"cbr" (set/clear bit in register) and "sbrs"/"sbrc" -| | ;* (skip if bit in register set/cleared). The following example illustrates -| | ;* this: -| | ;* -| | ;* in r16,PORTB ;read PORTB latch -| | ;* sbr r16,(1<>6) -| | STS XPAGE,YH -| | RCALL ADRYP ; AND SET XPAGE -| | LDI YH,HIGH(@0<<2) -| | LDI YL,(LOW(@0) & $3F) | (HIGH(@0) & $C0) -| | .endMACRO -| | -| | .MACRO ADRL -| | OUT PORTC,@0 ; SET L ADDRESS FOR DSPRAM -| | .endMACRO -| | -| | .MACRO ADRH -| | OUT PORTA,@0 ; SET H ADDRESS FOR DSPRAM -| | SBI PORTB,3 -| | CBI PORTB,3 -| | STS LATCH11_SAV,@0 ; IS THIS NEEDED? -| | .endMACRO -| | -| | ;.MACRO ADRINC -| | ; INC @0 ; INC LOW ORDER DSPRAM ADDRESS -| | ; SBRC @0,6 ; ROLLS OVER IF BIT 6 SET -| | ;; RCALL INCADRY ; INC HIGH ORDER DSPRAM ADDRESS -| | ;.ENDMACRO ; (RCALL IS IN MAINLINE CODE) -| | -| | .MACRO A0_A13 -| | MOV R19,@0 -| | ANDI R19,$3F -| | OUT PORTC,R19 -| | -| | MOV R19,@1 -| | LSL R19 -| | LSL R19 -| | BST @0,7 ; A7 -| | BLD R19,1 -| | BST @0,6 ; A6 -| | BLD R19,0 -| | OUT PORTA,R19 -| | CLI -| | SBI PORTB,3 -| | CBI PORTB,3 -| | SEI -| | STS LATCH11_SAV,R19 -| | .endMACRO -| | -| | .MACRO A14_A18 -| | CLI -| | LDS R19,LATCH10_SAV ; AND THIS -| | EOR R19,@0 -| | ANDI R19,$E0 -| | EOR R19,@0 -| | OUT PORTA,R19 -| | SBI PORTB,4 -| | CBI PORTB,4 -| | SEI -| | STS LATCH10_SAV,R19 ; MUST BE ATOMIC DUE TO TOGGLING M -| | .endMACRO -| | -| | .MACRO A0_A15 -| | PUSH R19 -| | -| | MOV R19,@0 -| | ANDI R19,$3F -| | OUT PORTC,R19 -| | -| | MOV R19,@1 -| | LSL R19 -| | LSL R19 -| | BST @0,7 ; A7 -| | BLD R19,1 -| | BST @0,6 ; A6 -| | BLD R19,0 -| | OUT PORTA,R19 -| | SBI PORTB,3 -| | CBI PORTB,3 -| | STS LATCH11_SAV,@1 -| | -| | LDS R19,LATCH10_SAV ; AND THIS -| | BST @1,7 ; A15 -| | BLD R19,1 -| | BST @1,6 ; A14 -| | BLD R19,0 -| | OUT PORTA,R19 -| | SBI PORTB,4 -| | CBI PORTB,4 -| | STS LATCH10_SAV,R19 -| | -| | POP R19 -| | .endMACRO -| | -| | .MACRO RAMWR -| | OUT PORTA,@0 -| | CLI -| | CBI PORTB,1 -| | CBI PORTB,0 -| | NOP -| | SBI PORTB,0 -| | SEI -| | SBI PORTB,1 -| | .endMACRO -| | -| | .MACRO RAMWRX -| | OUT PORTA,@0 -| | CBI PORTB,1 -| | CBI PORTB,0 -| | NOP -| | SBI PORTB,0 -| | SBI PORTB,1 -| | .endMACRO -| | -| | .MACRO RAMRXW -| | CLR @1 -| | OUT DDRA,@1 -| | CLI -| | CBI PORTB,0 -| | NOP -| | CBI PORTB,1 -| | IN @1,PINA -| | EOR @0,@1 -| | SBRC FLAGS,0 -| | OR @0,@1 -| | LDI @1,$FF -| | OUT DDRA,@1 -| | OUT PORTA,@0 -| | NOP -| | SBI PORTB,0 -| | SEI -| | SBI PORTB,1 -| | .endMACRO -| | -| | .MACRO RAMRD -| | CLR F -| | OUT DDRA,F ; PORTA INPUT -| | CLI -| | CBI PORTB,0 ; CS_ON -| | NOP -| | SBI PORTB,0 ; CS_OFF -| | IN @0,PINA ; READ DATA -| | SEI -| | LDI F,$FF -| | OUT DDRA,F ; PORTA OUTPUT -| | .endMACRO -| | -| | .MACRO RAMRDX -| | CLR F -| | OUT DDRA,F ; PORTA INPUT -| | CBI PORTB,0 ; CS_ON -| | NOP -| | SBI PORTB,0 ; CS_OFF -| | IN @0,PINA ; READ DATA -| | LDI F,$FF -| | OUT DDRA,F ; PORTA OUTPUT -| | .endMACRO -| | -| | .MACRO PHOTO -| | OUT PORTA,@0 ; SELECT PHOTODIODE CHANNEL -| | LDS @0,LATCH12_SAV -| | OUT PORTC,@0 -| | SBI PORTC,0 -| | SBI PORTB,2 ; THIS WILL PROVIDE LE=1 -| | CBI PORTB,2 ; THIS WILL PROVIDE G=0 -| | CBI PORTC,0 -| | SBI PORTB,2 ; THIS WILL PROVIDE LE=1 -| | CBI PORTB,2 ; THIS WILL PROVIDE G=0 -| | .endMACRO -| | -| | .MACRO LED -| | OUT PORTA,@0 ; MAIN LED DRIVE PORT -| | LDS @0,LATCH12_SAV -| | OUT PORTC,@0 -| | SBI PORTC,1 -| | SBI PORTB,2 ; THIS WILL PROVIDE LE=1 -| | CBI PORTB,2 ; THIS WILL PROVIDE G=0 -| | CBI PORTC,1 -| | SBI PORTB,2 ; THIS WILL PROVIDE LE=1 -| | CBI PORTB,2 ; THIS WILL PROVIDE G=0 -| | .endMACRO -| | -| | .MACRO LEDLO -| | LDS D,LATCH12_SAV ; DRIVE LED COMMON LO -| | CBR D,1<<4 -| | OUT PORTC,D -| | SBI PORTB,2 -| | CBI PORTB,2 -| | STS LATCH12_SAV,D -| | .endMACRO -| | -| | .MACRO LEDHI -| | LDS D,LATCH12_SAV ; DRIVE LED COMMON HI -| | SBR D,1<<4 -| | OUT PORTC,D -| | SBI PORTB,2 -| | CBI PORTB,2 -| | STS LATCH12_SAV,D -| | .endMACRO -| | -| | .MACRO SPKHI -| | LDS D,LATCH12_SAV ; DRIVE SPEAKER HI -| | SBR D,1<<3 -| | CBR D,1<<2 -| | OUT PORTC,D -| | SBI PORTB,2 -| | CBI PORTB,2 -| | STS LATCH12_SAV,D -| | .endMACRO -| | -| | .MACRO SPKLO -| | LDS D,LATCH12_SAV ; DRIVE SPEAKER LO -| | CBR D,1<<3 -| | SBR D,1<<2 -| | OUT PORTC,D -| | SBI PORTB,2 -| | CBI PORTB,2 -| | STS LATCH12_SAV,D -| | .endMACRO -| | -| | .MACRO SPKOFF -| | LDS D,LATCH12_SAV ; DRIVE SPEAKER OFF -| | CBR D,1<<3 -| | CBR D,1<<2 -| | OUT PORTC,D -| | SBI PORTB,2 -| | CBI PORTB,2 -| | STS LATCH12_SAV,D -| | .endMACRO -| | -| | .EQU T1_INIT =-818 ;$FB35 -| | .EQU T1_FULL_SCALE =-716 ;50.0HZ ; SETS LCD FRAME RATE TEMPORARY TO STOP FLIKER -| | ;.EQU T1_FULL_SCALE =-651 ;53.5HZ ; SETS LCD FRAME RATE -| | ;.EQU T1_FULL_SCALE =-600 ;54.8HZ ; SETS LCD FRAME RATE -| | -| | .EQU CONTRAST_LONG =-340 ; ALL LONG PULSES IS FULLY DARK (DON'T SATURATE) -| | ;.EQU CONTRAST_LONG =-250 ; ALL LONG PULSES IS FULLY DARK (DON'T SATURATE) -| | .EQU CONTRAST_MID =-200 -| | .EQU CONTRAST_SHORT = -43 ; ALL SHORT PULSES IS FULLY LIGHT -| | -| | .EQU VCC_NOMINAL =-552 ;$FCC4 -| | -| | .EQU VEE_MIN =-710 ; MIN IS FULLY DARK -| | .EQU VEE_INIT =-340 -| | .EQU VEE_MAX = -43 ; MAX IS FULLY LIGHT -| | -| | ; WHEN VCC = $FCC4 FOR 6.0V: -| | .EQU CONTRAST_MIN =-710 ; MIN IS FULLY DARK -| | .EQU CONTRAST_INIT =-640 -| | .EQU CONTRAST_MAX =-580 ; MAX IS FULLY LIGHT -| | -| | ; GENEROUS LIMITS FOR EXPERIMENTATION: -| | ;.EQU CONTRAST_MIN =$FC80 ; MIN IS FULLY DARK -| | ;.EQU CONTRAST_MAX =$FF80 ; MAX IS FULLY LIGHT -| | ;.EQU CONTRAST_INIT =$FE10 -| | -| | .EQU CONTRAST_STEP =4 -| | -| | .EQU DISP_DSPRAM =$60000 ; DISPLAY BUFFER -| | .EQU DRAW_DSPRAM =$62000 ; DRAWING BUFFER -| | .EQU CHSET_DSPRAM =$64000 ; START OF CHARACTER SETS -| | .EQU RTN_DSPRAM =$6E000 ; KEYBOARD RETURN CODE TABLE -| | .EQU DISPLAY_LINES =$80 -| | .EQU CHARACTER_SETS =10 -| | .EQU RAM =$60 ; START OF SRAM -| | .EQU TX_SIZE =$20 -| | .EQU RX_SIZE =$80 -| | -| | .EQU TK_LED_PULSE =14 ; 18US ?? CLOCKS OF /8 -| | .EQU TK_DELAY_0 =19 ; ??US DELAY TILL START OF LED PULSE (/8) -| | ;.EQU TK_DELAY_0 =$20 ;$38 ; ??US DELAY TILL START OF LED PULSE -| | ;.EQU TK_DELAY_0 =$25 ;$38 ; 54US ?? CLOCKS OF /8 -| | .EQU TK_DELAY_1 =$10 ;$28 ; CLOCKS OF /64, CHANNEL SELECT DELAY -| | .EQU TK_DELAY_2 =$00 ; CLOCKS OF /1024, VDD POWER ON DELAY -| | ; $D0 IS TOO SHORT, $E0 SEEMS TO WORK -| | -| | .EQU API_ADDRESS =$02 ; TOUCHSCREEN ADDRESS -| | .EQU API_TIMEOUT =33 ;50 ; 50 * 100 uSEC = APPROX 5mSEC -| | .EQU API_RATE_SLOW =$5F ;$8F ; DIVISOR FOR 4800 BPS -| | .EQU API_RATE_FAST =$03 ;$05 ; DIVISOR FOR 115200 BPS -| | .EQU EEWR_ENABLE =5 ; SET BY FG WHILE OK TO WRITE EEPROM -| | .EQU APISIZE =6 ; SET IF EXPECTING API DATA SIZE CMD -| | .EQU APIDATA =7 ; SET IF TRANSFERRING API DATA TX/RX -| | -| | .DEF PATTERN =R0 ; FOR HALFTONE_RECT ROUTINE -| | .DEF SR =R1 -| | .DEF RX_PTR =R2 -| | .DEF RX_COUNT =R3 -| | .DEF TX_PTR =R4 -| | .DEF TX_COUNT =R5 -| | .DEF API_REMAIN =R6 -| | .DEF API_WATCHDOG =R12 -| | -| | .DEF Y_SIZE =R7 -| | .DEF X_SIZE =R8 -| | .DEF LINE_CNT =R9 -| | .DEF XBYTE =R10 -| | .DEF FLAGS =R11 -| | ; FLAGS BIT 0 0=XOR MODE 1=OR MODE -| | ; BIT 1 0=FILL RECT 1=CLEAR RECT -| | ; BIT 2 0=OPEN ZEROS 1=CROSSED ZEROS -| | ; BIT 3 0=TEXT MODE 1=GRAPHICS MODE -| | ; BIT 4 0=FIXED 1=PROPORTIONAL -| | ; BIT 5 0=DISPLAY DISABLED 1=DISPLAY ENABLED -| | ; BIT 6 0=TURNED OFF VIA TRANSIT SW 1=TURNED OFF VIA COMMAND -| | ; BIT 7 USED TO CONTROL LED PULSING FOR TOUCHSCREEN EVERY 2ND CYCLE -| | .DEF SCAN =R13 -| | .DEF API_STATE =R14 -| | -| | .DEF W =R15 -| | .DEF F =R16 ; FG -| | .DEF A =R17 ; FG -| | .DEF B =R18 ; FG -| | .DEF C =R20 ; INT -| | .DEF D =R21 ; INT -| | .DEF E =R25 ; INT -| | ;.DEF ? =R19 ; INT -| | -| | .DEF XPIXEL =R22 -| | .DEF CURSORX =R23 -| | .DEF CURSORY =R24 -| | -| | ; for AVRA / TAVRASM: -| | ;.def XL =R26 -| | ;.def XH =R27 -| | ;.def YL =R28 -| | ;.def YH =R29 -| | ;.def ZL =R30 -| | ;.def ZH =R31 -| | -| | .DSEG -| | .ORG RAM -| | -| 000060 -DATA- | TX_BUF: .BYTE TX_SIZE -| 000080 -DATA- | RX_BUF: .BYTE RX_SIZE -| | -| 000100 -DATA- | XBYTE_SAV: .BYTE 1 ; 063 -| 000101 -DATA- | X_SIZE_SAV: .BYTE 1 ; 066 -| 000102 -DATA- | XPIXEL_SAV: .BYTE 1 ; 067 -| 000103 -DATA- | PTR: .BYTE 3 ; 068 -| 000106 -DATA- | PORT_STATE: .BYTE 1 ; 0FA -| 000107 -DATA- | ACTIVE_ZONE: .BYTE 1 ; 0FB -| | -| 000108 -DATA- | TMPL: .BYTE 1 ; 0FE -| 000109 -DATA- | TMPH: .BYTE 1 ; 0FF -| 00010A -DATA- | VCCL: .BYTE 1 ; 100 -| 00010B -DATA- | VCCH: .BYTE 1 ; 101 -| 00010C -DATA- | VEEL: .BYTE 1 ; 102 -| 00010D -DATA- | VEEH: .BYTE 1 ; 103 -| 00010E -DATA- | CONTRASTL: .BYTE 1 ; 104 -| 00010F -DATA- | CONTRASTH: .BYTE 1 ; 105 -| | -| 000110 -DATA- | BUZZ_TIME: .BYTE 1 ; 10B -| 000111 -DATA- | BUZZ_PERIOD: .BYTE 1 -| 000112 -DATA- | TEMP: .BYTE 1 ; 10C -| | -| 000113 -DATA- | DEBOUNCE: .BYTE 1 -| 000114 -DATA- | ROW_INDEX: .BYTE 1 -| 000115 -DATA- | ROW_BITMAP: .BYTE 2 -| 000117 -DATA- | LATCH10_SAV: .BYTE 1 -| 000118 -DATA- | LATCH11_SAV: .BYTE 1 -| 000119 -DATA- | LATCH12_SAV: .BYTE 1 -| 00011A -DATA- | XPAGE: .BYTE 1 -| 00011B -DATA- | ROWBUF: .BYTE 32 ; BUFFER FOR DSPRAM BLOCK READ/WRITE -| | -| 00013B -DATA- | LINE_COUNT: .BYTE 1 ; CURRENT POSITION TO TEST LINE_FLAGS -| 00013C -DATA- | LINE_FLAGS: .BYTE 16 ; BUFFER 1 BIT PER LINE FOR COPY REQUIRED -| | -| 00014C -DATA- | CLOCKING_PTR: .BYTE 2 -| | -| 00014E -DATA- | CHAR_X: .BYTE 1 -| 00014F -DATA- | CHAR_Y: .BYTE 1 -| 000150 -DATA- | CHAR_PTR: .BYTE 2 -| | -| 000152 -DATA- | RECT_X: .BYTE 1 -| 000153 -DATA- | RECT_Y: .BYTE 1 -| 000154 -DATA- | RECT_XX: .BYTE 1 -| 000155 -DATA- | RECT_YY: .BYTE 1 -| | -| 000156 -DATA- | RECTNC_X: .BYTE 1 -| 000157 -DATA- | RECTNC_Y: .BYTE 1 -| 000158 -DATA- | RECTNC_XX: .BYTE 1 -| 000159 -DATA- | RECTNC_YY: .BYTE 1 -| | -| 00015A -DATA- | TOUCH_KEY: .BYTE 1 -| 00015B -DATA- | TOUCH_X: .BYTE 1 -| 00015C -DATA- | TOUCH_Y: .BYTE 1 -| 00015D -DATA- | TOUCH_XX: .BYTE 1 -| 00015E -DATA- | TOUCH_YY: .BYTE 1 -| | -| 00015F -DATA- | TIME_HSEC_64K: .BYTE 1 -| 000160 -DATA- | TIME_HSEC_256: .BYTE 1 -| 000161 -DATA- | TIME_HSEC: .BYTE 1 -| 000162 -DATA- | TIME_SECOND: .BYTE 1 -| 000163 -DATA- | TIME_MINUTE: .BYTE 1 -| 000164 -DATA- | TIME_HOUR: .BYTE 1 -| 000165 -DATA- | DATE_DAY: .BYTE 1 -| 000166 -DATA- | DATE_MONTH: .BYTE 1 -| 000167 -DATA- | DATE_YEAR: .BYTE 1 -| | -| 000168 -DATA- | SCAN_STATE: .BYTE 1 -| 000169 -DATA- | LATCH5_SAV: .BYTE 1 -| 00016A -DATA- | TURNON_COUNT: .BYTE 1 -| 00016B -DATA- | BREAK_COUNT: .BYTE 1 -| | -| 00016C -DATA- | CURSORX_SAVE: .BYTE 1 -| 00016D -DATA- | CURSORY_SAVE: .BYTE 1 -| 00016E -DATA- | FLAGS_SAVE: .BYTE 1 -| 00016F -DATA- | PTR_SAVE: .BYTE 3 -| | -| 000172 -DATA- | SCROLL_COUNT: .BYTE 1 -| 000173 -DATA- | SCROLL_X: .BYTE 1 -| 000174 -DATA- | SCROLL_Y: .BYTE 1 -| 000175 -DATA- | SCROLL_XX: .BYTE 1 -| 000176 -DATA- | SCROLL_YY: .BYTE 1 -| | -| | .ESEG -| | .ORG $000 -| | -| 000000 00 EEPROM | .DB $00,$00 ; DON'T USE ADDR $000 -| 000001 00 EEPROM | -| 000002 00 EEPROM | EE_CONTRAST: .DB $00,$00 ; RELY ON CONTRAST_INIT TO INITIALISE -| 000003 00 EEPROM | -| | -| | .CSEG -| | .ORG $0000 -| | -| 000000 C00D | RJMP RESET_ENTRY -| 000001 C606 | RJMP GO_EXT_INT0 -| 000002 C606 | RJMP GO_EXT_INT1 -| 000003 9518 | RETI ; TIM2_CMP -| 000004 C605 | RJMP GO_TIM2_OVF ; TIM2_OVF -| 000005 9518 | RETI ; TIM1_CAPT -| 000006 9518 | RETI ; TIM1_COMPA -| 000007 9518 | RETI ; TIM1_COMPB -| 000008 C602 | RJMP GO_T1_OVERFLOW -| 000009 C602 | RJMP GO_T0_OVERFLOW -| 00000A 9518 | RETI ; SPI_STC -| 00000B > INT_HANDLERS ; API BUS -| 00000B C6ED > RJMP RX_COMPLETE ; UART RX COMPLETE HANDLER -| 00000C C6D7 > RJMP TX_EMPTY ; UART DATA REGISTER EMPTY HANDLER -| 00000D C72E > RJMP TX_COMPLETE ; UART TX COMPLETE HANDLER -| | -| | RESET_ENTRY: -| 00000E E002 | LDI F,HIGH(RAMEND) ; INIT STACK POINTER -| 00000F BF0E | OUT SPH,F -| 000010 E50F | LDI F,LOW(RAMEND) -| 000011 BF0D | OUT SPL,F -| 000012 E810 | LDI A,$80 -| 000013 B918 | OUT ACSR,A ; POWER DOWN ANALOG COMPARATOR -| | -| 000014 95A8 | WDR ; RESET WATCHDOG -| 000015 E01F | LDI A,$0F ; ENABLE WATCHDOG WITH 3 SEC TIMEOUT -| 000016 BD11 | OUT WDTCR,A -| | -| 000017 E000 | LDI F,0 -| 000018 9300 015F | STS TIME_HSEC_64K,F -| 00001A 9300 0160 | STS TIME_HSEC_256,F -| 00001C 9300 0161 | STS TIME_HSEC,F -| 00001E 9300 0162 | STS TIME_SECOND,F -| 000020 9300 0163 | STS TIME_MINUTE,F -| 000022 9300 0164 | STS TIME_HOUR,F -| 000024 E001 | LDI F,1 -| 000025 9300 0165 | STS DATE_DAY,F -| 000027 9300 0166 | STS DATE_MONTH,F -| 000029 E104 | LDI F,20 -| 00002A 9300 0167 | STS DATE_YEAR,F -| | -| | RESTART_ENTRY: -| | ;**: -| 00002C E008 | LDI F,8 ; TIMER 2 CLOCKED BY 32 KHZ -| | ;** LDI F,0 ; TIMER 2 CLOCKED BY 11 MHZ -| 00002D BD02 | OUT ASSR,F -| | ;**: -| | ; MUST MATCH SET_TIME ROUTINE % -| 00002E E003 | LDI F,3 ; TIMER 2 DIVIDE BY 32 (4 HZ) -| | ;!! LDI F,$11 ; DIVIDE BY 2, TOGGLE OC2 (PIN 21) -| | ; (RTC DIAGNOSTIC) -| | ;** LDI F,6 ; TIMER 2 DIVIDE BY 256 -| 00002F BD05 | OUT TCCR2,F -| | ; % -| 000030 E400 | LDI F,$40 -| 000031 BF09 | OUT TIMSK,F ; TIMER 2 OVERFLOW INTERRUPTS ENABLED -| 000032 E000 | LDI F,$00 -| 000033 BF0B | OUT GIMSK,F -| | -| 000034 EB08 | LDI F,$B8 ; INIT_PORTS -| 000035 BB01 | OUT DDRD,F -| 000036 BB02 | OUT PORTD,F ; D2 = TRI-STATE, VSWT ON -| 000037 E10F | LDI F,$1F -| 000038 BB07 | OUT DDRB,F -| 000039 EF0F | LDI F,$FF -| 00003A BB0A | OUT DDRA,F -| 00003B BB04 | OUT DDRC,F -| | -| 00003C 2700 | CLR F -| 00003D BB0B | OUT PORTA,F -| | -| 00003E E003 | LDI F,$03 ; CS, WE HI, LEs ALL LO -| 00003F BB08 | OUT PORTB,F -| | -| 000040 E100 | LDI F,$10 ; LED COMMON OFF, SPEAKER OFF -| 000041 BB05 | OUT PORTC,F -| 000042 9AC2 | SBI PORTB,2 -| 000043 98C2 | CBI PORTB,2 -| 000044 9300 0119 | STS LATCH12_SAV,F -| | -| 000046 E200 | LDI F,$20 -| 000047 2EB0 | MOV FLAGS,F ; START WITH DISPLAY ENABLED -| | -| 000048 > INIT_API_BUS -| 000048 E51F > LDI A,API_RATE_SLOW ; 4800 BPS -| 000049 B919 > OUT UBRR,A ; SET UART RATE -| > -| 00004A E910 > LDI A,$90 ; ENABLE RX WITH INTERRUPTS -| 00004B B91A > OUT UCR,A -| > ;SBI UCR,TXEN ; TX ENABLE -| > -| 00004C 2444 > CLR TX_PTR -| 00004D 2455 > CLR TX_COUNT -| > -| 00004E 2422 > CLR RX_PTR -| 00004F 2433 > CLR RX_COUNT -| > -| 000050 24EE > CLR API_STATE -| 000051 2466 > CLR API_REMAIN -| 000052 24CC > CLR API_WATCHDOG -| | -| 000053 E158 | LDI D,$18 ; A18|A17|A16|A15|A14=11000 -| 000054 BB5B | OUT PORTA,D ; CL1=M=FLM=0 -| 000055 9AC4 | SBI PORTB,4 -| 000056 98C4 | CBI PORTB,4 -| 000057 9350 0117 | STS LATCH10_SAV,D -| | -| 000059 2755 | CLR D -| 00005A 9350 0118 | STS LATCH11_SAV,D -| 00005C 9350 013B | STS LINE_COUNT,D ; START UPDATE AT TOP OF SCREEN -| 00005E 9350 016A | STS TURNON_COUNT,D ; REDUNDANTLY REQUEST TURNON -| 000060 9350 016B | STS BREAK_COUNT,D ; SET LONGEST POSSIBLE BREAK TIMEOUT -| 000062 9350 0110 | STS BUZZ_TIME,D ; NOT BUZZING (SHORT BEEP COMES LATER) -| | -| 000064 24DD | CLR SCAN -| 000065 92D0 0114 | STS ROW_INDEX,SCAN -| 000067 92D0 0115 | STS ROW_BITMAP,SCAN -| 000069 92D0 0116 | STS ROW_BITMAP+1,SCAN -| | -| 00006B EF54 | LDI D,$F4 ; BIT 6 = 1 VDD ON, BIT 7 = 1 LCD ON -| 00006C 9350 0169 | STS LATCH5_SAV,D -| 00006E > PHOTO D -| 00006E BB5B > OUT PORTA,D ; SELECT PHOTODIODE CHANNEL -| 00006F 9150 0119 > LDS D,LATCH12_SAV -| 000071 BB55 > OUT PORTC,D -| 000072 9AA8 > SBI PORTC,0 -| 000073 9AC2 > SBI PORTB,2 ; THIS WILL PROVIDE LE=1 -| 000074 98C2 > CBI PORTB,2 ; THIS WILL PROVIDE G=0 -| 000075 98A8 > CBI PORTC,0 -| 000076 9AC2 > SBI PORTB,2 ; THIS WILL PROVIDE LE=1 -| 000077 98C2 > CBI PORTB,2 ; THIS WILL PROVIDE G=0 -| | -| | ; NEED THIS FOR RTC -| 000078 9478 | SEI ; ALLOW TIMER 2 INTERRUPTS ONLY -| | -| | ; INITIALISE ACTIVE KEYS -| | RTNCDE: ;LDIZ RTN_CODE ; POINT Z TO FLASH -| 000079 E0E2 | LDI ZL,LOW((RTN_CODE)*2) ; USE PRIOR TO LPM INSTRUCTION -| 00007A E1F9 | LDI ZH,HIGH((RTN_CODE)*2) ; EXTRA BRACKETS NEEDED IF @0=EXPRESSION -| | -| | ;LDIX RTN_CODE_END-RTN_CODE ; BYTE COUNTER -| 00007B EEA2 | LDI XL,LOW((RTN_CODE_END-RTN_CODE)*2) ; USE AS BYTE COUNTER -| 00007C E0B0 | LDI XH,HIGH((RTN_CODE_END-RTN_CODE)*2) ; EXTRA BRACKETS NEEDED IF @0=EXPRESSION -| | -| 00007D > LDIYADR RTN_DSPRAM ; POINT Y TO DSPRAM & SET XPAGE -| 00007D E1DB > LDI YH,HIGH(RTN_DSPRAM>>6) -| 00007E 93D0 011A > STS XPAGE,YH -| 000080 D108 > RCALL ADRYP ; AND SET XPAGE -| 000081 E8D0 > LDI YH,HIGH(RTN_DSPRAM<<2) -| 000082 ECC0 > LDI YL,(LOW(RTN_DSPRAM) & $3F) | (HIGH(RTN_DSPRAM) & $C0) -| 000083 > CDE0: ADRH YH ; SET ADDRESS H FOR DSPRAM -| 000083 BBDB > OUT PORTA,YH ; SET H ADDRESS FOR DSPRAM -| 000084 9AC3 > SBI PORTB,3 -| 000085 98C3 > CBI PORTB,3 -| 000086 93D0 0118 > STS LATCH11_SAV,YH ; IS THIS NEEDED? -| 000088 > CDE1: ADRL YL ; SET ADDRESS L FOR DSPRAM -| 000088 BBC5 > OUT PORTC,YL ; SET L ADDRESS FOR DSPRAM -| 000089 95C8 | LPM ; GET DATA FROM FLASH -| 00008A 2400 | CLR R0 ; TEMPORARY CLEAR KB -| 00008B > RAMWRX R0 ; WRITE DATA TO DSPRAM -| 00008B BA0B > OUT PORTA,R0 -| 00008C 98C1 > CBI PORTB,1 -| 00008D 98C0 > CBI PORTB,0 -| 00008E 0000 > NOP -| 00008F 9AC0 > SBI PORTB,0 -| 000090 9AC1 > SBI PORTB,1 -| 000091 95AA | DEC XL -| 000092 F041 | BREQ RTNCDE_END ; CHECK IF ALL DONE -| 000093 9631 | ADIW ZL,$01 ; INC FLASH ADDRESS -| 000094 95C3 | INC YL ; INC ADDRESS L FOR DSPRAM -| 000095 2F1C | MOV A,YL ; -| 000096 731F | ANDI A,$3F ;YL,$3F -| 000097 F781 | BRNE CDE1 -| 000098 54C0 | SUBI YL,$40 ; -| 000099 95D3 | INC YH ; INC ADDRESS H (ON L ROLLOVER) -| 00009A CFE8 | RJMP CDE0 -| | RTNCDE_END: -| | -| | ; INITIALISE DEFAULT CHARACTER SET -| 00009B E310 | LDI A,'0' -| 00009C D2D9 | RCALL CHARACTER_SET_FIND ; B:Y -> CHARACTER SET -| 00009D 93CF | PUSH YL -| 00009E 93DF | PUSH YH -| 00009F D2E4 | RCALL CHARACTER_SET_CRC ; Y = CALCULATED CRC WORD -| 0000A0 91BF | POP XH -| 0000A1 91AF | POP XL -| | -| 0000A2 D55F | RCALL GO_READ_BYTE -| 0000A3 2F21 | MOV B,A -| 0000A4 2F1D | MOV A,YH -| 0000A5 9512 | SWAP A -| 0000A6 D333 | RCALL HEX_NIBBLE -| 0000A7 1712 | CP A,B -| 0000A8 F4B1 | BRNE CHARACTER_SET_INIT -| 0000A9 9611 | ADIW XL,1 -| | -| 0000AA D557 | RCALL GO_READ_BYTE -| 0000AB 2F21 | MOV B,A -| 0000AC 2F1D | MOV A,YH -| 0000AD D32C | RCALL HEX_NIBBLE -| 0000AE 1712 | CP A,B -| 0000AF F479 | BRNE CHARACTER_SET_INIT -| 0000B0 9611 | ADIW XL,1 -| | -| 0000B1 D550 | RCALL GO_READ_BYTE -| 0000B2 2F21 | MOV B,A -| 0000B3 2F1C | MOV A,YL -| 0000B4 9512 | SWAP A -| 0000B5 D324 | RCALL HEX_NIBBLE -| 0000B6 1712 | CP A,B -| 0000B7 F439 | BRNE CHARACTER_SET_INIT -| 0000B8 9611 | ADIW XL,1 -| | -| 0000B9 D548 | RCALL GO_READ_BYTE -| 0000BA 2F21 | MOV B,A -| 0000BB 2F1C | MOV A,YL -| 0000BC D31D | RCALL HEX_NIBBLE -| 0000BD 1712 | CP A,B -| 0000BE F109 | BREQ CHARACTER_SET_INIT_DONE -| | -| | CHARACTER_SET_INIT: -| | ;LDIZ CHSET00 ; POINT Z TO FLASH -| 0000BF EEE4 | LDI ZL,LOW((CHSET00)*2) ; USE PRIOR TO LPM INSTRUCTION -| 0000C0 E1F9 | LDI ZH,HIGH((CHSET00)*2) ; EXTRA BRACKETS NEEDED IF @0=EXPRESSION -| | -| | ;LDIX CHSET00_END-CHSET00 ; BYTE COUNTER -| 0000C1 E6A6 | LDI XL,LOW((CHSET00_END-CHSET00)*2) ; USE AS BYTE COUNTER -| 0000C2 E0B3 | LDI XH,HIGH((CHSET00_END-CHSET00)*2) ; EXTRA BRACKETS NEEDED IF @0=EXPRESSION -| | -| 0000C3 > LDIYADR CHSET_DSPRAM ; POINT Y TO DSPRAM & SET XPAGE -| 0000C3 E1D9 > LDI YH,HIGH(CHSET_DSPRAM>>6) -| 0000C4 93D0 011A > STS XPAGE,YH -| 0000C6 D0C2 > RCALL ADRYP ; AND SET XPAGE -| 0000C7 E0D0 > LDI YH,HIGH(CHSET_DSPRAM<<2) -| 0000C8 E4C0 > LDI YL,(LOW(CHSET_DSPRAM) & $3F) | (HIGH(CHSET_DSPRAM) & $C0) -| 0000C9 > CHST0: ADRH YH ; SET ADDRESS H FOR DSPRAM -| 0000C9 BBDB > OUT PORTA,YH ; SET H ADDRESS FOR DSPRAM -| 0000CA 9AC3 > SBI PORTB,3 -| 0000CB 98C3 > CBI PORTB,3 -| 0000CC 93D0 0118 > STS LATCH11_SAV,YH ; IS THIS NEEDED? -| 0000CE > CHST1: ADRL YL ; SET ADDRESS L FOR DSPRAM -| 0000CE BBC5 > OUT PORTC,YL ; SET L ADDRESS FOR DSPRAM -| 0000CF 95C8 | LPM ; GET DATA FROM FLASH -| 0000D0 > RAMWRX R0 ; WRITE DATA TO DSPRAM -| 0000D0 BA0B > OUT PORTA,R0 -| 0000D1 98C1 > CBI PORTB,1 -| 0000D2 98C0 > CBI PORTB,0 -| 0000D3 0000 > NOP -| 0000D4 9AC0 > SBI PORTB,0 -| 0000D5 9AC1 > SBI PORTB,1 -| 0000D6 9711 | SBIW XL,1 -| 0000D7 F041 | BREQ CHARACTER_SET_INIT_DONE ; CHECK IF ALL DONE -| 0000D8 9631 | ADIW ZL,$01 ; INC FLASH ADDRESS -| 0000D9 95C3 | INC YL ; INC ADDRESS L FOR DSPRAM -| 0000DA 2F1C | MOV A,YL ; -| 0000DB 731F | ANDI A,$3F ;YL,$3F -| 0000DC F789 | BRNE CHST1 -| 0000DD 54C0 | SUBI YL,$40 ; -| 0000DE 95D3 | INC YH ; INC ADDRESS H (ON L ROLLOVER) -| 0000DF CFE9 | RJMP CHST0 -| | -| | CHARACTER_SET_INIT_DONE: -| 0000E0 E120 | LDI B,LOW(CHSET_DSPRAM+$10) ; SET POINTER TO HEADER -| 0000E1 9320 0103 | STS PTR,B -| 0000E3 E420 | LDI B,HIGH(CHSET_DSPRAM+$10) ;<<2 -| 0000E4 9320 0104 | STS PTR+1,B -| 0000E6 E129 | LDI B,HIGH((CHSET_DSPRAM+$10)>>6) -| 0000E7 9320 0105 | STS PTR+2,B -| | -| | ; CLEAR REFRESH BUFFER TO AVOID A BRIEF FLICKER -| 0000E9 E0C0 | LDI YL,LOW(DRAW_DSPRAM) -| 0000EA E2D0 | LDI YH,HIGH(DRAW_DSPRAM) -| 0000EB E118 | LDI A,HIGH(DRAW_DSPRAM>>6) -| 0000EC D518 | RCALL GO_SELECT_XPAGE -| | -| 0000ED E820 | LDI B,DISPLAY_LINES ; B = LINES TO CLEAR -| | -| | CLEAR_REFRESH: -| 0000EE 932F | PUSH B -| 0000EF 93CF | PUSH YL -| 0000F0 93DF | PUSH YH -| | -| 0000F1 E220 | LDI B,32 -| 0000F2 D511 | RCALL GO_CLEAR_BYTES ; 240 PIXELS, PLUS 16 FOR SAMSUNG -| | -| 0000F3 9626 | ADIW YL,6 -| 0000F4 E022 | LDI B,2 -| 0000F5 D50E | RCALL GO_CLEAR_BYTES ; REPEAT FINAL 16 PIXELS FOR HYUNDAI -| | -| 0000F6 91DF | POP YH -| 0000F7 91CF | POP YL -| 0000F8 912F | POP B -| 0000F9 5CC0 | SUBI YL,LOW(-$40) -| 0000FA 4FDF | SBCI YH,HIGH(-$40) -| | -| 0000FB 952A | DEC B -| 0000FC F789 | BRNE CLEAR_REFRESH -| | -| 0000FD D6B4 | RCALL CLEAR_DISPLAY ; CLEARS DISPLAY AND HOMES CURSOR -| | -| 0000FE E010 | LDI A,0 -| 0000FF 9310 0111 | STS BUZZ_PERIOD,A ; HIGHEST FREQUENCY -| 000101 E316 | LDI A,54 ;$40 -| 000102 9310 0110 | STS BUZZ_TIME,A ; SHORT BEEP ON STARTUP -| | -| 000104 E010 | LDI A,0 -| 000105 9310 0168 | STS SCAN_STATE,A ; START ON FIRST LED / PHOTODIODE PAIR -| | -| 000107 E010 | LDI A,0 -| 000108 9310 014C | STS CLOCKING_PTR,A -| 00010A 9310 014D | STS CLOCKING_PTR+1,A ; INITIALISE CURRENT LINE FOR CLOCKING -| | -| 00010C EF1E | LDI A,HIGH(VEE_INIT) -| 00010D 9310 010D | STS VEEH,A -| 00010F EA1C | LDI A,LOW(VEE_INIT) -| 000110 9310 010C | STS VEEL,A ; INIT MEASURED VEE -| | -| 000112 E022 | LDI B,EE_CONTRAST ; 20mar03 tavrasm *2 -| 000113 D220 | RCALL EE_READ -| 000114 7F1C | ANDI A,~(CONTRAST_STEP-1) -| 000115 9310 010E | STS CONTRASTL,A -| 000117 E023 | LDI B,EE_CONTRAST+1 ; 20mar03 tavrasm *2+1 -| 000118 D21B | RCALL EE_READ -| 000119 9310 010F | STS CONTRASTH,A -| | -| 00011B 9110 010E | LDS A,CONTRASTL -| 00011D 9120 010F | LDS B,CONTRASTH -| | -| 00011F 331A | CPI A,LOW(CONTRAST_MIN) -| 000120 EF0D | LDI F,HIGH(CONTRAST_MIN) -| 000121 0720 | CPC B,F -| 000122 F020 | BRLO CONTRAST_RESET -| | -| 000123 3B1C | CPI A,LOW(CONTRAST_MAX) -| 000124 EF0D | LDI F,HIGH(CONTRAST_MAX) -| 000125 0720 | CPC B,F -| 000126 F030 | BRLO CONTRAST_PRESERVE -| | -| | CONTRAST_RESET: -| 000127 EF1D | LDI A,HIGH(CONTRAST_INIT) -| 000128 9310 010F | STS CONTRASTH,A -| 00012A E810 | LDI A,LOW(CONTRAST_INIT) -| 00012B 9310 010E | STS CONTRASTL,A ; INIT REQUESTED CONTRAST -| | -| | CONTRAST_PRESERVE: -| 00012D EF1F | LDI A,HIGH(CONTRAST_MID) -| 00012E BD19 | OUT OCR1BH,A -| 00012F E318 | LDI A,LOW(CONTRAST_MID) -| 000130 BD18 | OUT OCR1BL,A ; INIT GENERATOR PULSE WIDTH -| | -| 000131 EF1C | LDI A,HIGH(T1_INIT) -| 000132 BD1D | OUT TCNT1H,A -| 000133 EC1E | LDI A,LOW(T1_INIT) -| 000134 BD1C | OUT TCNT1L,A -| | -| 000135 E510 | LDI A,$50 -| 000136 BD1F | OUT TCCR1A,A ; TIMER 1 TOGGLE ON COMPARE MATCH -| 000137 E011 | LDI A,$01 -| 000138 BD1E | OUT TCCR1B,A ; TIMER 1 RUNNING -| | -| 000139 E000 | LDI F,$00 -| 00013A BF03 | OUT TCCR0,F ; TIMER 0 NOT RUNNING YET -| | -| 00013B E005 | LDI F,$05 -| 00013C BF08 | OUT TIFR,F ; RESET TIMER 0, 1 INTERRUPT FLAGS -| 00013D E405 | LDI F,$45 -| 00013E BF09 | OUT TIMSK,F ; TURN ON TIMER 0, 1, 2 INTERRUPTS -| | -| 00013F E00A | LDI F,$0A -| 000140 BF05 | OUT MCUCR,F ; SET EXTERNAL INTERRUPT 0, 1 SENSE -| 000141 EC00 | LDI F,$C0 -| 000142 BF0A | OUT GIFR,F ; RESET EXTERNAL INTERRUPT 0, 1 FLAGS -| 000143 BF0B | OUT GIMSK,F ; TURN ON EXTERNAL INTERRUPT 0, 1 -| | -| | ;RCALL HELLO_DISPLAY ; SHOW EXAMPLE DISPLAY -| | -| | ;RCALL CLEAR_DISPLAY ; CLEARS DISPLAY AND HOMES CURSOR -| 000144 C29E | RJMP SAVE_ENTRY ; IN CASE STATE INADVERTENTLY RESTORED -| | -| | ; ----------------------------------------------------------------------------- -| | -| | SLEEP_ENTRY: -| 000145 E002 | LDI F,HIGH(RAMEND) ; INIT STACK POINTER -| 000146 BF0E | OUT SPH,F -| 000147 E50F | LDI F,LOW(RAMEND) -| 000148 BF0D | OUT SPL,F -| | -| 000149 E050 | LDI D,$00 -| 00014A BD5F | OUT TCCR1A,D ; DISCONNECT PWM FROM OC1A, OC1B -| | ;SBRS FLAGS,6 ; IF WE TURNED OFF VIA BREAK DETECT, -| 00014B BD5E | OUT TCCR1B,D ; STOP TIMER 1 ALTOGETHER -| | -| 00014C 9A94 | SBI PORTD,4 ; TURN TRANSISTOR OFF -| 00014D 9895 | CBI PORTD,5 ; DROP CL2 -| | -| 00014E 9150 0117 | LDS D,LATCH10_SAV -| 000150 7B5F | ANDI D,$BF ; DROP M -| 000151 BB5B | OUT PORTA,D -| 000152 9AC4 | SBI PORTB,4 -| 000153 98C4 | CBI PORTB,4 -| 000154 9350 0117 | STS LATCH10_SAV,D -| | -| 000156 E754 | LDI D,$74 ; BIT 6 = 1 VDD ON, BIT 7 = 0 LCD OFF -| 000157 FEB6 | SBRS FLAGS,6 ; IF WE TURNED OFF VIA BREAK DETECT, -| 000158 E354 | LDI D,$34 ; BIT 6 = 0 VDD OFF, BIT 7 = 0 LCD OFF -| 000159 9350 0169 | STS LATCH5_SAV,D -| 00015B > PHOTO D -| 00015B BB5B > OUT PORTA,D ; SELECT PHOTODIODE CHANNEL -| 00015C 9150 0119 > LDS D,LATCH12_SAV -| 00015E BB55 > OUT PORTC,D -| 00015F 9AA8 > SBI PORTC,0 -| 000160 9AC2 > SBI PORTB,2 ; THIS WILL PROVIDE LE=1 -| 000161 98C2 > CBI PORTB,2 ; THIS WILL PROVIDE G=0 -| 000162 98A8 > CBI PORTC,0 -| 000163 9AC2 > SBI PORTB,2 ; THIS WILL PROVIDE LE=1 -| 000164 98C2 > CBI PORTB,2 ; THIS WILL PROVIDE G=0 -| | -| 000165 E451 | LDI D,$41 -| 000166 BF59 | OUT TIMSK,D ; DISABLE TIMER 1 INTERRUPTS -| | -| 000167 E050 | LDI D,0 -| 000168 BF53 | OUT TCCR0,D ; DISABLE TIMER 0 TEMPORARILY ONLY -| 000169 BF5B | OUT GIMSK,D ; DISABLE THERMISTOR INTERRUPTS -| | -| 00016A E004 | LDI F,4 -| 00016B 9300 016A | STS TURNON_COUNT,F ; .25 SEC TO BREAK, .75 SEC TO MAKE -| | -| 00016D > INIT_API_BUS ; RESET UART TO RECEIVE TURNON COMMAND -| 00016D E51F > LDI A,API_RATE_SLOW ; 4800 BPS -| 00016E B919 > OUT UBRR,A ; SET UART RATE -| > -| 00016F E910 > LDI A,$90 ; ENABLE RX WITH INTERRUPTS -| 000170 B91A > OUT UCR,A -| > ;SBI UCR,TXEN ; TX ENABLE -| > -| 000171 2444 > CLR TX_PTR -| 000172 2455 > CLR TX_COUNT -| > -| 000173 2422 > CLR RX_PTR -| 000174 2433 > CLR RX_COUNT -| > -| 000175 24EE > CLR API_STATE -| 000176 2466 > CLR API_REMAIN -| 000177 24CC > CLR API_WATCHDOG -| | -| | SLEEP_LOOP: -| 000178 94F8 | CLI -| 000179 B703 | IN F,TCCR0 -| 00017A 2300 | TST F -| 00017B E40A | LDI F,$4A ; SE=1 SM1:SM0=00 FOR IDLE MODE -| 00017C F411 | BRNE SLEEP_SETUP ; TIMER 0 RUNNING, STAY IN IDLE MODE -| 00017D 9B80 | SBIS PIND,0 ; BREAK OFF, UART ACTIVE, STAY IN IDLE -| 00017E E70A | LDI F,$7A ; SE=1 SM1:SM0=11 FOR POWER SAVE MODE -| | SLEEP_SETUP: -| 00017F BF05 | OUT MCUCR,F -| 000180 9478 | SEI -| 000181 9588 | SLEEP -| | -| | ; FORMERLY DONE IN TIMER 2 OVERFLOW INTERRUPT -| 000182 95A8 | WDR -| | -| 000183 9100 016A | LDS F,TURNON_COUNT -| 000185 2300 | TST F ; HAD TOUCHSCREEN ACTIVITY FOR TIMEOUT? -| | ;SBRS FLAGS,6 ; IF WE TURNED OFF VIA BREAK DETECT, -| | ;SBIS PIND,0 ; AND BREAK HAS DISAPPEARED, WAKE UP -| 000186 F789 | BRNE SLEEP_LOOP ; NO, GO BACK TO SLEEP -| | -| 000187 94F8 | CLI -| 000188 CEA3 | RJMP RESTART_ENTRY ; GO AND CLEAR DISPLAY ETC -| | -| | ; ----------------------------------------------------------------------------- -| | -| 000189 91D0 011A | ADRYP: LDS YH,XPAGE ; SET XPAGE ADDRESS FOR DSPRAM -| 00018B 91C0 0117 | LDS YL,LATCH10_SAV -| 00018D 7EC0 | ANDI YL,$E0 -| 00018E 2BDC | OR YH,YL -| 00018F BBDB | OUT PORTA,YH -| 000190 9AC4 | SBI PORTB,4 -| 000191 98C4 | CBI PORTB,4 -| 000192 93D0 0117 | STS LATCH10_SAV,YH -| 000194 9508 | RET -| | -| | ;INCADRY: -| | ; CLR YL -| | ; INC YH -| | ; BRNE INCRET -| | ; LDS YH,XPAGE -| | ; INC YH -| | ; ANDI YH,$1F -| | ; STS XPAGE,YH -| | ; CLR YH -| | ;INCRET: RET -| | -| | ; ----------------------------------------------------------------------------- -| | -| | ;HELLO_DISPLAY: -| | ; LDI A,0 -| | ; STS RECTNC_X,A -| | ; STS RECTNC_Y,A -| | ; STS RECTNC_XX,A -| | ; LDI A,$80 -| | ; STS RECTNC_YY,A -| | ; RCALL DRAW_RECTNC -| | ; -| | ; LDI A,16 -| | ; STS CHAR_X,A -| | ; STS CHAR_Y,A -| | ; LDI B,5 -| | ; LDI ZL,LOW(HELLO_MESSAGE*2) -| | ; LDI ZH,HIGH(HELLO_MESSAGE*2) -| | ; RCALL STRING_DRAW -| | ; -| | ; LDI A,240 -| | ; STS CHAR_X,A -| | ; LDI B,5 -| | ; LDI ZL,LOW(HELLO_MESSAGE*2) -| | ; LDI ZH,HIGH(HELLO_MESSAGE*2) -| | ; -| | ;STRING_RIGHT_JUST: -| | ; PUSH B -| | ; PUSH ZL -| | ; PUSH ZH -| | ; RCALL STRING_WIDTH -| | ; POP ZH -| | ; POP ZL -| | ; POP B -| | ; LDS A,CHAR_X -| | ; SUB A,R0 -| | ; STS CHAR_X,A -| | ; -| | ;STRING_DRAW: -| | ; PUSH B -| | ; LPM -| | ; MOV A,R0 -| | ; ADIW ZL,1 -| | ; PUSH ZL -| | ; PUSH ZH -| | ; RCALL FIND_CHAR -| | ; RCALL CHAR_WIDTH -| | ; PUSH R0 -| | ; RCALL DRAW_CHAR -| | ; POP R0 -| | ; POP ZH -| | ; POP ZL -| | ; LDS A,CHAR_X -| | ; ADD A,R0 -| | ; STS CHAR_X,A -| | ; POP B -| | ; DEC B -| | ; BRNE STRING_DRAW -| | ; RET -| | ; -| | ;STRING_WIDTH: -| | ; CLR R0 -| | ;STRING_WIDTH_LOOP: -| | ; PUSH B -| | ; PUSH R0 -| | ; LPM -| | ; MOV A,R0 -| | ; ADIW ZL,1 -| | ; PUSH ZL -| | ; PUSH ZH -| | ; RCALL FIND_CHAR -| | ; RCALL CHAR_WIDTH -| | ; POP ZH -| | ; POP ZL -| | ; POP A -| | ; ADD R0,A -| | ; POP B -| | ; DEC B -| | ; BRNE STRING_WIDTH_LOOP -| | ; RET -| | ; -| | ;HELLO_MESSAGE: .DB 'H','E','L','L','O',0 -| | -| | ; ----------------------------------------------------------------------------- -| | -| | MAIN_LOOP: -| 000195 9478 | SEI ; SHOULD BE BEFORE MAIN_LOOP -| | -| 000196 ED1F | LDI A,~(1< RJEQ BACK_SPACE -| 0001A3 F409 > BRNE LOCAL -| 0001A4 C107 > RJMP BACK_SPACE -| > LOCAL: -| | ;L0132: -| 0001A5 301D | CPI A,$0D -| 0001A6 > RJEQ CR -| 0001A6 F409 > BRNE LOCAL -| 0001A7 C11C > RJMP CR -| > LOCAL: -| | ;L0135: -| 0001A8 301A | CPI A,$0A -| 0001A9 F409 | BRNE TEST_BELL -| 0001AA C0C0 | RJMP LF -| | TEST_BELL: -| 0001AB 3017 | CPI A,7 -| 0001AC F741 | BRNE MAIN_LOOP -| | -| | REGULAR_CHAR: -| 0001AD FCB2 | SBRC FLAGS,2 ; CROSSED ZEROS ON? -| 0001AE C018 | RJMP L013B ; YES, DON'T BOTHER TESTING FOR ZERO -| 0001AF 3310 | CPI A,'0' -| 0001B0 F4B1 | BRNE L013B -| 0001B1 91C0 0103 | LDS YL,PTR -| 0001B3 91D0 0104 | LDS YH,PTR+1 -| 0001B5 9120 0105 | LDS B,PTR+2 -| 0001B7 5FCC | SUBI YL,LOW(-$204) -| 0001B8 4FDD | SBCI YH,HIGH(-$204) -| 0001B9 > A14_A18 B -| 0001B9 94F8 > CLI -| 0001BA 9130 0117 > LDS R19,LATCH10_SAV ; AND THIS -| 0001BC 2732 > EOR R19,B -| 0001BD 7E30 > ANDI R19,$E0 -| 0001BE 2732 > EOR R19,B -| 0001BF BB3B > OUT PORTA,R19 -| 0001C0 9AC4 > SBI PORTB,4 -| 0001C1 98C4 > CBI PORTB,4 -| 0001C2 9478 > SEI -| 0001C3 9330 0117 > STS LATCH10_SAV,R19 ; MUST BE ATOMIC DUE TO TOGGLING M -| 0001C5 D593 | RCALL LPMS -| 0001C6 2D10 | MOV A,R0 -| 0001C7 D2EC | L013B: RCALL DRAW_CHAR_TTY -| 0001C8 CFCC | RJMP MAIN_LOOP -| | -| | ESC_SEQUENCE: -| 0001C9 D2B4 | RCALL RX_WAIT -| 0001CA 311B | CPI A,$1B -| 0001CB F309 | BREQ REGULAR_CHAR -| 0001CC 321E | CPI A,'.' -| 0001CD > RJEQ CHARACTER_SET_DOWNLOAD -| 0001CD F409 > BRNE LOCAL -| 0001CE C17C > RJMP CHARACTER_SET_DOWNLOAD -| > LOCAL: -| 0001CF 321F | CPI A,'/' -| 0001D0 > RJEQ CROSSED_ZEROS -| 0001D0 F409 > BRNE LOCAL -| 0001D1 C052 > RJMP CROSSED_ZEROS -| > LOCAL: -| 0001D2 331F | CPI A,'?' -| 0001D3 > RJEQ CHARACTER_SET_QUERY -| 0001D3 F409 > BRNE LOCAL -| 0001D4 C191 > RJMP CHARACTER_SET_QUERY -| > LOCAL: -| 0001D5 3412 | CPI A,'B' -| 0001D6 > RJEQ BUZZER -| 0001D6 F409 > BRNE LOCAL -| 0001D7 C05E > RJMP BUZZER -| > LOCAL: -| 0001D8 3612 | CPI A,'b' -| 0001D9 > RJEQ BUZZ_AT_FREQ -| 0001D9 F409 > BRNE LOCAL -| 0001DA C05F > RJMP BUZZ_AT_FREQ -| > LOCAL: -| 0001DB 3413 | CPI A,'C' -| 0001DC > RJEQ CLEAR_RECTANGLE -| 0001DC F409 > BRNE LOCAL -| 0001DD C10B > RJMP CLEAR_RECTANGLE -| > LOCAL: -| 0001DE 3613 | CPI A,'c' -| 0001DF > RJEQ GET_CLEAR_FRAME_RECT_SIZE -| 0001DF F409 > BRNE LOCAL -| 0001E0 CCC4 > RJMP GET_CLEAR_FRAME_RECT_SIZE -| > LOCAL: -| 0001E1 3414 | CPI A,'D' -| 0001E2 > RJEQ DRAW_MODE -| 0001E2 F409 > BRNE LOCAL -| 0001E3 C0F2 > RJMP DRAW_MODE -| > LOCAL: -| 0001E4 3415 | CPI A,'E' -| 0001E5 > RJEQ ENABLE_CNTRL -| 0001E5 F409 > BRNE LOCAL -| 0001E6 C0DF > RJMP ENABLE_CNTRL -| > LOCAL: -| 0001E7 3416 | CPI A,'F' -| 0001E8 > RJEQ GET_FILLED_RECTNC_SIZE -| 0001E8 F409 > BRNE LOCAL -| 0001E9 C10F > RJMP GET_FILLED_RECTNC_SIZE -| > LOCAL: -| 0001EA 3616 | CPI A,'f' -| 0001EB > RJEQ GET_FRAME_RECT_SIZE -| 0001EB F409 > BRNE LOCAL -| 0001EC CCC4 > RJMP GET_FRAME_RECT_SIZE -| > LOCAL: -| 0001ED 3417 | CPI A,'G' -| 0001EE > RJEQ INTERPRET_MODE -| 0001EE F409 > BRNE LOCAL -| 0001EF C0A1 > RJMP INTERPRET_MODE -| > LOCAL: -| 0001F0 3418 | CPI A,'H' -| 0001F1 > RJEQ GET_HALFTONE_RECT_SIZE -| 0001F1 F409 > BRNE LOCAL -| 0001F2 CCD6 > RJMP GET_HALFTONE_RECT_SIZE -| > LOCAL: -| 0001F3 3618 | CPI A,'h' -| 0001F4 > RJEQ GET_CLEAR_HALFTONE_RECT_SIZE -| 0001F4 F409 > BRNE LOCAL -| 0001F5 CCC7 > RJMP GET_CLEAR_HALFTONE_RECT_SIZE -| > LOCAL: -| 0001F6 341B | CPI A,'K' -| 0001F7 > RJEQ CLR_DISP -| 0001F7 F409 > BRNE LOCAL -| 0001F8 C096 > RJMP CLR_DISP -| > LOCAL: -| 0001F9 341C | CPI A,'L' -| 0001FA > RJEQ GO_SCROLL_REGION -| 0001FA F409 > BRNE LOCAL -| 0001FB C40A > RJMP GO_SCROLL_REGION -| > LOCAL: -| 0001FC 341D | CPI A,'M' -| 0001FD > RJEQ MOSFET_CONTROL -| 0001FD F409 > BRNE LOCAL -| 0001FE C02E > RJMP MOSFET_CONTROL -| > LOCAL: -| 0001FF 341E | CPI A,'N' -| 000200 > RJEQ GET_RECTNC_SIZE -| 000200 F409 > BRNE LOCAL -| 000201 C103 > RJMP GET_RECTNC_SIZE -| > LOCAL: -| 000202 3510 | CPI A,'P' -| 000203 > RJEQ PROP_FIXED_MODE -| 000203 F409 > BRNE LOCAL -| 000204 C09A > RJMP PROP_FIXED_MODE -| > LOCAL: -| 000205 3512 | CPI A,'R' -| 000206 > RJEQ GET_RECT_SIZE -| 000206 F409 > BRNE LOCAL -| 000207 C0E3 > RJMP GET_RECT_SIZE -| > LOCAL: -| 000208 3513 | CPI A,'S' -| 000209 > RJEQ SET_CURSOR -| 000209 F409 > BRNE LOCAL -| 00020A C0D9 > RJMP SET_CURSOR -| > LOCAL: -| 00020B 3514 | CPI A,'T' -| 00020C > RJEQ SET_TIME -| 00020C F409 > BRNE LOCAL -| 00020D C040 > RJMP SET_TIME -| > LOCAL: -| 00020E 3515 | CPI A,'U' -| 00020F > RJEQ NULLSUB -| 00020F F409 > BRNE LOCAL -| 000210 C26B > RJMP NULLSUB -| > LOCAL: -| 000211 3516 | CPI A,'V' -| 000212 F419 | BRNE CONTRAST_CONTROL_SKIP -| 000213 E210 | LDI A,1< RJEQ NULLSUB -| 000217 F409 > BRNE LOCAL -| 000218 C263 > RJMP NULLSUB -| > LOCAL: -| 000219 3518 | CPI A,'X' -| 00021A > RJEQ SAVE_STATE -| 00021A F409 > BRNE LOCAL -| 00021B C1C4 > RJMP SAVE_STATE -| > LOCAL: -| 00021C 351A | CPI A,'Z' -| 00021D > RJEQ TOUCH_ZONE -| 00021D F409 > BRNE LOCAL -| 00021E C1EE > RJMP TOUCH_ZONE -| > LOCAL: -| 00021F 3310 | CPI A,'0' -| 000220 F010 | BRLO ESC_SEQUENCE_ABORT -| 000221 331A | CPI A,'9'+1 -| 000222 F110 | BRLO SET_CHSET_A -| | ESC_SEQUENCE_ABORT: -| 000223 CF71 | RJMP MAIN_LOOP -| | -| | CROSSED_ZEROS: -| 000224 D259 | RCALL RX_WAIT -| 000225 FF10 | SBRS A,0 -| 000226 C003 | RJMP CROSSED_ZEROS_OFF -| 000227 E014 | LDI A,1<<2 -| 000228 2AB1 | OR FLAGS,A -| 000229 CF6B | RJMP MAIN_LOOP -| | CROSSED_ZEROS_OFF: -| 00022A EF1B | LDI A,~(1<<2) -| 00022B 22B1 | AND FLAGS,A -| 00022C CF68 | RJMP MAIN_LOOP -| | -| | MOSFET_CONTROL: -| 00022D D250 | RCALL RX_WAIT -| 00022E 3310 | CPI A,$30 ; DO NOT TURN OFF BY ACCIDENT -| 00022F F429 | BRNE MOSFET_CONTROL_DONE -| 000230 94F8 | CLI -| 000231 E400 | LDI F,1<<6 -| 000232 2AB0 | OR FLAGS,F ; SAY WE TURNED OFF VIA COMMAND -| 000233 9A8A | SBI DDRD,2 ; D2 = LOW, VSWT OFF -| 000234 CF10 | RJMP SLEEP_ENTRY ; GO AND SHUT DOWN DISPLAY -| | MOSFET_CONTROL_DONE: -| 000235 CF5F | RJMP MAIN_LOOP -| | -| 000236 D247 | BUZZER: RCALL RX_WAIT -| 000237 931F | PUSH A -| 000238 E010 | LDI A,0 ; HIGHEST FREQUENCY -| 000239 C004 | RJMP BUZZ_AT_FREQ_A -| | -| | BUZZ_AT_FREQ: -| 00023A D243 | RCALL RX_WAIT -| 00023B 931F | PUSH A -| 00023C D241 | RCALL RX_WAIT -| 00023D 701F | ANDI A,$0F -| | BUZZ_AT_FREQ_A: -| 00023E 9310 0111 | STS BUZZ_PERIOD,A ; SAVE REQUESTED PERIOD -| 000240 911F | POP A -| 000241 9310 0110 | STS BUZZ_TIME,A ; SAVE REQUESTED DURATION -| 000243 CF51 | RJMP MAIN_LOOP -| | -| | SET_CHSET: -| 000244 D239 | RCALL RX_WAIT -| | SET_CHSET_A: -| 000245 D130 | RCALL CHARACTER_SET_FIND ; B:Y -> CHARACTER SET -| 000246 E1C0 | LDI YL,$10 -| 000247 93C0 0103 | STS PTR,YL -| 000249 93D0 0104 | STS PTR+1,YH -| 00024B 9320 0105 | STS PTR+2,B -| 00024D CF47 | RJMP MAIN_LOOP -| | -| | SET_TIME: -| 00024E E010 | LDI A,0 -| 00024F BD15 | OUT TCCR2,A ; STOP COUNTING WHILE SETTING CLOCK -| 000250 9310 015F | STS TIME_HSEC_64K,A -| 000252 9310 0160 | STS TIME_HSEC_256,A -| 000254 9310 0161 | STS TIME_HSEC,A -| 000256 D227 | RCALL RX_WAIT -| 000257 9310 0164 | STS TIME_HOUR,A -| 000259 D224 | RCALL RX_WAIT -| 00025A 9310 0163 | STS TIME_MINUTE,A -| 00025C D221 | RCALL RX_WAIT -| 00025D 9310 0162 | STS TIME_SECOND,A -| 00025F D21E | RCALL RX_WAIT -| 000260 9310 0166 | STS DATE_MONTH,A -| 000262 D21B | RCALL RX_WAIT -| 000263 9310 0165 | STS DATE_DAY,A -| 000265 D218 | RCALL RX_WAIT -| 000266 9310 0167 | STS DATE_YEAR,A -| 000268 E013 | LDI A,3 ; TIMER 2 DIVIDE BY 32 (4 HZ) -| | ;** LDI A,6 ; TIMER 2 DIVIDE BY 256 -| 000269 BD15 | OUT TCCR2,A -| 00026A CF2A | RJMP MAIN_LOOP -| | -| 00026B D001 | LF: RCALL LINE_FEED -| 00026C CF28 | RJMP MAIN_LOOP -| | -| | LINE_FEED: -| 00026D 920F | PUSH R0 -| 00026E 91C0 0103 | LDS YL,PTR -| 000270 91D0 0104 | LDS YH,PTR+1 -| 000272 9120 0105 | LDS B,PTR+2 -| 000274 5FDE | SUBI YH,$FE -| 000275 95C3 | INC YL -| 000276 > A14_A18 B -| 000276 94F8 > CLI -| 000277 9130 0117 > LDS R19,LATCH10_SAV ; AND THIS -| 000279 2732 > EOR R19,B -| 00027A 7E30 > ANDI R19,$E0 -| 00027B 2732 > EOR R19,B -| 00027C BB3B > OUT PORTA,R19 -| 00027D 9AC4 > SBI PORTB,4 -| 00027E 98C4 > CBI PORTB,4 -| 00027F 9478 > SEI -| 000280 9330 0117 > STS LATCH10_SAV,R19 ; MUST BE ATOMIC DUE TO TOGGLING M -| 000282 D4D6 | RCALL LPMS -| 000283 2F18 | MOV A,CURSORY -| 000284 0D10 | ADD A,R0 -| 000285 0D10 | ADD A,R0 -| 000286 951A | DEC A -| 000287 3810 | CPI A,DISPLAY_LINES -| 000288 F018 | BRLO INC_CURSORY -| 000289 D0C0 | RCALL GO_SCROLL -| 00028A 900F | POP R0 -| 00028B 9508 | RET -| | -| | INC_CURSORY: -| 00028C 0D80 | ADD CURSORY,R0 -| 00028D 900F | POP R0 -| 00028E 9508 | RET -| | -| | CLR_DISP: -| 00028F D522 | RCALL CLEAR_DISPLAY ; CLEARS DISPLAY AND HOMES CURSOR -| 000290 CF04 | RJMP MAIN_LOOP -| | -| | INTERPRET_MODE: -| 000291 D1EC | RCALL RX_WAIT -| 000292 3310 | CPI A,$30 -| 000293 F409 | BRNE TEXT_MODE -| 000294 C004 | RJMP L01A4 -| | TEXT_MODE: -| 000295 3311 | CPI A,$31 -| 000296 > RJEQ GRAPHICS_MODE -| 000296 F409 > BRNE LOCAL -| 000297 C004 > RJMP GRAPHICS_MODE -| > LOCAL: -| | ;L01A3: -| 000298 CEFC | RJMP MAIN_LOOP -| | -| 000299 EF07 | L01A4: LDI F,$F7 -| 00029A 22B0 | AND FLAGS,F -| 00029B CEF9 | RJMP MAIN_LOOP -| | -| | GRAPHICS_MODE: -| 00029C E008 | LDI F,$08 -| 00029D 2AB0 | OR FLAGS,F -| 00029E CEF6 | RJMP MAIN_LOOP -| | -| | PROP_FIXED_MODE: -| 00029F D1DE | RCALL RX_WAIT -| 0002A0 3310 | CPI A,$30 -| 0002A1 > RJEQ FIXED -| 0002A1 F409 > BRNE LOCAL -| 0002A2 C003 > RJMP FIXED -| > LOCAL: -| | ;L01AE: -| 0002A3 3311 | CPI A,$31 -| 0002A4 > RJEQ PROPORTIONAL -| 0002A4 F409 > BRNE LOCAL -| 0002A5 C003 > RJMP PROPORTIONAL -| > LOCAL: -| | L01B1: -| | ; RJMP MAIN_LOOP -| | -| 0002A6 EE0F | FIXED: LDI F,$EF -| 0002A7 22B0 | AND FLAGS,F -| 0002A8 CEEC | RJMP MAIN_LOOP -| | -| | PROPORTIONAL: -| 0002A9 E100 | LDI F,$10 -| 0002AA 2AB0 | OR FLAGS,F -| 0002AB CEE9 | RJMP MAIN_LOOP -| | -| | BACK_SPACE: -| 0002AC 91C0 0103 | LDS YL,PTR -| 0002AE 91D0 0104 | LDS YH,PTR+1 -| 0002B0 9120 0105 | LDS B,PTR+2 -| 0002B2 5FDE | SUBI YH,$FE -| 0002B3 > A14_A18 B -| 0002B3 94F8 > CLI -| 0002B4 9130 0117 > LDS R19,LATCH10_SAV ; AND THIS -| 0002B6 2732 > EOR R19,B -| 0002B7 7E30 > ANDI R19,$E0 -| 0002B8 2732 > EOR R19,B -| 0002B9 BB3B > OUT PORTA,R19 -| 0002BA 9AC4 > SBI PORTB,4 -| 0002BB 98C4 > CBI PORTB,4 -| 0002BC 9478 > SEI -| 0002BD 9330 0117 > STS LATCH10_SAV,R19 ; MUST BE ATOMIC DUE TO TOGGLING M -| 0002BF D499 | RCALL LPMS -| 0002C0 1970 | SUB CURSORX,R0 -| 0002C1 B71F | IN A,SREG -| 0002C2 FF12 | SBRS A,2 -| 0002C3 CED1 | RJMP MAIN_LOOP -| | -| 0002C4 2777 | CR: CLR CURSORX -| 0002C5 CECF | RJMP MAIN_LOOP -| | -| | ENABLE_CNTRL: -| 0002C6 D1B7 | RCALL RX_WAIT -| 0002C7 FD11 | SBRC A,1 -| 0002C8 C007 | RJMP ENABLE_UPDATE -| 0002C9 FD10 | SBRC A,0 -| 0002CA C003 | RJMP ENABLE_ON -| | ;ENABLE_OFF: -| 0002CB ED0F | LDI F,$DF -| 0002CC 22B0 | AND FLAGS,F -| 0002CD CEC7 | RJMP MAIN_LOOP -| | ENABLE_ON: -| 0002CE E200 | LDI F,$20 -| 0002CF 2AB0 | OR FLAGS,F -| | ENABLE_UPDATE: -| 0002D0 2700 | CLR F -| 0002D1 9300 013B | STS LINE_COUNT,F ; START UPDATE AT TOP OF SCREEN -| | ENABLE_LOOP: -| 0002D3 D2EA | RCALL NICK_SUB2 ; IMMEDIATE UPDATE OF ENTIRE SCREEN -| 0002D4 F7F1 | BRNE ENABLE_LOOP -| 0002D5 CEBF | RJMP MAIN_LOOP -| | -| | DRAW_MODE: -| 0002D6 D1A7 | RCALL RX_WAIT -| 0002D7 3310 | CPI A,$30 -| 0002D8 > RJEQ XOR_MODE -| 0002D8 F409 > BRNE LOCAL -| 0002D9 C004 > RJMP XOR_MODE -| > LOCAL: -| | ;L01D3: -| 0002DA 3311 | CPI A,$31 -| 0002DB > RJEQ OR_MODE -| 0002DB F409 > BRNE LOCAL -| 0002DC C004 > RJMP OR_MODE -| > LOCAL: -| | ;L01D6: -| 0002DD CEB7 | RJMP MAIN_LOOP -| | -| | XOR_MODE: -| 0002DE EF0E | LDI F,$FE -| 0002DF 22B0 | AND FLAGS,F -| 0002E0 CEB4 | RJMP MAIN_LOOP -| | -| | OR_MODE: -| 0002E1 E001 | LDI F,$01 -| 0002E2 2AB0 | OR FLAGS,F -| 0002E3 CEB1 | RJMP MAIN_LOOP -| | -| | SET_CURSOR: -| 0002E4 D199 | RCALL RX_WAIT -| 0002E5 2F71 | MOV CURSORX,A -| 0002E6 D197 | GET_Y: RCALL RX_WAIT -| 0002E7 2F81 | MOV CURSORY,A -| 0002E8 CEAC | RJMP MAIN_LOOP -| | -| | CLEAR_RECTANGLE: -| 0002E9 E002 | LDI F,$02 -| 0002EA 2AB0 | OR FLAGS,F -| | -| | GET_RECT_SIZE: -| 0002EB 9370 0152 | STS RECT_X,CURSORX -| 0002ED 9380 0153 | STS RECT_Y,CURSORY -| 0002EF D18E | RCALL RX_WAIT -| 0002F0 9310 0154 | STS RECT_XX,A -| 0002F2 D18B | RCALL RX_WAIT -| 0002F3 9310 0155 | STS RECT_YY,A -| 0002F5 D317 | RCALL DRAW_RECT -| 0002F6 EF0D | LDI F,$FD -| 0002F7 22B0 | AND FLAGS,F -| 0002F8 CE9C | RJMP MAIN_LOOP -| | -| | GET_FILLED_RECTNC_SIZE: -| 0002F9 9370 0156 | STS RECTNC_X,CURSORX -| 0002FB 9380 0157 | STS RECTNC_Y,CURSORY -| 0002FD D180 | RCALL RX_WAIT -| 0002FE 9310 0158 | STS RECTNC_XX,A -| 000300 D17D | RCALL RX_WAIT -| 000301 9310 0159 | STS RECTNC_YY,A -| 000303 D35E | RCALL FILLED_RECTNC -| 000304 CE90 | RJMP MAIN_LOOP -| | -| | GET_RECTNC_SIZE: -| 000305 9370 0156 | STS RECTNC_X,CURSORX -| 000307 9380 0157 | STS RECTNC_Y,CURSORY -| 000309 D174 | RCALL RX_WAIT -| 00030A 9310 0158 | STS RECTNC_XX,A -| 00030C D171 | RCALL RX_WAIT -| 00030D 9310 0159 | STS RECTNC_YY,A -| 00030F D377 | RCALL DRAW_RECTNC -| 000310 CE84 | RJMP MAIN_LOOP -| | -| | CONTRAST_CONTROL: -| 000311 D16C | RCALL RX_WAIT -| | -| 000312 FF10 | SBRS A,0 -| 000313 C00B | RJMP CONTRAST_DARKER -| | -| | ;CONTRAST_LIGHTER: -| 000314 9110 010E | LDS A,CONTRASTL -| 000316 9120 010F | LDS B,CONTRASTH -| 000318 5F1C | SUBI A,LOW(-CONTRAST_STEP) -| 000319 4F2F | SBCI B,HIGH(-CONTRAST_STEP) -| | -| 00031A 3B1C | CPI A,LOW(CONTRAST_MAX) -| 00031B EF0D | LDI F,HIGH(CONTRAST_MAX) -| 00031C 0720 | CPC B,F -| 00031D F4A8 | BRSH CONTRAST_DONE -| 00031E C00A | RJMP CONTRAST_WRITE -| | -| | CONTRAST_DARKER: -| 00031F 9110 010E | LDS A,CONTRASTL -| 000321 9120 010F | LDS B,CONTRASTH -| 000323 5014 | SUBI A,LOW(CONTRAST_STEP) -| 000324 4020 | SBCI B,HIGH(CONTRAST_STEP) -| | -| 000325 331A | CPI A,LOW(CONTRAST_MIN) -| 000326 EF0D | LDI F,HIGH(CONTRAST_MIN) -| 000327 0720 | CPC B,F -| 000328 F050 | BRLO CONTRAST_DONE -| | -| | CONTRAST_WRITE: -| 000329 9310 010E | STS CONTRASTL,A -| 00032B 9320 010F | STS CONTRASTH,B -| | -| 00032D E022 | LDI B,EE_CONTRAST ; 20mar03 tavrasm *2 -| 00032E D00D | RCALL EE_WRITE -| 00032F 9110 010F | LDS A,CONTRASTH -| 000331 E023 | LDI B,EE_CONTRAST+1 ; 20mar03 tavrasm *2+1 -| 000332 D009 | RCALL EE_WRITE -| | -| | CONTRAST_DONE: -| 000333 CE61 | RJMP MAIN_LOOP -| | -| | EE_READ: -| 000334 99E1 | SBIC EECR,EEWE -| 000335 CFFE | RJMP EE_READ ; WAIT UNTIL EEPROM BECOMES READY -| | -| 000336 BB2E | OUT EEARL,B -| 000337 2722 | CLR B -| 000338 BB2F | OUT EEARH,B ; ASSUME EEPROM ADDRESSES < $100 -| 000339 9AE0 | SBI EECR,EERE ; READ DATA BYTE -| 00033A B31D | IN A,EEDR ; GET LATCHED DATA BYTE -| 00033B 9508 | RET -| | -| | EE_WRITE: -| 00033C 99E1 | SBIC EECR,EEWE -| 00033D CFFE | RJMP EE_WRITE ; WAIT FOR EEPROM TO BECOME READY -| | -| 00033E FEE5 | SBRS API_STATE,EEWR_ENABLE -| | EE_WRITE_HALT0: -| 00033F CFFF | RJMP EE_WRITE_HALT0 ; HALT PROCESSOR IF EE WRITING DISABLED -| | -| 000340 BB2E | OUT EEARL,B -| 000341 2722 | CLR B -| 000342 BB2F | OUT EEARH,B ; ASSUME EEPROM ADDRESSES < $100 -| 000343 BB1D | OUT EEDR,A ; LATCH NEW VALUE -| | -| 000344 94F8 | CLI -| 000345 FEE5 | SBRS API_STATE,EEWR_ENABLE -| | EE_WRITE_HALT1: -| 000346 CFFF | RJMP EE_WRITE_HALT1 ; HALT PROCESSOR IF EE WRITING DISABLED -| | -| 000347 9AE2 | SBI EECR,EEMWE ; MASTER WRITE ENABLE -| 000348 9AE1 | SBI EECR,EEWE ; START WRITING NEW VALUE -| 000349 9518 | RETI -| | -| | GO_SCROLL: -| 00034A C736 | RJMP SCROLL -| | -| | CHARACTER_SET_DOWNLOAD: -| 00034B D132 | RCALL RX_WAIT -| 00034C D029 | RCALL CHARACTER_SET_FIND ; B:Y -> CHARACTER SET -| | -| 00034D D130 | RCALL RX_WAIT -| 00034E 2FA1 | MOV XL,A -| 00034F D12E | RCALL RX_WAIT -| 000350 2FB1 | MOV XH,A -| | -| | CHARACTER_SET_DOWNLOAD_LOOP: -| 000351 D12C | RCALL RX_WAIT -| | -| 000352 > A14_A18 B -| 000352 94F8 > CLI -| 000353 9130 0117 > LDS R19,LATCH10_SAV ; AND THIS -| 000355 2732 > EOR R19,B -| 000356 7E30 > ANDI R19,$E0 -| 000357 2732 > EOR R19,B -| 000358 BB3B > OUT PORTA,R19 -| 000359 9AC4 > SBI PORTB,4 -| 00035A 98C4 > CBI PORTB,4 -| 00035B 9478 > SEI -| 00035C 9330 0117 > STS LATCH10_SAV,R19 ; MUST BE ATOMIC DUE TO TOGGLING M -| 00035E D2A4 | RCALL GO_WRITE_BYTE -| | -| 00035F 9621 | ADIW YL,1 -| 000360 9711 | SBIW XL,1 -| 000361 2F1A | MOV A,XL -| 000362 2B1B | OR A,XH -| 000363 > RJNE CHARACTER_SET_DOWNLOAD_LOOP ; BRNE ?? -| 000363 F009 > BREQ LOCAL -| 000364 CFEC > RJMP CHARACTER_SET_DOWNLOAD_LOOP -| > LOCAL: -| 000365 CE2F | RJMP MAIN_LOOP -| | -| | CHARACTER_SET_QUERY: -| 000366 D117 | RCALL RX_WAIT -| 000367 D00E | RCALL CHARACTER_SET_FIND ; B:Y -> CHARACTER SET -| | -| 000368 931F | PUSH A -| 000369 D01A | RCALL CHARACTER_SET_CRC -| | -| 00036A E11B | LDI A,$1B -| 00036B D133 | RCALL TX_WAIT -| 00036C E31F | LDI A,'?' -| 00036D D131 | RCALL TX_WAIT -| 00036E 911F | POP A -| 00036F 5D10 | SUBI A,-'0' -| 000370 D12E | RCALL TX_WAIT -| | -| 000371 2F1D | MOV A,YH -| 000372 D060 | RCALL TX_HEX_BYTE -| 000373 2F1C | MOV A,YL -| 000374 D05E | RCALL TX_HEX_BYTE -| 000375 CE1F | RJMP MAIN_LOOP -| | -| | CHARACTER_SET_FIND: -| 000376 E0C0 | LDI YL,LOW(CHSET_DSPRAM) -tsv3.asm:1414: Warning : Constant 0x400 out of range (0x00-0xFF) -| 000377 E0D0 | LDI YH,HIGH(CHSET_DSPRAM)<<4 -| 000378 E624 | LDI B,HIGH(CHSET_DSPRAM>>4) -| | -| 000379 701F | ANDI A,$0F -| 00037A 301A | CPI A,CHARACTER_SETS -| 00037B F408 | BRSH CHARACTER_SET_FIND_DONE ; DEFAULT TO SET 0 -| | -| 00037C 0F21 | ADD B,A -| | -| | CHARACTER_SET_FIND_DONE: -| 00037D 9526 | LSR B -| 00037E 95D7 | ROR YH -| 00037F 9526 | LSR B -| 000380 95D7 | ROR YH -| 000381 95D6 | LSR YH -| 000382 95D6 | LSR YH -| 000383 9508 | RET -| | -| | CHARACTER_SET_CRC: -| 000384 E1A6 | LDI XL,LOW($216) -| 000385 E0B2 | LDI XH,HIGH($216) ; PAST CRC, INDEX, CELL SIZES -| 000386 0FAC | ADD XL,YL -| 000387 1FBD | ADC XH,YH ; B:X -> LENGTH WORD IN CHARACTER SET -| 000388 > A14_A18 B -| 000388 94F8 > CLI -| 000389 9130 0117 > LDS R19,LATCH10_SAV ; AND THIS -| 00038B 2732 > EOR R19,B -| 00038C 7E30 > ANDI R19,$E0 -| 00038D 2732 > EOR R19,B -| 00038E BB3B > OUT PORTA,R19 -| 00038F 9AC4 > SBI PORTB,4 -| 000390 98C4 > CBI PORTB,4 -| 000391 9478 > SEI -| 000392 9330 0117 > STS LATCH10_SAV,R19 ; MUST BE ATOMIC DUE TO TOGGLING M -| 000394 D26D | RCALL GO_READ_BYTE -| 000395 2FE1 | MOV ZL,A -| 000396 9611 | ADIW XL,1 -| 000397 D26A | RCALL GO_READ_BYTE -| 000398 2FF1 | MOV ZH,A ; Z = LENGTH OF DATA INCLUDING CRC -| | -| 000399 2FAC | MOV XL,YL -| 00039A 2FBD | MOV XH,YH -| 00039B 9614 | ADIW XL,4 ; B:X -> DATA BLOCK EXCLUDING CRC -| | -| 00039C EFCF | LDI YL,$FF -| 00039D EFDF | LDI YH,$FF ; Y = SEED FOR CRC CALCULATION -| | -| 00039E 9731 | SBIW ZL,1 -| 00039F 70FF | ANDI ZH,$0F -| 0003A0 9734 | SBIW ZL,4 ; Z = LENGTH OF DATA-1 EXCLUDING CRC -| 0003A1 F180 | BRLO CHARACTER_SET_CRC_DONE -| 0003A2 9631 | ADIW ZL,1 -| | -| | CHARACTER_SET_CRC_BYTE: -| 0003A3 D25E | RCALL GO_READ_BYTE -| 0003A4 9611 | ADIW XL,1 -| | -| 0003A5 E201 | LDI F,$21 -| 0003A6 E120 | LDI B,$10 ; B:F = CRC POLYNOMIAL -| 0003A7 27D1 | EOR YH,A ; Y = CRC REGISTER WITH NEW DATA BYTE -| | -| 0003A8 0FCC | LSL YL -| 0003A9 1FDD | ROL YH -| 0003AA F410 | BRCC CHARACTER_SET_CRC_BIT0 -| 0003AB 27C0 | EOR YL,F -| 0003AC 27D2 | EOR YH,B -| | CHARACTER_SET_CRC_BIT0: -| 0003AD 0FCC | LSL YL -| 0003AE 1FDD | ROL YH -| 0003AF F410 | BRCC CHARACTER_SET_CRC_BIT1 -| 0003B0 27C0 | EOR YL,F -| 0003B1 27D2 | EOR YH,B -| | CHARACTER_SET_CRC_BIT1: -| 0003B2 0FCC | LSL YL -| 0003B3 1FDD | ROL YH -| 0003B4 F410 | BRCC CHARACTER_SET_CRC_BIT2 -| 0003B5 27C0 | EOR YL,F -| 0003B6 27D2 | EOR YH,B -| | CHARACTER_SET_CRC_BIT2: -| 0003B7 0FCC | LSL YL -| 0003B8 1FDD | ROL YH -| 0003B9 F410 | BRCC CHARACTER_SET_CRC_BIT3 -| 0003BA 27C0 | EOR YL,F -| 0003BB 27D2 | EOR YH,B -| | CHARACTER_SET_CRC_BIT3: -| 0003BC 0FCC | LSL YL -| 0003BD 1FDD | ROL YH -| 0003BE F410 | BRCC CHARACTER_SET_CRC_BIT4 -| 0003BF 27C0 | EOR YL,F -| 0003C0 27D2 | EOR YH,B -| | CHARACTER_SET_CRC_BIT4: -| 0003C1 0FCC | LSL YL -| 0003C2 1FDD | ROL YH -| 0003C3 F410 | BRCC CHARACTER_SET_CRC_BIT5 -| 0003C4 27C0 | EOR YL,F -| 0003C5 27D2 | EOR YH,B -| | CHARACTER_SET_CRC_BIT5: -| 0003C6 0FCC | LSL YL -| 0003C7 1FDD | ROL YH -| 0003C8 F410 | BRCC CHARACTER_SET_CRC_BIT6 -| 0003C9 27C0 | EOR YL,F -| 0003CA 27D2 | EOR YH,B -| | CHARACTER_SET_CRC_BIT6: -| 0003CB 0FCC | LSL YL -| 0003CC 1FDD | ROL YH -| 0003CD F410 | BRCC CHARACTER_SET_CRC_BIT7 -| 0003CE 27C0 | EOR YL,F -| 0003CF 27D2 | EOR YH,B -| | CHARACTER_SET_CRC_BIT7: -| | -| 0003D0 9731 | SBIW ZL,1 -| 0003D1 F689 | BRNE CHARACTER_SET_CRC_BYTE -| | -| | CHARACTER_SET_CRC_DONE: -| 0003D2 9508 | RET -| | -| | TX_HEX_BYTE: -| 0003D3 931F | PUSH A -| 0003D4 9512 | SWAP A -| 0003D5 D004 | RCALL HEX_NIBBLE -| 0003D6 D0C8 | RCALL TX_WAIT -| 0003D7 911F | POP A -| 0003D8 D001 | RCALL HEX_NIBBLE -| 0003D9 C0C5 | RJMP TX_WAIT -| | -| | HEX_NIBBLE: -| 0003DA 701F | ANDI A,$0F -| 0003DB 6310 | ORI A,$30 -| 0003DC 331A | CPI A,$3A -| 0003DD F008 | BRLO HEX_NIBBLE_DONE -| 0003DE 5F19 | SUBI A,-7 -| | HEX_NIBBLE_DONE: -| 0003DF 9508 | RET -| | -| | SAVE_STATE: -| 0003E0 D09D | RCALL RX_WAIT -| 0003E1 FD10 | SBRC A,0 -| 0003E2 C013 | RJMP RESTORE_STATE -| | -| | SAVE_ENTRY: -| 0003E3 9370 016C | STS CURSORX_SAVE,CURSORX -| 0003E5 9380 016D | STS CURSORY_SAVE,CURSORY -| 0003E7 92B0 016E | STS FLAGS_SAVE,FLAGS -| 0003E9 9110 0103 | LDS A,PTR -| 0003EB 9310 016F | STS PTR_SAVE,A -| 0003ED 9110 0104 | LDS A,PTR+1 -| 0003EF 9310 0170 | STS PTR_SAVE+1,A -| 0003F1 9110 0105 | LDS A,PTR+2 -| 0003F3 9310 0171 | STS PTR_SAVE+2,A -| 0003F5 CD9F | RJMP MAIN_LOOP -| | -| | RESTORE_STATE: -| 0003F6 9170 016C | LDS CURSORX,CURSORX_SAVE -| 0003F8 9180 016D | LDS CURSORY,CURSORY_SAVE -| 0003FA EC10 | LDI A,$C0 -| 0003FB 22B1 | AND FLAGS,A -| 0003FC 9110 016E | LDS A,FLAGS_SAVE -| 0003FE 731F | ANDI A,$3F -| 0003FF 2AB1 | OR FLAGS,A -| 000400 9110 016F | LDS A,PTR_SAVE -| 000402 9310 0103 | STS PTR,A -| 000404 9110 0170 | LDS A,PTR_SAVE+1 -| 000406 9310 0104 | STS PTR+1,A -| 000408 9110 0171 | LDS A,PTR_SAVE+2 -| 00040A 9310 0105 | STS PTR+2,A -| 00040C CD88 | RJMP MAIN_LOOP -| | -| | TOUCH_ZONE: -| 00040D D070 | RCALL RX_WAIT -| 00040E 9310 015A | STS TOUCH_KEY,A -| | -| 000410 D06D | RCALL RX_WAIT -| 000411 2FC1 | MOV YL,A -| 000412 5F17 | SUBI A,-9 -| 000413 D05D | RCALL DIVIDE_10 -| 000414 9320 015B | STS TOUCH_X,B -| | -| 000416 D067 | RCALL RX_WAIT -| 000417 2FD1 | MOV YH,A -| 000418 5F1C | SUBI A,-4 -| 000419 D05C | RCALL DIVIDE_13 -| 00041A 9320 015C | STS TOUCH_Y,B -| | -| 00041C D061 | RCALL RX_WAIT -| 00041D 0F1C | ADD A,YL -| 00041E 501F | SUBI A,15 -| 00041F D051 | RCALL DIVIDE_10 -| 000420 9320 015D | STS TOUCH_XX,B -| | -| 000422 D05B | RCALL RX_WAIT -| 000423 0F1D | ADD A,YH -| 000424 5111 | SUBI A,17 -| 000425 D050 | RCALL DIVIDE_13 -| 000426 9320 015E | STS TOUCH_YY,B -| | -| 000428 91D0 015C | LDS YH,TOUCH_Y -| | TOUCH_ZONE_Y: -| 00042A 9110 015E | LDS A,TOUCH_YY -| 00042C 1B1D | SUB A,YH -| 00042D F408 | BRSH TOUCH_ZONE_Y_CONT -| 00042E C041 | RJMP TOUCH_ZONE_Y_END -| | TOUCH_ZONE_Y_CONT: -| | -| 00042F 91C0 015B | LDS YL,TOUCH_X -| 000431 2F1C | MOV A,YL -| 000432 0F1D | ADD A,YH -| 000433 2F2D | MOV B,YH -| 000434 0F22 | LSL B -| 000435 0F22 | LSL B -| 000436 0F22 | LSL B -| 000437 0F12 | ADD A,B -| 000438 0F22 | LSL B -| 000439 0F12 | ADD A,B -| | -| 00043A E0A0 | LDI XL,LOW(RTN_DSPRAM) -| 00043B EEB0 | LDI XH,HIGH(RTN_DSPRAM) ;<<2 -| 00043C E020 | LDI B,0 -| 00043D 0FA1 | ADD XL,A -| 00043E 1FB2 | ADC XH,B -| | -| 00043F E12B | LDI B,HIGH(RTN_DSPRAM>>6) ; B:X -> RETURN CODE TABLE -| 000440 > A14_A18 B -| 000440 94F8 > CLI -| 000441 9130 0117 > LDS R19,LATCH10_SAV ; AND THIS -| 000443 2732 > EOR R19,B -| 000444 7E30 > ANDI R19,$E0 -| 000445 2732 > EOR R19,B -| 000446 BB3B > OUT PORTA,R19 -| 000447 9AC4 > SBI PORTB,4 -| 000448 98C4 > CBI PORTB,4 -| 000449 9478 > SEI -| 00044A 9330 0117 > STS LATCH10_SAV,R19 ; MUST BE ATOMIC DUE TO TOGGLING M -| | -| | TOUCH_ZONE_X: -| 00044C 9110 015D | LDS A,TOUCH_XX -| 00044E 1B1C | SUB A,YL -| 00044F F0F0 | BRLO TOUCH_ZONE_X_END -| | -| 000450 > A0_A13 XL,XH -| 000450 2F3A > MOV R19,XL -| 000451 733F > ANDI R19,$3F -| 000452 BB35 > OUT PORTC,R19 -| > -| 000453 2F3B > MOV R19,XH -| 000454 0F33 > LSL R19 -| 000455 0F33 > LSL R19 -| 000456 FBA7 > BST XL,7 ; A7 -| 000457 F931 > BLD R19,1 -| 000458 FBA6 > BST XL,6 ; A6 -| 000459 F930 > BLD R19,0 -| 00045A BB3B > OUT PORTA,R19 -| 00045B 94F8 > CLI -| 00045C 9AC3 > SBI PORTB,3 -| 00045D 98C3 > CBI PORTB,3 -| 00045E 9478 > SEI -| 00045F 9330 0118 > STS LATCH11_SAV,R19 -| 000461 9110 015A | LDS A,TOUCH_KEY -| 000463 > RAMWR A ; WRITE DATA TO DSPRAM -| 000463 BB1B > OUT PORTA,A -| 000464 94F8 > CLI -| 000465 98C1 > CBI PORTB,1 -| 000466 98C0 > CBI PORTB,0 -| 000467 0000 > NOP -| 000468 9AC0 > SBI PORTB,0 -| 000469 9478 > SEI -| 00046A 9AC1 > SBI PORTB,1 -| | -| 00046B 9611 | ADIW XL,1 -| 00046C 95C3 | INC YL -| 00046D CFDE | RJMP TOUCH_ZONE_X -| | -| | TOUCH_ZONE_X_END: -| 00046E 95D3 | INC YH -| 00046F CFBA | RJMP TOUCH_ZONE_Y -| | -| | TOUCH_ZONE_Y_END: -| 000470 CD24 | RJMP MAIN_LOOP -| | -| | DIVIDE_10: -| 000471 EF2F | LDI B,-1 -| | DIVIDE_10_LOOP: -| 000472 9523 | INC B -| 000473 501A | SUBI A,10 -| 000474 F7E8 | BRCC DIVIDE_10_LOOP -| 000475 9508 | RET -| | -| | DIVIDE_13: -| 000476 EF2F | LDI B,-1 -| | DIVIDE_13_LOOP: -| 000477 9523 | INC B -| 000478 501D | SUBI A,13 -| 000479 F7E8 | BRCC DIVIDE_13_LOOP -| 00047A 9508 | RET -| | -| | NULLSUB2: -| 00047B D002 | RCALL RX_WAIT -| | -| | NULLSUB: -| 00047C D001 | RCALL RX_WAIT -| 00047D CD17 | RJMP MAIN_LOOP -| | -| | RX_WAIT: -| 00047E EC10 | LDI A,-$40 -| 00047F 9310 016B | STS BREAK_COUNT,A ; SET VERY SHORT BREAK TIMEOUT -| | -| | RX_WAIT_LOOP: -| | ; FORMERLY DONE IN TIMER 2 OVERFLOW INTERRUPT -| 000481 95A8 | WDR -| | -| 000482 E010 | LDI A,0 -| 000483 BB1E | OUT EEARL,A ; RESET EEPROM ADDRESS REG WHILE IDLE -| 000484 BB1F | OUT EEARH,A -| | -| 000485 EC10 | LDI A,-$40 -| 000486 9980 | SBIC PIND,0 ; RXD HIGH? -| 000487 9310 016B | STS BREAK_COUNT,A ; YES, TOP UP VERY SHORT BREAK TIMEOUT -| | -| 000489 FCB5 | SBRC FLAGS,5 ; DISPLAY ENABLED? -| 00048A D133 | RCALL NICK_SUB2 ; IF SO, COPY 1 LINE ACCORDING TO FLAGS -| | -| 00048B 2033 | TST RX_COUNT -| 00048C F3A1 | BREQ RX_WAIT_LOOP -| | -| 00048D E010 | LDI A,0 ; SET LONGEST POSSIBLE BREAK TIMEOUT -| 00048E 9310 016B | STS BREAK_COUNT,A ; WHILE PROCESSING CHARACTER -| | -| | RX_CHAR: -| 000490 > MRX_CHAR -| 000490 93CF > PUSH YL -| 000491 93DF > PUSH YH -| > -| 000492 2DC2 > MOV YL,RX_PTR -| 000493 58C0 > SUBI YL,-RX_BUF -| 000494 27DD > CLR YH -| 000495 8118 > LD A,Y -| > -| 000496 94F8 > CLI -| 000497 943A > DEC RX_COUNT -| 000498 9423 > INC RX_PTR -| 000499 E7CF > LDI YL,RX_SIZE-1 -| 00049A 222C > AND RX_PTR,YL -| 00049B 9478 > SEI -| > -| 00049C 91DF > POP YH -| 00049D 91CF > POP YL -| 00049E 9508 > RET -| > ; FALL INTO MTX_WAIT FOR LOOPBACK TEST -| | TX_WAIT: -| 00049F > MTX_WAIT -| 00049F 931F > PUSH A -| > TX_WAIT_LOOP: -| 0004A0 95A8 > WDR ; 10OCT02 ALTHOUGH IT USUALLY DOESN'T MATTER (HANDY FOR LOOPBACK) -| 0004A1 2D15 > MOV A,TX_COUNT -| 0004A2 3210 > CPI A,TX_SIZE -| 0004A3 F7E0 > BRSH TX_WAIT_LOOP -| 0004A4 911F > POP A -| | TX_CHAR: -| 0004A5 > MTX_CHAR -| 0004A5 93CF > PUSH YL -| 0004A6 93DF > PUSH YH -| 0004A7 B7DF > IN YH,SREG -| 0004A8 94F8 > CLI -| 0004A9 2DC5 > MOV YL,TX_COUNT -| 0004AA 0DC4 > ADD YL,TX_PTR -| 0004AB BFDF > OUT SREG,YH ;SEI -| 0004AC 71CF > ANDI YL,TX_SIZE-1 -| 0004AD 5AC0 > SUBI YL,-TX_BUF -| 0004AE 27DD > CLR YH -| 0004AF 8318 > ST Y,A -| > -| 0004B0 9453 > INC TX_COUNT -| > -| 0004B1 91DF > POP YH -| 0004B2 91CF > POP YL -| 0004B3 9508 > RET -| | -| | DRAW_CHAR_TTY: -| 0004B4 D0D2 | RCALL FIND_CHAR ; SET UP CHAR_PTR FROM A = CHAR -| 0004B5 D0EF | RCALL CHAR_WIDTH ; SET UP R0 = PROP WIDTH FROM CHAR PTR -| | -| 0004B6 2700 | CLR F -| 0004B7 9300 0112 | STS TEMP,F ; NUDGE FOR FIXED SPACING MODE -| | -| 0004B9 FCB4 | SBRC FLAGS,4 -| 0004BA C00F | RJMP PROP_MODE ; FORCED TO FIXED SPACING MODE? -| | -| 0004BB 91C0 0103 | LDS YL,PTR -| 0004BD 91D0 0104 | LDS YH,PTR+1 -| 0004BF 5FDE | SUBI YH,$FE -| 0004C0 2CF0 | MOV W,R0 -| 0004C1 D297 | RCALL LPMS ; GET R0 = CELL WIDTH FOR CHARACTER SET -| 0004C2 920F | PUSH R0 -| 0004C3 180F | SUB R0,W -| 0004C4 F408 | BRCC NUDGE_OK -| 0004C5 2400 | CLR R0 ; NO NEGATIVE CENTRING -| | NUDGE_OK: -| 0004C6 9406 | LSR R0 -| 0004C7 9200 0112 | STS TEMP,R0 -| 0004C9 900F | POP R0 ; RESTORE R0 = FIXED CELL WIDTH -| | -| | PROP_MODE: -| 0004CA FCB3 | SBRC FLAGS,3 -| 0004CB C008 | RJMP OK_LINE ; FORCED TO GRAPHICS MODE? -| | -| 0004CC 2F07 | MOV F,CURSORX -| 0004CD 0D00 | ADD F,R0 ; CHECK IF CHAR WILL FIT ON THIS LINE -| 0004CE F428 | BRCC OK_LINE -| | -| 0004CF 2777 | CLR CURSORX -| 0004D0 DD9C | RCALL LINE_FEED ; NO, WRAP CURSOR PRIOR TO DRAWING CHAR -| | -| 0004D1 9110 0105 | LDS A,PTR+2 -| 0004D3 D6B9 | RCALL SELECT_XPAGE ; IN CASE WE SCROLLED THE DISPLAY -| | -| | OK_LINE: -| 0004D4 9100 0112 | LDS F,TEMP -| 0004D6 0F07 | ADD F,CURSORX -| 0004D7 9300 014E | STS CHAR_X,F -| 0004D9 9380 014F | STS CHAR_Y,CURSORY ; SET UP TOP LEFT COORDINATES -| | -| 0004DB 0D70 | ADD CURSORX,R0 ; ADVANCE CURSOR -| | -| | DRAW_CHAR: -| 0004DC 9160 014E | LDS XPIXEL,CHAR_X -| 0004DE 9090 014F | LDS LINE_CNT,CHAR_Y -| | -| 0004E0 FE86 | SBRS X_SIZE,6 -| 0004E1 C007 | RJMP Y_OFFSET_DONE ; Y OFFSET FOUND? -| | -| 0004E2 91C0 0150 | LDS YL,CHAR_PTR -| 0004E4 91D0 0151 | LDS YH,CHAR_PTR+1 -| 0004E6 9722 | SBIW YL,$02 -| 0004E7 D271 | RCALL LPMS -| 0004E8 0C90 | ADD LINE_CNT,R0 -| | -| | Y_OFFSET_DONE: -| 0004E9 FE87 | SBRS X_SIZE,7 -| 0004EA C007 | RJMP X_OFFSET_DONE ; X OFFSET FOUND? -| | -| 0004EB 91C0 0150 | LDS YL,CHAR_PTR -| 0004ED 91D0 0151 | LDS YH,CHAR_PTR+1 -| 0004EF 9723 | SBIW YL,$03 -| 0004F0 D268 | RCALL LPMS -| 0004F1 0D60 | ADD XPIXEL,R0 -| | -| | X_OFFSET_DONE: -| 0004F2 D25A | RCALL CALCULATE_XBYTE -| 0004F3 9360 0102 | STS XPIXEL_SAV,XPIXEL -| 0004F5 92A0 0100 | STS XBYTE_SAV,XBYTE -| | -| 0004F7 91C0 0150 | LDS YL,CHAR_PTR -| 0004F9 91D0 0151 | LDS YH,CHAR_PTR+1 -| 0004FB 9621 | ADIW YL,$01 -| 0004FC D25C | RCALL LPMS ; GET R0 = Y LINES FOR CHARACTER -| 0004FD 2C70 | MOV Y_SIZE,R0 -| | -| 0004FE EF0F | LDI F,$FF -| 0004FF BB0A | OUT DDRA,F -| 000500 9AC0 | SBI PORTB,0 ; REMOVE_CS -| 000501 E10F | LDI F,$1F -| 000502 2280 | AND X_SIZE,F -| 000503 9280 0101 | STS X_SIZE_SAV,X_SIZE -| 000505 2700 | CLR F -| 000506 1280 | CPSE X_SIZE,F -| 000507 C001 | RJMP DRAW_IT -| 000508 C07D | RJMP DONE -| | -| | DRAW_IT: -| 000509 27AA | CLR XL -| 00050A 2DB9 | MOV XH,LINE_CNT -| 00050B 95B6 | LSR XH -| 00050C 95A7 | ROR XL -| 00050D 95B6 | LSR XH -| 00050E 95A7 | ROR XL -| 00050F 5EB0 | SUBI XH,HIGH(-DRAW_DSPRAM) ; DRAW INTO DRAWING BUFFER -| 000510 C007 | RJMP FIRSTT -| | -| 000511 9493 | MORE_Y: INC LINE_CNT -| 000512 5CA0 | SUBI XL,LOW(-$40) -| 000513 4FBF | SBCI XH,HIGH(-$40) -| | -| 000514 9080 0101 | LDS X_SIZE,X_SIZE_SAV -| 000516 90A0 0100 | LDS XBYTE,XBYTE_SAV -| | -| 000518 2AAA | FIRSTT: OR XBYTE,XL -| 000519 2722 | CLR B ; RESIDUAL -| | -| 00051A 9621 | MORE_X: ADIW YL,$01 -| 00051B 9110 0105 | LDS A,PTR+2 -| 00051D D66F | RCALL SELECT_XPAGE -| 00051E D23A | RCALL LPMS -| | -| 00051F 2711 | CLR A -| 000520 9160 0102 | LDS XPIXEL,XPIXEL_SAV -| 000522 2366 | TST XPIXEL -| 000523 F039 | BREQ OUT_DATA -| | -| 000524 9488 | CLC -| | SHIFT_AGAIN: -| 000525 9407 | ROR R0 -| 000526 9517 | ROR A -| 000527 956A | DEC XPIXEL -| 000528 F7E1 | BRNE SHIFT_AGAIN -| | -| 000529 2A02 | OR R0,B -| 00052A 2F21 | MOV B,A -| | -| | OUT_DATA: -| 00052B E108 | LDI F,HIGH(DRAW_DSPRAM>>6) -| 00052C > A14_A18 F -| 00052C 94F8 > CLI -| 00052D 9130 0117 > LDS R19,LATCH10_SAV ; AND THIS -| 00052F 2730 > EOR R19,F -| 000530 7E30 > ANDI R19,$E0 -| 000531 2730 > EOR R19,F -| 000532 BB3B > OUT PORTA,R19 -| 000533 9AC4 > SBI PORTB,4 -| 000534 98C4 > CBI PORTB,4 -| 000535 9478 > SEI -| 000536 9330 0117 > STS LATCH10_SAV,R19 ; MUST BE ATOMIC DUE TO TOGGLING M -| 000538 > A0_A13 XBYTE,XH -| 000538 2D3A > MOV R19,XBYTE -| 000539 733F > ANDI R19,$3F -| 00053A BB35 > OUT PORTC,R19 -| > -| 00053B 2F3B > MOV R19,XH -| 00053C 0F33 > LSL R19 -| 00053D 0F33 > LSL R19 -| 00053E FAA7 > BST XBYTE,7 ; A7 -| 00053F F931 > BLD R19,1 -| 000540 FAA6 > BST XBYTE,6 ; A6 -| 000541 F930 > BLD R19,0 -| 000542 BB3B > OUT PORTA,R19 -| 000543 94F8 > CLI -| 000544 9AC3 > SBI PORTB,3 -| 000545 98C3 > CBI PORTB,3 -| 000546 9478 > SEI -| 000547 9330 0118 > STS LATCH11_SAV,R19 -| 000549 > RAMRXW R0,F -| 000549 2700 > CLR F -| 00054A BB0A > OUT DDRA,F -| 00054B 94F8 > CLI -| 00054C 98C0 > CBI PORTB,0 -| 00054D 0000 > NOP -| 00054E 98C1 > CBI PORTB,1 -| 00054F B309 > IN F,PINA -| 000550 2600 > EOR R0,F -| 000551 FCB0 > SBRC FLAGS,0 -| 000552 2A00 > OR R0,F -| 000553 EF0F > LDI F,$FF -| 000554 BB0A > OUT DDRA,F -| 000555 BA0B > OUT PORTA,R0 -| 000556 0000 > NOP -| 000557 9AC0 > SBI PORTB,0 -| 000558 9478 > SEI -| 000559 9AC1 > SBI PORTB,1 -| | -| 00055A 94A3 | INC XBYTE -| 00055B 948A | DEC X_SIZE -| 00055C > RJNE MORE_X -| 00055C F009 > BREQ LOCAL -| 00055D CFBC > RJMP MORE_X -| > LOCAL: -| | -| 00055E 2322 | TST B -| 00055F F111 | BREQ SKIP_FINAL -| 000560 > A0_A13 XBYTE,XH -| 000560 2D3A > MOV R19,XBYTE -| 000561 733F > ANDI R19,$3F -| 000562 BB35 > OUT PORTC,R19 -| > -| 000563 2F3B > MOV R19,XH -| 000564 0F33 > LSL R19 -| 000565 0F33 > LSL R19 -| 000566 FAA7 > BST XBYTE,7 ; A7 -| 000567 F931 > BLD R19,1 -| 000568 FAA6 > BST XBYTE,6 ; A6 -| 000569 F930 > BLD R19,0 -| 00056A BB3B > OUT PORTA,R19 -| 00056B 94F8 > CLI -| 00056C 9AC3 > SBI PORTB,3 -| 00056D 98C3 > CBI PORTB,3 -| 00056E 9478 > SEI -| 00056F 9330 0118 > STS LATCH11_SAV,R19 -| 000571 > RAMRXW B,F -| 000571 2700 > CLR F -| 000572 BB0A > OUT DDRA,F -| 000573 94F8 > CLI -| 000574 98C0 > CBI PORTB,0 -| 000575 0000 > NOP -| 000576 98C1 > CBI PORTB,1 -| 000577 B309 > IN F,PINA -| 000578 2720 > EOR B,F -| 000579 FCB0 > SBRC FLAGS,0 -| 00057A 2B20 > OR B,F -| 00057B EF0F > LDI F,$FF -| 00057C BB0A > OUT DDRA,F -| 00057D BB2B > OUT PORTA,B -| 00057E 0000 > NOP -| 00057F 9AC0 > SBI PORTB,0 -| 000580 9478 > SEI -| 000581 9AC1 > SBI PORTB,1 -| | -| | SKIP_FINAL: -| 000582 D031 | RCALL NICK_SUB1 -| 000583 947A | DEC Y_SIZE -| 000584 > RJNE MORE_Y -| 000584 F009 > BREQ LOCAL -| 000585 CF8B > RJMP MORE_Y -| > LOCAL: -| | -| 000586 9508 | DONE: RET -| | -| | FIND_CHAR: -| 000587 2FC1 | MOV YL,A -| 000588 27DD | CLR YH -| 000589 0FCC | LSL YL -| 00058A 1FDD | ROL YH -| 00058B 9110 0103 | LDS A,PTR -| 00058D 0FC1 | ADD YL,A -| 00058E 9110 0104 | LDS A,PTR+1 -| 000590 1FD1 | ADC YH,A -| 000591 9110 0105 | LDS A,PTR+2 -| 000593 D5F9 | RCALL SELECT_XPAGE -| 000594 D1C4 | RCALL LPMS -| 000595 9621 | ADIW YL,$01 -| 000596 2CF0 | MOV W,R0 -| 000597 D1C1 | RCALL LPMS -| 000598 2DCF | MOV YL,W -| 000599 2DD0 | MOV YH,R0 -| 00059A 9110 0103 | LDS A,PTR -| 00059C 0FC1 | ADD YL,A -| 00059D 9110 0104 | LDS A,PTR+1 -| 00059F 1FD1 | ADC YH,A -| 0005A0 93C0 0150 | STS CHAR_PTR,YL -| 0005A2 93D0 0151 | STS CHAR_PTR+1,YH -| 0005A4 9508 | RET -| | -| | CHAR_WIDTH: -| 0005A5 91C0 0150 | LDS YL,CHAR_PTR -| 0005A7 91D0 0151 | LDS YH,CHAR_PTR+1 -| 0005A9 D1AF | RCALL LPMS -| 0005AA 2C80 | MOV X_SIZE,R0 -| 0005AB 9721 | SBIW YL,$01 -| 0005AC FC85 | SBRC X_SIZE,5 -| 0005AD C1AB | RJMP LPMS ; PROPORTIONAL WIDTH IS PRESENT -| 0005AE 91C0 0103 | LDS YL,PTR -| 0005B0 91D0 0104 | LDS YH,PTR+1 -| 0005B2 5FDE | SUBI YH,$FE -| 0005B3 C1A5 | RJMP LPMS ; NO PROPORTIONAL WIDTH, USE CELL WIDTH -| | -| | NICK_SUB1: ; SET FLAG FOR COPY, LINE_CNT -| 0005B4 93CF | PUSH YL -| 0005B5 93DF | PUSH YH -| | -| 0005B6 2D19 | MOV A,LINE_CNT -| 0005B7 D039 | RCALL FIND_BIT -| 0005B8 8118 | LD A,Y -| 0005B9 2B12 | OR A,B -| 0005BA 8318 | ST Y,A -| | -| 0005BB 91DF | POP YH -| 0005BC 91CF | POP YL -| 0005BD 9508 | RET -| | -| | NICK_SUB2: ; TEST FLAG AND COPY, LINE_COUNT -| 0005BE 932F | PUSH B -| 0005BF 93CF | PUSH YL -| 0005C0 93DF | PUSH YH -| | -| 0005C1 9110 013B | LDS A,LINE_COUNT -| 0005C3 D02D | RCALL FIND_BIT -| 0005C4 8118 | LD A,Y -| 0005C5 2312 | AND A,B -| 0005C6 > RJEQ NICK_SUB2_DONE -| 0005C6 F409 > BRNE LOCAL -| 0005C7 C01F > RJMP NICK_SUB2_DONE -| > LOCAL: -| | -| 0005C8 8128 | LD B,Y -| 0005C9 2721 | EOR B,A -| 0005CA 8328 | ST Y,B -| | -| | ; LET'S BE SAFE -| 0005CB E010 | LDI A,0 ; SET LONGEST POSSIBLE BREAK TIMEOUT -| 0005CC 9310 016B | STS BREAK_COUNT,A ; WHILE COPYING TO DISPLAY BUFFER -| | -| 0005CE 93AF | PUSH XL -| 0005CF 93BF | PUSH XH -| | -| 0005D0 27CC | CLR YL -| 0005D1 91D0 013B | LDS YH,LINE_COUNT -| 0005D3 95D6 | LSR YH -| 0005D4 95C7 | ROR YL -| 0005D5 95D6 | LSR YH -| 0005D6 95C7 | ROR YL ; Y -> DISPLAY BUFFER -| | -| 0005D7 2FAC | MOV XL,YL -| 0005D8 2FBD | MOV XH,YH -| 0005D9 5EB0 | SUBI XH,HIGH(-DRAW_DSPRAM) ; X -> DRAWING BUFFER -| | -| 0005DA E118 | LDI A,HIGH(DRAW_DSPRAM>>6) -| 0005DB D5B1 | RCALL SELECT_XPAGE -| | -| 0005DC E220 | LDI B,32 -| 0005DD D56C | RCALL COPY_BYTES ; 240 PIXELS, PLUS 16 FOR SAMSUNG -| | -| 0005DE 9712 | SBIW XL,2 -| 0005DF 9626 | ADIW YL,6 -| 0005E0 E022 | LDI B,2 -| 0005E1 D568 | RCALL COPY_BYTES ; REPEAT FINAL 16 PIXELS FOR HYUNDAI -| | -| 0005E2 91BF | POP XH -| 0005E3 91AF | POP XL -| | -| 0005E4 EC10 | LDI A,-$40 -| 0005E5 9310 016B | STS BREAK_COUNT,A ; SET VERY SHORT BREAK TIMEOUT -| | -| | NICK_SUB2_DONE: -| 0005E7 9110 013B | LDS A,LINE_COUNT -| 0005E9 9513 | INC A -| 0005EA 771F | ANDI A,DISPLAY_LINES-1 -| 0005EB 9310 013B | STS LINE_COUNT,A -| | -| 0005ED 91DF | POP YH -| 0005EE 91CF | POP YL -| 0005EF 912F | POP B -| 0005F0 9508 | RET -| | -| | ; NEW CODE: (NOT WORKING YET) -| | ; WE HAVE JUST DRAWN INTO THE DRAWING BUFFER AT $62000, -| | ; AND NOW WANT TO COPY THE DOT ROW CONCERNED -| | ; TO THE THE DISPLAY BUFFER AT $60000 -| | ; CLI -| | ; -| | ; PUSH YL -| | ; PUSH XL -| | ; PUSH XH -| | ; -| | ; A0_A13 YL,YH -| | ; -| | ; LDI XL,LOW(ROWBUF) ; SRAM BUFFER FOR BLOCK READ -| | ; LDI XH,HIGH(ROWBUF) -| | ; CLR A -| | ; OUT DDRA,A ; PORTA INPUT -| | ; CBI PORTB,0 ; CS ON -| | ; IN YL,PORTC -| | ; ANDI YL,$C0 ; POINT TO START OF ROW -| | ; LDI B,$20 ; COPYING 32 BYTES -| | ;NSUB0: OUT PORTC,YL ; SET ADDRESS -| | ; INC YL ; NEED SOME DELAY HERE -| | ; DEC B -| | ; IN A,PINA ; READ DATA -| | ; ST X+,A ; SAVE IN ROW BUFFER -| | ; BRNE NSUB0 -| | ; SBI PORTB,0 ; CS OFF -| | ; SER A -| | ; OUT DDRA,A ; PORTA OUTPUT -| | ; -| | ; LDI XL,LOW(ROWBUF) ; SRAM BUFFER FOR BLOCK READ -| | ; LDI XH,HIGH(ROWBUF) -| | ; -| | ; LDI A,LATCH11_SAV -| | ; ANDI A,$7F ; POINT TO $2000 LOWER -| | ; OUT PORTA,A -| | ; SBI PORTB,3 -| | ; CBI PORTB,3 -| | ; -| | ; IN YL,PORTC -| | ; ANDI YL,$C0 ; POINT TO START OF ROW -| | ; LDI B,$20 ; COPYING 32 BYTES -| | ; CBI PORTB,1 ; WE ON -| | ;NSUB1: OUT PORTC,YL ; SET ADDRESS -| | ; LD A,X+ ; GET DATA FROM ROW BUFFER -| | ; OUT PORTA,A -| | ; INC YL ; MAY AS WELL DELAY HERE -| | ; DEC B -| | ; CBI PORTB,0 ; CS ON -| | ; SBI PORTB,0 ; CS OFF -| | ; BRNE NSUB1 -| | ; -| | ; ADDI YL,7 ; SHIFT LAST 2 BYTES FOR HYUNDAI -| | ; OUT PORTC,YL ; SET ADDRESS -| | ; CBI PORTB,0 ; CS ON -| | ; SBI PORTB,0 ; CS OFF -| | ; DEC YL -| | ; OUT PORTC,YL ; SET ADDRESS -| | ; SBIW XL,2 -| | ; LD A,X -| | ; OUT PORTA,A -| | ; CBI PORTB,0 ; CS ON -| | ; SBI PORTB,0 ; CS OFF -| | ; -| | ; SBI PORTB,1 ; WE OFF -| | ; LDI A,LATCH11_SAV ; RESTORE H ADDRESS -| | ; OUT PORTA,A -| | ; SBI PORTB,3 -| | ; CBI PORTB,3 -| | ; -| | ; POP XH -| | ; POP XL -| | ; POP YL -| | ; SEI -| | ; RET -| | -| | FIND_BIT: -| 0005F1 E3CC | LDI YL,LOW(LINE_FLAGS) -| 0005F2 E0D1 | LDI YH,HIGH(LINE_FLAGS) -| | ; LET'S BE SAFE -| 0005F3 771F | ANDI A,$7F -| 0005F4 2F21 | MOV B,A -| 0005F5 9526 | LSR B -| 0005F6 9526 | LSR B -| 0005F7 9526 | LSR B -| 0005F8 0FC2 | ADD YL,B -| 0005F9 E020 | LDI B,0 -| 0005FA 1FD2 | ADC YH,B -| 0005FB E021 | LDI B,1 -| 0005FC 7017 | ANDI A,7 -| 0005FD F019 | BREQ FIND_BIT_RET -| | FIND_BIT_LOOP: -| 0005FE 0F22 | LSL B -| 0005FF 951A | DEC A -| 000600 F7E9 | BRNE FIND_BIT_LOOP -| | FIND_BIT_RET: -| 000601 9508 | RET -| | -| | GO_READ_BYTE: -| 000602 C554 | RJMP READ_BYTE -| | -| | GO_WRITE_BYTE: -| 000603 C56F | RJMP WRITE_BYTE -| | -| | GO_CLEAR_BYTES: -| 000604 C54C | RJMP CLEAR_BYTES -| | -| | GO_SELECT_XPAGE: -| 000605 C587 | RJMP SELECT_XPAGE -| | -| | GO_SCROLL_REGION: -| 000606 C497 | RJMP SCROLL_REGION -| | -| | GO_MAIN_LOOP: -| 000607 CB8D | RJMP MAIN_LOOP -| | -| | GO_EXT_INT0: -| 000608 C1DF | RJMP EXT_INT0 -| | -| | GO_EXT_INT1: -| 000609 C1DF | RJMP EXT_INT1 -| | -| | GO_TIM2_OVF: -| 00060A C58F | RJMP TIM2_OVF -| | -| | GO_T1_OVERFLOW: -| 00060B C1E6 | RJMP T1_OVERFLOW -| | -| | GO_T0_OVERFLOW: -| 00060C C2C6 | RJMP T0_OVERFLOW -| | -| | DRAW_RECT: -| 00060D 9478 | SEI -| 00060E 9090 0153 | LDS LINE_CNT,RECT_Y -| 000610 9160 0152 | LDS XPIXEL,RECT_X -| 000612 D13A | RCALL CALCULATE_XBYTE -| 000613 9360 0102 | STS XPIXEL_SAV,XPIXEL -| 000615 92A0 0100 | STS XBYTE_SAV,XBYTE -| 000617 9070 0155 | LDS Y_SIZE,RECT_YY -| 000619 27CC | CLR YL -| 00061A 2DD9 | MOV YH,LINE_CNT -| 00061B 95D6 | LSR YH -| 00061C 95C7 | ROR YL -| 00061D 95D6 | LSR YH -| 00061E 95C7 | ROR YL -| 00061F 5ED0 | SUBI YH,HIGH(-DRAW_DSPRAM) ; DRAW INTO DRAWING BUFFER -| 000620 E118 | LDI A,HIGH(DRAW_DSPRAM>>6) -| 000621 D56B | RCALL SELECT_XPAGE -| 000622 C007 | RJMP L03A3 -| 000623 5CC0 | L039A: SUBI YL,LOW(-$40) -| 000624 4FDF | SBCI YH,HIGH(-$40) -| 000625 9493 | INC LINE_CNT -| 000626 9160 0102 | LDS XPIXEL,XPIXEL_SAV -| 000628 90A0 0100 | LDS XBYTE,XBYTE_SAV -| 00062A 2AAC | L03A3: OR XBYTE,YL -| 00062B EF1F | LDI A,$FF -| 00062C 9080 0154 | LDS X_SIZE,RECT_XX -| 00062E E000 | LDI F,$00 -| 00062F 1680 | CP X_SIZE,F -| 000630 F041 | BREQ L03B0 -| 000631 E008 | LDI F,$08 -| 000632 1680 | CP X_SIZE,F -| 000633 F0B8 | BRLO L03C2 -| 000634 2366 | TST XPIXEL -| 000635 F019 | BREQ L03B0 -| 000636 9516 | L03AD: LSR A -| 000637 956A | DEC XPIXEL -| 000638 F7E9 | BRNE L03AD -| 000639 D13B | L03B0: RCALL WR_DISP_MEM -| 00063A E008 | LDI F,$08 -| 00063B 9110 0102 | LDS A,XPIXEL_SAV -| 00063D 1B01 | SUB F,A -| 00063E 1A80 | SUB X_SIZE,F -| 00063F 94A3 | INC XBYTE -| 000640 EF1F | LDI A,$FF -| 000641 E008 | L03B8: LDI F,$08 -| 000642 1680 | CP X_SIZE,F -| 000643 F038 | BRLO L03C2 -| 000644 F0B1 | BREQ L03D2 -| 000645 D12F | RCALL WR_DISP_MEM -| 000646 EF1F | LDI A,$FF -| 000647 E008 | LDI F,$08 -| 000648 1A80 | SUB X_SIZE,F -| 000649 94A3 | INC XBYTE -| 00064A CFF6 | RJMP L03B8 -| 00064B 2088 | L03C2: TST X_SIZE -| 00064C F079 | BREQ L03D3 -| 00064D 9516 | L03C4: LSR A -| 00064E 948A | DEC X_SIZE -| 00064F F7E9 | BRNE L03C4 -| 000650 9510 | COM A -| 000651 2366 | TST XPIXEL -| 000652 F041 | BREQ L03D2 -| 000653 2722 | CLR B -| 000654 9516 | L03CB: LSR A -| 000655 9527 | ROR B -| 000656 956A | DEC XPIXEL -| 000657 F7E1 | BRNE L03CB -| 000658 D11C | RCALL WR_DISP_MEM -| 000659 94A3 | INC XBYTE -| 00065A 2F12 | MOV A,B -| 00065B D119 | L03D2: RCALL WR_DISP_MEM -| 00065C DF57 | L03D3: RCALL NICK_SUB1 -| 00065D 947A | DEC Y_SIZE -| 00065E 2700 | CLR F -| 00065F 1270 | CPSE Y_SIZE,F -| 000660 CFC2 | RJMP L039A -| 000661 9508 | NO_GO: RET -| | -| | FILLED_RECTNC: -| 000662 9100 0158 | LDS F,RECTNC_XX -| 000664 950A | DEC F -| 000665 3002 | CPI F,2 -| 000666 F3D0 | BRLO NO_GO -| 000667 9100 0159 | LDS F,RECTNC_YY -| 000669 3003 | CPI F,3 -| 00066A F3B0 | BRLO NO_GO -| | -| 00066B 9100 0156 | LDS F,RECTNC_X -| 00066D 9503 | INC F -| 00066E 9300 0152 | STS RECT_X,F -| 000670 9100 0157 | LDS F,RECTNC_Y -| 000672 9300 0153 | STS RECT_Y,F -| 000674 9080 0158 | LDS X_SIZE,RECTNC_XX -| 000676 948A | DEC X_SIZE -| 000677 948A | DEC X_SIZE -| 000678 9280 0154 | STS RECT_XX,X_SIZE -| 00067A E001 | LDI F,$01 -| 00067B 9300 0155 | STS RECT_YY,F -| 00067D DF8F | RCALL DRAW_RECT -| | -| 00067E 9100 0156 | LDS F,RECTNC_X -| 000680 9300 0152 | STS RECT_X,F -| 000682 9080 0158 | LDS X_SIZE,RECTNC_XX -| 000684 9280 0154 | STS RECT_XX,X_SIZE -| 000686 C03A | RJMP FILLED_RECTNC_ENTRY -| | -| | DRAW_RECTNC: -| 000687 9100 0158 | LDS F,RECTNC_XX -| 000689 950A | DEC F -| 00068A 3002 | CPI F,2 -| 00068B F2A8 | BRLO NO_GO -| 00068C 9100 0159 | LDS F,RECTNC_YY -| 00068E 3003 | CPI F,3 -| 00068F F288 | BRLO NO_GO -| | -| 000690 9100 0156 | LDS F,RECTNC_X -| 000692 9503 | INC F -| 000693 9300 0152 | STS RECT_X,F -| 000695 9100 0157 | LDS F,RECTNC_Y -| 000697 9300 0153 | STS RECT_Y,F -| 000699 9080 0158 | LDS X_SIZE,RECTNC_XX -| 00069B 948A | DEC X_SIZE -| 00069C 948A | DEC X_SIZE -| 00069D 9280 0154 | STS RECT_XX,X_SIZE -| 00069F E001 | LDI F,$01 -| 0006A0 9300 0155 | STS RECT_YY,F -| 0006A2 DF6A | RCALL DRAW_RECT -| | -| 0006A3 9100 0156 | LDS F,RECTNC_X -| 0006A5 9300 0152 | STS RECT_X,F -| 0006A7 9100 0157 | LDS F,RECTNC_Y -| 0006A9 9503 | INC F -| 0006AA 9300 0153 | STS RECT_Y,F -| 0006AC 9070 0159 | LDS Y_SIZE,RECTNC_YY -| 0006AE 947A | DEC Y_SIZE -| 0006AF 947A | DEC Y_SIZE -| 0006B0 9270 0155 | STS RECT_YY,Y_SIZE -| 0006B2 E001 | LDI F,$01 -| 0006B3 9300 0154 | STS RECT_XX,F -| 0006B5 DF57 | RCALL DRAW_RECT -| | -| 0006B6 9080 0158 | LDS X_SIZE,RECTNC_XX -| 0006B8 9100 0156 | LDS F,RECTNC_X -| 0006BA 0D08 | ADD F,X_SIZE -| 0006BB 950A | DEC F -| 0006BC 9300 0152 | STS RECT_X,F -| 0006BE E001 | LDI F,$01 -| 0006BF 9300 0154 | STS RECT_XX,F -| | FILLED_RECTNC_ENTRY: -| 0006C1 9100 0157 | LDS F,RECTNC_Y -| 0006C3 9503 | INC F -| 0006C4 9300 0153 | STS RECT_Y,F -| 0006C6 9070 0159 | LDS Y_SIZE,RECTNC_YY -| 0006C8 947A | DEC Y_SIZE -| 0006C9 947A | DEC Y_SIZE -| 0006CA 9270 0155 | STS RECT_YY,Y_SIZE -| 0006CC DF40 | RCALL DRAW_RECT -| | -| 0006CD 9100 0156 | LDS F,RECTNC_X -| 0006CF 9503 | INC F -| 0006D0 9300 0152 | STS RECT_X,F -| 0006D2 9080 0158 | LDS X_SIZE,RECTNC_XX -| 0006D4 948A | DEC X_SIZE -| 0006D5 948A | DEC X_SIZE -| 0006D6 9280 0154 | STS RECT_XX,X_SIZE -| 0006D8 9070 0159 | LDS Y_SIZE,RECTNC_YY -| 0006DA 9100 0157 | LDS F,RECTNC_Y -| 0006DC 0D07 | ADD F,Y_SIZE -| 0006DD 950A | DEC F -| 0006DE 9300 0153 | STS RECT_Y,F -| 0006E0 E001 | LDI F,$01 -| 0006E1 9300 0155 | STS RECT_YY,F -| 0006E3 CF29 | RJMP DRAW_RECT -| | -| | ; ----------------------------------------------------------------------------- -| | -| | TX_EMPTY: -| 0006E4 > MTX_EMPTY -| 0006E4 B61F > IN SR,SREG -| 0006E5 930F > PUSH F -| > -| 0006E6 ED0F > LDI F,-API_TIMEOUT ; FEED TX/RX WATCHDOG -| 0006E7 2EC0 > MOV API_WATCHDOG,F -| > -| 0006E8 93EF > PUSH ZL -| 0006E9 93FF > PUSH ZH -| 0006EA 2DE4 > MOV ZL,TX_PTR -| 0006EB 5AE0 > SUBI ZL,-TX_BUF -| 0006EC 27FF > CLR ZH -| 0006ED 8100 > LD F,Z ; GET CHARACTER FROM TX BUFFER -| 0006EE 91FF > POP ZH -| 0006EF 91EF > POP ZL -| > -| 0006F0 B90C > OUT UDR,F -| > -| 0006F1 945A > DEC TX_COUNT -| 0006F2 9443 > INC TX_PTR -| 0006F3 E10F > LDI F,TX_SIZE-1 -| 0006F4 2240 > AND TX_PTR,F -| > -| 0006F5 946A > DEC API_REMAIN ; MORE TO SEND? -| 0006F6 F00A > BRMI GO_API_DONE1 ; YES, AWAIT NEXT TX EMPTY INTERRUPT -| 0006F7 C04C > RJMP API_REINIT ; NO, AWAIT NEXT DATA SIZE COMMAND -| > GO_API_DONE1: -| 0006F8 C051 > RJMP API_DONE -| | RX_COMPLETE: -| 0006F9 > MRX_COMPLETE -| 0006F9 B61F > IN SR,SREG -| 0006FA 930F > PUSH F -| > -| 0006FB ED0F > LDI F,-API_TIMEOUT ; FEED TX/RX WATCHDOG -| 0006FC 2EC0 > MOV API_WATCHDOG,F -| > -| 0006FD B10C > IN F,UDR -| 0006FE 995C > SBIC USR,FE ; BREAK DETECTED? -| 0006FF C03E > RJMP API_FRAMING_ERROR -| > -| 000700 FCE7 > SBRC API_STATE,APIDATA -| 000701 C02C > RJMP API_RX_DATA ; WITH F = CHARACTER -| 000702 FCE6 > SBRC API_STATE,APISIZE -| 000703 C00E > RJMP API_DATA_SIZE ; WITH F = CHARACTER -| > -| > ; RECEIVED 4800 BPS ADDRESS COMMAND -| 000704 3002 > CPI F,API_ADDRESS ; CHARACTER = MY ADDRESS? -| 000705 F431 > BRNE API_ADDRESS_DONE -| > -| 000706 E003 > LDI F,API_RATE_FAST ; 115200 BPS -| 000707 B909 > OUT UBRR,F ; SET UART RATE -| > -| 000708 9A53 > SBI UCR,TXEN ; ENABLE UART TX AND TXD PIN -| > -| 000709 E400 > LDI F,1< OR API_STATE,F ; SAY WE ARE EXPECTING DATA SIZE CMD -| 00070B C03E > RJMP API_DONE -| > -| > API_ADDRESS_DONE: -| 00070C 3A0A > CPI F,$AA ; CHARACTER = TURNON COMMAND? -| 00070D F419 > BRNE API_TURNON_DONE -| 00070E E000 > LDI F,0 -| 00070F 9300 016A > STS TURNON_COUNT,F ; REQUEST IMMEDIATE TURNON -| > API_TURNON_DONE: -| > ; 18DEC01 RESTORED IT TO NORMAL FOR HYT1500 RELEASE -| > ; CPI F,9 ; REALLY A VALID ADDRESS COMMAND? -| > ; BRLO API_BAD_DONE ; YES, ALL IS OK (IT WAS SOMEONE ELSE) -| > ; PUSH ZL ; NO, WARN THAT THE BUS HAS ERRORS -| > ; PUSH ZH -| > ; MOV ZL,RX_COUNT -| > ; CPI ZL,RX_SIZE -| > ; BRSH API_BAD_SKIP -| > ; ADD ZL,RX_PTR -| > ; ANDI ZL,RX_SIZE-1 -| > ; SUBI ZL,-RX_BUF -| > ; CLR ZH -| > ; LDI F,'*' ; DIAGNOSTIC INDICATOR FOR BAD COMMAND -| > ; ST Z,F ; SAVE CHARACTER IN RX BUFFER -| > ; INC RX_COUNT -| > ;API_BAD_SKIP: -| > ; POP ZH -| > ; POP ZL -| > ;API_BAD_DONE: -| 000711 C038 > RJMP API_DONE -| > -| > API_DATA_SIZE: -| > ; RECEIVED DATA SIZE COMMAND -| 000712 2E60 > MOV API_REMAIN,F -| > -| 000713 E800 > LDI F,RX_SIZE -| 000714 1903 > SUB F,RX_COUNT ; F = AVAILABLE RX BUFFER -| 000715 F40A > BRPL RX_RESPOND_F -| 000716 E70F > LDI F,$7F ; F = MAXIMUM POSSIBLE TRANSFER COUNT -| > -| > RX_RESPOND_F: -| 000717 2066 > TST API_REMAIN ; TEST TRANSFER DIRECTION -| 000718 F412 > BRPL RX_RESPOND ; USE F IF WE NEED TO RECEIVE -| > -| 000719 2D05 > MOV F,TX_COUNT -| 00071A 6800 > ORI F,$80 ; F = QUEUED TX CHARACTERS -| > -| > RX_RESPOND: -| > ; SEND DATA SIZE RESPONSE -| > ; API_REMAIN = HOST MAX, F = OUR MAX -| 00071B B90C > OUT UDR,F ; SEND DATA SIZE RESPONSE -| > -| 00071C 1506 > CP F,API_REMAIN -| 00071D F408 > BRSH RX_RESPOND_OK -| 00071E 2E60 > MOV API_REMAIN,F ; API_REMAIN = LESSER OUR / HOST MAX -| > -| > RX_RESPOND_OK: -| 00071F 2D06 > MOV F,API_REMAIN -| 000720 770F > ANDI F,$7F ; NULL REQUEST? -| 000721 F039 > BREQ API_NULL ; YES, REVERT TO 4800 WHEN TX COMPLETE -| > ; NO, AWAIT RX COMPLETE / TX EMPTY INT -| 000722 EC00 > LDI F,1< OR API_STATE,F ; WE ARE EXPECTING TO TRANSFER DATA -| > -| 000724 946A > DEC API_REMAIN ; NUDGE FOR BRPL / BRMI ALGORITHM -| 000725 F522 > BRPL API_DONE ; WE WILL RECEIVE, NO FURTHER ACTION -| > -| 000726 9857 > CBI UCR,RXCIE ; DISABLE UART RX COMPLETE INTERRUPT -| 000727 9A55 > SBI UCR,UDRIE ; ENABLE UART DATA REGISTER EMPTY INT -| 000728 C021 > RJMP API_DONE -| > -| > API_NULL: -| 000729 EB0F > LDI F,~(1< AND API_STATE,F ; IN CASE NO DATA TRANSFERRED -| > -| 00072B 9A56 > SBI UCR,TXCIE ; ENABLE UART TX COMPLETE INTERRUPT -| 00072C 9A5E > SBI USR,TXC ; CLEAR UART TX COMPLETE PENDING BIT -| 00072D C01C > RJMP API_DONE -| > -| > API_RX_DATA: -| > ; RECEIVED DATA BYTE, SAVE IT -| > ; OUT UDR,API_REMAIN -| > -| 00072E 93EF > PUSH ZL -| 00072F 93FF > PUSH ZH -| 000730 2DE3 > MOV ZL,RX_COUNT -| 000731 0DE2 > ADD ZL,RX_PTR -| 000732 77EF > ANDI ZL,RX_SIZE-1 -| 000733 58E0 > SUBI ZL,-RX_BUF -| 000734 27FF > CLR ZH -| 000735 8300 > ST Z,F ; SAVE CHARACTER IN RX BUFFER -| 000736 91FF > POP ZH -| 000737 91EF > POP ZL -| > -| 000738 9433 > INC RX_COUNT -| > -| 000739 946A > DEC API_REMAIN ; MORE TO RECEIVE? -| 00073A F47A > BRPL API_DONE ; YES, AWAIT NEXT RX COMPLETE INTERRUPT -| 00073B C00C > RJMP API_REVERT ; NO, AWAIT NEXT DATA SIZE COMMAND -| | ;FEED_WDOG: -| | ; MFEED_WDOG -| | TX_COMPLETE: -| 00073C > MTX_COMPLETE -| 00073C B61F > IN SR,SREG -| | API_TIMEOUT_ERROR: -| 00073D > MAPI_TIMEOUT_ERROR -| 00073D 930F > PUSH F -| | API_FRAMING_ERROR: -| | API_RESET_ERROR: -| 00073E > MAPI_FRAMING_ERROR -| 00073E 9853 > CBI UCR,TXEN ; DISABLE UART TX AND TXD PIN -| 00073F E50F > LDI F,API_RATE_SLOW ; 4800 BPS IF EXPECTING ADDRESS COMMAND -| 000740 B909 > OUT UBRR,F ; SET UART RATE -| > -| 000741 EB0F > LDI F,~(1< AND API_STATE,F ; EXPECTING ADDRESS COMMAND -| 000743 24CC > CLR API_WATCHDOG ; NO ACTION, JUST WAIT TO RECEIVE ADDR -| | API_REINIT: -| 000744 > MAPI_REINIT -| 000744 9855 > CBI UCR,UDRIE ; DISABLE UART TX EMPTY INTERRUPT -| 000745 9856 > CBI UCR,TXCIE ; DISABLE UART TX COMPLETE INTERRRUPT -| 000746 9A57 > SBI UCR,RXCIE ; ENABLE UART RX COMPLETE INTERRUPT -| 000747 B10C > IN F,UDR ; CLEAR UART RX COMPLETE PENDING BIT -| | API_REVERT: -| 000748 > MAPI_REVERT -| 000748 E70F > LDI F,~(1< AND API_STATE,F ; EXPECTING ADDRESS / DATA SIZE COMMAND -| | API_DONE: -| 00074A > MAPI_DONE -| 00074A 910F > POP F -| 00074B BE1F > OUT SREG,SR -| 00074C 9518 > RETI -| | -| | ; ----------------------------------------------------------------------------- -| | -| | CALCULATE_XBYTE: -| 00074D 24AA | CLR XBYTE -| 00074E EF00 | LDI F,$F0 -| 00074F 1AA0 | SUB XBYTE,F -| 000750 FF67 | SBRS XPIXEL,7 -| 000751 24AA | CLR XBYTE -| 000752 776F | ANDI XPIXEL,$7F -| 000753 5068 | L0415: SUBI XPIXEL,$08 -| 000754 F014 | BRLT L0419 -| 000755 94A3 | INC XBYTE -| 000756 CFFC | RJMP L0415 -| 000757 5F68 | L0419: SUBI XPIXEL,$F8 -| 000758 9508 | RET -| | -| 000759 > LPMS: A0_A13 YL,YH -| 000759 2F3C > MOV R19,YL -| 00075A 733F > ANDI R19,$3F -| 00075B BB35 > OUT PORTC,R19 -| > -| 00075C 2F3D > MOV R19,YH -| 00075D 0F33 > LSL R19 -| 00075E 0F33 > LSL R19 -| 00075F FBC7 > BST YL,7 ; A7 -| 000760 F931 > BLD R19,1 -| 000761 FBC6 > BST YL,6 ; A6 -| 000762 F930 > BLD R19,0 -| 000763 BB3B > OUT PORTA,R19 -| 000764 94F8 > CLI -| 000765 9AC3 > SBI PORTB,3 -| 000766 98C3 > CBI PORTB,3 -| 000767 9478 > SEI -| 000768 9330 0118 > STS LATCH11_SAV,R19 -| 00076A > RAMRD R0 -| 00076A 2700 > CLR F -| 00076B BB0A > OUT DDRA,F ; PORTA INPUT -| 00076C 94F8 > CLI -| 00076D 98C0 > CBI PORTB,0 ; CS_ON -| 00076E 0000 > NOP -| 00076F 9AC0 > SBI PORTB,0 ; CS_OFF -| 000770 B209 > IN R0,PINA ; READ DATA -| 000771 9478 > SEI -| 000772 EF0F > LDI F,$FF -| 000773 BB0A > OUT DDRA,F ; PORTA OUTPUT -| 000774 9508 | RET ;RETI -| | -| | WR_DISP_MEM: -| 000775 > A0_A13 XBYTE,YH -| 000775 2D3A > MOV R19,XBYTE -| 000776 733F > ANDI R19,$3F -| 000777 BB35 > OUT PORTC,R19 -| > -| 000778 2F3D > MOV R19,YH -| 000779 0F33 > LSL R19 -| 00077A 0F33 > LSL R19 -| 00077B FAA7 > BST XBYTE,7 ; A7 -| 00077C F931 > BLD R19,1 -| 00077D FAA6 > BST XBYTE,6 ; A6 -| 00077E F930 > BLD R19,0 -| 00077F BB3B > OUT PORTA,R19 -| 000780 94F8 > CLI -| 000781 9AC3 > SBI PORTB,3 -| 000782 98C3 > CBI PORTB,3 -| 000783 9478 > SEI -| 000784 9330 0118 > STS LATCH11_SAV,R19 -| 000786 > RAMRD W -| 000786 2700 > CLR F -| 000787 BB0A > OUT DDRA,F ; PORTA INPUT -| 000788 94F8 > CLI -| 000789 98C0 > CBI PORTB,0 ; CS_ON -| 00078A 0000 > NOP -| 00078B 9AC0 > SBI PORTB,0 ; CS_OFF -| 00078C B2F9 > IN W,PINA ; READ DATA -| 00078D 9478 > SEI -| 00078E EF0F > LDI F,$FF -| 00078F BB0A > OUT DDRA,F ; PORTA OUTPUT -| 000790 FEB1 | SBRS FLAGS,1 -| 000791 C003 | RJMP L043E -| 000792 9510 | COM A -| 000793 22F1 | AND W,A -| 000794 C003 | RJMP L0441 -| 000795 26F1 | L043E: EOR W,A -| 000796 FCB0 | SBRC FLAGS,0 -| 000797 2AF1 | OR W,A -| 000798 > L0441: A0_A13 XBYTE,YH -| 000798 2D3A > MOV R19,XBYTE -| 000799 733F > ANDI R19,$3F -| 00079A BB35 > OUT PORTC,R19 -| > -| 00079B 2F3D > MOV R19,YH -| 00079C 0F33 > LSL R19 -| 00079D 0F33 > LSL R19 -| 00079E FAA7 > BST XBYTE,7 ; A7 -| 00079F F931 > BLD R19,1 -| 0007A0 FAA6 > BST XBYTE,6 ; A6 -| 0007A1 F930 > BLD R19,0 -| 0007A2 BB3B > OUT PORTA,R19 -| 0007A3 94F8 > CLI -| 0007A4 9AC3 > SBI PORTB,3 -| 0007A5 98C3 > CBI PORTB,3 -| 0007A6 9478 > SEI -| 0007A7 9330 0118 > STS LATCH11_SAV,R19 -| 0007A9 > RAMWR W -| 0007A9 BAFB > OUT PORTA,W -| 0007AA 94F8 > CLI -| 0007AB 98C1 > CBI PORTB,1 -| 0007AC 98C0 > CBI PORTB,0 -| 0007AD 0000 > NOP -| 0007AE 9AC0 > SBI PORTB,0 -| 0007AF 9478 > SEI -| 0007B0 9AC1 > SBI PORTB,1 -| 0007B1 9508 | RET ;RETI -| | -| | CLEAR_DISPLAY: -| 0007B2 2777 | CLR CURSORX ; HOME CURSOR -| 0007B3 2788 | CLR CURSORY -| 0007B4 2499 | CLR LINE_CNT -| 0007B5 E0C0 | LDI YL,LOW(DRAW_DSPRAM) -| 0007B6 E2D0 | LDI YH,HIGH(DRAW_DSPRAM) -| 0007B7 E118 | LDI A,HIGH(DRAW_DSPRAM>>6) -| 0007B8 D3D4 | RCALL SELECT_XPAGE -| | CLEAR_DISPLAY_LOOP: -| 0007B9 24AA | CLR XBYTE -| 0007BA 92A0 0100 | STS XBYTE_SAV,XBYTE -| 0007BC 9110 0100 | L065C: LDS A,XBYTE_SAV -| 0007BE 2B1C | OR A,YL -| 0007BF > A0_A13 A,YH -| 0007BF 2F31 > MOV R19,A -| 0007C0 733F > ANDI R19,$3F -| 0007C1 BB35 > OUT PORTC,R19 -| > -| 0007C2 2F3D > MOV R19,YH -| 0007C3 0F33 > LSL R19 -| 0007C4 0F33 > LSL R19 -| 0007C5 FB17 > BST A,7 ; A7 -| 0007C6 F931 > BLD R19,1 -| 0007C7 FB16 > BST A,6 ; A6 -| 0007C8 F930 > BLD R19,0 -| 0007C9 BB3B > OUT PORTA,R19 -| 0007CA 94F8 > CLI -| 0007CB 9AC3 > SBI PORTB,3 -| 0007CC 98C3 > CBI PORTB,3 -| 0007CD 9478 > SEI -| 0007CE 9330 0118 > STS LATCH11_SAV,R19 -| 0007D0 E000 | LDI F,$00 -| 0007D1 > RAMWR F -| 0007D1 BB0B > OUT PORTA,F -| 0007D2 94F8 > CLI -| 0007D3 98C1 > CBI PORTB,1 -| 0007D4 98C0 > CBI PORTB,0 -| 0007D5 0000 > NOP -| 0007D6 9AC0 > SBI PORTB,0 -| 0007D7 9478 > SEI -| 0007D8 9AC1 > SBI PORTB,1 -| 0007D9 94A3 | INC XBYTE -| 0007DA E200 | LDI F,$20 -| 0007DB 16A0 | CP XBYTE,F -| 0007DC F019 | BREQ L0674 -| 0007DD 92A0 0100 | STS XBYTE_SAV,XBYTE -| 0007DF CFDC | RJMP L065C -| 0007E0 DDD3 | L0674: RCALL NICK_SUB1 -| 0007E1 9493 | INC LINE_CNT -| 0007E2 5CC0 | SUBI YL,LOW(-$40) -| 0007E3 4FDF | SBCI YH,HIGH(-$40) -| 0007E4 34D0 | CPI YH,HIGH(DRAW_DSPRAM+DISPLAY_LINES*$40) -| 0007E5 > RJNE CLEAR_DISPLAY_LOOP -| 0007E5 F009 > BREQ LOCAL -| 0007E6 CFD2 > RJMP CLEAR_DISPLAY_LOOP -| > LOCAL: -| 0007E7 9508 | RET -| | -| | ; ----------------------------------------------------------------------------- -| | -| | EXT_INT0: -| | ;**: -| 0007E8 9518 | RETI -| | ;** IN SR,SREG ; MEASURE VCC -| | ;** SBI DDRD,2 -| | ;** IN C,TCNT1L -| | ;** IN D,TCNT1H -| | ;** STS VCCH,D -| | ;** STS VCCL,C -| | ;** RJMP EXT_INT_RET -| | -| | EXT_INT1: -| 0007E9 B61F | IN SR,SREG ; MEASURE TEMPERATURE -| 0007EA 9A8B | SBI DDRD,3 -| 0007EB B54C | IN C,TCNT1L -| 0007EC B55D | IN D,TCNT1H -| 0007ED 9350 0109 | STS TMPH,D -| 0007EF 9340 0108 | STS TMPL,C -| 0007F1 C114 | RJMP EXT_INT_RET -| | -| | T1_OVERFLOW: -| 0007F2 B61F | IN SR,SREG -| 0007F3 B35A | IN D,DDRA ; SAVE STATE OF THE WORLD -| 0007F4 935F | PUSH D -| 0007F5 B35B | IN D,PORTA -| 0007F6 935F | PUSH D -| 0007F7 B355 | IN D,PORTC -| 0007F8 935F | PUSH D -| 0007F9 9150 0118 | LDS D,LATCH11_SAV -| 0007FB 935F | PUSH D -| | -| 0007FC EF5F | LDI D,$FF -| 0007FD BB5A | OUT DDRA,D ; PORTA OUTPUT -| | -| 0007FE E750 | LDI D,$70 ; FORCE DUMMY COMPARE MATCH -| 0007FF BD5F | OUT TCCR1A,D ; TO SET OC1B, TOGGLE OC1A -| 000800 B54C | IN C,TCNT1L ; (FOR REV E PARTS) -| 000801 B55D | IN D,TCNT1H ; READ CURRENT COUNT -| 000802 5F48 | SUBI C,LOW(-8) ; ADD JUST ENOUGH TIME -| 000803 4F5F | SBCI D,HIGH(-8) ; FOR THESE INSTRUCTIONS -| 000804 BD5B | OUT OCR1AH,D ; AND WRITE TO COMPARE REGISTERS -| 000805 BD4A | OUT OCR1AL,C -| 000806 BD59 | OUT OCR1BH,D -| 000807 BD48 | OUT OCR1BL,C -| | -| 000808 9140 014C | LDS C,CLOCKING_PTR -| | ; TST C ; START OF 4 LINE BLOCK? (1 BASED) -| 00080A 9150 014D | lds d,CLOCKING_PTR+1 -| 00080C 7051 | andi d,1 -| 00080D 2B45 | or c,d ; checks for start of an 8 line block -| | ; rjmp BREAK0 ; temporary (prevents switching off via power switch) -| 00080E F449 | BRNE BREAK0 ; NO, BREAK COUNTER IS OK FOR NOW -| | -| 00080F 9150 016B | LDS D,BREAK_COUNT -| 000811 9553 | INC D ; HAD BREAK SOLIDLY FOR TIMEOUT? -| 000812 9350 016B | STS BREAK_COUNT,D -| 000814 F451 | BRNE BREAK1 ; NO, CLOCK OUT TO DISPLAY AS NORMAL -| 000815 EB5F | LDI D,~(1<<6) -| 000816 22B5 | AND FLAGS,D ; SAY WE TURNED OFF VIA BREAK DETECTION -| | GO_SLEEP_ENTRY: -| 000817 C92D | RJMP SLEEP_ENTRY -| | -| 000818 0000 | BREAK0: NOP -| 000819 0000 | NOP -| 00081A 0000 | NOP -| 00081B 0000 | NOP -| 00081C 0000 | NOP -| 00081D 0000 | NOP -| 00081E 0000 | NOP -| 00081F 9A8B | BREAK1: SBI DDRD,3 ; PRECHARGE TEMPERATURE MEASUREMENT -| 000820 9A93 | SBI PORTD,3 -| | -| 000821 2755 | CLR D -| 000822 BD5E | OUT TCCR1B,D ; STOP TIMER1 -| 000823 BD5D | OUT TCNT1H,D ; AND CLEAR COUNT -| 000824 BD5C | OUT TCNT1L,D -| | -| 000825 9150 014D | LDS D,CLOCKING_PTR+1 -| 000827 2B54 | OR D,C ; START OF FRAME? (REALLY LINE 1) -| 000828 F071 | BREQ L04E6 ; YES, GO AND TOGGLE M ETC -| | -| 000829 9150 0117 | LDS D,LATCH10_SAV -| 00082B BB5B | OUT PORTA,D -| 00082C 9AC4 | SBI PORTB,4 -| 00082D 9ADD | SBI PORTA,5 ; PULSE CL1 -| 00082E 98DD | CBI PORTA,5 -| 00082F 98C4 | CBI PORTB,4 -| 000830 0000 | NOP ; EQUALIZE DELAY -| 000831 0000 | NOP -| 000832 0000 | NOP -| 000833 0000 | NOP -| 000834 0000 | NOP -| 000835 0000 | NOP -| 000836 C00E | RJMP L04F9 -| | -| 000837 9150 0117 | L04E6: LDS D,LATCH10_SAV -| 000839 6850 | ORI D,$80 ; RAISE FLM -| 00083A 6250 | ORI D,$20 ; RAISE CL1 -| 00083B BB5B | OUT PORTA,D -| | -| 00083C 9AC4 | SBI PORTB,4 -| 00083D E640 | LDI C,$60 ; TOGGLE M AND CL1 -| 00083E 2754 | EOR D,C -| 00083F BB5B | OUT PORTA,D -| 000840 775F | ANDI D,$7F ; DROP FLM -| 000841 BB5B | OUT PORTA,D -| 000842 98C4 | CBI PORTB,4 -| 000843 9350 0117 | STS LATCH10_SAV,D -| | -| 000845 9150 0117 | L04F9: LDS D,LATCH10_SAV ; SAVE STATE -| 000847 935F | PUSH D -| | -| 000848 93EF | PUSH ZL -| 000849 93FF | PUSH ZH -| 00084A 91E0 014C | LDS ZL,CLOCKING_PTR -| 00084C 91F0 014D | LDS ZH,CLOCKING_PTR+1 -| | -| 00084E 5CE0 | SUBI ZL,LOW(-$40) -| 00084F 4FFF | SBCI ZH,HIGH(-$40) -| 000850 71FF | ANDI ZH,HIGH(DISPLAY_LINES*$40-1) -| | -| 000851 > A0_A15 ZL,ZH -| 000851 933F > PUSH R19 -| > -| 000852 2F3E > MOV R19,ZL -| 000853 733F > ANDI R19,$3F -| 000854 BB35 > OUT PORTC,R19 -| > -| 000855 2F3F > MOV R19,ZH -| 000856 0F33 > LSL R19 -| 000857 0F33 > LSL R19 -| 000858 FBE7 > BST ZL,7 ; A7 -| 000859 F931 > BLD R19,1 -| 00085A FBE6 > BST ZL,6 ; A6 -| 00085B F930 > BLD R19,0 -| 00085C BB3B > OUT PORTA,R19 -| 00085D 9AC3 > SBI PORTB,3 -| 00085E 98C3 > CBI PORTB,3 -| 00085F 93F0 0118 > STS LATCH11_SAV,ZH -| > -| 000861 9130 0117 > LDS R19,LATCH10_SAV ; AND THIS -| 000863 FBF7 > BST ZH,7 ; A15 -| 000864 F931 > BLD R19,1 -| 000865 FBF6 > BST ZH,6 ; A14 -| 000866 F930 > BLD R19,0 -| 000867 BB3B > OUT PORTA,R19 -| 000868 9AC4 > SBI PORTB,4 -| 000869 98C4 > CBI PORTB,4 -| 00086A 9330 0117 > STS LATCH10_SAV,R19 -| > -| 00086C 913F > POP R19 -| | -| 00086D 98C1 | CBI PORTB,1 ; CLR HC590 -| 00086E 9AC1 | SBI PORTB,1 -| 00086F 9897 | CBI PORTD,7 ; DROP OE FOR HC590 -| 000870 2744 | CLR C -| 000871 BB4A | OUT DDRA,C ; PORTA HI Z -| 000872 EC40 | LDI C,$C0 -| 000873 BB44 | OUT DDRC,C ; PORTC HI Z -| 000874 98C0 | CBI PORTB,0 ; DROP CS FOR DSPRAM -| | -| 000875 2755 | CLR D -| 000876 BD5B | OUT OCR1AH,D -| | -| | ; LDI D,1 ; TO CLOCK AT 5.5/2 MHZ -| 000877 BD5A | OUT OCR1AL,D ; TO CLOCK AT 7.3/2 MHZ -| 000878 E059 | LDI D,$09 -| 000879 BD5E | OUT TCCR1B,D ; START CL2 CLOCKING WITH CLR ON MATCH -| | -| 00087A 93E0 014C | STS CLOCKING_PTR,ZL -| 00087C 93F0 014D | STS CLOCKING_PTR+1,ZH -| 00087E 91FF | POP ZH -| 00087F 91EF | POP ZL -| | -| | ;!!! LDI D,$7A ; WAIT FOR 32uSEC -| | ; LDI D,58 ;$7A ; WAIT FOR 32uSEC GOOD -| 000880 E35C | LDI D,60 ; WAIT FOR 32uSEC -| | ; LDI D,61 ;$7A ; WAIT FOR 32uSEC -| | ; LDI D,62 ;$7A ; WAIT FOR 32uSEC GOOD -| | -| 000881 955A | L050E: DEC D -| 000882 F7F1 | BRNE L050E -| | -| 000883 9AC0 | SBI PORTB,0 ; RAISE CS FOR DSPRAM -| 000884 EF5F | LDI D,$FF -| 000885 BB5A | OUT DDRA,D ; PORTA OUTPUT -| 000886 9A97 | SBI PORTD,7 ; RAISE OE FOR HC590 -| 000887 BB54 | OUT DDRC,D ; PORTC OUTPUT -| | -| 000888 988D | CBI DDRD,5 ; CL2 INPUT TO MEASURE VEE -| 000889 9895 | CBI PORTD,5 ; REMOVE PULL UP -| | -| 00088A E051 | LDI D,$01 ; KILL CLR ON COMPARE MATCH -| 00088B 0000 | NOP ; !WITH OC1A LEFT IN LOW STATE -| 00088C BD5E | OUT TCCR1B,D -| | -| 00088D E05B | LDI D,$0B ; WAIT FOR 3uSEC -| | SETTLE_CL2: -| 00088E 955A | DEC D -| 00088F F7F1 | BRNE SETTLE_CL2 -| | -| 000890 9150 010D | LDS D,VEEH -| 000892 9140 010C | LDS C,VEEL -| 000894 9A8D | SBI DDRD,5 ; CL2 LOW OUTPUT -| 000895 9985 | SBIC PIND,5 ; SAMPLE CL2 JUST BEFORE CHANGE -| 000896 C007 | RJMP L052F -| | -| 000897 334A | CPI C,LOW(VEE_MIN) -| 000898 EF9D | LDI E,HIGH(VEE_MIN) -| 000899 0759 | CPC D,E -| 00089A F052 | BRMI L0535 -| | -| 00089B 5041 | SUBI C,$01 -| 00089C 4050 | SBCI D,$00 -| 00089D C00B | RJMP L0536 -| | -| 00089E 3D45 | L052F: CPI C,LOW(VEE_MAX) -| 00089F EF9F | LDI E,HIGH(VEE_MAX) -| 0008A0 0759 | CPC D,E -| 0008A1 F41A | BRPL L0535 -| | -| 0008A2 5F4F | SUBI C,$FF -| 0008A3 4F5F | SBCI D,$FF -| 0008A4 C004 | RJMP L0536 -| | -| 0008A5 0000 | L0535: NOP ; EQUALIZE DELAYS -| 0008A6 0000 | NOP -| 0008A7 0000 | NOP -| 0008A8 0000 | NOP -| 0008A9 9350 010D | L0536: STS VEEH,D -| 0008AB 9340 010C | STS VEEL,C -| 0008AD BD5B | OUT OCR1AH,D ; SET SWITCHING TIME FOR VEE MEASURE -| 0008AE BD4A | OUT OCR1AL,C -| | -| 0008AF 9140 010C | LDS C,VEEL -| 0008B1 9150 010D | LDS D,VEEH -| 0008B3 9190 010E | LDS E,CONTRASTL -| 0008B5 1B49 | SUB C,E -| 0008B6 9190 010F | LDS E,CONTRASTH -| 0008B8 0B59 | SBC D,E -| 0008B9 F41A | BRPL L0545 -| | -| 0008BA ED45 | LDI C,LOW(CONTRAST_SHORT) -| 0008BB EF5F | LDI D,HIGH(CONTRAST_SHORT) -| 0008BC C004 | RJMP L0547 -| | -| 0008BD EA4C | L0545: LDI C,LOW(CONTRAST_LONG) -| 0008BE EF5E | LDI D,HIGH(CONTRAST_LONG) -| 0008BF 0000 | NOP -| 0008C0 0000 | NOP -| | -| 0008C1 BD59 | L0547: OUT OCR1BH,D ; SET SWITCHING TIME FOR VEE GENERATOR -| 0008C2 BD48 | OUT OCR1BL,C -| | -| 0008C3 E052 | LDI D,2 ; SET TIME FOR START OF LED PULSE -| 0008C4 BF53 | OUT TCCR0,D ; PRESCALE=CK/8 -| 0008C5 EE5D | LDI D,-TK_DELAY_0 ; 54uSEC -| 0008C6 BF52 | OUT TCNT0,D -| 0008C7 E051 | LDI D,1 -| 0008C8 9350 0168 | STS SCAN_STATE,D -| | -| 0008CA EF5D | LDI D,HIGH(T1_FULL_SCALE) -| 0008CB BD5D | OUT TCNT1H,D -| 0008CC E354 | LDI D,LOW(T1_FULL_SCALE) -| 0008CD BD5C | OUT TCNT1L,D -| | -| 0008CE 988B | CBI DDRD,3 ; START TEMPERATURE MEASUREMENT -| 0008CF 9893 | CBI PORTD,3 -| | -| 0008D0 EE50 | LDI D,$E0 ; NEXT COMPARE MATCH MUST SET OC1A -| 0008D1 BD5F | OUT TCCR1A,D ; AND CLR OC1B (FOR REV E PARTS) -| | -| 0008D2 C021 | RJMP T1_OVERFLOW_RET -| | -| | T0_OVERFLOW: -| 0008D3 B61F | IN SR,SREG ; LED/PHOTODIODE SCANNING -| 0008D4 B35A | IN D,DDRA ; SAVE STATE OF THE WORLD -| 0008D5 935F | PUSH D -| 0008D6 B35B | IN D,PORTA -| 0008D7 935F | PUSH D -| 0008D8 B355 | IN D,PORTC -| 0008D9 935F | PUSH D -| 0008DA 9150 0118 | LDS D,LATCH11_SAV -| 0008DC 935F | PUSH D -| 0008DD 9150 0117 | LDS D,LATCH10_SAV -| 0008DF 935F | PUSH D -| | -| 0008E0 93FF | PUSH ZH -| 0008E1 93EF | PUSH ZL -| 0008E2 920F | PUSH R0 -| | -| 0008E3 EF5F | LDI D,$FF -| 0008E4 BB5A | OUT DDRA,D ; PORTA OUTPUT -| | -| 0008E5 9150 0168 | LDS D,SCAN_STATE -| 0008E7 9553 | INC D -| 0008E8 9350 0168 | STS SCAN_STATE,D -| 0008EA 955A | DEC D -| 0008EB F0E1 | BREQ SCAN_START ; IF SCAN_STATE WAS = 0 -| 0008EC 955A | DEC D -| 0008ED F111 | BREQ SCAN_BEEPER ; IF SCAN_STATE WAS = 1 -| | ; IMPLEMENT ENTRY POINT FOR SCAN_PULSE_LED HERE -| 0008EE 955A | DEC D -| 0008EF > RJEQ SCAN_PHOTO ; IF SCAN_STATE WAS = 2 -| 0008EF F409 > BRNE LOCAL -| 0008F0 C089 > RJMP SCAN_PHOTO -| > LOCAL: -| | -| | T0_OVERFLOW_RET: -| 0008F1 900F | POP R0 -| 0008F2 91EF | POP ZL -| 0008F3 91FF | POP ZH -| | -| | T1_OVERFLOW_RET: -| 0008F4 915F | POP D ; RESTORE STATE OF THE WORLD -| 0008F5 BB5B | OUT PORTA,D -| 0008F6 9AC4 | SBI PORTB,4 -| 0008F7 98C4 | CBI PORTB,4 -| 0008F8 9350 0117 | STS LATCH10_SAV,D -| 0008FA 915F | POP D -| 0008FB BB5B | OUT PORTA,D -| 0008FC 9AC3 | SBI PORTB,3 -| 0008FD 98C3 | CBI PORTB,3 -| 0008FE 9350 0118 | STS LATCH11_SAV,D -| 000900 915F | POP D -| 000901 BB55 | OUT PORTC,D -| 000902 915F | POP D -| 000903 BB5B | OUT PORTA,D -| 000904 915F | POP D -| 000905 BB5A | OUT DDRA,D -| | ;MFEED_WDOG -| | EXT_INT_RET: -| 000906 BE1F | OUT SREG,SR -| 000907 9518 | RETI -| | -| | SCAN_START: -| 000908 E053 | LDI D,3 ;5 -| 000909 BF53 | OUT TCCR0,D ; PRESCALE=CK/1024 -| 00090A EF50 | LDI D,-TK_DELAY_1 ;TK_DELAY_2 -| 00090B BF52 | OUT TCNT0,D -| 00090C E051 | LDI D,1 -| 00090D 9350 0168 | STS SCAN_STATE,D -| 00090F C153 | RJMP L0617_RESET -| | -| | SCAN_BEEPER: -| 000910 9150 0110 | LDS D,BUZZ_TIME -| 000912 2355 | TST D -| 000913 F199 | BREQ SCAN_PULSE_LED -| 000914 9150 0111 | LDS D,BUZZ_PERIOD -| 000916 5150 | SUBI D,$10 -| 000917 F018 | BRLO BUZZ_TOGGLE -| 000918 9350 0111 | STS BUZZ_PERIOD,D -| 00091A C02C | RJMP SCAN_PULSE_LED -| | BUZZ_TOGGLE: ; ASSUME D = $F0 + PERIOD-1 -| 00091B 2F45 | MOV C,D ; EG. C = $F3 FOR PERIOD = 4 -| 00091C 9542 | SWAP C ; EG. C = $3F FOR PERIOD = 4 -| 00091D 2354 | AND D,C ; EG. D = $33 FOR PERIOD = 4 -| 00091E 9350 0111 | STS BUZZ_PERIOD,D -| 000920 9140 0119 | LDS C,LATCH12_SAV -| 000922 FF43 | SBRS C,3 ; TEST PREVIOUS SPEAKER STATE -| 000923 C010 | RJMP BEEPER_SPKHI -| 000924 9150 0110 | LDS D,BUZZ_TIME -| 000926 955A | DEC D -| 000927 9350 0110 | STS BUZZ_TIME,D -| 000929 F0A1 | BREQ BEEPER_SPKOFF -| | ;BEEPER_SPKLO: -| 00092A > SPKLO -| 00092A 9150 0119 > LDS D,LATCH12_SAV ; DRIVE SPEAKER LO -| 00092C 7F57 > CBR D,1<<3 -| 00092D 6054 > SBR D,1<<2 -| 00092E BB55 > OUT PORTC,D -| 00092F 9AC2 > SBI PORTB,2 -| 000930 98C2 > CBI PORTB,2 -| 000931 9350 0119 > STS LATCH12_SAV,D -| 000933 C013 | RJMP SCAN_PULSE_LED -| | BEEPER_SPKHI: -| 000934 > SPKHI -| 000934 9150 0119 > LDS D,LATCH12_SAV ; DRIVE SPEAKER HI -| 000936 6058 > SBR D,1<<3 -| 000937 7F5B > CBR D,1<<2 -| 000938 BB55 > OUT PORTC,D -| 000939 9AC2 > SBI PORTB,2 -| 00093A 98C2 > CBI PORTB,2 -| 00093B 9350 0119 > STS LATCH12_SAV,D -| 00093D C009 | RJMP SCAN_PULSE_LED -| | BEEPER_SPKOFF: -| 00093E > SPKOFF -| 00093E 9150 0119 > LDS D,LATCH12_SAV ; DRIVE SPEAKER OFF -| 000940 7F57 > CBR D,1<<3 -| 000941 7F5B > CBR D,1<<2 -| 000942 BB55 > OUT PORTC,D -| 000943 9AC2 > SBI PORTB,2 -| 000944 98C2 > CBI PORTB,2 -| 000945 9350 0119 > STS LATCH12_SAV,D -| | -| | SCAN_PULSE_LED: -| 000947 9150 0169 | LDS D,LATCH5_SAV -| | ;**: -| 000949 FF57 | SBRS D,7 ; ARE WE INSIDE SLEEP_LOOP? -| | ;** SBRC D,7 -| 00094A C006 | RJMP SCAN_PULSE_LED_OK ; YES, KEEP TIMER 0 TO RETAIN CONTROL -| | -| 00094B E850 | LDI D,1<<7 -| 00094C 26B5 | EOR FLAGS,D -| 00094D F41A | BRPL SCAN_PULSE_LED_OK ; PULSE LED EVERY 2ND CYCLE -| | -| 00094E 2755 | CLR D -| 00094F BF53 | OUT TCCR0,D ; STOP TIMER -| 000950 CFA0 | RJMP T0_OVERFLOW_RET ; AND WASTE EVERY REMAINING CYCLE -| | -| | SCAN_PULSE_LED_OK: -| 000951 E052 | LDI D,2 -| 000952 BF53 | OUT TCCR0,D ; PRESCALE=CK/8 -| 000953 EF52 | LDI D,-TK_LED_PULSE ; 22uSEC -| 000954 BF52 | OUT TCNT0,D -| | -| | ;LDIZ SCAN_TBL ; POINT TO FIRST LED CHANNEL -| 000955 E3EA | LDI ZL,LOW((SCAN_TBL)*2) ; USE PRIOR TO LPM INSTRUCTION -| 000956 E1F8 | LDI ZH,HIGH((SCAN_TBL)*2) ; EXTRA BRACKETS NEEDED IF @0=EXPRESSION -| | -| 000957 2755 | CLR D -| 000958 0DED | ADD ZL,SCAN -| 000959 1FF5 | ADC ZH,D -| 00095A 95C8 | LPM ; R0 = LED DRIVE VALUE -| 00095B E354 | LDI D,13*4 -| 00095C 16D5 | CP SCAN,D -| 00095D F448 | BRSH L0570 -| 00095E > LEDLO ; ENABLE HORIZ LED DRIVE -| 00095E 9150 0119 > LDS D,LATCH12_SAV ; DRIVE LED COMMON LO -| 000960 7E5F > CBR D,1<<4 -| 000961 BB55 > OUT PORTC,D -| 000962 9AC2 > SBI PORTB,2 -| 000963 98C2 > CBI PORTB,2 -| 000964 9350 0119 > STS LATCH12_SAV,D -| 000966 C008 | RJMP L0574 -| 000967 > L0570: LEDHI ; DISABLE HORIZ LED DRIVE -| 000967 9150 0119 > LDS D,LATCH12_SAV ; DRIVE LED COMMON HI -| 000969 6150 > SBR D,1<<4 -| 00096A BB55 > OUT PORTC,D -| 00096B 9AC2 > SBI PORTB,2 -| 00096C 98C2 > CBI PORTB,2 -| 00096D 9350 0119 > STS LATCH12_SAV,D -| 00096F > L0574: LED R0 -| 00096F BA0B > OUT PORTA,R0 ; MAIN LED DRIVE PORT -| 000970 9000 0119 > LDS R0,LATCH12_SAV -| 000972 BA05 > OUT PORTC,R0 -| 000973 9AA9 > SBI PORTC,1 -| 000974 9AC2 > SBI PORTB,2 ; THIS WILL PROVIDE LE=1 -| 000975 98C2 > CBI PORTB,2 ; THIS WILL PROVIDE G=0 -| 000976 98A9 > CBI PORTC,1 -| 000977 9AC2 > SBI PORTB,2 ; THIS WILL PROVIDE LE=1 -| 000978 98C2 > CBI PORTB,2 ; THIS WILL PROVIDE G=0 -| 000979 CF77 | RJMP T0_OVERFLOW_RET -| | -| | SCAN_PHOTO: -| 00097A B350 | IN D,PIND ; PHOTODIODE STATUS IN BIT 6,D -| 00097B EE40 | LDI C,$E0 -| 00097C > LED C ; TURN OFF LED ?? -| 00097C BB4B > OUT PORTA,C ; MAIN LED DRIVE PORT -| 00097D 9140 0119 > LDS C,LATCH12_SAV -| 00097F BB45 > OUT PORTC,C -| 000980 9AA9 > SBI PORTC,1 -| 000981 9AC2 > SBI PORTB,2 ; THIS WILL PROVIDE LE=1 -| 000982 98C2 > CBI PORTB,2 ; THIS WILL PROVIDE G=0 -| 000983 98A9 > CBI PORTC,1 -| 000984 9AC2 > SBI PORTB,2 ; THIS WILL PROVIDE LE=1 -| 000985 98C2 > CBI PORTB,2 ; THIS WILL PROVIDE G=0 -| | -| 000986 9488 | CLC -| 000987 FD56 | SBRC D,6 -| 000988 C008 | RJMP L0593 ; ROW/COLUMN IS INACTIVE -| | -| | ; ROW/COLUMN IS ACTIVE -| 000989 9150 0113 | LDS D,DEBOUNCE -| 00098B 2355 | TST D -| 00098C F019 | BREQ L0591 -| 00098D E054 | LDI D,$04 -| 00098E 9350 0113 | STS DEBOUNCE,D -| 000990 9408 | L0591: SEC -| | -| | L0593: ; WE HAVE A ROW/COLUMN STATUS IN CF -| 000991 B74F | IN C,SREG -| | -| 000992 E354 | LDI D,13*4 -| 000993 16D5 | CP SCAN,D -| 000994 F460 | BRSH L05A8 -| | -| | ; WE HAVE A ROW STATUS -| 000995 BF4F | OUT SREG,C ; CF = 0 INACTIVE, CF = 1 ACTIVE -| 000996 91E0 0115 | LDS ZL,ROW_BITMAP -| 000998 91F0 0116 | LDS ZH,ROW_BITMAP+1 -| 00099A 1FEE | ROL ZL -| 00099B 1FFF | ROL ZH -| 00099C 93E0 0115 | STS ROW_BITMAP,ZL -| 00099E 93F0 0116 | STS ROW_BITMAP+1,ZH -| 0009A0 C07B | RJMP L05F9 -| | -| | L05A8: ; WE HAVE A COLUMN STATUS -| | ; LDS D,LATCH5_SAV -| | ;;**: -| | ; SBRS D,7 ; TURNED OFF? -| | ;;** SBRC D,7 -| | ; RJMP L05F9 ; YES, NO FURTHER PROCESSING -| 0009A1 BF4F | OUT SREG,C ; CF = 0 INACTIVE, CF = 1 ACTIVE -| 0009A2 F008 | BRCS L05AB -| 0009A3 C078 | RJMP L05F9 -| | -| | L05AB: ; WE HAVE AN ACTIVE COLUMN -| 0009A4 9150 0113 | LDS D,DEBOUNCE -| 0009A6 2355 | TST D -| 0009A7 F021 | BREQ L05B3 -| 0009A8 E054 | LDI D,$04 -| 0009A9 9350 0113 | STS DEBOUNCE,D -| 0009AB C070 | RJMP L05F9 -| | -| | L05B3: ; LOOK FOR ANY ACTIVE ROW -| 0009AC 91F0 0116 | LDS ZH,ROW_BITMAP+1 -| 0009AE 91E0 0115 | LDS ZL,ROW_BITMAP -| | -| 0009B0 9150 0114 | LDS D,ROW_INDEX -| 0009B2 2355 | TST D -| 0009B3 F029 | BREQ ROW_BITMAP_LOOP -| | -| 0009B4 2F45 | MOV C,D -| | ROW_BITMAP_SKIP: -| 0009B5 95F7 | ROR ZH -| 0009B6 95E7 | ROR ZL -| 0009B7 5044 | SUBI C,4 -| 0009B8 F7E1 | BRNE ROW_BITMAP_SKIP -| | -| | ROW_BITMAP_LOOP: -| 0009B9 5F5C | SUBI D,-4 -| 0009BA 95F7 | ROR ZH -| 0009BB 95E7 | ROR ZL -| 0009BC F018 | BRCS FOUND_INTERSECTION -| | ROW_BITMAP_LOOPE: -| 0009BD 3354 | CPI D,13*4 -| 0009BE F3D0 | BRLO ROW_BITMAP_LOOP -| | -| | ; NO FURTHER INTERSECTING ROWS FOUND -| 0009BF C05C | RJMP L05F9 -| | -| | FOUND_INTERSECTION: -| | ; FOUND AN INTERSECTING ROW FOR COLUMN -| 0009C0 9350 0114 | STS ROW_INDEX,D -| | -| 0009C2 E344 | LDI C,$34 ; BECAUSE ROW_BITMAP IS BEING TESTED -| 0009C3 1B45 | SUB C,D ; IN THE REVERSE ORDER TO ITS CREATION -| | -| | ;LDIZ SCAN_TBL+1 ; POINT TO FIRST TOUCH CHANNEL -| 0009C4 E3EC | LDI ZL,LOW((SCAN_TBL+1)*2) ; USE PRIOR TO LPM INSTRUCTION -| 0009C5 E1F8 | LDI ZH,HIGH((SCAN_TBL+1)*2) ; EXTRA BRACKETS NEEDED IF @0=EXPRESSION -| | -| 0009C6 2755 | CLR D -| 0009C7 0FE4 | ADD ZL,C -| 0009C8 1FF5 | ADC ZH,D -| 0009C9 95C8 | LPM -| 0009CA 2D40 | MOV C,R0 -| 0009CB 0C00 | LSL R0 -| 0009CC 0C00 | LSL R0 -| 0009CD 0C00 | LSL R0 -| 0009CE 0D40 | ADD C,R0 -| 0009CF 0C00 | LSL R0 -| 0009D0 0D40 | ADD C,R0 -| | -| | ;LDIZ SCAN_TBL+1 ; POINT TO FIRST TOUCH CHANNEL -| 0009D1 E3EC | LDI ZL,LOW((SCAN_TBL+1)*2) ; USE PRIOR TO LPM INSTRUCTION -| 0009D2 E1F8 | LDI ZH,HIGH((SCAN_TBL+1)*2) ; EXTRA BRACKETS NEEDED IF @0=EXPRESSION -| | -| 0009D3 2755 | CLR D -| 0009D4 0DED | ADD ZL,SCAN -| 0009D5 1FF5 | ADC ZH,D -| 0009D6 95C8 | LPM -| 0009D7 0D40 | ADD C,R0 -| 0009D8 E0E0 | LDI ZL,LOW(RTN_DSPRAM) ; RETURN CODE TABLE -| 0009D9 EEF0 | LDI ZH,HIGH(RTN_DSPRAM) -| 0009DA 2755 | CLR D -| 0009DB 0FE4 | ADD ZL,C -| 0009DC 1FF5 | ADC ZH,D -| | -| 0009DD > A0_A15 ZL,ZH -| 0009DD 933F > PUSH R19 -| > -| 0009DE 2F3E > MOV R19,ZL -| 0009DF 733F > ANDI R19,$3F -| 0009E0 BB35 > OUT PORTC,R19 -| > -| 0009E1 2F3F > MOV R19,ZH -| 0009E2 0F33 > LSL R19 -| 0009E3 0F33 > LSL R19 -| 0009E4 FBE7 > BST ZL,7 ; A7 -| 0009E5 F931 > BLD R19,1 -| 0009E6 FBE6 > BST ZL,6 ; A6 -| 0009E7 F930 > BLD R19,0 -| 0009E8 BB3B > OUT PORTA,R19 -| 0009E9 9AC3 > SBI PORTB,3 -| 0009EA 98C3 > CBI PORTB,3 -| 0009EB 93F0 0118 > STS LATCH11_SAV,ZH -| > -| 0009ED 9130 0117 > LDS R19,LATCH10_SAV ; AND THIS -| 0009EF FBF7 > BST ZH,7 ; A15 -| 0009F0 F931 > BLD R19,1 -| 0009F1 FBF6 > BST ZH,6 ; A14 -| 0009F2 F930 > BLD R19,0 -| 0009F3 BB3B > OUT PORTA,R19 -| 0009F4 9AC4 > SBI PORTB,4 -| 0009F5 98C4 > CBI PORTB,4 -| 0009F6 9330 0117 > STS LATCH10_SAV,R19 -| > -| 0009F8 913F > POP R19 -| | -| 0009F9 930F | PUSH F -| 0009FA > RAMRDX R0 -| 0009FA 2700 > CLR F -| 0009FB BB0A > OUT DDRA,F ; PORTA INPUT -| 0009FC 98C0 > CBI PORTB,0 ; CS_ON -| 0009FD 0000 > NOP -| 0009FE 9AC0 > SBI PORTB,0 ; CS_OFF -| 0009FF B209 > IN R0,PINA ; READ DATA -| 000A00 EF0F > LDI F,$FF -| 000A01 BB0A > OUT DDRA,F ; PORTA OUTPUT -| 000A02 910F | POP F -| | -| 000A03 2000 | TST R0 -| 000A04 F429 | BRNE VALID_INTERSECTION -| | -| | ; INTERSECTION IS NULL, GO ON TO NEXT -| 000A05 9150 0114 | LDS D,ROW_INDEX -| 000A07 3354 | CPI D,13*4 -| 000A08 F498 | BRSH L05F9 ; DONE LAST ROW, GO ON TO NEXT COLUMN -| | GO_L0617: -| 000A09 C05E | RJMP L0617 ; GO ON TO NEXT ROW, SAME COLUMN -| | -| | VALID_INTERSECTION: -| | ; INTERSECTION IS VALID, WE HAVE KEY MAKE -| 000A0A E054 | LDI D,$04 -| 000A0B 9350 0113 | STS DEBOUNCE,D -| 000A0D 9200 0107 | STS ACTIVE_ZONE,R0 -| 000A0F E356 | LDI D,54 ;43 -| 000A10 9350 0110 | STS BUZZ_TIME,D ; SHORT BEEP ON MAKE -| | -| 000A12 2D55 | MOV D,TX_COUNT -| 000A13 315F | CPI D,TX_SIZE-1 -| 000A14 F438 | BRSH L05F9 -| | -| 000A15 931F | PUSH A -| 000A16 2D10 | MOV A,R0 -| 000A17 DA8D | RCALL TX_CHAR -| 000A18 311B | CPI A,$1B -| 000A19 F409 | BRNE TX_CONT -| 000A1A DA8A | RCALL TX_CHAR -| | TX_CONT: -| 000A1B 911F | POP A -| | -| | L05F9: -| 000A1C E054 | LDI D,4 ; SCAN TO NEXT LED / PHOTODIODE PAIR -| 000A1D 0ED5 | ADD SCAN,D -| | -| 000A1E 9150 0169 | LDS D,LATCH5_SAV -| 000A20 FD57 | SBRC D,7 -| 000A21 C027 | RJMP TURNED_ON -| | -| 000A22 E053 | LDI D,3 -| 000A23 BF53 | OUT TCCR0,D ; PRESCALE=CK/64 -| 000A24 EF50 | LDI D,-TK_DELAY_1 -| 000A25 BF52 | OUT TCNT0,D -| 000A26 E051 | LDI D,1 -| 000A27 9350 0168 | STS SCAN_STATE,D -| | -| 000A29 E344 | LDI C,13*4 -| 000A2A 16D4 | CP SCAN,C -| 000A2B F2E8 | BRLO GO_L0617 -| | -| | ; KEEP VDD ON, TO AVOID THE LONG TK_DELAY_2 -| | ;LDS D,LATCH5_SAV -| | ;ANDI D,$BF ; BIT 6 = 0 VDD OFF -| | ;STS LATCH5_SAV,D -| | ;PHOTO D ; READY TO SLEEP FOR ANOTHER 0.25 SEC -| | -| 000A2C E050 | LDI D,0 -| 000A2D BF53 | OUT TCCR0,D ; STOP TIMER SINCE COMPLETE SCAN DONE -| | ;RJMP T0_OVERFLOW_RET -| | -| | ;LDI D,$05 -| | ;OUT UBRR,D -| | ;LDI D,$18 -| | ;OUT UCR,D -| 000A2E 9150 0116 | LDS D,ROW_BITMAP+1 -| 000A30 9140 0115 | LDS C,ROW_BITMAP -| | ;OUT UDR,C -| | ;OUT UDR,D -| 000A32 2B45 | OR C,D ; HAVE WE SOME ACTIVITY? -| | -| 000A33 9150 016A | LDS D,TURNON_COUNT -| 000A35 3054 | CPI D,4 -| 000A36 F418 | BRSH TURNON_BREAK ; WAITING FOR BREAK -| 000A37 3051 | CPI D,1 -| 000A38 F428 | BRSH TURNON_MAKE ; WAITING FOR MAKE -| | GO_T0_OVERFLOW_RET: -| 000A39 CEB7 | RJMP T0_OVERFLOW_RET ; ALREADY HAD MAKE, NOT TURNED ON YET -| | -| | TURNON_BREAK: -| 000A3A 2344 | TST C ; HAD SOME ACTIVITY? -| 000A3B F029 | BREQ TURNON_SAVE ; NO, COUNT DOWN TO BREAK -| 000A3C E055 | LDI D,4+1 ; YES, RESTART COUNTDOWN TO BREAK -| 000A3D C003 | RJMP TURNON_SAVE -| | TURNON_MAKE: -| 000A3E 2344 | TST C ; HAD SOME ACTIVITY? -| 000A3F F409 | BRNE TURNON_SAVE ; YES, COUNT DOWN TO MAKE -| 000A40 E054 | LDI D,3+1 ; NO, RESTART COUNTDOWN TO MAKE -| | TURNON_SAVE: -| 000A41 955A | DEC D ; COUNT DOWN TO MAKE OR BREAK -| 000A42 9350 016A | STS TURNON_COUNT,D -| 000A44 F7A1 | BRNE GO_T0_OVERFLOW_RET ; NOT READY TO TRY TURNON YET -| | -| 000A45 EB5F | LDI D,~(1<<6) -| 000A46 22B5 | AND FLAGS,D ; SAY WE TURNED OFF VIA BREAK DETECTION -| 000A47 988A | CBI DDRD,2 ; D2 = TRI-STATE, VSWT ON -| 000A48 CDCE | RJMP GO_SLEEP_ENTRY ; WE WILL NOW WAIT FOR TURNON COMMAND -| | -| | TURNED_ON: -| 000A49 E050 | LDI D,0 ; STOP TIMER, WE WILL REGAIN -| 000A4A BF53 | OUT TCCR0,D ; CONTROL VIA NEXT CLOCKING INTERRUPT -| 000A4B 9350 0114 | STS ROW_INDEX,D -| | -| 000A4D EC48 | LDI C,50*4 -| 000A4E 16D4 | CP SCAN,C -| 000A4F F0C0 | BRLO L0617 -| | -| 000A50 9150 0113 | LDS D,DEBOUNCE ; COMPLETED ENTIRE SCAN, START NEW SCAN -| 000A52 2355 | TST D -| 000A53 F079 | BREQ L0617_RESET -| 000A54 955A | DEC D -| 000A55 9350 0113 | STS DEBOUNCE,D -| 000A57 F459 | BRNE L0617_RESET -| | -| 000A58 9150 0107 | LDS D,ACTIVE_ZONE -| 000A5A 2355 | TST D -| 000A5B F039 | BREQ L0617_RESET -| | -| 000A5C 2D55 | MOV D,TX_COUNT -| 000A5D 3250 | CPI D,TX_SIZE -| 000A5E F420 | BRSH L0617_RESET -| | -| 000A5F 931F | PUSH A -| 000A60 E010 | LDI A,0 -| 000A61 DA43 | RCALL TX_CHAR -| 000A62 911F | POP A -| | -| | L0617_RESET: -| 000A63 24DD | CLR SCAN -| 000A64 92D0 0115 | STS ROW_BITMAP,SCAN -| 000A66 92D0 0116 | STS ROW_BITMAP+1,SCAN -| | -| | L0617: ; SELECT PHOTODIODE AND ALLOW TO SETTLE -| | ;LDIZ SCAN_TBL -| 000A68 E3EA | LDI ZL,LOW((SCAN_TBL)*2) ; USE PRIOR TO LPM INSTRUCTION -| 000A69 E1F8 | LDI ZH,HIGH((SCAN_TBL)*2) ; EXTRA BRACKETS NEEDED IF @0=EXPRESSION -| | -| 000A6A 9631 | ADIW ZL,1 ; POINT TO FIRST PHOTO CHANNEL -| 000A6B 2755 | CLR D -| 000A6C 0DED | ADD ZL,SCAN -| 000A6D 1FF5 | ADC ZH,D -| 000A6E 95C8 | LPM -| 000A6F 9150 0169 | LDS D,LATCH5_SAV -| 000A71 7850 | ANDI D,$80 ; BIT 7 = PRESERVED, LCD ON/OFF STATUS -| 000A72 6450 | ORI D,$40 ; BIT 6 = 1 VDD ON -| 000A73 2950 | OR D,R0 -| 000A74 9350 0169 | STS LATCH5_SAV,D -| 000A76 > PHOTO D -| 000A76 BB5B > OUT PORTA,D ; SELECT PHOTODIODE CHANNEL -| 000A77 9150 0119 > LDS D,LATCH12_SAV -| 000A79 BB55 > OUT PORTC,D -| 000A7A 9AA8 > SBI PORTC,0 -| 000A7B 9AC2 > SBI PORTB,2 ; THIS WILL PROVIDE LE=1 -| 000A7C 98C2 > CBI PORTB,2 ; THIS WILL PROVIDE G=0 -| 000A7D 98A8 > CBI PORTC,0 -| 000A7E 9AC2 > SBI PORTB,2 ; THIS WILL PROVIDE LE=1 -| 000A7F 98C2 > CBI PORTB,2 ; THIS WILL PROVIDE G=0 -| 000A80 CE70 | RJMP T0_OVERFLOW_RET -| | -| 000A81 2499 | SCROLL: CLR LINE_CNT -| | -| 000A82 E0C0 | LDI YL,LOW(DRAW_DSPRAM) ; SCROLL UP -| 000A83 E2D0 | LDI YH,HIGH(DRAW_DSPRAM) -| 000A84 E0A0 | LDI XL,LOW(DRAW_DSPRAM) -| 000A85 E2B0 | LDI XH,HIGH(DRAW_DSPRAM) -| | -| 000A86 E118 | LDI A,HIGH(DRAW_DSPRAM>>6) -| 000A87 D105 | RCALL SELECT_XPAGE -| | -| 000A88 5CA0 | L0628: SUBI XL,LOW(-$40) -| 000A89 4FBF | SBCI XH,HIGH(-$40) -| 000A8A 940A | DEC R0 -| 000A8B F7E1 | BRNE L0628 -| | -| 000A8C E220 | L062C: LDI B,$20 ; COPYING 32 BYTES -| 000A8D 932F | L062D: PUSH B -| 000A8E D0C8 | RCALL READ_BYTE -| 000A8F D0E3 | RCALL WRITE_BYTE -| 000A90 95A3 | INC XL -| 000A91 95C3 | INC YL -| 000A92 912F | POP B -| 000A93 952A | DEC B -| 000A94 > RJNE L062D ;BRNE L062D -| 000A94 F009 > BREQ LOCAL -| 000A95 CFF7 > RJMP L062D -| > LOCAL: -| | -| 000A96 DB1D | RCALL NICK_SUB1 -| 000A97 9493 | INC LINE_CNT -| 000A98 96A0 | ADIW YL,$20 -| 000A99 9690 | ADIW XL,$20 -| 000A9A 34B0 | CPI XH,HIGH(DRAW_DSPRAM+DISPLAY_LINES*$40) -| 000A9B > RJNE L062C ;BRNE L062C -| 000A9B F009 > BREQ LOCAL -| 000A9C CFEF > RJMP L062C -| > LOCAL: -| 000A9D CD1B | RJMP CLEAR_DISPLAY_LOOP -| | -| | SCROLL_REGION: -| 000A9E D9DF | RCALL RX_WAIT -| 000A9F 931F | PUSH A ; DIRECTION TO SCROLL -| | -| 000AA0 D9DD | RCALL RX_WAIT -| 000AA1 9310 0172 | STS SCROLL_COUNT,A ; AMOUNT TO SCROLL IN PIXEL LINES -| | -| 000AA3 D9DA | RCALL RX_WAIT -| 000AA4 9516 | LSR A -| 000AA5 9516 | LSR A -| 000AA6 9516 | LSR A -| 000AA7 F409 | BRNE SCROLL_WIDTH_OK -| 000AA8 E210 | LDI A,32 ; ENTRY WIDTH OF 0 = FULL -| | SCROLL_WIDTH_OK: -| 000AA9 9310 0175 | STS SCROLL_XX,A ; X SIZE OF REGION IN BYTES -| | -| 000AAB D9D2 | RCALL RX_WAIT -| 000AAC 9310 0176 | STS SCROLL_YY,A ; Y SIZE OF REGION IN PIXEL LINES -| | -| 000AAE 2F17 | MOV A,CURSORX -| 000AAF 9516 | LSR A -| 000AB0 9516 | LSR A -| 000AB1 9516 | LSR A -| 000AB2 9310 0173 | STS SCROLL_X,A -| 000AB4 9380 0174 | STS SCROLL_Y,CURSORY -| | -| 000AB6 E118 | LDI A,HIGH(DRAW_DSPRAM>>6) -| 000AB7 D0D5 | RCALL SELECT_XPAGE -| | -| 000AB8 911F | POP A ; DIRECTION TO SCROLL -| 000AB9 FD10 | SBRC A,0 -| 000ABA C046 | RJMP SCROLL_DOWN -| | -| | ;SCROLL_UP: -| 000ABB 27CC | CLR YL -| 000ABC 91D0 0174 | LDS YH,SCROLL_Y -| 000ABE 2E9D | MOV LINE_CNT,YH ; FOR NICK_SUB1 -| 000ABF 95D6 | LSR YH -| 000AC0 95C7 | ROR YL -| 000AC1 95D6 | LSR YH -| 000AC2 95C7 | ROR YL -| 000AC3 9110 0173 | LDS A,SCROLL_X -| 000AC5 0FC1 | ADD YL,A -| 000AC6 5ED0 | SUBI YH,HIGH(-DRAW_DSPRAM) ; Y = DESTINATION WITHIN DRAWING BUFFER -| | -| 000AC7 9120 0176 | LDS B,SCROLL_YY -| 000AC9 9110 0172 | LDS A,SCROLL_COUNT -| 000ACB 1712 | CP A,B -| 000ACC F520 | BRSH SCROLL_UP_CLEAR ; WITH B = LINES TO CLEAR -| 000ACD 1B21 | SUB B,A ; CALCULATE B = LINES TO COPY INTACT -| | -| 000ACE 27AA | CLR XL -| 000ACF 91B0 0174 | LDS XH,SCROLL_Y -| 000AD1 0FB1 | ADD XH,A ; SCROLL_COUNT -| 000AD2 95B6 | LSR XH -| 000AD3 95A7 | ROR XL -| 000AD4 95B6 | LSR XH -| 000AD5 95A7 | ROR XL -| 000AD6 9110 0173 | LDS A,SCROLL_X -| 000AD8 0FA1 | ADD XL,A -| 000AD9 5EB0 | SUBI XH,HIGH(-DRAW_DSPRAM) ; X = SOURCE WITHIN DRAWING BUFFER -| | -| | SCROLL_UP_LOOP: -| 000ADA 932F | PUSH B -| 000ADB 93AF | PUSH XL -| 000ADC 93BF | PUSH XH -| 000ADD 93CF | PUSH YL -| 000ADE 93DF | PUSH YH -| | -| 000ADF 9120 0175 | LDS B,SCROLL_XX -| 000AE1 D068 | RCALL COPY_BYTES -| 000AE2 DAD1 | RCALL NICK_SUB1 -| | -| 000AE3 91DF | POP YH -| 000AE4 91CF | POP YL -| 000AE5 91BF | POP XH -| 000AE6 91AF | POP XL -| 000AE7 912F | POP B -| | -| 000AE8 9493 | INC LINE_CNT -| 000AE9 5CA0 | SUBI XL,LOW(-$40) -| 000AEA 4FBF | SBCI XH,HIGH(-$40) -| 000AEB 5CC0 | SUBI YL,LOW(-$40) -| 000AEC 4FDF | SBCI YH,HIGH(-$40) -| | -| 000AED 952A | DEC B -| 000AEE F759 | BRNE SCROLL_UP_LOOP -| | -| 000AEF 9120 0172 | LDS B,SCROLL_COUNT ; B = LINES TO CLEAR -| | -| | SCROLL_UP_CLEAR: -| 000AF1 932F | PUSH B -| 000AF2 93CF | PUSH YL -| 000AF3 93DF | PUSH YH -| | -| 000AF4 9120 0175 | LDS B,SCROLL_XX -| 000AF6 D05A | RCALL CLEAR_BYTES -| 000AF7 DABC | RCALL NICK_SUB1 -| | -| 000AF8 91DF | POP YH -| 000AF9 91CF | POP YL -| 000AFA 912F | POP B -| | -| 000AFB 9493 | INC LINE_CNT -| 000AFC 5CC0 | SUBI YL,LOW(-$40) -| 000AFD 4FDF | SBCI YH,HIGH(-$40) -| | -| 000AFE 952A | DEC B -| 000AFF F789 | BRNE SCROLL_UP_CLEAR -| | -| 000B00 CB06 | RJMP GO_MAIN_LOOP -| | -| | SCROLL_DOWN: -| 000B01 27CC | CLR YL -| 000B02 91D0 0174 | LDS YH,SCROLL_Y -| 000B04 9100 0176 | LDS F,SCROLL_YY -| 000B06 0FD0 | ADD YH,F -| 000B07 2E9D | MOV LINE_CNT,YH ; FOR NICK_SUB1 -| 000B08 95D6 | LSR YH -| 000B09 95C7 | ROR YL -| 000B0A 95D6 | LSR YH -| 000B0B 95C7 | ROR YL -| 000B0C 9110 0173 | LDS A,SCROLL_X -| 000B0E 0FC1 | ADD YL,A -| 000B0F 5ED0 | SUBI YH,HIGH(-DRAW_DSPRAM) ; Y = DESTINATION WITHIN DRAWING BUFFER -| | -| 000B10 2F20 | MOV B,F ;LDS B,SCROLL_YY -| 000B11 9110 0172 | LDS A,SCROLL_COUNT -| 000B13 1712 | CP A,B -| 000B14 F528 | BRSH SCROLL_DOWN_CLEAR ; WITH B = LINES TO CLEAR -| 000B15 1B21 | SUB B,A ; CALCULATE B = LINES TO COPY INTACT -| | -| 000B16 27AA | CLR XL -| 000B17 91B0 0174 | LDS XH,SCROLL_Y -| 000B19 0FB0 | ADD XH,F -| 000B1A 1BB1 | SUB XH,A ; SCROLL_COUNT -| 000B1B 95B6 | LSR XH -| 000B1C 95A7 | ROR XL -| 000B1D 95B6 | LSR XH -| 000B1E 95A7 | ROR XL -| 000B1F 9110 0173 | LDS A,SCROLL_X -| 000B21 0FA1 | ADD XL,A -| 000B22 5EB0 | SUBI XH,HIGH(-DRAW_DSPRAM) ; X = SOURCE WITHIN DRAWING BUFFER -| | -| | SCROLL_DOWN_LOOP: -| 000B23 949A | DEC LINE_CNT -| 000B24 54A0 | SUBI XL,LOW($40) -| 000B25 40B0 | SBCI XH,HIGH($40) -| 000B26 54C0 | SUBI YL,LOW($40) -| 000B27 40D0 | SBCI YH,HIGH($40) -| | -| 000B28 932F | PUSH B -| 000B29 93AF | PUSH XL -| 000B2A 93BF | PUSH XH -| 000B2B 93CF | PUSH YL -| 000B2C 93DF | PUSH YH -| | -| 000B2D 9120 0175 | LDS B,SCROLL_XX -| 000B2F D01A | RCALL COPY_BYTES -| 000B30 DA83 | RCALL NICK_SUB1 -| | -| 000B31 91DF | POP YH -| 000B32 91CF | POP YL -| 000B33 91BF | POP XH -| 000B34 91AF | POP XL -| 000B35 912F | POP B -| | -| 000B36 952A | DEC B -| 000B37 F759 | BRNE SCROLL_DOWN_LOOP -| | -| 000B38 9120 0172 | LDS B,SCROLL_COUNT ; B = LINES TO CLEAR -| | -| | SCROLL_DOWN_CLEAR: -| 000B3A 949A | DEC LINE_CNT -| 000B3B 54C0 | SUBI YL,LOW($40) -| 000B3C 40D0 | SBCI YH,HIGH($40) -| | -| 000B3D 932F | PUSH B -| 000B3E 93CF | PUSH YL -| 000B3F 93DF | PUSH YH -| | -| 000B40 9120 0175 | LDS B,SCROLL_XX -| 000B42 D00E | RCALL CLEAR_BYTES -| 000B43 DA70 | RCALL NICK_SUB1 -| | -| 000B44 91DF | POP YH -| 000B45 91CF | POP YL -| 000B46 912F | POP B -| | -| 000B47 952A | DEC B -| 000B48 F789 | BRNE SCROLL_DOWN_CLEAR -| | -| 000B49 CABD | RJMP GO_MAIN_LOOP -| | -| | COPY_BYTES: -| 000B4A D00C | RCALL READ_BYTE -| 000B4B 9611 | ADIW XL,1 -| | -| 000B4C D026 | RCALL WRITE_BYTE -| 000B4D 9621 | ADIW YL,1 -| | -| 000B4E 952A | DEC B -| 000B4F F7D1 | BRNE COPY_BYTES -| | -| 000B50 9508 | RET -| | -| | CLEAR_BYTES: -| 000B51 E010 | LDI A,0 -| | -| | FILL_BYTES: -| 000B52 D020 | RCALL WRITE_BYTE -| 000B53 9621 | ADIW YL,1 -| | -| 000B54 952A | DEC B -| 000B55 F7E1 | BRNE FILL_BYTES -| | -| 000B56 9508 | RET -| | -| | READ_BYTE: -| 000B57 > A0_A13 XL,XH -| 000B57 2F3A > MOV R19,XL -| 000B58 733F > ANDI R19,$3F -| 000B59 BB35 > OUT PORTC,R19 -| > -| 000B5A 2F3B > MOV R19,XH -| 000B5B 0F33 > LSL R19 -| 000B5C 0F33 > LSL R19 -| 000B5D FBA7 > BST XL,7 ; A7 -| 000B5E F931 > BLD R19,1 -| 000B5F FBA6 > BST XL,6 ; A6 -| 000B60 F930 > BLD R19,0 -| 000B61 BB3B > OUT PORTA,R19 -| 000B62 94F8 > CLI -| 000B63 9AC3 > SBI PORTB,3 -| 000B64 98C3 > CBI PORTB,3 -| 000B65 9478 > SEI -| 000B66 9330 0118 > STS LATCH11_SAV,R19 -| 000B68 > RAMRD A -| 000B68 2700 > CLR F -| 000B69 BB0A > OUT DDRA,F ; PORTA INPUT -| 000B6A 94F8 > CLI -| 000B6B 98C0 > CBI PORTB,0 ; CS_ON -| 000B6C 0000 > NOP -| 000B6D 9AC0 > SBI PORTB,0 ; CS_OFF -| 000B6E B319 > IN A,PINA ; READ DATA -| 000B6F 9478 > SEI -| 000B70 EF0F > LDI F,$FF -| 000B71 BB0A > OUT DDRA,F ; PORTA OUTPUT -| 000B72 9508 | RET -| | -| | WRITE_BYTE: -| 000B73 > A0_A13 YL,YH -| 000B73 2F3C > MOV R19,YL -| 000B74 733F > ANDI R19,$3F -| 000B75 BB35 > OUT PORTC,R19 -| > -| 000B76 2F3D > MOV R19,YH -| 000B77 0F33 > LSL R19 -| 000B78 0F33 > LSL R19 -| 000B79 FBC7 > BST YL,7 ; A7 -| 000B7A F931 > BLD R19,1 -| 000B7B FBC6 > BST YL,6 ; A6 -| 000B7C F930 > BLD R19,0 -| 000B7D BB3B > OUT PORTA,R19 -| 000B7E 94F8 > CLI -| 000B7F 9AC3 > SBI PORTB,3 -| 000B80 98C3 > CBI PORTB,3 -| 000B81 9478 > SEI -| 000B82 9330 0118 > STS LATCH11_SAV,R19 -| 000B84 > RAMWR A -| 000B84 BB1B > OUT PORTA,A -| 000B85 94F8 > CLI -| 000B86 98C1 > CBI PORTB,1 -| 000B87 98C0 > CBI PORTB,0 -| 000B88 0000 > NOP -| 000B89 9AC0 > SBI PORTB,0 -| 000B8A 9478 > SEI -| 000B8B 9AC1 > SBI PORTB,1 -| 000B8C 9508 | RET -| | -| | SELECT_XPAGE: -| 000B8D > A14_A18 A -| 000B8D 94F8 > CLI -| 000B8E 9130 0117 > LDS R19,LATCH10_SAV ; AND THIS -| 000B90 2731 > EOR R19,A -| 000B91 7E30 > ANDI R19,$E0 -| 000B92 2731 > EOR R19,A -| 000B93 BB3B > OUT PORTA,R19 -| 000B94 9AC4 > SBI PORTB,4 -| 000B95 98C4 > CBI PORTB,4 -| 000B96 9478 > SEI -| 000B97 9330 0117 > STS LATCH10_SAV,R19 ; MUST BE ATOMIC DUE TO TOGGLING M -| 000B99 9508 | RET -| | -| | ; HOW MANY SECS/6553600 PER 4HZ INTERRUPT ? -| | ; EACH TIME THROUGH ADD 1638400 SECS/6553600 = 1/4 SEC -| | ; OSCILLATOR IS SLOW SO WE WILL ADD 1 PART IN 10000 -| | ; HENCE EACH TIME THROUGH ADD 1638400+164 = 1638564 UNITS TO COUNT -| | -| | TIM2_OVF: -| 000B9A B61F | IN SR,SREG -| | -| | ; REMOVED BECAUSE DON'T WANT TO HAVE IN AN INTERRUPT -| | ;WDR -| | -| | ;!! LDI A,$10 ; DIAGNOSTIC -| | ;!! STS BUZZ_TIME,A ; SHORT BEEP -| | -| 000B9B 9150 015F | LDS D,TIME_HSEC_64K -| 000B9D 555C | SUBI D,LOW(-1638564) -| 000B9E 9350 015F | STS TIME_HSEC_64K,D -| | -| 000BA0 9150 0160 | LDS D,TIME_HSEC_256 -| 000BA2 4F5F | SBCI D,HIGH(-1638564) -| 000BA3 9350 0160 | STS TIME_HSEC_256,D -| | -| 000BA5 9150 0161 | LDS D,TIME_HSEC -| 000BA7 4E56 | SBCI D,HIGH(-1638564>>8) -| 000BA8 3654 | CPI D,100 -| 000BA9 F450 | BRSH TIM2_CARRY -| 000BAA 9350 0161 | STS TIME_HSEC,D -| | -| | TIM2_END: -| 000BAC BE1F | OUT SREG,SR -| 000BAD FEB6 | SBRS FLAGS,6 ; IF WE TURNED OFF VIA COMMAND, -| 000BAE 9518 | RETI ; START A NEW SCAN, OTHERWISE DONE -| | -| 000BAF E050 | LDI D,0 -| 000BB0 9350 0168 | STS SCAN_STATE,D ; WE WILL EXECUTE SCAN_START ROUTINE -| 000BB2 CD20 | RJMP T0_OVERFLOW ; GO AND TURN VDD ON -| | -| | GO_TX_CHAR: -| 000BB3 C8F1 | RJMP TX_CHAR -| | -| | TIM2_CARRY: -| 000BB4 E050 | LDI D,0 -| 000BB5 9350 0161 | STS TIME_HSEC,D -| | -| 000BB7 9150 0162 | LDS D,TIME_SECOND -| 000BB9 9553 | INC D -| 000BBA 335C | CPI D,60 -| 000BBB F1E8 | BRLO TIM2_SECOND -| | -| 000BBC 9150 0163 | LDS D,TIME_MINUTE -| 000BBE 9553 | INC D -| 000BBF 335C | CPI D,60 -| 000BC0 F1A8 | BRLO TIM2_MINUTE -| | -| 000BC1 9150 0164 | LDS D,TIME_HOUR -| 000BC3 9553 | INC D -| 000BC4 3158 | CPI D,24 -| 000BC5 F168 | BRLO TIM2_HOUR -| | -| 000BC6 93EF | PUSH ZL -| 000BC7 93FF | PUSH ZH -| 000BC8 920F | PUSH R0 -| 000BC9 E2ED | LDI ZL,LOW(MONTH_TABLE*2-1) -| 000BCA E1F8 | LDI ZH,HIGH(MONTH_TABLE*2-1) -| 000BCB 9190 0166 | LDS E,DATE_MONTH -| 000BCD 0FE9 | ADD ZL,E -| 000BCE E090 | LDI E,0 -| 000BCF 1FF9 | ADC ZH,E -| 000BD0 95C8 | LPM -| 000BD1 2D90 | MOV E,R0 -| 000BD2 319C | CPI E,28 -| 000BD3 F431 | BRNE FEBRUARY_OK -| 000BD4 9190 0167 | LDS E,DATE_YEAR -| 000BD6 7093 | ANDI E,3 -| 000BD7 E19C | LDI E,28 -| 000BD8 F409 | BRNE FEBRUARY_OK -| 000BD9 E19D | LDI E,29 -| | FEBRUARY_OK: -| 000BDA 900F | POP R0 -| 000BDB 91FF | POP ZH -| 000BDC 91EF | POP ZL -| | -| 000BDD 9150 0165 | LDS D,DATE_DAY -| 000BDF 1759 | CP D,E -| 000BE0 F070 | BRLO TIM2_DAY -| | -| 000BE1 9150 0166 | LDS D,DATE_MONTH -| 000BE3 305C | CPI D,12 -| 000BE4 F030 | BRLO TIM2_MONTH -| | -| 000BE5 9150 0167 | LDS D,DATE_YEAR -| 000BE7 9553 | INC D -| 000BE8 9350 0167 | STS DATE_YEAR,D -| 000BEA 2755 | CLR D -| | TIM2_MONTH: -| 000BEB 9553 | INC D -| 000BEC 9350 0166 | STS DATE_MONTH,D -| 000BEE 2755 | CLR D -| | TIM2_DAY: -| 000BEF 9553 | INC D -| 000BF0 9350 0165 | STS DATE_DAY,D -| 000BF2 2755 | CLR D -| | TIM2_HOUR: -| 000BF3 9350 0164 | STS TIME_HOUR,D -| 000BF5 2755 | CLR D -| | TIM2_MINUTE: -| 000BF6 9350 0163 | STS TIME_MINUTE,D -| 000BF8 2755 | CLR D -| | TIM2_SECOND: -| 000BF9 9350 0162 | STS TIME_SECOND,D -| | -| | TIM2_SEND: -| 000BFB 2D55 | MOV D,TX_COUNT -| 000BFC 3159 | CPI D,TX_SIZE-7 -| 000BFD F4C0 | BRSH TIM2_SEND_SKIP -| | -| 000BFE 931F | PUSH A -| 000BFF E11B | LDI A,$1B -| 000C00 D8A4 | RCALL TX_CHAR -| 000C01 E514 | LDI A,'T' -| 000C02 D8A2 | RCALL TX_CHAR -| | ; LDS A,VCCL -| | ; RCALL TX_CHAR -| | ; LDS A,VCCH -| | ; RCALL TX_CHAR -| | ; LDS A,VEEL -| | ; RCALL TX_CHAR -| | ; LDS A,VEEH -| | ; RCALL TX_CHAR -| | ; LDI A,$0D -| | ; RCALL TX_CHAR -| 000C03 9110 0164 | LDS A,TIME_HOUR -| 000C05 DFAD | RCALL GO_TX_CHAR -| 000C06 9110 0163 | LDS A,TIME_MINUTE -| 000C08 DFAA | RCALL GO_TX_CHAR -| 000C09 9110 0162 | LDS A,TIME_SECOND -| 000C0B DFA7 | RCALL GO_TX_CHAR -| 000C0C 9110 0166 | LDS A,DATE_MONTH -| 000C0E DFA4 | RCALL GO_TX_CHAR -| 000C0F 9110 0165 | LDS A,DATE_DAY -| 000C11 DFA1 | RCALL GO_TX_CHAR -| 000C12 9110 0167 | LDS A,DATE_YEAR -| 000C14 DF9E | RCALL GO_TX_CHAR -| 000C15 911F | POP A -| | -| | TIM2_SEND_SKIP: -| 000C16 CF95 | RJMP TIM2_END -| | -| | ; ----------------------------------------------------------------------------- -| | -| | MONTH_TABLE: -| 000C17 | .DB 31,28,31,30,31,30,31,31,30,31,30,31 -| 000C19 1F1E 1F1F | -| 000C1B 1E1F 1E1F | -| | -| | ; 1ST BYTE = LED -| | ; 2ND BYTE = PHOTO -| | ; 3RD BYTE = TOUCH CHANNEL -| | -| | SCAN_TBL: -| 000C1D | .DB $F0,$34,$00,$00,$E8,$34,$01,$00,$F0,$33,$01,$00,$E8,$33,$02,$00 -| 000C1F E834 0100 | -| 000C21 F033 0100 | -| 000C23 E833 0200 | -| 000C25 | .DB $E4,$33,$03,$00,$E8,$32,$03,$00,$E4,$32,$04,$00,$E2,$32,$05,$00 -| 000C27 E832 0300 | -| 000C29 E432 0400 | -| 000C2B E232 0500 | -| 000C2D | .DB $E4,$31,$05,$00,$E2,$31,$06,$00,$E1,$31,$07,$00,$E2,$30,$07,$00 -| 000C2F E231 0600 | -| 000C31 E131 0700 | -| 000C33 E230 0700 | -| 000C35 | .DB $E1,$30,$08,$00,$C1,$2A,$00,$00,$C2,$2A,$01,$00,$C1,$2B,$01,$00 -| 000C37 C12A 0000 | -| 000C39 C22A 0100 | -| 000C3B C12B 0100 | -| 000C3D | .DB $C2,$2B,$02,$00,$C4,$2B,$03,$00,$C2,$2C,$03,$00,$C4,$2C,$04,$00 -| 000C3F C42B 0300 | -| 000C41 C22C 0300 | -| 000C43 C42C 0400 | -| 000C45 | .DB $C8,$2C,$05,$00,$C4,$18,$05,$00,$C8,$18,$06,$00,$D0,$18,$07,$00 -| 000C47 C418 0500 | -| 000C49 C818 0600 | -| 000C4B D018 0700 | -| 000C4D | .DB $C8,$19,$07,$00,$D0,$19,$08,$00,$A1,$19,$09,$00,$D0,$1A,$09,$00 -| 000C4F D019 0800 | -| 000C51 A119 0900 | -| 000C53 D01A 0900 | -| 000C55 | .DB $A1,$1A,$0A,$00,$A2,$1A,$0B,$00,$A1,$1B,$0B,$00,$A2,$1B,$0C,$00 -| 000C57 A21A 0B00 | -| 000C59 A11B 0B00 | -| 000C5B A21B 0C00 | -| 000C5D | .DB $A4,$1B,$0D,$00,$A2,$1C,$0D,$00,$A4,$1C,$0E,$00,$A8,$1C,$0F,$00 -| 000C5F A21C 0D00 | -| 000C61 A41C 0E00 | -| 000C63 A81C 0F00 | -| 000C65 | .DB $A4,$1D,$0F,$00,$A8,$1D,$10,$00,$B0,$1D,$11,$00,$A8,$1E,$11,$00 -| 000C67 A81D 1000 | -| 000C69 B01D 1100 | -| 000C6B A81E 1100 | -| 000C6D | .DB $B0,$1E,$12,$00,$61,$1E,$13,$00,$B0,$1F,$13,$00,$61,$1F,$14,$00 -| 000C6F 611E 1300 | -| 000C71 B01F 1300 | -| 000C73 611F 1400 | -| 000C75 | .DB $62,$1F,$15,$00,$61,$28,$15,$00,$62,$28,$16,$00,$64,$28,$17,$00 -| 000C77 6128 1500 | -| 000C79 6228 1600 | -| 000C7B 6428 1700 | -| 000C7D | .DB $62,$29,$17,$00,$64,$29,$18,$00 -| 000C7F 6429 1800 | -| | -| | RTN_CODE: -| 000C81 | .DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 -| 000C83 0000 0000 | -| 000C85 0000 0000 | -| 000C87 0000 0000 | -| 000C89 | .DB $00,$00,$00,$00,$00,$00,$08,$08,$08,$00,$00,$00,$00,$00,$00,$00 -| 000C8B 0000 0808 | -| 000C8D 0800 0000 | -| 000C8F 0000 0000 | -| 000C91 | .DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 -| 000C93 0000 0000 | -| 000C95 0000 0000 | -| 000C97 0000 0000 | -| 000C99 | .DB $00,$00,$7E,$00,$31,$00,$32,$00,$33,$00,$34,$00,$35,$00,$36,$00 -| 000C9B 3100 3200 | -| 000C9D 3300 3400 | -| 000C9F 3500 3600 | -| 000CA1 | .DB $37,$00,$38,$00,$39,$00,$30,$00,$2D,$00,$3D,$00,$00,$00,$00,$00 -| 000CA3 3900 3000 | -| 000CA5 2D00 3D00 | -| 000CA7 0000 0000 | -| 000CA9 | .DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 -| 000CAB 0000 0000 | -| 000CAD 0000 0000 | -| 000CAF 0000 0000 | -| 000CB1 | .DB $00,$00,$00,$00,$51,$00,$57,$00,$45,$00,$52,$00,$54,$00,$59,$00 -| 000CB3 5100 5700 | -| 000CB5 4500 5200 | -| 000CB7 5400 5900 | -| 000CB9 | .DB $55,$00,$49,$00,$4F,$00,$50,$00,$5B,$00,$5D,$00,$5C,$00,$00,$00 -| 000CBB 4F00 5000 | -| 000CBD 5B00 5D00 | -| 000CBF 5C00 0000 | -| 000CC1 | .DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 -| 000CC3 0000 0000 | -| 000CC5 0000 0000 | -| 000CC7 0000 0000 | -| 000CC9 | .DB $00,$00,$00,$00,$00,$00,$41,$00,$53,$00,$44,$00,$46,$00,$47,$00 -| 000CCB 0000 4100 | -| 000CCD 5300 4400 | -| 000CCF 4600 4700 | -| 000CD1 | .DB $48,$00,$4A,$00,$4B,$00,$4C,$00,$3B,$00,$27,$00,$0D,$0D,$0D,$00 -| 000CD3 4B00 4C00 | -| 000CD5 3B00 2700 | -| 000CD7 0D0D 0D00 | -| 000CD9 | .DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 -| 000CDB 0000 0000 | -| 000CDD 0000 0000 | -| 000CDF 0000 0000 | -| 000CE1 | .DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$5A,$00,$58,$00,$43,$00 -| 000CE3 0000 0000 | -| 000CE5 0000 5A00 | -| 000CE7 5800 4300 | -| 000CE9 | .DB $56,$00,$42,$00,$4E,$00,$4D,$00,$2C,$00,$2E,$00,$2F,$00,$00,$00 -| 000CEB 4E00 4D00 | -| 000CED 2C00 2E00 | -| 000CEF 2F00 0000 | -| 000CF1 0000 | .DB $00,$00 -| | RTN_CODE_END: -| | -| | ; ----------------------------------------------------------------------------- -| | -| | CHSET00: -| | .INCLUDE "CHSET00.INC" -| | ; chset00.inc generated from chset00.win, do not edit! -| | -| 000CF2 | .db $46,$32,$34,$44,$30,$33,$31,$39,$30,$33,$31,$32,$31,$37,$30,$39 -| 000CF4 3033 3139 | -| 000CF6 3033 3132 | -| 000CF8 3137 3039 | -| 000CFA | .db $4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03 -| 000CFC 4C03 4C03 | -| 000CFE 4C03 4C03 | -| 000D00 4C03 4C03 | -| 000D02 | .db $4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03 -| 000D04 4C03 4C03 | -| 000D06 4C03 4C03 | -| 000D08 4C03 4C03 | -| 000D0A | .db $4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03 -| 000D0C 4C03 4C03 | -| 000D0E 4C03 4C03 | -| 000D10 4C03 4C03 | -| 000D12 | .db $4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03 -| 000D14 4C03 4C03 | -| 000D16 4C03 4C03 | -| 000D18 4C03 4C03 | -| 000D1A | .db $00,$01,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03 -| 000D1C 4C03 4C03 | -| 000D1E 4C03 4C03 | -| 000D20 4C03 4C03 | -| 000D22 | .db $4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$03,$01,$4c,$03,$4c,$03 -| 000D24 4C03 4C03 | -| 000D26 4C03 0301 | -| 000D28 4C03 4C03 | -| 000D2A | .db $06,$01,$0f,$01,$18,$01,$21,$01,$2a,$01,$33,$01,$3c,$01,$45,$01 -| 000D2C 1801 2101 | -| 000D2E 2A01 3301 | -| 000D30 3C01 4501 | -| 000D32 | .db $4e,$01,$57,$01,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03 -| 000D34 4C03 4C03 | -| 000D36 4C03 4C03 | -| 000D38 4C03 4C03 | -| 000D3A | .db $4c,$03,$60,$01,$69,$01,$72,$01,$7b,$01,$84,$01,$8d,$01,$96,$01 -| 000D3C 6901 7201 | -| 000D3E 7B01 8401 | -| 000D40 8D01 9601 | -| 000D42 | .db $9f,$01,$a9,$01,$b2,$01,$bb,$01,$c4,$01,$cd,$01,$d6,$01,$df,$01 -| 000D44 B201 BB01 | -| 000D46 C401 CD01 | -| 000D48 D601 DF01 | -| 000D4A | .db $e8,$01,$f1,$01,$08,$02,$11,$02,$1a,$02,$23,$02,$2c,$02,$35,$02 -| 000D4C 0802 1102 | -| 000D4E 1A02 2302 | -| 000D50 2C02 3502 | -| 000D52 | .db $3e,$02,$47,$02,$50,$02,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03 -| 000D54 5002 4C03 | -| 000D56 4C03 4C03 | -| 000D58 4C03 4C03 | -| 000D5A | .db $4c,$03,$59,$02,$62,$02,$6b,$02,$74,$02,$7d,$02,$86,$02,$8f,$02 -| 000D5C 6202 6B02 | -| 000D5E 7402 7D02 | -| 000D60 8602 8F02 | -| 000D62 | .db $99,$02,$a3,$02,$ad,$02,$b8,$02,$c2,$02,$cb,$02,$d4,$02,$dd,$02 -| 000D64 AD02 B802 | -| 000D66 C202 CB02 | -| 000D68 D402 DD02 | -| 000D6A | .db $e6,$02,$f0,$02,$fc,$02,$03,$03,$0c,$03,$15,$03,$1e,$03,$27,$03 -| 000D6C FC02 0303 | -| 000D6E 0C03 1503 | -| 000D70 1E03 2703 | -| 000D72 | .db $30,$03,$39,$03,$43,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03,$4c,$03 -| 000D74 4303 4C03 | -| 000D76 4C03 4C03 | -| 000D78 4C03 4C03 | -| 000D7A | .db $00,$03,$06,$61,$01,$f8,$01,$07,$70,$88,$98,$a8,$c8,$88,$70,$01 -| 000D7C 01F8 0107 | -| 000D7E 7088 98A8 | -| 000D80 C888 7001 | -| 000D82 | .db $07,$20,$60,$20,$20,$20,$20,$70,$01,$07,$70,$88,$08,$10,$20,$40 -| 000D84 2020 2070 | -| 000D86 0107 7088 | -| 000D88 0810 2040 | -| 000D8A | .db $f8,$01,$07,$f8,$10,$20,$10,$08,$88,$70,$01,$07,$10,$30,$50,$90 -| 000D8C 1020 1008 | -| 000D8E 8870 0107 | -| 000D90 1030 5090 | -| 000D92 | .db $f8,$10,$10,$01,$07,$f8,$80,$f0,$08,$08,$88,$70,$01,$07,$30,$40 -| 000D94 07F8 80F0 | -| 000D96 0808 8870 | -| 000D98 0107 3040 | -| 000D9A | .db $80,$f0,$88,$88,$70,$01,$07,$f8,$08,$10,$20,$40,$40,$40,$01,$07 -| 000D9C 7001 07F8 | -| 000D9E 0810 2040 | -| 000DA0 4040 0107 | -| 000DA2 | .db $70,$88,$88,$70,$88,$88,$70,$01,$07,$70,$88,$88,$78,$08,$10,$60 -| 000DA4 8888 7001 | -| 000DA6 0770 8888 | -| 000DA8 7808 1060 | -| 000DAA | .db $01,$07,$70,$88,$88,$88,$f8,$88,$88,$01,$07,$f0,$88,$88,$f0,$88 -| 000DAC 8888 F888 | -| 000DAE 8801 07F0 | -| 000DB0 8888 F088 | -| 000DB2 | .db $88,$f0,$01,$07,$70,$88,$80,$80,$80,$88,$70,$01,$07,$e0,$90,$88 -| 000DB4 7088 8080 | -| 000DB6 8088 7001 | -| 000DB8 07E0 9088 | -| 000DBA | .db $88,$88,$90,$e0,$01,$07,$f8,$80,$80,$f0,$80,$80,$f8,$01,$07,$f8 -| 000DBC 0107 F880 | -| 000DBE 80F0 8080 | -| 000DC0 F801 07F8 | -| 000DC2 | .db $80,$80,$f0,$80,$80,$80,$01,$07,$70,$88,$80,$b8,$88,$88,$78,$01 -| 000DC4 8080 0107 | -| 000DC6 7088 80B8 | -| 000DC8 8888 7801 | -| 000DCA | .db $07,$88,$88,$88,$f8,$88,$88,$88,$02,$21,$07,$80,$80,$80,$80,$80 -| 000DCC F888 8888 | -| 000DCE 0221 0780 | -| 000DD0 8080 8080 | -| 000DD2 | .db $80,$80,$01,$07,$08,$08,$08,$08,$08,$88,$70,$01,$07,$88,$90,$a0 -| 000DD4 0808 0808 | -| 000DD6 0888 7001 | -| 000DD8 0788 90A0 | -| 000DDA | .db $c0,$a0,$90,$88,$01,$07,$80,$80,$80,$80,$80,$80,$f8,$01,$07,$88 -| 000DDC 0107 8080 | -| 000DDE 8080 8080 | -| 000DE0 F801 0788 | -| 000DE2 | .db $d8,$a8,$a8,$88,$88,$88,$01,$07,$88,$88,$c8,$a8,$98,$88,$88,$01 -| 000DE4 8888 0107 | -| 000DE6 8888 C8A8 | -| 000DE8 9888 8801 | -| 000DEA | .db $07,$70,$88,$88,$88,$88,$88,$70,$01,$07,$f0,$88,$88,$f0,$80,$80 -| 000DEC 8888 8870 | -| 000DEE 0107 F088 | -| 000DF0 88F0 8080 | -| 000DF2 | .db $80,$01,$07,$70,$88,$88,$88,$a8,$90,$68,$4c,$03,$4c,$03,$4c,$03 -| 000DF4 8888 88A8 | -| 000DF6 9068 4C03 | -| 000DF8 4C03 4C03 | -| 000DFA | .db $06,$08,$01,$01,$4f,$00,$65,$03,$01,$07,$f0,$88,$88,$f0,$a0,$90 -| 000DFC 4F00 6503 | -| 000DFE 0107 F088 | -| 000E00 88F0 A090 | -| 000E02 | .db $88,$01,$07,$70,$88,$80,$70,$08,$88,$70,$01,$07,$f8,$20,$20,$20 -| 000E04 8880 7008 | -| 000E06 8870 0107 | -| 000E08 F820 2020 | -| 000E0A | .db $20,$20,$20,$01,$07,$88,$88,$88,$88,$88,$88,$70,$01,$07,$88,$88 -| 000E0C 0788 8888 | -| 000E0E 8888 8870 | -| 000E10 0107 8888 | -| 000E12 | .db $88,$88,$88,$50,$20,$01,$07,$88,$88,$88,$a8,$a8,$a8,$50,$01,$07 -| 000E14 2001 0788 | -| 000E16 8888 A8A8 | -| 000E18 A850 0107 | -| 000E1A | .db $88,$88,$50,$20,$50,$88,$88,$01,$07,$88,$88,$88,$50,$20,$20,$20 -| 000E1C 5088 8801 | -| 000E1E 0788 8888 | -| 000E20 5020 2020 | -| 000E22 | .db $01,$07,$f8,$08,$10,$20,$40,$80,$f8,$01,$07,$00,$00,$70,$08,$78 -| 000E24 1020 4080 | -| 000E26 F801 0700 | -| 000E28 0070 0878 | -| 000E2A | .db $88,$78,$01,$07,$80,$80,$f0,$88,$88,$88,$f0,$01,$07,$00,$00,$78 -| 000E2C 8080 F088 | -| 000E2E 8888 F001 | -| 000E30 0700 0078 | -| 000E32 | .db $80,$80,$80,$78,$01,$07,$08,$08,$78,$88,$88,$88,$78,$01,$07,$00 -| 000E34 0107 0808 | -| 000E36 7888 8888 | -| 000E38 7801 0700 | -| 000E3A | .db $00,$70,$88,$f8,$80,$70,$01,$07,$18,$20,$f8,$20,$20,$20,$20,$01 -| 000E3C 8070 0107 | -| 000E3E 1820 F820 | -| 000E40 2020 2001 | -| 000E42 | .db $08,$00,$00,$78,$88,$88,$78,$08,$70,$01,$07,$80,$80,$b0,$c8,$88 -| 000E44 8888 7808 | -| 000E46 7001 0780 | -| 000E48 80B0 C888 | -| 000E4A | .db $88,$88,$02,$21,$07,$80,$00,$80,$80,$80,$80,$80,$05,$21,$08,$10 -| 000E4C 0780 0080 | -| 000E4E 8080 8080 | -| 000E50 0521 0810 | -| 000E52 | .db $00,$10,$10,$10,$10,$90,$60,$05,$21,$07,$80,$80,$90,$a0,$c0,$a0 -| 000E54 1090 6005 | -| 000E56 2107 8080 | -| 000E58 90A0 C0A0 | -| 000E5A | .db $90,$03,$21,$07,$c0,$40,$40,$40,$40,$40,$40,$01,$07,$00,$00,$f0 -| 000E5C C040 4040 | -| 000E5E 4040 4001 | -| 000E60 0700 00F0 | -| 000E62 | .db $a8,$a8,$a8,$a8,$01,$07,$00,$00,$b0,$c8,$88,$88,$88,$01,$07,$00 -| 000E64 0107 0000 | -| 000E66 B0C8 8888 | -| 000E68 8801 0700 | -| 000E6A | .db $00,$70,$88,$88,$88,$70,$01,$08,$00,$00,$f0,$88,$88,$f0,$80,$80 -| 000E6C 8870 0108 | -| 000E6E 0000 F088 | -| 000E70 88F0 8080 | -| 000E72 | .db $01,$08,$00,$00,$78,$88,$88,$78,$08,$08,$02,$05,$61,$05,$b0,$c0 -| 000E74 7888 8878 | -| 000E76 0808 0205 | -| 000E78 6105 B0C0 | -| 000E7A | .db $80,$80,$80,$01,$07,$00,$00,$78,$80,$70,$08,$f0,$01,$07,$20,$20 -| 000E7C 0700 0078 | -| 000E7E 8070 08F0 | -| 000E80 0107 2020 | -| 000E82 | .db $f8,$20,$20,$20,$18,$01,$07,$00,$00,$88,$88,$88,$98,$68,$01,$07 -| 000E84 1801 0700 | -| 000E86 0088 8888 | -| 000E88 9868 0107 | -| 000E8A | .db $00,$00,$88,$88,$88,$50,$20,$01,$07,$00,$00,$88,$88,$a8,$a8,$50 -| 000E8C 8850 2001 | -| 000E8E 0700 0088 | -| 000E90 88A8 A850 | -| 000E92 | .db $01,$07,$00,$00,$88,$50,$20,$50,$88,$01,$08,$00,$00,$88,$88,$88 -| 000E94 8850 2050 | -| 000E96 8801 0800 | -| 000E98 0088 8888 | -| 000E9A | .db $78,$08,$70,$01,$07,$00,$00,$f8,$10,$20,$40,$f8,$01,$07,$f8,$f8 -| 000E9C 0700 00F8 | -| 000E9E 1020 40F8 | -| 000EA0 0107 F8F8 | -| 000EA2 F8F8 | .db $f8,$f8,$f8,$f8,$f8,$00 -| 000EA4 F800 | -| | -| | -| | CHSET00_END: -| | -| | ; ----------------------------------------------------------------------------- -| | -| | GET_CLEAR_FRAME_RECT_SIZE: -| 000EA5 9370 0156 | STS RECTNC_X,CURSORX -| 000EA7 9380 0157 | STS RECTNC_Y,CURSORY -| 000EA9 D5D4 | RCALL RX_WAIT -| 000EAA 9310 0158 | STS RECTNC_XX,A -| 000EAC D5D1 | RCALL RX_WAIT -| 000EAD 9310 0159 | STS RECTNC_YY,A -| 000EAF D026 | RCALL CLEAR_FRAME_RECT -| 000EB0 C2E4 | RJMP MAIN_LOOP -| | -| | GET_FRAME_RECT_SIZE: -| 000EB1 9370 0156 | STS RECTNC_X,CURSORX -| 000EB3 9380 0157 | STS RECTNC_Y,CURSORY -| 000EB5 D5C8 | RCALL RX_WAIT -| 000EB6 9310 0158 | STS RECTNC_XX,A -| 000EB8 D5C5 | RCALL RX_WAIT -| 000EB9 9310 0159 | STS RECTNC_YY,A -| 000EBB D02F | RCALL FRAME_RECT -| 000EBC C2D8 | RJMP MAIN_LOOP -| | -| | GET_CLEAR_HALFTONE_RECT_SIZE: -| 000EBD 9370 0152 | STS RECT_X,CURSORX -| 000EBF 9380 0153 | STS RECT_Y,CURSORY -| 000EC1 D5BC | RCALL RX_WAIT -| 000EC2 9310 0154 | STS RECT_XX,A -| 000EC4 D5B9 | RCALL RX_WAIT -| 000EC5 9310 0155 | STS RECT_YY,A -| 000EC7 D078 | RCALL CLEAR_HALFTONE_RECT -| 000EC8 C2CC | RJMP MAIN_LOOP -| | -| | GET_HALFTONE_RECT_SIZE: -| 000EC9 9370 0152 | STS RECT_X,CURSORX -| 000ECB 9380 0153 | STS RECT_Y,CURSORY -| 000ECD D5B0 | RCALL RX_WAIT -| 000ECE 9310 0154 | STS RECT_XX,A -| 000ED0 D5AD | RCALL RX_WAIT -| 000ED1 9310 0155 | STS RECT_YY,A -| 000ED3 D071 | RCALL HALFTONE_RECT -| 000ED4 C2C0 | RJMP MAIN_LOOP -| | -| 000ED5 9508 | NO_GOX: RET -| | -| | CLEAR_FRAME_RECT: -| 000ED6 9100 0156 | LDS F,RECTNC_X -| 000ED8 9300 0152 | STS RECT_X,F -| 000EDA 9100 0157 | LDS F,RECTNC_Y -| 000EDC 9300 0153 | STS RECT_Y,F -| 000EDE 9100 0158 | LDS F,RECTNC_XX -| 000EE0 9300 0154 | STS RECT_XX,F -| 000EE2 9100 0159 | LDS F,RECTNC_YY -| 000EE4 9300 0155 | STS RECT_YY,F -| | -| 000EE6 E002 | LDI F,$02 -| 000EE7 2AB0 | OR FLAGS,F -| | -| 000EE8 D724 | RCALL DRAW_RECT -| | -| 000EE9 EF0D | LDI F,$FD -| 000EEA 22B0 | AND FLAGS,F -| | -| | FRAME_RECT: -| 000EEB 9100 0158 | LDS F,RECTNC_XX -| 000EED 950A | DEC F -| 000EEE 3002 | CPI F,2 -| 000EEF F328 | BRLO NO_GOX -| 000EF0 9100 0159 | LDS F,RECTNC_YY -| 000EF2 3003 | CPI F,3 -| 000EF3 F308 | BRLO NO_GOX -| | -| 000EF4 9100 0156 | LDS F,RECTNC_X -| 000EF6 9300 0152 | STS RECT_X,F -| 000EF8 9100 0157 | LDS F,RECTNC_Y -| 000EFA 9300 0153 | STS RECT_Y,F -| 000EFC 9100 0158 | LDS F,RECTNC_XX -| 000EFE 9300 0154 | STS RECT_XX,F -| 000F00 E001 | LDI F,$01 -| 000F01 9300 0155 | STS RECT_YY,F -| 000F03 D709 | RCALL DRAW_RECT -| | -| 000F04 9100 0156 | LDS F,RECTNC_X -| 000F06 9300 0152 | STS RECT_X,F -| 000F08 9100 0157 | LDS F,RECTNC_Y -| 000F0A 9503 | INC F -| 000F0B 9300 0153 | STS RECT_Y,F -| 000F0D 9100 0159 | LDS F,RECTNC_YY -| 000F0F 5002 | SUBI F,2 -| 000F10 9300 0155 | STS RECT_YY,F -| 000F12 E001 | LDI F,$01 -| 000F13 9300 0154 | STS RECT_XX,F -| 000F15 D6F7 | RCALL DRAW_RECT -| | -| 000F16 9080 0158 | LDS X_SIZE,RECTNC_XX -| 000F18 9100 0156 | LDS F,RECTNC_X -| 000F1A 0D08 | ADD F,X_SIZE -| 000F1B 950A | DEC F -| 000F1C 9300 0152 | STS RECT_X,F -| 000F1E E001 | LDI F,$01 -| 000F1F 9300 0154 | STS RECT_XX,F -| 000F21 9100 0157 | LDS F,RECTNC_Y -| 000F23 9503 | INC F -| 000F24 9300 0153 | STS RECT_Y,F -| 000F26 9100 0159 | LDS F,RECTNC_YY -| 000F28 5002 | SUBI F,2 -| 000F29 9300 0155 | STS RECT_YY,F -| 000F2B D6E1 | RCALL DRAW_RECT -| | -| 000F2C 9100 0156 | LDS F,RECTNC_X -| 000F2E 9300 0152 | STS RECT_X,F -| 000F30 9100 0158 | LDS F,RECTNC_XX -| 000F32 9300 0154 | STS RECT_XX,F -| 000F34 9070 0159 | LDS Y_SIZE,RECTNC_YY -| 000F36 9100 0157 | LDS F,RECTNC_Y -| 000F38 0D07 | ADD F,Y_SIZE -| 000F39 950A | DEC F -| 000F3A 9300 0153 | STS RECT_Y,F -| 000F3C E001 | LDI F,$01 -| 000F3D 9300 0155 | STS RECT_YY,F -| 000F3F C6CD | RJMP DRAW_RECT -| | -| | CLEAR_HALFTONE_RECT: -| | ; LDS F,RECTNC_X -| | ; STS RECT_X,F -| | ; LDS F,RECTNC_Y -| | ; STS RECT_Y,F -| | ; LDS F,RECTNC_XX -| | ; STS RECT_XX,F -| | ; LDS F,RECTNC_YY -| | ; STS RECT_YY,F -| | -| 000F40 E002 | LDI F,$02 -| 000F41 2AB0 | OR FLAGS,F -| | -| 000F42 D6CA | RCALL DRAW_RECT -| | -| 000F43 EF0D | LDI F,$FD -| 000F44 22B0 | AND FLAGS,F -| | -| | HALFTONE_RECT: -| 000F45 9478 | SEI -| 000F46 9090 0153 | LDS LINE_CNT,RECT_Y -| 000F48 9160 0152 | LDS XPIXEL,RECT_X -| 000F4A D802 | RCALL CALCULATE_XBYTE -| 000F4B 9360 0102 | STS XPIXEL_SAV,XPIXEL -| 000F4D 92A0 0100 | STS XBYTE_SAV,XBYTE -| 000F4F 9070 0155 | LDS Y_SIZE,RECT_YY -| 000F51 27CC | CLR YL -| 000F52 2DD9 | MOV YH,LINE_CNT -| 000F53 E515 | LDI A,$55 -| 000F54 FFD0 | SBRS YH,0 -| 000F55 EA1A | LDI A,$AA -| 000F56 2E01 | MOV PATTERN,A -| 000F57 95D6 | LSR YH -| 000F58 95C7 | ROR YL -| 000F59 95D6 | LSR YH -| 000F5A 95C7 | ROR YL -| 000F5B 5ED0 | SUBI YH,HIGH(-DRAW_DSPRAM) ; DRAW INTO DRAWING BUFFER -| 000F5C E118 | LDI A,HIGH(DRAW_DSPRAM>>6) -| 000F5D DC2F | RCALL SELECT_XPAGE -| 000F5E C007 | RJMP X03A3 -| 000F5F 5CC0 | X039A: SUBI YL,LOW(-$40) -| 000F60 4FDF | SBCI YH,HIGH(-$40) -| 000F61 9493 | INC LINE_CNT -| 000F62 9160 0102 | LDS XPIXEL,XPIXEL_SAV -| 000F64 90A0 0100 | LDS XBYTE,XBYTE_SAV -| 000F66 2AAC | X03A3: OR XBYTE,YL -| 000F67 EF1F | LDI A,$FF -| 000F68 9080 0154 | LDS X_SIZE,RECT_XX -| 000F6A E000 | LDI F,$00 -| 000F6B 1680 | CP X_SIZE,F -| 000F6C F041 | BREQ X03B0 -| 000F6D E008 | LDI F,$08 -| 000F6E 1680 | CP X_SIZE,F -| 000F6F F0C8 | BRLO X03C2 -| 000F70 2366 | TST XPIXEL -| 000F71 F019 | BREQ X03B0 -| 000F72 9516 | X03AD: LSR A -| 000F73 956A | DEC XPIXEL -| 000F74 F7E9 | BRNE X03AD -| 000F75 2110 | X03B0: AND A,PATTERN -| 000F76 D7FE | RCALL WR_DISP_MEM -| 000F77 E008 | LDI F,$08 -| 000F78 9110 0102 | LDS A,XPIXEL_SAV -| 000F7A 1B01 | SUB F,A -| 000F7B 1A80 | SUB X_SIZE,F -| 000F7C 94A3 | INC XBYTE -| 000F7D EF1F | LDI A,$FF -| 000F7E E008 | X03B8: LDI F,$08 -| 000F7F 1680 | CP X_SIZE,F -| 000F80 F040 | BRLO X03C2 -| 000F81 F0C1 | BREQ X03D2 -| 000F82 2110 | AND A,PATTERN -| 000F83 D7F1 | RCALL WR_DISP_MEM -| 000F84 EF1F | LDI A,$FF -| 000F85 E008 | LDI F,$08 -| 000F86 1A80 | SUB X_SIZE,F -| 000F87 94A3 | INC XBYTE -| 000F88 CFF5 | RJMP X03B8 -| 000F89 2088 | X03C2: TST X_SIZE -| 000F8A F089 | BREQ X03D3 -| 000F8B 9516 | X03C4: LSR A -| 000F8C 948A | DEC X_SIZE -| 000F8D F7E9 | BRNE X03C4 -| 000F8E 9510 | COM A -| 000F8F 2366 | TST XPIXEL -| 000F90 F049 | BREQ X03D2 -| 000F91 2722 | CLR B -| 000F92 9516 | X03CB: LSR A -| 000F93 9527 | ROR B -| 000F94 956A | DEC XPIXEL -| 000F95 F7E1 | BRNE X03CB -| 000F96 2110 | AND A,PATTERN -| 000F97 D7DD | RCALL WR_DISP_MEM -| 000F98 94A3 | INC XBYTE -| 000F99 2F12 | MOV A,B -| 000F9A 2110 | X03D2: AND A,PATTERN -| 000F9B D7D9 | RCALL WR_DISP_MEM -| 000F9C 9400 | X03D3: COM PATTERN -| 000F9D D616 | RCALL NICK_SUB1 -| 000F9E 947A | DEC Y_SIZE -| 000F9F 2700 | CLR F -| 000FA0 1270 | CPSE Y_SIZE,F -| 000FA1 CFBD | RJMP X039A -| 000FA2 9508 | RET -| | -| | ; ----------------------------------------------------------------------------- -| | -| | .ORG $1000 -| | -tsv3.asm:3705: Warning : Flash size exceeded by 1 word(s) -| 001000 0241 | .DW $4102 ; SELECT ADDRESS COMMAND -| | -| | ; ----------------------------------------------------------------------------- -| | -| | -+------------------+-----------------------------------------------------------+ - -Errors : 0 -Warnings : 2 -Code : 4097 -Rom : 4 -Data : 279 -Unused Code : 93 -Unused Rom : 0 diff --git a/src/bin/CVS/Entries b/src/bin/CVS/Entries new file mode 100644 index 00000000..947dc7b8 --- /dev/null +++ b/src/bin/CVS/Entries @@ -0,0 +1,53 @@ +/4dos.com/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/as-z80.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/bd.exe/1.2/Tue Dec 2 05:09:02 2003/-kb/ +/bin2avr.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/bin2c.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/bmp2txt.exe/1.2/Tue Dec 2 05:09:02 2003/-kb/ +/chs2cmd.exe/1.2/Tue Dec 2 05:09:02 2003/-kb/ +/cproto.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/cproto.sh/1.1.1.1/Mon Nov 17 19:05:50 2003// +/crc.com/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/crcd.com/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/d2u.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/diff.sh/1.1.1.1/Mon Nov 17 19:05:50 2003// +/diffdir.sh/1.1.1.1/Mon Nov 17 19:05:50 2003// +/foster.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/fsck.exe/1.2/Tue Dec 2 05:09:02 2003/-kb/ +/hfmdump.exe/1.2/Tue Dec 2 05:09:02 2003/-kb/ +/hfmtool.exe/1.2/Tue Dec 2 05:09:02 2003/-kb/ +/hfmwidth.exe/1.2/Tue Dec 2 05:09:02 2003/-kb/ +/ihex2bin.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/indent.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/lib-z80.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/link-z80.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/makchr.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/make.exe/1.2/Tue Dec 2 05:09:02 2003/-kb/ +/mkfs.exe/1.2/Tue Dec 2 05:09:02 2003/-kb/ +/mklink-b.ba%/1.1.1.1/Mon Nov 17 19:05:50 2003// +/mklink-b.bat/1.1.1.1/Mon Nov 17 19:05:50 2003// +/mklink-l.ba%/1.1.1.1/Mon Nov 17 19:05:50 2003// +/mklink-l.bat/1.1.1.1/Mon Nov 17 19:05:50 2003// +/mknbat-b.ba%/1.1.1.1/Mon Nov 17 19:05:50 2003// +/mknbat-b.bat/1.1.1.1/Mon Nov 17 19:05:50 2003// +/mknbat-l.ba%/1.1.1.1/Mon Nov 17 19:05:50 2003// +/mknbat-l.bat/1.1.1.1/Mon Nov 17 19:05:50 2003// +/nroff.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/p.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/p.pif/1.1.1.1/Mon Nov 17 19:05:50 2003// +/patch.sh/1.1/Tue Dec 2 06:06:38 2003// +/pkzipc.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/po2c.exe/1.2/Tue Dec 2 05:09:02 2003/-kb/ +/restool.exe/1.2/Sat Nov 29 06:37:56 2003/-kb/ +/revava.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/roff.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/sh.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/tavrasm.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/tradcpp.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/txt2chs.exe/1.2/Tue Dec 2 05:09:02 2003/-kb/ +/u2d.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/ucp.exe/1.2/Tue Dec 2 05:09:02 2003/-kb/ +/xgettext.sh/1.1.1.1/Mon Nov 17 19:05:50 2003// +/xxd.exe/1.1.1.1/Mon Nov 17 19:05:50 2003/-kb/ +/iccz80.exe/0/dummy timestamp/-kb/ +D diff --git a/src/bin/CVS/Repository b/src/bin/CVS/Repository new file mode 100644 index 00000000..0d72975c --- /dev/null +++ b/src/bin/CVS/Repository @@ -0,0 +1 @@ +uzi/src/bin diff --git a/src/bin/CVS/Root b/src/bin/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/bin/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/bin/bd.exe b/src/bin/bd.exe index 34892a4a08729b3e7886469b1d736d13c343dc84..592439d8a630a6f7acae57dbe477efe1b0d80d80 100644 GIT binary patch delta 40 wcmdn6fMvr1mI*JI=N>t-@wMc9=BWpdY-V4;SilKn*t0M&FgQ;a6kwDG0EfU31^@s6 delta 40 vcmdn6fMvr1mI*JIySrUBzLuQNJfYQPGy4L@0!|>qo{52h!F{@*0HZtrR{IUR diff --git a/src/bin/bin2avr.exe b/src/bin/bin2avr.exe index 0a228564d1862c4627a249d150943f5093e94e27..ece6d92fc95eaddfa655b731079e608d30a85f3e 100644 GIT binary patch delta 40 tcmdmbfMx3emI)7-Eza-Q_*ij0h~CV;fw6!S$gpQ*U|?{bE~vn$0swmW4_*KO delta 40 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 delta 4081 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 Is6tWy0w{=+y8r+H diff --git a/src/bin/cat.exe b/src/bin/cat.exe deleted file mode 100644 index 909716b4eff20d12184703426f8d01bd2f4efe31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17408 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 diff --git a/src/bin/chs2cmd.exe b/src/bin/chs2cmd.exe index f73fb106f78de07e2f34580b184ce2917a24e6ae..939a0284f5843a181ee2ea3aaa0ea103b499565e 100644 GIT binary patch delta 3189 zcmZ`)2~<_p8a|uxA{V`SL1dN~M4Zk!`%L?c*8!A5MZ;H_wyf8{Lvzd$Cs0I`i+OEh zlFyz)no>_qZyK2zCZ(&VnP!%yg_?R5G&Sc)-hV+|>kZwtzCE3P{QiIMyR9K;TSJh? z7uYy<-;%}zG=YYp?@+Y&6r%0XH1AZ08Gu;&VJ8h;r&l_~g~ul{Olf^kA@U{B&dwf= zr{ny4n|o=~A1y7zeL5ZHoPe6>9%od%6x;f#tZr&#LBS6$#^*|Spxd8bbFM>g)9T1c zD3P{{%0W+g^P}dV@ZoJbV15K`=$vD}7vop4!yd&@F}inXed~dPPK-*Yp6J2$N89!w zFt`gn)j4`=m-YeZ9_cOx?>e|oYu##ir>)bK``xV5yLPS=EC3};TY~~A4yB% z($P)2KF&g4c+bc6L-u>lhi;uCAG`}=Pjv=Y=VpNz+4GiPgfXn0TXEi&H$<>oOLcq|{JGRN&|M+cPb4%({58WzsM;>}Y z;8OisV0Qpaxqy7YD8Tc8ae!9<<&+b1oNckJg8c?SE#QE6k$5r)MbfeATJ)yZp>0KI zu6M7#IV6EGUCc4v#asm#2ABcN1Z)8e@GkDZFdYdrrqG3SIE6AC?obrz9Xh!v zMDi8=f3g`khdgh?gmfxezFHT zVdHM`8)2rq7(1Zrbb1rWp7D@t7M6d)^#YIw-z6a7sfKkepaJlwT$jwCULbo0Jt=T0 zZFU8ibie>WE+8K;3h+GOHJUsl$LTlkZt=ia4cGwK>76y>ZWu5$t!y#&+CIJ%68L%U zJ{nq=7Tia3G5x(<-H#!`xl>$B9__fVzq4{a1PEw>pQ{{vmAkyF1J;EHj~(D*YP=o4 z=@5t<-sEE)LQ#&FJNapP)Vet?=6~=}a1iPhUkq)}GE5}Argk=(jc3!@9_(zkf?dL{ zX4kWu*jn~5dz}4=y~zH`26N$DZ|+5I4)-3noBM<7!e{YM@jjlxp|}H%#9eSa&cb7H z8Lq@0T!pLg3cL!h#T)Q7d>c1oMhFrLg{gu^SSG9xRtal`J;g$!kRYat8DdY76$Mcd zb@1=4HMEa`P=t+ZYGO$wA*d89l>UMAPe8A@+uvNBDXr(9C<$Y01} zvXrbNC&?Ldi8$5g)B<&?I$d3+u2wgzJJiqAv+70lx@yxRv`8&h%hSebQ?)m=;`gR-Yqjq zA4OEgD@%(NmGmWfWC|%FWst!N@(!sXUy~E$7t%zUA(JFEP3@)1YPLEQa+7;Z9GHxe3ILZ6}oBfObS{(ynQDwJ^P}K1AQ7@7HsT zp+}N4!7^VRNc5#n!dHh%W4}24UjSt41aSE1j4jzRk;JJ7yUWwns zyYT^h9RG~Z;;T4Rh!Zk}QNlQ3v+#-Vxo})KFBD%F?g%ZyNby;*M!YN@mM%(3ayPlJ zJQ!-WLT-{BlVZ{D*YY(tbRw2Hc|}B$Ttd&Nk*|zX}o2uHZ~UKsCYuWDB7en$&f}%+oXR<_oNqPxBM-15wGaVOK{(} zDz(aPrC#|``C2)qoKQ{|D?a72a$UKrFeC)X??k$gM3PD}2}>lRlYV3n8A9^ONHT`J zNXC)LWEz5xP@7&Qe(XOyC_*=3fK&t<;jx0+3H~fuUPXGV_ delta 3230 zcmZ{m33yG%9>C8eR}yk7Aqf%5O^{qc@|<(#Y;)GDf`;(IN2?mOx001PoBzz5`TuAB%goKjYTL$Y zTbb8C$<}Mm^%yjSHby5B!&`pF>JYOQawB`u3d2p;}ym8gwP8e-))+J4T(l=coP?HlAj;Bi0iM;?^; zG3uB)!uQ=ay_>!8T{{D{5DLq@dG`8Q2+6PjNJMXYU+;Q)po4|Jr_Xh4<#%rgP3*{b znmhczbfbN`dxD?pu5R?F?n4_r*ug}t=$?*=5YAsZifBG<*C`FHqFJ5N5kq%&y8E27 zu}{xlzu9@ZJE?ob)rM1Ck1ZWw?+0-%4eIL^sUulKg>+DI=VovGdCDM&*MOjY-mY|E za(7Q{@&lXX#o+AMTm7Mo3a{F-?S<9;{@>Ka7c($l7eDI(h%%7*J{by)4h+S#X-*=- zRL)6&c5qIsc$l4)%KQjoKd=Yb22=uTfaSnPm@dpo4TD~3ozE&GxEMPSC(wI2qXvq; z`TM6}D;Bz7>*=8$HXN#x?@%SM9##~n4d@TNPPx3)u!hqV zz_ljXf>?bt8Z-MIrt@KI=vUs}dT;YAyzQxT-S&jr4b1jEgq= zx@%be`!1#csDnRt8tgaCj)w#y;^EHia7N6Z;$r@X z&5dj*Iokc$VpxU=hi5mCwX-eQ*6dg|mz~1SVHdEA*;VXLb{~6?JBhJ&yji})2h0q5faT!c&TOk9TN;c|QtdvOh}#lPY~ z!YH9Ym?q2=%7l5sKZP@H;W;r}j1;5AI5A#K6q7_&%oPj7BC$lADGrogm)?@zljcb) zrJtlbQk>jVPM4?2m2#xwP=+g`mGR0s#YMUkHz_9b$pLbdoFo2fKXsrwO3hTKsdLmN z>S}d^dQ3g7UQ!>ZPgI-MM005w+9++R_MztfRNJ8K)V|Xe>1*^|`fX#4xygEB!NUQU z*$cwKitK7O8&AZ!_&q!ozmI3&f8Y#ZqEIBv6&8UHn}x50gTjx(10fI`kj0~7jks7k zAyrG)C4V_m?ke||2g$?aiE_R?RW6a&$+dE?c2vv!n(*2~i`|7`44BsTTM&QC+Kg)Z^+|^?to4&9q1@PIGEWnygvcY-5q}iLu?- zWgIq67*~wjhRtkgwlx#YWD}b%bFewW9BaN~=9^Q@IpzZMj5)<}gNx}5vmV4)E{B`K z&4cW&=QeZOxv#kc+!5|1=jCp3!F)8|7V^D-m!uTw6=|6CnlwSmlS-uzq*YR-v`hL% zIv^bdpC3t#94g1jPFay%@(_84e1%AAAN6HO$apnZouTejzf+H@r_>ATHT8~L&C%T2 z46RIC1BuwC?b6O_7qx5JLygl-eX+hpCx&GVG(ya1vy(Z~ykPPcGn8Sf;lM1XaW4K# z{#*Vmf04h-2jDR5#000|AvhZsftrZIvYDCAje)E31@sN~N+@sZ#bT`;{YZ<)m_6xujfE zYL$Bsd_NLInv!r5MdFB)BoUq{#3U)CCrKwSk_#uj)Vvf&MQWFn}w1k*ZV zow4ATn2Cc3+1WU@BiosMfqj*Io2_K4*zein?Agt|oM?OF#_+Rb1;VNx3!1Sg{tq9` BY104z diff --git a/src/bin/cp.exe b/src/bin/cp.exe deleted file mode 100644 index d862b9e424ee2f8f1a395ee04f25a80d3fc93f95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77312 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 z 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 Q?!NUF7D1i=|MBnt0#<@bqyPW_ diff --git a/src/bin/cr.exe b/src/bin/cr.exe deleted file mode 100644 index 912768080ca63a31d79e6d62537e5217e9286ed6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73776 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 YZ{FO(ys{Y!=9iS_70ykWUG#nL-+Uy;@c;k- diff --git a/src/bin/crc.com b/src/bin/crc.com index ed66056cd7bdc1f2a82680adb393e2d33ccb52f7..6e2f012d00a6016b029afb9dffdac154349b33d8 100644 GIT binary patch delta 2767 zcmZuzYj6|S6~3#L*LqmH>)Kb;ZZI*RKrm^kU7HjOgJU3Jco|Z_1}5nMX@^WZCH4vu zhDI_nV0j6TXu`k{57@%RV+_S+Nu?E$?5N`hiGbkF)DaUV7}~jtXdpJP#E!RTS0>3! z`)Bt)&OP6`=Y03Ow|T~?XPqOXepC?6t+P(DbWnZ@n*J#^`D$7;SIUa!Hf34l3l{QB z+P>ak;%{PqyS_i+8sr43jE)pDI<$=meqxCqHD5#-`x0LcBAmfZV}j4wP%2y-fnRW z&FE~E5hf`pzcc@0~<@BSu@;c5{0y6?FFN3hE>G*plpON=i z&Ad3^*S%2CS8y$wYrZBh!L4lktZ6Rdw?8N+Z|N)L7?$Q~E4G`;$xlq{yZ6R0>S1=_ z8182Nz#-N9Ce^3bRs1{(->`*##RV8N+?<&0Gdlk-%x*UR(i4~r6~;CWlMXO##)_1f zjhJa)E$(6N&|lifHob>!(R-}N_1(-LIV2YC!sJ7vFu9G?m>@%RoS~ZhoPD*h#9k&; z+ZPCbvM&^t*vEifbcFOOkjlkJ7f(!^})k z6u)k+JeuThSL!%_#{(_s^c};#2HbQCCw_e>6f11JX*M&r&5+I#KUXGXxV!c4xL)ln za4_K;h2$s&nZGs5NoE^-GgDk8r!aC%Aw`VV5VhsMbfveyoWi45uAz!_>$q2LlxmzA(6n9ibj)PP~=5Mgbj(Xc`?Vx zlPs!-vG8Dg#>QxTNv4kh%EY^at zMR?8Kld1Klk^#jrBt9xGxp zKoL0ZE7g5@S2I&|_c`wlW|{7W&D+Pk#L9e9zCtn|9^t){QuCZAxzXlkpx+3ecR6fN zA3hoSb9z7zF;&dn1iVOcd9qS;pHqq+a?*0(ic54_k;Mb4!)?ZM^qH{&S2kJ+;k56+Huo)P*DlL*3DeN&dn$G;F*S|I#_TB>!@}kvFOM} zYRy{tG*4`L!s%t1Cr|0aE!+t|CRudj2bd_j{La>VMWUm8$8<>-<>eNRJf`I)jttSS zzCsj=d`9Kp_8rCKJ_UjP2a!JLiv#s+9qzwXkaH9VC?uo=8k`wf=W4?v#9f1WsxNe9)~j>!?~+|#Z3x5@g^bGBAU zdi*_ILFc;=@R4?YMsNS%p~eIF)4{7($3AhSkT{YIgJ1g&;7G9jpts7j%;~{FM7iRI z{##2tIUaI6#96g<4x2+{mD2ntzCT9l`ANod9Aat2 zVvc1z2Dm?(;r>{t1<{1y9P}_exKx+iqnP6mLL>G@%{HfzH(wVFQVCe<5(|15BS@rM zMHgsNtEe7fo*kc`nv~GUA{RWUzIDNi>VeB{iHJkNpR$SB@SDyiX2EX`n>0*J5sS=x za4DO}7K=DO_zIgy-`BhU>i&WKo$$IF38r}8NSn9{ZZ07eR78E$jEhM{q+H&@tFN*S zq`vz)koJs}`z&NKs*sj~q5ANf4uTOO!-{Oj;FVZGuX5{M^)eqGF zJwLVn6ru*djs#JLH^VZM+H`)tWwUNV*{U+MblqCCV$q_-Web14p!7EgmCf1UE#*qj MSMX82x08S4zx~y4r2qf` delta 3054 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

    ;Jy}qfnqm{Dty-zK zD3Tw19_SUU(#ykMwWE|V>1BJE=MuKaRXkR&T7?3c=PDk%EOn!iQm@KG^+!1@du_EM zT9kTg;Iz;pEn(s$|Gj1=PLS@kGU2umk6en|vPp`X#c9&ZQN?Zb)~da+SPb1ovVz-L z76g%h85XBsyqtQiwkqy4?-oXXwXu`Z%MR&i27&$o2mKv_DSjvDQ*XPS&;4r;Iru&N$RlwoTniEedTrg0=~S*suTm<~D(k$8 z$Kq9g#3|#5+#4dg*rjNam@NN3(jt!pMubiK>df6Ig(>^o=I&l0Rq9G-g1O*`aJ4c$ za8g*Mm@uCuAhNeg{d@_Z&_J)~RBEkCSsGF%#gm45SJI3t6&7W;i)Pbh_ttGOR&q*@ zlufha>Dvx_DH8mNq0(O^H;Co|2_bqzIJA1UtK!!g$aIz5HL$!7ACYPH5Sy7Pe^Z=gv)o@qzgtNsUTO#ap5PMerCHAJ0>`z zdqkN2-VyB4OqeY7nkmU*;+v9ca=GStEH1D5T%rpsnkZ(o(yQKwJXuCI{R=T^9na8qBbpZ<&hQoG4ivFX4L@I2k1=7>ZXdLP>mnJ|Y+D zEwln`KqqoJ=9j8V63y#?x{Gr;aHQA5{(IikQi_WJYZB@875Xr!O4y}w0Iwf*r87KQ zldvmo{ELRUUXAlfSXu=D^n|7IL~3m!wM$P)Kc=Z>!V>4ml7AME>~dnw^7&WH2NG!A z6i16{hs_5FaGBO%*RR47HKa%3T#}$t8d{ApPC|C&?oMs_U# zOUO~vZh|7$N2M;v7I57FbH}6&C45 zP9-rz@k9;h4i6Z0xVtHPa5{c4zi6lIq4B$v&(kt0Jh5vY+6GHf<=ym-Zqd@K>?X>2 z)#FeA`FgO+dngB0mG4vY*lzljUgXnZ>wXcV1ncktlq)sXOI|%zsn-;lAdmEr9_UpY zfQK%P1Q+iG3u=_;)AYG%%wDagqe5hwJc3-?K~K!v^aY-6(C}9{@^Z$3$W)>MN!4+j z(Swn&ps)Y7+qt;Z)*a0=My^lw9^!9hT{hb~J(mil&GY zd(LBZ4?c$qA*m~k2@@fc{RK=g$t7u=NvJ_^l|$Y~iLmQ>LX;qJQiNR@{9S+17PS7N zEp?AY2~kU8Mq(+`ZjO3Mx`s-y#O$q7@aA%Od6eN*t$>LhTDeIVxX}2DB|FN?Xn>VO|M-=Frc~62%Dlab@>e zVcNI&jx$L*VnzxZ&c924GL@7lZpYjUO1gYX?w4NIpuA5|vT5VWrj09`HZDu|aco@w zfsN}h2g5fmBoiCg-2PyxeM;szwP-O$_EvRW)9fply;gmp5LkMKY0s*O%K3XDGeSzm zDAA_aK_h$=;vO7I&O5wS%ijbQTEbu4ICF1D1MSVSU%ajvr%+L^AJpXss9Zlx%)GBO-h2=3Gk>G`%LOz={Ao6J?0U9`;0e<9ZA28eLWe?A8S)?EWdTyL)Yce?c7Q1pf-?Z{I;ipC^_x z_;n;gO0`8kL5e0L{k#&oci^P0n|2mpqIfdAwOG4eF81oG)IC5%J_5A}N@OEn+Lx2M zg{3_i%4w>!oQX-$-Q{HY#Ndwr12Plp>jZ2+k%iD-W5P@>R<0rx1#{qJ*A(>PtyA9u zKY+3zzZ=?+Uk-SL(QekwDk&g(; zVLI|MsVmBa*}6EYi7F*lr6x@_LWGRCCOX6v)J#%bggVruxVV-_E|LKUNa)BTVb3T* zj3i@jq`m zF0Ad4QfmP%r^@~EDP&2nU!$1!yrMp95LYV|!;1M!{(>CA9jma4%OQKDE;|#70w*<* zVg~MB^(%{jQW-H8s5e7C1%QCUMcOL^ha*WT<}cG;=PvwU*P}pdy9pReU8CTTg`gjX zs(42A&1r0`T~>XJ@&!41NxCW)@!Tjz3Pth#g}{`HGr11}GhhKRv5)vTP5mFtv<1$C zM*bDEZGk^g;(kMsEik}S#(B2DZ;>Lz#Ti)GTMSza{IsiWgEuwDb&t!y-3_pw!cDVi1h){VEHI$xxh_QOLYM8E`L)IOx?Z zOrgjkBuDIWY9uWsHDaHc8nHT4BbJ{3AULKF&WAX0@-_MYpr6nuKHJ)a=54JGVMm+K zk)72z*Fh%F=B;flzOBAi!PiK3&o)#_WjQP-hh=q;Dk03l(C9e;Es71qV(+ZvugqS+ z*W7y22fHj`k4o8L&smBBF>!Sd1|Az+o@Szh9M_S2GYSv1guBY6jH&`G7b8(o}iXmvfOO zlZae@!oLKAC=0W0k3C!7_}FTfRdeZWx;dpJ94t)))zSob%mjt0$}CIgXI z^drB!+IG+gJ7Jyrjdv5{9ZBNzh9TPy8hGJ;C{o(?cqOOouc?N%VAiD#_Ti28aTt?4 z(JjmyBza#mph1ogavxSve2}*8r=U;*Pr@Al!G3XIQkM#R??*9)sT9M=CrsTW?XW;c z0sJk7%E8T85+S8V-6ZX_Ob{=pJ?k-?LQ$%e*u8_aV(3hTa@I&j9w}%As#wEi)K|uk8Nau-bK#!3U@Wka(S3eW%G>DZ}3}W5;eBv~~%1ve3Pr}1!|5MM0xhs7nFe10EAVt&G(t^V01ga#&Vi$7X4UWDj7zgoa}MfWiob{n zQzFLK`g`6X@m!B-Cc0|#ZW8CvR_M2NF9Y0VsBpindjXOdI5u<@=ON5)Br~KHeU7Xz zT7!qI@me)%mHHdh;(V{Q=DXsKcLIVD|Xh{80{)Kkzi=Xu9%HAw4)7R2rGi;l2dJt390hW^;u$)<^#IQJw!pPOSRYA>XvHdcEq##mGI`|G z+ouk{mee_u*-st+{Tuzi`on<#tmm~;;)GL&PYqyyKXv#_mLH}4r+A653=NL_{`FIb z$Er?y?G$Py?M1EM>$R?k%zmx^HJ;V~hMpuBu5TMX(MN_7o0VHVyM&#$>A1t3+4ZEUhiSaaL8O z9U$doTD21d$l|l;5zB;*lTxoydAt(|Si`bl3Il272kD)Tmdb;4_VlU;(VNWEMB77@ z3GOA=0p^eh$v=~iU6L|B_ZV5el61RQGj*z2;RT31RWX9Yuk!Y^fFux4tShN! z3zFWZZTO8~Z=i9KSS>ckO<*6+C3@MF$7!V6VC0Mt*~-Reh0P(1gvB^LXh2w-!h}sy zCoJMOp<^x#1s6pO7EEpULT-ZlfYxlj@WSX$K0F>YI+v{>4YJgA7DSs4iNLi962?L@ za8`=#LEjVcGmi5l*HQr!2YK3)6t7*Eq4JP?Lf0>=VMTGC2GM6KySZM_D@<1&DM$4s zkC0~2m7-*XV!J6r?!S%HQmkL-a*1|VCE887sGSMz^cGxSuA$>!dcue>S>Z;6C3^_6 zNN3t~=xyfRL_dXRlDTUSp_I^tr6F#k5-oudY`s|DpjEAU57<+AfCfktG|sHPFI&sv zWx5?qI!FdIP>(DT&e)QJ8}MoiN_a~c7^0@9s1iTGYx|H(gA|7JLcSXgCVhjtRxfb# zZ9{RVCrT#8OVYJAP#W|$=da~xh20J+St)sEnv>VJXb5{7OFUpTnnBeW#jfelOcsb>2?e~r^m*eG> ztCjo5mp8}DDOW3hXngsN@p8(g2c{Ep1=XrIpv2jG@i`M4Bs|Xcx@u`C7Y0xHkMbL% zFXCVVA0JHYvN@Bi;H8=7aA~Fmxh}+30*aXH35fYDAl7K^Ns~)6;fF{^LtPo0T$) z?6xRnR@n{jE4-L??t|5Jh|x@~fv!Wi)0DEYRq_WEYUf>dx>A-QyEBwBhwOI5;Gr4s z!*d>w%Q73pqQ?reQL-YtfF>l@6r~atHX#)|uu{5bG;x03+T796+`8G((7suuGb)hBPb~JDIIa;=DZr<3?g7&`l209&gINE)8 zi@pvVhZ%t8EJs(4j;3v5OCvunvpsQARyn~ywQO-(Z}$1Cn^z$7WC$GpgFyCYz4Ax zt8eSJ_8kr+w{7GYIyN;lw*b5N(0PBFy&nfgi_|+!icYjWNb&>2Z2z&Lo4RI4fk1-dU=B=TgsT5a*dR!FW6zXZCxFpo`5XD8Io^MdRAk=f1 z;_E^^uTnfK)bkgLuMB~^)TUYBO=t-&#N2N+86Ax6Iapm_bzJBGt3OJU4_8b-cg3W_ z21BkG+$8|3oPc>&NCnRqOG_VS;`>3bL+1744jA2O%9q_I`c}0C$lGuqOKqk4JoX#d zAM~cQg5mijB;duN1Amy2cQE9#Rb=;wKQ>(AA39u7XvEJVax@JWNuPD-Uk}HMkkILgXkXNhJRcK9)X+b{LP!l3@< zYJl^N0^WFY#Y|ydaluSs4*kq5Rtz6CSRPIoEC)@+#qwLgbM7e;g2NYq`E(AXc{P?` zX)0V=f4K%Yg+U-#w=9uX%w;sP1tj8DQS}f?Ns7W=?FX;ITpHa{RI7%lk*=tk`b^M? zE#BHD4+vhT?&3{wwyslOeH z_`}m^#^5Qpbx%YJ7Xd^|*KP1QE7l*75q|{LE?EmNn|my{KHUJ&yZ$e5t5yeQB*q8d zDR=Yz6FLgXf51qC>mM{bM+*D88bfl%3!n&LWB!4+tXd6GJH9>r>eAeDCxYuu9G|bE z!?5{5bPg)OkursRBt?;_@RgGtQIkh?>PmFXeGw!qv5I7Dd*k;d+VQzg${n0=Hjx$y zI}6*Ark*FR4C`LhOXhZP3!I8xgU0c1UJ2L(&{h=|J@th>=ZK;j%S{<9$Fw2~ zhOpRR9<8^<+$MB{=)G@ZK}AeVA$$kFi45+Fn&p3gy)8gHfqNhM42~3e;8!KhxG#Bq zS)>c{)OK*{{(%s)kCfUC7NMBDljg_C-|Z_Ylkwt-79J62Nk@_}d-4gnhIuUi8KF+FKEeT!#K&`vZe6!VvbE z_9mC{*T4$AYCX$`!4%`&wATqaB?Z?B+4M8JL`nUaoA!vAJht3TOYYvnBZ4XB0p50; zdSPWD7l`_EShZx&IZj8e?$xQ}r&m1ZF4FgMa=dH2Ya4wX8<)ZUO=)b$9m}-6p7}a` z8+EyPy>Rw3OFUnKpULQZjkQ^=;D*~Q9~k6n#AJa#pTl}vC0JnXf!q3|wn8LIy(E@sFKT956^aGuk%3Q1)W&7g zZ-Y#6hq67zdXcj=}w&)>H$nL7kr9htGc;?)}K}7v_jF_7xkJ=7Nxir&fmCk>NK}Z~rl|&riU35Z7;>Ht7jp$2 z2do_#w&1^jVbC`z;1ioR6u^KY4na#*%ujgLd$109YcZR$(w+#GSp7S#nPQ5+(=bak z1xqHO=QX$u;=gm^p~&V0oECypF{Bi0aBfJz$=9L(ZBXe-i3NV_*dePyF0t^tIE8-@ ztOTtR&}f@?uLP7Ow`bTMDnmt-!W=h*+Z+1EFYlz=O@}&x!;8rno!mG2EIa=Vy48n6 z21o-ViKR+?3K~@;n`+)iHA$?+YhquAXEIS!K+T}k9 z?pI%(hPu8{RKoftkK+-oR$)|_tzM3_f_o`Av;8xYYBGN0bbjMt@Bj^n{7bd!<608{ z#=b-d4U!y${Q|dM)a~fN@T%;K%5N54=(u;EacQcMvUI&r!{-xgA=qwE>Z7zqmV)2M zGc9aMoX0a0>);%ht!YbVbMr49+`Q^?G%Zscq7NS|qai5vY)rGCVun@b}5LVHam z?uaChjNjL9@Ch4lAO{>td4x=x zRq8B!SrJM5XfAHBa^8W_lc|5il$JJkw6!$saNOD6?AzoJI~s79+Uo0|nDIAO-L&l< zhd^I`H2GTE5{2}_WjiJhI@qj;4Fm>cb&K#{uWsP#R1KqyL!!P z534OMXE&~1%gWcRUdgK0R^5oGtb9%JT2{KIrlj1%imO)g^Fs|TlEX|W(p|+a%!pEg zW3#y3_CkpTSI_Qg!f{Pqj$@g91+(WOI1sWCR*ehkNEaZu5PCk3+L1+}p2sPkAL{uE z#dAVEU!!{`WEaNXv1Z3w2x)WePvCRK(JQ*7FDH< z_aX)S(_K91OD-zwOLmk=_mgh>CT$fjtR#xr9()Nepqj(Q?CAeQF|&6gxk?Z89uJha z4xteN9vbi#PNhw^0Le%Oy$@MVu}CUxzdZdKdo3fgsh$tvw^Jc2`UdYpS2V_zR;2(3 zfa?7lP%0-s-H2#!nHhr|e^U8$BOIIz;5bj5JN%|`9^cUB9_>q>B^`agth%mN%?Ad3 z<~$xv9`i(QXI4umb2zecuIq3(9F*!vWm#GCvl=^6v$F8Z z9H^O^;OnK_zJ_~3>KbC|8oSh+1cshV{)(s~rYSqqYOB;6xz>1=K8K*YY6G+Y++bzy z(C}RHQEKin!%;H(3oDhHvzL5d<}85GdCWV7)+V_^$v>Nk9lno7cm_9H`pi>ktlU*n z;NNM60|QOGJ;suR&x9d~k1L=>lAk0AZ{(6yUx8VL+(o#f1^~RN4J*iY5SLY(Y^W7+ z!~xI#IJ~B*1gGLmrK)f^1e3gN-FM*RsyROX00AN&rHL5N;Ggc+6Wp+N!Q5xM&5Z$! z6sP)a-6dF7z_YfJdmiUvPsUXXoiuZ3$zd0~*fj9zEDZB125>L1{4-cu!BT^f-^mLW z!_uJGfSaaS3HS9S<2sG78k`AHa0`{Zi`922W)@JOk2#3dYX)4nzhMSY_DXBh5uGS;!!IpYSmIcgvW)d|aUSc<4oWyo`9H#G>3} zm;2-+yWavd!|pfmJ6W^_iw#oLXnO$6%4iCAUqHevTz&sUo-ztoMXnCBQ63stqaxtr2^lsoouFKz$-W z#aVZy4vW8g&bm?e{3KAhpGflevm*u@=g4|shdC5+Z)B9#K~pwgSQhVK4KX3s)ERt4 zWvy(Qq35f!fB>HnT#Vo|f*NX2%M5E*ptS2kFM>=;*MKga__cMwt5AdH!r;1C;RoAi z*$%p5+R;!u08WudZbm*%ggE-)m?-?Y@B>@-j{zsR#t;kEDsJCf8kgin^!12+v1j)Kun11N2aXWG#G;9YaXzFvsyb@{c?J?2#Ja4qFX&F%vpA)GA6FzU5nf${%%HC) z?qenU5Bx9A82=KEe*{FQ$iZ~{(EhJ~4LDo>4lWA9@s(u7LOMj}9$L49uOmD3E&RA_ zfzyZ%LclR)BHi{CCLiP$yW_%b2a}NtExanw+m&3V-^n$87CQ@&pko?%S;BR?xVDc? z>yiWqjDJF|VZ;qVi>tWC!Vm8=%I`@>>H9`o;0=E1i@vw(r_%`k-tOO!f^kibUVM(! z{9D|H-9?_GJo#wg&kK$V6)33KYwE`>-(GgphRj@j%| zX=@*|iPAlC`|c0f24)v;#3a-47XZkHvH^4GRrZjr8uxGR#%zH>FRnt)HB=!_8>*~E z6@CFEME+@-Px*Xg&c|?sL(dDde_Bi8N<)`y_=_D$Z~ ze%{+x#^_T+=bs`5r3kVnK__Am(E^43$Hat9i*Kfmo`aPH9gRHDi18b3fqlfaWo8B6 z_lPMyR57xP&ew1Y;GCyb#{AJuc*=1D&)_-(M|HHiX*q{ki)xo_D}|wS-2}Sbj_+o< zpOmY3x4}eru_*PGMBg0KP>W!qpH#OQcr5ye)D}HL# z?@!PvjB9k-w})Q!&-@Gz{_*NL0QW`crW^@6KBYq0q=&9BIc~$(aN6G(E*W*fnh$Fa zk&hl98e{&jCet>BJs*N1HBoP^`W9@t+&cibD>*YZN%!Fz$>zPD4-b)yfT5-j{-{VL zWcp;ti5ouy(I8hugPmq6X2Rrqtb?zh8~7Vmeik#ds{r;Rt05{y*W5?9v717mE$7oJ zuuj-x1(7vAj>`SusHC1Rp@J9PPkZUhNNGfv@)B($bQZ(=OH`u@7s{);d&Oj;PFD(V z#eIofU2S@jdLg6B5VT!*7=oqK4HwyU6Fd*>lzL#4ra@EurH#EEX~luMbNP^ZXCC+=sOmVU8zsQN=6^8k=sJb%@+A* zwiixneRNnO9`td+EMCLESP>S}x~?KqH9B}+ThWnO*lWh*Od7XwyF_p_q|(#;#1xk? z`}wN>3SaeK97BmSWc`?2-2L(i;LcsGcKMHe=1g3D5L3d4@yKtH5ASnGMLJ=#r(J3_ zNhv0-#7*XRFH(a(o%ami?d>&29J^%kQZdtrY&>5wmv0If(7_k0@~&wqNwma zk#q&YjN3%((5kK}XAR9Z#O8-sR-b|9jSrN^h&Fy75iPV{yRcWO;R__xN9Ciqud6)Z zrM*G@I_CrjKXyT8Xt{J+f0xgWzO6ialJgev9NrNfqG3@5>M`|d%Cr4)Q`fH*QZ_b}4( zfcy)^qPWbl0o>fc+THJH!vS>&(=qDZZ%5j@pV6;+hM+?Z^Ysn9DlFWGPOBUz$*4h? z-0s4uLbywcny?Ue%9E%a2oX*qFc>$y|~M&okl>BuVD>qe`* zmFnHp6;2OkENR@19o|pXyy_NYhm$A`UX9UxH>$q{M>!swD%Aqs5LRdYdHE4*VxPjd zCNv`Qh{9J@RjHCs45LAn_;~pLrJ#FsSp;`@i$x_r4^18LqyIhdIz|9FAs_9bv4q{` zXL)3aU}@kV4W!bWo;*N6Oly&j(l zY402K_qBRFs^>fO_oaHAugAH1T&l-bJy!L08Tz|Rk5}ojMUT(w^)mJM0zJ0tahe`q zug61r{dE03TaUeZypG2;oG9|YYg{3Z#Inxub_xFA63Sz3DsLlZ{3*l-Pgbk=uqOVG zPQV|iPs@bX(kI5TtYICWs2;aycz`2m=83l{{{P`2msUR)FJsu=3Ul|0u~$ZEH}WWJ znI6ZBMI>f^Brjg}zw!S(1@4b%|9i{72j(20Lm#D4$oAv^ZtccLc*qxU6WEXN5W*7( z&mepUp%>xT2xk$_Aw&_(pJ&X9kdBavkc&`&P>SG1SdY+%(1Os3(2Wp6coN}Rgy#`@ z5q^Qtk8l>@9Kt9B76bi8HDd4{21Y92m=W3Ap8|!QUGfXAqQaz!c7SE2ptIYIrkS3 zzKzg>a2$bVp8jK+nI*AgHi21K3QJ`ZnUzh#zhJY0L{r#hY${7*)7a%~I!k9)uq)YB zEQ4LmX0U6RgUw{K*ld=`ve+DUEz4$e*>xcP_0U7+vm010bFu~4Df8Jvwumie1+0)2 zu_bKdj?Lte&B>kL2uIl+ty}NFgX@>A+w_->^l9ZC+DpU6jqp5bY1}Zy?M*%1vaQ3X zCwFYVr@8fxMxW5IvFVNkOmsup&G;mHa8|-66ux>pYJX$n{J-Q5yl17jcq&heBag%pWYR&%(iN| z?Y;&b98zNqJI3SEA++QAs#c%UP3>dpt@4iJ;h;hEHney62#sn1)2{XC#U#e-dx;sS5r@U!xG{*oR$Ud9_dQfcp|O#QPed$=9x-mgo;iY12kDAq?Bve2s)HhgvO&n>OLCgVytZ z?{S63>OJ!)W6<{4iE(+)BM+L(-+ca2_Juft7T_Cy{!wwWu(*h0>`r!vF5$5M7|7bWmDb5^M*hxg5hj zsik>?U6kfhjIrI6CLx9=pruxv^KW*ijj$RfJ=Kkru6?*&}QAq zcgQs0akHmtwWmC90nY$hm-N`7#{j_UygT#eFZL|{ToGOz(Af}~7F!lu7uy%7ElyvY zvDmRVb8+_KJq1q}^c9>cuoq4%oLw}(D8Fb`5mol1e!jE7xzy=$mO58C%bi~5TIV|F zdglgbqqEt0w{wScw^MdL;{1|xzw=wppE@5}a7*6L^4BeP6y8xwBWu2?a1#oQIn6@@E`SKPSb zyDOLr`W*VdBG-|dnVX$^eQs`Uer`eT(p*<=X>L_+TkgZTU(5|S>oCT)yvOpsnfHUd zp1dzCd}85~3!h&2%))0EerMrWf z(fOkFOAajYF0EPm{beVYomr+X8(wBvK4tmz<;<(GMN)3D^A_h8XVht4kh-8`!OaV5 z7TmhPx8R`#Pb|1OuPX1Byr#U4ynT6(K^HcLL z%fB*zR{nMQ3-XKdOY(2ZugbqQ|IYj^`R(~T^Y`TM%l~}-m-GKm{&V?1$bTvSNdC|A sPv-wF|Bd`VLG!bK;904ld~w}K%g0rDD>yvZ3ZLU3Xd z<@7k3*Gj9cwxrbFFV+hNR18EDsa6rKqF756^^8MbsUk$=HQ(o1`<%IifVSVu=l93Y zkK~*=XYIB3UVH6z+iUML<2y}Sil%8U{Ojt{v=&_XpI`o-`A-n92MpRVKzppup9i-j zP5<-Yc`M6md{xzzE2@iD`HG7wDk^o~vQl4lpu$&H;hQ{bu5VRkN$JS`{rhIwsAm^w z+Vmu!)_CcftF^rYipp6Myt!>^*1X?XoGo@rW<+$XDcC*c9x zFaNckqiJqUJLfvD^h?uxsvHZjJpPkQ)!Ev^<@j;%Y|Wj)r{`$1qe%GM{x9tuE$uhX zkNuGF9$eAx`2Ut_+R~9FMS2k)&if_)u6}?8n149QzaZpO5%*6+SoNT5Y&x ziEw`D@8~O7G>!G`#e4R*BoWR>d^tH+;*BP(aL~rLG7-)%_%0U$jwbLC8}2_6;e3Mc zid=%Mz!uf5uTY7-Ie6-Yigmj*5w=dWe+~rd5bbx6~ZMfSK;rwjh=Ua}8JQ?9DFRLi^4Jql{Gm0rvz!yc+ zx6hE8zD2rI%2&Bu;Tlq-HHGv`wE4#S^@p=NTv zD=F1Wt5=b(<&{MxzM_(n>e8AT-}1_8-_Rj7Lw(sRiz-Sm07I&VjqnXA=$Z1Ws_&SS zT)(1B(Jz?xoup@n(8?S3?Ch3X@o2U+;6FUtqFq*6*SltNSCuO?$vt~z@GPy!`s`*+ zGhJErt?t>Tzti-)W?P?>d9=pXKyu`_-x;>IzO{G#M;>ERQrEk)O|3&a|7@)Yw_WcJ znLW-oeE4vm^vg&4Pr5LqMjC1y!}u;-Ft`5jh>n88Xo6nLzdLS5!+k5Oxx1(p#wY|cL%Dm{ARO@&L^LQ~R= zf`c6Dd1x)h8HH1gDXz#)@3yI~F-ciT4XuI8JEpjZFY>FE<$YaRw?@1j z31Vz#vsU27@LO;E2XuL5#R~Kdf66L!-Vl0w=a*DXUO{x_RSQZhN-C?btyo^k-%X*%E+JtCvpig@$>q?5;%b5nav3M?U zXf>|xTwuf1Q;4he^zV9W%~G;eZ}&ctN@S-gBj`|WImB@cKT-ubet3+-*k zn=@4X5D>7x)`KkEUkdN>HZ-fk&!4&QV@~0vENqX9x1j`u?JApJBnFOMw=vn}6di)1 z;mc8?y8sk-FKi5aOCrC<#E$X*lE_=#YmNPOz=%!UaYuA#vV=%^wlBz}Wva#balpd^YJ9l_d9H9bo;?Uzo| zj45N9**Ig$SZEldQ*?~+iSedY3RaH1f;RdxMEbbccJ{S?>%ISRDET=6BELBe z7p|@>10%0n!SO0wUbZ$+1ua!5gO2`cW8~`h3p|!z6nFBt{%onPmF;b{#i9LPcc5U;H07&+Abq}t48uR z&o*z=lR2d;05VtDNkFIu3Es1T>EMsHGdjQG8p`S9w3D^OGwZ42Me}5~InXz#f01`v zfqPTI8|I|3=5=GXlJ?D+MQ0Zo{W%!Hwf!~keXZVYtOeHzakaV1Gx!+x*>8a8O+i zsf(D7wk_FFaD)$y^el=!(jpT-t^1`H9+;C^n6Qrdpaqq9IC!2iACkWbdA{)>vEvEj z(9;zUXiFWB55OQ~x-|m@%!0QmQ~3zhng#oDahnB)aPiPWrQUsLsirxUMZ-k+;3_;K zgT{7?wiD@wMwz({4xWBhUJuN5%$~sDmV*~)MLV7X4(p@8Xj)F|uq!z`VHZG*Qh>&fwANSV(2FPn z>>l5R80mYrLTGL`jv4zSe{#el0@r$Jv92ZPua*hGYrMb1HApLhv1+Y{;kK0;Oz01N zb3v$S45oq^*7IE}EDwxiMqlOLgrbD_~@LL)xnGOkb>>;piAF!!EK!>nq< z9cOb9Y8SieEMv4?JlV*18Q+ZjNtJpSrE*#$dlLFjf833+5oH7wh9L^obgBX$i$N%g z>H1D{@^@WEzItQm-*uUpSti}mQ6Vs@H7kZqFUFLAv#9a9M?za@jS*WZK*P3v^<9+S$!F&_{2>V;CLb zT(gN0cL?~j@efl2RJ+GNOr5k^58c#h><=w;o2xsmb7SPVA~bo>zf6u+kbzS*Omc*O zatb+)y`sngN>UI2)O9r)A+qBl6xsHVuCDOSU=Pq;oZToxg~y|5P2I*5^6I3~ruw%@ z`nN|v7rO22@%Kp|`;Na)`j}=M3*~p300vXPds0NPQ~!1G^?wWXM_!A{L(U&Hb&S_d z$_UTIOlVm>)v6^6U%`2T=|Z{HeSmHLr7MEr{VM+LdE`~$ZUY~ikFd{Q_x|CZG|`QM zBcUm7YsD9~q*z}6W$(~hxADp9fyX;s-~qjVhhMCj&{|Ju!O4@xE4#wUIjzTc)7bg+ zH@bUyM{h{6j^z4xlk}8!4xB#NEI4AM^fW8#pUo7Lx`zp|jQLbH=(*sU2DB%>{-70no6D;VpBO7SA2s=}s3oPU==K?8qF z@b$Iv^+FG={{dyX^F^Yd_ZXJmVeXjgv#LoUQ%# z_juNSD+ulfBz89h=6O+uCxTf46y)R5+?T_Fy7INjU(0r=(#!nh>1E5X-eE&=(FmH5ku!-&RFAW3hyn~L8R`5FZ=Z3C>e#z-yo~+pNxqDQ zJz&mv=NvF6rPp^R>9;f-2=sNrrU8$4TboTD;}{si@hC}Ba>UZ%YPh$kYnn~+bo(kx zQ-CAmaMJqBNg23gnUgrZvdu|8Tt--*ejg6X=BD~vGLiy8^SaE&J>JFur0%0h;R;-w z`P_}PMY>*8ys}W&*MYK$RFA#NKE>`G;j;}#xxf;P#!pqa4=a9EnBo(CL&^gP+Z17W zqPj5d$@1#TRfX!Y1Eg0bJV>zrvq@jYk92+F`4RL3Pg+;fYf4!PezZQCh2UO(x>?{c z@-wLQ@-xkXbR*wq$N8aG#UN`FdD_Exv|g&l!#4seIAD4B)@D9Qo~|TX1_U5}Wm>__ zAo(Lb=$o%@ZzGH%yS?N7pS5@Iy{Bm}?OD(ZBu2knr04sfvzbp{@p8muaJf_o|9-R@ zI%i0jNA!R$Pd-pjy2*l5rE^o$zZ73kGqF%HCIbz|F-Im8BQMN%^+exj-zAs8QdNRN z9!~J(-!OGw59F8fbmg(%SGKN|LA+@Hu48cyWvSU4BoUgJ1tHBUfzGdrl ztRw=TPT_|qBYdUR)d;_1N|t0}Ru0qfyQ1=x)d&awvdWTm|2x=w8hbvgF0Dcn?bgG^ z!~(`?8ed&nTw1mo9`)%u&|?(}zqJ1U0`{gRHDtbJf#u6Ve!a5NSHlQ^1h`{$kMpf8 zLhL&>5?Fu70uDNZN2ky{z9SWtj&8E6VB{(sOp^N&!p2S;HZo~kDOcx=qWk}d=>>om`y5XO@X>-gOeY`=8mxy)n8vHLiY zp&$N)g4Sz)g@<2BFJz_*s5LDSX2IlHMSD*K8N)Y;@=WOJjR7;HplyK5J$x*|g|l?PdfntiR$p+V#OS=)?^P z%i)goL9(*F{?S@dcniwJHHh)jXoK!~8x8utkWY6Q<9z^_Q_^yGdGGisZb{e+fdWI* zjj(7l;%zovzkrWqryBj117_1^;s zYcA>!x5C+r18A}VenEiC0f1>2{$3)?-8RhAgc(32O92osG7|2yWvWvt$_-?}FyDp^ zzHABrKD7nJumt-G`u`}Ezobuv5aO*x232}TN>!JKi5E1bHmE6Lo$Q3Od(2p$X4H7} zs~Wokm)M$9xvS8hlVG>PhlL8=awRB($k(E`(6jg;ZDW`Iaiqi1$11-2HS6E-Z`8m4 z%`?^yW1vH0SC_Oo@ra&(OHAU)zny{lO-)Sh>8{pS72RCwI5Y5dqY7SwQ(`+Cfr`tD zRzndM!EHICeux$+M3Q_(8PbU+PK+~nW?j$G{tBS^GxHYYT|2$UdcLyg^)qKJocT2> z`IlM}^B-dIjDbjBFH%_^^(T_Ocbo^lqB2UtH8iOUewO!+moPc_vY`<-mJgmNmkIPm zW{OBkk6-thy|@H`Fd20eEZg&8Zs)Ydf*sb52Ov7#je7#;V!|&19zuOK)1y+oB7d>& zCjez@*Hs)W2dAa%x2$%2DzKkw8^|7%;rQ{kaXL=&)=q63pI}X{n7NN@%3zei z-qFh{0;Twc1f2k8W)vkBGHGM0{G3IIoHdi(5W!^-tG+W?&x{+1_iU1C<3Q5y{-vvH zJ057E!1G3bDTNrU>tj$C*9lM-etn=>u$S@LjR12ppaSQ26gE))*Z22wa0p3DhGHAfe+mdrn(F3m8fhH+Gf}7-L{`kdZBt_e|Q5p zNjV}8U7VD}o{5X6F$xBdlu=SvLy5&;o-OsDSCpd?vo9gvgA-k#t`^91jKBdc;9qU4 zP%m-y)#>^x<5kzS3Fyta?9GduUouP>pEU!f>CahLgQpu>^+zH*;zp}4P;+L=1bF*Z zETOWR$jj0vkuO+>J1L17-feylb3Aos5RXQStn%0GWHMO--HAuYrAdqz1PM3UfjdZ# zcnZQr zi%YBY(vm{N2dXMzVw_$|7p|O*G4KtZ=(~32g1qV1PA;65H*@mzfbpv*UBpe{aJ9wAk-$codi5`pd9bwF!54hh9(^sl_u7BV%d}%^fP}#4nGv zWjy0x>4@Uba^%`Knh!qfDeBPZI7n8sO+Kpxut4ak^Megz27w=Nq?R9#sROJLb&zyB z%!1CybB;gjaPGS{>`wq|xn71Ruu%Dr4#3}S03rQ*F9BdgBEUf#;0a>b4FL2qoCKJd z{q;4+N8(OB4^W&i>)}=nAB%JN^hz1LxZqTI!0}At)>r=zjh8mg884*ki3h(gaM}TT zG*=Cne^QSFb}-K#u=Te_2aNJRZYCUyAFp|TK6Si4iyyBm2+(c3j>eDI*#L0Hs|Ui` zkDT$NA99+x#V8QcmU_1JkjGM8hR`9riWzx}3K!;GJFjqN-i(6Dg|n}nU4Vell%u+RQ0|Q1lYBD4abAiMoE30It`t+5hiSt3qkgOoARbzd3D)oi4cETm9R?aiTuhe{Iq$#=yi21`ZqX%4t zILXv(wFk)CIFR@!rqOiim?{F%+t30G9BA9VssF-{6;Y|o)mI_6ehDm43e1S{Hr8Nz zS|to7S^q(m(;qA zsV;v+I9wDzeRlG>-%YWjI6>pR@r&&Q*j)=z&UX)bn(8tAcQiZVw0c+KvH z@!QHlZz6jfLoC65{=ZV+uIGEIFQ?Ub|0GOyX}ZcNK<%OR?v51cX1?r&>d05U&96lk zk901S-*fB1LJ%0mdpY`EFZk9tb;aZw# zwUQU$R0)Tw*AK*)9!m6<0SUq(KFj~4*bt;`2YU&>%p(K;dcT)&i;eM zk8!rTbL6|YZQTXD&Awd9t*j}9fR`(m25!`O(gGHLkj)Op<|@zY z$i`~D^?khJ&+Cw$hlN6jpRRVWPu;Vun`x(F?|_X66o9WAX@FUR$>Ic0{Ad$#2d|aM zyZXHY2Wz z;#{A>U7+W2KscjD18^b1uJ(=Qy>>c77XFj150N#s)`caAVn{?J9|Uiyg&w?;KbCm7 zjMIm=GtwB7|0^hmr#W5N9osG5f^4CS%o%PoPjZ1IR0i_5-^C#_IyUx7`eN9Zk+ls+TApXK<~?#bM+4&<(}twO*%2&j(m8 zNg#C2we?Kw8O2&o7H)mk(AB*)tP zaXlUXd{~pfKl^WY_@@G?l)^vH;Ze{0GdiAse!S~c{uvd|KeYtt#y^+Y0Kz|u3DAvy zM%VztKjR5-D*yCkzei=dF|V1UWMrg2;JuI=v7t zFT3Bz;fIt%?!o+-*DmsvRIVywc9obaZAxfwAHf(SF|S0 zO8-wN#3vnW$V3ud`sELzl}CPT9jSM)-VUrR_7#||omIg4XnQJqm*gPtozohgt7K+( z)$25?mCcG%y{n1md8;zofYiipX+b4Yo$}gjtk!bB<{2884H(v8od@Ky7Z|_}D=fy4 zMP+p7)0jf8L>Yaf4R8&xSZ@%3YsyVcHP{_kR_vR+aMqm3^i1`YRMtqn(F4m=JVP>L zDl1AWv6o)G^%WKCWvfxHvO;t6OBYU=JIg-Z!rsiJ!rtItuy0lfDeM^C|9+N=*KJ;eX!5tm>>Ew})d_@x0=4N)}i*Ib^d$@xXO+9CrFm2>l zsMkH=K=O?^ zN8^X}ZIs-ajXT*#Vardc-)&uqcRLm%p*Lqw;(A7Ivfe+hes^~L=Vz_{G^ce>o5~J9 z?znAIo~sFzItU|!7%oN*taDmZ5UI~f!oChrGUR6mx>Ii{nu-ExE|#T9yK^XM4f17x z;?aeO_;@Pn6DFAZmZpZ~`oF9%Ki&<>LCb zYz0w$(3*mQ;f59#eG5gUsy)nJW)qPSz;2M-xVn89FHB5NLQB)5E$v~`QJfNq4i%gf zXZB^Q*_b_im^}ld>7~#j3@5EDszwGJ&O1R$6}Dj^vvf$6y()tKD}5p9i)H|co=Eou zw?)%EC#nR-ON^Qfb1t&}180-n^-F}^)jrZTYyq{-#*@fl9AI&OdkXlCNspgMI)@_! zc~%+w?_Z!M;(A=+<3#h%8){@^@?gjwL9K&-;kZXryv*dhiFg`*Ed*AWb z*lvtmVzLkOxZ&xD&>eX(^TiHvE5N=$30t6F-JYMt7O>{KF9OHqi^0N%D`gQ?9U{PE zDYtvtNG}kACFi3g^n)$ir{WiGBfrFYFlsij0T~U^{HlKj8i5u>f-KJ{$0n#!BGKf9 zD|{HgRo;LzW5A!{Ta!Yuy0lM$anQca~B+CJ*4CsDwY`kioZOez2HL}ncy~i!KQ1( zo+LWN=0r{<2VGELS({)f$bcgo5Pqz+C|kUlHgDtEv?|m=6FGZi2|G03 zva*N4-Qd|lMw_=`D~2~3SG@+n6d&e%Ps_RA5wQWbQevd@1`X%cU?4o_b4sHZjWSdijBWiszl3c@2ej-J~c>^Ch!Cf^U_~v;eh;jT{2ZO^u zH+zu_K2h>N^5>S(s4a32`n7}Zv$cLGI~O>Q1@A^dWm1&lsnHg`f>UQqR!*1o8eX9@ zoD^2)e#AKoK1>4M@L5WwOD7Ac5?oqPsR{Ovz4N0!r*GDb<*?;;C{ryeSGyGm+662h zfzLw)iTf{?w5QUpNfLg?e6OqZ@FY^*#r&=MT6a?5Sj$;xr^t_K2wnwFL=HJ(S;+_V zg!-AyWl?Jz`zgCA^G}t3YJIoa_n4;$GNw;xk;_a0#d_OvsJ_jG zONME4VC+ueS!~X{!+f)MFvmTK)7RZ^qx<`L`iGqACWm72$pM*;B|GI$doAvJ(rqWdqnp;Zqr%9Z#Wf9oh_z@$>DLo>VSL85;ZBF!PW8?Lkqsd z^R6b3OKNw0!-tllooFoTw%#4XjhY_3Hqw-l`4GgKU7P*`@WAPizY64$X2n)EJi>&r ziAuKb-XQHJ%u;$=zgdP!_bmW-D}V8s%V(i{Wam(A@kOVsm#F!$#O>XdvZ>%Wx`bJD zYq0kC(47}9h2Trw>B9xTHN97UaJ+_nj4&V6K?K-ei9~bmb{&)74`RyLrH=@XU95Wn zeo-JZxHjpcz`5<(;ymMpV6LXO2iGNOp&OC{dm>Nb64_=vZ@jhX+3zNgJ*fAdguR@f z3IOo#Y|ZJ)IYy43`F>we z4Lf?*Cynzq6d_R3cq}jiFgg1sT;y$-f(H|ZdK<3hi+%bz-fj6z!RZ%VpA4_D3+S5c zn&z;khcSPsJ>TGzgPq{J8nk#bv>?g*hc`l#lhb(k;bE_bZ3t~ZRQCjM`MbrNa}Ka# z6Bt-=J+55RJ)hTOx_iQ6Z$k?1Hznsy@@_+00x!2GYoUUcj)GRqAkCN{{pK0S=)V|7 zGC>ziW!4r%azP6&XPKps!8*kWOnbS}V0RisK$cSy5?Nf|4#gg@08J+$^oJC+&ly#Kix9t_+QUTjfm&#vXFjg* zz39o!D}=+I68SZzcztVMBS|EZnG|w0Qfvt${{3Otu`@hIQurotS9|hek|6v~D9gM} zZ9)w_Z|r{k(gb~h@pMgCtdF$8^EM?b!s+LZ-5+@Ox&{o_AAupv121Ub;b|mddAH>y z0ToIH+Vdi9PlDuHxCS5`)@vtVSUbYs#80x4FjDG!WF&9HKVTYxJH~k%d7hLkw@Y9} z6k50?`fM}qx~mTPE$ddx0yto)kX(QIIWkQ1_37K6Q=?eYJ#9DKiNDOl&YM+573+NE zrK?NJYq&|M0((UzCkQ)c5b0E8is~EZ{77tlhd!9W6gvFZ0nW!?Wy({8T+@wTz1z;) zadQb|<4fM1Z9Rww{iZwv%O?eHV^?sj7TAkL5A!T?S5k+oiMSnGFwoag3~4Yke$aA9le zlk8}(_9U$f+u%SCIK_JZ+~azm;MIO_!*gi#`1wb?A?`fDHUQY5E_f$%qM6MDrF+Jh zrqHA$Oe`Zg{6FLzZp}GWCprD%RN$T$>-xpqtBgt`EuwTW59MG2>e_j-$-rav#+o8* zD9W0j0=3Xol2uW2Xi{IEI-%x`c@}35C+5$7$H~L7HImJ7b+n6efS7zrGp95%D_y;J3ZU#9_ z)JrGNh24T+C;l??EgBz0aD)4eCr_X5{Htx_1|TGDHj=GmYuzNh52n)-3gksfvMgnF4+4N()|A`h@ZJ{1uiOU zwNk)#-}WT!ojCD2Oz09-z!(wx8TA5jM?S#A zgM0`M;X|A)jWm0we=t~Y#y0RG9;JKgQB{Z%7vBu`G~8YQuHQK&QI2bIPI**?R|JZxOMF#DE7aL{L;?BTt$wFGt#KX@sftFA zcKM~3-h7BQzxqY(3h)KUPJ^sqMQ6q!Luu@Wr+z~j)8 z{TM>Q&8UbqNFZPzdK*5%Z#hElYC_;R1LBj=3Cx<~XR&U9+YLA#b|C$MZP|{AC}+d9 z+4_9`e#tbx&X~WSdB#q&ATw|)5pHmtq#k=W%h`NGc43OA`bh}d{?|)gB8#daCn9-Z ztJalZD>iG&G{Cs6<2VN$kF_$Wdua&!Yu-+ZMBa%KQyaEB{Cg!n{DefS0cPz`g@brx z{T}x{&HC80GmL+?v5)FMoR1yd--T2jqx6WGKP}YKb&aN_di}_mhS_#yF9}Mx$QvO& z%L9?=5Zp4-Y-;P{&3dv;t}u0Q9BIG@BImq zcy0EuhT&A1<~!l4@0g8cGPZUglYD7kkG#mOH8;_VcV#ux%@<;1Uo1H9v!kBhEl0Q0 z!8_J77p7u62oFr;MyCJj#X0t#mUF=S#3Z=0N#2H=@Q62exl?(AjZKfiJPg*p2Xp)$ z+%>>fuENzC@*($+)K6rcn)lvTHs+t0p>ifwDo>WPmMDVmN?ury%5AW=A;YEHYY+Ftz<%5qk4qtykI(Mh2Q zCUfKM5b5A3n9DBf{63(;1)GiyASD@n8;6(Hb64U|>pQ8Mb!oF3=La3_rCD`2B*7f` zvl9b^S{K7oYaWa4!dB1DIY90_f8Z^(CbClZi={e$BZMPs*|~|8@pDIer7X9^J^Uy zl-izmQfq3)M;F-SWzEw^Vc1&(H#EEO#JoT%Y}K!Uvt+ypN9kJ=eEQ{^cIUJPPvFR> zRJ1L40^Shg(JNP`oNnuVHn7t1tDeF>+ z>rp6Yy$QEdMh#@`<(C86WK_eWAY83}{UJ4=v)Zh>QOq(FuXI5Y9)dMP+%XQ`zWrjn znmC55-i+C90ovy2*I>18UvRBUTRWh6G+qIHstVLWfz6ZkE*H6sBqY~aTac|MH8bAl zZW#wG#-Dof5iY7b%*0mtA^_}6G{nmK43kcHHX}R)!n0-Z=}HH7hg|?*pFlZl{Z82r z6P~W6LyPYqM{+w>%AKYAd~?u#vjA`8IUlZv z-Hb*8t!BLpkwO_X^?_bwM3E%Te()>-lU=E*9yH(dk46tRw}q2{iW21W6E;fIKW%I4 zB00Pq?bWOeHp-(v>IGLznwdA*^kY+oxA8dubQBz7)lMzym{pgxIR#Qkz**b3C*!LJ zW_6l*i)SlG)|}+t%CSihA7Of zR$)Zm^Vy`yJQBg%a2fhy51Tv_tVi)dq^%q#o1lQTn*IRCy$kd+2dZy;R; zCKXqax`itb0T)di$uY2eeK}G%^UK?K5>q351b=Mw)9`R}!F%Q;o6f((E78~1Z+_TI z3qOELPm!$6F3et&R*}1FAGiT)(S3 zoQg5Ia;nDKC+&{#LEFsoje2R0qf=ZT%>d8|D(9i&cberh-f5C_lt zmpVoCKi7Art$seFk3RCuARzu)^7;PljPn}(Gk`yGr`Q*Tj)B3{S#`Xv=B$^(#3=Uh z98kJWbg1N1Xl=Rrv<57G>}Qhar^G+i`jhnusZSExEZOtIA(>U%x&e$}{k<7vxf3je zLkb&t!TA!naP%q3sZb$FI2?H7A&1~9v1?ov2V4kv#Q_Z;lE^dT%G*qZX~^Om6obXH zR20kp-hu_Awg|Mc&I1zjf;({wu3lb0@w>RoH!k3m@ZSCuT1Kt@7_KKosh)P>|jy@-uPB9*w0xqBw3g&Z_TB(XT{%od~%WRGM!;FtNA)#Fgbhyfkb3 z^;qk2&Y#2P5vkv5`waTW)^iAdr0$pu4Si`SAZ=_Bej6SWlf2;CSugD_gCo| z07?@eKbu{JvILC$1v_}QPVmD4%lB=iXzcL*yZ($4o7`JlytmR?g*~+=6 ze8cbu(A=sQ)}<&Sw2IswjaP6&xk%FHOq8Lh8FEPCMqDFQo=9aOb0^fP*(K@+QYuP@ zapx-!I^zmBAt){4>4oSE@-=I02p;(4n|tllY4c}G$|et#%x6Tun7!mo z9FiHta3`-*6DJ*4h~YG=VH!50@1@WHb%p{1%eEqN*7O>Rz`fa&3>9S#d;mO-Uw6F* zkyU>Jp3S%ACi&KZEmUD!`QBPH4>3Ujtv``+t5;4FRc{{r2xcWMv-aSNm?Kdr*R9`b zrnY=C6%S=0+qgig!ui@}f3dmu=#u?$BSITCZY+Zzt3Q!?>j<+yQMSO@(suBV)D_%L zw@E`6>Zq@B;f^r~P=BJ=ts{5z#v4OgXub6e7tA-NDHeDDKj&O;a#jLPERuDc(jV*~1s%#6bhFKmO;*TKFH3K2F$JKT|cqxN5{$ zU^Ro|s^LT8MlF)sFt8owo{%(rBPx+pjN|Rx$G3yJQRwb%ycg06M4~Q?HtbT2IG(YQ z(P!UK&sZ}0EJZydlSZF?yggcLE>KfmC~r%+xae=BGH=6Y^Q}aMjfeLF113on$&Np} zvFb_LP>3U%Z*~HMv3wQEXXHO#uoprL0sc|VyisWxzn{h6xnzPAZ^bH2o4m7z&bCwb zD4$xkpanao)FSB6H50jxEFF0=G5EJXcxxNZulwI$m8PKkQZo=_X$<$PMG6; zHRl^}w!Cba04cF>0jxWmGcnir)UrP1$~Bct2;q1~M_$wijg+vGD|sUtcUw9-@J}-Z zt8AgBt}nm*^7!7tyX)Q!;y*one0MO2_;9aXAEni|C1bp>@v2MP7kc^->Zm`EGVBFw zcNcs($z7#g2vbNtuLd%UYOv1vlCL?JSk$^V3T@r5Zeb|s#dz&PV>mb%rdC{|Uy8H8 zA`{I)zPhwuQ%c?-R zURG6JTBs~(#_w^;#;WYNbjT6D_-*ltzlJ$h`HXAl&d8gWKdo@q^$wdMNo!Tn3S>Z6 z1XeA>33kz_J-;DWj57u#Vm*q%vmXC*;*Y>{O5ndcijjS9s0^r+@SGm`iYu$Qy%=jC zab5!RxYkt$U_{G@%trQ|TUu0&l@LbK2d~^BTw9BrZf}f+D zLPf=8@UW0>U%1eg# zMUcM?M^0i*XYDxqaE`^x$|^?q)~qbW!p_jOLw(p`#|lcSacm*Gv}R=)I)RP}4f-N2 zM_1Wvgi`(D2`bodjkY1Ve5A@pgueu43{IruquDz!dA@U+KFOA_v1kz9?}2P$8* z!=H%-u;>}(HXto$>skQ}yrJT;uB@NmsuhJAxo?lA6kk5a>pei8Dh_!*_8bdaisL$4ymy1+dRKWU!c zgeN(zIeR2*vvo9{V)bZ@x{Otq3F_jPi_zbQIGHgp3xBsx#v`C6F6l0+w3ZAL{Y&9M zts&K3i)UdS-E5itg{Nriei%X4{4e0Xzl}Sk4-WFK37bddZFo`?m|;{ao4~Z46!2@j z+us+!d>ckGn~k}Zz+ar`r|sy(+nhaHpTz^C|MUDikT1h;K=&o)rz?4lraB5v^4o3) z9Cd?z{t8V$>5*tubaT1=zNu-xv}BWONBY9OPD}6>hVu}vlyTO*<3Z~etOq}X(Sjg-{Ry9%7kXawAgR5UI>9IvK88Nrv99A2 z^}1u%Zb#DGmS~FJIE+~wYjuYn254!E8*K^qKQr)H09$_>2f#g;2(eKFy=8{;+gZ$2 zD=Dj9UXnfe+Bw)@aaj%$(By&I9T4@0W&M7Mdk2LEzN2&BJxGE=^@z*{2G@!sKfx5%xu+`fe523r7(J0SbjmGEk6GsX(zKE-YbB)LM^3gG8k&K4w zgCZkSnh? zmgA8cp2gZo`#dME@5NCh$$7y|IvM4+B(er~z81 zuH;Lurlec9j>SMdZQ_`93M8%?cHMKBy=Kqge`-sl z)De>L6>LZTYj^yTPlmY4-DE+gr6#<1!U59}%D?9*+7W?uC|;kk&yAlj%8+y9!`j3) zIEnI!z3*hL?^6WHAr&!37b)aCQ=HDAR}@S=ipm4|{x_`T7(Gsc`9BMtDxzlfAfnE) zMN}uJfNU%3f&XXSsrY{xt|FlBxDtH-TnA$V*ku#X{U`CnXir=>f&}x+@nKeFCgFvf zCpU7_k}S06;+ASE2UkaQ_BK8VF9*fX(3${S!%*DkW6+wHZ8MMrU3D|5d0J<2m?rcT zC=ioh+D6>cF8}q<&p{nLC&w9x7(Z;k2t~OD7^{(|l|o^cnjuPVQ!*|Pn@nvnNa5tD9`{1k8~a7H zI{uAvStN$*sL(ATHG$SWj~!+Eby&MFAW^5N&ZIL=&?7U+a{mN;Ki# z=B10zF2YS;v#~{5wRR&z8+Q86k3ObxfdyB6o_T>l%C|p)vr%SGpm)xJ@NCW;geX+; zA!vUP^G|rh4Du@<2z+!7>GEn?f6b51LFZV3;k|&>6KQQZh$ioF1Io&QaTHDgvKD;n zUbAj{7pWKWvCDZlJwp(Qs=_-?*ltK+9NP{4^(9!~8xJ&OmFiX9SjA=zc~0iQLfE*) ziTkPQ4sVJLDMm9S$`&d}23|&8DIsgnQViv0>RV(2ERgAEq(yTJ(y_}FD}6{ALQ;}Q zIrx7z!^0Y+GZmqI6@XsieRVcVMC#$3Em1N1oGnoSbf{CeM+x@_ks?CRG8zLg7Z51|U{%a2fd zXR1C^u??Lh>%=mr>#CQD&2L!6rU_+2o23(2YN0}X@38Q7cn02|V&ZPG3HTjQCh}A3 z4pfVQlP0%Y+odG4=F>Qn-UmO`(C4VOlR9rOER5^vQ+Oubng} zZ_W*cv-9Rno2b^qSJEEjVe1I=9u>vSgga}mhc*k0$=(xrip|DzjKqXG+T)-LWr_8y z)=vv=xT0&MJ{CpUG?+`8_4N5-_BdZcANoBQUZ2C~gm_A`?V#a&mWnX0Z7YjG4QE%G z%=_SBJt!73!YH=+d;kXYW*W!XJ@Yulu@Mq^*+^5_yRG*GBrL(8(zttrC+0RFkLuAR zB$|(kPW}P*ry0pkP>_h<3t=dOq zLrbsVtx4nb9Kds7CbXH>zR^i4;HS2I6uX#wf+7@x+1tpqknn%tk9XVDWM)&{gnMj( z8Kn=v-if}P#Z0G({Na(L$S02^iFAx-inx3F&%=Es<=onqsA3^bhiU4ChEo)|MLn*Z zbNeso*Yf4X6-vX#$Kz#jj7b$^!6G|of@~kO8KOc?Ot3BkBT^dt4$mbpz>EtFE@yNd zm>zskOFEW*V2dem+XBbvxL9zc|QPLz1M${P#t=$!we8^uJH^goPe@8T@{?Ufy;odiiHS zZowPtHN-a2m&l_fqaAL!f(#_O^I$D_-6*8T8qfGW2W zW8Tp(tCJ!WW0nfxXnH=QU45ye+1j))cJe=ihL@U)8Z+j68zJJAyF1QR`3DHC{DR~YMmh! zKPi2F@gDql3Aez;H5wZrqd)>Cui`W~mz4p^U}m=K-Y(?PeL@RgHuAMWF;JYz3h?*9 z|NMp*6YKo3`hh+a+5{+KA|c^&X;%B+xkpmA4CoKnJ$)bEWA}q*pKR86FMdxoH?vsM z-nuReEWU9Yj%Agv1a(Z|3O}qzHdA%Ym@+0bWh{He-sFDX7l92ox9-i%=FXwKbbg2j z>4Hcq%o}Y?!u=RylE=&&iwK9AH^G>cZsz%oNf~BdwlOJ_4iP?3H)S;UAqILId-1_g zBN^Y^#wN91s9D1T{1jJL9j&?g+Vo^2$J_V;+R{}w8&ARqaNBb5e#ly;S6TgTK$LV} zxPy&_y`Xxd|HEv27EciEc~FScsNQldFfy z)f#`0(h2(^0_mjCGbkVC7q@LT>|PWWHBhLcnkq`BR$*wQ^Q#qt#M2}a1b(+43-jj8 zM55t19B#Z$;?8mo1@>5BjgKcet+S7YD8*tu~L#=(5u=&BvAAuy1 z8>Rtw{)oUk_MHDQM6j8HXcs(KoEV^|82Fmg`q9aHcJ83)u3j`kkv#}}n6(BtHhJm;N<#&4wGP2D3YUOMPW8{R4Z_uYkjVwDIQtP>02krB zNIhLqiK-==tz?%zxj`M`qTQzzi9odeaU0^_7qBqSC-3P$XMH$&20(OYlf64iZK{%` zU0LNRD#zE%!d5)h^@9Veiz{VlPAzGJcXi&HbYKA;=kt zBcKYJ*hH=Q6#IhYnw2M2kn>*#^?g6)0;d}WkA%^{A|C7GcTVS4L`iiDeX6n8f-n5} zz8-m~-%g>A|7+0a*|#0~c-U?93uMyIlAgcd^c-TezIJa?AS^DK{V{X5{W0^`a@)M$ z+nqY?hCv$czR$GhhP{EE_Jjw4VoZCLGZ=xNfKvXSoJy(Z{(2fpbrTHbl||Snyqup8 z<&HVWW5i;9jjyN% zyXzQg=TS(qClVIB&{q_=tSM~3$QuuCfqXNUq#0L=IzOP#4?X=eiagZE@rRrMvv?>j zxkx~nA&Lq-;kLdIS|A@?zobq|5iIb{`lsnoB_lrmAaxoh+v8ZOCjRJPh}93oluBCY zaXMSd)nhbBvmSAX>}}YD-^$g>-HT0HA-0zX&ixS2si77E)NG_zhp7)7BG2xD^)0rM z(Mb64ItU8_4;Q=yv#xoIOoPCcAcWsEi!jIr6-U=ZsYzn+un}Z*~;vud5!*_+1Sp*`jQ{}K53d7X|{bWwm6Dj5wowePitSR zvdzp#H`12a#`Xt}u^p9au^aRkPPYo_G))Gh!no+izS;Hx`Pqjtbe7*Nh<3DFGJPlb8ik=^k{ zG`mC#OAKUz$e$SpEzv11#*Hgoi!X zi4|vmU*5bfEoWcSF7VZiBOBM?vzC&dxLxe0CpRjFvp+!z^*b7l%2?B%X8bLbPCp1K zr@dDXJl;ld7-qdf>s>g6qW&Y7k#f>_1@-I-Cx7~onQT?nLM#;=ft_gNr5WcrnU;a` zh2guc>pAp~*$sZ+r;>a1XKH#za5aI5$(~I4Ot*fLiFx`+G+^t>*(bBsF+92>_yP#5 zn_1@d;u}`f=n%?l)&B|cw7SFlVPG@zB}qZFaT=r`<=0AxKwiu3Yn6SaRm|sWaW!3v#hwo02Sw#IZ@?Prze$rem9{Z7Oi||y#Vu%NmuRT0+1&CEyV8K!(qB)yeQ*C?4 z-8BbhB@Q_hts|cE`3Pc%ze%|~A%B}om33gEyeer^X3ag0Iie2x0UV=&1pDzJkX1~>DF}{SXUOrDSWKg zrKtwP6WD6eWqtA&^`HX}BxUpOcz~lGl*$5iL=U3pZtDl&pYb?*X};2j%*&zXbz2+p z0yDyX%RFmx2zfhCxAgW`zWOt;HmTrao&0_r7~y46N%iWqq>4(tkYPy;H$J%$ z{UI%<5*3xT{YSrIun?d7q^!c!l2DZO*&)Ua*A5t8m{!}z>we=;IJaHauIfAc;alP9KSXfl{0`UsXe4s;j>hr|?Ec`~n{zL!Jcfi*7!wtay=;9WO&?KKj&g+ZW-03p7+E-t?+a9$FssWdkVKB@SjgPE zLQc*?wH=KL%sxbQm^P}UboD3%NjYh8TsSqFf}&EBm%6?#3WXCu<(WFmJNka^Xm!hP zZB@r^*POEctM+`ozc9vawmVmM_(h8S2d7iw9-!ylI1jhrdf~8+sgQ=C^Ud#)y}*fU z6eoHfh9F55@3T86E+y!JfG27(gP$<<1Wn1y%t3b!!2J0u5G5jzAx*&9XIrn~J=eo} z8JlOL75Y^e|Im`>g$2^Htj+rF5(a4%844EQZ_cX~f z8FrSpfzb$aGYRo^=8m8V)1xqZceox#TeR>wEW0;K`|z!-UsNIOKvzup#Ev<{1k5k&o>HA%!Yi>Ah|I7Vq&;L!j{}|M%8iXp8neQL%<-RA45jl z+t3SmKqac`g8O8OHlXeuM+6RBqnOIu_zos6FxMTf!WhZsbI=t`01lfAv7%T=O^NU$ zfNl8#81Q*zVJ&aNPw?o;UcUv|A0!#WcjNb|@f_v@VKK45X9nOX9W`elqR6J%i42A>vV7!L}Xd?IVDK z%jLbj&wPKhy7xZwR_Lw?xHop|Gf<4@1(TbhN*O|9APry07D8PLN*ueLr#bkIHbgu3 zhi}0cclamZIc*#X)eK}>mw?v{#88)H zAk1#yONNrm6Mlwe`^TIU+&TMo3zs42f`vTWK2j%=IWLv?EU&~D>JoQZIHzgGvY6#m zzhRDCU5?Y6dR+F4wgG~ocW#hG4yG>h`9^quL3jYXX4aR z2yiR^E^Mgd@j(e-tD@L0z8mlFihEy9G&As?G(el79ne?&aB)$=+WLFI-_#xc0=wE7 ztd?srBaS9%;j7}nX0!0IN}vPD1f@0YEtitbPSaKrW*=clT%sa*cV#Ba+H{ygvB2Hs z_k<}QokBvL2UQ{LAb#~Zw2$9IwMSHrd~s>P#4+__OsSKsqy3?eC?6ek6WE5CQFN{x z^rJHF{XD)OX}2-j-BmXLY+4-HB7*hq-j(HZ(73^IU{c$`3TJ3nzks1l>i)hp`hLOl zDF1hebf>k`Sj`say)%VIJ%`rphyxSiuTx+#)@UgM*!SYVq|tL6Y?k#3T2mAEemZNr zJo-KxrwNAV#=V!;oZY>eT~`BaL>$;sqKV-9OET}RKf*K$d%C}WA^LvsyLf*Xj*HW2 zDgT@3`{rNZ{fl@X6_!2RI3l{6{4NPp6|O;mxU@Pu5ds+j0d9qswT8-an7{Y}8c#}t zoTh$J{sy-4(b+&SW-jCY=`vl^WZ`YyyOg?AXm~09Jg!tsnzi@@y5E726McsXSzT!z zQw0F>42lfWtZVjC7@RlPt#EZcgLEXd**DPF=&XM>Q?Oo;!!`q z**yrfAY?Ba@(8ZxIcQco>W37yKJE*N_K?wOEx4Ifjyw<_+5#OeSBec!g)Ax$l+Tgr z2d{u>pyD9-Vjg7oApq%?ue|JP1QVh@#0Veg+WnzM8UvYq;Nh~$Kt%~tt4cT?arFuP zcaq3dazY*~`p|s52l`D}{BRqz?R%bpa+>*iZ~GZuYU0aU0@NVKrfE>MImdEq z)4UDek*98<8YL_up$v|>tWl6Sh?oGpfhRcIy;ED8;+!Xj0IU>tE06}t9a~Ft4GY)f zr;&J?>DhEzm+K#|k$CzI(E>HY`1Lq=97*PkBlRbejn@rNllN|V6SQ(K`$$6Z;a~7K ztOKf)J|ELRSl5BLsC2;&35*Wk1|XWQC^uvjITai})c(M6;@2~3u-sRy7h?ZuWi=DYocNsc7@xfs-#rlyS-CZwP234*2MU~g zYZ+I31SUEm=nmALL~N5m9&QK0C|d(x#b}G>7LF&rhrMK<>bN@-%U*pP?NW#~~8v zNkSR;lNZFzjhxm5cLDTJSTdU+?`RKDj6DxrMmuf(o80YFaHK)6==5bP>^w$bnE#&RD>Mpfozt2p+(zX21e9s(cuV)FP*_+5j0Qbmm z5A6m0=Hsg-lr8c6b_V+W7s~uQ^xOMy(y#UD9_aVmlrz&WA^x_!Y%T1LWu;h}M)-~E z)2H~1(5T&kY#l4f^-c3d-5}_>{qkqDB6Ub5K42u@7A`m<%xW!q8N^(emiv0mrA>&< zWzW+QR>nrs)V2^t*+t7<1`?2jPdL3$-6+h z_ZP%yk3<3<5EyVF6W{UEo+(#>2xQOY&D>SW@vJ(N&nFxTUMSk5B8$YqPqOg%=K-F$J_jMO-Ftoc|m;Z~mZ;y|vy4pTT28a-xs6nv>9Tk))B2hpBM01-!BsX(G zR4@b*AR3Z1nc>n34opTlJ&sNLO6zN-1+l)?T5DUtfC}N#1QazQV!TwNrS^=WZ4?Vs zDfymf?Q@ZFwoDOB2O3uD~iU7ug- z|1=7k?!#@|tLWXz5oqNUv~p>@)f-#Fy}_l4|v9{k2-g=d9?uVRs*N{p2(Z zeHMWajO0JU_Wd&Ngu|tHiNR{ju2%{%JHNmK9NcsT_UmzvfzA$uKYwT%AUtv0C^h~}*Ik&<`Emqj6mp^< zbL*iv#bH9h$b&@z`b68V`4i~@4ikEsYANgc_76h*CGhz)e~oF)kU6YhWIi?*5+-Kr z$zghs)^d|^2F^!5=!O4Fxh9p07cd+VVXcC3KfRUoBVUBbROvc98y@8-kCcrn+zmtc zhIuCg`GIkZK2U#a>f_YwSUF$hU&b0y#Sj{n-kPpxM!KUlUD1qm7qZ(lBi*JM>5zRx zw_%bkW4_}rpczB?jST(OssGL5?|&Ma*ZM8y!*jr)XGzb5H_Yk?aeS|%vd*pjtY#a~ zhos=U@M|9Y2F{zZ9HAR9P?0^>8;&q0uujQJJvF5Zt8L9QI~F0F&g4OvY+Sl`;X=64 zfls%*lAIiEj*{Ze(dJ}|ICoA?SvA5`6js2@4t#%2-5l74EUAG@8u1dN;dmX+V(8}G z@|~b9@YYc$4PJT}3qZob;7(#6%1xfR^}td5$9`_1zU6a3TuadZB8taZJG)Qw z$I^S@< z7+?k8G8eWw(s5D}SiTB%lA@h22Bq#r#bN7MXW$RuX?9+Y{M%wtr{ESQS4!{M%P)HF zdC!m=edBK)S~g{Rw|5Anx1Y;I>WqdqMYH&CWJ@TqLF;1KI`gkvNp~T4@O}q^AoYDt zb5LsY&evd`bZs~2=sF+1qrWA-di(M7>uhkKUi$jkD=B@^1M}q9Cj)`Ao;kR6HUwDV zp7o_A;6<65I1e_~F=syod#+sUdHEdJlaIvcfq3)l6TqOK7}C95 zCVu!1q9CthXX`D#`{TRkc&<&{!lAH|cyQML3hz0-QQvTcuXzU6aE{C7bUv8Z`8FP~ za#K+`v-$|l&2Xr7{kA#ml>S_U1Eri0S=a%huG3n$XX<*(K8SwXlul!$Ny0hVn|Ip;E;W}o5i*bfm3j7(*bSYYTS>Xy# zEERf2NZeH``WqNr>o10~L+JC*BLNeR7j#?eXWGsuOl(G0F*eflfc!*Yu; zrdPAv?;=YhlkxbN;sgxt>#Z1E%Oi|;a1-Bzegu*6IS^$vvFe?F0ZH0G>cQ_dk-p8{ zqwFzfJh&dQKT8cwlDvwzdK8Rqe$NaDKuqY`wyaxMX{+ue|Vo2qag?|nop6k z`DzPr5|$TRh>#OTnU70yM^u|p6c^63PV&gvE8|Z&%tw*S_(2@ld2;DdC)t@kKC>m8 zvG($6btU{1L=KVmI)(-^89a--5wPipi++2a?hWS=M`5X`8Pdfv57SSz@|yX`1BXQr zZx@X)>K&*sbmbC8Nv+LK-E3w=l|T6tsy9=rJZ)5z7-4i5C4_DRCGNduN8VXObFB*z zQ2=9<&M`ER87)}plw*&FC0B+EEEJW;;du^+v(+^&lvr6ue{~fe+3#WN&hcvj6FmZ+ z`F%}o&`j1mnH!6No1hI-lRk*#zsYO*`HG`r_-899*7RT$k@^z<9+zQA*8SeM;b+J? zBnYZJ?k@ASE2%W-xgEMlr=hhnax*>$zIreO0B~E51?&Ry-d`r|H#cHl0`7c?Y!-2# zYma=Rv-8hZ6@UY$Fc&cUTfAFrHP5gYDwQY_2{yc;2DAgeLR7TBqSo}^6+UXFu&O>@_>x#2nc~^j%g|0 zW9COL%<&f5M0y7k8RC?I3fo293e~RUHV&)zJma#cZ+ufzu*GU|FwCv@T{x_I0wp9; z7`y8w|tsv%`pm$oRzEMA)f0 zpp)H49xeKNmc9a(|E?2l7^Yq3EAPeHhVAt)mN(YYFk?_h8)?%}U9 zdWHwejj@Tx^tm18&8+51)5z_>V9o6cW;!Lts4Ep{=s@j6OOt0#I8vpTT*0dj_BD_r z)|~t%yQL$Tc`2fRUYbJhC>E{%s2QxM%gThuLjU>fDm*ir;nje6IU7Bw?+Mn%22;Ct znbB03#gusxZ>J9Ef~l6X;Sn^9YsDkCa$+2TK`x(riv8aV(svsZX&5?zfNqO8?pu=X`OXe|NOMC3>Mg$p07k!f?meft60!%2v&%?I~<}oBk14lHMU*Fv=q^ z78c)z*(ypB=2TEk>;yWukTGPx;T-kXJ>w7hWY-4@v`{`muyga>Ob~{X=X(mFX7w6i zsouzQR*w_)G7Je4t&Eqw2y{n*5wRxE`&ogvGde$py#qrHwQA?1BAqWQ`Z230IQJ_h zQA9j%OHJ!3Q3&>2YW@ZrZ=>X^U_zsj4pm1z+VdfXvGYs6QWA!-9pn-Vp!}rtSEN03 z)ytLuy)gR*_-@g>m(m&uzTd6*E(Q|dEvdrJ=6A41fWv$3+wKr9QiVjxE=)@8{GG^V z^b~#q3kV2Jq>Q3(CTaxupWQ|Qh~ zo9)hoi^+Sv^;o<6|2upBw9MN|ii$P5Yh7^G?2Tv7UsPO}ol&ga0p?*50?$R(kh^=F zjn_lIE8`*dByx6#lRPZ$*CH&gXY{F^YYwC5p<0aH*|Dd+(-k8Ob;6O2TfqeE_c|dT zj?}rf7N^LSX&#E;%CrH$=1zE5?|gmdZou|_@665f-y=8A6J>2w235o4tIeK=&+(ZK z6y5o=ol)<8>n}_d;o~NjZLP!3hHEgh&+!o#N*A$CIKy#Jm~&)EV|BQ9+!4Y)gANkI z=ZnI>ghl*iwUwnyYRbvpmsc(&LiJCgEz(MD(~PP`+|O&-i#87>mioRZRMMPL&qJUOJI;4xDCcuKgJJ3H-HgeW&E&+agwn-{7Sjzg^0cEKl#9_k5d}( z*wdcUjh_eJ+I0U*AbGFa-Kfg5GoxHPKi9=KA$}m2fVN4ny2}^G(!bCi_?;$JYCUvP zvxihGFN1usnoPEAOf}Ing^>XKWNQ`6YisaBsqliu&^y%_sT$@YbqE2k;Vi2R|LSp$ zRlj7u0wBi5X&2&S3fZeI^;CMQDztj<{4%d+acO0_rXJ9K0Glm%Ua6|AzOP;rB!g`& z=yy#mJzLkSIKPbPi_g(Lj<>EFv{}Q>YV>mXU(WwyXk&*B!9s8K0^5r@o@=h~G(vx2 zcd+{C9E=TE0y0&J=yxvGKgRaP(kxxLZiuX@)GcL4{`5t3B<-pWkuab~Z~YJ`!PWLT z=zL<81ot@%C1O2YPX|Xk)A4>AIUbuX{;zUH>>*$gjiSUh7H+{H3WV$WZNh)_8-_eU zj|@QnhT%wR1bJs{;eY4W^VSAm1JE*1%hKhMky3o+(6Sx;r*COyzHZO0TsH0cottiZ zJ$~`1H(WW^GbRVRy?+8$p@Hz8)T>j-kp8U0>XZN@ID{vgb$|t)zn{rA8a;-djdSDI zTzCW%t<6}+nqpT9TIX!oivA_=NW1`WzRxHfltpPS&JqA~)nlA=C zi63#l@SQ1Ou#W3{RykT61E(0$8~QzQq3f|oC?hXAD4cDTbpqGR7gAyq4_ih4Cier zvVuU!Om!=3jEo=$p}z{1utHH%p)`lM$5Lqx@sNuky+-Em5#71-8HJnJ|HUgKbE|4_ zkY{zQbhwfEh*%v+k0XX;crj)mal0~t5&c!>ZdN9ml`#`PMW;|yO#I$91?_{}_5Cx% z;<`P50?puLJ-BWKb}{D&TnH!>*s_xSe= zr&kVd*TxC*!r3sGA{47vy;lX-)6ofcS>fYZAtwNp98xHes+!Dr{_@o$|!i##TIF&4@t65Z6w#1dM zXso6clx(=uBTZXcbQ}0q>c4;At6eMe*&e@ z`y@8C-0)eaN-_AnxpLe9kY8^y>Gu`bu&eq+VGHZrx}H^2`OLrGfOvgULl7aQ>rc@G z^zl$z&}m=rl_q|D8mk{`RX=XMs($>_>Nnv<^*h{ZmK;%<&n6BC*OHQ?zEynxdREah z6z|M?P>s-h%y!oId$8K?sc+}Uavmy6pCu!-HZP0I>aK+pOljR#EG$EC4{da|Of?*7qe4OL((wsp7U z<=1?On1kvQ>Eskr4lcc4poS2bSkc&($jwZ=0j_PmUC{c6Y4lP5$w5oMYZFe#{8yK~l5HRdg_UsT@{PGq|x1l2LncF4u9!uD>55k^horX#fpf0!~DYzoP4ePSo2=)TltaZjkQ)Y+8?u{%_k)^ zyrc7P)&w^{If`+1AHo;kAU3bD-tR)O2rGHC9GQ@G1JQWWIMl%1CE^Qn|KpexZqo|$ zhY}+BM}^Oa)`31?3)<6{%CUU5#8P94E{vkv>7XpQ0$n{Z1Cct z#Yz|@Z5AyYm`=--+aTR=x7%Tb;Y)jN8~n4Z`7VpeZ38di`*-o$+&7&KpP<6Nm2YNX zc>rX%+rhqiCPBSAPiN_!Q>@{PwkN z&qIoB^z^8|tG6(a;H@YZFZ|7eI5H;e$AP=zS(52rnuYW#DA>n(i~bgK#IPpr4s?nZ zIsr=I+!4d9|CuKu@i<8JoLhb4F=5umWK5mgUiWc`o~`ubEzwtqnIrJXzpFgx2=Wx1 zLYLg5(jQ~5myr+MhSY|;1GDS`!+XS_4fu;AMhz{?(sAcz(~VrS)v*S-HF7bVALD_u zBQ%HNrsfgY#G^K)pn!OYQ5{Ge^+f+MYVF*QLf^x}60u*P^biOJZzdufkDD91+o1a z^bz{l*DWg(#-7wotO#nkg@6JB;^tUXk;U}#2XV(N{cut6F0_2Co@;`L1k<6{*QHk+ zF@K?pqxS^RUJwkf9Mb8_eu(zEkG0^CmJ}N}MSNn{n$y7f%RxR^`bW60%3_OX)Qg{ao7tak2^W>ve83^uR*=w9{RA3l8B4~zf;Gc>T z`1K8cQ`p>rUkK9T&H3*EhxZ|qxi7hgi5`T4AW`gBTg58DWnw;{wd93HvXBEZ5f#22 zcox!M9)VfI7IiE{=?IT8GYhk4;VhG&I@`?2pPrvr3N6>^ueMrSU|RPYVk3v$At=!-;6^_Z5EC!_5GWKe3OitE^aBF=l>EO;w+B zp8myajj;ZpOb+4C>OBN3OtY~`p&vG!wO$?!^?6&3K#SE&=fexjeN=_F)=SDC=6(fr zt=FLJPFq)Z*V>YQg0fB4KZ3)%8IEr$r-XYWkO!M>4eTQUg?E*LSO#l<6n9+lVB@42 z6D_^A2iIcojpfU!Po@;&Y`wM|`!vma5d;kICs^kOA! zQPEg^EB~o^WW)S4idlVn1Uv{i8^lEvc(&rrU^DUEyBtyNP!y5ah~}*mK?0>z7+!Fv z;4pKbDuHxp(QWD^c^?VaBs{gJ$_V}a2z+6y;acC4v2d|HTgyw?a;yIF=BUGH`Ihah zBz$~h7-qytNO0Bnp%BQe@LL#@z~e%DyS5Ev_bB-%wtDDs3QIzd_pcscclb(t*16UF zPnmAdzk{vEAeMc$Kf(WN5ljq`I*E*tkYmTX} zTTlzjU_64SGU%F#dt-H&zY2zoPC zFX_;8KWufIe74s8L3mbu0M@eAO==A8-P#dG$(oIOYnGV_welXcQ3VQ_D~+MItiglOM&DcklBz%c17XtH71NC~=#4UC21e%UB_nXKYsBkDChK9q(P z*%&1B$|88^U?X>5f8+B!Du%Ji5d*<^bL?B7K=<};!{b&PI@pFGY(qP^Mg*_fkMqWF zPU2f7ZJ_hf&W8WSbHU&MO`%g1iEm(H5b5tdkIv5BN4yT^#Gjf8_a-syb+C`y1JUW zGmTGd4p&b8gFA_ivx#ta(viFR2K;#$bihesd;v81GcC4!( zdnZIt7+vn_({t=C83h?{oEM$a-%#>X_Sb&zWyVMzbn9K)>D|qI8WR9wg79H}KMm?Q zrn=_JudJ?tu^_rT}^%c_10S+7=^n}J(DVwMf5I?S$o}9V_Sd#>Sc9{yt0`rMn^%(euX$alYXh^ zep7Y4*3Vn(3p~pei_to*7>*xRkM>ko`X3)*pSbF4%g||66${~7jXgnMEm}4Xs}{kR zOMOMfeOe*BPvafBQ%0um*VV~bdR@(Z71b_!(dwTI%PoT;06uCP&X?CLDMMQjFPCRx zn!E;@K!zyDSyy3gu&uF!8{ztToKrIcaD$`aVl%aD44$WQVP!=f9pcu&=0MAU1%Gu# zl^qG#ved6Dt451+u&b+b-6-FvUs1haF|-!I7?xWvZh~z@6{mzscN5A4&Cqf%nEe(9 zNwueDK~0sidZ?3P%RC-x&dRjPD9VOg!8-2(oC{XCdXUkshV`{fbg>{D2vK<@XDEk8 z*-~SwEVvJd5=P_+H)|6nYZH<&85O?3xD_o%&WqwGoKw$h-tF{OMjp8YS=x*iw;Do~9;#Y+AHWM#DB zYG}ja)K@DgTW}xIgWn9tBi0!FxJDV2Ae%B!k%vTD40XM0eg&|$9!SCIomNi0%}Qvn zsP+}rEs+VY?lNkYEb&%XE>ILyo^i@R3RJFz@jxZL`9|&Lo3va;yIx#V>jFlAC=so~ zU4$=Yw$fCd8X#%6maj;{_XEMqdnzd}f0`YK-ajz)n8iWlgeyS?xpZn{LjcJmTO)Mk* zx7V<5oqrs@fw5j7%O?m|**Maba7kL48e^*u1;3Drq*f?6a`zK-Hex_~=cm;z=T5kK zSkSQ8fKrB+@5&_zq|RkRQJN)K)6^27Wm+a#D`Ykh^Q?6Wy)O1xVss^|093Ym))A;V z%&)0J2z5o$lW)?JCxrDAdh-tT-dbv0pzApgL0ap1i}kf!aIa@REG%2Xg_u|p&Z8yY ztR+v@l9RQh@#AqN;kpsmOSgzeRrJy>OpfQ(#keB*w`>fbVOe2c06Nuz_7B7X?jNj0S%{5&ev^g0h0q}CgDm8G)a!6P z>iG;@H~AGTd)BrE$YSv)vnuO6UNGMaD(e<_F;IB3sHU1T`3(L;wk-Dg+=Gk#K{o!M zbpe$XroWu(+5fhF{x8`Zd#`Wy`Y5YbuT`!Rl3Wk4%-&uKvVsk;>fi6eXl<#gR%nVV z8{H41g+A|p1(_;*q$1PygqaU5Yc>BdW7YoNT3=8*F6-bcaa6Q``wnba)f#6_HsmEe zRtPRkje#aOx%)YZX$gxF*Gg zkbd{jKdbzr870M;`FG?+6wk6F=-D#xz4lrV=C7E>p0{WTcr7#pJRo;6>cCXmB2ygO zb-5vqhgXw@*l1UjBPvnf5-8Hzj$6?zD^<5iPe~X6K>Trx&`5iq3qOmV->0cb@qo(_K`YmYG>t=)V2Tm$^mL zd1w&vqW@-xpISAM(a*~-Dk&()FD#D8ZoMzc&zM_3(!o&S)1K(nO35zv)Eil&n{&wq355FezKINttp#e^=KCMH( z_W(R>eB{ZI3Ic#<_+*_TNN8s*4Q;Ps_couQDsl#dI8sVTzhf7fvX+Y zr?`&dI*v;l5>+-BR|2lfaE-xrBd%$T$^$2 zz_kz8L0li=`V3bWuCH-9;-bpV$2A<+mAJ;@nuIGA*KN3paovN9b+@m@xUa)?KduLH zHR5_4*HgHj$7QE$0=yg70bGZ1b>R9O*H^esw(wT+iV81Fn~Gwcu*QW!L3>z(*qP?dOrd!_P+_;2Mi-60THS zx8W+rbq}t^xax4-kLy8Pjkq4i^%Sn>aW&!Ejq3oe!?-$deU9rZT&HoxI?-NSBXC`f zYdo$gxH56&;hK$WKCUWUOK~+Ffh;)m49+x~P7(SAp^N_o=utvf6Z#>cTL}3G%^0aNT}bF= zK8q!kLFhCNOqxmveMP98(C36aggOZM2^}W%D4_#{{y>OFFij>)ZX)z9pFL0LGeS=h z`WK*=te?M@-3t1HQmBzmk}x=lt9QwXfUB>LK>m1 z%yArQUrl4a!Ly@;<`MdokdIJ1p$?{dgODo*&|ZN~;q7)p^Z4uqLK_G@P3S4UeS**{ zgnmNkH9~6%eN1Q-p|1&f2)X_P=w3p3gysR#kDI?)1-E1HnW67ly{8dp!Z=Fd2~`U| zWd3vIKn)JuCoxZedBzgzU>&X`kI-g9za;c5p>2dV5IRigr-Z&F^e~|z0|BieG=|V} zLh}e!6Y>!%C$xdkU4(WJDj?KBD2tFb2+%Y_BM99{D4Eb0LWP7bBUDK!fsl{TU_w75 zq!GH2^YJ*&R-2{~I!dUSZ$Bk;git#n4eMd(4M5p>v(j?1GfT5d@-m9E^Yb)nXq95! zFU`s?$;;FV5M?~#7Q9F)nUT_bXmFG=ZIPCikpT{`G}E1z4Rc7lz!_dm5aa->?>xdl1yTz6h^#85~L??}roMvBsm8QD3Rh3-5}0Lhb)&rHQ`4K7OL0sNB` z->DU4PtQxsDFxpNUNTdf#r8>Q);l0UCi+{;O`Ba>JfkqP2&u6XVCs^hJ2i{PM>k9R z@pUU-5h^H{#=>M2GD{27@}|2r^hFvT6wm-NKd+SdmXnV!*l1-HkXMqMjy}UTv56>6 zD$UMI1Ns7Ohzina{8uWqz-I;5XoFe`M#)Pw9gm2glB_3*+;Xsi-lzu( zE9S^(94n%IS~@lqR`*z_D(DFITY9SZ2YXE$R@kl#8e62P{Af%mdOY0Zv|>B~h7^_* z6qgof1KYCEB70U8mtxb2uE0o?=4WA&WoD;o?)==+e5h$=<>cR?rMstR=dtoV@3B|O zO)H#*AWqL@ zQRG0;5o^?Xnu2WUlSCEu z%wp?hIx01@ARnD(7lYv}F3is<%^)gspp2vA(XF=DY<3ZH&3v)3G zFmOQ7%sy|kXJuys%kC__%Uzh?`(1XPdp2+q9aL13QykG^d*`HnttzXp*+?!Q6Y|yT zb$CR3J;e=393~ycsMibhjfDZ$_)7_C2Q4K(LP7cO42bc!C@)ETaSlNht z(?KjV`)#fLwr}O^wg5GNOWBdF0e(v*fYSMeXYH9@{gaoU$1%*#D@h|#l5Q77776^d zRuQYxHf6GJv8I52P6vYZ)50Q54wQ;HUSM}2@}XDzHj1+kOO~C8d+gG*f(-lK!re&y zL+n?fUtewv!){b-O?8YP6~)Mx<(qiFM_Koj)m5#4MJ*0m?1*|j``w}nPX_E=YpNZOmFroHiY6F@-Qjei)SKUN2 zu0=b9U$;nrwqn&K!A_p6Ui zMm@sr$dyZj0dQ&HO=uYq4_hQ#X&0*7>RYHaocgs>2?%OB=#^Ny>@sUBEWLcV4P5|( zww;yLN#nL57BHOaN#a*NWR_qD{%;q5ZEgAq*rp6(6qo4|#id(62~D}(o~y;58-}eV z`UY4RzT0mq@26-tE68z491cXF0fGl1X^z*Sy;*3lAOsGxs%c@p;J$M2l3E_}!_VgE z`f=e$S|*-TRwqv&o}n&@a(X245$dmt1(s4^rx8{^;V{`En2P9sqq5$ib++AdJ053% zD>r}qAno$L1Jem};cVzQp|U~Gs1Yz$k@{bXak>Td#*Mh&w4Nh(Dtj2ed=*Cw!f!k@ zQF))h=jQP;_WTG$eL|$%G0Ms|H6D1FYioUf2VM0QIs{*JnAgZa#pk=wMRo14A9zS{c z(81wpRZ+HF9=R&!+rR=FD7S(7N-Isd0wVLzS4Bd`Y5{UKSGFW&bUl+Ts7KZb%U$Kx zZ-w={(E43u{no2rWC_4%J z&&hFZa5IV7knW%M4wGqgmE>&rn8W25b^mvyL*ZGB9-^r^Ykt2LV-7ntyfOSQsHb@U zl=a^5Kc}EL!~cwephdVrK?#Qc2?Y%|Z$vr9FpdXG>yXkm0@G;B|QNtPr%|FX%!{nd8mGuBbe^c(_Nj1Y<TkUx};W z^WF*<|H3*AuC%&E#6;q~%O(FoYxt|V#%N<*S|V`{r{g$=jUYFq#cYpjj5$64}{ux42GwB zFgkHb^!s|~I-w-WLb@C@8PDd81Qjxu3=Gd#|7qs~)mCEjmq>&@ya)F>5^nqoCBQNc z!@coCfB<66-yk#IufzMm2Tf1l$1|Ymm-t~aMCgqlOE1Dqxf&_`-^46^3(22Ef-JKJ zPdbBe{P8qy{ioxbnpO5A%4J;IvFmnnD1RA zrd05gG1{xy#=#bQ^71t-G-$zsu)Y}wnL(m&dHAL=OPs4y&T7!6ts=cjvr z7(*^2L%56&^mh8#4bG18z6s=G;X(IWw8;f?cGlctD#D8{Q{Xw(zGczn>Wll~*8K?n zBKs)w&!`aW-7xDK{CMVD`H%|R;%xXK5X!8!dJ#U%MdkkyNe(t3Y`g)A)TFjocg-iYjx9hw z)IM$#^WVJztWqcEg%TV#^WoN@nBB&-Xr=hh0Xz!A!6`b%jI)aV6N+ZF@!Bpv6%9tQ z;o{#`pNVH@nqU1ApP?ZC42s(O0p}Zz&7quukPQ|)Q9mZUKf(4dBfl^cHeBTF@WWk< zdv>w?AW@@U473htPqn11{yv=gGLl%BUS?Oj$ePkYtQ2pB$x?HZGnR%^=lF9|1KqW3 zF;&dTOcbe#QlQQl*=~`(l+td`N;1bn2MXh#&8`Ogc~}W zj84HC-mLF(HWcBB+&CW^PH-TeJ0CiR^%`3gt+{?w3Ih)~8{Xv;0oUvXH~{GX0Da9o zv>A7ZGKq4-4(${0$e2hzMu&OXgC=e{o&JF-XQa*uCOiPwc^kjF46py4xJ!0WZ+8UJ z9iF)~|J=Z$V5GR(&i1RGY>vhVWaU&QvNm6-=0em}pldJ-W*h+qhssX~W_g>5iT>{kZ5wU{wH7LY@lVUztfTY z+OjWvtLX0`4i9>G&e4qM6=l)8WXC(?KUKK2bR$j}E*Nb5ZDTP8Fm)6E&+wL`<@lgx zz7C-_2Kf@pRRjk)>0l5pJKDr^sW}vmQWz~v!o!O1$8WG}ut)<-V4tBjn(2qTh1GBR z0MhYB02mR`yBeNH_U=6NgZahJvAQ2no0HmjFvWq{zym9n;gFgmlcR6ubsQRY;R`50 z0(P2{W(|SwOh+Lb{ufXpV<_>(9(B)33sD@6bj|8)5I08_N_dLHFa49F&~MCczZ)Cz z4sLqZD*DOxVq5;T{+_uc6+8>v0<@C+IUWc$to{&hJKu_ce;on)8acW?uFuICr<{SS zkrN9?#bLXLyDN!gQfEbnCJ259UIcXFm!p+9} zNhQE8TyqDP%-GNcs8~NVGxAZy`U8qt@1-Su`I(k$aKu+tE(;9&qp5(ETy5wq&6=1! z@*~*a2IscZWsI7Hi0fmP+>8+!`UL6+Y+`isn}G+dAax*LvWGL)*c9wSyfIR9jFF^y z+ZX}S7%yZ`-<|m0+n?$shqjZmN_>CqTW@!q=RS0z55Yp0EgyOjx`93t_!)E* zw{>Rw58xrpn#UXOPm^7M13f4#$!}^0aVB#FOjv)?4+-+>6N{sqSOmOI5Q`?Jwd`B{ z&GbxcZYcskEh!J{3FdEq1`;q8pAW8?gWd{#hKXd3DIB6D4|ojS;|$Qt5DMnaMs_b84`0t;u(!ir zmK0Agg<}*`*ob0ILY>8ph%&FMTx78YrSO~wX1u1BA=h9dzEr~^FUqHo74SJ#Y@ys8 z$#kqh2)BjT-%?v!S#FggJcWf8qYI|ExJS67tkP2i=Ao*hSELXTLH3b%`j1Y={#emX zak6U^U}NhY=AY;Irbj`?Du3-`2Y@f8_lkk!B5T4{h>07Yz(8;3$eCmA;7e!V4GfPw z=J?!nyW%r{YYl~bPddmNk6W)(<1r7vMm*$52{aWoQW;EfxS8-%5ci);rl8kM+HVvj z=v^p^7-0TSF5*j+9JO)UQvfnMpbKxDTT^2vM2&*;1n-r;m0g;%VJ0dF=NhEisQ@7a zGyi=T!WZ9!8>=|@(+O=)V7VVp5o+AIH@M~iW`E}kNU;IcGY7)rH*!|@z?|Q>ppOOX zze?zfpET_ILvXtjiF&9^C6@#L&sx+8zl#VX%|sKxi8!`*tjTHsBnn>)F5vV{|X3B%z$m+t*!{>yJUGZrn|bF zzrVoyHIP}HPx>wY@OTj{btx9?efg$*xvfl{DW6+1rA=1HBlE{%a&EuWlUijX_fNq9j=A~XRfv?qWe_X^DdDeYVl%zFXVvr$0glUZ7ppZ|$Pr#P?bXUPUQtIM zeu0}RHfnbx(0X@^pCnlm+UTF*aD;vUbPM`r{kj}rKmKcJf87E)2T^B9to|B4iUKs_ z5n;!Qf&K5llyDp99OKRFzu;3<`q5a!r@GH`wUNrR5aHpMVV)S?Q-VNPG1yKT>~p>e zkJNd%F+zTZ*BjY=+zcASI41DOD-RBOnK9Hp9v#M!)1x zJOxP5UxE{UBuRjmF90I1vV4+QZb(|)NBCl``&fiLMA~IEvQfc?f#i)L(}ioT4&$~N zQTr@rBQnv$gRDdY;S(h0wi*89D8ws}0^r0AB&{Ke30Q`y%HT)gP2^~tzctR^66bfD zxQ^iJh@0uuIavO^2^PE4=v#SA^BnAaK5|WngnO+or8U)vBurnraNDxTvzWGskW@rY zx5zogW{1}Yn1B=L z_mrBs!~`lT_X|pX>Hp^P2kNan=I`(pSg^pz8U=bhf-{D>H<}doV$e%vH|dSZfFG@q z6b8$iV38v^!{He$=oa#z|3J7o$>Ej=CFm!OnGW+Su=0qgM=S=ub-o>DR0btAhq&@v z6HUHpaUi~%)EsNZFP9JVmqE<0H~Y>XOc^WWz+8P8r##%SgwJO)j5FPd7Z2j=-$cw>Yq?GDZr)4I}{8*Tv(1-~&C#ZEH(l2>xr%KqoK|PW4D$wX;-+UhNYpTULj;Fj3&7ANb?+dX?tg`!==NM?jzcP9gcD^E0rRqlXu{Ky zq^)Brp0)iMsBHxJabq1TWCU3uq=!2eYUl=e*`aKlx6(eEw{c` zq~hKT`}0F(LxIJ-VG%wM=AN#@O?QB;^1s6W7daoH$2Tjxv*Bl`t6ju!vns213m%@q zkA?j;I^kZKpN*KkwswgGRZ26_%Yvt`{=D4gpi}B0V$*e%W&i|4b zx+xahLqm-mI^(qo!c(IVArQ}v8K}wPi4HO^|7*1UHD^O18fkq><&K=H_6NQ82fxz6 zFhykPFYyMp=rtyM4(pmCOY&{==_6o?0vz8^171mHbSu0u;}M7O9Z0D-GL!MP-=Pl% zh9jxD{v_O~N)LyIBB{hb6#UBsW}%5_ki9XK=8rti$ZXDr?;^2UWvunp*{}u)xW)$P zhzA_;EBr-%DehO9R=fb>6}DPqnOIV?wkLoDcmW4ZR`M40fX>p6qFq)k%**k0W29_f z@rJG_H;%nSq_ktP2Ta-zIv?+ckNbiC<+0lG0djZ=*klsTq_K&EX zs=&4w9FOTib_eRB`h|4a{6z2`EUYu|L)DZp>iJ~Jh_y$xg9CNtTC%__HY{0UXcW{v zoXw)!b~e`}>>N|c@yDA-9zt$@rl(g{r%SJh>ijuMNk=K>ubBNe9F+Uf($F$M3SU5< z#NQwpCqZwpQvR<8I2$%{8h$;{*#LnNr`?`G21J9go(pW|415}REG${(C%_@2C;@StP9`nwFc0Du zht{e{p@I~6ouC(3^I``Mfqt(NbZ)U~D*JF$HZh{I@f4B|$INAgH_T*(<-^`UC|b>D zX=Af&VDyl=^16W#eF9fQWq1v;ZTCX+cGBR^4{zX5oOg&kZjKVb zan}X`+#fL-N&vU93A;@tDf#F}w$NVpw)Kerzfa7;&O}qN@kr-_6aU9T5l5NnZ z$Z~Fxo)5>EJtDnmOy3BR-tW|Wv;_s8$IR8YaEYhT9`rk|gYD|Sxs)rRkqPEbKW6zH zARgTD4UqlP2b|~+3b+a&>>sW}skZQM8Xlcn_~&AZ9vV+%H==Fv8jJk^u3}hCcxCy}~MMo(ng=Kr-CyIS&!p!7@pj z3q2R&>z<+h(-%7f9T+LuukxVhc&fwUouM{$FLCcr53qkk3Zrnw>fMxyL8k{kwfA|Qew_G1=`s#lRr%d}h7ybQBc7p?|N)k{Ur zTK?>mvyejs*$|zYM|?o-TGG_UXV7aQ%02z3V?4L|PY?7=v6ocOn0}^+U7pV>&wLDJ zk)CTPNY=xh)PT`np(UFv@d9v(Kb<1nCJIFlYv#^BlWX!`#&+?65qKF{a3@E6Tv*nB zfK$FVe0UdHj2a@|nT1{rZ>pKpmt5JE+h|wrn+MQPMwCeYGCqh($9UR>F@^rJ!SJ@KHG!3_XV1 zb2RF8yO-WsgpbwN4yFe50-Pt(bH7}h4 zUX*9}XxpyOVpCT`?jNOX;*%Mki;xQSSMnqMOEYJJoDDgsp%Okn``c7O8}oN)IB~_^ ze!Yq3#z?ZH*ur2HT0Vg`hn2E)8`2b-j$YuQqpPH(UY8w22jk^=z zzV+3O4@1yPe7k<;AT4}TdmC;n!r;VPinGiQR9(XBN`Et?IYZ6O!}#TlGncN!Hi;rW zeq;a5GJKpdk4ykgx0{2w=lC94EWHmeT8OS>tBy+qrBZBftO4?1>61ze1d`kA*h{aaeiA>r!|XSp-ia6ecM3l*Nc3<%N<7R~RLr5&xL>`H}K% zumBPz`mJHuCvM>@mRsMUB747oz4MEZ$#w;4IYJCq+4kQJbQ%RLx!orxJ}gGl7j}PxW(Q+7ulOUc=!^f^rquMs0jjY8OxTGx-C<(+UN5b7*j46kPJFk$f$6xT1U(CW)d7gm)mf&iXgq5H~bC0^z!OXTal z#a<52qn4np@o#sSEre*Eu4Y&Ve$CwwT#r6EXfV7=HVBI>tVomM{}rKLZyPW2H?7eGr1Bwgbr2xn2l^culeg z#yZ=;pvYsZ$L%AJa5qbRhlgp;>o-Np1ypdle!Ad}Y}LK>_%*jJNAnN&=zIG2I&Oz!jn@Mw|4DvB z-{;@OXj~2JLetrA6TM9$A4|ruvN#_ckZ4u<_p(X2h`Q6xK359i=ecQfIg5CjGGK-hxdeM zbXeYu7i*)^j2QUr*Dr!Nfx?7A&K=FkU5I}JCT-tcci%I2cbwP-r(k}gzS~f%?$t+U zqbt#q!F6;Xpa=P%;!_&Z@Rz1E{G~Ase~(zdruEx}-)&7Z;W;Ak6+nCAE)xwcGyUo0 zkGRuQW8^U3LNe7G5$nzWxB47Q>r)?SP6_HfPA-4HBxYb>rfvblfqo!jVKgLfBG7Xl9x|kFoTkG0I?S1nj!0T`;!q!6BL`wz zgShC!czY_Td8ZG>Zu8<3$9`kT!>J`^ebGi1W~3~ZJVz}wf$oA4*BEpZ8gm|kWkS>@ zmO-J*O`v^Ue9 z#kC@k!;Nntl*<-iUnKvf=*h;(5b?>>5v^#8$|;P6CV&#rd~yVV5P9?u>_zBFb>52n zu(tz#l1PTEQ!wSH6q+`Rk}|9CCO^)#+#T&=hcnYZQMT#>tV?iVU-(cpuf+l^r_yo{)^P>Tmfo&TlkdAtQ*d|EOXd9lVl63`th0(2~6!LG%b!+22iH(CXk`ZRioq33JR1me1H-?WB$$S`*EOo)^h^O{B{O{5chD8!LGI8i* ze8spJ!brWHNQb|q{pR<_Kv~NDA*jP->!I`sgt1-2NFp7+l^vjQe`Q`Kb2hvW5InTm zHW7+auj9t*Ca%RQG5xh$iGOY--o(U@@VT(fp(2782UoTy?YBOwpG^9|JbH~?n;2vE zaFzyvce5v!2W9h6g#Lc$Qs!jeqbsfMXFr-rLlBJb7FDb_qS!9;XR1&n4!REsftZMG zCkuxq$8S~RpGG%#KGA5t^wI#$yt+l=9m?JVwc}`-byq=D38l`FoS{AIx5O(z8cuif zvMH!xcW>Gb`%*Pq;QtA$!GY(G{iIT&d zgpEH`x-jT+`!j5Bd@B!Ov|8Q!SR-dcF(yXey39jeL|OACyzCAo;a^WDS63{H=yIH9 zs|_pYqtFOTscK~`7%g;E1V0r6Wx*l-)7_pc^7#L|s1*1qnv^-r%g|DpsK4Be-QU~( zy>XUed!+mn`yGl))gEH4`x~QZlreKm@~ib%Ik)D1V`L0p8y782>CPC{oiW1N1lj9R z1_Krc(_DJS82RLDJEB45F(ERBqoB^0u^_+R+dhw6797FjI}&UB;awlHaet zz(_+~CPaf#NN(5DTy?`*)5MslHBHDtYnlr!g7K7rOell6d%C#^MEm&9K&V_2G2+aBI5M26n}s zi*=Z4?f^d(r|ieAYV=c|BA^|1XMtv8=7{B~f#y}$gP}>(UrpStw}D}saYb8l2D)!V z-FI3uRAV#LH#6j$VttvMF>2{?J!4eo7y7==mwVUu4mH{Ejd)`vPTznH80RiAV1T|o zXOI~H*$Ff+|7@+}maLiH&pZEYZ+m4Uw@_Ia)s@bNyVfaFpbt_?pRSRyqIyM3vou1v zpSS_eCF?4xZa~DR8yvJPAO&tLt;aXmA7Owfcott?N}tv89Y!h1 zqbHn&aQs@O+@gN zhua5$W=@Z{0(B`%TeCt6AFJ_8Ed4Cii}V#r3vVPj`owVq)0(qx0?%GUa$4Um`jBDele9@L3Ro+yrrZq$TaF z2I6mGtdpm66^@rFYmS9dCLSUl8eW1VC}u3yJaQv8przwOe+FV$)DdN4(XmLQ`exj3 z`K=k1V!|4SPndD7D7-KK#rP;e_gCD4%st7kP?i`yN`$2P9{P*Xi5H+5PUVu?((E{4jc=*+m-D8%KM?Tuk)|wb|eBz ze4ul^+7b2se>VIU`A>MsOVkjep03#G41uBQsS{;+JfKF=S%io96x{W|-0p__(sZ~8 zD!fzj!INxQykrB2*8|_`Rq!iYicj@OF~j>eB`EU7atZ@Uj{slwZ&v?B(_%Dd!)NF# zYvr@>cb4P4kNFl`=2bXg3LwGiSE-GxgYN*_*EWOSrU{CWp8rQ-*K6>m;k1fFZ}2q7+<|D(G<1_{q{Ao{6b#p+MH zA*bktzqYI_6?G*3+C|S}nN(Xd7ed^8EpQoZi`0FW=~N+n(@7!Y6+FrLVwPjH=IicW zh$(vo-^8gngQ84417b9k@R){EpAdxr3O_o4ZPbr8{on~O^P|A8y~Ll;Hl)#y<59Hc z8H`8Brr5%Gp$K#1Lq9_b)aS%*>E^dQIsE2O`KI^kUbVSS-)Gmx8@D>;QSe$)Zd{XO z-4n`Zh4`rROI5GK>W8`siZkhDcw~2xk6i@ABXoU&xvK)*WcJyAEw#K#_lM_oWy_#$ zSyn!VFQI3tLghhOxeyQOSd~Ff7mD?@va`T=hVjwTMKxB&TQe84+qk?H8ya*<-emA? z0XJ#tKy+|-Big1J99`m%xbi@?IfvC&&|!|c9NHRtjI7DfcoqCcGMtcv)iTXvmtppw zyaNnxDSnnM!HKJ<#D8)ij3b00$5MW26G`Fr8#y)JGw1&lluN49xjlk{*$CV*M=^K9 z=3+CJHCB-KfpYM4+mB~m9PfG7+7s~ftFtNPbNo0PYS1VtcBjOzYLpMePvh$T%5 zx=*2J;>>j;SsX^jbH0H`J#3YEH{YDB^^8-U&oMXeSZD32{F7atLBeTuQYl+vVNK~6 zpmlbl6cFXDo%?M@BVvC*f#Haa2{__1MslkPqeMhP>_RALbdp6|$bqGgWv||wiZF00 zT`ofL9rb?_gRr~CMd0Dy)Q|h7XkhVXIv^MAh?(j(oed4_^@LI8jm!seANE}6+?oaBylFRhW>1^rDQ-CE8EO=PVyXf>@%}xrl%r!gelm0~$9t-> zo_Owg&yX8^<8K~XHf4IZcL>(`zpF_c4GrUF&p!XBr}UC8aUt`EsLp5npPbTjyFz17 zLhmK1*PT6oxev2BB#RBBo1QVkBtfrrsjVjs*Wfq}#nA?G;Ivci%6ju}%t+l;Ols`U zdVTJU8)yZkxH9C}OelhtjahqN;}bQzNEclA!v%zV1_yL~^^Ik#g7}(ZeY25%oyZut z+c(l#6I3fU(ybGeE5ZvJO{I;z@zgq6f~jOJ0hc#4>+d=neuF2iSvU&8sGc0%joIKo zc>zpO@%V&0UPD&sTc{iS$IV^%N&0~AAnS2Hx+gg2?r329Xbl?qDg5VbxJIRCp`JMX zB+wS>l)JHtF&7q5k*YzL5r#xQe%F1#Gf2VFdYe^;LC%IYd_Y)u$gqbI7@=0G^Weq9 z*{~XKkGm6o;&u3Q+oG)cAXK1T08~DlEFf-_krf*(Y3C6ELweE!tO-VnY`eR?usu0s>*5N3YGjQ^$Wx2{ za+yL`lWN&yc*8tJhCA>}i(Moc4*w%Oz>@sf9OyagVv*d8({O4%N)A!JFGGm)h4Y)ufojG6zVwZ!9@{${ltpn5H`w11@39Z#J$It& zY5>PuivtxW`ow2Nf9x_Zkz`8d6k36=VRVUno}rPe$|2#ld|Kyg=EcKFL`>Peb}%2caN&&*o4$G;~g^dw}JtMfRMe4#2H%-HCCp=W~hXN)&aO8?(lv%YjjGIlurL&uC~_5|7PuUsMB5P}n@& zd~^;F;eTLMaR$Zf{lKQb{qj%!@lKJ34xo_mM#R`^uF(r{)oK)-;Q$nowm_Iw{9;he z(e;V;DIxhQy)~(MR+0YN>Z32C1M~njiHzx!^>tMMASQ@{F8(3`p(qW!G9(4LrqjR^ zu1(GWwdjp?qJwmi?-i!jy!AGxn7+a)%@atw= zqC(Yo|KtUHrbSw(89}~=EF?ji^axL>RFk6G^q9yNU^@;pjA(^35XTFoY{6W6R!to;#30(I{^5JFQv66f(J<23&qto?u z1dJeyO_a1ofKT)oo8mS+i0>vH53XB|$5T~H*UbUEa*oPo1bFA%nsENMMeIw*sI_fl zub6hv(gEA<<2`1tbL;LbPF-^rOzsTHP0nTc&4aZl$*sy=IRIX#R{c8s-(q-N?~1g1qNqP1yl#ESO>1V9(_!f&wu`iX5aH=JQ9HVqi#|N=P@hL=8?;ogexI zvN!rxMGbZa$^d3D;cNg>kI*H66o%+SLjNQ+lKmx-Yfv`~zA^G&f<~yhp~r+ykYFqo z=Npf8avC|;?&W*wAVa3sTE_)AdDi903@~^x-nT*(yR#xZ0^Y8=eQucWSTdYxt z5vk2jX8{#u*4g$Gfmc}Xl`!m}q%X*?2D+V(+(UG<;|B)1gX`MyVjDTZRhKmaiL!u< z_pgo4PtOi?uX0Qq>cIi>Dp)f;@E84Uv>hjkNT0X|eL(k^)RW)?)YQ@4$UaDJ_g>7t z=}K%1U?%Xh4?Gs)fn=22q=I+C`Q?oBjDjvJR5-6Nu!zrT~ zkx0a8>}MusKiippc_FxlzyUN!>p{I`n-6J&uTaWBzk^0};zzwJ z5Jyg>zp^t>HcAZ~U-fM8l|%T%>eJw=HT~GC0WT4-u`Z&XU{;WTgP>#uIQ7MMfi@0v zfRm+hKU!)8SXy#>-H^nV!0`v32~9_TS!@f%<^2>)No8ci4QaC!{KN%AZ2PVF&{g=H z;>cE^hNkbqo^7r78H}CmXYYLr``O3)`^wq6Vluvgt`Gv}LByR~Qe5M;%9^D(Wh0zK z*xogTQIts%HF0b9@Ru(84( z=$pF1A9m>{P+xyDq-b5{;FuvA*hFldO}sR|Lpej6QDSx%Wg6ZDjMpSZSyjAoqtuan zY*n;=%ovpT5mIq@{H+u@aDte>jlt417YZQ{97bWC522H6@$~2D4kDYc8i+k?BgE5l zF;K1U1XNTDIzCcg@tefBsFDOI{2U97M+&fa!Q7+9#Uk{GHHNcZ?xUeZX6`Bd9jkPm zrN6iVrGJ9S5|QALm0%qc{FDjk`h@;`ZT%R#e`)8${{0N~lKy>_fb{QUfQ;M(sOZ*$ z(Wc=r@DJ(>C(u(?cfJ&5cV`!B+!)bc@aVywB0d9!F>TBTqS;$V6F>5{+xSDHUvwl& z$4_i`!HfvvYWL)2pz`6Kd<{+}LljK)?MXFWz56qj{b`f;i{(SJ9G&YTx@o9Yw)A5S z%l>!oevGpcNI&K=0Z#DGzC_yVV`*v4!iAG2l%65QsA8~bW$+}f6y$(eWEXc-Rwu*K z3Hc~&ry*02?T)oC0BTh)|Qx9Mo40TahS-M zT|x?f9Ea6l&xtmWs`I)$*Ky&Qfh8kVzKSy2^)EwC)^fLzI>PwAE9qe3$;3UE9>$qV z)_FX0@f=XZvl1v{W~|0`_BGod1SENw4s3ENn!)zkebbD-!ROV!;vacf|8nq+q;Bz; zEcT}&4=-USossz{GE*!_KPhy$gK{`Mx%1zIqAb;omw>Q(*Lm&EhE0GtAJRt{x3T{F zSpQHR5!%|n*!bHIf488jrkKVR zCIlrAg#Zc>A|#T^C50IQ1ss@+ay*Vk3s14tiq~Sb6>ktxBmqspTMLGE(K6B4V%}v&g*O|IVf3Vwt}t<27}~T zoABqrEQSixdMv>q7KLNRt9MEEzXzcH!IpjY$mKPzpufy^g$U$WQUa&0en2K~N@#ey z6TyI*wi|Jcqvixi;IS7QEC~CP#n<$FFEbxxVDoI|xiwWEDs9kVKN}|?j5LyLpQCLo zcLt9R_s`)LG@?~hZVw)v7JvzDc}Ao(1M2B01qK&m zcBat>F7VP7^tJP9{r28kCt-q;G5eTmc;&G&3ukmLN-bVa#8rBI(Z$QIvBV3q{JDK_ zECSpa+8e8*qD*SknnvO$s4sN;PvxCgtEYtnZ?RlnfeVdod{ipSnjmW%MFey4hoF+! z0hw@-jqQcnrlN%Y=n}3asXpoic;3YdcHe~iS2@0cZ>0;$ zqJq=uCA2)5Pq^ugVnaBY*!NkC007|qvKyOAXp`-u)1+FY(k@tP;KJ2=juWrUM>EJz z`hlOHWK?_wQmU7`W9vGyfcZB7Xo>0L2r5{5@j8hG^c~&JvDt;`EV6+)WC@m77~S@0 z8GhpY9hJwKI}5-w!rf#3y;Uvf`zDr*MNDDrN!k2e;F(L? zHn9rB5-W5xOS|P?=y>~pH3OES?T50LIjhFvt`>hw@V5bfe8<0mNq@#DSKj_+v!~Ly ztPy_-eV=6yXE*@_7j|>n%X9Mf$38Kx%&{4fpRp3ssZP_4s@MO(mEbc!@&OGu++W9S z(LR3s);5{o=T3w>IP>(~@b6r)Ez|38^nWXKq~D@GhqnX7*l;+!9ReHNU7qK~7?pE) zH=59YTh@D=*?_9dbMwFdi~*n%NQ1B=u|HHCN$e4&?U~5POzq`U^zCtfp@jd(>8Q`* zp~?I!&foq&`d#d2Asd@dL5Z2PF`n4ZrV^#Xjd&T~!e_G_9#sPKRXpsBRxcG7j#jTnT?VMjAaxm{E<@GjB6S(Y3nT~N^Z(oR(Oy&h%Z#EStzFnlh@O`i zMX;+2425|pE~mE^spb|*<82dB@Lw|Z%wNLp<Cp z`6sFJUH?(}{ZiYngQtqCU-aKpNTCZpRzd$}^RWk{{SWbCw_oTBqELdU(fQe)cCIA$XdXQ`BIGxVH z*M$_6+i(>adoBTtUxxO6D^}o7s%9FeM2g%X1OzO~$!x!35E>BE?fH1T{tJptuc|>{ zyy?U_g>768TW-)0C}noV6%cZ~N?p|gIP6CyL;*BNP z?4TfnvsVspqbP_?l}hNZxzwP575hTLPulMW7tGNvB%k;xV%G#-ibf#34XV~n&RS!&vDP=KqkFh_o2Nxh~ua;NGk3 zSDCv%$#Uo;p!7BOsYK@bhcT1YIK!+~l|V{t?v)BrbiixjpCl7Z4k{#U(iIXqZdJ^Y zJk)Hz*b1I$@1Y=G*@F+c9jtVrs+78p*U<&LZ)1OlsX96X-AnGOSN#17s z_5`#0=0)Gk^Uxh6HacclgtfU<3IvZX7EEnH{-km|)#6ZWhnNUw|$;kLU~4R}ubUXec6z_O~nt zaxz=dSeXQ`!@LJn>U80%tqv}`g=fa@wCSf}WlUe>wNfFGgTxQTiqfQ$;d4Y3de6Ys z9E1?DvGwu!89Fcp-O~4>lRS6M_px5q7F>)@p3;gr1jz)a(go}@8!bGS`GfsCEMpW- zCgG#+fLVe`67iY9D)fzL#93}OJz!y}zCF;_yy||;Rz^Bu^uhi>>Q1_g=Am;`Li zxue&6*yQpxAtt1bH@-G~QZa)+4($?XLanDPdui|+r~k!VAeHCuU3&6OuKbn--O-Ge zQRPmf@_jb=A~YCHHD|4Jqx80vj_=dEDc>F6E_Qt|3Nk7_mH>F(!M=S_`sVUO+d+J& z{21m%*)Z`|9mnx8M#Y}kOUzeG;-&sKi zU|1f9nq1P;hL299r$b>vjhfCI3Tn7 z$?(HA3?}x1d4?*^PyNcM#I6)(8FxqM(8>L%eE1V^!-AWi`#&KR|N=7w~7Q>aHS$=!Qj18^U!Mc)nZ;+9o_Nc&FI2k7fw;~W|C}K6wlmz zuN&TjSdn4k)nIcF;WF)#L#3HcVVpMp+j%|%n-d*uTs{kq+yH7uwFz{vfxazW`REiH z|6mht)!i=Ktsuek`p*jQUfet4x+~(^X7piX;z;qz?8@zpOdLDhfWuai%uy+)A7Pl{ z@~1i^T{c6jxf-92IJ=AH(L7-MxH01fICuh%idTgF8?^VD)ew9tzqQ~O#8vekWAr%u zUpO?>Vd0t+R9C?lbHpd0#45~z(p;5+Cw$Wm7RK=dDxOL5HxQ{r)+W_bibchL@R3#0 zam_40fbbg31yKeEZDhn=?tK3REkz!8EnCc;h$%n9eA88Vh2zJMO-yO(w{TRvauKI{ zAzZwFeBt!#s+Y)8X*zA;m68S@J@#uck%yKGhe1O7RXxvvAjPTlK<&>cEZ?ndTzfO{ zM_Uu*#Zt-mM*yajj3g1eNQ}ib)4N7Be=)AXMrLvNPj9>nPn^xBF$9jz_9l&fsBsNG z#Qv7LKZNt7WFNH)px55egc4xSz+fEvI3dkpQA?8c{|q7d0Z&BasL5YRT!)iGS|)sx zOn?0pz?Z}o;JTT51Cv`rrET(kfC4y60$XFBDo7{kJ99zBR9Jd<%FgX=?K2lfNQwzs$`VeeDdS!DQsbyno;MLOISve+V^7AZGVpBRXKR6k?3_ z@*^n~`NvNUrz7@(@Q<2&sWI?C>^}v2H-4HB4rNnGA`D zZ?N|wh5pADyb1TidvJ?vLlx(=ms^Gup@(U9X>Nm=lyD#T*{#XNo4~0mEMFKwK-(K- z9U12PZ;gfC=XfS*WXobahFWsJd^m1@jp~*E2pwtL8{Wq+mTJEya|wmn);9AS6v)Xv^yA2%2@7# zCB~6ZTX%R6;?xZ!R%Ak7`Vj_UVws*Db*iGwdeBA$K>5)6 z9O2Yi9Eh>)hEzC16>h^$=)3c``TvXKnP-isXV&~hYB(F` zp&=MrFYESD0Fq1@p|%WU%9V+_6*(_dNTF{bKEz%Oec}pz=*s_-R(}8>keI5Qk?O~K zgy^8JkyL9NY)M?JzcA4)yDQ0^coUt7)}SbRkK|8$@vZNx zZ43_m$;nkHG91a5q2^dW-owRxN;XHkwb>6qIp- z>$KK2`}6E!aq&}@^yt<}Yq6mxo?)1POn;a&14M8J#}woex7VoKY~0RLw>h|FUy&f! z@|U8;?1u*skL)8Lls%$3jb4<$`Aam$^jBa=x}pcip;OC|+B^@gYq6G6t$ru4AhtzK zMLi?B3S$~yzlaU47h&o%0%DQ{Y94CJC7Pk%vQ#m@1c$+jN7lO{k73tHg)nGBk`#Gt z{a-A348bBGi+zl9DB!eu;sBH^{2KIZ9R;f=#Try zvfej*SnH}&RqbMyy^jwc0PH}Bfn-sk9Ukaq@VSt+>c00ZyY(i(3uBI@Fu6Y9p~Pyp z63Mg8hk*jxrpnK-l+`wseOix177Qt#4xF zWxi~MPL7jhtMBi)W}Cn32|%hd4Y#LfZcfdytu*#pXqgAo_kH~+dbqr2jb4}`-YPPl z=!%SP)Y327Ad7yA@x*!(0Ot4TANYv<5qOv#(eAh!PZ$*Wa)r7VKt~zG7(ia@WV0}BjV&VX-gkh^X z7dy+qg!`s7;iszl6@5K*!cH-Ej}q0K5=F30pgiluFUKQOFcm+}7wd@f!&^ zu5L!4z%{!_Ez+Lg#cR2MD?yeL*_&+G|hNKeDM~Qk#0VuWk zL$D!{$z?8Mz(^=+^bCI6gs2pj4W}jUbMZ+lO_%xV`xdd&!W+$n&d=Miss_k(;2^c1x~r1}WrC}Tf8iF|uizcU@GSME!374)Btvl?ut7k^VyLlCe> zh4*PvS>4w%Ye!26mS~&;@y7N8I29#E7h--lgv!2hCY303-0*!B+QDP5;7_(+dKVqY zw44u$1=WJ+nV*lN6QYDkRBtQsHfCBA%d-DCK7Na32y`^Fs*i)aDeKwv2O>5x9Y_w< zCieJbyH_pgh}*)iu%D5nKZp;ZdDGj_Nixbh@H|PcU|!4jeHi!@-(Up~=whc;aNAgU z5pX7dJLx$C2DaZMf;T3XG%mCKa&D))RUmvt7Lz*X2&&En zf2Tn86t3p9Gtiwk68hQWxBoaUER)BKn{d@|&!7eK7mWn&%$z?5m%$EsZ95Oy@{!;V zU0BHfM>;2B=zlsggO?l~bQ1c#3IxzWKPsc{*C7;UaHQ!^0y#>px#MRO;EmY`n+f!L zvPdA>rUptNHHfypNd%V~{jv;OskXxchqh@ODS@`BnI+q!?p?0{vjkTe>z|zt;H18#bEc0+K%4xRcA8N-ie|&E2993Xbnf@FZ^gpw- zWtK>gm{$9Q!g7OkziPs6G~s#HZf?00Lg>pRBo=)*2Hy+#p^cgDp9#}~D!+e$3Is^D z2%~`N1#@fXFN6Ufi-Et_NKZVSXV4IwG2yn4b z@q0B)URdgTDNWQs}( z&;-^j_J&%al)`?kQSOF08B)L^o);DN$loROYKFcq)Yc7aPZiq}t8Tba;k{EfJq~%h zX8TV^8&F!I*D}+Vy8)~(^lI*i%7gGH#C?Z`((E6D_t74kQPW}b;JC%J?TONtSqi=6 z+mJG?$gKAMv*M;`dh(EZ9>Y*>!yESu-dTP%7~EXLs|J+nK9BjwJ{ZsY)g%~z@iw=> zIX-qv-l5oSR{5d7eiNlWBHi8#`(v<&gae5Rp_&a2C6YF*LCjJJk(h=#DJo*CJTZ;N zzBYmoAJLa#vBF?+(TgFH#z}t4&GG4{ep(S1=!+yh2Rtia#Azla9HAown+^u`54d{3Y_H3J&~Ea*VbAc!(5|RLM^iF3t4U8 z`S3nDEghF1at0jIwr-YHbq_p|A8T7>r5u^k9{neY7M}TChpEqAK3nT)D^*>4bR*xU z;1lg9VPzm&b4F#3P|<8^7`^|1Y^IiXs?_}L%g5{6tt#_dmj4u?lL$LB`U@*=a}$7M zEs7Mgd+ZIs2gO%@1zaYPr9tvRi4)!u+tv`?zqmIZ{Hc4% zfqBBEWxYteOWV}$}0 zcU%#v%L^D5{6xFuJP>=#@%91X@@H^X$jOb)s$bymxA<$q-$(eX+o=8!#iy$IMQ7Dz z&pE5=@i%v~v#Q_o*pJO4*7Nu+sqd51@V*}3FGpQB;E&I& zm)8T<)lSdnLC?acu{pK8KHHpClkvxNx8tfPGxpi`jks}`cE>k>h{$(FaU){k=4rS5 z8E*iDi72Zd@+`yOxz^vUxc<_*zX#X#_zL|9YXWYl|_bvWT-sG%0 z3x5~j&x^my@y9x@!PSqymH7K5{vN{Lv-oSl-(LKg_+z@SaV486fSOwMeYEQO?W7d^ zvJGFrnNElSO?p*C1)x=m%%t|}gxke_-2xK~OgV&y3X$$RW2;(1zu+lDjo4EqKb9;!LQA?}zj%u;Xj)>w*oGJ2SH`-X9^rDO}h9F~^N{NiWXB3p6WPxKQ!r zl=Vg-wvQ3hoT8Fmm>u!0CZ~z`8Zhc)HfAn&jBuz;*=nPr0i=`iJKniAV% z7iXk?i7P*2PsLMosK^z27ax=Q$IgvF-AYzVgyEOMBjxQ@Y|j1+3jiA50BE?)9+(Hw zfvT}-W&M+r2jEMTge_KgsO<<(4rKG6hdp)dpHdy_KuB+`{ysn*H_H(UA_J!0*fdJY z4xouj*9JPSWJ2v`SGb{A={Ri3>G0@?PC_DXHY`)+rL}W(ayw--IpXM`UA_$a{ZN}o zjM9!k>y}&qry1o=?ANdWX)qqMV_T9s>i;=AIYK&VDtt<7)Kf>|U1EVKNm{1Bo*DZC zyYt6Rb1p_s1$K4=R$Uzid6G&2^i2Y;ATDYl@A-kD{!c@;X6lXWu zh9j=@XmS{(+0Iv@f5l*&U>y%*d^@QF<=920R~2#f;;2QJpLiwSL?y&oRk%V2?98hI zi4`oD1B$;~2~FE+Cz2p*6tbDJp^)B8mSuM#`i>e-^E8S1B*tN>z)va@nL3>cc45X1 z*|q?9Bznb(kLCzqxdrJH27);W4UR@ZIncl~G>+li@D4N}6Eq-t6ussA|5EYS;PdsI zIe}W7y;rIi<#@IFKLN8Mm8+BO-%{3k=qovaOn0HyG_bW63ZW*B56(Y+(XzASilRK{ zQoTHTfG~M|wsk?a`% zQDAp8s35LtM-8&N2lzT9&BQU&u@_Z3{oUY=UVu4tW3~(DilZgLqqDWuAwu5{0*dpg z@ZQo*NCQ|pVa{bJI27 z;lKca6Snl~=@ov_)-HixUjf&@55Eox zeu<4<^fwSNSf2nnv^cw)7Jd>%$P`{3scdA86wxqH=Hkz-S*&dplMLdn8;diN?tTLX z@6vq@UM2)t;?->)-r3dOG>%S4!!%C*lW`LlK#G52iM6a05R_KY}@rosBK#{5K>!8M6_TM7IKu zQugoFox**p?E5eUFehTt=-bVIOu@+vP=80(n94u^ zgDURy3fOM*TkMBHQmS_W#4;il!P3HagCr$%^-Zjh^IaGUilhPqE*z>|MdhizX^9!Qz*kRRGWHxSaGd z*53Hriu;SLYYDC!@Vv1_z2`UkuX`)#u4Nwk!d&s`Y{#x3&VRP_UB~JUx+TW5=n}!h zsgmf=W>^=1HzEKt-V=kB@`iZ;6NmWVPkAl^T2IKymy@PeC+Jv|X+5z*bABkB8kC902ItS~Kc|ktS-G$ak~NZ;m3I@&>y-AIA}@%|@tSBYL|L<_Fa(8FXZI;Rpdle_3NCl=!)n z*6^2WKD!US?FrIuw^&mx{smeb9Yds#Z!b2fPP&JGZ&SqTBhmLe#bSV^jLw5?@D#xV>e|4`qtG>iv`D>t8_}gRsfpWSy zc-SWd>Y4w>!dPz+#)v>Fr|XAMVRvakY>hn>h%%mSQ!ooR@P-I%3!F1{D1q}nT!|$3 z%Q1H!0rX!&JokdBT750(NkJuS{&_9aBsgxtOjrYBFbjtHuPpefzi(@y$a1OnK_%)4 zC!r^im1NdLrN~O**g$pjyl7|K+KS#4Yhp8n5=se%T|%Z|m*6&|pI9Ztb}Fb)jg*9P z&B)uBC*v_6S_(%ge%V?mc1P$i5;>wc*Am~n_BRRlp0~TzJB&>MUxWNRwjsL^LG+e? zrI!!0*oJ(KHXtv@YlMF;cp=ea`HflF(en4QxeK+6(RV>Pn9S?ftYnkZl7VwOqED%0 zEarFeJB9zA=}Wx=D}wQ#_$BDB~I3Ho9@ z8hutB>RE-VP6;(hwxbwln4Lw(;3Ehs-?FA3w!$leDv8+Mk@U*c?r0`C<(pL#Ge^ly zOL1nQBl;-bTVNP>LzZK+2kqxJDcaHr>9^yH-mW;`_@K6Na!(k- z^jvkSez2v)>6j`fdqTiDWCRX64;rrU3&aWY@HP@xe-?_T^+W8w&_`YTzs3`%UF^=} z_DOsh*gM7J(+)%uiA?JShw{&raI`pWs|&(z!EXagHViC@j~%I0$as7CkPwcuJ_$=E z^QVtfgmp>S9F-8xK}BA;5CAPQ+wWS1yorEl5@I&CPO&}ZUwvD0`!K~S4X@Ym<_-)Z zBcd^<$D2buzeKz+%QD7%>S;_SI(vq;7l=X$Yl!ypL5X@(1q18JmJg1x&v~p6UvdAs zv^YbS;i-x&125$3#4s{-KU3lZTlPKN2v!cNjfBxK>!FDcrx=LdD3c0L$-^K=#|mU6 z9MMG*F07|Ab)h4CB6suo_A2$G``&kf*A9m~AZvtTA9CS^IAyk1># zfX20Aa+n#pm*={0h=GEnHFP90C+`ATTRR*p$~qu_i_dhJt|z;a$n~&8^#>*+llkHk z&=oNaZG1tJKllTldCm@=vB#99EEu=B==5%fb@2k&tm(IJDsa4jEAT1X{P3Ru$?Hie z9T3EmQ?@ZBW#~;vDZ7UHq5lBCB!V6x4%5aH!Y^hR!o~kQ#?n)mmX749_$hXS9$S*N zbO{PsJ1LC(&bI&S2m7UDOoc_p!Bk`&c0$P7pLQk~3D z{2$20vpK}AosnBkB-iuE6@|5}r6v+`=x}s*W)_m{8k*80~lbQQmFcXGu#~cB7$7KOT@G63vm!+vn$fj{@r)q9p2S{+lr5Z_~(xv z-WCjEucBM?r`e(A49D)!yIlr<4qm#ke($NsYM8Q=nbfeL*Di_R#MNd z2VL1pEHKBsfI8{L1cGtzV^nKF8;p<+vOVt~p1NK^BBnL#kx-Pze)pj;%gXkDJUaFv z%UHrPj)1~g7!C4b)%+1^j@3WqjLwVWM~Zzf;w~_7DFZl2aR2GoEU_X<9xKehI$w5l zwV#K>j+qBSI~Nhu=Fcl!QmSH?sxx7+Tuq$EFnN;RG9hpOiUaqc_j=hnz2YIT2BVvO z@)M?~?WOr5*oE#}tvU+Bp_eE}dIQ~xa4ygCS8Q6Vg&#pl(B|UnEW`J>QL({5u~c?F z19=jM=}1CX5>p+WjV^Bf51 zutBy-1k8(9KZmGxR2sv(6X#&1Hhu@Pxy=3#v+;-g2L_3me{yB=--5aIZ^4|B3-@K~1)yEn=$a{9^*;&`wLK+J(nD;{JaS{~(TKjDS#5J8xD=?Sh4ZKsIA0zvh7{iZ?%# zZ0`$xu;Kvy^%?i#RfsQoD-785HLEcNLiz21@%Da_bvjS0kU3F6q(~;6fV*j*BHWI5 zA%FNy5Z^7Z4}5XO&p;&Vq3!(|!xDMAfFuLME|X5iIV$`kQ(VL%L<+E%f8m|}uCa#Z zE=KrqHVzU1ad8cgog!|ApWzJ=a!nKOh@s&Z)Vmx*I)r!GM))PX13Gw6G|^%JulNF2 z-5u)7Ad(Th>8Bqtmx96rQ{`YDSudU}$NKFIzfLYfaBfTZ9$Xx93}nfuiH@J0yR;w??-=x&Byosd)~3T{m&7cIIp>M= zsZQMW_hB3_oD|$O;`!WqKGJ_4nAgR*>b=maK?&{DA$R_PXK=Fp^d;cpVILh@K2@W zn4ANSjR#^cm`+8TM8<#+*Go2sFt+x}hCvwvrB;=!4ht#N;?U|Dd&xQj*#ATJB}3Dg5PAyBbiGAC7=0VCkH4M9EoJbS7Nbjh`OsJ! zFof7;;G7lEH05!Dt6V0E!2Y zEMp~$%EuY(;%%NN866k7nl+f0z3;-d3_ue)U~lBecK|5~KvrfnQ#FiI9ZE4zMs8$` zb`=r{Hhuzt*24P%f#@Unfj=bLum+=wav=r++l`kMwm;1@KKuX!9MP|VUb6preEK`P zdQM&Sg3ihB5YP0IF=Krb$CM$`cjvdA92)a~@0Idj8VdI%;q}lf!(Wlg0zZv1#;RP-yPbg^p=Cp1w)Pv) zU84eLoj(p|cX#A&(mf`V6V_qgr!Qmz-ypOd`fj)#YV}o;<#A(WKcpp{SxLn^4EnEk zhj98FjNxuMpGnGwWR(p^G)4`DijV+};LLSQzzAe4p$wF`vdtH_T9iQxZzmNgdpzlAb*FW-Iz;2sD6$p0 zn#~;1A_TgxsL7m*DXeWOK^y?=m&0uWFL91|kj;2OFM<5lsF&o}dkEYD&1<4=YTFQd zF>RC#GA4<{P0bhDlVg;4NK3pQSd9KJvR=;RdGSygf*1EgDi56DkZRBrm1%%k+Xe=B zpCyK)4Wwd>dii)9UWuMaBhf~jOP-0SBVMS)5IuejuKJ`*cE8EElLY(w84ppOf?jA` z=9p*}ZWL8dfyf_$VTXc0M0s9+CbVTuP__LEwcs|0Ha4-&6Rb`Q5k3!$ z00|>5ysG^_(8l@qa1jE#&31S()Srn)LINKS?7)FBIOwK9bV^c!m9s+$KT;)lfx1Fk z-@_!@(Bga7(c;_ZNN)#+QR)XuDgzpd>6jGH;NmtvT+7zbG~*(KWnA`*b9pwxuk0)M zp?_|{aDP=nnZF#U270q$1r4k{oS&gp9F1%OnJAdvaaKrOUUH{z_>FWrdOjK)T=wo& zf!`|~;)8hT5x6_{Ij;Q!kyupO#{*5QAs`g}y*ZcG0YBtrluQ_Sf&tX(AHhApHbLEg zC+;P`zC(Yn>vvp!>~=&8@z(tGS3N}h%E5y%&SP9XAbKipE&P;;lpWm#Nk{U-LH>T+ zBY@a;k>9XB{F?I#0Sq9KMz6#-P}JyiVEd9Dls9U~gA%*NUj+J2EO~G~Dz}x@=mYK` zrskP;`KNJ=3mJHIn6rEKuV5B-WSjfM|r#c*dt2o0Wa zn66ffKTH1N>g#J~R*#uqG=H9d!TdRchA!qdaLI(CiDRcv@J*aPp?uU86Ch=bs~9_W zh-YZh%{j9csV7JSqU8oWW&dCZ{l}nkyZIu_4@{}D!@g_>ZvDkJ$?aps)YUO!*gCMo zqjXecI{vQ6Z85H9zx^PlFB>;=+JVIB_u#7JT(5DnuvBoyCGnT^JEgn;l?T?_*`(rF z$8(3sZ9WOB2o=KV6Exw_&7^}K|G3a4?SV0NBXgDNu6(G~SR`>o5jUcGhv-sOTgw&ekf*adZPe4gXc@XO|!eVADeNDBEHDH{YGe zGK17UWM}j^O8s>!X3`kvFREK!|6~Oumu*28=&m1$-U1Rt0eC4)S`u)Nb355Y&$PQ0 zM7IF9T=VXC(Y0oqpGh^}#D1sB_rz|OivQ9cU5x7WL-O>`c8Ri)qJPCC?S}?)vbtV! zWF;mo)&^AI9K;7%&fsbjZrN{^Hv9{;TB&bB2Rsl=>bIaP_yV?mAgwFNAMZnx>O+qC zHV);D>d0g6zpIC1B+bRN`bs=oYa^Iq5jH0W%X{N=cdfpVPenK}a%i)87T4jBGq?yB zRLV5p`IA~U^hGiS_1oty)Y}f27 zgh!b%tZ)&x$|hULzv93uG&i)&-Cf1*gc3um{}_k@mr2+ZW+2!t&}a=_$ldLn4Yo$1o*dz`m=U_+~qmR%qRbweMB^7ggfsSs$Pe6`Z`D8N2&T#?09z1+a0B2 zl2V9V4se){z&1PjDBhX3H2|G{hb9ExwxE3y9-L)ShudVrG0d)$2It=gZ{i)(H zSDc%$TTSDGvuYP4qEMYP*fFpUt5z~dd?1e;?3lUa+S%1rb<=BR!6US`&N1!W1V2;p z_Ho`1);g76!SEXs2KF26{vM&WY-7KgP;5T`WR_#36HwN-UvD4II~7&N4A8v+xG|p_z;g_E zD#vgnixhPMa+wd|rCuTvn6nINb8s;u@)~=IR=j?!WJuMh#deu>4xoG+#qV!fTIm&i&9jXAtQ z=|ond1T1v0q<&M|Se)HnaDjhb!8HHR>-YPwL|<7MH#^L09|V8sR#^DK2dv<5Ye|l@ zK?UtH3bV1C3oiQ@Bw*jFc6XIlzl`X}=53~=|6D7;X%^iFuYy_lV4>Vzyo^2kv@>>> zF)lN9C)aRj*_IywOxS0B7FTOL$%LZx_>0R-$u~Cs0h18AtaB7(kYb`BanwRS>y?T( zAsBf6oO#zN#7zEX?O(1q@PcSB-0(mN9YrXyf1!8iNRk%$={w^T`bvC+<^&Wu)Rco> zMZ$a7Zw~3bfTSU+XSGmEu{;qji2D&g(6zT19XbZL0He?fEO@`z+1yPZF2vPHgy8z9X8jMmN zI|i3eqCuEy#OOE_W_U$mmDp5ReTSd}Ox%y^s=dwnRXIhFHIXHBq_ zh~Tr)DzrV7-$C9$=U~s`zFW?twdH%D1C(-z(xSpFAg&Z>nybCx2%u+-cHf=<&P_Q> zFV5e7{e`LJFhHcbz(l*Gl@gK?n^a!{)DUOkr1rKyyy)KH{$E55&9=a z=tUxySpYd8_5cbx#`^ViK$MfL9*cAgTx*v>C&iCd(~AnMW40_n+3^-+eXiEOcK+i3 zLH^B*B#iZhd3XpMhKg{m*ianOaK0SUaQ^u%UdYHzU4izsY$K=NO_3gsW)p`mW%AGw zgdt-zhfd&4dntW8z^%U%T3p}=3~4RQoI472dA)!&B6JpcsgPihGW*DC!hk_*V;{xe zMGyY1ycSO8SwunY$T(v725j_bxls?QJ;pj&g zFFC)XGCEnbRVn(19FA{Aj!}ldb_Zm~;A0(f$tb`!FpFyEQ8*Lm0L*$(aJw<8I5-Td zi9Ez-L9m%3H-O^4dql;@OS|86!3ba5!gG-Vk!mQ+nP_nrwzx=IykFm^Z)2NL#0^dy zw-9>dnnjY&hoa{_?R%(Tun~mtOqKA%$H%UI+n4Pg?#tN(Z}PD;C`3P)35S8ZNk?lm|n zP-PSkj}G)z^mWr<=nHLkF4)>CU#mIrZMUO!v|1>)w2oE^n9+iy7H8AKeo!cco;al4 z&IPzFKWgFANx6JHLSdB)x2?WCL@dmbvK_6y9lXca=A&Ko%GcoHybtSn-S-ZoO5>}O z53gvOnzSeOX-{m^o_G(>d$1ExxvOOZ(J>25rDNBWM;|_$`L0Pt(YY{w_>BVbYGaW}2wL1q_^LH(vZLcf( zW7|V?gAMc6&g0)&S%)+09A@1EH}&XO5Yyu60fF?|Kt(~c#9np=a?)gzgcXC*ifcdf z2PjD_9FEi4b<9ZX^?$vL#M4ou@H-p7IX`-~7Rj($?3NQ_EmlePw2)^YIyhes-VedI z*ry=Jm{L>T!dYk%ZWa#<@c_*|{(*?ZesAYTeaikh6P(=EcS$@|wd3+F`rwEPQ0CEc`A$!&-Hmsnew5$yEYF`*UmmvCK= zoy=TyQM$_#m%|Ix?q(wraN;Z26d)8y8x&fBOdu}mi>)=f6Q?}LN}fhoKE9h>amW5_ z11=%Y$$W(Joc>lTzF`I09d9Em_yAcckC_S`aclK|=Ug#CPEVGbp-N0x(FPjvwk`D9|` zDRJ+^Go(KiBg`Uuz!$~`7k;Sn{v3HBj1)09;zqbq>7xODhaTj@BMJDz(r;CGWktY- zm_e3^6QAPyAM{VK&*NnVx(A9WZ}^~^NtvA_;tSuXT>CNcBRYX4&L867^0!em~dqhdL7V#1tKrezrvTyR@&C)|r_<^>o^BOW&EOT!Gt?_rmSZ>Q9 z|3L4Q^4(<)23p`G!6f*LJPrA;ESqbFZO&JM!>)jQ;P0I*Iji)+#m+GSGq^aTB=Avi zahH<7`@zMTlLPMr7iWzM> z#IAf#T;X$ELe;2R^@F9El@M|f-tjD^EAmRRqGG1PA*BM;=y`xrytE=OOEa+aLSZNh({E_ z=mLsXuAXf8n?IXmjV<-FJXjJ(YkJRyR-UMocLsoHU|s5{L0r~~Rm#Axc0QH6%NGhC3eC}P~T1(MC5kh0vRRlUd`vz;L* ze!|8{#Gp9;2Ry!#Hd9T+pum~*8(PL#JLanhd;$7Y1`;T0A@Zr8Lhokdv^g9J><28# z1;I-cg2VC%lZBnfTemqBu|o28qi?6NB$bEU3AH@T#o~Ku`(0N1sB=iHx4^RhR++aO z@9gy?Bo4cN^A7-?3iqD;J;9H->n%P{N_3WhZ!UAuMDRYGsajIXsaaCY0m8|&MFlv! zAsH8vT^DlsbfoI+|IGg!8P6E%I>KcFQljoWxewc#eTXLDBeG|vS zu%O77_OhgG;)LW^sJY~dQKQRz<0huRE=zqg(RYP!d~zC8Q8@Op31hBGsbfO9&sUt} zPY^mV4ERZXfrP9cnNjYVfwtG_jVdkclIk&bfkrct)a zueU7Fzt38HMmIH|*5PWFY{p#LVHa?LHI=Q|o;uCb9X)SyUx)De6wLtRC+_oINO>c($ZJu4)e_QCNb9q;h8TC^s zllN>bagmE#wtY~)*;GWUr@KNYB*bo%qq`y@c5p*X-hO5g8W%nP_!;fqTz~@1-po*n z3^v$KYV9@!4T?q~4;-gS+fPI_lNxgSg>IWY0oD zug0W&8fjSG7xuFv@sQ4i7^boLbD_EYZioLTihkLHdVHR62+=U2KGdh*SR8#6*R7;q z(dz--trSM0b53kv=CQ*|Hlf4)kb(5o9-PtA5aVKYWH#d~kxP`|DbX;}a@55o0c2{h zff;DkcRRH3FqEY)ERANPVJ9%KK{n#6jTl%%PsB`b?Z!1l^fj=S6DZ>@ma&0lwAwu= zwLxjF2ZZehM8rC_#C6|issoEK`bb#hjh3BQ_3K%E9;?6AW(3E$+Wg^q_+2LLf7=4g zu}{thPjJ}sO0L~UIXo>1JV6Wxh9xuTR>bNNT+O?mMZ4Zf=6{*UA_Bm7h^?}jcX}U@ zcE2w=^Ks;_nmP09>Xr;2Ub}F5_58W&&|hrW^DNf6)w5~?b3wsv`4If~TPOgQxhHF@ zx5Gjs%kEF&kdLHJ0S%;6-jh|Q=HhC;^b9)nW=9~~@a-TUrnIj{wNJq_uZc0K6YEV& zz83yM8r=)^6Tc~_zJ5L0(#3m9T)Y2Na@18V zfEza>j@81|P~KsWZw|c+kM)n1B%W)5fz{B&;ZDbWOl6eg*)Gg#nZXYgUuouBpc_H6`H&K8Az%g#;R2$Jc4r#Bp;u zxZ@_)Xx!f4fz-ehSyThFBt8`va-gKS<}1ITiowGr#6f6Kt*N1f@4^EVGU=w)@mgHo zv|848Qj5o~Wmck=>5!S?wPfP~ZfxvMcQhNRxf^pFV(g#Dn83I^C zpiR3pt{GshwpYE^9)BmRxjjpL)*d>X)%^FY!3R%2s;^m!a_DptUd+bq_Md6(!kvmX ziIle)tSQM)jCk;8bSR9j!H-4H*o-v16hkf& zD(PEF^KYLc&8LBXi+_?K{mK(HAl+nIw2h<2_S!oj6HB&pj8Ub~!d+QBc%QSS*Iwtd z972nj^%7i&M)8K#7nT~A7U%6Aykl_7>3d^uo2RQ@-LHDZ_;1m3I4ZJ!Gqwo60FPu! zS$MR3s8zHf^A6sUD7#CTeLiIkGpL!Url*`r8wbdh_!?`r*one7L$Ht#@S<{DGaZ00 zC*-}jVoevFl%PFv7&|oBLY61zm&O*B;@pmahPa|;Rp;Rkokw+n ztRZdC1-{x7+nr$oTJ`CRZ|w210c+E=6p$*|u*-x^n*|%hr^6e3gGVc?#$7-2tH%NC zGf}L=9^El_DHATFNX0+s(FiB^7zV+$l zdypLprd+emF5lnJhV@V25NP<;!$mHu`Dhjb#p)HSv4ghT#W9|MVxJ7(1~ws13Qqq$MAcu#^RWM&lZ38T}OJT7|3m%ZD(oe~?_x zxV^vsp5tU&hitJ{yDgR-iB?~OVLnc-4akLU54biHh0T7bHu__gg?)+$&z3EtA$TMP z@wHk1)Ja@8$iDLkgA8aFWQw9jY7cfw)vn_d?Ku;iP1(2Pn3p~XK)#rwFZtf_{`=Mci}9Yv@&2hj z4i-54yN}ae8Sn=lKsz6|2mB`j#Y6tz94A}KfZK%YKOFBNsP#m~d-aCIcn?n=?|8kR zoxpJ4%;C;@vg2@9;Ap0f!~GzK`#q`ogok_T{W9Ds_FJ87sr(ULB&pN|5tX-kh*gn(!hlt1Xiw^N&CNA9$Fii zHw*T7<0f7(`NGRQ^XJW3qPE_yV+m4J9Vm7pe%>_4EJwBDdPl8eCa%*Qb&lDNC60yi zT;-VKn2Wb_9rGOv@Rsto=nrROlU1mo+Qx!e6gIe$DPpaq$AFCHunB^{*h1ya89xv@ zmk=uZE4t^wdt-C~+zb60eDXFI;TiryWYX<3~r{< zK@=be>HyV)P(%1*KF-XV63_di+RXyB1X-KA>$~<= zW#=d^tEK*)s-~vR-B43(wR-Z#4kqirL9eiX$gOQ`8bZNx29!Qn7{6g$J=PfIHO7?Y zzjaf$r8)V{3*fksvN6~IzJC90Em#=RpncW1#3QMz-R?g=%X^QEj;7L}V?IYyR*tf*Ns2{QU{k*8us=4>D;2 zsJZZ)iT)R$&So!bGq4RFI57AK;;qw&hkHFPLXYd$Ka|lzjV`=Mu3VPRkgU!b zag?%`4!|gR66;&UaBF4HAv`3ZHRNu%A+bp^YzRTq>JXU(PBc&tLFV2CHP=uM-oC`( zohpL|v%Y=c#^CA3^3uUa^bC9KRvg0E;ak}*W71gTbmzWO4qk~pcxj9H|0{!6^Qb*| z=Mst<#&YxC6eyZgUkBwU5ZJTmA;6oRFKaUbd#H)4I52nzT8tAIcw83E@2G?{|8`l2 zalGR9tcyVFgA4#Wy6SY6l=hl5HhP~mjJG4r=C+guL}9#>Y7bu-?Oq0go@}21DgtXT z=t8JL1$`3Z$xQz>xLsZbQswu^IEl7ajg;D>M>eWl!E7)bdAprE5V!{b2lx@$X1_7c z3-IT^w{-7KP5C>ne>1jOKLk^iXY_HU`qg7&`-xx9aizU*|EKTcFQPI^-5U`OgEK|z zR6JT(7o}>MItkSz+a@WyD972lkS6^o4^p*MG8iTx)*=D>Ac*RRfPIL+1S#A%X56Gv zV>{6LdJ=en7rK1^pO8#;FvZ}gCwbhHp z*Gxc|3vR?%R`62RKwrl;q~#wEQ~6_LjpKvzkEex^P+_{adyGIo&;X&KHw}T8S-N0;&d+;&gX!OE=`>9LDI8eK9yf_B+tw0+;~RKz4;%C{(=$kM&2_k% z)oUU3$l5uH@74Y8BoMnCOo~>;^<=s7J*-cwUk{2b+~|3(e>yV1cOSNxpSJ1(YDi#6 zodIbZ0pq}-Ht4=a65D0ZkO^~6>xeStdjU_1{8L*^M#=z82*AGqDI&+hR0h*xTIZtF%d~NQz4ebch|LAs@T}O$@`JqpN{+U z*z#}T`0-;qAx|oPIO)f939~$%F~J83F&pCPgg~9xD@%XQX(sc#^IAZ#zMo(KUYj`$ zVAEYJ!QfzZiNJ6l^K^A5raY|hwY=Sj5n~tX$~D^}6MNhIR{2__%04`doL9)$wIyub>Ki}~)BT?83<1~Me0=4>v zi6X-s{u?a`ZSM-Qp>6EKV9~3ZasDA*GF_aplI1QSp7ZiU-@M#YyW72H# zq6SRaOvg}#10!&ya>@K00~UP;)b&`h8Q<AONf#H$)qWlZQ zUw6t78#k}QfCNW40$L+!O+wdrzXf?Lkc#v}MvlN!-)CMZU=Cy_f%qd3f)=>;7f6@S zfNxu**wG$)x|7~E<*D9&jH~pv3ww)*R<@!%fj=qs{X_?@xgYX6X?XOVyUKC|OO~f| zEqw|&w4L7nz3G+xEY|=i-q$g?B0Dy{vFw{bJSBafW2HaN_(<5%&SRqvc33e<)r=BL zfXG&KUE*ozdl^9-{$hIBK_fnZT38|nl^xU%>PIn_<_fqp8KW}?&eb3!jn3rQ=GH(t z(8F=^7%!kW8tz@8m--1}%ODqFel^8c^27pJWyIb~4Eo5YIJW{llLtNahCSf^tQF%k zS$6DUR2*vCC?{ofZs7Z4HU4XHRpWm<#{ZHI<8Q;SgMYfh@l@Y*_=`$toa6{33hk5S z2k}N4%is@_-8iR7yPbe-_3gkf)zNYJbr)YigX6iaYgMZH1{4P~mco$390583!jZQ- zZ)g4&3;P+<-Jw{Iggm707?r=zKd>XM7$XAeLFx(7V|r8- z(Cwav#cp$5p%ci;(3~_6Uojp77DRB5A;HC6vGsce1R9I2><3#J9cn_n-2;Z}UV$G5 zr&ldK2M>^`$UD=4a466d^$Hc-OOk$uUU^UppM+wHtQ43TTSLnZ!uFZ|j!+5Gi!#2D zI1BHvD7TjqJwh)H(f7%~TjOC#boO|7FIM9b#FbM7{ZgR{_T7q+Xol}60uPOzVsuBJ zmB|(=TL*hX^@Mwc3s$LgcY^~n>H)`Nu4!ROIt#dB~SNar1R^}u%rAT$m5@nO`V zZImzvt)t742ENo2d5JY0ZgGGxXyHMCy@k&t6wx1Y=0YCU4-Rznpi2RMpixsGfPu&x zj9wU9VP)yVER3ISJ=3H#+Je|Nhbnae#3jG?`#JZ{ zk_G+v?LR+WOzw7;=bZDL=RD^*&yro?9j$(oF3PTW06#vzg{vFaz87a#T#VlW{ESNq z;G5qLHO+>!bY3Ieg>$J>kbE$&d7eEA(T>%hh9!;ald9mTzDYFGk0YrePjUd6KH^=8)I29MST% zaJPb&s=1^_H=`?oA}(wpD5uIZTP`DOUVNKgHYrXIO{x@FeOMSQt~borUIk`JQ7q&( z6oM;plo%*`c3hc*&!YT`D`n_>7F8c}Ix0#uC5yM>{y2Fxf0ZoW(!@7=10excycz@4 zb)E^G@-#s@o_HpinmCWzoxGYScS`*Os4^w)Os01DRBB$$#9q6(Haxdsa>cLA00zxv z@t6`0b91K*L(uB@MMSd24zK-BtJf+PT%?`?jn!4wEnF#7UzA&d!yd19@QC3HFkw=E zbIX=gz;Y_>jk;(0sj2eR_bbQobrH)`wWPl;L&T|Mofb&Ly~t8rJ8ynkQ8u*6Z)xRa ze4A9iBrRLAD!fk1k$lZ|q>^X6P9;yi#vUYP4+nc`xPAk-B%VY5?T2|Ujq}?e8sQME z<-9L>7k*JV0Rji~-IV_h-P!sqfP07{3(tnD0kRAs=Ad&vf)1c}xgq;ODjo(bmOzZNb&S!fjiw+l6U zpg?05lCNhXW7geB&X_wh5zYif!lMUELM{ON4MjaO5=Ef_C<=6tg+jJymnKESlK~23 z*=%|zSeBiagarh&Q*MO+Me)fJP*_)mj3*STL7=*w8pZ79?n`<&ZnOLbn3V-kIy!Q# zCqm6ArUw&4s!s5Rr+3xn)f6o$O^#vaFgx36$Y!4FgBLXab|iOfes0&UU5EF#evqS= zw%;DVpFox51E{OBx5qoTJB*IT3*C^!bdQ`n*yBO6? z2*aIVcsi`ofNn+_bY6uG3c7(Q=sb}tu-p=L^L{|t2k1%*u?5MoxdU<8K9t@=PyU#5 z#~eax5@F|oHt9_q2v8`C_OJkJhN)_fVtVT0j+ul`Q{BW=b_IG9$HUyiX}ktf`gYiL zl(*??IDl}*64}dZ6NeYUy?GzukY;T)K$@C3`q3t7BM4Z8gKrk!(^JhCEQ6@TIS0K& zdMEYZ1-K5t2(qW30);Z95u{g!vKJ!Qor2(*(UCm^Ym9fqVTw+3*g|3jG=~4j=FkF|MUMZ?d!TJ`k^jRvAcGk zKkC91LU_-Cs|7FT;W3AQbrOTTje$i}{c7|UmX=Q(4+}+{Pz2yORAT3IXQS9H65$nG?=vP z!n#CNGwkVmUT7arM#7|65NufT0MgTz@t~(o@*&bpDkwaa%UnMWY=7jp%n;>!wLk_z z{$yz+)kSvYHyl*hoO3DHH3V#dh$>QmU81=HT$pELltrV^W&q@PsSPC5X^tPwRb&-D zhz?4iudNpuc@4`9R?U6p!!Kny?wp}-y};pcI!f2vIb+J25xei_gD27xiEN(96M3Nz zPFUc~{zs6AK_FyEBOiwZNS2F(XkPTun+O9I1oO4AXqB`lD;8~9&DU%A(U6w1KYIF8 zdwSIuZnRnCRpzeAY@;}(*ZPe401fg)?!m$g!!@=Ap8g{xcmxzt=}VS(63UaRXR~Ul zGAp);;KA-PS+mv0NPiB~E6$&NjO8a)|D-PJ|6XSO&yk%5j^|aVSb8|9PU!J>?<1BF{X78Qwt;P4x-a>&BOfTW;oyM5dhD+wYd$u zl+9t{*N^ET_{;g56&umw`J*1W8(jtoGg=f0;uag0rdx5< zn;zs}2&31m<;|LP{2RSf{;ua=6&@6#eDiV?Yn(_00T!x9uHk24c|9A)sl7|&N(`m( zC~JT}&u}k13GoC3(WOlOiXN4ET35d9@Bo-5!qpmg;rutM;dbSI2R1q|5tXodiq?3Z9+{8($M>TL;BZEd zRx#0xP%yS2#hB7FA>UzelVi!6rh#cP(2O3E~AN^ zi+9+Ou*)fwP-GEz`G)Fj*|}V!(&4CsS~L*TgNF#Q6%Y_EDeGur{q-4usXh%i4-_So?(|t$v6cl2KkX*Y0>YQ2=tQlSP7SfpESwO}=r} zlL{8rCp%6)2*RVuIvS@+b+44DwJ=((aY{1k9;Ik*}gdaQPt*ouGKE^+$GdZpY zGJR#ja{78PyVPV(o4%>3nwq|;DV>_W;~_S%ChdSOC+!e(;*YV;6~RuG>rr!{?#eog z%GEEa16?MSi~kR8Gx@zE$@vLj#)>GMhj*siA+$i47|;bF5ol19^n*=lQ-p%-q|1Eq zLK2Jkm+;cZZz(QKm}6bIv=00kxnLfltyc8N9hF4rmVEP(!W6I8OBmz8urxmHe)P5> z#9J+W>C0aH_|NU7`W~*$FK}eKU*-E0gB`tl0Xog~DGIgEp99uj!JEEUz%&|xpsu|h z$%^lTGsI(*>SL*sQEK8P1{nLxu~P?;I=)hr+}`icT@Z6DtoUVp%;#)?L2bXuO{TEi}=I-zfKv0VTdSpE?G-IRV341W@$!`g#b|`KCJ8e2Ph)sKm z)A@spHS(QqFV~+h{GXiNMwQqysVEb~lyQ-t$5rH_xYD-{pG9zJ&iy`jxa&|VG@E>$ za2=V0d&o{Sb6GMJizp1Gyf8028Oi`MMWQ^6Yr2yFq132i9S6u>EZveit?Hy#2)t8g z%#}keBWh3Nf7zFoMA{RXkEhgmqR~VM(@Ju>)BOz5r_BZ=FceP&w%ibi?P|bv^q1-X z=@6^BK&9CqEe{>JI^cTo9&${HJ8YG_Gp$BL20r!7Tx=)V)gV@ebW2?LrOxx-i{T-F zzr@via6V>evjS(t(--$?d@xg=#!%h1v$d^9bY!+M4Iwe|^p|>X3*<+y%CbKG=i>7k z{u!r*Jsi8J*1M>&fl8dqQHgA430iBL6W)Xe3fY&EPzGE{^lUxalLLds=Nk&0aEKae z;jW>-dG!d8RVg>An8bp8ssdL=Yu=oP*}e=l!6j1%KyD!*`3PFAY5*vq7Oy}OA+HO6 zRm}E8Gyguyd$_FPy&#b1p|20$Badsid>B#Q!~YBZ+CFD+%d&U!L(@(83r|k`EL^7% z6@FCq^zb}`_nwDdRXZNF(a(AfzId3asY*V=?@X2m2aL!rynury{%zvAW5|vLo}F-i z_#XA1nT#gBQ9v283GzI&TZwKw5A9SOah4Qs!KA9{s{8G(Z~u|q_3=U2#+o;KiHJE` ze?>a=l(?8>l!7A0p@8nK*vp7m@Rrj z{mk^=sU4o}Z`}!?yVXB~kpH5Kx>SL+G)0s8l=P?WRl+f}FLDSfm4R!Fz6YR-t?$j+ z8Jz(a6-jtS(^orD)PKvM{(C9Zf1#;tLjBh*inF2ZULN}!Cwi~WRtn2!6heQJPf(iu zYL)0uiqb4!L5xJD*=LlZCCnP2GW?e=IW8N(3ffUa)HKI)(29G+3@ z51KhA17*js6SKZ31O(Apd(HN(E{9$;6EWtK`qz8S&8I?vvix<%0C)kw8YM3qV=blC zu~6*W%?&*jU}1C@d3psxYwm{c13Ht&UA8vLxXw#*jo^Y~^Nj1r*sYxC8nhCyjLoM~ zH#EBUXyU8z?IBdQv=0}J>v&Wt`4CKJ6znZphQ!8>M7eNtR=^7ddwq?b0#W(vB)d{o zvYr}5z45R%(WV`nFHTVU%ELGpt4`bi|DA2y-4!wF%!!J**2`G_dZay&D+3;{#{hD4 ziU3;TKvy_!<9C<(uY%(pRA3nz^4R*Xuyz&wXtz-Y{nvgg@+}ytmrCUS6CigDR63Cn3#mCqC;(F{C zm?vXrShnC!wj8<(+<_jB$JgMjIrVEC_p#xFe%ZGQ2BJ)OiTk7 zZJIb>fbltvk38W!u!tJdW?-UuZlG3h`=F+!mDv?VRqD3^_v>+gS#@^BD*V30kMBDE zeq57XQIFq!_!&i1%!DV8At;YCj#sl`Jroa%3XCG?zV`9lKnh9ySCmzc^7+fRuJ$vp zjrgs=Psi`K`27(-`VJ}uBUk{07k4!SPzb5v3qQc-Oe!}&y%+{J@Lyjv3H8{djd4_A zT}s5sFgJ&gz^wc}NZh+4_9X6O@vBL+p+d=9(rg4U=G_#xHy^4AZKbAr|ewf->~HEe-6a5dNi{lpRX5pPE!I(2C40JM$1Dp4Lv zvCrgOru(UEyNSo4iJ>D-&#!y4-Yb~S=|xW<_GjUj><-5{5(YLxhusoivkf;%05b;X zAAc19S)q6(aI#AcANK+-35pb*F+hJ6+YH1f+V&0l!`q-gj9Nnba)v&O0;7f5Fl`gM zRIh5mYKr$(8_i#yi)mL>u)~>?8!gPbP1%Qw5oZ$A429aWtwP`*LAr+}tGER&6Om6j z>aaJkhan^DM}JYn&{ftGFf0j}savRq6q`}z$*Em7ZeW7g}D zeG=q!G&2Bm??+9EkCH1&=1rIK0jyoKMMZ2j)EH{&Vfr8@a~(A~NguzXekN+5il%z*FxZ596!IN<3pPh%_0uCO% zcY-HVegO%?d($^h0VoWEwerB76y7{4&OLD!A32CYpb+AKbv3Q)yVkW$U7J3|RTuY} zFkZNyB)}8K#?tXPY4;}5fXzQa9r~KRn4^01b^NW-MV*R?A>RBuq#eyaXOalZQc}0% z0aIARXJ8ah>_`WY4wfV`ea%gfLx{5$hO9nJsRc!TmYBeaXRe~8qwZn2$CYwehxxO4 z6acEz|M2O|h9F7{k7rp{tjL4&fd0R@F-^TL<9w1i-jE`?Qke81Giz$WRTvfuEw7jXX611}#+5c2Il@l2 zARC?z*^U~vO(63`=7M|@cIv#TeWM`gVE$fGt4;YxmJ%VFsGYYF9nLpR^tw9wB|WkmSI0&94Ana6G5z3aZhX3J&XmjshO`@ zEy+iOn5)Bo$l?Deg*-h%99C}>2B*vSP`cAGpKCId^f(z%J1l1g_7qOP2%Zx z>Y(}N)n`yKa2_h?ZUEvy;dac9sK{4Pg_H9SMaiV{;vVnRr24EfHK`&G;EX`B%}0J_ zL&{_}N-2}so=nfC+1ZM%Z0NRRHg9^i8&o!ZTik~{W~nFFv6&%8^ldWtAcKAbkv42i zo$$3tgt^mE25rx@D=^Hmw?8r!d;2L!41U1ua{?qQim}}EQpw!B!*9cK{$JN%TlyF` zu&s%nL$_spQoGLtv4}s9UJSK4wY+8yvZ7@15jYF!NY1{`cc5Qb4=;i)hn2Dy-bRH& zMkfpac|aFC&9lz}r>BIeGf}8{_E>T~fh+V^^*3P;{O#hG)7a=gq0gPyxK_=47`(sXDG!f#8Ul57&Gl5kT>}> zabBJMBpp!!e{7D%1=ZD5mV_?=1e}1f=GFBJ=hjw3J5H8)r9Zy;zPjv+r(}_(?`EQC zB+C+ad6Mvz`lw*{VqB&cTNA3A(WSbz-!A)yUf6gD5BMM-B7v=>Cy2ytJ7 zJ1>5mKGc66W`wxKLBTd@9FLx0s^R$2a%dEO1@MKA4sJDRcjPlcMk~*u0NlIX> z9;O;HRO(>{D&PcVMRRx+o8c<+lv8?8v1M!P=Vz?kE~J z-;?^z1)LNy_bF1u_%&Q+M3*Ru2;n-ulWs821)l1$_%yt+k4XflqlE*okg$KuQwM?^ zjwJ8l6mocKfsn0gnt+0z|CaPn;S{N2tD=g9&iHOF4=7fs;`7lW*<;>$xges1- zsA7{BRPmPh!y?=xa2FBGX2eyF_|oUklFM^qs%5W&C7yOm?4G1 z9SsYEyCsvQ7*Zzemsl818d&rIbLL4&?0p)xdCzR?U@uF#q3wvo-gZ^1KrQLs$hvhi z_Fu4XoBkBfCwYo6fD5&c@`$^>Lhy%!Y_GnJ_$$$4(M;iE_-sah zA&m1Fuqx0B4h)1h5*M(|yZ{AewcEL{YUksHz9X?7RO{!-BmI-?S(uk-H2RV~TUczR@pvLRV0ZGInG!w0;-&Eey5#M!(eXk%T}) zN-j?E0;I4fp6V}&PtE~`@0;0+X)Mv$d33vQ<%B(VCtptg^>@H33xB57HfVv01u&qk zXPBMtd_#*rAn{*tP0YWJXk%f_4*w%rrtg0-rZIE$JxYxd9Rd@_yD7Q^S^*=7Ddr{E zWx(Z`Y&bpP4Omz*@e2fm84Y+vo3##e&V>}5bFJ@WL*|SryCJ!oE4`e^M&0ZkS}#Gl zz*(bbZD<%6X$RIp^6}IkzG{E5dL10Wx3*;yiT;2WdMt4}@N9v7NPRY7N4z(cBZ>s5 znrZ)-LtS?NBiM^3@er7NrBvD#98k z>dj7uB^9%^o20b^+8tvr_B6DSfP((8{kYB8aRVr2*XA;xpKfmxc4%W#KGx0y`VsWl z41PWqjNBE=@f$q3VJjE7Tim+EKf`Ksc&h_lu7SFF#V#?lKbsHv@t+g@{rx4hs5uC| zvw0Jjo8(^M;j5E-1(83&!&X<@1-qM)+l8l#(M2zaqbQioz}@cBY8uoymekhq5f}Rn zWm17g2W>jQ8#@;9Pa}Snnr8WuVv2>1%7s-6kc(;$PcO@^cox6s@p}osefaIi@89@+ zir*3ZzQivJhnYR_%f-)w---BP7?i)EG=DrieIQoy8wC)r=de@Uv79;ieJkKPK;9P? zSf^07|E!chpN{$O{MPyXjAv_CojT^Qw>iIg3v!Y|C!~!*cn^S61m$hl_AZnu^-Dc< z_B%&ArF!^Yu54JgNSi&cx^A|5V|$&;T$V~|D;w$?>*0=aTt#EGw~(3Y=QUI;nhzr; zh|U(n(5%6`c*MEG9fSQi%8~>Vs_UjmEpYCXdOP;2Ky5>HVSSxey;Q>&;YZ{=So}TF zIR-pq_^@}ofU|@>9c}a}Ud9#tm708{7WkUybvO>1XPjtF6Ky`78F1m|taOq$CN26A zzN;|o^i>?_W0Qn_(3F6OwcVD7HIT1PdtR%$2XHlAML^(Pii}yT6@lYebp#87hlA#- zdh79;jEY)OQKCuF-x2Lxtlbwc&ufGOShr`R^P~w3%=EMISv$cgZ)-m1 z+NMeR^M~KAJ#@~em(6JX;tc)O+Nb$4>tmfR_DsF}05W8i9PptKecbp47>wqHw!0Nu zoi1Pf4)R@vE@FW%@UA>Cgmhxor`WB*c_jRSA__75H1E@{z|r<{gqP>%Hy8JKQf?q4 zi#|d57brN$sLMS0GaMlLU7-F>K9j)x3!gDyz41D}bag$T9^*`XR(dbh{D++pRXR7wx$o8xYz-e|b zQ0MlH79%etZLn;Y+;niG_ex~6_!*23cE%mzEd#gmL26{GX+<6QRrJ0+`ON;u6OZ8* zGvGDzzv}H6^JhR4$OjgS;mKIMLLpd)5{Rtw<%pK2p&x?&C8|OiIHe%w^C5#nFGUdM z?i@|n=j)yQ7us~Hdl!Z(g}swV>dTFnu=4^1tW)$8}wHQeh%zE0$Fukw7li{Ms)*>>#G=^V>&AmP0ArO zr{z!TPTpzI4B*@0@H?gCC)_`c;-o{D2e6QRN;kBO{_TqOl-?J5D1N7KS_)KglYH`v zIp+%;ASwyJHqY)d59Sr8@TUf_6#gtNnuSt{7tAPh4;_cAyA4LSD}^E~+31Vc5r9rjkC zBgeysXJK*iU>>nV*K?tQ;A}uLLK=As_=w{2gR+#nT3fteE)~KJZ}%mi!atWYc*&$Z z!Wk=+wjjJX>yH0|^t=3^6iW)#(rEOFyGgqv zI_b}0zNh#_LPd71fi*OV|O~Hn)g@{&wZPLA{y|<&FNv z@(>Q=O8^)8l`l&{vbYy|59`QDgy(av{kT>TR;A6wHUHz)U$rORlJP!v{!Lc?ftmUL z_AT-cWWCF*{BNUesURjV9sZi<8H8j$OZtbxS9^WR(EnoO-G+)K-!6VhH-yQ04bKYS z6u;z{1$-y|ZAmJA6#5(f+{vKXAx*%-VfhH;C8L^nTFe|JH<_BIjgS=TcshjKuojHy zbptWrNXod9|c3YVdOdf=|CNH@1U+pj?p=&;9NT{f+ z6O!}Q6CQ}^LtC62T4{$Ffeo&s^$V)+%u@vHRW<%rP*U)MloMj3#ET_jP*~Y@DAfWEB=E7 za9zr&WR^8~O7HK6yTsPD&^pf4OzAvt5sO4djl`8p}>{Y#YZlIXIkCYj~`UvjGQy2!8U^CF}gSU~Xrsy0+f|F_(|!T+bpfs{xxdB!L!lpeLg;KdVr zfUTa06ExYgaoVI+y9f0w0OqzqFcjS1doc??Sza8gmHtW-naqITqC?;~O^D$1JW&YERr zT`?XtI-!;rF_3{}-;S~^NU#EVB6WC==p3V8@LczALQ<4A?RK#VU#xtGE2S`vs15BY zf7cTUGi_QNmGXC?dkuKF+yPsaI3CL;CFptP+pu85@;3&HBDO-OK!s{FyuG(-UVu6D zEdUD0B5tml*wZprARLk^ccewKqC%@Gfgpkhq(-%(x&Z)|nNu>~s&&>AzMtdKMS4&8 zdVC2^o`kpu2LVxU+&YzeM!$*TuFK417bkmrE4*32Yt1K%LJnY6ST|KvmqIkcB8%w+ zagMGC;#yqIKV3j#xEfVw#REuh^W%18CkTER9<8&e!Y-wSrOaX}&mALG8&Z)UG|xxM z_@$&NN2u!o7atG38s}*h#v!=h8{VTo3pfATg%%v1@b~fU7zI0SMD=fuM4^n`kjzE* z1INhaL$3G&j`3t)A`;yH#VSOr;hC6~XXtLAN`6-q@8apCk}?c>Mj8hB|AO~pJmvlc1ovECGc4M zTr^4KUBUfdp^4m0VTyq(9Kt+3jnk-xZwUiz#t`nwJsVq!Lv8<|1zb*?tA_Z4$)GO? z2Le6cS?^lYmm=o~<5XaZgG&zdMc2fv`BGGDtSAUR;{pI|)+Wx@l02}iRVjWjMFj$v zlLD0Fd9GWD4&WviYdBBLOHIQMfGrk1!HDV4#$V?PS!FN|@g;bYf%Am# z<821UQyydsLR}p&{)LZ3!sIi`O;B9B^U~<2g|B&5t4MR=5Jd}mOXEG^KI$<~Xobjo zDBq%UV-fuU7a=zw5I9Tu$ov{JOpgW1sh|rtzD2^&{KDE2SsNsx95+9~{aJ&)cI{q; zZO~VI7u=tXr>%qbkt~!U314|7fl*Y-&5ejD7=K746*9ljcJtOSIHbaY#I389JWBSP zUv%7ICikNdajE?Zg<0UY1_Uc7eUS;GwN0`12cxX=|EbES`~@7d-#r4`iBHD_8(cw3 zKmk|4rOg|&vcc)oPUGCh4x|gbBrFBu zEEg63uxR|~tqof-`FmVE&8OW=HepT({pNo+w8EFQZ#N}rRdUZQ+N^UoRkLp%OSnt@+;E%+|`w`vt#g`2qa&>8l5N^>5@ zdiqlsBsoVYfEctyEsfKteiu3s_7Q4yQ7&hGAh$PkEOz+cLIjhjb9i(H z{dl(1Cg>EDL7SlCaScDM_4?TgCz53am%ruEa`Z!&FocO14}AcbnQ%X@2)FXD!qK02 z!cja}7;-X%G{6+>9YIb5BE-SjuLf%=`ea0;d{?-}suj;Zhn9fs+Ol z)&L}aKPCqiYWdA=zr`}JmIch3g}vIJf#Fu?TS>n=MB&a5ov$D|Qy>bQj3?M21e%N! z$8QABvDfS^AG9z!jyMxP72pV@o^T#+6|@@wZ5&|%+cDfDTH<{rEp0(lvcfG4X%T%>kwYCUJWyY?Ns_74kGS_KWh%{Prep2 z0IY`{gg@x&Xwh&^C3EYg&;gz{(kL3v1r~f_(Wq$A5aymyD*j(1?JF8UIcoGGPBtfD zR>en)xRii-*^3L<^_K~`d1fEDW#eguC$gA$=-+EhbLmCU%X(Qa%GY-frZcffJNj}( z-@XnXU@vmTC*j@7{ZtFrr@172i{ak|Q4XNk)1$XzhyPhfPVfq5)TI`Q(w4w%x-q;@ z>ot+2=~lN<6qM^j04>A^K#wEWh-cN$WLO#6RZdv|d%jsC z{RQcdCvqHMi4{pF!_-PI^2XZ*?-LI`l9kX`ubeFAx;3#PcW+0W=b+Y`_-nY&u-8@m z=5o%&?*G~AQz!e})EY$*2R;uOKXD4qsyYRz>2$uP)|ZS;NWiUEA28>3*aKR;fx5?LC*Ffw|UYLFd#)>D@@otPs7&T+9(Q3GTHF+SAHIJR+ZGE|^=^jX;Y zV88X{h(i`o9s+gW5oMj#5-3iaX0wifNC#w#q#sIKS?#mjmOrRD_93oZSwZvj&HV3U zj&0WuDJ;AJSokFI(i~8Zed`}n@`7(@-~Y3LJkDR!?Bi2JE7L|E!e47X+xRgI3~jge z@jpNaKP=BXw5!tW+7+4dL@35hw@~+l*UB5E&KC*e;h1*mPol55){0&F8=J7zv+dG_ zU$O;;x!{=fgU1N3wDy11usGIQ!(vOE8EGGQm*Nh}6 z4EPTJM~*Zmd^unwZymrj$%KD|mF^>l)-Pker1)_JtCBnyF^|oUKgYIO2K=_vK+NIi z16ja*k2qw{cw8x6aG1|Po~`>2`aI!-q!JLoK(D9Non%L^9#1w=o7a368g6d64howk zE`97wcB2ZgP7;c9((}4AsE23;>;ZgDm7+czFi+(rULtP~a-LlKnamR*sbGL-u#R$i zFi6~f7uON6vn`PRrC8Z}zk*|sk5jDd@5U)smIiw1tgJHF_e4HMUDk+z({qTGfa+H8 zxliFE_}nlqN%;vh-zdd9!oAbw{}Allrky}l3>>5$p&o`U4@wvIkQ&Lv|Ldpr#P4Sm z%>?j&H@97jt@e{@`Z7lD<1&3`U54rV`s&pDwdV^o8eMvITgIU`Rc?b22zbKRqQ}v3 zM&Zopa`Kl#wKG=-#q0n_&1KTNRNIAnfmhIcx;{HuL2@=AG3S?ljYBtk$B3N|2UNI< z5r@oEpYQD;>tMIn|1RoNE3!7oSp+C3)S_Hhtx8fal4P#N<zs% zF3{VmHt~nFiDXo_#VgTIYM*wT0=bePKMF~CqAhJm8H4@+L|R0rb#+){p%V%jiS!Ym zk>w!0qo_TgCUBlPLx7VG3Y>&uVuh24p@<2kPWtu(GgRFdvhLBW`#nqd6x&q{L2CR~ z7W!x+#Nt`EkAq_Ns?P+-+Rr9OEghI=KOyQ^qeXu&vW?a5lYPpZBqYUvBz_e>+k`f? z9@(OXl?Nta9Ct+aAQR8Mpj@4|D)JJGAnqxPF3-k(VH|4RM1-QgKB&*>BU*x=LoyJ; zyWr=bN>}3sqU)YTNSt_61hStDeTkwoWtPG|*S-X8YgrZkAx*lZP|d~k;im(AgHNzh zoC%+Wf*`K&gh{3zC*RThBX;!1tG3^mJ*rLXH4fE$He!#y8=QIgcldSQG6aPhbCt%=hk-kASx`td+<~~UhbOo zQ|#1(Lr|Tix}q13Pin8E@mHz+ewXE+_TMWX$~J|vlEeyU5X4yFOm&%~E>&`I4tfxf z16fGZI&Hztb6$o_q_7IM=dnUro$NMs*M~NLwKyZbGvZ#GuYT0M`iyE!+v;rR~oNd=rpC#l%zchuHh#fqRC05^|S)tU+)GI%NV_or9X zYK8R+7y1#=L_>^*%F62MDn@dvUhG8*1*y8XLCUxW7FZgQsn(@6dA=%k@S=2mJlQ|Y z6b)DirlI=l-yXn`d7g1R;&0t`%~&8_S(Wa8S#d+wzsAdcBR;WJT(Q8=Hs!!Z$UwLtJ3to&C~ZM-V1BAGmA4}BWtQB0dXdIyvR zcGxGg5gtRORcn-BOO+?p$^laL=z~bky`L*uvJ1e_#Z;a-;6+O((Gy+;1h?GMmG8+ zU>AHO&t>7`z5lTAQJZMtQ{V)Jlo7FDE#DRIl?j{=4NnKI4ZtCXz_%_R-PK|~49-st zVPp(57nZWOMm#NU3(+YYjcEC9bLcA+1Uk`-iN&7C@l2|Qs@p;TC#bG9FEH#V3Nz4Q z-UZ(WC?|du+n&M~V7nSCq)}tViHNy$7fP|liYf#4L<-+XyI7@{0ZAf}&4--njcvC^ zLNz$weCz}aNEx!}2x#pIx5KRgNQp5VFtU;H5BVYmk$@xX3BkAsU>ICN1gJ^qG&bUw z$YKK#5LNAtKzRR*9`A{XOvP%URIn*>2II_AY^d#ixp=ntE$WK@SCQ4k-Se%UbY3o};3&JQ;H8S*EaefWQt&a7T7;^Jg{?DT@^ z$P7@5M%v3wuGsa(e+Y7E6b(aD`&-nHIVlqW8G#WBRmWVuht+IbtFAmA z=jQ?DkNRQeZR}Jr4d6*o4hn5`VWFw&lm-lg;wO@6PKXs1v(I8hJo9tJhbhnifV+(q zr!@B*LA5*(F2Ipz-q)84Alkvi-oG6?@zqGIROT>*>(Yi08)R~BX6-ZSERH7<1vJ=; zulH;$e>moUFbLg?9sbQOcUEwJ%MJv*b*~OSQ@X1B;X$|T@IQ`EE%-fg+z$VfC#>?X z&uF+^!~3A;GMb*q#bg!~;B&qK@K!ef?~_WuHZ#37XnBGw_ONjj%~i~J5xSH7iwrhx z&}@@UJ70&vZbRwF-QWBfbMMDuYwJf4k!I080jntc>$bmRb;8rEFG2G`Qsb^CzfOud zj!8eY%0|RtoQngrD~EuL|=LvGQkg2QK=F+bJz z8>eH1OFvxO&by3djcusL8o3!gM1}?v-2?R^nz!1jQIt1q4R?`mOh!I!XY$y<2~U`t zJM=OKCAd+|r50R;6HVj-clV^r-_gHZzZhAf{eKkeOAz;CT@~n{*N9%GY9s6gzoCC? z7Su0MU0Wfc`eeh}fgXkq%%J|2C_yVlG@Js9_LV0>!B6N5h=K?QZ+>maP0qEM^acP% zWkUgfQn6%La_V0g`XWd3c{a{^GrTX5{m2QK6T&&j^W-+5nbSN0%^R^t&5EY2KkG06 z$o~fNZ++yr#FH{ki8oa%BKw{qISPD`SuVE-=(9RZ<;4AP`3b51n}WY-Lt^v$ZI7uT z>D`PWp=$4p-oSYJzy(?zvwv&rE42kf(ha_cDVs(d1M}QPzVjGLt>HYs5P2~iA%+gX z(n?NP()m>BMjqGW*pP?!E_2e;9Cg{bzK3S4T<$&*LKIK)-& zKx3aID%+&q4Q9?dDM_ARfn5YPI_)m-ZBkvZ6jxy?K{mK1m?bV?=Tn$2>`-jQN|(YZ z$-St!KcLXY;pSA_1j6vtd3b9s$akQh<+vfxBeWlm$}FJ12cY6L0E%b!z2X(@T#-T@ z>g7~I?u;o(*z6VJ&pT~m8E!%;P1(^NUsXo&O#qm`a$Uh2zu<6>GG+a-xDSuAEQu^>L2%$oNGN1$OqT^ z`A6%y(!+5MwfT4(#H--)-Hv5BA&;*kcydm_wl8&@s&-&VEw%1Kt#Aai6CZ8ae7>}W zOGK|7Yz$5dw4R~mI}tj`D4Ybd!rr@k_lhr;o$)Su6@!9W$m3M!fZ;3fKIF+3Uregi zzXOo*1<9V(`8W%Y9rcr_IpGC)$NY&FNr=hoDSC!2W53YX*;;QzFdxxEAN@~Kvfsfz zyJL%;G{xqCe1cU>4aif?Rd{EPn*%?x9eZDP+?brEOwNZS4<@H(7$paw3mTprIdtuv z5?jwce@QQaJ!_+ANYxkjW7NCkY}LzS(jP8_VD+^Il6W|w6{Bjcx?y2$edF0f9TV%| zP^Y%atDW!{kO=!I?vBYQ_0wnVkG3Hp%N1#{wl?bQy~Sd4`_`;hFY;# zWj_J>I0ectQ|q;g1y%~Ur@-z5qDWd<^W#Lgt7rfm*7xN5^h_mz1zPQ*1qjT{DnB$qkmmp}3)JYF$dcqZ~Z}i_U4uSp0rv z_}5{7q5D_SX^#IU!@pkluQuSL$NyWy->my@g?|~{4?o#0x__-PVMyqR8*42n4{vVx zf!y?hvZr-(!ycdyMIKM$%19oQlMKfxLTP1fj5$bdN%hrUrHeJMX@+pNk4 zq2Cho-&Dt}Sg0(1igJ}jE}97r4;{(#gbSqNJkJe~c>oga!lVE-{44aBRaNL;!-?zm z@?zKKeNrtiiPby&w#*bpaHmXXW@3``}EHQfiQEG+>#CHEqunEh7+yq^~bI9uR(R5jT26n=MxCS zD*qqw4%P2J%qkw6;2La2!}Elj-8Z{@$} zAbXX6HBRf0bNkn^Qm_eBp_52ANAI zQs=fpB!mQ{j7Ae@3FOXt;UvAR_)w7>nwHOD*gBj%6-?BPtHCZ<@2xr7285eNY1b(q(ZVT%>Z83Dhjrp=3GogA?SfYc4Xwh zV71arLYF_zGR^1+*f6i*v^SdgH@+h!jO+@7eZXLIRJ#+)vxVwdbD7XbK*6vP)j6Rc zUdN+*4l!PK(p*6Mn_qqHbcl2u7B>T>joSC1fSTFF_!)o%g8!3L0+;UJ8F$MoPsE9< z)i*HTZcpqo{K1P0eID_y9RD%Crp@+rpa{()fCiZbKAZ$_Z@7Q}K_|&RuT)q+FzO8A zKfQvX?2Qvn!SQ_jOr*-_Y_=PONtRFNQ()g)(BEI@@76 zBg)1Z1;}Wv0vt~BblEiq*q@XvhjM-Wq%=UE5gGG52)O`HkwH;z4Gf9Hr@ z{}o1TJJN$P*B8{8S5w8Yi<>3%09p&rWUGaSRetWNYA9d3+o{bwU zMwlRu_#H?VI?`J^3x66;WN3%T5WE5V7>yi&v@pVJIU$1NWgL z9<337mY|%z8p`SCiL}A`8|64IL7I^&J%tx>mOmyNL_@nkE=x`tlSNV(dC1D}HWKA9 z5hX#M$gS4vaE>E>z`Ea><%rwmgZqlVjQ8wM)Yo!6p0``i9mm@|^$AF$WUtB1YelErJu0_^-}P7Y(wLTvQi_t4Z!`ZbhKV+dzRWIGv<@;v`BYVVjt)u9QaH{{C17 zpHT_#L7VyzW8eDZfzXOcpv;WN5Gx#nceo5u7c4olOugpWxI1*TrziX-(1$lS(_T7s zw1;+?y_^TWnV*0JB7GQqF~w3`g)1qHdE8M9#iro$*8zE(Jg-wYc>oqv0dpS>-KIYkSF5fM*kbuB3*bI9^O1xc1o|6m$1ImL%W|UE*{# zpAku1cDTmZ`azFXWdl7Miwag1o?=s^UO3vM3&1W&tlj$S(Rvtc35k`c9rm$(j0?r9+Z);(xFw14gdewWmo$Wq z)M;g7NMW?|Y&O#qeh&mat^M}&vfF<<+8?LEFK~~0QsADtxOj;}sg7UJ8h%k17ccQ@ zd>KR1rVSiJ$``l^>4?%ur!FpD;$u_^NWm}a;^HO#ef5P%jxXv$*BFj?ZprjrZL84Hk?MOsY8!L4262Dy4ND_@N>f+)h{!{e@ zCRqHUE-qf;gVh&q&hbTET)f2l;7hkO&Zci&>&Mj8E)6W2T~Pz_HXFw|S1LCaLmjpC z68|L7cy3BVL~Scm`b3lug9YuUCf5XPmdua#rKC~_#FFkGiRGxYk_b=$Jc{qr}s4^A{I?e=w$CtLPVY{IZ_*96CNotuy) zP3WxuC-%S4M;HH%kXoab9j}qggUJs}Mtv|D74iBJ9lKW1Lyx}#JqOjk!SfN3W%#J2 z=Vbm#>g#+L{iFKIE335(|Ad&9lng`ne-?f5fsumI|}@&L{VnwW=9i#&#`65l*J5$=JSO?B-(I834K6*A)`&=sCO7V5 zMNX#Fdm52E7E|OhBKdOTmX#{ji{Pt15Y?S#$MaC((cPoo`=m)uwj%> zhpsm+d7RD7sKbWKyz(;WmB-C0UiMk~>)()nX?p%2s{Dh#A^#6l{oiB#qmV!4sOxOd z4)ZMiVyRjNK+U#m7XHrHBp=<|vv{LHCHbS%@7SvZ#eM1UC5buT6*7;`li(KWhd2j%I zu4J68GM=kyJ$G=`xm~t;!&&UG)OjiNAyyvPC4ER=D3N^-3W54HtC>F)1h~^KBr*eU z(H9_k{Ej=9d3GIbxhV`EXYN@yrbXcSVZyuaD^F{fkmcIrMCrFf4Xo15{b3uMHp zmfL*oK2ZLmsY;2-WfV;nkM(9HUXOVU&;S98GuboWbKjJDpJRC}Oq;8VxQ`2=z%ws)Zq zKoI&_YTg#bW6?|Q;o|2^yw|yhFe$p2J@cz8ubhqZiiXTCB7VcxwqbT{UD7w~^rEs$ zy$zLPuz8kV^PV}l@l0>U0!+ZFWnSgqfr`={@clt_2K9B9yJ&e|1bpZ462(9RqK{hU zS1_BT5hqO^g$&5z%S8@k0IQs!-0d5j>}4XIjUnu1l+RNEw|TWRJ`bw9+q3``2_^zn zVA)x{nE}&aK6U>CP%IE1*E*~p0;iE=`|nobG$+)ef15P*K{L7-m9?*^@q8OsK$K_R z`T@ptlfn`>L1{IAkJ1E};h2Kcxv$7*p=XTJGB6wdIn6&mz`=4O=oL4l$EfcB>!T!P z2EHh&tbzUN&}o07pxeAjf4=t9J=CSLct6swaARS_SC_3A486H%(Ns|jK`kiOJz*cv zZOpyclkcAfr~`?aX%4QinIKoS|2+)m@61aOb5Dwe+T>5yB_n2d(vKIB zGbt>vOA>7V1Im#28%Z(dsc;0rK4`uWHEo`WPBKppLUw%)-W>z3C>v8sh`L$_?K;;I z`l1=qfIM>`D_;iUo<3gR9{#Swz6JPOzC(1r zq?*8d1hT-{{NSZZ0~zfR{SDO|k#X~!Zz72T#HO$URT6LF4*Ipw4R8LC8J{TMeK?I0 zjaNpsYB8NkwB$AKTZ4Ucs@46IDD1gm1ItM(^2DX53o9r#0sUovt;7QMw19HQr|3LH zQcaceyB5LF;2*d$4ghoHVKA#gq=BvpHBI1w@QPugN=mqi*jK%YK2Gsoj-Vo%KD_3X zuyFpv{a{z`MB8LrZMNszZprSui*Tm3X+T;dLZjNj6hQo*2(E^?vNhV~i-RES`zP=( ztzMr3$HjUHmJIn))EfUa68;E|m~BTMDgFrljIpt%cb;eIr)LKQJ^DWpMgqg|R}=@E zrlW{_ne%&WDkFD8Rsf8Iml_`#e@hK1{m>#d!PVZ1Toat;@Zmjig?^n}^9{+J;mA$S zcTk5T8d-;uH=ov)U9ss*Jey%pwy0-EAoN3=2BRo1G|zPerLyat?WOLO@6Zu>>pOY9 zx9PL{!^MKy<`|_j$>2>O8T0{0s7fk-&n!-Q2}~LsHAb?@KgI%M5FJrGc96@ zj>fHvXtHwaNDLYF6T}l3gyfk$cYj4?k#HL_82$C5(I~-hFB=(~AX2E<1hr+Ipth_N zysTaIUTgw}4FgC0v@T|0m-B9JZC%w6rR_rwhAgq-hle`&$uYKQws>W`$je7-D$4Ov zry5d8u?J;gvg@p=fIf{V3k_}@9Pl~@7Vr}+41Usa|C-8grI=eEK$UPSyr{kbT0nuW z@T))eQA*QP>6ubN7v0rP2YgUzNk<<{7GYK_yOs;Cu$h(bK{N-UX_^;6p_k1E-v*tB zIMHE_fE{#VpKN18+p={f*8*>S@)IuT&Rn_JmMZ=N-Jf`*2KxEg4*Y!$Gu8h(rDBaQV4FHl>FZ9nQmvF&e=b7a_#}L| zi!;kuP4TLA#7;5f;XTk8z^g-B|0mFAQx8@Y<@>uRtHmiiZ||1dYk0d(ZiBp?GZT^{ z1~ZW36wJX@e?mE&v?#i91w4H+oHU50W7r0e+?eQi;nN0Qok}&}qf~jfFgtwCTRY+l;hdN}F z2?u>5B<{^gI1F`&#}4aIKoH>}RMJeXC3B&Ht_I++Cb33Ifh-)Qqqhc6%DlQQe8q8s8xm`=cWQrG0fXyB zmdEu#T}1%f(FUkaQe@Mx7+%%MuSb{fB+s(|#v_2*Atuu4hJoZ!VBhyTBo8tFdU>F& zD2@7P%?FNz7dUcj#wE|Jh3EUtB$rrt^HN%V3M>i_R;~HE9f#t%pc zl;dqv!80XbALMojZy)K4$q@QgL6&xoc^-n~jTs3Mh4P~e-fIpN7ctlRSVPGfrhhET zu8dR>cut~;_#Z@)(*cG8*J<9KAf%qi?~xqM<7|T(Bw+7@^cNWA>p?sIhhRU9IRP8! z6Q%ek*}#~i9;wA`2Jp?Cp~CjTrG+Y;?EngxLq3$g*pQTKz&VN3leo)5nskiuzOM-H z99+$XuY%;h2<1$!-qom*fULtjk5j@4c?+LM-6{Rqll>XEiiYa10w4M1^z<*MnC;Wh zW#^;IwDZSYz{{{PXYrEXeDq&fm1c87+|h{L$88Fqi}BI?7?~&>+Xq}9!^ z*p($7v5Y~NSF-{%!@~E(?F(uf5ripuK56Z5Z2vuJiyv0Lq*<%kBtwtQ4_w2+P;3q$ zgy<~g-KY7M575D@*})e9=EOT{UOHBHIltA%A(^}r_AU^n&#$gnG`ps1VMSf-BJR&E zQlLUAWK8f%=quNOyjYB8ihq{<`J@;u!|)H9#xZ}3+%3oHX&$ksH`r@R**^xjp^H6B zdd70tiOA3xaKov_xeHqX@e@fLAu5{Lz*%UYMB&q*W$B5=gkg{!x)c-bG@F*- zRB0QeqL&*J3gBZ<8^f*O1YfLB4K;jU2X+OQzl@2oa}~UuK)(HP{4`V}r;D3;5V+}_ z1Tgl?yP(JXjxiy*D|-AS30A0jEKINHqAB;MwYaiLCmwlD>UTq>Kt zg+yl?NeM>&5mRb}YhX~ix-y{&7NNZgMa6%pNJd9tz5|U$b#5OU|GzJTnyocTwlMC6 zP%{+#+WQtYGiGfe)|H@XaoU;)zieJI#iCiB$hoY-zlCiQWlzBlU;GW3`p{8*ncbW= z_1Q-Ae8_9$*e76_l-46Tol5}SuB}MU{+&n*4M}{9`L`3>qqDZh+rc-GqWRtN1Gr7w zfh4DuE&qUjbjU-+s&6@hv*pPmRg_N6l)bK!ZJKMO1G%Ve>lE;-`N0n{Q%*x;%zp4Z zm1r}1*~6Ao)fwgp`+6=e$SY(`>+?5&O)Y>#?C| z$wBnMrqw%&vK>g7cn^)?0ft0s?P#B<{P}b;@dM_tB70#z86zV-i#GITv_{dFX9FS{OF8eYUxHJq-P>fHhL?p>T8VZ7}9jXxh?xXrhL z2s}kXNSVb9{9>P%TK3ZcSExE4T0CxyMp9I=q&}U3mk*HbOTKL4Y?ej}N1R;Lk!PNU zank);r~0(PwSv zocW*Ml5}cUWB|}#%`dc~-U)+P(;b<$& zTZN&e?F*2=C~sz;n22c(_xa#3^&KnDvzJw4wsZ6+E3)-Zj9x?E48?>iE?EzRazXIo zG*1gMR>pc*UA+S4)D}(~B~U7eI-kX|7BXGNQfJoD(R%}*#^+)X6{>@9aHh!_vVa3A z4&I>s3YHTUEQvqs)epirXGD8zTaLapwAG{g?+)!h2)&>3yUq10&^&F>ps4#4#Klwm zcPQ>M#yUeExb*C-*yxYpadDgz#;NeY2*>^(-9i-ggjb`Nlp|F-QEldvZ9x?EZwK@Q zMREOkXeIz;M*(Y^ZH&QHVJR`EZ6+tt1|Vu^`G$7vg-f>UB^!+D2jlb5rB!$))pm3TghD79UPV;XB ziI!B`6Zfb17g;a##r88RJ8Nx)9NfH<!#JF&7?bs0v*I&g6j5)kRNL6#S$#g;sOLL@*G~Hy3^e zEb)TjG5=iyENRwft>@YVrr*E8Jo{#$v-8v7jh3%Z(OC?-6TP5l9qH_Y1YCI+5S&#_ z$;)Vpv;!?d(*9=Y&uyxEKJX*vCnlzMPqe&QQQVtwnwqQ%71*JK|&C`o^t75$aUCBy&`^)J>I^nLS$i77-)jT}Mi zNPm0d)CnU)`U|t;^1XWby0`-~j(A04+)lAY!lwd=1T)1rhK1ENB@+~B&q{*04ps3~xSCg7< z8Tw{mucBDAOC+6?bu3A?;pr?3uk%3YaLG4K@NW7xF4}vQKVH8`(WB1K^+Tk;rOvGK z{LwoDpQxibC|JSaG)r)*5}>N3S2sroe8q8&mU)E0X1!{bF0<%s{`pCJ?Ie92{jr{{ zsOtf$Y+?PqG|NLV^w2fAY*P(?0_lfVg^rSDA|@NT19azcf{2$T zp#XG>c={CtNuhu}?q0_kI6){YcK7 zefDMTwbx#I?X}ll3*Mk^fQjQR@Dv3rxg{R$3lq1)vCS%9SOqOjm1k=0ZA)$pUOaYo zaOo1qhH`kV2iMVSjLP|*8!MLFSh)ztS{_8oG`KIDh-y7S{Fi!JSXC38G9`Ff>CBm) zMN2)}pBo8cG%Us7?E*12>u_Zk$Z=loei3UwURG6k@r6-&@G`&FhnM>y?&IYS`7#|Z zZsm&jii7|K8qoVbyGcj^Ar?fx0)lc%8<#r+nrpT@LavfGK@wC6sMy~eT}mGu-Fe5< z=st=krYux!7l@pnaw6 zF9(XN0Vd)e*bDm)ztZ@N@g9e!FE}d&Caf~7(RSQ>YQdJ; zDVh3;RK6b|AJHI7v)BIg`#yqu7Rohj34+S9b{1@@d6hp}3tkJXPD18LaG)@Gdj0sG zckXOB(rfvYj$yGQo}3D>+uW?23irQpc;`Q>5X*k9ISmdR^UP^^R^bqH+7PR7s5uSN zw4MA(>U*+X^kY2?eID_PZIC@;Gw>P0U^{b34NV9=a+Atg%#Q`%KGK5x+?qL^k8UHf zk56P{P||K?DLT#s{4{C!K7Jm<@8>7ttGX%jMpfIi+zQXZUm7Fu!J3wL*VfJ3bMM+Z z1tWE*f!$dyGu()P2Z_gcsRd#o@Lkmw%3bJ5ekA>M_BTUyfHUd@X5}^<@fyR0Rv~K9 zohQVtpWX%o5YoeehOI+I?vwg1tcI&PYl?xtuoPKkFGTcfjO;(Njx-z@8o1j}qIs$Q zeXc_0PW926WoK>2*X3s)#zcai=hVYnJos)5dWMgT^EPbX7w%$>Rx#Yu*;%a(M^Wo9 zQ3}2f-eaxUSM0$=0*cnOGBjH|UMB2}6fHc&VsY;`+0qDe`|!`72hzbQQI@;$zH+$F zo-JUwm|+-C&=K-=AYbwgO}4bO7EVd7E(?7-@Zw{rJ%%L?#14=qA$z&-U|o`ztk>lU zB|DWU)%61x^8N|Rb+OJ!-#qF)AR6lSBJ+q=m+C zb>A5N(o#DOx8dos8*xBaLIDl%YEq?VG$>(36Djm!6;hAiozZ4XPEG~T>-Ttb)Vh)N z92TAyIs+g=f2W4kt-(DJHHm->cG7Xh2v|2c_hUeXU>czx~OoXVX4C;eWgH&m%5cN8Nc4BsIHtiabazF<Ax=H|I_S+!>3KE1bi)-wy%b_^!PEZjvq0*L&tO);6JrnblOdmVg1;&Q zeib*|(Z6+qe-$rumol_WYpA;c+0$Erd@i2$XU_oSS9SjsUWnp7l*K5`8rA_Ko>H=3a`Z@ z2WNON!;}|BorPj$*gGxn^-^(VRRq}OtmS@POU`11g-q4b#|qz%sXV6PL!Z%rJym0W zPdwZRuMq?l_Kx7Cx}1(+DlrwTaHHOe^@cAc6zDEz@-d2Wdj{~H-ej@80{{Ms`RnWf zYbtRAU_Q4O%WL367Y=DT4Hj3_+|t#4js7JWKZ^GG`G*4Q=P&@hk8z`8>_bl7i`fXb zi(bGgvEj&_cb?-+?n3mp9YOt0WK1wch3uqWKfr9MyRv_bvEisVY?f(vAuV}8&L6r; z37)=ca(x|7`(apBC4Z#3suxHleC9Slc*5k|K*02d++J8M0b6&- zWi^Q)N_R6M902kOz-a{F7n%MnSJ0Sr3yn$N0Cn2i7pbtuhy<2t!N>I$A|OeSQ#6zQ zUW1J(^vl#VlSuN0J;)OPP?q0behV*S6`NPiOg`S}ew{P^<>gDOs=hJ4+;!V1%~2NB zR#x6JLT;VNA27?&@JNi6RK8$SO8?2Y7D8vEnsIeH@1Lx~!*U8jJcHP=TTJuw%+kF9 zi6^c%{v49{tOIRD(?KgxC)8EVJknNF%oh=?RPcth#Z+hu0Tgy5-8L!+tYc>{7Ppj@(R5Ij@1u*qNG64^RU4{R0ZK=%D`jRDPJ3+-9jAy)@B z^oA3FvjcZC6a-92u@kEsm{ZXd#2hY3h<~@8m{Y;;yYPEVF23Pk zIsQF_e^(Fc{@)Y&+gg18m(Ftv>KTcD1^9O{{#}EA3-OQjoA~F{1=vXny@4294+T!r z3*vC#MhGo4&*9z4-8!WgN+q|uU*6F#_^{gc;^I0^pNHx+nRKcR`xF#S&}msZf1~|6 z6nn@&K&Js|IC#-7*?ifY&aDU+iDJuzbQxQA1xCtswkcHwqHtyAY9dt#`TQvBv8STr z9REO!PNZFJ*&p^r-L(GDi5f$Pxg!!Bu{(0LATvYq9sMqFWT`IY>NEi7Nle4+bd})@ z?6?!@FqU!B1-1xwVTs>D z`uKI^huseq6(+#9uJlg2Diny`jNi_U&)BXz22CoxKXA`jBu;`$zk3<*$||3XNpT83 z!bqw3nUBzfHGBHV?FFrY)qmzmhgNd!N;UN?QX$C@7|<14+=!nIs~WSk$H~CmCcn)H z!Ln&tZ+=*QslF1xls*DyWK7!(wJ3z6=8VbKtVVNoNY%G~hFi>HVT3 zx!syE-I_hwx=P2Ak5bwql6d5NY##hUTs0j%K`i+h#egAs539zfCsEi8N4aUGKi+4= z+06my1q96xum=0_R43oW2a0~-#>CmoP4*&Q(Dd+9MPz@8X#}c%5732?4@d%{z3za{U{*KR{ z#AE4q>BK|oT`?W6y&JqD@%&NQW^!M~1)*GS1S%OM)1fqU+qKxkFQ}-2h2rp9M0R2v zD7Dkk`(wzX^vCYrNOswdK{8=~LVyoX-&*iRJpHebM{*rx(9-hXVS(MIw@=Ex`8fMV z0hyw5WjTf9T5iEc2fMkq+c~4i*Ojt+7U>%6pPY9N6(Jd&Kv3FP3l_h~T%})dA3YIZ zB3SMRV%_5u=)V-QUm>sWPq`9++xtto)R+P~ufkolAOk6y+gg zVa501X_q|?3|Im*PZp||!kg?L&taQsc>wm@2N2)ImQw-vAkO&i)@N{kDY_yJGvlIDUl|6%JLb!nw{FfQ-MwADtVn z@|y<_zqUDf=B26gQlg3q4h%U-5fBjyj5Yz2V_G|br5^@Z3XWG49NV211Qk#s2`XIY zAw$s^oUi3!#2Px_PdB$Q{7K+$noM*I+qCi|(ZRM4$*JJK_w_&iUW-rDPgZGshwPzH z;*T}WUh3M8) zi@%XTuv;^7as&W!hlbzLuh^4RsYETlbt%9hBRP=60a6>6DLPb-M|H`|%H4V2!vZK* z_=^~8vmIz%iTzc##T=aeo@*>ez-)zqZF><6bziAJDwrB0UFu`*OuPsfy3``HrS27o zZE5UKGm8acFp%#^@P<&ABAwwqAB}^|drL!EnWmjYUT0invwyVH#e7Iyh!(o?3(Cg2 zZ;2luhY)jR4KAueNu;JN`A<4t6Mga@cRs^#HHdM*u`MPMF|9i-Z0L_SXR;w@KEwVS z8~bbFp+C#Gs0$8I9mf?DTvppVQ3+iyC>}826wu^QE)$A@ZNU(3%5OOo-W#L|5YF6S zIGcP7slP&6Ze$(!9YIPyApNYasjRNRHR8MkRf3@^2|VE{Df-X|C_%{9MQ9TGaD+|2zn6bU)r(7j!?~l%_0{f-mRJ^w<{e zRG*-lHX%T@aoqYM7p3_B>x%z};Y@_f!OKuJU^xiqsaMz}=J6G=X!*67W~W>%G&y~7 zD#+T9Y|#37lOmt4>@_LU ze#h6a+EPs9TsdthTAz*9(~2#@j~O}8c~*dL$gGGXKrjf>Hg9rf1!5wAzUIKdCw~u2 zhpfJ4Yko`LxBG6t7IC~%^w-Qbl@V22crAY8bcc#jiv6=NLE@30<3^UA7OuwA;{&%q zsrjwNjMuAt}HlY!Xf ze4VxL@Mi9F0?~NgUt>1y zGz^(D(icUaZVc~8{!%lM(larQ8xKNGimCG%%tss{)8wuc13g20ePIO-bSm(d9V`1w=uA*#$#-b zJjM-{NB&9jI6q4s7Yvoh_(Afx@C12$<3xFU^Hh0EP>%vt^~95r*cJ-WfofZ5G9M~% z^5r2FJK3DZRvU`FS;q?$=;)U-_DR|s^u&o0priVxnrd}K)y*lFVcZ6-aXk)?Sc*$l=%FomuVH z)n53`di6Z9iW|t&_G!5V4dVczanX#1ZT?BC_SU=sD|k!^oV9ExLl|~5?&WAX3f*P{ z(lIju!nJ=nT|%P54xIQn1<~BjdL7zLg>_wKny}LACF6hL@Nj^H3@3dZq45aT9;lz|iBxO@ zh7`2Je#Gr#}fae%WEQ=n~0_$LV>LW0t64;YJ zvge*l;*0cG333Tq|CBAsU_oa8PE9&0hk3fmeRx`{WoEHqI+=ql5-n_k_&L;m3>)XkH- zoEb!h{rcx81){hd$_ulN3-Cf0IK$87ucaHFwr{u^;giq7;&uB&U|nyx z2*fTJ>5MBD`TKF#C$PTVs<)x(OUYfK;&|S*ac@(@ge>Fh>RbH2>m-MfW0lNY_bI&! zy)|;Pbm6sqv23H4#H9m44~lgdUqd(KQy@ANWUG(uuqbLH!9Gl6%Ien) zAyJt;x`35qH?Xr8PDL;NLb1bpZ9H1P7r2lsYSs+V*N4#4;~>KNp(bc`HSI2M_t9C#4kW{hxa6KTdAY&wqc$?aI?TOSYDgp0ll{60R^(c z;P4xTA9DTS(ldEm_(OCjPn)sn8;@2AZT~x9(Doi|B+b%&f$v=aG;<--@*8AJ6)h&P z-WNjX$gsb0*1XQTOx8M{Z`ZA>B)k z<2od#5)lbO>R!gg(meR&9*>MZ)Ns(AF2EWfR7+apao-as?I^W z&b=UXoFFsbBgmKfevLvgcj8c;$lXvX=U|=qW6o~k=&iu| z5`uGER^OY(FIt~RQnAUEJJBCt}3n=4+G0X1Xk4?MRS^zF3=jbaFyyhGFc z-aw3z1g*$EY*%rE)#f26k)-ZRP$I^$Oa#))0sMs6V&gArBjErE_wJU>#Xd+ECvd`) z424;4ADy{w)rTH=L8njzwvm(7K|DZUWzcQU@`20X00s`ccxyO(z3XoocIz|#|q61SFkh2aI zZUsBg=wF%GjnFqjG06YI)Bg4k!3RJ=sKh!y@mrLDdx57CKU6<{D~C5xEXLO(!Qs58 zW@1m{BC(_A<{oEr$u;0)Ev)be(Aw~!7nZFkCKVD1#3PJ7@YDMw@^>^55!`Q_0MuZs zN$gltDVF*)lBoG*eLp~bEC!6QI$Cxv83`Jgm1k}_G!;}3#aqXvxZ9()cF1$7_^$SW zo}D)Tm}(RGB6|~uP$?@v3s2G;8xS0;1_q!?&XZU0nLthr9SRNeM$SuR6Oy#A93j~n ze~oM$%&Jp4n25B4_vCM_EM!+e_@(1%Ad>6Z_`Oh6r)pFU->+(nUYXG_Jlpd9`1K{u z!FN_U6jfr>>ko4_n&0s!U`9pz*S3(HxUer$OD}X5h-d5b1T}snB=(^+Ygx@RHsLnT zF%na+N~Pj%F>E$sjGKXq1#jXkoI|7snYFU}ybRXS#5s^yt!w`$bfMT$P`RS4ZDM;O zlL(27u)1P<&(}G^dle93AO!T@gbgd0N&P&32YQ8-AuDku%CxDO0KEX_6zfTCf)ot? z7Cb>%VkBZuL)_rxeQ2N5fo`eTP!}thNTp1hk7^S^q@g)$oQiN~^xqafIN-?vi8r7n z#pwbJly^n?SgZCyFz6*x0Zuv+Pg8{o{d{R&-9)Uo-y_bjt`MX^^kIBNC9q3m={+bt z3+zXi=1gS`%aN%`_vttt+OIogN4^iq@>~>v^W5r)QLel+dbIuz{t2{w8@B{ zALatH>NKtey#>Df!Ethc!_S<5_C;493$~|aM`)ZY{H#=D9rJ^Y9HTbR=_n~XQ)fSo z^;+Uz&^{KMTaE%2C`u%>1GJ~)qotgdli^#ra1qjRl|b1ZyY%-xmH%Sgzf*pM?5Ta| zHR24z)9E5*;+-`YfTWJ>VB#I!V_g=)S&CKqsX2AJd3iC;+){RWO8*F}CH8?AT{*G; z-i`^qr?b%Hde77wa33l1I4p}{&Z=egiX~si0kC+KPl;FbRl_aciZQA{IU;>7tMnjg z;S%}F(8TXUv*zVv5}Yc&s`=n!@mbAQArLIqZmHlLo{sM~0%dXUdb4(( zHF$go?ian=DD5`1=El9NiOb7h??s5DDde@Ma+xR;biakBnB|T?BTM0Rm;@u3QwQQGu;*6*lops!Mc)yc;`i#6@ST!ukBj#)fpA{L&c25=ha{* zN`NQL7P=dzUgraMG-Iy#9(Y1uWYz`%Vn00sCXW-TTnK7Tu{dH>u9z6CxbfD=!kS8& z(D(S?@ygR6pA-p|$6}nZyY;7P|0wikmE~dkNP7U$My$$>lvAjC+X|J~H8^0TDM+MW z%5HlQT|$XTDO{F<19APzly=ZjwLuz>POo$wg3pgr4CxYI&dFb=^NX3p1msN^;Ag16 z`~KmE!J!~R+k5rLztND2{OlLmZ0 zW-&F-*+54V1qFxis|oKP`3o+~pr-Q!?KI}%H@)ZVO@K`2! zgGBE>u~j9qY8O?2>xxBA(6Jn+@6(0VaCsc|7>JX_94Y~KS*s$87C9H1WPVk^Un(qs zmP%=c02E7~+H~E{LYF>Ykfl@^eP}_Orp85c?RmJW11yL*#GAl%XNaBkmdFjM8FD_> zr~F-J)5E|qJXez|-7T2NU4-B0DxD$I?FMT>$<4frk(Dsi$_-8|!soJ{_% z_+iLuS_?Eo7)G2JVb>ThQse_K^a24zK5|5kJ|ZM1>7~SRf97C0G*MCFB0TN2xF(-` zEz{oNxbvFP9&mc6=4ZKD+(u~CRHgwQsu<}(7@tVZ618Hv^(Xj9Ctr)wR(Zk5lFAj; z@H|?n=5hso)zo?z540BRLIvC^M<8hH`TU>Qj~lnqd^~mDo!@d5k6Y>w%p{d;+D__# z@p$ZI{=l*KA>&Nz(goNq%){y;lVO{uUt8e<(zv-svO5=_;6|74oun=1!#nJH6pOAGE&V+*fTg#&41SYTF|(^_!TK1=yD% znO%@%+ydG3IzC_}=xBNtpjzV?p`A(Y^-o_SU|+}u^i%e%8SDGp8Dua+xHq2*Nzams zKx8F)OS2UvabOwy2kK9KlvsQdi|JM*Lgx!GhV|Iry+~H@WK3&uVa%zvG^XGV09n$3 z_?q1We=c|(>)mnwq$w=p^)I*`+ z*@4(Y1aMX!rSu&}ziqfqgah`%P!U|>57noxF*vS+UuHqoCIWGZDKGHQWlRaI4~Xva z8PqS@Og7Y^hy^EH?IU+i3g@mmr*WXFU`Ej;D5lCsw!pe!)4$w$iA{_@>I} zo}8#s218THJW|PAu)vN6EKr3D03G7RsA5o^{XMw_9XJ#knrrwQHj!#Qk(?RHyOH8W z5Bv0cvR{G*${c=vO)%t?D&aE*ZR(cMvnyCZ$mA^lP4RAL5-*yC9K$YSHn=C$~^k>(!H zpz03$>rX+de?+i$A9NY)h`dDcGX1LAS4?NT8R15n4~dvI(sKp4MG@|yQItrZ*I}mT zfrR6aP+`U`l5loGI9kM0Q9nBL4wMKGkvHEl!D0TXeHY7hTv2RpmM>GWf*9n&t4R&X z-w0`2p5!Mu`tt)7NW^*UWE~(1!fVn!+^SXII<;N#Z^F~gTMdTrLT2ZbI}qJB^)eD1 z@zx0Zak%>jK_JB+1w4^>tWdFi$26~V0Avj72827*R?Pn(p7wq9$js%_x*CVmi{h7- zp!ZlJ5x$;R*eNLC)^_1ajhmSyflZUtH6K%aedGL#;L*lkTG zmf8x7`JlB+PFvwj{%$KQQ4gpS_;$5=T*n7?yKOnaK{z}r^rlq_UDnG^`k0LNzw`e} z`?N22n#EHXEm*UC4EC%4aqrs-=Mf1m45)3JSQ5J9o2mUrckQqIf4F@|{>hLdupL%% z!^DY8t1Fj`sID*;l*3McnToU65? zH^y|ESg{Pz89Zzl)niwpqQ$v4ZK(!jl8teuSf^w+7%RreJ|(S1N{Mg_xP7^y5{;=d zV-Ni3KpllJFDj^(fM=xCI`3P|wyQigV_N_9ZG1%>BF>u2nh;sX^3B+Bgm2 zIn1K#Fk0pVYcYgYZxYof$nL61>uicbR^$E1LrK+YYT~b5k&B#dU9J|OC6xMWX_>1# z6kUkc?Uvhsq8GaafHKZ&nBsZDUy*GLBT>s43@J1on@7SV3E@anR1#$XQ#T)oW%Jlt zbqFHU8Hgkm`Idu?fTEleQB7hq1iNme8;4%5ATs`Y1(5NQ1B6z&{X0Nt zr1o`G0IAjSv~lmqV17r`mLm7&VUlCiKZo6cC!G8(ZRjA@RGu|?w} zGuEvg4aOvPjiI0MH&p?$GfZsb31K(eeLZ9DCNTon_T$Ub0^tii6!-}WC_a>H--a^D z2h_;>TkzpH<54qz9xCGSsERc9^X!AL)JW_B)psHQ zhU-YQ@bphe(;w=g-Ye&ETa}{NJo`~pn%r=l{(va`Rj5t0Q3jjO?|F#pklDVJ8UF{v zq1G2?fFqh-cZ19mCji_Y8hw)W#(OEmSZ>D1K zzFC@FzckQ`?QZ>rw0|{iE}bI|7#)>;YRtvqa0!kL;$_X$?t#&))_lopttQI>Ir*&B zny~!#_;-#;M3O}x9qS0esD;4=jI-f8ciySkTwsE3ftS|&mJI7U(T~Euzc+(*zLI^_`l_L<@ zZ>#ucBDso$iU6@Z9#PII=>x>A&lFYsXd!I5gh`jEkpqEPJt#*)3#cO#wLGuAOi029 zb7W_IEjs}FqowsdoBR)6Lt-)&BksfyzZReGh1;P;h6nuK=b$5Cjtz041qWwJ0cV6KeqwA zF;XpicM*`c?C<^T3o;UP5OHxn&PnO~F9V-_rVNXCa%T_Cjz+WgL${*2pDL?^+-^1V z4wO@o-I_5En|Nx=anprLx;*>as30*Nj9Kg#9Qw>WU*ncTHcS&IQlmRUAFJ_(S-AmY z#^Lj)NV+&P1-;Z(EDzGSu>^i*E`#UM`6WCca#5M+g*(0L<58tJ9G=7riycG*>Q`mRE3cLLOz7Vhnj zv;P7Apmy5amfwOc$#op&*vnXULoQ%Mw zydTQ2X!5kAlh80C3;3g#Fslae<_le})`ewwlJu~O=ZQn?A@<%SAm2x=7@^4D5nn?% zFsH>B*j_qLt|?5(CI+I505p8X2BH@$={9;Io;bF9`ZC^hi6+itXheH! zr_ga5wG02q!;GT?A}_%suxK+L+snqm-I1si*8|6qmq3diIZIv9#X-0uTj%t2|I^F-iO9YOo`a_c&CXc4FC%^kw63S zOYqle%zy;W!7zoi^iaSEIuN@TsR=k%bR5C5+Ke{JplDR0`=%E0Ltt+q&s8OWGBrEaJal~QNgqr;V>8CfNrWc4l<*GXn{bkRk_Mvp*E_5wbAkuSz z;1wuPiUNukVWjV!s7ioMc}A>~*5chYtJwE>D5bfg+TEp?Vg}-6Tce!fQ_vk^zpxPKO3=Wu(|^wTd_4Uu z6mKI^W-&TMbr<@M@(cA7pMuwL+%Dg`>s|ao!X}M2KdR= zPN2){apA}H(#1=0rL5Zy;GkTeA5*ai;Z}t@CazQdrd)PLNEIxu4-S#lFfpF|71|m$ucY06eEZwvN+2%~ASW0zDThVk@ zV$CUL%3AR1wxVK{GLtFak`y@=u_O}r^Q1*s{#u1s0|HTBVC+*TrEDq=4x-i|QK{HR z&n7FO?qrUV9e;&}?X3@joE?9f12SwByBVOh*Qf#7hbNDT?aG@lKszATYp@_dD6mS7 z4^~MAST{OgsmN=(9$XMn^~^nfJ##baIW1k!>6A)xo`+W?+C%9;LH|wwbISi*n-s!! zoTU+lRhaA`-2Oa=nmU=ZIj@43Bau>Obr}e?p-9zxYr5WARWEfra}aMkGO(>kj<@n# z63g(3OkLDq&-X>cs322GhP4#56fe3?gDqrW4@y@LeR4Dp7|&TK-Mf2hu!#eZ?8|El<~X8|yoxyZR_59Ji~}GwS<#y1tRDj}FD0^Iox> zH9t58dsLb}DpMt#!&}uMSb1(6a_|=x1Q%LV(d4?zf5+u7dix?blyQl)MqOD|&ZhLO zEclyJ@j$>I#Tf*(6ylXI2OV=80(!2O`Q%%VK~Y*`0o%GgbgZF`AhLk38DBxj_~~T< zwcG5ZlfZr|6n@k|MEc^RbKCJ0nv7rLE7)QLpnz0Y9Rtxf zKppiRG%&Bpt?$UjbJ^|n9rP(~oUYa4CxL#1k7ej=xSry6F0YDu?RSQM>8#hZ0K_Tx zN(8f2dc)5-BwaPAEl5T-Fg>~4Z7;e3jBl$b@zsE;;{aykkTF!48c+o-DmPcmWD}v4 zfX@?%K8e4o2hat{SwI$eI>6*Gvl=zb%4h?JP?v=Q8*-`&rcO6*;h7XJ=6cPkC2*~2 z6%|8AajvSH;s_GB{EULn0IWS$(M)`PWFx=W%gzSW_pv;XtE!+mKFZ=2IvXAesNlX3 z#rwaLgQYjHp)ebb7DcSYRjeAtrcSpmFLpH@nZV++a^dKcwz`)?l9M(gd6K)tg7;4` z`cDi-4GNBr&jK9#*i7^^fin4wT$nWJx=Tw^VmZXYw1a;|DC^$%a-4Ai;QnAa#z$xe zLZ=LoCAVWS-b3u?=b^bLdni2}rDZ)^gPe&P@DioJqy2!~uaJulJXT{QH!)wB1QS3N zgeN=GgyG+{UZ@+)(?xIwIlKSL_Fg*e|7v^P@&~thBF{{}>VRIIKL=6FxgjB1zsbX^ zzm+=3P21lp|Ih2xsVdzuG_>HlJWWeTc^GJqz3c%Tk`>M~H{-U>jui_qlwRjjgBka3 zu165rFJPs~n+^4UmJ?Nw(5*PaRFat2xzF&sM_7-t& z9)@mcWZw-+<{5q?C=9S^^0IHf9z@mBEptR-xA>*{%aKnV1-oD@2$YQm)*M>_^H3q9 z6DUzMID#(q)bX{xa1p2qHn^y=${3TngG`-XcTlI(GTPUD7bRQI&88~ID6in}RJ>D;NNuG;r`qLY ze&wa0a%~QxwBJ3TUSQ~^d|Gw>RfSPQMtR-;&J}dpkMa6;P)ypz`tiqDf`kzVVi(Cz zEE9p)ey+4d*YT$*KSgaaaIkP;>>|s%hizSytJTNt|1HOcf0h5kZkEA!xJI*<^e*kDht022JlNQ54*r( zRdqd7#nQRi>8S(9_*+-KoD$>gTR5*DhtT53qjrP=AZ$=k6`n9?twfM1GEB;~-6D zxDSdXhn%8U^<3Y3gm>@NsAvo_I{OpUHz8eLUw3`SuubRzK2H_<&-z|NMpu3I2`Tt~ z=hi^2>$$!V>zmB_R%F)qK)Sv;_>xk9M#DWuKkoJYMjgek zs;07%CnjngqMeqQ>1%mi{NwT%^kHbVu*h@U^*TWrvAp&tEv37rLRz;(6xAZ)+=@GGF{ z9Ow2G?gw|-k1D|iQm2=@($GALHRJ2ze|r4#6rfmzDnGd{J{gQIzH(!i z@@jvW8DB!~D^tGBRTp`uaAT!nqsq_aBO8wNPIH^4#@sx_*d*a?%Rc($8SfMoF<1nr>p> zlasW@A_~P=p;<_p9Df-P%<7WfgDNog7*_Av#UPjv^=>|U^ch|RC2ry3DAP`Wqc{_^yO;q(2zd8Q~HHS&tMLCarnb= z&u6O^u835Z%Ry*4&i`*wXSL7-@DF`Z%eDTu|sEnWm2xhd#7_l)@5_ z$`ZJO#A60Dw0NA2A>sI9H$rmcvV6}{aPjb5W!0U_CHF#hs=ru+M5et&`AFLk~byT9+^_h0aP(D^>y{rzwJ z9^?0aK}`7f=*ztTiO;vLG1$afS(I!rR)(V^=O!p@gFDH)+)u)30{9oSNpPLOiGzc^ zv$>RBAF^NU*Vj|f(1@{t5oKzhZS}@CWJ`sQZ@8bMmr9kf^q37Y=N+4k7MFC^MQXh5 z)^1m;5Rx&~X=g@(FVCJ>f(4u2s$Kl5)BOaZ*Io@#Mcwo#v3Q4dTro5aekT7$x5fTS z`~ooNxRhyCa-hQ@7rWMTaz#MUv2NUHux^sVy=bn5W}J19q}f^{^Dw1tW)b`5DY%SN zxX5f3y^tQ(@bQ0JB6k3_cQd9t5p8P*Bxwse#j=uv$!H~CpuF1AVhxK92jn3I^I zhQI4IRx=Q z97rhZTn)CCe8lyPG)}$3cG|s7pUYIH$e1K-Sb|i0IEU2ugF0Y!u zxMImd8t-S0$JHtl4^+HR{I-Q(=RoSvvtqW;68N6M&EE{%1|DWVJ<8{qA{QCAESsm5 zx!1CUbIX!Wbu*N@C}@?w?pjDlu_U^EhFVBYj6ko4DJT>0X#^2WKAYap3`1snKClJ5 zGeoa_1F!MI96~Z1iSQtdO|nFcM*}<&vL{Hgm&xl0*HxpfB3>4j3*e`nfphmFuW}+9 zhhd;nYYEW;B9!;o-#i(zFI_UOm__@1YSqrZ0kkY1id8$OU5 zZiWA2jZ0RO_&w4oFX^;Arago-p%*{=k@_FpqU9+VFN!N*KaUmEckR^(5)|Gk(P#3b zA*u1E6J$B{(8En%PjbX9`d@@P`Fg{uyewlj|K1V8-)!R?0ZG0~&NdGPPK-B$a?w4- zDw*>+<;5p1pJ|qtn9Ju{SCv?^=O*{SX%KYW$>gT2@{$vl&rN&Szc**jePWdvuI#D_!QW*vZE@6vYM894P&;YqnV$QeR{wRr{uk;+sdbNbXy zhDl?83t`nro}T2p<}1L!=8iMZEkyTbo;GK0!J8`w-{~#byeweh8em~DsvEi8+-zn; zJv)lm0f7apup|pU)OmR7<&JLiXTZd)12BBe$|@{5Vb0v7nQr25j{GR2ZGO-uSN>#4 z0X22vA9CNFCkx*CcjXq%4lXeDFM6KH3f8~Z(ecV-W(g->$^Z+Uu-}8}7bJc5D3d-r z)2q&sW@3zj>c}ymZ@r$V`+J-`seuLWpX}uV)!f&;Kp~6T>#F(DWBFq_|89BALIFY6 z$KgZ+E`H!Hk=lLO2j3B$_5e=^lq0%rt=C0QzHlv?FXOg=P`2t zR>&Bji=#Ad-=e4h2PijIASLmW6<?EOS{7WjWPW*f@-u34JY&1tM@;odes_(cTDI!i#{79D zmYh3!p_R9sHe1-{=FSwC`QCYcaUn{L4(8Wh59deYK%S9lS+6txGv-(4@(=&p<-cNn z{ebpfgC2=$kOwSQ2SzpES513^^x z`*Vig{7z-fQkpj{u7>LnI1Q;BotEF6@7n%gh@<~@yGkNBbsF1scPKgOS9sbF;?`U8 z4LwYN-?4Y%{>oaFYnDkMRZaha^(Qr!CIip47Bw8XC^9dwKIdt2+-OTfb3X^YYd>n2g4vdc{l^rk!9&W?gg2#Bb?)Hwckv&qdVe4pfyUQL}Wsy(DACvE* zk-+yxpoNAb*9KzTd#778woD!yh;ByOG1Ye^9 zu~Q}gNp(j@am=E*NC*0et^WZeb*qwq=5Fkz~Hrxb?eP6ZRQ>rox%W zzw&pO+cgdm8!lP|=n|h|!`c}Bh+zxz@ebtEh41H7unNgPiSPM42++y+T(|0@u|{qo z+6S$KKZ@*39K(0rrk(gC{W2zh2cjJZV(%hJU;!jKgrra)*<pnXx5WNV9ulwx!K=d2<0dG+t zL@zMW|L`_aodG|`rO2B}UX7&(^E(<}EbQdpsP41t0@1foD!NOgWuvI>DByewDY`az zxa~r#0?2vB`4dYI8fO;PeOA`^V&o}=j1A{aT6Mr2g5EW3_33#iez=owYkVSPHRr&# z$z?`s!f8<{r5zk0~QOD z&7wcZ-*I@Gnif+yBoX{kxg6>}u`qE061C^9#B&%T_llBUPp~Q@wi;ZvoWi4iy*qpS zD0XLMGzO#SVSf*=aOYL%P43bC6Fq1xVglS!PHR_qG+MZ5KD?JzEfwu2w!iMyy8gal zsbSzwy;51hv=piP6$c9F)fm6+H5*&(;svB;si@D!{o@u-ZK0s@7ANS#1TXwR<5~g14B&P8n)w z*iTg7HlpN;*@fXbbILEitZ4QXv!>3yc=l!Ij1IaYK8_BK88c?2hl*WwJ}|sCSY1&| z-wEmKL)Bx(aGaP)Mn?;{a5_g{Q+goudiTGOmjR{tnaYq?gr3qDeMZBT;Bujj1q*Ll zAU{AGqzh+%#Q19AJaNhHIMPOd>|JIlRuOvoiSrkuF|TdLSWJj3d;rP*oqS!XBCM!=$1wX( z6TN^IePuZ^8}6U&BR-|~02^rY^hYY}Y|8-g#+&iGIrlC=@yA6F_e$HvO{Io_u%MO@ z^5B^Qx&+yQ%asT{QMyk-c>vJUqjsJ>3+*Rb$)hxXA^q0gw&ce0EgYy^S^9_|awy6Y9fx}QZx&012*)ClY zWb@=qMg(5wmd*#^S9?Z{8U^o(QaL^#skSS#E0pi z;l5na(wbS3MaIJFMU}H}xEY?_;I0vu^Wet>zIMB^)Qpt#@}Yc`b0`?k9H%m6%-?-Y zJr+5>8C41f-sj^nIY3ajLU0-MycSmtfUnV<*^DGYBw`Zl{c&;H-j(Vn+Pgvp1bf$y z$$IvroZZAKQ17)Z2TXEf92pH-=S6AXTgSMfmBQMww`t{oJ&#+#W?#D!_ zKRPiB_m$_l+H&Th)7BGc3js7_4)nnk5YBI3g2o|O^ib{q%CV4rCbH_SGiRk^8Wib+ z`PrX~e%c<_(eOHL=bGr}JKsP*UvuT^3}Fd#J&j!MRxXqqM28|L%bng7muUTzOQkQ_ z;Hs~4t4*wLAzO7E(2_%RZgnSeB^#BLs4F8vT)c$65VVCER@R^UUB%e!fv7sM2Xbc0 zo}2swD@0^*T-(R-J=NV zIXvxU7oy9rrY42!hmxOC42}^rml*o~x%Li8SC}I`Fbo9SfE6L!7Y{F)7$ozNi{vR* zAae{nsA74=EvYb^PFAu2&8*G~&Z#uQ%g~N4kzU!u4hA@76)c>l-LnSig;T$PqHhIp zu5)g)&GITR(pm1C)3eU?bO{5p0QX#e_>P1tnCX7==jN^T{#y z6zp7m1FOFd)hFo19|fC`kaT+$>0F{k)tqae!&2{JnMA2}BucN@Cg8!m@Y%7CkE!$0 zwERaNtBesK^37kgXcQhKEr{sq+BTgu-@LebjHkM?21CaMMyN(C8pa%l2AuJ)p}z|( zg5|Xf76(DZ2py(sRaL-)Smk`rqNNq{Q7alxg}Lrhe(~ap>ROlmM0roEQ&ZD|5}7eV zU1}N04^}O#sWr;cilnkpz9=ctHTC4@#f#BftVUeF0jl)anf`iSU>PZw>W+b!<&4YUd>SZfh@vIyFgkKywojL=Oq8u02 zZA9zRSnN!cs{58F5ZlG9JY{#z*ByJPapI|AtA>U(+Tyhaif9Vsc0&TZnUJ7H%`d7m zlBP3P8Iq8}{>4wYqDQW^{qJXa?7M&RMaR1R2&wf9|6rv*4bgoSn}T4Bd}lRm@me_$ zELtNU+ZUhT3+JED<}kh=jbqEpTKyg+F%v9k&O1tc$v<&w0$TehJfz_FZt^j)?SjC- zDf$N-Rdv_X?~aw8p5BzkyV}8fhmAv8@^`2#<@g1M8zNgPwD_x$K^n=GMi5k|H`*Fv z9~uLG!8kSUvUQndpFmmrPt3?GBX$kr>)dcf^T>6>8xVhuP3Kb;Mq^;y<8za@Xi&-i9}<9qQSSyQJ6kSV=D z6!WROib$ZcT#hH>Dldi_@Kb=}?MHQu@FklRHWWnEucH_1rQ*cF1>f^`5gU%obMgIH zEb?M(8Oi=?yxPSGG>Ow1ftp17>%T#$R1o7z`;AyE(&v3C{;nkl*#&iC@cM=tHu_ux zGL$ogvoD)nI(L}IEvD;rzyplejKwJ*w)esL6-I>zfz@tN>|5T)-cVcXQT&TMmLh|2 z_B5AIXY0&%Q}0wuNJ%un3WW(*V3+T#6vySfs){bpj&H;_G+hCfM1U8d)UzRm)87T;D|xu{C;ErX~a z;Q2*-RU`d5zU;*;2=6D&cdJ0Nca8=ly#0T2Jj&%9DD}|;KF`x9aFT2Rm&Gys!N)-Q zzh9$R8PY=_atX0TV*l+$LiD*b!N7Z7oq7(z!(;#KeVIqHI!%EiY)*uqNSZgzHDPuU zYq=w*;U%w}s6soz{}ecL)9x}*7IV~#f7D3GEoD5_d_C<0Jzt>&?#t=!w+8PAuQqdW zQ*_Gcv%nEL;LGB|5&U(?$bKRV_aPgzWkZC^e+295ANS!(*{r$)tVws|+?n0vyS*Qv zn=u2{;5ax1kBP#hkFQTnmQXiU7hS*fuqB;BN*K^cYUC^91 zo#qAaeWdNzP_ixDI30ELYQ!J2^x6DfRc+yo!?LX66@xaDN5wqC@#^Tf<{Fr z!~pNpMq7jDT{oyA9%}?xykq|n?u$Rip>$lefqx=tT`nTTsauOfAg$)_N{?E@3appm zA%UN?+UMPItRr5!8-1X<)nm5Fasf$}(Nht1d#E0|c(@UqmL?)Rgz-QF$NivC3i=$h zKfovgMspjPJI~YY+IMB8M|kt-#l77!g^EjfZw?aKp(FV_>|X&2Q3)c<6+Ha}%opY0 zD*N!;KsMo$qnmha1-fj1`<*Q3&TVWZho*HXK=UeC?U^v*z`?*^iZF3;p=MRD0NrS$ zN<~qGBwNyp&F{9P3bO>}0Q;QZLz?R-R;^*>D#mMkBLi-#L$Uai{B4|WNf6HX#(j8; zKgqx5YJO>6i9g58%?jGhiR^>FKqru<>}nQ0O&tk^xBFvtXaIqi@CmpS0gsN^fV;!{ zJ1hL~feT|Cd7%S`M6^s1AC|cjtTiNSl32$(f^#cI%9Bs>i&gGdpXxTTQ4hTHOUF^s z>6!dej{mjlvo+5XUqhU;?pj=&f}stndQep*F>v{A>US=TO}Ynzj{tWvJwRP3jt;6x zf{x<1e*;*O-Sl@tsm{6_-AN$!7}yc<@e;DE8}>(kg{nafDOt$65lG}rTQ^$$$Xz#1 z{m8Rc6OH&b#9GbvNMKashk3I$sO915!zKWYY-0r7h~hbV1kFmP3w@9Cv=3z3_=^o9=JDrcEcL>!e3pl)cfd^%mXBDv3Y09y0fix6IfV|ELwcMmY*K;U~| zz1Y*X17^JX?8lQT`($Ph=hjW|1fo3X5xt?f3j7(t5p<@|cLPRF0K5i2j)y*+;(iYm zX+1(9#(^iga()PO3C(GrC03zASD`{zVJ5m}ey9L^h&wBelnY(ILj5juJ;3IUGniWf zFD6tuNtF)r+*w!W8Z?S^a*<3RYm@g z`UT?`XU{-9b}n4a!edzYCWo>T-@vaP+PjZMKF5{$#Aw>KujX!-AlnD!K3ZbsQA{rS zFXSd9tRK#R_l7qo29k zIn!)t5y82GloH-f+6Z|GDqh+`B5~mt8+*jU6hjV`|4d;}+nEz(lE23`*hN$hT|fF$ z#cuu!Pf&8MedKfy)(X9C?gnB@`in03Aa|Pe3-A*og>3bk*+@a_ z^0OWNft78Qz1+|W=PnJKy;g(HTF|=eZ^DxE_nxMSI{Yy31s_>M#cF(DxkK2JP`+Ux%@XO|AtBJU>>ezRMAk+^Wox$<8 zvWTC}UNaj=%D|6eW%07z%XZ^vMiOMM2XK#P8k4L_t?~)TXFHmWlWiKcG z3PB3l?8q{lxA8ydi<(E*c|2Hz?A-03ud+N|%P#dPo6E>hHEPO&u&t2n#}nz(R_No8 zHdxN$Kl4aDzWdIOj^T_Uf4I$qM3``yg?>ovW?^0+dJi%c{G;{)NcYpQtvr{6qt8EJ z<7r%5#o3jO94Dw8kwohJw~D5p=87*46k+amI&ibtcJ$0=;{joPdNWRNv zbcMZ}uS5Pz)|7? zo4+TpAdufiydk@cdAhQ-le0?GJwJBCXAS`~;c#IJ^J*?|qckvsCHwTT7c zq_-DezmEM{3f;0(`2l%EX`Y!~zm@Q*gOx4$dkX%cnlxWpJ`(GFV8f)qhBj&RPrv|w z+`C48jE>LAHclw`r}^5lw`nebM4;hGD<7`>|+Iz}7w3*LekQb1BWSl~ye&^g`T zw`$tsmu2hY1?BJB{hfe+(gpBQAlmq)*#f)yqVPUIB6}fV#5lX*$SS-CVmEXE$!i3d zU4bYKH9O*bOTOA6ASQR1Zvpl6R@QK&%s7)c9@OMY86fS)FV9Y#jIwxKU;Waa`PalZP#C`hvGedF`El{=Sz#=% zO3e*=;(Y?#CyszY904`oVIZns>Rf&c=J27=0H2WzY$(c(U!RSuandR}Io24`1XEUY zu`z2Z`weI?N=L><5-@ayCKlWE$O15-_aBGkQG-C#V4Rzc3j^z+gZ0Czc940f>Vc_h z@Q?`e=5{yz3jC-hu>^RqcUANP^|WyA_Zf?OK&@sw)R)mK@XfkpNb)z@#^W(8AIbOJ z^Ht54_$JO0%$iYK+_MHQ5~+7p7J>H1K#;l3$_Z>Z1BgWQNEE>)Z$kRKrs4C80?}7E zHSpu!c2e%=qXN-Q_z_sYrONEn&;}A<>DZnK)Uwc|qOX}#Wjl(46i=m_j{cK`h>R=v zGRNQWUeG{%LN$kkDe$(9z+pW_Xsqw}tSgk!%#%44Bma?ggqOfn#B;7=WXSeSulMmJ zpGI|uTgk8^1I?YoJzy$RJeZ`Bht%yQAW|moCFGUgBan{}L-m*VJ%F#^9m8K$f9IE@ z>H^Wx9iX4KKBMXqXX01G=eUWGiyz<&fepJGK8Jxfokno9PC>S7JwO3dRcP6dvn7Zv znPM4o#jng(EQvzeJJ6wnW?p2eI#tT30QRh>IK$QaP9v41b)Io1+uVi*$|CQhTv;6u zSAVI%oT$U_1vXsIkH&6%Jg*L8f_gbD+q^O|y_3)5!&z)CxkgQv#58mUi5Jy@gzAe` zRTrWvt{<2mL>CN1apTF)r@t(5_j`R@@@eykI^g`Z7LZk`uc~39CnG*B&KKh`8{Hwk zfdrB%b}BZvcFDK6{(_a)A9xtAZQ&^XB0y&@mSA9)?E|ZUDDK~qJ&!d%GY=XCfek06 z>5(H_C)3+NM2;v%&QoQcfGG*CsHUXZswd^^Ryc|=ItR(-E9PHiqOO$-27;e#g&!sx zA1Cj|Ld8QFQRQC;yIJa4#J`~ZUueT@t=~$J&7DG|z#iac^pQrc(y7codoR@VaLz6Z zUEZOP-)Ed&)o|yRV~vxnaMN%PCeRd52>S3#rg+xkaVi?=2uZ_EgI@dB=v6Y#iV2XD z?z3~zC~AH=qo&9v05jH8)iwjPo_vDqW& zz?g{5b-4s#DXS<(RN=ZE7G=QNP9lP;Q+0xz2XofmAPm8ni|#cfWhHWuI0REv&Zq6y zAP_1*(3%Oj2#;|x4Bk7gfHs~GLL3S?;?Q{9N8Np_Bl!U)b``H3CCDhBZ!$da@r=-Ckrn_YJnQ8Wa?i@0(?_)8Y(3uIv+y~eg?%#n_ysV%ot z=kp>T`6)%74C}}&1dNMOTEs%lE(3CLj$4eF=hug1Ulaz z(YImDH`EQRcui2-v={s%l81?krfMF@Z>egy$P>69HzYw<5F>*EYG4BwA)UXfV5hMw z`7ZJ!f!x9P9|UlrU``Sv@l8Zu^fzE_LuP5v+AorSu0MJ$yArz?S)K3H!h>UR1;nzv z6Bvg*ejsW{mi_>({4ZYmYLdM8-# z0U{S>MgTam97u2h5{T0MiK3TOf6l3zRJz|7SPKA~@|*E|;Ho zME-#yW~on4g2d8q%iOhZ!ZW!?;B)4OOP*{V5(4ws@-&$(-JLR06(vgugXcGo0hZ#A z9C;o~mKo#YP!ZTzE_h7Gm6$`0gDt$<|9A!b>i~F#%1?r||H7r<<;?!g;caBtn?9cf z$756B<9B39|XEarIqt8zrWEKvwrsh3p76z@UL(DnDtjmX* zg(J*4qphhy>+)e{;W%^7cx&ni>+;cN;RF*`{ilvI;p=Vcc$6tN=ghp87hc7_hwIA% z_V=}B)!$XelmiIZyK9yTW=GJ^2I$h+DclWi`ZfB_HMZl*VVELYjFZgW8BPi`Ta(F3 ziNS008kk%*Rw9JgUON{miWf8aUkaYWuY%|M7>RD-8S!tzQ;+GC0Z;W6-NJJvnDiVF zfs*Go^fO-zY}j1TZuApIy(4lUA6FXb3e1tWFr1J^)&2zA0!T8A+0(E&IH>#!2t5x4 zr?qByt)Emwkg~>6yqt&*ZGPVijM;b1gCAV)8LkZYV0q8rhGangE^N59;KKNsPFcHz zrKX?38mz0l*4YldkEB-5=J&jaSTi%%AL%D2zzN>GB_tH!(MQ%3seP#?N9nU+^1iKzm=f1uXLwyt3*%nSZz&3Zu;k?))(!YKy zVGx-_R~JNc_J5W2@+99swk{8KKm9FK6yHR5K4y&T^SU8OMc5-I>^%5bV12K_n{q0) z!9Yv5il^^R6l#oJjXd$#HOvV}UV92k&!H8ADqsNQZ?U}%`=Cz<#QrSxOV+1YzcR?F ze>w=rn(!|Wl?wq>N?T2h>=nX$&~}M><9>rG*z9&Bv)MI(#HuF>AieT{HP0@46(X{8 zggjXHlI83z*TEanhiDNMbv{u4h&^3GS zJAD+G>Gcf!RqaRXrr4k!k8uOm@%Sb(C^pEpwprPz+31(QXVU4Uu$7{-;D%6*_T*vf zs^M|c{OjhwfzHNJ(Dd4uzt)F^`WNalZy`1>b7i$Bx2!vWS~jAE4*NHLucz4XONxEo z03fAK0}@GE0~%TFb{SmbOl$Bxc!iCWwYm;JEPrEMegMRdSCgC6=Va2of57_4<0Lp> z_wkYn?x6H_Y9HzXVz>YiQb7C~FP8K(e^fzt}!UI{0r z4a%=&-0Mqz>R@nibdT}h>mDHNz~0sWodt&x#!oYQgFs+C^d`aUDY`>;ru?JV!!mRz z46PdO-FM%o%li|tt5ly}$IChnUH*=O&5+PnU2YAQAuHXl(WUgK=63YYd&7CyMUiku1p%mK?r*TC$ zYiIKR(Dp9yQB~I-@C+GXkiio))L5g87Bx{6qF@QZHm~6&AqWJY5hH{`Q(dsHkV0^fn45;c?0L|F3<{WD)|`+wc4M zkvXsZTzjpx*IIk+wg1}&$k57)gP^^o=u`|W*?%Tjw5nU!({2O(zkuelIM85xA#T7( z2}$<{P_BmJoV-4i3UeTtXS?U=Ic_7{!*F9w5*7~HuN9dlroY0yj#Lja7XcOn)wBtVb(|=b-l{G64GXFw;r$*~#VqkhC0MzNMiemabi7 z3yU0T71@3KQJ(olBUY`mlF?*|veKnL0UrGRCcYb4$soUU^A+9?;n-(POJ3Pe#o97A z@$Ix^eRodXr>+FSa2=10(NE*Z;>-bYwD}7>ME_({&o$kL?7PxtZ1i)V7ovD7`f^Wu z0^843d;qo$P!L`+#DKo4iMtsaXn6P z$MyKvc!<{9J^l~5(aAn4@o%_Fj=z#p>|>mb5D6lAm8rvaX3ze~g1J{;HQSGE((vnF zT80hNJ^j^XWqm@4eub7lorKt_{9)t$o@{^EDj&sg<)P(!(eS;<<%S_3A!|KcCQaW{GItpdbDnMR zak>D7Jx-R$bLVv5vxe_EBmY@07}K@U2;jw2nd9AB)zf^;f7ZC3biK&v!?-H`5}>&; z?&tc)--R*xM}XyL1fHwVjKXJ)z;oCb1T8~%{kao$R=D9LevL}78kWgt;bfd`jQTlN zk+#HQW&6Ugm9sq2CdD?vd@>53s~BM9KS#aSbsvlO!IKd+ZOi5J0IE!fg# z4)`54*%!mgM_ZbR21AF11^jt74jDb>*>(f{d12pQLKwZR{z-^7es$R>qrWlppbK5T z3WIee^TN<+ezuD}0wlmPwJrQl)6jE)zT-2mE`7%+c`|Ydnw?P(n^E+W^iHaAKRzy4 zfs$Gnqnt+5XNCN)xmVp&JMdaUWwzh^dzQeEIy*l zS76j9$@2ceO7eY};%)F}W1Rj0!m=6Ou&;@C7(;WzFZ#eMVI1dfwf>L!A-xvUwI^<} zF7y;de-+PkF5*&VZ!E)P%6^$5B_nKIkfU*Ov z*d+f#8i?RU?uugD{+3>w(X53pV3kR~27k;*y4U}stc>QBhruIQF0wex!-p_xa3S}v z5_@>zer%kOgN}1@^uqmN*BZidcTkAzmRwY@@|if`$Dlo;rVn}sPmkerw9Oq!Pu$#5 zkoK%0fblF?aiEXCfBK%t1tcDZRPley!u^wB+%s*41{NazOCR449j0Xmoa!YAs$@RL zLMJ7UijEN3jp;%a_AeH8DGP%LaFU|scw2G2OK~+^zXli+&ENeS9PfTWC-OB)iK{KT zNy&G!W~6^a4FP7TfG4zT)fmiyqp)MpB8Bul=2uU_-{&nbNO#3~J?uZg_gT8@0iydM zF|m8#uS{Am>7a>g=})kU?9RCOB}#r-Q-QE?D7q1`hA++w6w&wKb7ryk`^j z8woqLl~VeqD*U9^ZmLBRTz05Sqq@AKF8grVS_=&mzI(Xc_T;vN;!RYaAn*-(oY!6Y zkQ!XK&HgLCJczrkBcY$`gQ$j>n@%J+Hc=}R%T)Y&I+!>>P5dN2vEAl17+euxYs8== z!I2q&1$HEHzGY}B*~~3Z*uBS%&~a4Pb!+b@mxT6~ySZNO`dhrj?=AM9GN&rT&fm+v zI~Iw6B@Emg=flhJRFI17eEGio*|`Pz`IBbG?vW1Q=WdL*Ra?KLEAgzicXVcwT zh^dNFEv_8toQNzZQ&HBtii)nsRZVL(Y&2%|M5B`Z1YISW)4v5>ZASJ=B#UjNahcox zfX!Jv{EU=3C_BNSuO(DeAM}H3UguM1=Z_uBeqh|kav}bOr~{&?S{5bAqc13^;U&81 zFoMj*?%~3#0vYhpy!-cHlL8<>P7g{;gVM^N8;Ol4q>hgQzf=Y52d{8A60JsEEA4p9 z-U!iw>dm9iVT)UQd~b|Dyc&b8P8;HL^o4@-T@ne!yy>FpR1 z@XpgXa~9)>Zl+Ma)1UvbyECUH##`gTnw&@B*s9RP2<$VerO$hv@3rr}@Z*ekwJJVi z0;=ZZz>~Av(i&|%36JY@;U^a22qK!JAOs5LX`#QNQ&u$uddAVRKKfBL@b&;uz>5t6 zhWYSsZM>ahF<45r=nOE~a*zHen6K5ftsJq_f?^ip5O#s0`48Pep&BQc$OZ`^#SsDV zuEcJTib<(*09rCc`tt&+8Uisg1?_^FEbW_EaOEs8IG=#S6Mfx0hLUW5X~e3`AajbBT%-RujhbU;p_PxK6G)tt~;9#`R8NX!Q7rvtn64C-S83o7!qEv!|5N5 zpVGd;jy})`tVqxZZLqP1o8W3vv7}FcTYe5Ne1P3(wf^^`3^u*#FPFjFyEa&n$mQfs zQ!ougUn42+1pyrSEn<<_|3p9Kv2aQ50=WNa`*qM~b9~nPJ&bAV>yOvJuZ*_cCxN{~hp*>Us>H+Wv-veZYuA zm3-lAG7wi7IMDgahmny5b6c2E*aX+^EZ4=InAUmP&n3YV{Se3#pLlcsA*2nS=&Rzt z#jm&YL1D^UjG|NL^f9r05?Y9M>B@?I&}|zTrao|!!uWw*#9w2f{F~4IZzw7wsdq~3U6?vG;heZHdaJ9?q-v>QR+lklO7Bw)y~#2u0M&@cKiQK#jM zbt9r)iEIb%2(j}o>9uvAx(C$JoI9XS$EqGIkM=+6Gka!0RjbT&XphvV@0zS_ah+TD znLB$xeeg)as&8(w44Za*8Ay3w+>pL!*6Y(i)H7b?FXkM5NFwHa<619%^+8Gag&p{a zK6=^~Y>hpCCVne!v%DwL52t_B#czxU=AVU(!G-wkJNFVwJi2Q=v(f*ojhF(fE5afM z+{O!Yk*NLS?BMpKj3X=G)JIF5zP3%Q&p1Ct)%roj6>pe{XBEHBLf}uDr@6DkuF9}0 z#O#QHk6rpwQ^p6n>!Fn&-zZBABLZcmBN&ijp)7*kjaZh9BI+37Sh}Qa!Sd3;!jdw? zE5dii*8=b@d<6WquJkH@Fz+M4q9If_VEHlngbwSzX07UO%pZumGH$F^H5<2#g3G1y zSD$T8D5jSZA{>&+_-LNM!W2V}ZZ{9%E}WO_yfy(KDE~gThRejKCkpPa*}*!c;iM<# z4R2@!K0}>0KiGys)N)%b3!U_eJd?ec*WzA$CQe$|)jvkXEQ~?%&A=Hh1_EMi;$jeG z@Yo6PGTfltaA@l%s0b;M+U*{S*^DmwROB1X4H{3l6-c`uE=jGi#>)ispqbaRVIMi&tn#EW79zEL?4(+$zc1B2NxP= z;$->Yk*l1yuzs~bi2G|AMiHBDn}_wPDxu&Ng%)VZ6t9Ng&{AG{P*@+30M`XwcSi2W)z0=4;Zjb!*WkKC!hG z7r{>&0LiVc%4mk$8H`^UO>{E06^`+pDugoPvz1-J<7#QK# zh!h8(hLh|Yzr@%@_HiH-?TtV?&9ptTuIbG>uJ3%K9uzD`9v=LS7CHOI^)m?=C+5%}0DzesQFY5$vr3gDlU z1itOlULOo@pVNdomW>gy$MsnF)|{q{gR4=;>rTYg%HqfJuhMJbQ@An_qoiY%DCQ4K zBL|jHI^y`PI{zA#gmG$%atDLsOgE z7JCvJi`03+hA%Ry}YtM}1n2|@hSv5b5 znw|Zk_p9-d`C6S9NhdS3KOH`UiG=GYLjDqPN|tJ#jjHMB>~}NDOgkcwp}l&Ob+3))N3<<|KC;epz^Wyj*tYZ;H(9Idhg9S8{XfxOueAnzAcB%`fr`RF1Lqhx z331cE&DZflz_19P%uC6LutEaAjJGPsjPMV{#w~9OK)E}*Ehn6tXzKv8+3WhK*^ofl z4PQKQC9)2V3@O+AI~a*7(Q@(J;>baS_$xJue2iS-TpB55im@|-RvhNzaTzlKA}yBj z3XT;sf*dXF(W()OiX-wve5O1rIyIUW-&xiWIg|N$K9l&nV6DXRkpeZh?_{ok@0FpU z==FMAdqh82cWfy9QxWDF*2%h#zG=-OVpIY(GIj=r$jkm+FI{+P`&zhEp)$-H^<>Q3}c+ZlFkLEj`fvV~p2@U4y$uswaP zHzQ@;(LQPQdZY6#YD`=usq28?6Lux)2es-4`FyNT*pm=;U6WR~^?_lNewl4m5l%Wo z@`hbJJAu*6-%6`re!D=xrEgE$ySxBi#VY>7Qg_BT6<3RE8as_cl1%JSFs@-21;q|@XKUpjPr%e(#8QrCYWK|~qBlhHnFqs(vB`-6J;K%ZczT3Bx~7$& zY4A~Fgn9`sr)_?jJTy|tDA4GZoNkB6V&#EzNJd5ne) z^QqVSJ3uA5QWQ1;?7{Xm`1$)DMxmrfSajUxY9uo9AKd9W*Ae}P;$M2v!$@bA96|JO zj0Bh_4u&!}p{i^`ZHA`y$5K~~GzMgHf zYhMQ>fgyReQ-4U3#9;~10%ht?%*PF|h}@i5bUPkJ)z#O|#ciYx%vfJfkVSus(hPxK zTBG=@8x5{5G5XLT6!!e?ax zcyL#8tqMAFCwyZecjLxtGP)pC;HoB!3ZDv3P1K)Y-)xGo`oiw(O?C%KChQ%r?0cpddSh^BX}3GHIDFqh(<%=oVJ#p_S;W;j3he z1{)x=_55||we7wtPDXlY zIlcyFqjH&*z*W~XY_QaMJ8wdKtUEeXU(Y=hoTHk$<|toP;9M(3NB^!5t_*w_sK6o> zbo#1{Fl$0I%t|m@izoUj*Hl#f8z9i`e+_aaU>o_D@WL7+EUktwwhOH`3fJK@k{koT zgWI(WK-}5Ki6y~xk*isz@2M+9BJ({NVI*0~heqM!n8eLOa5&yJq`fc0AMEU-tz}p- zj&apI+=#v7DIxx6562UKXwOj~*F+>?dA7X8^IgG0XF?bk@hY#4Y#&EGC@-D3PZR<{ z+YU1uh4Ua|Dlm+fFZy7`cZ6*G7!|6 zm{QPT^TlVtn&k`J7k-!yPw!q%EJATmrnj@A9n9FIRWD=JET9Yp%nQD@3iV=yGQcu; z#*zLZ3=MtgK~9JJeaG z<){vgU28YC`v26}G1Ay-X)O2dTlU{%*z-`kXk_M#pmE^*lvjl`%Mr#+KH*6hssjNx zPXu+XgfMX93le|xJ%E_4=X)lWoC{5?zLgwOrZctn$26?V9NDUPf_V;#kA8q6<@GBd zmuU3VB+(Q03!Z`tH1YA&Sxz3XQOq<8JhZ(zLLJAVPnuUvH%JSOk^B9ac%0iK4kSU! zd%!j0Q+^Dju~Yt8rTh}D@9EzO{qs1I5kThU2aW@<6q;H9`i;WDYH@U~1y8D?CdP+? zhitWkuy!L#z81^$4(%c3cD0GQv``SQAc+Pt;X**j;UYHK+D){);)zCH6ihQOflg*@ zUQR+3CLDP(66=is{>iU79ys1EbF4qb>Lx#MFj1Am{I$59_-j$7WYEa5|BNR=1vdS! zXu3EYSbW~9X*?3f^l|!cdnu6*Vr#iu8YX8P66tqm_D#i`iq*y-8mXa;@A6+{3=$jn zVN2hDV@3s(qF+K8VH%+5KPi3{9)i7@ZK6i{un1xz4?%oqXlS>50tn1oftAJ#myXS9 zxymeUnZITCC2SviqMKzy59%2V{Wa6Io^4v$mmVSCYFmE!FPOTc>*Dnd=>I1DSy@j9 z1_oUtv0_GI3??nol>H$c>@7Sn5cV zI#4!^HzNM#PFu%xTW+z(Cpivy^|CRI8dQt!7j2k8f&hyiV8N zBIfAPUd+$I)?p1Qaxv63`xq#6_>4(f^;pbc#>jBeTWUYcJv2*(ALVbxPAv@oFGuie z_oNkH>TTQl`>w3lzk%l42F*7-?t9Qf>pBzDpsp*qC=C;vC#}g@r&V8vd~1%Zh8n)= zJk@gL556WsjdX(gwE7#paod|O{MRo~B-L)`TXjbVrqy#}{51E1J(P{oc5lMBQ!}`9Z*4iT*rHX}Advwjys#zh+pud-*j10)@Tkhk zJREDEzIXXgx6)Q&HE(2utQ)nk|WRF<>~)> zhBRboNo&WsV37_WJvxl7w9y8msD;=2P*h9gC%`VTLL>psS1hCokdp+{hOWmaBf8D{MLb@@rK@E9rgWa-(7X`f_{yQcyjO$twNVh=$>ju%~b1a}OR z`6*c2U(ZR7(5hCjrjB^Cygl*^IDf`Yxa{5H(u>T=0Sy7o&PeOBXZNyy zL-dDtI9xu&%CaL!^oIj9Hd*Svzwk&XU#)S2M=#uA%*Oe#jYdI|p8t+9AsON3j0q{a zZy#bP7&mw^j~6y;q2)AJ6#a#IPB>7jmKNM%mi`#1Bzg&W_n0O~rHvI?)v7QbSJvvYqK;#X6 z?a_%ki;W7afd$qW6(VoRc!`Z&b$yy#bA!hQ5;yD~X!p^|(xAdVs;*)XrTgY@K(ZDd zAgm60YGCLkV`MlpA>D(RqA}PQX%nGmyHf9z)bI4=NMHLW{Al;lrQgWk+Tf#r2pG}c zV8xz!70bg=L=wZks&IZa(89KZbYe$#;Z_yKUA6#jLM6c8dVhxAd|gN#iKPa8V(tD-P9HbdX3=GieBh0khL-@^?&VW0f(gyL64 z;M%YfE%Oh2h0=&Fh6-h5F_yZgF8{GIUBKLp$yArKgv0BcVjBuiL_Qt*NFt-8eB~kteOn1uiyChSyM+J>?%SNB!g+KWm})$-)b(Fn$1&=u`uAuLP`Ae2!^bm17uwbjKS^T#$Y*GeTpNIFtA=1>XupDK} zHRO#LN3C_53k)$%8j`37&2=#jR%J+q;9`*TDakmSfU8}U#>J(`2z0Rq-4RyHkpT;~ zESvL=#8FTcx)_;F4aA-gao*V>3@TzJN~{Mrr!UN1a0EeVRB6G=DVmF1VeUd<#@R5_ zoZUUZgRBQ46Vb!U!~D$0Q4)J2V_m#>37+iz{#@^(d^{X8PjI!@xvGD|1TT|A2`Am= zx4~+O1p<#?AjZn1Z5<&3V3sK6l(T2~%@&P8h$NNKZ>NqWww1Ma@Z_NZc32M!(vMYC3V6xky6DYup7IrR1sm4sb~- zWsS%O76oC?PAg)nIP3KM7DY^#uMyJ8Z*$`G!_Xe|1)hld1Soo{D{xgqZ`e6=IdM&T zbU%+>P_+1SW`{V5+<*(+7?BwiHC3xFAOz6HpuK-H*?hW9Fj>@6rNp?%b~q0{iqb`# zv0bjZUCAG@lIq~~f*#jXy@UMqozrvumNQqkO5+|d{#$3GJPKL*hjm}$oJxA&FVnQw z>cbQJ?TrRMPYCA)y%M2B;p?{Bm>w2OWC`bv>W)u(mPgNW!>w-eibFwzAuXKgwXYz9 zQx8tW(>4cug)mPb;9hVho^d*rF$Gusfjs;MTM~ke6ZHfXi%lTV8wpUeV_chOfqN@lkf@1}2$#)E@T=p_BS389A@&I&scuX( z*0Qr|BYB^+V@Bb=unQ6SP~574U<2madw>SM1K5Isg~V$xV>+Lh&pHat48}R)9NOS( zL3h!Z1Jtn|VtIO#Dlrvu{4lKLX5=@QA=XH+88f@e@UDybPmdo5N zMCSb6?8W{pt%~L}D4rRG`^yIFMF=P&Z4ds2tv&&BWv73Nk>9KXgix#U_k(bqO~FPd zT)0q_Y7QEh8vK_Bidyii4xDx0=zJBDD|9MXuv6PAw|VD)_nqTjw#<+YWUgI^;>-K# zay1^BizjDO=32k?mRDmIN6om|6|7ARettY-d+FtT&TmWG9(>!0P6c;iiF3FPx1AeZ z;T!}b8YetPY3b%i`}#Q=929locJjIL1kqAvF<7qe6CAB|n_ptpRhLh4{Fc>u;488@ z%+w|UQsgiwpOC=GmAJFNo`J7mRe&P6OS6JR%D+At~xpt|1;}emAPsV-3aA%`J25s#{XtXYf z5jh994eXTzMAJ+;aUYaB_!XZ=Va>Ns$Ubr=n|B!Vr@0)X3zQ*Z1kL_%z=&{a?QVa< zeC@$%1{6#1O-$EY$#jgY;l@%|@XO=a3(*|T>;JFz_VA6J+U8H7lYc)p{_k>ZJ$i$Y zJ)C}iehopPG5@0|XrR!0+dm?|`24T20W;snJwWJxPd}Pg?{A`!={*z?eAk&)BXpfT zTwm%Ei8%UV@BA?(*zt*W?^)n}@T#R85v&~;?9j^l1zS46G!YkN&T%v7Z&O z=OMHpx`@G1C2*Fps-A-ec3s?&2WvRE6RmU>VnxiW5d~)O*Hy<)9+VmkTNUQSU?HbOIXw7?If%>t!XhJyY z9|ENu$mk}b_I^54#-i?6-@PpZTpQ-*12nU+AJ){%Jo;^Jy%amH;@TBrd^fB9a%^{O z4X3;*w46Jd&t;UU8|6v)201nV_gnBR@*ZY0dS+g184=3;~# zh)6ab8B6bR+%5PSgtC8Pq>0nx2C9@3 zT)`Gt-@t~lT^0{I+Zf*g``q;&=XP$1pN1GK?#ydR7FyLKMD@ZpBX6urzX4gD(0T{M zOhy}-Bm}^m$KWJPyxAxSl`@cRnds4*i74Tz=CDB9*dU0^!jo?CmgDwA~_rZ#Nuzr+Ixvedn zchB)494)|f3R@KwQxAe2SF8F3@~BDAB5$?d*|;9ac)+*`Cu3#1f}fuVj~WQdB+S89 z!1~WJoP@fYP?xYaIEoJZdFgQfEk@oCT{_s0fcs3)mh+e~K9;5h4&nMlcdX-+p)|JW z06QwohOOWL%+vRvbwOXNE7NCcA;yoTiz6KzoyUOO`b{p6xD9eXe!I6Q{^!*Izy(jjJ;abLVkw$i+4CNfr2-7lqB0odKZ@oK0EH* z3vsJ-t`TSfRN`RLrhlBaGk8K5&i-vP)24$Pf>5UW;RGIfIsIEA8cXdpsi z>F*tU8p6AIkOmxZwpw@O#~3*ye}C{OG{6Ihhtw@fX89f9e~^q z1_?mI9{wdegGBIJ4D2T)X?uZH+{~DV6>31>8_F)V=C;N-W;u#Y23Le%wk5tre$II# zo_~U#dHgAMRJygbDZnSlU69f#goSfEL(TrPWmA4ebD3K|>_ohU(xXUEZ2kmEddFtc z{@ID<1#G=?aGwZiv@yJ*qx~T8VXppR`-kDYft?pNg_m|f8tq`6eViY2Md4uDF^b{G z(>@Hg^ufuC*&V^R`slMT0+8JF3xZaJVjw#><#^!XRW2v;f$j%1>&V}(H=1A21~tL; zTar;ggKs*Z`Pp&KTlLHO0>2S0UWthHz~`_lgZPXSalouUa}Ib5OxxUq5~6>vG4F&2 zYfRq?)}VIfXd20(lk4F^ZF9W};Q><`tXk&fcrA9~Y$NNqs{e-o*XPH>xe8%}M+TH< z0L%6F%ahvc1;ITGSPf`HHqGroDr|_uIhemUP-K%qQyGJpDE^{S29LNJa+sA8ATQ;6 zA%*ZJc%+}TpQOCDAxCtj;1PF24p&SZ<$q|%p)m)!yu3s=$bJi-yD0J^&FRX1g8jAd zzrZ$6PLe>pvo@~dZ1ADwo4|t-?HT3238a>I`Aqm9{Wsu-WlcM@2LfwtN!z>$?9y7X z2mAo5FZ}74vEkF)UQamSjJeN_hjTj6=W;PHoG|j-9A2=0w|qJt{T#~gC-L)>!^KwZX%fwl<{H-nwC%io99fKw!C% zl3ezvE-GH`En89MFInWhV}-w@4ClpNoIY}4;0#B%w_f~8hA*2zbq>WD<5O4#>_4n+q``dx9xvpSG-(?FshlSo5>?*Dqb(X7m9RBj~ zHwAwq@pk|pf+waeo1j$2;HL>t+(w4S%iMb*l*<8)BI4QOD~eIv&Kt<@iP3*hjCV)h z13m)pKGjE8VNjy`^wBGMeMcWnkt@1GA5Cd2`jSl(EVOW#Pyo)3tNortm*@B-e zMsu74sfy#75 zz0G{|UtmAm)seLC;#KtL@$gn1MeG5dcAhFv!@WH_jIQ?D>E#acPs)3N4jCfstA)rH zs#PodfjhWF0{-1OBvHC+hau6}TUcfeSr!#*czSf$k)%5O16-xUE74)=q)T((AJCJn z`r)|#7URS({V008oHLWv2m^ z;A9+}k8I(2SRUf7k!JS<&hNdzlks&U%SE9p;+lIt3w^sM ze5L$BQvR;*UVgS!z8+WpYj}5x@`ZG9sLyw9|EDjh_8$Rjwt-S~%JRQEymgkV;7xhM zF1inkw%~0SHdtV74IM_U8+~M>9CJ8IP`scXkI@fhye8V?52gz)dtQ7g76M?_75jG_ z9(?m+0(?niVk}3OdF&^=^syHZ2P+ZpHqHl)Li`iy6C8^A zfW@~FTtp_Jjb!Km*gxPqOKimc-Jbu@{u}fLXc&93RR%8h*w9=#*1;&U7a~9yRBLU^ z8QPY%m^@Xr%RfxpvUVgIpl#Vb<{sVz`sHd{21XA|(6;nP5lxtbcjz6_+Aet&%{&*~ z=X5~_67$QS@&IFW2Os)wgPS6R3C4-A;@MI@6_};QXZjN|NtVE1G!i@39;|i3@-5`Q zm1RV~weq{om!M*zgnEB}!4*BRTlsFYt^u)(HR_99>`_;H>c!4cuv`sbLKewh)p)`TJMY*lWz9S&d@Y@akv_Apl7=(9e zfod>!0+wVCaG8cY!g%jVO0*Inc{mn$799~+Q4!6H=3)yF_)gIwx}T#g;im$x)Sl(f z``^nq>*sWpm)yNP(4%m+ooKCj_w8=_fuq$mceoupeFs65uHXsqegAY!M^}^ST{4@b z>S9oB#9sLb8a~`5uxw~9LKf<;-B};L+TAs;Qz@cb6@8(6XZqpjZ+h}A`x*Ted#4AY zo%w6T2!zl&E7`f%e1P}$*Xi%;&FOpE+x5Dwgkna%XW4aJdi%&&QhgIvcU5 zXqMrbK&O?0%bNOo0Mp@c)=+ejY;P}wRI0`~UOV#Xnf56Laul#k4p^U!N_&o%W$bP9cET}xl%Ca<<7zd5x|)HSXKzMyv$fVsRJq1O@OW7Q4~ z?tzGCt0?*IblD$9X#f=wsIcW8w@fW@_qYBUyRLgHtuOX3wF5Z;f9mvV_`25T!li>r`U!m)YFWccdBNO}Q;0*JYa1aZBA2UDi=#jnsQ)EOIh~hZX928yDsBLaUIYv&3bG!Kh z(t~EeR7l6L#B%dAK}4?c9_A=3S|puAxBVX7+M0C{M2%aUjw@ee5e4KF3meyY%#)yd z7E%-4TP{?DQ;CdNrdT=bB#i&>4Z!%^)1i1yLBW*ns2x~rBln#7#ia5W0*qmTYOi6p!e5ze=rcGBIcc=LPUW9K=?lga{zBF53wqw<* z7Zl-g9~MrGiq`AkRy86f?}HJEnH4^femVY>4&$Bkj8{^wfy2b>KtuVpPI0 zvS*hecBS^LqHnK@_Vu67P!|)taq{hTM$*F&6bC~{I3zsI-dqVK;*k07Vf3n9CJwhT zEyel1`4_z5*pQcNo11xxHAD-Hxri4Z-xeG95g2#No}*P!R<(w?8$TPS2KX?p=0%TV zERS$3jJ`QTLa4LdWC{B1si2kYMe?!a?6jtZO*LM96LkdW(9>?xGV z(oJ9x`Ni_`f=p|OSBQ`YSTN=Yq!?Yn2R{=O0nsZ ze@GdH9@ghB(widNjvnjm+U6te5&I1G^Q+_H8*<%epq_?YRjoQx9@tVtru+`}kiur5 zw9J|q{KWqIUGlFxIX~T{dEO6HCF4vgVdJ4P>2I$(pZzm(y_ns-_!iurYJXfEK~TDU zEHES@oK<86x4B{>xC__ldnfn*|84o_TICNuMfn#0q2M;ks2GD4*GwF4ShW@~#2%}p zN{F3xpC#z<{^UM`!7#PJ4m=nV8H9zwFw3Rj0@>7y3(PGb-oe0+R9wK*hU4Njd?Rrg z#--e|!F5I0!rlk$wPX~wuAH^HZ-&n-EkGc%^iJcZJo?O0jG1C1>Ib~Mhn-#EkB z7=;_V8}1oVIQX?9W@qSH^weC7vaw4r{c!l!#7=X0_o^FEL*`Of#q$uTQBEJuqHxy) zhW+~6&d#g=oPgcqfsIJB^5f{wS-#WR4Da>$`H1FL>_32$LvF@i#9FFA6q(1sVw^|9 zJQMP+#y4R0)#8?rcQqEm zf!SA!TSDH|ILQ;3eKkifxHA<^ld4uei3_TL$C=$z!ugpmASwTpe30?OpdTX_kvGdV zQSkOsegY%z$$wnKQqdJN^-H34cWz{JtZw|yO5cI%PLrOXfo}^Ioi!x15wAOcRp0*w zpZ1f#gFo=V0(Qb!?#eh;k;~#*h2g^`sXM<8;-mrpSlO-HW_X@3?%^yz!6pe_9*LPb ziGD3NmwVt0VBsV8cVn#z^o(UIoZwpI#<^JVpY$hL zfw`p$SB;UCsE3K?Xem zJJI9)HDtdjCReZ~pjTamH(s7F5{#MEh#gm*ZGT_cie#`zbBDyq|3pR<0rHwrsg}SP zZzCAaMZfr;ZbpSPhe(pNKTwABO`19@dy0dP4xC;vd&$z0#k}##&BeFZa5c(f2BG8uysr_w7K z`zP>Z-qjkX*{j`r>z9+#AYMY7V1Pe!!$j!!y9d+-VB7X3S+0cx+I>ml2yqprHs$wV zzY4%9Dv4qXys|M9xZ6idl?cHCkpyz?gg6tcz1lcPIG-)4^&+M^Mkp~g3s>`JzrYg2 zU$JTk8!dlcnaQ_L7vcCk2YXkmRWY(UJiDZ~#s+o?jq)O`@sa@J!P@jalP-j0uD`@h zdWN)d;sDIgjc{du>2|!k5Z+Us1O>qjO9>RLTAVGgOz%XTv)AV09sC7c!v=pShVqq= zJD<-3u+*luHno$k{b}wnCBrMMgl;IC;21S9xl_eC)2gZ@^Rctfz4T?js^BNlnd%Q?QFJ;}hb2^UI zyb&+6w5khHxoYh!+%@=W&=v%I;#altQV%?66eSxHJPm=xuq_i9pZ~ZDxB>N z`A_P;ry6|EGOt!0VhM5%g(w5t*u7V7BJ#|?#RYr`KOq8mXeR6MC1>U)R$x<-@XEqu z!&L*Z)Q;@MByok@!9sFTi18A?;E=Ku#cA`CjY`FAtL>4}eKkCE=q*$Z#m(?lTbo^N z$^&@T0U#r}!(rwyh=V-ks|IgI;TA&1gM^sjdl(l8kB{R5;qggaAUr;W3xvmKaY4z? z;gV`jp_r(m@(CqCi%fglx!0z>^Li4}%A2uQtU0pyc&`ehO^J7+#~8#!^Pgc*ZWFv_ZDy7#jqOUy^YxtTbK|oJk-` z(xkynyCAI2Y4a_%K@CN5Iq1vh_H29YO^Ajs8)>`TNo>=d-SRaYs~@t}b>`BqAVx_{ zKM@Oy@fatO%GOqMN-PZ>=~OJfMf59|=yC&vL*P_ffXiZhTBr^W9NT!73ge6#QMF@o z?I9sI1PywSi2<9}Rub)ABD12%PX`SGfo$cGR=ksnj5wCAc-e(*S%Ir;h-g(jLFqIM zbUivBIe|3Bbt$SWu(0hB9*VIQ6?eWtl~R;T{k2>19QixgfL^h)eTWnK%vqKZel=oqcXA>v5$mR}9pR#HN%g1#9 zT3lMZs07DimN``JQwcdr9E#RxeN3nhc&n=3z$*QFql^v6UG)}G&sU~;w)1>K-* z=j81*yTA zgws@5%L?yggl zztB(Fip6t!BOlRAY#Ne8aU>-2y<-typNe=uu8Mx_yr&}{JB?52C>PHq`PeV9P%7l4 zp5xBD6IxQ(5fbMAt5j?w&G~FZy4KG zSq03y013@4A1636!Tq%kJ<=NgI;_omNZ-1sYl;w<=nvH4*LsYuD|iLEYQxJCbT@bcUrdllY#ySEk73| zEn8slGxnhE2y9Dkc9zKmK?Reqi%}~L-8Q(;e$uR+{C3tr?P4Y-!6{hV%|X^kp3p6~ zBRj0~#bq$`FB%+YP%{_JD=x)H z@qd84g`>RWe4;h23^u8U-=P34MwVbjQXl#~hMMq7U%wB({uI1)iE^p0XG;ITtyJ#y z5Fg@n=LE$zy+(gbMoNn2l1*Zloka_2;IwhyF~M~uhWp?cG$T=4UqAW6dLse2FS}_- z4p07Ajx3h-94Z%5HwZ!GMDs`nm&cN!?(fv9O4udDypb*#(gnsqgvh{9*~uhAPU5g8 zf{0u!!w=^S50-;D7ru_7;P1+LT}t%d5hKkcBTRU(Iaw&gST8Vwy4qFl6lkl8Xj^`) zxc}{0AX?~^U=5U9Q&8tH)CcEUnjBNjRjU&m;KWO;mT6TRSaiN8^IR3y9p7feO*%1& zBbiQFe;UJnyM)G1V{NkAQj4~jgHU0#UY5?cje!niru+$~XNnwC>;GLZ+{(`F$aWP+ zYax$;ohIX?nfp{3m$QuK=VN7PRf~FO{B}86D95~a6Oi4*Nj7uK)&tP=nHk@ot^O6)Z2SNC;d5PLWG1V2c?iHdJc zUY^=x{?N8mUB=?IEtPa_tyWKySA1o4Ixw3fO5+sPQ&2t6FEp2B5wZ}Yfl(ozq#cK+ zhN2gqS0_Gw#7ztNayLcWHrr9{1`c8WzM=uQgySg8p%(C3gi%u%`+p z;-%gTA+jy?F2V*YakBHqj`=O~gYV(naBtayyKw{d4Ss2@7jV6F8o)+Sa~O<33cyE@ zk_ts6h}SI5U89A6WMI#){}vDy&x%GWW~XPSe8*}W5W*Tue1(z9L;|SpYDk~-$?OcH z6+KQo-tl;ZXip?TYOlHeX9*a)jDxU0S|>I427J5|`I|O#dIz3rec&{6lt{%^es5~V z^08hVCEnfX(7R-@ObLK7K)a-LMVgYOW4UYzzw3qNnFuja%|G#97T78@4gJuj10}sq zTvmS<#j^I$dWU=Y1tNOd$@{bDUn}&gVt0mW>F7WgeGg7K0qw?3Lu%h*U@DJq>0Dht zUaoH}`;krVJ%g*nk*6)7c_&!R8&`Ax3NXyKgU9-7_wrPv&S4uGCt_?5*GzI1KZ?Jn ztiM0vx)pyWzVdHt7ElL6FHRh4R}!A!|2U4wmI&G$ZR-`~3 z?NO3)@$Zkr)-SyKaA2^-4}`WO=OXcGdiERktPgwEB$g&wKHo|Ma%2*6Zl!=AO0aB1 zj*R9zFW+5`yVxX@6gM+ri;r^KI8Cj!taaUT)VlLDsT>3^NyplKW!{V&k?&(TWBO?q z3o1K_2cmb!W)vFSMVc3SBY3WE89{NB{77SHwiK?Sz(1coMJ+_dSFW@XRxiC{=6 zkL>0YQdw6`H)KzrI%(>Ju{~+dzr;Id$y{UT(3NSXKh|ftesSC6L3Yfy2aN>9_FO7NJ>Yuz2(tE=#3dwmj|=1;4}m zYWai8Vk8dp2pt0PDIJ)B1l4)$4L%d};egrdW|tQJ7PnBe1E%46UV;f|RZV!+;A_Dz zPd{9aL=1gxd1%JzPnba9rm1MmaN`&)MBCi2g(T1sHZ(yDxcfuUVBvl&neE1QgLc}8 zR;L)#J;tO&qZ~VznvG0KxZpO>eVZYg&}e4qze$}pETxRa{5xem6orKj3)ApVhT}_c zg~#c?3&AlU#G6gcR16Mu`dWg%eW~!YhAynFyO}&dEEb)JEs<}+1fZ?sVQDstg`{nX zqiXB4tpI1S!{CTnlNEox16OmUAN=55xG@`dCBylnEn|Dxn)vl~X>DLX<=w#_&=BFj z+^l|A7J5a-qPjwbo{}4kU}UkoMv}!QA?ZbC5t1T&1A<4)N`YUwvkBqfo{OZQwH7^@ z1Fv*DuDu+r-9PZ!FEO%Oh<;)x%_xW|g4gCCRkeq_5*7!W!NWMgMnLW}Z-JC1wIehT zbA0sIxW;1IvKuSGJUwQLYAjsp|BQrIDX@LFQ4k5V%FwY>uC8JqK;32)Q*$X&hMBQ_ z*cS5-BFk`k$-=T+=s4IW-I=oKj_;`?;JXYGw(P?3kfyhlCMb(RWL&p=E&oftt;iR} z**^Q>$;*1Ot~-4_)kq&1OEijQsXcX;2-mN>QaYxbvhc_?NC~QV8@fb0=x>t8nC>!e zAz6S#KnXm>A|4wt$53dGVPqD{CL};V)CE!iV6XY%U1)9P@z{ha%YVovYG8csN-MYd zEOUH_MW2{|4=Dh@pMu4|Ry2*PRa+f{2NiGPojDk%*GBhQ z@6F(YczUnPJ423qw*8Bc2)IV-aR@Z;S~0x z|1ZCH&7ZRiX8ER1$(}aNmv@9mPL(ET%NhVX0{jF$MSb4UW~l?4QB; zpnwniue^ugOk{@Api3QwE@eLOKLZ?k0tlwWa<~eYxf*gsap>+rip``k4yU(uITNAm zc$^|ec&954mxn7U*nDUSDC8}UxA_=q4tA^#ykND-yyu?-z%X3V|BA^s-MY4{c!57v ze1h_BD43pi*=b~dLNT{^@tl%{la{2WK~{m~8;a8%#dGeYOmGLboZm?!(SjwA&@KMQ z`Rxs0ODDCa;oQA5WMwv-Zs4(%fUXFSg%c$jOO}UdLSby81)8y&1Szhv7-JfMBlsT9 zuksINacyO9Wj{)Ev4Pdo!iD-4%mJ6#rWP9qw&M-C#pc3e9 ztb?hANnL$h>cN0Lj}S%C-*aYo=9V*96s*)mF+=VZrz(krA|*x85VSZ_g5LKwh%?k6 z-j1vJ_eB`MKOj{S`Xgd+7bPk`Da*@T^zl?1Is_I~PdX^G7gpUab2K&k{8nrax}Je? z90v9M&R;%-w!!MK9jESA9D;OU($^(0Ft#gRKODC*ylW;J_IL(PmjA?(#1|ra^v(FJ zF1X!q@0n*l^YpI%*UTu$z0Nn&3t4J5i4T_ri|3b=F7Oktx&aOBXJf1MPgG zSbn=4&%8@mp3>RXjiYB;OA@3e-(|0+|0MQ59^bh90-zRVLe%i*;nUwQ`FwWE0Y(HSl@k-9WT6`S7FLh@%_g^TJ9ok3nF$QCldEOUm2zzoDxO@l!;KH;QQLkwME-$QSr_VELu97 zdi4^p&{X>dJjA~BUQCxf{0HBZRRo2O zWrmmw@d}izZ#VC#Mc;z_Xx_kda0#vClNH3omgh40O+K*f^S5DjDHX5a99P5C(cfAL zyZm42)*%x!g1P*mF1D%IKR^&gwy|Sp;CWxGR^mA0t45E$GVbqWdj;bo(nNukb{y&4 z#$C2EQ7{m3FppV2gtMk&EAV>rHW!gKCnA!pVba0>XZ>a}0irtcb4A9y;tSH(x^>d!v_G=MC=7J z%X9vW3EW68_b6ay!OWYcsi&z0@?0=&X4l851v3h#O)HqLUa`=b-Cq?>RYp zmnR?j-1T*8K~CX#1(ZoM_(>H|Ff(>PV`5=fMKcQu^0TMjG~H+AnK>!nmse2ORTI9T z#j2($1qG_7Q?v7Z$T_88>I5l%V!@2ABKgp*@dYz|`O{{q!2ytSr%cM1Tqt+CYH8l} zg#{LnXJ$`P@R{z*M@C7goSlgUN3 zF5wb)nKdKv9cN+GdW>o&1*eJ11c_s{E63nP^l-NfJsyOu&YsQrk>MIJlg%zEEnU1M zb;co?c2mwMuU8^_qRp)bb@T9vW7uRFWZ1R0Du(SSQsSv?YU2u(8J!DW{aWGTI~Olm zw%9v=Ntxd<5kFooC1Pvik~;%S#pV+zEpgbX%1TPhOG;H=PG|fDEMbkd%`(Mh0N(R- zBT}7>0mR)VFFe?GS@V@>F!ClU`&CfBy`PGK$&7ybLEy>vWA-7yHMrene(?fyPG|*z zf9U~xpVn@?3(A(Q?)w9*{Snxq;x>M$<9Kj?QrG;ANRx&;7f2?NugU4dxlYbZxm&;q zaexVuUn09Mt^H!IU-N6=6?}C)!5Kq7uKr3#{Be(LnBY#zc=;l}ehu~S>REqcF8soJ z*1!FwSp7dz^^YcexxR<`pGIG$euP}P)Igh(C~b)|1rW%*=4^($!LdB6|JI{jLLZF3 z785&WFZGvpi5{19$sSl#C{yFj_%KvGsD@o0li)`giD>sl@H7^9(ImkwVCJMhLtYp4 z!P28Sv5dk?BO$sc4&AdXbZ?oh&^_UH$R|ql?{^2xLJ83)dJs1rZNca=$WC3NQ};f^ zcL7G-1wdf*Bwl`kiV25(N&rNM0yN52&#B0m6J7*#eTVdV8W4emG1DSXJJntu@1BR? z#zsG&-(5I+9G6Kk#~{t{L8!1dvgn7c{^D&n`4wHovu9^lm(MN+UDwwDfM5@%PtEMP zuE5h_Gz3sB1AKv5o2&$ffS#E86Z|ca6_}BG0qc`i9Rk*Vz>Y+7^X&j@;h{(da;V@o zvtgzXklwLE$Xm%LBL4|=5O-!QNEAnD*7~vexr2dIB><3FcA3l3_YfpDHtsz%*DS^x zB?@l-M9D7rvJTDGgG^^;D_lX>XT#=gs9EEeMw&fMEP2 z74LhK=CBOw!sai%xa?Bc(U;7Dy4Iur++Bpp&rdsossbC9VhSQ`?@$x%$?dAy#aQVm z=lX2SECYi)%=G`4oF~Cw?C~jB{F}Gt+AOg8PAAT2)z;nv2-#-aL3U^pEkvE$ni=8O zPWpO%f&@glY7RqZ!rn3RJa~JU#cS$izeLh7?D2r|!ijPql4Ek@&IKAg#28|3yAIoz zw}Wy&@{eKseido852EBV3vxKjm;ZgdGuF8B8EdX1-*?*cGh#2=MvpG~E$pU$-abds z?<2TErSc;#2baT0W7idNeqJ*NhQ7`d(ckw%n0Dq`Rfsz5DGAvkPUHavp`GIK(AD0d zZUrN8deEvq08v>5r`N_h!faXS2(z&c?N_z9^*H7#qiOUp&L31?Cc+Dqs>RMo4GQW$ zeq7(SC`}=OvTcchOQfc59~~p+mXwbuL&U7&MJl;^GxsOf69lJgZEQlIOh!zUsEI0> zf6h{M6PUZyVc}f2RAL{!Azh4LQ?M8V_;hx0<3gYgz#z7Mgx*p9gz&(qa67S%Kk>pw z42awO`X6LQh~^Be(5eO@4-)jj-UWaPyCI#gkC^8w#%`i)TnIweK^Ft@7g2{$FS`WR zpu+uO-+si}ItyPg;{3{d9t7H( zH+~>&II;{qlAg{-Ia<{@czpdX+(riBZtI1(+jc2{XpRIAj@*EE7H+B9V>s2-D4KFS zcgGsV)+C$L(VEC2AXFT;JNY&qze*O*^)FHQr5GQD6F42($Y%3HVg`j$_30FXyH%A! zI4RkyP>HL;L^=j7m3tJ>CI3O*1iuOwH3wU#pxYQkL~cnm|J~jP4)l-1q(!?Wb}-&R zTvI}gnm=B^nd4ae+pdMu@CmyhFk!$uIoT*oF_-;`ld~40f{Yc(s&-yG^%Gj?HQd=~ za0{0IAUg~KD(Gz@IigvJy3MKP=_Gm-g!E5JyV>V&H12=n7sT>kRpeq*%!mu3=0;l3|z4Ejx~PM&{sy_~%$G3QNi5 z^GcU2QW$m;Zgs~h+U?071%K?Er@)}4L_v#fo&tYf`gaffxw9w!l+m*pVA4VvHvVW; zU!gOAqOv#*-Yi&DMVxt+V2nAF+^jI?3}Q~RV2*_bivh{gqm2iU>O!0QfM#)Mv$<=& zqgywTL|77r8aN|v&Db-FC*X(#5Uc&Eng<!>(j5k0U$ElWm*kA0+Tygy(a`W+HgQ~^F%<~J2jtQ-IG6Ni>8wbp-nvaK$R zOXIF>SQKcMu(CMBuyC?6Zt*WWnT3JEzi?lMP}w#U>naP|$^CHbx)xUA83nWRd^v>^ zcypc4H!XY0q**>bO!vW#Lt_>nvU78N)0C+RPxwHSQBF3jad^y`UXY!an>}MDACv_L zHw6Vblcr9YG*t@2b%IYy$}5274~8fosK>TXi~Ki^d(ePHh=&JuwiXc+g2xi|o!IQK zU=b&wLqK}G(eD45++aSw!@9YDgxol_s_)|lTZ_&z3UNx2dC_xfjE{mGh&Xh?s&MuE z4p+FfQl#vd4npFF4a^U()=2#`*>AzWBS6>o5=4DA)TIe2?yN#*K)qN-Le~SAx$9U+JKY7iu z{+L^|&@A=cvl!netNS6m|B<@Ci1%0F9{k1EHk?nx@MIAMR8X5J^uuxV)%Cu+4Ep~N z_b%{J73cf-Zn6mhgS%=_Y(Y~C3KoG>s1Q)YWrG($Dnzt~B0{*-04X`kMGY)$7IR!z zsEVaktca+sR#5>13WR_OcxfXlqF6=6de%)9!6GU(|L1vU&hFU|Zhrrt&yUvZIdkUv z-sYWm-g&2+I=moy0>pNz{wn;FEO|8kfe261>n4(<-d`orl49TbL{luZZJ|ey>P_+h zQoT|?EILOXK&q|qAoK$ zHSkM%BW0c;l=(4IHVIwQ-+Pl#i-N5zjlQIm)O#uVjm-Fi&a+lfKc&q+5|?3-fr zo@R(?P(NP?>!yAbq%$zqbLsy(;PNg5i z)_DcKzv;7f!Bx3$- zX^4&yI&7cL{c7&lJMEw9o<(#FGK?J(mCqXV7Z6{<20ACX>gN3Gw1FzCjo3jAu8nEF zTxgM85oE`hhwHUiC-rm+irY`+oS3_^x)sTZ*6@6*zX*-Yytf$W{juf_WcIQ8Bb$7gB9*n`)7*8SVVJuoMeM&dh zDVM~S@%OOqf#6RWS_{zw8d`ZG$uY}e8^*S?9=S4BDGB_xR4jE9ONk`e(SjsmFd@!+ zi8iP%LR&1iXF9$AmR#>9Md}{I-_{PSt$Td&aeMs6T4#?(wo2*o zbJoqMpKM$`3j~?;IkVT^K_siLq5th69F@7S!<7(@^q{Q178%x$hd{BOfbJ0+gf!@T zRwO+sAE#0J9dmJfEps%JkAGSN`PjDwN-Uc`!)SiL>QU*BnVnN%i*(0KdLAU*fnOZ! z;{?57A1;t>-Sh9G(i=3ENuar!zmWZm;-e8+5TM~&_UJ~Eb1-z~P)3r6fnq0-v47T+ z2v3wCG~TCS{Rt`bRo=qc)w;1hL1;DDhtPx;K%OL_Jq<#$1!Q1?bv-{iC=LE$u>nLU z+S6TmIqi5|AHUk!^-n!1U4Pp8+NY?k=dCSLn+wUB+MLGerwc)C#iX|P=YZM*q_%u$ z8M2^|`OEsL`~OOBU7tUK-ndPz_Lm&`6{MA&-qJ~`t}fZ@NbKAty)O^T*Ym+j}2{dkR_P5{HPX{+`*CxQlp z79F(pI0=a4GhwTc53PaskxK0IKx0rj;(B%DUN|PhRtQHC0A6(KkGYQ5`rwq->p)J9 z)}6=N3(zXWQr1nkt9kM+{6YfxtVafe7PtsC18+rfFAF-1dD^-Wa!n>^Z}=J#%24EA zZ<0_>`w)aeJ>B}|hgJ!L-NVO~NtG?gqzoKujopF|&F8_S{zlq>SDff?`kDHhemtuF z)+eFA4Ho^ahgRHHp!W!#P$1jq_sa|Qkq7T>ro~ZVy90?(;9iFObx3j>lEJwOlFRX{ zHIC~B$$s_S=0UrsqMx-i1jh(YP(L%Kpc5&&+2c!qwS;bVl`VSo{u%bCLDAfzhMLx9 zqB*Dyx2j=UCH--`+8drJk5In?g(szK70gpZACF%>^cx3K*-{FVcT-^-A)-vc7Z?4Y z{)e>!HVU|g0``#BtV%vm+MdVwFjn4#%s|D@mf|-Z%=ucZ2uVtRYXSatCj|aV-`Y7q z>02(8ODawTzt*=B{v!$ew3N-MUvY8Q-TuF8@>p9K*$ca*eV_x)}W^; zet5qt-(Chs>N8HX|I_Q5YVIlX1z%ad5vPx%Zj!5heLdB0P62+cZ?DT_lzeX`cOtC^ z+F(9BtQD_^sCb!35yi`zzKOz2+&xB#(#3q%6nu{a`N*L%^t-KeP0l-L_NIih{LHhI zdC+IdJ4}fgK$hCjct*|d{k~1g?kT7oIg*<#yAzu&9o1&bFy?5cPhN?0 zt+8JC(42+1M|Y$}J5|CTmH$}S$$!ahz@zQgCG^RFtX~G=x`&i4yUOIuzYlv(A46z@ z?S89f{x(M}S$+w?9DBxZ_?vUazZNv>m~)@e_KX`_Ir!(d)F-b*itrEjZLxNNgv_!I zzerY+$*8rcmBLErAZwD9{^nq%Nw`u>IO+S$BqwqEkeu|(Bqx;~I^HPSq>SP&5S3#T z&sh(!e&Ob0aMDec2~N7PKR9VDIjI{G*K?t7eYO+B-tms+Bx~EjB*}5kM|(+Zs!vqxnJRfbAOMgOYOavRKpys!eR$jIUI&L?%bu?i(6WsDEr+0cbm}@eKNGc zN7;y1y$*^xNUs73uX#vWdw&Dvfr4-)uqW0oTN*m|d)2O8a=&*CKy+;48wn6Fhm!Yi z1I-S!9c91w;e~3t-iF^J%yN(9194M;xX4*pYdw08^g4VM5@=u?h+n6HaTIn}5xTJ_ zlC48uC-E6SE;!MS{Mlmxv5R4mQP87eV?`nqM zBkZpYuL1_j{<`uH3Oq-%zZTtaLiX2x0CLAhbLnGFG=BlIaG*J5f0pxm!njbS5d9>6 zk3jUgK0x$Q?XSN$kVNK>v%mIT31r&#R|o#|E({eXg~n6_+Dz)m=0K!yD)gb2_!E)l z13v58oz3v)ZqA>+S8%vO439LS*Dg|gNvWE`m$rT3h~4yDfaciP+W4pwTLu43#TNBB zt%hh<8XI2)cPe~M#cu*%$}H5uYJCatMJpuBN6v(`t(EF}*sq!MQq7#4ObkpWtrT-I z`h#`jS4n(+aa`uy(E@W$Spj^m!v_a0OQ&!#rqGCF&3r0VV-2jQ?CG{YO|$v=k++)R zYcmj`mEvBV1S8gOw-HCisZeRf%6IB-TVSi~B%*j9m*~F%jQZH9Is>Ch%FiW0t%I?6 za?m~`YU3#TE`_5m_!S({WCt8sQ+fkGzt{M&;$J4=O}~a?Pj06(M>Bou+vR}wx2flozNOghq}~@tAP+n}jiRh^_s?ehc3SiKscegLemc(-1Xixc@HRqBBm(&u1E`QOssuJ3lM%21f^Tbla9Vg&?_vR}eiOaR5?$7p?qV=v?CbEc6XT7Cf2q>)%%8N6x_%In_1t zhLJc(=eln8VArVeWmC#r!$yu8G{Q9^8Nhl_U1aud6+AwcB#E^s z8{(yMp+f1)glfAE<4zy9G5=mTa;+Vh-N{{vTctM+(68&Rz=KL#H&myszc!J!{(3wD zz8*+~V06qj&;;JH&UU3qyc9xyyvmUiz%QIz+Vk8S(sS8aYxgWS+_twh85f`=Fv_at zGNW=D4Xc=|9KfXaI!GtO~bg37^m}6pCj4x1D3hV~j0- zb~1)Pp28S^Whv8Z|NLx$=`fDU_ZwG%h$59GW#!I%S-txfBBl??-w0|!_fT`_p4^%em){g zTc7leUOK!I?D4>nIM(agNYf#%-NZcavDS&(Ivnk8xFy&&ov! z$z5;yUqeFZP^+2kzwy7uB?E$EXc-d4$&Tp2?8D~f&9St+n!JMto@4~5w7zxaL(Mlr zo3pf|f$|TH;O@+UV)I>#9!A`K;V!lmPoY|0Y4g~b;=?yVJP)hyZ_#4>0>SESj(O{fb-wLmMtcIVqD^%}6NAqgX z)dNpPJu}flv_oyAr~wzVnG3*U;*fI5F0tcsC!h=Z5~+ACat*xPja=kv=5NxsmC+_t z?~9Daoq2)%kueRC5IHwwWrhx&>AfR{wwpSI`!59p9_;sL&$teMQvWSQiv4^tztd62 zV~%=Q_6590hQMdU8~#1Ji<1>YvI`?=bOVB#b1r4FoXO`6$K59)vvJlf} za(QmhTiF3+?3YE{gu}~3d@&02!@L{uFrhpvXmoG#^FF$ee^)Nz6W!`@9|~Eyef_(< zca+243EC;_cd>WDY#=3eGZO$^z_NVf?d}CSf(b z7auW)7u$1qvCR6#L#Ir;W!$6^SC3})sN<~I(_09A!|;hnM;=XoJm zA(TNdK>^wWKt}j2e8yWMst{*v>+grTTP!ZG|A1VgviA%)%=<#d2o#!VhCe{5U_Y1g zF~c(I@Wz|)VI6BhrXZf98!R9&v?c4n%86zxY^5wfV%3l|mCkKxP71vaX3{Bx-3j5l z)d}xv2)d(GESqs zHn;>0M#2PFbPdmnI-9{b=+{(Q?> z^(T1M*ZCkU2#NXv6%)Lmy?SGOUWVdkZ?Lc4W4&79FbFurn-b4{$IGI3kRM+}JeTVS z@1na^s)*<@O^Q$xmEP)xLbZfLji_PgbaK~43*Cs4jx_7W#AkOybc7p0(vcdR3)EM_ zxY4ADfNrHREJ~V^eGRQcp9?)|_(~W~tS0K)#=!cq#-n9+h7v!Zg-2_@UX!Ix<6_qdbY0!bG zBE`;9eD3*Ya=${stT0FeOn1x8+#cH`Zcm~dOx3n3nR;kCD zzXp{e@JBJ`9GPXB&w(de9^EN+4VW;l3|6n<3>-3SWTz2`z=QR*#7V*;6!#lI(3sJ! zhYuk7_fm-Bn;6$#|2oQLx%=dcZiWo?{sD1dr5uU}ba} zXN;;=m@hF(kM+VAm~6wl*kPp=a7wmEk{AO!yzFbj03GIRC&Pe93?5MA{}q7BVW|0( z)hVdjHKAGTmv3q&N6?nf+@Ob&V@0F|48t4#JG#vJTBH9F=^lo}PHM*4*sP|gU=NCd z&s-z*5iI@e`U2xZLQ>7=N0OQMjygzwTS!$t;doh;r(P(ryp`M4WF{|*K2t9uxhkK* zi|XXYT=W+`g)GL1@t4y^@%}6qP%)IKU|0ia2Zs-=tZJpn0*Jsst?vJ!)^j{WQ0vJN zm=h5llZg1{D!0c2n;Q5qLQsX zO*EaHPVql*v9pF5px{{LIMXfqfRvEMk=6&!r>uZx`D^BYy1K<0f+tmy3q6z;Wk3~_ z<=)F6B~b>h(GLz~;2q37ktNKG$z7Czmzg5)2-QH-0=-cyD4&gE$Uq2}O;rzze&;;ZG zdt4lIw*3&{5N4s531^A*oX4yIGpPLq&ZJnM?Fsd{eBKlt7xPqn#*z*nk7kcs z^7iqpW*6V#w8yP^C&g;^*NOG5N~cF>`RayXA{nA|)gek(9invAA)>1$So|@?yP~2l zx=Ou>QgS}BDE6j3A1|Vn`t(T7#7JU!RNlm8bDs6!--T=@qEXres6Zn0P;^5dsL7VO;(6;3eY5P7Se+W7q{NZ#jTh*nr$getb~Ph5I!_lf1LhDGsaJy zpd8l`n4)|#k3Kj<_8@wN3O1MegAFL#^MMuQcIn=|J9f@(Grhy#p%hU=v(Yn-9Zsb< zGidr(SvRg}wypH%1gDw%ln2tTX=F6R_BW~qVKv#Bk0u8{Km zzIY}xItdPgTeon9P{%C|-lhf9PI&k1NeC$bbLUOAqJUelrOJr^HJM`WV2wpDMR5!E zj@f4md#z^kQYn-R>&!%@dx;$XONjbmra7;P4L^qu!HTy4wQcG`>?$PKu3$x)N8!82 zs1+J1tGF6CCQ^nka3ZAvNOT~@>Ge+u$I<0JsdfY>;g^b(^;8brwdc!RydL&q*E)$( zd~gr8)W-t4%|HB$AGnQ&3GPKg-%7t1k^lUwK{>p&mZ9&=p}bVieIo^7Pr)7rzObt90}vUW z$oP$u$f@5Dhm>^I*Z(3(3X$(PlE@dX28IxZNKj;?gUVA#Pxg-WZKy^sh!k!dGqfR_ zvq|N_rxmHZfM1e|k%mL#)R5<#Zf_vd*OaygJsj6@hyTz#=kRku-%fgMPHbhkWl}8L z*8Q&~iH2vlQzZEIgamJ^B)CKzXePlQh2|H_L(yjY8BQ81nO&l{lGKFmEY~*m3bWb9R`4oO?f{D0Fsoq5~y;3p7MJj_7$LU+4B2h_3D)01(NjR zU82(eKjrtnSB{62yKi?Q#rJv&Qd*MV zdsZo??DDLZ-;JlXB)@;P`zZ3eBR{0b??F+g{O*l6i1JkVovRZ?exI^E$%;QtexH4t zmfw`e!uMv}lo<*4wxqW|gn9D2a^p_EYhJS>E-1e!?d7droZh4=MLdL6=z1Lf zM^Rk3DILfikINVI{Yb8fQ)VEDZVMl5#jKhCMD_f}yEw=C7jss``RRnB=Ci7wOg;T` zDa>5ou4q^4@8idLOC0#wb(x8PP%Q?-`HwV=Lwe>FNq zjK-hR{y6@uD{$R|ci{s_*Nc?j;n6-b7PwAz0q!u1W4B@`y0%WoZM}Amv-QELtv{+)YBZqx_9Ru8EL$X|8AhJDL9Xh^hBchPDLQQN?)0iO~pJ5G?1GpDi%`tbOJ&vK2 zYD_{=egY><9XiA+ETR<@FG4m{>I{7t8TM4v{}e8~Xon(^qPt}9xTngx5Gy%zi|vAj z9sDCMo`k&%RFc7*1daQn2xfeYc^*;z*TGd^ZsQVvJ zs=AHt&U*W>UPP9$t7et{#ZqHh#Qz|+X@eDy0#!>Ttm5!c#o{L8!eGT}Bt0RzcI7$H z7Mp7qr|$%*W#B`^e-~k#Uj;!}1VnkbHPsDoWSi>d#dg09f%_nVMeW~P$&d~zdg3d1 zN}T7tsJap~z5X@~+_F|+R4@qbx`U!tT0ncR;0-Orpu%&#Y5VRKU|a;4%^E9Fjg{FN zjsCr5VjPHiOg|Bh%LmxZ?{&o<_Q$^SzO(AjRQBh3-JdJiAA7`V@A2sUc%J>33%ZT3 zu~#kGs?M>fGw!^Lw#6X~V$pxtG{59QfW-e=%m?^`AGbjVDyjl0;~8gX>ix7Oao;6{ zv}Z5WTrhiz1_huQE!xI)BQQuNC3k)#<0tu>aBNBhSn{ggUW49>(s~S-*Kn-&v_gkp zwa2PU7qaw=0PHbJ?_lXsQrbLdmp@Cjjw^t1|1QFa08z1TG5BND^8xG0W<6UpH&DuH zy2*+yf~DB5U1Q=xV&dUrR4D^nmq|?M{Rg`SJ-+iez8fKDk5P$?&tN65CeBvpsNtQ( z;eGos3@=Z?a(|3E4smQfS%;`{`LHjBet=xe!-JlcZo^<>C8&mLb+2S_2R?~q;K^E8 zlT<>UgY60PT=E3j5$l2bnWNcy;Jz79LMrg#$oV|={w(uTydV8v%KBma%&Fy*ln#T3 z$;k+%a{7!>B$2FL^%;5;cc(hm2g&mh*;aT(vsFQ73UV&cAwlGX!=OLHS(v6uvmS?8 z{##7_!5jXB8RT>~pBRVs4W{4(_;uM4=h=UbH&U4hT5*dgJ-uJ5}4>wJECY6Ph$I7S0}=<|y-WH;5VlNiTOu74nt4 zJq%gF9kr%(i0qp|owBZtF&;tWI*)Y-1dGmoF5XMl?=~iBgCaR)t$2ii;c3OoDFLKr zmw`5x-~-m<4*ZrQifjVED%eg7Sk}2xv79_Fa1?wmS$;fxk6dCqhZEnOWyr_DcYzSa zQSkldCB%1Pe$ZwOI#t>Tm-vku-<<)}W8-_vbSJ+3pby9T@~h8h}(9#_ccFw7GP7iZNO?4|q%IMyMXyN`o z{Xr|w0kP;Ig-|rs1@B^SXDqC-@UovWqhxI9lxZbh1aVzmE~xECm+p%fgU@+8+BCWL zgay^r=JE=RNy@|-<0ef--Kn3F_8-J6&pU|g`a0C>(>B6cDt-;1BuAw8LYO50=neBK zQusAhLEi2mb=dL5ET9q;7UUbXpI`hwlYRyrs=0x0?yuT`x%)yqGkTZV_vM97zFY`-DCFY>XVISSxa;) zfxi&N%oy=E7I0Z~H3$=%!f;Nv8GkxxFWeMqZ*+tFKuFpjn9aBrok_O^KyGB72iNk@ zn0@t75K&X$9i_Y^2kC?fz9>TWI>zS@PPkTi< z_@=keJk~$q1WQ^8v_Y!%##OL(KclfMB#_AX7`^v#4`WGf{cCZjlRjs zI<&Q$k}O9O1PmnOFy`!T_!T6(z5_XMK=xWWi0)Hb*f|H;Id^^w)E0ppaL{I%hIArc z7$f`oxPh9<9zA&_##bnTHy-BWbvW2yz6st*!))1=rT`Pk^>D5b*Gq6-ePK3V>I;RR zLh6PoR&^6Hg6dH=9cBN6s^XhOzUaUxjL@yfg=+)`=Ct3{29-@<&E|V-d-6Wb;M#27 zr-_=U;r`*#0K-j)5M%v9M!BLAUv2Jl-dF5^maSzMY*%nC#;-8K6NdoTSCy1P{!*k{ z_kGjUw1Q2>@8{4~PRw-0t88MoZv>%nRSyU!z{`>mC&3Y267l}@eW0vNk@O-$Pj{a_ zw;%}8whX5c1XAVyUPgU#Weg{FC9b&b`qsKCS_v>Depc)IE16fyS2y&c}IEn>eaS9 zvqSIo(eiBmsDwN-afpoaio(mf5>^6I%6!zXWtP^4T98DqDOmpkzaq1S;^K$+Ll8r+ zB=o^l`ST0Znksb8qtMAga;ng2E^YP?K0?~mISC8W#YRp-+}H_9-q;9jS>9BEs#4`m z8RbnsC2#J+SDOirBX6F5UBTp4{0cAj`I=0SkT>rm-Rg7z@`g<+dDHu5${Xkxc8@P~ z$Q(NjEMf~CN0KJ2B)w_*!^%_Sj||5lf8?FsKa@WzcZ>3e`Hm-lg8xus{tJF(%!6?V z&6Yn^kRmGxKvLD!HfU}`hsXV17w_#sA|Gs(HB-!iUf>V(-TApnF8*L^QZ2a2Us@8{hv|)UJ zABx}}hyojb!~4S3nf-?4%x#S!g1MUF?|Ih_%D_SAtmvrrt!buH_HCJW%znV|rABa4?LlpIICBz693|Y=aGmi!pchA~e4?T|^ zA-REjNMzVnEFlWS4(JWPi<~%Roo1Aw!ic{Cxp`V1n%!IY!L8meu}=6+;m2o9l4{_S z9SBPMTUj|85)sBuuwfR!vv{W3ov=Ehq<9l`upQLc7(lhPKr_bED2HYnP%%sEn$Ux- zxKTPnlqh6vk|K@n1LnwV z7BXJNId9y6eus4O^v!!9mC}5U;?25!uIg3J(R2K7u=KnA(R1uZj`aj0hSx!Exslnb zY}SNHGs^PwakJorv1K@sG;0Fpryj7V_E2vq@&ESU71s>&yIi<0`ojFqr2+Y`8*h&; z&+h@3lOE-hU4y1iEh{aNt2iAUSCNZT<;C;v`HeIV5xx)YggvApi)8U7;EO{ce?tnt zaJ=}RdcRj*P%h<2V1hZ`#?EqfZ!1}EAu$09bQ>{n^ z>;|e1DcENZW&4+b_S3O)jt$cPTOUzl-Nx}aDz+@Hu)2LVtO<*Zfw0*}{Zt8qlv^kEKMf`HFBPvK6* zZMYL#gMj-ZYLoMy=0W&1OQHA%S2y0l0`?F0>br|PH+C7R_#O;VISc->8c2!g!FxaLy;_KDtcpUSI zy`J>09g_`CZf)1t!O?b!v|XUuw(t_^NMPjc==)wphe%sOLiN{d01WyW?kwZffqmb* zeIITAK1QRCda~kQ>#B`*mAj4Sm#<=f0sEy(Awp`5M^Z;{-Z4iY0rT`AtknH2oF~GR zilwJ_tv|c6rpkYyhe>u4g0`)yo(da%D|H1~yxxtD9Ak8x1IRTdWV7tm1ZzZ;B zu}k7a?r}hKAqxol;}-A>`yV9<1PW9bTv2|QFsE}54$_R-28P+C?^W0KqP!aK3q@HI zL*F&wOz;)0Yt5ppG4U6Y>jl~q5ibrmFji#a#splK5N@hRA?T!D@zNMF!y>U2$7zrP^JLIwEJe8w$)J z?RD!FOq$i+y$@*}bSI`T?V1kmZAiQ2?l=WZ_1F9>x96VO>8hjYSk+4Rl zTqP+S4(nq|A4y?7tc@w>O9}^uKp~QngOt1-u?v7o8D^{_o>V-{mhcms0DLCxeNMP5 zeD6Ihpr2ZIB)&C1i!?q-BZ5-Sy+G+uqO{0|SbdcP@W?Gi-Y|;3+O1ePDo4EfP`TWb zt?}9uI(`DLKgUY~uV?BPfn{s`B6vN#37Y??o*C7|ZNH+NnQc>|@{#I_d8Psmk8=?bUw|bYuXFyY;^vaX`?#`>TGl_WZJA8DVu`M==1oHg3j9{#fi=-lHx?? zXi0IR(~lIGdV2ziGP2nDcuL?a%L+V+GZDe90$-!QHIc9FWV%_*#M`s-YG|D`4_a6A zlO&pN4BY%tM!E=JQ>AQ+zv~d%tKt-J*-F4&+z1`xFztHr$S{*!-+g z`{u#uu56+-^M5&=w0ji2{e{3Tj~_8D!Nm_ib~f;I<=Z>2$4YB`CAD( z?X%->R=pCZSmahkmPL_vORtC8@+k~;1M4!b!1GXnT3yCaJiF^MhT$itE@L=; z(&{os;isl9<3{`x)@2mqC%Z1A5-Phsm=Btpy=1$DDX8qg_-nE0> zpn(28ROqAr#oo%r=wjs#!+kaO^RDr(Jrlv?wgkuGq-0+-~G}*IwsVX%{f< zJfxjw);60drTcM9LE%|<{5||v3j#Iw;}~XtK^HXRSG;R;F1B09VQq*`5ZHqDHwAC+ z*OVV$iDLg*{G40tV^03XctV#hhK)CkH!BUxGV3^`cZ^<2f4Xw^8AqP(|6Fwnr~8vL zy7(`EBe0I~(7I`ry~ynw?Cp8i*2LdY{a5-q!IY1 z%%TlgS!Hr%RVXW~gC^XQU=Y~6j$dsys7vcH(A;M3Y%y=(qxikS%fSH_xD(7NM;X=f zzliP)*{H~sLDtn6M4HcoSIfUpYzn6-Y3zz&6HnhizY8|5Bm5U&@?6`he|K-?O(@(i zuy5v1gL9jD813pZdlaVfEAmlCUxJ4F_b|p)Wi~OoKlzs$PAI#-YQ!<0uj*4Gr{Y=Yr<*N#YoOlVIzbVl&I?ug?+C2}`3 ze{rZ_UowZIGlBnND6xyA)V_kgxVN4=g8*GHzlS&61JCA8alZpe_ApMthdQiyqv$hR zuQlt?{J>CMT3vy=M|22Izo6+MX@JNjz*~5-*e3|Z~Y=x8_U#fk@&xnt)gAw=-lMt2)c(+Qs2v0w4{JLnoNP(%Db z$e+<>{dI7FL|IrQ`h$RkLdiMAF~E@^QR15K_*G>3P>5uT2-XM8uk?JI4v&!N;-(*d z_~Dy|pViL)IEa5n?3>zP(B%qbZvNaC+LGqlVd6%b(C+lEubS^#>*(`d6F6o5RyHo? z1seYzS)J+XyK6?Q?=Isfh~L=p9dwZMiP5WnvC*?~N7U%&HqxWL`qAPOKxPyw5cfOu z+N!(*7L?0ffxjX0MR(jp{+v7hS~Jlkud?4iv3%^5X%naC=LgCrz|+ww8;>g3bY+9a zO+(~!dRyksn2v|>uz60OM(4=s6X8c?Os05iso^8b&zxQwm|Bv{oIT7$qK)D zziarY!jZOr1pHwEC%NyB>)GfsqK;Fqct#1*M22j}lFZy?y<#3FcqiJs*F8Y>c};l- z^LE#vmg;N}ytyiif0r_dX5Nlw)2(JX5>$c0eb&CX;`^SBnxL+G8@%>7`5m2r@pgVa zdjML)eR_{!;foj2$x5Jz1}xH*bnzT^5x6c~3Z+&evEU*ub3uFb!&{k#Qs}sM;{5f@ zTnr83OVq>eLo;VMPZY%)3bJ$fwQ@aFwvt@oaqKD9;~b{_m$YA>KlTABgGqB9aO%)FbG#9BkpG}Heu zew19$2cOM5`4`5kRQ>jP7*Vjt1rrnI8MSHYv1Z)Mk<-7bV|_Ymh3}Xd5(>a?2UMf2 zEZ8YB)4A^{ALAdT&L?WK0(3qWp2IWq^T$sv8GnnDfx0yh3Nn2f51IxhPJ|{xT8ArP zadG!zS6~{P#k=D~xvTrl;|y1KaFT0e(eTm3LHS2#ATr(92{=g$9i&^XF?mWkd~&GY z$UA&O#!iNl>$vfyc|v$szQ&Mb`eV9dh_Ws<{YE?#U~zboUJn8I8>Tu`b=~~ z)%OTBYVI6~MPB1;Ac4B@3>@oGSLB&d1J8Bga;DH)@g!udifU}*1+*BRfX{i`LHRHC z0&a+_T>aZg|Jt}yRBMJvFU&_=@|RqdSMyDn&E=8|BR!E~-rEg->q4TN)L|#U43UPs z;Wp?78h)`0-gqSGU4-R=sI^(mI{gvwMeS96_s{Hy={;{dXV#~YhnoIl_^sUT4d01h z<~Tces~g(MM7%bOM}Pq>Ddo_xR?K7-{d5%&6aQ1<1Y(8!HE;m)|dAwz|9y@=@*vVktHk~jml>j#==q~qt6W$-vKU?+fxu) zPn?hb=m9`;3ttD>6%jOqzB}7n`Dkm5Xy9j|L+Rdy=iqsuH;fo#B2A;Pwn6*-1~Vpf zrdAqjm`uOL;N8?!2Z*k^9V%&UbVxcZ`faWX<^v=5p$5!{MjL9(P=WBOD1ma*I29&w zI<>$I`YYX3B+T(f*AP5_f8<`06W8TfQR74F20Uk5!%9%?hL->l(1LNEUdMPVap)Cc z$p~i1ms4bMWQIt%$ws|lt_KsDaw1{e-UpxRhyt*XcO<+DX+TBzQ}i>mfjO{;w~GJ^ zS2MeSF;PigWC<=aX~L$`1;Komab6^f3yPY|UG8le{n2=E11=RtPeWuGZ#al*mdm(n zjIxlhA*Ut}y@VA>(KGETEGQyTQjb~NH%f{!T1SMkpn0LCUnvsk`wINS!|#F)`_>v~ zn@gAx8eo$EA@&6HNm-8tH;`U>1U?9EAQ)Y9awAe_aE{w$q}M?=6hgOp_52=#BPRwo zh-5H+61i7sen-G}Fx`g;V^|G^R!|815PFd$4!|tH&%w~o@wdP@WfM5aWy&W7bxwoc z@P~x@8uA>tI$VIfx&?3LRt`KwNMRYe*$j_BrpOZcn-;3|nDTgpa`!K-+_ecwfi&oN zt{tIeESBCiDy8Lb@TF7wq3UAero)>8Un0&Qz>hGyfxgk_*^5oL+G!`W&IVnzk4S^h z7U%7#x+|UCuDUP%Qv3urh^I9N6pPbgn}|$X7{N~thO&_(D?ijH1xxn!h!NHFbIEY7ieD-Yr`0k3%(NDQ!g6V*0}A`#j^ zb)t=TQAhN%NragaX+(I}$1$;gg_zE694R}3+f$Zuo3WIOF5wgrdN;l68&Qwb@1x9>k^Vv2+9!&BF)$B^I#HM{SpX))9Mb_kY^msPo8 zd`<&Bei;#^ps$R7#;G{X6iYy5U3e^UW72d8_mD{liTq_n#k(1T%64{>C<kf@1No|jZ;Jud)2@yLJ=|P0>@P_XuOoyZu*A2lL*ZFwS_5zvx`qtJVAo;=@ zkxX^Ph{Zo`Saj&((*P3(f2bYr|56pORyiTj?(PGLW^aFV~lza+46i+CbSVik!+V6I#SQG za81PYSvY#k7I3e`E$V6F1iP|w15eWer7Hc_k{Q$0Q|Iy-INOYss+63H`>#~@OQ)3G zJbl~@-MtCrWiIra|4nt38B=Gw><0M-)t0)XN?ljL{&lg!@rk+^?+>t;%6dk+aJN>8 z{FxztXSs~=Wv;-4G8fLGl#H9Ihc{u8en{>=&Tl+K_Ql=?tPMB(fC-7)8=;yEGu)oU zTX%f*1!kvkO}&3FiQTv+(vEIzkp(?LIpLbw-7ZD-1x9B%MTbl@dC-Go%-4w>i`p!g zrdPYv+q`jtUvxJV3G2nRjQ#PoXHQ> zH=k@3*{A|-yJGBc^`swDoJQ3c1$g!JA5)wz|FJ)__@e)vn69sE{EkIHIx04+Ofk3S}b_2DYXMRj^*l1j_ zpRo9vA5)xx3u3!5*H^!IlEuB@Whh&{=_HE`9Pc^QszERlGRVx=E^PJW5pyAcI1O#(Njd!Go?d zHn@e}$qA~^7OAqWRJpI^D$S-t(2*vg3S%7S>dAA;ry%B{L`QK=!#wSRDcm)2f~$Ny z{=+?0n18q*M}N?vI5Z+79h1$_bBt@Z>AK7e#Tw=ZC(IO20WzCzWI-;NPq?6Qg$>Bi zmbOux48qpmzk|17 zgME*8Z92Rzy&Ho)d&4!qW}fMezpT~+$!0xK+;gX!eXN?zzK>?df(Qb?flr9vw`mH8 zMfrz464Q5rATdsfE(o#=-1696hE|UuW`kajtS8Xp%U|TAxak%&z`EZ(!MeR+uA3yT z^rmUL>>DRsb~AB2UY;36Lsq)X|qWa7@m55Zr-Iq9%d{DYik^Zpo|Y1`xA*5}p|=X-$j zj>LI;nA-+|K~MGGAs0RPeQsYYiV76QKGFJQN_Bf3)s2_x_ByHq1@h9%@4Tkld&gC% zDRx=1x|DjfJW8Vw`Ki=%ggnCKnO-w3zBZ+tQ}}!W+Xq5Vp#5A9=cgcHv@fI>`VI`> zy`vuDEB3oY7xtu7rG<`kVX0JggwR13=CKPsu!!lQ)*-IN;$PH-ZqHk|MGQ?JSBVa@ zAm2#n_2eE`un!C^D~TQD=ik7(0k#$EJTT zwm%EJVMKBPNjJ(iNfbj5RqSo@%2|}8nK}|^Ji)dC-BfwrTnY?QlW|3HycIh_(s-72 zHaG%}%RVx`U~-d>jkIL&7(V6fe=%twPyG2!+d0~uCpX%Bjusb!>d|H;MjOk;7gzD% z5(aiD9)(#6%i5!FuHuWG_X;d#xiIcLf!8w{Q|O++#qr?j<*K&w;?Cpq6IBnIaIIR2 z>!u1zrT-xF7cESMY*S;Ij7BHT@0iSS*MG0<%2+~kG0&JI5c z_ei*FZ#TM!zB|oZ`7u$2hdWGpIK}8hYT`y5Pi$scznq)q5<`k};mOF7I1NF^gqs&; zy4I1@#aefSqt|Amc0Io~+pny17n=>{2e9uQSt9Up{O-_qryE^E-?j6GarpyDjy(!p zmSwb&HA8G1Qma47&KMUPt-g~+_TrsU49(ivZ9*RhyEep#!RUy2@vkDdXVyEnEOhAH zxz}IHt($rMS!r$P^IVqnwapkeyYuGnJSYtEK?P@oK87n7AdqeKtbo0m@#>=^ys-9+ z_!0-vJ9N6}FQ|oOd!TIW4SYso$P%~U%bB!MB{9o2d}qkOqtZyKe<92o7yt6;{)H{n z(#$_FS%LN{JgWa;^PI)FY1E-Vb%V15bWBEn`UcuYo&QTQCmUFp(41U~-(ba;n1g8i z$N6)&a#bCszx(k^vl)X9*JTzDDumvG4eT{|MQ!k9o1x`do&Ph~t!b&g2j5uro%n@E zS*~~ONaf4wt(=M^c%XVKC-B>L*rxrTxq}s-!7O?QkWuIVw~NkuT+0P3{_Qe;2OlXo z6uGNaurQEF59IO@5)bZCamb#!^*bZIWI>=BtN4a9ZtQKbtnW2>$#vs zWSb46v$Z0MT^I;(s2of2h*=^!*yk3Cn3=EXz+2e^73ocviiBAPwz}=xgjKT+WU8&Ej&*#wV z3eix1N-y;e_;b%4{O68E@BsNg68d9gST;=5=9}Q84%(ebomT^T`eTD;fZCz?3Ti&A zbU%S&a3)SBs{N4Dk>^w)KzEM;*f+Rw%oZT-3sntv(Bqp^&(|Hhy&fmiUU3WU6*q5> z{*>_b!KqckYIg)~jNc%_Njrc(THxl~BlFWezXgI1hQ4>tJ^N}hh38^$#hDn}>5v|o zb)Jh|@sC4Wvt<#5@qMnwC-W!bV|@+B8ESMm-&%1v5A-eKjbS|~gZ_?R)B?XrTd>`y zzuYBX0(}q*;6mJ7biQ}v5Vu50w?57jg)iepNFh06mo(RI!THWFRr}tJgM>ETQn{$Af*=^{8-gg3K9!U_=AX)s4zMEB>^@b_iNAU$1&n{IT=!4{iAFjc=C)U4=7FaeB z(_)dY&VQgEv;}O8-dEGbe}KRK{Xzf!d>mn>KrQ;@*cX3{@g>a3|*RC$flAmjo%r-E4mL(E!9Df{wI7*VDA36gTW&IW6 z#$~1juBK@q%@Ogg4bP6KUbi4z7N4o+mY49`8C9eKnm%hJE`5mCFAi;EMLKk%@xn2R zzmDSZP1GNzP7h2ov*yhK!h#E8WHQ>k^9l zXv02QdW!$3oL8d(3XZ*??cB&1UsaefUzYcR0~}6&^&OJsT`-;=Ux=Fsk0}e9HEtL) z>-15F_K{#ED6F332EKv;yq6oUW^3U~_Zq6fy=e6=FhBg4PL)bJsGK$xdBY6cGXDp% z<=ks*73lQ!Je)9pD?6s+d}v}rFPw8>*;$HQ8}JJq*=POr2~g^0JwMU7hO>d95PyRl z)EO~Ft~Axu_awxVJ@jAuoe)MwnO!A^O~Zo=(%Zb z;9ZC2hmpn9XU!8eIvHp27#^gy2ksE3h;TO7u%^fo{>2nBLPno=5NMNN!#0d5KsvMp z<`Enq1OkSY6G_8Rd4{;X)$4KS1^+^wHvU>|Bss(%kF1elEfflY{QC`UITKn9+oZ+HmysvYg7x_s|AYA<$4o0&&$8aiF3`l_f4&1ZJfj+VoNmK!ztP#= z=&Q&OS;N;zC%tyB#^=Zyeu&&n(g=NvyIaml zBnlxZ_MBfwC=(+8#xGUmH}I>fTg>Wk{%MDi6Sum9h{SXWyC<(yTpBE`Iun`cFZ9VWMtY|glAAwW9S=kj!BWr|}4hA|#qJ$}8H=m(^ z652?h03_9D3HQVjP6Ed8!ALa+8pw>S5|--FNqOckVO2PGgS)lyfF@O(lC7iQ{v)oN z(O#K6yVOY=zMt$OYE>o;-^Q@uWpKf*^PF28*&xN~q~$r6ip!e;Ko2W>fFuEl%OPPj z@^HT*3_1(xF*F{$EzM;-7k@Iik(k3Nq<(;@AWS$}p*12WJTjOgb_u?do;b|d z@9-y5CCJ=w^{%6531xF_jH{ePm2ZO>qtDTAIo5>*1UQi@f+YS~q#a$LBX^d95~B+y zUxvTpiEaJ+Wku-{Hc#>dndb`c+WWfDI|+hi5|?qqd4eO*UX=nCJs5r#WJb1Ci3TA1 zI*5~XsG6m5i4*rrg-c@TFrr2La;*K1GJK3}MMChUF5E@$9(V#z@8QW6cnH;V`oPL0 z-IZF|QW6R0p0n{ab|>C2?Lq!)iX>(+6Wk&M%$Q;b#$!t_Z{_J|&X$EO&o^(7F?dTf zWmWG-AbCFEW|Dn?twl-og)ONvn7=jhN5gMn9HzfRjQ6F(U$B2Cs~TjX=HAg+1I^J{ z{YGTZ_$)S0zC*v$=O>H68CjUC&7yr2FHl}r5sIL(3}T8@6rIcENS4*=S~0(3&E;Jy zTQXIibFkb>gJOR!&m3T3G7FPLInZ_r3=P5A>8?Q9vu;>2azV=ov5nia8ci7V{62lM zGL{3IBkeKxjsr*gqO;sQX@}^xz~*^oP*FWq-vaV8=OWh(qp|o13q@ota2xg znP8=0wy2ot#3S^_Ig@06?RW|#%AJph#L(cNJzbzwGd?8_b~?|8(|#_%R3=NG7%X!l zi-juR)Qn!+Nf`ZnS#t@{yp`nc(Dm*u#!fd90WFjMHEfJ zO3#=AgkQ__vg&6_r}+ZEfE#ZN$+6z}3p9!sY3wS5O+h0vQ?2ErgWPIeM<7rBJ%c+? zU_$%^VJ5}G3bkZe|J=tt+Dx-mj7KD;eJsod@%d=~j)1?`-;a6HSoHR;u3JhFL3c(; z=}}Z~Y0}nEll4(y$C)_!ud8d?^otVJjGHjwqVm#lh&+bW`3D9qC@e97D4-WRqD~s0P7d&@ba86Ucp-)kWJh0Ej8bwL^2=8|4 zK0SY~D5JU*5BQM17{8dVSE=-zh_qY%5?-;4&Zw?a>Fuq^vNT)Q9%SokKCv0j-^wA2 zJwmtIyg|0}CMvQDQ3)adgMJY;2f_2b;oVfMhH2Rvl|v9@coSa1SAGt`_N{2r1MC(( zusAHT$CfHzIWji1hds9C>)Q{a!B;82TZQV63O@m{u5i4{cgzi-c>4KUQ zBTGd;c@OpmZ}=I0ggqp!N8LcU%WhOhqM$nr$raJlI=F$;U%mlz2-I_5L$tyzYM^sX_DLM3Xi%qs$xSiftO?Q zir-7|KFk+UlNfeFM9dtDL;biEQl%P`yesx7R1BH~EC1Zc`Dv#bxzcRib{HxF&i(^%U_4@PK3aLnG z@sU5UI`>X^hC?p5fh86&-j5zpMWU9Mw>z|fzb@}zwsd_bvPAl@KoC+N_4E^ak$2G^ zsu9C{W`pQhAZWtF@{|H4yKw@JIFnjnZR@U@hfy=~2dQRP=sUNO=H_;dM*~UJ*evTU zFh$A$y_JL5|1mz}Y^AjU^6pna7iNR4g>!Sux@8s@-@XDWlBzRV)+~4z$2=%bhNZ&J zxTT<*52qmgx15J?de1l;l-Vx$6(;KK(ZQ|Zq|C9$zQG@u)IZbfW!1Ko@e&JBU)&tK zUsWv1J1B^-$dPTY*j>OZCXl{RoV1_wvW|*UAqsHfDc@+b2`F&I_ClMY;{ctUci~x7 z4ts|nT!)nSPG|!A&4Z}!8N52Gwn9}QZ8^m{iByGt>7`O}A73OQ zTJJ9F@)u=sl2yoZZ^!E*>WJ$W3NAhWi~Y@Mppt-`l2G1dM#-eHx0K9*B7ysIrpzo+ z7C3ErQue-UOD6fJ1*TqIGRHqVVK3plJ{xL1in72n-PdW=po1iT=_JbE4*a!N;$lP`dsZY|S&Jm# zGR$9O$vWGGfO)FrW!0=1>k=AKK|S~^HCrP;qPD+{U&->ybKsH-m24(_nUfox)|^j8 z>%_a~GWA`p^Oo<$P-O)nJ%>mK-6X0^w)8D*rC{(jvUw8f)8050tqrlB`!@*ZKcGEQ z{Yt#p=2km?h4DoT)09v5a0Gra9-sBV{g7u{M_yAnYV?3>{jNcCCQS>J=Z?f#d~R`< zGXbVFm%@1N%wO7$%SrukbhKjEbt9u=w!v#l)-!S({c@MrWqkl3aS<^Sv!A|3gK8IW zXr-g)!r&Toz+x-j;}&ih5L}P?&VE7SuE z3bL9CvShKSV5(J>YV z*Ag-QScLxy-3C*O1Lv*iD`*@BA{QZXFp!NPN$iCzaumuD?HfnVtW8@r(&HZ_U^<3d zpm@vD)Giw*)=D%GUxv6?ve?Tln^A&r0*tw)-o?P4@CShZqL4UU`BW4@Va@>{5PXV0 zB+Fs-;qN^_Ca^)E!R!J?V286XmeAJzI!Gb5U#Cu=P~zggtUNT^4;~E&hNs)0wE0}FkWU)+0K2Gh`pck(rFZr=J)2eQIF4r`7#kt zCvqb3tzhtkiD7rT+M7d=t3YESKGumGs)jWco7=kXGP1N$bqfg)v#Ql<3|CPI zq3z#yFvu-|EEQBRI@r||-=R(@ZMgkE(LufyL~K-jVT@vOQ1+hQYD)BgO+dvSs{p64qf!o>r!zJD zs#&I=B2#E<4xEfyG=Vm^f5PlIb_%xan|Uor&?D`;;Ph6|me9`SH+C)`L#w9#Z5A&! zZ}{bw_j$$_08M z@^AxI+F@9JVMVH?{K`00*5#)ucQkGqYJK~8H$tCxbj(`oF=aMk+Z|c-wmYa&?|dzj zgbV!l2p9thM&w#r{I>O_x zH=QR>&zpWnX!$+SK^7W6%$S7ph+K_>>*#yjKyKHLrsmK z2Y8CUjW?&hm{%hnFAPR#Dr-B>U>SMJ@%O?y@qN)wzdJw&wA3S-hZyid`mWh)?3Sw#to%Rt5M=dC;s#g)yB zoU__T+p02spAheKR{krbc;%zeD~&qi{hFb`mWY#d>Hu`W~kP%u!dNJS1V z(H$RAUIRs0SAg#OO2=+LU8`I?I0*K59OKeWEu+CwwdQV!j__r4BJ{Yys2u(VW_R7C zK2wRY#`T6)@f`I4*su{NVj)K;#w<<_Td)_F;G=mW-}ngzQ+8>%v(eW>Zbl;4Jr>RzQ5KlaKUVa&nh04?ustmMo41$^1)4*JYn^yT!sXz0N<#;WK<{16b7Cwk1+=nXKiWrbaNfG66PeVsrQ5rw^ zO|!Exm6-s(^M;fvnG5}0jD7aVtHxL}?VR|ua;E*P**M=!ydW+y^08qzKM#xl{2Jox zM`w~J*psU2qT&;=N3cm^Rk#hES zJYlhF9n3VUaP9=^uli6v5{w2^rEVzg-h`Llx3^u?e2}Gw<1MBi3wu)rc*S(ulABMu z&{747zYfCU?lw*f&A^81@Yz;m{FuH9d-#?rz*{c1tYu7E?G^66puZ<>!hHfwY?;yO zo+r*v-mk8D2@k~gf&#d&3#lCvYym<7$vKQ+Hzf(P-GL%Ty|jZUVMfMM?d$R4J>NIT zScjUm_mAz7{few<4U&j7&f_g%KcA!lfg~(}Tw_@u^7*fS+ z0baFzea=7q2m1a#P42Upk%8s-{+s2Y5^?*Lzo~FzlYb62 z`Gr`E^CW1xsj$>_EKp#9nydJ1IGU_9|?qdS#CtqSzw_7{cY9B8S zONElFc*+wB@AXAedHMvumytS{gf8xUv-qbaNt^Vk7#OT{T`7~&7&99tZ-q^wWGWBgjhL|sB|6NPgSCOHm& z*#dJ;d9LqRYZjXa{;JUjvoqYPfNau5yE&nF z8tu!0x0e$dK{+QVT+B8X!LKm#0}D|xe!wYE#K$%Mw^&~J(TV)V8oc0!m^W#2^OG+* z`&Y(a)RR!&s78LhiA6)V+O%dq$WfzSkB+*@`5Xa^k62+?{`JH^f=AEt+_$i1!J>O+ zRaYerfVpNwwj5oaii{Sq?A8Ya_!iS9;-4Svyh^ZWJ6DH%r9EW%wS3G%K&nuHQi{0PRiL}t99%7>4i?#a#RbB;HT&DsWo^IpAcPlK9qGW zI2zw^Xl4y#g0%*p!C%FA8KB@)zZV87r}2BdVBLL(ZrxQ5*Acd3O_bVEOPq?&roW0M z7)F=Kahrx;5I`Cvfe7|(ytoWw_=3>aIp>#5>!-+rbOX)hFOL#L9!A~x1vx>V6Cv)5 z>z_qO9u?O;dk6YoA&zlM;aCbX2^0d>Og(e}ebmq9H90t(oU)PUkrCTxEb^L@f*K5o zA_CiH;L)B~;89b@tH1!JwOODA*8*m0mzxpo5+~g8cEEeIt z()1XLgr4LGgQ=XMH5^TF7?}+alIet*2ft!o!f$#567VbB4UC_SX5*QNtH%pD#-KKR zpg<>7H!hWp%AcS@49N>n^5<&7OVCm%BtU=j-_jHy0;Hw%Q0|_&T4)%{zrZkg+8P6Y z0f?Pf-r(0U8Guo1!!rp+F?I{!(lLe@T9%ot2KFLB53(p1X^*i8gv=LLq$=x(9cYda zB>mSl;JO|>+=AfH0w@0K*ek9zVTcV)z$rg8Y&2ZS-aC#4>FS;D8%PEsHHU{%2gY0& z670cI8V+8Fd_*vN*AW8p>u|K*fJ8GFYrGyOiE&ab^3bNABVLZ!<1vo^5}^zMWFdeA ze9=KNcIS!@;XiQhp$&o9C17j@$WO$^c2OMIPy;8>xWowdtN(@<^+j10dLp1E5>buV zfj}*a(G)96&vG-jD@dHG!QbJNXr6=fjm=Mp)v-Ljc^=*sr3Fy{c+@T`iW^A+VxUu-vzVBf(2yj-n@4eoi1gr0hzorUbGp_@#PL96cri#t?&ZzK zh#Lc+MLfn2kK>zy8YF8Pw|y^_deSqXoDkeWXjU-C$H`pA+Ico5oChi}1sv`lr8qt= zW!xR>K8pBvI znUNEWG_3xiQnY%nf{D6m4QC~|J0pit3;`$1#@473^@5fr??9)oK_g~GGgwiZxSdC9 z^}QI`Wg0l9LI{I%11Zw#hg17_PPAj|Npv8oWUB?OCggw`<8#Jut4 z&(XaWU_U{hagePzUym8Kh2qL6ezdpu>z638jy$U~ZOky-5rLZ`phISFgUvpA4HxvG z#;&!<$jd|Nre2u|<$H_`+XPU*huH!M)A)TPD{by({&=hPA%gf6rUgaD1Hinug=0IKzv1%)c{DOQsPgd>LXz^8(H9L%hgf8dPN)>VI;F?_J?- z8F>pY1AIFohwyt5Mk$PPA$N1Ael2@Ov-9EXL0?3P06+-Oteb)5MW}ZdPOs076)IzD^{t&J+0Vp)hfQP z2B=fD@sOe|{1-gR^^jO!@lFgVz@E7aY7#D&8Ie`9c+tFsbjn^zk&5m!#THWU00n6JdSSb{v{an)vk%}j-!o$5a*GJQ?w9*pnInzTG!oO{= zziURDyPcy)D*+J4(STIq>Wcb7bZqD4SYsRfEpuDi+!DPsqs>NaM%Ne@l2Acpfou?& zyPXqQ_1}e$xx}Bzr%1xEp#j0CJX{Jo!kUZ_lueOp-+KI#TLD>y&KWq<*s=(U-;-t? zES-9F<>V(spQ!0j7MMspZD zaiJ)#i9w6TCBn_ucZOcNS1WA~pGjW986<3Ky#ZHbv>iTyd5vTY`DNLUIi6hA)!Mbu zZTVt4FeiagXu#NZyIARITQR-fk%ssjiML*3g8s1Qyf3K7m4)cz-LLrcZnHgAc=p|174yU$L&@d@9-vPB(X(N)9$U*ei z+RYw}gBN$7v z8VIGxK|+aa?^EJVlt5ZPru~v>3Rk_Y`F15@;I)<8*O4FnJL_*Nf&hhJwkbYwn5WNe zLy6G>zUz9g=2PXXDOYPvxyswWsw@+LG7)dqGTt=DjKi+JGO^lA;alMK)-AZ(=dJdz zmK;mmCdMm)KhRDdF%seeKE-fbq}uc|u{{+vJ6an`FGH_`H+|!?T!DelPU5aAJmu`f z^;P(7T{VnDp&d2tRj8Ze||<>W#Lzs4t#$d4(YIp+ZzzZ`Dy@`9Yq&) zg5cCOt1^*d-kPEY3y}!VVU8@83izvwlDYeT#aSN5e(={{-)>(a!;1Jj?cNl+AMk91 zI2{+of;Y=l-( zgI%atc1%Jh7B6&Ir#`WY-NsW|Xce)Cr*z{tSfzk9+SK5$QB=TwZo?LKT0vlTLL`wB z{u7W5Q6zQ^E#vPkxhM;}S@qwwp7?`OfPnoXPS~IIU}p9w?KX%SGddFh%fR_w2}Y)2 zpAYF8A3mdR*<6%0KAdMAfnOy+h&1|7B>8Ywk*=8kW{1y%ddd#_UJol{6)$1GBYlc9`0`%bt#3&t@ zzPv&gL);zKjzm_+ z^hX+bX&mljV4Po72h~tmhDYXNPs7S)2`IP|3A=ov{gCSgoZqEEo`-`Og3l4$FHH4L zwdqqL&pvEwC9VuU91=G%y_Ah_#+V;L%!m_Em@e)RW-2Ys8k@5OUnIoYiyME7a+_yJ zs^5TLjz1_r9ePQIkx`9-*)01j?|A@TeU@#G(jxM+qrxO&^QGl`e`p%X=tCO`O4M_( z?!}_ZwY`1_77#=~s&*J7&xYje5XzkxPh`Pv$p>*}zi>VXFg8C5eMD<5*WQMmMcsf{ zOik_H`{A{I4G-|Efg@-X0f}&u6DOI~02~{oPZbSE^tW2Y5A{bBUzxgLFsfBIY%5Z? zG&9bv*1feeC8s+y2B)l(11(LsFKhe^--kRe3|EzN#*gyt;fa3V8xj+8zl@@!TZj_j z*lI-`FebbyvL<7^)vX#495r1t1+m6zQ}_ZTIut%7+NVgg#9qiCdXtO*Pvh4x#LvC zRYO>~)`_-p4S6%Xsl57w*Pg;Qkq^I06#8Tg%n7{I6Qy8aH`Ny4-`^G6KY~0xDk#UwK;EEYAi6rYHiyaufw(2gt&lkUXD5Z`Rr(o3*2;^bM^;J8V3S zU2UjJuSR~^cfS>UPMKgwZQx{rKAjlB5?C(oc>AE#GlbHSqX=%CJs;o2EU$2<`_>Vkbt^P!9pvyvHy`c z!7@%%5EU%mO{WnfBkz)8WCDK0VD7sM;-eXmbCiVP>Bpr~Y|D$6i%7gvuNR&uTH6xK z&x(<~j8~A;)q}H@7*QOkr4$dnBCOo6@FF=5_Fr*<1#QF)ukfNBhyX7M;Yr%^{U@*+ za3@|vMdG@?hpu6gkeZNSYJjKHPIJ+iFU`ag&*p{cEVgkfI>TEY#qD)4n!@{AIT~ba zL)`TCzj%=?EWIy53g{v~kRa3<^Y{k_m>fJ;vY(hpO%9wjch179MGI=Bvw+M1UdD6^e&bm`!{3!J z?z!RY2{GCa1269d;?xs!PA7US31oC)-L01%fZs~f8~CofJ9S0RA59`d3_7rDEaKGz zNN=b=2&-L3Q?IkicN?PBapxga-9s<>%I$u67hCS!Nk+%Zvmlpv+n;a^y0{TBWVhL9P8M{Cf&m%$lmq9;+ za05t$8Y^z7VZ>JD*Dqbf50y^i#}8A6aQ6|)$xw(RQ;e8uN&L1wWC5)5$SKsgnWGp9 zBXS^N{{QCoa?SQG{cqd*+sMmyb{C{}&vpHkm<<6{Wi2lSx8KVler2ggQ$NBso)(FOCu z)HMS8Q-y8HX*O>BVlzf$o7RExdo$9KxE>bx>Dibkkk4a`*kV3id{(MKF*VwZ$}-}k zIQ8cv8Gf=OzJ3|u@w4eKtw;Tg>rn$@qcPnixTfGQL2YuzGDbC_qm_<7?B_0<0L%DI6a8ov>)CAmjmCi?PfomyM{m7!*?*rAn5z`RTKfFl$0Fcjh>ZF{lw zSZ~})zjYjT*Ls$}tA_}#`iFg1k*j0dk(XduqOTz^>L0e*wwr2C8ot8wANUE)$e3fE z=8@wb*=6cqdQ#;3rsny_58_Y{A5?bI7FHoBEafv9&xy(>jqK6~)vOP$sP9k`Bp{2cfK1bapCVt?pDZK)IWM!`NT|FwRBSUNSHODiFpj1ID0f=xgyi0+ODl181bxZ@IXK0(3H@v^ z!|Y<_QfI6E3?=eAKG?2kEwCw(bzDDS{1#!9@iSfwybUcEG$r8%MjL;$QU}7B6lxV% zYhe}SJ3~SRvsC0EK^bSmcYhGO-s^SVpj`wO4X+}W0n5U*;ng?*Mj=F)uH8g2u3X&oS*yg)K zYE#u%(HLJngt;E|A4C0?BACt(pW{RB9@ntD&3JbA4BqOFY| zH{hQ)d~9n&1B3N#4X63HB`LdbjP3p8oa2SYc(%jU3hBaFgf=iGmD`PUc-q4&9E}55 z2MJ~y;B4H%e#qsvINbVz>H7?&DtW^R4$`CF(Kscf$bxN>JipC$b}AgPru)8fm6kG z!P?PSq;=QH^EA2p+mwsVe1%TKNlpF+RBG}Yy2S+^*Rw{$uzm`crF-YLC10UL{*QG{ zMqRYn8MB|}0y*-w*(EefTF*z#@!e@bcf<}zno&0eEiqO#1ff1Qdef<)`iGzeCRy!t<>M# zY~n}AQGp=reIS@M_CjWXH5SdQCbDvrVqCykyr9k_c1f~4K7=~1o>M(XiQ)~`O%G9) zm~n0uDk2|1;zs8K*f)U>i85XG8v`C^ye&zyjJLRg2-qMwOvSg5IADZz5wqJr7!A}4 z$z%-1B1_mlA%lZ0^2m?+^WckAE7Ct0!+bKkMYdaci94a|}wNdK49 zf%FvW6afH9Kc|cz>`&&%&5=VF8zMQNvmk;z3+}F|=5SqsG4D&yja~DhLdx+`H~fh7 zjM#|T>xN+l=34q!fLEALn(>gk$9PFiq5)>6nKw%40|a(qV2wKQnxoB5HJ~hh9cdm5 zXWNLcEBR{S>#3U&`cMK8`Lk%AlrR9c&5brt5C~!J(}b=y%h5JMziJk_7&0Y(G?h`~|0?AdDg5)+r z;2M4ibBOZC(Wou5CT2&0lJt$nPt1?>cFC$;uxRdL2!&<7+F4a|Aq!{CU0in$G%W4t z?8UyCIg2jEt}1=PDLbnnYHRBji&*H8Aah7)oDSVqycgJy*R^24pd2kFzM? z(3nKJ5T~~=+T?Hir|i$b(nvAhNTqDZ1iht*6@|%-R(ZS9AnB^sC$PeZ)Xru+8|9Os zVzoTY#v*?q9sMaqShK=VUJ~~gtn)WURzDbCTe+JS_zBvkBJ}=CHh_WR8%y9mZTudL zvW}PQYPA{S*I#0{0VL#B^r1{JBA#R%Q5Xw)6&cJ#faRb{>2IN@jNLdJ-ICTNEKIP- zzCdJ7=^`Tn*2e$|$Q{-t*p_fPui0zk_eB`qz3VcoxE+M(lqwy{yh+F2*WMP@LACt;2>F zC)}t%IR|2%+(1;y{izrQ#OpraAFKdpkn%6SaRYNLy5G!t!IbPGXx29nSv9W6g zkgo~7L68m?8hJ41mw@SV_aAFh$m!zDGQv*sxo5a7pEewMTtf?SrOQFN>pqaUJTNGZ z0n@h&V`P*K5=+(G7Sx4;Vo%-O*>iGn3k|2%cL)(|eL~S;)%`G# z9B=&aS1fSwE5xMWq{%kOsA4;9aNCaNr#R&ORsdCLfLkT&ydQN6387EH1x@*?w%ZgE z`}AUa9?sp82K6%gv26m#z-wqqU&Fpp<)_&~&#?5STl1cz7o{4whWHTASPB}~0xtA1 z3oE<}5rF|Y5W@g}`>T)e>_uy_!)EO?h=mG0Uv5J2#xIBu@41kB9Cq^(^YeM*=khgkY* zl#c6Kc%aq3)*gNeZCWk+oKhSp;RwENWFI#Do?z@&yhsNL$F3t#vAj3N_@eqeBLL8bUMFL5*w zz9J*MhmXlRyE&v3cQ+_lo|p^6n7;==L!T4?Pm@;V*H)8yeun7&Kkb|hF*|A7y=QQC zH2#IX!!A2Qg6xO3gv}{x1_^?F_Tq&LeT%ARK^825+QNy)Y%i+6%<tJPz1p# zw7?mx15^;p%O?axBCPJW08vXIE+i0b>_-r#Pyt->vHE;O^ux#PyAa~)10TSRU^dub zVqVrZ(RcXpdi(k74Z9a{_Wuru&PP-zvfdF000MNG3DBqJ`+4#`(&4Y~viV-ey{hOv z8)xQ!9S0mkpF4hL6#y~EQBOv7!Pyc=0t~be4~c;DAmKFXMdg4=4L*)qE#xdf2keia z%P7gdutnB@l6V!vZxqIgUIlq$IgP6U`k#CYCRY=a@8m;pe~lh~OUCug_*-VAMOyY! z^er$G@9g~*7ohhQ-T9bc^}!Zk=$E*X0+WQ@coO)LM-9%z{p2j|YYktB;$}~AF$7*r zAl4C&?0Gx|=4{`3A_*Uzy8#ZDqQ%)*!Tq;sP&42wssin4~k|!7aRG_ z(RTVvS@%su-c4llBGfd!m|`v6_|pw&=55H#1p8u4a(R3;-YiQ~wLW{Q7tP5&MVrIT zVzkv{71dQkpp`ACg-|=i5)+jd)2D@e24n`VH1EQ=W5?EEZb5_g#E0ZIcPAg(+=yjI z|37Sd^FiKkZ_az10kCBbj6a~e58`JI9RBcAs=E*1=UQ{(6RH+mTARs4;w8Guc?t}J zi+<&Pxur00+*5l5&(a@=uRX`)>$8xLd^gPZ)#iJLd=L9L)SwPdhavYtWDU7H$p#$W ze1L2G4ce1Dd>oCXpDrim>446-p%yEM>=?ns(@OV)Qd(W=2h|?MVYEnVtgQp0t&W7Y z9*nk?XR)1AwpEF?687{hdQ52Jhiv0bfw55i-YC+}|0iy!;7SvBaZ@-oQ&{3IcJWPX zrX<$~n=eGU={ri*01F3lct{%f0lj4O+XebexwY5sRV9>jQCM7S1MWd#tg+yi6*lrd z;gLsdlc>RyAbASQu|2)LP42g_5|xW$y@3q}TUPYPs_f+-pTtQo5DG_b)KQGM`+$&T zovf4}&&5ZR(vZ+l{}%L;wWwP5(yU8u+Jo%GIC}zuV`r=`h)%T=`^IuqCIte7aI7;L zJCg~X_SZXY-iv?~w*2#d5FA`PEn))v0B?8<^XhS&Z()WvzYk>*ejD4VzMR@9a{(eF zHQH#Z?%r$L9%gsaPm}GmCnQlX;!oPh$Fk&=nG>` zB0_S_gd9TO4(lf&)F~3tJrp<-ZC#(++b6yV=VOX3yRpp)J+kMNa~}RyyM7KXB?pXe z)A0O}6wZ7o{`qBZeN zOs`uWKH2*;tCIO5>p%%3YW8F zJ^Uz5LHP8DU<`DTGJZ6?KX8m~37)Wj2zsC2j<)}q|ciQzCyDfPZ)l7x>X>y-1esCC&OmYGYZ6|Jyg7}}Hm#1wF zC+YU{bZ1k@ejdgWB~K8j-rZVJI&PBZxTm(+n~6EIE@Lg3z4B{TgoPaHh#ZPS=}t`}}5HGRB{wJy6O+o+tASv;?BC>T$^7l+)bZ&cs zJdOT-+U9o9N?sWravXtPCSV&yJDV7Yw8!W>I-cMN!9uLpcnlD6P^11rQsp3viS#9A zdb7lr@TU{b4agyEWh618YGn5bocYcA7j{sK#*@Zci}G=tZ2}+Lib~|qWd4{~7Vvy? zeII=FAJ(^IL7mqJtL3a&i|5Y0X3Q+Ov&uz$9aQ<+>T%<0Jk{0rNEKe_@nUaU?7709 z719Sjt>%K@Re~wt%a%rXY)EipewXh&F)Imsc$+d5xwI}ZA0eI*5P@@>>2chik94AG z{UegwBlv}ENJq{LW8_s(GT}KAl|L3f;LK0gJ|4lbLm_cF@E|k4inMqYnxqxjGiO#hRurS zFF{8nKIlK8wZd&edkd!bhGqGR_tG{Jl%f}pr}}UXg=9T+jK4#uz;%MOC9$ei9MDQT zHFt-eKbAS2UkZr=d}X7!G4wBRPl0iMJ6(o>G*V#aYKgd$_%)uuef?5;c1$~+LL^p^ZJ z`Ob`YqQrU#A!Uuf3Ya6GS?eG3eUtgV(|mvWG;^RupTYs44{6R{;GG4N6%1y$cx`yC zrGNOlmJ$96(nG`jz_q%OxQ-kBn@V7d+vWX|*b0E*L%!#r7%{qrUN{+OguUpvjp9C8 zxiC6!l1_|&34tDG+jC0TtrZhi5U|fa+7kJ}X(+nv2XbJR;1{(?lkuISLD9Ps=MTZ( z&^L?5Vw4i)A*%f?ASUFbA2N#hE7T@qIpEQX#zJd~w9WHX)y?S}|4HnhMaMUeUkVR{ zU&_ZrqUXs$J_j-!6FNwsw=64$J-m~7m?8&26`qRD!3iB<$cj*X14|4cQlpP&q(K;So>96kwKt>L2~rQ$$v&$2oWm^?+!RMN9CovH3O5R$Yg6r^7aHuq6F z6s%=6s8$z^qNH3Qy!ST}4c3KfkeJy^j=4sJqulHfTn6N^;@imku?WevV)* zx?;e25s#V1{g-gJRF$HEntp~nV!$Q$YWB4H@)!|J2xlwHKLK5;vtq3 zOjs<*d0rpdjrDkF4P^@!Ik?pJX?~D~I}zgq9dQ_A58D)(DMoj!!W5%c%SIX?lwBl% zg%hlLW=+;6mV~)gX|4~lxn80&%=?tDTRGRB?;RpH;pHjgU+(9ah;uHWq2awMOh!Ee zyt6@8>BD-PHv$Jb=}zo#5fXfePW@yQH&2~gc9S&YJt5Swfr>Lg?j9`}>*S{-ll%h( z4aXhUHCYcgoAx4c78-{jxnAV{CfmqItHRNC-J{7WyrI13UPm(7M3V6i1bsV<4;g3+ zx+=cGnN*h+_M-o8B(HI}P$HRN3M0S`Nv8hS0M#ec%&t z>N@sUJZ|l|aO?4YIok+oMf-w12F!Lj?F(A?8{DP2_o{((n5m>SFLzH~h0}AMln*p} z+IQ!G#NpBD_Vf0(#>jMJdi?1j4}B2pFmXm9a_hdjAQN{M3z@=OJ()=8Y=o4 z*VcZ`*fy|dAm@?az(`o%!n`esd0W0A?`G!RoS1jB->}Ekd*nB5Zqg!DX=j`Jc|N&1 zR6l77dX2=#+_qwP1?bmNnu(j%U#fi^o{bL)LFQgBHSr6KUmU_+XYSv!is1fbXX_Q~ z^X^EiAE=9bx_vG5kyNCUh<)y$W7#{V-nf9g*VLBP2_Y+48 zw5`Cs|Kkha{zNa`(LcRW>p+=VM#9DB8!hvec~~;5lS2xkiyf})h#syK2K_BKzRDc(FlPQI z+*s%!Qcx!Hd%dCsq@s zk35PB+T72u9s%w%s=txX^$z%NTpK*PY`);W*zjoXr*PJr$Tpna9GE9qwsAWLEzgry zk2pn7$wi)?z8;DwhUSUW4b4|y@uUO`jo8#UiWWR5s_O`YgNZcAB zHR$%AnhCg2?Zt`x{5$P)wTb=oip{YU=~*LFlb9MFhjEs&%92!=0^!l}L!uX4y3M;p zh)|s}Q^@C#`z=$pl$aD-+Tp zpBY1*awyl`cqv$ZkNoI}w8s^Tys2M+RcF&3m~ndD8_9xMN_aBfOzF;53E{z(u$o7}7w&vGclnqUUwbmgjX}We)qW zg!8&%AHg=}vq*rH$NWi?~6X^^ZKL@xiqo;hx(*n+b8|U3F)x68f(Cog77#agYSE%h~s6J z{V^owX=+upoI&e_6P}h?90I4reo=ul>wQU;Q2FuYOayvOMMk)I^%zz&>oI{wHo&i+hYCE^;K;R~^P* ztn?^9XEB?_&&DrKNgozXuMD^K8Q-%@t#l=7(+)282c`yEwx&z@5~ci#L3|8q~x!bOW~?}bN?Z^_bS_uW4__sXlr zTz$>8V_k|;RZ}~^>i^^VmAh-I5ZFGezcPD~x31<}YHw~%b@U%_hI61TDcPRV?@Tpq z&{>1i`=5Qzkc@NBJ3n*i1sASFK%99Cyh=%uUA=DZW~onZ6ljWm(_Rka;D3l$$FiE9JM8DCJXcQ{4Q2%T&dE z^Q}rj(IlnNJsHGSUFTH_%ayyUX5S+lE}5!$tL|1N7b{pt;*3PKGHt4|1lizATQibL z#l;F;7)H*muAZY5O;Ki7)zvMinpZs%F8#i`MQBhdzfqYm*{w_{%EkXH@&79PAEVq{ zFi9!D{bqnts1z08w^S*wC{*0#MaqrkW0c}@{9L6>bc&LwN*UgG{4%jz@yYHm^VN1OBK8~>K1tJQEF>^9$6KA^{SNl_o0SG z=FiB53vi3Qf+iL$#vw|$4v+MB7uPDDnkvtH#k06(!5k#tUtPCYSqzkVmo8Sk^Xsas zfk|H-ocoqkE1m_*6i@XMR9Q_Rltsk-?8Vqa#OH+ze&$nm}YM8ya4oF_Sbfh38$cZJ@RtAB3wrq|9&UDn= z7X>9saH61WUS^ihiMhQCYUWfc6F|^nKG?)X1DqgVpxFvmST4?Bs2IKyubQyg`8x;s zdj{e50W8Xni7#2m1G52E9W*)>Iz%0LZm0U-dgQ^XP;1Ni2zq!q-i)<#5j2Kt1gvM^ z1o8;JX+66QaSuUp+E(1Di;YJQGHJz5_*NE+WsVx)4yHB}2e@%&KyE@6XP^>X>uKwO z(->k~o}(Sj-333q$*Z!osjEtG47mS_zkMz3j4$OQYg>^6h9f2PK$+?8pcQ3={Ozoy zXl!l^Zb`!$(Y6P ze-C&lPA`%8Vs@=4OAUU22l-n6^-C;}lJ3OLoIquq~TjLInxfy#w z+T@J#O2Y4md~8Amo1tQyJRhE#JIyZ*_`>e;*Vv0*hx14=5*Om*6-WtR!jI70_uxuF zK?RX!YC{>Aku_0ZZ{raHR$3`AAdZ3us+GIKalQvO*`qi zQr(a=e!2H@1b6{0dcVhJ^H2-340gTdQDr*9o-p0lse960C)L1LsMhtG>i=K-HjG=Y z2E}Q|QX^Do(~{v{P>Firc5M!EzFw4`BmEqIj*-9{l0#*^T17XUcV!AJCU&FoVk^}w zIYD!GMd@QU%7(9(xG~emvo5%C=DVdcA?r(Xl(130oH% zjKP)4mVMoT%dEMCY2BjINEUFo%}hd24#mhh&%}_p(Zy0EWA;sJJOuh-h|~M28#40Y z##o%LZrRVi-3-lzMTde%pj1?Y0U2 z6a81FVraApKg%+C5raGi(!ybUbpdkr%PY2fQX0nQc+<@E98v+#N5_>diIp8I%Kn*U zZ-#Fx_-Ft*qhG_g9PeN=8)cr+IV74zd(U&Wy5YR0juDrQw=KD>;lvHz;SDDqh>?7p|p5A5tCD|hpR5luPT)%(6wiEEy&o<4doJ@% zvVi$rteuP5&QP@DTPy4TLEritOn60@-qCntkZCZRDDrWF%X?)@19@gDvmjHzP8!*G$7 zPkr#}8}KscSrL^1#f@_Sud5A{{Ug(44=9I3g`07cQ<#w!t^It2R*s6+@dB+0sDC1} z4|?+jdIjpTm{!?sA^|NhNw_H)DG3;#5S6-LVgdtz$jDCsSt${idk0mS{pL3&g5Z=e zFB)L}$^`1@NC5GlvQBmpMY6*~Wf{H;GTQ|uBRmF^oY{cjmFM}fm`>_Z!bxMRs6jC% zqDFAEza%@UH-B`P*LvagXnuwR`(i-vwTRjf{$WC4(H~KG01AhFu|&cUzDvFvL$RY1 zzK!*rLt45Vydy>ywSv=#iaztJkq12`d`YZ2dQ%%mNoeOpw#I;`$A<*|VNNH-nV7DL zUi87%n?E9a5Ib|ie?%%V2&FINP`A1TAui(h->gv}t{JUF-ZZ~(stW&vwLC8z-(vF< zd{5Jb_dKR~$dt=mJGE_fss0`5chdha6CD#*1hAjUMh)~BeQ;j6z3#Kff%sYQd+ZYQ zgk+q{7nb3u{ct+(du3nHP$nA^Dn}7j4tKZb=7w=I)xZytEd2YxZsW;mJ3S1pMlED0 zos|$05W2|EkxOe6(+s?lj-~X18#~!^I$IS5bOQR>p(5{4C()^WI5RI!ua- z(T#d8`cP!iP2@$<!T4of3^FQFnnEg`D_aYQnI(n$5s#`|qYpMQ|Gt|JD zAo0eNIlzV**bNRbpI5`6h+m=m#?A1aZ{ov$a+ugS^5VvO{|zrQe-kHZG2-I8{=Kc;#fl=u1@L}9XE#`LD-<%B}k-soQNweh(UDO%p)aZ z1QHz*7ZZ@#29if085*S1oc4@MSswG9>>M(TW_dZ^{f09_EkqoYcsj^jL}@283Z~r; z1`9j!(VWjt-iaH#P(|a(Y*J0|5Cowl1#S6>CmvD+Pp<Cy3KdoUymV)tVRKYE7fogCHzrz&6LylzM5z12l0CplQB7cH)q1X1LVe&4+wtx zUx6j@yqf#^p;d1Ijs6~o`p{;|-|pePMC)zs`h=gCU}vu^Rx9sRa~Nr;5#NxUMRKq+ zAATLiJWMvR%vmDyr}ze7+wx1$IEa}oNGPGjD@Ho_B=V7VwDDxU0PY}~4vQ$jv9S)n zkB@m1?ViDq5gRBY8s8LZ!21x>W@Tc!Xai+L_FM5)rt?Bj8G#aR&T0BGyX&~85YjS! zBDfO#sBS6f4W&O`?D}VDMp--8r4G+|1^gPH)6sYWF7wKY-NBQtyEaWiy2xo|`VhR2 z6LPN7E{_u#8m`BT@@IZ?8!mUJ=W-lvY#3LGXa%uvL&Ud{YG5+H#nG>;vePqPukTbh z3~4xC>Agnl$%jZyX*fR83okG9;~-YvVtM+%tPHC;bZ(|y?+-60Dc&R5484_cIInI4X#SBz%mpHR)bmE=mfcoX#-{jHTWeH1UDpk$LqH_ zCN0Z`Kep~ZsBU;&PlFGYJzyW?9i(pX3+*2_4yZwjh)MVD2b6lDkS@Hg4AUW~eKuj` zDhCx^9rMrE>rvkk9V`3kIOtoN(Y70fGce7+s(c{EDPzC)i>aADID(7gFHRTi!v~fhy&;6cLwHEbmK2OJ^_- z<5p9lz<059Vt&{Ty{ev7K3qk<|t2*XldPna$H=szj#B$Ublf zhD`Jrb5g42?hIc80chf@OmY<^HZm#3OiXQn%%9XRyajEWxhBh8kq+tamD^%!Bv8HT zo%$IFkExY*xpr&sdXm*GHh&LjG!?|`@4-~VU;zkbyk(oe2XSn#!<)b7IyDeNYeZN* z*|FT-eiA~|AVMN$ITRJ}&fXA}02`9);r`YpTwHO9d7 zEQ^9TgCI_~K>RhKH$l8K3gS3e7i8;P6oskf2 zaeU@_e34c#cUSJ7d{?*XPb1N~yVMP3wy+(~8jtTgIVk2hg-cMV*%b5e_b{o6!qBN_ zP{YNIZZM(ka~;v%_qY+5+nQb=le||a&JS4XQ*-Fnc5A7s|5LQ0;l9fPo3=ZykZ<3* zrx=a$t(=dx@B!j5KyQ0_9tG2{olAB@`H*3k!Gir7#-}RYi~X%mhC%Y}2mHhu7q)K8 z&=-CXybd||DWo+nRw=^8FBK8*#p;IA2n;4VZcUzO2giemBjEXH4&R6ROb3IETJ>zF zu>wj0&O=i@f><)><_jbn?fX-dkUay3mqECS@7>57q8kxS+Zw(cqsD1Q`fu{Q0q_Si zzwc|zC*<4f0I=~U{-_&B4C;n%2Xu&{l-ThBYyQXnxOu*htPH~TM5*RZ%m-Tr;T0iq z+f9#Ekj*GxSP->I38UE5Y$Av);e;dVa7ODG_$TLWjAJ(N#_t>i7;lXuK)xV`)Q0iNigy(K+IWbn zW0Lnga|tZ^^8hF#wiH4QP@E$8gK*1#C4EVA0w`WV%zd%H17WRh_yH%`ruJbxmU>30 zAPXjN5k|b>lO%+B-?G(vC{)lH3Cr_@V{wWMUiRY1TMw^Zx=Me*t|f=u?;|8KjrW%%<0Y%KKTB=5ku`QLX9 zpjS6+H>Uv-r^CntaW;$x0Xtc$Y)n&nUT^-Ggu9#ojzND(^vTuXeOcp3LDA~bDiQDb z@9=97dk}IxV$m=9hhY3T!j;g!BMkY>&UMdhbsri4d0olNl#I{+aoQeAen_B?$~4|I ziMnBdb$5v!7B%=&j0VFfKC&L-Jh!Fs1hr(G;tJXSf(a0pxOF4#VWc(UNIjDRKD=P2 z@b?T>A37J$Fsmy&p;aC&!{58&{-?c`Qq}i=InpzBrBuC*|9#V}_u(j)kN?_=bZa^j z{Atn;pcvW94GFQhGzMXn3-c^;P-UnlfkLFGb^IigTS~3emDO8NR@FzTqQy@AtiGYgeOj!Sk1|uQLhdxP@ zMN+sFaES5uwQ%zi2rB*exd!0%oIb?UaB78)wj||tgz{}^ zE41^$I$0XCpD`d8*HcuCZ_CuN#wmA%iftOA-xt6cz0=jY+(&QGwyj?!YXuqVACBXc zIc^fI@5aTpV27=pA_m5-CD6<*<`*pzFdAH-4CL4G^f$%G8U}w8L9JvD>yGaAo(hqP9W|B(jxuZtY2KD`XJ` zdyB1wDT?}som)GTb6SNl%JxrffOhEZ&Za^;lzwyH)U+BFr$#oKWCqo?GY7!YyPD|a zp646SAy_%^aC>H?k@E*<0Zhmk6{89r$lc>Qj2_e@XprdTq%^3yX3gUKv-aNBFL=vp zJyxH~E|!oMVoOl{!&ZG#x^1WHuwL4w*@ z`FBhfAej7;SLyWb&E4fXu}wX+!kK7gvCzen1xpIr`s`Il&77ARV;J3PI}U16|%h7R$S;hUU&FTt$XIIQ~h&AAkX*8#2ZC^=?pbxx?13mt$fm!u7nqJ4o4onn3n+>P1{iUjRuh zIF7UI-_2nC=sD)%O*9T+%^RAKDuSBb{}nVYsyN)05bAbvGus5jN>5 zA%FV9+xLAMR<-3=(QDiM+ftXg)D2KmcW?b?GI;AX2-AA=WQ~+hRJMF)CKo#jU9T-a zEDodsDut5wSYaik} z8|ekfWe(S&z!wmoPw{%`s|aD*H~tWWUBmbxig!q8 zsm*_KrFLw^mx=Q?=nSMon*{Hwfui{?NIW#lhL8ReEA_%L+J}gfgIg}NTgRZXCi{?; zFA{K*{vfCt#-E{h9Yx5!;!xyq5-u5odMZY_OIG?Zi2p0(ZAw2Q@=hQ5!TS+OKWS3G z;t_DrPdObBFdtQP`yj&OsDf^(@L?!Vv(dn8HyE!KM1%sNG3!I)o8jHC^^+w3@zf<} zA8X^X2v?c+^Z(V3Kug$^;HjkDIFoeb7ntm9Md^{J6W41PKe673#cu$i0l68dAL8G& zt$rwOnL&H~vC-7ri^(Gz#6jvqnZxq6Z8#ERYv0`yvJ1Pa@gC=e@^r+}=6opR7wmT6 z^mL){c?ZDOD8?K1U<~Wbbnp%P2Atpr^D)L%oFvk3cIufwiN~Kl;jt`N&+-&B^jH>N zO01WXLjUppD>_5zFNF#@9SV~WcbY@?AZ)ihx9KoOtphKC@-sJzu->Nr4}vOn>Sg5A zL6qh8hlisB%g+Eb_J_$mLQ{{<*Tk1RNzNz@PS?z|ym>lYhd#jANQsgeY_$3%3#nJbC6}KLK;wR(mWy%^<$D3xse9J3;G9zD5IpOueD7p2{}DdQrEb-hpf4&Rqe=S(UN?qB&?E3PWv&^9q2HRIwU zldKWOH#v0g*F}+sWO;%#Rt+#9jCfo*fInlx+;`{Gcr{o`>agPR_``N{xaIvVjh`Sj zIpq9-J}3?gqrGRcaEUjSKNEZx#HXo&6A%I--PaQS3eWyqvh86WaF_f535KZ$NQWLF zM41<1D=dDv#SVnW=I_4!ALbp&nzOyP~5+Re9=7EFZ~UtRS)M%Bh8r!rC`BWJ^h zcJ_RctFT}~S;16g!6F3UM&xf~_Q7oyaky)7?FVCPi(KxaTP9B~nCgz^gA-~E9B&cT zth%OpA^kkrq`PS9?PYP9a8Gg-;Hk@k+pfnWv%tr<0C~K12wTbWQD4)n>=`*S3tWLw zTeL0asH>h^4d>k1jK)hJUzxFR3jLQ&uT@;^erHx?P8N@|-dzPhcSJXr*~$v0xNlaX z-o4eH)8t`QZc)|gl7XedDN%sxs%xvgxQc4=qAUclSme$2n1D|yxOw8~x?jiZR?NPY zv7N;}9J!sFwXk~O;=21p0$P|-HZ^{~Bi71DoX)MQ@*)hncvv(i%N#CQWog;e+m-5t zwch)(vOT`LbNY;3L3z1*%G6W+;4hwC#oHa`SHZJ<(ZyLKM`qo(*oR>2aM;bN%DUS( zPt<;SbS zW8id7H81B8?T=oDfc2JrP0U9#=%`SiuI+35n7f8@k4z0b58hgrzsXs(iGL6fA+wLa zhij*|zki!kPYSl&cck%CS|hymd|Ng%RQVhyYRo>A&)Z*y^Ck>0kGH{Y)f=j{c?Y|W zEjgFQO-^%=d+U(Hzhj1ZJ#;J~G*M1gTX$iy;w5gWy-MU=O7*ikaFkcH!dN**Eh3ah z9@p=1L>{9C!gJ`)iMFvlt>A8?hSAFK)5M>dR{k{8ue<%W?S|*!lmLPv?#Rg;7YUOMFQ@OyeBXj z*%uqFQ=g=MU^!Lu@-ZF3Zc2s~!uo~v)KgmN6XG`6mXeFQkGV6b-)Qb<)W8lH`>0QF zRpit!#Jpwe(A)vrYg)xx-51zMyOGPcR(2SF3;2d%a#6(A{fY+dY?H z5Af@ziXSD&d)SMAH1-TNK!=T@yvnt8f5RW4pd#=;s%mquN6qLStm6ojy+gb}d+-Ht z_*buAt5y6~D}7$`ZPe;Fx4GY7a+|wd{_K@M;()R4dkUkaR|GI@dg)rd{t4*(@>)I& zEtE>!caNct?DWJJ9S zfE#$4xB60g-7S$f{q@h_0+XwWrpooKvmYPb&%K1IalP#X*Vd&M#^$3o`|Fs;*)!k1)g`+;`G(b;;c)RZ&p2!`umdeeR+AP>N^mD~@D;p=TUiVWu6wP1bAC>T zYp44C7odLY?nhm_v=6nmBhRWqUU44&1^$4nxE3o7a5+}D4N{{bfK`rrZP1bIC| zuT0OY6oFmb-D+q#021jSGwmaNfPSkTr^tun>vF0`&{A~`bXEb}ZH(MxG>go$Xm3&N>U(#1z!Z(NaJWGGhtIyC*EZ1njF}JgO5s);@T$$ca z#Lr5h6lO$T<6D;Z|M)Y^*J>_q2rxWT$%$l9Vg9lk?_k&%y9T+$4VbivQ8KtQqLle3 zWPvA~Hw6?Qc>x8Bw92l~Ecn$UgzrH)rVvU7YUlJq+a~r+1ph2WQHXIDTr9k2Fbkvp z9*n$>M3kV+=11m6Sr#PIJxEINb&H5gbU0ucBk~4&Gaim^CZfixtGU_EucOt#htbE? z^yTB%5o(Z^YJ6+&-=ky1xA*>eWQp}&^tQr53}7UP1a^UNi!PumfFC8eu{f6eBe)-Z z?FMGp(J;fj6TC6r%lR`_4PGpubU+_~!cXm>%t5n@yPF3CUbBajm|kh6V}*{yat9La zuZ2GsOqd3GworQN5Ff@y&3AP2Eo6yxGE{EEwkzdmlAaIpUdurG$+)^#I=adANnFoP z9ru-}4_m+iUPo3GUmap6f?HS}E(ea|n+d)@Op5##3=(Z^e1^EEgE+!cX)Brb`AhH; zwTIX@$$Hv!JmI_GzY^aU;Wfw`TmRoiIRQfg3=2>cu=7)&$&Da{y@o4DeP?w2r6C+d z#lbeWm@73%`}X?fu-NMT^?TvfutW2;_i5kV4oRqIZqz!Wt!IGyVYVmC8S3g^LlE-O zsRrgoA6I{2$^?fRcnOba5Cn~Q87;bRZ}2FlSl>aHuVwjDdgWfuR>CiWU;u{RQe@h} zR+rfI%q^VjV{MP{O#`RENlCBYENKCp)55(5M3IE4D4)Cq3gjG>ZjfJK(!!K*w(e_b z{8W%$#pck2t8C%Jf*v7eZWFTvyD&msz1-xxVZMvFtz8Oib<$nX*8-;|ZE~|+dktF$ z6T{D;G>Z&VA6bJRK4z=I75D+402bZ185ZZfF-_j-fYfXmCw?jndcllePbmO!0jZQj zEr6F-h{8=$biw!@8UWmbwBxdEw0cYUO4*Q?{l}p@@XB#3o9}>Lk15&E#~jN!toh!^X?M9d z(=Pqco5+PYPhgoh&?mjbsh!m7ciLXlOFOjpT)U1uYgVEDc$@mema*H^;1ei;*j`Yy zlq}bF@0ohVMv_2ji_8A7?;pfbeFxq`>DOZWJbV|poG`V337-nImu}2Q{oEXy z!U~W#iLq4Uq(F%ps6Z0*n4g9w*-k4a)=rA7K~alty4c%7hrR-BZ`StdGdk>|)6`o? zZ0I#OK=%5yU4Dl~Z`ox>LYHUs*uy*drQSfO#fr_Y`psAmlw8yveiUC}KddlZ6`R$- zGt7gKO}LgCk(Hpp^Cw*mo`ug*QZigVlzj}Jdfl7DCjkVRYI-`V z^p0k|enxT8-J2W64p4*ne6HAWv@ipKd`x>VW;c`y4@c6`iS{H&6TC(s9WXI%&YPI# zy;$(u=DeHIRevuUg7Y-0`UjpMM2;3`I3k--5E^&`3+^G5`B2AA`pRFK#xIy!tJq8h z{_uUW8nC#!ObyV)^2v(y4F( zp*lWG4e$_zV4ux-WohcFTk)!Hm;$$f#Qg6eQVjBke?sz+eems!{Pbv{J;~b=X{59+ zNFyY7k#eUInV$Y=x?yGS0B-?-S#^{U1N9qjM(tY@pg}0M-iChynmu?BL$HgPQEEe4 z_+G(eJB}7)IDDT*ozRmE_4EJF0E&b54caPw_?RMrB zreU&E0|&6CQnxGvK1J%Sa}4*r%qGpn=C}Hle_}ikZ!C=fdURr z#`Qb!dc;4gJ?`k9#GvIBq^p4%(aKn;Ij)LMHGm6`F|irU4x{eL0pJOIX*}704|193 z2Q3D^1T>Ak^5gS(hAHuS7+}X)`t>A02rw%!y-;QuCWs6M$vMFS@h~RWAdWkBu6(_* z-e^P{uu+P(yff4dtArCP=*>6Me{z;LTQ=y;Qa3zgrKrKn(7L}DV}B7IvS z)Lo$bXOp zd^rnH-!$4B1^Cg}UQb~oQ2WCdG99W|8l{-;y>N20unjKB6mW3h7Ne)%F(Q0`AELQG z54Z3g`{$(x!%yS!)dsdt87rSIz>`IovHep#KlJAq!BL z-0%xQHV6M>ivQsMVej4JqpYqy?nxLRNN}P?jV)?aXu%>9MCGOpgm6(V3dBp5B0^9q z0)-jHOEfqcWjao!r=~|+Y2{R{R$Dn9!GJ|UEWt}#q@0!(YEe<2acHI0BBf~F?{Dqr znM^{&o^#$m-p~7~Et%)p&%Ug^_S$Q&z1G@m1E45=7W8WTy%$*FJbK>? z0k`IUC$lX_+D*A99e8QghXwo|*DL4PjWzc#zpmXoELMVESb9gC!uPc1*ZNw#GGF%) zX}A`O)T-Vma*tx1>JeuC9zXVY`z`t@iq5s4^j8aR`<$MNqhs__LPGSUoILVc?cU_; z!={zQPzm>pzgT2@2h<2>+(BMgfCguDxKC+Fy>e}JkM}%6iXJPYqx3V% z+WUbKPiq6G>__%+cnnvh!guv1r`!KV8veuO6%5<64frr6>Uu^RoK|fQwK@BC8#UC} z=*a=>dkS7ohX@>kvx>JWZ0!2N8TEM@m>L_J(j4M^&}a|6izDo&H}7_~K^~MiHsJxc z6Ar{mxzL(9zpmI zJ^ccHZP*S>0k>ib_^C_*Ps$V^QIdXDV*ARhVjlXYfCNSTMsDWOSp~i$w%ckLIOQY} z@r#U7W)^JXGX}%^4?3K=!MIvGtH5?z$XNwm00{V9K$(dj@t#>}#jMX+Zq+k;S|$wW z%i7rrF1Iaco~>Xk37K*H@#W=Kd%?&b=h+K>$JWf~KUk0de{L^`!45t{nLL>+t;%GU z{D0nFaJ(^_|L@uhWY74F-cM~~EwS1E8TNux%}Db99ecsQeYR0#ejB4mzJmXMXD>LJ z`u=4vV9l0H^)GwDzw8C>lJtMs3;ty@W0lB@V^Q15G8Wzb1uXIy* zK!N2#J>6<$*o!APw@>~~`eg~~fdu5(En%fs^wxllT$%!HvVs$ibH@o4A77P=0 zJ5j(!DYm3;XFb^E5(r-6b-PF&Xvw==@&WB2cSOgdm>nDF8%(7i+j604waR2=#P3{g zATnHQD~QS3`Hv|Q<838^>1bdf7J+&7FKJmqlhKp>wxhM&k`-BfM_`kPof$tcJ$m|* zIs<`=z+=1GSR!;ayJ=#l@*w+DP|t~N>xm@fvPNB8h{Qwsu3OmrppJ{&`4e7+=<2fi z;R8akTajyr)a;H%MF|+=I~ar$7HH#RULifL!+Yqkc@24=%$G6&{T^R6#;PF}*pxKV za*iW2UM>8Tdf!LZY0*gRb&68T#kT9?LfkX}s4&Fog6iE^I)9^Q5 z+ra6NaFc3JRc}j;9Z>K}W`{PxHQP+x`#Wc_u!5)yAJeDmZO?1OQXBuzSJcsP|fY(WXLHquaT z^Ys$^w00{u_$}yQzHZaVwa!<}NqEZSrmQSWAlkWNY-i|X87%ew$n2oW=IWgQo%4so z{zRY?8JrvLBSYl53Vdwnnes5*WbRl%x_~(#3Wd`>R zT~QkL?w`w0P1tJ_bUPCi7OCOkt61bM_I0-=uFQ)toIO6L)qIR;@Eo$lnB;EQA`rG` zszl<|JA;`fJOd}1NYwRAVX-r@HQYOF63csN7oBkwmnyL%{2=%a(lpa{*Ygl*kZ(Ku zxed?Cl4djQO&*|&++5??W}AG6at4-Y39+* zQKs5TH-R+VvLmk0w>&#y!af^}nXB`jceE;c+Sv~|b7=L&32gnGRgh9qZO7QQFKPyc5)z0avu{lD z157#CJ7i69hnDiKDM!li8|%rb#z@hqa|6SC67)w^BbBjhDUy%KsGp@wA z8;L-tNyG4O-{yF)+qV)Z2jD?J!b5t9YwX zjc*)@tS;?ZG_`9%Iy{8Nib{(zZ}3@V21UQ2pTSn<`y^UGCx^pxGtcSj&F3J2H zq87M0!;HpIlOiz8yz8EAzJ0(m2yl%6AILkmXzIBIMWq8WKhFP_Jka-LM@8oru);)E z7Y{7j-0;%U@Ib=~w_0(zG>6?(h9JS)IsCYotD`gLlF%BzlB0iUmyK~_7SOchyfx=8 zI88C3Y{_6nLFW`?^w?C-UQJA+P)dwT1_YfqUNTg%(qnJ!8`&ou`$PPVuJN0Dmfv_n z5GTD9}S2W|3+8cd)IoJ zRQ%)r-u`<`txs)#LSFkPv~T}<9gAC3e#1ZohH708I6qB4WGSy_T-x{F4G^h0EWFyI z%M2lnG@=-Tk;{O{Ml9FA|66@Uetm5S*?+lVzB>;&{kqzlh7P?t#?=zjIj7cV?1j~r zPoK_Z#azg74JX)i+eodBV{78%2qhR9Wo&gU<{5Yw$x4Y1gMn zK2b!iR%jC12nF{xGR!LmSN53EQa`JbQ!KwtE)M&52S;~uS;pYW?&5X6Sy0nuM;h4| zZ{b%$k$2Bi+=BYlq35;xG*^EpJOCELLSn0~Wi1f};4fq~@lEGj{F$Au)+8(DR#$#X z($ydGQ|fKCu9d~>4u)gv;V?hrYS-*qH$SM3%|NpHU}|I-qu~*){J>=RQZ*jnmtTus z*1o+G?>^T;cEhrE^sabQk^^Z%fuhP3FQ872h1OhhWAx0#zUa}0+><#;rP1`N;+#K3 z(B+8whe5x-r9v>PJA8NTqWLuHQZeY+=<4#x`gq@>{~Y8ENKUI zLd1IBVg3n0{(#G0IbqJsh4UB9pB=sO(mC^H&A)L``NXMLR>c{4c05!1%8>su?t1P*x@bo9+T41uWY1z2JCTIZ1H>Tn`Xd6_LJl{4PdH}7kWT!J zh5xx_M>9PVa$rg?_r#3Xc|0?p`Y0cq)O&`ofoaPj*?PC=Q9!ww=Fh0S2xNKLbRdiQS2sw9m1>= zf?p^KZAz$0?!Q(=>E%tT4zOOPWRrepo(fN+n4yBE!X&rEneQG;yg&4|x@*x+`0{W1Mq2Ltoi-S78au?(054a!EkpFy#2e3t=tmK-HeDUsUSY`T~B9tv5XZTVL(wH~H^(-))ix^x^e7pDuIH%yOen z(eGBs1I7R?+|36O)Dsl+9>>FjN`jtP$Ims;h|9x92VzJaYtS>P6o2S25N`1yG}=2F zC^IKfpv_PkKP#3N1h3a{rxD>!N1gZOk&#gHsN{(7Z9UGY)bofiF*B0|{{4dr2d3CC z3Jl}qbZ<4)rmLj>N&6?W9}=9SOA3hhHM+Ebuq>m?3aZKo0a#GgGc~%rpsGAIx>rFJ zLEHKiRB;_gzk(_*-WX6&#qAn{3aSRBMh`Bi8k`zEyr7C(B`OQ5i1{|EplVdy&UP~? zgZ%>6NWFdO8lvilE=k888t2-Q-`Y-CX@MWo@or?|xo%KbzgptL|ru`;kXc zpa}Q1Z%+SXQk3|rx9GPbcW4S1BAje$iZ*yh6pSoMRsXDDWG`Rf0nG?}<=50k7seLB z=KGlV=bm9My=Rr5*ZQ%%Pw!d%%6l*98yxtycxTYpl0Cw0+x4KiS_+O34u|}W*A=xy zXZv>%A4dXTA)gjswo<&Id-GZHMxW$K*0hoMr+K!r%;actn{fE5dqq~%cBsrd`Y~qd zs)MPs$0HsZ!4TnO$)*O_=?4#IzwO%#4n8YVs=yKJzU1%HvHQ3veNe9zi@Cj6!|%zL zoby9<#mwA;+2#N{bLU(?C+cIzp23de2ZYX;J4+ELKw|l#C_z3Djc3pA2T#`RfnuH9 zlG&fQB-~!tzr1&K$Oj~UKY@I;e{B(PxrnXk50cxx$sz9J5}IIW*EM(2Q~Z-I2nTwK z+_jPHExlGnKi6f(`n-S3cs}CuU1l7^zt8bch|{hkjplEVlgxfM!`2q69i2MSIL(gO zae;hAV6tiZ6=2$gj}CaxFHdmXaWB8#_kRS=U&YkW_czJ2P}HL`EZEF3^{Q}o^@{Rm z39;KL`xEcJg2GVtZ?;3O2Y#Tb&;GlQ2BQjh)I228$kum&AL5;LfS;C+1N>MBq8!ll zlZ}E6r}R5M4j1p_im{r#(V_8A!coqEbdDZ&HgZX zth$2bp(;G2`oq|B+4ovmtdkd01OvtVgfgSpe=MGssaV{Z^*PuN`6mQKyzZhj|5SjM zrZIC5;J~)GNh6CIN8;3RkgY#szzWPp;S}v^zP9+0v4k3qz5W1nf+T)BTLI?0f?BuK z=;`$~wd_Wx9BGgg%+Quf()ixKk5%%8=+KW?5t+x$$=93oB^pU}O5Yq#FA66Mn@UJH znB3q8^5TrIpH5x7D>4qcXo9fr% z3>b=bUQ2}8kcCz0yCpp;#1$)k)dD%jZIjtY{L03uviE(oc-P_VnS3F06lhodd1GRJ z|8BgdZSYQ}(t?f4YAiz%#h#$|hpof?u(XN_P7J9Z1IJG6TP$(Oy8=Q0pcC^NI<(uV zPIe*ZbCt9aUtjXt{=P574|KV$Bz~ZKWchkxb5D%F^I-hX^$eoMN-J$JR(0Ex`x&im zmj|OYQeP0b+mF`5t6N7a3X&zrc)zd_Q-Hm}0(RmRHfBDoP>78e25_*InzmD-`6NUY8!{M$&x?+YYY*l zbY*6)(OmHnk{*eH`p6qkiy!E8d*8KSl_(_AdP)lQ{`;$4LKQEWcpbTSLvl}Yv*P55 zehzfGy}Pme>=yUl?e;KCd}I7TapVV}cFV}@Gx_708}G|#y2J4%n)jX}?}r?PPVT87 zDt9aMck^BMA0R7FL1Z4Xx9-%6m-73UD(yb3rX*U1(x*pdd_(b&y~LZOFD+)zPVS4> zm9|7bK=(c5*6!ih@3LOI^CXf$7S$qG%nTrYG(Q zWz-o{=G}vz)$Ymc*GraA=ihnhqjxpak?nle&b`=|OL`v^0ef;?j-Y z`wU`22^vOeV08YG;XG#n!!BVp^37+vkTap2>E->%$>(%pfF9sRwp;r9d|$GSG~7n! zRHMFXn#|;l$sqBUU8c3wq`xYNI>Ni?dMl_(94zTXA60CY)3EpT)_RYydi7EDzTY{o z-n*^drTO*lpKJAM0%{7S)7R=NOIO#g>w{+7NlnX6?J{HSrFrjyeGMaB=k3u9!1Ad30Az6 zOqY?+sy|Fc$bG5V4FOXgC--i=aLHSXTi$G0vazJ#0iwoUR(KNhJgb-Yn^< zCHRm?21qpu*uGoF8bxgGq4M!Jj?mg>Q!?5qH73kkv8Vg=2rfqa=8|-{GF>V&StvE? zsG=cbiXsiqurvf@pXwUlUmj_gN|GM#@qnMjKhp5H|8URSpk}Nuy4?_JF@(jN*^(E> z4aDLhX~W^&ufgM-K%Poy91=TbClg=eA(D`tK1W_gBMdlS#MYr~K1uc>4*ntylumCKPXqq=DusJ$b0R2oAfNsAAoKqt`spYi~3qgqx=?K#Kchtf6gzJ zlz4p!@0I)%d6_T&8G!dyqie-{*g@4M(po&?w81F1%v0tp|P{4J#KaaDG}DsF&!KgTFB0D$jx?kINLPX-j?rk2(SF=yC~>*<_c>7;2c&<{ zJgubNRO8!2UzGI_u}ohCSlR${qYUY~j0mwKlJ=zoz`kB5d+xV#acHO2gzsKz-~B;QS)WoTsgMq@kWJ+vDxS&MP1#T6|uiexArg zw3}9E60MBJC$-9?rLEXSMEcBkz}0z0R@qB>EZ1Y=H4xju7_GR9BKhF|B^b+3Z>9Vz zv@(Ev&Ecbtpz`M=++`|hApS~aW+h#8q<1_!rj>Ca6s96# zI&OBX@Z{9UqQ^8hV#i`i`FebFmSsYNJzXXT}!JiQY7-cG1j*a~7bYo^<0pl-kG^9ey1{V9o{l8mOme8{HJq zOFPUyN}o+mSsmg(@Y{5y$tTZ={ZBz*%TRhXqq~HlH4`sa?RK0sov;V(e7`b~>o2NDiBtmPk=X$lUk;SX0WVi* zi%gW+dzh9dsO1+LY55g3O9_M;wS?(LEjiIZ==5Gakz29U(;kiltF`4*KkLC6l;+r8UnF#BVaUw%;YibFP>BKfw z1bFGh7Cq5@P($~Ny&G%&WiZn4Rb;nRT3IW0B$qewD-&DFiilG#qH`5H(uuu%5j{7D z1bkI|J<-?;Z~Kd3oh&S4YQwHlGW7GI7$mlM|M)$#E()A?U5(m|i0ffWZZ6*FT3YraNHfRkFU%__4mq`e_ zjzNq9H_ z?0ql@&#@j0L_~9MB75&(Des!xo*7O1KHVU}E33wa-=ctMuY+`$NX{H~`?n#X%|l+m zXD@Ri$a0rZZ-)R7D-QoAQM^9uSmL>j&Z5emOoix_?U{`Bg0_>DCDmgamqQ&rDv5K~sG3O_}6QU(cE z5Ek?*B3?}KM=zM5*)W`vmddqbk%pz@{HVHE{YUARP+gL48w$u}lE7OIGhrDEjis{Z zAXB%5h%jjd+|EN$QH#C*`inZUcn~j~&aO;11Qh4$PBj{Oz&JK{E&h?!io;&wy`qpo zjhX?YBhQQs6P@(#pMv0ztQl#wI2*1}qog27r;U)^3@!nBJ~%=iXaGc(b|bd{7?tqS z%QO|6M}~!@HOie_>QahYs4Me23+S_&4o&)#TrMP7obk0W8(_Mm6VR8V=#_8=lRPkux3^jAbWe}m z#l&c(E)u!wG(PQxy|=d)XuFh{DCoM1s8fl{^pT5I8+Ffg^BCvkw59iYzHackB*(A~ zxzfJ$6Z2{wQ&vu~<}p2~f^sENHVkea(@TBZ;B|_>*)_>E)t8nxkLjZvng0Aa1desT zfqn(4-!(a^m|Z~E$u-==n=m_4m<>876=z1fLl7yp$#mS!8~sZe(U5GLdF$r{F1E{H z06`fLdtR7V0qqD_B`D$j1o1|A*hm&zIdXN8M~IrchYI8Z;m;>--7435)2>nFRkeVW z{YHLYzNVr!Qu+6f0Ey7#kBhV`t>qDccq{ha)Nsfz^=bBt^wPzPHTy)F%G;pXxOQCr zKm78aKDYHn^LsY)@~nZ*JZsbW&^g^Vg!1#++8GO`&z^PtjCpew;Mi!}hFN`wmd~6q z*Di6$O>dj}xeVofxSL|$jO%NCo{;lTuGZIm7)ox$gt)Y&cm{qN z+jDL$8%^+D3r7mAx&K^P>{l+q`uchv9}On&0=^2m$M^+exiXY`uO=brn;>X^*mB#4 z;dzr+tp{x%X{;o3tBORw;KcsC)_2y>dcN~y`__N%x9&}*H?c+7EtBd>YH?1ReX^y2vea?h9 zZ{54boJWu0Zdool7*eii+d=OJXl@ z3JTK>_}i`7YH_D=yXQ? zozCb8(-~zp!U+kLh@h3YoN5>vtMU&dJNV9%6dE08Kis7wrBUXaeD!rkGR<<5%7Mcg z!Pgb4GQYdxp&99!M6aC36aV~zHMY$PEU*Gt6(b2*tDp-@zMN#;7v)j;lTeT)a;I8w zvLVMG2!qA0!N@nswuReZ^NX%`TVRd=3^emKAdRDrcx}-G9NVmh2gi7$M=~;hoZ7v&~M! z6y!O%&LhFAy`r;I>*I_Q-?i5}`;0E3gLutyt;h$D%gVoGIJI}eRCJjr|9YASTqq{ntnrVXs; zDm!be&nwV{V-eH!x-9AvwMysb-GiZ0U%RQ^N{q(>9^+ioP%^-Rcw747Hwp*uigp=^ z=J;w+VjIuu#E)M!EA+u}^bL)&E`htz$7$%YT`i=>+d zp0p*{!WV*CQfb5K2yR^W^OV~zwvc!`BsN6`ueG^N-Q9$4-37ea%$TVozD6JuAw`Xg+k%YxJFtAJPB9fqp zf%=UcaVoGueld-hYppz^ZA>0sGmr5t$6w@V#@fZ!;1uGSp2%!`p;aFld1h4iaFT!c znq3h4OLDvHx_RrV<4^1mrKXvRu?32Fl-82Gau4i@f6hr>x%~`21#R<7CFtk>_@Buy zK|9F*rw;4ae#p*?+LovUpk$2oA}Yx70G!cLqrx^(7Xf4$=7PZgCg=|sacBDIj|@yn zUdfuq-S*J^kNn9yYESW%J7{mSRpQo5+MAZ?%1mvQPjy1Eoa0jUKV!~`4ert}CXwy@YRDib zZ}^yYW{60`3O=vUp^Vghy~Ke3(GooY8M#YySIN9`g4^z7VYeU03ozP^@9&sDr#0Gn zDH#c9oa(~2iNJC}(A+OZw`(qXlHXLh-_#GN>U+&ywLi#yoBN3e_41lf7*Nq0smqG8 zJDs&-qtYv*;*61ouh4nEWyBhs?PDNMyde4m=dVT|Z2~~APsgtG5`>tS}P^_(w z^uHh-Az)*3Xv!HCXT&##H&up1sjk59B|#OJ*>{!)wJ(HR=nJWPK;O0i#t%%%R&a{|CyaLbmcot%mG+nhzMY;S=Wkz91QJ#sGteC;J`f|DKim zt+4d7&j@}8`tN7?zk~eWbAo(9#)`o~&Vgr~J!nvHk}Hp&6tRkxvk%iM_Rx6L7KjEPhWu{fUsGMOPl_7g7yfsH z=Q7g|<^0>5tJec>D0O77JmOHi-3 zY9S)esO1FxU*Gjc*wl-z%Ga`w^UO(rw(%Nlxm?dNgi4(b?NzZJY4n9?!ANl|*R~gC zhBNmY18(RV3-_aM-qPvZbNgzJKjN^V119sUFXb(mYc4ke9E{{<>!Ss z^@|>(eGaZB#+}OLu=7aLk1yFHcZN-gcLCPf9=PBVs1w8BlnG+E7e^9X$l;j&GO>K? zG>)yLitGQ7UyUps_ePIs$A)pnR$=4%_2T-;PHj0k0UF@6{r$SWkXP4%%64@{uWvcia6PXz4c@Hl&e@8BB zl>;ZTJ>esyMUP&dnpBJj^AJ{%HB6j+sp0o0e{-;R3%Q>7X|(&m`T^(mm@#xrORPHr z|DQ}(lPwg1MH;Qm`gMlkNJ2tWRcg@voR4`na~&_KPVxP0hqT}KiA}(J-?nKd+Op-@e;2NHc|7(kv&?$W8 zSlBz?shT=BO}hwNkn_M@do|CAt-@v{0BOn%&{yVU9lz0|8FA;{^Wc2+71}eejq@S< zuGTAu&%7pf?AL6FwQZu|@J$>KaFR|-yz^+nEMu8#bM3sDFVD*U$N326%>0>L^{%<& zPPgaJpMK?6&!0cn{S6Lo`upMk+4+cTYv*!_xsFH#{L=gaIs`yIiJX_6m1{6KFMH`F z&uMfJ8s;|p7e3S#)z_6E3`{F_p{~52_w8bs7fC=J>FO6X9)0vC-Z;8Sb3}gLUvFAD zg@Xl}%-(mlm(aibY1*5v+Cq+R9?uV)``xN|VrMAza zn-)cDukS0b*N#5Vn05V}d7t`~rKRF<9|zjUw)p9T*dm!lR;5yB{eaI1LHivBiX?t} zTh0@rL?(G&sqH0)L*p?FxWp0XrTlvRu7e<7K`I*Hx1gGRT+4!8?0t7|FgJSmvmlcA zA_D~n@34%V?`C&U=4C3jB`-FErd9+pU7Pk8TkrH-*>1tCJHpn1%xO#jsG@y*iJ(6V z)SoNAMt`=bfpT9!Jfwk_&hv?KCXbtX`ScM}r%oO>vSw=al+!twCX$v?(giB<>Dc$In$nTe zci^Yp?)+OT;UDTJE&@khy)<3dbV>3z>6)KSNp4J6a&-U7WK9znf~2d;lhsd{+`%0> zZWCEqF1bSv804X^#!?Ysj02o$m@ZCrWvZVl^40uKRX+hsRJazHm}M(sDT0Vk;2zkf z2a&n4&UbE7P^v({Xf3)@tTSYcOUJ;D2)yHB^YilXXe`2-c*2@E(S#r|_#*<3h}dz> zos>;CtW+VkKAj{W$M$Thg8|!nnVT`aE@!|FTmyx@c$i!lDc3e~WvZsxMt=JgcMs98^A?@1KNIw4n5#4P zgkDb3pUBwQ51M*05q_xIkp1@B-Rz{2$7=3ncdvO!FFmy3%5GgV%U-V1OVgTO_EN5w zN7n3SH<#?8Jze(RH4oX#gL=7R%`AJliobUDcTF#QFW382y1r&N`$|gkH#1D{581nR zpmtyInpyUKmEODQdoO!0*ZW@02&a!>e*m^cIvQhP&0Eb^)GTd}j@rHe`ZXqV+i}y< zrS<93i;Q(_c(X9`=8Jzv|2eH9(9GoTpM&^MqN!7xtK33^0-q)=z5+i+QGN_5Z}z6Y z6JoHVjYzQn;4CO}HadOI^$0kN=Fgj0HV22?cMt%hM<(r;Ez>d)kq=@A^ttj%N5wn%l}oudpcYDgx~)H%!C$*Lx^TwK z==6Ef>9giv@A!^8ExTaGqD41q9krNtxzKhsXM`5qIQ^R1ne!Ln!r*AQADITQ%=r&5md-o5A=-V| z=+fvd^^05jMPt-iKR6Wa9`Fg)e`43DQlu&PmsnEuN^8X5GM{Ho+0kEu9*wTVC@wMQ zTt7`YxrhidD|stT!=`ka_Er^;tO(jOKllZi( z@8OOkPhqUg-T7S+Y+r>tLK0fHJYb$M^+{6mZ*%5o{qdy7;jpx((7y zKGFtS1Uz^CH4v>WJMD+R_3U(8dHjDQ|JykwN&hDG=e35U-@kwVzM=5~poV2{gfIPT z2f#o3X!|eb$C5p|a1k+SMb8;W&p>a8+=KvyDzJFH7dFR*oC}CtWzE5^je14SDt$zX z!+UZ5NStT+X4WL>N|-3f(?o(38cP^A+bAz3_bRgO^~J)XSDDN zS7j2pHw}{LA(6Ych?^!um@N2elR*_j>X-NO0}aGVn^sO|GjcZ{ydQr1Kucx>B#~S4 z@F-T%Oa+NP8RROc?aCW!zRTs$$K8 z0ePh&&#bqCj4Xk)h!cT=7~Q=YCAODzZqF~J?JF_)*@alN`gWa%lIuXh`t;aBfJyG1 zoxHGc32}@;yI^XKVV7CG_TyIj5bF=)tyLR+A|wGDi#${Knm1&7U14%#YH~QaH~Bm7 zG>U8rpA|}xRdgdy-C+G13!)iAxRUl^Fq&=tr3*P9$zA%K^PlwG+aC9`4U9ViLF}h| zvG@L2fk@sJe>*iLx_OM$wXaYnxdFwtk&gHAvI8yI9qq@58DjAcr7D zS8e%ANHD*e#Hq~4&HVuwMz=w9oEGD+&p26>;?0E`v7eqI(q$EmUXgtLpV8{XI@b>i z#riW_HdPi}xhZs|^DM-g#%T+h1?yhlH6Obh=5lO))pi=U@5$dM_j*NS;LsXr8Xh0l zAgaiF=R$Rh9a3^btOoOPP>lAxg+x$vtqsITs=_a`elW5ObNmHSNPJ`AY>IOEYDOIQ z>sDDfvp^`a5?ODVo1wbs+WXc$2XH4cr_O+z9{OwhQ>h%qRi~S>aZ#U3tHzF)tVQ*v zYuGN%CBEPn+OM$V=g+?`wt%gvV(3o9d0Hzhfh5|;zZx@l{?#+)`dUnjD@&-XIkWng zkD7n|j5+ftv8Wt|Y9T0m`ZPo`zA!!fHKb=$ospZQpXS7JngVh^Fb3+<=SrwQA_^u6KaB62E%If zh8Z=zPQ%ObLg@00p-kD~y^`=#@gVGB{X2(NUb(cPzw(S8wpff|=Ef{hC9JhM}>%ODNNuFLq^S_S^aTi@;x8#*CaM*%6H~ zzrBV<7m^k)|A4?q)j5Wq;3MSKjm6ZmHNJ=4Wvu70x;;K?Tv(3dwdmq)>~zTk;0@yO zV}AJf&{^-@0#+`s%cwN$?eD805m!3Sj+1di3R}!oo)xNRLHO36XaD`s>A$S){GU6Y zvl0OpXfyjw4(l75T>G`!nNdZ(v#iYC{t6vx(>LJHm%5248^q6;x^x+l!=I4Qs3v6V zIGDZ=G@F|*StVqb8Oq-@)34_1hUf`yzTP3Ww)PvEt-&PqYqB*V-Ka_Erd2wv8SuP# zc5F`^XE;}d=*^2=d3lNk;bwz$5@>z5*?3*itr6|MSWUymeIn(!2YpL9vX}jje2Lu^cTncZW3^p4QDG z=fcmo&dfWj^Jb;{+KxJEI61h`nGhrx^hIj0tbEM%9 zJiu5cf)TUfXzmjXN8;;(I(PI_r*VBGr_-Y6_UILI zZGGT|8t<|i5IZ2hh{)=&MS81<^sDTr6o1P+FyyIH%mIdB6+4EVwCF6iK6gz`eH|-p z^c>tq2GVT+4}0I~)qX4@Rl`nNxV4pU*gBW}%QEL4vZKv;SMz$SGA4=uiG>`(ms| zRVsWxQ}`Dx)hn}0saqBqzkip!q1hdkY6(i6)+91L-^f(kf*gHLhCU~%jOg=@)7s;t zAH|J67q`;qP2VzgV3Rw#j(l?hgn2Uq0b#xY8XRptAFy9J7o5%iddK*G$mtVJG}j(c zXJfgq0M%Kje3g{+@BRNJ44| zKYf?dxBBVQ>-*_a7<%l3tp0y%O_x^D`wvTx%}(w;`(0FP-S)@2FL_a5n>9_;8JUlp z@U%y%3`XT5Pkj9Of)JvY@ZqEN@zMJohmfbUmH&(u(V;LqX8sfSkX34K2??>prm)JH!w*xma6HmGY` zUKq9VbM^fvdEZrDYEHlWczut3`uBc(_xmES?X-t4>9*QGS^2r8N@pc3m``e2&s3~j zVzXG$d&hMNt$0vf_7i@mgk2U&q+r2&?N<5sj6%G=Sei<_9L?&T=U7Wkmf z1a(S8M`)%Bi}zKrZ`h6Dy0J)8&Rx=-S51v6k|f1sx`sUlJme~Cvcy20)V|5s`J<7l zsK@8$6uBOeTudrginN)GP)BF8jyoWX(=Maq*o*3A;))ONcbv%h7|< zUR4_T8TT4byqxRRBtWyzsIV@RR_uL8OY?05>IPKoXlG9%`uG^?EZELCAt3uyeFL?U z|JFCsU+q`XGVGRcU1h~Sw|-Owi}@86#56ipO;_)~&NM`j%wdfdF9=}DefjIUd%*T8D0pI=qYf=p3xwkJ}XO2*g z-}#bvD!gid!gp(3)3mEOS(GlPx6@MHQyg`#*^@3FmmHM}C#R;0*2wfkwCHeUa(ukF zrPJv6Cr96~s`ZFKAbney-uHaLFkikKaD!7B)bi_%yAXB3Z~XP?Q}DBZ0da`2jc1^W zk{YU2C)GE^z&cDRe;$fjY+0i}$>r;*Y}f_iNcz92dyVv>$+S%8@pbxw68}tP1zRK=SOg}YL7^=qoslT^K5sk+%doqXvI3cPn1vA`02g^8@gcO;+CQ*d zWM;NTeNCrrWx$-3P($gklm44CS|xPg!e#J@fPJnpdhgN`{n3v!Y!u0?=i&}BqrK;^ zP;?b-5=2R9M-OS#w`8NvGb|c>FtuFCI6nJSxysIU{BeyGEVz)~&|+0_z9p4bi6Lo~ zUbsEATyL%gkWSF6^q>SqI8^Tz%wK=kIcqN^Em=l*B(ie|#tNwkPS+@9R0R}TQDg!C zQe4hgnT#$eZYgLnWTouyFhg$S4vW8Oc%eb>t)A+0nC_{vnv%GUQNL6=7}UGZv9{Do zj>Y>3A;6d+gVFPDxlbB8VOzDPsnrE}p>C8fid(&*g9&lbjc!7GlV5M}SWSqE9hpBF zD0Z7iVcHEkp~+eBG)GZ!s}aUK^IJq$2^KVXkd-iVCB)|Z0Ch!Q8~MicJMcD^ihOHt zFpro}d5T}&l%G(;x%<1u)JARn8HY3K!t2dy+{diO{mLzUj1JZMn%|CCU`OSz_d)5P zih%Qx<(h@mn`3&^b7Aemd9`yVT`dh%u+;T&I_HjBc4?Fg^0o#bG@$*W9RcVntumuy z|B679o8!06zjh~tDW6&{j5hN(H!!5?WdUbOn!}qIpy^f+$wcCbSz-`q8@!K>7wwrl zF0(xd4H8LsU1W55lsdF~;I0x?!PE<-(|*|^NKWm6>C)rET$UqxSB^D zgS(t}F}REQ1rTF!(PP^%xcJ_Jimik_OT0?OcvAI%yyA-obE#w@g1m1XLd4V2z{}_c zQgow%v|O~8o)Fv-oQt)wn|g>%CAW)Bi7EV5%jymsG4SUyOj$m;g1&j2kCfOg-Z?Fu z@hrJH`t@9Rk`bwOY6;K??x!aaf6KinnQFEVX;d?Ou;yeMd4~_FMghvy4Pr1Ks>xn? zvzvu``SqR}#Vou(VO#pU<|m0GpbSYuw=w<67u)EH7A{ruVpeJ|DDvx0fg>|+@sY>jCwq2`TF5T zC5SPdN-#e`PBdNfX+S}zFC14bd(E~7MJ-l1`>M7Tsk9*#+>aq8dvzs^(!+ z!ndw&;(>-2N8B)O3Ktca7FFwKqo8oa{1b|cm>=dhAm$$(-L92ru_L+y3t69Xh_j%A z+UT*%n;8_H+qNk402mu|Hi6v|cPd#?3Vn$}UknPJ+hHN?sxvh(V5d`h$Nl`+G3Huz zz^9XJk zN>T%CK#1@~)nJgVZA*&L*stAeq~Y7b6X$;A?=HBpM0&R$)ecXw+7>GwZ)V}MdM*s# zy4D|wn<|6?uwNp~N6!KSX9gHJyM0ZOhAR$Y*AlZzCN%Lf7xL~<@H(N!NXb4S{m~|E zgzli8fVX*n|F$NYrZ8|P`q1f&9Slc0X`SjHve9)FE7SYh%>tR@aM8Yi);j?0yCrQp z$nfhs~!buaxtfWJ@+yF)Pk0fRQQ>&I&M0c2~S5kHMhmO40aL~Z^(}&6b znm`#3D4FTx{;Z6rDdYS5TUri2pQWHLPeMGA)%%mfGXKpNu|3-!lxv3@Z)5RJb5QN|GMcix915x%$JVDlb{M;ewq?REL#+vGcypw+U*Z*I?D+9 z9OKzyXFqS}c#wpFM5!zXc!4||mI|ru3SA7EaRl?6%7)tl91bM>o|5jItC z;oobLhhz_Iu6}~Q{Fq8UcO#tnvL;vcp^jv_SbrPu)8E8+{ashYUkL5GsIBuRN-;;Z zH3@l>f2n*Wu9~Xq5*P88w?r>~?R0_If@%YE zY1gDC)K$hDZ9<(WHE7O{@J+0p2xe|=U&xD4kGiQ*aKbd~&Ww~{lPLX4gQ27oqx6KF z!CR@9+9PHFU*4H2Oqc%R7+R0NxtD0`%Cx0otM|2R=g^RsiR3Vd8V4;pz1@8!MBLgO z-yq%Cs9%RI3bqb?`Z}bd6={x0#$S>CbVM75C;8yZd~UH?v??{K zx?wdtZ(Y4s6qMMC5W2W?lbT9}(yL7K>5d`*gxQ+Kg!Sx=_>~Q9;yqqcjW*C*7x(hX zfwgm;l5(=B4y!Pl-mq7}uhD7F8L8+)q){%e_B*WIpOG3uRvmXQq!JoFSUCcy4J1NT zE$L}P9zFGr-;wjzi=7#-+g+GiE~@9|KAU%vQQZ+~#UI;6P4BAI*T0EV?;kqglgr{x zY~9E&*I-Z+ke7IWK{JqDkzCc21TFwkGGtl(C?7Gv5Ad^bCyIN*C@XsAE743v(IV!S zP{gEi%|KSPo+&q}M)iWejlxFt>XS~W1<0n=DT4n$@tIir zkOq4L*fRsU_wm=Tjn7By@uqwr5&!l`!_k^&)kS9LOyM8!DC?Tnc?+X3Hk{muA#HeS zT_p`lw6r}JLP>7a5cX+0?0p=pVX-4~>sLbh1UHm)&Eiq2izF6mu@-U+c_bEFe>J@Z z6^S72k_EY3ICqVNdl9+m07`)TNM<%u0Wf^ql7m$Zo;7aea%im zbaJC$(AAC&K`q9HbW68!ehQUQMY(sxJ2uT4?x&5+)smGC-Dm|AI{@&!al{hN{EZPc z{|Mm8)5RUhKuEgp!Y>14Th*7kwBZp>C`w!k*`$|`rJ9uEym*Fccr}vz8jq(24K67m zFKz>iI2OAI`-t0Kj?Qf_kMk>mY(J-uI6zII>ce$K(#&lfM9;p6Tu)w+eE+*7$_j<7 zDGhPjb@c{-ktc^?_KQ|b9<2cBz1daWG@xTp3l)v+2M;!VsJ8j$>U&l$Q9&A&<`L_CoWSr!L5)wSc$;yogTm)JGXUuT+0+c z40H=b2P1$k^JQ&;5?4`i%6wFuERnR;FLNp%oqQSQ$%%T4Vpq?IMX&9X6X%?oCNzH0 zjLEgStiE=kd1?DXm-9^ebp6nTaaEHi=@RYfBWk9Ot)4h_T-AuF<0hf8A5nGTh%wdE zFR7S5pf%jaAr;ZA?+OV}*fJzTaBSpv_zKvlsYxE|CYwYy{cTr2leuPwbd%%TgW@@PYU|flP^pL;}wZAmrWGlJ+Va8 zDo@spZR6Wcmxke|(8SvPZCQU|?STL~&QG_n-U5J|rU2q?d{Km;{^i!)WqbT}R~-v< zupLmFO=dnLsVvTmz_Uq~&iiNj$L_F3XacTy-lC=~aUT_VNZj8$(Q{>v^U}Aj27i zyZnN0iMvU)%NMP)>y@W*ss7T2RzzKvO*ZAT?3V-fmK2qc9mfVp^(Ej$>uC*AZ=C^NUUxUk(>R#AyWupd}Zk>abL^RiDLHzTMM}- z1RIeb`4DU_b0r3(6Z>7-An)?qG_Zrsfp}6t6g@>0&!gvEds-W!$h_0>LLJcRpkVli z4Pf}!rW|09&ntCU5ZpY#|D7I5B(njt2@gKfZlXi*{#s|E4PcjgH?+th(WIAeu^c-g z;!6PLeK-TbtB$nXYOsKp!_a57#`XJWGLgoR@esZjB#fUlaSV4M+jW6$kL0(W9353X zrE2oHi>6MJPx+`zCruuOg+XRjoy}S_w45sr&*OIaTnZM>oWGr&r@0K$wH@N$58s|r;{E6o zp^c>%Cy*dQ{}-H5XIPgTj!6D_XMOquW61ZSLMVWT&id7_nAfP72ItXM5JD{`7L$ z_&#`ib~F9iG{!C}w~3Avr_v+8k1O(acyp$ZO2sBfj8P@`9j^+`XLSItpuEC|+k5y7 z2L8vilYg}466#|-;(M;O!6|Jhp3MdC#+1DEZ)^SP$$F+ma;}KDZVTaW(se(h=VAQ$ z+FuQ?{S7*f%~qY$gZNR-eG?4aMi7*e4gGp9iacq$(pmf8GOru=S=vE|*vXE}ej+ma zU>bK&!>fiFP~nX3vE@Bg&E9^Ct$@^L-l7>n7t_&iQT zgrXO?me#4IBrUlr98AvF&#%ob_&(@4kS}pHXRd%~0Lqo7t~^mbuSlETe%=*T*RI;F zVA)!G<1k+b(RT&WM_0o9bkhOhCsN;fh-#VY15mv7WB6>3QG3Am}Cm?wky)GnT|lAI**;R$3&hP z6COQe)50G?tLTiEl!x}R8QBVB(+%U%tE5MsP%5_r)a%|nYfdK-#<*P=lG)bSh1UJ( zAe=zZSuqnRs`7%QnrChQp--?b~gzP!F}Pw1vj@y#XOHpkzrjPiuz(;kbbU%jVW zVIZ#2l43?6h7-{GX`HLNV3Q)b;> z@+>RdHzHgZJu6pKiz-D6*2mv0Q8BCxyHlU*#tjU+I2*RObB}s51O>~Z{YXz8Lzve= z1-%MBdO`G!$w38+tUZvUmr5(a$+Ue{1(lJ88fG7{fK9<6dp7) zn770ZGZRD_{tTEx#yk85$avdm7j60;Y+4-%N2>}y!)31V5L4el@yORah`0=R; zyJ)|D2>wF>?xyWdcH(0>&W8ep3^lv=6;!4Q9isF(Gsp+a23e#VX;1(HFd)xDQN&aG z+94s*(1N6r51LO8-2vdE4dogc&cZtK?cRyY7qQ*=j%!_fo%>LhnfO6`rW zFX@izq>N?eh&)PY?M=O!$6ay4?v!kLCy>`C2vK6EZrc?z@I+V~G-2C=A=65!J99os zL#C;j%mWPlknMWvm3!&|DgtrqkYB||x`yL>9F3n5jV_#Xbu3!jRt~#<{wypbNM6&Y z$L7qktEBaOjsN@^*D6XVW6!#%eB%6aqSx4IdVEF*YSw#Jzj7+!*CaQ~)O+!#e`{Cf z(;YKpT>UY5;vX&*eksxrzFG;8G<^z z=fkoG+?M&*{CZ8NA(Fo0>j$kvEQ_fer0K+~e*5^4xu;_9-v7iGZS@w^hAbYO{8kn$ zvdIFs&XA(4T51ZoJ6!_%FNE>5I;9E34UKwQADb>?Mq!T@^|~;pkLy~o)k1XSZBQhS zNcIUp-wWt+3kL1PGxk9&bM2DW(|hAoy7i1kMfy(HFIiDcWsLUCABkdbEIT}ZTNJ%3 z5a?@c%h0~jW0$)|Q-#^Pa(11DNuWC@XOIAAF7}q-bubDed?~K*Dv_ z(aLsR9Y+E0Xk~m0UXX{A_8G5H#>^>XTt-IeS99Av@9-rPl+66KZJzd>U*^N@-K7>@ zh1>P7nKjnG(_utyW8hbkj4@ZnT`Y(@v&o|Gu zJT~sTzOs>?K566y)m2lcPrdx2>VD<_6OJywJ@LuIvF{GJb~|R>WfEW;p{g+OfZtVt>b8j0(=Tv&Om_|I04vV4_^~ACB)m%&)hen@6+1b|-js=D?cX z#Sc3m9RMiye)@z)6+Wk{ly)V%FyuV!Om>yT9(Gl#lVf0=at!QP#5obq_&2p@ z3d7Fchj^&8go^S2(;OqUlv+VVQ2<{P@R3~R^%RW%#UoU?SMr~;17oidyv5$#A4uk~ zrrvm?vzzX;2YT*q*Ghi%+o(Rp6)^@4KWd(zGVdoRGPA|ba%*G5S-kmG33MO{_=13S zbqMz2cin5LcdaTpNO#?NFvkyU=C^W$GN(Lm`(OfJ(jy8NP4sdL)c(p*9iLO!!n{yt%sj;yZf2^kb!RFHkt2h+`gk2D94ny7=(*&nq(AMihc zzcvs4YR+Ce`2Pq9sgni&_WwEjr~ec1cf}dSyLf_w-wmXX{|>c?<>vK2ebKBw9b7}+ zL6QYr?69U*ePl<>nKbd>e>#4za|FVoGwO^fgmN@n4?=V6iv{=%fbS@_Z|k@GsJ?Bv zali7Mq)%w8fN)yr)y`i&aAY9gLbZ~>Ug8L5Br%T*pJhnzZM(fP?e;z=$!j?AgVK#F z{{o9jJk4Ku@I1jU8hWKc=F+BlUw!XTdG)W@r=-QO{K}b5SUpS$?-L^@)ERk_@crbs z0KYCE*0B4^0U*+_h-5;?M;cC7eXTkp@AQG6;N+V-klOtbTaB*?1e?TnyGtjkQw6S8 zI|z}qLkh!I_OiOKAxr!d>OP4F-v-324S7c%kG)o%Lwi(c6~}tFo&R|%&5Et9&cv-w z2G?O76&s)-{82nHd1m~d3{fanA`QdHV2h<&8#~(`J(7@Bm7GNUqO{YBQHwXrmN#MS zSU0sV(bPES0u)%c!iblth@GftQ|goVgK;T#rKV9TyIF9dwhW~kn>32%I_^Ss_6`OT zy<|6Z=P%hc&udExPUh0<677hS%O6#l^nLoze^sGsy;=xDU1CB4^^c%J@58urska+Q;-X(`HyWMY}CG)Z3f!e^~5szl%XdWD=I zDX6z>B=we6s@{8Dy^`H5+BKfmYoXq0FL-B5)RZ!M6gm6~nMc!3+Iz{NQyKJk z-`4PnS{iY0)c?`&B^uNq8yBIXn;|`AZmg$#B!NX%0{3x=L1rAViYZ znX)rTJWCjXAVYY+WdkL}s|-&Kzhz(G8o^(Ob*Z(XJ9rBkN+(2;sYW9&?KTCwkTH_F zogxrdK7+-YabgeWQS+P9V}=AP0Zdf|14ExBOYn9UEjzE!S653!*EHH1vh$)Z!`p!oUQgx7>>4C`tZwvnk2} zd}HL1hWC8k>YLJd_=T=Lw9t#t0)?uZu%Y=S9?2_l&Y>lAyk5;b0gRD``F^2m@(LBS zFBD^c=a^ZfVUS;-UtWPNZ?>5h1TGwaTJ$Q$FVgTg5UbAriQk|f54O+G1qNy1EVBCI zf~8w}b!s3ESpCaIOD`@EXQX5+XG}FJWBpKWbx!i330@lvL~-Pqk%eHl#GAiM0GTq9 zYj2@!tNfYD!UCHMEjF;JMh!P*!b9vmaz{@V1@VMRcmngzXhY+sF|~rTlZmyI$t`Ky zfDA_O=7>Ngr^%Q+!_HX{{t(D%v4~^%XE41p+c0EvD9eT`$Lq2m9j3y7qoo^tM(MM)fR(MtuW1D}W&X?- z#i0yqM<~--3<*C~F>o1QGS~6lX@^hb$@CrW^>w(Fd-`GSX;$v3PwpuruLe{b?bv({ z!W^475d&<xr?Hsie}ia^i9KJ2(c;{`FKRLQ`oUVS$yI7K^++JB&AE{-JrrQl@dp{FxVD zY__A2?h2{w8mWy4o@2tfWF1)nAOB7VAW#2iLGB@tOKHvrd6`?+fcO7l?p@%cs;>R< z2@DW0Fe3zwHOQ!-poqj*<)tBU0$Pw%1gwf7kN_zmNs}1?5ey`woSu%x7L;18QuNkZ zZLvOz_~O+B)Y?e7EiJZEAN7nwYkU+CsQG`tYwvUB%w!Vq-rL{j??-aZ?6V(huf6u# zYpuQZ+UKN+_kE=XR_-8F_DMVZ^~)e-v5(ThK!*;`jsIHXkRy_hZgWIz<|aniDDHZX zU4gP)WE3N888dzWa?u$fZ>Fm>jE(~>iI}D%SnfuYOYA38e`oxCWkf|3)6b2?UQIS! z7_9og$~tKUZiH05-MX3&Ml?q!XbO>49wse`yld?vo12&vUNlYEYDXKUeUgEpJKtYQ zqi?54LOlo~t?tvEL>k||+1Z>CQ&74nx&2cOi13dYH)NCS(x{yo*{g{@Cp$LWr3ryV zckR==G%Kb9wONuKm*v9vPE(L=6ym-C&_kqTTFuxb7o#Bv$&?Rj6KEWzs!XfbU!+E3 zn_TQ-uZex6gj{@{h8o(QS8E~->(-1uSPfepq`F>g{Bj@5W%?D1g^F>kBU`7zX__QK zvo@f}d1dGRlH>*g`tlN9V1j=&4Dc;cCB%MzIcSVWU-r>_zZ=#AWvp|V?;i)Fk5D%HN0fIfwiudN#E?&Z*)}vd+VpML8mCBY)bn;CAg-epYYb>?zQB zR5E$RaF4Pq0EyRQJ$>4j*o~vm9k~tCnqri7kTqVU@Md)z3!Rw<+9=&%oGIO)IGV&G z%c>&}-5$$F1~|Gf9g9LUR!681xL73~yK!zx-8SP3RI9)7C@Ob~LR@^MPGA8>r< zE-0V7utW`j+~twHK`Uc6ud;MLZg;}|X>ECkd#Z`?*z`T1&AwD7Z=YrSx`$^I-LK(U zB0H8?w}iMejkS;B1u#b=vTq3rk47YkRQ&W_JuiHB!@J944iw+2UC~vmQCGtf@vRc? zDLIPKh`s7Nm~GWDd^RGFpk{I~BtdHBFKOpNzOeS+|Dh*xHQ}e)A#LQH9BMUK%iLp| zSP!E6!jb*gTf`_1MHU|@#Xp2khgvwQ+OzAB$guD#dA*x)SSjjw4}eIpa!cQ+GqQ1# z!w|S?0SI*Vainlaa56=`;oQO+^@dX}Yz|*@t;_b1V+JtW>!3d)6&p?E+SCIJ86|sW zh5bHDgW6YI4R?iov;oP5J8<>D`j%$qkJ_we{tbA7>V&sj*Y^Z9Z#NF+9gP1(QR)+* zRBP7dh=+WyN_db7laUbn4d_Xe5m8QY-nq<1p`IB3;?G)4_eB_wPgSyxmGojISA(*f znuPvT^z^#&N<>Z=h7|1ohnCiq*OkmG&xp!dcSMTG z1?7VG$&qBrI5z;3eBP{|Jh_{<<(LsA^LSwpM#qq&|H!kJ2c3Ou` zg9qL5i^GD)HR{1r9QegE`*=)I4~FEzuc_)$%*SUx2TN+$GT7LTlYU6p8t;Ki$D?(= zm4C<5btQsM*F6IdPfm}kh71AWl5PN)$J+Ot7vK#+8DzS)lT6PuQwuU&;K~qvXc$Ym z>bi&7n%6&g1}{s(fqw|4Ezs9Nowg(HE*gAzd7iJ4`*L8AGQIh_Je!8+@8T8V8)s!M zA0zq;K=wx05>wcury(Q=f2(XcYlw+W4aE8rNLngHhYC^h_Sd1T(wwpu31H`&e?Mi8 z-@L(V;<}WIT^0a3^pUZ5>*2v$kMtbAEjq3bTvL50Vis^)OvT1UF;^g^bF z7O!*Rvo7d2pCfD?iu*}O$;JJy;>KSwv|FDd-g=m8g*e~srd!U|MZ2R}G|rZ@T}92c z#4@}Sm*5J%2&oOqOpYQ4t`pVhTq4R8x1PX}pFmJyl^GjSE%|Ig|8B`2lK8=_S61<0 z2J6*jUwH*W=N6PRBsIP!Dw9;s)2h8f20r!LYvPetxm;WKZ$UR+7F0!l-;3LuUD*tK@jUJjO(x$z~nc4oW`sX5RNrT1nuZVQo9 z#OjoqcNFrP8C><@QHjx@e3xy#_hn*gHx4~UBcP0R7mZFwMXUzr0nqR#u$9=nq49nE z=%Qo=OM(upMJO3x{VHH?k3~?%@kyw3$e^Dyd1IerB=q3#dEtZyzhYquS}hETd+@tL zY!eaN@^AESAz(DZ*)hzKc4N6eb`zeaS}1~9u>$na4uR7141#SL{m~13eTH2X3X5m^3tks4T3o!hIJj^BUqx%v)I zp~xHzTYRIEcTk69=ClFO9;d>KK1&qfx}x@bDZjhPX3Utyr4^xJ$CKAnzjrVdAjo80 zpsIRt0AZUc+?NF~M*^kuaC|l(;o|f`Ru9zCaBUT56NGY5Xldo#a3#*TB4JUTr?R@b z2Cts^)uHODa%M@1$GR9XO#|VYk%0i=hImiq7Qa+TIu>40wCfOte%~ zT{|UQ8LFtMELRcZ>H;c$re_fVP+CP;@dLRZLfw~ay!<{WUKUNvI9Wpx+0c*^SB6}x zs~E+M21E$C=LRgCn3c4#LE3JgCL-k}NHnK;A=I2Fgf#l_^3!N&)cVHgHBwEeZ~o}R zw|{D^d6^yq6BWC8!n*c(tO62c-H7bR2l$>veo3)3m|4Fh!{duEh6ZHU=vo%Twj_+I zhpoq7fT+hs+i3PRo`f8b8}EJwyjl*C`5Nco)n3UW!^p!WfH2nchu%gt<_+Y1mntq& zzbp&Qd;uaK{pIa_I5m6`_QPxx--gkJUSH$m{7r@#e#@yA@!GNN$?71PM*xtgVR;VZ zeV8)|PGlcatm@~`y>O0!t!nlzqiyuI#l>cn??$V!me1ikhX-@)S{uEX2by)E*Rl!# zd`_L3or-(ChNrCApCPVTOb-6pZh+Wo<7nC^QPQwLyOKSq1m_7HEQNk!H!3xxYxfho z-DM~iU)x3HU$XM)gpMw86zSo0YWFH#)xKRQFoXqqBr=*2;x;uqdycfMQ(5Gbf9Vdy z>X2324}?CoDVWA8*uQA<%xa$o>xZxLQsfkKj}c}4v7z{*1XJ1|y6Dv?v`Aa3wG6Gs z7!5-YTG+1+->oI?Y!J$*UIG;!8?saQ zPT9LF3yWGGLM3x5LUqIRLZRe{6R_$euM!eYR~cUxftABrLSqUU{XCxXpvic++{emz zx;S7c15WR<}}1%l3q_&1sCFKeXKkW^(u>74omh_k7_1cmnj4EXA^lUnB3s%mHfU zehUHu+uGmTdw+5jp;@YQ=+q94;-muLDzb^VPs5H}eXn*J@@;xkF`vKSDU;yVPeE>P zv=qz+ck;v^&@al7wlLEy9swD_-$g}#M@8_*RUuWft#eVGOdaE3$MwIay0Y>suK%#^ zyZrO@`NUiqx@@d(YE7FU@`+gpuTSg|DhE7{UHdeq@SHohPv{dbvp|@M^$*O{jApeM z>^L#x)wC+)2?r$y8I2n>;%~U@-E0-N)jf{~>1|dFQB_>~VKU0D?|EC&UA(F%4e?h~ zUcRuTrlJNnXDfxlnIOD2ez>QqI#g1PIBk3h$V*-6;y`)zyg+qT;M}2g=X!X@Bh!LY zi{xEdDG?DDGJ9#6Bvn!PVZLIt#tYHPiqWDLI$(GV%12z6R#{ecuAJElEW%kW1e&8+ zGUzF-RF%qK2wJ6Or3+ZMJ#emWuI{2}9T_%I=cZ2<; zy=fEDUfA;%i0e`s`x!ITgRohzh!D%b{F!Espws#s2dee$f02Dl`j0K~FYjyK$$Vz+ zI;`})@R8&4!e3CE6p_lTw^0tU$Z#MdG7s!EZ(sfLk3GJ|Af+G*Ehj^Mm<^Gne#rnN z|CsFqI%ih*@iq3rS7E^X7Tg~Vw~<-m2UEq{g;EX(1wYj;{9c$Ab(8}h_RwSp!v=l; z5#X3=4Z{MrIuB`)Ei2B{z`!F&AMp1@-jfD1oAdi+v?Jnq*uwdZ!MJrm&cOD@{#X5N z;7>iIv$ha{R9vrO(pJ>|{T-+PE=6xRYfP!MG61_A&H4Tej1Vy<6@e}GYA#R>>4hz{ zMldmgz5F|nnua}WL^5WZ-#X==UxcB~X!QrQ7bVTiM7W5|h*+ zp!d-Mds>e;q22}CV&B8cpJ;Vp$5z=V__1@Gbr-X(i_v)ep+vDWIu>)~_gmcwY(KUX zY@;OO!z)i^^uiOzQubOud5R++`i2dDKRriqScj*mR7>E?6b$Su+#S;rk&AH|3m{|w z)*b+KuOJC@Eo4eq_{v;-rqbvoztA)qR;C7M>o^cDw5b5T=N13~rfMDenQVq>c?}<9 zS2^IZ_TwSqNF1O&DpZDL_e$pk3V4FhUu-z4>!Od}LLaT?Sjn4|m)x_{8(PqCxMygt zB<7AT2-IC}W3xAifioxm!!D|x&#G@^)o-y1Mn>=sB(lhx80!E7ch3Qs$>L9&!S~Jl z1sJbCpeLLua;rV>$FX_YeiqywW5ia;l9hp$;k)dy79ik&2(1+Bu7fNkF-8KR1>~ZN z@yk&vY+i+`YpAaV=G9g&qQ(ntmny9DLF608_lA4}>k!(%B~vYrr>OO4<+7YDd*MY> zqSm}Nvj}=u_)KguoD6UnDa(4{Q5n$q4ls?pEi@r)^J=XQ9L9Y;f=zCZ{ZWzID|lMx zeFS{%a4o==iYI38T(H5=N<9vtAEiORUELp1UHq4N&Exu~^j-Rs@IG4cB*A|D#9~x< zE&@Wrsu8{83u4zO@QU!((f0J)cvvf%qZ7SGQD#e#%nE!O#!nTu;}cl+b`JM` zzyRhgyY{~V;;i^`d_9ANf2PwGZ=wnPz*t-yH`M-n;=bNnilLkKG`j=IeN5cn8)hVt z?YIS<5Vt`cm0VSfw!F!3KMiEZug@igg$ za=)Y{Nfz$=*kwyAG^{0G2EQdgx1QW7KTrcc(VTyB24;c>yAQMfgw7H??~oCw(3(09 zu;2x3LhVzu5R=l8|Ge)#9ZKR^DRjDP*{Zvg&fqlBD_LtCnRKs|=22NA8< zdq?>Ip5zMN0UA(L3kZD~ZqS|``@aEA!{i1A@Ya)S<_DVah&LwWIR~Ef_|tepzX7D5 zBje!D_rC)21o79EcBS^uMSi3+PIYBxB4o0B4eoI}xJUhplRe-c%I_P3_2|Mt-2_|y z2%p?s)Gs4RxJWaV+x98WAe_|ychK~%`W0aFqimTY^l}%agth5uk#PM5jLr znZY-}u6|L! z{11?Azm5dj2PDj@*Lte$2uwVodt-xI)@hEeE+pH+etYF_i+*X;=n#`{0uHeF8X z{J(;+;aJldzlQy#1c-9eJLb3C-<<`>b2Q|}-sVCuokCxRzP#IJiR1p0V3PAdF5#$# zo(H7Wgf!V7OYof@Uhtnnzb6IW?_KsEM5_zl9nWm04riaza&}=6ucGDT|3!Y@)Tn0 zxmI$C#~B($jp3S*XWoJfuBgUdS7m8UO?g>KX)Sl!hSF9zSWcPs^xuOcUgB3oj-b)GVp9-rP{zV0Qauyu=z0X zAUwgQu{Y4hBUw%FIxqyR<LbhVZr{u$Qt<MiWdXmvb3eWXUxL~PJ>H8H1lNPQo@vcPA?=3xOX6|L8;ChGkn1sE zrP?Z8jLjv>KuOh9wCH*%{4Kk1c(?V`eF(+)0Z{I1e2Xv*6h}Aga6N!u);;|C9=?Wd zQ0Dt*@NOCX;Ge-}vNCLKd4Ln2O>M5w$kGKi{s634XF(Q03~aDy$LQqWp(~J2uf|XcavqJB$s7 zaXju9NWe?&XuZ3b3#e@BY>Xv?n2)^f#@o?&e5H-<1wgl#S0Hf6p81g;vT)+Qq#t!% z+bQpZnU2C3B605B1~+$N9s#HT zJ!>c$vF`gbu)5WupM*U758N}sO1N((_H!5JZSCI1{Dr6qGa9}1TR~I^8ZnDAV;80x zEHtOmCX4bV72Jby`Gd=Tbr<%D*)iBBZcnmLT#0BJ|81io3ws-mT_O#2Vn>k2X*6FaV5s;}py$WPQq2v~|3)umW6?R*>H|A0PHLosST=%`7_ z^UB`wHAk=%Xq6=;*`o0Bc{Wr|-mhSh=~71$m~I11ics`^4KBG2h2bwxIbx)*mbd(>K8$C;|tA zaKJgXy=f=XvFX%|)8)?}_BDQsE9@+2e@o`LwwaVIfO}8YI-FhyG+O$I{+Pna*lCFk zrmQAqND$#8)sV1E3O`G)lKp76VYwe-$Y#93Xowi$@N)I7*>+9Cy9XP#^|5}jR&2_R zjrdM)^9dLZ8~pYrmIo`LKX}jj<;|XO&}NB!AfgzD#oLP=OT!dL9Z*cM7Ef|;*b}m? zJAg1;|Df@s8lYTq?)PQ!i9dphxZqgLMY2rfwTtXeL24c#!`GAe^>Ou8ZU8|VZQAiS zw0tO>76~{^VqQ@zzr3YpVXxuPc4$iF55K@t>Ng|F`%R`;$H)6r8lN=tc>p-))`r2tz3%`N5 zNRts;4m;U&^i%3dVm&S`E8~7i`I5QiHQ-?CTn)Fm#V5q0KQG3m+Su#viK=q0-Vk?~Vys2`Oir@K2J-zi|#fUunJ2{lGb|aqLo{-p$Jf*So9d%k`6F)c` zvzstToo;(ao@CyHVszxe3<=8dIFeJhzC|rMNvSa}GefFs^cNI1pOd0+)vKj$rrpnc zkv#t5E;2Nwk@dGhQyOMFHTfccpduyRFxL_wV@-rHMDtbG0G?=6BdJlLn4@;gm169* zQ|t}=Kru;Uu>l@%whdToAX8DWYrNtmfh-0XdJ~Qjm2%X4vsm59co=q z*#{2@OsKpMEB7_RKTY+{4=ZR4Kft;0*MrmPs4@DS9bGf}G9g366m}BMuV9>Xm-Jh^ zixH=OyMPA2DUsg+U7@dW7iwWn-9wxMnK-2v)H&|oC|wgU_ND3>>IE3NSt!Ug!fiLR8HPQo!QnS(Ep0!HQ}Frfzgx(0Cirh@EPn1q%-o76P#qUhb!gH)rHvc)+IT+u+9b1UQKG;R0Ud6W?o{fkvrhY{Mtu zFLfKb3CV)1Q{Kdq@Cx;hPI9r5*O?oBMwazkXm`(Gk>HHT7jJ>Kt{cGmPG_`Vvf$g$ zhs=DK{Oq#6Pr3w7m#t&jQkHcZz2Jljj$y%1paj|SJF$Q;1fUmL{6O(|W)c_d5r*b95y;tmYDY;X!=pwd`4xO{2svYfY(i8TxM;&qR zXJgn``H@Fz#$98{2B}Y8FXx;r128`u-=>4CF@{iGEMe@oyNMML>E8~LW{yVe!4t~PL<>$o=RTsRTWTf z{Ngib7t(@_J&`fP5E7jYRlyHWp8}p+T1EH1ITcl90R@9pp_A2hu1gP=uYUY&i5ZOKSlGB8TRfM6>d zH*aZ4(rAXHb0=p$pPcomt6_`R2wKW@e=sMq);INhR@YrA8_)sN2`0cn6O#;{qVrm9 zm?XxXob0fb(($@+74iYN=#R6Jh%mhHSOVXWk~oAce3%k2hMniZEuw|b+cf_RtjQPSn5i`lYnQGWxyMVB zUS+MFoqqO=LRqwswG2-y)C@+j(dLl8$WH(}e1pvUgqL1_XJ)>BMVgGEvF1+3LWEwN zuLjkqz1c*l<2!{xYk@C(3F!el&#-)qc&Q_9!*SM_TFY~HmuI1 z-SHd1`xDfjDs$L5e}sB9J~+wOAb;$9vM}3!vhmff(ehJN5aS^Lhi~28b%7UHfMUz$ zJ{S-g8tdf}jEXJ&HZJPAf>xp;z5{?>g^WrbOIdep|21EPQ$gI-&yZ7LIT$SCb_|nI z$}BWqx-$!;iD4s!>dfKt`eh;v(uyz+22O}fa zWxsVlGye`a?a1LNNNKiNGFKnKJRWZsc5UZIKnbwRKwSmmM2N#4nWuB;%mXd43dg!M z*SCM-hDEYw7NUJz#5c-Svi~dm7NKRxZ}sSeM(b`exV(E__}kSSz79{!D1WFMxHCoJ zN4MESi>nJ5%EUZ{AqNoInof(6wRoaRveoD;ICwn(y$+pR$#4Vu>f5*56PL z91uy?Ey#s%0P2D{d=obN7Fdh|f)KC>`R312$_7n5E6!qBEI>Sbf3uW@W5{Czzp&?d zn9`w`(mK&sY@E*n&aH75tf!a0Hu!bXBK%6`<>DC|8 zjqx4G?c!+LSdLfiXithHe?Ree2(%RB&W5@{xjElUuZFGG=?F%%x}cwNz-UeQsm;fo zgUUE>{EwU)a*4*4d@_1GL?DNGe)e0S&HN#c0Bo7k(m%0x!`^oc3kMExz$>HFhO*F` zw`;4FE75Yoz0AVd(3iVCow52FUvokKjD}^iGr}X9aq!ms1|pt28T)LFo!;=bjK*C! z0vkM<0rTh4=7MbW5#i3^Yw7N0J%Z=`XSxM3kIaRAHCfFKi!3!*oA~V=Gf;JL-4F#-0_T-I)b9U!mK|GvA9GNUFu0rqwp%b z0QOFxL$AW`Zl=DTWB^khez;y)j(#Lgee4i<(>zTKWY#f*ZUI|Jd1;Mb@Cn!gUf01V z0QWnA3v3}T%)ocFE_N>1ieTrOfaxb9ra5H?x8#NUaa+#AKpFT*$%e@A&`agZbF=Im!R;vX;U?e$QT| z*mi3IAaquu_aBxfw>x0p&OB`P`Wzzv-*_+uI7r+dl!win=;SL$FrED;?uRD(TV1FD z?*Opv6xfLmGywv_~XIvmcph>)H36P7S9bB zCec@L8ZKeK|DSzNv@o=8B>#8Eqr-TE%&*Ufl}_Dy+Lj4Y#f;zoQWh-&h~mIAf_|%Y z6~yQ9*@OF*dcr3e2R5?+LXHU>B^4(&;qlFDjzEjJFZro<-@3xOQ(lbjSqhb=CJ{}$Y| zYKD&pETA~*f+zKLXz`f9dFP!MP**<`A&TP^xO!nvgVqJaIk>*Oc2Px@#7h{Nt{%HQ zO3kP!Up#dls|YTUV~1P|(p95oUNZk5p{_X#XPe7;2@lRWv~k`J$zTZZ55b`$2jS<5 z<59w_{bn}^2a~}1^7cW5_&Np>Oj?bb*UAB3qM%4W{GOcrTD--eW?HA;2A`|xeu}lI z!`Ju?R48Rd3f9?$`IAc%20Vq|3op+74!1@TDS@#Hpi^R-HoVZj9>Gs=LpPg)nsD{A z(e|o5F6H0hd*#Ac+%Rc+A2zRl7*~277``n7OUuKBXq{$3QlKXw&53`tb#D!u@;4mq zzT!1pWtlPX5maRJ|16_Ti>cdi)o!ANBsl&{g-a_D6t$32Mp($jG z**n*|9af(BGrU!kr<>$_BA#A19$d>GKB=W|punck5Mi9_`0Z*`0SZ2?!2V!H%FtCnp&@)-b2*le&(Pm#$)UL%-*fOUvKH_@%$ub z^w!W|fO=tH41*nU>-9QlEtFJoA{b&9{F}#T!o(bkBjaVvh~5wjOpL$P6m9TdCj@Kt zzx9juXdzE>T8j@LwuWj?w~hlwERfW?(LH{jbazqtqUzeECG04===7HxnTx8!FnESa z=Tw$^AXh1|zgC&Q-HQTZLZM1O?*fQW@xVG>$-{jia_ zTaI%;r0Qul<#1|B9EPZhgz*rA7-$5NP`ZOqfFC)W#qJ_aktYw?ZMX#Nni?h$Gy~-} zQO;9gNum7L)_*`}57Y4QnHR93-mJlyk3(#kF}HrwunPtsgFXob!7?}s_@U%vveh`-;;Bdju% zixTJKiz#^tqICUQ%#Zj}E0;(Mp+}J^kD2m?;-pn{D85(5#H?Sl4Y&)f|F^4QcGpT{>FAG#7j7@F%w)V6;&mR=HPP9C0Iw9ETkW(z|L9N zGi_?o^)n}27xWY^onIBM3rwr7M0hTE126$fPip+Dh66W9{A-C24adMDkXooO{QsPr z#kUh3r@_`4UA|XYJY)f~9zOad59jb}?#W6;7!i9e<9wVMM8q&f2LcJChJ1 zHLFm;;-9RZ*|XF$M_@bs2w+n)!G^h>Gvx>W7MStL+S~qRd#sR3MN`vPh>x^j5rZRv zZDDhzYHm67NbpNr|2Vcj1Xn5`wx7*RmA-1RP4d^}`oiqkX2?iN^ z1G$>|3qrh$kQ<%M+=}1UE&o2;E)~ar=1^4fi<0l=R#w2f9unT7Me}RNjKQ;12dY&u zuqD?Bigd$M)(^;Q<3X3m9~g!QjFIETO^!)rWwrc;y;}U5S2-U)Mh&e-4YD(%UZ#KS!+6IOT_fv~*5`iIn@8)=A%{PdelyuNJ{T8ra3n)_a`zg^LZ_gkEsc6UIc~ z^o)*qAgoEAalk&S^;U{Y8Jtaf+agRhjG6mzEd=D4Nxk=~P-TgD+Z0^9 zkM{YI6YrX%uY-P99)Qt8pJu@IouuFH5F7K_S03#Snn7q?hz9!op3~$#L(&;lY~|5z z@;(9YpdubGi>_S&0)QJ0sDdH(z1I7%X+|TGinZpPGrvH{%epGWWO!6%%k0*^EAUtilW~Fuukopqkip;nyMA z`yoT@u+mw?I|#OK!KlOFY|Iv;XTYlHNEq`R>+Q#ZRh)y;t^6Cy7$Z@mp$UnGLigJP zhm(?r?Ll*onA8j13u)P$3FLh7pTNwbh6eXn0eklFe29%Ywn&Z5S||&ruW>gLb-#R# z)bSEcDz2KoFLs;2QT)5~CqunMSnmK`?``gS-vEy7da?gCUG|blP#yXL>SJFx+kvl~ z*zZv?iT`(2x``Mj?LrG>N$WQ3GsU(+K2OWx()0hakT&DU!rm!!M2$7I<+oN;LrT0d zV832)MOFEdP+&axdingCP;FpL0P*GLFMo@P^R@$$ler$e2q7t zh$$S6>f)97HM+nbItw&y%a^BP4IwqxoDLrL<)??i2w5q!L%fFm?*|iNtGnm)@VpSh zb>k4l#4g(A+nO;6Gk^8-sDkqSBey7-%6&WOY%WoS^do6x=qM^mz0+jFNk!cDDa#xD z(s+}y*UC6mb$9gFu-Ng2d$rId1h%;p-e0ePd}xQLJQIMb6-6y4RXJb4F;p9-)P32> z>zmAD^c>HuU*aj-^M^NpIXtJUTIFFxt1}Tv#qC4 zRcv~KJE5HfU(zN0xhSbFk1k}%Y-=$~{X_V>YovI|2;sdJ`K{|e!AKQm#eSaPQ0eNf zNvhk9<$WsapQlRNbTCxczLB*bY{Tj_92uH0{u^pA=&>)r-oY5P{0>c)TF9p+sOgt*@vKzn=pqu0O&~SP!$d-@4T2UyD+TRRZ z;VTuj`NfmKxC{hN4(R}rG-6>@flQI@OfBG=x^0R&vM*YN_d>3zr7Aw)_IzhFv;$ z0Srxu`VQTn+MZJn*5?pT->EY%PF@;Z={}Um$OCohy5H1AnL6I@&AYgz^~8BR1`i7; z+Gc!tU!*sPbv@Zo-Y(I522jw_^T)i-KLIp!*c`~EYV>QN%UvW%%RLFE?JPx-qt3?I zQM#QBrrQm{6lI&dVMl;L>bZc1zD`<{)v}%}f@6uN+9VWz8wz|pN0n_oK8<9~jY3G+H*@+Q49y#7oYVM#da_!s4Y0MFPxY#0I;D}yGsxN0Y|P?i#S{_P>?dB?2aiLPZZ0Sa!|A| z?28og7i=4tz8kNT=?6LNYK{6(ej?)+?2+E{fW9xSCILezD2ob5q!`+^j#XzxB~m>Y zA)xhI3o-H(0ybdWL@I9saNvJ4?Iy3an+#W&5q>mh33LU2g=we5$fD6qdsHbxOXF09 zX$q|d075&jl4cYJ48I{U{t3f9Szolr{!7_0Y@uKVyNOCgC>Z&7$g#I7@jGpXzRd7< z013>b&2ZoYWOxu6w0>*THx3a_uSY;~!@pVRSqyfL+0OdcNt9M%L%V?O`=~j-xwCdd zYY(+@N(KhRC~JZ)_& zlWYN0+Il{;t<~=xZs+OxxhRYsh{iE^>dg)=%n;!*yVWK~ruF(^PB&lVbI>_9HK z!`FPo?hBnc`UdY}?ycJG4AAZPN1&Ym+QBzERakpII7VaVHeVySr^mR#Yy93A1rgV{ zEvuzKvAP0=&MScv2NvQEQt6M)D`)c^Al3!3py4A*{%-S#=UZIf+3`Ywp; z4~PfIm7O&W;!FH#7pyrt{|}fy#QY7o-*KPJUnv&*nwrUW1AblL0Tw7kfmmG4WIID2 zo#A0-IExt`OU}?+XZR^IWH7_+oa(OqERlc2pQ11CQi{&9uvj$S37jcW#X9MIEH(7? zp9S!aBJkK1t!1w6SoqYR2)g}$OHZz^}TEOGqCW&wxO((ZwHBSZh4 zhmnsgo&THP>;bZ{m=k66{WsRWDT#ZaDu|z;#T%aVbx`UCC=9f|1B%xl0Od({K*id@ zMQLxP{NwajDqwd(V0WQO-QC>xy6Eo5fA6BZ1=k+0yZZr1qPug7le?=%#frnL-M;sV z0z^`O_c{F?r0%?$oTk5De2M;EoZ4SAF}|VObZ0Mo*WFob_JJx*@gtAF9t{_S@9r^oYKY5I2>`b{#uuIC+Jx%-MP586q03nj6%$EaKV5z@iG1yVg2sv9(azjdi^!SGtVfz z#2SegxH_>i{JzZI`cLI2$8Z0+Ze6wC@~CQms&4dkZkrE zT}DJp?Iz(yi8TU%(A6=43M@_zDu#tlQX6d1WtV^Un029s>(`SMUOvVZ2ZEPVQsHv> znxyw%J5l()m+=+gy9ahpj@zjkzNt2Rx8fxUZ(YN8{PFvjCwcs^&JbxEi!>oc^wDhxyw@lAV-@aM5U9xh9J!_mRMyDr8&YdG55*La@1oa}2n6E9|8-lA@PC)Gk;Pv`=+S3$sCpVu*dzuxLn=7ZmzP+fq^B;>2uM^c|wbwdRI=OI_z)wGGp=d zhW3nGd$#wehwx^r_dbL1Ze7k}9c{o(mnpsd1w5gQsLf8;fvxCwVe)zvl`ej|y)P?` z|19dgDcZOS6VemE6J~kmmu#an$?ui?8aoF|oclK%y4ssu8xZz6*YHVdD`F<|1J$WJ zI5u!^5;*O}V|{L*{g#d$dbSd-nDF;q z(hr8p$d)C&#<%Z!VC;(dZhSEKcDSD)!`>2W(z4}aS8*}l>y}>jIfHdebQV+oeq2ZmZwbY8o`7DE-FT zL+2WM<^JkJ?}9yS{ir9*1$!%YlkA7L!un9LCBMMup`(Qzdt-*gB*z|WaE}-QbO+ZI z9uFZG{mYGzXM;%yppEn%o|}-6vUbr15Zv2^mhcN@ zB}mc|wtogGYb`#cS+8?ig2zaORDyzsqrtW5523Z-TF~~WBTEW-5kc@Z)rN4 za?IKRa|8uF&QI{(n%e5Qi%RPjx^2Elt}90n3`|q!wZr+9Bo1!ZVsmp$Y2NCIeU;kM zs`=#}bv|0h2iNkHU)=>_Pug5?cFYj4^joiY%|)Ac_LtdsJoZ^UPMbaPB!{wQM8KVP zP+x=T@zfN?9WwJLc(Zf@|F_9JV35(owR4d#z8# zf(1(C+QxIpTi(grz4hb4MiVE0sN11^Fs(!yg-YMHE``G_*3Y$wxQLT8*Djf356F=E z<@*_$iuHv1IEPxcGpsJS;GnC&Y>&tE+ylA0CwJ?3HA)}hDT|!4A9TG)A>`KD z?qOZU`t|(dAiD-$i$bZBhq)3okTl-W@LpcYrWQK}Z9+6mtas}$sx3Xykm@JKFLFJS zC@$UkC{y?EzzH4CDR_0<3`-Py@0+yhX&%3E{PB4FwI92AeCw4-JpM_}KiA0EOuqF> zMF;QUDYNzQm0-gmU>yDvg1LkF-azQohNJy`jo$;X4Mzte#D%<^5?T>yU-4~t)1ai+ z`jT7?_9HIbyT1GrzXRMM%OYQphG% zLgQy{N7q1%r|iut)XN1|%ngN>%KM_F2&pm8N$}X29ZF5*KhaqbjVfD$ba&7)n2x^M z65Pl%lINpP@|597&tPBVMkWO}F$V&U<{fNNp=9*|@s{9@!1sETwjhKo{%b+xSp0`M zCDRd1ZrShPl8QzF6di`At0A0e+w>#ccWhzLjwHi!M(cnpD@L5}Q z)O5IT%<<^3_W?H@nxI>k=wG2Rg9-(o^Y6hOjFJ=NO6icV1TQ-x|OHF9*3A(XJQF0revdC?}4a>)_rc?vPyFk4* zBxEYvd@}f!L21sIh`pKp#zce~jbW<}*H2|E zen*=e{)qm`rr5{uIF&Fy@n=YH`<?uJWiG|E451F2vdYS!r3`a46z!mB^Q$EN1RI{n+bR7x`#EB-#Ge1G%xD36 ze#WiWxH@2SxGb%Th~d%I16!==bF~`rQFwBf-g;{ZM*Ow)pJTVlcx(7p*%QPi(cR(h z^n&h8S$SpJ&ZMJkm6p^$Rs8=^|Nf}^=f6hx?~}#J{Ucxh{gyMOf1P$fcf6twhnnX= z|55HnsiO%&Q2VPXeHXWQM<>Y0Om&TnW580@`$9dX|WTh>=m|NE`n!xwg zEr4Ew)8=QGqHbZw_#E@P$;O|Cf1=4E(k;}jcdtS)oE2}}l(z+!c&hs)qD`Vd{jA8EA|Ql@t}Jf@nm$GjiqXgg-3%+u66OfQf_<29ubk3`M1TBG zLNf(Zr%nzmT3S+r*c)(>sDRIBWyP&L?R#xC(v@6_fEQ&Y>cE3XWek+z9L7l8H#)Ou z+Eh8vo+huvI#Lc`BeaVq+%RmNW)WH#hw$|4KpF4Rm1~>)6Il%G(ELNbc=R zY%beynvedlvu%?V;q{q<-Sh1s5Z&+c4yO3y!7l-Jx_Os+JaWAaJ*ME-q<$>E3gT*%2}5_e2tBpEGuhrWv?n4U0&Rw0w5}fs->1Vpjcs8sOd__srPL~; zSDy^>C{zK^z{k|#?jEeI9|qIrhJA$6Q!Q<&kjx<@yXw&MR@o$2Tv`#58z?a0RrEa! ztR^&dzU9QvKcWiSpLoW20p2A%LV1}-nn?Vn6QFM3Rp8Zi{#b5S+7iCj9P~I(BJT?g zg=v)2+S+@u$WeJ)Ht>tJbOa>$S;rt2kX(WHwrgcvy}v|#9Ot1^(aZO?z#-#h+kU>D zB?YnC9I;E4$;v}sN}tv9$A7aLYJ*PvXsw}V`a*cZNT1iXdBnf zaQ}vPCo~+H5b6WKaOW@AGhrw3kEMN3Pn!!|UMNLy-yyh{5Zv9|KieiZ;No5Czoo3i&;;Yv>-Ai_e~U{OmIuN$ z3PI((%uXcnG+j#SVRF5|Mi}vvt8m(loy3yR0U=4Ho0_VtDwjH?sxH92coGiD?$U8< zSbS?~IY9q{qPZ$mnIoe&fW1pe!iA#jzF5`ODBmbe}z z5G~Bt_$)@a;i%UaSx8$_Q5Mh-JsYm01K7n~hZ!D?Hi<^DMlo^>zS~i%Bl#$87Uf{s zEy~h|Qj4ogk0+ zC`Qk$!xaF23o{>bEt|E_Pt&Z; zHhvES?C#i2_|*kS_YkCVfE3?~uAGW05NFeSNruFB%ZwcKt!5a9$iX{)qMPwWRuO+_ z3U`NOA*y`~CzvNRqop8|@}H@kOKZ>8rv-2$OJTN|pAAW=Fk38L4pXpz6R)Q}K@`N% zMgRnQLOj9+WC{?svs@6ZZz+)Rjj!vXPi^eey(lhD9X8yJ`#~^Wlo~ayS841MmFGzn z%*~6*CPE*3NZ|OietH%>j*4;+tPUjOzJEcw1M*gzn`?7?Ep26B4vdwD0b2g~Ps@Id|s zmNMlN+>1zn_9&~(hk@i#*NpyyAur1>H@$16&#Gfl?{!=EcQc!$tse+lnxw5C$l6jb zZ8h-k%JFOnuJ@ih&a`(wxZw-k;07~)QV;6h4VP#5A~@09?kKic1`m*byn_N6|tgem>ITyCcUUnCiGU+WaTpFKM%oVspR!8fd4mpO@An!d3wJL zPsn;AP(lDKt(0KPS9){?iSD4~a4p+=+;Ulp zWYxi5VQ=vIB1b@@=AcJ0VPLyROxI{R?jKAtTiDa}=~-&xx8P~f@fXvTf>PeD&G`>v zD)p^LU3mwsd#gaS_Bwpk8Hl;Co2$$~HU+eS$jC>816jd?T*ETQUP@|QKK?~c4;7E4 z(2GlH!So};0cT6T$RcpjDpF2&^_aK~+q10S48u;J6u$kpc?ZW{%Gt4ej4%W}Q1S{_ua~G5#&?K+& z;~voPgnkI;6{SN`(ubJ_8Zh$0UvO#FT-xWHKq+qf?<9I+U-}4nzBp!Mmt^^|FyfK9 z9fN29xz%IEi3B;Tfa`dd@8!mG0V%5&$k8+QQZL5Y*LVi!#HE>dhkOvR@CEjttB4B7RNlz0x`DEiKDq!z~I5&eaw!`^_`-gxnb~%1BA1{GYX1-RuS@(V|u`T)(61v_N zy_Y#swhAA916zel@IjcQHsFcj4lI%sP$G;|n{GVF&_Mxa2AC}_#5edKE6zw#Dz9P; zR4~^ijzQ73_hGMKES!Yo*2C z`sW$P+GA5ePDumqUKlkIBnFcA4shT1)^ZPQM&)94O18)6ZQ+P+AkNmy9K>dA1l_QE z@lET)Q+s&E_TW?x^|3ypV8ec`UxN}ailY~By5SVTDLW{0ejPsIhv1$#Kl@C6&-%vF zzrz3911Q)%s7R7sac+dg_NhTpaU z>T2v-U?jrTJ0-YbZ770nsQC|gW@<|$bHjjCXJ@DR?CNtD1?E?iKa?&mT?#wm;^Tnd zq#}28zzL0cwxz7D9H9diRM!FySa<1b?BIR0GperQ;aaTZXT9>3qg!3CeBE2zD_;aN*tPOKre~lzeJA|T z-Au_pPtC((JSirLj5PCGdeL)=r7aUe8SQ0+;3bGHCxySp!lz)GD*4ngv-r?uNDGbs z4OXXbA}QtTc&@?b^gYqWA5bDPw#jA$4*zz`NAnyCYhr)lHCVoFc4KoI>m`T;U^6uC zOa(RQieE=5kOvEEB>N%__<=#KHD~RFAfKf_#};EbHT#NGvI{}L1`0>q9X?g>li#3f zLU-C@lhu+;-UE0sT7t-WGzGqABXXk~k^N9S{v5@Q(81sHfM^2=q{SEUA#|4elUC-|E7Q^QU!zkvzm7VVp^jI`17j2MCi87<59w{67s=3K{gAA< zQ>;64$a%kHeWXX~q@yyT#0|9rXv>$B9MwIaP`A0n*jt2HHK=>5_%`BSA^t#GWoG1W z7483d!AL@o)CfvO)MOt7!A*eOB?#{P&@BkoC!_b8MWCsom=**d<={d3=+Vy+1eH;S z;vZBQhD}L>^~+ERMj>k|EBn^##81HfO+efK-Jxf<`D=M(oqL75I;@DP`BHgl&Be7Fwy-H$Jub7wPPToQZ9*)n6R{{w z?TD{x`<>e_q!W<=lkT+`x+EblG0;)~{0B}0SpRMzM*i?uEun-@(d!&g1bIdowLpxv zCDRxA7Kv%!!J;0Sp|gQMS)2>4p-&!bmo(qXqZZ2E{$ax2hnhUrnm)pT(cmIFRl}vZ zh@1@ZeeP$|^d0T)8B7KV$S@heFf9*+99hfhCxO!lRTye(A1gZCE!0;7N_H22*J!hL zqYtnsSgsDlUu&{{g#6~f*^C0x9E}_X*Q0T)0i|A~1`Cb~M@=#J{OvyQY((8<@b^qG zZ-U2}3Q(8>?7&))O^C?0xBDXB1~{5`;JZLxuU5~R8bvZl%X$d!)+xmv&*po9mre9_ zvCdtEC4vWL@^Wk z%x&X#j#Y6jPmdOX%S7MSnvU$( z+xzW`JM*j&_Sv_XCE3163rN}QE)G8An1dl_MIJ($S|{qc_dEJd{uK$X6}JcM4prst zYFOdz=3BEBma|jgua8~%*~n7=${YCW@ik7v1KVwpUB<+0kWY7CWF69-?cZ|WD|a#{ zF3M@xd52M$*(^U9LYK?tE4^fRFoHgr=(ai{cYrxMcfF$eQ6Ys_?$@zA?HPlnV0P}% zv&20JcIKN<$T~C`80W3G+{L#;4|%QqShO(}F{yEjAv_-ecd+ee9vm1xM_TW!K-}(qBihhQi&zR@VhhO6Z0?kU@zD7S9Ms^mp9&*0004p(( zf{d|`FsFuc-v_9QHyW*n_QrUwgGZmo_LLh~y363iZb51n9j-u!)jYO5>~O z5Mwj;n#Ep4R4}2p0$HKcxHOM`v-WQkmV2Lq9`6_@VOE=H7`J*!eepkEHFN59S7}+V zV*W5$+hAet>OWhThe;aouPbo#5wG*G?bJHOqb-yrvS&j>gCn0zD-Q+5*=bl(p5Z#w zw=9g;LE2mjYew1PVr9(~Hs*neVqv*Q8#uLjT-#jWV8lD#&a&Q99&qWv&&X%7;!`uXt(z#F2Ic|Vk z9|lkIp{k*7casSy9Ml=gl=(Wc~?V_hiYU9%1{-gQmFPIR+@4Fx%Kc?*i>cf77{_U zQIpk1m?+VfBCJ>h7;QNErLXZuyu`n&hugYp96*~$Y%4$c(4}1v!j(1@e=P*AD8YcN zW9Or^YTcN=F*XRlu*{gjjXijxC3Xw&gWt;h!!wk&jXG&M)hADMzRlwEZK73l-^2c>gs!q?U(D6kn(jmjhba|ML7DkBU@aJbKZ!>pX6K& z83Vhg*ht~6kFa}*Wy`tWmByG+4g*Ms;gUPl8nYBn>!S%&ux+)=99T~dn>|GA5^x!z zEiB&(W5_WvG+B*>!%P=5%t>SU|Xk!6=-s>ft8s(9>B_uyg07p9pudY;SsOCApH^t+opBv+tpL=E;uAw2-PG>@khf6GNGF;jRB z35QmbFxX10zhXRYd%)#T|BYse_y~s*1TTPr1mXSu7+Rt>)_Gu!+SOFZYZ6{UG_UXg z9(uvW>7Sd(%oBIexAp#3gf!HpXUEx3y7#vpI|k!nB0kiAS(kj_b;5Qo#)#XNeH!o) zvHJo(0i_Pxc@uM_I9C+>97dV~d`O+o4F@I}Q}$?|7}Z@I_5lK<&%Q>3=*0X4Js_Ar zEcNI*a4v@kK`_?0D55gR2833Kj3*~!0oDtRgO%t)*Ekpq5Sc@H!>q@oapB-`vHx4= zA5I`*UMeCw#P_@=4I)NA0Yu~x5o!LD^Mx>PDo+#YL??JcNZSXU^Eaj630GhXxP#XU z4}rkNZv?#jsO(`|z7#i0V4vEtcS}5^W6Gs&H%=}9r@dv5!DyYeU0m#}%OI*^g7-HD zT>^1HOf2!Ym45*p)lkBlw>xe-&!$-OiX*~Fve&aLr+gC=Ag9Sh8jFQJ{**g@5Qw{e z{3zu0;7*1Ss`^ZuzCmRa)~%~Dc)qKtX;j`t7hiJeWnaI1^n`-KtAa&h9}?w%ggM2} za~MGwZ_MdA=JH&4LhW91JCY;2R-B600g>G+<~4UezmOA0&&Ryohj5r|tMB<$P0$}! zUv=qDV`mX;LmwK4r;cu0(GQzffz{oO!-e>D$ET5lD^Aw~q03+Ed;Y4CJ6CrvgoF2I z4Le5YK+6q>J-0p@|3P#23l8lqj6X1}DqLBKy$HGQmB&uz*Oo4F*|%06m<*Om=n>5S zp*`Rj^&-XPR#pLt7(yajBjcw8V z-3^DY@!hotiS0uo-qpQIXB)jr-!glZj>2=y3H)Q;6ZzMQy1w?^6U)o`%G2b1z?JqZ z*Zc9>w~+UO7tGgEz;==@{?~(M|4~RGA=Aygc&i*=NbW@0d3m6+#oR-yQ z!psHRu5x0?G6iBv1HM;;q-6F+xk0==b{lGL={~cf>SFkSU4*mDErpr2@PBEB513W) zDflWDYjX4`?%K+hZC$p7R0u`VW|l$^*4OO#k1@%a9DQyt`ba|}Gg9%f7JcURY@Pzh zwT}YrH^!&35s#kOeX#45sL||U@@=lHTl&UMI{lM@LZ`B0r=wB_v(bWg8V=vGxYz0d zu^*tb&D}>Ct%c3qmmnTqp>C2rvztV9V!4gILC`x#E-?E;G?vBYV;=Ux0h1`Pt1~k> zzW62B19q}v(~ucZ5QcOB!2Q>$$&F*v!Uqxn?$DwCg{)QxQJH3*awSb?Z69J-k_W zDE1IlK7E=~R26b=TWNXr9E_VfFOB^jTxdj<5G-6`6UY_G8#%DvA)C0D)@J-!cEGKp zb8sUkBBQj225x2rp*{`!{ULQu8MAt7-af5NU|DjVaYj8f8AR_K2PFmgaO`bczNd7d z&+!DVRM@XST!KY*i|jAoN3ABZ+xUI>r_sAv*l1n7Axr+i};X z>W^+GT?_r9Y8khdp!OKuWUxND@r&cSWw>0Td~Ro`9T9M49}!4C7472!l{U5_1u- zP>2u&MWAE`u!;s}rg9ud(GsgqMM1RnR;9=#pkTO|fKp4*Dhevz>X{BziVBEG-tTwq zea@Vj-11^i}i|(FcsWnnm|_D966-Brp*p zv=ehvplVdhG>uRi(*ERv2n>fL?PxmzPUuz6<4`UB;+VUa_dvK{&WJ2(s2PBtJ&yx; zZ3w&(0=#|3Uer^)BM7IsRgjp}U{!sbAs>THs@9PyxDVwK^5%TzWsC*^?}NJ11UxSo#*-jAky<_I~3A@^>;Sb6Vlch8vw;d$0lITW&U}}j}3BHYYlu-T}?LQ zf7G+JJ=f9KZD>oSwSCo{DOdS|O3Goe`m?JMft(xAK?$Cjlg0=E*dO1Hja7s-t)>FS zLw|G=hFawbj=~Q;2R)$&(TyZRhzNLk*28l;BD&gWrD-*YL{VP}rb$YU4dpnxZ)Tj7 zG>jV*=kno*U^T%S#LXR5C;NMXnP{fYH7Ume@88;JYaXd|7mC=`I>@Vv3|NR83i)+m z8HtP_h^iwaQjCyjk~os<3H}mEN~G6Zh3XoiOAUdoU4h|8N3aGN=MXqt6_bvK^@>;` zQ{*$NF^6xGaSb`)>t5#?V0Zs4bU)eyrEF3n`NR&|^r-4?iXJ1H9?dfcg3FLts41O$dN9>Fy2jqq8LxXtV;wD0c*b515K z3mLr{mer!CP_nkE1=p_0J9K&t(qn(OE_u#-E?NBQf6 zzS{#QQ||08#O_HviLwLt?(JJND$?UJhkxD1lyB$V$T`F#@8HC8NRyf6ry1BAgf$c7IB{eg17XE2S37k1|Kf3 zbGOG@$Puv|b;e$FtY6_DXUAtx=h>Xg(L%~;G(VLUfEV~XyTJ<(ZDs%xq(0T6qqz&v zoN;+VJG2jjDKI=T>j4YrECOAbUSt;kr}(&3OZL#ZacJEzusWQkj4}vWe~3cr2TKkQ z25}^StRyYmHj+_I&Ch)9z7v2uu#ji84b-yt;uGwKOF+aOBD;_t?D!DSDdWX@!vHYT z_W(Thx?za8x2Pd6O_t~lILiiN*&7e_ZX7e;yawfnhuD762e77yko9O~J74YEhxY!6 zPKavIp3-fUNH<)?7MXVnYeFe8GTi6eUOMv&F^sT>;sdR_Fu^I@jO=64A@;<0wc*IL`Gc_$nKwg`DM^4 zt${Z4{2#=FVka04Di2;6zKSB{T4B=-sAQ6hW}qp!CUT1GexP3oUAcAcbe!p!Hau%e z(Ug(i(%ih!uB?uox?JGG|C3ykE^uYxor*Ccl$2*xPMbe#p3embj9Y>A{&>2k-8x;E z4&s(9V5Wky{CovGYv9C_9yr%BQ;^fnXz9;2kDcjq!3hI)X|v0I=poAXi)*INhLnYp z3kgP7NQ8qxg0)ct0|np8xbg|U3eWjdVtJ|)9mIv5=iNr=5s2ID1K9Q0LIoUGLGCj` zHRMHG2J;IvL~62@rpPB%UpyoC;k&G#j1^0z5@S6LDn|7(ynXY0Bw|81bMrBytr6;n zv>NydL2=(P!wB8X0;pp)p76X2J@wB9Z2f!*mv?6O1pkU(A`QuB!x4UtRI@&;SLtcT zRk%6mZ779|YXT!QG!3;phmr>w!D5k625QGIu2tm>F`g1Q#k}`Zu2~rzCA1oSa;O`w zDy6kdeORgDwRoE6UQA_Anui>l%w=teqlbz&IV^#uJpx#31(0r;zwbsn$bjWP^YI0z8e)%%FsbQ?&Tax8UFL~<;6E-<1$wg&)FTa;ZUd2(whW7u zys-OG^zJ)j#pi+qg#HK}#IH!k3hwgMbif~D%ORwg9|a+`u&}K+Li_O^4zWZeBg6_L zBiw-#9Txo8aUL#mVcpZ-=wR#()Von2Q0G1cQ%1DSH&16DL&y?i{YpXN0yID)Lp3Q& z(1k(Fg6kXB8pr^c2YC*$YOu=_x`RUa7|_D%t0F>|7&8)5Nz-_yX=kBy{hm>!(g_5Y z`RPZ3N37hrmiP%G%&Nhigwrc4RTq1Pn6Fv2gqWjdI-^5g=|ljwWP;3d;M< zM*!f6tTwo9Aw2`eNkxM)Dx)ZMRqX^ARzd@TdQb2t$gIBO*gFS; zG4P?749@*Fyf#u^vCzQ_dCNQcISdu>JqOPkI7^}g_)xr@$a2epuS)@(aH&}#w!PboIWv-OD z)dzcr@|B>z3S5l`82^ep(D5-d01mp=L2W{8Tt5WEU$nl!^wFtUa2NyZ6n@7NFPVD&+y zP>ep>9u)|^8Y42pLY0{5%w9x4NPz|>v3b+WjtLp6Re3ziLx-3Z(=t%ogGjGB+E&Hp zBCjK$@w5b4IK*xsK}{YlycB3Pi%T_MJ3wi~$pnGM8qY@psJm(lTXOljs+I}pzhaYI zWo5n%?JH`G^mDm>E=C&G{TvwT z{RQep`{u7-v8QLaniYx@kolLt{m3B!d+ZF+ghG)JGjL?)U5})I5JeKLkVI7Z3U-l| zIsvX|e)zRR{@Otm_DAnL0T`%la4j;EpOQa(%R~zi_JWHYCPv0uMFIL;o z0Ed%lccS}Lov_?D>)!)Nv`;IKjfoZQSm;H3hA8R|VW6a$G!WVsUX+SfJfR_EPMq@+ zl8)eYNJ^R!1Okm{6a;Se1|b+b#A>H?t(O2NdI0_bb{=!XGwd?%(!~p)U_0Mc$s9~#3;~%bm?UarE*ZpijFcF1zXF1Gh5*~iX09w!|aPPQCGZYsyy`+ z5H88r>fTBgaAhDhRjlXv>G_jCBiZv&`zWF_Ol!S zVBW(Wbad)#{A|WNm?_Vv`bk4z|egH z)1sE`b~)-bQ*?1MKy#fG=TGEIyZYZKz8%*buyxJ^(=WwkQlR*C|3>iuitD3NvdyNI zfjx`9r=b+GjPv-;?_l@58XAMOhcndXRgusdi|q^s2T&e8owZ8FPhrW>QLqtRLviRJ z)Fg~fM~BUSodc8M6IM%|%uiOq@8p*)7hJ%CH7vN-Mn6SbQ|J#VsHB@qkv}>PQMh>8 z;T3FZL@&UL21aMhGfR2#53wXcCrgO=d&HqL^;@u3wX(|S70sg3gbHs)g)w?&TeFfP z3H^zaJ^SotpI6n10+SNm4EC!atMpKb5<^M1dJR++Ei%s=i4C*W>yRKcuZ7_4v9>Pr zSZ|DIGRLi&g(kC};(=gb^I#m+waz~5L?1?XJi^%k?V6OTbr1+jb0!wP(T?bnv;$+C zh?-~=IxvVr_Xaha4QGAdpp2?o%P@bOt96XfW1=xrwvv!ue_IK*AJ^i}>xKAK<9f71 z`DU_Q^X#z@C)O^}D8>GvhRqPx zK(XcQ+3hnCQe_juX~|ig1JCCWVFZp zN#oKSY?L^oB%oU;}2(J z87Hd0QLlC!stLw$)hUb^J;=g?E*s)kAjHNc06vHf0@|@08ntN^>a^CAF)gWb1Gw=u zY#-c*PPg)Y2oEBbk)7mZvfz;R2*^83=5R-!<+A7lXvt#{ipdDEQ_-I|L_;-~AmNDa zjZ7+AYbVO=*{-fI{7RnVG?bY-*sE9paip8F60U z%NeDNI3UsJgZLv1&`6D*3+4}@#=q`I%mY}?*b8s>fBQ1>hKgO}j)Q8o8|{vw<`sR! zDj(unH}+xnZk!B{a4l@Ce*|#zL>|Jl5qn%X#Dt-;X!k^ZL~?iqQ@DuvoNub(YNmw; zEh7!y1~ngx{vEzdO{I5{N5QgOrAu$r7F%4)%f?Btq2Y=>-^B}s4dsxLv zsR9ewdQWgU>COkD-`|&95i?Y(g7Wvl7pPMC=E(H8IYqW&>TuQv&ECsqBa&Ac9Yl%z zJ<3EDrofSvgVW*LiinG*jD9uzG=YDAp;qFL;LLbRr~ zW#+AZ@&`e_W$ba^3$9D0_piOb@f(9&D z^1vIPZD{LC*yWI{HXtpc>`c&9_E5B|y9-IJ(U+-x;JTg>?yA895XvZq#ulYa^MrnhU*R_F zc!F1>2*!wNVLMM1iDFE;*0}kweqTMlPv?>iGq^kMralv86a4iXY=8aXD(+4`b0qoe zKXg0j{&IXs_TOWly&@^OGY|hgFYb>ky(gu~tulN6c0q;nwl(cl*VJxp<1~b)MY#Q& zZ{-nV+)GixU}p>9#(s<1yW+;4?AUSF4&fD(`>XEvU9}gRGxPrR$-L`ICQX_mFaWX&+>2%@X6ox8mE>oqjCspU$tw}E7+)obrLu$=Jhe)k6 z@H9_?XhX*qon^fI4nAWBkibaSW>GaRE9e#We*9zwVk=#{1@^uS4vR>gOsVlhdy zLFW)hO=)Ax&{Fg>u$I7S#6e(uc`^A!ci@+G-b(x%GNE$A+#4B}AzMd=gbh(@gt05I zjb6pU>JwCN_KpY#RZx*y|L5k{L$Q)66EhDdJ4g*+iKv`V!b~cZyBqnJ3MatsWX6)i z8LDB`py*5RnS|4^+j!duMx@1Ex$zcp=Xh%POz>qAwsPEsvLV@s#Wj$TOLnr(pW9xo z|Izq7t&Hzupz8m_@y$bXO^h#aIMb}SstHVxT!{wRT+`=`l>d);MN9d~U9IyQ$iIoR zV#(nNFf9V^Sjti7jPNh*oAgED^Pqkn($CNJ)6~x+c*<5(UFcimD2g*p5p$YJ?=5z!KQ_r-vRmH&#&Vyl|8zJAB*v3ivN#R(yL|4+JB(wz zf7E}hhHfvL{#t{*wtcJV&ntGD)vxjwwZ7H0cG^zDl4SFm2*Zy$3I9 z-qGWd|IvRgcs20oN*4VWa5G9JIP>%teJFD0&C6O)F~1T4BCg7U|3`nu%_*NZ3x)aH zH8MZH)$cd@arX{NqkN^Su*8u+3r7&dBLp8t>(p2pxD8ZBWM{wnUaM)B5G3Y7H{KsDW zfZj1;Cyd;q82%b%)@q$hW5w1l4xt)zH1>Q%ABjxp5tc>RWaJ~KZKjlGGuSZUxm0mjzH0e(qC0dzg2ku2lyUYhn#nZLFdSRhVVS=;*Wa`-Aw7_w;Y4o>^{Q z$_lyOZzl6|$Q-UBdf1G48v91gT6eZRhBRJXG6=<7XGX1s!M#A4>?-d%>oma zVI!7yxOT|V`QO!bxa!)v4q5oelWBpSX?;Kbxp9Jl=TcoGVsDIyZO8Q}Ps9Sfe>xp^ zIaR`+t1^q;Nxi3IHiE6dzyB6Qyq%MU-!Ab>y2jNLgIRYGhGLz+!~BG+(UQZD0mZmR z-s}gjQ=FN}7NPcjyTnMMjxSq1wp29#(M9I$C7`SDx~xMlk{h zPac5;AYw1vDszMOJlRAZh6PnRd z&B9#`4Jmc_G-UsR|MF}oYN$Gy>btn=WG8<|8UjWS*}pJa=jxPwET<0Lzk(I=Xddoo z#C4jZC5!|=4CjZ~7ox9(j%^-{{`k(-WIYK3H^2N^EI8X$RKXFV6@`{!Xzc4|oXo>| zhi__p{aIw4F5(;b+Gviq?%#6KY+Khx0h4UWHy><`U=t;b4S-d4tlGj~E`Pht;}jgB z$WnbxMbLkg`Dsm|O2&P&Z=y>;1PU34YB)m(>Sv3j%L ztC&vr=)n)*NdAEpC8o=EPpBl=EK( zYA*^LI%1Chlbk?v-(L$RKB-ra2z z+jIMpPpj~sFM51?RTVBgY`^Uv>49x+&|TNQ!250cz8}d=A&D(VLqZ{cegi&0qdI3H zhuIUP40ND znrFV^cGY>m#JNCHfp0T+oe`3YW@k033@&~-GDWWG=1M@kYB5TL_M#$B=m~%qFzD^7 zLXb^ZC5AwJ;n9t|FuhP8DzmzZN(n7>{tBj1RvB$f*JrC0?kr2+fs*0&gqDrt_{CO;)yAu7(_Ci21kHtI0{xLcMknDZ`k)eg5y z`QK-P1S4gcAggqlq;ejODxX8&dl?-Sm8cQFfxb%?vDbz}M{DiXTS%Ylv@~>tD{#~( zILdBxt`Qm+fYMtVz1iwh_6=eWY_C8=c04f4#*D;;ya&Q{_r z9aWfDR>FK^$K>bRFW!RO5&5c^x3t(hvN(4<^B{kzcS0$DUfbwrzPI4o($V}@lsl$C zGUeqLmPjqvm3fONdJ9IDcuPvg6c#Ykb!B5Dk9;aD@=Bt&IJd+*V(hgABc-{CC3%JU zg~fTJa|^DOdJ?NB8C^Jj{Fs7~h0;0v!vFESBfZy;D;(*KCs-rTEh=K|qY4X3;~z`M zjB{ko%Pq+B=Cio;!&{nHR$Nk8%$IS6WhGv#DkkKO9+N-PnSc?Mc}pf1k^9qY5j?691WoZTZpB0uB7vu^E z3i9G)U4V1;HeusKZhoFc)&)QVh_gh7QjlkpU_qV}H5e9wtMOWpC&;vBNI_oyh_ces zLK2ivqn%JD1Y^IB9Fd=wKbE~M$SY1Rq7$ql)^|sdamht=f>p%&ZWjSgMvVaxutof~ zx`&^t2(im=BfYsJt=}aROB`9%o63#fj!e!nD3G74n!!ve9XTd9zfe#L1dq#g%t`x= zvqqX8U6NN^2p4bk;`;bc)-ujpP{w5IcTr)H>IXlRfM)Y#Tzs>-svfCd69)O&d7q&g2K`wVnFG4ZK|7suSfn{(RWwHQ;Yuvpk3-pHj0N&F;h8>eLpUQ5R)wBcu7 zZb@FQ;-GjV@5n7Kwm3ObFd3y0t5UEfi&#b$7Z!~|O(L0)wb(lf9T;tW&MTAF$v4=G zA`q=ql9%sQ$SlJg<`+O@q_=ofVez_ zLW(BygfudvgoNCZv3Vm@TLrn}R3Al{<&6Nbj}hY3QzxOEaNGj#_@Z3!bTu~pb4&tT z)rqJJ0#bS&=h_gdV8u55s#hVFTneW#g|3Bjrt^#n6hC``#NV)mIKId-ifLlM;Q4Z_ zAH|3v_gecVzCKsM<6{ZzK-BsAboPr8)2f6OhYt#az|8!R68rm#? zTT7yyiuyaWIo!ydRuay{X~YA*i;a&xTiY7{k}xfvt!Ly8+3stPb8p|qO#JPdeSiy) zOceutM_pcnEA~~~;3e(he4v7t@os&NSZ>e(?c6WcLMIs5OS3zaY$GoXHhipU&NC`A zSM?hY?JqCG*l(Q2pK-XD#!JelBNe_=%3=CnA5%he0>XiAxaa%9F-k0-$RKZ zdFe*IZ)&76)i^5FL%E>?>i1bV?)QP(-SU2p`^-A|PjX$QA_^mbFH}&s>D@#f8KHW7 z=c71nQ4*Fh>D(u}Vcd?}LfttyhZy@@ua9UFoqP(eFGZ>w63HwJDz!Pl8i94ifSi9s zBOgVIu=q1d-2Q?3J|}eYeRbJdWNfO{ffU4rT+~(d)ZC8B01O#h>_y9-P!<`T$_w5z zH?z~ykNO;0A8@k;1eqfUfjgtB9hCtlDjpH-uUzXa`XkmldAKf=0lb<*qpVDd(Y``q zY+IZjNL#_E4$W>XQwhet`B%rf6N6t$+ zPWJXvXLXAPa+xD}#hsm941Iuo_%1YLKiq1lEAx!kMbxYc6d_EBAN7776Nrk&EMV^l|22U>7;H6}v|tCed?d(=Etq z+PnlUur}@l`sd7^HRl%RDbBtw@V4Rl1NZUzx>P3a^_AmBq&Yb9SLx&R>_kw)$LR=g zHO)77{%tN~yL93FS?Ww*JQ>|ohwVn8XjUJ}t|_DPbFYO?My-5GVZjtx4E04Qk7;VX z?MhnjkHm%Yz6vQ{J_FZ%WyLETkT-j7r8-gBeEI*u`M}#Md1-njj|keQQm0GvGW323 zqcfi@KY^deyVK(MR76MxYj(Rr_gk(soT4DEpl=aYoL`N{u27oA0{7XtZ`B~C~Ue6FJ`~p%c znD(3B_dG2aEuB}J2MeJ@}T?k~A|5&9DLNsoakO>ZTKp0as)0Ks)ilO_7}L9N&526>9(-1fDFAb2&JX zlU8fCQK3eLS_tZpeN08FYMw?`5{C5rl`^rnEKg=nhypUHw-#J#o|O*A`?XLKxDR9l zJ=g-!4-x2wnTx?{nB#aJ4{upTFuA zrbZXEOz>5x!7QZb)y9^o_(fy{8K}5L=d(asynyO9r5{xWJX5X7y;B!6V{o8~{sIG6 z{6Npi^V!AQu;p9Bg3+_=@8;Ow#~o*SAwz=WOr!XYsmzh&I5TkqK>am5;3@IcjUkB= zPtK&P4;IgL>W51X&jdq(9FK&!2`+pTZJ?jrXE8o7_h*u)aw8lD_<|&U+EtV0|?xu;1iZMo8m#8I03uVoM?zW$zPwr|1b8)vNG9gF}|1_ zc8R_KePnX%9}fM%{+^Su15p8{Ao@Qp@0m57H>&FEQRdyGe@yfFZli>oi@SNJ%$Uio zqJFppvZ8{@0R4jILIY^d7fAJA=|j-(wZ9LQA@jFSi|U!|=F^>1Sk9<~?elks0p(RI z`yu>0=(oYRcOdd$zv6!Sv#QYeW=DPq&__rooB$?_Kp!Mnlk035b+}40+55=Ur}VT} z%{sAi>3)TkVR(k`WgsE=(p@?7f8eG~^TY1S%w?IR29sWqXHG@Mbh_M8 zJC$+VHU-Xia<_==w^;gN;P7k#JN820(8U}6(#%V*IYmOM_uO9y)c|Zky~u}CAjWS{U2tWv|?J(!eB8NCe`u!PgYH(((iIMjBu zCs;tyjNBqezJqsL8Ny{djr6L;?*KNtWO=3znRxult&diHRWATIyGgvYbSY`*ZohJGu4iEJt4XuC|!NB#pWDJy9HS|&|z~- z3uFQklgk1x!MW0cA^oLA`^LSdAQwV22mX$+7xbXsexkKO{qj2JpuSm^FsO-ubn>8b z)?&Hxf;9My55oIt0A&z<%V{ByC z#?~di-ktCo&58G${Vk@63R{$*M(BneL^JdR%Tc|pyasQ~}980E*7hV8mSf@Bhi&f|g$Gq|o^dL3bL-9LJ2NcenBrMj`E5&`?|iM^_NO zqtW~EK`CC^{=+p4)p6$vM&IY&zkh#iy<-NhWT>O`741F#W+{Ggdy?pxDt;9Fx+tzg zK`;XNu;{sgpoZpCcL3-NEG5PYgp#r+L_E+wG9h>4DO%gORQIjW)bz;qOS;k*|`plYLXn_ZQW^SxM>@#0Vq(?B7guIzh*2U;f%5X+Dc-pcagDK+zyNtSBm(% z(dN3}I4V|Gy*|_PqYU6_d47Czt#f|(A4!-WzqjTG)xla)Jkb&!x0AG<^`)93Ie60k zAX5aS2YT;;t->r!mtN+e4}hsM_FT)qrWXTSRA}x4oM{gS_@8nFi1QJ!p^-WaE&FydnAbE zdVC=7m{nO0qnLvTRDwdix^KQoe7kLYC!&}Tvr&APEF1;JZzA1+;)m!~t^?+9^?EyA zoyeS^klE2jrpC*87=6old<92m<9Hm7spY`qnq|p|yzfaM@}VZMFe#?6I2%tJi>Lnv zOq2qP*#~4!(gZ#X#9@eTz=y`%eVN3kP2ST?h(fDXB<2Cqs3KvD zlUtc`PXGg&R{AQhap9`+Ik*{Btu!iqu-M!>hBhB>;uluKvo+2yqJ34)_0ONClKan| za|=S@;|f(dFFDuOFY8AAGS}}*vJb(&m7tIHK=2wPltxdFD<})0i(z3A?2CgFdOe~o z(Xh?Po`jgEBkN)FZZNND^J9X!+BgaI>=Go#cK~5muyz1#UF}9Cju0}1?OM8;QbRRe zz5W2{s-?}qX}L~$^u>b-^2oZ+K3pv$lVydivbp}LDCt5xX#oN&Q!3k4|gw_!aI>>jh$}w5u^VPufHWBA4Q4TL_5;-xy2QTDyQaeU2b7_@rq$5?YR$ zFclm1<4X2}Hrjz`AGb6}MzX-#HEnSKB-nl^^xk0z3SS1@dDZd_=t-^bzmA1?UuOzp ztgT=d8UNup@>$zoU2DyDVhZq&R^b9*E7dil3ly?o7%ua?-_lZ^h6=kN4C{JAD_V+r z)ppW9P@%cmjp>lXd7>qAq?#kqwPJ?~BE@W1Dx-c9*LaAsPdyF}r z;Ga-f^>q`uVGw2+J-1ve(w9vZ;o>2OAI#R+?nNi(`Y5RbY zNQgg;>OuG$sm?$ac03YdW@AM^ev1s|Uz{aH8`Oc=JvOB*`E$VjBy5PW!#~cVnDfKc z>@>}RkKd~{E`ZE@KrKpbzX@JwQSfL`j(HO2&tk7y&8fQ7SXJkwn+%r5K_ZDgQ$2zX z5~-HH!zO3$gGjdeW_iH-e}>F3mEYzTpCMF6FQ=q~+*a4E1T{~B{cd9z0=fvj$ zE3|ZWYaBOn9G7t%%i=bxu}TL|mgZKOJ6PuQUjU>FNH2E)4=Y9!_8)V%>S;SY4 zX-Bc|3DuoMF{i@V=(4=$m?KFC=spaS>_L2>4lr#dPDxE!hy(8x^Ap$Mi8rKhXAGV+ z42}(pJxbzox8$V0E*ccoM-GD%kQir+#WEIGWCi*n~t`6F;xGjlIGWvvSRQ-rT% zA5a_XZpB$9YPk8X(QpcU*`{XgH^N+klM^lH$~B z3>ilwp=W>}<9qX+A7C((E2yvsdPaP;W2DQ@b6DIGtZmE_)&)A*2e7yfaap0_zCMM@ z5cm;)8~a=!q#-}Maull}g@mn}v1BIqMoN{?JI^Ak$;A@*m1?@NK!^7j7SKC<=c{s| z+S|IUVyILqRDVSgC@F8?p}sb*Ojyw4Kv_##)a&dIWI*6|{^BB>{D^^ z4*Y{&AO%Q@T(1KEfjAicm-xTJ!hcii5-W}JV}@}0%P&*g&y7SvlTyMm+p4l$ZuX;; zxJq_`#T~;TlthS(!by|D@si82{~^9ENtI;v;jS`PF@0T4eYPANE&uQ)*S8Ent~go? z>)R)=3eYAD#%@yU+X?-s8y^5Bw7BwwR^SENf!YZcKH=nwQD_ld`_e^LnKH0HqFE%? zzcgj&S^g6swdE13Ha$;!~a~3qDu|(t5UFE=#iA&-P%aLx!gGtKW4RKBrhZ{<6nOW!+1ce z1x}UE8b;PhH4JkohrnxdmAtS95*&e~7Rp~^mH**&lxKt|EpKkGichpRsY13WZ(d@K zBwft73={2Pe9-bHyVkQ2H>GYImp&tKQc02RNt+!uCtv za^(Pl@bQPU9N-3WPDNFGrtxWMa-5ast8mg4UCob6xB|ne{xR@A?h8C#hdJT${W9=0 zT{}_V zyBgz-c1E`X5w_!wy`p}k#3F>h`SZo``N5TT!dj(~y|Si>`7vt%<_G+;WUT^LPhytE zhjS^?To4$QU*t>Hz}|Bc1Pm%t^v(~>_$gTeMCFCWjCq?7FbUrs@`?JR-kQ(14dyg@ zVe0g@r;d^_yP)h7*+83EA25Mk=1^D}WCy~tbR!bf{;-lUhw$CvUm@^u$`~$8&1-=O z?nO|dD6gI=YL4OVa@+j1?jn@1`0?v^v^LeI^>&mLbRK@)dbf}jxwq67`6ot83R-`?7&B9}Tx z{z$V?-jG(bbRpl6!`POR~4TB?D!w8PVi{?pyfz6Pt(kq>%m$7s=6fn>F zReTb?(ds06v5864s~;v&H9lC1SA4&`gaQPMnhj@!Q?{9@yw?ICX2l!l_`Y{aZE7n^TD|#{P=*ZwDxctYMGi} zD)Qx~3y=dlQbqlYBU-YVuf-tC7N=#`ZlcBJ)Hlx?|KfZ^C{9;6v!P@VR^xSk*(gj$ zaL(S`uMV8(>>CQjPmWD`g59JE)9Sy~4Y8xNbZ2K&|;|}AT=t+o@aPh$GS~GnDEct|iJIbhRV(;FH zDjK54@T&E#&I{vHp$C#%mM1ReNYb~??u)7LC8mPbw*rS3@n|cYm;8_L;HJJ|_DSRr z^Gd=!$T~0y#p5<`+1O`_WN(`@P3@s6c~OaXQfXh>51L$GJOx5%b$vnoU9T?&3E|jV zqz}~yb)v84yR3D*&wvupJ_0`cUOz2I*PSaVDJp_P3|C)R%Gcc3eW z{{3PyTlC&TG9kZ|b0OVe!!`ePm`DFUCw<8VZQ^?1X5clx9`Lr>pU*CK_NOATKaJJ{ z>tT_KJ%IYH`GXs1(O?stcU5~u!E5jojq04uAULvVp+EC?zBs*&6?$uFzm@))$@KQ@ zMWDB{@WIyad9c*s|3seFr1{n6e%d3-z9igYhqh0YwH$Bsya}6r;G8(xH+MdcI?TN_ zOQPA~^n+a0IDZP$v9|d=SnM3 zdj{Sz%uY}9_Brad;m7-+MubcKz!R)PHI`5hRq;g}j?=^InG-kGbVaCamXT|Bi&8B* z^mhx(u$Sy4Txj*%j+v#*{^|>^Q9wENn@e$Y0X}9NEmBesr7B`QyCaB|*H3ZNW7bCS zACj2W1Jx}P*%-IG~PlCEyAPe8% z#_m)@kroyrDO43kX6!X3EIzxA+rHA-5$@RIHVBy#2O&X0EGi?s6DU;*g!G-x1U>XX zt}OHX4Ve3K+~%X`cJP1W7}>j4NF0HK`(@cvv#$$hhb!j8WM#zzlX$?V#8^!8I0XGh zA_VA$xVMheEJTMT0aujohR`#2px-A_%^!E7ScqcLE!1Ta@>W9R{tL6y+iT(4lP4Zh3usl~f_ z2zf|o0`hx;S5X7KyO*R)l9V3!eJoUj-)`Sxt4~dqJ%p+g%Wg-CD%-}F8>mQ2sal-o z@?FtX!}li@_W5zm0$UxF!aETCZLsT#n_PQ2C-#l{kuHaRs1q0K%w$EWoBD3!o+8%^mg%#p-$uk3*-O*KON$L3dXGbGUf z>=0&pmqg`K1~J=*jQ5n|AYs<@xfPXjF7_#RGPM*>&M%=PxO0QpK`3@(MHa3qFP}4a z)^s?F-Nw7Khg^|0vwYeu$@?$X`u!lLkv5Sbh^?|NN7`9jLX&Xz0XTiF7zyIl?qL@I z-{wUJokr$oNCNskQ-6h?#%jf!E*!EJh=aIF#K5;UtxwvO2=(T&XCMU{si85h#xQx-c4fF}F8G}+}&=yL2u z+lXymGT(~uaIGaQ6Zp_?(8Rx6_lqx}?(K08w6}h#>-Ier*h2NWxo{W#TW;i6fVp`c zD}N&_kZppEdO{n(MAh|JDgOVmLEPn7=ym`!#S^+2-(gZ!K3!0^-R2yK5wVD4ec;)E zbEk#Ai_GsU+^*qN@jSud;D}}v?|~CVp5OqyQOSLu^e8I`U6l^AaO5TsU5K=-tnBBg z7nP~b)t??(k0B4(v~`w>Qiit94#tV-m2uwIo;9^dzE5R3$@e0VyMuh!YJ4^J8MG*( z+9KjfdeQOib0A?#Mz!F-8uQe2eTX1L&4N2P7`bg!t9-)!qB8`j(M)_7x1Xv-UBN~v zA?&pYtgbEuMHWv$f+Zwn5b*-%(r=qic(?KYpF~`32mcnh`a6#boKCrOdvqR%2Aemt z@USWlPKpy!^P_)`qvz7;^s^Xs-*^$H8f}5M^GfMk z8rKE~fW_zx1L~(;>HKyAt9fJV z{|Zfyu?LM~TJ;iDHTJNs{iarHZpVR)O z4##~Fu44A#bSSQDC%3w*cxSK&qrFvwu=s$;cJn9>a5Rv?39|tu`2c<&`+I!xNcvqn-(jwk(L1pO??-3Fm zX%SE5p9@0^erM{m9@K=)&QeJh2HQ1Uc4XT>+6F#NiB1B)Q-Wg;1xNk6*e>TbS=H?+ zll;NxQ2f;VYgJW|I5Y;&N19Mo^e6b0?2qU_h0t{RijB#15+>iX`h}-Da`d$<#tws< zF6EV-fggVEx#tP|Xy~~h>24Kj4 zj0=dFESm#o)R2V0KkR5W$y*Gc&H;ycpCMRgB5*$F2}eHT_nY?Pz`znFlwK*@ejo7U+! zIT{5L4VAMqToCHs(=H34A*tEVc)-ODSO-51&X?TsgSQei zjrpOvDoI3gnoN<8F;GmAWkA`o;TNWskJSIh;_1S_V*H!x_;(Y2|KETA84P@YA^%}p z((H5GR#tqON%U)TdSoQ}PunTNZl; zFSiC`yC}s@c}aQL$KuqCFREhOOg?3CZBYiVfD{Rr9S-eVgn%!}Q^h~fIWfC1C~dRx zMIXBvga6P`M{$m3L2AYH2g%KYyA~gsHv6# zi@~&TYIxvq05Zqd7vdA+ao^Vq7_|az;eI)s*SFo^m6f`_EnBJ2a}R)pW=4Hp>a00+ zd7WIb{kpwZ1|b-5?9qh%!zl>f3iHYo#xY&wli*2}zUi~(svYU9Dbr@nsJtp`?(FGV zxkY1K*87a zX~E`8$)0#4dpz|UWw3#I1Luvvkw zKI;IA-zj=L!AeY_WQrLy6U_Psd}yI_#q8YkzeDHN9N&)d!GN#>9WnN9GrOo0FFnI& zcs62ZP2ZS;+mrDft|i;dG|Au_VA*^;!C5Ugb_*JdJ!qT7E_F_sPSX1*ZqjZvj@dVX z@(;Bzh$;@^@BfWK{881ywXFI@HO^jW^CU_O)jWx6qF=Y1X9My8f9d8zG#5RHMXv15 zRruh1S21N~#q4=Fzr-NC*dFIha3K;PKV2pCowcwWo7I&d`h|G7=9e#Ysq@WxKM0`@ zq4W0W+SWC+T^00kp9%tJv7pq_@EXASbq%YC{aMkk z@SE28Wjn0Wg_ajxt$5vp49(`2eC9&LI%40k$CymL3o3y1Pq;pJk_mJy{1-ri zAY66`0ef=X&#GC8yJub2ob+83?gZyI$DEupNo+HwxcnEO{AjnaYnz#_W~ygf z)D!q5CAb^k+qkf4A%Wdab3V5T7iBE@w4vct!||L!u7NZp^7z1#H&_!OK+~fI0y7M6 zSSrCgPC|BEK|+PDSY3sVXMqUI~WVTI%M z%mckMryr&j@1k?EQIe?8Dw}?;ui~e*c+z_Ur|J&zCt@U-(TCOf1sEZK-LyQ~7d(*C43}C2YJ;f8L_5(DSb+&h_ zIz3_uJ;X(@edQ740@u1}6N~#gPWYBKFrIAVv;g-iNw5IFq>+yeQBo3D?i^=UKZW*@ zc#`vq&k6kG#Z~uT%fW?b169d59$XIDCr2z`KU8BxWh$sxViadI<6`U-Zw>MpWv_A# z#H>sw;bXp|sZ?YMdv_wi>@rbI5?uZ99tQYcvW&zm(`CZ2qp4sg?uP41C2WSaG_;3| zpInFdvh@z$5PcG)WNs*k+m|{bA;GBG$jRZKkUW4_f_-VH3-%@Yw_A!~+`pFheOad= zB_0d=X9keBseqmdt5X&K!J=G{w`1E*AFE0tb1Sdj$0L=myNIBP_s61l+aFyB9xk)T zkxdbNz4sm96&6FG23Sal4Rhr>ZCAwgdMe36khvbq1jG9dCFlp6Y^iVgsdf%~-?8@G zG`*Gr;w{tb(FW`$*c)!Xq6B(<(V|!HJ5G9a4G^A$C~86y|A((6SFkc6*{dG{$ujJj zrT`iQqJ?-j*X744fDS+j6wt`5&8W4>6tMj?j9BVwYVlNX_?t9^|4LLr{9E|TqS`&T za)$EDQ>wc#u7q?lFP_bD#&f29(6)bJ(!jdgl=1864VFr9mt*;(xKXCXU#@h@`)*j9 zz%dr}p`T8EtnQSM`x^2mgP*^rvEf9;Cj%Ah_z_QG9o+uhx(xcmW3Q05V)u!B5DgCg zk25M0X`3!RGb*9TsUK7oB){cPyX5dPED0=*4Zaz?3}hO&+Gp_1UdM`ihdSGBp2UW^ z+JQH(K_ncd5gR+W?05<69V8sFjzYU5;&})1!I369E8B*=py$t|gnA4zhJ&374Yi-b{e{c@E3Ud-#E4xdR z_*wN+UFyKJ$f}T7noHp;w}EipYCPd1;gT4#R~;vX zZf3`UG*1H))Mn#HMXy(oP8Bl(?sC_l{tlyRnZAC5UNeXC2k#Dgbb$I#$s)aCBBuFr zz|W~m>tm{E%4~WE$-(k3_qW=9w}keqK^l(s)l$;IX1;)nZ;Wiu?0jt;UvQgA#8)Fm zEfKPkMD^L<17Gt|RCrH?kKy4RD;5Ni7iVWXYW#fV&IVq249vG7`*alxEy62F+p5Qwq0N0Qa8J^&7{M2NN z9KgU{mk$zk50ypQ11#RHk3lsVPvDDDq=%N&!@vpBgXQ1SZVd6UAGOQWYw8M*Nmr_A zHXl#RzlF;P^Zk1<-RK&iG-R`5(T@$$@qEX6(pcLEgTRQx5_x_|8()Vy*V;o1- z;zKT9hw$WsxGyAO&Lp1h&h@r7XFopXoU`Sa3C=mgRpE*PM5lj@4Tc{fpnY_aC{{dz zmd%Ks?|%c-TILUx32l7``f;?io^55bt*6Wz9tS>lL=O{yz{f3laeRo)$H`BR+41SF zQ1R(rYyuy*@$f9;AZmOx^4InKN^7Y~zFXqXoJu*>TzHAk(65$9yaesWIbz$y5wFqu zj|uCW9ec+QdIVJBfi)V@+eGF_qPIuC#rSgYAz^%R2L#{zgyEU9xKhx=N{^e1m0GXy z*{;>mtwyWy(e(zcIq>801#Qs z{5!|8?N#oWTVb@VoI9u7N7vC=b9j3TE6Y+hie1GBg+;iovZ9h+rMDmsbnnUqIBqdx zRt2x4@MXD5XY%?9>my`${Cm9eiu}1Z-BdBXa86le1ui-BVlkoSPf3NZl+})zgF7c~ zMK9*g>ElP9{?b^#EcsY8f7Y$o47qmxT>m_rAV+a~|K;B*U$}5i#e7xJ9=QH74W0K@ z=-#U__sgQcY^DFka=&jT4wuY=X$#%z-{b+UrrMW2kF1zc?w{=&Sw3yHYPn#pZzf?p zvwR-5XewO*GKS*My7jioirF(Ry&75&-)p=-xDO#g&3fGL9`U|_cz@n!vJWW#nDq=RWvmF|Z#%IigdQQ~>V=E>``?{H z^nEL~AgQa7YqI8elDM+`$I@CBOA zy7DmOw_-XY8EgLe`f&1%mh_`(Uz2ZG`q3BHaQ@o*(eqq!N6Ma|YvKo8Ps2OGKSL`3 zR9sZc+I+r5H(A_jlSjUCHaS1B$+b!!RYt~TrwE1W$Vkl z4*HJ@Q`uB#AFFm>omviS_IY@qzI5|kw2Q?sYpM0+C>TIh|BXOzfA|J9+FxM_8|fFjyznPzs3j|Nr= zpI47Wz^Sg4agKsxxB#6GD?noiGT8W#GR)C;sSeGi#f1IY4D3LqFobNv-ePE7H9=tA;|z%j}V+16@FhhM4rJ;u48Kg zQr2{Hk)|vEHP&XR-=j$RvQ#W02C5~yMQk}JY*7GVHyp4tFS?WaS^^t&6YdUUDUli2 zLgH`mWvW>)R2ubl!ns3sWuN~XH6w^nMULjdPmec5Z-fsHyLQb_F-SEg*e~8zeP*Nm zR43d795O08NHsgie8lF1-wud5N6jK37lmSHd2I49jK6q(yirCtBoywf8jtFz!_9$U zDnW4JVu0W;j#-(b`Y2O{ZLValAF;}ha;F&#FEviYYLCinxcao_6bYF0rHgulO9lY7 z=q31LEm<$(I^wp`O_uV6T+Dt4VA(>i4zX7^p;xNK*o%6|BTyE-c5}_9s7_O6^<(Nw z+6lsrF;~LwRhM*@@0-~|@$~{4E%OsR_4f^oe?dWU|WE`@?v%EI?Hr67lE8zes ziFErA(-ijwaa?ePzBv~YKu=zzJ~mEMvnPZzJkF83suBrTxa6&D6`G}PD>@*diPr|n zZb@_>GFa=EH_@yWJ9IMATQ+p(GDp(-<^3BC+l8(*EXPL)mNxzv!NE@@O#CK8MqC2)&jT_^o9eFhNs$(r~iub zzuJS)v^>S?KTEWu@Ukp)Q-EYFBj2(pKOX+l8ZjBObHr0eD`{ATXSj-GDW6oWRjgG8 zKl?UJ+m{{sy75Jm<1fXWZDIWLn^WMM4Bn@K;!gyMzbOSZPsJUF4GkA5S7gndKkFtq z7R}BQ9Us~z;0JqJ_5p;~tn+@OR7&joBg#rx1{nZv@E-Q{6c7$sLooO-!}-|M`edG3&o#Taa*n^L@;+JdHCud6#lkF(S5`OE{PS^8(Wh26=#Qeez~MX8 zVg{F2KsEU-v>oNRH*_u8imzLvrHB74Lq0iH55ljs*#;{MPcQ}5=oJrwpL<_W{2!|x z!8<6|?CSfW0n3EQE3a}o>tkTww~+;dI;f~FQb|}a+^-i5J+oU|qrCR1bHR{%dBPfH zt?ZWw|1j2Yl;N^xXm-9DiWkg+>`;K+0=f3VBP=gkDRrCE^C*|n>aQJ!l33_*5@qj; zETLN5LPxfT!gpJ1m9s`^DeQk(&tB)$%^9mXGoEG)-ha_s zF>M_gb1(`NNVPIP#f;mTksdFsii%s<`xKXqP~VUuDj~T>+k7@nHLjC==&u{H^4r(_ zlsx}{DolL+l-yh`n=3(cvHI{54#}$DYFRMB*ceC6npGTKl*eCTw@1`TQ7a6Mn**Uw_oq&`rr zfcpnLeT${6TxyseI%XX4O%u>wI2W3`Shmx!Ev0Ty!u-?R_32B3$U8{xYV9Y# z4o>B;Z~w8T22IBvHjcq+{%h;7z#%JaK33A{dPEr*QM50(q>=*4Q3HqmF^VPIgZPN4 zrA{G$ak|anf5mdU0WdPZ=@Vx=+#5{T#AviHbFbo{2`*eI2f%iIi4TqDH{+c<_GfOl zH#6KRSYImUq3&2rHE(}_Q$s;AuHqU!T421WX0!(LrC&g(rU=dz|Aj zV;9BgKz84p@M%N`!_j37J^?=8?+1K(IpG8RpRn*RM~P`N4Vp~=ftDD1@Qn1I7Hi}3 zY#fyqI5ZXh;5Z*5Q%rdw$IrTHC|q-KYf$(QeIuNd*Txi(lM@PAX~TJc9WrVv8?JsZ2t z7_!&b`RAUE2!y?_FHYeGwzUcDXyZ{Cy66o5h<%9h;wAPs=YAF9VJlgDl?!XZV>vSd z!$!FLC*Z&)^d{?dTpEa*za{nxCG}D`nuv=V^#$QWE$oM3y&4{uc0GKAOTv?J4Ki-} z_ML-{XnE|}nv%P;&4?ibkfVixoOlT?r!b(g3JBem zgNLZhTgl+-y?dBY@7yD(+l<}pz;u{QFJw+SlISz$R=vMm$TWjNH! z9Ew!efdCz(x<(mjLvX+}cmKC!gp|`eB-Ogiz*gIM>u=6BiW1vcOMZZ%8s~ssUjYPM z(RBRUN_G|fo_rqPw^9H{Nw11Nwo1MO_PhDJ3*v&0gPz-$K%sNF7WPI`UEi?A%fCc6A2h5&((}0D(Tj!~Gz~V2G z$gjD|4?c^MN@&q`RDw+GI@gCQ5eyDR8_$aY-P~k zA;*m$Dj!dTf7R_-F8?`8LhKHSYsn7&9rDfmzegFcb{TuXrXqQA779~^{CUHOw%Aed z?>e<92jA-RvhddxxqV=LUN8Qt&+DTe+-Guq^L!+aG;9{Zt4584wMq_jn@@ZVOBbZ} z!9WvC5RfC&(FN`S#!InxO^^OefLM?IQWVo$K7?kJewupNswVd4f*vBTl&Pz;f_s!V zXlP=&4A5+uSoZ$KNi4) z{~O(hM7K;eaaOH)C9OPg;TC9&^ z=fns1zw^)geh&sm|GWi=U6)0knH)Z^uWQVl1?98xmBEl*1u!_5m5wWtH&~i0U2%O- z^i7;^K4Gt)R4gJI0FICp$i8^XeA|sbknIG;^X&@RK|AILCnb~`iY01B;DNg3-Ex;keT(3Jv)vcF5FutzR#E=iTEbI3H;Et)Ly?PuFstZnJf~- zeE$4J!SKJ1$Xm_&!^5{AeuJWp$ikOcENE*4SIKOIuDq88UCpiU)}ebX!=f0?$6@gf z(CdK3nr88I0M>cIlRxCyC|1LSL=J#sO-2W#* zf<6?`n9cX^-WnG6pyfCg3P8aQEW8AH_;WZukbhqe^D(C9P$FgzhG0)1P=?qKw%;Xm zD_l`Na?Qh;H4%!a3T1(!$n3I?8X9G1YQ}d5afH3enK=?U6^siV{ zkq}>H$>KDw3w>^0n-Ex>n&LkuE^ezC!CBPI)f4#Z=&aQ8)syVBsrZ#$yL!5M%)}$M z6@gM_R+P`1GGjV6iCytGoUzo)0A(KnehC)BicOo45zQRdwU2LB-d4$oE$ZNAT>cN3 zQ-RCYXAh{HKW%^t({gEc|I7PdcG;!b0}!*N(mzip56~6#pEgYnrt9@tf$#re?pxra zs;<2!$p8ZcCuq=UQ3o4rKtxb$0YQ@t37|YuUScIegdnNp(PRej0R|_dIX#ZXR;}%| zR;$-*tF88m7^q-)Gy!WB!73_MYSo@`XpKq%fs*h4UwfaKGm{6}d;5JKKQiaFA8W6@ z_S$Q$z4qGQ4wl#6IO|5lcBynYDUV|i1>XemOqp0+mxrfe^4M9w3+S zH^UX%X3fB-*k8;6gUe1Xlh59D1p`{F-YTNQW6r1G*Ay4l%NVDk>$%R6Kjv&1sJgzzxUjf1=0@(*cCB8Pi#F%XcBueR?}sg$|4C zZMc>x!540p${9~HRgQZYnE-313v|LIR=}QZ9fKoL6tOltZ2SsxqMu^mZgAzpl*S!* z4nvoJ+ zf{MlPF>#IOqTgj`UGjVk(+Ug^w!aC_errjr(_sOQTn3m^T49yKc|NY*hW+e7NYFe# znTMod53hCeEC>&`p9xL=fycm&A%}+_Mlw3Zufo;30iV#X##ZaoQ5mj$5`*Wlqj1Y) zYHJ!ZHc7@^!Lg3@*}>xdB=M+I>AjtjHj^v*so&;9&pht+~t*gV(BVkG8c^HZoIO5gFs{uGIq$x0Xv zW^gVxQx3N7kg}dZHWLRHa+=}>b-}uI1HV1MZ=sL+SfzL}p5YTVzwK(0^TN131xx|q z`FPKZ*h1p*IZyPxH0H4PW4;RNE?eeWah)qcjwEbf;#-nGqK-#K8|5+} z6HAjIx&Ef#ldplnXixv1vUz6WYTe$N?lK7NB{oTDQ+!tr!TV|yje41Le+lSecbi{O zh*hVDY(NtBMHT-d0$Na>%4((5ZQVn3pyRq4_VIU}@l%7dRssu_mnCz9MN7+S5iKB| z&%P-xm@;+F%p%_q-;$aIKAd@k;agW%c76E*-*wm!;~O<(h%bd7iT(J1%$J7|4aQh? z42wO|mlX&^3?voUNV3nTIAG#1`&DAU>4J~CYW0}L)p`NZCSu!31vAgjaGA5*GJX)_ zByA^OPIx541uQ;=d;5d6BZTFtEzRgixSX%NCvBD|wl}{2NcbZ}2eL=tWrQy&LI{sk z?u-)~H@uRdxGP9w#W!@NZ*h?Ok-*z3;H??B(N|f92ysJKx)3{SoX-UwzMyDY(acFM zzeJtux%j4;aBP9-Qd_hf9CB85uy#>-f%Y9#%ov-g%3MRQK7VNC`9tBcGI`w4Y2${@ zVoeEJ2jf*S>S$X@yp|zA3k+Wqu7asWGiS@4f94c*Q#5m?ytt}h=JYAkC&~Tv8MCMO zi{y67^x_$EGqI>}&LmgKl!@FDh01{k6l$L@h*PXUtje*OCli3_UWCOu>-cGSiwHlB z_zb?U>w055Mvgt~#t-#2G-6ew(7P@jXJfQuD)2u2p7r5y zEbLFr$YKoO^~W+?$Q8LIH`h3dyk|S-E9Unge`AKfSc(q*trc_%mRa-!MPf8Cbhyuo z3p#Sc4+kMXw&2J4SAG*@N5`Me#%KUxUjdofw zxbjCcU^BO!Is?&e$eo3^09NaXD?sR5t>3`+NA+KH0(hPEXE<>qjr#-Q6BPevOq)j0 zV>D-s1~4du_Ja@)0Zz9nA=M0U1>czcm9^ zwAe;l<_>0=a~`9=!Jg+4`;3lV)^WIqqnOO2s>@O(FJTI(#kze8Fti!j86_T513Jqp z1Uk&3wRog=C_8!--^_Uo)%OEfl4yV=qVs61F|jXWHtW7k*L`xJdxpfi`=RdWImpqP z-{FdW4?UYg@54|)G`sWri}?N+%nm8($MgLMo!?L7djy$HO<%(IYdgQchVLaRPxAO% z%=ZmQ&;GN1TdJt23U2`j5aqG1hfO5k8$OD07@Z8j!K7%)h|a|e+_Sf%SKuCEUH$5` zN;oNV5JS`~da773z3%i3SN)|fZ^NDhJ5%e2e!LDIiMHUq_}|pu#QarwoD^M(Up*Gc zP|;=isEK67jwT(fB#=Nl=6>-1NdWK1*aYO{&y+Wv5)Rn~SH=xW2EfZ< z4(mo`Sye@i3$yD4XHtfeQYuhN`Jw%jjo@Ky(Wk^+df>MdJVXe}B%gh7BRJ)mVMvFWJbFXL_of3Qx5 z2Jw!9QsWO*CxX-=4MDjASIi}XJg7@KRteV4WA|%_nB!x%gwgi)3S^i(@45l6Y?!gI z%dazUK{yL&SrQ*6uxN2@Sw)o+#Wf1$4bg`%qv~^#y=v|(K^Y^6a2ZEgV8eewl|-Hj zaSUjZQ8?R6OW%G*vvfx1(kQHUpfJu(MmS@2^$l$srJOcXvG>b?z}}y`z}qdiD7-~* zwee;RE&|RT*C2F*vzr8Gi73qVY}(f7BD`*L)Fb{$Xs2Dz&rpx`!bA}D0dNyVxJ#A= z>y|o*R%2LRCkQmzzw4{h=b-^au7nD;`3bCgHCJ z!SVlv@%@7aMX%6Y)%j@Tp9nV>sEwo1R->S}R8~|o44qSFa^6=gSyqN4&uT{as^fQy z;&;p9cXOvrnJ&iKxwEHCE5coZA4}DCUx6d9M9fBKe~JBQnF@z}Cc|OFtfC@f8*{d$ z?Fk+3wPFdF4Fu#oqiCD=`E<-6c?cWL>j;LA#&r~~jF51#cU_^UaboTmT)&3rskrj! z(-O0=FD_%v!U4EUFbjG1ZGl-h2$v${J$(sora+31tlF-p3+*o>9_?Js{yC;l<-rJ< z2}+SL!BjpcLdnv8B&U}l$TjXkS2)9(y9z7*~@W%yS@c$uiO z;8;_;c%(yYeb(l&Yk3>B$cV#cfK6pnbxiNaq)n{%L$>p-c~ z)ltZ<(YNq{-9HKkDPJfl8d|&!PwKY_5{r3Sn~@k879e;0ppm`5HF`S|>Ddy_r8K5& z+eFDD8o&pvhyDI=Mtr4en#g`V#S0tF6e<1(Z~YQ0RXO;erZB7>C3r`IVd$Amf7Qdg zW?1U^BbtA#jPnoNY5svb%|CG0nSZEZ2!4Lmi|CLJ8kwg$nM5#Chs`I4@ZLcOSaON^ zxq0kjV8qpR6sDJYV{}g28{V<<>zyY{Z}?qgbVwuNj==Y9q3$B5P$#5(SggvaU7UlC ziS0|0=d?U*llg-UipmlOTL&UF!$T=uFIu4k$TMe^>2#YlRKzVNShEKuQE{`SXwY-n0QA7~W!HT{E(;sK`r zbfb8n=|9sb9)wIokm>X&W7rsll^h`_vUBSIF0^hPY1&~0p}8P&Fr{cG}1#=lqofhn;E`7x(aVP+JrHfBVA ztQqT&fAB_;Ym;Co3O9=mwcY{Sk0ROuN_g;SzOdbRjk3c+NDN>M#-Bm#T515j%B+HY zjUqK#v5fk;(DIFS|RNf)V}$>_z7V%@XQH%p8(cE=K<0PLg??4*F*19nmXc2bzt zSO9iXnA=zYc2bzvSTLBqP|%m1P%ywOJl!Zj_nc`IfSnYAofMqDV|2^bB>6HJ_fg2 zUOp{|GfC9)UfwX5U*f*WJG~q-Qo_k(gaZy0|0+``et@ zV;@@R;I8>#2Au9+yi@UzJ-Aw9z6rjut21a^W&vnP^8L*6MdbhJ`l2i71%sam9ea5*&WBt(z{!DXuNCHd*;fLTwOE0;&Zt{OR?_IQ(VK7HHt% zm{VR>C(B>#9MuEK{`smuC@D+VZ~PQTDKdyzpf`C)(t5cK_ZfF7xbtzfUcLype!bIp zyA$+8QkwROl-G$L+22>G`uJViJF~n_*3hP+p>^ZNO~G0*dQ8^GhSnf_Vg>u>x*O3G zKHBzNaep+PuPW;cf5&=?KPOEo18mB!V1Ijw8feqB6W?#|a%Bnu^}Aa&YACLpgg{i; z?ax9N<0Lx1%$JczXaBc)%tn;%{i{X>2c-g zRKowlX97Pvp$p2aera%|5K`0p(j$9WfUTWHE7kitp&qPt(Fh4 zww#SO`%9xoV26m@rpJCn)GW97Kg9N``L#6qqcdFH83+U=(`G|lDX(2pwy1pExFr=U zgEb4vmf!`C>f(s2E3Yi8S&H~Lb-oIminG#%Mcl>qeI-fLeqeu6()YotXqBMawqiE~ zdv+TyRw;g!)$yUh;8swv!*Aj}_9zZgqmnq>J`}CICKnNLKGkV`I_+we_Vfh3GX3Ek zruRA0=Suou9?Cs4dAu-v-Uz10DrxZ3&^F&S*T$pjfN0$LsDd1+rAZOghq#iUte=lU zAKB+Rbd~a;opL2oM(2Q+biwHCV$<)@#a_w8^vO--?CN=F$vEHe;lu4EX{>weh@6$M z`l>)PzUu3~3&saJ#rP0@;Hh8b!J^!;`1S>h@!G)@PBOqKWFtp(QGe-`27Iud4;`Z2 z89q4!&_CgKj6K0O0Q z7=v!>dmslgid6rj`23{PTPt zUq6;P$RFV#quPr_i?OCZAD5vK|9m!k&{={G-VO%@#L&rrP?yQqv;HcaJoXA7iuJ<= z#eYv+{&PSO(9OIr!2rVY|9e0{b~VC zCq0-~o4B_oX&Cy-7D+H*VT)v!3<4~haYiB`*(bI*Cg%S|)xl+ptGv8Zs0{=Wk1e^M zbSLrU@Vw!}^5kaN2wzgKjgU+|bsqZPFKC~wVl*q)opD{GU9~SEFBWA{WB~`^VBmpY z%K0kApN`6tKhG@6HvA*dTH?m^lks3lQZ=}#MbId_{UiR_B169M0kH%*ItOEXyxlo{ zb?3w$bmC3R6bpZ(dZh(dnXf)Wl#hx{5m3x^?IHNEF z!_N>II!fH;0I6lOTYSY(OWI^K?@TlX0J^M!cVxJl1Ye_AX6@Htb>N;0`S{ph;2@;t zw>A4c@Ls?YFxP)q9Roa()$@(#xWaFhVmaCfXW^D%_Ra=aX7PA>WNbqzq19v3ybT+0 z7YU0$0HbS4T24>369nS3neiZJAi!`E8i{pZ?6`_M(3!=8$j88Q5L~zzedM+#MUQt( z;PDuN9OiD8Y9-m302?V{8-Um}SLCNO%Nk++vK(c>v-V(2H1GTg9NG7KjPTCnkLL+< z^TZz4@)63PC*|jJ{8qjXM{xKwrp(WZAB1imlZI2x{rRJJS&v!NX?V(mxB(^@E8Mg? z`4@VuLGY4c`2&b)@qyH0RGj{;&$w};=m0w$2`A=}kpxQ2q649osCE*#FMMa`SdlrF znV*jsiR@W-ZZjPjtlmHv(83T+S*}1YERzHhv1qK7AkJ93YOh)Yus-}NJXPMa`Fl>h z^Wm+`{=as9TTwgdgp@f9^d9O+Tb_$|@T-z{Lt$da>OC!WSjG>^iBUrTa9svkJZAA2 zIs>O0tH;D%RW&>KYtQwqhx1%&ea``guIrnV1-6X(#_RgV$6oDzc4}&}<-dXe_E*%v zmjaHDSd#XY`4&MptP0j>-L@9AHi=?rhs^W zL%OKl`XRil0ObUZZP5H|ddOWn5A0+B4!*_gb_O|G@jL^k+enWp-;C&ZdNRVEj`j0X zVtdIweu`!+*$3&ti4QGL%>(}#pofH}w+u>ooVtW(<(ht`iN@Y`;*;^%-F`{J_A^PM{lV^;gv}rPlygNE)`BiJmtAzBPa7DyRYgnDG%fge zs9wb)u@|YW2DLbEqNb+0HZanatj}wFyK^Vv+;QvLSVsqDAyG>)&U}wx?0DqUB-O}TL}ct^ya)27B4x}1c<^wvoT z76FEEf$3L#K?(b!tw)+@WI<44{Hoc&@cZ-@X`nLI_}K!~qS#E=&y~0-V(YDE!{(vN zj6E3Vx81b&LdbXj)Ap`@tLOHf<@&d__wKX0Yi}0jvbNsrO0$@#UaEFlTYtbI!h&uD z-Ugz_eipdY*lo`AK_v>6 zjDvVZq&VBWR!lNK!t@Td_l+w_&T6d`E)70B;OHu>It(g#Qo+)p{+VpT|d3rJT( z{6EzY--j!l8?vm2zXrMdl^#<19@i zSlg$cj&gGHm@6|GMCvgxMkp(rV0Lnug@fA)vqbts`h}37pyNYP32n_X-b&J1$7nE& zw-YM!=oYIoc(fyQyqC9uegM-`^0=`%@Ku0gmSjc>)5abS&?1n^SkL}1h4p+~x#0%u z=GoS{XFzJ3(@y97n~zHGr*<4A9CG=3hyj=t>{6ufAQ@U8VAp%>_r^iA6pbV{ZiAeO zrb&Pa=tX>Wwv-*9hd#kV+HT7PWU*gjTI)Hf5CoE1<)~iHv{du8wpaP3TMQU1;pc@p z$vO_lstIU36rjV#_~^tIO+X<_lIW#(81^ZuBdeIm2HxYu18UlM7}R zP3(fP)Vatmu-?LR$5Nrz{3R|As+AI+1{quc)d-gv=o?$p0Fs0*^i|p7@^{&@CvZH- z7BP}Uaul)e7Z9R`?mooT4Bszdl>1EgIcXzbm-{dh;W_hKBoOOU;52l2034w6crA^- z2^A(upF)W{ua%%T?om&oy5(3!qlhZ@r_$&*#72?O-#m`=3z@z+IXzDY>aP4Ira#r0 z9#$7NWl}<3KXl58Hh-`+j~mKw z95>Ehg}Ac(#^T!Q%EBOycB%E{4Rfpl!fb8t_n*D24hmCsEjA6u=|}q4di7Pnk6qOP zE=`-@wru*xG*v5bfV}))V>nEDl?rTPd?oC?re8(+hy52#<%mR^_Mn7ti_sde@I>+_ z;;bLwE%4GYD=W4$N#D`qt2i;fegqo;rswYM2`p5n$E}A(0?tqG!4aRH)bWhAeY%_U zPb2+goC*fOX|{;#`#IgDzZK~LS0cl5m)$>KT7OmRK0PV08q*H@BKg^5>aP#&P10ZY zJ&n%!SS-x_IRZ`+Rd@v9Y8CY>#Q zy@@UyZ_i2pzV>AN+uD=Rx7ZQD5A{E-)DSh$^NOj|@ALF}0_?M^j#;O_2M4Z>$h98hZKx9o@g73bwMtEmKwKs(z5MIs z7lBJ{%^+j4X#0UPUOb;13uDv~c|q&vm^mK6uru0X?~xyYJjCtH%D^FboK~*H$Jn;y z_#z4Wy>-jG0PY>EyGWgpxgHL*{J=OHumb|vAFG8_3X7T9w2#*x_eaP^9Rr#Py*+_){=rff72v<3a;_Zp zo{aiqZ#h>Q;eYpvV?NX6!S>9`tucS%oSdVJ?4(b^!*&B`$YmCw_>MqtET0(#S*6BK z=e|~ZCQs5Yg!gypL1icJbhYOfd;agHh}6kH$%q2N`U>T16{UL(MN0lg zolCCWsU@~xn9$F)znnyN0##w{<|cC%EMCEK)6ezo8Et-#%vC3tfxa!$jGlo`N?tmk zB(n~a<*L?09if{&9fAKwq3A=*d-Fh0fpqUN83#+{GPLYVl9Yvuu5MR#dNgrDfu z04Xldk#46X?wT~wUs?N2yXD5jkEB_#3s)!a?tkNDRkksqoHIb!7i(Iq>}MbLYY zkCNbFZ2c3%W4-*p3Qs~FAR=JacgO>5k1Y>mb}bKNCd&hvkt<;;$xO%tIB6s?|7J!S zS!A+2FmH1=^Y6a}o}WPZj>`jG!n3{Qgz(t%fX0u=1OFm^`T?GVJdlZaljht6SRxO6 zO9N!f1A6@tx}@+2#V6tu*Dr7gO@}`lbC*4Xi00&!=hgVZ)aLhC!`p1Bk+m%5|T*AB3Uu}OuOuS?>WF_RW z06AV+^AepbSd1k(#*kc8*)=zuEjJSi0MDzDlXj9EpwDb1# z&z_%pu&>2&(N#%y{uA5R;>Fa(E%$ZwZ0>F%bI1>*2Zw#FL}|tOnx{dr26~mA1$2|O ziJneTXL9qRh7R zJ>>6&h&r0m|0n!T=FiMJz8q%;r+z7u!&mqYpW@Q!+N+d*rpyPNf6(UBL2V>FPQ=!u zzoWwxYytStYr{!+CHCAcZrf7l7(WjCLy-L2dK^d>X zddPYUrDM}A4!_(u8O|O&ymrn0V_+~eRRuktKMCC?{LEoAB|H`1BjFtJnJba|dbyvC z`_U~%xLjW=^tDo7zlUq{X!w10Nh^wej-gN^mk{s>&%K?5l=^_BT zv6QbmjQh%X-L=FBALh5pj{xJwU*Yz}KRk)s`+kGl4Hv`2iWJA0Vm~-pV`M&V8zWEP zcZsp_2ri>>bKf!Cw1zk1m&sjlRx<~c0DxwQBz%*OH_c?bxOe0Jk*S34zFgcw-VghD z1qz1g>-lnRjO6jU19>LkCKBEb*BN8uXx?wMh`Y!)algJEJlD8yEMMQpPG}8Zj(Zq` zCr82;GfVN*NO+9glo)$(07h6chezO*+UgPJrdknwjQjHN*52F|3G+$#%Mds_P@$5Q%bdg?m{ZZhfq1Vs5Ur2*LDY zMw3}Q5t4JbfK0W=___MA*#u+PN_DkkhrO`Xyj+Y|*N9pq_GNK1( z2$miQ3?!z`eg_0}Dlme@(yP$22HaX3X4;z{vVcH_GCkWo1xyD}yGOTx)1;f+LkXTn z`)Ov!Opo}Z0dP1@k1|h#B6CI?6ar|)Bq!+nWI=YkMFc^}rtfQPufiw7_x{N_z7@Yz z@`5-J!@rHj+0iZFGni({{g%Fm!)qAX5eJ6h@kTtx-tItT1i#26v5%AS0UjGsep^q2 zhBiR_L3@MP560y)U{u8ro0(;7iN!ddz&*gNC=I;w<=<=98Y%lQ%o+%l?w}T{XI6?&yPZCU>TqXugKNlu73A zCFsko&76yQ0L0tu4+$=Ms-5Cxq=3Pq)!XoaeB|65|M;}}*ye3`LP`jnO#;l&8VK=W z*7MiaK(L@2_!drEGfvV;*nYEKu+S37V*i=x<~(<#geW@zTKE)M`@xT+*p0vh<4J6N zB&*rT)<>EI2Rj0T;_>;+bY#Y6P0V`C|Ao#!38Wd?mMH_3h7Z!kXhMGw_n`ElxEC~t zUF0A5jJ}TRe+hdM(@w!$AfrMiSJGc%66N{|{E}SOy)*1l@|`^xx@R%t&NpQYoN1nl zF)%>IR*^9fdm&EtQ4svEJJF}2cLIGU%CLuICMM<*1QX6QvYb{SB`7=X3EG~+{8Ll& zBSy%H^J~81b!6_3e4}@@F~WnAOq}|10^YrEq`(UjJYjuKc}9G_?st?jFmyakFtDPJ znSrUN1`e%>4sh}Zws*cGr{IgS;EC|nss2+PrAYm^qt$l(*w>I!f2aI!{4tIN`p+hk zH<2zT&-rJ^29}7i^}cxu*k@rj$l%R5{ZT&T;J-UjOyE=qhpRHvy!UOnV$J(EfxE8R z!XgycO7IiGM}mIg&&(Q&9R;0_kd+FbUk|?{V8BYX7|8NH6`9^CkMnLC?21@}Fd$f`K)#jU1et4Qv;P_~805$$qWp zJIr?0-0c{n@O5V#nvR*-;0nFf@QjqUlZx)Qhdd?*Z_13t*=;$$tBE794=-dH_}jqW z1{$`(i+*qR3AKo*@mmX%=4qjuC~TPcNLP}=iDsX+e2K^zPxojP>H1(5)|RbtjjN=O zzsdyV7M+MRXxSk1G_!D&(Hqv2kK>rxXPy@O zd!$ex9EO@>PdL|`9QeNTP`stVz6lIx=+^z|uYe;Xv@$y_Faxk-BgHk(+v@xfd{8)O zBM#VCZjkwgI1ry<<4gWTGs8xOo%{hLkNr{SHSr*Aj;-mE{tm|B1N~*xue{h5=n9k`9LyDv>gDhQNNGvDi1@*LM9*={Jw?w) z9A2O#Yb$c8X=xblK-XPNOaC438cs`(CGf4~rBARhAbo+F`$COIk9y-Et7#}+!e5nG zgz=Ar%@isTUb3&kPL@b-q9tm6ReB6nn57(#*6G;UU=ObT0d?qZrAs_NdGgWcdqX@b@tbw(;}Pf=ngW>L3nLb#z#PYAr^H5ebf;hZ-Dc7 zY`ULJ zCbq_IRqRjp$2;*6ymv7`aLSY7Z^9-GRt4wre&0V6ElE%}V8I~B#f%Ngiy|F~0kyd- zh8)H|($4Z8UUQ>>)PeN=pPc^T|G~Q&a!~6JHh}BbX!}odHf9&=^Q3M-* zk!74@3HFh~V)vnAZHup~UJS*ame-UleT`#dynIVC$nFzl2gnAFan7 zctaNx|CiTC$D<5;n0*EP%HglcCLG+6C?#1R;lyt1BVuCyiu%Zdj*`E$eqhUIKii)G z>l`i<6i&u8)?b3@7)|V93I^!@H^jWS+cd-F$K&${>NKJCdrHSbf-<{C?Pu#yBgNvs0uWe76@h2j*6Ln|c`29lMb>jD&9b)U_1C5H_ld1Ee z1OCAd_`f_q)mqSd=;AMhZ=L?>ubBSUFPlCwzNR9J-Jhp{v&uarrv9`owyBfEWQ=k# zz}9~{+4p)oO6g>uq~A?^l~vil$XV#{qucrX`zO%8CcTD#3m^fW9pv(ToDJO{dXb`(Q2MfB92FF!AGrc zsP-iAIhbH^(gtyUdHPWKt@qlF3HRiot$^h;?d-wgL}b;>Qt^wzcfna&VzHj#xlSQVW0>+F-4`7cVsiYPRx?WeKF>93obU(alDdqC=QYWmdY)bat3K5|wy3n%9( zII9qC3Zm|uXxJTBAz+`of_Y8 zXi0Sd5ub*R8iO;=@Y9vsPrRbVD<)T5zjPwby_{W9i3p#;5x&JMrdF?Tyh)AsIeM4g zQ9I3}&VVwncAII&yQAMp+dA-#a7XZFa1;nOnQLOM`pf>f=G}LH^V2j?jqSUb^$k&z zWi`PX--Pq9u;ysI5zG#48*J<`KI5X?7LTqKn6lMt&SMn4e1BHz^=w>ahv$6k@SM00 z%IBt}c%7-~>yh4+xV~8cm!U?z$fTMOoq`_F`1A#UiMqT%CC`OG7=;@Ua||cx_@~bB zUpZ?*Nzu#&vx@u@l>qb-tV5VbW{@;Dl-E|3FH1a&n=$q}C*G8=giDJ~@3QBQrQqSh zyOmNvi^m@8wr?Hn5Z88~GL?s0K@23L=w+kTJ~u4WKDIVE*tkgZjQHjiQIyO%FUOi6 zS$WogvdF4EVE9y2cvuZ+FjBM+7ic*q$F8k~wN1>;!>19}x8F6OytZ=K&Lh%2fH7|)kZ9TWf$D^lKLlFrLz{p~>p%8lpl+EoZT8Uf7LOY`>O#b@O_?vn z-`5H~4in7-Ye56n(mqFVuyIy@wZZieO5E_fXMcVVS;{Mi-Zk0*c00gM`)rfZ*x0!F zNdIA5jCS;c=TJ25rOjWUJ-vp#WW2WWA|#DU3-KE7wir7%?{g2sPx`RUu*+mxRsV^& zTHCTz!$hAv^cMKKSfbf${1^Ln2z*eF29>y0Gsz&zT7(8<8 zke&I)8^U`6D;$iQklKx~9=!`pVw%Tra`vPIg#bC+!6XIlz{vUuErcL&iR#D=?5Q}x z>F#(W8(nOiX23ZEi?vB^K-S`3M>|@3v5d6X3$4A_oV4b4#4deQ;77Qv&*2sN(3lKY zG!FyYDNi)l-~Rx6+c-%VY*NDBFY{We`~%S1ijJWWSdS377^Z{6 zCiV&;F?>6v|HOV@gw<1XvKs-Je?NK$tAcyo+kIaO8>`+te9i75)2};jWXhUz zytn>wCwfby92A;D&y3#{!6-@GoI{9K*~MCnZ`V~F)DU{ zSMoB}2aZKbE%byn0uv#46K*4=`(&AYINqQ!9EQpXP1bwRc)k&&lG!d$JU36>+iaIl zWVc+BP~9Z>pN#m8tWRm(sCC_gskN?^H>}c{0=`dnc@XDurW?I&m%&Wu2C^=ut-!~M zV;Z>H9Mh_V>Jw{?OKY8PIKKo5c3tv$$$Z5LW|-^z(U?zE5;Uz&%_K6(q`bV;m$y_7 z7g6j^>2nuUl?M<;{ersMMHe8dJ|Z@pKYHXvBQL!0{LvTS0a2y&>k9;kk&70&DykM$ zS2F1OGQ@ztTWwk z<-4y17{;REEK%Z&Ec>{apgOPFK9yJaUl)kZk10f7hbss%3&_s4+;0HUEs!6{2_a}i z!mpzeC3tvfet zwtjgO6B}cbQml!D8}0W$zDVlyb`)PjS>S2# zWKf<>as5rfWHg4BXgsJlEW?(LZEUO{HX!)`BiX=+xS(2p2NGiIn;*uv4Q`Bo>z}<3 z!@(B+R42s@2Y&Mb6-xHlCGJKpsOFTW)B!!#&rqDOXS)%R(mfn8SHbfaq85d&IUg8B z`$Tjyg#h5yggu1)Li@7d^$uL(K>6@4BSH#M=k>@mB@i0-@$H5Wk;<9_IOE3<3Y{kp z55BrCxCFx^POXv(v50Wy0aYgF_y@ni{w%CNGYTZugO}SFE>Nb2Z(;7od`>49{C|d za|%f*nchl23}mpYaOUI%5FA9>Gcq8E#OGZR^p+U2INws-^Y_NtK)9%&(PH5O|C8-u zz`U!zVPt`lC&&*~eTZs+#=h|*Aw0;11EG7cQrNikJ_2hPsFH~apz0Att=4IH!VZe9b9xm&{Lye~H&hz#`pp9>-PbrQ5=&SW>)K*}iwe6Q6j>{&Y=FbSRqE zSw6sNdzi0mn`~pzdnWu-v37hnN(A;#=6+`Y+;YE-rL%=|N$<3|<{_0fXW2MIcR{{8 zuQ=;#bF*ibyf-2@w9T`3dd^#`Aj22^eaQev<-h%zi=^n(lqNHGKH{OmtBK#2RuZS^`1puShu`TFNCC_5Jay_SB!1;h;Bj~6q zym5BaUHF2=sE*8(>6*jr3t@0^>{9y*d%r&tDJ>WQ3>#*F>aaeEZ8A^sKE zj@y<&nUs}eppdqVF|fIb=+RYtlce;!-~DRoAC0Hyn2OutmVMoh)Ed`U03Wyv#bj$W zT1-1sLXJTDQ|)8P&uVe=!-M&~vVwhtOtHvRKMG7Xrh>l(0yi$;Mjh-_^OrG16JkA< zEn3QuZ}=1!q@4c8BF~;Vm9e~MA)Ifpcm2(7*NrO<`g>&sP7eK+g?9vs>>GQVpwO@8 zyn&d5adN)q0Nw}{fCKmsR0S@21uXM-O)PokCL~77JFMxL!;BEiH>G-@F7|*Nncj;> zgtOnC{0%lZ%E#z3WVv8*`SJ_Uj!GAPc;HIPKYRb2YP#N5UJ1bm0cY5J;1|}iHT!Qt z@lp{-4Pha`6s7HoX@Ujp4=aCYVtpKV?9+e00X?indWg*15Qw*ET)2>r0a-$bFu zHi)?L+!GX6?t2Ws>!&gAA?}LVhR4WHpW!DoZPY)2g5Sb3frUiw+s@Z=j=G1{S!usY zhuFj5G)No?vnZ);J$PzdpeFdg1dRCNu`a(K%iMY(=>9d+LYv)@rjFysk007OWXqcO z>+vrTJ+!619t-!qH-DTJ+MMp%6?!XU*ju45(u@eJSzaC~IBrOdL<px0<0l@e=3;(R~ex z%+LdPCZEEKet3afjdqHElQE0H$e9=FSahqmc{`F$vK9|L+7WwS?78`eJY^^gbB1;N zhZxj%Onx(D{v6_1m)jWz9k8s?eE;C;onVay6Ku}lQZf(ISmAH))bN~ch zh4Kke>tZ+w4dW+t7dlKD$RT!{35oE=*sy5f@zT_ zlD#gH{YIqpfynqKAkCaa2Q}>1Mj$Jcm*zTKL9{Ag_H}`-| z7L`qSJh#X=nA|@$LK7WC^K3PbK3nN4tE;PCRDltQ4yXuVf|ChB zetmYv#jfeqz9qHg<@{RbD_f56r`&ViY2L7D#aaF`1SMO1V>k7v35F@eWK5U>6#)$=ZHCB1>T0|)ckH8ScMPNmZK-*qqAb53k7-X zid{#gZCT(++17M|d5%>J zasfzdVvg)^5d+FZ&$F&; zINp)(ZTP)LOd*m8O+7tQb5LD7s{*$qMjMFSXVJKfn&b#Xp%0UmI;V zMuFGcA3B<|`V}(7RxnqUI**xGAhSS%cciR0>oHjh8t{Uc2*Yrqsl?kb9B}v00avqa zX-K2=$@qHOHxek3x}^70I9$dwMnnv z!yXKKc_yR?kQWA;8}*p^iW{A0qW>`80fQNO3Pf&~^|^EjraxGP`xB`2o28Gq!2lYf zayoM;W_p646gZrd$+&S!xqz;PHD{+a3$ab?L$IoAApJ=K`vfeo@1b=t0OQmw=`YcD z=h0RH_=DSF$kFhF=Ikac{k|~NW=PmXB>GTBAe#Zg%d{o~a$~E|i;6jP1#DtT=53qf zbfu;F()zO4%pzPxurMIw$2M#Er3=EdGc3{>#9lj_nHtd_I3(vopdV`&jST=0k4=;b z~mkNdZ#R{vwp^Pk?eC`-tCF55k z7gj&$1U6<*GOz*-MGxorDCBwoh^S+N*iUXGNnlGgXrx%{`B*p=)Ay-sEsP!><@_Qxist*!nZ(^!M=9h!Aj9GiZiwT zRXkpVs_3bSDF7wLr3<@#K0sjo#|vm54Kk@@Y^Pd?RIvS_sad)nNHV%2IuLvZ1w=1H zO+p`qGiFTH?6JDC5}r0hg@ot!AHcR}qUcP(F>NTF4;#qirm zysW5R6j(O0t9P~K-wT%41(M}&B|nqCYig_I;KMqc{#08LxKWAT!mpP?A5Ym2g@G<) z$Ud}AJN*b{1~5jqbt$Gu27M0>N?AhJ_6Gk_L%4H4@B6nzC8vHcJJ>q%> zL9JW74Vj?c$${b4xzqnigOwZd5KJ%hAwu_f7*2ou58Pl`nAYG=09dg2F|-3_{m@~z zw;>-d+WeDQUz>lbx=fUda*x}vtT#ATyS4p@0@?7-^EMQdhENqH{K%?iNHb=!npt0i z1p;(qPfIKai&Y-WSc#_iO9YBwu`QzoPZo~HkOUlpQS1fkN~*~R2&Dcs1OSuOSeLtywwo+}^ENLq)E^*;^;_1MY$Tquz{bc1TdPC13JRYws%L)>T z9Z;LlU^aBavxKkR`YBe**t>>*qPO8|syz9=U435_|31~*a8%2;%)eKC=lOmr|735& zJNO>uratFrtXEvX#*3>D#_V64G316Ip|$G5LmfgL(GQUsQ-WBjFbTl%t!&u>OrguF zudk@e!zfx>URJY!?s4b#6vFKKI#{`Q#OIP~1kQx);wuYYUx~vzp=DoC9$0k2^|jSO z$S&Ren^hi|U427&)s!k&z$$U-QFT?GyeO%ys4T0!aT2o+8`rHGO8|SUzXodmip8!O z82cq^gi7&wy3B6tpRuB+}^6UwpHsOoRoZ zy3#&YB|!8H=?;V4*WVd|+Mj5{Js8(8YSRmCSz8fYfwgu^kF+Kjemb)hZ}WadfLF;F|2@~HD zAID!giiHDXt2ew-4SUJ}b^i4%Vuz!NKrG}F#P4C@wteb7uGtk z%p|Pkp*uCQz2Q5M)3!`_8*aptqt1MS;ONa3*7?P==*<#VsM`Y^u}3@C6DfKI)n!>L z!mKVEeVgkjJheft{=gG`R!QRmsN0HYvqO&=^O^Bec0z)@oWOt<&;}crj~g^F-Y}GG zXKPads%N=BMw(>%9Q5Z$d}j}U01#Mi4jP4+tDy~aPwNPL)4Yv0?1hQTWaz22Gkdt5 zjn=G313Tn3Hb6Eqxr}ujj0Q9sx22! zd93nV(5nJlul=BI^9LFPah5zBN|$1UUnx)!Z=;@7Z=GX5d!JV?Y{R*|K52h9>j_g* zdU??)Jr|E%Ug`P>gL>!pbN{7%4U9Yud>tApib zL-*)~X@wv45dEX{D(IIMVH}RVw5)cx&p9cN8&_QwSXwTN4S7qeE6cB|UR+TQ?=Usr zL0_9XW73T2vx;WUEt)yOH3v7-3#JuKaLspJ;F>&RT9FoGdCOC}%e3(t6F7?Xl~>{5 z>FO#@`kB>9Da*)$T33u){k*{!}sD;(uff^inhrq+ys_847*n@>MyT1QIeO4Z@wmz*>hQrq7$Pf{9q7o0i=%}^87Zm&} z)7t!?X4--Ia8m<3Kx{H6rZv2tsUjO+l7|iW zbv1_hCAyU31q|zl|H0DTv0tmQBhRs<^={&_Bnyr4dyaP0OYyE?y-K6MF2mQMiLVGQ zr~I&f!?tFwPIpD8scHOKyr5oYedF85I-+C9>A8^3iqJr}mBrWGc7TvZct-Pul~%MJ z#Z1Yr4G#sd(Tnf{GGJHV5Afg&OA7Ng)bODV6U=k0_=hjhU>)$=({#`)BpI$m7e?#4 zp5_)JBWliUA)uVNPWlzpj5ZJx1dQ@HOhoEiHr7$IXGCD~0 zY6VhRL*a$N4!VUMbR&L{xRxI>^@q9qFiU-)Wdp+*2syJ%YSd8%vnPbOu-#4ru6HjGMuCF2OZ7{vt^Ovk(rew*wc z>`Iysq=4+`(wVe^tohBN(-gnqMp29NUxH`o6yy*j5i*S{jQbd~W=NR7)~8^miR6*m zjv=k4d_jHZy;zNsj}7fWuBUz-=zn4TsBaA@8#k#V*dH51|0d?ASUPO!i1FD>P7%G9 z<4js0+%xhV9b2rw^+VWb)Q)1X0>Wwq%OJhaub|NHZTLF!VZi5R0(pLSG#iiI&t6SU zU*11DSOFE4{?V!agW?}FAGm`4#4flt8;Vl+SwM(0RAgJ2FjE{?X^7`Dm>}SmRv8g2 zfOS}>p;hX6Pvoc4&R%$f!%Jw<0Hw0ERFXJ&l~WMzGPQFJtZR`lY-;3DIac5nvPmAf zdPZ|gPT#T(r2x$8{SJ$ZpP2|caQ6p(0MTLV2&yuQJvd#S@)pQNo%}+d9cv``5RrNb zuo&AU@|f}An*C!my@9k;6bys_1*fdb!S+Awef!Kh2$qSiJQ*Hx$y9dGXqSdsxqVef zrp`T-EHx3q4I8uEkT(MBzdZ5Wg;Nw2sn~RJ>EUBotK_`jz<4!iR9`mOpA%g`(!h9a zE0U8a+KT8!Rbyx4w(s{DvoFwl5(dscW*CQ!5WkY; z_icrcFHhhr#&(lgS%f$YCj3iu{IPLp6V@`Y6h_Y7K-{3ux9VeVILKt-^3uoQt%aJ? z%{hlhw~XB#=vP0^73?J=Hc4`g`zy-+FPJ-(uXU~Q5aHV(yKD%227vG5C-6AOXAiX5 zEm$qdzVvpcTHd>UWygTP&8?U;zLRF&z8LSu-d=;>RhOF6vyAP^z&YHUo4q-jZn`ft zGaDoB3juh?YcPEF?vS*hZF&b7@QswQKZRQQ8B!M9X0c3*O<(u3WV5&T=`9>n*78F~ za4Le^NRR!vHNV3ZyDc7nR_tRnD;8g0TQhFlG8~NSTwEIFQepdDb-_i8%F7qSxQxX* zrlR0m7ZB+j5_w=LkJepI6ES>ADskv*+2UfHtLt>qKt|Y&YvC+W6Hm{*)55*%ot zWhS=k7w70{*&7b9l-nob7wqH`up=67Mji}(9dF!$p`Bd&!@FQ>099#Ajl|oq=lCfb zItKTJN*eUG-o6x2rrA<5AkyhH1V)AqSg&U?H5k*MIjoY-8KmidR4%5gx5V zHxDMnL995h>l*AN=U(54KhOL8fY((`{QPT_gWVwSZ~nNq_xUXqyDau5%Jn|q>kXtD z_8K;^ffT*Z?`UpiQtXlSHk?j+Mjs*3P8Nm1f!kf`b}(-Ds9PUy-&VJ|RyKk3j|W() zrKsF0sZDo5WzLj0!&+M>o;BWu{SDg@O3B;sC?ID{rD2Szgu``9f>k$EwfSdPuc*QV zA8lqo`%B7})hu0tw`K6j#i-b08;rfS!5B8HB1@u$Eofk6 z%8Hu0R{v~Q6wbyS&99(1as5$*R9k+1`N|rYGOB&oRb21VKAv?oWsAyP)8|Z`>MN_g zK1ef(=6XUuSbx^>!5|LNYQCH(KXWHs_($*9(2k2S$c3(_CBPL~)ou*P!jtjMefWZr z_8{P}b`JpQXweTEwpE9;av1a(k1+9s0#2c62VsVjz%=Rz$DNm&2+ z2|doavF$xnsX&n_{882!DW3l*;j!z!Dy8m2$Rl+>)QZKi$hD=d#ouLZAJSfeUZhBtuNJI>In>C=2MWF zrtRS0u$9Cpo{erdisu=hMd_CmxjBQZ?8TeYU6&SFx4desl0)2|#xwS9#a=vK{O#C} zz3coLjm0G~`dEAdq(nbbyyO_~-^M*VQI1%L3wE%ovMjJ@DORcQ@LkZR4=37}SHTlk z3re;Vo|b?f=lcH}NuwDgNXQ8wi<8KLEsk`PUNUFQ$ za-2bLdX1fsLi=t9YwZ*8bMEA_{aTbI1sU(EW@n-(4~lY+za{t_xFq81@3#p808sC- zp2lzNuc7zdeRmptVlBhZql*HBM!NjMJ;`?+46&7P!f`<)361w|bUoM{eVr+L>6Y}`3w`1rKtXVf3L9C5>uqmO}IhYrvGCbP8t z&{mW>VMOoaT?N6jaEDfS>{`ns{bz|d8e zr0F_);Y;uy6t@J$#h%uEAhebPH0WpRL8$g5PvF&BsNM^z8tnIS_H;4c*_i)6?!n0I z{VP&$^d=BP=r8GklTj{h8B)(PC?oc+UDJh0B_6;NzK}kw9Dc!c!f~)yy%&0M@jb=| zN6$9(USP9mW!5l1h4)eV7wcg~AUHs%{zRAKy{=vgKU)PQ8&i|c*!@l7rG z`+~K!o6E{fTz?aN0=q6fipjJAa$vYH&AX}JqogBaOX!PRym!10S)(I2;u((Vce!iN zsJ>2CncztOlp zc3z?_|4Lc^Y98Veq)bj>S&(y$Hsf$eAIO6DU_P$cM>+vn6UU4ky2Xgx9f8-Wk6_c) zzFvLPW4}W>5R=RL8498Sv@O&xLs-O(!@zpRLK*?J5;hNpK=cA<9 zkG$&&u=4R)WL{dNIBo3KTl2<#zWQX<2AwZ@Gnj;T(^fy3_$xpQQnX8?vY)V4x#zeE~ULbRXaFBEjGS@G9Kn_V>H@Od{mK>lJpT;Y*0gqyo9D*6bX{W@okgPNZL zaxfs*6|mJPOdZA71k(E%JMH#v%1;X&246Ui9_q*q`$h_1SPVMJ{t|y*Hrx!PI?$-~$nPS( z!@jwS`^*}y23=7{`ZlihtLHx$;PGdpFT_mY1(*r7ORZIplF^*8JQh7JE4X7Oyl@s_d0y9pXYdzZxox5Yx# z^=}3fu3!CamoZ@!dQ}DAgF;+l9K~!@8U6(=IyA_os!Jx-jm8rFo zST@lBRQiF+=ralZX+33EZPX``zzPKbzUd%PrY?wRNWq3F33?2D~_l}{M<~nlkTYGWevZinLEt`$MALH*){5^-i_wko? zN#C+ETo>x=v$*na%(wcM-HX3nJ^Vd{ZzuX={&&B`-y$rTj-(X6z|*0I%M4bQXUuG7C6r z>4KaBKZz8i#a?zMZtOnsZaK56ss6Iw0Z*hZLr$lP_%lpJC+Pc`peTS%=%C_<3qa~r zrsTUd2)(0*z&RW~;2B$^Ik;;Q;9>rOQa#3>;SF;yCanT%E7ECRG`8N_KkZDmCb}Et z%1s!bfiZ9L0Ip&BSbo zT=DeY@TYiRe*}ql;U@YQ{7Bi}by>030S5XuGH<^*fjF{W5evV!VIx!Jl_fxOCZKuo2XNn_I_(4rc_;Le*(w`j(A8XceIk3`q>7!f01!Gz{yF*Tdr1nzl9e zzOE*8xL4rop~IfwR`0sPjBy#k9m)0ki^pXIj>Mh?CjhZO1#W;aGOvQ#xrW+D)==T+ zdKjz~OTOTL{$iE#w(e7U!;HKW`=g|n)ZT^?yy+oF!zj|SqkM0}Sv}?mz8U=|$><>P zHw)4c&M^K$#D&wLL8Og-2iisY=6#;DodHk%*gk>2k-;7Wy+mLbBABw?FRNsZR}ox@9^EjQ(f@7`1D-qc-IyGU4HZ04Sw9Xr8tK9v-kK5 zymxV_VEkC`-KEltEg@@Eada;3n^5rYP;l(O;{4e2KA(T2y9E8g^>-D|29gq1FsNT~ zm58#Z*paO3N&Q^4*ZWm@UYLAE25>0gnff$bHAF@kYo{jsspYGLOpoqi`b?{@ojyS& ziMyJL|HIt7z(-XieZv#XXo7@^5^e$#6qKka5mAuK1aJga5D*QmxhBB#yx;Hp zK6G-<>C>mXtGc?ny1J@*8bT{lRFXR=!Uelein!FbB+s`k0PVoE^ro9`N}fJ{{*!ab zF?CwlelNa35p0!7M}yn2l?{izMZE^ACzxx_okwmSA}aHIvDr<|Q;&e!=t`~-HpF3` zmfSnq@U#a-*L@JpyLayV@u1z=)5kpeI6`tH_q_GiTj8iO6_E@`#}!&23`AvlEoI9WLSd`$Edb&HFufubSc4)CmF2{_u!{Vlw-&lUaOq`fg z^P9=>AWdXvtSx`rgmbz%iqD#DLi%`^WGPXpf+_BBtPn=sM{LO1mzBPi7#!5aidGwe%;0by^+*@u9-BE9=PsCEaOp z(_l=+dy2t>Hw)9S-)wOMlpSeQ4?XNiV@PpFIg(D2Nh`t9T*ds^d;+9&y+ToY2wEha9XscfU00Jg`D$#%00I}KsA6(gsK2h(R zi(R}e@&lSUM08@-z)pZ;A)Dp}K1>{lp^P0(1c-wzLo$YcXFPV$kHh7Q#S#g&-Fz{y zyPOCG`z`cX2-svxCYyw2$7TWa(B=h$EX zQ>H$Ve21ZbKSTe%1{mju+MiK;-;n)eXU-O20OJ}F?Lu~LB)$E%sRyBR|EYiPxa?Jd zSiNKzutMP(V|izu_&;sRkAS4vdr170f>95mOSn|(M@y~qKAM(d`{14MUv^@Pnx>sv zwn!V*UCbjfe?Vt128rM+$Z+`3irx9xMZHLtONuVs{~po?qR_9mQH7rp82(psmev|= zd*vI{>?pM*78oX}7I9#vf~4Rx$zC#dftgykAn7-4$0iCzdFox$%P!O3w)Wh*yzHM@ zNU$Y-SxZ&DLRE3>$4zc}cJedX2j`>4oQ6LljtO$$W>GvM2tJY1(9+sP0`Mhchf8oi z6N`;!Uk%0^UfxfYk54KXf-jp|J+&)%Jp!-3ckyN6a!TFIz<-GNSeCkRvY=tj6qHb4 z4HV@6tYC8BfsfQe0TT$P8z@=e^ri6iF-BG_Rf%Wgg z6PZ)_>$Eci2K59j*b1CodgIDgG0ucrh&6c!3K>E1EMgJm6MI(D;{r6DGsF2$|9SvMQd_Ed?Lhol!xgvfN6&ZQ zkN?Aa9vt()J;@Kwf^`ABXvugG;u3ts$wL4JIg)MNG-van;wuY96MZsjgB4A4g^?Lo@@pqBhYN@=7?& z!ZY<3U6bUM?C{YrxB#da2~}$3DjK2orr)#iC|)A za#L=4s>wspWZwvkZ4sOpWwXPBtdILx{|0rSKS$WECS6gzFE&uPf42lsza3SgJEHZG z!rqr#11{WJ8NqJ6fvbQ8h*?YqL`8rKGb~?4&Aa_l#qrLT>c&CqO4TEHCMHM4= z>|}xYz*p7xq6fY)Vb&VPTp7Y4cVIC><#S*niKaNcXaG#^sAxjiv^$9BBT6;Ty%X`I z(6?h4m(2E!TvIsXR>wBWPp~qOo$PHpGy5 zRmhy~chmaCnLq=R4lVf+fMU(oRSdGr*3hVfMgJQ581c8((5ORnVA2Tx16iGyGc#CA zLlS1bYbiS-=xPa+U$6#5)7850XKoxk5yB^8eze6qD%l##dY|5r_`Bo=KqYkwGXx4S zINcxQ2B5>F0@rZZ*wf^pzx{7a`&WVP^i_AEkBL9P(uHhdB#^{ve03;X{{j*cN?t>t z5`F5eL4h!*g;8l+N@H6Vfn~9tBX$h@E^P%t0K$i@-r6Mua}vKH!T^bdFQPhuyDJ3l zhD+QHm$)0=iW>khuHG?R(A#h(Qs`kn*2_Wu&IH1ivoE9E0=rN=rC?4VTf|vs$k_0# z53CbMbZF&8=Pys$6;qw^4Zl5m1SW~vgK@$nG37^XQ7ixYP(1JeMSnAV{p6Sfj0kIj zc7t!}bio8f;fH}DENP?#7M|jC2QY|;$!I%N4u_!_5C-YAXb#u^M3-L|R{m+46fL#E zTDbTdP&^MVXdYU_me4u+@T|RbI!4S+aVTg&phNkvxj`XlN=%wI+~Azs;q^bwa1Oue z#WLq(of{V=kH43ES*$HX}wY~@^(=(H!j5gs!N+;6M=KWdjdO3&w zHp>-%|2IR7{d=Q7T0pUXpY5oYkc-S~Ud5l(%DmX@wOP1BV9^*?|Kew3X*)=Vv8!PX z6*(*~HjC41{YO}zA+{0{sA6YZY6i}Qca-MM$LjeG4743Xf1_sSobPISo@hAd{1v9> zY`95vrByCXKn(!yoo%`8uGqCyTwW5Q$YCU{qAXyA@fdRV8gOSGZC`MvtTm&X`(7--RfVNsT!bKbn@W)25ZfXya@ z)|Q&HmZ~qna4@W;7V)}Cl3~ty`=Xl*h-q`f3rJ4o>|BP{mh<%w?Qpql-kMz`EY9zjBX6tw4wD|l?ij2ZF_9c`CDiuRL$ zeote{j=b2ylw$P7P#j`XXR`&mB6iUqMTN9cd&e8D%|Lt78x^=9S}?Y3nRWy)8dH|F zeO~OQwS>>S*t=gl`+Hu}OIlk&Bp(=$i04C4>}vuR+ENSiA1BKwXJ5uZ z=kAU(ILBQOQj1xxIf_<$;3GTSRzh6tXnx^VIGKK(*EnNh+|DjcC@r*aK-;2`dye(r zH@_WIilFQvu?&k==iiVwB(}espXS$b4*%f*Gr-OGk;6x%k2Q=y5LhU~@iY>vypd#X zMZ2DqFfM)M1j9JnEPfa{YLsE*?Ag;F!+~!&jl(+MHkEW^lyAZVL&h2=%!i@zZI8ka z5HdMXWbipaUa!v-z-$l1q@9eZx{-79U3}!KD{4r89ou~Qx4`LN}VyqHk(@wFGRyo zIJqo%8uIL%WYW3O7h^}Fx}ozaUWteRhO{B09vE#HGJDE=WTSvzly8CsX%kdXW3D}Y z`~#^5ikOl-Z8~C}Lib09Fuyl_ZWsz=wzs~S>p(Ad4%BQa)*t; zOXPw5KLQy&$N^MQ^pff1Qm-oKL0WDbsu@#m}I!>OhZs+(F-HT7$|Mt+yx6} zQ5;y5HFgXTHx{OM6c|=Ul$$%1oOeW><0p(6YZz~xJ8vGq=qcbxp${jFpAhnbBG+*8 zurVN!VQ}Y1;6G8qgb5?>50-!sXrK+mTN8y$7?U3UPK2@ImlG#2z9-I_Z?yq=bfn9C z^!mJ6vT0)<7;~>-?EJYigdt$m`$@ybrW^3%FOz4_nlsDFM8mF4fMC+StFEeg!_Nv`YC?2-r9w0Ier~+@5l8NeqC_i>H)MJ zKimfXsck!wKWKu+oVprp8o~YVb`H7&nK$*uA1EPj#)SVleJ1QhoiY8(p1lnAY&k`( zoKNAs4#rfAzro1~GR2*~+dgIsU8rO0r zGRyGf{C)+@3hNdooh>Gkfax7ki6QTq*c?6fH?1hu1t-8$|K^rC+fpOBK*!#-S*XbR znzIX)6;6N7A+R(;Tea9%aF!&5wqrhW3yo}vjatHuXS)pAtZu$FdH4Pn(V8{X7}B|u zI$U5u+bZl)2vJ&64p)xDv5)(H#zY;qpN3_?8d0^i9k&Z}7U1Y#wv>**s2u^}ioDhR zhsFyQ*#kQ;q51;3KBXeyzeKW~qjGWFfG$+XvnFU?_#825pR|ThggjR`V^;wihaidf zMhY!@o=t~p0UPQ1;sGrT1(fRFmakLLG5?3*`bmm!!c7jVk2*KHK5ABYePbi*i=+A| zmFjyUsy-39Dv{hv&mh*FED#}>slxu{OS^>9r)XBIRS^9;4C`P1>~Zp8HNEN@(XAM= zpExKGqzCAEA?6*(_C7Furo#N+%Ii-3FciK1*Ly6uJDL2L;KU>+sFqOYB0AZEmZAPX zz(>8phX_Imh^J#QD|=yn3NMA6X{{j0@T&gUMBo~->bEs9P?4!)WYDdV8CyKa8M)g; zqg&~#@R5oast=%sz8Wf$gxwFdKq7fWdc+|#%=nRG?tf(D{r8S(*`r5~itNmvlnig=<=P?p}k`$p!P zizys}(wtdyfzqhAb2vshMW#X3{X)N;GH;e@Zttjc(bl`dK3IToI+&ZMO|ee7J2?ux zS<@g1%$hN4I$%V|9q2t$Lra~5KzB-+H~(q0CG;ioBfPIv^}%TANf@==O=zXm@pEV6 zkSgqaMtp%9n)m{#q4}_(N!D_K%~Me_=5kIQBeqmSKM+k%4sWh(5GO83UKrW-Y4Z_` zIeEtHDUYECP(a9YMA72Sy!nvU7KdaN2~FmOU`O&Jc4oylp_v}Fk@$xG0J0|7rYDb{ zGCw)BUvlsMci-Oo?$p#|%lHY&w?|Oou!-Z7ty3PmI~lP$vCllc*X?25B>Q;Qv_L10 z@6*z9|2<98zQI7H_rm|G*65vQF^p*aoE`^-!^G@!n2WNk_vbCcrEw4#edZ>brWW3k zH?$FMtab$5p~o(iG0Sf4m|DtrjaCyWx}-dmp_LS~Z?^wGJU?tAp~&wG<*(zhqlX18 z4q4cPS@C{Z@4b21216ayyWjpL*V{cC!68isc9vY&KDz<0?bal|HdcEvP=z954(m9nHg0v6orIiL0qyp}kxCDC(=6%Bay zSmHdER>5cNUm**o2rm>V8HY7DugrQ;El>CG9IY<(xIDjA9q^QTYCLrwy}Af@y63-M zPj#uBs=OJxUOd5I@YHxMy2s@`y1&NjdDC`a$$qcfbIk8ijl~u9qdsav`e8axt4vjv zWq-QQg)8%9@E7TaJ(k04eL>yiLDe(4YL7+t9-xYm5B{ZxZ9gn2|B{g9-yL2*fQ2=H z=QMz*0Vn{30IDvkoCIBrzzDLT+pw7v(nE{eAeB$2@@6E`w$AxX2(cc~G2Djc zd#@Ptm#5VKbqIPy|HM*bj)AN_Mf-gFYu;SgI<%h_xAq|R1wu}swy!X_yf{_xH;)DX z1ES_@^WfxFvY8402mDbhPkPP@J($3M*fYz!-FH~3s56myhoy$@c32LJi<>Uq^fG5g zg>!TnkVBMEaZqWN|9+Pv!MEM5#D_zqYg@ z^^9gK^Wr${ZQa?LO^T&BFj3a$wbb|z=I1o@$!vu&ixF+Ba6{t+=rgMFmj8DS|{ulJVHpoHgZY|M&Tu;IM4nsG5VPTM*JxW`t{XaQG8&9=^CSr-PHkQyn|s==YKRcKU1 z3uKo-0>XKd0}y)COS~Db2-tc_*jfwNt`)Fd3D`Ut8$FhdeuqBZsvz{~!*MSm{2|bj z;)dXz**v`A{W<161-9r<;f1fdtlL;ZG>**xCbf*!9-N1}&TCn%`tX^sKAb!y0AX`| zSZ}x9E#bUjA@||U0?rPAQ>`b%P^|wMUhJY30Fcq$2=E3-@P@g0ba*I zH)5ED!3hxc!Ayjt$(7B)X#a|eXd zboh8pn;JkvbA25$UhlSYRpH~+@stAmxc)TmgX0zOU3|Q@`6ByYP6` z?+%5nsqvaTEdXJ3M*}uBUjMv+t7~e!u0{AhLApNuZ@6z}yn^QNug-kD|GD3X-g?CR zy3MeB;NiP6)m5b{dcb^?Q#(n_$KG_T&9`a$vJXO-v}Yrx-f??oYmckCNG;hH8YuO) z!S*(o2f=--j6J8vPhlRssFDQ34MR*T|A_{$keHS^%bV2Qi?h<6>rXRV2|n5B&8Tyi z&`j^HF7jfuoCoTwEOnSls!w<=b#Bx~$=g1_7a1<6g^o8#-=hz9OS%&V>saO>C8fqZZ;A(C5&qCZkHDWN<22#VL-_Nc(dR!j7~GcA z9>Sl;a+>f*$@gr)7a7zZY>!yBc`VyZD;G=5(G$={)^+(*0q}-W^=?#21|(oA4n?d% z$t(_A>O7_HrKd%~on``W@6h`bci}y*o{w-%-{v;X11$a(inEC8n9Wm+kG=0Tcj$G` zg!A2e=6{^Y-h1VOhcGWFee#Jcb{L;XLbo%#$ zd7FRLYp=alTG*Ilc)9z?t>&lNUH|(xPi-lDGI`YYZ!KS#=ltFJ(a8;;7LFTKwt7aw z$L7EPxB7uz)gKi46Bc&A@0ov^Z=3!2E%$7EyYQ-g*B!e1gM8Y;!oRw}_z>-D2t2Fz z;%Z0}*Lw9`pd3}cs#mo~wNtfU)vwy6+N3`UpM%|a(T^{ z*H!Ym8rSNblz%<$s*D?CdV##Ue9tGdSkb*ek^{9XQ$&#b&-2#Rrl>KJXRm9 zK48+W2OdDjopAweV%b)`v-*H90gp7AukI@#IBE8{>;njvpUw78pk!C7tE$H&lu!I? zGS$=IBim%GlXR9MJw(v;vDLFysxi^m^0w#F7lKTF97U_6>@e zs~-h{sLGcLE|5?~sPucqZMS~-wu0xbMsl}k=o=8v&G&+CUq%-aDWTeoogl9~{*^Xan^ zes8ORVC^{u;Y?x%G957Ucl_0sl5{TDr6xxfl9ntYF`VlnQJfZ~5W2^Pg8eW8P;fHP5>1{nVM=uIsbWl+-QV4)UkQ-od$a0&)rdR1n3V+zB)B7V|CrEyY|V zuU2_oEU(YvO8m*4kVPrRT$#RHUSE*cd|Zh?d14&~+$#R$?(RsWH_V^tbO!LJp16eY zCt@iyZGO^Q@Tb28_|t6x{^ag4i3&wKAEweSfj>2N0)O%tCnI|Ve{vf|S^hHjplS3v zia*UXXlKyZ{Ey|C;Cd%~eP@SIp}11`dfhUVY5M~5|7|2pVAv4HF)jN7m5HVM%&-+v z+S~xgX>KWib&*=S-v(I((^=?JAX{HDT@9q;`jfa3F+`$+E~0dfH=9n z$RK?HUJM$-5OgF~)U-YTnU>!ghP!_UaQ74dic}3`%?n^KdZ_{2DQ@36>g#FRGMkgYevUc}N2?%KR@fzG#kS9uNFv`0fI$ksKe-&@GeC z2t?@gRvEtg1_j%FpLi ze%@gI0)OXJ{%BVD)O(dbGGB;%45o@ z2&snU3)r~F6<=b?J%+phGQ%zO-`eOZEM`nAHzJv)2^jCyK$?QrJk-IXYoKOxWA#Jz z;1g}%W^mDeX=P^*X?yngvWo~-Q9|k&=-a%;62lK6d^r3P(7 zZeJJTO(@2_c_O54tpt{pXZ>1v%C78U>Ii58edPb(^>{seph$lH$&TZ0!taI+^)1aO zUc94l>=mDxD?k61`eiVs(KDs1G#($&&x`d^J%ajb<=P%OB^)5E6Nk6U=|HYKv2*z! z(nHqsJFJB2?TZSK^*+r~j|a$~*s`?LYg-ElnP(5~Ihwtd8l|PvYY3aAfE;jpjO!K< zuXY<>$F=I5+qfFn>aAe3gVy8DZG4}exi~beEWSik;Ijf~sh@LyNvM(5yD3|_qMQ7G zk>s4O*4gR`cq6C_^mg$`6br8p`WqiqEFkf^@o-!(AvHLJsw;a!}3p zdiqc<63w*khoDhgYRL?5d6pE0}4!@JZKiFhbqH4S|`~z zqt=P(q{KNoNsJeSo`kZ72TlA=ECw|23nYbYLU4I-)g>0oTTx=G00IAKLnC^}g7c5y z`os6j2GQ!>^dfCiV9yVVp?EiV7#DyAhp=Cc)8Bv!C8y>x_Vda?R*Jwno}9gIf<;Fn zbu^Z#AWqmCkaG-0I!UKqf!2U+KJlKeO znwAIq_G9Uyd3n%^T`aG0($g4mau25h;undg4mh`M8H*Q9Y~k4M6KkuQ9hM3Z;czL4 z1O&os|IF2f3WQnutUoDP=D41L`yGbs2=dA`Wq*SIXxj?>)huONdWC;Oem=oJ1M={1 z6`u^1>zAC`pgc_S9Ax*2n9v2_5&Gge(1}5+y0E^upgTIzIB7``_Ax>0`fWww zn2tYHj=SlN!oxFXT>sMBiwfUwXSn*uqxE0MSMB@u=|vv%m*3r)KI)wfX44bp+pa6K zniH?-d|hcqH*@low}%dUz3l6LwzFRsJT$d%^rtU>V948NK2cn7K5g$$g@=>JW$k>V z!d%;P@Ss&ww-oyS^0$ZXyy{mFY@cKi?I?Ncn+1zKY|K++r95BDebT!9^7sR-`c6rE>Y5clB&0l(HnV4Kw~jaGrX^iA@4;?mOVV!naKy2-J^z&U z${$9&czpOZX^;NhdhF!!4-5Y=SMN{tS39=O`|=fE;U8anBt3p>s%zD++lOT&O>^}; zX=}5*HplhyL$^LYB{tt>?pO7X`}<|O^2c?#!8vhoTFbXOUH9R`*0c`e-ss?Ou`2EH z?k~*zqH%rNkpcU^>v(c)+SFg(`o+3_Y1*T`o*H^^-kmP=AO6+J{!C62{ivQ*f4a=7 zzf}LJ{#5;|`djsv>Oa+=s()2~tNu~_rTS0xr|MtT->UyrKdF9G{iym?^|R`C0LSzx zuZ09H;4M`BrTS0xr|MtT->Ux=Jt+E6{iXU(^{47z)!(ZB6+I~WQ2nO*QT40pXVveD z4isIeepCIZ`c?I_>UTv4iY^4)2hAAYq_3IBiy^Fh*TK*rMB|Kkznj#OR-Y(3)-^Bb z&XlsTm9gD(w#Ab6W*%vpNlHHo9r7nAl!PZeOhKm=%e;}bd%NztQ1Q<w)!ny>C%00X}&<4l>pJ|cadOy3ZZzF4Lg zM5JfQbXP?Ba+zKdk)AKp%jmk>o4(q!o6L0AX_nR1yD&9*ElBZZ6aZBOQH^I87W=$T ztj2!c`l=oy>{$N;759HeYGv4ktjBJj*FqnhLS}3#ZG}pGS9K9I^t`>-0~sA>szzhq zuVC?&uny9pxu>X5)eTiWs4sjQ@SyPL7VS$&L^Xt`8rj|s{2aueF4L1E((7b;&xrJT znch1h-N4UP#(oj$aWXv(SC02ZF#oGFfr8yepK5NRC^o?@sjP#nriPz`%}ti+dPI6p znO+x>-dm>EN2K?Y=?1=1`PD!*Au0|jixWsekcKI5wZwo$B z6PREBU*O+a=PHV6equiU|25wh@Eg+p|I5F-c=Xi0)h8Yx?j3vQ*!{PFcgIEXZc@+^ z_nSM=-iijNf4^8|5ND<}?Dx=GgWidY=LqJOCa%VL@;ZXAK_0zWrjLzC&ywkrBGQ-3 z^vQGukH!cq!u5pxO7~9e%^mRlf%vb-Ys^<4?gWq7=|4oxCI&u4GVlS4fgdxiY$q9b zelCUsIcCxb);kcavoFBF6Oo-@9V@QJ4)QvQuOTB^rcaJY?GLAe`^ogh z5$S0%Ju4!8giK#f*GpvJZerjil7YuL1Ov~*z9X}4FmSN(<{9`jWK;}1^9t-xYyrPU zUr+amkm-6vdVx%@i%56L z^!kYO5}9rQ*c_8lO!TG~#|!$P4a=VZ5cD&kkCJwg9KKA@X2L2-qi%U!El4piq1VXt z^%3d1Oy3ZZUMJHFBGT(+x+{=gy$dQ`D1=LpviK?*1_p+y`lRmwaru+X{*hE&7Mg-@9_+By)xBvcVO$9KQOWc=zj-5BRodNndULc;b#PzT3QO@YI_e zgW6@kJ7DComi@0enEUxR-(IuXIJ07K+{<5oJ>mDa2XF0s=&Mi1T{Xznkgz%RlxL9R z!ItJeRyP>UtJEnDzA57p7lV{LA0_72o{I z+gmfQ=u-4u-#3O#T^~Pe?g-DY(n;O!xib65VO=erq0gH4rv1&n=&P6UeZ?E23hzsN zvFPaA$;Csab=`L5^;z3&TTc`}wDIJSr+$8W*hB4I_iX;}aLaf3T`lho`*qmW&wpAZ z;T%Hn0dBx~*t1Q)?aa1y)( zH^UD+KnEPHuUgFds(QErdD7Q8E$hPeVC~q0P4Vb#kuPNW*gI3UKA>d!pf`}vUxK+l z2-%)?H)znnmWgHi#>+^ycPI2*L7dW^&>dG8Y$V)*tA8`S>CGwrk7x#==X)q8a@;{z z>~xNh*M8zEWqY@AluREOkv>+Yr$wYskm*z(%^PlGGVX+IubrVbzlF)+IypHMipjx6 z(me&wfI+|URpjRo7_?1$CA=U>y1z3_x<{~W$<*8lt3-tf1>$OaU0%0{t7Hal<7%1i zib!84)3-&Wub1g15$W&C^xYBZ8)SM}MEXXVUP0I0pa9QqXZpJ8U7lT@i~?vc;l+XT zgV#Y~gk8f@z+jC`|1Bc@uuL~lGkGn= zQ;AWR>9G;%wK6>}BE3$gw?eva59TidrR7!O+~1vG71! z=7j$Z&#QRv+QG#4{%`pm>QDQ>;dx>EKNsb9$xX|^L0(5}g4i535d@pN-hMfY!Pu2^ zmkt8o8!Y5s@UN9jbP37gYV0Sk-NiM)#|Fyuo)PJ3GX0i_^m}A_Z@M-m|K3mR%HuJP zP#=cKzr^B{{JVb$D==Ih$iLS}7FU9A*iw!tyk~16|2EI!mWwJ9){Cq01$lj6TmuxJ zFVi95Q5EfMLfWx6XOeVt6-M%PPbaXVo|OMH%5Tx>o*1v0LL z85lD+usAR}DFHXZ;tswWWN|D3Q}Ak!kuWPI;7L&uusdP5Xla5jTU;iuwc;AUWQ9zx zi%56N^wSaPRWiLkBE3eY{}z#cSf(2QwyzWoC5kUh3zL9GEg)#Su#`$) zO@2OXDP+oR3Go1WLNb0|uWMJ*nrc0{dvR*F?3lm{j7-ku&&x9^g*kvBpAI81h`zedw`*|lHx=mCsoK+N?cl&)_4@ZjRB?#{)Qv7L@i@jjlmc~9M)shz2 zy6rF=h7ocXoAbws{AtL~`4UcQWy4EH(;Aq z?%$=ee^$miQ*IU-0T^I#bvB+5D!Pj-o{WiqMUMq7LZ5pPSwp)l4)4Re?BS-nte@;M z8w7Q9S&Hbgb^%+^@Q(Xvu z@3=bVkLE8b|Mh0a?~)4pKXBx^o!^%Y?o}NBH8$N!!&TM*q8#odIp*U6(XEN&i83!D!>QRG-)KVC!)Ig`_J_tQ_Y4t%^ zs=<=y46KK+8qi@uc6l@^#M;&(UByS3_CWsO^>e0OS%?K7G`WH>>U)A^Lrcn zz2tCIgI-NG0Khsk8DH(I_TdPe6XjU+)TEqKpNNuBXhdPG$3iI-gs(;`+0+Odg_IN8 zPJCQ+FiC!0Oeljv&zFG5I0CSW;n#th#P(O%`S3w~h&R5LXd2oNTUhed@gcx$qqma2 zhh3h}S4)q^I?+F%sz&T~;KBDNe8uz#f2gX2dL-HI^DI3k`%Tn?vyb6XT{9!W(5kv< z2BHdj=G0cg5o*pcr%j(I7WA~sMg>+Mtx6D7;JX4v2aBRYs*DD-l*)-L#a}>Fy>j59 z_GAx<4F=?M*Pz{ZpxxBI)HAY4zAurIpHKQ1ve6>FQ`S?d<~?WI-!zy#6My27HC|;;Nk(f(JduI4b2^7=iAjAqavyUA4|jXapx-R|8-U&a8o zEOU8%%2tdzw4U;auZj+|*UHp~zI=REV8;h3B}FyuWoZ~R&`M;~!3%w#$Jh!0h;h|c zmW222ghV9!#^G}ssJj#9KL6%QU`4NwEb)39D-OQ9m% zMjaXCSPCn{|0V1zX*f0BzNiCHoZDE7tUR2uY4GrPD&_Y0bR-C-?>1H-m$aHPJ?F#= zL591L>>ELk9y;@6Fu(BsqBOta%JLLMLb(vR|ao4v>oL@h5}bFhAK0!l;i~1g|tQyrPoHAIMUVYQ#+U z=E7KPG#z1Rj`^#(PA)Hw1}+vN6cd$-NEAhQ;BqNU80kHtR0!{ag;$~!pYn&I5qiwO zPXU1PIDQDQZtsN|!Cs_y4UO5r@8dEUxLE%d^?0&_^!oV_7>CMh3tF7+G%=@EW^o?IAFIs4hd}R+x_CkzW&l-{%?pLJU(*k zQ{9#Szq9Xss!99a!)rqEia_j(uR0rP)(f5`41N(-lg1yR(`^j@@;iJP3uJx+8{e(K zVpgGlbHJ__W-$Iw@s$W?BjVE}R*jCUvUH%}AfOjes(W;t+ma}sIX+Dy#v`JaiD+FI zF)C=nv+!inGIR$5SdekA%@ov8$@LY64{cJ7M@HOYQ2}pGd?E4&#uiqZi?(58;Y^{g z0?5S;+9Tq%QROJ+^)INtdbo93>TOpj179dYTG0T^#9Q2=lAo!Pda|xp%B}Oj?Ob!HTjvrCMLngrT7}l? zU2rdbfxuWpmyq>#He@G!G!busEZLR+CJfaP{DmAb-+B!TprHSza*FCHP>|GwQxyAe zvOdZM|4poT$$wKozGunz@Y{5@rEoGx#7o$0k*8)575VRkEYn@+){GL{$Pi2@Q`(~qUL0Y}mz#llrT}yG46NpG9}=xSl%CPbQS?*tGq*Pu^D9pHL4+e``focR z!=hXf*ovn}dm0FKAl(}5W_QAb_rPW|MAl!ZeIjd7ef!H|a`a3sh7;^rybm38LlE*a zRCKcTsIsA zs&rOiD3NZ|--%3>a!75d0cc@*9+Lxh5Ksk`;ctyJN|)ar#J9MW%){hZhAc~-^&Der zov%#SL7Z4A7y`c458oCw2&WR!t-D1LU9G+f_i7LZUGdP_284FA6i^(;wp@&DlRlgC zUWa%7_kml4bMo(wQXlz7q6&fa3*nm%aARzTAo~5kT@2AH&Rhbbr;AJhM34Pv6r$ld z(KMo;#l1Cs|fb1`|qQq!8ml&uf?4kGC4Y8fSXp(DNP8_MiZZD*>h-sq*Qj#aQ!QydoJdj;JBq3j`|Q0_l^{W z^CS9Z+$)Y6g*g9v0MoV(N5Tpwk2Vq6JHX?&M7QbA@Nt>b(8AhAj*tJ`Ozkl_W>fVe zxJv3e-@|y0u5~*`&2q(`gl=2$C>}3O^&cGz5aI&N9rw|zYOq9gT<$6ExHe79dDKnQ z#p?q!s|i1mEm`kJ^nu9%cbteJLf@92j_TqUkkPba8U8AMG&;ygS|B;#CcOKm3w2!U zp23c5fqT_)!NS70lAQ~)eX9R>Bjx46@^157$&AjJ`SiTGh~XU`Pfp5Lk{M-efOrWp zO7LB>J*J?+3tmyU4&9mwodHgqV3c=hdInJASH#oUF7j4T>5zjz7mwRfC5u`FB}lO5 zgJ73rxF|0KjQb;~P{fc3F#IP{7{Q@@h`depPj67Dt<~Sdy+oHgnmRvFv`AORSCjMz zVx;&Pbc72r5}Zq=zXf_!@)rz)f^6grOhUjMo1?~`#Onhj!|f9HKhUrY$X-h!dm%su zxQZO1Ku+REA;>AY7{i#*vl+T0FH-%lJrr_|=qqq9k#kXRCSDK7c&6|=mTG$ztY&Dt z;)}@$D$9B^f;HdbaD7QJ4>PZogrMTbyZ+#C*&DPo@|okA79F_KQTk;IY%^vak2t?G zrt}Xuf4sr}lPpGT3fQkKYDmg^i9$E}zk*Vu(eD3T^djUf#CH{17~2&j!)HMSd5&eP z>x&K|3TweK3_A^vUb#^-K z2O%p-|56`R^PqlO0^@CLP&5l6Flry~+GQXb?AEjU;^9@>RUk6H2w&FOQ%ba=vu-?~ z?S>*>*OZcg@&x6G@1=f)DncymQ2olKlpm_Hi7xN0u<{TI7#evZbOi;js{&h0 zgm)yW3-x1MuCKXH5&d!fFSwUPU-@)z_$!9N7tSBWF7)_-&;Y(fOP|pF>YLD4#Md%O zXUbdE4muStF#pT_PU=yf|1bMA0F4MTVGG})-XSLdtJ zrkNa5(8c;7uA4;x(q560Lv3l_hiBLWyZyEJ>1s$k-g}0j(lqjqVe6&E0e@MN+JM)I zZ>Y&A!e4aIf0?c>>@T|fD6|sB+>JrnB7f09;13CJ7T$-gO(Nh`F$T{8I&?*JjKOT( zoUD4mr}x3Vq_7{J29TJ72~HkAQSe>7PYFVGG|$4^WocNxxZulOiaqxt;XsT@_^2`a`&v^tH1&`g)Ce9{cID(Hu0l zc`A!)Zv@sAmF0F5RF+Ou_S3Zrw>}F~Sx~+avbb+Bl9|LFPyHY8uaDNMZiwVx?_gTE zApbgyl{)r?KM&GaIRC1_n@i_ke@$i@3+G=4x~M)luK$4h0RKw86#jMUod9gj^RKV5 zn{p}qtN4omG?&J|ws&QKn&n@{0Bnc#hRy-{x)A>=K^rc_zoOdM3}xNKO_Tgq6>p_5®H43t7{WaWQD*w6#&AA}| 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ŜUWXj>DcH!&f@WOWC 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 LxK#RQ{rmp{YL%*b diff --git a/src/bin/diff.exe b/src/bin/diff.exe deleted file mode 100644 index f8bb7756e643d72381f144548ac3bc0045585c52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87040 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 z 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 diff --git a/src/bin/foster.exe b/src/bin/foster.exe index 8edc065716e595da50a074d9b6cf683626de7d87..890c721f573b42299fc3f6c774819e65bf543c79 100644 GIT binary patch delta 40 tcmdn8fMv@9mI)7-&Cl=H_*ij1h~CV;fU$rR$gpQ*U|?{bE-1jL3;=E>4(I>? delta 40 tcmdn8fMv@9mI)7-12SDUK31F$qBpZIU@YJSGVB={7#Q5A3konQ0{}kc45t-@w4E0=BWpdY-Yc}*uV*7*t0M&FgQ;a3}93Q0F#9f#sB~S delta 40 vcmdnAfOXRX)(Ib&ySrUBeil5>JfYQPGy4U`22LQuo{52h!F{@50HY!RV!#f2 diff --git a/src/bin/gunzip.exe b/src/bin/gunzip.exe deleted file mode 100644 index 94bac19a1ec07938e8867a35aa3e66e8d7302a5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59392 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⩔XBFqHP2vN{y!9vNTv#sO{xoDgpAxWj;)%Nu zh8I+}s~;bPb;g;L67cvam4XCU3?2oiaw`K0I)|g`1^S0LHX5&E%K%zaYPfjoRlQXV@aAw)Ok&vBVEIU=y?-Y?Nw6A`K@o}C?1`DBL!#|W zKO`U;&5g;a8KND=AH!Hrn@o#9S-i=Zigy^&3Fkr;^rS+GB84~U5~RPoIs9#gKRUw1 z{t0!I*E_C($Ns!E!S6GS%{eCw!Y~ zcuHCMOQDWzIe1O!EiBAYKBXMPx8n|_h)TLWz9r=^$ms=0VFWaN1B4C{$h$yY~fw@qth=S70 zANrt7aMfM?7N;Uu*X@R+Rgg5QvYO{6f9ld$*~8ftyWMI*9KtPr*Er>Cw{%d0b;iE{ z@mqJY+;BAdH>M{o$xKS5scI6mykZP4DRy<$f8w2Sx5c@j4-`MPX$s}X?`_K|V+mRW z4at(e;wZRfdNY|G$)4mhj@|EfrWpLDEeO}0nvNW)7kkR`I6#JK-_^NhlL~u269DIg*fgRy;Ocw*&o}d$AT}m0d@KHC_h8slc)Is zrfU9lw7SV}JS@*%JwuEC4#buov*b2T#neFYpwOK*K|H zbr5Y#^p(Ox^$&mp6z)XU;x))G*5#lysT%x#XyJ=u=)ba{q(s`(!ugLf<uas50{6 z8I)MzbTRaJ)~~ZSCPiC>u+S3=m4?A4n~z~2 zG%TBJFFx;&UGzprKMm9KOb*9$hT8lH}UxTU2Q@_^>(VmP}rbEn!GkMo?eN?sk>7jBD63 zXTSXN8jm9g#cWV+RTp$?z~^q_q0&W#Ocl$@TfaVrNz$5D%rGz-;4mnFiWfKpqF@LG zQ23-$U_$_>^CWV<(?jWU4jGq%RqdRD%!sOO4zmhZI&5gBr80C_(O69`jJ^e8P*ta; z81dTYXo@733&X-_8>G@@T=_S}i7kpiVgeT!suE)U`r;w}e7}FI8nq>C2STc5!R-KS94IrnZIrF5%A*&Vq%U3R2frfbD#B zM#=*yJny#fb%ft+rIb7RSJZ0Ohm0UcGpa>B?HI2&qW70<&c*QADOr+>T6;a|F5Yx3u_wrVWtvI~T<~-IP9Gug| zKfyA!C0y82!#!co7`la}8~nm1??x508~8XJV}aTs8(S2%UWJ$G9}Ge@!yr4*ZvWNp zhanfYflS=^G5QnC%+(>~x!57@RcIXUn7Az*&;4bJHm?%75*kg-T9ZwqT~h(f zJ|MsKb3N8VYxLY8KpKF)-v)dt0|W4v0Zx1DRu@LMGNyhLjmkW!Rj8!;jrn(1Tr-y$ zrh{&hXpN#G@AOio*&AZFf*QwBT?MYVYW+^T(+6DGdWeP9!oni89CW6+(psY3?_+H) zGQ$aP{Rh3&)(cY;nSL})rpeVmm1D%tp{=l?MMwEWFd*$Jtn;Tk0r;t8KQGTMIpjL{7yWm0ZE zL&|5-eF{XxUG#@S=p*G!;-_Xs=uC}aW+5FR_Xl~de4rzz^arO=Mdr@eBXkNwkU2sV z+7sFlBm4^|kh|}#gYYdhKyPjYyL#X$>`V)d)<1{N(il$)4dzIHL1DctR9Sx(4?xbx zt^DHHT|MsYgQ#i7FkD)%pb^|L${8k5m^a-*6_L@;!7ni0CYEt8HSJ7X>uuyPGe-YSYCS(2RfV-T(^Mx&?uU*cK|bG&m`crP<( zWtR+tYZk_}h=Y+FroTKkSW%ecLqa(P;L2=Jb&0i^U4(+a3KijGyMWLNXa2P%-E(g} zX?QgE))a#;vAkI0JK-@_5sMi#QlpwYUXx*6T)13h5EL`T` z6QmItZA@Y*8gUfj?!XzeXgiz{x6p`MIAbZmaUgIYXF5#P0km4!?tEi!>2Ra@1s*)G zN*!b~Nhj$@9!gtcLxrGI&D5HGD3SP}yB;tflZ-Xu21v@7C-YERQ=<;TIZ8Hz7{+`< z#ERBDneRjB=Oy2l$cUDyD5Xj8?MUe*@VB;Ki+c3FfIYFX0O_)%kV-${?7q zE1c1KMO;gve=leR3AJS}00RxZMS3(%G=8OofGn$wFAe8(U&{9lxg?2SfAcgBsU{QxJgZ!^uA$SV@ zWzR2c&yNeEdMQI~*sjk``i;cBG+t)umavzG$P*P6|-Y zd9!;sPIQ3=8{#%7+1q#6;&fPV8BJ4kCkQ} zHdRhcq2_aVmiE6PeS#*HUuV$Sqs1{jvb}{Kj$$=;7g`i`g_%4wfKYV^BN|1EP8AYG z(ijfgn^19bAkfQZw^y83(Ur;LbWAHP#*b3{c2a3NAflaujEvckBjB=#b z$h39$Mg75OG8^@u(aZ1*IwkZIydk(9(e8H;?QOI+9D!k6%^A>eGD9$S;|TL)I?RhT zN)2@a)XDIIVU=2s&bCO(A5>H$i&zIJa@H)8qD0b8bxh3FAR-ZSJ*FB&On(_M^P^j= zYbDaOwr?L!dJJ*a6`}|0+&iX68cryfAy0Y%IautX$Bd5XAsRprk!s8uc#_kjKbavI zyD`lCv>HoNV4*P@5D=;uqIFP>AAKq7-u9(!e2vy}hpxxYmauLJV1BNXIG;91+dS zSE(V-X`aCgwjgSWM7#;8!z{8!p@!D2Oc%A3D_bBvrG~xaZMsH+W zYAmeTLt~C{B1S|wK$ppf8ta7UL%89>ZG9IK)PGAXfwbA7)FVWTJEJRnX zHPHb!b2J7-TF5w~KC%Gf%HdY=(-EtA`Crsn{$pWPGlH~HOq@#d%;|fHFomc^vZ^th z*@{Fe4ek~-mS=rrIStMWxitrAw5z@X9x23?Tbnm2u~&g~&(fI3&~?LGh(}BHlO_X{ z02ShwcuE1L&cwUuwjEOyZypYr@e`JpfVuh)J-fw`=2ui~GvL88huPCGc&5~mBHS@L z?W!1vTz8&YQ%_C`)i-8ez_w;a%&&KrCn!W=~%~*E4ZoFz9$p+2W4YQs6 zHpZWg?M4jPKsMrSB!!KZg<3Xprq1JC^50!5b&RidSsK^yx&>p>7=H{QLNF0=gl+r; zcZ$SoGdsIEqGS+LA`9>NeC`ss)a!PE_eVKpKi^MDtY; z5tqkHlUs8VJwt1LC}B*iwE2SxnWQFNY`*5HI-K&sOwPMfn2N()6{2rwi@{qmg9+9m zu50smpxB69y`pY>RawqeB0FSge0b zZLK#?YAWRWq4;B0tBu9rauiDhuZZDkrl7;{pG}sLMAU@b$8`!}Do)!=93Bmg=!Zp$pamW1(bhD>F+8~-63+HEWPim>g za~3nTAIKSkO%UynE7thb;t{y9EP`!e?;UC)HLBu^SZSwTyxj0Wt)9(Z$aFq4#qOTL z%VEmK+Lli6jB^WK6a%uNaV3Bkqd;;+4V$4~uxv-OMG{=SK0 zBXAhECF`Ov0|n(TjOSfL7TCkN5M@?}TTeSy)usyHm@3p`>40sPZl#6ZCU0&iy{(p@ z3VaLA!XYy{Pu|{4>uF400INvSQXe$FwRLG?JW2(tX_%hh2ZiiF3MJt$DlHQAAkHN| zDmg+q*}Kid=DH&xj+Z^~eP%{J=&=WW)DCCz7}5#@R8VO1M7XJqN9C_yHOIPZ>T%hR4cq zt_#%(Dgb)yfoU>(QHHn5@YyoFT86(N!<%GyqYPgs!>7scO)`9m49}C{xib8M46l>n zMKU~7hDXWpqcXf%h8N555i)$Q3@?}A+hzEBGQ3oVkC)*#8Gc)a^Rn_UklE{H_&gbY zs2vV|<=T5C7V~?!J#bDt|MtK^?QrsMd0;pVP@M8Qah692mmV}zyAHgC)m?lCIKG*| zf8-xVD1YGLp`}L+;BnAY$G$wd0Q|^A$4qn#SK~VuKQ*vi?8eZ)Qo->7_{SUFPWwjz zl;AOkv2K{2n*t~T)B$u40S9#SP+8E^ksX;)WW-RJd=DA?f#)r^xDw$0JvTfN_{TE* zQ#X7b>`P^Ml^dQ6`-5(H3h=Mp@HF5JZg?#4({6Y=@NeDl$-qT7d@=CLGW=&ZJPY=A z;6!hFo&tCV>*IKBaO0Nn`K0g3>{fEGaTNIjPcr~};X zi65=!Zp7-jTL3$NpQPv10AGOfak?S%kjaucIEc%$dW=I!Xn`mv01warFkImL0GPdSodA>$Euf=E1z#Qr$qOyRoAW_9 zesJ5F>&o@udU5@@{@h@0I5&oiMD0lAvN;pCfve)ar8eB*qd;u*Q#yVsq=tUP7bI@s zf%quJiTF|4l+4xxDey+zow<9s`?wGcj1st&Tm`34tWtN}HDUwH#|MI9dPp;MfxHeapAJ zMpH)E!4#Yx5gSPp?bsTE1!F zyk$4%{(9+P(#ucGR`{Px^Gr+}tG)HJpStisK>C>Hbg8iy!si^zT0H;5BNtR*3QMy9RX8gcyKp40l9d;j@uTI0jU+2^7U`yFq3X6%tq{uz97;G^8x zsku{69O#}#qn&lY}b&gG$ z`AMIIim^kJONzpqp7&gQTCq2ve%*t*V^@UyEsOi@DDm8QVgKKTA1xI>Jm|G##7$_2 z*yR0I&vl)?+2glh#n7>f)NiNF`?F$p;>Fgf3m48!NbB7goRmMAn|tlYH$Br{*r@1L z(W+iGqgwlO&B@}VDVCjGekd(7FE7}2`&^$ha~~gis@qS?8(v9@J^IVcgsqdlp1R{v z1Gjg>`QSZA!#AFraN^Czv5TsYeDq7}@rDJK)X3W>(?`S<%>T5mbk3>lp?uVLeN@Ba zV}1VX;Bvn+VT(Pc{8za00iDjbY;}O#?6>}KD_G6oO9F9&EIroZF30&-cpeI)n3AHDUjo{>w_wZyvnmh0(oAH1Dphf6cG# z*mpaxG%dgH+-cvV^$n{d&L6#M+jb@;-E^woSKZ52K09#N^>1>DGjhi5?0IpPx*&6b z*8as9&*a&@iq7`+Nw21Eo@;BcFHDF&oYsBGd7t+$*ZZBAX5uGTZc~LO44nV>8{OyB zO&XW_`01SVKTTM0WOLK3<0q4S&*@vnG(Pgw=Dq*;eEpuYD-LfRXR+@H?tN|FzLzU^ ze-Zrpwx>Scuzi5XsJh*+d!G0zXvW!T`{$qRKWtg@w$cd+)yiHeac>OHc<_-j-|Zi) z)l~I5=P|4BigKuv2mGhLX}m!X`qSlVjR#)8s2hyo;ns2&r|=g8q9qF-Za+L*XlW19qQPHVu=&HYl({T*+4 zKBaPKb9)JHg1^ET_z$@4iK3qKwVsXpelJ{-&CNWl=N|e4;by|^`*nKmL%e@0T%z%N za5JR=vT7ZL3o{NhrheW@<3n(tdld3)e;{ld+ytD^Lujdkbij@y3iDJVCMuo(vyWa! z6-s(i{5`orojti&H?!Dop4WV53gD1m4WK7r03a9;1{e>R2ABIDV0RCT7 z&Pz*+Ps}m|$H&J^2?@ze%8Jj-%1BJg&gP1hNlQ|(Xi=?9PEIpsr%-$cm2}z&$;ER_ znVgx0u#)k89N$JmB6m`mj5|mmAko=5-y diff --git a/src/bin/gzip.exe b/src/bin/gzip.exe deleted file mode 100644 index 94bac19a1ec07938e8867a35aa3e66e8d7302a5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59392 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⩔XBFqHP2vN{y!9vNTv#sO{xoDgpAxWj;)%Nu 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 diff --git a/src/bin/hfmdump.exe b/src/bin/hfmdump.exe index 35af075658ed9c08ebc0e2838e8920bb0f708f45..15523f567c74b4a7a1f088e81bea4901342d7b72 100644 GIT binary patch delta 40 vcmdn`fMx3gmI)u2?`9w0_*rm0^L(GWU7yeni*WqSdbB0Rf(V)$<9W=%iOZ zav#Q50(-Rob&k3AajtehZ*ER^Uzm$OmdD|FK{k5DpLU!TC*eSb`^;?XeDU!&g7S8) zN+R4>=DiSj4Oa)fg$CjQ9fza)uALp%A;e-SI0kjcV}g^>b-XKBLUZu7;4t(mei9sk zZn#215)kTxlRMo;t1%h+A-aHXhCV_+;A>$+krUJ5Ly_QG9zG4xxbTIVbp-_BOb&4N z^IDmD)tMFG?Cq20-ej5OwKBQMnHu0sw`I6Xa9reQo7W#~-UYZcGTQGvaJTq>5g&^z zMG8)hDnbdaGf{3&+t>N#rVWB~W)j{X6Nc-fBW$ZIq7M*Po5Wz;Ii}d}ACt_JCh-Q| z7t`NwjkPv8%duB%FYioi9e~q2$KjmVRNLh|^Lzm8e?QR@QWqQTx7H$>Le}HoV(sV% zHsXTOd^|iZ3eCWC;!==`YvMxCbbKK$8a3mmabf5k92_4Xu=l!U=*r{=&eUh=?qhgx zd^nngC&$OPpJ+K~V~*eH;7o?d)Zw?|qfv;fHs0-pj^TX?A!rx=B4JTj+!)IR$fOq> zo|(67O%mZu^+|X8kHKRTL(x6FFflCR{OA{_ybpOoY2As++w$VzN3H{j*&cp#EJ0>T z&BtM6kAQ=(S}e}hRaQx@$HT}1`jtNsofW&RYAPS~LV8f1S1DA}W=owZYa4z1(o6`ITYe2%du!M&XGfG?J`XXrX3xI;;VrX5m!xnoyBIC zq`3#D|L$Q+)AYhMasmBA+J6$A6&8oPTMO0dm$Wjlml^s(GLK(VR-!6=OX-Wg!97(H zZF9Y*j`2kEaE+0Ow%`WiOLPWT+q<02c;K{7fP?-!-IPS1Zyp}Ry3Gyxts9A!3Fdl^*@Qu zVpBqzyHT;ImIHfCSigGN_| z9ZGzmy3HX3wRdYNJfPz<+>!X3(eWOwd*Y_iI$G`$#^}heLoZ7Oq^u)e{91ooP0ttW zPZA;DVfgNAUHoQSM6>1Q;qaVL@AQ^K(5KNjC&z}$@YI}nkuOmetEF`Gr&-R1qK5GN z@O-#-prIaPud#7xwyVe3K?oJ&x#I?*Cj8kr1s%oc^_|`$f0u~jqHultT36Y4Z-jF3 zhTLiBAoiZ1p}DT)2_6X9UHvAedUTABwNyE?d_cH!fL9M_z-@T%q*!za*G-D^{yfIo z$Dd5-fxG6{BM0`K9Em#Pu9IIz8Xh>g0QJU4CYPcQ@W3g3Q6eszG82J?Q~w6xcTFwu z&+TmT`&ie+KHO{C+Yz>Slj3EnOWmXNBNugXX6?zy^H~eI-H3mgR_fs!g%=luL1k_! z=!DMVg9Wouohz|04*9bYEz+`{Ww;$UXZnl?n`NJuW&b&)w<#_4TzXzmMT@lQRj2`P znK2%%z-VSAy6M_EbBPBU?~0jy1)*ba&E-)#7UtdqXS>bYfTHk;c|C#Q-n=lh0Q=8R zMTxFg=bvb0%WrGxg|toew|dvU*oOAu)WruPp9Yv)wm;`8;P+fz!%<7((5tSLC2bMf zgR_<oAZ@xG!^)QC?Pb%NXSMo~9}uHkmYV(1&b zmV$hbJaL0{LpsxaJk0=PyT%spMBO{?F!$lrV=G!@GdoU&WA2fb#pVSvy)_hVsx94p z94D?Y%nDo436is71=D>@<^N*sXR_|}x2V8+xYh5hz832x98=O2EyJlL94f&@C4*2W zTvw8YNZe)RL;suJmYtTWSRB17rQ;iZmY_RP&MaGonQy4A<@n823cPX;uj3v${Xg4BHKW>v(l(Fs>?13A7Y6 zn{qk>5&(AGsw{UzWjQEresl?hr@<6>UzqW@#f%=N8GGP7oG=fU9fJ8q00E0tDW1`1 zN?!3C{K+kkAw`dUW*mHefA_QIn2Jh#qO2RL#0_OsjL8LZGhxUEj0a2s%mOR~ECZ~^ zN#*?mTWr|}>qCH3fUB;p<+pu%qIx?~+bXjriCA~lPQ0B4liF4z;Q0)ewXL#YrdqQc zm|b^$xcO%flz^!_f%xFIa&*SkZ~F%b9d=iO_)o$&Hba_#W&_eAHayDUeigZ$szY$qyy$6u-+Z$iVP zJH~q^5&s9(xiu)7alls)5kjVOLBeTaiZ(}Es4dr=+BNOAc27gPx87C{(J5Whb$x(7 zM9udBTJ-`SyqKp`$tC3)284HXGV~bH~>@xNkRmMK!fN{tm$_T;+FIf-LhqRFa zWDq%@EG8?-cgZSpA9;X0Lp~)FDb_)WluFsDzEnSI5S2!4qAICf)E=seBH4lLEVhKL zW&gpp8_C8XBf}_xXuM~9Y5ZjTVmvX3N`lx0k@h76$s6PYvJEBE59r^RWCuHeUBouB zhlLv9gz&lWrSP?IR`^b+7C#qXmljGr<%x2kyg1ZPTi?^O{ZXpmVyS57V>t z*Y!f(F-Ldk#kx~pr*G4VeFRYlR{o28MtV@;R2Pb*cq)ZTr(UOKQ%k57)c;U#QQN7b z)CubE)LH5ZRZrceeg$9Z>A$lV*?RUq`xuh-5*No z>22w-bX@vOIwxJ0Zc7gxlD8Zvcah`e1eul%d8GWBTp&B-VtKv1U9OQMl@zT)drv#0 zoz%Y7E@`*4&U$y9)?U?Q=eWr=aE)9O$MP~if}hH7<9G9ic{kt42MS$< zWMPUhU-+xAU-($KDENxOA|s}W!^CmoCUJ-OnRr&bCa#q>OFv5eU6)%7#_4P7%{hi_&xyp=G_B$rYr7$^MNl-K;S;;hW(~M?ko|`B;%rb8G}jv{;S6`3dzrWMOZeLk-b?To zT8TkooH$4vDNYn;h{a-+ctm_IwwHQIiZooBA}y6xO6#Rv(thb9saCooJ(NPNdg(1I zie1T83Y6JOiBhIiD*K^%uPV=!40XJ^Ty?4&)V=CK^@v)hUWGUyElT6HKH4O$P}`@S z(x&Q;W%?HVeLdau{4QbE3vr05qb^WCP}eCp_|}nD=qx&$&Y{QCdGr*zke)@)rBBeO zz{@)N94#}+Ob#=VnZgt@vzT(`2=g=ZfN5f$F$C+y`mi=OfE~r=u;bZ0b_&~`i{T`$ z5A?(^Zal=H!NEP{!uT$HS17+xd=6j8uYnT$i2t1bk^dL(E4(DILLXs_Fj-hGU?{^+ zgdc=o1b;C?6va{EEOEWKUz{T?ksirT_+5nvAGmTSkq)veZP5Mc!SpctReCI)OXt%m zVCGb2KC_xx&r~vJnR=#?31l6eSefn14q-FdY`AV$vZd^1b|?EDWb6uigT2c>fy}kx zQn}$=HaC`=z&W^L?g96N3*o!*Dxc05Kw+8}@e#O+FY*6`5^d&N3&BFH&=X9zLkA5J zhJgd)!G%I$iLh1pNNf~sQjj!28Y2}rqzY-bR3&{PotJ)=+R0IJoGi-&j6lP3ksvr&^}%)sAQvHKH>jszBicawD0{ zjATwQr=$Z1 delta 5166 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 diff --git a/src/bin/hfmwidth.exe b/src/bin/hfmwidth.exe index 9ffb02742e026d23b493185461c0bce0e31334c5..1273a0380c1c5cbe5fb76a560fc2ec0216bb758a 100644 GIT binary patch delta 40 vcmdmXfMweOmI)7-?`9w0_*ij0^8%mao7p!o7H|R?_5utH49?R96&O_kgy0XT delta 40 vcmdmXfMweOmI)7-d0D(SK2}`Mth&;5Gy4X{0!|>qo|A!r!F{@*0;4JbJCY2t diff --git a/src/bin/iccz80.exe b/src/bin/iccz80.exe new file mode 100644 index 0000000000000000000000000000000000000000..324e4d849d46ba5b945c75bffda9d537dc6bdd79 GIT binary patch literal 1554944 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

      EQRxx97f=?5DRN+)rMH?b4GE#$Y~@SylslS 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

      xso1*TY<*%j?4*{#C^oZ)w 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

      MrTr21oxq|-bbNXep*?lip(AMxl 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 literal 0 HcmV?d00001 diff --git a/src/bin/ihex2bin.exe b/src/bin/ihex2bin.exe index 58ccace3f451d0c3a101d512b6f7e2ab7727ce12..e517dfc4b738c7be0e5cee0a4e328bab7bbac7d5 100644 GIT binary patch delta 40 tcmdmXfMweOmI)u2Eza-Q_*rm0h~CV;fw6!S$gpQ*U|?{bE~vn$3IKg(4{-nh delta 40 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

      nUGOU>0r_lmNUc-O?0~;0h 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 delta 1186 zcmYjRZA@EL7(TbRy=SGpm)?|Niy7RHZIH7qDIeNGSS1XL#%xSyFxu$CSJ>hPZW@ztC{D!fxiwhZ33&)qafN$ybIz)<+5iG|YU=6tcv#N1B#5dakP5s?}MI)P{ z5fF`n$m|M4PpoE9qZ^{pO(N75hvO9Z8x=R6cCC^D><2|2F|aoY)4z6m#}2zd{labq zC1*q~PM56lOzgE-K0gx@%v~my%O9Qz8Pd|;SGP(Yrn1xmS440{>%B!8j>KTBiG4(%G<^exLBU}b1qrxTOom>v0A%R{+ zbP3T_ZY~p(k@M{)u+346C3(|y-sNaNS8)bcVqB~Cx`JaJdZlY^<~T~RfXxUjJ72a7 z!7R`H59oHGJCzL&-6O0dvak0S{#;e)xpgP?p$=a)wF{oVR_;W*{wp?t3KiA{{t{VUuvII&1 diff --git a/src/bin/patch.exe b/src/bin/patch.exe deleted file mode 100644 index 254019601576f7034067fb312bff4e662fdb3f69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85504 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 diff --git a/src/bin/patch.sh b/src/bin/patch.sh new file mode 100644 index 00000000..b6534057 --- /dev/null +++ b/src/bin/patch.sh @@ -0,0 +1,2 @@ +#!/bin/sh +patch --fuzz 100 --ignore-whitespace --unified diff --git a/src/bin/po2c.exe b/src/bin/po2c.exe index bbe4609bf66aff4ddb41dbf903fe148c5a60a60f..d56d855fe7a1ba757e1ae2c49d7dfef2526a8de9 100644 GIT binary patch delta 9398 zcmZ`e3tSXc_cH_Hs;htkg7OxSmpc2JnVp^81r@{xuu!1*q!L|G%MxFG>QXByu50Mk z(DH$$>DTA?`B?K&=?~MySEc>UC|_7qgJ6-7qEh_Ny#rW%|Ns6tXJ+m__q@-!cZP#? zJ_qZ3Dw?C^*)>+G<5x%Zp?lFj6ctHRRFyI~eQP~ zKx5+oy_p7Rdpw{rJdxQSP*xD2Spk5~L;>=}clBcdy&DW@KYqNH1!(I~KnIclRc8R2 zGXzlgQGj-1R*MG!dMXys3A}>h9e_WV0NHv28Wjy_A(n0n1T=3LAPF z1y8_Z-(k%!V14iT0GfyIUdLmrdxH)Q27G%7IC$1YSI{W3pPyscAMNeV)2iZlJLN}F z_EoM_N^WVxV`^8XI>(i#%5|sJ+2kNXr!G%xQ)tc*8t-B+cV=CVTtS{x?!3BO`P}b# zwYMv+&Gr41Q+ci?`{8~mRB`-{Ex_C6>WxL@$VSlKdD_o$6cUCaWX>j)D^2Cfh%C=+ zbLFXB!z0VnT3wlKrp(r5D(Bhu1}9Lu^4d&!t;@TUWsN1SG_|wZ&nADTXk!DFT{(Wa zz=sT9>>5_#VOd3<{lEz4vNo!un=37=t&t^CV>+eAJdxTBq&E8hRV1UU?l8;Q6j0M` z6BvVkic^x%r~Tqa$Gh@cK!w)wv?f<(6S%O|`Eh)CUaL$)mVjRs+MADwn>uv~0Dpn{ zEje-|u!D${RWCqNK$xY|#Ip+h-%UKwHLRF8L@}|$qXB4LU_bOiK>t8{CtaG_rNTPp z%1w{ZTLB5o;m7Dqz;Nb#Ch8ez4czsJsAaM=cCCBn8v~XwR-3R|39xj!%&S(s zFsoCs+nLabAh{Hdpgy)DS5AUqCFKI_*RdBq!?qJITuz6gBLT3vGuuc%kXJsyp#`7g zj8)~xv+m<(@O2$q<-6h&$WkJpn0Ue)T1as>yZ2ad zJn(@YmLqG)j2|fH7;dk7DwVRUVOl<>Bn}xVrd@e5G>$f#yom(FPa%xKgcS;*uDW3= z2(wd>AThJmdD1UOj!=vs73-DO3_Y+sRaNX`kH_-!)VLLqZa9F@`8hy`Iqpn3$DP*( zb84Hc?z9iOr#}oe+vJKC>}71Bq63R{=>1n^fd%wN=p(SpKr2@W$6>;HC7(dqgV5fw z+kmr8mE>QZ*X(k1s8dNqfLA-rsQr}$)(t*zlgv`*$n!gCI=WGFj{Ja-Va>oq8!@rN zXVtSPjTs=gB=~$N%17w?-Dxf(*_L`4B1@K zyJ6vdZ;**j?IH7@Ls!ER=%MSwvzeRsP)>LVeG1JE4+{wS3nAVB<*jH-`0(6QzhD(` zlvO0RuG{2MWC)~PcV}Me$U>D(-u&N`VO^9Y8gAH4oeoFNx_TB}FFwNeE^*RpAb4Js#5f@0spV<)uoLcI@O|?1lcVrxl z^IdTfGLi66#^6*{ZiW(F)@@L|G zP^sYuIKUBCG0Hk!wP(BSGJ|ZR{ad?MpG`uW+`8P7jp#O+eWnRm4W3{ZVR0Y(i_}EX?CO=(D)!iKp)T zO%km48wcwLll53qq6s%s<@5oY%U5It*f*q+*a9aLe89t<*j|t8;V#fag`gd_IBZOU zyGul5r!lxU+ih43Qiws!8zNB?RE&B<5kU-serex=DYFSBHYgWU_QS?Rl{a7=@YyUF zcUJoqOzGQ2*;k=t<9fv95K2e}a@6ebRB$Gce=2r*>XH#ni;If^+g?_vyIeXB6FR#H zUo&D|*T;v_bto)8mi_>Zh#x|)K`+L~cAo+J9E1pMPl)h*6dy)2U!@^UVg!1WV4$By zY~q?8`x5cFtZa88`Xo{8@i}?gSd)lUN!i`{!&3;FoHWp9BHT?*M9Y$@di*ei9OS+k z;)zS1&h%WIltR4>kelq;F!T=16xX3rR^#`mj`*VS8?y67)S;6s&lql_M{F2ltwSN2 zBxZ9RO4lSuPq;-Q*XavyXk96A7{f*8{22CEst)zh1)~>qKIot(nOS@b)oBu#6}M0? zZ5T7)7E08zbQ_wa9mEVZpi=FKfp6c$3?W}jdXiq%Z~)4L6v16|Q#&wF$6=p%JF98P z7LehcD{s6BGGgO<7>M(g#AtJ#ggxdoVTNNG(Mhboi6-gN>G#pwI&E?-yzeP7?-2GX z76wTuTL?2E#*H_McW$iL2PMSmJ4CcN1!n0WIMX{%dgsW6H;5BJjGr5yzHK*vQCLXo(O$_!EKn8aqbrQ%iyaHSN1^crYYt*V(onoe<*aRp@)c zM2|yJ#&qWOS~SZzJYpHVZ8J~UqG#eFP?diT+Ar2I%vH4B6ie?y zM@`Su>1eQIW>oQLhBS*YeTgnhZ}ff$ultZ=Bx3J-O3eM4z>F`5A3I()$;|36P?a?> z@CYG>7aa1wJjOc-x@03dZ;hp2M9tQ??)l0*x-BK4jFcKkW53j3T0jY@;q+XTks96m ze&iEz*U+NW=jd0_wba+?duaCXk@Ru2fB1abh+;1vrPI$RGJn}e~h-L zh0+hvM`R(dQQa(93-g%6rPCUy$4$!E}-Q8N-tI!3T7 zu9${n(V16r>?>?obmvOQXZ{=t%~;ALpF?kEL_r)r%7{(LJ&PS2jB}BAw~#zTHZ`c= z_9w(s~XxYP!@fN zEcsT(`5|)Tk4ZoM0Z{^M$JG;9><7t<-{k&5e5U?urQ=C#&{Sm-vm}*y3;B)@nq9OG z3&I;6P7fk$BH@lZs#1T^iZqb)Oa~2oS|F8plFX=;%ExMcevBwa%C=Fthh>R`_!_Dh z&j+=VQOq2xK9&gl_c3&1eE;~^C*1tVilQzK{zT(Ei zp8gb76byh&|5rf>y~*=QK?2QK`k>~C{D8C`M0zn}UkvYpq=Tq{O|G2mNuBgIo%HkC z4zH@=+XV$5Czb-4JOI8Fg0G>!7sCrH>0FU&)Mtu?@e4p%Q-bL&Xyz1MlJNJ%tMKCI zNFL(F9{3VT7SHO17t;mEdulxFHAAKv=n3e#spIG@w129NW)VH@x85^Iaw%pXL|%pI zfng*Ay&GY_#BY}>IEu;9Xlh|FeFrTnjD}Z&Hw%aPZzb!zi&c<5IJ8dmO<_8!iVF0^ zK4YW@ejNx(w7N&e1l!t6VuJJK^`Kw=cvr1F&a>p%2!>M?rBJS#4?tJS+2H+>+F9r2 zbr#Msk<-cPBp9YE;B(U!c&uOnO$I2Pjy{_{m{y_t(_;aL7KOxOHtx|>JIpo#)B{`x zxB_qy;55KT)6vADjDAF5JLVe+kPMK5-Y+UDsG0$av_JS7gxTO0n02c4P*E!htF;H{ zfdUg(9EJN@016&fr+W>$ylRwJ*2xAY+xbxS(&68K-PP6}v$1Lhnm;3+fy>qzY%E>} zoS%lvWPs@aa{x*JmIAB*sGNcB&BzE))Y%UMM*+?PT%Uo~KL3XEFlz^Ag;hR&he7QLU1=wSlZ~G(B9>u&Dgr?ZX4W0{c2ki^g zu4Z|8Z;HZqt@*`t`vR5xS;tK6c)7VZx@0#D*$SE0uzet_{b5?9|1J=&9*x+=My*caZ1JCf>BeG!AkT zJXVwf+6!=LHV!f~VGepQJqBOGih^S?Bk*4~TqFQJKr%oKKqx=}fO-xNa{v+9jycZ* zSPD=v2OTb&UeG+ZE6!DL3*7#%IJd$A&TJFY;$-l+v-Yd2hkOS|DLVEM<*xc9-o0^l^Z7F90_ zr%OGz7OkY2*Bl=ElC@q;P?M*1X}DLI_sc2NH;YrK-vCmVq)>|iN&(&n$nfY&mvyJr zo&zhZ1~C^t@;vn~2g8UTdanHY1kJpB3~ksaFe%5-XZvE9#G{^;eH*;!)2Q4tm`+9q zJSnsu-SgOKy=T&)t8`-Hf%f)-0(aSD$kp*S_i=oc&m3%TPbqM=N(&Q|8Jp}mh$bCQ z)@}rHcUd81{CN1(*7aaN#Dl5wN*HKAEWHfdKcRu0`~W(3cnA}B&?6td=cRbb^V0`g z)Xb|pJZox32Qa0#JYQWidJi3aErr?y@H0TjbtqqeMu4arDb#F$F#w+f90Mr3;jz?3 z(#(n1P~q)?%#PPQ%WjYC88mhosBM!kmVrr7Ur@2|#bl}HtHx69$i!&+z22yrL0%t^ ztEueH(s|uXuQQ zLirr=A3^(idEG5e@f=`!dsnh!=#gsZv*b5!*8GynS2F3q$^*G{|H{2%=tBCb%HCt? zL3C!NW-L8ec?$QLH67?PE0>L>XI7Ssp_41C$I%s)@>qJWSNg0um8F?<(2=4{TGtJE zn7Sj2pP~;jeQv%4>CgdR6dn=t={KSS6V8I-e}^OAFQy{~JLZ54tL{172Hjh_w{>&% z3-zb;t@_pcI)1p2E{qYfgk0fkVW07aF;-kB#+odq5hj~yrfH68r|FLAXH%Q0pA;;W zN!z4%r2SHjbWx(sBh91D`R2Lim&^&4C6*1A<<{S=R3t^gCkQH$)v;4FCHkZK6^0Xr zUd6f=!q$sEun)JIo)OzcPPkzGt3hnQd`eS}oqz zP-~ubl68^w6DwtNQ25_+)GOjh=`mKXkfPM^1!*H&#qMJFv4`01ntqxAnnVq&;Weq6 ziJE6MGd1%yi#2OC8#G5WtvWw_e|>~LMjx+F*5~Q}q2H+AqOa2L)bG*n)$i9I0y`Ol z%Ahv*83GJ18_En-hTVp}hW&;^hRcS>h9M44&k3BwrEnv;3~n4}}`%Rk2NnduQ0DNuQ6AcH<%rp%v;P=<~!zQbBnpv z+-B}+9d3QvI@9`&^@f$2M^R_NDZcC=mS-2UJvE~=<25TZ|Ir-M)M$dVq1vh1Iojpg za_wR5N$vk=8?+C!ziVlok4~-g(*@}U=puD7x&)n0XVk6Ky`kHp`?v0t&ReemFTJI| zrTt&dId+g{hz4o)YNl!{wN+ZjzqF^cwOTJ-Z_qYMcU||LEg5czpVd3 zA7BVKSPf4bUNmenyleQ%aKq4O@a7EM2yPm;lzWw13rc><{lfjh_2dWgk-U{3#~1L= z@pJhFyp!L-pWv_Z_xUVgx=<;!3o*vU#+AmK#(Lu&W3w^HAx;oiif-|YcvoC++HBeb z(Y$QBVY&;^d~Bkncu6lw(n#rPX|}XTS_XyoI+WUOsam=z1)2w%El_OJ%thuo<|XD* zi0WF1>2~vO^8;KR6%eBtzb8@Z?TR&>?iC6_9}ag zt!Eq9hip4LLerqRs=KXg(6#9peK2HqtbUl@pcnNidYisLKOcOvTEA7_uHPo?6;27~ zgwKQ2!XJX4G1Qo7WQ_)+$(Uh$)@TQ7R~gqDtBiY$HO9eWHYk5sIw^fBU6;O< z?nwy_v(9WXr$WQXHBU0%Hvb5f+G-B446wvl5-lSwV=TFrXDpj7?^=AUk=7m7-PUSs zSrtVcg3BUy1&i1gcC_YA%_iMDx;^?3L#ZJiI?7|NjaLg{LabnbHg;S%Bit5Rghzsx zv8PdI%rZ_jE;U{>Mu?7N@on)x;vq58#F|9Yant9fzEXr_l+vYaX_B;6dS5y%)k+AQ zdcb_deBOM`ESn#j`&gnZddn!wM9Xx`3(!{9S+-erTHdo9wp_H-S$?)eSvA%YYbm7R zHtSyNG3yEIX)Cp#qE3U-5o{d$JnLcK(CpLHJ2XuiA8lW4wDuY80qtom110l}?!2yE zcUSklzD4h2NH!P^qYSx*BEuTPTabLe7<{>b91p$XS#B1$h+Dy}<2G}md4V;fnArxING~&?p(xL2y1eexcE2TxZ;B+-clryzGFD zrU$)NEND1X}NF0*7FJbEjtggI-7fr`+}>5U9z6L z!!>jFxi*gBReT>lfFA%2Cyr0%wYue=2u40XnXlZkn@-I8o^OS1e6;W%;ezm` z@K57!;OBv2yr>h6;xh4oIL)-kwA}QS>9*-7*gN(}2PM|bo2Qsd%qok&Ww<5ZQfMi% nEQc+8m*tM-KGdMv+V{xVJ@oPJJ>Z07g;yDBM5X_JI_iG`xtbMx delta 9270 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 delta 10966 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 V)*wws^WJn@XP_P73$H;*{|8%PC-49O diff --git a/src/bin/rm.exe b/src/bin/rm.exe deleted file mode 100644 index 04e1d48b199cc99ba8217ccc88448c0246fe9687..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65024 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 diff --git a/src/bin/sed.exe b/src/bin/sed.exe deleted file mode 100644 index cd61f5df4a8efd4681c4c7898c7d714efc63af11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92160 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 diff --git a/src/bin/tee.exe b/src/bin/tee.exe deleted file mode 100644 index 9132e8035719ce2e9bc140dff0e4f0ab5efb35c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24064 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 UctAN(W9~5Gg#150V^ZM%0Ga{&PXGV_ diff --git a/src/bin/test.exe b/src/bin/test.exe deleted file mode 100644 index de6d477ed465e53034e4159fbbfcaa6cd7794d09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33792 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 !!soBYO_!xMuhEz160i2+ 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 diff --git a/src/bin/txt2chs.exe b/src/bin/txt2chs.exe index 1135f50833e07a3305341b73a5e6065fae81aa6e..9e0cfd2b3a3cb8afe0d7a85daddf02b177377ad7 100644 GIT binary patch delta 3461 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 delta 3495 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 W8^e$@7``5D-+y75Z?+qTlKurM(#r1u diff --git a/src/bin/ucp.exe b/src/bin/ucp.exe index 8adc8033702c3c3965c6e94e2d408595775ff4fe..91adeb145a269747768f05975b861ef359556edb 100644 GIT binary patch delta 44 zcmdmZfOF#k&Iu2g=N>uI_;~AMM#cTiQw|>4&VGQAaRDcgWzWLEz~DSxFo8({0O?^8 AcmMzZ delta 44 zcmdmZfOF#k&Iu2gJG)&PA8&oksJNfGztv?s`vFGA1)M;ZJre^1gZp&B1SSOlv}q74 diff --git a/src/chset/CHSET00.WIN b/src/chset/CHSET00.WIN index fdc89ad27198bc152a2adfcb915802283a611373..e3a6f3a4cd21d46aba4c0ec204e0d8e77c4b27f9 100644 GIT binary patch delta 18 acmZqRYvP;mi;;KZuf?p4yp!j$B?ACK=LWF= delta 14 WcmZqTYv7ykYvb?5tdr-nB?AC4%m$bM diff --git a/src/chset/CHSET01.WIN b/src/chset/CHSET01.WIN index 10a1788e9f5949a61a6fe0c2354b2690210f2be0..b03151c5ef10f80fc4398be5bfe0be5f7f0c3115 100644 GIT binary patch delta 24 ecmZn=ZWf;KgOPXR4>k@)-pT(sB!HwCXBGfw2?t;R delta 17 YcmZn`ZV;aEW8+UYj!B#nlO;K`06zEzJOBUy diff --git a/src/chset/CHSET02.WIN b/src/chset/CHSET02.WIN index 32f3758bd6c51ed79c5bf9970a42164c76b10365..c729985b06a6b49485af7b65cac91ae592932b9f 100644 GIT binary patch delta 506 zcmZWmF-QY36usQhG>!d=h?1jKECmsSa*I$!TwGl0u2Z{o5kYV%2&bc?5*+N}A`YDt zN0)<)PD1C>&DpI~==pNJ1B);4LjHgM{Rg=&_sX|jMz7r!#z?=gRZg-mHc5Z7bt3sh z_MDJ>B>lq;tW>?;>8M$ZY$r6v12``hl?sAp6Snb)^n2dNd_P|+ zSyhZ`6iuu$g)t#iCE-u|wrV}BO9u2C!n(A@7Whu=fA PDaVN&TuW8b_jLLTrAC}U delta 499 zcmZ1_(;zcp*2dXlj7nUb@|-4|o}6)hD6aXFnV38#dovkKu3_?>e2PhK^Gl{xOp~XuE}Lx4mdM4G$aeVf;WQfw z*2yc_EakZv4gdj|;85g#U;qR%AmRZdGeh+~*2zrl^^#nPqIEz$=%DV$n;P+4Xm zU}NLqk&rMjNJs!0`Txh{3+$4UU$N^M0rmd}iX1rb52OkT4j-=j0hHjAfG7t_!p#R7 z?8^Z&7%GZz08qA(LwoXC4y(y8IQ&Am5(N=*5XE)BfPxYd78Vs15(oei1gZpD4|FHg z*8d1WW@bCE%Yg3sHMyTt4P-E?t3fhAL70nS?gb0}2kC|QA7UfaV6cN=?gJXk$ECd4 Zh^vm7my1C{f`Q>b1CSC{p1hwo8vu3o#<&0g diff --git a/src/chset/CHSET03.WIN b/src/chset/CHSET03.WIN index 7b23df146d1dd749c237f7eedb26e55c2ee90e87..8b527c9e2942ba9a639b62ee50c42edfb814f9ed 100644 GIT binary patch delta 12 TcmZqRZRDNsjgfcbw=Pxy9$EzE delta 10 RcmZqVZQz~oZR7VYRsa~(1la%p diff --git a/src/chset/CHSET04.WIN b/src/chset/CHSET04.WIN index 02dc4652cadeb81b41b240d26e2b34721bb7b543..048794da2f5fde3cd81a1e899c34a34b374bb82a 100644 GIT binary patch delta 19 acmZpWZIYd^o{@Ls`V>Y+-p#^HxjXB# diff --git a/src/chset/CHSET05.WIN b/src/chset/CHSET05.WIN index 2537856fd22e84fc6d9d9296a14b2b40ae9f3caa..a8373ae1fa5bd51b4323a7b8ed8f125c345a68d5 100644 GIT binary patch delta 34 ocmZpWZk67^%f!e#nU~3%nU{-qawL;AkT-=%gOPXh9;PE)0D^f3@&Et; delta 26 icmZpbZjj!<%QTsf$(xaDatxF85(RkB zz<(scKYyT-Y(POyIFALW<{{?+2>9~{$V=knVL*oe5Bxs>)RV*sVjxTKFn~1+fc1(U zIPm8W)EJOzCXnj?ypvVgRRlm5LM{LEhlP!Ib2$4PMp2NcgaiY_e+C8#2}b4z3myn5 Q^G;^t^kw9o9L%{E0E7fb<^TWy delta 214 zcmbOz(jc-yoN2QJ(^Tfk>sZAnA7i~%&y^^^g9iR1#Qyw&%CT`Ja>6+*|G6G=9)N&9 zfBthNaq=)A!~X~VA7BHDf@oxM9tMz30k}>egBQdBs$~MH{Xf}|U4;*56V%c_e^}Ty kr?Sss6b6b(NH8$`XJC+!U}S!<;DM0xWHC?c*%e0w~shA4@7oY<( diff --git a/src/chset/CHSET08.WIN b/src/chset/CHSET08.WIN index 0801f29e917e763ae66ea28730d967881d154871..e4980dc05b19b23ed6ddf4e331d498f6a7dd5528 100644 GIT binary patch delta 34 ocmZn=Z57=h&cw(&S)9p{nU{-qawL;AkT-=%gOPXh9;PGg0D>$B?EnA( delta 26 icmZn_Z4lic&NNwq$&rz3atxF8~@ve9)J`{p<7V$1+7$pvKq diff --git a/src/chset/CVS/Entries b/src/chset/CVS/Entries new file mode 100644 index 00000000..04acccc5 --- /dev/null +++ b/src/chset/CVS/Entries @@ -0,0 +1,53 @@ +/CHSET00.WIN/1.1.1.1/Mon Nov 17 19:05:50 2003// +/CHSET01.WIN/1.1.1.1/Mon Nov 17 19:05:50 2003// +/CHSET02.WIN/1.1.1.1/Mon Nov 17 19:05:50 2003// +/CHSET03.WIN/1.1.1.1/Mon Nov 17 19:05:50 2003// +/CHSET04.WIN/1.1.1.1/Mon Nov 17 19:05:50 2003// +/CHSET05.WIN/1.1.1.1/Mon Nov 17 19:05:50 2003// +/CHSET06.WIN/1.1.1.1/Mon Nov 17 19:05:50 2003// +/CHSET07.WIN/1.1.1.1/Mon Nov 17 19:05:50 2003// +/CHSET08.WIN/1.1.1.1/Mon Nov 17 19:05:50 2003// +/CHSET09.WIN/1.1.1.1/Mon Nov 17 19:05:50 2003// +/CLRSCRN.BIN/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/CUTPULL.BIN/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/HEADER0/1.1.1.1/Mon Nov 17 19:05:52 2003// +/HEADER1/1.1.1.1/Mon Nov 17 19:05:52 2003// +/HEADER2/1.1.1.1/Mon Nov 17 19:05:52 2003// +/HEADER3/1.1.1.1/Mon Nov 17 19:05:52 2003// +/HEADER4/1.1.1.1/Mon Nov 17 19:05:52 2003// +/HEADER5/1.1.1.1/Mon Nov 17 19:05:52 2003// +/HEADER6/1.1.1.1/Mon Nov 17 19:05:52 2003// +/HEADER7/1.1.1.1/Mon Nov 17 19:05:52 2003// +/HEADER8/1.1.1.1/Mon Nov 17 19:05:52 2003// +/HEADER9/1.1.1.1/Mon Nov 17 19:05:52 2003// +/HYLAB.TXT/1.1.1.1/Mon Nov 17 19:05:52 2003// +/HYLAB0-0.TXT/1.1.1.1/Mon Nov 17 19:05:52 2003// +/HYLAB0-1.TXT/1.1.1.1/Mon Nov 17 19:05:52 2003// +/HYLAB1-0.TXT/1.1.1.1/Mon Nov 17 19:05:52 2003// +/HYLAB1-1.TXT/1.1.1.1/Mon Nov 17 19:05:52 2003// +/HYLAB2.TXT/1.1.1.1/Mon Nov 17 19:05:52 2003// +/NED.TXT/1.1.1.1/Mon Nov 17 19:05:52 2003// +/PRINTER.BIN/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/TRI08.CHR/1.1.1.1/Mon Nov 17 19:05:52 2003// +/TRI10.CHR/1.1.1.1/Mon Nov 17 19:05:52 2003// +/TRI16.CHR/1.1.1.1/Mon Nov 17 19:05:52 2003// +/chset.sh/1.1.1.1/Mon Nov 17 19:05:50 2003// +/chset0/1.1.1.1/Mon Nov 17 19:05:50 2003// +/chset1/1.1.1.1/Mon Nov 17 19:05:50 2003// +/chset2/1.1.1.1/Mon Nov 17 19:05:50 2003// +/chset3/1.1.1.1/Mon Nov 17 19:05:50 2003// +/chset4/1.1.1.1/Mon Nov 17 19:05:50 2003// +/chset5/1.1.1.1/Mon Nov 17 19:05:50 2003// +/chset6/1.1.1.1/Mon Nov 17 19:05:50 2003// +/chset7/1.1.1.1/Mon Nov 17 19:05:50 2003// +/chset8/1.1.1.1/Mon Nov 17 19:05:52 2003// +/chset9/1.1.1.1/Mon Nov 17 19:05:52 2003// +/clrscrn.dbg/1.1.1.1/Mon Nov 17 19:05:52 2003// +/cognitiv.bat/1.1.1.1/Mon Nov 17 19:05:52 2003// +/cutpull.dbg/1.1.1.1/Mon Nov 17 19:05:52 2003// +/headers.bat/1.1.1.1/Mon Nov 17 19:05:52 2003// +/headers.dbg/1.1.1.1/Mon Nov 17 19:05:52 2003// +/n.bat/1.1.1.1/Mon Nov 17 19:05:52 2003// +/printer.bat/1.1.1.1/Mon Nov 17 19:05:52 2003// +/printer.dbg/1.1.1.1/Mon Nov 17 19:05:52 2003// +D/demos//// diff --git a/src/chset/CVS/Repository b/src/chset/CVS/Repository new file mode 100644 index 00000000..f878cf37 --- /dev/null +++ b/src/chset/CVS/Repository @@ -0,0 +1 @@ +uzi/src/chset diff --git a/src/chset/CVS/Root b/src/chset/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/chset/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/chset/HEADER5 b/src/chset/HEADER5 index f07f58c0..5d3764dd 100644 --- a/src/chset/HEADER5 +++ b/src/chset/HEADER5 @@ -1,2 +1,2 @@ Downloading character set 5 -.5€ \ No newline at end of file +.5€ \ No newline at end of file diff --git a/src/chset/HEADER6 b/src/chset/HEADER6 index e1cec09794f1d95e0b40fc9e30ccef50ae6050cd..0d9571fa43ebb9dbc5482c80504d984d0018af5c 100644 GIT binary patch delta 7 OcmY#Vo}kFY%LM=hMF9{1 delta 6 NcmY#ZnxM$Y1povw0RjL3 diff --git a/src/chset/HEADER8 b/src/chset/HEADER8 index 030e11de..ea9509e2 100644 --- a/src/chset/HEADER8 +++ b/src/chset/HEADER8 @@ -1,2 +1,2 @@ Downloading character set 5 -.5€ +.5€ diff --git a/src/chset/TRI08.CHR b/src/chset/TRI08.CHR index 77eea29ad9c4e2c58ea35770f34619ee376a3af0..d29db5f0975df005801148721502bf77d46da65c 100644 GIT binary patch delta 761 zcmY+CKWGzS7{=er{r_^Wxg)*1{P8eLZDTDpK}1W%8#-hW8i{Cei6ufo9J{!N8~-Rm*ImzRkp_dxJWs7NA>dC1l~;HCQxAGlH(+yi_zLd~R^EsFi6FfX%WtM#{8aLsdw{$UCe`$Yk-AMR-cd zIOZP+WaZs`2pIG3WY&yHRoQD|&ZUfPUCVM(&@Ww8Yn(jNR}ss-$e564 zpEn;U-1}^vcd9IEOJC|8ygJ?5S?VaYIH08?hkE$X;bdlP+hsAkP`^YW;aPwy$@$~v zpxNQxIlr$We7Y#Xt`sHMpG67waY=&RDa9ogTe?X^Ib&Dn0;P`qOUFUUfvsEtz(t@g zq-kK>G@RZ2G*oT_b-R2S{x{`q2@TV3whRHgYu6#xDfR4mP=oM!5gkDpvaFQ@W!{6L zlspz)fQ=Pmk$nM-ZAwk&BLtjoehWgT=ld+o^)&U=2w-C(%N`$!q<>VNZ7!-}jjPUJ zFPz+p?hoMpjwS)O7ajX%_$;a|%8UgyYKAmaAY>g+G)z1_QB?3>jZikjCe<+|`Ge@E usXCVUJM{#awZ!v-)58yk?`gze%>H+4qdCMP=KIM#th6)zUf%cG%*H>3*qHDD delta 680 zcmY+BKWG#|6vp4&?#}MMolSPxyPLZl7q5x=!};eH4H6U=40vTuE|{3+5*9fSOBW{g`nd|za%&`aYk!zAM4 zjJoE%7h;9~C} zmFzaBjmkWIuk0#v%H}y0%wnD$qPq#HZ_lEywBRlxLJlnJ)sBczCmB> f)v5oe4}jv#kuT^c`gG~+i9bnr@-3tNQ(J!l>{*s6 diff --git a/src/chset/TRI10.CHR b/src/chset/TRI10.CHR index b8b90682b05f7b1d9defc08294d4c36ea8a1efb6..7560e6355bfd96f5bcc0fe8aa14363e495560681 100644 GIT binary patch delta 279 zcmaEo)0sQr3nTBwFE&h!yps)>Q-I_Y=EV-YTml*ltbC#oFh)6yF^QK;(1U@MM|2&G zah#Wn52%<|`Ytb*m;nQuh}2)+$@wg4T)bSxJUj{vtem`)@3OpPj=qVPPP(QQ8`0`y1I*AQ>n($&;5$ih+TFUqYIfOSXZ5K}6aMXgg3ulrIOy z=!7v=0G%Ph@L!Y%=nM$s0nj}O{}`lszwu61md^z`gL4fJj{_3}@8%iuJD9)@2voYv b1GHI1zZ>X|$?FZ)0m)dyDL|o*hQ%xZUI9BU delta 230 zcmeCoeUdZb%f_!ZOp}e6QzlPmUTnc7puxb(CmI2z%c1lnE#LP+WC!>!RS)LON7& zbE%t9*NS_mE;@*~>MV|;H^naRoOjOUT<&T5(xWfkS3?r|)zEMWndyL>woAyg50KHQ zBjcp#<}tEF8I*XYLo@rN7+taeWG?#1azt|C8U4NR!xS>BxSOy5VwTrTSRKmFN7fj! zth=e%8huY9HF^h;Mv`XTE!`3jkjoMA>(K_euhH5ZGU4{Q)sl!5-*^y3$`>~rP=%ck zC`g!aSBOvmx|;$uK>t84F9dp9lv<#c_^rs-$j^FRA&x*z+Mi<~W&AtaMv%$vDpgX;D(+*ac-rblCO5Ug)V}FxYof*97S)m)5G&}&dWKETyRxs_0P}Xx)$M`AS2CL_I)2me42egX zHh;-PV#?n(Z3=={3Hfn0;vd;|h}0hwyC)&7yb`f4{F7K^P^qU=jY>G@ZwLZvev@hj z@H08AiLg(rJy5IUmX_LpPB5ah1L~spKJ&cwpYK{p8S$>IQXTkIb{u5E1@lBR3+`r| zFcN}V@V{75oE9jJ_*_}Sc(~Bd*U&KF$I{l4=Yg49s0$Wzr^u4ryhIWKP;!HALiY*j bpMUd{<+r$ACh55259K(!+A!kQ`l0d*#0^br diff --git a/src/chset/chset0 b/src/chset/chset0 index ab9efe1752db2bb22816677d8aa02a1b05bec6f8..24b7d668f911a1337ef4bc4358cfffaca89663a8 100644 GIT binary patch delta 20 ccmZ3)w}fwl3?n1&W*NrCtc<*q_p>Df06OCZe*gdg delta 16 YcmZ3&w}@|p4C7{5#>K3Y53(f#04`MpW&i*H diff --git a/src/chset/chset1 b/src/chset/chset1 index 088139adb2577e4cd23f48a0e1c149672659152b..2f6e4b2c12571e1a012ec1d9d2e0c7e9ee2e6b54 100644 GIT binary patch delta 26 gcmZ1^yi|CD6eA<=W+_HC4o2R|3Y-!^(tQlas_G)3AI-W~3_=iHO`u2Rpbv$~3R^|(5X9428I@~{oZ zP=Q-;;SE~w3zw|U;>cgwEb?+8UM}jRRm>x=qWrdyU!a{1t*dD7giNaEp^Yizil{WK zoYklZ6%<7X;n9I`Nh=neFy3pm5RKNt*HjC7DT2JDyRN&N6JfNU^py-bI0V12%uv%L zq-1HTnsV?#Q&Hn^oMbVJbc3*d(7rK}JzgW|dL$x*Y0`ej@rZvnlC=EWSoEhn>N-wG zP6lvY>9WeYE}ra459!ha@%v1=oUl0q`4>(cE!ied*e@(i-4@$SP{OgngjSn=8e$6p z*EJSFvi5&h)7Jbfl!O$gFykxwllmO(7!LHE;3}lz6JmY)dpRTrJgefvJh!wF`B*|x NJo!w~EZUE__XiM}w6OpH delta 487 zcmX>jvq)ybo{f9O7?rp<fzQ;OQg}q*qD^au#s0SU?{g}Lu zUD605%M1i;Y&<*?5(Wkd2|y$N|3F9p{O6)m1Cjs$ delta 12 TcmZ3?yNGv#1mk8O>8Z`rj diff --git a/src/chset/chset4 b/src/chset/chset4 index a027682141f2a6684d556dd9b201d582ba5ecabd..5fc09bde4868f8e6e2873eb5843ee20ed519f4d6 100644 GIT binary patch delta 19 bcmZ1^yF_-vMMmC@7gHD+c{iIfOJ`*GFWPK)YW?nAd$<<8OK;AYc4MyJ0_n3}w0RWam2;cw! delta 26 icmZ23y-0e4KGS3aCT~Wr$#qQDlXo#`Y<|pigbM(0hzO?u diff --git a/src/chset/chset6 b/src/chset/chset6 index 6155803420ecca6eefc776126b5b4101f581498b..1ec1f7e0eab4cb897c80fca5a31fcdb7bb1575c6 100644 GIT binary patch delta 222 zcmZ1^vPEQqA|vlcMF}QG-p!UwQ<)igC!b>#2a-=&uX*rtB?|DMf&WN?fBrxv*?@wa za2^X#%|p%u5b)>Ef8NRe*u>0vxso{lANYTOhXEOa)e6AXLK#5wl9)h>fqLE9RRloB vL#_JrhlP!Ib0zy6Mp2NcgaiY_e+C8#2}b4z3myn5^G?>_^aVPn_b{Q1w7#L2^e4F4bae}HYW9J{y-*FyogIw*sUD~SoD;Q!ib+T?F#Km=kdR5o9{6lVFv)XA_<%T delta 29 lcmZ1>x=3__;zlJ2rpeY!j*MKB>zS-4?`G22{DkQUI{=3i30eRE diff --git a/src/chset/chset9 b/src/chset/chset9 index b43bb1c89aaa47baee28ac19cbaee488f7187d0f..04cf0429fe84d934a47d464e4efb20072c0fa618 100644 GIT binary patch delta 19 acmZ1^wnS_~8YAz7rKPeSh%#^l_M*L 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 W00NL=na>2B+7&Sy@uB{0`u_t4TL@eL diff --git a/src/chset/hylab0.tmp b/src/chset/hylab0.tmp deleted file mode 100644 index 8cff0b01..00000000 --- a/src/chset/hylab0.tmp +++ /dev/null @@ -1,14 +0,0 @@ -! 0 0 0 0 -GRAPHIC STORE PCX 3 HYPCX0 -!S% 3 E400 HYFMT0 -GRAPHIC RECALL HYPCX0 620 50 -JUSTIFY CENTRE -TEXT 2 712 5 DEMOLAND -% -JUSTIFY CENTRE -TEXT 3 712 260 % -TEXT 1 712 320 % -TEXT 2 712 345 % -VARIABLE DARKNESS 20 -NOINDEX -END diff --git a/src/chset/hylab1.tmp b/src/chset/hylab1.tmp deleted file mode 100644 index a497aece..00000000 --- a/src/chset/hylab1.tmp +++ /dev/null @@ -1,15 +0,0 @@ -! 0 0 0 0 -GRAPHIC STORE PCX 3 HYPCX1 -!S% 3 E270 HYFMT1 -GRAPHIC RECALL HYPCX1 299 0 -JUSTIFY CENTRE -TEXT 2 725 5 NEDERLAND -TEXT 2 725 180 CENT -% -JUSTIFY CENTRE -TEXT 3 725 105 % -TEXT 1 725 230 % -TEXT 2 450 155 % -VARIABLE DARKNESS -20 -NOINDEX -END diff --git a/src/chset/hylab2.tmp b/src/chset/hylab2.tmp deleted file mode 100644 index 78142bb2..00000000 --- a/src/chset/hylab2.tmp +++ /dev/null @@ -1,19 +0,0 @@ -!S% 3 E150 HYFMT2 -TEXT 3 (-21,180,1,1) 649 90 N -TEXT 3 (-21,180,1,1) 619 90 e -TEXT 3 (-21,180,1,1) 594 90 d -TEXT 3 (-21,180,1,1) 571 90 e -TEXT 3 (-21,180,1,1) 548 90 r -TEXT 3 (-21,180,1,1) 533 90 l -TEXT 3 (-21,180,1,1) 524 90 a -TEXT 3 (-21,180,1,1) 500 90 n -TEXT 3 (-21,180,1,1) 476 90 d -% -JUSTIFY RIGHT -TEXT 3 (0,180,1,1) 453 30 % -JUSTIFY LEFT -TEXT 1 (0,180,1,1) 827 32 % -TEXT 1 (0,180,1,1) 827 3 % -VARIABLE DARKNESS 20 -NOINDEX -END diff --git a/src/db/CVS/Entries b/src/db/CVS/Entries new file mode 100644 index 00000000..7524a2f3 --- /dev/null +++ b/src/db/CVS/Entries @@ -0,0 +1,21 @@ +/db.c/1.1.1.1/Mon Nov 17 19:05:52 2003// +/db.h/1.1.1.1/Mon Nov 17 19:05:52 2003// +/db.i86/1.1.1.1/Mon Nov 17 19:05:52 2003// +/db.lnk/1.1.1.1/Mon Nov 17 19:05:52 2003// +/db.map/1.1.1.1/Mon Nov 17 19:05:52 2003// +/db.s01/1.1.1.1/Mon Nov 17 19:05:52 2003// +/logistic.DAT/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/logistic.TBL/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/main.c/1.1.1.1/Mon Nov 17 19:05:52 2003// +/main.i86/1.1.1.1/Mon Nov 17 19:05:52 2003// +/main.s01/1.1.1.1/Mon Nov 17 19:05:52 2003// +/n.bat/1.1.1.1/Mon Nov 17 19:05:52 2003// +/product.DAT/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/product.TBL/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/stock.DAT/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/stock.TBL/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/test.DAT/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/test.TBL/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/trans.DAT/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/trans.TBL/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +D diff --git a/src/db/CVS/Repository b/src/db/CVS/Repository new file mode 100644 index 00000000..993c4ce2 --- /dev/null +++ b/src/db/CVS/Repository @@ -0,0 +1 @@ +uzi/src/db diff --git a/src/db/CVS/Root b/src/db/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/db/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/db/db.lst b/src/db/db.lst deleted file mode 100644 index 72cb74c7..00000000 --- a/src/db/db.lst +++ /dev/null @@ -1,6551 +0,0 @@ - 1 NAME db(17) - 2 RSEG CODE(0) - 3 RSEG CSTR(0) - 4 EXTERN __fopen - 5 EXTERN atoi - 6 EXTERN atol - 7 PUBLIC dbDeleteExpression - 8 PUBLIC dbDeleteList - 9 PUBLIC dbDeleteRow - 10 PUBLIC dbEvaluateExpression - 11 PUBLIC dbExecuteDelete - 12 PUBLIC dbExecuteInsert - 13 PUBLIC dbExecuteQuery - 14 PUBLIC dbExecuteStatement - 15 PUBLIC dbExecuteUpdate - 16 PUBLIC dbFieldOffset - 17 PUBLIC dbFieldSearch - 18 PUBLIC dbGetInt - 19 PUBLIC dbGetLong - 20 PUBLIC dbGetString - 21 PUBLIC dbListIndex - 22 PUBLIC dbListSize - 23 PUBLIC dbNewExpression - 24 PUBLIC dbNewRow - 25 PUBLIC dbNextRow - 26 PUBLIC dbOperatorPrecedence - 27 PUBLIC dbParseDelete - 28 PUBLIC dbParseExpression - 29 PUBLIC dbParseInsert - 30 PUBLIC dbParseList - 31 PUBLIC dbParseSelect - 32 PUBLIC dbParseStatement - 33 PUBLIC dbParseUpdate - 34 PUBLIC dbRecordSize - 35 PUBLIC dbReplaceChar - 36 PUBLIC dbResultSetClose - 37 PUBLIC dbSkipLiteral - 38 PUBLIC dbStatementClose - 39 PUBLIC dbTableClose - 40 PUBLIC dbTableOpen - 41 PUBLIC dbTrimString - 42 EXTERN fclose - 43 EXTERN fread - 44 EXTERN free - 45 EXTERN fseek - 46 EXTERN fwrite - 47 EXTERN itoa - 48 EXTERN ltoa - 49 EXTERN malloc - 50 EXTERN memcpy - 51 EXTERN strcat - 52 EXTERN strcmp - 53 EXTERN strcpy - 54 EXTERN strlen - 55 EXTERN strncmp - 56 EXTERN ?CL64180B_4_06_L00 - 57 EXTERN ?L_MUL_L03 - 58 EXTERN ?SL_DIV_L03 - 59 EXTERN ?L_AND_L03 - 60 EXTERN ?L_OR_L03 - 61 EXTERN ?SL_CMP_L03 - 62 EXTERN ?C_V_SWITCH_L06 - 63 EXTERN ?BANK_CALL_DIRECT_L08 - 64 EXTERN ?BANK_FAST_LEAVE_L08 - 65 RSEG CODE - 00000000 66 dbDeleteList: - 00000000 DD E5 67 PUSH IX - 00000002 D5 68 PUSH DE - 00000003 DD E1 69 POP IX - 00000005 7B 70 LD A,E - 00000006 B2 71 OR D - 00000007 28 27 72 JR Z,?0001 - 00000009 73 ?0000: - 00000009 DD 7E 04 74 LD A,(IX+4) - 0000000C DD B6 05 75 OR (IX+5) - 0000000F 28 03 76 JR Z,?0003 - 00000011 77 ?0002: - 00000011 CD 35 00 78 CALL LWRD ?0638 - 00000014 79 ?0003: - 00000014 DD 7E 02 80 LD A,(IX+2) - 00000017 DD B6 03 81 OR (IX+3) - 0000001A 28 0E 82 JR Z,?0005 - 0000001C 83 ?0004: - 0000001C DD 5E 02 84 LD E,(IX+2) - 0000001F DD 56 03 85 LD D,(IX+3) - 00000022 3E 00 86 LD A,BYTE3 dbDeleteList - 00000024 21 00 00 87 LD HL,LWRD dbDeleteList - 00000027 CD 00 00 88 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000002A 89 ?0005: - 0000002A DD E5 90 PUSH IX - 0000002C D1 91 POP DE - 0000002D CD 3B 00 92 CALL LWRD ?0639 - 00000030 93 ?0001: - 00000030 DD E1 94 POP IX - 00000032 C3 00 00 95 JP LWRD ?BANK_FAST_LEAVE_L08 - 00000035 96 ?0638: - 00000035 DD 5E 04 97 LD E,(IX+4) - 00000038 DD 56 05 98 LD D,(IX+5) - 0000003B 99 ?0639: - 0000003B 3E 00 100 LD A,BYTE3 free - 0000003D 21 00 00 101 LD HL,LWRD free - 00000040 C3 00 00 102 JP LWRD ?BANK_CALL_DIRECT_L08 - 00000043 103 dbListIndex: - 00000043 C5 104 PUSH BC - 00000044 FD E5 105 PUSH IY - 00000046 DD E5 106 PUSH IX - 00000048 D5 107 PUSH DE - 00000049 6B 108 LD L,E - 0000004A 62 109 LD H,D - 0000004B E5 110 PUSH HL - 0000004C DD E1 111 POP IX - 0000004E FD 21 00 00 112 LD IY,0 - 00000052 113 ?0007: - 00000052 DD 7E 00 114 LD A,(IX+0) - 00000055 DD B6 01 115 OR (IX+1) - 00000058 28 0D 116 JR Z,?0006 - 0000005A 117 ?0008: - 0000005A DD 6E 00 118 LD L,(IX+0) - 0000005D DD 66 01 119 LD H,(IX+1) - 00000060 E5 120 PUSH HL - 00000061 DD E1 121 POP IX - 00000063 FD 23 122 INC IY - 00000065 18 EB 123 JR ?0007 - 00000067 124 ?0006: - 00000067 FD E5 125 PUSH IY - 00000069 E1 126 POP HL - 0000006A F1 127 POP AF - 0000006B 128 ?0614: - 0000006B DD E1 129 POP IX - 0000006D FD E1 130 POP IY - 0000006F C1 131 POP BC - 00000070 C3 00 00 132 JP LWRD ?BANK_FAST_LEAVE_L08 - 00000073 133 dbListSize: - 00000073 C5 134 PUSH BC - 00000074 FD E5 135 PUSH IY - 00000076 DD E5 136 PUSH IX - 00000078 D5 137 PUSH DE - 00000079 6B 138 LD L,E - 0000007A 62 139 LD H,D - 0000007B E5 140 PUSH HL - 0000007C DD E1 141 POP IX - 0000007E EB 142 EX DE,HL - 0000007F 3E 43 143 LD A,BYTE3 dbListIndex - 00000081 21 43 00 144 LD HL,LWRD dbListIndex - 00000084 CD 00 00 145 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000087 23 146 INC HL - 00000088 E5 147 PUSH HL - 00000089 FD E1 148 POP IY - 0000008B 149 ?0010: - 0000008B DD 7E 02 150 LD A,(IX+2) - 0000008E DD B6 03 151 OR (IX+3) - 00000091 28 0D 152 JR Z,?0009 - 00000093 153 ?0011: - 00000093 DD 6E 02 154 LD L,(IX+2) - 00000096 DD 66 03 155 LD H,(IX+3) - 00000099 E5 156 PUSH HL - 0000009A DD E1 157 POP IX - 0000009C FD 23 158 INC IY - 0000009E 18 EB 159 JR ?0010 - 000000A0 160 ?0009: - 000000A0 C3 67 00 161 JP LWRD ?0006 - 000000A3 162 dbSkipLiteral: - 000000A3 FD E5 163 PUSH IY - 000000A5 DD E5 164 PUSH IX - 000000A7 D5 165 PUSH DE - 000000A8 C5 166 PUSH BC - 000000A9 DD E1 167 POP IX - 000000AB 21 0A 00 168 LD HL,10 - 000000AE 39 169 ADD HL,SP - 000000AF 5E 170 LD E,(HL) - 000000B0 23 171 INC HL - 000000B1 56 172 LD D,(HL) - 000000B2 D5 173 PUSH DE - 000000B3 FD E1 174 POP IY - 000000B5 FD 6E 00 175 LD L,(IY+0) - 000000B8 FD 66 01 176 LD H,(IY+1) - 000000BB 09 177 ADD HL,BC - 000000BC 56 178 LD D,(HL) - 000000BD 21 0C 00 179 LD HL,12 - 000000C0 39 180 ADD HL,SP - 000000C1 7E 181 LD A,(HL) - 000000C2 23 182 INC HL - 000000C3 66 183 LD H,(HL) - 000000C4 6F 184 LD L,A - 000000C5 5E 185 LD E,(HL) - 000000C6 23 186 INC HL - 000000C7 66 187 LD H,(HL) - 000000C8 6B 188 LD L,E - 000000C9 09 189 ADD HL,BC - 000000CA 190 ?0458: - 000000CA 72 191 LD (HL),D - 000000CB 192 ?0013: - 000000CB FD E5 193 PUSH IY - 000000CD E1 194 POP HL - 000000CE 4E 195 LD C,(HL) - 000000CF 23 196 INC HL - 000000D0 46 197 LD B,(HL) - 000000D1 03 198 INC BC - 000000D2 70 199 LD (HL),B - 000000D3 2B 200 DEC HL - 000000D4 71 201 LD (HL),C - 000000D5 DD E5 202 PUSH IX - 000000D7 E1 203 POP HL - 000000D8 09 204 ADD HL,BC - 000000D9 7E 205 LD A,(HL) - 000000DA 21 00 00 206 LD HL,0 - 000000DD 39 207 ADD HL,SP - 000000DE BE 208 CP (HL) - 000000DF FD 6E 00 209 LD L,(IY+0) - 000000E2 FD 66 01 210 LD H,(IY+1) - 000000E5 DD E5 211 PUSH IX - 000000E7 C1 212 POP BC - 000000E8 09 213 ADD HL,BC - 000000E9 56 214 LD D,(HL) - 000000EA D5 215 PUSH DE - 000000EB 21 0E 00 216 LD HL,14 - 000000EE 39 217 ADD HL,SP - 000000EF 7E 218 LD A,(HL) - 000000F0 23 219 INC HL - 000000F1 66 220 LD H,(HL) - 000000F2 6F 221 LD L,A - 000000F3 5E 222 LD E,(HL) - 000000F4 23 223 INC HL - 000000F5 56 224 LD D,(HL) - 000000F6 13 225 INC DE - 000000F7 72 226 LD (HL),D - 000000F8 2B 227 DEC HL - 000000F9 73 228 LD (HL),E - 000000FA 69 229 LD L,C - 000000FB 60 230 LD H,B - 000000FC 19 231 ADD HL,DE - 000000FD D1 232 POP DE - 000000FE 20 CA 233 JR NZ,?0458 - 00000100 234 ?0014: - 00000100 235 ?0012: - 00000100 72 236 LD (HL),D - 00000101 237 ?0625: - 00000101 E1 238 POP HL - 00000102 DD E1 239 POP IX - 00000104 FD E1 240 POP IY - 00000106 C3 00 00 241 JP LWRD ?BANK_FAST_LEAVE_L08 - 00000109 242 dbTrimString: - 00000109 C5 243 PUSH BC - 0000010A FD E5 244 PUSH IY - 0000010C DD E5 245 PUSH IX - 0000010E DD 21 00 00 246 LD IX,0 - 00000112 DD 39 247 ADD IX,SP - 00000114 F5 248 PUSH AF - 00000115 F5 249 PUSH AF - 00000116 F5 250 PUSH AF - 00000117 D5 251 PUSH DE - 00000118 FD E1 252 POP IY - 0000011A AF 253 XOR A - 0000011B DD 77 FA 254 LD (IX-6),A - 0000011E DD 77 FB 255 LD (IX-5),A - 00000121 DD 77 FC 256 LD (IX-4),A - 00000124 DD 77 FD 257 LD (IX-3),A - 00000127 DD 36 FE 20 258 LD (IX-2),32 - 0000012B 259 ?0016: - 0000012B DD 6E FA 260 LD L,(IX-6) - 0000012E DD 66 FB 261 LD H,(IX-5) - 00000131 FD E5 262 PUSH IY - 00000133 C1 263 POP BC - 00000134 09 264 ADD HL,BC - 00000135 7E 265 LD A,(HL) - 00000136 B7 266 OR A - 00000137 CA 89 02 267 JP Z,?0015 - 0000013A 268 ?0017: - 0000013A DD 6E FA 269 LD L,(IX-6) - 0000013D DD 66 FB 270 LD H,(IX-5) - 00000140 09 271 ADD HL,BC - 00000141 7E 272 LD A,(HL) - 00000142 FE 27 273 CP 39 - 00000144 28 0C 274 JR Z,?0020 - 00000146 DD 6E FA 275 LD L,(IX-6) - 00000149 DD 66 FB 276 LD H,(IX-5) - 0000014C 09 277 ADD HL,BC - 0000014D 7E 278 LD A,(HL) - 0000014E FE 22 279 CP 34 - 00000150 20 1D 280 JR NZ,?0019 - 00000152 281 ?0020: - 00000152 282 ?0021: - 00000152 283 ?0018: - 00000152 21 02 00 284 LD HL,2 - 00000155 39 285 ADD HL,SP - 00000156 E5 286 PUSH HL - 00000157 2B 287 DEC HL - 00000158 2B 288 DEC HL - 00000159 E5 289 PUSH HL - 0000015A DD 6E FA 290 LD L,(IX-6) - 0000015D DD 66 FB 291 LD H,(IX-5) - 00000160 FD E5 292 PUSH IY - 00000162 D1 293 POP DE - 00000163 19 294 ADD HL,DE - 00000164 5E 295 LD E,(HL) - 00000165 3E A3 296 LD A,BYTE3 dbSkipLiteral - 00000167 21 A3 00 297 LD HL,LWRD dbSkipLiteral - 0000016A CD 00 00 298 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000016D E1 299 POP HL - 0000016E E1 300 POP HL - 0000016F 301 ?0019: - 0000016F DD 7E FE 302 LD A,(IX-2) - 00000172 FE 20 303 CP 32 - 00000174 C2 18 02 304 JP NZ,?0023 - 00000177 DD 6E FA 305 LD L,(IX-6) - 0000017A DD 66 FB 306 LD H,(IX-5) - 0000017D FD E5 307 PUSH IY - 0000017F C1 308 POP BC - 00000180 09 309 ADD HL,BC - 00000181 7E 310 LD A,(HL) - 00000182 FE 2C 311 CP 44 - 00000184 CA 0B 02 312 JP Z,?0026 - 00000187 DD 6E FA 313 LD L,(IX-6) - 0000018A DD 66 FB 314 LD H,(IX-5) - 0000018D 09 315 ADD HL,BC - 0000018E 7E 316 LD A,(HL) - 0000018F FE 29 317 CP 41 - 00000191 28 78 318 JR Z,?0026 - 00000193 DD 6E FA 319 LD L,(IX-6) - 00000196 DD 66 FB 320 LD H,(IX-5) - 00000199 09 321 ADD HL,BC - 0000019A 7E 322 LD A,(HL) - 0000019B FE 28 323 CP 40 - 0000019D 28 6C 324 JR Z,?0026 - 0000019F DD 6E FA 325 LD L,(IX-6) - 000001A2 DD 66 FB 326 LD H,(IX-5) - 000001A5 09 327 ADD HL,BC - 000001A6 7E 328 LD A,(HL) - 000001A7 FE 2B 329 CP 43 - 000001A9 28 60 330 JR Z,?0026 - 000001AB DD 6E FA 331 LD L,(IX-6) - 000001AE DD 66 FB 332 LD H,(IX-5) - 000001B1 09 333 ADD HL,BC - 000001B2 7E 334 LD A,(HL) - 000001B3 FE 2D 335 CP 45 - 000001B5 28 54 336 JR Z,?0026 - 000001B7 DD 6E FA 337 LD L,(IX-6) - 000001BA DD 66 FB 338 LD H,(IX-5) - 000001BD 09 339 ADD HL,BC - 000001BE 7E 340 LD A,(HL) - 000001BF FE 2A 341 CP 42 - 000001C1 28 48 342 JR Z,?0026 - 000001C3 DD 6E FA 343 LD L,(IX-6) - 000001C6 DD 66 FB 344 LD H,(IX-5) - 000001C9 09 345 ADD HL,BC - 000001CA 7E 346 LD A,(HL) - 000001CB FE 2F 347 CP 47 - 000001CD 28 3C 348 JR Z,?0026 - 000001CF DD 6E FA 349 LD L,(IX-6) - 000001D2 DD 66 FB 350 LD H,(IX-5) - 000001D5 09 351 ADD HL,BC - 000001D6 7E 352 LD A,(HL) - 000001D7 FE 26 353 CP 38 - 000001D9 28 30 354 JR Z,?0026 - 000001DB DD 6E FA 355 LD L,(IX-6) - 000001DE DD 66 FB 356 LD H,(IX-5) - 000001E1 09 357 ADD HL,BC - 000001E2 7E 358 LD A,(HL) - 000001E3 FE 7C 359 CP 124 - 000001E5 28 24 360 JR Z,?0026 - 000001E7 DD 6E FA 361 LD L,(IX-6) - 000001EA DD 66 FB 362 LD H,(IX-5) - 000001ED 09 363 ADD HL,BC - 000001EE 7E 364 LD A,(HL) - 000001EF FE 3D 365 CP 61 - 000001F1 28 18 366 JR Z,?0026 - 000001F3 DD 6E FA 367 LD L,(IX-6) - 000001F6 DD 66 FB 368 LD H,(IX-5) - 000001F9 09 369 ADD HL,BC - 000001FA 7E 370 LD A,(HL) - 000001FB FE 3C 371 CP 60 - 000001FD 28 0C 372 JR Z,?0026 - 000001FF DD 6E FA 373 LD L,(IX-6) - 00000202 DD 66 FB 374 LD H,(IX-5) - 00000205 09 375 ADD HL,BC - 00000206 7E 376 LD A,(HL) - 00000207 FE 3E 377 CP 62 - 00000209 20 0D 378 JR NZ,?0023 - 0000020B 379 ?0026: - 0000020B 380 ?0027: - 0000020B 381 ?0025: - 0000020B 382 ?0024: - 0000020B 383 ?0022: - 0000020B DD 6E FC 384 LD L,(IX-4) - 0000020E DD 66 FD 385 LD H,(IX-3) - 00000211 2B 386 DEC HL - 00000212 DD 75 FC 387 LD (IX-4),L - 00000215 DD 74 FD 388 LD (IX-3),H - 00000218 389 ?0023: - 00000218 DD 6E FA 390 LD L,(IX-6) - 0000021B DD 66 FB 391 LD H,(IX-5) - 0000021E FD E5 392 PUSH IY - 00000220 C1 393 POP BC - 00000221 09 394 ADD HL,BC - 00000222 56 395 LD D,(HL) - 00000223 DD 6E FC 396 LD L,(IX-4) - 00000226 DD 66 FD 397 LD H,(IX-3) - 00000229 09 398 ADD HL,BC - 0000022A 72 399 LD (HL),D - 0000022B DD 7E FE 400 LD A,(IX-2) - 0000022E FE 2C 401 CP 44 - 00000230 28 2C 402 JR Z,?0031 - 00000232 FE 20 403 CP 32 - 00000234 28 28 404 JR Z,?0031 - 00000236 FE 28 405 CP 40 - 00000238 28 24 406 JR Z,?0031 - 0000023A FE 2B 407 CP 43 - 0000023C 28 20 408 JR Z,?0031 - 0000023E FE 2D 409 CP 45 - 00000240 28 1C 410 JR Z,?0031 - 00000242 FE 2A 411 CP 42 - 00000244 28 18 412 JR Z,?0031 - 00000246 FE 2F 413 CP 47 - 00000248 28 14 414 JR Z,?0031 - 0000024A FE 26 415 CP 38 - 0000024C 28 10 416 JR Z,?0031 - 0000024E FE 7C 417 CP 124 - 00000250 28 0C 418 JR Z,?0031 - 00000252 FE 3D 419 CP 61 - 00000254 28 08 420 JR Z,?0031 - 00000256 FE 3E 421 CP 62 - 00000258 28 04 422 JR Z,?0031 - 0000025A FE 3C 423 CP 60 - 0000025C 20 0C 424 JR NZ,?0032 - 0000025E 425 ?0031: - 0000025E 426 ?0030: - 0000025E DD 6E FA 427 LD L,(IX-6) - 00000261 DD 66 FB 428 LD H,(IX-5) - 00000264 09 429 ADD HL,BC - 00000265 7E 430 LD A,(HL) - 00000266 FE 20 431 CP 32 - 00000268 28 08 432 JR Z,?0459 - 0000026A 433 ?0032: - 0000026A 434 ?0033: - 0000026A 435 ?0028: - 0000026A DD 34 FC 436 INC (IX-4) - 0000026D 20 03 437 JR NZ,?0459 - 0000026F DD 34 FD 438 INC (IX-3) - 00000272 439 ?0459: - 00000272 440 ?0029: - 00000272 DD 6E FA 441 LD L,(IX-6) - 00000275 DD 66 FB 442 LD H,(IX-5) - 00000278 09 443 ADD HL,BC - 00000279 46 444 LD B,(HL) - 0000027A DD 70 FE 445 LD (IX-2),B - 0000027D DD 34 FA 446 INC (IX-6) - 00000280 C2 2B 01 447 JP NZ,?0016 - 00000283 DD 34 FB 448 INC (IX-5) - 00000286 C3 2B 01 449 JP LWRD ?0016 - 00000289 450 ?0015: - 00000289 DD 7E FE 451 LD A,(IX-2) - 0000028C FE 20 452 CP 32 - 0000028E DD 6E FC 453 LD L,(IX-4) - 00000291 DD 66 FD 454 LD H,(IX-3) - 00000294 20 01 455 JR NZ,?0035 - 00000296 456 ?0034: - 00000296 2B 457 DEC HL - 00000297 458 ?0035: - 00000297 09 459 ADD HL,BC - 00000298 36 00 460 LD (HL),0 - 0000029A 461 ?0036: - 0000029A DD F9 462 LD SP,IX - 0000029C C3 6B 00 463 JP LWRD ?0614 - 0000029F 464 dbReplaceChar: - 0000029F FD E5 465 PUSH IY - 000002A1 DD E5 466 PUSH IX - 000002A3 C5 467 PUSH BC - 000002A4 D5 468 PUSH DE - 000002A5 FD E1 469 POP IY - 000002A7 DD 21 00 00 470 LD IX,0 - 000002AB 471 ?0038: - 000002AB DD E5 472 PUSH IX - 000002AD E1 473 POP HL - 000002AE FD E5 474 PUSH IY - 000002B0 C1 475 POP BC - 000002B1 09 476 ADD HL,BC - 000002B2 7E 477 LD A,(HL) - 000002B3 21 00 00 478 LD HL,0 - 000002B6 39 479 ADD HL,SP - 000002B7 BE 480 CP (HL) - 000002B8 28 0C 481 JR Z,?0037 - 000002BA DD E5 482 PUSH IX - 000002BC E1 483 POP HL - 000002BD 09 484 ADD HL,BC - 000002BE 7E 485 LD A,(HL) - 000002BF B7 486 OR A - 000002C0 28 04 487 JR Z,?0037 - 000002C2 488 ?0041: - 000002C2 489 ?0040: - 000002C2 490 ?0039: - 000002C2 DD 23 491 INC IX - 000002C4 18 E5 492 JR ?0038 - 000002C6 493 ?0037: - 000002C6 DD E5 494 PUSH IX - 000002C8 E1 495 POP HL - 000002C9 09 496 ADD HL,BC - 000002CA 7E 497 LD A,(HL) - 000002CB B7 498 OR A - 000002CC 28 0C 499 JR Z,?0043 - 000002CE 500 ?0042: - 000002CE DD E5 501 PUSH IX - 000002D0 E1 502 POP HL - 000002D1 09 503 ADD HL,BC - 000002D2 E5 504 PUSH HL - 000002D3 21 0C 00 505 LD HL,12 - 000002D6 39 506 ADD HL,SP - 000002D7 46 507 LD B,(HL) - 000002D8 E1 508 POP HL - 000002D9 70 509 LD (HL),B - 000002DA 510 ?0043: - 000002DA DD E5 511 PUSH IX - 000002DC E1 512 POP HL - 000002DD FD E5 513 PUSH IY - 000002DF C1 514 POP BC - 000002E0 09 515 ADD HL,BC - 000002E1 516 ?0626: - 000002E1 F1 517 POP AF - 000002E2 DD E1 518 POP IX - 000002E4 FD E1 519 POP IY - 000002E6 C3 00 00 520 JP LWRD ?BANK_FAST_LEAVE_L08 - 000002E9 521 dbParseList: - 000002E9 FD E5 522 PUSH IY - 000002EB DD E5 523 PUSH IX - 000002ED DD 21 00 00 524 LD IX,0 - 000002F1 DD 39 525 ADD IX,SP - 000002F3 C5 526 PUSH BC - 000002F4 D5 527 PUSH DE - 000002F5 21 D8 FF 528 LD HL,65496 - 000002F8 39 529 ADD HL,SP - 000002F9 F9 530 LD SP,HL - 000002FA 11 06 00 531 LD DE,6 - 000002FD CD 8F 04 532 CALL LWRD ?0641 - 00000300 E5 533 PUSH HL - 00000301 FD E1 534 POP IY - 00000303 DD 75 DA 535 LD (IX-38),L - 00000306 DD 74 DB 536 LD (IX-37),H - 00000309 AF 537 XOR A - 0000030A 77 538 LD (HL),A - 0000030B 23 539 INC HL - 0000030C 77 540 LD (HL),A - 0000030D DD 77 D6 541 LD (IX-42),A - 00000310 DD 77 D7 542 LD (IX-41),A - 00000313 DD 77 D4 543 LD (IX-44),A - 00000316 DD 77 D5 544 LD (IX-43),A - 00000319 545 ?0045: - 00000319 DD 6E 0A 546 LD L,(IX+10) - 0000031C DD 66 0B 547 LD H,(IX+11) - 0000031F 46 548 LD B,(HL) - 00000320 23 549 INC HL - 00000321 66 550 LD H,(HL) - 00000322 68 551 LD L,B - 00000323 DD 4E FC 552 LD C,(IX-4) - 00000326 DD 46 FD 553 LD B,(IX-3) - 00000329 09 554 ADD HL,BC - 0000032A 7E 555 LD A,(HL) - 0000032B DD BE 08 556 CP (IX+8) - 0000032E 20 07 557 JR NZ,?0047 - 00000330 AF 558 XOR A - 00000331 DD B6 D4 559 OR (IX-44) - 00000334 CA 41 04 560 JP Z,?0044 - 00000337 561 ?0047: - 00000337 562 ?0048: - 00000337 DD 6E 0A 563 LD L,(IX+10) - 0000033A DD 66 0B 564 LD H,(IX+11) - 0000033D 46 565 LD B,(HL) - 0000033E 23 566 INC HL - 0000033F 66 567 LD H,(HL) - 00000340 68 568 LD L,B - 00000341 DD 46 FD 569 LD B,(IX-3) - 00000344 09 570 ADD HL,BC - 00000345 7E 571 LD A,(HL) - 00000346 B7 572 OR A - 00000347 CA 41 04 573 JP Z,?0044 - 0000034A 574 ?0050: - 0000034A 575 ?0049: - 0000034A 576 ?0046: - 0000034A DD 6E 0A 577 LD L,(IX+10) - 0000034D DD 66 0B 578 LD H,(IX+11) - 00000350 46 579 LD B,(HL) - 00000351 23 580 INC HL - 00000352 66 581 LD H,(HL) - 00000353 68 582 LD L,B - 00000354 DD 46 FD 583 LD B,(IX-3) - 00000357 09 584 ADD HL,BC - 00000358 7E 585 LD A,(HL) - 00000359 FE 22 586 CP 34 - 0000035B 28 04 587 JR Z,?0052 - 0000035D FE 27 588 CP 39 - 0000035F 20 10 589 JR NZ,?0053 - 00000361 590 ?0052: - 00000361 AF 591 XOR A - 00000362 DD B6 D4 592 OR (IX-44) - 00000365 20 04 593 JR NZ,?0463 - 00000367 3E 01 594 LD A,1 - 00000369 18 01 595 JR ?0464 - 0000036B 596 ?0463: - 0000036B AF 597 XOR A - 0000036C 598 ?0464: - 0000036C DD 77 D4 599 LD (IX-44),A - 0000036F 18 1C 600 JR ?0058 - 00000371 601 ?0053: - 00000371 FE 28 602 CP 40 - 00000373 20 0B 603 JR NZ,?0056 - 00000375 AF 604 XOR A - 00000376 DD B6 D4 605 OR (IX-44) - 00000379 20 12 606 JR NZ,?0058 - 0000037B 607 ?0054: - 0000037B DD 34 D5 608 INC (IX-43) - 0000037E 609 ?0055: - 0000037E 18 0D 610 JR ?0058 - 00000380 611 ?0056: - 00000380 FE 29 612 CP 41 - 00000382 20 09 613 JR NZ,?0058 - 00000384 AF 614 XOR A - 00000385 DD B6 D4 615 OR (IX-44) - 00000388 20 03 616 JR NZ,?0058 - 0000038A 617 ?0057: - 0000038A DD 35 D5 618 DEC (IX-43) - 0000038D 619 ?0058: - 0000038D 620 ?0051: - 0000038D DD 6E 0A 621 LD L,(IX+10) - 00000390 DD 66 0B 622 LD H,(IX+11) - 00000393 46 623 LD B,(HL) - 00000394 23 624 INC HL - 00000395 66 625 LD H,(HL) - 00000396 68 626 LD L,B - 00000397 DD 46 FD 627 LD B,(IX-3) - 0000039A 09 628 ADD HL,BC - 0000039B 7E 629 LD A,(HL) - 0000039C DD BE FE 630 CP (IX-2) - 0000039F 20 0B 631 JR NZ,?0061 - 000003A1 AF 632 XOR A - 000003A2 DD B6 D4 633 OR (IX-44) - 000003A5 20 05 634 JR NZ,?0061 - 000003A7 DD B6 D5 635 OR (IX-43) - 000003AA 28 1D 636 JR Z,?0060 - 000003AC 637 ?0061: - 000003AC 638 ?0062: - 000003AC 639 ?0059: - 000003AC DD 6E 0A 640 LD L,(IX+10) - 000003AF DD 66 0B 641 LD H,(IX+11) - 000003B2 46 642 LD B,(HL) - 000003B3 23 643 INC HL - 000003B4 66 644 LD H,(HL) - 000003B5 68 645 LD L,B - 000003B6 DD 46 FD 646 LD B,(IX-3) - 000003B9 09 647 ADD HL,BC - 000003BA 46 648 LD B,(HL) - 000003BB 21 08 00 649 LD HL,8 - 000003BE 39 650 ADD HL,SP - 000003BF DD 5E D6 651 LD E,(IX-42) - 000003C2 DD 56 D7 652 LD D,(IX-41) - 000003C5 19 653 ADD HL,DE - 000003C6 70 654 LD (HL),B - 000003C7 18 61 655 JR ?0063 - 000003C9 656 ?0060: - 000003C9 21 08 00 657 LD HL,8 - 000003CC 39 658 ADD HL,SP - 000003CD DD 4E D6 659 LD C,(IX-42) - 000003D0 DD 46 D7 660 LD B,(IX-41) - 000003D3 09 661 ADD HL,BC - 000003D4 77 662 LD (HL),A - 000003D5 21 08 00 663 LD HL,8 - 000003D8 39 664 ADD HL,SP - 000003D9 CD 97 04 665 CALL LWRD ?0648 - 000003DC EB 666 EX DE,HL - 000003DD 13 667 INC DE - 000003DE CD 8F 04 668 CALL LWRD ?0641 - 000003E1 FD 75 04 669 LD (IY+4),L - 000003E4 FD 74 05 670 LD (IY+5),H - 000003E7 21 08 00 671 LD HL,8 - 000003EA 39 672 ADD HL,SP - 000003EB 4D 673 LD C,L - 000003EC 44 674 LD B,H - 000003ED FD 5E 04 675 LD E,(IY+4) - 000003F0 FD 56 05 676 LD D,(IY+5) - 000003F3 CD AD 04 677 CALL LWRD ?0651 - 000003F6 FD E5 678 PUSH IY - 000003F8 E1 679 POP HL - 000003F9 DD 75 D8 680 LD (IX-40),L - 000003FC DD 74 D9 681 LD (IX-39),H - 000003FF 11 06 00 682 LD DE,6 - 00000402 CD 8F 04 683 CALL LWRD ?0641 - 00000405 FD 75 02 684 LD (IY+2),L - 00000408 FD 74 03 685 LD (IY+3),H - 0000040B FD 6E 02 686 LD L,(IY+2) - 0000040E FD 66 03 687 LD H,(IY+3) - 00000411 E5 688 PUSH HL - 00000412 FD E1 689 POP IY - 00000414 DD 6E D8 690 LD L,(IX-40) - 00000417 DD 66 D9 691 LD H,(IX-39) - 0000041A E5 692 PUSH HL - 0000041B FD E5 693 PUSH IY - 0000041D E1 694 POP HL - 0000041E C1 695 POP BC - 0000041F 71 696 LD (HL),C - 00000420 23 697 INC HL - 00000421 70 698 LD (HL),B - 00000422 DD 36 D6 FF 699 LD (IX-42),255 - 00000426 DD 36 D7 FF 700 LD (IX-41),255 - 0000042A 701 ?0063: - 0000042A DD 6E 0A 702 LD L,(IX+10) - 0000042D DD 66 0B 703 LD H,(IX+11) - 00000430 34 704 INC (HL) - 00000431 23 705 INC HL - 00000432 20 01 706 JR NZ,?0465 - 00000434 34 707 INC (HL) - 00000435 708 ?0465: - 00000435 DD 34 D6 709 INC (IX-42) - 00000438 C2 19 03 710 JP NZ,?0045 - 0000043B DD 34 D7 711 INC (IX-41) - 0000043E C3 19 03 712 JP LWRD ?0045 - 00000441 713 ?0044: - 00000441 21 08 00 714 LD HL,8 - 00000444 39 715 ADD HL,SP - 00000445 DD 4E D6 716 LD C,(IX-42) - 00000448 DD 46 D7 717 LD B,(IX-41) - 0000044B 09 718 ADD HL,BC - 0000044C 77 719 LD (HL),A - 0000044D 21 08 00 720 LD HL,8 - 00000450 39 721 ADD HL,SP - 00000451 CD 97 04 722 CALL LWRD ?0648 - 00000454 EB 723 EX DE,HL - 00000455 13 724 INC DE - 00000456 CD 8F 04 725 CALL LWRD ?0641 - 00000459 FD 75 04 726 LD (IY+4),L - 0000045C FD 74 05 727 LD (IY+5),H - 0000045F 21 08 00 728 LD HL,8 - 00000462 39 729 ADD HL,SP - 00000463 4D 730 LD C,L - 00000464 44 731 LD B,H - 00000465 FD 5E 04 732 LD E,(IY+4) - 00000468 FD 56 05 733 LD D,(IY+5) - 0000046B CD AD 04 734 CALL LWRD ?0651 - 0000046E AF 735 XOR A - 0000046F FD 77 02 736 LD (IY+2),A - 00000472 FD 77 03 737 LD (IY+3),A - 00000475 DD 6E DA 738 LD L,(IX-38) - 00000478 DD 66 DB 739 LD H,(IX-37) - 0000047B 740 ?0630: - 0000047B DD F9 741 LD SP,IX - 0000047D DD E1 742 POP IX - 0000047F FD E1 743 POP IY - 00000481 C3 00 00 744 JP LWRD ?BANK_FAST_LEAVE_L08 - 00000484 745 ?0643: - 00000484 71 746 LD (HL),C - 00000485 23 747 INC HL - 00000486 70 748 LD (HL),B - 00000487 FD 6E 00 749 LD L,(IY+0) - 0000048A FD 66 01 750 LD H,(IY+1) - 0000048D 751 ?0644: - 0000048D 29 752 ADD HL,HL - 0000048E 753 ?0642: - 0000048E EB 754 EX DE,HL - 0000048F 755 ?0641: - 0000048F 3E 00 756 LD A,BYTE3 malloc - 00000491 21 00 00 757 LD HL,LWRD malloc - 00000494 C3 00 00 758 JP LWRD ?BANK_CALL_DIRECT_L08 - 00000497 759 ?0648: - 00000497 EB 760 EX DE,HL - 00000498 761 ?0649: - 00000498 3E 00 762 LD A,BYTE3 strlen - 0000049A 21 00 00 763 LD HL,LWRD strlen - 0000049D C3 00 00 764 JP LWRD ?BANK_CALL_DIRECT_L08 - 000004A0 765 ?0655: - 000004A0 4D 766 LD C,L - 000004A1 44 767 LD B,H - 000004A2 FD 6E 4A 768 LD L,(IY+74) - 000004A5 FD 66 4B 769 LD H,(IY+75) - 000004A8 770 ?0654: - 000004A8 11 04 00 771 LD DE,4 - 000004AB 772 ?0653: - 000004AB 19 773 ADD HL,DE - 000004AC 774 ?0652: - 000004AC EB 775 EX DE,HL - 000004AD 776 ?0651: - 000004AD 3E 00 777 LD A,BYTE3 strcpy - 000004AF 21 00 00 778 LD HL,LWRD strcpy - 000004B2 C3 00 00 779 JP LWRD ?BANK_CALL_DIRECT_L08 - 000004B5 780 dbParseStatement: - 000004B5 C5 781 PUSH BC - 000004B6 FD E5 782 PUSH IY - 000004B8 DD E5 783 PUSH IX - 000004BA D5 784 PUSH DE - 000004BB FD E1 785 POP IY - 000004BD CD 98 04 786 CALL LWRD ?0649 - 000004C0 EB 787 EX DE,HL - 000004C1 13 788 INC DE - 000004C2 CD 8F 04 789 CALL LWRD ?0641 - 000004C5 E5 790 PUSH HL - 000004C6 DD E1 791 POP IX - 000004C8 FD E5 792 PUSH IY - 000004CA C1 793 POP BC - 000004CB CD AC 04 794 CALL LWRD ?0652 - 000004CE DD E5 795 PUSH IX - 000004D0 D1 796 POP DE - 000004D1 3E 09 797 LD A,BYTE3 dbTrimString - 000004D3 21 09 01 798 LD HL,LWRD dbTrimString - 000004D6 CD 00 00 799 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000004D9 21 03 00 800 LD HL,3 - 000004DC E5 801 PUSH HL - 000004DD 01 00 00 802 LD BC,?0066 - 000004E0 DD E5 803 PUSH IX - 000004E2 D1 804 POP DE - 000004E3 CD 60 05 805 CALL LWRD ?0656 - 000004E6 F1 806 POP AF - 000004E7 7D 807 LD A,L - 000004E8 B4 808 OR H - 000004E9 20 0A 809 JR NZ,?0065 - 000004EB 810 ?0064: - 000004EB DD E5 811 PUSH IX - 000004ED D1 812 POP DE - 000004EE 3E 68 813 LD A,BYTE3 dbParseSelect - 000004F0 21 68 05 814 LD HL,LWRD dbParseSelect - 000004F3 18 52 815 JR ?0472 - 000004F5 816 ?0065: - 000004F5 21 03 00 817 LD HL,3 - 000004F8 E5 818 PUSH HL - 000004F9 01 04 00 819 LD BC,?0069 - 000004FC DD E5 820 PUSH IX - 000004FE D1 821 POP DE - 000004FF CD 60 05 822 CALL LWRD ?0656 - 00000502 F1 823 POP AF - 00000503 7D 824 LD A,L - 00000504 B4 825 OR H - 00000505 20 0A 826 JR NZ,?0068 - 00000507 827 ?0067: - 00000507 DD E5 828 PUSH IX - 00000509 D1 829 POP DE - 0000050A 3E 97 830 LD A,BYTE3 dbParseInsert - 0000050C 21 97 06 831 LD HL,LWRD dbParseInsert - 0000050F 18 36 832 JR ?0472 - 00000511 833 ?0068: - 00000511 21 03 00 834 LD HL,3 - 00000514 E5 835 PUSH HL - 00000515 01 08 00 836 LD BC,?0072 - 00000518 DD E5 837 PUSH IX - 0000051A D1 838 POP DE - 0000051B CD 60 05 839 CALL LWRD ?0656 - 0000051E F1 840 POP AF - 0000051F 7D 841 LD A,L - 00000520 B4 842 OR H - 00000521 20 0A 843 JR NZ,?0071 - 00000523 844 ?0070: - 00000523 DD E5 845 PUSH IX - 00000525 D1 846 POP DE - 00000526 3E 3E 847 LD A,BYTE3 dbParseUpdate - 00000528 21 3E 07 848 LD HL,LWRD dbParseUpdate - 0000052B 18 1A 849 JR ?0472 - 0000052D 850 ?0071: - 0000052D 21 03 00 851 LD HL,3 - 00000530 E5 852 PUSH HL - 00000531 01 0C 00 853 LD BC,?0075 - 00000534 DD E5 854 PUSH IX - 00000536 D1 855 POP DE - 00000537 CD 60 05 856 CALL LWRD ?0656 - 0000053A F1 857 POP AF - 0000053B 7D 858 LD A,L - 0000053C B4 859 OR H - 0000053D 20 0D 860 JR NZ,?0074 - 0000053F 861 ?0073: - 0000053F DD E5 862 PUSH IX - 00000541 D1 863 POP DE - 00000542 3E 0B 864 LD A,BYTE3 dbParseDelete - 00000544 21 0B 08 865 LD HL,LWRD dbParseDelete - 00000547 866 ?0472: - 00000547 CD 00 00 867 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000054A 18 03 868 JR ?0076 - 0000054C 869 ?0074: - 0000054C 21 00 00 870 LD HL,0 - 0000054F 871 ?0076: - 0000054F C3 6B 00 872 JP LWRD ?0614 - 00000552 873 ?0657: - 00000552 DD 6E FC 874 LD L,(IX-4) - 00000555 DD 66 FD 875 LD H,(IX-3) - 00000558 DD 5E FE 876 LD E,(IX-2) - 0000055B DD 56 FF 877 LD D,(IX-1) - 0000055E 878 ?0658: - 0000055E 19 879 ADD HL,DE - 0000055F EB 880 EX DE,HL - 00000560 881 ?0656: - 00000560 3E 00 882 LD A,BYTE3 strncmp - 00000562 21 00 00 883 LD HL,LWRD strncmp - 00000565 C3 00 00 884 JP LWRD ?BANK_CALL_DIRECT_L08 - 00000568 885 dbParseSelect: - 00000568 C5 886 PUSH BC - 00000569 FD E5 887 PUSH IY - 0000056B DD E5 888 PUSH IX - 0000056D DD 21 00 00 889 LD IX,0 - 00000571 DD 39 890 ADD IX,SP - 00000573 D5 891 PUSH DE - 00000574 F5 892 PUSH AF - 00000575 11 09 00 893 LD DE,9 - 00000578 CD 8F 04 894 CALL LWRD ?0641 - 0000057B E5 895 PUSH HL - 0000057C FD E1 896 POP IY - 0000057E 36 73 897 LD (HL),115 - 00000580 AF 898 XOR A - 00000581 FD 77 05 899 LD (IY+5),A - 00000584 FD 77 06 900 LD (IY+6),A - 00000587 FD 77 07 901 LD (IY+7),A - 0000058A FD 77 08 902 LD (IY+8),A - 0000058D DD 36 FC 03 903 LD (IX-4),3 - 00000591 DD 77 FD 904 LD (IX-3),A - 00000594 DD 6E FE 905 LD L,(IX-2) - 00000597 DD 66 FF 906 LD H,(IX-1) - 0000059A 23 907 INC HL - 0000059B 23 908 INC HL - 0000059C 23 909 INC HL - 0000059D 7E 910 LD A,(HL) - 0000059E FE 20 911 CP 32 - 000005A0 20 08 912 JR NZ,?0473 - 000005A2 913 ?0077: - 000005A2 DD 34 FC 914 INC (IX-4) - 000005A5 20 03 915 JR NZ,?0473 - 000005A7 DD 34 FD 916 INC (IX-3) - 000005AA 917 ?0473: - 000005AA 918 ?0078: - 000005AA 21 00 00 919 LD HL,0 - 000005AD 39 920 ADD HL,SP - 000005AE E5 921 PUSH HL - 000005AF 0E 20 922 LD C,32 - 000005B1 C5 923 PUSH BC - 000005B2 0E 2C 924 LD C,44 - 000005B4 DD 5E FE 925 LD E,(IX-2) - 000005B7 DD 56 FF 926 LD D,(IX-1) - 000005BA CD 8F 06 927 CALL LWRD ?0659 - 000005BD F1 928 POP AF - 000005BE F1 929 POP AF - 000005BF FD 75 01 930 LD (IY+1),L - 000005C2 FD 74 02 931 LD (IY+2),H - 000005C5 21 04 00 932 LD HL,4 - 000005C8 E5 933 PUSH HL - 000005C9 01 10 00 934 LD BC,?0081 - 000005CC CD 52 05 935 CALL LWRD ?0657 - 000005CF F1 936 POP AF - 000005D0 7D 937 LD A,L - 000005D1 B4 938 OR H - 000005D2 20 0D 939 JR NZ,?0080 - 000005D4 940 ?0079: - 000005D4 6F 941 LD L,A - 000005D5 67 942 LD H,A - 000005D6 39 943 ADD HL,SP - 000005D7 7E 944 LD A,(HL) - 000005D8 C6 04 945 ADD A,4 - 000005DA 77 946 LD (HL),A - 000005DB 30 0A 947 JR NC,?0082 - 000005DD 23 948 INC HL - 000005DE 34 949 INC (HL) - 000005DF 18 06 950 JR ?0082 - 000005E1 951 ?0080: - 000005E1 21 00 00 952 LD HL,0 - 000005E4 C3 85 06 953 JP LWRD ?0091 - 000005E7 954 ?0082: - 000005E7 21 00 00 955 LD HL,0 - 000005EA 39 956 ADD HL,SP - 000005EB E5 957 PUSH HL - 000005EC 0E 20 958 LD C,32 - 000005EE C5 959 PUSH BC - 000005EF 0E 2C 960 LD C,44 - 000005F1 DD 5E FE 961 LD E,(IX-2) - 000005F4 DD 56 FF 962 LD D,(IX-1) - 000005F7 CD 8F 06 963 CALL LWRD ?0659 - 000005FA F1 964 POP AF - 000005FB F1 965 POP AF - 000005FC FD 75 03 966 LD (IY+3),L - 000005FF FD 74 04 967 LD (IY+4),H - 00000602 21 03 00 968 LD HL,3 - 00000605 E5 969 PUSH HL - 00000606 01 15 00 970 LD BC,?0085 - 00000609 CD 52 05 971 CALL LWRD ?0657 - 0000060C F1 972 POP AF - 0000060D 7D 973 LD A,L - 0000060E B4 974 OR H - 0000060F 20 3C 975 JR NZ,?0084 - 00000611 976 ?0083: - 00000611 6F 977 LD L,A - 00000612 67 978 LD H,A - 00000613 39 979 ADD HL,SP - 00000614 7E 980 LD A,(HL) - 00000615 C6 03 981 ADD A,3 - 00000617 77 982 LD (HL),A - 00000618 30 02 983 JR NC,?0475 - 0000061A 23 984 INC HL - 0000061B 34 985 INC (HL) - 0000061C 986 ?0475: - 0000061C 6F 987 LD L,A - 0000061D DD 66 FD 988 LD H,(IX-3) - 00000620 DD 4E FE 989 LD C,(IX-2) - 00000623 DD 46 FF 990 LD B,(IX-1) - 00000626 09 991 ADD HL,BC - 00000627 7E 992 LD A,(HL) - 00000628 FE 20 993 CP 32 - 0000062A 20 08 994 JR NZ,?0476 - 0000062C 995 ?0086: - 0000062C DD 34 FC 996 INC (IX-4) - 0000062F 20 03 997 JR NZ,?0476 - 00000631 DD 34 FD 998 INC (IX-3) - 00000634 999 ?0476: - 00000634 1000 ?0087: - 00000634 21 00 00 1001 LD HL,0 - 00000637 39 1002 ADD HL,SP - 00000638 E5 1003 PUSH HL - 00000639 0E 20 1004 LD C,32 - 0000063B C5 1005 PUSH BC - 0000063C 0E 2C 1006 LD C,44 - 0000063E DD 5E FE 1007 LD E,(IX-2) - 00000641 50 1008 LD D,B - 00000642 CD 8F 06 1009 CALL LWRD ?0659 - 00000645 F1 1010 POP AF - 00000646 F1 1011 POP AF - 00000647 FD 75 05 1012 LD (IY+5),L - 0000064A FD 74 06 1013 LD (IY+6),H - 0000064D 1014 ?0084: - 0000064D 21 05 00 1015 LD HL,5 - 00000650 E5 1016 PUSH HL - 00000651 01 19 00 1017 LD BC,?0090 - 00000654 CD 52 05 1018 CALL LWRD ?0657 - 00000657 F1 1019 POP AF - 00000658 7D 1020 LD A,L - 00000659 B4 1021 OR H - 0000065A 20 26 1022 JR NZ,?0089 - 0000065C 1023 ?0088: - 0000065C 6F 1024 LD L,A - 0000065D 67 1025 LD H,A - 0000065E 39 1026 ADD HL,SP - 0000065F 7E 1027 LD A,(HL) - 00000660 C6 05 1028 ADD A,5 - 00000662 77 1029 LD (HL),A - 00000663 30 02 1030 JR NC,?0477 - 00000665 23 1031 INC HL - 00000666 34 1032 INC (HL) - 00000667 1033 ?0477: - 00000667 21 00 00 1034 LD HL,0 - 0000066A 39 1035 ADD HL,SP - 0000066B E5 1036 PUSH HL - 0000066C 0E 20 1037 LD C,32 - 0000066E C5 1038 PUSH BC - 0000066F 0E 2C 1039 LD C,44 - 00000671 DD 5E FE 1040 LD E,(IX-2) - 00000674 DD 56 FF 1041 LD D,(IX-1) - 00000677 CD 8F 06 1042 CALL LWRD ?0659 - 0000067A F1 1043 POP AF - 0000067B F1 1044 POP AF - 0000067C FD 75 07 1045 LD (IY+7),L - 0000067F FD 74 08 1046 LD (IY+8),H - 00000682 1047 ?0089: - 00000682 FD E5 1048 PUSH IY - 00000684 E1 1049 POP HL - 00000685 1050 ?0091: - 00000685 DD F9 1051 LD SP,IX - 00000687 C3 6B 00 1052 JP LWRD ?0614 - 0000068A 1053 ?0660: - 0000068A 0E 2C 1054 LD C,44 - 0000068C FD E5 1055 PUSH IY - 0000068E D1 1056 POP DE - 0000068F 1057 ?0659: - 0000068F 3E E9 1058 LD A,BYTE3 dbParseList - 00000691 21 E9 02 1059 LD HL,LWRD dbParseList - 00000694 C3 00 00 1060 JP LWRD ?BANK_CALL_DIRECT_L08 - 00000697 1061 dbParseInsert: - 00000697 C5 1062 PUSH BC - 00000698 FD E5 1063 PUSH IY - 0000069A DD E5 1064 PUSH IX - 0000069C F5 1065 PUSH AF - 0000069D D5 1066 PUSH DE - 0000069E FD E1 1067 POP IY - 000006A0 11 09 00 1068 LD DE,9 - 000006A3 CD 8F 04 1069 CALL LWRD ?0641 - 000006A6 E5 1070 PUSH HL - 000006A7 DD E1 1071 POP IX - 000006A9 36 69 1072 LD (HL),105 - 000006AB AF 1073 XOR A - 000006AC DD 77 05 1074 LD (IX+5),A - 000006AF DD 77 06 1075 LD (IX+6),A - 000006B2 6F 1076 LD L,A - 000006B3 67 1077 LD H,A - 000006B4 39 1078 ADD HL,SP - 000006B5 36 04 1079 LD (HL),4 - 000006B7 23 1080 INC HL - 000006B8 77 1081 LD (HL),A - 000006B9 2B 1082 DEC HL - 000006BA E5 1083 PUSH HL - 000006BB 0E 28 1084 LD C,40 - 000006BD C5 1085 PUSH BC - 000006BE CD 8A 06 1086 CALL LWRD ?0660 - 000006C1 F1 1087 POP AF - 000006C2 F1 1088 POP AF - 000006C3 DD 75 03 1089 LD (IX+3),L - 000006C6 DD 74 04 1090 LD (IX+4),H - 000006C9 21 01 00 1091 LD HL,1 - 000006CC E5 1092 PUSH HL - 000006CD 01 1F 00 1093 LD BC,?0094 - 000006D0 23 1094 INC HL - 000006D1 39 1095 ADD HL,SP - 000006D2 56 1096 LD D,(HL) - 000006D3 23 1097 INC HL - 000006D4 66 1098 LD H,(HL) - 000006D5 6A 1099 LD L,D - 000006D6 FD E5 1100 PUSH IY - 000006D8 D1 1101 POP DE - 000006D9 CD 5E 05 1102 CALL LWRD ?0658 - 000006DC F1 1103 POP AF - 000006DD 7D 1104 LD A,L - 000006DE B4 1105 OR H - 000006DF 20 51 1106 JR NZ,?0097 - 000006E1 1107 ?0092: - 000006E1 6F 1108 LD L,A - 000006E2 67 1109 LD H,A - 000006E3 39 1110 ADD HL,SP - 000006E4 34 1111 INC (HL) - 000006E5 23 1112 INC HL - 000006E6 20 01 1113 JR NZ,?0481 - 000006E8 34 1114 INC (HL) - 000006E9 1115 ?0481: - 000006E9 1116 ?0093: - 000006E9 1117 ?0095: - 000006E9 2B 1118 DEC HL - 000006EA E5 1119 PUSH HL - 000006EB 0E 29 1120 LD C,41 - 000006ED C5 1121 PUSH BC - 000006EE CD 8A 06 1122 CALL LWRD ?0660 - 000006F1 F1 1123 POP AF - 000006F2 F1 1124 POP AF - 000006F3 DD 75 01 1125 LD (IX+1),L - 000006F6 DD 74 02 1126 LD (IX+2),H - 000006F9 21 06 00 1127 LD HL,6 - 000006FC E5 1128 PUSH HL - 000006FD 01 21 00 1129 LD BC,?0098 - 00000700 2E 02 1130 LD L,2 - 00000702 39 1131 ADD HL,SP - 00000703 56 1132 LD D,(HL) - 00000704 23 1133 INC HL - 00000705 66 1134 LD H,(HL) - 00000706 6A 1135 LD L,D - 00000707 FD E5 1136 PUSH IY - 00000709 D1 1137 POP DE - 0000070A CD 5E 05 1138 CALL LWRD ?0658 - 0000070D F1 1139 POP AF - 0000070E 7D 1140 LD A,L - 0000070F B4 1141 OR H - 00000710 20 20 1142 JR NZ,?0097 - 00000712 1143 ?0096: - 00000712 6F 1144 LD L,A - 00000713 67 1145 LD H,A - 00000714 39 1146 ADD HL,SP - 00000715 7E 1147 LD A,(HL) - 00000716 C6 06 1148 ADD A,6 - 00000718 77 1149 LD (HL),A - 00000719 30 02 1150 JR NC,?0482 - 0000071B 23 1151 INC HL - 0000071C 34 1152 INC (HL) - 0000071D 1153 ?0482: - 0000071D 21 00 00 1154 LD HL,0 - 00000720 39 1155 ADD HL,SP - 00000721 E5 1156 PUSH HL - 00000722 0E 29 1157 LD C,41 - 00000724 C5 1158 PUSH BC - 00000725 CD 8A 06 1159 CALL LWRD ?0660 - 00000728 F1 1160 POP AF - 00000729 F1 1161 POP AF - 0000072A DD 75 07 1162 LD (IX+7),L - 0000072D DD 74 08 1163 LD (IX+8),H - 00000730 18 05 1164 JR ?0099 - 00000732 1165 ?0097: - 00000732 21 00 00 1166 LD HL,0 - 00000735 18 03 1167 JR ?0100 - 00000737 1168 ?0099: - 00000737 DD E5 1169 PUSH IX - 00000739 E1 1170 POP HL - 0000073A 1171 ?0100: - 0000073A F1 1172 POP AF - 0000073B C3 6B 00 1173 JP LWRD ?0614 - 0000073E 1174 dbParseUpdate: - 0000073E C5 1175 PUSH BC - 0000073F FD E5 1176 PUSH IY - 00000741 DD E5 1177 PUSH IX - 00000743 F5 1178 PUSH AF - 00000744 D5 1179 PUSH DE - 00000745 FD E1 1180 POP IY - 00000747 11 09 00 1181 LD DE,9 - 0000074A CD 8F 04 1182 CALL LWRD ?0641 - 0000074D E5 1183 PUSH HL - 0000074E DD E1 1184 POP IX - 00000750 36 75 1185 LD (HL),117 - 00000752 AF 1186 XOR A - 00000753 DD 77 05 1187 LD (IX+5),A - 00000756 DD 77 06 1188 LD (IX+6),A - 00000759 DD 77 07 1189 LD (IX+7),A - 0000075C DD 77 08 1190 LD (IX+8),A - 0000075F 6F 1191 LD L,A - 00000760 67 1192 LD H,A - 00000761 39 1193 ADD HL,SP - 00000762 36 04 1194 LD (HL),4 - 00000764 23 1195 INC HL - 00000765 77 1196 LD (HL),A - 00000766 2B 1197 DEC HL - 00000767 E5 1198 PUSH HL - 00000768 0E 20 1199 LD C,32 - 0000076A C5 1200 PUSH BC - 0000076B CD 8A 06 1201 CALL LWRD ?0660 - 0000076E F1 1202 POP AF - 0000076F F1 1203 POP AF - 00000770 DD 75 03 1204 LD (IX+3),L - 00000773 DD 74 04 1205 LD (IX+4),H - 00000776 21 04 00 1206 LD HL,4 - 00000779 E5 1207 PUSH HL - 0000077A 01 28 00 1208 LD BC,?0103 - 0000077D 2B 1209 DEC HL - 0000077E 2B 1210 DEC HL - 0000077F 39 1211 ADD HL,SP - 00000780 56 1212 LD D,(HL) - 00000781 23 1213 INC HL - 00000782 66 1214 LD H,(HL) - 00000783 6A 1215 LD L,D - 00000784 FD E5 1216 PUSH IY - 00000786 D1 1217 POP DE - 00000787 CD 5E 05 1218 CALL LWRD ?0658 - 0000078A F1 1219 POP AF - 0000078B 7D 1220 LD A,L - 0000078C B4 1221 OR H - 0000078D 20 0D 1222 JR NZ,?0102 - 0000078F 1223 ?0101: - 0000078F 6F 1224 LD L,A - 00000790 67 1225 LD H,A - 00000791 39 1226 ADD HL,SP - 00000792 7E 1227 LD A,(HL) - 00000793 C6 04 1228 ADD A,4 - 00000795 77 1229 LD (HL),A - 00000796 30 09 1230 JR NC,?0104 - 00000798 23 1231 INC HL - 00000799 34 1232 INC (HL) - 0000079A 18 05 1233 JR ?0104 - 0000079C 1234 ?0102: - 0000079C 21 00 00 1235 LD HL,0 - 0000079F 18 66 1236 JR ?0109 - 000007A1 1237 ?0104: - 000007A1 21 00 00 1238 LD HL,0 - 000007A4 39 1239 ADD HL,SP - 000007A5 E5 1240 PUSH HL - 000007A6 0E 20 1241 LD C,32 - 000007A8 C5 1242 PUSH BC - 000007A9 CD 8A 06 1243 CALL LWRD ?0660 - 000007AC F1 1244 POP AF - 000007AD F1 1245 POP AF - 000007AE DD 75 01 1246 LD (IX+1),L - 000007B1 DD 74 02 1247 LD (IX+2),H - 000007B4 21 03 00 1248 LD HL,3 - 000007B7 E5 1249 PUSH HL - 000007B8 01 15 00 1250 LD BC,?0085 - 000007BB 2B 1251 DEC HL - 000007BC 39 1252 ADD HL,SP - 000007BD 56 1253 LD D,(HL) - 000007BE 23 1254 INC HL - 000007BF 66 1255 LD H,(HL) - 000007C0 6A 1256 LD L,D - 000007C1 FD E5 1257 PUSH IY - 000007C3 D1 1258 POP DE - 000007C4 CD 5E 05 1259 CALL LWRD ?0658 - 000007C7 F1 1260 POP AF - 000007C8 7D 1261 LD A,L - 000007C9 B4 1262 OR H - 000007CA 20 38 1263 JR NZ,?0106 - 000007CC 1264 ?0105: - 000007CC 6F 1265 LD L,A - 000007CD 67 1266 LD H,A - 000007CE 39 1267 ADD HL,SP - 000007CF 7E 1268 LD A,(HL) - 000007D0 C6 03 1269 ADD A,3 - 000007D2 77 1270 LD (HL),A - 000007D3 30 02 1271 JR NC,?0488 - 000007D5 23 1272 INC HL - 000007D6 34 1273 INC (HL) - 000007D7 1274 ?0488: - 000007D7 21 00 00 1275 LD HL,0 - 000007DA 39 1276 ADD HL,SP - 000007DB 47 1277 LD B,A - 000007DC 23 1278 INC HL - 000007DD 66 1279 LD H,(HL) - 000007DE 68 1280 LD L,B - 000007DF FD E5 1281 PUSH IY - 000007E1 C1 1282 POP BC - 000007E2 09 1283 ADD HL,BC - 000007E3 7E 1284 LD A,(HL) - 000007E4 FE 20 1285 CP 32 - 000007E6 20 09 1286 JR NZ,?0489 - 000007E8 1287 ?0107: - 000007E8 21 00 00 1288 LD HL,0 - 000007EB 39 1289 ADD HL,SP - 000007EC 34 1290 INC (HL) - 000007ED 23 1291 INC HL - 000007EE 20 01 1292 JR NZ,?0489 - 000007F0 34 1293 INC (HL) - 000007F1 1294 ?0489: - 000007F1 1295 ?0108: - 000007F1 21 00 00 1296 LD HL,0 - 000007F4 39 1297 ADD HL,SP - 000007F5 E5 1298 PUSH HL - 000007F6 0E 20 1299 LD C,32 - 000007F8 C5 1300 PUSH BC - 000007F9 CD 8A 06 1301 CALL LWRD ?0660 - 000007FC F1 1302 POP AF - 000007FD F1 1303 POP AF - 000007FE DD 75 05 1304 LD (IX+5),L - 00000801 DD 74 06 1305 LD (IX+6),H - 00000804 1306 ?0106: - 00000804 DD E5 1307 PUSH IX - 00000806 E1 1308 POP HL - 00000807 1309 ?0109: - 00000807 F1 1310 POP AF - 00000808 C3 6B 00 1311 JP LWRD ?0614 - 0000080B 1312 dbParseDelete: - 0000080B C5 1313 PUSH BC - 0000080C FD E5 1314 PUSH IY - 0000080E DD E5 1315 PUSH IX - 00000810 F5 1316 PUSH AF - 00000811 D5 1317 PUSH DE - 00000812 FD E1 1318 POP IY - 00000814 11 09 00 1319 LD DE,9 - 00000817 CD 8F 04 1320 CALL LWRD ?0641 - 0000081A E5 1321 PUSH HL - 0000081B DD E1 1322 POP IX - 0000081D 36 64 1323 LD (HL),100 - 0000081F AF 1324 XOR A - 00000820 DD 77 05 1325 LD (IX+5),A - 00000823 DD 77 06 1326 LD (IX+6),A - 00000826 DD 77 07 1327 LD (IX+7),A - 00000829 DD 77 08 1328 LD (IX+8),A - 0000082C DD 77 01 1329 LD (IX+1),A - 0000082F DD 77 02 1330 LD (IX+2),A - 00000832 6F 1331 LD L,A - 00000833 67 1332 LD H,A - 00000834 39 1333 ADD HL,SP - 00000835 36 04 1334 LD (HL),4 - 00000837 23 1335 INC HL - 00000838 77 1336 LD (HL),A - 00000839 2B 1337 DEC HL - 0000083A E5 1338 PUSH HL - 0000083B 0E 20 1339 LD C,32 - 0000083D C5 1340 PUSH BC - 0000083E CD 8A 06 1341 CALL LWRD ?0660 - 00000841 F1 1342 POP AF - 00000842 F1 1343 POP AF - 00000843 DD 75 03 1344 LD (IX+3),L - 00000846 DD 74 04 1345 LD (IX+4),H - 00000849 21 03 00 1346 LD HL,3 - 0000084C E5 1347 PUSH HL - 0000084D 01 15 00 1348 LD BC,?0085 - 00000850 2B 1349 DEC HL - 00000851 39 1350 ADD HL,SP - 00000852 56 1351 LD D,(HL) - 00000853 23 1352 INC HL - 00000854 66 1353 LD H,(HL) - 00000855 6A 1354 LD L,D - 00000856 FD E5 1355 PUSH IY - 00000858 D1 1356 POP DE - 00000859 CD 5E 05 1357 CALL LWRD ?0658 - 0000085C F1 1358 POP AF - 0000085D 7D 1359 LD A,L - 0000085E B4 1360 OR H - 0000085F 20 38 1361 JR NZ,?0111 - 00000861 1362 ?0110: - 00000861 6F 1363 LD L,A - 00000862 67 1364 LD H,A - 00000863 39 1365 ADD HL,SP - 00000864 7E 1366 LD A,(HL) - 00000865 C6 03 1367 ADD A,3 - 00000867 77 1368 LD (HL),A - 00000868 30 02 1369 JR NC,?0492 - 0000086A 23 1370 INC HL - 0000086B 34 1371 INC (HL) - 0000086C 1372 ?0492: - 0000086C 21 00 00 1373 LD HL,0 - 0000086F 39 1374 ADD HL,SP - 00000870 47 1375 LD B,A - 00000871 23 1376 INC HL - 00000872 66 1377 LD H,(HL) - 00000873 68 1378 LD L,B - 00000874 FD E5 1379 PUSH IY - 00000876 C1 1380 POP BC - 00000877 09 1381 ADD HL,BC - 00000878 7E 1382 LD A,(HL) - 00000879 FE 20 1383 CP 32 - 0000087B 20 09 1384 JR NZ,?0493 - 0000087D 1385 ?0112: - 0000087D 21 00 00 1386 LD HL,0 - 00000880 39 1387 ADD HL,SP - 00000881 34 1388 INC (HL) - 00000882 23 1389 INC HL - 00000883 20 01 1390 JR NZ,?0493 - 00000885 34 1391 INC (HL) - 00000886 1392 ?0493: - 00000886 1393 ?0113: - 00000886 21 00 00 1394 LD HL,0 - 00000889 39 1395 ADD HL,SP - 0000088A E5 1396 PUSH HL - 0000088B 0E 20 1397 LD C,32 - 0000088D C5 1398 PUSH BC - 0000088E CD 8A 06 1399 CALL LWRD ?0660 - 00000891 F1 1400 POP AF - 00000892 F1 1401 POP AF - 00000893 DD 75 05 1402 LD (IX+5),L - 00000896 DD 74 06 1403 LD (IX+6),H - 00000899 1404 ?0111: - 00000899 DD E5 1405 PUSH IX - 0000089B E1 1406 POP HL - 0000089C F1 1407 POP AF - 0000089D C3 6B 00 1408 JP LWRD ?0614 - 000008A0 1409 dbTableOpen: - 000008A0 C5 1410 PUSH BC - 000008A1 FD E5 1411 PUSH IY - 000008A3 DD E5 1412 PUSH IX - 000008A5 DD 21 00 00 1413 LD IX,0 - 000008A9 DD 39 1414 ADD IX,SP - 000008AB F5 1415 PUSH AF - 000008AC F5 1416 PUSH AF - 000008AD F5 1417 PUSH AF - 000008AE F5 1418 PUSH AF - 000008AF D5 1419 PUSH DE - 000008B0 FD E1 1420 POP IY - 000008B2 11 40 00 1421 LD DE,64 - 000008B5 CD 8F 04 1422 CALL LWRD ?0641 - 000008B8 DD 75 F8 1423 LD (IX-8),L - 000008BB DD 74 F9 1424 LD (IX-7),H - 000008BE 01 2D 00 1425 LD BC,?0114 - 000008C1 EB 1426 EX DE,HL - 000008C2 CD 53 0B 1427 CALL LWRD ?0650 - 000008C5 CD 00 00 1428 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000008C8 01 36 00 1429 LD BC,?0115 - 000008CB DD 5E F8 1430 LD E,(IX-8) - 000008CE DD 56 F9 1431 LD D,(IX-7) - 000008D1 3E 00 1432 LD A,BYTE3 strcat - 000008D3 21 00 00 1433 LD HL,LWRD strcat - 000008D6 CD 00 00 1434 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000008D9 FD 36 0A 00 1435 LD (IY+10),0 - 000008DD 21 3B 00 1436 LD HL,?0116 - 000008E0 E5 1437 PUSH HL - 000008E1 21 00 00 1438 LD HL,0 - 000008E4 E5 1439 PUSH HL - 000008E5 01 FF FF 1440 LD BC,65535 - 000008E8 DD 5E F8 1441 LD E,(IX-8) - 000008EB DD 56 F9 1442 LD D,(IX-7) - 000008EE 3E 00 1443 LD A,BYTE3 __fopen - 000008F0 21 00 00 1444 LD HL,LWRD __fopen - 000008F3 CD 00 00 1445 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000008F6 F1 1446 POP AF - 000008F7 F1 1447 POP AF - 000008F8 DD 75 FC 1448 LD (IX-4),L - 000008FB DD 74 FD 1449 LD (IX-3),H - 000008FE E5 1450 PUSH HL - 000008FF 21 01 00 1451 LD HL,1 - 00000902 E5 1452 PUSH HL - 00000903 01 04 00 1453 LD BC,4 - 00000906 DD 5E F8 1454 LD E,(IX-8) - 00000909 DD 56 F9 1455 LD D,(IX-7) - 0000090C 3E 00 1456 LD A,BYTE3 fread - 0000090E 21 00 00 1457 LD HL,LWRD fread - 00000911 CD 00 00 1458 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000914 F1 1459 POP AF - 00000915 F1 1460 POP AF - 00000916 DD 6E F8 1461 LD L,(IX-8) - 00000919 DD 66 F9 1462 LD H,(IX-7) - 0000091C 7E 1463 LD A,(HL) - 0000091D FE 54 1464 CP 84 - 0000091F C2 2A 0B 1465 JP NZ,?0132 - 00000922 23 1466 INC HL - 00000923 7E 1467 LD A,(HL) - 00000924 FE 42 1468 CP 66 - 00000926 C2 2A 0B 1469 JP NZ,?0132 - 00000929 23 1470 INC HL - 0000092A 7E 1471 LD A,(HL) - 0000092B FE 4C 1472 CP 76 - 0000092D C2 2A 0B 1473 JP NZ,?0132 - 00000930 23 1474 INC HL - 00000931 7E 1475 LD A,(HL) - 00000932 FE 20 1476 CP 32 - 00000934 C2 2A 0B 1477 JP NZ,?0132 - 00000937 1478 ?0119: - 00000937 1479 ?0120: - 00000937 1480 ?0117: - 00000937 1481 ?0118: - 00000937 DD 6E FC 1482 LD L,(IX-4) - 0000093A DD 66 FD 1483 LD H,(IX-3) - 0000093D E5 1484 PUSH HL - 0000093E 21 01 00 1485 LD HL,1 - 00000941 E5 1486 PUSH HL - 00000942 01 04 00 1487 LD BC,4 - 00000945 DD 5E F8 1488 LD E,(IX-8) - 00000948 DD 56 F9 1489 LD D,(IX-7) - 0000094B 3E 00 1490 LD A,BYTE3 fread - 0000094D 21 00 00 1491 LD HL,LWRD fread - 00000950 CD 00 00 1492 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000953 F1 1493 POP AF - 00000954 F1 1494 POP AF - 00000955 DD 6E F8 1495 LD L,(IX-8) - 00000958 DD 66 F9 1496 LD H,(IX-7) - 0000095B 4E 1497 LD C,(HL) - 0000095C DD 71 FE 1498 LD (IX-2),C - 0000095F 06 00 1499 LD B,0 - 00000961 DD 70 FF 1500 LD (IX-1),B - 00000964 FD E5 1501 PUSH IY - 00000966 E1 1502 POP HL - 00000967 71 1503 LD (HL),C - 00000968 23 1504 INC HL - 00000969 70 1505 LD (HL),B - 0000096A 69 1506 LD L,C - 0000096B 60 1507 LD H,B - 0000096C 29 1508 ADD HL,HL - 0000096D 29 1509 ADD HL,HL - 0000096E 4D 1510 LD C,L - 0000096F 44 1511 LD B,H - 00000970 29 1512 ADD HL,HL - 00000971 09 1513 ADD HL,BC - 00000972 CD 8E 04 1514 CALL LWRD ?0642 - 00000975 FD 75 02 1515 LD (IY+2),L - 00000978 FD 74 03 1516 LD (IY+3),H - 0000097B AF 1517 XOR A - 0000097C DD 77 FA 1518 LD (IX-6),A - 0000097F DD 77 FB 1519 LD (IX-5),A - 00000982 1520 ?0123: - 00000982 DD 4E FE 1521 LD C,(IX-2) - 00000985 DD 46 FF 1522 LD B,(IX-1) - 00000988 DD 6E FA 1523 LD L,(IX-6) - 0000098B DD 66 FB 1524 LD H,(IX-5) - 0000098E F6 80 1525 OR 128 - 00000990 ED 42 1526 SBC HL,BC - 00000992 E2 96 09 1527 JP PO,?0494 - 00000995 AC 1528 XOR H - 00000996 1529 ?0494: - 00000996 F2 3F 0A 1530 JP P,?0122 - 00000999 1531 ?0124: - 00000999 DD 6E FC 1532 LD L,(IX-4) - 0000099C DD 66 FD 1533 LD H,(IX-3) - 0000099F E5 1534 PUSH HL - 000009A0 21 01 00 1535 LD HL,1 - 000009A3 E5 1536 PUSH HL - 000009A4 01 08 00 1537 LD BC,8 - 000009A7 FD 6E 02 1538 LD L,(IY+2) - 000009AA FD 66 03 1539 LD H,(IY+3) - 000009AD E5 1540 PUSH HL - 000009AE DD 6E FA 1541 LD L,(IX-6) - 000009B1 DD 66 FB 1542 LD H,(IX-5) - 000009B4 29 1543 ADD HL,HL - 000009B5 29 1544 ADD HL,HL - 000009B6 5D 1545 LD E,L - 000009B7 54 1546 LD D,H - 000009B8 29 1547 ADD HL,HL - 000009B9 19 1548 ADD HL,DE - 000009BA EB 1549 EX DE,HL - 000009BB E1 1550 POP HL - 000009BC 19 1551 ADD HL,DE - 000009BD EB 1552 EX DE,HL - 000009BE 3E 00 1553 LD A,BYTE3 fread - 000009C0 21 00 00 1554 LD HL,LWRD fread - 000009C3 CD 00 00 1555 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000009C6 F1 1556 POP AF - 000009C7 F1 1557 POP AF - 000009C8 FD 6E 02 1558 LD L,(IY+2) - 000009CB FD 66 03 1559 LD H,(IY+3) - 000009CE E5 1560 PUSH HL - 000009CF DD 6E FA 1561 LD L,(IX-6) - 000009D2 DD 66 FB 1562 LD H,(IX-5) - 000009D5 29 1563 ADD HL,HL - 000009D6 29 1564 ADD HL,HL - 000009D7 4D 1565 LD C,L - 000009D8 44 1566 LD B,H - 000009D9 29 1567 ADD HL,HL - 000009DA 09 1568 ADD HL,BC - 000009DB 4D 1569 LD C,L - 000009DC 44 1570 LD B,H - 000009DD E1 1571 POP HL - 000009DE 09 1572 ADD HL,BC - 000009DF 01 08 00 1573 LD BC,8 - 000009E2 09 1574 ADD HL,BC - 000009E3 70 1575 LD (HL),B - 000009E4 DD 6E FC 1576 LD L,(IX-4) - 000009E7 DD 66 FD 1577 LD H,(IX-3) - 000009EA E5 1578 PUSH HL - 000009EB 21 01 00 1579 LD HL,1 - 000009EE E5 1580 PUSH HL - 000009EF 0E 03 1581 LD C,3 - 000009F1 FD 6E 02 1582 LD L,(IY+2) - 000009F4 FD 66 03 1583 LD H,(IY+3) - 000009F7 E5 1584 PUSH HL - 000009F8 DD 6E FA 1585 LD L,(IX-6) - 000009FB DD 66 FB 1586 LD H,(IX-5) - 000009FE 29 1587 ADD HL,HL - 000009FF 29 1588 ADD HL,HL - 00000A00 5D 1589 LD E,L - 00000A01 54 1590 LD D,H - 00000A02 29 1591 ADD HL,HL - 00000A03 19 1592 ADD HL,DE - 00000A04 EB 1593 EX DE,HL - 00000A05 E1 1594 POP HL - 00000A06 19 1595 ADD HL,DE - 00000A07 11 09 00 1596 LD DE,9 - 00000A0A 19 1597 ADD HL,DE - 00000A0B EB 1598 EX DE,HL - 00000A0C 3E 00 1599 LD A,BYTE3 fread - 00000A0E 21 00 00 1600 LD HL,LWRD fread - 00000A11 CD 00 00 1601 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000A14 F1 1602 POP AF - 00000A15 F1 1603 POP AF - 00000A16 DD 6E FC 1604 LD L,(IX-4) - 00000A19 DD 66 FD 1605 LD H,(IX-3) - 00000A1C E5 1606 PUSH HL - 00000A1D 21 01 00 1607 LD HL,1 - 00000A20 E5 1608 PUSH HL - 00000A21 4D 1609 LD C,L - 00000A22 44 1610 LD B,H - 00000A23 DD 5E F8 1611 LD E,(IX-8) - 00000A26 DD 56 F9 1612 LD D,(IX-7) - 00000A29 3E 00 1613 LD A,BYTE3 fread - 00000A2B 21 00 00 1614 LD HL,LWRD fread - 00000A2E CD 00 00 1615 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000A31 F1 1616 POP AF - 00000A32 F1 1617 POP AF - 00000A33 DD 34 FA 1618 INC (IX-6) - 00000A36 C2 82 09 1619 JP NZ,?0123 - 00000A39 DD 34 FB 1620 INC (IX-5) - 00000A3C C3 82 09 1621 JP LWRD ?0123 - 00000A3F 1622 ?0122: - 00000A3F 01 2D 00 1623 LD BC,?0114 - 00000A42 DD 5E F8 1624 LD E,(IX-8) - 00000A45 DD 56 F9 1625 LD D,(IX-7) - 00000A48 CD 53 0B 1626 CALL LWRD ?0650 - 00000A4B CD 00 00 1627 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000A4E 01 3E 00 1628 LD BC,?0126 - 00000A51 DD 5E F8 1629 LD E,(IX-8) - 00000A54 DD 56 F9 1630 LD D,(IX-7) - 00000A57 3E 00 1631 LD A,BYTE3 strcat - 00000A59 21 00 00 1632 LD HL,LWRD strcat - 00000A5C CD 00 00 1633 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000A5F 21 43 00 1634 LD HL,?0127 - 00000A62 E5 1635 PUSH HL - 00000A63 21 00 00 1636 LD HL,0 - 00000A66 E5 1637 PUSH HL - 00000A67 01 FF FF 1638 LD BC,65535 - 00000A6A DD 5E F8 1639 LD E,(IX-8) - 00000A6D DD 56 F9 1640 LD D,(IX-7) - 00000A70 3E 00 1641 LD A,BYTE3 __fopen - 00000A72 21 00 00 1642 LD HL,LWRD __fopen - 00000A75 CD 00 00 1643 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000A78 F1 1644 POP AF - 00000A79 F1 1645 POP AF - 00000A7A FD 75 08 1646 LD (IY+8),L - 00000A7D FD 74 09 1647 LD (IY+9),H - 00000A80 FD 36 0A 01 1648 LD (IY+10),1 - 00000A84 FD 6E 08 1649 LD L,(IY+8) - 00000A87 FD 66 09 1650 LD H,(IY+9) - 00000A8A E5 1651 PUSH HL - 00000A8B 21 01 00 1652 LD HL,1 - 00000A8E E5 1653 PUSH HL - 00000A8F 01 04 00 1654 LD BC,4 - 00000A92 DD 5E F8 1655 LD E,(IX-8) - 00000A95 DD 56 F9 1656 LD D,(IX-7) - 00000A98 3E 00 1657 LD A,BYTE3 fread - 00000A9A 21 00 00 1658 LD HL,LWRD fread - 00000A9D CD 00 00 1659 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000AA0 F1 1660 POP AF - 00000AA1 F1 1661 POP AF - 00000AA2 DD 6E F8 1662 LD L,(IX-8) - 00000AA5 DD 66 F9 1663 LD H,(IX-7) - 00000AA8 7E 1664 LD A,(HL) - 00000AA9 FE 44 1665 CP 68 - 00000AAB 20 12 1666 JR NZ,?0130 - 00000AAD 23 1667 INC HL - 00000AAE 7E 1668 LD A,(HL) - 00000AAF FE 41 1669 CP 65 - 00000AB1 20 0C 1670 JR NZ,?0130 - 00000AB3 23 1671 INC HL - 00000AB4 7E 1672 LD A,(HL) - 00000AB5 FE 54 1673 CP 84 - 00000AB7 20 06 1674 JR NZ,?0130 - 00000AB9 23 1675 INC HL - 00000ABA 7E 1676 LD A,(HL) - 00000ABB FE 20 1677 CP 32 - 00000ABD 28 0F 1678 JR Z,?0129 - 00000ABF 1679 ?0130: - 00000ABF 1680 ?0131: - 00000ABF 1681 ?0128: - 00000ABF FD 36 0A 00 1682 LD (IY+10),0 - 00000AC3 FD 5E 08 1683 LD E,(IY+8) - 00000AC6 FD 56 09 1684 LD D,(IY+9) - 00000AC9 CD 4B 0B 1685 CALL LWRD ?0645 - 00000ACC 18 5C 1686 JR ?0132 - 00000ACE 1687 ?0129: - 00000ACE FD 6E 08 1688 LD L,(IY+8) - 00000AD1 FD 66 09 1689 LD H,(IY+9) - 00000AD4 E5 1690 PUSH HL - 00000AD5 21 01 00 1691 LD HL,1 - 00000AD8 E5 1692 PUSH HL - 00000AD9 01 02 00 1693 LD BC,2 - 00000ADC 2E 04 1694 LD L,4 - 00000ADE FD E5 1695 PUSH IY - 00000AE0 D1 1696 POP DE - 00000AE1 19 1697 ADD HL,DE - 00000AE2 EB 1698 EX DE,HL - 00000AE3 3E 00 1699 LD A,BYTE3 fread - 00000AE5 21 00 00 1700 LD HL,LWRD fread - 00000AE8 CD 00 00 1701 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000AEB F1 1702 POP AF - 00000AEC F1 1703 POP AF - 00000AED FD 6E 08 1704 LD L,(IY+8) - 00000AF0 FD 66 09 1705 LD H,(IY+9) - 00000AF3 E5 1706 PUSH HL - 00000AF4 21 01 00 1707 LD HL,1 - 00000AF7 E5 1708 PUSH HL - 00000AF8 01 02 00 1709 LD BC,2 - 00000AFB 2E 06 1710 LD L,6 - 00000AFD FD E5 1711 PUSH IY - 00000AFF D1 1712 POP DE - 00000B00 19 1713 ADD HL,DE - 00000B01 EB 1714 EX DE,HL - 00000B02 3E 00 1715 LD A,BYTE3 fread - 00000B04 21 00 00 1716 LD HL,LWRD fread - 00000B07 CD 00 00 1717 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000B0A F1 1718 POP AF - 00000B0B F1 1719 POP AF - 00000B0C FD 6E 08 1720 LD L,(IY+8) - 00000B0F FD 66 09 1721 LD H,(IY+9) - 00000B12 E5 1722 PUSH HL - 00000B13 21 01 00 1723 LD HL,1 - 00000B16 E5 1724 PUSH HL - 00000B17 01 02 00 1725 LD BC,2 - 00000B1A DD 5E F8 1726 LD E,(IX-8) - 00000B1D DD 56 F9 1727 LD D,(IX-7) - 00000B20 3E 00 1728 LD A,BYTE3 fread - 00000B22 21 00 00 1729 LD HL,LWRD fread - 00000B25 CD 00 00 1730 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000B28 F1 1731 POP AF - 00000B29 F1 1732 POP AF - 00000B2A 1733 ?0132: - 00000B2A 1734 ?0121: - 00000B2A DD 5E FC 1735 LD E,(IX-4) - 00000B2D DD 56 FD 1736 LD D,(IX-3) - 00000B30 CD 4B 0B 1737 CALL LWRD ?0645 - 00000B33 DD 5E F8 1738 LD E,(IX-8) - 00000B36 DD 56 F9 1739 LD D,(IX-7) - 00000B39 CD 3B 00 1740 CALL LWRD ?0639 - 00000B3C DD F9 1741 LD SP,IX - 00000B3E C3 6B 00 1742 JP LWRD ?0614 - 00000B41 1743 ?0646: - 00000B41 D5 1744 PUSH DE - 00000B42 DD E1 1745 POP IX - 00000B44 21 08 00 1746 LD HL,8 - 00000B47 19 1747 ADD HL,DE - 00000B48 5E 1748 LD E,(HL) - 00000B49 23 1749 INC HL - 00000B4A 56 1750 LD D,(HL) - 00000B4B 1751 ?0645: - 00000B4B 3E 00 1752 LD A,BYTE3 fclose - 00000B4D 21 00 00 1753 LD HL,LWRD fclose - 00000B50 C3 00 00 1754 JP LWRD ?BANK_CALL_DIRECT_L08 - 00000B53 1755 ?0650: - 00000B53 3E 00 1756 LD A,BYTE3 strcpy - 00000B55 21 00 00 1757 LD HL,LWRD strcpy - 00000B58 CD 00 00 1758 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000B5B 21 0B 00 1759 LD HL,11 - 00000B5E FD E5 1760 PUSH IY - 00000B60 C1 1761 POP BC - 00000B61 09 1762 ADD HL,BC - 00000B62 4D 1763 LD C,L - 00000B63 44 1764 LD B,H - 00000B64 DD 5E F8 1765 LD E,(IX-8) - 00000B67 DD 56 F9 1766 LD D,(IX-7) - 00000B6A 3E 00 1767 LD A,BYTE3 strcat - 00000B6C 21 00 00 1768 LD HL,LWRD strcat - 00000B6F C9 1769 RET - 00000B70 1770 dbTableClose: - 00000B70 DD E5 1771 PUSH IX - 00000B72 CD 41 0B 1772 CALL LWRD ?0646 - 00000B75 DD 5E 02 1773 LD E,(IX+2) - 00000B78 DD 56 03 1774 LD D,(IX+3) - 00000B7B 3E 00 1775 LD A,BYTE3 free - 00000B7D 21 00 00 1776 LD HL,LWRD free - 00000B80 1777 ?0634: - 00000B80 CD 00 00 1778 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000B83 1779 ?0636: - 00000B83 DD E5 1780 PUSH IX - 00000B85 D1 1781 POP DE - 00000B86 CD 3B 00 1782 CALL LWRD ?0639 - 00000B89 DD E1 1783 POP IX - 00000B8B C3 00 00 1784 JP LWRD ?BANK_FAST_LEAVE_L08 - 00000B8E 1785 dbStatementClose: - 00000B8E DD E5 1786 PUSH IX - 00000B90 D5 1787 PUSH DE - 00000B91 DD E1 1788 POP IX - 00000B93 13 1789 INC DE - 00000B94 EB 1790 EX DE,HL - 00000B95 5E 1791 LD E,(HL) - 00000B96 23 1792 INC HL - 00000B97 56 1793 LD D,(HL) - 00000B98 3E 00 1794 LD A,BYTE3 dbDeleteList - 00000B9A 21 00 00 1795 LD HL,LWRD dbDeleteList - 00000B9D CD 00 00 1796 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000BA0 DD 5E 03 1797 LD E,(IX+3) - 00000BA3 DD 56 04 1798 LD D,(IX+4) - 00000BA6 3E 00 1799 LD A,BYTE3 dbDeleteList - 00000BA8 21 00 00 1800 LD HL,LWRD dbDeleteList - 00000BAB CD 00 00 1801 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000BAE DD 5E 05 1802 LD E,(IX+5) - 00000BB1 DD 56 06 1803 LD D,(IX+6) - 00000BB4 3E 00 1804 LD A,BYTE3 dbDeleteList - 00000BB6 21 00 00 1805 LD HL,LWRD dbDeleteList - 00000BB9 CD 00 00 1806 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000BBC DD 5E 07 1807 LD E,(IX+7) - 00000BBF DD 56 08 1808 LD D,(IX+8) - 00000BC2 3E 00 1809 LD A,BYTE3 dbDeleteList - 00000BC4 21 00 00 1810 LD HL,LWRD dbDeleteList - 00000BC7 C3 80 0B 1811 JP LWRD ?0634 - 00000BCA 1812 dbResultSetClose: - 00000BCA DD E5 1813 PUSH IX - 00000BCC CD 41 0B 1814 CALL LWRD ?0646 - 00000BCF DD 5E 02 1815 LD E,(IX+2) - 00000BD2 DD 56 03 1816 LD D,(IX+3) - 00000BD5 3E 00 1817 LD A,BYTE3 free - 00000BD7 21 00 00 1818 LD HL,LWRD free - 00000BDA C3 80 0B 1819 JP LWRD ?0634 - 00000BDD 1820 dbFieldOffset: - 00000BDD FD E5 1821 PUSH IY - 00000BDF DD E5 1822 PUSH IX - 00000BE1 C5 1823 PUSH BC - 00000BE2 D5 1824 PUSH DE - 00000BE3 DD 21 00 00 1825 LD IX,0 - 00000BE7 FD 21 00 00 1826 LD IY,0 - 00000BEB 1827 ?0134: - 00000BEB 21 02 00 1828 LD HL,2 - 00000BEE 39 1829 ADD HL,SP - 00000BEF 4E 1830 LD C,(HL) - 00000BF0 23 1831 INC HL - 00000BF1 46 1832 LD B,(HL) - 00000BF2 FD E5 1833 PUSH IY - 00000BF4 E1 1834 POP HL - 00000BF5 F6 80 1835 OR 128 - 00000BF7 ED 42 1836 SBC HL,BC - 00000BF9 E2 FD 0B 1837 JP PO,?0498 - 00000BFC AC 1838 XOR H - 00000BFD 1839 ?0498: - 00000BFD F2 27 0C 1840 JP P,?0133 - 00000C00 1841 ?0135: - 00000C00 21 00 00 1842 LD HL,0 - 00000C03 39 1843 ADD HL,SP - 00000C04 46 1844 LD B,(HL) - 00000C05 23 1845 INC HL - 00000C06 66 1846 LD H,(HL) - 00000C07 68 1847 LD L,B - 00000C08 23 1848 INC HL - 00000C09 23 1849 INC HL - 00000C0A 46 1850 LD B,(HL) - 00000C0B 23 1851 INC HL - 00000C0C 66 1852 LD H,(HL) - 00000C0D 68 1853 LD L,B - 00000C0E E5 1854 PUSH HL - 00000C0F FD E5 1855 PUSH IY - 00000C11 E1 1856 POP HL - 00000C12 29 1857 ADD HL,HL - 00000C13 29 1858 ADD HL,HL - 00000C14 4D 1859 LD C,L - 00000C15 44 1860 LD B,H - 00000C16 29 1861 ADD HL,HL - 00000C17 09 1862 ADD HL,BC - 00000C18 4D 1863 LD C,L - 00000C19 44 1864 LD B,H - 00000C1A E1 1865 POP HL - 00000C1B 09 1866 ADD HL,BC - 00000C1C 01 0A 00 1867 LD BC,10 - 00000C1F 09 1868 ADD HL,BC - 00000C20 4E 1869 LD C,(HL) - 00000C21 DD 09 1870 ADD IX,BC - 00000C23 FD 23 1871 INC IY - 00000C25 18 C4 1872 JR ?0134 - 00000C27 1873 ?0133: - 00000C27 DD 23 1874 INC IX - 00000C29 DD 23 1875 INC IX - 00000C2B DD E5 1876 PUSH IX - 00000C2D E1 1877 POP HL - 00000C2E F1 1878 POP AF - 00000C2F C3 E1 02 1879 JP LWRD ?0626 - 00000C32 1880 dbRecordSize: - 00000C32 C5 1881 PUSH BC - 00000C33 DD E5 1882 PUSH IX - 00000C35 D5 1883 PUSH DE - 00000C36 DD E1 1884 POP IX - 00000C38 1A 1885 LD A,(DE) - 00000C39 4F 1886 LD C,A - 00000C3A 13 1887 INC DE - 00000C3B 1A 1888 LD A,(DE) - 00000C3C 47 1889 LD B,A - 00000C3D DD E5 1890 PUSH IX - 00000C3F D1 1891 POP DE - 00000C40 3E DD 1892 LD A,BYTE3 dbFieldOffset - 00000C42 21 DD 0B 1893 LD HL,LWRD dbFieldOffset - 00000C45 CD 00 00 1894 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000C48 DD E1 1895 POP IX - 00000C4A C1 1896 POP BC - 00000C4B C3 00 00 1897 JP LWRD ?BANK_FAST_LEAVE_L08 - 00000C4E 1898 dbFieldSearch: - 00000C4E FD E5 1899 PUSH IY - 00000C50 DD E5 1900 PUSH IX - 00000C52 C5 1901 PUSH BC - 00000C53 D5 1902 PUSH DE - 00000C54 FD E1 1903 POP IY - 00000C56 DD 21 00 00 1904 LD IX,0 - 00000C5A 1905 ?0138: - 00000C5A FD 4E 00 1906 LD C,(IY+0) - 00000C5D FD 46 01 1907 LD B,(IY+1) - 00000C60 DD E5 1908 PUSH IX - 00000C62 E1 1909 POP HL - 00000C63 F6 80 1910 OR 128 - 00000C65 ED 42 1911 SBC HL,BC - 00000C67 E2 6B 0C 1912 JP PO,?0500 - 00000C6A AC 1913 XOR H - 00000C6B 1914 ?0500: - 00000C6B F2 9E 0C 1915 JP P,?0137 - 00000C6E 1916 ?0139: - 00000C6E 21 00 00 1917 LD HL,0 - 00000C71 39 1918 ADD HL,SP - 00000C72 4E 1919 LD C,(HL) - 00000C73 23 1920 INC HL - 00000C74 46 1921 LD B,(HL) - 00000C75 FD 6E 02 1922 LD L,(IY+2) - 00000C78 FD 66 03 1923 LD H,(IY+3) - 00000C7B E5 1924 PUSH HL - 00000C7C DD E5 1925 PUSH IX - 00000C7E E1 1926 POP HL - 00000C7F 29 1927 ADD HL,HL - 00000C80 29 1928 ADD HL,HL - 00000C81 5D 1929 LD E,L - 00000C82 54 1930 LD D,H - 00000C83 29 1931 ADD HL,HL - 00000C84 19 1932 ADD HL,DE - 00000C85 EB 1933 EX DE,HL - 00000C86 E1 1934 POP HL - 00000C87 19 1935 ADD HL,DE - 00000C88 EB 1936 EX DE,HL - 00000C89 3E 00 1937 LD A,BYTE3 strcmp - 00000C8B 21 00 00 1938 LD HL,LWRD strcmp - 00000C8E CD 00 00 1939 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000C91 7D 1940 LD A,L - 00000C92 B4 1941 OR H - 00000C93 20 05 1942 JR NZ,?0142 - 00000C95 1943 ?0141: - 00000C95 DD E5 1944 PUSH IX - 00000C97 E1 1945 POP HL - 00000C98 18 07 1946 JR ?0143 - 00000C9A 1947 ?0142: - 00000C9A DD 23 1948 INC IX - 00000C9C 18 BC 1949 JR ?0138 - 00000C9E 1950 ?0137: - 00000C9E 21 FF FF 1951 LD HL,65535 - 00000CA1 1952 ?0143: - 00000CA1 C3 E1 02 1953 JP LWRD ?0626 - 00000CA4 1954 dbExecuteQuery: - 00000CA4 C5 1955 PUSH BC - 00000CA5 FD E5 1956 PUSH IY - 00000CA7 DD E5 1957 PUSH IX - 00000CA9 DD 21 00 00 1958 LD IX,0 - 00000CAD DD 39 1959 ADD IX,SP - 00000CAF D5 1960 PUSH DE - 00000CB0 21 DE FF 1961 LD HL,65502 - 00000CB3 39 1962 ADD HL,SP - 00000CB4 F9 1963 LD SP,HL - 00000CB5 11 0A 00 1964 LD DE,10 - 00000CB8 CD 8F 04 1965 CALL LWRD ?0641 - 00000CBB E5 1966 PUSH HL - 00000CBC FD E1 1967 POP IY - 00000CBE 11 14 00 1968 LD DE,20 - 00000CC1 CD 8F 04 1969 CALL LWRD ?0641 - 00000CC4 DD 75 DE 1970 LD (IX-34),L - 00000CC7 DD 74 DF 1971 LD (IX-33),H - 00000CCA AF 1972 XOR A - 00000CCB DD 77 F8 1973 LD (IX-8),A - 00000CCE DD 77 F9 1974 LD (IX-7),A - 00000CD1 CD 2F 12 1975 CALL LWRD ?0661 - 00000CD4 DD 75 FA 1976 LD (IX-6),L - 00000CD7 DD 74 FB 1977 LD (IX-5),H - 00000CDA DD 6E FE 1978 LD L,(IX-2) - 00000CDD DD 66 FF 1979 LD H,(IX-1) - 00000CE0 23 1980 INC HL - 00000CE1 23 1981 INC HL - 00000CE2 23 1982 INC HL - 00000CE3 46 1983 LD B,(HL) - 00000CE4 23 1984 INC HL - 00000CE5 66 1985 LD H,(HL) - 00000CE6 68 1986 LD L,B - 00000CE7 01 04 00 1987 LD BC,4 - 00000CEA 09 1988 ADD HL,BC - 00000CEB 4E 1989 LD C,(HL) - 00000CEC 23 1990 INC HL - 00000CED 46 1991 LD B,(HL) - 00000CEE 21 0B 00 1992 LD HL,11 - 00000CF1 DD 5E DE 1993 LD E,(IX-34) - 00000CF4 DD 56 DF 1994 LD D,(IX-33) - 00000CF7 CD AB 04 1995 CALL LWRD ?0653 - 00000CFA DD 5E DE 1996 LD E,(IX-34) - 00000CFD DD 56 DF 1997 LD D,(IX-33) - 00000D00 3E A0 1998 LD A,BYTE3 dbTableOpen - 00000D02 21 A0 08 1999 LD HL,LWRD dbTableOpen - 00000D05 CD 00 00 2000 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000D08 AF 2001 XOR A - 00000D09 FD 77 04 2002 LD (IY+4),A - 00000D0C FD 77 05 2003 LD (IY+5),A - 00000D0F FD 77 06 2004 LD (IY+6),A - 00000D12 FD 77 07 2005 LD (IY+7),A - 00000D15 01 47 00 2006 LD BC,?0146 - 00000D18 DD 6E FE 2007 LD L,(IX-2) - 00000D1B DD 66 FF 2008 LD H,(IX-1) - 00000D1E 23 2009 INC HL - 00000D1F 56 2010 LD D,(HL) - 00000D20 23 2011 INC HL - 00000D21 66 2012 LD H,(HL) - 00000D22 6A 2013 LD L,D - 00000D23 11 04 00 2014 LD DE,4 - 00000D26 19 2015 ADD HL,DE - 00000D27 5E 2016 LD E,(HL) - 00000D28 23 2017 INC HL - 00000D29 56 2018 LD D,(HL) - 00000D2A 3E 00 2019 LD A,BYTE3 strcmp - 00000D2C 21 00 00 2020 LD HL,LWRD strcmp - 00000D2F CD 00 00 2021 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000D32 7D 2022 LD A,L - 00000D33 B4 2023 OR H - 00000D34 C2 2E 0E 2024 JP NZ,?0145 - 00000D37 2025 ?0144: - 00000D37 DD 6E DE 2026 LD L,(IX-34) - 00000D3A DD 66 DF 2027 LD H,(IX-33) - 00000D3D 46 2028 LD B,(HL) - 00000D3E 23 2029 INC HL - 00000D3F 66 2030 LD H,(HL) - 00000D40 68 2031 LD L,B - 00000D41 E5 2032 PUSH HL - 00000D42 FD E5 2033 PUSH IY - 00000D44 E1 2034 POP HL - 00000D45 C1 2035 POP BC - 00000D46 CD 84 04 2036 CALL LWRD ?0643 - 00000D49 CD E0 11 2037 CALL LWRD ?0640 - 00000D4C CD 00 00 2038 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000D4F FD 75 02 2039 LD (IY+2),L - 00000D52 FD 74 03 2040 LD (IY+3),H - 00000D55 AF 2041 XOR A - 00000D56 DD 77 EE 2042 LD (IX-18),A - 00000D59 DD 77 EF 2043 LD (IX-17),A - 00000D5C 2044 ?0148: - 00000D5C FD 4E 00 2045 LD C,(IY+0) - 00000D5F FD 46 01 2046 LD B,(IY+1) - 00000D62 DD 6E EE 2047 LD L,(IX-18) - 00000D65 DD 66 EF 2048 LD H,(IX-17) - 00000D68 F6 80 2049 OR 128 - 00000D6A ED 42 2050 SBC HL,BC - 00000D6C E2 70 0D 2051 JP PO,?0501 - 00000D6F AC 2052 XOR H - 00000D70 2053 ?0501: - 00000D70 F2 61 0F 2054 JP P,?0152 - 00000D73 2055 ?0149: - 00000D73 DD 6E DE 2056 LD L,(IX-34) - 00000D76 DD 66 DF 2057 LD H,(IX-33) - 00000D79 23 2058 INC HL - 00000D7A 23 2059 INC HL - 00000D7B 46 2060 LD B,(HL) - 00000D7C 23 2061 INC HL - 00000D7D 66 2062 LD H,(HL) - 00000D7E 68 2063 LD L,B - 00000D7F E5 2064 PUSH HL - 00000D80 DD 6E EE 2065 LD L,(IX-18) - 00000D83 DD 66 EF 2066 LD H,(IX-17) - 00000D86 29 2067 ADD HL,HL - 00000D87 29 2068 ADD HL,HL - 00000D88 4D 2069 LD C,L - 00000D89 44 2070 LD B,H - 00000D8A 29 2071 ADD HL,HL - 00000D8B 09 2072 ADD HL,BC - 00000D8C 4D 2073 LD C,L - 00000D8D 44 2074 LD B,H - 00000D8E E1 2075 POP HL - 00000D8F 09 2076 ADD HL,BC - 00000D90 DD 75 E0 2077 LD (IX-32),L - 00000D93 DD 74 E1 2078 LD (IX-31),H - 00000D96 DD 6E EE 2079 LD L,(IX-18) - 00000D99 DD 66 EF 2080 LD H,(IX-17) - 00000D9C 29 2081 ADD HL,HL - 00000D9D DD 4E E4 2082 LD C,(IX-28) - 00000DA0 DD 46 E5 2083 LD B,(IX-27) - 00000DA3 09 2084 ADD HL,BC - 00000DA4 E5 2085 PUSH HL - 00000DA5 DD 4E EE 2086 LD C,(IX-18) - 00000DA8 DD 46 EF 2087 LD B,(IX-17) - 00000DAB DD 5E DE 2088 LD E,(IX-34) - 00000DAE DD 56 DF 2089 LD D,(IX-33) - 00000DB1 3E DD 2090 LD A,BYTE3 dbFieldOffset - 00000DB3 21 DD 0B 2091 LD HL,LWRD dbFieldOffset - 00000DB6 CD 00 00 2092 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000DB9 4D 2093 LD C,L - 00000DBA 44 2094 LD B,H - 00000DBB E1 2095 POP HL - 00000DBC 71 2096 LD (HL),C - 00000DBD 23 2097 INC HL - 00000DBE 70 2098 LD (HL),B - 00000DBF DD 6E EE 2099 LD L,(IX-18) - 00000DC2 DD 66 EF 2100 LD H,(IX-17) - 00000DC5 29 2101 ADD HL,HL - 00000DC6 DD 4E E6 2102 LD C,(IX-26) - 00000DC9 DD 46 E7 2103 LD B,(IX-25) - 00000DCC 09 2104 ADD HL,BC - 00000DCD E5 2105 PUSH HL - 00000DCE 21 0A 00 2106 LD HL,10 - 00000DD1 DD 4E E0 2107 LD C,(IX-32) - 00000DD4 DD 46 E1 2108 LD B,(IX-31) - 00000DD7 09 2109 ADD HL,BC - 00000DD8 4E 2110 LD C,(HL) - 00000DD9 06 00 2111 LD B,0 - 00000DDB E1 2112 POP HL - 00000DDC 71 2113 LD (HL),C - 00000DDD 23 2114 INC HL - 00000DDE 70 2115 LD (HL),B - 00000DDF 21 0C 00 2116 LD HL,12 - 00000DE2 E5 2117 PUSH HL - 00000DE3 DD 6E DE 2118 LD L,(IX-34) - 00000DE6 DD 66 DF 2119 LD H,(IX-33) - 00000DE9 23 2120 INC HL - 00000DEA 23 2121 INC HL - 00000DEB 46 2122 LD B,(HL) - 00000DEC 23 2123 INC HL - 00000DED 66 2124 LD H,(HL) - 00000DEE 68 2125 LD L,B - 00000DEF E5 2126 PUSH HL - 00000DF0 DD 6E EE 2127 LD L,(IX-18) - 00000DF3 DD 66 EF 2128 LD H,(IX-17) - 00000DF6 29 2129 ADD HL,HL - 00000DF7 29 2130 ADD HL,HL - 00000DF8 4D 2131 LD C,L - 00000DF9 44 2132 LD B,H - 00000DFA 29 2133 ADD HL,HL - 00000DFB 09 2134 ADD HL,BC - 00000DFC 4D 2135 LD C,L - 00000DFD 44 2136 LD B,H - 00000DFE E1 2137 POP HL - 00000DFF 09 2138 ADD HL,BC - 00000E00 4D 2139 LD C,L - 00000E01 44 2140 LD B,H - 00000E02 FD 6E 02 2141 LD L,(IY+2) - 00000E05 FD 66 03 2142 LD H,(IY+3) - 00000E08 E5 2143 PUSH HL - 00000E09 DD 6E EE 2144 LD L,(IX-18) - 00000E0C DD 66 EF 2145 LD H,(IX-17) - 00000E0F 29 2146 ADD HL,HL - 00000E10 29 2147 ADD HL,HL - 00000E11 5D 2148 LD E,L - 00000E12 54 2149 LD D,H - 00000E13 29 2150 ADD HL,HL - 00000E14 19 2151 ADD HL,DE - 00000E15 EB 2152 EX DE,HL - 00000E16 E1 2153 POP HL - 00000E17 19 2154 ADD HL,DE - 00000E18 EB 2155 EX DE,HL - 00000E19 3E 00 2156 LD A,BYTE3 memcpy - 00000E1B 21 00 00 2157 LD HL,LWRD memcpy - 00000E1E CD 00 00 2158 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000E21 F1 2159 POP AF - 00000E22 DD 34 EE 2160 INC (IX-18) - 00000E25 C2 5C 0D 2161 JP NZ,?0148 - 00000E28 DD 34 EF 2162 INC (IX-17) - 00000E2B C3 5C 0D 2163 JP LWRD ?0148 - 00000E2E 2164 ?0147: - 00000E2E 2165 ?0145: - 00000E2E CD 0F 12 2166 CALL LWRD ?0647 - 00000E31 E5 2167 PUSH HL - 00000E32 FD E5 2168 PUSH IY - 00000E34 E1 2169 POP HL - 00000E35 C1 2170 POP BC - 00000E36 CD 84 04 2171 CALL LWRD ?0643 - 00000E39 CD E0 11 2172 CALL LWRD ?0640 - 00000E3C CD 00 00 2173 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000E3F FD 75 02 2174 LD (IY+2),L - 00000E42 FD 74 03 2175 LD (IY+3),H - 00000E45 DD 6E FE 2176 LD L,(IX-2) - 00000E48 DD 66 FF 2177 LD H,(IX-1) - 00000E4B 23 2178 INC HL - 00000E4C 46 2179 LD B,(HL) - 00000E4D DD 70 E2 2180 LD (IX-30),B - 00000E50 23 2181 INC HL - 00000E51 66 2182 LD H,(HL) - 00000E52 DD 74 E3 2183 LD (IX-29),H - 00000E55 AF 2184 XOR A - 00000E56 DD 77 EE 2185 LD (IX-18),A - 00000E59 DD 77 EF 2186 LD (IX-17),A - 00000E5C 2187 ?0153: - 00000E5C FD 4E 00 2188 LD C,(IY+0) - 00000E5F FD 46 01 2189 LD B,(IY+1) - 00000E62 DD 6E EE 2190 LD L,(IX-18) - 00000E65 DD 66 EF 2191 LD H,(IX-17) - 00000E68 F6 80 2192 OR 128 - 00000E6A ED 42 2193 SBC HL,BC - 00000E6C E2 70 0E 2194 JP PO,?0503 - 00000E6F AC 2195 XOR H - 00000E70 2196 ?0503: - 00000E70 F2 61 0F 2197 JP P,?0152 - 00000E73 2198 ?0154: - 00000E73 21 04 00 2199 LD HL,4 - 00000E76 DD 4E E2 2200 LD C,(IX-30) - 00000E79 DD 46 E3 2201 LD B,(IX-29) - 00000E7C 09 2202 ADD HL,BC - 00000E7D 4E 2203 LD C,(HL) - 00000E7E 23 2204 INC HL - 00000E7F 46 2205 LD B,(HL) - 00000E80 DD 5E DE 2206 LD E,(IX-34) - 00000E83 DD 56 DF 2207 LD D,(IX-33) - 00000E86 3E 4E 2208 LD A,BYTE3 dbFieldSearch - 00000E88 21 4E 0C 2209 LD HL,LWRD dbFieldSearch - 00000E8B CD 00 00 2210 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000E8E DD 75 FC 2211 LD (IX-4),L - 00000E91 DD 74 FD 2212 LD (IX-3),H - 00000E94 DD 4E DE 2213 LD C,(IX-34) - 00000E97 DD 46 DF 2214 LD B,(IX-33) - 00000E9A 03 2215 INC BC - 00000E9B 03 2216 INC BC - 00000E9C 0A 2217 LD A,(BC) - 00000E9D 6F 2218 LD L,A - 00000E9E 03 2219 INC BC - 00000E9F 0A 2220 LD A,(BC) - 00000EA0 67 2221 LD H,A - 00000EA1 E5 2222 PUSH HL - 00000EA2 DD 6E FC 2223 LD L,(IX-4) - 00000EA5 DD 66 FD 2224 LD H,(IX-3) - 00000EA8 29 2225 ADD HL,HL - 00000EA9 29 2226 ADD HL,HL - 00000EAA 4D 2227 LD C,L - 00000EAB 44 2228 LD B,H - 00000EAC 29 2229 ADD HL,HL - 00000EAD 09 2230 ADD HL,BC - 00000EAE 4D 2231 LD C,L - 00000EAF 44 2232 LD B,H - 00000EB0 E1 2233 POP HL - 00000EB1 09 2234 ADD HL,BC - 00000EB2 DD 75 E0 2235 LD (IX-32),L - 00000EB5 DD 74 E1 2236 LD (IX-31),H - 00000EB8 DD 6E EE 2237 LD L,(IX-18) - 00000EBB DD 66 EF 2238 LD H,(IX-17) - 00000EBE 29 2239 ADD HL,HL - 00000EBF DD 4E E4 2240 LD C,(IX-28) - 00000EC2 DD 46 E5 2241 LD B,(IX-27) - 00000EC5 09 2242 ADD HL,BC - 00000EC6 E5 2243 PUSH HL - 00000EC7 DD 4E FC 2244 LD C,(IX-4) - 00000ECA DD 46 FD 2245 LD B,(IX-3) - 00000ECD DD 5E DE 2246 LD E,(IX-34) - 00000ED0 DD 56 DF 2247 LD D,(IX-33) - 00000ED3 3E DD 2248 LD A,BYTE3 dbFieldOffset - 00000ED5 21 DD 0B 2249 LD HL,LWRD dbFieldOffset - 00000ED8 CD 00 00 2250 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000EDB 4D 2251 LD C,L - 00000EDC 44 2252 LD B,H - 00000EDD E1 2253 POP HL - 00000EDE 71 2254 LD (HL),C - 00000EDF 23 2255 INC HL - 00000EE0 70 2256 LD (HL),B - 00000EE1 DD 6E EE 2257 LD L,(IX-18) - 00000EE4 DD 66 EF 2258 LD H,(IX-17) - 00000EE7 29 2259 ADD HL,HL - 00000EE8 DD 4E E6 2260 LD C,(IX-26) - 00000EEB DD 46 E7 2261 LD B,(IX-25) - 00000EEE 09 2262 ADD HL,BC - 00000EEF E5 2263 PUSH HL - 00000EF0 21 0A 00 2264 LD HL,10 - 00000EF3 DD 4E E0 2265 LD C,(IX-32) - 00000EF6 DD 46 E1 2266 LD B,(IX-31) - 00000EF9 09 2267 ADD HL,BC - 00000EFA 4E 2268 LD C,(HL) - 00000EFB 06 00 2269 LD B,0 - 00000EFD E1 2270 POP HL - 00000EFE 71 2271 LD (HL),C - 00000EFF 23 2272 INC HL - 00000F00 70 2273 LD (HL),B - 00000F01 21 0C 00 2274 LD HL,12 - 00000F04 E5 2275 PUSH HL - 00000F05 DD 6E DE 2276 LD L,(IX-34) - 00000F08 DD 66 DF 2277 LD H,(IX-33) - 00000F0B 23 2278 INC HL - 00000F0C 23 2279 INC HL - 00000F0D 46 2280 LD B,(HL) - 00000F0E 23 2281 INC HL - 00000F0F 66 2282 LD H,(HL) - 00000F10 68 2283 LD L,B - 00000F11 E5 2284 PUSH HL - 00000F12 DD 6E FC 2285 LD L,(IX-4) - 00000F15 DD 66 FD 2286 LD H,(IX-3) - 00000F18 29 2287 ADD HL,HL - 00000F19 29 2288 ADD HL,HL - 00000F1A 4D 2289 LD C,L - 00000F1B 44 2290 LD B,H - 00000F1C 29 2291 ADD HL,HL - 00000F1D 09 2292 ADD HL,BC - 00000F1E 4D 2293 LD C,L - 00000F1F 44 2294 LD B,H - 00000F20 E1 2295 POP HL - 00000F21 09 2296 ADD HL,BC - 00000F22 4D 2297 LD C,L - 00000F23 44 2298 LD B,H - 00000F24 FD 6E 02 2299 LD L,(IY+2) - 00000F27 FD 66 03 2300 LD H,(IY+3) - 00000F2A E5 2301 PUSH HL - 00000F2B DD 6E EE 2302 LD L,(IX-18) - 00000F2E DD 66 EF 2303 LD H,(IX-17) - 00000F31 29 2304 ADD HL,HL - 00000F32 29 2305 ADD HL,HL - 00000F33 5D 2306 LD E,L - 00000F34 54 2307 LD D,H - 00000F35 29 2308 ADD HL,HL - 00000F36 19 2309 ADD HL,DE - 00000F37 EB 2310 EX DE,HL - 00000F38 E1 2311 POP HL - 00000F39 19 2312 ADD HL,DE - 00000F3A EB 2313 EX DE,HL - 00000F3B 3E 00 2314 LD A,BYTE3 memcpy - 00000F3D 21 00 00 2315 LD HL,LWRD memcpy - 00000F40 CD 00 00 2316 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000F43 F1 2317 POP AF - 00000F44 DD 6E E2 2318 LD L,(IX-30) - 00000F47 DD 66 E3 2319 LD H,(IX-29) - 00000F4A 23 2320 INC HL - 00000F4B 23 2321 INC HL - 00000F4C 46 2322 LD B,(HL) - 00000F4D DD 70 E2 2323 LD (IX-30),B - 00000F50 23 2324 INC HL - 00000F51 66 2325 LD H,(HL) - 00000F52 DD 74 E3 2326 LD (IX-29),H - 00000F55 DD 34 EE 2327 INC (IX-18) - 00000F58 C2 5C 0E 2328 JP NZ,?0153 - 00000F5B DD 34 EF 2329 INC (IX-17) - 00000F5E C3 5C 0E 2330 JP LWRD ?0153 - 00000F61 2331 ?0152: - 00000F61 2332 ?0151: - 00000F61 DD 5E DE 2333 LD E,(IX-34) - 00000F64 DD 56 DF 2334 LD D,(IX-33) - 00000F67 3E 32 2335 LD A,BYTE3 dbRecordSize - 00000F69 21 32 0C 2336 LD HL,LWRD dbRecordSize - 00000F6C CD 00 00 2337 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000F6F DD 75 F4 2338 LD (IX-12),L - 00000F72 DD 74 F5 2339 LD (IX-11),H - 00000F75 CD 8E 04 2340 CALL LWRD ?0642 - 00000F78 DD 75 E8 2341 LD (IX-24),L - 00000F7B DD 74 E9 2342 LD (IX-23),H - 00000F7E FD E5 2343 PUSH IY - 00000F80 D1 2344 POP DE - 00000F81 3E 32 2345 LD A,BYTE3 dbRecordSize - 00000F83 21 32 0C 2346 LD HL,LWRD dbRecordSize - 00000F86 CD 00 00 2347 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000F89 DD 75 F2 2348 LD (IX-14),L - 00000F8C DD 74 F3 2349 LD (IX-13),H - 00000F8F CD 8E 04 2350 CALL LWRD ?0642 - 00000F92 DD 75 EA 2351 LD (IX-22),L - 00000F95 DD 74 EB 2352 LD (IX-21),H - 00000F98 DD 6E DE 2353 LD L,(IX-34) - 00000F9B DD 66 DF 2354 LD H,(IX-33) - 00000F9E E5 2355 PUSH HL - 00000F9F DD 6E FA 2356 LD L,(IX-6) - 00000FA2 DD 66 FB 2357 LD H,(IX-5) - 00000FA5 C1 2358 POP BC - 00000FA6 71 2359 LD (HL),C - 00000FA7 23 2360 INC HL - 00000FA8 70 2361 LD (HL),B - 00000FA9 DD 6E FA 2362 LD L,(IX-6) - 00000FAC DD 66 FB 2363 LD H,(IX-5) - 00000FAF 23 2364 INC HL - 00000FB0 23 2365 INC HL - 00000FB1 AF 2366 XOR A - 00000FB2 77 2367 LD (HL),A - 00000FB3 23 2368 INC HL - 00000FB4 77 2369 LD (HL),A - 00000FB5 21 04 00 2370 LD HL,4 - 00000FB8 DD 4E FA 2371 LD C,(IX-6) - 00000FBB DD 46 FB 2372 LD B,(IX-5) - 00000FBE 09 2373 ADD HL,BC - 00000FBF DD 4E E8 2374 LD C,(IX-24) - 00000FC2 71 2375 LD (HL),C - 00000FC3 DD 46 E9 2376 LD B,(IX-23) - 00000FC6 23 2377 INC HL - 00000FC7 70 2378 LD (HL),B - 00000FC8 21 52 00 2379 LD HL,?0157 - 00000FCB E5 2380 PUSH HL - 00000FCC 6F 2381 LD L,A - 00000FCD 67 2382 LD H,A - 00000FCE E5 2383 PUSH HL - 00000FCF 01 FF FF 2384 LD BC,65535 - 00000FD2 11 4B 00 2385 LD DE,?0156 - 00000FD5 3E 00 2386 LD A,BYTE3 __fopen - 00000FD7 21 00 00 2387 LD HL,LWRD __fopen - 00000FDA CD 00 00 2388 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000FDD F1 2389 POP AF - 00000FDE F1 2390 POP AF - 00000FDF FD 75 08 2391 LD (IY+8),L - 00000FE2 FD 74 09 2392 LD (IY+9),H - 00000FE5 21 05 00 2393 LD HL,5 - 00000FE8 DD 4E FE 2394 LD C,(IX-2) - 00000FEB DD 46 FF 2395 LD B,(IX-1) - 00000FEE 09 2396 ADD HL,BC - 00000FEF 7E 2397 LD A,(HL) - 00000FF0 23 2398 INC HL - 00000FF1 B6 2399 OR (HL) - 00000FF2 21 1C 00 2400 LD HL,28 - 00000FF5 39 2401 ADD HL,SP - 00000FF6 4D 2402 LD C,L - 00000FF7 44 2403 LD B,H - 00000FF8 28 17 2404 JR Z,?0159 - 00000FFA 2405 ?0158: - 00000FFA 21 05 00 2406 LD HL,5 - 00000FFD DD 5E FE 2407 LD E,(IX-2) - 00001000 DD 56 FF 2408 LD D,(IX-1) - 00001003 19 2409 ADD HL,DE - 00001004 56 2410 LD D,(HL) - 00001005 23 2411 INC HL - 00001006 66 2412 LD H,(HL) - 00001007 6A 2413 LD L,D - 00001008 11 04 00 2414 LD DE,4 - 0000100B 19 2415 ADD HL,DE - 0000100C 5E 2416 LD E,(HL) - 0000100D 23 2417 INC HL - 0000100E 56 2418 LD D,(HL) - 0000100F 18 02 2419 JR ?0510 - 00001011 2420 ?0159: - 00001011 5F 2421 LD E,A - 00001012 57 2422 LD D,A - 00001013 2423 ?0510: - 00001013 3E 5D 2424 LD A,BYTE3 dbParseExpression - 00001015 21 5D 20 2425 LD HL,LWRD dbParseExpression - 00001018 CD 00 00 2426 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000101B DD 75 F6 2427 LD (IX-10),L - 0000101E DD 74 F7 2428 LD (IX-9),H - 00001021 2429 ?0160: - 00001021 AF 2430 XOR A - 00001022 DD 77 EE 2431 LD (IX-18),A - 00001025 DD 77 EF 2432 LD (IX-17),A - 00001028 2433 ?0162: - 00001028 21 04 00 2434 LD HL,4 - 0000102B DD 4E DE 2435 LD C,(IX-34) - 0000102E DD 46 DF 2436 LD B,(IX-33) - 00001031 09 2437 ADD HL,BC - 00001032 4E 2438 LD C,(HL) - 00001033 23 2439 INC HL - 00001034 46 2440 LD B,(HL) - 00001035 DD 6E EE 2441 LD L,(IX-18) - 00001038 DD 66 EF 2442 LD H,(IX-17) - 0000103B F6 80 2443 OR 128 - 0000103D ED 42 2444 SBC HL,BC - 0000103F E2 43 10 2445 JP PO,?0505 - 00001042 AC 2446 XOR H - 00001043 2447 ?0505: - 00001043 F2 71 11 2448 JP P,?0161 - 00001046 2449 ?0163: - 00001046 21 08 00 2450 LD HL,8 - 00001049 DD 4E DE 2451 LD C,(IX-34) - 0000104C DD 46 DF 2452 LD B,(IX-33) - 0000104F 09 2453 ADD HL,BC - 00001050 4E 2454 LD C,(HL) - 00001051 23 2455 INC HL - 00001052 46 2456 LD B,(HL) - 00001053 C5 2457 PUSH BC - 00001054 21 01 00 2458 LD HL,1 - 00001057 E5 2459 PUSH HL - 00001058 DD 4E F4 2460 LD C,(IX-12) - 0000105B DD 46 F5 2461 LD B,(IX-11) - 0000105E DD 5E E8 2462 LD E,(IX-24) - 00001061 DD 56 E9 2463 LD D,(IX-23) - 00001064 3E 00 2464 LD A,BYTE3 fread - 00001066 21 00 00 2465 LD HL,LWRD fread - 00001069 CD 00 00 2466 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000106C F1 2467 POP AF - 0000106D F1 2468 POP AF - 0000106E DD 6E E8 2469 LD L,(IX-24) - 00001071 DD 66 E9 2470 LD H,(IX-23) - 00001074 46 2471 LD B,(HL) - 00001075 05 2472 DEC B - 00001076 C2 65 11 2473 JP NZ,?0508 - 00001079 2474 ?0165: - 00001079 DD 6E EA 2475 LD L,(IX-22) - 0000107C DD 66 EB 2476 LD H,(IX-21) - 0000107F 36 01 2477 LD (HL),1 - 00001081 23 2478 INC HL - 00001082 70 2479 LD (HL),B - 00001083 DD 36 EC 02 2480 LD (IX-20),2 - 00001087 DD 70 ED 2481 LD (IX-19),B - 0000108A AF 2482 XOR A - 0000108B DD 77 F0 2483 LD (IX-16),A - 0000108E DD 77 F1 2484 LD (IX-15),A - 00001091 2485 ?0168: - 00001091 FD 4E 00 2486 LD C,(IY+0) - 00001094 FD 46 01 2487 LD B,(IY+1) - 00001097 DD 6E F0 2488 LD L,(IX-16) - 0000109A DD 66 F1 2489 LD H,(IX-15) - 0000109D F6 80 2490 OR 128 - 0000109F ED 42 2491 SBC HL,BC - 000010A1 E2 A5 10 2492 JP PO,?0506 - 000010A4 AC 2493 XOR H - 000010A5 2494 ?0506: - 000010A5 F2 13 11 2495 JP P,?0167 - 000010A8 2496 ?0169: - 000010A8 DD 6E F0 2497 LD L,(IX-16) - 000010AB DD 66 F1 2498 LD H,(IX-15) - 000010AE 29 2499 ADD HL,HL - 000010AF DD 4E E6 2500 LD C,(IX-26) - 000010B2 DD 46 E7 2501 LD B,(IX-25) - 000010B5 09 2502 ADD HL,BC - 000010B6 5E 2503 LD E,(HL) - 000010B7 23 2504 INC HL - 000010B8 56 2505 LD D,(HL) - 000010B9 D5 2506 PUSH DE - 000010BA DD 6E F0 2507 LD L,(IX-16) - 000010BD DD 66 F1 2508 LD H,(IX-15) - 000010C0 29 2509 ADD HL,HL - 000010C1 DD 5E E4 2510 LD E,(IX-28) - 000010C4 DD 56 E5 2511 LD D,(IX-27) - 000010C7 19 2512 ADD HL,DE - 000010C8 56 2513 LD D,(HL) - 000010C9 23 2514 INC HL - 000010CA 66 2515 LD H,(HL) - 000010CB 6A 2516 LD L,D - 000010CC DD 5E E8 2517 LD E,(IX-24) - 000010CF DD 56 E9 2518 LD D,(IX-23) - 000010D2 19 2519 ADD HL,DE - 000010D3 4D 2520 LD C,L - 000010D4 44 2521 LD B,H - 000010D5 DD 6E EC 2522 LD L,(IX-20) - 000010D8 DD 66 ED 2523 LD H,(IX-19) - 000010DB DD 5E EA 2524 LD E,(IX-22) - 000010DE DD 56 EB 2525 LD D,(IX-21) - 000010E1 19 2526 ADD HL,DE - 000010E2 EB 2527 EX DE,HL - 000010E3 3E 00 2528 LD A,BYTE3 memcpy - 000010E5 21 00 00 2529 LD HL,LWRD memcpy - 000010E8 CD 00 00 2530 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000010EB F1 2531 POP AF - 000010EC DD 6E F0 2532 LD L,(IX-16) - 000010EF DD 66 F1 2533 LD H,(IX-15) - 000010F2 29 2534 ADD HL,HL - 000010F3 DD 4E E6 2535 LD C,(IX-26) - 000010F6 DD 46 E7 2536 LD B,(IX-25) - 000010F9 09 2537 ADD HL,BC - 000010FA 4E 2538 LD C,(HL) - 000010FB 23 2539 INC HL - 000010FC 46 2540 LD B,(HL) - 000010FD 21 10 00 2541 LD HL,16 - 00001100 39 2542 ADD HL,SP - 00001101 7E 2543 LD A,(HL) - 00001102 81 2544 ADD A,C - 00001103 77 2545 LD (HL),A - 00001104 23 2546 INC HL - 00001105 7E 2547 LD A,(HL) - 00001106 88 2548 ADC A,B - 00001107 77 2549 LD (HL),A - 00001108 DD 34 F0 2550 INC (IX-16) - 0000110B 20 84 2551 JR NZ,?0168 - 0000110D DD 34 F1 2552 INC (IX-15) - 00001110 C3 91 10 2553 JP LWRD ?0168 - 00001113 2554 ?0167: - 00001113 DD 4E FA 2555 LD C,(IX-6) - 00001116 DD 46 FB 2556 LD B,(IX-5) - 00001119 DD 5E F6 2557 LD E,(IX-10) - 0000111C DD 56 F7 2558 LD D,(IX-9) - 0000111F 3E C0 2559 LD A,BYTE3 dbEvaluateExpression - 00001121 21 C0 24 2560 LD HL,LWRD dbEvaluateExpression - 00001124 CD 00 00 2561 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001127 21 24 00 2562 LD HL,36 - 0000112A DD 4E F6 2563 LD C,(IX-10) - 0000112D DD 46 F7 2564 LD B,(IX-9) - 00001130 09 2565 ADD HL,BC - 00001131 3E 01 2566 LD A,1 - 00001133 AE 2567 XOR (HL) - 00001134 23 2568 INC HL - 00001135 B6 2569 OR (HL) - 00001136 23 2570 INC HL - 00001137 B6 2571 OR (HL) - 00001138 23 2572 INC HL - 00001139 B6 2573 OR (HL) - 0000113A 20 29 2574 JR NZ,?0508 - 0000113C 2575 ?0171: - 0000113C FD 6E 08 2576 LD L,(IY+8) - 0000113F FD 66 09 2577 LD H,(IY+9) - 00001142 E5 2578 PUSH HL - 00001143 21 01 00 2579 LD HL,1 - 00001146 E5 2580 PUSH HL - 00001147 DD 4E F2 2581 LD C,(IX-14) - 0000114A DD 46 F3 2582 LD B,(IX-13) - 0000114D DD 5E EA 2583 LD E,(IX-22) - 00001150 DD 56 EB 2584 LD D,(IX-21) - 00001153 3E 00 2585 LD A,BYTE3 fwrite - 00001155 21 00 00 2586 LD HL,LWRD fwrite - 00001158 CD 00 00 2587 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000115B F1 2588 POP AF - 0000115C F1 2589 POP AF - 0000115D FD 34 04 2590 INC (IY+4) - 00001160 20 03 2591 JR NZ,?0508 - 00001162 FD 34 05 2592 INC (IY+5) - 00001165 2593 ?0508: - 00001165 2594 ?0172: - 00001165 2595 ?0166: - 00001165 DD 34 EE 2596 INC (IX-18) - 00001168 C2 28 10 2597 JP NZ,?0162 - 0000116B DD 34 EF 2598 INC (IX-17) - 0000116E C3 28 10 2599 JP LWRD ?0162 - 00001171 2600 ?0161: - 00001171 DD 5E E8 2601 LD E,(IX-24) - 00001174 DD 56 E9 2602 LD D,(IX-23) - 00001177 CD 3B 00 2603 CALL LWRD ?0639 - 0000117A DD 5E E4 2604 LD E,(IX-28) - 0000117D DD 56 E5 2605 LD D,(IX-27) - 00001180 CD 3B 00 2606 CALL LWRD ?0639 - 00001183 DD 5E E6 2607 LD E,(IX-26) - 00001186 DD 56 E7 2608 LD D,(IX-25) - 00001189 CD 3B 00 2609 CALL LWRD ?0639 - 0000118C DD 5E FA 2610 LD E,(IX-6) - 0000118F DD 56 FB 2611 LD D,(IX-5) - 00001192 CD 3B 00 2612 CALL LWRD ?0639 - 00001195 DD 5E F6 2613 LD E,(IX-10) - 00001198 DD 56 F7 2614 LD D,(IX-9) - 0000119B 3E 97 2615 LD A,BYTE3 dbDeleteExpression - 0000119D 21 97 24 2616 LD HL,LWRD dbDeleteExpression - 000011A0 CD 00 00 2617 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000011A3 DD 5E DE 2618 LD E,(IX-34) - 000011A6 DD 56 DF 2619 LD D,(IX-33) - 000011A9 3E 70 2620 LD A,BYTE3 dbTableClose - 000011AB 21 70 0B 2621 LD HL,LWRD dbTableClose - 000011AE CD 00 00 2622 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000011B1 FD 5E 08 2623 LD E,(IY+8) - 000011B4 FD 56 09 2624 LD D,(IY+9) - 000011B7 CD 4B 0B 2625 CALL LWRD ?0645 - 000011BA 21 43 00 2626 LD HL,?0127 - 000011BD E5 2627 PUSH HL - 000011BE 21 00 00 2628 LD HL,0 - 000011C1 E5 2629 PUSH HL - 000011C2 01 FF FF 2630 LD BC,65535 - 000011C5 11 4B 00 2631 LD DE,?0156 - 000011C8 3E 00 2632 LD A,BYTE3 __fopen - 000011CA 21 00 00 2633 LD HL,LWRD __fopen - 000011CD CD 00 00 2634 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000011D0 F1 2635 POP AF - 000011D1 F1 2636 POP AF - 000011D2 FD 75 08 2637 LD (IY+8),L - 000011D5 FD 74 09 2638 LD (IY+9),H - 000011D8 FD E5 2639 PUSH IY - 000011DA E1 2640 POP HL - 000011DB DD F9 2641 LD SP,IX - 000011DD C3 6B 00 2642 JP LWRD ?0614 - 000011E0 2643 ?0640: - 000011E0 DD 75 E4 2644 LD (IX-28),L - 000011E3 DD 74 E5 2645 LD (IX-27),H - 000011E6 FD 6E 00 2646 LD L,(IY+0) - 000011E9 FD 66 01 2647 LD H,(IY+1) - 000011EC 29 2648 ADD HL,HL - 000011ED EB 2649 EX DE,HL - 000011EE 3E 00 2650 LD A,BYTE3 malloc - 000011F0 21 00 00 2651 LD HL,LWRD malloc - 000011F3 CD 00 00 2652 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000011F6 DD 75 E6 2653 LD (IX-26),L - 000011F9 DD 74 E7 2654 LD (IX-25),H - 000011FC FD 6E 00 2655 LD L,(IY+0) - 000011FF FD 66 01 2656 LD H,(IY+1) - 00001202 29 2657 ADD HL,HL - 00001203 29 2658 ADD HL,HL - 00001204 4D 2659 LD C,L - 00001205 44 2660 LD B,H - 00001206 29 2661 ADD HL,HL - 00001207 09 2662 ADD HL,BC - 00001208 EB 2663 EX DE,HL - 00001209 3E 00 2664 LD A,BYTE3 malloc - 0000120B 21 00 00 2665 LD HL,LWRD malloc - 0000120E C9 2666 RET - 0000120F 2667 ?0647: - 0000120F DD 6E FE 2668 LD L,(IX-2) - 00001212 DD 66 FF 2669 LD H,(IX-1) - 00001215 23 2670 INC HL - 00001216 5E 2671 LD E,(HL) - 00001217 23 2672 INC HL - 00001218 56 2673 LD D,(HL) - 00001219 3E 73 2674 LD A,BYTE3 dbListSize - 0000121B 21 73 00 2675 LD HL,LWRD dbListSize - 0000121E C3 00 00 2676 JP LWRD ?BANK_CALL_DIRECT_L08 - 00001221 2677 ?0662: - 00001221 3E 5D 2678 LD A,BYTE3 dbParseExpression - 00001223 21 5D 20 2679 LD HL,LWRD dbParseExpression - 00001226 CD 00 00 2680 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001229 DD 75 F8 2681 LD (IX-8),L - 0000122C DD 74 F9 2682 LD (IX-7),H - 0000122F 2683 ?0661: - 0000122F 3E 44 2684 LD A,BYTE3 dbNewRow - 00001231 21 44 1D 2685 LD HL,LWRD dbNewRow - 00001234 C3 00 00 2686 JP LWRD ?BANK_CALL_DIRECT_L08 - 00001237 2687 ?0663: - 00001237 DD 5E F8 2688 LD E,(IX-8) - 0000123A DD 56 F9 2689 LD D,(IX-7) - 0000123D 3E C0 2690 LD A,BYTE3 dbEvaluateExpression - 0000123F 21 C0 24 2691 LD HL,LWRD dbEvaluateExpression - 00001242 CD 00 00 2692 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001245 21 24 00 2693 LD HL,36 - 00001248 DD 4E F8 2694 LD C,(IX-8) - 0000124B DD 46 F9 2695 LD B,(IX-7) - 0000124E 09 2696 ADD HL,BC - 0000124F 3E 01 2697 LD A,1 - 00001251 AE 2698 XOR (HL) - 00001252 23 2699 INC HL - 00001253 B6 2700 OR (HL) - 00001254 23 2701 INC HL - 00001255 B6 2702 OR (HL) - 00001256 23 2703 INC HL - 00001257 B6 2704 OR (HL) - 00001258 C9 2705 RET - 00001259 2706 dbExecuteInsert: - 00001259 C5 2707 PUSH BC - 0000125A FD E5 2708 PUSH IY - 0000125C DD E5 2709 PUSH IX - 0000125E DD 21 00 00 2710 LD IX,0 - 00001262 DD 39 2711 ADD IX,SP - 00001264 D5 2712 PUSH DE - 00001265 21 E8 FF 2713 LD HL,65512 - 00001268 39 2714 ADD HL,SP - 00001269 F9 2715 LD SP,HL - 0000126A 11 14 00 2716 LD DE,20 - 0000126D CD 8F 04 2717 CALL LWRD ?0641 - 00001270 DD 75 E6 2718 LD (IX-26),L - 00001273 DD 74 E7 2719 LD (IX-25),H - 00001276 DD 4E FE 2720 LD C,(IX-2) - 00001279 DD 46 FF 2721 LD B,(IX-1) - 0000127C 03 2722 INC BC - 0000127D 03 2723 INC BC - 0000127E 03 2724 INC BC - 0000127F 0A 2725 LD A,(BC) - 00001280 6F 2726 LD L,A - 00001281 03 2727 INC BC - 00001282 0A 2728 LD A,(BC) - 00001283 67 2729 LD H,A - 00001284 01 04 00 2730 LD BC,4 - 00001287 09 2731 ADD HL,BC - 00001288 4E 2732 LD C,(HL) - 00001289 23 2733 INC HL - 0000128A 46 2734 LD B,(HL) - 0000128B 21 0B 00 2735 LD HL,11 - 0000128E DD 5E E6 2736 LD E,(IX-26) - 00001291 DD 56 E7 2737 LD D,(IX-25) - 00001294 CD AB 04 2738 CALL LWRD ?0653 - 00001297 DD 5E E6 2739 LD E,(IX-26) - 0000129A DD 56 E7 2740 LD D,(IX-25) - 0000129D 3E A0 2741 LD A,BYTE3 dbTableOpen - 0000129F 21 A0 08 2742 LD HL,LWRD dbTableOpen - 000012A2 CD 00 00 2743 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000012A5 DD 5E E6 2744 LD E,(IX-26) - 000012A8 DD 56 E7 2745 LD D,(IX-25) - 000012AB 3E 32 2746 LD A,BYTE3 dbRecordSize - 000012AD 21 32 0C 2747 LD HL,LWRD dbRecordSize - 000012B0 CD 00 00 2748 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000012B3 DD 75 FA 2749 LD (IX-6),L - 000012B6 DD 74 FB 2750 LD (IX-5),H - 000012B9 CD 8E 04 2751 CALL LWRD ?0642 - 000012BC DD 75 E8 2752 LD (IX-24),L - 000012BF DD 74 E9 2753 LD (IX-23),H - 000012C2 AF 2754 XOR A - 000012C3 DD 77 F4 2755 LD (IX-12),A - 000012C6 DD 77 F5 2756 LD (IX-11),A - 000012C9 2757 ?0174: - 000012C9 DD 4E FA 2758 LD C,(IX-6) - 000012CC DD 46 FB 2759 LD B,(IX-5) - 000012CF DD 6E F4 2760 LD L,(IX-12) - 000012D2 DD 66 F5 2761 LD H,(IX-11) - 000012D5 F6 80 2762 OR 128 - 000012D7 ED 42 2763 SBC HL,BC - 000012D9 E2 DD 12 2764 JP PO,?0511 - 000012DC AC 2765 XOR H - 000012DD 2766 ?0511: - 000012DD F2 F9 12 2767 JP P,?0173 - 000012E0 2768 ?0175: - 000012E0 DD 6E F4 2769 LD L,(IX-12) - 000012E3 DD 66 F5 2770 LD H,(IX-11) - 000012E6 DD 4E E8 2771 LD C,(IX-24) - 000012E9 DD 46 E9 2772 LD B,(IX-23) - 000012EC 09 2773 ADD HL,BC - 000012ED 36 00 2774 LD (HL),0 - 000012EF DD 34 F4 2775 INC (IX-12) - 000012F2 20 D5 2776 JR NZ,?0174 - 000012F4 DD 34 F5 2777 INC (IX-11) - 000012F7 18 D0 2778 JR ?0174 - 000012F9 2779 ?0173: - 000012F9 59 2780 LD E,C - 000012FA 50 2781 LD D,B - 000012FB CD 8F 04 2782 CALL LWRD ?0641 - 000012FE DD 75 EA 2783 LD (IX-22),L - 00001301 DD 74 EB 2784 LD (IX-21),H - 00001304 DD 6E E8 2785 LD L,(IX-24) - 00001307 DD 66 E9 2786 LD H,(IX-23) - 0000130A 36 01 2787 LD (HL),1 - 0000130C 23 2788 INC HL - 0000130D 36 00 2789 LD (HL),0 - 0000130F CD 0F 12 2790 CALL LWRD ?0647 - 00001312 DD 75 F2 2791 LD (IX-14),L - 00001315 DD 74 F3 2792 LD (IX-13),H - 00001318 DD 6E FE 2793 LD L,(IX-2) - 0000131B DD 66 FF 2794 LD H,(IX-1) - 0000131E 23 2795 INC HL - 0000131F 46 2796 LD B,(HL) - 00001320 DD 70 EC 2797 LD (IX-20),B - 00001323 23 2798 INC HL - 00001324 66 2799 LD H,(HL) - 00001325 DD 74 ED 2800 LD (IX-19),H - 00001328 21 07 00 2801 LD HL,7 - 0000132B DD 4E FE 2802 LD C,(IX-2) - 0000132E DD 46 FF 2803 LD B,(IX-1) - 00001331 09 2804 ADD HL,BC - 00001332 46 2805 LD B,(HL) - 00001333 23 2806 INC HL - 00001334 66 2807 LD H,(HL) - 00001335 68 2808 LD L,B - 00001336 E5 2809 PUSH HL - 00001337 FD E1 2810 POP IY - 00001339 AF 2811 XOR A - 0000133A DD 77 F4 2812 LD (IX-12),A - 0000133D DD 77 F5 2813 LD (IX-11),A - 00001340 2814 ?0178: - 00001340 DD 4E F2 2815 LD C,(IX-14) - 00001343 DD 46 F3 2816 LD B,(IX-13) - 00001346 DD 6E F4 2817 LD L,(IX-12) - 00001349 DD 66 F5 2818 LD H,(IX-11) - 0000134C F6 80 2819 OR 128 - 0000134E ED 42 2820 SBC HL,BC - 00001350 E2 54 13 2821 JP PO,?0513 - 00001353 AC 2822 XOR H - 00001354 2823 ?0513: - 00001354 F2 E4 14 2824 JP P,?0177 - 00001357 2825 ?0179: - 00001357 21 04 00 2826 LD HL,4 - 0000135A DD 4E EC 2827 LD C,(IX-20) - 0000135D DD 46 ED 2828 LD B,(IX-19) - 00001360 09 2829 ADD HL,BC - 00001361 4E 2830 LD C,(HL) - 00001362 23 2831 INC HL - 00001363 46 2832 LD B,(HL) - 00001364 DD 5E E6 2833 LD E,(IX-26) - 00001367 DD 56 E7 2834 LD D,(IX-25) - 0000136A 3E 4E 2835 LD A,BYTE3 dbFieldSearch - 0000136C 21 4E 0C 2836 LD HL,LWRD dbFieldSearch - 0000136F CD 00 00 2837 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001372 DD 75 FC 2838 LD (IX-4),L - 00001375 DD 74 FD 2839 LD (IX-3),H - 00001378 DD 4E E6 2840 LD C,(IX-26) - 0000137B DD 46 E7 2841 LD B,(IX-25) - 0000137E 03 2842 INC BC - 0000137F 03 2843 INC BC - 00001380 0A 2844 LD A,(BC) - 00001381 6F 2845 LD L,A - 00001382 03 2846 INC BC - 00001383 0A 2847 LD A,(BC) - 00001384 67 2848 LD H,A - 00001385 E5 2849 PUSH HL - 00001386 DD 6E FC 2850 LD L,(IX-4) - 00001389 DD 66 FD 2851 LD H,(IX-3) - 0000138C 29 2852 ADD HL,HL - 0000138D 29 2853 ADD HL,HL - 0000138E 4D 2854 LD C,L - 0000138F 44 2855 LD B,H - 00001390 29 2856 ADD HL,HL - 00001391 09 2857 ADD HL,BC - 00001392 4D 2858 LD C,L - 00001393 44 2859 LD B,H - 00001394 E1 2860 POP HL - 00001395 09 2861 ADD HL,BC - 00001396 DD 75 F0 2862 LD (IX-16),L - 00001399 DD 74 F1 2863 LD (IX-15),H - 0000139C DD 4E FC 2864 LD C,(IX-4) - 0000139F DD 46 FD 2865 LD B,(IX-3) - 000013A2 DD 5E E6 2866 LD E,(IX-26) - 000013A5 DD 56 E7 2867 LD D,(IX-25) - 000013A8 3E DD 2868 LD A,BYTE3 dbFieldOffset - 000013AA 21 DD 0B 2869 LD HL,LWRD dbFieldOffset - 000013AD CD 00 00 2870 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000013B0 DD 75 F6 2871 LD (IX-10),L - 000013B3 DD 74 F7 2872 LD (IX-9),H - 000013B6 21 0A 00 2873 LD HL,10 - 000013B9 DD 4E F0 2874 LD C,(IX-16) - 000013BC DD 46 F1 2875 LD B,(IX-15) - 000013BF 09 2876 ADD HL,BC - 000013C0 4E 2877 LD C,(HL) - 000013C1 DD 71 F8 2878 LD (IX-8),C - 000013C4 DD 36 F9 00 2879 LD (IX-7),0 - 000013C8 FD 6E 04 2880 LD L,(IY+4) - 000013CB FD 66 05 2881 LD H,(IY+5) - 000013CE 7E 2882 LD A,(HL) - 000013CF FE 27 2883 CP 39 - 000013D1 C2 58 14 2884 JP NZ,?0182 - 000013D4 2885 ?0181: - 000013D4 FD 5E 04 2886 LD E,(IY+4) - 000013D7 FD 56 05 2887 LD D,(IY+5) - 000013DA CD 98 04 2888 CALL LWRD ?0649 - 000013DD FD 4E 04 2889 LD C,(IY+4) - 000013E0 FD 46 05 2890 LD B,(IY+5) - 000013E3 09 2891 ADD HL,BC - 000013E4 2B 2892 DEC HL - 000013E5 36 00 2893 LD (HL),0 - 000013E7 21 09 00 2894 LD HL,9 - 000013EA DD 4E F0 2895 LD C,(IX-16) - 000013ED DD 46 F1 2896 LD B,(IX-15) - 000013F0 09 2897 ADD HL,BC - 000013F1 7E 2898 LD A,(HL) - 000013F2 FE 53 2899 CP 83 - 000013F4 20 28 2900 JR NZ,?0185 - 000013F6 2901 ?0184: - 000013F6 DD 6E F8 2902 LD L,(IX-8) - 000013F9 DD 66 F9 2903 LD H,(IX-7) - 000013FC E5 2904 PUSH HL - 000013FD FD 4E 04 2905 LD C,(IY+4) - 00001400 FD 46 05 2906 LD B,(IY+5) - 00001403 03 2907 INC BC - 00001404 DD 6E F6 2908 LD L,(IX-10) - 00001407 DD 66 F7 2909 LD H,(IX-9) - 0000140A DD 5E E8 2910 LD E,(IX-24) - 0000140D DD 56 E9 2911 LD D,(IX-23) - 00001410 19 2912 ADD HL,DE - 00001411 EB 2913 EX DE,HL - 00001412 3E 00 2914 LD A,BYTE3 memcpy - 00001414 21 00 00 2915 LD HL,LWRD memcpy - 00001417 CD 00 00 2916 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000141A F1 2917 POP AF - 0000141B C3 BE 14 2918 JP LWRD ?0198 - 0000141E 2919 ?0185: - 0000141E FE 49 2920 CP 73 - 00001420 C2 BE 14 2921 JP NZ,?0198 - 00001423 21 0A 00 2922 LD HL,10 - 00001426 09 2923 ADD HL,BC - 00001427 46 2924 LD B,(HL) - 00001428 05 2925 DEC B - 00001429 05 2926 DEC B - 0000142A 20 17 2927 JR NZ,?0187 - 0000142C 2928 ?0186: - 0000142C DD 6E F6 2929 LD L,(IX-10) - 0000142F DD 66 F7 2930 LD H,(IX-9) - 00001432 DD 4E E8 2931 LD C,(IX-24) - 00001435 DD 46 E9 2932 LD B,(IX-23) - 00001438 09 2933 ADD HL,BC - 00001439 E5 2934 PUSH HL - 0000143A FD 5E 04 2935 LD E,(IY+4) - 0000143D FD 56 05 2936 LD D,(IY+5) - 00001440 13 2937 INC DE - 00001441 18 3E 2938 JR ?0520 - 00001443 2939 ?0187: - 00001443 21 0A 00 2940 LD HL,10 - 00001446 DD 46 F1 2941 LD B,(IX-15) - 00001449 09 2942 ADD HL,BC - 0000144A 7E 2943 LD A,(HL) - 0000144B FE 04 2944 CP 4 - 0000144D 20 6F 2945 JR NZ,?0198 - 0000144F 2946 ?0189: - 0000144F FD 5E 04 2947 LD E,(IY+4) - 00001452 FD 56 05 2948 LD D,(IY+5) - 00001455 13 2949 INC DE - 00001456 18 48 2950 JR ?0519 - 00001458 2951 ?0190: - 00001458 2952 ?0188: - 00001458 2953 ?0183: - 00001458 2954 ?0182: - 00001458 21 09 00 2955 LD HL,9 - 0000145B DD 4E F0 2956 LD C,(IX-16) - 0000145E 09 2957 ADD HL,BC - 0000145F 7E 2958 LD A,(HL) - 00001460 FE 49 2959 CP 73 - 00001462 20 5A 2960 JR NZ,?0198 - 00001464 2961 ?0193: - 00001464 21 0A 00 2962 LD HL,10 - 00001467 09 2963 ADD HL,BC - 00001468 46 2964 LD B,(HL) - 00001469 05 2965 DEC B - 0000146A 05 2966 DEC B - 0000146B 20 21 2967 JR NZ,?0195 - 0000146D 2968 ?0194: - 0000146D DD 6E F6 2969 LD L,(IX-10) - 00001470 DD 66 F7 2970 LD H,(IX-9) - 00001473 DD 4E E8 2971 LD C,(IX-24) - 00001476 DD 46 E9 2972 LD B,(IX-23) - 00001479 09 2973 ADD HL,BC - 0000147A E5 2974 PUSH HL - 0000147B FD 5E 04 2975 LD E,(IY+4) - 0000147E FD 56 05 2976 LD D,(IY+5) - 00001481 2977 ?0520: - 00001481 3E 00 2978 LD A,BYTE3 atoi - 00001483 21 00 00 2979 LD HL,LWRD atoi - 00001486 CD 00 00 2980 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001489 4D 2981 LD C,L - 0000148A 44 2982 LD B,H - 0000148B E1 2983 POP HL - 0000148C 18 2D 2984 JR ?0516 - 0000148E 2985 ?0195: - 0000148E 21 0A 00 2986 LD HL,10 - 00001491 DD 46 F1 2987 LD B,(IX-15) - 00001494 09 2988 ADD HL,BC - 00001495 7E 2989 LD A,(HL) - 00001496 FE 04 2990 CP 4 - 00001498 20 24 2991 JR NZ,?0198 - 0000149A 2992 ?0197: - 0000149A FD 5E 04 2993 LD E,(IY+4) - 0000149D FD 56 05 2994 LD D,(IY+5) - 000014A0 2995 ?0519: - 000014A0 3E 00 2996 LD A,BYTE3 atol - 000014A2 21 00 00 2997 LD HL,LWRD atol - 000014A5 CD 00 00 2998 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000014A8 E5 2999 PUSH HL - 000014A9 DD 6E F6 3000 LD L,(IX-10) - 000014AC DD 66 F7 3001 LD H,(IX-9) - 000014AF DD 5E E8 3002 LD E,(IX-24) - 000014B2 DD 56 E9 3003 LD D,(IX-23) - 000014B5 19 3004 ADD HL,DE - 000014B6 D1 3005 POP DE - 000014B7 73 3006 LD (HL),E - 000014B8 23 3007 INC HL - 000014B9 72 3008 LD (HL),D - 000014BA 23 3009 INC HL - 000014BB 3010 ?0516: - 000014BB 71 3011 LD (HL),C - 000014BC 23 3012 INC HL - 000014BD 70 3013 LD (HL),B - 000014BE 3014 ?0198: - 000014BE 3015 ?0196: - 000014BE 3016 ?0192: - 000014BE 3017 ?0191: - 000014BE DD 6E EC 3018 LD L,(IX-20) - 000014C1 DD 66 ED 3019 LD H,(IX-19) - 000014C4 23 3020 INC HL - 000014C5 23 3021 INC HL - 000014C6 46 3022 LD B,(HL) - 000014C7 DD 70 EC 3023 LD (IX-20),B - 000014CA 23 3024 INC HL - 000014CB 66 3025 LD H,(HL) - 000014CC DD 74 ED 3026 LD (IX-19),H - 000014CF FD 6E 02 3027 LD L,(IY+2) - 000014D2 FD 66 03 3028 LD H,(IY+3) - 000014D5 E5 3029 PUSH HL - 000014D6 FD E1 3030 POP IY - 000014D8 DD 34 F4 3031 INC (IX-12) - 000014DB C2 40 13 3032 JP NZ,?0178 - 000014DE DD 34 F5 3033 INC (IX-11) - 000014E1 C3 40 13 3034 JP LWRD ?0178 - 000014E4 3035 ?0177: - 000014E4 21 06 00 3036 LD HL,6 - 000014E7 DD 4E E6 3037 LD C,(IX-26) - 000014EA DD 46 E7 3038 LD B,(IX-25) - 000014ED 09 3039 ADD HL,BC - 000014EE 7E 3040 LD A,(HL) - 000014EF 23 3041 INC HL - 000014F0 B6 3042 OR (HL) - 000014F1 20 50 3043 JR NZ,?0200 - 000014F3 3044 ?0199: - 000014F3 6F 3045 LD L,A - 000014F4 67 3046 LD H,A - 000014F5 E5 3047 PUSH HL - 000014F6 E5 3048 PUSH HL - 000014F7 2E 04 3049 LD L,4 - 000014F9 E5 3050 PUSH HL - 000014FA 2E 08 3051 LD L,8 - 000014FC 09 3052 ADD HL,BC - 000014FD 5E 3053 LD E,(HL) - 000014FE 23 3054 INC HL - 000014FF 56 3055 LD D,(HL) - 00001500 CD 5A 16 3056 CALL LWRD ?0664 - 00001503 F1 3057 POP AF - 00001504 F1 3058 POP AF - 00001505 F1 3059 POP AF - 00001506 21 04 00 3060 LD HL,4 - 00001509 09 3061 ADD HL,BC - 0000150A 56 3062 LD D,(HL) - 0000150B 23 3063 INC HL - 0000150C 66 3064 LD H,(HL) - 0000150D 6A 3065 LD L,D - 0000150E 23 3066 INC HL - 0000150F E5 3067 PUSH HL - 00001510 DD 6E EA 3068 LD L,(IX-22) - 00001513 DD 66 EB 3069 LD H,(IX-21) - 00001516 D1 3070 POP DE - 00001517 73 3071 LD (HL),E - 00001518 23 3072 INC HL - 00001519 72 3073 LD (HL),D - 0000151A 21 08 00 3074 LD HL,8 - 0000151D 09 3075 ADD HL,BC - 0000151E 5E 3076 LD E,(HL) - 0000151F 23 3077 INC HL - 00001520 56 3078 LD D,(HL) - 00001521 D5 3079 PUSH DE - 00001522 21 01 00 3080 LD HL,1 - 00001525 E5 3081 PUSH HL - 00001526 01 02 00 3082 LD BC,2 - 00001529 DD 5E EA 3083 LD E,(IX-22) - 0000152C DD 56 EB 3084 LD D,(IX-21) - 0000152F 3E 00 3085 LD A,BYTE3 fwrite - 00001531 21 00 00 3086 LD HL,LWRD fwrite - 00001534 CD 00 00 3087 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001537 F1 3088 POP AF - 00001538 F1 3089 POP AF - 00001539 21 02 00 3090 LD HL,2 - 0000153C E5 3091 PUSH HL - 0000153D 2B 3092 DEC HL - 0000153E 2B 3093 DEC HL - 0000153F E5 3094 PUSH HL - 00001540 C3 F6 15 3095 JP LWRD ?0517 - 00001543 3096 ?0200: - 00001543 21 00 00 3097 LD HL,0 - 00001546 E5 3098 PUSH HL - 00001547 E5 3099 PUSH HL - 00001548 2E 06 3100 LD L,6 - 0000154A E5 3101 PUSH HL - 0000154B 23 3102 INC HL - 0000154C 23 3103 INC HL - 0000154D 09 3104 ADD HL,BC - 0000154E 5E 3105 LD E,(HL) - 0000154F 23 3106 INC HL - 00001550 56 3107 LD D,(HL) - 00001551 CD 5A 16 3108 CALL LWRD ?0664 - 00001554 F1 3109 POP AF - 00001555 F1 3110 POP AF - 00001556 F1 3111 POP AF - 00001557 21 06 00 3112 LD HL,6 - 0000155A 09 3113 ADD HL,BC - 0000155B 56 3114 LD D,(HL) - 0000155C 23 3115 INC HL - 0000155D 66 3116 LD H,(HL) - 0000155E 6A 3117 LD L,D - 0000155F 2B 3118 DEC HL - 00001560 E5 3119 PUSH HL - 00001561 DD 6E EA 3120 LD L,(IX-22) - 00001564 DD 66 EB 3121 LD H,(IX-21) - 00001567 D1 3122 POP DE - 00001568 73 3123 LD (HL),E - 00001569 23 3124 INC HL - 0000156A 72 3125 LD (HL),D - 0000156B 21 08 00 3126 LD HL,8 - 0000156E 09 3127 ADD HL,BC - 0000156F 5E 3128 LD E,(HL) - 00001570 23 3129 INC HL - 00001571 56 3130 LD D,(HL) - 00001572 D5 3131 PUSH DE - 00001573 21 01 00 3132 LD HL,1 - 00001576 E5 3133 PUSH HL - 00001577 01 02 00 3134 LD BC,2 - 0000157A DD 5E EA 3135 LD E,(IX-22) - 0000157D DD 56 EB 3136 LD D,(IX-21) - 00001580 3E 00 3137 LD A,BYTE3 fwrite - 00001582 21 00 00 3138 LD HL,LWRD fwrite - 00001585 CD 00 00 3139 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001588 F1 3140 POP AF - 00001589 F1 3141 POP AF - 0000158A 21 00 00 3142 LD HL,0 - 0000158D E5 3143 PUSH HL - 0000158E E5 3144 PUSH HL - 0000158F 2E 0A 3145 LD L,10 - 00001591 E5 3146 PUSH HL - 00001592 2B 3147 DEC HL - 00001593 2B 3148 DEC HL - 00001594 DD 4E E6 3149 LD C,(IX-26) - 00001597 DD 46 E7 3150 LD B,(IX-25) - 0000159A 09 3151 ADD HL,BC - 0000159B 5E 3152 LD E,(HL) - 0000159C 23 3153 INC HL - 0000159D 56 3154 LD D,(HL) - 0000159E CD 5A 16 3155 CALL LWRD ?0664 - 000015A1 F1 3156 POP AF - 000015A2 F1 3157 POP AF - 000015A3 F1 3158 POP AF - 000015A4 DD 6E EA 3159 LD L,(IX-22) - 000015A7 DD 66 EB 3160 LD H,(IX-21) - 000015AA 36 FF 3161 LD (HL),255 - 000015AC 23 3162 INC HL - 000015AD 36 FF 3163 LD (HL),255 - 000015AF 3164 ?0203: - 000015AF DD 6E EA 3165 LD L,(IX-22) - 000015B2 DD 66 EB 3166 LD H,(IX-21) - 000015B5 AF 3167 XOR A - 000015B6 B6 3168 OR (HL) - 000015B7 28 2A 3169 JR Z,?0202 - 000015B9 3170 ?0204: - 000015B9 21 08 00 3171 LD HL,8 - 000015BC DD 4E E6 3172 LD C,(IX-26) - 000015BF DD 46 E7 3173 LD B,(IX-25) - 000015C2 09 3174 ADD HL,BC - 000015C3 4E 3175 LD C,(HL) - 000015C4 23 3176 INC HL - 000015C5 46 3177 LD B,(HL) - 000015C6 C5 3178 PUSH BC - 000015C7 21 01 00 3179 LD HL,1 - 000015CA E5 3180 PUSH HL - 000015CB DD 4E FA 3181 LD C,(IX-6) - 000015CE DD 46 FB 3182 LD B,(IX-5) - 000015D1 DD 5E EA 3183 LD E,(IX-22) - 000015D4 DD 56 EB 3184 LD D,(IX-21) - 000015D7 3E 00 3185 LD A,BYTE3 fread - 000015D9 21 00 00 3186 LD HL,LWRD fread - 000015DC CD 00 00 3187 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000015DF F1 3188 POP AF - 000015E0 F1 3189 POP AF - 000015E1 18 CC 3190 JR ?0203 - 000015E3 3191 ?0202: - 000015E3 21 01 00 3192 LD HL,1 - 000015E6 E5 3193 PUSH HL - 000015E7 DD 4E FA 3194 LD C,(IX-6) - 000015EA DD 46 FB 3195 LD B,(IX-5) - 000015ED 2B 3196 DEC HL - 000015EE ED 42 3197 SBC HL,BC - 000015F0 7C 3198 LD A,H - 000015F1 07 3199 RLCA - 000015F2 9F 3200 SBC A,A - 000015F3 4F 3201 LD C,A - 000015F4 41 3202 LD B,C - 000015F5 C5 3203 PUSH BC - 000015F6 3204 ?0517: - 000015F6 E5 3205 PUSH HL - 000015F7 21 08 00 3206 LD HL,8 - 000015FA DD 4E E6 3207 LD C,(IX-26) - 000015FD DD 46 E7 3208 LD B,(IX-25) - 00001600 09 3209 ADD HL,BC - 00001601 5E 3210 LD E,(HL) - 00001602 23 3211 INC HL - 00001603 56 3212 LD D,(HL) - 00001604 CD 5A 16 3213 CALL LWRD ?0664 - 00001607 F1 3214 POP AF - 00001608 F1 3215 POP AF - 00001609 F1 3216 POP AF - 0000160A 3217 ?0201: - 0000160A 21 08 00 3218 LD HL,8 - 0000160D 09 3219 ADD HL,BC - 0000160E 5E 3220 LD E,(HL) - 0000160F 23 3221 INC HL - 00001610 56 3222 LD D,(HL) - 00001611 D5 3223 PUSH DE - 00001612 21 01 00 3224 LD HL,1 - 00001615 E5 3225 PUSH HL - 00001616 DD 4E FA 3226 LD C,(IX-6) - 00001619 DD 46 FB 3227 LD B,(IX-5) - 0000161C DD 5E E8 3228 LD E,(IX-24) - 0000161F DD 56 E9 3229 LD D,(IX-23) - 00001622 3E 00 3230 LD A,BYTE3 fwrite - 00001624 21 00 00 3231 LD HL,LWRD fwrite - 00001627 CD 00 00 3232 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000162A F1 3233 POP AF - 0000162B F1 3234 POP AF - 0000162C DD 5E E8 3235 LD E,(IX-24) - 0000162F DD 56 E9 3236 LD D,(IX-23) - 00001632 CD 3B 00 3237 CALL LWRD ?0639 - 00001635 DD 5E EA 3238 LD E,(IX-22) - 00001638 DD 56 EB 3239 LD D,(IX-21) - 0000163B CD 3B 00 3240 CALL LWRD ?0639 - 0000163E DD 5E E6 3241 LD E,(IX-26) - 00001641 DD 56 E7 3242 LD D,(IX-25) - 00001644 3E 70 3243 LD A,BYTE3 dbTableClose - 00001646 21 70 0B 3244 LD HL,LWRD dbTableClose - 00001649 CD 00 00 3245 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000164C 21 00 00 3246 LD HL,0 - 0000164F DD F9 3247 LD SP,IX - 00001651 C3 6B 00 3248 JP LWRD ?0614 - 00001654 3249 ?0665: - 00001654 FD 5E 08 3250 LD E,(IY+8) - 00001657 FD 56 09 3251 LD D,(IY+9) - 0000165A 3252 ?0664: - 0000165A 3E 00 3253 LD A,BYTE3 fseek - 0000165C 21 00 00 3254 LD HL,LWRD fseek - 0000165F C3 00 00 3255 JP LWRD ?BANK_CALL_DIRECT_L08 - 00001662 3256 dbExecuteDelete: - 00001662 C5 3257 PUSH BC - 00001663 FD E5 3258 PUSH IY - 00001665 DD E5 3259 PUSH IX - 00001667 DD 21 00 00 3260 LD IX,0 - 0000166B DD 39 3261 ADD IX,SP - 0000166D D5 3262 PUSH DE - 0000166E 21 F4 FF 3263 LD HL,65524 - 00001671 39 3264 ADD HL,SP - 00001672 F9 3265 LD SP,HL - 00001673 CD 14 18 3266 CALL LWRD ?0637 - 00001676 DD 75 FA 3267 LD (IX-6),L - 00001679 DD 74 FB 3268 LD (IX-5),H - 0000167C CD 8E 04 3269 CALL LWRD ?0642 - 0000167F DD 75 FC 3270 LD (IX-4),L - 00001682 DD 74 FD 3271 LD (IX-3),H - 00001685 AF 3272 XOR A - 00001686 DD 77 F4 3273 LD (IX-12),A - 00001689 DD 77 F5 3274 LD (IX-11),A - 0000168C 21 05 00 3275 LD HL,5 - 0000168F DD 4E FE 3276 LD C,(IX-2) - 00001692 DD 46 FF 3277 LD B,(IX-1) - 00001695 09 3278 ADD HL,BC - 00001696 7E 3279 LD A,(HL) - 00001697 23 3280 INC HL - 00001698 B6 3281 OR (HL) - 00001699 21 02 00 3282 LD HL,2 - 0000169C 39 3283 ADD HL,SP - 0000169D 4D 3284 LD C,L - 0000169E 44 3285 LD B,H - 0000169F 28 17 3286 JR Z,?0206 - 000016A1 3287 ?0205: - 000016A1 21 05 00 3288 LD HL,5 - 000016A4 DD 5E FE 3289 LD E,(IX-2) - 000016A7 DD 56 FF 3290 LD D,(IX-1) - 000016AA 19 3291 ADD HL,DE - 000016AB 56 3292 LD D,(HL) - 000016AC 23 3293 INC HL - 000016AD 66 3294 LD H,(HL) - 000016AE 6A 3295 LD L,D - 000016AF 11 04 00 3296 LD DE,4 - 000016B2 19 3297 ADD HL,DE - 000016B3 5E 3298 LD E,(HL) - 000016B4 23 3299 INC HL - 000016B5 56 3300 LD D,(HL) - 000016B6 18 02 3301 JR ?0524 - 000016B8 3302 ?0206: - 000016B8 5F 3303 LD E,A - 000016B9 57 3304 LD D,A - 000016BA 3305 ?0524: - 000016BA 3306 ?0207: - 000016BA CD 21 12 3307 CALL LWRD ?0662 - 000016BD DD 75 F2 3308 LD (IX-14),L - 000016C0 DD 74 F3 3309 LD (IX-13),H - 000016C3 FD E5 3310 PUSH IY - 000016C5 C1 3311 POP BC - 000016C6 71 3312 LD (HL),C - 000016C7 23 3313 INC HL - 000016C8 70 3314 LD (HL),B - 000016C9 21 04 00 3315 LD HL,4 - 000016CC DD 4E F2 3316 LD C,(IX-14) - 000016CF DD 46 F3 3317 LD B,(IX-13) - 000016D2 09 3318 ADD HL,BC - 000016D3 DD 5E FC 3319 LD E,(IX-4) - 000016D6 73 3320 LD (HL),E - 000016D7 DD 56 FD 3321 LD D,(IX-3) - 000016DA 23 3322 INC HL - 000016DB 72 3323 LD (HL),D - 000016DC 69 3324 LD L,C - 000016DD 60 3325 LD H,B - 000016DE 23 3326 INC HL - 000016DF 23 3327 INC HL - 000016E0 AF 3328 XOR A - 000016E1 77 3329 LD (HL),A - 000016E2 23 3330 INC HL - 000016E3 77 3331 LD (HL),A - 000016E4 DD 77 F6 3332 LD (IX-10),A - 000016E7 DD 77 F7 3333 LD (IX-9),A - 000016EA DD 77 F4 3334 LD (IX-12),A - 000016ED DD 77 F5 3335 LD (IX-11),A - 000016F0 3336 ?0209: - 000016F0 FD 4E 04 3337 LD C,(IY+4) - 000016F3 FD 46 05 3338 LD B,(IY+5) - 000016F6 DD 6E F4 3339 LD L,(IX-12) - 000016F9 DD 66 F5 3340 LD H,(IX-11) - 000016FC F6 80 3341 OR 128 - 000016FE ED 42 3342 SBC HL,BC - 00001700 E2 04 17 3343 JP PO,?0521 - 00001703 AC 3344 XOR H - 00001704 3345 ?0521: - 00001704 F2 AC 17 3346 JP P,?0208 - 00001707 3347 ?0210: - 00001707 FD 6E 08 3348 LD L,(IY+8) - 0000170A FD 66 09 3349 LD H,(IY+9) - 0000170D E5 3350 PUSH HL - 0000170E 21 01 00 3351 LD HL,1 - 00001711 E5 3352 PUSH HL - 00001712 DD 4E FA 3353 LD C,(IX-6) - 00001715 DD 46 FB 3354 LD B,(IX-5) - 00001718 2E 04 3355 LD L,4 - 0000171A DD 5E F2 3356 LD E,(IX-14) - 0000171D DD 56 F3 3357 LD D,(IX-13) - 00001720 19 3358 ADD HL,DE - 00001721 5E 3359 LD E,(HL) - 00001722 23 3360 INC HL - 00001723 56 3361 LD D,(HL) - 00001724 3E 00 3362 LD A,BYTE3 fread - 00001726 21 00 00 3363 LD HL,LWRD fread - 00001729 CD 00 00 3364 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000172C F1 3365 POP AF - 0000172D F1 3366 POP AF - 0000172E DD 6E FC 3367 LD L,(IX-4) - 00001731 DD 66 FD 3368 LD H,(IX-3) - 00001734 46 3369 LD B,(HL) - 00001735 05 3370 DEC B - 00001736 20 68 3371 JR NZ,?0522 - 00001738 3372 ?0212: - 00001738 DD 4E F2 3373 LD C,(IX-14) - 0000173B DD 46 F3 3374 LD B,(IX-13) - 0000173E CD 37 12 3375 CALL LWRD ?0663 - 00001741 20 5D 3376 JR NZ,?0522 - 00001743 3377 ?0214: - 00001743 DD 6E FC 3378 LD L,(IX-4) - 00001746 DD 66 FD 3379 LD H,(IX-3) - 00001749 77 3380 LD (HL),A - 0000174A 21 01 00 3381 LD HL,1 - 0000174D E5 3382 PUSH HL - 0000174E DD 4E FA 3383 LD C,(IX-6) - 00001751 DD 46 FB 3384 LD B,(IX-5) - 00001754 2B 3385 DEC HL - 00001755 ED 42 3386 SBC HL,BC - 00001757 7C 3387 LD A,H - 00001758 07 3388 RLCA - 00001759 9F 3389 SBC A,A - 0000175A 4F 3390 LD C,A - 0000175B 41 3391 LD B,C - 0000175C C5 3392 PUSH BC - 0000175D E5 3393 PUSH HL - 0000175E CD 54 16 3394 CALL LWRD ?0665 - 00001761 F1 3395 POP AF - 00001762 F1 3396 POP AF - 00001763 F1 3397 POP AF - 00001764 FD 6E 08 3398 LD L,(IY+8) - 00001767 FD 66 09 3399 LD H,(IY+9) - 0000176A E5 3400 PUSH HL - 0000176B 21 01 00 3401 LD HL,1 - 0000176E E5 3402 PUSH HL - 0000176F DD 4E FA 3403 LD C,(IX-6) - 00001772 DD 46 FB 3404 LD B,(IX-5) - 00001775 2E 04 3405 LD L,4 - 00001777 DD 5E F2 3406 LD E,(IX-14) - 0000177A DD 56 F3 3407 LD D,(IX-13) - 0000177D 19 3408 ADD HL,DE - 0000177E 5E 3409 LD E,(HL) - 0000177F 23 3410 INC HL - 00001780 56 3411 LD D,(HL) - 00001781 3E 00 3412 LD A,BYTE3 fwrite - 00001783 21 00 00 3413 LD HL,LWRD fwrite - 00001786 CD 00 00 3414 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001789 F1 3415 POP AF - 0000178A F1 3416 POP AF - 0000178B 21 01 00 3417 LD HL,1 - 0000178E E5 3418 PUSH HL - 0000178F 2B 3419 DEC HL - 00001790 E5 3420 PUSH HL - 00001791 E5 3421 PUSH HL - 00001792 CD 54 16 3422 CALL LWRD ?0665 - 00001795 F1 3423 POP AF - 00001796 F1 3424 POP AF - 00001797 F1 3425 POP AF - 00001798 DD 34 F6 3426 INC (IX-10) - 0000179B 20 03 3427 JR NZ,?0522 - 0000179D DD 34 F7 3428 INC (IX-9) - 000017A0 3429 ?0522: - 000017A0 3430 ?0215: - 000017A0 3431 ?0213: - 000017A0 DD 34 F4 3432 INC (IX-12) - 000017A3 C2 F0 16 3433 JP NZ,?0209 - 000017A6 DD 34 F5 3434 INC (IX-11) - 000017A9 C3 F0 16 3435 JP LWRD ?0209 - 000017AC 3436 ?0208: - 000017AC DD 5E F2 3437 LD E,(IX-14) - 000017AF DD 56 F3 3438 LD D,(IX-13) - 000017B2 3E 25 3439 LD A,BYTE3 dbDeleteRow - 000017B4 21 25 1D 3440 LD HL,LWRD dbDeleteRow - 000017B7 CD 00 00 3441 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000017BA 21 00 00 3442 LD HL,0 - 000017BD E5 3443 PUSH HL - 000017BE E5 3444 PUSH HL - 000017BF 2E 06 3445 LD L,6 - 000017C1 E5 3446 PUSH HL - 000017C2 CD 54 16 3447 CALL LWRD ?0665 - 000017C5 F1 3448 POP AF - 000017C6 F1 3449 POP AF - 000017C7 F1 3450 POP AF - 000017C8 21 04 00 3451 LD HL,4 - 000017CB 39 3452 ADD HL,SP - 000017CC 7E 3453 LD A,(HL) - 000017CD FD 86 06 3454 ADD A,(IY+6) - 000017D0 77 3455 LD (HL),A - 000017D1 23 3456 INC HL - 000017D2 7E 3457 LD A,(HL) - 000017D3 FD 8E 07 3458 ADC A,(IY+7) - 000017D6 77 3459 LD (HL),A - 000017D7 FD 6E 08 3460 LD L,(IY+8) - 000017DA FD 66 09 3461 LD H,(IY+9) - 000017DD E5 3462 PUSH HL - 000017DE 21 01 00 3463 LD HL,1 - 000017E1 E5 3464 PUSH HL - 000017E2 01 02 00 3465 LD BC,2 - 000017E5 2E 08 3466 LD L,8 - 000017E7 39 3467 ADD HL,SP - 000017E8 EB 3468 EX DE,HL - 000017E9 3E 00 3469 LD A,BYTE3 fwrite - 000017EB 21 00 00 3470 LD HL,LWRD fwrite - 000017EE CD 00 00 3471 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000017F1 F1 3472 POP AF - 000017F2 F1 3473 POP AF - 000017F3 DD 5E F8 3474 LD E,(IX-8) - 000017F6 DD 56 F9 3475 LD D,(IX-7) - 000017F9 3E 97 3476 LD A,BYTE3 dbDeleteExpression - 000017FB 21 97 24 3477 LD HL,LWRD dbDeleteExpression - 000017FE CD 00 00 3478 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001801 FD E5 3479 PUSH IY - 00001803 D1 3480 POP DE - 00001804 3E 70 3481 LD A,BYTE3 dbTableClose - 00001806 21 70 0B 3482 LD HL,LWRD dbTableClose - 00001809 CD 00 00 3483 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000180C 21 00 00 3484 LD HL,0 - 0000180F DD F9 3485 LD SP,IX - 00001811 C3 6B 00 3486 JP LWRD ?0614 - 00001814 3487 ?0637: - 00001814 11 14 00 3488 LD DE,20 - 00001817 3E 00 3489 LD A,BYTE3 malloc - 00001819 21 00 00 3490 LD HL,LWRD malloc - 0000181C CD 00 00 3491 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000181F E5 3492 PUSH HL - 00001820 FD E1 3493 POP IY - 00001822 DD 4E FE 3494 LD C,(IX-2) - 00001825 DD 46 FF 3495 LD B,(IX-1) - 00001828 03 3496 INC BC - 00001829 03 3497 INC BC - 0000182A 03 3498 INC BC - 0000182B 0A 3499 LD A,(BC) - 0000182C 6F 3500 LD L,A - 0000182D 03 3501 INC BC - 0000182E 0A 3502 LD A,(BC) - 0000182F 67 3503 LD H,A - 00001830 01 04 00 3504 LD BC,4 - 00001833 09 3505 ADD HL,BC - 00001834 4E 3506 LD C,(HL) - 00001835 23 3507 INC HL - 00001836 46 3508 LD B,(HL) - 00001837 21 0B 00 3509 LD HL,11 - 0000183A FD E5 3510 PUSH IY - 0000183C D1 3511 POP DE - 0000183D 19 3512 ADD HL,DE - 0000183E EB 3513 EX DE,HL - 0000183F 3E 00 3514 LD A,BYTE3 strcpy - 00001841 21 00 00 3515 LD HL,LWRD strcpy - 00001844 CD 00 00 3516 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001847 FD E5 3517 PUSH IY - 00001849 D1 3518 POP DE - 0000184A 3E A0 3519 LD A,BYTE3 dbTableOpen - 0000184C 21 A0 08 3520 LD HL,LWRD dbTableOpen - 0000184F CD 00 00 3521 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001852 FD E5 3522 PUSH IY - 00001854 D1 3523 POP DE - 00001855 3E 32 3524 LD A,BYTE3 dbRecordSize - 00001857 21 32 0C 3525 LD HL,LWRD dbRecordSize - 0000185A CD 00 00 3526 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000185D C9 3527 RET - 0000185E 3528 dbExecuteUpdate: - 0000185E C5 3529 PUSH BC - 0000185F FD E5 3530 PUSH IY - 00001861 DD E5 3531 PUSH IX - 00001863 DD 21 00 00 3532 LD IX,0 - 00001867 DD 39 3533 ADD IX,SP - 00001869 D5 3534 PUSH DE - 0000186A 21 E8 FF 3535 LD HL,65512 - 0000186D 39 3536 ADD HL,SP - 0000186E F9 3537 LD SP,HL - 0000186F CD 14 18 3538 CALL LWRD ?0637 - 00001872 DD 75 F2 3539 LD (IX-14),L - 00001875 DD 74 F3 3540 LD (IX-13),H - 00001878 CD 8E 04 3541 CALL LWRD ?0642 - 0000187B DD 75 FA 3542 LD (IX-6),L - 0000187E DD 74 FB 3543 LD (IX-5),H - 00001881 AF 3544 XOR A - 00001882 DD 77 EE 3545 LD (IX-18),A - 00001885 DD 77 EF 3546 LD (IX-17),A - 00001888 21 05 00 3547 LD HL,5 - 0000188B DD 4E FE 3548 LD C,(IX-2) - 0000188E DD 46 FF 3549 LD B,(IX-1) - 00001891 09 3550 ADD HL,BC - 00001892 7E 3551 LD A,(HL) - 00001893 23 3552 INC HL - 00001894 B6 3553 OR (HL) - 00001895 21 08 00 3554 LD HL,8 - 00001898 39 3555 ADD HL,SP - 00001899 4D 3556 LD C,L - 0000189A 44 3557 LD B,H - 0000189B 28 17 3558 JR Z,?0217 - 0000189D 3559 ?0216: - 0000189D 21 05 00 3560 LD HL,5 - 000018A0 DD 5E FE 3561 LD E,(IX-2) - 000018A3 DD 56 FF 3562 LD D,(IX-1) - 000018A6 19 3563 ADD HL,DE - 000018A7 56 3564 LD D,(HL) - 000018A8 23 3565 INC HL - 000018A9 66 3566 LD H,(HL) - 000018AA 6A 3567 LD L,D - 000018AB 11 04 00 3568 LD DE,4 - 000018AE 19 3569 ADD HL,DE - 000018AF 5E 3570 LD E,(HL) - 000018B0 23 3571 INC HL - 000018B1 56 3572 LD D,(HL) - 000018B2 18 02 3573 JR ?0535 - 000018B4 3574 ?0217: - 000018B4 5F 3575 LD E,A - 000018B5 57 3576 LD D,A - 000018B6 3577 ?0535: - 000018B6 3578 ?0218: - 000018B6 CD 21 12 3579 CALL LWRD ?0662 - 000018B9 DD 75 E8 3580 LD (IX-24),L - 000018BC DD 74 E9 3581 LD (IX-23),H - 000018BF FD E5 3582 PUSH IY - 000018C1 C1 3583 POP BC - 000018C2 71 3584 LD (HL),C - 000018C3 23 3585 INC HL - 000018C4 70 3586 LD (HL),B - 000018C5 21 04 00 3587 LD HL,4 - 000018C8 DD 4E E8 3588 LD C,(IX-24) - 000018CB DD 46 E9 3589 LD B,(IX-23) - 000018CE 09 3590 ADD HL,BC - 000018CF DD 5E FA 3591 LD E,(IX-6) - 000018D2 73 3592 LD (HL),E - 000018D3 DD 56 FB 3593 LD D,(IX-5) - 000018D6 23 3594 INC HL - 000018D7 72 3595 LD (HL),D - 000018D8 69 3596 LD L,C - 000018D9 60 3597 LD H,B - 000018DA 23 3598 INC HL - 000018DB 23 3599 INC HL - 000018DC AF 3600 XOR A - 000018DD 77 3601 LD (HL),A - 000018DE 23 3602 INC HL - 000018DF 77 3603 LD (HL),A - 000018E0 CD 0F 12 3604 CALL LWRD ?0647 - 000018E3 DD 75 F0 3605 LD (IX-16),L - 000018E6 DD 74 F1 3606 LD (IX-15),H - 000018E9 CD 8D 04 3607 CALL LWRD ?0644 - 000018EC DD 75 EC 3608 LD (IX-20),L - 000018EF DD 74 ED 3609 LD (IX-19),H - 000018F2 DD 6E FE 3610 LD L,(IX-2) - 000018F5 DD 66 FF 3611 LD H,(IX-1) - 000018F8 23 3612 INC HL - 000018F9 46 3613 LD B,(HL) - 000018FA DD 70 EA 3614 LD (IX-22),B - 000018FD 23 3615 INC HL - 000018FE 66 3616 LD H,(HL) - 000018FF DD 74 EB 3617 LD (IX-21),H - 00001902 AF 3618 XOR A - 00001903 DD 77 E6 3619 LD (IX-26),A - 00001906 DD 77 E7 3620 LD (IX-25),A - 00001909 3621 ?0220: - 00001909 DD 4E F0 3622 LD C,(IX-16) - 0000190C DD 46 F1 3623 LD B,(IX-15) - 0000190F DD 6E E6 3624 LD L,(IX-26) - 00001912 DD 66 E7 3625 LD H,(IX-25) - 00001915 F6 80 3626 OR 128 - 00001917 ED 42 3627 SBC HL,BC - 00001919 E2 1D 19 3628 JP PO,?0525 - 0000191C AC 3629 XOR H - 0000191D 3630 ?0525: - 0000191D F2 8E 19 3631 JP P,?0219 - 00001920 3632 ?0221: - 00001920 0E 00 3633 LD C,0 - 00001922 C5 3634 PUSH BC - 00001923 0E 3D 3635 LD C,61 - 00001925 21 04 00 3636 LD HL,4 - 00001928 DD 5E EA 3637 LD E,(IX-22) - 0000192B DD 56 EB 3638 LD D,(IX-21) - 0000192E 19 3639 ADD HL,DE - 0000192F 5E 3640 LD E,(HL) - 00001930 23 3641 INC HL - 00001931 56 3642 LD D,(HL) - 00001932 3E 9F 3643 LD A,BYTE3 dbReplaceChar - 00001934 21 9F 02 3644 LD HL,LWRD dbReplaceChar - 00001937 CD 00 00 3645 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000193A F1 3646 POP AF - 0000193B DD 75 FC 3647 LD (IX-4),L - 0000193E DD 74 FD 3648 LD (IX-3),H - 00001941 AF 3649 XOR A - 00001942 DD 77 F4 3650 LD (IX-12),A - 00001945 DD 77 F5 3651 LD (IX-11),A - 00001948 DD 6E E6 3652 LD L,(IX-26) - 0000194B DD 66 E7 3653 LD H,(IX-25) - 0000194E 29 3654 ADD HL,HL - 0000194F DD 4E EC 3655 LD C,(IX-20) - 00001952 DD 46 ED 3656 LD B,(IX-19) - 00001955 09 3657 ADD HL,BC - 00001956 E5 3658 PUSH HL - 00001957 21 10 00 3659 LD HL,16 - 0000195A 39 3660 ADD HL,SP - 0000195B 4D 3661 LD C,L - 0000195C 44 3662 LD B,H - 0000195D DD 5E FC 3663 LD E,(IX-4) - 00001960 DD 56 FD 3664 LD D,(IX-3) - 00001963 13 3665 INC DE - 00001964 3E 5D 3666 LD A,BYTE3 dbParseExpression - 00001966 21 5D 20 3667 LD HL,LWRD dbParseExpression - 00001969 CD 00 00 3668 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000196C 4D 3669 LD C,L - 0000196D 44 3670 LD B,H - 0000196E E1 3671 POP HL - 0000196F 71 3672 LD (HL),C - 00001970 23 3673 INC HL - 00001971 70 3674 LD (HL),B - 00001972 DD 6E EA 3675 LD L,(IX-22) - 00001975 DD 66 EB 3676 LD H,(IX-21) - 00001978 23 3677 INC HL - 00001979 23 3678 INC HL - 0000197A 46 3679 LD B,(HL) - 0000197B DD 70 EA 3680 LD (IX-22),B - 0000197E 23 3681 INC HL - 0000197F 66 3682 LD H,(HL) - 00001980 DD 74 EB 3683 LD (IX-21),H - 00001983 DD 34 E6 3684 INC (IX-26) - 00001986 20 81 3685 JR NZ,?0220 - 00001988 DD 34 E7 3686 INC (IX-25) - 0000198B C3 09 19 3687 JP LWRD ?0220 - 0000198E 3688 ?0219: - 0000198E AF 3689 XOR A - 0000198F DD 77 EE 3690 LD (IX-18),A - 00001992 DD 77 EF 3691 LD (IX-17),A - 00001995 3692 ?0224: - 00001995 FD 4E 04 3693 LD C,(IY+4) - 00001998 FD 46 05 3694 LD B,(IY+5) - 0000199B DD 6E EE 3695 LD L,(IX-18) - 0000199E DD 66 EF 3696 LD H,(IX-17) - 000019A1 F6 80 3697 OR 128 - 000019A3 ED 42 3698 SBC HL,BC - 000019A5 E2 A9 19 3699 JP PO,?0527 - 000019A8 AC 3700 XOR H - 000019A9 3701 ?0527: - 000019A9 F2 B3 1B 3702 JP P,?0223 - 000019AC 3703 ?0225: - 000019AC FD 6E 08 3704 LD L,(IY+8) - 000019AF FD 66 09 3705 LD H,(IY+9) - 000019B2 E5 3706 PUSH HL - 000019B3 21 01 00 3707 LD HL,1 - 000019B6 E5 3708 PUSH HL - 000019B7 DD 4E F2 3709 LD C,(IX-14) - 000019BA DD 46 F3 3710 LD B,(IX-13) - 000019BD 2E 04 3711 LD L,4 - 000019BF DD 5E E8 3712 LD E,(IX-24) - 000019C2 DD 56 E9 3713 LD D,(IX-23) - 000019C5 19 3714 ADD HL,DE - 000019C6 5E 3715 LD E,(HL) - 000019C7 23 3716 INC HL - 000019C8 56 3717 LD D,(HL) - 000019C9 3E 00 3718 LD A,BYTE3 fread - 000019CB 21 00 00 3719 LD HL,LWRD fread - 000019CE CD 00 00 3720 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000019D1 F1 3721 POP AF - 000019D2 F1 3722 POP AF - 000019D3 DD 6E FA 3723 LD L,(IX-6) - 000019D6 DD 66 FB 3724 LD H,(IX-5) - 000019D9 46 3725 LD B,(HL) - 000019DA 05 3726 DEC B - 000019DB C2 A7 1B 3727 JP NZ,?0230 - 000019DE 3728 ?0227: - 000019DE DD 4E E8 3729 LD C,(IX-24) - 000019E1 DD 46 E9 3730 LD B,(IX-23) - 000019E4 CD 37 12 3731 CALL LWRD ?0663 - 000019E7 C2 A7 1B 3732 JP NZ,?0230 - 000019EA 3733 ?0229: - 000019EA 21 01 00 3734 LD HL,1 - 000019ED E5 3735 PUSH HL - 000019EE DD 4E F2 3736 LD C,(IX-14) - 000019F1 DD 46 F3 3737 LD B,(IX-13) - 000019F4 2B 3738 DEC HL - 000019F5 ED 42 3739 SBC HL,BC - 000019F7 7C 3740 LD A,H - 000019F8 07 3741 RLCA - 000019F9 9F 3742 SBC A,A - 000019FA 4F 3743 LD C,A - 000019FB 41 3744 LD B,C - 000019FC C5 3745 PUSH BC - 000019FD E5 3746 PUSH HL - 000019FE CD 54 16 3747 CALL LWRD ?0665 - 00001A01 F1 3748 POP AF - 00001A02 F1 3749 POP AF - 00001A03 F1 3750 POP AF - 00001A04 AF 3751 XOR A - 00001A05 DD 77 E6 3752 LD (IX-26),A - 00001A08 DD 77 E7 3753 LD (IX-25),A - 00001A0B 3754 ?0232: - 00001A0B DD 4E F0 3755 LD C,(IX-16) - 00001A0E DD 46 F1 3756 LD B,(IX-15) - 00001A11 DD 6E E6 3757 LD L,(IX-26) - 00001A14 DD 66 E7 3758 LD H,(IX-25) - 00001A17 F6 80 3759 OR 128 - 00001A19 ED 42 3760 SBC HL,BC - 00001A1B E2 1F 1A 3761 JP PO,?0528 - 00001A1E AC 3762 XOR H - 00001A1F 3763 ?0528: - 00001A1F F2 4B 1A 3764 JP P,?0231 - 00001A22 3765 ?0233: - 00001A22 DD 4E E8 3766 LD C,(IX-24) - 00001A25 DD 46 E9 3767 LD B,(IX-23) - 00001A28 DD 6E E6 3768 LD L,(IX-26) - 00001A2B DD 66 E7 3769 LD H,(IX-25) - 00001A2E 29 3770 ADD HL,HL - 00001A2F DD 5E EC 3771 LD E,(IX-20) - 00001A32 DD 56 ED 3772 LD D,(IX-19) - 00001A35 19 3773 ADD HL,DE - 00001A36 5E 3774 LD E,(HL) - 00001A37 23 3775 INC HL - 00001A38 56 3776 LD D,(HL) - 00001A39 3E C0 3777 LD A,BYTE3 dbEvaluateExpression - 00001A3B 21 C0 24 3778 LD HL,LWRD dbEvaluateExpression - 00001A3E CD 00 00 3779 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001A41 DD 34 E6 3780 INC (IX-26) - 00001A44 20 C5 3781 JR NZ,?0232 - 00001A46 DD 34 E7 3782 INC (IX-25) - 00001A49 18 C0 3783 JR ?0232 - 00001A4B 3784 ?0231: - 00001A4B DD 6E FE 3785 LD L,(IX-2) - 00001A4E DD 66 FF 3786 LD H,(IX-1) - 00001A51 23 3787 INC HL - 00001A52 46 3788 LD B,(HL) - 00001A53 DD 70 EA 3789 LD (IX-22),B - 00001A56 23 3790 INC HL - 00001A57 66 3791 LD H,(HL) - 00001A58 DD 74 EB 3792 LD (IX-21),H - 00001A5B AF 3793 XOR A - 00001A5C DD 77 E6 3794 LD (IX-26),A - 00001A5F DD 77 E7 3795 LD (IX-25),A - 00001A62 3796 ?0236: - 00001A62 DD 4E F0 3797 LD C,(IX-16) - 00001A65 DD 46 F1 3798 LD B,(IX-15) - 00001A68 DD 6E E6 3799 LD L,(IX-26) - 00001A6B DD 66 E7 3800 LD H,(IX-25) - 00001A6E F6 80 3801 OR 128 - 00001A70 ED 42 3802 SBC HL,BC - 00001A72 E2 76 1A 3803 JP PO,?0530 - 00001A75 AC 3804 XOR H - 00001A76 3805 ?0530: - 00001A76 F2 73 1B 3806 JP P,?0235 - 00001A79 3807 ?0237: - 00001A79 21 04 00 3808 LD HL,4 - 00001A7C DD 4E EA 3809 LD C,(IX-22) - 00001A7F DD 46 EB 3810 LD B,(IX-21) - 00001A82 09 3811 ADD HL,BC - 00001A83 4E 3812 LD C,(HL) - 00001A84 23 3813 INC HL - 00001A85 46 3814 LD B,(HL) - 00001A86 FD E5 3815 PUSH IY - 00001A88 D1 3816 POP DE - 00001A89 3E 4E 3817 LD A,BYTE3 dbFieldSearch - 00001A8B 21 4E 0C 3818 LD HL,LWRD dbFieldSearch - 00001A8E CD 00 00 3819 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001A91 DD 75 F6 3820 LD (IX-10),L - 00001A94 DD 74 F7 3821 LD (IX-9),H - 00001A97 4D 3822 LD C,L - 00001A98 44 3823 LD B,H - 00001A99 FD E5 3824 PUSH IY - 00001A9B D1 3825 POP DE - 00001A9C 3E DD 3826 LD A,BYTE3 dbFieldOffset - 00001A9E 21 DD 0B 3827 LD HL,LWRD dbFieldOffset - 00001AA1 CD 00 00 3828 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001AA4 DD 75 F4 3829 LD (IX-12),L - 00001AA7 DD 74 F5 3830 LD (IX-11),H - 00001AAA FD 6E 02 3831 LD L,(IY+2) - 00001AAD FD 66 03 3832 LD H,(IY+3) - 00001AB0 E5 3833 PUSH HL - 00001AB1 DD 6E F6 3834 LD L,(IX-10) - 00001AB4 DD 66 F7 3835 LD H,(IX-9) - 00001AB7 29 3836 ADD HL,HL - 00001AB8 29 3837 ADD HL,HL - 00001AB9 4D 3838 LD C,L - 00001ABA 44 3839 LD B,H - 00001ABB 29 3840 ADD HL,HL - 00001ABC 09 3841 ADD HL,BC - 00001ABD 4D 3842 LD C,L - 00001ABE 44 3843 LD B,H - 00001ABF E1 3844 POP HL - 00001AC0 09 3845 ADD HL,BC - 00001AC1 01 09 00 3846 LD BC,9 - 00001AC4 09 3847 ADD HL,BC - 00001AC5 7E 3848 LD A,(HL) - 00001AC6 FE 53 3849 CP 83 - 00001AC8 20 34 3850 JR NZ,?0241 - 00001ACA 3851 ?0240: - 00001ACA FD 6E 02 3852 LD L,(IY+2) - 00001ACD FD 66 03 3853 LD H,(IY+3) - 00001AD0 E5 3854 PUSH HL - 00001AD1 DD 6E F6 3855 LD L,(IX-10) - 00001AD4 DD 66 F7 3856 LD H,(IX-9) - 00001AD7 29 3857 ADD HL,HL - 00001AD8 29 3858 ADD HL,HL - 00001AD9 4D 3859 LD C,L - 00001ADA 44 3860 LD B,H - 00001ADB 29 3861 ADD HL,HL - 00001ADC 09 3862 ADD HL,BC - 00001ADD 4D 3863 LD C,L - 00001ADE 44 3864 LD B,H - 00001ADF E1 3865 POP HL - 00001AE0 09 3866 ADD HL,BC - 00001AE1 01 0A 00 3867 LD BC,10 - 00001AE4 09 3868 ADD HL,BC - 00001AE5 4E 3869 LD C,(HL) - 00001AE6 C5 3870 PUSH BC - 00001AE7 DD 6E E6 3871 LD L,(IX-26) - 00001AEA DD 66 E7 3872 LD H,(IX-25) - 00001AED 29 3873 ADD HL,HL - 00001AEE DD 4E EC 3874 LD C,(IX-20) - 00001AF1 DD 46 ED 3875 LD B,(IX-19) - 00001AF4 09 3876 ADD HL,BC - 00001AF5 46 3877 LD B,(HL) - 00001AF6 23 3878 INC HL - 00001AF7 66 3879 LD H,(HL) - 00001AF8 68 3880 LD L,B - 00001AF9 01 28 00 3881 LD BC,40 - 00001AFC 18 36 3882 JR ?0536 - 00001AFE 3883 ?0241: - 00001AFE FE 49 3884 CP 73 - 00001B00 20 54 3885 JR NZ,?0239 - 00001B02 FD 6E 02 3886 LD L,(IY+2) - 00001B05 FD 66 03 3887 LD H,(IY+3) - 00001B08 E5 3888 PUSH HL - 00001B09 DD 6E F6 3889 LD L,(IX-10) - 00001B0C DD 66 F7 3890 LD H,(IX-9) - 00001B0F 29 3891 ADD HL,HL - 00001B10 29 3892 ADD HL,HL - 00001B11 4D 3893 LD C,L - 00001B12 44 3894 LD B,H - 00001B13 29 3895 ADD HL,HL - 00001B14 09 3896 ADD HL,BC - 00001B15 4D 3897 LD C,L - 00001B16 44 3898 LD B,H - 00001B17 E1 3899 POP HL - 00001B18 09 3900 ADD HL,BC - 00001B19 01 0A 00 3901 LD BC,10 - 00001B1C 09 3902 ADD HL,BC - 00001B1D 4E 3903 LD C,(HL) - 00001B1E C5 3904 PUSH BC - 00001B1F DD 6E E6 3905 LD L,(IX-26) - 00001B22 DD 66 E7 3906 LD H,(IX-25) - 00001B25 29 3907 ADD HL,HL - 00001B26 DD 4E EC 3908 LD C,(IX-20) - 00001B29 DD 46 ED 3909 LD B,(IX-19) - 00001B2C 09 3910 ADD HL,BC - 00001B2D 46 3911 LD B,(HL) - 00001B2E 23 3912 INC HL - 00001B2F 66 3913 LD H,(HL) - 00001B30 68 3914 LD L,B - 00001B31 01 24 00 3915 LD BC,36 - 00001B34 3916 ?0536: - 00001B34 09 3917 ADD HL,BC - 00001B35 4D 3918 LD C,L - 00001B36 44 3919 LD B,H - 00001B37 21 04 00 3920 LD HL,4 - 00001B3A DD 5E E8 3921 LD E,(IX-24) - 00001B3D DD 56 E9 3922 LD D,(IX-23) - 00001B40 19 3923 ADD HL,DE - 00001B41 56 3924 LD D,(HL) - 00001B42 23 3925 INC HL - 00001B43 66 3926 LD H,(HL) - 00001B44 6A 3927 LD L,D - 00001B45 DD 5E F4 3928 LD E,(IX-12) - 00001B48 DD 56 F5 3929 LD D,(IX-11) - 00001B4B 19 3930 ADD HL,DE - 00001B4C EB 3931 EX DE,HL - 00001B4D 3E 00 3932 LD A,BYTE3 memcpy - 00001B4F 21 00 00 3933 LD HL,LWRD memcpy - 00001B52 CD 00 00 3934 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001B55 F1 3935 POP AF - 00001B56 3936 ?0239: - 00001B56 DD 6E EA 3937 LD L,(IX-22) - 00001B59 DD 66 EB 3938 LD H,(IX-21) - 00001B5C 23 3939 INC HL - 00001B5D 23 3940 INC HL - 00001B5E 46 3941 LD B,(HL) - 00001B5F DD 70 EA 3942 LD (IX-22),B - 00001B62 23 3943 INC HL - 00001B63 66 3944 LD H,(HL) - 00001B64 DD 74 EB 3945 LD (IX-21),H - 00001B67 DD 34 E6 3946 INC (IX-26) - 00001B6A C2 62 1A 3947 JP NZ,?0236 - 00001B6D DD 34 E7 3948 INC (IX-25) - 00001B70 C3 62 1A 3949 JP LWRD ?0236 - 00001B73 3950 ?0235: - 00001B73 FD 6E 08 3951 LD L,(IY+8) - 00001B76 FD 66 09 3952 LD H,(IY+9) - 00001B79 E5 3953 PUSH HL - 00001B7A 21 01 00 3954 LD HL,1 - 00001B7D E5 3955 PUSH HL - 00001B7E DD 4E F2 3956 LD C,(IX-14) - 00001B81 DD 46 F3 3957 LD B,(IX-13) - 00001B84 2E 04 3958 LD L,4 - 00001B86 DD 5E E8 3959 LD E,(IX-24) - 00001B89 DD 56 E9 3960 LD D,(IX-23) - 00001B8C 19 3961 ADD HL,DE - 00001B8D 5E 3962 LD E,(HL) - 00001B8E 23 3963 INC HL - 00001B8F 56 3964 LD D,(HL) - 00001B90 3E 00 3965 LD A,BYTE3 fwrite - 00001B92 21 00 00 3966 LD HL,LWRD fwrite - 00001B95 CD 00 00 3967 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001B98 F1 3968 POP AF - 00001B99 F1 3969 POP AF - 00001B9A 21 01 00 3970 LD HL,1 - 00001B9D E5 3971 PUSH HL - 00001B9E 2B 3972 DEC HL - 00001B9F E5 3973 PUSH HL - 00001BA0 E5 3974 PUSH HL - 00001BA1 CD 54 16 3975 CALL LWRD ?0665 - 00001BA4 F1 3976 POP AF - 00001BA5 F1 3977 POP AF - 00001BA6 F1 3978 POP AF - 00001BA7 3979 ?0230: - 00001BA7 3980 ?0228: - 00001BA7 DD 34 EE 3981 INC (IX-18) - 00001BAA C2 95 19 3982 JP NZ,?0224 - 00001BAD DD 34 EF 3983 INC (IX-17) - 00001BB0 C3 95 19 3984 JP LWRD ?0224 - 00001BB3 3985 ?0223: - 00001BB3 DD 5E E8 3986 LD E,(IX-24) - 00001BB6 DD 56 E9 3987 LD D,(IX-23) - 00001BB9 3E 25 3988 LD A,BYTE3 dbDeleteRow - 00001BBB 21 25 1D 3989 LD HL,LWRD dbDeleteRow - 00001BBE CD 00 00 3990 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001BC1 AF 3991 XOR A - 00001BC2 DD 77 E6 3992 LD (IX-26),A - 00001BC5 DD 77 E7 3993 LD (IX-25),A - 00001BC8 3994 ?0243: - 00001BC8 DD 4E F0 3995 LD C,(IX-16) - 00001BCB DD 46 F1 3996 LD B,(IX-15) - 00001BCE DD 6E E6 3997 LD L,(IX-26) - 00001BD1 DD 66 E7 3998 LD H,(IX-25) - 00001BD4 F6 80 3999 OR 128 - 00001BD6 ED 42 4000 SBC HL,BC - 00001BD8 E2 DC 1B 4001 JP PO,?0533 - 00001BDB AC 4002 XOR H - 00001BDC 4003 ?0533: - 00001BDC F2 02 1C 4004 JP P,?0242 - 00001BDF 4005 ?0244: - 00001BDF DD 6E E6 4006 LD L,(IX-26) - 00001BE2 DD 66 E7 4007 LD H,(IX-25) - 00001BE5 29 4008 ADD HL,HL - 00001BE6 DD 4E EC 4009 LD C,(IX-20) - 00001BE9 DD 46 ED 4010 LD B,(IX-19) - 00001BEC 09 4011 ADD HL,BC - 00001BED 5E 4012 LD E,(HL) - 00001BEE 23 4013 INC HL - 00001BEF 56 4014 LD D,(HL) - 00001BF0 3E 97 4015 LD A,BYTE3 dbDeleteExpression - 00001BF2 21 97 24 4016 LD HL,LWRD dbDeleteExpression - 00001BF5 CD 00 00 4017 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001BF8 DD 34 E6 4018 INC (IX-26) - 00001BFB 20 CB 4019 JR NZ,?0243 - 00001BFD DD 34 E7 4020 INC (IX-25) - 00001C00 18 C6 4021 JR ?0243 - 00001C02 4022 ?0242: - 00001C02 DD 5E EC 4023 LD E,(IX-20) - 00001C05 DD 56 ED 4024 LD D,(IX-19) - 00001C08 CD 3B 00 4025 CALL LWRD ?0639 - 00001C0B FD E5 4026 PUSH IY - 00001C0D D1 4027 POP DE - 00001C0E 3E 70 4028 LD A,BYTE3 dbTableClose - 00001C10 21 70 0B 4029 LD HL,LWRD dbTableClose - 00001C13 CD 00 00 4030 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001C16 21 00 00 4031 LD HL,0 - 00001C19 DD F9 4032 LD SP,IX - 00001C1B C3 6B 00 4033 JP LWRD ?0614 - 00001C1E 4034 dbExecuteStatement: - 00001C1E FD E5 4035 PUSH IY - 00001C20 DD E5 4036 PUSH IX - 00001C22 D5 4037 PUSH DE - 00001C23 FD 21 00 00 4038 LD IY,0 - 00001C27 3E B5 4039 LD A,BYTE3 dbParseStatement - 00001C29 21 B5 04 4040 LD HL,LWRD dbParseStatement - 00001C2C CD 00 00 4041 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001C2F E5 4042 PUSH HL - 00001C30 DD E1 4043 POP IX - 00001C32 7D 4044 LD A,L - 00001C33 B4 4045 OR H - 00001C34 20 04 4046 JR NZ,?0247 - 00001C36 4047 ?0246: - 00001C36 6F 4048 LD L,A - 00001C37 67 4049 LD H,A - 00001C38 18 4D 4050 JR ?0253 - 00001C3A 4051 ?0247: - 00001C3A DD 7E 00 4052 LD A,(IX+0) - 00001C3D FE 73 4053 CP 115 - 00001C3F 20 0A 4054 JR NZ,?0250 - 00001C41 4055 ?0249: - 00001C41 DD E5 4056 PUSH IX - 00001C43 D1 4057 POP DE - 00001C44 3E A4 4058 LD A,BYTE3 dbExecuteQuery - 00001C46 21 A4 0C 4059 LD HL,LWRD dbExecuteQuery - 00001C49 18 28 4060 JR ?0545 - 00001C4B 4061 ?0250: - 00001C4B FE 69 4062 CP 105 - 00001C4D 20 0A 4063 JR NZ,?0251 - 00001C4F DD E5 4064 PUSH IX - 00001C51 D1 4065 POP DE - 00001C52 3E 59 4066 LD A,BYTE3 dbExecuteInsert - 00001C54 21 59 12 4067 LD HL,LWRD dbExecuteInsert - 00001C57 18 1A 4068 JR ?0545 - 00001C59 4069 ?0251: - 00001C59 FE 64 4070 CP 100 - 00001C5B 20 0A 4071 JR NZ,?0252 - 00001C5D DD E5 4072 PUSH IX - 00001C5F D1 4073 POP DE - 00001C60 3E 62 4074 LD A,BYTE3 dbExecuteDelete - 00001C62 21 62 16 4075 LD HL,LWRD dbExecuteDelete - 00001C65 18 0C 4076 JR ?0545 - 00001C67 4077 ?0252: - 00001C67 FE 75 4078 CP 117 - 00001C69 20 0E 4079 JR NZ,?0248 - 00001C6B DD E5 4080 PUSH IX - 00001C6D D1 4081 POP DE - 00001C6E 3E 5E 4082 LD A,BYTE3 dbExecuteUpdate - 00001C70 21 5E 18 4083 LD HL,LWRD dbExecuteUpdate - 00001C73 4084 ?0545: - 00001C73 CD 00 00 4085 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001C76 E5 4086 PUSH HL - 00001C77 FD E1 4087 POP IY - 00001C79 4088 ?0248: - 00001C79 DD E5 4089 PUSH IX - 00001C7B D1 4090 POP DE - 00001C7C 3E 8E 4091 LD A,BYTE3 dbStatementClose - 00001C7E 21 8E 0B 4092 LD HL,LWRD dbStatementClose - 00001C81 CD 00 00 4093 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001C84 FD E5 4094 PUSH IY - 00001C86 E1 4095 POP HL - 00001C87 4096 ?0253: - 00001C87 C3 E1 02 4097 JP LWRD ?0626 - 00001C8A 4098 dbNextRow: - 00001C8A FD E5 4099 PUSH IY - 00001C8C DD E5 4100 PUSH IX - 00001C8E F5 4101 PUSH AF - 00001C8F C5 4102 PUSH BC - 00001C90 DD E1 4103 POP IX - 00001C92 D5 4104 PUSH DE - 00001C93 FD E1 4105 POP IY - 00001C95 21 00 00 4106 LD HL,0 - 00001C98 39 4107 ADD HL,SP - 00001C99 E5 4108 PUSH HL - 00001C9A 3E 32 4109 LD A,BYTE3 dbRecordSize - 00001C9C 21 32 0C 4110 LD HL,LWRD dbRecordSize - 00001C9F CD 00 00 4111 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001CA2 EB 4112 EX DE,HL - 00001CA3 E1 4113 POP HL - 00001CA4 73 4114 LD (HL),E - 00001CA5 23 4115 INC HL - 00001CA6 72 4116 LD (HL),D - 00001CA7 21 04 00 4117 LD HL,4 - 00001CAA 09 4118 ADD HL,BC - 00001CAB 7E 4119 LD A,(HL) - 00001CAC 23 4120 INC HL - 00001CAD B6 4121 OR (HL) - 00001CAE 20 09 4122 JR NZ,?0255 - 00001CB0 4123 ?0254: - 00001CB0 CD 8F 04 4124 CALL LWRD ?0641 - 00001CB3 DD 75 04 4125 LD (IX+4),L - 00001CB6 DD 74 05 4126 LD (IX+5),H - 00001CB9 4127 ?0255: - 00001CB9 FD 4E 04 4128 LD C,(IY+4) - 00001CBC FD 46 05 4129 LD B,(IY+5) - 00001CBF FD 6E 06 4130 LD L,(IY+6) - 00001CC2 FD 66 07 4131 LD H,(IY+7) - 00001CC5 F6 80 4132 OR 128 - 00001CC7 ED 42 4133 SBC HL,BC - 00001CC9 E2 CD 1C 4134 JP PO,?0547 - 00001CCC AC 4135 XOR H - 00001CCD 4136 ?0547: - 00001CCD FA E4 1C 4137 JP M,?0257 - 00001CD0 4138 ?0256: - 00001CD0 DD 36 02 FF 4139 LD (IX+2),255 - 00001CD4 DD 36 03 FF 4140 LD (IX+3),255 - 00001CD8 CD 35 00 4141 CALL LWRD ?0638 - 00001CDB AF 4142 XOR A - 00001CDC DD 77 04 4143 LD (IX+4),A - 00001CDF DD 77 05 4144 LD (IX+5),A - 00001CE2 18 3E 4145 JR ?0258 - 00001CE4 4146 ?0257: - 00001CE4 FD 6E 06 4147 LD L,(IY+6) - 00001CE7 FD 66 07 4148 LD H,(IY+7) - 00001CEA 23 4149 INC HL - 00001CEB FD 75 06 4150 LD (IY+6),L - 00001CEE FD 74 07 4151 LD (IY+7),H - 00001CF1 2B 4152 DEC HL - 00001CF2 DD 75 02 4153 LD (IX+2),L - 00001CF5 DD 74 03 4154 LD (IX+3),H - 00001CF8 FD E5 4155 PUSH IY - 00001CFA DD E5 4156 PUSH IX - 00001CFC E1 4157 POP HL - 00001CFD C1 4158 POP BC - 00001CFE 71 4159 LD (HL),C - 00001CFF 23 4160 INC HL - 00001D00 70 4161 LD (HL),B - 00001D01 FD 6E 08 4162 LD L,(IY+8) - 00001D04 FD 66 09 4163 LD H,(IY+9) - 00001D07 E5 4164 PUSH HL - 00001D08 21 01 00 4165 LD HL,1 - 00001D0B E5 4166 PUSH HL - 00001D0C 2E 04 4167 LD L,4 - 00001D0E 39 4168 ADD HL,SP - 00001D0F 4E 4169 LD C,(HL) - 00001D10 23 4170 INC HL - 00001D11 46 4171 LD B,(HL) - 00001D12 DD 5E 04 4172 LD E,(IX+4) - 00001D15 DD 56 05 4173 LD D,(IX+5) - 00001D18 3E 00 4174 LD A,BYTE3 fread - 00001D1A 21 00 00 4175 LD HL,LWRD fread - 00001D1D CD 00 00 4176 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001D20 F1 4177 POP AF - 00001D21 F1 4178 POP AF - 00001D22 4179 ?0258: - 00001D22 C3 01 01 4180 JP LWRD ?0625 - 00001D25 4181 dbDeleteRow: - 00001D25 DD E5 4182 PUSH IX - 00001D27 D5 4183 PUSH DE - 00001D28 DD E1 4184 POP IX - 00001D2A 7B 4185 LD A,E - 00001D2B B2 4186 OR D - 00001D2C 28 11 4187 JR Z,?0260 - 00001D2E 4188 ?0259: - 00001D2E DD 7E 04 4189 LD A,(IX+4) - 00001D31 DD B6 05 4190 OR (IX+5) - 00001D34 28 03 4191 JR Z,?0262 - 00001D36 4192 ?0261: - 00001D36 CD 35 00 4193 CALL LWRD ?0638 - 00001D39 4194 ?0262: - 00001D39 DD E5 4195 PUSH IX - 00001D3B D1 4196 POP DE - 00001D3C CD 3B 00 4197 CALL LWRD ?0639 - 00001D3F 4198 ?0260: - 00001D3F DD E1 4199 POP IX - 00001D41 C3 00 00 4200 JP LWRD ?BANK_FAST_LEAVE_L08 - 00001D44 4201 dbNewRow: - 00001D44 C5 4202 PUSH BC - 00001D45 D5 4203 PUSH DE - 00001D46 DD E5 4204 PUSH IX - 00001D48 11 06 00 4205 LD DE,6 - 00001D4B CD 8F 04 4206 CALL LWRD ?0641 - 00001D4E E5 4207 PUSH HL - 00001D4F DD E1 4208 POP IX - 00001D51 01 04 00 4209 LD BC,4 - 00001D54 09 4210 ADD HL,BC - 00001D55 AF 4211 XOR A - 00001D56 77 4212 LD (HL),A - 00001D57 23 4213 INC HL - 00001D58 77 4214 LD (HL),A - 00001D59 DD E5 4215 PUSH IX - 00001D5B E1 4216 POP HL - 00001D5C 77 4217 LD (HL),A - 00001D5D 23 4218 INC HL - 00001D5E 77 4219 LD (HL),A - 00001D5F DD 36 02 FF 4220 LD (IX+2),255 - 00001D63 DD 36 03 FF 4221 LD (IX+3),255 - 00001D67 DD E5 4222 PUSH IX - 00001D69 E1 4223 POP HL - 00001D6A DD E1 4224 POP IX - 00001D6C D1 4225 POP DE - 00001D6D C1 4226 POP BC - 00001D6E C3 00 00 4227 JP LWRD ?BANK_FAST_LEAVE_L08 - 00001D71 4228 dbGetString: - 00001D71 FD E5 4229 PUSH IY - 00001D73 DD E5 4230 PUSH IX - 00001D75 DD 21 00 00 4231 LD IX,0 - 00001D79 DD 39 4232 ADD IX,SP - 00001D7B C5 4233 PUSH BC - 00001D7C F5 4234 PUSH AF - 00001D7D F5 4235 PUSH AF - 00001D7E F5 4236 PUSH AF - 00001D7F D5 4237 PUSH DE - 00001D80 FD E1 4238 POP IY - 00001D82 21 04 00 4239 LD HL,4 - 00001D85 19 4240 ADD HL,DE - 00001D86 7E 4241 LD A,(HL) - 00001D87 DD 77 F8 4242 LD (IX-8),A - 00001D8A 23 4243 INC HL - 00001D8B 66 4244 LD H,(HL) - 00001D8C DD 74 F9 4245 LD (IX-7),H - 00001D8F EB 4246 EX DE,HL - 00001D90 5E 4247 LD E,(HL) - 00001D91 23 4248 INC HL - 00001D92 56 4249 LD D,(HL) - 00001D93 3E DD 4250 LD A,BYTE3 dbFieldOffset - 00001D95 21 DD 0B 4251 LD HL,LWRD dbFieldOffset - 00001D98 CD 00 00 4252 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001D9B DD 75 FA 4253 LD (IX-6),L - 00001D9E DD 74 FB 4254 LD (IX-5),H - 00001DA1 FD 6E 00 4255 LD L,(IY+0) - 00001DA4 FD 66 01 4256 LD H,(IY+1) - 00001DA7 23 4257 INC HL - 00001DA8 23 4258 INC HL - 00001DA9 46 4259 LD B,(HL) - 00001DAA 23 4260 INC HL - 00001DAB 66 4261 LD H,(HL) - 00001DAC 68 4262 LD L,B - 00001DAD E5 4263 PUSH HL - 00001DAE DD 6E FE 4264 LD L,(IX-2) - 00001DB1 DD 66 FF 4265 LD H,(IX-1) - 00001DB4 29 4266 ADD HL,HL - 00001DB5 29 4267 ADD HL,HL - 00001DB6 4D 4268 LD C,L - 00001DB7 44 4269 LD B,H - 00001DB8 29 4270 ADD HL,HL - 00001DB9 09 4271 ADD HL,BC - 00001DBA 4D 4272 LD C,L - 00001DBB 44 4273 LD B,H - 00001DBC E1 4274 POP HL - 00001DBD 09 4275 ADD HL,BC - 00001DBE 01 09 00 4276 LD BC,9 - 00001DC1 09 4277 ADD HL,BC - 00001DC2 7E 4278 LD A,(HL) - 00001DC3 FE 53 4279 CP 83 - 00001DC5 20 1B 4280 JR NZ,?0265 - 00001DC7 4281 ?0264: - 00001DC7 DD 6E FA 4282 LD L,(IX-6) - 00001DCA DD 66 FB 4283 LD H,(IX-5) - 00001DCD DD 4E F8 4284 LD C,(IX-8) - 00001DD0 DD 46 F9 4285 LD B,(IX-7) - 00001DD3 09 4286 ADD HL,BC - 00001DD4 4D 4287 LD C,L - 00001DD5 44 4288 LD B,H - 00001DD6 DD 5E 08 4289 LD E,(IX+8) - 00001DD9 DD 56 09 4290 LD D,(IX+9) - 00001DDC CD AD 04 4291 CALL LWRD ?0651 - 00001DDF C3 7A 1E 4292 JP LWRD ?0270 - 00001DE2 4293 ?0265: - 00001DE2 FE 49 4294 CP 73 - 00001DE4 C2 7A 1E 4295 JP NZ,?0270 - 00001DE7 FD 6E 00 4296 LD L,(IY+0) - 00001DEA FD 66 01 4297 LD H,(IY+1) - 00001DED 23 4298 INC HL - 00001DEE 23 4299 INC HL - 00001DEF 46 4300 LD B,(HL) - 00001DF0 23 4301 INC HL - 00001DF1 66 4302 LD H,(HL) - 00001DF2 68 4303 LD L,B - 00001DF3 E5 4304 PUSH HL - 00001DF4 DD 6E FE 4305 LD L,(IX-2) - 00001DF7 DD 66 FF 4306 LD H,(IX-1) - 00001DFA 29 4307 ADD HL,HL - 00001DFB 29 4308 ADD HL,HL - 00001DFC 4D 4309 LD C,L - 00001DFD 44 4310 LD B,H - 00001DFE 29 4311 ADD HL,HL - 00001DFF 09 4312 ADD HL,BC - 00001E00 4D 4313 LD C,L - 00001E01 44 4314 LD B,H - 00001E02 E1 4315 POP HL - 00001E03 09 4316 ADD HL,BC - 00001E04 01 0A 00 4317 LD BC,10 - 00001E07 09 4318 ADD HL,BC - 00001E08 46 4319 LD B,(HL) - 00001E09 05 4320 DEC B - 00001E0A 05 4321 DEC B - 00001E0B 20 21 4322 JR NZ,?0267 - 00001E0D 4323 ?0266: - 00001E0D C5 4324 PUSH BC - 00001E0E DD 4E 08 4325 LD C,(IX+8) - 00001E11 DD 46 09 4326 LD B,(IX+9) - 00001E14 DD 6E FA 4327 LD L,(IX-6) - 00001E17 DD 66 FB 4328 LD H,(IX-5) - 00001E1A DD 5E F8 4329 LD E,(IX-8) - 00001E1D DD 56 F9 4330 LD D,(IX-7) - 00001E20 19 4331 ADD HL,DE - 00001E21 5E 4332 LD E,(HL) - 00001E22 23 4333 INC HL - 00001E23 56 4334 LD D,(HL) - 00001E24 3E 00 4335 LD A,BYTE3 itoa - 00001E26 21 00 00 4336 LD HL,LWRD itoa - 00001E29 CD 00 00 4337 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001E2C 18 4B 4338 JR ?0548 - 00001E2E 4339 ?0267: - 00001E2E FD 6E 00 4340 LD L,(IY+0) - 00001E31 FD 66 01 4341 LD H,(IY+1) - 00001E34 23 4342 INC HL - 00001E35 23 4343 INC HL - 00001E36 46 4344 LD B,(HL) - 00001E37 23 4345 INC HL - 00001E38 66 4346 LD H,(HL) - 00001E39 68 4347 LD L,B - 00001E3A E5 4348 PUSH HL - 00001E3B DD 6E FE 4349 LD L,(IX-2) - 00001E3E DD 66 FF 4350 LD H,(IX-1) - 00001E41 29 4351 ADD HL,HL - 00001E42 29 4352 ADD HL,HL - 00001E43 4D 4353 LD C,L - 00001E44 44 4354 LD B,H - 00001E45 29 4355 ADD HL,HL - 00001E46 09 4356 ADD HL,BC - 00001E47 4D 4357 LD C,L - 00001E48 44 4358 LD B,H - 00001E49 E1 4359 POP HL - 00001E4A 09 4360 ADD HL,BC - 00001E4B 01 0A 00 4361 LD BC,10 - 00001E4E 09 4362 ADD HL,BC - 00001E4F 7E 4363 LD A,(HL) - 00001E50 FE 04 4364 CP 4 - 00001E52 20 26 4365 JR NZ,?0270 - 00001E54 4366 ?0269: - 00001E54 C5 4367 PUSH BC - 00001E55 DD 6E 08 4368 LD L,(IX+8) - 00001E58 DD 66 09 4369 LD H,(IX+9) - 00001E5B E5 4370 PUSH HL - 00001E5C DD 6E FA 4371 LD L,(IX-6) - 00001E5F DD 66 FB 4372 LD H,(IX-5) - 00001E62 DD 4E F8 4373 LD C,(IX-8) - 00001E65 DD 46 F9 4374 LD B,(IX-7) - 00001E68 09 4375 ADD HL,BC - 00001E69 5E 4376 LD E,(HL) - 00001E6A 23 4377 INC HL - 00001E6B 56 4378 LD D,(HL) - 00001E6C 23 4379 INC HL - 00001E6D 4E 4380 LD C,(HL) - 00001E6E 23 4381 INC HL - 00001E6F 46 4382 LD B,(HL) - 00001E70 3E 00 4383 LD A,BYTE3 ltoa - 00001E72 21 00 00 4384 LD HL,LWRD ltoa - 00001E75 CD 00 00 4385 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001E78 F1 4386 POP AF - 00001E79 4387 ?0548: - 00001E79 F1 4388 POP AF - 00001E7A 4389 ?0270: - 00001E7A 4390 ?0268: - 00001E7A 4391 ?0263: - 00001E7A C3 7B 04 4392 JP LWRD ?0630 - 00001E7D 4393 dbGetInt: - 00001E7D FD E5 4394 PUSH IY - 00001E7F DD E5 4395 PUSH IX - 00001E81 C5 4396 PUSH BC - 00001E82 F5 4397 PUSH AF - 00001E83 D5 4398 PUSH DE - 00001E84 DD E1 4399 POP IX - 00001E86 21 04 00 4400 LD HL,4 - 00001E89 19 4401 ADD HL,DE - 00001E8A 7E 4402 LD A,(HL) - 00001E8B 23 4403 INC HL - 00001E8C 66 4404 LD H,(HL) - 00001E8D 6F 4405 LD L,A - 00001E8E E5 4406 PUSH HL - 00001E8F FD E1 4407 POP IY - 00001E91 21 00 00 4408 LD HL,0 - 00001E94 39 4409 ADD HL,SP - 00001E95 E5 4410 PUSH HL - 00001E96 EB 4411 EX DE,HL - 00001E97 5E 4412 LD E,(HL) - 00001E98 23 4413 INC HL - 00001E99 56 4414 LD D,(HL) - 00001E9A 3E DD 4415 LD A,BYTE3 dbFieldOffset - 00001E9C 21 DD 0B 4416 LD HL,LWRD dbFieldOffset - 00001E9F CD 00 00 4417 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001EA2 4D 4418 LD C,L - 00001EA3 44 4419 LD B,H - 00001EA4 E1 4420 POP HL - 00001EA5 71 4421 LD (HL),C - 00001EA6 23 4422 INC HL - 00001EA7 70 4423 LD (HL),B - 00001EA8 DD 6E 00 4424 LD L,(IX+0) - 00001EAB DD 66 01 4425 LD H,(IX+1) - 00001EAE 23 4426 INC HL - 00001EAF 23 4427 INC HL - 00001EB0 46 4428 LD B,(HL) - 00001EB1 23 4429 INC HL - 00001EB2 66 4430 LD H,(HL) - 00001EB3 68 4431 LD L,B - 00001EB4 E5 4432 PUSH HL - 00001EB5 21 04 00 4433 LD HL,4 - 00001EB8 39 4434 ADD HL,SP - 00001EB9 46 4435 LD B,(HL) - 00001EBA 23 4436 INC HL - 00001EBB 66 4437 LD H,(HL) - 00001EBC 68 4438 LD L,B - 00001EBD 29 4439 ADD HL,HL - 00001EBE 29 4440 ADD HL,HL - 00001EBF 4D 4441 LD C,L - 00001EC0 44 4442 LD B,H - 00001EC1 29 4443 ADD HL,HL - 00001EC2 09 4444 ADD HL,BC - 00001EC3 4D 4445 LD C,L - 00001EC4 44 4446 LD B,H - 00001EC5 E1 4447 POP HL - 00001EC6 09 4448 ADD HL,BC - 00001EC7 01 09 00 4449 LD BC,9 - 00001ECA 09 4450 ADD HL,BC - 00001ECB 7E 4451 LD A,(HL) - 00001ECC FE 53 4452 CP 83 - 00001ECE 20 16 4453 JR NZ,?0273 - 00001ED0 4454 ?0272: - 00001ED0 68 4455 LD L,B - 00001ED1 60 4456 LD H,B - 00001ED2 39 4457 ADD HL,SP - 00001ED3 46 4458 LD B,(HL) - 00001ED4 23 4459 INC HL - 00001ED5 66 4460 LD H,(HL) - 00001ED6 68 4461 LD L,B - 00001ED7 FD E5 4462 PUSH IY - 00001ED9 C1 4463 POP BC - 00001EDA 09 4464 ADD HL,BC - 00001EDB EB 4465 EX DE,HL - 00001EDC 3E 00 4466 LD A,BYTE3 atoi - 00001EDE 21 00 00 4467 LD HL,LWRD atoi - 00001EE1 CD 00 00 4468 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001EE4 18 13 4469 JR ?0274 - 00001EE6 4470 ?0273: - 00001EE6 FE 49 4471 CP 73 - 00001EE8 68 4472 LD L,B - 00001EE9 60 4473 LD H,B - 00001EEA 20 0D 4474 JR NZ,?0274 - 00001EEC 39 4475 ADD HL,SP - 00001EED 46 4476 LD B,(HL) - 00001EEE 23 4477 INC HL - 00001EEF 66 4478 LD H,(HL) - 00001EF0 68 4479 LD L,B - 00001EF1 FD E5 4480 PUSH IY - 00001EF3 C1 4481 POP BC - 00001EF4 09 4482 ADD HL,BC - 00001EF5 46 4483 LD B,(HL) - 00001EF6 23 4484 INC HL - 00001EF7 66 4485 LD H,(HL) - 00001EF8 68 4486 LD L,B - 00001EF9 4487 ?0274: - 00001EF9 4488 ?0275: - 00001EF9 F1 4489 POP AF - 00001EFA C3 E1 02 4490 JP LWRD ?0626 - 00001EFD 4491 ?0271: - 00001EFD 4492 dbGetLong: - 00001EFD FD E5 4493 PUSH IY - 00001EFF DD E5 4494 PUSH IX - 00001F01 DD 21 00 00 4495 LD IX,0 - 00001F05 DD 39 4496 ADD IX,SP - 00001F07 C5 4497 PUSH BC - 00001F08 F5 4498 PUSH AF - 00001F09 F5 4499 PUSH AF - 00001F0A D5 4500 PUSH DE - 00001F0B FD E1 4501 POP IY - 00001F0D 21 04 00 4502 LD HL,4 - 00001F10 19 4503 ADD HL,DE - 00001F11 7E 4504 LD A,(HL) - 00001F12 DD 77 FA 4505 LD (IX-6),A - 00001F15 23 4506 INC HL - 00001F16 66 4507 LD H,(HL) - 00001F17 DD 74 FB 4508 LD (IX-5),H - 00001F1A EB 4509 EX DE,HL - 00001F1B 5E 4510 LD E,(HL) - 00001F1C 23 4511 INC HL - 00001F1D 56 4512 LD D,(HL) - 00001F1E 3E DD 4513 LD A,BYTE3 dbFieldOffset - 00001F20 21 DD 0B 4514 LD HL,LWRD dbFieldOffset - 00001F23 CD 00 00 4515 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001F26 DD 75 FC 4516 LD (IX-4),L - 00001F29 DD 74 FD 4517 LD (IX-3),H - 00001F2C FD 6E 00 4518 LD L,(IY+0) - 00001F2F FD 66 01 4519 LD H,(IY+1) - 00001F32 23 4520 INC HL - 00001F33 23 4521 INC HL - 00001F34 46 4522 LD B,(HL) - 00001F35 23 4523 INC HL - 00001F36 66 4524 LD H,(HL) - 00001F37 68 4525 LD L,B - 00001F38 E5 4526 PUSH HL - 00001F39 DD 6E FE 4527 LD L,(IX-2) - 00001F3C DD 66 FF 4528 LD H,(IX-1) - 00001F3F 29 4529 ADD HL,HL - 00001F40 29 4530 ADD HL,HL - 00001F41 4D 4531 LD C,L - 00001F42 44 4532 LD B,H - 00001F43 29 4533 ADD HL,HL - 00001F44 09 4534 ADD HL,BC - 00001F45 4D 4535 LD C,L - 00001F46 44 4536 LD B,H - 00001F47 E1 4537 POP HL - 00001F48 09 4538 ADD HL,BC - 00001F49 01 09 00 4539 LD BC,9 - 00001F4C 09 4540 ADD HL,BC - 00001F4D 7E 4541 LD A,(HL) - 00001F4E FE 53 4542 CP 83 - 00001F50 20 18 4543 JR NZ,?0278 - 00001F52 4544 ?0277: - 00001F52 DD 6E FC 4545 LD L,(IX-4) - 00001F55 DD 66 FD 4546 LD H,(IX-3) - 00001F58 DD 4E FA 4547 LD C,(IX-6) - 00001F5B DD 46 FB 4548 LD B,(IX-5) - 00001F5E 09 4549 ADD HL,BC - 00001F5F EB 4550 EX DE,HL - 00001F60 3E 00 4551 LD A,BYTE3 atol - 00001F62 21 00 00 4552 LD HL,LWRD atol - 00001F65 CD 00 00 4553 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001F68 18 4F 4554 JR ?0282 - 00001F6A 4555 ?0278: - 00001F6A FE 49 4556 CP 73 - 00001F6C 20 48 4557 JR NZ,?0281 - 00001F6E FD 6E 00 4558 LD L,(IY+0) - 00001F71 FD 66 01 4559 LD H,(IY+1) - 00001F74 23 4560 INC HL - 00001F75 23 4561 INC HL - 00001F76 46 4562 LD B,(HL) - 00001F77 23 4563 INC HL - 00001F78 66 4564 LD H,(HL) - 00001F79 68 4565 LD L,B - 00001F7A E5 4566 PUSH HL - 00001F7B DD 6E FE 4567 LD L,(IX-2) - 00001F7E DD 66 FF 4568 LD H,(IX-1) - 00001F81 29 4569 ADD HL,HL - 00001F82 29 4570 ADD HL,HL - 00001F83 4D 4571 LD C,L - 00001F84 44 4572 LD B,H - 00001F85 29 4573 ADD HL,HL - 00001F86 09 4574 ADD HL,BC - 00001F87 4D 4575 LD C,L - 00001F88 44 4576 LD B,H - 00001F89 E1 4577 POP HL - 00001F8A 09 4578 ADD HL,BC - 00001F8B 01 0A 00 4579 LD BC,10 - 00001F8E 09 4580 ADD HL,BC - 00001F8F 46 4581 LD B,(HL) - 00001F90 05 4582 DEC B - 00001F91 05 4583 DEC B - 00001F92 DD 6E FC 4584 LD L,(IX-4) - 00001F95 DD 66 FD 4585 LD H,(IX-3) - 00001F98 DD 4E FA 4586 LD C,(IX-6) - 00001F9B DD 46 FB 4587 LD B,(IX-5) - 00001F9E 09 4588 ADD HL,BC - 00001F9F 20 0B 4589 JR NZ,?0280 - 00001FA1 4590 ?0279: - 00001FA1 46 4591 LD B,(HL) - 00001FA2 23 4592 INC HL - 00001FA3 66 4593 LD H,(HL) - 00001FA4 7C 4594 LD A,H - 00001FA5 68 4595 LD L,B - 00001FA6 07 4596 RLCA - 00001FA7 9F 4597 SBC A,A - 00001FA8 4F 4598 LD C,A - 00001FA9 41 4599 LD B,C - 00001FAA 18 0D 4600 JR ?0282 - 00001FAC 4601 ?0280: - 00001FAC 5E 4602 LD E,(HL) - 00001FAD 23 4603 INC HL - 00001FAE 56 4604 LD D,(HL) - 00001FAF 23 4605 INC HL - 00001FB0 4E 4606 LD C,(HL) - 00001FB1 23 4607 INC HL - 00001FB2 46 4608 LD B,(HL) - 00001FB3 EB 4609 EX DE,HL - 00001FB4 18 03 4610 JR ?0282 - 00001FB6 4611 ?0281: - 00001FB6 48 4612 LD C,B - 00001FB7 69 4613 LD L,C - 00001FB8 60 4614 LD H,B - 00001FB9 4615 ?0282: - 00001FB9 C3 7B 04 4616 JP LWRD ?0630 - 00001FBC 4617 ?0276: - 00001FBC 4618 dbOperatorPrecedence: - 00001FBC D5 4619 PUSH DE - 00001FBD CD 00 00 4620 CALL LWRD ?C_V_SWITCH_L06 - 00001FC0 10 00 4621 DEFW 16 - 00001FC2 00 4622 DEFB 0 - 00001FC3 26 4623 DEFB 38 - 00001FC4 28 4624 DEFB 40 - 00001FC5 29 4625 DEFB 41 - 00001FC6 2A 4626 DEFB 42 - 00001FC7 2B 4627 DEFB 43 - 00001FC8 2D 4628 DEFB 45 - 00001FC9 2F 4629 DEFB 47 - 00001FCA 3B 4630 DEFB 59 - 00001FCB 3C 4631 DEFB 60 - 00001FCC 3D 4632 DEFB 61 - 00001FCD 3E 4633 DEFB 62 - 00001FCE 5B 4634 DEFB 91 - 00001FCF 5D 4635 DEFB 93 - 00001FD0 5E 4636 DEFB 94 - 00001FD1 7C 4637 DEFB 124 - 00001FD2 10 20 4638 DEFW ?0291 - 00001FD4 08 20 4639 DEFW ?0289 - 00001FD6 F8 1F 4640 DEFW ?0285 - 00001FD8 04 20 4641 DEFW ?0288 - 00001FDA 04 20 4642 DEFW ?0288 - 00001FDC 04 20 4643 DEFW ?0288 - 00001FDE 04 20 4644 DEFW ?0288 - 00001FE0 04 20 4645 DEFW ?0288 - 00001FE2 0C 20 4646 DEFW ?0290 - 00001FE4 FC 1F 4647 DEFW ?0286 - 00001FE6 00 20 4648 DEFW ?0287 - 00001FE8 00 20 4649 DEFW ?0287 - 00001FEA FC 1F 4650 DEFW ?0286 - 00001FEC 0C 20 4651 DEFW ?0290 - 00001FEE F4 1F 4652 DEFW ?0284 - 00001FF0 08 20 4653 DEFW ?0289 - 00001FF2 0C 20 4654 DEFW ?0290 - 00001FF4 4655 ?0284: - 00001FF4 2E 01 4656 LD L,1 - 00001FF6 18 1A 4657 JR ?0292 - 00001FF8 4658 ?0285: - 00001FF8 2E 02 4659 LD L,2 - 00001FFA 18 16 4660 JR ?0292 - 00001FFC 4661 ?0286: - 00001FFC 2E 03 4662 LD L,3 - 00001FFE 18 12 4663 JR ?0292 - 00002000 4664 ?0287: - 00002000 2E 04 4665 LD L,4 - 00002002 18 0E 4666 JR ?0292 - 00002004 4667 ?0288: - 00002004 2E 05 4668 LD L,5 - 00002006 18 0A 4669 JR ?0292 - 00002008 4670 ?0289: - 00002008 2E 06 4671 LD L,6 - 0000200A 18 06 4672 JR ?0292 - 0000200C 4673 ?0290: - 0000200C 2E 3F 4674 LD L,63 - 0000200E 18 02 4675 JR ?0292 - 00002010 4676 ?0291: - 00002010 2E 00 4677 LD L,0 - 00002012 4678 ?0292: - 00002012 F1 4679 POP AF - 00002013 C3 00 00 4680 JP LWRD ?BANK_FAST_LEAVE_L08 - 00002016 4681 ?0283: - 00002016 4682 dbNewExpression: - 00002016 DD E5 4683 PUSH IX - 00002018 C5 4684 PUSH BC - 00002019 D5 4685 PUSH DE - 0000201A 11 4E 00 4686 LD DE,78 - 0000201D CD 8F 04 4687 CALL LWRD ?0641 - 00002020 E5 4688 PUSH HL - 00002021 DD E1 4689 POP IX - 00002023 23 4690 INC HL - 00002024 23 4691 INC HL - 00002025 23 4692 INC HL - 00002026 36 00 4693 LD (HL),0 - 00002028 AF 4694 XOR A - 00002029 DD 77 48 4695 LD (IX+72),A - 0000202C DD 77 49 4696 LD (IX+73),A - 0000202F DD 77 4A 4697 LD (IX+74),A - 00002032 DD 77 4B 4698 LD (IX+75),A - 00002035 DD 77 02 4699 LD (IX+2),A - 00002038 6F 4700 LD L,A - 00002039 67 4701 LD H,A - 0000203A 39 4702 ADD HL,SP - 0000203B 46 4703 LD B,(HL) - 0000203C DD 70 4C 4704 LD (IX+76),B - 0000203F 23 4705 INC HL - 00002040 66 4706 LD H,(HL) - 00002041 DD 74 4D 4707 LD (IX+77),H - 00002044 DD 71 00 4708 LD (IX+0),C - 00002047 DD 77 24 4709 LD (IX+36),A - 0000204A DD 77 25 4710 LD (IX+37),A - 0000204D DD 77 26 4711 LD (IX+38),A - 00002050 DD 77 27 4712 LD (IX+39),A - 00002053 DD E5 4713 PUSH IX - 00002055 E1 4714 POP HL - 00002056 F1 4715 POP AF - 00002057 F1 4716 POP AF - 00002058 DD E1 4717 POP IX - 0000205A C3 00 00 4718 JP LWRD ?BANK_FAST_LEAVE_L08 - 0000205D 4719 dbParseExpression: - 0000205D FD E5 4720 PUSH IY - 0000205F DD E5 4721 PUSH IX - 00002061 DD 21 00 00 4722 LD IX,0 - 00002065 DD 39 4723 ADD IX,SP - 00002067 C5 4724 PUSH BC - 00002068 D5 4725 PUSH DE - 00002069 21 B2 FF 4726 LD HL,65458 - 0000206C 39 4727 ADD HL,SP - 0000206D F9 4728 LD SP,HL - 0000206E AF 4729 XOR A - 0000206F DD 77 F8 4730 LD (IX-8),A - 00002072 DD 77 F9 4731 LD (IX-7),A - 00002075 7B 4732 LD A,E - 00002076 B2 4733 OR D - 00002077 20 24 4734 JR NZ,?0294 - 00002079 4735 ?0293: - 00002079 0E 01 4736 LD C,1 - 0000207B 5F 4737 LD E,A - 0000207C 57 4738 LD D,A - 0000207D CD 5F 24 4739 CALL LWRD ?0666 - 00002080 DD 75 AE 4740 LD (IX-82),L - 00002083 DD 74 AF 4741 LD (IX-81),H - 00002086 01 04 00 4742 LD BC,4 - 00002089 09 4743 ADD HL,BC - 0000208A 36 31 4744 LD (HL),49 - 0000208C 21 05 00 4745 LD HL,5 - 0000208F DD 4E AE 4746 LD C,(IX-82) - 00002092 DD 46 AF 4747 LD B,(IX-81) - 00002095 09 4748 ADD HL,BC - 00002096 36 00 4749 LD (HL),0 - 00002098 69 4750 LD L,C - 00002099 60 4751 LD H,B - 0000209A C3 57 24 4752 JP LWRD ?0356 - 0000209D 4753 ?0294: - 0000209D AF 4754 XOR A - 0000209E DD 77 F6 4755 LD (IX-10),A - 000020A1 DD 77 F7 4756 LD (IX-9),A - 000020A4 4757 ?0296: - 000020A4 01 40 80 4758 LD BC,32832 - 000020A7 DD 6E F6 4759 LD L,(IX-10) - 000020AA DD 66 F7 4760 LD H,(IX-9) - 000020AD 78 4761 LD A,B - 000020AE AC 4762 XOR H - 000020AF 67 4763 LD H,A - 000020B0 ED 42 4764 SBC HL,BC - 000020B2 30 16 4765 JR NC,?0295 - 000020B4 4766 ?0297: - 000020B4 21 06 00 4767 LD HL,6 - 000020B7 39 4768 ADD HL,SP - 000020B8 DD 4E F6 4769 LD C,(IX-10) - 000020BB DD 46 F7 4770 LD B,(IX-9) - 000020BE 09 4771 ADD HL,BC - 000020BF 36 00 4772 LD (HL),0 - 000020C1 03 4773 INC BC - 000020C2 DD 71 F6 4774 LD (IX-10),C - 000020C5 DD 70 F7 4775 LD (IX-9),B - 000020C8 18 DA 4776 JR ?0296 - 000020CA 4777 ?0295: - 000020CA 0E 03 4778 LD C,3 - 000020CC 11 00 00 4779 LD DE,0 - 000020CF CD 5F 24 4780 CALL LWRD ?0666 - 000020D2 DD 75 AE 4781 LD (IX-82),L - 000020D5 DD 74 AF 4782 LD (IX-81),H - 000020D8 E5 4783 PUSH HL - 000020D9 FD E1 4784 POP IY - 000020DB 4785 ?0301: - 000020DB AF 4786 XOR A - 000020DC DD 77 B2 4787 LD (IX-78),A - 000020DF DD 77 B3 4788 LD (IX-77),A - 000020E2 4789 ?0302: - 000020E2 DD 6E FE 4790 LD L,(IX-2) - 000020E5 DD 66 FF 4791 LD H,(IX-1) - 000020E8 46 4792 LD B,(HL) - 000020E9 23 4793 INC HL - 000020EA 66 4794 LD H,(HL) - 000020EB 68 4795 LD L,B - 000020EC DD 4E FC 4796 LD C,(IX-4) - 000020EF DD 46 FD 4797 LD B,(IX-3) - 000020F2 09 4798 ADD HL,BC - 000020F3 5E 4799 LD E,(HL) - 000020F4 3E BC 4800 LD A,BYTE3 dbOperatorPrecedence - 000020F6 21 BC 1F 4801 LD HL,LWRD dbOperatorPrecedence - 000020F9 CD 00 00 4802 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000020FC 26 00 4803 LD H,0 - 000020FE DD 75 F4 4804 LD (IX-12),L - 00002101 DD 74 F5 4805 LD (IX-11),H - 00002104 7D 4806 LD A,L - 00002105 B7 4807 OR A - 00002106 20 1E 4808 JR NZ,?0304 - 00002108 4809 ?0303: - 00002108 DD 6E FE 4810 LD L,(IX-2) - 0000210B DD 66 FF 4811 LD H,(IX-1) - 0000210E 46 4812 LD B,(HL) - 0000210F 23 4813 INC HL - 00002110 66 4814 LD H,(HL) - 00002111 68 4815 LD L,B - 00002112 DD 46 FD 4816 LD B,(IX-3) - 00002115 09 4817 ADD HL,BC - 00002116 46 4818 LD B,(HL) - 00002117 21 06 00 4819 LD HL,6 - 0000211A 39 4820 ADD HL,SP - 0000211B DD 5E F8 4821 LD E,(IX-8) - 0000211E DD 56 F9 4822 LD D,(IX-7) - 00002121 19 4823 ADD HL,DE - 00002122 70 4824 LD (HL),B - 00002123 C3 03 24 4825 JP LWRD ?0312 - 00002126 4826 ?0304: - 00002126 3E 01 4827 LD A,1 - 00002128 AD 4828 XOR L - 00002129 20 5E 4829 JR NZ,?0307 - 0000212B 4830 ?0306: - 0000212B DD 6E FE 4831 LD L,(IX-2) - 0000212E DD 66 FF 4832 LD H,(IX-1) - 00002131 46 4833 LD B,(HL) - 00002132 23 4834 INC HL - 00002133 66 4835 LD H,(HL) - 00002134 68 4836 LD L,B - 00002135 DD 46 FD 4837 LD B,(IX-3) - 00002138 09 4838 ADD HL,BC - 00002139 7E 4839 LD A,(HL) - 0000213A FE 29 4840 CP 41 - 0000213C 20 08 4841 JR NZ,?0309 - 0000213E 4842 ?0308: - 0000213E DD 36 F4 3F 4843 LD (IX-12),63 - 00002142 DD 36 F5 00 4844 LD (IX-11),0 - 00002146 4845 ?0309: - 00002146 DD 6E FE 4846 LD L,(IX-2) - 00002149 DD 66 FF 4847 LD H,(IX-1) - 0000214C 46 4848 LD B,(HL) - 0000214D 23 4849 INC HL - 0000214E 66 4850 LD H,(HL) - 0000214F 68 4851 LD L,B - 00002150 DD 46 FD 4852 LD B,(IX-3) - 00002153 09 4853 ADD HL,BC - 00002154 7E 4854 LD A,(HL) - 00002155 FE 28 4855 CP 40 - 00002157 C2 03 24 4856 JP NZ,?0312 - 0000215A 4857 ?0310: - 0000215A DD 6E FE 4858 LD L,(IX-2) - 0000215D DD 66 FF 4859 LD H,(IX-1) - 00002160 34 4860 INC (HL) - 00002161 23 4861 INC HL - 00002162 20 01 4862 JR NZ,?0549 - 00002164 34 4863 INC (HL) - 00002165 4864 ?0549: - 00002165 DD 4E FE 4865 LD C,(IX-2) - 00002168 DD 46 FF 4866 LD B,(IX-1) - 0000216B DD 5E FC 4867 LD E,(IX-4) - 0000216E DD 56 FD 4868 LD D,(IX-3) - 00002171 3E 5D 4869 LD A,BYTE3 dbParseExpression - 00002173 21 5D 20 4870 LD HL,LWRD dbParseExpression - 00002176 CD 00 00 4871 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00002179 DD 75 B2 4872 LD (IX-78),L - 0000217C DD 74 B3 4873 LD (IX-77),H - 0000217F AF 4874 XOR A - 00002180 DD 77 F8 4875 LD (IX-8),A - 00002183 DD 77 F9 4876 LD (IX-7),A - 00002186 C3 E2 20 4877 JP LWRD ?0302 - 00002189 4878 ?0311: - 00002189 4879 ?0307: - 00002189 2E 06 4880 LD L,6 - 0000218B 39 4881 ADD HL,SP - 0000218C DD 4E F8 4882 LD C,(IX-8) - 0000218F DD 46 F9 4883 LD B,(IX-7) - 00002192 09 4884 ADD HL,BC - 00002193 36 00 4885 LD (HL),0 - 00002195 FD 7E 48 4886 LD A,(IY+72) - 00002198 FD B6 49 4887 OR (IY+73) - 0000219B 20 46 4888 JR NZ,?0314 - 0000219D 4889 ?0313: - 0000219D DD 7E B2 4890 LD A,(IX-78) - 000021A0 DD B6 B3 4891 OR (IX-77) - 000021A3 20 1A 4892 JR NZ,?0316 - 000021A5 4893 ?0315: - 000021A5 CD 5A 24 4894 CALL LWRD ?0667 - 000021A8 FD 75 48 4895 LD (IY+72),L - 000021AB FD 74 49 4896 LD (IY+73),H - 000021AE 21 06 00 4897 LD HL,6 - 000021B1 39 4898 ADD HL,SP - 000021B2 4D 4899 LD C,L - 000021B3 44 4900 LD B,H - 000021B4 FD 6E 48 4901 LD L,(IY+72) - 000021B7 FD 66 49 4902 LD H,(IY+73) - 000021BA CD A8 04 4903 CALL LWRD ?0654 - 000021BD 18 0C 4904 JR ?0317 - 000021BF 4905 ?0316: - 000021BF DD 6E B2 4906 LD L,(IX-78) - 000021C2 FD 75 48 4907 LD (IY+72),L - 000021C5 DD 66 B3 4908 LD H,(IX-77) - 000021C8 FD 74 49 4909 LD (IY+73),H - 000021CB 4910 ?0317: - 000021CB DD 6E FE 4911 LD L,(IX-2) - 000021CE DD 66 FF 4912 LD H,(IX-1) - 000021D1 46 4913 LD B,(HL) - 000021D2 23 4914 INC HL - 000021D3 66 4915 LD H,(HL) - 000021D4 68 4916 LD L,B - 000021D5 DD 4E FC 4917 LD C,(IX-4) - 000021D8 DD 46 FD 4918 LD B,(IX-3) - 000021DB 09 4919 ADD HL,BC - 000021DC 46 4920 LD B,(HL) - 000021DD FD 70 02 4921 LD (IY+2),B - 000021E0 C3 FB 23 4922 JP LWRD ?0350 - 000021E3 4923 ?0314: - 000021E3 CD 67 24 4924 CALL LWRD ?0669 - 000021E6 E2 EA 21 4925 JP PO,?0550 - 000021E9 AC 4926 XOR H - 000021EA 4927 ?0550: - 000021EA F2 64 22 4928 JP P,?0320 - 000021ED 4929 ?0319: - 000021ED 0E 03 4930 LD C,3 - 000021EF CD 5C 24 4931 CALL LWRD ?0668 - 000021F2 FD 75 4A 4932 LD (IY+74),L - 000021F5 FD 74 4B 4933 LD (IY+75),H - 000021F8 DD 7E B2 4934 LD A,(IX-78) - 000021FB DD B6 B3 4935 OR (IX-77) - 000021FE FD 6E 4A 4936 LD L,(IY+74) - 00002201 FD 66 4B 4937 LD H,(IY+75) - 00002204 01 48 00 4938 LD BC,72 - 00002207 09 4939 ADD HL,BC - 00002208 20 2B 4940 JR NZ,?0322 - 0000220A 4941 ?0321: - 0000220A E5 4942 PUSH HL - 0000220B 0E 01 4943 LD C,1 - 0000220D FD 5E 4A 4944 LD E,(IY+74) - 00002210 FD 56 4B 4945 LD D,(IY+75) - 00002213 CD 5F 24 4946 CALL LWRD ?0666 - 00002216 4D 4947 LD C,L - 00002217 44 4948 LD B,H - 00002218 E1 4949 POP HL - 00002219 71 4950 LD (HL),C - 0000221A 23 4951 INC HL - 0000221B 70 4952 LD (HL),B - 0000221C 21 06 00 4953 LD HL,6 - 0000221F 39 4954 ADD HL,SP - 00002220 4D 4955 LD C,L - 00002221 44 4956 LD B,H - 00002222 FD 6E 4A 4957 LD L,(IY+74) - 00002225 FD 66 4B 4958 LD H,(IY+75) - 00002228 11 48 00 4959 LD DE,72 - 0000222B 19 4960 ADD HL,DE - 0000222C 56 4961 LD D,(HL) - 0000222D 23 4962 INC HL - 0000222E 66 4963 LD H,(HL) - 0000222F 6A 4964 LD L,D - 00002230 CD A8 04 4965 CALL LWRD ?0654 - 00002233 18 09 4966 JR ?0323 - 00002235 4967 ?0322: - 00002235 DD 4E B2 4968 LD C,(IX-78) - 00002238 71 4969 LD (HL),C - 00002239 DD 46 B3 4970 LD B,(IX-77) - 0000223C 23 4971 INC HL - 0000223D 70 4972 LD (HL),B - 0000223E 4973 ?0323: - 0000223E FD 6E 4A 4974 LD L,(IY+74) - 00002241 FD 66 4B 4975 LD H,(IY+75) - 00002244 23 4976 INC HL - 00002245 23 4977 INC HL - 00002246 E5 4978 PUSH HL - 00002247 DD 6E FE 4979 LD L,(IX-2) - 0000224A DD 66 FF 4980 LD H,(IX-1) - 0000224D 46 4981 LD B,(HL) - 0000224E 23 4982 INC HL - 0000224F 66 4983 LD H,(HL) - 00002250 68 4984 LD L,B - 00002251 DD 4E FC 4985 LD C,(IX-4) - 00002254 DD 46 FD 4986 LD B,(IX-3) - 00002257 09 4987 ADD HL,BC - 00002258 46 4988 LD B,(HL) - 00002259 E1 4989 POP HL - 0000225A 70 4990 LD (HL),B - 0000225B FD 6E 4A 4991 LD L,(IY+74) - 0000225E FD 66 4B 4992 LD H,(IY+75) - 00002261 C3 F8 23 4993 JP LWRD ?0557 - 00002264 4994 ?0320: - 00002264 3E 3F 4995 LD A,63 - 00002266 DD AE F4 4996 XOR (IX-12) - 00002269 DD B6 F5 4997 OR (IX-11) - 0000226C 20 2A 4998 JR NZ,?0326 - 0000226E 4999 ?0325: - 0000226E DD 7E B2 5000 LD A,(IX-78) - 00002271 DD B6 B3 5001 OR (IX-77) - 00002274 20 13 5002 JR NZ,?0328 - 00002276 5003 ?0327: - 00002276 CD 5A 24 5004 CALL LWRD ?0667 - 00002279 FD 75 4A 5005 LD (IY+74),L - 0000227C FD 74 4B 5006 LD (IY+75),H - 0000227F 21 06 00 5007 LD HL,6 - 00002282 39 5008 ADD HL,SP - 00002283 CD A0 04 5009 CALL LWRD ?0655 - 00002286 C3 FB 23 5010 JP LWRD ?0350 - 00002289 5011 ?0328: - 00002289 DD 6E B2 5012 LD L,(IX-78) - 0000228C FD 75 4A 5013 LD (IY+74),L - 0000228F DD 66 B3 5014 LD H,(IX-77) - 00002292 FD 74 4B 5015 LD (IY+75),H - 00002295 5016 ?0329: - 00002295 C3 FB 23 5017 JP LWRD ?0350 - 00002298 5018 ?0326: - 00002298 CD 80 24 5019 CALL LWRD ?0670 - 0000229B E2 9F 22 5020 JP PO,?0551 - 0000229E AC 5021 XOR H - 0000229F 5022 ?0551: - 0000229F FA FB 23 5023 JP M,?0350 - 000022A2 5024 ?0331: - 000022A2 DD 7E B2 5025 LD A,(IX-78) - 000022A5 DD B6 B3 5026 OR (IX-77) - 000022A8 20 12 5027 JR NZ,?0334 - 000022AA 5028 ?0333: - 000022AA CD 5A 24 5029 CALL LWRD ?0667 - 000022AD FD 75 4A 5030 LD (IY+74),L - 000022B0 FD 74 4B 5031 LD (IY+75),H - 000022B3 21 06 00 5032 LD HL,6 - 000022B6 39 5033 ADD HL,SP - 000022B7 CD A0 04 5034 CALL LWRD ?0655 - 000022BA 18 0C 5035 JR ?0335 - 000022BC 5036 ?0334: - 000022BC DD 6E B2 5037 LD L,(IX-78) - 000022BF FD 75 4A 5038 LD (IY+74),L - 000022C2 DD 66 B3 5039 LD H,(IX-77) - 000022C5 FD 74 4B 5040 LD (IY+75),H - 000022C8 5041 ?0335: - 000022C8 5042 ?0337: - 000022C8 CD 67 24 5043 CALL LWRD ?0669 - 000022CB E2 CF 22 5044 JP PO,?0552 - 000022CE AC 5045 XOR H - 000022CF 5046 ?0552: - 000022CF FA E5 22 5047 JP M,?0336 - 000022D2 FD 7E 4C 5048 LD A,(IY+76) - 000022D5 FD B6 4D 5049 OR (IY+77) - 000022D8 28 0B 5050 JR Z,?0336 - 000022DA 5051 ?0340: - 000022DA 5052 ?0339: - 000022DA 5053 ?0338: - 000022DA FD 6E 4C 5054 LD L,(IY+76) - 000022DD FD 66 4D 5055 LD H,(IY+77) - 000022E0 E5 5056 PUSH HL - 000022E1 FD E1 5057 POP IY - 000022E3 18 E3 5058 JR ?0335 - 000022E5 5059 ?0336: - 000022E5 FD 7E 4C 5060 LD A,(IY+76) - 000022E8 FD B6 4D 5061 OR (IY+77) - 000022EB 20 41 5062 JR NZ,?0342 - 000022ED CD 80 24 5063 CALL LWRD ?0670 - 000022F0 E2 F4 22 5064 JP PO,?0553 - 000022F3 AC 5065 XOR H - 000022F4 5066 ?0553: - 000022F4 FA 2E 23 5067 JP M,?0342 - 000022F7 5068 ?0344: - 000022F7 5069 ?0343: - 000022F7 5070 ?0341: - 000022F7 0E 03 5071 LD C,3 - 000022F9 58 5072 LD E,B - 000022FA 50 5073 LD D,B - 000022FB CD 5F 24 5074 CALL LWRD ?0666 - 000022FE DD 75 AE 5075 LD (IX-82),L - 00002301 DD 74 AF 5076 LD (IX-81),H - 00002304 01 48 00 5077 LD BC,72 - 00002307 09 5078 ADD HL,BC - 00002308 FD E5 5079 PUSH IY - 0000230A C1 5080 POP BC - 0000230B 71 5081 LD (HL),C - 0000230C 23 5082 INC HL - 0000230D 70 5083 LD (HL),B - 0000230E DD 6E FE 5084 LD L,(IX-2) - 00002311 DD 66 FF 5085 LD H,(IX-1) - 00002314 56 5086 LD D,(HL) - 00002315 23 5087 INC HL - 00002316 66 5088 LD H,(HL) - 00002317 6A 5089 LD L,D - 00002318 DD 5E FC 5090 LD E,(IX-4) - 0000231B DD 56 FD 5091 LD D,(IX-3) - 0000231E 19 5092 ADD HL,DE - 0000231F 56 5093 LD D,(HL) - 00002320 DD 6E AE 5094 LD L,(IX-82) - 00002323 DD 66 AF 5095 LD H,(IX-81) - 00002326 23 5096 INC HL - 00002327 23 5097 INC HL - 00002328 72 5098 LD (HL),D - 00002329 2B 5099 DEC HL - 0000232A 2B 5100 DEC HL - 0000232B C3 F8 23 5101 JP LWRD ?0557 - 0000232E 5102 ?0342: - 0000232E FD 7E 4C 5103 LD A,(IY+76) - 00002331 FD B6 4D 5104 OR (IY+77) - 00002334 20 5C 5105 JR NZ,?0347 - 00002336 CD 80 24 5106 CALL LWRD ?0670 - 00002339 E2 3D 23 5107 JP PO,?0554 - 0000233C AC 5108 XOR H - 0000233D 5109 ?0554: - 0000233D F2 92 23 5110 JP P,?0347 - 00002340 5111 ?0349: - 00002340 5112 ?0348: - 00002340 5113 ?0346: - 00002340 0E 03 5114 LD C,3 - 00002342 CD 5C 24 5115 CALL LWRD ?0668 - 00002345 DD 75 FA 5116 LD (IX-6),L - 00002348 DD 74 FB 5117 LD (IX-5),H - 0000234B 01 48 00 5118 LD BC,72 - 0000234E 09 5119 ADD HL,BC - 0000234F FD 4E 4A 5120 LD C,(IY+74) - 00002352 71 5121 LD (HL),C - 00002353 FD 46 4B 5122 LD B,(IY+75) - 00002356 23 5123 INC HL - 00002357 70 5124 LD (HL),B - 00002358 DD 6E FE 5125 LD L,(IX-2) - 0000235B DD 66 FF 5126 LD H,(IX-1) - 0000235E 46 5127 LD B,(HL) - 0000235F 23 5128 INC HL - 00002360 66 5129 LD H,(HL) - 00002361 68 5130 LD L,B - 00002362 DD 4E FC 5131 LD C,(IX-4) - 00002365 DD 46 FD 5132 LD B,(IX-3) - 00002368 09 5133 ADD HL,BC - 00002369 46 5134 LD B,(HL) - 0000236A DD 6E FA 5135 LD L,(IX-6) - 0000236D DD 66 FB 5136 LD H,(IX-5) - 00002370 23 5137 INC HL - 00002371 23 5138 INC HL - 00002372 70 5139 LD (HL),B - 00002373 21 48 00 5140 LD HL,72 - 00002376 DD 4E FA 5141 LD C,(IX-6) - 00002379 DD 46 FB 5142 LD B,(IX-5) - 0000237C 09 5143 ADD HL,BC - 0000237D 56 5144 LD D,(HL) - 0000237E 23 5145 INC HL - 0000237F 66 5146 LD H,(HL) - 00002380 6A 5147 LD L,D - 00002381 11 4C 00 5148 LD DE,76 - 00002384 19 5149 ADD HL,DE - 00002385 71 5150 LD (HL),C - 00002386 23 5151 INC HL - 00002387 70 5152 LD (HL),B - 00002388 FD 71 4A 5153 LD (IY+74),C - 0000238B FD 70 4B 5154 LD (IY+75),B - 0000238E 69 5155 LD L,C - 0000238F 60 5156 LD H,B - 00002390 18 66 5157 JR ?0557 - 00002392 5158 ?0347: - 00002392 FD 6E 4C 5159 LD L,(IY+76) - 00002395 DD 75 FA 5160 LD (IX-6),L - 00002398 FD 66 4D 5161 LD H,(IY+77) - 0000239B DD 74 FB 5162 LD (IX-5),H - 0000239E 0E 4A 5163 LD C,74 - 000023A0 09 5164 ADD HL,BC - 000023A1 E5 5165 PUSH HL - 000023A2 0E 03 5166 LD C,3 - 000023A4 DD 5E FA 5167 LD E,(IX-6) - 000023A7 DD 56 FB 5168 LD D,(IX-5) - 000023AA CD 5F 24 5169 CALL LWRD ?0666 - 000023AD 4D 5170 LD C,L - 000023AE 44 5171 LD B,H - 000023AF E1 5172 POP HL - 000023B0 71 5173 LD (HL),C - 000023B1 23 5174 INC HL - 000023B2 70 5175 LD (HL),B - 000023B3 21 4A 00 5176 LD HL,74 - 000023B6 DD 4E FA 5177 LD C,(IX-6) - 000023B9 DD 46 FB 5178 LD B,(IX-5) - 000023BC 09 5179 ADD HL,BC - 000023BD 56 5180 LD D,(HL) - 000023BE 23 5181 INC HL - 000023BF 66 5182 LD H,(HL) - 000023C0 6A 5183 LD L,D - 000023C1 11 48 00 5184 LD DE,72 - 000023C4 19 5185 ADD HL,DE - 000023C5 FD E5 5186 PUSH IY - 000023C7 D1 5187 POP DE - 000023C8 73 5188 LD (HL),E - 000023C9 23 5189 INC HL - 000023CA 72 5190 LD (HL),D - 000023CB 21 4A 00 5191 LD HL,74 - 000023CE 09 5192 ADD HL,BC - 000023CF 7E 5193 LD A,(HL) - 000023D0 23 5194 INC HL - 000023D1 66 5195 LD H,(HL) - 000023D2 6F 5196 LD L,A - 000023D3 23 5197 INC HL - 000023D4 23 5198 INC HL - 000023D5 E5 5199 PUSH HL - 000023D6 DD 6E FE 5200 LD L,(IX-2) - 000023D9 DD 66 FF 5201 LD H,(IX-1) - 000023DC 7E 5202 LD A,(HL) - 000023DD 23 5203 INC HL - 000023DE 66 5204 LD H,(HL) - 000023DF 6F 5205 LD L,A - 000023E0 DD 4E FC 5206 LD C,(IX-4) - 000023E3 DD 46 FD 5207 LD B,(IX-3) - 000023E6 09 5208 ADD HL,BC - 000023E7 46 5209 LD B,(HL) - 000023E8 E1 5210 POP HL - 000023E9 70 5211 LD (HL),B - 000023EA 21 4A 00 5212 LD HL,74 - 000023ED DD 4E FA 5213 LD C,(IX-6) - 000023F0 DD 46 FB 5214 LD B,(IX-5) - 000023F3 09 5215 ADD HL,BC - 000023F4 46 5216 LD B,(HL) - 000023F5 23 5217 INC HL - 000023F6 66 5218 LD H,(HL) - 000023F7 68 5219 LD L,B - 000023F8 5220 ?0557: - 000023F8 E5 5221 PUSH HL - 000023F9 FD E1 5222 POP IY - 000023FB 5223 ?0350: - 000023FB 5224 ?0345: - 000023FB 5225 ?0332: - 000023FB 5226 ?0330: - 000023FB 5227 ?0324: - 000023FB 5228 ?0318: - 000023FB DD 36 F8 FF 5229 LD (IX-8),255 - 000023FF DD 36 F9 FF 5230 LD (IX-7),255 - 00002403 5231 ?0312: - 00002403 5232 ?0305: - 00002403 DD 34 F8 5233 INC (IX-8) - 00002406 20 03 5234 JR NZ,?0555 - 00002408 DD 34 F9 5235 INC (IX-7) - 0000240B 5236 ?0555: - 0000240B DD 6E FE 5237 LD L,(IX-2) - 0000240E DD 66 FF 5238 LD H,(IX-1) - 00002411 34 5239 INC (HL) - 00002412 23 5240 INC HL - 00002413 20 01 5241 JR NZ,?0556 - 00002415 34 5242 INC (HL) - 00002416 5243 ?0556: - 00002416 01 3F 80 5244 LD BC,32831 - 00002419 DD 6E F4 5245 LD L,(IX-12) - 0000241C DD 66 F5 5246 LD H,(IX-11) - 0000241F 78 5247 LD A,B - 00002420 AC 5248 XOR H - 00002421 67 5249 LD H,A - 00002422 ED 42 5250 SBC HL,BC - 00002424 DA DB 20 5251 JP C,?0301 - 00002427 5252 ?0299: - 00002427 5253 ?0352: - 00002427 21 4A 00 5254 LD HL,74 - 0000242A DD 4E AE 5255 LD C,(IX-82) - 0000242D DD 46 AF 5256 LD B,(IX-81) - 00002430 09 5257 ADD HL,BC - 00002431 7E 5258 LD A,(HL) - 00002432 23 5259 INC HL - 00002433 B6 5260 OR (HL) - 00002434 20 1F 5261 JR NZ,?0351 - 00002436 69 5262 LD L,C - 00002437 60 5263 LD H,B - 00002438 7E 5264 LD A,(HL) - 00002439 FE 03 5265 CP 3 - 0000243B 20 18 5266 JR NZ,?0351 - 0000243D 5267 ?0355: - 0000243D 5268 ?0354: - 0000243D 5269 ?0353: - 0000243D E5 5270 PUSH HL - 0000243E FD E1 5271 POP IY - 00002440 21 48 00 5272 LD HL,72 - 00002443 09 5273 ADD HL,BC - 00002444 56 5274 LD D,(HL) - 00002445 DD 72 AE 5275 LD (IX-82),D - 00002448 23 5276 INC HL - 00002449 66 5277 LD H,(HL) - 0000244A DD 74 AF 5278 LD (IX-81),H - 0000244D FD E5 5279 PUSH IY - 0000244F D1 5280 POP DE - 00002450 CD 3B 00 5281 CALL LWRD ?0639 - 00002453 18 D2 5282 JR ?0299 - 00002455 5283 ?0351: - 00002455 69 5284 LD L,C - 00002456 60 5285 LD H,B - 00002457 5286 ?0356: - 00002457 C3 7B 04 5287 JP LWRD ?0630 - 0000245A 5288 ?0667: - 0000245A 0E 01 5289 LD C,1 - 0000245C 5290 ?0668: - 0000245C FD E5 5291 PUSH IY - 0000245E D1 5292 POP DE - 0000245F 5293 ?0666: - 0000245F 3E 16 5294 LD A,BYTE3 dbNewExpression - 00002461 21 16 20 5295 LD HL,LWRD dbNewExpression - 00002464 C3 00 00 5296 JP LWRD ?BANK_CALL_DIRECT_L08 - 00002467 5297 ?0669: - 00002467 FD 5E 02 5298 LD E,(IY+2) - 0000246A 3E BC 5299 LD A,BYTE3 dbOperatorPrecedence - 0000246C 21 BC 1F 5300 LD HL,LWRD dbOperatorPrecedence - 0000246F CD 00 00 5301 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00002472 4D 5302 LD C,L - 00002473 06 00 5303 LD B,0 - 00002475 DD 6E F4 5304 LD L,(IX-12) - 00002478 DD 66 F5 5305 LD H,(IX-11) - 0000247B F6 80 5306 OR 128 - 0000247D ED 42 5307 SBC HL,BC - 0000247F C9 5308 RET - 00002480 5309 ?0670: - 00002480 FD 5E 02 5310 LD E,(IY+2) - 00002483 3E BC 5311 LD A,BYTE3 dbOperatorPrecedence - 00002485 21 BC 1F 5312 LD HL,LWRD dbOperatorPrecedence - 00002488 CD 00 00 5313 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000248B 4D 5314 LD C,L - 0000248C DD 6E F4 5315 LD L,(IX-12) - 0000248F DD 66 F5 5316 LD H,(IX-11) - 00002492 F6 80 5317 OR 128 - 00002494 ED 42 5318 SBC HL,BC - 00002496 C9 5319 RET - 00002497 5320 dbDeleteExpression: - 00002497 DD E5 5321 PUSH IX - 00002499 D5 5322 PUSH DE - 0000249A DD E1 5323 POP IX - 0000249C 1A 5324 LD A,(DE) - 0000249D FE 03 5325 CP 3 - 0000249F 20 1C 5326 JR NZ,?0358 - 000024A1 5327 ?0357: - 000024A1 DD 5E 48 5328 LD E,(IX+72) - 000024A4 DD 56 49 5329 LD D,(IX+73) - 000024A7 3E 97 5330 LD A,BYTE3 dbDeleteExpression - 000024A9 21 97 24 5331 LD HL,LWRD dbDeleteExpression - 000024AC CD 00 00 5332 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000024AF DD 5E 4A 5333 LD E,(IX+74) - 000024B2 DD 56 4B 5334 LD D,(IX+75) - 000024B5 3E 97 5335 LD A,BYTE3 dbDeleteExpression - 000024B7 21 97 24 5336 LD HL,LWRD dbDeleteExpression - 000024BA CD 00 00 5337 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000024BD 5338 ?0358: - 000024BD C3 83 0B 5339 JP LWRD ?0636 - 000024C0 5340 dbEvaluateExpression: - 000024C0 FD E5 5341 PUSH IY - 000024C2 DD E5 5342 PUSH IX - 000024C4 DD 21 00 00 5343 LD IX,0 - 000024C8 DD 39 5344 ADD IX,SP - 000024CA C5 5345 PUSH BC - 000024CB F5 5346 PUSH AF - 000024CC F5 5347 PUSH AF - 000024CD F5 5348 PUSH AF - 000024CE D5 5349 PUSH DE - 000024CF FD E1 5350 POP IY - 000024D1 1A 5351 LD A,(DE) - 000024D2 FE 03 5352 CP 3 - 000024D4 C2 90 28 5353 JP NZ,?0360 - 000024D7 5354 ?0359: - 000024D7 FD 5E 48 5355 LD E,(IY+72) - 000024DA FD 56 49 5356 LD D,(IY+73) - 000024DD 3E C0 5357 LD A,BYTE3 dbEvaluateExpression - 000024DF 21 C0 24 5358 LD HL,LWRD dbEvaluateExpression - 000024E2 CD 00 00 5359 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000024E5 DD 4E FE 5360 LD C,(IX-2) - 000024E8 DD 46 FF 5361 LD B,(IX-1) - 000024EB FD 5E 4A 5362 LD E,(IY+74) - 000024EE FD 56 4B 5363 LD D,(IY+75) - 000024F1 3E C0 5364 LD A,BYTE3 dbEvaluateExpression - 000024F3 21 C0 24 5365 LD HL,LWRD dbEvaluateExpression - 000024F6 CD 00 00 5366 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000024F9 FD 5E 02 5367 LD E,(IY+2) - 000024FC 3E BC 5368 LD A,BYTE3 dbOperatorPrecedence - 000024FE 21 BC 1F 5369 LD HL,LWRD dbOperatorPrecedence - 00002501 CD 00 00 5370 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00002504 7D 5371 LD A,L - 00002505 FE 05 5372 CP 5 - 00002507 FD 6E 48 5373 LD L,(IY+72) - 0000250A FD 66 49 5374 LD H,(IY+73) - 0000250D 23 5375 INC HL - 0000250E D2 05 26 5376 JP NC,?0362 - 00002511 5377 ?0361: - 00002511 46 5378 LD B,(HL) - 00002512 05 5379 DEC B - 00002513 C2 05 2A 5380 JP NZ,?0454 - 00002516 FD 6E 4A 5381 LD L,(IY+74) - 00002519 FD 66 4B 5382 LD H,(IY+75) - 0000251C 23 5383 INC HL - 0000251D 46 5384 LD B,(HL) - 0000251E 05 5385 DEC B - 0000251F C2 05 2A 5386 JP NZ,?0454 - 00002522 5387 ?0366: - 00002522 5388 ?0365: - 00002522 5389 ?0363: - 00002522 FD 36 01 01 5390 LD (IY+1),1 - 00002526 FD 7E 02 5391 LD A,(IY+2) - 00002529 FE 2B 5392 CP 43 - 0000252B 20 2D 5393 JR NZ,?0369 - 0000252D 5394 ?0368: - 0000252D FD 6E 4A 5395 LD L,(IY+74) - 00002530 FD 66 4B 5396 LD H,(IY+75) - 00002533 0E 24 5397 LD C,36 - 00002535 09 5398 ADD HL,BC - 00002536 4E 5399 LD C,(HL) - 00002537 23 5400 INC HL - 00002538 46 5401 LD B,(HL) - 00002539 23 5402 INC HL - 0000253A 5E 5403 LD E,(HL) - 0000253B 23 5404 INC HL - 0000253C 56 5405 LD D,(HL) - 0000253D D5 5406 PUSH DE - 0000253E C5 5407 PUSH BC - 0000253F FD 6E 48 5408 LD L,(IY+72) - 00002542 FD 66 49 5409 LD H,(IY+73) - 00002545 01 24 00 5410 LD BC,36 - 00002548 09 5411 ADD HL,BC - 00002549 4E 5412 LD C,(HL) - 0000254A 23 5413 INC HL - 0000254B 46 5414 LD B,(HL) - 0000254C 23 5415 INC HL - 0000254D 5E 5416 LD E,(HL) - 0000254E 23 5417 INC HL - 0000254F 56 5418 LD D,(HL) - 00002550 69 5419 LD L,C - 00002551 60 5420 LD H,B - 00002552 C1 5421 POP BC - 00002553 09 5422 ADD HL,BC - 00002554 EB 5423 EX DE,HL - 00002555 C1 5424 POP BC - 00002556 ED 4A 5425 ADC HL,BC - 00002558 18 33 5426 JR ?0564 - 0000255A 5427 ?0369: - 0000255A FE 2D 5428 CP 45 - 0000255C 20 34 5429 JR NZ,?0370 - 0000255E FD 6E 4A 5430 LD L,(IY+74) - 00002561 FD 66 4B 5431 LD H,(IY+75) - 00002564 0E 24 5432 LD C,36 - 00002566 09 5433 ADD HL,BC - 00002567 4E 5434 LD C,(HL) - 00002568 23 5435 INC HL - 00002569 46 5436 LD B,(HL) - 0000256A 23 5437 INC HL - 0000256B 5E 5438 LD E,(HL) - 0000256C 23 5439 INC HL - 0000256D 56 5440 LD D,(HL) - 0000256E 69 5441 LD L,C - 0000256F 60 5442 LD H,B - 00002570 D5 5443 PUSH DE - 00002571 E5 5444 PUSH HL - 00002572 FD 6E 48 5445 LD L,(IY+72) - 00002575 FD 66 49 5446 LD H,(IY+73) - 00002578 01 24 00 5447 LD BC,36 - 0000257B 09 5448 ADD HL,BC - 0000257C 4E 5449 LD C,(HL) - 0000257D 23 5450 INC HL - 0000257E 46 5451 LD B,(HL) - 0000257F 23 5452 INC HL - 00002580 5E 5453 LD E,(HL) - 00002581 23 5454 INC HL - 00002582 56 5455 LD D,(HL) - 00002583 69 5456 LD L,C - 00002584 60 5457 LD H,B - 00002585 A7 5458 AND A - 00002586 C1 5459 POP BC - 00002587 ED 42 5460 SBC HL,BC - 00002589 EB 5461 EX DE,HL - 0000258A C1 5462 POP BC - 0000258B ED 42 5463 SBC HL,BC - 0000258D 5464 ?0564: - 0000258D 4D 5465 LD C,L - 0000258E 44 5466 LD B,H - 0000258F EB 5467 EX DE,HL - 00002590 18 58 5468 JR ?0583 - 00002592 5469 ?0370: - 00002592 FE 2A 5470 CP 42 - 00002594 20 29 5471 JR NZ,?0371 - 00002596 FD 6E 48 5472 LD L,(IY+72) - 00002599 FD 66 49 5473 LD H,(IY+73) - 0000259C 0E 24 5474 LD C,36 - 0000259E 09 5475 ADD HL,BC - 0000259F 4E 5476 LD C,(HL) - 000025A0 23 5477 INC HL - 000025A1 46 5478 LD B,(HL) - 000025A2 23 5479 INC HL - 000025A3 5E 5480 LD E,(HL) - 000025A4 23 5481 INC HL - 000025A5 56 5482 LD D,(HL) - 000025A6 D5 5483 PUSH DE - 000025A7 C5 5484 PUSH BC - 000025A8 FD 6E 4A 5485 LD L,(IY+74) - 000025AB FD 66 4B 5486 LD H,(IY+75) - 000025AE 01 24 00 5487 LD BC,36 - 000025B1 09 5488 ADD HL,BC - 000025B2 5E 5489 LD E,(HL) - 000025B3 23 5490 INC HL - 000025B4 56 5491 LD D,(HL) - 000025B5 23 5492 INC HL - 000025B6 4E 5493 LD C,(HL) - 000025B7 23 5494 INC HL - 000025B8 46 5495 LD B,(HL) - 000025B9 EB 5496 EX DE,HL - 000025BA CD 00 00 5497 CALL LWRD ?L_MUL_L03 - 000025BD 18 2B 5498 JR ?0583 - 000025BF 5499 ?0371: - 000025BF FE 2F 5500 CP 47 - 000025C1 20 33 5501 JR NZ,?0367 - 000025C3 FD 6E 4A 5502 LD L,(IY+74) - 000025C6 FD 66 4B 5503 LD H,(IY+75) - 000025C9 0E 24 5504 LD C,36 - 000025CB 09 5505 ADD HL,BC - 000025CC 4E 5506 LD C,(HL) - 000025CD 23 5507 INC HL - 000025CE 46 5508 LD B,(HL) - 000025CF 23 5509 INC HL - 000025D0 5E 5510 LD E,(HL) - 000025D1 23 5511 INC HL - 000025D2 56 5512 LD D,(HL) - 000025D3 D5 5513 PUSH DE - 000025D4 C5 5514 PUSH BC - 000025D5 FD 6E 48 5515 LD L,(IY+72) - 000025D8 FD 66 49 5516 LD H,(IY+73) - 000025DB 01 24 00 5517 LD BC,36 - 000025DE 09 5518 ADD HL,BC - 000025DF 5E 5519 LD E,(HL) - 000025E0 23 5520 INC HL - 000025E1 56 5521 LD D,(HL) - 000025E2 23 5522 INC HL - 000025E3 4E 5523 LD C,(HL) - 000025E4 23 5524 INC HL - 000025E5 46 5525 LD B,(HL) - 000025E6 EB 5526 EX DE,HL - 000025E7 CD 00 00 5527 CALL LWRD ?SL_DIV_L03 - 000025EA 5528 ?0583: - 000025EA DD 75 F8 5529 LD (IX-8),L - 000025ED DD 74 F9 5530 LD (IX-7),H - 000025F0 DD 71 FA 5531 LD (IX-6),C - 000025F3 DD 70 FB 5532 LD (IX-5),B - 000025F6 5533 ?0367: - 000025F6 DD 4E FA 5534 LD C,(IX-6) - 000025F9 DD 46 FB 5535 LD B,(IX-5) - 000025FC DD 6E F8 5536 LD L,(IX-8) - 000025FF DD 66 F9 5537 LD H,(IX-7) - 00002602 C3 AC 29 5538 JP LWRD ?0606 - 00002605 5539 ?0364: - 00002605 5540 ?0362: - 00002605 7E 5541 LD A,(HL) - 00002606 FE 03 5542 CP 3 - 00002608 CA 3A 27 5543 JP Z,?0377 - 0000260B FD 6E 4A 5544 LD L,(IY+74) - 0000260E FD 66 4B 5545 LD H,(IY+75) - 00002611 23 5546 INC HL - 00002612 7E 5547 LD A,(HL) - 00002613 FE 03 5548 CP 3 - 00002615 CA 3A 27 5549 JP Z,?0377 - 00002618 5550 ?0376: - 00002618 5551 ?0375: - 00002618 5552 ?0373: - 00002618 FD 36 01 04 5553 LD (IY+1),4 - 0000261C FD 5E 02 5554 LD E,(IY+2) - 0000261F CD 00 00 5555 CALL LWRD ?C_V_SWITCH_L06 - 00002622 07 00 5556 DEFW 7 - 00002624 26 5557 DEFB 38 - 00002625 3C 5558 DEFB 60 - 00002626 3D 5559 DEFB 61 - 00002627 3E 5560 DEFB 62 - 00002628 5B 5561 DEFB 91 - 00002629 5D 5562 DEFB 93 - 0000262A 7C 5563 DEFB 124 - 0000262B 3A 27 5564 DEFW ?0377 - 0000262D 18 27 5565 DEFW ?0399 - 0000262F DC 26 5566 DEFW ?0394 - 00002631 B9 26 5567 DEFW ?0390 - 00002633 96 26 5568 DEFW ?0386 - 00002635 3B 26 5569 DEFW ?0378 - 00002637 79 26 5570 DEFW ?0382 - 00002639 00 27 5571 DEFW ?0398 - 0000263B 5572 ?0378: - 0000263B FD 6E 4A 5573 LD L,(IY+74) - 0000263E FD 66 4B 5574 LD H,(IY+75) - 00002641 01 24 00 5575 LD BC,36 - 00002644 09 5576 ADD HL,BC - 00002645 4E 5577 LD C,(HL) - 00002646 23 5578 INC HL - 00002647 46 5579 LD B,(HL) - 00002648 23 5580 INC HL - 00002649 5E 5581 LD E,(HL) - 0000264A 23 5582 INC HL - 0000264B 56 5583 LD D,(HL) - 0000264C D5 5584 PUSH DE - 0000264D C5 5585 PUSH BC - 0000264E FD 6E 48 5586 LD L,(IY+72) - 00002651 FD 66 49 5587 LD H,(IY+73) - 00002654 01 24 00 5588 LD BC,36 - 00002657 09 5589 ADD HL,BC - 00002658 4E 5590 LD C,(HL) - 00002659 23 5591 INC HL - 0000265A 46 5592 LD B,(HL) - 0000265B 23 5593 INC HL - 0000265C 5E 5594 LD E,(HL) - 0000265D 23 5595 INC HL - 0000265E 56 5596 LD D,(HL) - 0000265F 69 5597 LD L,C - 00002660 60 5598 LD H,B - 00002661 C1 5599 POP BC - 00002662 A7 5600 AND A - 00002663 ED 42 5601 SBC HL,BC - 00002665 C1 5602 POP BC - 00002666 20 0B 5603 JR NZ,?0380 - 00002668 EB 5604 EX DE,HL - 00002669 ED 42 5605 SBC HL,BC - 0000266B 20 06 5606 JR NZ,?0380 - 0000266D 4D 5607 LD C,L - 0000266E 44 5608 LD B,H - 0000266F 23 5609 INC HL - 00002670 C3 2E 27 5610 JP LWRD ?0598 - 00002673 5611 ?0380: - 00002673 01 00 00 5612 LD BC,0 - 00002676 C3 FC 26 5613 JP LWRD ?0396 - 00002679 5614 ?0382: - 00002679 FD 6E 4A 5615 LD L,(IY+74) - 0000267C FD 66 4B 5616 LD H,(IY+75) - 0000267F 01 24 00 5617 LD BC,36 - 00002682 09 5618 ADD HL,BC - 00002683 4E 5619 LD C,(HL) - 00002684 23 5620 INC HL - 00002685 46 5621 LD B,(HL) - 00002686 23 5622 INC HL - 00002687 5E 5623 LD E,(HL) - 00002688 23 5624 INC HL - 00002689 56 5625 LD D,(HL) - 0000268A D5 5626 PUSH DE - 0000268B C5 5627 PUSH BC - 0000268C CD 08 2A 5628 CALL LWRD ?0671 - 0000268F 01 00 00 5629 LD BC,0 - 00002692 30 68 5630 JR NC,?0396 - 00002694 18 61 5631 JR ?0597 - 00002696 5632 ?0386: - 00002696 FD 6E 48 5633 LD L,(IY+72) - 00002699 FD 66 49 5634 LD H,(IY+73) - 0000269C 01 24 00 5635 LD BC,36 - 0000269F 09 5636 ADD HL,BC - 000026A0 4E 5637 LD C,(HL) - 000026A1 23 5638 INC HL - 000026A2 46 5639 LD B,(HL) - 000026A3 23 5640 INC HL - 000026A4 5E 5641 LD E,(HL) - 000026A5 23 5642 INC HL - 000026A6 56 5643 LD D,(HL) - 000026A7 D5 5644 PUSH DE - 000026A8 C5 5645 PUSH BC - 000026A9 FD 6E 4A 5646 LD L,(IY+74) - 000026AC FD 66 4B 5647 LD H,(IY+75) - 000026AF CD 0E 2A 5648 CALL LWRD ?0672 - 000026B2 01 00 00 5649 LD BC,0 - 000026B5 30 45 5650 JR NC,?0396 - 000026B7 18 3E 5651 JR ?0597 - 000026B9 5652 ?0390: - 000026B9 FD 6E 48 5653 LD L,(IY+72) - 000026BC FD 66 49 5654 LD H,(IY+73) - 000026BF 01 24 00 5655 LD BC,36 - 000026C2 09 5656 ADD HL,BC - 000026C3 4E 5657 LD C,(HL) - 000026C4 23 5658 INC HL - 000026C5 46 5659 LD B,(HL) - 000026C6 23 5660 INC HL - 000026C7 5E 5661 LD E,(HL) - 000026C8 23 5662 INC HL - 000026C9 56 5663 LD D,(HL) - 000026CA D5 5664 PUSH DE - 000026CB C5 5665 PUSH BC - 000026CC FD 6E 4A 5666 LD L,(IY+74) - 000026CF FD 66 4B 5667 LD H,(IY+75) - 000026D2 CD 0E 2A 5668 CALL LWRD ?0672 - 000026D5 01 00 00 5669 LD BC,0 - 000026D8 38 22 5670 JR C,?0396 - 000026DA 18 1B 5671 JR ?0597 - 000026DC 5672 ?0394: - 000026DC FD 6E 4A 5673 LD L,(IY+74) - 000026DF FD 66 4B 5674 LD H,(IY+75) - 000026E2 01 24 00 5675 LD BC,36 - 000026E5 09 5676 ADD HL,BC - 000026E6 4E 5677 LD C,(HL) - 000026E7 23 5678 INC HL - 000026E8 46 5679 LD B,(HL) - 000026E9 23 5680 INC HL - 000026EA 5E 5681 LD E,(HL) - 000026EB 23 5682 INC HL - 000026EC 56 5683 LD D,(HL) - 000026ED D5 5684 PUSH DE - 000026EE C5 5685 PUSH BC - 000026EF CD 08 2A 5686 CALL LWRD ?0671 - 000026F2 01 00 00 5687 LD BC,0 - 000026F5 38 05 5688 JR C,?0396 - 000026F7 5689 ?0597: - 000026F7 21 01 00 5690 LD HL,1 - 000026FA 18 32 5691 JR ?0598 - 000026FC 5692 ?0396: - 000026FC 69 5693 LD L,C - 000026FD 60 5694 LD H,B - 000026FE 18 2E 5695 JR ?0598 - 00002700 5696 ?0398: - 00002700 FD 6E 4A 5697 LD L,(IY+74) - 00002703 FD 66 4B 5698 LD H,(IY+75) - 00002706 01 24 00 5699 LD BC,36 - 00002709 09 5700 ADD HL,BC - 0000270A 4E 5701 LD C,(HL) - 0000270B 23 5702 INC HL - 0000270C 46 5703 LD B,(HL) - 0000270D 23 5704 INC HL - 0000270E 5E 5705 LD E,(HL) - 0000270F 23 5706 INC HL - 00002710 56 5707 LD D,(HL) - 00002711 D5 5708 PUSH DE - 00002712 C5 5709 PUSH BC - 00002713 CD 1D 2A 5710 CALL LWRD ?0673 - 00002716 18 16 5711 JR ?0598 - 00002718 5712 ?0399: - 00002718 FD 6E 4A 5713 LD L,(IY+74) - 0000271B FD 66 4B 5714 LD H,(IY+75) - 0000271E 01 24 00 5715 LD BC,36 - 00002721 09 5716 ADD HL,BC - 00002722 4E 5717 LD C,(HL) - 00002723 23 5718 INC HL - 00002724 46 5719 LD B,(HL) - 00002725 23 5720 INC HL - 00002726 5E 5721 LD E,(HL) - 00002727 23 5722 INC HL - 00002728 56 5723 LD D,(HL) - 00002729 D5 5724 PUSH DE - 0000272A C5 5725 PUSH BC - 0000272B CD 32 2A 5726 CALL LWRD ?0674 - 0000272E 5727 ?0598: - 0000272E FD 75 24 5728 LD (IY+36),L - 00002731 FD 74 25 5729 LD (IY+37),H - 00002734 FD 71 26 5730 LD (IY+38),C - 00002737 FD 70 27 5731 LD (IY+39),B - 0000273A 5732 ?0377: - 0000273A 5733 ?0374: - 0000273A FD 6E 48 5734 LD L,(IY+72) - 0000273D FD 66 49 5735 LD H,(IY+73) - 00002740 23 5736 INC HL - 00002741 7E 5737 LD A,(HL) - 00002742 FE 03 5738 CP 3 - 00002744 C2 34 28 5739 JP NZ,?0404 - 00002747 FD 6E 4A 5740 LD L,(IY+74) - 0000274A FD 66 4B 5741 LD H,(IY+75) - 0000274D 23 5742 INC HL - 0000274E 7E 5743 LD A,(HL) - 0000274F FE 03 5744 CP 3 - 00002751 C2 34 28 5745 JP NZ,?0404 - 00002754 5746 ?0403: - 00002754 5747 ?0402: - 00002754 5748 ?0400: - 00002754 FD 6E 4A 5749 LD L,(IY+74) - 00002757 FD 66 4B 5750 LD H,(IY+75) - 0000275A 01 28 00 5751 LD BC,40 - 0000275D 09 5752 ADD HL,BC - 0000275E 4D 5753 LD C,L - 0000275F 44 5754 LD B,H - 00002760 FD 6E 48 5755 LD L,(IY+72) - 00002763 FD 66 49 5756 LD H,(IY+73) - 00002766 11 28 00 5757 LD DE,40 - 00002769 19 5758 ADD HL,DE - 0000276A EB 5759 EX DE,HL - 0000276B 3E 00 5760 LD A,BYTE3 strcmp - 0000276D 21 00 00 5761 LD HL,LWRD strcmp - 00002770 CD 00 00 5762 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00002773 FD 5E 02 5763 LD E,(IY+2) - 00002776 CD 00 00 5764 CALL LWRD ?C_V_SWITCH_L06 - 00002779 06 00 5765 DEFW 6 - 0000277B 2B 5766 DEFB 43 - 0000277C 3C 5767 DEFB 60 - 0000277D 3D 5768 DEFB 61 - 0000277E 3E 5769 DEFB 62 - 0000277F 5B 5770 DEFB 91 - 00002780 5D 5771 DEFB 93 - 00002781 34 28 5772 DEFW ?0404 - 00002783 DF 27 5773 DEFW ?0421 - 00002785 C6 27 5774 DEFW ?0417 - 00002787 AD 27 5775 DEFW ?0413 - 00002789 8F 27 5776 DEFW ?0405 - 0000278B A0 27 5777 DEFW ?0409 - 0000278D FF 27 5778 DEFW ?0425 - 0000278F 5779 ?0405: - 0000278F FD 36 01 04 5780 LD (IY+1),4 - 00002793 7D 5781 LD A,L - 00002794 B4 5782 OR H - 00002795 20 04 5783 JR NZ,?0407 - 00002797 4F 5784 LD C,A - 00002798 47 5785 LD B,A - 00002799 18 4F 5786 JR ?0604 - 0000279B 5787 ?0407: - 0000279B 01 00 00 5788 LD BC,0 - 0000279E 18 4F 5789 JR ?0423 - 000027A0 5790 ?0409: - 000027A0 FD 36 01 04 5791 LD (IY+1),4 - 000027A4 CB 7C 5792 BIT 7,H - 000027A6 01 00 00 5793 LD BC,0 - 000027A9 28 44 5794 JR Z,?0423 - 000027AB 18 3D 5795 JR ?0604 - 000027AD 5796 ?0413: - 000027AD FD 36 01 04 5797 LD (IY+1),4 - 000027B1 4D 5798 LD C,L - 000027B2 44 5799 LD B,H - 000027B3 21 00 00 5800 LD HL,0 - 000027B6 F6 80 5801 OR 128 - 000027B8 ED 42 5802 SBC HL,BC - 000027BA E2 BE 27 5803 JP PO,?0560 - 000027BD AC 5804 XOR H - 000027BE 5805 ?0560: - 000027BE 01 00 00 5806 LD BC,0 - 000027C1 F2 EF 27 5807 JP P,?0423 - 000027C4 18 24 5808 JR ?0604 - 000027C6 5809 ?0417: - 000027C6 FD 36 01 04 5810 LD (IY+1),4 - 000027CA 4D 5811 LD C,L - 000027CB 44 5812 LD B,H - 000027CC 21 00 00 5813 LD HL,0 - 000027CF F6 80 5814 OR 128 - 000027D1 ED 42 5815 SBC HL,BC - 000027D3 E2 D7 27 5816 JP PO,?0561 - 000027D6 AC 5817 XOR H - 000027D7 5818 ?0561: - 000027D7 01 00 00 5819 LD BC,0 - 000027DA FA EF 27 5820 JP M,?0423 - 000027DD 18 0B 5821 JR ?0604 - 000027DF 5822 ?0421: - 000027DF FD 36 01 04 5823 LD (IY+1),4 - 000027E3 CB 7C 5824 BIT 7,H - 000027E5 01 00 00 5825 LD BC,0 - 000027E8 20 05 5826 JR NZ,?0423 - 000027EA 5827 ?0604: - 000027EA 21 01 00 5828 LD HL,1 - 000027ED 18 02 5829 JR ?0424 - 000027EF 5830 ?0423: - 000027EF 69 5831 LD L,C - 000027F0 60 5832 LD H,B - 000027F1 5833 ?0424: - 000027F1 FD 75 24 5834 LD (IY+36),L - 000027F4 FD 74 25 5835 LD (IY+37),H - 000027F7 FD 71 26 5836 LD (IY+38),C - 000027FA FD 70 27 5837 LD (IY+39),B - 000027FD 18 35 5838 JR ?0404 - 000027FF 5839 ?0425: - 000027FF FD 36 01 03 5840 LD (IY+1),3 - 00002803 FD 6E 48 5841 LD L,(IY+72) - 00002806 FD 66 49 5842 LD H,(IY+73) - 00002809 01 28 00 5843 LD BC,40 - 0000280C 09 5844 ADD HL,BC - 0000280D 4D 5845 LD C,L - 0000280E 44 5846 LD B,H - 0000280F 21 28 00 5847 LD HL,40 - 00002812 FD E5 5848 PUSH IY - 00002814 D1 5849 POP DE - 00002815 CD AB 04 5850 CALL LWRD ?0653 - 00002818 FD 6E 4A 5851 LD L,(IY+74) - 0000281B FD 66 4B 5852 LD H,(IY+75) - 0000281E 01 28 00 5853 LD BC,40 - 00002821 09 5854 ADD HL,BC - 00002822 4D 5855 LD C,L - 00002823 44 5856 LD B,H - 00002824 21 28 00 5857 LD HL,40 - 00002827 FD E5 5858 PUSH IY - 00002829 D1 5859 POP DE - 0000282A 19 5860 ADD HL,DE - 0000282B EB 5861 EX DE,HL - 0000282C 3E 00 5862 LD A,BYTE3 strcat - 0000282E 21 00 00 5863 LD HL,LWRD strcat - 00002831 CD 00 00 5864 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00002834 5865 ?0404: - 00002834 5866 ?0401: - 00002834 FD 6E 48 5867 LD L,(IY+72) - 00002837 FD 66 49 5868 LD H,(IY+73) - 0000283A 23 5869 INC HL - 0000283B 7E 5870 LD A,(HL) - 0000283C FE 04 5871 CP 4 - 0000283E C2 05 2A 5872 JP NZ,?0454 - 00002841 FD 6E 4A 5873 LD L,(IY+74) - 00002844 FD 66 4B 5874 LD H,(IY+75) - 00002847 23 5875 INC HL - 00002848 7E 5876 LD A,(HL) - 00002849 FE 04 5877 CP 4 - 0000284B C2 05 2A 5878 JP NZ,?0454 - 0000284E 5879 ?0429: - 0000284E 5880 ?0428: - 0000284E 5881 ?0426: - 0000284E FD 36 01 04 5882 LD (IY+1),4 - 00002852 FD 7E 02 5883 LD A,(IY+2) - 00002855 FE 26 5884 CP 38 - 00002857 20 19 5885 JR NZ,?0432 - 00002859 5886 ?0431: - 00002859 FD 6E 4A 5887 LD L,(IY+74) - 0000285C FD 66 4B 5888 LD H,(IY+75) - 0000285F 01 24 00 5889 LD BC,36 - 00002862 09 5890 ADD HL,BC - 00002863 4E 5891 LD C,(HL) - 00002864 23 5892 INC HL - 00002865 46 5893 LD B,(HL) - 00002866 23 5894 INC HL - 00002867 5E 5895 LD E,(HL) - 00002868 23 5896 INC HL - 00002869 56 5897 LD D,(HL) - 0000286A D5 5898 PUSH DE - 0000286B C5 5899 PUSH BC - 0000286C CD 1D 2A 5900 CALL LWRD ?0673 - 0000286F C3 AC 29 5901 JP LWRD ?0606 - 00002872 5902 ?0432: - 00002872 FE 7C 5903 CP 124 - 00002874 C2 05 2A 5904 JP NZ,?0454 - 00002877 FD 6E 4A 5905 LD L,(IY+74) - 0000287A FD 66 4B 5906 LD H,(IY+75) - 0000287D 01 24 00 5907 LD BC,36 - 00002880 09 5908 ADD HL,BC - 00002881 4E 5909 LD C,(HL) - 00002882 23 5910 INC HL - 00002883 46 5911 LD B,(HL) - 00002884 23 5912 INC HL - 00002885 5E 5913 LD E,(HL) - 00002886 23 5914 INC HL - 00002887 56 5915 LD D,(HL) - 00002888 D5 5916 PUSH DE - 00002889 C5 5917 PUSH BC - 0000288A CD 32 2A 5918 CALL LWRD ?0674 - 0000288D C3 AC 29 5919 JP LWRD ?0606 - 00002890 5920 ?0430: - 00002890 5921 ?0427: - 00002890 5922 ?0372: - 00002890 5923 ?0360: - 00002890 DD 36 FC FF 5924 LD (IX-4),255 - 00002894 DD 36 FD FF 5925 LD (IX-3),255 - 00002898 79 5926 LD A,C - 00002899 B0 5927 OR B - 0000289A 28 79 5928 JR Z,?0436 - 0000289C 5929 ?0434: - 0000289C 69 5930 LD L,C - 0000289D 60 5931 LD H,B - 0000289E 7E 5932 LD A,(HL) - 0000289F 23 5933 INC HL - 000028A0 66 5934 LD H,(HL) - 000028A1 6F 5935 LD L,A - 000028A2 46 5936 LD B,(HL) - 000028A3 DD 70 FA 5937 LD (IX-6),B - 000028A6 23 5938 INC HL - 000028A7 66 5939 LD H,(HL) - 000028A8 DD 74 FB 5940 LD (IX-5),H - 000028AB AF 5941 XOR A - 000028AC DD 77 F8 5942 LD (IX-8),A - 000028AF DD 77 F9 5943 LD (IX-7),A - 000028B2 5944 ?0437: - 000028B2 DD 4E FA 5945 LD C,(IX-6) - 000028B5 DD 46 FB 5946 LD B,(IX-5) - 000028B8 DD 6E F8 5947 LD L,(IX-8) - 000028BB DD 66 F9 5948 LD H,(IX-7) - 000028BE F6 80 5949 OR 128 - 000028C0 ED 42 5950 SBC HL,BC - 000028C2 E2 C6 28 5951 JP PO,?0562 - 000028C5 AC 5952 XOR H - 000028C6 5953 ?0562: - 000028C6 F2 15 29 5954 JP P,?0436 - 000028C9 5955 ?0438: - 000028C9 21 04 00 5956 LD HL,4 - 000028CC FD E5 5957 PUSH IY - 000028CE C1 5958 POP BC - 000028CF 09 5959 ADD HL,BC - 000028D0 4D 5960 LD C,L - 000028D1 44 5961 LD B,H - 000028D2 DD 6E FE 5962 LD L,(IX-2) - 000028D5 DD 66 FF 5963 LD H,(IX-1) - 000028D8 56 5964 LD D,(HL) - 000028D9 23 5965 INC HL - 000028DA 66 5966 LD H,(HL) - 000028DB 6A 5967 LD L,D - 000028DC 23 5968 INC HL - 000028DD 23 5969 INC HL - 000028DE 56 5970 LD D,(HL) - 000028DF 23 5971 INC HL - 000028E0 66 5972 LD H,(HL) - 000028E1 6A 5973 LD L,D - 000028E2 E5 5974 PUSH HL - 000028E3 DD 6E F8 5975 LD L,(IX-8) - 000028E6 DD 66 F9 5976 LD H,(IX-7) - 000028E9 29 5977 ADD HL,HL - 000028EA 29 5978 ADD HL,HL - 000028EB 5D 5979 LD E,L - 000028EC 54 5980 LD D,H - 000028ED 29 5981 ADD HL,HL - 000028EE 19 5982 ADD HL,DE - 000028EF EB 5983 EX DE,HL - 000028F0 E1 5984 POP HL - 000028F1 19 5985 ADD HL,DE - 000028F2 EB 5986 EX DE,HL - 000028F3 3E 00 5987 LD A,BYTE3 strcmp - 000028F5 21 00 00 5988 LD HL,LWRD strcmp - 000028F8 CD 00 00 5989 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000028FB 7D 5990 LD A,L - 000028FC B4 5991 OR H - 000028FD 20 0C 5992 JR NZ,?0441 - 000028FF 5993 ?0440: - 000028FF DD 6E F8 5994 LD L,(IX-8) - 00002902 DD 66 F9 5995 LD H,(IX-7) - 00002905 DD 75 FC 5996 LD (IX-4),L - 00002908 DD 74 FD 5997 LD (IX-3),H - 0000290B 5998 ?0441: - 0000290B DD 34 F8 5999 INC (IX-8) - 0000290E 20 A2 6000 JR NZ,?0437 - 00002910 DD 34 F9 6001 INC (IX-7) - 00002913 18 9D 6002 JR ?0437 - 00002915 6003 ?0436: - 00002915 6004 ?0435: - 00002915 DD CB FD 7E 6005 BIT 7,(IX-3) - 00002919 20 08 6006 JR NZ,?0444 - 0000291B DD 7E FE 6007 LD A,(IX-2) - 0000291E DD B6 FF 6008 OR (IX-1) - 00002921 20 47 6009 JR NZ,?0443 - 00002923 6010 ?0444: - 00002923 6011 ?0445: - 00002923 6012 ?0442: - 00002923 FD 7E 04 6013 LD A,(IY+4) - 00002926 FE 27 6014 CP 39 - 00002928 20 2A 6015 JR NZ,?0447 - 0000292A 6016 ?0446: - 0000292A FD 36 01 03 6017 LD (IY+1),3 - 0000292E 21 04 00 6018 LD HL,4 - 00002931 FD E5 6019 PUSH IY - 00002933 C1 6020 POP BC - 00002934 09 6021 ADD HL,BC - 00002935 4D 6022 LD C,L - 00002936 44 6023 LD B,H - 00002937 03 6024 INC BC - 00002938 21 28 00 6025 LD HL,40 - 0000293B FD E5 6026 PUSH IY - 0000293D D1 6027 POP DE - 0000293E CD AB 04 6028 CALL LWRD ?0653 - 00002941 21 28 00 6029 LD HL,40 - 00002944 FD E5 6030 PUSH IY - 00002946 C1 6031 POP BC - 00002947 09 6032 ADD HL,BC - 00002948 CD 97 04 6033 CALL LWRD ?0648 - 0000294B 09 6034 ADD HL,BC - 0000294C 01 27 00 6035 LD BC,39 - 0000294F 09 6036 ADD HL,BC - 00002950 70 6037 LD (HL),B - 00002951 C3 05 2A 6038 JP LWRD ?0454 - 00002954 6039 ?0447: - 00002954 FD 36 01 01 6040 LD (IY+1),1 - 00002958 21 04 00 6041 LD HL,4 - 0000295B FD E5 6042 PUSH IY - 0000295D C1 6043 POP BC - 0000295E 09 6044 ADD HL,BC - 0000295F EB 6045 EX DE,HL - 00002960 3E 00 6046 LD A,BYTE3 atol - 00002962 21 00 00 6047 LD HL,LWRD atol - 00002965 CD 00 00 6048 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00002968 18 42 6049 JR ?0606 - 0000296A 6050 ?0448: - 0000296A 6051 ?0443: - 0000296A DD 6E FE 6052 LD L,(IX-2) - 0000296D DD 66 FF 6053 LD H,(IX-1) - 00002970 46 6054 LD B,(HL) - 00002971 23 6055 INC HL - 00002972 66 6056 LD H,(HL) - 00002973 68 6057 LD L,B - 00002974 23 6058 INC HL - 00002975 23 6059 INC HL - 00002976 46 6060 LD B,(HL) - 00002977 23 6061 INC HL - 00002978 66 6062 LD H,(HL) - 00002979 68 6063 LD L,B - 0000297A E5 6064 PUSH HL - 0000297B DD 6E FC 6065 LD L,(IX-4) - 0000297E DD 66 FD 6066 LD H,(IX-3) - 00002981 29 6067 ADD HL,HL - 00002982 29 6068 ADD HL,HL - 00002983 4D 6069 LD C,L - 00002984 44 6070 LD B,H - 00002985 29 6071 ADD HL,HL - 00002986 09 6072 ADD HL,BC - 00002987 4D 6073 LD C,L - 00002988 44 6074 LD B,H - 00002989 E1 6075 POP HL - 0000298A 09 6076 ADD HL,BC - 0000298B 01 09 00 6077 LD BC,9 - 0000298E 09 6078 ADD HL,BC - 0000298F 7E 6079 LD A,(HL) - 00002990 FE 49 6080 CP 73 - 00002992 20 26 6081 JR NZ,?0451 - 00002994 6082 ?0450: - 00002994 FD 36 01 01 6083 LD (IY+1),1 - 00002998 DD 4E FC 6084 LD C,(IX-4) - 0000299B DD 46 FD 6085 LD B,(IX-3) - 0000299E DD 5E FE 6086 LD E,(IX-2) - 000029A1 DD 56 FF 6087 LD D,(IX-1) - 000029A4 3E FD 6088 LD A,BYTE3 dbGetLong - 000029A6 21 FD 1E 6089 LD HL,LWRD dbGetLong - 000029A9 CD 00 00 6090 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000029AC 6091 ?0606: - 000029AC FD 75 24 6092 LD (IY+36),L - 000029AF FD 74 25 6093 LD (IY+37),H - 000029B2 FD 71 26 6094 LD (IY+38),C - 000029B5 FD 70 27 6095 LD (IY+39),B - 000029B8 18 4B 6096 JR ?0454 - 000029BA 6097 ?0451: - 000029BA DD 6E FE 6098 LD L,(IX-2) - 000029BD DD 66 FF 6099 LD H,(IX-1) - 000029C0 46 6100 LD B,(HL) - 000029C1 23 6101 INC HL - 000029C2 66 6102 LD H,(HL) - 000029C3 68 6103 LD L,B - 000029C4 23 6104 INC HL - 000029C5 23 6105 INC HL - 000029C6 46 6106 LD B,(HL) - 000029C7 23 6107 INC HL - 000029C8 66 6108 LD H,(HL) - 000029C9 68 6109 LD L,B - 000029CA E5 6110 PUSH HL - 000029CB DD 6E FC 6111 LD L,(IX-4) - 000029CE DD 66 FD 6112 LD H,(IX-3) - 000029D1 29 6113 ADD HL,HL - 000029D2 29 6114 ADD HL,HL - 000029D3 4D 6115 LD C,L - 000029D4 44 6116 LD B,H - 000029D5 29 6117 ADD HL,HL - 000029D6 09 6118 ADD HL,BC - 000029D7 4D 6119 LD C,L - 000029D8 44 6120 LD B,H - 000029D9 E1 6121 POP HL - 000029DA 09 6122 ADD HL,BC - 000029DB 01 09 00 6123 LD BC,9 - 000029DE 09 6124 ADD HL,BC - 000029DF 7E 6125 LD A,(HL) - 000029E0 FE 53 6126 CP 83 - 000029E2 20 21 6127 JR NZ,?0454 - 000029E4 6128 ?0453: - 000029E4 FD 36 01 03 6129 LD (IY+1),3 - 000029E8 21 28 00 6130 LD HL,40 - 000029EB FD E5 6131 PUSH IY - 000029ED C1 6132 POP BC - 000029EE 09 6133 ADD HL,BC - 000029EF E5 6134 PUSH HL - 000029F0 DD 4E FC 6135 LD C,(IX-4) - 000029F3 DD 46 FD 6136 LD B,(IX-3) - 000029F6 DD 5E FE 6137 LD E,(IX-2) - 000029F9 DD 56 FF 6138 LD D,(IX-1) - 000029FC 3E 71 6139 LD A,BYTE3 dbGetString - 000029FE 21 71 1D 6140 LD HL,LWRD dbGetString - 00002A01 CD 00 00 6141 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00002A04 E1 6142 POP HL - 00002A05 6143 ?0454: - 00002A05 6144 ?0452: - 00002A05 6145 ?0449: - 00002A05 6146 ?0433: - 00002A05 C3 7B 04 6147 JP LWRD ?0630 - 00002A08 6148 ?0671: - 00002A08 FD 6E 48 6149 LD L,(IY+72) - 00002A0B FD 66 49 6150 LD H,(IY+73) - 00002A0E 6151 ?0672: - 00002A0E 01 24 00 6152 LD BC,36 - 00002A11 09 6153 ADD HL,BC - 00002A12 5E 6154 LD E,(HL) - 00002A13 23 6155 INC HL - 00002A14 56 6156 LD D,(HL) - 00002A15 23 6157 INC HL - 00002A16 4E 6158 LD C,(HL) - 00002A17 23 6159 INC HL - 00002A18 46 6160 LD B,(HL) - 00002A19 EB 6161 EX DE,HL - 00002A1A C3 00 00 6162 JP LWRD ?SL_CMP_L03 - 00002A1D 6163 ?0673: - 00002A1D FD 6E 48 6164 LD L,(IY+72) - 00002A20 FD 66 49 6165 LD H,(IY+73) - 00002A23 01 24 00 6166 LD BC,36 - 00002A26 09 6167 ADD HL,BC - 00002A27 5E 6168 LD E,(HL) - 00002A28 23 6169 INC HL - 00002A29 56 6170 LD D,(HL) - 00002A2A 23 6171 INC HL - 00002A2B 4E 6172 LD C,(HL) - 00002A2C 23 6173 INC HL - 00002A2D 46 6174 LD B,(HL) - 00002A2E EB 6175 EX DE,HL - 00002A2F C3 00 00 6176 JP LWRD ?L_AND_L03 - 00002A32 6177 ?0674: - 00002A32 FD 6E 48 6178 LD L,(IY+72) - 00002A35 FD 66 49 6179 LD H,(IY+73) - 00002A38 01 24 00 6180 LD BC,36 - 00002A3B 09 6181 ADD HL,BC - 00002A3C 5E 6182 LD E,(HL) - 00002A3D 23 6183 INC HL - 00002A3E 56 6184 LD D,(HL) - 00002A3F 23 6185 INC HL - 00002A40 4E 6186 LD C,(HL) - 00002A41 23 6187 INC HL - 00002A42 46 6188 LD B,(HL) - 00002A43 EB 6189 EX DE,HL - 00002A44 C3 00 00 6190 JP LWRD ?L_OR_L03 - 6191 RSEG CSTR - 00000000 6192 ?0066: - 00000000 53 45 4C 6193 DEFB 'SEL' - 00000003 00 6194 DEFB 0 - 00000004 6195 ?0069: - 00000004 49 4E 53 6196 DEFB 'INS' - 00000007 00 6197 DEFB 0 - 00000008 6198 ?0072: - 00000008 55 50 44 6199 DEFB 'UPD' - 0000000B 00 6200 DEFB 0 - 0000000C 6201 ?0075: - 0000000C 44 45 4C 6202 DEFB 'DEL' - 0000000F 00 6203 DEFB 0 - 00000010 6204 ?0081: - 00000010 20 46 52 20 6205 DEFB ' FR ' - 00000014 00 6206 DEFB 0 - 00000015 6207 ?0085: - 00000015 20 57 48 6208 DEFB ' WH' - 00000018 00 6209 DEFB 0 - 00000019 6210 ?0090: - 00000019 20 4F 52 44 20 6211 DEFB ' ORD ' - 0000001E 00 6212 DEFB 0 - 0000001F 6213 ?0094: - 0000001F 28 6214 DEFB '(' - 00000020 00 6215 DEFB 0 - 00000021 6216 ?0098: - 00000021 29 20 56 41 4C 28 6217 DEFB ') VAL(' - 00000027 00 6218 DEFB 0 - 00000028 6219 ?0103: - 00000028 20 53 54 20 6220 DEFB ' ST ' - 0000002C 00 6221 DEFB 0 - 0000002D 6222 ?0114: - 0000002D 2F 75 73 72 2F 64 62 6223 DEFB '/usr/db/' - 2F - 00000035 00 6224 DEFB 0 - 00000036 6225 ?0115: - 00000036 2E 54 42 4C 6226 DEFB '.TBL' - 0000003A 00 6227 DEFB 0 - 0000003B 6228 ?0116: - 0000003B 72 62 6229 DEFB 'rb' - 0000003D 00 6230 DEFB 0 - 0000003E 6231 ?0126: - 0000003E 2E 44 41 54 6232 DEFB '.DAT' - 00000042 00 6233 DEFB 0 - 00000043 6234 ?0127: - 00000043 72 2B 62 6235 DEFB 'r+b' - 00000046 00 6236 DEFB 0 - 00000047 6237 ?0146: - 00000047 22 2A 22 6238 DEFB '"*"' - 0000004A 00 6239 DEFB 0 - 0000004B 6240 ?0156: - 0000004B 72 65 73 75 6C 74 6241 DEFB 'result' - 00000051 00 6242 DEFB 0 - 00000052 6243 ?0157: - 00000052 77 62 6244 DEFB 'wb' - 00000054 00 6245 DEFB 0 - 00000055 6246 END - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. -Hexadecimal [32-Bits] - -Symbol Table - - .__.ABS. = 00000000 G | 1 ?0000 00000009 R - 1 ?0001 00000030 R | 1 ?0002 00000011 R - 1 ?0003 00000014 R | 1 ?0004 0000001C R - 1 ?0005 0000002A R | 1 ?0006 00000067 R - 1 ?0007 00000052 R | 1 ?0008 0000005A R - 1 ?0009 000000A0 R | 1 ?0010 0000008B R - 1 ?0011 00000093 R | 1 ?0012 00000100 R - 1 ?0013 000000CB R | 1 ?0014 00000100 R - 1 ?0015 00000289 R | 1 ?0016 0000012B R - 1 ?0017 0000013A R | 1 ?0018 00000152 R - 1 ?0019 0000016F R | 1 ?0020 00000152 R - 1 ?0021 00000152 R | 1 ?0022 0000020B R - 1 ?0023 00000218 R | 1 ?0024 0000020B R - 1 ?0025 0000020B R | 1 ?0026 0000020B R - 1 ?0027 0000020B R | 1 ?0028 0000026A R - 1 ?0029 00000272 R | 1 ?0030 0000025E R - 1 ?0031 0000025E R | 1 ?0032 0000026A R - 1 ?0033 0000026A R | 1 ?0034 00000296 R - 1 ?0035 00000297 R | 1 ?0036 0000029A R - 1 ?0037 000002C6 R | 1 ?0038 000002AB R - 1 ?0039 000002C2 R | 1 ?0040 000002C2 R - 1 ?0041 000002C2 R | 1 ?0042 000002CE R - 1 ?0043 000002DA R | 1 ?0044 00000441 R - 1 ?0045 00000319 R | 1 ?0046 0000034A R - 1 ?0047 00000337 R | 1 ?0048 00000337 R - 1 ?0049 0000034A R | 1 ?0050 0000034A R - 1 ?0051 0000038D R | 1 ?0052 00000361 R - 1 ?0053 00000371 R | 1 ?0054 0000037B R - 1 ?0055 0000037E R | 1 ?0056 00000380 R - 1 ?0057 0000038A R | 1 ?0058 0000038D R - 1 ?0059 000003AC R | 1 ?0060 000003C9 R - 1 ?0061 000003AC R | 1 ?0062 000003AC R - 1 ?0063 0000042A R | 1 ?0064 000004EB R - 1 ?0065 000004F5 R | 2 ?0066 00000000 R - 1 ?0067 00000507 R | 1 ?0068 00000511 R - 2 ?0069 00000004 R | 1 ?0070 00000523 R - 1 ?0071 0000052D R | 2 ?0072 00000008 R - 1 ?0073 0000053F R | 1 ?0074 0000054C R - 2 ?0075 0000000C R | 1 ?0076 0000054F R - 1 ?0077 000005A2 R | 1 ?0078 000005AA R - 1 ?0079 000005D4 R | 1 ?0080 000005E1 R - 2 ?0081 00000010 R | 1 ?0082 000005E7 R - 1 ?0083 00000611 R | 1 ?0084 0000064D R - 2 ?0085 00000015 R | 1 ?0086 0000062C R - 1 ?0087 00000634 R | 1 ?0088 0000065C R - 1 ?0089 00000682 R | 2 ?0090 00000019 R - 1 ?0091 00000685 R | 1 ?0092 000006E1 R - 1 ?0093 000006E9 R | 2 ?0094 0000001F R - 1 ?0095 000006E9 R | 1 ?0096 00000712 R - 1 ?0097 00000732 R | 2 ?0098 00000021 R - 1 ?0099 00000737 R | 1 ?0100 0000073A R - 1 ?0101 0000078F R | 1 ?0102 0000079C R - 2 ?0103 00000028 R | 1 ?0104 000007A1 R - 1 ?0105 000007CC R | 1 ?0106 00000804 R - 1 ?0107 000007E8 R | 1 ?0108 000007F1 R - 1 ?0109 00000807 R | 1 ?0110 00000861 R - 1 ?0111 00000899 R | 1 ?0112 0000087D R - 1 ?0113 00000886 R | 2 ?0114 0000002D R - 2 ?0115 00000036 R | 2 ?0116 0000003B R - 1 ?0117 00000937 R | 1 ?0118 00000937 R - 1 ?0119 00000937 R | 1 ?0120 00000937 R - 1 ?0121 00000B2A R | 1 ?0122 00000A3F R - 1 ?0123 00000982 R | 1 ?0124 00000999 R - 2 ?0126 0000003E R | 2 ?0127 00000043 R - 1 ?0128 00000ABF R | 1 ?0129 00000ACE R - 1 ?0130 00000ABF R | 1 ?0131 00000ABF R - 1 ?0132 00000B2A R | 1 ?0133 00000C27 R - 1 ?0134 00000BEB R | 1 ?0135 00000C00 R - 1 ?0137 00000C9E R | 1 ?0138 00000C5A R - 1 ?0139 00000C6E R | 1 ?0141 00000C95 R - 1 ?0142 00000C9A R | 1 ?0143 00000CA1 R - 1 ?0144 00000D37 R | 1 ?0145 00000E2E R - 2 ?0146 00000047 R | 1 ?0147 00000E2E R - 1 ?0148 00000D5C R | 1 ?0149 00000D73 R - 1 ?0151 00000F61 R | 1 ?0152 00000F61 R - 1 ?0153 00000E5C R | 1 ?0154 00000E73 R - 2 ?0156 0000004B R | 2 ?0157 00000052 R - 1 ?0158 00000FFA R | 1 ?0159 00001011 R - 1 ?0160 00001021 R | 1 ?0161 00001171 R - 1 ?0162 00001028 R | 1 ?0163 00001046 R - 1 ?0165 00001079 R | 1 ?0166 00001165 R - 1 ?0167 00001113 R | 1 ?0168 00001091 R - 1 ?0169 000010A8 R | 1 ?0171 0000113C R - 1 ?0172 00001165 R | 1 ?0173 000012F9 R - 1 ?0174 000012C9 R | 1 ?0175 000012E0 R - 1 ?0177 000014E4 R | 1 ?0178 00001340 R - 1 ?0179 00001357 R | 1 ?0181 000013D4 R - 1 ?0182 00001458 R | 1 ?0183 00001458 R - 1 ?0184 000013F6 R | 1 ?0185 0000141E R - 1 ?0186 0000142C R | 1 ?0187 00001443 R - 1 ?0188 00001458 R | 1 ?0189 0000144F R - 1 ?0190 00001458 R | 1 ?0191 000014BE R - 1 ?0192 000014BE R | 1 ?0193 00001464 R - 1 ?0194 0000146D R | 1 ?0195 0000148E R - 1 ?0196 000014BE R | 1 ?0197 0000149A R - 1 ?0198 000014BE R | 1 ?0199 000014F3 R - 1 ?0200 00001543 R | 1 ?0201 0000160A R - 1 ?0202 000015E3 R | 1 ?0203 000015AF R - 1 ?0204 000015B9 R | 1 ?0205 000016A1 R - 1 ?0206 000016B8 R | 1 ?0207 000016BA R - 1 ?0208 000017AC R | 1 ?0209 000016F0 R - 1 ?0210 00001707 R | 1 ?0212 00001738 R - 1 ?0213 000017A0 R | 1 ?0214 00001743 R - 1 ?0215 000017A0 R | 1 ?0216 0000189D R - 1 ?0217 000018B4 R | 1 ?0218 000018B6 R - 1 ?0219 0000198E R | 1 ?0220 00001909 R - 1 ?0221 00001920 R | 1 ?0223 00001BB3 R - 1 ?0224 00001995 R | 1 ?0225 000019AC R - 1 ?0227 000019DE R | 1 ?0228 00001BA7 R - 1 ?0229 000019EA R | 1 ?0230 00001BA7 R - 1 ?0231 00001A4B R | 1 ?0232 00001A0B R - 1 ?0233 00001A22 R | 1 ?0235 00001B73 R - 1 ?0236 00001A62 R | 1 ?0237 00001A79 R - 1 ?0239 00001B56 R | 1 ?0240 00001ACA R - 1 ?0241 00001AFE R | 1 ?0242 00001C02 R - 1 ?0243 00001BC8 R | 1 ?0244 00001BDF R - 1 ?0246 00001C36 R | 1 ?0247 00001C3A R - 1 ?0248 00001C79 R | 1 ?0249 00001C41 R - 1 ?0250 00001C4B R | 1 ?0251 00001C59 R - 1 ?0252 00001C67 R | 1 ?0253 00001C87 R - 1 ?0254 00001CB0 R | 1 ?0255 00001CB9 R - 1 ?0256 00001CD0 R | 1 ?0257 00001CE4 R - 1 ?0258 00001D22 R | 1 ?0259 00001D2E R - 1 ?0260 00001D3F R | 1 ?0261 00001D36 R - 1 ?0262 00001D39 R | 1 ?0263 00001E7A R - 1 ?0264 00001DC7 R | 1 ?0265 00001DE2 R - 1 ?0266 00001E0D R | 1 ?0267 00001E2E R - 1 ?0268 00001E7A R | 1 ?0269 00001E54 R - 1 ?0270 00001E7A R | 1 ?0271 00001EFD R - 1 ?0272 00001ED0 R | 1 ?0273 00001EE6 R - 1 ?0274 00001EF9 R | 1 ?0275 00001EF9 R - 1 ?0276 00001FBC R | 1 ?0277 00001F52 R - 1 ?0278 00001F6A R | 1 ?0279 00001FA1 R - 1 ?0280 00001FAC R | 1 ?0281 00001FB6 R - 1 ?0282 00001FB9 R | 1 ?0283 00002016 R - 1 ?0284 00001FF4 R | 1 ?0285 00001FF8 R - 1 ?0286 00001FFC R | 1 ?0287 00002000 R - 1 ?0288 00002004 R | 1 ?0289 00002008 R - 1 ?0290 0000200C R | 1 ?0291 00002010 R - 1 ?0292 00002012 R | 1 ?0293 00002079 R - 1 ?0294 0000209D R | 1 ?0295 000020CA R - 1 ?0296 000020A4 R | 1 ?0297 000020B4 R - 1 ?0299 00002427 R | 1 ?0301 000020DB R - 1 ?0302 000020E2 R | 1 ?0303 00002108 R - 1 ?0304 00002126 R | 1 ?0305 00002403 R - 1 ?0306 0000212B R | 1 ?0307 00002189 R - 1 ?0308 0000213E R | 1 ?0309 00002146 R - 1 ?0310 0000215A R | 1 ?0311 00002189 R - 1 ?0312 00002403 R | 1 ?0313 0000219D R - 1 ?0314 000021E3 R | 1 ?0315 000021A5 R - 1 ?0316 000021BF R | 1 ?0317 000021CB R - 1 ?0318 000023FB R | 1 ?0319 000021ED R - 1 ?0320 00002264 R | 1 ?0321 0000220A R - 1 ?0322 00002235 R | 1 ?0323 0000223E R - 1 ?0324 000023FB R | 1 ?0325 0000226E R - 1 ?0326 00002298 R | 1 ?0327 00002276 R - 1 ?0328 00002289 R | 1 ?0329 00002295 R - 1 ?0330 000023FB R | 1 ?0331 000022A2 R - 1 ?0332 000023FB R | 1 ?0333 000022AA R - 1 ?0334 000022BC R | 1 ?0335 000022C8 R - 1 ?0336 000022E5 R | 1 ?0337 000022C8 R - 1 ?0338 000022DA R | 1 ?0339 000022DA R - 1 ?0340 000022DA R | 1 ?0341 000022F7 R - 1 ?0342 0000232E R | 1 ?0343 000022F7 R - 1 ?0344 000022F7 R | 1 ?0345 000023FB R - 1 ?0346 00002340 R | 1 ?0347 00002392 R - 1 ?0348 00002340 R | 1 ?0349 00002340 R - 1 ?0350 000023FB R | 1 ?0351 00002455 R - 1 ?0352 00002427 R | 1 ?0353 0000243D R - 1 ?0354 0000243D R | 1 ?0355 0000243D R - 1 ?0356 00002457 R | 1 ?0357 000024A1 R - 1 ?0358 000024BD R | 1 ?0359 000024D7 R - 1 ?0360 00002890 R | 1 ?0361 00002511 R - 1 ?0362 00002605 R | 1 ?0363 00002522 R - 1 ?0364 00002605 R | 1 ?0365 00002522 R - 1 ?0366 00002522 R | 1 ?0367 000025F6 R - 1 ?0368 0000252D R | 1 ?0369 0000255A R - 1 ?0370 00002592 R | 1 ?0371 000025BF R - 1 ?0372 00002890 R | 1 ?0373 00002618 R - 1 ?0374 0000273A R | 1 ?0375 00002618 R - 1 ?0376 00002618 R | 1 ?0377 0000273A R - 1 ?0378 0000263B R | 1 ?0380 00002673 R - 1 ?0382 00002679 R | 1 ?0386 00002696 R - 1 ?0390 000026B9 R | 1 ?0394 000026DC R - 1 ?0396 000026FC R | 1 ?0398 00002700 R - 1 ?0399 00002718 R | 1 ?0400 00002754 R - 1 ?0401 00002834 R | 1 ?0402 00002754 R - 1 ?0403 00002754 R | 1 ?0404 00002834 R - 1 ?0405 0000278F R | 1 ?0407 0000279B R - 1 ?0409 000027A0 R | 1 ?0413 000027AD R - 1 ?0417 000027C6 R | 1 ?0421 000027DF R - 1 ?0423 000027EF R | 1 ?0424 000027F1 R - 1 ?0425 000027FF R | 1 ?0426 0000284E R - 1 ?0427 00002890 R | 1 ?0428 0000284E R - 1 ?0429 0000284E R | 1 ?0430 00002890 R - 1 ?0431 00002859 R | 1 ?0432 00002872 R - 1 ?0433 00002A05 R | 1 ?0434 0000289C R - 1 ?0435 00002915 R | 1 ?0436 00002915 R - 1 ?0437 000028B2 R | 1 ?0438 000028C9 R - 1 ?0440 000028FF R | 1 ?0441 0000290B R - 1 ?0442 00002923 R | 1 ?0443 0000296A R - 1 ?0444 00002923 R | 1 ?0445 00002923 R - 1 ?0446 0000292A R | 1 ?0447 00002954 R - 1 ?0448 0000296A R | 1 ?0449 00002A05 R - 1 ?0450 00002994 R | 1 ?0451 000029BA R - 1 ?0452 00002A05 R | 1 ?0453 000029E4 R - 1 ?0454 00002A05 R | 1 ?0458 000000CA R - 1 ?0459 00000272 R | 1 ?0463 0000036B R - 1 ?0464 0000036C R | 1 ?0465 00000435 R - 1 ?0472 00000547 R | 1 ?0473 000005AA R - 1 ?0475 0000061C R | 1 ?0476 00000634 R - 1 ?0477 00000667 R | 1 ?0481 000006E9 R - 1 ?0482 0000071D R | 1 ?0488 000007D7 R - 1 ?0489 000007F1 R | 1 ?0492 0000086C R - 1 ?0493 00000886 R | 1 ?0494 00000996 R - 1 ?0498 00000BFD R | 1 ?0500 00000C6B R - 1 ?0501 00000D70 R | 1 ?0503 00000E70 R - 1 ?0505 00001043 R | 1 ?0506 000010A5 R - 1 ?0508 00001165 R | 1 ?0510 00001013 R - 1 ?0511 000012DD R | 1 ?0513 00001354 R - 1 ?0516 000014BB R | 1 ?0517 000015F6 R - 1 ?0519 000014A0 R | 1 ?0520 00001481 R - 1 ?0521 00001704 R | 1 ?0522 000017A0 R - 1 ?0524 000016BA R | 1 ?0525 0000191D R - 1 ?0527 000019A9 R | 1 ?0528 00001A1F R - 1 ?0530 00001A76 R | 1 ?0533 00001BDC R - 1 ?0535 000018B6 R | 1 ?0536 00001B34 R - 1 ?0545 00001C73 R | 1 ?0547 00001CCD R - 1 ?0548 00001E79 R | 1 ?0549 00002165 R - 1 ?0550 000021EA R | 1 ?0551 0000229F R - 1 ?0552 000022CF R | 1 ?0553 000022F4 R - 1 ?0554 0000233D R | 1 ?0555 0000240B R - 1 ?0556 00002416 R | 1 ?0557 000023F8 R - 1 ?0560 000027BE R | 1 ?0561 000027D7 R - 1 ?0562 000028C6 R | 1 ?0564 0000258D R - 1 ?0583 000025EA R | 1 ?0597 000026F7 R - 1 ?0598 0000272E R | 1 ?0604 000027EA R - 1 ?0606 000029AC R | 1 ?0614 0000006B R - 1 ?0625 00000101 R | 1 ?0626 000002E1 R - 1 ?0630 0000047B R | 1 ?0634 00000B80 R - 1 ?0636 00000B83 R | 1 ?0637 00001814 R - 1 ?0638 00000035 R | 1 ?0639 0000003B R - 1 ?0640 000011E0 R | 1 ?0641 0000048F R - 1 ?0642 0000048E R | 1 ?0643 00000484 R - 1 ?0644 0000048D R | 1 ?0645 00000B4B R - 1 ?0646 00000B41 R | 1 ?0647 0000120F R - 1 ?0648 00000497 R | 1 ?0649 00000498 R - 1 ?0650 00000B53 R | 1 ?0651 000004AD R - 1 ?0652 000004AC R | 1 ?0653 000004AB R - 1 ?0654 000004A8 R | 1 ?0655 000004A0 R - 1 ?0656 00000560 R | 1 ?0657 00000552 R - 1 ?0658 0000055E R | 1 ?0659 0000068F R - 1 ?0660 0000068A R | 1 ?0661 0000122F R - 1 ?0662 00001221 R | 1 ?0663 00001237 R - 1 ?0664 0000165A R | 1 ?0665 00001654 R - 1 ?0666 0000245F R | 1 ?0667 0000245A R - 1 ?0668 0000245C R | 1 ?0669 00002467 R - 1 ?0670 00002480 R | 1 ?0671 00002A08 R - 1 ?0672 00002A0E R | 1 ?0673 00002A1D R - 1 ?0674 00002A32 R | ?BANK_CALL_DIR ******** GX - ?BANK_FAST_LEA ******** GX | ?CL64180B_4_06 ******** GX - ?C_V_SWITCH_L0 ******** GX | ?L_AND_L03 ******** GX - ?L_MUL_L03 ******** GX | ?L_OR_L03 ******** GX - ?SL_CMP_L03 ******** GX | ?SL_DIV_L03 ******** GX - __fopen ******** GX | atoi ******** GX - atol ******** GX | 1 dbDeleteExpres 00002497 GR - 1 dbDeleteList 00000000 GR | 1 dbDeleteRow 00001D25 GR - 1 dbEvaluateExpr 000024C0 GR | 1 dbExecuteDelet 00001662 GR - 1 dbExecuteInser 00001259 GR | 1 dbExecuteQuery 00000CA4 GR - 1 dbExecuteState 00001C1E GR | 1 dbExecuteUpdat 0000185E GR - 1 dbFieldOffset 00000BDD GR | 1 dbFieldSearch 00000C4E GR - 1 dbGetInt 00001E7D GR | 1 dbGetLong 00001EFD GR - 1 dbGetString 00001D71 GR | 1 dbListIndex 00000043 GR - 1 dbListSize 00000073 GR | 1 dbNewExpressio 00002016 GR - 1 dbNewRow 00001D44 GR | 1 dbNextRow 00001C8A GR - 1 dbOperatorPrec 00001FBC GR | 1 dbParseDelete 0000080B GR - 1 dbParseExpress 0000205D GR | 1 dbParseInsert 00000697 GR - 1 dbParseList 000002E9 GR | 1 dbParseSelect 00000568 GR - 1 dbParseStateme 000004B5 GR | 1 dbParseUpdate 0000073E GR - 1 dbRecordSize 00000C32 GR | 1 dbReplaceChar 0000029F GR - 1 dbResultSetClo 00000BCA GR | 1 dbSkipLiteral 000000A3 GR - 1 dbStatementClo 00000B8E GR | 1 dbTableClose 00000B70 GR - 1 dbTableOpen 000008A0 GR | 1 dbTrimString 00000109 GR - fclose ******** GX | fread ******** GX - free ******** GX | fseek ******** GX - fwrite ******** GX | itoa ******** GX - ltoa ******** GX | malloc ******** GX - memcpy ******** GX | strcat ******** GX - strcmp ******** GX | strcpy ******** GX - strlen ******** GX | strncmp ******** GX - - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. -Hexadecimal [32-Bits] - -Area Table - - 0 _DEFAULT size 0 flags 0 - 1 CODE size 2A47 flags 0 - 2 CSTR size 55 flags 0 diff --git a/src/db/db.rel b/src/db/db.rel deleted file mode 100644 index 0c10afd3..00000000 --- a/src/db/db.rel +++ /dev/null @@ -1,3930 +0,0 @@ -XL4 -H 3 areas 3E global symbols -M db -S fread Ref00000000 -S ?L_MUL_L03 Ref00000000 -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S strncmp Ref00000000 -S memcpy Ref00000000 -S fseek Ref00000000 -S strcat Ref00000000 -S fwrite Ref00000000 -S __fopen Ref00000000 -S strlen Ref00000000 -S ?C_V_SWITCH_L06 Ref00000000 -S ?L_OR_L03 Ref00000000 -S strcmp Ref00000000 -S free Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S strcpy Ref00000000 -S ?SL_CMP_L03 Ref00000000 -S ?L_AND_L03 Ref00000000 -S itoa Ref00000000 -S atoi Ref00000000 -S ?SL_DIV_L03 Ref00000000 -S ltoa Ref00000000 -S atol Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S malloc Ref00000000 -S fclose Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2A47 flags 0 -S dbTableOpen Def000008A0 -S dbReplaceChar Def0000029F -S dbRecordSize Def00000C32 -S dbOperatorPrecedence Def00001FBC -S dbFieldSearch Def00000C4E -S dbResultSetClose Def00000BCA -S dbDeleteExpression Def00002497 -S dbExecuteStatement Def00001C1E -S dbExecuteInsert Def00001259 -S dbGetInt Def00001E7D -S dbFieldOffset Def00000BDD -S dbDeleteRow Def00001D25 -S dbParseDelete Def0000080B -S dbTrimString Def00000109 -S dbListIndex Def00000043 -S dbParseList Def000002E9 -S dbNextRow Def00001C8A -S dbGetString Def00001D71 -S dbNewExpression Def00002016 -S dbParseSelect Def00000568 -S dbTableClose Def00000B70 -S dbParseUpdate Def0000073E -S dbNewRow Def00001D44 -S dbSkipLiteral Def000000A3 -S dbExecuteDelete Def00001662 -S dbEvaluateExpression Def000024C0 -S dbExecuteQuery Def00000CA4 -S dbStatementClose Def00000B8E -S dbParseExpression Def0000205D -S dbDeleteList Def00000000 -S dbParseStatement Def000004B5 -S dbParseInsert Def00000697 -S dbGetLong Def00001EFD -S dbExecuteUpdate Def0000185E -S dbListSize Def00000073 -A CSTR size 55 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 DD E5 D5 DD E1 7B B2 28 27 -R 00 00 01 00 -T 09 00 00 00 -R 00 00 01 00 -T 09 00 00 00 DD 7E 04 DD B6 05 28 03 -R 00 00 01 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 CD 35 00 00 00 -R 00 00 01 00 00 05 01 00 -T 14 00 00 00 -R 00 00 01 00 -T 14 00 00 00 DD 7E 02 DD B6 03 28 0E -R 00 00 01 00 -T 1C 00 00 00 -R 00 00 01 00 -T 1C 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 29 0B 01 00 -T 24 00 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 05 01 00 02 0A 0E 00 -T 2A 00 00 00 -R 00 00 01 00 -T 2A 00 00 00 DD E5 D1 CD 3B 00 00 00 -R 00 00 01 00 00 08 01 00 -T 30 00 00 00 -R 00 00 01 00 -T 30 00 00 00 DD E1 C3 00 00 00 00 -R 00 00 01 00 02 07 02 00 -T 35 00 00 00 -R 00 00 01 00 -T 35 00 00 00 DD 5E 04 DD 56 05 -R 00 00 01 00 -T 3B 00 00 00 -R 00 00 01 00 -T 3B 00 00 00 3E 00 00 00 00 21 00 00 00 00 C3 -R 00 00 01 00 2B 05 0D 00 02 0A 0D 00 -T 41 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 0E 00 -T 43 00 00 00 -R 00 00 01 00 -T 43 00 00 00 C5 FD E5 DD E5 D5 6B 62 E5 DD E1 -R 00 00 01 00 -T 4E 00 00 00 FD 21 00 00 -R 00 00 01 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 DD 7E 00 DD B6 01 28 0D -R 00 00 01 00 -T 5A 00 00 00 -R 00 00 01 00 -T 5A 00 00 00 DD 6E 00 DD 66 01 E5 DD E1 FD 23 -R 00 00 01 00 -T 65 00 00 00 18 EB -R 00 00 01 00 -T 67 00 00 00 -R 00 00 01 00 -T 67 00 00 00 FD E5 E1 F1 -R 00 00 01 00 -T 6B 00 00 00 -R 00 00 01 00 -T 6B 00 00 00 DD E1 FD E1 C1 C3 00 00 00 00 -R 00 00 01 00 02 0A 02 00 -T 73 00 00 00 -R 00 00 01 00 -T 73 00 00 00 C5 FD E5 DD E5 D5 6B 62 E5 DD E1 -R 00 00 01 00 -T 7E 00 00 00 EB 3E 43 00 00 00 21 43 00 00 00 -R 00 00 01 00 29 06 01 00 00 0B 01 00 -T 84 00 00 00 CD 00 00 00 00 23 E5 FD E1 -R 00 00 01 00 02 05 0E 00 -T 8B 00 00 00 -R 00 00 01 00 -T 8B 00 00 00 DD 7E 02 DD B6 03 28 0D -R 00 00 01 00 -T 93 00 00 00 -R 00 00 01 00 -T 93 00 00 00 DD 6E 02 DD 66 03 E5 DD E1 FD 23 -R 00 00 01 00 -T 9E 00 00 00 18 EB -R 00 00 01 00 -T A0 00 00 00 -R 00 00 01 00 -T A0 00 00 00 C3 67 00 00 00 -R 00 00 01 00 00 05 01 00 -T A3 00 00 00 -R 00 00 01 00 -T A3 00 00 00 FD E5 DD E5 D5 C5 DD E1 21 0A 00 -R 00 00 01 00 -T AE 00 00 00 39 5E 23 56 D5 FD E1 FD 6E 00 FD -R 00 00 01 00 -T B9 00 00 00 66 01 09 56 21 0C 00 39 7E 23 66 -R 00 00 01 00 -T C4 00 00 00 6F 5E 23 66 6B 09 -R 00 00 01 00 -T CA 00 00 00 -R 00 00 01 00 -T CA 00 00 00 72 -R 00 00 01 00 -T CB 00 00 00 -R 00 00 01 00 -T CB 00 00 00 FD E5 E1 4E 23 46 03 70 2B 71 DD -R 00 00 01 00 -T D6 00 00 00 E5 E1 09 7E 21 00 00 39 BE FD 6E -R 00 00 01 00 -T E1 00 00 00 00 FD 66 01 DD E5 C1 09 56 D5 21 -R 00 00 01 00 -T EC 00 00 00 0E 00 39 7E 23 66 6F 5E 23 56 13 -R 00 00 01 00 -T F7 00 00 00 72 2B 73 69 60 19 D1 20 CA -R 00 00 01 00 -T 00 01 00 00 -R 00 00 01 00 -T 00 01 00 00 -R 00 00 01 00 -T 00 01 00 00 72 -R 00 00 01 00 -T 01 01 00 00 -R 00 00 01 00 -T 01 01 00 00 E1 DD E1 FD E1 C3 00 00 00 00 -R 00 00 01 00 02 0A 02 00 -T 09 01 00 00 -R 00 00 01 00 -T 09 01 00 00 C5 FD E5 DD E5 DD 21 00 00 DD 39 -R 00 00 01 00 -T 14 01 00 00 F5 F5 F5 D5 FD E1 AF DD 77 FA DD -R 00 00 01 00 -T 1F 01 00 00 77 FB DD 77 FC DD 77 FD DD 36 FE -R 00 00 01 00 -T 2A 01 00 00 20 -R 00 00 01 00 -T 2B 01 00 00 -R 00 00 01 00 -T 2B 01 00 00 DD 6E FA DD 66 FB FD E5 C1 09 7E -R 00 00 01 00 -T 36 01 00 00 B7 CA 89 02 00 00 -R 00 00 01 00 00 06 01 00 -T 3A 01 00 00 -R 00 00 01 00 -T 3A 01 00 00 DD 6E FA DD 66 FB 09 7E FE 27 28 -R 00 00 01 00 -T 45 01 00 00 0C DD 6E FA DD 66 FB 09 7E FE 22 -R 00 00 01 00 -T 50 01 00 00 20 1D -R 00 00 01 00 -T 52 01 00 00 -R 00 00 01 00 -T 52 01 00 00 -R 00 00 01 00 -T 52 01 00 00 -R 00 00 01 00 -T 52 01 00 00 21 02 00 39 E5 2B 2B E5 DD 6E FA -R 00 00 01 00 -T 5D 01 00 00 DD 66 FB FD E5 D1 19 5E 3E -R 00 00 01 00 -T 66 01 00 00 A3 00 00 00 21 A3 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 6B 01 00 00 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 0E 00 -T 6F 01 00 00 -R 00 00 01 00 -T 6F 01 00 00 DD 7E FE FE 20 C2 18 02 00 00 DD -R 00 00 01 00 00 0A 01 00 -T 78 01 00 00 6E FA DD 66 FB FD E5 C1 09 7E FE -R 00 00 01 00 -T 83 01 00 00 2C CA 0B 02 00 00 DD 6E FA DD 66 -R 00 00 01 00 00 06 01 00 -T 8C 01 00 00 FB 09 7E FE 29 28 78 DD 6E FA DD -R 00 00 01 00 -T 97 01 00 00 66 FB 09 7E FE 28 28 6C DD 6E FA -R 00 00 01 00 -T A2 01 00 00 DD 66 FB 09 7E FE 2B 28 60 DD 6E -R 00 00 01 00 -T AD 01 00 00 FA DD 66 FB 09 7E FE 2D 28 54 DD -R 00 00 01 00 -T B8 01 00 00 6E FA DD 66 FB 09 7E FE 2A 28 48 -R 00 00 01 00 -T C3 01 00 00 DD 6E FA DD 66 FB 09 7E FE 2F 28 -R 00 00 01 00 -T CE 01 00 00 3C DD 6E FA DD 66 FB 09 7E FE 26 -R 00 00 01 00 -T D9 01 00 00 28 30 DD 6E FA DD 66 FB 09 7E FE -R 00 00 01 00 -T E4 01 00 00 7C 28 24 DD 6E FA DD 66 FB 09 7E -R 00 00 01 00 -T EF 01 00 00 FE 3D 28 18 DD 6E FA DD 66 FB 09 -R 00 00 01 00 -T FA 01 00 00 7E FE 3C 28 0C DD 6E FA DD 66 FB -R 00 00 01 00 -T 05 02 00 00 09 7E FE 3E 20 0D -R 00 00 01 00 -T 0B 02 00 00 -R 00 00 01 00 -T 0B 02 00 00 -R 00 00 01 00 -T 0B 02 00 00 -R 00 00 01 00 -T 0B 02 00 00 -R 00 00 01 00 -T 0B 02 00 00 -R 00 00 01 00 -T 0B 02 00 00 DD 6E FC DD 66 FD 2B DD 75 FC DD -R 00 00 01 00 -T 16 02 00 00 74 FD -R 00 00 01 00 -T 18 02 00 00 -R 00 00 01 00 -T 18 02 00 00 DD 6E FA DD 66 FB FD E5 C1 09 56 -R 00 00 01 00 -T 23 02 00 00 DD 6E FC DD 66 FD 09 72 DD 7E FE -R 00 00 01 00 -T 2E 02 00 00 FE 2C 28 2C FE 20 28 28 FE 28 28 -R 00 00 01 00 -T 39 02 00 00 24 FE 2B 28 20 FE 2D 28 1C FE 2A -R 00 00 01 00 -T 44 02 00 00 28 18 FE 2F 28 14 FE 26 28 10 FE -R 00 00 01 00 -T 4F 02 00 00 7C 28 0C FE 3D 28 08 FE 3E 28 04 -R 00 00 01 00 -T 5A 02 00 00 FE 3C 20 0C -R 00 00 01 00 -T 5E 02 00 00 -R 00 00 01 00 -T 5E 02 00 00 -R 00 00 01 00 -T 5E 02 00 00 DD 6E FA DD 66 FB 09 7E FE 20 28 -R 00 00 01 00 -T 69 02 00 00 08 -R 00 00 01 00 -T 6A 02 00 00 -R 00 00 01 00 -T 6A 02 00 00 -R 00 00 01 00 -T 6A 02 00 00 -R 00 00 01 00 -T 6A 02 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 72 02 00 00 -R 00 00 01 00 -T 72 02 00 00 -R 00 00 01 00 -T 72 02 00 00 DD 6E FA DD 66 FB 09 46 DD 70 FE -R 00 00 01 00 -T 7D 02 00 00 DD 34 FA C2 2B 01 00 00 DD 34 FB -R 00 00 01 00 00 08 01 00 -T 86 02 00 00 C3 2B 01 00 00 -R 00 00 01 00 00 05 01 00 -T 89 02 00 00 -R 00 00 01 00 -T 89 02 00 00 DD 7E FE FE 20 DD 6E FC DD 66 FD -R 00 00 01 00 -T 94 02 00 00 20 01 -R 00 00 01 00 -T 96 02 00 00 -R 00 00 01 00 -T 96 02 00 00 2B -R 00 00 01 00 -T 97 02 00 00 -R 00 00 01 00 -T 97 02 00 00 09 36 00 -R 00 00 01 00 -T 9A 02 00 00 -R 00 00 01 00 -T 9A 02 00 00 DD F9 C3 6B 00 00 00 -R 00 00 01 00 00 07 01 00 -T 9F 02 00 00 -R 00 00 01 00 -T 9F 02 00 00 FD E5 DD E5 C5 D5 FD E1 DD 21 -R 00 00 01 00 -T A9 02 00 00 00 00 -R 00 00 01 00 -T AB 02 00 00 -R 00 00 01 00 -T AB 02 00 00 DD E5 E1 FD E5 C1 09 7E 21 00 00 -R 00 00 01 00 -T B6 02 00 00 39 BE 28 0C DD E5 E1 09 7E B7 28 -R 00 00 01 00 -T C1 02 00 00 04 -R 00 00 01 00 -T C2 02 00 00 -R 00 00 01 00 -T C2 02 00 00 -R 00 00 01 00 -T C2 02 00 00 -R 00 00 01 00 -T C2 02 00 00 DD 23 18 E5 -R 00 00 01 00 -T C6 02 00 00 -R 00 00 01 00 -T C6 02 00 00 DD E5 E1 09 7E B7 28 0C -R 00 00 01 00 -T CE 02 00 00 -R 00 00 01 00 -T CE 02 00 00 DD E5 E1 09 E5 21 0C 00 39 46 E1 -R 00 00 01 00 -T D9 02 00 00 70 -R 00 00 01 00 -T DA 02 00 00 -R 00 00 01 00 -T DA 02 00 00 DD E5 E1 FD E5 C1 09 -R 00 00 01 00 -T E1 02 00 00 -R 00 00 01 00 -T E1 02 00 00 F1 DD E1 FD E1 C3 00 00 00 00 -R 00 00 01 00 02 0A 02 00 -T E9 02 00 00 -R 00 00 01 00 -T E9 02 00 00 FD E5 DD E5 DD 21 00 00 DD 39 C5 -R 00 00 01 00 -T F4 02 00 00 D5 21 D8 FF 39 F9 11 06 00 CD -R 00 00 01 00 -T FE 02 00 00 8F 04 00 00 E5 FD E1 DD 75 DA DD -R 00 00 01 00 00 04 01 00 -T 07 03 00 00 74 DB AF 77 23 77 DD 77 D6 DD 77 -R 00 00 01 00 -T 12 03 00 00 D7 DD 77 D4 DD 77 D5 -R 00 00 01 00 -T 19 03 00 00 -R 00 00 01 00 -T 19 03 00 00 DD 6E 0A DD 66 0B 46 23 66 68 DD -R 00 00 01 00 -T 24 03 00 00 4E FC DD 46 FD 09 7E DD BE 08 20 -R 00 00 01 00 -T 2F 03 00 00 07 AF DD B6 D4 CA 41 04 00 00 -R 00 00 01 00 00 0A 01 00 -T 37 03 00 00 -R 00 00 01 00 -T 37 03 00 00 -R 00 00 01 00 -T 37 03 00 00 DD 6E 0A DD 66 0B 46 23 66 68 DD -R 00 00 01 00 -T 42 03 00 00 46 FD 09 7E B7 CA 41 04 00 00 -R 00 00 01 00 00 0A 01 00 -T 4A 03 00 00 -R 00 00 01 00 -T 4A 03 00 00 -R 00 00 01 00 -T 4A 03 00 00 -R 00 00 01 00 -T 4A 03 00 00 DD 6E 0A DD 66 0B 46 23 66 68 DD -R 00 00 01 00 -T 55 03 00 00 46 FD 09 7E FE 22 28 04 FE 27 20 -R 00 00 01 00 -T 60 03 00 00 10 -R 00 00 01 00 -T 61 03 00 00 -R 00 00 01 00 -T 61 03 00 00 AF DD B6 D4 20 04 3E 01 18 01 -R 00 00 01 00 -T 6B 03 00 00 -R 00 00 01 00 -T 6B 03 00 00 AF -R 00 00 01 00 -T 6C 03 00 00 -R 00 00 01 00 -T 6C 03 00 00 DD 77 D4 18 1C -R 00 00 01 00 -T 71 03 00 00 -R 00 00 01 00 -T 71 03 00 00 FE 28 20 0B AF DD B6 D4 20 12 -R 00 00 01 00 -T 7B 03 00 00 -R 00 00 01 00 -T 7B 03 00 00 DD 34 D5 -R 00 00 01 00 -T 7E 03 00 00 -R 00 00 01 00 -T 7E 03 00 00 18 0D -R 00 00 01 00 -T 80 03 00 00 -R 00 00 01 00 -T 80 03 00 00 FE 29 20 09 AF DD B6 D4 20 03 -R 00 00 01 00 -T 8A 03 00 00 -R 00 00 01 00 -T 8A 03 00 00 DD 35 D5 -R 00 00 01 00 -T 8D 03 00 00 -R 00 00 01 00 -T 8D 03 00 00 -R 00 00 01 00 -T 8D 03 00 00 DD 6E 0A DD 66 0B 46 23 66 68 DD -R 00 00 01 00 -T 98 03 00 00 46 FD 09 7E DD BE FE 20 0B AF DD -R 00 00 01 00 -T A3 03 00 00 B6 D4 20 05 DD B6 D5 28 1D -R 00 00 01 00 -T AC 03 00 00 -R 00 00 01 00 -T AC 03 00 00 -R 00 00 01 00 -T AC 03 00 00 -R 00 00 01 00 -T AC 03 00 00 DD 6E 0A DD 66 0B 46 23 66 68 DD -R 00 00 01 00 -T B7 03 00 00 46 FD 09 46 21 08 00 39 DD 5E D6 -R 00 00 01 00 -T C2 03 00 00 DD 56 D7 19 70 18 61 -R 00 00 01 00 -T C9 03 00 00 -R 00 00 01 00 -T C9 03 00 00 21 08 00 39 DD 4E D6 DD 46 D7 09 -R 00 00 01 00 -T D4 03 00 00 77 21 08 00 39 CD 97 04 00 00 EB -R 00 00 01 00 00 0A 01 00 -T DD 03 00 00 13 CD 8F 04 00 00 FD 75 04 FD 74 -R 00 00 01 00 00 06 01 00 -T E6 03 00 00 05 21 08 00 39 4D 44 FD 5E 04 FD -R 00 00 01 00 -T F1 03 00 00 56 05 CD AD 04 00 00 FD E5 E1 DD -R 00 00 01 00 00 07 01 00 -T FA 03 00 00 75 D8 DD 74 D9 11 06 00 CD -R 00 00 01 00 -T 03 04 00 00 8F 04 00 00 FD 75 02 FD 74 03 FD -R 00 00 01 00 00 04 01 00 -T 0C 04 00 00 6E 02 FD 66 03 E5 FD E1 DD 6E D8 -R 00 00 01 00 -T 17 04 00 00 DD 66 D9 E5 FD E5 E1 C1 71 23 70 -R 00 00 01 00 -T 22 04 00 00 DD 36 D6 FF DD 36 D7 FF -R 00 00 01 00 -T 2A 04 00 00 -R 00 00 01 00 -T 2A 04 00 00 DD 6E 0A DD 66 0B 34 23 20 01 34 -R 00 00 01 00 -T 35 04 00 00 -R 00 00 01 00 -T 35 04 00 00 DD 34 D6 C2 19 03 00 00 DD 34 D7 -R 00 00 01 00 00 08 01 00 -T 3E 04 00 00 C3 19 03 00 00 -R 00 00 01 00 00 05 01 00 -T 41 04 00 00 -R 00 00 01 00 -T 41 04 00 00 21 08 00 39 DD 4E D6 DD 46 D7 09 -R 00 00 01 00 -T 4C 04 00 00 77 21 08 00 39 CD 97 04 00 00 EB -R 00 00 01 00 00 0A 01 00 -T 55 04 00 00 13 CD 8F 04 00 00 FD 75 04 FD 74 -R 00 00 01 00 00 06 01 00 -T 5E 04 00 00 05 21 08 00 39 4D 44 FD 5E 04 FD -R 00 00 01 00 -T 69 04 00 00 56 05 CD AD 04 00 00 AF FD 77 02 -R 00 00 01 00 00 07 01 00 -T 72 04 00 00 FD 77 03 DD 6E DA DD 66 DB -R 00 00 01 00 -T 7B 04 00 00 -R 00 00 01 00 -T 7B 04 00 00 DD F9 DD E1 FD E1 C3 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 84 04 00 00 -R 00 00 01 00 -T 84 04 00 00 71 23 70 FD 6E 00 FD 66 01 -R 00 00 01 00 -T 8D 04 00 00 -R 00 00 01 00 -T 8D 04 00 00 29 -R 00 00 01 00 -T 8E 04 00 00 -R 00 00 01 00 -T 8E 04 00 00 EB -R 00 00 01 00 -T 8F 04 00 00 -R 00 00 01 00 -T 8F 04 00 00 3E 00 00 00 00 21 00 00 00 00 C3 -R 00 00 01 00 2B 05 18 00 02 0A 18 00 -T 95 04 00 00 00 00 00 00 -R 00 00 01 00 02 04 0E 00 -T 97 04 00 00 -R 00 00 01 00 -T 97 04 00 00 EB -R 00 00 01 00 -T 98 04 00 00 -R 00 00 01 00 -T 98 04 00 00 3E 00 00 00 00 21 00 00 00 00 C3 -R 00 00 01 00 2B 05 09 00 02 0A 09 00 -T 9E 04 00 00 00 00 00 00 -R 00 00 01 00 02 04 0E 00 -T A0 04 00 00 -R 00 00 01 00 -T A0 04 00 00 4D 44 FD 6E 4A FD 66 4B -R 00 00 01 00 -T A8 04 00 00 -R 00 00 01 00 -T A8 04 00 00 11 04 00 -R 00 00 01 00 -T AB 04 00 00 -R 00 00 01 00 -T AB 04 00 00 19 -R 00 00 01 00 -T AC 04 00 00 -R 00 00 01 00 -T AC 04 00 00 EB -R 00 00 01 00 -T AD 04 00 00 -R 00 00 01 00 -T AD 04 00 00 3E 00 00 00 00 21 00 00 00 00 C3 -R 00 00 01 00 2B 05 0F 00 02 0A 0F 00 -T B3 04 00 00 00 00 00 00 -R 00 00 01 00 02 04 0E 00 -T B5 04 00 00 -R 00 00 01 00 -T B5 04 00 00 C5 FD E5 DD E5 D5 FD E1 CD -R 00 00 01 00 -T BE 04 00 00 98 04 00 00 EB 13 CD 8F 04 00 00 -R 00 00 01 00 00 04 01 00 00 0B 01 00 -T C5 04 00 00 E5 DD E1 FD E5 C1 CD AC 04 00 00 -R 00 00 01 00 00 0B 01 00 -T CE 04 00 00 DD E5 D1 3E 09 01 00 00 21 -R 00 00 01 00 29 08 01 00 -T D4 04 00 00 09 01 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 04 01 00 02 09 0E 00 -T DA 04 00 00 03 00 E5 01 00 00 00 00 DD E5 D1 -R 00 00 01 00 00 08 02 00 -T E3 04 00 00 CD 60 05 00 00 F1 7D B4 20 0A -R 00 00 01 00 00 05 01 00 -T EB 04 00 00 -R 00 00 01 00 -T EB 04 00 00 DD E5 D1 3E 68 05 00 00 21 -R 00 00 01 00 29 08 01 00 -T F1 04 00 00 68 05 00 00 18 52 -R 00 00 01 00 00 04 01 00 -T F5 04 00 00 -R 00 00 01 00 -T F5 04 00 00 21 03 00 E5 01 04 00 00 00 DD E5 -R 00 00 01 00 00 09 02 00 -T FE 04 00 00 D1 CD 60 05 00 00 F1 7D B4 20 0A -R 00 00 01 00 00 06 01 00 -T 07 05 00 00 -R 00 00 01 00 -T 07 05 00 00 DD E5 D1 3E 97 06 00 00 21 -R 00 00 01 00 29 08 01 00 -T 0D 05 00 00 97 06 00 00 18 36 -R 00 00 01 00 00 04 01 00 -T 11 05 00 00 -R 00 00 01 00 -T 11 05 00 00 21 03 00 E5 01 08 00 00 00 DD E5 -R 00 00 01 00 00 09 02 00 -T 1A 05 00 00 D1 CD 60 05 00 00 F1 7D B4 20 0A -R 00 00 01 00 00 06 01 00 -T 23 05 00 00 -R 00 00 01 00 -T 23 05 00 00 DD E5 D1 3E 3E 07 00 00 21 -R 00 00 01 00 29 08 01 00 -T 29 05 00 00 3E 07 00 00 18 1A -R 00 00 01 00 00 04 01 00 -T 2D 05 00 00 -R 00 00 01 00 -T 2D 05 00 00 21 03 00 E5 01 0C 00 00 00 DD E5 -R 00 00 01 00 00 09 02 00 -T 36 05 00 00 D1 CD 60 05 00 00 F1 7D B4 20 0D -R 00 00 01 00 00 06 01 00 -T 3F 05 00 00 -R 00 00 01 00 -T 3F 05 00 00 DD E5 D1 3E 0B 08 00 00 21 -R 00 00 01 00 29 08 01 00 -T 45 05 00 00 0B 08 00 00 -R 00 00 01 00 00 04 01 00 -T 47 05 00 00 -R 00 00 01 00 -T 47 05 00 00 CD 00 00 00 00 18 03 -R 00 00 01 00 02 05 0E 00 -T 4C 05 00 00 -R 00 00 01 00 -T 4C 05 00 00 21 00 00 -R 00 00 01 00 -T 4F 05 00 00 -R 00 00 01 00 -T 4F 05 00 00 C3 6B 00 00 00 -R 00 00 01 00 00 05 01 00 -T 52 05 00 00 -R 00 00 01 00 -T 52 05 00 00 DD 6E FC DD 66 FD DD 5E FE DD 56 -R 00 00 01 00 -T 5D 05 00 00 FF -R 00 00 01 00 -T 5E 05 00 00 -R 00 00 01 00 -T 5E 05 00 00 19 EB -R 00 00 01 00 -T 60 05 00 00 -R 00 00 01 00 -T 60 05 00 00 3E 00 00 00 00 21 00 00 00 00 C3 -R 00 00 01 00 2B 05 03 00 02 0A 03 00 -T 66 05 00 00 00 00 00 00 -R 00 00 01 00 02 04 0E 00 -T 68 05 00 00 -R 00 00 01 00 -T 68 05 00 00 C5 FD E5 DD E5 DD 21 00 00 DD 39 -R 00 00 01 00 -T 73 05 00 00 D5 F5 11 09 00 CD 8F 04 00 00 E5 -R 00 00 01 00 00 0A 01 00 -T 7C 05 00 00 FD E1 36 73 AF FD 77 05 FD 77 06 -R 00 00 01 00 -T 87 05 00 00 FD 77 07 FD 77 08 DD 36 FC 03 DD -R 00 00 01 00 -T 92 05 00 00 77 FD DD 6E FE DD 66 FF 23 23 23 -R 00 00 01 00 -T 9D 05 00 00 7E FE 20 20 08 -R 00 00 01 00 -T A2 05 00 00 -R 00 00 01 00 -T A2 05 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T AA 05 00 00 -R 00 00 01 00 -T AA 05 00 00 -R 00 00 01 00 -T AA 05 00 00 21 00 00 39 E5 0E 20 C5 0E 2C DD -R 00 00 01 00 -T B5 05 00 00 5E FE DD 56 FF CD 8F 06 00 00 F1 -R 00 00 01 00 00 0A 01 00 -T BE 05 00 00 F1 FD 75 01 FD 74 02 21 04 00 E5 -R 00 00 01 00 -T C9 05 00 00 01 10 00 00 00 CD 52 05 00 00 F1 -R 00 00 01 00 00 05 02 00 00 0A 01 00 -T D0 05 00 00 7D B4 20 0D -R 00 00 01 00 -T D4 05 00 00 -R 00 00 01 00 -T D4 05 00 00 6F 67 39 7E C6 04 77 30 0A 23 34 -R 00 00 01 00 -T DF 05 00 00 18 06 -R 00 00 01 00 -T E1 05 00 00 -R 00 00 01 00 -T E1 05 00 00 21 00 00 C3 85 06 00 00 -R 00 00 01 00 00 08 01 00 -T E7 05 00 00 -R 00 00 01 00 -T E7 05 00 00 21 00 00 39 E5 0E 20 C5 0E 2C DD -R 00 00 01 00 -T F2 05 00 00 5E FE DD 56 FF CD 8F 06 00 00 F1 -R 00 00 01 00 00 0A 01 00 -T FB 05 00 00 F1 FD 75 03 FD 74 04 21 03 00 E5 -R 00 00 01 00 -T 06 06 00 00 01 15 00 00 00 CD 52 05 00 00 F1 -R 00 00 01 00 00 05 02 00 00 0A 01 00 -T 0D 06 00 00 7D B4 20 3C -R 00 00 01 00 -T 11 06 00 00 -R 00 00 01 00 -T 11 06 00 00 6F 67 39 7E C6 03 77 30 02 23 34 -R 00 00 01 00 -T 1C 06 00 00 -R 00 00 01 00 -T 1C 06 00 00 6F DD 66 FD DD 4E FE DD 46 FF 09 -R 00 00 01 00 -T 27 06 00 00 7E FE 20 20 08 -R 00 00 01 00 -T 2C 06 00 00 -R 00 00 01 00 -T 2C 06 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 34 06 00 00 -R 00 00 01 00 -T 34 06 00 00 -R 00 00 01 00 -T 34 06 00 00 21 00 00 39 E5 0E 20 C5 0E 2C DD -R 00 00 01 00 -T 3F 06 00 00 5E FE 50 CD 8F 06 00 00 F1 F1 FD -R 00 00 01 00 00 08 01 00 -T 48 06 00 00 75 05 FD 74 06 -R 00 00 01 00 -T 4D 06 00 00 -R 00 00 01 00 -T 4D 06 00 00 21 05 00 E5 01 19 00 00 00 CD -R 00 00 01 00 00 09 02 00 -T 55 06 00 00 52 05 00 00 F1 7D B4 20 26 -R 00 00 01 00 00 04 01 00 -T 5C 06 00 00 -R 00 00 01 00 -T 5C 06 00 00 6F 67 39 7E C6 05 77 30 02 23 34 -R 00 00 01 00 -T 67 06 00 00 -R 00 00 01 00 -T 67 06 00 00 21 00 00 39 E5 0E 20 C5 0E 2C DD -R 00 00 01 00 -T 72 06 00 00 5E FE DD 56 FF CD 8F 06 00 00 F1 -R 00 00 01 00 00 0A 01 00 -T 7B 06 00 00 F1 FD 75 07 FD 74 08 -R 00 00 01 00 -T 82 06 00 00 -R 00 00 01 00 -T 82 06 00 00 FD E5 E1 -R 00 00 01 00 -T 85 06 00 00 -R 00 00 01 00 -T 85 06 00 00 DD F9 C3 6B 00 00 00 -R 00 00 01 00 00 07 01 00 -T 8A 06 00 00 -R 00 00 01 00 -T 8A 06 00 00 0E 2C FD E5 D1 -R 00 00 01 00 -T 8F 06 00 00 -R 00 00 01 00 -T 8F 06 00 00 3E E9 02 00 00 21 E9 02 00 00 C3 -R 00 00 01 00 29 05 01 00 00 0A 01 00 -T 95 06 00 00 00 00 00 00 -R 00 00 01 00 02 04 0E 00 -T 97 06 00 00 -R 00 00 01 00 -T 97 06 00 00 C5 FD E5 DD E5 F5 D5 FD E1 11 -R 00 00 01 00 -T A1 06 00 00 09 00 CD 8F 04 00 00 E5 DD E1 36 -R 00 00 01 00 00 07 01 00 -T AA 06 00 00 69 AF DD 77 05 DD 77 06 6F 67 39 -R 00 00 01 00 -T B5 06 00 00 36 04 23 77 2B E5 0E 28 C5 CD -R 00 00 01 00 -T BF 06 00 00 8A 06 00 00 F1 F1 DD 75 03 DD 74 -R 00 00 01 00 00 04 01 00 -T C8 06 00 00 04 21 01 00 E5 01 1F 00 00 00 23 -R 00 00 01 00 00 0A 02 00 -T D1 06 00 00 39 56 23 66 6A FD E5 D1 CD -R 00 00 01 00 -T DA 06 00 00 5E 05 00 00 F1 7D B4 20 51 -R 00 00 01 00 00 04 01 00 -T E1 06 00 00 -R 00 00 01 00 -T E1 06 00 00 6F 67 39 34 23 20 01 34 -R 00 00 01 00 -T E9 06 00 00 -R 00 00 01 00 -T E9 06 00 00 -R 00 00 01 00 -T E9 06 00 00 -R 00 00 01 00 -T E9 06 00 00 2B E5 0E 29 C5 CD 8A 06 00 00 F1 -R 00 00 01 00 00 0A 01 00 -T F2 06 00 00 F1 DD 75 01 DD 74 02 21 06 00 E5 -R 00 00 01 00 -T FD 06 00 00 01 21 00 00 00 2E 02 39 56 23 66 -R 00 00 01 00 00 05 02 00 -T 06 07 00 00 6A FD E5 D1 CD 5E 05 00 00 F1 7D -R 00 00 01 00 00 09 01 00 -T 0F 07 00 00 B4 20 20 -R 00 00 01 00 -T 12 07 00 00 -R 00 00 01 00 -T 12 07 00 00 6F 67 39 7E C6 06 77 30 02 23 34 -R 00 00 01 00 -T 1D 07 00 00 -R 00 00 01 00 -T 1D 07 00 00 21 00 00 39 E5 0E 29 C5 CD -R 00 00 01 00 -T 26 07 00 00 8A 06 00 00 F1 F1 DD 75 07 DD 74 -R 00 00 01 00 00 04 01 00 -T 2F 07 00 00 08 18 05 -R 00 00 01 00 -T 32 07 00 00 -R 00 00 01 00 -T 32 07 00 00 21 00 00 18 03 -R 00 00 01 00 -T 37 07 00 00 -R 00 00 01 00 -T 37 07 00 00 DD E5 E1 -R 00 00 01 00 -T 3A 07 00 00 -R 00 00 01 00 -T 3A 07 00 00 F1 C3 6B 00 00 00 -R 00 00 01 00 00 06 01 00 -T 3E 07 00 00 -R 00 00 01 00 -T 3E 07 00 00 C5 FD E5 DD E5 F5 D5 FD E1 11 -R 00 00 01 00 -T 48 07 00 00 09 00 CD 8F 04 00 00 E5 DD E1 36 -R 00 00 01 00 00 07 01 00 -T 51 07 00 00 75 AF DD 77 05 DD 77 06 DD 77 07 -R 00 00 01 00 -T 5C 07 00 00 DD 77 08 6F 67 39 36 04 23 77 2B -R 00 00 01 00 -T 67 07 00 00 E5 0E 20 C5 CD 8A 06 00 00 F1 F1 -R 00 00 01 00 00 09 01 00 -T 70 07 00 00 DD 75 03 DD 74 04 21 04 00 E5 01 -R 00 00 01 00 -T 7B 07 00 00 28 00 00 00 2B 2B 39 56 23 66 6A -R 00 00 01 00 00 04 02 00 -T 84 07 00 00 FD E5 D1 CD 5E 05 00 00 F1 7D B4 -R 00 00 01 00 00 08 01 00 -T 8D 07 00 00 20 0D -R 00 00 01 00 -T 8F 07 00 00 -R 00 00 01 00 -T 8F 07 00 00 6F 67 39 7E C6 04 77 30 09 23 34 -R 00 00 01 00 -T 9A 07 00 00 18 05 -R 00 00 01 00 -T 9C 07 00 00 -R 00 00 01 00 -T 9C 07 00 00 21 00 00 18 66 -R 00 00 01 00 -T A1 07 00 00 -R 00 00 01 00 -T A1 07 00 00 21 00 00 39 E5 0E 20 C5 CD -R 00 00 01 00 -T AA 07 00 00 8A 06 00 00 F1 F1 DD 75 01 DD 74 -R 00 00 01 00 00 04 01 00 -T B3 07 00 00 02 21 03 00 E5 01 15 00 00 00 2B -R 00 00 01 00 00 0A 02 00 -T BC 07 00 00 39 56 23 66 6A FD E5 D1 CD -R 00 00 01 00 -T C5 07 00 00 5E 05 00 00 F1 7D B4 20 38 -R 00 00 01 00 00 04 01 00 -T CC 07 00 00 -R 00 00 01 00 -T CC 07 00 00 6F 67 39 7E C6 03 77 30 02 23 34 -R 00 00 01 00 -T D7 07 00 00 -R 00 00 01 00 -T D7 07 00 00 21 00 00 39 47 23 66 68 FD E5 C1 -R 00 00 01 00 -T E2 07 00 00 09 7E FE 20 20 09 -R 00 00 01 00 -T E8 07 00 00 -R 00 00 01 00 -T E8 07 00 00 21 00 00 39 34 23 20 01 34 -R 00 00 01 00 -T F1 07 00 00 -R 00 00 01 00 -T F1 07 00 00 -R 00 00 01 00 -T F1 07 00 00 21 00 00 39 E5 0E 20 C5 CD -R 00 00 01 00 -T FA 07 00 00 8A 06 00 00 F1 F1 DD 75 05 DD 74 -R 00 00 01 00 00 04 01 00 -T 03 08 00 00 06 -R 00 00 01 00 -T 04 08 00 00 -R 00 00 01 00 -T 04 08 00 00 DD E5 E1 -R 00 00 01 00 -T 07 08 00 00 -R 00 00 01 00 -T 07 08 00 00 F1 C3 6B 00 00 00 -R 00 00 01 00 00 06 01 00 -T 0B 08 00 00 -R 00 00 01 00 -T 0B 08 00 00 C5 FD E5 DD E5 F5 D5 FD E1 11 -R 00 00 01 00 -T 15 08 00 00 09 00 CD 8F 04 00 00 E5 DD E1 36 -R 00 00 01 00 00 07 01 00 -T 1E 08 00 00 64 AF DD 77 05 DD 77 06 DD 77 07 -R 00 00 01 00 -T 29 08 00 00 DD 77 08 DD 77 01 DD 77 02 6F 67 -R 00 00 01 00 -T 34 08 00 00 39 36 04 23 77 2B E5 0E 20 C5 CD -R 00 00 01 00 -T 3F 08 00 00 8A 06 00 00 F1 F1 DD 75 03 DD 74 -R 00 00 01 00 00 04 01 00 -T 48 08 00 00 04 21 03 00 E5 01 15 00 00 00 2B -R 00 00 01 00 00 0A 02 00 -T 51 08 00 00 39 56 23 66 6A FD E5 D1 CD -R 00 00 01 00 -T 5A 08 00 00 5E 05 00 00 F1 7D B4 20 38 -R 00 00 01 00 00 04 01 00 -T 61 08 00 00 -R 00 00 01 00 -T 61 08 00 00 6F 67 39 7E C6 03 77 30 02 23 34 -R 00 00 01 00 -T 6C 08 00 00 -R 00 00 01 00 -T 6C 08 00 00 21 00 00 39 47 23 66 68 FD E5 C1 -R 00 00 01 00 -T 77 08 00 00 09 7E FE 20 20 09 -R 00 00 01 00 -T 7D 08 00 00 -R 00 00 01 00 -T 7D 08 00 00 21 00 00 39 34 23 20 01 34 -R 00 00 01 00 -T 86 08 00 00 -R 00 00 01 00 -T 86 08 00 00 -R 00 00 01 00 -T 86 08 00 00 21 00 00 39 E5 0E 20 C5 CD -R 00 00 01 00 -T 8F 08 00 00 8A 06 00 00 F1 F1 DD 75 05 DD 74 -R 00 00 01 00 00 04 01 00 -T 98 08 00 00 06 -R 00 00 01 00 -T 99 08 00 00 -R 00 00 01 00 -T 99 08 00 00 DD E5 E1 F1 C3 6B 00 00 00 -R 00 00 01 00 00 09 01 00 -T A0 08 00 00 -R 00 00 01 00 -T A0 08 00 00 C5 FD E5 DD E5 DD 21 00 00 DD 39 -R 00 00 01 00 -T AB 08 00 00 F5 F5 F5 F5 D5 FD E1 11 40 00 CD -R 00 00 01 00 -T B6 08 00 00 8F 04 00 00 DD 75 F8 DD 74 F9 01 -R 00 00 01 00 00 04 01 00 -T BF 08 00 00 2D 00 00 00 EB CD 53 0B 00 00 CD -R 00 00 01 00 00 04 02 00 00 0A 01 00 -T C6 08 00 00 00 00 00 00 01 36 00 00 00 DD 5E -R 00 00 01 00 02 04 0E 00 00 09 02 00 -T CD 08 00 00 F8 DD 56 F9 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 06 00 -T D4 08 00 00 00 00 00 00 CD 00 00 00 00 FD 36 -R 00 00 01 00 02 04 06 00 02 09 0E 00 -T DB 08 00 00 0A 00 21 3B 00 00 00 E5 21 00 00 -R 00 00 01 00 00 07 02 00 -T E4 08 00 00 E5 01 FF FF DD 5E F8 DD 56 F9 3E -R 00 00 01 00 -T EF 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T F4 08 00 00 00 00 00 00 F1 F1 DD 75 FC DD 74 -R 00 00 01 00 02 04 0E 00 -T FD 08 00 00 FD E5 21 01 00 E5 01 04 00 DD 5E -R 00 00 01 00 -T 08 09 00 00 F8 DD 56 F9 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 00 00 -T 0F 09 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 00 00 02 09 0E 00 -T 16 09 00 00 DD 6E F8 DD 66 F9 7E FE 54 C2 -R 00 00 01 00 -T 20 09 00 00 2A 0B 00 00 23 7E FE 42 C2 -R 00 00 01 00 00 04 01 00 -T 27 09 00 00 2A 0B 00 00 23 7E FE 4C C2 -R 00 00 01 00 00 04 01 00 -T 2E 09 00 00 2A 0B 00 00 23 7E FE 20 C2 -R 00 00 01 00 00 04 01 00 -T 35 09 00 00 2A 0B 00 00 -R 00 00 01 00 00 04 01 00 -T 37 09 00 00 -R 00 00 01 00 -T 37 09 00 00 -R 00 00 01 00 -T 37 09 00 00 -R 00 00 01 00 -T 37 09 00 00 -R 00 00 01 00 -T 37 09 00 00 DD 6E FC DD 66 FD E5 21 01 00 E5 -R 00 00 01 00 -T 42 09 00 00 01 04 00 DD 5E F8 DD 56 F9 3E -R 00 00 01 00 -T 4C 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 51 09 00 00 00 00 00 00 F1 F1 DD 6E F8 DD 66 -R 00 00 01 00 02 04 0E 00 -T 5A 09 00 00 F9 4E DD 71 FE 06 00 DD 70 FF FD -R 00 00 01 00 -T 65 09 00 00 E5 E1 71 23 70 69 60 29 29 4D 44 -R 00 00 01 00 -T 70 09 00 00 29 09 CD 8E 04 00 00 FD 75 02 FD -R 00 00 01 00 00 07 01 00 -T 79 09 00 00 74 03 AF DD 77 FA DD 77 FB -R 00 00 01 00 -T 82 09 00 00 -R 00 00 01 00 -T 82 09 00 00 DD 4E FE DD 46 FF DD 6E FA DD 66 -R 00 00 01 00 -T 8D 09 00 00 FB F6 80 ED 42 E2 96 09 00 00 AC -R 00 00 01 00 00 0A 01 00 -T 96 09 00 00 -R 00 00 01 00 -T 96 09 00 00 F2 3F 0A 00 00 -R 00 00 01 00 00 05 01 00 -T 99 09 00 00 -R 00 00 01 00 -T 99 09 00 00 DD 6E FC DD 66 FD E5 21 01 00 E5 -R 00 00 01 00 -T A4 09 00 00 01 08 00 FD 6E 02 FD 66 03 E5 DD -R 00 00 01 00 -T AF 09 00 00 6E FA DD 66 FB 29 29 5D 54 29 19 -R 00 00 01 00 -T BA 09 00 00 EB E1 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 00 00 -T C1 09 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 00 00 02 09 0E 00 -T C8 09 00 00 FD 6E 02 FD 66 03 E5 DD 6E FA DD -R 00 00 01 00 -T D3 09 00 00 66 FB 29 29 4D 44 29 09 4D 44 E1 -R 00 00 01 00 -T DE 09 00 00 09 01 08 00 09 70 DD 6E FC DD 66 -R 00 00 01 00 -T E9 09 00 00 FD E5 21 01 00 E5 0E 03 FD 6E 02 -R 00 00 01 00 -T F4 09 00 00 FD 66 03 E5 DD 6E FA DD 66 FB 29 -R 00 00 01 00 -T FF 09 00 00 29 5D 54 29 19 EB E1 19 11 09 00 -R 00 00 01 00 -T 0A 0A 00 00 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 00 00 -T 0F 0A 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 00 00 02 09 0E 00 -T 16 0A 00 00 DD 6E FC DD 66 FD E5 21 01 00 E5 -R 00 00 01 00 -T 21 0A 00 00 4D 44 DD 5E F8 DD 56 F9 3E -R 00 00 01 00 -T 2A 0A 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 2F 0A 00 00 00 00 00 00 F1 F1 DD 34 FA C2 -R 00 00 01 00 02 04 0E 00 -T 37 0A 00 00 82 09 00 00 DD 34 FB C3 -R 00 00 01 00 00 04 01 00 -T 3D 0A 00 00 82 09 00 00 -R 00 00 01 00 00 04 01 00 -T 3F 0A 00 00 -R 00 00 01 00 -T 3F 0A 00 00 01 2D 00 00 00 DD 5E F8 DD 56 F9 -R 00 00 01 00 00 05 02 00 -T 48 0A 00 00 CD 53 0B 00 00 CD 00 00 00 00 01 -R 00 00 01 00 00 05 01 00 02 0A 0E 00 -T 4F 0A 00 00 3E 00 00 00 DD 5E F8 DD 56 F9 3E -R 00 00 01 00 00 04 02 00 -T 58 0A 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 -T 5D 0A 00 00 00 00 00 00 21 43 00 00 00 E5 21 -R 00 00 01 00 02 04 0E 00 00 09 02 00 -T 64 0A 00 00 00 00 E5 01 FF FF DD 5E F8 DD 56 -R 00 00 01 00 -T 6F 0A 00 00 F9 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T 75 0A 00 00 CD 00 00 00 00 F1 F1 FD 75 08 FD -R 00 00 01 00 02 05 0E 00 -T 7E 0A 00 00 74 09 FD 36 0A 01 FD 6E 08 FD 66 -R 00 00 01 00 -T 89 0A 00 00 09 E5 21 01 00 E5 01 04 00 DD 5E -R 00 00 01 00 -T 94 0A 00 00 F8 DD 56 F9 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 00 00 -T 9B 0A 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 00 00 02 09 0E 00 -T A2 0A 00 00 DD 6E F8 DD 66 F9 7E FE 44 20 12 -R 00 00 01 00 -T AD 0A 00 00 23 7E FE 41 20 0C 23 7E FE 54 20 -R 00 00 01 00 -T B8 0A 00 00 06 23 7E FE 20 28 0F -R 00 00 01 00 -T BF 0A 00 00 -R 00 00 01 00 -T BF 0A 00 00 -R 00 00 01 00 -T BF 0A 00 00 -R 00 00 01 00 -T BF 0A 00 00 FD 36 0A 00 FD 5E 08 FD 56 09 CD -R 00 00 01 00 -T CA 0A 00 00 4B 0B 00 00 18 5C -R 00 00 01 00 00 04 01 00 -T CE 0A 00 00 -R 00 00 01 00 -T CE 0A 00 00 FD 6E 08 FD 66 09 E5 21 01 00 E5 -R 00 00 01 00 -T D9 0A 00 00 01 02 00 2E 04 FD E5 D1 19 EB 3E -R 00 00 01 00 -T E4 0A 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T E9 0A 00 00 00 00 00 00 F1 F1 FD 6E 08 FD 66 -R 00 00 01 00 02 04 0E 00 -T F2 0A 00 00 09 E5 21 01 00 E5 01 02 00 2E 06 -R 00 00 01 00 -T FD 0A 00 00 FD E5 D1 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 00 00 -T 05 0B 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 00 00 02 09 0E 00 -T 0C 0B 00 00 FD 6E 08 FD 66 09 E5 21 01 00 E5 -R 00 00 01 00 -T 17 0B 00 00 01 02 00 DD 5E F8 DD 56 F9 3E -R 00 00 01 00 -T 21 0B 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 26 0B 00 00 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0E 00 -T 2A 0B 00 00 -R 00 00 01 00 -T 2A 0B 00 00 -R 00 00 01 00 -T 2A 0B 00 00 DD 5E FC DD 56 FD CD 4B 0B 00 00 -R 00 00 01 00 00 0B 01 00 -T 33 0B 00 00 DD 5E F8 DD 56 F9 CD 3B 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 3C 0B 00 00 DD F9 C3 6B 00 00 00 -R 00 00 01 00 00 07 01 00 -T 41 0B 00 00 -R 00 00 01 00 -T 41 0B 00 00 D5 DD E1 21 08 00 19 5E 23 56 -R 00 00 01 00 -T 4B 0B 00 00 -R 00 00 01 00 -T 4B 0B 00 00 3E 00 00 00 00 21 00 00 00 00 C3 -R 00 00 01 00 2B 05 19 00 02 0A 19 00 -T 51 0B 00 00 00 00 00 00 -R 00 00 01 00 02 04 0E 00 -T 53 0B 00 00 -R 00 00 01 00 -T 53 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0F 00 02 0A 0F 00 -T 59 0B 00 00 00 00 00 00 21 0B 00 FD E5 C1 09 -R 00 00 01 00 02 04 0E 00 -T 62 0B 00 00 4D 44 DD 5E F8 DD 56 F9 3E -R 00 00 01 00 -T 6B 0B 00 00 00 00 00 00 21 00 00 00 00 C9 -R 00 00 01 00 2B 04 06 00 02 09 06 00 -T 70 0B 00 00 -R 00 00 01 00 -T 70 0B 00 00 DD E5 CD 41 0B 00 00 DD 5E 02 DD -R 00 00 01 00 00 07 01 00 -T 79 0B 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0D 00 -T 7E 0B 00 00 00 00 00 00 -R 00 00 01 00 02 04 0D 00 -T 80 0B 00 00 -R 00 00 01 00 -T 80 0B 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 0E 00 -T 83 0B 00 00 -R 00 00 01 00 -T 83 0B 00 00 DD E5 D1 CD 3B 00 00 00 DD E1 C3 -R 00 00 01 00 00 08 01 00 -T 8C 0B 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 -T 8E 0B 00 00 -R 00 00 01 00 -T 8E 0B 00 00 DD E5 D5 DD E1 13 EB 5E 23 56 3E -R 00 00 01 00 -T 99 0B 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 9E 0B 00 00 00 00 00 00 DD 5E 03 DD 56 04 3E -R 00 00 01 00 02 04 0E 00 -T A7 0B 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T AC 0B 00 00 00 00 00 00 DD 5E 05 DD 56 06 3E -R 00 00 01 00 02 04 0E 00 -T B5 0B 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T BA 0B 00 00 00 00 00 00 DD 5E 07 DD 56 08 3E -R 00 00 01 00 02 04 0E 00 -T C3 0B 00 00 00 00 00 00 21 00 00 00 00 C3 -R 00 00 01 00 29 04 01 00 00 09 01 00 -T C8 0B 00 00 80 0B 00 00 -R 00 00 01 00 00 04 01 00 -T CA 0B 00 00 -R 00 00 01 00 -T CA 0B 00 00 DD E5 CD 41 0B 00 00 DD 5E 02 DD -R 00 00 01 00 00 07 01 00 -T D3 0B 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0D 00 -T D8 0B 00 00 00 00 00 00 C3 80 0B 00 00 -R 00 00 01 00 02 04 0D 00 00 09 01 00 -T DD 0B 00 00 -R 00 00 01 00 -T DD 0B 00 00 FD E5 DD E5 C5 D5 DD 21 00 00 FD -R 00 00 01 00 -T E8 0B 00 00 21 00 00 -R 00 00 01 00 -T EB 0B 00 00 -R 00 00 01 00 -T EB 0B 00 00 21 02 00 39 4E 23 46 FD E5 E1 F6 -R 00 00 01 00 -T F6 0B 00 00 80 ED 42 E2 FD 0B 00 00 AC -R 00 00 01 00 00 08 01 00 -T FD 0B 00 00 -R 00 00 01 00 -T FD 0B 00 00 F2 27 0C 00 00 -R 00 00 01 00 00 05 01 00 -T 00 0C 00 00 -R 00 00 01 00 -T 00 0C 00 00 21 00 00 39 46 23 66 68 23 23 46 -R 00 00 01 00 -T 0B 0C 00 00 23 66 68 E5 FD E5 E1 29 29 4D 44 -R 00 00 01 00 -T 16 0C 00 00 29 09 4D 44 E1 09 01 0A 00 09 4E -R 00 00 01 00 -T 21 0C 00 00 DD 09 FD 23 18 C4 -R 00 00 01 00 -T 27 0C 00 00 -R 00 00 01 00 -T 27 0C 00 00 DD 23 DD 23 DD E5 E1 F1 C3 -R 00 00 01 00 -T 30 0C 00 00 E1 02 00 00 -R 00 00 01 00 00 04 01 00 -T 32 0C 00 00 -R 00 00 01 00 -T 32 0C 00 00 C5 DD E5 D5 DD E1 1A 4F 13 1A 47 -R 00 00 01 00 -T 3D 0C 00 00 DD E5 D1 3E DD 0B 00 00 21 -R 00 00 01 00 29 08 01 00 -T 43 0C 00 00 DD 0B 00 00 CD 00 00 00 00 DD E1 -R 00 00 01 00 00 04 01 00 02 09 0E 00 -T 4A 0C 00 00 C1 C3 00 00 00 00 -R 00 00 01 00 02 06 02 00 -T 4E 0C 00 00 -R 00 00 01 00 -T 4E 0C 00 00 FD E5 DD E5 C5 D5 FD E1 DD 21 -R 00 00 01 00 -T 58 0C 00 00 00 00 -R 00 00 01 00 -T 5A 0C 00 00 -R 00 00 01 00 -T 5A 0C 00 00 FD 4E 00 FD 46 01 DD E5 E1 F6 80 -R 00 00 01 00 -T 65 0C 00 00 ED 42 E2 6B 0C 00 00 AC -R 00 00 01 00 00 07 01 00 -T 6B 0C 00 00 -R 00 00 01 00 -T 6B 0C 00 00 F2 9E 0C 00 00 -R 00 00 01 00 00 05 01 00 -T 6E 0C 00 00 -R 00 00 01 00 -T 6E 0C 00 00 21 00 00 39 4E 23 46 FD 6E 02 FD -R 00 00 01 00 -T 79 0C 00 00 66 03 E5 DD E5 E1 29 29 5D 54 29 -R 00 00 01 00 -T 84 0C 00 00 19 EB E1 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0C 00 -T 8C 0C 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 0C 00 02 09 0E 00 -T 93 0C 00 00 20 05 -R 00 00 01 00 -T 95 0C 00 00 -R 00 00 01 00 -T 95 0C 00 00 DD E5 E1 18 07 -R 00 00 01 00 -T 9A 0C 00 00 -R 00 00 01 00 -T 9A 0C 00 00 DD 23 18 BC -R 00 00 01 00 -T 9E 0C 00 00 -R 00 00 01 00 -T 9E 0C 00 00 21 FF FF -R 00 00 01 00 -T A1 0C 00 00 -R 00 00 01 00 -T A1 0C 00 00 C3 E1 02 00 00 -R 00 00 01 00 00 05 01 00 -T A4 0C 00 00 -R 00 00 01 00 -T A4 0C 00 00 C5 FD E5 DD E5 DD 21 00 00 DD 39 -R 00 00 01 00 -T AF 0C 00 00 D5 21 DE FF 39 F9 11 0A 00 CD -R 00 00 01 00 -T B9 0C 00 00 8F 04 00 00 E5 FD E1 11 14 00 CD -R 00 00 01 00 00 04 01 00 -T C2 0C 00 00 8F 04 00 00 DD 75 DE DD 74 DF AF -R 00 00 01 00 00 04 01 00 -T CB 0C 00 00 DD 77 F8 DD 77 F9 CD 2F 12 00 00 -R 00 00 01 00 00 0B 01 00 -T D4 0C 00 00 DD 75 FA DD 74 FB DD 6E FE DD 66 -R 00 00 01 00 -T DF 0C 00 00 FF 23 23 23 46 23 66 68 01 04 00 -R 00 00 01 00 -T EA 0C 00 00 09 4E 23 46 21 0B 00 DD 5E DE DD -R 00 00 01 00 -T F5 0C 00 00 56 DF CD AB 04 00 00 DD 5E DE DD -R 00 00 01 00 00 07 01 00 -T FE 0C 00 00 56 DF 3E A0 08 00 00 21 -R 00 00 01 00 29 07 01 00 -T 03 0D 00 00 A0 08 00 00 CD 00 00 00 00 AF FD -R 00 00 01 00 00 04 01 00 02 09 0E 00 -T 0A 0D 00 00 77 04 FD 77 05 FD 77 06 FD 77 07 -R 00 00 01 00 -T 15 0D 00 00 01 47 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 00 05 02 00 -T 1E 0D 00 00 23 56 23 66 6A 11 04 00 19 5E 23 -R 00 00 01 00 -T 29 0D 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 -T 2F 0D 00 00 CD 00 00 00 00 7D B4 C2 -R 00 00 01 00 02 05 0E 00 -T 35 0D 00 00 2E 0E 00 00 -R 00 00 01 00 00 04 01 00 -T 37 0D 00 00 -R 00 00 01 00 -T 37 0D 00 00 DD 6E DE DD 66 DF 46 23 66 68 E5 -R 00 00 01 00 -T 42 0D 00 00 FD E5 E1 C1 CD 84 04 00 00 CD -R 00 00 01 00 00 09 01 00 -T 4A 0D 00 00 E0 11 00 00 CD 00 00 00 00 FD 75 -R 00 00 01 00 00 04 01 00 02 09 0E 00 -T 51 0D 00 00 02 FD 74 03 AF DD 77 EE DD 77 EF -R 00 00 01 00 -T 5C 0D 00 00 -R 00 00 01 00 -T 5C 0D 00 00 FD 4E 00 FD 46 01 DD 6E EE DD 66 -R 00 00 01 00 -T 67 0D 00 00 EF F6 80 ED 42 E2 70 0D 00 00 AC -R 00 00 01 00 00 0A 01 00 -T 70 0D 00 00 -R 00 00 01 00 -T 70 0D 00 00 F2 61 0F 00 00 -R 00 00 01 00 00 05 01 00 -T 73 0D 00 00 -R 00 00 01 00 -T 73 0D 00 00 DD 6E DE DD 66 DF 23 23 46 23 66 -R 00 00 01 00 -T 7E 0D 00 00 68 E5 DD 6E EE DD 66 EF 29 29 4D -R 00 00 01 00 -T 89 0D 00 00 44 29 09 4D 44 E1 09 DD 75 E0 DD -R 00 00 01 00 -T 94 0D 00 00 74 E1 DD 6E EE DD 66 EF 29 DD 4E -R 00 00 01 00 -T 9F 0D 00 00 E4 DD 46 E5 09 E5 DD 4E EE DD 46 -R 00 00 01 00 -T AA 0D 00 00 EF DD 5E DE DD 56 DF 3E -R 00 00 01 00 -T B2 0D 00 00 DD 0B 00 00 21 DD 0B 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T B7 0D 00 00 00 00 00 00 4D 44 E1 71 23 70 DD -R 00 00 01 00 02 04 0E 00 -T C0 0D 00 00 6E EE DD 66 EF 29 DD 4E E6 DD 46 -R 00 00 01 00 -T CB 0D 00 00 E7 09 E5 21 0A 00 DD 4E E0 DD 46 -R 00 00 01 00 -T D6 0D 00 00 E1 09 4E 06 00 E1 71 23 70 21 -R 00 00 01 00 -T E0 0D 00 00 0C 00 E5 DD 6E DE DD 66 DF 23 23 -R 00 00 01 00 -T EB 0D 00 00 46 23 66 68 E5 DD 6E EE DD 66 EF -R 00 00 01 00 -T F6 0D 00 00 29 29 4D 44 29 09 4D 44 E1 09 4D -R 00 00 01 00 -T 01 0E 00 00 44 FD 6E 02 FD 66 03 E5 DD 6E EE -R 00 00 01 00 -T 0C 0E 00 00 DD 66 EF 29 29 5D 54 29 19 EB E1 -R 00 00 01 00 -T 17 0E 00 00 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 04 00 -T 1C 0E 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 04 00 02 09 0E 00 -T 23 0E 00 00 34 EE C2 5C 0D 00 00 DD 34 EF C3 -R 00 00 01 00 00 07 01 00 -T 2C 0E 00 00 5C 0D 00 00 -R 00 00 01 00 00 04 01 00 -T 2E 0E 00 00 -R 00 00 01 00 -T 2E 0E 00 00 -R 00 00 01 00 -T 2E 0E 00 00 CD 0F 12 00 00 E5 FD E5 E1 C1 CD -R 00 00 01 00 00 05 01 00 -T 37 0E 00 00 84 04 00 00 CD E0 11 00 00 CD -R 00 00 01 00 00 04 01 00 00 09 01 00 -T 3D 0E 00 00 00 00 00 00 FD 75 02 FD 74 03 DD -R 00 00 01 00 02 04 0E 00 -T 46 0E 00 00 6E FE DD 66 FF 23 46 DD 70 E2 23 -R 00 00 01 00 -T 51 0E 00 00 66 DD 74 E3 AF DD 77 EE DD 77 EF -R 00 00 01 00 -T 5C 0E 00 00 -R 00 00 01 00 -T 5C 0E 00 00 FD 4E 00 FD 46 01 DD 6E EE DD 66 -R 00 00 01 00 -T 67 0E 00 00 EF F6 80 ED 42 E2 70 0E 00 00 AC -R 00 00 01 00 00 0A 01 00 -T 70 0E 00 00 -R 00 00 01 00 -T 70 0E 00 00 F2 61 0F 00 00 -R 00 00 01 00 00 05 01 00 -T 73 0E 00 00 -R 00 00 01 00 -T 73 0E 00 00 21 04 00 DD 4E E2 DD 46 E3 09 4E -R 00 00 01 00 -T 7E 0E 00 00 23 46 DD 5E DE DD 56 DF 3E -R 00 00 01 00 -T 87 0E 00 00 4E 0C 00 00 21 4E 0C 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 8C 0E 00 00 00 00 00 00 DD 75 FC DD 74 FD DD -R 00 00 01 00 02 04 0E 00 -T 95 0E 00 00 4E DE DD 46 DF 03 03 0A 6F 03 0A -R 00 00 01 00 -T A0 0E 00 00 67 E5 DD 6E FC DD 66 FD 29 29 4D -R 00 00 01 00 -T AB 0E 00 00 44 29 09 4D 44 E1 09 DD 75 E0 DD -R 00 00 01 00 -T B6 0E 00 00 74 E1 DD 6E EE DD 66 EF 29 DD 4E -R 00 00 01 00 -T C1 0E 00 00 E4 DD 46 E5 09 E5 DD 4E FC DD 46 -R 00 00 01 00 -T CC 0E 00 00 FD DD 5E DE DD 56 DF 3E -R 00 00 01 00 -T D4 0E 00 00 DD 0B 00 00 21 DD 0B 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T D9 0E 00 00 00 00 00 00 4D 44 E1 71 23 70 DD -R 00 00 01 00 02 04 0E 00 -T E2 0E 00 00 6E EE DD 66 EF 29 DD 4E E6 DD 46 -R 00 00 01 00 -T ED 0E 00 00 E7 09 E5 21 0A 00 DD 4E E0 DD 46 -R 00 00 01 00 -T F8 0E 00 00 E1 09 4E 06 00 E1 71 23 70 21 -R 00 00 01 00 -T 02 0F 00 00 0C 00 E5 DD 6E DE DD 66 DF 23 23 -R 00 00 01 00 -T 0D 0F 00 00 46 23 66 68 E5 DD 6E FC DD 66 FD -R 00 00 01 00 -T 18 0F 00 00 29 29 4D 44 29 09 4D 44 E1 09 4D -R 00 00 01 00 -T 23 0F 00 00 44 FD 6E 02 FD 66 03 E5 DD 6E EE -R 00 00 01 00 -T 2E 0F 00 00 DD 66 EF 29 29 5D 54 29 19 EB E1 -R 00 00 01 00 -T 39 0F 00 00 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 04 00 -T 3E 0F 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 04 00 02 09 0E 00 -T 45 0F 00 00 6E E2 DD 66 E3 23 23 46 DD 70 E2 -R 00 00 01 00 -T 50 0F 00 00 23 66 DD 74 E3 DD 34 EE C2 -R 00 00 01 00 -T 59 0F 00 00 5C 0E 00 00 DD 34 EF C3 -R 00 00 01 00 00 04 01 00 -T 5F 0F 00 00 5C 0E 00 00 -R 00 00 01 00 00 04 01 00 -T 61 0F 00 00 -R 00 00 01 00 -T 61 0F 00 00 -R 00 00 01 00 -T 61 0F 00 00 DD 5E DE DD 56 DF 3E 32 0C 00 00 -R 00 00 01 00 29 0B 01 00 -T 69 0F 00 00 21 32 0C 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 01 00 02 0A 0E 00 -T 70 0F 00 00 75 F4 DD 74 F5 CD 8E 04 00 00 DD -R 00 00 01 00 00 0A 01 00 -T 79 0F 00 00 75 E8 DD 74 E9 FD E5 D1 3E -R 00 00 01 00 -T 82 0F 00 00 32 0C 00 00 21 32 0C 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 87 0F 00 00 00 00 00 00 DD 75 F2 DD 74 F3 CD -R 00 00 01 00 02 04 0E 00 -T 90 0F 00 00 8E 04 00 00 DD 75 EA DD 74 EB DD -R 00 00 01 00 00 04 01 00 -T 99 0F 00 00 6E DE DD 66 DF E5 DD 6E FA DD 66 -R 00 00 01 00 -T A4 0F 00 00 FB C1 71 23 70 DD 6E FA DD 66 FB -R 00 00 01 00 -T AF 0F 00 00 23 23 AF 77 23 77 21 04 00 DD 4E -R 00 00 01 00 -T BA 0F 00 00 FA DD 46 FB 09 DD 4E E8 71 DD 46 -R 00 00 01 00 -T C5 0F 00 00 E9 23 70 21 52 00 00 00 E5 6F 67 -R 00 00 01 00 00 08 02 00 -T CE 0F 00 00 E5 01 FF FF 11 4B 00 00 00 3E -R 00 00 01 00 00 09 02 00 -T D6 0F 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T DB 0F 00 00 00 00 00 00 F1 F1 FD 75 08 FD 74 -R 00 00 01 00 02 04 0E 00 -T E4 0F 00 00 09 21 05 00 DD 4E FE DD 46 FF 09 -R 00 00 01 00 -T EF 0F 00 00 7E 23 B6 21 1C 00 39 4D 44 28 17 -R 00 00 01 00 -T FA 0F 00 00 -R 00 00 01 00 -T FA 0F 00 00 21 05 00 DD 5E FE DD 56 FF 19 56 -R 00 00 01 00 -T 05 10 00 00 23 66 6A 11 04 00 19 5E 23 56 18 -R 00 00 01 00 -T 10 10 00 00 02 -R 00 00 01 00 -T 11 10 00 00 -R 00 00 01 00 -T 11 10 00 00 5F 57 -R 00 00 01 00 -T 13 10 00 00 -R 00 00 01 00 -T 13 10 00 00 3E 5D 20 00 00 21 5D 20 00 00 CD -R 00 00 01 00 29 05 01 00 00 0A 01 00 -T 19 10 00 00 00 00 00 00 DD 75 F6 DD 74 F7 -R 00 00 01 00 02 04 0E 00 -T 21 10 00 00 -R 00 00 01 00 -T 21 10 00 00 AF DD 77 EE DD 77 EF -R 00 00 01 00 -T 28 10 00 00 -R 00 00 01 00 -T 28 10 00 00 21 04 00 DD 4E DE DD 46 DF 09 4E -R 00 00 01 00 -T 33 10 00 00 23 46 DD 6E EE DD 66 EF F6 80 ED -R 00 00 01 00 -T 3E 10 00 00 42 E2 43 10 00 00 AC -R 00 00 01 00 00 06 01 00 -T 43 10 00 00 -R 00 00 01 00 -T 43 10 00 00 F2 71 11 00 00 -R 00 00 01 00 00 05 01 00 -T 46 10 00 00 -R 00 00 01 00 -T 46 10 00 00 21 08 00 DD 4E DE DD 46 DF 09 4E -R 00 00 01 00 -T 51 10 00 00 23 46 C5 21 01 00 E5 DD 4E F4 DD -R 00 00 01 00 -T 5C 10 00 00 46 F5 DD 5E E8 DD 56 E9 3E -R 00 00 01 00 -T 65 10 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 6A 10 00 00 00 00 00 00 F1 F1 DD 6E E8 DD 66 -R 00 00 01 00 02 04 0E 00 -T 73 10 00 00 E9 46 05 C2 65 11 00 00 -R 00 00 01 00 00 08 01 00 -T 79 10 00 00 -R 00 00 01 00 -T 79 10 00 00 DD 6E EA DD 66 EB 36 01 23 70 DD -R 00 00 01 00 -T 84 10 00 00 36 EC 02 DD 70 ED AF DD 77 F0 DD -R 00 00 01 00 -T 8F 10 00 00 77 F1 -R 00 00 01 00 -T 91 10 00 00 -R 00 00 01 00 -T 91 10 00 00 FD 4E 00 FD 46 01 DD 6E F0 DD 66 -R 00 00 01 00 -T 9C 10 00 00 F1 F6 80 ED 42 E2 A5 10 00 00 AC -R 00 00 01 00 00 0A 01 00 -T A5 10 00 00 -R 00 00 01 00 -T A5 10 00 00 F2 13 11 00 00 -R 00 00 01 00 00 05 01 00 -T A8 10 00 00 -R 00 00 01 00 -T A8 10 00 00 DD 6E F0 DD 66 F1 29 DD 4E E6 DD -R 00 00 01 00 -T B3 10 00 00 46 E7 09 5E 23 56 D5 DD 6E F0 DD -R 00 00 01 00 -T BE 10 00 00 66 F1 29 DD 5E E4 DD 56 E5 19 56 -R 00 00 01 00 -T C9 10 00 00 23 66 6A DD 5E E8 DD 56 E9 19 4D -R 00 00 01 00 -T D4 10 00 00 44 DD 6E EC DD 66 ED DD 5E EA DD -R 00 00 01 00 -T DF 10 00 00 56 EB 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 04 00 -T E6 10 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 04 00 02 09 0E 00 -T ED 10 00 00 6E F0 DD 66 F1 29 DD 4E E6 DD 46 -R 00 00 01 00 -T F8 10 00 00 E7 09 4E 23 46 21 10 00 39 7E 81 -R 00 00 01 00 -T 03 11 00 00 77 23 7E 88 77 DD 34 F0 20 84 DD -R 00 00 01 00 -T 0E 11 00 00 34 F1 C3 91 10 00 00 -R 00 00 01 00 00 07 01 00 -T 13 11 00 00 -R 00 00 01 00 -T 13 11 00 00 DD 4E FA DD 46 FB DD 5E F6 DD 56 -R 00 00 01 00 -T 1E 11 00 00 F7 3E C0 24 00 00 21 C0 24 00 00 -R 00 00 01 00 29 06 01 00 00 0B 01 00 -T 24 11 00 00 CD 00 00 00 00 21 24 00 DD 4E F6 -R 00 00 01 00 02 05 0E 00 -T 2D 11 00 00 DD 46 F7 09 3E 01 AE 23 B6 23 B6 -R 00 00 01 00 -T 38 11 00 00 23 B6 20 29 -R 00 00 01 00 -T 3C 11 00 00 -R 00 00 01 00 -T 3C 11 00 00 FD 6E 08 FD 66 09 E5 21 01 00 E5 -R 00 00 01 00 -T 47 11 00 00 DD 4E F2 DD 46 F3 DD 5E EA DD 56 -R 00 00 01 00 -T 52 11 00 00 EB 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 07 00 02 0B 07 00 -T 58 11 00 00 CD 00 00 00 00 F1 F1 FD 34 04 20 -R 00 00 01 00 02 05 0E 00 -T 61 11 00 00 03 FD 34 05 -R 00 00 01 00 -T 65 11 00 00 -R 00 00 01 00 -T 65 11 00 00 -R 00 00 01 00 -T 65 11 00 00 -R 00 00 01 00 -T 65 11 00 00 DD 34 EE C2 28 10 00 00 DD 34 EF -R 00 00 01 00 00 08 01 00 -T 6E 11 00 00 C3 28 10 00 00 -R 00 00 01 00 00 05 01 00 -T 71 11 00 00 -R 00 00 01 00 -T 71 11 00 00 DD 5E E8 DD 56 E9 CD 3B 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 7A 11 00 00 DD 5E E4 DD 56 E5 CD 3B 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 83 11 00 00 DD 5E E6 DD 56 E7 CD 3B 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 8C 11 00 00 DD 5E FA DD 56 FB CD 3B 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 95 11 00 00 DD 5E F6 DD 56 F7 3E 97 24 00 00 -R 00 00 01 00 29 0B 01 00 -T 9D 11 00 00 21 97 24 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 01 00 02 0A 0E 00 -T A4 11 00 00 5E DE DD 56 DF 3E 70 0B 00 00 21 -R 00 00 01 00 29 0A 01 00 -T AC 11 00 00 70 0B 00 00 CD 00 00 00 00 FD 5E -R 00 00 01 00 00 04 01 00 02 09 0E 00 -T B3 11 00 00 08 FD 56 09 CD 4B 0B 00 00 21 -R 00 00 01 00 00 09 01 00 -T BB 11 00 00 43 00 00 00 E5 21 00 00 E5 01 -R 00 00 01 00 00 04 02 00 -T C3 11 00 00 FF FF 11 4B 00 00 00 3E -R 00 00 01 00 00 07 02 00 -T C9 11 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T CE 11 00 00 00 00 00 00 F1 F1 FD 75 08 FD 74 -R 00 00 01 00 02 04 0E 00 -T D7 11 00 00 09 FD E5 E1 DD F9 C3 6B 00 00 00 -R 00 00 01 00 00 0B 01 00 -T E0 11 00 00 -R 00 00 01 00 -T E0 11 00 00 DD 75 E4 DD 74 E5 FD 6E 00 FD 66 -R 00 00 01 00 -T EB 11 00 00 01 29 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 18 00 -T F1 11 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 18 00 02 09 0E 00 -T F8 11 00 00 E6 DD 74 E7 FD 6E 00 FD 66 01 29 -R 00 00 01 00 -T 03 12 00 00 29 4D 44 29 09 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 18 00 -T 0B 12 00 00 21 00 00 00 00 C9 -R 00 00 01 00 02 05 18 00 -T 0F 12 00 00 -R 00 00 01 00 -T 0F 12 00 00 DD 6E FE DD 66 FF 23 5E 23 56 3E -R 00 00 01 00 -T 1A 12 00 00 73 00 00 00 21 73 00 00 00 C3 -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 1F 12 00 00 00 00 00 00 -R 00 00 01 00 02 04 0E 00 -T 21 12 00 00 -R 00 00 01 00 -T 21 12 00 00 3E 5D 20 00 00 21 5D 20 00 00 CD -R 00 00 01 00 29 05 01 00 00 0A 01 00 -T 27 12 00 00 00 00 00 00 DD 75 F8 DD 74 F9 -R 00 00 01 00 02 04 0E 00 -T 2F 12 00 00 -R 00 00 01 00 -T 2F 12 00 00 3E 44 1D 00 00 21 44 1D 00 00 C3 -R 00 00 01 00 29 05 01 00 00 0A 01 00 -T 35 12 00 00 00 00 00 00 -R 00 00 01 00 02 04 0E 00 -T 37 12 00 00 -R 00 00 01 00 -T 37 12 00 00 DD 5E F8 DD 56 F9 3E C0 24 00 00 -R 00 00 01 00 29 0B 01 00 -T 3F 12 00 00 21 C0 24 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 01 00 02 0A 0E 00 -T 46 12 00 00 24 00 DD 4E F8 DD 46 F9 09 3E 01 -R 00 00 01 00 -T 51 12 00 00 AE 23 B6 23 B6 23 B6 C9 -R 00 00 01 00 -T 59 12 00 00 -R 00 00 01 00 -T 59 12 00 00 C5 FD E5 DD E5 DD 21 00 00 DD 39 -R 00 00 01 00 -T 64 12 00 00 D5 21 E8 FF 39 F9 11 14 00 CD -R 00 00 01 00 -T 6E 12 00 00 8F 04 00 00 DD 75 E6 DD 74 E7 DD -R 00 00 01 00 00 04 01 00 -T 77 12 00 00 4E FE DD 46 FF 03 03 03 0A 6F 03 -R 00 00 01 00 -T 82 12 00 00 0A 67 01 04 00 09 4E 23 46 21 -R 00 00 01 00 -T 8C 12 00 00 0B 00 DD 5E E6 DD 56 E7 CD -R 00 00 01 00 -T 95 12 00 00 AB 04 00 00 DD 5E E6 DD 56 E7 3E -R 00 00 01 00 00 04 01 00 -T 9E 12 00 00 A0 08 00 00 21 A0 08 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T A3 12 00 00 00 00 00 00 DD 5E E6 DD 56 E7 3E -R 00 00 01 00 02 04 0E 00 -T AC 12 00 00 32 0C 00 00 21 32 0C 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T B1 12 00 00 00 00 00 00 DD 75 FA DD 74 FB CD -R 00 00 01 00 02 04 0E 00 -T BA 12 00 00 8E 04 00 00 DD 75 E8 DD 74 E9 AF -R 00 00 01 00 00 04 01 00 -T C3 12 00 00 DD 77 F4 DD 77 F5 -R 00 00 01 00 -T C9 12 00 00 -R 00 00 01 00 -T C9 12 00 00 DD 4E FA DD 46 FB DD 6E F4 DD 66 -R 00 00 01 00 -T D4 12 00 00 F5 F6 80 ED 42 E2 DD 12 00 00 AC -R 00 00 01 00 00 0A 01 00 -T DD 12 00 00 -R 00 00 01 00 -T DD 12 00 00 F2 F9 12 00 00 -R 00 00 01 00 00 05 01 00 -T E0 12 00 00 -R 00 00 01 00 -T E0 12 00 00 DD 6E F4 DD 66 F5 DD 4E E8 DD 46 -R 00 00 01 00 -T EB 12 00 00 E9 09 36 00 DD 34 F4 20 D5 DD 34 -R 00 00 01 00 -T F6 12 00 00 F5 18 D0 -R 00 00 01 00 -T F9 12 00 00 -R 00 00 01 00 -T F9 12 00 00 59 50 CD 8F 04 00 00 DD 75 EA DD -R 00 00 01 00 00 07 01 00 -T 02 13 00 00 74 EB DD 6E E8 DD 66 E9 36 01 23 -R 00 00 01 00 -T 0D 13 00 00 36 00 CD 0F 12 00 00 DD 75 F2 DD -R 00 00 01 00 00 07 01 00 -T 16 13 00 00 74 F3 DD 6E FE DD 66 FF 23 46 DD -R 00 00 01 00 -T 21 13 00 00 70 EC 23 66 DD 74 ED 21 07 00 DD -R 00 00 01 00 -T 2C 13 00 00 4E FE DD 46 FF 09 46 23 66 68 E5 -R 00 00 01 00 -T 37 13 00 00 FD E1 AF DD 77 F4 DD 77 F5 -R 00 00 01 00 -T 40 13 00 00 -R 00 00 01 00 -T 40 13 00 00 DD 4E F2 DD 46 F3 DD 6E F4 DD 66 -R 00 00 01 00 -T 4B 13 00 00 F5 F6 80 ED 42 E2 54 13 00 00 AC -R 00 00 01 00 00 0A 01 00 -T 54 13 00 00 -R 00 00 01 00 -T 54 13 00 00 F2 E4 14 00 00 -R 00 00 01 00 00 05 01 00 -T 57 13 00 00 -R 00 00 01 00 -T 57 13 00 00 21 04 00 DD 4E EC DD 46 ED 09 4E -R 00 00 01 00 -T 62 13 00 00 23 46 DD 5E E6 DD 56 E7 3E -R 00 00 01 00 -T 6B 13 00 00 4E 0C 00 00 21 4E 0C 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 70 13 00 00 00 00 00 00 DD 75 FC DD 74 FD DD -R 00 00 01 00 02 04 0E 00 -T 79 13 00 00 4E E6 DD 46 E7 03 03 0A 6F 03 0A -R 00 00 01 00 -T 84 13 00 00 67 E5 DD 6E FC DD 66 FD 29 29 4D -R 00 00 01 00 -T 8F 13 00 00 44 29 09 4D 44 E1 09 DD 75 F0 DD -R 00 00 01 00 -T 9A 13 00 00 74 F1 DD 4E FC DD 46 FD DD 5E E6 -R 00 00 01 00 -T A5 13 00 00 DD 56 E7 3E DD 0B 00 00 21 -R 00 00 01 00 29 08 01 00 -T AB 13 00 00 DD 0B 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 00 04 01 00 02 09 0E 00 -T B2 13 00 00 F6 DD 74 F7 21 0A 00 DD 4E F0 DD -R 00 00 01 00 -T BD 13 00 00 46 F1 09 4E DD 71 F8 DD 36 F9 00 -R 00 00 01 00 -T C8 13 00 00 FD 6E 04 FD 66 05 7E FE 27 C2 -R 00 00 01 00 -T D2 13 00 00 58 14 00 00 -R 00 00 01 00 00 04 01 00 -T D4 13 00 00 -R 00 00 01 00 -T D4 13 00 00 FD 5E 04 FD 56 05 CD 98 04 00 00 -R 00 00 01 00 00 0B 01 00 -T DD 13 00 00 FD 4E 04 FD 46 05 09 2B 36 00 21 -R 00 00 01 00 -T E8 13 00 00 09 00 DD 4E F0 DD 46 F1 09 7E FE -R 00 00 01 00 -T F3 13 00 00 53 20 28 -R 00 00 01 00 -T F6 13 00 00 -R 00 00 01 00 -T F6 13 00 00 DD 6E F8 DD 66 F9 E5 FD 4E 04 FD -R 00 00 01 00 -T 01 14 00 00 46 05 03 DD 6E F6 DD 66 F7 DD 5E -R 00 00 01 00 -T 0C 14 00 00 E8 DD 56 E9 19 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 -T 14 14 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 04 00 02 0A 0E 00 -T 1B 14 00 00 C3 BE 14 00 00 -R 00 00 01 00 00 05 01 00 -T 1E 14 00 00 -R 00 00 01 00 -T 1E 14 00 00 FE 49 C2 BE 14 00 00 21 0A 00 09 -R 00 00 01 00 00 07 01 00 -T 27 14 00 00 46 05 05 20 17 -R 00 00 01 00 -T 2C 14 00 00 -R 00 00 01 00 -T 2C 14 00 00 DD 6E F6 DD 66 F7 DD 4E E8 DD 46 -R 00 00 01 00 -T 37 14 00 00 E9 09 E5 FD 5E 04 FD 56 05 13 18 -R 00 00 01 00 -T 42 14 00 00 3E -R 00 00 01 00 -T 43 14 00 00 -R 00 00 01 00 -T 43 14 00 00 21 0A 00 DD 46 F1 09 7E FE 04 20 -R 00 00 01 00 -T 4E 14 00 00 6F -R 00 00 01 00 -T 4F 14 00 00 -R 00 00 01 00 -T 4F 14 00 00 FD 5E 04 FD 56 05 13 18 48 -R 00 00 01 00 -T 58 14 00 00 -R 00 00 01 00 -T 58 14 00 00 -R 00 00 01 00 -T 58 14 00 00 -R 00 00 01 00 -T 58 14 00 00 -R 00 00 01 00 -T 58 14 00 00 21 09 00 DD 4E F0 09 7E FE 49 20 -R 00 00 01 00 -T 63 14 00 00 5A -R 00 00 01 00 -T 64 14 00 00 -R 00 00 01 00 -T 64 14 00 00 21 0A 00 09 46 05 05 20 21 -R 00 00 01 00 -T 6D 14 00 00 -R 00 00 01 00 -T 6D 14 00 00 DD 6E F6 DD 66 F7 DD 4E E8 DD 46 -R 00 00 01 00 -T 78 14 00 00 E9 09 E5 FD 5E 04 FD 56 05 -R 00 00 01 00 -T 81 14 00 00 -R 00 00 01 00 -T 81 14 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 13 00 02 0A 13 00 -T 87 14 00 00 00 00 00 00 4D 44 E1 18 2D -R 00 00 01 00 02 04 0E 00 -T 8E 14 00 00 -R 00 00 01 00 -T 8E 14 00 00 21 0A 00 DD 46 F1 09 7E FE 04 20 -R 00 00 01 00 -T 99 14 00 00 24 -R 00 00 01 00 -T 9A 14 00 00 -R 00 00 01 00 -T 9A 14 00 00 FD 5E 04 FD 56 05 -R 00 00 01 00 -T A0 14 00 00 -R 00 00 01 00 -T A0 14 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 16 00 02 0A 16 00 -T A6 14 00 00 00 00 00 00 E5 DD 6E F6 DD 66 F7 -R 00 00 01 00 02 04 0E 00 -T AF 14 00 00 DD 5E E8 DD 56 E9 19 D1 73 23 72 -R 00 00 01 00 -T BA 14 00 00 23 -R 00 00 01 00 -T BB 14 00 00 -R 00 00 01 00 -T BB 14 00 00 71 23 70 -R 00 00 01 00 -T BE 14 00 00 -R 00 00 01 00 -T BE 14 00 00 -R 00 00 01 00 -T BE 14 00 00 -R 00 00 01 00 -T BE 14 00 00 -R 00 00 01 00 -T BE 14 00 00 DD 6E EC DD 66 ED 23 23 46 DD 70 -R 00 00 01 00 -T C9 14 00 00 EC 23 66 DD 74 ED FD 6E 02 FD 66 -R 00 00 01 00 -T D4 14 00 00 03 E5 FD E1 DD 34 F4 C2 -R 00 00 01 00 -T DC 14 00 00 40 13 00 00 DD 34 F5 C3 -R 00 00 01 00 00 04 01 00 -T E2 14 00 00 40 13 00 00 -R 00 00 01 00 00 04 01 00 -T E4 14 00 00 -R 00 00 01 00 -T E4 14 00 00 21 06 00 DD 4E E6 DD 46 E7 09 7E -R 00 00 01 00 -T EF 14 00 00 23 B6 20 50 -R 00 00 01 00 -T F3 14 00 00 -R 00 00 01 00 -T F3 14 00 00 6F 67 E5 E5 2E 04 E5 2E 08 09 5E -R 00 00 01 00 -T FE 14 00 00 23 56 CD 5A 16 00 00 F1 F1 F1 21 -R 00 00 01 00 00 07 01 00 -T 07 15 00 00 04 00 09 56 23 66 6A 23 E5 DD 6E -R 00 00 01 00 -T 12 15 00 00 EA DD 66 EB D1 73 23 72 21 08 00 -R 00 00 01 00 -T 1D 15 00 00 09 5E 23 56 D5 21 01 00 E5 01 -R 00 00 01 00 -T 27 15 00 00 02 00 DD 5E EA DD 56 EB 3E -R 00 00 01 00 -T 30 15 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 35 15 00 00 00 00 00 00 F1 F1 21 02 00 E5 2B -R 00 00 01 00 02 04 0E 00 -T 3E 15 00 00 2B E5 C3 F6 15 00 00 -R 00 00 01 00 00 07 01 00 -T 43 15 00 00 -R 00 00 01 00 -T 43 15 00 00 21 00 00 E5 E5 2E 06 E5 23 23 09 -R 00 00 01 00 -T 4E 15 00 00 5E 23 56 CD 5A 16 00 00 F1 F1 F1 -R 00 00 01 00 00 08 01 00 -T 57 15 00 00 21 06 00 09 56 23 66 6A 2B E5 DD -R 00 00 01 00 -T 62 15 00 00 6E EA DD 66 EB D1 73 23 72 21 -R 00 00 01 00 -T 6C 15 00 00 08 00 09 5E 23 56 D5 21 01 00 E5 -R 00 00 01 00 -T 77 15 00 00 01 02 00 DD 5E EA DD 56 EB 3E -R 00 00 01 00 -T 81 15 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 86 15 00 00 00 00 00 00 F1 F1 21 00 00 E5 E5 -R 00 00 01 00 02 04 0E 00 -T 8F 15 00 00 2E 0A E5 2B 2B DD 4E E6 DD 46 E7 -R 00 00 01 00 -T 9A 15 00 00 09 5E 23 56 CD 5A 16 00 00 F1 F1 -R 00 00 01 00 00 09 01 00 -T A3 15 00 00 F1 DD 6E EA DD 66 EB 36 FF 23 36 -R 00 00 01 00 -T AE 15 00 00 FF -R 00 00 01 00 -T AF 15 00 00 -R 00 00 01 00 -T AF 15 00 00 DD 6E EA DD 66 EB AF B6 28 2A -R 00 00 01 00 -T B9 15 00 00 -R 00 00 01 00 -T B9 15 00 00 21 08 00 DD 4E E6 DD 46 E7 09 4E -R 00 00 01 00 -T C4 15 00 00 23 46 C5 21 01 00 E5 DD 4E FA DD -R 00 00 01 00 -T CF 15 00 00 46 FB DD 5E EA DD 56 EB 3E -R 00 00 01 00 -T D8 15 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T DD 15 00 00 00 00 00 00 F1 F1 18 CC -R 00 00 01 00 02 04 0E 00 -T E3 15 00 00 -R 00 00 01 00 -T E3 15 00 00 21 01 00 E5 DD 4E FA DD 46 FB 2B -R 00 00 01 00 -T EE 15 00 00 ED 42 7C 07 9F 4F 41 C5 -R 00 00 01 00 -T F6 15 00 00 -R 00 00 01 00 -T F6 15 00 00 E5 21 08 00 DD 4E E6 DD 46 E7 09 -R 00 00 01 00 -T 01 16 00 00 5E 23 56 CD 5A 16 00 00 F1 F1 F1 -R 00 00 01 00 00 08 01 00 -T 0A 16 00 00 -R 00 00 01 00 -T 0A 16 00 00 21 08 00 09 5E 23 56 D5 21 01 00 -R 00 00 01 00 -T 15 16 00 00 E5 DD 4E FA DD 46 FB DD 5E E8 DD -R 00 00 01 00 -T 20 16 00 00 56 E9 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 07 00 -T 25 16 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 07 00 02 09 0E 00 -T 2C 16 00 00 DD 5E E8 DD 56 E9 CD 3B 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 35 16 00 00 DD 5E EA DD 56 EB CD 3B 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 3E 16 00 00 DD 5E E6 DD 56 E7 3E 70 0B 00 00 -R 00 00 01 00 29 0B 01 00 -T 46 16 00 00 21 70 0B 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 01 00 02 0A 0E 00 -T 4D 16 00 00 00 00 DD F9 C3 6B 00 00 00 -R 00 00 01 00 00 09 01 00 -T 54 16 00 00 -R 00 00 01 00 -T 54 16 00 00 FD 5E 08 FD 56 09 -R 00 00 01 00 -T 5A 16 00 00 -R 00 00 01 00 -T 5A 16 00 00 3E 00 00 00 00 21 00 00 00 00 C3 -R 00 00 01 00 2B 05 05 00 02 0A 05 00 -T 60 16 00 00 00 00 00 00 -R 00 00 01 00 02 04 0E 00 -T 62 16 00 00 -R 00 00 01 00 -T 62 16 00 00 C5 FD E5 DD E5 DD 21 00 00 DD 39 -R 00 00 01 00 -T 6D 16 00 00 D5 21 F4 FF 39 F9 CD 14 18 00 00 -R 00 00 01 00 00 0B 01 00 -T 76 16 00 00 DD 75 FA DD 74 FB CD 8E 04 00 00 -R 00 00 01 00 00 0B 01 00 -T 7F 16 00 00 DD 75 FC DD 74 FD AF DD 77 F4 DD -R 00 00 01 00 -T 8A 16 00 00 77 F5 21 05 00 DD 4E FE DD 46 FF -R 00 00 01 00 -T 95 16 00 00 09 7E 23 B6 21 02 00 39 4D 44 28 -R 00 00 01 00 -T A0 16 00 00 17 -R 00 00 01 00 -T A1 16 00 00 -R 00 00 01 00 -T A1 16 00 00 21 05 00 DD 5E FE DD 56 FF 19 56 -R 00 00 01 00 -T AC 16 00 00 23 66 6A 11 04 00 19 5E 23 56 18 -R 00 00 01 00 -T B7 16 00 00 02 -R 00 00 01 00 -T B8 16 00 00 -R 00 00 01 00 -T B8 16 00 00 5F 57 -R 00 00 01 00 -T BA 16 00 00 -R 00 00 01 00 -T BA 16 00 00 -R 00 00 01 00 -T BA 16 00 00 CD 21 12 00 00 DD 75 F2 DD 74 F3 -R 00 00 01 00 00 05 01 00 -T C3 16 00 00 FD E5 C1 71 23 70 21 04 00 DD 4E -R 00 00 01 00 -T CE 16 00 00 F2 DD 46 F3 09 DD 5E FC 73 DD 56 -R 00 00 01 00 -T D9 16 00 00 FD 23 72 69 60 23 23 AF 77 23 77 -R 00 00 01 00 -T E4 16 00 00 DD 77 F6 DD 77 F7 DD 77 F4 DD 77 -R 00 00 01 00 -T EF 16 00 00 F5 -R 00 00 01 00 -T F0 16 00 00 -R 00 00 01 00 -T F0 16 00 00 FD 4E 04 FD 46 05 DD 6E F4 DD 66 -R 00 00 01 00 -T FB 16 00 00 F5 F6 80 ED 42 E2 04 17 00 00 AC -R 00 00 01 00 00 0A 01 00 -T 04 17 00 00 -R 00 00 01 00 -T 04 17 00 00 F2 AC 17 00 00 -R 00 00 01 00 00 05 01 00 -T 07 17 00 00 -R 00 00 01 00 -T 07 17 00 00 FD 6E 08 FD 66 09 E5 21 01 00 E5 -R 00 00 01 00 -T 12 17 00 00 DD 4E FA DD 46 FB 2E 04 DD 5E F2 -R 00 00 01 00 -T 1D 17 00 00 DD 56 F3 19 5E 23 56 3E -R 00 00 01 00 -T 25 17 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 2A 17 00 00 00 00 00 00 F1 F1 DD 6E FC DD 66 -R 00 00 01 00 02 04 0E 00 -T 33 17 00 00 FD 46 05 20 68 -R 00 00 01 00 -T 38 17 00 00 -R 00 00 01 00 -T 38 17 00 00 DD 4E F2 DD 46 F3 CD 37 12 00 00 -R 00 00 01 00 00 0B 01 00 -T 41 17 00 00 20 5D -R 00 00 01 00 -T 43 17 00 00 -R 00 00 01 00 -T 43 17 00 00 DD 6E FC DD 66 FD 77 21 01 00 E5 -R 00 00 01 00 -T 4E 17 00 00 DD 4E FA DD 46 FB 2B ED 42 7C 07 -R 00 00 01 00 -T 59 17 00 00 9F 4F 41 C5 E5 CD 54 16 00 00 F1 -R 00 00 01 00 00 0A 01 00 -T 62 17 00 00 F1 F1 FD 6E 08 FD 66 09 E5 21 -R 00 00 01 00 -T 6C 17 00 00 01 00 E5 DD 4E FA DD 46 FB 2E 04 -R 00 00 01 00 -T 77 17 00 00 DD 5E F2 DD 56 F3 19 5E 23 56 3E -R 00 00 01 00 -T 82 17 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 87 17 00 00 00 00 00 00 F1 F1 21 01 00 E5 2B -R 00 00 01 00 02 04 0E 00 -T 90 17 00 00 E5 E5 CD 54 16 00 00 F1 F1 F1 DD -R 00 00 01 00 00 07 01 00 -T 99 17 00 00 34 F6 20 03 DD 34 F7 -R 00 00 01 00 -T A0 17 00 00 -R 00 00 01 00 -T A0 17 00 00 -R 00 00 01 00 -T A0 17 00 00 -R 00 00 01 00 -T A0 17 00 00 DD 34 F4 C2 F0 16 00 00 DD 34 F5 -R 00 00 01 00 00 08 01 00 -T A9 17 00 00 C3 F0 16 00 00 -R 00 00 01 00 00 05 01 00 -T AC 17 00 00 -R 00 00 01 00 -T AC 17 00 00 DD 5E F2 DD 56 F3 3E 25 1D 00 00 -R 00 00 01 00 29 0B 01 00 -T B4 17 00 00 21 25 1D 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 01 00 02 0A 0E 00 -T BB 17 00 00 00 00 E5 E5 2E 06 E5 CD -R 00 00 01 00 -T C3 17 00 00 54 16 00 00 F1 F1 F1 21 04 00 39 -R 00 00 01 00 00 04 01 00 -T CC 17 00 00 7E FD 86 06 77 23 7E FD 8E 07 77 -R 00 00 01 00 -T D7 17 00 00 FD 6E 08 FD 66 09 E5 21 01 00 E5 -R 00 00 01 00 -T E2 17 00 00 01 02 00 2E 08 39 EB 3E -R 00 00 01 00 -T EA 17 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T EF 17 00 00 00 00 00 00 F1 F1 DD 5E F8 DD 56 -R 00 00 01 00 02 04 0E 00 -T F8 17 00 00 F9 3E 97 24 00 00 21 97 24 00 00 -R 00 00 01 00 29 06 01 00 00 0B 01 00 -T FE 17 00 00 CD 00 00 00 00 FD E5 D1 3E -R 00 00 01 00 02 05 0E 00 -T 05 18 00 00 70 0B 00 00 21 70 0B 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 0A 18 00 00 00 00 00 00 21 00 00 DD F9 C3 -R 00 00 01 00 02 04 0E 00 -T 12 18 00 00 6B 00 00 00 -R 00 00 01 00 00 04 01 00 -T 14 18 00 00 -R 00 00 01 00 -T 14 18 00 00 11 14 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 18 00 -T 1A 18 00 00 00 00 00 00 CD 00 00 00 00 E5 FD -R 00 00 01 00 02 04 18 00 02 09 0E 00 -T 21 18 00 00 E1 DD 4E FE DD 46 FF 03 03 03 0A -R 00 00 01 00 -T 2C 18 00 00 6F 03 0A 67 01 04 00 09 4E 23 46 -R 00 00 01 00 -T 37 18 00 00 21 0B 00 FD E5 D1 19 EB 3E -R 00 00 01 00 -T 40 18 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 -T 45 18 00 00 00 00 00 00 FD E5 D1 3E -R 00 00 01 00 02 04 0E 00 -T 4B 18 00 00 A0 08 00 00 21 A0 08 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 50 18 00 00 00 00 00 00 FD E5 D1 3E -R 00 00 01 00 02 04 0E 00 -T 56 18 00 00 32 0C 00 00 21 32 0C 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 5B 18 00 00 00 00 00 00 C9 -R 00 00 01 00 02 04 0E 00 -T 5E 18 00 00 -R 00 00 01 00 -T 5E 18 00 00 C5 FD E5 DD E5 DD 21 00 00 DD 39 -R 00 00 01 00 -T 69 18 00 00 D5 21 E8 FF 39 F9 CD 14 18 00 00 -R 00 00 01 00 00 0B 01 00 -T 72 18 00 00 DD 75 F2 DD 74 F3 CD 8E 04 00 00 -R 00 00 01 00 00 0B 01 00 -T 7B 18 00 00 DD 75 FA DD 74 FB AF DD 77 EE DD -R 00 00 01 00 -T 86 18 00 00 77 EF 21 05 00 DD 4E FE DD 46 FF -R 00 00 01 00 -T 91 18 00 00 09 7E 23 B6 21 08 00 39 4D 44 28 -R 00 00 01 00 -T 9C 18 00 00 17 -R 00 00 01 00 -T 9D 18 00 00 -R 00 00 01 00 -T 9D 18 00 00 21 05 00 DD 5E FE DD 56 FF 19 56 -R 00 00 01 00 -T A8 18 00 00 23 66 6A 11 04 00 19 5E 23 56 18 -R 00 00 01 00 -T B3 18 00 00 02 -R 00 00 01 00 -T B4 18 00 00 -R 00 00 01 00 -T B4 18 00 00 5F 57 -R 00 00 01 00 -T B6 18 00 00 -R 00 00 01 00 -T B6 18 00 00 -R 00 00 01 00 -T B6 18 00 00 CD 21 12 00 00 DD 75 E8 DD 74 E9 -R 00 00 01 00 00 05 01 00 -T BF 18 00 00 FD E5 C1 71 23 70 21 04 00 DD 4E -R 00 00 01 00 -T CA 18 00 00 E8 DD 46 E9 09 DD 5E FA 73 DD 56 -R 00 00 01 00 -T D5 18 00 00 FB 23 72 69 60 23 23 AF 77 23 77 -R 00 00 01 00 -T E0 18 00 00 CD 0F 12 00 00 DD 75 F0 DD 74 F1 -R 00 00 01 00 00 05 01 00 -T E9 18 00 00 CD 8D 04 00 00 DD 75 EC DD 74 ED -R 00 00 01 00 00 05 01 00 -T F2 18 00 00 DD 6E FE DD 66 FF 23 46 DD 70 EA -R 00 00 01 00 -T FD 18 00 00 23 66 DD 74 EB AF DD 77 E6 DD 77 -R 00 00 01 00 -T 08 19 00 00 E7 -R 00 00 01 00 -T 09 19 00 00 -R 00 00 01 00 -T 09 19 00 00 DD 4E F0 DD 46 F1 DD 6E E6 DD 66 -R 00 00 01 00 -T 14 19 00 00 E7 F6 80 ED 42 E2 1D 19 00 00 AC -R 00 00 01 00 00 0A 01 00 -T 1D 19 00 00 -R 00 00 01 00 -T 1D 19 00 00 F2 8E 19 00 00 -R 00 00 01 00 00 05 01 00 -T 20 19 00 00 -R 00 00 01 00 -T 20 19 00 00 0E 00 C5 0E 3D 21 04 00 DD 5E EA -R 00 00 01 00 -T 2B 19 00 00 DD 56 EB 19 5E 23 56 3E -R 00 00 01 00 -T 33 19 00 00 9F 02 00 00 21 9F 02 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 38 19 00 00 00 00 00 00 F1 DD 75 FC DD 74 FD -R 00 00 01 00 02 04 0E 00 -T 41 19 00 00 AF DD 77 F4 DD 77 F5 DD 6E E6 DD -R 00 00 01 00 -T 4C 19 00 00 66 E7 29 DD 4E EC DD 46 ED 09 E5 -R 00 00 01 00 -T 57 19 00 00 21 10 00 39 4D 44 DD 5E FC DD 56 -R 00 00 01 00 -T 62 19 00 00 FD 13 3E 5D 20 00 00 21 -R 00 00 01 00 29 07 01 00 -T 67 19 00 00 5D 20 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 00 04 01 00 02 09 0E 00 -T 6E 19 00 00 E1 71 23 70 DD 6E EA DD 66 EB 23 -R 00 00 01 00 -T 79 19 00 00 23 46 DD 70 EA 23 66 DD 74 EB DD -R 00 00 01 00 -T 84 19 00 00 34 E6 20 81 DD 34 E7 C3 -R 00 00 01 00 -T 8C 19 00 00 09 19 00 00 -R 00 00 01 00 00 04 01 00 -T 8E 19 00 00 -R 00 00 01 00 -T 8E 19 00 00 AF DD 77 EE DD 77 EF -R 00 00 01 00 -T 95 19 00 00 -R 00 00 01 00 -T 95 19 00 00 FD 4E 04 FD 46 05 DD 6E EE DD 66 -R 00 00 01 00 -T A0 19 00 00 EF F6 80 ED 42 E2 A9 19 00 00 AC -R 00 00 01 00 00 0A 01 00 -T A9 19 00 00 -R 00 00 01 00 -T A9 19 00 00 F2 B3 1B 00 00 -R 00 00 01 00 00 05 01 00 -T AC 19 00 00 -R 00 00 01 00 -T AC 19 00 00 FD 6E 08 FD 66 09 E5 21 01 00 E5 -R 00 00 01 00 -T B7 19 00 00 DD 4E F2 DD 46 F3 2E 04 DD 5E E8 -R 00 00 01 00 -T C2 19 00 00 DD 56 E9 19 5E 23 56 3E -R 00 00 01 00 -T CA 19 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T CF 19 00 00 00 00 00 00 F1 F1 DD 6E FA DD 66 -R 00 00 01 00 02 04 0E 00 -T D8 19 00 00 FB 46 05 C2 A7 1B 00 00 -R 00 00 01 00 00 08 01 00 -T DE 19 00 00 -R 00 00 01 00 -T DE 19 00 00 DD 4E E8 DD 46 E9 CD 37 12 00 00 -R 00 00 01 00 00 0B 01 00 -T E7 19 00 00 C2 A7 1B 00 00 -R 00 00 01 00 00 05 01 00 -T EA 19 00 00 -R 00 00 01 00 -T EA 19 00 00 21 01 00 E5 DD 4E F2 DD 46 F3 2B -R 00 00 01 00 -T F5 19 00 00 ED 42 7C 07 9F 4F 41 C5 E5 CD -R 00 00 01 00 -T FF 19 00 00 54 16 00 00 F1 F1 F1 AF DD 77 E6 -R 00 00 01 00 00 04 01 00 -T 08 1A 00 00 DD 77 E7 -R 00 00 01 00 -T 0B 1A 00 00 -R 00 00 01 00 -T 0B 1A 00 00 DD 4E F0 DD 46 F1 DD 6E E6 DD 66 -R 00 00 01 00 -T 16 1A 00 00 E7 F6 80 ED 42 E2 1F 1A 00 00 AC -R 00 00 01 00 00 0A 01 00 -T 1F 1A 00 00 -R 00 00 01 00 -T 1F 1A 00 00 F2 4B 1A 00 00 -R 00 00 01 00 00 05 01 00 -T 22 1A 00 00 -R 00 00 01 00 -T 22 1A 00 00 DD 4E E8 DD 46 E9 DD 6E E6 DD 66 -R 00 00 01 00 -T 2D 1A 00 00 E7 29 DD 5E EC DD 56 ED 19 5E 23 -R 00 00 01 00 -T 38 1A 00 00 56 3E C0 24 00 00 21 C0 24 00 00 -R 00 00 01 00 29 06 01 00 00 0B 01 00 -T 3E 1A 00 00 CD 00 00 00 00 DD 34 E6 20 C5 DD -R 00 00 01 00 02 05 0E 00 -T 47 1A 00 00 34 E7 18 C0 -R 00 00 01 00 -T 4B 1A 00 00 -R 00 00 01 00 -T 4B 1A 00 00 DD 6E FE DD 66 FF 23 46 DD 70 EA -R 00 00 01 00 -T 56 1A 00 00 23 66 DD 74 EB AF DD 77 E6 DD 77 -R 00 00 01 00 -T 61 1A 00 00 E7 -R 00 00 01 00 -T 62 1A 00 00 -R 00 00 01 00 -T 62 1A 00 00 DD 4E F0 DD 46 F1 DD 6E E6 DD 66 -R 00 00 01 00 -T 6D 1A 00 00 E7 F6 80 ED 42 E2 76 1A 00 00 AC -R 00 00 01 00 00 0A 01 00 -T 76 1A 00 00 -R 00 00 01 00 -T 76 1A 00 00 F2 73 1B 00 00 -R 00 00 01 00 00 05 01 00 -T 79 1A 00 00 -R 00 00 01 00 -T 79 1A 00 00 21 04 00 DD 4E EA DD 46 EB 09 4E -R 00 00 01 00 -T 84 1A 00 00 23 46 FD E5 D1 3E 4E 0C 00 00 21 -R 00 00 01 00 29 0A 01 00 -T 8C 1A 00 00 4E 0C 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 00 04 01 00 02 09 0E 00 -T 93 1A 00 00 F6 DD 74 F7 4D 44 FD E5 D1 3E -R 00 00 01 00 -T 9D 1A 00 00 DD 0B 00 00 21 DD 0B 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T A2 1A 00 00 00 00 00 00 DD 75 F4 DD 74 F5 FD -R 00 00 01 00 02 04 0E 00 -T AB 1A 00 00 6E 02 FD 66 03 E5 DD 6E F6 DD 66 -R 00 00 01 00 -T B6 1A 00 00 F7 29 29 4D 44 29 09 4D 44 E1 09 -R 00 00 01 00 -T C1 1A 00 00 01 09 00 09 7E FE 53 20 34 -R 00 00 01 00 -T CA 1A 00 00 -R 00 00 01 00 -T CA 1A 00 00 FD 6E 02 FD 66 03 E5 DD 6E F6 DD -R 00 00 01 00 -T D5 1A 00 00 66 F7 29 29 4D 44 29 09 4D 44 E1 -R 00 00 01 00 -T E0 1A 00 00 09 01 0A 00 09 4E C5 DD 6E E6 DD -R 00 00 01 00 -T EB 1A 00 00 66 E7 29 DD 4E EC DD 46 ED 09 46 -R 00 00 01 00 -T F6 1A 00 00 23 66 68 01 28 00 18 36 -R 00 00 01 00 -T FE 1A 00 00 -R 00 00 01 00 -T FE 1A 00 00 FE 49 20 54 FD 6E 02 FD 66 03 E5 -R 00 00 01 00 -T 09 1B 00 00 DD 6E F6 DD 66 F7 29 29 4D 44 29 -R 00 00 01 00 -T 14 1B 00 00 09 4D 44 E1 09 01 0A 00 09 4E C5 -R 00 00 01 00 -T 1F 1B 00 00 DD 6E E6 DD 66 E7 29 DD 4E EC DD -R 00 00 01 00 -T 2A 1B 00 00 46 ED 09 46 23 66 68 01 24 00 -R 00 00 01 00 -T 34 1B 00 00 -R 00 00 01 00 -T 34 1B 00 00 09 4D 44 21 04 00 DD 5E E8 DD 56 -R 00 00 01 00 -T 3F 1B 00 00 E9 19 56 23 66 6A DD 5E F4 DD 56 -R 00 00 01 00 -T 4A 1B 00 00 F5 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 04 00 -T 50 1B 00 00 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 04 04 00 02 09 0E 00 -T 56 1B 00 00 -R 00 00 01 00 -T 56 1B 00 00 DD 6E EA DD 66 EB 23 23 46 DD 70 -R 00 00 01 00 -T 61 1B 00 00 EA 23 66 DD 74 EB DD 34 E6 C2 -R 00 00 01 00 -T 6B 1B 00 00 62 1A 00 00 DD 34 E7 C3 -R 00 00 01 00 00 04 01 00 -T 71 1B 00 00 62 1A 00 00 -R 00 00 01 00 00 04 01 00 -T 73 1B 00 00 -R 00 00 01 00 -T 73 1B 00 00 FD 6E 08 FD 66 09 E5 21 01 00 E5 -R 00 00 01 00 -T 7E 1B 00 00 DD 4E F2 DD 46 F3 2E 04 DD 5E E8 -R 00 00 01 00 -T 89 1B 00 00 DD 56 E9 19 5E 23 56 3E -R 00 00 01 00 -T 91 1B 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 96 1B 00 00 00 00 00 00 F1 F1 21 01 00 E5 2B -R 00 00 01 00 02 04 0E 00 -T 9F 1B 00 00 E5 E5 CD 54 16 00 00 F1 F1 F1 -R 00 00 01 00 00 07 01 00 -T A7 1B 00 00 -R 00 00 01 00 -T A7 1B 00 00 -R 00 00 01 00 -T A7 1B 00 00 DD 34 EE C2 95 19 00 00 DD 34 EF -R 00 00 01 00 00 08 01 00 -T B0 1B 00 00 C3 95 19 00 00 -R 00 00 01 00 00 05 01 00 -T B3 1B 00 00 -R 00 00 01 00 -T B3 1B 00 00 DD 5E E8 DD 56 E9 3E 25 1D 00 00 -R 00 00 01 00 29 0B 01 00 -T BB 1B 00 00 21 25 1D 00 00 CD 00 00 00 00 AF -R 00 00 01 00 00 05 01 00 02 0A 0E 00 -T C2 1B 00 00 DD 77 E6 DD 77 E7 -R 00 00 01 00 -T C8 1B 00 00 -R 00 00 01 00 -T C8 1B 00 00 DD 4E F0 DD 46 F1 DD 6E E6 DD 66 -R 00 00 01 00 -T D3 1B 00 00 E7 F6 80 ED 42 E2 DC 1B 00 00 AC -R 00 00 01 00 00 0A 01 00 -T DC 1B 00 00 -R 00 00 01 00 -T DC 1B 00 00 F2 02 1C 00 00 -R 00 00 01 00 00 05 01 00 -T DF 1B 00 00 -R 00 00 01 00 -T DF 1B 00 00 DD 6E E6 DD 66 E7 29 DD 4E EC DD -R 00 00 01 00 -T EA 1B 00 00 46 ED 09 5E 23 56 3E 97 24 00 00 -R 00 00 01 00 29 0B 01 00 -T F2 1B 00 00 21 97 24 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 01 00 02 0A 0E 00 -T F9 1B 00 00 34 E6 20 CB DD 34 E7 18 C6 -R 00 00 01 00 -T 02 1C 00 00 -R 00 00 01 00 -T 02 1C 00 00 DD 5E EC DD 56 ED CD 3B 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 0B 1C 00 00 FD E5 D1 3E 70 0B 00 00 21 -R 00 00 01 00 29 08 01 00 -T 11 1C 00 00 70 0B 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 04 01 00 02 09 0E 00 -T 17 1C 00 00 00 00 DD F9 C3 6B 00 00 00 -R 00 00 01 00 00 09 01 00 -T 1E 1C 00 00 -R 00 00 01 00 -T 1E 1C 00 00 FD E5 DD E5 D5 FD 21 00 00 3E -R 00 00 01 00 -T 28 1C 00 00 B5 04 00 00 21 B5 04 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 2D 1C 00 00 00 00 00 00 E5 DD E1 7D B4 20 04 -R 00 00 01 00 02 04 0E 00 -T 36 1C 00 00 -R 00 00 01 00 -T 36 1C 00 00 6F 67 18 4D -R 00 00 01 00 -T 3A 1C 00 00 -R 00 00 01 00 -T 3A 1C 00 00 DD 7E 00 FE 73 20 0A -R 00 00 01 00 -T 41 1C 00 00 -R 00 00 01 00 -T 41 1C 00 00 DD E5 D1 3E A4 0C 00 00 21 -R 00 00 01 00 29 08 01 00 -T 47 1C 00 00 A4 0C 00 00 18 28 -R 00 00 01 00 00 04 01 00 -T 4B 1C 00 00 -R 00 00 01 00 -T 4B 1C 00 00 FE 69 20 0A DD E5 D1 3E -R 00 00 01 00 -T 53 1C 00 00 59 12 00 00 21 59 12 00 00 18 1A -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 59 1C 00 00 -R 00 00 01 00 -T 59 1C 00 00 FE 64 20 0A DD E5 D1 3E -R 00 00 01 00 -T 61 1C 00 00 62 16 00 00 21 62 16 00 00 18 0C -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 67 1C 00 00 -R 00 00 01 00 -T 67 1C 00 00 FE 75 20 0E DD E5 D1 3E -R 00 00 01 00 -T 6F 1C 00 00 5E 18 00 00 21 5E 18 00 00 -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 73 1C 00 00 -R 00 00 01 00 -T 73 1C 00 00 CD 00 00 00 00 E5 FD E1 -R 00 00 01 00 02 05 0E 00 -T 79 1C 00 00 -R 00 00 01 00 -T 79 1C 00 00 DD E5 D1 3E 8E 0B 00 00 21 -R 00 00 01 00 29 08 01 00 -T 7F 1C 00 00 8E 0B 00 00 CD 00 00 00 00 FD E5 -R 00 00 01 00 00 04 01 00 02 09 0E 00 -T 86 1C 00 00 E1 -R 00 00 01 00 -T 87 1C 00 00 -R 00 00 01 00 -T 87 1C 00 00 C3 E1 02 00 00 -R 00 00 01 00 00 05 01 00 -T 8A 1C 00 00 -R 00 00 01 00 -T 8A 1C 00 00 FD E5 DD E5 F5 C5 DD E1 D5 FD E1 -R 00 00 01 00 -T 95 1C 00 00 21 00 00 39 E5 3E 32 0C 00 00 21 -R 00 00 01 00 29 0A 01 00 -T 9D 1C 00 00 32 0C 00 00 CD 00 00 00 00 EB E1 -R 00 00 01 00 00 04 01 00 02 09 0E 00 -T A4 1C 00 00 73 23 72 21 04 00 09 7E 23 B6 20 -R 00 00 01 00 -T AF 1C 00 00 09 -R 00 00 01 00 -T B0 1C 00 00 -R 00 00 01 00 -T B0 1C 00 00 CD 8F 04 00 00 DD 75 04 DD 74 05 -R 00 00 01 00 00 05 01 00 -T B9 1C 00 00 -R 00 00 01 00 -T B9 1C 00 00 FD 4E 04 FD 46 05 FD 6E 06 FD 66 -R 00 00 01 00 -T C4 1C 00 00 07 F6 80 ED 42 E2 CD 1C 00 00 AC -R 00 00 01 00 00 0A 01 00 -T CD 1C 00 00 -R 00 00 01 00 -T CD 1C 00 00 FA E4 1C 00 00 -R 00 00 01 00 00 05 01 00 -T D0 1C 00 00 -R 00 00 01 00 -T D0 1C 00 00 DD 36 02 FF DD 36 03 FF CD -R 00 00 01 00 -T D9 1C 00 00 35 00 00 00 AF DD 77 04 DD 77 05 -R 00 00 01 00 00 04 01 00 -T E2 1C 00 00 18 3E -R 00 00 01 00 -T E4 1C 00 00 -R 00 00 01 00 -T E4 1C 00 00 FD 6E 06 FD 66 07 23 FD 75 06 FD -R 00 00 01 00 -T EF 1C 00 00 74 07 2B DD 75 02 DD 74 03 FD E5 -R 00 00 01 00 -T FA 1C 00 00 DD E5 E1 C1 71 23 70 FD 6E 08 FD -R 00 00 01 00 -T 05 1D 00 00 66 09 E5 21 01 00 E5 2E 04 39 4E -R 00 00 01 00 -T 10 1D 00 00 23 46 DD 5E 04 DD 56 05 3E -R 00 00 01 00 -T 19 1D 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 1E 1D 00 00 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0E 00 -T 22 1D 00 00 -R 00 00 01 00 -T 22 1D 00 00 C3 01 01 00 00 -R 00 00 01 00 00 05 01 00 -T 25 1D 00 00 -R 00 00 01 00 -T 25 1D 00 00 DD E5 D5 DD E1 7B B2 28 11 -R 00 00 01 00 -T 2E 1D 00 00 -R 00 00 01 00 -T 2E 1D 00 00 DD 7E 04 DD B6 05 28 03 -R 00 00 01 00 -T 36 1D 00 00 -R 00 00 01 00 -T 36 1D 00 00 CD 35 00 00 00 -R 00 00 01 00 00 05 01 00 -T 39 1D 00 00 -R 00 00 01 00 -T 39 1D 00 00 DD E5 D1 CD 3B 00 00 00 -R 00 00 01 00 00 08 01 00 -T 3F 1D 00 00 -R 00 00 01 00 -T 3F 1D 00 00 DD E1 C3 00 00 00 00 -R 00 00 01 00 02 07 02 00 -T 44 1D 00 00 -R 00 00 01 00 -T 44 1D 00 00 C5 D5 DD E5 11 06 00 CD -R 00 00 01 00 -T 4C 1D 00 00 8F 04 00 00 E5 DD E1 01 04 00 09 -R 00 00 01 00 00 04 01 00 -T 55 1D 00 00 AF 77 23 77 DD E5 E1 77 23 77 DD -R 00 00 01 00 -T 60 1D 00 00 36 02 FF DD 36 03 FF DD E5 E1 DD -R 00 00 01 00 -T 6B 1D 00 00 E1 D1 C1 C3 00 00 00 00 -R 00 00 01 00 02 08 02 00 -T 71 1D 00 00 -R 00 00 01 00 -T 71 1D 00 00 FD E5 DD E5 DD 21 00 00 DD 39 C5 -R 00 00 01 00 -T 7C 1D 00 00 F5 F5 F5 D5 FD E1 21 04 00 19 7E -R 00 00 01 00 -T 87 1D 00 00 DD 77 F8 23 66 DD 74 F9 EB 5E 23 -R 00 00 01 00 -T 92 1D 00 00 56 3E DD 0B 00 00 21 DD 0B 00 00 -R 00 00 01 00 29 06 01 00 00 0B 01 00 -T 98 1D 00 00 CD 00 00 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 02 05 0E 00 -T A1 1D 00 00 FD 6E 00 FD 66 01 23 23 46 23 66 -R 00 00 01 00 -T AC 1D 00 00 68 E5 DD 6E FE DD 66 FF 29 29 4D -R 00 00 01 00 -T B7 1D 00 00 44 29 09 4D 44 E1 09 01 09 00 09 -R 00 00 01 00 -T C2 1D 00 00 7E FE 53 20 1B -R 00 00 01 00 -T C7 1D 00 00 -R 00 00 01 00 -T C7 1D 00 00 DD 6E FA DD 66 FB DD 4E F8 DD 46 -R 00 00 01 00 -T D2 1D 00 00 F9 09 4D 44 DD 5E 08 DD 56 09 CD -R 00 00 01 00 -T DD 1D 00 00 AD 04 00 00 C3 7A 1E 00 00 -R 00 00 01 00 00 04 01 00 00 09 01 00 -T E2 1D 00 00 -R 00 00 01 00 -T E2 1D 00 00 FE 49 C2 7A 1E 00 00 FD 6E 00 FD -R 00 00 01 00 00 07 01 00 -T EB 1D 00 00 66 01 23 23 46 23 66 68 E5 DD 6E -R 00 00 01 00 -T F6 1D 00 00 FE DD 66 FF 29 29 4D 44 29 09 4D -R 00 00 01 00 -T 01 1E 00 00 44 E1 09 01 0A 00 09 46 05 05 20 -R 00 00 01 00 -T 0C 1E 00 00 21 -R 00 00 01 00 -T 0D 1E 00 00 -R 00 00 01 00 -T 0D 1E 00 00 C5 DD 4E 08 DD 46 09 DD 6E FA DD -R 00 00 01 00 -T 18 1E 00 00 66 FB DD 5E F8 DD 56 F9 19 5E 23 -R 00 00 01 00 -T 23 1E 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 12 00 02 0B 12 00 -T 29 1E 00 00 CD 00 00 00 00 18 4B -R 00 00 01 00 02 05 0E 00 -T 2E 1E 00 00 -R 00 00 01 00 -T 2E 1E 00 00 FD 6E 00 FD 66 01 23 23 46 23 66 -R 00 00 01 00 -T 39 1E 00 00 68 E5 DD 6E FE DD 66 FF 29 29 4D -R 00 00 01 00 -T 44 1E 00 00 44 29 09 4D 44 E1 09 01 0A 00 09 -R 00 00 01 00 -T 4F 1E 00 00 7E FE 04 20 26 -R 00 00 01 00 -T 54 1E 00 00 -R 00 00 01 00 -T 54 1E 00 00 C5 DD 6E 08 DD 66 09 E5 DD 6E FA -R 00 00 01 00 -T 5F 1E 00 00 DD 66 FB DD 4E F8 DD 46 F9 09 5E -R 00 00 01 00 -T 6A 1E 00 00 23 56 23 4E 23 46 3E 00 00 00 00 -R 00 00 01 00 2B 0B 15 00 -T 72 1E 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 15 00 02 0A 0E 00 -T 79 1E 00 00 -R 00 00 01 00 -T 79 1E 00 00 F1 -R 00 00 01 00 -T 7A 1E 00 00 -R 00 00 01 00 -T 7A 1E 00 00 -R 00 00 01 00 -T 7A 1E 00 00 -R 00 00 01 00 -T 7A 1E 00 00 C3 7B 04 00 00 -R 00 00 01 00 00 05 01 00 -T 7D 1E 00 00 -R 00 00 01 00 -T 7D 1E 00 00 FD E5 DD E5 C5 F5 D5 DD E1 21 -R 00 00 01 00 -T 87 1E 00 00 04 00 19 7E 23 66 6F E5 FD E1 21 -R 00 00 01 00 -T 92 1E 00 00 00 00 39 E5 EB 5E 23 56 3E -R 00 00 01 00 -T 9B 1E 00 00 DD 0B 00 00 21 DD 0B 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T A0 1E 00 00 00 00 00 00 4D 44 E1 71 23 70 DD -R 00 00 01 00 02 04 0E 00 -T A9 1E 00 00 6E 00 DD 66 01 23 23 46 23 66 68 -R 00 00 01 00 -T B4 1E 00 00 E5 21 04 00 39 46 23 66 68 29 29 -R 00 00 01 00 -T BF 1E 00 00 4D 44 29 09 4D 44 E1 09 01 09 00 -R 00 00 01 00 -T CA 1E 00 00 09 7E FE 53 20 16 -R 00 00 01 00 -T D0 1E 00 00 -R 00 00 01 00 -T D0 1E 00 00 68 60 39 46 23 66 68 FD E5 C1 09 -R 00 00 01 00 -T DB 1E 00 00 EB 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 13 00 02 0B 13 00 -T E1 1E 00 00 CD 00 00 00 00 18 13 -R 00 00 01 00 02 05 0E 00 -T E6 1E 00 00 -R 00 00 01 00 -T E6 1E 00 00 FE 49 68 60 20 0D 39 46 23 66 68 -R 00 00 01 00 -T F1 1E 00 00 FD E5 C1 09 46 23 66 68 -R 00 00 01 00 -T F9 1E 00 00 -R 00 00 01 00 -T F9 1E 00 00 -R 00 00 01 00 -T F9 1E 00 00 F1 C3 E1 02 00 00 -R 00 00 01 00 00 06 01 00 -T FD 1E 00 00 -R 00 00 01 00 -T FD 1E 00 00 -R 00 00 01 00 -T FD 1E 00 00 FD E5 DD E5 DD 21 00 00 DD 39 C5 -R 00 00 01 00 -T 08 1F 00 00 F5 F5 D5 FD E1 21 04 00 19 7E DD -R 00 00 01 00 -T 13 1F 00 00 77 FA 23 66 DD 74 FB EB 5E 23 56 -R 00 00 01 00 -T 1E 1F 00 00 3E DD 0B 00 00 21 DD 0B 00 00 CD -R 00 00 01 00 29 05 01 00 00 0A 01 00 -T 24 1F 00 00 00 00 00 00 DD 75 FC DD 74 FD FD -R 00 00 01 00 02 04 0E 00 -T 2D 1F 00 00 6E 00 FD 66 01 23 23 46 23 66 68 -R 00 00 01 00 -T 38 1F 00 00 E5 DD 6E FE DD 66 FF 29 29 4D 44 -R 00 00 01 00 -T 43 1F 00 00 29 09 4D 44 E1 09 01 09 00 09 7E -R 00 00 01 00 -T 4E 1F 00 00 FE 53 20 18 -R 00 00 01 00 -T 52 1F 00 00 -R 00 00 01 00 -T 52 1F 00 00 DD 6E FC DD 66 FD DD 4E FA DD 46 -R 00 00 01 00 -T 5D 1F 00 00 FB 09 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 16 00 -T 63 1F 00 00 00 00 00 00 CD 00 00 00 00 18 4F -R 00 00 01 00 02 04 16 00 02 09 0E 00 -T 6A 1F 00 00 -R 00 00 01 00 -T 6A 1F 00 00 FE 49 20 48 FD 6E 00 FD 66 01 23 -R 00 00 01 00 -T 75 1F 00 00 23 46 23 66 68 E5 DD 6E FE DD 66 -R 00 00 01 00 -T 80 1F 00 00 FF 29 29 4D 44 29 09 4D 44 E1 09 -R 00 00 01 00 -T 8B 1F 00 00 01 0A 00 09 46 05 05 DD 6E FC DD -R 00 00 01 00 -T 96 1F 00 00 66 FD DD 4E FA DD 46 FB 09 20 0B -R 00 00 01 00 -T A1 1F 00 00 -R 00 00 01 00 -T A1 1F 00 00 46 23 66 7C 68 07 9F 4F 41 18 0D -R 00 00 01 00 -T AC 1F 00 00 -R 00 00 01 00 -T AC 1F 00 00 5E 23 56 23 4E 23 46 EB 18 03 -R 00 00 01 00 -T B6 1F 00 00 -R 00 00 01 00 -T B6 1F 00 00 48 69 60 -R 00 00 01 00 -T B9 1F 00 00 -R 00 00 01 00 -T B9 1F 00 00 C3 7B 04 00 00 -R 00 00 01 00 00 05 01 00 -T BC 1F 00 00 -R 00 00 01 00 -T BC 1F 00 00 -R 00 00 01 00 -T BC 1F 00 00 D5 CD 00 00 00 00 10 00 00 26 28 -R 00 00 01 00 02 06 0A 00 -T C5 1F 00 00 29 2A 2B 2D 2F 3B 3C 3D 3E 5B 5D -R 00 00 01 00 -T D0 1F 00 00 5E 7C 10 20 00 00 08 20 00 00 -R 00 00 01 00 00 06 01 00 00 0A 01 00 -T D6 1F 00 00 F8 1F 00 00 04 20 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T DA 1F 00 00 04 20 00 00 04 20 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T DE 1F 00 00 04 20 00 00 04 20 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T E2 1F 00 00 0C 20 00 00 FC 1F 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T E6 1F 00 00 00 20 00 00 00 20 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T EA 1F 00 00 FC 1F 00 00 0C 20 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T EE 1F 00 00 F4 1F 00 00 08 20 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T F2 1F 00 00 0C 20 00 00 -R 00 00 01 00 00 04 01 00 -T F4 1F 00 00 -R 00 00 01 00 -T F4 1F 00 00 2E 01 18 1A -R 00 00 01 00 -T F8 1F 00 00 -R 00 00 01 00 -T F8 1F 00 00 2E 02 18 16 -R 00 00 01 00 -T FC 1F 00 00 -R 00 00 01 00 -T FC 1F 00 00 2E 03 18 12 -R 00 00 01 00 -T 00 20 00 00 -R 00 00 01 00 -T 00 20 00 00 2E 04 18 0E -R 00 00 01 00 -T 04 20 00 00 -R 00 00 01 00 -T 04 20 00 00 2E 05 18 0A -R 00 00 01 00 -T 08 20 00 00 -R 00 00 01 00 -T 08 20 00 00 2E 06 18 06 -R 00 00 01 00 -T 0C 20 00 00 -R 00 00 01 00 -T 0C 20 00 00 2E 3F 18 02 -R 00 00 01 00 -T 10 20 00 00 -R 00 00 01 00 -T 10 20 00 00 2E 00 -R 00 00 01 00 -T 12 20 00 00 -R 00 00 01 00 -T 12 20 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 02 00 -T 16 20 00 00 -R 00 00 01 00 -T 16 20 00 00 -R 00 00 01 00 -T 16 20 00 00 DD E5 C5 D5 11 4E 00 CD -R 00 00 01 00 -T 1E 20 00 00 8F 04 00 00 E5 DD E1 23 23 23 36 -R 00 00 01 00 00 04 01 00 -T 27 20 00 00 00 AF DD 77 48 DD 77 49 DD 77 4A -R 00 00 01 00 -T 32 20 00 00 DD 77 4B DD 77 02 6F 67 39 46 DD -R 00 00 01 00 -T 3D 20 00 00 70 4C 23 66 DD 74 4D DD 71 00 DD -R 00 00 01 00 -T 48 20 00 00 77 24 DD 77 25 DD 77 26 DD 77 27 -R 00 00 01 00 -T 53 20 00 00 DD E5 E1 F1 F1 DD E1 C3 -R 00 00 01 00 -T 5B 20 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 -T 5D 20 00 00 -R 00 00 01 00 -T 5D 20 00 00 FD E5 DD E5 DD 21 00 00 DD 39 C5 -R 00 00 01 00 -T 68 20 00 00 D5 21 B2 FF 39 F9 AF DD 77 F8 DD -R 00 00 01 00 -T 73 20 00 00 77 F9 7B B2 20 24 -R 00 00 01 00 -T 79 20 00 00 -R 00 00 01 00 -T 79 20 00 00 0E 01 5F 57 CD 5F 24 00 00 DD 75 -R 00 00 01 00 00 09 01 00 -T 82 20 00 00 AE DD 74 AF 01 04 00 09 36 31 21 -R 00 00 01 00 -T 8D 20 00 00 05 00 DD 4E AE DD 46 AF 09 36 00 -R 00 00 01 00 -T 98 20 00 00 69 60 C3 57 24 00 00 -R 00 00 01 00 00 07 01 00 -T 9D 20 00 00 -R 00 00 01 00 -T 9D 20 00 00 AF DD 77 F6 DD 77 F7 -R 00 00 01 00 -T A4 20 00 00 -R 00 00 01 00 -T A4 20 00 00 01 40 80 DD 6E F6 DD 66 F7 78 AC -R 00 00 01 00 -T AF 20 00 00 67 ED 42 30 16 -R 00 00 01 00 -T B4 20 00 00 -R 00 00 01 00 -T B4 20 00 00 21 06 00 39 DD 4E F6 DD 46 F7 09 -R 00 00 01 00 -T BF 20 00 00 36 00 03 DD 71 F6 DD 70 F7 18 DA -R 00 00 01 00 -T CA 20 00 00 -R 00 00 01 00 -T CA 20 00 00 0E 03 11 00 00 CD 5F 24 00 00 DD -R 00 00 01 00 00 0A 01 00 -T D3 20 00 00 75 AE DD 74 AF E5 FD E1 -R 00 00 01 00 -T DB 20 00 00 -R 00 00 01 00 -T DB 20 00 00 AF DD 77 B2 DD 77 B3 -R 00 00 01 00 -T E2 20 00 00 -R 00 00 01 00 -T E2 20 00 00 DD 6E FE DD 66 FF 46 23 66 68 DD -R 00 00 01 00 -T ED 20 00 00 4E FC DD 46 FD 09 5E 3E -R 00 00 01 00 -T F5 20 00 00 BC 1F 00 00 21 BC 1F 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T FA 20 00 00 00 00 00 00 26 00 DD 75 F4 DD 74 -R 00 00 01 00 02 04 0E 00 -T 03 21 00 00 F5 7D B7 20 1E -R 00 00 01 00 -T 08 21 00 00 -R 00 00 01 00 -T 08 21 00 00 DD 6E FE DD 66 FF 46 23 66 68 DD -R 00 00 01 00 -T 13 21 00 00 46 FD 09 46 21 06 00 39 DD 5E F8 -R 00 00 01 00 -T 1E 21 00 00 DD 56 F9 19 70 C3 03 24 00 00 -R 00 00 01 00 00 0A 01 00 -T 26 21 00 00 -R 00 00 01 00 -T 26 21 00 00 3E 01 AD 20 5E -R 00 00 01 00 -T 2B 21 00 00 -R 00 00 01 00 -T 2B 21 00 00 DD 6E FE DD 66 FF 46 23 66 68 DD -R 00 00 01 00 -T 36 21 00 00 46 FD 09 7E FE 29 20 08 -R 00 00 01 00 -T 3E 21 00 00 -R 00 00 01 00 -T 3E 21 00 00 DD 36 F4 3F DD 36 F5 00 -R 00 00 01 00 -T 46 21 00 00 -R 00 00 01 00 -T 46 21 00 00 DD 6E FE DD 66 FF 46 23 66 68 DD -R 00 00 01 00 -T 51 21 00 00 46 FD 09 7E FE 28 C2 03 24 00 00 -R 00 00 01 00 00 0B 01 00 -T 5A 21 00 00 -R 00 00 01 00 -T 5A 21 00 00 DD 6E FE DD 66 FF 34 23 20 01 34 -R 00 00 01 00 -T 65 21 00 00 -R 00 00 01 00 -T 65 21 00 00 DD 4E FE DD 46 FF DD 5E FC DD 56 -R 00 00 01 00 -T 70 21 00 00 FD 3E 5D 20 00 00 21 5D 20 00 00 -R 00 00 01 00 29 06 01 00 00 0B 01 00 -T 76 21 00 00 CD 00 00 00 00 DD 75 B2 DD 74 B3 -R 00 00 01 00 02 05 0E 00 -T 7F 21 00 00 AF DD 77 F8 DD 77 F9 C3 -R 00 00 01 00 -T 87 21 00 00 E2 20 00 00 -R 00 00 01 00 00 04 01 00 -T 89 21 00 00 -R 00 00 01 00 -T 89 21 00 00 -R 00 00 01 00 -T 89 21 00 00 2E 06 39 DD 4E F8 DD 46 F9 09 36 -R 00 00 01 00 -T 94 21 00 00 00 FD 7E 48 FD B6 49 20 46 -R 00 00 01 00 -T 9D 21 00 00 -R 00 00 01 00 -T 9D 21 00 00 DD 7E B2 DD B6 B3 20 1A -R 00 00 01 00 -T A5 21 00 00 -R 00 00 01 00 -T A5 21 00 00 CD 5A 24 00 00 FD 75 48 FD 74 49 -R 00 00 01 00 00 05 01 00 -T AE 21 00 00 21 06 00 39 4D 44 FD 6E 48 FD 66 -R 00 00 01 00 -T B9 21 00 00 49 CD A8 04 00 00 18 0C -R 00 00 01 00 00 06 01 00 -T BF 21 00 00 -R 00 00 01 00 -T BF 21 00 00 DD 6E B2 FD 75 48 DD 66 B3 FD 74 -R 00 00 01 00 -T CA 21 00 00 49 -R 00 00 01 00 -T CB 21 00 00 -R 00 00 01 00 -T CB 21 00 00 DD 6E FE DD 66 FF 46 23 66 68 DD -R 00 00 01 00 -T D6 21 00 00 4E FC DD 46 FD 09 46 FD 70 02 C3 -R 00 00 01 00 -T E1 21 00 00 FB 23 00 00 -R 00 00 01 00 00 04 01 00 -T E3 21 00 00 -R 00 00 01 00 -T E3 21 00 00 CD 67 24 00 00 E2 EA 21 00 00 AC -R 00 00 01 00 00 05 01 00 00 0A 01 00 -T EA 21 00 00 -R 00 00 01 00 -T EA 21 00 00 F2 64 22 00 00 -R 00 00 01 00 00 05 01 00 -T ED 21 00 00 -R 00 00 01 00 -T ED 21 00 00 0E 03 CD 5C 24 00 00 FD 75 4A FD -R 00 00 01 00 00 07 01 00 -T F6 21 00 00 74 4B DD 7E B2 DD B6 B3 FD 6E 4A -R 00 00 01 00 -T 01 22 00 00 FD 66 4B 01 48 00 09 20 2B -R 00 00 01 00 -T 0A 22 00 00 -R 00 00 01 00 -T 0A 22 00 00 E5 0E 01 FD 5E 4A FD 56 4B CD -R 00 00 01 00 -T 14 22 00 00 5F 24 00 00 4D 44 E1 71 23 70 21 -R 00 00 01 00 00 04 01 00 -T 1D 22 00 00 06 00 39 4D 44 FD 6E 4A FD 66 4B -R 00 00 01 00 -T 28 22 00 00 11 48 00 19 56 23 66 6A CD -R 00 00 01 00 -T 31 22 00 00 A8 04 00 00 18 09 -R 00 00 01 00 00 04 01 00 -T 35 22 00 00 -R 00 00 01 00 -T 35 22 00 00 DD 4E B2 71 DD 46 B3 23 70 -R 00 00 01 00 -T 3E 22 00 00 -R 00 00 01 00 -T 3E 22 00 00 FD 6E 4A FD 66 4B 23 23 E5 DD 6E -R 00 00 01 00 -T 49 22 00 00 FE DD 66 FF 46 23 66 68 DD 4E FC -R 00 00 01 00 -T 54 22 00 00 DD 46 FD 09 46 E1 70 FD 6E 4A FD -R 00 00 01 00 -T 5F 22 00 00 66 4B C3 F8 23 00 00 -R 00 00 01 00 00 07 01 00 -T 64 22 00 00 -R 00 00 01 00 -T 64 22 00 00 3E 3F DD AE F4 DD B6 F5 20 2A -R 00 00 01 00 -T 6E 22 00 00 -R 00 00 01 00 -T 6E 22 00 00 DD 7E B2 DD B6 B3 20 13 -R 00 00 01 00 -T 76 22 00 00 -R 00 00 01 00 -T 76 22 00 00 CD 5A 24 00 00 FD 75 4A FD 74 4B -R 00 00 01 00 00 05 01 00 -T 7F 22 00 00 21 06 00 39 CD A0 04 00 00 C3 -R 00 00 01 00 00 09 01 00 -T 87 22 00 00 FB 23 00 00 -R 00 00 01 00 00 04 01 00 -T 89 22 00 00 -R 00 00 01 00 -T 89 22 00 00 DD 6E B2 FD 75 4A DD 66 B3 FD 74 -R 00 00 01 00 -T 94 22 00 00 4B -R 00 00 01 00 -T 95 22 00 00 -R 00 00 01 00 -T 95 22 00 00 C3 FB 23 00 00 -R 00 00 01 00 00 05 01 00 -T 98 22 00 00 -R 00 00 01 00 -T 98 22 00 00 CD 80 24 00 00 E2 9F 22 00 00 AC -R 00 00 01 00 00 05 01 00 00 0A 01 00 -T 9F 22 00 00 -R 00 00 01 00 -T 9F 22 00 00 FA FB 23 00 00 -R 00 00 01 00 00 05 01 00 -T A2 22 00 00 -R 00 00 01 00 -T A2 22 00 00 DD 7E B2 DD B6 B3 20 12 -R 00 00 01 00 -T AA 22 00 00 -R 00 00 01 00 -T AA 22 00 00 CD 5A 24 00 00 FD 75 4A FD 74 4B -R 00 00 01 00 00 05 01 00 -T B3 22 00 00 21 06 00 39 CD A0 04 00 00 18 0C -R 00 00 01 00 00 09 01 00 -T BC 22 00 00 -R 00 00 01 00 -T BC 22 00 00 DD 6E B2 FD 75 4A DD 66 B3 FD 74 -R 00 00 01 00 -T C7 22 00 00 4B -R 00 00 01 00 -T C8 22 00 00 -R 00 00 01 00 -T C8 22 00 00 -R 00 00 01 00 -T C8 22 00 00 CD 67 24 00 00 E2 CF 22 00 00 AC -R 00 00 01 00 00 05 01 00 00 0A 01 00 -T CF 22 00 00 -R 00 00 01 00 -T CF 22 00 00 FA E5 22 00 00 FD 7E 4C FD B6 4D -R 00 00 01 00 00 05 01 00 -T D8 22 00 00 28 0B -R 00 00 01 00 -T DA 22 00 00 -R 00 00 01 00 -T DA 22 00 00 -R 00 00 01 00 -T DA 22 00 00 -R 00 00 01 00 -T DA 22 00 00 FD 6E 4C FD 66 4D E5 FD E1 18 E3 -R 00 00 01 00 -T E5 22 00 00 -R 00 00 01 00 -T E5 22 00 00 FD 7E 4C FD B6 4D 20 41 CD -R 00 00 01 00 -T EE 22 00 00 80 24 00 00 E2 F4 22 00 00 AC -R 00 00 01 00 00 04 01 00 00 09 01 00 -T F4 22 00 00 -R 00 00 01 00 -T F4 22 00 00 FA 2E 23 00 00 -R 00 00 01 00 00 05 01 00 -T F7 22 00 00 -R 00 00 01 00 -T F7 22 00 00 -R 00 00 01 00 -T F7 22 00 00 -R 00 00 01 00 -T F7 22 00 00 0E 03 58 50 CD 5F 24 00 00 DD 75 -R 00 00 01 00 00 09 01 00 -T 00 23 00 00 AE DD 74 AF 01 48 00 09 FD E5 C1 -R 00 00 01 00 -T 0B 23 00 00 71 23 70 DD 6E FE DD 66 FF 56 23 -R 00 00 01 00 -T 16 23 00 00 66 6A DD 5E FC DD 56 FD 19 56 DD -R 00 00 01 00 -T 21 23 00 00 6E AE DD 66 AF 23 23 72 2B 2B C3 -R 00 00 01 00 -T 2C 23 00 00 F8 23 00 00 -R 00 00 01 00 00 04 01 00 -T 2E 23 00 00 -R 00 00 01 00 -T 2E 23 00 00 FD 7E 4C FD B6 4D 20 5C CD -R 00 00 01 00 -T 37 23 00 00 80 24 00 00 E2 3D 23 00 00 AC -R 00 00 01 00 00 04 01 00 00 09 01 00 -T 3D 23 00 00 -R 00 00 01 00 -T 3D 23 00 00 F2 92 23 00 00 -R 00 00 01 00 00 05 01 00 -T 40 23 00 00 -R 00 00 01 00 -T 40 23 00 00 -R 00 00 01 00 -T 40 23 00 00 -R 00 00 01 00 -T 40 23 00 00 0E 03 CD 5C 24 00 00 DD 75 FA DD -R 00 00 01 00 00 07 01 00 -T 49 23 00 00 74 FB 01 48 00 09 FD 4E 4A 71 FD -R 00 00 01 00 -T 54 23 00 00 46 4B 23 70 DD 6E FE DD 66 FF 46 -R 00 00 01 00 -T 5F 23 00 00 23 66 68 DD 4E FC DD 46 FD 09 46 -R 00 00 01 00 -T 6A 23 00 00 DD 6E FA DD 66 FB 23 23 70 21 -R 00 00 01 00 -T 74 23 00 00 48 00 DD 4E FA DD 46 FB 09 56 23 -R 00 00 01 00 -T 7F 23 00 00 66 6A 11 4C 00 19 71 23 70 FD 71 -R 00 00 01 00 -T 8A 23 00 00 4A FD 70 4B 69 60 18 66 -R 00 00 01 00 -T 92 23 00 00 -R 00 00 01 00 -T 92 23 00 00 FD 6E 4C DD 75 FA FD 66 4D DD 74 -R 00 00 01 00 -T 9D 23 00 00 FB 0E 4A 09 E5 0E 03 DD 5E FA DD -R 00 00 01 00 -T A8 23 00 00 56 FB CD 5F 24 00 00 4D 44 E1 71 -R 00 00 01 00 00 07 01 00 -T B1 23 00 00 23 70 21 4A 00 DD 4E FA DD 46 FB -R 00 00 01 00 -T BC 23 00 00 09 56 23 66 6A 11 48 00 19 FD E5 -R 00 00 01 00 -T C7 23 00 00 D1 73 23 72 21 4A 00 09 7E 23 66 -R 00 00 01 00 -T D2 23 00 00 6F 23 23 E5 DD 6E FE DD 66 FF 7E -R 00 00 01 00 -T DD 23 00 00 23 66 6F DD 4E FC DD 46 FD 09 46 -R 00 00 01 00 -T E8 23 00 00 E1 70 21 4A 00 DD 4E FA DD 46 FB -R 00 00 01 00 -T F3 23 00 00 09 46 23 66 68 -R 00 00 01 00 -T F8 23 00 00 -R 00 00 01 00 -T F8 23 00 00 E5 FD E1 -R 00 00 01 00 -T FB 23 00 00 -R 00 00 01 00 -T FB 23 00 00 -R 00 00 01 00 -T FB 23 00 00 -R 00 00 01 00 -T FB 23 00 00 -R 00 00 01 00 -T FB 23 00 00 -R 00 00 01 00 -T FB 23 00 00 -R 00 00 01 00 -T FB 23 00 00 DD 36 F8 FF DD 36 F9 FF -R 00 00 01 00 -T 03 24 00 00 -R 00 00 01 00 -T 03 24 00 00 -R 00 00 01 00 -T 03 24 00 00 DD 34 F8 20 03 DD 34 F9 -R 00 00 01 00 -T 0B 24 00 00 -R 00 00 01 00 -T 0B 24 00 00 DD 6E FE DD 66 FF 34 23 20 01 34 -R 00 00 01 00 -T 16 24 00 00 -R 00 00 01 00 -T 16 24 00 00 01 3F 80 DD 6E F4 DD 66 F5 78 AC -R 00 00 01 00 -T 21 24 00 00 67 ED 42 DA DB 20 00 00 -R 00 00 01 00 00 08 01 00 -T 27 24 00 00 -R 00 00 01 00 -T 27 24 00 00 -R 00 00 01 00 -T 27 24 00 00 21 4A 00 DD 4E AE DD 46 AF 09 7E -R 00 00 01 00 -T 32 24 00 00 23 B6 20 1F 69 60 7E FE 03 20 18 -R 00 00 01 00 -T 3D 24 00 00 -R 00 00 01 00 -T 3D 24 00 00 -R 00 00 01 00 -T 3D 24 00 00 -R 00 00 01 00 -T 3D 24 00 00 E5 FD E1 21 48 00 09 56 DD 72 AE -R 00 00 01 00 -T 48 24 00 00 23 66 DD 74 AF FD E5 D1 CD -R 00 00 01 00 -T 51 24 00 00 3B 00 00 00 18 D2 -R 00 00 01 00 00 04 01 00 -T 55 24 00 00 -R 00 00 01 00 -T 55 24 00 00 69 60 -R 00 00 01 00 -T 57 24 00 00 -R 00 00 01 00 -T 57 24 00 00 C3 7B 04 00 00 -R 00 00 01 00 00 05 01 00 -T 5A 24 00 00 -R 00 00 01 00 -T 5A 24 00 00 0E 01 -R 00 00 01 00 -T 5C 24 00 00 -R 00 00 01 00 -T 5C 24 00 00 FD E5 D1 -R 00 00 01 00 -T 5F 24 00 00 -R 00 00 01 00 -T 5F 24 00 00 3E 16 20 00 00 21 16 20 00 00 C3 -R 00 00 01 00 29 05 01 00 00 0A 01 00 -T 65 24 00 00 00 00 00 00 -R 00 00 01 00 02 04 0E 00 -T 67 24 00 00 -R 00 00 01 00 -T 67 24 00 00 FD 5E 02 3E BC 1F 00 00 21 -R 00 00 01 00 29 08 01 00 -T 6D 24 00 00 BC 1F 00 00 CD 00 00 00 00 4D 06 -R 00 00 01 00 00 04 01 00 02 09 0E 00 -T 74 24 00 00 00 DD 6E F4 DD 66 F5 F6 80 ED 42 -R 00 00 01 00 -T 7F 24 00 00 C9 -R 00 00 01 00 -T 80 24 00 00 -R 00 00 01 00 -T 80 24 00 00 FD 5E 02 3E BC 1F 00 00 21 -R 00 00 01 00 29 08 01 00 -T 86 24 00 00 BC 1F 00 00 CD 00 00 00 00 4D DD -R 00 00 01 00 00 04 01 00 02 09 0E 00 -T 8D 24 00 00 6E F4 DD 66 F5 F6 80 ED 42 C9 -R 00 00 01 00 -T 97 24 00 00 -R 00 00 01 00 -T 97 24 00 00 DD E5 D5 DD E1 1A FE 03 20 1C -R 00 00 01 00 -T A1 24 00 00 -R 00 00 01 00 -T A1 24 00 00 DD 5E 48 DD 56 49 3E 97 24 00 00 -R 00 00 01 00 29 0B 01 00 -T A9 24 00 00 21 97 24 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 01 00 02 0A 0E 00 -T B0 24 00 00 5E 4A DD 56 4B 3E 97 24 00 00 21 -R 00 00 01 00 29 0A 01 00 -T B8 24 00 00 97 24 00 00 CD 00 00 00 00 -R 00 00 01 00 00 04 01 00 02 09 0E 00 -T BD 24 00 00 -R 00 00 01 00 -T BD 24 00 00 C3 83 0B 00 00 -R 00 00 01 00 00 05 01 00 -T C0 24 00 00 -R 00 00 01 00 -T C0 24 00 00 FD E5 DD E5 DD 21 00 00 DD 39 C5 -R 00 00 01 00 -T CB 24 00 00 F5 F5 F5 D5 FD E1 1A FE 03 C2 -R 00 00 01 00 -T D5 24 00 00 90 28 00 00 -R 00 00 01 00 00 04 01 00 -T D7 24 00 00 -R 00 00 01 00 -T D7 24 00 00 FD 5E 48 FD 56 49 3E C0 24 00 00 -R 00 00 01 00 29 0B 01 00 -T DF 24 00 00 21 C0 24 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 01 00 02 0A 0E 00 -T E6 24 00 00 4E FE DD 46 FF FD 5E 4A FD 56 4B -R 00 00 01 00 -T F1 24 00 00 3E C0 24 00 00 21 C0 24 00 00 CD -R 00 00 01 00 29 05 01 00 00 0A 01 00 -T F7 24 00 00 00 00 00 00 FD 5E 02 3E -R 00 00 01 00 02 04 0E 00 -T FD 24 00 00 BC 1F 00 00 21 BC 1F 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 02 25 00 00 00 00 00 00 7D FE 05 FD 6E 48 FD -R 00 00 01 00 02 04 0E 00 -T 0B 25 00 00 66 49 23 D2 05 26 00 00 -R 00 00 01 00 00 08 01 00 -T 11 25 00 00 -R 00 00 01 00 -T 11 25 00 00 46 05 C2 05 2A 00 00 FD 6E 4A FD -R 00 00 01 00 00 07 01 00 -T 1A 25 00 00 66 4B 23 46 05 C2 05 2A 00 00 -R 00 00 01 00 00 0A 01 00 -T 22 25 00 00 -R 00 00 01 00 -T 22 25 00 00 -R 00 00 01 00 -T 22 25 00 00 -R 00 00 01 00 -T 22 25 00 00 FD 36 01 01 FD 7E 02 FE 2B 20 2D -R 00 00 01 00 -T 2D 25 00 00 -R 00 00 01 00 -T 2D 25 00 00 FD 6E 4A FD 66 4B 0E 24 09 4E 23 -R 00 00 01 00 -T 38 25 00 00 46 23 5E 23 56 D5 C5 FD 6E 48 FD -R 00 00 01 00 -T 43 25 00 00 66 49 01 24 00 09 4E 23 46 23 5E -R 00 00 01 00 -T 4E 25 00 00 23 56 69 60 C1 09 EB C1 ED 4A 18 -R 00 00 01 00 -T 59 25 00 00 33 -R 00 00 01 00 -T 5A 25 00 00 -R 00 00 01 00 -T 5A 25 00 00 FE 2D 20 34 FD 6E 4A FD 66 4B 0E -R 00 00 01 00 -T 65 25 00 00 24 09 4E 23 46 23 5E 23 56 69 60 -R 00 00 01 00 -T 70 25 00 00 D5 E5 FD 6E 48 FD 66 49 01 24 00 -R 00 00 01 00 -T 7B 25 00 00 09 4E 23 46 23 5E 23 56 69 60 A7 -R 00 00 01 00 -T 86 25 00 00 C1 ED 42 EB C1 ED 42 -R 00 00 01 00 -T 8D 25 00 00 -R 00 00 01 00 -T 8D 25 00 00 4D 44 EB 18 58 -R 00 00 01 00 -T 92 25 00 00 -R 00 00 01 00 -T 92 25 00 00 FE 2A 20 29 FD 6E 48 FD 66 49 0E -R 00 00 01 00 -T 9D 25 00 00 24 09 4E 23 46 23 5E 23 56 D5 C5 -R 00 00 01 00 -T A8 25 00 00 FD 6E 4A FD 66 4B 01 24 00 09 5E -R 00 00 01 00 -T B3 25 00 00 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T BB 25 00 00 00 00 00 00 18 2B -R 00 00 01 00 02 04 01 00 -T BF 25 00 00 -R 00 00 01 00 -T BF 25 00 00 FE 2F 20 33 FD 6E 4A FD 66 4B 0E -R 00 00 01 00 -T CA 25 00 00 24 09 4E 23 46 23 5E 23 56 D5 C5 -R 00 00 01 00 -T D5 25 00 00 FD 6E 48 FD 66 49 01 24 00 09 5E -R 00 00 01 00 -T E0 25 00 00 23 56 23 4E 23 46 EB CD -R 00 00 01 00 -T E8 25 00 00 00 00 00 00 -R 00 00 01 00 02 04 14 00 -T EA 25 00 00 -R 00 00 01 00 -T EA 25 00 00 DD 75 F8 DD 74 F9 DD 71 FA DD 70 -R 00 00 01 00 -T F5 25 00 00 FB -R 00 00 01 00 -T F6 25 00 00 -R 00 00 01 00 -T F6 25 00 00 DD 4E FA DD 46 FB DD 6E F8 DD 66 -R 00 00 01 00 -T 01 26 00 00 F9 C3 AC 29 00 00 -R 00 00 01 00 00 06 01 00 -T 05 26 00 00 -R 00 00 01 00 -T 05 26 00 00 -R 00 00 01 00 -T 05 26 00 00 7E FE 03 CA 3A 27 00 00 FD 6E 4A -R 00 00 01 00 00 08 01 00 -T 0E 26 00 00 FD 66 4B 23 7E FE 03 CA -R 00 00 01 00 -T 16 26 00 00 3A 27 00 00 -R 00 00 01 00 00 04 01 00 -T 18 26 00 00 -R 00 00 01 00 -T 18 26 00 00 -R 00 00 01 00 -T 18 26 00 00 -R 00 00 01 00 -T 18 26 00 00 FD 36 01 04 FD 5E 02 CD -R 00 00 01 00 -T 20 26 00 00 00 00 00 00 07 00 26 3C 3D 3E 5B -R 00 00 01 00 02 04 0A 00 -T 29 26 00 00 5D 7C 3A 27 00 00 18 27 00 00 -R 00 00 01 00 00 06 01 00 00 0A 01 00 -T 2F 26 00 00 DC 26 00 00 B9 26 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 33 26 00 00 96 26 00 00 3B 26 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 37 26 00 00 79 26 00 00 00 27 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 3B 26 00 00 -R 00 00 01 00 -T 3B 26 00 00 FD 6E 4A FD 66 4B 01 24 00 09 4E -R 00 00 01 00 -T 46 26 00 00 23 46 23 5E 23 56 D5 C5 FD 6E 48 -R 00 00 01 00 -T 51 26 00 00 FD 66 49 01 24 00 09 4E 23 46 23 -R 00 00 01 00 -T 5C 26 00 00 5E 23 56 69 60 C1 A7 ED 42 C1 20 -R 00 00 01 00 -T 67 26 00 00 0B EB ED 42 20 06 4D 44 23 C3 -R 00 00 01 00 -T 71 26 00 00 2E 27 00 00 -R 00 00 01 00 00 04 01 00 -T 73 26 00 00 -R 00 00 01 00 -T 73 26 00 00 01 00 00 C3 FC 26 00 00 -R 00 00 01 00 00 08 01 00 -T 79 26 00 00 -R 00 00 01 00 -T 79 26 00 00 FD 6E 4A FD 66 4B 01 24 00 09 4E -R 00 00 01 00 -T 84 26 00 00 23 46 23 5E 23 56 D5 C5 CD -R 00 00 01 00 -T 8D 26 00 00 08 2A 00 00 01 00 00 30 68 18 61 -R 00 00 01 00 00 04 01 00 -T 96 26 00 00 -R 00 00 01 00 -T 96 26 00 00 FD 6E 48 FD 66 49 01 24 00 09 4E -R 00 00 01 00 -T A1 26 00 00 23 46 23 5E 23 56 D5 C5 FD 6E 4A -R 00 00 01 00 -T AC 26 00 00 FD 66 4B CD 0E 2A 00 00 01 00 00 -R 00 00 01 00 00 08 01 00 -T B5 26 00 00 30 45 18 3E -R 00 00 01 00 -T B9 26 00 00 -R 00 00 01 00 -T B9 26 00 00 FD 6E 48 FD 66 49 01 24 00 09 4E -R 00 00 01 00 -T C4 26 00 00 23 46 23 5E 23 56 D5 C5 FD 6E 4A -R 00 00 01 00 -T CF 26 00 00 FD 66 4B CD 0E 2A 00 00 01 00 00 -R 00 00 01 00 00 08 01 00 -T D8 26 00 00 38 22 18 1B -R 00 00 01 00 -T DC 26 00 00 -R 00 00 01 00 -T DC 26 00 00 FD 6E 4A FD 66 4B 01 24 00 09 4E -R 00 00 01 00 -T E7 26 00 00 23 46 23 5E 23 56 D5 C5 CD -R 00 00 01 00 -T F0 26 00 00 08 2A 00 00 01 00 00 38 05 -R 00 00 01 00 00 04 01 00 -T F7 26 00 00 -R 00 00 01 00 -T F7 26 00 00 21 01 00 18 32 -R 00 00 01 00 -T FC 26 00 00 -R 00 00 01 00 -T FC 26 00 00 69 60 18 2E -R 00 00 01 00 -T 00 27 00 00 -R 00 00 01 00 -T 00 27 00 00 FD 6E 4A FD 66 4B 01 24 00 09 4E -R 00 00 01 00 -T 0B 27 00 00 23 46 23 5E 23 56 D5 C5 CD -R 00 00 01 00 -T 14 27 00 00 1D 2A 00 00 18 16 -R 00 00 01 00 00 04 01 00 -T 18 27 00 00 -R 00 00 01 00 -T 18 27 00 00 FD 6E 4A FD 66 4B 01 24 00 09 4E -R 00 00 01 00 -T 23 27 00 00 23 46 23 5E 23 56 D5 C5 CD -R 00 00 01 00 -T 2C 27 00 00 32 2A 00 00 -R 00 00 01 00 00 04 01 00 -T 2E 27 00 00 -R 00 00 01 00 -T 2E 27 00 00 FD 75 24 FD 74 25 FD 71 26 FD 70 -R 00 00 01 00 -T 39 27 00 00 27 -R 00 00 01 00 -T 3A 27 00 00 -R 00 00 01 00 -T 3A 27 00 00 -R 00 00 01 00 -T 3A 27 00 00 FD 6E 48 FD 66 49 23 7E FE 03 C2 -R 00 00 01 00 -T 45 27 00 00 34 28 00 00 FD 6E 4A FD 66 4B 23 -R 00 00 01 00 00 04 01 00 -T 4E 27 00 00 7E FE 03 C2 34 28 00 00 -R 00 00 01 00 00 08 01 00 -T 54 27 00 00 -R 00 00 01 00 -T 54 27 00 00 -R 00 00 01 00 -T 54 27 00 00 -R 00 00 01 00 -T 54 27 00 00 FD 6E 4A FD 66 4B 01 28 00 09 4D -R 00 00 01 00 -T 5F 27 00 00 44 FD 6E 48 FD 66 49 11 28 00 19 -R 00 00 01 00 -T 6A 27 00 00 EB 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 -T 70 27 00 00 CD 00 00 00 00 FD 5E 02 CD -R 00 00 01 00 02 05 0E 00 -T 77 27 00 00 00 00 00 00 06 00 2B 3C 3D 3E 5B -R 00 00 01 00 02 04 0A 00 -T 80 27 00 00 5D 34 28 00 00 DF 27 00 00 -R 00 00 01 00 00 05 01 00 00 09 01 00 -T 85 27 00 00 C6 27 00 00 AD 27 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 89 27 00 00 8F 27 00 00 A0 27 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 8D 27 00 00 FF 27 00 00 -R 00 00 01 00 00 04 01 00 -T 8F 27 00 00 -R 00 00 01 00 -T 8F 27 00 00 FD 36 01 04 7D B4 20 04 4F 47 18 -R 00 00 01 00 -T 9A 27 00 00 4F -R 00 00 01 00 -T 9B 27 00 00 -R 00 00 01 00 -T 9B 27 00 00 01 00 00 18 4F -R 00 00 01 00 -T A0 27 00 00 -R 00 00 01 00 -T A0 27 00 00 FD 36 01 04 CB 7C 01 00 00 28 44 -R 00 00 01 00 -T AB 27 00 00 18 3D -R 00 00 01 00 -T AD 27 00 00 -R 00 00 01 00 -T AD 27 00 00 FD 36 01 04 4D 44 21 00 00 F6 80 -R 00 00 01 00 -T B8 27 00 00 ED 42 E2 BE 27 00 00 AC -R 00 00 01 00 00 07 01 00 -T BE 27 00 00 -R 00 00 01 00 -T BE 27 00 00 01 00 00 F2 EF 27 00 00 18 24 -R 00 00 01 00 00 08 01 00 -T C6 27 00 00 -R 00 00 01 00 -T C6 27 00 00 FD 36 01 04 4D 44 21 00 00 F6 80 -R 00 00 01 00 -T D1 27 00 00 ED 42 E2 D7 27 00 00 AC -R 00 00 01 00 00 07 01 00 -T D7 27 00 00 -R 00 00 01 00 -T D7 27 00 00 01 00 00 FA EF 27 00 00 18 0B -R 00 00 01 00 00 08 01 00 -T DF 27 00 00 -R 00 00 01 00 -T DF 27 00 00 FD 36 01 04 CB 7C 01 00 00 20 05 -R 00 00 01 00 -T EA 27 00 00 -R 00 00 01 00 -T EA 27 00 00 21 01 00 18 02 -R 00 00 01 00 -T EF 27 00 00 -R 00 00 01 00 -T EF 27 00 00 69 60 -R 00 00 01 00 -T F1 27 00 00 -R 00 00 01 00 -T F1 27 00 00 FD 75 24 FD 74 25 FD 71 26 FD 70 -R 00 00 01 00 -T FC 27 00 00 27 18 35 -R 00 00 01 00 -T FF 27 00 00 -R 00 00 01 00 -T FF 27 00 00 FD 36 01 03 FD 6E 48 FD 66 49 01 -R 00 00 01 00 -T 0A 28 00 00 28 00 09 4D 44 21 28 00 FD E5 D1 -R 00 00 01 00 -T 15 28 00 00 CD AB 04 00 00 FD 6E 4A FD 66 4B -R 00 00 01 00 00 05 01 00 -T 1E 28 00 00 01 28 00 09 4D 44 21 28 00 FD E5 -R 00 00 01 00 -T 29 28 00 00 D1 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 06 00 -T 2F 28 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 06 00 02 09 0E 00 -T 34 28 00 00 -R 00 00 01 00 -T 34 28 00 00 -R 00 00 01 00 -T 34 28 00 00 FD 6E 48 FD 66 49 23 7E FE 04 C2 -R 00 00 01 00 -T 3F 28 00 00 05 2A 00 00 FD 6E 4A FD 66 4B 23 -R 00 00 01 00 00 04 01 00 -T 48 28 00 00 7E FE 04 C2 05 2A 00 00 -R 00 00 01 00 00 08 01 00 -T 4E 28 00 00 -R 00 00 01 00 -T 4E 28 00 00 -R 00 00 01 00 -T 4E 28 00 00 -R 00 00 01 00 -T 4E 28 00 00 FD 36 01 04 FD 7E 02 FE 26 20 19 -R 00 00 01 00 -T 59 28 00 00 -R 00 00 01 00 -T 59 28 00 00 FD 6E 4A FD 66 4B 01 24 00 09 4E -R 00 00 01 00 -T 64 28 00 00 23 46 23 5E 23 56 D5 C5 CD -R 00 00 01 00 -T 6D 28 00 00 1D 2A 00 00 C3 AC 29 00 00 -R 00 00 01 00 00 04 01 00 00 09 01 00 -T 72 28 00 00 -R 00 00 01 00 -T 72 28 00 00 FE 7C C2 05 2A 00 00 FD 6E 4A FD -R 00 00 01 00 00 07 01 00 -T 7B 28 00 00 66 4B 01 24 00 09 4E 23 46 23 5E -R 00 00 01 00 -T 86 28 00 00 23 56 D5 C5 CD 32 2A 00 00 C3 -R 00 00 01 00 00 09 01 00 -T 8E 28 00 00 AC 29 00 00 -R 00 00 01 00 00 04 01 00 -T 90 28 00 00 -R 00 00 01 00 -T 90 28 00 00 -R 00 00 01 00 -T 90 28 00 00 -R 00 00 01 00 -T 90 28 00 00 -R 00 00 01 00 -T 90 28 00 00 DD 36 FC FF DD 36 FD FF 79 B0 28 -R 00 00 01 00 -T 9B 28 00 00 79 -R 00 00 01 00 -T 9C 28 00 00 -R 00 00 01 00 -T 9C 28 00 00 69 60 7E 23 66 6F 46 DD 70 FA 23 -R 00 00 01 00 -T A7 28 00 00 66 DD 74 FB AF DD 77 F8 DD 77 F9 -R 00 00 01 00 -T B2 28 00 00 -R 00 00 01 00 -T B2 28 00 00 DD 4E FA DD 46 FB DD 6E F8 DD 66 -R 00 00 01 00 -T BD 28 00 00 F9 F6 80 ED 42 E2 C6 28 00 00 AC -R 00 00 01 00 00 0A 01 00 -T C6 28 00 00 -R 00 00 01 00 -T C6 28 00 00 F2 15 29 00 00 -R 00 00 01 00 00 05 01 00 -T C9 28 00 00 -R 00 00 01 00 -T C9 28 00 00 21 04 00 FD E5 C1 09 4D 44 DD 6E -R 00 00 01 00 -T D4 28 00 00 FE DD 66 FF 56 23 66 6A 23 23 56 -R 00 00 01 00 -T DF 28 00 00 23 66 6A E5 DD 6E F8 DD 66 F9 29 -R 00 00 01 00 -T EA 28 00 00 29 5D 54 29 19 EB E1 19 EB 3E -R 00 00 01 00 -T F4 28 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 -T F9 28 00 00 00 00 00 00 7D B4 20 0C -R 00 00 01 00 02 04 0E 00 -T FF 28 00 00 -R 00 00 01 00 -T FF 28 00 00 DD 6E F8 DD 66 F9 DD 75 FC DD 74 -R 00 00 01 00 -T 0A 29 00 00 FD -R 00 00 01 00 -T 0B 29 00 00 -R 00 00 01 00 -T 0B 29 00 00 DD 34 F8 20 A2 DD 34 F9 18 9D -R 00 00 01 00 -T 15 29 00 00 -R 00 00 01 00 -T 15 29 00 00 -R 00 00 01 00 -T 15 29 00 00 DD CB FD 7E 20 08 DD 7E FE DD B6 -R 00 00 01 00 -T 20 29 00 00 FF 20 47 -R 00 00 01 00 -T 23 29 00 00 -R 00 00 01 00 -T 23 29 00 00 -R 00 00 01 00 -T 23 29 00 00 -R 00 00 01 00 -T 23 29 00 00 FD 7E 04 FE 27 20 2A -R 00 00 01 00 -T 2A 29 00 00 -R 00 00 01 00 -T 2A 29 00 00 FD 36 01 03 21 04 00 FD E5 C1 09 -R 00 00 01 00 -T 35 29 00 00 4D 44 03 21 28 00 FD E5 D1 CD -R 00 00 01 00 -T 3F 29 00 00 AB 04 00 00 21 28 00 FD E5 C1 09 -R 00 00 01 00 00 04 01 00 -T 48 29 00 00 CD 97 04 00 00 09 01 27 00 09 70 -R 00 00 01 00 00 05 01 00 -T 51 29 00 00 C3 05 2A 00 00 -R 00 00 01 00 00 05 01 00 -T 54 29 00 00 -R 00 00 01 00 -T 54 29 00 00 FD 36 01 01 21 04 00 FD E5 C1 09 -R 00 00 01 00 -T 5F 29 00 00 EB 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 16 00 02 0B 16 00 -T 65 29 00 00 CD 00 00 00 00 18 42 -R 00 00 01 00 02 05 0E 00 -T 6A 29 00 00 -R 00 00 01 00 -T 6A 29 00 00 -R 00 00 01 00 -T 6A 29 00 00 DD 6E FE DD 66 FF 46 23 66 68 23 -R 00 00 01 00 -T 75 29 00 00 23 46 23 66 68 E5 DD 6E FC DD 66 -R 00 00 01 00 -T 80 29 00 00 FD 29 29 4D 44 29 09 4D 44 E1 09 -R 00 00 01 00 -T 8B 29 00 00 01 09 00 09 7E FE 49 20 26 -R 00 00 01 00 -T 94 29 00 00 -R 00 00 01 00 -T 94 29 00 00 FD 36 01 01 DD 4E FC DD 46 FD DD -R 00 00 01 00 -T 9F 29 00 00 5E FE DD 56 FF 3E FD 1E 00 00 21 -R 00 00 01 00 29 0A 01 00 -T A7 29 00 00 FD 1E 00 00 CD 00 00 00 00 -R 00 00 01 00 00 04 01 00 02 09 0E 00 -T AC 29 00 00 -R 00 00 01 00 -T AC 29 00 00 FD 75 24 FD 74 25 FD 71 26 FD 70 -R 00 00 01 00 -T B7 29 00 00 27 18 4B -R 00 00 01 00 -T BA 29 00 00 -R 00 00 01 00 -T BA 29 00 00 DD 6E FE DD 66 FF 46 23 66 68 23 -R 00 00 01 00 -T C5 29 00 00 23 46 23 66 68 E5 DD 6E FC DD 66 -R 00 00 01 00 -T D0 29 00 00 FD 29 29 4D 44 29 09 4D 44 E1 09 -R 00 00 01 00 -T DB 29 00 00 01 09 00 09 7E FE 53 20 21 -R 00 00 01 00 -T E4 29 00 00 -R 00 00 01 00 -T E4 29 00 00 FD 36 01 03 21 28 00 FD E5 C1 09 -R 00 00 01 00 -T EF 29 00 00 E5 DD 4E FC DD 46 FD DD 5E FE DD -R 00 00 01 00 -T FA 29 00 00 56 FF 3E 71 1D 00 00 21 -R 00 00 01 00 29 07 01 00 -T FF 29 00 00 71 1D 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 00 04 01 00 02 09 0E 00 -T 05 2A 00 00 -R 00 00 01 00 -T 05 2A 00 00 -R 00 00 01 00 -T 05 2A 00 00 -R 00 00 01 00 -T 05 2A 00 00 -R 00 00 01 00 -T 05 2A 00 00 C3 7B 04 00 00 -R 00 00 01 00 00 05 01 00 -T 08 2A 00 00 -R 00 00 01 00 -T 08 2A 00 00 FD 6E 48 FD 66 49 -R 00 00 01 00 -T 0E 2A 00 00 -R 00 00 01 00 -T 0E 2A 00 00 01 24 00 09 5E 23 56 23 4E 23 46 -R 00 00 01 00 -T 19 2A 00 00 EB C3 00 00 00 00 -R 00 00 01 00 02 06 10 00 -T 1D 2A 00 00 -R 00 00 01 00 -T 1D 2A 00 00 FD 6E 48 FD 66 49 01 24 00 09 5E -R 00 00 01 00 -T 28 2A 00 00 23 56 23 4E 23 46 EB C3 -R 00 00 01 00 -T 30 2A 00 00 00 00 00 00 -R 00 00 01 00 02 04 11 00 -T 32 2A 00 00 -R 00 00 01 00 -T 32 2A 00 00 FD 6E 48 FD 66 49 01 24 00 09 5E -R 00 00 01 00 -T 3D 2A 00 00 23 56 23 4E 23 46 EB C3 -R 00 00 01 00 -T 45 2A 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 53 45 4C 00 -R 00 00 02 00 -T 04 00 00 00 -R 00 00 02 00 -T 04 00 00 00 49 4E 53 00 -R 00 00 02 00 -T 08 00 00 00 -R 00 00 02 00 -T 08 00 00 00 55 50 44 00 -R 00 00 02 00 -T 0C 00 00 00 -R 00 00 02 00 -T 0C 00 00 00 44 45 4C 00 -R 00 00 02 00 -T 10 00 00 00 -R 00 00 02 00 -T 10 00 00 00 20 46 52 20 00 -R 00 00 02 00 -T 15 00 00 00 -R 00 00 02 00 -T 15 00 00 00 20 57 48 00 -R 00 00 02 00 -T 19 00 00 00 -R 00 00 02 00 -T 19 00 00 00 20 4F 52 44 20 00 -R 00 00 02 00 -T 1F 00 00 00 -R 00 00 02 00 -T 1F 00 00 00 28 00 -R 00 00 02 00 -T 21 00 00 00 -R 00 00 02 00 -T 21 00 00 00 29 20 56 41 4C 28 00 -R 00 00 02 00 -T 28 00 00 00 -R 00 00 02 00 -T 28 00 00 00 20 53 54 20 00 -R 00 00 02 00 -T 2D 00 00 00 -R 00 00 02 00 -T 2D 00 00 00 2F 75 73 72 2F 64 62 2F 00 -R 00 00 02 00 -T 36 00 00 00 -R 00 00 02 00 -T 36 00 00 00 2E 54 42 4C 00 -R 00 00 02 00 -T 3B 00 00 00 -R 00 00 02 00 -T 3B 00 00 00 72 62 00 -R 00 00 02 00 -T 3E 00 00 00 -R 00 00 02 00 -T 3E 00 00 00 2E 44 41 54 00 -R 00 00 02 00 -T 43 00 00 00 -R 00 00 02 00 -T 43 00 00 00 72 2B 62 00 -R 00 00 02 00 -T 47 00 00 00 -R 00 00 02 00 -T 47 00 00 00 22 2A 22 00 -R 00 00 02 00 -T 4B 00 00 00 -R 00 00 02 00 -T 4B 00 00 00 72 65 73 75 6C 74 00 -R 00 00 02 00 -T 52 00 00 00 -R 00 00 02 00 -T 52 00 00 00 77 62 00 -R 00 00 02 00 diff --git a/src/db/db.rst b/src/db/db.rst deleted file mode 100644 index ce9ceaee..00000000 --- a/src/db/db.rst +++ /dev/null @@ -1,6551 +0,0 @@ - 1 NAME db(17) - 2 RSEG CODE(0) - 3 RSEG CSTR(0) - 4 EXTERN __fopen - 5 EXTERN atoi - 6 EXTERN atol - 7 PUBLIC dbDeleteExpression - 8 PUBLIC dbDeleteList - 9 PUBLIC dbDeleteRow - 10 PUBLIC dbEvaluateExpression - 11 PUBLIC dbExecuteDelete - 12 PUBLIC dbExecuteInsert - 13 PUBLIC dbExecuteQuery - 14 PUBLIC dbExecuteStatement - 15 PUBLIC dbExecuteUpdate - 16 PUBLIC dbFieldOffset - 17 PUBLIC dbFieldSearch - 18 PUBLIC dbGetInt - 19 PUBLIC dbGetLong - 20 PUBLIC dbGetString - 21 PUBLIC dbListIndex - 22 PUBLIC dbListSize - 23 PUBLIC dbNewExpression - 24 PUBLIC dbNewRow - 25 PUBLIC dbNextRow - 26 PUBLIC dbOperatorPrecedence - 27 PUBLIC dbParseDelete - 28 PUBLIC dbParseExpression - 29 PUBLIC dbParseInsert - 30 PUBLIC dbParseList - 31 PUBLIC dbParseSelect - 32 PUBLIC dbParseStatement - 33 PUBLIC dbParseUpdate - 34 PUBLIC dbRecordSize - 35 PUBLIC dbReplaceChar - 36 PUBLIC dbResultSetClose - 37 PUBLIC dbSkipLiteral - 38 PUBLIC dbStatementClose - 39 PUBLIC dbTableClose - 40 PUBLIC dbTableOpen - 41 PUBLIC dbTrimString - 42 EXTERN fclose - 43 EXTERN fread - 44 EXTERN free - 45 EXTERN fseek - 46 EXTERN fwrite - 47 EXTERN itoa - 48 EXTERN ltoa - 49 EXTERN malloc - 50 EXTERN memcpy - 51 EXTERN strcat - 52 EXTERN strcmp - 53 EXTERN strcpy - 54 EXTERN strlen - 55 EXTERN strncmp - 56 EXTERN ?CL64180B_4_06_L00 - 57 EXTERN ?L_MUL_L03 - 58 EXTERN ?SL_DIV_L03 - 59 EXTERN ?L_AND_L03 - 60 EXTERN ?L_OR_L03 - 61 EXTERN ?SL_CMP_L03 - 62 EXTERN ?C_V_SWITCH_L06 - 63 EXTERN ?BANK_CALL_DIRECT_L08 - 64 EXTERN ?BANK_FAST_LEAVE_L08 - 65 RSEG CODE - 00004555 66 dbDeleteList: - 00004555 DD E5 67 PUSH IX - 00004557 D5 68 PUSH DE - 00004558 DD E1 69 POP IX - 0000455A 7B 70 LD A,E - 0000455B B2 71 OR D - 0000455C 28 27 72 JR Z,?0001 - 0000455E 73 ?0000: - 0000455E DD 7E 04 74 LD A,(IX+4) - 00004561 DD B6 05 75 OR (IX+5) - 00004564 28 03 76 JR Z,?0003 - 00004566 77 ?0002: - 00004566 CD 8A 45 78 CALL LWRD ?0638 - 00004569 79 ?0003: - 00004569 DD 7E 02 80 LD A,(IX+2) - 0000456C DD B6 03 81 OR (IX+3) - 0000456F 28 0E 82 JR Z,?0005 - 00004571 83 ?0004: - 00004571 DD 5E 02 84 LD E,(IX+2) - 00004574 DD 56 03 85 LD D,(IX+3) - 00004577 3E 00 86 LD A,BYTE3 dbDeleteList - 00004579 21 55 45 87 LD HL,LWRD dbDeleteList - 0000457C CD 19 82 88 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000457F 89 ?0005: - 0000457F DD E5 90 PUSH IX - 00004581 D1 91 POP DE - 00004582 CD 90 45 92 CALL LWRD ?0639 - 00004585 93 ?0001: - 00004585 DD E1 94 POP IX - 00004587 C3 A9 81 95 JP LWRD ?BANK_FAST_LEAVE_L08 - 0000458A 96 ?0638: - 0000458A DD 5E 04 97 LD E,(IX+4) - 0000458D DD 56 05 98 LD D,(IX+5) - 00004590 99 ?0639: - 00004590 3E 00 100 LD A,BYTE3 free - 00004592 21 3C 7E 101 LD HL,LWRD free - 00004595 C3 19 82 102 JP LWRD ?BANK_CALL_DIRECT_L08 - 00004598 103 dbListIndex: - 00004598 C5 104 PUSH BC - 00004599 FD E5 105 PUSH IY - 0000459B DD E5 106 PUSH IX - 0000459D D5 107 PUSH DE - 0000459E 6B 108 LD L,E - 0000459F 62 109 LD H,D - 000045A0 E5 110 PUSH HL - 000045A1 DD E1 111 POP IX - 000045A3 FD 21 00 00 112 LD IY,0 - 000045A7 113 ?0007: - 000045A7 DD 7E 00 114 LD A,(IX+0) - 000045AA DD B6 01 115 OR (IX+1) - 000045AD 28 0D 116 JR Z,?0006 - 000045AF 117 ?0008: - 000045AF DD 6E 00 118 LD L,(IX+0) - 000045B2 DD 66 01 119 LD H,(IX+1) - 000045B5 E5 120 PUSH HL - 000045B6 DD E1 121 POP IX - 000045B8 FD 23 122 INC IY - 000045BA 18 EB 123 JR ?0007 - 000045BC 124 ?0006: - 000045BC FD E5 125 PUSH IY - 000045BE E1 126 POP HL - 000045BF F1 127 POP AF - 000045C0 128 ?0614: - 000045C0 DD E1 129 POP IX - 000045C2 FD E1 130 POP IY - 000045C4 C1 131 POP BC - 000045C5 C3 A9 81 132 JP LWRD ?BANK_FAST_LEAVE_L08 - 000045C8 133 dbListSize: - 000045C8 C5 134 PUSH BC - 000045C9 FD E5 135 PUSH IY - 000045CB DD E5 136 PUSH IX - 000045CD D5 137 PUSH DE - 000045CE 6B 138 LD L,E - 000045CF 62 139 LD H,D - 000045D0 E5 140 PUSH HL - 000045D1 DD E1 141 POP IX - 000045D3 EB 142 EX DE,HL - 000045D4 3E 00 143 LD A,BYTE3 dbListIndex - 000045D6 21 98 45 144 LD HL,LWRD dbListIndex - 000045D9 CD 19 82 145 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000045DC 23 146 INC HL - 000045DD E5 147 PUSH HL - 000045DE FD E1 148 POP IY - 000045E0 149 ?0010: - 000045E0 DD 7E 02 150 LD A,(IX+2) - 000045E3 DD B6 03 151 OR (IX+3) - 000045E6 28 0D 152 JR Z,?0009 - 000045E8 153 ?0011: - 000045E8 DD 6E 02 154 LD L,(IX+2) - 000045EB DD 66 03 155 LD H,(IX+3) - 000045EE E5 156 PUSH HL - 000045EF DD E1 157 POP IX - 000045F1 FD 23 158 INC IY - 000045F3 18 EB 159 JR ?0010 - 000045F5 160 ?0009: - 000045F5 C3 BC 45 161 JP LWRD ?0006 - 000045F8 162 dbSkipLiteral: - 000045F8 FD E5 163 PUSH IY - 000045FA DD E5 164 PUSH IX - 000045FC D5 165 PUSH DE - 000045FD C5 166 PUSH BC - 000045FE DD E1 167 POP IX - 00004600 21 0A 00 168 LD HL,10 - 00004603 39 169 ADD HL,SP - 00004604 5E 170 LD E,(HL) - 00004605 23 171 INC HL - 00004606 56 172 LD D,(HL) - 00004607 D5 173 PUSH DE - 00004608 FD E1 174 POP IY - 0000460A FD 6E 00 175 LD L,(IY+0) - 0000460D FD 66 01 176 LD H,(IY+1) - 00004610 09 177 ADD HL,BC - 00004611 56 178 LD D,(HL) - 00004612 21 0C 00 179 LD HL,12 - 00004615 39 180 ADD HL,SP - 00004616 7E 181 LD A,(HL) - 00004617 23 182 INC HL - 00004618 66 183 LD H,(HL) - 00004619 6F 184 LD L,A - 0000461A 5E 185 LD E,(HL) - 0000461B 23 186 INC HL - 0000461C 66 187 LD H,(HL) - 0000461D 6B 188 LD L,E - 0000461E 09 189 ADD HL,BC - 0000461F 190 ?0458: - 0000461F 72 191 LD (HL),D - 00004620 192 ?0013: - 00004620 FD E5 193 PUSH IY - 00004622 E1 194 POP HL - 00004623 4E 195 LD C,(HL) - 00004624 23 196 INC HL - 00004625 46 197 LD B,(HL) - 00004626 03 198 INC BC - 00004627 70 199 LD (HL),B - 00004628 2B 200 DEC HL - 00004629 71 201 LD (HL),C - 0000462A DD E5 202 PUSH IX - 0000462C E1 203 POP HL - 0000462D 09 204 ADD HL,BC - 0000462E 7E 205 LD A,(HL) - 0000462F 21 00 00 206 LD HL,0 - 00004632 39 207 ADD HL,SP - 00004633 BE 208 CP (HL) - 00004634 FD 6E 00 209 LD L,(IY+0) - 00004637 FD 66 01 210 LD H,(IY+1) - 0000463A DD E5 211 PUSH IX - 0000463C C1 212 POP BC - 0000463D 09 213 ADD HL,BC - 0000463E 56 214 LD D,(HL) - 0000463F D5 215 PUSH DE - 00004640 21 0E 00 216 LD HL,14 - 00004643 39 217 ADD HL,SP - 00004644 7E 218 LD A,(HL) - 00004645 23 219 INC HL - 00004646 66 220 LD H,(HL) - 00004647 6F 221 LD L,A - 00004648 5E 222 LD E,(HL) - 00004649 23 223 INC HL - 0000464A 56 224 LD D,(HL) - 0000464B 13 225 INC DE - 0000464C 72 226 LD (HL),D - 0000464D 2B 227 DEC HL - 0000464E 73 228 LD (HL),E - 0000464F 69 229 LD L,C - 00004650 60 230 LD H,B - 00004651 19 231 ADD HL,DE - 00004652 D1 232 POP DE - 00004653 20 CA 233 JR NZ,?0458 - 00004655 234 ?0014: - 00004655 235 ?0012: - 00004655 72 236 LD (HL),D - 00004656 237 ?0625: - 00004656 E1 238 POP HL - 00004657 DD E1 239 POP IX - 00004659 FD E1 240 POP IY - 0000465B C3 A9 81 241 JP LWRD ?BANK_FAST_LEAVE_L08 - 0000465E 242 dbTrimString: - 0000465E C5 243 PUSH BC - 0000465F FD E5 244 PUSH IY - 00004661 DD E5 245 PUSH IX - 00004663 DD 21 00 00 246 LD IX,0 - 00004667 DD 39 247 ADD IX,SP - 00004669 F5 248 PUSH AF - 0000466A F5 249 PUSH AF - 0000466B F5 250 PUSH AF - 0000466C D5 251 PUSH DE - 0000466D FD E1 252 POP IY - 0000466F AF 253 XOR A - 00004670 DD 77 FA 254 LD (IX-6),A - 00004673 DD 77 FB 255 LD (IX-5),A - 00004676 DD 77 FC 256 LD (IX-4),A - 00004679 DD 77 FD 257 LD (IX-3),A - 0000467C DD 36 FE 20 258 LD (IX-2),32 - 00004680 259 ?0016: - 00004680 DD 6E FA 260 LD L,(IX-6) - 00004683 DD 66 FB 261 LD H,(IX-5) - 00004686 FD E5 262 PUSH IY - 00004688 C1 263 POP BC - 00004689 09 264 ADD HL,BC - 0000468A 7E 265 LD A,(HL) - 0000468B B7 266 OR A - 0000468C CA DE 47 267 JP Z,?0015 - 0000468F 268 ?0017: - 0000468F DD 6E FA 269 LD L,(IX-6) - 00004692 DD 66 FB 270 LD H,(IX-5) - 00004695 09 271 ADD HL,BC - 00004696 7E 272 LD A,(HL) - 00004697 FE 27 273 CP 39 - 00004699 28 0C 274 JR Z,?0020 - 0000469B DD 6E FA 275 LD L,(IX-6) - 0000469E DD 66 FB 276 LD H,(IX-5) - 000046A1 09 277 ADD HL,BC - 000046A2 7E 278 LD A,(HL) - 000046A3 FE 22 279 CP 34 - 000046A5 20 1D 280 JR NZ,?0019 - 000046A7 281 ?0020: - 000046A7 282 ?0021: - 000046A7 283 ?0018: - 000046A7 21 02 00 284 LD HL,2 - 000046AA 39 285 ADD HL,SP - 000046AB E5 286 PUSH HL - 000046AC 2B 287 DEC HL - 000046AD 2B 288 DEC HL - 000046AE E5 289 PUSH HL - 000046AF DD 6E FA 290 LD L,(IX-6) - 000046B2 DD 66 FB 291 LD H,(IX-5) - 000046B5 FD E5 292 PUSH IY - 000046B7 D1 293 POP DE - 000046B8 19 294 ADD HL,DE - 000046B9 5E 295 LD E,(HL) - 000046BA 3E 00 296 LD A,BYTE3 dbSkipLiteral - 000046BC 21 F8 45 297 LD HL,LWRD dbSkipLiteral - 000046BF CD 19 82 298 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000046C2 E1 299 POP HL - 000046C3 E1 300 POP HL - 000046C4 301 ?0019: - 000046C4 DD 7E FE 302 LD A,(IX-2) - 000046C7 FE 20 303 CP 32 - 000046C9 C2 6D 47 304 JP NZ,?0023 - 000046CC DD 6E FA 305 LD L,(IX-6) - 000046CF DD 66 FB 306 LD H,(IX-5) - 000046D2 FD E5 307 PUSH IY - 000046D4 C1 308 POP BC - 000046D5 09 309 ADD HL,BC - 000046D6 7E 310 LD A,(HL) - 000046D7 FE 2C 311 CP 44 - 000046D9 CA 60 47 312 JP Z,?0026 - 000046DC DD 6E FA 313 LD L,(IX-6) - 000046DF DD 66 FB 314 LD H,(IX-5) - 000046E2 09 315 ADD HL,BC - 000046E3 7E 316 LD A,(HL) - 000046E4 FE 29 317 CP 41 - 000046E6 28 78 318 JR Z,?0026 - 000046E8 DD 6E FA 319 LD L,(IX-6) - 000046EB DD 66 FB 320 LD H,(IX-5) - 000046EE 09 321 ADD HL,BC - 000046EF 7E 322 LD A,(HL) - 000046F0 FE 28 323 CP 40 - 000046F2 28 6C 324 JR Z,?0026 - 000046F4 DD 6E FA 325 LD L,(IX-6) - 000046F7 DD 66 FB 326 LD H,(IX-5) - 000046FA 09 327 ADD HL,BC - 000046FB 7E 328 LD A,(HL) - 000046FC FE 2B 329 CP 43 - 000046FE 28 60 330 JR Z,?0026 - 00004700 DD 6E FA 331 LD L,(IX-6) - 00004703 DD 66 FB 332 LD H,(IX-5) - 00004706 09 333 ADD HL,BC - 00004707 7E 334 LD A,(HL) - 00004708 FE 2D 335 CP 45 - 0000470A 28 54 336 JR Z,?0026 - 0000470C DD 6E FA 337 LD L,(IX-6) - 0000470F DD 66 FB 338 LD H,(IX-5) - 00004712 09 339 ADD HL,BC - 00004713 7E 340 LD A,(HL) - 00004714 FE 2A 341 CP 42 - 00004716 28 48 342 JR Z,?0026 - 00004718 DD 6E FA 343 LD L,(IX-6) - 0000471B DD 66 FB 344 LD H,(IX-5) - 0000471E 09 345 ADD HL,BC - 0000471F 7E 346 LD A,(HL) - 00004720 FE 2F 347 CP 47 - 00004722 28 3C 348 JR Z,?0026 - 00004724 DD 6E FA 349 LD L,(IX-6) - 00004727 DD 66 FB 350 LD H,(IX-5) - 0000472A 09 351 ADD HL,BC - 0000472B 7E 352 LD A,(HL) - 0000472C FE 26 353 CP 38 - 0000472E 28 30 354 JR Z,?0026 - 00004730 DD 6E FA 355 LD L,(IX-6) - 00004733 DD 66 FB 356 LD H,(IX-5) - 00004736 09 357 ADD HL,BC - 00004737 7E 358 LD A,(HL) - 00004738 FE 7C 359 CP 124 - 0000473A 28 24 360 JR Z,?0026 - 0000473C DD 6E FA 361 LD L,(IX-6) - 0000473F DD 66 FB 362 LD H,(IX-5) - 00004742 09 363 ADD HL,BC - 00004743 7E 364 LD A,(HL) - 00004744 FE 3D 365 CP 61 - 00004746 28 18 366 JR Z,?0026 - 00004748 DD 6E FA 367 LD L,(IX-6) - 0000474B DD 66 FB 368 LD H,(IX-5) - 0000474E 09 369 ADD HL,BC - 0000474F 7E 370 LD A,(HL) - 00004750 FE 3C 371 CP 60 - 00004752 28 0C 372 JR Z,?0026 - 00004754 DD 6E FA 373 LD L,(IX-6) - 00004757 DD 66 FB 374 LD H,(IX-5) - 0000475A 09 375 ADD HL,BC - 0000475B 7E 376 LD A,(HL) - 0000475C FE 3E 377 CP 62 - 0000475E 20 0D 378 JR NZ,?0023 - 00004760 379 ?0026: - 00004760 380 ?0027: - 00004760 381 ?0025: - 00004760 382 ?0024: - 00004760 383 ?0022: - 00004760 DD 6E FC 384 LD L,(IX-4) - 00004763 DD 66 FD 385 LD H,(IX-3) - 00004766 2B 386 DEC HL - 00004767 DD 75 FC 387 LD (IX-4),L - 0000476A DD 74 FD 388 LD (IX-3),H - 0000476D 389 ?0023: - 0000476D DD 6E FA 390 LD L,(IX-6) - 00004770 DD 66 FB 391 LD H,(IX-5) - 00004773 FD E5 392 PUSH IY - 00004775 C1 393 POP BC - 00004776 09 394 ADD HL,BC - 00004777 56 395 LD D,(HL) - 00004778 DD 6E FC 396 LD L,(IX-4) - 0000477B DD 66 FD 397 LD H,(IX-3) - 0000477E 09 398 ADD HL,BC - 0000477F 72 399 LD (HL),D - 00004780 DD 7E FE 400 LD A,(IX-2) - 00004783 FE 2C 401 CP 44 - 00004785 28 2C 402 JR Z,?0031 - 00004787 FE 20 403 CP 32 - 00004789 28 28 404 JR Z,?0031 - 0000478B FE 28 405 CP 40 - 0000478D 28 24 406 JR Z,?0031 - 0000478F FE 2B 407 CP 43 - 00004791 28 20 408 JR Z,?0031 - 00004793 FE 2D 409 CP 45 - 00004795 28 1C 410 JR Z,?0031 - 00004797 FE 2A 411 CP 42 - 00004799 28 18 412 JR Z,?0031 - 0000479B FE 2F 413 CP 47 - 0000479D 28 14 414 JR Z,?0031 - 0000479F FE 26 415 CP 38 - 000047A1 28 10 416 JR Z,?0031 - 000047A3 FE 7C 417 CP 124 - 000047A5 28 0C 418 JR Z,?0031 - 000047A7 FE 3D 419 CP 61 - 000047A9 28 08 420 JR Z,?0031 - 000047AB FE 3E 421 CP 62 - 000047AD 28 04 422 JR Z,?0031 - 000047AF FE 3C 423 CP 60 - 000047B1 20 0C 424 JR NZ,?0032 - 000047B3 425 ?0031: - 000047B3 426 ?0030: - 000047B3 DD 6E FA 427 LD L,(IX-6) - 000047B6 DD 66 FB 428 LD H,(IX-5) - 000047B9 09 429 ADD HL,BC - 000047BA 7E 430 LD A,(HL) - 000047BB FE 20 431 CP 32 - 000047BD 28 08 432 JR Z,?0459 - 000047BF 433 ?0032: - 000047BF 434 ?0033: - 000047BF 435 ?0028: - 000047BF DD 34 FC 436 INC (IX-4) - 000047C2 20 03 437 JR NZ,?0459 - 000047C4 DD 34 FD 438 INC (IX-3) - 000047C7 439 ?0459: - 000047C7 440 ?0029: - 000047C7 DD 6E FA 441 LD L,(IX-6) - 000047CA DD 66 FB 442 LD H,(IX-5) - 000047CD 09 443 ADD HL,BC - 000047CE 46 444 LD B,(HL) - 000047CF DD 70 FE 445 LD (IX-2),B - 000047D2 DD 34 FA 446 INC (IX-6) - 000047D5 C2 80 46 447 JP NZ,?0016 - 000047D8 DD 34 FB 448 INC (IX-5) - 000047DB C3 80 46 449 JP LWRD ?0016 - 000047DE 450 ?0015: - 000047DE DD 7E FE 451 LD A,(IX-2) - 000047E1 FE 20 452 CP 32 - 000047E3 DD 6E FC 453 LD L,(IX-4) - 000047E6 DD 66 FD 454 LD H,(IX-3) - 000047E9 20 01 455 JR NZ,?0035 - 000047EB 456 ?0034: - 000047EB 2B 457 DEC HL - 000047EC 458 ?0035: - 000047EC 09 459 ADD HL,BC - 000047ED 36 00 460 LD (HL),0 - 000047EF 461 ?0036: - 000047EF DD F9 462 LD SP,IX - 000047F1 C3 C0 45 463 JP LWRD ?0614 - 000047F4 464 dbReplaceChar: - 000047F4 FD E5 465 PUSH IY - 000047F6 DD E5 466 PUSH IX - 000047F8 C5 467 PUSH BC - 000047F9 D5 468 PUSH DE - 000047FA FD E1 469 POP IY - 000047FC DD 21 00 00 470 LD IX,0 - 00004800 471 ?0038: - 00004800 DD E5 472 PUSH IX - 00004802 E1 473 POP HL - 00004803 FD E5 474 PUSH IY - 00004805 C1 475 POP BC - 00004806 09 476 ADD HL,BC - 00004807 7E 477 LD A,(HL) - 00004808 21 00 00 478 LD HL,0 - 0000480B 39 479 ADD HL,SP - 0000480C BE 480 CP (HL) - 0000480D 28 0C 481 JR Z,?0037 - 0000480F DD E5 482 PUSH IX - 00004811 E1 483 POP HL - 00004812 09 484 ADD HL,BC - 00004813 7E 485 LD A,(HL) - 00004814 B7 486 OR A - 00004815 28 04 487 JR Z,?0037 - 00004817 488 ?0041: - 00004817 489 ?0040: - 00004817 490 ?0039: - 00004817 DD 23 491 INC IX - 00004819 18 E5 492 JR ?0038 - 0000481B 493 ?0037: - 0000481B DD E5 494 PUSH IX - 0000481D E1 495 POP HL - 0000481E 09 496 ADD HL,BC - 0000481F 7E 497 LD A,(HL) - 00004820 B7 498 OR A - 00004821 28 0C 499 JR Z,?0043 - 00004823 500 ?0042: - 00004823 DD E5 501 PUSH IX - 00004825 E1 502 POP HL - 00004826 09 503 ADD HL,BC - 00004827 E5 504 PUSH HL - 00004828 21 0C 00 505 LD HL,12 - 0000482B 39 506 ADD HL,SP - 0000482C 46 507 LD B,(HL) - 0000482D E1 508 POP HL - 0000482E 70 509 LD (HL),B - 0000482F 510 ?0043: - 0000482F DD E5 511 PUSH IX - 00004831 E1 512 POP HL - 00004832 FD E5 513 PUSH IY - 00004834 C1 514 POP BC - 00004835 09 515 ADD HL,BC - 00004836 516 ?0626: - 00004836 F1 517 POP AF - 00004837 DD E1 518 POP IX - 00004839 FD E1 519 POP IY - 0000483B C3 A9 81 520 JP LWRD ?BANK_FAST_LEAVE_L08 - 0000483E 521 dbParseList: - 0000483E FD E5 522 PUSH IY - 00004840 DD E5 523 PUSH IX - 00004842 DD 21 00 00 524 LD IX,0 - 00004846 DD 39 525 ADD IX,SP - 00004848 C5 526 PUSH BC - 00004849 D5 527 PUSH DE - 0000484A 21 D8 FF 528 LD HL,65496 - 0000484D 39 529 ADD HL,SP - 0000484E F9 530 LD SP,HL - 0000484F 11 06 00 531 LD DE,6 - 00004852 CD E4 49 532 CALL LWRD ?0641 - 00004855 E5 533 PUSH HL - 00004856 FD E1 534 POP IY - 00004858 DD 75 DA 535 LD (IX-38),L - 0000485B DD 74 DB 536 LD (IX-37),H - 0000485E AF 537 XOR A - 0000485F 77 538 LD (HL),A - 00004860 23 539 INC HL - 00004861 77 540 LD (HL),A - 00004862 DD 77 D6 541 LD (IX-42),A - 00004865 DD 77 D7 542 LD (IX-41),A - 00004868 DD 77 D4 543 LD (IX-44),A - 0000486B DD 77 D5 544 LD (IX-43),A - 0000486E 545 ?0045: - 0000486E DD 6E 0A 546 LD L,(IX+10) - 00004871 DD 66 0B 547 LD H,(IX+11) - 00004874 46 548 LD B,(HL) - 00004875 23 549 INC HL - 00004876 66 550 LD H,(HL) - 00004877 68 551 LD L,B - 00004878 DD 4E FC 552 LD C,(IX-4) - 0000487B DD 46 FD 553 LD B,(IX-3) - 0000487E 09 554 ADD HL,BC - 0000487F 7E 555 LD A,(HL) - 00004880 DD BE 08 556 CP (IX+8) - 00004883 20 07 557 JR NZ,?0047 - 00004885 AF 558 XOR A - 00004886 DD B6 D4 559 OR (IX-44) - 00004889 CA 96 49 560 JP Z,?0044 - 0000488C 561 ?0047: - 0000488C 562 ?0048: - 0000488C DD 6E 0A 563 LD L,(IX+10) - 0000488F DD 66 0B 564 LD H,(IX+11) - 00004892 46 565 LD B,(HL) - 00004893 23 566 INC HL - 00004894 66 567 LD H,(HL) - 00004895 68 568 LD L,B - 00004896 DD 46 FD 569 LD B,(IX-3) - 00004899 09 570 ADD HL,BC - 0000489A 7E 571 LD A,(HL) - 0000489B B7 572 OR A - 0000489C CA 96 49 573 JP Z,?0044 - 0000489F 574 ?0050: - 0000489F 575 ?0049: - 0000489F 576 ?0046: - 0000489F DD 6E 0A 577 LD L,(IX+10) - 000048A2 DD 66 0B 578 LD H,(IX+11) - 000048A5 46 579 LD B,(HL) - 000048A6 23 580 INC HL - 000048A7 66 581 LD H,(HL) - 000048A8 68 582 LD L,B - 000048A9 DD 46 FD 583 LD B,(IX-3) - 000048AC 09 584 ADD HL,BC - 000048AD 7E 585 LD A,(HL) - 000048AE FE 22 586 CP 34 - 000048B0 28 04 587 JR Z,?0052 - 000048B2 FE 27 588 CP 39 - 000048B4 20 10 589 JR NZ,?0053 - 000048B6 590 ?0052: - 000048B6 AF 591 XOR A - 000048B7 DD B6 D4 592 OR (IX-44) - 000048BA 20 04 593 JR NZ,?0463 - 000048BC 3E 01 594 LD A,1 - 000048BE 18 01 595 JR ?0464 - 000048C0 596 ?0463: - 000048C0 AF 597 XOR A - 000048C1 598 ?0464: - 000048C1 DD 77 D4 599 LD (IX-44),A - 000048C4 18 1C 600 JR ?0058 - 000048C6 601 ?0053: - 000048C6 FE 28 602 CP 40 - 000048C8 20 0B 603 JR NZ,?0056 - 000048CA AF 604 XOR A - 000048CB DD B6 D4 605 OR (IX-44) - 000048CE 20 12 606 JR NZ,?0058 - 000048D0 607 ?0054: - 000048D0 DD 34 D5 608 INC (IX-43) - 000048D3 609 ?0055: - 000048D3 18 0D 610 JR ?0058 - 000048D5 611 ?0056: - 000048D5 FE 29 612 CP 41 - 000048D7 20 09 613 JR NZ,?0058 - 000048D9 AF 614 XOR A - 000048DA DD B6 D4 615 OR (IX-44) - 000048DD 20 03 616 JR NZ,?0058 - 000048DF 617 ?0057: - 000048DF DD 35 D5 618 DEC (IX-43) - 000048E2 619 ?0058: - 000048E2 620 ?0051: - 000048E2 DD 6E 0A 621 LD L,(IX+10) - 000048E5 DD 66 0B 622 LD H,(IX+11) - 000048E8 46 623 LD B,(HL) - 000048E9 23 624 INC HL - 000048EA 66 625 LD H,(HL) - 000048EB 68 626 LD L,B - 000048EC DD 46 FD 627 LD B,(IX-3) - 000048EF 09 628 ADD HL,BC - 000048F0 7E 629 LD A,(HL) - 000048F1 DD BE FE 630 CP (IX-2) - 000048F4 20 0B 631 JR NZ,?0061 - 000048F6 AF 632 XOR A - 000048F7 DD B6 D4 633 OR (IX-44) - 000048FA 20 05 634 JR NZ,?0061 - 000048FC DD B6 D5 635 OR (IX-43) - 000048FF 28 1D 636 JR Z,?0060 - 00004901 637 ?0061: - 00004901 638 ?0062: - 00004901 639 ?0059: - 00004901 DD 6E 0A 640 LD L,(IX+10) - 00004904 DD 66 0B 641 LD H,(IX+11) - 00004907 46 642 LD B,(HL) - 00004908 23 643 INC HL - 00004909 66 644 LD H,(HL) - 0000490A 68 645 LD L,B - 0000490B DD 46 FD 646 LD B,(IX-3) - 0000490E 09 647 ADD HL,BC - 0000490F 46 648 LD B,(HL) - 00004910 21 08 00 649 LD HL,8 - 00004913 39 650 ADD HL,SP - 00004914 DD 5E D6 651 LD E,(IX-42) - 00004917 DD 56 D7 652 LD D,(IX-41) - 0000491A 19 653 ADD HL,DE - 0000491B 70 654 LD (HL),B - 0000491C 18 61 655 JR ?0063 - 0000491E 656 ?0060: - 0000491E 21 08 00 657 LD HL,8 - 00004921 39 658 ADD HL,SP - 00004922 DD 4E D6 659 LD C,(IX-42) - 00004925 DD 46 D7 660 LD B,(IX-41) - 00004928 09 661 ADD HL,BC - 00004929 77 662 LD (HL),A - 0000492A 21 08 00 663 LD HL,8 - 0000492D 39 664 ADD HL,SP - 0000492E CD EC 49 665 CALL LWRD ?0648 - 00004931 EB 666 EX DE,HL - 00004932 13 667 INC DE - 00004933 CD E4 49 668 CALL LWRD ?0641 - 00004936 FD 75 04 669 LD (IY+4),L - 00004939 FD 74 05 670 LD (IY+5),H - 0000493C 21 08 00 671 LD HL,8 - 0000493F 39 672 ADD HL,SP - 00004940 4D 673 LD C,L - 00004941 44 674 LD B,H - 00004942 FD 5E 04 675 LD E,(IY+4) - 00004945 FD 56 05 676 LD D,(IY+5) - 00004948 CD 02 4A 677 CALL LWRD ?0651 - 0000494B FD E5 678 PUSH IY - 0000494D E1 679 POP HL - 0000494E DD 75 D8 680 LD (IX-40),L - 00004951 DD 74 D9 681 LD (IX-39),H - 00004954 11 06 00 682 LD DE,6 - 00004957 CD E4 49 683 CALL LWRD ?0641 - 0000495A FD 75 02 684 LD (IY+2),L - 0000495D FD 74 03 685 LD (IY+3),H - 00004960 FD 6E 02 686 LD L,(IY+2) - 00004963 FD 66 03 687 LD H,(IY+3) - 00004966 E5 688 PUSH HL - 00004967 FD E1 689 POP IY - 00004969 DD 6E D8 690 LD L,(IX-40) - 0000496C DD 66 D9 691 LD H,(IX-39) - 0000496F E5 692 PUSH HL - 00004970 FD E5 693 PUSH IY - 00004972 E1 694 POP HL - 00004973 C1 695 POP BC - 00004974 71 696 LD (HL),C - 00004975 23 697 INC HL - 00004976 70 698 LD (HL),B - 00004977 DD 36 D6 FF 699 LD (IX-42),255 - 0000497B DD 36 D7 FF 700 LD (IX-41),255 - 0000497F 701 ?0063: - 0000497F DD 6E 0A 702 LD L,(IX+10) - 00004982 DD 66 0B 703 LD H,(IX+11) - 00004985 34 704 INC (HL) - 00004986 23 705 INC HL - 00004987 20 01 706 JR NZ,?0465 - 00004989 34 707 INC (HL) - 0000498A 708 ?0465: - 0000498A DD 34 D6 709 INC (IX-42) - 0000498D C2 6E 48 710 JP NZ,?0045 - 00004990 DD 34 D7 711 INC (IX-41) - 00004993 C3 6E 48 712 JP LWRD ?0045 - 00004996 713 ?0044: - 00004996 21 08 00 714 LD HL,8 - 00004999 39 715 ADD HL,SP - 0000499A DD 4E D6 716 LD C,(IX-42) - 0000499D DD 46 D7 717 LD B,(IX-41) - 000049A0 09 718 ADD HL,BC - 000049A1 77 719 LD (HL),A - 000049A2 21 08 00 720 LD HL,8 - 000049A5 39 721 ADD HL,SP - 000049A6 CD EC 49 722 CALL LWRD ?0648 - 000049A9 EB 723 EX DE,HL - 000049AA 13 724 INC DE - 000049AB CD E4 49 725 CALL LWRD ?0641 - 000049AE FD 75 04 726 LD (IY+4),L - 000049B1 FD 74 05 727 LD (IY+5),H - 000049B4 21 08 00 728 LD HL,8 - 000049B7 39 729 ADD HL,SP - 000049B8 4D 730 LD C,L - 000049B9 44 731 LD B,H - 000049BA FD 5E 04 732 LD E,(IY+4) - 000049BD FD 56 05 733 LD D,(IY+5) - 000049C0 CD 02 4A 734 CALL LWRD ?0651 - 000049C3 AF 735 XOR A - 000049C4 FD 77 02 736 LD (IY+2),A - 000049C7 FD 77 03 737 LD (IY+3),A - 000049CA DD 6E DA 738 LD L,(IX-38) - 000049CD DD 66 DB 739 LD H,(IX-37) - 000049D0 740 ?0630: - 000049D0 DD F9 741 LD SP,IX - 000049D2 DD E1 742 POP IX - 000049D4 FD E1 743 POP IY - 000049D6 C3 A9 81 744 JP LWRD ?BANK_FAST_LEAVE_L08 - 000049D9 745 ?0643: - 000049D9 71 746 LD (HL),C - 000049DA 23 747 INC HL - 000049DB 70 748 LD (HL),B - 000049DC FD 6E 00 749 LD L,(IY+0) - 000049DF FD 66 01 750 LD H,(IY+1) - 000049E2 751 ?0644: - 000049E2 29 752 ADD HL,HL - 000049E3 753 ?0642: - 000049E3 EB 754 EX DE,HL - 000049E4 755 ?0641: - 000049E4 3E 01 756 LD A,BYTE3 malloc - 000049E6 21 82 4A 757 LD HL,LWRD malloc - 000049E9 C3 19 82 758 JP LWRD ?BANK_CALL_DIRECT_L08 - 000049EC 759 ?0648: - 000049EC EB 760 EX DE,HL - 000049ED 761 ?0649: - 000049ED 3E 00 762 LD A,BYTE3 strlen - 000049EF 21 5C 7D 763 LD HL,LWRD strlen - 000049F2 C3 19 82 764 JP LWRD ?BANK_CALL_DIRECT_L08 - 000049F5 765 ?0655: - 000049F5 4D 766 LD C,L - 000049F6 44 767 LD B,H - 000049F7 FD 6E 4A 768 LD L,(IY+74) - 000049FA FD 66 4B 769 LD H,(IY+75) - 000049FD 770 ?0654: - 000049FD 11 04 00 771 LD DE,4 - 00004A00 772 ?0653: - 00004A00 19 773 ADD HL,DE - 00004A01 774 ?0652: - 00004A01 EB 775 EX DE,HL - 00004A02 776 ?0651: - 00004A02 3E 00 777 LD A,BYTE3 strcpy - 00004A04 21 1C 7F 778 LD HL,LWRD strcpy - 00004A07 C3 19 82 779 JP LWRD ?BANK_CALL_DIRECT_L08 - 00004A0A 780 dbParseStatement: - 00004A0A C5 781 PUSH BC - 00004A0B FD E5 782 PUSH IY - 00004A0D DD E5 783 PUSH IX - 00004A0F D5 784 PUSH DE - 00004A10 FD E1 785 POP IY - 00004A12 CD ED 49 786 CALL LWRD ?0649 - 00004A15 EB 787 EX DE,HL - 00004A16 13 788 INC DE - 00004A17 CD E4 49 789 CALL LWRD ?0641 - 00004A1A E5 790 PUSH HL - 00004A1B DD E1 791 POP IX - 00004A1D FD E5 792 PUSH IY - 00004A1F C1 793 POP BC - 00004A20 CD 01 4A 794 CALL LWRD ?0652 - 00004A23 DD E5 795 PUSH IX - 00004A25 D1 796 POP DE - 00004A26 3E 00 797 LD A,BYTE3 dbTrimString - 00004A28 21 5E 46 798 LD HL,LWRD dbTrimString - 00004A2B CD 19 82 799 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00004A2E 21 03 00 800 LD HL,3 - 00004A31 E5 801 PUSH HL - 00004A32 01 81 84 802 LD BC,?0066 - 00004A35 DD E5 803 PUSH IX - 00004A37 D1 804 POP DE - 00004A38 CD B5 4A 805 CALL LWRD ?0656 - 00004A3B F1 806 POP AF - 00004A3C 7D 807 LD A,L - 00004A3D B4 808 OR H - 00004A3E 20 0A 809 JR NZ,?0065 - 00004A40 810 ?0064: - 00004A40 DD E5 811 PUSH IX - 00004A42 D1 812 POP DE - 00004A43 3E 00 813 LD A,BYTE3 dbParseSelect - 00004A45 21 BD 4A 814 LD HL,LWRD dbParseSelect - 00004A48 18 52 815 JR ?0472 - 00004A4A 816 ?0065: - 00004A4A 21 03 00 817 LD HL,3 - 00004A4D E5 818 PUSH HL - 00004A4E 01 85 84 819 LD BC,?0069 - 00004A51 DD E5 820 PUSH IX - 00004A53 D1 821 POP DE - 00004A54 CD B5 4A 822 CALL LWRD ?0656 - 00004A57 F1 823 POP AF - 00004A58 7D 824 LD A,L - 00004A59 B4 825 OR H - 00004A5A 20 0A 826 JR NZ,?0068 - 00004A5C 827 ?0067: - 00004A5C DD E5 828 PUSH IX - 00004A5E D1 829 POP DE - 00004A5F 3E 00 830 LD A,BYTE3 dbParseInsert - 00004A61 21 EC 4B 831 LD HL,LWRD dbParseInsert - 00004A64 18 36 832 JR ?0472 - 00004A66 833 ?0068: - 00004A66 21 03 00 834 LD HL,3 - 00004A69 E5 835 PUSH HL - 00004A6A 01 89 84 836 LD BC,?0072 - 00004A6D DD E5 837 PUSH IX - 00004A6F D1 838 POP DE - 00004A70 CD B5 4A 839 CALL LWRD ?0656 - 00004A73 F1 840 POP AF - 00004A74 7D 841 LD A,L - 00004A75 B4 842 OR H - 00004A76 20 0A 843 JR NZ,?0071 - 00004A78 844 ?0070: - 00004A78 DD E5 845 PUSH IX - 00004A7A D1 846 POP DE - 00004A7B 3E 00 847 LD A,BYTE3 dbParseUpdate - 00004A7D 21 93 4C 848 LD HL,LWRD dbParseUpdate - 00004A80 18 1A 849 JR ?0472 - 00004A82 850 ?0071: - 00004A82 21 03 00 851 LD HL,3 - 00004A85 E5 852 PUSH HL - 00004A86 01 8D 84 853 LD BC,?0075 - 00004A89 DD E5 854 PUSH IX - 00004A8B D1 855 POP DE - 00004A8C CD B5 4A 856 CALL LWRD ?0656 - 00004A8F F1 857 POP AF - 00004A90 7D 858 LD A,L - 00004A91 B4 859 OR H - 00004A92 20 0D 860 JR NZ,?0074 - 00004A94 861 ?0073: - 00004A94 DD E5 862 PUSH IX - 00004A96 D1 863 POP DE - 00004A97 3E 00 864 LD A,BYTE3 dbParseDelete - 00004A99 21 60 4D 865 LD HL,LWRD dbParseDelete - 00004A9C 866 ?0472: - 00004A9C CD 19 82 867 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00004A9F 18 03 868 JR ?0076 - 00004AA1 869 ?0074: - 00004AA1 21 00 00 870 LD HL,0 - 00004AA4 871 ?0076: - 00004AA4 C3 C0 45 872 JP LWRD ?0614 - 00004AA7 873 ?0657: - 00004AA7 DD 6E FC 874 LD L,(IX-4) - 00004AAA DD 66 FD 875 LD H,(IX-3) - 00004AAD DD 5E FE 876 LD E,(IX-2) - 00004AB0 DD 56 FF 877 LD D,(IX-1) - 00004AB3 878 ?0658: - 00004AB3 19 879 ADD HL,DE - 00004AB4 EB 880 EX DE,HL - 00004AB5 881 ?0656: - 00004AB5 3E 00 882 LD A,BYTE3 strncmp - 00004AB7 21 8B 72 883 LD HL,LWRD strncmp - 00004ABA C3 19 82 884 JP LWRD ?BANK_CALL_DIRECT_L08 - 00004ABD 885 dbParseSelect: - 00004ABD C5 886 PUSH BC - 00004ABE FD E5 887 PUSH IY - 00004AC0 DD E5 888 PUSH IX - 00004AC2 DD 21 00 00 889 LD IX,0 - 00004AC6 DD 39 890 ADD IX,SP - 00004AC8 D5 891 PUSH DE - 00004AC9 F5 892 PUSH AF - 00004ACA 11 09 00 893 LD DE,9 - 00004ACD CD E4 49 894 CALL LWRD ?0641 - 00004AD0 E5 895 PUSH HL - 00004AD1 FD E1 896 POP IY - 00004AD3 36 73 897 LD (HL),115 - 00004AD5 AF 898 XOR A - 00004AD6 FD 77 05 899 LD (IY+5),A - 00004AD9 FD 77 06 900 LD (IY+6),A - 00004ADC FD 77 07 901 LD (IY+7),A - 00004ADF FD 77 08 902 LD (IY+8),A - 00004AE2 DD 36 FC 03 903 LD (IX-4),3 - 00004AE6 DD 77 FD 904 LD (IX-3),A - 00004AE9 DD 6E FE 905 LD L,(IX-2) - 00004AEC DD 66 FF 906 LD H,(IX-1) - 00004AEF 23 907 INC HL - 00004AF0 23 908 INC HL - 00004AF1 23 909 INC HL - 00004AF2 7E 910 LD A,(HL) - 00004AF3 FE 20 911 CP 32 - 00004AF5 20 08 912 JR NZ,?0473 - 00004AF7 913 ?0077: - 00004AF7 DD 34 FC 914 INC (IX-4) - 00004AFA 20 03 915 JR NZ,?0473 - 00004AFC DD 34 FD 916 INC (IX-3) - 00004AFF 917 ?0473: - 00004AFF 918 ?0078: - 00004AFF 21 00 00 919 LD HL,0 - 00004B02 39 920 ADD HL,SP - 00004B03 E5 921 PUSH HL - 00004B04 0E 20 922 LD C,32 - 00004B06 C5 923 PUSH BC - 00004B07 0E 2C 924 LD C,44 - 00004B09 DD 5E FE 925 LD E,(IX-2) - 00004B0C DD 56 FF 926 LD D,(IX-1) - 00004B0F CD E4 4B 927 CALL LWRD ?0659 - 00004B12 F1 928 POP AF - 00004B13 F1 929 POP AF - 00004B14 FD 75 01 930 LD (IY+1),L - 00004B17 FD 74 02 931 LD (IY+2),H - 00004B1A 21 04 00 932 LD HL,4 - 00004B1D E5 933 PUSH HL - 00004B1E 01 91 84 934 LD BC,?0081 - 00004B21 CD A7 4A 935 CALL LWRD ?0657 - 00004B24 F1 936 POP AF - 00004B25 7D 937 LD A,L - 00004B26 B4 938 OR H - 00004B27 20 0D 939 JR NZ,?0080 - 00004B29 940 ?0079: - 00004B29 6F 941 LD L,A - 00004B2A 67 942 LD H,A - 00004B2B 39 943 ADD HL,SP - 00004B2C 7E 944 LD A,(HL) - 00004B2D C6 04 945 ADD A,4 - 00004B2F 77 946 LD (HL),A - 00004B30 30 0A 947 JR NC,?0082 - 00004B32 23 948 INC HL - 00004B33 34 949 INC (HL) - 00004B34 18 06 950 JR ?0082 - 00004B36 951 ?0080: - 00004B36 21 00 00 952 LD HL,0 - 00004B39 C3 DA 4B 953 JP LWRD ?0091 - 00004B3C 954 ?0082: - 00004B3C 21 00 00 955 LD HL,0 - 00004B3F 39 956 ADD HL,SP - 00004B40 E5 957 PUSH HL - 00004B41 0E 20 958 LD C,32 - 00004B43 C5 959 PUSH BC - 00004B44 0E 2C 960 LD C,44 - 00004B46 DD 5E FE 961 LD E,(IX-2) - 00004B49 DD 56 FF 962 LD D,(IX-1) - 00004B4C CD E4 4B 963 CALL LWRD ?0659 - 00004B4F F1 964 POP AF - 00004B50 F1 965 POP AF - 00004B51 FD 75 03 966 LD (IY+3),L - 00004B54 FD 74 04 967 LD (IY+4),H - 00004B57 21 03 00 968 LD HL,3 - 00004B5A E5 969 PUSH HL - 00004B5B 01 96 84 970 LD BC,?0085 - 00004B5E CD A7 4A 971 CALL LWRD ?0657 - 00004B61 F1 972 POP AF - 00004B62 7D 973 LD A,L - 00004B63 B4 974 OR H - 00004B64 20 3C 975 JR NZ,?0084 - 00004B66 976 ?0083: - 00004B66 6F 977 LD L,A - 00004B67 67 978 LD H,A - 00004B68 39 979 ADD HL,SP - 00004B69 7E 980 LD A,(HL) - 00004B6A C6 03 981 ADD A,3 - 00004B6C 77 982 LD (HL),A - 00004B6D 30 02 983 JR NC,?0475 - 00004B6F 23 984 INC HL - 00004B70 34 985 INC (HL) - 00004B71 986 ?0475: - 00004B71 6F 987 LD L,A - 00004B72 DD 66 FD 988 LD H,(IX-3) - 00004B75 DD 4E FE 989 LD C,(IX-2) - 00004B78 DD 46 FF 990 LD B,(IX-1) - 00004B7B 09 991 ADD HL,BC - 00004B7C 7E 992 LD A,(HL) - 00004B7D FE 20 993 CP 32 - 00004B7F 20 08 994 JR NZ,?0476 - 00004B81 995 ?0086: - 00004B81 DD 34 FC 996 INC (IX-4) - 00004B84 20 03 997 JR NZ,?0476 - 00004B86 DD 34 FD 998 INC (IX-3) - 00004B89 999 ?0476: - 00004B89 1000 ?0087: - 00004B89 21 00 00 1001 LD HL,0 - 00004B8C 39 1002 ADD HL,SP - 00004B8D E5 1003 PUSH HL - 00004B8E 0E 20 1004 LD C,32 - 00004B90 C5 1005 PUSH BC - 00004B91 0E 2C 1006 LD C,44 - 00004B93 DD 5E FE 1007 LD E,(IX-2) - 00004B96 50 1008 LD D,B - 00004B97 CD E4 4B 1009 CALL LWRD ?0659 - 00004B9A F1 1010 POP AF - 00004B9B F1 1011 POP AF - 00004B9C FD 75 05 1012 LD (IY+5),L - 00004B9F FD 74 06 1013 LD (IY+6),H - 00004BA2 1014 ?0084: - 00004BA2 21 05 00 1015 LD HL,5 - 00004BA5 E5 1016 PUSH HL - 00004BA6 01 9A 84 1017 LD BC,?0090 - 00004BA9 CD A7 4A 1018 CALL LWRD ?0657 - 00004BAC F1 1019 POP AF - 00004BAD 7D 1020 LD A,L - 00004BAE B4 1021 OR H - 00004BAF 20 26 1022 JR NZ,?0089 - 00004BB1 1023 ?0088: - 00004BB1 6F 1024 LD L,A - 00004BB2 67 1025 LD H,A - 00004BB3 39 1026 ADD HL,SP - 00004BB4 7E 1027 LD A,(HL) - 00004BB5 C6 05 1028 ADD A,5 - 00004BB7 77 1029 LD (HL),A - 00004BB8 30 02 1030 JR NC,?0477 - 00004BBA 23 1031 INC HL - 00004BBB 34 1032 INC (HL) - 00004BBC 1033 ?0477: - 00004BBC 21 00 00 1034 LD HL,0 - 00004BBF 39 1035 ADD HL,SP - 00004BC0 E5 1036 PUSH HL - 00004BC1 0E 20 1037 LD C,32 - 00004BC3 C5 1038 PUSH BC - 00004BC4 0E 2C 1039 LD C,44 - 00004BC6 DD 5E FE 1040 LD E,(IX-2) - 00004BC9 DD 56 FF 1041 LD D,(IX-1) - 00004BCC CD E4 4B 1042 CALL LWRD ?0659 - 00004BCF F1 1043 POP AF - 00004BD0 F1 1044 POP AF - 00004BD1 FD 75 07 1045 LD (IY+7),L - 00004BD4 FD 74 08 1046 LD (IY+8),H - 00004BD7 1047 ?0089: - 00004BD7 FD E5 1048 PUSH IY - 00004BD9 E1 1049 POP HL - 00004BDA 1050 ?0091: - 00004BDA DD F9 1051 LD SP,IX - 00004BDC C3 C0 45 1052 JP LWRD ?0614 - 00004BDF 1053 ?0660: - 00004BDF 0E 2C 1054 LD C,44 - 00004BE1 FD E5 1055 PUSH IY - 00004BE3 D1 1056 POP DE - 00004BE4 1057 ?0659: - 00004BE4 3E 00 1058 LD A,BYTE3 dbParseList - 00004BE6 21 3E 48 1059 LD HL,LWRD dbParseList - 00004BE9 C3 19 82 1060 JP LWRD ?BANK_CALL_DIRECT_L08 - 00004BEC 1061 dbParseInsert: - 00004BEC C5 1062 PUSH BC - 00004BED FD E5 1063 PUSH IY - 00004BEF DD E5 1064 PUSH IX - 00004BF1 F5 1065 PUSH AF - 00004BF2 D5 1066 PUSH DE - 00004BF3 FD E1 1067 POP IY - 00004BF5 11 09 00 1068 LD DE,9 - 00004BF8 CD E4 49 1069 CALL LWRD ?0641 - 00004BFB E5 1070 PUSH HL - 00004BFC DD E1 1071 POP IX - 00004BFE 36 69 1072 LD (HL),105 - 00004C00 AF 1073 XOR A - 00004C01 DD 77 05 1074 LD (IX+5),A - 00004C04 DD 77 06 1075 LD (IX+6),A - 00004C07 6F 1076 LD L,A - 00004C08 67 1077 LD H,A - 00004C09 39 1078 ADD HL,SP - 00004C0A 36 04 1079 LD (HL),4 - 00004C0C 23 1080 INC HL - 00004C0D 77 1081 LD (HL),A - 00004C0E 2B 1082 DEC HL - 00004C0F E5 1083 PUSH HL - 00004C10 0E 28 1084 LD C,40 - 00004C12 C5 1085 PUSH BC - 00004C13 CD DF 4B 1086 CALL LWRD ?0660 - 00004C16 F1 1087 POP AF - 00004C17 F1 1088 POP AF - 00004C18 DD 75 03 1089 LD (IX+3),L - 00004C1B DD 74 04 1090 LD (IX+4),H - 00004C1E 21 01 00 1091 LD HL,1 - 00004C21 E5 1092 PUSH HL - 00004C22 01 A0 84 1093 LD BC,?0094 - 00004C25 23 1094 INC HL - 00004C26 39 1095 ADD HL,SP - 00004C27 56 1096 LD D,(HL) - 00004C28 23 1097 INC HL - 00004C29 66 1098 LD H,(HL) - 00004C2A 6A 1099 LD L,D - 00004C2B FD E5 1100 PUSH IY - 00004C2D D1 1101 POP DE - 00004C2E CD B3 4A 1102 CALL LWRD ?0658 - 00004C31 F1 1103 POP AF - 00004C32 7D 1104 LD A,L - 00004C33 B4 1105 OR H - 00004C34 20 51 1106 JR NZ,?0097 - 00004C36 1107 ?0092: - 00004C36 6F 1108 LD L,A - 00004C37 67 1109 LD H,A - 00004C38 39 1110 ADD HL,SP - 00004C39 34 1111 INC (HL) - 00004C3A 23 1112 INC HL - 00004C3B 20 01 1113 JR NZ,?0481 - 00004C3D 34 1114 INC (HL) - 00004C3E 1115 ?0481: - 00004C3E 1116 ?0093: - 00004C3E 1117 ?0095: - 00004C3E 2B 1118 DEC HL - 00004C3F E5 1119 PUSH HL - 00004C40 0E 29 1120 LD C,41 - 00004C42 C5 1121 PUSH BC - 00004C43 CD DF 4B 1122 CALL LWRD ?0660 - 00004C46 F1 1123 POP AF - 00004C47 F1 1124 POP AF - 00004C48 DD 75 01 1125 LD (IX+1),L - 00004C4B DD 74 02 1126 LD (IX+2),H - 00004C4E 21 06 00 1127 LD HL,6 - 00004C51 E5 1128 PUSH HL - 00004C52 01 A2 84 1129 LD BC,?0098 - 00004C55 2E 02 1130 LD L,2 - 00004C57 39 1131 ADD HL,SP - 00004C58 56 1132 LD D,(HL) - 00004C59 23 1133 INC HL - 00004C5A 66 1134 LD H,(HL) - 00004C5B 6A 1135 LD L,D - 00004C5C FD E5 1136 PUSH IY - 00004C5E D1 1137 POP DE - 00004C5F CD B3 4A 1138 CALL LWRD ?0658 - 00004C62 F1 1139 POP AF - 00004C63 7D 1140 LD A,L - 00004C64 B4 1141 OR H - 00004C65 20 20 1142 JR NZ,?0097 - 00004C67 1143 ?0096: - 00004C67 6F 1144 LD L,A - 00004C68 67 1145 LD H,A - 00004C69 39 1146 ADD HL,SP - 00004C6A 7E 1147 LD A,(HL) - 00004C6B C6 06 1148 ADD A,6 - 00004C6D 77 1149 LD (HL),A - 00004C6E 30 02 1150 JR NC,?0482 - 00004C70 23 1151 INC HL - 00004C71 34 1152 INC (HL) - 00004C72 1153 ?0482: - 00004C72 21 00 00 1154 LD HL,0 - 00004C75 39 1155 ADD HL,SP - 00004C76 E5 1156 PUSH HL - 00004C77 0E 29 1157 LD C,41 - 00004C79 C5 1158 PUSH BC - 00004C7A CD DF 4B 1159 CALL LWRD ?0660 - 00004C7D F1 1160 POP AF - 00004C7E F1 1161 POP AF - 00004C7F DD 75 07 1162 LD (IX+7),L - 00004C82 DD 74 08 1163 LD (IX+8),H - 00004C85 18 05 1164 JR ?0099 - 00004C87 1165 ?0097: - 00004C87 21 00 00 1166 LD HL,0 - 00004C8A 18 03 1167 JR ?0100 - 00004C8C 1168 ?0099: - 00004C8C DD E5 1169 PUSH IX - 00004C8E E1 1170 POP HL - 00004C8F 1171 ?0100: - 00004C8F F1 1172 POP AF - 00004C90 C3 C0 45 1173 JP LWRD ?0614 - 00004C93 1174 dbParseUpdate: - 00004C93 C5 1175 PUSH BC - 00004C94 FD E5 1176 PUSH IY - 00004C96 DD E5 1177 PUSH IX - 00004C98 F5 1178 PUSH AF - 00004C99 D5 1179 PUSH DE - 00004C9A FD E1 1180 POP IY - 00004C9C 11 09 00 1181 LD DE,9 - 00004C9F CD E4 49 1182 CALL LWRD ?0641 - 00004CA2 E5 1183 PUSH HL - 00004CA3 DD E1 1184 POP IX - 00004CA5 36 75 1185 LD (HL),117 - 00004CA7 AF 1186 XOR A - 00004CA8 DD 77 05 1187 LD (IX+5),A - 00004CAB DD 77 06 1188 LD (IX+6),A - 00004CAE DD 77 07 1189 LD (IX+7),A - 00004CB1 DD 77 08 1190 LD (IX+8),A - 00004CB4 6F 1191 LD L,A - 00004CB5 67 1192 LD H,A - 00004CB6 39 1193 ADD HL,SP - 00004CB7 36 04 1194 LD (HL),4 - 00004CB9 23 1195 INC HL - 00004CBA 77 1196 LD (HL),A - 00004CBB 2B 1197 DEC HL - 00004CBC E5 1198 PUSH HL - 00004CBD 0E 20 1199 LD C,32 - 00004CBF C5 1200 PUSH BC - 00004CC0 CD DF 4B 1201 CALL LWRD ?0660 - 00004CC3 F1 1202 POP AF - 00004CC4 F1 1203 POP AF - 00004CC5 DD 75 03 1204 LD (IX+3),L - 00004CC8 DD 74 04 1205 LD (IX+4),H - 00004CCB 21 04 00 1206 LD HL,4 - 00004CCE E5 1207 PUSH HL - 00004CCF 01 A9 84 1208 LD BC,?0103 - 00004CD2 2B 1209 DEC HL - 00004CD3 2B 1210 DEC HL - 00004CD4 39 1211 ADD HL,SP - 00004CD5 56 1212 LD D,(HL) - 00004CD6 23 1213 INC HL - 00004CD7 66 1214 LD H,(HL) - 00004CD8 6A 1215 LD L,D - 00004CD9 FD E5 1216 PUSH IY - 00004CDB D1 1217 POP DE - 00004CDC CD B3 4A 1218 CALL LWRD ?0658 - 00004CDF F1 1219 POP AF - 00004CE0 7D 1220 LD A,L - 00004CE1 B4 1221 OR H - 00004CE2 20 0D 1222 JR NZ,?0102 - 00004CE4 1223 ?0101: - 00004CE4 6F 1224 LD L,A - 00004CE5 67 1225 LD H,A - 00004CE6 39 1226 ADD HL,SP - 00004CE7 7E 1227 LD A,(HL) - 00004CE8 C6 04 1228 ADD A,4 - 00004CEA 77 1229 LD (HL),A - 00004CEB 30 09 1230 JR NC,?0104 - 00004CED 23 1231 INC HL - 00004CEE 34 1232 INC (HL) - 00004CEF 18 05 1233 JR ?0104 - 00004CF1 1234 ?0102: - 00004CF1 21 00 00 1235 LD HL,0 - 00004CF4 18 66 1236 JR ?0109 - 00004CF6 1237 ?0104: - 00004CF6 21 00 00 1238 LD HL,0 - 00004CF9 39 1239 ADD HL,SP - 00004CFA E5 1240 PUSH HL - 00004CFB 0E 20 1241 LD C,32 - 00004CFD C5 1242 PUSH BC - 00004CFE CD DF 4B 1243 CALL LWRD ?0660 - 00004D01 F1 1244 POP AF - 00004D02 F1 1245 POP AF - 00004D03 DD 75 01 1246 LD (IX+1),L - 00004D06 DD 74 02 1247 LD (IX+2),H - 00004D09 21 03 00 1248 LD HL,3 - 00004D0C E5 1249 PUSH HL - 00004D0D 01 96 84 1250 LD BC,?0085 - 00004D10 2B 1251 DEC HL - 00004D11 39 1252 ADD HL,SP - 00004D12 56 1253 LD D,(HL) - 00004D13 23 1254 INC HL - 00004D14 66 1255 LD H,(HL) - 00004D15 6A 1256 LD L,D - 00004D16 FD E5 1257 PUSH IY - 00004D18 D1 1258 POP DE - 00004D19 CD B3 4A 1259 CALL LWRD ?0658 - 00004D1C F1 1260 POP AF - 00004D1D 7D 1261 LD A,L - 00004D1E B4 1262 OR H - 00004D1F 20 38 1263 JR NZ,?0106 - 00004D21 1264 ?0105: - 00004D21 6F 1265 LD L,A - 00004D22 67 1266 LD H,A - 00004D23 39 1267 ADD HL,SP - 00004D24 7E 1268 LD A,(HL) - 00004D25 C6 03 1269 ADD A,3 - 00004D27 77 1270 LD (HL),A - 00004D28 30 02 1271 JR NC,?0488 - 00004D2A 23 1272 INC HL - 00004D2B 34 1273 INC (HL) - 00004D2C 1274 ?0488: - 00004D2C 21 00 00 1275 LD HL,0 - 00004D2F 39 1276 ADD HL,SP - 00004D30 47 1277 LD B,A - 00004D31 23 1278 INC HL - 00004D32 66 1279 LD H,(HL) - 00004D33 68 1280 LD L,B - 00004D34 FD E5 1281 PUSH IY - 00004D36 C1 1282 POP BC - 00004D37 09 1283 ADD HL,BC - 00004D38 7E 1284 LD A,(HL) - 00004D39 FE 20 1285 CP 32 - 00004D3B 20 09 1286 JR NZ,?0489 - 00004D3D 1287 ?0107: - 00004D3D 21 00 00 1288 LD HL,0 - 00004D40 39 1289 ADD HL,SP - 00004D41 34 1290 INC (HL) - 00004D42 23 1291 INC HL - 00004D43 20 01 1292 JR NZ,?0489 - 00004D45 34 1293 INC (HL) - 00004D46 1294 ?0489: - 00004D46 1295 ?0108: - 00004D46 21 00 00 1296 LD HL,0 - 00004D49 39 1297 ADD HL,SP - 00004D4A E5 1298 PUSH HL - 00004D4B 0E 20 1299 LD C,32 - 00004D4D C5 1300 PUSH BC - 00004D4E CD DF 4B 1301 CALL LWRD ?0660 - 00004D51 F1 1302 POP AF - 00004D52 F1 1303 POP AF - 00004D53 DD 75 05 1304 LD (IX+5),L - 00004D56 DD 74 06 1305 LD (IX+6),H - 00004D59 1306 ?0106: - 00004D59 DD E5 1307 PUSH IX - 00004D5B E1 1308 POP HL - 00004D5C 1309 ?0109: - 00004D5C F1 1310 POP AF - 00004D5D C3 C0 45 1311 JP LWRD ?0614 - 00004D60 1312 dbParseDelete: - 00004D60 C5 1313 PUSH BC - 00004D61 FD E5 1314 PUSH IY - 00004D63 DD E5 1315 PUSH IX - 00004D65 F5 1316 PUSH AF - 00004D66 D5 1317 PUSH DE - 00004D67 FD E1 1318 POP IY - 00004D69 11 09 00 1319 LD DE,9 - 00004D6C CD E4 49 1320 CALL LWRD ?0641 - 00004D6F E5 1321 PUSH HL - 00004D70 DD E1 1322 POP IX - 00004D72 36 64 1323 LD (HL),100 - 00004D74 AF 1324 XOR A - 00004D75 DD 77 05 1325 LD (IX+5),A - 00004D78 DD 77 06 1326 LD (IX+6),A - 00004D7B DD 77 07 1327 LD (IX+7),A - 00004D7E DD 77 08 1328 LD (IX+8),A - 00004D81 DD 77 01 1329 LD (IX+1),A - 00004D84 DD 77 02 1330 LD (IX+2),A - 00004D87 6F 1331 LD L,A - 00004D88 67 1332 LD H,A - 00004D89 39 1333 ADD HL,SP - 00004D8A 36 04 1334 LD (HL),4 - 00004D8C 23 1335 INC HL - 00004D8D 77 1336 LD (HL),A - 00004D8E 2B 1337 DEC HL - 00004D8F E5 1338 PUSH HL - 00004D90 0E 20 1339 LD C,32 - 00004D92 C5 1340 PUSH BC - 00004D93 CD DF 4B 1341 CALL LWRD ?0660 - 00004D96 F1 1342 POP AF - 00004D97 F1 1343 POP AF - 00004D98 DD 75 03 1344 LD (IX+3),L - 00004D9B DD 74 04 1345 LD (IX+4),H - 00004D9E 21 03 00 1346 LD HL,3 - 00004DA1 E5 1347 PUSH HL - 00004DA2 01 96 84 1348 LD BC,?0085 - 00004DA5 2B 1349 DEC HL - 00004DA6 39 1350 ADD HL,SP - 00004DA7 56 1351 LD D,(HL) - 00004DA8 23 1352 INC HL - 00004DA9 66 1353 LD H,(HL) - 00004DAA 6A 1354 LD L,D - 00004DAB FD E5 1355 PUSH IY - 00004DAD D1 1356 POP DE - 00004DAE CD B3 4A 1357 CALL LWRD ?0658 - 00004DB1 F1 1358 POP AF - 00004DB2 7D 1359 LD A,L - 00004DB3 B4 1360 OR H - 00004DB4 20 38 1361 JR NZ,?0111 - 00004DB6 1362 ?0110: - 00004DB6 6F 1363 LD L,A - 00004DB7 67 1364 LD H,A - 00004DB8 39 1365 ADD HL,SP - 00004DB9 7E 1366 LD A,(HL) - 00004DBA C6 03 1367 ADD A,3 - 00004DBC 77 1368 LD (HL),A - 00004DBD 30 02 1369 JR NC,?0492 - 00004DBF 23 1370 INC HL - 00004DC0 34 1371 INC (HL) - 00004DC1 1372 ?0492: - 00004DC1 21 00 00 1373 LD HL,0 - 00004DC4 39 1374 ADD HL,SP - 00004DC5 47 1375 LD B,A - 00004DC6 23 1376 INC HL - 00004DC7 66 1377 LD H,(HL) - 00004DC8 68 1378 LD L,B - 00004DC9 FD E5 1379 PUSH IY - 00004DCB C1 1380 POP BC - 00004DCC 09 1381 ADD HL,BC - 00004DCD 7E 1382 LD A,(HL) - 00004DCE FE 20 1383 CP 32 - 00004DD0 20 09 1384 JR NZ,?0493 - 00004DD2 1385 ?0112: - 00004DD2 21 00 00 1386 LD HL,0 - 00004DD5 39 1387 ADD HL,SP - 00004DD6 34 1388 INC (HL) - 00004DD7 23 1389 INC HL - 00004DD8 20 01 1390 JR NZ,?0493 - 00004DDA 34 1391 INC (HL) - 00004DDB 1392 ?0493: - 00004DDB 1393 ?0113: - 00004DDB 21 00 00 1394 LD HL,0 - 00004DDE 39 1395 ADD HL,SP - 00004DDF E5 1396 PUSH HL - 00004DE0 0E 20 1397 LD C,32 - 00004DE2 C5 1398 PUSH BC - 00004DE3 CD DF 4B 1399 CALL LWRD ?0660 - 00004DE6 F1 1400 POP AF - 00004DE7 F1 1401 POP AF - 00004DE8 DD 75 05 1402 LD (IX+5),L - 00004DEB DD 74 06 1403 LD (IX+6),H - 00004DEE 1404 ?0111: - 00004DEE DD E5 1405 PUSH IX - 00004DF0 E1 1406 POP HL - 00004DF1 F1 1407 POP AF - 00004DF2 C3 C0 45 1408 JP LWRD ?0614 - 00004DF5 1409 dbTableOpen: - 00004DF5 C5 1410 PUSH BC - 00004DF6 FD E5 1411 PUSH IY - 00004DF8 DD E5 1412 PUSH IX - 00004DFA DD 21 00 00 1413 LD IX,0 - 00004DFE DD 39 1414 ADD IX,SP - 00004E00 F5 1415 PUSH AF - 00004E01 F5 1416 PUSH AF - 00004E02 F5 1417 PUSH AF - 00004E03 F5 1418 PUSH AF - 00004E04 D5 1419 PUSH DE - 00004E05 FD E1 1420 POP IY - 00004E07 11 40 00 1421 LD DE,64 - 00004E0A CD E4 49 1422 CALL LWRD ?0641 - 00004E0D DD 75 F8 1423 LD (IX-8),L - 00004E10 DD 74 F9 1424 LD (IX-7),H - 00004E13 01 AE 84 1425 LD BC,?0114 - 00004E16 EB 1426 EX DE,HL - 00004E17 CD A8 50 1427 CALL LWRD ?0650 - 00004E1A CD 19 82 1428 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00004E1D 01 B7 84 1429 LD BC,?0115 - 00004E20 DD 5E F8 1430 LD E,(IX-8) - 00004E23 DD 56 F9 1431 LD D,(IX-7) - 00004E26 3E 00 1432 LD A,BYTE3 strcat - 00004E28 21 12 7A 1433 LD HL,LWRD strcat - 00004E2B CD 19 82 1434 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00004E2E FD 36 0A 00 1435 LD (IY+10),0 - 00004E32 21 BC 84 1436 LD HL,?0116 - 00004E35 E5 1437 PUSH HL - 00004E36 21 00 00 1438 LD HL,0 - 00004E39 E5 1439 PUSH HL - 00004E3A 01 FF FF 1440 LD BC,65535 - 00004E3D DD 5E F8 1441 LD E,(IX-8) - 00004E40 DD 56 F9 1442 LD D,(IX-7) - 00004E43 3E 00 1443 LD A,BYTE3 __fopen - 00004E45 21 A3 7A 1444 LD HL,LWRD __fopen - 00004E48 CD 19 82 1445 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00004E4B F1 1446 POP AF - 00004E4C F1 1447 POP AF - 00004E4D DD 75 FC 1448 LD (IX-4),L - 00004E50 DD 74 FD 1449 LD (IX-3),H - 00004E53 E5 1450 PUSH HL - 00004E54 21 01 00 1451 LD HL,1 - 00004E57 E5 1452 PUSH HL - 00004E58 01 04 00 1453 LD BC,4 - 00004E5B DD 5E F8 1454 LD E,(IX-8) - 00004E5E DD 56 F9 1455 LD D,(IX-7) - 00004E61 3E 00 1456 LD A,BYTE3 fread - 00004E63 21 DD 70 1457 LD HL,LWRD fread - 00004E66 CD 19 82 1458 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00004E69 F1 1459 POP AF - 00004E6A F1 1460 POP AF - 00004E6B DD 6E F8 1461 LD L,(IX-8) - 00004E6E DD 66 F9 1462 LD H,(IX-7) - 00004E71 7E 1463 LD A,(HL) - 00004E72 FE 54 1464 CP 84 - 00004E74 C2 7F 50 1465 JP NZ,?0132 - 00004E77 23 1466 INC HL - 00004E78 7E 1467 LD A,(HL) - 00004E79 FE 42 1468 CP 66 - 00004E7B C2 7F 50 1469 JP NZ,?0132 - 00004E7E 23 1470 INC HL - 00004E7F 7E 1471 LD A,(HL) - 00004E80 FE 4C 1472 CP 76 - 00004E82 C2 7F 50 1473 JP NZ,?0132 - 00004E85 23 1474 INC HL - 00004E86 7E 1475 LD A,(HL) - 00004E87 FE 20 1476 CP 32 - 00004E89 C2 7F 50 1477 JP NZ,?0132 - 00004E8C 1478 ?0119: - 00004E8C 1479 ?0120: - 00004E8C 1480 ?0117: - 00004E8C 1481 ?0118: - 00004E8C DD 6E FC 1482 LD L,(IX-4) - 00004E8F DD 66 FD 1483 LD H,(IX-3) - 00004E92 E5 1484 PUSH HL - 00004E93 21 01 00 1485 LD HL,1 - 00004E96 E5 1486 PUSH HL - 00004E97 01 04 00 1487 LD BC,4 - 00004E9A DD 5E F8 1488 LD E,(IX-8) - 00004E9D DD 56 F9 1489 LD D,(IX-7) - 00004EA0 3E 00 1490 LD A,BYTE3 fread - 00004EA2 21 DD 70 1491 LD HL,LWRD fread - 00004EA5 CD 19 82 1492 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00004EA8 F1 1493 POP AF - 00004EA9 F1 1494 POP AF - 00004EAA DD 6E F8 1495 LD L,(IX-8) - 00004EAD DD 66 F9 1496 LD H,(IX-7) - 00004EB0 4E 1497 LD C,(HL) - 00004EB1 DD 71 FE 1498 LD (IX-2),C - 00004EB4 06 00 1499 LD B,0 - 00004EB6 DD 70 FF 1500 LD (IX-1),B - 00004EB9 FD E5 1501 PUSH IY - 00004EBB E1 1502 POP HL - 00004EBC 71 1503 LD (HL),C - 00004EBD 23 1504 INC HL - 00004EBE 70 1505 LD (HL),B - 00004EBF 69 1506 LD L,C - 00004EC0 60 1507 LD H,B - 00004EC1 29 1508 ADD HL,HL - 00004EC2 29 1509 ADD HL,HL - 00004EC3 4D 1510 LD C,L - 00004EC4 44 1511 LD B,H - 00004EC5 29 1512 ADD HL,HL - 00004EC6 09 1513 ADD HL,BC - 00004EC7 CD E3 49 1514 CALL LWRD ?0642 - 00004ECA FD 75 02 1515 LD (IY+2),L - 00004ECD FD 74 03 1516 LD (IY+3),H - 00004ED0 AF 1517 XOR A - 00004ED1 DD 77 FA 1518 LD (IX-6),A - 00004ED4 DD 77 FB 1519 LD (IX-5),A - 00004ED7 1520 ?0123: - 00004ED7 DD 4E FE 1521 LD C,(IX-2) - 00004EDA DD 46 FF 1522 LD B,(IX-1) - 00004EDD DD 6E FA 1523 LD L,(IX-6) - 00004EE0 DD 66 FB 1524 LD H,(IX-5) - 00004EE3 F6 80 1525 OR 128 - 00004EE5 ED 42 1526 SBC HL,BC - 00004EE7 E2 EB 4E 1527 JP PO,?0494 - 00004EEA AC 1528 XOR H - 00004EEB 1529 ?0494: - 00004EEB F2 94 4F 1530 JP P,?0122 - 00004EEE 1531 ?0124: - 00004EEE DD 6E FC 1532 LD L,(IX-4) - 00004EF1 DD 66 FD 1533 LD H,(IX-3) - 00004EF4 E5 1534 PUSH HL - 00004EF5 21 01 00 1535 LD HL,1 - 00004EF8 E5 1536 PUSH HL - 00004EF9 01 08 00 1537 LD BC,8 - 00004EFC FD 6E 02 1538 LD L,(IY+2) - 00004EFF FD 66 03 1539 LD H,(IY+3) - 00004F02 E5 1540 PUSH HL - 00004F03 DD 6E FA 1541 LD L,(IX-6) - 00004F06 DD 66 FB 1542 LD H,(IX-5) - 00004F09 29 1543 ADD HL,HL - 00004F0A 29 1544 ADD HL,HL - 00004F0B 5D 1545 LD E,L - 00004F0C 54 1546 LD D,H - 00004F0D 29 1547 ADD HL,HL - 00004F0E 19 1548 ADD HL,DE - 00004F0F EB 1549 EX DE,HL - 00004F10 E1 1550 POP HL - 00004F11 19 1551 ADD HL,DE - 00004F12 EB 1552 EX DE,HL - 00004F13 3E 00 1553 LD A,BYTE3 fread - 00004F15 21 DD 70 1554 LD HL,LWRD fread - 00004F18 CD 19 82 1555 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00004F1B F1 1556 POP AF - 00004F1C F1 1557 POP AF - 00004F1D FD 6E 02 1558 LD L,(IY+2) - 00004F20 FD 66 03 1559 LD H,(IY+3) - 00004F23 E5 1560 PUSH HL - 00004F24 DD 6E FA 1561 LD L,(IX-6) - 00004F27 DD 66 FB 1562 LD H,(IX-5) - 00004F2A 29 1563 ADD HL,HL - 00004F2B 29 1564 ADD HL,HL - 00004F2C 4D 1565 LD C,L - 00004F2D 44 1566 LD B,H - 00004F2E 29 1567 ADD HL,HL - 00004F2F 09 1568 ADD HL,BC - 00004F30 4D 1569 LD C,L - 00004F31 44 1570 LD B,H - 00004F32 E1 1571 POP HL - 00004F33 09 1572 ADD HL,BC - 00004F34 01 08 00 1573 LD BC,8 - 00004F37 09 1574 ADD HL,BC - 00004F38 70 1575 LD (HL),B - 00004F39 DD 6E FC 1576 LD L,(IX-4) - 00004F3C DD 66 FD 1577 LD H,(IX-3) - 00004F3F E5 1578 PUSH HL - 00004F40 21 01 00 1579 LD HL,1 - 00004F43 E5 1580 PUSH HL - 00004F44 0E 03 1581 LD C,3 - 00004F46 FD 6E 02 1582 LD L,(IY+2) - 00004F49 FD 66 03 1583 LD H,(IY+3) - 00004F4C E5 1584 PUSH HL - 00004F4D DD 6E FA 1585 LD L,(IX-6) - 00004F50 DD 66 FB 1586 LD H,(IX-5) - 00004F53 29 1587 ADD HL,HL - 00004F54 29 1588 ADD HL,HL - 00004F55 5D 1589 LD E,L - 00004F56 54 1590 LD D,H - 00004F57 29 1591 ADD HL,HL - 00004F58 19 1592 ADD HL,DE - 00004F59 EB 1593 EX DE,HL - 00004F5A E1 1594 POP HL - 00004F5B 19 1595 ADD HL,DE - 00004F5C 11 09 00 1596 LD DE,9 - 00004F5F 19 1597 ADD HL,DE - 00004F60 EB 1598 EX DE,HL - 00004F61 3E 00 1599 LD A,BYTE3 fread - 00004F63 21 DD 70 1600 LD HL,LWRD fread - 00004F66 CD 19 82 1601 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00004F69 F1 1602 POP AF - 00004F6A F1 1603 POP AF - 00004F6B DD 6E FC 1604 LD L,(IX-4) - 00004F6E DD 66 FD 1605 LD H,(IX-3) - 00004F71 E5 1606 PUSH HL - 00004F72 21 01 00 1607 LD HL,1 - 00004F75 E5 1608 PUSH HL - 00004F76 4D 1609 LD C,L - 00004F77 44 1610 LD B,H - 00004F78 DD 5E F8 1611 LD E,(IX-8) - 00004F7B DD 56 F9 1612 LD D,(IX-7) - 00004F7E 3E 00 1613 LD A,BYTE3 fread - 00004F80 21 DD 70 1614 LD HL,LWRD fread - 00004F83 CD 19 82 1615 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00004F86 F1 1616 POP AF - 00004F87 F1 1617 POP AF - 00004F88 DD 34 FA 1618 INC (IX-6) - 00004F8B C2 D7 4E 1619 JP NZ,?0123 - 00004F8E DD 34 FB 1620 INC (IX-5) - 00004F91 C3 D7 4E 1621 JP LWRD ?0123 - 00004F94 1622 ?0122: - 00004F94 01 AE 84 1623 LD BC,?0114 - 00004F97 DD 5E F8 1624 LD E,(IX-8) - 00004F9A DD 56 F9 1625 LD D,(IX-7) - 00004F9D CD A8 50 1626 CALL LWRD ?0650 - 00004FA0 CD 19 82 1627 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00004FA3 01 BF 84 1628 LD BC,?0126 - 00004FA6 DD 5E F8 1629 LD E,(IX-8) - 00004FA9 DD 56 F9 1630 LD D,(IX-7) - 00004FAC 3E 00 1631 LD A,BYTE3 strcat - 00004FAE 21 12 7A 1632 LD HL,LWRD strcat - 00004FB1 CD 19 82 1633 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00004FB4 21 C4 84 1634 LD HL,?0127 - 00004FB7 E5 1635 PUSH HL - 00004FB8 21 00 00 1636 LD HL,0 - 00004FBB E5 1637 PUSH HL - 00004FBC 01 FF FF 1638 LD BC,65535 - 00004FBF DD 5E F8 1639 LD E,(IX-8) - 00004FC2 DD 56 F9 1640 LD D,(IX-7) - 00004FC5 3E 00 1641 LD A,BYTE3 __fopen - 00004FC7 21 A3 7A 1642 LD HL,LWRD __fopen - 00004FCA CD 19 82 1643 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00004FCD F1 1644 POP AF - 00004FCE F1 1645 POP AF - 00004FCF FD 75 08 1646 LD (IY+8),L - 00004FD2 FD 74 09 1647 LD (IY+9),H - 00004FD5 FD 36 0A 01 1648 LD (IY+10),1 - 00004FD9 FD 6E 08 1649 LD L,(IY+8) - 00004FDC FD 66 09 1650 LD H,(IY+9) - 00004FDF E5 1651 PUSH HL - 00004FE0 21 01 00 1652 LD HL,1 - 00004FE3 E5 1653 PUSH HL - 00004FE4 01 04 00 1654 LD BC,4 - 00004FE7 DD 5E F8 1655 LD E,(IX-8) - 00004FEA DD 56 F9 1656 LD D,(IX-7) - 00004FED 3E 00 1657 LD A,BYTE3 fread - 00004FEF 21 DD 70 1658 LD HL,LWRD fread - 00004FF2 CD 19 82 1659 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00004FF5 F1 1660 POP AF - 00004FF6 F1 1661 POP AF - 00004FF7 DD 6E F8 1662 LD L,(IX-8) - 00004FFA DD 66 F9 1663 LD H,(IX-7) - 00004FFD 7E 1664 LD A,(HL) - 00004FFE FE 44 1665 CP 68 - 00005000 20 12 1666 JR NZ,?0130 - 00005002 23 1667 INC HL - 00005003 7E 1668 LD A,(HL) - 00005004 FE 41 1669 CP 65 - 00005006 20 0C 1670 JR NZ,?0130 - 00005008 23 1671 INC HL - 00005009 7E 1672 LD A,(HL) - 0000500A FE 54 1673 CP 84 - 0000500C 20 06 1674 JR NZ,?0130 - 0000500E 23 1675 INC HL - 0000500F 7E 1676 LD A,(HL) - 00005010 FE 20 1677 CP 32 - 00005012 28 0F 1678 JR Z,?0129 - 00005014 1679 ?0130: - 00005014 1680 ?0131: - 00005014 1681 ?0128: - 00005014 FD 36 0A 00 1682 LD (IY+10),0 - 00005018 FD 5E 08 1683 LD E,(IY+8) - 0000501B FD 56 09 1684 LD D,(IY+9) - 0000501E CD A0 50 1685 CALL LWRD ?0645 - 00005021 18 5C 1686 JR ?0132 - 00005023 1687 ?0129: - 00005023 FD 6E 08 1688 LD L,(IY+8) - 00005026 FD 66 09 1689 LD H,(IY+9) - 00005029 E5 1690 PUSH HL - 0000502A 21 01 00 1691 LD HL,1 - 0000502D E5 1692 PUSH HL - 0000502E 01 02 00 1693 LD BC,2 - 00005031 2E 04 1694 LD L,4 - 00005033 FD E5 1695 PUSH IY - 00005035 D1 1696 POP DE - 00005036 19 1697 ADD HL,DE - 00005037 EB 1698 EX DE,HL - 00005038 3E 00 1699 LD A,BYTE3 fread - 0000503A 21 DD 70 1700 LD HL,LWRD fread - 0000503D CD 19 82 1701 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005040 F1 1702 POP AF - 00005041 F1 1703 POP AF - 00005042 FD 6E 08 1704 LD L,(IY+8) - 00005045 FD 66 09 1705 LD H,(IY+9) - 00005048 E5 1706 PUSH HL - 00005049 21 01 00 1707 LD HL,1 - 0000504C E5 1708 PUSH HL - 0000504D 01 02 00 1709 LD BC,2 - 00005050 2E 06 1710 LD L,6 - 00005052 FD E5 1711 PUSH IY - 00005054 D1 1712 POP DE - 00005055 19 1713 ADD HL,DE - 00005056 EB 1714 EX DE,HL - 00005057 3E 00 1715 LD A,BYTE3 fread - 00005059 21 DD 70 1716 LD HL,LWRD fread - 0000505C CD 19 82 1717 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000505F F1 1718 POP AF - 00005060 F1 1719 POP AF - 00005061 FD 6E 08 1720 LD L,(IY+8) - 00005064 FD 66 09 1721 LD H,(IY+9) - 00005067 E5 1722 PUSH HL - 00005068 21 01 00 1723 LD HL,1 - 0000506B E5 1724 PUSH HL - 0000506C 01 02 00 1725 LD BC,2 - 0000506F DD 5E F8 1726 LD E,(IX-8) - 00005072 DD 56 F9 1727 LD D,(IX-7) - 00005075 3E 00 1728 LD A,BYTE3 fread - 00005077 21 DD 70 1729 LD HL,LWRD fread - 0000507A CD 19 82 1730 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000507D F1 1731 POP AF - 0000507E F1 1732 POP AF - 0000507F 1733 ?0132: - 0000507F 1734 ?0121: - 0000507F DD 5E FC 1735 LD E,(IX-4) - 00005082 DD 56 FD 1736 LD D,(IX-3) - 00005085 CD A0 50 1737 CALL LWRD ?0645 - 00005088 DD 5E F8 1738 LD E,(IX-8) - 0000508B DD 56 F9 1739 LD D,(IX-7) - 0000508E CD 90 45 1740 CALL LWRD ?0639 - 00005091 DD F9 1741 LD SP,IX - 00005093 C3 C0 45 1742 JP LWRD ?0614 - 00005096 1743 ?0646: - 00005096 D5 1744 PUSH DE - 00005097 DD E1 1745 POP IX - 00005099 21 08 00 1746 LD HL,8 - 0000509C 19 1747 ADD HL,DE - 0000509D 5E 1748 LD E,(HL) - 0000509E 23 1749 INC HL - 0000509F 56 1750 LD D,(HL) - 000050A0 1751 ?0645: - 000050A0 3E 01 1752 LD A,BYTE3 fclose - 000050A2 21 FD 4C 1753 LD HL,LWRD fclose - 000050A5 C3 19 82 1754 JP LWRD ?BANK_CALL_DIRECT_L08 - 000050A8 1755 ?0650: - 000050A8 3E 00 1756 LD A,BYTE3 strcpy - 000050AA 21 1C 7F 1757 LD HL,LWRD strcpy - 000050AD CD 19 82 1758 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000050B0 21 0B 00 1759 LD HL,11 - 000050B3 FD E5 1760 PUSH IY - 000050B5 C1 1761 POP BC - 000050B6 09 1762 ADD HL,BC - 000050B7 4D 1763 LD C,L - 000050B8 44 1764 LD B,H - 000050B9 DD 5E F8 1765 LD E,(IX-8) - 000050BC DD 56 F9 1766 LD D,(IX-7) - 000050BF 3E 00 1767 LD A,BYTE3 strcat - 000050C1 21 12 7A 1768 LD HL,LWRD strcat - 000050C4 C9 1769 RET - 000050C5 1770 dbTableClose: - 000050C5 DD E5 1771 PUSH IX - 000050C7 CD 96 50 1772 CALL LWRD ?0646 - 000050CA DD 5E 02 1773 LD E,(IX+2) - 000050CD DD 56 03 1774 LD D,(IX+3) - 000050D0 3E 00 1775 LD A,BYTE3 free - 000050D2 21 3C 7E 1776 LD HL,LWRD free - 000050D5 1777 ?0634: - 000050D5 CD 19 82 1778 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000050D8 1779 ?0636: - 000050D8 DD E5 1780 PUSH IX - 000050DA D1 1781 POP DE - 000050DB CD 90 45 1782 CALL LWRD ?0639 - 000050DE DD E1 1783 POP IX - 000050E0 C3 A9 81 1784 JP LWRD ?BANK_FAST_LEAVE_L08 - 000050E3 1785 dbStatementClose: - 000050E3 DD E5 1786 PUSH IX - 000050E5 D5 1787 PUSH DE - 000050E6 DD E1 1788 POP IX - 000050E8 13 1789 INC DE - 000050E9 EB 1790 EX DE,HL - 000050EA 5E 1791 LD E,(HL) - 000050EB 23 1792 INC HL - 000050EC 56 1793 LD D,(HL) - 000050ED 3E 00 1794 LD A,BYTE3 dbDeleteList - 000050EF 21 55 45 1795 LD HL,LWRD dbDeleteList - 000050F2 CD 19 82 1796 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000050F5 DD 5E 03 1797 LD E,(IX+3) - 000050F8 DD 56 04 1798 LD D,(IX+4) - 000050FB 3E 00 1799 LD A,BYTE3 dbDeleteList - 000050FD 21 55 45 1800 LD HL,LWRD dbDeleteList - 00005100 CD 19 82 1801 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005103 DD 5E 05 1802 LD E,(IX+5) - 00005106 DD 56 06 1803 LD D,(IX+6) - 00005109 3E 00 1804 LD A,BYTE3 dbDeleteList - 0000510B 21 55 45 1805 LD HL,LWRD dbDeleteList - 0000510E CD 19 82 1806 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005111 DD 5E 07 1807 LD E,(IX+7) - 00005114 DD 56 08 1808 LD D,(IX+8) - 00005117 3E 00 1809 LD A,BYTE3 dbDeleteList - 00005119 21 55 45 1810 LD HL,LWRD dbDeleteList - 0000511C C3 D5 50 1811 JP LWRD ?0634 - 0000511F 1812 dbResultSetClose: - 0000511F DD E5 1813 PUSH IX - 00005121 CD 96 50 1814 CALL LWRD ?0646 - 00005124 DD 5E 02 1815 LD E,(IX+2) - 00005127 DD 56 03 1816 LD D,(IX+3) - 0000512A 3E 00 1817 LD A,BYTE3 free - 0000512C 21 3C 7E 1818 LD HL,LWRD free - 0000512F C3 D5 50 1819 JP LWRD ?0634 - 00005132 1820 dbFieldOffset: - 00005132 FD E5 1821 PUSH IY - 00005134 DD E5 1822 PUSH IX - 00005136 C5 1823 PUSH BC - 00005137 D5 1824 PUSH DE - 00005138 DD 21 00 00 1825 LD IX,0 - 0000513C FD 21 00 00 1826 LD IY,0 - 00005140 1827 ?0134: - 00005140 21 02 00 1828 LD HL,2 - 00005143 39 1829 ADD HL,SP - 00005144 4E 1830 LD C,(HL) - 00005145 23 1831 INC HL - 00005146 46 1832 LD B,(HL) - 00005147 FD E5 1833 PUSH IY - 00005149 E1 1834 POP HL - 0000514A F6 80 1835 OR 128 - 0000514C ED 42 1836 SBC HL,BC - 0000514E E2 52 51 1837 JP PO,?0498 - 00005151 AC 1838 XOR H - 00005152 1839 ?0498: - 00005152 F2 7C 51 1840 JP P,?0133 - 00005155 1841 ?0135: - 00005155 21 00 00 1842 LD HL,0 - 00005158 39 1843 ADD HL,SP - 00005159 46 1844 LD B,(HL) - 0000515A 23 1845 INC HL - 0000515B 66 1846 LD H,(HL) - 0000515C 68 1847 LD L,B - 0000515D 23 1848 INC HL - 0000515E 23 1849 INC HL - 0000515F 46 1850 LD B,(HL) - 00005160 23 1851 INC HL - 00005161 66 1852 LD H,(HL) - 00005162 68 1853 LD L,B - 00005163 E5 1854 PUSH HL - 00005164 FD E5 1855 PUSH IY - 00005166 E1 1856 POP HL - 00005167 29 1857 ADD HL,HL - 00005168 29 1858 ADD HL,HL - 00005169 4D 1859 LD C,L - 0000516A 44 1860 LD B,H - 0000516B 29 1861 ADD HL,HL - 0000516C 09 1862 ADD HL,BC - 0000516D 4D 1863 LD C,L - 0000516E 44 1864 LD B,H - 0000516F E1 1865 POP HL - 00005170 09 1866 ADD HL,BC - 00005171 01 0A 00 1867 LD BC,10 - 00005174 09 1868 ADD HL,BC - 00005175 4E 1869 LD C,(HL) - 00005176 DD 09 1870 ADD IX,BC - 00005178 FD 23 1871 INC IY - 0000517A 18 C4 1872 JR ?0134 - 0000517C 1873 ?0133: - 0000517C DD 23 1874 INC IX - 0000517E DD 23 1875 INC IX - 00005180 DD E5 1876 PUSH IX - 00005182 E1 1877 POP HL - 00005183 F1 1878 POP AF - 00005184 C3 36 48 1879 JP LWRD ?0626 - 00005187 1880 dbRecordSize: - 00005187 C5 1881 PUSH BC - 00005188 DD E5 1882 PUSH IX - 0000518A D5 1883 PUSH DE - 0000518B DD E1 1884 POP IX - 0000518D 1A 1885 LD A,(DE) - 0000518E 4F 1886 LD C,A - 0000518F 13 1887 INC DE - 00005190 1A 1888 LD A,(DE) - 00005191 47 1889 LD B,A - 00005192 DD E5 1890 PUSH IX - 00005194 D1 1891 POP DE - 00005195 3E 00 1892 LD A,BYTE3 dbFieldOffset - 00005197 21 32 51 1893 LD HL,LWRD dbFieldOffset - 0000519A CD 19 82 1894 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000519D DD E1 1895 POP IX - 0000519F C1 1896 POP BC - 000051A0 C3 A9 81 1897 JP LWRD ?BANK_FAST_LEAVE_L08 - 000051A3 1898 dbFieldSearch: - 000051A3 FD E5 1899 PUSH IY - 000051A5 DD E5 1900 PUSH IX - 000051A7 C5 1901 PUSH BC - 000051A8 D5 1902 PUSH DE - 000051A9 FD E1 1903 POP IY - 000051AB DD 21 00 00 1904 LD IX,0 - 000051AF 1905 ?0138: - 000051AF FD 4E 00 1906 LD C,(IY+0) - 000051B2 FD 46 01 1907 LD B,(IY+1) - 000051B5 DD E5 1908 PUSH IX - 000051B7 E1 1909 POP HL - 000051B8 F6 80 1910 OR 128 - 000051BA ED 42 1911 SBC HL,BC - 000051BC E2 C0 51 1912 JP PO,?0500 - 000051BF AC 1913 XOR H - 000051C0 1914 ?0500: - 000051C0 F2 F3 51 1915 JP P,?0137 - 000051C3 1916 ?0139: - 000051C3 21 00 00 1917 LD HL,0 - 000051C6 39 1918 ADD HL,SP - 000051C7 4E 1919 LD C,(HL) - 000051C8 23 1920 INC HL - 000051C9 46 1921 LD B,(HL) - 000051CA FD 6E 02 1922 LD L,(IY+2) - 000051CD FD 66 03 1923 LD H,(IY+3) - 000051D0 E5 1924 PUSH HL - 000051D1 DD E5 1925 PUSH IX - 000051D3 E1 1926 POP HL - 000051D4 29 1927 ADD HL,HL - 000051D5 29 1928 ADD HL,HL - 000051D6 5D 1929 LD E,L - 000051D7 54 1930 LD D,H - 000051D8 29 1931 ADD HL,HL - 000051D9 19 1932 ADD HL,DE - 000051DA EB 1933 EX DE,HL - 000051DB E1 1934 POP HL - 000051DC 19 1935 ADD HL,DE - 000051DD EB 1936 EX DE,HL - 000051DE 3E 00 1937 LD A,BYTE3 strcmp - 000051E0 21 93 7D 1938 LD HL,LWRD strcmp - 000051E3 CD 19 82 1939 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000051E6 7D 1940 LD A,L - 000051E7 B4 1941 OR H - 000051E8 20 05 1942 JR NZ,?0142 - 000051EA 1943 ?0141: - 000051EA DD E5 1944 PUSH IX - 000051EC E1 1945 POP HL - 000051ED 18 07 1946 JR ?0143 - 000051EF 1947 ?0142: - 000051EF DD 23 1948 INC IX - 000051F1 18 BC 1949 JR ?0138 - 000051F3 1950 ?0137: - 000051F3 21 FF FF 1951 LD HL,65535 - 000051F6 1952 ?0143: - 000051F6 C3 36 48 1953 JP LWRD ?0626 - 000051F9 1954 dbExecuteQuery: - 000051F9 C5 1955 PUSH BC - 000051FA FD E5 1956 PUSH IY - 000051FC DD E5 1957 PUSH IX - 000051FE DD 21 00 00 1958 LD IX,0 - 00005202 DD 39 1959 ADD IX,SP - 00005204 D5 1960 PUSH DE - 00005205 21 DE FF 1961 LD HL,65502 - 00005208 39 1962 ADD HL,SP - 00005209 F9 1963 LD SP,HL - 0000520A 11 0A 00 1964 LD DE,10 - 0000520D CD E4 49 1965 CALL LWRD ?0641 - 00005210 E5 1966 PUSH HL - 00005211 FD E1 1967 POP IY - 00005213 11 14 00 1968 LD DE,20 - 00005216 CD E4 49 1969 CALL LWRD ?0641 - 00005219 DD 75 DE 1970 LD (IX-34),L - 0000521C DD 74 DF 1971 LD (IX-33),H - 0000521F AF 1972 XOR A - 00005220 DD 77 F8 1973 LD (IX-8),A - 00005223 DD 77 F9 1974 LD (IX-7),A - 00005226 CD 84 57 1975 CALL LWRD ?0661 - 00005229 DD 75 FA 1976 LD (IX-6),L - 0000522C DD 74 FB 1977 LD (IX-5),H - 0000522F DD 6E FE 1978 LD L,(IX-2) - 00005232 DD 66 FF 1979 LD H,(IX-1) - 00005235 23 1980 INC HL - 00005236 23 1981 INC HL - 00005237 23 1982 INC HL - 00005238 46 1983 LD B,(HL) - 00005239 23 1984 INC HL - 0000523A 66 1985 LD H,(HL) - 0000523B 68 1986 LD L,B - 0000523C 01 04 00 1987 LD BC,4 - 0000523F 09 1988 ADD HL,BC - 00005240 4E 1989 LD C,(HL) - 00005241 23 1990 INC HL - 00005242 46 1991 LD B,(HL) - 00005243 21 0B 00 1992 LD HL,11 - 00005246 DD 5E DE 1993 LD E,(IX-34) - 00005249 DD 56 DF 1994 LD D,(IX-33) - 0000524C CD 00 4A 1995 CALL LWRD ?0653 - 0000524F DD 5E DE 1996 LD E,(IX-34) - 00005252 DD 56 DF 1997 LD D,(IX-33) - 00005255 3E 00 1998 LD A,BYTE3 dbTableOpen - 00005257 21 F5 4D 1999 LD HL,LWRD dbTableOpen - 0000525A CD 19 82 2000 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000525D AF 2001 XOR A - 0000525E FD 77 04 2002 LD (IY+4),A - 00005261 FD 77 05 2003 LD (IY+5),A - 00005264 FD 77 06 2004 LD (IY+6),A - 00005267 FD 77 07 2005 LD (IY+7),A - 0000526A 01 C8 84 2006 LD BC,?0146 - 0000526D DD 6E FE 2007 LD L,(IX-2) - 00005270 DD 66 FF 2008 LD H,(IX-1) - 00005273 23 2009 INC HL - 00005274 56 2010 LD D,(HL) - 00005275 23 2011 INC HL - 00005276 66 2012 LD H,(HL) - 00005277 6A 2013 LD L,D - 00005278 11 04 00 2014 LD DE,4 - 0000527B 19 2015 ADD HL,DE - 0000527C 5E 2016 LD E,(HL) - 0000527D 23 2017 INC HL - 0000527E 56 2018 LD D,(HL) - 0000527F 3E 00 2019 LD A,BYTE3 strcmp - 00005281 21 93 7D 2020 LD HL,LWRD strcmp - 00005284 CD 19 82 2021 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005287 7D 2022 LD A,L - 00005288 B4 2023 OR H - 00005289 C2 83 53 2024 JP NZ,?0145 - 0000528C 2025 ?0144: - 0000528C DD 6E DE 2026 LD L,(IX-34) - 0000528F DD 66 DF 2027 LD H,(IX-33) - 00005292 46 2028 LD B,(HL) - 00005293 23 2029 INC HL - 00005294 66 2030 LD H,(HL) - 00005295 68 2031 LD L,B - 00005296 E5 2032 PUSH HL - 00005297 FD E5 2033 PUSH IY - 00005299 E1 2034 POP HL - 0000529A C1 2035 POP BC - 0000529B CD D9 49 2036 CALL LWRD ?0643 - 0000529E CD 35 57 2037 CALL LWRD ?0640 - 000052A1 CD 19 82 2038 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000052A4 FD 75 02 2039 LD (IY+2),L - 000052A7 FD 74 03 2040 LD (IY+3),H - 000052AA AF 2041 XOR A - 000052AB DD 77 EE 2042 LD (IX-18),A - 000052AE DD 77 EF 2043 LD (IX-17),A - 000052B1 2044 ?0148: - 000052B1 FD 4E 00 2045 LD C,(IY+0) - 000052B4 FD 46 01 2046 LD B,(IY+1) - 000052B7 DD 6E EE 2047 LD L,(IX-18) - 000052BA DD 66 EF 2048 LD H,(IX-17) - 000052BD F6 80 2049 OR 128 - 000052BF ED 42 2050 SBC HL,BC - 000052C1 E2 C5 52 2051 JP PO,?0501 - 000052C4 AC 2052 XOR H - 000052C5 2053 ?0501: - 000052C5 F2 B6 54 2054 JP P,?0152 - 000052C8 2055 ?0149: - 000052C8 DD 6E DE 2056 LD L,(IX-34) - 000052CB DD 66 DF 2057 LD H,(IX-33) - 000052CE 23 2058 INC HL - 000052CF 23 2059 INC HL - 000052D0 46 2060 LD B,(HL) - 000052D1 23 2061 INC HL - 000052D2 66 2062 LD H,(HL) - 000052D3 68 2063 LD L,B - 000052D4 E5 2064 PUSH HL - 000052D5 DD 6E EE 2065 LD L,(IX-18) - 000052D8 DD 66 EF 2066 LD H,(IX-17) - 000052DB 29 2067 ADD HL,HL - 000052DC 29 2068 ADD HL,HL - 000052DD 4D 2069 LD C,L - 000052DE 44 2070 LD B,H - 000052DF 29 2071 ADD HL,HL - 000052E0 09 2072 ADD HL,BC - 000052E1 4D 2073 LD C,L - 000052E2 44 2074 LD B,H - 000052E3 E1 2075 POP HL - 000052E4 09 2076 ADD HL,BC - 000052E5 DD 75 E0 2077 LD (IX-32),L - 000052E8 DD 74 E1 2078 LD (IX-31),H - 000052EB DD 6E EE 2079 LD L,(IX-18) - 000052EE DD 66 EF 2080 LD H,(IX-17) - 000052F1 29 2081 ADD HL,HL - 000052F2 DD 4E E4 2082 LD C,(IX-28) - 000052F5 DD 46 E5 2083 LD B,(IX-27) - 000052F8 09 2084 ADD HL,BC - 000052F9 E5 2085 PUSH HL - 000052FA DD 4E EE 2086 LD C,(IX-18) - 000052FD DD 46 EF 2087 LD B,(IX-17) - 00005300 DD 5E DE 2088 LD E,(IX-34) - 00005303 DD 56 DF 2089 LD D,(IX-33) - 00005306 3E 00 2090 LD A,BYTE3 dbFieldOffset - 00005308 21 32 51 2091 LD HL,LWRD dbFieldOffset - 0000530B CD 19 82 2092 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000530E 4D 2093 LD C,L - 0000530F 44 2094 LD B,H - 00005310 E1 2095 POP HL - 00005311 71 2096 LD (HL),C - 00005312 23 2097 INC HL - 00005313 70 2098 LD (HL),B - 00005314 DD 6E EE 2099 LD L,(IX-18) - 00005317 DD 66 EF 2100 LD H,(IX-17) - 0000531A 29 2101 ADD HL,HL - 0000531B DD 4E E6 2102 LD C,(IX-26) - 0000531E DD 46 E7 2103 LD B,(IX-25) - 00005321 09 2104 ADD HL,BC - 00005322 E5 2105 PUSH HL - 00005323 21 0A 00 2106 LD HL,10 - 00005326 DD 4E E0 2107 LD C,(IX-32) - 00005329 DD 46 E1 2108 LD B,(IX-31) - 0000532C 09 2109 ADD HL,BC - 0000532D 4E 2110 LD C,(HL) - 0000532E 06 00 2111 LD B,0 - 00005330 E1 2112 POP HL - 00005331 71 2113 LD (HL),C - 00005332 23 2114 INC HL - 00005333 70 2115 LD (HL),B - 00005334 21 0C 00 2116 LD HL,12 - 00005337 E5 2117 PUSH HL - 00005338 DD 6E DE 2118 LD L,(IX-34) - 0000533B DD 66 DF 2119 LD H,(IX-33) - 0000533E 23 2120 INC HL - 0000533F 23 2121 INC HL - 00005340 46 2122 LD B,(HL) - 00005341 23 2123 INC HL - 00005342 66 2124 LD H,(HL) - 00005343 68 2125 LD L,B - 00005344 E5 2126 PUSH HL - 00005345 DD 6E EE 2127 LD L,(IX-18) - 00005348 DD 66 EF 2128 LD H,(IX-17) - 0000534B 29 2129 ADD HL,HL - 0000534C 29 2130 ADD HL,HL - 0000534D 4D 2131 LD C,L - 0000534E 44 2132 LD B,H - 0000534F 29 2133 ADD HL,HL - 00005350 09 2134 ADD HL,BC - 00005351 4D 2135 LD C,L - 00005352 44 2136 LD B,H - 00005353 E1 2137 POP HL - 00005354 09 2138 ADD HL,BC - 00005355 4D 2139 LD C,L - 00005356 44 2140 LD B,H - 00005357 FD 6E 02 2141 LD L,(IY+2) - 0000535A FD 66 03 2142 LD H,(IY+3) - 0000535D E5 2143 PUSH HL - 0000535E DD 6E EE 2144 LD L,(IX-18) - 00005361 DD 66 EF 2145 LD H,(IX-17) - 00005364 29 2146 ADD HL,HL - 00005365 29 2147 ADD HL,HL - 00005366 5D 2148 LD E,L - 00005367 54 2149 LD D,H - 00005368 29 2150 ADD HL,HL - 00005369 19 2151 ADD HL,DE - 0000536A EB 2152 EX DE,HL - 0000536B E1 2153 POP HL - 0000536C 19 2154 ADD HL,DE - 0000536D EB 2155 EX DE,HL - 0000536E 3E 00 2156 LD A,BYTE3 memcpy - 00005370 21 1E 75 2157 LD HL,LWRD memcpy - 00005373 CD 19 82 2158 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005376 F1 2159 POP AF - 00005377 DD 34 EE 2160 INC (IX-18) - 0000537A C2 B1 52 2161 JP NZ,?0148 - 0000537D DD 34 EF 2162 INC (IX-17) - 00005380 C3 B1 52 2163 JP LWRD ?0148 - 00005383 2164 ?0147: - 00005383 2165 ?0145: - 00005383 CD 64 57 2166 CALL LWRD ?0647 - 00005386 E5 2167 PUSH HL - 00005387 FD E5 2168 PUSH IY - 00005389 E1 2169 POP HL - 0000538A C1 2170 POP BC - 0000538B CD D9 49 2171 CALL LWRD ?0643 - 0000538E CD 35 57 2172 CALL LWRD ?0640 - 00005391 CD 19 82 2173 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005394 FD 75 02 2174 LD (IY+2),L - 00005397 FD 74 03 2175 LD (IY+3),H - 0000539A DD 6E FE 2176 LD L,(IX-2) - 0000539D DD 66 FF 2177 LD H,(IX-1) - 000053A0 23 2178 INC HL - 000053A1 46 2179 LD B,(HL) - 000053A2 DD 70 E2 2180 LD (IX-30),B - 000053A5 23 2181 INC HL - 000053A6 66 2182 LD H,(HL) - 000053A7 DD 74 E3 2183 LD (IX-29),H - 000053AA AF 2184 XOR A - 000053AB DD 77 EE 2185 LD (IX-18),A - 000053AE DD 77 EF 2186 LD (IX-17),A - 000053B1 2187 ?0153: - 000053B1 FD 4E 00 2188 LD C,(IY+0) - 000053B4 FD 46 01 2189 LD B,(IY+1) - 000053B7 DD 6E EE 2190 LD L,(IX-18) - 000053BA DD 66 EF 2191 LD H,(IX-17) - 000053BD F6 80 2192 OR 128 - 000053BF ED 42 2193 SBC HL,BC - 000053C1 E2 C5 53 2194 JP PO,?0503 - 000053C4 AC 2195 XOR H - 000053C5 2196 ?0503: - 000053C5 F2 B6 54 2197 JP P,?0152 - 000053C8 2198 ?0154: - 000053C8 21 04 00 2199 LD HL,4 - 000053CB DD 4E E2 2200 LD C,(IX-30) - 000053CE DD 46 E3 2201 LD B,(IX-29) - 000053D1 09 2202 ADD HL,BC - 000053D2 4E 2203 LD C,(HL) - 000053D3 23 2204 INC HL - 000053D4 46 2205 LD B,(HL) - 000053D5 DD 5E DE 2206 LD E,(IX-34) - 000053D8 DD 56 DF 2207 LD D,(IX-33) - 000053DB 3E 00 2208 LD A,BYTE3 dbFieldSearch - 000053DD 21 A3 51 2209 LD HL,LWRD dbFieldSearch - 000053E0 CD 19 82 2210 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000053E3 DD 75 FC 2211 LD (IX-4),L - 000053E6 DD 74 FD 2212 LD (IX-3),H - 000053E9 DD 4E DE 2213 LD C,(IX-34) - 000053EC DD 46 DF 2214 LD B,(IX-33) - 000053EF 03 2215 INC BC - 000053F0 03 2216 INC BC - 000053F1 0A 2217 LD A,(BC) - 000053F2 6F 2218 LD L,A - 000053F3 03 2219 INC BC - 000053F4 0A 2220 LD A,(BC) - 000053F5 67 2221 LD H,A - 000053F6 E5 2222 PUSH HL - 000053F7 DD 6E FC 2223 LD L,(IX-4) - 000053FA DD 66 FD 2224 LD H,(IX-3) - 000053FD 29 2225 ADD HL,HL - 000053FE 29 2226 ADD HL,HL - 000053FF 4D 2227 LD C,L - 00005400 44 2228 LD B,H - 00005401 29 2229 ADD HL,HL - 00005402 09 2230 ADD HL,BC - 00005403 4D 2231 LD C,L - 00005404 44 2232 LD B,H - 00005405 E1 2233 POP HL - 00005406 09 2234 ADD HL,BC - 00005407 DD 75 E0 2235 LD (IX-32),L - 0000540A DD 74 E1 2236 LD (IX-31),H - 0000540D DD 6E EE 2237 LD L,(IX-18) - 00005410 DD 66 EF 2238 LD H,(IX-17) - 00005413 29 2239 ADD HL,HL - 00005414 DD 4E E4 2240 LD C,(IX-28) - 00005417 DD 46 E5 2241 LD B,(IX-27) - 0000541A 09 2242 ADD HL,BC - 0000541B E5 2243 PUSH HL - 0000541C DD 4E FC 2244 LD C,(IX-4) - 0000541F DD 46 FD 2245 LD B,(IX-3) - 00005422 DD 5E DE 2246 LD E,(IX-34) - 00005425 DD 56 DF 2247 LD D,(IX-33) - 00005428 3E 00 2248 LD A,BYTE3 dbFieldOffset - 0000542A 21 32 51 2249 LD HL,LWRD dbFieldOffset - 0000542D CD 19 82 2250 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005430 4D 2251 LD C,L - 00005431 44 2252 LD B,H - 00005432 E1 2253 POP HL - 00005433 71 2254 LD (HL),C - 00005434 23 2255 INC HL - 00005435 70 2256 LD (HL),B - 00005436 DD 6E EE 2257 LD L,(IX-18) - 00005439 DD 66 EF 2258 LD H,(IX-17) - 0000543C 29 2259 ADD HL,HL - 0000543D DD 4E E6 2260 LD C,(IX-26) - 00005440 DD 46 E7 2261 LD B,(IX-25) - 00005443 09 2262 ADD HL,BC - 00005444 E5 2263 PUSH HL - 00005445 21 0A 00 2264 LD HL,10 - 00005448 DD 4E E0 2265 LD C,(IX-32) - 0000544B DD 46 E1 2266 LD B,(IX-31) - 0000544E 09 2267 ADD HL,BC - 0000544F 4E 2268 LD C,(HL) - 00005450 06 00 2269 LD B,0 - 00005452 E1 2270 POP HL - 00005453 71 2271 LD (HL),C - 00005454 23 2272 INC HL - 00005455 70 2273 LD (HL),B - 00005456 21 0C 00 2274 LD HL,12 - 00005459 E5 2275 PUSH HL - 0000545A DD 6E DE 2276 LD L,(IX-34) - 0000545D DD 66 DF 2277 LD H,(IX-33) - 00005460 23 2278 INC HL - 00005461 23 2279 INC HL - 00005462 46 2280 LD B,(HL) - 00005463 23 2281 INC HL - 00005464 66 2282 LD H,(HL) - 00005465 68 2283 LD L,B - 00005466 E5 2284 PUSH HL - 00005467 DD 6E FC 2285 LD L,(IX-4) - 0000546A DD 66 FD 2286 LD H,(IX-3) - 0000546D 29 2287 ADD HL,HL - 0000546E 29 2288 ADD HL,HL - 0000546F 4D 2289 LD C,L - 00005470 44 2290 LD B,H - 00005471 29 2291 ADD HL,HL - 00005472 09 2292 ADD HL,BC - 00005473 4D 2293 LD C,L - 00005474 44 2294 LD B,H - 00005475 E1 2295 POP HL - 00005476 09 2296 ADD HL,BC - 00005477 4D 2297 LD C,L - 00005478 44 2298 LD B,H - 00005479 FD 6E 02 2299 LD L,(IY+2) - 0000547C FD 66 03 2300 LD H,(IY+3) - 0000547F E5 2301 PUSH HL - 00005480 DD 6E EE 2302 LD L,(IX-18) - 00005483 DD 66 EF 2303 LD H,(IX-17) - 00005486 29 2304 ADD HL,HL - 00005487 29 2305 ADD HL,HL - 00005488 5D 2306 LD E,L - 00005489 54 2307 LD D,H - 0000548A 29 2308 ADD HL,HL - 0000548B 19 2309 ADD HL,DE - 0000548C EB 2310 EX DE,HL - 0000548D E1 2311 POP HL - 0000548E 19 2312 ADD HL,DE - 0000548F EB 2313 EX DE,HL - 00005490 3E 00 2314 LD A,BYTE3 memcpy - 00005492 21 1E 75 2315 LD HL,LWRD memcpy - 00005495 CD 19 82 2316 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005498 F1 2317 POP AF - 00005499 DD 6E E2 2318 LD L,(IX-30) - 0000549C DD 66 E3 2319 LD H,(IX-29) - 0000549F 23 2320 INC HL - 000054A0 23 2321 INC HL - 000054A1 46 2322 LD B,(HL) - 000054A2 DD 70 E2 2323 LD (IX-30),B - 000054A5 23 2324 INC HL - 000054A6 66 2325 LD H,(HL) - 000054A7 DD 74 E3 2326 LD (IX-29),H - 000054AA DD 34 EE 2327 INC (IX-18) - 000054AD C2 B1 53 2328 JP NZ,?0153 - 000054B0 DD 34 EF 2329 INC (IX-17) - 000054B3 C3 B1 53 2330 JP LWRD ?0153 - 000054B6 2331 ?0152: - 000054B6 2332 ?0151: - 000054B6 DD 5E DE 2333 LD E,(IX-34) - 000054B9 DD 56 DF 2334 LD D,(IX-33) - 000054BC 3E 00 2335 LD A,BYTE3 dbRecordSize - 000054BE 21 87 51 2336 LD HL,LWRD dbRecordSize - 000054C1 CD 19 82 2337 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000054C4 DD 75 F4 2338 LD (IX-12),L - 000054C7 DD 74 F5 2339 LD (IX-11),H - 000054CA CD E3 49 2340 CALL LWRD ?0642 - 000054CD DD 75 E8 2341 LD (IX-24),L - 000054D0 DD 74 E9 2342 LD (IX-23),H - 000054D3 FD E5 2343 PUSH IY - 000054D5 D1 2344 POP DE - 000054D6 3E 00 2345 LD A,BYTE3 dbRecordSize - 000054D8 21 87 51 2346 LD HL,LWRD dbRecordSize - 000054DB CD 19 82 2347 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000054DE DD 75 F2 2348 LD (IX-14),L - 000054E1 DD 74 F3 2349 LD (IX-13),H - 000054E4 CD E3 49 2350 CALL LWRD ?0642 - 000054E7 DD 75 EA 2351 LD (IX-22),L - 000054EA DD 74 EB 2352 LD (IX-21),H - 000054ED DD 6E DE 2353 LD L,(IX-34) - 000054F0 DD 66 DF 2354 LD H,(IX-33) - 000054F3 E5 2355 PUSH HL - 000054F4 DD 6E FA 2356 LD L,(IX-6) - 000054F7 DD 66 FB 2357 LD H,(IX-5) - 000054FA C1 2358 POP BC - 000054FB 71 2359 LD (HL),C - 000054FC 23 2360 INC HL - 000054FD 70 2361 LD (HL),B - 000054FE DD 6E FA 2362 LD L,(IX-6) - 00005501 DD 66 FB 2363 LD H,(IX-5) - 00005504 23 2364 INC HL - 00005505 23 2365 INC HL - 00005506 AF 2366 XOR A - 00005507 77 2367 LD (HL),A - 00005508 23 2368 INC HL - 00005509 77 2369 LD (HL),A - 0000550A 21 04 00 2370 LD HL,4 - 0000550D DD 4E FA 2371 LD C,(IX-6) - 00005510 DD 46 FB 2372 LD B,(IX-5) - 00005513 09 2373 ADD HL,BC - 00005514 DD 4E E8 2374 LD C,(IX-24) - 00005517 71 2375 LD (HL),C - 00005518 DD 46 E9 2376 LD B,(IX-23) - 0000551B 23 2377 INC HL - 0000551C 70 2378 LD (HL),B - 0000551D 21 D3 84 2379 LD HL,?0157 - 00005520 E5 2380 PUSH HL - 00005521 6F 2381 LD L,A - 00005522 67 2382 LD H,A - 00005523 E5 2383 PUSH HL - 00005524 01 FF FF 2384 LD BC,65535 - 00005527 11 CC 84 2385 LD DE,?0156 - 0000552A 3E 00 2386 LD A,BYTE3 __fopen - 0000552C 21 A3 7A 2387 LD HL,LWRD __fopen - 0000552F CD 19 82 2388 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005532 F1 2389 POP AF - 00005533 F1 2390 POP AF - 00005534 FD 75 08 2391 LD (IY+8),L - 00005537 FD 74 09 2392 LD (IY+9),H - 0000553A 21 05 00 2393 LD HL,5 - 0000553D DD 4E FE 2394 LD C,(IX-2) - 00005540 DD 46 FF 2395 LD B,(IX-1) - 00005543 09 2396 ADD HL,BC - 00005544 7E 2397 LD A,(HL) - 00005545 23 2398 INC HL - 00005546 B6 2399 OR (HL) - 00005547 21 1C 00 2400 LD HL,28 - 0000554A 39 2401 ADD HL,SP - 0000554B 4D 2402 LD C,L - 0000554C 44 2403 LD B,H - 0000554D 28 17 2404 JR Z,?0159 - 0000554F 2405 ?0158: - 0000554F 21 05 00 2406 LD HL,5 - 00005552 DD 5E FE 2407 LD E,(IX-2) - 00005555 DD 56 FF 2408 LD D,(IX-1) - 00005558 19 2409 ADD HL,DE - 00005559 56 2410 LD D,(HL) - 0000555A 23 2411 INC HL - 0000555B 66 2412 LD H,(HL) - 0000555C 6A 2413 LD L,D - 0000555D 11 04 00 2414 LD DE,4 - 00005560 19 2415 ADD HL,DE - 00005561 5E 2416 LD E,(HL) - 00005562 23 2417 INC HL - 00005563 56 2418 LD D,(HL) - 00005564 18 02 2419 JR ?0510 - 00005566 2420 ?0159: - 00005566 5F 2421 LD E,A - 00005567 57 2422 LD D,A - 00005568 2423 ?0510: - 00005568 3E 00 2424 LD A,BYTE3 dbParseExpression - 0000556A 21 B2 65 2425 LD HL,LWRD dbParseExpression - 0000556D CD 19 82 2426 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005570 DD 75 F6 2427 LD (IX-10),L - 00005573 DD 74 F7 2428 LD (IX-9),H - 00005576 2429 ?0160: - 00005576 AF 2430 XOR A - 00005577 DD 77 EE 2431 LD (IX-18),A - 0000557A DD 77 EF 2432 LD (IX-17),A - 0000557D 2433 ?0162: - 0000557D 21 04 00 2434 LD HL,4 - 00005580 DD 4E DE 2435 LD C,(IX-34) - 00005583 DD 46 DF 2436 LD B,(IX-33) - 00005586 09 2437 ADD HL,BC - 00005587 4E 2438 LD C,(HL) - 00005588 23 2439 INC HL - 00005589 46 2440 LD B,(HL) - 0000558A DD 6E EE 2441 LD L,(IX-18) - 0000558D DD 66 EF 2442 LD H,(IX-17) - 00005590 F6 80 2443 OR 128 - 00005592 ED 42 2444 SBC HL,BC - 00005594 E2 98 55 2445 JP PO,?0505 - 00005597 AC 2446 XOR H - 00005598 2447 ?0505: - 00005598 F2 C6 56 2448 JP P,?0161 - 0000559B 2449 ?0163: - 0000559B 21 08 00 2450 LD HL,8 - 0000559E DD 4E DE 2451 LD C,(IX-34) - 000055A1 DD 46 DF 2452 LD B,(IX-33) - 000055A4 09 2453 ADD HL,BC - 000055A5 4E 2454 LD C,(HL) - 000055A6 23 2455 INC HL - 000055A7 46 2456 LD B,(HL) - 000055A8 C5 2457 PUSH BC - 000055A9 21 01 00 2458 LD HL,1 - 000055AC E5 2459 PUSH HL - 000055AD DD 4E F4 2460 LD C,(IX-12) - 000055B0 DD 46 F5 2461 LD B,(IX-11) - 000055B3 DD 5E E8 2462 LD E,(IX-24) - 000055B6 DD 56 E9 2463 LD D,(IX-23) - 000055B9 3E 00 2464 LD A,BYTE3 fread - 000055BB 21 DD 70 2465 LD HL,LWRD fread - 000055BE CD 19 82 2466 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000055C1 F1 2467 POP AF - 000055C2 F1 2468 POP AF - 000055C3 DD 6E E8 2469 LD L,(IX-24) - 000055C6 DD 66 E9 2470 LD H,(IX-23) - 000055C9 46 2471 LD B,(HL) - 000055CA 05 2472 DEC B - 000055CB C2 BA 56 2473 JP NZ,?0508 - 000055CE 2474 ?0165: - 000055CE DD 6E EA 2475 LD L,(IX-22) - 000055D1 DD 66 EB 2476 LD H,(IX-21) - 000055D4 36 01 2477 LD (HL),1 - 000055D6 23 2478 INC HL - 000055D7 70 2479 LD (HL),B - 000055D8 DD 36 EC 02 2480 LD (IX-20),2 - 000055DC DD 70 ED 2481 LD (IX-19),B - 000055DF AF 2482 XOR A - 000055E0 DD 77 F0 2483 LD (IX-16),A - 000055E3 DD 77 F1 2484 LD (IX-15),A - 000055E6 2485 ?0168: - 000055E6 FD 4E 00 2486 LD C,(IY+0) - 000055E9 FD 46 01 2487 LD B,(IY+1) - 000055EC DD 6E F0 2488 LD L,(IX-16) - 000055EF DD 66 F1 2489 LD H,(IX-15) - 000055F2 F6 80 2490 OR 128 - 000055F4 ED 42 2491 SBC HL,BC - 000055F6 E2 FA 55 2492 JP PO,?0506 - 000055F9 AC 2493 XOR H - 000055FA 2494 ?0506: - 000055FA F2 68 56 2495 JP P,?0167 - 000055FD 2496 ?0169: - 000055FD DD 6E F0 2497 LD L,(IX-16) - 00005600 DD 66 F1 2498 LD H,(IX-15) - 00005603 29 2499 ADD HL,HL - 00005604 DD 4E E6 2500 LD C,(IX-26) - 00005607 DD 46 E7 2501 LD B,(IX-25) - 0000560A 09 2502 ADD HL,BC - 0000560B 5E 2503 LD E,(HL) - 0000560C 23 2504 INC HL - 0000560D 56 2505 LD D,(HL) - 0000560E D5 2506 PUSH DE - 0000560F DD 6E F0 2507 LD L,(IX-16) - 00005612 DD 66 F1 2508 LD H,(IX-15) - 00005615 29 2509 ADD HL,HL - 00005616 DD 5E E4 2510 LD E,(IX-28) - 00005619 DD 56 E5 2511 LD D,(IX-27) - 0000561C 19 2512 ADD HL,DE - 0000561D 56 2513 LD D,(HL) - 0000561E 23 2514 INC HL - 0000561F 66 2515 LD H,(HL) - 00005620 6A 2516 LD L,D - 00005621 DD 5E E8 2517 LD E,(IX-24) - 00005624 DD 56 E9 2518 LD D,(IX-23) - 00005627 19 2519 ADD HL,DE - 00005628 4D 2520 LD C,L - 00005629 44 2521 LD B,H - 0000562A DD 6E EC 2522 LD L,(IX-20) - 0000562D DD 66 ED 2523 LD H,(IX-19) - 00005630 DD 5E EA 2524 LD E,(IX-22) - 00005633 DD 56 EB 2525 LD D,(IX-21) - 00005636 19 2526 ADD HL,DE - 00005637 EB 2527 EX DE,HL - 00005638 3E 00 2528 LD A,BYTE3 memcpy - 0000563A 21 1E 75 2529 LD HL,LWRD memcpy - 0000563D CD 19 82 2530 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005640 F1 2531 POP AF - 00005641 DD 6E F0 2532 LD L,(IX-16) - 00005644 DD 66 F1 2533 LD H,(IX-15) - 00005647 29 2534 ADD HL,HL - 00005648 DD 4E E6 2535 LD C,(IX-26) - 0000564B DD 46 E7 2536 LD B,(IX-25) - 0000564E 09 2537 ADD HL,BC - 0000564F 4E 2538 LD C,(HL) - 00005650 23 2539 INC HL - 00005651 46 2540 LD B,(HL) - 00005652 21 10 00 2541 LD HL,16 - 00005655 39 2542 ADD HL,SP - 00005656 7E 2543 LD A,(HL) - 00005657 81 2544 ADD A,C - 00005658 77 2545 LD (HL),A - 00005659 23 2546 INC HL - 0000565A 7E 2547 LD A,(HL) - 0000565B 88 2548 ADC A,B - 0000565C 77 2549 LD (HL),A - 0000565D DD 34 F0 2550 INC (IX-16) - 00005660 20 84 2551 JR NZ,?0168 - 00005662 DD 34 F1 2552 INC (IX-15) - 00005665 C3 E6 55 2553 JP LWRD ?0168 - 00005668 2554 ?0167: - 00005668 DD 4E FA 2555 LD C,(IX-6) - 0000566B DD 46 FB 2556 LD B,(IX-5) - 0000566E DD 5E F6 2557 LD E,(IX-10) - 00005671 DD 56 F7 2558 LD D,(IX-9) - 00005674 3E 00 2559 LD A,BYTE3 dbEvaluateExpression - 00005676 21 15 6A 2560 LD HL,LWRD dbEvaluateExpression - 00005679 CD 19 82 2561 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000567C 21 24 00 2562 LD HL,36 - 0000567F DD 4E F6 2563 LD C,(IX-10) - 00005682 DD 46 F7 2564 LD B,(IX-9) - 00005685 09 2565 ADD HL,BC - 00005686 3E 01 2566 LD A,1 - 00005688 AE 2567 XOR (HL) - 00005689 23 2568 INC HL - 0000568A B6 2569 OR (HL) - 0000568B 23 2570 INC HL - 0000568C B6 2571 OR (HL) - 0000568D 23 2572 INC HL - 0000568E B6 2573 OR (HL) - 0000568F 20 29 2574 JR NZ,?0508 - 00005691 2575 ?0171: - 00005691 FD 6E 08 2576 LD L,(IY+8) - 00005694 FD 66 09 2577 LD H,(IY+9) - 00005697 E5 2578 PUSH HL - 00005698 21 01 00 2579 LD HL,1 - 0000569B E5 2580 PUSH HL - 0000569C DD 4E F2 2581 LD C,(IX-14) - 0000569F DD 46 F3 2582 LD B,(IX-13) - 000056A2 DD 5E EA 2583 LD E,(IX-22) - 000056A5 DD 56 EB 2584 LD D,(IX-21) - 000056A8 3E 00 2585 LD A,BYTE3 fwrite - 000056AA 21 F6 77 2586 LD HL,LWRD fwrite - 000056AD CD 19 82 2587 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000056B0 F1 2588 POP AF - 000056B1 F1 2589 POP AF - 000056B2 FD 34 04 2590 INC (IY+4) - 000056B5 20 03 2591 JR NZ,?0508 - 000056B7 FD 34 05 2592 INC (IY+5) - 000056BA 2593 ?0508: - 000056BA 2594 ?0172: - 000056BA 2595 ?0166: - 000056BA DD 34 EE 2596 INC (IX-18) - 000056BD C2 7D 55 2597 JP NZ,?0162 - 000056C0 DD 34 EF 2598 INC (IX-17) - 000056C3 C3 7D 55 2599 JP LWRD ?0162 - 000056C6 2600 ?0161: - 000056C6 DD 5E E8 2601 LD E,(IX-24) - 000056C9 DD 56 E9 2602 LD D,(IX-23) - 000056CC CD 90 45 2603 CALL LWRD ?0639 - 000056CF DD 5E E4 2604 LD E,(IX-28) - 000056D2 DD 56 E5 2605 LD D,(IX-27) - 000056D5 CD 90 45 2606 CALL LWRD ?0639 - 000056D8 DD 5E E6 2607 LD E,(IX-26) - 000056DB DD 56 E7 2608 LD D,(IX-25) - 000056DE CD 90 45 2609 CALL LWRD ?0639 - 000056E1 DD 5E FA 2610 LD E,(IX-6) - 000056E4 DD 56 FB 2611 LD D,(IX-5) - 000056E7 CD 90 45 2612 CALL LWRD ?0639 - 000056EA DD 5E F6 2613 LD E,(IX-10) - 000056ED DD 56 F7 2614 LD D,(IX-9) - 000056F0 3E 00 2615 LD A,BYTE3 dbDeleteExpression - 000056F2 21 EC 69 2616 LD HL,LWRD dbDeleteExpression - 000056F5 CD 19 82 2617 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000056F8 DD 5E DE 2618 LD E,(IX-34) - 000056FB DD 56 DF 2619 LD D,(IX-33) - 000056FE 3E 00 2620 LD A,BYTE3 dbTableClose - 00005700 21 C5 50 2621 LD HL,LWRD dbTableClose - 00005703 CD 19 82 2622 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005706 FD 5E 08 2623 LD E,(IY+8) - 00005709 FD 56 09 2624 LD D,(IY+9) - 0000570C CD A0 50 2625 CALL LWRD ?0645 - 0000570F 21 C4 84 2626 LD HL,?0127 - 00005712 E5 2627 PUSH HL - 00005713 21 00 00 2628 LD HL,0 - 00005716 E5 2629 PUSH HL - 00005717 01 FF FF 2630 LD BC,65535 - 0000571A 11 CC 84 2631 LD DE,?0156 - 0000571D 3E 00 2632 LD A,BYTE3 __fopen - 0000571F 21 A3 7A 2633 LD HL,LWRD __fopen - 00005722 CD 19 82 2634 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005725 F1 2635 POP AF - 00005726 F1 2636 POP AF - 00005727 FD 75 08 2637 LD (IY+8),L - 0000572A FD 74 09 2638 LD (IY+9),H - 0000572D FD E5 2639 PUSH IY - 0000572F E1 2640 POP HL - 00005730 DD F9 2641 LD SP,IX - 00005732 C3 C0 45 2642 JP LWRD ?0614 - 00005735 2643 ?0640: - 00005735 DD 75 E4 2644 LD (IX-28),L - 00005738 DD 74 E5 2645 LD (IX-27),H - 0000573B FD 6E 00 2646 LD L,(IY+0) - 0000573E FD 66 01 2647 LD H,(IY+1) - 00005741 29 2648 ADD HL,HL - 00005742 EB 2649 EX DE,HL - 00005743 3E 01 2650 LD A,BYTE3 malloc - 00005745 21 82 4A 2651 LD HL,LWRD malloc - 00005748 CD 19 82 2652 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000574B DD 75 E6 2653 LD (IX-26),L - 0000574E DD 74 E7 2654 LD (IX-25),H - 00005751 FD 6E 00 2655 LD L,(IY+0) - 00005754 FD 66 01 2656 LD H,(IY+1) - 00005757 29 2657 ADD HL,HL - 00005758 29 2658 ADD HL,HL - 00005759 4D 2659 LD C,L - 0000575A 44 2660 LD B,H - 0000575B 29 2661 ADD HL,HL - 0000575C 09 2662 ADD HL,BC - 0000575D EB 2663 EX DE,HL - 0000575E 3E 01 2664 LD A,BYTE3 malloc - 00005760 21 82 4A 2665 LD HL,LWRD malloc - 00005763 C9 2666 RET - 00005764 2667 ?0647: - 00005764 DD 6E FE 2668 LD L,(IX-2) - 00005767 DD 66 FF 2669 LD H,(IX-1) - 0000576A 23 2670 INC HL - 0000576B 5E 2671 LD E,(HL) - 0000576C 23 2672 INC HL - 0000576D 56 2673 LD D,(HL) - 0000576E 3E 00 2674 LD A,BYTE3 dbListSize - 00005770 21 C8 45 2675 LD HL,LWRD dbListSize - 00005773 C3 19 82 2676 JP LWRD ?BANK_CALL_DIRECT_L08 - 00005776 2677 ?0662: - 00005776 3E 00 2678 LD A,BYTE3 dbParseExpression - 00005778 21 B2 65 2679 LD HL,LWRD dbParseExpression - 0000577B CD 19 82 2680 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000577E DD 75 F8 2681 LD (IX-8),L - 00005781 DD 74 F9 2682 LD (IX-7),H - 00005784 2683 ?0661: - 00005784 3E 00 2684 LD A,BYTE3 dbNewRow - 00005786 21 99 62 2685 LD HL,LWRD dbNewRow - 00005789 C3 19 82 2686 JP LWRD ?BANK_CALL_DIRECT_L08 - 0000578C 2687 ?0663: - 0000578C DD 5E F8 2688 LD E,(IX-8) - 0000578F DD 56 F9 2689 LD D,(IX-7) - 00005792 3E 00 2690 LD A,BYTE3 dbEvaluateExpression - 00005794 21 15 6A 2691 LD HL,LWRD dbEvaluateExpression - 00005797 CD 19 82 2692 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000579A 21 24 00 2693 LD HL,36 - 0000579D DD 4E F8 2694 LD C,(IX-8) - 000057A0 DD 46 F9 2695 LD B,(IX-7) - 000057A3 09 2696 ADD HL,BC - 000057A4 3E 01 2697 LD A,1 - 000057A6 AE 2698 XOR (HL) - 000057A7 23 2699 INC HL - 000057A8 B6 2700 OR (HL) - 000057A9 23 2701 INC HL - 000057AA B6 2702 OR (HL) - 000057AB 23 2703 INC HL - 000057AC B6 2704 OR (HL) - 000057AD C9 2705 RET - 000057AE 2706 dbExecuteInsert: - 000057AE C5 2707 PUSH BC - 000057AF FD E5 2708 PUSH IY - 000057B1 DD E5 2709 PUSH IX - 000057B3 DD 21 00 00 2710 LD IX,0 - 000057B7 DD 39 2711 ADD IX,SP - 000057B9 D5 2712 PUSH DE - 000057BA 21 E8 FF 2713 LD HL,65512 - 000057BD 39 2714 ADD HL,SP - 000057BE F9 2715 LD SP,HL - 000057BF 11 14 00 2716 LD DE,20 - 000057C2 CD E4 49 2717 CALL LWRD ?0641 - 000057C5 DD 75 E6 2718 LD (IX-26),L - 000057C8 DD 74 E7 2719 LD (IX-25),H - 000057CB DD 4E FE 2720 LD C,(IX-2) - 000057CE DD 46 FF 2721 LD B,(IX-1) - 000057D1 03 2722 INC BC - 000057D2 03 2723 INC BC - 000057D3 03 2724 INC BC - 000057D4 0A 2725 LD A,(BC) - 000057D5 6F 2726 LD L,A - 000057D6 03 2727 INC BC - 000057D7 0A 2728 LD A,(BC) - 000057D8 67 2729 LD H,A - 000057D9 01 04 00 2730 LD BC,4 - 000057DC 09 2731 ADD HL,BC - 000057DD 4E 2732 LD C,(HL) - 000057DE 23 2733 INC HL - 000057DF 46 2734 LD B,(HL) - 000057E0 21 0B 00 2735 LD HL,11 - 000057E3 DD 5E E6 2736 LD E,(IX-26) - 000057E6 DD 56 E7 2737 LD D,(IX-25) - 000057E9 CD 00 4A 2738 CALL LWRD ?0653 - 000057EC DD 5E E6 2739 LD E,(IX-26) - 000057EF DD 56 E7 2740 LD D,(IX-25) - 000057F2 3E 00 2741 LD A,BYTE3 dbTableOpen - 000057F4 21 F5 4D 2742 LD HL,LWRD dbTableOpen - 000057F7 CD 19 82 2743 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000057FA DD 5E E6 2744 LD E,(IX-26) - 000057FD DD 56 E7 2745 LD D,(IX-25) - 00005800 3E 00 2746 LD A,BYTE3 dbRecordSize - 00005802 21 87 51 2747 LD HL,LWRD dbRecordSize - 00005805 CD 19 82 2748 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005808 DD 75 FA 2749 LD (IX-6),L - 0000580B DD 74 FB 2750 LD (IX-5),H - 0000580E CD E3 49 2751 CALL LWRD ?0642 - 00005811 DD 75 E8 2752 LD (IX-24),L - 00005814 DD 74 E9 2753 LD (IX-23),H - 00005817 AF 2754 XOR A - 00005818 DD 77 F4 2755 LD (IX-12),A - 0000581B DD 77 F5 2756 LD (IX-11),A - 0000581E 2757 ?0174: - 0000581E DD 4E FA 2758 LD C,(IX-6) - 00005821 DD 46 FB 2759 LD B,(IX-5) - 00005824 DD 6E F4 2760 LD L,(IX-12) - 00005827 DD 66 F5 2761 LD H,(IX-11) - 0000582A F6 80 2762 OR 128 - 0000582C ED 42 2763 SBC HL,BC - 0000582E E2 32 58 2764 JP PO,?0511 - 00005831 AC 2765 XOR H - 00005832 2766 ?0511: - 00005832 F2 4E 58 2767 JP P,?0173 - 00005835 2768 ?0175: - 00005835 DD 6E F4 2769 LD L,(IX-12) - 00005838 DD 66 F5 2770 LD H,(IX-11) - 0000583B DD 4E E8 2771 LD C,(IX-24) - 0000583E DD 46 E9 2772 LD B,(IX-23) - 00005841 09 2773 ADD HL,BC - 00005842 36 00 2774 LD (HL),0 - 00005844 DD 34 F4 2775 INC (IX-12) - 00005847 20 D5 2776 JR NZ,?0174 - 00005849 DD 34 F5 2777 INC (IX-11) - 0000584C 18 D0 2778 JR ?0174 - 0000584E 2779 ?0173: - 0000584E 59 2780 LD E,C - 0000584F 50 2781 LD D,B - 00005850 CD E4 49 2782 CALL LWRD ?0641 - 00005853 DD 75 EA 2783 LD (IX-22),L - 00005856 DD 74 EB 2784 LD (IX-21),H - 00005859 DD 6E E8 2785 LD L,(IX-24) - 0000585C DD 66 E9 2786 LD H,(IX-23) - 0000585F 36 01 2787 LD (HL),1 - 00005861 23 2788 INC HL - 00005862 36 00 2789 LD (HL),0 - 00005864 CD 64 57 2790 CALL LWRD ?0647 - 00005867 DD 75 F2 2791 LD (IX-14),L - 0000586A DD 74 F3 2792 LD (IX-13),H - 0000586D DD 6E FE 2793 LD L,(IX-2) - 00005870 DD 66 FF 2794 LD H,(IX-1) - 00005873 23 2795 INC HL - 00005874 46 2796 LD B,(HL) - 00005875 DD 70 EC 2797 LD (IX-20),B - 00005878 23 2798 INC HL - 00005879 66 2799 LD H,(HL) - 0000587A DD 74 ED 2800 LD (IX-19),H - 0000587D 21 07 00 2801 LD HL,7 - 00005880 DD 4E FE 2802 LD C,(IX-2) - 00005883 DD 46 FF 2803 LD B,(IX-1) - 00005886 09 2804 ADD HL,BC - 00005887 46 2805 LD B,(HL) - 00005888 23 2806 INC HL - 00005889 66 2807 LD H,(HL) - 0000588A 68 2808 LD L,B - 0000588B E5 2809 PUSH HL - 0000588C FD E1 2810 POP IY - 0000588E AF 2811 XOR A - 0000588F DD 77 F4 2812 LD (IX-12),A - 00005892 DD 77 F5 2813 LD (IX-11),A - 00005895 2814 ?0178: - 00005895 DD 4E F2 2815 LD C,(IX-14) - 00005898 DD 46 F3 2816 LD B,(IX-13) - 0000589B DD 6E F4 2817 LD L,(IX-12) - 0000589E DD 66 F5 2818 LD H,(IX-11) - 000058A1 F6 80 2819 OR 128 - 000058A3 ED 42 2820 SBC HL,BC - 000058A5 E2 A9 58 2821 JP PO,?0513 - 000058A8 AC 2822 XOR H - 000058A9 2823 ?0513: - 000058A9 F2 39 5A 2824 JP P,?0177 - 000058AC 2825 ?0179: - 000058AC 21 04 00 2826 LD HL,4 - 000058AF DD 4E EC 2827 LD C,(IX-20) - 000058B2 DD 46 ED 2828 LD B,(IX-19) - 000058B5 09 2829 ADD HL,BC - 000058B6 4E 2830 LD C,(HL) - 000058B7 23 2831 INC HL - 000058B8 46 2832 LD B,(HL) - 000058B9 DD 5E E6 2833 LD E,(IX-26) - 000058BC DD 56 E7 2834 LD D,(IX-25) - 000058BF 3E 00 2835 LD A,BYTE3 dbFieldSearch - 000058C1 21 A3 51 2836 LD HL,LWRD dbFieldSearch - 000058C4 CD 19 82 2837 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000058C7 DD 75 FC 2838 LD (IX-4),L - 000058CA DD 74 FD 2839 LD (IX-3),H - 000058CD DD 4E E6 2840 LD C,(IX-26) - 000058D0 DD 46 E7 2841 LD B,(IX-25) - 000058D3 03 2842 INC BC - 000058D4 03 2843 INC BC - 000058D5 0A 2844 LD A,(BC) - 000058D6 6F 2845 LD L,A - 000058D7 03 2846 INC BC - 000058D8 0A 2847 LD A,(BC) - 000058D9 67 2848 LD H,A - 000058DA E5 2849 PUSH HL - 000058DB DD 6E FC 2850 LD L,(IX-4) - 000058DE DD 66 FD 2851 LD H,(IX-3) - 000058E1 29 2852 ADD HL,HL - 000058E2 29 2853 ADD HL,HL - 000058E3 4D 2854 LD C,L - 000058E4 44 2855 LD B,H - 000058E5 29 2856 ADD HL,HL - 000058E6 09 2857 ADD HL,BC - 000058E7 4D 2858 LD C,L - 000058E8 44 2859 LD B,H - 000058E9 E1 2860 POP HL - 000058EA 09 2861 ADD HL,BC - 000058EB DD 75 F0 2862 LD (IX-16),L - 000058EE DD 74 F1 2863 LD (IX-15),H - 000058F1 DD 4E FC 2864 LD C,(IX-4) - 000058F4 DD 46 FD 2865 LD B,(IX-3) - 000058F7 DD 5E E6 2866 LD E,(IX-26) - 000058FA DD 56 E7 2867 LD D,(IX-25) - 000058FD 3E 00 2868 LD A,BYTE3 dbFieldOffset - 000058FF 21 32 51 2869 LD HL,LWRD dbFieldOffset - 00005902 CD 19 82 2870 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005905 DD 75 F6 2871 LD (IX-10),L - 00005908 DD 74 F7 2872 LD (IX-9),H - 0000590B 21 0A 00 2873 LD HL,10 - 0000590E DD 4E F0 2874 LD C,(IX-16) - 00005911 DD 46 F1 2875 LD B,(IX-15) - 00005914 09 2876 ADD HL,BC - 00005915 4E 2877 LD C,(HL) - 00005916 DD 71 F8 2878 LD (IX-8),C - 00005919 DD 36 F9 00 2879 LD (IX-7),0 - 0000591D FD 6E 04 2880 LD L,(IY+4) - 00005920 FD 66 05 2881 LD H,(IY+5) - 00005923 7E 2882 LD A,(HL) - 00005924 FE 27 2883 CP 39 - 00005926 C2 AD 59 2884 JP NZ,?0182 - 00005929 2885 ?0181: - 00005929 FD 5E 04 2886 LD E,(IY+4) - 0000592C FD 56 05 2887 LD D,(IY+5) - 0000592F CD ED 49 2888 CALL LWRD ?0649 - 00005932 FD 4E 04 2889 LD C,(IY+4) - 00005935 FD 46 05 2890 LD B,(IY+5) - 00005938 09 2891 ADD HL,BC - 00005939 2B 2892 DEC HL - 0000593A 36 00 2893 LD (HL),0 - 0000593C 21 09 00 2894 LD HL,9 - 0000593F DD 4E F0 2895 LD C,(IX-16) - 00005942 DD 46 F1 2896 LD B,(IX-15) - 00005945 09 2897 ADD HL,BC - 00005946 7E 2898 LD A,(HL) - 00005947 FE 53 2899 CP 83 - 00005949 20 28 2900 JR NZ,?0185 - 0000594B 2901 ?0184: - 0000594B DD 6E F8 2902 LD L,(IX-8) - 0000594E DD 66 F9 2903 LD H,(IX-7) - 00005951 E5 2904 PUSH HL - 00005952 FD 4E 04 2905 LD C,(IY+4) - 00005955 FD 46 05 2906 LD B,(IY+5) - 00005958 03 2907 INC BC - 00005959 DD 6E F6 2908 LD L,(IX-10) - 0000595C DD 66 F7 2909 LD H,(IX-9) - 0000595F DD 5E E8 2910 LD E,(IX-24) - 00005962 DD 56 E9 2911 LD D,(IX-23) - 00005965 19 2912 ADD HL,DE - 00005966 EB 2913 EX DE,HL - 00005967 3E 00 2914 LD A,BYTE3 memcpy - 00005969 21 1E 75 2915 LD HL,LWRD memcpy - 0000596C CD 19 82 2916 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000596F F1 2917 POP AF - 00005970 C3 13 5A 2918 JP LWRD ?0198 - 00005973 2919 ?0185: - 00005973 FE 49 2920 CP 73 - 00005975 C2 13 5A 2921 JP NZ,?0198 - 00005978 21 0A 00 2922 LD HL,10 - 0000597B 09 2923 ADD HL,BC - 0000597C 46 2924 LD B,(HL) - 0000597D 05 2925 DEC B - 0000597E 05 2926 DEC B - 0000597F 20 17 2927 JR NZ,?0187 - 00005981 2928 ?0186: - 00005981 DD 6E F6 2929 LD L,(IX-10) - 00005984 DD 66 F7 2930 LD H,(IX-9) - 00005987 DD 4E E8 2931 LD C,(IX-24) - 0000598A DD 46 E9 2932 LD B,(IX-23) - 0000598D 09 2933 ADD HL,BC - 0000598E E5 2934 PUSH HL - 0000598F FD 5E 04 2935 LD E,(IY+4) - 00005992 FD 56 05 2936 LD D,(IY+5) - 00005995 13 2937 INC DE - 00005996 18 3E 2938 JR ?0520 - 00005998 2939 ?0187: - 00005998 21 0A 00 2940 LD HL,10 - 0000599B DD 46 F1 2941 LD B,(IX-15) - 0000599E 09 2942 ADD HL,BC - 0000599F 7E 2943 LD A,(HL) - 000059A0 FE 04 2944 CP 4 - 000059A2 20 6F 2945 JR NZ,?0198 - 000059A4 2946 ?0189: - 000059A4 FD 5E 04 2947 LD E,(IY+4) - 000059A7 FD 56 05 2948 LD D,(IY+5) - 000059AA 13 2949 INC DE - 000059AB 18 48 2950 JR ?0519 - 000059AD 2951 ?0190: - 000059AD 2952 ?0188: - 000059AD 2953 ?0183: - 000059AD 2954 ?0182: - 000059AD 21 09 00 2955 LD HL,9 - 000059B0 DD 4E F0 2956 LD C,(IX-16) - 000059B3 09 2957 ADD HL,BC - 000059B4 7E 2958 LD A,(HL) - 000059B5 FE 49 2959 CP 73 - 000059B7 20 5A 2960 JR NZ,?0198 - 000059B9 2961 ?0193: - 000059B9 21 0A 00 2962 LD HL,10 - 000059BC 09 2963 ADD HL,BC - 000059BD 46 2964 LD B,(HL) - 000059BE 05 2965 DEC B - 000059BF 05 2966 DEC B - 000059C0 20 21 2967 JR NZ,?0195 - 000059C2 2968 ?0194: - 000059C2 DD 6E F6 2969 LD L,(IX-10) - 000059C5 DD 66 F7 2970 LD H,(IX-9) - 000059C8 DD 4E E8 2971 LD C,(IX-24) - 000059CB DD 46 E9 2972 LD B,(IX-23) - 000059CE 09 2973 ADD HL,BC - 000059CF E5 2974 PUSH HL - 000059D0 FD 5E 04 2975 LD E,(IY+4) - 000059D3 FD 56 05 2976 LD D,(IY+5) - 000059D6 2977 ?0520: - 000059D6 3E 00 2978 LD A,BYTE3 atoi - 000059D8 21 43 7F 2979 LD HL,LWRD atoi - 000059DB CD 19 82 2980 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000059DE 4D 2981 LD C,L - 000059DF 44 2982 LD B,H - 000059E0 E1 2983 POP HL - 000059E1 18 2D 2984 JR ?0516 - 000059E3 2985 ?0195: - 000059E3 21 0A 00 2986 LD HL,10 - 000059E6 DD 46 F1 2987 LD B,(IX-15) - 000059E9 09 2988 ADD HL,BC - 000059EA 7E 2989 LD A,(HL) - 000059EB FE 04 2990 CP 4 - 000059ED 20 24 2991 JR NZ,?0198 - 000059EF 2992 ?0197: - 000059EF FD 5E 04 2993 LD E,(IY+4) - 000059F2 FD 56 05 2994 LD D,(IY+5) - 000059F5 2995 ?0519: - 000059F5 3E 01 2996 LD A,BYTE3 atol - 000059F7 21 20 49 2997 LD HL,LWRD atol - 000059FA CD 19 82 2998 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000059FD E5 2999 PUSH HL - 000059FE DD 6E F6 3000 LD L,(IX-10) - 00005A01 DD 66 F7 3001 LD H,(IX-9) - 00005A04 DD 5E E8 3002 LD E,(IX-24) - 00005A07 DD 56 E9 3003 LD D,(IX-23) - 00005A0A 19 3004 ADD HL,DE - 00005A0B D1 3005 POP DE - 00005A0C 73 3006 LD (HL),E - 00005A0D 23 3007 INC HL - 00005A0E 72 3008 LD (HL),D - 00005A0F 23 3009 INC HL - 00005A10 3010 ?0516: - 00005A10 71 3011 LD (HL),C - 00005A11 23 3012 INC HL - 00005A12 70 3013 LD (HL),B - 00005A13 3014 ?0198: - 00005A13 3015 ?0196: - 00005A13 3016 ?0192: - 00005A13 3017 ?0191: - 00005A13 DD 6E EC 3018 LD L,(IX-20) - 00005A16 DD 66 ED 3019 LD H,(IX-19) - 00005A19 23 3020 INC HL - 00005A1A 23 3021 INC HL - 00005A1B 46 3022 LD B,(HL) - 00005A1C DD 70 EC 3023 LD (IX-20),B - 00005A1F 23 3024 INC HL - 00005A20 66 3025 LD H,(HL) - 00005A21 DD 74 ED 3026 LD (IX-19),H - 00005A24 FD 6E 02 3027 LD L,(IY+2) - 00005A27 FD 66 03 3028 LD H,(IY+3) - 00005A2A E5 3029 PUSH HL - 00005A2B FD E1 3030 POP IY - 00005A2D DD 34 F4 3031 INC (IX-12) - 00005A30 C2 95 58 3032 JP NZ,?0178 - 00005A33 DD 34 F5 3033 INC (IX-11) - 00005A36 C3 95 58 3034 JP LWRD ?0178 - 00005A39 3035 ?0177: - 00005A39 21 06 00 3036 LD HL,6 - 00005A3C DD 4E E6 3037 LD C,(IX-26) - 00005A3F DD 46 E7 3038 LD B,(IX-25) - 00005A42 09 3039 ADD HL,BC - 00005A43 7E 3040 LD A,(HL) - 00005A44 23 3041 INC HL - 00005A45 B6 3042 OR (HL) - 00005A46 20 50 3043 JR NZ,?0200 - 00005A48 3044 ?0199: - 00005A48 6F 3045 LD L,A - 00005A49 67 3046 LD H,A - 00005A4A E5 3047 PUSH HL - 00005A4B E5 3048 PUSH HL - 00005A4C 2E 04 3049 LD L,4 - 00005A4E E5 3050 PUSH HL - 00005A4F 2E 08 3051 LD L,8 - 00005A51 09 3052 ADD HL,BC - 00005A52 5E 3053 LD E,(HL) - 00005A53 23 3054 INC HL - 00005A54 56 3055 LD D,(HL) - 00005A55 CD AF 5B 3056 CALL LWRD ?0664 - 00005A58 F1 3057 POP AF - 00005A59 F1 3058 POP AF - 00005A5A F1 3059 POP AF - 00005A5B 21 04 00 3060 LD HL,4 - 00005A5E 09 3061 ADD HL,BC - 00005A5F 56 3062 LD D,(HL) - 00005A60 23 3063 INC HL - 00005A61 66 3064 LD H,(HL) - 00005A62 6A 3065 LD L,D - 00005A63 23 3066 INC HL - 00005A64 E5 3067 PUSH HL - 00005A65 DD 6E EA 3068 LD L,(IX-22) - 00005A68 DD 66 EB 3069 LD H,(IX-21) - 00005A6B D1 3070 POP DE - 00005A6C 73 3071 LD (HL),E - 00005A6D 23 3072 INC HL - 00005A6E 72 3073 LD (HL),D - 00005A6F 21 08 00 3074 LD HL,8 - 00005A72 09 3075 ADD HL,BC - 00005A73 5E 3076 LD E,(HL) - 00005A74 23 3077 INC HL - 00005A75 56 3078 LD D,(HL) - 00005A76 D5 3079 PUSH DE - 00005A77 21 01 00 3080 LD HL,1 - 00005A7A E5 3081 PUSH HL - 00005A7B 01 02 00 3082 LD BC,2 - 00005A7E DD 5E EA 3083 LD E,(IX-22) - 00005A81 DD 56 EB 3084 LD D,(IX-21) - 00005A84 3E 00 3085 LD A,BYTE3 fwrite - 00005A86 21 F6 77 3086 LD HL,LWRD fwrite - 00005A89 CD 19 82 3087 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005A8C F1 3088 POP AF - 00005A8D F1 3089 POP AF - 00005A8E 21 02 00 3090 LD HL,2 - 00005A91 E5 3091 PUSH HL - 00005A92 2B 3092 DEC HL - 00005A93 2B 3093 DEC HL - 00005A94 E5 3094 PUSH HL - 00005A95 C3 4B 5B 3095 JP LWRD ?0517 - 00005A98 3096 ?0200: - 00005A98 21 00 00 3097 LD HL,0 - 00005A9B E5 3098 PUSH HL - 00005A9C E5 3099 PUSH HL - 00005A9D 2E 06 3100 LD L,6 - 00005A9F E5 3101 PUSH HL - 00005AA0 23 3102 INC HL - 00005AA1 23 3103 INC HL - 00005AA2 09 3104 ADD HL,BC - 00005AA3 5E 3105 LD E,(HL) - 00005AA4 23 3106 INC HL - 00005AA5 56 3107 LD D,(HL) - 00005AA6 CD AF 5B 3108 CALL LWRD ?0664 - 00005AA9 F1 3109 POP AF - 00005AAA F1 3110 POP AF - 00005AAB F1 3111 POP AF - 00005AAC 21 06 00 3112 LD HL,6 - 00005AAF 09 3113 ADD HL,BC - 00005AB0 56 3114 LD D,(HL) - 00005AB1 23 3115 INC HL - 00005AB2 66 3116 LD H,(HL) - 00005AB3 6A 3117 LD L,D - 00005AB4 2B 3118 DEC HL - 00005AB5 E5 3119 PUSH HL - 00005AB6 DD 6E EA 3120 LD L,(IX-22) - 00005AB9 DD 66 EB 3121 LD H,(IX-21) - 00005ABC D1 3122 POP DE - 00005ABD 73 3123 LD (HL),E - 00005ABE 23 3124 INC HL - 00005ABF 72 3125 LD (HL),D - 00005AC0 21 08 00 3126 LD HL,8 - 00005AC3 09 3127 ADD HL,BC - 00005AC4 5E 3128 LD E,(HL) - 00005AC5 23 3129 INC HL - 00005AC6 56 3130 LD D,(HL) - 00005AC7 D5 3131 PUSH DE - 00005AC8 21 01 00 3132 LD HL,1 - 00005ACB E5 3133 PUSH HL - 00005ACC 01 02 00 3134 LD BC,2 - 00005ACF DD 5E EA 3135 LD E,(IX-22) - 00005AD2 DD 56 EB 3136 LD D,(IX-21) - 00005AD5 3E 00 3137 LD A,BYTE3 fwrite - 00005AD7 21 F6 77 3138 LD HL,LWRD fwrite - 00005ADA CD 19 82 3139 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005ADD F1 3140 POP AF - 00005ADE F1 3141 POP AF - 00005ADF 21 00 00 3142 LD HL,0 - 00005AE2 E5 3143 PUSH HL - 00005AE3 E5 3144 PUSH HL - 00005AE4 2E 0A 3145 LD L,10 - 00005AE6 E5 3146 PUSH HL - 00005AE7 2B 3147 DEC HL - 00005AE8 2B 3148 DEC HL - 00005AE9 DD 4E E6 3149 LD C,(IX-26) - 00005AEC DD 46 E7 3150 LD B,(IX-25) - 00005AEF 09 3151 ADD HL,BC - 00005AF0 5E 3152 LD E,(HL) - 00005AF1 23 3153 INC HL - 00005AF2 56 3154 LD D,(HL) - 00005AF3 CD AF 5B 3155 CALL LWRD ?0664 - 00005AF6 F1 3156 POP AF - 00005AF7 F1 3157 POP AF - 00005AF8 F1 3158 POP AF - 00005AF9 DD 6E EA 3159 LD L,(IX-22) - 00005AFC DD 66 EB 3160 LD H,(IX-21) - 00005AFF 36 FF 3161 LD (HL),255 - 00005B01 23 3162 INC HL - 00005B02 36 FF 3163 LD (HL),255 - 00005B04 3164 ?0203: - 00005B04 DD 6E EA 3165 LD L,(IX-22) - 00005B07 DD 66 EB 3166 LD H,(IX-21) - 00005B0A AF 3167 XOR A - 00005B0B B6 3168 OR (HL) - 00005B0C 28 2A 3169 JR Z,?0202 - 00005B0E 3170 ?0204: - 00005B0E 21 08 00 3171 LD HL,8 - 00005B11 DD 4E E6 3172 LD C,(IX-26) - 00005B14 DD 46 E7 3173 LD B,(IX-25) - 00005B17 09 3174 ADD HL,BC - 00005B18 4E 3175 LD C,(HL) - 00005B19 23 3176 INC HL - 00005B1A 46 3177 LD B,(HL) - 00005B1B C5 3178 PUSH BC - 00005B1C 21 01 00 3179 LD HL,1 - 00005B1F E5 3180 PUSH HL - 00005B20 DD 4E FA 3181 LD C,(IX-6) - 00005B23 DD 46 FB 3182 LD B,(IX-5) - 00005B26 DD 5E EA 3183 LD E,(IX-22) - 00005B29 DD 56 EB 3184 LD D,(IX-21) - 00005B2C 3E 00 3185 LD A,BYTE3 fread - 00005B2E 21 DD 70 3186 LD HL,LWRD fread - 00005B31 CD 19 82 3187 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005B34 F1 3188 POP AF - 00005B35 F1 3189 POP AF - 00005B36 18 CC 3190 JR ?0203 - 00005B38 3191 ?0202: - 00005B38 21 01 00 3192 LD HL,1 - 00005B3B E5 3193 PUSH HL - 00005B3C DD 4E FA 3194 LD C,(IX-6) - 00005B3F DD 46 FB 3195 LD B,(IX-5) - 00005B42 2B 3196 DEC HL - 00005B43 ED 42 3197 SBC HL,BC - 00005B45 7C 3198 LD A,H - 00005B46 07 3199 RLCA - 00005B47 9F 3200 SBC A,A - 00005B48 4F 3201 LD C,A - 00005B49 41 3202 LD B,C - 00005B4A C5 3203 PUSH BC - 00005B4B 3204 ?0517: - 00005B4B E5 3205 PUSH HL - 00005B4C 21 08 00 3206 LD HL,8 - 00005B4F DD 4E E6 3207 LD C,(IX-26) - 00005B52 DD 46 E7 3208 LD B,(IX-25) - 00005B55 09 3209 ADD HL,BC - 00005B56 5E 3210 LD E,(HL) - 00005B57 23 3211 INC HL - 00005B58 56 3212 LD D,(HL) - 00005B59 CD AF 5B 3213 CALL LWRD ?0664 - 00005B5C F1 3214 POP AF - 00005B5D F1 3215 POP AF - 00005B5E F1 3216 POP AF - 00005B5F 3217 ?0201: - 00005B5F 21 08 00 3218 LD HL,8 - 00005B62 09 3219 ADD HL,BC - 00005B63 5E 3220 LD E,(HL) - 00005B64 23 3221 INC HL - 00005B65 56 3222 LD D,(HL) - 00005B66 D5 3223 PUSH DE - 00005B67 21 01 00 3224 LD HL,1 - 00005B6A E5 3225 PUSH HL - 00005B6B DD 4E FA 3226 LD C,(IX-6) - 00005B6E DD 46 FB 3227 LD B,(IX-5) - 00005B71 DD 5E E8 3228 LD E,(IX-24) - 00005B74 DD 56 E9 3229 LD D,(IX-23) - 00005B77 3E 00 3230 LD A,BYTE3 fwrite - 00005B79 21 F6 77 3231 LD HL,LWRD fwrite - 00005B7C CD 19 82 3232 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005B7F F1 3233 POP AF - 00005B80 F1 3234 POP AF - 00005B81 DD 5E E8 3235 LD E,(IX-24) - 00005B84 DD 56 E9 3236 LD D,(IX-23) - 00005B87 CD 90 45 3237 CALL LWRD ?0639 - 00005B8A DD 5E EA 3238 LD E,(IX-22) - 00005B8D DD 56 EB 3239 LD D,(IX-21) - 00005B90 CD 90 45 3240 CALL LWRD ?0639 - 00005B93 DD 5E E6 3241 LD E,(IX-26) - 00005B96 DD 56 E7 3242 LD D,(IX-25) - 00005B99 3E 00 3243 LD A,BYTE3 dbTableClose - 00005B9B 21 C5 50 3244 LD HL,LWRD dbTableClose - 00005B9E CD 19 82 3245 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005BA1 21 00 00 3246 LD HL,0 - 00005BA4 DD F9 3247 LD SP,IX - 00005BA6 C3 C0 45 3248 JP LWRD ?0614 - 00005BA9 3249 ?0665: - 00005BA9 FD 5E 08 3250 LD E,(IY+8) - 00005BAC FD 56 09 3251 LD D,(IY+9) - 00005BAF 3252 ?0664: - 00005BAF 3E 00 3253 LD A,BYTE3 fseek - 00005BB1 21 A0 75 3254 LD HL,LWRD fseek - 00005BB4 C3 19 82 3255 JP LWRD ?BANK_CALL_DIRECT_L08 - 00005BB7 3256 dbExecuteDelete: - 00005BB7 C5 3257 PUSH BC - 00005BB8 FD E5 3258 PUSH IY - 00005BBA DD E5 3259 PUSH IX - 00005BBC DD 21 00 00 3260 LD IX,0 - 00005BC0 DD 39 3261 ADD IX,SP - 00005BC2 D5 3262 PUSH DE - 00005BC3 21 F4 FF 3263 LD HL,65524 - 00005BC6 39 3264 ADD HL,SP - 00005BC7 F9 3265 LD SP,HL - 00005BC8 CD 69 5D 3266 CALL LWRD ?0637 - 00005BCB DD 75 FA 3267 LD (IX-6),L - 00005BCE DD 74 FB 3268 LD (IX-5),H - 00005BD1 CD E3 49 3269 CALL LWRD ?0642 - 00005BD4 DD 75 FC 3270 LD (IX-4),L - 00005BD7 DD 74 FD 3271 LD (IX-3),H - 00005BDA AF 3272 XOR A - 00005BDB DD 77 F4 3273 LD (IX-12),A - 00005BDE DD 77 F5 3274 LD (IX-11),A - 00005BE1 21 05 00 3275 LD HL,5 - 00005BE4 DD 4E FE 3276 LD C,(IX-2) - 00005BE7 DD 46 FF 3277 LD B,(IX-1) - 00005BEA 09 3278 ADD HL,BC - 00005BEB 7E 3279 LD A,(HL) - 00005BEC 23 3280 INC HL - 00005BED B6 3281 OR (HL) - 00005BEE 21 02 00 3282 LD HL,2 - 00005BF1 39 3283 ADD HL,SP - 00005BF2 4D 3284 LD C,L - 00005BF3 44 3285 LD B,H - 00005BF4 28 17 3286 JR Z,?0206 - 00005BF6 3287 ?0205: - 00005BF6 21 05 00 3288 LD HL,5 - 00005BF9 DD 5E FE 3289 LD E,(IX-2) - 00005BFC DD 56 FF 3290 LD D,(IX-1) - 00005BFF 19 3291 ADD HL,DE - 00005C00 56 3292 LD D,(HL) - 00005C01 23 3293 INC HL - 00005C02 66 3294 LD H,(HL) - 00005C03 6A 3295 LD L,D - 00005C04 11 04 00 3296 LD DE,4 - 00005C07 19 3297 ADD HL,DE - 00005C08 5E 3298 LD E,(HL) - 00005C09 23 3299 INC HL - 00005C0A 56 3300 LD D,(HL) - 00005C0B 18 02 3301 JR ?0524 - 00005C0D 3302 ?0206: - 00005C0D 5F 3303 LD E,A - 00005C0E 57 3304 LD D,A - 00005C0F 3305 ?0524: - 00005C0F 3306 ?0207: - 00005C0F CD 76 57 3307 CALL LWRD ?0662 - 00005C12 DD 75 F2 3308 LD (IX-14),L - 00005C15 DD 74 F3 3309 LD (IX-13),H - 00005C18 FD E5 3310 PUSH IY - 00005C1A C1 3311 POP BC - 00005C1B 71 3312 LD (HL),C - 00005C1C 23 3313 INC HL - 00005C1D 70 3314 LD (HL),B - 00005C1E 21 04 00 3315 LD HL,4 - 00005C21 DD 4E F2 3316 LD C,(IX-14) - 00005C24 DD 46 F3 3317 LD B,(IX-13) - 00005C27 09 3318 ADD HL,BC - 00005C28 DD 5E FC 3319 LD E,(IX-4) - 00005C2B 73 3320 LD (HL),E - 00005C2C DD 56 FD 3321 LD D,(IX-3) - 00005C2F 23 3322 INC HL - 00005C30 72 3323 LD (HL),D - 00005C31 69 3324 LD L,C - 00005C32 60 3325 LD H,B - 00005C33 23 3326 INC HL - 00005C34 23 3327 INC HL - 00005C35 AF 3328 XOR A - 00005C36 77 3329 LD (HL),A - 00005C37 23 3330 INC HL - 00005C38 77 3331 LD (HL),A - 00005C39 DD 77 F6 3332 LD (IX-10),A - 00005C3C DD 77 F7 3333 LD (IX-9),A - 00005C3F DD 77 F4 3334 LD (IX-12),A - 00005C42 DD 77 F5 3335 LD (IX-11),A - 00005C45 3336 ?0209: - 00005C45 FD 4E 04 3337 LD C,(IY+4) - 00005C48 FD 46 05 3338 LD B,(IY+5) - 00005C4B DD 6E F4 3339 LD L,(IX-12) - 00005C4E DD 66 F5 3340 LD H,(IX-11) - 00005C51 F6 80 3341 OR 128 - 00005C53 ED 42 3342 SBC HL,BC - 00005C55 E2 59 5C 3343 JP PO,?0521 - 00005C58 AC 3344 XOR H - 00005C59 3345 ?0521: - 00005C59 F2 01 5D 3346 JP P,?0208 - 00005C5C 3347 ?0210: - 00005C5C FD 6E 08 3348 LD L,(IY+8) - 00005C5F FD 66 09 3349 LD H,(IY+9) - 00005C62 E5 3350 PUSH HL - 00005C63 21 01 00 3351 LD HL,1 - 00005C66 E5 3352 PUSH HL - 00005C67 DD 4E FA 3353 LD C,(IX-6) - 00005C6A DD 46 FB 3354 LD B,(IX-5) - 00005C6D 2E 04 3355 LD L,4 - 00005C6F DD 5E F2 3356 LD E,(IX-14) - 00005C72 DD 56 F3 3357 LD D,(IX-13) - 00005C75 19 3358 ADD HL,DE - 00005C76 5E 3359 LD E,(HL) - 00005C77 23 3360 INC HL - 00005C78 56 3361 LD D,(HL) - 00005C79 3E 00 3362 LD A,BYTE3 fread - 00005C7B 21 DD 70 3363 LD HL,LWRD fread - 00005C7E CD 19 82 3364 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005C81 F1 3365 POP AF - 00005C82 F1 3366 POP AF - 00005C83 DD 6E FC 3367 LD L,(IX-4) - 00005C86 DD 66 FD 3368 LD H,(IX-3) - 00005C89 46 3369 LD B,(HL) - 00005C8A 05 3370 DEC B - 00005C8B 20 68 3371 JR NZ,?0522 - 00005C8D 3372 ?0212: - 00005C8D DD 4E F2 3373 LD C,(IX-14) - 00005C90 DD 46 F3 3374 LD B,(IX-13) - 00005C93 CD 8C 57 3375 CALL LWRD ?0663 - 00005C96 20 5D 3376 JR NZ,?0522 - 00005C98 3377 ?0214: - 00005C98 DD 6E FC 3378 LD L,(IX-4) - 00005C9B DD 66 FD 3379 LD H,(IX-3) - 00005C9E 77 3380 LD (HL),A - 00005C9F 21 01 00 3381 LD HL,1 - 00005CA2 E5 3382 PUSH HL - 00005CA3 DD 4E FA 3383 LD C,(IX-6) - 00005CA6 DD 46 FB 3384 LD B,(IX-5) - 00005CA9 2B 3385 DEC HL - 00005CAA ED 42 3386 SBC HL,BC - 00005CAC 7C 3387 LD A,H - 00005CAD 07 3388 RLCA - 00005CAE 9F 3389 SBC A,A - 00005CAF 4F 3390 LD C,A - 00005CB0 41 3391 LD B,C - 00005CB1 C5 3392 PUSH BC - 00005CB2 E5 3393 PUSH HL - 00005CB3 CD A9 5B 3394 CALL LWRD ?0665 - 00005CB6 F1 3395 POP AF - 00005CB7 F1 3396 POP AF - 00005CB8 F1 3397 POP AF - 00005CB9 FD 6E 08 3398 LD L,(IY+8) - 00005CBC FD 66 09 3399 LD H,(IY+9) - 00005CBF E5 3400 PUSH HL - 00005CC0 21 01 00 3401 LD HL,1 - 00005CC3 E5 3402 PUSH HL - 00005CC4 DD 4E FA 3403 LD C,(IX-6) - 00005CC7 DD 46 FB 3404 LD B,(IX-5) - 00005CCA 2E 04 3405 LD L,4 - 00005CCC DD 5E F2 3406 LD E,(IX-14) - 00005CCF DD 56 F3 3407 LD D,(IX-13) - 00005CD2 19 3408 ADD HL,DE - 00005CD3 5E 3409 LD E,(HL) - 00005CD4 23 3410 INC HL - 00005CD5 56 3411 LD D,(HL) - 00005CD6 3E 00 3412 LD A,BYTE3 fwrite - 00005CD8 21 F6 77 3413 LD HL,LWRD fwrite - 00005CDB CD 19 82 3414 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005CDE F1 3415 POP AF - 00005CDF F1 3416 POP AF - 00005CE0 21 01 00 3417 LD HL,1 - 00005CE3 E5 3418 PUSH HL - 00005CE4 2B 3419 DEC HL - 00005CE5 E5 3420 PUSH HL - 00005CE6 E5 3421 PUSH HL - 00005CE7 CD A9 5B 3422 CALL LWRD ?0665 - 00005CEA F1 3423 POP AF - 00005CEB F1 3424 POP AF - 00005CEC F1 3425 POP AF - 00005CED DD 34 F6 3426 INC (IX-10) - 00005CF0 20 03 3427 JR NZ,?0522 - 00005CF2 DD 34 F7 3428 INC (IX-9) - 00005CF5 3429 ?0522: - 00005CF5 3430 ?0215: - 00005CF5 3431 ?0213: - 00005CF5 DD 34 F4 3432 INC (IX-12) - 00005CF8 C2 45 5C 3433 JP NZ,?0209 - 00005CFB DD 34 F5 3434 INC (IX-11) - 00005CFE C3 45 5C 3435 JP LWRD ?0209 - 00005D01 3436 ?0208: - 00005D01 DD 5E F2 3437 LD E,(IX-14) - 00005D04 DD 56 F3 3438 LD D,(IX-13) - 00005D07 3E 00 3439 LD A,BYTE3 dbDeleteRow - 00005D09 21 7A 62 3440 LD HL,LWRD dbDeleteRow - 00005D0C CD 19 82 3441 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005D0F 21 00 00 3442 LD HL,0 - 00005D12 E5 3443 PUSH HL - 00005D13 E5 3444 PUSH HL - 00005D14 2E 06 3445 LD L,6 - 00005D16 E5 3446 PUSH HL - 00005D17 CD A9 5B 3447 CALL LWRD ?0665 - 00005D1A F1 3448 POP AF - 00005D1B F1 3449 POP AF - 00005D1C F1 3450 POP AF - 00005D1D 21 04 00 3451 LD HL,4 - 00005D20 39 3452 ADD HL,SP - 00005D21 7E 3453 LD A,(HL) - 00005D22 FD 86 06 3454 ADD A,(IY+6) - 00005D25 77 3455 LD (HL),A - 00005D26 23 3456 INC HL - 00005D27 7E 3457 LD A,(HL) - 00005D28 FD 8E 07 3458 ADC A,(IY+7) - 00005D2B 77 3459 LD (HL),A - 00005D2C FD 6E 08 3460 LD L,(IY+8) - 00005D2F FD 66 09 3461 LD H,(IY+9) - 00005D32 E5 3462 PUSH HL - 00005D33 21 01 00 3463 LD HL,1 - 00005D36 E5 3464 PUSH HL - 00005D37 01 02 00 3465 LD BC,2 - 00005D3A 2E 08 3466 LD L,8 - 00005D3C 39 3467 ADD HL,SP - 00005D3D EB 3468 EX DE,HL - 00005D3E 3E 00 3469 LD A,BYTE3 fwrite - 00005D40 21 F6 77 3470 LD HL,LWRD fwrite - 00005D43 CD 19 82 3471 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005D46 F1 3472 POP AF - 00005D47 F1 3473 POP AF - 00005D48 DD 5E F8 3474 LD E,(IX-8) - 00005D4B DD 56 F9 3475 LD D,(IX-7) - 00005D4E 3E 00 3476 LD A,BYTE3 dbDeleteExpression - 00005D50 21 EC 69 3477 LD HL,LWRD dbDeleteExpression - 00005D53 CD 19 82 3478 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005D56 FD E5 3479 PUSH IY - 00005D58 D1 3480 POP DE - 00005D59 3E 00 3481 LD A,BYTE3 dbTableClose - 00005D5B 21 C5 50 3482 LD HL,LWRD dbTableClose - 00005D5E CD 19 82 3483 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005D61 21 00 00 3484 LD HL,0 - 00005D64 DD F9 3485 LD SP,IX - 00005D66 C3 C0 45 3486 JP LWRD ?0614 - 00005D69 3487 ?0637: - 00005D69 11 14 00 3488 LD DE,20 - 00005D6C 3E 01 3489 LD A,BYTE3 malloc - 00005D6E 21 82 4A 3490 LD HL,LWRD malloc - 00005D71 CD 19 82 3491 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005D74 E5 3492 PUSH HL - 00005D75 FD E1 3493 POP IY - 00005D77 DD 4E FE 3494 LD C,(IX-2) - 00005D7A DD 46 FF 3495 LD B,(IX-1) - 00005D7D 03 3496 INC BC - 00005D7E 03 3497 INC BC - 00005D7F 03 3498 INC BC - 00005D80 0A 3499 LD A,(BC) - 00005D81 6F 3500 LD L,A - 00005D82 03 3501 INC BC - 00005D83 0A 3502 LD A,(BC) - 00005D84 67 3503 LD H,A - 00005D85 01 04 00 3504 LD BC,4 - 00005D88 09 3505 ADD HL,BC - 00005D89 4E 3506 LD C,(HL) - 00005D8A 23 3507 INC HL - 00005D8B 46 3508 LD B,(HL) - 00005D8C 21 0B 00 3509 LD HL,11 - 00005D8F FD E5 3510 PUSH IY - 00005D91 D1 3511 POP DE - 00005D92 19 3512 ADD HL,DE - 00005D93 EB 3513 EX DE,HL - 00005D94 3E 00 3514 LD A,BYTE3 strcpy - 00005D96 21 1C 7F 3515 LD HL,LWRD strcpy - 00005D99 CD 19 82 3516 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005D9C FD E5 3517 PUSH IY - 00005D9E D1 3518 POP DE - 00005D9F 3E 00 3519 LD A,BYTE3 dbTableOpen - 00005DA1 21 F5 4D 3520 LD HL,LWRD dbTableOpen - 00005DA4 CD 19 82 3521 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005DA7 FD E5 3522 PUSH IY - 00005DA9 D1 3523 POP DE - 00005DAA 3E 00 3524 LD A,BYTE3 dbRecordSize - 00005DAC 21 87 51 3525 LD HL,LWRD dbRecordSize - 00005DAF CD 19 82 3526 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005DB2 C9 3527 RET - 00005DB3 3528 dbExecuteUpdate: - 00005DB3 C5 3529 PUSH BC - 00005DB4 FD E5 3530 PUSH IY - 00005DB6 DD E5 3531 PUSH IX - 00005DB8 DD 21 00 00 3532 LD IX,0 - 00005DBC DD 39 3533 ADD IX,SP - 00005DBE D5 3534 PUSH DE - 00005DBF 21 E8 FF 3535 LD HL,65512 - 00005DC2 39 3536 ADD HL,SP - 00005DC3 F9 3537 LD SP,HL - 00005DC4 CD 69 5D 3538 CALL LWRD ?0637 - 00005DC7 DD 75 F2 3539 LD (IX-14),L - 00005DCA DD 74 F3 3540 LD (IX-13),H - 00005DCD CD E3 49 3541 CALL LWRD ?0642 - 00005DD0 DD 75 FA 3542 LD (IX-6),L - 00005DD3 DD 74 FB 3543 LD (IX-5),H - 00005DD6 AF 3544 XOR A - 00005DD7 DD 77 EE 3545 LD (IX-18),A - 00005DDA DD 77 EF 3546 LD (IX-17),A - 00005DDD 21 05 00 3547 LD HL,5 - 00005DE0 DD 4E FE 3548 LD C,(IX-2) - 00005DE3 DD 46 FF 3549 LD B,(IX-1) - 00005DE6 09 3550 ADD HL,BC - 00005DE7 7E 3551 LD A,(HL) - 00005DE8 23 3552 INC HL - 00005DE9 B6 3553 OR (HL) - 00005DEA 21 08 00 3554 LD HL,8 - 00005DED 39 3555 ADD HL,SP - 00005DEE 4D 3556 LD C,L - 00005DEF 44 3557 LD B,H - 00005DF0 28 17 3558 JR Z,?0217 - 00005DF2 3559 ?0216: - 00005DF2 21 05 00 3560 LD HL,5 - 00005DF5 DD 5E FE 3561 LD E,(IX-2) - 00005DF8 DD 56 FF 3562 LD D,(IX-1) - 00005DFB 19 3563 ADD HL,DE - 00005DFC 56 3564 LD D,(HL) - 00005DFD 23 3565 INC HL - 00005DFE 66 3566 LD H,(HL) - 00005DFF 6A 3567 LD L,D - 00005E00 11 04 00 3568 LD DE,4 - 00005E03 19 3569 ADD HL,DE - 00005E04 5E 3570 LD E,(HL) - 00005E05 23 3571 INC HL - 00005E06 56 3572 LD D,(HL) - 00005E07 18 02 3573 JR ?0535 - 00005E09 3574 ?0217: - 00005E09 5F 3575 LD E,A - 00005E0A 57 3576 LD D,A - 00005E0B 3577 ?0535: - 00005E0B 3578 ?0218: - 00005E0B CD 76 57 3579 CALL LWRD ?0662 - 00005E0E DD 75 E8 3580 LD (IX-24),L - 00005E11 DD 74 E9 3581 LD (IX-23),H - 00005E14 FD E5 3582 PUSH IY - 00005E16 C1 3583 POP BC - 00005E17 71 3584 LD (HL),C - 00005E18 23 3585 INC HL - 00005E19 70 3586 LD (HL),B - 00005E1A 21 04 00 3587 LD HL,4 - 00005E1D DD 4E E8 3588 LD C,(IX-24) - 00005E20 DD 46 E9 3589 LD B,(IX-23) - 00005E23 09 3590 ADD HL,BC - 00005E24 DD 5E FA 3591 LD E,(IX-6) - 00005E27 73 3592 LD (HL),E - 00005E28 DD 56 FB 3593 LD D,(IX-5) - 00005E2B 23 3594 INC HL - 00005E2C 72 3595 LD (HL),D - 00005E2D 69 3596 LD L,C - 00005E2E 60 3597 LD H,B - 00005E2F 23 3598 INC HL - 00005E30 23 3599 INC HL - 00005E31 AF 3600 XOR A - 00005E32 77 3601 LD (HL),A - 00005E33 23 3602 INC HL - 00005E34 77 3603 LD (HL),A - 00005E35 CD 64 57 3604 CALL LWRD ?0647 - 00005E38 DD 75 F0 3605 LD (IX-16),L - 00005E3B DD 74 F1 3606 LD (IX-15),H - 00005E3E CD E2 49 3607 CALL LWRD ?0644 - 00005E41 DD 75 EC 3608 LD (IX-20),L - 00005E44 DD 74 ED 3609 LD (IX-19),H - 00005E47 DD 6E FE 3610 LD L,(IX-2) - 00005E4A DD 66 FF 3611 LD H,(IX-1) - 00005E4D 23 3612 INC HL - 00005E4E 46 3613 LD B,(HL) - 00005E4F DD 70 EA 3614 LD (IX-22),B - 00005E52 23 3615 INC HL - 00005E53 66 3616 LD H,(HL) - 00005E54 DD 74 EB 3617 LD (IX-21),H - 00005E57 AF 3618 XOR A - 00005E58 DD 77 E6 3619 LD (IX-26),A - 00005E5B DD 77 E7 3620 LD (IX-25),A - 00005E5E 3621 ?0220: - 00005E5E DD 4E F0 3622 LD C,(IX-16) - 00005E61 DD 46 F1 3623 LD B,(IX-15) - 00005E64 DD 6E E6 3624 LD L,(IX-26) - 00005E67 DD 66 E7 3625 LD H,(IX-25) - 00005E6A F6 80 3626 OR 128 - 00005E6C ED 42 3627 SBC HL,BC - 00005E6E E2 72 5E 3628 JP PO,?0525 - 00005E71 AC 3629 XOR H - 00005E72 3630 ?0525: - 00005E72 F2 E3 5E 3631 JP P,?0219 - 00005E75 3632 ?0221: - 00005E75 0E 00 3633 LD C,0 - 00005E77 C5 3634 PUSH BC - 00005E78 0E 3D 3635 LD C,61 - 00005E7A 21 04 00 3636 LD HL,4 - 00005E7D DD 5E EA 3637 LD E,(IX-22) - 00005E80 DD 56 EB 3638 LD D,(IX-21) - 00005E83 19 3639 ADD HL,DE - 00005E84 5E 3640 LD E,(HL) - 00005E85 23 3641 INC HL - 00005E86 56 3642 LD D,(HL) - 00005E87 3E 00 3643 LD A,BYTE3 dbReplaceChar - 00005E89 21 F4 47 3644 LD HL,LWRD dbReplaceChar - 00005E8C CD 19 82 3645 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005E8F F1 3646 POP AF - 00005E90 DD 75 FC 3647 LD (IX-4),L - 00005E93 DD 74 FD 3648 LD (IX-3),H - 00005E96 AF 3649 XOR A - 00005E97 DD 77 F4 3650 LD (IX-12),A - 00005E9A DD 77 F5 3651 LD (IX-11),A - 00005E9D DD 6E E6 3652 LD L,(IX-26) - 00005EA0 DD 66 E7 3653 LD H,(IX-25) - 00005EA3 29 3654 ADD HL,HL - 00005EA4 DD 4E EC 3655 LD C,(IX-20) - 00005EA7 DD 46 ED 3656 LD B,(IX-19) - 00005EAA 09 3657 ADD HL,BC - 00005EAB E5 3658 PUSH HL - 00005EAC 21 10 00 3659 LD HL,16 - 00005EAF 39 3660 ADD HL,SP - 00005EB0 4D 3661 LD C,L - 00005EB1 44 3662 LD B,H - 00005EB2 DD 5E FC 3663 LD E,(IX-4) - 00005EB5 DD 56 FD 3664 LD D,(IX-3) - 00005EB8 13 3665 INC DE - 00005EB9 3E 00 3666 LD A,BYTE3 dbParseExpression - 00005EBB 21 B2 65 3667 LD HL,LWRD dbParseExpression - 00005EBE CD 19 82 3668 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005EC1 4D 3669 LD C,L - 00005EC2 44 3670 LD B,H - 00005EC3 E1 3671 POP HL - 00005EC4 71 3672 LD (HL),C - 00005EC5 23 3673 INC HL - 00005EC6 70 3674 LD (HL),B - 00005EC7 DD 6E EA 3675 LD L,(IX-22) - 00005ECA DD 66 EB 3676 LD H,(IX-21) - 00005ECD 23 3677 INC HL - 00005ECE 23 3678 INC HL - 00005ECF 46 3679 LD B,(HL) - 00005ED0 DD 70 EA 3680 LD (IX-22),B - 00005ED3 23 3681 INC HL - 00005ED4 66 3682 LD H,(HL) - 00005ED5 DD 74 EB 3683 LD (IX-21),H - 00005ED8 DD 34 E6 3684 INC (IX-26) - 00005EDB 20 81 3685 JR NZ,?0220 - 00005EDD DD 34 E7 3686 INC (IX-25) - 00005EE0 C3 5E 5E 3687 JP LWRD ?0220 - 00005EE3 3688 ?0219: - 00005EE3 AF 3689 XOR A - 00005EE4 DD 77 EE 3690 LD (IX-18),A - 00005EE7 DD 77 EF 3691 LD (IX-17),A - 00005EEA 3692 ?0224: - 00005EEA FD 4E 04 3693 LD C,(IY+4) - 00005EED FD 46 05 3694 LD B,(IY+5) - 00005EF0 DD 6E EE 3695 LD L,(IX-18) - 00005EF3 DD 66 EF 3696 LD H,(IX-17) - 00005EF6 F6 80 3697 OR 128 - 00005EF8 ED 42 3698 SBC HL,BC - 00005EFA E2 FE 5E 3699 JP PO,?0527 - 00005EFD AC 3700 XOR H - 00005EFE 3701 ?0527: - 00005EFE F2 08 61 3702 JP P,?0223 - 00005F01 3703 ?0225: - 00005F01 FD 6E 08 3704 LD L,(IY+8) - 00005F04 FD 66 09 3705 LD H,(IY+9) - 00005F07 E5 3706 PUSH HL - 00005F08 21 01 00 3707 LD HL,1 - 00005F0B E5 3708 PUSH HL - 00005F0C DD 4E F2 3709 LD C,(IX-14) - 00005F0F DD 46 F3 3710 LD B,(IX-13) - 00005F12 2E 04 3711 LD L,4 - 00005F14 DD 5E E8 3712 LD E,(IX-24) - 00005F17 DD 56 E9 3713 LD D,(IX-23) - 00005F1A 19 3714 ADD HL,DE - 00005F1B 5E 3715 LD E,(HL) - 00005F1C 23 3716 INC HL - 00005F1D 56 3717 LD D,(HL) - 00005F1E 3E 00 3718 LD A,BYTE3 fread - 00005F20 21 DD 70 3719 LD HL,LWRD fread - 00005F23 CD 19 82 3720 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005F26 F1 3721 POP AF - 00005F27 F1 3722 POP AF - 00005F28 DD 6E FA 3723 LD L,(IX-6) - 00005F2B DD 66 FB 3724 LD H,(IX-5) - 00005F2E 46 3725 LD B,(HL) - 00005F2F 05 3726 DEC B - 00005F30 C2 FC 60 3727 JP NZ,?0230 - 00005F33 3728 ?0227: - 00005F33 DD 4E E8 3729 LD C,(IX-24) - 00005F36 DD 46 E9 3730 LD B,(IX-23) - 00005F39 CD 8C 57 3731 CALL LWRD ?0663 - 00005F3C C2 FC 60 3732 JP NZ,?0230 - 00005F3F 3733 ?0229: - 00005F3F 21 01 00 3734 LD HL,1 - 00005F42 E5 3735 PUSH HL - 00005F43 DD 4E F2 3736 LD C,(IX-14) - 00005F46 DD 46 F3 3737 LD B,(IX-13) - 00005F49 2B 3738 DEC HL - 00005F4A ED 42 3739 SBC HL,BC - 00005F4C 7C 3740 LD A,H - 00005F4D 07 3741 RLCA - 00005F4E 9F 3742 SBC A,A - 00005F4F 4F 3743 LD C,A - 00005F50 41 3744 LD B,C - 00005F51 C5 3745 PUSH BC - 00005F52 E5 3746 PUSH HL - 00005F53 CD A9 5B 3747 CALL LWRD ?0665 - 00005F56 F1 3748 POP AF - 00005F57 F1 3749 POP AF - 00005F58 F1 3750 POP AF - 00005F59 AF 3751 XOR A - 00005F5A DD 77 E6 3752 LD (IX-26),A - 00005F5D DD 77 E7 3753 LD (IX-25),A - 00005F60 3754 ?0232: - 00005F60 DD 4E F0 3755 LD C,(IX-16) - 00005F63 DD 46 F1 3756 LD B,(IX-15) - 00005F66 DD 6E E6 3757 LD L,(IX-26) - 00005F69 DD 66 E7 3758 LD H,(IX-25) - 00005F6C F6 80 3759 OR 128 - 00005F6E ED 42 3760 SBC HL,BC - 00005F70 E2 74 5F 3761 JP PO,?0528 - 00005F73 AC 3762 XOR H - 00005F74 3763 ?0528: - 00005F74 F2 A0 5F 3764 JP P,?0231 - 00005F77 3765 ?0233: - 00005F77 DD 4E E8 3766 LD C,(IX-24) - 00005F7A DD 46 E9 3767 LD B,(IX-23) - 00005F7D DD 6E E6 3768 LD L,(IX-26) - 00005F80 DD 66 E7 3769 LD H,(IX-25) - 00005F83 29 3770 ADD HL,HL - 00005F84 DD 5E EC 3771 LD E,(IX-20) - 00005F87 DD 56 ED 3772 LD D,(IX-19) - 00005F8A 19 3773 ADD HL,DE - 00005F8B 5E 3774 LD E,(HL) - 00005F8C 23 3775 INC HL - 00005F8D 56 3776 LD D,(HL) - 00005F8E 3E 00 3777 LD A,BYTE3 dbEvaluateExpression - 00005F90 21 15 6A 3778 LD HL,LWRD dbEvaluateExpression - 00005F93 CD 19 82 3779 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005F96 DD 34 E6 3780 INC (IX-26) - 00005F99 20 C5 3781 JR NZ,?0232 - 00005F9B DD 34 E7 3782 INC (IX-25) - 00005F9E 18 C0 3783 JR ?0232 - 00005FA0 3784 ?0231: - 00005FA0 DD 6E FE 3785 LD L,(IX-2) - 00005FA3 DD 66 FF 3786 LD H,(IX-1) - 00005FA6 23 3787 INC HL - 00005FA7 46 3788 LD B,(HL) - 00005FA8 DD 70 EA 3789 LD (IX-22),B - 00005FAB 23 3790 INC HL - 00005FAC 66 3791 LD H,(HL) - 00005FAD DD 74 EB 3792 LD (IX-21),H - 00005FB0 AF 3793 XOR A - 00005FB1 DD 77 E6 3794 LD (IX-26),A - 00005FB4 DD 77 E7 3795 LD (IX-25),A - 00005FB7 3796 ?0236: - 00005FB7 DD 4E F0 3797 LD C,(IX-16) - 00005FBA DD 46 F1 3798 LD B,(IX-15) - 00005FBD DD 6E E6 3799 LD L,(IX-26) - 00005FC0 DD 66 E7 3800 LD H,(IX-25) - 00005FC3 F6 80 3801 OR 128 - 00005FC5 ED 42 3802 SBC HL,BC - 00005FC7 E2 CB 5F 3803 JP PO,?0530 - 00005FCA AC 3804 XOR H - 00005FCB 3805 ?0530: - 00005FCB F2 C8 60 3806 JP P,?0235 - 00005FCE 3807 ?0237: - 00005FCE 21 04 00 3808 LD HL,4 - 00005FD1 DD 4E EA 3809 LD C,(IX-22) - 00005FD4 DD 46 EB 3810 LD B,(IX-21) - 00005FD7 09 3811 ADD HL,BC - 00005FD8 4E 3812 LD C,(HL) - 00005FD9 23 3813 INC HL - 00005FDA 46 3814 LD B,(HL) - 00005FDB FD E5 3815 PUSH IY - 00005FDD D1 3816 POP DE - 00005FDE 3E 00 3817 LD A,BYTE3 dbFieldSearch - 00005FE0 21 A3 51 3818 LD HL,LWRD dbFieldSearch - 00005FE3 CD 19 82 3819 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005FE6 DD 75 F6 3820 LD (IX-10),L - 00005FE9 DD 74 F7 3821 LD (IX-9),H - 00005FEC 4D 3822 LD C,L - 00005FED 44 3823 LD B,H - 00005FEE FD E5 3824 PUSH IY - 00005FF0 D1 3825 POP DE - 00005FF1 3E 00 3826 LD A,BYTE3 dbFieldOffset - 00005FF3 21 32 51 3827 LD HL,LWRD dbFieldOffset - 00005FF6 CD 19 82 3828 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005FF9 DD 75 F4 3829 LD (IX-12),L - 00005FFC DD 74 F5 3830 LD (IX-11),H - 00005FFF FD 6E 02 3831 LD L,(IY+2) - 00006002 FD 66 03 3832 LD H,(IY+3) - 00006005 E5 3833 PUSH HL - 00006006 DD 6E F6 3834 LD L,(IX-10) - 00006009 DD 66 F7 3835 LD H,(IX-9) - 0000600C 29 3836 ADD HL,HL - 0000600D 29 3837 ADD HL,HL - 0000600E 4D 3838 LD C,L - 0000600F 44 3839 LD B,H - 00006010 29 3840 ADD HL,HL - 00006011 09 3841 ADD HL,BC - 00006012 4D 3842 LD C,L - 00006013 44 3843 LD B,H - 00006014 E1 3844 POP HL - 00006015 09 3845 ADD HL,BC - 00006016 01 09 00 3846 LD BC,9 - 00006019 09 3847 ADD HL,BC - 0000601A 7E 3848 LD A,(HL) - 0000601B FE 53 3849 CP 83 - 0000601D 20 34 3850 JR NZ,?0241 - 0000601F 3851 ?0240: - 0000601F FD 6E 02 3852 LD L,(IY+2) - 00006022 FD 66 03 3853 LD H,(IY+3) - 00006025 E5 3854 PUSH HL - 00006026 DD 6E F6 3855 LD L,(IX-10) - 00006029 DD 66 F7 3856 LD H,(IX-9) - 0000602C 29 3857 ADD HL,HL - 0000602D 29 3858 ADD HL,HL - 0000602E 4D 3859 LD C,L - 0000602F 44 3860 LD B,H - 00006030 29 3861 ADD HL,HL - 00006031 09 3862 ADD HL,BC - 00006032 4D 3863 LD C,L - 00006033 44 3864 LD B,H - 00006034 E1 3865 POP HL - 00006035 09 3866 ADD HL,BC - 00006036 01 0A 00 3867 LD BC,10 - 00006039 09 3868 ADD HL,BC - 0000603A 4E 3869 LD C,(HL) - 0000603B C5 3870 PUSH BC - 0000603C DD 6E E6 3871 LD L,(IX-26) - 0000603F DD 66 E7 3872 LD H,(IX-25) - 00006042 29 3873 ADD HL,HL - 00006043 DD 4E EC 3874 LD C,(IX-20) - 00006046 DD 46 ED 3875 LD B,(IX-19) - 00006049 09 3876 ADD HL,BC - 0000604A 46 3877 LD B,(HL) - 0000604B 23 3878 INC HL - 0000604C 66 3879 LD H,(HL) - 0000604D 68 3880 LD L,B - 0000604E 01 28 00 3881 LD BC,40 - 00006051 18 36 3882 JR ?0536 - 00006053 3883 ?0241: - 00006053 FE 49 3884 CP 73 - 00006055 20 54 3885 JR NZ,?0239 - 00006057 FD 6E 02 3886 LD L,(IY+2) - 0000605A FD 66 03 3887 LD H,(IY+3) - 0000605D E5 3888 PUSH HL - 0000605E DD 6E F6 3889 LD L,(IX-10) - 00006061 DD 66 F7 3890 LD H,(IX-9) - 00006064 29 3891 ADD HL,HL - 00006065 29 3892 ADD HL,HL - 00006066 4D 3893 LD C,L - 00006067 44 3894 LD B,H - 00006068 29 3895 ADD HL,HL - 00006069 09 3896 ADD HL,BC - 0000606A 4D 3897 LD C,L - 0000606B 44 3898 LD B,H - 0000606C E1 3899 POP HL - 0000606D 09 3900 ADD HL,BC - 0000606E 01 0A 00 3901 LD BC,10 - 00006071 09 3902 ADD HL,BC - 00006072 4E 3903 LD C,(HL) - 00006073 C5 3904 PUSH BC - 00006074 DD 6E E6 3905 LD L,(IX-26) - 00006077 DD 66 E7 3906 LD H,(IX-25) - 0000607A 29 3907 ADD HL,HL - 0000607B DD 4E EC 3908 LD C,(IX-20) - 0000607E DD 46 ED 3909 LD B,(IX-19) - 00006081 09 3910 ADD HL,BC - 00006082 46 3911 LD B,(HL) - 00006083 23 3912 INC HL - 00006084 66 3913 LD H,(HL) - 00006085 68 3914 LD L,B - 00006086 01 24 00 3915 LD BC,36 - 00006089 3916 ?0536: - 00006089 09 3917 ADD HL,BC - 0000608A 4D 3918 LD C,L - 0000608B 44 3919 LD B,H - 0000608C 21 04 00 3920 LD HL,4 - 0000608F DD 5E E8 3921 LD E,(IX-24) - 00006092 DD 56 E9 3922 LD D,(IX-23) - 00006095 19 3923 ADD HL,DE - 00006096 56 3924 LD D,(HL) - 00006097 23 3925 INC HL - 00006098 66 3926 LD H,(HL) - 00006099 6A 3927 LD L,D - 0000609A DD 5E F4 3928 LD E,(IX-12) - 0000609D DD 56 F5 3929 LD D,(IX-11) - 000060A0 19 3930 ADD HL,DE - 000060A1 EB 3931 EX DE,HL - 000060A2 3E 00 3932 LD A,BYTE3 memcpy - 000060A4 21 1E 75 3933 LD HL,LWRD memcpy - 000060A7 CD 19 82 3934 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000060AA F1 3935 POP AF - 000060AB 3936 ?0239: - 000060AB DD 6E EA 3937 LD L,(IX-22) - 000060AE DD 66 EB 3938 LD H,(IX-21) - 000060B1 23 3939 INC HL - 000060B2 23 3940 INC HL - 000060B3 46 3941 LD B,(HL) - 000060B4 DD 70 EA 3942 LD (IX-22),B - 000060B7 23 3943 INC HL - 000060B8 66 3944 LD H,(HL) - 000060B9 DD 74 EB 3945 LD (IX-21),H - 000060BC DD 34 E6 3946 INC (IX-26) - 000060BF C2 B7 5F 3947 JP NZ,?0236 - 000060C2 DD 34 E7 3948 INC (IX-25) - 000060C5 C3 B7 5F 3949 JP LWRD ?0236 - 000060C8 3950 ?0235: - 000060C8 FD 6E 08 3951 LD L,(IY+8) - 000060CB FD 66 09 3952 LD H,(IY+9) - 000060CE E5 3953 PUSH HL - 000060CF 21 01 00 3954 LD HL,1 - 000060D2 E5 3955 PUSH HL - 000060D3 DD 4E F2 3956 LD C,(IX-14) - 000060D6 DD 46 F3 3957 LD B,(IX-13) - 000060D9 2E 04 3958 LD L,4 - 000060DB DD 5E E8 3959 LD E,(IX-24) - 000060DE DD 56 E9 3960 LD D,(IX-23) - 000060E1 19 3961 ADD HL,DE - 000060E2 5E 3962 LD E,(HL) - 000060E3 23 3963 INC HL - 000060E4 56 3964 LD D,(HL) - 000060E5 3E 00 3965 LD A,BYTE3 fwrite - 000060E7 21 F6 77 3966 LD HL,LWRD fwrite - 000060EA CD 19 82 3967 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000060ED F1 3968 POP AF - 000060EE F1 3969 POP AF - 000060EF 21 01 00 3970 LD HL,1 - 000060F2 E5 3971 PUSH HL - 000060F3 2B 3972 DEC HL - 000060F4 E5 3973 PUSH HL - 000060F5 E5 3974 PUSH HL - 000060F6 CD A9 5B 3975 CALL LWRD ?0665 - 000060F9 F1 3976 POP AF - 000060FA F1 3977 POP AF - 000060FB F1 3978 POP AF - 000060FC 3979 ?0230: - 000060FC 3980 ?0228: - 000060FC DD 34 EE 3981 INC (IX-18) - 000060FF C2 EA 5E 3982 JP NZ,?0224 - 00006102 DD 34 EF 3983 INC (IX-17) - 00006105 C3 EA 5E 3984 JP LWRD ?0224 - 00006108 3985 ?0223: - 00006108 DD 5E E8 3986 LD E,(IX-24) - 0000610B DD 56 E9 3987 LD D,(IX-23) - 0000610E 3E 00 3988 LD A,BYTE3 dbDeleteRow - 00006110 21 7A 62 3989 LD HL,LWRD dbDeleteRow - 00006113 CD 19 82 3990 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006116 AF 3991 XOR A - 00006117 DD 77 E6 3992 LD (IX-26),A - 0000611A DD 77 E7 3993 LD (IX-25),A - 0000611D 3994 ?0243: - 0000611D DD 4E F0 3995 LD C,(IX-16) - 00006120 DD 46 F1 3996 LD B,(IX-15) - 00006123 DD 6E E6 3997 LD L,(IX-26) - 00006126 DD 66 E7 3998 LD H,(IX-25) - 00006129 F6 80 3999 OR 128 - 0000612B ED 42 4000 SBC HL,BC - 0000612D E2 31 61 4001 JP PO,?0533 - 00006130 AC 4002 XOR H - 00006131 4003 ?0533: - 00006131 F2 57 61 4004 JP P,?0242 - 00006134 4005 ?0244: - 00006134 DD 6E E6 4006 LD L,(IX-26) - 00006137 DD 66 E7 4007 LD H,(IX-25) - 0000613A 29 4008 ADD HL,HL - 0000613B DD 4E EC 4009 LD C,(IX-20) - 0000613E DD 46 ED 4010 LD B,(IX-19) - 00006141 09 4011 ADD HL,BC - 00006142 5E 4012 LD E,(HL) - 00006143 23 4013 INC HL - 00006144 56 4014 LD D,(HL) - 00006145 3E 00 4015 LD A,BYTE3 dbDeleteExpression - 00006147 21 EC 69 4016 LD HL,LWRD dbDeleteExpression - 0000614A CD 19 82 4017 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000614D DD 34 E6 4018 INC (IX-26) - 00006150 20 CB 4019 JR NZ,?0243 - 00006152 DD 34 E7 4020 INC (IX-25) - 00006155 18 C6 4021 JR ?0243 - 00006157 4022 ?0242: - 00006157 DD 5E EC 4023 LD E,(IX-20) - 0000615A DD 56 ED 4024 LD D,(IX-19) - 0000615D CD 90 45 4025 CALL LWRD ?0639 - 00006160 FD E5 4026 PUSH IY - 00006162 D1 4027 POP DE - 00006163 3E 00 4028 LD A,BYTE3 dbTableClose - 00006165 21 C5 50 4029 LD HL,LWRD dbTableClose - 00006168 CD 19 82 4030 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000616B 21 00 00 4031 LD HL,0 - 0000616E DD F9 4032 LD SP,IX - 00006170 C3 C0 45 4033 JP LWRD ?0614 - 00006173 4034 dbExecuteStatement: - 00006173 FD E5 4035 PUSH IY - 00006175 DD E5 4036 PUSH IX - 00006177 D5 4037 PUSH DE - 00006178 FD 21 00 00 4038 LD IY,0 - 0000617C 3E 00 4039 LD A,BYTE3 dbParseStatement - 0000617E 21 0A 4A 4040 LD HL,LWRD dbParseStatement - 00006181 CD 19 82 4041 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006184 E5 4042 PUSH HL - 00006185 DD E1 4043 POP IX - 00006187 7D 4044 LD A,L - 00006188 B4 4045 OR H - 00006189 20 04 4046 JR NZ,?0247 - 0000618B 4047 ?0246: - 0000618B 6F 4048 LD L,A - 0000618C 67 4049 LD H,A - 0000618D 18 4D 4050 JR ?0253 - 0000618F 4051 ?0247: - 0000618F DD 7E 00 4052 LD A,(IX+0) - 00006192 FE 73 4053 CP 115 - 00006194 20 0A 4054 JR NZ,?0250 - 00006196 4055 ?0249: - 00006196 DD E5 4056 PUSH IX - 00006198 D1 4057 POP DE - 00006199 3E 00 4058 LD A,BYTE3 dbExecuteQuery - 0000619B 21 F9 51 4059 LD HL,LWRD dbExecuteQuery - 0000619E 18 28 4060 JR ?0545 - 000061A0 4061 ?0250: - 000061A0 FE 69 4062 CP 105 - 000061A2 20 0A 4063 JR NZ,?0251 - 000061A4 DD E5 4064 PUSH IX - 000061A6 D1 4065 POP DE - 000061A7 3E 00 4066 LD A,BYTE3 dbExecuteInsert - 000061A9 21 AE 57 4067 LD HL,LWRD dbExecuteInsert - 000061AC 18 1A 4068 JR ?0545 - 000061AE 4069 ?0251: - 000061AE FE 64 4070 CP 100 - 000061B0 20 0A 4071 JR NZ,?0252 - 000061B2 DD E5 4072 PUSH IX - 000061B4 D1 4073 POP DE - 000061B5 3E 00 4074 LD A,BYTE3 dbExecuteDelete - 000061B7 21 B7 5B 4075 LD HL,LWRD dbExecuteDelete - 000061BA 18 0C 4076 JR ?0545 - 000061BC 4077 ?0252: - 000061BC FE 75 4078 CP 117 - 000061BE 20 0E 4079 JR NZ,?0248 - 000061C0 DD E5 4080 PUSH IX - 000061C2 D1 4081 POP DE - 000061C3 3E 00 4082 LD A,BYTE3 dbExecuteUpdate - 000061C5 21 B3 5D 4083 LD HL,LWRD dbExecuteUpdate - 000061C8 4084 ?0545: - 000061C8 CD 19 82 4085 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000061CB E5 4086 PUSH HL - 000061CC FD E1 4087 POP IY - 000061CE 4088 ?0248: - 000061CE DD E5 4089 PUSH IX - 000061D0 D1 4090 POP DE - 000061D1 3E 00 4091 LD A,BYTE3 dbStatementClose - 000061D3 21 E3 50 4092 LD HL,LWRD dbStatementClose - 000061D6 CD 19 82 4093 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000061D9 FD E5 4094 PUSH IY - 000061DB E1 4095 POP HL - 000061DC 4096 ?0253: - 000061DC C3 36 48 4097 JP LWRD ?0626 - 000061DF 4098 dbNextRow: - 000061DF FD E5 4099 PUSH IY - 000061E1 DD E5 4100 PUSH IX - 000061E3 F5 4101 PUSH AF - 000061E4 C5 4102 PUSH BC - 000061E5 DD E1 4103 POP IX - 000061E7 D5 4104 PUSH DE - 000061E8 FD E1 4105 POP IY - 000061EA 21 00 00 4106 LD HL,0 - 000061ED 39 4107 ADD HL,SP - 000061EE E5 4108 PUSH HL - 000061EF 3E 00 4109 LD A,BYTE3 dbRecordSize - 000061F1 21 87 51 4110 LD HL,LWRD dbRecordSize - 000061F4 CD 19 82 4111 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000061F7 EB 4112 EX DE,HL - 000061F8 E1 4113 POP HL - 000061F9 73 4114 LD (HL),E - 000061FA 23 4115 INC HL - 000061FB 72 4116 LD (HL),D - 000061FC 21 04 00 4117 LD HL,4 - 000061FF 09 4118 ADD HL,BC - 00006200 7E 4119 LD A,(HL) - 00006201 23 4120 INC HL - 00006202 B6 4121 OR (HL) - 00006203 20 09 4122 JR NZ,?0255 - 00006205 4123 ?0254: - 00006205 CD E4 49 4124 CALL LWRD ?0641 - 00006208 DD 75 04 4125 LD (IX+4),L - 0000620B DD 74 05 4126 LD (IX+5),H - 0000620E 4127 ?0255: - 0000620E FD 4E 04 4128 LD C,(IY+4) - 00006211 FD 46 05 4129 LD B,(IY+5) - 00006214 FD 6E 06 4130 LD L,(IY+6) - 00006217 FD 66 07 4131 LD H,(IY+7) - 0000621A F6 80 4132 OR 128 - 0000621C ED 42 4133 SBC HL,BC - 0000621E E2 22 62 4134 JP PO,?0547 - 00006221 AC 4135 XOR H - 00006222 4136 ?0547: - 00006222 FA 39 62 4137 JP M,?0257 - 00006225 4138 ?0256: - 00006225 DD 36 02 FF 4139 LD (IX+2),255 - 00006229 DD 36 03 FF 4140 LD (IX+3),255 - 0000622D CD 8A 45 4141 CALL LWRD ?0638 - 00006230 AF 4142 XOR A - 00006231 DD 77 04 4143 LD (IX+4),A - 00006234 DD 77 05 4144 LD (IX+5),A - 00006237 18 3E 4145 JR ?0258 - 00006239 4146 ?0257: - 00006239 FD 6E 06 4147 LD L,(IY+6) - 0000623C FD 66 07 4148 LD H,(IY+7) - 0000623F 23 4149 INC HL - 00006240 FD 75 06 4150 LD (IY+6),L - 00006243 FD 74 07 4151 LD (IY+7),H - 00006246 2B 4152 DEC HL - 00006247 DD 75 02 4153 LD (IX+2),L - 0000624A DD 74 03 4154 LD (IX+3),H - 0000624D FD E5 4155 PUSH IY - 0000624F DD E5 4156 PUSH IX - 00006251 E1 4157 POP HL - 00006252 C1 4158 POP BC - 00006253 71 4159 LD (HL),C - 00006254 23 4160 INC HL - 00006255 70 4161 LD (HL),B - 00006256 FD 6E 08 4162 LD L,(IY+8) - 00006259 FD 66 09 4163 LD H,(IY+9) - 0000625C E5 4164 PUSH HL - 0000625D 21 01 00 4165 LD HL,1 - 00006260 E5 4166 PUSH HL - 00006261 2E 04 4167 LD L,4 - 00006263 39 4168 ADD HL,SP - 00006264 4E 4169 LD C,(HL) - 00006265 23 4170 INC HL - 00006266 46 4171 LD B,(HL) - 00006267 DD 5E 04 4172 LD E,(IX+4) - 0000626A DD 56 05 4173 LD D,(IX+5) - 0000626D 3E 00 4174 LD A,BYTE3 fread - 0000626F 21 DD 70 4175 LD HL,LWRD fread - 00006272 CD 19 82 4176 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006275 F1 4177 POP AF - 00006276 F1 4178 POP AF - 00006277 4179 ?0258: - 00006277 C3 56 46 4180 JP LWRD ?0625 - 0000627A 4181 dbDeleteRow: - 0000627A DD E5 4182 PUSH IX - 0000627C D5 4183 PUSH DE - 0000627D DD E1 4184 POP IX - 0000627F 7B 4185 LD A,E - 00006280 B2 4186 OR D - 00006281 28 11 4187 JR Z,?0260 - 00006283 4188 ?0259: - 00006283 DD 7E 04 4189 LD A,(IX+4) - 00006286 DD B6 05 4190 OR (IX+5) - 00006289 28 03 4191 JR Z,?0262 - 0000628B 4192 ?0261: - 0000628B CD 8A 45 4193 CALL LWRD ?0638 - 0000628E 4194 ?0262: - 0000628E DD E5 4195 PUSH IX - 00006290 D1 4196 POP DE - 00006291 CD 90 45 4197 CALL LWRD ?0639 - 00006294 4198 ?0260: - 00006294 DD E1 4199 POP IX - 00006296 C3 A9 81 4200 JP LWRD ?BANK_FAST_LEAVE_L08 - 00006299 4201 dbNewRow: - 00006299 C5 4202 PUSH BC - 0000629A D5 4203 PUSH DE - 0000629B DD E5 4204 PUSH IX - 0000629D 11 06 00 4205 LD DE,6 - 000062A0 CD E4 49 4206 CALL LWRD ?0641 - 000062A3 E5 4207 PUSH HL - 000062A4 DD E1 4208 POP IX - 000062A6 01 04 00 4209 LD BC,4 - 000062A9 09 4210 ADD HL,BC - 000062AA AF 4211 XOR A - 000062AB 77 4212 LD (HL),A - 000062AC 23 4213 INC HL - 000062AD 77 4214 LD (HL),A - 000062AE DD E5 4215 PUSH IX - 000062B0 E1 4216 POP HL - 000062B1 77 4217 LD (HL),A - 000062B2 23 4218 INC HL - 000062B3 77 4219 LD (HL),A - 000062B4 DD 36 02 FF 4220 LD (IX+2),255 - 000062B8 DD 36 03 FF 4221 LD (IX+3),255 - 000062BC DD E5 4222 PUSH IX - 000062BE E1 4223 POP HL - 000062BF DD E1 4224 POP IX - 000062C1 D1 4225 POP DE - 000062C2 C1 4226 POP BC - 000062C3 C3 A9 81 4227 JP LWRD ?BANK_FAST_LEAVE_L08 - 000062C6 4228 dbGetString: - 000062C6 FD E5 4229 PUSH IY - 000062C8 DD E5 4230 PUSH IX - 000062CA DD 21 00 00 4231 LD IX,0 - 000062CE DD 39 4232 ADD IX,SP - 000062D0 C5 4233 PUSH BC - 000062D1 F5 4234 PUSH AF - 000062D2 F5 4235 PUSH AF - 000062D3 F5 4236 PUSH AF - 000062D4 D5 4237 PUSH DE - 000062D5 FD E1 4238 POP IY - 000062D7 21 04 00 4239 LD HL,4 - 000062DA 19 4240 ADD HL,DE - 000062DB 7E 4241 LD A,(HL) - 000062DC DD 77 F8 4242 LD (IX-8),A - 000062DF 23 4243 INC HL - 000062E0 66 4244 LD H,(HL) - 000062E1 DD 74 F9 4245 LD (IX-7),H - 000062E4 EB 4246 EX DE,HL - 000062E5 5E 4247 LD E,(HL) - 000062E6 23 4248 INC HL - 000062E7 56 4249 LD D,(HL) - 000062E8 3E 00 4250 LD A,BYTE3 dbFieldOffset - 000062EA 21 32 51 4251 LD HL,LWRD dbFieldOffset - 000062ED CD 19 82 4252 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000062F0 DD 75 FA 4253 LD (IX-6),L - 000062F3 DD 74 FB 4254 LD (IX-5),H - 000062F6 FD 6E 00 4255 LD L,(IY+0) - 000062F9 FD 66 01 4256 LD H,(IY+1) - 000062FC 23 4257 INC HL - 000062FD 23 4258 INC HL - 000062FE 46 4259 LD B,(HL) - 000062FF 23 4260 INC HL - 00006300 66 4261 LD H,(HL) - 00006301 68 4262 LD L,B - 00006302 E5 4263 PUSH HL - 00006303 DD 6E FE 4264 LD L,(IX-2) - 00006306 DD 66 FF 4265 LD H,(IX-1) - 00006309 29 4266 ADD HL,HL - 0000630A 29 4267 ADD HL,HL - 0000630B 4D 4268 LD C,L - 0000630C 44 4269 LD B,H - 0000630D 29 4270 ADD HL,HL - 0000630E 09 4271 ADD HL,BC - 0000630F 4D 4272 LD C,L - 00006310 44 4273 LD B,H - 00006311 E1 4274 POP HL - 00006312 09 4275 ADD HL,BC - 00006313 01 09 00 4276 LD BC,9 - 00006316 09 4277 ADD HL,BC - 00006317 7E 4278 LD A,(HL) - 00006318 FE 53 4279 CP 83 - 0000631A 20 1B 4280 JR NZ,?0265 - 0000631C 4281 ?0264: - 0000631C DD 6E FA 4282 LD L,(IX-6) - 0000631F DD 66 FB 4283 LD H,(IX-5) - 00006322 DD 4E F8 4284 LD C,(IX-8) - 00006325 DD 46 F9 4285 LD B,(IX-7) - 00006328 09 4286 ADD HL,BC - 00006329 4D 4287 LD C,L - 0000632A 44 4288 LD B,H - 0000632B DD 5E 08 4289 LD E,(IX+8) - 0000632E DD 56 09 4290 LD D,(IX+9) - 00006331 CD 02 4A 4291 CALL LWRD ?0651 - 00006334 C3 CF 63 4292 JP LWRD ?0270 - 00006337 4293 ?0265: - 00006337 FE 49 4294 CP 73 - 00006339 C2 CF 63 4295 JP NZ,?0270 - 0000633C FD 6E 00 4296 LD L,(IY+0) - 0000633F FD 66 01 4297 LD H,(IY+1) - 00006342 23 4298 INC HL - 00006343 23 4299 INC HL - 00006344 46 4300 LD B,(HL) - 00006345 23 4301 INC HL - 00006346 66 4302 LD H,(HL) - 00006347 68 4303 LD L,B - 00006348 E5 4304 PUSH HL - 00006349 DD 6E FE 4305 LD L,(IX-2) - 0000634C DD 66 FF 4306 LD H,(IX-1) - 0000634F 29 4307 ADD HL,HL - 00006350 29 4308 ADD HL,HL - 00006351 4D 4309 LD C,L - 00006352 44 4310 LD B,H - 00006353 29 4311 ADD HL,HL - 00006354 09 4312 ADD HL,BC - 00006355 4D 4313 LD C,L - 00006356 44 4314 LD B,H - 00006357 E1 4315 POP HL - 00006358 09 4316 ADD HL,BC - 00006359 01 0A 00 4317 LD BC,10 - 0000635C 09 4318 ADD HL,BC - 0000635D 46 4319 LD B,(HL) - 0000635E 05 4320 DEC B - 0000635F 05 4321 DEC B - 00006360 20 21 4322 JR NZ,?0267 - 00006362 4323 ?0266: - 00006362 C5 4324 PUSH BC - 00006363 DD 4E 08 4325 LD C,(IX+8) - 00006366 DD 46 09 4326 LD B,(IX+9) - 00006369 DD 6E FA 4327 LD L,(IX-6) - 0000636C DD 66 FB 4328 LD H,(IX-5) - 0000636F DD 5E F8 4329 LD E,(IX-8) - 00006372 DD 56 F9 4330 LD D,(IX-7) - 00006375 19 4331 ADD HL,DE - 00006376 5E 4332 LD E,(HL) - 00006377 23 4333 INC HL - 00006378 56 4334 LD D,(HL) - 00006379 3E 01 4335 LD A,BYTE3 itoa - 0000637B 21 94 41 4336 LD HL,LWRD itoa - 0000637E CD 19 82 4337 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006381 18 4B 4338 JR ?0548 - 00006383 4339 ?0267: - 00006383 FD 6E 00 4340 LD L,(IY+0) - 00006386 FD 66 01 4341 LD H,(IY+1) - 00006389 23 4342 INC HL - 0000638A 23 4343 INC HL - 0000638B 46 4344 LD B,(HL) - 0000638C 23 4345 INC HL - 0000638D 66 4346 LD H,(HL) - 0000638E 68 4347 LD L,B - 0000638F E5 4348 PUSH HL - 00006390 DD 6E FE 4349 LD L,(IX-2) - 00006393 DD 66 FF 4350 LD H,(IX-1) - 00006396 29 4351 ADD HL,HL - 00006397 29 4352 ADD HL,HL - 00006398 4D 4353 LD C,L - 00006399 44 4354 LD B,H - 0000639A 29 4355 ADD HL,HL - 0000639B 09 4356 ADD HL,BC - 0000639C 4D 4357 LD C,L - 0000639D 44 4358 LD B,H - 0000639E E1 4359 POP HL - 0000639F 09 4360 ADD HL,BC - 000063A0 01 0A 00 4361 LD BC,10 - 000063A3 09 4362 ADD HL,BC - 000063A4 7E 4363 LD A,(HL) - 000063A5 FE 04 4364 CP 4 - 000063A7 20 26 4365 JR NZ,?0270 - 000063A9 4366 ?0269: - 000063A9 C5 4367 PUSH BC - 000063AA DD 6E 08 4368 LD L,(IX+8) - 000063AD DD 66 09 4369 LD H,(IX+9) - 000063B0 E5 4370 PUSH HL - 000063B1 DD 6E FA 4371 LD L,(IX-6) - 000063B4 DD 66 FB 4372 LD H,(IX-5) - 000063B7 DD 4E F8 4373 LD C,(IX-8) - 000063BA DD 46 F9 4374 LD B,(IX-7) - 000063BD 09 4375 ADD HL,BC - 000063BE 5E 4376 LD E,(HL) - 000063BF 23 4377 INC HL - 000063C0 56 4378 LD D,(HL) - 000063C1 23 4379 INC HL - 000063C2 4E 4380 LD C,(HL) - 000063C3 23 4381 INC HL - 000063C4 46 4382 LD B,(HL) - 000063C5 3E 01 4383 LD A,BYTE3 ltoa - 000063C7 21 36 49 4384 LD HL,LWRD ltoa - 000063CA CD 19 82 4385 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000063CD F1 4386 POP AF - 000063CE 4387 ?0548: - 000063CE F1 4388 POP AF - 000063CF 4389 ?0270: - 000063CF 4390 ?0268: - 000063CF 4391 ?0263: - 000063CF C3 D0 49 4392 JP LWRD ?0630 - 000063D2 4393 dbGetInt: - 000063D2 FD E5 4394 PUSH IY - 000063D4 DD E5 4395 PUSH IX - 000063D6 C5 4396 PUSH BC - 000063D7 F5 4397 PUSH AF - 000063D8 D5 4398 PUSH DE - 000063D9 DD E1 4399 POP IX - 000063DB 21 04 00 4400 LD HL,4 - 000063DE 19 4401 ADD HL,DE - 000063DF 7E 4402 LD A,(HL) - 000063E0 23 4403 INC HL - 000063E1 66 4404 LD H,(HL) - 000063E2 6F 4405 LD L,A - 000063E3 E5 4406 PUSH HL - 000063E4 FD E1 4407 POP IY - 000063E6 21 00 00 4408 LD HL,0 - 000063E9 39 4409 ADD HL,SP - 000063EA E5 4410 PUSH HL - 000063EB EB 4411 EX DE,HL - 000063EC 5E 4412 LD E,(HL) - 000063ED 23 4413 INC HL - 000063EE 56 4414 LD D,(HL) - 000063EF 3E 00 4415 LD A,BYTE3 dbFieldOffset - 000063F1 21 32 51 4416 LD HL,LWRD dbFieldOffset - 000063F4 CD 19 82 4417 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000063F7 4D 4418 LD C,L - 000063F8 44 4419 LD B,H - 000063F9 E1 4420 POP HL - 000063FA 71 4421 LD (HL),C - 000063FB 23 4422 INC HL - 000063FC 70 4423 LD (HL),B - 000063FD DD 6E 00 4424 LD L,(IX+0) - 00006400 DD 66 01 4425 LD H,(IX+1) - 00006403 23 4426 INC HL - 00006404 23 4427 INC HL - 00006405 46 4428 LD B,(HL) - 00006406 23 4429 INC HL - 00006407 66 4430 LD H,(HL) - 00006408 68 4431 LD L,B - 00006409 E5 4432 PUSH HL - 0000640A 21 04 00 4433 LD HL,4 - 0000640D 39 4434 ADD HL,SP - 0000640E 46 4435 LD B,(HL) - 0000640F 23 4436 INC HL - 00006410 66 4437 LD H,(HL) - 00006411 68 4438 LD L,B - 00006412 29 4439 ADD HL,HL - 00006413 29 4440 ADD HL,HL - 00006414 4D 4441 LD C,L - 00006415 44 4442 LD B,H - 00006416 29 4443 ADD HL,HL - 00006417 09 4444 ADD HL,BC - 00006418 4D 4445 LD C,L - 00006419 44 4446 LD B,H - 0000641A E1 4447 POP HL - 0000641B 09 4448 ADD HL,BC - 0000641C 01 09 00 4449 LD BC,9 - 0000641F 09 4450 ADD HL,BC - 00006420 7E 4451 LD A,(HL) - 00006421 FE 53 4452 CP 83 - 00006423 20 16 4453 JR NZ,?0273 - 00006425 4454 ?0272: - 00006425 68 4455 LD L,B - 00006426 60 4456 LD H,B - 00006427 39 4457 ADD HL,SP - 00006428 46 4458 LD B,(HL) - 00006429 23 4459 INC HL - 0000642A 66 4460 LD H,(HL) - 0000642B 68 4461 LD L,B - 0000642C FD E5 4462 PUSH IY - 0000642E C1 4463 POP BC - 0000642F 09 4464 ADD HL,BC - 00006430 EB 4465 EX DE,HL - 00006431 3E 00 4466 LD A,BYTE3 atoi - 00006433 21 43 7F 4467 LD HL,LWRD atoi - 00006436 CD 19 82 4468 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006439 18 13 4469 JR ?0274 - 0000643B 4470 ?0273: - 0000643B FE 49 4471 CP 73 - 0000643D 68 4472 LD L,B - 0000643E 60 4473 LD H,B - 0000643F 20 0D 4474 JR NZ,?0274 - 00006441 39 4475 ADD HL,SP - 00006442 46 4476 LD B,(HL) - 00006443 23 4477 INC HL - 00006444 66 4478 LD H,(HL) - 00006445 68 4479 LD L,B - 00006446 FD E5 4480 PUSH IY - 00006448 C1 4481 POP BC - 00006449 09 4482 ADD HL,BC - 0000644A 46 4483 LD B,(HL) - 0000644B 23 4484 INC HL - 0000644C 66 4485 LD H,(HL) - 0000644D 68 4486 LD L,B - 0000644E 4487 ?0274: - 0000644E 4488 ?0275: - 0000644E F1 4489 POP AF - 0000644F C3 36 48 4490 JP LWRD ?0626 - 00006452 4491 ?0271: - 00006452 4492 dbGetLong: - 00006452 FD E5 4493 PUSH IY - 00006454 DD E5 4494 PUSH IX - 00006456 DD 21 00 00 4495 LD IX,0 - 0000645A DD 39 4496 ADD IX,SP - 0000645C C5 4497 PUSH BC - 0000645D F5 4498 PUSH AF - 0000645E F5 4499 PUSH AF - 0000645F D5 4500 PUSH DE - 00006460 FD E1 4501 POP IY - 00006462 21 04 00 4502 LD HL,4 - 00006465 19 4503 ADD HL,DE - 00006466 7E 4504 LD A,(HL) - 00006467 DD 77 FA 4505 LD (IX-6),A - 0000646A 23 4506 INC HL - 0000646B 66 4507 LD H,(HL) - 0000646C DD 74 FB 4508 LD (IX-5),H - 0000646F EB 4509 EX DE,HL - 00006470 5E 4510 LD E,(HL) - 00006471 23 4511 INC HL - 00006472 56 4512 LD D,(HL) - 00006473 3E 00 4513 LD A,BYTE3 dbFieldOffset - 00006475 21 32 51 4514 LD HL,LWRD dbFieldOffset - 00006478 CD 19 82 4515 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000647B DD 75 FC 4516 LD (IX-4),L - 0000647E DD 74 FD 4517 LD (IX-3),H - 00006481 FD 6E 00 4518 LD L,(IY+0) - 00006484 FD 66 01 4519 LD H,(IY+1) - 00006487 23 4520 INC HL - 00006488 23 4521 INC HL - 00006489 46 4522 LD B,(HL) - 0000648A 23 4523 INC HL - 0000648B 66 4524 LD H,(HL) - 0000648C 68 4525 LD L,B - 0000648D E5 4526 PUSH HL - 0000648E DD 6E FE 4527 LD L,(IX-2) - 00006491 DD 66 FF 4528 LD H,(IX-1) - 00006494 29 4529 ADD HL,HL - 00006495 29 4530 ADD HL,HL - 00006496 4D 4531 LD C,L - 00006497 44 4532 LD B,H - 00006498 29 4533 ADD HL,HL - 00006499 09 4534 ADD HL,BC - 0000649A 4D 4535 LD C,L - 0000649B 44 4536 LD B,H - 0000649C E1 4537 POP HL - 0000649D 09 4538 ADD HL,BC - 0000649E 01 09 00 4539 LD BC,9 - 000064A1 09 4540 ADD HL,BC - 000064A2 7E 4541 LD A,(HL) - 000064A3 FE 53 4542 CP 83 - 000064A5 20 18 4543 JR NZ,?0278 - 000064A7 4544 ?0277: - 000064A7 DD 6E FC 4545 LD L,(IX-4) - 000064AA DD 66 FD 4546 LD H,(IX-3) - 000064AD DD 4E FA 4547 LD C,(IX-6) - 000064B0 DD 46 FB 4548 LD B,(IX-5) - 000064B3 09 4549 ADD HL,BC - 000064B4 EB 4550 EX DE,HL - 000064B5 3E 01 4551 LD A,BYTE3 atol - 000064B7 21 20 49 4552 LD HL,LWRD atol - 000064BA CD 19 82 4553 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000064BD 18 4F 4554 JR ?0282 - 000064BF 4555 ?0278: - 000064BF FE 49 4556 CP 73 - 000064C1 20 48 4557 JR NZ,?0281 - 000064C3 FD 6E 00 4558 LD L,(IY+0) - 000064C6 FD 66 01 4559 LD H,(IY+1) - 000064C9 23 4560 INC HL - 000064CA 23 4561 INC HL - 000064CB 46 4562 LD B,(HL) - 000064CC 23 4563 INC HL - 000064CD 66 4564 LD H,(HL) - 000064CE 68 4565 LD L,B - 000064CF E5 4566 PUSH HL - 000064D0 DD 6E FE 4567 LD L,(IX-2) - 000064D3 DD 66 FF 4568 LD H,(IX-1) - 000064D6 29 4569 ADD HL,HL - 000064D7 29 4570 ADD HL,HL - 000064D8 4D 4571 LD C,L - 000064D9 44 4572 LD B,H - 000064DA 29 4573 ADD HL,HL - 000064DB 09 4574 ADD HL,BC - 000064DC 4D 4575 LD C,L - 000064DD 44 4576 LD B,H - 000064DE E1 4577 POP HL - 000064DF 09 4578 ADD HL,BC - 000064E0 01 0A 00 4579 LD BC,10 - 000064E3 09 4580 ADD HL,BC - 000064E4 46 4581 LD B,(HL) - 000064E5 05 4582 DEC B - 000064E6 05 4583 DEC B - 000064E7 DD 6E FC 4584 LD L,(IX-4) - 000064EA DD 66 FD 4585 LD H,(IX-3) - 000064ED DD 4E FA 4586 LD C,(IX-6) - 000064F0 DD 46 FB 4587 LD B,(IX-5) - 000064F3 09 4588 ADD HL,BC - 000064F4 20 0B 4589 JR NZ,?0280 - 000064F6 4590 ?0279: - 000064F6 46 4591 LD B,(HL) - 000064F7 23 4592 INC HL - 000064F8 66 4593 LD H,(HL) - 000064F9 7C 4594 LD A,H - 000064FA 68 4595 LD L,B - 000064FB 07 4596 RLCA - 000064FC 9F 4597 SBC A,A - 000064FD 4F 4598 LD C,A - 000064FE 41 4599 LD B,C - 000064FF 18 0D 4600 JR ?0282 - 00006501 4601 ?0280: - 00006501 5E 4602 LD E,(HL) - 00006502 23 4603 INC HL - 00006503 56 4604 LD D,(HL) - 00006504 23 4605 INC HL - 00006505 4E 4606 LD C,(HL) - 00006506 23 4607 INC HL - 00006507 46 4608 LD B,(HL) - 00006508 EB 4609 EX DE,HL - 00006509 18 03 4610 JR ?0282 - 0000650B 4611 ?0281: - 0000650B 48 4612 LD C,B - 0000650C 69 4613 LD L,C - 0000650D 60 4614 LD H,B - 0000650E 4615 ?0282: - 0000650E C3 D0 49 4616 JP LWRD ?0630 - 00006511 4617 ?0276: - 00006511 4618 dbOperatorPrecedence: - 00006511 D5 4619 PUSH DE - 00006512 CD E2 81 4620 CALL LWRD ?C_V_SWITCH_L06 - 00006515 10 00 4621 DEFW 16 - 00006517 00 4622 DEFB 0 - 00006518 26 4623 DEFB 38 - 00006519 28 4624 DEFB 40 - 0000651A 29 4625 DEFB 41 - 0000651B 2A 4626 DEFB 42 - 0000651C 2B 4627 DEFB 43 - 0000651D 2D 4628 DEFB 45 - 0000651E 2F 4629 DEFB 47 - 0000651F 3B 4630 DEFB 59 - 00006520 3C 4631 DEFB 60 - 00006521 3D 4632 DEFB 61 - 00006522 3E 4633 DEFB 62 - 00006523 5B 4634 DEFB 91 - 00006524 5D 4635 DEFB 93 - 00006525 5E 4636 DEFB 94 - 00006526 7C 4637 DEFB 124 - 00006527 65 65 4638 DEFW ?0291 - 00006529 5D 65 4639 DEFW ?0289 - 0000652B 4D 65 4640 DEFW ?0285 - 0000652D 59 65 4641 DEFW ?0288 - 0000652F 59 65 4642 DEFW ?0288 - 00006531 59 65 4643 DEFW ?0288 - 00006533 59 65 4644 DEFW ?0288 - 00006535 59 65 4645 DEFW ?0288 - 00006537 61 65 4646 DEFW ?0290 - 00006539 51 65 4647 DEFW ?0286 - 0000653B 55 65 4648 DEFW ?0287 - 0000653D 55 65 4649 DEFW ?0287 - 0000653F 51 65 4650 DEFW ?0286 - 00006541 61 65 4651 DEFW ?0290 - 00006543 49 65 4652 DEFW ?0284 - 00006545 5D 65 4653 DEFW ?0289 - 00006547 61 65 4654 DEFW ?0290 - 00006549 4655 ?0284: - 00006549 2E 01 4656 LD L,1 - 0000654B 18 1A 4657 JR ?0292 - 0000654D 4658 ?0285: - 0000654D 2E 02 4659 LD L,2 - 0000654F 18 16 4660 JR ?0292 - 00006551 4661 ?0286: - 00006551 2E 03 4662 LD L,3 - 00006553 18 12 4663 JR ?0292 - 00006555 4664 ?0287: - 00006555 2E 04 4665 LD L,4 - 00006557 18 0E 4666 JR ?0292 - 00006559 4667 ?0288: - 00006559 2E 05 4668 LD L,5 - 0000655B 18 0A 4669 JR ?0292 - 0000655D 4670 ?0289: - 0000655D 2E 06 4671 LD L,6 - 0000655F 18 06 4672 JR ?0292 - 00006561 4673 ?0290: - 00006561 2E 3F 4674 LD L,63 - 00006563 18 02 4675 JR ?0292 - 00006565 4676 ?0291: - 00006565 2E 00 4677 LD L,0 - 00006567 4678 ?0292: - 00006567 F1 4679 POP AF - 00006568 C3 A9 81 4680 JP LWRD ?BANK_FAST_LEAVE_L08 - 0000656B 4681 ?0283: - 0000656B 4682 dbNewExpression: - 0000656B DD E5 4683 PUSH IX - 0000656D C5 4684 PUSH BC - 0000656E D5 4685 PUSH DE - 0000656F 11 4E 00 4686 LD DE,78 - 00006572 CD E4 49 4687 CALL LWRD ?0641 - 00006575 E5 4688 PUSH HL - 00006576 DD E1 4689 POP IX - 00006578 23 4690 INC HL - 00006579 23 4691 INC HL - 0000657A 23 4692 INC HL - 0000657B 36 00 4693 LD (HL),0 - 0000657D AF 4694 XOR A - 0000657E DD 77 48 4695 LD (IX+72),A - 00006581 DD 77 49 4696 LD (IX+73),A - 00006584 DD 77 4A 4697 LD (IX+74),A - 00006587 DD 77 4B 4698 LD (IX+75),A - 0000658A DD 77 02 4699 LD (IX+2),A - 0000658D 6F 4700 LD L,A - 0000658E 67 4701 LD H,A - 0000658F 39 4702 ADD HL,SP - 00006590 46 4703 LD B,(HL) - 00006591 DD 70 4C 4704 LD (IX+76),B - 00006594 23 4705 INC HL - 00006595 66 4706 LD H,(HL) - 00006596 DD 74 4D 4707 LD (IX+77),H - 00006599 DD 71 00 4708 LD (IX+0),C - 0000659C DD 77 24 4709 LD (IX+36),A - 0000659F DD 77 25 4710 LD (IX+37),A - 000065A2 DD 77 26 4711 LD (IX+38),A - 000065A5 DD 77 27 4712 LD (IX+39),A - 000065A8 DD E5 4713 PUSH IX - 000065AA E1 4714 POP HL - 000065AB F1 4715 POP AF - 000065AC F1 4716 POP AF - 000065AD DD E1 4717 POP IX - 000065AF C3 A9 81 4718 JP LWRD ?BANK_FAST_LEAVE_L08 - 000065B2 4719 dbParseExpression: - 000065B2 FD E5 4720 PUSH IY - 000065B4 DD E5 4721 PUSH IX - 000065B6 DD 21 00 00 4722 LD IX,0 - 000065BA DD 39 4723 ADD IX,SP - 000065BC C5 4724 PUSH BC - 000065BD D5 4725 PUSH DE - 000065BE 21 B2 FF 4726 LD HL,65458 - 000065C1 39 4727 ADD HL,SP - 000065C2 F9 4728 LD SP,HL - 000065C3 AF 4729 XOR A - 000065C4 DD 77 F8 4730 LD (IX-8),A - 000065C7 DD 77 F9 4731 LD (IX-7),A - 000065CA 7B 4732 LD A,E - 000065CB B2 4733 OR D - 000065CC 20 24 4734 JR NZ,?0294 - 000065CE 4735 ?0293: - 000065CE 0E 01 4736 LD C,1 - 000065D0 5F 4737 LD E,A - 000065D1 57 4738 LD D,A - 000065D2 CD B4 69 4739 CALL LWRD ?0666 - 000065D5 DD 75 AE 4740 LD (IX-82),L - 000065D8 DD 74 AF 4741 LD (IX-81),H - 000065DB 01 04 00 4742 LD BC,4 - 000065DE 09 4743 ADD HL,BC - 000065DF 36 31 4744 LD (HL),49 - 000065E1 21 05 00 4745 LD HL,5 - 000065E4 DD 4E AE 4746 LD C,(IX-82) - 000065E7 DD 46 AF 4747 LD B,(IX-81) - 000065EA 09 4748 ADD HL,BC - 000065EB 36 00 4749 LD (HL),0 - 000065ED 69 4750 LD L,C - 000065EE 60 4751 LD H,B - 000065EF C3 AC 69 4752 JP LWRD ?0356 - 000065F2 4753 ?0294: - 000065F2 AF 4754 XOR A - 000065F3 DD 77 F6 4755 LD (IX-10),A - 000065F6 DD 77 F7 4756 LD (IX-9),A - 000065F9 4757 ?0296: - 000065F9 01 40 80 4758 LD BC,32832 - 000065FC DD 6E F6 4759 LD L,(IX-10) - 000065FF DD 66 F7 4760 LD H,(IX-9) - 00006602 78 4761 LD A,B - 00006603 AC 4762 XOR H - 00006604 67 4763 LD H,A - 00006605 ED 42 4764 SBC HL,BC - 00006607 30 16 4765 JR NC,?0295 - 00006609 4766 ?0297: - 00006609 21 06 00 4767 LD HL,6 - 0000660C 39 4768 ADD HL,SP - 0000660D DD 4E F6 4769 LD C,(IX-10) - 00006610 DD 46 F7 4770 LD B,(IX-9) - 00006613 09 4771 ADD HL,BC - 00006614 36 00 4772 LD (HL),0 - 00006616 03 4773 INC BC - 00006617 DD 71 F6 4774 LD (IX-10),C - 0000661A DD 70 F7 4775 LD (IX-9),B - 0000661D 18 DA 4776 JR ?0296 - 0000661F 4777 ?0295: - 0000661F 0E 03 4778 LD C,3 - 00006621 11 00 00 4779 LD DE,0 - 00006624 CD B4 69 4780 CALL LWRD ?0666 - 00006627 DD 75 AE 4781 LD (IX-82),L - 0000662A DD 74 AF 4782 LD (IX-81),H - 0000662D E5 4783 PUSH HL - 0000662E FD E1 4784 POP IY - 00006630 4785 ?0301: - 00006630 AF 4786 XOR A - 00006631 DD 77 B2 4787 LD (IX-78),A - 00006634 DD 77 B3 4788 LD (IX-77),A - 00006637 4789 ?0302: - 00006637 DD 6E FE 4790 LD L,(IX-2) - 0000663A DD 66 FF 4791 LD H,(IX-1) - 0000663D 46 4792 LD B,(HL) - 0000663E 23 4793 INC HL - 0000663F 66 4794 LD H,(HL) - 00006640 68 4795 LD L,B - 00006641 DD 4E FC 4796 LD C,(IX-4) - 00006644 DD 46 FD 4797 LD B,(IX-3) - 00006647 09 4798 ADD HL,BC - 00006648 5E 4799 LD E,(HL) - 00006649 3E 00 4800 LD A,BYTE3 dbOperatorPrecedence - 0000664B 21 11 65 4801 LD HL,LWRD dbOperatorPrecedence - 0000664E CD 19 82 4802 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006651 26 00 4803 LD H,0 - 00006653 DD 75 F4 4804 LD (IX-12),L - 00006656 DD 74 F5 4805 LD (IX-11),H - 00006659 7D 4806 LD A,L - 0000665A B7 4807 OR A - 0000665B 20 1E 4808 JR NZ,?0304 - 0000665D 4809 ?0303: - 0000665D DD 6E FE 4810 LD L,(IX-2) - 00006660 DD 66 FF 4811 LD H,(IX-1) - 00006663 46 4812 LD B,(HL) - 00006664 23 4813 INC HL - 00006665 66 4814 LD H,(HL) - 00006666 68 4815 LD L,B - 00006667 DD 46 FD 4816 LD B,(IX-3) - 0000666A 09 4817 ADD HL,BC - 0000666B 46 4818 LD B,(HL) - 0000666C 21 06 00 4819 LD HL,6 - 0000666F 39 4820 ADD HL,SP - 00006670 DD 5E F8 4821 LD E,(IX-8) - 00006673 DD 56 F9 4822 LD D,(IX-7) - 00006676 19 4823 ADD HL,DE - 00006677 70 4824 LD (HL),B - 00006678 C3 58 69 4825 JP LWRD ?0312 - 0000667B 4826 ?0304: - 0000667B 3E 01 4827 LD A,1 - 0000667D AD 4828 XOR L - 0000667E 20 5E 4829 JR NZ,?0307 - 00006680 4830 ?0306: - 00006680 DD 6E FE 4831 LD L,(IX-2) - 00006683 DD 66 FF 4832 LD H,(IX-1) - 00006686 46 4833 LD B,(HL) - 00006687 23 4834 INC HL - 00006688 66 4835 LD H,(HL) - 00006689 68 4836 LD L,B - 0000668A DD 46 FD 4837 LD B,(IX-3) - 0000668D 09 4838 ADD HL,BC - 0000668E 7E 4839 LD A,(HL) - 0000668F FE 29 4840 CP 41 - 00006691 20 08 4841 JR NZ,?0309 - 00006693 4842 ?0308: - 00006693 DD 36 F4 3F 4843 LD (IX-12),63 - 00006697 DD 36 F5 00 4844 LD (IX-11),0 - 0000669B 4845 ?0309: - 0000669B DD 6E FE 4846 LD L,(IX-2) - 0000669E DD 66 FF 4847 LD H,(IX-1) - 000066A1 46 4848 LD B,(HL) - 000066A2 23 4849 INC HL - 000066A3 66 4850 LD H,(HL) - 000066A4 68 4851 LD L,B - 000066A5 DD 46 FD 4852 LD B,(IX-3) - 000066A8 09 4853 ADD HL,BC - 000066A9 7E 4854 LD A,(HL) - 000066AA FE 28 4855 CP 40 - 000066AC C2 58 69 4856 JP NZ,?0312 - 000066AF 4857 ?0310: - 000066AF DD 6E FE 4858 LD L,(IX-2) - 000066B2 DD 66 FF 4859 LD H,(IX-1) - 000066B5 34 4860 INC (HL) - 000066B6 23 4861 INC HL - 000066B7 20 01 4862 JR NZ,?0549 - 000066B9 34 4863 INC (HL) - 000066BA 4864 ?0549: - 000066BA DD 4E FE 4865 LD C,(IX-2) - 000066BD DD 46 FF 4866 LD B,(IX-1) - 000066C0 DD 5E FC 4867 LD E,(IX-4) - 000066C3 DD 56 FD 4868 LD D,(IX-3) - 000066C6 3E 00 4869 LD A,BYTE3 dbParseExpression - 000066C8 21 B2 65 4870 LD HL,LWRD dbParseExpression - 000066CB CD 19 82 4871 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000066CE DD 75 B2 4872 LD (IX-78),L - 000066D1 DD 74 B3 4873 LD (IX-77),H - 000066D4 AF 4874 XOR A - 000066D5 DD 77 F8 4875 LD (IX-8),A - 000066D8 DD 77 F9 4876 LD (IX-7),A - 000066DB C3 37 66 4877 JP LWRD ?0302 - 000066DE 4878 ?0311: - 000066DE 4879 ?0307: - 000066DE 2E 06 4880 LD L,6 - 000066E0 39 4881 ADD HL,SP - 000066E1 DD 4E F8 4882 LD C,(IX-8) - 000066E4 DD 46 F9 4883 LD B,(IX-7) - 000066E7 09 4884 ADD HL,BC - 000066E8 36 00 4885 LD (HL),0 - 000066EA FD 7E 48 4886 LD A,(IY+72) - 000066ED FD B6 49 4887 OR (IY+73) - 000066F0 20 46 4888 JR NZ,?0314 - 000066F2 4889 ?0313: - 000066F2 DD 7E B2 4890 LD A,(IX-78) - 000066F5 DD B6 B3 4891 OR (IX-77) - 000066F8 20 1A 4892 JR NZ,?0316 - 000066FA 4893 ?0315: - 000066FA CD AF 69 4894 CALL LWRD ?0667 - 000066FD FD 75 48 4895 LD (IY+72),L - 00006700 FD 74 49 4896 LD (IY+73),H - 00006703 21 06 00 4897 LD HL,6 - 00006706 39 4898 ADD HL,SP - 00006707 4D 4899 LD C,L - 00006708 44 4900 LD B,H - 00006709 FD 6E 48 4901 LD L,(IY+72) - 0000670C FD 66 49 4902 LD H,(IY+73) - 0000670F CD FD 49 4903 CALL LWRD ?0654 - 00006712 18 0C 4904 JR ?0317 - 00006714 4905 ?0316: - 00006714 DD 6E B2 4906 LD L,(IX-78) - 00006717 FD 75 48 4907 LD (IY+72),L - 0000671A DD 66 B3 4908 LD H,(IX-77) - 0000671D FD 74 49 4909 LD (IY+73),H - 00006720 4910 ?0317: - 00006720 DD 6E FE 4911 LD L,(IX-2) - 00006723 DD 66 FF 4912 LD H,(IX-1) - 00006726 46 4913 LD B,(HL) - 00006727 23 4914 INC HL - 00006728 66 4915 LD H,(HL) - 00006729 68 4916 LD L,B - 0000672A DD 4E FC 4917 LD C,(IX-4) - 0000672D DD 46 FD 4918 LD B,(IX-3) - 00006730 09 4919 ADD HL,BC - 00006731 46 4920 LD B,(HL) - 00006732 FD 70 02 4921 LD (IY+2),B - 00006735 C3 50 69 4922 JP LWRD ?0350 - 00006738 4923 ?0314: - 00006738 CD BC 69 4924 CALL LWRD ?0669 - 0000673B E2 3F 67 4925 JP PO,?0550 - 0000673E AC 4926 XOR H - 0000673F 4927 ?0550: - 0000673F F2 B9 67 4928 JP P,?0320 - 00006742 4929 ?0319: - 00006742 0E 03 4930 LD C,3 - 00006744 CD B1 69 4931 CALL LWRD ?0668 - 00006747 FD 75 4A 4932 LD (IY+74),L - 0000674A FD 74 4B 4933 LD (IY+75),H - 0000674D DD 7E B2 4934 LD A,(IX-78) - 00006750 DD B6 B3 4935 OR (IX-77) - 00006753 FD 6E 4A 4936 LD L,(IY+74) - 00006756 FD 66 4B 4937 LD H,(IY+75) - 00006759 01 48 00 4938 LD BC,72 - 0000675C 09 4939 ADD HL,BC - 0000675D 20 2B 4940 JR NZ,?0322 - 0000675F 4941 ?0321: - 0000675F E5 4942 PUSH HL - 00006760 0E 01 4943 LD C,1 - 00006762 FD 5E 4A 4944 LD E,(IY+74) - 00006765 FD 56 4B 4945 LD D,(IY+75) - 00006768 CD B4 69 4946 CALL LWRD ?0666 - 0000676B 4D 4947 LD C,L - 0000676C 44 4948 LD B,H - 0000676D E1 4949 POP HL - 0000676E 71 4950 LD (HL),C - 0000676F 23 4951 INC HL - 00006770 70 4952 LD (HL),B - 00006771 21 06 00 4953 LD HL,6 - 00006774 39 4954 ADD HL,SP - 00006775 4D 4955 LD C,L - 00006776 44 4956 LD B,H - 00006777 FD 6E 4A 4957 LD L,(IY+74) - 0000677A FD 66 4B 4958 LD H,(IY+75) - 0000677D 11 48 00 4959 LD DE,72 - 00006780 19 4960 ADD HL,DE - 00006781 56 4961 LD D,(HL) - 00006782 23 4962 INC HL - 00006783 66 4963 LD H,(HL) - 00006784 6A 4964 LD L,D - 00006785 CD FD 49 4965 CALL LWRD ?0654 - 00006788 18 09 4966 JR ?0323 - 0000678A 4967 ?0322: - 0000678A DD 4E B2 4968 LD C,(IX-78) - 0000678D 71 4969 LD (HL),C - 0000678E DD 46 B3 4970 LD B,(IX-77) - 00006791 23 4971 INC HL - 00006792 70 4972 LD (HL),B - 00006793 4973 ?0323: - 00006793 FD 6E 4A 4974 LD L,(IY+74) - 00006796 FD 66 4B 4975 LD H,(IY+75) - 00006799 23 4976 INC HL - 0000679A 23 4977 INC HL - 0000679B E5 4978 PUSH HL - 0000679C DD 6E FE 4979 LD L,(IX-2) - 0000679F DD 66 FF 4980 LD H,(IX-1) - 000067A2 46 4981 LD B,(HL) - 000067A3 23 4982 INC HL - 000067A4 66 4983 LD H,(HL) - 000067A5 68 4984 LD L,B - 000067A6 DD 4E FC 4985 LD C,(IX-4) - 000067A9 DD 46 FD 4986 LD B,(IX-3) - 000067AC 09 4987 ADD HL,BC - 000067AD 46 4988 LD B,(HL) - 000067AE E1 4989 POP HL - 000067AF 70 4990 LD (HL),B - 000067B0 FD 6E 4A 4991 LD L,(IY+74) - 000067B3 FD 66 4B 4992 LD H,(IY+75) - 000067B6 C3 4D 69 4993 JP LWRD ?0557 - 000067B9 4994 ?0320: - 000067B9 3E 3F 4995 LD A,63 - 000067BB DD AE F4 4996 XOR (IX-12) - 000067BE DD B6 F5 4997 OR (IX-11) - 000067C1 20 2A 4998 JR NZ,?0326 - 000067C3 4999 ?0325: - 000067C3 DD 7E B2 5000 LD A,(IX-78) - 000067C6 DD B6 B3 5001 OR (IX-77) - 000067C9 20 13 5002 JR NZ,?0328 - 000067CB 5003 ?0327: - 000067CB CD AF 69 5004 CALL LWRD ?0667 - 000067CE FD 75 4A 5005 LD (IY+74),L - 000067D1 FD 74 4B 5006 LD (IY+75),H - 000067D4 21 06 00 5007 LD HL,6 - 000067D7 39 5008 ADD HL,SP - 000067D8 CD F5 49 5009 CALL LWRD ?0655 - 000067DB C3 50 69 5010 JP LWRD ?0350 - 000067DE 5011 ?0328: - 000067DE DD 6E B2 5012 LD L,(IX-78) - 000067E1 FD 75 4A 5013 LD (IY+74),L - 000067E4 DD 66 B3 5014 LD H,(IX-77) - 000067E7 FD 74 4B 5015 LD (IY+75),H - 000067EA 5016 ?0329: - 000067EA C3 50 69 5017 JP LWRD ?0350 - 000067ED 5018 ?0326: - 000067ED CD D5 69 5019 CALL LWRD ?0670 - 000067F0 E2 F4 67 5020 JP PO,?0551 - 000067F3 AC 5021 XOR H - 000067F4 5022 ?0551: - 000067F4 FA 50 69 5023 JP M,?0350 - 000067F7 5024 ?0331: - 000067F7 DD 7E B2 5025 LD A,(IX-78) - 000067FA DD B6 B3 5026 OR (IX-77) - 000067FD 20 12 5027 JR NZ,?0334 - 000067FF 5028 ?0333: - 000067FF CD AF 69 5029 CALL LWRD ?0667 - 00006802 FD 75 4A 5030 LD (IY+74),L - 00006805 FD 74 4B 5031 LD (IY+75),H - 00006808 21 06 00 5032 LD HL,6 - 0000680B 39 5033 ADD HL,SP - 0000680C CD F5 49 5034 CALL LWRD ?0655 - 0000680F 18 0C 5035 JR ?0335 - 00006811 5036 ?0334: - 00006811 DD 6E B2 5037 LD L,(IX-78) - 00006814 FD 75 4A 5038 LD (IY+74),L - 00006817 DD 66 B3 5039 LD H,(IX-77) - 0000681A FD 74 4B 5040 LD (IY+75),H - 0000681D 5041 ?0335: - 0000681D 5042 ?0337: - 0000681D CD BC 69 5043 CALL LWRD ?0669 - 00006820 E2 24 68 5044 JP PO,?0552 - 00006823 AC 5045 XOR H - 00006824 5046 ?0552: - 00006824 FA 3A 68 5047 JP M,?0336 - 00006827 FD 7E 4C 5048 LD A,(IY+76) - 0000682A FD B6 4D 5049 OR (IY+77) - 0000682D 28 0B 5050 JR Z,?0336 - 0000682F 5051 ?0340: - 0000682F 5052 ?0339: - 0000682F 5053 ?0338: - 0000682F FD 6E 4C 5054 LD L,(IY+76) - 00006832 FD 66 4D 5055 LD H,(IY+77) - 00006835 E5 5056 PUSH HL - 00006836 FD E1 5057 POP IY - 00006838 18 E3 5058 JR ?0335 - 0000683A 5059 ?0336: - 0000683A FD 7E 4C 5060 LD A,(IY+76) - 0000683D FD B6 4D 5061 OR (IY+77) - 00006840 20 41 5062 JR NZ,?0342 - 00006842 CD D5 69 5063 CALL LWRD ?0670 - 00006845 E2 49 68 5064 JP PO,?0553 - 00006848 AC 5065 XOR H - 00006849 5066 ?0553: - 00006849 FA 83 68 5067 JP M,?0342 - 0000684C 5068 ?0344: - 0000684C 5069 ?0343: - 0000684C 5070 ?0341: - 0000684C 0E 03 5071 LD C,3 - 0000684E 58 5072 LD E,B - 0000684F 50 5073 LD D,B - 00006850 CD B4 69 5074 CALL LWRD ?0666 - 00006853 DD 75 AE 5075 LD (IX-82),L - 00006856 DD 74 AF 5076 LD (IX-81),H - 00006859 01 48 00 5077 LD BC,72 - 0000685C 09 5078 ADD HL,BC - 0000685D FD E5 5079 PUSH IY - 0000685F C1 5080 POP BC - 00006860 71 5081 LD (HL),C - 00006861 23 5082 INC HL - 00006862 70 5083 LD (HL),B - 00006863 DD 6E FE 5084 LD L,(IX-2) - 00006866 DD 66 FF 5085 LD H,(IX-1) - 00006869 56 5086 LD D,(HL) - 0000686A 23 5087 INC HL - 0000686B 66 5088 LD H,(HL) - 0000686C 6A 5089 LD L,D - 0000686D DD 5E FC 5090 LD E,(IX-4) - 00006870 DD 56 FD 5091 LD D,(IX-3) - 00006873 19 5092 ADD HL,DE - 00006874 56 5093 LD D,(HL) - 00006875 DD 6E AE 5094 LD L,(IX-82) - 00006878 DD 66 AF 5095 LD H,(IX-81) - 0000687B 23 5096 INC HL - 0000687C 23 5097 INC HL - 0000687D 72 5098 LD (HL),D - 0000687E 2B 5099 DEC HL - 0000687F 2B 5100 DEC HL - 00006880 C3 4D 69 5101 JP LWRD ?0557 - 00006883 5102 ?0342: - 00006883 FD 7E 4C 5103 LD A,(IY+76) - 00006886 FD B6 4D 5104 OR (IY+77) - 00006889 20 5C 5105 JR NZ,?0347 - 0000688B CD D5 69 5106 CALL LWRD ?0670 - 0000688E E2 92 68 5107 JP PO,?0554 - 00006891 AC 5108 XOR H - 00006892 5109 ?0554: - 00006892 F2 E7 68 5110 JP P,?0347 - 00006895 5111 ?0349: - 00006895 5112 ?0348: - 00006895 5113 ?0346: - 00006895 0E 03 5114 LD C,3 - 00006897 CD B1 69 5115 CALL LWRD ?0668 - 0000689A DD 75 FA 5116 LD (IX-6),L - 0000689D DD 74 FB 5117 LD (IX-5),H - 000068A0 01 48 00 5118 LD BC,72 - 000068A3 09 5119 ADD HL,BC - 000068A4 FD 4E 4A 5120 LD C,(IY+74) - 000068A7 71 5121 LD (HL),C - 000068A8 FD 46 4B 5122 LD B,(IY+75) - 000068AB 23 5123 INC HL - 000068AC 70 5124 LD (HL),B - 000068AD DD 6E FE 5125 LD L,(IX-2) - 000068B0 DD 66 FF 5126 LD H,(IX-1) - 000068B3 46 5127 LD B,(HL) - 000068B4 23 5128 INC HL - 000068B5 66 5129 LD H,(HL) - 000068B6 68 5130 LD L,B - 000068B7 DD 4E FC 5131 LD C,(IX-4) - 000068BA DD 46 FD 5132 LD B,(IX-3) - 000068BD 09 5133 ADD HL,BC - 000068BE 46 5134 LD B,(HL) - 000068BF DD 6E FA 5135 LD L,(IX-6) - 000068C2 DD 66 FB 5136 LD H,(IX-5) - 000068C5 23 5137 INC HL - 000068C6 23 5138 INC HL - 000068C7 70 5139 LD (HL),B - 000068C8 21 48 00 5140 LD HL,72 - 000068CB DD 4E FA 5141 LD C,(IX-6) - 000068CE DD 46 FB 5142 LD B,(IX-5) - 000068D1 09 5143 ADD HL,BC - 000068D2 56 5144 LD D,(HL) - 000068D3 23 5145 INC HL - 000068D4 66 5146 LD H,(HL) - 000068D5 6A 5147 LD L,D - 000068D6 11 4C 00 5148 LD DE,76 - 000068D9 19 5149 ADD HL,DE - 000068DA 71 5150 LD (HL),C - 000068DB 23 5151 INC HL - 000068DC 70 5152 LD (HL),B - 000068DD FD 71 4A 5153 LD (IY+74),C - 000068E0 FD 70 4B 5154 LD (IY+75),B - 000068E3 69 5155 LD L,C - 000068E4 60 5156 LD H,B - 000068E5 18 66 5157 JR ?0557 - 000068E7 5158 ?0347: - 000068E7 FD 6E 4C 5159 LD L,(IY+76) - 000068EA DD 75 FA 5160 LD (IX-6),L - 000068ED FD 66 4D 5161 LD H,(IY+77) - 000068F0 DD 74 FB 5162 LD (IX-5),H - 000068F3 0E 4A 5163 LD C,74 - 000068F5 09 5164 ADD HL,BC - 000068F6 E5 5165 PUSH HL - 000068F7 0E 03 5166 LD C,3 - 000068F9 DD 5E FA 5167 LD E,(IX-6) - 000068FC DD 56 FB 5168 LD D,(IX-5) - 000068FF CD B4 69 5169 CALL LWRD ?0666 - 00006902 4D 5170 LD C,L - 00006903 44 5171 LD B,H - 00006904 E1 5172 POP HL - 00006905 71 5173 LD (HL),C - 00006906 23 5174 INC HL - 00006907 70 5175 LD (HL),B - 00006908 21 4A 00 5176 LD HL,74 - 0000690B DD 4E FA 5177 LD C,(IX-6) - 0000690E DD 46 FB 5178 LD B,(IX-5) - 00006911 09 5179 ADD HL,BC - 00006912 56 5180 LD D,(HL) - 00006913 23 5181 INC HL - 00006914 66 5182 LD H,(HL) - 00006915 6A 5183 LD L,D - 00006916 11 48 00 5184 LD DE,72 - 00006919 19 5185 ADD HL,DE - 0000691A FD E5 5186 PUSH IY - 0000691C D1 5187 POP DE - 0000691D 73 5188 LD (HL),E - 0000691E 23 5189 INC HL - 0000691F 72 5190 LD (HL),D - 00006920 21 4A 00 5191 LD HL,74 - 00006923 09 5192 ADD HL,BC - 00006924 7E 5193 LD A,(HL) - 00006925 23 5194 INC HL - 00006926 66 5195 LD H,(HL) - 00006927 6F 5196 LD L,A - 00006928 23 5197 INC HL - 00006929 23 5198 INC HL - 0000692A E5 5199 PUSH HL - 0000692B DD 6E FE 5200 LD L,(IX-2) - 0000692E DD 66 FF 5201 LD H,(IX-1) - 00006931 7E 5202 LD A,(HL) - 00006932 23 5203 INC HL - 00006933 66 5204 LD H,(HL) - 00006934 6F 5205 LD L,A - 00006935 DD 4E FC 5206 LD C,(IX-4) - 00006938 DD 46 FD 5207 LD B,(IX-3) - 0000693B 09 5208 ADD HL,BC - 0000693C 46 5209 LD B,(HL) - 0000693D E1 5210 POP HL - 0000693E 70 5211 LD (HL),B - 0000693F 21 4A 00 5212 LD HL,74 - 00006942 DD 4E FA 5213 LD C,(IX-6) - 00006945 DD 46 FB 5214 LD B,(IX-5) - 00006948 09 5215 ADD HL,BC - 00006949 46 5216 LD B,(HL) - 0000694A 23 5217 INC HL - 0000694B 66 5218 LD H,(HL) - 0000694C 68 5219 LD L,B - 0000694D 5220 ?0557: - 0000694D E5 5221 PUSH HL - 0000694E FD E1 5222 POP IY - 00006950 5223 ?0350: - 00006950 5224 ?0345: - 00006950 5225 ?0332: - 00006950 5226 ?0330: - 00006950 5227 ?0324: - 00006950 5228 ?0318: - 00006950 DD 36 F8 FF 5229 LD (IX-8),255 - 00006954 DD 36 F9 FF 5230 LD (IX-7),255 - 00006958 5231 ?0312: - 00006958 5232 ?0305: - 00006958 DD 34 F8 5233 INC (IX-8) - 0000695B 20 03 5234 JR NZ,?0555 - 0000695D DD 34 F9 5235 INC (IX-7) - 00006960 5236 ?0555: - 00006960 DD 6E FE 5237 LD L,(IX-2) - 00006963 DD 66 FF 5238 LD H,(IX-1) - 00006966 34 5239 INC (HL) - 00006967 23 5240 INC HL - 00006968 20 01 5241 JR NZ,?0556 - 0000696A 34 5242 INC (HL) - 0000696B 5243 ?0556: - 0000696B 01 3F 80 5244 LD BC,32831 - 0000696E DD 6E F4 5245 LD L,(IX-12) - 00006971 DD 66 F5 5246 LD H,(IX-11) - 00006974 78 5247 LD A,B - 00006975 AC 5248 XOR H - 00006976 67 5249 LD H,A - 00006977 ED 42 5250 SBC HL,BC - 00006979 DA 30 66 5251 JP C,?0301 - 0000697C 5252 ?0299: - 0000697C 5253 ?0352: - 0000697C 21 4A 00 5254 LD HL,74 - 0000697F DD 4E AE 5255 LD C,(IX-82) - 00006982 DD 46 AF 5256 LD B,(IX-81) - 00006985 09 5257 ADD HL,BC - 00006986 7E 5258 LD A,(HL) - 00006987 23 5259 INC HL - 00006988 B6 5260 OR (HL) - 00006989 20 1F 5261 JR NZ,?0351 - 0000698B 69 5262 LD L,C - 0000698C 60 5263 LD H,B - 0000698D 7E 5264 LD A,(HL) - 0000698E FE 03 5265 CP 3 - 00006990 20 18 5266 JR NZ,?0351 - 00006992 5267 ?0355: - 00006992 5268 ?0354: - 00006992 5269 ?0353: - 00006992 E5 5270 PUSH HL - 00006993 FD E1 5271 POP IY - 00006995 21 48 00 5272 LD HL,72 - 00006998 09 5273 ADD HL,BC - 00006999 56 5274 LD D,(HL) - 0000699A DD 72 AE 5275 LD (IX-82),D - 0000699D 23 5276 INC HL - 0000699E 66 5277 LD H,(HL) - 0000699F DD 74 AF 5278 LD (IX-81),H - 000069A2 FD E5 5279 PUSH IY - 000069A4 D1 5280 POP DE - 000069A5 CD 90 45 5281 CALL LWRD ?0639 - 000069A8 18 D2 5282 JR ?0299 - 000069AA 5283 ?0351: - 000069AA 69 5284 LD L,C - 000069AB 60 5285 LD H,B - 000069AC 5286 ?0356: - 000069AC C3 D0 49 5287 JP LWRD ?0630 - 000069AF 5288 ?0667: - 000069AF 0E 01 5289 LD C,1 - 000069B1 5290 ?0668: - 000069B1 FD E5 5291 PUSH IY - 000069B3 D1 5292 POP DE - 000069B4 5293 ?0666: - 000069B4 3E 00 5294 LD A,BYTE3 dbNewExpression - 000069B6 21 6B 65 5295 LD HL,LWRD dbNewExpression - 000069B9 C3 19 82 5296 JP LWRD ?BANK_CALL_DIRECT_L08 - 000069BC 5297 ?0669: - 000069BC FD 5E 02 5298 LD E,(IY+2) - 000069BF 3E 00 5299 LD A,BYTE3 dbOperatorPrecedence - 000069C1 21 11 65 5300 LD HL,LWRD dbOperatorPrecedence - 000069C4 CD 19 82 5301 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000069C7 4D 5302 LD C,L - 000069C8 06 00 5303 LD B,0 - 000069CA DD 6E F4 5304 LD L,(IX-12) - 000069CD DD 66 F5 5305 LD H,(IX-11) - 000069D0 F6 80 5306 OR 128 - 000069D2 ED 42 5307 SBC HL,BC - 000069D4 C9 5308 RET - 000069D5 5309 ?0670: - 000069D5 FD 5E 02 5310 LD E,(IY+2) - 000069D8 3E 00 5311 LD A,BYTE3 dbOperatorPrecedence - 000069DA 21 11 65 5312 LD HL,LWRD dbOperatorPrecedence - 000069DD CD 19 82 5313 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000069E0 4D 5314 LD C,L - 000069E1 DD 6E F4 5315 LD L,(IX-12) - 000069E4 DD 66 F5 5316 LD H,(IX-11) - 000069E7 F6 80 5317 OR 128 - 000069E9 ED 42 5318 SBC HL,BC - 000069EB C9 5319 RET - 000069EC 5320 dbDeleteExpression: - 000069EC DD E5 5321 PUSH IX - 000069EE D5 5322 PUSH DE - 000069EF DD E1 5323 POP IX - 000069F1 1A 5324 LD A,(DE) - 000069F2 FE 03 5325 CP 3 - 000069F4 20 1C 5326 JR NZ,?0358 - 000069F6 5327 ?0357: - 000069F6 DD 5E 48 5328 LD E,(IX+72) - 000069F9 DD 56 49 5329 LD D,(IX+73) - 000069FC 3E 00 5330 LD A,BYTE3 dbDeleteExpression - 000069FE 21 EC 69 5331 LD HL,LWRD dbDeleteExpression - 00006A01 CD 19 82 5332 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006A04 DD 5E 4A 5333 LD E,(IX+74) - 00006A07 DD 56 4B 5334 LD D,(IX+75) - 00006A0A 3E 00 5335 LD A,BYTE3 dbDeleteExpression - 00006A0C 21 EC 69 5336 LD HL,LWRD dbDeleteExpression - 00006A0F CD 19 82 5337 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006A12 5338 ?0358: - 00006A12 C3 D8 50 5339 JP LWRD ?0636 - 00006A15 5340 dbEvaluateExpression: - 00006A15 FD E5 5341 PUSH IY - 00006A17 DD E5 5342 PUSH IX - 00006A19 DD 21 00 00 5343 LD IX,0 - 00006A1D DD 39 5344 ADD IX,SP - 00006A1F C5 5345 PUSH BC - 00006A20 F5 5346 PUSH AF - 00006A21 F5 5347 PUSH AF - 00006A22 F5 5348 PUSH AF - 00006A23 D5 5349 PUSH DE - 00006A24 FD E1 5350 POP IY - 00006A26 1A 5351 LD A,(DE) - 00006A27 FE 03 5352 CP 3 - 00006A29 C2 E5 6D 5353 JP NZ,?0360 - 00006A2C 5354 ?0359: - 00006A2C FD 5E 48 5355 LD E,(IY+72) - 00006A2F FD 56 49 5356 LD D,(IY+73) - 00006A32 3E 00 5357 LD A,BYTE3 dbEvaluateExpression - 00006A34 21 15 6A 5358 LD HL,LWRD dbEvaluateExpression - 00006A37 CD 19 82 5359 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006A3A DD 4E FE 5360 LD C,(IX-2) - 00006A3D DD 46 FF 5361 LD B,(IX-1) - 00006A40 FD 5E 4A 5362 LD E,(IY+74) - 00006A43 FD 56 4B 5363 LD D,(IY+75) - 00006A46 3E 00 5364 LD A,BYTE3 dbEvaluateExpression - 00006A48 21 15 6A 5365 LD HL,LWRD dbEvaluateExpression - 00006A4B CD 19 82 5366 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006A4E FD 5E 02 5367 LD E,(IY+2) - 00006A51 3E 00 5368 LD A,BYTE3 dbOperatorPrecedence - 00006A53 21 11 65 5369 LD HL,LWRD dbOperatorPrecedence - 00006A56 CD 19 82 5370 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006A59 7D 5371 LD A,L - 00006A5A FE 05 5372 CP 5 - 00006A5C FD 6E 48 5373 LD L,(IY+72) - 00006A5F FD 66 49 5374 LD H,(IY+73) - 00006A62 23 5375 INC HL - 00006A63 D2 5A 6B 5376 JP NC,?0362 - 00006A66 5377 ?0361: - 00006A66 46 5378 LD B,(HL) - 00006A67 05 5379 DEC B - 00006A68 C2 5A 6F 5380 JP NZ,?0454 - 00006A6B FD 6E 4A 5381 LD L,(IY+74) - 00006A6E FD 66 4B 5382 LD H,(IY+75) - 00006A71 23 5383 INC HL - 00006A72 46 5384 LD B,(HL) - 00006A73 05 5385 DEC B - 00006A74 C2 5A 6F 5386 JP NZ,?0454 - 00006A77 5387 ?0366: - 00006A77 5388 ?0365: - 00006A77 5389 ?0363: - 00006A77 FD 36 01 01 5390 LD (IY+1),1 - 00006A7B FD 7E 02 5391 LD A,(IY+2) - 00006A7E FE 2B 5392 CP 43 - 00006A80 20 2D 5393 JR NZ,?0369 - 00006A82 5394 ?0368: - 00006A82 FD 6E 4A 5395 LD L,(IY+74) - 00006A85 FD 66 4B 5396 LD H,(IY+75) - 00006A88 0E 24 5397 LD C,36 - 00006A8A 09 5398 ADD HL,BC - 00006A8B 4E 5399 LD C,(HL) - 00006A8C 23 5400 INC HL - 00006A8D 46 5401 LD B,(HL) - 00006A8E 23 5402 INC HL - 00006A8F 5E 5403 LD E,(HL) - 00006A90 23 5404 INC HL - 00006A91 56 5405 LD D,(HL) - 00006A92 D5 5406 PUSH DE - 00006A93 C5 5407 PUSH BC - 00006A94 FD 6E 48 5408 LD L,(IY+72) - 00006A97 FD 66 49 5409 LD H,(IY+73) - 00006A9A 01 24 00 5410 LD BC,36 - 00006A9D 09 5411 ADD HL,BC - 00006A9E 4E 5412 LD C,(HL) - 00006A9F 23 5413 INC HL - 00006AA0 46 5414 LD B,(HL) - 00006AA1 23 5415 INC HL - 00006AA2 5E 5416 LD E,(HL) - 00006AA3 23 5417 INC HL - 00006AA4 56 5418 LD D,(HL) - 00006AA5 69 5419 LD L,C - 00006AA6 60 5420 LD H,B - 00006AA7 C1 5421 POP BC - 00006AA8 09 5422 ADD HL,BC - 00006AA9 EB 5423 EX DE,HL - 00006AAA C1 5424 POP BC - 00006AAB ED 4A 5425 ADC HL,BC - 00006AAD 18 33 5426 JR ?0564 - 00006AAF 5427 ?0369: - 00006AAF FE 2D 5428 CP 45 - 00006AB1 20 34 5429 JR NZ,?0370 - 00006AB3 FD 6E 4A 5430 LD L,(IY+74) - 00006AB6 FD 66 4B 5431 LD H,(IY+75) - 00006AB9 0E 24 5432 LD C,36 - 00006ABB 09 5433 ADD HL,BC - 00006ABC 4E 5434 LD C,(HL) - 00006ABD 23 5435 INC HL - 00006ABE 46 5436 LD B,(HL) - 00006ABF 23 5437 INC HL - 00006AC0 5E 5438 LD E,(HL) - 00006AC1 23 5439 INC HL - 00006AC2 56 5440 LD D,(HL) - 00006AC3 69 5441 LD L,C - 00006AC4 60 5442 LD H,B - 00006AC5 D5 5443 PUSH DE - 00006AC6 E5 5444 PUSH HL - 00006AC7 FD 6E 48 5445 LD L,(IY+72) - 00006ACA FD 66 49 5446 LD H,(IY+73) - 00006ACD 01 24 00 5447 LD BC,36 - 00006AD0 09 5448 ADD HL,BC - 00006AD1 4E 5449 LD C,(HL) - 00006AD2 23 5450 INC HL - 00006AD3 46 5451 LD B,(HL) - 00006AD4 23 5452 INC HL - 00006AD5 5E 5453 LD E,(HL) - 00006AD6 23 5454 INC HL - 00006AD7 56 5455 LD D,(HL) - 00006AD8 69 5456 LD L,C - 00006AD9 60 5457 LD H,B - 00006ADA A7 5458 AND A - 00006ADB C1 5459 POP BC - 00006ADC ED 42 5460 SBC HL,BC - 00006ADE EB 5461 EX DE,HL - 00006ADF C1 5462 POP BC - 00006AE0 ED 42 5463 SBC HL,BC - 00006AE2 5464 ?0564: - 00006AE2 4D 5465 LD C,L - 00006AE3 44 5466 LD B,H - 00006AE4 EB 5467 EX DE,HL - 00006AE5 18 58 5468 JR ?0583 - 00006AE7 5469 ?0370: - 00006AE7 FE 2A 5470 CP 42 - 00006AE9 20 29 5471 JR NZ,?0371 - 00006AEB FD 6E 48 5472 LD L,(IY+72) - 00006AEE FD 66 49 5473 LD H,(IY+73) - 00006AF1 0E 24 5474 LD C,36 - 00006AF3 09 5475 ADD HL,BC - 00006AF4 4E 5476 LD C,(HL) - 00006AF5 23 5477 INC HL - 00006AF6 46 5478 LD B,(HL) - 00006AF7 23 5479 INC HL - 00006AF8 5E 5480 LD E,(HL) - 00006AF9 23 5481 INC HL - 00006AFA 56 5482 LD D,(HL) - 00006AFB D5 5483 PUSH DE - 00006AFC C5 5484 PUSH BC - 00006AFD FD 6E 4A 5485 LD L,(IY+74) - 00006B00 FD 66 4B 5486 LD H,(IY+75) - 00006B03 01 24 00 5487 LD BC,36 - 00006B06 09 5488 ADD HL,BC - 00006B07 5E 5489 LD E,(HL) - 00006B08 23 5490 INC HL - 00006B09 56 5491 LD D,(HL) - 00006B0A 23 5492 INC HL - 00006B0B 4E 5493 LD C,(HL) - 00006B0C 23 5494 INC HL - 00006B0D 46 5495 LD B,(HL) - 00006B0E EB 5496 EX DE,HL - 00006B0F CD 1F 81 5497 CALL LWRD ?L_MUL_L03 - 00006B12 18 2B 5498 JR ?0583 - 00006B14 5499 ?0371: - 00006B14 FE 2F 5500 CP 47 - 00006B16 20 33 5501 JR NZ,?0367 - 00006B18 FD 6E 4A 5502 LD L,(IY+74) - 00006B1B FD 66 4B 5503 LD H,(IY+75) - 00006B1E 0E 24 5504 LD C,36 - 00006B20 09 5505 ADD HL,BC - 00006B21 4E 5506 LD C,(HL) - 00006B22 23 5507 INC HL - 00006B23 46 5508 LD B,(HL) - 00006B24 23 5509 INC HL - 00006B25 5E 5510 LD E,(HL) - 00006B26 23 5511 INC HL - 00006B27 56 5512 LD D,(HL) - 00006B28 D5 5513 PUSH DE - 00006B29 C5 5514 PUSH BC - 00006B2A FD 6E 48 5515 LD L,(IY+72) - 00006B2D FD 66 49 5516 LD H,(IY+73) - 00006B30 01 24 00 5517 LD BC,36 - 00006B33 09 5518 ADD HL,BC - 00006B34 5E 5519 LD E,(HL) - 00006B35 23 5520 INC HL - 00006B36 56 5521 LD D,(HL) - 00006B37 23 5522 INC HL - 00006B38 4E 5523 LD C,(HL) - 00006B39 23 5524 INC HL - 00006B3A 46 5525 LD B,(HL) - 00006B3B EB 5526 EX DE,HL - 00006B3C CD 93 82 5527 CALL LWRD ?SL_DIV_L03 - 00006B3F 5528 ?0583: - 00006B3F DD 75 F8 5529 LD (IX-8),L - 00006B42 DD 74 F9 5530 LD (IX-7),H - 00006B45 DD 71 FA 5531 LD (IX-6),C - 00006B48 DD 70 FB 5532 LD (IX-5),B - 00006B4B 5533 ?0367: - 00006B4B DD 4E FA 5534 LD C,(IX-6) - 00006B4E DD 46 FB 5535 LD B,(IX-5) - 00006B51 DD 6E F8 5536 LD L,(IX-8) - 00006B54 DD 66 F9 5537 LD H,(IX-7) - 00006B57 C3 01 6F 5538 JP LWRD ?0606 - 00006B5A 5539 ?0364: - 00006B5A 5540 ?0362: - 00006B5A 7E 5541 LD A,(HL) - 00006B5B FE 03 5542 CP 3 - 00006B5D CA 8F 6C 5543 JP Z,?0377 - 00006B60 FD 6E 4A 5544 LD L,(IY+74) - 00006B63 FD 66 4B 5545 LD H,(IY+75) - 00006B66 23 5546 INC HL - 00006B67 7E 5547 LD A,(HL) - 00006B68 FE 03 5548 CP 3 - 00006B6A CA 8F 6C 5549 JP Z,?0377 - 00006B6D 5550 ?0376: - 00006B6D 5551 ?0375: - 00006B6D 5552 ?0373: - 00006B6D FD 36 01 04 5553 LD (IY+1),4 - 00006B71 FD 5E 02 5554 LD E,(IY+2) - 00006B74 CD E2 81 5555 CALL LWRD ?C_V_SWITCH_L06 - 00006B77 07 00 5556 DEFW 7 - 00006B79 26 5557 DEFB 38 - 00006B7A 3C 5558 DEFB 60 - 00006B7B 3D 5559 DEFB 61 - 00006B7C 3E 5560 DEFB 62 - 00006B7D 5B 5561 DEFB 91 - 00006B7E 5D 5562 DEFB 93 - 00006B7F 7C 5563 DEFB 124 - 00006B80 8F 6C 5564 DEFW ?0377 - 00006B82 6D 6C 5565 DEFW ?0399 - 00006B84 31 6C 5566 DEFW ?0394 - 00006B86 0E 6C 5567 DEFW ?0390 - 00006B88 EB 6B 5568 DEFW ?0386 - 00006B8A 90 6B 5569 DEFW ?0378 - 00006B8C CE 6B 5570 DEFW ?0382 - 00006B8E 55 6C 5571 DEFW ?0398 - 00006B90 5572 ?0378: - 00006B90 FD 6E 4A 5573 LD L,(IY+74) - 00006B93 FD 66 4B 5574 LD H,(IY+75) - 00006B96 01 24 00 5575 LD BC,36 - 00006B99 09 5576 ADD HL,BC - 00006B9A 4E 5577 LD C,(HL) - 00006B9B 23 5578 INC HL - 00006B9C 46 5579 LD B,(HL) - 00006B9D 23 5580 INC HL - 00006B9E 5E 5581 LD E,(HL) - 00006B9F 23 5582 INC HL - 00006BA0 56 5583 LD D,(HL) - 00006BA1 D5 5584 PUSH DE - 00006BA2 C5 5585 PUSH BC - 00006BA3 FD 6E 48 5586 LD L,(IY+72) - 00006BA6 FD 66 49 5587 LD H,(IY+73) - 00006BA9 01 24 00 5588 LD BC,36 - 00006BAC 09 5589 ADD HL,BC - 00006BAD 4E 5590 LD C,(HL) - 00006BAE 23 5591 INC HL - 00006BAF 46 5592 LD B,(HL) - 00006BB0 23 5593 INC HL - 00006BB1 5E 5594 LD E,(HL) - 00006BB2 23 5595 INC HL - 00006BB3 56 5596 LD D,(HL) - 00006BB4 69 5597 LD L,C - 00006BB5 60 5598 LD H,B - 00006BB6 C1 5599 POP BC - 00006BB7 A7 5600 AND A - 00006BB8 ED 42 5601 SBC HL,BC - 00006BBA C1 5602 POP BC - 00006BBB 20 0B 5603 JR NZ,?0380 - 00006BBD EB 5604 EX DE,HL - 00006BBE ED 42 5605 SBC HL,BC - 00006BC0 20 06 5606 JR NZ,?0380 - 00006BC2 4D 5607 LD C,L - 00006BC3 44 5608 LD B,H - 00006BC4 23 5609 INC HL - 00006BC5 C3 83 6C 5610 JP LWRD ?0598 - 00006BC8 5611 ?0380: - 00006BC8 01 00 00 5612 LD BC,0 - 00006BCB C3 51 6C 5613 JP LWRD ?0396 - 00006BCE 5614 ?0382: - 00006BCE FD 6E 4A 5615 LD L,(IY+74) - 00006BD1 FD 66 4B 5616 LD H,(IY+75) - 00006BD4 01 24 00 5617 LD BC,36 - 00006BD7 09 5618 ADD HL,BC - 00006BD8 4E 5619 LD C,(HL) - 00006BD9 23 5620 INC HL - 00006BDA 46 5621 LD B,(HL) - 00006BDB 23 5622 INC HL - 00006BDC 5E 5623 LD E,(HL) - 00006BDD 23 5624 INC HL - 00006BDE 56 5625 LD D,(HL) - 00006BDF D5 5626 PUSH DE - 00006BE0 C5 5627 PUSH BC - 00006BE1 CD 5D 6F 5628 CALL LWRD ?0671 - 00006BE4 01 00 00 5629 LD BC,0 - 00006BE7 30 68 5630 JR NC,?0396 - 00006BE9 18 61 5631 JR ?0597 - 00006BEB 5632 ?0386: - 00006BEB FD 6E 48 5633 LD L,(IY+72) - 00006BEE FD 66 49 5634 LD H,(IY+73) - 00006BF1 01 24 00 5635 LD BC,36 - 00006BF4 09 5636 ADD HL,BC - 00006BF5 4E 5637 LD C,(HL) - 00006BF6 23 5638 INC HL - 00006BF7 46 5639 LD B,(HL) - 00006BF8 23 5640 INC HL - 00006BF9 5E 5641 LD E,(HL) - 00006BFA 23 5642 INC HL - 00006BFB 56 5643 LD D,(HL) - 00006BFC D5 5644 PUSH DE - 00006BFD C5 5645 PUSH BC - 00006BFE FD 6E 4A 5646 LD L,(IY+74) - 00006C01 FD 66 4B 5647 LD H,(IY+75) - 00006C04 CD 63 6F 5648 CALL LWRD ?0672 - 00006C07 01 00 00 5649 LD BC,0 - 00006C0A 30 45 5650 JR NC,?0396 - 00006C0C 18 3E 5651 JR ?0597 - 00006C0E 5652 ?0390: - 00006C0E FD 6E 48 5653 LD L,(IY+72) - 00006C11 FD 66 49 5654 LD H,(IY+73) - 00006C14 01 24 00 5655 LD BC,36 - 00006C17 09 5656 ADD HL,BC - 00006C18 4E 5657 LD C,(HL) - 00006C19 23 5658 INC HL - 00006C1A 46 5659 LD B,(HL) - 00006C1B 23 5660 INC HL - 00006C1C 5E 5661 LD E,(HL) - 00006C1D 23 5662 INC HL - 00006C1E 56 5663 LD D,(HL) - 00006C1F D5 5664 PUSH DE - 00006C20 C5 5665 PUSH BC - 00006C21 FD 6E 4A 5666 LD L,(IY+74) - 00006C24 FD 66 4B 5667 LD H,(IY+75) - 00006C27 CD 63 6F 5668 CALL LWRD ?0672 - 00006C2A 01 00 00 5669 LD BC,0 - 00006C2D 38 22 5670 JR C,?0396 - 00006C2F 18 1B 5671 JR ?0597 - 00006C31 5672 ?0394: - 00006C31 FD 6E 4A 5673 LD L,(IY+74) - 00006C34 FD 66 4B 5674 LD H,(IY+75) - 00006C37 01 24 00 5675 LD BC,36 - 00006C3A 09 5676 ADD HL,BC - 00006C3B 4E 5677 LD C,(HL) - 00006C3C 23 5678 INC HL - 00006C3D 46 5679 LD B,(HL) - 00006C3E 23 5680 INC HL - 00006C3F 5E 5681 LD E,(HL) - 00006C40 23 5682 INC HL - 00006C41 56 5683 LD D,(HL) - 00006C42 D5 5684 PUSH DE - 00006C43 C5 5685 PUSH BC - 00006C44 CD 5D 6F 5686 CALL LWRD ?0671 - 00006C47 01 00 00 5687 LD BC,0 - 00006C4A 38 05 5688 JR C,?0396 - 00006C4C 5689 ?0597: - 00006C4C 21 01 00 5690 LD HL,1 - 00006C4F 18 32 5691 JR ?0598 - 00006C51 5692 ?0396: - 00006C51 69 5693 LD L,C - 00006C52 60 5694 LD H,B - 00006C53 18 2E 5695 JR ?0598 - 00006C55 5696 ?0398: - 00006C55 FD 6E 4A 5697 LD L,(IY+74) - 00006C58 FD 66 4B 5698 LD H,(IY+75) - 00006C5B 01 24 00 5699 LD BC,36 - 00006C5E 09 5700 ADD HL,BC - 00006C5F 4E 5701 LD C,(HL) - 00006C60 23 5702 INC HL - 00006C61 46 5703 LD B,(HL) - 00006C62 23 5704 INC HL - 00006C63 5E 5705 LD E,(HL) - 00006C64 23 5706 INC HL - 00006C65 56 5707 LD D,(HL) - 00006C66 D5 5708 PUSH DE - 00006C67 C5 5709 PUSH BC - 00006C68 CD 72 6F 5710 CALL LWRD ?0673 - 00006C6B 18 16 5711 JR ?0598 - 00006C6D 5712 ?0399: - 00006C6D FD 6E 4A 5713 LD L,(IY+74) - 00006C70 FD 66 4B 5714 LD H,(IY+75) - 00006C73 01 24 00 5715 LD BC,36 - 00006C76 09 5716 ADD HL,BC - 00006C77 4E 5717 LD C,(HL) - 00006C78 23 5718 INC HL - 00006C79 46 5719 LD B,(HL) - 00006C7A 23 5720 INC HL - 00006C7B 5E 5721 LD E,(HL) - 00006C7C 23 5722 INC HL - 00006C7D 56 5723 LD D,(HL) - 00006C7E D5 5724 PUSH DE - 00006C7F C5 5725 PUSH BC - 00006C80 CD 87 6F 5726 CALL LWRD ?0674 - 00006C83 5727 ?0598: - 00006C83 FD 75 24 5728 LD (IY+36),L - 00006C86 FD 74 25 5729 LD (IY+37),H - 00006C89 FD 71 26 5730 LD (IY+38),C - 00006C8C FD 70 27 5731 LD (IY+39),B - 00006C8F 5732 ?0377: - 00006C8F 5733 ?0374: - 00006C8F FD 6E 48 5734 LD L,(IY+72) - 00006C92 FD 66 49 5735 LD H,(IY+73) - 00006C95 23 5736 INC HL - 00006C96 7E 5737 LD A,(HL) - 00006C97 FE 03 5738 CP 3 - 00006C99 C2 89 6D 5739 JP NZ,?0404 - 00006C9C FD 6E 4A 5740 LD L,(IY+74) - 00006C9F FD 66 4B 5741 LD H,(IY+75) - 00006CA2 23 5742 INC HL - 00006CA3 7E 5743 LD A,(HL) - 00006CA4 FE 03 5744 CP 3 - 00006CA6 C2 89 6D 5745 JP NZ,?0404 - 00006CA9 5746 ?0403: - 00006CA9 5747 ?0402: - 00006CA9 5748 ?0400: - 00006CA9 FD 6E 4A 5749 LD L,(IY+74) - 00006CAC FD 66 4B 5750 LD H,(IY+75) - 00006CAF 01 28 00 5751 LD BC,40 - 00006CB2 09 5752 ADD HL,BC - 00006CB3 4D 5753 LD C,L - 00006CB4 44 5754 LD B,H - 00006CB5 FD 6E 48 5755 LD L,(IY+72) - 00006CB8 FD 66 49 5756 LD H,(IY+73) - 00006CBB 11 28 00 5757 LD DE,40 - 00006CBE 19 5758 ADD HL,DE - 00006CBF EB 5759 EX DE,HL - 00006CC0 3E 00 5760 LD A,BYTE3 strcmp - 00006CC2 21 93 7D 5761 LD HL,LWRD strcmp - 00006CC5 CD 19 82 5762 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006CC8 FD 5E 02 5763 LD E,(IY+2) - 00006CCB CD E2 81 5764 CALL LWRD ?C_V_SWITCH_L06 - 00006CCE 06 00 5765 DEFW 6 - 00006CD0 2B 5766 DEFB 43 - 00006CD1 3C 5767 DEFB 60 - 00006CD2 3D 5768 DEFB 61 - 00006CD3 3E 5769 DEFB 62 - 00006CD4 5B 5770 DEFB 91 - 00006CD5 5D 5771 DEFB 93 - 00006CD6 89 6D 5772 DEFW ?0404 - 00006CD8 34 6D 5773 DEFW ?0421 - 00006CDA 1B 6D 5774 DEFW ?0417 - 00006CDC 02 6D 5775 DEFW ?0413 - 00006CDE E4 6C 5776 DEFW ?0405 - 00006CE0 F5 6C 5777 DEFW ?0409 - 00006CE2 54 6D 5778 DEFW ?0425 - 00006CE4 5779 ?0405: - 00006CE4 FD 36 01 04 5780 LD (IY+1),4 - 00006CE8 7D 5781 LD A,L - 00006CE9 B4 5782 OR H - 00006CEA 20 04 5783 JR NZ,?0407 - 00006CEC 4F 5784 LD C,A - 00006CED 47 5785 LD B,A - 00006CEE 18 4F 5786 JR ?0604 - 00006CF0 5787 ?0407: - 00006CF0 01 00 00 5788 LD BC,0 - 00006CF3 18 4F 5789 JR ?0423 - 00006CF5 5790 ?0409: - 00006CF5 FD 36 01 04 5791 LD (IY+1),4 - 00006CF9 CB 7C 5792 BIT 7,H - 00006CFB 01 00 00 5793 LD BC,0 - 00006CFE 28 44 5794 JR Z,?0423 - 00006D00 18 3D 5795 JR ?0604 - 00006D02 5796 ?0413: - 00006D02 FD 36 01 04 5797 LD (IY+1),4 - 00006D06 4D 5798 LD C,L - 00006D07 44 5799 LD B,H - 00006D08 21 00 00 5800 LD HL,0 - 00006D0B F6 80 5801 OR 128 - 00006D0D ED 42 5802 SBC HL,BC - 00006D0F E2 13 6D 5803 JP PO,?0560 - 00006D12 AC 5804 XOR H - 00006D13 5805 ?0560: - 00006D13 01 00 00 5806 LD BC,0 - 00006D16 F2 44 6D 5807 JP P,?0423 - 00006D19 18 24 5808 JR ?0604 - 00006D1B 5809 ?0417: - 00006D1B FD 36 01 04 5810 LD (IY+1),4 - 00006D1F 4D 5811 LD C,L - 00006D20 44 5812 LD B,H - 00006D21 21 00 00 5813 LD HL,0 - 00006D24 F6 80 5814 OR 128 - 00006D26 ED 42 5815 SBC HL,BC - 00006D28 E2 2C 6D 5816 JP PO,?0561 - 00006D2B AC 5817 XOR H - 00006D2C 5818 ?0561: - 00006D2C 01 00 00 5819 LD BC,0 - 00006D2F FA 44 6D 5820 JP M,?0423 - 00006D32 18 0B 5821 JR ?0604 - 00006D34 5822 ?0421: - 00006D34 FD 36 01 04 5823 LD (IY+1),4 - 00006D38 CB 7C 5824 BIT 7,H - 00006D3A 01 00 00 5825 LD BC,0 - 00006D3D 20 05 5826 JR NZ,?0423 - 00006D3F 5827 ?0604: - 00006D3F 21 01 00 5828 LD HL,1 - 00006D42 18 02 5829 JR ?0424 - 00006D44 5830 ?0423: - 00006D44 69 5831 LD L,C - 00006D45 60 5832 LD H,B - 00006D46 5833 ?0424: - 00006D46 FD 75 24 5834 LD (IY+36),L - 00006D49 FD 74 25 5835 LD (IY+37),H - 00006D4C FD 71 26 5836 LD (IY+38),C - 00006D4F FD 70 27 5837 LD (IY+39),B - 00006D52 18 35 5838 JR ?0404 - 00006D54 5839 ?0425: - 00006D54 FD 36 01 03 5840 LD (IY+1),3 - 00006D58 FD 6E 48 5841 LD L,(IY+72) - 00006D5B FD 66 49 5842 LD H,(IY+73) - 00006D5E 01 28 00 5843 LD BC,40 - 00006D61 09 5844 ADD HL,BC - 00006D62 4D 5845 LD C,L - 00006D63 44 5846 LD B,H - 00006D64 21 28 00 5847 LD HL,40 - 00006D67 FD E5 5848 PUSH IY - 00006D69 D1 5849 POP DE - 00006D6A CD 00 4A 5850 CALL LWRD ?0653 - 00006D6D FD 6E 4A 5851 LD L,(IY+74) - 00006D70 FD 66 4B 5852 LD H,(IY+75) - 00006D73 01 28 00 5853 LD BC,40 - 00006D76 09 5854 ADD HL,BC - 00006D77 4D 5855 LD C,L - 00006D78 44 5856 LD B,H - 00006D79 21 28 00 5857 LD HL,40 - 00006D7C FD E5 5858 PUSH IY - 00006D7E D1 5859 POP DE - 00006D7F 19 5860 ADD HL,DE - 00006D80 EB 5861 EX DE,HL - 00006D81 3E 00 5862 LD A,BYTE3 strcat - 00006D83 21 12 7A 5863 LD HL,LWRD strcat - 00006D86 CD 19 82 5864 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006D89 5865 ?0404: - 00006D89 5866 ?0401: - 00006D89 FD 6E 48 5867 LD L,(IY+72) - 00006D8C FD 66 49 5868 LD H,(IY+73) - 00006D8F 23 5869 INC HL - 00006D90 7E 5870 LD A,(HL) - 00006D91 FE 04 5871 CP 4 - 00006D93 C2 5A 6F 5872 JP NZ,?0454 - 00006D96 FD 6E 4A 5873 LD L,(IY+74) - 00006D99 FD 66 4B 5874 LD H,(IY+75) - 00006D9C 23 5875 INC HL - 00006D9D 7E 5876 LD A,(HL) - 00006D9E FE 04 5877 CP 4 - 00006DA0 C2 5A 6F 5878 JP NZ,?0454 - 00006DA3 5879 ?0429: - 00006DA3 5880 ?0428: - 00006DA3 5881 ?0426: - 00006DA3 FD 36 01 04 5882 LD (IY+1),4 - 00006DA7 FD 7E 02 5883 LD A,(IY+2) - 00006DAA FE 26 5884 CP 38 - 00006DAC 20 19 5885 JR NZ,?0432 - 00006DAE 5886 ?0431: - 00006DAE FD 6E 4A 5887 LD L,(IY+74) - 00006DB1 FD 66 4B 5888 LD H,(IY+75) - 00006DB4 01 24 00 5889 LD BC,36 - 00006DB7 09 5890 ADD HL,BC - 00006DB8 4E 5891 LD C,(HL) - 00006DB9 23 5892 INC HL - 00006DBA 46 5893 LD B,(HL) - 00006DBB 23 5894 INC HL - 00006DBC 5E 5895 LD E,(HL) - 00006DBD 23 5896 INC HL - 00006DBE 56 5897 LD D,(HL) - 00006DBF D5 5898 PUSH DE - 00006DC0 C5 5899 PUSH BC - 00006DC1 CD 72 6F 5900 CALL LWRD ?0673 - 00006DC4 C3 01 6F 5901 JP LWRD ?0606 - 00006DC7 5902 ?0432: - 00006DC7 FE 7C 5903 CP 124 - 00006DC9 C2 5A 6F 5904 JP NZ,?0454 - 00006DCC FD 6E 4A 5905 LD L,(IY+74) - 00006DCF FD 66 4B 5906 LD H,(IY+75) - 00006DD2 01 24 00 5907 LD BC,36 - 00006DD5 09 5908 ADD HL,BC - 00006DD6 4E 5909 LD C,(HL) - 00006DD7 23 5910 INC HL - 00006DD8 46 5911 LD B,(HL) - 00006DD9 23 5912 INC HL - 00006DDA 5E 5913 LD E,(HL) - 00006DDB 23 5914 INC HL - 00006DDC 56 5915 LD D,(HL) - 00006DDD D5 5916 PUSH DE - 00006DDE C5 5917 PUSH BC - 00006DDF CD 87 6F 5918 CALL LWRD ?0674 - 00006DE2 C3 01 6F 5919 JP LWRD ?0606 - 00006DE5 5920 ?0430: - 00006DE5 5921 ?0427: - 00006DE5 5922 ?0372: - 00006DE5 5923 ?0360: - 00006DE5 DD 36 FC FF 5924 LD (IX-4),255 - 00006DE9 DD 36 FD FF 5925 LD (IX-3),255 - 00006DED 79 5926 LD A,C - 00006DEE B0 5927 OR B - 00006DEF 28 79 5928 JR Z,?0436 - 00006DF1 5929 ?0434: - 00006DF1 69 5930 LD L,C - 00006DF2 60 5931 LD H,B - 00006DF3 7E 5932 LD A,(HL) - 00006DF4 23 5933 INC HL - 00006DF5 66 5934 LD H,(HL) - 00006DF6 6F 5935 LD L,A - 00006DF7 46 5936 LD B,(HL) - 00006DF8 DD 70 FA 5937 LD (IX-6),B - 00006DFB 23 5938 INC HL - 00006DFC 66 5939 LD H,(HL) - 00006DFD DD 74 FB 5940 LD (IX-5),H - 00006E00 AF 5941 XOR A - 00006E01 DD 77 F8 5942 LD (IX-8),A - 00006E04 DD 77 F9 5943 LD (IX-7),A - 00006E07 5944 ?0437: - 00006E07 DD 4E FA 5945 LD C,(IX-6) - 00006E0A DD 46 FB 5946 LD B,(IX-5) - 00006E0D DD 6E F8 5947 LD L,(IX-8) - 00006E10 DD 66 F9 5948 LD H,(IX-7) - 00006E13 F6 80 5949 OR 128 - 00006E15 ED 42 5950 SBC HL,BC - 00006E17 E2 1B 6E 5951 JP PO,?0562 - 00006E1A AC 5952 XOR H - 00006E1B 5953 ?0562: - 00006E1B F2 6A 6E 5954 JP P,?0436 - 00006E1E 5955 ?0438: - 00006E1E 21 04 00 5956 LD HL,4 - 00006E21 FD E5 5957 PUSH IY - 00006E23 C1 5958 POP BC - 00006E24 09 5959 ADD HL,BC - 00006E25 4D 5960 LD C,L - 00006E26 44 5961 LD B,H - 00006E27 DD 6E FE 5962 LD L,(IX-2) - 00006E2A DD 66 FF 5963 LD H,(IX-1) - 00006E2D 56 5964 LD D,(HL) - 00006E2E 23 5965 INC HL - 00006E2F 66 5966 LD H,(HL) - 00006E30 6A 5967 LD L,D - 00006E31 23 5968 INC HL - 00006E32 23 5969 INC HL - 00006E33 56 5970 LD D,(HL) - 00006E34 23 5971 INC HL - 00006E35 66 5972 LD H,(HL) - 00006E36 6A 5973 LD L,D - 00006E37 E5 5974 PUSH HL - 00006E38 DD 6E F8 5975 LD L,(IX-8) - 00006E3B DD 66 F9 5976 LD H,(IX-7) - 00006E3E 29 5977 ADD HL,HL - 00006E3F 29 5978 ADD HL,HL - 00006E40 5D 5979 LD E,L - 00006E41 54 5980 LD D,H - 00006E42 29 5981 ADD HL,HL - 00006E43 19 5982 ADD HL,DE - 00006E44 EB 5983 EX DE,HL - 00006E45 E1 5984 POP HL - 00006E46 19 5985 ADD HL,DE - 00006E47 EB 5986 EX DE,HL - 00006E48 3E 00 5987 LD A,BYTE3 strcmp - 00006E4A 21 93 7D 5988 LD HL,LWRD strcmp - 00006E4D CD 19 82 5989 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006E50 7D 5990 LD A,L - 00006E51 B4 5991 OR H - 00006E52 20 0C 5992 JR NZ,?0441 - 00006E54 5993 ?0440: - 00006E54 DD 6E F8 5994 LD L,(IX-8) - 00006E57 DD 66 F9 5995 LD H,(IX-7) - 00006E5A DD 75 FC 5996 LD (IX-4),L - 00006E5D DD 74 FD 5997 LD (IX-3),H - 00006E60 5998 ?0441: - 00006E60 DD 34 F8 5999 INC (IX-8) - 00006E63 20 A2 6000 JR NZ,?0437 - 00006E65 DD 34 F9 6001 INC (IX-7) - 00006E68 18 9D 6002 JR ?0437 - 00006E6A 6003 ?0436: - 00006E6A 6004 ?0435: - 00006E6A DD CB FD 7E 6005 BIT 7,(IX-3) - 00006E6E 20 08 6006 JR NZ,?0444 - 00006E70 DD 7E FE 6007 LD A,(IX-2) - 00006E73 DD B6 FF 6008 OR (IX-1) - 00006E76 20 47 6009 JR NZ,?0443 - 00006E78 6010 ?0444: - 00006E78 6011 ?0445: - 00006E78 6012 ?0442: - 00006E78 FD 7E 04 6013 LD A,(IY+4) - 00006E7B FE 27 6014 CP 39 - 00006E7D 20 2A 6015 JR NZ,?0447 - 00006E7F 6016 ?0446: - 00006E7F FD 36 01 03 6017 LD (IY+1),3 - 00006E83 21 04 00 6018 LD HL,4 - 00006E86 FD E5 6019 PUSH IY - 00006E88 C1 6020 POP BC - 00006E89 09 6021 ADD HL,BC - 00006E8A 4D 6022 LD C,L - 00006E8B 44 6023 LD B,H - 00006E8C 03 6024 INC BC - 00006E8D 21 28 00 6025 LD HL,40 - 00006E90 FD E5 6026 PUSH IY - 00006E92 D1 6027 POP DE - 00006E93 CD 00 4A 6028 CALL LWRD ?0653 - 00006E96 21 28 00 6029 LD HL,40 - 00006E99 FD E5 6030 PUSH IY - 00006E9B C1 6031 POP BC - 00006E9C 09 6032 ADD HL,BC - 00006E9D CD EC 49 6033 CALL LWRD ?0648 - 00006EA0 09 6034 ADD HL,BC - 00006EA1 01 27 00 6035 LD BC,39 - 00006EA4 09 6036 ADD HL,BC - 00006EA5 70 6037 LD (HL),B - 00006EA6 C3 5A 6F 6038 JP LWRD ?0454 - 00006EA9 6039 ?0447: - 00006EA9 FD 36 01 01 6040 LD (IY+1),1 - 00006EAD 21 04 00 6041 LD HL,4 - 00006EB0 FD E5 6042 PUSH IY - 00006EB2 C1 6043 POP BC - 00006EB3 09 6044 ADD HL,BC - 00006EB4 EB 6045 EX DE,HL - 00006EB5 3E 01 6046 LD A,BYTE3 atol - 00006EB7 21 20 49 6047 LD HL,LWRD atol - 00006EBA CD 19 82 6048 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006EBD 18 42 6049 JR ?0606 - 00006EBF 6050 ?0448: - 00006EBF 6051 ?0443: - 00006EBF DD 6E FE 6052 LD L,(IX-2) - 00006EC2 DD 66 FF 6053 LD H,(IX-1) - 00006EC5 46 6054 LD B,(HL) - 00006EC6 23 6055 INC HL - 00006EC7 66 6056 LD H,(HL) - 00006EC8 68 6057 LD L,B - 00006EC9 23 6058 INC HL - 00006ECA 23 6059 INC HL - 00006ECB 46 6060 LD B,(HL) - 00006ECC 23 6061 INC HL - 00006ECD 66 6062 LD H,(HL) - 00006ECE 68 6063 LD L,B - 00006ECF E5 6064 PUSH HL - 00006ED0 DD 6E FC 6065 LD L,(IX-4) - 00006ED3 DD 66 FD 6066 LD H,(IX-3) - 00006ED6 29 6067 ADD HL,HL - 00006ED7 29 6068 ADD HL,HL - 00006ED8 4D 6069 LD C,L - 00006ED9 44 6070 LD B,H - 00006EDA 29 6071 ADD HL,HL - 00006EDB 09 6072 ADD HL,BC - 00006EDC 4D 6073 LD C,L - 00006EDD 44 6074 LD B,H - 00006EDE E1 6075 POP HL - 00006EDF 09 6076 ADD HL,BC - 00006EE0 01 09 00 6077 LD BC,9 - 00006EE3 09 6078 ADD HL,BC - 00006EE4 7E 6079 LD A,(HL) - 00006EE5 FE 49 6080 CP 73 - 00006EE7 20 26 6081 JR NZ,?0451 - 00006EE9 6082 ?0450: - 00006EE9 FD 36 01 01 6083 LD (IY+1),1 - 00006EED DD 4E FC 6084 LD C,(IX-4) - 00006EF0 DD 46 FD 6085 LD B,(IX-3) - 00006EF3 DD 5E FE 6086 LD E,(IX-2) - 00006EF6 DD 56 FF 6087 LD D,(IX-1) - 00006EF9 3E 00 6088 LD A,BYTE3 dbGetLong - 00006EFB 21 52 64 6089 LD HL,LWRD dbGetLong - 00006EFE CD 19 82 6090 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006F01 6091 ?0606: - 00006F01 FD 75 24 6092 LD (IY+36),L - 00006F04 FD 74 25 6093 LD (IY+37),H - 00006F07 FD 71 26 6094 LD (IY+38),C - 00006F0A FD 70 27 6095 LD (IY+39),B - 00006F0D 18 4B 6096 JR ?0454 - 00006F0F 6097 ?0451: - 00006F0F DD 6E FE 6098 LD L,(IX-2) - 00006F12 DD 66 FF 6099 LD H,(IX-1) - 00006F15 46 6100 LD B,(HL) - 00006F16 23 6101 INC HL - 00006F17 66 6102 LD H,(HL) - 00006F18 68 6103 LD L,B - 00006F19 23 6104 INC HL - 00006F1A 23 6105 INC HL - 00006F1B 46 6106 LD B,(HL) - 00006F1C 23 6107 INC HL - 00006F1D 66 6108 LD H,(HL) - 00006F1E 68 6109 LD L,B - 00006F1F E5 6110 PUSH HL - 00006F20 DD 6E FC 6111 LD L,(IX-4) - 00006F23 DD 66 FD 6112 LD H,(IX-3) - 00006F26 29 6113 ADD HL,HL - 00006F27 29 6114 ADD HL,HL - 00006F28 4D 6115 LD C,L - 00006F29 44 6116 LD B,H - 00006F2A 29 6117 ADD HL,HL - 00006F2B 09 6118 ADD HL,BC - 00006F2C 4D 6119 LD C,L - 00006F2D 44 6120 LD B,H - 00006F2E E1 6121 POP HL - 00006F2F 09 6122 ADD HL,BC - 00006F30 01 09 00 6123 LD BC,9 - 00006F33 09 6124 ADD HL,BC - 00006F34 7E 6125 LD A,(HL) - 00006F35 FE 53 6126 CP 83 - 00006F37 20 21 6127 JR NZ,?0454 - 00006F39 6128 ?0453: - 00006F39 FD 36 01 03 6129 LD (IY+1),3 - 00006F3D 21 28 00 6130 LD HL,40 - 00006F40 FD E5 6131 PUSH IY - 00006F42 C1 6132 POP BC - 00006F43 09 6133 ADD HL,BC - 00006F44 E5 6134 PUSH HL - 00006F45 DD 4E FC 6135 LD C,(IX-4) - 00006F48 DD 46 FD 6136 LD B,(IX-3) - 00006F4B DD 5E FE 6137 LD E,(IX-2) - 00006F4E DD 56 FF 6138 LD D,(IX-1) - 00006F51 3E 00 6139 LD A,BYTE3 dbGetString - 00006F53 21 C6 62 6140 LD HL,LWRD dbGetString - 00006F56 CD 19 82 6141 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006F59 E1 6142 POP HL - 00006F5A 6143 ?0454: - 00006F5A 6144 ?0452: - 00006F5A 6145 ?0449: - 00006F5A 6146 ?0433: - 00006F5A C3 D0 49 6147 JP LWRD ?0630 - 00006F5D 6148 ?0671: - 00006F5D FD 6E 48 6149 LD L,(IY+72) - 00006F60 FD 66 49 6150 LD H,(IY+73) - 00006F63 6151 ?0672: - 00006F63 01 24 00 6152 LD BC,36 - 00006F66 09 6153 ADD HL,BC - 00006F67 5E 6154 LD E,(HL) - 00006F68 23 6155 INC HL - 00006F69 56 6156 LD D,(HL) - 00006F6A 23 6157 INC HL - 00006F6B 4E 6158 LD C,(HL) - 00006F6C 23 6159 INC HL - 00006F6D 46 6160 LD B,(HL) - 00006F6E EB 6161 EX DE,HL - 00006F6F C3 44 82 6162 JP LWRD ?SL_CMP_L03 - 00006F72 6163 ?0673: - 00006F72 FD 6E 48 6164 LD L,(IY+72) - 00006F75 FD 66 49 6165 LD H,(IY+73) - 00006F78 01 24 00 6166 LD BC,36 - 00006F7B 09 6167 ADD HL,BC - 00006F7C 5E 6168 LD E,(HL) - 00006F7D 23 6169 INC HL - 00006F7E 56 6170 LD D,(HL) - 00006F7F 23 6171 INC HL - 00006F80 4E 6172 LD C,(HL) - 00006F81 23 6173 INC HL - 00006F82 46 6174 LD B,(HL) - 00006F83 EB 6175 EX DE,HL - 00006F84 C3 26 82 6176 JP LWRD ?L_AND_L03 - 00006F87 6177 ?0674: - 00006F87 FD 6E 48 6178 LD L,(IY+72) - 00006F8A FD 66 49 6179 LD H,(IY+73) - 00006F8D 01 24 00 6180 LD BC,36 - 00006F90 09 6181 ADD HL,BC - 00006F91 5E 6182 LD E,(HL) - 00006F92 23 6183 INC HL - 00006F93 56 6184 LD D,(HL) - 00006F94 23 6185 INC HL - 00006F95 4E 6186 LD C,(HL) - 00006F96 23 6187 INC HL - 00006F97 46 6188 LD B,(HL) - 00006F98 EB 6189 EX DE,HL - 00006F99 C3 C4 81 6190 JP LWRD ?L_OR_L03 - 6191 RSEG CSTR - 00008481 6192 ?0066: - 00008481 53 45 4C 6193 DEFB 'SEL' - 00008484 00 6194 DEFB 0 - 00008485 6195 ?0069: - 00008485 49 4E 53 6196 DEFB 'INS' - 00008488 00 6197 DEFB 0 - 00008489 6198 ?0072: - 00008489 55 50 44 6199 DEFB 'UPD' - 0000848C 00 6200 DEFB 0 - 0000848D 6201 ?0075: - 0000848D 44 45 4C 6202 DEFB 'DEL' - 00008490 00 6203 DEFB 0 - 00008491 6204 ?0081: - 00008491 20 46 52 20 6205 DEFB ' FR ' - 00008495 00 6206 DEFB 0 - 00008496 6207 ?0085: - 00008496 20 57 48 6208 DEFB ' WH' - 00008499 00 6209 DEFB 0 - 0000849A 6210 ?0090: - 0000849A 20 4F 52 44 20 6211 DEFB ' ORD ' - 0000849F 00 6212 DEFB 0 - 000084A0 6213 ?0094: - 000084A0 28 6214 DEFB '(' - 000084A1 00 6215 DEFB 0 - 000084A2 6216 ?0098: - 000084A2 29 20 56 41 4C 28 6217 DEFB ') VAL(' - 000084A8 00 6218 DEFB 0 - 000084A9 6219 ?0103: - 000084A9 20 53 54 20 6220 DEFB ' ST ' - 000084AD 00 6221 DEFB 0 - 000084AE 6222 ?0114: - 000084AE 2F 75 73 72 2F 64 62 6223 DEFB '/usr/db/' - 2F - 000084B6 00 6224 DEFB 0 - 000084B7 6225 ?0115: - 000084B7 2E 54 42 4C 6226 DEFB '.TBL' - 000084BB 00 6227 DEFB 0 - 000084BC 6228 ?0116: - 000084BC 72 62 6229 DEFB 'rb' - 000084BE 00 6230 DEFB 0 - 000084BF 6231 ?0126: - 000084BF 2E 44 41 54 6232 DEFB '.DAT' - 000084C3 00 6233 DEFB 0 - 000084C4 6234 ?0127: - 000084C4 72 2B 62 6235 DEFB 'r+b' - 000084C7 00 6236 DEFB 0 - 000084C8 6237 ?0146: - 000084C8 22 2A 22 6238 DEFB '"*"' - 000084CB 00 6239 DEFB 0 - 000084CC 6240 ?0156: - 000084CC 72 65 73 75 6C 74 6241 DEFB 'result' - 000084D2 00 6242 DEFB 0 - 000084D3 6243 ?0157: - 000084D3 77 62 6244 DEFB 'wb' - 000084D5 00 6245 DEFB 0 - 00000055 6246 END - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. -Hexadecimal [32-Bits] - -Symbol Table - - .__.ABS. = 00000000 G | 1 ?0000 00000009 R - 1 ?0001 00000030 R | 1 ?0002 00000011 R - 1 ?0003 00000014 R | 1 ?0004 0000001C R - 1 ?0005 0000002A R | 1 ?0006 00000067 R - 1 ?0007 00000052 R | 1 ?0008 0000005A R - 1 ?0009 000000A0 R | 1 ?0010 0000008B R - 1 ?0011 00000093 R | 1 ?0012 00000100 R - 1 ?0013 000000CB R | 1 ?0014 00000100 R - 1 ?0015 00000289 R | 1 ?0016 0000012B R - 1 ?0017 0000013A R | 1 ?0018 00000152 R - 1 ?0019 0000016F R | 1 ?0020 00000152 R - 1 ?0021 00000152 R | 1 ?0022 0000020B R - 1 ?0023 00000218 R | 1 ?0024 0000020B R - 1 ?0025 0000020B R | 1 ?0026 0000020B R - 1 ?0027 0000020B R | 1 ?0028 0000026A R - 1 ?0029 00000272 R | 1 ?0030 0000025E R - 1 ?0031 0000025E R | 1 ?0032 0000026A R - 1 ?0033 0000026A R | 1 ?0034 00000296 R - 1 ?0035 00000297 R | 1 ?0036 0000029A R - 1 ?0037 000002C6 R | 1 ?0038 000002AB R - 1 ?0039 000002C2 R | 1 ?0040 000002C2 R - 1 ?0041 000002C2 R | 1 ?0042 000002CE R - 1 ?0043 000002DA R | 1 ?0044 00000441 R - 1 ?0045 00000319 R | 1 ?0046 0000034A R - 1 ?0047 00000337 R | 1 ?0048 00000337 R - 1 ?0049 0000034A R | 1 ?0050 0000034A R - 1 ?0051 0000038D R | 1 ?0052 00000361 R - 1 ?0053 00000371 R | 1 ?0054 0000037B R - 1 ?0055 0000037E R | 1 ?0056 00000380 R - 1 ?0057 0000038A R | 1 ?0058 0000038D R - 1 ?0059 000003AC R | 1 ?0060 000003C9 R - 1 ?0061 000003AC R | 1 ?0062 000003AC R - 1 ?0063 0000042A R | 1 ?0064 000004EB R - 1 ?0065 000004F5 R | 2 ?0066 00000000 R - 1 ?0067 00000507 R | 1 ?0068 00000511 R - 2 ?0069 00000004 R | 1 ?0070 00000523 R - 1 ?0071 0000052D R | 2 ?0072 00000008 R - 1 ?0073 0000053F R | 1 ?0074 0000054C R - 2 ?0075 0000000C R | 1 ?0076 0000054F R - 1 ?0077 000005A2 R | 1 ?0078 000005AA R - 1 ?0079 000005D4 R | 1 ?0080 000005E1 R - 2 ?0081 00000010 R | 1 ?0082 000005E7 R - 1 ?0083 00000611 R | 1 ?0084 0000064D R - 2 ?0085 00000015 R | 1 ?0086 0000062C R - 1 ?0087 00000634 R | 1 ?0088 0000065C R - 1 ?0089 00000682 R | 2 ?0090 00000019 R - 1 ?0091 00000685 R | 1 ?0092 000006E1 R - 1 ?0093 000006E9 R | 2 ?0094 0000001F R - 1 ?0095 000006E9 R | 1 ?0096 00000712 R - 1 ?0097 00000732 R | 2 ?0098 00000021 R - 1 ?0099 00000737 R | 1 ?0100 0000073A R - 1 ?0101 0000078F R | 1 ?0102 0000079C R - 2 ?0103 00000028 R | 1 ?0104 000007A1 R - 1 ?0105 000007CC R | 1 ?0106 00000804 R - 1 ?0107 000007E8 R | 1 ?0108 000007F1 R - 1 ?0109 00000807 R | 1 ?0110 00000861 R - 1 ?0111 00000899 R | 1 ?0112 0000087D R - 1 ?0113 00000886 R | 2 ?0114 0000002D R - 2 ?0115 00000036 R | 2 ?0116 0000003B R - 1 ?0117 00000937 R | 1 ?0118 00000937 R - 1 ?0119 00000937 R | 1 ?0120 00000937 R - 1 ?0121 00000B2A R | 1 ?0122 00000A3F R - 1 ?0123 00000982 R | 1 ?0124 00000999 R - 2 ?0126 0000003E R | 2 ?0127 00000043 R - 1 ?0128 00000ABF R | 1 ?0129 00000ACE R - 1 ?0130 00000ABF R | 1 ?0131 00000ABF R - 1 ?0132 00000B2A R | 1 ?0133 00000C27 R - 1 ?0134 00000BEB R | 1 ?0135 00000C00 R - 1 ?0137 00000C9E R | 1 ?0138 00000C5A R - 1 ?0139 00000C6E R | 1 ?0141 00000C95 R - 1 ?0142 00000C9A R | 1 ?0143 00000CA1 R - 1 ?0144 00000D37 R | 1 ?0145 00000E2E R - 2 ?0146 00000047 R | 1 ?0147 00000E2E R - 1 ?0148 00000D5C R | 1 ?0149 00000D73 R - 1 ?0151 00000F61 R | 1 ?0152 00000F61 R - 1 ?0153 00000E5C R | 1 ?0154 00000E73 R - 2 ?0156 0000004B R | 2 ?0157 00000052 R - 1 ?0158 00000FFA R | 1 ?0159 00001011 R - 1 ?0160 00001021 R | 1 ?0161 00001171 R - 1 ?0162 00001028 R | 1 ?0163 00001046 R - 1 ?0165 00001079 R | 1 ?0166 00001165 R - 1 ?0167 00001113 R | 1 ?0168 00001091 R - 1 ?0169 000010A8 R | 1 ?0171 0000113C R - 1 ?0172 00001165 R | 1 ?0173 000012F9 R - 1 ?0174 000012C9 R | 1 ?0175 000012E0 R - 1 ?0177 000014E4 R | 1 ?0178 00001340 R - 1 ?0179 00001357 R | 1 ?0181 000013D4 R - 1 ?0182 00001458 R | 1 ?0183 00001458 R - 1 ?0184 000013F6 R | 1 ?0185 0000141E R - 1 ?0186 0000142C R | 1 ?0187 00001443 R - 1 ?0188 00001458 R | 1 ?0189 0000144F R - 1 ?0190 00001458 R | 1 ?0191 000014BE R - 1 ?0192 000014BE R | 1 ?0193 00001464 R - 1 ?0194 0000146D R | 1 ?0195 0000148E R - 1 ?0196 000014BE R | 1 ?0197 0000149A R - 1 ?0198 000014BE R | 1 ?0199 000014F3 R - 1 ?0200 00001543 R | 1 ?0201 0000160A R - 1 ?0202 000015E3 R | 1 ?0203 000015AF R - 1 ?0204 000015B9 R | 1 ?0205 000016A1 R - 1 ?0206 000016B8 R | 1 ?0207 000016BA R - 1 ?0208 000017AC R | 1 ?0209 000016F0 R - 1 ?0210 00001707 R | 1 ?0212 00001738 R - 1 ?0213 000017A0 R | 1 ?0214 00001743 R - 1 ?0215 000017A0 R | 1 ?0216 0000189D R - 1 ?0217 000018B4 R | 1 ?0218 000018B6 R - 1 ?0219 0000198E R | 1 ?0220 00001909 R - 1 ?0221 00001920 R | 1 ?0223 00001BB3 R - 1 ?0224 00001995 R | 1 ?0225 000019AC R - 1 ?0227 000019DE R | 1 ?0228 00001BA7 R - 1 ?0229 000019EA R | 1 ?0230 00001BA7 R - 1 ?0231 00001A4B R | 1 ?0232 00001A0B R - 1 ?0233 00001A22 R | 1 ?0235 00001B73 R - 1 ?0236 00001A62 R | 1 ?0237 00001A79 R - 1 ?0239 00001B56 R | 1 ?0240 00001ACA R - 1 ?0241 00001AFE R | 1 ?0242 00001C02 R - 1 ?0243 00001BC8 R | 1 ?0244 00001BDF R - 1 ?0246 00001C36 R | 1 ?0247 00001C3A R - 1 ?0248 00001C79 R | 1 ?0249 00001C41 R - 1 ?0250 00001C4B R | 1 ?0251 00001C59 R - 1 ?0252 00001C67 R | 1 ?0253 00001C87 R - 1 ?0254 00001CB0 R | 1 ?0255 00001CB9 R - 1 ?0256 00001CD0 R | 1 ?0257 00001CE4 R - 1 ?0258 00001D22 R | 1 ?0259 00001D2E R - 1 ?0260 00001D3F R | 1 ?0261 00001D36 R - 1 ?0262 00001D39 R | 1 ?0263 00001E7A R - 1 ?0264 00001DC7 R | 1 ?0265 00001DE2 R - 1 ?0266 00001E0D R | 1 ?0267 00001E2E R - 1 ?0268 00001E7A R | 1 ?0269 00001E54 R - 1 ?0270 00001E7A R | 1 ?0271 00001EFD R - 1 ?0272 00001ED0 R | 1 ?0273 00001EE6 R - 1 ?0274 00001EF9 R | 1 ?0275 00001EF9 R - 1 ?0276 00001FBC R | 1 ?0277 00001F52 R - 1 ?0278 00001F6A R | 1 ?0279 00001FA1 R - 1 ?0280 00001FAC R | 1 ?0281 00001FB6 R - 1 ?0282 00001FB9 R | 1 ?0283 00002016 R - 1 ?0284 00001FF4 R | 1 ?0285 00001FF8 R - 1 ?0286 00001FFC R | 1 ?0287 00002000 R - 1 ?0288 00002004 R | 1 ?0289 00002008 R - 1 ?0290 0000200C R | 1 ?0291 00002010 R - 1 ?0292 00002012 R | 1 ?0293 00002079 R - 1 ?0294 0000209D R | 1 ?0295 000020CA R - 1 ?0296 000020A4 R | 1 ?0297 000020B4 R - 1 ?0299 00002427 R | 1 ?0301 000020DB R - 1 ?0302 000020E2 R | 1 ?0303 00002108 R - 1 ?0304 00002126 R | 1 ?0305 00002403 R - 1 ?0306 0000212B R | 1 ?0307 00002189 R - 1 ?0308 0000213E R | 1 ?0309 00002146 R - 1 ?0310 0000215A R | 1 ?0311 00002189 R - 1 ?0312 00002403 R | 1 ?0313 0000219D R - 1 ?0314 000021E3 R | 1 ?0315 000021A5 R - 1 ?0316 000021BF R | 1 ?0317 000021CB R - 1 ?0318 000023FB R | 1 ?0319 000021ED R - 1 ?0320 00002264 R | 1 ?0321 0000220A R - 1 ?0322 00002235 R | 1 ?0323 0000223E R - 1 ?0324 000023FB R | 1 ?0325 0000226E R - 1 ?0326 00002298 R | 1 ?0327 00002276 R - 1 ?0328 00002289 R | 1 ?0329 00002295 R - 1 ?0330 000023FB R | 1 ?0331 000022A2 R - 1 ?0332 000023FB R | 1 ?0333 000022AA R - 1 ?0334 000022BC R | 1 ?0335 000022C8 R - 1 ?0336 000022E5 R | 1 ?0337 000022C8 R - 1 ?0338 000022DA R | 1 ?0339 000022DA R - 1 ?0340 000022DA R | 1 ?0341 000022F7 R - 1 ?0342 0000232E R | 1 ?0343 000022F7 R - 1 ?0344 000022F7 R | 1 ?0345 000023FB R - 1 ?0346 00002340 R | 1 ?0347 00002392 R - 1 ?0348 00002340 R | 1 ?0349 00002340 R - 1 ?0350 000023FB R | 1 ?0351 00002455 R - 1 ?0352 00002427 R | 1 ?0353 0000243D R - 1 ?0354 0000243D R | 1 ?0355 0000243D R - 1 ?0356 00002457 R | 1 ?0357 000024A1 R - 1 ?0358 000024BD R | 1 ?0359 000024D7 R - 1 ?0360 00002890 R | 1 ?0361 00002511 R - 1 ?0362 00002605 R | 1 ?0363 00002522 R - 1 ?0364 00002605 R | 1 ?0365 00002522 R - 1 ?0366 00002522 R | 1 ?0367 000025F6 R - 1 ?0368 0000252D R | 1 ?0369 0000255A R - 1 ?0370 00002592 R | 1 ?0371 000025BF R - 1 ?0372 00002890 R | 1 ?0373 00002618 R - 1 ?0374 0000273A R | 1 ?0375 00002618 R - 1 ?0376 00002618 R | 1 ?0377 0000273A R - 1 ?0378 0000263B R | 1 ?0380 00002673 R - 1 ?0382 00002679 R | 1 ?0386 00002696 R - 1 ?0390 000026B9 R | 1 ?0394 000026DC R - 1 ?0396 000026FC R | 1 ?0398 00002700 R - 1 ?0399 00002718 R | 1 ?0400 00002754 R - 1 ?0401 00002834 R | 1 ?0402 00002754 R - 1 ?0403 00002754 R | 1 ?0404 00002834 R - 1 ?0405 0000278F R | 1 ?0407 0000279B R - 1 ?0409 000027A0 R | 1 ?0413 000027AD R - 1 ?0417 000027C6 R | 1 ?0421 000027DF R - 1 ?0423 000027EF R | 1 ?0424 000027F1 R - 1 ?0425 000027FF R | 1 ?0426 0000284E R - 1 ?0427 00002890 R | 1 ?0428 0000284E R - 1 ?0429 0000284E R | 1 ?0430 00002890 R - 1 ?0431 00002859 R | 1 ?0432 00002872 R - 1 ?0433 00002A05 R | 1 ?0434 0000289C R - 1 ?0435 00002915 R | 1 ?0436 00002915 R - 1 ?0437 000028B2 R | 1 ?0438 000028C9 R - 1 ?0440 000028FF R | 1 ?0441 0000290B R - 1 ?0442 00002923 R | 1 ?0443 0000296A R - 1 ?0444 00002923 R | 1 ?0445 00002923 R - 1 ?0446 0000292A R | 1 ?0447 00002954 R - 1 ?0448 0000296A R | 1 ?0449 00002A05 R - 1 ?0450 00002994 R | 1 ?0451 000029BA R - 1 ?0452 00002A05 R | 1 ?0453 000029E4 R - 1 ?0454 00002A05 R | 1 ?0458 000000CA R - 1 ?0459 00000272 R | 1 ?0463 0000036B R - 1 ?0464 0000036C R | 1 ?0465 00000435 R - 1 ?0472 00000547 R | 1 ?0473 000005AA R - 1 ?0475 0000061C R | 1 ?0476 00000634 R - 1 ?0477 00000667 R | 1 ?0481 000006E9 R - 1 ?0482 0000071D R | 1 ?0488 000007D7 R - 1 ?0489 000007F1 R | 1 ?0492 0000086C R - 1 ?0493 00000886 R | 1 ?0494 00000996 R - 1 ?0498 00000BFD R | 1 ?0500 00000C6B R - 1 ?0501 00000D70 R | 1 ?0503 00000E70 R - 1 ?0505 00001043 R | 1 ?0506 000010A5 R - 1 ?0508 00001165 R | 1 ?0510 00001013 R - 1 ?0511 000012DD R | 1 ?0513 00001354 R - 1 ?0516 000014BB R | 1 ?0517 000015F6 R - 1 ?0519 000014A0 R | 1 ?0520 00001481 R - 1 ?0521 00001704 R | 1 ?0522 000017A0 R - 1 ?0524 000016BA R | 1 ?0525 0000191D R - 1 ?0527 000019A9 R | 1 ?0528 00001A1F R - 1 ?0530 00001A76 R | 1 ?0533 00001BDC R - 1 ?0535 000018B6 R | 1 ?0536 00001B34 R - 1 ?0545 00001C73 R | 1 ?0547 00001CCD R - 1 ?0548 00001E79 R | 1 ?0549 00002165 R - 1 ?0550 000021EA R | 1 ?0551 0000229F R - 1 ?0552 000022CF R | 1 ?0553 000022F4 R - 1 ?0554 0000233D R | 1 ?0555 0000240B R - 1 ?0556 00002416 R | 1 ?0557 000023F8 R - 1 ?0560 000027BE R | 1 ?0561 000027D7 R - 1 ?0562 000028C6 R | 1 ?0564 0000258D R - 1 ?0583 000025EA R | 1 ?0597 000026F7 R - 1 ?0598 0000272E R | 1 ?0604 000027EA R - 1 ?0606 000029AC R | 1 ?0614 0000006B R - 1 ?0625 00000101 R | 1 ?0626 000002E1 R - 1 ?0630 0000047B R | 1 ?0634 00000B80 R - 1 ?0636 00000B83 R | 1 ?0637 00001814 R - 1 ?0638 00000035 R | 1 ?0639 0000003B R - 1 ?0640 000011E0 R | 1 ?0641 0000048F R - 1 ?0642 0000048E R | 1 ?0643 00000484 R - 1 ?0644 0000048D R | 1 ?0645 00000B4B R - 1 ?0646 00000B41 R | 1 ?0647 0000120F R - 1 ?0648 00000497 R | 1 ?0649 00000498 R - 1 ?0650 00000B53 R | 1 ?0651 000004AD R - 1 ?0652 000004AC R | 1 ?0653 000004AB R - 1 ?0654 000004A8 R | 1 ?0655 000004A0 R - 1 ?0656 00000560 R | 1 ?0657 00000552 R - 1 ?0658 0000055E R | 1 ?0659 0000068F R - 1 ?0660 0000068A R | 1 ?0661 0000122F R - 1 ?0662 00001221 R | 1 ?0663 00001237 R - 1 ?0664 0000165A R | 1 ?0665 00001654 R - 1 ?0666 0000245F R | 1 ?0667 0000245A R - 1 ?0668 0000245C R | 1 ?0669 00002467 R - 1 ?0670 00002480 R | 1 ?0671 00002A08 R - 1 ?0672 00002A0E R | 1 ?0673 00002A1D R - 1 ?0674 00002A32 R | ?BANK_CALL_DIR ******** GX - ?BANK_FAST_LEA ******** GX | ?CL64180B_4_06 ******** GX - ?C_V_SWITCH_L0 ******** GX | ?L_AND_L03 ******** GX - ?L_MUL_L03 ******** GX | ?L_OR_L03 ******** GX - ?SL_CMP_L03 ******** GX | ?SL_DIV_L03 ******** GX - __fopen ******** GX | atoi ******** GX - atol ******** GX | 1 dbDeleteExpres 00002497 GR - 1 dbDeleteList 00000000 GR | 1 dbDeleteRow 00001D25 GR - 1 dbEvaluateExpr 000024C0 GR | 1 dbExecuteDelet 00001662 GR - 1 dbExecuteInser 00001259 GR | 1 dbExecuteQuery 00000CA4 GR - 1 dbExecuteState 00001C1E GR | 1 dbExecuteUpdat 0000185E GR - 1 dbFieldOffset 00000BDD GR | 1 dbFieldSearch 00000C4E GR - 1 dbGetInt 00001E7D GR | 1 dbGetLong 00001EFD GR - 1 dbGetString 00001D71 GR | 1 dbListIndex 00000043 GR - 1 dbListSize 00000073 GR | 1 dbNewExpressio 00002016 GR - 1 dbNewRow 00001D44 GR | 1 dbNextRow 00001C8A GR - 1 dbOperatorPrec 00001FBC GR | 1 dbParseDelete 0000080B GR - 1 dbParseExpress 0000205D GR | 1 dbParseInsert 00000697 GR - 1 dbParseList 000002E9 GR | 1 dbParseSelect 00000568 GR - 1 dbParseStateme 000004B5 GR | 1 dbParseUpdate 0000073E GR - 1 dbRecordSize 00000C32 GR | 1 dbReplaceChar 0000029F GR - 1 dbResultSetClo 00000BCA GR | 1 dbSkipLiteral 000000A3 GR - 1 dbStatementClo 00000B8E GR | 1 dbTableClose 00000B70 GR - 1 dbTableOpen 000008A0 GR | 1 dbTrimString 00000109 GR - fclose ******** GX | fread ******** GX - free ******** GX | fseek ******** GX - fwrite ******** GX | itoa ******** GX - ltoa ******** GX | malloc ******** GX - memcpy ******** GX | strcat ******** GX - strcmp ******** GX | strcpy ******** GX - strlen ******** GX | strncmp ******** GX - - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. -Hexadecimal [32-Bits] - -Area Table - - 0 _DEFAULT size 0 flags 0 - 1 CODE size 2A47 flags 0 - 2 CSTR size 55 flags 0 diff --git a/src/db/main.lst b/src/db/main.lst deleted file mode 100644 index c85d382d..00000000 --- a/src/db/main.lst +++ /dev/null @@ -1,258 +0,0 @@ - 1 NAME main(17) - 2 RSEG CODE(0) - 3 RSEG CSTR(0) - 4 RSEG CONST(0) - 5 EXTERN dbDeleteRow - 6 EXTERN dbExecuteStatement - 7 EXTERN dbGetString - 8 EXTERN dbNewRow - 9 EXTERN dbNextRow - 10 EXTERN dbResultSetClose - 11 EXTERN fflush - 12 EXTERN gets - 13 PUBLIC main - 14 EXTERN malloc - 15 EXTERN printf - 16 EXTERN stdout - 17 EXTERN strcmp - 18 EXTERN ?CL64180B_4_06_L00 - 19 EXTERN ?BANK_CALL_DIRECT_L08 - 20 EXTERN ?BANK_FAST_LEAVE_L08 - 21 RSEG CODE - 00000000 22 main: - 00000000 C5 23 PUSH BC - 00000001 D5 24 PUSH DE - 00000002 FD E5 25 PUSH IY - 00000004 DD E5 26 PUSH IX - 00000006 21 92 FE 27 LD HL,65170 - 00000009 39 28 ADD HL,SP - 0000000A F9 29 LD SP,HL - 0000000B 21 46 01 30 LD HL,326 - 0000000E 39 31 ADD HL,SP - 0000000F EB 32 EX DE,HL - 00000010 21 00 00 33 LD HL,?0000 - 00000013 01 27 00 34 LD BC,39 - 00000016 ED B0 35 LDIR - 00000018 11 06 00 36 LD DE,6 - 0000001B 3E 00 37 LD A,BYTE3 malloc - 0000001D 21 00 00 38 LD HL,LWRD malloc - 00000020 CD 00 00 39 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000023 11 14 00 40 LD DE,20 - 00000026 3E 00 41 LD A,BYTE3 malloc - 00000028 21 00 00 42 LD HL,LWRD malloc - 0000002B CD 00 00 43 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000002E 21 04 00 44 LD HL,4 - 00000031 39 45 ADD HL,SP - 00000032 70 46 LD (HL),B - 00000033 47 ?0002: - 00000033 01 00 00 48 LD BC,?0004 - 00000036 21 04 00 49 LD HL,4 - 00000039 39 50 ADD HL,SP - 0000003A EB 51 EX DE,HL - 0000003B 3E 00 52 LD A,BYTE3 strcmp - 0000003D 21 00 00 53 LD HL,LWRD strcmp - 00000040 CD 00 00 54 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000043 7D 55 LD A,L - 00000044 B4 56 OR H - 00000045 CA 33 01 57 JP Z,?0001 - 00000048 58 ?0003: - 00000048 21 03 00 59 LD HL,?0005 - 0000004B E5 60 PUSH HL - 0000004C 3E 00 61 LD A,BYTE3 printf - 0000004E 21 00 00 62 LD HL,LWRD printf - 00000051 CD 00 00 63 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000054 F1 64 POP AF - 00000055 11 00 00 65 LD DE,stdout - 00000058 3E 00 66 LD A,BYTE3 fflush - 0000005A 21 00 00 67 LD HL,LWRD fflush - 0000005D CD 00 00 68 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000060 21 04 00 69 LD HL,4 - 00000063 39 70 ADD HL,SP - 00000064 EB 71 EX DE,HL - 00000065 3E 00 72 LD A,BYTE3 gets - 00000067 21 00 00 73 LD HL,LWRD gets - 0000006A CD 00 00 74 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000006D 21 00 00 75 LD HL,0 - 00000070 39 76 ADD HL,SP - 00000071 E5 77 PUSH HL - 00000072 21 06 00 78 LD HL,6 - 00000075 39 79 ADD HL,SP - 00000076 EB 80 EX DE,HL - 00000077 3E 00 81 LD A,BYTE3 dbExecuteStatement - 00000079 21 00 00 82 LD HL,LWRD dbExecuteStatement - 0000007C CD 00 00 83 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000007F 4D 84 LD C,L - 00000080 44 85 LD B,H - 00000081 E1 86 POP HL - 00000082 71 87 LD (HL),C - 00000083 23 88 INC HL - 00000084 70 89 LD (HL),B - 00000085 3E 00 90 LD A,BYTE3 dbNewRow - 00000087 21 00 00 91 LD HL,LWRD dbNewRow - 0000008A CD 00 00 92 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000008D E5 93 PUSH HL - 0000008E FD E1 94 POP IY - 00000090 79 95 LD A,C - 00000091 B0 96 OR B - 00000092 CA 25 01 97 JP Z,?0007 - 00000095 98 ?0006: - 00000095 99 ?0028: - 00000095 FD E5 100 PUSH IY - 00000097 C1 101 POP BC - 00000098 21 00 00 102 LD HL,0 - 0000009B 103 ?0029: - 0000009B 39 104 ADD HL,SP - 0000009C 5E 105 LD E,(HL) - 0000009D 106 ?0030: - 0000009D 23 107 INC HL - 0000009E 56 108 LD D,(HL) - 0000009F 109 ?0031: - 0000009F 3E 00 110 LD A,BYTE3 dbNextRow - 000000A1 21 00 00 111 LD HL,LWRD dbNextRow - 000000A4 112 ?0032: - 000000A4 CD 00 00 113 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000000A7 114 ?0009: - 000000A7 FD CB 03 7E 115 BIT 7,(IY+3) - 000000AB 20 69 116 JR NZ,?0008 - 000000AD 117 ?0010: - 000000AD DD 21 00 00 118 LD IX,0 - 000000B1 119 ?0012: - 000000B1 21 00 00 120 LD HL,0 - 000000B4 39 121 ADD HL,SP - 000000B5 7E 122 LD A,(HL) - 000000B6 23 123 INC HL - 000000B7 66 124 LD H,(HL) - 000000B8 6F 125 LD L,A - 000000B9 4E 126 LD C,(HL) - 000000BA 23 127 INC HL - 000000BB 46 128 LD B,(HL) - 000000BC DD E5 129 PUSH IX - 000000BE E1 130 POP HL - 000000BF F6 80 131 OR 128 - 000000C1 ED 42 132 SBC HL,BC - 000000C3 E2 C7 00 133 JP PO,?0027 - 000000C6 AC 134 XOR H - 000000C7 135 ?0027: - 000000C7 F2 F5 00 136 JP P,?0011 - 000000CA 137 ?0013: - 000000CA 21 04 01 138 LD HL,260 - 000000CD 39 139 ADD HL,SP - 000000CE E5 140 PUSH HL - 000000CF DD E5 141 PUSH IX - 000000D1 C1 142 POP BC - 000000D2 FD E5 143 PUSH IY - 000000D4 D1 144 POP DE - 000000D5 3E 00 145 LD A,BYTE3 dbGetString - 000000D7 21 00 00 146 LD HL,LWRD dbGetString - 000000DA CD 00 00 147 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000000DD E1 148 POP HL - 000000DE 21 04 01 149 LD HL,260 - 000000E1 39 150 ADD HL,SP - 000000E2 E5 151 PUSH HL - 000000E3 21 09 00 152 LD HL,?0015 - 000000E6 E5 153 PUSH HL - 000000E7 3E 00 154 LD A,BYTE3 printf - 000000E9 21 00 00 155 LD HL,LWRD printf - 000000EC CD 00 00 156 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000000EF F1 157 POP AF - 000000F0 F1 158 POP AF - 000000F1 DD 23 159 INC IX - 000000F3 18 BC 160 JR ?0012 - 000000F5 161 ?0011: - 000000F5 21 0F 00 162 LD HL,?0016 - 000000F8 E5 163 PUSH HL - 000000F9 3E 00 164 LD A,BYTE3 printf - 000000FB 21 00 00 165 LD HL,LWRD printf - 000000FE CD 00 00 166 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000101 F1 167 POP AF - 00000102 18 91 168 JR ?0028 - 00000104 21 00 00 169 LD HL,0 - 00000107 18 92 170 JR ?0029 - 00000109 5E 171 LD E,(HL) - 0000010A 18 91 172 JR ?0030 - 0000010C 56 173 LD D,(HL) - 0000010D 18 90 174 JR ?0031 - 0000010F 21 00 00 175 LD HL,LWRD dbNextRow - 00000112 18 90 176 JR ?0032 - 00000114 18 91 177 JR ?0009 - 00000116 178 ?0008: - 00000116 21 00 00 179 LD HL,0 - 00000119 39 180 ADD HL,SP - 0000011A 5E 181 LD E,(HL) - 0000011B 23 182 INC HL - 0000011C 56 183 LD D,(HL) - 0000011D 3E 00 184 LD A,BYTE3 dbResultSetClose - 0000011F 21 00 00 185 LD HL,LWRD dbResultSetClose - 00000122 CD 00 00 186 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000125 187 ?0007: - 00000125 FD E5 188 PUSH IY - 00000127 D1 189 POP DE - 00000128 3E 00 190 LD A,BYTE3 dbDeleteRow - 0000012A 21 00 00 191 LD HL,LWRD dbDeleteRow - 0000012D CD 00 00 192 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000130 C3 33 00 193 JP LWRD ?0002 - 00000133 194 ?0001: - 00000133 21 6E 01 195 LD HL,366 - 00000136 39 196 ADD HL,SP - 00000137 F9 197 LD SP,HL - 00000138 DD E1 198 POP IX - 0000013A FD E1 199 POP IY - 0000013C D1 200 POP DE - 0000013D C1 201 POP BC - 0000013E C3 00 00 202 JP LWRD ?BANK_FAST_LEAVE_L08 - 203 RSEG CSTR - 00000000 204 ?0004: - 00000000 51 54 205 DEFB 'QT' - 00000002 00 206 DEFB 0 - 00000003 207 ?0005: - 00000003 53 51 4C 3E 20 208 DEFB 'SQL> ' - 00000008 00 209 DEFB 0 - 00000009 210 ?0015: - 00000009 27 25 73 27 2C 211 DEFB '''%s'',' - 0000000E 00 212 DEFB 0 - 0000000F 213 ?0016: - 0000000F 0A 00 214 DEFB 10,0 - 215 RSEG CONST - 00000000 216 ?0000: - 00000000 53 45 4C 20 63 6F 6C 217 DEFB 'SEL column1, column2, testtest FR test' - 75 6D 6E 31 2C 20 63 - 6F 6C 75 6D 6E 32 2C - 20 74 65 73 74 74 65 - 73 74 20 46 52 20 74 - 65 73 74 - 00000026 00 218 DEFB 0 - 00000027 219 END - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. -Hexadecimal [32-Bits] - -Symbol Table - - .__.ABS. = 00000000 G | 3 ?0000 00000000 R - 1 ?0001 00000133 R | 1 ?0002 00000033 R - 1 ?0003 00000048 R | 2 ?0004 00000000 R - 2 ?0005 00000003 R | 1 ?0006 00000095 R - 1 ?0007 00000125 R | 1 ?0008 00000116 R - 1 ?0009 000000A7 R | 1 ?0010 000000AD R - 1 ?0011 000000F5 R | 1 ?0012 000000B1 R - 1 ?0013 000000CA R | 2 ?0015 00000009 R - 2 ?0016 0000000F R | 1 ?0027 000000C7 R - 1 ?0028 00000095 R | 1 ?0029 0000009B R - 1 ?0030 0000009D R | 1 ?0031 0000009F R - 1 ?0032 000000A4 R | ?BANK_CALL_DIR ******** GX - ?BANK_FAST_LEA ******** GX | ?CL64180B_4_06 ******** GX - dbDeleteRow ******** GX | dbExecuteState ******** GX - dbGetString ******** GX | dbNewRow ******** GX - dbNextRow ******** GX | dbResultSetClo ******** GX - fflush ******** GX | gets ******** GX - 1 main 00000000 GR | malloc ******** GX - printf ******** GX | stdout ******** GX - strcmp ******** GX - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. -Hexadecimal [32-Bits] - -Area Table - - 0 _DEFAULT size 0 flags 0 - 1 CODE size 141 flags 0 - 2 CSTR size 11 flags 0 - 3 CONST size 27 flags 0 diff --git a/src/db/main.rel b/src/db/main.rel deleted file mode 100644 index 99f5b630..00000000 --- a/src/db/main.rel +++ /dev/null @@ -1,188 +0,0 @@ -XL4 -H 4 areas 11 global symbols -M main -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S dbResultSetClose Ref00000000 -S fflush Ref00000000 -S dbExecuteStatement Ref00000000 -S dbDeleteRow Ref00000000 -S printf Ref00000000 -S strcmp Ref00000000 -S dbNextRow Ref00000000 -S dbGetString Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S stdout Ref00000000 -S dbNewRow Ref00000000 -S gets Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S malloc Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 141 flags 0 -S main Def00000000 -A CSTR size 11 flags 0 -A CONST size 27 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 FD E5 DD E5 21 92 FE 39 F9 -R 00 00 01 00 -T 0B 00 00 00 21 46 01 39 EB 21 00 00 00 00 01 -R 00 00 01 00 00 0A 03 00 -T 14 00 00 00 27 00 ED B0 11 06 00 3E -R 00 00 01 00 -T 1C 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 -T 21 00 00 00 00 00 00 00 11 14 00 3E -R 00 00 01 00 02 04 09 00 -T 27 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 -T 2C 00 00 00 00 00 00 00 21 04 00 39 70 -R 00 00 01 00 02 04 09 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 01 00 00 00 00 21 04 00 39 EB 3E -R 00 00 01 00 00 05 02 00 -T 3C 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 -T 41 00 00 00 00 00 00 00 7D B4 CA 33 01 00 00 -R 00 00 01 00 02 04 09 00 00 0B 01 00 -T 48 00 00 00 -R 00 00 01 00 -T 48 00 00 00 21 03 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 05 00 -T 4E 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 05 00 02 0A 09 00 -T 55 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 0A 00 2B 0A 02 00 -T 5B 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 02 00 02 09 09 00 -T 61 00 00 00 04 00 39 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0C 00 -T 68 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0C 00 02 09 09 00 -T 6E 00 00 00 00 00 39 E5 21 06 00 39 EB 3E -R 00 00 01 00 -T 78 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 7D 00 00 00 00 00 00 00 4D 44 E1 71 23 70 3E -R 00 00 01 00 02 04 09 00 -T 86 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 -T 8B 00 00 00 00 00 00 00 E5 FD E1 79 B0 CA -R 00 00 01 00 02 04 09 00 -T 93 00 00 00 25 01 00 00 -R 00 00 01 00 00 04 01 00 -T 95 00 00 00 -R 00 00 01 00 -T 95 00 00 00 -R 00 00 01 00 -T 95 00 00 00 FD E5 C1 21 00 00 -R 00 00 01 00 -T 9B 00 00 00 -R 00 00 01 00 -T 9B 00 00 00 39 5E -R 00 00 01 00 -T 9D 00 00 00 -R 00 00 01 00 -T 9D 00 00 00 23 56 -R 00 00 01 00 -T 9F 00 00 00 -R 00 00 01 00 -T 9F 00 00 00 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0A 07 00 -T A4 00 00 00 -R 00 00 01 00 -T A4 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 09 00 -T A7 00 00 00 -R 00 00 01 00 -T A7 00 00 00 FD CB 03 7E 20 69 -R 00 00 01 00 -T AD 00 00 00 -R 00 00 01 00 -T AD 00 00 00 DD 21 00 00 -R 00 00 01 00 -T B1 00 00 00 -R 00 00 01 00 -T B1 00 00 00 21 00 00 39 7E 23 66 6F 4E 23 46 -R 00 00 01 00 -T BC 00 00 00 DD E5 E1 F6 80 ED 42 E2 -R 00 00 01 00 -T C4 00 00 00 C7 00 00 00 AC -R 00 00 01 00 00 04 01 00 -T C7 00 00 00 -R 00 00 01 00 -T C7 00 00 00 F2 F5 00 00 00 -R 00 00 01 00 00 05 01 00 -T CA 00 00 00 -R 00 00 01 00 -T CA 00 00 00 21 04 01 39 E5 DD E5 C1 FD E5 D1 -R 00 00 01 00 -T D5 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 08 00 02 0A 08 00 -T DB 00 00 00 00 00 00 00 E1 21 04 01 39 E5 21 -R 00 00 01 00 02 04 09 00 -T E4 00 00 00 09 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 2B 0A 05 00 -T EA 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 05 00 02 09 09 00 -T F1 00 00 00 DD 23 18 BC -R 00 00 01 00 -T F5 00 00 00 -R 00 00 01 00 -T F5 00 00 00 21 0F 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 05 00 -T FB 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 05 00 02 0A 09 00 -T 02 01 00 00 18 91 21 00 00 18 92 5E 18 91 56 -R 00 00 01 00 -T 0D 01 00 00 18 90 21 00 00 00 00 18 90 18 91 -R 00 00 01 00 02 07 07 00 -T 16 01 00 00 -R 00 00 01 00 -T 16 01 00 00 21 00 00 39 5E 23 56 3E -R 00 00 01 00 -T 1E 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 23 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 09 00 -T 25 01 00 00 -R 00 00 01 00 -T 25 01 00 00 FD E5 D1 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 04 00 -T 2B 01 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 04 00 02 09 09 00 -T 31 01 00 00 33 00 00 00 -R 00 00 01 00 00 04 01 00 -T 33 01 00 00 -R 00 00 01 00 -T 33 01 00 00 21 6E 01 39 F9 DD E1 FD E1 D1 C1 -R 00 00 01 00 -T 3E 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 51 54 00 -R 00 00 02 00 -T 03 00 00 00 -R 00 00 02 00 -T 03 00 00 00 53 51 4C 3E 20 00 -R 00 00 02 00 -T 09 00 00 00 -R 00 00 02 00 -T 09 00 00 00 27 25 73 27 2C 00 -R 00 00 02 00 -T 0F 00 00 00 -R 00 00 02 00 -T 0F 00 00 00 0A 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 53 45 4C 20 63 6F 6C 75 6D 6E 31 -R 00 00 03 00 -T 0B 00 00 00 2C 20 63 6F 6C 75 6D 6E 32 2C 20 -R 00 00 03 00 -T 16 00 00 00 74 65 73 74 74 65 73 74 20 46 52 -R 00 00 03 00 -T 21 00 00 00 20 74 65 73 74 00 -R 00 00 03 00 diff --git a/src/db/main.rst b/src/db/main.rst deleted file mode 100644 index 87cefc4f..00000000 --- a/src/db/main.rst +++ /dev/null @@ -1,258 +0,0 @@ - 1 NAME main(17) - 2 RSEG CODE(0) - 3 RSEG CSTR(0) - 4 RSEG CONST(0) - 5 EXTERN dbDeleteRow - 6 EXTERN dbExecuteStatement - 7 EXTERN dbGetString - 8 EXTERN dbNewRow - 9 EXTERN dbNextRow - 10 EXTERN dbResultSetClose - 11 EXTERN fflush - 12 EXTERN gets - 13 PUBLIC main - 14 EXTERN malloc - 15 EXTERN printf - 16 EXTERN stdout - 17 EXTERN strcmp - 18 EXTERN ?CL64180B_4_06_L00 - 19 EXTERN ?BANK_CALL_DIRECT_L08 - 20 EXTERN ?BANK_FAST_LEAVE_L08 - 21 RSEG CODE - 00006F9C 22 main: - 00006F9C C5 23 PUSH BC - 00006F9D D5 24 PUSH DE - 00006F9E FD E5 25 PUSH IY - 00006FA0 DD E5 26 PUSH IX - 00006FA2 21 92 FE 27 LD HL,65170 - 00006FA5 39 28 ADD HL,SP - 00006FA6 F9 29 LD SP,HL - 00006FA7 21 46 01 30 LD HL,326 - 00006FAA 39 31 ADD HL,SP - 00006FAB EB 32 EX DE,HL - 00006FAC 21 5A 84 33 LD HL,?0000 - 00006FAF 01 27 00 34 LD BC,39 - 00006FB2 ED B0 35 LDIR - 00006FB4 11 06 00 36 LD DE,6 - 00006FB7 3E 01 37 LD A,BYTE3 malloc - 00006FB9 21 82 4A 38 LD HL,LWRD malloc - 00006FBC CD 19 82 39 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006FBF 11 14 00 40 LD DE,20 - 00006FC2 3E 01 41 LD A,BYTE3 malloc - 00006FC4 21 82 4A 42 LD HL,LWRD malloc - 00006FC7 CD 19 82 43 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006FCA 21 04 00 44 LD HL,4 - 00006FCD 39 45 ADD HL,SP - 00006FCE 70 46 LD (HL),B - 00006FCF 47 ?0002: - 00006FCF 01 D6 84 48 LD BC,?0004 - 00006FD2 21 04 00 49 LD HL,4 - 00006FD5 39 50 ADD HL,SP - 00006FD6 EB 51 EX DE,HL - 00006FD7 3E 00 52 LD A,BYTE3 strcmp - 00006FD9 21 93 7D 53 LD HL,LWRD strcmp - 00006FDC CD 19 82 54 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006FDF 7D 55 LD A,L - 00006FE0 B4 56 OR H - 00006FE1 CA CF 70 57 JP Z,?0001 - 00006FE4 58 ?0003: - 00006FE4 21 D9 84 59 LD HL,?0005 - 00006FE7 E5 60 PUSH HL - 00006FE8 3E 00 61 LD A,BYTE3 printf - 00006FEA 21 32 7A 62 LD HL,LWRD printf - 00006FED CD 19 82 63 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006FF0 F1 64 POP AF - 00006FF1 11 0D 85 65 LD DE,stdout - 00006FF4 3E 00 66 LD A,BYTE3 fflush - 00006FF6 21 EC 72 67 LD HL,LWRD fflush - 00006FF9 CD 19 82 68 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00006FFC 21 04 00 69 LD HL,4 - 00006FFF 39 70 ADD HL,SP - 00007000 EB 71 EX DE,HL - 00007001 3E 01 72 LD A,BYTE3 gets - 00007003 21 C4 49 73 LD HL,LWRD gets - 00007006 CD 19 82 74 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00007009 21 00 00 75 LD HL,0 - 0000700C 39 76 ADD HL,SP - 0000700D E5 77 PUSH HL - 0000700E 21 06 00 78 LD HL,6 - 00007011 39 79 ADD HL,SP - 00007012 EB 80 EX DE,HL - 00007013 3E 00 81 LD A,BYTE3 dbExecuteStatement - 00007015 21 73 61 82 LD HL,LWRD dbExecuteStatement - 00007018 CD 19 82 83 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000701B 4D 84 LD C,L - 0000701C 44 85 LD B,H - 0000701D E1 86 POP HL - 0000701E 71 87 LD (HL),C - 0000701F 23 88 INC HL - 00007020 70 89 LD (HL),B - 00007021 3E 00 90 LD A,BYTE3 dbNewRow - 00007023 21 99 62 91 LD HL,LWRD dbNewRow - 00007026 CD 19 82 92 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00007029 E5 93 PUSH HL - 0000702A FD E1 94 POP IY - 0000702C 79 95 LD A,C - 0000702D B0 96 OR B - 0000702E CA C1 70 97 JP Z,?0007 - 00007031 98 ?0006: - 00007031 99 ?0028: - 00007031 FD E5 100 PUSH IY - 00007033 C1 101 POP BC - 00007034 21 00 00 102 LD HL,0 - 00007037 103 ?0029: - 00007037 39 104 ADD HL,SP - 00007038 5E 105 LD E,(HL) - 00007039 106 ?0030: - 00007039 23 107 INC HL - 0000703A 56 108 LD D,(HL) - 0000703B 109 ?0031: - 0000703B 3E 00 110 LD A,BYTE3 dbNextRow - 0000703D 21 DF 61 111 LD HL,LWRD dbNextRow - 00007040 112 ?0032: - 00007040 CD 19 82 113 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00007043 114 ?0009: - 00007043 FD CB 03 7E 115 BIT 7,(IY+3) - 00007047 20 69 116 JR NZ,?0008 - 00007049 117 ?0010: - 00007049 DD 21 00 00 118 LD IX,0 - 0000704D 119 ?0012: - 0000704D 21 00 00 120 LD HL,0 - 00007050 39 121 ADD HL,SP - 00007051 7E 122 LD A,(HL) - 00007052 23 123 INC HL - 00007053 66 124 LD H,(HL) - 00007054 6F 125 LD L,A - 00007055 4E 126 LD C,(HL) - 00007056 23 127 INC HL - 00007057 46 128 LD B,(HL) - 00007058 DD E5 129 PUSH IX - 0000705A E1 130 POP HL - 0000705B F6 80 131 OR 128 - 0000705D ED 42 132 SBC HL,BC - 0000705F E2 63 70 133 JP PO,?0027 - 00007062 AC 134 XOR H - 00007063 135 ?0027: - 00007063 F2 91 70 136 JP P,?0011 - 00007066 137 ?0013: - 00007066 21 04 01 138 LD HL,260 - 00007069 39 139 ADD HL,SP - 0000706A E5 140 PUSH HL - 0000706B DD E5 141 PUSH IX - 0000706D C1 142 POP BC - 0000706E FD E5 143 PUSH IY - 00007070 D1 144 POP DE - 00007071 3E 00 145 LD A,BYTE3 dbGetString - 00007073 21 C6 62 146 LD HL,LWRD dbGetString - 00007076 CD 19 82 147 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00007079 E1 148 POP HL - 0000707A 21 04 01 149 LD HL,260 - 0000707D 39 150 ADD HL,SP - 0000707E E5 151 PUSH HL - 0000707F 21 DF 84 152 LD HL,?0015 - 00007082 E5 153 PUSH HL - 00007083 3E 00 154 LD A,BYTE3 printf - 00007085 21 32 7A 155 LD HL,LWRD printf - 00007088 CD 19 82 156 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000708B F1 157 POP AF - 0000708C F1 158 POP AF - 0000708D DD 23 159 INC IX - 0000708F 18 BC 160 JR ?0012 - 00007091 161 ?0011: - 00007091 21 E5 84 162 LD HL,?0016 - 00007094 E5 163 PUSH HL - 00007095 3E 00 164 LD A,BYTE3 printf - 00007097 21 32 7A 165 LD HL,LWRD printf - 0000709A CD 19 82 166 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000709D F1 167 POP AF - 0000709E 18 91 168 JR ?0028 - 000070A0 21 00 00 169 LD HL,0 - 000070A3 18 92 170 JR ?0029 - 000070A5 5E 171 LD E,(HL) - 000070A6 18 91 172 JR ?0030 - 000070A8 56 173 LD D,(HL) - 000070A9 18 90 174 JR ?0031 - 000070AB 21 DF 61 175 LD HL,LWRD dbNextRow - 000070AE 18 90 176 JR ?0032 - 000070B0 18 91 177 JR ?0009 - 000070B2 178 ?0008: - 000070B2 21 00 00 179 LD HL,0 - 000070B5 39 180 ADD HL,SP - 000070B6 5E 181 LD E,(HL) - 000070B7 23 182 INC HL - 000070B8 56 183 LD D,(HL) - 000070B9 3E 00 184 LD A,BYTE3 dbResultSetClose - 000070BB 21 1F 51 185 LD HL,LWRD dbResultSetClose - 000070BE CD 19 82 186 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000070C1 187 ?0007: - 000070C1 FD E5 188 PUSH IY - 000070C3 D1 189 POP DE - 000070C4 3E 00 190 LD A,BYTE3 dbDeleteRow - 000070C6 21 7A 62 191 LD HL,LWRD dbDeleteRow - 000070C9 CD 19 82 192 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000070CC C3 CF 6F 193 JP LWRD ?0002 - 000070CF 194 ?0001: - 000070CF 21 6E 01 195 LD HL,366 - 000070D2 39 196 ADD HL,SP - 000070D3 F9 197 LD SP,HL - 000070D4 DD E1 198 POP IX - 000070D6 FD E1 199 POP IY - 000070D8 D1 200 POP DE - 000070D9 C1 201 POP BC - 000070DA C3 A9 81 202 JP LWRD ?BANK_FAST_LEAVE_L08 - 203 RSEG CSTR - 000084D6 204 ?0004: - 000084D6 51 54 205 DEFB 'QT' - 000084D8 00 206 DEFB 0 - 000084D9 207 ?0005: - 000084D9 53 51 4C 3E 20 208 DEFB 'SQL> ' - 000084DE 00 209 DEFB 0 - 000084DF 210 ?0015: - 000084DF 27 25 73 27 2C 211 DEFB '''%s'',' - 000084E4 00 212 DEFB 0 - 000084E5 213 ?0016: - 000084E5 0A 00 214 DEFB 10,0 - 215 RSEG CONST - 0000845A 216 ?0000: - 0000845A 53 45 4C 20 63 6F 6C 217 DEFB 'SEL column1, column2, testtest FR test' - 75 6D 6E 31 2C 20 63 - 6F 6C 75 6D 6E 32 2C - 20 74 65 73 74 74 65 - 73 74 20 46 52 20 74 - 65 73 74 - 00008480 00 218 DEFB 0 - 00000027 219 END - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. -Hexadecimal [32-Bits] - -Symbol Table - - .__.ABS. = 00000000 G | 3 ?0000 00000000 R - 1 ?0001 00000133 R | 1 ?0002 00000033 R - 1 ?0003 00000048 R | 2 ?0004 00000000 R - 2 ?0005 00000003 R | 1 ?0006 00000095 R - 1 ?0007 00000125 R | 1 ?0008 00000116 R - 1 ?0009 000000A7 R | 1 ?0010 000000AD R - 1 ?0011 000000F5 R | 1 ?0012 000000B1 R - 1 ?0013 000000CA R | 2 ?0015 00000009 R - 2 ?0016 0000000F R | 1 ?0027 000000C7 R - 1 ?0028 00000095 R | 1 ?0029 0000009B R - 1 ?0030 0000009D R | 1 ?0031 0000009F R - 1 ?0032 000000A4 R | ?BANK_CALL_DIR ******** GX - ?BANK_FAST_LEA ******** GX | ?CL64180B_4_06 ******** GX - dbDeleteRow ******** GX | dbExecuteState ******** GX - dbGetString ******** GX | dbNewRow ******** GX - dbNextRow ******** GX | dbResultSetClo ******** GX - fflush ******** GX | gets ******** GX - 1 main 00000000 GR | malloc ******** GX - printf ******** GX | stdout ******** GX - strcmp ******** GX - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. -Hexadecimal [32-Bits] - -Area Table - - 0 _DEFAULT size 0 flags 0 - 1 CODE size 141 flags 0 - 2 CSTR size 11 flags 0 - 3 CONST size 27 flags 0 diff --git a/src/font/CVS/Entries b/src/font/CVS/Entries new file mode 100644 index 00000000..370a6c42 --- /dev/null +++ b/src/font/CVS/Entries @@ -0,0 +1,43 @@ +/apibus!.txt/1.1.1.1/Mon Nov 17 19:05:52 2003// +/apibus$.txt/1.1.1.1/Mon Nov 17 19:05:52 2003// +/apibus%.txt/1.1.1.1/Mon Nov 17 19:05:52 2003// +/apibus.hfm/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/apibus.txt/1.1.1.1/Mon Nov 17 19:05:52 2003// +/lcd0.cmd/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/lcd1.cmd/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/n.bat/1.1.1.1/Mon Nov 17 19:05:52 2003// +/sans-la.psd/1.1.1.1/Mon Nov 17 19:05:52 2003// +/sans-sm.psd/1.1.1.1/Mon Nov 17 19:05:52 2003// +/sans07b.bmp/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/sans07c.bmp/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/sans07r.bmp/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/sans09r.bmp/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/sans12r.bmp/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/sans16r.bmp/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/serif-la.psd/1.1.1.1/Mon Nov 17 19:05:52 2003// +/serif-sm.psd/1.1.1.1/Mon Nov 17 19:05:52 2003// +/serif07b.bmp/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/serif07i.bmp/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/serif07r.bmp/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/serif09r.bmp/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/serif12r.bmp/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/serif15r.bmp/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/set00nld.c/1.1.1.1/Mon Nov 17 19:05:52 2003// +/set00nld.chs/1.1.1.1/Mon Nov 17 19:05:52 2003// +/set00nld.pcx/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/set01nld.c/1.1.1.1/Mon Nov 17 19:05:52 2003// +/set01nld.chs/1.1.1.1/Mon Nov 17 19:05:52 2003// +/set01nld.pcx/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/set02nld.c/1.1.1.1/Mon Nov 17 19:05:52 2003// +/set02nld.chs/1.1.1.1/Mon Nov 17 19:05:52 2003// +/set02nld.pcx/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/set03nld.c/1.1.1.1/Mon Nov 17 19:05:52 2003// +/set03nld.chs/1.1.1.1/Mon Nov 17 19:05:52 2003// +/set03nld.pcx/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/set04nld.c/1.1.1.1/Mon Nov 17 19:05:52 2003// +/set04nld.chs/1.1.1.1/Mon Nov 17 19:05:52 2003// +/set04nld.pcx/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/wid-demo.c/1.1.1.1/Mon Nov 17 19:05:52 2003// +/wid-demo.exe/1.1.1.1/Mon Nov 17 19:05:52 2003/-kb/ +/xmakchr.bat/1.1.1.1/Mon Nov 17 19:05:52 2003// +D diff --git a/src/font/CVS/Repository b/src/font/CVS/Repository new file mode 100644 index 00000000..14aaa89c --- /dev/null +++ b/src/font/CVS/Repository @@ -0,0 +1 @@ +uzi/src/font diff --git a/src/font/CVS/Root b/src/font/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/font/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/font/sans-la.psd b/src/font/sans-la.psd index 73871253aa2eac2f6062ffcb774d434c659e31c0..d3968befa194662cbe6e77e0ba550f367ae28dad 100644 GIT binary patch delta 563 zcmZ2{L}{5vTNEJ;y?xM;vS6K#XXp^ zF;z@+VKm$>Q_A!lXk9yVCDV51O6KE0r=S@GRHi>2s4RZ_!L`g2|_DBr7bin}yw|=^rmLZ`wZL PA+rtBcE2agSN8${vmH}! delta 396 zcmZ2+RA})Lp$QrjHTx&-G~4)LAM@n(ENdsnvdV6*W_`vrIY}UQ^96w^jGI%1ezG*j zi*Jt?XLM4WJ~5N&-1b6C#@Srkd0iOAS=v=S7`Ll>Fl8f4O$SODPPcbqjNjf<%GAN! zE?UX7U9^(?ekDx&EZf7kGk;;){>qK<4p7zfk9AD?)8*@#61Io> zFt!0rY`^W#xc#<2(^6#=jf=T}1^^X{05!F76yo2ijOY=HNoe&+b?%^r+xKvUW|eHgcM`Y<)& zRovUa)B#c~+QPJ5w1s)OK8DHLfhH@;*Yk2QkcU<=JZ8ASaEW0*!(oPF4Cfh^F~~8f zFo=<88XLs=?d$I`YY3C?81lS;t}BJyus}BmpE=VfzGhyxeZnVZFQ(~fUzwFXNzsfq zbf@q9%B(~^WNNVxDo?p;sYK2@&uf}{h$ep0poTD8PvBx82Ciaw%y5C>62pFm!wkn5&ND1ykYi9`5FWAefe9Lnyc0G0fy8z*M&6BY4=^+GPF~Bh7Dz_1$};k9E@$1r$;jKR&%a%t zpRo)mGToq;`5Ytf_J6(1%__wM^$qWzwHqz{E1$E|n>I`(g{mHlS#`rVZnE zO&g|M3~lL&OpAdEwga_^vH%szXEJS<&tw)V=Xfe9KDHTx&-G~4*$0Q2OHENdsnv&wF+W!=HqY{tLcjGwVgcDh3^^SSMX zQB2J2+v`mj=QD4Yw_p@uX*aQ9+-_pSl#5WXjB7ejN`Jbq1!KbY<*7_<%Wp*%kC~RMPgV{3>0AzGFTL1t6 diff --git a/src/font/set00nld.chs b/src/font/set00nld.chs index ac0ef92c8d4843afc31f559ee79ac18f7184c9e1..57da0340b080c87d3cfd27f7d981b9e670d747a7 100644 GIT binary patch delta 18 acmZqRYvP;mi;;KZuf?p4yp!j$B?ACK=LWF= delta 14 WcmZqTYv7ykYvb?5tdr-nB?AC4%m$bM diff --git a/src/font/set01nld.chs b/src/font/set01nld.chs index a0b16b91e06719ec2932ee4bef5d46eb74d2d4c5..f9f5c1d8736293148c0d34732ee8a86c3228511e 100644 GIT binary patch delta 24 ecmZn=ZWf;KgOPXR4>k@)-pT(sB!HwCXBGfw2?t;R delta 17 YcmZn`ZV;aEW8+UYj!B#nlO;K`06zEzJOBUy diff --git a/src/font/set02nld.chs b/src/font/set02nld.chs index 2c20785a0f94d498e43a1712d48c59e476e033c9..85c97ba5610d9802c51bdd3412ec359b55fa3f0a 100644 GIT binary patch delta 506 zcmZWmF-QY36usQhG>!d=h?1jKECmsSa*I$!TwGl0u2Z{o5kYV%2&bc?5*+N}A`YDt zN0)<)PD1C>&DpI~==pNJ1B);4LjHgM{Rg=&_sX|jMz7r!#z?=gRZg-mHc5Z7bt3sh z_MDJ>B>lq;tW>?;>8M$ZY$r6v12``hl?sAp6Snb)^n2dNd_P|+ zSyhZ`6iuu$g)t#iCE-u|wrV}BO9u2C!n(A@7Whu=fA PDaVN&TuW8b_jLLTrAC}U delta 499 zcmZ1_(;zcp*2dXlj7nUb@|-4|o}6)hD6aXFnV38#dovkKu3_?>e2PhK^Gl{xOp~XuE}Lx4mdM4G$aeVf;WQfw z*2yc_EakZv4gdj|;85g#U;qR%AmRZdGeh+~*2zrl^^#nPqIEz$=%DV$n;P+4Xm zU}NLqk&rMjNJs!0`Txh{3+$4UU$N^M0rmd}iX1rb52OkT4j-=j0hHjAfG7t_!p#R7 z?8^Z&7%GZz08qA(LwoXC4y(y8IQ&Am5(N=*5XE)BfPxYd78Vs15(oei1gZpD4|FHg z*8d1WW@bCE%Yg3sHMyTt4P-E?t3fhAL70nS?gb0}2kC|QA7UfaV6cN=?gJXk$ECd4 Zh^vm7my1C{f`Q>b1CSC{p1hwo8vu3o#<&0g diff --git a/src/font/set03nld.chs b/src/font/set03nld.chs index 8d8f394c4fb8cea797bfad4442bd0b78e1db9d25..12438d64dffbe02f382e355efc720bd4a8d1b2b8 100644 GIT binary patch delta 12 TcmZqRZRDNsjgfcbw=Pxy9$EzE delta 10 RcmZqVZQz~oZR7VYRsa~(1la%p diff --git a/src/font/set04nld.chs b/src/font/set04nld.chs index 7684bbe388a97ca05f00c8a547c58a8658ae5def..9c48aa4bc039d85fc40763e9dd5d3398da0c02eb 100644 GIT binary patch delta 19 acmZpWZIYd^o{@Ls`V>Y+-p#^HxjXB# diff --git a/src/font/wid-demo.obj b/src/font/wid-demo.obj deleted file mode 100644 index 1c1852135d3d01e5d4a48625d90990ad60886e95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2935 zcmd^BO>h)d5bl|I`{s9(4Fo~KazsEB83PD~8~_PhA`iCWydv zigG8sN--*?Mwn|Eq8mM%6h2NP3tr^E8>Il|Z!uJZ=sS!o;xlN7Tsrr5Z{OEb)8`N#yzlqZz+h}(dS3^>~YUFqo5XC4eC?w zXrtB)X8e}>hTjT|B4ioT|k58be)OQADj6)CWoCPyyo7 zh+=E1%zy)hV93BM1B)vwD@{~fa1j~k0*GD0nMRZYu+#%GNGh6kfGqcXl%|T^H_K8(K#l4wpf@6!srG} zIdGdk=}8t1;e+Ag+q9`CSl z#`#M%P9=$2jq`UnV;w^vE6Xr-6IC$`2Sez>GWjEko$%?X7Rz}1u;f>-N|a%p$xidP zA10>@ObC&+Hw@rCnpvp})3$8ev6u_#IF6YcupP&;vNn=79Xo4gfjR?2VA7P?tc-09 z+Y-7ha&WT^%e1Tk3tYf$ov9rbr~D&sdil6~g1ceV!nG0~j^nJ?+F|6Dd^f1O(X{Wj ziuEbq9f90xyDwODkq>!Z2^7COJb`9l_78!%+dhae5p9&oJD=dJB9bRltYoGWaIqD{(V@ z3ciIt1K&ztfp3d%_s5AFj$QN!UDB0f+#+o$KhSi{mJf}1%}VL-zy9>9Xdz(3bZ>=d zN=ZKoubiMn$IIw6yr6RX35!->qoFZdYv8!Fn!+vI{nX#QaYUNJ?Hk9lM*WSO23S+L zbz|E7-uGJ*sgU#uvBEYg^|x{SJWb*5hMTvK4j;W08&ZKAn?%H(F4{)!D%g%2y@Ym* zzkJ}}i$o`}XS_Sb2wsD`iWG`bBS;t-@wMc9=BWpdY-V4;SilKn*t0M&FgQ;a6kwDG0EfU31^@s6 delta 40 vcmdn6fMvr1mI*JIySrUBzLuQNJfYQPGy4L@0!|>qo{52h!F{@*0HZtrR{IUR diff --git a/src/fsutil/bd.lst b/src/fsutil/bd.lst deleted file mode 100644 index f561528a..00000000 --- a/src/fsutil/bd.lst +++ /dev/null @@ -1,556 +0,0 @@ - 1 NAME bd(16) - 2 RSEG CODE(0) - 3 RSEG CSTR(0) - 4 RSEG UDATA0(0) - 5 EXTERN _read - 6 EXTERN atol - 7 PUBLIC buf - 8 EXTERN close - 9 PUBLIC device_handle - 10 PUBLIC device_name - 11 PUBLIC dread - 12 EXTERN exit - 13 EXTERN fflush - 14 EXTERN fprintf - 15 EXTERN lseek - 16 PUBLIC main - 17 EXTERN open - 18 EXTERN perror - 19 EXTERN printf - 20 EXTERN stderr - 21 EXTERN stdout - 22 EXTERN strcpy - 23 EXTERN ?CL64180L_4_06_L00 - 24 EXTERN ?L_LSH_L03 - 25 EXTERN ?SL_RSH_L03 - 26 EXTERN ?L_ADDASG_L03 - 27 EXTERN ?ENT_PARM_DIRECT_L09 - 28 EXTERN ?ENT_AUTO_DIRECT_L09 - 29 EXTERN ?LEAVE_DIRECT_L09 - 30 RSEG CODE - 00000000 31 dread: - 00000000 CD 00 00 32 CALL ?ENT_PARM_DIRECT_L09 - 00000003 21 00 00 33 LD HL,0 - 00000006 E5 34 PUSH HL - 00000007 69 35 LD L,C - 00000008 60 36 LD H,B - 00000009 01 00 00 37 LD BC,0 - 0000000C 3E 09 38 LD A,9 - 0000000E CD 00 00 39 CALL ?L_LSH_L03 - 00000011 C5 40 PUSH BC - 00000012 E5 41 PUSH HL - 00000013 ED 5B 00 00 42 LD DE,(device_handle) - 00000017 CD 00 00 43 CALL lseek - 0000001A F1 44 POP AF - 0000001B F1 45 POP AF - 0000001C F1 46 POP AF - 0000001D CB 78 47 BIT 7,B - 0000001F 28 1A 48 JR Z,?0003 - 00000021 49 ?0002: - 00000021 21 00 00 50 LD HL,?0004 - 00000024 E5 51 PUSH HL - 00000025 CD 00 00 52 CALL printf - 00000028 F1 53 POP AF - 00000029 11 00 00 54 LD DE,stdout - 0000002C CD 00 00 55 CALL fflush - 0000002F 11 02 00 56 LD DE,device_name - 00000032 CD 00 00 57 CALL perror - 00000035 11 01 00 58 LD DE,1 - 00000038 CD 00 00 59 CALL exit - 0000003B 60 ?0003: - 0000003B 21 00 02 61 LD HL,512 - 0000003E E5 62 PUSH HL - 0000003F DD 4E 08 63 LD C,(IX+8) - 00000042 DD 46 09 64 LD B,(IX+9) - 00000045 ED 5B 00 00 65 LD DE,(device_handle) - 00000049 CD 00 00 66 CALL _read - 0000004C F1 67 POP AF - 0000004D 3E 02 68 LD A,2 - 0000004F AC 69 XOR H - 00000050 B5 70 OR L - 00000051 28 22 71 JR Z,?0006 - 00000053 72 ?0005: - 00000053 DD 6E 02 73 LD L,(IX+2) - 00000056 DD 66 03 74 LD H,(IX+3) - 00000059 E5 75 PUSH HL - 0000005A 21 0D 00 76 LD HL,?0007 - 0000005D E5 77 PUSH HL - 0000005E CD 00 00 78 CALL printf - 00000061 F1 79 POP AF - 00000062 F1 80 POP AF - 00000063 11 00 00 81 LD DE,stdout - 00000066 CD 00 00 82 CALL fflush - 00000069 11 02 00 83 LD DE,device_name - 0000006C CD 00 00 84 CALL perror - 0000006F 11 01 00 85 LD DE,1 - 00000072 CD 00 00 86 CALL exit - 00000075 87 ?0006: - 00000075 C3 00 00 88 JP ?LEAVE_DIRECT_L09 - 00000078 89 main: - 00000078 CD 00 00 90 CALL ?ENT_AUTO_DIRECT_L09 - 0000007B F0 FF 91 DEFW 65520 - 0000007D AF 92 XOR A - 0000007E DD 77 F6 93 LD (IX-10),A - 00000081 DD 77 F7 94 LD (IX-9),A - 00000084 11 03 80 95 LD DE,32771 - 00000087 DD 6E 02 96 LD L,(IX+2) - 0000008A DD 66 03 97 LD H,(IX+3) - 0000008D 3E 80 98 LD A,128 - 0000008F AC 99 XOR H - 00000090 67 100 LD H,A - 00000091 ED 52 101 SBC HL,DE - 00000093 30 13 102 JR NC,?0009 - 00000095 103 ?0008: - 00000095 21 1A 00 104 LD HL,?0010 - 00000098 E5 105 PUSH HL - 00000099 21 00 00 106 LD HL,stderr - 0000009C E5 107 PUSH HL - 0000009D CD 00 00 108 CALL fprintf - 000000A0 F1 109 POP AF - 000000A1 F1 110 POP AF - 000000A2 11 01 00 111 LD DE,1 - 000000A5 CD 00 00 112 CALL exit - 000000A8 113 ?0009: - 000000A8 DD 6E 04 114 LD L,(IX+4) - 000000AB DD 66 05 115 LD H,(IX+5) - 000000AE 23 116 INC HL - 000000AF 23 117 INC HL - 000000B0 4E 118 LD C,(HL) - 000000B1 23 119 INC HL - 000000B2 46 120 LD B,(HL) - 000000B3 11 02 00 121 LD DE,device_name - 000000B6 CD 00 00 122 CALL strcpy - 000000B9 21 02 80 123 LD HL,32770 - 000000BC E5 124 PUSH HL - 000000BD 21 02 00 125 LD HL,device_name - 000000C0 E5 126 PUSH HL - 000000C1 CD 00 00 127 CALL open - 000000C4 F1 128 POP AF - 000000C5 F1 129 POP AF - 000000C6 22 00 00 130 LD (device_handle),HL - 000000C9 CB 7C 131 BIT 7,H - 000000CB 28 1A 132 JR Z,?0012 - 000000CD 133 ?0011: - 000000CD 21 45 00 134 LD HL,?0013 - 000000D0 E5 135 PUSH HL - 000000D1 CD 00 00 136 CALL printf - 000000D4 F1 137 POP AF - 000000D5 11 00 00 138 LD DE,stdout - 000000D8 CD 00 00 139 CALL fflush - 000000DB 11 02 00 140 LD DE,device_name - 000000DE CD 00 00 141 CALL perror - 000000E1 11 01 00 142 LD DE,1 - 000000E4 CD 00 00 143 CALL exit - 000000E7 144 ?0012: - 000000E7 21 04 00 145 LD HL,4 - 000000EA DD 4E 04 146 LD C,(IX+4) - 000000ED DD 46 05 147 LD B,(IX+5) - 000000F0 09 148 ADD HL,BC - 000000F1 5E 149 LD E,(HL) - 000000F2 23 150 INC HL - 000000F3 56 151 LD D,(HL) - 000000F4 CD 00 00 152 CALL atol - 000000F7 DD 75 F8 153 LD (IX-8),L - 000000FA DD 74 F9 154 LD (IX-7),H - 000000FD 01 04 80 155 LD BC,32772 - 00000100 DD 6E 02 156 LD L,(IX+2) - 00000103 DD 66 03 157 LD H,(IX+3) - 00000106 3E 80 158 LD A,128 - 00000108 AC 159 XOR H - 00000109 67 160 LD H,A - 0000010A ED 42 161 SBC HL,BC - 0000010C 30 0E 162 JR NC,?0015 - 0000010E 163 ?0014: - 0000010E DD 6E F8 164 LD L,(IX-8) - 00000111 DD 66 F9 165 LD H,(IX-7) - 00000114 DD 75 FA 166 LD (IX-6),L - 00000117 DD 74 FB 167 LD (IX-5),H - 0000011A 18 4D 168 JR ?0016 - 0000011C 169 ?0015: - 0000011C 21 06 00 170 LD HL,6 - 0000011F DD 4E 04 171 LD C,(IX+4) - 00000122 DD 46 05 172 LD B,(IX+5) - 00000125 09 173 ADD HL,BC - 00000126 7E 174 LD A,(HL) - 00000127 23 175 INC HL - 00000128 66 176 LD H,(HL) - 00000129 6F 177 LD L,A - 0000012A 7E 178 LD A,(HL) - 0000012B FE 2D 179 CP 45 - 0000012D 20 24 180 JR NZ,?0018 - 0000012F 181 ?0017: - 0000012F 21 06 00 182 LD HL,6 - 00000132 DD 4E 04 183 LD C,(IX+4) - 00000135 DD 46 05 184 LD B,(IX+5) - 00000138 09 185 ADD HL,BC - 00000139 5E 186 LD E,(HL) - 0000013A 23 187 INC HL - 0000013B 56 188 LD D,(HL) - 0000013C 13 189 INC DE - 0000013D CD 00 00 190 CALL atol - 00000140 DD 4E F8 191 LD C,(IX-8) - 00000143 DD 46 F9 192 LD B,(IX-7) - 00000146 09 193 ADD HL,BC - 00000147 01 FF FF 194 LD BC,65535 - 0000014A 09 195 ADD HL,BC - 0000014B DD 75 FA 196 LD (IX-6),L - 0000014E DD 74 FB 197 LD (IX-5),H - 00000151 18 16 198 JR ?0019 - 00000153 199 ?0018: - 00000153 21 06 00 200 LD HL,6 - 00000156 DD 4E 04 201 LD C,(IX+4) - 00000159 DD 46 05 202 LD B,(IX+5) - 0000015C 09 203 ADD HL,BC - 0000015D 5E 204 LD E,(HL) - 0000015E 23 205 INC HL - 0000015F 56 206 LD D,(HL) - 00000160 CD 00 00 207 CALL atol - 00000163 DD 75 FA 208 LD (IX-6),L - 00000166 DD 74 FB 209 LD (IX-5),H - 00000169 210 ?0019: - 00000169 211 ?0016: - 00000169 DD 6E FA 212 LD L,(IX-6) - 0000016C DD 66 FB 213 LD H,(IX-5) - 0000016F E5 214 PUSH HL - 00000170 DD 6E F8 215 LD L,(IX-8) - 00000173 DD 66 F9 216 LD H,(IX-7) - 00000176 E5 217 PUSH HL - 00000177 DD 6E FA 218 LD L,(IX-6) - 0000017A DD 66 FB 219 LD H,(IX-5) - 0000017D E5 220 PUSH HL - 0000017E DD 6E F8 221 LD L,(IX-8) - 00000181 DD 66 F9 222 LD H,(IX-7) - 00000184 E5 223 PUSH HL - 00000185 21 02 00 224 LD HL,device_name - 00000188 E5 225 PUSH HL - 00000189 21 52 00 226 LD HL,?0020 - 0000018C E5 227 PUSH HL - 0000018D CD 00 00 228 CALL printf - 00000190 EB 229 EX DE,HL - 00000191 21 0C 00 230 LD HL,12 - 00000194 39 231 ADD HL,SP - 00000195 F9 232 LD SP,HL - 00000196 EB 233 EX DE,HL - 00000197 DD 6E F8 234 LD L,(IX-8) - 0000019A DD 66 F9 235 LD H,(IX-7) - 0000019D 01 00 00 236 LD BC,0 - 000001A0 3E 09 237 LD A,9 - 000001A2 CD 00 00 238 CALL ?L_LSH_L03 - 000001A5 DD 75 FC 239 LD (IX-4),L - 000001A8 DD 74 FD 240 LD (IX-3),H - 000001AB DD 71 FE 241 LD (IX-2),C - 000001AE DD 70 FF 242 LD (IX-1),B - 000001B1 243 ?0022: - 000001B1 DD 4E F8 244 LD C,(IX-8) - 000001B4 DD 46 F9 245 LD B,(IX-7) - 000001B7 DD 6E FA 246 LD L,(IX-6) - 000001BA DD 66 FB 247 LD H,(IX-5) - 000001BD A7 248 AND A - 000001BE ED 42 249 SBC HL,BC - 000001C0 DA 37 03 250 JP C,?0021 - 000001C3 251 ?0023: - 000001C3 DD 6E F8 252 LD L,(IX-8) - 000001C6 DD 66 F9 253 LD H,(IX-7) - 000001C9 E5 254 PUSH HL - 000001CA DD 6E F8 255 LD L,(IX-8) - 000001CD DD 66 F9 256 LD H,(IX-7) - 000001D0 E5 257 PUSH HL - 000001D1 21 73 00 258 LD HL,?0024 - 000001D4 E5 259 PUSH HL - 000001D5 CD 00 00 260 CALL printf - 000001D8 F1 261 POP AF - 000001D9 F1 262 POP AF - 000001DA F1 263 POP AF - 000001DB 21 02 02 264 LD HL,buf - 000001DE E5 265 PUSH HL - 000001DF DD 4E F8 266 LD C,(IX-8) - 000001E2 DD 46 F9 267 LD B,(IX-7) - 000001E5 03 268 INC BC - 000001E6 DD 71 F8 269 LD (IX-8),C - 000001E9 DD 70 F9 270 LD (IX-7),B - 000001EC 0B 271 DEC BC - 000001ED DD 5E F6 272 LD E,(IX-10) - 000001F0 DD 56 F7 273 LD D,(IX-9) - 000001F3 CD 00 00 274 CALL dread - 000001F6 E1 275 POP HL - 000001F7 AF 276 XOR A - 000001F8 DD 77 F0 277 LD (IX-16),A - 000001FB DD 77 F1 278 LD (IX-15),A - 000001FE 279 ?0026: - 000001FE 01 20 80 280 LD BC,32800 - 00000201 DD 6E F0 281 LD L,(IX-16) - 00000204 DD 66 F1 282 LD H,(IX-15) - 00000207 3E 80 283 LD A,128 - 00000209 AC 284 XOR H - 0000020A 67 285 LD H,A - 0000020B ED 42 286 SBC HL,BC - 0000020D D2 26 03 287 JP NC,?0025 - 00000210 288 ?0027: - 00000210 DD 7E FC 289 LD A,(IX-4) - 00000213 E6 FF 290 AND 255 - 00000215 6F 291 LD L,A - 00000216 DD 7E FD 292 LD A,(IX-3) - 00000219 E6 FF 293 AND 255 - 0000021B 67 294 LD H,A - 0000021C E5 295 PUSH HL - 0000021D 3E 10 296 LD A,16 - 0000021F DD 4E FE 297 LD C,(IX-2) - 00000222 DD 46 FF 298 LD B,(IX-1) - 00000225 DD 6E FC 299 LD L,(IX-4) - 00000228 DD 66 FD 300 LD H,(IX-3) - 0000022B CD 00 00 301 CALL ?SL_RSH_L03 - 0000022E E5 302 PUSH HL - 0000022F 21 84 00 303 LD HL,?0029 - 00000232 E5 304 PUSH HL - 00000233 CD 00 00 305 CALL printf - 00000236 F1 306 POP AF - 00000237 F1 307 POP AF - 00000238 F1 308 POP AF - 00000239 AF 309 XOR A - 0000023A DD 77 F2 310 LD (IX-14),A - 0000023D DD 77 F3 311 LD (IX-13),A - 00000240 312 ?0031: - 00000240 01 10 80 313 LD BC,32784 - 00000243 DD 6E F2 314 LD L,(IX-14) - 00000246 DD 66 F3 315 LD H,(IX-13) - 00000249 3E 80 316 LD A,128 - 0000024B AC 317 XOR H - 0000024C 67 318 LD H,A - 0000024D ED 42 319 SBC HL,BC - 0000024F 30 34 320 JR NC,?0030 - 00000251 321 ?0032: - 00000251 DD 6E F0 322 LD L,(IX-16) - 00000254 DD 66 F1 323 LD H,(IX-15) - 00000257 29 324 ADD HL,HL - 00000258 29 325 ADD HL,HL - 00000259 29 326 ADD HL,HL - 0000025A 29 327 ADD HL,HL - 0000025B DD 4E F2 328 LD C,(IX-14) - 0000025E DD 46 F3 329 LD B,(IX-13) - 00000261 09 330 ADD HL,BC - 00000262 11 02 02 331 LD DE,buf - 00000265 19 332 ADD HL,DE - 00000266 7E 333 LD A,(HL) - 00000267 E6 FF 334 AND 255 - 00000269 5F 335 LD E,A - 0000026A 16 00 336 LD D,0 - 0000026C DD 73 F4 337 LD (IX-12),E - 0000026F DD 72 F5 338 LD (IX-11),D - 00000272 D5 339 PUSH DE - 00000273 21 8E 00 340 LD HL,?0034 - 00000276 E5 341 PUSH HL - 00000277 CD 00 00 342 CALL printf - 0000027A F1 343 POP AF - 0000027B F1 344 POP AF - 0000027C 03 345 INC BC - 0000027D DD 71 F2 346 LD (IX-14),C - 00000280 DD 70 F3 347 LD (IX-13),B - 00000283 18 BB 348 JR ?0031 - 00000285 349 ?0030: - 00000285 21 94 00 350 LD HL,?0035 - 00000288 E5 351 PUSH HL - 00000289 CD 00 00 352 CALL printf - 0000028C F1 353 POP AF - 0000028D AF 354 XOR A - 0000028E DD 77 F2 355 LD (IX-14),A - 00000291 DD 77 F3 356 LD (IX-13),A - 00000294 357 ?0037: - 00000294 01 10 80 358 LD BC,32784 - 00000297 DD 6E F2 359 LD L,(IX-14) - 0000029A DD 66 F3 360 LD H,(IX-13) - 0000029D 3E 80 361 LD A,128 - 0000029F AC 362 XOR H - 000002A0 67 363 LD H,A - 000002A1 ED 42 364 SBC HL,BC - 000002A3 30 61 365 JR NC,?0036 - 000002A5 366 ?0038: - 000002A5 DD 6E F0 367 LD L,(IX-16) - 000002A8 DD 66 F1 368 LD H,(IX-15) - 000002AB 29 369 ADD HL,HL - 000002AC 29 370 ADD HL,HL - 000002AD 29 371 ADD HL,HL - 000002AE 29 372 ADD HL,HL - 000002AF DD 4E F2 373 LD C,(IX-14) - 000002B2 DD 46 F3 374 LD B,(IX-13) - 000002B5 09 375 ADD HL,BC - 000002B6 01 02 02 376 LD BC,buf - 000002B9 09 377 ADD HL,BC - 000002BA 7E 378 LD A,(HL) - 000002BB E6 FF 379 AND 255 - 000002BD 4F 380 LD C,A - 000002BE 06 00 381 LD B,0 - 000002C0 DD 71 F4 382 LD (IX-12),C - 000002C3 DD 70 F5 383 LD (IX-11),B - 000002C6 11 20 80 384 LD DE,32800 - 000002C9 69 385 LD L,C - 000002CA 60 386 LD H,B - 000002CB 3E 80 387 LD A,128 - 000002CD AC 388 XOR H - 000002CE 67 389 LD H,A - 000002CF ED 52 390 SBC HL,DE - 000002D1 38 11 391 JR C,?0040 - 000002D3 01 7F 80 392 LD BC,32895 - 000002D6 DD 6E F4 393 LD L,(IX-12) - 000002D9 DD 66 F5 394 LD H,(IX-11) - 000002DC 3E 80 395 LD A,128 - 000002DE AC 396 XOR H - 000002DF 67 397 LD H,A - 000002E0 ED 42 398 SBC HL,BC - 000002E2 38 08 399 JR C,?0041 - 000002E4 400 ?0042: - 000002E4 401 ?0043: - 000002E4 402 ?0040: - 000002E4 DD 36 F4 2E 403 LD (IX-12),46 - 000002E8 DD 36 F5 00 404 LD (IX-11),0 - 000002EC 405 ?0041: - 000002EC DD 6E F4 406 LD L,(IX-12) - 000002EF DD 66 F5 407 LD H,(IX-11) - 000002F2 E5 408 PUSH HL - 000002F3 21 97 00 409 LD HL,?0044 - 000002F6 E5 410 PUSH HL - 000002F7 CD 00 00 411 CALL printf - 000002FA F1 412 POP AF - 000002FB F1 413 POP AF - 000002FC DD 34 F2 414 INC (IX-14) - 000002FF 20 03 415 JR NZ,?0047 - 00000301 DD 34 F3 416 INC (IX-13) - 00000304 417 ?0047: - 00000304 18 8E 418 JR ?0037 - 00000306 419 ?0036: - 00000306 21 9A 00 420 LD HL,?0045 - 00000309 E5 421 PUSH HL - 0000030A CD 00 00 422 CALL printf - 0000030D F1 423 POP AF - 0000030E DD 34 F0 424 INC (IX-16) - 00000311 20 03 425 JR NZ,?0048 - 00000313 DD 34 F1 426 INC (IX-15) - 00000316 427 ?0048: - 00000316 21 0C 00 428 LD HL,12 - 00000319 39 429 ADD HL,SP - 0000031A 01 00 00 430 LD BC,0 - 0000031D 11 10 00 431 LD DE,16 - 00000320 CD 00 00 432 CALL ?L_ADDASG_L03 - 00000323 C3 FE 01 433 JP ?0026 - 00000326 434 ?0025: - 00000326 21 9D 00 435 LD HL,?0046 - 00000329 E5 436 PUSH HL - 0000032A CD 00 00 437 CALL printf - 0000032D F1 438 POP AF - 0000032E 11 00 00 439 LD DE,stdout - 00000331 CD 00 00 440 CALL fflush - 00000334 C3 B1 01 441 JP ?0022 - 00000337 442 ?0021: - 00000337 ED 5B 00 00 443 LD DE,(device_handle) - 0000033B CD 00 00 444 CALL close - 0000033E 11 00 00 445 LD DE,0 - 00000341 CD 00 00 446 CALL exit - 00000344 C3 00 00 447 JP ?LEAVE_DIRECT_L09 - 448 RSEG CSTR - 00000000 449 ?0004: - 00000000 63 61 6E 27 74 20 73 450 DEFB 'can''t seek: ' - 65 65 6B 3A 20 - 0000000C 00 451 DEFB 0 - 0000000D 452 ?0007: - 0000000D 63 61 6E 27 74 20 72 453 DEFB 'can''t read: ' - 65 61 64 3A 20 - 00000019 00 454 DEFB 0 - 0000001A 455 ?0010: - 0000001A 75 73 61 67 65 3A 20 456 DEFB 'usage: bd device blkstart [blkend|-blkno]' - 62 64 20 64 65 76 69 - 63 65 20 62 6C 6B 73 - 74 61 72 74 20 5B 62 - 6C 6B 65 6E 64 7C 2D - 62 6C 6B 6E 6F 5D - 00000043 0A 00 457 DEFB 10,0 - 00000045 458 ?0013: - 00000045 63 61 6E 27 74 20 6F 459 DEFB 'can''t open: ' - 70 65 6E 3A 20 - 00000051 00 460 DEFB 0 - 00000052 461 ?0020: - 00000052 25 73 2C 20 62 6C 6F 462 DEFB '%s, blocks %u..%u (0x%X..0x%X)' - 63 6B 73 20 25 75 2E - 2E 25 75 20 28 30 78 - 25 58 2E 2E 30 78 25 - 58 29 - 00000070 0A 0A 00 463 DEFB 10,10,0 - 00000073 464 ?0024: - 00000073 42 6C 6F 63 6B 20 25 465 DEFB 'Block %u (0x%X)' - 75 20 28 30 78 25 58 - 29 - 00000082 0A 00 466 DEFB 10,0 - 00000084 467 ?0029: - 00000084 25 30 32 78 25 30 34 468 DEFB '%02x%04x' - 78 - 0000008C 09 00 469 DEFB 9,0 - 0000008E 470 ?0034: - 0000008E 25 30 32 58 20 471 DEFB '%02X ' - 00000093 00 472 DEFB 0 - 00000094 473 ?0035: - 00000094 20 7C 474 DEFB ' |' - 00000096 00 475 DEFB 0 - 00000097 476 ?0044: - 00000097 25 63 477 DEFB '%c' - 00000099 00 478 DEFB 0 - 0000009A 479 ?0045: - 0000009A 7C 480 DEFB '|' - 0000009B 0A 00 481 DEFB 10,0 - 0000009D 482 ?0046: - 0000009D 0A 00 483 DEFB 10,0 - 484 RSEG UDATA0 - 00000000 485 device_handle: - 00000000 486 DEFS 2 - 00000002 487 device_name: - 00000002 488 DEFS 512 - 00000202 489 buf: - 00000202 490 DEFS 512 - 00000402 491 END - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. -Hexadecimal [32-Bits] -bd(16) -Symbol Table - - .__.ABS. = 00000000 G | 1 ?0002 00000021 R - 1 ?0003 0000003B R | 2 ?0004 00000000 R - 1 ?0005 00000053 R | 1 ?0006 00000075 R - 2 ?0007 0000000D R | 1 ?0008 00000095 R - 1 ?0009 000000A8 R | 2 ?0010 0000001A R - 1 ?0011 000000CD R | 1 ?0012 000000E7 R - 2 ?0013 00000045 R | 1 ?0014 0000010E R - 1 ?0015 0000011C R | 1 ?0016 00000169 R - 1 ?0017 0000012F R | 1 ?0018 00000153 R - 1 ?0019 00000169 R | 2 ?0020 00000052 R - 1 ?0021 00000337 R | 1 ?0022 000001B1 R - 1 ?0023 000001C3 R | 2 ?0024 00000073 R - 1 ?0025 00000326 R | 1 ?0026 000001FE R - 1 ?0027 00000210 R | 2 ?0029 00000084 R - 1 ?0030 00000285 R | 1 ?0031 00000240 R - 1 ?0032 00000251 R | 2 ?0034 0000008E R - 2 ?0035 00000094 R | 1 ?0036 00000306 R - 1 ?0037 00000294 R | 1 ?0038 000002A5 R - 1 ?0040 000002E4 R | 1 ?0041 000002EC R - 1 ?0042 000002E4 R | 1 ?0043 000002E4 R - 2 ?0044 00000097 R | 2 ?0045 0000009A R - 2 ?0046 0000009D R | 1 ?0047 00000304 R - 1 ?0048 00000316 R | ?CL64180L_4_06 ******** GX - ?ENT_AUTO_DIRE ******** GX | ?ENT_PARM_DIRE ******** GX - ?LEAVE_DIRECT_ ******** GX | ?L_ADDASG_L03 ******** GX - ?L_LSH_L03 ******** GX | ?SL_RSH_L03 ******** GX - _read ******** GX | atol ******** GX - 3 buf 00000202 GR | close ******** GX - 3 device_handle 00000000 GR | 3 device_name 00000002 GR - 1 dread 00000000 GR | exit ******** GX - fflush ******** GX | fprintf ******** GX - lseek ******** GX | 1 main 00000078 GR - open ******** GX | perror ******** GX - printf ******** GX | stderr ******** GX - stdout ******** GX | strcpy ******** GX - - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. -Hexadecimal [32-Bits] -bd(16) -Area Table - - 0 _DEFAULT size 0 flags 0 - 1 CODE size 347 flags 0 - 2 CSTR size 9F flags 0 - 3 UDATA0 size 402 flags 0 diff --git a/src/fsutil/bd.obj b/src/fsutil/bd.obj deleted file mode 100644 index e8c9c7ce1812aa8bd95d7cd271d205973272d549..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4242 zcmb7IYitzP6+VmC>-BoUYuHdgQ5YTu40x~|V~kUJ(RUBdc;K!u`&@ zGwWHTs_IDl&37L6oO{o`Gjs1AbybsT9_fC|Pt-y3Qj>WtVT@{)NZUX@wgvm{3y_-B z;>E$OCv8<%710V8(U;v)gOKzj1rDo*cHXd^aBqX(Rrq{bLzMCn_0WD&sPAiPGG@da ze%HW%Tjx-K_E5{DmG_iwX$Q%3GRMVvo0D29R!kddJ>GTnsl&aBQ*rF*k!KHuLnoCL zXtj-MMca)}boD1L44%_7{l$xVe<7dfPZf%Wp6-t))ogtDX>w6DJbS}>BA+c}Q--qR zM3eGpTXS4Dl-@nPyLKtZa)y3Zzo=&hmEP>xoSxS5%4scM(6bq(wM}hlQ9Ji{bf_)6 zs4n2>FkOLw!q9i|YiqDAu4+t1EV+t20WWl1#;T+?$}*3*$Z|YAQV*G<Fei9wLum19=17QeG>e)e~BD zD3(d4wRN!VELX73vSngtwE!%2U@^Zk2uAQ9TJE$3YCY6mEta%tt zwb5)wJFgp2V*$8Xd^894kkHLr z%tsM(ZkWuFf9hs!pSco7IzG!-y6%5ra$Fr^ZYkVDic@e}hF!vEi10L+k-&*J+1O_X zI>2h9%?x{wJL7r(XS{*;(7n=}G99|d0ZZfFs`2$A#83}pE56stj!~FTx*tff;u29s z(jTB9l@2h{|2sZ2;x`X_?Qyv$LNn-+d)#Y=XC}gPcMb}>zy2L>>5Jy#BT_0&y2=gU z_wp&%(nMtL&T7$Hzg=v^nlmGFC(O`HpBbJzZboKK$boV{t%0tC74tL^nnj?;!gKX6 zp2j?~D>rkF(k}$jt(#`#ChYeRcBVAtnh4KW(fre)MGlUxL>5c$x+WrvW@xrF89@Bf z_@Yw(@<*_m;n~ZdEG=PKn3373y8+p&JzsaS*U;K z8{*~BhzK+hnm5Dql@oO5eP_Sj(;+)xWI^;v2JA6Ii&HnWI~w?xFqd}(}M z8S?tHhSufVu69{M#=*e;>_94LFrOGq+&&heGx9Mxd5rz^o^w$)%(^***ZpleI1>>OwFn+@ZsSU3q-iLW; zADC>L0F!TkoC|hU2HVfT9%DTH?n}lwutgFE` zMOMfUW>pAG)>Hvg&>~1X!DNNRMnddv+_X_d<9VvVzK{F!IIxz&KtGKDSJ4=-o+f|+ z`ZlmZ?1~;1UlyVtK~qaV0s82dKtEjvuA~ou_4HR@fc^z+Ab#G~kRMeH(t6-Sv<as8>mnSxQU(tZl*AB3!MROrE|bWGJ$*Or@(!54cJNV0{7FOfnD@(;A6yF$OCi` zc#uv5yD1Cop-aF+^gQse*mL#LkHL@76!3BSJ@9Gz6Yv?j4LnMJ1BPh<_$++^JVqW= zu#eUNkJCEfY1$4vLn^SJ60yv7Ln&z5NSA_vS~71JrCcn;2DL6Fo>b)KNWl)HV8rr< zaz<{>#+t>RW58#(&E~X>Y};7a4fkwfq@XkwRkg9G>}WaP_?)UTHu=y3qhdSE($pk$ zjV*2G8(Z4X^I8CZPQhKlbT%f4#^B-O?<$__we->pN4j}MZyNk>d+yOhM~j+E#y|h3 zn!+|3zI@%sqz<~UA4f#z)sw((Th)`EEk5Fxe-+Lr%jXzO6jix6U*+XI!*I{4Tzrb* z_4@IK0ms<`+a4Tl82A>&rp}^{8^8U8pYU;>dJqzk`P{>2okPF5@g32OqGEF|c@-%* zJ*|gu1wTF)@jeQ*a-51ddX?*%&=cMI^vYKy-Fotg)_rX);;k!uD9X#g^5a#GKJ%Wo zQj^p2`E1_O37=FdT`UYaHN1l@w-RH|<*|E|!B>I)xIHL2l>EVo*Y#Lc37e8FA%AeW1y@mc3*Vnqs{L^@lr7m%oi z=<~i7x(c)Gv(R+xr=LHd=@f4or%xNb{eVv^eZNw(cOSj_fToo$RchKh@C@78qcJ0! zh9obpnCQ==op>*lefaUTUF4h=jC>+@!O<$3a!${3oW1b3X3m+}qnb`%u8iy(Y$iHHGFh3Do%YV#DoYzdLYkjbPa{rN#!i(d zdrtZ#BO#)#u*-*~vL26TDSpt(B)z0>gl9i~Khf(1(EZeV(@ME+z1mryQTz(qdG-ab zuBqt6{2HtU6B zM@ODNFgAM9L?iHwCXm)2-ZPQDI633wC(4(c3AdD<$hu|E$xUSJ^HUkCkUD#WG~zf6 zk2&d5!7XGxbMuKUW`E!Il;fGhPY-X~W*#eg&N=6jlbB#Wt}Yj;2{`zl3P zPUk&Vd8{%CHIo{%^O zGKDfZJAa>58dmM7xMCGfm0br5Fc`PcqZl>^R=AyTS3!9SO4LoDbE$Hcg)LIZV1;IE z7B)&DErb>b-4Jv)QS_3jR%A_NBW|M1?-Oo=+l@`yo|DfO5?&J&j#;SeNk+#w^|c@Q!#@+0((qo3yK-^yhhX`v=fRMlmOc(w6tOd z{Q|64Xunp>AbwHp6RYJR?m_dtRtwQ^cVg@y1bF~O9u9!hj zfZ+uXf8B~1^a%2t5CA%Xw;%Ht`DKOYvm@pP*UToJT)AYMyt((78!phP%H4Ou!v3|< z=Hsu8MaMtnTC+cmzH-wG&;ES5+J06O(s93_|K^#uYt>$Sa5ehB)n@NT=ha7%NHT7| zGTOXh8Bet8R>qpI-sa5gVxZht;Z;Jn?!@Lg`8{);b8j$II3#pUU{+dXubo<|?zlb# z{nm%E*V(?(!Z~SG>Dyo^y?{e<84mjl%!)j?VO61-JLmo{+e zUNS}D_UbxWIJX*wV@n7CN@o`{sMt0i?m!j(X8eF-Rc)&|mt*O_S^2A&lkwThQSydn zFE^7Hn;%_*F;ydqR7Ru6;dy+DRW+H-^_h_J!V}C>#LHSI^ha#K4zcCdBG*Ar0eQ1^ z5Jyqk9RcHw+CgW4(k=}q?aqU7Fm<{Flr^q^@e?~1UOuU5F@#vwjf2S=>%gRE z6HM0FSkuPAc)ROVtg)}u*jqKbTVVVO(CJTLgMxhkHXztXV7mlc1mlI;K^hhu9}#uZ z!TN+IR8#5+BRE5yoG16`${#-F&xRDaFjz6LeEXsidj@#xq+Xf1+*?O-dB9}d5mRBxM|!W zih>i{V5C`<<61;E2OF0&nVt|2D<^Ft$O#*=Y^kvKm0B+g>v~v+jI`nYus6>A4*ls7 zW`669elntrXq&WoVCx*~mDazYYRN}J+#hh|6gJ#Cd*jQ-ztK9sg=OM?@J?YrI^jsD zbos!Xii3A<+Lw8q)z>GUcXbM1vGK>%*h7AoaNKc@_qVZi-a{*`-)*cV|H62IMIFDOwzHv}GyE+{-~uHtN`lI} Xl-P^nUQ9jm+S)VJ*RR$RE^+if7UFa* diff --git a/src/fsutil/devio.obj b/src/fsutil/devio.obj deleted file mode 100644 index fc4ce367c01864ffc356e54515b633e180e6b690..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12749 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 diff --git a/src/fsutil/devmisc.obj b/src/fsutil/devmisc.obj deleted file mode 100644 index a7025761113cc3bb9ab0f64665a66d29877f87dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4543 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 diff --git a/src/fsutil/filesys.obj b/src/fsutil/filesys.obj deleted file mode 100644 index c31a7de674c2e8ce4224b7fe8144c46a5b3176fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28036 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 delta 40 vcmdnAfOXRX)(Ib&ySrUBeil5>JfYQPGy4U`22LQuo{52h!F{@50HY!RV!#f2 diff --git a/src/fsutil/fsck.lst b/src/fsutil/fsck.lst deleted file mode 100644 index f12dcd74..00000000 --- a/src/fsutil/fsck.lst +++ /dev/null @@ -1,4939 +0,0 @@ - 1 NAME fsck(17) - 2 RSEG CODE(0) - 3 RSEG CSTR(0) - 4 RSEG UDATA0(0) - 5 RSEG IDATA0(0) - 6 RSEG CDATA0(0) - 7 PUBLIC _blk_alloc - 8 EXTERN _read - 9 EXTERN _write - 10 PUBLIC _yes - 11 EXTERN abort - 12 EXTERN bcopy - 13 EXTERN bfill - 14 PUBLIC bitmap_block - 15 PUBLIC bitmap_dump - 16 PUBLIC bitmap_find - 17 PUBLIC bitmap_immov - 18 PUBLIC bitmap_inode - 19 PUBLIC block_bitmap - 20 PUBLIC ckdir - 21 EXTERN close - 22 PUBLIC da_read - 23 PUBLIC da_write - 24 PUBLIC daread - 25 PUBLIC depth - 26 PUBLIC dev - 27 PUBLIC device_handle - 28 PUBLIC device_name - 29 PUBLIC dirread - 30 PUBLIC dirwrite - 31 PUBLIC dwrite - 32 EXTERN exit - 33 EXTERN fflush - 34 EXTERN fgets - 35 PUBLIC filsys - 36 PUBLIC finode - 37 EXTERN fprintf - 38 PUBLIC getblkno - 39 PUBLIC inode_bitmap - 40 EXTERN int_min - 41 PUBLIC iread - 42 PUBLIC iwrite - 43 PUBLIC link_count - 44 EXTERN lseek - 45 PUBLIC main - 46 EXTERN malloc - 47 PUBLIC mkentry - 48 PUBLIC mypanic - 49 PUBLIC ninodes - 50 EXTERN open - 51 PUBLIC pass1 - 52 PUBLIC pass2 - 53 PUBLIC pass3 - 54 PUBLIC pass4 - 55 PUBLIC pass5 - 56 EXTERN perror - 57 EXTERN printf - 58 PUBLIC setblkno - 59 EXTERN sprintf - 60 EXTERN stderr - 61 EXTERN stdin - 62 EXTERN stdout - 63 EXTERN strcat - 64 EXTERN strcmp - 65 EXTERN strcpy - 66 PUBLIC yes - 67 PUBLIC zeroed - 68 EXTERN ?CL64180B_4_06_L00 - 69 EXTERN ?C_LSH_L01 - 70 EXTERN ?S_LSH_L02 - 71 EXTERN ?US_RSH_L02 - 72 EXTERN ?SS_CMP_L02 - 73 EXTERN ?L_LSH_L03 - 74 EXTERN ?SL_RSH_L03 - 75 EXTERN ?SL_DIV_L03 - 76 EXTERN ?SL_CMP_L03 - 77 EXTERN ?L_ANDASG_L03 - 78 EXTERN ?BANK_CALL_DIRECT_L08 - 79 EXTERN ?BANK_LEAVE_DIRECT_L08 - 80 EXTERN ?BANK_FAST_LEAVE_L08 - 81 EXTERN ?ENT_PARM_DIRECT_L09 - 82 EXTERN ?ENT_AUTO_DIRECT_L09 - 83 RSEG CODE - 00000000 84 da_read: - 00000000 CD 00 00 85 CALL LWRD ?ENT_PARM_DIRECT_L09 - 00000003 21 00 00 86 LD HL,0 - 00000006 E5 87 PUSH HL - 00000007 69 88 LD L,C - 00000008 60 89 LD H,B - 00000009 01 00 00 90 LD BC,0 - 0000000C 3E 09 91 LD A,9 - 0000000E CD 00 00 92 CALL LWRD ?L_LSH_L03 - 00000011 C5 93 PUSH BC - 00000012 E5 94 PUSH HL - 00000013 ED 5B 00 00 95 LD DE,(device_handle) - 00000017 3E 00 96 LD A,BYTE3 lseek - 00000019 21 00 00 97 LD HL,LWRD lseek - 0000001C CD 00 00 98 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000001F F1 99 POP AF - 00000020 F1 100 POP AF - 00000021 F1 101 POP AF - 00000022 CB 78 102 BIT 7,B - 00000024 28 2E 103 JR Z,?0003 - 00000026 104 ?0002: - 00000026 21 00 00 105 LD HL,?0004 - 00000029 E5 106 PUSH HL - 0000002A 3E 00 107 LD A,BYTE3 printf - 0000002C 21 00 00 108 LD HL,LWRD printf - 0000002F CD 00 00 109 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000032 F1 110 POP AF - 00000033 11 00 00 111 LD DE,stdout - 00000036 3E 00 112 LD A,BYTE3 fflush - 00000038 21 00 00 113 LD HL,LWRD fflush - 0000003B CD 00 00 114 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000003E 11 02 00 115 LD DE,device_name - 00000041 3E 00 116 LD A,BYTE3 perror - 00000043 21 00 00 117 LD HL,LWRD perror - 00000046 CD 00 00 118 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000049 11 01 00 119 LD DE,1 - 0000004C 3E 00 120 LD A,BYTE3 exit - 0000004E 21 00 00 121 LD HL,LWRD exit - 00000051 CD 00 00 122 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000054 123 ?0003: - 00000054 21 00 02 124 LD HL,512 - 00000057 E5 125 PUSH HL - 00000058 DD 4E 0A 126 LD C,(IX+10) - 0000005B DD 46 0B 127 LD B,(IX+11) - 0000005E ED 5B 00 00 128 LD DE,(device_handle) - 00000062 3E 00 129 LD A,BYTE3 _read - 00000064 21 00 00 130 LD HL,LWRD _read - 00000067 CD 00 00 131 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000006A F1 132 POP AF - 0000006B 3E 02 133 LD A,2 - 0000006D AC 134 XOR H - 0000006E B5 135 OR L - 0000006F 28 2E 136 JR Z,?0006 - 00000071 137 ?0005: - 00000071 21 0D 00 138 LD HL,?0007 - 00000074 E5 139 PUSH HL - 00000075 3E 00 140 LD A,BYTE3 printf - 00000077 21 00 00 141 LD HL,LWRD printf - 0000007A CD 00 00 142 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000007D F1 143 POP AF - 0000007E 11 00 00 144 LD DE,stdout - 00000081 3E 00 145 LD A,BYTE3 fflush - 00000083 21 00 00 146 LD HL,LWRD fflush - 00000086 CD 00 00 147 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000089 11 02 00 148 LD DE,device_name - 0000008C 3E 00 149 LD A,BYTE3 perror - 0000008E 21 00 00 150 LD HL,LWRD perror - 00000091 CD 00 00 151 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000094 11 01 00 152 LD DE,1 - 00000097 3E 00 153 LD A,BYTE3 exit - 00000099 21 00 00 154 LD HL,LWRD exit - 0000009C CD 00 00 155 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000009F 156 ?0006: - 0000009F 21 00 02 157 LD HL,512 - 000000A2 C3 00 00 158 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 000000A5 159 da_write: - 000000A5 CD 00 00 160 CALL LWRD ?ENT_PARM_DIRECT_L09 - 000000A8 21 00 00 161 LD HL,0 - 000000AB E5 162 PUSH HL - 000000AC 69 163 LD L,C - 000000AD 60 164 LD H,B - 000000AE 01 00 00 165 LD BC,0 - 000000B1 3E 09 166 LD A,9 - 000000B3 CD 00 00 167 CALL LWRD ?L_LSH_L03 - 000000B6 C5 168 PUSH BC - 000000B7 E5 169 PUSH HL - 000000B8 ED 5B 00 00 170 LD DE,(device_handle) - 000000BC 3E 00 171 LD A,BYTE3 lseek - 000000BE 21 00 00 172 LD HL,LWRD lseek - 000000C1 CD 00 00 173 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000000C4 F1 174 POP AF - 000000C5 F1 175 POP AF - 000000C6 F1 176 POP AF - 000000C7 CB 78 177 BIT 7,B - 000000C9 28 2E 178 JR Z,?0009 - 000000CB 179 ?0008: - 000000CB 21 00 00 180 LD HL,?0004 - 000000CE E5 181 PUSH HL - 000000CF 3E 00 182 LD A,BYTE3 printf - 000000D1 21 00 00 183 LD HL,LWRD printf - 000000D4 CD 00 00 184 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000000D7 F1 185 POP AF - 000000D8 11 00 00 186 LD DE,stdout - 000000DB 3E 00 187 LD A,BYTE3 fflush - 000000DD 21 00 00 188 LD HL,LWRD fflush - 000000E0 CD 00 00 189 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000000E3 11 02 00 190 LD DE,device_name - 000000E6 3E 00 191 LD A,BYTE3 perror - 000000E8 21 00 00 192 LD HL,LWRD perror - 000000EB CD 00 00 193 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000000EE 11 01 00 194 LD DE,1 - 000000F1 3E 00 195 LD A,BYTE3 exit - 000000F3 21 00 00 196 LD HL,LWRD exit - 000000F6 CD 00 00 197 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000000F9 198 ?0009: - 000000F9 21 00 02 199 LD HL,512 - 000000FC E5 200 PUSH HL - 000000FD DD 4E 0A 201 LD C,(IX+10) - 00000100 DD 46 0B 202 LD B,(IX+11) - 00000103 ED 5B 00 00 203 LD DE,(device_handle) - 00000107 3E 00 204 LD A,BYTE3 _write - 00000109 21 00 00 205 LD HL,LWRD _write - 0000010C CD 00 00 206 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000010F F1 207 POP AF - 00000110 3E 02 208 LD A,2 - 00000112 AC 209 XOR H - 00000113 B5 210 OR L - 00000114 28 2E 211 JR Z,?0011 - 00000116 212 ?0010: - 00000116 21 1A 00 213 LD HL,?0012 - 00000119 E5 214 PUSH HL - 0000011A 3E 00 215 LD A,BYTE3 printf - 0000011C 21 00 00 216 LD HL,LWRD printf - 0000011F CD 00 00 217 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000122 F1 218 POP AF - 00000123 11 00 00 219 LD DE,stdout - 00000126 3E 00 220 LD A,BYTE3 fflush - 00000128 21 00 00 221 LD HL,LWRD fflush - 0000012B CD 00 00 222 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000012E 11 02 00 223 LD DE,device_name - 00000131 3E 00 224 LD A,BYTE3 perror - 00000133 21 00 00 225 LD HL,LWRD perror - 00000136 CD 00 00 226 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000139 11 01 00 227 LD DE,1 - 0000013C 3E 00 228 LD A,BYTE3 exit - 0000013E 21 00 00 229 LD HL,LWRD exit - 00000141 CD 00 00 230 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000144 231 ?0011: - 00000144 21 00 02 232 LD HL,512 - 00000147 C3 00 00 233 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 0000014A 234 pass1: - 0000014A CD 00 00 235 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 0000014D B2 FF 236 DEFW 65458 - 0000014F AF 237 XOR A - 00000150 DD 77 B6 238 LD (IX-74),A - 00000153 DD 77 B7 239 LD (IX-73),A - 00000156 DD 36 B2 01 240 LD (IX-78),1 - 0000015A DD 36 B3 00 241 LD (IX-77),0 - 0000015E 242 ?0014: - 0000015E ED 4B 24 04 243 LD BC,(ninodes) - 00000162 DD 6E B2 244 LD L,(IX-78) - 00000165 DD 66 B3 245 LD H,(IX-77) - 00000168 A7 246 AND A - 00000169 ED 42 247 SBC HL,BC - 0000016B D2 DD 05 248 JP NC,?0013 - 0000016E 249 ?0015: - 0000016E 21 0E 00 250 LD HL,14 - 00000171 39 251 ADD HL,SP - 00000172 4D 252 LD C,L - 00000173 44 253 LD B,H - 00000174 DD 5E B2 254 LD E,(IX-78) - 00000177 DD 56 B3 255 LD D,(IX-77) - 0000017A 3E A1 256 LD A,BYTE3 iread - 0000017C 21 A1 17 257 LD HL,LWRD iread - 0000017F CD 00 00 258 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000182 DD 6E B2 259 LD L,(IX-78) - 00000185 DD 66 B3 260 LD H,(IX-77) - 00000188 ED 4B 38 04 261 LD BC,(link_count) - 0000018C 09 262 ADD HL,BC - 0000018D 36 FF 263 LD (HL),255 - 0000018F DD 6E C0 264 LD L,(IX-64) - 00000192 DD 66 C1 265 LD H,(IX-63) - 00000195 7D 266 LD A,L - 00000196 B4 267 OR H - 00000197 20 03 268 JR NZ,?0017 - 00000199 269 ?0016: - 00000199 C3 D2 05 270 JP LWRD ?0018 - 0000019C 271 ?0017: - 0000019C DD 7E C0 272 LD A,(IX-64) - 0000019F E6 00 273 AND 0 - 000001A1 6F 274 LD L,A - 000001A2 DD 7E C1 275 LD A,(IX-63) - 000001A5 E6 F0 276 AND 240 - 000001A7 67 277 LD H,A - 000001A8 DD 75 B4 278 LD (IX-76),L - 000001AB DD 74 B5 279 LD (IX-75),H - 000001AE 3E A0 280 LD A,160 - 000001B0 AC 281 XOR H - 000001B1 B5 282 OR L - 000001B2 CA 35 02 283 JP Z,?0020 - 000001B5 3E 80 284 LD A,128 - 000001B7 DD AE B5 285 XOR (IX-75) - 000001BA DD B6 B4 286 OR (IX-76) - 000001BD 28 76 287 JR Z,?0020 - 000001BF 3E 40 288 LD A,64 - 000001C1 DD AE B5 289 XOR (IX-75) - 000001C4 DD B6 B4 290 OR (IX-76) - 000001C7 28 6C 291 JR Z,?0020 - 000001C9 3E 90 292 LD A,144 - 000001CB DD AE B5 293 XOR (IX-75) - 000001CE DD B6 B4 294 OR (IX-76) - 000001D1 28 62 295 JR Z,?0020 - 000001D3 3E 60 296 LD A,96 - 000001D5 DD AE B5 297 XOR (IX-75) - 000001D8 DD B6 B4 298 OR (IX-76) - 000001DB 28 58 299 JR Z,?0020 - 000001DD 3E 20 300 LD A,32 - 000001DF DD AE B5 301 XOR (IX-75) - 000001E2 DD B6 B4 302 OR (IX-76) - 000001E5 28 4E 303 JR Z,?0020 - 000001E7 304 ?0022: - 000001E7 305 ?0021: - 000001E7 306 ?0019: - 000001E7 DD 6E C0 307 LD L,(IX-64) - 000001EA DD 66 C1 308 LD H,(IX-63) - 000001ED E5 309 PUSH HL - 000001EE DD 6E B2 310 LD L,(IX-78) - 000001F1 DD 66 B3 311 LD H,(IX-77) - 000001F4 E5 312 PUSH HL - 000001F5 21 28 00 313 LD HL,?0023 - 000001F8 E5 314 PUSH HL - 000001F9 3E 00 315 LD A,BYTE3 printf - 000001FB 21 00 00 316 LD HL,LWRD printf - 000001FE CD 00 00 317 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000201 F1 318 POP AF - 00000202 F1 319 POP AF - 00000203 F1 320 POP AF - 00000204 3E 5A 321 LD A,BYTE3 yes - 00000206 21 5A 19 322 LD HL,LWRD yes - 00000209 CD 00 00 323 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000020C 7D 324 LD A,L - 0000020D B4 325 OR H - 0000020E 28 25 326 JR Z,?0025 - 00000210 327 ?0024: - 00000210 AF 328 XOR A - 00000211 DD 77 C0 329 LD (IX-64),A - 00000214 DD 77 C1 330 LD (IX-63),A - 00000217 AF 331 XOR A - 00000218 DD 77 C2 332 LD (IX-62),A - 0000021B DD 77 C3 333 LD (IX-61),A - 0000021E 21 0E 00 334 LD HL,14 - 00000221 39 335 ADD HL,SP - 00000222 4D 336 LD C,L - 00000223 44 337 LD B,H - 00000224 DD 5E B2 338 LD E,(IX-78) - 00000227 DD 56 B3 339 LD D,(IX-77) - 0000022A 3E EF 340 LD A,BYTE3 iwrite - 0000022C 21 EF 17 341 LD HL,LWRD iwrite - 0000022F CD 00 00 342 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000232 C3 D2 05 343 JP LWRD ?0018 - 00000235 344 ?0025: - 00000235 345 ?0020: - 00000235 DD 6E B2 346 LD L,(IX-78) - 00000238 DD 66 B3 347 LD H,(IX-77) - 0000023B ED 4B 38 04 348 LD BC,(link_count) - 0000023F 09 349 ADD HL,BC - 00000240 36 00 350 LD (HL),0 - 00000242 DD 34 B6 351 INC (IX-74) - 00000245 20 03 352 JR NZ,?0382 - 00000247 DD 34 B7 353 INC (IX-73) - 0000024A 354 ?0382: - 0000024A 3E A0 355 LD A,160 - 0000024C DD AE B5 356 XOR (IX-75) - 0000024F DD B6 B4 357 OR (IX-76) - 00000252 28 1F 358 JR Z,?0026 - 00000254 3E 80 359 LD A,128 - 00000256 DD AE B5 360 XOR (IX-75) - 00000259 DD B6 B4 361 OR (IX-76) - 0000025C 28 15 362 JR Z,?0026 - 0000025E 3E 40 363 LD A,64 - 00000260 DD AE B5 364 XOR (IX-75) - 00000263 DD B6 B4 365 OR (IX-76) - 00000266 28 0B 366 JR Z,?0026 - 00000268 3E 90 367 LD A,144 - 0000026A DD AE B5 368 XOR (IX-75) - 0000026D DD B6 B4 369 OR (IX-76) - 00000270 C2 D2 05 370 JP NZ,?0027 - 00000273 371 ?0028: - 00000273 372 ?0029: - 00000273 373 ?0026: - 00000273 DD 36 B8 12 374 LD (IX-72),18 - 00000277 DD 36 B9 00 375 LD (IX-71),0 - 0000027B 376 ?0031: - 0000027B DD 4E B8 377 LD C,(IX-72) - 0000027E DD 46 B9 378 LD B,(IX-71) - 00000281 21 13 00 379 LD HL,19 - 00000284 A7 380 AND A - 00000285 ED 42 381 SBC HL,BC - 00000287 DA E3 03 382 JP C,?0030 - 0000028A 383 ?0032: - 0000028A DD 6E B8 384 LD L,(IX-72) - 0000028D DD 66 B9 385 LD H,(IX-71) - 00000290 29 386 ADD HL,HL - 00000291 E5 387 PUSH HL - 00000292 21 10 00 388 LD HL,16 - 00000295 39 389 ADD HL,SP - 00000296 01 18 00 390 LD BC,24 - 00000299 09 391 ADD HL,BC - 0000029A 4D 392 LD C,L - 0000029B 44 393 LD B,H - 0000029C E1 394 POP HL - 0000029D 09 395 ADD HL,BC - 0000029E 46 396 LD B,(HL) - 0000029F 23 397 INC HL - 000002A0 66 398 LD H,(HL) - 000002A1 68 399 LD L,B - 000002A2 DD 75 BC 400 LD (IX-68),L - 000002A5 DD 74 BD 401 LD (IX-67),H - 000002A8 7D 402 LD A,L - 000002A9 B4 403 OR H - 000002AA CA 2F 03 404 JP Z,?0034 - 000002AD ED 4B 26 04 405 LD BC,(finode) - 000002B1 DD 6E BC 406 LD L,(IX-68) - 000002B4 DD 66 BD 407 LD H,(IX-67) - 000002B7 A7 408 AND A - 000002B8 ED 42 409 SBC HL,BC - 000002BA 38 0F 410 JR C,?0033 - 000002BC ED 4B 0C 04 411 LD BC,(filsys+6) - 000002C0 DD 6E BC 412 LD L,(IX-68) - 000002C3 DD 66 BD 413 LD H,(IX-67) - 000002C6 A7 414 AND A - 000002C7 ED 42 415 SBC HL,BC - 000002C9 38 64 416 JR C,?0034 - 000002CB 417 ?0037: - 000002CB 418 ?0038: - 000002CB 419 ?0036: - 000002CB 420 ?0035: - 000002CB 421 ?0033: - 000002CB DD 6E BC 422 LD L,(IX-68) - 000002CE DD 66 BD 423 LD H,(IX-67) - 000002D1 E5 424 PUSH HL - 000002D2 DD 6E B8 425 LD L,(IX-72) - 000002D5 DD 66 B9 426 LD H,(IX-71) - 000002D8 E5 427 PUSH HL - 000002D9 DD 6E B2 428 LD L,(IX-78) - 000002DC DD 66 B3 429 LD H,(IX-77) - 000002DF E5 430 PUSH HL - 000002E0 21 5D 00 431 LD HL,?0039 - 000002E3 E5 432 PUSH HL - 000002E4 3E 00 433 LD A,BYTE3 printf - 000002E6 21 00 00 434 LD HL,LWRD printf - 000002E9 CD 00 00 435 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000002EC F1 436 POP AF - 000002ED F1 437 POP AF - 000002EE F1 438 POP AF - 000002EF F1 439 POP AF - 000002F0 3E 5A 440 LD A,BYTE3 yes - 000002F2 21 5A 19 441 LD HL,LWRD yes - 000002F5 CD 00 00 442 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000002F8 7D 443 LD A,L - 000002F9 B4 444 OR H - 000002FA 28 33 445 JR Z,?0041 - 000002FC 446 ?0040: - 000002FC DD 6E B8 447 LD L,(IX-72) - 000002FF DD 66 B9 448 LD H,(IX-71) - 00000302 29 449 ADD HL,HL - 00000303 E5 450 PUSH HL - 00000304 21 10 00 451 LD HL,16 - 00000307 39 452 ADD HL,SP - 00000308 01 18 00 453 LD BC,24 - 0000030B 09 454 ADD HL,BC - 0000030C 4D 455 LD C,L - 0000030D 44 456 LD B,H - 0000030E E1 457 POP HL - 0000030F 09 458 ADD HL,BC - 00000310 AF 459 XOR A - 00000311 77 460 LD (HL),A - 00000312 23 461 INC HL - 00000313 77 462 LD (HL),A - 00000314 21 0E 00 463 LD HL,14 - 00000317 39 464 ADD HL,SP - 00000318 4D 465 LD C,L - 00000319 44 466 LD B,H - 0000031A DD 5E B2 467 LD E,(IX-78) - 0000031D DD 56 B3 468 LD D,(IX-77) - 00000320 3E EF 469 LD A,BYTE3 iwrite - 00000322 21 EF 17 470 LD HL,LWRD iwrite - 00000325 CD 00 00 471 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000328 AF 472 XOR A - 00000329 DD 77 BC 473 LD (IX-68),A - 0000032C DD 77 BD 474 LD (IX-67),A - 0000032F 475 ?0041: - 0000032F 476 ?0034: - 0000032F DD 7E BC 477 LD A,(IX-68) - 00000332 DD B6 BD 478 OR (IX-67) - 00000335 28 7D 479 JR Z,?0043 - 00000337 21 16 00 480 LD HL,22 - 0000033A 39 481 ADD HL,SP - 0000033B 5E 482 LD E,(HL) - 0000033C 23 483 INC HL - 0000033D 56 484 LD D,(HL) - 0000033E 23 485 INC HL - 0000033F 4E 486 LD C,(HL) - 00000340 23 487 INC HL - 00000341 46 488 LD B,(HL) - 00000342 EB 489 EX DE,HL - 00000343 3E 09 490 LD A,9 - 00000345 CD 00 00 491 CALL LWRD ?SL_RSH_L03 - 00000348 01 12 00 492 LD BC,18 - 0000034B A7 493 AND A - 0000034C ED 42 494 SBC HL,BC - 0000034E 30 64 495 JR NC,?0043 - 00000350 496 ?0045: - 00000350 497 ?0044: - 00000350 498 ?0042: - 00000350 DD 6E BC 499 LD L,(IX-68) - 00000353 DD 66 BD 500 LD H,(IX-67) - 00000356 E5 501 PUSH HL - 00000357 DD 6E B8 502 LD L,(IX-72) - 0000035A DD 66 B9 503 LD H,(IX-71) - 0000035D E5 504 PUSH HL - 0000035E DD 6E B2 505 LD L,(IX-78) - 00000361 DD 66 B3 506 LD H,(IX-77) - 00000364 E5 507 PUSH HL - 00000365 21 A7 00 508 LD HL,?0046 - 00000368 E5 509 PUSH HL - 00000369 3E 00 510 LD A,BYTE3 printf - 0000036B 21 00 00 511 LD HL,LWRD printf - 0000036E CD 00 00 512 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000371 F1 513 POP AF - 00000372 F1 514 POP AF - 00000373 F1 515 POP AF - 00000374 F1 516 POP AF - 00000375 3E 5A 517 LD A,BYTE3 yes - 00000377 21 5A 19 518 LD HL,LWRD yes - 0000037A CD 00 00 519 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000037D 7D 520 LD A,L - 0000037E B4 521 OR H - 0000037F 28 33 522 JR Z,?0048 - 00000381 523 ?0047: - 00000381 DD 6E B8 524 LD L,(IX-72) - 00000384 DD 66 B9 525 LD H,(IX-71) - 00000387 29 526 ADD HL,HL - 00000388 E5 527 PUSH HL - 00000389 21 10 00 528 LD HL,16 - 0000038C 39 529 ADD HL,SP - 0000038D 01 18 00 530 LD BC,24 - 00000390 09 531 ADD HL,BC - 00000391 4D 532 LD C,L - 00000392 44 533 LD B,H - 00000393 E1 534 POP HL - 00000394 09 535 ADD HL,BC - 00000395 AF 536 XOR A - 00000396 77 537 LD (HL),A - 00000397 23 538 INC HL - 00000398 77 539 LD (HL),A - 00000399 21 0E 00 540 LD HL,14 - 0000039C 39 541 ADD HL,SP - 0000039D 4D 542 LD C,L - 0000039E 44 543 LD B,H - 0000039F DD 5E B2 544 LD E,(IX-78) - 000003A2 DD 56 B3 545 LD D,(IX-77) - 000003A5 3E EF 546 LD A,BYTE3 iwrite - 000003A7 21 EF 17 547 LD HL,LWRD iwrite - 000003AA CD 00 00 548 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000003AD AF 549 XOR A - 000003AE DD 77 BC 550 LD (IX-68),A - 000003B1 DD 77 BD 551 LD (IX-67),A - 000003B4 552 ?0048: - 000003B4 553 ?0043: - 000003B4 DD 7E BC 554 LD A,(IX-68) - 000003B7 DD B6 BD 555 OR (IX-67) - 000003BA 28 1C 556 JR Z,?0050 - 000003BC 557 ?0049: - 000003BC 06 03 558 LD B,3 - 000003BE DD 5E BC 559 LD E,(IX-68) - 000003C1 DD 56 BD 560 LD D,(IX-67) - 000003C4 CD 00 00 561 CALL LWRD ?US_RSH_L02 - 000003C7 2A 36 04 562 LD HL,(block_bitmap) - 000003CA 19 563 ADD HL,DE - 000003CB DD 7E BC 564 LD A,(IX-68) - 000003CE E6 07 565 AND 7 - 000003D0 47 566 LD B,A - 000003D1 3E 01 567 LD A,1 - 000003D3 CD 00 00 568 CALL LWRD ?C_LSH_L01 - 000003D6 B6 569 OR (HL) - 000003D7 77 570 LD (HL),A - 000003D8 571 ?0050: - 000003D8 DD 34 B8 572 INC (IX-72) - 000003DB 20 03 573 JR NZ,?0383 - 000003DD DD 34 B9 574 INC (IX-71) - 000003E0 575 ?0383: - 000003E0 C3 7B 02 576 JP LWRD ?0031 - 000003E3 577 ?0030: - 000003E3 DD 6E FE 578 LD L,(IX-2) - 000003E6 DD 66 FF 579 LD H,(IX-1) - 000003E9 7D 580 LD A,L - 000003EA B4 581 OR H - 000003EB CA D9 04 582 JP Z,?0052 - 000003EE 583 ?0051: - 000003EE DD 5E FE 584 LD E,(IX-2) - 000003F1 DD 56 FF 585 LD D,(IX-1) - 000003F4 3E 29 586 LD A,BYTE3 daread - 000003F6 21 29 17 587 LD HL,LWRD daread - 000003F9 CD 00 00 588 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000003FC DD 75 BE 589 LD (IX-66),L - 000003FF DD 74 BF 590 LD (IX-65),H - 00000402 AF 591 XOR A - 00000403 DD 77 B8 592 LD (IX-72),A - 00000406 DD 77 B9 593 LD (IX-71),A - 00000409 594 ?0054: - 00000409 01 00 01 595 LD BC,256 - 0000040C DD 6E B8 596 LD L,(IX-72) - 0000040F DD 66 B9 597 LD H,(IX-71) - 00000412 A7 598 AND A - 00000413 ED 42 599 SBC HL,BC - 00000415 D2 D9 04 600 JP NC,?0053 - 00000418 601 ?0055: - 00000418 DD 6E B8 602 LD L,(IX-72) - 0000041B DD 66 B9 603 LD H,(IX-71) - 0000041E 29 604 ADD HL,HL - 0000041F DD 4E BE 605 LD C,(IX-66) - 00000422 DD 46 BF 606 LD B,(IX-65) - 00000425 09 607 ADD HL,BC - 00000426 46 608 LD B,(HL) - 00000427 23 609 INC HL - 00000428 66 610 LD H,(HL) - 00000429 68 611 LD L,B - 0000042A DD 75 BC 612 LD (IX-68),L - 0000042D DD 74 BD 613 LD (IX-67),H - 00000430 7D 614 LD A,L - 00000431 B4 615 OR H - 00000432 28 76 616 JR Z,?0057 - 00000434 ED 4B 26 04 617 LD BC,(finode) - 00000438 DD 6E BC 618 LD L,(IX-68) - 0000043B DD 66 BD 619 LD H,(IX-67) - 0000043E A7 620 AND A - 0000043F ED 42 621 SBC HL,BC - 00000441 38 0F 622 JR C,?0056 - 00000443 ED 4B 0C 04 623 LD BC,(filsys+6) - 00000447 DD 6E BC 624 LD L,(IX-68) - 0000044A DD 66 BD 625 LD H,(IX-67) - 0000044D A7 626 AND A - 0000044E ED 42 627 SBC HL,BC - 00000450 38 58 628 JR C,?0057 - 00000452 629 ?0060: - 00000452 630 ?0061: - 00000452 631 ?0059: - 00000452 632 ?0058: - 00000452 633 ?0056: - 00000452 DD 6E BC 634 LD L,(IX-68) - 00000455 DD 66 BD 635 LD H,(IX-67) - 00000458 E5 636 PUSH HL - 00000459 DD 6E B8 637 LD L,(IX-72) - 0000045C DD 66 B9 638 LD H,(IX-71) - 0000045F E5 639 PUSH HL - 00000460 DD 6E B2 640 LD L,(IX-78) - 00000463 DD 66 B3 641 LD H,(IX-77) - 00000466 E5 642 PUSH HL - 00000467 21 F5 00 643 LD HL,?0062 - 0000046A E5 644 PUSH HL - 0000046B 3E 00 645 LD A,BYTE3 printf - 0000046D 21 00 00 646 LD HL,LWRD printf - 00000470 CD 00 00 647 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000473 F1 648 POP AF - 00000474 F1 649 POP AF - 00000475 F1 650 POP AF - 00000476 F1 651 POP AF - 00000477 3E 5A 652 LD A,BYTE3 yes - 00000479 21 5A 19 653 LD HL,LWRD yes - 0000047C CD 00 00 654 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000047F 7D 655 LD A,L - 00000480 B4 656 OR H - 00000481 28 27 657 JR Z,?0064 - 00000483 658 ?0063: - 00000483 DD 6E B8 659 LD L,(IX-72) - 00000486 DD 66 B9 660 LD H,(IX-71) - 00000489 29 661 ADD HL,HL - 0000048A DD 4E BE 662 LD C,(IX-66) - 0000048D DD 46 BF 663 LD B,(IX-65) - 00000490 09 664 ADD HL,BC - 00000491 AF 665 XOR A - 00000492 77 666 LD (HL),A - 00000493 23 667 INC HL - 00000494 77 668 LD (HL),A - 00000495 DD 5E B8 669 LD E,(IX-72) - 00000498 DD 56 B9 670 LD D,(IX-71) - 0000049B 3E 68 671 LD A,BYTE3 dwrite - 0000049D 21 68 17 672 LD HL,LWRD dwrite - 000004A0 CD 00 00 673 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000004A3 AF 674 XOR A - 000004A4 DD 77 BC 675 LD (IX-68),A - 000004A7 DD 77 BD 676 LD (IX-67),A - 000004AA 677 ?0064: - 000004AA 678 ?0057: - 000004AA DD 7E BC 679 LD A,(IX-68) - 000004AD DD B6 BD 680 OR (IX-67) - 000004B0 28 1C 681 JR Z,?0066 - 000004B2 682 ?0065: - 000004B2 06 03 683 LD B,3 - 000004B4 DD 5E BC 684 LD E,(IX-68) - 000004B7 DD 56 BD 685 LD D,(IX-67) - 000004BA CD 00 00 686 CALL LWRD ?US_RSH_L02 - 000004BD 2A 36 04 687 LD HL,(block_bitmap) - 000004C0 19 688 ADD HL,DE - 000004C1 DD 7E BC 689 LD A,(IX-68) - 000004C4 E6 07 690 AND 7 - 000004C6 47 691 LD B,A - 000004C7 3E 01 692 LD A,1 - 000004C9 CD 00 00 693 CALL LWRD ?C_LSH_L01 - 000004CC B6 694 OR (HL) - 000004CD 77 695 LD (HL),A - 000004CE 696 ?0066: - 000004CE DD 34 B8 697 INC (IX-72) - 000004D1 20 03 698 JR NZ,?0384 - 000004D3 DD 34 B9 699 INC (IX-71) - 000004D6 700 ?0384: - 000004D6 C3 09 04 701 JP LWRD ?0054 - 000004D9 702 ?0053: - 000004D9 703 ?0052: - 000004D9 AF 704 XOR A - 000004DA DD 77 B8 705 LD (IX-72),A - 000004DD DD 77 B9 706 LD (IX-71),A - 000004E0 21 16 00 707 LD HL,22 - 000004E3 39 708 ADD HL,SP - 000004E4 5E 709 LD E,(HL) - 000004E5 23 710 INC HL - 000004E6 56 711 LD D,(HL) - 000004E7 23 712 INC HL - 000004E8 4E 713 LD C,(HL) - 000004E9 23 714 INC HL - 000004EA 46 715 LD B,(HL) - 000004EB EB 716 EX DE,HL - 000004EC 3E 09 717 LD A,9 - 000004EE CD 00 00 718 CALL LWRD ?SL_RSH_L03 - 000004F1 DD 75 BA 719 LD (IX-70),L - 000004F4 DD 74 BB 720 LD (IX-69),H - 000004F7 721 ?0068: - 000004F7 DD 4E B8 722 LD C,(IX-72) - 000004FA DD 46 B9 723 LD B,(IX-71) - 000004FD DD 6E BA 724 LD L,(IX-70) - 00000500 DD 66 BB 725 LD H,(IX-69) - 00000503 A7 726 AND A - 00000504 ED 42 727 SBC HL,BC - 00000506 DA D2 05 728 JP C,?0067 - 00000509 729 ?0069: - 00000509 DD 4E B8 730 LD C,(IX-72) - 0000050C DD 46 B9 731 LD B,(IX-71) - 0000050F 21 0E 00 732 LD HL,14 - 00000512 39 733 ADD HL,SP - 00000513 5D 734 LD E,L - 00000514 54 735 LD D,H - 00000515 3E 05 736 LD A,BYTE3 getblkno - 00000517 21 05 14 737 LD HL,LWRD getblkno - 0000051A CD 00 00 738 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000051D DD 75 BC 739 LD (IX-68),L - 00000520 DD 74 BD 740 LD (IX-67),H - 00000523 7D 741 LD A,L - 00000524 B4 742 OR H - 00000525 28 7C 743 JR Z,?0071 - 00000527 ED 4B 26 04 744 LD BC,(finode) - 0000052B DD 6E BC 745 LD L,(IX-68) - 0000052E DD 66 BD 746 LD H,(IX-67) - 00000531 A7 747 AND A - 00000532 ED 42 748 SBC HL,BC - 00000534 38 0F 749 JR C,?0070 - 00000536 ED 4B 0C 04 750 LD BC,(filsys+6) - 0000053A DD 6E BC 751 LD L,(IX-68) - 0000053D DD 66 BD 752 LD H,(IX-67) - 00000540 A7 753 AND A - 00000541 ED 42 754 SBC HL,BC - 00000543 38 5E 755 JR C,?0071 - 00000545 756 ?0074: - 00000545 757 ?0075: - 00000545 758 ?0073: - 00000545 759 ?0072: - 00000545 760 ?0070: - 00000545 DD 6E BC 761 LD L,(IX-68) - 00000548 DD 66 BD 762 LD H,(IX-67) - 0000054B E5 763 PUSH HL - 0000054C DD 6E B8 764 LD L,(IX-72) - 0000054F DD 66 B9 765 LD H,(IX-71) - 00000552 E5 766 PUSH HL - 00000553 DD 6E B2 767 LD L,(IX-78) - 00000556 DD 66 B3 768 LD H,(IX-77) - 00000559 E5 769 PUSH HL - 0000055A 21 3F 01 770 LD HL,?0076 - 0000055D E5 771 PUSH HL - 0000055E 3E 00 772 LD A,BYTE3 printf - 00000560 21 00 00 773 LD HL,LWRD printf - 00000563 CD 00 00 774 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000566 F1 775 POP AF - 00000567 F1 776 POP AF - 00000568 F1 777 POP AF - 00000569 F1 778 POP AF - 0000056A 3E 5A 779 LD A,BYTE3 yes - 0000056C 21 5A 19 780 LD HL,LWRD yes - 0000056F CD 00 00 781 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000572 7D 782 LD A,L - 00000573 B4 783 OR H - 00000574 28 2D 784 JR Z,?0078 - 00000576 785 ?0077: - 00000576 21 00 00 786 LD HL,0 - 00000579 E5 787 PUSH HL - 0000057A DD 4E B8 788 LD C,(IX-72) - 0000057D DD 46 B9 789 LD B,(IX-71) - 00000580 21 10 00 790 LD HL,16 - 00000583 39 791 ADD HL,SP - 00000584 5D 792 LD E,L - 00000585 54 793 LD D,H - 00000586 3E 01 794 LD A,BYTE3 setblkno - 00000588 21 01 15 795 LD HL,LWRD setblkno - 0000058B CD 00 00 796 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000058E E1 797 POP HL - 0000058F 21 0E 00 798 LD HL,14 - 00000592 39 799 ADD HL,SP - 00000593 4D 800 LD C,L - 00000594 44 801 LD B,H - 00000595 DD 5E B2 802 LD E,(IX-78) - 00000598 DD 56 B3 803 LD D,(IX-77) - 0000059B 3E EF 804 LD A,BYTE3 iwrite - 0000059D 21 EF 17 805 LD HL,LWRD iwrite - 000005A0 CD 00 00 806 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000005A3 807 ?0078: - 000005A3 808 ?0071: - 000005A3 DD 7E BC 809 LD A,(IX-68) - 000005A6 DD B6 BD 810 OR (IX-67) - 000005A9 28 1C 811 JR Z,?0080 - 000005AB 812 ?0079: - 000005AB 06 03 813 LD B,3 - 000005AD DD 5E BC 814 LD E,(IX-68) - 000005B0 DD 56 BD 815 LD D,(IX-67) - 000005B3 CD 00 00 816 CALL LWRD ?US_RSH_L02 - 000005B6 2A 36 04 817 LD HL,(block_bitmap) - 000005B9 19 818 ADD HL,DE - 000005BA DD 7E BC 819 LD A,(IX-68) - 000005BD E6 07 820 AND 7 - 000005BF 47 821 LD B,A - 000005C0 3E 01 822 LD A,1 - 000005C2 CD 00 00 823 CALL LWRD ?C_LSH_L01 - 000005C5 B6 824 OR (HL) - 000005C6 77 825 LD (HL),A - 000005C7 826 ?0080: - 000005C7 DD 34 B8 827 INC (IX-72) - 000005CA 20 03 828 JR NZ,?0385 - 000005CC DD 34 B9 829 INC (IX-71) - 000005CF 830 ?0385: - 000005CF C3 F7 04 831 JP LWRD ?0068 - 000005D2 832 ?0067: - 000005D2 833 ?0027: - 000005D2 834 ?0018: - 000005D2 DD 34 B2 835 INC (IX-78) - 000005D5 20 03 836 JR NZ,?0386 - 000005D7 DD 34 B3 837 INC (IX-77) - 000005DA 838 ?0386: - 000005DA C3 5E 01 839 JP LWRD ?0014 - 000005DD 840 ?0013: - 000005DD DD 4E B6 841 LD C,(IX-74) - 000005E0 DD 46 B7 842 LD B,(IX-73) - 000005E3 2A 24 04 843 LD HL,(ninodes) - 000005E6 A7 844 AND A - 000005E7 ED 42 845 SBC HL,BC - 000005E9 01 FF FF 846 LD BC,65535 - 000005EC 09 847 ADD HL,BC - 000005ED DD 75 B8 848 LD (IX-72),L - 000005F0 DD 74 B9 849 LD (IX-71),H - 000005F3 ED 4B 10 04 850 LD BC,(filsys+10) - 000005F7 A7 851 AND A - 000005F8 ED 42 852 SBC HL,BC - 000005FA 28 40 853 JR Z,?0082 - 000005FC 854 ?0081: - 000005FC DD 6E B8 855 LD L,(IX-72) - 000005FF DD 66 B9 856 LD H,(IX-71) - 00000602 E5 857 PUSH HL - 00000603 21 10 04 858 LD HL,filsys+10 - 00000606 4E 859 LD C,(HL) - 00000607 23 860 INC HL - 00000608 46 861 LD B,(HL) - 00000609 C5 862 PUSH BC - 0000060A 21 79 01 863 LD HL,?0083 - 0000060D E5 864 PUSH HL - 0000060E 3E 00 865 LD A,BYTE3 printf - 00000610 21 00 00 866 LD HL,LWRD printf - 00000613 CD 00 00 867 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000616 F1 868 POP AF - 00000617 F1 869 POP AF - 00000618 F1 870 POP AF - 00000619 3E 5A 871 LD A,BYTE3 yes - 0000061B 21 5A 19 872 LD HL,LWRD yes - 0000061E CD 00 00 873 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000621 7D 874 LD A,L - 00000622 B4 875 OR H - 00000623 28 17 876 JR Z,?0085 - 00000625 877 ?0084: - 00000625 DD 6E B8 878 LD L,(IX-72) - 00000628 DD 66 B9 879 LD H,(IX-71) - 0000062B 22 10 04 880 LD (filsys+10),HL - 0000062E 01 06 04 881 LD BC,filsys - 00000631 11 01 00 882 LD DE,1 - 00000634 3E 68 883 LD A,BYTE3 dwrite - 00000636 21 68 17 884 LD HL,LWRD dwrite - 00000639 CD 00 00 885 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000063C 886 ?0085: - 0000063C 887 ?0082: - 0000063C C3 00 00 888 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 0000063F 889 pass2: - 0000063F CD 00 00 890 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 00000642 F0 FF 891 DEFW 65520 - 00000644 2A 0E 04 892 LD HL,(filsys+8) - 00000647 DD 75 F6 893 LD (IX-10),L - 0000064A DD 74 F7 894 LD (IX-9),H - 0000064D 2A 10 04 895 LD HL,(filsys+10) - 00000650 DD 75 F8 896 LD (IX-8),L - 00000653 DD 74 F9 897 LD (IX-7),H - 00000656 21 B3 01 898 LD HL,?0086 - 00000659 E5 899 PUSH HL - 0000065A 3E 00 900 LD A,BYTE3 printf - 0000065C 21 00 00 901 LD HL,LWRD printf - 0000065F CD 00 00 902 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000662 F1 903 POP AF - 00000663 3E 5A 904 LD A,BYTE3 yes - 00000665 21 5A 19 905 LD HL,LWRD yes - 00000668 CD 00 00 906 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000066B 7D 907 LD A,L - 0000066C B4 908 OR H - 0000066D 20 03 909 JR NZ,?0088 - 0000066F 910 ?0087: - 0000066F C3 E3 08 911 JP LWRD ?0116 - 00000672 912 ?0088: - 00000672 2A 16 04 913 LD HL,(filsys+16) - 00000675 DD 75 FA 914 LD (IX-6),L - 00000678 DD 74 FB 915 LD (IX-5),H - 0000067B 2A 18 04 916 LD HL,(filsys+18) - 0000067E DD 75 FC 917 LD (IX-4),L - 00000681 DD 74 FD 918 LD (IX-3),H - 00000684 2A 1A 04 919 LD HL,(filsys+20) - 00000687 DD 75 FE 920 LD (IX-2),L - 0000068A DD 74 FF 921 LD (IX-1),H - 0000068D AF 922 XOR A - 0000068E DD 77 F2 923 LD (IX-14),A - 00000691 DD 77 F3 924 LD (IX-13),A - 00000694 925 ?0090: - 00000694 2A 0A 04 926 LD HL,(filsys+4) - 00000697 ED 4B 26 04 927 LD BC,(finode) - 0000069B 09 928 ADD HL,BC - 0000069C 4D 929 LD C,L - 0000069D 44 930 LD B,H - 0000069E DD 6E F2 931 LD L,(IX-14) - 000006A1 DD 66 F3 932 LD H,(IX-13) - 000006A4 A7 933 AND A - 000006A5 ED 42 934 SBC HL,BC - 000006A7 30 26 935 JR NC,?0089 - 000006A9 936 ?0091: - 000006A9 06 03 937 LD B,3 - 000006AB DD 5E F2 938 LD E,(IX-14) - 000006AE DD 56 F3 939 LD D,(IX-13) - 000006B1 CD 00 00 940 CALL LWRD ?US_RSH_L02 - 000006B4 2A 36 04 941 LD HL,(block_bitmap) - 000006B7 19 942 ADD HL,DE - 000006B8 DD 7E F2 943 LD A,(IX-14) - 000006BB E6 07 944 AND 7 - 000006BD 47 945 LD B,A - 000006BE 3E 01 946 LD A,1 - 000006C0 CD 00 00 947 CALL LWRD ?C_LSH_L01 - 000006C3 B6 948 OR (HL) - 000006C4 77 949 LD (HL),A - 000006C5 DD 34 F2 950 INC (IX-14) - 000006C8 20 03 951 JR NZ,?0387 - 000006CA DD 34 F3 952 INC (IX-13) - 000006CD 953 ?0387: - 000006CD 18 C5 954 JR ?0090 - 000006CF 955 ?0089: - 000006CF DD 4E FC 956 LD C,(IX-4) - 000006D2 DD 46 FD 957 LD B,(IX-3) - 000006D5 DD 6E FE 958 LD L,(IX-2) - 000006D8 DD 66 FF 959 LD H,(IX-1) - 000006DB A7 960 AND A - 000006DC ED 42 961 SBC HL,BC - 000006DE 29 962 ADD HL,HL - 000006DF 29 963 ADD HL,HL - 000006E0 29 964 ADD HL,HL - 000006E1 DD 75 F4 965 LD (IX-12),L - 000006E4 DD 74 F5 966 LD (IX-11),H - 000006E7 2A 0C 04 967 LD HL,(filsys+6) - 000006EA DD 75 F2 968 LD (IX-14),L - 000006ED DD 74 F3 969 LD (IX-13),H - 000006F0 970 ?0094: - 000006F0 DD 6E F4 971 LD L,(IX-12) - 000006F3 DD 66 F5 972 LD H,(IX-11) - 000006F6 DD 4E F2 973 LD C,(IX-14) - 000006F9 DD 46 F3 974 LD B,(IX-13) - 000006FC A7 975 AND A - 000006FD ED 42 976 SBC HL,BC - 000006FF 28 26 977 JR Z,?0093 - 00000701 978 ?0095: - 00000701 06 03 979 LD B,3 - 00000703 DD 5E F2 980 LD E,(IX-14) - 00000706 DD 56 F3 981 LD D,(IX-13) - 00000709 CD 00 00 982 CALL LWRD ?US_RSH_L02 - 0000070C 2A 36 04 983 LD HL,(block_bitmap) - 0000070F 19 984 ADD HL,DE - 00000710 DD 7E F2 985 LD A,(IX-14) - 00000713 E6 07 986 AND 7 - 00000715 47 987 LD B,A - 00000716 3E 01 988 LD A,1 - 00000718 CD 00 00 989 CALL LWRD ?C_LSH_L01 - 0000071B B6 990 OR (HL) - 0000071C 77 991 LD (HL),A - 0000071D DD 34 F2 992 INC (IX-14) - 00000720 20 03 993 JR NZ,?0388 - 00000722 DD 34 F3 994 INC (IX-13) - 00000725 995 ?0388: - 00000725 18 C9 996 JR ?0094 - 00000727 997 ?0093: - 00000727 21 00 00 998 LD HL,0 - 0000072A 22 0E 04 999 LD (filsys+8),HL - 0000072D 2A 0A 04 1000 LD HL,(filsys+4) - 00000730 ED 4B 26 04 1001 LD BC,(finode) - 00000734 09 1002 ADD HL,BC - 00000735 DD 75 F2 1003 LD (IX-14),L - 00000738 DD 74 F3 1004 LD (IX-13),H - 0000073B 1005 ?0098: - 0000073B ED 4B 0C 04 1006 LD BC,(filsys+6) - 0000073F DD 6E F2 1007 LD L,(IX-14) - 00000742 DD 66 F3 1008 LD H,(IX-13) - 00000745 A7 1009 AND A - 00000746 ED 42 1010 SBC HL,BC - 00000748 30 2E 1011 JR NC,?0097 - 0000074A 1012 ?0099: - 0000074A 06 03 1013 LD B,3 - 0000074C DD 5E F2 1014 LD E,(IX-14) - 0000074F DD 56 F3 1015 LD D,(IX-13) - 00000752 CD 00 00 1016 CALL LWRD ?US_RSH_L02 - 00000755 2A 36 04 1017 LD HL,(block_bitmap) - 00000758 19 1018 ADD HL,DE - 00000759 DD 7E F2 1019 LD A,(IX-14) - 0000075C E6 07 1020 AND 7 - 0000075E 47 1021 LD B,A - 0000075F 3E 01 1022 LD A,1 - 00000761 CD 00 00 1023 CALL LWRD ?C_LSH_L01 - 00000764 A6 1024 AND (HL) - 00000765 20 07 1025 JR NZ,?0102 - 00000767 1026 ?0101: - 00000767 2A 0E 04 1027 LD HL,(filsys+8) - 0000076A 23 1028 INC HL - 0000076B 22 0E 04 1029 LD (filsys+8),HL - 0000076E 1030 ?0102: - 0000076E DD 34 F2 1031 INC (IX-14) - 00000771 20 03 1032 JR NZ,?0389 - 00000773 DD 34 F3 1033 INC (IX-13) - 00000776 1034 ?0389: - 00000776 18 C3 1035 JR ?0098 - 00000778 1036 ?0097: - 00000778 DD 6E FE 1037 LD L,(IX-2) - 0000077B DD 66 FF 1038 LD H,(IX-1) - 0000077E 01 00 00 1039 LD BC,0 - 00000781 C5 1040 PUSH BC - 00000782 E5 1041 PUSH HL - 00000783 DD 6E FC 1042 LD L,(IX-4) - 00000786 DD 66 FD 1043 LD H,(IX-3) - 00000789 01 00 00 1044 LD BC,0 - 0000078C C5 1045 PUSH BC - 0000078D E5 1046 PUSH HL - 0000078E ED 5B 36 04 1047 LD DE,(block_bitmap) - 00000792 3E 4F 1048 LD A,BYTE3 bitmap_dump - 00000794 21 4F 1D 1049 LD HL,LWRD bitmap_dump - 00000797 CD 00 00 1050 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000079A E1 1051 POP HL - 0000079B E1 1052 POP HL - 0000079C E1 1053 POP HL - 0000079D E1 1054 POP HL - 0000079E 2A 34 04 1055 LD HL,(inode_bitmap) - 000007A1 7E 1056 LD A,(HL) - 000007A2 F6 01 1057 OR 1 - 000007A4 77 1058 LD (HL),A - 000007A5 2A 34 04 1059 LD HL,(inode_bitmap) - 000007A8 7E 1060 LD A,(HL) - 000007A9 F6 02 1061 OR 2 - 000007AB 77 1062 LD (HL),A - 000007AC DD 36 F2 02 1063 LD (IX-14),2 - 000007B0 DD 36 F3 00 1064 LD (IX-13),0 - 000007B4 1065 ?0104: - 000007B4 ED 4B 24 04 1066 LD BC,(ninodes) - 000007B8 DD 6E F2 1067 LD L,(IX-14) - 000007BB DD 66 F3 1068 LD H,(IX-13) - 000007BE A7 1069 AND A - 000007BF ED 42 1070 SBC HL,BC - 000007C1 30 35 1071 JR NC,?0103 - 000007C3 1072 ?0105: - 000007C3 DD 6E F2 1073 LD L,(IX-14) - 000007C6 DD 66 F3 1074 LD H,(IX-13) - 000007C9 ED 4B 38 04 1075 LD BC,(link_count) - 000007CD 09 1076 ADD HL,BC - 000007CE 46 1077 LD B,(HL) - 000007CF 04 1078 INC B - 000007D0 28 1C 1079 JR Z,?0108 - 000007D2 1080 ?0107: - 000007D2 06 03 1081 LD B,3 - 000007D4 DD 5E F2 1082 LD E,(IX-14) - 000007D7 DD 56 F3 1083 LD D,(IX-13) - 000007DA CD 00 00 1084 CALL LWRD ?US_RSH_L02 - 000007DD 2A 34 04 1085 LD HL,(inode_bitmap) - 000007E0 19 1086 ADD HL,DE - 000007E1 DD 7E F2 1087 LD A,(IX-14) - 000007E4 E6 07 1088 AND 7 - 000007E6 47 1089 LD B,A - 000007E7 3E 01 1090 LD A,1 - 000007E9 CD 00 00 1091 CALL LWRD ?C_LSH_L01 - 000007EC B6 1092 OR (HL) - 000007ED 77 1093 LD (HL),A - 000007EE 1094 ?0108: - 000007EE DD 34 F2 1095 INC (IX-14) - 000007F1 20 03 1096 JR NZ,?0390 - 000007F3 DD 34 F3 1097 INC (IX-13) - 000007F6 1098 ?0390: - 000007F6 18 BC 1099 JR ?0104 - 000007F8 1100 ?0103: - 000007F8 DD 4E FA 1101 LD C,(IX-6) - 000007FB DD 46 FB 1102 LD B,(IX-5) - 000007FE DD 6E FC 1103 LD L,(IX-4) - 00000801 DD 66 FD 1104 LD H,(IX-3) - 00000804 A7 1105 AND A - 00000805 ED 42 1106 SBC HL,BC - 00000807 29 1107 ADD HL,HL - 00000808 29 1108 ADD HL,HL - 00000809 29 1109 ADD HL,HL - 0000080A DD 75 F4 1110 LD (IX-12),L - 0000080D DD 74 F5 1111 LD (IX-11),H - 00000810 2A 0A 04 1112 LD HL,(filsys+4) - 00000813 29 1113 ADD HL,HL - 00000814 29 1114 ADD HL,HL - 00000815 29 1115 ADD HL,HL - 00000816 DD 75 F2 1116 LD (IX-14),L - 00000819 DD 74 F3 1117 LD (IX-13),H - 0000081C 1118 ?0110: - 0000081C DD 6E F4 1119 LD L,(IX-12) - 0000081F DD 66 F5 1120 LD H,(IX-11) - 00000822 DD 4E F2 1121 LD C,(IX-14) - 00000825 DD 46 F3 1122 LD B,(IX-13) - 00000828 A7 1123 AND A - 00000829 ED 42 1124 SBC HL,BC - 0000082B 28 26 1125 JR Z,?0109 - 0000082D 1126 ?0111: - 0000082D 06 03 1127 LD B,3 - 0000082F DD 5E F2 1128 LD E,(IX-14) - 00000832 DD 56 F3 1129 LD D,(IX-13) - 00000835 CD 00 00 1130 CALL LWRD ?US_RSH_L02 - 00000838 2A 34 04 1131 LD HL,(inode_bitmap) - 0000083B 19 1132 ADD HL,DE - 0000083C DD 7E F2 1133 LD A,(IX-14) - 0000083F E6 07 1134 AND 7 - 00000841 47 1135 LD B,A - 00000842 3E 01 1136 LD A,1 - 00000844 CD 00 00 1137 CALL LWRD ?C_LSH_L01 - 00000847 B6 1138 OR (HL) - 00000848 77 1139 LD (HL),A - 00000849 DD 34 F2 1140 INC (IX-14) - 0000084C 20 03 1141 JR NZ,?0391 - 0000084E DD 34 F3 1142 INC (IX-13) - 00000851 1143 ?0391: - 00000851 18 C9 1144 JR ?0110 - 00000853 1145 ?0109: - 00000853 DD 6E FC 1146 LD L,(IX-4) - 00000856 DD 66 FD 1147 LD H,(IX-3) - 00000859 01 00 00 1148 LD BC,0 - 0000085C C5 1149 PUSH BC - 0000085D E5 1150 PUSH HL - 0000085E DD 6E FA 1151 LD L,(IX-6) - 00000861 DD 66 FB 1152 LD H,(IX-5) - 00000864 01 00 00 1153 LD BC,0 - 00000867 C5 1154 PUSH BC - 00000868 E5 1155 PUSH HL - 00000869 ED 5B 34 04 1156 LD DE,(inode_bitmap) - 0000086D 3E 4F 1157 LD A,BYTE3 bitmap_dump - 0000086F 21 4F 1D 1158 LD HL,LWRD bitmap_dump - 00000872 CD 00 00 1159 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000875 E1 1160 POP HL - 00000876 E1 1161 POP HL - 00000877 E1 1162 POP HL - 00000878 E1 1163 POP HL - 00000879 11 04 00 1164 LD DE,4 - 0000087C 3E 29 1165 LD A,BYTE3 daread - 0000087E 21 29 17 1166 LD HL,LWRD daread - 00000881 CD 00 00 1167 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000884 DD 75 F0 1168 LD (IX-16),L - 00000887 DD 74 F1 1169 LD (IX-15),H - 0000088A 01 1E 00 1170 LD BC,30 - 0000088D C5 1171 PUSH BC - 0000088E 4D 1172 LD C,L - 0000088F 44 1173 LD B,H - 00000890 11 06 04 1174 LD DE,filsys - 00000893 3E 00 1175 LD A,BYTE3 bcopy - 00000895 21 00 00 1176 LD HL,LWRD bcopy - 00000898 CD 00 00 1177 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000089B E1 1178 POP HL - 0000089C DD 4E F0 1179 LD C,(IX-16) - 0000089F DD 46 F1 1180 LD B,(IX-15) - 000008A2 11 04 00 1181 LD DE,4 - 000008A5 3E 68 1182 LD A,BYTE3 dwrite - 000008A7 21 68 17 1183 LD HL,LWRD dwrite - 000008AA CD 00 00 1184 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000008AD 2A 0E 04 1185 LD HL,(filsys+8) - 000008B0 DD 4E F6 1186 LD C,(IX-10) - 000008B3 DD 46 F7 1187 LD B,(IX-9) - 000008B6 A7 1188 AND A - 000008B7 ED 42 1189 SBC HL,BC - 000008B9 28 28 1190 JR Z,?0114 - 000008BB 1191 ?0113: - 000008BB DD 6E F6 1192 LD L,(IX-10) - 000008BE DD 66 F7 1193 LD H,(IX-9) - 000008C1 E5 1194 PUSH HL - 000008C2 21 0E 04 1195 LD HL,filsys+8 - 000008C5 4E 1196 LD C,(HL) - 000008C6 23 1197 INC HL - 000008C7 46 1198 LD B,(HL) - 000008C8 C5 1199 PUSH BC - 000008C9 21 D2 01 1200 LD HL,?0115 - 000008CC E5 1201 PUSH HL - 000008CD 3E 00 1202 LD A,BYTE3 printf - 000008CF 21 00 00 1203 LD HL,LWRD printf - 000008D2 CD 00 00 1204 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000008D5 F1 1205 POP AF - 000008D6 F1 1206 POP AF - 000008D7 F1 1207 POP AF - 000008D8 11 00 00 1208 LD DE,stdout - 000008DB 3E 00 1209 LD A,BYTE3 fflush - 000008DD 21 00 00 1210 LD HL,LWRD fflush - 000008E0 CD 00 00 1211 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000008E3 1212 ?0114: - 000008E3 1213 ?0116: - 000008E3 C3 00 00 1214 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 000008E6 1215 pass3: - 000008E6 CD 00 00 1216 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 000008E9 B4 FF 1217 DEFW 65460 - 000008EB 2A 26 04 1218 LD HL,(finode) - 000008EE DD 75 F8 1219 LD (IX-8),L - 000008F1 DD 74 F9 1220 LD (IX-7),H - 000008F4 1221 ?0118: - 000008F4 ED 4B 0C 04 1222 LD BC,(filsys+6) - 000008F8 DD 6E F8 1223 LD L,(IX-8) - 000008FB DD 66 F9 1224 LD H,(IX-7) - 000008FE A7 1225 AND A - 000008FF ED 42 1226 SBC HL,BC - 00000901 30 27 1227 JR NC,?0117 - 00000903 1228 ?0119: - 00000903 06 03 1229 LD B,3 - 00000905 DD 5E F8 1230 LD E,(IX-8) - 00000908 DD 56 F9 1231 LD D,(IX-7) - 0000090B CD 00 00 1232 CALL LWRD ?US_RSH_L02 - 0000090E 2A 36 04 1233 LD HL,(block_bitmap) - 00000911 19 1234 ADD HL,DE - 00000912 DD 7E F8 1235 LD A,(IX-8) - 00000915 E6 07 1236 AND 7 - 00000917 47 1237 LD B,A - 00000918 3E 01 1238 LD A,1 - 0000091A CD 00 00 1239 CALL LWRD ?C_LSH_L01 - 0000091D 2F 1240 CPL - 0000091E A6 1241 AND (HL) - 0000091F 77 1242 LD (HL),A - 00000920 DD 34 F8 1243 INC (IX-8) - 00000923 20 03 1244 JR NZ,?0392 - 00000925 DD 34 F9 1245 INC (IX-7) - 00000928 1246 ?0392: - 00000928 18 CA 1247 JR ?0118 - 0000092A 1248 ?0117: - 0000092A DD 36 B4 01 1249 LD (IX-76),1 - 0000092E DD 36 B5 00 1250 LD (IX-75),0 - 00000932 1251 ?0121: - 00000932 ED 4B 24 04 1252 LD BC,(ninodes) - 00000936 DD 6E B4 1253 LD L,(IX-76) - 00000939 DD 66 B5 1254 LD H,(IX-75) - 0000093C A7 1255 AND A - 0000093D ED 42 1256 SBC HL,BC - 0000093F D2 10 0C 1257 JP NC,?0120 - 00000942 1258 ?0122: - 00000942 21 04 00 1259 LD HL,4 - 00000945 39 1260 ADD HL,SP - 00000946 4D 1261 LD C,L - 00000947 44 1262 LD B,H - 00000948 DD 5E B4 1263 LD E,(IX-76) - 0000094B DD 56 B5 1264 LD D,(IX-75) - 0000094E 3E A1 1265 LD A,BYTE3 iread - 00000950 21 A1 17 1266 LD HL,LWRD iread - 00000953 CD 00 00 1267 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000956 DD 7E B8 1268 LD A,(IX-72) - 00000959 E6 00 1269 AND 0 - 0000095B 6F 1270 LD L,A - 0000095C DD 7E B9 1271 LD A,(IX-71) - 0000095F E6 F0 1272 AND 240 - 00000961 67 1273 LD H,A - 00000962 DD 75 B6 1274 LD (IX-74),L - 00000965 DD 74 B7 1275 LD (IX-73),H - 00000968 3E A0 1276 LD A,160 - 0000096A AC 1277 XOR H - 0000096B B5 1278 OR L - 0000096C 28 21 1279 JR Z,?0124 - 0000096E 3E 80 1280 LD A,128 - 00000970 DD AE B7 1281 XOR (IX-73) - 00000973 DD B6 B6 1282 OR (IX-74) - 00000976 28 17 1283 JR Z,?0124 - 00000978 3E 40 1284 LD A,64 - 0000097A DD AE B7 1285 XOR (IX-73) - 0000097D DD B6 B6 1286 OR (IX-74) - 00000980 28 0D 1287 JR Z,?0124 - 00000982 3E 90 1288 LD A,144 - 00000984 DD AE B7 1289 XOR (IX-73) - 00000987 DD B6 B6 1290 OR (IX-74) - 0000098A 28 03 1291 JR Z,?0124 - 0000098C 1292 ?0126: - 0000098C 1293 ?0125: - 0000098C 1294 ?0123: - 0000098C C3 05 0C 1295 JP LWRD ?0127 - 0000098F 1296 ?0124: - 0000098F DD 36 F8 12 1297 LD (IX-8),18 - 00000993 DD 36 F9 00 1298 LD (IX-7),0 - 00000997 1299 ?0129: - 00000997 DD 4E F8 1300 LD C,(IX-8) - 0000099A DD 46 F9 1301 LD B,(IX-7) - 0000099D 21 13 00 1302 LD HL,19 - 000009A0 A7 1303 AND A - 000009A1 ED 42 1304 SBC HL,BC - 000009A3 DA BF 0A 1305 JP C,?0128 - 000009A6 1306 ?0130: - 000009A6 DD 6E F8 1307 LD L,(IX-8) - 000009A9 DD 66 F9 1308 LD H,(IX-7) - 000009AC 29 1309 ADD HL,HL - 000009AD E5 1310 PUSH HL - 000009AE 21 06 00 1311 LD HL,6 - 000009B1 39 1312 ADD HL,SP - 000009B2 01 18 00 1313 LD BC,24 - 000009B5 09 1314 ADD HL,BC - 000009B6 4D 1315 LD C,L - 000009B7 44 1316 LD B,H - 000009B8 E1 1317 POP HL - 000009B9 09 1318 ADD HL,BC - 000009BA 46 1319 LD B,(HL) - 000009BB 23 1320 INC HL - 000009BC 66 1321 LD H,(HL) - 000009BD 68 1322 LD L,B - 000009BE DD 75 FC 1323 LD (IX-4),L - 000009C1 DD 74 FD 1324 LD (IX-3),H - 000009C4 7D 1325 LD A,L - 000009C5 B4 1326 OR H - 000009C6 CA B4 0A 1327 JP Z,?0132 - 000009C9 1328 ?0131: - 000009C9 06 03 1329 LD B,3 - 000009CB DD 5E FC 1330 LD E,(IX-4) - 000009CE DD 56 FD 1331 LD D,(IX-3) - 000009D1 CD 00 00 1332 CALL LWRD ?US_RSH_L02 - 000009D4 2A 36 04 1333 LD HL,(block_bitmap) - 000009D7 19 1334 ADD HL,DE - 000009D8 DD 7E FC 1335 LD A,(IX-4) - 000009DB E6 07 1336 AND 7 - 000009DD 47 1337 LD B,A - 000009DE 3E 01 1338 LD A,1 - 000009E0 CD 00 00 1339 CALL LWRD ?C_LSH_L01 - 000009E3 A6 1340 AND (HL) - 000009E4 CA 98 0A 1341 JP Z,?0134 - 000009E7 1342 ?0133: - 000009E7 DD 6E FC 1343 LD L,(IX-4) - 000009EA DD 66 FD 1344 LD H,(IX-3) - 000009ED E5 1345 PUSH HL - 000009EE DD 6E B4 1346 LD L,(IX-76) - 000009F1 DD 66 B5 1347 LD H,(IX-75) - 000009F4 E5 1348 PUSH HL - 000009F5 DD 6E F8 1349 LD L,(IX-8) - 000009F8 DD 66 F9 1350 LD H,(IX-7) - 000009FB E5 1351 PUSH HL - 000009FC 21 14 02 1352 LD HL,?0135 - 000009FF E5 1353 PUSH HL - 00000A00 3E 00 1354 LD A,BYTE3 printf - 00000A02 21 00 00 1355 LD HL,LWRD printf - 00000A05 CD 00 00 1356 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000A08 F1 1357 POP AF - 00000A09 F1 1358 POP AF - 00000A0A F1 1359 POP AF - 00000A0B F1 1360 POP AF - 00000A0C 3E 5A 1361 LD A,BYTE3 yes - 00000A0E 21 5A 19 1362 LD HL,LWRD yes - 00000A11 CD 00 00 1363 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000A14 7D 1364 LD A,L - 00000A15 B4 1365 OR H - 00000A16 28 7E 1366 JR Z,?0137 - 00000A18 1367 ?0136: - 00000A18 11 06 04 1368 LD DE,filsys - 00000A1B 3E 57 1369 LD A,BYTE3 _blk_alloc - 00000A1D 21 57 16 1370 LD HL,LWRD _blk_alloc - 00000A20 CD 00 00 1371 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000A23 DD 75 FE 1372 LD (IX-2),L - 00000A26 DD 74 FF 1373 LD (IX-1),H - 00000A29 7D 1374 LD A,L - 00000A2A B4 1375 OR H - 00000A2B 20 1A 1376 JR NZ,?0139 - 00000A2D 1377 ?0138: - 00000A2D 21 55 02 1378 LD HL,?0140 - 00000A30 E5 1379 PUSH HL - 00000A31 3E 00 1380 LD A,BYTE3 printf - 00000A33 21 00 00 1381 LD HL,LWRD printf - 00000A36 CD 00 00 1382 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000A39 F1 1383 POP AF - 00000A3A 11 00 00 1384 LD DE,stdout - 00000A3D 3E 00 1385 LD A,BYTE3 fflush - 00000A3F 21 00 00 1386 LD HL,LWRD fflush - 00000A42 CD 00 00 1387 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000A45 18 4F 1388 JR ?0141 - 00000A47 1389 ?0139: - 00000A47 DD 5E FC 1390 LD E,(IX-4) - 00000A4A DD 56 FD 1391 LD D,(IX-3) - 00000A4D 3E 29 1392 LD A,BYTE3 daread - 00000A4F 21 29 17 1393 LD HL,LWRD daread - 00000A52 CD 00 00 1394 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000A55 4D 1395 LD C,L - 00000A56 44 1396 LD B,H - 00000A57 DD 5E FE 1397 LD E,(IX-2) - 00000A5A DD 56 FF 1398 LD D,(IX-1) - 00000A5D 3E 68 1399 LD A,BYTE3 dwrite - 00000A5F 21 68 17 1400 LD HL,LWRD dwrite - 00000A62 CD 00 00 1401 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000A65 DD 6E F8 1402 LD L,(IX-8) - 00000A68 DD 66 F9 1403 LD H,(IX-7) - 00000A6B 29 1404 ADD HL,HL - 00000A6C E5 1405 PUSH HL - 00000A6D 21 06 00 1406 LD HL,6 - 00000A70 39 1407 ADD HL,SP - 00000A71 01 18 00 1408 LD BC,24 - 00000A74 09 1409 ADD HL,BC - 00000A75 4D 1410 LD C,L - 00000A76 44 1411 LD B,H - 00000A77 E1 1412 POP HL - 00000A78 09 1413 ADD HL,BC - 00000A79 DD 4E FE 1414 LD C,(IX-2) - 00000A7C DD 46 FF 1415 LD B,(IX-1) - 00000A7F 71 1416 LD (HL),C - 00000A80 23 1417 INC HL - 00000A81 70 1418 LD (HL),B - 00000A82 21 04 00 1419 LD HL,4 - 00000A85 39 1420 ADD HL,SP - 00000A86 4D 1421 LD C,L - 00000A87 44 1422 LD B,H - 00000A88 DD 5E B4 1423 LD E,(IX-76) - 00000A8B DD 56 B5 1424 LD D,(IX-75) - 00000A8E 3E EF 1425 LD A,BYTE3 iwrite - 00000A90 21 EF 17 1426 LD HL,LWRD iwrite - 00000A93 CD 00 00 1427 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000A96 1428 ?0141: - 00000A96 1429 ?0137: - 00000A96 18 1C 1430 JR ?0142 - 00000A98 1431 ?0134: - 00000A98 06 03 1432 LD B,3 - 00000A9A DD 5E FC 1433 LD E,(IX-4) - 00000A9D DD 56 FD 1434 LD D,(IX-3) - 00000AA0 CD 00 00 1435 CALL LWRD ?US_RSH_L02 - 00000AA3 2A 36 04 1436 LD HL,(block_bitmap) - 00000AA6 19 1437 ADD HL,DE - 00000AA7 DD 7E FC 1438 LD A,(IX-4) - 00000AAA E6 07 1439 AND 7 - 00000AAC 47 1440 LD B,A - 00000AAD 3E 01 1441 LD A,1 - 00000AAF CD 00 00 1442 CALL LWRD ?C_LSH_L01 - 00000AB2 B6 1443 OR (HL) - 00000AB3 77 1444 LD (HL),A - 00000AB4 1445 ?0142: - 00000AB4 1446 ?0132: - 00000AB4 DD 34 F8 1447 INC (IX-8) - 00000AB7 20 03 1448 JR NZ,?0393 - 00000AB9 DD 34 F9 1449 INC (IX-7) - 00000ABC 1450 ?0393: - 00000ABC C3 97 09 1451 JP LWRD ?0129 - 00000ABF 1452 ?0128: - 00000ABF AF 1453 XOR A - 00000AC0 DD 77 F8 1454 LD (IX-8),A - 00000AC3 DD 77 F9 1455 LD (IX-7),A - 00000AC6 21 0C 00 1456 LD HL,12 - 00000AC9 39 1457 ADD HL,SP - 00000ACA 5E 1458 LD E,(HL) - 00000ACB 23 1459 INC HL - 00000ACC 56 1460 LD D,(HL) - 00000ACD 23 1461 INC HL - 00000ACE 4E 1462 LD C,(HL) - 00000ACF 23 1463 INC HL - 00000AD0 46 1464 LD B,(HL) - 00000AD1 EB 1465 EX DE,HL - 00000AD2 3E 09 1466 LD A,9 - 00000AD4 CD 00 00 1467 CALL LWRD ?SL_RSH_L03 - 00000AD7 DD 75 FA 1468 LD (IX-6),L - 00000ADA DD 74 FB 1469 LD (IX-5),H - 00000ADD 1470 ?0144: - 00000ADD DD 4E F8 1471 LD C,(IX-8) - 00000AE0 DD 46 F9 1472 LD B,(IX-7) - 00000AE3 DD 6E FA 1473 LD L,(IX-6) - 00000AE6 DD 66 FB 1474 LD H,(IX-5) - 00000AE9 A7 1475 AND A - 00000AEA ED 42 1476 SBC HL,BC - 00000AEC DA 05 0C 1477 JP C,?0143 - 00000AEF 1478 ?0145: - 00000AEF DD 4E F8 1479 LD C,(IX-8) - 00000AF2 DD 46 F9 1480 LD B,(IX-7) - 00000AF5 21 04 00 1481 LD HL,4 - 00000AF8 39 1482 ADD HL,SP - 00000AF9 5D 1483 LD E,L - 00000AFA 54 1484 LD D,H - 00000AFB 3E 05 1485 LD A,BYTE3 getblkno - 00000AFD 21 05 14 1486 LD HL,LWRD getblkno - 00000B00 CD 00 00 1487 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000B03 DD 75 FC 1488 LD (IX-4),L - 00000B06 DD 74 FD 1489 LD (IX-3),H - 00000B09 7D 1490 LD A,L - 00000B0A B4 1491 OR H - 00000B0B 20 03 1492 JR NZ,?0147 - 00000B0D 1493 ?0146: - 00000B0D C3 FA 0B 1494 JP LWRD ?0148 - 00000B10 1495 ?0147: - 00000B10 06 03 1496 LD B,3 - 00000B12 DD 5E FC 1497 LD E,(IX-4) - 00000B15 DD 56 FD 1498 LD D,(IX-3) - 00000B18 CD 00 00 1499 CALL LWRD ?US_RSH_L02 - 00000B1B 2A 36 04 1500 LD HL,(block_bitmap) - 00000B1E 19 1501 ADD HL,DE - 00000B1F DD 7E FC 1502 LD A,(IX-4) - 00000B22 E6 07 1503 AND 7 - 00000B24 47 1504 LD B,A - 00000B25 3E 01 1505 LD A,1 - 00000B27 CD 00 00 1506 CALL LWRD ?C_LSH_L01 - 00000B2A A6 1507 AND (HL) - 00000B2B CA DE 0B 1508 JP Z,?0150 - 00000B2E 1509 ?0149: - 00000B2E DD 6E FC 1510 LD L,(IX-4) - 00000B31 DD 66 FD 1511 LD H,(IX-3) - 00000B34 E5 1512 PUSH HL - 00000B35 DD 6E B4 1513 LD L,(IX-76) - 00000B38 DD 66 B5 1514 LD H,(IX-75) - 00000B3B E5 1515 PUSH HL - 00000B3C DD 6E F8 1516 LD L,(IX-8) - 00000B3F DD 66 F9 1517 LD H,(IX-7) - 00000B42 E5 1518 PUSH HL - 00000B43 21 74 02 1519 LD HL,?0151 - 00000B46 E5 1520 PUSH HL - 00000B47 3E 00 1521 LD A,BYTE3 printf - 00000B49 21 00 00 1522 LD HL,LWRD printf - 00000B4C CD 00 00 1523 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000B4F F1 1524 POP AF - 00000B50 F1 1525 POP AF - 00000B51 F1 1526 POP AF - 00000B52 F1 1527 POP AF - 00000B53 3E 5A 1528 LD A,BYTE3 yes - 00000B55 21 5A 19 1529 LD HL,LWRD yes - 00000B58 CD 00 00 1530 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000B5B 7D 1531 LD A,L - 00000B5C B4 1532 OR H - 00000B5D 28 7D 1533 JR Z,?0153 - 00000B5F 1534 ?0152: - 00000B5F 11 06 04 1535 LD DE,filsys - 00000B62 3E 57 1536 LD A,BYTE3 _blk_alloc - 00000B64 21 57 16 1537 LD HL,LWRD _blk_alloc - 00000B67 CD 00 00 1538 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000B6A DD 75 FE 1539 LD (IX-2),L - 00000B6D DD 74 FF 1540 LD (IX-1),H - 00000B70 7D 1541 LD A,L - 00000B71 B4 1542 OR H - 00000B72 20 1A 1543 JR NZ,?0155 - 00000B74 1544 ?0154: - 00000B74 21 55 02 1545 LD HL,?0140 - 00000B77 E5 1546 PUSH HL - 00000B78 3E 00 1547 LD A,BYTE3 printf - 00000B7A 21 00 00 1548 LD HL,LWRD printf - 00000B7D CD 00 00 1549 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000B80 F1 1550 POP AF - 00000B81 11 00 00 1551 LD DE,stdout - 00000B84 3E 00 1552 LD A,BYTE3 fflush - 00000B86 21 00 00 1553 LD HL,LWRD fflush - 00000B89 CD 00 00 1554 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000B8C 18 4E 1555 JR ?0156 - 00000B8E 1556 ?0155: - 00000B8E DD 5E FC 1557 LD E,(IX-4) - 00000B91 DD 56 FD 1558 LD D,(IX-3) - 00000B94 3E 29 1559 LD A,BYTE3 daread - 00000B96 21 29 17 1560 LD HL,LWRD daread - 00000B99 CD 00 00 1561 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000B9C 4D 1562 LD C,L - 00000B9D 44 1563 LD B,H - 00000B9E DD 5E FE 1564 LD E,(IX-2) - 00000BA1 DD 56 FF 1565 LD D,(IX-1) - 00000BA4 3E 68 1566 LD A,BYTE3 dwrite - 00000BA6 21 68 17 1567 LD HL,LWRD dwrite - 00000BA9 CD 00 00 1568 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000BAC DD 6E FE 1569 LD L,(IX-2) - 00000BAF DD 66 FF 1570 LD H,(IX-1) - 00000BB2 E5 1571 PUSH HL - 00000BB3 DD 4E F8 1572 LD C,(IX-8) - 00000BB6 DD 46 F9 1573 LD B,(IX-7) - 00000BB9 21 06 00 1574 LD HL,6 - 00000BBC 39 1575 ADD HL,SP - 00000BBD 5D 1576 LD E,L - 00000BBE 54 1577 LD D,H - 00000BBF 3E 01 1578 LD A,BYTE3 setblkno - 00000BC1 21 01 15 1579 LD HL,LWRD setblkno - 00000BC4 CD 00 00 1580 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000BC7 E1 1581 POP HL - 00000BC8 21 04 00 1582 LD HL,4 - 00000BCB 39 1583 ADD HL,SP - 00000BCC 4D 1584 LD C,L - 00000BCD 44 1585 LD B,H - 00000BCE DD 5E B4 1586 LD E,(IX-76) - 00000BD1 DD 56 B5 1587 LD D,(IX-75) - 00000BD4 3E EF 1588 LD A,BYTE3 iwrite - 00000BD6 21 EF 17 1589 LD HL,LWRD iwrite - 00000BD9 CD 00 00 1590 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000BDC 1591 ?0156: - 00000BDC 1592 ?0153: - 00000BDC 18 1C 1593 JR ?0157 - 00000BDE 1594 ?0150: - 00000BDE 06 03 1595 LD B,3 - 00000BE0 DD 5E FC 1596 LD E,(IX-4) - 00000BE3 DD 56 FD 1597 LD D,(IX-3) - 00000BE6 CD 00 00 1598 CALL LWRD ?US_RSH_L02 - 00000BE9 2A 36 04 1599 LD HL,(block_bitmap) - 00000BEC 19 1600 ADD HL,DE - 00000BED DD 7E FC 1601 LD A,(IX-4) - 00000BF0 E6 07 1602 AND 7 - 00000BF2 47 1603 LD B,A - 00000BF3 3E 01 1604 LD A,1 - 00000BF5 CD 00 00 1605 CALL LWRD ?C_LSH_L01 - 00000BF8 B6 1606 OR (HL) - 00000BF9 77 1607 LD (HL),A - 00000BFA 1608 ?0157: - 00000BFA 1609 ?0148: - 00000BFA DD 34 F8 1610 INC (IX-8) - 00000BFD 20 03 1611 JR NZ,?0394 - 00000BFF DD 34 F9 1612 INC (IX-7) - 00000C02 1613 ?0394: - 00000C02 C3 DD 0A 1614 JP LWRD ?0144 - 00000C05 1615 ?0143: - 00000C05 1616 ?0127: - 00000C05 DD 34 B4 1617 INC (IX-76) - 00000C08 20 03 1618 JR NZ,?0395 - 00000C0A DD 34 B5 1619 INC (IX-75) - 00000C0D 1620 ?0395: - 00000C0D C3 32 09 1621 JP LWRD ?0121 - 00000C10 1622 ?0120: - 00000C10 C3 00 00 1623 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 00000C13 1624 ckdir: - 00000C13 CD 00 00 1625 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 00000C16 14 FF 1626 DEFW 65300 - 00000C18 21 00 00 1627 LD HL,0 - 00000C1B 39 1628 ADD HL,SP - 00000C1C 4D 1629 LD C,L - 00000C1D 44 1630 LD B,H - 00000C1E DD 5E 02 1631 LD E,(IX+2) - 00000C21 DD 56 03 1632 LD D,(IX+3) - 00000C24 3E A1 1633 LD A,BYTE3 iread - 00000C26 21 A1 17 1634 LD HL,LWRD iread - 00000C29 CD 00 00 1635 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000C2C 21 00 00 1636 LD HL,0 - 00000C2F 39 1637 ADD HL,SP - 00000C30 7E 1638 LD A,(HL) - 00000C31 E6 00 1639 AND 0 - 00000C33 4F 1640 LD C,A - 00000C34 23 1641 INC HL - 00000C35 7E 1642 LD A,(HL) - 00000C36 E6 F0 1643 AND 240 - 00000C38 47 1644 LD B,A - 00000C39 3E 40 1645 LD A,64 - 00000C3B A8 1646 XOR B - 00000C3C B1 1647 OR C - 00000C3D 28 03 1648 JR Z,?0159 - 00000C3F 1649 ?0158: - 00000C3F C3 AB 10 1650 JP LWRD ?0219 - 00000C42 1651 ?0159: - 00000C42 2A 02 04 1652 LD HL,(depth) - 00000C45 23 1653 INC HL - 00000C46 22 02 04 1654 LD (depth),HL - 00000C49 21 52 00 1655 LD HL,82 - 00000C4C 39 1656 ADD HL,SP - 00000C4D E5 1657 PUSH HL - 00000C4E 21 0A 00 1658 LD HL,10 - 00000C51 39 1659 ADD HL,SP - 00000C52 5E 1660 LD E,(HL) - 00000C53 23 1661 INC HL - 00000C54 56 1662 LD D,(HL) - 00000C55 23 1663 INC HL - 00000C56 4E 1664 LD C,(HL) - 00000C57 23 1665 INC HL - 00000C58 46 1666 LD B,(HL) - 00000C59 EB 1667 EX DE,HL - 00000C5A 7D 1668 LD A,L - 00000C5B E6 0F 1669 AND 15 - 00000C5D 4F 1670 LD C,A - 00000C5E 7C 1671 LD A,H - 00000C5F E6 00 1672 AND 0 - 00000C61 47 1673 LD B,A - 00000C62 E1 1674 POP HL - 00000C63 71 1675 LD (HL),C - 00000C64 23 1676 INC HL - 00000C65 70 1677 LD (HL),B - 00000C66 21 52 00 1678 LD HL,82 - 00000C69 39 1679 ADD HL,SP - 00000C6A 7E 1680 LD A,(HL) - 00000C6B 23 1681 INC HL - 00000C6C B6 1682 OR (HL) - 00000C6D 28 4B 1683 JR Z,?0161 - 00000C6F 1684 ?0160: - 00000C6F 21 52 00 1685 LD HL,82 - 00000C72 39 1686 ADD HL,SP - 00000C73 4E 1687 LD C,(HL) - 00000C74 23 1688 INC HL - 00000C75 46 1689 LD B,(HL) - 00000C76 C5 1690 PUSH BC - 00000C77 DD 6E 02 1691 LD L,(IX+2) - 00000C7A DD 66 03 1692 LD H,(IX+3) - 00000C7D E5 1693 PUSH HL - 00000C7E 21 AC 02 1694 LD HL,?0162 - 00000C81 E5 1695 PUSH HL - 00000C82 3E 00 1696 LD A,BYTE3 printf - 00000C84 21 00 00 1697 LD HL,LWRD printf - 00000C87 CD 00 00 1698 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000C8A F1 1699 POP AF - 00000C8B F1 1700 POP AF - 00000C8C F1 1701 POP AF - 00000C8D 3E 5A 1702 LD A,BYTE3 yes - 00000C8F 21 5A 19 1703 LD HL,LWRD yes - 00000C92 CD 00 00 1704 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000C95 7D 1705 LD A,L - 00000C96 B4 1706 OR H - 00000C97 28 21 1707 JR Z,?0164 - 00000C99 1708 ?0163: - 00000C99 21 08 00 1709 LD HL,8 - 00000C9C 39 1710 ADD HL,SP - 00000C9D 01 00 00 1711 LD BC,0 - 00000CA0 11 F0 FF 1712 LD DE,65520 - 00000CA3 CD 00 00 1713 CALL LWRD ?L_ANDASG_L03 - 00000CA6 21 00 00 1714 LD HL,0 - 00000CA9 39 1715 ADD HL,SP - 00000CAA 4D 1716 LD C,L - 00000CAB 44 1717 LD B,H - 00000CAC DD 5E 02 1718 LD E,(IX+2) - 00000CAF DD 56 03 1719 LD D,(IX+3) - 00000CB2 3E EF 1720 LD A,BYTE3 iwrite - 00000CB4 21 EF 17 1721 LD HL,LWRD iwrite - 00000CB7 CD 00 00 1722 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000CBA 1723 ?0164: - 00000CBA 1724 ?0161: - 00000CBA 21 54 00 1725 LD HL,84 - 00000CBD 39 1726 ADD HL,SP - 00000CBE E5 1727 PUSH HL - 00000CBF 01 00 00 1728 LD BC,0 - 00000CC2 C5 1729 PUSH BC - 00000CC3 01 10 00 1730 LD BC,16 - 00000CC6 C5 1731 PUSH BC - 00000CC7 21 0E 00 1732 LD HL,14 - 00000CCA 39 1733 ADD HL,SP - 00000CCB 5E 1734 LD E,(HL) - 00000CCC 23 1735 INC HL - 00000CCD 56 1736 LD D,(HL) - 00000CCE 23 1737 INC HL - 00000CCF 4E 1738 LD C,(HL) - 00000CD0 23 1739 INC HL - 00000CD1 46 1740 LD B,(HL) - 00000CD2 EB 1741 EX DE,HL - 00000CD3 CD 00 00 1742 CALL LWRD ?SL_DIV_L03 - 00000CD6 EB 1743 EX DE,HL - 00000CD7 E1 1744 POP HL - 00000CD8 73 1745 LD (HL),E - 00000CD9 23 1746 INC HL - 00000CDA 72 1747 LD (HL),D - 00000CDB 21 50 00 1748 LD HL,80 - 00000CDE 39 1749 ADD HL,SP - 00000CDF AF 1750 XOR A - 00000CE0 77 1751 LD (HL),A - 00000CE1 23 1752 INC HL - 00000CE2 77 1753 LD (HL),A - 00000CE3 1754 ?0166: - 00000CE3 21 54 00 1755 LD HL,84 - 00000CE6 39 1756 ADD HL,SP - 00000CE7 4E 1757 LD C,(HL) - 00000CE8 23 1758 INC HL - 00000CE9 46 1759 LD B,(HL) - 00000CEA 21 50 00 1760 LD HL,80 - 00000CED 39 1761 ADD HL,SP - 00000CEE 56 1762 LD D,(HL) - 00000CEF 23 1763 INC HL - 00000CF0 66 1764 LD H,(HL) - 00000CF1 6A 1765 LD L,D - 00000CF2 A7 1766 AND A - 00000CF3 ED 42 1767 SBC HL,BC - 00000CF5 D2 A4 10 1768 JP NC,?0165 - 00000CF8 1769 ?0167: - 00000CF8 21 40 00 1770 LD HL,64 - 00000CFB 39 1771 ADD HL,SP - 00000CFC E5 1772 PUSH HL - 00000CFD 21 52 00 1773 LD HL,82 - 00000D00 39 1774 ADD HL,SP - 00000D01 4E 1775 LD C,(HL) - 00000D02 23 1776 INC HL - 00000D03 46 1777 LD B,(HL) - 00000D04 21 02 00 1778 LD HL,2 - 00000D07 39 1779 ADD HL,SP - 00000D08 5D 1780 LD E,L - 00000D09 54 1781 LD D,H - 00000D0A 3E 5C 1782 LD A,BYTE3 dirread - 00000D0C 21 5C 18 1783 LD HL,LWRD dirread - 00000D0F CD 00 00 1784 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000D12 E1 1785 POP HL - 00000D13 21 40 00 1786 LD HL,64 - 00000D16 39 1787 ADD HL,SP - 00000D17 46 1788 LD B,(HL) - 00000D18 23 1789 INC HL - 00000D19 66 1790 LD H,(HL) - 00000D1A 68 1791 LD L,B - 00000D1B 7D 1792 LD A,L - 00000D1C B4 1793 OR H - 00000D1D 20 03 1794 JR NZ,?0169 - 00000D1F 1795 ?0168: - 00000D1F C3 98 10 1796 JP LWRD ?0170 - 00000D22 1797 ?0169: - 00000D22 21 40 00 1798 LD HL,64 - 00000D25 39 1799 ADD HL,SP - 00000D26 46 1800 LD B,(HL) - 00000D27 23 1801 INC HL - 00000D28 66 1802 LD H,(HL) - 00000D29 68 1803 LD L,B - 00000D2A 01 01 00 1804 LD BC,1 - 00000D2D A7 1805 AND A - 00000D2E ED 42 1806 SBC HL,BC - 00000D30 38 15 1807 JR C,?0171 - 00000D32 2A 0A 04 1808 LD HL,(filsys+4) - 00000D35 29 1809 ADD HL,HL - 00000D36 29 1810 ADD HL,HL - 00000D37 29 1811 ADD HL,HL - 00000D38 4D 1812 LD C,L - 00000D39 44 1813 LD B,H - 00000D3A 21 40 00 1814 LD HL,64 - 00000D3D 39 1815 ADD HL,SP - 00000D3E 56 1816 LD D,(HL) - 00000D3F 23 1817 INC HL - 00000D40 66 1818 LD H,(HL) - 00000D41 6A 1819 LD L,D - 00000D42 A7 1820 AND A - 00000D43 ED 42 1821 SBC HL,BC - 00000D45 38 60 1822 JR C,?0172 - 00000D47 1823 ?0173: - 00000D47 1824 ?0174: - 00000D47 1825 ?0171: - 00000D47 21 40 00 1826 LD HL,64 - 00000D4A 39 1827 ADD HL,SP - 00000D4B 4E 1828 LD C,(HL) - 00000D4C 23 1829 INC HL - 00000D4D 46 1830 LD B,(HL) - 00000D4E C5 1831 PUSH BC - 00000D4F 21 42 00 1832 LD HL,66 - 00000D52 39 1833 ADD HL,SP - 00000D53 01 02 00 1834 LD BC,2 - 00000D56 09 1835 ADD HL,BC - 00000D57 E5 1836 PUSH HL - 00000D58 DD 6E 0A 1837 LD L,(IX+10) - 00000D5B DD 66 0B 1838 LD H,(IX+11) - 00000D5E E5 1839 PUSH HL - 00000D5F 21 E5 02 1840 LD HL,?0175 - 00000D62 E5 1841 PUSH HL - 00000D63 3E 00 1842 LD A,BYTE3 printf - 00000D65 21 00 00 1843 LD HL,LWRD printf - 00000D68 CD 00 00 1844 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000D6B F1 1845 POP AF - 00000D6C F1 1846 POP AF - 00000D6D F1 1847 POP AF - 00000D6E F1 1848 POP AF - 00000D6F 3E 5A 1849 LD A,BYTE3 yes - 00000D71 21 5A 19 1850 LD HL,LWRD yes - 00000D74 CD 00 00 1851 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000D77 7D 1852 LD A,L - 00000D78 B4 1853 OR H - 00000D79 28 2C 1854 JR Z,?0177 - 00000D7B 1855 ?0176: - 00000D7B 21 40 00 1856 LD HL,64 - 00000D7E 39 1857 ADD HL,SP - 00000D7F AF 1858 XOR A - 00000D80 77 1859 LD (HL),A - 00000D81 23 1860 INC HL - 00000D82 77 1861 LD (HL),A - 00000D83 21 42 00 1862 LD HL,66 - 00000D86 39 1863 ADD HL,SP - 00000D87 36 00 1864 LD (HL),0 - 00000D89 21 40 00 1865 LD HL,64 - 00000D8C 39 1866 ADD HL,SP - 00000D8D E5 1867 PUSH HL - 00000D8E 21 52 00 1868 LD HL,82 - 00000D91 39 1869 ADD HL,SP - 00000D92 4E 1870 LD C,(HL) - 00000D93 23 1871 INC HL - 00000D94 46 1872 LD B,(HL) - 00000D95 21 02 00 1873 LD HL,2 - 00000D98 39 1874 ADD HL,SP - 00000D99 5D 1875 LD E,L - 00000D9A 54 1876 LD D,H - 00000D9B 3E D0 1877 LD A,BYTE3 dirwrite - 00000D9D 21 D0 18 1878 LD HL,LWRD dirwrite - 00000DA0 CD 00 00 1879 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000DA3 E1 1880 POP HL - 00000DA4 C3 98 10 1881 JP LWRD ?0170 - 00000DA7 1882 ?0177: - 00000DA7 1883 ?0172: - 00000DA7 21 40 00 1884 LD HL,64 - 00000DAA 39 1885 ADD HL,SP - 00000DAB 46 1886 LD B,(HL) - 00000DAC 23 1887 INC HL - 00000DAD 66 1888 LD H,(HL) - 00000DAE 68 1889 LD L,B - 00000DAF 7D 1890 LD A,L - 00000DB0 B4 1891 OR H - 00000DB1 28 71 1892 JR Z,?0179 - 00000DB3 21 40 00 1893 LD HL,64 - 00000DB6 39 1894 ADD HL,SP - 00000DB7 46 1895 LD B,(HL) - 00000DB8 23 1896 INC HL - 00000DB9 66 1897 LD H,(HL) - 00000DBA 68 1898 LD L,B - 00000DBB ED 4B 38 04 1899 LD BC,(link_count) - 00000DBF 09 1900 ADD HL,BC - 00000DC0 46 1901 LD B,(HL) - 00000DC1 04 1902 INC B - 00000DC2 20 60 1903 JR NZ,?0179 - 00000DC4 1904 ?0181: - 00000DC4 1905 ?0180: - 00000DC4 1906 ?0178: - 00000DC4 21 40 00 1907 LD HL,64 - 00000DC7 39 1908 ADD HL,SP - 00000DC8 4E 1909 LD C,(HL) - 00000DC9 23 1910 INC HL - 00000DCA 46 1911 LD B,(HL) - 00000DCB C5 1912 PUSH BC - 00000DCC 21 42 00 1913 LD HL,66 - 00000DCF 39 1914 ADD HL,SP - 00000DD0 01 02 00 1915 LD BC,2 - 00000DD3 09 1916 ADD HL,BC - 00000DD4 E5 1917 PUSH HL - 00000DD5 DD 6E 0A 1918 LD L,(IX+10) - 00000DD8 DD 66 0B 1919 LD H,(IX+11) - 00000DDB E5 1920 PUSH HL - 00000DDC 21 20 03 1921 LD HL,?0182 - 00000DDF E5 1922 PUSH HL - 00000DE0 3E 00 1923 LD A,BYTE3 printf - 00000DE2 21 00 00 1924 LD HL,LWRD printf - 00000DE5 CD 00 00 1925 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000DE8 F1 1926 POP AF - 00000DE9 F1 1927 POP AF - 00000DEA F1 1928 POP AF - 00000DEB F1 1929 POP AF - 00000DEC 3E 5A 1930 LD A,BYTE3 yes - 00000DEE 21 5A 19 1931 LD HL,LWRD yes - 00000DF1 CD 00 00 1932 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000DF4 7D 1933 LD A,L - 00000DF5 B4 1934 OR H - 00000DF6 28 2C 1935 JR Z,?0184 - 00000DF8 1936 ?0183: - 00000DF8 21 40 00 1937 LD HL,64 - 00000DFB 39 1938 ADD HL,SP - 00000DFC AF 1939 XOR A - 00000DFD 77 1940 LD (HL),A - 00000DFE 23 1941 INC HL - 00000DFF 77 1942 LD (HL),A - 00000E00 21 42 00 1943 LD HL,66 - 00000E03 39 1944 ADD HL,SP - 00000E04 36 00 1945 LD (HL),0 - 00000E06 21 40 00 1946 LD HL,64 - 00000E09 39 1947 ADD HL,SP - 00000E0A E5 1948 PUSH HL - 00000E0B 21 52 00 1949 LD HL,82 - 00000E0E 39 1950 ADD HL,SP - 00000E0F 4E 1951 LD C,(HL) - 00000E10 23 1952 INC HL - 00000E11 46 1953 LD B,(HL) - 00000E12 21 02 00 1954 LD HL,2 - 00000E15 39 1955 ADD HL,SP - 00000E16 5D 1956 LD E,L - 00000E17 54 1957 LD D,H - 00000E18 3E D0 1958 LD A,BYTE3 dirwrite - 00000E1A 21 D0 18 1959 LD HL,LWRD dirwrite - 00000E1D CD 00 00 1960 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000E20 E1 1961 POP HL - 00000E21 C3 98 10 1962 JP LWRD ?0170 - 00000E24 1963 ?0184: - 00000E24 1964 ?0179: - 00000E24 21 40 00 1965 LD HL,64 - 00000E27 39 1966 ADD HL,SP - 00000E28 46 1967 LD B,(HL) - 00000E29 23 1968 INC HL - 00000E2A 66 1969 LD H,(HL) - 00000E2B 68 1970 LD L,B - 00000E2C ED 4B 38 04 1971 LD BC,(link_count) - 00000E30 09 1972 ADD HL,BC - 00000E31 46 1973 LD B,(HL) - 00000E32 34 1974 INC (HL) - 00000E33 04 1975 INC B - 00000E34 04 1976 INC B - 00000E35 20 26 1977 JR NZ,?0186 - 00000E37 1978 ?0185: - 00000E37 21 40 00 1979 LD HL,64 - 00000E3A 39 1980 ADD HL,SP - 00000E3B 4E 1981 LD C,(HL) - 00000E3C 23 1982 INC HL - 00000E3D 46 1983 LD B,(HL) - 00000E3E C5 1984 PUSH BC - 00000E3F 21 5A 03 1985 LD HL,?0187 - 00000E42 E5 1986 PUSH HL - 00000E43 21 00 00 1987 LD HL,stderr - 00000E46 E5 1988 PUSH HL - 00000E47 3E 00 1989 LD A,BYTE3 fprintf - 00000E49 21 00 00 1990 LD HL,LWRD fprintf - 00000E4C CD 00 00 1991 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000E4F F1 1992 POP AF - 00000E50 F1 1993 POP AF - 00000E51 F1 1994 POP AF - 00000E52 11 01 00 1995 LD DE,1 - 00000E55 3E 00 1996 LD A,BYTE3 exit - 00000E57 21 00 00 1997 LD HL,LWRD exit - 00000E5A CD 00 00 1998 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000E5D 1999 ?0186: - 00000E5D 21 52 00 2000 LD HL,82 - 00000E60 39 2001 ADD HL,SP - 00000E61 AF 2002 XOR A - 00000E62 77 2003 LD (HL),A - 00000E63 23 2004 INC HL - 00000E64 77 2005 LD (HL),A - 00000E65 2006 ?0189: - 00000E65 01 0E 00 2007 LD BC,14 - 00000E68 21 52 00 2008 LD HL,82 - 00000E6B 39 2009 ADD HL,SP - 00000E6C 56 2010 LD D,(HL) - 00000E6D 23 2011 INC HL - 00000E6E 66 2012 LD H,(HL) - 00000E6F 6A 2013 LD L,D - 00000E70 A7 2014 AND A - 00000E71 ED 42 2015 SBC HL,BC - 00000E73 D2 09 0F 2016 JP NC,?0188 - 00000E76 21 40 00 2017 LD HL,64 - 00000E79 39 2018 ADD HL,SP - 00000E7A 01 02 00 2019 LD BC,2 - 00000E7D 09 2020 ADD HL,BC - 00000E7E E5 2021 PUSH HL - 00000E7F 21 54 00 2022 LD HL,84 - 00000E82 39 2023 ADD HL,SP - 00000E83 4E 2024 LD C,(HL) - 00000E84 23 2025 INC HL - 00000E85 46 2026 LD B,(HL) - 00000E86 E1 2027 POP HL - 00000E87 09 2028 ADD HL,BC - 00000E88 7E 2029 LD A,(HL) - 00000E89 B7 2030 OR A - 00000E8A 28 7D 2031 JR Z,?0188 - 00000E8C 2032 ?0192: - 00000E8C 2033 ?0191: - 00000E8C 2034 ?0190: - 00000E8C 21 40 00 2035 LD HL,64 - 00000E8F 39 2036 ADD HL,SP - 00000E90 01 02 00 2037 LD BC,2 - 00000E93 09 2038 ADD HL,BC - 00000E94 E5 2039 PUSH HL - 00000E95 21 54 00 2040 LD HL,84 - 00000E98 39 2041 ADD HL,SP - 00000E99 4E 2042 LD C,(HL) - 00000E9A 23 2043 INC HL - 00000E9B 46 2044 LD B,(HL) - 00000E9C E1 2045 POP HL - 00000E9D 09 2046 ADD HL,BC - 00000E9E 7E 2047 LD A,(HL) - 00000E9F FE 2F 2048 CP 47 - 00000EA1 20 5A 2049 JR NZ,?0194 - 00000EA3 2050 ?0193: - 00000EA3 21 40 00 2051 LD HL,64 - 00000EA6 39 2052 ADD HL,SP - 00000EA7 01 02 00 2053 LD BC,2 - 00000EAA 09 2054 ADD HL,BC - 00000EAB E5 2055 PUSH HL - 00000EAC DD 6E 0A 2056 LD L,(IX+10) - 00000EAF DD 66 0B 2057 LD H,(IX+11) - 00000EB2 E5 2058 PUSH HL - 00000EB3 21 9D 03 2059 LD HL,?0195 - 00000EB6 E5 2060 PUSH HL - 00000EB7 3E 00 2061 LD A,BYTE3 printf - 00000EB9 21 00 00 2062 LD HL,LWRD printf - 00000EBC CD 00 00 2063 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000EBF F1 2064 POP AF - 00000EC0 F1 2065 POP AF - 00000EC1 F1 2066 POP AF - 00000EC2 3E 5A 2067 LD A,BYTE3 yes - 00000EC4 21 5A 19 2068 LD HL,LWRD yes - 00000EC7 CD 00 00 2069 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000ECA 7D 2070 LD A,L - 00000ECB B4 2071 OR H - 00000ECC 28 2F 2072 JR Z,?0197 - 00000ECE 2073 ?0196: - 00000ECE 21 40 00 2074 LD HL,64 - 00000ED1 39 2075 ADD HL,SP - 00000ED2 01 02 00 2076 LD BC,2 - 00000ED5 09 2077 ADD HL,BC - 00000ED6 E5 2078 PUSH HL - 00000ED7 21 54 00 2079 LD HL,84 - 00000EDA 39 2080 ADD HL,SP - 00000EDB 4E 2081 LD C,(HL) - 00000EDC 23 2082 INC HL - 00000EDD 46 2083 LD B,(HL) - 00000EDE E1 2084 POP HL - 00000EDF 09 2085 ADD HL,BC - 00000EE0 36 7E 2086 LD (HL),126 - 00000EE2 21 40 00 2087 LD HL,64 - 00000EE5 39 2088 ADD HL,SP - 00000EE6 E5 2089 PUSH HL - 00000EE7 21 52 00 2090 LD HL,82 - 00000EEA 39 2091 ADD HL,SP - 00000EEB 4E 2092 LD C,(HL) - 00000EEC 23 2093 INC HL - 00000EED 46 2094 LD B,(HL) - 00000EEE 21 02 00 2095 LD HL,2 - 00000EF1 39 2096 ADD HL,SP - 00000EF2 5D 2097 LD E,L - 00000EF3 54 2098 LD D,H - 00000EF4 3E D0 2099 LD A,BYTE3 dirwrite - 00000EF6 21 D0 18 2100 LD HL,LWRD dirwrite - 00000EF9 CD 00 00 2101 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000EFC E1 2102 POP HL - 00000EFD 2103 ?0197: - 00000EFD 2104 ?0194: - 00000EFD 21 52 00 2105 LD HL,82 - 00000F00 39 2106 ADD HL,SP - 00000F01 34 2107 INC (HL) - 00000F02 23 2108 INC HL - 00000F03 20 01 2109 JR NZ,?0396 - 00000F05 34 2110 INC (HL) - 00000F06 2111 ?0396: - 00000F06 C3 65 0E 2112 JP LWRD ?0189 - 00000F09 2113 ?0188: - 00000F09 01 CD 03 2114 LD BC,?0200 - 00000F0C 21 40 00 2115 LD HL,64 - 00000F0F 39 2116 ADD HL,SP - 00000F10 11 02 00 2117 LD DE,2 - 00000F13 19 2118 ADD HL,DE - 00000F14 EB 2119 EX DE,HL - 00000F15 3E 00 2120 LD A,BYTE3 strcmp - 00000F17 21 00 00 2121 LD HL,LWRD strcmp - 00000F1A CD 00 00 2122 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000F1D 7D 2123 LD A,L - 00000F1E B4 2124 OR H - 00000F1F 20 6B 2125 JR NZ,?0199 - 00000F21 21 40 00 2126 LD HL,64 - 00000F24 39 2127 ADD HL,SP - 00000F25 46 2128 LD B,(HL) - 00000F26 23 2129 INC HL - 00000F27 66 2130 LD H,(HL) - 00000F28 68 2131 LD L,B - 00000F29 DD 4E 02 2132 LD C,(IX+2) - 00000F2C DD 46 03 2133 LD B,(IX+3) - 00000F2F A7 2134 AND A - 00000F30 ED 42 2135 SBC HL,BC - 00000F32 28 58 2136 JR Z,?0199 - 00000F34 2137 ?0202: - 00000F34 2138 ?0201: - 00000F34 2139 ?0198: - 00000F34 21 40 00 2140 LD HL,64 - 00000F37 39 2141 ADD HL,SP - 00000F38 01 02 00 2142 LD BC,2 - 00000F3B 09 2143 ADD HL,BC - 00000F3C E5 2144 PUSH HL - 00000F3D 21 0E 00 2145 LD HL,14 - 00000F40 E5 2146 PUSH HL - 00000F41 DD 6E 0A 2147 LD L,(IX+10) - 00000F44 DD 66 0B 2148 LD H,(IX+11) - 00000F47 E5 2149 PUSH HL - 00000F48 21 CF 03 2150 LD HL,?0203 - 00000F4B E5 2151 PUSH HL - 00000F4C 3E 00 2152 LD A,BYTE3 printf - 00000F4E 21 00 00 2153 LD HL,LWRD printf - 00000F51 CD 00 00 2154 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000F54 F1 2155 POP AF - 00000F55 F1 2156 POP AF - 00000F56 F1 2157 POP AF - 00000F57 F1 2158 POP AF - 00000F58 3E 5A 2159 LD A,BYTE3 yes - 00000F5A 21 5A 19 2160 LD HL,LWRD yes - 00000F5D CD 00 00 2161 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000F60 7D 2162 LD A,L - 00000F61 B4 2163 OR H - 00000F62 28 28 2164 JR Z,?0205 - 00000F64 2165 ?0204: - 00000F64 21 40 00 2166 LD HL,64 - 00000F67 39 2167 ADD HL,SP - 00000F68 DD 4E 02 2168 LD C,(IX+2) - 00000F6B DD 46 03 2169 LD B,(IX+3) - 00000F6E 71 2170 LD (HL),C - 00000F6F 23 2171 INC HL - 00000F70 70 2172 LD (HL),B - 00000F71 21 40 00 2173 LD HL,64 - 00000F74 39 2174 ADD HL,SP - 00000F75 E5 2175 PUSH HL - 00000F76 21 52 00 2176 LD HL,82 - 00000F79 39 2177 ADD HL,SP - 00000F7A 4E 2178 LD C,(HL) - 00000F7B 23 2179 INC HL - 00000F7C 46 2180 LD B,(HL) - 00000F7D 21 02 00 2181 LD HL,2 - 00000F80 39 2182 ADD HL,SP - 00000F81 5D 2183 LD E,L - 00000F82 54 2184 LD D,H - 00000F83 3E D0 2185 LD A,BYTE3 dirwrite - 00000F85 21 D0 18 2186 LD HL,LWRD dirwrite - 00000F88 CD 00 00 2187 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000F8B E1 2188 POP HL - 00000F8C 2189 ?0205: - 00000F8C 2190 ?0199: - 00000F8C 01 FF 03 2191 LD BC,?0208 - 00000F8F 21 40 00 2192 LD HL,64 - 00000F92 39 2193 ADD HL,SP - 00000F93 11 02 00 2194 LD DE,2 - 00000F96 19 2195 ADD HL,DE - 00000F97 EB 2196 EX DE,HL - 00000F98 3E 00 2197 LD A,BYTE3 strcmp - 00000F9A 21 00 00 2198 LD HL,LWRD strcmp - 00000F9D CD 00 00 2199 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000FA0 7D 2200 LD A,L - 00000FA1 B4 2201 OR H - 00000FA2 20 6B 2202 JR NZ,?0207 - 00000FA4 21 40 00 2203 LD HL,64 - 00000FA7 39 2204 ADD HL,SP - 00000FA8 46 2205 LD B,(HL) - 00000FA9 23 2206 INC HL - 00000FAA 66 2207 LD H,(HL) - 00000FAB 68 2208 LD L,B - 00000FAC DD 4E 04 2209 LD C,(IX+4) - 00000FAF DD 46 05 2210 LD B,(IX+5) - 00000FB2 A7 2211 AND A - 00000FB3 ED 42 2212 SBC HL,BC - 00000FB5 28 58 2213 JR Z,?0207 - 00000FB7 2214 ?0210: - 00000FB7 2215 ?0209: - 00000FB7 2216 ?0206: - 00000FB7 21 40 00 2217 LD HL,64 - 00000FBA 39 2218 ADD HL,SP - 00000FBB 01 02 00 2219 LD BC,2 - 00000FBE 09 2220 ADD HL,BC - 00000FBF E5 2221 PUSH HL - 00000FC0 21 0E 00 2222 LD HL,14 - 00000FC3 E5 2223 PUSH HL - 00000FC4 DD 6E 0A 2224 LD L,(IX+10) - 00000FC7 DD 66 0B 2225 LD H,(IX+11) - 00000FCA E5 2226 PUSH HL - 00000FCB 21 02 04 2227 LD HL,?0211 - 00000FCE E5 2228 PUSH HL - 00000FCF 3E 00 2229 LD A,BYTE3 printf - 00000FD1 21 00 00 2230 LD HL,LWRD printf - 00000FD4 CD 00 00 2231 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000FD7 F1 2232 POP AF - 00000FD8 F1 2233 POP AF - 00000FD9 F1 2234 POP AF - 00000FDA F1 2235 POP AF - 00000FDB 3E 5A 2236 LD A,BYTE3 yes - 00000FDD 21 5A 19 2237 LD HL,LWRD yes - 00000FE0 CD 00 00 2238 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00000FE3 7D 2239 LD A,L - 00000FE4 B4 2240 OR H - 00000FE5 28 28 2241 JR Z,?0213 - 00000FE7 2242 ?0212: - 00000FE7 21 40 00 2243 LD HL,64 - 00000FEA 39 2244 ADD HL,SP - 00000FEB DD 4E 04 2245 LD C,(IX+4) - 00000FEE DD 46 05 2246 LD B,(IX+5) - 00000FF1 71 2247 LD (HL),C - 00000FF2 23 2248 INC HL - 00000FF3 70 2249 LD (HL),B - 00000FF4 21 40 00 2250 LD HL,64 - 00000FF7 39 2251 ADD HL,SP - 00000FF8 E5 2252 PUSH HL - 00000FF9 21 52 00 2253 LD HL,82 - 00000FFC 39 2254 ADD HL,SP - 00000FFD 4E 2255 LD C,(HL) - 00000FFE 23 2256 INC HL - 00000FFF 46 2257 LD B,(HL) - 00001000 21 02 00 2258 LD HL,2 - 00001003 39 2259 ADD HL,SP - 00001004 5D 2260 LD E,L - 00001005 54 2261 LD D,H - 00001006 3E D0 2262 LD A,BYTE3 dirwrite - 00001008 21 D0 18 2263 LD HL,LWRD dirwrite - 0000100B CD 00 00 2264 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000100E E1 2265 POP HL - 0000100F 2266 ?0213: - 0000100F 2267 ?0207: - 0000100F 21 40 00 2268 LD HL,64 - 00001012 39 2269 ADD HL,SP - 00001013 46 2270 LD B,(HL) - 00001014 23 2271 INC HL - 00001015 66 2272 LD H,(HL) - 00001016 68 2273 LD L,B - 00001017 DD 4E 04 2274 LD C,(IX+4) - 0000101A DD 46 05 2275 LD B,(IX+5) - 0000101D A7 2276 AND A - 0000101E ED 42 2277 SBC HL,BC - 00001020 28 76 2278 JR Z,?0215 - 00001022 21 40 00 2279 LD HL,64 - 00001025 39 2280 ADD HL,SP - 00001026 46 2281 LD B,(HL) - 00001027 23 2282 INC HL - 00001028 66 2283 LD H,(HL) - 00001029 68 2284 LD L,B - 0000102A DD 4E 02 2285 LD C,(IX+2) - 0000102D DD 46 03 2286 LD B,(IX+3) - 00001030 A7 2287 AND A - 00001031 ED 42 2288 SBC HL,BC - 00001033 28 63 2289 JR Z,?0215 - 00001035 01 21 00 2290 LD BC,33 - 00001038 2A 02 04 2291 LD HL,(depth) - 0000103B A7 2292 AND A - 0000103C ED 42 2293 SBC HL,BC - 0000103E 30 58 2294 JR NC,?0215 - 00001040 2295 ?0217: - 00001040 2296 ?0216: - 00001040 2297 ?0214: - 00001040 DD 4E 0A 2298 LD C,(IX+10) - 00001043 DD 46 0B 2299 LD B,(IX+11) - 00001046 21 56 00 2300 LD HL,86 - 00001049 39 2301 ADD HL,SP - 0000104A 5D 2302 LD E,L - 0000104B 54 2303 LD D,H - 0000104C 3E 00 2304 LD A,BYTE3 strcpy - 0000104E 21 00 00 2305 LD HL,LWRD strcpy - 00001051 CD 00 00 2306 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001054 21 40 00 2307 LD HL,64 - 00001057 39 2308 ADD HL,SP - 00001058 01 02 00 2309 LD BC,2 - 0000105B 09 2310 ADD HL,BC - 0000105C 4D 2311 LD C,L - 0000105D 44 2312 LD B,H - 0000105E 21 56 00 2313 LD HL,86 - 00001061 39 2314 ADD HL,SP - 00001062 5D 2315 LD E,L - 00001063 54 2316 LD D,H - 00001064 3E 00 2317 LD A,BYTE3 strcat - 00001066 21 00 00 2318 LD HL,LWRD strcat - 00001069 CD 00 00 2319 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000106C 01 33 04 2320 LD BC,?0218 - 0000106F 21 56 00 2321 LD HL,86 - 00001072 39 2322 ADD HL,SP - 00001073 5D 2323 LD E,L - 00001074 54 2324 LD D,H - 00001075 3E 00 2325 LD A,BYTE3 strcat - 00001077 21 00 00 2326 LD HL,LWRD strcat - 0000107A CD 00 00 2327 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000107D 21 56 00 2328 LD HL,86 - 00001080 39 2329 ADD HL,SP - 00001081 E5 2330 PUSH HL - 00001082 DD 4E 02 2331 LD C,(IX+2) - 00001085 DD 46 03 2332 LD B,(IX+3) - 00001088 21 42 00 2333 LD HL,66 - 0000108B 39 2334 ADD HL,SP - 0000108C 5E 2335 LD E,(HL) - 0000108D 23 2336 INC HL - 0000108E 56 2337 LD D,(HL) - 0000108F 3E 13 2338 LD A,BYTE3 ckdir - 00001091 21 13 0C 2339 LD HL,LWRD ckdir - 00001094 CD 00 00 2340 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001097 E1 2341 POP HL - 00001098 2342 ?0215: - 00001098 2343 ?0170: - 00001098 21 50 00 2344 LD HL,80 - 0000109B 39 2345 ADD HL,SP - 0000109C 34 2346 INC (HL) - 0000109D 23 2347 INC HL - 0000109E 20 01 2348 JR NZ,?0397 - 000010A0 34 2349 INC (HL) - 000010A1 2350 ?0397: - 000010A1 C3 E3 0C 2351 JP LWRD ?0166 - 000010A4 2352 ?0165: - 000010A4 2A 02 04 2353 LD HL,(depth) - 000010A7 2B 2354 DEC HL - 000010A8 22 02 04 2355 LD (depth),HL - 000010AB 2356 ?0219: - 000010AB C3 00 00 2357 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 000010AE 2358 pass4: - 000010AE C5 2359 PUSH BC - 000010AF D5 2360 PUSH DE - 000010B0 21 00 00 2361 LD HL,0 - 000010B3 22 02 04 2362 LD (depth),HL - 000010B6 2A 38 04 2363 LD HL,(link_count) - 000010B9 23 2364 INC HL - 000010BA 36 01 2365 LD (HL),1 - 000010BC 21 33 04 2366 LD HL,?0218 - 000010BF E5 2367 PUSH HL - 000010C0 01 01 00 2368 LD BC,1 - 000010C3 11 01 00 2369 LD DE,1 - 000010C6 3E 13 2370 LD A,BYTE3 ckdir - 000010C8 21 13 0C 2371 LD HL,LWRD ckdir - 000010CB CD 00 00 2372 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000010CE E1 2373 POP HL - 000010CF 2A 02 04 2374 LD HL,(depth) - 000010D2 7D 2375 LD A,L - 000010D3 B4 2376 OR H - 000010D4 28 0B 2377 JR Z,?0221 - 000010D6 2378 ?0220: - 000010D6 11 35 04 2379 LD DE,?0222 - 000010D9 3E 97 2380 LD A,BYTE3 mypanic - 000010DB 21 97 1F 2381 LD HL,LWRD mypanic - 000010DE CD 00 00 2382 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000010E1 2383 ?0221: - 000010E1 D1 2384 POP DE - 000010E2 C1 2385 POP BC - 000010E3 C3 00 00 2386 JP LWRD ?BANK_FAST_LEAVE_L08 - 000010E6 2387 mkentry: - 000010E6 CD 00 00 2388 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 000010E9 AC FF 2389 DEFW 65452 - 000010EB 21 00 00 2390 LD HL,0 - 000010EE 39 2391 ADD HL,SP - 000010EF 4D 2392 LD C,L - 000010F0 44 2393 LD B,H - 000010F1 11 01 00 2394 LD DE,1 - 000010F4 3E A1 2395 LD A,BYTE3 iread - 000010F6 21 A1 17 2396 LD HL,LWRD iread - 000010F9 CD 00 00 2397 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000010FC AF 2398 XOR A - 000010FD DD 77 FC 2399 LD (IX-4),A - 00001100 DD 77 FD 2400 LD (IX-3),A - 00001103 21 00 00 2401 LD HL,0 - 00001106 E5 2402 PUSH HL - 00001107 21 10 00 2403 LD HL,16 - 0000110A E5 2404 PUSH HL - 0000110B 21 0C 00 2405 LD HL,12 - 0000110E 39 2406 ADD HL,SP - 0000110F 5E 2407 LD E,(HL) - 00001110 23 2408 INC HL - 00001111 56 2409 LD D,(HL) - 00001112 23 2410 INC HL - 00001113 4E 2411 LD C,(HL) - 00001114 23 2412 INC HL - 00001115 46 2413 LD B,(HL) - 00001116 EB 2414 EX DE,HL - 00001117 CD 00 00 2415 CALL LWRD ?SL_DIV_L03 - 0000111A DD 75 FE 2416 LD (IX-2),L - 0000111D DD 74 FF 2417 LD (IX-1),H - 00001120 2418 ?0224: - 00001120 DD 4E FE 2419 LD C,(IX-2) - 00001123 DD 46 FF 2420 LD B,(IX-1) - 00001126 DD 6E FC 2421 LD L,(IX-4) - 00001129 DD 66 FD 2422 LD H,(IX-3) - 0000112C A7 2423 AND A - 0000112D ED 42 2424 SBC HL,BC - 0000112F 30 7C 2425 JR NC,?0223 - 00001131 2426 ?0225: - 00001131 21 40 00 2427 LD HL,64 - 00001134 39 2428 ADD HL,SP - 00001135 E5 2429 PUSH HL - 00001136 DD 4E FC 2430 LD C,(IX-4) - 00001139 DD 46 FD 2431 LD B,(IX-3) - 0000113C 21 02 00 2432 LD HL,2 - 0000113F 39 2433 ADD HL,SP - 00001140 5D 2434 LD E,L - 00001141 54 2435 LD D,H - 00001142 3E 5C 2436 LD A,BYTE3 dirread - 00001144 21 5C 18 2437 LD HL,LWRD dirread - 00001147 CD 00 00 2438 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000114A E1 2439 POP HL - 0000114B DD 6E EC 2440 LD L,(IX-20) - 0000114E DD 66 ED 2441 LD H,(IX-19) - 00001151 7D 2442 LD A,L - 00001152 B4 2443 OR H - 00001153 20 4D 2444 JR NZ,?0227 - 00001155 DD 7E EE 2445 LD A,(IX-18) - 00001158 B7 2446 OR A - 00001159 20 47 2447 JR NZ,?0227 - 0000115B 2448 ?0229: - 0000115B 2449 ?0228: - 0000115B 2450 ?0226: - 0000115B DD 6E 02 2451 LD L,(IX+2) - 0000115E DD 66 03 2452 LD H,(IX+3) - 00001161 DD 75 EC 2453 LD (IX-20),L - 00001164 DD 74 ED 2454 LD (IX-19),H - 00001167 DD 6E 02 2455 LD L,(IX+2) - 0000116A DD 66 03 2456 LD H,(IX+3) - 0000116D E5 2457 PUSH HL - 0000116E 21 48 04 2458 LD HL,?0230 - 00001171 E5 2459 PUSH HL - 00001172 21 44 00 2460 LD HL,68 - 00001175 39 2461 ADD HL,SP - 00001176 01 02 00 2462 LD BC,2 - 00001179 09 2463 ADD HL,BC - 0000117A E5 2464 PUSH HL - 0000117B 3E 00 2465 LD A,BYTE3 sprintf - 0000117D 21 00 00 2466 LD HL,LWRD sprintf - 00001180 CD 00 00 2467 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001183 F1 2468 POP AF - 00001184 F1 2469 POP AF - 00001185 F1 2470 POP AF - 00001186 21 40 00 2471 LD HL,64 - 00001189 39 2472 ADD HL,SP - 0000118A E5 2473 PUSH HL - 0000118B DD 4E FC 2474 LD C,(IX-4) - 0000118E DD 46 FD 2475 LD B,(IX-3) - 00001191 21 02 00 2476 LD HL,2 - 00001194 39 2477 ADD HL,SP - 00001195 5D 2478 LD E,L - 00001196 54 2479 LD D,H - 00001197 3E D0 2480 LD A,BYTE3 dirwrite - 00001199 21 D0 18 2481 LD HL,LWRD dirwrite - 0000119C CD 00 00 2482 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000119F E1 2483 POP HL - 000011A0 18 23 2484 JR ?0232 - 000011A2 2485 ?0227: - 000011A2 DD 34 FC 2486 INC (IX-4) - 000011A5 20 03 2487 JR NZ,?0398 - 000011A7 DD 34 FD 2488 INC (IX-3) - 000011AA 2489 ?0398: - 000011AA C3 20 11 2490 JP LWRD ?0224 - 000011AD 2491 ?0223: - 000011AD 21 4E 04 2492 LD HL,?0231 - 000011B0 E5 2493 PUSH HL - 000011B1 3E 00 2494 LD A,BYTE3 printf - 000011B3 21 00 00 2495 LD HL,LWRD printf - 000011B6 CD 00 00 2496 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000011B9 F1 2497 POP AF - 000011BA 11 00 00 2498 LD DE,stdout - 000011BD 3E 00 2499 LD A,BYTE3 fflush - 000011BF 21 00 00 2500 LD HL,LWRD fflush - 000011C2 CD 00 00 2501 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000011C5 2502 ?0232: - 000011C5 C3 00 00 2503 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 000011C8 2504 pass5: - 000011C8 CD 00 00 2505 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 000011CB BC FF 2506 DEFW 65468 - 000011CD DD 36 BE 01 2507 LD (IX-66),1 - 000011D1 DD 36 BF 00 2508 LD (IX-65),0 - 000011D5 2509 ?0234: - 000011D5 ED 4B 24 04 2510 LD BC,(ninodes) - 000011D9 DD 6E BE 2511 LD L,(IX-66) - 000011DC DD 66 BF 2512 LD H,(IX-65) - 000011DF A7 2513 AND A - 000011E0 ED 42 2514 SBC HL,BC - 000011E2 D2 02 14 2515 JP NC,?0233 - 000011E5 2516 ?0235: - 000011E5 21 04 00 2517 LD HL,4 - 000011E8 39 2518 ADD HL,SP - 000011E9 4D 2519 LD C,L - 000011EA 44 2520 LD B,H - 000011EB DD 5E BE 2521 LD E,(IX-66) - 000011EE DD 56 BF 2522 LD D,(IX-65) - 000011F1 3E A1 2523 LD A,BYTE3 iread - 000011F3 21 A1 17 2524 LD HL,LWRD iread - 000011F6 CD 00 00 2525 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000011F9 DD 6E C0 2526 LD L,(IX-64) - 000011FC DD 66 C1 2527 LD H,(IX-63) - 000011FF 7D 2528 LD A,L - 00001200 B4 2529 OR H - 00001201 20 1D 2530 JR NZ,?0237 - 00001203 2531 ?0236: - 00001203 DD 6E BE 2532 LD L,(IX-66) - 00001206 DD 66 BF 2533 LD H,(IX-65) - 00001209 ED 4B 38 04 2534 LD BC,(link_count) - 0000120D 09 2535 ADD HL,BC - 0000120E 46 2536 LD B,(HL) - 0000120F 04 2537 INC B - 00001210 28 0B 2538 JR Z,?0239 - 00001212 2539 ?0238: - 00001212 11 7A 04 2540 LD DE,?0240 - 00001215 3E 97 2541 LD A,BYTE3 mypanic - 00001217 21 97 1F 2542 LD HL,LWRD mypanic - 0000121A CD 00 00 2543 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000121D 2544 ?0239: - 0000121D C3 F7 13 2545 JP LWRD ?0241 - 00001220 2546 ?0237: - 00001220 DD 6E BE 2547 LD L,(IX-66) - 00001223 DD 66 BF 2548 LD H,(IX-65) - 00001226 ED 4B 38 04 2549 LD BC,(link_count) - 0000122A 09 2550 ADD HL,BC - 0000122B 46 2551 LD B,(HL) - 0000122C 04 2552 INC B - 0000122D 20 15 2553 JR NZ,?0243 - 0000122F DD 6E C0 2554 LD L,(IX-64) - 00001232 DD 66 C1 2555 LD H,(IX-63) - 00001235 7D 2556 LD A,L - 00001236 B4 2557 OR H - 00001237 28 0B 2558 JR Z,?0243 - 00001239 2559 ?0245: - 00001239 2560 ?0244: - 00001239 2561 ?0242: - 00001239 11 7A 04 2562 LD DE,?0240 - 0000123C 3E 97 2563 LD A,BYTE3 mypanic - 0000123E 21 97 1F 2564 LD HL,LWRD mypanic - 00001241 CD 00 00 2565 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001244 2566 ?0243: - 00001244 DD 6E BE 2567 LD L,(IX-66) - 00001247 DD 66 BF 2568 LD H,(IX-65) - 0000124A ED 4B 38 04 2569 LD BC,(link_count) - 0000124E 09 2570 ADD HL,BC - 0000124F 46 2571 LD B,(HL) - 00001250 04 2572 INC B - 00001251 28 7A 2573 JR Z,?0247 - 00001253 DD 6E BE 2574 LD L,(IX-66) - 00001256 DD 66 BF 2575 LD H,(IX-65) - 00001259 ED 4B 38 04 2576 LD BC,(link_count) - 0000125D 09 2577 ADD HL,BC - 0000125E 4E 2578 LD C,(HL) - 0000125F 06 00 2579 LD B,0 - 00001261 DD 6E C2 2580 LD L,(IX-62) - 00001264 DD 66 C3 2581 LD H,(IX-61) - 00001267 A7 2582 AND A - 00001268 ED 42 2583 SBC HL,BC - 0000126A 28 61 2584 JR Z,?0247 - 0000126C 2585 ?0249: - 0000126C 2586 ?0248: - 0000126C 2587 ?0246: - 0000126C DD 6E BE 2588 LD L,(IX-66) - 0000126F DD 66 BF 2589 LD H,(IX-65) - 00001272 ED 4B 38 04 2590 LD BC,(link_count) - 00001276 09 2591 ADD HL,BC - 00001277 4E 2592 LD C,(HL) - 00001278 06 00 2593 LD B,0 - 0000127A C5 2594 PUSH BC - 0000127B DD 6E C2 2595 LD L,(IX-62) - 0000127E DD 66 C3 2596 LD H,(IX-61) - 00001281 E5 2597 PUSH HL - 00001282 DD 6E BE 2598 LD L,(IX-66) - 00001285 DD 66 BF 2599 LD H,(IX-65) - 00001288 E5 2600 PUSH HL - 00001289 21 92 04 2601 LD HL,?0250 - 0000128C E5 2602 PUSH HL - 0000128D 3E 00 2603 LD A,BYTE3 printf - 0000128F 21 00 00 2604 LD HL,LWRD printf - 00001292 CD 00 00 2605 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001295 F1 2606 POP AF - 00001296 F1 2607 POP AF - 00001297 F1 2608 POP AF - 00001298 F1 2609 POP AF - 00001299 3E 5A 2610 LD A,BYTE3 yes - 0000129B 21 5A 19 2611 LD HL,LWRD yes - 0000129E CD 00 00 2612 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000012A1 7D 2613 LD A,L - 000012A2 B4 2614 OR H - 000012A3 28 28 2615 JR Z,?0252 - 000012A5 2616 ?0251: - 000012A5 DD 6E BE 2617 LD L,(IX-66) - 000012A8 DD 66 BF 2618 LD H,(IX-65) - 000012AB ED 4B 38 04 2619 LD BC,(link_count) - 000012AF 09 2620 ADD HL,BC - 000012B0 4E 2621 LD C,(HL) - 000012B1 06 00 2622 LD B,0 - 000012B3 DD 71 C2 2623 LD (IX-62),C - 000012B6 DD 70 C3 2624 LD (IX-61),B - 000012B9 21 04 00 2625 LD HL,4 - 000012BC 39 2626 ADD HL,SP - 000012BD 4D 2627 LD C,L - 000012BE 44 2628 LD B,H - 000012BF DD 5E BE 2629 LD E,(IX-66) - 000012C2 DD 56 BF 2630 LD D,(IX-65) - 000012C5 3E EF 2631 LD A,BYTE3 iwrite - 000012C7 21 EF 17 2632 LD HL,LWRD iwrite - 000012CA CD 00 00 2633 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000012CD 2634 ?0252: - 000012CD 2635 ?0247: - 000012CD DD 6E BE 2636 LD L,(IX-66) - 000012D0 DD 66 BF 2637 LD H,(IX-65) - 000012D3 ED 4B 38 04 2638 LD BC,(link_count) - 000012D7 09 2639 ADD HL,BC - 000012D8 7E 2640 LD A,(HL) - 000012D9 B7 2641 OR A - 000012DA C2 F7 13 2642 JP NZ,?0254 - 000012DD 2643 ?0253: - 000012DD DD 7E C0 2644 LD A,(IX-64) - 000012E0 E6 00 2645 AND 0 - 000012E2 6F 2646 LD L,A - 000012E3 DD 7E C1 2647 LD A,(IX-63) - 000012E6 E6 F0 2648 AND 240 - 000012E8 67 2649 LD H,A - 000012E9 3E 60 2650 LD A,96 - 000012EB AC 2651 XOR H - 000012EC B5 2652 OR L - 000012ED 28 25 2653 JR Z,?0255 - 000012EF DD 7E C0 2654 LD A,(IX-64) - 000012F2 E6 00 2655 AND 0 - 000012F4 6F 2656 LD L,A - 000012F5 DD 7E C1 2657 LD A,(IX-63) - 000012F8 E6 F0 2658 AND 240 - 000012FA 67 2659 LD H,A - 000012FB 3E 20 2660 LD A,32 - 000012FD AC 2661 XOR H - 000012FE B5 2662 OR L - 000012FF 28 13 2663 JR Z,?0255 - 00001301 21 0C 00 2664 LD HL,12 - 00001304 39 2665 ADD HL,SP - 00001305 5E 2666 LD E,(HL) - 00001306 23 2667 INC HL - 00001307 56 2668 LD D,(HL) - 00001308 23 2669 INC HL - 00001309 4E 2670 LD C,(HL) - 0000130A 23 2671 INC HL - 0000130B 46 2672 LD B,(HL) - 0000130C EB 2673 EX DE,HL - 0000130D 7D 2674 LD A,L - 0000130E B4 2675 OR H - 0000130F B1 2676 OR C - 00001310 B0 2677 OR B - 00001311 C2 A4 13 2678 JP NZ,?0256 - 00001314 2679 ?0257: - 00001314 2680 ?0258: - 00001314 2681 ?0255: - 00001314 DD 6E C2 2682 LD L,(IX-62) - 00001317 DD 66 C3 2683 LD H,(IX-61) - 0000131A E5 2684 PUSH HL - 0000131B DD 6E C0 2685 LD L,(IX-64) - 0000131E DD 66 C1 2686 LD H,(IX-63) - 00001321 E5 2687 PUSH HL - 00001322 DD 6E BE 2688 LD L,(IX-66) - 00001325 DD 66 BF 2689 LD H,(IX-65) - 00001328 E5 2690 PUSH HL - 00001329 21 C1 04 2691 LD HL,?0259 - 0000132C E5 2692 PUSH HL - 0000132D 3E 00 2693 LD A,BYTE3 printf - 0000132F 21 00 00 2694 LD HL,LWRD printf - 00001332 CD 00 00 2695 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001335 F1 2696 POP AF - 00001336 F1 2697 POP AF - 00001337 F1 2698 POP AF - 00001338 F1 2699 POP AF - 00001339 3E 5A 2700 LD A,BYTE3 yes - 0000133B 21 5A 19 2701 LD HL,LWRD yes - 0000133E CD 00 00 2702 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001341 7D 2703 LD A,L - 00001342 B4 2704 OR H - 00001343 28 5D 2705 JR Z,?0261 - 00001345 2706 ?0260: - 00001345 AF 2707 XOR A - 00001346 DD 77 C2 2708 LD (IX-62),A - 00001349 DD 77 C3 2709 LD (IX-61),A - 0000134C AF 2710 XOR A - 0000134D DD 77 C0 2711 LD (IX-64),A - 00001350 DD 77 C1 2712 LD (IX-63),A - 00001353 21 04 00 2713 LD HL,4 - 00001356 39 2714 ADD HL,SP - 00001357 4D 2715 LD C,L - 00001358 44 2716 LD B,H - 00001359 DD 5E BE 2717 LD E,(IX-66) - 0000135C DD 56 BF 2718 LD D,(IX-65) - 0000135F 3E EF 2719 LD A,BYTE3 iwrite - 00001361 21 EF 17 2720 LD HL,LWRD iwrite - 00001364 CD 00 00 2721 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001367 2A 10 04 2722 LD HL,(filsys+10) - 0000136A 23 2723 INC HL - 0000136B 22 10 04 2724 LD (filsys+10),HL - 0000136E 11 04 00 2725 LD DE,4 - 00001371 3E 29 2726 LD A,BYTE3 daread - 00001373 21 29 17 2727 LD HL,LWRD daread - 00001376 CD 00 00 2728 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001379 DD 75 BC 2729 LD (IX-68),L - 0000137C DD 74 BD 2730 LD (IX-67),H - 0000137F 01 1E 00 2731 LD BC,30 - 00001382 C5 2732 PUSH BC - 00001383 4D 2733 LD C,L - 00001384 44 2734 LD B,H - 00001385 11 06 04 2735 LD DE,filsys - 00001388 3E 00 2736 LD A,BYTE3 bcopy - 0000138A 21 00 00 2737 LD HL,LWRD bcopy - 0000138D CD 00 00 2738 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001390 E1 2739 POP HL - 00001391 DD 4E BC 2740 LD C,(IX-68) - 00001394 DD 46 BD 2741 LD B,(IX-67) - 00001397 11 04 00 2742 LD DE,4 - 0000139A 3E 68 2743 LD A,BYTE3 dwrite - 0000139C 21 68 17 2744 LD HL,LWRD dwrite - 0000139F CD 00 00 2745 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000013A2 2746 ?0261: - 000013A2 18 53 2747 JR ?0262 - 000013A4 2748 ?0256: - 000013A4 DD 6E C2 2749 LD L,(IX-62) - 000013A7 DD 66 C3 2750 LD H,(IX-61) - 000013AA E5 2751 PUSH HL - 000013AB DD 6E BE 2752 LD L,(IX-66) - 000013AE DD 66 BF 2753 LD H,(IX-65) - 000013B1 E5 2754 PUSH HL - 000013B2 21 0D 05 2755 LD HL,?0263 - 000013B5 E5 2756 PUSH HL - 000013B6 3E 00 2757 LD A,BYTE3 printf - 000013B8 21 00 00 2758 LD HL,LWRD printf - 000013BB CD 00 00 2759 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000013BE F1 2760 POP AF - 000013BF F1 2761 POP AF - 000013C0 F1 2762 POP AF - 000013C1 3E 5A 2763 LD A,BYTE3 yes - 000013C3 21 5A 19 2764 LD HL,LWRD yes - 000013C6 CD 00 00 2765 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000013C9 7D 2766 LD A,L - 000013CA B4 2767 OR H - 000013CB 28 2A 2768 JR Z,?0265 - 000013CD 2769 ?0264: - 000013CD DD 36 C2 01 2770 LD (IX-62),1 - 000013D1 DD 36 C3 00 2771 LD (IX-61),0 - 000013D5 21 04 00 2772 LD HL,4 - 000013D8 39 2773 ADD HL,SP - 000013D9 4D 2774 LD C,L - 000013DA 44 2775 LD B,H - 000013DB DD 5E BE 2776 LD E,(IX-66) - 000013DE DD 56 BF 2777 LD D,(IX-65) - 000013E1 3E EF 2778 LD A,BYTE3 iwrite - 000013E3 21 EF 17 2779 LD HL,LWRD iwrite - 000013E6 CD 00 00 2780 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000013E9 DD 5E BE 2781 LD E,(IX-66) - 000013EC DD 56 BF 2782 LD D,(IX-65) - 000013EF 3E E6 2783 LD A,BYTE3 mkentry - 000013F1 21 E6 10 2784 LD HL,LWRD mkentry - 000013F4 CD 00 00 2785 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000013F7 2786 ?0265: - 000013F7 2787 ?0262: - 000013F7 2788 ?0254: - 000013F7 2789 ?0241: - 000013F7 DD 34 BE 2790 INC (IX-66) - 000013FA 20 03 2791 JR NZ,?0399 - 000013FC DD 34 BF 2792 INC (IX-65) - 000013FF 2793 ?0399: - 000013FF C3 D5 11 2794 JP LWRD ?0234 - 00001402 2795 ?0233: - 00001402 C3 00 00 2796 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 00001405 2797 getblkno: - 00001405 CD 00 00 2798 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 00001408 FA FF 2799 DEFW 65530 - 0000140A 11 12 00 2800 LD DE,18 - 0000140D 69 2801 LD L,C - 0000140E 60 2802 LD H,B - 0000140F A7 2803 AND A - 00001410 ED 52 2804 SBC HL,DE - 00001412 30 19 2805 JR NC,?0267 - 00001414 2806 ?0266: - 00001414 DD 6E 04 2807 LD L,(IX+4) - 00001417 DD 66 05 2808 LD H,(IX+5) - 0000141A 29 2809 ADD HL,HL - 0000141B DD 4E 02 2810 LD C,(IX+2) - 0000141E DD 46 03 2811 LD B,(IX+3) - 00001421 09 2812 ADD HL,BC - 00001422 01 18 00 2813 LD BC,24 - 00001425 09 2814 ADD HL,BC - 00001426 46 2815 LD B,(HL) - 00001427 23 2816 INC HL - 00001428 66 2817 LD H,(HL) - 00001429 68 2818 LD L,B - 0000142A C3 FE 14 2819 JP LWRD ?0274 - 0000142D 2820 ?0267: - 0000142D 01 12 01 2821 LD BC,274 - 00001430 DD 6E 04 2822 LD L,(IX+4) - 00001433 DD 66 05 2823 LD H,(IX+5) - 00001436 A7 2824 AND A - 00001437 ED 42 2825 SBC HL,BC - 00001439 30 48 2826 JR NC,?0269 - 0000143B 2827 ?0268: - 0000143B 21 3C 00 2828 LD HL,60 - 0000143E DD 4E 02 2829 LD C,(IX+2) - 00001441 DD 46 03 2830 LD B,(IX+3) - 00001444 09 2831 ADD HL,BC - 00001445 46 2832 LD B,(HL) - 00001446 23 2833 INC HL - 00001447 66 2834 LD H,(HL) - 00001448 68 2835 LD L,B - 00001449 DD 75 FA 2836 LD (IX-6),L - 0000144C DD 74 FB 2837 LD (IX-5),H - 0000144F 7D 2838 LD A,L - 00001450 B4 2839 OR H - 00001451 20 06 2840 JR NZ,?0271 - 00001453 2841 ?0270: - 00001453 21 00 00 2842 LD HL,0 - 00001456 C3 FE 14 2843 JP LWRD ?0274 - 00001459 2844 ?0271: - 00001459 DD 5E FA 2845 LD E,(IX-6) - 0000145C DD 56 FB 2846 LD D,(IX-5) - 0000145F 3E 29 2847 LD A,BYTE3 daread - 00001461 21 29 17 2848 LD HL,LWRD daread - 00001464 CD 00 00 2849 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001467 DD 75 FE 2850 LD (IX-2),L - 0000146A DD 74 FF 2851 LD (IX-1),H - 0000146D E5 2852 PUSH HL - 0000146E DD 6E 04 2853 LD L,(IX+4) - 00001471 DD 66 05 2854 LD H,(IX+5) - 00001474 29 2855 ADD HL,HL - 00001475 4D 2856 LD C,L - 00001476 44 2857 LD B,H - 00001477 E1 2858 POP HL - 00001478 09 2859 ADD HL,BC - 00001479 01 DC FF 2860 LD BC,65500 - 0000147C 09 2861 ADD HL,BC - 0000147D 46 2862 LD B,(HL) - 0000147E 23 2863 INC HL - 0000147F 66 2864 LD H,(HL) - 00001480 68 2865 LD L,B - 00001481 18 7B 2866 JR ?0274 - 00001483 2867 ?0269: - 00001483 21 3E 00 2868 LD HL,62 - 00001486 DD 4E 02 2869 LD C,(IX+2) - 00001489 DD 46 03 2870 LD B,(IX+3) - 0000148C 09 2871 ADD HL,BC - 0000148D 46 2872 LD B,(HL) - 0000148E 23 2873 INC HL - 0000148F 66 2874 LD H,(HL) - 00001490 68 2875 LD L,B - 00001491 DD 75 FA 2876 LD (IX-6),L - 00001494 DD 74 FB 2877 LD (IX-5),H - 00001497 7D 2878 LD A,L - 00001498 B4 2879 OR H - 00001499 20 05 2880 JR NZ,?0273 - 0000149B 2881 ?0272: - 0000149B 21 00 00 2882 LD HL,0 - 0000149E 18 5E 2883 JR ?0274 - 000014A0 2884 ?0273: - 000014A0 DD 5E FA 2885 LD E,(IX-6) - 000014A3 DD 56 FB 2886 LD D,(IX-5) - 000014A6 3E 29 2887 LD A,BYTE3 daread - 000014A8 21 29 17 2888 LD HL,LWRD daread - 000014AB CD 00 00 2889 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000014AE DD 75 FE 2890 LD (IX-2),L - 000014B1 DD 74 FF 2891 LD (IX-1),H - 000014B4 21 EE FE 2892 LD HL,65262 - 000014B7 DD 4E 04 2893 LD C,(IX+4) - 000014BA DD 46 05 2894 LD B,(IX+5) - 000014BD 09 2895 ADD HL,BC - 000014BE DD 75 FA 2896 LD (IX-6),L - 000014C1 DD 74 FB 2897 LD (IX-5),H - 000014C4 6C 2898 LD L,H - 000014C5 26 00 2899 LD H,0 - 000014C7 29 2900 ADD HL,HL - 000014C8 DD 4E FE 2901 LD C,(IX-2) - 000014CB DD 46 FF 2902 LD B,(IX-1) - 000014CE 09 2903 ADD HL,BC - 000014CF 56 2904 LD D,(HL) - 000014D0 23 2905 INC HL - 000014D1 66 2906 LD H,(HL) - 000014D2 6A 2907 LD L,D - 000014D3 DD 75 FC 2908 LD (IX-4),L - 000014D6 DD 74 FD 2909 LD (IX-3),H - 000014D9 EB 2910 EX DE,HL - 000014DA 3E 29 2911 LD A,BYTE3 daread - 000014DC 21 29 17 2912 LD HL,LWRD daread - 000014DF CD 00 00 2913 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000014E2 DD 75 FE 2914 LD (IX-2),L - 000014E5 DD 74 FF 2915 LD (IX-1),H - 000014E8 E5 2916 PUSH HL - 000014E9 DD 7E FA 2917 LD A,(IX-6) - 000014EC E6 FF 2918 AND 255 - 000014EE 6F 2919 LD L,A - 000014EF DD 7E FB 2920 LD A,(IX-5) - 000014F2 E6 00 2921 AND 0 - 000014F4 67 2922 LD H,A - 000014F5 29 2923 ADD HL,HL - 000014F6 4D 2924 LD C,L - 000014F7 44 2925 LD B,H - 000014F8 E1 2926 POP HL - 000014F9 09 2927 ADD HL,BC - 000014FA 46 2928 LD B,(HL) - 000014FB 23 2929 INC HL - 000014FC 66 2930 LD H,(HL) - 000014FD 68 2931 LD L,B - 000014FE 2932 ?0274: - 000014FE C3 00 00 2933 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 00001501 2934 setblkno: - 00001501 CD 00 00 2935 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 00001504 FA FF 2936 DEFW 65530 - 00001506 11 12 00 2937 LD DE,18 - 00001509 69 2938 LD L,C - 0000150A 60 2939 LD H,B - 0000150B A7 2940 AND A - 0000150C ED 52 2941 SBC HL,DE - 0000150E 30 1E 2942 JR NC,?0276 - 00001510 2943 ?0275: - 00001510 DD 6E 04 2944 LD L,(IX+4) - 00001513 DD 66 05 2945 LD H,(IX+5) - 00001516 29 2946 ADD HL,HL - 00001517 DD 4E 02 2947 LD C,(IX+2) - 0000151A DD 46 03 2948 LD B,(IX+3) - 0000151D 09 2949 ADD HL,BC - 0000151E 01 18 00 2950 LD BC,24 - 00001521 09 2951 ADD HL,BC - 00001522 DD 4E 0A 2952 LD C,(IX+10) - 00001525 DD 46 0B 2953 LD B,(IX+11) - 00001528 71 2954 LD (HL),C - 00001529 23 2955 INC HL - 0000152A 70 2956 LD (HL),B - 0000152B C3 54 16 2957 JP LWRD ?0277 - 0000152E 2958 ?0276: - 0000152E 01 12 01 2959 LD BC,274 - 00001531 DD 6E 04 2960 LD L,(IX+4) - 00001534 DD 66 05 2961 LD H,(IX+5) - 00001537 A7 2962 AND A - 00001538 ED 42 2963 SBC HL,BC - 0000153A 30 67 2964 JR NC,?0279 - 0000153C 2965 ?0278: - 0000153C 21 3C 00 2966 LD HL,60 - 0000153F DD 4E 02 2967 LD C,(IX+2) - 00001542 DD 46 03 2968 LD B,(IX+3) - 00001545 09 2969 ADD HL,BC - 00001546 46 2970 LD B,(HL) - 00001547 23 2971 INC HL - 00001548 66 2972 LD H,(HL) - 00001549 68 2973 LD L,B - 0000154A DD 75 FA 2974 LD (IX-6),L - 0000154D DD 74 FB 2975 LD (IX-5),H - 00001550 7D 2976 LD A,L - 00001551 B4 2977 OR H - 00001552 20 0B 2978 JR NZ,?0281 - 00001554 2979 ?0280: - 00001554 11 43 05 2980 LD DE,?0282 - 00001557 3E 97 2981 LD A,BYTE3 mypanic - 00001559 21 97 1F 2982 LD HL,LWRD mypanic - 0000155C CD 00 00 2983 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000155F 2984 ?0281: - 0000155F DD 5E FA 2985 LD E,(IX-6) - 00001562 DD 56 FB 2986 LD D,(IX-5) - 00001565 3E 29 2987 LD A,BYTE3 daread - 00001567 21 29 17 2988 LD HL,LWRD daread - 0000156A CD 00 00 2989 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000156D DD 75 FE 2990 LD (IX-2),L - 00001570 DD 74 FF 2991 LD (IX-1),H - 00001573 E5 2992 PUSH HL - 00001574 DD 6E 04 2993 LD L,(IX+4) - 00001577 DD 66 05 2994 LD H,(IX+5) - 0000157A 29 2995 ADD HL,HL - 0000157B 4D 2996 LD C,L - 0000157C 44 2997 LD B,H - 0000157D E1 2998 POP HL - 0000157E 09 2999 ADD HL,BC - 0000157F 01 DC FF 3000 LD BC,65500 - 00001582 09 3001 ADD HL,BC - 00001583 DD 4E 0A 3002 LD C,(IX+10) - 00001586 DD 46 0B 3003 LD B,(IX+11) - 00001589 71 3004 LD (HL),C - 0000158A 23 3005 INC HL - 0000158B 70 3006 LD (HL),B - 0000158C DD 4E FE 3007 LD C,(IX-2) - 0000158F DD 46 FF 3008 LD B,(IX-1) - 00001592 DD 5E FA 3009 LD E,(IX-6) - 00001595 DD 56 FB 3010 LD D,(IX-5) - 00001598 3E 68 3011 LD A,BYTE3 dwrite - 0000159A 21 68 17 3012 LD HL,LWRD dwrite - 0000159D CD 00 00 3013 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000015A0 C3 54 16 3014 JP LWRD ?0283 - 000015A3 3015 ?0279: - 000015A3 21 3E 00 3016 LD HL,62 - 000015A6 DD 4E 02 3017 LD C,(IX+2) - 000015A9 DD 46 03 3018 LD B,(IX+3) - 000015AC 09 3019 ADD HL,BC - 000015AD 46 3020 LD B,(HL) - 000015AE 23 3021 INC HL - 000015AF 66 3022 LD H,(HL) - 000015B0 68 3023 LD L,B - 000015B1 DD 75 FA 3024 LD (IX-6),L - 000015B4 DD 74 FB 3025 LD (IX-5),H - 000015B7 7D 3026 LD A,L - 000015B8 B4 3027 OR H - 000015B9 20 0B 3028 JR NZ,?0285 - 000015BB 3029 ?0284: - 000015BB 11 43 05 3030 LD DE,?0282 - 000015BE 3E 97 3031 LD A,BYTE3 mypanic - 000015C0 21 97 1F 3032 LD HL,LWRD mypanic - 000015C3 CD 00 00 3033 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000015C6 3034 ?0285: - 000015C6 DD 5E FA 3035 LD E,(IX-6) - 000015C9 DD 56 FB 3036 LD D,(IX-5) - 000015CC 3E 29 3037 LD A,BYTE3 daread - 000015CE 21 29 17 3038 LD HL,LWRD daread - 000015D1 CD 00 00 3039 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000015D4 DD 75 FE 3040 LD (IX-2),L - 000015D7 DD 74 FF 3041 LD (IX-1),H - 000015DA 21 0A 00 3042 LD HL,10 - 000015DD 39 3043 ADD HL,SP - 000015DE 7E 3044 LD A,(HL) - 000015DF D6 12 3045 SUB 18 - 000015E1 77 3046 LD (HL),A - 000015E2 23 3047 INC HL - 000015E3 7E 3048 LD A,(HL) - 000015E4 DE 01 3049 SBC A,1 - 000015E6 77 3050 LD (HL),A - 000015E7 DD 6E 04 3051 LD L,(IX+4) - 000015EA DD 66 05 3052 LD H,(IX+5) - 000015ED 6C 3053 LD L,H - 000015EE 26 00 3054 LD H,0 - 000015F0 29 3055 ADD HL,HL - 000015F1 DD 4E FE 3056 LD C,(IX-2) - 000015F4 DD 46 FF 3057 LD B,(IX-1) - 000015F7 09 3058 ADD HL,BC - 000015F8 46 3059 LD B,(HL) - 000015F9 23 3060 INC HL - 000015FA 66 3061 LD H,(HL) - 000015FB 68 3062 LD L,B - 000015FC DD 75 FC 3063 LD (IX-4),L - 000015FF DD 74 FD 3064 LD (IX-3),H - 00001602 7D 3065 LD A,L - 00001603 B4 3066 OR H - 00001604 20 0B 3067 JR NZ,?0287 - 00001606 3068 ?0286: - 00001606 11 43 05 3069 LD DE,?0282 - 00001609 3E 97 3070 LD A,BYTE3 mypanic - 0000160B 21 97 1F 3071 LD HL,LWRD mypanic - 0000160E CD 00 00 3072 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001611 3073 ?0287: - 00001611 DD 5E FC 3074 LD E,(IX-4) - 00001614 DD 56 FD 3075 LD D,(IX-3) - 00001617 3E 29 3076 LD A,BYTE3 daread - 00001619 21 29 17 3077 LD HL,LWRD daread - 0000161C CD 00 00 3078 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000161F DD 75 FE 3079 LD (IX-2),L - 00001622 DD 74 FF 3080 LD (IX-1),H - 00001625 E5 3081 PUSH HL - 00001626 DD 7E 04 3082 LD A,(IX+4) - 00001629 E6 FF 3083 AND 255 - 0000162B 6F 3084 LD L,A - 0000162C DD 7E 05 3085 LD A,(IX+5) - 0000162F E6 00 3086 AND 0 - 00001631 67 3087 LD H,A - 00001632 29 3088 ADD HL,HL - 00001633 4D 3089 LD C,L - 00001634 44 3090 LD B,H - 00001635 E1 3091 POP HL - 00001636 09 3092 ADD HL,BC - 00001637 DD 4E 04 3093 LD C,(IX+4) - 0000163A DD 46 05 3094 LD B,(IX+5) - 0000163D 71 3095 LD (HL),C - 0000163E 23 3096 INC HL - 0000163F 70 3097 LD (HL),B - 00001640 DD 4E FE 3098 LD C,(IX-2) - 00001643 DD 46 FF 3099 LD B,(IX-1) - 00001646 DD 5E FA 3100 LD E,(IX-6) - 00001649 DD 56 FB 3101 LD D,(IX-5) - 0000164C 3E 68 3102 LD A,BYTE3 dwrite - 0000164E 21 68 17 3103 LD HL,LWRD dwrite - 00001651 CD 00 00 3104 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001654 3105 ?0283: - 00001654 3106 ?0277: - 00001654 C3 00 00 3107 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 00001657 3108 _blk_alloc: - 00001657 CD 00 00 3109 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 0000165A F6 FF 3110 DEFW 65526 - 0000165C 21 12 00 3111 LD HL,18 - 0000165F DD 4E 02 3112 LD C,(IX+2) - 00001662 DD 46 03 3113 LD B,(IX+3) - 00001665 09 3114 ADD HL,BC - 00001666 56 3115 LD D,(HL) - 00001667 23 3116 INC HL - 00001668 66 3117 LD H,(HL) - 00001669 6A 3118 LD L,D - 0000166A DD 75 FC 3119 LD (IX-4),L - 0000166D DD 74 FD 3120 LD (IX-3),H - 00001670 21 14 00 3121 LD HL,20 - 00001673 09 3122 ADD HL,BC - 00001674 46 3123 LD B,(HL) - 00001675 23 3124 INC HL - 00001676 66 3125 LD H,(HL) - 00001677 68 3126 LD L,B - 00001678 DD 75 FE 3127 LD (IX-2),L - 0000167B DD 74 FF 3128 LD (IX-1),H - 0000167E 4D 3129 LD C,L - 0000167F 44 3130 LD B,H - 00001680 DD 5E FC 3131 LD E,(IX-4) - 00001683 DD 56 FD 3132 LD D,(IX-3) - 00001686 3E 45 3133 LD A,BYTE3 bitmap_find - 00001688 21 45 1E 3134 LD HL,LWRD bitmap_find - 0000168B CD 00 00 3135 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000168E DD 75 FA 3136 LD (IX-6),L - 00001691 DD 74 FB 3137 LD (IX-5),H - 00001694 7D 3138 LD A,L - 00001695 A4 3139 AND H - 00001696 3C 3140 INC A - 00001697 20 06 3141 JR NZ,?0289 - 00001699 3142 ?0288: - 00001699 21 00 00 3143 LD HL,0 - 0000169C C3 26 17 3144 JP LWRD ?0295 - 0000169F 3145 ?0289: - 0000169F 21 08 00 3146 LD HL,8 - 000016A2 DD 4E 02 3147 LD C,(IX+2) - 000016A5 DD 46 03 3148 LD B,(IX+3) - 000016A8 09 3149 ADD HL,BC - 000016A9 4E 3150 LD C,(HL) - 000016AA 23 3151 INC HL - 000016AB 46 3152 LD B,(HL) - 000016AC 0B 3153 DEC BC - 000016AD 70 3154 LD (HL),B - 000016AE 2B 3155 DEC HL - 000016AF 71 3156 LD (HL),C - 000016B0 ED 4B 26 04 3157 LD BC,(finode) - 000016B4 DD 6E FA 3158 LD L,(IX-6) - 000016B7 DD 66 FB 3159 LD H,(IX-5) - 000016BA A7 3160 AND A - 000016BB ED 42 3161 SBC HL,BC - 000016BD 38 18 3162 JR C,?0290 - 000016BF 21 06 00 3163 LD HL,6 - 000016C2 DD 4E 02 3164 LD C,(IX+2) - 000016C5 DD 46 03 3165 LD B,(IX+3) - 000016C8 09 3166 ADD HL,BC - 000016C9 4E 3167 LD C,(HL) - 000016CA 23 3168 INC HL - 000016CB 46 3169 LD B,(HL) - 000016CC DD 6E FA 3170 LD L,(IX-6) - 000016CF DD 66 FB 3171 LD H,(IX-5) - 000016D2 A7 3172 AND A - 000016D3 ED 42 3173 SBC HL,BC - 000016D5 38 12 3174 JR C,?0291 - 000016D7 3175 ?0292: - 000016D7 3176 ?0293: - 000016D7 3177 ?0290: - 000016D7 21 5A 05 3178 LD HL,?0294 - 000016DA E5 3179 PUSH HL - 000016DB 3E 00 3180 LD A,BYTE3 printf - 000016DD 21 00 00 3181 LD HL,LWRD printf - 000016E0 CD 00 00 3182 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000016E3 F1 3183 POP AF - 000016E4 21 00 00 3184 LD HL,0 - 000016E7 18 3D 3185 JR ?0295 - 000016E9 3186 ?0291: - 000016E9 11 04 00 3187 LD DE,4 - 000016EC 3E 29 3188 LD A,BYTE3 daread - 000016EE 21 29 17 3189 LD HL,LWRD daread - 000016F1 CD 00 00 3190 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000016F4 DD 75 F8 3191 LD (IX-8),L - 000016F7 DD 74 F9 3192 LD (IX-7),H - 000016FA 01 02 00 3193 LD BC,2 - 000016FD C5 3194 PUSH BC - 000016FE 4D 3195 LD C,L - 000016FF 44 3196 LD B,H - 00001700 21 0E 00 3197 LD HL,14 - 00001703 39 3198 ADD HL,SP - 00001704 5D 3199 LD E,L - 00001705 54 3200 LD D,H - 00001706 3E 00 3201 LD A,BYTE3 bcopy - 00001708 21 00 00 3202 LD HL,LWRD bcopy - 0000170B CD 00 00 3203 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000170E E1 3204 POP HL - 0000170F DD 4E F8 3205 LD C,(IX-8) - 00001712 DD 46 F9 3206 LD B,(IX-7) - 00001715 11 04 00 3207 LD DE,4 - 00001718 3E 68 3208 LD A,BYTE3 dwrite - 0000171A 21 68 17 3209 LD HL,LWRD dwrite - 0000171D CD 00 00 3210 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001720 DD 6E FA 3211 LD L,(IX-6) - 00001723 DD 66 FB 3212 LD H,(IX-5) - 00001726 3213 ?0295: - 00001726 C3 00 00 3214 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 00001729 3215 daread: - 00001729 CD 00 00 3216 CALL LWRD ?ENT_PARM_DIRECT_L09 - 0000172C 21 3A 04 3217 LD HL,?0296 - 0000172F E5 3218 PUSH HL - 00001730 4B 3219 LD C,E - 00001731 42 3220 LD B,D - 00001732 ED 5B 04 04 3221 LD DE,(dev) - 00001736 3E 00 3222 LD A,BYTE3 da_read - 00001738 21 00 00 3223 LD HL,LWRD da_read - 0000173B CD 00 00 3224 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000173E F1 3225 POP AF - 0000173F 3E 02 3226 LD A,2 - 00001741 AC 3227 XOR H - 00001742 B5 3228 OR L - 00001743 28 1D 3229 JR Z,?0298 - 00001745 3230 ?0297: - 00001745 DD 6E 02 3231 LD L,(IX+2) - 00001748 DD 66 03 3232 LD H,(IX+3) - 0000174B E5 3233 PUSH HL - 0000174C 21 86 05 3234 LD HL,?0299 - 0000174F E5 3235 PUSH HL - 00001750 3E 00 3236 LD A,BYTE3 printf - 00001752 21 00 00 3237 LD HL,LWRD printf - 00001755 CD 00 00 3238 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001758 F1 3239 POP AF - 00001759 F1 3240 POP AF - 0000175A 3E 00 3241 LD A,BYTE3 abort - 0000175C 21 00 00 3242 LD HL,LWRD abort - 0000175F CD 00 00 3243 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001762 3244 ?0298: - 00001762 21 3A 04 3245 LD HL,?0296 - 00001765 C3 00 00 3246 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 00001768 3247 dwrite: - 00001768 CD 00 00 3248 CALL LWRD ?ENT_PARM_DIRECT_L09 - 0000176B C5 3249 PUSH BC - 0000176C 4B 3250 LD C,E - 0000176D 42 3251 LD B,D - 0000176E ED 5B 04 04 3252 LD DE,(dev) - 00001772 3E A5 3253 LD A,BYTE3 da_write - 00001774 21 A5 00 3254 LD HL,LWRD da_write - 00001777 CD 00 00 3255 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000177A F1 3256 POP AF - 0000177B 3E 02 3257 LD A,2 - 0000177D AC 3258 XOR H - 0000177E B5 3259 OR L - 0000177F 28 1D 3260 JR Z,?0301 - 00001781 3261 ?0300: - 00001781 DD 6E 02 3262 LD L,(IX+2) - 00001784 DD 66 03 3263 LD H,(IX+3) - 00001787 E5 3264 PUSH HL - 00001788 21 A0 05 3265 LD HL,?0302 - 0000178B E5 3266 PUSH HL - 0000178C 3E 00 3267 LD A,BYTE3 printf - 0000178E 21 00 00 3268 LD HL,LWRD printf - 00001791 CD 00 00 3269 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001794 F1 3270 POP AF - 00001795 F1 3271 POP AF - 00001796 3E 00 3272 LD A,BYTE3 abort - 00001798 21 00 00 3273 LD HL,LWRD abort - 0000179B CD 00 00 3274 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000179E 3275 ?0301: - 0000179E C3 00 00 3276 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 000017A1 3277 iread: - 000017A1 CD 00 00 3278 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 000017A4 FE FF 3279 DEFW 65534 - 000017A6 06 03 3280 LD B,3 - 000017A8 DD 5E 02 3281 LD E,(IX+2) - 000017AB DD 56 03 3282 LD D,(IX+3) - 000017AE CD 00 00 3283 CALL LWRD ?US_RSH_L02 - 000017B1 2A 26 04 3284 LD HL,(finode) - 000017B4 19 3285 ADD HL,DE - 000017B5 EB 3286 EX DE,HL - 000017B6 3E 29 3287 LD A,BYTE3 daread - 000017B8 21 29 17 3288 LD HL,LWRD daread - 000017BB CD 00 00 3289 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000017BE DD 75 FE 3290 LD (IX-2),L - 000017C1 DD 74 FF 3291 LD (IX-1),H - 000017C4 01 40 00 3292 LD BC,64 - 000017C7 C5 3293 PUSH BC - 000017C8 DD 4E 04 3294 LD C,(IX+4) - 000017CB DD 46 05 3295 LD B,(IX+5) - 000017CE C5 3296 PUSH BC - 000017CF DD 7E 02 3297 LD A,(IX+2) - 000017D2 E6 07 3298 AND 7 - 000017D4 5F 3299 LD E,A - 000017D5 DD 7E 03 3300 LD A,(IX+3) - 000017D8 E6 00 3301 AND 0 - 000017DA 57 3302 LD D,A - 000017DB 06 06 3303 LD B,6 - 000017DD CD 00 00 3304 CALL LWRD ?S_LSH_L02 - 000017E0 19 3305 ADD HL,DE - 000017E1 EB 3306 EX DE,HL - 000017E2 3E 00 3307 LD A,BYTE3 bcopy - 000017E4 21 00 00 3308 LD HL,LWRD bcopy - 000017E7 C1 3309 POP BC - 000017E8 CD 00 00 3310 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000017EB E1 3311 POP HL - 000017EC C3 00 00 3312 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 000017EF 3313 iwrite: - 000017EF CD 00 00 3314 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 000017F2 FE FF 3315 DEFW 65534 - 000017F4 06 03 3316 LD B,3 - 000017F6 DD 5E 02 3317 LD E,(IX+2) - 000017F9 DD 56 03 3318 LD D,(IX+3) - 000017FC CD 00 00 3319 CALL LWRD ?US_RSH_L02 - 000017FF 2A 26 04 3320 LD HL,(finode) - 00001802 19 3321 ADD HL,DE - 00001803 EB 3322 EX DE,HL - 00001804 3E 29 3323 LD A,BYTE3 daread - 00001806 21 29 17 3324 LD HL,LWRD daread - 00001809 CD 00 00 3325 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000180C DD 75 FE 3326 LD (IX-2),L - 0000180F DD 74 FF 3327 LD (IX-1),H - 00001812 01 40 00 3328 LD BC,64 - 00001815 C5 3329 PUSH BC - 00001816 DD 7E 02 3330 LD A,(IX+2) - 00001819 E6 07 3331 AND 7 - 0000181B 5F 3332 LD E,A - 0000181C DD 7E 03 3333 LD A,(IX+3) - 0000181F E6 00 3334 AND 0 - 00001821 57 3335 LD D,A - 00001822 06 06 3336 LD B,6 - 00001824 CD 00 00 3337 CALL LWRD ?S_LSH_L02 - 00001827 19 3338 ADD HL,DE - 00001828 4D 3339 LD C,L - 00001829 44 3340 LD B,H - 0000182A DD 5E 04 3341 LD E,(IX+4) - 0000182D DD 56 05 3342 LD D,(IX+5) - 00001830 3E 00 3343 LD A,BYTE3 bcopy - 00001832 21 00 00 3344 LD HL,LWRD bcopy - 00001835 CD 00 00 3345 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001838 E1 3346 POP HL - 00001839 DD 4E FE 3347 LD C,(IX-2) - 0000183C DD 46 FF 3348 LD B,(IX-1) - 0000183F C5 3349 PUSH BC - 00001840 06 03 3350 LD B,3 - 00001842 DD 5E 02 3351 LD E,(IX+2) - 00001845 DD 56 03 3352 LD D,(IX+3) - 00001848 CD 00 00 3353 CALL LWRD ?US_RSH_L02 - 0000184B 2A 26 04 3354 LD HL,(finode) - 0000184E 19 3355 ADD HL,DE - 0000184F EB 3356 EX DE,HL - 00001850 3E 68 3357 LD A,BYTE3 dwrite - 00001852 21 68 17 3358 LD HL,LWRD dwrite - 00001855 C1 3359 POP BC - 00001856 CD 00 00 3360 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001859 C3 00 00 3361 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 0000185C 3362 dirread: - 0000185C CD 00 00 3363 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 0000185F FC FF 3364 DEFW 65532 - 00001861 06 05 3365 LD B,5 - 00001863 DD 5E 04 3366 LD E,(IX+4) - 00001866 DD 56 05 3367 LD D,(IX+5) - 00001869 CD 00 00 3368 CALL LWRD ?US_RSH_L02 - 0000186C 4B 3369 LD C,E - 0000186D 42 3370 LD B,D - 0000186E DD 5E 02 3371 LD E,(IX+2) - 00001871 DD 56 03 3372 LD D,(IX+3) - 00001874 3E 05 3373 LD A,BYTE3 getblkno - 00001876 21 05 14 3374 LD HL,LWRD getblkno - 00001879 CD 00 00 3375 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000187C DD 75 FE 3376 LD (IX-2),L - 0000187F DD 74 FF 3377 LD (IX-1),H - 00001882 7D 3378 LD A,L - 00001883 B4 3379 OR H - 00001884 20 0B 3380 JR NZ,?0304 - 00001886 3381 ?0303: - 00001886 11 BB 05 3382 LD DE,?0305 - 00001889 3E 97 3383 LD A,BYTE3 mypanic - 0000188B 21 97 1F 3384 LD HL,LWRD mypanic - 0000188E CD 00 00 3385 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001891 3386 ?0304: - 00001891 DD 5E FE 3387 LD E,(IX-2) - 00001894 DD 56 FF 3388 LD D,(IX-1) - 00001897 3E 29 3389 LD A,BYTE3 daread - 00001899 21 29 17 3390 LD HL,LWRD daread - 0000189C CD 00 00 3391 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000189F DD 75 FC 3392 LD (IX-4),L - 000018A2 DD 74 FD 3393 LD (IX-3),H - 000018A5 01 10 00 3394 LD BC,16 - 000018A8 C5 3395 PUSH BC - 000018A9 DD 4E 0A 3396 LD C,(IX+10) - 000018AC DD 46 0B 3397 LD B,(IX+11) - 000018AF E5 3398 PUSH HL - 000018B0 DD 7E 04 3399 LD A,(IX+4) - 000018B3 E6 1F 3400 AND 31 - 000018B5 6F 3401 LD L,A - 000018B6 DD 7E 05 3402 LD A,(IX+5) - 000018B9 E6 00 3403 AND 0 - 000018BB 67 3404 LD H,A - 000018BC 29 3405 ADD HL,HL - 000018BD 29 3406 ADD HL,HL - 000018BE 29 3407 ADD HL,HL - 000018BF 29 3408 ADD HL,HL - 000018C0 EB 3409 EX DE,HL - 000018C1 E1 3410 POP HL - 000018C2 19 3411 ADD HL,DE - 000018C3 EB 3412 EX DE,HL - 000018C4 3E 00 3413 LD A,BYTE3 bcopy - 000018C6 21 00 00 3414 LD HL,LWRD bcopy - 000018C9 CD 00 00 3415 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000018CC E1 3416 POP HL - 000018CD C3 00 00 3417 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 000018D0 3418 dirwrite: - 000018D0 CD 00 00 3419 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 000018D3 FC FF 3420 DEFW 65532 - 000018D5 06 05 3421 LD B,5 - 000018D7 DD 5E 04 3422 LD E,(IX+4) - 000018DA DD 56 05 3423 LD D,(IX+5) - 000018DD CD 00 00 3424 CALL LWRD ?US_RSH_L02 - 000018E0 4B 3425 LD C,E - 000018E1 42 3426 LD B,D - 000018E2 DD 5E 02 3427 LD E,(IX+2) - 000018E5 DD 56 03 3428 LD D,(IX+3) - 000018E8 3E 05 3429 LD A,BYTE3 getblkno - 000018EA 21 05 14 3430 LD HL,LWRD getblkno - 000018ED CD 00 00 3431 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000018F0 DD 75 FE 3432 LD (IX-2),L - 000018F3 DD 74 FF 3433 LD (IX-1),H - 000018F6 7D 3434 LD A,L - 000018F7 B4 3435 OR H - 000018F8 20 0B 3436 JR NZ,?0307 - 000018FA 3437 ?0306: - 000018FA 11 BB 05 3438 LD DE,?0305 - 000018FD 3E 97 3439 LD A,BYTE3 mypanic - 000018FF 21 97 1F 3440 LD HL,LWRD mypanic - 00001902 CD 00 00 3441 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001905 3442 ?0307: - 00001905 DD 5E FE 3443 LD E,(IX-2) - 00001908 DD 56 FF 3444 LD D,(IX-1) - 0000190B 3E 29 3445 LD A,BYTE3 daread - 0000190D 21 29 17 3446 LD HL,LWRD daread - 00001910 CD 00 00 3447 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001913 DD 75 FC 3448 LD (IX-4),L - 00001916 DD 74 FD 3449 LD (IX-3),H - 00001919 01 10 00 3450 LD BC,16 - 0000191C C5 3451 PUSH BC - 0000191D E5 3452 PUSH HL - 0000191E DD 7E 04 3453 LD A,(IX+4) - 00001921 E6 1F 3454 AND 31 - 00001923 6F 3455 LD L,A - 00001924 DD 7E 05 3456 LD A,(IX+5) - 00001927 E6 00 3457 AND 0 - 00001929 67 3458 LD H,A - 0000192A 29 3459 ADD HL,HL - 0000192B 29 3460 ADD HL,HL - 0000192C 29 3461 ADD HL,HL - 0000192D 29 3462 ADD HL,HL - 0000192E 4D 3463 LD C,L - 0000192F 44 3464 LD B,H - 00001930 E1 3465 POP HL - 00001931 09 3466 ADD HL,BC - 00001932 4D 3467 LD C,L - 00001933 44 3468 LD B,H - 00001934 DD 5E 0A 3469 LD E,(IX+10) - 00001937 DD 56 0B 3470 LD D,(IX+11) - 0000193A 3E 00 3471 LD A,BYTE3 bcopy - 0000193C 21 00 00 3472 LD HL,LWRD bcopy - 0000193F CD 00 00 3473 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001942 E1 3474 POP HL - 00001943 DD 4E FC 3475 LD C,(IX-4) - 00001946 DD 46 FD 3476 LD B,(IX-3) - 00001949 DD 5E FE 3477 LD E,(IX-2) - 0000194C DD 56 FF 3478 LD D,(IX-1) - 0000194F 3E 68 3479 LD A,BYTE3 dwrite - 00001951 21 68 17 3480 LD HL,LWRD dwrite - 00001954 CD 00 00 3481 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001957 C3 00 00 3482 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 0000195A 3483 yes: - 0000195A CD 00 00 3484 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 0000195D EC FF 3485 DEFW 65516 - 0000195F 11 00 00 3486 LD DE,stdout - 00001962 3E 00 3487 LD A,BYTE3 fflush - 00001964 21 00 00 3488 LD HL,LWRD fflush - 00001967 CD 00 00 3489 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000196A 2A 00 00 3490 LD HL,(_yes) - 0000196D 7D 3491 LD A,L - 0000196E B4 3492 OR H - 0000196F 28 0F 3493 JR Z,?0309 - 00001971 3494 ?0308: - 00001971 21 D6 05 3495 LD HL,?0310 - 00001974 E5 3496 PUSH HL - 00001975 3E 00 3497 LD A,BYTE3 printf - 00001977 21 00 00 3498 LD HL,LWRD printf - 0000197A CD 00 00 3499 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000197D F1 3500 POP AF - 0000197E 18 2D 3501 JR ?0311 - 00001980 3502 ?0309: - 00001980 21 00 00 3503 LD HL,stdin - 00001983 E5 3504 PUSH HL - 00001984 01 14 00 3505 LD BC,20 - 00001987 21 02 00 3506 LD HL,2 - 0000198A 39 3507 ADD HL,SP - 0000198B 5D 3508 LD E,L - 0000198C 54 3509 LD D,H - 0000198D 3E 00 3510 LD A,BYTE3 fgets - 0000198F 21 00 00 3511 LD HL,LWRD fgets - 00001992 CD 00 00 3512 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001995 F1 3513 POP AF - 00001996 7D 3514 LD A,L - 00001997 B4 3515 OR H - 00001998 28 0E 3516 JR Z,?0312 - 0000199A DD 7E EC 3517 LD A,(IX-20) - 0000199D FE 79 3518 CP 121 - 0000199F 28 0C 3519 JR Z,?0313 - 000019A1 DD 7E EC 3520 LD A,(IX-20) - 000019A4 FE 59 3521 CP 89 - 000019A6 28 05 3522 JR Z,?0313 - 000019A8 3523 ?0317: - 000019A8 3524 ?0316: - 000019A8 3525 ?0314: - 000019A8 3526 ?0315: - 000019A8 3527 ?0312: - 000019A8 21 00 00 3528 LD HL,0 - 000019AB 18 03 3529 JR ?0318 - 000019AD 3530 ?0313: - 000019AD 3531 ?0311: - 000019AD 21 01 00 3532 LD HL,1 - 000019B0 3533 ?0318: - 000019B0 C3 00 00 3534 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 000019B3 3535 main: - 000019B3 CD 00 00 3536 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 000019B6 F8 FF 3537 DEFW 65528 - 000019B8 DD 36 FC 01 3538 LD (IX-4),1 - 000019BC DD 36 FD 00 3539 LD (IX-3),0 - 000019C0 DD 6E 02 3540 LD L,(IX+2) - 000019C3 DD 66 03 3541 LD H,(IX+3) - 000019C6 DD 75 FE 3542 LD (IX-2),L - 000019C9 DD 74 FF 3543 LD (IX-1),H - 000019CC 2B 3544 DEC HL - 000019CD DD 75 FE 3545 LD (IX-2),L - 000019D0 DD 74 FF 3546 LD (IX-1),H - 000019D3 4D 3547 LD C,L - 000019D4 44 3548 LD B,H - 000019D5 21 00 00 3549 LD HL,0 - 000019D8 CD 00 00 3550 CALL LWRD ?SS_CMP_L02 - 000019DB 30 76 3551 JR NC,?0320 - 000019DD DD 6E FC 3552 LD L,(IX-4) - 000019E0 DD 66 FD 3553 LD H,(IX-3) - 000019E3 29 3554 ADD HL,HL - 000019E4 DD 4E 04 3555 LD C,(IX+4) - 000019E7 DD 46 05 3556 LD B,(IX+5) - 000019EA 09 3557 ADD HL,BC - 000019EB 46 3558 LD B,(HL) - 000019EC 23 3559 INC HL - 000019ED 66 3560 LD H,(HL) - 000019EE 68 3561 LD L,B - 000019EF DD 75 FA 3562 LD (IX-6),L - 000019F2 DD 74 FB 3563 LD (IX-5),H - 000019F5 7E 3564 LD A,(HL) - 000019F6 FE 2D 3565 CP 45 - 000019F8 20 59 3566 JR NZ,?0320 - 000019FA 3567 ?0322: - 000019FA 3568 ?0321: - 000019FA 3569 ?0319: - 000019FA DD 6E FA 3570 LD L,(IX-6) - 000019FD DD 66 FB 3571 LD H,(IX-5) - 00001A00 23 3572 INC HL - 00001A01 7E 3573 LD A,(HL) - 00001A02 FE 79 3574 CP 121 - 00001A04 28 31 3575 JR Z,?0324 - 00001A06 DD 6E FA 3576 LD L,(IX-6) - 00001A09 DD 66 FB 3577 LD H,(IX-5) - 00001A0C 23 3578 INC HL - 00001A0D 7E 3579 LD A,(HL) - 00001A0E FE 59 3580 CP 89 - 00001A10 28 25 3581 JR Z,?0324 - 00001A12 3582 ?0326: - 00001A12 3583 ?0325: - 00001A12 3584 ?0323: - 00001A12 DD 6E FA 3585 LD L,(IX-6) - 00001A15 DD 66 FB 3586 LD H,(IX-5) - 00001A18 E5 3587 PUSH HL - 00001A19 21 D9 05 3588 LD HL,?0327 - 00001A1C E5 3589 PUSH HL - 00001A1D 21 00 00 3590 LD HL,stderr - 00001A20 E5 3591 PUSH HL - 00001A21 3E 00 3592 LD A,BYTE3 fprintf - 00001A23 21 00 00 3593 LD HL,LWRD fprintf - 00001A26 CD 00 00 3594 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001A29 F1 3595 POP AF - 00001A2A F1 3596 POP AF - 00001A2B F1 3597 POP AF - 00001A2C 11 01 00 3598 LD DE,1 - 00001A2F 3E 00 3599 LD A,BYTE3 exit - 00001A31 21 00 00 3600 LD HL,LWRD exit - 00001A34 CD 00 00 3601 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001A37 3602 ?0324: - 00001A37 2A 00 00 3603 LD HL,(_yes) - 00001A3A 23 3604 INC HL - 00001A3B 22 00 00 3605 LD (_yes),HL - 00001A3E DD 34 FC 3606 INC (IX-4) - 00001A41 20 03 3607 JR NZ,?0400 - 00001A43 DD 34 FD 3608 INC (IX-3) - 00001A46 3609 ?0400: - 00001A46 DD 6E FE 3610 LD L,(IX-2) - 00001A49 DD 66 FF 3611 LD H,(IX-1) - 00001A4C 2B 3612 DEC HL - 00001A4D DD 75 FE 3613 LD (IX-2),L - 00001A50 DD 74 FF 3614 LD (IX-1),H - 00001A53 3615 ?0320: - 00001A53 3E 01 3616 LD A,1 - 00001A55 DD AE FE 3617 XOR (IX-2) - 00001A58 DD B6 FF 3618 OR (IX-1) - 00001A5B 28 1D 3619 JR Z,?0329 - 00001A5D 3620 ?0328: - 00001A5D 21 EC 05 3621 LD HL,?0330 - 00001A60 E5 3622 PUSH HL - 00001A61 21 00 00 3623 LD HL,stderr - 00001A64 E5 3624 PUSH HL - 00001A65 3E 00 3625 LD A,BYTE3 fprintf - 00001A67 21 00 00 3626 LD HL,LWRD fprintf - 00001A6A CD 00 00 3627 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001A6D F1 3628 POP AF - 00001A6E F1 3629 POP AF - 00001A6F 11 01 00 3630 LD DE,1 - 00001A72 3E 00 3631 LD A,BYTE3 exit - 00001A74 21 00 00 3632 LD HL,LWRD exit - 00001A77 CD 00 00 3633 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001A7A 3634 ?0329: - 00001A7A DD 6E FC 3635 LD L,(IX-4) - 00001A7D DD 66 FD 3636 LD H,(IX-3) - 00001A80 29 3637 ADD HL,HL - 00001A81 DD 4E 04 3638 LD C,(IX+4) - 00001A84 DD 46 05 3639 LD B,(IX+5) - 00001A87 09 3640 ADD HL,BC - 00001A88 4E 3641 LD C,(HL) - 00001A89 23 3642 INC HL - 00001A8A 46 3643 LD B,(HL) - 00001A8B 11 02 00 3644 LD DE,device_name - 00001A8E 3E 00 3645 LD A,BYTE3 strcpy - 00001A90 21 00 00 3646 LD HL,LWRD strcpy - 00001A93 CD 00 00 3647 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001A96 21 02 80 3648 LD HL,32770 - 00001A99 E5 3649 PUSH HL - 00001A9A 21 02 00 3650 LD HL,device_name - 00001A9D E5 3651 PUSH HL - 00001A9E 3E 00 3652 LD A,BYTE3 open - 00001AA0 21 00 00 3653 LD HL,LWRD open - 00001AA3 CD 00 00 3654 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001AA6 F1 3655 POP AF - 00001AA7 F1 3656 POP AF - 00001AA8 22 00 00 3657 LD (device_handle),HL - 00001AAB CB 7C 3658 BIT 7,H - 00001AAD 28 2E 3659 JR Z,?0332 - 00001AAF 3660 ?0331: - 00001AAF 21 05 06 3661 LD HL,?0333 - 00001AB2 E5 3662 PUSH HL - 00001AB3 3E 00 3663 LD A,BYTE3 printf - 00001AB5 21 00 00 3664 LD HL,LWRD printf - 00001AB8 CD 00 00 3665 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001ABB F1 3666 POP AF - 00001ABC 11 00 00 3667 LD DE,stdout - 00001ABF 3E 00 3668 LD A,BYTE3 fflush - 00001AC1 21 00 00 3669 LD HL,LWRD fflush - 00001AC4 CD 00 00 3670 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001AC7 11 02 00 3671 LD DE,device_name - 00001ACA 3E 00 3672 LD A,BYTE3 perror - 00001ACC 21 00 00 3673 LD HL,LWRD perror - 00001ACF CD 00 00 3674 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001AD2 11 01 00 3675 LD DE,1 - 00001AD5 3E 00 3676 LD A,BYTE3 exit - 00001AD7 21 00 00 3677 LD HL,LWRD exit - 00001ADA CD 00 00 3678 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001ADD 3679 ?0332: - 00001ADD 11 04 00 3680 LD DE,4 - 00001AE0 3E 29 3681 LD A,BYTE3 daread - 00001AE2 21 29 17 3682 LD HL,LWRD daread - 00001AE5 CD 00 00 3683 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001AE8 DD 75 F8 3684 LD (IX-8),L - 00001AEB DD 74 F9 3685 LD (IX-7),H - 00001AEE 01 1E 00 3686 LD BC,30 - 00001AF1 C5 3687 PUSH BC - 00001AF2 01 06 04 3688 LD BC,filsys - 00001AF5 EB 3689 EX DE,HL - 00001AF6 3E 00 3690 LD A,BYTE3 bcopy - 00001AF8 21 00 00 3691 LD HL,LWRD bcopy - 00001AFB CD 00 00 3692 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001AFE E1 3693 POP HL - 00001AFF 2A 06 04 3694 LD HL,(filsys) - 00001B02 01 C6 31 3695 LD BC,12742 - 00001B05 A7 3696 AND A - 00001B06 ED 42 3697 SBC HL,BC - 00001B08 28 5E 3698 JR Z,?0335 - 00001B0A 3699 ?0334: - 00001B0A 21 06 04 3700 LD HL,filsys - 00001B0D 4E 3701 LD C,(HL) - 00001B0E 23 3702 INC HL - 00001B0F 46 3703 LD B,(HL) - 00001B10 C5 3704 PUSH BC - 00001B11 2A 04 04 3705 LD HL,(dev) - 00001B14 E5 3706 PUSH HL - 00001B15 21 12 06 3707 LD HL,?0336 - 00001B18 E5 3708 PUSH HL - 00001B19 3E 00 3709 LD A,BYTE3 printf - 00001B1B 21 00 00 3710 LD HL,LWRD printf - 00001B1E CD 00 00 3711 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001B21 F1 3712 POP AF - 00001B22 F1 3713 POP AF - 00001B23 F1 3714 POP AF - 00001B24 3E 5A 3715 LD A,BYTE3 yes - 00001B26 21 5A 19 3716 LD HL,LWRD yes - 00001B29 CD 00 00 3717 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001B2C 7D 3718 LD A,L - 00001B2D B4 3719 OR H - 00001B2E 20 0B 3720 JR NZ,?0338 - 00001B30 3721 ?0337: - 00001B30 11 01 00 3722 LD DE,1 - 00001B33 3E 00 3723 LD A,BYTE3 exit - 00001B35 21 00 00 3724 LD HL,LWRD exit - 00001B38 CD 00 00 3725 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001B3B 3726 ?0338: - 00001B3B 21 C6 31 3727 LD HL,12742 - 00001B3E 22 06 04 3728 LD (filsys),HL - 00001B41 21 1E 00 3729 LD HL,30 - 00001B44 E5 3730 PUSH HL - 00001B45 DD 4E F8 3731 LD C,(IX-8) - 00001B48 DD 46 F9 3732 LD B,(IX-7) - 00001B4B 11 06 04 3733 LD DE,filsys - 00001B4E 3E 00 3734 LD A,BYTE3 bcopy - 00001B50 21 00 00 3735 LD HL,LWRD bcopy - 00001B53 CD 00 00 3736 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001B56 E1 3737 POP HL - 00001B57 DD 4E F8 3738 LD C,(IX-8) - 00001B5A DD 46 F9 3739 LD B,(IX-7) - 00001B5D 11 04 00 3740 LD DE,4 - 00001B60 3E 68 3741 LD A,BYTE3 dwrite - 00001B62 21 68 17 3742 LD HL,LWRD dwrite - 00001B65 CD 00 00 3743 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001B68 3744 ?0335: - 00001B68 2A 08 04 3745 LD HL,(filsys+2) - 00001B6B 01 FB FF 3746 LD BC,65531 - 00001B6E 09 3747 ADD HL,BC - 00001B6F E5 3748 PUSH HL - 00001B70 21 0A 04 3749 LD HL,filsys+4 - 00001B73 4E 3750 LD C,(HL) - 00001B74 23 3751 INC HL - 00001B75 46 3752 LD B,(HL) - 00001B76 C5 3753 PUSH BC - 00001B77 21 0C 04 3754 LD HL,filsys+6 - 00001B7A 4E 3755 LD C,(HL) - 00001B7B 23 3756 INC HL - 00001B7C 46 3757 LD B,(HL) - 00001B7D C5 3758 PUSH BC - 00001B7E 21 02 00 3759 LD HL,device_name - 00001B81 E5 3760 PUSH HL - 00001B82 21 3F 06 3761 LD HL,?0339 - 00001B85 E5 3762 PUSH HL - 00001B86 3E 00 3763 LD A,BYTE3 printf - 00001B88 21 00 00 3764 LD HL,LWRD printf - 00001B8B CD 00 00 3765 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001B8E F1 3766 POP AF - 00001B8F F1 3767 POP AF - 00001B90 F1 3768 POP AF - 00001B91 F1 3769 POP AF - 00001B92 F1 3770 POP AF - 00001B93 3E 5A 3771 LD A,BYTE3 yes - 00001B95 21 5A 19 3772 LD HL,LWRD yes - 00001B98 CD 00 00 3773 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001B9B 7D 3774 LD A,L - 00001B9C B4 3775 OR H - 00001B9D 20 0B 3776 JR NZ,?0341 - 00001B9F 3777 ?0340: - 00001B9F 11 01 00 3778 LD DE,1 - 00001BA2 3E 00 3779 LD A,BYTE3 exit - 00001BA4 21 00 00 3780 LD HL,LWRD exit - 00001BA7 CD 00 00 3781 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001BAA 3782 ?0341: - 00001BAA ED 4B 16 04 3783 LD BC,(filsys+16) - 00001BAE 2A 18 04 3784 LD HL,(filsys+18) - 00001BB1 A7 3785 AND A - 00001BB2 ED 42 3786 SBC HL,BC - 00001BB4 EB 3787 EX DE,HL - 00001BB5 3E 00 3788 LD A,BYTE3 malloc - 00001BB7 21 00 00 3789 LD HL,LWRD malloc - 00001BBA CD 00 00 3790 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001BBD 22 34 04 3791 LD (inode_bitmap),HL - 00001BC0 7D 3792 LD A,L - 00001BC1 B4 3793 OR H - 00001BC2 20 0B 3794 JR NZ,?0343 - 00001BC4 3795 ?0342: - 00001BC4 DD 36 FA 79 3796 LD (IX-6),LOW(?0344) - 00001BC8 DD 36 FB 06 3797 LD (IX-5),HIGH(?0344) - 00001BCC C3 50 1C 3798 JP LWRD ?0345 - 00001BCF 3799 ?0343: - 00001BCF ED 4B 16 04 3800 LD BC,(filsys+16) - 00001BD3 2A 18 04 3801 LD HL,(filsys+18) - 00001BD6 A7 3802 AND A - 00001BD7 ED 42 3803 SBC HL,BC - 00001BD9 E5 3804 PUSH HL - 00001BDA 0E 00 3805 LD C,0 - 00001BDC ED 5B 34 04 3806 LD DE,(inode_bitmap) - 00001BE0 3E 00 3807 LD A,BYTE3 bfill - 00001BE2 21 00 00 3808 LD HL,LWRD bfill - 00001BE5 CD 00 00 3809 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001BE8 E1 3810 POP HL - 00001BE9 ED 4B 18 04 3811 LD BC,(filsys+18) - 00001BED 2A 1A 04 3812 LD HL,(filsys+20) - 00001BF0 A7 3813 AND A - 00001BF1 ED 42 3814 SBC HL,BC - 00001BF3 EB 3815 EX DE,HL - 00001BF4 3E 00 3816 LD A,BYTE3 malloc - 00001BF6 21 00 00 3817 LD HL,LWRD malloc - 00001BF9 CD 00 00 3818 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001BFC 22 36 04 3819 LD (block_bitmap),HL - 00001BFF 7D 3820 LD A,L - 00001C00 B4 3821 OR H - 00001C01 20 0A 3822 JR NZ,?0347 - 00001C03 3823 ?0346: - 00001C03 DD 36 FA 86 3824 LD (IX-6),LOW(?0348) - 00001C07 DD 36 FB 06 3825 LD (IX-5),HIGH(?0348) - 00001C0B 18 43 3826 JR ?0345 - 00001C0D 3827 ?0347: - 00001C0D ED 4B 18 04 3828 LD BC,(filsys+18) - 00001C11 2A 1A 04 3829 LD HL,(filsys+20) - 00001C14 A7 3830 AND A - 00001C15 ED 42 3831 SBC HL,BC - 00001C17 E5 3832 PUSH HL - 00001C18 0E 00 3833 LD C,0 - 00001C1A ED 5B 36 04 3834 LD DE,(block_bitmap) - 00001C1E 3E 00 3835 LD A,BYTE3 bfill - 00001C20 21 00 00 3836 LD HL,LWRD bfill - 00001C23 CD 00 00 3837 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001C26 E1 3838 POP HL - 00001C27 2A 0A 04 3839 LD HL,(filsys+4) - 00001C2A 29 3840 ADD HL,HL - 00001C2B 29 3841 ADD HL,HL - 00001C2C 29 3842 ADD HL,HL - 00001C2D 22 24 04 3843 LD (ninodes),HL - 00001C30 ED 4B 08 04 3844 LD BC,(filsys+2) - 00001C34 ED 43 26 04 3845 LD (finode),BC - 00001C38 EB 3846 EX DE,HL - 00001C39 3E 00 3847 LD A,BYTE3 malloc - 00001C3B 21 00 00 3848 LD HL,LWRD malloc - 00001C3E CD 00 00 3849 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001C41 22 38 04 3850 LD (link_count),HL - 00001C44 7D 3851 LD A,L - 00001C45 B4 3852 OR H - 00001C46 20 2D 3853 JR NZ,?0350 - 00001C48 3854 ?0349: - 00001C48 DD 36 FA 93 3855 LD (IX-6),LOW(?0351) - 00001C4C DD 36 FB 06 3856 LD (IX-5),HIGH(?0351) - 00001C50 3857 ?0345: - 00001C50 DD 6E FA 3858 LD L,(IX-6) - 00001C53 DD 66 FB 3859 LD H,(IX-5) - 00001C56 E5 3860 PUSH HL - 00001C57 21 9F 06 3861 LD HL,?0352 - 00001C5A E5 3862 PUSH HL - 00001C5B 21 00 00 3863 LD HL,stderr - 00001C5E E5 3864 PUSH HL - 00001C5F 3E 00 3865 LD A,BYTE3 fprintf - 00001C61 21 00 00 3866 LD HL,LWRD fprintf - 00001C64 CD 00 00 3867 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001C67 F1 3868 POP AF - 00001C68 F1 3869 POP AF - 00001C69 F1 3870 POP AF - 00001C6A 11 01 00 3871 LD DE,1 - 00001C6D 3E 00 3872 LD A,BYTE3 exit - 00001C6F 21 00 00 3873 LD HL,LWRD exit - 00001C72 CD 00 00 3874 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001C75 3875 ?0350: - 00001C75 2A 24 04 3876 LD HL,(ninodes) - 00001C78 E5 3877 PUSH HL - 00001C79 0E 00 3878 LD C,0 - 00001C7B ED 5B 38 04 3879 LD DE,(link_count) - 00001C7F 3E 00 3880 LD A,BYTE3 bfill - 00001C81 21 00 00 3881 LD HL,LWRD bfill - 00001C84 CD 00 00 3882 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001C87 E1 3883 POP HL - 00001C88 21 BA 06 3884 LD HL,?0353 - 00001C8B E5 3885 PUSH HL - 00001C8C 3E 00 3886 LD A,BYTE3 printf - 00001C8E 21 00 00 3887 LD HL,LWRD printf - 00001C91 CD 00 00 3888 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001C94 F1 3889 POP AF - 00001C95 11 00 00 3890 LD DE,stdout - 00001C98 3E 00 3891 LD A,BYTE3 fflush - 00001C9A 21 00 00 3892 LD HL,LWRD fflush - 00001C9D CD 00 00 3893 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001CA0 3E 4A 3894 LD A,BYTE3 pass1 - 00001CA2 21 4A 01 3895 LD HL,LWRD pass1 - 00001CA5 CD 00 00 3896 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001CA8 21 D5 06 3897 LD HL,?0354 - 00001CAB E5 3898 PUSH HL - 00001CAC 3E 00 3899 LD A,BYTE3 printf - 00001CAE 21 00 00 3900 LD HL,LWRD printf - 00001CB1 CD 00 00 3901 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001CB4 F1 3902 POP AF - 00001CB5 11 00 00 3903 LD DE,stdout - 00001CB8 3E 00 3904 LD A,BYTE3 fflush - 00001CBA 21 00 00 3905 LD HL,LWRD fflush - 00001CBD CD 00 00 3906 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001CC0 3E 3F 3907 LD A,BYTE3 pass2 - 00001CC2 21 3F 06 3908 LD HL,LWRD pass2 - 00001CC5 CD 00 00 3909 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001CC8 21 F7 06 3910 LD HL,?0355 - 00001CCB E5 3911 PUSH HL - 00001CCC 3E 00 3912 LD A,BYTE3 printf - 00001CCE 21 00 00 3913 LD HL,LWRD printf - 00001CD1 CD 00 00 3914 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001CD4 F1 3915 POP AF - 00001CD5 11 00 00 3916 LD DE,stdout - 00001CD8 3E 00 3917 LD A,BYTE3 fflush - 00001CDA 21 00 00 3918 LD HL,LWRD fflush - 00001CDD CD 00 00 3919 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001CE0 3E E6 3920 LD A,BYTE3 pass3 - 00001CE2 21 E6 08 3921 LD HL,LWRD pass3 - 00001CE5 CD 00 00 3922 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001CE8 21 1B 07 3923 LD HL,?0356 - 00001CEB E5 3924 PUSH HL - 00001CEC 3E 00 3925 LD A,BYTE3 printf - 00001CEE 21 00 00 3926 LD HL,LWRD printf - 00001CF1 CD 00 00 3927 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001CF4 F1 3928 POP AF - 00001CF5 11 00 00 3929 LD DE,stdout - 00001CF8 3E 00 3930 LD A,BYTE3 fflush - 00001CFA 21 00 00 3931 LD HL,LWRD fflush - 00001CFD CD 00 00 3932 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001D00 3E AE 3933 LD A,BYTE3 pass4 - 00001D02 21 AE 10 3934 LD HL,LWRD pass4 - 00001D05 CD 00 00 3935 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001D08 21 40 07 3936 LD HL,?0357 - 00001D0B E5 3937 PUSH HL - 00001D0C 3E 00 3938 LD A,BYTE3 printf - 00001D0E 21 00 00 3939 LD HL,LWRD printf - 00001D11 CD 00 00 3940 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001D14 F1 3941 POP AF - 00001D15 11 00 00 3942 LD DE,stdout - 00001D18 3E 00 3943 LD A,BYTE3 fflush - 00001D1A 21 00 00 3944 LD HL,LWRD fflush - 00001D1D CD 00 00 3945 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001D20 3E C8 3946 LD A,BYTE3 pass5 - 00001D22 21 C8 11 3947 LD HL,LWRD pass5 - 00001D25 CD 00 00 3948 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001D28 ED 5B 00 00 3949 LD DE,(device_handle) - 00001D2C 3E 00 3950 LD A,BYTE3 close - 00001D2E 21 00 00 3951 LD HL,LWRD close - 00001D31 CD 00 00 3952 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001D34 21 5F 07 3953 LD HL,?0358 - 00001D37 E5 3954 PUSH HL - 00001D38 3E 00 3955 LD A,BYTE3 printf - 00001D3A 21 00 00 3956 LD HL,LWRD printf - 00001D3D CD 00 00 3957 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001D40 F1 3958 POP AF - 00001D41 11 00 00 3959 LD DE,0 - 00001D44 3E 00 3960 LD A,BYTE3 exit - 00001D46 21 00 00 3961 LD HL,LWRD exit - 00001D49 CD 00 00 3962 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001D4C C3 00 00 3963 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 00001D4F 3964 bitmap_dump: - 00001D4F CD 00 00 3965 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 00001D52 FA FF 3966 DEFW 65530 - 00001D54 DD 6E 0A 3967 LD L,(IX+10) - 00001D57 DD 66 0B 3968 LD H,(IX+11) - 00001D5A DD 75 FC 3969 LD (IX-4),L - 00001D5D DD 74 FD 3970 LD (IX-3),H - 00001D60 3971 ?0360: - 00001D60 DD 6E 10 3972 LD L,(IX+16) - 00001D63 DD 66 11 3973 LD H,(IX+17) - 00001D66 E5 3974 PUSH HL - 00001D67 DD 6E 0E 3975 LD L,(IX+14) - 00001D6A DD 66 0F 3976 LD H,(IX+15) - 00001D6D E5 3977 PUSH HL - 00001D6E DD 6E FC 3978 LD L,(IX-4) - 00001D71 DD 66 FD 3979 LD H,(IX-3) - 00001D74 01 00 00 3980 LD BC,0 - 00001D77 CD 00 00 3981 CALL LWRD ?SL_CMP_L03 - 00001D7A D2 42 1E 3982 JP NC,?0359 - 00001D7D 3983 ?0361: - 00001D7D DD 4E 0E 3984 LD C,(IX+14) - 00001D80 DD 46 0F 3985 LD B,(IX+15) - 00001D83 DD 6E FC 3986 LD L,(IX-4) - 00001D86 DD 66 FD 3987 LD H,(IX-3) - 00001D89 3E 02 3988 LD A,2 - 00001D8B 84 3989 ADD A,H - 00001D8C 67 3990 LD H,A - 00001D8D 7D 3991 LD A,L - 00001D8E E6 00 3992 AND 0 - 00001D90 5F 3993 LD E,A - 00001D91 7C 3994 LD A,H - 00001D92 E6 FE 3995 AND 254 - 00001D94 57 3996 LD D,A - 00001D95 3E 00 3997 LD A,BYTE3 int_min - 00001D97 21 00 00 3998 LD HL,LWRD int_min - 00001D9A CD 00 00 3999 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001D9D DD 75 FE 4000 LD (IX-2),L - 00001DA0 DD 74 FF 4001 LD (IX-1),H - 00001DA3 DD 4E FC 4002 LD C,(IX-4) - 00001DA6 DD 46 FD 4003 LD B,(IX-3) - 00001DA9 A7 4004 AND A - 00001DAA ED 42 4005 SBC HL,BC - 00001DAC 01 00 02 4006 LD BC,512 - 00001DAF A7 4007 AND A - 00001DB0 ED 42 4008 SBC HL,BC - 00001DB2 30 1B 4009 JR NC,?0363 - 00001DB4 4010 ?0362: - 00001DB4 06 09 4011 LD B,9 - 00001DB6 DD 5E FC 4012 LD E,(IX-4) - 00001DB9 DD 56 FD 4013 LD D,(IX-3) - 00001DBC CD 00 00 4014 CALL LWRD ?US_RSH_L02 - 00001DBF 3E 29 4015 LD A,BYTE3 daread - 00001DC1 21 29 17 4016 LD HL,LWRD daread - 00001DC4 CD 00 00 4017 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001DC7 DD 75 FA 4018 LD (IX-6),L - 00001DCA DD 74 FB 4019 LD (IX-5),H - 00001DCD 18 08 4020 JR ?0364 - 00001DCF 4021 ?0363: - 00001DCF DD 36 FA 02 4022 LD (IX-6),LOW(zeroed) - 00001DD3 DD 36 FB 02 4023 LD (IX-5),HIGH(zeroed) - 00001DD7 4024 ?0364: - 00001DD7 DD 4E FC 4025 LD C,(IX-4) - 00001DDA DD 46 FD 4026 LD B,(IX-3) - 00001DDD DD 6E FE 4027 LD L,(IX-2) - 00001DE0 DD 66 FF 4028 LD H,(IX-1) - 00001DE3 A7 4029 AND A - 00001DE4 ED 42 4030 SBC HL,BC - 00001DE6 E5 4031 PUSH HL - 00001DE7 79 4032 LD A,C - 00001DE8 E6 FF 4033 AND 255 - 00001DEA 6F 4034 LD L,A - 00001DEB 78 4035 LD A,B - 00001DEC E6 01 4036 AND 1 - 00001DEE 67 4037 LD H,A - 00001DEF DD 5E FA 4038 LD E,(IX-6) - 00001DF2 DD 56 FB 4039 LD D,(IX-5) - 00001DF5 19 4040 ADD HL,DE - 00001DF6 4D 4041 LD C,L - 00001DF7 44 4042 LD B,H - 00001DF8 DD 5E 0A 4043 LD E,(IX+10) - 00001DFB DD 56 0B 4044 LD D,(IX+11) - 00001DFE DD 6E FC 4045 LD L,(IX-4) - 00001E01 DD 66 FD 4046 LD H,(IX-3) - 00001E04 A7 4047 AND A - 00001E05 ED 52 4048 SBC HL,DE - 00001E07 DD 5E 02 4049 LD E,(IX+2) - 00001E0A DD 56 03 4050 LD D,(IX+3) - 00001E0D 19 4051 ADD HL,DE - 00001E0E EB 4052 EX DE,HL - 00001E0F 3E 00 4053 LD A,BYTE3 bcopy - 00001E11 21 00 00 4054 LD HL,LWRD bcopy - 00001E14 CD 00 00 4055 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001E17 E1 4056 POP HL - 00001E18 DD 4E FA 4057 LD C,(IX-6) - 00001E1B DD 46 FB 4058 LD B,(IX-5) - 00001E1E C5 4059 PUSH BC - 00001E1F 06 09 4060 LD B,9 - 00001E21 DD 5E FC 4061 LD E,(IX-4) - 00001E24 DD 56 FD 4062 LD D,(IX-3) - 00001E27 CD 00 00 4063 CALL LWRD ?US_RSH_L02 - 00001E2A 3E 68 4064 LD A,BYTE3 dwrite - 00001E2C 21 68 17 4065 LD HL,LWRD dwrite - 00001E2F C1 4066 POP BC - 00001E30 CD 00 00 4067 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001E33 DD 6E FE 4068 LD L,(IX-2) - 00001E36 DD 66 FF 4069 LD H,(IX-1) - 00001E39 DD 75 FC 4070 LD (IX-4),L - 00001E3C DD 74 FD 4071 LD (IX-3),H - 00001E3F C3 60 1D 4072 JP LWRD ?0360 - 00001E42 4073 ?0359: - 00001E42 C3 00 00 4074 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 00001E45 4075 bitmap_find: - 00001E45 CD 00 00 4076 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 00001E48 F4 FF 4077 DEFW 65524 - 00001E4A DD 6E 02 4078 LD L,(IX+2) - 00001E4D DD 66 03 4079 LD H,(IX+3) - 00001E50 DD 75 FA 4080 LD (IX-6),L - 00001E53 DD 74 FB 4081 LD (IX-5),H - 00001E56 4082 ?0366: - 00001E56 DD 4E 04 4083 LD C,(IX+4) - 00001E59 DD 46 05 4084 LD B,(IX+5) - 00001E5C DD 6E FA 4085 LD L,(IX-6) - 00001E5F DD 66 FB 4086 LD H,(IX-5) - 00001E62 A7 4087 AND A - 00001E63 ED 42 4088 SBC HL,BC - 00001E65 D2 91 1F 4089 JP NC,?0365 - 00001E68 4090 ?0367: - 00001E68 DD 4E 04 4091 LD C,(IX+4) - 00001E6B DD 46 05 4092 LD B,(IX+5) - 00001E6E DD 6E FA 4093 LD L,(IX-6) - 00001E71 DD 66 FB 4094 LD H,(IX-5) - 00001E74 3E 02 4095 LD A,2 - 00001E76 84 4096 ADD A,H - 00001E77 67 4097 LD H,A - 00001E78 7D 4098 LD A,L - 00001E79 E6 00 4099 AND 0 - 00001E7B 5F 4100 LD E,A - 00001E7C 7C 4101 LD A,H - 00001E7D E6 FE 4102 AND 254 - 00001E7F 57 4103 LD D,A - 00001E80 3E 00 4104 LD A,BYTE3 int_min - 00001E82 21 00 00 4105 LD HL,LWRD int_min - 00001E85 CD 00 00 4106 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001E88 DD 75 FC 4107 LD (IX-4),L - 00001E8B DD 74 FD 4108 LD (IX-3),H - 00001E8E 06 09 4109 LD B,9 - 00001E90 DD 5E FA 4110 LD E,(IX-6) - 00001E93 DD 56 FB 4111 LD D,(IX-5) - 00001E96 CD 00 00 4112 CALL LWRD ?US_RSH_L02 - 00001E99 3E 29 4113 LD A,BYTE3 daread - 00001E9B 21 29 17 4114 LD HL,LWRD daread - 00001E9E CD 00 00 4115 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001EA1 DD 75 F4 4116 LD (IX-12),L - 00001EA4 DD 74 F5 4117 LD (IX-11),H - 00001EA7 DD 7E FA 4118 LD A,(IX-6) - 00001EAA E6 FF 4119 AND 255 - 00001EAC 4F 4120 LD C,A - 00001EAD DD 7E FB 4121 LD A,(IX-5) - 00001EB0 E6 01 4122 AND 1 - 00001EB2 47 4123 LD B,A - 00001EB3 09 4124 ADD HL,BC - 00001EB4 DD 75 F6 4125 LD (IX-10),L - 00001EB7 DD 74 F7 4126 LD (IX-9),H - 00001EBA DD 6E FA 4127 LD L,(IX-6) - 00001EBD DD 66 FB 4128 LD H,(IX-5) - 00001EC0 DD 75 F8 4129 LD (IX-8),L - 00001EC3 DD 74 F9 4130 LD (IX-7),H - 00001EC6 4131 ?0369: - 00001EC6 DD 4E FC 4132 LD C,(IX-4) - 00001EC9 DD 46 FD 4133 LD B,(IX-3) - 00001ECC DD 6E F8 4134 LD L,(IX-8) - 00001ECF DD 66 F9 4135 LD H,(IX-7) - 00001ED2 A7 4136 AND A - 00001ED3 ED 42 4137 SBC HL,BC - 00001ED5 D2 82 1F 4138 JP NC,?0368 - 00001ED8 4139 ?0370: - 00001ED8 DD 6E F6 4140 LD L,(IX-10) - 00001EDB DD 66 F7 4141 LD H,(IX-9) - 00001EDE 46 4142 LD B,(HL) - 00001EDF 04 4143 INC B - 00001EE0 CA 6F 1F 4144 JP Z,?0373 - 00001EE3 4145 ?0372: - 00001EE3 DD 4E 02 4146 LD C,(IX+2) - 00001EE6 DD 46 03 4147 LD B,(IX+3) - 00001EE9 DD 6E F8 4148 LD L,(IX-8) - 00001EEC DD 66 F9 4149 LD H,(IX-7) - 00001EEF A7 4150 AND A - 00001EF0 ED 42 4151 SBC HL,BC - 00001EF2 29 4152 ADD HL,HL - 00001EF3 29 4153 ADD HL,HL - 00001EF4 29 4154 ADD HL,HL - 00001EF5 DD 75 FE 4155 LD (IX-2),L - 00001EF8 DD 74 FF 4156 LD (IX-1),H - 00001EFB AF 4157 XOR A - 00001EFC DD 77 F8 4158 LD (IX-8),A - 00001EFF DD 77 F9 4159 LD (IX-7),A - 00001F02 4160 ?0375: - 00001F02 01 07 00 4161 LD BC,7 - 00001F05 DD 6E F8 4162 LD L,(IX-8) - 00001F08 DD 66 F9 4163 LD H,(IX-7) - 00001F0B A7 4164 AND A - 00001F0C ED 42 4165 SBC HL,BC - 00001F0E 30 1D 4166 JR NC,?0374 - 00001F10 4167 ?0376: - 00001F10 DD 6E F6 4168 LD L,(IX-10) - 00001F13 DD 66 F7 4169 LD H,(IX-9) - 00001F16 DD 46 F8 4170 LD B,(IX-8) - 00001F19 3E 01 4171 LD A,1 - 00001F1B CD 00 00 4172 CALL LWRD ?C_LSH_L01 - 00001F1E A6 4173 AND (HL) - 00001F1F 20 02 4174 JR NZ,?0379 - 00001F21 4175 ?0378: - 00001F21 18 0A 4176 JR ?0374 - 00001F23 4177 ?0379: - 00001F23 DD 34 F8 4178 INC (IX-8) - 00001F26 20 03 4179 JR NZ,?0401 - 00001F28 DD 34 F9 4180 INC (IX-7) - 00001F2B 4181 ?0401: - 00001F2B 18 D5 4182 JR ?0375 - 00001F2D 4183 ?0374: - 00001F2D 21 0A 00 4184 LD HL,10 - 00001F30 39 4185 ADD HL,SP - 00001F31 7E 4186 LD A,(HL) - 00001F32 DD 86 F8 4187 ADD A,(IX-8) - 00001F35 77 4188 LD (HL),A - 00001F36 23 4189 INC HL - 00001F37 7E 4190 LD A,(HL) - 00001F38 DD 8E F9 4191 ADC A,(IX-7) - 00001F3B 77 4192 LD (HL),A - 00001F3C DD 6E F6 4193 LD L,(IX-10) - 00001F3F DD 66 F7 4194 LD H,(IX-9) - 00001F42 DD 46 F8 4195 LD B,(IX-8) - 00001F45 3E 01 4196 LD A,1 - 00001F47 CD 00 00 4197 CALL LWRD ?C_LSH_L01 - 00001F4A B6 4198 OR (HL) - 00001F4B 77 4199 LD (HL),A - 00001F4C DD 4E F4 4200 LD C,(IX-12) - 00001F4F DD 46 F5 4201 LD B,(IX-11) - 00001F52 C5 4202 PUSH BC - 00001F53 06 09 4203 LD B,9 - 00001F55 DD 5E FA 4204 LD E,(IX-6) - 00001F58 DD 56 FB 4205 LD D,(IX-5) - 00001F5B CD 00 00 4206 CALL LWRD ?US_RSH_L02 - 00001F5E 3E 68 4207 LD A,BYTE3 dwrite - 00001F60 21 68 17 4208 LD HL,LWRD dwrite - 00001F63 C1 4209 POP BC - 00001F64 CD 00 00 4210 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001F67 DD 6E FE 4211 LD L,(IX-2) - 00001F6A DD 66 FF 4212 LD H,(IX-1) - 00001F6D 18 25 4213 JR ?0380 - 00001F6F 4214 ?0373: - 00001F6F DD 34 F6 4215 INC (IX-10) - 00001F72 20 03 4216 JR NZ,?0402 - 00001F74 DD 34 F7 4217 INC (IX-9) - 00001F77 4218 ?0402: - 00001F77 DD 34 F8 4219 INC (IX-8) - 00001F7A 20 03 4220 JR NZ,?0403 - 00001F7C DD 34 F9 4221 INC (IX-7) - 00001F7F 4222 ?0403: - 00001F7F C3 C6 1E 4223 JP LWRD ?0369 - 00001F82 4224 ?0368: - 00001F82 DD 6E FC 4225 LD L,(IX-4) - 00001F85 DD 66 FD 4226 LD H,(IX-3) - 00001F88 DD 75 FA 4227 LD (IX-6),L - 00001F8B DD 74 FB 4228 LD (IX-5),H - 00001F8E C3 56 1E 4229 JP LWRD ?0366 - 00001F91 4230 ?0365: - 00001F91 21 FF FF 4231 LD HL,65535 - 00001F94 4232 ?0380: - 00001F94 C3 00 00 4233 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 00001F97 4234 mypanic: - 00001F97 CD 00 00 4235 CALL LWRD ?ENT_PARM_DIRECT_L09 - 00001F9A D5 4236 PUSH DE - 00001F9B 21 67 07 4237 LD HL,?0381 - 00001F9E E5 4238 PUSH HL - 00001F9F 3E 00 4239 LD A,BYTE3 printf - 00001FA1 21 00 00 4240 LD HL,LWRD printf - 00001FA4 CD 00 00 4241 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001FA7 F1 4242 POP AF - 00001FA8 F1 4243 POP AF - 00001FA9 11 00 00 4244 LD DE,stdout - 00001FAC 3E 00 4245 LD A,BYTE3 fflush - 00001FAE 21 00 00 4246 LD HL,LWRD fflush - 00001FB1 CD 00 00 4247 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001FB4 11 01 00 4248 LD DE,1 - 00001FB7 3E 00 4249 LD A,BYTE3 exit - 00001FB9 21 00 00 4250 LD HL,LWRD exit - 00001FBC CD 00 00 4251 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00001FBF C3 00 00 4252 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 4253 RSEG CSTR - 00000000 4254 ?0004: - 00000000 63 61 6E 27 74 20 73 4255 DEFB 'can''t seek: ' - 65 65 6B 3A 20 - 0000000C 00 4256 DEFB 0 - 0000000D 4257 ?0007: - 0000000D 63 61 6E 27 74 20 72 4258 DEFB 'can''t read: ' - 65 61 64 3A 20 - 00000019 00 4259 DEFB 0 - 0000001A 4260 ?0012: - 0000001A 63 61 6E 27 74 20 77 4261 DEFB 'can''t write: ' - 72 69 74 65 3A 20 - 00000027 00 4262 DEFB 0 - 00000028 4263 ?0023: - 00000028 49 6E 6F 64 65 20 25 4264 DEFB 'Inode %d with mode 0%o is not of correct type. Zap? ' - 64 20 77 69 74 68 20 - 6D 6F 64 65 20 30 25 - 6F 20 69 73 20 6E 6F - 74 20 6F 66 20 63 6F - 72 72 65 63 74 20 74 - 79 70 65 2E 20 5A 61 - 70 3F 20 - 0000005C 00 4265 DEFB 0 - 0000005D 4266 ?0039: - 0000005D 49 6E 6F 64 65 20 25 4267 DEFB 'Inode %d singly indirect block %d is out of range with value of' - 64 20 73 69 6E 67 6C - 79 20 69 6E 64 69 72 - 65 63 74 20 62 6C 6F - 63 6B 20 25 64 20 69 - 73 20 6F 75 74 20 6F - 66 20 72 61 6E 67 65 - 20 77 69 74 68 20 76 - 61 6C 75 65 20 6F 66 - 0000009C 20 25 75 2E 20 5A 61 4268 DEFB ' %u. Zap? ' - 70 3F 20 - 000000A6 00 4269 DEFB 0 - 000000A7 4270 ?0046: - 000000A7 49 6E 6F 64 65 20 25 4271 DEFB 'Inode %d singly indirect block %d is past end of file with valu' - 64 20 73 69 6E 67 6C - 79 20 69 6E 64 69 72 - 65 63 74 20 62 6C 6F - 63 6B 20 25 64 20 69 - 73 20 70 61 73 74 20 - 65 6E 64 20 6F 66 20 - 66 69 6C 65 20 77 69 - 74 68 20 76 61 6C 75 - 000000E6 65 20 6F 66 20 25 75 4272 DEFB 'e of %u. Zap? ' - 2E 20 5A 61 70 3F 20 - 000000F4 00 4273 DEFB 0 - 000000F5 4274 ?0062: - 000000F5 49 6E 6F 64 65 20 25 4275 DEFB 'Inode %d doubly indirect block %d is out of range with value of' - 64 20 64 6F 75 62 6C - 79 20 69 6E 64 69 72 - 65 63 74 20 62 6C 6F - 63 6B 20 25 64 20 69 - 73 20 6F 75 74 20 6F - 66 20 72 61 6E 67 65 - 20 77 69 74 68 20 76 - 61 6C 75 65 20 6F 66 - 00000134 20 25 75 2E 20 5A 61 4276 DEFB ' %u. Zap? ' - 70 3F 20 - 0000013E 00 4277 DEFB 0 - 0000013F 4278 ?0076: - 0000013F 49 6E 6F 64 65 20 25 4279 DEFB 'Inode %d block %d is out of range with value of %u. Zap? ' - 64 20 62 6C 6F 63 6B - 20 25 64 20 69 73 20 - 6F 75 74 20 6F 66 20 - 72 61 6E 67 65 20 77 - 69 74 68 20 76 61 6C - 75 65 20 6F 66 20 25 - 75 2E 20 5A 61 70 3F - 20 - 00000178 00 4280 DEFB 0 - 00000179 4281 ?0083: - 00000179 46 72 65 65 20 69 6E 4282 DEFB 'Free inode count in super block is %u should be %u. Fix? ' - 6F 64 65 20 63 6F 75 - 6E 74 20 69 6E 20 73 - 75 70 65 72 20 62 6C - 6F 63 6B 20 69 73 20 - 25 75 20 73 68 6F 75 - 6C 64 20 62 65 20 25 - 75 2E 20 46 69 78 3F - 20 - 000001B2 00 4283 DEFB 0 - 000001B3 4284 ?0086: - 000001B3 20 20 20 20 20 20 20 4285 DEFB ' Rebuild free bitmaps? ' - 20 52 65 62 75 69 6C - 64 20 66 72 65 65 20 - 62 69 74 6D 61 70 73 - 3F 20 - 000001D1 00 4286 DEFB 0 - 000001D2 4287 ?0115: - 000001D2 44 75 72 69 6E 67 20 4288 DEFB 'During free list regeneration s_tfree was changed to %d from %d' - 66 72 65 65 20 6C 69 - 73 74 20 72 65 67 65 - 6E 65 72 61 74 69 6F - 6E 20 73 5F 74 66 72 - 65 65 20 77 61 73 20 - 63 68 61 6E 67 65 64 - 20 74 6F 20 25 64 20 - 66 72 6F 6D 20 25 64 - 00000211 2E 4289 DEFB '.' - 00000212 0A 00 4290 DEFB 10,0 - 00000214 4291 ?0135: - 00000214 49 6E 64 69 72 65 63 4292 DEFB 'Indirect block %d in inode %u value %u multiply allocated. Fix?' - 74 20 62 6C 6F 63 6B - 20 25 64 20 69 6E 20 - 69 6E 6F 64 65 20 25 - 75 20 76 61 6C 75 65 - 20 25 75 20 6D 75 6C - 74 69 70 6C 79 20 61 - 6C 6C 6F 63 61 74 65 - 64 2E 20 46 69 78 3F - 00000253 20 4293 DEFB ' ' - 00000254 00 4294 DEFB 0 - 00000255 4295 ?0140: - 00000255 53 6F 72 72 79 2E 2E 4296 DEFB 'Sorry... No more free blocks.' - 2E 20 4E 6F 20 6D 6F - 72 65 20 66 72 65 65 - 20 62 6C 6F 63 6B 73 - 2E - 00000272 0A 00 4297 DEFB 10,0 - 00000274 4298 ?0151: - 00000274 42 6C 6F 63 6B 20 25 4299 DEFB 'Block %d in inode %u value %u multiply allocated. Fix? ' - 64 20 69 6E 20 69 6E - 6F 64 65 20 25 75 20 - 76 61 6C 75 65 20 25 - 75 20 6D 75 6C 74 69 - 70 6C 79 20 61 6C 6C - 6F 63 61 74 65 64 2E - 20 46 69 78 3F 20 - 000002AB 00 4300 DEFB 0 - 000002AC 4301 ?0162: - 000002AC 44 69 72 65 63 74 6F 4302 DEFB 'Directory inode %d has improper length (%d extra). Fix? ' - 72 79 20 69 6E 6F 64 - 65 20 25 64 20 68 61 - 73 20 69 6D 70 72 6F - 70 65 72 20 6C 65 6E - 67 74 68 20 28 25 64 - 20 65 78 74 72 61 29 - 2E 20 46 69 78 3F 20 - 000002E4 00 4303 DEFB 0 - 000002E5 4304 ?0175: - 000002E5 44 69 72 65 63 74 6F 4305 DEFB 'Directory entry %s%-1.14s has out-of-range inode %u. Zap? ' - 72 79 20 65 6E 74 72 - 79 20 25 73 25 2D 31 - 2E 31 34 73 20 68 61 - 73 20 6F 75 74 2D 6F - 66 2D 72 61 6E 67 65 - 20 69 6E 6F 64 65 20 - 25 75 2E 20 5A 61 70 - 3F 20 - 0000031F 00 4306 DEFB 0 - 00000320 4307 ?0182: - 00000320 44 69 72 65 63 74 6F 4308 DEFB 'Directory entry %s%-1.14s points to bogus inode %u. Zap? ' - 72 79 20 65 6E 74 72 - 79 20 25 73 25 2D 31 - 2E 31 34 73 20 70 6F - 69 6E 74 73 20 74 6F - 20 62 6F 67 75 73 20 - 69 6E 6F 64 65 20 25 - 75 2E 20 5A 61 70 3F - 20 - 00000359 00 4309 DEFB 0 - 0000035A 4310 ?0187: - 0000035A 4D 6F 72 65 20 74 68 4311 DEFB 'More than 254 links to inode %u.' - 61 6E 20 32 35 34 20 - 6C 69 6E 6B 73 20 74 - 6F 20 69 6E 6F 64 65 - 20 25 75 2E - 0000037A 0A 4312 DEFB 10 - 0000037B 4E 6F 74 20 65 6E 6F 4313 DEFB 'Not enough memory. FSCK aborted.' - 75 67 68 20 6D 65 6D - 6F 72 79 2E 20 46 53 - 43 4B 20 61 62 6F 72 - 74 65 64 2E - 0000039B 0A 00 4314 DEFB 10,0 - 0000039D 4315 ?0195: - 0000039D 44 69 72 65 63 74 6F 4316 DEFB 'Directory entry %s%-1.14s contains slash. Fix? ' - 72 79 20 65 6E 74 72 - 79 20 25 73 25 2D 31 - 2E 31 34 73 20 63 6F - 6E 74 61 69 6E 73 20 - 73 6C 61 73 68 2E 20 - 46 69 78 3F 20 - 000003CC 00 4317 DEFB 0 - 000003CD 4318 ?0200: - 000003CD 2E 4319 DEFB '.' - 000003CE 00 4320 DEFB 0 - 000003CF 4321 ?0203: - 000003CF 27 2E 27 20 65 6E 74 4322 DEFB '''.'' entry %s%-1.*s points to wrong place. Fix? ' - 72 79 20 25 73 25 2D - 31 2E 2A 73 20 70 6F - 69 6E 74 73 20 74 6F - 20 77 72 6F 6E 67 20 - 70 6C 61 63 65 2E 20 - 46 69 78 3F 20 - 000003FE 00 4323 DEFB 0 - 000003FF 4324 ?0208: - 000003FF 2E 2E 4325 DEFB '..' - 00000401 00 4326 DEFB 0 - 00000402 4327 ?0211: - 00000402 27 2E 2E 27 20 65 6E 4328 DEFB '''..'' entry %s%-1.*s points to wrong place. Fix? ' - 74 72 79 20 25 73 25 - 2D 31 2E 2A 73 20 70 - 6F 69 6E 74 73 20 74 - 6F 20 77 72 6F 6E 67 - 20 70 6C 61 63 65 2E - 20 46 69 78 3F 20 - 00000432 00 4329 DEFB 0 - 00000433 4330 ?0218: - 00000433 2F 4331 DEFB '/' - 00000434 00 4332 DEFB 0 - 00000435 4333 ?0222: - 00000435 49 6E 63 6F 6E 73 69 4334 DEFB 'Inconsistent depth' - 73 74 65 6E 74 20 64 - 65 70 74 68 - 00000447 00 4335 DEFB 0 - 00000448 4336 ?0230: - 00000448 6C 5F 66 25 64 4337 DEFB 'l_f%d' - 0000044D 00 4338 DEFB 0 - 0000044E 4339 ?0231: - 0000044E 53 6F 72 72 79 2E 2E 4340 DEFB 'Sorry... No empty slots in root directory.' - 2E 20 4E 6F 20 65 6D - 70 74 79 20 73 6C 6F - 74 73 20 69 6E 20 72 - 6F 6F 74 20 64 69 72 - 65 63 74 6F 72 79 2E - 00000478 0A 00 4341 DEFB 10,0 - 0000047A 4342 ?0240: - 0000047A 49 6E 63 6F 6E 73 69 4343 DEFB 'Inconsistent link count' - 73 74 65 6E 74 20 6C - 69 6E 6B 20 63 6F 75 - 6E 74 - 00000491 00 4344 DEFB 0 - 00000492 4345 ?0250: - 00000492 49 6E 6F 64 65 20 25 4346 DEFB 'Inode %d has link count %d should be %d. Fix? ' - 64 20 68 61 73 20 6C - 69 6E 6B 20 63 6F 75 - 6E 74 20 25 64 20 73 - 68 6F 75 6C 64 20 62 - 65 20 25 64 2E 20 46 - 69 78 3F 20 - 000004C0 00 4347 DEFB 0 - 000004C1 4348 ?0259: - 000004C1 55 73 65 6C 65 73 73 4349 DEFB 'Useless inode %d with mode 0%o has become detached. Link count ' - 20 69 6E 6F 64 65 20 - 25 64 20 77 69 74 68 - 20 6D 6F 64 65 20 30 - 25 6F 20 68 61 73 20 - 62 65 63 6F 6D 65 20 - 64 65 74 61 63 68 65 - 64 2E 20 4C 69 6E 6B - 20 63 6F 75 6E 74 20 - 00000500 69 73 20 25 64 2E 20 4350 DEFB 'is %d. Zap? ' - 5A 61 70 3F 20 - 0000050C 00 4351 DEFB 0 - 0000050D 4352 ?0263: - 0000050D 49 6E 6F 64 65 20 25 4353 DEFB 'Inode %d has become detached. Link count is %d. Fix? ' - 64 20 68 61 73 20 62 - 65 63 6F 6D 65 20 64 - 65 74 61 63 68 65 64 - 2E 20 4C 69 6E 6B 20 - 63 6F 75 6E 74 20 69 - 73 20 25 64 2E 20 46 - 69 78 3F 20 - 00000542 00 4354 DEFB 0 - 00000543 4355 ?0282: - 00000543 4D 69 73 73 69 6E 67 4356 DEFB 'Missing indirect block' - 20 69 6E 64 69 72 65 - 63 74 20 62 6C 6F 63 - 6B - 00000559 00 4357 DEFB 0 - 0000055A 4358 ?0294: - 0000055A 46 72 65 65 20 6C 69 4359 DEFB 'Free list is corrupt. Did you rebuild it?' - 73 74 20 69 73 20 63 - 6F 72 72 75 70 74 2E - 20 20 44 69 64 20 79 - 6F 75 20 72 65 62 75 - 69 6C 64 20 69 74 3F - 00000584 0A 00 4360 DEFB 10,0 - 00000586 4361 ?0299: - 00000586 52 65 61 64 20 6F 66 4362 DEFB 'Read of block %d failed.' - 20 62 6C 6F 63 6B 20 - 25 64 20 66 61 69 6C - 65 64 2E - 0000059E 0A 00 4363 DEFB 10,0 - 000005A0 4364 ?0302: - 000005A0 57 72 69 74 65 20 6F 4365 DEFB 'Write of block %d failed.' - 66 20 62 6C 6F 63 6B - 20 25 64 20 66 61 69 - 6C 65 64 2E - 000005B9 0A 00 4366 DEFB 10,0 - 000005BB 4367 ?0305: - 000005BB 4D 69 73 73 69 6E 67 4368 DEFB 'Missing block in directory' - 20 62 6C 6F 63 6B 20 - 69 6E 20 64 69 72 65 - 63 74 6F 72 79 - 000005D5 00 4369 DEFB 0 - 000005D6 4370 ?0310: - 000005D6 59 4371 DEFB 'Y' - 000005D7 0A 00 4372 DEFB 10,0 - 000005D9 4373 ?0327: - 000005D9 49 6C 6C 65 67 61 6C 4374 DEFB 'Illegal switch %s' - 20 73 77 69 74 63 68 - 20 25 73 - 000005EA 0A 00 4375 DEFB 10,0 - 000005EC 4376 ?0330: - 000005EC 75 73 61 67 65 3A 20 4377 DEFB 'usage: fsck [-y] device' - 66 73 63 6B 20 5B 2D - 79 5D 20 64 65 76 69 - 63 65 - 00000603 0A 00 4378 DEFB 10,0 - 00000605 4379 ?0333: - 00000605 63 61 6E 27 74 20 6F 4380 DEFB 'can''t open: ' - 70 65 6E 3A 20 - 00000611 00 4381 DEFB 0 - 00000612 4382 ?0336: - 00000612 44 65 76 69 63 65 20 4383 DEFB 'Device %x has invalid magic number %d. Fix? ' - 25 78 20 68 61 73 20 - 69 6E 76 61 6C 69 64 - 20 6D 61 67 69 63 20 - 6E 75 6D 62 65 72 20 - 25 64 2E 20 46 69 78 - 3F 20 - 0000063E 00 4384 DEFB 0 - 0000063F 4385 ?0339: - 0000063F 0A 4386 DEFB 10 - 00000640 43 68 65 63 6B 69 6E 4387 DEFB 'Checking %s with fsize %u, isize %u, rsize %u. Confirm? ' - 67 20 25 73 20 77 69 - 74 68 20 66 73 69 7A - 65 20 25 75 2C 20 69 - 73 69 7A 65 20 25 75 - 2C 20 72 73 69 7A 65 - 20 25 75 2E 20 43 6F - 6E 66 69 72 6D 3F 20 - 00000678 00 4388 DEFB 0 - 00000679 4389 ?0344: - 00000679 69 6E 6F 64 65 20 62 4390 DEFB 'inode bitmap' - 69 74 6D 61 70 - 00000685 00 4391 DEFB 0 - 00000686 4392 ?0348: - 00000686 62 6C 6F 63 6B 20 62 4393 DEFB 'block bitmap' - 69 74 6D 61 70 - 00000692 00 4394 DEFB 0 - 00000693 4395 ?0351: - 00000693 6C 69 6E 6B 20 63 6F 4396 DEFB 'link counts' - 75 6E 74 73 - 0000069E 00 4397 DEFB 0 - 0000069F 4398 ?0352: - 0000069F 4E 6F 74 20 65 6E 6F 4399 DEFB 'Not enough memory for %s.' - 75 67 68 20 6D 65 6D - 6F 72 79 20 66 6F 72 - 20 25 73 2E - 000006B8 0A 00 4400 DEFB 10,0 - 000006BA 4401 ?0353: - 000006BA 0A 4402 DEFB 10 - 000006BB 50 61 73 73 20 31 3A 4403 DEFB 'Pass 1: Checking inodes.' - 20 43 68 65 63 6B 69 - 6E 67 20 69 6E 6F 64 - 65 73 2E - 000006D3 0A 00 4404 DEFB 10,0 - 000006D5 4405 ?0354: - 000006D5 50 61 73 73 20 32 3A 4406 DEFB 'Pass 2: Rebuilding free bitmaps.' - 20 52 65 62 75 69 6C - 64 69 6E 67 20 66 72 - 65 65 20 62 69 74 6D - 61 70 73 2E - 000006F5 0A 00 4407 DEFB 10,0 - 000006F7 4408 ?0355: - 000006F7 50 61 73 73 20 33 3A 4409 DEFB 'Pass 3: Checking block allocation.' - 20 43 68 65 63 6B 69 - 6E 67 20 62 6C 6F 63 - 6B 20 61 6C 6C 6F 63 - 61 74 69 6F 6E 2E - 00000719 0A 00 4410 DEFB 10,0 - 0000071B 4411 ?0356: - 0000071B 50 61 73 73 20 34 3A 4412 DEFB 'Pass 4: Checking directory entries.' - 20 43 68 65 63 6B 69 - 6E 67 20 64 69 72 65 - 63 74 6F 72 79 20 65 - 6E 74 72 69 65 73 2E - 0000073E 0A 00 4413 DEFB 10,0 - 00000740 4414 ?0357: - 00000740 50 61 73 73 20 35 3A 4415 DEFB 'Pass 5: Checking link counts.' - 20 43 68 65 63 6B 69 - 6E 67 20 6C 69 6E 6B - 20 63 6F 75 6E 74 73 - 2E - 0000075D 0A 00 4416 DEFB 10,0 - 0000075F 4417 ?0358: - 0000075F 44 6F 6E 65 2E 4418 DEFB 'Done.' - 00000764 0A 0A 00 4419 DEFB 10,10,0 - 00000767 4420 ?0381: - 00000767 50 41 4E 49 43 3A 20 4421 DEFB 'PANIC: %s' - 25 73 - 00000770 00 4422 DEFB 0 - 4423 RSEG UDATA0 - 00000000 4424 device_handle: - 00000000 4425 DEFS 2 - 00000002 4426 device_name: - 00000002 4427 DEFS 512 - 00000202 4428 zeroed: - 00000202 4429 DEFS 512 - 00000402 4430 depth: - 00000402 4431 DEFS 2 - 00000404 4432 dev: - 00000404 4433 DEFS 2 - 00000406 4434 filsys: - 00000406 4435 DEFS 30 - 00000424 4436 ninodes: - 00000424 4437 DEFS 2 - 00000426 4438 finode: - 00000426 4439 DEFS 2 - 00000428 4440 bitmap_inode: - 00000428 4441 DEFS 4 - 0000042C 4442 bitmap_block: - 0000042C 4443 DEFS 4 - 00000430 4444 bitmap_immov: - 00000430 4445 DEFS 4 - 00000434 4446 inode_bitmap: - 00000434 4447 DEFS 2 - 00000436 4448 block_bitmap: - 00000436 4449 DEFS 2 - 00000438 4450 link_count: - 00000438 4451 DEFS 2 - 0000043A 4452 ?0296: - 0000043A 4453 DEFS 512 - 4454 RSEG IDATA0 - 00000000 4455 _yes: - 00000000 4456 DEFS 2 - 4457 RSEG CDATA0 - 00000000 00 00 4458 DEFW 0 - 00000002 4459 END - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. -Hexadecimal [32-Bits] -fsck(17) -Symbol Table - - .__.ABS. = 00000000 G | 1 ?0002 00000026 R - 1 ?0003 00000054 R | 2 ?0004 00000000 R - 1 ?0005 00000071 R | 1 ?0006 0000009F R - 2 ?0007 0000000D R | 1 ?0008 000000CB R - 1 ?0009 000000F9 R | 1 ?0010 00000116 R - 1 ?0011 00000144 R | 2 ?0012 0000001A R - 1 ?0013 000005DD R | 1 ?0014 0000015E R - 1 ?0015 0000016E R | 1 ?0016 00000199 R - 1 ?0017 0000019C R | 1 ?0018 000005D2 R - 1 ?0019 000001E7 R | 1 ?0020 00000235 R - 1 ?0021 000001E7 R | 1 ?0022 000001E7 R - 2 ?0023 00000028 R | 1 ?0024 00000210 R - 1 ?0025 00000235 R | 1 ?0026 00000273 R - 1 ?0027 000005D2 R | 1 ?0028 00000273 R - 1 ?0029 00000273 R | 1 ?0030 000003E3 R - 1 ?0031 0000027B R | 1 ?0032 0000028A R - 1 ?0033 000002CB R | 1 ?0034 0000032F R - 1 ?0035 000002CB R | 1 ?0036 000002CB R - 1 ?0037 000002CB R | 1 ?0038 000002CB R - 2 ?0039 0000005D R | 1 ?0040 000002FC R - 1 ?0041 0000032F R | 1 ?0042 00000350 R - 1 ?0043 000003B4 R | 1 ?0044 00000350 R - 1 ?0045 00000350 R | 2 ?0046 000000A7 R - 1 ?0047 00000381 R | 1 ?0048 000003B4 R - 1 ?0049 000003BC R | 1 ?0050 000003D8 R - 1 ?0051 000003EE R | 1 ?0052 000004D9 R - 1 ?0053 000004D9 R | 1 ?0054 00000409 R - 1 ?0055 00000418 R | 1 ?0056 00000452 R - 1 ?0057 000004AA R | 1 ?0058 00000452 R - 1 ?0059 00000452 R | 1 ?0060 00000452 R - 1 ?0061 00000452 R | 2 ?0062 000000F5 R - 1 ?0063 00000483 R | 1 ?0064 000004AA R - 1 ?0065 000004B2 R | 1 ?0066 000004CE R - 1 ?0067 000005D2 R | 1 ?0068 000004F7 R - 1 ?0069 00000509 R | 1 ?0070 00000545 R - 1 ?0071 000005A3 R | 1 ?0072 00000545 R - 1 ?0073 00000545 R | 1 ?0074 00000545 R - 1 ?0075 00000545 R | 2 ?0076 0000013F R - 1 ?0077 00000576 R | 1 ?0078 000005A3 R - 1 ?0079 000005AB R | 1 ?0080 000005C7 R - 1 ?0081 000005FC R | 1 ?0082 0000063C R - 2 ?0083 00000179 R | 1 ?0084 00000625 R - 1 ?0085 0000063C R | 2 ?0086 000001B3 R - 1 ?0087 0000066F R | 1 ?0088 00000672 R - 1 ?0089 000006CF R | 1 ?0090 00000694 R - 1 ?0091 000006A9 R | 1 ?0093 00000727 R - 1 ?0094 000006F0 R | 1 ?0095 00000701 R - 1 ?0097 00000778 R | 1 ?0098 0000073B R - 1 ?0099 0000074A R | 1 ?0101 00000767 R - 1 ?0102 0000076E R | 1 ?0103 000007F8 R - 1 ?0104 000007B4 R | 1 ?0105 000007C3 R - 1 ?0107 000007D2 R | 1 ?0108 000007EE R - 1 ?0109 00000853 R | 1 ?0110 0000081C R - 1 ?0111 0000082D R | 1 ?0113 000008BB R - 1 ?0114 000008E3 R | 2 ?0115 000001D2 R - 1 ?0116 000008E3 R | 1 ?0117 0000092A R - 1 ?0118 000008F4 R | 1 ?0119 00000903 R - 1 ?0120 00000C10 R | 1 ?0121 00000932 R - 1 ?0122 00000942 R | 1 ?0123 0000098C R - 1 ?0124 0000098F R | 1 ?0125 0000098C R - 1 ?0126 0000098C R | 1 ?0127 00000C05 R - 1 ?0128 00000ABF R | 1 ?0129 00000997 R - 1 ?0130 000009A6 R | 1 ?0131 000009C9 R - 1 ?0132 00000AB4 R | 1 ?0133 000009E7 R - 1 ?0134 00000A98 R | 2 ?0135 00000214 R - 1 ?0136 00000A18 R | 1 ?0137 00000A96 R - 1 ?0138 00000A2D R | 1 ?0139 00000A47 R - 2 ?0140 00000255 R | 1 ?0141 00000A96 R - 1 ?0142 00000AB4 R | 1 ?0143 00000C05 R - 1 ?0144 00000ADD R | 1 ?0145 00000AEF R - 1 ?0146 00000B0D R | 1 ?0147 00000B10 R - 1 ?0148 00000BFA R | 1 ?0149 00000B2E R - 1 ?0150 00000BDE R | 2 ?0151 00000274 R - 1 ?0152 00000B5F R | 1 ?0153 00000BDC R - 1 ?0154 00000B74 R | 1 ?0155 00000B8E R - 1 ?0156 00000BDC R | 1 ?0157 00000BFA R - 1 ?0158 00000C3F R | 1 ?0159 00000C42 R - 1 ?0160 00000C6F R | 1 ?0161 00000CBA R - 2 ?0162 000002AC R | 1 ?0163 00000C99 R - 1 ?0164 00000CBA R | 1 ?0165 000010A4 R - 1 ?0166 00000CE3 R | 1 ?0167 00000CF8 R - 1 ?0168 00000D1F R | 1 ?0169 00000D22 R - 1 ?0170 00001098 R | 1 ?0171 00000D47 R - 1 ?0172 00000DA7 R | 1 ?0173 00000D47 R - 1 ?0174 00000D47 R | 2 ?0175 000002E5 R - 1 ?0176 00000D7B R | 1 ?0177 00000DA7 R - 1 ?0178 00000DC4 R | 1 ?0179 00000E24 R - 1 ?0180 00000DC4 R | 1 ?0181 00000DC4 R - 2 ?0182 00000320 R | 1 ?0183 00000DF8 R - 1 ?0184 00000E24 R | 1 ?0185 00000E37 R - 1 ?0186 00000E5D R | 2 ?0187 0000035A R - 1 ?0188 00000F09 R | 1 ?0189 00000E65 R - 1 ?0190 00000E8C R | 1 ?0191 00000E8C R - 1 ?0192 00000E8C R | 1 ?0193 00000EA3 R - 1 ?0194 00000EFD R | 2 ?0195 0000039D R - 1 ?0196 00000ECE R | 1 ?0197 00000EFD R - 1 ?0198 00000F34 R | 1 ?0199 00000F8C R - 2 ?0200 000003CD R | 1 ?0201 00000F34 R - 1 ?0202 00000F34 R | 2 ?0203 000003CF R - 1 ?0204 00000F64 R | 1 ?0205 00000F8C R - 1 ?0206 00000FB7 R | 1 ?0207 0000100F R - 2 ?0208 000003FF R | 1 ?0209 00000FB7 R - 1 ?0210 00000FB7 R | 2 ?0211 00000402 R - 1 ?0212 00000FE7 R | 1 ?0213 0000100F R - 1 ?0214 00001040 R | 1 ?0215 00001098 R - 1 ?0216 00001040 R | 1 ?0217 00001040 R - 2 ?0218 00000433 R | 1 ?0219 000010AB R - 1 ?0220 000010D6 R | 1 ?0221 000010E1 R - 2 ?0222 00000435 R | 1 ?0223 000011AD R - 1 ?0224 00001120 R | 1 ?0225 00001131 R - 1 ?0226 0000115B R | 1 ?0227 000011A2 R - 1 ?0228 0000115B R | 1 ?0229 0000115B R - 2 ?0230 00000448 R | 2 ?0231 0000044E R - 1 ?0232 000011C5 R | 1 ?0233 00001402 R - 1 ?0234 000011D5 R | 1 ?0235 000011E5 R - 1 ?0236 00001203 R | 1 ?0237 00001220 R - 1 ?0238 00001212 R | 1 ?0239 0000121D R - 2 ?0240 0000047A R | 1 ?0241 000013F7 R - 1 ?0242 00001239 R | 1 ?0243 00001244 R - 1 ?0244 00001239 R | 1 ?0245 00001239 R - 1 ?0246 0000126C R | 1 ?0247 000012CD R - 1 ?0248 0000126C R | 1 ?0249 0000126C R - 2 ?0250 00000492 R | 1 ?0251 000012A5 R - 1 ?0252 000012CD R | 1 ?0253 000012DD R - 1 ?0254 000013F7 R | 1 ?0255 00001314 R - 1 ?0256 000013A4 R | 1 ?0257 00001314 R - 1 ?0258 00001314 R | 2 ?0259 000004C1 R - 1 ?0260 00001345 R | 1 ?0261 000013A2 R - 1 ?0262 000013F7 R | 2 ?0263 0000050D R - 1 ?0264 000013CD R | 1 ?0265 000013F7 R - 1 ?0266 00001414 R | 1 ?0267 0000142D R - 1 ?0268 0000143B R | 1 ?0269 00001483 R - 1 ?0270 00001453 R | 1 ?0271 00001459 R - 1 ?0272 0000149B R | 1 ?0273 000014A0 R - 1 ?0274 000014FE R | 1 ?0275 00001510 R - 1 ?0276 0000152E R | 1 ?0277 00001654 R - 1 ?0278 0000153C R | 1 ?0279 000015A3 R - 1 ?0280 00001554 R | 1 ?0281 0000155F R - 2 ?0282 00000543 R | 1 ?0283 00001654 R - 1 ?0284 000015BB R | 1 ?0285 000015C6 R - 1 ?0286 00001606 R | 1 ?0287 00001611 R - 1 ?0288 00001699 R | 1 ?0289 0000169F R - 1 ?0290 000016D7 R | 1 ?0291 000016E9 R - 1 ?0292 000016D7 R | 1 ?0293 000016D7 R - 2 ?0294 0000055A R | 1 ?0295 00001726 R - 3 ?0296 0000043A R | 1 ?0297 00001745 R - 1 ?0298 00001762 R | 2 ?0299 00000586 R - 1 ?0300 00001781 R | 1 ?0301 0000179E R - 2 ?0302 000005A0 R | 1 ?0303 00001886 R - 1 ?0304 00001891 R | 2 ?0305 000005BB R - 1 ?0306 000018FA R | 1 ?0307 00001905 R - 1 ?0308 00001971 R | 1 ?0309 00001980 R - 2 ?0310 000005D6 R | 1 ?0311 000019AD R - 1 ?0312 000019A8 R | 1 ?0313 000019AD R - 1 ?0314 000019A8 R | 1 ?0315 000019A8 R - 1 ?0316 000019A8 R | 1 ?0317 000019A8 R - 1 ?0318 000019B0 R | 1 ?0319 000019FA R - 1 ?0320 00001A53 R | 1 ?0321 000019FA R - 1 ?0322 000019FA R | 1 ?0323 00001A12 R - 1 ?0324 00001A37 R | 1 ?0325 00001A12 R - 1 ?0326 00001A12 R | 2 ?0327 000005D9 R - 1 ?0328 00001A5D R | 1 ?0329 00001A7A R - 2 ?0330 000005EC R | 1 ?0331 00001AAF R - 1 ?0332 00001ADD R | 2 ?0333 00000605 R - 1 ?0334 00001B0A R | 1 ?0335 00001B68 R - 2 ?0336 00000612 R | 1 ?0337 00001B30 R - 1 ?0338 00001B3B R | 2 ?0339 0000063F R - 1 ?0340 00001B9F R | 1 ?0341 00001BAA R - 1 ?0342 00001BC4 R | 1 ?0343 00001BCF R - 2 ?0344 00000679 R | 1 ?0345 00001C50 R - 1 ?0346 00001C03 R | 1 ?0347 00001C0D R - 2 ?0348 00000686 R | 1 ?0349 00001C48 R - 1 ?0350 00001C75 R | 2 ?0351 00000693 R - 2 ?0352 0000069F R | 2 ?0353 000006BA R - 2 ?0354 000006D5 R | 2 ?0355 000006F7 R - 2 ?0356 0000071B R | 2 ?0357 00000740 R - 2 ?0358 0000075F R | 1 ?0359 00001E42 R - 1 ?0360 00001D60 R | 1 ?0361 00001D7D R - 1 ?0362 00001DB4 R | 1 ?0363 00001DCF R - 1 ?0364 00001DD7 R | 1 ?0365 00001F91 R - 1 ?0366 00001E56 R | 1 ?0367 00001E68 R - 1 ?0368 00001F82 R | 1 ?0369 00001EC6 R - 1 ?0370 00001ED8 R | 1 ?0372 00001EE3 R - 1 ?0373 00001F6F R | 1 ?0374 00001F2D R - 1 ?0375 00001F02 R | 1 ?0376 00001F10 R - 1 ?0378 00001F21 R | 1 ?0379 00001F23 R - 1 ?0380 00001F94 R | 2 ?0381 00000767 R - 1 ?0382 0000024A R | 1 ?0383 000003E0 R - 1 ?0384 000004D6 R | 1 ?0385 000005CF R - 1 ?0386 000005DA R | 1 ?0387 000006CD R - 1 ?0388 00000725 R | 1 ?0389 00000776 R - 1 ?0390 000007F6 R | 1 ?0391 00000851 R - 1 ?0392 00000928 R | 1 ?0393 00000ABC R - 1 ?0394 00000C02 R | 1 ?0395 00000C0D R - 1 ?0396 00000F06 R | 1 ?0397 000010A1 R - 1 ?0398 000011AA R | 1 ?0399 000013FF R - 1 ?0400 00001A46 R | 1 ?0401 00001F2B R - 1 ?0402 00001F77 R | 1 ?0403 00001F7F R - ?BANK_CALL_DIR ******** GX | ?BANK_FAST_LEA ******** GX - ?BANK_LEAVE_DI ******** GX | ?CL64180B_4_06 ******** GX - ?C_LSH_L01 ******** GX | ?ENT_AUTO_DIRE ******** GX - ?ENT_PARM_DIRE ******** GX | ?L_ANDASG_L03 ******** GX - ?L_LSH_L03 ******** GX | ?SL_CMP_L03 ******** GX - ?SL_DIV_L03 ******** GX | ?SL_RSH_L03 ******** GX - ?SS_CMP_L02 ******** GX | ?S_LSH_L02 ******** GX - ?US_RSH_L02 ******** GX | 1 _blk_alloc 00001657 GR - _read ******** GX | _write ******** GX - 4 _yes 00000000 GR | abort ******** GX - bcopy ******** GX | bfill ******** GX - 3 bitmap_block 0000042C GR | 1 bitmap_dump 00001D4F GR - 1 bitmap_find 00001E45 GR | 3 bitmap_immov 00000430 GR - 3 bitmap_inode 00000428 GR | 3 block_bitmap 00000436 GR - 1 ckdir 00000C13 GR | close ******** GX - 1 da_read 00000000 GR | 1 da_write 000000A5 GR - 1 daread 00001729 GR | 3 depth 00000402 GR - 3 dev 00000404 GR | 3 device_handle 00000000 GR - 3 device_name 00000002 GR | 1 dirread 0000185C GR - 1 dirwrite 000018D0 GR | 1 dwrite 00001768 GR - exit ******** GX | fflush ******** GX - fgets ******** GX | 3 filsys 00000406 GR - 3 finode 00000426 GR | fprintf ******** GX - 1 getblkno 00001405 GR | 3 inode_bitmap 00000434 GR - int_min ******** GX | 1 iread 000017A1 GR - 1 iwrite 000017EF GR | 3 link_count 00000438 GR - lseek ******** GX | 1 main 000019B3 GR - malloc ******** GX | 1 mkentry 000010E6 GR - 1 mypanic 00001F97 GR | 3 ninodes 00000424 GR - open ******** GX | 1 pass1 0000014A GR - 1 pass2 0000063F GR | 1 pass3 000008E6 GR - 1 pass4 000010AE GR | 1 pass5 000011C8 GR - perror ******** GX | printf ******** GX - 1 setblkno 00001501 GR | sprintf ******** GX - stderr ******** GX | stdin ******** GX - stdout ******** GX | strcat ******** GX - strcmp ******** GX | strcpy ******** GX - 1 yes 0000195A GR | 3 zeroed 00000202 GR - - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. -Hexadecimal [32-Bits] -fsck(17) -Area Table - - 0 _DEFAULT size 0 flags 0 - 1 CODE size 1FC2 flags 0 - 2 CSTR size 771 flags 0 - 3 UDATA0 size 63A flags 0 - 4 IDATA0 size 2 flags 0 - 5 CDATA0 size 2 flags 0 diff --git a/src/fsutil/fsck.obj b/src/fsutil/fsck.obj deleted file mode 100644 index 4b0690132482d2a61b5d029d60550e1e006b9bfa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28879 zcmdUY3wV^(wf351GMP*Q2{7CdhdXkKxj?uCBmz+p2f4*+)egDLkbxu<)_Q5J<#?#oN-I{R1gs#|Q>8sU9*Y&NwM1x(me!zD&b!w7zCH5|(CRsTp8xsh zVcvPaeOY_$wfA28GLy|EE)Q)?&Yji&Dx&@_l2>sEuodojREA1!!Wc?;Kgd?@> zO^K#x-SkW5&7KoT54iM_xeLw@Rxb&#(qk!4vJJa%`c?I-mR}cbxvKq!=vDEy`l}-G z_C&M^AN4DXV|6PoCKu%(?VMn=zAYAyMG}Fri_Zy^mrbmTCIWNLoil!X;L_Gav^jc1 zv}Ji7#k^5|4y_5>;F7HGxaa)4*>@)@daq~=GxX!T~n-nr5_RRS`m4%riKKh zH-!5j^pF+m<jnHjHWHmK&olfAf)vDv^ z>hv3{PH&v1PUWYziD{!8Zlh9eB)d&aBXP5Et7#+IjgoCO61NIB8XBnxx$PFoX$fD~ z661PGt8jK{qkq&UgHbmhQuo8>$kgD-sbAR;Z97$e9V*hNqAl&stiL^0+^tps_e?gK zyQQ{SdR>8Cp%tuOk^K~9{rz|vj&gItoSM5GSHBrDJPqNNMB6HEXs!~M>22YlXgK~^ zdfO~yK%>x1yfb^-ByP$~Kk-8(1_bGnLY6+jNOHIQ#W<4h3GgI-&nN7mdxethR8P#koyT_i+ zPMNOD=hEUl_#B<8ws(0r0q@rmV;NlUh&8hLncG}Eht=fvXmUqe8tS-N?NOA|z#*K4 zD{VUqu63pwVM~o#e2z_1BmOzm;GV~7xf}lXdX;22-B%!wTjM3X$EEc0!8xrA)i%LH zahtP&>bcWKqD}Et@zXgXac10H?1-efR3{|V3 z1o!y!@a~&Z)zeU$KF@K{Jg*f|Zc)BT#XkIWGN)TIr{c4}N$v79IHomQrtJ?Lb7kf< zFdL%a9z@LvDUmtRQ?$f@vU{8KKIq6La984IGaF|bVwqI}uc*>W@I+5l`m+|1=`5~; zXzmugQY%hXA{SmWy&CqQ;dZwjrE3NE81Ad+0JfWR3>q`;xTc)QZk^0QbDO2btxhex z(85vGf3h0qWOTe*OO31XIhZRZFIV=eaGcwVr{tjsb~i=U(KtGy@07G|q#JQ)JcFv&-dCrjM=Mqj-qfBZ-@a z?aa@vRvrVT8R{K|9B%91<2^Lh*7?>drJ=pK)%F1_#G~QdqTJ-Y@y>}SYTFVV!q$yRsj8un1}>HD#f~whhwZ_0j2`xC$|bWjw;AVf z$t=y*l>D;Funo!~)-vhu8#Ht9j6+6tRAccjNok$iysEXfC0frDD{IWg%xwD&JrkvgtSv;M2RFTsy}iCOfDbB>dKHT{EH}CjF5*F zL9`_j3!x)t7Y#v;^Fpzf@b%F|DA5BUTrm&!czEOl#hd`!J#5;-p?E$**t+g^B;eEm zPF)v^HHEOV(8rwi`o`Kej(it+J>0(S5sqZZXpn2u%3(336+NxUT=AG8Y^4NzTBdxKxY9fWfW}2B7a^83d4i$TR)Hkk1mI6NRy8>6r_g|oI}RM zwY8z9Xk4t!9WO5)!m=Zbb;te4KM3!9+3Yg&(Wk%(5|-ss=A(MB3JF_oF&`zsrb*cK z7W2^vEJ5c=*cglX=p(QN684G3eB{MwUMOJ&7W2^nutgF!#9}^r28>S>^65E?`DiZ~ zPaOI5GmH7?F7(4|B?^(=8{{^;H!hUTrAB}?> z+b&_n7W2_J=XngRA(39GW0 zk1hfGgM=-#n2&x9#(g25-m;jFuFXgPL~G~M4Hom!1WXM*B&@_@uqoIG$s4kmk6OU` zOIVx5e6$g)hlJg3F&{k&)>pzdTMX?1hK`GJpSPHgUI9b(5cZnId~^`3pM&$i9?V;qL?}kaA;yju3fAvj zQ{2eh3UD_D(jU@eR=6ZhBVpVnYl;>>!jTJYK{Gix@i}E}<4jlY{{KL~jw4s?spj!T zd#X31d%~QXD>0bScpdM-A#4inT$HTYyx1~_SB#Tgz4=8tnGEh+`}WC`MC)H_&*}Pi zBu>`sT>B1(tbK=$;xx48(Y0$HrH5g^Yna>w(#WI=B*f%Skjt1X0|_z-fXq!+?;OQq z7AAw67c~-Ic5BGz`kjekkv-Krv3cH8y$d?l>|6}B?I!bfoz1#Pf5;AQe$fTJws!1t zZK&DGB|MB0&Sr8GNIxc3AU&8sox=6+WQ*Kwy6vU-aofl4;dmbm7S}XBx|;)p`f>xaY|K- z?5d7V)@;+nkv(&3UPpDScS>r@CSDj}3)|ijxqg2ll&s#{*`3$X-8;V2XoY697;Kea4cxNefz{8P26J+$2$s<%UpZCqumLTf+9IX5~i ze?4FuG#T6;N&3%sHd5ibo1v7^@*g(Tm8No^p`nV6K1tTly^u@Vo@Vxp21|9Ff2Iw8 z4;xzMkxmfVQ2nIox5=6(wJTNbE4<@4Oc8;(7V;Q3x^1Z5Vk(WU^e=X!N&iI-?!SFa zit?S2N2F7~x_Xf@Yg(0gSe~}0jaY%QgWDEy2eZm9$n4mr6zFlDtp|4=yZfP+{aAY0 zJ611qyL`J$Z0GT89fr5MeO%8-j*DQ8ZC!uhZWi3!(dpU{+}xG_37%xQcD(NzU$d2a zB3FwiDr30H&cqzkyo>En-e&l6{LLRn3veBRu~i>p^7YsS{a`p~;UD9WKCl zI%iLr0ji_oolM>crocw9c5=QsTG@U(!=*AtB;BNWbmM79^ct{ zFdK?>LtE|@Fy&EJsrsm8`=iOAB`I0cZTG~)|5cF(BYSe#nnc_%^2yFtD%uHkM29n& zMLqJG*)W^x11}~b3U~O6jJ7FvHsaOw``dd%Iu{s07eYfbJ^amN%`ue#S8-76lDQ_) zUbZo-z-75VmkG(TL%1EY&d`oJFUPMmYH9ZJog3Z0nV2q#opGufCRs{*YnZ4r*3Oac zj1O-})*RGIB&&}|9mc=f`3{=2rdv7@o3!(7JO|HU(`2w)y8;GG)&EhMhm10?sA`jG z(G@yMFj_WLpI9+6S#x4>BUH5KwSr{ziG?POHyJ#n%E>t3R;%2Xn3$|Sq^%`2R4O4U=y(ei=*8A?YpdT;?CX zz-VhvGVX=;0wK+6mic8ZvH>eQort!WN%1hol{In7BIlI4ImT6nIdqY;-Ezv?yYABo z8v9pWrJ+7sO%K3IRU3dO=n$;S-5_&tm-|23W0hra{$pi!1}S$TDC{*CRNrwnq2b zBgatR%d{7GO)tpU-C)sKCBx?+M&cvLKpi_>-{w!WYx(|XdAk1SgAHHhFJ?QQXQagR zq&%X}dmY`~tQ`g>gL^yPKDr^eSI4&3HU*s5-p(%fhT!%+>-mdcDd(%qDr>eEb_CfQ zRBu_B+{8hSRh7MPlBGm1q%#Yoj^nP?1I!|e=T7nO2eT_*UA@4hg0Lr`aFIh{dweEF z!*O8u@nZE8*eY&WloXX5ZP@iqxECW0JBFw!Qmj_~(#C?Kwa2+e?F&p4L_C3APLabG zpSDzXA!3sBVN%e=Cu>Gpsvu|3Mt{*wyIi(~l9So0xB5M6kMoI6`v{}8YSCDQP`hhd zi@H7QrDYMJZQL{7rfrN_d2Zh)upF#QZsH{6`!_D_@kGbR=eAd!u4<+S4A<;0BJ+)B zYEdZ@y={Y#!|TNZZVEnOx+>Z_Xlhzn<4w%sGFS9Gqe0Kc(DP!N-*Sc`wFJnps_&H& z>~(l$umB~Xo1la!EKS{lM6=x_mDS$FvJU>O0S$|Pfz{viRX?n0 zJObBi(S4<`712HwMRM6LxqM z%8?V1?!%iLTAqHfa}l=NE>^R8n|(Gk5W`Eo^ET5K_OT5V9HaKj4sJug@3r=0S)Do! z(zO>N#fsV0+u#JemJb+Y{4BP8&Mc>rq4U-gvHEyKI643J&IRcGie#7gkc%$u(ii2fM8$8 zn!Pw*O0pqsrO`CzsB7Elece^?u)Ab|w$onmrBsSon@8P<@IKNkcln%zm&Ds0wM8%5 zp0*^$3h9i7Nx3A}z-65~ZL@okmknw6ZuATuKiFKq{x>s^b{s)z1+qBAQPi4#Z~)o{ z>}!&9FCNhKCfmYFGP5_V8NV1qG?H921HR~(y}v|%@;(s>z@avtHLU;}Tnu zNYZ_=*)KROG016&>Y~U7wuT;eSvFdGTa)Ek5Mh*rnXg=6OFUIZt3#4ZA(8Ys@Q&3af$mUCkBCGPJ9Lb27HV?n_YwV2J;%8AibNcWTHiasf->7h)D7A-FR-&` zEI>88%u$O_YUiPBb7+*^X*)pKWLIIZ@%pvnU~cC@585VsuhGrY{U1y4cD$3@`HlzH z$le7t3sMqbk298^IzIE-9i;P6j#SgKCpT=jIawWY= z=R4d?P|P%veQNj5E%tOpvM#1rv4zvqq)gyCfF;3wc%nS6@NcRgBOH<_TmT)he^B`0@M;L-QKtzGA#K2Q>d#yzj51C*=(!bU@92&E3a-JJ_Wou^H>GOU!Xoe_; zK=+D~q6{yp4vFe76qv!X_V|mXnCic1T!ow!b1KL7$(~xG`3T;oVeLg7==tVMZjqG7M^BcSS(ugIFQ1r0?Xp+`pCC(a-ldLDjqr3MwHNHE zKEZ;zb^@dX$%gEb>(#~h^3~~_BoQA;+hvS@)%HAYhv+;@^x;O)LbC9;W?aDdeT!D; z!q917*_^(etqXFbWh+EB$jQBQAv?9Rq>)xh=$dEV#aT`=v)J@zaGorQP5)m;I}Pu4 zsIo$v-b{;p0*~o4ZCF}igeoR$~9R%gypC*fXn0!c;JV4>tq_q}K~6WjT5p52{zuI%PI zb&bK6%~W*&f?4ZB=B(GO4RNBjsfJ6m))tsItmELdom?B7nWE~p_hljQL5Fl*nN~1+ z0DC89)u20jFWev&7>BTAJR)Cs9I=jWk0gUf>@~0T^#JR!lTFY5(c5wSWZ^m<8d#p# zYgn%=F71=|qgZ_((XV!bNAw#9Ufo!!J3h``6A)3D$E>2PZ(ilAimby~hhM}3=x8Jx zx#7P}D*MQ+`ou=BZy!ALtv+^X#wwl1^HRpZS2%~yMjF{Pp6D6`o5Rw_*wS5h@quO! z(+Fq)hp+QGCMwI{UA>!sFT%fb@yM?~MuYh&030P@j3e>(b70~;=3(}C=G zJTwb9Ov2^?1H!%lRLT7Nr?Vxj2{;sQkNo~gC9lHs2no9psFH66Q^~wdQ^{Wi3*haS z-zKT#t$0?QcY>AR?V+CnRq`ufDtSMcO6Fe`spPl7RB{(s0B=8i1XRg?13Op33S9UN zG?<5afvMzyU@Cbim`WZErjo~l4U@c+!2-gr0LvFCOwobL00H!vWY{EidTBB;lpLOJLeE5wH;wwi0Z(NVySAt#&V% zmazj&ZS|jq{S{1WnTHP@-FJg&x}Ss9h~!^_X=w+*v>$YVspLO`eM`#CMaHF)qX0~E z_`y`afnciNM6kyt$1E_dZ!MUPfFv0Hp^Y9f>A}10!&M*1ylW6 zz*N6DnCf>M*kZ|X7ntVwI+*ImzZ+EjegLNWy#S{Ay#c0U^?fkav=62s)n%Mv%fZx= zNibgOdgva*c7UyvFrLCxgO|Zn=ih;;C`**o~6zEU-1AK`GdN zVHbd{me~1VTHhsL+A^1eX)kUE!_Y*1Zw1pbz6pkZ2zv@2Nnt+%Q(bnO*muD;N^F;j z{lLWb^xIO-Hf%cB2FWoCOtrcYOj}{0N!JLr8|nOXjR|`V>{iM9D=^Lb8!*lL37F={ z!FCNz2knat>ksz0$Qx_ICW5IytpwXDu}i>ik-V3KX&KAFw2bS(w2Th08zjf4U@Ey9 zKX+F46~q1p_JGLC!qQ9a=Lget=Ywgv5wLGax|Jr~8k24t*!>dwyovp}iKPLylrk{> zz5uH)Fmx2y;BK%-g?$Z7YxEeHYVaJG+TbNH)#U)#6O!ZiVEh|y5B&jb5EzU+km!37 zmIJ2pdVp<_*xq28cQlyhod7mLVrPN}OK$Ibhlf)4{ZiWnfyySHLvKH^6==IUWYn98ZC1j{gGF z97n*kv`@iwY-JC&$5sItrgYfP5B8?8fnZwm5n!6580-LIvHAz=mUK^>*ll3TC3Y8B zK-eBImHczVj(~k6c|QPC$$tgYyfnnlTL^~9iM0Y-Ch~@vu+dsyaxn*El?sPCMcaCB6!9EoImVo(1$`yvygMA=j*MMo>RferI={ABL6)FE}Vjnc@ zF)%IT39tf@x7Dy6V1JUZm%y}){e~Sd>D~d;GX7{{KLXPk;!_irGt?fdJ}`|f0#gkJ zfMFUy&lzgiSg=1zSSi>MVHIH7b1K2KpH_nf5bLM;U@CbDn992XO!cb;J1kNnVA>un zU@9*Trakdrz$!%EOxEoA!+z&Qaay$gqB{?1i(;QpCG{;k5n&Vlp z1(IV2*dfWW8%%S&45m3=1=Ad_gIyyz-UR!-&oKbSLfN74p zVRr2OV1u=*GfD?Ti?=1QW&@J9QhyEMfBNoY(zoGI`zKh4g0ALRq z1?)*>z(Se^97yK@2TAY1jtSgFL0}Fo1$w9+m`ib>mu>{+Q4;8*JAwGCAz*KM9q6YI zfqm%{U_WwYaqHv)2T*_DKpFxZLSunvQ7JG$R{)1o2snc9XUnkQSAb*aS>Skj6F7n1 z15TvB0*lF$&F3}z_j%BF4xPWd3UP^ZW7t$lZMf41CF+C5gp_hP{Q7+CQzCe9| zm(u{?l{6H16^#X6O|yYtqAviK(e1!`dK%b3+ks*FIWR(R0i$#TxPr#vgkU9A0Gp^1 z*h2hQeKDE`yoRm-wowZ(LAL|j>1)7i>07|-=qcb0GFpkA1IGy&Fqd8h_MkU`gXlfr zU^)yOO@9TB;RN^t=6v9IngyIlYkKtfW=I znUn<1qD{cr^nGA8bpkJ-UjXOPN5J{i8`E@<76LD&#lXeX1YAN70c+?@;AQj{@CtJI zcs1PfrWGdu!!aZd($FdAF2mp-3aVU>w*2~8Q?(rHE<9e0uH9*z#-(p9nTf_n(puE1{VfnM4O%%iUX@mHe2eEI>f2kis)q+b9F=>V{Z zjsW}6Ux0o(3G7Qfv0v^-qk#PhR|8?}R{#gmRlu|8Uw}ht9q?@02n^8ez+vIN3^$CpR{f6Xa@!i4*`Yp=H2wS`C~`9l+_d30O&w0cX%Nz*+P& zU={r*@O(N5oJ}7AtI30@{{r#?FQW0li)l7+KFtSSLQ8-_!W|bF^_zf8=uzNO`W~=` zeh9pbeg?dfjsmZu?A|=y`vJd10qf{WU_Gq>HppCuaSZOF)xa!T56q^2 z1-j`Wpog{qeX^^d9{mxBzZ}JqAfF0>1vC=agQfy|(sW=E z%>nkJYG7{)0sF}839kd5ORYdJeHoZXcL06#4PZV!3G6}71AEafU?2J|urD124y3cN zbQ??;0Ef_}z_Ta>97-|ZFj@y3NzVeu(3`-q^d9gWIszO=9|Ffy7N*<@6bt+ zy#>sp!$2SX8JJIAETIc%D6o*u0T$6@U@w{u>`j*f{Zt1WK-U8Y(rv&&^ey0EIn}~W z4LpaQ1$yW|fVuQ8&`W;;=FtgYKILI?QbQ9KET?Y+E9gn!6xs!xO0NQE&@X{AWt~IxYw&FP1n8y$>?U)l7ciIl z0ll(5g4W824t50wCYG#6Mv%Yi-QYzMOrAvW%v=r!*ze&fK2G63Ez+Acu=%s%H=Fv}p`Sc>N zh<*X=MF)Vr>36`sbQsv5{stUCZtSfF(O}?UDgzFoO5jks2zWNt00UG997a*#47wIL zlQsZn(fz>l>Bqp?v>P~=_5m-VUjXORd%#QR7;q_##;)XxbT05JssJvhF8~{98E^$H z2d<Sfx{^Z97!?Y zXu2LahSmTl(0brR+6XM6+kvHWUIJ@@yXY}s7CjBjrXK^{RA1XNCJ~5-!z-twY|Ihz z%vUd^KWE0vrAU%s9$%>u7}XHCE}Ccz@coE^l2NfhG#+S)B?7TXpgx9+oaz$+zDJ}u z@WtBJSyGP47sox6O{)U9U`MV73CL9{ED$1M?INPBwq~=|0vYf?yuB6Ib*eB}XjFS3-WY3d zY6#S!6=0JKqSuRo1J-LX?n;d!ny+;X=-oAOPB6Ez-&=y`EZV9*5Ciogq zT;U=y*VV=YxK#z_ZwMq}+$xc_STjD0v6Q8Gr?y#(r7!f-rUGfk9jDP&*imkIt4)L( zQfkr?bdOcV#l?XIG4!6cu%#$pSQ+O+W;2uS@cBglBe`>>x5e7H=UF|t5tWTLx3=63QDxi?+g5u{n$D@ba-m^hRD9IL(&Exd@c@fJr=1v!Ow>+m2~Ty_Gv{rM z;kuhRo4GEwydA2jUa71UWcwu09D%aQlLCCPkR&$=eG4$;!Y#4(wZ+hnTAOO? zF}$_+6(iG_;?J20<(zB1=e0nWI65T?4aogb*o}rFqZ$yO-mc;1*2F5P8-v*}H2CVs zK!e?`sH{T{n@fk$-w99a390nl`_cwks`u8!!?-QTv{a@Kao6{JsU&)po71yakF1~_~oq&eJ6X|k|l+@#zRiMBP1 z@6`dR&X#r2I;EadT`Nwf4B0>=235rO`4-|r;y~&2fYC)HOPoZNO%GW9-S~3L#fyKI zH05d8RT0Y#!_Om?q?weK#ta}C^0*^bL}|LoY3b4`!71kA2D4%xYjk=B;pvx#vu4>YzBc?Su=7TZ+^)&fFAT?l9MYV6Wq641 zuH)no!f99*ucP$MJc~lsEp;5qFHM7OvZPCe1X9#WGx3x(m5z{*3m`O*9MN= z&AD+7VcieT+)V+>a*Y9d81FR~@`{yT=~t`g;5pmHm#g!u`IVD*DjT`v!m^TzY1rrR zYMQMt*N$r>5Rxgxx9B-TFqyZ-+N>~16Nxmn#~af__=Y@_i)$Kc#p);#NlT-pPmvI- z^d?>v+u2xhah;t*Z4~CtXq}<(N}ONCO_~NrV`9fJ6^AwCVLL=}-HRvZi|g<(-fBaZ z#!oN9h86h4Zh-AGWg6D~#y+x4mq-9>sA;Bv+i7f_A4Ukbpz3@-7{6u-o>}KA=$gv4 zRZ`m!YUS(Hi8KvLcd<0Sdwt+Vyo2Ny>r+}jnI3=~wJL|M#+%QcS+d7UQ%cKB8p%~w zN`7ZZX$if694bfBlvK!f7pahvX;Y}mq_OMnti`j4=NFHdRC~<_mztXP`k|$vTC5zp zq+U|@GVC@b4cDEeb;4o%8f1Ya6b+}8QMai@sIETNy2_Sfw^!-p68UCBYhml`EWN@i z{W8gHx7S!aId#4ko?1dA{m)L-xg4kYl7@9=X?!pH%NOhKVpOwR@WJP}ECu$XH zlvhKzUS*|a^g0|z%JO9;)97JGNa?g`bW=u115KNlLbBIvG#Snl82U z(bnNVUQNA1aw$7bDQjF2*#1_u!bz{hj@P%8m_~q`mwU9(};g}Z1;`Rw#C$`wArMwb#|71pH=#8BH6Yo z7AqM#*W(miY9S-y-<>+MRWT?u4eQL(rXh`Mf&QvSgwwy_gHN(qj(Xbi(y4SSs-U%C z%a@lLs~K%IJUzv1{to`3Xzsdqf$#rX%nq^)mhE0ZT*eKOZ`3 z%2|2d(KK9Bmd1DS{{l6=kE6}J?3BZ|uJY@ff_CZX2pOe6)-T=8{V+QG+a7M zV?AeGs=r{>zEO^md(>$$j9mT&IsRcKBNoFr-DyH>i#balW|jUOQNh+3$MG3D=gWDy zJ)86Q)6UmkJZc)&nWepg_e;?EaY-opV0?Mu;8jCgAE#u#lZap67qs;`wXeSJ&}WlF zAFL1gxREps>%-Ej@E);H+ZJm`Il+)Z07#=2n~HC2jD{ThODhQ%fPI0r9&?s{msR>R zlGfIlXEJB68-Q;BBt*v7*E4k1rIn^(omtv+yf1{#x}6XkPOYGYMnhX4r{o7M$=r`p zK8mgG)Mv3npKm+$!KnvKNScQAVQI7R4nv>a_)Lugr<~1}oS$kMYjw&cJ4?UUQTq2X zN>^)W8ZMosEyH^aO5caiROwDRKd|I*@B4doKjtWXo3nK6Sh@C^hD&E@*WvvQl)j$@ zOK+J}I+>bIX$z<19hT((lw5Y-ICZ{QiSKa4KGHW{cId-d-^W|ius$q}{qIkq&l~u( z^eHc;TTju)Dfu-^@^2)Ut&bN^&er+Jq0d_mee4aZreS?pS}opxfj++#$)O1DB##RP zAdOmVQYk%piiXaz-nPm*E}3l&^YG-<@bbaw7CY?JkpF)IIQmDQu77t6Y0HgENG8${r@EDvl6`PQZkPS zcee8Iv(sDo`yAH7S~Df;kli8T%D!_wB{{WkRBn3UIY%6ZL_Q>1AupLyymeD|>Q(zCcLnODgA zKN>U*m(J40A%5i&I}x|eS{1mY#JsbWf!rfbV?8Un5acG(A(vA7A#V_X0#g%=d$W zX~*&;Mb9f*+DZFHSYwzEhls{8dBBB|6yH@G{Uyg`gt(1m8a59#5q*LgrEZdG@kQ_4 zXMNK%00Vgb#=+;F()3)qQg8}JW@`Sz`IOv9T$-P`cy3{KS>}fwrdHQ^U~XzP`*MEM zD6Lkuj8)spuIB8DV-!}`w6tAR%*>Ui@VIrD0m#;Omi^w6bG$P$*h~ouq2| zhU&1|@2W=06e=c0 z8$kTo+UO$>Md&x6K9~E$LlKIizG5yH^H79N0QI=su!kZv4b<&&=R6c4WbhCap&B&9 zUgt_CPGBddL@U)h+jrWxr`dw8j;;l-5xv8B@n@FXpNHRdSI;1F6LIMmw&?n_qXo;Y z?^~}g>{ol)>edgf*H;d%P<8fTvD(4RGhUSTCuR?vmYZCtd-+#;Imph+y=zzREjeMx z=bVwfi`ChE-%EsBsypw)nXlU3$llQZ+40Nm1;=-*Kfdr;7?=|*5kDZORidMiti@;$ zQtS@b5Wgs=TA~Y(oM4HbhZJ^cAg+NJZMc$mUkBo(OY{b$uzL%L3o%9?LyFy9AhG)e zP#0#*EeQ7H(qN{O9&z{Lkli!|*-LYfeZ(#5ekwvfNPI_*Q5CYEK7br_3+V)X2z-*h zf*hf*A>-~f93xJR#2`? zX3-iHLz4!%%!oqhr}e(eA2}2lYOoiuvFGxWg#z4l`D(m&_e;J}7>)gwzk4Xa--ILP zzWM2CEZ*=tfonsJ-IsSlf!mPWbN~E(`i5{(MJIBVCX&(Zj{vhB_h&JVFVCGlJC3Uj zRYX=dEyMBC!Cs_VdRp@x1j8+)#^66fYQfg^b)RA{9)muC6*i(v)i^L_SufRe-%A1G zz7tmDIg_hdFspNF+{&!cq!fe=SD$M`iY^#_+qze(?gG^KXX2kkC~)Q<`>gN>P!o;a bJDC_uBt&MD$;sp-skJ^^v*a%QFT1}1K_f<{ diff --git a/src/fsutil/machdep.obj b/src/fsutil/machdep.obj deleted file mode 100644 index 02ccb04009e5508f856c8a59b899df1aabfa9572..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6591 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 diff --git a/src/fsutil/main.obj b/src/fsutil/main.obj deleted file mode 100644 index 38695a1dfaa8690c1012048d3a96053affa8e157..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2248 zcmZ`)O>Epm6n@@aZ+5*&x+U8P#GfOgs#O}ZDJ3esB+ZXVQ9@GE6oj@iw%6X6chs!h{it7d3&{y}6!Z>b1M)zn+H!NrLBI|Yyu0RBk_%wzbP zf#QTx)tDBE@cj(-FEa@O;W(6UDa^dV67+|N@1pK1=C+Al1PNqVcq@#1C6b;)a0mU# zMsbI$rlqwU=Ggj$*-I0Xa*~*zoqF}+-1MT1Ny90~^T7izU#J-G)Yfdb(ptAGe$%K} zev8>orLNho;^}X{0s`g%Fga%%P0#l%CZBrkwEV)^Vcll(!u}c5Cva zS8v#k*_5xEP2cuhdE~58E-U9>8XZ;2Lr^FtbEb8nrF#ndPq9Z3HQj5nKFAhx=%5A4 znKx`^cvUk6SvYfKmg^|UVy|QWxid?)S;ef(W8pL(qbI{0&*(*B@8IBoHY@FVYels8 z(f$zyBCG2yi-H`7TyZC!EVK0Hr8kaHGxLjA`cYMhRe3x`t13?5_aWce*sSMIXzt31 zLu9UM`wf+8`Vp;bXpZAktlfCxjB0y&5z>6le9dIGYk4Z`L1utH9=DIFj06gf$>UDa zm#cmOnHCB%EfkPiCbjN)j>@`2Q*0T_T9cd)acq_%wJdVd%wpACO~j#TMn?1Ke1O^% ztM`VwF5Ovi!;ENMvphZz*+-_;@cbYopVcNU#UQQdSyo^jCyR%mbSUwxZ?Bswi^Hr@ zt|~i*ZhkC$yXI>6F(jb5x(wXlmB4P`kJPoQsgCWlPtZrR7vQrHNw9$Tfd+~@`9wT~XGrDh5Tk?{9**^RtRWC(m_>XzLt4vDh9^lJx8z+;DW!#Tu`dFH2-N6) Q05!f=K*jQ=IXv6{06d~*YybcN diff --git a/src/fsutil/mkfs.exe b/src/fsutil/mkfs.exe index 1fb6a2cab0be16759be00658c8007c777414c1a4..2812e505df47e033ded369a970461490b210afc0 100644 GIT binary patch delta 1162 zcmYjRe@q-j6rR0ZW)6;BZUd=zXMp|D%4G}opjbFsC|7FLn3ie{re3sx7LgP|tDz-` zkk&K}X_~W3Db^ShWBj9kU7-mk#v%c#mpUeGg24mf&I+-2oeQ+k#73%b!BqE;*>C23 z-#72g+u6aMw85UV&>#F~XLz3Q)s*?R78jS4`AU4-N=u88lcp0Y zo6kpI>lUO*^(>OISa{UH(w}k>awiQWU7Uz8zrSjU`70`VoXlT-M;4G8C3HeCqC~!4 zJj`BJ_8BuoJ41|FqV*CZMzpgeVl0bt%K5M>_y zKWM7cxm!J$${6TJ+L~LNlzQcGOJjYj($LoSzL;TcDo+#cZ*JRV7M2mh!o;K+HQ$}y zkXeG8ED~6cm6+!AW-efkOt(Dymni2Tmu%Q17JMYS>`)gA+N5mQckk|qc8<^?o^yh+ zNO$m4It!j7SkgV$l*F(%E!(-`8D_z#`OZvf&YOg~ZOZrR(Y5yo=+tHN>zTrh8Iop~ z=m<||`L3(pDvE{9LGKHl3q(0+*roUMW4dNH?Z3X&of5T0QAJ3*CmIQ{>#E{em(*$r zaa|RL0=2uMb+8GM1ydru&jEsDfnucAKuR?3iEi+CaTg0NipE`$g+ap(08Ux1mm$7) z_e~JRBkCnWI|OUbgxGC-L9`Gtz9iatq7D+RkEl_H)(@ko4M4X-gaywN4%vp;t|Ue< zlsiDc4gek5*5WlG;PnytX9D&<2f#P{rjo*>0JY+$;WF?S{ zuppLQi*L_7Q1EQo0@3Aif5mH2?>OcGRtl$6u delta 1186 zcmYjRZA@EL7(TbRy=SGpm)?|Niy7RHZIH7qDIeNGSS1XL#%xSyFxu$CSJ>hPZW@ztC{D!fxiwhZ33&)qafN$ybIz)<+5iG|YU=6tcv#N1B#5dakP5s?}MI)P{ z5fF`n$m|M4PpoE9qZ^{pO(N75hvO9Z8x=R6cCC^D><2|2F|aoY)4z6m#}2zd{labq zC1*q~PM56lOzgE-K0gx@%v~my%O9Qz8Pd|;SGP(Yrn1xmS440{>%B!8j>KTBiG4(%G<^exLBU}b1qrxTOom>v0A%R{+ zbP3T_ZY~p(k@M{)u+346C3(|y-sNaNS8)bcVqB~Cx`JaJdZlY^<~T~RfXxUjJ72a7 z!7R`H59oHGJCzL&-6O0dvak0S{#;e)xpgP?p$=a)wF{oVR_;W*{' - 00000090 F1 2111 DEFB 241 - 00000091 ED 2112 DEFB 237 - 00000092 39 2113 DEFB '9' - 00000093 3A 2114 DEFB ':' - 00000094 3A 2115 DEFB ':' - 00000095 80 2116 DEFB 128 - 00000096 10 2117 DEFB 16 - 00000097 ED 2118 DEFB 237 - 00000098 39 2119 DEFB '9' - 00000099 38 2120 DEFB '8' - 0000009A E9 2121 DEFB 233 - 0000009B 11 2122 DEFB 17 - 0000009C 04 2123 DEFB 4 - 0000009D 00 2124 DEFB 0 - 0000009E 21 2125 DEFB '!' - 0000009F E5 2126 DEFB 229 - 000000A0 07 2127 DEFB 7 - 000000A1 CD 2128 DEFB 205 - 000000A2 C5 2129 DEFB 197 - 000000A3 04 2130 DEFB 4 - 000000A4 2A 2131 DEFB '*' - 000000A5 E5 2132 DEFB 229 - 000000A6 07 2133 DEFB 7 - 000000A7 11 2134 DEFB 17 - 000000A8 C6 2135 DEFB 198 - 000000A9 31 2136 DEFB '1' - 000000AA B7 2137 DEFB 183 - 000000AB ED 2138 DEFB 237 - 000000AC 52 2139 DEFB 'R' - 000000AD 20 2140 DEFB ' ' - 000000AE 4E 2141 DEFB 'N' - 000000AF 2A 2142 DEFB '*' - 000000B0 E7 2143 DEFB 231 - 000000B1 07 2144 DEFB 7 - 000000B2 22 2145 DEFB '"' - 000000B3 93 2146 DEFB 147 - 000000B4 07 2147 DEFB 7 - 000000B5 2A 2148 DEFB '*' - 000000B6 E9 2149 DEFB 233 - 000000B7 07 2150 DEFB 7 - 000000B8 22 2151 DEFB '"' - 000000B9 95 2152 DEFB 149 - 000000BA 07 2153 DEFB 7 - 000000BB 2A 2154 DEFB '*' - 000000BC EB 2155 DEFB 235 - 000000BD 07 2156 DEFB 7 - 000000BE 22 2157 DEFB '"' - 000000BF 97 2158 DEFB 151 - 000000C0 07 2159 DEFB 7 - 000000C1 C9 2160 DEFB 201 - 000000C2 2A 2161 DEFB '*' - 000000C3 FF 2162 DEFB 255 - 000000C4 0D 2163 DEFB 13 - 000000C5 11 2164 DEFB 17 - 000000C6 C9 2165 DEFB 201 - 000000C7 A6 2166 DEFB 166 - 000000C8 B7 2167 DEFB 183 - 000000C9 ED 2168 DEFB 237 - 000000CA 52 2169 DEFB 'R' - 000000CB C8 2170 DEFB 200 - 000000CC CD 2171 DEFB 205 - 000000CD 56 2172 DEFB 'V' - 000000CE 01 2173 DEFB 1 - 000000CF 62 2174 DEFB 'b' - 000000D0 61 2175 DEFB 'a' - 000000D1 64 2176 DEFB 'd' - 000000D2 20 2177 DEFB ' ' - 000000D3 65 2178 DEFB 'e' - 000000D4 5F 2179 DEFB '_' - 000000D5 6D 2180 DEFB 'm' - 000000D6 61 2181 DEFB 'a' - 000000D7 67 2182 DEFB 'g' - 000000D8 69 2183 DEFB 'i' - 000000D9 63 2184 DEFB 'c' - 000000DA 3A 2185 DEFB ':' - 000000DB 20 2186 DEFB ' ' - 000000DC 00 2187 DEFB 0 - 000000DD 18 2188 DEFB 24 - 000000DE 2D 2189 DEFB '-' - 000000DF 2A 2190 DEFB '*' - 000000E0 01 2191 DEFB 1 - 000000E1 0E 2192 DEFB 14 - 000000E2 11 2193 DEFB 17 - 000000E3 03 2194 DEFB 3 - 000000E4 00 2195 DEFB 0 - 000000E5 B7 2196 DEFB 183 - 000000E6 ED 2197 DEFB 237 - 000000E7 52 2198 DEFB 'R' - 000000E8 C8 2199 DEFB 200 - 000000E9 CD 2200 DEFB 205 - 000000EA 56 2201 DEFB 'V' - 000000EB 01 2202 DEFB 1 - 000000EC 62 2203 DEFB 'b' - 000000ED 61 2204 DEFB 'a' - 000000EE 64 2205 DEFB 'd' - 000000EF 20 2206 DEFB ' ' - 000000F0 65 2207 DEFB 'e' - 000000F1 5F 2208 DEFB '_' - 000000F2 66 2209 DEFB 'f' - 000000F3 6F 2210 DEFB 'o' - 000000F4 72 2211 DEFB 'r' - 000000F5 6D 2212 DEFB 'm' - 000000F6 61 2213 DEFB 'a' - 000000F7 74 2214 DEFB 't' - 000000F8 3A 2215 DEFB ':' - 000000F9 20 2216 DEFB ' ' - 000000FA 00 2217 DEFB 0 - 000000FB 18 2218 DEFB 24 - 000000FC 0F 2219 DEFB 15 - 000000FD CD 2220 DEFB 205 - 000000FE 56 2221 DEFB 'V' - 000000FF 01 2222 DEFB 1 - 00000100 62 2223 DEFB 'b' - 00000101 61 2224 DEFB 'a' - 00000102 64 2225 DEFB 'd' - 00000103 20 2226 DEFB ' ' - 00000104 6D 2227 DEFB 'm' - 00000105 61 2228 DEFB 'a' - 00000106 67 2229 DEFB 'g' - 00000107 69 2230 DEFB 'i' - 00000108 63 2231 DEFB 'c' - 00000109 3A 2232 DEFB ':' - 0000010A 20 2233 DEFB ' ' - 0000010B 00 2234 DEFB 0 - 0000010C 19 2235 DEFB 25 - 0000010D CD 2236 DEFB 205 - 0000010E 1F 2237 DEFB 31 - 0000010F 06 2238 DEFB 6 - 00000110 CD 2239 DEFB 205 - 00000111 16 2240 DEFB 22 - 00000112 06 2241 DEFB 6 - 00000113 CD 2242 DEFB 205 - 00000114 56 2243 DEFB 'V' - 00000115 01 2244 DEFB 1 - 00000116 64 2245 DEFB 'd' - 00000117 6F 2246 DEFB 'o' - 00000118 69 2247 DEFB 'i' - 00000119 6E 2248 DEFB 'n' - 0000011A 67 2249 DEFB 'g' - 0000011B 20 2250 DEFB ' ' - 0000011C 61 2251 DEFB 'a' - 0000011D 20 2252 DEFB ' ' - 0000011E 63 2253 DEFB 'c' - 0000011F 6C 2254 DEFB 'l' - 00000120 65 2255 DEFB 'e' - 00000121 61 2256 DEFB 'a' - 00000122 6E 2257 DEFB 'n' - 00000123 20 2258 DEFB ' ' - 00000124 62 2259 DEFB 'b' - 00000125 6F 2260 DEFB 'o' - 00000126 6F 2261 DEFB 'o' - 00000127 74 2262 DEFB 't' - 00000128 0D 2263 DEFB 13 - 00000129 0A 2264 DEFB 10 - 0000012A 00 2265 DEFB 0 - 0000012B 21 2266 DEFB '!' - 0000012C E5 2267 DEFB 229 - 0000012D 07 2268 DEFB 7 - 0000012E 11 2269 DEFB 17 - 0000012F E6 2270 DEFB 230 - 00000130 07 2271 DEFB 7 - 00000131 01 2272 DEFB 1 - 00000132 FF 2273 DEFB 255 - 00000133 01 2274 DEFB 1 - 00000134 36 2275 DEFB '6' - 00000135 AA 2276 DEFB 170 - 00000136 ED 2277 DEFB 237 - 00000137 B0 2278 DEFB 176 - 00000138 11 2279 DEFB 17 - 00000139 00 2280 DEFB 0 - 0000013A 00 2281 DEFB 0 - 0000013B 06 2282 DEFB 6 - 0000013C 04 2283 DEFB 4 - 0000013D C5 2284 DEFB 197 - 0000013E D5 2285 DEFB 213 - 0000013F 21 2286 DEFB '!' - 00000140 E5 2287 DEFB 229 - 00000141 07 2288 DEFB 7 - 00000142 CD 2289 DEFB 205 - 00000143 D3 2290 DEFB 211 - 00000144 04 2291 DEFB 4 - 00000145 D1 2292 DEFB 209 - 00000146 C1 2293 DEFB 193 - 00000147 13 2294 DEFB 19 - 00000148 10 2295 DEFB 16 - 00000149 F3 2296 DEFB 243 - 0000014A 3E 2297 DEFB '>' - 0000014B AA 2298 DEFB 170 - 0000014C ED 2299 DEFB 237 - 0000014D 39 2300 DEFB '9' - 0000014E 0B 2301 DEFB 11 - 0000014F 3E 2302 DEFB '>' - 00000150 13 2303 DEFB 19 - 00000151 ED 2304 DEFB 237 - 00000152 39 2305 DEFB '9' - 00000153 0A 2306 DEFB 10 - 00000154 18 2307 DEFB 24 - 00000155 FE 2308 DEFB 254 - 00000156 CD 2309 DEFB 205 - 00000157 37 2310 DEFB '7' - 00000158 06 2311 DEFB 6 - 00000159 67 2312 DEFB 'g' - 0000015A 62 2313 DEFB 'b' - 0000015B 6F 2314 DEFB 'o' - 0000015C 6F 2315 DEFB 'o' - 0000015D 74 2316 DEFB 't' - 0000015E 3A 2317 DEFB ':' - 0000015F 20 2318 DEFB ' ' - 00000160 00 2319 DEFB 0 - 00000161 C3 2320 DEFB 195 - 00000162 37 2321 DEFB '7' - 00000163 06 2322 DEFB 6 - 00000164 11 2323 DEFB 17 - 00000165 02 2324 DEFB 2 - 00000166 00 2325 DEFB 0 - 00000167 CD 2326 DEFB 205 - 00000168 84 2327 DEFB 132 - 00000169 01 2328 DEFB 1 - 0000016A 3E 2329 DEFB '>' - 0000016B 81 2330 DEFB 129 - 0000016C ED 2331 DEFB 237 - 0000016D 39 2332 DEFB '9' - 0000016E 0B 2333 DEFB 11 - 0000016F 3E 2334 DEFB '>' - 00000170 13 2335 DEFB 19 - 00000171 ED 2336 DEFB 237 - 00000172 39 2337 DEFB '9' - 00000173 0A 2338 DEFB 10 - 00000174 97 2339 DEFB 151 - 00000175 3D 2340 DEFB '=' - 00000176 20 2341 DEFB ' ' - 00000177 FD 2342 DEFB 253 - 00000178 3D 2343 DEFB '=' - 00000179 20 2344 DEFB ' ' - 0000017A FD 2345 DEFB 253 - 0000017B 3D 2346 DEFB '=' - 0000017C 20 2347 DEFB ' ' - 0000017D FD 2348 DEFB 253 - 0000017E 3D 2349 DEFB '=' - 0000017F 20 2350 DEFB ' ' - 00000180 FD 2351 DEFB 253 - 00000181 11 2352 DEFB 17 - 00000182 00 2353 DEFB 0 - 00000183 02 2354 DEFB 2 - 00000184 21 2355 DEFB '!' - 00000185 81 2356 DEFB 129 - 00000186 FC 2357 DEFB 252 - 00000187 E5 2358 DEFB 229 - 00000188 FD 2359 DEFB 253 - 00000189 E1 2360 DEFB 225 - 0000018A 01 2361 DEFB 1 - 0000018B 05 2362 DEFB 5 - 0000018C 00 2363 DEFB 0 - 0000018D C3 2364 DEFB 195 - 0000018E 46 2365 DEFB 'F' - 0000018F 06 2366 DEFB 6 - 00000190 CD 2367 DEFB 205 - 00000191 56 2368 DEFB 'V' - 00000192 01 2369 DEFB 1 - 00000193 73 2370 DEFB 's' - 00000194 74 2371 DEFB 't' - 00000195 61 2372 DEFB 'a' - 00000196 72 2373 DEFB 'r' - 00000197 74 2374 DEFB 't' - 00000198 69 2375 DEFB 'i' - 00000199 6E 2376 DEFB 'n' - 0000019A 67 2377 DEFB 'g' - 0000019B 20 2378 DEFB ' ' - 0000019C 6F 2379 DEFB 'o' - 0000019D 70 2380 DEFB 'p' - 0000019E 65 2381 DEFB 'e' - 0000019F 72 2382 DEFB 'r' - 000001A0 61 2383 DEFB 'a' - 000001A1 74 2384 DEFB 't' - 000001A2 69 2385 DEFB 'i' - 000001A3 6E 2386 DEFB 'n' - 000001A4 67 2387 DEFB 'g' - 000001A5 20 2388 DEFB ' ' - 000001A6 73 2389 DEFB 's' - 000001A7 79 2390 DEFB 'y' - 000001A8 73 2391 DEFB 's' - 000001A9 74 2392 DEFB 't' - 000001AA 65 2393 DEFB 'e' - 000001AB 6D 2394 DEFB 'm' - 000001AC 0D 2395 DEFB 13 - 000001AD 0A 2396 DEFB 10 - 000001AE 00 2397 DEFB 0 - 000001AF C9 2398 DEFB 201 - 000001B0 CD 2399 DEFB 205 - 000001B1 64 2400 DEFB 'd' - 000001B2 01 2401 DEFB 1 - 000001B3 3E 2402 DEFB '>' - 000001B4 10 2403 DEFB 16 - 000001B5 ED 2404 DEFB 237 - 000001B6 39 2405 DEFB '9' - 000001B7 3A 2406 DEFB ':' - 000001B8 3E 2407 DEFB '>' - 000001B9 FF 2408 DEFB 255 - 000001BA ED 2409 DEFB 237 - 000001BB 39 2410 DEFB '9' - 000001BC 38 2411 DEFB '8' - 000001BD 11 2412 DEFB 17 - 000001BE 01 2413 DEFB 1 - 000001BF 1F 2414 DEFB 31 - 000001C0 01 2415 DEFB 1 - 000001C1 FF 2416 DEFB 255 - 000001C2 00 2417 DEFB 0 - 000001C3 CD 2418 DEFB 205 - 000001C4 E8 2419 DEFB 232 - 000001C5 01 2420 DEFB 1 - 000001C6 21 2421 DEFB '!' - 000001C7 00 2422 DEFB 0 - 000001C8 F1 2423 DEFB 241 - 000001C9 22 2424 DEFB '"' - 000001CA 80 2425 DEFB 128 - 000001CB 1F 2426 DEFB 31 - 000001CC 97 2427 DEFB 151 - 000001CD ED 2428 DEFB 237 - 000001CE 39 2429 DEFB '9' - 000001CF 38 2430 DEFB '8' - 000001D0 11 2431 DEFB 17 - 000001D1 01 2432 DEFB 1 - 000001D2 10 2433 DEFB 16 - 000001D3 0D 2434 DEFB 13 - 000001D4 CD 2435 DEFB 205 - 000001D5 E8 2436 DEFB 232 - 000001D6 01 2437 DEFB 1 - 000001D7 21 2438 DEFB '!' - 000001D8 80 2439 DEFB 128 - 000001D9 0F 2440 DEFB 15 - 000001DA 22 2441 DEFB '"' - 000001DB FC 2442 DEFB 252 - 000001DC 10 2443 DEFB 16 - 000001DD 21 2444 DEFB '!' - 000001DE 80 2445 DEFB 128 - 000001DF 10 2446 DEFB 16 - 000001E0 22 2447 DEFB '"' - 000001E1 FE 2448 DEFB 254 - 000001E2 10 2449 DEFB 16 - 000001E3 C9 2450 DEFB 201 - 000001E4 CD 2451 DEFB 205 - 000001E5 0B 2452 DEFB 11 - 000001E6 02 2453 DEFB 2 - 000001E7 D8 2454 DEFB 216 - 000001E8 6B 2455 DEFB 'k' - 000001E9 62 2456 DEFB 'b' - 000001EA 2B 2457 DEFB '+' - 000001EB 36 2458 DEFB '6' - 000001EC 00 2459 DEFB 0 - 000001ED 79 2460 DEFB 'y' - 000001EE B0 2461 DEFB 176 - 000001EF C8 2462 DEFB 200 - 000001F0 ED 2463 DEFB 237 - 000001F1 B0 2464 DEFB 176 - 000001F2 C9 2465 DEFB 201 - 000001F3 B7 2466 DEFB 183 - 000001F4 ED 2467 DEFB 237 - 000001F5 52 2468 DEFB 'R' - 000001F6 D0 2469 DEFB 208 - 000001F7 19 2470 DEFB 25 - 000001F8 EB 2471 DEFB 235 - 000001F9 C9 2472 DEFB 201 - 000001FA 2A 2473 DEFB '*' - 000001FB 07 2474 DEFB 7 - 000001FC 0E 2475 DEFB 14 - 000001FD 11 2476 DEFB 17 - 000001FE 14 2477 DEFB 20 - 000001FF 00 2478 DEFB 0 - 00000200 18 2479 DEFB 24 - 00000201 11 2480 DEFB 17 - 00000202 2A 2481 DEFB '*' - 00000203 0D 2482 DEFB 13 - 00000204 0E 2483 DEFB 14 - 00000205 ED 2484 DEFB 237 - 00000206 5B 2485 DEFB '[' - 00000207 09 2486 DEFB 9 - 00000208 0E 2487 DEFB 14 - 00000209 18 2488 DEFB 24 - 0000020A 08 2489 DEFB 8 - 0000020B 2A 2490 DEFB '*' - 0000020C 11 2491 DEFB 17 - 0000020D 0E 2492 DEFB 14 - 0000020E ED 2493 DEFB 237 - 0000020F 5B 2494 DEFB '[' - 00000210 0D 2495 DEFB 13 - 00000211 0E 2496 DEFB 14 - 00000212 13 2497 DEFB 19 - 00000213 B7 2498 DEFB 183 - 00000214 ED 2499 DEFB 237 - 00000215 52 2500 DEFB 'R' - 00000216 4D 2501 DEFB 'M' - 00000217 44 2502 DEFB 'D' - 00000218 C9 2503 DEFB 201 - 00000219 22 2504 DEFB '"' - 0000021A 99 2505 DEFB 153 - 0000021B 07 2506 DEFB 7 - 0000021C CD 2507 DEFB 205 - 0000021D B3 2508 DEFB 179 - 0000021E 03 2509 DEFB 3 - 0000021F 01 2510 DEFB 1 - 00000220 10 2511 DEFB 16 - 00000221 00 2512 DEFB 0 - 00000222 21 2513 DEFB '!' - 00000223 E5 2514 DEFB 229 - 00000224 0D 2515 DEFB 13 - 00000225 CD 2516 DEFB 205 - 00000226 3C 2517 DEFB '<' - 00000227 03 2518 DEFB 3 - 00000228 D8 2519 DEFB 216 - 00000229 23 2520 DEFB '#' - 0000022A ED 2521 DEFB 237 - 0000022B 5B 2522 DEFB '[' - 0000022C 99 2523 DEFB 153 - 0000022D 07 2524 DEFB 7 - 0000022E 06 2525 DEFB 6 - 0000022F 0E 2526 DEFB 14 - 00000230 23 2527 DEFB '#' - 00000231 1A 2528 DEFB 26 - 00000232 BE 2529 DEFB 190 - 00000233 20 2530 DEFB ' ' - 00000234 EA 2531 DEFB 234 - 00000235 B7 2532 DEFB 183 - 00000236 28 2533 DEFB '(' - 00000237 05 2534 DEFB 5 - 00000238 13 2535 DEFB 19 - 00000239 10 2536 DEFB 16 - 0000023A F5 2537 DEFB 245 - 0000023B 1A 2538 DEFB 26 - 0000023C B7 2539 DEFB 183 - 0000023D ED 2540 DEFB 237 - 0000023E 5B 2541 DEFB '[' - 0000023F E5 2542 DEFB 229 - 00000240 0D 2543 DEFB 13 - 00000241 C9 2544 DEFB 201 - 00000242 CD 2545 DEFB 205 - 00000243 56 2546 DEFB 'V' - 00000244 01 2547 DEFB 1 - 00000245 66 2548 DEFB 'f' - 00000246 69 2549 DEFB 'i' - 00000247 6C 2550 DEFB 'l' - 00000248 65 2551 DEFB 'e' - 00000249 20 2552 DEFB ' ' - 0000024A 6E 2553 DEFB 'n' - 0000024B 6F 2554 DEFB 'o' - 0000024C 74 2555 DEFB 't' - 0000024D 20 2556 DEFB ' ' - 0000024E 66 2557 DEFB 'f' - 0000024F 6F 2558 DEFB 'o' - 00000250 75 2559 DEFB 'u' - 00000251 6E 2560 DEFB 'n' - 00000252 64 2561 DEFB 'd' - 00000253 0D 2562 DEFB 13 - 00000254 0A 2563 DEFB 10 - 00000255 00 2564 DEFB 0 - 00000256 C3 2565 DEFB 195 - 00000257 13 2566 DEFB 19 - 00000258 01 2567 DEFB 1 - 00000259 CD 2568 DEFB 205 - 0000025A 56 2569 DEFB 'V' - 0000025B 01 2570 DEFB 1 - 0000025C 66 2571 DEFB 'f' - 0000025D 69 2572 DEFB 'i' - 0000025E 6C 2573 DEFB 'l' - 0000025F 65 2574 DEFB 'e' - 00000260 20 2575 DEFB ' ' - 00000261 74 2576 DEFB 't' - 00000262 6F 2577 DEFB 'o' - 00000263 6F 2578 DEFB 'o' - 00000264 20 2579 DEFB ' ' - 00000265 73 2580 DEFB 's' - 00000266 68 2581 DEFB 'h' - 00000267 6F 2582 DEFB 'o' - 00000268 72 2583 DEFB 'r' - 00000269 74 2584 DEFB 't' - 0000026A 0D 2585 DEFB 13 - 0000026B 0A 2586 DEFB 10 - 0000026C 00 2587 DEFB 0 - 0000026D C3 2588 DEFB 195 - 0000026E 13 2589 DEFB 19 - 0000026F 01 2590 DEFB 1 - 00000270 11 2591 DEFB 17 - 00000271 01 2592 DEFB 1 - 00000272 00 2593 DEFB 0 - 00000273 21 2594 DEFB '!' - 00000274 71 2595 DEFB 'q' - 00000275 07 2596 DEFB 7 - 00000276 CD 2597 DEFB 205 - 00000277 19 2598 DEFB 25 - 00000278 02 2599 DEFB 2 - 00000279 20 2600 DEFB ' ' - 0000027A C7 2601 DEFB 199 - 0000027B 21 2602 DEFB '!' - 0000027C 76 2603 DEFB 'v' - 0000027D 07 2604 DEFB 7 - 0000027E CD 2605 DEFB 205 - 0000027F 19 2606 DEFB 25 - 00000280 02 2607 DEFB 2 - 00000281 20 2608 DEFB ' ' - 00000282 BF 2609 DEFB 191 - 00000283 CD 2610 DEFB 205 - 00000284 B3 2611 DEFB 179 - 00000285 03 2612 DEFB 3 - 00000286 21 2613 DEFB '!' - 00000287 FF 2614 DEFB 255 - 00000288 0D 2615 DEFB 13 - 00000289 01 2616 DEFB 1 - 0000028A 14 2617 DEFB 20 - 0000028B 00 2618 DEFB 0 - 0000028C CD 2619 DEFB 205 - 0000028D 3C 2620 DEFB '<' - 0000028E 03 2621 DEFB 3 - 0000028F 38 2622 DEFB '8' - 00000290 C8 2623 DEFB 200 - 00000291 CD 2624 DEFB 205 - 00000292 C2 2625 DEFB 194 - 00000293 00 2626 DEFB 0 - 00000294 CD 2627 DEFB 205 - 00000295 DF 2628 DEFB 223 - 00000296 00 2629 DEFB 0 - 00000297 3E 2630 DEFB '>' - 00000298 FF 2631 DEFB 255 - 00000299 ED 2632 DEFB 237 - 0000029A 39 2633 DEFB '9' - 0000029B 38 2634 DEFB '8' - 0000029C CD 2635 DEFB 205 - 0000029D FA 2636 DEFB 250 - 0000029E 01 2637 DEFB 1 - 0000029F 21 2638 DEFB '!' - 000002A0 00 2639 DEFB 0 - 000002A1 10 2640 DEFB 16 - 000002A2 CD 2641 DEFB 205 - 000002A3 3C 2642 DEFB '<' - 000002A4 03 2643 DEFB 3 - 000002A5 97 2644 DEFB 151 - 000002A6 ED 2645 DEFB 237 - 000002A7 39 2646 DEFB '9' - 000002A8 38 2647 DEFB '8' - 000002A9 CD 2648 DEFB 205 - 000002AA 02 2649 DEFB 2 - 000002AB 02 2650 DEFB 2 - 000002AC EB 2651 DEFB 235 - 000002AD CD 2652 DEFB 205 - 000002AE 3C 2653 DEFB '<' - 000002AF 03 2654 DEFB 3 - 000002B0 CD 2655 DEFB 205 - 000002B1 E4 2656 DEFB 228 - 000002B2 01 2657 DEFB 1 - 000002B3 21 2658 DEFB '!' - 000002B4 15 2659 DEFB 21 - 000002B5 0E 2660 DEFB 14 - 000002B6 22 2661 DEFB '"' - 000002B7 13 2662 DEFB 19 - 000002B8 0E 2663 DEFB 14 - 000002B9 CD 2664 DEFB 205 - 000002BA BF 2665 DEFB 191 - 000002BB 03 2666 DEFB 3 - 000002BC CD 2667 DEFB 205 - 000002BD DE 2668 DEFB 222 - 000002BE 03 2669 DEFB 3 - 000002BF 7D 2670 DEFB '}' - 000002C0 B4 2671 DEFB 180 - 000002C1 28 2672 DEFB '(' - 000002C2 3E 2673 DEFB '>' - 000002C3 CD 2674 DEFB 205 - 000002C4 06 2675 DEFB 6 - 000002C5 04 2676 DEFB 4 - 000002C6 7B 2677 DEFB '{' - 000002C7 B2 2678 DEFB 178 - 000002C8 28 2679 DEFB '(' - 000002C9 49 2680 DEFB 'I' - 000002CA 7B 2681 DEFB '{' - 000002CB E6 2682 DEFB 230 - 000002CC 07 2683 DEFB 7 - 000002CD 20 2684 DEFB ' ' - 000002CE 59 2685 DEFB 'Y' - 000002CF 2A 2686 DEFB '*' - 000002D0 13 2687 DEFB 19 - 000002D1 0E 2688 DEFB 14 - 000002D2 73 2689 DEFB 's' - 000002D3 23 2690 DEFB '#' - 000002D4 72 2691 DEFB 'r' - 000002D5 23 2692 DEFB '#' - 000002D6 22 2693 DEFB '"' - 000002D7 13 2694 DEFB 19 - 000002D8 0E 2695 DEFB 14 - 000002D9 06 2696 DEFB 6 - 000002DA 1F 2697 DEFB 31 - 000002DB C5 2698 DEFB 197 - 000002DC D5 2699 DEFB 213 - 000002DD CD 2700 DEFB 205 - 000002DE DE 2701 DEFB 222 - 000002DF 03 2702 DEFB 3 - 000002E0 7D 2703 DEFB '}' - 000002E1 B4 2704 DEFB 180 - 000002E2 28 2705 DEFB '(' - 000002E3 1A 2706 DEFB 26 - 000002E4 CD 2707 DEFB 205 - 000002E5 06 2708 DEFB 6 - 000002E6 04 2709 DEFB 4 - 000002E7 7B 2710 DEFB '{' - 000002E8 B2 2711 DEFB 178 - 000002E9 28 2712 DEFB '(' - 000002EA 28 2713 DEFB '(' - 000002EB EB 2714 DEFB 235 - 000002EC D1 2715 DEFB 209 - 000002ED 13 2716 DEFB 19 - 000002EE B7 2717 DEFB 183 - 000002EF ED 2718 DEFB 237 - 000002F0 52 2719 DEFB 'R' - 000002F1 20 2720 DEFB ' ' - 000002F2 35 2721 DEFB '5' - 000002F3 C1 2722 DEFB 193 - 000002F4 10 2723 DEFB 16 - 000002F5 E5 2724 DEFB 229 - 000002F6 CD 2725 DEFB 205 - 000002F7 DE 2726 DEFB 222 - 000002F8 03 2727 DEFB 3 - 000002F9 7D 2728 DEFB '}' - 000002FA B4 2729 DEFB 180 - 000002FB 20 2730 DEFB ' ' - 000002FC C6 2731 DEFB 198 - 000002FD C9 2732 DEFB 201 - 000002FE E1 2733 DEFB 225 - 000002FF E1 2734 DEFB 225 - 00000300 C9 2735 DEFB 201 - 00000301 CD 2736 DEFB 205 - 00000302 56 2737 DEFB 'V' - 00000303 01 2738 DEFB 1 - 00000304 6E 2739 DEFB 'n' - 00000305 75 2740 DEFB 'u' - 00000306 6C 2741 DEFB 'l' - 00000307 6C 2742 DEFB 'l' - 00000308 20 2743 DEFB ' ' - 00000309 66 2744 DEFB 'f' - 0000030A 69 2745 DEFB 'i' - 0000030B 6C 2746 DEFB 'l' - 0000030C 65 2747 DEFB 'e' - 0000030D 0D 2748 DEFB 13 - 0000030E 0A 2749 DEFB 10 - 0000030F 00 2750 DEFB 0 - 00000310 C3 2751 DEFB 195 - 00000311 13 2752 DEFB 19 - 00000312 01 2753 DEFB 1 - 00000313 CD 2754 DEFB 205 - 00000314 56 2755 DEFB 'V' - 00000315 01 2756 DEFB 1 - 00000316 68 2757 DEFB 'h' - 00000317 6F 2758 DEFB 'o' - 00000318 6C 2759 DEFB 'l' - 00000319 65 2760 DEFB 'e' - 0000031A 20 2761 DEFB ' ' - 0000031B 69 2762 DEFB 'i' - 0000031C 6E 2763 DEFB 'n' - 0000031D 20 2764 DEFB ' ' - 0000031E 66 2765 DEFB 'f' - 0000031F 69 2766 DEFB 'i' - 00000320 6C 2767 DEFB 'l' - 00000321 65 2768 DEFB 'e' - 00000322 0D 2769 DEFB 13 - 00000323 0A 2770 DEFB 10 - 00000324 00 2771 DEFB 0 - 00000325 C3 2772 DEFB 195 - 00000326 13 2773 DEFB 19 - 00000327 01 2774 DEFB 1 - 00000328 CD 2775 DEFB 205 - 00000329 56 2776 DEFB 'V' - 0000032A 01 2777 DEFB 1 - 0000032B 6E 2778 DEFB 'n' - 0000032C 6F 2779 DEFB 'o' - 0000032D 74 2780 DEFB 't' - 0000032E 20 2781 DEFB ' ' - 0000032F 61 2782 DEFB 'a' - 00000330 6C 2783 DEFB 'l' - 00000331 69 2784 DEFB 'i' - 00000332 67 2785 DEFB 'g' - 00000333 6E 2786 DEFB 'n' - 00000334 65 2787 DEFB 'e' - 00000335 64 2788 DEFB 'd' - 00000336 0D 2789 DEFB 13 - 00000337 0A 2790 DEFB 10 - 00000338 00 2791 DEFB 0 - 00000339 C3 2792 DEFB 195 - 0000033A 13 2793 DEFB 19 - 0000033B 01 2794 DEFB 1 - 0000033C E5 2795 DEFB 229 - 0000033D C5 2796 DEFB 197 - 0000033E ED 2797 DEFB 237 - 0000033F 43 2798 DEFB 'C' - 00000340 F9 2799 DEFB 249 - 00000341 0D 2800 DEFB 13 - 00000342 22 2801 DEFB '"' - 00000343 FB 2802 DEFB 251 - 00000344 0D 2803 DEFB 13 - 00000345 21 2804 DEFB '!' - 00000346 00 2805 DEFB 0 - 00000347 00 2806 DEFB 0 - 00000348 22 2807 DEFB '"' - 00000349 FD 2808 DEFB 253 - 0000034A 0D 2809 DEFB 13 - 0000034B 2A 2810 DEFB '*' - 0000034C F5 2811 DEFB 245 - 0000034D 0D 2812 DEFB 13 - 0000034E 7D 2813 DEFB '}' - 0000034F B4 2814 DEFB 180 - 00000350 20 2815 DEFB ' ' - 00000351 1A 2816 DEFB 26 - 00000352 CD 2817 DEFB 205 - 00000353 DE 2818 DEFB 222 - 00000354 03 2819 DEFB 3 - 00000355 7D 2820 DEFB '}' - 00000356 B4 2821 DEFB 180 - 00000357 28 2822 DEFB '(' - 00000358 4F 2823 DEFB 'O' - 00000359 22 2824 DEFB '"' - 0000035A F5 2825 DEFB 245 - 0000035B 0D 2826 DEFB 13 - 0000035C CD 2827 DEFB 205 - 0000035D 06 2828 DEFB 6 - 0000035E 04 2829 DEFB 4 - 0000035F 7B 2830 DEFB '{' - 00000360 B2 2831 DEFB 178 - 00000361 28 2832 DEFB '(' - 00000362 B0 2833 DEFB 176 - 00000363 21 2834 DEFB '!' - 00000364 E5 2835 DEFB 229 - 00000365 07 2836 DEFB 7 - 00000366 22 2837 DEFB '"' - 00000367 F7 2838 DEFB 247 - 00000368 0D 2839 DEFB 13 - 00000369 CD 2840 DEFB 205 - 0000036A C5 2841 DEFB 197 - 0000036B 04 2842 DEFB 4 - 0000036C 2A 2843 DEFB '*' - 0000036D F5 2844 DEFB 245 - 0000036E 0D 2845 DEFB 13 - 0000036F ED 2846 DEFB 237 - 00000370 5B 2847 DEFB '[' - 00000371 F9 2848 DEFB 249 - 00000372 0D 2849 DEFB 13 - 00000373 CD 2850 DEFB 205 - 00000374 F3 2851 DEFB 243 - 00000375 01 2852 DEFB 1 - 00000376 2A 2853 DEFB '*' - 00000377 F5 2854 DEFB 245 - 00000378 0D 2855 DEFB 13 - 00000379 B7 2856 DEFB 183 - 0000037A ED 2857 DEFB 237 - 0000037B 52 2858 DEFB 'R' - 0000037C 22 2859 DEFB '"' - 0000037D F5 2860 DEFB 245 - 0000037E 0D 2861 DEFB 13 - 0000037F 2A 2862 DEFB '*' - 00000380 F9 2863 DEFB 249 - 00000381 0D 2864 DEFB 13 - 00000382 B7 2865 DEFB 183 - 00000383 ED 2866 DEFB 237 - 00000384 52 2867 DEFB 'R' - 00000385 22 2868 DEFB '"' - 00000386 F9 2869 DEFB 249 - 00000387 0D 2870 DEFB 13 - 00000388 2A 2871 DEFB '*' - 00000389 FD 2872 DEFB 253 - 0000038A 0D 2873 DEFB 13 - 0000038B 19 2874 DEFB 25 - 0000038C 22 2875 DEFB '"' - 0000038D FD 2876 DEFB 253 - 0000038E 0D 2877 DEFB 13 - 0000038F 4B 2878 DEFB 'K' - 00000390 42 2879 DEFB 'B' - 00000391 ED 2880 DEFB 237 - 00000392 5B 2881 DEFB '[' - 00000393 FB 2882 DEFB 251 - 00000394 0D 2883 DEFB 13 - 00000395 2A 2884 DEFB '*' - 00000396 F7 2885 DEFB 247 - 00000397 0D 2886 DEFB 13 - 00000398 ED 2887 DEFB 237 - 00000399 B0 2888 DEFB 176 - 0000039A 22 2889 DEFB '"' - 0000039B F7 2890 DEFB 247 - 0000039C 0D 2891 DEFB 13 - 0000039D ED 2892 DEFB 237 - 0000039E 53 2893 DEFB 'S' - 0000039F FB 2894 DEFB 251 - 000003A0 0D 2895 DEFB 13 - 000003A1 2A 2896 DEFB '*' - 000003A2 F9 2897 DEFB 249 - 000003A3 0D 2898 DEFB 13 - 000003A4 7D 2899 DEFB '}' - 000003A5 B4 2900 DEFB 180 - 000003A6 20 2901 DEFB ' ' - 000003A7 AA 2902 DEFB 170 - 000003A8 2A 2903 DEFB '*' - 000003A9 FD 2904 DEFB 253 - 000003AA 0D 2905 DEFB 13 - 000003AB 4D 2906 DEFB 'M' - 000003AC 44 2907 DEFB 'D' - 000003AD D1 2908 DEFB 209 - 000003AE B7 2909 DEFB 183 - 000003AF ED 2910 DEFB 237 - 000003B0 52 2911 DEFB 'R' - 000003B1 E1 2912 DEFB 225 - 000003B2 C9 2913 DEFB 201 - 000003B3 21 2914 DEFB '!' - 000003B4 A5 2915 DEFB 165 - 000003B5 07 2916 DEFB 7 - 000003B6 CD 2917 DEFB 205 - 000003B7 79 2918 DEFB 'y' - 000003B8 04 2919 DEFB 4 - 000003B9 21 2920 DEFB '!' - 000003BA 00 2921 DEFB 0 - 000003BB 00 2922 DEFB 0 - 000003BC 22 2923 DEFB '"' - 000003BD F5 2924 DEFB 245 - 000003BE 0D 2925 DEFB 13 - 000003BF 2A 2926 DEFB '*' - 000003C0 AD 2927 DEFB 173 - 000003C1 07 2928 DEFB 7 - 000003C2 22 2929 DEFB '"' - 000003C3 9B 2930 DEFB 155 - 000003C4 07 2931 DEFB 7 - 000003C5 2A 2932 DEFB '*' - 000003C6 AF 2933 DEFB 175 - 000003C7 07 2934 DEFB 7 - 000003C8 22 2935 DEFB '"' - 000003C9 9D 2936 DEFB 157 - 000003CA 07 2937 DEFB 7 - 000003CB 21 2938 DEFB '!' - 000003CC BD 2939 DEFB 189 - 000003CD 07 2940 DEFB 7 - 000003CE 22 2941 DEFB '"' - 000003CF 9F 2942 DEFB 159 - 000003D0 07 2943 DEFB 7 - 000003D1 21 2944 DEFB '!' - 000003D2 E5 2945 DEFB 229 - 000003D3 0B 2946 DEFB 11 - 000003D4 22 2947 DEFB '"' - 000003D5 A1 2948 DEFB 161 - 000003D6 07 2949 DEFB 7 - 000003D7 21 2950 DEFB '!' - 000003D8 E5 2951 DEFB 229 - 000003D9 0D 2952 DEFB 13 - 000003DA 22 2953 DEFB '"' - 000003DB A3 2954 DEFB 163 - 000003DC 07 2955 DEFB 7 - 000003DD C9 2956 DEFB 201 - 000003DE 2A 2957 DEFB '*' - 000003DF 9B 2958 DEFB 155 - 000003E0 07 2959 DEFB 7 - 000003E1 ED 2960 DEFB 237 - 000003E2 5B 2961 DEFB '[' - 000003E3 9D 2962 DEFB 157 - 000003E4 07 2963 DEFB 7 - 000003E5 01 2964 DEFB 1 - 000003E6 00 2965 DEFB 0 - 000003E7 02 2966 DEFB 2 - 000003E8 B7 2967 DEFB 183 - 000003E9 ED 2968 DEFB 237 - 000003EA 42 2969 DEFB 'B' - 000003EB EB 2970 DEFB 235 - 000003EC 06 2971 DEFB 6 - 000003ED 00 2972 DEFB 0 - 000003EE ED 2973 DEFB 237 - 000003EF 42 2974 DEFB 'B' - 000003F0 EB 2975 DEFB 235 - 000003F1 38 2976 DEFB '8' - 000003F2 0B 2977 DEFB 11 - 000003F3 22 2978 DEFB '"' - 000003F4 9B 2979 DEFB 155 - 000003F5 07 2980 DEFB 7 - 000003F6 ED 2981 DEFB 237 - 000003F7 53 2982 DEFB 'S' - 000003F8 9D 2983 DEFB 157 - 000003F9 07 2984 DEFB 7 - 000003FA 21 2985 DEFB '!' - 000003FB 00 2986 DEFB 0 - 000003FC 02 2987 DEFB 2 - 000003FD C9 2988 DEFB 201 - 000003FE 2A 2989 DEFB '*' - 000003FF 9B 2990 DEFB 155 - 00000400 07 2991 DEFB 7 - 00000401 ED 2992 DEFB 237 - 00000402 43 2993 DEFB 'C' - 00000403 9B 2994 DEFB 155 - 00000404 07 2995 DEFB 7 - 00000405 C9 2996 DEFB 201 - 00000406 2A 2997 DEFB '*' - 00000407 9F 2998 DEFB 159 - 00000408 07 2999 DEFB 7 - 00000409 11 3000 DEFB 17 - 0000040A E1 3001 DEFB 225 - 0000040B 07 3002 DEFB 7 - 0000040C B7 3003 DEFB 183 - 0000040D ED 3004 DEFB 237 - 0000040E 52 3005 DEFB 'R' - 0000040F 30 3006 DEFB '0' - 00000410 0B 3007 DEFB 11 - 00000411 2A 3008 DEFB '*' - 00000412 9F 3009 DEFB 159 - 00000413 07 3010 DEFB 7 - 00000414 5E 3011 DEFB '^' - 00000415 23 3012 DEFB '#' - 00000416 56 3013 DEFB 'V' - 00000417 23 3014 DEFB '#' - 00000418 22 3015 DEFB '"' - 00000419 9F 3016 DEFB 159 - 0000041A 07 3017 DEFB 7 - 0000041B C9 3018 DEFB 201 - 0000041C 2A 3019 DEFB '*' - 0000041D A1 3020 DEFB 161 - 0000041E 07 3021 DEFB 7 - 0000041F 11 3022 DEFB 17 - 00000420 E5 3023 DEFB 229 - 00000421 0B 3024 DEFB 11 - 00000422 B7 3025 DEFB 183 - 00000423 ED 3026 DEFB 237 - 00000424 52 3027 DEFB 'R' - 00000425 38 3028 DEFB '8' - 00000426 13 3029 DEFB 19 - 00000427 2A 3030 DEFB '*' - 00000428 9F 3031 DEFB 159 - 00000429 07 3032 DEFB 7 - 0000042A 5E 3033 DEFB '^' - 0000042B 23 3034 DEFB '#' - 0000042C 56 3035 DEFB 'V' - 0000042D 23 3036 DEFB '#' - 0000042E 22 3037 DEFB '"' - 0000042F 9F 3038 DEFB 159 - 00000430 07 3039 DEFB 7 - 00000431 21 3040 DEFB '!' - 00000432 E5 3041 DEFB 229 - 00000433 09 3042 DEFB 9 - 00000434 22 3043 DEFB '"' - 00000435 A1 3044 DEFB 161 - 00000436 07 3045 DEFB 7 - 00000437 CD 3046 DEFB 205 - 00000438 C5 3047 DEFB 197 - 00000439 04 3048 DEFB 4 - 0000043A 2A 3049 DEFB '*' - 0000043B 9F 3050 DEFB 159 - 0000043C 07 3051 DEFB 7 - 0000043D 11 3052 DEFB 17 - 0000043E E4 3053 DEFB 228 - 0000043F 07 3054 DEFB 7 - 00000440 B7 3055 DEFB 183 - 00000441 ED 3056 DEFB 237 - 00000442 52 3057 DEFB 'R' - 00000443 30 3058 DEFB '0' - 00000444 0B 3059 DEFB 11 - 00000445 2A 3060 DEFB '*' - 00000446 A1 3061 DEFB 161 - 00000447 07 3062 DEFB 7 - 00000448 5E 3063 DEFB '^' - 00000449 23 3064 DEFB '#' - 0000044A 56 3065 DEFB 'V' - 0000044B 23 3066 DEFB '#' - 0000044C 22 3067 DEFB '"' - 0000044D A1 3068 DEFB 161 - 0000044E 07 3069 DEFB 7 - 0000044F C9 3070 DEFB 201 - 00000450 2A 3071 DEFB '*' - 00000451 A3 3072 DEFB 163 - 00000452 07 3073 DEFB 7 - 00000453 11 3074 DEFB 17 - 00000454 E5 3075 DEFB 229 - 00000455 0D 3076 DEFB 13 - 00000456 B7 3077 DEFB 183 - 00000457 ED 3078 DEFB 237 - 00000458 52 3079 DEFB 'R' - 00000459 38 3080 DEFB '8' - 0000045A 13 3081 DEFB 19 - 0000045B 2A 3082 DEFB '*' - 0000045C A1 3083 DEFB 161 - 0000045D 07 3084 DEFB 7 - 0000045E 5E 3085 DEFB '^' - 0000045F 23 3086 DEFB '#' - 00000460 56 3087 DEFB 'V' - 00000461 23 3088 DEFB '#' - 00000462 22 3089 DEFB '"' - 00000463 A1 3090 DEFB 161 - 00000464 07 3091 DEFB 7 - 00000465 21 3092 DEFB '!' - 00000466 E5 3093 DEFB 229 - 00000467 0B 3094 DEFB 11 - 00000468 22 3095 DEFB '"' - 00000469 A3 3096 DEFB 163 - 0000046A 07 3097 DEFB 7 - 0000046B CD 3098 DEFB 205 - 0000046C C5 3099 DEFB 197 - 0000046D 04 3100 DEFB 4 - 0000046E 2A 3101 DEFB '*' - 0000046F A3 3102 DEFB 163 - 00000470 07 3103 DEFB 7 - 00000471 5E 3104 DEFB '^' - 00000472 23 3105 DEFB '#' - 00000473 56 3106 DEFB 'V' - 00000474 23 3107 DEFB '#' - 00000475 22 3108 DEFB '"' - 00000476 A3 3109 DEFB 163 - 00000477 07 3110 DEFB 7 - 00000478 C9 3111 DEFB 201 - 00000479 E5 3112 DEFB 229 - 0000047A 7B 3113 DEFB '{' - 0000047B E6 3114 DEFB 230 - 0000047C 07 3115 DEFB 7 - 0000047D 06 3116 DEFB 6 - 0000047E 03 3117 DEFB 3 - 0000047F CB 3118 DEFB 203 - 00000480 3A 3119 DEFB ':' - 00000481 CB 3120 DEFB 203 - 00000482 1B 3121 DEFB 27 - 00000483 10 3122 DEFB 16 - 00000484 FA 3123 DEFB 250 - 00000485 2A 3124 DEFB '*' - 00000486 95 3125 DEFB 149 - 00000487 07 3126 DEFB 7 - 00000488 37 3127 DEFB '7' - 00000489 ED 3128 DEFB 237 - 0000048A 52 3129 DEFB 'R' - 0000048B 38 3130 DEFB '8' - 0000048C 1A 3131 DEFB 26 - 0000048D 2A 3132 DEFB '*' - 0000048E 93 3133 DEFB 147 - 0000048F 07 3134 DEFB 7 - 00000490 19 3135 DEFB 25 - 00000491 EB 3136 DEFB 235 - 00000492 21 3137 DEFB '!' - 00000493 E5 3138 DEFB 229 - 00000494 07 3139 DEFB 7 - 00000495 F5 3140 DEFB 245 - 00000496 E5 3141 DEFB 229 - 00000497 CD 3142 DEFB 205 - 00000498 C5 3143 DEFB 197 - 00000499 04 3144 DEFB 4 - 0000049A E1 3145 DEFB 225 - 0000049B D1 3146 DEFB 209 - 0000049C 01 3147 DEFB 1 - 0000049D 40 3148 DEFB '@' - 0000049E 00 3149 DEFB 0 - 0000049F 59 3150 DEFB 'Y' - 000004A0 ED 3151 DEFB 237 - 000004A1 5C 3152 DEFB 92 - 000004A2 19 3153 DEFB 25 - 000004A3 D1 3154 DEFB 209 - 000004A4 ED 3155 DEFB 237 - 000004A5 B0 3156 DEFB 176 - 000004A6 C9 3157 DEFB 201 - 000004A7 CD 3158 DEFB 205 - 000004A8 56 3159 DEFB 'V' - 000004A9 01 3160 DEFB 1 - 000004AA 62 3161 DEFB 'b' - 000004AB 61 3162 DEFB 'a' - 000004AC 64 3163 DEFB 'd' - 000004AD 20 3164 DEFB ' ' - 000004AE 69 3165 DEFB 'i' - 000004AF 6E 3166 DEFB 'n' - 000004B0 6F 3167 DEFB 'o' - 000004B1 64 3168 DEFB 'd' - 000004B2 65 3169 DEFB 'e' - 000004B3 3A 3170 DEFB ':' - 000004B4 20 3171 DEFB ' ' - 000004B5 00 3172 DEFB 0 - 000004B6 C6 3173 DEFB 198 - 000004B7 30 3174 DEFB '0' - 000004B8 CD 3175 DEFB 205 - 000004B9 09 3176 DEFB 9 - 000004BA 06 3177 DEFB 6 - 000004BB CD 3178 DEFB 205 - 000004BC 37 3179 DEFB '7' - 000004BD 06 3180 DEFB 6 - 000004BE 2C 3181 DEFB ',' - 000004BF 20 3182 DEFB ' ' - 000004C0 00 3183 DEFB 0 - 000004C1 EB 3184 DEFB 235 - 000004C2 C3 3185 DEFB 195 - 000004C3 0D 3186 DEFB 13 - 000004C4 01 3187 DEFB 1 - 000004C5 E5 3188 DEFB 229 - 000004C6 CD 3189 DEFB 205 - 000004C7 DF 3190 DEFB 223 - 000004C8 04 3191 DEFB 4 - 000004C9 E5 3192 DEFB 229 - 000004CA FD 3193 DEFB 253 - 000004CB E1 3194 DEFB 225 - 000004CC 57 3195 DEFB 'W' - 000004CD E1 3196 DEFB 225 - 000004CE 1E 3197 DEFB 30 - 000004CF 03 3198 DEFB 3 - 000004D0 C3 3199 DEFB 195 - 000004D1 46 3200 DEFB 'F' - 000004D2 06 3201 DEFB 6 - 000004D3 E5 3202 DEFB 229 - 000004D4 CD 3203 DEFB 205 - 000004D5 DF 3204 DEFB 223 - 000004D6 04 3205 DEFB 4 - 000004D7 FD 3206 DEFB 253 - 000004D8 E1 3207 DEFB 225 - 000004D9 16 3208 DEFB 22 - 000004DA 03 3209 DEFB 3 - 000004DB 5F 3210 DEFB '_' - 000004DC C3 3211 DEFB 195 - 000004DD 46 3212 DEFB 'F' - 000004DE 06 3213 DEFB 6 - 000004DF 21 3214 DEFB '!' - 000004E0 00 3215 DEFB 0 - 000004E1 06 3216 DEFB 6 - 000004E2 37 3217 DEFB '7' - 000004E3 ED 3218 DEFB 237 - 000004E4 52 3219 DEFB 'R' - 000004E5 38 3220 DEFB '8' - 000004E6 1D 3221 DEFB 29 - 000004E7 01 3222 DEFB 1 - 000004E8 00 3223 DEFB 0 - 000004E9 02 3224 DEFB 2 - 000004EA 21 3225 DEFB '!' - 000004EB 00 3226 DEFB 0 - 000004EC 02 3227 DEFB 2 - 000004ED 19 3228 DEFB 25 - 000004EE 7C 3229 DEFB '|' - 000004EF 65 3230 DEFB 'e' - 000004F0 69 3231 DEFB 'i' - 000004F1 29 3232 DEFB ')' - 000004F2 8F 3233 DEFB 143 - 000004F3 C9 3234 DEFB 201 - 000004F4 7E 3235 DEFB '~' - 000004F5 23 3236 DEFB '#' - 000004F6 56 3237 DEFB 'V' - 000004F7 23 3238 DEFB '#' - 000004F8 CB 3239 DEFB 203 - 000004F9 3A 3240 DEFB ':' - 000004FA 1F 3241 DEFB 31 - 000004FB CB 3242 DEFB 203 - 000004FC 3A 3243 DEFB ':' - 000004FD 1F 3244 DEFB 31 - 000004FE CB 3245 DEFB 203 - 000004FF 3A 3246 DEFB ':' - 00000500 1F 3247 DEFB 31 - 00000501 C6 3248 DEFB 198 - 00000502 31 3249 DEFB '1' - 00000503 C9 3250 DEFB 201 - 00000504 CD 3251 DEFB 205 - 00000505 56 3252 DEFB 'V' - 00000506 01 3253 DEFB 1 - 00000507 62 3254 DEFB 'b' - 00000508 61 3255 DEFB 'a' - 00000509 64 3256 DEFB 'd' - 0000050A 20 3257 DEFB ' ' - 0000050B 62 3258 DEFB 'b' - 0000050C 6C 3259 DEFB 'l' - 0000050D 6F 3260 DEFB 'o' - 0000050E 63 3261 DEFB 'c' - 0000050F 6B 3262 DEFB 'k' - 00000510 3A 3263 DEFB ':' - 00000511 20 3264 DEFB ' ' - 00000512 00 3265 DEFB 0 - 00000513 EB 3266 DEFB 235 - 00000514 C3 3267 DEFB 195 - 00000515 0D 3268 DEFB 13 - 00000516 01 3269 DEFB 1 - 00000517 01 3270 DEFB 1 - 00000518 80 3271 DEFB 128 - 00000519 10 3272 DEFB 16 - 0000051A 21 3273 DEFB '!' - 0000051B 15 3274 DEFB 21 - 0000051C 0E 3275 DEFB 14 - 0000051D 18 3276 DEFB 24 - 0000051E 0C 3277 DEFB 12 - 0000051F 19 3278 DEFB 25 - 00000520 CD 3279 DEFB 205 - 00000521 F4 3280 DEFB 244 - 00000522 04 3281 DEFB 4 - 00000523 1E 3282 DEFB 30 - 00000524 04 3283 DEFB 4 - 00000525 02 3284 DEFB 2 - 00000526 03 3285 DEFB 3 - 00000527 3C 3286 DEFB '<' - 00000528 1D 3287 DEFB 29 - 00000529 20 3288 DEFB ' ' - 0000052A FA 3289 DEFB 250 - 0000052B ED 3290 DEFB 237 - 0000052C 5B 3291 DEFB '[' - 0000052D 13 3292 DEFB 19 - 0000052E 0E 3293 DEFB 14 - 0000052F B7 3294 DEFB 183 - 00000530 ED 3295 DEFB 237 - 00000531 52 3296 DEFB 'R' - 00000532 38 3297 DEFB '8' - 00000533 EB 3298 DEFB 235 - 00000534 C9 3299 DEFB 201 - 00000535 ED 3300 DEFB 237 - 00000536 5B 3301 DEFB '[' - 00000537 11 3302 DEFB 17 - 00000538 0E 3303 DEFB 14 - 00000539 2A 3304 DEFB '*' - 0000053A 40 3305 DEFB '@' - 0000053B 07 3306 DEFB 7 - 0000053C 19 3307 DEFB 25 - 0000053D 22 3308 DEFB '"' - 0000053E 40 3309 DEFB '@' - 0000053F 07 3310 DEFB 7 - 00000540 21 3311 DEFB '!' - 00000541 44 3312 DEFB 'D' - 00000542 07 3313 DEFB 7 - 00000543 CD 3314 DEFB 205 - 00000544 65 3315 DEFB 'e' - 00000545 05 3316 DEFB 5 - 00000546 2A 3317 DEFB '*' - 00000547 42 3318 DEFB 'B' - 00000548 07 3319 DEFB 7 - 00000549 19 3320 DEFB 25 - 0000054A 22 3321 DEFB '"' - 0000054B 42 3322 DEFB 'B' - 0000054C 07 3323 DEFB 7 - 0000054D 21 3324 DEFB '!' - 0000054E 64 3325 DEFB 'd' - 0000054F 07 3326 DEFB 7 - 00000550 CD 3327 DEFB 205 - 00000551 65 3328 DEFB 'e' - 00000552 05 3329 DEFB 5 - 00000553 21 3330 DEFB '!' - 00000554 3E 3331 DEFB '>' - 00000555 07 3332 DEFB 7 - 00000556 01 3333 DEFB 1 - 00000557 33 3334 DEFB '3' - 00000558 00 3335 DEFB 0 - 00000559 ED 3336 DEFB 237 - 0000055A B0 3337 DEFB 176 - 0000055B C9 3338 DEFB 201 - 0000055C 79 3339 DEFB 'y' - 0000055D 83 3340 DEFB 131 - 0000055E 2B 3341 DEFB '+' - 0000055F 77 3342 DEFB 'w' - 00000560 78 3343 DEFB 'x' - 00000561 8A 3344 DEFB 138 - 00000562 23 3345 DEFB '#' - 00000563 77 3346 DEFB 'w' - 00000564 23 3347 DEFB '#' - 00000565 4E 3348 DEFB 'N' - 00000566 23 3349 DEFB '#' - 00000567 46 3350 DEFB 'F' - 00000568 79 3351 DEFB 'y' - 00000569 B0 3352 DEFB 176 - 0000056A 20 3353 DEFB ' ' - 0000056B F0 3354 DEFB 240 - 0000056C C9 3355 DEFB 201 - 0000056D 21 3356 DEFB '!' - 0000056E 81 3357 DEFB 129 - 0000056F 07 3358 DEFB 7 - 00000570 CD 3359 DEFB 205 - 00000571 37 3360 DEFB '7' - 00000572 F0 3361 DEFB 240 - 00000573 C8 3362 DEFB 200 - 00000574 CD 3363 DEFB 205 - 00000575 56 3364 DEFB 'V' - 00000576 01 3365 DEFB 1 - 00000577 6C 3366 DEFB 'l' - 00000578 6F 3367 DEFB 'o' - 00000579 61 3368 DEFB 'a' - 0000057A 64 3369 DEFB 'd' - 0000057B 69 3370 DEFB 'i' - 0000057C 6E 3371 DEFB 'n' - 0000057D 67 3372 DEFB 'g' - 0000057E 20 3373 DEFB ' ' - 0000057F 41 3374 DEFB 'A' - 00000580 3A 3375 DEFB ':' - 00000581 4B 3376 DEFB 'K' - 00000582 45 3377 DEFB 'E' - 00000583 52 3378 DEFB 'R' - 00000584 4E 3379 DEFB 'N' - 00000585 45 3380 DEFB 'E' - 00000586 4C 3381 DEFB 'L' - 00000587 2E 3382 DEFB '.' - 00000588 42 3383 DEFB 'B' - 00000589 49 3384 DEFB 'I' - 0000058A 4E 3385 DEFB 'N' - 0000058B 0D 3386 DEFB 13 - 0000058C 0A 3387 DEFB 10 - 0000058D 00 3388 DEFB 0 - 0000058E 3E 3389 DEFB '>' - 0000058F 31 3390 DEFB '1' - 00000590 32 3391 DEFB '2' - 00000591 62 3392 DEFB 'b' - 00000592 07 3393 DEFB 7 - 00000593 ED 3394 DEFB 237 - 00000594 5B 3395 DEFB '[' - 00000595 91 3396 DEFB 145 - 00000596 07 3397 DEFB 7 - 00000597 B7 3398 DEFB 183 - 00000598 ED 3399 DEFB 237 - 00000599 52 3400 DEFB 'R' - 0000059A 20 3401 DEFB ' ' - 0000059B 23 3402 DEFB '#' - 0000059C 19 3403 DEFB 25 - 0000059D 22 3404 DEFB '"' - 0000059E 8F 3405 DEFB 143 - 0000059F 07 3406 DEFB 7 - 000005A0 7D 3407 DEFB '}' - 000005A1 B4 3408 DEFB 180 - 000005A2 20 3409 DEFB ' ' - 000005A3 04 3410 DEFB 4 - 000005A4 21 3411 DEFB '!' - 000005A5 8E 3412 DEFB 142 - 000005A6 07 3413 DEFB 7 - 000005A7 34 3414 DEFB '4' - 000005A8 21 3415 DEFB '!' - 000005A9 00 3416 DEFB 0 - 000005AA 40 3417 DEFB '@' - 000005AB 19 3418 DEFB 25 - 000005AC 22 3419 DEFB '"' - 000005AD 91 3420 DEFB 145 - 000005AE 07 3421 DEFB 7 - 000005AF 21 3422 DEFB '!' - 000005B0 8D 3423 DEFB 141 - 000005B1 07 3424 DEFB 7 - 000005B2 34 3425 DEFB '4' - 000005B3 21 3426 DEFB '!' - 000005B4 81 3427 DEFB 129 - 000005B5 07 3428 DEFB 7 - 000005B6 CD 3429 DEFB 205 - 000005B7 37 3430 DEFB '7' - 000005B8 F0 3431 DEFB 240 - 000005B9 20 3432 DEFB ' ' - 000005BA D8 3433 DEFB 216 - 000005BB 21 3434 DEFB '!' - 000005BC 8D 3435 DEFB 141 - 000005BD 07 3436 DEFB 7 - 000005BE 35 3437 DEFB '5' - 000005BF CD 3438 DEFB 205 - 000005C0 B0 3439 DEFB 176 - 000005C1 01 3440 DEFB 1 - 000005C2 FD 3441 DEFB 253 - 000005C3 21 3442 DEFB '!' - 000005C4 00 3443 DEFB 0 - 000005C5 00 3444 DEFB 0 - 000005C6 21 3445 DEFB '!' - 000005C7 FF 3446 DEFB 255 - 000005C8 0D 3447 DEFB 13 - 000005C9 11 3448 DEFB 17 - 000005CA 03 3449 DEFB 3 - 000005CB 0C 3450 DEFB 12 - 000005CC 01 3451 DEFB 1 - 000005CD 14 3452 DEFB 20 - 000005CE 00 3453 DEFB 0 - 000005CF CD 3454 DEFB 205 - 000005D0 46 3455 DEFB 'F' - 000005D1 06 3456 DEFB 6 - 000005D2 CD 3457 DEFB 205 - 000005D3 C2 3458 DEFB 194 - 000005D4 00 3459 DEFB 0 - 000005D5 CD 3460 DEFB 205 - 000005D6 DF 3461 DEFB 223 - 000005D7 00 3462 DEFB 0 - 000005D8 CD 3463 DEFB 205 - 000005D9 FA 3464 DEFB 250 - 000005DA 01 3465 DEFB 1 - 000005DB D5 3466 DEFB 213 - 000005DC FD 3467 DEFB 253 - 000005DD E1 3468 DEFB 225 - 000005DE 11 3469 DEFB 17 - 000005DF 00 3470 DEFB 0 - 000005E0 0C 3471 DEFB 12 - 000005E1 6B 3472 DEFB 'k' - 000005E2 63 3473 DEFB 'c' - 000005E3 CD 3474 DEFB 205 - 000005E4 46 3475 DEFB 'F' - 000005E5 06 3476 DEFB 6 - 000005E6 D5 3477 DEFB 213 - 000005E7 CD 3478 DEFB 205 - 000005E8 02 3479 DEFB 2 - 000005E9 02 3480 DEFB 2 - 000005EA EB 3481 DEFB 235 - 000005EB D1 3482 DEFB 209 - 000005EC CD 3483 DEFB 205 - 000005ED 46 3484 DEFB 'F' - 000005EE 06 3485 DEFB 6 - 000005EF CD 3486 DEFB 205 - 000005F0 E4 3487 DEFB 228 - 000005F1 01 3488 DEFB 1 - 000005F2 CD 3489 DEFB 205 - 000005F3 90 3490 DEFB 144 - 000005F4 01 3491 DEFB 1 - 000005F5 3A 3492 DEFB ':' - 000005F6 8D 3493 DEFB 141 - 000005F7 07 3494 DEFB 7 - 000005F8 3C 3495 DEFB '<' - 000005F9 07 3496 DEFB 7 - 000005FA 07 3497 DEFB 7 - 000005FB 47 3498 DEFB 'G' - 000005FC 21 3499 DEFB '!' - 000005FD 80 3500 DEFB 128 - 000005FE 10 3501 DEFB 16 - 000005FF 3E 3502 DEFB '>' - 00000600 B1 3503 DEFB 177 - 00000601 77 3504 DEFB 'w' - 00000602 23 3505 DEFB '#' - 00000603 3C 3506 DEFB '<' - 00000604 10 3507 DEFB 16 - 00000605 FB 3508 DEFB 251 - 00000606 C3 3509 DEFB 195 - 00000607 6D 3510 DEFB 'm' - 00000608 00 3511 DEFB 0 - 00000609 F5 3512 DEFB 245 - 0000060A ED 3513 DEFB 237 - 0000060B 38 3514 DEFB '8' - 0000060C 05 3515 DEFB 5 - 0000060D E6 3516 DEFB 230 - 0000060E 02 3517 DEFB 2 - 0000060F 28 3518 DEFB '(' - 00000610 F9 3519 DEFB 249 - 00000611 F1 3520 DEFB 241 - 00000612 ED 3521 DEFB 237 - 00000613 39 3522 DEFB '9' - 00000614 07 3523 DEFB 7 - 00000615 C9 3524 DEFB 201 - 00000616 3E 3525 DEFB '>' - 00000617 0D 3526 DEFB 13 - 00000618 CD 3527 DEFB 205 - 00000619 09 3528 DEFB 9 - 0000061A 06 3529 DEFB 6 - 0000061B 3E 3530 DEFB '>' - 0000061C 0A 3531 DEFB 10 - 0000061D 18 3532 DEFB 24 - 0000061E EA 3533 DEFB 234 - 0000061F 7C 3534 DEFB '|' - 00000620 CD 3535 DEFB 205 - 00000621 24 3536 DEFB '$' - 00000622 06 3537 DEFB 6 - 00000623 7D 3538 DEFB '}' - 00000624 F5 3539 DEFB 245 - 00000625 0F 3540 DEFB 15 - 00000626 0F 3541 DEFB 15 - 00000627 0F 3542 DEFB 15 - 00000628 0F 3543 DEFB 15 - 00000629 CD 3544 DEFB 205 - 0000062A 2D 3545 DEFB '-' - 0000062B 06 3546 DEFB 6 - 0000062C F1 3547 DEFB 241 - 0000062D E6 3548 DEFB 230 - 0000062E 0F 3549 DEFB 15 - 0000062F C6 3550 DEFB 198 - 00000630 90 3551 DEFB 144 - 00000631 27 3552 DEFB '''' - 00000632 CE 3553 DEFB 206 - 00000633 40 3554 DEFB '@' - 00000634 27 3555 DEFB '''' - 00000635 18 3556 DEFB 24 - 00000636 D2 3557 DEFB 210 - 00000637 E3 3558 DEFB 227 - 00000638 F5 3559 DEFB 245 - 00000639 7E 3560 DEFB '~' - 0000063A 23 3561 DEFB '#' - 0000063B B7 3562 DEFB 183 - 0000063C 28 3563 DEFB '(' - 0000063D 05 3564 DEFB 5 - 0000063E CD 3565 DEFB 205 - 0000063F 09 3566 DEFB 9 - 00000640 06 3567 DEFB 6 - 00000641 18 3568 DEFB 24 - 00000642 F6 3569 DEFB 246 - 00000643 F1 3570 DEFB 241 - 00000644 E3 3571 DEFB 227 - 00000645 C9 3572 DEFB 201 - 00000646 7B 3573 DEFB '{' - 00000647 FE 3574 DEFB 254 - 00000648 04 3575 DEFB 4 - 00000649 D2 3576 DEFB 210 - 0000064A C4 3577 DEFB 196 - 0000064B 06 3578 DEFB 6 - 0000064C 79 3579 DEFB 'y' - 0000064D E6 3580 DEFB 230 - 0000064E 1F 3581 DEFB 31 - 0000064F C5 3582 DEFB 197 - 00000650 4F 3583 DEFB 'O' - 00000651 06 3584 DEFB 6 - 00000652 00 3585 DEFB 0 - 00000653 CD 3586 DEFB 205 - 00000654 96 3587 DEFB 150 - 00000655 06 3588 DEFB 6 - 00000656 0C 3589 DEFB 12 - 00000657 0D 3590 DEFB 13 - 00000658 28 3591 DEFB '(' - 00000659 11 3592 DEFB 17 - 0000065A ED 3593 DEFB 237 - 0000065B 38 3594 DEFB '8' - 0000065C 30 3595 DEFB '0' - 0000065D EE 3596 DEFB 238 - 0000065E 50 3597 DEFB 'P' - 0000065F ED 3598 DEFB 237 - 00000660 39 3599 DEFB '9' - 00000661 30 3600 DEFB '0' - 00000662 FD 3601 DEFB 253 - 00000663 09 3602 DEFB 9 - 00000664 DC 3603 DEFB 220 - 00000665 C0 3604 DEFB 192 - 00000666 06 3605 DEFB 6 - 00000667 09 3606 DEFB 9 - 00000668 DC 3607 DEFB 220 - 00000669 C2 3608 DEFB 194 - 0000066A 06 3609 DEFB 6 - 0000066B C1 3610 DEFB 193 - 0000066C 3E 3611 DEFB '>' - 0000066D 05 3612 DEFB 5 - 0000066E CB 3613 DEFB 203 - 0000066F 38 3614 DEFB '8' - 00000670 CB 3615 DEFB 203 - 00000671 19 3616 DEFB 25 - 00000672 3D 3617 DEFB '=' - 00000673 20 3618 DEFB ' ' - 00000674 F9 3619 DEFB 249 - 00000675 18 3620 DEFB 24 - 00000676 1A 3621 DEFB 26 - 00000677 C5 3622 DEFB 197 - 00000678 01 3623 DEFB 1 - 00000679 20 3624 DEFB ' ' - 0000067A 00 3625 DEFB 0 - 0000067B ED 3626 DEFB 237 - 0000067C 09 3627 DEFB 9 - 0000067D 26 3628 DEFB '&' - 0000067E ED 3629 DEFB 237 - 0000067F 38 3630 DEFB '8' - 00000680 30 3631 DEFB '0' - 00000681 EE 3632 DEFB 238 - 00000682 50 3633 DEFB 'P' - 00000683 ED 3634 DEFB 237 - 00000684 39 3635 DEFB '9' - 00000685 30 3636 DEFB '0' - 00000686 FD 3637 DEFB 253 - 00000687 09 3638 DEFB 9 - 00000688 DC 3639 DEFB 220 - 00000689 C0 3640 DEFB 192 - 0000068A 06 3641 DEFB 6 - 0000068B 09 3642 DEFB 9 - 0000068C DC 3643 DEFB 220 - 0000068D C2 3644 DEFB 194 - 0000068E 06 3645 DEFB 6 - 0000068F C1 3646 DEFB 193 - 00000690 0B 3647 DEFB 11 - 00000691 78 3648 DEFB 'x' - 00000692 B1 3649 DEFB 177 - 00000693 20 3650 DEFB ' ' - 00000694 E2 3651 DEFB 226 - 00000695 C9 3652 DEFB 201 - 00000696 ED 3653 DEFB 237 - 00000697 09 3654 DEFB 9 - 00000698 26 3655 DEFB '&' - 00000699 ED 3656 DEFB 237 - 0000069A 01 3657 DEFB 1 - 0000069B 27 3658 DEFB '''' - 0000069C 18 3659 DEFB 24 - 0000069D 05 3660 DEFB 5 - 0000069E 3E 3661 DEFB '>' - 0000069F 01 3662 DEFB 1 - 000006A0 ED 3663 DEFB 237 - 000006A1 39 3664 DEFB '9' - 000006A2 26 3665 DEFB '&' - 000006A3 E5 3666 DEFB 229 - 000006A4 FD 3667 DEFB 253 - 000006A5 E5 3668 DEFB 229 - 000006A6 ED 3669 DEFB 237 - 000006A7 29 3670 DEFB ')' - 000006A8 23 3671 DEFB '#' - 000006A9 ED 3672 DEFB 237 - 000006AA 21 3673 DEFB '!' - 000006AB 24 3674 DEFB '$' - 000006AC ED 3675 DEFB 237 - 000006AD 19 3676 DEFB 25 - 000006AE 25 3677 DEFB '%' - 000006AF E1 3678 DEFB 225 - 000006B0 ED 3679 DEFB 237 - 000006B1 29 3680 DEFB ')' - 000006B2 20 3681 DEFB ' ' - 000006B3 ED 3682 DEFB 237 - 000006B4 21 3683 DEFB '!' - 000006B5 21 3684 DEFB '!' - 000006B6 ED 3685 DEFB 237 - 000006B7 11 3686 DEFB 17 - 000006B8 22 3687 DEFB '"' - 000006B9 E1 3688 DEFB 225 - 000006BA 3E 3689 DEFB '>' - 000006BB 02 3690 DEFB 2 - 000006BC ED 3691 DEFB 237 - 000006BD 39 3692 DEFB '9' - 000006BE 31 3693 DEFB '1' - 000006BF C9 3694 DEFB 201 - 000006C0 14 3695 DEFB 20 - 000006C1 C9 3696 DEFB 201 - 000006C2 1C 3697 DEFB 28 - 000006C3 C9 3698 DEFB 201 - 000006C4 C5 3699 DEFB 197 - 000006C5 AF 3700 DEFB 175 - 000006C6 ED 3701 DEFB 237 - 000006C7 39 3702 DEFB '9' - 000006C8 26 3703 DEFB '&' - 000006C9 ED 3704 DEFB 237 - 000006CA 39 3705 DEFB '9' - 000006CB 27 3706 DEFB '''' - 000006CC 3E 3707 DEFB '>' - 000006CD 04 3708 DEFB 4 - 000006CE CB 3709 DEFB 203 - 000006CF 38 3710 DEFB '8' - 000006D0 CB 3711 DEFB 203 - 000006D1 19 3712 DEFB 25 - 000006D2 3D 3713 DEFB '=' - 000006D3 20 3714 DEFB ' ' - 000006D4 F9 3715 DEFB 249 - 000006D5 78 3716 DEFB 'x' - 000006D6 B1 3717 DEFB 177 - 000006D7 28 3718 DEFB '(' - 000006D8 0D 3719 DEFB 13 - 000006D9 C5 3720 DEFB 197 - 000006DA 01 3721 DEFB 1 - 000006DB 10 3722 DEFB 16 - 000006DC 00 3723 DEFB 0 - 000006DD CD 3724 DEFB 205 - 000006DE EE 3725 DEFB 238 - 000006DF 06 3726 DEFB 6 - 000006E0 C1 3727 DEFB 193 - 000006E1 0B 3728 DEFB 11 - 000006E2 78 3729 DEFB 'x' - 000006E3 B1 3730 DEFB 177 - 000006E4 20 3731 DEFB ' ' - 000006E5 F3 3732 DEFB 243 - 000006E6 C1 3733 DEFB 193 - 000006E7 47 3734 DEFB 'G' - 000006E8 79 3735 DEFB 'y' - 000006E9 E6 3736 DEFB 230 - 000006EA 0F 3737 DEFB 15 - 000006EB 28 3738 DEFB '(' - 000006EC 20 3739 DEFB ' ' - 000006ED 4F 3740 DEFB 'O' - 000006EE ED 3741 DEFB 237 - 000006EF 30 3742 DEFB '0' - 000006F0 26 3743 DEFB '&' - 000006F1 CC 3744 DEFB 204 - 000006F2 9E 3745 DEFB 158 - 000006F3 06 3746 DEFB 6 - 000006F4 FD 3747 DEFB 253 - 000006F5 09 3748 DEFB 9 - 000006F6 DC 3749 DEFB 220 - 000006F7 C0 3750 DEFB 192 - 000006F8 06 3751 DEFB 6 - 000006F9 09 3752 DEFB 9 - 000006FA DC 3753 DEFB 220 - 000006FB C2 3754 DEFB 194 - 000006FC 06 3755 DEFB 6 - 000006FD 41 3756 DEFB 'A' - 000006FE 0E 3757 DEFB 14 - 000006FF 01 3758 DEFB 1 - 00000700 ED 3759 DEFB 237 - 00000701 38 3760 DEFB '8' - 00000702 30 3761 DEFB '0' - 00000703 EE 3762 DEFB 238 - 00000704 50 3763 DEFB 'P' - 00000705 ED 3764 DEFB 237 - 00000706 39 3765 DEFB '9' - 00000707 30 3766 DEFB '0' - 00000708 ED 3767 DEFB 237 - 00000709 09 3768 DEFB 9 - 0000070A 26 3769 DEFB '&' - 0000070B 10 3770 DEFB 16 - 0000070C F8 3771 DEFB 248 - 0000070D C9 3772 DEFB 201 - 0000070E 3E 3773 DEFB '>' - 0000070F 74 3774 DEFB 't' - 00000710 ED 3775 DEFB 237 - 00000711 39 3776 DEFB '9' - 00000712 00 3777 DEFB 0 - 00000713 ED 3778 DEFB 237 - 00000714 39 3779 DEFB '9' - 00000715 01 3780 DEFB 1 - 00000716 3E 3781 DEFB '>' - 00000717 22 3782 DEFB '"' - 00000718 ED 3783 DEFB 237 - 00000719 39 3784 DEFB '9' - 0000071A 02 3785 DEFB 2 - 0000071B ED 3786 DEFB 237 - 0000071C 39 3787 DEFB '9' - 0000071D 03 3788 DEFB 3 - 0000071E 97 3789 DEFB 151 - 0000071F ED 3790 DEFB 237 - 00000720 39 3791 DEFB '9' - 00000721 04 3792 DEFB 4 - 00000722 ED 3793 DEFB 237 - 00000723 39 3794 DEFB '9' - 00000724 05 3795 DEFB 5 - 00000725 ED 3796 DEFB 237 - 00000726 30 3797 DEFB '0' - 00000727 08 3798 DEFB 8 - 00000728 ED 3799 DEFB 237 - 00000729 30 3800 DEFB '0' - 0000072A 09 3801 DEFB 9 - 0000072B ED 3802 DEFB 237 - 0000072C 39 3803 DEFB '9' - 0000072D 27 3804 DEFB '''' - 0000072E ED 3805 DEFB 237 - 0000072F 39 3806 DEFB '9' - 00000730 2F 3807 DEFB '/' - 00000731 ED 3808 DEFB 237 - 00000732 39 3809 DEFB '9' - 00000733 29 3810 DEFB ')' - 00000734 ED 3811 DEFB 237 - 00000735 39 3812 DEFB '9' - 00000736 2A 3813 DEFB '*' - 00000737 ED 3814 DEFB 237 - 00000738 39 3815 DEFB '9' - 00000739 2B 3816 DEFB '+' - 0000073A ED 3817 DEFB 237 - 0000073B 39 3818 DEFB '9' - 0000073C 2C 3819 DEFB ',' - 0000073D C9 3820 DEFB 201 - 0000073E 02 3821 DEFB 2 - 0000073F 00 3822 DEFB 0 - 00000740 06 3823 DEFB 6 - 00000741 00 3824 DEFB 0 - 00000742 26 3825 DEFB '&' - 00000743 00 3826 DEFB 0 - 00000744 0C 3827 DEFB 12 - 00000745 00 3828 DEFB 0 - 00000746 1D 3829 DEFB 29 - 00000747 00 3830 DEFB 0 - 00000748 00 3831 DEFB 0 - 00000749 00 3832 DEFB 0 - 0000074A 2F 3833 DEFB '/' - 0000074B 62 3834 DEFB 'b' - 0000074C 6F 3835 DEFB 'o' - 0000074D 6F 3836 DEFB 'o' - 0000074E 74 3837 DEFB 't' - 0000074F 2F 3838 DEFB '/' - 00000750 6B 3839 DEFB 'k' - 00000751 65 3840 DEFB 'e' - 00000752 72 3841 DEFB 'r' - 00000753 6E 3842 DEFB 'n' - 00000754 65 3843 DEFB 'e' - 00000755 6C 3844 DEFB 'l' - 00000756 2E 3845 DEFB '.' - 00000757 62 3846 DEFB 'b' - 00000758 69 3847 DEFB 'i' - 00000759 6E 3848 DEFB 'n' - 0000075A 00 3849 DEFB 0 - 0000075B 72 3850 DEFB 'r' - 0000075C 6F 3851 DEFB 'o' - 0000075D 6F 3852 DEFB 'o' - 0000075E 74 3853 DEFB 't' - 0000075F 3D 3854 DEFB '=' - 00000760 68 3855 DEFB 'h' - 00000761 64 3856 DEFB 'd' - 00000762 30 3857 DEFB '0' - 00000763 00 3858 DEFB 0 - 00000764 2A 3859 DEFB '*' - 00000765 00 3860 DEFB 0 - 00000766 00 3861 DEFB 0 - 00000767 00 3862 DEFB 0 - 00000768 53 3863 DEFB 'S' - 00000769 4E 3864 DEFB 'N' - 0000076A 3D 3865 DEFB '=' - 0000076B 30 3866 DEFB '0' - 0000076C 30 3867 DEFB '0' - 0000076D 30 3868 DEFB '0' - 0000076E 30 3869 DEFB '0' - 0000076F 30 3870 DEFB '0' - 00000770 00 3871 DEFB 0 - 00000771 62 3872 DEFB 'b' - 00000772 6F 3873 DEFB 'o' - 00000773 6F 3874 DEFB 'o' - 00000774 74 3875 DEFB 't' - 00000775 00 3876 DEFB 0 - 00000776 6B 3877 DEFB 'k' - 00000777 65 3878 DEFB 'e' - 00000778 72 3879 DEFB 'r' - 00000779 6E 3880 DEFB 'n' - 0000077A 65 3881 DEFB 'e' - 0000077B 6C 3882 DEFB 'l' - 0000077C 2E 3883 DEFB '.' - 0000077D 62 3884 DEFB 'b' - 0000077E 69 3885 DEFB 'i' - 0000077F 6E 3886 DEFB 'n' - 00000780 00 3887 DEFB 0 - 00000781 01 3888 DEFB 1 - 00000782 4B 3889 DEFB 'K' - 00000783 45 3890 DEFB 'E' - 00000784 52 3891 DEFB 'R' - 00000785 4E 3892 DEFB 'N' - 00000786 45 3893 DEFB 'E' - 00000787 4C 3894 DEFB 'L' - 00000788 20 3895 DEFB ' ' - 00000789 20 3896 DEFB ' ' - 0000078A 42 3897 DEFB 'B' - 0000078B 49 3898 DEFB 'I' - 0000078C 4E 3899 DEFB 'N' - 0000078D 00 3900 DEFB 0 - 0000078E 0C 3901 DEFB 12 - 0000078F 00 3902 DEFB 0 - 00000790 00 3903 DEFB 0 - 00000791 00 3904 DEFB 0 - 00000792 40 3905 DEFB '@' - 00000793 1A 3906 DEFB 26 - 00000794 1A 3907 DEFB 26 - 00000795 1A 3908 DEFB 26 - 00000796 1A 3909 DEFB 26 - 00000797 1A 3910 DEFB 26 - 00000798 1A 3911 DEFB 26 - 00000799 1A 3912 DEFB 26 - 0000079A 1A 3913 DEFB 26 - 0000079B 1A 3914 DEFB 26 - 0000079C 1A 3915 DEFB 26 - 0000079D 1A 3916 DEFB 26 - 0000079E 1A 3917 DEFB 26 - 0000079F 1A 3918 DEFB 26 - 000007A0 1A 3919 DEFB 26 - 000007A1 1A 3920 DEFB 26 - 000007A2 1A 3921 DEFB 26 - 000007A3 1A 3922 DEFB 26 - 000007A4 1A 3923 DEFB 26 - 000007A5 1A 3924 DEFB 26 - 000007A6 1A 3925 DEFB 26 - 000007A7 1A 3926 DEFB 26 - 000007A8 1A 3927 DEFB 26 - 000007A9 1A 3928 DEFB 26 - 000007AA 1A 3929 DEFB 26 - 000007AB 1A 3930 DEFB 26 - 000007AC 1A 3931 DEFB 26 - 000007AD 1A 3932 DEFB 26 - 000007AE 1A 3933 DEFB 26 - 000007AF 1A 3934 DEFB 26 - 000007B0 1A 3935 DEFB 26 - 000007B1 1A 3936 DEFB 26 - 000007B2 1A 3937 DEFB 26 - 000007B3 1A 3938 DEFB 26 - 000007B4 1A 3939 DEFB 26 - 000007B5 1A 3940 DEFB 26 - 000007B6 1A 3941 DEFB 26 - 000007B7 1A 3942 DEFB 26 - 000007B8 1A 3943 DEFB 26 - 000007B9 1A 3944 DEFB 26 - 000007BA 1A 3945 DEFB 26 - 000007BB 1A 3946 DEFB 26 - 000007BC 1A 3947 DEFB 26 - 000007BD 1A 3948 DEFB 26 - 000007BE 1A 3949 DEFB 26 - 000007BF 1A 3950 DEFB 26 - 000007C0 1A 3951 DEFB 26 - 000007C1 1A 3952 DEFB 26 - 000007C2 1A 3953 DEFB 26 - 000007C3 1A 3954 DEFB 26 - 000007C4 1A 3955 DEFB 26 - 000007C5 1A 3956 DEFB 26 - 000007C6 1A 3957 DEFB 26 - 000007C7 1A 3958 DEFB 26 - 000007C8 1A 3959 DEFB 26 - 000007C9 1A 3960 DEFB 26 - 000007CA 1A 3961 DEFB 26 - 000007CB 1A 3962 DEFB 26 - 000007CC 1A 3963 DEFB 26 - 000007CD 1A 3964 DEFB 26 - 000007CE 1A 3965 DEFB 26 - 000007CF 1A 3966 DEFB 26 - 000007D0 1A 3967 DEFB 26 - 000007D1 1A 3968 DEFB 26 - 000007D2 1A 3969 DEFB 26 - 000007D3 1A 3970 DEFB 26 - 000007D4 1A 3971 DEFB 26 - 000007D5 1A 3972 DEFB 26 - 000007D6 1A 3973 DEFB 26 - 000007D7 1A 3974 DEFB 26 - 000007D8 1A 3975 DEFB 26 - 000007D9 1A 3976 DEFB 26 - 000007DA 1A 3977 DEFB 26 - 000007DB 1A 3978 DEFB 26 - 000007DC 1A 3979 DEFB 26 - 000007DD 1A 3980 DEFB 26 - 000007DE 1A 3981 DEFB 26 - 000007DF 1A 3982 DEFB 26 - 000007E0 1A 3983 DEFB 26 - 000007E1 1A 3984 DEFB 26 - 000007E2 1A 3985 DEFB 26 - 000007E3 1A 3986 DEFB 26 - 000007E4 1A 3987 DEFB 26 - 000007E5 1A 3988 DEFB 26 - 000007E6 1A 3989 DEFB 26 - 000007E7 1A 3990 DEFB 26 - 000007E8 1A 3991 DEFB 26 - 000007E9 1A 3992 DEFB 26 - 000007EA 1A 3993 DEFB 26 - 000007EB 1A 3994 DEFB 26 - 000007EC 1A 3995 DEFB 26 - 000007ED 1A 3996 DEFB 26 - 000007EE 1A 3997 DEFB 26 - 000007EF 1A 3998 DEFB 26 - 000007F0 1A 3999 DEFB 26 - 000007F1 1A 4000 DEFB 26 - 000007F2 1A 4001 DEFB 26 - 000007F3 1A 4002 DEFB 26 - 000007F4 1A 4003 DEFB 26 - 000007F5 1A 4004 DEFB 26 - 000007F6 1A 4005 DEFB 26 - 000007F7 1A 4006 DEFB 26 - 000007F8 1A 4007 DEFB 26 - 000007F9 1A 4008 DEFB 26 - 000007FA 1A 4009 DEFB 26 - 000007FB 1A 4010 DEFB 26 - 000007FC 1A 4011 DEFB 26 - 000007FD 1A 4012 DEFB 26 - 000007FE 1A 4013 DEFB 26 - 000007FF 1A 4014 DEFB 26 - 00000800 01 00 4015 DEFW 1 - 00000802 2E 4016 DEFB '.' - 00000803 00 4017 DEFB 0 - 00000804 00 00 00 00 00 00 00 4018 DEFB 0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 - 00000810 01 00 4019 DEFW 1 - 00000812 2E 2E 4020 DEFB '..' - 00000814 00 4021 DEFB 0 - 00000815 00 00 00 00 00 00 00 4022 DEFB 0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 - 00000820 00 00 00 00 00 00 00 4023 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00000841 00 00 00 00 00 00 00 4024 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00000862 00 00 00 00 00 00 00 4025 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00000883 00 00 00 00 00 00 00 4026 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 000008A4 00 00 00 00 00 00 00 4027 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 000008C5 00 00 00 00 00 00 00 4028 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 000008E6 00 00 00 00 00 00 00 4029 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00000907 00 00 00 00 00 00 00 4030 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00000928 00 00 00 00 00 00 00 4031 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00000949 00 00 00 00 00 00 00 4032 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 0000096A 00 00 00 00 00 00 00 4033 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 0000098B 00 00 00 00 00 00 00 4034 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 000009AC 00 00 00 00 00 00 00 4035 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 000009CD 00 00 00 00 00 00 00 4036 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 000009EE 00 00 00 00 00 00 00 4037 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 - 00000A00 00 4038 DEFB 0 - 00000A01 00 4039 DEFB 0 - 00000A02 00 4040 DEFB 0 - 00000A03 00 4041 DEFB 0 - 00000A04 00 4042 DEFB 0 - 00000A05 4043 END - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. -Hexadecimal [32-Bits] -mkfs(17) -Symbol Table - - .__.ABS. = 00000000 G | 3 ?0002 0000061A R - 1 ?0003 0000001C R | 1 ?0004 00000039 R - 2 ?0005 00000000 R | 1 ?0006 00000058 R - 1 ?0007 00000075 R | 2 ?0008 0000001A R - 1 ?0009 0000009E R | 1 ?0010 000000CC R - 2 ?0011 00000035 R | 1 ?0012 000000E9 R - 1 ?0013 00000135 R | 1 ?0014 000000F0 R - 1 ?0015 00000107 R | 1 ?0016 00000135 R - 2 ?0017 00000042 R | 1 ?0018 00000161 R - 1 ?0019 0000018F R | 1 ?0020 000001AC R - 1 ?0021 000001DA R | 2 ?0022 0000004F R - 1 ?0023 00000207 R | 1 ?0024 00000217 R - 2 ?0025 0000005D R | 1 ?0026 00000244 R - 1 ?0027 0000023F R | 1 ?0028 00000244 R - 1 ?0029 0000023F R | 1 ?0030 0000023F R - 1 ?0031 0000023F R | 1 ?0032 0000023F R - 1 ?0033 00000247 R | 1 ?0034 00000255 R - 1 ?0035 0000026D R | 2 ?0036 00000060 R - 1 ?0037 00000313 R | 1 ?0038 00000274 R - 1 ?0039 00000283 R | 1 ?0041 000002A9 R - 1 ?0042 000002C4 R | 1 ?0043 000002CC R - 1 ?0044 00000327 R | 1 ?0045 0000033F R - 2 ?0046 00000078 R | 1 ?0047 00000345 R - 1 ?0048 0000035E R | 1 ?0049 0000036A R - 1 ?0050 000003DC R | 1 ?0051 0000037A R - 1 ?0052 0000038B R | 1 ?0053 000003A1 R - 1 ?0054 000003C1 R | 1 ?0055 000003A1 R - 1 ?0056 000003A1 R | 2 ?0057 0000009C R - 1 ?0058 000003E2 R | 1 ?0059 00000409 R - 2 ?0060 000000A5 R | 1 ?0061 0000040F R - 1 ?0062 00000427 R | 2 ?0063 000000AE R - 1 ?0064 00000506 R | 1 ?0065 000004C2 R - 1 ?0066 000004E0 R | 1 ?0068 0000055C R - 1 ?0069 00000525 R | 1 ?0070 00000536 R - 1 ?0072 00000583 R | 1 ?0073 00000644 R - 1 ?0074 000005CE R | 1 ?0075 0000058A R - 1 ?0076 000005A8 R | 1 ?0078 00000624 R - 1 ?0079 000005ED R | 1 ?0080 000005FE R - 1 ?0082 000006E4 R | 1 ?0083 000006AD R - 1 ?0084 000006BE R | 1 ?0086 0000077C R - 1 ?0087 00000794 R | 2 ?0088 000000C7 R - 1 ?0089 000007E4 R | 1 ?0090 000007B1 R - 1 ?0091 000007C4 R | 1 ?0093 000008E0 R - 1 ?0094 00000807 R | 1 ?0095 00000837 R - 1 ?0096 00000837 R | 1 ?0097 00000837 R - 1 ?0098 000008DD R | 1 ?0099 00000854 R - 1 ?0100 0000085E R | 1 ?0101 000008DA R - 1 ?0102 00000892 R | 1 ?0103 00000899 R - 1 ?0104 000008A0 R | 1 ?0105 000008A7 R - 1 ?0106 000008AE R | 1 ?0107 000008B5 R - 2 ?0108 000000E0 R | 1 ?0109 000008F1 R - 1 ?0110 0000090E R | 2 ?0111 000000F3 R - 1 ?0112 00000943 R | 1 ?0113 00000971 R - 2 ?0114 00000124 R | 1 ?0115 000009BD R - 1 ?0116 000009E0 R | 1 ?0117 00000A13 R - 1 ?0118 00000A30 R | 1 ?0119 00000A13 R - 1 ?0120 00000A13 R | 2 ?0121 00000131 R - 1 ?0122 00000B3E R | 1 ?0123 00000BBB R - 2 ?0124 00000147 R | 1 ?0125 00000BFF R - 1 ?0126 00000C0A R | 2 ?0127 00000180 R - 2 ?0128 0000018A R | 1 ?0129 00000C1D R - 1 ?0130 00000C2B R | 1 ?0131 00000C45 R - 1 ?0132 00000C50 R | 2 ?0133 0000018C R - 1 ?0134 00000CD0 R | 1 ?0135 00000C84 R - 1 ?0136 00000C8E R | 2 ?0137 00000199 R - 1 ?0138 00000CAE R | 1 ?0139 00000D0F R - 1 ?0140 00000CC8 R | 1 ?0141 00000CF5 R - 2 ?0142 000001A6 R | 2 ?0143 000001B2 R - 1 ?0144 00000D3D R | 1 ?0145 00000D4F R - 2 ?0146 000001CD R | 1 ?0147 00000E50 R - 1 ?0148 00000D6E R | 1 ?0149 00000D8B R - 1 ?0150 00000DC2 R | 1 ?0151 00000DDD R - 1 ?0152 00000DE5 R | 1 ?0153 00000504 R - 1 ?0154 0000055A R | 1 ?0155 000005CC R - 1 ?0156 00000622 R | 1 ?0157 000006E2 R - 1 ?0158 000007E2 R | 1 ?0159 0000083F R - 1 ?0160 00000847 R | ?BANK_CALL_DIR ******** GX - ?BANK_LEAVE_DI ******** GX | ?CL64180B_4_06 ******** GX - ?C_LSH_L01 ******** GX | ?C_V_SWITCH_L0 ******** GX - ?ENT_AUTO_DIRE ******** GX | ?ENT_PARM_DIRE ******** GX - ?L_AND_L03 ******** GX | ?L_LSH_L03 ******** GX - ?SL_CMP_L03 ******** GX | ?SL_RSH_L03 ******** GX - ?SS_CMP_L02 ******** GX | ?US_DIV_L02 ******** GX - ?US_MOD_L02 ******** GX | ?US_RSH_L02 ******** GX - 4 _fmt 00000A00 GR | 4 _immov 00000A04 GR - 4 _quick 00000A02 GR | _read ******** GX - 4 _verb 00000A03 GR | _write ******** GX - 4 _yes 00000A01 GR | abort ******** GX - atoi ******** GX | bcopy ******** GX - bfill ******** GX | 3 bitmap_block 00000608 GR - 1 bitmap_dump 00000D5D GR | 3 bitmap_final 00000610 GR - 3 bitmap_immov 0000060C GR | 3 bitmap_inode 00000604 GR - 3 block_bitmap 00000616 GR | 4 bootblock 00000000 GR - bzero ******** GX | close ******** GX - 1 da_read 00000078 GR | 1 da_write 0000013B GR - 1 daread 00000000 GR | 3 dev 00000402 GR - 3 device_handle 00000000 GR | 3 device_name 00000002 GR - 4 dirbuf 00000800 GR | 1 doformatting 00000771 GR - 1 dwrite 0000003F GR | errno ******** GX - exit ******** GX | fflush ******** GX - fgets ******** GX | fprintf ******** GX - fputs ******** GX | 3 immov_bitmap 00000618 GR - 3 inode 00000404 GR | 3 inode_bitmap 00000614 GR - int_min ******** GX | lseek ******** GX - 1 main 000007E7 GR | malloc ******** GX - 1 mkfs 0000024A GR | open ******** GX - perror ******** GX | printf ******** GX - stderr ******** GX | stdin ******** GX - stdout ******** GX | strcpy ******** GX - 1 yes 000001E0 GR | 3 zeroed 00000202 GR - - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. -Hexadecimal [32-Bits] -mkfs(17) -Area Table - - 0 _DEFAULT size 0 flags 0 - 1 CODE size E53 flags 0 - 2 CSTR size 1FA flags 0 - 3 UDATA0 size 81A flags 0 - 4 IDATA0 size A05 flags 0 - 5 CDATA0 size A05 flags 0 diff --git a/src/fsutil/mkfs.obj b/src/fsutil/mkfs.obj deleted file mode 100644 index 49368b5306fe9eb3c6e8d14a11bd257ef7ea7b30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17055 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 G(|-aQu75fJ diff --git a/src/fsutil/mkfs.rel b/src/fsutil/mkfs.rel deleted file mode 100644 index 0db7b5f7..00000000 --- a/src/fsutil/mkfs.rel +++ /dev/null @@ -1,2098 +0,0 @@ -XL4 -H 6 areas 44 global symbols -S ?US_RSH_L02 Ref00000000 -S fflush Ref00000000 -S bfill Ref00000000 -S _write Ref00000000 -S printf Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S stderr Ref00000000 -S lseek Ref00000000 -S close Ref00000000 -S abort Ref00000000 -S ?C_V_SWITCH_L06 Ref00000000 -S fgets Ref00000000 -S perror Ref00000000 -S bcopy Ref00000000 -S stdin Ref00000000 -S bzero Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S stdout Ref00000000 -S strcpy Ref00000000 -S errno Ref00000000 -S ?SL_CMP_L03 Ref00000000 -S ?L_AND_L03 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S atoi Ref00000000 -S int_min Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S open Ref00000000 -S fputs Ref00000000 -S ?US_MOD_L02 Ref00000000 -S ?C_LSH_L01 Ref00000000 -S ?US_DIV_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S ?SL_RSH_L03 Ref00000000 -S malloc Ref00000000 -S fprintf Ref00000000 -S exit Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -S ?L_LSH_L03 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size E53 flags 0 -S da_read Def00000078 -S doformatting Def00000771 -S dwrite Def0000003F -S da_write Def0000013B -S yes Def000001E0 -S bitmap_dump Def00000D5D -S daread Def00000000 -S main Def000007E7 -S mkfs Def0000024A -A CSTR size 1FA flags 0 -A UDATA0 size 81A flags 0 -S immov_bitmap Def00000618 -S bitmap_immov Def0000060C -S zeroed Def00000202 -S inode Def00000404 -S bitmap_final Def00000610 -S block_bitmap Def00000616 -S bitmap_block Def00000608 -S inode_bitmap Def00000614 -S bitmap_inode Def00000604 -S device_name Def00000002 -S device_handle Def00000000 -S dev Def00000402 -A IDATA0 size A05 flags 0 -S _immov Def00000A04 -S _verb Def00000A03 -S _fmt Def00000A00 -S _yes Def00000A01 -S dirbuf Def00000800 -S _quick Def00000A02 -S bootblock Def00000000 -A CDATA0 size A05 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 1A 06 00 00 E5 -R 00 00 01 00 02 05 10 00 00 0A 03 00 -T 07 00 00 00 4B 42 ED 5B 02 04 00 00 3E -R 00 00 01 00 00 08 03 00 -T 0E 00 00 00 78 00 00 00 21 78 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 13 00 00 00 00 00 00 00 F1 3E 02 AC B5 28 1D -R 00 00 01 00 02 04 11 00 -T 1C 00 00 00 -R 00 00 01 00 -T 1C 00 00 00 DD 6E 02 DD 66 03 E5 21 -R 00 00 01 00 -T 24 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 2B 0A 04 00 -T 2A 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 04 00 02 09 11 00 -T 31 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 09 00 02 0A 09 00 -T 37 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 11 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 21 1A 06 00 00 C3 00 00 00 00 -R 00 00 01 00 00 05 03 00 02 0A 05 00 -T 3F 00 00 00 -R 00 00 01 00 -T 3F 00 00 00 CD 00 00 00 00 C5 4B 42 ED 5B -R 00 00 01 00 02 05 10 00 -T 47 00 00 00 02 04 00 00 3E 3B 01 00 00 21 -R 00 00 01 00 00 04 03 00 29 09 01 00 -T 4C 00 00 00 3B 01 00 00 CD 00 00 00 00 F1 3E -R 00 00 01 00 00 04 01 00 02 09 11 00 -T 53 00 00 00 02 AC B5 28 1D -R 00 00 01 00 -T 58 00 00 00 -R 00 00 01 00 -T 58 00 00 00 DD 6E 02 DD 66 03 E5 21 -R 00 00 01 00 -T 60 00 00 00 1A 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 2B 0A 04 00 -T 66 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 04 00 02 09 11 00 -T 6D 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 09 00 02 0A 09 00 -T 73 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 11 00 -T 75 00 00 00 -R 00 00 01 00 -T 75 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 CD 00 00 00 00 21 00 00 E5 69 60 -R 00 00 01 00 02 05 10 00 -T 81 00 00 00 01 00 00 3E 09 CD 00 00 00 00 C5 -R 00 00 01 00 02 0A 27 00 -T 8A 00 00 00 E5 ED 5B 00 00 00 00 3E -R 00 00 01 00 00 07 03 00 -T 90 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 95 00 00 00 00 00 00 00 F1 F1 F1 CB 78 28 2E -R 00 00 01 00 02 04 11 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 21 35 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 04 00 -T A4 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 04 00 02 0A 11 00 -T AB 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 12 00 2B 0A 01 00 -T B1 00 00 00 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 04 01 00 02 09 11 00 -T B7 00 00 00 02 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 0C 00 -T BC 00 00 00 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 04 0C 00 02 09 11 00 -T C2 00 00 00 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 24 00 -T C7 00 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 24 00 02 09 11 00 -T CC 00 00 00 -R 00 00 01 00 -T CC 00 00 00 21 00 02 E5 DD 4E 0A DD 46 0B ED -R 00 00 01 00 -T D7 00 00 00 5B 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 03 00 2B 0A 25 00 -T DD 00 00 00 00 00 00 00 CD 00 00 00 00 F1 3E -R 00 00 01 00 02 04 25 00 02 09 11 00 -T E4 00 00 00 02 AC B5 28 4C -R 00 00 01 00 -T E9 00 00 00 -R 00 00 01 00 -T E9 00 00 00 2A 00 00 00 00 7D B4 20 17 -R 00 00 01 00 02 05 14 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 21 00 02 E5 0E AA DD 5E 0A DD 56 -R 00 00 01 00 -T FB 00 00 00 0B 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 02 00 02 0B 02 00 -T 01 01 00 00 CD 00 00 00 00 E1 18 2E -R 00 00 01 00 02 05 11 00 -T 07 01 00 00 -R 00 00 01 00 -T 07 01 00 00 21 42 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 04 00 -T 0D 01 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 04 00 02 0A 11 00 -T 14 01 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 12 00 2B 0A 01 00 -T 1A 01 00 00 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 04 01 00 02 09 11 00 -T 20 01 00 00 02 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 0C 00 -T 25 01 00 00 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 04 0C 00 02 09 11 00 -T 2B 01 00 00 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 24 00 -T 30 01 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 24 00 02 09 11 00 -T 35 01 00 00 -R 00 00 01 00 -T 35 01 00 00 -R 00 00 01 00 -T 35 01 00 00 21 00 02 C3 00 00 00 00 -R 00 00 01 00 02 08 05 00 -T 3B 01 00 00 -R 00 00 01 00 -T 3B 01 00 00 CD 00 00 00 00 21 00 00 E5 69 60 -R 00 00 01 00 02 05 10 00 -T 44 01 00 00 01 00 00 3E 09 CD 00 00 00 00 C5 -R 00 00 01 00 02 0A 27 00 -T 4D 01 00 00 E5 ED 5B 00 00 00 00 3E -R 00 00 01 00 00 07 03 00 -T 53 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 58 01 00 00 00 00 00 00 F1 F1 F1 CB 78 28 2E -R 00 00 01 00 02 04 11 00 -T 61 01 00 00 -R 00 00 01 00 -T 61 01 00 00 21 35 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 04 00 -T 67 01 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 04 00 02 0A 11 00 -T 6E 01 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 12 00 2B 0A 01 00 -T 74 01 00 00 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 04 01 00 02 09 11 00 -T 7A 01 00 00 02 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 0C 00 -T 7F 01 00 00 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 04 0C 00 02 09 11 00 -T 85 01 00 00 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 24 00 -T 8A 01 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 24 00 02 09 11 00 -T 8F 01 00 00 -R 00 00 01 00 -T 8F 01 00 00 21 00 02 E5 DD 4E 0A DD 46 0B ED -R 00 00 01 00 -T 9A 01 00 00 5B 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 03 00 2B 0A 03 00 -T A0 01 00 00 00 00 00 00 CD 00 00 00 00 F1 3E -R 00 00 01 00 02 04 03 00 02 09 11 00 -T A7 01 00 00 02 AC B5 28 2E -R 00 00 01 00 -T AC 01 00 00 -R 00 00 01 00 -T AC 01 00 00 21 4F 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 04 00 -T B2 01 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 04 00 02 0A 11 00 -T B9 01 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 12 00 2B 0A 01 00 -T BF 01 00 00 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 04 01 00 02 09 11 00 -T C5 01 00 00 02 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 0C 00 -T CA 01 00 00 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 04 0C 00 02 09 11 00 -T D0 01 00 00 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 24 00 -T D5 01 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 24 00 02 09 11 00 -T DA 01 00 00 -R 00 00 01 00 -T DA 01 00 00 21 00 02 C3 00 00 00 00 -R 00 00 01 00 02 08 05 00 -T E0 01 00 00 -R 00 00 01 00 -T E0 01 00 00 CD 00 00 00 00 EC FF 01 -R 00 00 01 00 02 05 17 00 -T E6 01 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E -R 00 00 01 00 02 04 12 00 -T EF 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1C 00 02 09 1C 00 -T F4 01 00 00 00 00 00 00 11 00 00 00 00 3E -R 00 00 01 00 02 04 11 00 02 09 12 00 -T FA 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T FF 01 00 00 00 00 00 00 3A 01 0A 00 00 B7 28 -R 00 00 01 00 02 04 11 00 00 09 04 00 -T 06 02 00 00 10 -R 00 00 01 00 -T 07 02 00 00 -R 00 00 01 00 -T 07 02 00 00 01 00 00 00 00 11 5D 00 00 00 3E -R 00 00 01 00 02 05 12 00 00 0A 02 00 -T 0E 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1C 00 02 09 1C 00 -T 13 02 00 00 00 00 00 00 18 2D -R 00 00 01 00 02 04 11 00 -T 17 02 00 00 -R 00 00 01 00 -T 17 02 00 00 21 00 00 00 00 E5 01 14 00 21 -R 00 00 01 00 02 05 0E 00 -T 1F 02 00 00 02 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0B 00 -T 27 02 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 0B 00 02 09 11 00 -T 2E 02 00 00 B4 28 0E DD 7E EC FE 79 28 0C DD -R 00 00 01 00 -T 39 02 00 00 7E EC FE 59 28 05 -R 00 00 01 00 -T 3F 02 00 00 -R 00 00 01 00 -T 3F 02 00 00 -R 00 00 01 00 -T 3F 02 00 00 -R 00 00 01 00 -T 3F 02 00 00 -R 00 00 01 00 -T 3F 02 00 00 -R 00 00 01 00 -T 3F 02 00 00 21 00 00 18 03 -R 00 00 01 00 -T 44 02 00 00 -R 00 00 01 00 -T 44 02 00 00 -R 00 00 01 00 -T 44 02 00 00 21 01 00 -R 00 00 01 00 -T 47 02 00 00 -R 00 00 01 00 -T 47 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 4A 02 00 00 -R 00 00 01 00 -T 4A 02 00 00 CD 00 00 00 00 DC FF 3A -R 00 00 01 00 02 05 17 00 -T 50 02 00 00 03 0A 00 00 B7 28 18 -R 00 00 01 00 00 04 04 00 -T 55 02 00 00 -R 00 00 01 00 -T 55 02 00 00 21 60 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 04 00 -T 5B 02 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 04 00 02 0A 11 00 -T 62 02 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 12 00 2B 0A 01 00 -T 68 02 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 11 00 -T 6D 02 00 00 -R 00 00 01 00 -T 6D 02 00 00 AF DD 77 DC DD 77 DD -R 00 00 01 00 -T 74 02 00 00 -R 00 00 01 00 -T 74 02 00 00 01 00 08 DD 6E DC DD 66 DD A7 ED -R 00 00 01 00 -T 7F 02 00 00 42 D2 13 03 00 00 -R 00 00 01 00 00 06 01 00 -T 83 02 00 00 -R 00 00 01 00 -T 83 02 00 00 01 00 02 DD 5E DC DD 56 DD 21 -R 00 00 01 00 -T 8D 02 00 00 00 08 A7 ED 52 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 19 00 -T 95 02 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 19 00 02 0A 11 00 -T 9C 02 00 00 75 DE DD 74 DF 01 00 02 A7 ED 42 -R 00 00 01 00 -T A7 02 00 00 30 1B -R 00 00 01 00 -T A9 02 00 00 -R 00 00 01 00 -T A9 02 00 00 06 09 DD 5E DC DD 56 DD CD -R 00 00 01 00 -T B2 02 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 29 09 01 00 -T B7 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 00 04 01 00 02 09 11 00 -T BE 02 00 00 FE DD 74 FF 18 08 -R 00 00 01 00 -T C4 02 00 00 -R 00 00 01 00 -T C4 02 00 00 DD 36 FE 02 02 00 00 DD 36 FF -R 00 00 01 00 09 07 03 00 -T CB 02 00 00 02 02 00 00 -R 00 00 01 00 89 04 03 00 -T CC 02 00 00 -R 00 00 01 00 -T CC 02 00 00 DD 6E DE DD 66 DF E5 DD 4E FE DD -R 00 00 01 00 -T D7 02 00 00 46 FF 21 00 00 00 00 DD 5E DC DD -R 00 00 01 00 00 07 04 00 -T E0 02 00 00 56 DD 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0D 00 -T E7 02 00 00 00 00 00 00 CD 00 00 00 00 E1 DD -R 00 00 01 00 02 04 0D 00 02 09 11 00 -T EE 02 00 00 4E FE DD 46 FF C5 06 09 DD 5E DC -R 00 00 01 00 -T F9 02 00 00 DD 56 DD CD 00 00 00 00 3E -R 00 00 01 00 02 08 00 00 -T 00 03 00 00 3F 00 00 00 21 3F 00 00 00 C1 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 06 03 00 00 00 00 00 00 3E 02 DD 86 DD DD 77 -R 00 00 01 00 02 04 11 00 -T 0F 03 00 00 DD C3 74 02 00 00 -R 00 00 01 00 00 06 01 00 -T 13 03 00 00 -R 00 00 01 00 -T 13 03 00 00 01 00 02 11 02 02 00 00 3E -R 00 00 01 00 00 08 03 00 -T 1A 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 -T 1F 03 00 00 00 00 00 00 3A 03 0A 00 00 B7 28 -R 00 00 01 00 02 04 11 00 00 09 04 00 -T 26 03 00 00 18 -R 00 00 01 00 -T 27 03 00 00 -R 00 00 01 00 -T 27 03 00 00 21 78 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 04 00 -T 2D 03 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 04 00 02 0A 11 00 -T 34 03 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 12 00 2B 0A 01 00 -T 3A 03 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 11 00 -T 3F 03 00 00 -R 00 00 01 00 -T 3F 03 00 00 3A 02 0A 00 00 B7 28 19 -R 00 00 01 00 00 05 04 00 -T 45 03 00 00 -R 00 00 01 00 -T 45 03 00 00 DD 6E 04 DD 66 05 DD 4E 0A DD 46 -R 00 00 01 00 -T 50 03 00 00 0B 09 01 05 00 09 DD 75 DE DD 74 -R 00 00 01 00 -T 5B 03 00 00 DF 18 0C -R 00 00 01 00 -T 5E 03 00 00 -R 00 00 01 00 -T 5E 03 00 00 DD 6E 02 DD 66 03 DD 75 DE DD 74 -R 00 00 01 00 -T 69 03 00 00 DF -R 00 00 01 00 -T 6A 03 00 00 -R 00 00 01 00 -T 6A 03 00 00 21 05 00 DD 4E 0A DD 46 0B 09 DD -R 00 00 01 00 -T 75 03 00 00 75 DC DD 74 DD -R 00 00 01 00 -T 7A 03 00 00 -R 00 00 01 00 -T 7A 03 00 00 DD 4E DE DD 46 DF DD 6E DC DD 66 -R 00 00 01 00 -T 85 03 00 00 DD A7 ED 42 30 51 -R 00 00 01 00 -T 8B 03 00 00 -R 00 00 01 00 -T 8B 03 00 00 3A 03 0A 00 00 B7 28 30 01 09 00 -R 00 00 01 00 00 05 04 00 -T 94 03 00 00 DD 5E DC DD 56 DD CD 00 00 00 00 -R 00 00 01 00 02 0B 1D 00 -T 9D 03 00 00 7B B2 20 20 -R 00 00 01 00 -T A1 03 00 00 -R 00 00 01 00 -T A1 03 00 00 -R 00 00 01 00 -T A1 03 00 00 -R 00 00 01 00 -T A1 03 00 00 DD 6E DC DD 66 DD E5 21 -R 00 00 01 00 -T A9 03 00 00 9C 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 2B 0A 04 00 -T AF 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 04 00 02 09 11 00 -T B6 03 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 12 00 2B 0A 01 00 -T BC 03 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 11 00 -T C1 03 00 00 -R 00 00 01 00 -T C1 03 00 00 01 02 02 00 00 DD 5E DC DD 56 DD -R 00 00 01 00 00 05 03 00 -T CA 03 00 00 13 DD 73 DC DD 72 DD 1B 3E -R 00 00 01 00 -T D3 03 00 00 3F 00 00 00 21 3F 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T D8 03 00 00 00 00 00 00 18 9E -R 00 00 01 00 02 04 11 00 -T DC 03 00 00 -R 00 00 01 00 -T DC 03 00 00 3A 03 0A 00 00 B7 28 27 -R 00 00 01 00 00 05 04 00 -T E2 03 00 00 -R 00 00 01 00 -T E2 03 00 00 DD 6E DC DD 66 DD 2B DD 75 DC DD -R 00 00 01 00 -T ED 03 00 00 74 DD E5 21 A5 00 00 00 E5 3E -R 00 00 01 00 00 08 02 00 -T F5 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T FA 03 00 00 00 00 00 00 F1 F1 11 00 00 00 00 -R 00 00 01 00 02 04 11 00 02 0B 12 00 -T 01 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 01 00 02 0A 01 00 -T 07 04 00 00 00 00 00 00 -R 00 00 01 00 02 04 11 00 -T 09 04 00 00 -R 00 00 01 00 -T 09 04 00 00 3A 03 0A 00 00 B7 28 18 -R 00 00 01 00 00 05 04 00 -T 0F 04 00 00 -R 00 00 01 00 -T 0F 04 00 00 21 AE 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 04 00 -T 15 04 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 04 00 02 0A 11 00 -T 1C 04 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 12 00 2B 0A 01 00 -T 22 04 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 11 00 -T 27 04 00 00 -R 00 00 01 00 -T 27 04 00 00 01 1E 00 21 04 00 39 5D 54 3E -R 00 00 01 00 -T 31 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 -T 36 04 00 00 00 00 00 00 DD 36 E0 C6 DD 36 E1 -R 00 00 01 00 02 04 11 00 -T 3F 04 00 00 31 21 05 00 DD 4E 0A DD 46 0B 09 -R 00 00 01 00 -T 4A 04 00 00 DD 75 E2 DD 74 E3 DD 6E 04 DD 66 -R 00 00 01 00 -T 55 04 00 00 05 DD 75 E4 DD 74 E5 DD 6E 02 DD -R 00 00 01 00 -T 60 04 00 00 66 03 DD 75 E6 DD 74 E7 DD 6E 04 -R 00 00 01 00 -T 6B 04 00 00 DD 66 05 29 29 29 11 FE FF 19 DD -R 00 00 01 00 -T 76 04 00 00 75 EA DD 74 EB DD 6E 04 DD 66 05 -R 00 00 01 00 -T 81 04 00 00 09 01 06 00 09 4D 44 DD 6E 02 DD -R 00 00 01 00 -T 8C 04 00 00 66 03 A7 ED 42 DD 75 E8 DD 74 E9 -R 00 00 01 00 -T 97 04 00 00 2A 04 06 00 00 DD 75 F0 DD 74 F1 -R 00 00 01 00 00 05 03 00 -T A0 04 00 00 2A 08 06 00 00 DD 75 F2 DD 74 F3 -R 00 00 01 00 00 05 03 00 -T A9 04 00 00 2A 0C 06 00 00 DD 75 F4 DD 74 F5 -R 00 00 01 00 00 05 03 00 -T B2 04 00 00 2A 10 06 00 00 DD 75 F6 DD 74 F7 -R 00 00 01 00 00 05 03 00 -T BB 04 00 00 AF DD 77 DC DD 77 DD -R 00 00 01 00 -T C2 04 00 00 -R 00 00 01 00 -T C2 04 00 00 DD 6E 04 DD 66 05 DD 4E 0A DD 46 -R 00 00 01 00 -T CD 04 00 00 0B 09 01 06 00 09 4D 44 DD 6E DC -R 00 00 01 00 -T D8 04 00 00 DD 66 DD A7 ED 42 30 26 -R 00 00 01 00 -T E0 04 00 00 -R 00 00 01 00 -T E0 04 00 00 06 03 DD 5E DC DD 56 DD CD -R 00 00 01 00 -T E9 04 00 00 00 00 00 00 2A 16 06 00 00 19 DD -R 00 00 01 00 02 04 00 00 00 09 03 00 -T F0 04 00 00 7E DC E6 07 47 3E 01 CD -R 00 00 01 00 -T F8 04 00 00 00 00 00 00 B6 77 DD 34 DC 20 03 -R 00 00 01 00 02 04 1E 00 -T 01 05 00 00 DD 34 DD -R 00 00 01 00 -T 04 05 00 00 -R 00 00 01 00 -T 04 05 00 00 18 BC -R 00 00 01 00 -T 06 05 00 00 -R 00 00 01 00 -T 06 05 00 00 ED 4B 08 06 00 00 2A 0C 06 00 00 -R 00 00 01 00 00 06 03 00 00 0B 03 00 -T 0D 05 00 00 A7 ED 42 29 29 29 DD 75 DE DD 74 -R 00 00 01 00 -T 18 05 00 00 DF DD 6E 02 DD 66 03 DD 75 DC DD -R 00 00 01 00 -T 23 05 00 00 74 DD -R 00 00 01 00 -T 25 05 00 00 -R 00 00 01 00 -T 25 05 00 00 DD 6E DE DD 66 DF DD 4E DC DD 46 -R 00 00 01 00 -T 30 05 00 00 DD A7 ED 42 28 26 -R 00 00 01 00 -T 36 05 00 00 -R 00 00 01 00 -T 36 05 00 00 06 03 DD 5E DC DD 56 DD CD -R 00 00 01 00 -T 3F 05 00 00 00 00 00 00 2A 16 06 00 00 19 DD -R 00 00 01 00 02 04 00 00 00 09 03 00 -T 46 05 00 00 7E DC E6 07 47 3E 01 CD -R 00 00 01 00 -T 4E 05 00 00 00 00 00 00 B6 77 DD 34 DC 20 03 -R 00 00 01 00 02 04 1E 00 -T 57 05 00 00 DD 34 DD -R 00 00 01 00 -T 5A 05 00 00 -R 00 00 01 00 -T 5A 05 00 00 18 C9 -R 00 00 01 00 -T 5C 05 00 00 -R 00 00 01 00 -T 5C 05 00 00 2A 0E 06 00 00 E5 2A 0C 06 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 63 05 00 00 E5 2A 0A 06 00 00 E5 2A -R 00 00 01 00 00 06 03 00 -T 69 05 00 00 08 06 00 00 E5 ED 5B 16 06 00 00 -R 00 00 01 00 00 04 03 00 00 0B 03 00 -T 70 05 00 00 3E 5D 0D 00 00 21 5D 0D 00 00 CD -R 00 00 01 00 29 05 01 00 00 0A 01 00 -T 76 05 00 00 00 00 00 00 E1 E1 E1 E1 3A -R 00 00 01 00 02 04 11 00 -T 7D 05 00 00 04 0A 00 00 B7 CA 44 06 00 00 -R 00 00 01 00 00 04 04 00 00 0A 01 00 -T 83 05 00 00 -R 00 00 01 00 -T 83 05 00 00 AF DD 77 DC DD 77 DD -R 00 00 01 00 -T 8A 05 00 00 -R 00 00 01 00 -T 8A 05 00 00 DD 6E 04 DD 66 05 DD 4E 0A DD 46 -R 00 00 01 00 -T 95 05 00 00 0B 09 01 06 00 09 4D 44 DD 6E DC -R 00 00 01 00 -T A0 05 00 00 DD 66 DD A7 ED 42 30 26 -R 00 00 01 00 -T A8 05 00 00 -R 00 00 01 00 -T A8 05 00 00 06 03 DD 5E DC DD 56 DD CD -R 00 00 01 00 -T B1 05 00 00 00 00 00 00 2A 18 06 00 00 19 DD -R 00 00 01 00 02 04 00 00 00 09 03 00 -T B8 05 00 00 7E DC E6 07 47 3E 01 CD -R 00 00 01 00 -T C0 05 00 00 00 00 00 00 B6 77 DD 34 DC 20 03 -R 00 00 01 00 02 04 1E 00 -T C9 05 00 00 DD 34 DD -R 00 00 01 00 -T CC 05 00 00 -R 00 00 01 00 -T CC 05 00 00 18 BC -R 00 00 01 00 -T CE 05 00 00 -R 00 00 01 00 -T CE 05 00 00 ED 4B 0C 06 00 00 2A 10 06 00 00 -R 00 00 01 00 00 06 03 00 00 0B 03 00 -T D5 05 00 00 A7 ED 42 29 29 29 DD 75 DE DD 74 -R 00 00 01 00 -T E0 05 00 00 DF DD 6E 02 DD 66 03 DD 75 DC DD -R 00 00 01 00 -T EB 05 00 00 74 DD -R 00 00 01 00 -T ED 05 00 00 -R 00 00 01 00 -T ED 05 00 00 DD 6E DE DD 66 DF DD 4E DC DD 46 -R 00 00 01 00 -T F8 05 00 00 DD A7 ED 42 28 26 -R 00 00 01 00 -T FE 05 00 00 -R 00 00 01 00 -T FE 05 00 00 06 03 DD 5E DC DD 56 DD CD -R 00 00 01 00 -T 07 06 00 00 00 00 00 00 2A 18 06 00 00 19 DD -R 00 00 01 00 02 04 00 00 00 09 03 00 -T 0E 06 00 00 7E DC E6 07 47 3E 01 CD -R 00 00 01 00 -T 16 06 00 00 00 00 00 00 B6 77 DD 34 DC 20 03 -R 00 00 01 00 02 04 1E 00 -T 1F 06 00 00 DD 34 DD -R 00 00 01 00 -T 22 06 00 00 -R 00 00 01 00 -T 22 06 00 00 18 C9 -R 00 00 01 00 -T 24 06 00 00 -R 00 00 01 00 -T 24 06 00 00 2A 12 06 00 00 E5 2A 10 06 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 2B 06 00 00 E5 2A 0E 06 00 00 E5 2A -R 00 00 01 00 00 06 03 00 -T 31 06 00 00 0C 06 00 00 E5 ED 5B 18 06 00 00 -R 00 00 01 00 00 04 03 00 00 0B 03 00 -T 38 06 00 00 3E 5D 0D 00 00 21 5D 0D 00 00 CD -R 00 00 01 00 29 05 01 00 00 0A 01 00 -T 3E 06 00 00 00 00 00 00 E1 E1 E1 E1 -R 00 00 01 00 02 04 11 00 -T 44 06 00 00 -R 00 00 01 00 -T 44 06 00 00 21 ED 41 22 44 04 00 00 21 03 00 -R 00 00 01 00 00 08 03 00 -T 4D 06 00 00 22 46 04 00 00 01 00 00 21 20 00 -R 00 00 01 00 00 05 03 00 -T 56 06 00 00 22 4C 04 00 00 ED 43 4E 04 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 5D 06 00 00 DD 6E 04 DD 66 05 DD 4E 0A DD 46 -R 00 00 01 00 -T 68 06 00 00 0B 09 01 05 00 09 22 5C 04 00 00 -R 00 00 01 00 00 0B 03 00 -T 71 06 00 00 21 01 00 22 06 04 00 00 21 FF FF -R 00 00 01 00 00 08 03 00 -T 7A 06 00 00 22 04 04 00 00 2A 14 06 00 00 7E -R 00 00 01 00 00 05 03 00 00 0A 03 00 -T 81 06 00 00 F6 01 77 2A 14 06 00 00 7E F6 02 -R 00 00 01 00 00 08 03 00 -T 8A 06 00 00 77 ED 4B 04 06 00 00 2A -R 00 00 01 00 00 07 03 00 -T 90 06 00 00 08 06 00 00 A7 ED 42 29 29 29 DD -R 00 00 01 00 00 04 03 00 -T 99 06 00 00 75 DE DD 74 DF DD 6E 04 DD 66 05 -R 00 00 01 00 -T A4 06 00 00 29 29 29 DD 75 DC DD 74 DD -R 00 00 01 00 -T AD 06 00 00 -R 00 00 01 00 -T AD 06 00 00 DD 6E DE DD 66 DF DD 4E DC DD 46 -R 00 00 01 00 -T B8 06 00 00 DD A7 ED 42 28 26 -R 00 00 01 00 -T BE 06 00 00 -R 00 00 01 00 -T BE 06 00 00 06 03 DD 5E DC DD 56 DD CD -R 00 00 01 00 -T C7 06 00 00 00 00 00 00 2A 14 06 00 00 19 DD -R 00 00 01 00 02 04 00 00 00 09 03 00 -T CE 06 00 00 7E DC E6 07 47 3E 01 CD -R 00 00 01 00 -T D6 06 00 00 00 00 00 00 B6 77 DD 34 DC 20 03 -R 00 00 01 00 02 04 1E 00 -T DF 06 00 00 DD 34 DD -R 00 00 01 00 -T E2 06 00 00 -R 00 00 01 00 -T E2 06 00 00 18 C9 -R 00 00 01 00 -T E4 06 00 00 -R 00 00 01 00 -T E4 06 00 00 2A 0A 06 00 00 E5 2A 08 06 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T EB 06 00 00 E5 2A 06 06 00 00 E5 2A -R 00 00 01 00 00 06 03 00 -T F1 06 00 00 04 06 00 00 E5 ED 5B 14 06 00 00 -R 00 00 01 00 00 04 03 00 00 0B 03 00 -T F8 06 00 00 3E 5D 0D 00 00 21 5D 0D 00 00 CD -R 00 00 01 00 29 05 01 00 00 0A 01 00 -T FE 06 00 00 00 00 00 00 E1 E1 E1 E1 01 -R 00 00 01 00 02 04 11 00 -T 05 07 00 00 04 04 00 00 21 05 00 DD 5E 0A DD -R 00 00 01 00 00 04 03 00 -T 0E 07 00 00 56 0B 19 EB 3E 3F 00 00 00 21 -R 00 00 01 00 29 09 01 00 -T 15 07 00 00 3F 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 00 04 01 00 02 09 11 00 -T 1B 07 00 00 00 08 00 00 DD 6E 04 DD 66 05 DD -R 00 00 01 00 00 04 04 00 -T 24 07 00 00 5E 0A DD 56 0B 19 11 05 00 19 EB -R 00 00 01 00 -T 2F 07 00 00 3E 3F 00 00 00 21 3F 00 00 00 CD -R 00 00 01 00 29 05 01 00 00 0A 01 00 -T 35 07 00 00 00 00 00 00 11 04 00 3E -R 00 00 01 00 02 04 11 00 -T 3B 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 40 07 00 00 00 00 00 00 DD 75 FE DD 74 FF 01 -R 00 00 01 00 02 04 11 00 -T 49 07 00 00 1E 00 C5 4D 44 21 06 00 39 5D 54 -R 00 00 01 00 -T 54 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0D 00 02 0A 0D 00 -T 5A 07 00 00 00 00 00 00 E1 DD 4E FE DD 46 FF -R 00 00 01 00 02 04 11 00 -T 63 07 00 00 11 04 00 3E 3F 00 00 00 21 -R 00 00 01 00 29 08 01 00 -T 69 07 00 00 3F 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 00 04 01 00 02 09 11 00 -T 6F 07 00 00 00 00 00 00 -R 00 00 01 00 02 04 05 00 -T 71 07 00 00 -R 00 00 01 00 -T 71 07 00 00 CD 00 00 00 00 FE FD 3A -R 00 00 01 00 02 05 17 00 -T 77 07 00 00 03 0A 00 00 B7 28 18 -R 00 00 01 00 00 04 04 00 -T 7C 07 00 00 -R 00 00 01 00 -T 7C 07 00 00 21 C7 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 04 00 -T 82 07 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 04 00 02 0A 11 00 -T 89 07 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 12 00 2B 0A 01 00 -T 8F 07 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 11 00 -T 94 07 00 00 -R 00 00 01 00 -T 94 07 00 00 21 00 02 E5 0E AA 21 04 00 39 5D -R 00 00 01 00 -T 9F 07 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 02 00 02 0B 02 00 -T A5 07 00 00 CD 00 00 00 00 E1 21 00 00 39 AF -R 00 00 01 00 02 05 11 00 -T AE 07 00 00 77 23 77 -R 00 00 01 00 -T B1 07 00 00 -R 00 00 01 00 -T B1 07 00 00 DD 4E 02 DD 46 03 21 00 00 39 56 -R 00 00 01 00 -T BC 07 00 00 23 66 6A A7 ED 42 30 20 -R 00 00 01 00 -T C4 07 00 00 -R 00 00 01 00 -T C4 07 00 00 21 02 00 39 4D 44 21 00 00 39 5E -R 00 00 01 00 -T CF 07 00 00 23 56 3E 3F 00 00 00 21 -R 00 00 01 00 29 07 01 00 -T D4 07 00 00 3F 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 04 01 00 02 09 11 00 -T DA 07 00 00 00 00 39 34 23 20 01 34 -R 00 00 01 00 -T E2 07 00 00 -R 00 00 01 00 -T E2 07 00 00 18 CD -R 00 00 01 00 -T E4 07 00 00 -R 00 00 01 00 -T E4 07 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T E7 07 00 00 -R 00 00 01 00 -T E7 07 00 00 CD 00 00 00 00 F4 FF AF DD 77 F8 -R 00 00 01 00 02 05 17 00 -T F0 07 00 00 DD 77 F9 DD 36 FA 01 DD 36 FB 00 -R 00 00 01 00 -T FB 07 00 00 DD 6E 02 DD 66 03 DD 75 FC DD 74 -R 00 00 01 00 -T 06 08 00 00 FD -R 00 00 01 00 -T 07 08 00 00 -R 00 00 01 00 -T 07 08 00 00 DD 4E 02 DD 46 03 DD 6E FA DD 66 -R 00 00 01 00 -T 12 08 00 00 FB CD 00 00 00 00 D2 E0 08 00 00 -R 00 00 01 00 02 06 1A 00 00 0B 01 00 -T 19 08 00 00 DD 6E FA DD 66 FB 29 DD 4E 04 DD -R 00 00 01 00 -T 24 08 00 00 46 05 09 46 23 66 68 DD 75 FE DD -R 00 00 01 00 -T 2F 08 00 00 74 FF 7E FE 2D C2 E0 08 00 00 -R 00 00 01 00 00 0A 01 00 -T 37 08 00 00 -R 00 00 01 00 -T 37 08 00 00 -R 00 00 01 00 -T 37 08 00 00 -R 00 00 01 00 -T 37 08 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 3F 08 00 00 -R 00 00 01 00 -T 3F 08 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 47 08 00 00 -R 00 00 01 00 -T 47 08 00 00 DD 6E FC DD 66 FD 2B DD 75 FC DD -R 00 00 01 00 -T 52 08 00 00 74 FD -R 00 00 01 00 -T 54 08 00 00 -R 00 00 01 00 -T 54 08 00 00 DD 6E FE DD 66 FF AF B6 28 7F -R 00 00 01 00 -T 5E 08 00 00 -R 00 00 01 00 -T 5E 08 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 69 08 00 00 74 FF 2B 5E CD 00 00 00 00 0A 00 -R 00 00 01 00 02 09 0A 00 -T 72 08 00 00 46 4C 51 56 59 66 6C 71 76 79 -R 00 00 01 00 -T 7C 08 00 00 B5 08 00 00 92 08 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 80 08 00 00 A7 08 00 00 A0 08 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 84 08 00 00 AE 08 00 00 99 08 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 88 08 00 00 92 08 00 00 A7 08 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 8C 08 00 00 A0 08 00 00 AE 08 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 90 08 00 00 99 08 00 00 -R 00 00 01 00 00 04 01 00 -T 92 08 00 00 -R 00 00 01 00 -T 92 08 00 00 3E 01 32 01 0A 00 00 18 41 -R 00 00 01 00 00 07 04 00 -T 99 08 00 00 -R 00 00 01 00 -T 99 08 00 00 3E 01 32 00 0A 00 00 18 3A -R 00 00 01 00 00 07 04 00 -T A0 08 00 00 -R 00 00 01 00 -T A0 08 00 00 3E 01 32 02 0A 00 00 18 33 -R 00 00 01 00 00 07 04 00 -T A7 08 00 00 -R 00 00 01 00 -T A7 08 00 00 3E 01 32 03 0A 00 00 18 2C -R 00 00 01 00 00 07 04 00 -T AE 08 00 00 -R 00 00 01 00 -T AE 08 00 00 3E 01 32 04 0A 00 00 18 25 -R 00 00 01 00 00 07 04 00 -T B5 08 00 00 -R 00 00 01 00 -T B5 08 00 00 DD 6E FE DD 66 FF E5 21 -R 00 00 01 00 -T BD 08 00 00 E0 00 00 00 E5 21 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 06 00 -T C4 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 23 00 02 0A 23 00 -T CA 08 00 00 00 00 00 00 F1 F1 F1 11 01 00 3E -R 00 00 01 00 02 04 11 00 -T D3 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 24 00 02 09 24 00 -T D8 08 00 00 00 00 00 00 -R 00 00 01 00 02 04 11 00 -T DA 08 00 00 -R 00 00 01 00 -T DA 08 00 00 C3 54 08 00 00 -R 00 00 01 00 00 05 01 00 -T DD 08 00 00 -R 00 00 01 00 -T DD 08 00 00 C3 07 08 00 00 -R 00 00 01 00 00 05 01 00 -T E0 08 00 00 -R 00 00 01 00 -T E0 08 00 00 01 04 80 DD 6E FC DD 66 FD 3E 80 -R 00 00 01 00 -T EB 08 00 00 AC 67 ED 42 30 1D -R 00 00 01 00 -T F1 08 00 00 -R 00 00 01 00 -T F1 08 00 00 21 F3 00 00 00 E5 21 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T F8 08 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 23 00 02 0B 23 00 -T FE 08 00 00 CD 00 00 00 00 F1 F1 11 01 00 3E -R 00 00 01 00 02 05 11 00 -T 07 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 24 00 02 09 24 00 -T 0C 09 00 00 00 00 00 00 -R 00 00 01 00 02 04 11 00 -T 0E 09 00 00 -R 00 00 01 00 -T 0E 09 00 00 DD 6E FA DD 66 FB 29 DD 4E 04 DD -R 00 00 01 00 -T 19 09 00 00 46 05 09 4E 23 46 11 02 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 22 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 13 00 02 0A 13 00 -T 28 09 00 00 00 00 00 00 21 02 80 E5 21 -R 00 00 01 00 02 04 11 00 -T 2F 09 00 00 02 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 0A 1B 00 -T 35 09 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 1B 00 02 09 11 00 -T 3C 09 00 00 22 00 00 00 00 CB 7C 28 2E -R 00 00 01 00 00 05 03 00 -T 43 09 00 00 -R 00 00 01 00 -T 43 09 00 00 21 24 01 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 04 00 -T 49 09 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 04 00 02 0A 11 00 -T 50 09 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 12 00 2B 0A 01 00 -T 56 09 00 00 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 04 01 00 02 09 11 00 -T 5C 09 00 00 02 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 0C 00 -T 61 09 00 00 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 04 0C 00 02 09 11 00 -T 67 09 00 00 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 24 00 -T 6C 09 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 24 00 02 09 11 00 -T 71 09 00 00 -R 00 00 01 00 -T 71 09 00 00 DD 6E FA DD 66 FB 29 DD 4E 04 DD -R 00 00 01 00 -T 7C 09 00 00 46 05 09 23 23 5E 23 56 3E -R 00 00 01 00 -T 85 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 18 00 02 09 18 00 -T 8A 09 00 00 00 00 00 00 DD 75 F4 DD 74 F5 DD -R 00 00 01 00 02 04 11 00 -T 93 09 00 00 6E FA DD 66 FB 29 09 01 04 00 09 -R 00 00 01 00 -T 9E 09 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 18 00 -T A4 09 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 18 00 02 09 11 00 -T AB 09 00 00 F6 DD 74 F7 DD 4E FC DD 46 FD 21 -R 00 00 01 00 -T B6 09 00 00 04 00 CD 00 00 00 00 30 23 -R 00 00 01 00 02 07 1A 00 -T BD 09 00 00 -R 00 00 01 00 -T BD 09 00 00 DD 6E FA DD 66 FB 29 DD 4E 04 DD -R 00 00 01 00 -T C8 09 00 00 46 05 09 01 06 00 09 5E 23 56 3E -R 00 00 01 00 -T D3 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 18 00 02 09 18 00 -T D8 09 00 00 00 00 00 00 DD 75 F8 DD 74 F9 -R 00 00 01 00 02 04 11 00 -T E0 09 00 00 -R 00 00 01 00 -T E0 09 00 00 01 64 00 DD 6E F4 DD 66 F5 A7 ED -R 00 00 01 00 -T EB 09 00 00 42 38 25 01 1E 00 DD 5E F4 DD 56 -R 00 00 01 00 -T F6 09 00 00 F5 CD 00 00 00 00 DD 6E F6 DD 66 -R 00 00 01 00 02 06 1F 00 -T FF 09 00 00 F7 A7 ED 52 30 0E DD 4E F8 DD 46 -R 00 00 01 00 -T 0A 0A 00 00 F9 21 64 00 A7 ED 42 30 1D -R 00 00 01 00 -T 13 0A 00 00 -R 00 00 01 00 -T 13 0A 00 00 -R 00 00 01 00 -T 13 0A 00 00 -R 00 00 01 00 -T 13 0A 00 00 21 31 01 00 00 E5 21 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T 1A 0A 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 23 00 02 0B 23 00 -T 20 0A 00 00 CD 00 00 00 00 F1 F1 11 01 00 3E -R 00 00 01 00 02 05 11 00 -T 29 0A 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 24 00 02 09 24 00 -T 2E 0A 00 00 00 00 00 00 -R 00 00 01 00 02 04 11 00 -T 30 0A 00 00 -R 00 00 01 00 -T 30 0A 00 00 01 00 00 21 1E 08 22 04 06 00 00 -R 00 00 01 00 00 0B 03 00 -T 39 0A 00 00 ED 43 06 06 00 00 11 FF FF D5 11 -R 00 00 01 00 00 06 03 00 -T 42 0A 00 00 FC FF D5 C5 E5 21 03 00 C1 09 EB -R 00 00 01 00 -T 4D 0A 00 00 21 00 00 C1 ED 4A 4D 44 EB CD -R 00 00 01 00 -T 57 0A 00 00 00 00 00 00 22 04 06 00 00 ED 43 -R 00 00 01 00 02 04 16 00 00 09 03 00 -T 5E 0A 00 00 06 06 00 00 C5 E5 DD 6E F6 DD 66 -R 00 00 01 00 00 04 03 00 -T 67 0A 00 00 F7 29 29 29 01 FF FF 09 EB 06 03 -R 00 00 01 00 -T 72 0A 00 00 CD 00 00 00 00 EB 11 00 00 C1 09 -R 00 00 01 00 02 05 00 00 -T 7B 0A 00 00 EB C1 ED 4A E5 D5 21 01 00 C1 09 -R 00 00 01 00 -T 86 0A 00 00 EB 21 00 00 C1 ED 4A 4D 44 EB 22 -R 00 00 01 00 -T 91 0A 00 00 08 06 00 00 ED 43 0A 06 00 00 11 -R 00 00 01 00 00 04 03 00 00 0A 03 00 -T 98 0A 00 00 FF FF D5 11 FC FF D5 C5 E5 21 -R 00 00 01 00 -T A2 0A 00 00 03 00 C1 09 EB 21 00 00 C1 ED 4A -R 00 00 01 00 -T AD 0A 00 00 4D 44 EB CD 00 00 00 00 22 -R 00 00 01 00 02 08 16 00 -T B4 0A 00 00 08 06 00 00 ED 43 0A 06 00 00 C5 -R 00 00 01 00 00 04 03 00 00 0A 03 00 -T BB 0A 00 00 E5 21 FF FF DD 4E F4 DD 46 F5 09 -R 00 00 01 00 -T C6 0A 00 00 EB 06 03 CD 00 00 00 00 EB 11 -R 00 00 01 00 02 08 00 00 -T CE 0A 00 00 00 00 C1 09 EB C1 ED 4A E5 D5 21 -R 00 00 01 00 -T D9 0A 00 00 01 00 C1 09 EB 21 00 00 C1 ED 4A -R 00 00 01 00 -T E4 0A 00 00 4D 44 EB 22 0C 06 00 00 ED 43 -R 00 00 01 00 00 08 03 00 -T EC 0A 00 00 0E 06 00 00 11 FF FF D5 11 FC FF -R 00 00 01 00 00 04 03 00 -T F5 0A 00 00 D5 C5 E5 21 03 00 C1 09 EB 21 -R 00 00 01 00 -T FF 0A 00 00 00 00 C1 ED 4A 4D 44 EB CD -R 00 00 01 00 -T 08 0B 00 00 00 00 00 00 22 0C 06 00 00 ED 43 -R 00 00 01 00 02 04 16 00 00 09 03 00 -T 0F 0B 00 00 0E 06 00 00 22 10 06 00 00 ED 43 -R 00 00 01 00 00 04 03 00 00 09 03 00 -T 16 0B 00 00 12 06 00 00 C5 E5 21 FF 01 C1 09 -R 00 00 01 00 00 04 03 00 -T 1F 0B 00 00 EB 21 00 00 C1 ED 4A 4D 44 EB 3E -R 00 00 01 00 -T 2A 0B 00 00 09 CD 00 00 00 00 01 FB FF 09 DD -R 00 00 01 00 02 06 21 00 -T 33 0B 00 00 75 F8 DD 74 F9 3A 04 0A 00 00 B7 -R 00 00 01 00 00 0A 04 00 -T 3C 0B 00 00 28 7D -R 00 00 01 00 -T 3E 0B 00 00 -R 00 00 01 00 -T 3E 0B 00 00 21 FF FF DD 4E F4 DD 46 F5 09 EB -R 00 00 01 00 -T 49 0B 00 00 06 03 CD 00 00 00 00 EB 01 00 00 -R 00 00 01 00 02 07 00 00 -T 52 0B 00 00 C5 E5 2A 0C 06 00 00 C1 09 EB 2A -R 00 00 01 00 00 07 03 00 -T 5B 0B 00 00 0E 06 00 00 C1 ED 4A E5 D5 21 -R 00 00 01 00 00 04 03 00 -T 63 0B 00 00 01 00 C1 09 EB 21 00 00 C1 ED 4A -R 00 00 01 00 -T 6E 0B 00 00 4D 44 EB 22 10 06 00 00 ED 43 -R 00 00 01 00 00 08 03 00 -T 76 0B 00 00 12 06 00 00 11 FF FF D5 11 FC FF -R 00 00 01 00 00 04 03 00 -T 7F 0B 00 00 D5 C5 E5 21 03 00 C1 09 EB 21 -R 00 00 01 00 -T 89 0B 00 00 00 00 C1 ED 4A 4D 44 EB CD -R 00 00 01 00 -T 92 0B 00 00 00 00 00 00 22 10 06 00 00 ED 43 -R 00 00 01 00 02 04 16 00 00 09 03 00 -T 99 0B 00 00 12 06 00 00 C5 E5 21 FF 01 C1 09 -R 00 00 01 00 00 04 03 00 -T A2 0B 00 00 EB 21 00 00 C1 ED 4A 4D 44 EB 3E -R 00 00 01 00 -T AD 0B 00 00 09 CD 00 00 00 00 01 FB FF 09 DD -R 00 00 01 00 02 06 21 00 -T B6 0B 00 00 75 F8 DD 74 F9 -R 00 00 01 00 -T BB 0B 00 00 -R 00 00 01 00 -T BB 0B 00 00 DD 6E F8 DD 66 F9 E5 DD 6E F6 DD -R 00 00 01 00 -T C6 0B 00 00 66 F7 E5 DD 6E F4 DD 66 F5 E5 21 -R 00 00 01 00 -T D1 0B 00 00 02 00 00 00 E5 21 47 01 00 00 E5 -R 00 00 01 00 00 04 03 00 00 0A 02 00 -T D8 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 04 00 02 0A 04 00 -T DE 0B 00 00 00 00 00 00 F1 F1 F1 F1 F1 11 -R 00 00 01 00 02 04 11 00 -T E6 0B 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 12 00 2B 09 01 00 -T EB 0B 00 00 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 04 01 00 02 09 11 00 -T F1 0B 00 00 80 01 00 00 3E E0 01 00 00 21 -R 00 00 01 00 00 04 02 00 29 09 01 00 -T F6 0B 00 00 E0 01 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 00 04 01 00 02 09 11 00 -T FD 0B 00 00 20 0B -R 00 00 01 00 -T FF 0B 00 00 -R 00 00 01 00 -T FF 0B 00 00 11 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 24 00 -T 05 0C 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 24 00 02 09 11 00 -T 0A 0C 00 00 -R 00 00 01 00 -T 0A 0C 00 00 21 8A 01 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 04 00 -T 10 0C 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 04 00 02 0A 11 00 -T 17 0C 00 00 3A 00 0A 00 00 B7 28 0E -R 00 00 01 00 00 05 04 00 -T 1D 0C 00 00 -R 00 00 01 00 -T 1D 0C 00 00 DD 5E F4 DD 56 F5 3E 71 07 00 00 -R 00 00 01 00 29 0B 01 00 -T 25 0C 00 00 21 71 07 00 00 CD 00 00 00 00 -R 00 00 01 00 00 05 01 00 02 0A 11 00 -T 2B 0C 00 00 -R 00 00 01 00 -T 2B 0C 00 00 ED 4B 04 06 00 00 2A 08 06 00 00 -R 00 00 01 00 00 06 03 00 00 0B 03 00 -T 32 0C 00 00 A7 ED 42 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 22 00 -T 39 0C 00 00 00 00 00 00 CD 00 00 00 00 22 -R 00 00 01 00 02 04 22 00 02 09 11 00 -T 3F 0C 00 00 14 06 00 00 7D B4 20 0B -R 00 00 01 00 00 04 03 00 -T 45 0C 00 00 -R 00 00 01 00 -T 45 0C 00 00 DD 36 FE 8C 01 00 00 DD 36 FF -R 00 00 01 00 09 07 02 00 -T 4C 0C 00 00 8C 01 00 00 C3 D0 0C 00 00 -R 00 00 01 00 89 04 02 00 00 09 01 00 -T 50 0C 00 00 -R 00 00 01 00 -T 50 0C 00 00 ED 4B 04 06 00 00 2A 08 06 00 00 -R 00 00 01 00 00 06 03 00 00 0B 03 00 -T 57 0C 00 00 A7 ED 42 E5 0E 00 ED 5B -R 00 00 01 00 -T 5F 0C 00 00 14 06 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 02 00 -T 64 0C 00 00 00 00 00 00 CD 00 00 00 00 E1 ED -R 00 00 01 00 02 04 02 00 02 09 11 00 -T 6B 0C 00 00 4B 08 06 00 00 2A 10 06 00 00 A7 -R 00 00 01 00 00 05 03 00 00 0A 03 00 -T 72 0C 00 00 ED 42 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 22 00 -T 78 0C 00 00 00 00 00 00 CD 00 00 00 00 22 -R 00 00 01 00 02 04 22 00 02 09 11 00 -T 7E 0C 00 00 16 06 00 00 7D B4 20 0A -R 00 00 01 00 00 04 03 00 -T 84 0C 00 00 -R 00 00 01 00 -T 84 0C 00 00 DD 36 FE 99 01 00 00 DD 36 FF -R 00 00 01 00 09 07 02 00 -T 8B 0C 00 00 99 01 00 00 18 42 -R 00 00 01 00 89 04 02 00 -T 8E 0C 00 00 -R 00 00 01 00 -T 8E 0C 00 00 ED 4B 08 06 00 00 2A 10 06 00 00 -R 00 00 01 00 00 06 03 00 00 0B 03 00 -T 95 0C 00 00 A7 ED 42 E5 0E 00 ED 5B -R 00 00 01 00 -T 9D 0C 00 00 16 06 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 02 00 -T A2 0C 00 00 00 00 00 00 CD 00 00 00 00 E1 3A -R 00 00 01 00 02 04 02 00 02 09 11 00 -T A9 0C 00 00 04 0A 00 00 B7 28 61 -R 00 00 01 00 00 04 04 00 -T AE 0C 00 00 -R 00 00 01 00 -T AE 0C 00 00 ED 4B 0C 06 00 00 2A 10 06 00 00 -R 00 00 01 00 00 06 03 00 00 0B 03 00 -T B5 0C 00 00 A7 ED 42 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 22 00 -T BC 0C 00 00 00 00 00 00 CD 00 00 00 00 22 -R 00 00 01 00 02 04 22 00 02 09 11 00 -T C2 0C 00 00 18 06 00 00 7D B4 20 2D -R 00 00 01 00 00 04 03 00 -T C8 0C 00 00 -R 00 00 01 00 -T C8 0C 00 00 DD 36 FE A6 01 00 00 DD 36 FF -R 00 00 01 00 09 07 02 00 -T CF 0C 00 00 A6 01 00 00 -R 00 00 01 00 89 04 02 00 -T D0 0C 00 00 -R 00 00 01 00 -T D0 0C 00 00 DD 6E FE DD 66 FF E5 21 -R 00 00 01 00 -T D8 0C 00 00 B2 01 00 00 E5 21 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 06 00 -T DF 0C 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 23 00 02 0A 23 00 -T E5 0C 00 00 00 00 00 00 F1 F1 F1 11 01 00 3E -R 00 00 01 00 02 04 11 00 -T EE 0C 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 24 00 02 09 24 00 -T F3 0C 00 00 00 00 00 00 -R 00 00 01 00 02 04 11 00 -T F5 0C 00 00 -R 00 00 01 00 -T F5 0C 00 00 ED 4B 0C 06 00 00 2A 10 06 00 00 -R 00 00 01 00 00 06 03 00 00 0B 03 00 -T FC 0C 00 00 A7 ED 42 E5 0E 00 ED 5B -R 00 00 01 00 -T 04 0D 00 00 18 06 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 02 00 -T 09 0D 00 00 00 00 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 02 04 02 00 02 09 11 00 -T 0F 0D 00 00 -R 00 00 01 00 -T 0F 0D 00 00 DD 6E F8 DD 66 F9 E5 DD 4E F6 DD -R 00 00 01 00 -T 1A 0D 00 00 46 F7 DD 5E F4 DD 56 F5 3E -R 00 00 01 00 -T 23 0D 00 00 4A 02 00 00 21 4A 02 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 28 0D 00 00 00 00 00 00 E1 ED 5B 00 00 00 00 -R 00 00 01 00 02 04 11 00 00 0B 03 00 -T 2F 0D 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 08 00 02 0A 08 00 -T 35 0D 00 00 00 00 00 00 3A 03 0A 00 00 B7 28 -R 00 00 01 00 02 04 11 00 00 09 04 00 -T 3C 0D 00 00 12 -R 00 00 01 00 -T 3D 0D 00 00 -R 00 00 01 00 -T 3D 0D 00 00 21 02 00 00 00 E5 21 CD 01 00 00 -R 00 00 01 00 00 05 03 00 00 0B 02 00 -T 44 0D 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 04 00 02 0B 04 00 -T 4A 0D 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 11 00 -T 4F 0D 00 00 -R 00 00 01 00 -T 4F 0D 00 00 11 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 24 00 -T 55 0D 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 24 00 02 09 11 00 -T 5B 0D 00 00 00 00 00 00 -R 00 00 01 00 02 04 05 00 -T 5D 0D 00 00 -R 00 00 01 00 -T 5D 0D 00 00 CD 00 00 00 00 FA FF DD 6E 0A DD -R 00 00 01 00 02 05 17 00 -T 66 0D 00 00 66 0B DD 75 FC DD 74 FD -R 00 00 01 00 -T 6E 0D 00 00 -R 00 00 01 00 -T 6E 0D 00 00 DD 6E 10 DD 66 11 E5 DD 6E 0E DD -R 00 00 01 00 -T 79 0D 00 00 66 0F E5 DD 6E FC DD 66 FD 01 -R 00 00 01 00 -T 83 0D 00 00 00 00 CD 00 00 00 00 D2 -R 00 00 01 00 02 07 15 00 -T 89 0D 00 00 50 0E 00 00 -R 00 00 01 00 00 04 01 00 -T 8B 0D 00 00 -R 00 00 01 00 -T 8B 0D 00 00 DD 4E 0E DD 46 0F DD 6E FC DD 66 -R 00 00 01 00 -T 96 0D 00 00 FD 3E 02 84 67 7D E6 00 5F 7C E6 -R 00 00 01 00 -T A1 0D 00 00 FE 57 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 19 00 -T A6 0D 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 19 00 02 09 11 00 -T AD 0D 00 00 FE DD 74 FF DD 4E FC DD 46 FD A7 -R 00 00 01 00 -T B8 0D 00 00 ED 42 01 00 02 A7 ED 42 30 1B -R 00 00 01 00 -T C2 0D 00 00 -R 00 00 01 00 -T C2 0D 00 00 06 09 DD 5E FC DD 56 FD CD -R 00 00 01 00 -T CB 0D 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 29 09 01 00 -T D0 0D 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 00 04 01 00 02 09 11 00 -T D7 0D 00 00 FA DD 74 FB 18 08 -R 00 00 01 00 -T DD 0D 00 00 -R 00 00 01 00 -T DD 0D 00 00 DD 36 FA 02 02 00 00 DD 36 FB -R 00 00 01 00 09 07 03 00 -T E4 0D 00 00 02 02 00 00 -R 00 00 01 00 89 04 03 00 -T E5 0D 00 00 -R 00 00 01 00 -T E5 0D 00 00 DD 4E FC DD 46 FD DD 6E FE DD 66 -R 00 00 01 00 -T F0 0D 00 00 FF A7 ED 42 E5 79 E6 FF 6F 78 E6 -R 00 00 01 00 -T FB 0D 00 00 01 67 DD 5E FA DD 56 FB 19 4D 44 -R 00 00 01 00 -T 06 0E 00 00 DD 5E 0A DD 56 0B DD 6E FC DD 66 -R 00 00 01 00 -T 11 0E 00 00 FD A7 ED 52 DD 5E 02 DD 56 03 19 -R 00 00 01 00 -T 1C 0E 00 00 EB 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 -T 22 0E 00 00 CD 00 00 00 00 E1 DD 4E FA DD 46 -R 00 00 01 00 02 05 11 00 -T 2B 0E 00 00 FB C5 06 09 DD 5E FC DD 56 FD CD -R 00 00 01 00 -T 36 0E 00 00 00 00 00 00 3E 3F 00 00 00 21 -R 00 00 01 00 02 04 00 00 29 09 01 00 -T 3B 0E 00 00 3F 00 00 00 C1 CD 00 00 00 00 DD -R 00 00 01 00 00 04 01 00 02 0A 11 00 -T 42 0E 00 00 6E FE DD 66 FF DD 75 FC DD 74 FD -R 00 00 01 00 -T 4D 0E 00 00 C3 6E 0D 00 00 -R 00 00 01 00 00 05 01 00 -T 50 0E 00 00 -R 00 00 01 00 -T 50 0E 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 52 65 61 64 20 6F 66 20 62 6C 6F -R 00 00 02 00 -T 0B 00 00 00 63 6B 20 25 64 20 66 61 69 6C 65 -R 00 00 02 00 -T 16 00 00 00 64 2E 0A 00 -R 00 00 02 00 -T 1A 00 00 00 -R 00 00 02 00 -T 1A 00 00 00 57 72 69 74 65 20 6F 66 20 62 6C -R 00 00 02 00 -T 25 00 00 00 6F 63 6B 20 25 64 20 66 61 69 6C -R 00 00 02 00 -T 30 00 00 00 65 64 2E 0A 00 -R 00 00 02 00 -T 35 00 00 00 -R 00 00 02 00 -T 35 00 00 00 63 61 6E 27 74 20 73 65 65 6B 3A -R 00 00 02 00 -T 40 00 00 00 20 00 -R 00 00 02 00 -T 42 00 00 00 -R 00 00 02 00 -T 42 00 00 00 63 61 6E 27 74 20 72 65 61 64 3A -R 00 00 02 00 -T 4D 00 00 00 20 00 -R 00 00 02 00 -T 4F 00 00 00 -R 00 00 02 00 -T 4F 00 00 00 63 61 6E 27 74 20 77 72 69 74 65 -R 00 00 02 00 -T 5A 00 00 00 3A 20 00 -R 00 00 02 00 -T 5D 00 00 00 -R 00 00 02 00 -T 5D 00 00 00 59 0A 00 -R 00 00 02 00 -T 60 00 00 00 -R 00 00 02 00 -T 60 00 00 00 43 72 65 61 74 69 6E 67 20 62 6F -R 00 00 02 00 -T 6B 00 00 00 6F 74 20 62 6C 6F 63 6B 2E 2E 2E -R 00 00 02 00 -T 76 00 00 00 0A 00 -R 00 00 02 00 -T 78 00 00 00 -R 00 00 02 00 -T 78 00 00 00 49 6E 69 74 69 61 6C 69 7A 69 6E -R 00 00 02 00 -T 83 00 00 00 67 20 69 6E 6F 64 65 73 2C 20 62 -R 00 00 02 00 -T 8E 00 00 00 65 20 70 61 74 69 65 6E 74 2E 2E -R 00 00 02 00 -T 99 00 00 00 2E 0A 00 -R 00 00 02 00 -T 9C 00 00 00 -R 00 00 02 00 -T 9C 00 00 00 42 6C 6B 20 23 25 64 0D 00 -R 00 00 02 00 -T A5 00 00 00 -R 00 00 02 00 -T A5 00 00 00 42 6C 6B 20 23 25 64 0A 00 -R 00 00 02 00 -T AE 00 00 00 -R 00 00 02 00 -T AE 00 00 00 43 72 65 61 74 69 6E 67 20 73 75 -R 00 00 02 00 -T B9 00 00 00 70 65 72 20 62 6C 6F 63 6B 2E 2E -R 00 00 02 00 -T C4 00 00 00 2E 0A 00 -R 00 00 02 00 -T C7 00 00 00 -R 00 00 02 00 -T C7 00 00 00 4C 6F 77 20 6C 65 76 65 6C 20 66 -R 00 00 02 00 -T D2 00 00 00 6F 72 6D 61 74 74 69 6E 67 2E 2E -R 00 00 02 00 -T DD 00 00 00 2E 0A 00 -R 00 00 02 00 -T E0 00 00 00 -R 00 00 02 00 -T E0 00 00 00 49 6C 6C 65 67 61 6C 20 73 77 69 -R 00 00 02 00 -T EB 00 00 00 74 63 68 20 25 73 0A 00 -R 00 00 02 00 -T F3 00 00 00 -R 00 00 02 00 -T F3 00 00 00 75 73 61 67 65 3A 20 6D 6B 66 73 -R 00 00 02 00 -T FE 00 00 00 20 5B 2D 79 66 71 76 62 5D 20 64 -R 00 00 02 00 -T 09 01 00 00 65 76 69 63 65 20 66 73 69 7A 65 -R 00 00 02 00 -T 14 01 00 00 20 69 73 69 7A 65 20 5B 72 73 69 -R 00 00 02 00 -T 1F 01 00 00 7A 65 5D 0A 00 -R 00 00 02 00 -T 24 01 00 00 -R 00 00 02 00 -T 24 01 00 00 63 61 6E 27 74 20 6F 70 65 6E 3A -R 00 00 02 00 -T 2F 01 00 00 20 00 -R 00 00 02 00 -T 31 01 00 00 -R 00 00 02 00 -T 31 01 00 00 42 61 64 20 70 61 72 61 6D 65 74 -R 00 00 02 00 -T 3C 01 00 00 65 72 20 76 61 6C 75 65 73 0A 00 -R 00 00 02 00 -T 47 01 00 00 -R 00 00 02 00 -T 47 01 00 00 0A 4D 61 6B 69 6E 67 20 66 69 6C -R 00 00 02 00 -T 52 01 00 00 65 73 79 73 74 65 6D 20 6F 6E 20 -R 00 00 02 00 -T 5D 01 00 00 25 73 2C 20 66 73 69 7A 65 20 25 -R 00 00 02 00 -T 68 01 00 00 75 2C 20 69 73 69 7A 65 20 25 75 -R 00 00 02 00 -T 73 01 00 00 2C 20 72 73 69 7A 65 20 25 75 2E -R 00 00 02 00 -T 7E 01 00 00 20 00 -R 00 00 02 00 -T 80 01 00 00 -R 00 00 02 00 -T 80 01 00 00 43 6F 6E 66 69 72 6D 3F 20 00 -R 00 00 02 00 -T 8A 01 00 00 -R 00 00 02 00 -T 8A 01 00 00 0A 00 -R 00 00 02 00 -T 8C 01 00 00 -R 00 00 02 00 -T 8C 01 00 00 69 6E 6F 64 65 20 62 69 74 6D 61 -R 00 00 02 00 -T 97 01 00 00 70 00 -R 00 00 02 00 -T 99 01 00 00 -R 00 00 02 00 -T 99 01 00 00 62 6C 6F 63 6B 20 62 69 74 6D 61 -R 00 00 02 00 -T A4 01 00 00 70 00 -R 00 00 02 00 -T A6 01 00 00 -R 00 00 02 00 -T A6 01 00 00 6C 6F 63 6B 20 62 69 74 6D 61 70 -R 00 00 02 00 -T B1 01 00 00 00 -R 00 00 02 00 -T B2 01 00 00 -R 00 00 02 00 -T B2 01 00 00 4E 6F 74 20 65 6E 6F 75 67 68 20 -R 00 00 02 00 -T BD 01 00 00 6D 65 6D 6F 72 79 20 66 6F 72 20 -R 00 00 02 00 -T C8 01 00 00 25 73 2E 0A 00 -R 00 00 02 00 -T CD 01 00 00 -R 00 00 02 00 -T CD 01 00 00 46 69 6C 65 73 79 73 74 65 6D 20 -R 00 00 02 00 -T D8 01 00 00 6F 6E 20 25 73 20 73 75 63 63 65 -R 00 00 02 00 -T E3 01 00 00 73 73 66 75 6C 6C 79 20 69 6E 69 -R 00 00 02 00 -T EE 01 00 00 74 69 61 6C 69 7A 65 64 21 0A 0A -R 00 00 02 00 -T F9 01 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 02 00 00 -R 00 00 03 00 -T 02 02 00 00 -R 00 00 03 00 -T 02 04 00 00 -R 00 00 03 00 -T 02 04 00 00 -R 00 00 03 00 -T 04 04 00 00 -R 00 00 03 00 -T 04 04 00 00 -R 00 00 03 00 -T 04 06 00 00 -R 00 00 03 00 -T 04 06 00 00 -R 00 00 03 00 -T 08 06 00 00 -R 00 00 03 00 -T 08 06 00 00 -R 00 00 03 00 -T 0C 06 00 00 -R 00 00 03 00 -T 0C 06 00 00 -R 00 00 03 00 -T 10 06 00 00 -R 00 00 03 00 -T 10 06 00 00 -R 00 00 03 00 -T 14 06 00 00 -R 00 00 03 00 -T 14 06 00 00 -R 00 00 03 00 -T 16 06 00 00 -R 00 00 03 00 -T 16 06 00 00 -R 00 00 03 00 -T 18 06 00 00 -R 00 00 03 00 -T 18 06 00 00 -R 00 00 03 00 -T 1A 06 00 00 -R 00 00 03 00 -T 1A 06 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 08 00 00 -R 00 00 04 00 -T 00 08 00 00 -R 00 00 04 00 -T 00 0A 00 00 -R 00 00 04 00 -T 00 0A 00 00 -R 00 00 04 00 -T 01 0A 00 00 -R 00 00 04 00 -T 01 0A 00 00 -R 00 00 04 00 -T 02 0A 00 00 -R 00 00 04 00 -T 02 0A 00 00 -R 00 00 04 00 -T 03 0A 00 00 -R 00 00 04 00 -T 03 0A 00 00 -R 00 00 04 00 -T 04 0A 00 00 -R 00 00 04 00 -T 04 0A 00 00 -R 00 00 04 00 -T 00 00 00 00 35 32 43 38 30 33 30 38 32 31 31 -R 00 00 05 00 -T 0B 00 00 00 38 34 30 32 34 31 00 10 CD 0E 07 -R 00 00 05 00 -T 16 00 00 00 CD 16 06 CD 6D 05 18 22 00 00 00 -R 00 00 05 00 -T 21 00 00 00 42 4F 4F 54 20 20 20 20 42 49 4E -R 00 00 05 00 -T 2C 00 00 00 00 00 00 10 00 01 00 00 00 00 00 -R 00 00 05 00 -T 37 00 00 00 00 00 00 00 00 00 00 00 00 CD 56 -R 00 00 05 00 -T 42 00 00 00 01 6C 6F 61 64 69 6E 67 20 2F 62 -R 00 00 05 00 -T 4D 00 00 00 6F 6F 74 2F 6B 65 72 6E 65 6C 2E -R 00 00 05 00 -T 58 00 00 00 62 69 6E 0D 0A 00 CD B0 01 CD 9B -R 00 00 05 00 -T 63 00 00 00 00 CD 70 02 CD 90 01 CD 17 05 CD -R 00 00 05 00 -T 6E 00 00 00 35 05 ED 5B 0F 0E D5 21 8C 00 0E -R 00 00 05 00 -T 79 00 00 00 0F ED B0 C1 2A 11 0E F9 11 33 00 -R 00 00 05 00 -T 84 00 00 00 19 EB 2A 0B 0E 97 C5 C9 ED 39 39 -R 00 00 05 00 -T 8F 00 00 00 3E F1 ED 39 3A 3A 80 10 ED 39 38 -R 00 00 05 00 -T 9A 00 00 00 E9 11 04 00 21 E5 07 CD C5 04 2A -R 00 00 05 00 -T A5 00 00 00 E5 07 11 C6 31 B7 ED 52 20 4E 2A -R 00 00 05 00 -T B0 00 00 00 E7 07 22 93 07 2A E9 07 22 95 07 -R 00 00 05 00 -T BB 00 00 00 2A EB 07 22 97 07 C9 2A FF 0D 11 -R 00 00 05 00 -T C6 00 00 00 C9 A6 B7 ED 52 C8 CD 56 01 62 61 -R 00 00 05 00 -T D1 00 00 00 64 20 65 5F 6D 61 67 69 63 3A 20 -R 00 00 05 00 -T DC 00 00 00 00 18 2D 2A 01 0E 11 03 00 B7 ED -R 00 00 05 00 -T E7 00 00 00 52 C8 CD 56 01 62 61 64 20 65 5F -R 00 00 05 00 -T F2 00 00 00 66 6F 72 6D 61 74 3A 20 00 18 0F -R 00 00 05 00 -T FD 00 00 00 CD 56 01 62 61 64 20 6D 61 67 69 -R 00 00 05 00 -T 08 01 00 00 63 3A 20 00 19 CD 1F 06 CD 16 06 -R 00 00 05 00 -T 13 01 00 00 CD 56 01 64 6F 69 6E 67 20 61 20 -R 00 00 05 00 -T 1E 01 00 00 63 6C 65 61 6E 20 62 6F 6F 74 0D -R 00 00 05 00 -T 29 01 00 00 0A 00 21 E5 07 11 E6 07 01 FF 01 -R 00 00 05 00 -T 34 01 00 00 36 AA ED B0 11 00 00 06 04 C5 D5 -R 00 00 05 00 -T 3F 01 00 00 21 E5 07 CD D3 04 D1 C1 13 10 F3 -R 00 00 05 00 -T 4A 01 00 00 3E AA ED 39 0B 3E 13 ED 39 0A 18 -R 00 00 05 00 -T 55 01 00 00 FE CD 37 06 67 62 6F 6F 74 3A 20 -R 00 00 05 00 -T 60 01 00 00 00 C3 37 06 11 02 00 CD 84 01 3E -R 00 00 05 00 -T 6B 01 00 00 81 ED 39 0B 3E 13 ED 39 0A 97 3D -R 00 00 05 00 -T 76 01 00 00 20 FD 3D 20 FD 3D 20 FD 3D 20 FD -R 00 00 05 00 -T 81 01 00 00 11 00 02 21 81 FC E5 FD E1 01 05 -R 00 00 05 00 -T 8C 01 00 00 00 C3 46 06 CD 56 01 73 74 61 72 -R 00 00 05 00 -T 97 01 00 00 74 69 6E 67 20 6F 70 65 72 61 74 -R 00 00 05 00 -T A2 01 00 00 69 6E 67 20 73 79 73 74 65 6D 0D -R 00 00 05 00 -T AD 01 00 00 0A 00 C9 CD 64 01 3E 10 ED 39 3A -R 00 00 05 00 -T B8 01 00 00 3E FF ED 39 38 11 01 1F 01 FF 00 -R 00 00 05 00 -T C3 01 00 00 CD E8 01 21 00 F1 22 80 1F 97 ED -R 00 00 05 00 -T CE 01 00 00 39 38 11 01 10 0D CD E8 01 21 80 -R 00 00 05 00 -T D9 01 00 00 0F 22 FC 10 21 80 10 22 FE 10 C9 -R 00 00 05 00 -T E4 01 00 00 CD 0B 02 D8 6B 62 2B 36 00 79 B0 -R 00 00 05 00 -T EF 01 00 00 C8 ED B0 C9 B7 ED 52 D0 19 EB C9 -R 00 00 05 00 -T FA 01 00 00 2A 07 0E 11 14 00 18 11 2A 0D 0E -R 00 00 05 00 -T 05 02 00 00 ED 5B 09 0E 18 08 2A 11 0E ED 5B -R 00 00 05 00 -T 10 02 00 00 0D 0E 13 B7 ED 52 4D 44 C9 22 99 -R 00 00 05 00 -T 1B 02 00 00 07 CD B3 03 01 10 00 21 E5 0D CD -R 00 00 05 00 -T 26 02 00 00 3C 03 D8 23 ED 5B 99 07 06 0E 23 -R 00 00 05 00 -T 31 02 00 00 1A BE 20 EA B7 28 05 13 10 F5 1A -R 00 00 05 00 -T 3C 02 00 00 B7 ED 5B E5 0D C9 CD 56 01 66 69 -R 00 00 05 00 -T 47 02 00 00 6C 65 20 6E 6F 74 20 66 6F 75 6E -R 00 00 05 00 -T 52 02 00 00 64 0D 0A 00 C3 13 01 CD 56 01 66 -R 00 00 05 00 -T 5D 02 00 00 69 6C 65 20 74 6F 6F 20 73 68 6F -R 00 00 05 00 -T 68 02 00 00 72 74 0D 0A 00 C3 13 01 11 01 00 -R 00 00 05 00 -T 73 02 00 00 21 71 07 CD 19 02 20 C7 21 76 07 -R 00 00 05 00 -T 7E 02 00 00 CD 19 02 20 BF CD B3 03 21 FF 0D -R 00 00 05 00 -T 89 02 00 00 01 14 00 CD 3C 03 38 C8 CD C2 00 -R 00 00 05 00 -T 94 02 00 00 CD DF 00 3E FF ED 39 38 CD FA 01 -R 00 00 05 00 -T 9F 02 00 00 21 00 10 CD 3C 03 97 ED 39 38 CD -R 00 00 05 00 -T AA 02 00 00 02 02 EB CD 3C 03 CD E4 01 21 15 -R 00 00 05 00 -T B5 02 00 00 0E 22 13 0E CD BF 03 CD DE 03 7D -R 00 00 05 00 -T C0 02 00 00 B4 28 3E CD 06 04 7B B2 28 49 7B -R 00 00 05 00 -T CB 02 00 00 E6 07 20 59 2A 13 0E 73 23 72 23 -R 00 00 05 00 -T D6 02 00 00 22 13 0E 06 1F C5 D5 CD DE 03 7D -R 00 00 05 00 -T E1 02 00 00 B4 28 1A CD 06 04 7B B2 28 28 EB -R 00 00 05 00 -T EC 02 00 00 D1 13 B7 ED 52 20 35 C1 10 E5 CD -R 00 00 05 00 -T F7 02 00 00 DE 03 7D B4 20 C6 C9 E1 E1 C9 CD -R 00 00 05 00 -T 02 03 00 00 56 01 6E 75 6C 6C 20 66 69 6C 65 -R 00 00 05 00 -T 0D 03 00 00 0D 0A 00 C3 13 01 CD 56 01 68 6F -R 00 00 05 00 -T 18 03 00 00 6C 65 20 69 6E 20 66 69 6C 65 0D -R 00 00 05 00 -T 23 03 00 00 0A 00 C3 13 01 CD 56 01 6E 6F 74 -R 00 00 05 00 -T 2E 03 00 00 20 61 6C 69 67 6E 65 64 0D 0A 00 -R 00 00 05 00 -T 39 03 00 00 C3 13 01 E5 C5 ED 43 F9 0D 22 FB -R 00 00 05 00 -T 44 03 00 00 0D 21 00 00 22 FD 0D 2A F5 0D 7D -R 00 00 05 00 -T 4F 03 00 00 B4 20 1A CD DE 03 7D B4 28 4F 22 -R 00 00 05 00 -T 5A 03 00 00 F5 0D CD 06 04 7B B2 28 B0 21 E5 -R 00 00 05 00 -T 65 03 00 00 07 22 F7 0D CD C5 04 2A F5 0D ED -R 00 00 05 00 -T 70 03 00 00 5B F9 0D CD F3 01 2A F5 0D B7 ED -R 00 00 05 00 -T 7B 03 00 00 52 22 F5 0D 2A F9 0D B7 ED 52 22 -R 00 00 05 00 -T 86 03 00 00 F9 0D 2A FD 0D 19 22 FD 0D 4B 42 -R 00 00 05 00 -T 91 03 00 00 ED 5B FB 0D 2A F7 0D ED B0 22 F7 -R 00 00 05 00 -T 9C 03 00 00 0D ED 53 FB 0D 2A F9 0D 7D B4 20 -R 00 00 05 00 -T A7 03 00 00 AA 2A FD 0D 4D 44 D1 B7 ED 52 E1 -R 00 00 05 00 -T B2 03 00 00 C9 21 A5 07 CD 79 04 21 00 00 22 -R 00 00 05 00 -T BD 03 00 00 F5 0D 2A AD 07 22 9B 07 2A AF 07 -R 00 00 05 00 -T C8 03 00 00 22 9D 07 21 BD 07 22 9F 07 21 E5 -R 00 00 05 00 -T D3 03 00 00 0B 22 A1 07 21 E5 0D 22 A3 07 C9 -R 00 00 05 00 -T DE 03 00 00 2A 9B 07 ED 5B 9D 07 01 00 02 B7 -R 00 00 05 00 -T E9 03 00 00 ED 42 EB 06 00 ED 42 EB 38 0B 22 -R 00 00 05 00 -T F4 03 00 00 9B 07 ED 53 9D 07 21 00 02 C9 2A -R 00 00 05 00 -T FF 03 00 00 9B 07 ED 43 9B 07 C9 2A 9F 07 11 -R 00 00 05 00 -T 0A 04 00 00 E1 07 B7 ED 52 30 0B 2A 9F 07 5E -R 00 00 05 00 -T 15 04 00 00 23 56 23 22 9F 07 C9 2A A1 07 11 -R 00 00 05 00 -T 20 04 00 00 E5 0B B7 ED 52 38 13 2A 9F 07 5E -R 00 00 05 00 -T 2B 04 00 00 23 56 23 22 9F 07 21 E5 09 22 A1 -R 00 00 05 00 -T 36 04 00 00 07 CD C5 04 2A 9F 07 11 E4 07 B7 -R 00 00 05 00 -T 41 04 00 00 ED 52 30 0B 2A A1 07 5E 23 56 23 -R 00 00 05 00 -T 4C 04 00 00 22 A1 07 C9 2A A3 07 11 E5 0D B7 -R 00 00 05 00 -T 57 04 00 00 ED 52 38 13 2A A1 07 5E 23 56 23 -R 00 00 05 00 -T 62 04 00 00 22 A1 07 21 E5 0B 22 A3 07 CD C5 -R 00 00 05 00 -T 6D 04 00 00 04 2A A3 07 5E 23 56 23 22 A3 07 -R 00 00 05 00 -T 78 04 00 00 C9 E5 7B E6 07 06 03 CB 3A CB 1B -R 00 00 05 00 -T 83 04 00 00 10 FA 2A 95 07 37 ED 52 38 1A 2A -R 00 00 05 00 -T 8E 04 00 00 93 07 19 EB 21 E5 07 F5 E5 CD C5 -R 00 00 05 00 -T 99 04 00 00 04 E1 D1 01 40 00 59 ED 5C 19 D1 -R 00 00 05 00 -T A4 04 00 00 ED B0 C9 CD 56 01 62 61 64 20 69 -R 00 00 05 00 -T AF 04 00 00 6E 6F 64 65 3A 20 00 C6 30 CD 09 -R 00 00 05 00 -T BA 04 00 00 06 CD 37 06 2C 20 00 EB C3 0D 01 -R 00 00 05 00 -T C5 04 00 00 E5 CD DF 04 E5 FD E1 57 E1 1E 03 -R 00 00 05 00 -T D0 04 00 00 C3 46 06 E5 CD DF 04 FD E1 16 03 -R 00 00 05 00 -T DB 04 00 00 5F C3 46 06 21 00 06 37 ED 52 38 -R 00 00 05 00 -T E6 04 00 00 1D 01 00 02 21 00 02 19 7C 65 69 -R 00 00 05 00 -T F1 04 00 00 29 8F C9 7E 23 56 23 CB 3A 1F CB -R 00 00 05 00 -T FC 04 00 00 3A 1F CB 3A 1F C6 31 C9 CD 56 01 -R 00 00 05 00 -T 07 05 00 00 62 61 64 20 62 6C 6F 63 6B 3A 20 -R 00 00 05 00 -T 12 05 00 00 00 EB C3 0D 01 01 80 10 21 15 0E -R 00 00 05 00 -T 1D 05 00 00 18 0C 19 CD F4 04 1E 04 02 03 3C -R 00 00 05 00 -T 28 05 00 00 1D 20 FA ED 5B 13 0E B7 ED 52 38 -R 00 00 05 00 -T 33 05 00 00 EB C9 ED 5B 11 0E 2A 40 07 19 22 -R 00 00 05 00 -T 3E 05 00 00 40 07 21 44 07 CD 65 05 2A 42 07 -R 00 00 05 00 -T 49 05 00 00 19 22 42 07 21 64 07 CD 65 05 21 -R 00 00 05 00 -T 54 05 00 00 3E 07 01 33 00 ED B0 C9 79 83 2B -R 00 00 05 00 -T 5F 05 00 00 77 78 8A 23 77 23 4E 23 46 79 B0 -R 00 00 05 00 -T 6A 05 00 00 20 F0 C9 21 81 07 CD 37 F0 C8 CD -R 00 00 05 00 -T 75 05 00 00 56 01 6C 6F 61 64 69 6E 67 20 41 -R 00 00 05 00 -T 80 05 00 00 3A 4B 45 52 4E 45 4C 2E 42 49 4E -R 00 00 05 00 -T 8B 05 00 00 0D 0A 00 3E 31 32 62 07 ED 5B 91 -R 00 00 05 00 -T 96 05 00 00 07 B7 ED 52 20 23 19 22 8F 07 7D -R 00 00 05 00 -T A1 05 00 00 B4 20 04 21 8E 07 34 21 00 40 19 -R 00 00 05 00 -T AC 05 00 00 22 91 07 21 8D 07 34 21 81 07 CD -R 00 00 05 00 -T B7 05 00 00 37 F0 20 D8 21 8D 07 35 CD B0 01 -R 00 00 05 00 -T C2 05 00 00 FD 21 00 00 21 FF 0D 11 03 0C 01 -R 00 00 05 00 -T CD 05 00 00 14 00 CD 46 06 CD C2 00 CD DF 00 -R 00 00 05 00 -T D8 05 00 00 CD FA 01 D5 FD E1 11 00 0C 6B 63 -R 00 00 05 00 -T E3 05 00 00 CD 46 06 D5 CD 02 02 EB D1 CD 46 -R 00 00 05 00 -T EE 05 00 00 06 CD E4 01 CD 90 01 3A 8D 07 3C -R 00 00 05 00 -T F9 05 00 00 07 07 47 21 80 10 3E B1 77 23 3C -R 00 00 05 00 -T 04 06 00 00 10 FB C3 6D 00 F5 ED 38 05 E6 02 -R 00 00 05 00 -T 0F 06 00 00 28 F9 F1 ED 39 07 C9 3E 0D CD 09 -R 00 00 05 00 -T 1A 06 00 00 06 3E 0A 18 EA 7C CD 24 06 7D F5 -R 00 00 05 00 -T 25 06 00 00 0F 0F 0F 0F CD 2D 06 F1 E6 0F C6 -R 00 00 05 00 -T 30 06 00 00 90 27 CE 40 27 18 D2 E3 F5 7E 23 -R 00 00 05 00 -T 3B 06 00 00 B7 28 05 CD 09 06 18 F6 F1 E3 C9 -R 00 00 05 00 -T 46 06 00 00 7B FE 04 D2 C4 06 79 E6 1F C5 4F -R 00 00 05 00 -T 51 06 00 00 06 00 CD 96 06 0C 0D 28 11 ED 38 -R 00 00 05 00 -T 5C 06 00 00 30 EE 50 ED 39 30 FD 09 DC C0 06 -R 00 00 05 00 -T 67 06 00 00 09 DC C2 06 C1 3E 05 CB 38 CB 19 -R 00 00 05 00 -T 72 06 00 00 3D 20 F9 18 1A C5 01 20 00 ED 09 -R 00 00 05 00 -T 7D 06 00 00 26 ED 38 30 EE 50 ED 39 30 FD 09 -R 00 00 05 00 -T 88 06 00 00 DC C0 06 09 DC C2 06 C1 0B 78 B1 -R 00 00 05 00 -T 93 06 00 00 20 E2 C9 ED 09 26 ED 01 27 18 05 -R 00 00 05 00 -T 9E 06 00 00 3E 01 ED 39 26 E5 FD E5 ED 29 23 -R 00 00 05 00 -T A9 06 00 00 ED 21 24 ED 19 25 E1 ED 29 20 ED -R 00 00 05 00 -T B4 06 00 00 21 21 ED 11 22 E1 3E 02 ED 39 31 -R 00 00 05 00 -T BF 06 00 00 C9 14 C9 1C C9 C5 AF ED 39 26 ED -R 00 00 05 00 -T CA 06 00 00 39 27 3E 04 CB 38 CB 19 3D 20 F9 -R 00 00 05 00 -T D5 06 00 00 78 B1 28 0D C5 01 10 00 CD EE 06 -R 00 00 05 00 -T E0 06 00 00 C1 0B 78 B1 20 F3 C1 47 79 E6 0F -R 00 00 05 00 -T EB 06 00 00 28 20 4F ED 30 26 CC 9E 06 FD 09 -R 00 00 05 00 -T F6 06 00 00 DC C0 06 09 DC C2 06 41 0E 01 ED -R 00 00 05 00 -T 01 07 00 00 38 30 EE 50 ED 39 30 ED 09 26 10 -R 00 00 05 00 -T 0C 07 00 00 F8 C9 3E 74 ED 39 00 ED 39 01 3E -R 00 00 05 00 -T 17 07 00 00 22 ED 39 02 ED 39 03 97 ED 39 04 -R 00 00 05 00 -T 22 07 00 00 ED 39 05 ED 30 08 ED 30 09 ED 39 -R 00 00 05 00 -T 2D 07 00 00 27 ED 39 2F ED 39 29 ED 39 2A ED -R 00 00 05 00 -T 38 07 00 00 39 2B ED 39 2C C9 02 00 06 00 26 -R 00 00 05 00 -T 43 07 00 00 00 0C 00 1D 00 00 00 2F 62 6F 6F -R 00 00 05 00 -T 4E 07 00 00 74 2F 6B 65 72 6E 65 6C 2E 62 69 -R 00 00 05 00 -T 59 07 00 00 6E 00 72 6F 6F 74 3D 68 64 30 00 -R 00 00 05 00 -T 64 07 00 00 2A 00 00 00 53 4E 3D 30 30 30 30 -R 00 00 05 00 -T 6F 07 00 00 30 00 62 6F 6F 74 00 6B 65 72 6E -R 00 00 05 00 -T 7A 07 00 00 65 6C 2E 62 69 6E 00 01 4B 45 52 -R 00 00 05 00 -T 85 07 00 00 4E 45 4C 20 20 42 49 4E 00 0C 00 -R 00 00 05 00 -T 90 07 00 00 00 00 40 1A 1A 1A 1A 1A 1A 1A 1A -R 00 00 05 00 -T 9B 07 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A -R 00 00 05 00 -T A6 07 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A -R 00 00 05 00 -T B1 07 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A -R 00 00 05 00 -T BC 07 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A -R 00 00 05 00 -T C7 07 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A -R 00 00 05 00 -T D2 07 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A -R 00 00 05 00 -T DD 07 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A -R 00 00 05 00 -T E8 07 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A -R 00 00 05 00 -T F3 07 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A -R 00 00 05 00 -T FE 07 00 00 1A 1A 01 00 2E 00 00 00 00 00 00 -R 00 00 05 00 -T 09 08 00 00 00 00 00 00 00 00 00 01 00 2E 2E -R 00 00 05 00 -T 14 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 1F 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 2A 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 35 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 40 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 4B 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 56 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 61 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 6C 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 77 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 82 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 8D 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 98 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T A3 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T AE 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T B9 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T C4 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T CF 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T DA 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T E5 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T F0 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T FB 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 06 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 11 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 1C 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 27 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 32 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 3D 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 48 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 53 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 5E 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 69 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 74 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 7F 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 8A 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 95 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T A0 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T AB 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T B6 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T C1 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T CC 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T D7 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T E2 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T ED 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T F8 09 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 03 0A 00 00 00 00 -R 00 00 05 00 diff --git a/src/fsutil/mkfs.rst b/src/fsutil/mkfs.rst deleted file mode 100644 index edc4f24b..00000000 --- a/src/fsutil/mkfs.rst +++ /dev/null @@ -1,4282 +0,0 @@ - 1 NAME mkfs(17) - 2 RSEG CODE(0) - 3 RSEG CSTR(0) - 4 RSEG UDATA0(0) - 5 RSEG IDATA0(0) - 6 RSEG CDATA0(0) - 7 PUBLIC _fmt - 8 PUBLIC _immov - 9 PUBLIC _quick - 10 EXTERN _read - 11 PUBLIC _verb - 12 EXTERN _write - 13 PUBLIC _yes - 14 EXTERN abort - 15 EXTERN atoi - 16 EXTERN bcopy - 17 EXTERN bfill - 18 PUBLIC bitmap_block - 19 PUBLIC bitmap_dump - 20 PUBLIC bitmap_final - 21 PUBLIC bitmap_immov - 22 PUBLIC bitmap_inode - 23 PUBLIC block_bitmap - 24 PUBLIC bootblock - 25 EXTERN bzero - 26 EXTERN close - 27 PUBLIC da_read - 28 PUBLIC da_write - 29 PUBLIC daread - 30 PUBLIC dev - 31 PUBLIC device_handle - 32 PUBLIC device_name - 33 PUBLIC dirbuf - 34 PUBLIC doformatting - 35 PUBLIC dwrite - 36 EXTERN errno - 37 EXTERN exit - 38 EXTERN fflush - 39 EXTERN fgets - 40 EXTERN fprintf - 41 EXTERN fputs - 42 PUBLIC immov_bitmap - 43 PUBLIC inode - 44 PUBLIC inode_bitmap - 45 EXTERN int_min - 46 EXTERN lseek - 47 PUBLIC main - 48 EXTERN malloc - 49 PUBLIC mkfs - 50 EXTERN open - 51 EXTERN perror - 52 EXTERN printf - 53 EXTERN stderr - 54 EXTERN stdin - 55 EXTERN stdout - 56 EXTERN strcpy - 57 PUBLIC yes - 58 PUBLIC zeroed - 59 EXTERN ?CL64180B_4_06_L00 - 60 EXTERN ?C_LSH_L01 - 61 EXTERN ?US_RSH_L02 - 62 EXTERN ?US_DIV_L02 - 63 EXTERN ?US_MOD_L02 - 64 EXTERN ?SS_CMP_L02 - 65 EXTERN ?L_LSH_L03 - 66 EXTERN ?SL_RSH_L03 - 67 EXTERN ?L_AND_L03 - 68 EXTERN ?SL_CMP_L03 - 69 EXTERN ?C_V_SWITCH_L06 - 70 EXTERN ?BANK_CALL_DIRECT_L08 - 71 EXTERN ?BANK_LEAVE_DIRECT_L08 - 72 EXTERN ?ENT_PARM_DIRECT_L09 - 73 EXTERN ?ENT_AUTO_DIRECT_L09 - 74 RSEG CODE - 00005094 75 daread: - 00005094 CD 46 81 76 CALL LWRD ?ENT_PARM_DIRECT_L09 - 00005097 21 A5 97 77 LD HL,?0002 - 0000509A E5 78 PUSH HL - 0000509B 4B 79 LD C,E - 0000509C 42 80 LD B,D - 0000509D ED 5B 8D 95 81 LD DE,(dev) - 000050A1 3E 00 82 LD A,BYTE3 da_read - 000050A3 21 0C 51 83 LD HL,LWRD da_read - 000050A6 CD 52 81 84 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000050A9 F1 85 POP AF - 000050AA 3E 02 86 LD A,2 - 000050AC AC 87 XOR H - 000050AD B5 88 OR L - 000050AE 28 1D 89 JR Z,?0004 - 000050B0 90 ?0003: - 000050B0 DD 6E 02 91 LD L,(IX+2) - 000050B3 DD 66 03 92 LD H,(IX+3) - 000050B6 E5 93 PUSH HL - 000050B7 21 F7 83 94 LD HL,?0005 - 000050BA E5 95 PUSH HL - 000050BB 3E 00 96 LD A,BYTE3 printf - 000050BD 21 DE 61 97 LD HL,LWRD printf - 000050C0 CD 52 81 98 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000050C3 F1 99 POP AF - 000050C4 F1 100 POP AF - 000050C5 3E 00 101 LD A,BYTE3 abort - 000050C7 21 F8 62 102 LD HL,LWRD abort - 000050CA CD 52 81 103 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000050CD 104 ?0004: - 000050CD 21 A5 97 105 LD HL,?0002 - 000050D0 C3 29 81 106 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 000050D3 107 dwrite: - 000050D3 CD 46 81 108 CALL LWRD ?ENT_PARM_DIRECT_L09 - 000050D6 C5 109 PUSH BC - 000050D7 4B 110 LD C,E - 000050D8 42 111 LD B,D - 000050D9 ED 5B 8D 95 112 LD DE,(dev) - 000050DD 3E 00 113 LD A,BYTE3 da_write - 000050DF 21 CF 51 114 LD HL,LWRD da_write - 000050E2 CD 52 81 115 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000050E5 F1 116 POP AF - 000050E6 3E 02 117 LD A,2 - 000050E8 AC 118 XOR H - 000050E9 B5 119 OR L - 000050EA 28 1D 120 JR Z,?0007 - 000050EC 121 ?0006: - 000050EC DD 6E 02 122 LD L,(IX+2) - 000050EF DD 66 03 123 LD H,(IX+3) - 000050F2 E5 124 PUSH HL - 000050F3 21 11 84 125 LD HL,?0008 - 000050F6 E5 126 PUSH HL - 000050F7 3E 00 127 LD A,BYTE3 printf - 000050F9 21 DE 61 128 LD HL,LWRD printf - 000050FC CD 52 81 129 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000050FF F1 130 POP AF - 00005100 F1 131 POP AF - 00005101 3E 00 132 LD A,BYTE3 abort - 00005103 21 F8 62 133 LD HL,LWRD abort - 00005106 CD 52 81 134 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005109 135 ?0007: - 00005109 C3 29 81 136 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 0000510C 137 da_read: - 0000510C CD 46 81 138 CALL LWRD ?ENT_PARM_DIRECT_L09 - 0000510F 21 00 00 139 LD HL,0 - 00005112 E5 140 PUSH HL - 00005113 69 141 LD L,C - 00005114 60 142 LD H,B - 00005115 01 00 00 143 LD BC,0 - 00005118 3E 09 144 LD A,9 - 0000511A CD 16 82 145 CALL LWRD ?L_LSH_L03 - 0000511D C5 146 PUSH BC - 0000511E E5 147 PUSH HL - 0000511F ED 5B 8B 91 148 LD DE,(device_handle) - 00005123 3E 00 149 LD A,BYTE3 lseek - 00005125 21 0D 62 150 LD HL,LWRD lseek - 00005128 CD 52 81 151 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000512B F1 152 POP AF - 0000512C F1 153 POP AF - 0000512D F1 154 POP AF - 0000512E CB 78 155 BIT 7,B - 00005130 28 2E 156 JR Z,?0010 - 00005132 157 ?0009: - 00005132 21 2C 84 158 LD HL,?0011 - 00005135 E5 159 PUSH HL - 00005136 3E 00 160 LD A,BYTE3 printf - 00005138 21 DE 61 161 LD HL,LWRD printf - 0000513B CD 52 81 162 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000513E F1 163 POP AF - 0000513F 11 48 90 164 LD DE,stdout - 00005142 3E 00 165 LD A,BYTE3 fflush - 00005144 21 AC 5F 166 LD HL,LWRD fflush - 00005147 CD 52 81 167 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000514A 11 8D 91 168 LD DE,device_name - 0000514D 3E 00 169 LD A,BYTE3 perror - 0000514F 21 6A 64 170 LD HL,LWRD perror - 00005152 CD 52 81 171 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005155 11 01 00 172 LD DE,1 - 00005158 3E 00 173 LD A,BYTE3 exit - 0000515A 21 7F 71 174 LD HL,LWRD exit - 0000515D CD 52 81 175 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005160 176 ?0010: - 00005160 21 00 02 177 LD HL,512 - 00005163 E5 178 PUSH HL - 00005164 DD 4E 0A 179 LD C,(IX+10) - 00005167 DD 46 0B 180 LD B,(IX+11) - 0000516A ED 5B 8B 91 181 LD DE,(device_handle) - 0000516E 3E 00 182 LD A,BYTE3 _read - 00005170 21 AF 71 183 LD HL,LWRD _read - 00005173 CD 52 81 184 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005176 F1 185 POP AF - 00005177 3E 02 186 LD A,2 - 00005179 AC 187 XOR H - 0000517A B5 188 OR L - 0000517B 28 4C 189 JR Z,?0013 - 0000517D 190 ?0012: - 0000517D 2A 86 91 191 LD HL,(errno) - 00005180 7D 192 LD A,L - 00005181 B4 193 OR H - 00005182 20 17 194 JR NZ,?0015 - 00005184 195 ?0014: - 00005184 21 00 02 196 LD HL,512 - 00005187 E5 197 PUSH HL - 00005188 0E AA 198 LD C,170 - 0000518A DD 5E 0A 199 LD E,(IX+10) - 0000518D DD 56 0B 200 LD D,(IX+11) - 00005190 3E 00 201 LD A,BYTE3 bfill - 00005192 21 11 5F 202 LD HL,LWRD bfill - 00005195 CD 52 81 203 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005198 E1 204 POP HL - 00005199 18 2E 205 JR ?0016 - 0000519B 206 ?0015: - 0000519B 21 39 84 207 LD HL,?0017 - 0000519E E5 208 PUSH HL - 0000519F 3E 00 209 LD A,BYTE3 printf - 000051A1 21 DE 61 210 LD HL,LWRD printf - 000051A4 CD 52 81 211 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000051A7 F1 212 POP AF - 000051A8 11 48 90 213 LD DE,stdout - 000051AB 3E 00 214 LD A,BYTE3 fflush - 000051AD 21 AC 5F 215 LD HL,LWRD fflush - 000051B0 CD 52 81 216 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000051B3 11 8D 91 217 LD DE,device_name - 000051B6 3E 00 218 LD A,BYTE3 perror - 000051B8 21 6A 64 219 LD HL,LWRD perror - 000051BB CD 52 81 220 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000051BE 11 01 00 221 LD DE,1 - 000051C1 3E 00 222 LD A,BYTE3 exit - 000051C3 21 7F 71 223 LD HL,LWRD exit - 000051C6 CD 52 81 224 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000051C9 225 ?0016: - 000051C9 226 ?0013: - 000051C9 21 00 02 227 LD HL,512 - 000051CC C3 29 81 228 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 000051CF 229 da_write: - 000051CF CD 46 81 230 CALL LWRD ?ENT_PARM_DIRECT_L09 - 000051D2 21 00 00 231 LD HL,0 - 000051D5 E5 232 PUSH HL - 000051D6 69 233 LD L,C - 000051D7 60 234 LD H,B - 000051D8 01 00 00 235 LD BC,0 - 000051DB 3E 09 236 LD A,9 - 000051DD CD 16 82 237 CALL LWRD ?L_LSH_L03 - 000051E0 C5 238 PUSH BC - 000051E1 E5 239 PUSH HL - 000051E2 ED 5B 8B 91 240 LD DE,(device_handle) - 000051E6 3E 00 241 LD A,BYTE3 lseek - 000051E8 21 0D 62 242 LD HL,LWRD lseek - 000051EB CD 52 81 243 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000051EE F1 244 POP AF - 000051EF F1 245 POP AF - 000051F0 F1 246 POP AF - 000051F1 CB 78 247 BIT 7,B - 000051F3 28 2E 248 JR Z,?0019 - 000051F5 249 ?0018: - 000051F5 21 2C 84 250 LD HL,?0011 - 000051F8 E5 251 PUSH HL - 000051F9 3E 00 252 LD A,BYTE3 printf - 000051FB 21 DE 61 253 LD HL,LWRD printf - 000051FE CD 52 81 254 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005201 F1 255 POP AF - 00005202 11 48 90 256 LD DE,stdout - 00005205 3E 00 257 LD A,BYTE3 fflush - 00005207 21 AC 5F 258 LD HL,LWRD fflush - 0000520A CD 52 81 259 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000520D 11 8D 91 260 LD DE,device_name - 00005210 3E 00 261 LD A,BYTE3 perror - 00005212 21 6A 64 262 LD HL,LWRD perror - 00005215 CD 52 81 263 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005218 11 01 00 264 LD DE,1 - 0000521B 3E 00 265 LD A,BYTE3 exit - 0000521D 21 7F 71 266 LD HL,LWRD exit - 00005220 CD 52 81 267 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005223 268 ?0019: - 00005223 21 00 02 269 LD HL,512 - 00005226 E5 270 PUSH HL - 00005227 DD 4E 0A 271 LD C,(IX+10) - 0000522A DD 46 0B 272 LD B,(IX+11) - 0000522D ED 5B 8B 91 273 LD DE,(device_handle) - 00005231 3E 00 274 LD A,BYTE3 _write - 00005233 21 BF 61 275 LD HL,LWRD _write - 00005236 CD 52 81 276 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005239 F1 277 POP AF - 0000523A 3E 02 278 LD A,2 - 0000523C AC 279 XOR H - 0000523D B5 280 OR L - 0000523E 28 2E 281 JR Z,?0021 - 00005240 282 ?0020: - 00005240 21 46 84 283 LD HL,?0022 - 00005243 E5 284 PUSH HL - 00005244 3E 00 285 LD A,BYTE3 printf - 00005246 21 DE 61 286 LD HL,LWRD printf - 00005249 CD 52 81 287 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000524C F1 288 POP AF - 0000524D 11 48 90 289 LD DE,stdout - 00005250 3E 00 290 LD A,BYTE3 fflush - 00005252 21 AC 5F 291 LD HL,LWRD fflush - 00005255 CD 52 81 292 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005258 11 8D 91 293 LD DE,device_name - 0000525B 3E 00 294 LD A,BYTE3 perror - 0000525D 21 6A 64 295 LD HL,LWRD perror - 00005260 CD 52 81 296 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005263 11 01 00 297 LD DE,1 - 00005266 3E 00 298 LD A,BYTE3 exit - 00005268 21 7F 71 299 LD HL,LWRD exit - 0000526B CD 52 81 300 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000526E 301 ?0021: - 0000526E 21 00 02 302 LD HL,512 - 00005271 C3 29 81 303 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 00005274 304 yes: - 00005274 CD AE 81 305 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 00005277 EC FF 306 DEFW 65516 - 00005279 01 48 90 307 LD BC,stdout - 0000527C DD 5E 02 308 LD E,(IX+2) - 0000527F DD 56 03 309 LD D,(IX+3) - 00005282 3E 00 310 LD A,BYTE3 fputs - 00005284 21 98 6E 311 LD HL,LWRD fputs - 00005287 CD 52 81 312 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000528A 11 48 90 313 LD DE,stdout - 0000528D 3E 00 314 LD A,BYTE3 fflush - 0000528F 21 AC 5F 315 LD HL,LWRD fflush - 00005292 CD 52 81 316 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005295 3A 2A 90 317 LD A,(_yes) - 00005298 B7 318 OR A - 00005299 28 10 319 JR Z,?0024 - 0000529B 320 ?0023: - 0000529B 01 48 90 321 LD BC,stdout - 0000529E 11 54 84 322 LD DE,?0025 - 000052A1 3E 00 323 LD A,BYTE3 fputs - 000052A3 21 98 6E 324 LD HL,LWRD fputs - 000052A6 CD 52 81 325 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000052A9 18 2D 326 JR ?0026 - 000052AB 327 ?0024: - 000052AB 21 30 90 328 LD HL,stdin - 000052AE E5 329 PUSH HL - 000052AF 01 14 00 330 LD BC,20 - 000052B2 21 02 00 331 LD HL,2 - 000052B5 39 332 ADD HL,SP - 000052B6 5D 333 LD E,L - 000052B7 54 334 LD D,H - 000052B8 3E 00 335 LD A,BYTE3 fgets - 000052BA 21 7B 63 336 LD HL,LWRD fgets - 000052BD CD 52 81 337 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000052C0 F1 338 POP AF - 000052C1 7D 339 LD A,L - 000052C2 B4 340 OR H - 000052C3 28 0E 341 JR Z,?0027 - 000052C5 DD 7E EC 342 LD A,(IX-20) - 000052C8 FE 79 343 CP 121 - 000052CA 28 0C 344 JR Z,?0028 - 000052CC DD 7E EC 345 LD A,(IX-20) - 000052CF FE 59 346 CP 89 - 000052D1 28 05 347 JR Z,?0028 - 000052D3 348 ?0032: - 000052D3 349 ?0031: - 000052D3 350 ?0029: - 000052D3 351 ?0030: - 000052D3 352 ?0027: - 000052D3 21 00 00 353 LD HL,0 - 000052D6 18 03 354 JR ?0033 - 000052D8 355 ?0028: - 000052D8 356 ?0026: - 000052D8 21 01 00 357 LD HL,1 - 000052DB 358 ?0033: - 000052DB C3 29 81 359 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 000052DE 360 mkfs: - 000052DE CD AE 81 361 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 000052E1 DC FF 362 DEFW 65500 - 000052E3 3A 2C 90 363 LD A,(_verb) - 000052E6 B7 364 OR A - 000052E7 28 18 365 JR Z,?0035 - 000052E9 366 ?0034: - 000052E9 21 57 84 367 LD HL,?0036 - 000052EC E5 368 PUSH HL - 000052ED 3E 00 369 LD A,BYTE3 printf - 000052EF 21 DE 61 370 LD HL,LWRD printf - 000052F2 CD 52 81 371 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000052F5 F1 372 POP AF - 000052F6 11 48 90 373 LD DE,stdout - 000052F9 3E 00 374 LD A,BYTE3 fflush - 000052FB 21 AC 5F 375 LD HL,LWRD fflush - 000052FE CD 52 81 376 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005301 377 ?0035: - 00005301 AF 378 XOR A - 00005302 DD 77 DC 379 LD (IX-36),A - 00005305 DD 77 DD 380 LD (IX-35),A - 00005308 381 ?0038: - 00005308 01 00 08 382 LD BC,2048 - 0000530B DD 6E DC 383 LD L,(IX-36) - 0000530E DD 66 DD 384 LD H,(IX-35) - 00005311 A7 385 AND A - 00005312 ED 42 386 SBC HL,BC - 00005314 D2 A7 53 387 JP NC,?0037 - 00005317 388 ?0039: - 00005317 01 00 02 389 LD BC,512 - 0000531A DD 5E DC 390 LD E,(IX-36) - 0000531D DD 56 DD 391 LD D,(IX-35) - 00005320 21 00 08 392 LD HL,2048 - 00005323 A7 393 AND A - 00005324 ED 52 394 SBC HL,DE - 00005326 EB 395 EX DE,HL - 00005327 3E 00 396 LD A,BYTE3 int_min - 00005329 21 75 5F 397 LD HL,LWRD int_min - 0000532C CD 52 81 398 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000532F DD 75 DE 399 LD (IX-34),L - 00005332 DD 74 DF 400 LD (IX-33),H - 00005335 01 00 02 401 LD BC,512 - 00005338 A7 402 AND A - 00005339 ED 42 403 SBC HL,BC - 0000533B 30 1B 404 JR NC,?0042 - 0000533D 405 ?0041: - 0000533D 06 09 406 LD B,9 - 0000533F DD 5E DC 407 LD E,(IX-36) - 00005342 DD 56 DD 408 LD D,(IX-35) - 00005345 CD 1F 81 409 CALL LWRD ?US_RSH_L02 - 00005348 3E 00 410 LD A,BYTE3 daread - 0000534A 21 94 50 411 LD HL,LWRD daread - 0000534D CD 52 81 412 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005350 DD 75 FE 413 LD (IX-2),L - 00005353 DD 74 FF 414 LD (IX-1),H - 00005356 18 08 415 JR ?0043 - 00005358 416 ?0042: - 00005358 DD 36 FE 8D 417 LD (IX-2),LOW(zeroed) - 0000535C DD 36 FF 93 418 LD (IX-1),HIGH(zeroed) - 00005360 419 ?0043: - 00005360 DD 6E DE 420 LD L,(IX-34) - 00005363 DD 66 DF 421 LD H,(IX-33) - 00005366 E5 422 PUSH HL - 00005367 DD 4E FE 423 LD C,(IX-2) - 0000536A DD 46 FF 424 LD B,(IX-1) - 0000536D 21 29 86 425 LD HL,bootblock - 00005370 DD 5E DC 426 LD E,(IX-36) - 00005373 DD 56 DD 427 LD D,(IX-35) - 00005376 19 428 ADD HL,DE - 00005377 EB 429 EX DE,HL - 00005378 3E 00 430 LD A,BYTE3 bcopy - 0000537A 21 3D 5F 431 LD HL,LWRD bcopy - 0000537D CD 52 81 432 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005380 E1 433 POP HL - 00005381 DD 4E FE 434 LD C,(IX-2) - 00005384 DD 46 FF 435 LD B,(IX-1) - 00005387 C5 436 PUSH BC - 00005388 06 09 437 LD B,9 - 0000538A DD 5E DC 438 LD E,(IX-36) - 0000538D DD 56 DD 439 LD D,(IX-35) - 00005390 CD 1F 81 440 CALL LWRD ?US_RSH_L02 - 00005393 3E 00 441 LD A,BYTE3 dwrite - 00005395 21 D3 50 442 LD HL,LWRD dwrite - 00005398 C1 443 POP BC - 00005399 CD 52 81 444 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000539C 3E 02 445 LD A,2 - 0000539E DD 86 DD 446 ADD A,(IX-35) - 000053A1 DD 77 DD 447 LD (IX-35),A - 000053A4 C3 08 53 448 JP LWRD ?0038 - 000053A7 449 ?0037: - 000053A7 01 00 02 450 LD BC,512 - 000053AA 11 8D 93 451 LD DE,zeroed - 000053AD 3E 00 452 LD A,BYTE3 bzero - 000053AF 21 E7 5E 453 LD HL,LWRD bzero - 000053B2 CD 52 81 454 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000053B5 3A 2C 90 455 LD A,(_verb) - 000053B8 B7 456 OR A - 000053B9 28 18 457 JR Z,?0045 - 000053BB 458 ?0044: - 000053BB 21 6F 84 459 LD HL,?0046 - 000053BE E5 460 PUSH HL - 000053BF 3E 00 461 LD A,BYTE3 printf - 000053C1 21 DE 61 462 LD HL,LWRD printf - 000053C4 CD 52 81 463 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000053C7 F1 464 POP AF - 000053C8 11 48 90 465 LD DE,stdout - 000053CB 3E 00 466 LD A,BYTE3 fflush - 000053CD 21 AC 5F 467 LD HL,LWRD fflush - 000053D0 CD 52 81 468 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000053D3 469 ?0045: - 000053D3 3A 2B 90 470 LD A,(_quick) - 000053D6 B7 471 OR A - 000053D7 28 19 472 JR Z,?0048 - 000053D9 473 ?0047: - 000053D9 DD 6E 04 474 LD L,(IX+4) - 000053DC DD 66 05 475 LD H,(IX+5) - 000053DF DD 4E 0A 476 LD C,(IX+10) - 000053E2 DD 46 0B 477 LD B,(IX+11) - 000053E5 09 478 ADD HL,BC - 000053E6 01 05 00 479 LD BC,5 - 000053E9 09 480 ADD HL,BC - 000053EA DD 75 DE 481 LD (IX-34),L - 000053ED DD 74 DF 482 LD (IX-33),H - 000053F0 18 0C 483 JR ?0049 - 000053F2 484 ?0048: - 000053F2 DD 6E 02 485 LD L,(IX+2) - 000053F5 DD 66 03 486 LD H,(IX+3) - 000053F8 DD 75 DE 487 LD (IX-34),L - 000053FB DD 74 DF 488 LD (IX-33),H - 000053FE 489 ?0049: - 000053FE 21 05 00 490 LD HL,5 - 00005401 DD 4E 0A 491 LD C,(IX+10) - 00005404 DD 46 0B 492 LD B,(IX+11) - 00005407 09 493 ADD HL,BC - 00005408 DD 75 DC 494 LD (IX-36),L - 0000540B DD 74 DD 495 LD (IX-35),H - 0000540E 496 ?0051: - 0000540E DD 4E DE 497 LD C,(IX-34) - 00005411 DD 46 DF 498 LD B,(IX-33) - 00005414 DD 6E DC 499 LD L,(IX-36) - 00005417 DD 66 DD 500 LD H,(IX-35) - 0000541A A7 501 AND A - 0000541B ED 42 502 SBC HL,BC - 0000541D 30 51 503 JR NC,?0050 - 0000541F 504 ?0052: - 0000541F 3A 2C 90 505 LD A,(_verb) - 00005422 B7 506 OR A - 00005423 28 30 507 JR Z,?0054 - 00005425 01 09 00 508 LD BC,9 - 00005428 DD 5E DC 509 LD E,(IX-36) - 0000542B DD 56 DD 510 LD D,(IX-35) - 0000542E CD DE 81 511 CALL LWRD ?US_MOD_L02 - 00005431 7B 512 LD A,E - 00005432 B2 513 OR D - 00005433 20 20 514 JR NZ,?0054 - 00005435 515 ?0056: - 00005435 516 ?0055: - 00005435 517 ?0053: - 00005435 DD 6E DC 518 LD L,(IX-36) - 00005438 DD 66 DD 519 LD H,(IX-35) - 0000543B E5 520 PUSH HL - 0000543C 21 93 84 521 LD HL,?0057 - 0000543F E5 522 PUSH HL - 00005440 3E 00 523 LD A,BYTE3 printf - 00005442 21 DE 61 524 LD HL,LWRD printf - 00005445 CD 52 81 525 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005448 F1 526 POP AF - 00005449 F1 527 POP AF - 0000544A 11 48 90 528 LD DE,stdout - 0000544D 3E 00 529 LD A,BYTE3 fflush - 0000544F 21 AC 5F 530 LD HL,LWRD fflush - 00005452 CD 52 81 531 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005455 532 ?0054: - 00005455 01 8D 93 533 LD BC,zeroed - 00005458 DD 5E DC 534 LD E,(IX-36) - 0000545B DD 56 DD 535 LD D,(IX-35) - 0000545E 13 536 INC DE - 0000545F DD 73 DC 537 LD (IX-36),E - 00005462 DD 72 DD 538 LD (IX-35),D - 00005465 1B 539 DEC DE - 00005466 3E 00 540 LD A,BYTE3 dwrite - 00005468 21 D3 50 541 LD HL,LWRD dwrite - 0000546B CD 52 81 542 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000546E 18 9E 543 JR ?0051 - 00005470 544 ?0050: - 00005470 3A 2C 90 545 LD A,(_verb) - 00005473 B7 546 OR A - 00005474 28 27 547 JR Z,?0059 - 00005476 548 ?0058: - 00005476 DD 6E DC 549 LD L,(IX-36) - 00005479 DD 66 DD 550 LD H,(IX-35) - 0000547C 2B 551 DEC HL - 0000547D DD 75 DC 552 LD (IX-36),L - 00005480 DD 74 DD 553 LD (IX-35),H - 00005483 E5 554 PUSH HL - 00005484 21 9C 84 555 LD HL,?0060 - 00005487 E5 556 PUSH HL - 00005488 3E 00 557 LD A,BYTE3 printf - 0000548A 21 DE 61 558 LD HL,LWRD printf - 0000548D CD 52 81 559 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005490 F1 560 POP AF - 00005491 F1 561 POP AF - 00005492 11 48 90 562 LD DE,stdout - 00005495 3E 00 563 LD A,BYTE3 fflush - 00005497 21 AC 5F 564 LD HL,LWRD fflush - 0000549A CD 52 81 565 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000549D 566 ?0059: - 0000549D 3A 2C 90 567 LD A,(_verb) - 000054A0 B7 568 OR A - 000054A1 28 18 569 JR Z,?0062 - 000054A3 570 ?0061: - 000054A3 21 A5 84 571 LD HL,?0063 - 000054A6 E5 572 PUSH HL - 000054A7 3E 00 573 LD A,BYTE3 printf - 000054A9 21 DE 61 574 LD HL,LWRD printf - 000054AC CD 52 81 575 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000054AF F1 576 POP AF - 000054B0 11 48 90 577 LD DE,stdout - 000054B3 3E 00 578 LD A,BYTE3 fflush - 000054B5 21 AC 5F 579 LD HL,LWRD fflush - 000054B8 CD 52 81 580 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000054BB 581 ?0062: - 000054BB 01 1E 00 582 LD BC,30 - 000054BE 21 04 00 583 LD HL,4 - 000054C1 39 584 ADD HL,SP - 000054C2 5D 585 LD E,L - 000054C3 54 586 LD D,H - 000054C4 3E 00 587 LD A,BYTE3 bzero - 000054C6 21 E7 5E 588 LD HL,LWRD bzero - 000054C9 CD 52 81 589 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000054CC DD 36 E0 C6 590 LD (IX-32),198 - 000054D0 DD 36 E1 31 591 LD (IX-31),49 - 000054D4 21 05 00 592 LD HL,5 - 000054D7 DD 4E 0A 593 LD C,(IX+10) - 000054DA DD 46 0B 594 LD B,(IX+11) - 000054DD 09 595 ADD HL,BC - 000054DE DD 75 E2 596 LD (IX-30),L - 000054E1 DD 74 E3 597 LD (IX-29),H - 000054E4 DD 6E 04 598 LD L,(IX+4) - 000054E7 DD 66 05 599 LD H,(IX+5) - 000054EA DD 75 E4 600 LD (IX-28),L - 000054ED DD 74 E5 601 LD (IX-27),H - 000054F0 DD 6E 02 602 LD L,(IX+2) - 000054F3 DD 66 03 603 LD H,(IX+3) - 000054F6 DD 75 E6 604 LD (IX-26),L - 000054F9 DD 74 E7 605 LD (IX-25),H - 000054FC DD 6E 04 606 LD L,(IX+4) - 000054FF DD 66 05 607 LD H,(IX+5) - 00005502 29 608 ADD HL,HL - 00005503 29 609 ADD HL,HL - 00005504 29 610 ADD HL,HL - 00005505 11 FE FF 611 LD DE,65534 - 00005508 19 612 ADD HL,DE - 00005509 DD 75 EA 613 LD (IX-22),L - 0000550C DD 74 EB 614 LD (IX-21),H - 0000550F DD 6E 04 615 LD L,(IX+4) - 00005512 DD 66 05 616 LD H,(IX+5) - 00005515 09 617 ADD HL,BC - 00005516 01 06 00 618 LD BC,6 - 00005519 09 619 ADD HL,BC - 0000551A 4D 620 LD C,L - 0000551B 44 621 LD B,H - 0000551C DD 6E 02 622 LD L,(IX+2) - 0000551F DD 66 03 623 LD H,(IX+3) - 00005522 A7 624 AND A - 00005523 ED 42 625 SBC HL,BC - 00005525 DD 75 E8 626 LD (IX-24),L - 00005528 DD 74 E9 627 LD (IX-23),H - 0000552B 2A 8F 97 628 LD HL,(bitmap_inode) - 0000552E DD 75 F0 629 LD (IX-16),L - 00005531 DD 74 F1 630 LD (IX-15),H - 00005534 2A 93 97 631 LD HL,(bitmap_block) - 00005537 DD 75 F2 632 LD (IX-14),L - 0000553A DD 74 F3 633 LD (IX-13),H - 0000553D 2A 97 97 634 LD HL,(bitmap_immov) - 00005540 DD 75 F4 635 LD (IX-12),L - 00005543 DD 74 F5 636 LD (IX-11),H - 00005546 2A 9B 97 637 LD HL,(bitmap_final) - 00005549 DD 75 F6 638 LD (IX-10),L - 0000554C DD 74 F7 639 LD (IX-9),H - 0000554F AF 640 XOR A - 00005550 DD 77 DC 641 LD (IX-36),A - 00005553 DD 77 DD 642 LD (IX-35),A - 00005556 643 ?0065: - 00005556 DD 6E 04 644 LD L,(IX+4) - 00005559 DD 66 05 645 LD H,(IX+5) - 0000555C DD 4E 0A 646 LD C,(IX+10) - 0000555F DD 46 0B 647 LD B,(IX+11) - 00005562 09 648 ADD HL,BC - 00005563 01 06 00 649 LD BC,6 - 00005566 09 650 ADD HL,BC - 00005567 4D 651 LD C,L - 00005568 44 652 LD B,H - 00005569 DD 6E DC 653 LD L,(IX-36) - 0000556C DD 66 DD 654 LD H,(IX-35) - 0000556F A7 655 AND A - 00005570 ED 42 656 SBC HL,BC - 00005572 30 26 657 JR NC,?0064 - 00005574 658 ?0066: - 00005574 06 03 659 LD B,3 - 00005576 DD 5E DC 660 LD E,(IX-36) - 00005579 DD 56 DD 661 LD D,(IX-35) - 0000557C CD 1F 81 662 CALL LWRD ?US_RSH_L02 - 0000557F 2A A1 97 663 LD HL,(block_bitmap) - 00005582 19 664 ADD HL,DE - 00005583 DD 7E DC 665 LD A,(IX-36) - 00005586 E6 07 666 AND 7 - 00005588 47 667 LD B,A - 00005589 3E 01 668 LD A,1 - 0000558B CD E7 81 669 CALL LWRD ?C_LSH_L01 - 0000558E B6 670 OR (HL) - 0000558F 77 671 LD (HL),A - 00005590 DD 34 DC 672 INC (IX-36) - 00005593 20 03 673 JR NZ,?0153 - 00005595 DD 34 DD 674 INC (IX-35) - 00005598 675 ?0153: - 00005598 18 BC 676 JR ?0065 - 0000559A 677 ?0064: - 0000559A ED 4B 93 97 678 LD BC,(bitmap_block) - 0000559E 2A 97 97 679 LD HL,(bitmap_immov) - 000055A1 A7 680 AND A - 000055A2 ED 42 681 SBC HL,BC - 000055A4 29 682 ADD HL,HL - 000055A5 29 683 ADD HL,HL - 000055A6 29 684 ADD HL,HL - 000055A7 DD 75 DE 685 LD (IX-34),L - 000055AA DD 74 DF 686 LD (IX-33),H - 000055AD DD 6E 02 687 LD L,(IX+2) - 000055B0 DD 66 03 688 LD H,(IX+3) - 000055B3 DD 75 DC 689 LD (IX-36),L - 000055B6 DD 74 DD 690 LD (IX-35),H - 000055B9 691 ?0069: - 000055B9 DD 6E DE 692 LD L,(IX-34) - 000055BC DD 66 DF 693 LD H,(IX-33) - 000055BF DD 4E DC 694 LD C,(IX-36) - 000055C2 DD 46 DD 695 LD B,(IX-35) - 000055C5 A7 696 AND A - 000055C6 ED 42 697 SBC HL,BC - 000055C8 28 26 698 JR Z,?0068 - 000055CA 699 ?0070: - 000055CA 06 03 700 LD B,3 - 000055CC DD 5E DC 701 LD E,(IX-36) - 000055CF DD 56 DD 702 LD D,(IX-35) - 000055D2 CD 1F 81 703 CALL LWRD ?US_RSH_L02 - 000055D5 2A A1 97 704 LD HL,(block_bitmap) - 000055D8 19 705 ADD HL,DE - 000055D9 DD 7E DC 706 LD A,(IX-36) - 000055DC E6 07 707 AND 7 - 000055DE 47 708 LD B,A - 000055DF 3E 01 709 LD A,1 - 000055E1 CD E7 81 710 CALL LWRD ?C_LSH_L01 - 000055E4 B6 711 OR (HL) - 000055E5 77 712 LD (HL),A - 000055E6 DD 34 DC 713 INC (IX-36) - 000055E9 20 03 714 JR NZ,?0154 - 000055EB DD 34 DD 715 INC (IX-35) - 000055EE 716 ?0154: - 000055EE 18 C9 717 JR ?0069 - 000055F0 718 ?0068: - 000055F0 2A 99 97 719 LD HL,(bitmap_immov+2) - 000055F3 E5 720 PUSH HL - 000055F4 2A 97 97 721 LD HL,(bitmap_immov) - 000055F7 E5 722 PUSH HL - 000055F8 2A 95 97 723 LD HL,(bitmap_block+2) - 000055FB E5 724 PUSH HL - 000055FC 2A 93 97 725 LD HL,(bitmap_block) - 000055FF E5 726 PUSH HL - 00005600 ED 5B A1 97 727 LD DE,(block_bitmap) - 00005604 3E 00 728 LD A,BYTE3 bitmap_dump - 00005606 21 F1 5D 729 LD HL,LWRD bitmap_dump - 00005609 CD 52 81 730 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000560C E1 731 POP HL - 0000560D E1 732 POP HL - 0000560E E1 733 POP HL - 0000560F E1 734 POP HL - 00005610 3A 2D 90 735 LD A,(_immov) - 00005613 B7 736 OR A - 00005614 CA D8 56 737 JP Z,?0073 - 00005617 738 ?0072: - 00005617 AF 739 XOR A - 00005618 DD 77 DC 740 LD (IX-36),A - 0000561B DD 77 DD 741 LD (IX-35),A - 0000561E 742 ?0075: - 0000561E DD 6E 04 743 LD L,(IX+4) - 00005621 DD 66 05 744 LD H,(IX+5) - 00005624 DD 4E 0A 745 LD C,(IX+10) - 00005627 DD 46 0B 746 LD B,(IX+11) - 0000562A 09 747 ADD HL,BC - 0000562B 01 06 00 748 LD BC,6 - 0000562E 09 749 ADD HL,BC - 0000562F 4D 750 LD C,L - 00005630 44 751 LD B,H - 00005631 DD 6E DC 752 LD L,(IX-36) - 00005634 DD 66 DD 753 LD H,(IX-35) - 00005637 A7 754 AND A - 00005638 ED 42 755 SBC HL,BC - 0000563A 30 26 756 JR NC,?0074 - 0000563C 757 ?0076: - 0000563C 06 03 758 LD B,3 - 0000563E DD 5E DC 759 LD E,(IX-36) - 00005641 DD 56 DD 760 LD D,(IX-35) - 00005644 CD 1F 81 761 CALL LWRD ?US_RSH_L02 - 00005647 2A A3 97 762 LD HL,(immov_bitmap) - 0000564A 19 763 ADD HL,DE - 0000564B DD 7E DC 764 LD A,(IX-36) - 0000564E E6 07 765 AND 7 - 00005650 47 766 LD B,A - 00005651 3E 01 767 LD A,1 - 00005653 CD E7 81 768 CALL LWRD ?C_LSH_L01 - 00005656 B6 769 OR (HL) - 00005657 77 770 LD (HL),A - 00005658 DD 34 DC 771 INC (IX-36) - 0000565B 20 03 772 JR NZ,?0155 - 0000565D DD 34 DD 773 INC (IX-35) - 00005660 774 ?0155: - 00005660 18 BC 775 JR ?0075 - 00005662 776 ?0074: - 00005662 ED 4B 97 97 777 LD BC,(bitmap_immov) - 00005666 2A 9B 97 778 LD HL,(bitmap_final) - 00005669 A7 779 AND A - 0000566A ED 42 780 SBC HL,BC - 0000566C 29 781 ADD HL,HL - 0000566D 29 782 ADD HL,HL - 0000566E 29 783 ADD HL,HL - 0000566F DD 75 DE 784 LD (IX-34),L - 00005672 DD 74 DF 785 LD (IX-33),H - 00005675 DD 6E 02 786 LD L,(IX+2) - 00005678 DD 66 03 787 LD H,(IX+3) - 0000567B DD 75 DC 788 LD (IX-36),L - 0000567E DD 74 DD 789 LD (IX-35),H - 00005681 790 ?0079: - 00005681 DD 6E DE 791 LD L,(IX-34) - 00005684 DD 66 DF 792 LD H,(IX-33) - 00005687 DD 4E DC 793 LD C,(IX-36) - 0000568A DD 46 DD 794 LD B,(IX-35) - 0000568D A7 795 AND A - 0000568E ED 42 796 SBC HL,BC - 00005690 28 26 797 JR Z,?0078 - 00005692 798 ?0080: - 00005692 06 03 799 LD B,3 - 00005694 DD 5E DC 800 LD E,(IX-36) - 00005697 DD 56 DD 801 LD D,(IX-35) - 0000569A CD 1F 81 802 CALL LWRD ?US_RSH_L02 - 0000569D 2A A3 97 803 LD HL,(immov_bitmap) - 000056A0 19 804 ADD HL,DE - 000056A1 DD 7E DC 805 LD A,(IX-36) - 000056A4 E6 07 806 AND 7 - 000056A6 47 807 LD B,A - 000056A7 3E 01 808 LD A,1 - 000056A9 CD E7 81 809 CALL LWRD ?C_LSH_L01 - 000056AC B6 810 OR (HL) - 000056AD 77 811 LD (HL),A - 000056AE DD 34 DC 812 INC (IX-36) - 000056B1 20 03 813 JR NZ,?0156 - 000056B3 DD 34 DD 814 INC (IX-35) - 000056B6 815 ?0156: - 000056B6 18 C9 816 JR ?0079 - 000056B8 817 ?0078: - 000056B8 2A 9D 97 818 LD HL,(bitmap_final+2) - 000056BB E5 819 PUSH HL - 000056BC 2A 9B 97 820 LD HL,(bitmap_final) - 000056BF E5 821 PUSH HL - 000056C0 2A 99 97 822 LD HL,(bitmap_immov+2) - 000056C3 E5 823 PUSH HL - 000056C4 2A 97 97 824 LD HL,(bitmap_immov) - 000056C7 E5 825 PUSH HL - 000056C8 ED 5B A3 97 826 LD DE,(immov_bitmap) - 000056CC 3E 00 827 LD A,BYTE3 bitmap_dump - 000056CE 21 F1 5D 828 LD HL,LWRD bitmap_dump - 000056D1 CD 52 81 829 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000056D4 E1 830 POP HL - 000056D5 E1 831 POP HL - 000056D6 E1 832 POP HL - 000056D7 E1 833 POP HL - 000056D8 834 ?0073: - 000056D8 21 ED 41 835 LD HL,16877 - 000056DB 22 CF 95 836 LD (inode+64),HL - 000056DE 21 03 00 837 LD HL,3 - 000056E1 22 D1 95 838 LD (inode+66),HL - 000056E4 01 00 00 839 LD BC,0 - 000056E7 21 20 00 840 LD HL,32 - 000056EA 22 D7 95 841 LD (inode+72),HL - 000056ED ED 43 D9 95 842 LD (inode+74),BC - 000056F1 DD 6E 04 843 LD L,(IX+4) - 000056F4 DD 66 05 844 LD H,(IX+5) - 000056F7 DD 4E 0A 845 LD C,(IX+10) - 000056FA DD 46 0B 846 LD B,(IX+11) - 000056FD 09 847 ADD HL,BC - 000056FE 01 05 00 848 LD BC,5 - 00005701 09 849 ADD HL,BC - 00005702 22 E7 95 850 LD (inode+88),HL - 00005705 21 01 00 851 LD HL,1 - 00005708 22 91 95 852 LD (inode+2),HL - 0000570B 21 FF FF 853 LD HL,65535 - 0000570E 22 8F 95 854 LD (inode),HL - 00005711 2A 9F 97 855 LD HL,(inode_bitmap) - 00005714 7E 856 LD A,(HL) - 00005715 F6 01 857 OR 1 - 00005717 77 858 LD (HL),A - 00005718 2A 9F 97 859 LD HL,(inode_bitmap) - 0000571B 7E 860 LD A,(HL) - 0000571C F6 02 861 OR 2 - 0000571E 77 862 LD (HL),A - 0000571F ED 4B 8F 97 863 LD BC,(bitmap_inode) - 00005723 2A 93 97 864 LD HL,(bitmap_block) - 00005726 A7 865 AND A - 00005727 ED 42 866 SBC HL,BC - 00005729 29 867 ADD HL,HL - 0000572A 29 868 ADD HL,HL - 0000572B 29 869 ADD HL,HL - 0000572C DD 75 DE 870 LD (IX-34),L - 0000572F DD 74 DF 871 LD (IX-33),H - 00005732 DD 6E 04 872 LD L,(IX+4) - 00005735 DD 66 05 873 LD H,(IX+5) - 00005738 29 874 ADD HL,HL - 00005739 29 875 ADD HL,HL - 0000573A 29 876 ADD HL,HL - 0000573B DD 75 DC 877 LD (IX-36),L - 0000573E DD 74 DD 878 LD (IX-35),H - 00005741 879 ?0083: - 00005741 DD 6E DE 880 LD L,(IX-34) - 00005744 DD 66 DF 881 LD H,(IX-33) - 00005747 DD 4E DC 882 LD C,(IX-36) - 0000574A DD 46 DD 883 LD B,(IX-35) - 0000574D A7 884 AND A - 0000574E ED 42 885 SBC HL,BC - 00005750 28 26 886 JR Z,?0082 - 00005752 887 ?0084: - 00005752 06 03 888 LD B,3 - 00005754 DD 5E DC 889 LD E,(IX-36) - 00005757 DD 56 DD 890 LD D,(IX-35) - 0000575A CD 1F 81 891 CALL LWRD ?US_RSH_L02 - 0000575D 2A 9F 97 892 LD HL,(inode_bitmap) - 00005760 19 893 ADD HL,DE - 00005761 DD 7E DC 894 LD A,(IX-36) - 00005764 E6 07 895 AND 7 - 00005766 47 896 LD B,A - 00005767 3E 01 897 LD A,1 - 00005769 CD E7 81 898 CALL LWRD ?C_LSH_L01 - 0000576C B6 899 OR (HL) - 0000576D 77 900 LD (HL),A - 0000576E DD 34 DC 901 INC (IX-36) - 00005771 20 03 902 JR NZ,?0157 - 00005773 DD 34 DD 903 INC (IX-35) - 00005776 904 ?0157: - 00005776 18 C9 905 JR ?0083 - 00005778 906 ?0082: - 00005778 2A 95 97 907 LD HL,(bitmap_block+2) - 0000577B E5 908 PUSH HL - 0000577C 2A 93 97 909 LD HL,(bitmap_block) - 0000577F E5 910 PUSH HL - 00005780 2A 91 97 911 LD HL,(bitmap_inode+2) - 00005783 E5 912 PUSH HL - 00005784 2A 8F 97 913 LD HL,(bitmap_inode) - 00005787 E5 914 PUSH HL - 00005788 ED 5B 9F 97 915 LD DE,(inode_bitmap) - 0000578C 3E 00 916 LD A,BYTE3 bitmap_dump - 0000578E 21 F1 5D 917 LD HL,LWRD bitmap_dump - 00005791 CD 52 81 918 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005794 E1 919 POP HL - 00005795 E1 920 POP HL - 00005796 E1 921 POP HL - 00005797 E1 922 POP HL - 00005798 01 8F 95 923 LD BC,inode - 0000579B 21 05 00 924 LD HL,5 - 0000579E DD 5E 0A 925 LD E,(IX+10) - 000057A1 DD 56 0B 926 LD D,(IX+11) - 000057A4 19 927 ADD HL,DE - 000057A5 EB 928 EX DE,HL - 000057A6 3E 00 929 LD A,BYTE3 dwrite - 000057A8 21 D3 50 930 LD HL,LWRD dwrite - 000057AB CD 52 81 931 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000057AE 01 29 8E 932 LD BC,dirbuf - 000057B1 DD 6E 04 933 LD L,(IX+4) - 000057B4 DD 66 05 934 LD H,(IX+5) - 000057B7 DD 5E 0A 935 LD E,(IX+10) - 000057BA DD 56 0B 936 LD D,(IX+11) - 000057BD 19 937 ADD HL,DE - 000057BE 11 05 00 938 LD DE,5 - 000057C1 19 939 ADD HL,DE - 000057C2 EB 940 EX DE,HL - 000057C3 3E 00 941 LD A,BYTE3 dwrite - 000057C5 21 D3 50 942 LD HL,LWRD dwrite - 000057C8 CD 52 81 943 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000057CB 11 04 00 944 LD DE,4 - 000057CE 3E 00 945 LD A,BYTE3 daread - 000057D0 21 94 50 946 LD HL,LWRD daread - 000057D3 CD 52 81 947 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000057D6 DD 75 FE 948 LD (IX-2),L - 000057D9 DD 74 FF 949 LD (IX-1),H - 000057DC 01 1E 00 950 LD BC,30 - 000057DF C5 951 PUSH BC - 000057E0 4D 952 LD C,L - 000057E1 44 953 LD B,H - 000057E2 21 06 00 954 LD HL,6 - 000057E5 39 955 ADD HL,SP - 000057E6 5D 956 LD E,L - 000057E7 54 957 LD D,H - 000057E8 3E 00 958 LD A,BYTE3 bcopy - 000057EA 21 3D 5F 959 LD HL,LWRD bcopy - 000057ED CD 52 81 960 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000057F0 E1 961 POP HL - 000057F1 DD 4E FE 962 LD C,(IX-2) - 000057F4 DD 46 FF 963 LD B,(IX-1) - 000057F7 11 04 00 964 LD DE,4 - 000057FA 3E 00 965 LD A,BYTE3 dwrite - 000057FC 21 D3 50 966 LD HL,LWRD dwrite - 000057FF CD 52 81 967 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005802 C3 29 81 968 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 00005805 969 doformatting: - 00005805 CD AE 81 970 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 00005808 FE FD 971 DEFW 65022 - 0000580A 3A 2C 90 972 LD A,(_verb) - 0000580D B7 973 OR A - 0000580E 28 18 974 JR Z,?0087 - 00005810 975 ?0086: - 00005810 21 BE 84 976 LD HL,?0088 - 00005813 E5 977 PUSH HL - 00005814 3E 00 978 LD A,BYTE3 printf - 00005816 21 DE 61 979 LD HL,LWRD printf - 00005819 CD 52 81 980 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000581C F1 981 POP AF - 0000581D 11 48 90 982 LD DE,stdout - 00005820 3E 00 983 LD A,BYTE3 fflush - 00005822 21 AC 5F 984 LD HL,LWRD fflush - 00005825 CD 52 81 985 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005828 986 ?0087: - 00005828 21 00 02 987 LD HL,512 - 0000582B E5 988 PUSH HL - 0000582C 0E AA 989 LD C,170 - 0000582E 21 04 00 990 LD HL,4 - 00005831 39 991 ADD HL,SP - 00005832 5D 992 LD E,L - 00005833 54 993 LD D,H - 00005834 3E 00 994 LD A,BYTE3 bfill - 00005836 21 11 5F 995 LD HL,LWRD bfill - 00005839 CD 52 81 996 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000583C E1 997 POP HL - 0000583D 21 00 00 998 LD HL,0 - 00005840 39 999 ADD HL,SP - 00005841 AF 1000 XOR A - 00005842 77 1001 LD (HL),A - 00005843 23 1002 INC HL - 00005844 77 1003 LD (HL),A - 00005845 1004 ?0090: - 00005845 DD 4E 02 1005 LD C,(IX+2) - 00005848 DD 46 03 1006 LD B,(IX+3) - 0000584B 21 00 00 1007 LD HL,0 - 0000584E 39 1008 ADD HL,SP - 0000584F 56 1009 LD D,(HL) - 00005850 23 1010 INC HL - 00005851 66 1011 LD H,(HL) - 00005852 6A 1012 LD L,D - 00005853 A7 1013 AND A - 00005854 ED 42 1014 SBC HL,BC - 00005856 30 20 1015 JR NC,?0089 - 00005858 1016 ?0091: - 00005858 21 02 00 1017 LD HL,2 - 0000585B 39 1018 ADD HL,SP - 0000585C 4D 1019 LD C,L - 0000585D 44 1020 LD B,H - 0000585E 21 00 00 1021 LD HL,0 - 00005861 39 1022 ADD HL,SP - 00005862 5E 1023 LD E,(HL) - 00005863 23 1024 INC HL - 00005864 56 1025 LD D,(HL) - 00005865 3E 00 1026 LD A,BYTE3 dwrite - 00005867 21 D3 50 1027 LD HL,LWRD dwrite - 0000586A CD 52 81 1028 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000586D 21 00 00 1029 LD HL,0 - 00005870 39 1030 ADD HL,SP - 00005871 34 1031 INC (HL) - 00005872 23 1032 INC HL - 00005873 20 01 1033 JR NZ,?0158 - 00005875 34 1034 INC (HL) - 00005876 1035 ?0158: - 00005876 18 CD 1036 JR ?0090 - 00005878 1037 ?0089: - 00005878 C3 29 81 1038 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 0000587B 1039 main: - 0000587B CD AE 81 1040 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 0000587E F4 FF 1041 DEFW 65524 - 00005880 AF 1042 XOR A - 00005881 DD 77 F8 1043 LD (IX-8),A - 00005884 DD 77 F9 1044 LD (IX-7),A - 00005887 DD 36 FA 01 1045 LD (IX-6),1 - 0000588B DD 36 FB 00 1046 LD (IX-5),0 - 0000588F DD 6E 02 1047 LD L,(IX+2) - 00005892 DD 66 03 1048 LD H,(IX+3) - 00005895 DD 75 FC 1049 LD (IX-4),L - 00005898 DD 74 FD 1050 LD (IX-3),H - 0000589B 1051 ?0094: - 0000589B DD 4E 02 1052 LD C,(IX+2) - 0000589E DD 46 03 1053 LD B,(IX+3) - 000058A1 DD 6E FA 1054 LD L,(IX-6) - 000058A4 DD 66 FB 1055 LD H,(IX-5) - 000058A7 CD CC 81 1056 CALL LWRD ?SS_CMP_L02 - 000058AA D2 74 59 1057 JP NC,?0093 - 000058AD DD 6E FA 1058 LD L,(IX-6) - 000058B0 DD 66 FB 1059 LD H,(IX-5) - 000058B3 29 1060 ADD HL,HL - 000058B4 DD 4E 04 1061 LD C,(IX+4) - 000058B7 DD 46 05 1062 LD B,(IX+5) - 000058BA 09 1063 ADD HL,BC - 000058BB 46 1064 LD B,(HL) - 000058BC 23 1065 INC HL - 000058BD 66 1066 LD H,(HL) - 000058BE 68 1067 LD L,B - 000058BF DD 75 FE 1068 LD (IX-2),L - 000058C2 DD 74 FF 1069 LD (IX-1),H - 000058C5 7E 1070 LD A,(HL) - 000058C6 FE 2D 1071 CP 45 - 000058C8 C2 74 59 1072 JP NZ,?0093 - 000058CB 1073 ?0097: - 000058CB 1074 ?0096: - 000058CB 1075 ?0095: - 000058CB DD 34 FE 1076 INC (IX-2) - 000058CE 20 03 1077 JR NZ,?0159 - 000058D0 DD 34 FF 1078 INC (IX-1) - 000058D3 1079 ?0159: - 000058D3 DD 34 FA 1080 INC (IX-6) - 000058D6 20 03 1081 JR NZ,?0160 - 000058D8 DD 34 FB 1082 INC (IX-5) - 000058DB 1083 ?0160: - 000058DB DD 6E FC 1084 LD L,(IX-4) - 000058DE DD 66 FD 1085 LD H,(IX-3) - 000058E1 2B 1086 DEC HL - 000058E2 DD 75 FC 1087 LD (IX-4),L - 000058E5 DD 74 FD 1088 LD (IX-3),H - 000058E8 1089 ?0099: - 000058E8 DD 6E FE 1090 LD L,(IX-2) - 000058EB DD 66 FF 1091 LD H,(IX-1) - 000058EE AF 1092 XOR A - 000058EF B6 1093 OR (HL) - 000058F0 28 7F 1094 JR Z,?0098 - 000058F2 1095 ?0100: - 000058F2 DD 6E FE 1096 LD L,(IX-2) - 000058F5 DD 66 FF 1097 LD H,(IX-1) - 000058F8 23 1098 INC HL - 000058F9 DD 75 FE 1099 LD (IX-2),L - 000058FC DD 74 FF 1100 LD (IX-1),H - 000058FF 2B 1101 DEC HL - 00005900 5E 1102 LD E,(HL) - 00005901 CD 34 81 1103 CALL LWRD ?C_V_SWITCH_L06 - 00005904 0A 00 1104 DEFW 10 - 00005906 46 1105 DEFB 70 - 00005907 4C 1106 DEFB 76 - 00005908 51 1107 DEFB 81 - 00005909 56 1108 DEFB 86 - 0000590A 59 1109 DEFB 89 - 0000590B 66 1110 DEFB 102 - 0000590C 6C 1111 DEFB 108 - 0000590D 71 1112 DEFB 113 - 0000590E 76 1113 DEFB 118 - 0000590F 79 1114 DEFB 121 - 00005910 49 59 1115 DEFW ?0107 - 00005912 26 59 1116 DEFW ?0102 - 00005914 3B 59 1117 DEFW ?0105 - 00005916 34 59 1118 DEFW ?0104 - 00005918 42 59 1119 DEFW ?0106 - 0000591A 2D 59 1120 DEFW ?0103 - 0000591C 26 59 1121 DEFW ?0102 - 0000591E 3B 59 1122 DEFW ?0105 - 00005920 34 59 1123 DEFW ?0104 - 00005922 42 59 1124 DEFW ?0106 - 00005924 2D 59 1125 DEFW ?0103 - 00005926 1126 ?0102: - 00005926 3E 01 1127 LD A,1 - 00005928 32 2A 90 1128 LD (_yes),A - 0000592B 18 41 1129 JR ?0101 - 0000592D 1130 ?0103: - 0000592D 3E 01 1131 LD A,1 - 0000592F 32 29 90 1132 LD (_fmt),A - 00005932 18 3A 1133 JR ?0101 - 00005934 1134 ?0104: - 00005934 3E 01 1135 LD A,1 - 00005936 32 2B 90 1136 LD (_quick),A - 00005939 18 33 1137 JR ?0101 - 0000593B 1138 ?0105: - 0000593B 3E 01 1139 LD A,1 - 0000593D 32 2C 90 1140 LD (_verb),A - 00005940 18 2C 1141 JR ?0101 - 00005942 1142 ?0106: - 00005942 3E 01 1143 LD A,1 - 00005944 32 2D 90 1144 LD (_immov),A - 00005947 18 25 1145 JR ?0101 - 00005949 1146 ?0107: - 00005949 DD 6E FE 1147 LD L,(IX-2) - 0000594C DD 66 FF 1148 LD H,(IX-1) - 0000594F E5 1149 PUSH HL - 00005950 21 D7 84 1150 LD HL,?0108 - 00005953 E5 1151 PUSH HL - 00005954 21 60 90 1152 LD HL,stderr - 00005957 E5 1153 PUSH HL - 00005958 3E 00 1154 LD A,BYTE3 fprintf - 0000595A 21 4D 71 1155 LD HL,LWRD fprintf - 0000595D CD 52 81 1156 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005960 F1 1157 POP AF - 00005961 F1 1158 POP AF - 00005962 F1 1159 POP AF - 00005963 11 01 00 1160 LD DE,1 - 00005966 3E 00 1161 LD A,BYTE3 exit - 00005968 21 7F 71 1162 LD HL,LWRD exit - 0000596B CD 52 81 1163 CALL LWRD ?BANK_CALL_DIRECT_L08 - 0000596E 1164 ?0101: - 0000596E C3 E8 58 1165 JP LWRD ?0099 - 00005971 1166 ?0098: - 00005971 C3 9B 58 1167 JP LWRD ?0094 - 00005974 1168 ?0093: - 00005974 01 04 80 1169 LD BC,32772 - 00005977 DD 6E FC 1170 LD L,(IX-4) - 0000597A DD 66 FD 1171 LD H,(IX-3) - 0000597D 3E 80 1172 LD A,128 - 0000597F AC 1173 XOR H - 00005980 67 1174 LD H,A - 00005981 ED 42 1175 SBC HL,BC - 00005983 30 1D 1176 JR NC,?0110 - 00005985 1177 ?0109: - 00005985 21 EA 84 1178 LD HL,?0111 - 00005988 E5 1179 PUSH HL - 00005989 21 60 90 1180 LD HL,stderr - 0000598C E5 1181 PUSH HL - 0000598D 3E 00 1182 LD A,BYTE3 fprintf - 0000598F 21 4D 71 1183 LD HL,LWRD fprintf - 00005992 CD 52 81 1184 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005995 F1 1185 POP AF - 00005996 F1 1186 POP AF - 00005997 11 01 00 1187 LD DE,1 - 0000599A 3E 00 1188 LD A,BYTE3 exit - 0000599C 21 7F 71 1189 LD HL,LWRD exit - 0000599F CD 52 81 1190 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000059A2 1191 ?0110: - 000059A2 DD 6E FA 1192 LD L,(IX-6) - 000059A5 DD 66 FB 1193 LD H,(IX-5) - 000059A8 29 1194 ADD HL,HL - 000059A9 DD 4E 04 1195 LD C,(IX+4) - 000059AC DD 46 05 1196 LD B,(IX+5) - 000059AF 09 1197 ADD HL,BC - 000059B0 4E 1198 LD C,(HL) - 000059B1 23 1199 INC HL - 000059B2 46 1200 LD B,(HL) - 000059B3 11 8D 91 1201 LD DE,device_name - 000059B6 3E 00 1202 LD A,BYTE3 strcpy - 000059B8 21 09 65 1203 LD HL,LWRD strcpy - 000059BB CD 52 81 1204 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000059BE 21 02 80 1205 LD HL,32770 - 000059C1 E5 1206 PUSH HL - 000059C2 21 8D 91 1207 LD HL,device_name - 000059C5 E5 1208 PUSH HL - 000059C6 3E 00 1209 LD A,BYTE3 open - 000059C8 21 F6 6E 1210 LD HL,LWRD open - 000059CB CD 52 81 1211 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000059CE F1 1212 POP AF - 000059CF F1 1213 POP AF - 000059D0 22 8B 91 1214 LD (device_handle),HL - 000059D3 CB 7C 1215 BIT 7,H - 000059D5 28 2E 1216 JR Z,?0113 - 000059D7 1217 ?0112: - 000059D7 21 1B 85 1218 LD HL,?0114 - 000059DA E5 1219 PUSH HL - 000059DB 3E 00 1220 LD A,BYTE3 printf - 000059DD 21 DE 61 1221 LD HL,LWRD printf - 000059E0 CD 52 81 1222 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000059E3 F1 1223 POP AF - 000059E4 11 48 90 1224 LD DE,stdout - 000059E7 3E 00 1225 LD A,BYTE3 fflush - 000059E9 21 AC 5F 1226 LD HL,LWRD fflush - 000059EC CD 52 81 1227 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000059EF 11 8D 91 1228 LD DE,device_name - 000059F2 3E 00 1229 LD A,BYTE3 perror - 000059F4 21 6A 64 1230 LD HL,LWRD perror - 000059F7 CD 52 81 1231 CALL LWRD ?BANK_CALL_DIRECT_L08 - 000059FA 11 01 00 1232 LD DE,1 - 000059FD 3E 00 1233 LD A,BYTE3 exit - 000059FF 21 7F 71 1234 LD HL,LWRD exit - 00005A02 CD 52 81 1235 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005A05 1236 ?0113: - 00005A05 DD 6E FA 1237 LD L,(IX-6) - 00005A08 DD 66 FB 1238 LD H,(IX-5) - 00005A0B 29 1239 ADD HL,HL - 00005A0C DD 4E 04 1240 LD C,(IX+4) - 00005A0F DD 46 05 1241 LD B,(IX+5) - 00005A12 09 1242 ADD HL,BC - 00005A13 23 1243 INC HL - 00005A14 23 1244 INC HL - 00005A15 5E 1245 LD E,(HL) - 00005A16 23 1246 INC HL - 00005A17 56 1247 LD D,(HL) - 00005A18 3E 00 1248 LD A,BYTE3 atoi - 00005A1A 21 47 65 1249 LD HL,LWRD atoi - 00005A1D CD 52 81 1250 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005A20 DD 75 F4 1251 LD (IX-12),L - 00005A23 DD 74 F5 1252 LD (IX-11),H - 00005A26 DD 6E FA 1253 LD L,(IX-6) - 00005A29 DD 66 FB 1254 LD H,(IX-5) - 00005A2C 29 1255 ADD HL,HL - 00005A2D 09 1256 ADD HL,BC - 00005A2E 01 04 00 1257 LD BC,4 - 00005A31 09 1258 ADD HL,BC - 00005A32 5E 1259 LD E,(HL) - 00005A33 23 1260 INC HL - 00005A34 56 1261 LD D,(HL) - 00005A35 3E 00 1262 LD A,BYTE3 atoi - 00005A37 21 47 65 1263 LD HL,LWRD atoi - 00005A3A CD 52 81 1264 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005A3D DD 75 F6 1265 LD (IX-10),L - 00005A40 DD 74 F7 1266 LD (IX-9),H - 00005A43 DD 4E FC 1267 LD C,(IX-4) - 00005A46 DD 46 FD 1268 LD B,(IX-3) - 00005A49 21 04 00 1269 LD HL,4 - 00005A4C CD CC 81 1270 CALL LWRD ?SS_CMP_L02 - 00005A4F 30 23 1271 JR NC,?0116 - 00005A51 1272 ?0115: - 00005A51 DD 6E FA 1273 LD L,(IX-6) - 00005A54 DD 66 FB 1274 LD H,(IX-5) - 00005A57 29 1275 ADD HL,HL - 00005A58 DD 4E 04 1276 LD C,(IX+4) - 00005A5B DD 46 05 1277 LD B,(IX+5) - 00005A5E 09 1278 ADD HL,BC - 00005A5F 01 06 00 1279 LD BC,6 - 00005A62 09 1280 ADD HL,BC - 00005A63 5E 1281 LD E,(HL) - 00005A64 23 1282 INC HL - 00005A65 56 1283 LD D,(HL) - 00005A66 3E 00 1284 LD A,BYTE3 atoi - 00005A68 21 47 65 1285 LD HL,LWRD atoi - 00005A6B CD 52 81 1286 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005A6E DD 75 F8 1287 LD (IX-8),L - 00005A71 DD 74 F9 1288 LD (IX-7),H - 00005A74 1289 ?0116: - 00005A74 01 64 00 1290 LD BC,100 - 00005A77 DD 6E F4 1291 LD L,(IX-12) - 00005A7A DD 66 F5 1292 LD H,(IX-11) - 00005A7D A7 1293 AND A - 00005A7E ED 42 1294 SBC HL,BC - 00005A80 38 25 1295 JR C,?0117 - 00005A82 01 1E 00 1296 LD BC,30 - 00005A85 DD 5E F4 1297 LD E,(IX-12) - 00005A88 DD 56 F5 1298 LD D,(IX-11) - 00005A8B CD EE 81 1299 CALL LWRD ?US_DIV_L02 - 00005A8E DD 6E F6 1300 LD L,(IX-10) - 00005A91 DD 66 F7 1301 LD H,(IX-9) - 00005A94 A7 1302 AND A - 00005A95 ED 52 1303 SBC HL,DE - 00005A97 30 0E 1304 JR NC,?0117 - 00005A99 DD 4E F8 1305 LD C,(IX-8) - 00005A9C DD 46 F9 1306 LD B,(IX-7) - 00005A9F 21 64 00 1307 LD HL,100 - 00005AA2 A7 1308 AND A - 00005AA3 ED 42 1309 SBC HL,BC - 00005AA5 30 1D 1310 JR NC,?0118 - 00005AA7 1311 ?0119: - 00005AA7 1312 ?0120: - 00005AA7 1313 ?0117: - 00005AA7 21 28 85 1314 LD HL,?0121 - 00005AAA E5 1315 PUSH HL - 00005AAB 21 60 90 1316 LD HL,stderr - 00005AAE E5 1317 PUSH HL - 00005AAF 3E 00 1318 LD A,BYTE3 fprintf - 00005AB1 21 4D 71 1319 LD HL,LWRD fprintf - 00005AB4 CD 52 81 1320 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005AB7 F1 1321 POP AF - 00005AB8 F1 1322 POP AF - 00005AB9 11 01 00 1323 LD DE,1 - 00005ABC 3E 00 1324 LD A,BYTE3 exit - 00005ABE 21 7F 71 1325 LD HL,LWRD exit - 00005AC1 CD 52 81 1326 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005AC4 1327 ?0118: - 00005AC4 01 00 00 1328 LD BC,0 - 00005AC7 21 1E 08 1329 LD HL,2078 - 00005ACA 22 8F 97 1330 LD (bitmap_inode),HL - 00005ACD ED 43 91 97 1331 LD (bitmap_inode+2),BC - 00005AD1 11 FF FF 1332 LD DE,65535 - 00005AD4 D5 1333 PUSH DE - 00005AD5 11 FC FF 1334 LD DE,65532 - 00005AD8 D5 1335 PUSH DE - 00005AD9 C5 1336 PUSH BC - 00005ADA E5 1337 PUSH HL - 00005ADB 21 03 00 1338 LD HL,3 - 00005ADE C1 1339 POP BC - 00005ADF 09 1340 ADD HL,BC - 00005AE0 EB 1341 EX DE,HL - 00005AE1 21 00 00 1342 LD HL,0 - 00005AE4 C1 1343 POP BC - 00005AE5 ED 4A 1344 ADC HL,BC - 00005AE7 4D 1345 LD C,L - 00005AE8 44 1346 LD B,H - 00005AE9 EB 1347 EX DE,HL - 00005AEA CD 5F 81 1348 CALL LWRD ?L_AND_L03 - 00005AED 22 8F 97 1349 LD (bitmap_inode),HL - 00005AF0 ED 43 91 97 1350 LD (bitmap_inode+2),BC - 00005AF4 C5 1351 PUSH BC - 00005AF5 E5 1352 PUSH HL - 00005AF6 DD 6E F6 1353 LD L,(IX-10) - 00005AF9 DD 66 F7 1354 LD H,(IX-9) - 00005AFC 29 1355 ADD HL,HL - 00005AFD 29 1356 ADD HL,HL - 00005AFE 29 1357 ADD HL,HL - 00005AFF 01 FF FF 1358 LD BC,65535 - 00005B02 09 1359 ADD HL,BC - 00005B03 EB 1360 EX DE,HL - 00005B04 06 03 1361 LD B,3 - 00005B06 CD 1F 81 1362 CALL LWRD ?US_RSH_L02 - 00005B09 EB 1363 EX DE,HL - 00005B0A 11 00 00 1364 LD DE,0 - 00005B0D C1 1365 POP BC - 00005B0E 09 1366 ADD HL,BC - 00005B0F EB 1367 EX DE,HL - 00005B10 C1 1368 POP BC - 00005B11 ED 4A 1369 ADC HL,BC - 00005B13 E5 1370 PUSH HL - 00005B14 D5 1371 PUSH DE - 00005B15 21 01 00 1372 LD HL,1 - 00005B18 C1 1373 POP BC - 00005B19 09 1374 ADD HL,BC - 00005B1A EB 1375 EX DE,HL - 00005B1B 21 00 00 1376 LD HL,0 - 00005B1E C1 1377 POP BC - 00005B1F ED 4A 1378 ADC HL,BC - 00005B21 4D 1379 LD C,L - 00005B22 44 1380 LD B,H - 00005B23 EB 1381 EX DE,HL - 00005B24 22 93 97 1382 LD (bitmap_block),HL - 00005B27 ED 43 95 97 1383 LD (bitmap_block+2),BC - 00005B2B 11 FF FF 1384 LD DE,65535 - 00005B2E D5 1385 PUSH DE - 00005B2F 11 FC FF 1386 LD DE,65532 - 00005B32 D5 1387 PUSH DE - 00005B33 C5 1388 PUSH BC - 00005B34 E5 1389 PUSH HL - 00005B35 21 03 00 1390 LD HL,3 - 00005B38 C1 1391 POP BC - 00005B39 09 1392 ADD HL,BC - 00005B3A EB 1393 EX DE,HL - 00005B3B 21 00 00 1394 LD HL,0 - 00005B3E C1 1395 POP BC - 00005B3F ED 4A 1396 ADC HL,BC - 00005B41 4D 1397 LD C,L - 00005B42 44 1398 LD B,H - 00005B43 EB 1399 EX DE,HL - 00005B44 CD 5F 81 1400 CALL LWRD ?L_AND_L03 - 00005B47 22 93 97 1401 LD (bitmap_block),HL - 00005B4A ED 43 95 97 1402 LD (bitmap_block+2),BC - 00005B4E C5 1403 PUSH BC - 00005B4F E5 1404 PUSH HL - 00005B50 21 FF FF 1405 LD HL,65535 - 00005B53 DD 4E F4 1406 LD C,(IX-12) - 00005B56 DD 46 F5 1407 LD B,(IX-11) - 00005B59 09 1408 ADD HL,BC - 00005B5A EB 1409 EX DE,HL - 00005B5B 06 03 1410 LD B,3 - 00005B5D CD 1F 81 1411 CALL LWRD ?US_RSH_L02 - 00005B60 EB 1412 EX DE,HL - 00005B61 11 00 00 1413 LD DE,0 - 00005B64 C1 1414 POP BC - 00005B65 09 1415 ADD HL,BC - 00005B66 EB 1416 EX DE,HL - 00005B67 C1 1417 POP BC - 00005B68 ED 4A 1418 ADC HL,BC - 00005B6A E5 1419 PUSH HL - 00005B6B D5 1420 PUSH DE - 00005B6C 21 01 00 1421 LD HL,1 - 00005B6F C1 1422 POP BC - 00005B70 09 1423 ADD HL,BC - 00005B71 EB 1424 EX DE,HL - 00005B72 21 00 00 1425 LD HL,0 - 00005B75 C1 1426 POP BC - 00005B76 ED 4A 1427 ADC HL,BC - 00005B78 4D 1428 LD C,L - 00005B79 44 1429 LD B,H - 00005B7A EB 1430 EX DE,HL - 00005B7B 22 97 97 1431 LD (bitmap_immov),HL - 00005B7E ED 43 99 97 1432 LD (bitmap_immov+2),BC - 00005B82 11 FF FF 1433 LD DE,65535 - 00005B85 D5 1434 PUSH DE - 00005B86 11 FC FF 1435 LD DE,65532 - 00005B89 D5 1436 PUSH DE - 00005B8A C5 1437 PUSH BC - 00005B8B E5 1438 PUSH HL - 00005B8C 21 03 00 1439 LD HL,3 - 00005B8F C1 1440 POP BC - 00005B90 09 1441 ADD HL,BC - 00005B91 EB 1442 EX DE,HL - 00005B92 21 00 00 1443 LD HL,0 - 00005B95 C1 1444 POP BC - 00005B96 ED 4A 1445 ADC HL,BC - 00005B98 4D 1446 LD C,L - 00005B99 44 1447 LD B,H - 00005B9A EB 1448 EX DE,HL - 00005B9B CD 5F 81 1449 CALL LWRD ?L_AND_L03 - 00005B9E 22 97 97 1450 LD (bitmap_immov),HL - 00005BA1 ED 43 99 97 1451 LD (bitmap_immov+2),BC - 00005BA5 22 9B 97 1452 LD (bitmap_final),HL - 00005BA8 ED 43 9D 97 1453 LD (bitmap_final+2),BC - 00005BAC C5 1454 PUSH BC - 00005BAD E5 1455 PUSH HL - 00005BAE 21 FF 01 1456 LD HL,511 - 00005BB1 C1 1457 POP BC - 00005BB2 09 1458 ADD HL,BC - 00005BB3 EB 1459 EX DE,HL - 00005BB4 21 00 00 1460 LD HL,0 - 00005BB7 C1 1461 POP BC - 00005BB8 ED 4A 1462 ADC HL,BC - 00005BBA 4D 1463 LD C,L - 00005BBB 44 1464 LD B,H - 00005BBC EB 1465 EX DE,HL - 00005BBD 3E 09 1466 LD A,9 - 00005BBF CD FC 81 1467 CALL LWRD ?SL_RSH_L03 - 00005BC2 01 FB FF 1468 LD BC,65531 - 00005BC5 09 1469 ADD HL,BC - 00005BC6 DD 75 F8 1470 LD (IX-8),L - 00005BC9 DD 74 F9 1471 LD (IX-7),H - 00005BCC 3A 2D 90 1472 LD A,(_immov) - 00005BCF B7 1473 OR A - 00005BD0 28 7D 1474 JR Z,?0123 - 00005BD2 1475 ?0122: - 00005BD2 21 FF FF 1476 LD HL,65535 - 00005BD5 DD 4E F4 1477 LD C,(IX-12) - 00005BD8 DD 46 F5 1478 LD B,(IX-11) - 00005BDB 09 1479 ADD HL,BC - 00005BDC EB 1480 EX DE,HL - 00005BDD 06 03 1481 LD B,3 - 00005BDF CD 1F 81 1482 CALL LWRD ?US_RSH_L02 - 00005BE2 EB 1483 EX DE,HL - 00005BE3 01 00 00 1484 LD BC,0 - 00005BE6 C5 1485 PUSH BC - 00005BE7 E5 1486 PUSH HL - 00005BE8 2A 97 97 1487 LD HL,(bitmap_immov) - 00005BEB C1 1488 POP BC - 00005BEC 09 1489 ADD HL,BC - 00005BED EB 1490 EX DE,HL - 00005BEE 2A 99 97 1491 LD HL,(bitmap_immov+2) - 00005BF1 C1 1492 POP BC - 00005BF2 ED 4A 1493 ADC HL,BC - 00005BF4 E5 1494 PUSH HL - 00005BF5 D5 1495 PUSH DE - 00005BF6 21 01 00 1496 LD HL,1 - 00005BF9 C1 1497 POP BC - 00005BFA 09 1498 ADD HL,BC - 00005BFB EB 1499 EX DE,HL - 00005BFC 21 00 00 1500 LD HL,0 - 00005BFF C1 1501 POP BC - 00005C00 ED 4A 1502 ADC HL,BC - 00005C02 4D 1503 LD C,L - 00005C03 44 1504 LD B,H - 00005C04 EB 1505 EX DE,HL - 00005C05 22 9B 97 1506 LD (bitmap_final),HL - 00005C08 ED 43 9D 97 1507 LD (bitmap_final+2),BC - 00005C0C 11 FF FF 1508 LD DE,65535 - 00005C0F D5 1509 PUSH DE - 00005C10 11 FC FF 1510 LD DE,65532 - 00005C13 D5 1511 PUSH DE - 00005C14 C5 1512 PUSH BC - 00005C15 E5 1513 PUSH HL - 00005C16 21 03 00 1514 LD HL,3 - 00005C19 C1 1515 POP BC - 00005C1A 09 1516 ADD HL,BC - 00005C1B EB 1517 EX DE,HL - 00005C1C 21 00 00 1518 LD HL,0 - 00005C1F C1 1519 POP BC - 00005C20 ED 4A 1520 ADC HL,BC - 00005C22 4D 1521 LD C,L - 00005C23 44 1522 LD B,H - 00005C24 EB 1523 EX DE,HL - 00005C25 CD 5F 81 1524 CALL LWRD ?L_AND_L03 - 00005C28 22 9B 97 1525 LD (bitmap_final),HL - 00005C2B ED 43 9D 97 1526 LD (bitmap_final+2),BC - 00005C2F C5 1527 PUSH BC - 00005C30 E5 1528 PUSH HL - 00005C31 21 FF 01 1529 LD HL,511 - 00005C34 C1 1530 POP BC - 00005C35 09 1531 ADD HL,BC - 00005C36 EB 1532 EX DE,HL - 00005C37 21 00 00 1533 LD HL,0 - 00005C3A C1 1534 POP BC - 00005C3B ED 4A 1535 ADC HL,BC - 00005C3D 4D 1536 LD C,L - 00005C3E 44 1537 LD B,H - 00005C3F EB 1538 EX DE,HL - 00005C40 3E 09 1539 LD A,9 - 00005C42 CD FC 81 1540 CALL LWRD ?SL_RSH_L03 - 00005C45 01 FB FF 1541 LD BC,65531 - 00005C48 09 1542 ADD HL,BC - 00005C49 DD 75 F8 1543 LD (IX-8),L - 00005C4C DD 74 F9 1544 LD (IX-7),H - 00005C4F 1545 ?0123: - 00005C4F DD 6E F8 1546 LD L,(IX-8) - 00005C52 DD 66 F9 1547 LD H,(IX-7) - 00005C55 E5 1548 PUSH HL - 00005C56 DD 6E F6 1549 LD L,(IX-10) - 00005C59 DD 66 F7 1550 LD H,(IX-9) - 00005C5C E5 1551 PUSH HL - 00005C5D DD 6E F4 1552 LD L,(IX-12) - 00005C60 DD 66 F5 1553 LD H,(IX-11) - 00005C63 E5 1554 PUSH HL - 00005C64 21 8D 91 1555 LD HL,device_name - 00005C67 E5 1556 PUSH HL - 00005C68 21 3E 85 1557 LD HL,?0124 - 00005C6B E5 1558 PUSH HL - 00005C6C 3E 00 1559 LD A,BYTE3 printf - 00005C6E 21 DE 61 1560 LD HL,LWRD printf - 00005C71 CD 52 81 1561 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005C74 F1 1562 POP AF - 00005C75 F1 1563 POP AF - 00005C76 F1 1564 POP AF - 00005C77 F1 1565 POP AF - 00005C78 F1 1566 POP AF - 00005C79 11 48 90 1567 LD DE,stdout - 00005C7C 3E 00 1568 LD A,BYTE3 fflush - 00005C7E 21 AC 5F 1569 LD HL,LWRD fflush - 00005C81 CD 52 81 1570 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005C84 11 77 85 1571 LD DE,?0127 - 00005C87 3E 00 1572 LD A,BYTE3 yes - 00005C89 21 74 52 1573 LD HL,LWRD yes - 00005C8C CD 52 81 1574 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005C8F 7D 1575 LD A,L - 00005C90 B4 1576 OR H - 00005C91 20 0B 1577 JR NZ,?0126 - 00005C93 1578 ?0125: - 00005C93 11 01 00 1579 LD DE,1 - 00005C96 3E 00 1580 LD A,BYTE3 exit - 00005C98 21 7F 71 1581 LD HL,LWRD exit - 00005C9B CD 52 81 1582 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005C9E 1583 ?0126: - 00005C9E 21 81 85 1584 LD HL,?0128 - 00005CA1 E5 1585 PUSH HL - 00005CA2 3E 00 1586 LD A,BYTE3 printf - 00005CA4 21 DE 61 1587 LD HL,LWRD printf - 00005CA7 CD 52 81 1588 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005CAA F1 1589 POP AF - 00005CAB 3A 29 90 1590 LD A,(_fmt) - 00005CAE B7 1591 OR A - 00005CAF 28 0E 1592 JR Z,?0130 - 00005CB1 1593 ?0129: - 00005CB1 DD 5E F4 1594 LD E,(IX-12) - 00005CB4 DD 56 F5 1595 LD D,(IX-11) - 00005CB7 3E 00 1596 LD A,BYTE3 doformatting - 00005CB9 21 05 58 1597 LD HL,LWRD doformatting - 00005CBC CD 52 81 1598 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005CBF 1599 ?0130: - 00005CBF ED 4B 8F 97 1600 LD BC,(bitmap_inode) - 00005CC3 2A 93 97 1601 LD HL,(bitmap_block) - 00005CC6 A7 1602 AND A - 00005CC7 ED 42 1603 SBC HL,BC - 00005CC9 EB 1604 EX DE,HL - 00005CCA 3E 00 1605 LD A,BYTE3 malloc - 00005CCC 21 21 6F 1606 LD HL,LWRD malloc - 00005CCF CD 52 81 1607 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005CD2 22 9F 97 1608 LD (inode_bitmap),HL - 00005CD5 7D 1609 LD A,L - 00005CD6 B4 1610 OR H - 00005CD7 20 0B 1611 JR NZ,?0132 - 00005CD9 1612 ?0131: - 00005CD9 DD 36 FE 83 1613 LD (IX-2),LOW(?0133) - 00005CDD DD 36 FF 85 1614 LD (IX-1),HIGH(?0133) - 00005CE1 C3 64 5D 1615 JP LWRD ?0134 - 00005CE4 1616 ?0132: - 00005CE4 ED 4B 8F 97 1617 LD BC,(bitmap_inode) - 00005CE8 2A 93 97 1618 LD HL,(bitmap_block) - 00005CEB A7 1619 AND A - 00005CEC ED 42 1620 SBC HL,BC - 00005CEE E5 1621 PUSH HL - 00005CEF 0E 00 1622 LD C,0 - 00005CF1 ED 5B 9F 97 1623 LD DE,(inode_bitmap) - 00005CF5 3E 00 1624 LD A,BYTE3 bfill - 00005CF7 21 11 5F 1625 LD HL,LWRD bfill - 00005CFA CD 52 81 1626 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005CFD E1 1627 POP HL - 00005CFE ED 4B 93 97 1628 LD BC,(bitmap_block) - 00005D02 2A 9B 97 1629 LD HL,(bitmap_final) - 00005D05 A7 1630 AND A - 00005D06 ED 42 1631 SBC HL,BC - 00005D08 EB 1632 EX DE,HL - 00005D09 3E 00 1633 LD A,BYTE3 malloc - 00005D0B 21 21 6F 1634 LD HL,LWRD malloc - 00005D0E CD 52 81 1635 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005D11 22 A1 97 1636 LD (block_bitmap),HL - 00005D14 7D 1637 LD A,L - 00005D15 B4 1638 OR H - 00005D16 20 0A 1639 JR NZ,?0136 - 00005D18 1640 ?0135: - 00005D18 DD 36 FE 90 1641 LD (IX-2),LOW(?0137) - 00005D1C DD 36 FF 85 1642 LD (IX-1),HIGH(?0137) - 00005D20 18 42 1643 JR ?0134 - 00005D22 1644 ?0136: - 00005D22 ED 4B 93 97 1645 LD BC,(bitmap_block) - 00005D26 2A 9B 97 1646 LD HL,(bitmap_final) - 00005D29 A7 1647 AND A - 00005D2A ED 42 1648 SBC HL,BC - 00005D2C E5 1649 PUSH HL - 00005D2D 0E 00 1650 LD C,0 - 00005D2F ED 5B A1 97 1651 LD DE,(block_bitmap) - 00005D33 3E 00 1652 LD A,BYTE3 bfill - 00005D35 21 11 5F 1653 LD HL,LWRD bfill - 00005D38 CD 52 81 1654 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005D3B E1 1655 POP HL - 00005D3C 3A 2D 90 1656 LD A,(_immov) - 00005D3F B7 1657 OR A - 00005D40 28 61 1658 JR Z,?0139 - 00005D42 1659 ?0138: - 00005D42 ED 4B 97 97 1660 LD BC,(bitmap_immov) - 00005D46 2A 9B 97 1661 LD HL,(bitmap_final) - 00005D49 A7 1662 AND A - 00005D4A ED 42 1663 SBC HL,BC - 00005D4C EB 1664 EX DE,HL - 00005D4D 3E 00 1665 LD A,BYTE3 malloc - 00005D4F 21 21 6F 1666 LD HL,LWRD malloc - 00005D52 CD 52 81 1667 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005D55 22 A3 97 1668 LD (immov_bitmap),HL - 00005D58 7D 1669 LD A,L - 00005D59 B4 1670 OR H - 00005D5A 20 2D 1671 JR NZ,?0141 - 00005D5C 1672 ?0140: - 00005D5C DD 36 FE 9D 1673 LD (IX-2),LOW(?0142) - 00005D60 DD 36 FF 85 1674 LD (IX-1),HIGH(?0142) - 00005D64 1675 ?0134: - 00005D64 DD 6E FE 1676 LD L,(IX-2) - 00005D67 DD 66 FF 1677 LD H,(IX-1) - 00005D6A E5 1678 PUSH HL - 00005D6B 21 A9 85 1679 LD HL,?0143 - 00005D6E E5 1680 PUSH HL - 00005D6F 21 60 90 1681 LD HL,stderr - 00005D72 E5 1682 PUSH HL - 00005D73 3E 00 1683 LD A,BYTE3 fprintf - 00005D75 21 4D 71 1684 LD HL,LWRD fprintf - 00005D78 CD 52 81 1685 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005D7B F1 1686 POP AF - 00005D7C F1 1687 POP AF - 00005D7D F1 1688 POP AF - 00005D7E 11 01 00 1689 LD DE,1 - 00005D81 3E 00 1690 LD A,BYTE3 exit - 00005D83 21 7F 71 1691 LD HL,LWRD exit - 00005D86 CD 52 81 1692 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005D89 1693 ?0141: - 00005D89 ED 4B 97 97 1694 LD BC,(bitmap_immov) - 00005D8D 2A 9B 97 1695 LD HL,(bitmap_final) - 00005D90 A7 1696 AND A - 00005D91 ED 42 1697 SBC HL,BC - 00005D93 E5 1698 PUSH HL - 00005D94 0E 00 1699 LD C,0 - 00005D96 ED 5B A3 97 1700 LD DE,(immov_bitmap) - 00005D9A 3E 00 1701 LD A,BYTE3 bfill - 00005D9C 21 11 5F 1702 LD HL,LWRD bfill - 00005D9F CD 52 81 1703 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005DA2 E1 1704 POP HL - 00005DA3 1705 ?0139: - 00005DA3 DD 6E F8 1706 LD L,(IX-8) - 00005DA6 DD 66 F9 1707 LD H,(IX-7) - 00005DA9 E5 1708 PUSH HL - 00005DAA DD 4E F6 1709 LD C,(IX-10) - 00005DAD DD 46 F7 1710 LD B,(IX-9) - 00005DB0 DD 5E F4 1711 LD E,(IX-12) - 00005DB3 DD 56 F5 1712 LD D,(IX-11) - 00005DB6 3E 00 1713 LD A,BYTE3 mkfs - 00005DB8 21 DE 52 1714 LD HL,LWRD mkfs - 00005DBB CD 52 81 1715 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005DBE E1 1716 POP HL - 00005DBF ED 5B 8B 91 1717 LD DE,(device_handle) - 00005DC3 3E 00 1718 LD A,BYTE3 close - 00005DC5 21 E3 62 1719 LD HL,LWRD close - 00005DC8 CD 52 81 1720 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005DCB 3A 2C 90 1721 LD A,(_verb) - 00005DCE B7 1722 OR A - 00005DCF 28 12 1723 JR Z,?0145 - 00005DD1 1724 ?0144: - 00005DD1 21 8D 91 1725 LD HL,device_name - 00005DD4 E5 1726 PUSH HL - 00005DD5 21 C4 85 1727 LD HL,?0146 - 00005DD8 E5 1728 PUSH HL - 00005DD9 3E 00 1729 LD A,BYTE3 printf - 00005DDB 21 DE 61 1730 LD HL,LWRD printf - 00005DDE CD 52 81 1731 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005DE1 F1 1732 POP AF - 00005DE2 F1 1733 POP AF - 00005DE3 1734 ?0145: - 00005DE3 11 00 00 1735 LD DE,0 - 00005DE6 3E 00 1736 LD A,BYTE3 exit - 00005DE8 21 7F 71 1737 LD HL,LWRD exit - 00005DEB CD 52 81 1738 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005DEE C3 29 81 1739 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 00005DF1 1740 bitmap_dump: - 00005DF1 CD AE 81 1741 CALL LWRD ?ENT_AUTO_DIRECT_L09 - 00005DF4 FA FF 1742 DEFW 65530 - 00005DF6 DD 6E 0A 1743 LD L,(IX+10) - 00005DF9 DD 66 0B 1744 LD H,(IX+11) - 00005DFC DD 75 FC 1745 LD (IX-4),L - 00005DFF DD 74 FD 1746 LD (IX-3),H - 00005E02 1747 ?0148: - 00005E02 DD 6E 10 1748 LD L,(IX+16) - 00005E05 DD 66 11 1749 LD H,(IX+17) - 00005E08 E5 1750 PUSH HL - 00005E09 DD 6E 0E 1751 LD L,(IX+14) - 00005E0C DD 66 0F 1752 LD H,(IX+15) - 00005E0F E5 1753 PUSH HL - 00005E10 DD 6E FC 1754 LD L,(IX-4) - 00005E13 DD 66 FD 1755 LD H,(IX-3) - 00005E16 01 00 00 1756 LD BC,0 - 00005E19 CD 7D 81 1757 CALL LWRD ?SL_CMP_L03 - 00005E1C D2 E4 5E 1758 JP NC,?0147 - 00005E1F 1759 ?0149: - 00005E1F DD 4E 0E 1760 LD C,(IX+14) - 00005E22 DD 46 0F 1761 LD B,(IX+15) - 00005E25 DD 6E FC 1762 LD L,(IX-4) - 00005E28 DD 66 FD 1763 LD H,(IX-3) - 00005E2B 3E 02 1764 LD A,2 - 00005E2D 84 1765 ADD A,H - 00005E2E 67 1766 LD H,A - 00005E2F 7D 1767 LD A,L - 00005E30 E6 00 1768 AND 0 - 00005E32 5F 1769 LD E,A - 00005E33 7C 1770 LD A,H - 00005E34 E6 FE 1771 AND 254 - 00005E36 57 1772 LD D,A - 00005E37 3E 00 1773 LD A,BYTE3 int_min - 00005E39 21 75 5F 1774 LD HL,LWRD int_min - 00005E3C CD 52 81 1775 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005E3F DD 75 FE 1776 LD (IX-2),L - 00005E42 DD 74 FF 1777 LD (IX-1),H - 00005E45 DD 4E FC 1778 LD C,(IX-4) - 00005E48 DD 46 FD 1779 LD B,(IX-3) - 00005E4B A7 1780 AND A - 00005E4C ED 42 1781 SBC HL,BC - 00005E4E 01 00 02 1782 LD BC,512 - 00005E51 A7 1783 AND A - 00005E52 ED 42 1784 SBC HL,BC - 00005E54 30 1B 1785 JR NC,?0151 - 00005E56 1786 ?0150: - 00005E56 06 09 1787 LD B,9 - 00005E58 DD 5E FC 1788 LD E,(IX-4) - 00005E5B DD 56 FD 1789 LD D,(IX-3) - 00005E5E CD 1F 81 1790 CALL LWRD ?US_RSH_L02 - 00005E61 3E 00 1791 LD A,BYTE3 daread - 00005E63 21 94 50 1792 LD HL,LWRD daread - 00005E66 CD 52 81 1793 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005E69 DD 75 FA 1794 LD (IX-6),L - 00005E6C DD 74 FB 1795 LD (IX-5),H - 00005E6F 18 08 1796 JR ?0152 - 00005E71 1797 ?0151: - 00005E71 DD 36 FA 8D 1798 LD (IX-6),LOW(zeroed) - 00005E75 DD 36 FB 93 1799 LD (IX-5),HIGH(zeroed) - 00005E79 1800 ?0152: - 00005E79 DD 4E FC 1801 LD C,(IX-4) - 00005E7C DD 46 FD 1802 LD B,(IX-3) - 00005E7F DD 6E FE 1803 LD L,(IX-2) - 00005E82 DD 66 FF 1804 LD H,(IX-1) - 00005E85 A7 1805 AND A - 00005E86 ED 42 1806 SBC HL,BC - 00005E88 E5 1807 PUSH HL - 00005E89 79 1808 LD A,C - 00005E8A E6 FF 1809 AND 255 - 00005E8C 6F 1810 LD L,A - 00005E8D 78 1811 LD A,B - 00005E8E E6 01 1812 AND 1 - 00005E90 67 1813 LD H,A - 00005E91 DD 5E FA 1814 LD E,(IX-6) - 00005E94 DD 56 FB 1815 LD D,(IX-5) - 00005E97 19 1816 ADD HL,DE - 00005E98 4D 1817 LD C,L - 00005E99 44 1818 LD B,H - 00005E9A DD 5E 0A 1819 LD E,(IX+10) - 00005E9D DD 56 0B 1820 LD D,(IX+11) - 00005EA0 DD 6E FC 1821 LD L,(IX-4) - 00005EA3 DD 66 FD 1822 LD H,(IX-3) - 00005EA6 A7 1823 AND A - 00005EA7 ED 52 1824 SBC HL,DE - 00005EA9 DD 5E 02 1825 LD E,(IX+2) - 00005EAC DD 56 03 1826 LD D,(IX+3) - 00005EAF 19 1827 ADD HL,DE - 00005EB0 EB 1828 EX DE,HL - 00005EB1 3E 00 1829 LD A,BYTE3 bcopy - 00005EB3 21 3D 5F 1830 LD HL,LWRD bcopy - 00005EB6 CD 52 81 1831 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005EB9 E1 1832 POP HL - 00005EBA DD 4E FA 1833 LD C,(IX-6) - 00005EBD DD 46 FB 1834 LD B,(IX-5) - 00005EC0 C5 1835 PUSH BC - 00005EC1 06 09 1836 LD B,9 - 00005EC3 DD 5E FC 1837 LD E,(IX-4) - 00005EC6 DD 56 FD 1838 LD D,(IX-3) - 00005EC9 CD 1F 81 1839 CALL LWRD ?US_RSH_L02 - 00005ECC 3E 00 1840 LD A,BYTE3 dwrite - 00005ECE 21 D3 50 1841 LD HL,LWRD dwrite - 00005ED1 C1 1842 POP BC - 00005ED2 CD 52 81 1843 CALL LWRD ?BANK_CALL_DIRECT_L08 - 00005ED5 DD 6E FE 1844 LD L,(IX-2) - 00005ED8 DD 66 FF 1845 LD H,(IX-1) - 00005EDB DD 75 FC 1846 LD (IX-4),L - 00005EDE DD 74 FD 1847 LD (IX-3),H - 00005EE1 C3 02 5E 1848 JP LWRD ?0148 - 00005EE4 1849 ?0147: - 00005EE4 C3 29 81 1850 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 1851 RSEG CSTR - 000083F7 1852 ?0005: - 000083F7 52 65 61 64 20 6F 66 1853 DEFB 'Read of block %d failed.' - 20 62 6C 6F 63 6B 20 - 25 64 20 66 61 69 6C - 65 64 2E - 0000840F 0A 00 1854 DEFB 10,0 - 00008411 1855 ?0008: - 00008411 57 72 69 74 65 20 6F 1856 DEFB 'Write of block %d failed.' - 66 20 62 6C 6F 63 6B - 20 25 64 20 66 61 69 - 6C 65 64 2E - 0000842A 0A 00 1857 DEFB 10,0 - 0000842C 1858 ?0011: - 0000842C 63 61 6E 27 74 20 73 1859 DEFB 'can''t seek: ' - 65 65 6B 3A 20 - 00008438 00 1860 DEFB 0 - 00008439 1861 ?0017: - 00008439 63 61 6E 27 74 20 72 1862 DEFB 'can''t read: ' - 65 61 64 3A 20 - 00008445 00 1863 DEFB 0 - 00008446 1864 ?0022: - 00008446 63 61 6E 27 74 20 77 1865 DEFB 'can''t write: ' - 72 69 74 65 3A 20 - 00008453 00 1866 DEFB 0 - 00008454 1867 ?0025: - 00008454 59 1868 DEFB 'Y' - 00008455 0A 00 1869 DEFB 10,0 - 00008457 1870 ?0036: - 00008457 43 72 65 61 74 69 6E 1871 DEFB 'Creating boot block...' - 67 20 62 6F 6F 74 20 - 62 6C 6F 63 6B 2E 2E - 2E - 0000846D 0A 00 1872 DEFB 10,0 - 0000846F 1873 ?0046: - 0000846F 49 6E 69 74 69 61 6C 1874 DEFB 'Initializing inodes, be patient...' - 69 7A 69 6E 67 20 69 - 6E 6F 64 65 73 2C 20 - 62 65 20 70 61 74 69 - 65 6E 74 2E 2E 2E - 00008491 0A 00 1875 DEFB 10,0 - 00008493 1876 ?0057: - 00008493 42 6C 6B 20 23 25 64 1877 DEFB 'Blk #%d' - 0000849A 0D 00 1878 DEFB 13,0 - 0000849C 1879 ?0060: - 0000849C 42 6C 6B 20 23 25 64 1880 DEFB 'Blk #%d' - 000084A3 0A 00 1881 DEFB 10,0 - 000084A5 1882 ?0063: - 000084A5 43 72 65 61 74 69 6E 1883 DEFB 'Creating super block...' - 67 20 73 75 70 65 72 - 20 62 6C 6F 63 6B 2E - 2E 2E - 000084BC 0A 00 1884 DEFB 10,0 - 000084BE 1885 ?0088: - 000084BE 4C 6F 77 20 6C 65 76 1886 DEFB 'Low level formatting...' - 65 6C 20 66 6F 72 6D - 61 74 74 69 6E 67 2E - 2E 2E - 000084D5 0A 00 1887 DEFB 10,0 - 000084D7 1888 ?0108: - 000084D7 49 6C 6C 65 67 61 6C 1889 DEFB 'Illegal switch %s' - 20 73 77 69 74 63 68 - 20 25 73 - 000084E8 0A 00 1890 DEFB 10,0 - 000084EA 1891 ?0111: - 000084EA 75 73 61 67 65 3A 20 1892 DEFB 'usage: mkfs [-yfqvb] device fsize isize [rsize]' - 6D 6B 66 73 20 5B 2D - 79 66 71 76 62 5D 20 - 64 65 76 69 63 65 20 - 66 73 69 7A 65 20 69 - 73 69 7A 65 20 5B 72 - 73 69 7A 65 5D - 00008519 0A 00 1893 DEFB 10,0 - 0000851B 1894 ?0114: - 0000851B 63 61 6E 27 74 20 6F 1895 DEFB 'can''t open: ' - 70 65 6E 3A 20 - 00008527 00 1896 DEFB 0 - 00008528 1897 ?0121: - 00008528 42 61 64 20 70 61 72 1898 DEFB 'Bad parameter values' - 61 6D 65 74 65 72 20 - 76 61 6C 75 65 73 - 0000853C 0A 00 1899 DEFB 10,0 - 0000853E 1900 ?0124: - 0000853E 0A 1901 DEFB 10 - 0000853F 4D 61 6B 69 6E 67 20 1902 DEFB 'Making filesystem on %s, fsize %u, isize %u, rsize %u. ' - 66 69 6C 65 73 79 73 - 74 65 6D 20 6F 6E 20 - 25 73 2C 20 66 73 69 - 7A 65 20 25 75 2C 20 - 69 73 69 7A 65 20 25 - 75 2C 20 72 73 69 7A - 65 20 25 75 2E 20 - 00008576 00 1903 DEFB 0 - 00008577 1904 ?0127: - 00008577 43 6F 6E 66 69 72 6D 1905 DEFB 'Confirm? ' - 3F 20 - 00008580 00 1906 DEFB 0 - 00008581 1907 ?0128: - 00008581 0A 00 1908 DEFB 10,0 - 00008583 1909 ?0133: - 00008583 69 6E 6F 64 65 20 62 1910 DEFB 'inode bitmap' - 69 74 6D 61 70 - 0000858F 00 1911 DEFB 0 - 00008590 1912 ?0137: - 00008590 62 6C 6F 63 6B 20 62 1913 DEFB 'block bitmap' - 69 74 6D 61 70 - 0000859C 00 1914 DEFB 0 - 0000859D 1915 ?0142: - 0000859D 6C 6F 63 6B 20 62 69 1916 DEFB 'lock bitmap' - 74 6D 61 70 - 000085A8 00 1917 DEFB 0 - 000085A9 1918 ?0143: - 000085A9 4E 6F 74 20 65 6E 6F 1919 DEFB 'Not enough memory for %s.' - 75 67 68 20 6D 65 6D - 6F 72 79 20 66 6F 72 - 20 25 73 2E - 000085C2 0A 00 1920 DEFB 10,0 - 000085C4 1921 ?0146: - 000085C4 46 69 6C 65 73 79 73 1922 DEFB 'Filesystem on %s successfully initialized!' - 74 65 6D 20 6F 6E 20 - 25 73 20 73 75 63 63 - 65 73 73 66 75 6C 6C - 79 20 69 6E 69 74 69 - 61 6C 69 7A 65 64 21 - 000085EE 0A 0A 00 1923 DEFB 10,10,0 - 1924 RSEG UDATA0 - 0000918B 1925 device_handle: - 0000918B 1926 DEFS 2 - 0000918D 1927 device_name: - 0000918D 1928 DEFS 512 - 0000938D 1929 zeroed: - 0000938D 1930 DEFS 512 - 0000958D 1931 dev: - 0000958D 1932 DEFS 2 - 0000958F 1933 inode: - 0000958F 1934 DEFS 512 - 0000978F 1935 bitmap_inode: - 0000978F 1936 DEFS 4 - 00009793 1937 bitmap_block: - 00009793 1938 DEFS 4 - 00009797 1939 bitmap_immov: - 00009797 1940 DEFS 4 - 0000979B 1941 bitmap_final: - 0000979B 1942 DEFS 4 - 0000979F 1943 inode_bitmap: - 0000979F 1944 DEFS 2 - 000097A1 1945 block_bitmap: - 000097A1 1946 DEFS 2 - 000097A3 1947 immov_bitmap: - 000097A3 1948 DEFS 2 - 000097A5 1949 ?0002: - 000097A5 1950 DEFS 512 - 1951 RSEG IDATA0 - 00008629 1952 bootblock: - 00008629 1953 DEFS 2048 - 00008E29 1954 dirbuf: - 00008E29 1955 DEFS 512 - 00009029 1956 _fmt: - 00009029 1957 DEFS 1 - 0000902A 1958 _yes: - 0000902A 1959 DEFS 1 - 0000902B 1960 _quick: - 0000902B 1961 DEFS 1 - 0000902C 1962 _verb: - 0000902C 1963 DEFS 1 - 0000902D 1964 _immov: - 0000902D 1965 DEFS 1 - 1966 RSEG CDATA0 - 00008629 35 1967 DEFB '5' - 0000862A 32 1968 DEFB '2' - 0000862B 43 1969 DEFB 'C' - 0000862C 38 1970 DEFB '8' - 0000862D 30 1971 DEFB '0' - 0000862E 33 1972 DEFB '3' - 0000862F 30 1973 DEFB '0' - 00008630 38 1974 DEFB '8' - 00008631 32 1975 DEFB '2' - 00008632 31 1976 DEFB '1' - 00008633 31 1977 DEFB '1' - 00008634 38 1978 DEFB '8' - 00008635 34 1979 DEFB '4' - 00008636 30 1980 DEFB '0' - 00008637 32 1981 DEFB '2' - 00008638 34 1982 DEFB '4' - 00008639 31 1983 DEFB '1' - 0000863A 00 1984 DEFB 0 - 0000863B 10 1985 DEFB 16 - 0000863C CD 1986 DEFB 205 - 0000863D 0E 1987 DEFB 14 - 0000863E 07 1988 DEFB 7 - 0000863F CD 1989 DEFB 205 - 00008640 16 1990 DEFB 22 - 00008641 06 1991 DEFB 6 - 00008642 CD 1992 DEFB 205 - 00008643 6D 1993 DEFB 'm' - 00008644 05 1994 DEFB 5 - 00008645 18 1995 DEFB 24 - 00008646 22 1996 DEFB '"' - 00008647 00 1997 DEFB 0 - 00008648 00 1998 DEFB 0 - 00008649 00 1999 DEFB 0 - 0000864A 42 2000 DEFB 'B' - 0000864B 4F 2001 DEFB 'O' - 0000864C 4F 2002 DEFB 'O' - 0000864D 54 2003 DEFB 'T' - 0000864E 20 2004 DEFB ' ' - 0000864F 20 2005 DEFB ' ' - 00008650 20 2006 DEFB ' ' - 00008651 20 2007 DEFB ' ' - 00008652 42 2008 DEFB 'B' - 00008653 49 2009 DEFB 'I' - 00008654 4E 2010 DEFB 'N' - 00008655 00 2011 DEFB 0 - 00008656 00 2012 DEFB 0 - 00008657 00 2013 DEFB 0 - 00008658 10 2014 DEFB 16 - 00008659 00 2015 DEFB 0 - 0000865A 01 2016 DEFB 1 - 0000865B 00 2017 DEFB 0 - 0000865C 00 2018 DEFB 0 - 0000865D 00 2019 DEFB 0 - 0000865E 00 2020 DEFB 0 - 0000865F 00 2021 DEFB 0 - 00008660 00 2022 DEFB 0 - 00008661 00 2023 DEFB 0 - 00008662 00 2024 DEFB 0 - 00008663 00 2025 DEFB 0 - 00008664 00 2026 DEFB 0 - 00008665 00 2027 DEFB 0 - 00008666 00 2028 DEFB 0 - 00008667 00 2029 DEFB 0 - 00008668 00 2030 DEFB 0 - 00008669 CD 2031 DEFB 205 - 0000866A 56 2032 DEFB 'V' - 0000866B 01 2033 DEFB 1 - 0000866C 6C 2034 DEFB 'l' - 0000866D 6F 2035 DEFB 'o' - 0000866E 61 2036 DEFB 'a' - 0000866F 64 2037 DEFB 'd' - 00008670 69 2038 DEFB 'i' - 00008671 6E 2039 DEFB 'n' - 00008672 67 2040 DEFB 'g' - 00008673 20 2041 DEFB ' ' - 00008674 2F 2042 DEFB '/' - 00008675 62 2043 DEFB 'b' - 00008676 6F 2044 DEFB 'o' - 00008677 6F 2045 DEFB 'o' - 00008678 74 2046 DEFB 't' - 00008679 2F 2047 DEFB '/' - 0000867A 6B 2048 DEFB 'k' - 0000867B 65 2049 DEFB 'e' - 0000867C 72 2050 DEFB 'r' - 0000867D 6E 2051 DEFB 'n' - 0000867E 65 2052 DEFB 'e' - 0000867F 6C 2053 DEFB 'l' - 00008680 2E 2054 DEFB '.' - 00008681 62 2055 DEFB 'b' - 00008682 69 2056 DEFB 'i' - 00008683 6E 2057 DEFB 'n' - 00008684 0D 2058 DEFB 13 - 00008685 0A 2059 DEFB 10 - 00008686 00 2060 DEFB 0 - 00008687 CD 2061 DEFB 205 - 00008688 B0 2062 DEFB 176 - 00008689 01 2063 DEFB 1 - 0000868A CD 2064 DEFB 205 - 0000868B 9B 2065 DEFB 155 - 0000868C 00 2066 DEFB 0 - 0000868D CD 2067 DEFB 205 - 0000868E 70 2068 DEFB 'p' - 0000868F 02 2069 DEFB 2 - 00008690 CD 2070 DEFB 205 - 00008691 90 2071 DEFB 144 - 00008692 01 2072 DEFB 1 - 00008693 CD 2073 DEFB 205 - 00008694 17 2074 DEFB 23 - 00008695 05 2075 DEFB 5 - 00008696 CD 2076 DEFB 205 - 00008697 35 2077 DEFB '5' - 00008698 05 2078 DEFB 5 - 00008699 ED 2079 DEFB 237 - 0000869A 5B 2080 DEFB '[' - 0000869B 0F 2081 DEFB 15 - 0000869C 0E 2082 DEFB 14 - 0000869D D5 2083 DEFB 213 - 0000869E 21 2084 DEFB '!' - 0000869F 8C 2085 DEFB 140 - 000086A0 00 2086 DEFB 0 - 000086A1 0E 2087 DEFB 14 - 000086A2 0F 2088 DEFB 15 - 000086A3 ED 2089 DEFB 237 - 000086A4 B0 2090 DEFB 176 - 000086A5 C1 2091 DEFB 193 - 000086A6 2A 2092 DEFB '*' - 000086A7 11 2093 DEFB 17 - 000086A8 0E 2094 DEFB 14 - 000086A9 F9 2095 DEFB 249 - 000086AA 11 2096 DEFB 17 - 000086AB 33 2097 DEFB '3' - 000086AC 00 2098 DEFB 0 - 000086AD 19 2099 DEFB 25 - 000086AE EB 2100 DEFB 235 - 000086AF 2A 2101 DEFB '*' - 000086B0 0B 2102 DEFB 11 - 000086B1 0E 2103 DEFB 14 - 000086B2 97 2104 DEFB 151 - 000086B3 C5 2105 DEFB 197 - 000086B4 C9 2106 DEFB 201 - 000086B5 ED 2107 DEFB 237 - 000086B6 39 2108 DEFB '9' - 000086B7 39 2109 DEFB '9' - 000086B8 3E 2110 DEFB '>' - 000086B9 F1 2111 DEFB 241 - 000086BA ED 2112 DEFB 237 - 000086BB 39 2113 DEFB '9' - 000086BC 3A 2114 DEFB ':' - 000086BD 3A 2115 DEFB ':' - 000086BE 80 2116 DEFB 128 - 000086BF 10 2117 DEFB 16 - 000086C0 ED 2118 DEFB 237 - 000086C1 39 2119 DEFB '9' - 000086C2 38 2120 DEFB '8' - 000086C3 E9 2121 DEFB 233 - 000086C4 11 2122 DEFB 17 - 000086C5 04 2123 DEFB 4 - 000086C6 00 2124 DEFB 0 - 000086C7 21 2125 DEFB '!' - 000086C8 E5 2126 DEFB 229 - 000086C9 07 2127 DEFB 7 - 000086CA CD 2128 DEFB 205 - 000086CB C5 2129 DEFB 197 - 000086CC 04 2130 DEFB 4 - 000086CD 2A 2131 DEFB '*' - 000086CE E5 2132 DEFB 229 - 000086CF 07 2133 DEFB 7 - 000086D0 11 2134 DEFB 17 - 000086D1 C6 2135 DEFB 198 - 000086D2 31 2136 DEFB '1' - 000086D3 B7 2137 DEFB 183 - 000086D4 ED 2138 DEFB 237 - 000086D5 52 2139 DEFB 'R' - 000086D6 20 2140 DEFB ' ' - 000086D7 4E 2141 DEFB 'N' - 000086D8 2A 2142 DEFB '*' - 000086D9 E7 2143 DEFB 231 - 000086DA 07 2144 DEFB 7 - 000086DB 22 2145 DEFB '"' - 000086DC 93 2146 DEFB 147 - 000086DD 07 2147 DEFB 7 - 000086DE 2A 2148 DEFB '*' - 000086DF E9 2149 DEFB 233 - 000086E0 07 2150 DEFB 7 - 000086E1 22 2151 DEFB '"' - 000086E2 95 2152 DEFB 149 - 000086E3 07 2153 DEFB 7 - 000086E4 2A 2154 DEFB '*' - 000086E5 EB 2155 DEFB 235 - 000086E6 07 2156 DEFB 7 - 000086E7 22 2157 DEFB '"' - 000086E8 97 2158 DEFB 151 - 000086E9 07 2159 DEFB 7 - 000086EA C9 2160 DEFB 201 - 000086EB 2A 2161 DEFB '*' - 000086EC FF 2162 DEFB 255 - 000086ED 0D 2163 DEFB 13 - 000086EE 11 2164 DEFB 17 - 000086EF C9 2165 DEFB 201 - 000086F0 A6 2166 DEFB 166 - 000086F1 B7 2167 DEFB 183 - 000086F2 ED 2168 DEFB 237 - 000086F3 52 2169 DEFB 'R' - 000086F4 C8 2170 DEFB 200 - 000086F5 CD 2171 DEFB 205 - 000086F6 56 2172 DEFB 'V' - 000086F7 01 2173 DEFB 1 - 000086F8 62 2174 DEFB 'b' - 000086F9 61 2175 DEFB 'a' - 000086FA 64 2176 DEFB 'd' - 000086FB 20 2177 DEFB ' ' - 000086FC 65 2178 DEFB 'e' - 000086FD 5F 2179 DEFB '_' - 000086FE 6D 2180 DEFB 'm' - 000086FF 61 2181 DEFB 'a' - 00008700 67 2182 DEFB 'g' - 00008701 69 2183 DEFB 'i' - 00008702 63 2184 DEFB 'c' - 00008703 3A 2185 DEFB ':' - 00008704 20 2186 DEFB ' ' - 00008705 00 2187 DEFB 0 - 00008706 18 2188 DEFB 24 - 00008707 2D 2189 DEFB '-' - 00008708 2A 2190 DEFB '*' - 00008709 01 2191 DEFB 1 - 0000870A 0E 2192 DEFB 14 - 0000870B 11 2193 DEFB 17 - 0000870C 03 2194 DEFB 3 - 0000870D 00 2195 DEFB 0 - 0000870E B7 2196 DEFB 183 - 0000870F ED 2197 DEFB 237 - 00008710 52 2198 DEFB 'R' - 00008711 C8 2199 DEFB 200 - 00008712 CD 2200 DEFB 205 - 00008713 56 2201 DEFB 'V' - 00008714 01 2202 DEFB 1 - 00008715 62 2203 DEFB 'b' - 00008716 61 2204 DEFB 'a' - 00008717 64 2205 DEFB 'd' - 00008718 20 2206 DEFB ' ' - 00008719 65 2207 DEFB 'e' - 0000871A 5F 2208 DEFB '_' - 0000871B 66 2209 DEFB 'f' - 0000871C 6F 2210 DEFB 'o' - 0000871D 72 2211 DEFB 'r' - 0000871E 6D 2212 DEFB 'm' - 0000871F 61 2213 DEFB 'a' - 00008720 74 2214 DEFB 't' - 00008721 3A 2215 DEFB ':' - 00008722 20 2216 DEFB ' ' - 00008723 00 2217 DEFB 0 - 00008724 18 2218 DEFB 24 - 00008725 0F 2219 DEFB 15 - 00008726 CD 2220 DEFB 205 - 00008727 56 2221 DEFB 'V' - 00008728 01 2222 DEFB 1 - 00008729 62 2223 DEFB 'b' - 0000872A 61 2224 DEFB 'a' - 0000872B 64 2225 DEFB 'd' - 0000872C 20 2226 DEFB ' ' - 0000872D 6D 2227 DEFB 'm' - 0000872E 61 2228 DEFB 'a' - 0000872F 67 2229 DEFB 'g' - 00008730 69 2230 DEFB 'i' - 00008731 63 2231 DEFB 'c' - 00008732 3A 2232 DEFB ':' - 00008733 20 2233 DEFB ' ' - 00008734 00 2234 DEFB 0 - 00008735 19 2235 DEFB 25 - 00008736 CD 2236 DEFB 205 - 00008737 1F 2237 DEFB 31 - 00008738 06 2238 DEFB 6 - 00008739 CD 2239 DEFB 205 - 0000873A 16 2240 DEFB 22 - 0000873B 06 2241 DEFB 6 - 0000873C CD 2242 DEFB 205 - 0000873D 56 2243 DEFB 'V' - 0000873E 01 2244 DEFB 1 - 0000873F 64 2245 DEFB 'd' - 00008740 6F 2246 DEFB 'o' - 00008741 69 2247 DEFB 'i' - 00008742 6E 2248 DEFB 'n' - 00008743 67 2249 DEFB 'g' - 00008744 20 2250 DEFB ' ' - 00008745 61 2251 DEFB 'a' - 00008746 20 2252 DEFB ' ' - 00008747 63 2253 DEFB 'c' - 00008748 6C 2254 DEFB 'l' - 00008749 65 2255 DEFB 'e' - 0000874A 61 2256 DEFB 'a' - 0000874B 6E 2257 DEFB 'n' - 0000874C 20 2258 DEFB ' ' - 0000874D 62 2259 DEFB 'b' - 0000874E 6F 2260 DEFB 'o' - 0000874F 6F 2261 DEFB 'o' - 00008750 74 2262 DEFB 't' - 00008751 0D 2263 DEFB 13 - 00008752 0A 2264 DEFB 10 - 00008753 00 2265 DEFB 0 - 00008754 21 2266 DEFB '!' - 00008755 E5 2267 DEFB 229 - 00008756 07 2268 DEFB 7 - 00008757 11 2269 DEFB 17 - 00008758 E6 2270 DEFB 230 - 00008759 07 2271 DEFB 7 - 0000875A 01 2272 DEFB 1 - 0000875B FF 2273 DEFB 255 - 0000875C 01 2274 DEFB 1 - 0000875D 36 2275 DEFB '6' - 0000875E AA 2276 DEFB 170 - 0000875F ED 2277 DEFB 237 - 00008760 B0 2278 DEFB 176 - 00008761 11 2279 DEFB 17 - 00008762 00 2280 DEFB 0 - 00008763 00 2281 DEFB 0 - 00008764 06 2282 DEFB 6 - 00008765 04 2283 DEFB 4 - 00008766 C5 2284 DEFB 197 - 00008767 D5 2285 DEFB 213 - 00008768 21 2286 DEFB '!' - 00008769 E5 2287 DEFB 229 - 0000876A 07 2288 DEFB 7 - 0000876B CD 2289 DEFB 205 - 0000876C D3 2290 DEFB 211 - 0000876D 04 2291 DEFB 4 - 0000876E D1 2292 DEFB 209 - 0000876F C1 2293 DEFB 193 - 00008770 13 2294 DEFB 19 - 00008771 10 2295 DEFB 16 - 00008772 F3 2296 DEFB 243 - 00008773 3E 2297 DEFB '>' - 00008774 AA 2298 DEFB 170 - 00008775 ED 2299 DEFB 237 - 00008776 39 2300 DEFB '9' - 00008777 0B 2301 DEFB 11 - 00008778 3E 2302 DEFB '>' - 00008779 13 2303 DEFB 19 - 0000877A ED 2304 DEFB 237 - 0000877B 39 2305 DEFB '9' - 0000877C 0A 2306 DEFB 10 - 0000877D 18 2307 DEFB 24 - 0000877E FE 2308 DEFB 254 - 0000877F CD 2309 DEFB 205 - 00008780 37 2310 DEFB '7' - 00008781 06 2311 DEFB 6 - 00008782 67 2312 DEFB 'g' - 00008783 62 2313 DEFB 'b' - 00008784 6F 2314 DEFB 'o' - 00008785 6F 2315 DEFB 'o' - 00008786 74 2316 DEFB 't' - 00008787 3A 2317 DEFB ':' - 00008788 20 2318 DEFB ' ' - 00008789 00 2319 DEFB 0 - 0000878A C3 2320 DEFB 195 - 0000878B 37 2321 DEFB '7' - 0000878C 06 2322 DEFB 6 - 0000878D 11 2323 DEFB 17 - 0000878E 02 2324 DEFB 2 - 0000878F 00 2325 DEFB 0 - 00008790 CD 2326 DEFB 205 - 00008791 84 2327 DEFB 132 - 00008792 01 2328 DEFB 1 - 00008793 3E 2329 DEFB '>' - 00008794 81 2330 DEFB 129 - 00008795 ED 2331 DEFB 237 - 00008796 39 2332 DEFB '9' - 00008797 0B 2333 DEFB 11 - 00008798 3E 2334 DEFB '>' - 00008799 13 2335 DEFB 19 - 0000879A ED 2336 DEFB 237 - 0000879B 39 2337 DEFB '9' - 0000879C 0A 2338 DEFB 10 - 0000879D 97 2339 DEFB 151 - 0000879E 3D 2340 DEFB '=' - 0000879F 20 2341 DEFB ' ' - 000087A0 FD 2342 DEFB 253 - 000087A1 3D 2343 DEFB '=' - 000087A2 20 2344 DEFB ' ' - 000087A3 FD 2345 DEFB 253 - 000087A4 3D 2346 DEFB '=' - 000087A5 20 2347 DEFB ' ' - 000087A6 FD 2348 DEFB 253 - 000087A7 3D 2349 DEFB '=' - 000087A8 20 2350 DEFB ' ' - 000087A9 FD 2351 DEFB 253 - 000087AA 11 2352 DEFB 17 - 000087AB 00 2353 DEFB 0 - 000087AC 02 2354 DEFB 2 - 000087AD 21 2355 DEFB '!' - 000087AE 81 2356 DEFB 129 - 000087AF FC 2357 DEFB 252 - 000087B0 E5 2358 DEFB 229 - 000087B1 FD 2359 DEFB 253 - 000087B2 E1 2360 DEFB 225 - 000087B3 01 2361 DEFB 1 - 000087B4 05 2362 DEFB 5 - 000087B5 00 2363 DEFB 0 - 000087B6 C3 2364 DEFB 195 - 000087B7 46 2365 DEFB 'F' - 000087B8 06 2366 DEFB 6 - 000087B9 CD 2367 DEFB 205 - 000087BA 56 2368 DEFB 'V' - 000087BB 01 2369 DEFB 1 - 000087BC 73 2370 DEFB 's' - 000087BD 74 2371 DEFB 't' - 000087BE 61 2372 DEFB 'a' - 000087BF 72 2373 DEFB 'r' - 000087C0 74 2374 DEFB 't' - 000087C1 69 2375 DEFB 'i' - 000087C2 6E 2376 DEFB 'n' - 000087C3 67 2377 DEFB 'g' - 000087C4 20 2378 DEFB ' ' - 000087C5 6F 2379 DEFB 'o' - 000087C6 70 2380 DEFB 'p' - 000087C7 65 2381 DEFB 'e' - 000087C8 72 2382 DEFB 'r' - 000087C9 61 2383 DEFB 'a' - 000087CA 74 2384 DEFB 't' - 000087CB 69 2385 DEFB 'i' - 000087CC 6E 2386 DEFB 'n' - 000087CD 67 2387 DEFB 'g' - 000087CE 20 2388 DEFB ' ' - 000087CF 73 2389 DEFB 's' - 000087D0 79 2390 DEFB 'y' - 000087D1 73 2391 DEFB 's' - 000087D2 74 2392 DEFB 't' - 000087D3 65 2393 DEFB 'e' - 000087D4 6D 2394 DEFB 'm' - 000087D5 0D 2395 DEFB 13 - 000087D6 0A 2396 DEFB 10 - 000087D7 00 2397 DEFB 0 - 000087D8 C9 2398 DEFB 201 - 000087D9 CD 2399 DEFB 205 - 000087DA 64 2400 DEFB 'd' - 000087DB 01 2401 DEFB 1 - 000087DC 3E 2402 DEFB '>' - 000087DD 10 2403 DEFB 16 - 000087DE ED 2404 DEFB 237 - 000087DF 39 2405 DEFB '9' - 000087E0 3A 2406 DEFB ':' - 000087E1 3E 2407 DEFB '>' - 000087E2 FF 2408 DEFB 255 - 000087E3 ED 2409 DEFB 237 - 000087E4 39 2410 DEFB '9' - 000087E5 38 2411 DEFB '8' - 000087E6 11 2412 DEFB 17 - 000087E7 01 2413 DEFB 1 - 000087E8 1F 2414 DEFB 31 - 000087E9 01 2415 DEFB 1 - 000087EA FF 2416 DEFB 255 - 000087EB 00 2417 DEFB 0 - 000087EC CD 2418 DEFB 205 - 000087ED E8 2419 DEFB 232 - 000087EE 01 2420 DEFB 1 - 000087EF 21 2421 DEFB '!' - 000087F0 00 2422 DEFB 0 - 000087F1 F1 2423 DEFB 241 - 000087F2 22 2424 DEFB '"' - 000087F3 80 2425 DEFB 128 - 000087F4 1F 2426 DEFB 31 - 000087F5 97 2427 DEFB 151 - 000087F6 ED 2428 DEFB 237 - 000087F7 39 2429 DEFB '9' - 000087F8 38 2430 DEFB '8' - 000087F9 11 2431 DEFB 17 - 000087FA 01 2432 DEFB 1 - 000087FB 10 2433 DEFB 16 - 000087FC 0D 2434 DEFB 13 - 000087FD CD 2435 DEFB 205 - 000087FE E8 2436 DEFB 232 - 000087FF 01 2437 DEFB 1 - 00008800 21 2438 DEFB '!' - 00008801 80 2439 DEFB 128 - 00008802 0F 2440 DEFB 15 - 00008803 22 2441 DEFB '"' - 00008804 FC 2442 DEFB 252 - 00008805 10 2443 DEFB 16 - 00008806 21 2444 DEFB '!' - 00008807 80 2445 DEFB 128 - 00008808 10 2446 DEFB 16 - 00008809 22 2447 DEFB '"' - 0000880A FE 2448 DEFB 254 - 0000880B 10 2449 DEFB 16 - 0000880C C9 2450 DEFB 201 - 0000880D CD 2451 DEFB 205 - 0000880E 0B 2452 DEFB 11 - 0000880F 02 2453 DEFB 2 - 00008810 D8 2454 DEFB 216 - 00008811 6B 2455 DEFB 'k' - 00008812 62 2456 DEFB 'b' - 00008813 2B 2457 DEFB '+' - 00008814 36 2458 DEFB '6' - 00008815 00 2459 DEFB 0 - 00008816 79 2460 DEFB 'y' - 00008817 B0 2461 DEFB 176 - 00008818 C8 2462 DEFB 200 - 00008819 ED 2463 DEFB 237 - 0000881A B0 2464 DEFB 176 - 0000881B C9 2465 DEFB 201 - 0000881C B7 2466 DEFB 183 - 0000881D ED 2467 DEFB 237 - 0000881E 52 2468 DEFB 'R' - 0000881F D0 2469 DEFB 208 - 00008820 19 2470 DEFB 25 - 00008821 EB 2471 DEFB 235 - 00008822 C9 2472 DEFB 201 - 00008823 2A 2473 DEFB '*' - 00008824 07 2474 DEFB 7 - 00008825 0E 2475 DEFB 14 - 00008826 11 2476 DEFB 17 - 00008827 14 2477 DEFB 20 - 00008828 00 2478 DEFB 0 - 00008829 18 2479 DEFB 24 - 0000882A 11 2480 DEFB 17 - 0000882B 2A 2481 DEFB '*' - 0000882C 0D 2482 DEFB 13 - 0000882D 0E 2483 DEFB 14 - 0000882E ED 2484 DEFB 237 - 0000882F 5B 2485 DEFB '[' - 00008830 09 2486 DEFB 9 - 00008831 0E 2487 DEFB 14 - 00008832 18 2488 DEFB 24 - 00008833 08 2489 DEFB 8 - 00008834 2A 2490 DEFB '*' - 00008835 11 2491 DEFB 17 - 00008836 0E 2492 DEFB 14 - 00008837 ED 2493 DEFB 237 - 00008838 5B 2494 DEFB '[' - 00008839 0D 2495 DEFB 13 - 0000883A 0E 2496 DEFB 14 - 0000883B 13 2497 DEFB 19 - 0000883C B7 2498 DEFB 183 - 0000883D ED 2499 DEFB 237 - 0000883E 52 2500 DEFB 'R' - 0000883F 4D 2501 DEFB 'M' - 00008840 44 2502 DEFB 'D' - 00008841 C9 2503 DEFB 201 - 00008842 22 2504 DEFB '"' - 00008843 99 2505 DEFB 153 - 00008844 07 2506 DEFB 7 - 00008845 CD 2507 DEFB 205 - 00008846 B3 2508 DEFB 179 - 00008847 03 2509 DEFB 3 - 00008848 01 2510 DEFB 1 - 00008849 10 2511 DEFB 16 - 0000884A 00 2512 DEFB 0 - 0000884B 21 2513 DEFB '!' - 0000884C E5 2514 DEFB 229 - 0000884D 0D 2515 DEFB 13 - 0000884E CD 2516 DEFB 205 - 0000884F 3C 2517 DEFB '<' - 00008850 03 2518 DEFB 3 - 00008851 D8 2519 DEFB 216 - 00008852 23 2520 DEFB '#' - 00008853 ED 2521 DEFB 237 - 00008854 5B 2522 DEFB '[' - 00008855 99 2523 DEFB 153 - 00008856 07 2524 DEFB 7 - 00008857 06 2525 DEFB 6 - 00008858 0E 2526 DEFB 14 - 00008859 23 2527 DEFB '#' - 0000885A 1A 2528 DEFB 26 - 0000885B BE 2529 DEFB 190 - 0000885C 20 2530 DEFB ' ' - 0000885D EA 2531 DEFB 234 - 0000885E B7 2532 DEFB 183 - 0000885F 28 2533 DEFB '(' - 00008860 05 2534 DEFB 5 - 00008861 13 2535 DEFB 19 - 00008862 10 2536 DEFB 16 - 00008863 F5 2537 DEFB 245 - 00008864 1A 2538 DEFB 26 - 00008865 B7 2539 DEFB 183 - 00008866 ED 2540 DEFB 237 - 00008867 5B 2541 DEFB '[' - 00008868 E5 2542 DEFB 229 - 00008869 0D 2543 DEFB 13 - 0000886A C9 2544 DEFB 201 - 0000886B CD 2545 DEFB 205 - 0000886C 56 2546 DEFB 'V' - 0000886D 01 2547 DEFB 1 - 0000886E 66 2548 DEFB 'f' - 0000886F 69 2549 DEFB 'i' - 00008870 6C 2550 DEFB 'l' - 00008871 65 2551 DEFB 'e' - 00008872 20 2552 DEFB ' ' - 00008873 6E 2553 DEFB 'n' - 00008874 6F 2554 DEFB 'o' - 00008875 74 2555 DEFB 't' - 00008876 20 2556 DEFB ' ' - 00008877 66 2557 DEFB 'f' - 00008878 6F 2558 DEFB 'o' - 00008879 75 2559 DEFB 'u' - 0000887A 6E 2560 DEFB 'n' - 0000887B 64 2561 DEFB 'd' - 0000887C 0D 2562 DEFB 13 - 0000887D 0A 2563 DEFB 10 - 0000887E 00 2564 DEFB 0 - 0000887F C3 2565 DEFB 195 - 00008880 13 2566 DEFB 19 - 00008881 01 2567 DEFB 1 - 00008882 CD 2568 DEFB 205 - 00008883 56 2569 DEFB 'V' - 00008884 01 2570 DEFB 1 - 00008885 66 2571 DEFB 'f' - 00008886 69 2572 DEFB 'i' - 00008887 6C 2573 DEFB 'l' - 00008888 65 2574 DEFB 'e' - 00008889 20 2575 DEFB ' ' - 0000888A 74 2576 DEFB 't' - 0000888B 6F 2577 DEFB 'o' - 0000888C 6F 2578 DEFB 'o' - 0000888D 20 2579 DEFB ' ' - 0000888E 73 2580 DEFB 's' - 0000888F 68 2581 DEFB 'h' - 00008890 6F 2582 DEFB 'o' - 00008891 72 2583 DEFB 'r' - 00008892 74 2584 DEFB 't' - 00008893 0D 2585 DEFB 13 - 00008894 0A 2586 DEFB 10 - 00008895 00 2587 DEFB 0 - 00008896 C3 2588 DEFB 195 - 00008897 13 2589 DEFB 19 - 00008898 01 2590 DEFB 1 - 00008899 11 2591 DEFB 17 - 0000889A 01 2592 DEFB 1 - 0000889B 00 2593 DEFB 0 - 0000889C 21 2594 DEFB '!' - 0000889D 71 2595 DEFB 'q' - 0000889E 07 2596 DEFB 7 - 0000889F CD 2597 DEFB 205 - 000088A0 19 2598 DEFB 25 - 000088A1 02 2599 DEFB 2 - 000088A2 20 2600 DEFB ' ' - 000088A3 C7 2601 DEFB 199 - 000088A4 21 2602 DEFB '!' - 000088A5 76 2603 DEFB 'v' - 000088A6 07 2604 DEFB 7 - 000088A7 CD 2605 DEFB 205 - 000088A8 19 2606 DEFB 25 - 000088A9 02 2607 DEFB 2 - 000088AA 20 2608 DEFB ' ' - 000088AB BF 2609 DEFB 191 - 000088AC CD 2610 DEFB 205 - 000088AD B3 2611 DEFB 179 - 000088AE 03 2612 DEFB 3 - 000088AF 21 2613 DEFB '!' - 000088B0 FF 2614 DEFB 255 - 000088B1 0D 2615 DEFB 13 - 000088B2 01 2616 DEFB 1 - 000088B3 14 2617 DEFB 20 - 000088B4 00 2618 DEFB 0 - 000088B5 CD 2619 DEFB 205 - 000088B6 3C 2620 DEFB '<' - 000088B7 03 2621 DEFB 3 - 000088B8 38 2622 DEFB '8' - 000088B9 C8 2623 DEFB 200 - 000088BA CD 2624 DEFB 205 - 000088BB C2 2625 DEFB 194 - 000088BC 00 2626 DEFB 0 - 000088BD CD 2627 DEFB 205 - 000088BE DF 2628 DEFB 223 - 000088BF 00 2629 DEFB 0 - 000088C0 3E 2630 DEFB '>' - 000088C1 FF 2631 DEFB 255 - 000088C2 ED 2632 DEFB 237 - 000088C3 39 2633 DEFB '9' - 000088C4 38 2634 DEFB '8' - 000088C5 CD 2635 DEFB 205 - 000088C6 FA 2636 DEFB 250 - 000088C7 01 2637 DEFB 1 - 000088C8 21 2638 DEFB '!' - 000088C9 00 2639 DEFB 0 - 000088CA 10 2640 DEFB 16 - 000088CB CD 2641 DEFB 205 - 000088CC 3C 2642 DEFB '<' - 000088CD 03 2643 DEFB 3 - 000088CE 97 2644 DEFB 151 - 000088CF ED 2645 DEFB 237 - 000088D0 39 2646 DEFB '9' - 000088D1 38 2647 DEFB '8' - 000088D2 CD 2648 DEFB 205 - 000088D3 02 2649 DEFB 2 - 000088D4 02 2650 DEFB 2 - 000088D5 EB 2651 DEFB 235 - 000088D6 CD 2652 DEFB 205 - 000088D7 3C 2653 DEFB '<' - 000088D8 03 2654 DEFB 3 - 000088D9 CD 2655 DEFB 205 - 000088DA E4 2656 DEFB 228 - 000088DB 01 2657 DEFB 1 - 000088DC 21 2658 DEFB '!' - 000088DD 15 2659 DEFB 21 - 000088DE 0E 2660 DEFB 14 - 000088DF 22 2661 DEFB '"' - 000088E0 13 2662 DEFB 19 - 000088E1 0E 2663 DEFB 14 - 000088E2 CD 2664 DEFB 205 - 000088E3 BF 2665 DEFB 191 - 000088E4 03 2666 DEFB 3 - 000088E5 CD 2667 DEFB 205 - 000088E6 DE 2668 DEFB 222 - 000088E7 03 2669 DEFB 3 - 000088E8 7D 2670 DEFB '}' - 000088E9 B4 2671 DEFB 180 - 000088EA 28 2672 DEFB '(' - 000088EB 3E 2673 DEFB '>' - 000088EC CD 2674 DEFB 205 - 000088ED 06 2675 DEFB 6 - 000088EE 04 2676 DEFB 4 - 000088EF 7B 2677 DEFB '{' - 000088F0 B2 2678 DEFB 178 - 000088F1 28 2679 DEFB '(' - 000088F2 49 2680 DEFB 'I' - 000088F3 7B 2681 DEFB '{' - 000088F4 E6 2682 DEFB 230 - 000088F5 07 2683 DEFB 7 - 000088F6 20 2684 DEFB ' ' - 000088F7 59 2685 DEFB 'Y' - 000088F8 2A 2686 DEFB '*' - 000088F9 13 2687 DEFB 19 - 000088FA 0E 2688 DEFB 14 - 000088FB 73 2689 DEFB 's' - 000088FC 23 2690 DEFB '#' - 000088FD 72 2691 DEFB 'r' - 000088FE 23 2692 DEFB '#' - 000088FF 22 2693 DEFB '"' - 00008900 13 2694 DEFB 19 - 00008901 0E 2695 DEFB 14 - 00008902 06 2696 DEFB 6 - 00008903 1F 2697 DEFB 31 - 00008904 C5 2698 DEFB 197 - 00008905 D5 2699 DEFB 213 - 00008906 CD 2700 DEFB 205 - 00008907 DE 2701 DEFB 222 - 00008908 03 2702 DEFB 3 - 00008909 7D 2703 DEFB '}' - 0000890A B4 2704 DEFB 180 - 0000890B 28 2705 DEFB '(' - 0000890C 1A 2706 DEFB 26 - 0000890D CD 2707 DEFB 205 - 0000890E 06 2708 DEFB 6 - 0000890F 04 2709 DEFB 4 - 00008910 7B 2710 DEFB '{' - 00008911 B2 2711 DEFB 178 - 00008912 28 2712 DEFB '(' - 00008913 28 2713 DEFB '(' - 00008914 EB 2714 DEFB 235 - 00008915 D1 2715 DEFB 209 - 00008916 13 2716 DEFB 19 - 00008917 B7 2717 DEFB 183 - 00008918 ED 2718 DEFB 237 - 00008919 52 2719 DEFB 'R' - 0000891A 20 2720 DEFB ' ' - 0000891B 35 2721 DEFB '5' - 0000891C C1 2722 DEFB 193 - 0000891D 10 2723 DEFB 16 - 0000891E E5 2724 DEFB 229 - 0000891F CD 2725 DEFB 205 - 00008920 DE 2726 DEFB 222 - 00008921 03 2727 DEFB 3 - 00008922 7D 2728 DEFB '}' - 00008923 B4 2729 DEFB 180 - 00008924 20 2730 DEFB ' ' - 00008925 C6 2731 DEFB 198 - 00008926 C9 2732 DEFB 201 - 00008927 E1 2733 DEFB 225 - 00008928 E1 2734 DEFB 225 - 00008929 C9 2735 DEFB 201 - 0000892A CD 2736 DEFB 205 - 0000892B 56 2737 DEFB 'V' - 0000892C 01 2738 DEFB 1 - 0000892D 6E 2739 DEFB 'n' - 0000892E 75 2740 DEFB 'u' - 0000892F 6C 2741 DEFB 'l' - 00008930 6C 2742 DEFB 'l' - 00008931 20 2743 DEFB ' ' - 00008932 66 2744 DEFB 'f' - 00008933 69 2745 DEFB 'i' - 00008934 6C 2746 DEFB 'l' - 00008935 65 2747 DEFB 'e' - 00008936 0D 2748 DEFB 13 - 00008937 0A 2749 DEFB 10 - 00008938 00 2750 DEFB 0 - 00008939 C3 2751 DEFB 195 - 0000893A 13 2752 DEFB 19 - 0000893B 01 2753 DEFB 1 - 0000893C CD 2754 DEFB 205 - 0000893D 56 2755 DEFB 'V' - 0000893E 01 2756 DEFB 1 - 0000893F 68 2757 DEFB 'h' - 00008940 6F 2758 DEFB 'o' - 00008941 6C 2759 DEFB 'l' - 00008942 65 2760 DEFB 'e' - 00008943 20 2761 DEFB ' ' - 00008944 69 2762 DEFB 'i' - 00008945 6E 2763 DEFB 'n' - 00008946 20 2764 DEFB ' ' - 00008947 66 2765 DEFB 'f' - 00008948 69 2766 DEFB 'i' - 00008949 6C 2767 DEFB 'l' - 0000894A 65 2768 DEFB 'e' - 0000894B 0D 2769 DEFB 13 - 0000894C 0A 2770 DEFB 10 - 0000894D 00 2771 DEFB 0 - 0000894E C3 2772 DEFB 195 - 0000894F 13 2773 DEFB 19 - 00008950 01 2774 DEFB 1 - 00008951 CD 2775 DEFB 205 - 00008952 56 2776 DEFB 'V' - 00008953 01 2777 DEFB 1 - 00008954 6E 2778 DEFB 'n' - 00008955 6F 2779 DEFB 'o' - 00008956 74 2780 DEFB 't' - 00008957 20 2781 DEFB ' ' - 00008958 61 2782 DEFB 'a' - 00008959 6C 2783 DEFB 'l' - 0000895A 69 2784 DEFB 'i' - 0000895B 67 2785 DEFB 'g' - 0000895C 6E 2786 DEFB 'n' - 0000895D 65 2787 DEFB 'e' - 0000895E 64 2788 DEFB 'd' - 0000895F 0D 2789 DEFB 13 - 00008960 0A 2790 DEFB 10 - 00008961 00 2791 DEFB 0 - 00008962 C3 2792 DEFB 195 - 00008963 13 2793 DEFB 19 - 00008964 01 2794 DEFB 1 - 00008965 E5 2795 DEFB 229 - 00008966 C5 2796 DEFB 197 - 00008967 ED 2797 DEFB 237 - 00008968 43 2798 DEFB 'C' - 00008969 F9 2799 DEFB 249 - 0000896A 0D 2800 DEFB 13 - 0000896B 22 2801 DEFB '"' - 0000896C FB 2802 DEFB 251 - 0000896D 0D 2803 DEFB 13 - 0000896E 21 2804 DEFB '!' - 0000896F 00 2805 DEFB 0 - 00008970 00 2806 DEFB 0 - 00008971 22 2807 DEFB '"' - 00008972 FD 2808 DEFB 253 - 00008973 0D 2809 DEFB 13 - 00008974 2A 2810 DEFB '*' - 00008975 F5 2811 DEFB 245 - 00008976 0D 2812 DEFB 13 - 00008977 7D 2813 DEFB '}' - 00008978 B4 2814 DEFB 180 - 00008979 20 2815 DEFB ' ' - 0000897A 1A 2816 DEFB 26 - 0000897B CD 2817 DEFB 205 - 0000897C DE 2818 DEFB 222 - 0000897D 03 2819 DEFB 3 - 0000897E 7D 2820 DEFB '}' - 0000897F B4 2821 DEFB 180 - 00008980 28 2822 DEFB '(' - 00008981 4F 2823 DEFB 'O' - 00008982 22 2824 DEFB '"' - 00008983 F5 2825 DEFB 245 - 00008984 0D 2826 DEFB 13 - 00008985 CD 2827 DEFB 205 - 00008986 06 2828 DEFB 6 - 00008987 04 2829 DEFB 4 - 00008988 7B 2830 DEFB '{' - 00008989 B2 2831 DEFB 178 - 0000898A 28 2832 DEFB '(' - 0000898B B0 2833 DEFB 176 - 0000898C 21 2834 DEFB '!' - 0000898D E5 2835 DEFB 229 - 0000898E 07 2836 DEFB 7 - 0000898F 22 2837 DEFB '"' - 00008990 F7 2838 DEFB 247 - 00008991 0D 2839 DEFB 13 - 00008992 CD 2840 DEFB 205 - 00008993 C5 2841 DEFB 197 - 00008994 04 2842 DEFB 4 - 00008995 2A 2843 DEFB '*' - 00008996 F5 2844 DEFB 245 - 00008997 0D 2845 DEFB 13 - 00008998 ED 2846 DEFB 237 - 00008999 5B 2847 DEFB '[' - 0000899A F9 2848 DEFB 249 - 0000899B 0D 2849 DEFB 13 - 0000899C CD 2850 DEFB 205 - 0000899D F3 2851 DEFB 243 - 0000899E 01 2852 DEFB 1 - 0000899F 2A 2853 DEFB '*' - 000089A0 F5 2854 DEFB 245 - 000089A1 0D 2855 DEFB 13 - 000089A2 B7 2856 DEFB 183 - 000089A3 ED 2857 DEFB 237 - 000089A4 52 2858 DEFB 'R' - 000089A5 22 2859 DEFB '"' - 000089A6 F5 2860 DEFB 245 - 000089A7 0D 2861 DEFB 13 - 000089A8 2A 2862 DEFB '*' - 000089A9 F9 2863 DEFB 249 - 000089AA 0D 2864 DEFB 13 - 000089AB B7 2865 DEFB 183 - 000089AC ED 2866 DEFB 237 - 000089AD 52 2867 DEFB 'R' - 000089AE 22 2868 DEFB '"' - 000089AF F9 2869 DEFB 249 - 000089B0 0D 2870 DEFB 13 - 000089B1 2A 2871 DEFB '*' - 000089B2 FD 2872 DEFB 253 - 000089B3 0D 2873 DEFB 13 - 000089B4 19 2874 DEFB 25 - 000089B5 22 2875 DEFB '"' - 000089B6 FD 2876 DEFB 253 - 000089B7 0D 2877 DEFB 13 - 000089B8 4B 2878 DEFB 'K' - 000089B9 42 2879 DEFB 'B' - 000089BA ED 2880 DEFB 237 - 000089BB 5B 2881 DEFB '[' - 000089BC FB 2882 DEFB 251 - 000089BD 0D 2883 DEFB 13 - 000089BE 2A 2884 DEFB '*' - 000089BF F7 2885 DEFB 247 - 000089C0 0D 2886 DEFB 13 - 000089C1 ED 2887 DEFB 237 - 000089C2 B0 2888 DEFB 176 - 000089C3 22 2889 DEFB '"' - 000089C4 F7 2890 DEFB 247 - 000089C5 0D 2891 DEFB 13 - 000089C6 ED 2892 DEFB 237 - 000089C7 53 2893 DEFB 'S' - 000089C8 FB 2894 DEFB 251 - 000089C9 0D 2895 DEFB 13 - 000089CA 2A 2896 DEFB '*' - 000089CB F9 2897 DEFB 249 - 000089CC 0D 2898 DEFB 13 - 000089CD 7D 2899 DEFB '}' - 000089CE B4 2900 DEFB 180 - 000089CF 20 2901 DEFB ' ' - 000089D0 AA 2902 DEFB 170 - 000089D1 2A 2903 DEFB '*' - 000089D2 FD 2904 DEFB 253 - 000089D3 0D 2905 DEFB 13 - 000089D4 4D 2906 DEFB 'M' - 000089D5 44 2907 DEFB 'D' - 000089D6 D1 2908 DEFB 209 - 000089D7 B7 2909 DEFB 183 - 000089D8 ED 2910 DEFB 237 - 000089D9 52 2911 DEFB 'R' - 000089DA E1 2912 DEFB 225 - 000089DB C9 2913 DEFB 201 - 000089DC 21 2914 DEFB '!' - 000089DD A5 2915 DEFB 165 - 000089DE 07 2916 DEFB 7 - 000089DF CD 2917 DEFB 205 - 000089E0 79 2918 DEFB 'y' - 000089E1 04 2919 DEFB 4 - 000089E2 21 2920 DEFB '!' - 000089E3 00 2921 DEFB 0 - 000089E4 00 2922 DEFB 0 - 000089E5 22 2923 DEFB '"' - 000089E6 F5 2924 DEFB 245 - 000089E7 0D 2925 DEFB 13 - 000089E8 2A 2926 DEFB '*' - 000089E9 AD 2927 DEFB 173 - 000089EA 07 2928 DEFB 7 - 000089EB 22 2929 DEFB '"' - 000089EC 9B 2930 DEFB 155 - 000089ED 07 2931 DEFB 7 - 000089EE 2A 2932 DEFB '*' - 000089EF AF 2933 DEFB 175 - 000089F0 07 2934 DEFB 7 - 000089F1 22 2935 DEFB '"' - 000089F2 9D 2936 DEFB 157 - 000089F3 07 2937 DEFB 7 - 000089F4 21 2938 DEFB '!' - 000089F5 BD 2939 DEFB 189 - 000089F6 07 2940 DEFB 7 - 000089F7 22 2941 DEFB '"' - 000089F8 9F 2942 DEFB 159 - 000089F9 07 2943 DEFB 7 - 000089FA 21 2944 DEFB '!' - 000089FB E5 2945 DEFB 229 - 000089FC 0B 2946 DEFB 11 - 000089FD 22 2947 DEFB '"' - 000089FE A1 2948 DEFB 161 - 000089FF 07 2949 DEFB 7 - 00008A00 21 2950 DEFB '!' - 00008A01 E5 2951 DEFB 229 - 00008A02 0D 2952 DEFB 13 - 00008A03 22 2953 DEFB '"' - 00008A04 A3 2954 DEFB 163 - 00008A05 07 2955 DEFB 7 - 00008A06 C9 2956 DEFB 201 - 00008A07 2A 2957 DEFB '*' - 00008A08 9B 2958 DEFB 155 - 00008A09 07 2959 DEFB 7 - 00008A0A ED 2960 DEFB 237 - 00008A0B 5B 2961 DEFB '[' - 00008A0C 9D 2962 DEFB 157 - 00008A0D 07 2963 DEFB 7 - 00008A0E 01 2964 DEFB 1 - 00008A0F 00 2965 DEFB 0 - 00008A10 02 2966 DEFB 2 - 00008A11 B7 2967 DEFB 183 - 00008A12 ED 2968 DEFB 237 - 00008A13 42 2969 DEFB 'B' - 00008A14 EB 2970 DEFB 235 - 00008A15 06 2971 DEFB 6 - 00008A16 00 2972 DEFB 0 - 00008A17 ED 2973 DEFB 237 - 00008A18 42 2974 DEFB 'B' - 00008A19 EB 2975 DEFB 235 - 00008A1A 38 2976 DEFB '8' - 00008A1B 0B 2977 DEFB 11 - 00008A1C 22 2978 DEFB '"' - 00008A1D 9B 2979 DEFB 155 - 00008A1E 07 2980 DEFB 7 - 00008A1F ED 2981 DEFB 237 - 00008A20 53 2982 DEFB 'S' - 00008A21 9D 2983 DEFB 157 - 00008A22 07 2984 DEFB 7 - 00008A23 21 2985 DEFB '!' - 00008A24 00 2986 DEFB 0 - 00008A25 02 2987 DEFB 2 - 00008A26 C9 2988 DEFB 201 - 00008A27 2A 2989 DEFB '*' - 00008A28 9B 2990 DEFB 155 - 00008A29 07 2991 DEFB 7 - 00008A2A ED 2992 DEFB 237 - 00008A2B 43 2993 DEFB 'C' - 00008A2C 9B 2994 DEFB 155 - 00008A2D 07 2995 DEFB 7 - 00008A2E C9 2996 DEFB 201 - 00008A2F 2A 2997 DEFB '*' - 00008A30 9F 2998 DEFB 159 - 00008A31 07 2999 DEFB 7 - 00008A32 11 3000 DEFB 17 - 00008A33 E1 3001 DEFB 225 - 00008A34 07 3002 DEFB 7 - 00008A35 B7 3003 DEFB 183 - 00008A36 ED 3004 DEFB 237 - 00008A37 52 3005 DEFB 'R' - 00008A38 30 3006 DEFB '0' - 00008A39 0B 3007 DEFB 11 - 00008A3A 2A 3008 DEFB '*' - 00008A3B 9F 3009 DEFB 159 - 00008A3C 07 3010 DEFB 7 - 00008A3D 5E 3011 DEFB '^' - 00008A3E 23 3012 DEFB '#' - 00008A3F 56 3013 DEFB 'V' - 00008A40 23 3014 DEFB '#' - 00008A41 22 3015 DEFB '"' - 00008A42 9F 3016 DEFB 159 - 00008A43 07 3017 DEFB 7 - 00008A44 C9 3018 DEFB 201 - 00008A45 2A 3019 DEFB '*' - 00008A46 A1 3020 DEFB 161 - 00008A47 07 3021 DEFB 7 - 00008A48 11 3022 DEFB 17 - 00008A49 E5 3023 DEFB 229 - 00008A4A 0B 3024 DEFB 11 - 00008A4B B7 3025 DEFB 183 - 00008A4C ED 3026 DEFB 237 - 00008A4D 52 3027 DEFB 'R' - 00008A4E 38 3028 DEFB '8' - 00008A4F 13 3029 DEFB 19 - 00008A50 2A 3030 DEFB '*' - 00008A51 9F 3031 DEFB 159 - 00008A52 07 3032 DEFB 7 - 00008A53 5E 3033 DEFB '^' - 00008A54 23 3034 DEFB '#' - 00008A55 56 3035 DEFB 'V' - 00008A56 23 3036 DEFB '#' - 00008A57 22 3037 DEFB '"' - 00008A58 9F 3038 DEFB 159 - 00008A59 07 3039 DEFB 7 - 00008A5A 21 3040 DEFB '!' - 00008A5B E5 3041 DEFB 229 - 00008A5C 09 3042 DEFB 9 - 00008A5D 22 3043 DEFB '"' - 00008A5E A1 3044 DEFB 161 - 00008A5F 07 3045 DEFB 7 - 00008A60 CD 3046 DEFB 205 - 00008A61 C5 3047 DEFB 197 - 00008A62 04 3048 DEFB 4 - 00008A63 2A 3049 DEFB '*' - 00008A64 9F 3050 DEFB 159 - 00008A65 07 3051 DEFB 7 - 00008A66 11 3052 DEFB 17 - 00008A67 E4 3053 DEFB 228 - 00008A68 07 3054 DEFB 7 - 00008A69 B7 3055 DEFB 183 - 00008A6A ED 3056 DEFB 237 - 00008A6B 52 3057 DEFB 'R' - 00008A6C 30 3058 DEFB '0' - 00008A6D 0B 3059 DEFB 11 - 00008A6E 2A 3060 DEFB '*' - 00008A6F A1 3061 DEFB 161 - 00008A70 07 3062 DEFB 7 - 00008A71 5E 3063 DEFB '^' - 00008A72 23 3064 DEFB '#' - 00008A73 56 3065 DEFB 'V' - 00008A74 23 3066 DEFB '#' - 00008A75 22 3067 DEFB '"' - 00008A76 A1 3068 DEFB 161 - 00008A77 07 3069 DEFB 7 - 00008A78 C9 3070 DEFB 201 - 00008A79 2A 3071 DEFB '*' - 00008A7A A3 3072 DEFB 163 - 00008A7B 07 3073 DEFB 7 - 00008A7C 11 3074 DEFB 17 - 00008A7D E5 3075 DEFB 229 - 00008A7E 0D 3076 DEFB 13 - 00008A7F B7 3077 DEFB 183 - 00008A80 ED 3078 DEFB 237 - 00008A81 52 3079 DEFB 'R' - 00008A82 38 3080 DEFB '8' - 00008A83 13 3081 DEFB 19 - 00008A84 2A 3082 DEFB '*' - 00008A85 A1 3083 DEFB 161 - 00008A86 07 3084 DEFB 7 - 00008A87 5E 3085 DEFB '^' - 00008A88 23 3086 DEFB '#' - 00008A89 56 3087 DEFB 'V' - 00008A8A 23 3088 DEFB '#' - 00008A8B 22 3089 DEFB '"' - 00008A8C A1 3090 DEFB 161 - 00008A8D 07 3091 DEFB 7 - 00008A8E 21 3092 DEFB '!' - 00008A8F E5 3093 DEFB 229 - 00008A90 0B 3094 DEFB 11 - 00008A91 22 3095 DEFB '"' - 00008A92 A3 3096 DEFB 163 - 00008A93 07 3097 DEFB 7 - 00008A94 CD 3098 DEFB 205 - 00008A95 C5 3099 DEFB 197 - 00008A96 04 3100 DEFB 4 - 00008A97 2A 3101 DEFB '*' - 00008A98 A3 3102 DEFB 163 - 00008A99 07 3103 DEFB 7 - 00008A9A 5E 3104 DEFB '^' - 00008A9B 23 3105 DEFB '#' - 00008A9C 56 3106 DEFB 'V' - 00008A9D 23 3107 DEFB '#' - 00008A9E 22 3108 DEFB '"' - 00008A9F A3 3109 DEFB 163 - 00008AA0 07 3110 DEFB 7 - 00008AA1 C9 3111 DEFB 201 - 00008AA2 E5 3112 DEFB 229 - 00008AA3 7B 3113 DEFB '{' - 00008AA4 E6 3114 DEFB 230 - 00008AA5 07 3115 DEFB 7 - 00008AA6 06 3116 DEFB 6 - 00008AA7 03 3117 DEFB 3 - 00008AA8 CB 3118 DEFB 203 - 00008AA9 3A 3119 DEFB ':' - 00008AAA CB 3120 DEFB 203 - 00008AAB 1B 3121 DEFB 27 - 00008AAC 10 3122 DEFB 16 - 00008AAD FA 3123 DEFB 250 - 00008AAE 2A 3124 DEFB '*' - 00008AAF 95 3125 DEFB 149 - 00008AB0 07 3126 DEFB 7 - 00008AB1 37 3127 DEFB '7' - 00008AB2 ED 3128 DEFB 237 - 00008AB3 52 3129 DEFB 'R' - 00008AB4 38 3130 DEFB '8' - 00008AB5 1A 3131 DEFB 26 - 00008AB6 2A 3132 DEFB '*' - 00008AB7 93 3133 DEFB 147 - 00008AB8 07 3134 DEFB 7 - 00008AB9 19 3135 DEFB 25 - 00008ABA EB 3136 DEFB 235 - 00008ABB 21 3137 DEFB '!' - 00008ABC E5 3138 DEFB 229 - 00008ABD 07 3139 DEFB 7 - 00008ABE F5 3140 DEFB 245 - 00008ABF E5 3141 DEFB 229 - 00008AC0 CD 3142 DEFB 205 - 00008AC1 C5 3143 DEFB 197 - 00008AC2 04 3144 DEFB 4 - 00008AC3 E1 3145 DEFB 225 - 00008AC4 D1 3146 DEFB 209 - 00008AC5 01 3147 DEFB 1 - 00008AC6 40 3148 DEFB '@' - 00008AC7 00 3149 DEFB 0 - 00008AC8 59 3150 DEFB 'Y' - 00008AC9 ED 3151 DEFB 237 - 00008ACA 5C 3152 DEFB 92 - 00008ACB 19 3153 DEFB 25 - 00008ACC D1 3154 DEFB 209 - 00008ACD ED 3155 DEFB 237 - 00008ACE B0 3156 DEFB 176 - 00008ACF C9 3157 DEFB 201 - 00008AD0 CD 3158 DEFB 205 - 00008AD1 56 3159 DEFB 'V' - 00008AD2 01 3160 DEFB 1 - 00008AD3 62 3161 DEFB 'b' - 00008AD4 61 3162 DEFB 'a' - 00008AD5 64 3163 DEFB 'd' - 00008AD6 20 3164 DEFB ' ' - 00008AD7 69 3165 DEFB 'i' - 00008AD8 6E 3166 DEFB 'n' - 00008AD9 6F 3167 DEFB 'o' - 00008ADA 64 3168 DEFB 'd' - 00008ADB 65 3169 DEFB 'e' - 00008ADC 3A 3170 DEFB ':' - 00008ADD 20 3171 DEFB ' ' - 00008ADE 00 3172 DEFB 0 - 00008ADF C6 3173 DEFB 198 - 00008AE0 30 3174 DEFB '0' - 00008AE1 CD 3175 DEFB 205 - 00008AE2 09 3176 DEFB 9 - 00008AE3 06 3177 DEFB 6 - 00008AE4 CD 3178 DEFB 205 - 00008AE5 37 3179 DEFB '7' - 00008AE6 06 3180 DEFB 6 - 00008AE7 2C 3181 DEFB ',' - 00008AE8 20 3182 DEFB ' ' - 00008AE9 00 3183 DEFB 0 - 00008AEA EB 3184 DEFB 235 - 00008AEB C3 3185 DEFB 195 - 00008AEC 0D 3186 DEFB 13 - 00008AED 01 3187 DEFB 1 - 00008AEE E5 3188 DEFB 229 - 00008AEF CD 3189 DEFB 205 - 00008AF0 DF 3190 DEFB 223 - 00008AF1 04 3191 DEFB 4 - 00008AF2 E5 3192 DEFB 229 - 00008AF3 FD 3193 DEFB 253 - 00008AF4 E1 3194 DEFB 225 - 00008AF5 57 3195 DEFB 'W' - 00008AF6 E1 3196 DEFB 225 - 00008AF7 1E 3197 DEFB 30 - 00008AF8 03 3198 DEFB 3 - 00008AF9 C3 3199 DEFB 195 - 00008AFA 46 3200 DEFB 'F' - 00008AFB 06 3201 DEFB 6 - 00008AFC E5 3202 DEFB 229 - 00008AFD CD 3203 DEFB 205 - 00008AFE DF 3204 DEFB 223 - 00008AFF 04 3205 DEFB 4 - 00008B00 FD 3206 DEFB 253 - 00008B01 E1 3207 DEFB 225 - 00008B02 16 3208 DEFB 22 - 00008B03 03 3209 DEFB 3 - 00008B04 5F 3210 DEFB '_' - 00008B05 C3 3211 DEFB 195 - 00008B06 46 3212 DEFB 'F' - 00008B07 06 3213 DEFB 6 - 00008B08 21 3214 DEFB '!' - 00008B09 00 3215 DEFB 0 - 00008B0A 06 3216 DEFB 6 - 00008B0B 37 3217 DEFB '7' - 00008B0C ED 3218 DEFB 237 - 00008B0D 52 3219 DEFB 'R' - 00008B0E 38 3220 DEFB '8' - 00008B0F 1D 3221 DEFB 29 - 00008B10 01 3222 DEFB 1 - 00008B11 00 3223 DEFB 0 - 00008B12 02 3224 DEFB 2 - 00008B13 21 3225 DEFB '!' - 00008B14 00 3226 DEFB 0 - 00008B15 02 3227 DEFB 2 - 00008B16 19 3228 DEFB 25 - 00008B17 7C 3229 DEFB '|' - 00008B18 65 3230 DEFB 'e' - 00008B19 69 3231 DEFB 'i' - 00008B1A 29 3232 DEFB ')' - 00008B1B 8F 3233 DEFB 143 - 00008B1C C9 3234 DEFB 201 - 00008B1D 7E 3235 DEFB '~' - 00008B1E 23 3236 DEFB '#' - 00008B1F 56 3237 DEFB 'V' - 00008B20 23 3238 DEFB '#' - 00008B21 CB 3239 DEFB 203 - 00008B22 3A 3240 DEFB ':' - 00008B23 1F 3241 DEFB 31 - 00008B24 CB 3242 DEFB 203 - 00008B25 3A 3243 DEFB ':' - 00008B26 1F 3244 DEFB 31 - 00008B27 CB 3245 DEFB 203 - 00008B28 3A 3246 DEFB ':' - 00008B29 1F 3247 DEFB 31 - 00008B2A C6 3248 DEFB 198 - 00008B2B 31 3249 DEFB '1' - 00008B2C C9 3250 DEFB 201 - 00008B2D CD 3251 DEFB 205 - 00008B2E 56 3252 DEFB 'V' - 00008B2F 01 3253 DEFB 1 - 00008B30 62 3254 DEFB 'b' - 00008B31 61 3255 DEFB 'a' - 00008B32 64 3256 DEFB 'd' - 00008B33 20 3257 DEFB ' ' - 00008B34 62 3258 DEFB 'b' - 00008B35 6C 3259 DEFB 'l' - 00008B36 6F 3260 DEFB 'o' - 00008B37 63 3261 DEFB 'c' - 00008B38 6B 3262 DEFB 'k' - 00008B39 3A 3263 DEFB ':' - 00008B3A 20 3264 DEFB ' ' - 00008B3B 00 3265 DEFB 0 - 00008B3C EB 3266 DEFB 235 - 00008B3D C3 3267 DEFB 195 - 00008B3E 0D 3268 DEFB 13 - 00008B3F 01 3269 DEFB 1 - 00008B40 01 3270 DEFB 1 - 00008B41 80 3271 DEFB 128 - 00008B42 10 3272 DEFB 16 - 00008B43 21 3273 DEFB '!' - 00008B44 15 3274 DEFB 21 - 00008B45 0E 3275 DEFB 14 - 00008B46 18 3276 DEFB 24 - 00008B47 0C 3277 DEFB 12 - 00008B48 19 3278 DEFB 25 - 00008B49 CD 3279 DEFB 205 - 00008B4A F4 3280 DEFB 244 - 00008B4B 04 3281 DEFB 4 - 00008B4C 1E 3282 DEFB 30 - 00008B4D 04 3283 DEFB 4 - 00008B4E 02 3284 DEFB 2 - 00008B4F 03 3285 DEFB 3 - 00008B50 3C 3286 DEFB '<' - 00008B51 1D 3287 DEFB 29 - 00008B52 20 3288 DEFB ' ' - 00008B53 FA 3289 DEFB 250 - 00008B54 ED 3290 DEFB 237 - 00008B55 5B 3291 DEFB '[' - 00008B56 13 3292 DEFB 19 - 00008B57 0E 3293 DEFB 14 - 00008B58 B7 3294 DEFB 183 - 00008B59 ED 3295 DEFB 237 - 00008B5A 52 3296 DEFB 'R' - 00008B5B 38 3297 DEFB '8' - 00008B5C EB 3298 DEFB 235 - 00008B5D C9 3299 DEFB 201 - 00008B5E ED 3300 DEFB 237 - 00008B5F 5B 3301 DEFB '[' - 00008B60 11 3302 DEFB 17 - 00008B61 0E 3303 DEFB 14 - 00008B62 2A 3304 DEFB '*' - 00008B63 40 3305 DEFB '@' - 00008B64 07 3306 DEFB 7 - 00008B65 19 3307 DEFB 25 - 00008B66 22 3308 DEFB '"' - 00008B67 40 3309 DEFB '@' - 00008B68 07 3310 DEFB 7 - 00008B69 21 3311 DEFB '!' - 00008B6A 44 3312 DEFB 'D' - 00008B6B 07 3313 DEFB 7 - 00008B6C CD 3314 DEFB 205 - 00008B6D 65 3315 DEFB 'e' - 00008B6E 05 3316 DEFB 5 - 00008B6F 2A 3317 DEFB '*' - 00008B70 42 3318 DEFB 'B' - 00008B71 07 3319 DEFB 7 - 00008B72 19 3320 DEFB 25 - 00008B73 22 3321 DEFB '"' - 00008B74 42 3322 DEFB 'B' - 00008B75 07 3323 DEFB 7 - 00008B76 21 3324 DEFB '!' - 00008B77 64 3325 DEFB 'd' - 00008B78 07 3326 DEFB 7 - 00008B79 CD 3327 DEFB 205 - 00008B7A 65 3328 DEFB 'e' - 00008B7B 05 3329 DEFB 5 - 00008B7C 21 3330 DEFB '!' - 00008B7D 3E 3331 DEFB '>' - 00008B7E 07 3332 DEFB 7 - 00008B7F 01 3333 DEFB 1 - 00008B80 33 3334 DEFB '3' - 00008B81 00 3335 DEFB 0 - 00008B82 ED 3336 DEFB 237 - 00008B83 B0 3337 DEFB 176 - 00008B84 C9 3338 DEFB 201 - 00008B85 79 3339 DEFB 'y' - 00008B86 83 3340 DEFB 131 - 00008B87 2B 3341 DEFB '+' - 00008B88 77 3342 DEFB 'w' - 00008B89 78 3343 DEFB 'x' - 00008B8A 8A 3344 DEFB 138 - 00008B8B 23 3345 DEFB '#' - 00008B8C 77 3346 DEFB 'w' - 00008B8D 23 3347 DEFB '#' - 00008B8E 4E 3348 DEFB 'N' - 00008B8F 23 3349 DEFB '#' - 00008B90 46 3350 DEFB 'F' - 00008B91 79 3351 DEFB 'y' - 00008B92 B0 3352 DEFB 176 - 00008B93 20 3353 DEFB ' ' - 00008B94 F0 3354 DEFB 240 - 00008B95 C9 3355 DEFB 201 - 00008B96 21 3356 DEFB '!' - 00008B97 81 3357 DEFB 129 - 00008B98 07 3358 DEFB 7 - 00008B99 CD 3359 DEFB 205 - 00008B9A 37 3360 DEFB '7' - 00008B9B F0 3361 DEFB 240 - 00008B9C C8 3362 DEFB 200 - 00008B9D CD 3363 DEFB 205 - 00008B9E 56 3364 DEFB 'V' - 00008B9F 01 3365 DEFB 1 - 00008BA0 6C 3366 DEFB 'l' - 00008BA1 6F 3367 DEFB 'o' - 00008BA2 61 3368 DEFB 'a' - 00008BA3 64 3369 DEFB 'd' - 00008BA4 69 3370 DEFB 'i' - 00008BA5 6E 3371 DEFB 'n' - 00008BA6 67 3372 DEFB 'g' - 00008BA7 20 3373 DEFB ' ' - 00008BA8 41 3374 DEFB 'A' - 00008BA9 3A 3375 DEFB ':' - 00008BAA 4B 3376 DEFB 'K' - 00008BAB 45 3377 DEFB 'E' - 00008BAC 52 3378 DEFB 'R' - 00008BAD 4E 3379 DEFB 'N' - 00008BAE 45 3380 DEFB 'E' - 00008BAF 4C 3381 DEFB 'L' - 00008BB0 2E 3382 DEFB '.' - 00008BB1 42 3383 DEFB 'B' - 00008BB2 49 3384 DEFB 'I' - 00008BB3 4E 3385 DEFB 'N' - 00008BB4 0D 3386 DEFB 13 - 00008BB5 0A 3387 DEFB 10 - 00008BB6 00 3388 DEFB 0 - 00008BB7 3E 3389 DEFB '>' - 00008BB8 31 3390 DEFB '1' - 00008BB9 32 3391 DEFB '2' - 00008BBA 62 3392 DEFB 'b' - 00008BBB 07 3393 DEFB 7 - 00008BBC ED 3394 DEFB 237 - 00008BBD 5B 3395 DEFB '[' - 00008BBE 91 3396 DEFB 145 - 00008BBF 07 3397 DEFB 7 - 00008BC0 B7 3398 DEFB 183 - 00008BC1 ED 3399 DEFB 237 - 00008BC2 52 3400 DEFB 'R' - 00008BC3 20 3401 DEFB ' ' - 00008BC4 23 3402 DEFB '#' - 00008BC5 19 3403 DEFB 25 - 00008BC6 22 3404 DEFB '"' - 00008BC7 8F 3405 DEFB 143 - 00008BC8 07 3406 DEFB 7 - 00008BC9 7D 3407 DEFB '}' - 00008BCA B4 3408 DEFB 180 - 00008BCB 20 3409 DEFB ' ' - 00008BCC 04 3410 DEFB 4 - 00008BCD 21 3411 DEFB '!' - 00008BCE 8E 3412 DEFB 142 - 00008BCF 07 3413 DEFB 7 - 00008BD0 34 3414 DEFB '4' - 00008BD1 21 3415 DEFB '!' - 00008BD2 00 3416 DEFB 0 - 00008BD3 40 3417 DEFB '@' - 00008BD4 19 3418 DEFB 25 - 00008BD5 22 3419 DEFB '"' - 00008BD6 91 3420 DEFB 145 - 00008BD7 07 3421 DEFB 7 - 00008BD8 21 3422 DEFB '!' - 00008BD9 8D 3423 DEFB 141 - 00008BDA 07 3424 DEFB 7 - 00008BDB 34 3425 DEFB '4' - 00008BDC 21 3426 DEFB '!' - 00008BDD 81 3427 DEFB 129 - 00008BDE 07 3428 DEFB 7 - 00008BDF CD 3429 DEFB 205 - 00008BE0 37 3430 DEFB '7' - 00008BE1 F0 3431 DEFB 240 - 00008BE2 20 3432 DEFB ' ' - 00008BE3 D8 3433 DEFB 216 - 00008BE4 21 3434 DEFB '!' - 00008BE5 8D 3435 DEFB 141 - 00008BE6 07 3436 DEFB 7 - 00008BE7 35 3437 DEFB '5' - 00008BE8 CD 3438 DEFB 205 - 00008BE9 B0 3439 DEFB 176 - 00008BEA 01 3440 DEFB 1 - 00008BEB FD 3441 DEFB 253 - 00008BEC 21 3442 DEFB '!' - 00008BED 00 3443 DEFB 0 - 00008BEE 00 3444 DEFB 0 - 00008BEF 21 3445 DEFB '!' - 00008BF0 FF 3446 DEFB 255 - 00008BF1 0D 3447 DEFB 13 - 00008BF2 11 3448 DEFB 17 - 00008BF3 03 3449 DEFB 3 - 00008BF4 0C 3450 DEFB 12 - 00008BF5 01 3451 DEFB 1 - 00008BF6 14 3452 DEFB 20 - 00008BF7 00 3453 DEFB 0 - 00008BF8 CD 3454 DEFB 205 - 00008BF9 46 3455 DEFB 'F' - 00008BFA 06 3456 DEFB 6 - 00008BFB CD 3457 DEFB 205 - 00008BFC C2 3458 DEFB 194 - 00008BFD 00 3459 DEFB 0 - 00008BFE CD 3460 DEFB 205 - 00008BFF DF 3461 DEFB 223 - 00008C00 00 3462 DEFB 0 - 00008C01 CD 3463 DEFB 205 - 00008C02 FA 3464 DEFB 250 - 00008C03 01 3465 DEFB 1 - 00008C04 D5 3466 DEFB 213 - 00008C05 FD 3467 DEFB 253 - 00008C06 E1 3468 DEFB 225 - 00008C07 11 3469 DEFB 17 - 00008C08 00 3470 DEFB 0 - 00008C09 0C 3471 DEFB 12 - 00008C0A 6B 3472 DEFB 'k' - 00008C0B 63 3473 DEFB 'c' - 00008C0C CD 3474 DEFB 205 - 00008C0D 46 3475 DEFB 'F' - 00008C0E 06 3476 DEFB 6 - 00008C0F D5 3477 DEFB 213 - 00008C10 CD 3478 DEFB 205 - 00008C11 02 3479 DEFB 2 - 00008C12 02 3480 DEFB 2 - 00008C13 EB 3481 DEFB 235 - 00008C14 D1 3482 DEFB 209 - 00008C15 CD 3483 DEFB 205 - 00008C16 46 3484 DEFB 'F' - 00008C17 06 3485 DEFB 6 - 00008C18 CD 3486 DEFB 205 - 00008C19 E4 3487 DEFB 228 - 00008C1A 01 3488 DEFB 1 - 00008C1B CD 3489 DEFB 205 - 00008C1C 90 3490 DEFB 144 - 00008C1D 01 3491 DEFB 1 - 00008C1E 3A 3492 DEFB ':' - 00008C1F 8D 3493 DEFB 141 - 00008C20 07 3494 DEFB 7 - 00008C21 3C 3495 DEFB '<' - 00008C22 07 3496 DEFB 7 - 00008C23 07 3497 DEFB 7 - 00008C24 47 3498 DEFB 'G' - 00008C25 21 3499 DEFB '!' - 00008C26 80 3500 DEFB 128 - 00008C27 10 3501 DEFB 16 - 00008C28 3E 3502 DEFB '>' - 00008C29 B1 3503 DEFB 177 - 00008C2A 77 3504 DEFB 'w' - 00008C2B 23 3505 DEFB '#' - 00008C2C 3C 3506 DEFB '<' - 00008C2D 10 3507 DEFB 16 - 00008C2E FB 3508 DEFB 251 - 00008C2F C3 3509 DEFB 195 - 00008C30 6D 3510 DEFB 'm' - 00008C31 00 3511 DEFB 0 - 00008C32 F5 3512 DEFB 245 - 00008C33 ED 3513 DEFB 237 - 00008C34 38 3514 DEFB '8' - 00008C35 05 3515 DEFB 5 - 00008C36 E6 3516 DEFB 230 - 00008C37 02 3517 DEFB 2 - 00008C38 28 3518 DEFB '(' - 00008C39 F9 3519 DEFB 249 - 00008C3A F1 3520 DEFB 241 - 00008C3B ED 3521 DEFB 237 - 00008C3C 39 3522 DEFB '9' - 00008C3D 07 3523 DEFB 7 - 00008C3E C9 3524 DEFB 201 - 00008C3F 3E 3525 DEFB '>' - 00008C40 0D 3526 DEFB 13 - 00008C41 CD 3527 DEFB 205 - 00008C42 09 3528 DEFB 9 - 00008C43 06 3529 DEFB 6 - 00008C44 3E 3530 DEFB '>' - 00008C45 0A 3531 DEFB 10 - 00008C46 18 3532 DEFB 24 - 00008C47 EA 3533 DEFB 234 - 00008C48 7C 3534 DEFB '|' - 00008C49 CD 3535 DEFB 205 - 00008C4A 24 3536 DEFB '$' - 00008C4B 06 3537 DEFB 6 - 00008C4C 7D 3538 DEFB '}' - 00008C4D F5 3539 DEFB 245 - 00008C4E 0F 3540 DEFB 15 - 00008C4F 0F 3541 DEFB 15 - 00008C50 0F 3542 DEFB 15 - 00008C51 0F 3543 DEFB 15 - 00008C52 CD 3544 DEFB 205 - 00008C53 2D 3545 DEFB '-' - 00008C54 06 3546 DEFB 6 - 00008C55 F1 3547 DEFB 241 - 00008C56 E6 3548 DEFB 230 - 00008C57 0F 3549 DEFB 15 - 00008C58 C6 3550 DEFB 198 - 00008C59 90 3551 DEFB 144 - 00008C5A 27 3552 DEFB '''' - 00008C5B CE 3553 DEFB 206 - 00008C5C 40 3554 DEFB '@' - 00008C5D 27 3555 DEFB '''' - 00008C5E 18 3556 DEFB 24 - 00008C5F D2 3557 DEFB 210 - 00008C60 E3 3558 DEFB 227 - 00008C61 F5 3559 DEFB 245 - 00008C62 7E 3560 DEFB '~' - 00008C63 23 3561 DEFB '#' - 00008C64 B7 3562 DEFB 183 - 00008C65 28 3563 DEFB '(' - 00008C66 05 3564 DEFB 5 - 00008C67 CD 3565 DEFB 205 - 00008C68 09 3566 DEFB 9 - 00008C69 06 3567 DEFB 6 - 00008C6A 18 3568 DEFB 24 - 00008C6B F6 3569 DEFB 246 - 00008C6C F1 3570 DEFB 241 - 00008C6D E3 3571 DEFB 227 - 00008C6E C9 3572 DEFB 201 - 00008C6F 7B 3573 DEFB '{' - 00008C70 FE 3574 DEFB 254 - 00008C71 04 3575 DEFB 4 - 00008C72 D2 3576 DEFB 210 - 00008C73 C4 3577 DEFB 196 - 00008C74 06 3578 DEFB 6 - 00008C75 79 3579 DEFB 'y' - 00008C76 E6 3580 DEFB 230 - 00008C77 1F 3581 DEFB 31 - 00008C78 C5 3582 DEFB 197 - 00008C79 4F 3583 DEFB 'O' - 00008C7A 06 3584 DEFB 6 - 00008C7B 00 3585 DEFB 0 - 00008C7C CD 3586 DEFB 205 - 00008C7D 96 3587 DEFB 150 - 00008C7E 06 3588 DEFB 6 - 00008C7F 0C 3589 DEFB 12 - 00008C80 0D 3590 DEFB 13 - 00008C81 28 3591 DEFB '(' - 00008C82 11 3592 DEFB 17 - 00008C83 ED 3593 DEFB 237 - 00008C84 38 3594 DEFB '8' - 00008C85 30 3595 DEFB '0' - 00008C86 EE 3596 DEFB 238 - 00008C87 50 3597 DEFB 'P' - 00008C88 ED 3598 DEFB 237 - 00008C89 39 3599 DEFB '9' - 00008C8A 30 3600 DEFB '0' - 00008C8B FD 3601 DEFB 253 - 00008C8C 09 3602 DEFB 9 - 00008C8D DC 3603 DEFB 220 - 00008C8E C0 3604 DEFB 192 - 00008C8F 06 3605 DEFB 6 - 00008C90 09 3606 DEFB 9 - 00008C91 DC 3607 DEFB 220 - 00008C92 C2 3608 DEFB 194 - 00008C93 06 3609 DEFB 6 - 00008C94 C1 3610 DEFB 193 - 00008C95 3E 3611 DEFB '>' - 00008C96 05 3612 DEFB 5 - 00008C97 CB 3613 DEFB 203 - 00008C98 38 3614 DEFB '8' - 00008C99 CB 3615 DEFB 203 - 00008C9A 19 3616 DEFB 25 - 00008C9B 3D 3617 DEFB '=' - 00008C9C 20 3618 DEFB ' ' - 00008C9D F9 3619 DEFB 249 - 00008C9E 18 3620 DEFB 24 - 00008C9F 1A 3621 DEFB 26 - 00008CA0 C5 3622 DEFB 197 - 00008CA1 01 3623 DEFB 1 - 00008CA2 20 3624 DEFB ' ' - 00008CA3 00 3625 DEFB 0 - 00008CA4 ED 3626 DEFB 237 - 00008CA5 09 3627 DEFB 9 - 00008CA6 26 3628 DEFB '&' - 00008CA7 ED 3629 DEFB 237 - 00008CA8 38 3630 DEFB '8' - 00008CA9 30 3631 DEFB '0' - 00008CAA EE 3632 DEFB 238 - 00008CAB 50 3633 DEFB 'P' - 00008CAC ED 3634 DEFB 237 - 00008CAD 39 3635 DEFB '9' - 00008CAE 30 3636 DEFB '0' - 00008CAF FD 3637 DEFB 253 - 00008CB0 09 3638 DEFB 9 - 00008CB1 DC 3639 DEFB 220 - 00008CB2 C0 3640 DEFB 192 - 00008CB3 06 3641 DEFB 6 - 00008CB4 09 3642 DEFB 9 - 00008CB5 DC 3643 DEFB 220 - 00008CB6 C2 3644 DEFB 194 - 00008CB7 06 3645 DEFB 6 - 00008CB8 C1 3646 DEFB 193 - 00008CB9 0B 3647 DEFB 11 - 00008CBA 78 3648 DEFB 'x' - 00008CBB B1 3649 DEFB 177 - 00008CBC 20 3650 DEFB ' ' - 00008CBD E2 3651 DEFB 226 - 00008CBE C9 3652 DEFB 201 - 00008CBF ED 3653 DEFB 237 - 00008CC0 09 3654 DEFB 9 - 00008CC1 26 3655 DEFB '&' - 00008CC2 ED 3656 DEFB 237 - 00008CC3 01 3657 DEFB 1 - 00008CC4 27 3658 DEFB '''' - 00008CC5 18 3659 DEFB 24 - 00008CC6 05 3660 DEFB 5 - 00008CC7 3E 3661 DEFB '>' - 00008CC8 01 3662 DEFB 1 - 00008CC9 ED 3663 DEFB 237 - 00008CCA 39 3664 DEFB '9' - 00008CCB 26 3665 DEFB '&' - 00008CCC E5 3666 DEFB 229 - 00008CCD FD 3667 DEFB 253 - 00008CCE E5 3668 DEFB 229 - 00008CCF ED 3669 DEFB 237 - 00008CD0 29 3670 DEFB ')' - 00008CD1 23 3671 DEFB '#' - 00008CD2 ED 3672 DEFB 237 - 00008CD3 21 3673 DEFB '!' - 00008CD4 24 3674 DEFB '$' - 00008CD5 ED 3675 DEFB 237 - 00008CD6 19 3676 DEFB 25 - 00008CD7 25 3677 DEFB '%' - 00008CD8 E1 3678 DEFB 225 - 00008CD9 ED 3679 DEFB 237 - 00008CDA 29 3680 DEFB ')' - 00008CDB 20 3681 DEFB ' ' - 00008CDC ED 3682 DEFB 237 - 00008CDD 21 3683 DEFB '!' - 00008CDE 21 3684 DEFB '!' - 00008CDF ED 3685 DEFB 237 - 00008CE0 11 3686 DEFB 17 - 00008CE1 22 3687 DEFB '"' - 00008CE2 E1 3688 DEFB 225 - 00008CE3 3E 3689 DEFB '>' - 00008CE4 02 3690 DEFB 2 - 00008CE5 ED 3691 DEFB 237 - 00008CE6 39 3692 DEFB '9' - 00008CE7 31 3693 DEFB '1' - 00008CE8 C9 3694 DEFB 201 - 00008CE9 14 3695 DEFB 20 - 00008CEA C9 3696 DEFB 201 - 00008CEB 1C 3697 DEFB 28 - 00008CEC C9 3698 DEFB 201 - 00008CED C5 3699 DEFB 197 - 00008CEE AF 3700 DEFB 175 - 00008CEF ED 3701 DEFB 237 - 00008CF0 39 3702 DEFB '9' - 00008CF1 26 3703 DEFB '&' - 00008CF2 ED 3704 DEFB 237 - 00008CF3 39 3705 DEFB '9' - 00008CF4 27 3706 DEFB '''' - 00008CF5 3E 3707 DEFB '>' - 00008CF6 04 3708 DEFB 4 - 00008CF7 CB 3709 DEFB 203 - 00008CF8 38 3710 DEFB '8' - 00008CF9 CB 3711 DEFB 203 - 00008CFA 19 3712 DEFB 25 - 00008CFB 3D 3713 DEFB '=' - 00008CFC 20 3714 DEFB ' ' - 00008CFD F9 3715 DEFB 249 - 00008CFE 78 3716 DEFB 'x' - 00008CFF B1 3717 DEFB 177 - 00008D00 28 3718 DEFB '(' - 00008D01 0D 3719 DEFB 13 - 00008D02 C5 3720 DEFB 197 - 00008D03 01 3721 DEFB 1 - 00008D04 10 3722 DEFB 16 - 00008D05 00 3723 DEFB 0 - 00008D06 CD 3724 DEFB 205 - 00008D07 EE 3725 DEFB 238 - 00008D08 06 3726 DEFB 6 - 00008D09 C1 3727 DEFB 193 - 00008D0A 0B 3728 DEFB 11 - 00008D0B 78 3729 DEFB 'x' - 00008D0C B1 3730 DEFB 177 - 00008D0D 20 3731 DEFB ' ' - 00008D0E F3 3732 DEFB 243 - 00008D0F C1 3733 DEFB 193 - 00008D10 47 3734 DEFB 'G' - 00008D11 79 3735 DEFB 'y' - 00008D12 E6 3736 DEFB 230 - 00008D13 0F 3737 DEFB 15 - 00008D14 28 3738 DEFB '(' - 00008D15 20 3739 DEFB ' ' - 00008D16 4F 3740 DEFB 'O' - 00008D17 ED 3741 DEFB 237 - 00008D18 30 3742 DEFB '0' - 00008D19 26 3743 DEFB '&' - 00008D1A CC 3744 DEFB 204 - 00008D1B 9E 3745 DEFB 158 - 00008D1C 06 3746 DEFB 6 - 00008D1D FD 3747 DEFB 253 - 00008D1E 09 3748 DEFB 9 - 00008D1F DC 3749 DEFB 220 - 00008D20 C0 3750 DEFB 192 - 00008D21 06 3751 DEFB 6 - 00008D22 09 3752 DEFB 9 - 00008D23 DC 3753 DEFB 220 - 00008D24 C2 3754 DEFB 194 - 00008D25 06 3755 DEFB 6 - 00008D26 41 3756 DEFB 'A' - 00008D27 0E 3757 DEFB 14 - 00008D28 01 3758 DEFB 1 - 00008D29 ED 3759 DEFB 237 - 00008D2A 38 3760 DEFB '8' - 00008D2B 30 3761 DEFB '0' - 00008D2C EE 3762 DEFB 238 - 00008D2D 50 3763 DEFB 'P' - 00008D2E ED 3764 DEFB 237 - 00008D2F 39 3765 DEFB '9' - 00008D30 30 3766 DEFB '0' - 00008D31 ED 3767 DEFB 237 - 00008D32 09 3768 DEFB 9 - 00008D33 26 3769 DEFB '&' - 00008D34 10 3770 DEFB 16 - 00008D35 F8 3771 DEFB 248 - 00008D36 C9 3772 DEFB 201 - 00008D37 3E 3773 DEFB '>' - 00008D38 74 3774 DEFB 't' - 00008D39 ED 3775 DEFB 237 - 00008D3A 39 3776 DEFB '9' - 00008D3B 00 3777 DEFB 0 - 00008D3C ED 3778 DEFB 237 - 00008D3D 39 3779 DEFB '9' - 00008D3E 01 3780 DEFB 1 - 00008D3F 3E 3781 DEFB '>' - 00008D40 22 3782 DEFB '"' - 00008D41 ED 3783 DEFB 237 - 00008D42 39 3784 DEFB '9' - 00008D43 02 3785 DEFB 2 - 00008D44 ED 3786 DEFB 237 - 00008D45 39 3787 DEFB '9' - 00008D46 03 3788 DEFB 3 - 00008D47 97 3789 DEFB 151 - 00008D48 ED 3790 DEFB 237 - 00008D49 39 3791 DEFB '9' - 00008D4A 04 3792 DEFB 4 - 00008D4B ED 3793 DEFB 237 - 00008D4C 39 3794 DEFB '9' - 00008D4D 05 3795 DEFB 5 - 00008D4E ED 3796 DEFB 237 - 00008D4F 30 3797 DEFB '0' - 00008D50 08 3798 DEFB 8 - 00008D51 ED 3799 DEFB 237 - 00008D52 30 3800 DEFB '0' - 00008D53 09 3801 DEFB 9 - 00008D54 ED 3802 DEFB 237 - 00008D55 39 3803 DEFB '9' - 00008D56 27 3804 DEFB '''' - 00008D57 ED 3805 DEFB 237 - 00008D58 39 3806 DEFB '9' - 00008D59 2F 3807 DEFB '/' - 00008D5A ED 3808 DEFB 237 - 00008D5B 39 3809 DEFB '9' - 00008D5C 29 3810 DEFB ')' - 00008D5D ED 3811 DEFB 237 - 00008D5E 39 3812 DEFB '9' - 00008D5F 2A 3813 DEFB '*' - 00008D60 ED 3814 DEFB 237 - 00008D61 39 3815 DEFB '9' - 00008D62 2B 3816 DEFB '+' - 00008D63 ED 3817 DEFB 237 - 00008D64 39 3818 DEFB '9' - 00008D65 2C 3819 DEFB ',' - 00008D66 C9 3820 DEFB 201 - 00008D67 02 3821 DEFB 2 - 00008D68 00 3822 DEFB 0 - 00008D69 06 3823 DEFB 6 - 00008D6A 00 3824 DEFB 0 - 00008D6B 26 3825 DEFB '&' - 00008D6C 00 3826 DEFB 0 - 00008D6D 0C 3827 DEFB 12 - 00008D6E 00 3828 DEFB 0 - 00008D6F 1D 3829 DEFB 29 - 00008D70 00 3830 DEFB 0 - 00008D71 00 3831 DEFB 0 - 00008D72 00 3832 DEFB 0 - 00008D73 2F 3833 DEFB '/' - 00008D74 62 3834 DEFB 'b' - 00008D75 6F 3835 DEFB 'o' - 00008D76 6F 3836 DEFB 'o' - 00008D77 74 3837 DEFB 't' - 00008D78 2F 3838 DEFB '/' - 00008D79 6B 3839 DEFB 'k' - 00008D7A 65 3840 DEFB 'e' - 00008D7B 72 3841 DEFB 'r' - 00008D7C 6E 3842 DEFB 'n' - 00008D7D 65 3843 DEFB 'e' - 00008D7E 6C 3844 DEFB 'l' - 00008D7F 2E 3845 DEFB '.' - 00008D80 62 3846 DEFB 'b' - 00008D81 69 3847 DEFB 'i' - 00008D82 6E 3848 DEFB 'n' - 00008D83 00 3849 DEFB 0 - 00008D84 72 3850 DEFB 'r' - 00008D85 6F 3851 DEFB 'o' - 00008D86 6F 3852 DEFB 'o' - 00008D87 74 3853 DEFB 't' - 00008D88 3D 3854 DEFB '=' - 00008D89 68 3855 DEFB 'h' - 00008D8A 64 3856 DEFB 'd' - 00008D8B 30 3857 DEFB '0' - 00008D8C 00 3858 DEFB 0 - 00008D8D 2A 3859 DEFB '*' - 00008D8E 00 3860 DEFB 0 - 00008D8F 00 3861 DEFB 0 - 00008D90 00 3862 DEFB 0 - 00008D91 53 3863 DEFB 'S' - 00008D92 4E 3864 DEFB 'N' - 00008D93 3D 3865 DEFB '=' - 00008D94 30 3866 DEFB '0' - 00008D95 30 3867 DEFB '0' - 00008D96 30 3868 DEFB '0' - 00008D97 30 3869 DEFB '0' - 00008D98 30 3870 DEFB '0' - 00008D99 00 3871 DEFB 0 - 00008D9A 62 3872 DEFB 'b' - 00008D9B 6F 3873 DEFB 'o' - 00008D9C 6F 3874 DEFB 'o' - 00008D9D 74 3875 DEFB 't' - 00008D9E 00 3876 DEFB 0 - 00008D9F 6B 3877 DEFB 'k' - 00008DA0 65 3878 DEFB 'e' - 00008DA1 72 3879 DEFB 'r' - 00008DA2 6E 3880 DEFB 'n' - 00008DA3 65 3881 DEFB 'e' - 00008DA4 6C 3882 DEFB 'l' - 00008DA5 2E 3883 DEFB '.' - 00008DA6 62 3884 DEFB 'b' - 00008DA7 69 3885 DEFB 'i' - 00008DA8 6E 3886 DEFB 'n' - 00008DA9 00 3887 DEFB 0 - 00008DAA 01 3888 DEFB 1 - 00008DAB 4B 3889 DEFB 'K' - 00008DAC 45 3890 DEFB 'E' - 00008DAD 52 3891 DEFB 'R' - 00008DAE 4E 3892 DEFB 'N' - 00008DAF 45 3893 DEFB 'E' - 00008DB0 4C 3894 DEFB 'L' - 00008DB1 20 3895 DEFB ' ' - 00008DB2 20 3896 DEFB ' ' - 00008DB3 42 3897 DEFB 'B' - 00008DB4 49 3898 DEFB 'I' - 00008DB5 4E 3899 DEFB 'N' - 00008DB6 00 3900 DEFB 0 - 00008DB7 0C 3901 DEFB 12 - 00008DB8 00 3902 DEFB 0 - 00008DB9 00 3903 DEFB 0 - 00008DBA 00 3904 DEFB 0 - 00008DBB 40 3905 DEFB '@' - 00008DBC 1A 3906 DEFB 26 - 00008DBD 1A 3907 DEFB 26 - 00008DBE 1A 3908 DEFB 26 - 00008DBF 1A 3909 DEFB 26 - 00008DC0 1A 3910 DEFB 26 - 00008DC1 1A 3911 DEFB 26 - 00008DC2 1A 3912 DEFB 26 - 00008DC3 1A 3913 DEFB 26 - 00008DC4 1A 3914 DEFB 26 - 00008DC5 1A 3915 DEFB 26 - 00008DC6 1A 3916 DEFB 26 - 00008DC7 1A 3917 DEFB 26 - 00008DC8 1A 3918 DEFB 26 - 00008DC9 1A 3919 DEFB 26 - 00008DCA 1A 3920 DEFB 26 - 00008DCB 1A 3921 DEFB 26 - 00008DCC 1A 3922 DEFB 26 - 00008DCD 1A 3923 DEFB 26 - 00008DCE 1A 3924 DEFB 26 - 00008DCF 1A 3925 DEFB 26 - 00008DD0 1A 3926 DEFB 26 - 00008DD1 1A 3927 DEFB 26 - 00008DD2 1A 3928 DEFB 26 - 00008DD3 1A 3929 DEFB 26 - 00008DD4 1A 3930 DEFB 26 - 00008DD5 1A 3931 DEFB 26 - 00008DD6 1A 3932 DEFB 26 - 00008DD7 1A 3933 DEFB 26 - 00008DD8 1A 3934 DEFB 26 - 00008DD9 1A 3935 DEFB 26 - 00008DDA 1A 3936 DEFB 26 - 00008DDB 1A 3937 DEFB 26 - 00008DDC 1A 3938 DEFB 26 - 00008DDD 1A 3939 DEFB 26 - 00008DDE 1A 3940 DEFB 26 - 00008DDF 1A 3941 DEFB 26 - 00008DE0 1A 3942 DEFB 26 - 00008DE1 1A 3943 DEFB 26 - 00008DE2 1A 3944 DEFB 26 - 00008DE3 1A 3945 DEFB 26 - 00008DE4 1A 3946 DEFB 26 - 00008DE5 1A 3947 DEFB 26 - 00008DE6 1A 3948 DEFB 26 - 00008DE7 1A 3949 DEFB 26 - 00008DE8 1A 3950 DEFB 26 - 00008DE9 1A 3951 DEFB 26 - 00008DEA 1A 3952 DEFB 26 - 00008DEB 1A 3953 DEFB 26 - 00008DEC 1A 3954 DEFB 26 - 00008DED 1A 3955 DEFB 26 - 00008DEE 1A 3956 DEFB 26 - 00008DEF 1A 3957 DEFB 26 - 00008DF0 1A 3958 DEFB 26 - 00008DF1 1A 3959 DEFB 26 - 00008DF2 1A 3960 DEFB 26 - 00008DF3 1A 3961 DEFB 26 - 00008DF4 1A 3962 DEFB 26 - 00008DF5 1A 3963 DEFB 26 - 00008DF6 1A 3964 DEFB 26 - 00008DF7 1A 3965 DEFB 26 - 00008DF8 1A 3966 DEFB 26 - 00008DF9 1A 3967 DEFB 26 - 00008DFA 1A 3968 DEFB 26 - 00008DFB 1A 3969 DEFB 26 - 00008DFC 1A 3970 DEFB 26 - 00008DFD 1A 3971 DEFB 26 - 00008DFE 1A 3972 DEFB 26 - 00008DFF 1A 3973 DEFB 26 - 00008E00 1A 3974 DEFB 26 - 00008E01 1A 3975 DEFB 26 - 00008E02 1A 3976 DEFB 26 - 00008E03 1A 3977 DEFB 26 - 00008E04 1A 3978 DEFB 26 - 00008E05 1A 3979 DEFB 26 - 00008E06 1A 3980 DEFB 26 - 00008E07 1A 3981 DEFB 26 - 00008E08 1A 3982 DEFB 26 - 00008E09 1A 3983 DEFB 26 - 00008E0A 1A 3984 DEFB 26 - 00008E0B 1A 3985 DEFB 26 - 00008E0C 1A 3986 DEFB 26 - 00008E0D 1A 3987 DEFB 26 - 00008E0E 1A 3988 DEFB 26 - 00008E0F 1A 3989 DEFB 26 - 00008E10 1A 3990 DEFB 26 - 00008E11 1A 3991 DEFB 26 - 00008E12 1A 3992 DEFB 26 - 00008E13 1A 3993 DEFB 26 - 00008E14 1A 3994 DEFB 26 - 00008E15 1A 3995 DEFB 26 - 00008E16 1A 3996 DEFB 26 - 00008E17 1A 3997 DEFB 26 - 00008E18 1A 3998 DEFB 26 - 00008E19 1A 3999 DEFB 26 - 00008E1A 1A 4000 DEFB 26 - 00008E1B 1A 4001 DEFB 26 - 00008E1C 1A 4002 DEFB 26 - 00008E1D 1A 4003 DEFB 26 - 00008E1E 1A 4004 DEFB 26 - 00008E1F 1A 4005 DEFB 26 - 00008E20 1A 4006 DEFB 26 - 00008E21 1A 4007 DEFB 26 - 00008E22 1A 4008 DEFB 26 - 00008E23 1A 4009 DEFB 26 - 00008E24 1A 4010 DEFB 26 - 00008E25 1A 4011 DEFB 26 - 00008E26 1A 4012 DEFB 26 - 00008E27 1A 4013 DEFB 26 - 00008E28 1A 4014 DEFB 26 - 00008E29 01 00 4015 DEFW 1 - 00008E2B 2E 4016 DEFB '.' - 00008E2C 00 4017 DEFB 0 - 00008E2D 00 00 00 00 00 00 00 4018 DEFB 0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 - 00008E39 01 00 4019 DEFW 1 - 00008E3B 2E 2E 4020 DEFB '..' - 00008E3D 00 4021 DEFB 0 - 00008E3E 00 00 00 00 00 00 00 4022 DEFB 0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 - 00008E49 00 00 00 00 00 00 00 4023 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00008E6A 00 00 00 00 00 00 00 4024 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00008E8B 00 00 00 00 00 00 00 4025 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00008EAC 00 00 00 00 00 00 00 4026 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00008ECD 00 00 00 00 00 00 00 4027 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00008EEE 00 00 00 00 00 00 00 4028 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00008F0F 00 00 00 00 00 00 00 4029 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00008F30 00 00 00 00 00 00 00 4030 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00008F51 00 00 00 00 00 00 00 4031 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00008F72 00 00 00 00 00 00 00 4032 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00008F93 00 00 00 00 00 00 00 4033 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00008FB4 00 00 00 00 00 00 00 4034 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00008FD5 00 00 00 00 00 00 00 4035 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00008FF6 00 00 00 00 00 00 00 4036 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 - 00 00 00 00 00 - 00009017 00 00 00 00 00 00 00 4037 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - 00 00 00 00 00 00 00 - 00 00 00 00 - 00009029 00 4038 DEFB 0 - 0000902A 00 4039 DEFB 0 - 0000902B 00 4040 DEFB 0 - 0000902C 00 4041 DEFB 0 - 0000902D 00 4042 DEFB 0 - 00000A05 4043 END - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. -Hexadecimal [32-Bits] -mkfs(17) -Symbol Table - - .__.ABS. = 00000000 G | 3 ?0002 0000061A R - 1 ?0003 0000001C R | 1 ?0004 00000039 R - 2 ?0005 00000000 R | 1 ?0006 00000058 R - 1 ?0007 00000075 R | 2 ?0008 0000001A R - 1 ?0009 0000009E R | 1 ?0010 000000CC R - 2 ?0011 00000035 R | 1 ?0012 000000E9 R - 1 ?0013 00000135 R | 1 ?0014 000000F0 R - 1 ?0015 00000107 R | 1 ?0016 00000135 R - 2 ?0017 00000042 R | 1 ?0018 00000161 R - 1 ?0019 0000018F R | 1 ?0020 000001AC R - 1 ?0021 000001DA R | 2 ?0022 0000004F R - 1 ?0023 00000207 R | 1 ?0024 00000217 R - 2 ?0025 0000005D R | 1 ?0026 00000244 R - 1 ?0027 0000023F R | 1 ?0028 00000244 R - 1 ?0029 0000023F R | 1 ?0030 0000023F R - 1 ?0031 0000023F R | 1 ?0032 0000023F R - 1 ?0033 00000247 R | 1 ?0034 00000255 R - 1 ?0035 0000026D R | 2 ?0036 00000060 R - 1 ?0037 00000313 R | 1 ?0038 00000274 R - 1 ?0039 00000283 R | 1 ?0041 000002A9 R - 1 ?0042 000002C4 R | 1 ?0043 000002CC R - 1 ?0044 00000327 R | 1 ?0045 0000033F R - 2 ?0046 00000078 R | 1 ?0047 00000345 R - 1 ?0048 0000035E R | 1 ?0049 0000036A R - 1 ?0050 000003DC R | 1 ?0051 0000037A R - 1 ?0052 0000038B R | 1 ?0053 000003A1 R - 1 ?0054 000003C1 R | 1 ?0055 000003A1 R - 1 ?0056 000003A1 R | 2 ?0057 0000009C R - 1 ?0058 000003E2 R | 1 ?0059 00000409 R - 2 ?0060 000000A5 R | 1 ?0061 0000040F R - 1 ?0062 00000427 R | 2 ?0063 000000AE R - 1 ?0064 00000506 R | 1 ?0065 000004C2 R - 1 ?0066 000004E0 R | 1 ?0068 0000055C R - 1 ?0069 00000525 R | 1 ?0070 00000536 R - 1 ?0072 00000583 R | 1 ?0073 00000644 R - 1 ?0074 000005CE R | 1 ?0075 0000058A R - 1 ?0076 000005A8 R | 1 ?0078 00000624 R - 1 ?0079 000005ED R | 1 ?0080 000005FE R - 1 ?0082 000006E4 R | 1 ?0083 000006AD R - 1 ?0084 000006BE R | 1 ?0086 0000077C R - 1 ?0087 00000794 R | 2 ?0088 000000C7 R - 1 ?0089 000007E4 R | 1 ?0090 000007B1 R - 1 ?0091 000007C4 R | 1 ?0093 000008E0 R - 1 ?0094 00000807 R | 1 ?0095 00000837 R - 1 ?0096 00000837 R | 1 ?0097 00000837 R - 1 ?0098 000008DD R | 1 ?0099 00000854 R - 1 ?0100 0000085E R | 1 ?0101 000008DA R - 1 ?0102 00000892 R | 1 ?0103 00000899 R - 1 ?0104 000008A0 R | 1 ?0105 000008A7 R - 1 ?0106 000008AE R | 1 ?0107 000008B5 R - 2 ?0108 000000E0 R | 1 ?0109 000008F1 R - 1 ?0110 0000090E R | 2 ?0111 000000F3 R - 1 ?0112 00000943 R | 1 ?0113 00000971 R - 2 ?0114 00000124 R | 1 ?0115 000009BD R - 1 ?0116 000009E0 R | 1 ?0117 00000A13 R - 1 ?0118 00000A30 R | 1 ?0119 00000A13 R - 1 ?0120 00000A13 R | 2 ?0121 00000131 R - 1 ?0122 00000B3E R | 1 ?0123 00000BBB R - 2 ?0124 00000147 R | 1 ?0125 00000BFF R - 1 ?0126 00000C0A R | 2 ?0127 00000180 R - 2 ?0128 0000018A R | 1 ?0129 00000C1D R - 1 ?0130 00000C2B R | 1 ?0131 00000C45 R - 1 ?0132 00000C50 R | 2 ?0133 0000018C R - 1 ?0134 00000CD0 R | 1 ?0135 00000C84 R - 1 ?0136 00000C8E R | 2 ?0137 00000199 R - 1 ?0138 00000CAE R | 1 ?0139 00000D0F R - 1 ?0140 00000CC8 R | 1 ?0141 00000CF5 R - 2 ?0142 000001A6 R | 2 ?0143 000001B2 R - 1 ?0144 00000D3D R | 1 ?0145 00000D4F R - 2 ?0146 000001CD R | 1 ?0147 00000E50 R - 1 ?0148 00000D6E R | 1 ?0149 00000D8B R - 1 ?0150 00000DC2 R | 1 ?0151 00000DDD R - 1 ?0152 00000DE5 R | 1 ?0153 00000504 R - 1 ?0154 0000055A R | 1 ?0155 000005CC R - 1 ?0156 00000622 R | 1 ?0157 000006E2 R - 1 ?0158 000007E2 R | 1 ?0159 0000083F R - 1 ?0160 00000847 R | ?BANK_CALL_DIR ******** GX - ?BANK_LEAVE_DI ******** GX | ?CL64180B_4_06 ******** GX - ?C_LSH_L01 ******** GX | ?C_V_SWITCH_L0 ******** GX - ?ENT_AUTO_DIRE ******** GX | ?ENT_PARM_DIRE ******** GX - ?L_AND_L03 ******** GX | ?L_LSH_L03 ******** GX - ?SL_CMP_L03 ******** GX | ?SL_RSH_L03 ******** GX - ?SS_CMP_L02 ******** GX | ?US_DIV_L02 ******** GX - ?US_MOD_L02 ******** GX | ?US_RSH_L02 ******** GX - 4 _fmt 00000A00 GR | 4 _immov 00000A04 GR - 4 _quick 00000A02 GR | _read ******** GX - 4 _verb 00000A03 GR | _write ******** GX - 4 _yes 00000A01 GR | abort ******** GX - atoi ******** GX | bcopy ******** GX - bfill ******** GX | 3 bitmap_block 00000608 GR - 1 bitmap_dump 00000D5D GR | 3 bitmap_final 00000610 GR - 3 bitmap_immov 0000060C GR | 3 bitmap_inode 00000604 GR - 3 block_bitmap 00000616 GR | 4 bootblock 00000000 GR - bzero ******** GX | close ******** GX - 1 da_read 00000078 GR | 1 da_write 0000013B GR - 1 daread 00000000 GR | 3 dev 00000402 GR - 3 device_handle 00000000 GR | 3 device_name 00000002 GR - 4 dirbuf 00000800 GR | 1 doformatting 00000771 GR - 1 dwrite 0000003F GR | errno ******** GX - exit ******** GX | fflush ******** GX - fgets ******** GX | fprintf ******** GX - fputs ******** GX | 3 immov_bitmap 00000618 GR - 3 inode 00000404 GR | 3 inode_bitmap 00000614 GR - int_min ******** GX | lseek ******** GX - 1 main 000007E7 GR | malloc ******** GX - 1 mkfs 0000024A GR | open ******** GX - perror ******** GX | printf ******** GX - stderr ******** GX | stdin ******** GX - stdout ******** GX | strcpy ******** GX - 1 yes 000001E0 GR | 3 zeroed 00000202 GR - - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. -Hexadecimal [32-Bits] -mkfs(17) -Area Table - - 0 _DEFAULT size 0 flags 0 - 1 CODE size E53 flags 0 - 2 CSTR size 1FA flags 0 - 3 UDATA0 size 81A flags 0 - 4 IDATA0 size A05 flags 0 - 5 CDATA0 size A05 flags 0 diff --git a/src/fsutil/mkfs.s01 b/src/fsutil/mkfs.s01 index 3fa25feb..7573b0e2 100644 --- a/src/fsutil/mkfs.s01 +++ b/src/fsutil/mkfs.s01 @@ -1965,29 +1965,29 @@ _immov: DEFS 1 RSEG CDATA0 DEFB '5' - DEFB '2' + DEFB '0' DEFB 'C' - DEFB '8' + DEFB '7' DEFB '0' DEFB '3' - DEFB '0' - DEFB '8' - DEFB '2' DEFB '1' DEFB '1' - DEFB '8' - DEFB '4' + DEFB '2' + DEFB '7' DEFB '0' DEFB '2' + DEFB '0' + DEFB '6' + DEFB '4' DEFB '4' DEFB '1' DEFB 0 DEFB 16 DEFB 205 - DEFB 14 + DEFB 9 DEFB 7 DEFB 205 - DEFB 22 + DEFB 17 DEFB 6 DEFB 205 DEFB 'm' @@ -2078,7 +2078,7 @@ _immov: DEFB 5 DEFB 237 DEFB '[' - DEFB 15 + DEFB 4 DEFB 14 DEFB 213 DEFB '!' @@ -2090,16 +2090,16 @@ _immov: DEFB 176 DEFB 193 DEFB '*' - DEFB 17 + DEFB 6 DEFB 14 DEFB 249 DEFB 17 - DEFB '3' + DEFB '-' DEFB 0 DEFB 25 DEFB 235 DEFB '*' - DEFB 11 + DEFB 0 DEFB 14 DEFB 151 DEFB 197 @@ -2123,13 +2123,13 @@ _immov: DEFB 4 DEFB 0 DEFB '!' - DEFB 229 + DEFB 218 DEFB 7 DEFB 205 DEFB 197 DEFB 4 DEFB '*' - DEFB 229 + DEFB 218 DEFB 7 DEFB 17 DEFB 198 @@ -2140,26 +2140,26 @@ _immov: DEFB ' ' DEFB 'N' DEFB '*' - DEFB 231 + DEFB 220 DEFB 7 DEFB '"' - DEFB 147 + DEFB 136 DEFB 7 DEFB '*' - DEFB 233 + DEFB 222 DEFB 7 DEFB '"' - DEFB 149 + DEFB 138 DEFB 7 DEFB '*' - DEFB 235 + DEFB 224 DEFB 7 DEFB '"' - DEFB 151 + DEFB 140 DEFB 7 DEFB 201 DEFB '*' - DEFB 255 + DEFB 244 DEFB 13 DEFB 17 DEFB 201 @@ -2188,8 +2188,8 @@ _immov: DEFB 24 DEFB '-' DEFB '*' - DEFB 1 - DEFB 14 + DEFB 246 + DEFB 13 DEFB 17 DEFB 3 DEFB 0 @@ -2234,10 +2234,10 @@ _immov: DEFB 0 DEFB 25 DEFB 205 - DEFB 31 + DEFB 26 DEFB 6 DEFB 205 - DEFB 22 + DEFB 17 DEFB 6 DEFB 205 DEFB 'V' @@ -2264,10 +2264,10 @@ _immov: DEFB 10 DEFB 0 DEFB '!' - DEFB 229 + DEFB 218 DEFB 7 DEFB 17 - DEFB 230 + DEFB 219 DEFB 7 DEFB 1 DEFB 255 @@ -2284,7 +2284,7 @@ _immov: DEFB 197 DEFB 213 DEFB '!' - DEFB 229 + DEFB 218 DEFB 7 DEFB 205 DEFB 211 @@ -2307,7 +2307,7 @@ _immov: DEFB 24 DEFB 254 DEFB 205 - DEFB '7' + DEFB '2' DEFB 6 DEFB 'g' DEFB 'b' @@ -2318,7 +2318,7 @@ _immov: DEFB ' ' DEFB 0 DEFB 195 - DEFB '7' + DEFB '2' DEFB 6 DEFB 17 DEFB 2 @@ -2362,7 +2362,7 @@ _immov: DEFB 5 DEFB 0 DEFB 195 - DEFB 'F' + DEFB 'A' DEFB 6 DEFB 205 DEFB 'V' @@ -2471,28 +2471,28 @@ _immov: DEFB 235 DEFB 201 DEFB '*' - DEFB 7 - DEFB 14 + DEFB 252 + DEFB 13 DEFB 17 DEFB 20 DEFB 0 DEFB 24 DEFB 17 DEFB '*' - DEFB 13 + DEFB 2 DEFB 14 DEFB 237 DEFB '[' - DEFB 9 - DEFB 14 + DEFB 254 + DEFB 13 DEFB 24 DEFB 8 DEFB '*' - DEFB 17 + DEFB 6 DEFB 14 DEFB 237 DEFB '[' - DEFB 13 + DEFB 2 DEFB 14 DEFB 19 DEFB 183 @@ -2502,7 +2502,7 @@ _immov: DEFB 'D' DEFB 201 DEFB '"' - DEFB 153 + DEFB 142 DEFB 7 DEFB 205 DEFB 179 @@ -2511,7 +2511,7 @@ _immov: DEFB 16 DEFB 0 DEFB '!' - DEFB 229 + DEFB 218 DEFB 13 DEFB 205 DEFB '<' @@ -2520,7 +2520,7 @@ _immov: DEFB '#' DEFB 237 DEFB '[' - DEFB 153 + DEFB 142 DEFB 7 DEFB 6 DEFB 14 @@ -2539,7 +2539,7 @@ _immov: DEFB 183 DEFB 237 DEFB '[' - DEFB 229 + DEFB 218 DEFB 13 DEFB 201 DEFB 205 @@ -2592,7 +2592,7 @@ _immov: DEFB 1 DEFB 0 DEFB '!' - DEFB 'q' + DEFB 'f' DEFB 7 DEFB 205 DEFB 25 @@ -2600,7 +2600,7 @@ _immov: DEFB ' ' DEFB 199 DEFB '!' - DEFB 'v' + DEFB 'k' DEFB 7 DEFB 205 DEFB 25 @@ -2611,7 +2611,7 @@ _immov: DEFB 179 DEFB 3 DEFB '!' - DEFB 255 + DEFB 244 DEFB 13 DEFB 1 DEFB 20 @@ -2656,10 +2656,10 @@ _immov: DEFB 228 DEFB 1 DEFB '!' - DEFB 21 + DEFB 10 DEFB 14 DEFB '"' - DEFB 19 + DEFB 8 DEFB 14 DEFB 205 DEFB 191 @@ -2684,14 +2684,14 @@ _immov: DEFB ' ' DEFB 'Y' DEFB '*' - DEFB 19 + DEFB 8 DEFB 14 DEFB 's' DEFB '#' DEFB 'r' DEFB '#' DEFB '"' - DEFB 19 + DEFB 8 DEFB 14 DEFB 6 DEFB 31 @@ -2796,19 +2796,19 @@ _immov: DEFB 197 DEFB 237 DEFB 'C' - DEFB 249 + DEFB 238 DEFB 13 DEFB '"' - DEFB 251 + DEFB 240 DEFB 13 DEFB '!' DEFB 0 DEFB 0 DEFB '"' - DEFB 253 + DEFB 242 DEFB 13 DEFB '*' - DEFB 245 + DEFB 234 DEFB 13 DEFB '}' DEFB 180 @@ -2822,7 +2822,7 @@ _immov: DEFB '(' DEFB 'O' DEFB '"' - DEFB 245 + DEFB 234 DEFB 13 DEFB 205 DEFB 6 @@ -2832,76 +2832,76 @@ _immov: DEFB '(' DEFB 176 DEFB '!' - DEFB 229 + DEFB 218 DEFB 7 DEFB '"' - DEFB 247 + DEFB 236 DEFB 13 DEFB 205 DEFB 197 DEFB 4 DEFB '*' - DEFB 245 + DEFB 234 DEFB 13 DEFB 237 DEFB '[' - DEFB 249 + DEFB 238 DEFB 13 DEFB 205 DEFB 243 DEFB 1 DEFB '*' - DEFB 245 + DEFB 234 DEFB 13 DEFB 183 DEFB 237 DEFB 'R' DEFB '"' - DEFB 245 + DEFB 234 DEFB 13 DEFB '*' - DEFB 249 + DEFB 238 DEFB 13 DEFB 183 DEFB 237 DEFB 'R' DEFB '"' - DEFB 249 + DEFB 238 DEFB 13 DEFB '*' - DEFB 253 + DEFB 242 DEFB 13 DEFB 25 DEFB '"' - DEFB 253 + DEFB 242 DEFB 13 DEFB 'K' DEFB 'B' DEFB 237 DEFB '[' - DEFB 251 + DEFB 240 DEFB 13 DEFB '*' - DEFB 247 + DEFB 236 DEFB 13 DEFB 237 DEFB 176 DEFB '"' - DEFB 247 + DEFB 236 DEFB 13 DEFB 237 DEFB 'S' - DEFB 251 + DEFB 240 DEFB 13 DEFB '*' - DEFB 249 + DEFB 238 DEFB 13 DEFB '}' DEFB 180 DEFB ' ' DEFB 170 DEFB '*' - DEFB 253 + DEFB 242 DEFB 13 DEFB 'M' DEFB 'D' @@ -2912,7 +2912,7 @@ _immov: DEFB 225 DEFB 201 DEFB '!' - DEFB 165 + DEFB 154 DEFB 7 DEFB 205 DEFB 'y' @@ -2921,45 +2921,45 @@ _immov: DEFB 0 DEFB 0 DEFB '"' - DEFB 245 + DEFB 234 DEFB 13 DEFB '*' - DEFB 173 + DEFB 162 DEFB 7 DEFB '"' - DEFB 155 + DEFB 144 DEFB 7 DEFB '*' - DEFB 175 + DEFB 164 DEFB 7 DEFB '"' - DEFB 157 + DEFB 146 DEFB 7 DEFB '!' - DEFB 189 + DEFB 178 DEFB 7 DEFB '"' - DEFB 159 + DEFB 148 DEFB 7 DEFB '!' - DEFB 229 + DEFB 218 DEFB 11 DEFB '"' - DEFB 161 + DEFB 150 DEFB 7 DEFB '!' - DEFB 229 + DEFB 218 DEFB 13 DEFB '"' - DEFB 163 + DEFB 152 DEFB 7 DEFB 201 DEFB '*' - DEFB 155 + DEFB 144 DEFB 7 DEFB 237 DEFB '[' - DEFB 157 + DEFB 146 DEFB 7 DEFB 1 DEFB 0 @@ -2976,29 +2976,29 @@ _immov: DEFB '8' DEFB 11 DEFB '"' - DEFB 155 + DEFB 144 DEFB 7 DEFB 237 DEFB 'S' - DEFB 157 + DEFB 146 DEFB 7 DEFB '!' DEFB 0 DEFB 2 DEFB 201 DEFB '*' - DEFB 155 + DEFB 144 DEFB 7 DEFB 237 DEFB 'C' - DEFB 155 + DEFB 144 DEFB 7 DEFB 201 DEFB '*' - DEFB 159 + DEFB 148 DEFB 7 DEFB 17 - DEFB 225 + DEFB 214 DEFB 7 DEFB 183 DEFB 237 @@ -3006,21 +3006,21 @@ _immov: DEFB '0' DEFB 11 DEFB '*' - DEFB 159 + DEFB 148 DEFB 7 DEFB '^' DEFB '#' DEFB 'V' DEFB '#' DEFB '"' - DEFB 159 + DEFB 148 DEFB 7 DEFB 201 DEFB '*' - DEFB 161 + DEFB 150 DEFB 7 DEFB 17 - DEFB 229 + DEFB 218 DEFB 11 DEFB 183 DEFB 237 @@ -3028,29 +3028,29 @@ _immov: DEFB '8' DEFB 19 DEFB '*' - DEFB 159 + DEFB 148 DEFB 7 DEFB '^' DEFB '#' DEFB 'V' DEFB '#' DEFB '"' - DEFB 159 + DEFB 148 DEFB 7 DEFB '!' - DEFB 229 + DEFB 218 DEFB 9 DEFB '"' - DEFB 161 + DEFB 150 DEFB 7 DEFB 205 DEFB 197 DEFB 4 DEFB '*' - DEFB 159 + DEFB 148 DEFB 7 DEFB 17 - DEFB 228 + DEFB 217 DEFB 7 DEFB 183 DEFB 237 @@ -3058,21 +3058,21 @@ _immov: DEFB '0' DEFB 11 DEFB '*' - DEFB 161 + DEFB 150 DEFB 7 DEFB '^' DEFB '#' DEFB 'V' DEFB '#' DEFB '"' - DEFB 161 + DEFB 150 DEFB 7 DEFB 201 DEFB '*' - DEFB 163 + DEFB 152 DEFB 7 DEFB 17 - DEFB 229 + DEFB 218 DEFB 13 DEFB 183 DEFB 237 @@ -3080,33 +3080,33 @@ _immov: DEFB '8' DEFB 19 DEFB '*' - DEFB 161 + DEFB 150 DEFB 7 DEFB '^' DEFB '#' DEFB 'V' DEFB '#' DEFB '"' - DEFB 161 + DEFB 150 DEFB 7 DEFB '!' - DEFB 229 + DEFB 218 DEFB 11 DEFB '"' - DEFB 163 + DEFB 152 DEFB 7 DEFB 205 DEFB 197 DEFB 4 DEFB '*' - DEFB 163 + DEFB 152 DEFB 7 DEFB '^' DEFB '#' DEFB 'V' DEFB '#' DEFB '"' - DEFB 163 + DEFB 152 DEFB 7 DEFB 201 DEFB 229 @@ -3122,7 +3122,7 @@ _immov: DEFB 16 DEFB 250 DEFB '*' - DEFB 149 + DEFB 138 DEFB 7 DEFB '7' DEFB 237 @@ -3130,12 +3130,12 @@ _immov: DEFB '8' DEFB 26 DEFB '*' - DEFB 147 + DEFB 136 DEFB 7 DEFB 25 DEFB 235 DEFB '!' - DEFB 229 + DEFB 218 DEFB 7 DEFB 245 DEFB 229 @@ -3173,10 +3173,10 @@ _immov: DEFB 198 DEFB '0' DEFB 205 - DEFB 9 + DEFB 4 DEFB 6 DEFB 205 - DEFB '7' + DEFB '2' DEFB 6 DEFB ',' DEFB ' ' @@ -3197,7 +3197,7 @@ _immov: DEFB 30 DEFB 3 DEFB 195 - DEFB 'F' + DEFB 'A' DEFB 6 DEFB 229 DEFB 205 @@ -3209,7 +3209,7 @@ _immov: DEFB 3 DEFB '_' DEFB 195 - DEFB 'F' + DEFB 'A' DEFB 6 DEFB '!' DEFB 0 @@ -3271,7 +3271,7 @@ _immov: DEFB 128 DEFB 16 DEFB '!' - DEFB 21 + DEFB 10 DEFB 14 DEFB 24 DEFB 12 @@ -3289,7 +3289,7 @@ _immov: DEFB 250 DEFB 237 DEFB '[' - DEFB 19 + DEFB 8 DEFB 14 DEFB 183 DEFB 237 @@ -3299,39 +3299,39 @@ _immov: DEFB 201 DEFB 237 DEFB '[' - DEFB 17 + DEFB 6 DEFB 14 DEFB '*' - DEFB '@' + DEFB ';' DEFB 7 DEFB 25 DEFB '"' - DEFB '@' + DEFB ';' DEFB 7 DEFB '!' - DEFB 'D' + DEFB '?' DEFB 7 DEFB 205 DEFB 'e' DEFB 5 DEFB '*' - DEFB 'B' + DEFB '=' DEFB 7 DEFB 25 DEFB '"' - DEFB 'B' + DEFB '=' DEFB 7 DEFB '!' - DEFB 'd' + DEFB 'Y' DEFB 7 DEFB 205 DEFB 'e' DEFB 5 DEFB '!' - DEFB '>' + DEFB '9' DEFB 7 DEFB 1 - DEFB '3' + DEFB '-' DEFB 0 DEFB 237 DEFB 176 @@ -3354,7 +3354,7 @@ _immov: DEFB 240 DEFB 201 DEFB '!' - DEFB 129 + DEFB 'v' DEFB 7 DEFB 205 DEFB '7' @@ -3386,14 +3386,9 @@ _immov: DEFB 13 DEFB 10 DEFB 0 - DEFB '>' - DEFB '1' - DEFB '2' - DEFB 'b' - DEFB 7 DEFB 237 DEFB '[' - DEFB 145 + DEFB 134 DEFB 7 DEFB 183 DEFB 237 @@ -3402,14 +3397,14 @@ _immov: DEFB '#' DEFB 25 DEFB '"' - DEFB 143 + DEFB 132 DEFB 7 DEFB '}' DEFB 180 DEFB ' ' DEFB 4 DEFB '!' - DEFB 142 + DEFB 131 DEFB 7 DEFB '4' DEFB '!' @@ -3417,14 +3412,14 @@ _immov: DEFB '@' DEFB 25 DEFB '"' - DEFB 145 + DEFB 134 DEFB 7 DEFB '!' - DEFB 141 + DEFB 130 DEFB 7 DEFB '4' DEFB '!' - DEFB 129 + DEFB 'v' DEFB 7 DEFB 205 DEFB '7' @@ -3432,7 +3427,7 @@ _immov: DEFB ' ' DEFB 216 DEFB '!' - DEFB 141 + DEFB 130 DEFB 7 DEFB '5' DEFB 205 @@ -3443,7 +3438,7 @@ _immov: DEFB 0 DEFB 0 DEFB '!' - DEFB 255 + DEFB 244 DEFB 13 DEFB 17 DEFB 3 @@ -3452,7 +3447,7 @@ _immov: DEFB 20 DEFB 0 DEFB 205 - DEFB 'F' + DEFB 'A' DEFB 6 DEFB 205 DEFB 194 @@ -3472,7 +3467,7 @@ _immov: DEFB 'k' DEFB 'c' DEFB 205 - DEFB 'F' + DEFB 'A' DEFB 6 DEFB 213 DEFB 205 @@ -3481,7 +3476,7 @@ _immov: DEFB 235 DEFB 209 DEFB 205 - DEFB 'F' + DEFB 'A' DEFB 6 DEFB 205 DEFB 228 @@ -3490,7 +3485,7 @@ _immov: DEFB 144 DEFB 1 DEFB ':' - DEFB 141 + DEFB 130 DEFB 7 DEFB '<' DEFB 7 @@ -3525,7 +3520,7 @@ _immov: DEFB '>' DEFB 13 DEFB 205 - DEFB 9 + DEFB 4 DEFB 6 DEFB '>' DEFB 10 @@ -3533,7 +3528,7 @@ _immov: DEFB 234 DEFB '|' DEFB 205 - DEFB '$' + DEFB 31 DEFB 6 DEFB '}' DEFB 245 @@ -3542,7 +3537,7 @@ _immov: DEFB 15 DEFB 15 DEFB 205 - DEFB '-' + DEFB '(' DEFB 6 DEFB 241 DEFB 230 @@ -3563,7 +3558,7 @@ _immov: DEFB '(' DEFB 5 DEFB 205 - DEFB 9 + DEFB 4 DEFB 6 DEFB 24 DEFB 246 @@ -3574,7 +3569,7 @@ _immov: DEFB 254 DEFB 4 DEFB 210 - DEFB 196 + DEFB 191 DEFB 6 DEFB 'y' DEFB 230 @@ -3584,7 +3579,7 @@ _immov: DEFB 6 DEFB 0 DEFB 205 - DEFB 150 + DEFB 145 DEFB 6 DEFB 12 DEFB 13 @@ -3601,11 +3596,11 @@ _immov: DEFB 253 DEFB 9 DEFB 220 - DEFB 192 + DEFB 187 DEFB 6 DEFB 9 DEFB 220 - DEFB 194 + DEFB 189 DEFB 6 DEFB 193 DEFB '>' @@ -3637,11 +3632,11 @@ _immov: DEFB 253 DEFB 9 DEFB 220 - DEFB 192 + DEFB 187 DEFB 6 DEFB 9 DEFB 220 - DEFB 194 + DEFB 189 DEFB 6 DEFB 193 DEFB 11 @@ -3722,7 +3717,7 @@ _immov: DEFB 16 DEFB 0 DEFB 205 - DEFB 238 + DEFB 233 DEFB 6 DEFB 193 DEFB 11 @@ -3742,16 +3737,16 @@ _immov: DEFB '0' DEFB '&' DEFB 204 - DEFB 158 + DEFB 153 DEFB 6 DEFB 253 DEFB 9 DEFB 220 - DEFB 192 + DEFB 187 DEFB 6 DEFB 9 DEFB 220 - DEFB 194 + DEFB 189 DEFB 6 DEFB 'A' DEFB 14 @@ -3822,7 +3817,7 @@ _immov: DEFB 0 DEFB 6 DEFB 0 - DEFB '&' + DEFB ' ' DEFB 0 DEFB 12 DEFB 0 @@ -3847,16 +3842,10 @@ _immov: DEFB 'i' DEFB 'n' DEFB 0 - DEFB 'r' - DEFB 'o' - DEFB 'o' - DEFB 't' - DEFB '=' - DEFB 'h' - DEFB 'd' - DEFB '0' + DEFB '-' + DEFB 'v' DEFB 0 - DEFB '*' + DEFB '$' DEFB 0 DEFB 0 DEFB 0 @@ -4012,6 +4001,17 @@ _immov: DEFB 26 DEFB 26 DEFB 26 + DEFB 26 + DEFB 26 + DEFB 26 + DEFB 26 + DEFB 26 + DEFB 26 + DEFB 26 + DEFB 26 + DEFB 26 + DEFB 26 + DEFB 26 DEFW 1 DEFB '.' DEFB 0 diff --git a/src/fsutil/process.obj b/src/fsutil/process.obj deleted file mode 100644 index 6c5382da0a40d553955ef07fa8a8db6c414dfed0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12082 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 diff --git a/src/fsutil/scall2.obj b/src/fsutil/scall2.obj deleted file mode 100644 index 930c7da9fee4610590e41e9d46402d3a954d643e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12236 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 AcmMzZ delta 44 zcmdmZfOF#k&Iu2gJG)&PA8&oksJNfGztv?s`vFGA1)M;ZJre^1gZp&B1SSOlv}q74 diff --git a/src/fsutil/ucp.map b/src/fsutil/ucp.map index 0f9259c1..663130e0 100644 --- a/src/fsutil/ucp.map +++ b/src/fsutil/ucp.map @@ -1,6 +1,6 @@ ucp - Timestamp is 3f448b89 (Thu Aug 21 19:06:17 2003) + Timestamp is 3fc4c49d (Thu Nov 27 02:19:57 2003) Preferred load address is 00400000 diff --git a/src/fsutil/ucp.obj b/src/fsutil/ucp.obj deleted file mode 100644 index 6184495be5b2ae4d2e2d323e38b0c3d9bdd607e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15162 zcmcgzdvsLQx&J1aOeRAh5rZI)I!HjCVUo$aC}4Dl)53ZDG?8B3MW#@NOV&w z&{q}f+;%mRM=hzPEfR>w60va7J$ua@x3^|NXC&!vS=cgfp8MLqWTYo@L!`IM-4g5R zi$p_l_xeyg5sCG>t81z}o~p*C`uZx*92$eljUHEl7UHuEpQT!3E9^^z%E(dfgqT~$ zzW&;k%L>Rr^Yi?dLy4ZE7JMxJj$o`i6zw}FL@8pPIeYdj$FxN_;OxABlcC{+CgJn; zXhH>{9b=7r`s_pniE6$qg^{|f;aCguV*LTF24i{|=fVp>W+)4ViP7Kavba65F{QS3qckmD!Hn#&vV7Nr8+{x~by)zO1gRp2){H?D0e%(h%k5qi^7Di>2-&xy0L7!~hDnp`kn zJ9kO5D#4{J@P!kR8;t1VA#h0BNi8nq%Wz*Tp%RnA&`RoxZHr>zu)5+dDw2|Q(kiS@ zWEa;+mCG&YOhmeR{ire<@X#&Z>Gwq=iR4{SR^u~tSewXhFqn%z02>n7X@j|F78aE|L^ju8E@}q*vB<74n2T0|9T8cZ!CbTs?6Al- z7|casuxCZK&0sF-2RkIPJqB~p5ZD(*cALRmbQ|sp^F;PJgSqG)u(=|;-(W6!6l}K0 zzHcxWJr7nTvR@d?MZX7IAhK5t=Aw7OaL-4ZzHcxW+0o{_D32kh!CW*E>}iorF_?>L zz~+do-e4|j0eezp%MIqDPlN3d*=B>eXa^WSON^nE!Cbf^!uoZ#LfHQ=OkaeDqEMX2 zT_D!eqVCm&S8IQ%1?qD+o!$f_%f)q`-H!g^7c5e(u;M5b^xG;<-5N4Y< zbLN4d+t3h2`68AWy#{k{Wcwa}V*6%F@yX4AhrjKt65uSlr!%c^0QY zH$+M-#)0nGu3mRA6o~Zrqp65;<2<^%;(eyPYgE3mb2AnyPRq>Oy%DQpzj?)#fK6X2 z>9&ed-%$^?;gxt#z@K!Rj*taYJ$?Gxy)lvW$CFrW+#5r^L7b(5HYPSld);{QUCs8K@ z4(<;=qf4Y8n8$n2Cm6TVhPajl&2w%#M%!`T+=jVIX%hIUw!xX7>YCknW=ALQiX;Qw zXgYLXXeThzi_XILpv|rlQ`hV&DOu3xUf`C80=GYm38xx^71dA#W4)Id4JggZ^4(g_ zvjk5Qad#NgpyT?L8_?;A?XD6O$e}$|RSh^TZLX@i9@l09tXg7@B<8xex&2r6@(^dW z+aHaG{K4Jsct~Z=T}W}XYKxzCrerKDv>4nNn`DelS!>va2UhOzGE+2$7|P*tm0hHFCpri#O+2zQy`=AkK z*pzPm38JLmaUN?u!(N%zGwDSG%qTf0({?6PG0c3h<5Z^gRJ(XWnm%G1Y&&CwaE|;e z^G6AjX)SHfv^iIsiogDL%HbuVS)IO|!_eM|62dUB%Q^dak&#oT)!ADaT^X!j1M4vK<0;8b?VIq-b) zDob&8XlCBWS$m%!avBY>rke$3LUJCtfa{$j&%SOqt7K^o#8cJJwS7X{=4LfTXH{y= zDm$R`(zpzBJP|Nj1@=OzR|cQw5r~d<~~=)TTT;Pe;zp zdJf80Q6{5HRFra*fheVB>pHW4#$%k+ER$Q0Il3N`QKE`deooguti5wRFl{ z)LyyuoUVI_%gUWLrP;OG>--to&dG3^_R7gHHR0nbJ4IKv)H0;(+27jC#>q{1hEBNR zV}@dB_TKaOP0@a(mceJw_G$Z^WRor#+}YJyo!bKEOMAMu&rN%+E`FJw3C-vBF6LWh zhVKaEJv>y9DU}6vwX~b$gSA=Z#b0bhoHu6{>rvoEiRN0xE7FYnB~q0TWR{ReXtds=uBsEGjXQ(I;rfoQj9rNI8%T%9O{s_Mu;j((tuEg@58EVlb{;sMnu%Ll`Ynj0emAN3s95HL z!HzS!5hNfA)NASeoTG8eOie>w)osVx#HB_PXSs2esqMy#x7m>cmVO;+a9|PF5YvX+ zFvCw3zsngG}5hZ6x!>+caKWa`*R37_Zf0gTyT{M zx|4^?n(%#`w|S#-st#b0^cQB6s+d`8yJ=~cCy>F`7t?!Rq|{jPGhFP)T3_G@qN&K! z$WT=kS<}4_R#tuKz~NL;)`xo~`?&jJUBYf=5o1lFW~3Afc@IqzR(l`6?}oaB@`PM#a*XzKwQYCUkE^`W7*hYqxz80t82;7)!CJv_j# zo>9vKtA{%tTEm4553@p5+M3MN!PZmhy{9ONhY;~ie>5YB)n$Oq)2EuzqVHqwmmLy+ z3_)Yze#N{A4U3l^bLfLf5`S1Cm`(0P0~cj~G8!p;dU~p7o6DMt6B9JO_Y5T+80AL` zurirXzL+==aYF-7Pfr$%ysbuP`m{Sa#+VbQN>XF=GBolkq-Ij~>_VOGIawL?8LKT+ zL%oHbD%YzOYxw!05+X?H;PQPYXs`N8#K-`yYC(>EZVB5hFJmhtp z*#Cyi>bI8;b{tIaJ?O-G+Rg;fCO3*#@pb@)`s*J>r3h3i_8RRNWZzbG%j$3Z;Iy!cemr-3CR!wVpT z@t6L^BHIV#*I5;G7jU_-?*QlGb*ebFt@Md8j z0{7$NAnquoy#%vkpU7r|-2_%abznD&>U#BP<2>8Dab;UuAVO zn96Dxj9bJ(p98xAtb*?N_z-IWT^)P(i-}i;4DStu4UqqgS+L zU_GLp1g6Se0u~i*8yH?7quljcdn4F3(PqFRqW!$qJ`UC`+9P0HqWziHzOA)?1>@0! zQEE5Kb%TY(cL7*XwESNHmDPH!4S)qi8`au=uuhTf*RrpG`6b>#u&tu~p4R>v%qQB{ zz_y4stF?tic*YfNIT*jxanQwJDwmmH8%4Vi?0V5QYV8^@o+B0H1LIdic=4mPp98y2 zwD*9ik@zhzH4+~ITQ43@fT@x5444{;{AAl9+84oECCb}i>x6v>rs81-i4m_DY^`{d zf~j~FU@G1eur;Es1XJ;@1Y0ffR)MvPwnJ-UVAqOv5Nueqw}GkE;tsGn(cTSqtFSr6 z>OWn05eIfeJnF$N6Sf#ktqg0yhQxz6tMLD*9JB*WMeYZCMr3=n>}D`k+O1%!w8y|y zl;^>IBp%1XekhS&22+t=)9f8EUW**`9+)caLogMY-%zT^W5AvkyQyGLNjxtY|7XfU zK`>R1sJ7du?Y^k(j%&N$fvHSKwCp{w?@Q#d)mBF| zJEqw$HOp%DzGkO2Hii7Ue+6TbCEs_5K_AOy=fqhf#PJ*eq!0%-bimVh&$>xEn{5)U}itkD-8wC4? z$i4vffcSnLO!{Z60{c(VKBu*Bg558&zi1h69QnG)rh=&`3&7@ztPboxVa;Hw zr>_K4v%3vUjo3|KYQ*jUQzP~W;y%PBZm>Pe-15@MgEwFn;`)4p! z?gwD1+_PX`6YZF>X3jIf?uM*_u;+)qD%wUc<+}t-`7Q_hifGq@srv2$`?AQ=V0THB z2f^BeJqGqA(LM#H;vEK4@s5Jc7VWP!dkyRh;`=t(v!Z<$?69!+!43)g5bRE2982v& zvdN450&>gs0-#-XeL19GiB>^klNGm6?l^WDgrrDnLUg-m9{?6e_G%Q`WCj<=+E|G1 ziERHG&_RCz7L&_{4GgppSVAj-E?Ns5LjhnZ@hgq7^jTmT-31&^j{z^F{{l{+SAiE% z7C2G%CR|KqcnX+I4ZtaMEpQrP2O0i-vKM#>4FfNw2Z1x_hrmkuIdB&J5qKG$2F|9E zLS8p!0OwN!Z~-j`E+jwDLn&Z24FJ8ev!Ir~30_A(1UAr1z((S|0!{QD@RKwK_uNG^ z0eCrG23$-_flKHb;8NoM?zhmbz-9CWU@LtcxSW0jTtP>HE9qt6HFOfViv9s?BUcgM zr7D5#GzYkvT7YY)4Y-y*4eX!goJxbh zX>>dA61pGgrbmI(=}F+F^iyCZ{Rude{tlc)cHCv=(DlH%)D4_ZM}Q0HH^7DT3eZDu z0ITT~u!dY%!@V>YSW6yY9bFErr)9uKx*FI-*8!Vp3vdyA26#E`171Nxz{T`^;1U{( zwRS080=$wcfy<}^*h*c%<+KmDf*uC0q+bB9rsKeC=oR29dIQ)-6R}o)ilzeFX*O^* zH3QesRlv362d<+4u!D93*V8S)>*#ji_4FO!MtT&uiGB&(OfLbq&>w(X>2E+k*|3^* zk_#B5dB70W0>iWv*hNW4F$4JGsZsa(6frn;$-Zbew}G9(R@%#+m9raVa<@wY6i zS1rxYlXz)ro}`BOTbk9Yn%+Uhtr8FYG*{BtMEniWV$;}2x93S3D4Hj!r*(OfI$D$` zLC$#+FO}y>kaL~{bJ=LaLe*l89(nC*$*`e`ew%C4&?w*1tu_tvd}Wo?%Ttq8QYTM4 zR!OZq1z06sxj$MZHS#S+NvvDZvB+a=pgMVn&)6KwVzxmi84Qb-w0r?!E2KzGfP{Cb z8g^V3BoY30tPVrMyC6*w&amOVsbKpJDJ0mx$`_*&>$Z3dWFGV5)Mofk#ujZ+jy`M> zSB&rbZYr=f;PNVbc;h@jEn>`vu`P#R0LTFwNW#%nqB}>@hux~l@Td*XiyDuY_^p81 zhK3qOoKHxaaM*~lM9x)FW#hn=*icnSNv<*_;&q2uo8VJh)g^CLizQGk$LC4ZqE*a% z)&#kxGU{rotLdS0GR!TDpThW9A!ugE+2v-)H4%wq$j^+UhcC24E|d+oGe?_@&r8U# zO>{oq@f+yjnQ(wQihbq^`L-%SM9tqy+2D(*C*cL<4ICSLdI=V&M zD6bmo(-Jo47E{NlmxsEwjj!L_6UJ8B##2vQEjGM&%sfVIytK(;lj_A3+perko0_I3 z+F-HaeS!ILYMSb(-C|?zUt_z`IMuXD+sI65^3bweNh4NTE%Egm+u@`*9jCFH8nunY zX=osimiYRO4RyI*4PKhBZCEu^^b9(3eG|>jv8nkOn>wo0Hokt@nQ2&!#;K;MIW}td zUrt$d4OEe1qjn1B+IXqdVq@+q%(1C$B72UFu^kLXI-lA)I-}>iv{-EooywC`(@8Di zSsCct%?07mal8%mrnX^?S}U0mW-cGg1sO)YYUwrYh52RdrOdUdrvK44lA+f_C$z-Z z&$}?qLr1P@pcl1`cwwGCq9x`^lDj56V1&6%&gM$ejw>t#c-A!6-T{YoWgBlZ+~nkw zO_NxS#0L4;INB%hIW|Y_JjWe`Hy&#zGiNXA^@#2-GsE1nDvYvzBHm_(e0R;w@cx_( zXXIwczrBHnvf&Il8vjt|Rb;3R`N0jI@%S4JM|O~}Kb-Jkf3MPW&V2CuN`CrPHr&p& zwO-nTOH>3OpScB*jdj1*)_SO4+lZI9iTd&+^|V1te6p`mf>`5ty|hl-s5lI&ZJwlt%JU>1a^^~^>!nhbIMtXJXlRSX(jhfoSslm z?){WA#GZCbSt@chy`UqDq@kV;Yl$zC@F$bj6~HIEZ~6ZkeCP}tYURy(iAOExo>hKCf-07WH0Aj!O6^WsUeQ zt4Fwuc|7j%w|fi*jCu95GkmMIN^0xzGMe92X`9;mTB47%#GJXgbCCZdHhP#dms^D6 zjIJ&GOezww=l?g49@ZahVuIrd76s=WgShsYKj|VL@1j;)y%kqm!$q9f-6OYjxlm01 p#!4BhNmt3gqpPg(Hr6X?Vs~#qEeDZaEMq>52l-(UnB_-a^nW4l06YKy diff --git a/src/fsutil/ucpsub.obj b/src/fsutil/ucpsub.obj deleted file mode 100644 index b87acb248fca50d8fe8e0713becc58fdc72ffc61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22088 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 diff --git a/src/fsutil/utils.lst b/src/fsutil/utils.lst deleted file mode 100644 index 79a2f416..00000000 --- a/src/fsutil/utils.lst +++ /dev/null @@ -1,148 +0,0 @@ - 1 NAME utils(17) - 2 RSEG CODE(0) - 3 PUBLIC bcopy - 4 PUBLIC bfill - 5 PUBLIC bzero - 6 PUBLIC int_max - 7 PUBLIC int_min - 8 EXTERN ?CL64180B_4_06_L00 - 9 EXTERN ?SS_CMP_L02 - 10 EXTERN ?BANK_LEAVE_DIRECT_L08 - 11 EXTERN ?ENT_PARM_DIRECT_L09 - 12 RSEG CODE - 00000000 13 bzero: - 00000000 CD 00 00 14 CALL LWRD ?ENT_PARM_DIRECT_L09 - 00000003 15 ?0015: - 00000003 16 ?0001: - 00000003 DD 6E 04 17 LD L,(IX+4) - 00000006 DD 66 05 18 LD H,(IX+5) - 00000009 2B 19 DEC HL - 0000000A DD 75 04 20 LD (IX+4),L - 0000000D DD 74 05 21 LD (IX+5),H - 00000010 23 22 INC HL - 00000011 7D 23 LD A,L - 00000012 B4 24 OR H - 00000013 28 12 25 JR Z,?0000 - 00000015 26 ?0002: - 00000015 DD 6E 02 27 LD L,(IX+2) - 00000018 DD 66 03 28 LD H,(IX+3) - 0000001B 23 29 INC HL - 0000001C DD 75 02 30 LD (IX+2),L - 0000001F DD 74 03 31 LD (IX+3),H - 00000022 2B 32 DEC HL - 00000023 36 00 33 LD (HL),0 - 00000025 18 DC 34 JR ?0001 - 00000027 35 ?0000: - 00000027 C3 00 00 36 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 0000002A 37 bfill: - 0000002A CD 00 00 38 CALL LWRD ?ENT_PARM_DIRECT_L09 - 0000002D 39 ?0016: - 0000002D 40 ?0004: - 0000002D DD 6E 0A 41 LD L,(IX+10) - 00000030 DD 66 0B 42 LD H,(IX+11) - 00000033 2B 43 DEC HL - 00000034 DD 75 0A 44 LD (IX+10),L - 00000037 DD 74 0B 45 LD (IX+11),H - 0000003A 23 46 INC HL - 0000003B 7D 47 LD A,L - 0000003C B4 48 OR H - 0000003D 28 14 49 JR Z,?0003 - 0000003F 50 ?0005: - 0000003F DD 6E 02 51 LD L,(IX+2) - 00000042 DD 66 03 52 LD H,(IX+3) - 00000045 23 53 INC HL - 00000046 DD 75 02 54 LD (IX+2),L - 00000049 DD 74 03 55 LD (IX+3),H - 0000004C 2B 56 DEC HL - 0000004D DD 46 04 57 LD B,(IX+4) - 00000050 70 58 LD (HL),B - 00000051 18 DA 59 JR ?0004 - 00000053 60 ?0003: - 00000053 C3 00 00 61 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 00000056 62 bcopy: - 00000056 CD 00 00 63 CALL LWRD ?ENT_PARM_DIRECT_L09 - 00000059 64 ?0017: - 00000059 65 ?0007: - 00000059 DD 6E 0A 66 LD L,(IX+10) - 0000005C DD 66 0B 67 LD H,(IX+11) - 0000005F 2B 68 DEC HL - 00000060 DD 75 0A 69 LD (IX+10),L - 00000063 DD 74 0B 70 LD (IX+11),H - 00000066 23 71 INC HL - 00000067 7D 72 LD A,L - 00000068 B4 73 OR H - 00000069 28 20 74 JR Z,?0006 - 0000006B 75 ?0008: - 0000006B DD 6E 02 76 LD L,(IX+2) - 0000006E DD 66 03 77 LD H,(IX+3) - 00000071 23 78 INC HL - 00000072 DD 75 02 79 LD (IX+2),L - 00000075 DD 74 03 80 LD (IX+3),H - 00000078 2B 81 DEC HL - 00000079 46 82 LD B,(HL) - 0000007A DD 6E 04 83 LD L,(IX+4) - 0000007D DD 66 05 84 LD H,(IX+5) - 00000080 23 85 INC HL - 00000081 DD 75 04 86 LD (IX+4),L - 00000084 DD 74 05 87 LD (IX+5),H - 00000087 2B 88 DEC HL - 00000088 70 89 LD (HL),B - 00000089 18 CE 90 JR ?0007 - 0000008B 91 ?0006: - 0000008B C3 00 00 92 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 0000008E 93 int_min: - 0000008E CD 00 00 94 CALL LWRD ?ENT_PARM_DIRECT_L09 - 00000091 4B 95 LD C,E - 00000092 42 96 LD B,D - 00000093 DD 6E 04 97 LD L,(IX+4) - 00000096 DD 66 05 98 LD H,(IX+5) - 00000099 CD 00 00 99 CALL LWRD ?SS_CMP_L02 - 0000009C 30 08 100 JR NC,?0010 - 0000009E DD 6E 04 101 LD L,(IX+4) - 000000A1 DD 66 05 102 LD H,(IX+5) - 000000A4 18 06 103 JR ?0011 - 000000A6 104 ?0010: - 000000A6 DD 6E 02 105 LD L,(IX+2) - 000000A9 DD 66 03 106 LD H,(IX+3) - 000000AC 107 ?0011: - 000000AC C3 00 00 108 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 000000AF 109 int_max: - 000000AF CD 00 00 110 CALL LWRD ?ENT_PARM_DIRECT_L09 - 000000B2 EB 111 EX DE,HL - 000000B3 CD 00 00 112 CALL LWRD ?SS_CMP_L02 - 000000B6 30 04 113 JR NC,?0013 - 000000B8 69 114 LD L,C - 000000B9 60 115 LD H,B - 000000BA 18 06 116 JR ?0014 - 000000BC 117 ?0013: - 000000BC DD 6E 02 118 LD L,(IX+2) - 000000BF DD 66 03 119 LD H,(IX+3) - 000000C2 120 ?0014: - 000000C2 C3 00 00 121 JP LWRD ?BANK_LEAVE_DIRECT_L08 - 000000C5 122 END - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. -Hexadecimal [32-Bits] -utils(17) -Symbol Table - - .__.ABS. = 00000000 G | 1 ?0000 00000027 R - 1 ?0001 00000003 R | 1 ?0002 00000015 R - 1 ?0003 00000053 R | 1 ?0004 0000002D R - 1 ?0005 0000003F R | 1 ?0006 0000008B R - 1 ?0007 00000059 R | 1 ?0008 0000006B R - 1 ?0010 000000A6 R | 1 ?0011 000000AC R - 1 ?0013 000000BC R | 1 ?0014 000000C2 R - 1 ?0015 00000003 R | 1 ?0016 0000002D R - 1 ?0017 00000059 R | ?BANK_LEAVE_DI ******** GX - ?CL64180B_4_06 ******** GX | ?ENT_PARM_DIRE ******** GX - ?SS_CMP_L02 ******** GX | 1 bcopy 00000056 GR - 1 bfill 0000002A GR | 1 bzero 00000000 GR - 1 int_max 000000AF GR | 1 int_min 0000008E GR - - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. -Hexadecimal [32-Bits] -utils(17) -Area Table - - 0 _DEFAULT size 0 flags 0 - 1 CODE size C5 flags 0 diff --git a/src/fsutil/utils.obj b/src/fsutil/utils.obj deleted file mode 100644 index 39946c2ebc7ed164e097b7fd7402de933c76e468..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2080 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 diff --git a/src/fsutil/xip.obj b/src/fsutil/xip.obj deleted file mode 100644 index cebbe48935771ca2c5d6f8b254954645688efe88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17088 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 F{{rcO@i+hg delta 1775 zcmY*ZeN0nV6o0QRExlz3sDP7?`}!yp1m*zo8yp}4y5a|ZJEX!Zpyd^4u_J7q=$0Ah zSme0>yAUX|6r=nmq+-aPcEE&ekO{N0wmMYu+csJ+$&e!kUbMA4U zRo*(SY<^7zMJf^ARE17Lh|9FerPXFfjn(WZx5;)vV9GQRarQ*St+mzQ%{6uhc1p4X z+bkAbQH$-xW~(GHy9+84O!N_9rcZPb;@&FR>M<&}<7&xVQkzJseCG4eq{eVnEyADb zcn~!4VA2FnMqGi-hAYf+Ejvofi*bd$)DCr;NG;-WEu5oFlHq_RhS}A~B~mpmw#g;s zW8|=*1b)@bf-v7~DE6Jh*ck!CpN$IEhD0yR8IYXheu%&tP0PA zZ`t>Icm(JomP28L0hUA>;7~*q{2a0R<$o^uA~KSXLdN-NoM7GPF04;OM~@p7p^x}^ z4YY7Hm`hU#Pv2uW5B(U!2tEmI!g4=k3>bHS5PjwZWYkf4lv-Z6MiEwof>qx`(#4qy za2k@}u;DY+7@8ivhg^%k&1WHFFqNNB%Mdg7czQ+5JP}QKf|WF7DD?Cz7#XMjEB+_% zU&bLAj9o~Q=4K3$*boMDH$=d?4Q~V@YSB^CD9wJsrUJ)M8NTvrS<5XtQS6GWC(9CpgGf>0wm{fW>?}?54B$Th_Xw@jKd{JJ+D7u%|Gv;}1wG$9+)ftni>|sBR)yQ?1+V( z9npT?%N-C@9>tFxk*p6M2iiK!JZS5PQy>pJCMw1XSD#r#OlP`y5_B${SEEq>CfW)! zJ3j|^XS@y>{b)9#mCtA@XwK)u>hmq2?aC%gyVmmL@P#-YdM~CDzn@m|J_v`V@v!ew zFt{!~go?{k;N#0N&~!P9+_*fASD@*j?4AL$yTf8VWDc^`Fqq-3mDN4q&tLS`IY4C< zwfGFAA$kmUbgv*cyZ0)<>Rtio+yc4h7I{!#DS-7?Rzk~_^WeDp;dlf1Yw6>1?zNMk z>{$neJ#}!qr<8FKLAo9dyRXlO?&}V?dm|WD-Y~)b8*`cLgf+dtK}KIJSo@O4Ze@Sp zZ1PK=zmg2zs!|kq?sIIEme2C1CJ%ohigOFwr)!$16HzDI019eRn$(=o*r0Vi2r#lW zpzy2#W$1mc&NVs>{|i=77qs^aaJ%2oNJA2kFHO~PuUx3hGZ2_z2zhXp;~8~6r_N#O U9AOR3rIDnZ1}nyk-Fau>KQbD}!Thrw*K2}9Oq zeTJEv)fixack@RcIgl!TenmB2u4;ytyj=AR8Qd-mYq%X5-f|}~`17bSl=9>=JmFzy rc+Dfvz`Hq^e-F@-&HREaEI^IIqDeqbsptieGh8JjfX3aw@p5VK+;!vSx?Aw;t{LxSBNl(4L?g>aAZf(v#>l(5f;AFo z!RCu>S|EFVvzq}qh8$raPCMr^AgRkG2_&tB6gbYBH(vXHH;;F6E|&^W)kH3BMiyQ! z1K!E|xJ|u*R-|zsmTv?q`uG2?*+0j-r@8Ai#DJ{CyM91PH}2(%3=D6b?v?^MCER!O z{ypVmJPI@or0?n7JeIp@tWWKLymh>rEqGWMS$VngnRzGM^BMtdFXX)rBt7_&f#hnw vg+S7WKMF`L1Cf&iJb_G4frn5nx`OUNeu?05AZaZW%n7zZ8))z3sX{&g3}I|M delta 282 zcmV+#0p1qvV-J^_>d1QwIC35%0I3K^4G3MZ3+ z3M8|p3M&Bu3NVw^3pJAq3>+y6-9`(iApijFLfv%=-E<4xZvN#C0ma>J3f*Q4<=t)s z-DU;lJ__BgvsDZP0Rswe1Cw42GLw-F*OO@uW0TDep_6Y9T9e8TT9YLZNt167;R6b9 g1Cvz|N0Xfq$CFtKAd`g>GY1OYW(zCbb(6soOiXQNzyJUM diff --git a/src/hello/hello-l b/src/hello/hello-l index e9aadfff82e62fd13b1ed80aa316bdbfbdbc4510..abb4f5d88682489b220542d0bf8ce416af3db7d0 100644 GIT binary patch delta 328 zcmZ3Wd`5YL5R(uu7sFk@e|O#fbH*u$ot@FI$U9kysfL4>OM-9x-EF*+moQCb4zj-p$KdA{iNZH?b)I$;k@rWUP$w#@$fm|Ez zQXsjJJCBu@E1wzYAs!}5ReskGq+U^l;jBTU zg&-qS15oA&XUb$vF2l*uT*{N{x#F0(3?@J1DxVz5T{`(ZcOElWKJ#QJ9;3;nJeMYW s@IIZa$JaV}3!mHM-+U*)awqtmCUXnSki_N?J_eB0`vo>kE)a|X0L_MAl>h($ diff --git a/src/init/CVS/Entries b/src/init/CVS/Entries new file mode 100644 index 00000000..758dcc93 --- /dev/null +++ b/src/init/CVS/Entries @@ -0,0 +1,6 @@ +/build-b.ban/1.1.1.1/Mon Nov 17 19:05:56 2003// +/build-l.ban/1.1.1.1/Mon Nov 17 19:05:56 2003// +/init.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/login.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/n.bat/1.1.1.1/Mon Nov 17 19:05:56 2003// +D diff --git a/src/init/CVS/Repository b/src/init/CVS/Repository new file mode 100644 index 00000000..dfc6bd6c --- /dev/null +++ b/src/init/CVS/Repository @@ -0,0 +1 @@ +uzi/src/init diff --git a/src/init/CVS/Root b/src/init/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/init/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/init/init.rel b/src/init/init.rel deleted file mode 100644 index 6fcb192c..00000000 --- a/src/init/init.rel +++ /dev/null @@ -1,1294 +0,0 @@ -XL4 -H 7 areas 34 global symbols -M init -S ?CL64180L_4_06_L00 Ref00000000 -S execve Ref00000000 -S environ Ref00000000 -S getfsys Ref00000000 -S ?S_MULASG_L02 Ref00000000 -S mktime Ref00000000 -S fflush Ref00000000 -S ?S_MUL_L02 Ref00000000 -S unlink Ref00000000 -S ctime Ref00000000 -S printf Ref00000000 -S stderr Ref00000000 -S setenv Ref00000000 -S strchr Ref00000000 -S close Ref00000000 -S __fopen Ref00000000 -S strcmp Ref00000000 -S fgets Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ioctl Ref00000000 -S isatty Ref00000000 -S stime Ref00000000 -S stdout Ref00000000 -S errno Ref00000000 -S asctime Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S time Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S waitpid Ref00000000 -S open Ref00000000 -S fputs Ref00000000 -S fork Ref00000000 -S mount Ref00000000 -S fprintf Ref00000000 -S localtime Ref00000000 -S exit Ref00000000 -S dup2 Ref00000000 -S _read Ref00000000 -S fclose Ref00000000 -S sscanf Ref00000000 -S signal Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size AE8 flags 0 -S process_mtab Def00000276 -S conv_time Def00000601 -S process_inittab Def00000000 -S getint Def00000597 -S generate_mtab Def00000194 -S reopen_console Def00000842 -S main Def000008B7 -S spawn_tty Def000003BC -S determine_tty Def00000140 -A CSTR size 1BD flags 0 -A CONST size F flags 0 -A UDATA0 size 6 flags 0 -A IDATA0 size 8 flags 0 -S tty_list Def00000002 -A CDATA0 size 8 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 7A FF 21 00 00 39 -R 00 00 01 00 02 05 19 00 -T 09 00 00 00 E5 01 25 00 00 00 C5 01 00 00 C5 -R 00 00 01 00 00 06 02 00 -T 12 00 00 00 01 FF FF 11 18 00 00 00 CD -R 00 00 01 00 00 08 02 00 -T 19 00 00 00 00 00 00 00 F1 F1 4D 44 E1 71 23 -R 00 00 01 00 02 04 0F 00 -T 22 00 00 00 70 79 B0 CA 3D 01 00 00 -R 00 00 01 00 00 08 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 21 0C 00 E5 21 02 00 39 4E 23 46 -R 00 00 01 00 -T 33 00 00 00 E1 09 7E E6 00 47 23 7E E6 01 B0 -R 00 00 01 00 -T 3E 00 00 00 C2 33 01 00 00 -R 00 00 01 00 00 05 01 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 21 00 00 39 4E 23 46 C5 01 7F 00 -R 00 00 01 00 -T 4C 00 00 00 21 04 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 11 00 -T 55 00 00 00 F1 7D B4 20 03 -R 00 00 01 00 -T 5A 00 00 00 -R 00 00 01 00 -T 5A 00 00 00 C3 33 01 00 00 -R 00 00 01 00 00 05 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 21 02 00 39 7E FE 23 CA -R 00 00 01 00 -T 65 00 00 00 30 01 00 00 -R 00 00 01 00 00 04 01 00 -T 67 00 00 00 -R 00 00 01 00 -T 67 00 00 00 01 0A 00 21 02 00 39 5D 54 CD -R 00 00 01 00 -T 71 00 00 00 00 00 00 00 DD 75 FC DD 74 FD 7D -R 00 00 01 00 02 04 0D 00 -T 7A 00 00 00 B4 28 08 -R 00 00 01 00 -T 7D 00 00 00 -R 00 00 01 00 -T 7D 00 00 00 DD 6E FC DD 66 FD 36 00 -R 00 00 01 00 -T 85 00 00 00 -R 00 00 01 00 -T 85 00 00 00 21 02 00 39 3E 20 BE D2 -R 00 00 01 00 -T 8D 00 00 00 30 01 00 00 -R 00 00 01 00 00 04 01 00 -T 8F 00 00 00 -R 00 00 01 00 -T 8F 00 00 00 21 02 00 39 E5 21 27 00 00 00 E5 -R 00 00 01 00 00 0A 02 00 -T 98 00 00 00 CD 00 00 00 00 F1 F1 CD -R 00 00 01 00 02 05 0A 00 -T 9E 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 1F 00 -T A7 00 00 00 A4 3C 20 11 -R 00 00 01 00 -T AB 00 00 00 -R 00 00 01 00 -T AB 00 00 00 21 02 00 39 E5 21 3B 00 00 00 E5 -R 00 00 01 00 00 0A 02 00 -T B4 00 00 00 CD 00 00 00 00 F1 F1 C3 -R 00 00 01 00 02 05 0A 00 -T BA 00 00 00 28 00 00 00 -R 00 00 01 00 00 04 01 00 -T BC 00 00 00 -R 00 00 01 00 -T BC 00 00 00 DD 7E FE DD B6 FF 20 5B -R 00 00 01 00 -T C4 00 00 00 -R 00 00 01 00 -T C4 00 00 00 21 02 00 39 22 00 00 00 00 21 -R 00 00 01 00 00 09 04 00 -T CC 00 00 00 00 00 22 02 00 00 00 2A -R 00 00 01 00 00 07 04 00 -T D2 00 00 00 00 00 00 00 E5 01 00 00 00 00 ED -R 00 00 01 00 02 04 02 00 00 0A 04 00 -T D9 00 00 00 5B 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 00 05 04 00 02 0A 01 00 -T E0 00 00 00 2A 00 00 00 00 3E 29 AD B4 20 22 -R 00 00 01 00 02 05 17 00 -T E9 00 00 00 -R 00 00 01 00 -T E9 00 00 00 21 53 00 00 00 22 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 00 0A 04 00 -T F0 00 00 00 02 00 39 22 02 00 00 00 21 00 00 -R 00 00 01 00 00 08 04 00 -T F9 00 00 00 22 04 00 00 00 2A 00 00 00 00 E5 -R 00 00 01 00 00 05 04 00 02 0A 02 00 -T 00 01 00 00 01 00 00 00 00 ED 5B 00 00 00 00 -R 00 00 01 00 00 05 04 00 00 0B 04 00 -T 07 01 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 01 00 -T 0B 01 00 00 -R 00 00 01 00 -T 0B 01 00 00 21 02 00 39 E5 21 3B 00 00 00 E5 -R 00 00 01 00 00 0A 02 00 -T 14 01 00 00 CD 00 00 00 00 F1 F1 11 01 00 CD -R 00 00 01 00 02 05 0A 00 -T 1D 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 23 00 -T 1F 01 00 00 -R 00 00 01 00 -T 1F 01 00 00 21 00 00 E5 21 86 00 39 4D 44 11 -R 00 00 01 00 -T 2A 01 00 00 FF FF CD 00 00 00 00 F1 -R 00 00 01 00 02 07 1C 00 -T 30 01 00 00 -R 00 00 01 00 -T 30 01 00 00 -R 00 00 01 00 -T 30 01 00 00 C3 28 00 00 00 -R 00 00 01 00 00 05 01 00 -T 33 01 00 00 -R 00 00 01 00 -T 33 01 00 00 21 00 00 39 5E 23 56 CD -R 00 00 01 00 -T 3B 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 26 00 -T 3D 01 00 00 -R 00 00 01 00 -T 3D 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 12 00 -T 40 01 00 00 -R 00 00 01 00 -T 40 01 00 00 CD 00 00 00 00 FE FF AF DD 77 FE -R 00 00 01 00 02 05 19 00 -T 49 01 00 00 DD 77 FF -R 00 00 01 00 -T 4C 01 00 00 -R 00 00 01 00 -T 4C 01 00 00 01 01 80 DD 6E FE DD 66 FF 3E 80 -R 00 00 01 00 -T 57 01 00 00 AC 67 ED 42 30 31 -R 00 00 01 00 -T 5D 01 00 00 -R 00 00 01 00 -T 5D 01 00 00 01 06 00 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 67 01 00 00 00 00 00 00 21 06 00 00 00 19 46 -R 00 00 01 00 02 04 07 00 00 09 05 00 -T 6E 01 00 00 23 66 68 DD 4E 02 DD 46 03 A7 ED -R 00 00 01 00 -T 79 01 00 00 42 20 08 -R 00 00 01 00 -T 7C 01 00 00 -R 00 00 01 00 -T 7C 01 00 00 DD 6E FE DD 66 FF 18 0D -R 00 00 01 00 -T 84 01 00 00 -R 00 00 01 00 -T 84 01 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 8C 01 00 00 -R 00 00 01 00 -T 8C 01 00 00 18 BE -R 00 00 01 00 -T 8E 01 00 00 -R 00 00 01 00 -T 8E 01 00 00 21 FF FF -R 00 00 01 00 -T 91 01 00 00 -R 00 00 01 00 -T 91 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 12 00 -T 94 01 00 00 -R 00 00 01 00 -T 94 01 00 00 CD 00 00 00 00 00 FF 21 EC 00 39 -R 00 00 01 00 02 05 19 00 -T 9D 01 00 00 5D 54 21 00 00 00 00 01 0F 00 ED -R 00 00 01 00 00 07 03 00 -T A6 01 00 00 B0 DD 36 FB 5B 00 00 00 DD 36 FC -R 00 00 01 00 09 08 02 00 -T AE 01 00 00 5B 00 00 00 21 62 00 00 00 E5 CD -R 00 00 01 00 89 04 02 00 00 09 02 00 -T B4 01 00 00 00 00 00 00 F1 AF DD 77 EA DD 77 -R 00 00 01 00 02 04 0A 00 -T BD 01 00 00 EB -R 00 00 01 00 -T BE 01 00 00 -R 00 00 01 00 -T BE 01 00 00 01 08 80 DD 6E EA DD 66 EB 3E 80 -R 00 00 01 00 -T C9 01 00 00 AC 67 ED 42 D2 63 02 00 00 -R 00 00 01 00 00 09 01 00 -T D0 01 00 00 -R 00 00 01 00 -T D0 01 00 00 21 00 00 39 4D 44 DD 5E EA DD 56 -R 00 00 01 00 -T DB 01 00 00 EB CD 00 00 00 00 7D B4 20 75 21 -R 00 00 01 00 02 06 03 00 -T E4 01 00 00 00 00 39 46 23 66 68 01 C6 31 A7 -R 00 00 01 00 -T EF 01 00 00 ED 42 20 65 DD 6E E6 DD 66 E7 7D -R 00 00 01 00 -T FA 01 00 00 B4 20 5B -R 00 00 01 00 -T FD 01 00 00 -R 00 00 01 00 -T FD 01 00 00 -R 00 00 01 00 -T FD 01 00 00 -R 00 00 01 00 -T FD 01 00 00 DD 4E E8 06 00 DD 71 EA DD 70 EB -R 00 00 01 00 -T 08 02 00 00 11 7D 00 00 00 CD 00 00 00 00 79 -R 00 00 01 00 00 05 02 00 02 0A 08 00 -T 0F 02 00 00 C6 30 DD 77 F3 21 87 00 00 00 E5 -R 00 00 01 00 00 0A 02 00 -T 18 02 00 00 21 00 00 E5 01 FF FF 11 -R 00 00 01 00 -T 20 02 00 00 7D 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 00 04 02 00 02 09 0F 00 -T 27 02 00 00 DD 75 FD DD 74 FE 7D B4 28 25 -R 00 00 01 00 -T 31 02 00 00 -R 00 00 01 00 -T 31 02 00 00 DD 4E FD DD 46 FE 21 EC 00 39 5D -R 00 00 01 00 -T 3C 02 00 00 54 CD 00 00 00 00 7D A4 3C 28 08 -R 00 00 01 00 02 06 1E 00 -T 45 02 00 00 -R 00 00 01 00 -T 45 02 00 00 DD 36 FB 89 00 00 00 DD 36 FC -R 00 00 01 00 09 07 02 00 -T 4C 02 00 00 89 00 00 00 -R 00 00 01 00 89 04 02 00 -T 4D 02 00 00 -R 00 00 01 00 -T 4D 02 00 00 DD 5E FD DD 56 FE CD 00 00 00 00 -R 00 00 01 00 02 0B 26 00 -T 56 02 00 00 -R 00 00 01 00 -T 56 02 00 00 18 0B -R 00 00 01 00 -T 58 02 00 00 -R 00 00 01 00 -T 58 02 00 00 DD 34 EA 20 03 DD 34 EB -R 00 00 01 00 -T 60 02 00 00 -R 00 00 01 00 -T 60 02 00 00 C3 BE 01 00 00 -R 00 00 01 00 00 05 01 00 -T 63 02 00 00 -R 00 00 01 00 -T 63 02 00 00 DD 6E FB DD 66 FC E5 21 -R 00 00 01 00 -T 6B 02 00 00 8C 00 00 00 E5 CD 00 00 00 00 F1 -R 00 00 01 00 00 04 02 00 02 0A 0A 00 -T 72 02 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 12 00 -T 76 02 00 00 -R 00 00 01 00 -T 76 02 00 00 CD 00 00 00 00 5C FF 21 02 00 39 -R 00 00 01 00 02 05 19 00 -T 7F 02 00 00 E5 01 25 00 00 00 C5 01 00 00 C5 -R 00 00 01 00 00 06 02 00 -T 88 02 00 00 01 FF FF 11 7D 00 00 00 CD -R 00 00 01 00 00 08 02 00 -T 8F 02 00 00 00 00 00 00 F1 F1 4D 44 E1 71 23 -R 00 00 01 00 02 04 0F 00 -T 98 02 00 00 70 79 B0 20 06 -R 00 00 01 00 -T 9D 02 00 00 -R 00 00 01 00 -T 9D 02 00 00 CD 94 01 00 00 C3 B9 03 00 00 -R 00 00 01 00 00 05 01 00 00 0A 01 00 -T A3 02 00 00 -R 00 00 01 00 -T A3 02 00 00 -R 00 00 01 00 -T A3 02 00 00 21 0C 00 E5 21 04 00 39 4E 23 46 -R 00 00 01 00 -T AE 02 00 00 E1 09 7E E6 00 47 23 7E E6 01 B0 -R 00 00 01 00 -T B9 02 00 00 C2 AF 03 00 00 -R 00 00 01 00 00 05 01 00 -T BC 02 00 00 -R 00 00 01 00 -T BC 02 00 00 21 02 00 39 4E 23 46 C5 01 28 00 -R 00 00 01 00 -T C7 02 00 00 21 06 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 11 00 -T D0 02 00 00 F1 7D B4 CA AC 03 00 00 -R 00 00 01 00 00 08 01 00 -T D6 02 00 00 -R 00 00 01 00 -T D6 02 00 00 DD 36 D8 00 DD 36 B0 00 DD 36 88 -R 00 00 01 00 -T E1 02 00 00 00 21 00 00 39 E5 21 7E 00 39 E5 -R 00 00 01 00 -T EC 02 00 00 21 58 00 39 E5 21 32 00 39 E5 21 -R 00 00 01 00 -T F7 02 00 00 90 00 00 00 E5 21 0E 00 39 E5 CD -R 00 00 01 00 00 04 02 00 -T 00 03 00 00 00 00 00 00 F1 F1 F1 F1 F1 4D 44 -R 00 00 01 00 02 04 27 00 -T 09 03 00 00 E1 71 23 70 21 00 00 39 4E 23 46 -R 00 00 01 00 -T 14 03 00 00 21 01 00 CD 00 00 00 00 D2 -R 00 00 01 00 02 08 1B 00 -T 1B 03 00 00 AC 03 00 00 01 97 00 00 00 21 -R 00 00 01 00 00 04 01 00 00 09 02 00 -T 21 03 00 00 54 00 39 5D 54 CD 00 00 00 00 7D -R 00 00 01 00 02 0A 10 00 -T 2A 03 00 00 B4 28 7F -R 00 00 01 00 -T 2D 03 00 00 -R 00 00 01 00 -T 2D 03 00 00 -R 00 00 01 00 -T 2D 03 00 00 -R 00 00 01 00 -T 2D 03 00 00 21 00 00 39 4E 23 46 21 02 00 CD -R 00 00 01 00 -T 38 03 00 00 00 00 00 00 30 23 -R 00 00 01 00 02 04 1B 00 -T 3C 03 00 00 -R 00 00 01 00 -T 3C 03 00 00 21 00 00 39 E5 01 99 00 00 00 21 -R 00 00 01 00 00 0A 02 00 -T 45 03 00 00 7E 00 39 5D 54 CD 00 00 00 00 7D -R 00 00 01 00 02 0A 10 00 -T 4E 03 00 00 B4 20 04 0E 01 18 02 -R 00 00 01 00 -T 55 03 00 00 -R 00 00 01 00 -T 55 03 00 00 0E 00 -R 00 00 01 00 -T 57 03 00 00 -R 00 00 01 00 -T 57 03 00 00 06 00 E1 71 23 70 18 08 -R 00 00 01 00 -T 5F 03 00 00 -R 00 00 01 00 -T 5F 03 00 00 21 00 00 39 AF 77 23 77 -R 00 00 01 00 -T 67 03 00 00 -R 00 00 01 00 -T 67 03 00 00 21 00 00 39 E5 21 02 00 39 4E 23 -R 00 00 01 00 -T 72 03 00 00 46 C5 21 58 00 39 4D 44 21 30 00 -R 00 00 01 00 -T 7D 03 00 00 39 5D 54 CD 00 00 00 00 F1 4D 44 -R 00 00 01 00 02 08 20 00 -T 86 03 00 00 E1 71 23 70 21 00 00 39 23 CB 7E -R 00 00 01 00 -T 91 03 00 00 28 19 -R 00 00 01 00 -T 93 03 00 00 -R 00 00 01 00 -T 93 03 00 00 21 54 00 39 E5 21 2E 00 39 E5 21 -R 00 00 01 00 -T 9E 03 00 00 9C 00 00 00 E5 21 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 0B 00 -T A5 03 00 00 CD 00 00 00 00 F1 F1 F1 F1 -R 00 00 01 00 02 05 21 00 -T AC 03 00 00 -R 00 00 01 00 -T AC 03 00 00 -R 00 00 01 00 -T AC 03 00 00 -R 00 00 01 00 -T AC 03 00 00 C3 A3 02 00 00 -R 00 00 01 00 00 05 01 00 -T AF 03 00 00 -R 00 00 01 00 -T AF 03 00 00 21 02 00 39 5E 23 56 CD -R 00 00 01 00 -T B7 03 00 00 00 00 00 00 -R 00 00 01 00 02 04 26 00 -T B9 03 00 00 -R 00 00 01 00 -T B9 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 12 00 -T BC 03 00 00 -R 00 00 01 00 -T BC 03 00 00 CD 00 00 00 00 F2 FF 11 06 00 DD -R 00 00 01 00 02 05 19 00 -T C5 03 00 00 4E 02 DD 46 03 CD 00 00 00 00 21 -R 00 00 01 00 02 0A 07 00 -T CE 03 00 00 02 00 00 00 19 DD 75 FE DD 74 FF -R 00 00 01 00 00 04 05 00 -T D7 03 00 00 01 01 00 DD 6E 02 DD 66 03 A7 ED -R 00 00 01 00 -T E2 03 00 00 42 38 06 -R 00 00 01 00 -T E5 03 00 00 -R 00 00 01 00 -T E5 03 00 00 11 FF FF CD 00 00 00 00 -R 00 00 01 00 02 08 23 00 -T EB 03 00 00 -R 00 00 01 00 -T EB 03 00 00 CD 00 00 00 00 DD 75 F4 DD 74 F5 -R 00 00 01 00 02 05 1F 00 -T F4 03 00 00 7D B4 28 1E -R 00 00 01 00 -T F8 03 00 00 -R 00 00 01 00 -T F8 03 00 00 21 00 00 22 00 00 00 00 21 04 00 -R 00 00 01 00 00 08 05 00 -T 01 04 00 00 DD 4E FE DD 46 FF 09 DD 4E F4 DD -R 00 00 01 00 -T 0C 04 00 00 46 F5 71 23 70 69 60 C3 -R 00 00 01 00 -T 14 04 00 00 94 05 00 00 -R 00 00 01 00 00 04 01 00 -T 16 04 00 00 -R 00 00 01 00 -T 16 04 00 00 11 00 00 CD 00 00 00 00 11 01 00 -R 00 00 01 00 02 08 0E 00 -T 1F 04 00 00 CD 00 00 00 00 11 02 00 CD -R 00 00 01 00 02 05 0E 00 -T 26 04 00 00 00 00 00 00 21 02 00 E5 DD 6E FE -R 00 00 01 00 02 04 0E 00 -T 2F 04 00 00 DD 66 FF 4E 23 46 C5 CD -R 00 00 01 00 -T 37 04 00 00 00 00 00 00 F1 F1 DD 75 F6 DD 74 -R 00 00 01 00 02 04 1D 00 -T 40 04 00 00 F7 CB 7C 28 06 -R 00 00 01 00 -T 45 04 00 00 -R 00 00 01 00 -T 45 04 00 00 11 FE FF CD 00 00 00 00 -R 00 00 01 00 02 08 23 00 -T 4B 04 00 00 -R 00 00 01 00 -T 4B 04 00 00 DD 5E F6 DD 56 F7 CD 00 00 00 00 -R 00 00 01 00 02 0B 14 00 -T 54 04 00 00 7D B4 28 34 -R 00 00 01 00 -T 58 04 00 00 -R 00 00 01 00 -T 58 04 00 00 21 06 00 39 E5 21 00 00 E5 DD 6E -R 00 00 01 00 -T 63 04 00 00 F6 DD 66 F7 E5 CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 13 00 -T 6C 04 00 00 F1 F1 DD 36 FC 18 DD 36 FD 0C 21 -R 00 00 01 00 -T 77 04 00 00 06 00 39 E5 21 01 00 E5 DD 6E F6 -R 00 00 01 00 -T 82 04 00 00 DD 66 F7 E5 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 09 13 00 -T 8B 04 00 00 F1 -R 00 00 01 00 -T 8C 04 00 00 -R 00 00 01 00 -T 8C 04 00 00 01 01 00 DD 5E F6 DD 56 F7 CD -R 00 00 01 00 -T 96 04 00 00 00 00 00 00 01 02 00 DD 5E F6 DD -R 00 00 01 00 02 04 24 00 -T 9F 04 00 00 56 F7 CD 00 00 00 00 2A -R 00 00 01 00 02 07 24 00 -T A5 04 00 00 00 00 00 00 7D B4 28 21 -R 00 00 01 00 00 04 05 00 -T AB 04 00 00 -R 00 00 01 00 -T AB 04 00 00 CD 76 02 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 01 00 00 0A 01 00 -T B2 04 00 00 6E FE DD 66 FF 4E 23 46 C5 DD 6E -R 00 00 01 00 -T BD 04 00 00 02 DD 66 03 E5 21 BC 00 00 00 E5 -R 00 00 01 00 00 0A 02 00 -T C6 04 00 00 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 05 0A 00 -T CC 04 00 00 -R 00 00 01 00 -T CC 04 00 00 21 01 00 E5 DD 6E FE DD 66 FF 4E -R 00 00 01 00 -T D7 04 00 00 23 46 11 D7 00 00 00 CD -R 00 00 01 00 00 07 02 00 -T DD 04 00 00 00 00 00 00 F1 21 01 00 E5 01 -R 00 00 01 00 02 04 0C 00 -T E5 04 00 00 E0 00 00 00 11 DB 00 00 00 CD -R 00 00 01 00 00 04 02 00 00 09 02 00 -T EB 04 00 00 00 00 00 00 F1 DD 6E FE DD 66 FF -R 00 00 01 00 02 04 0C 00 -T F4 04 00 00 23 23 46 23 66 68 DD 75 F2 DD 74 -R 00 00 01 00 -T FF 04 00 00 F3 -R 00 00 01 00 -T 00 05 00 00 -R 00 00 01 00 -T 00 05 00 00 DD 6E F2 DD 66 F3 23 7E B7 28 0A -R 00 00 01 00 -T 0B 05 00 00 -R 00 00 01 00 -T 0B 05 00 00 DD 34 F2 20 03 DD 34 F3 -R 00 00 01 00 -T 13 05 00 00 -R 00 00 01 00 -T 13 05 00 00 18 EB -R 00 00 01 00 -T 15 05 00 00 -R 00 00 01 00 -T 15 05 00 00 -R 00 00 01 00 -T 15 05 00 00 DD 6E FE DD 66 FF 23 23 46 23 66 -R 00 00 01 00 -T 20 05 00 00 68 DD 4E F2 DD 46 F3 A7 ED 42 30 -R 00 00 01 00 -T 2B 05 00 00 1B DD 6E F2 DD 66 F3 2B 7E FE 2F -R 00 00 01 00 -T 36 05 00 00 28 0F -R 00 00 01 00 -T 38 05 00 00 -R 00 00 01 00 -T 38 05 00 00 -R 00 00 01 00 -T 38 05 00 00 -R 00 00 01 00 -T 38 05 00 00 DD 6E F2 DD 66 F3 2B DD 75 F2 DD -R 00 00 01 00 -T 43 05 00 00 74 F3 18 CE -R 00 00 01 00 -T 47 05 00 00 -R 00 00 01 00 -T 47 05 00 00 DD 6E F2 DD 66 F3 E5 DD 6E 04 DD -R 00 00 01 00 -T 52 05 00 00 66 05 C1 71 23 70 21 E5 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 5B 05 00 00 E5 CD 00 00 00 00 F1 2A -R 00 00 01 00 02 06 0A 00 -T 61 05 00 00 00 00 00 00 E5 DD 4E 04 DD 46 05 -R 00 00 01 00 02 04 02 00 -T 6A 05 00 00 DD 6E FE DD 66 FF 23 23 5E 23 56 -R 00 00 01 00 -T 75 05 00 00 CD 00 00 00 00 F1 DD 6E FE DD 66 -R 00 00 01 00 02 05 01 00 -T 7E 05 00 00 FF 23 23 4E 23 46 C5 21 -R 00 00 01 00 -T 86 05 00 00 3B 00 00 00 E5 CD 00 00 00 00 F1 -R 00 00 01 00 00 04 02 00 02 0A 0A 00 -T 8D 05 00 00 F1 11 FD FF CD 00 00 00 00 -R 00 00 01 00 02 09 23 00 -T 94 05 00 00 -R 00 00 01 00 -T 94 05 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 12 00 -T 97 05 00 00 -R 00 00 01 00 -T 97 05 00 00 CD 00 00 00 00 FE FF AF DD 77 FE -R 00 00 01 00 02 05 19 00 -T A0 05 00 00 DD 77 FF -R 00 00 01 00 -T A3 05 00 00 -R 00 00 01 00 -T A3 05 00 00 DD 6E 02 DD 66 03 7E FE 30 38 39 -R 00 00 01 00 -T AE 05 00 00 DD 6E 02 DD 66 03 3E 39 BE 38 2E -R 00 00 01 00 -T B9 05 00 00 -R 00 00 01 00 -T B9 05 00 00 -R 00 00 01 00 -T B9 05 00 00 -R 00 00 01 00 -T B9 05 00 00 21 00 00 39 01 0A 00 CD -R 00 00 01 00 -T C1 05 00 00 00 00 00 00 DD 6E 02 DD 66 03 4E -R 00 00 01 00 02 04 04 00 -T CA 05 00 00 06 00 21 D0 FF 09 4D 44 21 00 00 -R 00 00 01 00 -T D5 05 00 00 39 7E 81 77 23 7E 88 77 DD 34 02 -R 00 00 01 00 -T E0 05 00 00 20 03 DD 34 03 -R 00 00 01 00 -T E5 05 00 00 -R 00 00 01 00 -T E5 05 00 00 18 BC -R 00 00 01 00 -T E7 05 00 00 -R 00 00 01 00 -T E7 05 00 00 DD 6E 02 DD 66 03 E5 DD 6E 04 DD -R 00 00 01 00 -T F2 05 00 00 66 05 C1 71 23 70 DD 6E FE DD 66 -R 00 00 01 00 -T FD 05 00 00 FF C3 00 00 00 00 -R 00 00 01 00 02 06 12 00 -T 01 06 00 00 -R 00 00 01 00 -T 01 06 00 00 CD 00 00 00 00 F2 FF DD 6E 02 DD -R 00 00 01 00 02 05 19 00 -T 0A 06 00 00 66 03 DD 75 FE DD 74 FF 21 0C 00 -R 00 00 01 00 -T 15 06 00 00 39 4D 44 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 1F 06 00 00 97 05 00 00 DD 75 F2 DD 74 F3 CB -R 00 00 01 00 00 04 01 00 -T 28 06 00 00 7C 20 21 DD 4E F2 DD 46 F3 21 -R 00 00 01 00 -T 32 06 00 00 17 00 CD 00 00 00 00 38 13 DD 6E -R 00 00 01 00 02 07 1B 00 -T 3B 06 00 00 FE DD 66 FF 23 DD 75 FE DD 74 FF -R 00 00 01 00 -T 46 06 00 00 2B 7E FE 3A 28 06 -R 00 00 01 00 -T 4C 06 00 00 -R 00 00 01 00 -T 4C 06 00 00 -R 00 00 01 00 -T 4C 06 00 00 -R 00 00 01 00 -T 4C 06 00 00 21 00 00 C3 3F 08 00 00 -R 00 00 01 00 00 08 01 00 -T 52 06 00 00 -R 00 00 01 00 -T 52 06 00 00 21 0C 00 39 4D 44 DD 5E FE DD 56 -R 00 00 01 00 -T 5D 06 00 00 FF CD 97 05 00 00 DD 75 F4 DD 74 -R 00 00 01 00 00 06 01 00 -T 66 06 00 00 F5 CB 7C 20 0E DD 4E F4 DD 46 F5 -R 00 00 01 00 -T 71 06 00 00 21 3B 00 CD 00 00 00 00 30 06 -R 00 00 01 00 02 08 1B 00 -T 79 06 00 00 -R 00 00 01 00 -T 79 06 00 00 -R 00 00 01 00 -T 79 06 00 00 -R 00 00 01 00 -T 79 06 00 00 21 00 00 C3 3F 08 00 00 -R 00 00 01 00 00 08 01 00 -T 7F 06 00 00 -R 00 00 01 00 -T 7F 06 00 00 DD 6E FE DD 66 FF AF B6 28 52 -R 00 00 01 00 -T 89 06 00 00 -R 00 00 01 00 -T 89 06 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 94 06 00 00 74 FF 2B 7E FE 3A 28 06 -R 00 00 01 00 -T 9C 06 00 00 -R 00 00 01 00 -T 9C 06 00 00 21 00 00 C3 3F 08 00 00 -R 00 00 01 00 00 08 01 00 -T A2 06 00 00 -R 00 00 01 00 -T A2 06 00 00 21 0C 00 39 4D 44 DD 5E FE DD 56 -R 00 00 01 00 -T AD 06 00 00 FF CD 97 05 00 00 DD 75 F6 DD 74 -R 00 00 01 00 00 06 01 00 -T B6 06 00 00 F7 CB 7C 20 18 DD 4E F6 DD 46 F7 -R 00 00 01 00 -T C1 06 00 00 21 3B 00 CD 00 00 00 00 38 0A DD -R 00 00 01 00 02 08 1B 00 -T CA 06 00 00 6E FE DD 66 FF AF B6 28 06 -R 00 00 01 00 -T D3 06 00 00 -R 00 00 01 00 -T D3 06 00 00 -R 00 00 01 00 -T D3 06 00 00 -R 00 00 01 00 -T D3 06 00 00 21 00 00 C3 3F 08 00 00 -R 00 00 01 00 00 08 01 00 -T D9 06 00 00 -R 00 00 01 00 -T D9 06 00 00 18 07 -R 00 00 01 00 -T DB 06 00 00 -R 00 00 01 00 -T DB 06 00 00 AF DD 77 F6 DD 77 F7 -R 00 00 01 00 -T E2 06 00 00 -R 00 00 01 00 -T E2 06 00 00 DD 6E 04 DD 66 05 DD 75 FE DD 74 -R 00 00 01 00 -T ED 06 00 00 FF 21 0C 00 39 4D 44 DD 5E FE DD -R 00 00 01 00 -T F8 06 00 00 56 FF CD 97 05 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T 01 07 00 00 74 F9 01 01 80 3E 80 AC 67 ED 42 -R 00 00 01 00 -T 0C 07 00 00 38 21 DD 4E F8 DD 46 F9 21 1F 00 -R 00 00 01 00 -T 17 07 00 00 CD 00 00 00 00 38 13 DD 6E FE DD -R 00 00 01 00 02 05 1B 00 -T 20 07 00 00 66 FF 23 DD 75 FE DD 74 FF 2B 7E -R 00 00 01 00 -T 2B 07 00 00 FE 2F 28 06 -R 00 00 01 00 -T 2F 07 00 00 -R 00 00 01 00 -T 2F 07 00 00 -R 00 00 01 00 -T 2F 07 00 00 -R 00 00 01 00 -T 2F 07 00 00 21 00 00 C3 3F 08 00 00 -R 00 00 01 00 00 08 01 00 -T 35 07 00 00 -R 00 00 01 00 -T 35 07 00 00 21 0C 00 39 4D 44 DD 5E FE DD 56 -R 00 00 01 00 -T 40 07 00 00 FF CD 97 05 00 00 DD 75 FA DD 74 -R 00 00 01 00 00 06 01 00 -T 49 07 00 00 FB 01 01 80 3E 80 AC 67 ED 42 38 -R 00 00 01 00 -T 54 07 00 00 21 DD 4E FA DD 46 FB 21 0C 00 CD -R 00 00 01 00 -T 5F 07 00 00 00 00 00 00 38 13 DD 6E FE DD 66 -R 00 00 01 00 02 04 1B 00 -T 68 07 00 00 FF 23 DD 75 FE DD 74 FF 2B 7E FE -R 00 00 01 00 -T 73 07 00 00 2F 28 06 -R 00 00 01 00 -T 76 07 00 00 -R 00 00 01 00 -T 76 07 00 00 -R 00 00 01 00 -T 76 07 00 00 -R 00 00 01 00 -T 76 07 00 00 21 00 00 C3 3F 08 00 00 -R 00 00 01 00 00 08 01 00 -T 7C 07 00 00 -R 00 00 01 00 -T 7C 07 00 00 21 0C 00 39 4D 44 DD 5E FE DD 56 -R 00 00 01 00 -T 87 07 00 00 FF CD 97 05 00 00 DD 75 FC DD 74 -R 00 00 01 00 00 06 01 00 -T 90 07 00 00 FD 01 64 80 3E 80 AC 67 ED 42 30 -R 00 00 01 00 -T 9B 07 00 00 1F -R 00 00 01 00 -T 9C 07 00 00 -R 00 00 01 00 -T 9C 07 00 00 01 50 80 DD 6E FC DD 66 FD 3E 80 -R 00 00 01 00 -T A7 07 00 00 AC 67 ED 42 30 0C -R 00 00 01 00 -T AD 07 00 00 -R 00 00 01 00 -T AD 07 00 00 21 0A 00 39 7E C6 64 77 30 02 23 -R 00 00 01 00 -T B8 07 00 00 34 -R 00 00 01 00 -T B9 07 00 00 -R 00 00 01 00 -T B9 07 00 00 -R 00 00 01 00 -T B9 07 00 00 18 0D -R 00 00 01 00 -T BB 07 00 00 -R 00 00 01 00 -T BB 07 00 00 21 0A 00 39 7E D6 6C 77 23 7E DE -R 00 00 01 00 -T C6 07 00 00 07 77 -R 00 00 01 00 -T C8 07 00 00 -R 00 00 01 00 -T C8 07 00 00 DD CB FD 7E 20 0A DD 6E FE DD 66 -R 00 00 01 00 -T D3 07 00 00 FF AF B6 28 05 -R 00 00 01 00 -T D8 07 00 00 -R 00 00 01 00 -T D8 07 00 00 -R 00 00 01 00 -T D8 07 00 00 -R 00 00 01 00 -T D8 07 00 00 21 00 00 18 62 -R 00 00 01 00 -T DD 07 00 00 -R 00 00 01 00 -T DD 07 00 00 21 04 00 DD 4E 08 DD 46 09 09 DD -R 00 00 01 00 -T E8 07 00 00 5E F2 DD 56 F3 73 23 72 69 60 23 -R 00 00 01 00 -T F3 07 00 00 23 DD 4E F4 DD 46 F5 71 23 70 DD -R 00 00 01 00 -T FE 07 00 00 6E F6 DD 66 F7 E5 DD 6E 08 DD 66 -R 00 00 01 00 -T 09 08 00 00 09 C1 71 23 70 21 0A 00 DD 4E 08 -R 00 00 01 00 -T 14 08 00 00 DD 46 09 09 DD 5E FC DD 56 FD 73 -R 00 00 01 00 -T 1F 08 00 00 23 72 21 08 00 09 DD 5E FA DD 56 -R 00 00 01 00 -T 2A 08 00 00 FB 1B 73 23 72 21 06 00 09 DD 4E -R 00 00 01 00 -T 35 08 00 00 F8 DD 46 F9 71 23 70 21 01 00 -R 00 00 01 00 -T 3F 08 00 00 -R 00 00 01 00 -T 3F 08 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 12 00 -T 42 08 00 00 -R 00 00 01 00 -T 42 08 00 00 CD 00 00 00 00 F8 FF 11 00 00 CD -R 00 00 01 00 02 05 19 00 -T 4B 08 00 00 00 00 00 00 21 02 00 E5 21 -R 00 00 01 00 02 04 0E 00 -T 52 08 00 00 00 00 00 00 E5 CD 00 00 00 00 F1 -R 00 00 01 00 00 04 02 00 02 0A 1D 00 -T 59 08 00 00 F1 DD 75 F8 DD 74 F9 EB CD -R 00 00 01 00 -T 62 08 00 00 00 00 00 00 7D B4 28 34 -R 00 00 01 00 02 04 14 00 -T 68 08 00 00 -R 00 00 01 00 -T 68 08 00 00 21 02 00 39 E5 21 00 00 E5 DD 6E -R 00 00 01 00 -T 73 08 00 00 F8 DD 66 F9 E5 CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 13 00 -T 7C 08 00 00 F1 F1 DD 36 FE 18 DD 36 FF 0C 21 -R 00 00 01 00 -T 87 08 00 00 02 00 39 E5 21 01 00 E5 DD 6E F8 -R 00 00 01 00 -T 92 08 00 00 DD 66 F9 E5 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 09 13 00 -T 9B 08 00 00 F1 -R 00 00 01 00 -T 9C 08 00 00 -R 00 00 01 00 -T 9C 08 00 00 01 01 00 DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T A6 08 00 00 00 00 00 00 01 02 00 DD 5E F8 DD -R 00 00 01 00 02 04 24 00 -T AF 08 00 00 56 F9 CD 00 00 00 00 C3 -R 00 00 01 00 02 07 24 00 -T B5 08 00 00 00 00 00 00 -R 00 00 01 00 02 04 12 00 -T B7 08 00 00 -R 00 00 01 00 -T B7 08 00 00 CD 00 00 00 00 B4 FF 01 01 00 11 -R 00 00 01 00 02 05 19 00 -T C0 08 00 00 02 00 CD 00 00 00 00 01 01 00 11 -R 00 00 01 00 02 07 28 00 -T C9 08 00 00 06 00 CD 00 00 00 00 CD -R 00 00 01 00 02 07 28 00 -T CF 08 00 00 42 08 00 00 21 00 00 E5 01 -R 00 00 01 00 00 04 01 00 -T D6 08 00 00 FE 00 00 00 11 F9 00 00 00 CD -R 00 00 01 00 00 04 02 00 00 09 02 00 -T DC 08 00 00 00 00 00 00 F1 21 00 00 E5 01 -R 00 00 01 00 02 04 0C 00 -T E4 08 00 00 97 00 00 00 11 22 01 00 00 CD -R 00 00 01 00 00 04 02 00 00 09 02 00 -T EA 08 00 00 00 00 00 00 F1 21 27 01 00 00 E5 -R 00 00 01 00 02 04 0C 00 00 0A 02 00 -T F1 08 00 00 CD 00 00 00 00 F1 11 00 00 00 00 -R 00 00 01 00 02 05 0A 00 02 0B 16 00 -T F8 08 00 00 CD 00 00 00 00 21 42 00 39 4D 44 -R 00 00 01 00 02 05 06 00 -T 01 09 00 00 21 48 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 1A 00 -T 0A 09 00 00 -R 00 00 01 00 -T 0A 09 00 00 DD 6E F6 DD 66 F7 7D B4 20 1B DD -R 00 00 01 00 -T 15 09 00 00 6E F8 DD 66 F9 7D B4 20 11 -R 00 00 01 00 -T 1E 09 00 00 -R 00 00 01 00 -T 1E 09 00 00 -R 00 00 01 00 -T 1E 09 00 00 -R 00 00 01 00 -T 1E 09 00 00 21 42 00 39 4D 44 21 48 00 39 5D -R 00 00 01 00 -T 29 09 00 00 54 CD 00 00 00 00 18 DB -R 00 00 01 00 02 06 1A 00 -T 2F 09 00 00 -R 00 00 01 00 -T 2F 09 00 00 21 42 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 22 00 -T 38 09 00 00 DD 75 FA DD 74 FB EB CD -R 00 00 01 00 -T 40 09 00 00 00 00 00 00 E5 21 33 01 00 00 E5 -R 00 00 01 00 02 04 18 00 00 0A 02 00 -T 47 09 00 00 CD 00 00 00 00 F1 F1 11 -R 00 00 01 00 02 05 0A 00 -T 4D 09 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 16 00 02 09 06 00 -T 53 09 00 00 0A 00 DD 4E FA DD 46 FB 09 46 23 -R 00 00 01 00 -T 5E 09 00 00 66 68 01 67 80 3E 80 AC 67 ED 42 -R 00 00 01 00 -T 69 09 00 00 D2 1D 0A 00 00 -R 00 00 01 00 00 05 01 00 -T 6C 09 00 00 -R 00 00 01 00 -T 6C 09 00 00 21 36 01 00 00 E5 CD 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 0A 00 -T 73 09 00 00 F1 11 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 06 16 00 02 0B 06 00 -T 7A 09 00 00 21 27 00 E5 21 08 00 39 4D 44 11 -R 00 00 01 00 -T 85 09 00 00 00 00 CD 00 00 00 00 F1 01 0A 00 -R 00 00 01 00 02 07 25 00 -T 8E 09 00 00 21 06 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 0D 00 -T 97 09 00 00 DD 75 E2 DD 74 E3 36 00 01 20 00 -R 00 00 01 00 -T A2 09 00 00 21 06 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 0D 00 -T AB 09 00 00 DD 75 E2 DD 74 E3 36 00 21 30 00 -R 00 00 01 00 -T B6 09 00 00 39 E5 DD 4E E2 DD 46 E3 03 21 -R 00 00 01 00 -T C0 09 00 00 08 00 39 5D 54 CD 01 06 00 00 F1 -R 00 00 01 00 00 0A 01 00 -T C9 09 00 00 7D B4 20 0A -R 00 00 01 00 -T CD 09 00 00 -R 00 00 01 00 -T CD 09 00 00 21 60 01 00 00 E5 CD 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 0A 00 -T D4 09 00 00 F1 18 46 -R 00 00 01 00 -T D7 09 00 00 -R 00 00 01 00 -T D7 09 00 00 21 42 00 39 5D 54 D5 21 32 00 39 -R 00 00 01 00 -T E2 09 00 00 4D 44 21 4A 00 39 5D 54 CD -R 00 00 01 00 -T EB 09 00 00 00 00 00 00 D1 01 04 00 ED B0 21 -R 00 00 01 00 02 04 05 00 -T F4 09 00 00 42 00 39 5D 54 CD 00 00 00 00 CB -R 00 00 01 00 02 0A 15 00 -T FD 09 00 00 7C 28 0A -R 00 00 01 00 -T 00 0A 00 00 -R 00 00 01 00 -T 00 0A 00 00 21 76 01 00 00 E5 CD 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 0A 00 -T 07 0A 00 00 F1 18 13 -R 00 00 01 00 -T 0A 0A 00 00 -R 00 00 01 00 -T 0A 0A 00 00 21 42 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 09 00 -T 13 0A 00 00 E5 21 8B 01 00 00 E5 CD -R 00 00 01 00 00 06 02 00 -T 19 0A 00 00 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0A 00 -T 1D 0A 00 00 -R 00 00 01 00 -T 1D 0A 00 00 -R 00 00 01 00 -T 1D 0A 00 00 -R 00 00 01 00 -T 1D 0A 00 00 21 9D 01 00 00 E5 CD 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 0A 00 -T 24 0A 00 00 F1 11 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 06 16 00 02 0B 06 00 -T 2B 0A 00 00 AF DD 77 B4 DD 77 B5 -R 00 00 01 00 -T 32 0A 00 00 -R 00 00 01 00 -T 32 0A 00 00 01 01 80 DD 6E B4 DD 66 B5 3E 80 -R 00 00 01 00 -T 3D 0A 00 00 AC 67 ED 42 30 19 -R 00 00 01 00 -T 43 0A 00 00 -R 00 00 01 00 -T 43 0A 00 00 DD 4E 04 DD 46 05 DD 5E B4 DD 56 -R 00 00 01 00 -T 4E 0A 00 00 B5 CD BC 03 00 00 DD 34 B4 20 03 -R 00 00 01 00 00 06 01 00 -T 57 0A 00 00 DD 34 B5 -R 00 00 01 00 -T 5A 0A 00 00 -R 00 00 01 00 -T 5A 0A 00 00 18 D6 -R 00 00 01 00 -T 5C 0A 00 00 -R 00 00 01 00 -T 5C 0A 00 00 CD 42 08 00 00 -R 00 00 01 00 00 05 01 00 -T 5F 0A 00 00 -R 00 00 01 00 -T 5F 0A 00 00 AF 3C CA E5 0A 00 00 -R 00 00 01 00 00 07 01 00 -T 64 0A 00 00 -R 00 00 01 00 -T 64 0A 00 00 21 00 00 E5 21 06 00 39 4D 44 11 -R 00 00 01 00 -T 6F 0A 00 00 FF FF CD 00 00 00 00 F1 DD 75 B6 -R 00 00 01 00 02 07 1C 00 -T 78 0A 00 00 DD 74 B7 11 00 00 00 00 CD -R 00 00 01 00 02 08 16 00 -T 7F 0A 00 00 00 00 00 00 DD 5E B6 DD 56 B7 CD -R 00 00 01 00 02 04 06 00 -T 88 0A 00 00 40 01 00 00 DD 75 B4 DD 74 B5 CB -R 00 00 01 00 00 04 01 00 -T 91 0A 00 00 7C 20 4E -R 00 00 01 00 -T 94 0A 00 00 -R 00 00 01 00 -T 94 0A 00 00 01 06 00 DD 5E B4 DD 56 B5 CD -R 00 00 01 00 -T 9E 0A 00 00 00 00 00 00 21 02 00 00 00 19 4E -R 00 00 01 00 02 04 07 00 00 09 05 00 -T A5 0A 00 00 23 46 C5 DD 6E B4 DD 66 B5 E5 21 -R 00 00 01 00 -T B0 0A 00 00 9F 01 00 00 E5 CD 00 00 00 00 F1 -R 00 00 01 00 00 04 02 00 02 0A 0A 00 -T B7 0A 00 00 F1 F1 11 00 00 00 00 CD -R 00 00 01 00 02 07 16 00 -T BD 0A 00 00 00 00 00 00 01 06 00 DD 5E B4 DD -R 00 00 01 00 02 04 06 00 -T C6 0A 00 00 56 B5 CD 00 00 00 00 21 -R 00 00 01 00 02 07 07 00 -T CC 0A 00 00 06 00 00 00 19 AF 77 23 77 DD 4E -R 00 00 01 00 00 04 05 00 -T D5 0A 00 00 04 DD 46 05 DD 5E B4 DD 56 B5 CD -R 00 00 01 00 -T E0 0A 00 00 BC 03 00 00 -R 00 00 01 00 00 04 01 00 -T E2 0A 00 00 -R 00 00 01 00 -T E2 0A 00 00 C3 5F 0A 00 00 -R 00 00 01 00 00 05 01 00 -T E5 0A 00 00 -R 00 00 01 00 -T E5 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 12 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2F 64 65 76 2F 63 6F 6E 73 6F 6C -R 00 00 02 00 -T 0B 00 00 00 65 00 -R 00 00 02 00 -T 0D 00 00 00 -R 00 00 02 00 -T 0D 00 00 00 2F 62 69 6E 2F 6C 6F 67 69 6E 00 -R 00 00 02 00 -T 18 00 00 00 -R 00 00 02 00 -T 18 00 00 00 2F 65 74 63 2F 69 6E 69 74 74 61 -R 00 00 02 00 -T 23 00 00 00 62 00 -R 00 00 02 00 -T 25 00 00 00 -R 00 00 02 00 -T 25 00 00 00 72 00 -R 00 00 02 00 -T 27 00 00 00 -R 00 00 02 00 -T 27 00 00 00 69 6E 69 74 3A 20 65 78 65 63 75 -R 00 00 02 00 -T 32 00 00 00 74 69 6E 67 20 25 73 0A 00 -R 00 00 02 00 -T 3B 00 00 00 -R 00 00 02 00 -T 3B 00 00 00 69 6E 69 74 3A 20 63 61 6E 27 74 -R 00 00 02 00 -T 46 00 00 00 20 65 78 65 63 75 74 65 20 25 73 -R 00 00 02 00 -T 51 00 00 00 0A 00 -R 00 00 02 00 -T 53 00 00 00 -R 00 00 02 00 -T 53 00 00 00 2F 62 69 6E 2F 73 68 00 -R 00 00 02 00 -T 5B 00 00 00 -R 00 00 02 00 -T 5B 00 00 00 66 61 69 6C 65 64 00 -R 00 00 02 00 -T 62 00 00 00 -R 00 00 02 00 -T 62 00 00 00 69 6E 69 74 3A 20 63 72 65 61 74 -R 00 00 02 00 -T 6D 00 00 00 69 6E 67 20 2F 65 74 63 2F 6D 74 -R 00 00 02 00 -T 78 00 00 00 61 62 3A 20 00 -R 00 00 02 00 -T 7D 00 00 00 -R 00 00 02 00 -T 7D 00 00 00 2F 65 74 63 2F 6D 74 61 62 00 -R 00 00 02 00 -T 87 00 00 00 -R 00 00 02 00 -T 87 00 00 00 77 00 -R 00 00 02 00 -T 89 00 00 00 -R 00 00 02 00 -T 89 00 00 00 6F 6B 00 -R 00 00 02 00 -T 8C 00 00 00 -R 00 00 02 00 -T 8C 00 00 00 25 73 0A 00 -R 00 00 02 00 -T 90 00 00 00 -R 00 00 02 00 -T 90 00 00 00 25 73 25 73 25 73 00 -R 00 00 02 00 -T 97 00 00 00 -R 00 00 02 00 -T 97 00 00 00 2F 00 -R 00 00 02 00 -T 99 00 00 00 -R 00 00 02 00 -T 99 00 00 00 72 6F 00 -R 00 00 02 00 -T 9C 00 00 00 -R 00 00 02 00 -T 9C 00 00 00 69 6E 69 74 3A 20 66 61 69 6C 65 -R 00 00 02 00 -T A7 00 00 00 64 20 74 6F 20 6D 6F 75 6E 74 20 -R 00 00 02 00 -T B2 00 00 00 25 73 20 6F 6E 20 25 73 0A 00 -R 00 00 02 00 -T BC 00 00 00 -R 00 00 02 00 -T BC 00 00 00 53 70 61 77 6E 69 6E 67 20 74 74 -R 00 00 02 00 -T C7 00 00 00 79 20 23 25 64 20 28 25 73 29 3A -R 00 00 02 00 -T D2 00 00 00 20 6F 6B 0A 00 -R 00 00 02 00 -T D7 00 00 00 -R 00 00 02 00 -T D7 00 00 00 54 54 59 00 -R 00 00 02 00 -T DB 00 00 00 -R 00 00 02 00 -T DB 00 00 00 54 45 52 4D 00 -R 00 00 02 00 -T E0 00 00 00 -R 00 00 02 00 -T E0 00 00 00 61 6E 73 69 00 -R 00 00 02 00 -T E5 00 00 00 -R 00 00 02 00 -T E5 00 00 00 53 74 61 72 74 69 6E 67 20 6C 6F -R 00 00 02 00 -T F0 00 00 00 67 69 6E 2E 2E 2E 0A 0A 00 -R 00 00 02 00 -T F9 00 00 00 -R 00 00 02 00 -T F9 00 00 00 50 41 54 48 00 -R 00 00 02 00 -T FE 00 00 00 -R 00 00 02 00 -T FE 00 00 00 2E 3A 2F 62 69 6E 3A 2F 75 73 72 -R 00 00 02 00 -T 09 01 00 00 2F 62 69 6E 3A 2F 65 74 63 3A 2F -R 00 00 02 00 -T 14 01 00 00 75 73 72 2F 6C 6F 63 61 6C 2F 62 -R 00 00 02 00 -T 1F 01 00 00 69 6E 00 -R 00 00 02 00 -T 22 01 00 00 -R 00 00 02 00 -T 22 01 00 00 48 4F 4D 45 00 -R 00 00 02 00 -T 27 01 00 00 -R 00 00 02 00 -T 27 01 00 00 44 61 74 65 2F 74 69 6D 65 3A 20 -R 00 00 02 00 -T 32 01 00 00 00 -R 00 00 02 00 -T 33 01 00 00 -R 00 00 02 00 -T 33 01 00 00 25 73 00 -R 00 00 02 00 -T 36 01 00 00 -R 00 00 02 00 -T 36 01 00 00 45 6E 74 65 72 20 64 61 74 65 2F -R 00 00 02 00 -T 41 01 00 00 74 69 6D 65 20 28 68 68 3A 6D 6D -R 00 00 02 00 -T 4C 01 00 00 5B 3A 73 73 5D 20 64 64 2F 6D 6D -R 00 00 02 00 -T 57 01 00 00 2F 79 79 79 79 29 3A 20 00 -R 00 00 02 00 -T 60 01 00 00 -R 00 00 02 00 -T 60 01 00 00 42 61 64 20 64 61 74 65 2F 74 69 -R 00 00 02 00 -T 6B 01 00 00 6D 65 20 66 6F 72 6D 61 74 0A 00 -R 00 00 02 00 -T 76 01 00 00 -R 00 00 02 00 -T 76 01 00 00 45 72 72 6F 72 20 73 65 74 74 69 -R 00 00 02 00 -T 81 01 00 00 6E 67 20 63 6C 6F 63 6B 0A 00 -R 00 00 02 00 -T 8B 01 00 00 -R 00 00 02 00 -T 8B 01 00 00 4E 65 77 20 64 61 74 65 2F 74 69 -R 00 00 02 00 -T 96 01 00 00 6D 65 3A 20 25 73 00 -R 00 00 02 00 -T 9D 01 00 00 -R 00 00 02 00 -T 9D 01 00 00 0A 00 -R 00 00 02 00 -T 9F 01 00 00 -R 00 00 02 00 -T 9F 01 00 00 0A 52 65 73 70 61 77 6E 69 6E 67 -R 00 00 02 00 -T AA 01 00 00 20 74 74 79 20 23 25 64 20 28 25 -R 00 00 02 00 -T B5 01 00 00 73 29 3A 20 6F 6B 0A 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 2F 64 65 76 2F 68 64 58 09 2F 09 -R 00 00 03 00 -T 0B 00 00 00 72 77 0A 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 05 00 -T 00 00 00 00 -R 00 00 05 00 -T 02 00 00 00 -R 00 00 05 00 -T 02 00 00 00 -R 00 00 05 00 -T 00 00 00 00 01 00 00 00 00 00 0D 00 00 00 00 -R 00 00 06 00 00 06 02 00 00 0A 02 00 -T 07 00 00 00 00 -R 00 00 06 00 diff --git a/src/init/login.rel b/src/init/login.rel deleted file mode 100644 index acea17f5..00000000 --- a/src/init/login.rel +++ /dev/null @@ -1,273 +0,0 @@ -XL4 -H 3 areas 1B global symbols -M login -S ?CL64180L_4_06_L00 Ref00000000 -S setgid Ref00000000 -S strrchr Ref00000000 -S fflush Ref00000000 -S chdir Ref00000000 -S setuid Ref00000000 -S setenv Ref00000000 -S strlen Ref00000000 -S strcmp Ref00000000 -S fgets Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S perror Ref00000000 -S execv Ref00000000 -S stdin Ref00000000 -S fputc Ref00000000 -S stdout Ref00000000 -S getpwnam Ref00000000 -S strcpy Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S fputs Ref00000000 -S crypt Ref00000000 -S getpass Ref00000000 -S exit Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 270 flags 0 -S login Def00000000 -S main Def0000011A -A CSTR size 3F flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 BE FF 01 -R 00 00 01 00 02 05 12 00 -T 06 00 00 00 00 00 00 00 11 00 00 00 00 CD -R 00 00 01 00 02 04 0F 00 00 09 02 00 -T 0C 00 00 00 00 00 00 00 11 00 00 00 00 CD -R 00 00 01 00 02 04 14 00 02 09 0F 00 -T 12 00 00 00 00 00 00 00 21 0C 00 DD 4E 02 DD -R 00 00 01 00 02 04 03 00 -T 1B 00 00 00 46 03 09 7E 23 66 6F AF B6 20 0F -R 00 00 01 00 -T 26 00 00 00 -R 00 00 01 00 -T 26 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 36 -R 00 00 01 00 -T 31 00 00 00 02 00 00 00 23 36 02 00 00 00 -R 00 00 01 00 09 04 02 00 89 0A 02 00 -T 35 00 00 00 -R 00 00 01 00 -T 35 00 00 00 DD 36 BE 2D 01 2F 00 21 0C 00 DD -R 00 00 01 00 -T 40 00 00 00 5E 02 DD 56 03 19 5E 23 56 CD -R 00 00 01 00 -T 4A 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 02 00 -T 53 00 00 00 B4 28 0A -R 00 00 01 00 -T 56 00 00 00 -R 00 00 01 00 -T 56 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 18 14 -R 00 00 01 00 -T 60 00 00 00 -R 00 00 01 00 -T 60 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 46 -R 00 00 01 00 -T 6B 00 00 00 23 66 68 DD 75 FE DD 74 FF -R 00 00 01 00 -T 74 00 00 00 -R 00 00 01 00 -T 74 00 00 00 DD 4E FE DD 46 FF 21 00 00 39 11 -R 00 00 01 00 -T 7F 00 00 00 01 00 19 EB CD 00 00 00 00 21 -R 00 00 01 00 02 09 11 00 -T 87 00 00 00 00 00 39 E5 DD 6E 04 DD 66 05 C1 -R 00 00 01 00 -T 92 00 00 00 71 23 70 DD 6E 04 DD 66 05 23 23 -R 00 00 01 00 -T 9D 00 00 00 AF 77 23 77 21 06 00 DD 4E 02 DD -R 00 00 01 00 -T A8 00 00 00 46 03 09 5E 23 56 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T B1 00 00 00 21 04 00 09 5E 23 56 CD -R 00 00 01 00 -T B9 00 00 00 00 00 00 00 21 0A 00 09 5E 23 56 -R 00 00 01 00 02 04 05 00 -T C2 00 00 00 CD 00 00 00 00 21 01 00 E5 21 -R 00 00 01 00 02 05 04 00 -T CA 00 00 00 0A 00 09 4E 23 46 11 0A 00 00 00 -R 00 00 01 00 00 0B 02 00 -T D3 00 00 00 CD 00 00 00 00 F1 21 01 00 E5 DD -R 00 00 01 00 02 05 06 00 -T DC 00 00 00 6E 02 DD 66 03 4E 23 46 11 -R 00 00 01 00 -T E5 00 00 00 0F 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 00 04 02 00 02 09 06 00 -T EC 00 00 00 4E 04 DD 46 05 21 0C 00 DD 5E 02 -R 00 00 01 00 -T F7 00 00 00 DD 56 03 19 5E 23 56 CD -R 00 00 01 00 -T FF 00 00 00 00 00 00 00 21 0C 00 DD 4E 02 DD -R 00 00 01 00 02 04 0C 00 -T 08 01 00 00 46 03 09 5E 23 56 CD 00 00 00 00 -R 00 00 01 00 02 0B 0B 00 -T 11 01 00 00 11 01 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 08 17 00 -T 18 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 0A 00 -T 1A 01 00 00 -R 00 00 01 00 -T 1A 01 00 00 CD 00 00 00 00 E0 FF 69 60 36 -R 00 00 01 00 02 05 12 00 -T 22 01 00 00 14 00 00 00 23 36 14 00 00 00 -R 00 00 01 00 09 04 02 00 89 0A 02 00 -T 26 01 00 00 -R 00 00 01 00 -T 26 01 00 00 DD 4E 02 DD 46 03 21 01 00 CD -R 00 00 01 00 -T 30 01 00 00 00 00 00 00 30 1D -R 00 00 01 00 02 04 13 00 -T 34 01 00 00 -R 00 00 01 00 -T 34 01 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 -R 00 00 01 00 -T 3F 01 00 00 21 00 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 11 00 -T 48 01 00 00 AF DD 77 02 DD 77 03 18 61 -R 00 00 01 00 -T 51 01 00 00 -R 00 00 01 00 -T 51 01 00 00 01 00 00 00 00 11 1A 00 00 00 CD -R 00 00 01 00 02 05 0F 00 00 0A 02 00 -T 58 01 00 00 00 00 00 00 11 00 00 00 00 CD -R 00 00 01 00 02 04 14 00 02 09 0F 00 -T 5E 01 00 00 00 00 00 00 21 00 00 00 00 E5 01 -R 00 00 01 00 02 04 03 00 02 09 0D 00 -T 65 01 00 00 14 00 21 02 00 39 5D 54 CD -R 00 00 01 00 -T 6E 01 00 00 00 00 00 00 F1 7D B4 20 06 -R 00 00 01 00 02 04 09 00 -T 75 01 00 00 -R 00 00 01 00 -T 75 01 00 00 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 08 17 00 -T 7B 01 00 00 -R 00 00 01 00 -T 7B 01 00 00 21 00 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 07 00 -T 84 01 00 00 01 FF FF 09 DD 75 FD DD 74 FE E5 -R 00 00 01 00 -T 8F 01 00 00 21 02 00 39 4D 44 E1 09 7E FE 0A -R 00 00 01 00 -T 9A 01 00 00 20 0D -R 00 00 01 00 -T 9C 01 00 00 -R 00 00 01 00 -T 9C 01 00 00 21 00 00 39 DD 4E FD DD 46 FE 09 -R 00 00 01 00 -T A7 01 00 00 36 00 -R 00 00 01 00 -T A9 01 00 00 -R 00 00 01 00 -T A9 01 00 00 DD 7E E0 B7 20 03 -R 00 00 01 00 -T AF 01 00 00 -R 00 00 01 00 -T AF 01 00 00 C3 26 01 00 00 -R 00 00 01 00 00 05 01 00 -T B2 01 00 00 -R 00 00 01 00 -T B2 01 00 00 -R 00 00 01 00 -T B2 01 00 00 21 00 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 10 00 -T BB 01 00 00 DD 75 FB DD 74 FC 7D B4 28 1F DD -R 00 00 01 00 -T C6 01 00 00 6E FB DD 66 FC 23 23 7E 23 66 6F -R 00 00 01 00 -T D1 01 00 00 AF B6 20 0F -R 00 00 01 00 -T D5 01 00 00 -R 00 00 01 00 -T D5 01 00 00 -R 00 00 01 00 -T D5 01 00 00 -R 00 00 01 00 -T D5 01 00 00 DD 4E 04 DD 46 05 DD 5E FB DD 56 -R 00 00 01 00 -T E0 01 00 00 FC CD 00 00 00 00 -R 00 00 01 00 00 06 01 00 -T E4 01 00 00 -R 00 00 01 00 -T E4 01 00 00 11 22 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 02 00 02 0A 16 00 -T EB 01 00 00 75 F4 DD 74 F5 01 00 00 00 00 11 -R 00 00 01 00 02 0A 0F 00 -T F4 01 00 00 0A 00 CD 00 00 00 00 DD 7E FB DD -R 00 00 01 00 02 07 0E 00 -T FD 01 00 00 B6 FC 28 63 -R 00 00 01 00 -T 01 02 00 00 -R 00 00 01 00 -T 01 02 00 00 DD 6E FB DD 66 FC 23 23 7E 23 66 -R 00 00 01 00 -T 0C 02 00 00 6F 46 DD 70 F6 DD 6E FB DD 66 FC -R 00 00 01 00 -T 17 02 00 00 23 23 46 23 66 68 23 46 DD 70 F7 -R 00 00 01 00 -T 22 02 00 00 DD 36 F8 00 21 16 00 39 4D 44 DD -R 00 00 01 00 -T 2D 02 00 00 5E F4 DD 56 F5 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 15 00 -T 36 02 00 00 75 F9 DD 74 FA DD 4E FB DD 46 FC -R 00 00 01 00 -T 41 02 00 00 03 03 69 60 4E 23 46 DD 5E F9 DD -R 00 00 01 00 -T 4C 02 00 00 56 FA CD 00 00 00 00 7D B4 20 0F -R 00 00 01 00 02 07 08 00 -T 55 02 00 00 -R 00 00 01 00 -T 55 02 00 00 DD 4E 04 DD 46 05 DD 5E FB DD 56 -R 00 00 01 00 -T 60 02 00 00 FC CD 00 00 00 00 -R 00 00 01 00 00 06 01 00 -T 64 02 00 00 -R 00 00 01 00 -T 64 02 00 00 -R 00 00 01 00 -T 64 02 00 00 01 00 00 00 00 11 2D 00 00 00 CD -R 00 00 01 00 02 05 0F 00 00 0A 02 00 -T 6B 02 00 00 00 00 00 00 C3 26 01 00 00 -R 00 00 01 00 02 04 14 00 00 09 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 0A 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 02 00 00 00 2F 62 69 6E 2F 73 68 00 -R 00 00 02 00 -T 0A 00 00 00 -R 00 00 02 00 -T 0A 00 00 00 48 4F 4D 45 00 -R 00 00 02 00 -T 0F 00 00 00 -R 00 00 02 00 -T 0F 00 00 00 55 53 45 52 00 -R 00 00 02 00 -T 14 00 00 00 -R 00 00 02 00 -T 14 00 00 00 6C 6F 67 69 6E 00 -R 00 00 02 00 -T 1A 00 00 00 -R 00 00 02 00 -T 1A 00 00 00 6C 6F 67 69 6E 3A 20 00 -R 00 00 02 00 -T 22 00 00 00 -R 00 00 02 00 -T 22 00 00 00 70 61 73 73 77 6F 72 64 3A 20 00 -R 00 00 02 00 -T 2D 00 00 00 -R 00 00 02 00 -T 2D 00 00 00 4C 6F 67 69 6E 20 69 6E 63 6F 72 -R 00 00 02 00 -T 38 00 00 00 72 65 63 74 0A 0A 00 -R 00 00 02 00 diff --git a/src/kernel/CVS/Entries b/src/kernel/CVS/Entries new file mode 100644 index 00000000..859d4d3b --- /dev/null +++ b/src/kernel/CVS/Entries @@ -0,0 +1,6 @@ +/build.ban/1.1.1.1/Mon Nov 17 19:05:56 2003// +/kernel.lnk/1.1.1.1/Mon Nov 17 19:05:56 2003// +/n.bat/1.1.1.1/Mon Nov 17 19:05:56 2003// +D/cmx//// +D/libc//// +D/uzi//// diff --git a/src/kernel/CVS/Repository b/src/kernel/CVS/Repository new file mode 100644 index 00000000..cecae08e --- /dev/null +++ b/src/kernel/CVS/Repository @@ -0,0 +1 @@ +uzi/src/kernel diff --git a/src/kernel/CVS/Root b/src/kernel/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/kernel/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/kernel/cmx/CVS/Entries b/src/kernel/cmx/CVS/Entries new file mode 100644 index 00000000..0103001e --- /dev/null +++ b/src/kernel/cmx/CVS/Entries @@ -0,0 +1,26 @@ +/apibus.asm/1.1.1.1/Mon Nov 17 19:05:56 2003// +/asci.asm/1.1.1.1/Mon Nov 17 19:05:56 2003// +/bstartup.asm/1.1.1.1/Mon Nov 17 19:05:56 2003// +/cmx_init.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/cmxbug.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/cmxbug.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/cmxintb.asm/1.1.1.1/Mon Nov 17 19:05:56 2003// +/cmxio3.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/cmxtrack.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/cmxtrack.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/cmxtrack.txt/1.1.1.1/Mon Nov 17 19:05:56 2003// +/copyr.asm/1.1.1.1/Mon Nov 17 19:05:56 2003// +/cxconfig.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/cxdefine.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/cxextern.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/cxfuncs.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/cxskv5b.asm/1.1.1.1/Mon Nov 17 19:05:56 2003// +/cxstruct.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/cxvendor.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/cxver5.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/diag.asm/1.1.1.1/Mon Nov 17 19:05:56 2003// +/escc.asm/1.1.1.1/Mon Nov 17 19:05:56 2003// +/escc.asm.org/1.1.1.1/Mon Nov 17 19:05:56 2003// +/io64180.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/io64180.inc/1.1.1.1/Mon Nov 17 19:05:56 2003// +D diff --git a/src/kernel/cmx/CVS/Repository b/src/kernel/cmx/CVS/Repository new file mode 100644 index 00000000..89bea35d --- /dev/null +++ b/src/kernel/cmx/CVS/Repository @@ -0,0 +1 @@ +uzi/src/kernel/cmx diff --git a/src/kernel/cmx/CVS/Root b/src/kernel/cmx/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/kernel/cmx/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/kernel/cmx/bstartup.asm b/src/kernel/cmx/bstartup.asm index 7f036a88..b82d488f 100644 --- a/src/kernel/cmx/bstartup.asm +++ b/src/kernel/cmx/bstartup.asm @@ -1,7 +1,7 @@ ; bstartup.asm ; -; $Id: Cstartup.s01 1.24 2001/01/04 12:19:06 IPEO Exp $ +; $Id: bstartup.asm,v 1.1.1.1 2003/11/17 19:05:55 nick Exp $ ; ;----------------------------------------------------------; diff --git a/src/kernel/cmx/io64180.h b/src/kernel/cmx/io64180.h index 9414e0b7..83357e80 100644 --- a/src/kernel/cmx/io64180.h +++ b/src/kernel/cmx/io64180.h @@ -3,7 +3,7 @@ This files defines the internal register addresses for HD64180 - File version: $Revision: 1.4 $ + File version: $Revision: 1.1.1.1 $ */ diff --git a/src/kernel/cmx/io64180.inc b/src/kernel/cmx/io64180.inc index 01380ae1..07ef7d73 100644 --- a/src/kernel/cmx/io64180.inc +++ b/src/kernel/cmx/io64180.inc @@ -3,7 +3,7 @@ ; This files defines the internal register addresses ; for HD64180 ; -; File version: $Revision: 1.4 $ +; File version: $Revision: 1.1.1.1 $ ; ; */ ; diff --git a/src/kernel/libc/CVS/Entries b/src/kernel/libc/CVS/Entries new file mode 100644 index 00000000..ed868392 --- /dev/null +++ b/src/kernel/libc/CVS/Entries @@ -0,0 +1,28 @@ +/_exit.asm/1.1.1.1/Mon Nov 17 19:05:56 2003// +/abort.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/c0k.asm/1.1.1.1/Mon Nov 17 19:05:56 2003// +/dprintf.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/dprintf.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/exit.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/itoa.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/itoa.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/kprintf.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/kprintf.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/ltoa.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/ltoa.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/memcpy.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/memcpy.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/strcat.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/strcat.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/strcpy.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/strcpy.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/strlen.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/strlen.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/strncmp.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/strncmp.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/ultoa.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/ultoa.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/vendor.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/vfprintf.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/vfprintf.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +D diff --git a/src/kernel/libc/CVS/Repository b/src/kernel/libc/CVS/Repository new file mode 100644 index 00000000..32479262 --- /dev/null +++ b/src/kernel/libc/CVS/Repository @@ -0,0 +1 @@ +uzi/src/kernel/libc diff --git a/src/kernel/libc/CVS/Root b/src/kernel/libc/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/kernel/libc/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/kernel/uzi/CVS/Entries b/src/kernel/uzi/CVS/Entries new file mode 100644 index 00000000..4077787f --- /dev/null +++ b/src/kernel/uzi/CVS/Entries @@ -0,0 +1,48 @@ +/asmdef.inc/1.1.1.1/Mon Nov 17 19:05:56 2003// +/config.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/data.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/devflop.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/devhd.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/devhd.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/devio.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/devio.c$/1.1.1.1/Mon Nov 17 19:05:56 2003// +/devio.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/devio.h$/1.1.1.1/Mon Nov 17 19:05:56 2003// +/devmisc.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/devmisc.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/devmt.c$/1.1.1.1/Mon Nov 17 19:05:56 2003// +/devno.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/devtty.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/devtty.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/dispatch/1.1.1.1/Mon Nov 17 19:05:56 2003// +/emu.asm/1.1.1.1/Mon Nov 17 19:05:56 2003// +/extern.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/filesys.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/filesys.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/flopasm.asm/1.1.1.1/Mon Nov 17 19:05:56 2003// +/hdasm.asm/1.1.1.1/Mon Nov 17 19:05:56 2003// +/hdconf.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/machasm.asm/1.1.1.1/Mon Nov 17 19:05:56 2003// +/machdep.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/main.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/procasm.asm/1.1.1.1/Mon Nov 17 19:05:56 2003// +/process.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/scall1.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/scall1.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/scall2.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/scall2.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/scall3.c/1.1.1.1/Mon Nov 17 19:05:56 2003// +/scall3.h/1.1.1.1/Mon Nov 17 19:05:56 2003// +/startasm.asm/1.1.1.1/Mon Nov 17 19:05:56 2003// +/systrace.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/testsystem.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/testsystem.h/1.1.1.1/Mon Nov 17 19:05:58 2003// +/touchscreen.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/touchscreen.h/1.1.1.1/Mon Nov 17 19:05:58 2003// +/unix.h/1.1.1.1/Mon Nov 17 19:05:58 2003// +/utils.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/vendor.h/1.1.1.1/Mon Nov 17 19:05:58 2003// +/xip.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/xip.h/1.1.1.1/Mon Nov 17 19:05:58 2003// +/z180.inc/1.1.1.1/Mon Nov 17 19:05:58 2003// +D diff --git a/src/kernel/uzi/CVS/Repository b/src/kernel/uzi/CVS/Repository new file mode 100644 index 00000000..d5a1d40a --- /dev/null +++ b/src/kernel/uzi/CVS/Repository @@ -0,0 +1 @@ +uzi/src/kernel/uzi diff --git a/src/kernel/uzi/CVS/Root b/src/kernel/uzi/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/kernel/uzi/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/kernel/uzi/devno.h b/src/kernel/uzi/devno.h index e955442d..6c10774d 100644 --- a/src/kernel/uzi/devno.h +++ b/src/kernel/uzi/devno.h @@ -1,34 +1,34 @@ -/* devno.h for UZI180 by Rob */ - -#define DEVOUT_BASE 0x20 /* above this number means output to device */ - -#define _2SDEV(p) ((p)-1) /* p is a minor device number */ -#define _2MINOR(p) ((p)+1) /* p is an SDEV device number */ - - -/* Minor device numbers */ -#define DEV_S0 1 /* Serial 0 */ -#define DEV_S1 2 /* Serial 1 */ -#define DEV_S2 3 /* Serial 2 */ -#define DEV_S3 4 /* Serial 3 */ -#define DEV_LC 5 /* Load cell */ -#define DEV_TS 6 /* Touchscreen */ -#define DEV_CD 7 /* Customer display */ -#define DEV_TP 9 /* Thermal printer */ - - -/* - * Struct functioning as a wrapper to certain parts of SDEV, - * in order to maintain some extra administration for devices - */ -typedef struct -{ - char tsyshook; - /* - * vector[0] occupied by test system RX hook - * vector[1] occupied by device original RX handler - */ - void (*saved_rx_vector[2])(SDEV *device, char c); -} wsdevsT; - -extern wsdevsT wsdevs[PORTS]; +/* devno.h for UZI180 by Rob */ + +#define DEVOUT_BASE 0x20 /* above this number means output to device */ + +#define _2SDEV(p) ((p)-1) /* p is a minor device number */ +#define _2MINOR(p) ((p)+1) /* p is an SDEV device number */ + + +/* Minor device numbers */ +#define DEV_S0 1 /* Serial 0 */ +#define DEV_S1 2 /* Serial 1 */ +#define DEV_S2 3 /* Serial 2 */ +#define DEV_S3 4 /* Serial 3 */ +#define DEV_LC 5 /* Load cell */ +#define DEV_TS 6 /* Touchscreen */ +#define DEV_CD 7 /* Customer display */ +#define DEV_TP 9 /* Thermal printer */ + + +/* + * Struct functioning as a wrapper to certain parts of SDEV, + * in order to maintain some extra administration for devices + */ +typedef struct +{ + char tsyshook; + /* + * vector[0] occupied by test system RX hook + * vector[1] occupied by device original RX handler + */ + void (*saved_rx_vector[2])(SDEV *device, char c); +} wsdevsT; + +extern wsdevsT wsdevs[PORTS]; diff --git a/src/libc/CVS/Entries b/src/libc/CVS/Entries new file mode 100644 index 00000000..d22e2f24 --- /dev/null +++ b/src/libc/CVS/Entries @@ -0,0 +1,184 @@ +/!readme!/1.1.1.1/Mon Nov 17 19:05:58 2003// +/N9.PMM/1.1.1.1/Mon Nov 17 19:05:58 2003// +/T/1.1.1.1/Mon Nov 17 19:05:58 2003// +/abort.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/alloca-l.h/1.1.1.1/Mon Nov 17 19:05:58 2003// +/alloca.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/asctime.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/assert.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/atexit.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/atoi.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/atol.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/bsearch.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/build-b.ban/1.2/Tue Dec 2 05:08:38 2003// +/build-l.ban/1.2/Tue Dec 2 05:08:38 2003// +/c0b.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/c0l.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/c0u.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/c9.pmm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/calloc.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/clock.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/closedir.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/convtime.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/crypt.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/cstartup.r01/1.1.1.1/Mon Nov 17 19:05:58 2003// +/ctime.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/ctype.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/cvt.h/1.1.1.1/Mon Nov 17 19:05:58 2003// +/difftime.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/environ.h/1.1.1.1/Mon Nov 17 19:05:58 2003// +/error.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/etime.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/exec.h/1.1.1.1/Mon Nov 17 19:05:58 2003// +/execl.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/execle.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/execlp.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/execlpe.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/exect.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/execv.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/execvp.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/execvpe.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/exit.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/fclose.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/fflush.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/fgetc.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/fgetgren.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/fgetpwen.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/fgets.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/fopen.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/fprintf.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/fputc.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/fputs.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/fread.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/free.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/free.c$/1.1.1.1/Mon Nov 17 19:05:58 2003// +/fscanf.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/ftell.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/fwrite.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/getcwd.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/getenv.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/getgrent.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/getgrgid.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/getgrnam.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/getopt.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/getpass.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/getpw.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/getpwent.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/getpwnam.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/getpwuid.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/gets.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/gmtime.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/grp-l.h/1.1.1.1/Mon Nov 17 19:05:58 2003// +/initgrup.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/isatty.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/itoa.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/libcb.txt/1.1/Tue Dec 2 05:08:38 2003// +/libcl.txt/1.1/Tue Dec 2 05:08:38 2003// +/liberror.src/1.1.1.1/Mon Nov 17 19:05:58 2003// +/localtim.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/longjmpb.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/longjmpl.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/lsearch.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/lseek.c$/1.1.1.1/Mon Nov 17 19:05:58 2003// +/lstat.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/ltoa.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/ltostr.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/malloc-l.h/1.1.1.1/Mon Nov 17 19:05:58 2003// +/malloc-l.h$/1.1.1.1/Mon Nov 17 19:05:58 2003// +/malloc.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/malloc.c$/1.1.1.1/Mon Nov 17 19:05:58 2003// +/mem-l.h/1.1.1.1/Mon Nov 17 19:05:58 2003// +/memccpy.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/memchr.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/memcmp.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/memcpy.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/memmove.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/memset.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/mkdir.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/mktime.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/n.bat/1.2/Tue Dec 2 05:08:38 2003// +/n.xlb/1.1.1.1/Mon Nov 17 19:05:58 2003// +/opendir.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/passwd.h/1.1.1.1/Mon Nov 17 19:05:58 2003// +/perror.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/perror.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/popen.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/printf.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/printf.h/1.1.1.1/Mon Nov 17 19:05:58 2003// +/putenv.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/putgetch.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/putpwent.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/qsort.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/rand.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/readdir.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/readlink.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/realloc.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/realloc.c$/1.1.1.1/Mon Nov 17 19:05:58 2003// +/regerror.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/regexp.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/regsub.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/rename.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/rewind.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/rewindir.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/rmdir.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/scanf.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/scanf.h/1.1.1.1/Mon Nov 17 19:05:58 2003// +/setbuff.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/setenv.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/setgrent.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/setjmp.c$/1.1.1.1/Mon Nov 17 19:05:58 2003// +/setjmp.msx/1.1.1.1/Mon Nov 17 19:05:58 2003// +/setjmp.r01/1.1.1.1/Mon Nov 17 19:05:58 2003// +/setjmpb.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/setjmpl.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/setpwent.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/setvbuff.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/sleep.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/sprintf.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/sscanf.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/stdio-l.h/1.1.1.1/Mon Nov 17 19:05:58 2003// +/stdio0.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strcat.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strchr.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strcmp.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strcpy.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strcspn.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strdup.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/stricmp.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/string-l.h/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strlen.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strncat.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strncmp.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strncpy.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strnicmp.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strpbrk.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strrchr.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strsep.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strspn.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strstr.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strtod.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strtok.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strtol.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/strtoul.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/system.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/termcap.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/termcap.src/1.1.1.1/Mon Nov 17 19:05:58 2003// +/time-l.h/1.1.1.1/Mon Nov 17 19:05:58 2003// +/tmpnam.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/tparam.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/ttyname.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/tzset.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/ultoa.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/ungetc.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/unix.h$/1.1.1.1/Mon Nov 17 19:05:58 2003// +/utsname.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/vfprintf.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/vfscanf.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/vprintf.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/vscanf.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/vsprintf.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/vsscanf.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/x.bat/1.1.1.1/Mon Nov 17 19:05:58 2003// +/xitoa.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +/xltoa.c/1.1.1.1/Mon Nov 17 19:05:58 2003// +D diff --git a/src/libc/CVS/Repository b/src/libc/CVS/Repository new file mode 100644 index 00000000..18af8687 --- /dev/null +++ b/src/libc/CVS/Repository @@ -0,0 +1 @@ +uzi/src/libc diff --git a/src/libc/CVS/Root b/src/libc/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/libc/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/libc/build-b.ban b/src/libc/build-b.ban index 0a906cdc..f6d0d674 100644 --- a/src/libc/build-b.ban +++ b/src/libc/build-b.ban @@ -1,4 +1,4 @@ -copy libcb.lib ..\..\..\lib +copy libcb.txt ..\..\..\lib\libcb.lib copy ..\c0b.asm c0b.s01 as-z80 -l -o c0b.s01 diff --git a/src/libc/build-l.ban b/src/libc/build-l.ban index 0ab34610..13ab7e10 100644 --- a/src/libc/build-l.ban +++ b/src/libc/build-l.ban @@ -1,4 +1,4 @@ -copy ..\libcl.lib ..\..\..\lib +copy ..\libcl.txt ..\..\..\lib\libcl.lib copy ..\c0l.asm c0l.s01 as-z80 -l -o c0l.s01 diff --git a/src/libc/cstartup.r01 b/src/libc/cstartup.r01 index 1028bd7fa99a8911ff9d01a358d6565243442ea6..1b9ff2fda0ec91ba718518cb6b701e568d25ea4c 100644 GIT binary patch delta 35 ocmZqVY2%r&kCAuczHf}YleaKl1(Kai<&3ZdZ>_*lG0N*zYd;kCd delta 26 icmZqUY2=x(Z{q%MleaNmo!rAzzL|x&k!f-pYXbnJWD7 #include diff --git a/src/libc/libcb.lib b/src/libc/libcb.lib deleted file mode 100644 index 83adbbd2..00000000 --- a/src/libc/libcb.lib +++ /dev/null @@ -1,142 +0,0 @@ -relcb\abort.rel -relcb\alloca.rel -relcb\asctime.rel -relcb\assert.rel -relcb\atexit.rel -relcb\atoi.rel -relcb\atol.rel -relcb\bsearch.rel -relcb\c0l.rel -relcb\calloc.rel -relcb\clock.rel -relcb\closedir.rel -relcb\convtime.rel -relcb\crypt.rel -relcb\ctime.rel -relcb\ctype.rel -relcb\difftime.rel -relcb\error.rel -relcb\etime.rel -relcb\execl.rel -relcb\execle.rel -relcb\execlp.rel -relcb\execlpe.rel -relcb\exect.rel -relcb\execv.rel -relcb\execvp.rel -relcb\execvpe.rel -relcb\exit.rel -relcb\fclose.rel -relcb\fflush.rel -relcb\fgetc.rel -relcb\fgetgren.rel -relcb\fgetpwen.rel -relcb\fgets.rel -relcb\fopen.rel -relcb\fprintf.rel -relcb\fputc.rel -relcb\fputs.rel -relcb\fread.rel -relcb\free.rel -relcb\fscanf.rel -relcb\ftell.rel -relcb\fwrite.rel -relcb\getcwd.rel -relcb\getenv.rel -relcb\getgrent.rel -relcb\getgrgid.rel -relcb\getgrnam.rel -relcb\getopt.rel -relcb\getpass.rel -relcb\getpw.rel -relcb\getpwent.rel -relcb\getpwnam.rel -relcb\getpwuid.rel -relcb\gets.rel -relcb\gmtime.rel -relcb\initgrup.rel -relcb\isatty.rel -relcb\itoa.rel -relcb\localtim.rel -relcb\longjmpb.rel -relcb\lsearch.rel -relcb\lstat.rel -relcb\ltoa.rel -relcb\ltostr.rel -relcb\malloc.rel -relcb\memccpy.rel -relcb\memchr.rel -relcb\memcmp.rel -relcb\memcpy.rel -relcb\memmove.rel -relcb\memset.rel -relcb\mkdir.rel -relcb\mktime.rel -relcb\opendir.rel -relcb\perror.rel -relcb\popen.rel -relcb\printf.rel -relcb\putenv.rel -relcb\putgetch.rel -relcb\putpwent.rel -relcb\qsort.rel -relcb\rand.rel -relcb\readdir.rel -relcb\readlink.rel -relcb\realloc.rel -relcb\regerror.rel -relcb\regexp.rel -relcb\regsub.rel -relcb\rename.rel -relcb\rewind.rel -relcb\rewindir.rel -relcb\rmdir.rel -relcb\scanf.rel -relcb\setbuff.rel -relcb\setenv.rel -relcb\setgrent.rel -relcb\setjmpb.rel -relcb\setpwent.rel -relcb\setvbuff.rel -relcb\sleep.rel -relcb\sprintf.rel -relcb\sscanf.rel -relcb\stdio0.rel -relcb\strcat.rel -relcb\strchr.rel -relcb\strcmp.rel -relcb\strcpy.rel -relcb\strcspn.rel -relcb\strdup.rel -relcb\stricmp.rel -relcb\strlen.rel -relcb\strncat.rel -relcb\strncmp.rel -relcb\strncpy.rel -relcb\strnicmp.rel -relcb\strpbrk.rel -relcb\strrchr.rel -relcb\strsep.rel -relcb\strspn.rel -relcb\strstr.rel -relcb\strtod.rel -relcb\strtok.rel -relcb\strtol.rel -relcb\strtoul.rel -relcb\system.rel -relcb\termcap.rel -relcb\tmpnam.rel -relcb\tparam.rel -relcb\ttyname.rel -relcb\tzset.rel -relcb\ultoa.rel -relcb\ungetc.rel -relcb\utsname.rel -relcb\vfprintf.rel -relcb\vfscanf.rel -relcb\vprintf.rel -relcb\vscanf.rel -relcb\vsprintf.rel -relcb\vsscanf.rel -relcb\xitoa.rel -relcb\xltoa.rel diff --git a/lib/libcb.lib b/src/libc/libcb.txt similarity index 100% rename from lib/libcb.lib rename to src/libc/libcb.txt diff --git a/src/libc/libcl.lib b/src/libc/libcl.lib deleted file mode 100644 index 8f2ff799..00000000 --- a/src/libc/libcl.lib +++ /dev/null @@ -1,142 +0,0 @@ -relcl\abort.rel -relcl\alloca.rel -relcl\asctime.rel -relcl\assert.rel -relcl\atexit.rel -relcl\atoi.rel -relcl\atol.rel -relcl\bsearch.rel -relcl\c0l.rel -relcl\calloc.rel -relcl\clock.rel -relcl\closedir.rel -relcl\convtime.rel -relcl\crypt.rel -relcl\ctime.rel -relcl\ctype.rel -relcl\difftime.rel -relcl\error.rel -relcl\etime.rel -relcl\execl.rel -relcl\execle.rel -relcl\execlp.rel -relcl\execlpe.rel -relcl\exect.rel -relcl\execv.rel -relcl\execvp.rel -relcl\execvpe.rel -relcl\exit.rel -relcl\fclose.rel -relcl\fflush.rel -relcl\fgetc.rel -relcl\fgetgren.rel -relcl\fgetpwen.rel -relcl\fgets.rel -relcl\fopen.rel -relcl\fprintf.rel -relcl\fputc.rel -relcl\fputs.rel -relcl\fread.rel -relcl\free.rel -relcl\fscanf.rel -relcl\ftell.rel -relcl\fwrite.rel -relcl\getcwd.rel -relcl\getenv.rel -relcl\getgrent.rel -relcl\getgrgid.rel -relcl\getgrnam.rel -relcl\getopt.rel -relcl\getpass.rel -relcl\getpw.rel -relcl\getpwent.rel -relcl\getpwnam.rel -relcl\getpwuid.rel -relcl\gets.rel -relcl\gmtime.rel -relcl\initgrup.rel -relcl\isatty.rel -relcl\itoa.rel -relcl\localtim.rel -relcl\longjmpl.rel -relcl\lsearch.rel -relcl\lstat.rel -relcl\ltoa.rel -relcl\ltostr.rel -relcl\malloc.rel -relcl\memccpy.rel -relcl\memchr.rel -relcl\memcmp.rel -relcl\memcpy.rel -relcl\memmove.rel -relcl\memset.rel -relcl\mkdir.rel -relcl\mktime.rel -relcl\opendir.rel -relcl\perror.rel -relcl\popen.rel -relcl\printf.rel -relcl\putenv.rel -relcl\putgetch.rel -relcl\putpwent.rel -relcl\qsort.rel -relcl\rand.rel -relcl\readdir.rel -relcl\readlink.rel -relcl\realloc.rel -relcl\regerror.rel -relcl\regexp.rel -relcl\regsub.rel -relcl\rename.rel -relcl\rewind.rel -relcl\rewindir.rel -relcl\rmdir.rel -relcl\scanf.rel -relcl\setbuff.rel -relcl\setenv.rel -relcl\setgrent.rel -relcl\setjmpl.rel -relcl\setpwent.rel -relcl\setvbuff.rel -relcl\sleep.rel -relcl\sprintf.rel -relcl\sscanf.rel -relcl\stdio0.rel -relcl\strcat.rel -relcl\strchr.rel -relcl\strcmp.rel -relcl\strcpy.rel -relcl\strcspn.rel -relcl\strdup.rel -relcl\stricmp.rel -relcl\strlen.rel -relcl\strncat.rel -relcl\strncmp.rel -relcl\strncpy.rel -relcl\strnicmp.rel -relcl\strpbrk.rel -relcl\strrchr.rel -relcl\strsep.rel -relcl\strspn.rel -relcl\strstr.rel -relcl\strtod.rel -relcl\strtok.rel -relcl\strtol.rel -relcl\strtoul.rel -relcl\system.rel -relcl\termcap.rel -relcl\tmpnam.rel -relcl\tparam.rel -relcl\ttyname.rel -relcl\tzset.rel -relcl\ultoa.rel -relcl\ungetc.rel -relcl\utsname.rel -relcl\vfprintf.rel -relcl\vfscanf.rel -relcl\vprintf.rel -relcl\vscanf.rel -relcl\vsprintf.rel -relcl\vsscanf.rel -relcl\xitoa.rel -relcl\xltoa.rel diff --git a/lib/libcl.lib b/src/libc/libcl.txt similarity index 100% rename from lib/libcl.lib rename to src/libc/libcl.txt diff --git a/src/libc/n.bat b/src/libc/n.bat index fda184d3..f7de1da5 100644 --- a/src/libc/n.bat +++ b/src/libc/n.bat @@ -1,3 +1,7 @@ +md ..\..\lib +md ..\..\lib\relcl +md ..\..\lib\relcb + md build-l cd build-l copy ..\build-l.ban n.bat diff --git a/src/libc/qsort.c b/src/libc/qsort.c index 1ddff4d6..33a4dc14 100644 --- a/src/libc/qsort.c +++ b/src/libc/qsort.c @@ -2,7 +2,7 @@ * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. * See the copyright notice in the ACK home directory, in the file "Copyright". */ -/* $Header: qsort.c,v 1.3 90/08/28 14:03:24 eck Exp $ */ +/* $Header: /home/cvsroot/uzi/src/libc/qsort.c,v 1.1.1.1 2003/11/17 19:05:58 nick Exp $ */ #include diff --git a/src/libc/setjmp.r01 b/src/libc/setjmp.r01 index 5c1117834e80bf39db1ca9263440ffc9e10b6191..8bde82a62f99d49251ea36a4fde348ba79314286 100644 GIT binary patch delta 12 TcmZo&&azme-a}A7=i=L delta 10 RcmZo-X=Is@zp-EvBLEaC1HS+O diff --git a/src/libiar/CVS/Entries b/src/libiar/CVS/Entries new file mode 100644 index 00000000..2b874f34 --- /dev/null +++ b/src/libiar/CVS/Entries @@ -0,0 +1,319 @@ +/BANKCALL.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/BANKCALLDIRECT.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/BANKCALLDIRECTEXAF.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/BANKCALLEXAF.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/BANKLEAVE.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/BANKLEAVE32.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/BANKLEAVEDIRECT.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/BFCANDASG.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/BFCLSHASG.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/BFCMULASG.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/BFCORASG.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/BFCRETVAL.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/BFCSHIFTUP.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/BFCXORASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFMASKEDLD.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFMASKEDST.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSADDASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSANDASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSCDIVASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSCEXT.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSCLDSHIFTDOWN.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSCMODASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSCRSHASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSLSHASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSMULASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSNEGASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSORASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSPOSTDEC.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSPOSTINC.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSPREDEC.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSPREINC.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSRETVAL.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSSDIVASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSSEXT.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSSHIFTUP.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSSLDSHIFTDOWN.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSSMODASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSSRSHASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSSUBASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFSXORASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFUCDIVASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFUCLDSHIFTDOWN.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFUCMODASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFUCRSHASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFUSDIVASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFUSLDSHIFTDOWN.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFUSMODASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/BFUSRSHASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/CALLIND.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/CDIVMOD.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/CFINDSIGN.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/CLSH.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/CLSHASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/CMUL.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/CMULASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/CSSWITCH.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/CVSWITCH.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/ENTAUTO.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/ENTAUTODIRECT.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/ENTPARM.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/ENTPARMDIRECT.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/FADDASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/FADDSUB.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/FCMP.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/FDEC.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/FDECASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/FDIV.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/FDIVASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/FENDASG2.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/FINC.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/FINCASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/FMUL.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/FMULASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/FNEGASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/FPACK.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/FROUND.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/FSUBASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/FTOL.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/FUNPACK.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LADDASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LAND.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LANDASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LDEC.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LDECASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LDIVMOD.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LEAVE.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LEAVE32.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LEAVEDIRECT.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LENDASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LENDMULDIVASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LFINDSIGN.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LIBVERSION.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LINC.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LINCASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LLSH.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LLSHASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LMUL.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LMULASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LNEG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LNEGASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LNOT.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LNOTASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LOR.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LORASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LSSWITCH.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LSUBASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LTOF.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LVSWITCH.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LXOR.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/LXORASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/MEMCMP.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/MEMSET.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/MONITOR.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/MONITORBANKLEAVE.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/MONITORBANKLEAVE32.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/MONITORBANKLEAVEIX.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/MONITORBANKLEAVEPOP.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/MONITORLEAVE.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/MONITORLEAVE32.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/MONITORLEAVEIX.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/MONITORLEAVEIXPA.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/MONITORLEAVEPA.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/MONITORLEAVEPOP.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SCDIV.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SCMOD.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SCRSH.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SCRSHASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SDIVMOD.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SFINDSIGN.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SLCMP.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SLDIV.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SLDIVASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SLMOD.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SLMODASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SLRSH.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SLRSHASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SLSH.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SLSHASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SLSHASGBCprim.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SLSHASGDEprim.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SMUL.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SMULASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SMULASGBCprim.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SMULASGDEprim.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SMULASGIX.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SMULASGIY.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSCMP.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSDIV.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSDIVASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSDIVASGBCprim.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSDIVASGDEprim.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSDIVASGIX.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSDIVASGIY.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSMOD.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSMODASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSMODASGBCprim.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSMODASGDEprim.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSMODASGIX.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSMODASGIY.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSRSH.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSRSHASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSRSHASGBCprim.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSRSHASGDEprim.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSRSHASGIX.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSRSHASGIY.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSSWITCH.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SSWITCHEND.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/STRCAT.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/STRCHR.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/STRCMP.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/STRCPY.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/STRLEN.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/SVSWITCH.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/UCDIV.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/UCMOD.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/UCRSH.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/UCRSHASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/ULDIV.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/ULDIVASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/ULMOD.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/ULMODASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/ULRSH.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/ULRSHASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/USDIV.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/USDIVASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/USDIVASGBCprim.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/USDIVASGDEprim.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/USDIVASGIX.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/USDIVASGIY.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/USMOD.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/USMODASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/USMODASGBCprim.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/USMODASGDEprim.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/USMODASGIX.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/USMODASGIY.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/USRSH.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/USRSHASG.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/USRSHASGBCprim.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/USRSHASGDEprim.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/USRSHASGIX.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/USRSHASGIY.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/VSWITCHEND.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/abort.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/abs.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/acos.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/asin.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/assert.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/atan.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/atan2.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/atof.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/atoi.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/atol.asm/1.1.1.1/Mon Nov 17 19:05:58 2003// +/bsearch.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/build.ban/1.2/Tue Dec 2 05:08:42 2003// +/calloc.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/ceil.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/cos.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/cosh.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/ctype.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/daddexp.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/div.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/errno.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/exit0.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/exit1.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/exit2.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/exp.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/exp10.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/fabs.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/floor.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/fmod.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/formattedread.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/formattedwrite.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/free.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/frexp.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/getchar.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/getchar0.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/getchar1.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/getchar2.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/gets.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/heap.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/isalnum.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/isalpha.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/iscntrl.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/isdigit.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/isgraph.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/islower.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/isprint.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/ispunct.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/isspace.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/isupper.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/isxdigit.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/labs.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/largectype.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/ldexp.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/ldiv.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/libiar.txt/1.1/Tue Dec 2 05:08:42 2003// +/log.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/log10.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/longjmp.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/longjmp2.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/malloc.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/mediumread.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/mediumwrite.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/memchr.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/memcmplc.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/memcpy.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/memmove.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/memsetlc.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/modf.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/n.bat/1.2/Tue Dec 2 05:08:42 2003// +/pow.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/printf.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/putchar.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/putchar0.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/putchar1.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/putchar2.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/puts.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/qsort.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/rand.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/realloc.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/satan.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/scanf.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/setjmp.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/silly.zip/1.1.1.1/Mon Nov 17 19:06:00 2003/-kb/ +/sin.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/sinh.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/sinus.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/smallwrite.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/sprintf.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/sqrt.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/srand.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/sscanf.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strcatlc.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strchrlc.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strcmplc.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strcoll.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strcpylc.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strcspn.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strerror.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strlenlc.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strncat.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strncmp.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strncpy.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strpbrk.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strrchr.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strspn.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strstr.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strtod.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strtok.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strtol.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strtoul.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/strxfrm.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/tan.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/tanh.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/tolower.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/toupper.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/vprintf.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +/vsprintf.asm/1.1.1.1/Mon Nov 17 19:06:00 2003// +D diff --git a/src/libiar/CVS/Repository b/src/libiar/CVS/Repository new file mode 100644 index 00000000..440102c8 --- /dev/null +++ b/src/libiar/CVS/Repository @@ -0,0 +1 @@ +uzi/src/libiar diff --git a/src/libiar/CVS/Root b/src/libiar/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/libiar/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/libiar/build.ban b/src/libiar/build.ban index 22a086f3..b57ceef1 100644 --- a/src/libiar/build.ban +++ b/src/libiar/build.ban @@ -1,4 +1,4 @@ -copy libiar.lib ..\..\..\lib +copy libiar.txt ..\..\..\lib\libiar.lib rem copy ..\BANKCALL.asm BANKCALL.s01 rem as-z80 -l -o BANKCALL.s01 diff --git a/src/libiar/libiar.lib b/src/libiar/libiar.lib deleted file mode 100644 index e7125850..00000000 --- a/src/libiar/libiar.lib +++ /dev/null @@ -1,195 +0,0 @@ -reliar\BANKCALLDIRECT.rel -reliar\BANKCALLDIRECTEXAF.rel -reliar\BANKLEAVE32.rel -reliar\BANKLEAVEDIRECT.rel -reliar\BFCANDASG.rel -reliar\BFCLSHASG.rel -reliar\BFCMULASG.rel -reliar\BFCORASG.rel -reliar\BFCRETVAL.rel -reliar\BFCSHIFTUP.rel -reliar\BFCXORASG.rel -reliar\BFMASKEDLD.rel -reliar\BFMASKEDST.rel -reliar\BFSADDASG.rel -reliar\BFSANDASG.rel -reliar\BFSCDIVASG.rel -reliar\BFSCEXT.rel -reliar\BFSCLDSHIFTDOWN.rel -reliar\BFSCMODASG.rel -reliar\BFSCRSHASG.rel -reliar\BFSLSHASG.rel -reliar\BFSMULASG.rel -reliar\BFSNEGASG.rel -reliar\BFSORASG.rel -reliar\BFSPOSTDEC.rel -reliar\BFSPOSTINC.rel -reliar\BFSPREDEC.rel -reliar\BFSPREINC.rel -reliar\BFSRETVAL.rel -reliar\BFSSDIVASG.rel -reliar\BFSSEXT.rel -reliar\BFSSHIFTUP.rel -reliar\BFSSLDSHIFTDOWN.rel -reliar\BFSSMODASG.rel -reliar\BFSSRSHASG.rel -reliar\BFSSUBASG.rel -reliar\BFSXORASG.rel -reliar\BFUCDIVASG.rel -reliar\BFUCLDSHIFTDOWN.rel -reliar\BFUCMODASG.rel -reliar\BFUCRSHASG.rel -reliar\BFUSDIVASG.rel -reliar\BFUSLDSHIFTDOWN.rel -reliar\BFUSMODASG.rel -reliar\BFUSRSHASG.rel -reliar\CALLIND.rel -reliar\CDIVMOD.rel -reliar\CFINDSIGN.rel -reliar\CLSH.rel -reliar\CLSHASG.rel -reliar\CMUL.rel -reliar\CMULASG.rel -reliar\CSSWITCH.rel -reliar\CVSWITCH.rel -reliar\ENTAUTODIRECT.rel -reliar\ENTPARMDIRECT.rel -reliar\FADDASG.rel -reliar\FADDSUB.rel -reliar\FCMP.rel -reliar\FDEC.rel -reliar\FDECASG.rel -reliar\FDIV.rel -reliar\FDIVASG.rel -reliar\FENDASG2.rel -reliar\FINC.rel -reliar\FINCASG.rel -reliar\FMUL.rel -reliar\FMULASG.rel -reliar\FNEGASG.rel -reliar\FPACK.rel -reliar\FROUND.rel -reliar\FSUBASG.rel -reliar\FTOL.rel -reliar\FUNPACK.rel -reliar\LADDASG.rel -reliar\LAND.rel -reliar\LANDASG.rel -reliar\LDEC.rel -reliar\LDECASG.rel -reliar\LDIVMOD.rel -reliar\LEAVE32.rel -reliar\LEAVEDIRECT.rel -reliar\LENDASG.rel -reliar\LENDMULDIVASG.rel -reliar\LFINDSIGN.rel -reliar\LIBVERSION.rel -reliar\LINC.rel -reliar\LINCASG.rel -reliar\LLSH.rel -reliar\LLSHASG.rel -reliar\LMUL.rel -reliar\LMULASG.rel -reliar\LNEG.rel -reliar\LNEGASG.rel -reliar\LNOT.rel -reliar\LNOTASG.rel -reliar\LOR.rel -reliar\LORASG.rel -reliar\LSSWITCH.rel -reliar\LSUBASG.rel -reliar\LTOF.rel -reliar\LVSWITCH.rel -reliar\LXOR.rel -reliar\LXORASG.rel -reliar\MEMCMP.rel -reliar\MEMSET.rel -reliar\MONITORBANKLEAVE.rel -reliar\MONITORBANKLEAVE32.rel -reliar\MONITORBANKLEAVEIX.rel -reliar\MONITORBANKLEAVEPOP.rel -reliar\MONITORLEAVE.rel -reliar\MONITORLEAVE32.rel -reliar\MONITORLEAVEIX.rel -reliar\MONITORLEAVEIXPA.rel -reliar\MONITORLEAVEPA.rel -reliar\MONITORLEAVEPOP.rel -reliar\SCDIV.rel -reliar\SCMOD.rel -reliar\SCRSH.rel -reliar\SCRSHASG.rel -reliar\SDIVMOD.rel -reliar\SFINDSIGN.rel -reliar\SLCMP.rel -reliar\SLDIV.rel -reliar\SLDIVASG.rel -reliar\SLMOD.rel -reliar\SLMODASG.rel -reliar\SLRSH.rel -reliar\SLRSHASG.rel -reliar\SLSH.rel -reliar\SLSHASG.rel -reliar\SLSHASGBCprim.rel -reliar\SLSHASGDEprim.rel -reliar\SMUL.rel -reliar\SMULASG.rel -reliar\SMULASGBCprim.rel -reliar\SMULASGDEprim.rel -reliar\SMULASGIX.rel -reliar\SMULASGIY.rel -reliar\SSCMP.rel -reliar\SSDIV.rel -reliar\SSDIVASG.rel -reliar\SSDIVASGBCprim.rel -reliar\SSDIVASGDEprim.rel -reliar\SSDIVASGIX.rel -reliar\SSDIVASGIY.rel -reliar\SSMOD.rel -reliar\SSMODASG.rel -reliar\SSMODASGBCprim.rel -reliar\SSMODASGDEprim.rel -reliar\SSMODASGIX.rel -reliar\SSMODASGIY.rel -reliar\SSRSH.rel -reliar\SSRSHASG.rel -reliar\SSRSHASGBCprim.rel -reliar\SSRSHASGDEprim.rel -reliar\SSRSHASGIX.rel -reliar\SSRSHASGIY.rel -reliar\SSSWITCH.rel -reliar\SSWITCHEND.rel -reliar\STRCAT.rel -reliar\STRCHR.rel -reliar\STRCMP.rel -reliar\STRCPY.rel -reliar\STRLEN.rel -reliar\SVSWITCH.rel -reliar\UCDIV.rel -reliar\UCMOD.rel -reliar\UCRSH.rel -reliar\UCRSHASG.rel -reliar\ULDIV.rel -reliar\ULDIVASG.rel -reliar\ULMOD.rel -reliar\ULMODASG.rel -reliar\ULRSH.rel -reliar\ULRSHASG.rel -reliar\USDIV.rel -reliar\USDIVASG.rel -reliar\USDIVASGBCprim.rel -reliar\USDIVASGDEprim.rel -reliar\USDIVASGIX.rel -reliar\USDIVASGIY.rel -reliar\USMOD.rel -reliar\USMODASG.rel -reliar\USMODASGBCprim.rel -reliar\USMODASGDEprim.rel -reliar\USMODASGIX.rel -reliar\USMODASGIY.rel -reliar\USRSH.rel -reliar\USRSHASG.rel -reliar\USRSHASGBCprim.rel -reliar\USRSHASGDEprim.rel -reliar\USRSHASGIX.rel -reliar\USRSHASGIY.rel -reliar\VSWITCHEND.rel diff --git a/lib/libiar.lib b/src/libiar/libiar.txt similarity index 100% rename from lib/libiar.lib rename to src/libiar/libiar.txt diff --git a/src/libiar/n.bat b/src/libiar/n.bat index d06db476..fc91e3bd 100644 --- a/src/libiar/n.bat +++ b/src/libiar/n.bat @@ -1,3 +1,5 @@ +md ..\..\lib\reliar + md build cd build copy ..\build.ban n.bat diff --git a/src/libsys/CVS/Entries b/src/libsys/CVS/Entries new file mode 100644 index 00000000..030355c9 --- /dev/null +++ b/src/libsys/CVS/Entries @@ -0,0 +1,69 @@ +/!readme!/1.1.1.1/Mon Nov 17 19:06:00 2003// +/_exit.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/access.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/alarm.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/brk.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/build-b.ban/1.2/Tue Dec 2 05:08:46 2003// +/build-l.ban/1.2/Tue Dec 2 05:08:46 2003// +/chdir.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/chmod.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/chown.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/chroot.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/close.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/creat.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/dup.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/dup2.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/execve.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/falign.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/fork.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/fstat.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/getegid.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/geteuid.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/getfsys.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/getgid.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/getpid.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/getppid.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/getprio.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/getuid.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/ioctl.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/kill.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/libsysb.txt/1.1/Tue Dec 2 05:08:46 2003// +/libsysl.txt/1.1/Tue Dec 2 05:08:46 2003// +/link.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/lseek.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/mkfifo.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/mknod.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/module.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/mount.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/n.bat/1.2/Tue Dec 2 05:08:46 2003// +/open.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/pause.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/pipe.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/read.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/reboot.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/sbrk.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/seek.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/setgid.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/setprio.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/setuid.c/1.1.1.1/Mon Nov 17 19:06:00 2003// +/signal.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/stat.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/stime.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/symlink.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/sync.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/sys0b.asm/1.1.1.1/Mon Nov 17 19:06:02 2003// +/sys0l.asm/1.1.1.1/Mon Nov 17 19:06:02 2003// +/sys1b.asm/1.1.1.1/Mon Nov 17 19:06:02 2003// +/sys1l.asm/1.1.1.1/Mon Nov 17 19:06:02 2003// +/syscalls.h/1.1.1.1/Mon Nov 17 19:06:02 2003// +/sysdebug.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/systrace.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/time.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/times.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/umask.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/umount.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/unlink.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/utime.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/waitpid.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/write.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +D diff --git a/src/libsys/CVS/Repository b/src/libsys/CVS/Repository new file mode 100644 index 00000000..02dc6e0f --- /dev/null +++ b/src/libsys/CVS/Repository @@ -0,0 +1 @@ +uzi/src/libsys diff --git a/src/libsys/CVS/Root b/src/libsys/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/libsys/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/libsys/build-b.ban b/src/libsys/build-b.ban index 403ff840..8346df20 100644 --- a/src/libsys/build-b.ban +++ b/src/libsys/build-b.ban @@ -1,4 +1,4 @@ -copy ..\libsysb.lib ..\..\..\lib +copy ..\libsysb.txt ..\..\..\lib\libsysb.lib copy ..\sys0b.asm sys0b.s01 as-z80 -l -o sys0b.s01 diff --git a/src/libsys/build-l.ban b/src/libsys/build-l.ban index 32d2d4e6..b6b109a1 100644 --- a/src/libsys/build-l.ban +++ b/src/libsys/build-l.ban @@ -1,4 +1,4 @@ -copy ..\libsysl.lib ..\..\..\lib +copy ..\libsysl.txt ..\..\..\lib\libsysl.lib copy ..\sys0l.asm sys0l.s01 as-z80 -l -o sys0l.s01 diff --git a/src/libsys/libsysb.lib b/src/libsys/libsysb.lib deleted file mode 100644 index 503b75f4..00000000 --- a/src/libsys/libsysb.lib +++ /dev/null @@ -1,59 +0,0 @@ -relsysb\access.rel -relsysb\alarm.rel -relsysb\brk.rel -relsysb\chdir.rel -relsysb\chmod.rel -relsysb\chown.rel -relsysb\chroot.rel -relsysb\close.rel -relsysb\creat.rel -relsysb\dup.rel -relsysb\dup2.rel -relsysb\execve.rel -relsysb\_exit.rel -relsysb\falign.rel -relsysb\fork.rel -relsysb\fstat.rel -relsysb\getegid.rel -relsysb\geteuid.rel -relsysb\getfsys.rel -relsysb\getgid.rel -relsysb\getpid.rel -relsysb\getppid.rel -relsysb\getprio.rel -relsysb\getuid.rel -relsysb\ioctl.rel -relsysb\kill.rel -relsysb\link.rel -relsysb\lseek.rel -relsysb\mkfifo.rel -relsysb\mknod.rel -relsysb\module.rel -relsysb\mount.rel -relsysb\open.rel -relsysb\pause.rel -relsysb\pipe.rel -relsysb\read.rel -relsysb\reboot.rel -relsysb\sbrk.rel -relsysb\seek.rel -relsysb\setgid.rel -relsysb\setprio.rel -relsysb\setuid.rel -relsysb\signal.rel -relsysb\stat.rel -relsysb\stime.rel -relsysb\symlink.rel -relsysb\sync.rel -relsysb\sys0b.rel -relsysb\sys1b.rel -relsysb\sysdebug.rel -relsysb\systrace.rel -relsysb\time.rel -relsysb\times.rel -relsysb\umask.rel -relsysb\umount.rel -relsysb\unlink.rel -relsysb\utime.rel -relsysb\waitpid.rel -relsysb\write.rel diff --git a/lib/libsysb.lib b/src/libsys/libsysb.txt similarity index 100% rename from lib/libsysb.lib rename to src/libsys/libsysb.txt diff --git a/src/libsys/libsysl.lib b/src/libsys/libsysl.lib deleted file mode 100644 index e77395d9..00000000 --- a/src/libsys/libsysl.lib +++ /dev/null @@ -1,59 +0,0 @@ -relsysl\access.rel -relsysl\alarm.rel -relsysl\brk.rel -relsysl\chdir.rel -relsysl\chmod.rel -relsysl\chown.rel -relsysl\chroot.rel -relsysl\close.rel -relsysl\creat.rel -relsysl\dup.rel -relsysl\dup2.rel -relsysl\execve.rel -relsysl\_exit.rel -relsysl\falign.rel -relsysl\fork.rel -relsysl\fstat.rel -relsysl\getegid.rel -relsysl\geteuid.rel -relsysl\getfsys.rel -relsysl\getgid.rel -relsysl\getpid.rel -relsysl\getppid.rel -relsysl\getprio.rel -relsysl\getuid.rel -relsysl\ioctl.rel -relsysl\kill.rel -relsysl\link.rel -relsysl\lseek.rel -relsysl\mkfifo.rel -relsysl\mknod.rel -relsysl\module.rel -relsysl\mount.rel -relsysl\open.rel -relsysl\pause.rel -relsysl\pipe.rel -relsysl\read.rel -relsysl\reboot.rel -relsysl\sbrk.rel -relsysl\seek.rel -relsysl\setgid.rel -relsysl\setprio.rel -relsysl\setuid.rel -relsysl\signal.rel -relsysl\stat.rel -relsysl\stime.rel -relsysl\symlink.rel -relsysl\sync.rel -relsysl\sys0l.rel -relsysl\sys1l.rel -relsysl\sysdebug.rel -relsysl\systrace.rel -relsysl\time.rel -relsysl\times.rel -relsysl\umask.rel -relsysl\umount.rel -relsysl\unlink.rel -relsysl\utime.rel -relsysl\waitpid.rel -relsysl\write.rel diff --git a/lib/libsysl.lib b/src/libsys/libsysl.txt similarity index 100% rename from lib/libsysl.lib rename to src/libsys/libsysl.txt diff --git a/src/libsys/n.bat b/src/libsys/n.bat index fda184d3..f9b401e8 100644 --- a/src/libsys/n.bat +++ b/src/libsys/n.bat @@ -1,3 +1,7 @@ +md ..\..\lib +md ..\..\lib\relsysl +md ..\..\lib\relsysb + md build-l cd build-l copy ..\build-l.ban n.bat diff --git a/src/make.d/CVS/Entries b/src/make.d/CVS/Entries new file mode 100644 index 00000000..7be8fa78 --- /dev/null +++ b/src/make.d/CVS/Entries @@ -0,0 +1,5 @@ +/arch.mk/1.1.1.1/Mon Nov 17 19:06:02 2003// +/host.mk/1.1.1.1/Mon Nov 17 19:06:02 2003// +/top_defs.mk/1.1.1.1/Mon Nov 17 19:06:02 2003// +/top_gens.mk/1.1.1.1/Mon Nov 17 19:06:02 2003// +D/z80//// diff --git a/src/make.d/CVS/Repository b/src/make.d/CVS/Repository new file mode 100644 index 00000000..5e02ecfe --- /dev/null +++ b/src/make.d/CVS/Repository @@ -0,0 +1 @@ +uzi/src/make.d diff --git a/src/make.d/CVS/Root b/src/make.d/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/make.d/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/make.d/top_gens.mk b/src/make.d/top_gens.mk index 69babed2..2b1b0f2e 100644 --- a/src/make.d/top_gens.mk +++ b/src/make.d/top_gens.mk @@ -4,7 +4,7 @@ APPEND= $(if $(strip $2), $(eval $(strip $1)+=$(strip $2))) ASSIGN= $(if $(strip $2), $(eval $(strip $1)=$(strip $2))) -CANON= $(strip $(subst .,_,$1)) +CANON= $(strip $(subst .,_,$(subst /,_,$1))) CHOOSE= $(strip $(if $(strip $1), $1, $2)) define CLASS @@ -107,12 +107,15 @@ endef define MUNGE $(strip \ $(filter \ - all %.all $(SUBDIRS), \ + all %.all $(SUBDIRS) .%, \ $1 \ ) \ $(filter \ %.c %.S %.hin %.h %.po %.txt, \ - $1 \ + $(filter-out \ + .%, \ + $1 \ + ) \ ) \ $(patsubst \ %, \ @@ -121,7 +124,10 @@ $(strip \ $(filter \ %.$(ASMEXT) %.$(INTEXT) %.$(LBREXT) %.$(LNKEXT) %.$(OBJEXT) %.$(TMPEXT) \ %.$(IHXEXT) %.l, \ - $1 \ + $(filter-out \ + .%, \ + $1 \ + ) \ ) \ ) \ ) \ @@ -130,7 +136,10 @@ $(strip \ $(BINOUT)%, \ $(filter \ %.$(BINEXT), \ - $1 \ + $(filter-out \ + .%, \ + $1 \ + ) \ ) \ ) \ $(patsubst \ @@ -138,7 +147,10 @@ $(strip \ $(LIBOUT)%, \ $(filter \ %.$(LIBEXT), \ - $1 \ + $(filter-out \ + .%, \ + $1 \ + ) \ ) \ ) \ $(patsubst \ @@ -146,7 +158,7 @@ $(strip \ $(EXEOUT)%, \ $(strip \ $(filter-out \ - all $(PHONIES) $(SUBDIRS) \ + all $(PHONIES) $(SUBDIRS) .% \ %.c %.S %.hin %.h %.po %.txt \ %.$(ASMEXT) %.$(INTEXT) %.$(LBREXT) %.$(LNKEXT) %.$(OBJEXT) %.$(TMPEXT) \ %.$(IHXEXT) %.$(BINEXT) %.$(LIBEXT) %.l, \ diff --git a/src/make.d/z80/CVS/Entries b/src/make.d/z80/CVS/Entries new file mode 100644 index 00000000..ebade0b6 --- /dev/null +++ b/src/make.d/z80/CVS/Entries @@ -0,0 +1,3 @@ +/arch_defs.mk/1.1.1.1/Mon Nov 17 19:06:02 2003// +/arch_gens.mk/1.1.1.1/Mon Nov 17 19:06:02 2003// +D diff --git a/src/make.d/z80/CVS/Repository b/src/make.d/z80/CVS/Repository new file mode 100644 index 00000000..2ef41af0 --- /dev/null +++ b/src/make.d/z80/CVS/Repository @@ -0,0 +1 @@ +uzi/src/make.d/z80 diff --git a/src/make.d/z80/CVS/Root b/src/make.d/z80/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/make.d/z80/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/man/CVS/Entries b/src/man/CVS/Entries new file mode 100644 index 00000000..c7f5ef7e --- /dev/null +++ b/src/man/CVS/Entries @@ -0,0 +1,20 @@ +/apropo-b.lnk/1.1.1.1/Mon Nov 17 19:06:02 2003// +/apropo-l.lnk/1.1.1.1/Mon Nov 17 19:06:02 2003// +/apropos.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/build-b.ban/1.1.1.1/Mon Nov 17 19:06:02 2003// +/build-l.ban/1.1.1.1/Mon Nov 17 19:06:02 2003// +/catman-b.lnk/1.1.1.1/Mon Nov 17 19:06:02 2003// +/catman-l.lnk/1.1.1.1/Mon Nov 17 19:06:02 2003// +/catman.8/1.1.1.1/Mon Nov 17 19:06:02 2003// +/catman.bat/1.1.1.1/Mon Nov 17 19:06:02 2003// +/catman.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/man-b.lnk/1.1.1.1/Mon Nov 17 19:06:02 2003// +/man-l.lnk/1.1.1.1/Mon Nov 17 19:06:02 2003// +/man.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/mkwhatis.bat/1.1.1.1/Mon Nov 17 19:06:02 2003// +/mkwhatis.sed/1.1.1.1/Mon Nov 17 19:06:02 2003// +/mkwhatis.sh/1.1.1.1/Mon Nov 17 19:06:02 2003// +/n.bat/1.1.1.1/Mon Nov 17 19:06:02 2003// +/utils.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/utils.h/1.1.1.1/Mon Nov 17 19:06:02 2003// +D diff --git a/src/man/CVS/Repository b/src/man/CVS/Repository new file mode 100644 index 00000000..34fdc84d --- /dev/null +++ b/src/man/CVS/Repository @@ -0,0 +1 @@ +uzi/src/man diff --git a/src/man/CVS/Root b/src/man/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/man/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/man/catman.8 b/src/man/catman.8 index cccade5e..37c295ee 100644 --- a/src/man/catman.8 +++ b/src/man/catman.8 @@ -1,119 +1,119 @@ -.\" Copyright (c) 1980 Regents of the University of California. -.\" All rights reserved. The Berkeley software License Agreement -.\" specifies the terms and conditions for redistribution. -.\" -.\" @(#)catman.8 6.5.2 (2.11BSD) 1996/11/16 -.\" -.TH CATMAN 8 "October 23, 1996" -.UC 4 -.SH NAME -catman \- create the cat files for the manual -.SH SYNOPSIS -.B /usr/sbin/catman -[ -.B \-p -] [ -.B \-n -] [ -.B \-w -] [ -.B \-M -.I path -] -[ sections ] -.SH DESCRIPTION -.I Catman -creates the preformatted versions of the on-line manual from the nroff -input files. -Each manual page is examined and those whose preformatted versions are -missing or out of date are recreated. -If any changes are made, -.I catman -will recreate the -.B whatis -database. -.PP -If there is one parameter not starting with a `\-', -it is taken to be a list of manual sections to look in. -For example -.IP -.B catman 123 -.LP -will cause the updating to only happen to manual sections -1, 2, and 3. -.PP -Options: -.TP -.B \-n -prevents creations of the -.B whatis -database. -.TP -.B \-p -prints what would be done instead of doing it. -.TP -.B \-w -causes only the -.B whatis -database to be created. -No manual reformatting is done. -.TP -.B \-M -updates manual pages located in the set of directories specified by -.I path -(/usr/man by default). -.I Path -has the form of a colon (`:') separated list of directory names, -for example `/usr/local/man:/usr/man'. -If the environment variable `MANPATH' is set, -its value is used for the default path. -.PP -If the nroff source file contains only a line of the form `.so manx/yyy.x', -a symbolic link is made in the catx directory to the appropriate -preformatted manual page. -This feature allows easy distribution of the preformatted manual pages -among a group of associated machines with -.I rdist(1). -The nroff sources need not be distributed to all machines, -thus saving the associated disk space. -As an example, consider a local network with 5 machines, -called mach1 through mach5. -Suppose mach3 has the manual page nroff sources. -Every night, mach3 runs -.I catman -via -.I cron(8) -and later runs -.I rdist -with a distfile that looks like: -.IP -.nf -.ta \w'${MANUAL'u - -MANSLAVES = ( mach1 mach2 mach4 mach5 ) - -MANUALS = (/usr/man/cat[1-8no] /usr/man/whatis) - -${MANUALS} -> ${MANSLAVES} - install -R; - notify root; - -.fi -.SH FILES -.nf -.ta \w'/usr/sbin/makewhatis 'u -/usr/man default manual directory location -/usr/man/man?/*.* raw (nroff input) manual sections -/usr/man/cat?/*.* preformatted manual pages -/usr/man/whatis whatis database -/usr/sbin/makewhatis command script to make whatis database -.fi -.DT -.SH "SEE ALSO" -man(1), cron(8), rdist(1) -.SH BUGS -Acts oddly on nights with full moons. -.PP -The need for catman(8) is almost but not quite gone. Most of the manpages -have been moved out of /usr/src/man into the sourcecode hierarchy. -The recreation of the whatis database is the main use of catman now. +.\" Copyright (c) 1980 Regents of the University of California. +.\" All rights reserved. The Berkeley software License Agreement +.\" specifies the terms and conditions for redistribution. +.\" +.\" @(#)catman.8 6.5.2 (2.11BSD) 1996/11/16 +.\" +.TH CATMAN 8 "October 23, 1996" +.UC 4 +.SH NAME +catman \- create the cat files for the manual +.SH SYNOPSIS +.B /usr/sbin/catman +[ +.B \-p +] [ +.B \-n +] [ +.B \-w +] [ +.B \-M +.I path +] +[ sections ] +.SH DESCRIPTION +.I Catman +creates the preformatted versions of the on-line manual from the nroff +input files. +Each manual page is examined and those whose preformatted versions are +missing or out of date are recreated. +If any changes are made, +.I catman +will recreate the +.B whatis +database. +.PP +If there is one parameter not starting with a `\-', +it is taken to be a list of manual sections to look in. +For example +.IP +.B catman 123 +.LP +will cause the updating to only happen to manual sections +1, 2, and 3. +.PP +Options: +.TP +.B \-n +prevents creations of the +.B whatis +database. +.TP +.B \-p +prints what would be done instead of doing it. +.TP +.B \-w +causes only the +.B whatis +database to be created. +No manual reformatting is done. +.TP +.B \-M +updates manual pages located in the set of directories specified by +.I path +(/usr/man by default). +.I Path +has the form of a colon (`:') separated list of directory names, +for example `/usr/local/man:/usr/man'. +If the environment variable `MANPATH' is set, +its value is used for the default path. +.PP +If the nroff source file contains only a line of the form `.so manx/yyy.x', +a symbolic link is made in the catx directory to the appropriate +preformatted manual page. +This feature allows easy distribution of the preformatted manual pages +among a group of associated machines with +.I rdist(1). +The nroff sources need not be distributed to all machines, +thus saving the associated disk space. +As an example, consider a local network with 5 machines, +called mach1 through mach5. +Suppose mach3 has the manual page nroff sources. +Every night, mach3 runs +.I catman +via +.I cron(8) +and later runs +.I rdist +with a distfile that looks like: +.IP +.nf +.ta \w'${MANUAL'u + +MANSLAVES = ( mach1 mach2 mach4 mach5 ) + +MANUALS = (/usr/man/cat[1-8no] /usr/man/whatis) + +${MANUALS} -> ${MANSLAVES} + install -R; + notify root; + +.fi +.SH FILES +.nf +.ta \w'/usr/sbin/makewhatis 'u +/usr/man default manual directory location +/usr/man/man?/*.* raw (nroff input) manual sections +/usr/man/cat?/*.* preformatted manual pages +/usr/man/whatis whatis database +/usr/sbin/makewhatis command script to make whatis database +.fi +.DT +.SH "SEE ALSO" +man(1), cron(8), rdist(1) +.SH BUGS +Acts oddly on nights with full moons. +.PP +The need for catman(8) is almost but not quite gone. Most of the manpages +have been moved out of /usr/src/man into the sourcecode hierarchy. +The recreation of the whatis database is the main use of catman now. diff --git a/src/mkfont/CVS/Entries b/src/mkfont/CVS/Entries new file mode 100644 index 00000000..1a469c54 --- /dev/null +++ b/src/mkfont/CVS/Entries @@ -0,0 +1,50 @@ +/bmp2txt.cpp/1.1.1.1/Mon Nov 17 19:06:02 2003// +/bmp2txt.exe/1.2/Sat Nov 29 06:37:48 2003/-kb/ +/bmp2txt.h/1.1.1.1/Mon Nov 17 19:06:02 2003// +/chs2cmd.cpp/1.1.1.1/Mon Nov 17 19:06:02 2003// +/chs2cmd.exe/1.2/Sat Nov 29 06:37:48 2003/-kb/ +/chs2cmd.h/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hdmlib.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hdmlib.h/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hfmdump.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hfmdump.exe/1.2/Sat Nov 29 06:37:48 2003/-kb/ +/hfmlib.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hfmlib.h/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hfmtool.cpp/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hfmtool.exe/1.2/Sat Nov 29 06:37:48 2003/-kb/ +/hfmwidth.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hfmwidth.exe/1.2/Sat Nov 29 06:37:48 2003/-kb/ +/hycache.cpp/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hycache.h/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hyfile.cpp/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hyfile.h/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hyfs.cpp/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hyfs.h/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hyimage.cpp/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hyimage.h/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hylist.cpp/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hylist.h/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hymb.cpp/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hymb.h/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hymem.cpp/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hymem.h/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hystring.cpp/1.1.1.1/Mon Nov 17 19:06:02 2003// +/hystring.h/1.1.1.1/Mon Nov 17 19:06:02 2003// +/main.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/main.i/1.1.1.1/Mon Nov 17 19:06:02 2003// +/main.l/1.1.1.1/Mon Nov 17 19:06:02 2003// +/n.bat/1.1.1.1/Mon Nov 17 19:06:02 2003// +/po2c.cpp/1.2/Sat Nov 29 06:37:48 2003// +/po2c.exe/1.2/Sat Nov 29 06:37:48 2003/-kb/ +/po2c.h/1.2/Sat Nov 29 06:37:48 2003// +/restool.cpp/1.2/Sat Nov 29 06:37:48 2003// +/restool.exe/1.2/Sat Nov 29 06:37:48 2003/-kb/ +/t.bat/1.1.1.1/Mon Nov 17 19:06:02 2003// +/txt2chs.cpp/1.1.1.1/Mon Nov 17 19:06:02 2003// +/txt2chs.exe/1.2/Sat Nov 29 06:37:48 2003/-kb/ +/txt2chs.h/1.1.1.1/Mon Nov 17 19:06:02 2003// +/x.bat/1.1.1.1/Mon Nov 17 19:06:02 2003// +/x.h/1.1.1.1/Mon Nov 17 19:06:02 2003// +/x.po/1.1.1.1/Mon Nov 17 19:06:02 2003// +/x.txt/1.1.1.1/Mon Nov 17 19:06:02 2003// +D diff --git a/src/mkfont/CVS/Repository b/src/mkfont/CVS/Repository new file mode 100644 index 00000000..a540bab1 --- /dev/null +++ b/src/mkfont/CVS/Repository @@ -0,0 +1 @@ +uzi/src/mkfont diff --git a/src/mkfont/CVS/Root b/src/mkfont/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/mkfont/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkfont/bmp2txt.exe b/src/mkfont/bmp2txt.exe index 62678d207d8a86fbdcd64db96d6c2ff18cc379c5..a3f16cf1f002ff460e2271e74806cef6f671e2d4 100644 GIT binary patch delta 4047 zcmZ`*3tUxI)<63KdW8#K22@f|kcWT@=j`)-UzDc;^142f%+FDV!B=XUj}XjfUP-3y zJ55yT!y?nJ0+kw~1}R^og^l?dn$ZRysnt~0Sj@T?^Y@#_cYnYCS$nUu*V=2Z|Jv)^ zBQ?E_)by(EjJi3q)ubN%I;kKOfO^3UQB+Njk|hW⋘Ronv9mXKSw8n&^h-m`$kK^ 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 delta 4081 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 Is6tWy0w{=+y8r+H diff --git a/src/mkfont/bmp2txt.obj b/src/mkfont/bmp2txt.obj deleted file mode 100644 index 4fbee18dd729d0468d601bcac8e20e73143d5b56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19759 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 diff --git a/src/mkfont/chs2cmd.exe b/src/mkfont/chs2cmd.exe index f73fb106f78de07e2f34580b184ce2917a24e6ae..939a0284f5843a181ee2ea3aaa0ea103b499565e 100644 GIT binary patch delta 3189 zcmZ`)2~<_p8a|uxA{V`SL1dN~M4Zk!`%L?c*8!A5MZ;H_wyf8{Lvzd$Cs0I`i+OEh zlFyz)no>_qZyK2zCZ(&VnP!%yg_?R5G&Sc)-hV+|>kZwtzCE3P{QiIMyR9K;TSJh? z7uYy<-;%}zG=YYp?@+Y&6r%0XH1AZ08Gu;&VJ8h;r&l_~g~ul{Olf^kA@U{B&dwf= zr{ny4n|o=~A1y7zeL5ZHoPe6>9%od%6x;f#tZr&#LBS6$#^*|Spxd8bbFM>g)9T1c zD3P{{%0W+g^P}dV@ZoJbV15K`=$vD}7vop4!yd&@F}inXed~dPPK-*Yp6J2$N89!w zFt`gn)j4`=m-YeZ9_cOx?>e|oYu##ir>)bK``xV5yLPS=EC3};TY~~A4yB% z($P)2KF&g4c+bc6L-u>lhi;uCAG`}=Pjv=Y=VpNz+4GiPgfXn0TXEi&H$<>oOLcq|{JGRN&|M+cPb4%({58WzsM;>}Y z;8OisV0Qpaxqy7YD8Tc8ae!9<<&+b1oNckJg8c?SE#QE6k$5r)MbfeATJ)yZp>0KI zu6M7#IV6EGUCc4v#asm#2ABcN1Z)8e@GkDZFdYdrrqG3SIE6AC?obrz9Xh!v zMDi8=f3g`khdgh?gmfxezFHT zVdHM`8)2rq7(1Zrbb1rWp7D@t7M6d)^#YIw-z6a7sfKkepaJlwT$jwCULbo0Jt=T0 zZFU8ibie>WE+8K;3h+GOHJUsl$LTlkZt=ia4cGwK>76y>ZWu5$t!y#&+CIJ%68L%U zJ{nq=7Tia3G5x(<-H#!`xl>$B9__fVzq4{a1PEw>pQ{{vmAkyF1J;EHj~(D*YP=o4 z=@5t<-sEE)LQ#&FJNapP)Vet?=6~=}a1iPhUkq)}GE5}Argk=(jc3!@9_(zkf?dL{ zX4kWu*jn~5dz}4=y~zH`26N$DZ|+5I4)-3noBM<7!e{YM@jjlxp|}H%#9eSa&cb7H z8Lq@0T!pLg3cL!h#T)Q7d>c1oMhFrLg{gu^SSG9xRtal`J;g$!kRYat8DdY76$Mcd zb@1=4HMEa`P=t+ZYGO$wA*d89l>UMAPe8A@+uvNBDXr(9C<$Y01} zvXrbNC&?Ldi8$5g)B<&?I$d3+u2wgzJJiqAv+70lx@yxRv`8&h%hSebQ?)m=;`gR-Yqjq zA4OEgD@%(NmGmWfWC|%FWst!N@(!sXUy~E$7t%zUA(JFEP3@)1YPLEQa+7;Z9GHxe3ILZ6}oBfObS{(ynQDwJ^P}K1AQ7@7HsT zp+}N4!7^VRNc5#n!dHh%W4}24UjSt41aSE1j4jzRk;JJ7yUWwns zyYT^h9RG~Z;;T4Rh!Zk}QNlQ3v+#-Vxo})KFBD%F?g%ZyNby;*M!YN@mM%(3ayPlJ zJQ!-WLT-{BlVZ{D*YY(tbRw2Hc|}B$Ttd&Nk*|zX}o2uHZ~UKsCYuWDB7en$&f}%+oXR<_oNqPxBM-15wGaVOK{(} zDz(aPrC#|``C2)qoKQ{|D?a72a$UKrFeC)X??k$gM3PD}2}>lRlYV3n8A9^ONHT`J zNXC)LWEz5xP@7&Qe(XOyC_*=3fK&t<;jx0+3H~fuUPXGV_ delta 3230 zcmZ{m33yG%9>C8eR}yk7Aqf%5O^{qc@|<(#Y;)GDf`;(IN2?mOx001PoBzz5`TuAB%goKjYTL$Y zTbb8C$<}Mm^%yjSHby5B!&`pF>JYOQawB`u3d2p;}ym8gwP8e-))+J4T(l=coP?HlAj;Bi0iM;?^; zG3uB)!uQ=ay_>!8T{{D{5DLq@dG`8Q2+6PjNJMXYU+;Q)po4|Jr_Xh4<#%rgP3*{b znmhczbfbN`dxD?pu5R?F?n4_r*ug}t=$?*=5YAsZifBG<*C`FHqFJ5N5kq%&y8E27 zu}{xlzu9@ZJE?ob)rM1Ck1ZWw?+0-%4eIL^sUulKg>+DI=VovGdCDM&*MOjY-mY|E za(7Q{@&lXX#o+AMTm7Mo3a{F-?S<9;{@>Ka7c($l7eDI(h%%7*J{by)4h+S#X-*=- zRL)6&c5qIsc$l4)%KQjoKd=Yb22=uTfaSnPm@dpo4TD~3ozE&GxEMPSC(wI2qXvq; z`TM6}D;Bz7>*=8$HXN#x?@%SM9##~n4d@TNPPx3)u!hqV zz_ljXf>?bt8Z-MIrt@KI=vUs}dT;YAyzQxT-S&jr4b1jEgq= zx@%be`!1#csDnRt8tgaCj)w#y;^EHia7N6Z;$r@X z&5dj*Iokc$VpxU=hi5mCwX-eQ*6dg|mz~1SVHdEA*;VXLb{~6?JBhJ&yji})2h0q5faT!c&TOk9TN;c|QtdvOh}#lPY~ z!YH9Ym?q2=%7l5sKZP@H;W;r}j1;5AI5A#K6q7_&%oPj7BC$lADGrogm)?@zljcb) zrJtlbQk>jVPM4?2m2#xwP=+g`mGR0s#YMUkHz_9b$pLbdoFo2fKXsrwO3hTKsdLmN z>S}d^dQ3g7UQ!>ZPgI-MM005w+9++R_MztfRNJ8K)V|Xe>1*^|`fX#4xygEB!NUQU z*$cwKitK7O8&AZ!_&q!ozmI3&f8Y#ZqEIBv6&8UHn}x50gTjx(10fI`kj0~7jks7k zAyrG)C4V_m?ke||2g$?aiE_R?RW6a&$+dE?c2vv!n(*2~i`|7`44BsTTM&QC+Kg)Z^+|^?to4&9q1@PIGEWnygvcY-5q}iLu?- zWgIq67*~wjhRtkgwlx#YWD}b%bFewW9BaN~=9^Q@IpzZMj5)<}gNx}5vmV4)E{B`K z&4cW&=QeZOxv#kc+!5|1=jCp3!F)8|7V^D-m!uTw6=|6CnlwSmlS-uzq*YR-v`hL% zIv^bdpC3t#94g1jPFay%@(_84e1%AAAN6HO$apnZouTejzf+H@r_>ATHT8~L&C%T2 z46RIC1BuwC?b6O_7qx5JLygl-eX+hpCx&GVG(ya1vy(Z~ykPPcGn8Sf;lM1XaW4K# z{#*Vmf04h-2jDR5#000|AvhZsftrZIvYDCAje)E31@sN~N+@sZ#bT`;{YZ<)m_6xujfE zYL$Bsd_NLInv!r5MdFB)BoUq{#3U)CCrKwSk_#uj)Vvf&MQWFn}w1k*ZV zow4ATn2Cc3+1WU@BiosMfqj*Io2_K4*zein?Agt|oM?OF#_+Rb1;VNx3!1Sg{tq9` BY104z diff --git a/src/mkfont/chs2cmd.obj b/src/mkfont/chs2cmd.obj deleted file mode 100644 index a8a748248f9340d1051f41b1a0bac561b9c259ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17634 zcmbVT3v^sZd7jlutCh5pSGN2}>?G@8H-sdzV#fxY6QrxVceOX#$IU)0+r-?+(%Rlc zFQk2bbgkEzhQbmO}#s2qcGBLmMC={l0(h z-MuTx>EoWWvvX(u`R9MnKeMx$&_;D_>*(N@_9*pdN2YTDL^-l~(cL{#xbEnh%8U0$^Sbm`ATwD%P*m-z`OyUPvLVhIll~W4|}+XkI!m+%%XiA{Oncu@Tt$M^-SRAEiT|-NV-K56Q29(UXJoBng7aUaI%JA%BYSV1IC=C$ zb>`N^yQ;S?%un1peaDg6ncA%r#};-@Oi%XD9=`o%m~LAL#+ShzZ| zYv*-`tF?r=!@TC2M1HPTovz+hojIB?XQ$_?QZ|@_P}2cJskQZ6Rbps+25lS_s}od65sK4#K$KTt(xH3oSt0g&HFg8M&~@V z{@hK(2*Exvn@G&F&pkKSs#N#f!d>=E3S!8OPgnZT^B8(KwxcRk<`-*mv_9^&wpEK$ zv$adm@}!5M2N(e4qv%D~FVOWEXo}1osiBLEKIM%MRY~;I-WxcfB z^9#4L2i`QyqY%5nv0QRn42wH6{%uVEGYtS*s~Kp8Lg|5kv=gqN!gRoHnn+`In42? zsl($FcTmJX7ul}?6k8cxrYg0H-vi;Jr&yVp^m{gYV_MW&^b{%+mFn?|-$_e2DhOkl zlAFxuN>FFPqGH$_QoU%-knyKpI>9s$%k*UV?LZpwg3x%pJ8XqAd<(04!j zqUg(&to@}8Xm}eM*0@ZZytc&AiwOL@0orR=0@ zk=C4GJw&WdGuA)A(66HX3bzbDaXllgQ-4d@NEXUY#_9na$!zziBuih$`#KECWb&q) zDp(eXEtJjDW$61R`ZlzFRc zI`!>h)cS_O1oXWQy#{(?Vr`yZvhm-5DVA{>Ho(Sr)giGa6u~LAwgZq|ZXPWe!*Q%6 zjr$z{T<4}Tc>``d;uej4mJ3@lNF&{|r`eBUXr2L@wsg{TUB(N>thmr*zy(a#+6M<9 z=DP)RL)1PdF3J&h3fcJu{K{BpXQ_~^sIC2ETW)W$`rXI zW`+%Olmar**Q3{6-@v=jycKIwt5M2lDJ{OVjhShqaHaRQxoDZ?f?YZwu3501QobNj zv5?P@mMYlnE!kNsl`XkeuAIdJY8uq)@2F~r!NTK)mVXn7=uQ@lv0@3HNLaS+Wvg>b z*(w}J8@Xi0Dv&ZJ9IXz*7hfd58_wr5B(sK|wu}Q6b>rHF`FpzRwJSaYgX+fjp3!3Wi91qr|JrH zQ#tzS>ws%R#wj5MGLnewMxh?8XooMx$gbn#Q|<(|3fSe-dUvC(9W)PT^24+zysFOB zey6lEnJ?`c;Oq%BwH`iMtMG;JtpuiMDXR!}Az+2fk<5;w>1riWA|C_0-6?v4uX=K@ z3pmzh98Z^65ppJVK-I0K>YPkIH^SlXTRwb@)BH2I><}>zL;Iv7fl(2sOv5CN1__4v zE!x@jm@H;nGmF!-sbXn_jUNRHZG44tE}0+8Q52$ic26}oazM#*JQLvn@)kG@9xlmV;q+N9EB(;*JR;>L_0a4S)(A++bmM##N$&b(k z1Oq7`2Ak+e9$$nuqHE9S+?_IQN5e9i8Vrtf=O_$3MUN#@Z2BjOTlKuFlj$;g@|HfSYP}I%JuH|m_)K43dJay>AGc8 zK8v8cBb)V>Flw1r)3efO=tb@65xAHkauz4c7`YKUS?6Ek6J$VIOrVL`CNf4HUB&W# zg+?tD^8iK7cZk|NK(+I9u$%CH%7e8y9RC-9P;P$gqKv52PDy7=>2hwA;{F;j+j>o* zo_>z^HBQQM?W~hWyrDO*I>{J`y$R4kVr3~nn~Lo-3bui~o`H%jDz2BF*i&$zl{MGV{?qgv=z1%%{V&p zuz^Mp^(}yEq{5mg5qDq+j+h4HFRAz@UOT9k0tHMlaM*G&i2KqLqh3UihLfNdBmM536r^PG|*WEhP&CQ^q2(J=b>6NyVOaJ0ji z7&nNPYd{xw7TyxTeZ@!6wxwyY=N>7r%yW$*qBbDX{`hvzBOy4IDG@KbyA0FBZWD%8 z92NC4d^lz5Nb)GWwmGyNQu-lc@U4@kawWRg!#KUnib1T9l{AIm)Ab3H!#Y3^dB!2* zbajL^)ykRb_9657YbwJ_x8u=Q%8yz(5;#O0j-<|1-v=>AoU5HvbbS9a=~b6| zOC_IVMg=B0?I}a_FHwPTOi}`gG#&W8fa_&@e)wj~EMa$b3vw4m!}p-42Xf?o8u={t z<>D9&n~`GP9JNZEhoWi6&cg)Z$Ln_KeFJYn--iWc-N(JK{vya!KxsP+f62^=|vL3AHq9m*vXImpiwp@apm}zoF z!L=>ANX|GbGsE?(CWg!#nGklav|2a;8NU+%J=x;OaDKmUa8%bZGC! zBIK;2&KP-p4PdqH7R`LpqU5RCXx7RO8n!*_|w|t!FM`&oryf`5m;k*2Pkik0a4G4qdD3Y8s0mxwj47bU)prINZeCfQ3 z;)xuYn_X~aBP7}XqPuWxb{=Q+;W(I5ZN)TF8V2<*kX%?iS3H0BGXaoD8jQO*=?KRU zgw%8VEqU%6$4&0`l*5c2Ta<_sSwS#)ED)^4oDshl5J*-D*xXF)JQ zoMt%G_#w>I94uumeL0$=c6sKGnb{LFoI#c<36{h~;~_3L=Z73Bhc?#9RvnBeST3cA zva*&knor|>jazQ=Ir3vrgvopvXLt84YqmKu2ul0!4!M0;rpkspokd>aV*X2Pe>FhbBUvNlo8snF7U05?UEx$r4Xu zR_#vvOi;f!mn{YXya+(aTgZ9(?n8L?)9T}Pah zGha9au{RTRcMc5*D*UkezX!0NL?5N zfgC_+31`7N}_{tbI~fB#0_9!C4-CP8842xP*H z6AT^go-5EAzkxA*%o_az65l;(jbi0xSh@Uu0mv(Yrp2FGaFVVMvi0vUq?a>vAh&_U zy|n#H7}w7VM?IE=3l@oiqQlTE}B)pJW$2LneBZl#)@96dQRPQac|8mj`fa)-Y zAq`p;l_Fu&;;FnXxL4wdXNDWsv^8J3i$3~dvdj}Jw zCEC-(1BovejJTv0 zf#rf0!Ii2D-sgJ)mH#HRMP$v9{hMrY7VvAjD~ZP&(c8w}1B87;9oA;1eipAA{2#u` zIjYTH7YY5kI&_+^)LNu0Nemet!fTuC@n}_l3|NW!-u{I#O&Pzo7R$1cqcRde-^y%;%8+F;YvQ-VLcTzY;X;e!HsAS357Qx>(|aC! zKLEP<%erhCeH*`*)Zm9K-7u_kgVf_H(hq{WjXy~7kf(&QuH?`A6K?~G#*qERri zV#t^WhTJ&35E~eieiBb1w@cc%=LW873xMC~tKIk2Kt4o8$7uRU)KeK_q)5)VptMrn zbf`IC(0NYKLxLGKt(%EnPjj9}uVwgKZru|7$W~k3QmFF?9Yc#{BSy8kPBxVz%hVB) zbFCm61fe@eaeSPUwTh-D2r?#v3@wyWz+pqvNhRBF11jF#s2`(S`(=ktJ+vPmcc-cg zl1v<02`8slfqlk1K?E-qb*cAwwNBL=LgFcH>%Cg1y0HZ}%cO14t97dK(vzp2Oxzwn zYdz{bjy`qjAEHay*ey%tXd%!RJ7Ya_d-!bj(OZ0=v*kw%UcGh6dS>Z|hb{ou{ZI0a z*F&dy8Hv~)I?YQ(g7=5?umu(T`zcJK5_N2LdIg>F;3zWdwWRNJ|mQ^IZc_J zJ;$p`8sU-GQRlG<5hJJJx)*<zl|~sBs5PJMJ@woE#oi?mP*@N>sMHfJPkd0QU443wHjkC)>GP}ewj}bsmz|?H4)C)v%D!5?2Lh#mM1oWqL4a!n!V0aHtGu{wsek7!3m;g zPV=hR(phQ^n4T#tNrSIdAY5$sG~ltg5(%hWPDu121;0?c&UPeVV%*WbF9%SpH>o9*m#TN8+^jx<@-p=R z%FES5C==>CD7UL0qP$A|3gy-6Hz==F5lEn4twp&*y%6Q~>L!#s)jpIrsM}HQQBx>i zqV7YvSG@t{jp~gkZ&GhYIjG)`a#%fpGO50T(ozqjwAIg1-mKcdeOA2y#9#nUuoKojdPOHB~Ij25?@|7ZSrT!lEHuXi65%mp}QS}3qo$41TyVO%C zd(^Wik^Doxy{Z%CTD1Y?I<*z$dbJnjMrEViq;e=PQHu-MiSA8!7j6^PnIpJ1+F!e~ zmU#K>VohFf5%*By0${8XbOzT=7ZTM;Uf7rzpXvl$ zZZoZ8kAJH;3DD!9lVD(Uk*nC3@%ro#iF?^oc>>_!0FMF@i9Z(tMAX z=E{D$T8M=_q1fDnzLjg&D$_l<(HTWM@70EJuhzdQDjS3v9A^WOW)XqvRldhV`FM+7I#l!+ve=z z)MR327Ut@;B_?=7IWchO_JNn&nc$wqs{=u^W$pH+A>v3wM%_(QEH^FQOQ!kCmSawA zYuPPi%;;MiSs{l1Z5ZVmr`$msxQs;6~EO%T7?xlw$wZ_uEl*6v-XL# zA3-gGaOjJhJZo_eqeiXvsZo>*QhNo;349__>afnR+^m)XytkoQN(B#jXh*x8ff~|3sJrrpNP5+rPe8R zr>)>V)PmY=lRu3_un2NF5xI`dL$A0^A5_{2wl!&Oh4MRB_#OWSL&*?#XG441@BCSO z>0CUdKcD*U18OZp);h7caQ)w)wtm1Gv{B!B^kV-`IXCLg zt7pFi6SV5*Gu}7;6$pKiD&pclBZavpYvEklTDE$l_R6dq>efPBjZxdYQTi+B zDG@Y|Q`eArekW&-wKBqi_S;naB%Q&`OI3?x8^#yQh zvAKy;&ZRl^t#(Aicz!`n1*Xm^aWzK4+yhULQ>X`=?nmi!+P;F*4uRQ(k~)3OD?SSG z1UY>rdVEe-(`k1I0C+ltQ&LV`mFxAcu$fcNr8(6WsnkBSG%S;x3QV0-;%bbdZ#AAE zr`$y}boy7H{oF{$3QoHOW;aUyU-E47rO!6xve)CHOSm9agd5(ecfO!75I16i$B#zo z!sxXPJhypx2%}|w&TG-$?fWUZv99>i;PS~wdy8-3v}J**OM^5uMkP6<{sg7bjn;68 zk%u&V`5m#jt`*Yg5tu2I{I~4rU+;UNPq9*;@o4T5X^<+y@t?JN!3auYjo{gilFvP3 z=>rWsKk)Dn25Uh;hHOrq%r3}f1wx}hIN-fH_FGKpe zz|>_(P8y@$Ezo`ulwmI#8!{wB&k7kL;Q|cl#JBp;hbth0r26sjUetZxVTfEFC0^z6 zwN~Uz%885r5WWxJ&A!9AG^bZepHi=pZ=X~8j=eB-47eR?J z{)R)dDE-O%w8Xr1kYltoR%Uwa+XiLnH8%k~r0QMx?A*aVKJIj7dZH;$(AmZAf!oll zvkO0xG_T#C;_&+8b4vfCeN^h4G6$3v@zAf;N3h~?T4H@8KH<;}tTsJK3?7th-a-On z@pcjw=Rt$ zu~Yjx1T-d4 zhNkEW?H@L^n$|to)NWF>hc;>5w3V{1w5uxE#9Ah0RYqwQN~)z@RHYSd_WRDc_u3A0 z|7@20`FDTkd!KV($9o(un(cgO=g2~$JtRN=SXzzh1FCsQYXO`N>&X1|RFFTWc4vE5 zcUmJ)If*tv?_!B$mg1+4Dw_S>nT(~wzl**3M-rc+stbNy9n|xN+FeAi;Ja`((ek-O zJ#?59YJb8Xi|CO&y~m4*cF)fv02|q#%dgOeew$-zJd#c539Y++&#vYc zC7;;0r*&^rFwm(K!E7Uy3ggue)^|mZ_Z-ubUD*>_S0)|p>N^@wCH1b}cwa2r*Y8ht zAK6U~DnUD1f?714%B14DvaVyjQoVI^x27vCl`R`LD*O6%txr3lC3}>XRA0ZAP}9mm zHJ#B?NoC7ce^r%#+xFU8f7J#mtH@9LApD|gI)LAK_K3sT7txaCTExeXCIUHtTzeTW$MK^qbU$YRz?Z7yq#wmml5vPwu5HdI%c#@Pah9InN`!r zxw;wYit0Ejr(4(uD_^sdqQh3gUaK%BIAJltnM6uwUz~5Q0#3Dp+!ae;BR|Dx$r3ON zY{nap^l6FX;W(x-He;w))p~k$IkdRIsw|@)PpEQa9!59``6&_g&M)9xF?B$Ts*4Ip zkLkTnOMbyXWN?NXnd*#qB9nPkTv36V$}(Y87#5rt+%j+_f}4vYCyqR(hGL`|XuBGQ90b1cIBeZbxEDIN|G%E8d^VgmpVLJ2C0l zopUVP!@;v`m(fnBVSSF7%dBJ3-bh*oSp=JsaC`89y*%2FEA6a-NI0Qo^zXvZhi@7E zz(gMU7togl_iqz8A8$U`pxRSE9*Ci2khK)Be#-(?ed=slov!M$%H4>@rC z!G#%mB_{IFG9bP}meD;X@=zrZUwz7`+C&~|1u7F1Kj0EEJ!d%{E> zGJxg??wcm^P{J5%3yq?){dB^PtEGd5vaodm$I}8v83c3OTm*71|E%U=MWH#J*$sUR>zgvhnq@ zsTD#LbL+^hyRiohPRD7dbLK*Jmej8o<~a5WAjvgm1bxBXMrR4K`oiHqa#zQzcvVsL zYjLB^H5|NRED(nm;zqOE;OVF0SBHa>mjV-vZMk6>` z{nxlLcQ|y-2uuoJMbc66Uxq_d7Uvue-Zny$)$H7rb3SgSTYlylgfK$4JB+}!b|W~k zzn5c*bcbH9xD*)WLr!5-q%dj(MjHaxP98OaQyhN(92icC=-&NCXiCKKz>yqv+oLXf z)M<|vS)*9)YBGW& zqH-tPjmW;+>$BYmjmQ+>UZ~B5*46g>(iU4QWgptzAf`LpYS}rF)v)&r=V4MscD!Nd zw*+rRwQVee;Ku^h4NO`~&U?3_uk%dj)Xn~2 zPHr24+hTRi!O3x3EGjRuy)BCJAYD1ir;Z$T*`vHN(K<-Jx4EdvM*D&8 z!PiHRLh@bCMf}<%xjrDi%em;d&7B5f?=IrhSK#X-K2`WG=OVr(NW^!ZFA45BNCjUX zy#%>jpw}Sz9_XUWHhK$anczks6?}d40VKbLx#%NE1z#Vz9Yl)+S_Z^V2|ij4#4koZ z+5#l2+z!Og3qESLNB7$3Fi;gnU6ioVppAZQqrcf`6i9lW0;&|Yp8+W%MjE#Xzu=Am zNzQsEanY;br0q4J&BEecpiRPppGl;}Ts#p-z0E)ygjgIgqyYKIf#)$ft8O4U=jA|hE*AjFoLAV~8Xy^W zBT%dGR|O>f-47)FwE#(fyMd&?b|7hc5U53D&<)fqyz~G`F9wjDqo;wI#OO2j=v5%u zp-G@dG5U!;>cz9tPQlFuQh$B<3KWlPi?LQ@2_$O%YbCZm)P8DAUUgkpzXqQ zHIO2rH2`fBT%*nLQ?-1}c8IxmigTnySh&Tmh)49-D>^lYc0s#>4nxkRCn4w28Au;J z4Y`1R2)TrQ2Dy}8fcz4@0l9+Sgj_@KK(3|tA=lG52wjWh+> zMCCX~T4*t3kRF9>r#{F|It3Y`ryw7uUqC)azlA(RFG3!sS0Nv#Hz1#&HzB*}9Y~eN zA>;HRWG{UTsfjBT8ijQ`o9ZAdC;~Z;l92N$3%QU^LoT9okW1*tkjv;r$b0cZ#hovO zTuWt;>u53LMrwfEOa~z=DGFIdMPLhhz|tdc$SAmm=!1G$f~nMjXXui#ye zH-Ho^8OLspABV~z`Ie{TUVCjA8C2xEr6OKj596eNK)jVJec6nzbgK$pP?c1?-cy>1 zBr}j|T8s0gfjap;{7$uK3cD}Kj2iQlrq!NoB9iu$cBc|J)bvO~i+W1&wy&lWT2l4U zuH*o?n3Bx)bz|o#6<7Kr=}4cdV+)Fdw2HTPWlc<3$NLN!piMGiP3432P%7=j2ynfk zq$9~5bq91{a7>Hoy*sJ~*HqOED%kMqi}YJZdJ37CYMK5>)HGpVX7R9JwI;I)QMpJf z62?nq)gqc~C;Z6XF%U+aDGoS){&uR7bhMXu*y5?QBBz3NW#4V9+~hE29YqF(r(H?z z2sTA|Uk+U|=PZ)6G!-qQsD1tVaSv+X{S@vQHUTnPx0cX!bc<8@AM-z^>8L}|dsQW^ z>e+NsjR9n^bD0sfiDp>^iFmSG$SsK}iVQ@wM5G&wh8qD_u##&nR|l;Auk+cV4shd? zL@ISO+mFSp@a)LdlAFI7Q*mb<9>T>0SD%Hn@+X0v&A=;rzGw$_AX;1H?~iqV^r4^6 zKyEuepX1rQ$6=nF{-`7&8>85E^=mQLy=BDD@5R{F&h38VB1pxKwYIhe%$?;Zso3)4@3zL}Osc3_ zK6~)*78c}BNS&3y+(VW8s${rFf)Q3JRxbDyftNZ8y20LfoBlewDsvEZ-B(BFpqJN; z`)Vj=GwjeO{4=tusIJ*gtpz%DchT8GQ?SYNTwO=J@gN!YcgVIP^w8=?VO?U4K{vn# zb~n}l7k1-Q%yzCD{}9^wB8ga1hr7Yvc=!FnJWEG(V_OY%!H>*PGS%dp!E6<86jFz+ zPuW%2{n@sK&cS<5=lq>Ib=&C?TSvsI+eQawFm<$g22)M$LZ)^*jlg>@)|+?6s;#4^ zY#po5g&n(YHA4JatB&9G3j54waIVk%#+Un;SGEJpKn;Da$qkywgY0*T&Hl#5>b54@ znY&xgAhe`O$lI=YAg=H79|SP%P3%H&h1TMK30pzlBTNl>FvA7!vd8g9Rb%6$O^-bC z7}5ffNJU~yw6!<2HkzD_pV4u4_k{Hn{ua__s+a-3P{;mPOc+|hq+{_1LJI#xuzwy$ z=r$|1>G;3th>}C%kB7!aw8s7`sUTJ&6^-bk*7hc;9OheVV`G~gDXJ|OzlJvy5oDICu` zk75DwRk=^j-(ZV$kLHieAKjX9TaMf$k_F!vZq^k3iAqa<_mR0dmxq7rOCKEkXJyCf z?n3_ILP^`N)rm}Xi*)vi9K1~=BcGKnu^#9i9WD%)@O>Tl=$$15pna65^~<^~yMeq5 z^DKQ)zwM*>vElj2!sNt}+vn#eM!SJ@{kz0?tUp}Fm5N7_M#9W=RdXC?me&s6e&5K+ zqbDY&?wfyP;=Z}rk^7E4G&Vg|xNm&y7{=+IKJwt*QYE#pTR1T>GCMstJyz(tA$?<4 z&#vu9CJJ5QTf#Tp)RmekOdOkdWMb-QS9to^%*14Vw(DSic5Y&Ns%z)2?j1Y2_ukgq z+r6V(LM^59djWF&AUub^aj&H+fYI&A>EY4!QcrdHYIbS%On!EDdUmb&TLPfZ_(T-{ z%y4163B+@6zy0<`$f_A1oo&GLMLf@gvFbRVF1b(hjd;3@C$4Gr*l0BrsZ{SeG}Yj} z74MD;^~PrNdG@)rVoJ9=Q|iUvWU)^x)t}1`&yI}SW5dTLCQr6vd`^Jl`$zM~Cr0ul zHMk_r)eaJ+kSjQzpEx>Ru#Zhlk=#~E9)6fc=_Dt*&?sZ}Y`(y0pLHf$^$?$EA_}Z} zkWc5`r-^1fUBDB&``DcX+RyJ0MqLv&fl&1xKGB5gX@=Igqrw_bVH8^MNxVy}(XqlB z_V9dR`v03rsA_M8s_%h{^u=R%TbQ1HRkf6;I#)P3nWs&-Zk~}^KyX*BRTE2R=6$|aE;*Olu6(OJ=ft-w^R)E8yJE%|1{p&;!yP*>cqroVSE*jSTPcL z*q52WKUbJV7GikN$r<;-k@4YKdt`ckO6f#zCnx>;1o`OjMZU3#**O(4UfP)F`f}l_ zF-R?X%}tWxrjA;rCnvYJVshWZ;GEoF;(f3*REAk|D!g0 zcZJPvfdu*<_G&p)v{@%@rV}EJR+kU)Dv|UGSRU#-?wo&T5DWOMeadWHN8sEKZ@9y0zNxdscdsmS5 z>{v4Rpv-D#?p2G!*B*y@mLWMgFyJDIYh zX)}|HXF1@@dO$0kI&|2E;BY2(kJ;%oR7taL7&No}xq$&Q-Ql!UOQUXa2HfD#Yot}v zGiEZ9Hp6D@peN1eO7kYx0wb*V*0%;e&;~i*1*J+thvG)onWamucBtWa%uHrE_oJ$J zLp*CoQpqePkT$6b$yL${ay&I;X7IF8)I~-NgxeAAQJU>;q%3-ONj#XHUnGu(vW>tpR^oXm5PgYYSdSYsn3rIz4W#cMi zgoh_5j|`7I#C3X0S)dtQq_UKp%op-*3sw*~n(0{B?vEuSvE-ngPUW((q-k45EWH6- ze*vzwb~u$t*aHTf%uWpqWXx=)8EsFXEr7OU);yH$0O6w`G~0<-1pZ8ykC>V8dPm5b zl`^hI(`)Fm!5+vV1gvb@&Zg|NIS`B3CUs3JsrOT=RW9{9bp2D%ud;K99NTeQPx}Ko zBa+TpakB}0RI|>}l2iH?p4XyFJe~^M18LKQvguqnyBTfYL0g9nTiKbz$*gh6jzyqF zY#?T)sqKG5^9JjR+HP_rw67|Ft)GH`_TqF^P-Kn%xS44~>tVDuVyzNp7M>qYr6cX2 zPJ!BFA^vPDW|_*U*MiLT+w@M$w+&3R(Ux~M(HgLw0$V5&AIzEwi?P)T+W!PCXr$A| zVLO%_NNoY>3`pzjLy1_n#L}^3mX_xF|1(^?Ic|kZBn@%>Y4J5H4St0#22DY?Z7lOy zdfZ7+18`*Jah)K19fVffJQOyqY%G<8^SD;~8d{p-R*5PG7noD%SbYYRcbf8IjK1;V zsj2*A|NPikewH0S!;bcfc%f;yNSr!`E1f#m+eWYUqQjJ|_gb_XXl+p5=ENn5e+5Ym zajWP9B!0r<#4eG+Ou1^efHP#LK#3ccWk%@S9|z-Fdmx@N5XOUc#yDu&@FjyfGCZ5g zg56ywFrX;sG7Ne&!Y=T95aUBnW)Edj= z-!qR4KQTO+Da_`Fk8#iew5+va31mS#8_#f)jQ1Pi{WMS*ZB2S7b{#wf^3~YXeMUBw zptbl=I~0x@>1&*)jTtkXOUJT@RcNMTRyLJZSuvf8QIoqqYsI4ko zEu=JR%WHsI#lR+3r@sDFD$XX>#J8Ym7up&m* zptiq)0ezf5J!%uA)!W$7AD%$*OVdA!=8e_>V%`duY2<8S6j6gY`m9VWLJztPqpYE^ zV*}o*+XG1k_cM^y5x26aq>Ko*10(HaIGXuZ^b8#zp2VSLig#di`8}Z3LFfK>s-G6a zqXY*IS=n8YRJLaaNACj3cjROt&j<4R$V_X~R({+$VJe&))vV8iZN0Lz$Zuo1jROoH z*Izh;9>`b|w;Tt+Hj)f;4Y-Y_2^58LK^*5jEKs^ywP&F3P0f>{RJ zXBM?{O-l#(ng+3D;Tb;WI?q~=>kr4wI5h}!fJP3WOp%K#_g9993}MST#h|A%T7$(<^-^5r%ndbJ8aA#Rlm7Ezn5bb0o06M$xk>&MgQ${; zMlrJCsOQaI+(jF4QG==m&PH>| z{WSNVQF2UgL|mu0@Z4+-n072-rI2qJ&8rSFL}l*;cd4>!{{T%I4jSp0fx{B>IypZ; zPHs1@i9Oe>+=GU=-=7D2i7O+SHsr=aZ6_&66gd0*8`~7FbIC$1I&+cRk?m;imB*eM)rpdreiAg9X!@^mD02~ zt-@}VR#DN+zzjGELJ>|veQ2cj25NMpCP1`lBvgDu=TJV!0)Rcsg-*1fESk2im5xy`Sf-l3kx$76sKp zkPgp}aU7MA2jW@!Ujy`L&?Shzf8t>56EebK9An{pnf=NIm}0CP*O6kmG_@A}i|T)t zVqFiWJ6(h3b~vz8vN6%66RMOU`!P?8NWV@Z6dt!|4WS zWmEgjBo*wV3`^DIT+?5}7%kipt&HWysKJcDh{N&8!q$~_Rc7X3AyhYDD5p@FgM2Jx zN-A^)`7eX7mGo5q-DWt8W7`4LH_Vv7gq9{4mj`te$~f?=;9+X@XHwz)W|rg7G<7&K zxw{};s?PB!I?E>^C8(At97jz>V@JVKYY*mP5iJrk5$w1Au@6*`fkWphjrTggJ^JS800&~EsNS3SWGQ0@OC#jQHxy0DXM6N=g}8u zw9?#2tyQh7N@#vgQDD*XbKq>_@NkYHBOUQ_97CD9HsWS&&`9L6aGh|J6QwO{=Xu>p zMOaX_uUb#C++-=;LGfjEtE!~wgxt6SCq@dm!?FuB+xx-KJDjk=UC&AQYW)lLPv(cG$j)}Z9*A06EFtW%xrs-xFw9XLuYtKQ>>PDzOdOz4 zp6Il~t0km8N?S{5OcZ=mS&H}LQ)9^DBU787*R^(*`l`rMamImo1KQx+dfIegX4$hK zZh}9jEIW>4dc5QwWFQvDCQB3HqbjKzN~+42Gv{?|y}pda-43(WJRMwUC^&q9Tkd}#toXTwKzHd*v#~ttqw=(L@;m9jZe?wqokS^=peP3D9Rir z@js??xHGps_e3-T7Jn3a+PE^QX*q(&P&Af=Lnl#Z*xrzFQq)@g zhqESQl&Q24`}083O{ApK#LlG>JPOw$7T4>3j8&c-)rNX6$bndH>Y=IW6H^>P?N=%} zQWlqQ%e7FGIPmxvChRW=H4A0GWt}KK&AA=^0q;j|nWHM*+Rmt46 zR3a~i&%Byx4$;RHupeqNH<-z2@d|`n71i~{!!dO&#CmkCy7ppqj~mmHLQmD?xE8{R zUSEZHQK=@9v7KYF)__w8Lt68YS{=8h8lp{}qSaNNa+j7RA&*74{f(GB^?4T{s*IwJ z0nUV%zg&wxNakATvDD2d%}Rd?vbxeyMIBffRp_8@4H!2*Zb($>_m?Y;M#I@5*dZv z-c{0#H8Hy}6I~B_04I^@+2N!45`%cgAS17Q{sB6#!(7U?DaUiJM?0^0y2{Et=OVuJ zf`^ko$H|voUU8D20TFvp7y-=t9A>kP?~u&AV+`DsRa?=MD2zb?Ve}=YM(%H$R@+qE zi@7c^{S8K3&!tKX;%1J!RVp33M_+3VsGAL%vzG#0^h+qw?|` zyj*<{0?w;SU5lUB;7VTKi0cn@s4qvTN8tjCJGJ{a(KCdk>qaqS?G@1UMu>A>Htpp) zm0mbmD;CbujhMy*ZlHU+p*~>f_~oEq16RG#4{Ok?xQOaLv~m#*npa&(T0F>d5BLg| z!%~}(2T3Z}8jnM%-4RtB zho{9E?P}A&hqB0nWMOPj8}4qL_owjOFvz;zxvZcjFRh|t@lcGDcE(6}%SS)Q#i!PZ z%g2H>kYGx|$9l9I_4h?1Ll#@<+X2_LsZkf*lS^Y7>QKXHTp07KC0s0Z6YbqY+iKTm zcB@tABYqUc4qLqJ>eNeiHjTS?MnVD`1a|=3_NpC#ZeLRAauaD$}2BbV2oQ`HV7_u;Wt9scNk?*p&e9-M;>&&4z^%TJuDRqaV33%zP1oX%jJrBFN~w?f;({02Pk^D3 zpYE%(q#F#6QyYAA=7!yh@{>j$0h7A-GW7Y_bL|uA`$lRDD%ooBiLyS{Qfpe@$7Ibs z{1^nOJgg23`_04n7!PGLuS2nUawxKgFt3QoYbSm5RP%^3MU^Cm@IYx|V8VkDjkJ+a z9*=S0@x`kSioyyb5b*jGX-OcT94*cufWp{(Rq;TRwH!wy}fDgot!3<}{oySLe zGxBC2K^H`BDAC1P0XCHvfDC8m#Yz`fX_3>Y^*n=X>}PanGps|eTH8ttBsoQ{NdR82 zE-dH(E)X zE3%Xb9B}A?Mf38)smpSz_J{pwelYlK?p%7wyllDs7A^&6Z(d5Ad*aQv-xhh|U&hBU zp^ZzqA3gDX5*GeX)qLZUd48LExD=e*OyR2ze-?@?<<9GVX-B^Amz926_xUU9{wc6Q zxx~2xOYQ98_HXdUJ{MdxFD)f5ISdPDf@SkqG%qeCF1yqAE#)rm%UznU`w}KC%kf{L zOn1({SKvzewUoHHFL7yZ!%{AgUTsp#YiMnEEe$i&-)*@D)$dhsEtwa!FfE|w+e>D{vkgx!CN3=HE>K+cqIq^HaY6O0R)g1^ zfm6ILrb~K3upX`xy#G1p+&91 z`NhOJbj+PwI8(KlJGW$>+h?+4;u1$`-Ir@q9nDJ%r~T-Fj)`;o66YVk7F}-2onJCL z#}-?#S~sbAF6HoeceP%r>Yme%eZgfdCE5-wuqjf>^aa)y4I>^w6vRnr|*9 zE-xwHT=*djc?sHe(`rAW)f{U^tM?@u=G#G5B79JEu}V+bw|u5#(k+-n119awprJU~ zsG0$SsKtWjMSGO6Y*Y5wOryaLMc*x9aVK}+ogLE$Z;!u|S0b;#D;u$nYSrnK?9=JZ zSUcNSmvRkX{l2f}j2k!S!BMuH$WgHECC6DWIBs;HTDjIG<=sBlyBBlkUokJ!b76&^ zZ#)xNOdvWgO5tuq{7tzFi@A%4h<)a{xwUZYn#9HCue3rTh-Lkyq9S$N*^7R+1)B4*yQaJp*I zY{9g8UVR2qE-e4og;SkUz=S)|V-bHZI&(V!?{GGULI7JtRiS>l=}S~|xk3M_Rev0I zl^shQD)8RZ^IYz$bVJb@+290c&BC9&t>UOSmhZ%N=<)W}XE~4_=4$2| z`72+@!dFsj?j6(`(rv{M(<-Bek>!1>39MrUBUhR#Y86@5Qw;#+?(LU0z|9I<56E5K zFIxaN;@yVdc;Fk03Ofi$jy8D#uoG{;d<0PU_(fp4#}|OD!@Ets0;tFMBM$h- zkBO{&L7fax(_^srwArse&nNBgRW{i%ojz{CE@!*0L|X?bxE`zsF%VU1X! z!nz(d>|rke(|s=i+pG9CV&ydUZV$T$nC2Vzuu~qk=wZL>Vc!MDN*2FvKv|*tJ`GIM ze%qr>qE@xR=a)HPKclcmfZeaKr-4l<>^Wd`!Z!INu%n9hX^-|Au*VebyTBe%*qgu} zR@gaU#})P#u!6#V0&G@c{|4+m3adq3`l!O{fw9iT?-_xyy7fydFxIqwX$Qti)-RiZ zy2iPGm0j`r@2izcM05{6F05{8=stiJLDwbPB{g*M-~BljM0k^{V2rU9>&#{jp< zwpN0GA-N8)QMLoFl^9^VSb&|9 z23)V!8b4qGUMnX6>*P_ukbDHNS$-X`Relq&U0wm~P-jPxZv*$sS-?7Z3os!63K*1T zL}Exf02`$Xut}~1Y>`_4Tjf^3wGstvm%9Pi$-RIZWD0Pj%m8kdIlwLIGzx0~_sa(W z>*QmA0r?bQP<|gUBxe8{4fLrAbz-{tw!0ROfc%#GtZSInk&kav8g~?ogc4CZwE1vP~(b4?WTz(X7v-zX*lf$!eWO|a1GEo?woESki z1k3E?#8e)%|2KYw8uCepT>TmIu72QGAHC8qn~#t5?&zKwJ@SwL&^?A9Dub7=pW+OD zv|fua_VE zRc=3cmHzG=0Sg}PX)9j{D)k~ywUqt}oh>z0{2e-fd!BnX^0?+CWDUcY4>_;8iWSid zP?o<_zgE$mUr{TZd68P`pWQJJQ!;)IUGhtIgb&90I+^f#ao|x?V_P$WyLa{O-NF4` z@rcb|M(ajEO14KPr{_G9qQHwrX1E{nMT(YlYtL3ZJ93WUCqUEgQk3xQVD04a&}}I~ zy_DqXnf#PX(4&vd;3uI4x+GqThhI$7j|#e@_wtg>k=%X6=>Q6?k*{Lg^#pirQ?Pqd z^RO~gJkp)l6xzDji#163iyo?ZpidR0U5EEiu{x}*=o_oa8CGrDkHF)MPD_-J{<~$P zA9Z>a|73t_9*$10?T?(GWgXZDr zl=c+fU&840q2lP}az3xxxaTS!XYP!c^3hKqOp2rP;->t?`d;&JbV_5T_G2J-DMr`w z<#PT)wTT#-#~D3@r}ELym5u)QPOsvhvp_WuN2jz&ym#!=RcvwY<#Kqg;47-2Yx$LP z&qA5v-0QKX<*#+1XdaGEX{hxcWSey^77 zj9xBhza!@X&Et%|9#7??XZ)q3KfGe}c~CSDN2jz~@c!T(`Ys(+2eatjUAIvxTnKN6 zvX^@cBiy6(a@{n=U9a-dA9qH75PZcf0R<~`ezHvG_pQ+Rqo8OW>P%^O;{65atg9BS zVNdS^plW^io9vNeGkE3;y_{L}>^_9&a-GXZf5sX8liPdwTv0D2|=^Q|vvvRNck(@H?~Ev-7D6o*k+}E9KdJ z+hgTCyZ5SEu8ikao)=5T+TE+FzA~OY;}tx+o%&GeLk;)#2v3)~m+J}T_W60oK8ui5 z^n{gpW4$9s?{U02D1W^HisqqJDeZZ@JLnGTr9Gkd)<3|LGcV=Oy?b7+r1UW6%XoIa zR6*Hu+ebW#JFjvLKU1cm>n*(FrZw{3F3ieEQ4~K@d zzkyLgqIkJOIREFMuMc85dij5iQUC4ZKio(C69Pv~JpoTT#*0>rp#Nn7{}Ic--$nl; z5b}9?^S^%d^+i3Y>OW67s%k5#>6HKLi(-4JLaY6&2R&BA6Yubp{d)o>tz@iK{s}{+ K7|n7eDgPHUldz@$ diff --git a/src/mkfont/hfmtool.exe b/src/mkfont/hfmtool.exe index d1a60198eaada04b5ee32540fe74d1083274a335..f1e4ff1418786d94bedec95325a05d762cde0bdf 100644 GIT binary patch delta 5135 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 delta 5166 zcmZ`-30PEB-@gY?P=-WBL3U+R5xx7JyALKP3IqsZ28xD?xS-~Srl5!jqcVEbe2uVn} z!##$rZVo}O;0|a(huV$=K}<(PFy7=Aiw~mS=ndyp^zAcfp|io)*WG*De1a%D?oo(b z+ws?3V>{oNYn;98D_u`oThm=9=iv{fak$veLeKrj6Z^X3z>wiOGRNdEZeEwm7mf&0-(d?WB7`V4;?G#o9!bntK#<6IUz4bf%OpPE@#L=g4_U;7Y` z%9JL1mal!FSDLHJbjzbM;gLPX*Pd?4aLvQfp}Cd^z}yz@!)drWG{XDD--J{6gV1Ue zi&MhNP_Xm!FqgaKaG}9%f#e*Sgx`q_!dD_fEb~pG7Z4X3M1LF}S?>MCB!kl+p2vG4 zle`z1XG3x^_J|tbImkTw;`H!noEMd1`MAK~_l4)5PBfLAi;D1GY7z}475L968`^>O zXn$0Qv!lb%I6OBx5%t4|qXW=bd@(u#-NAoE2ch-YKPJX^<8{-~%7h2@l$LbYE}R+@ zjPmj1n3&GlW`Gu^p}C7a0W#Box5PvsFXzb^mj~K~_w)-uYw_uR3xm3kHba0)dI0lF z1xr`O6ZRCZbk~zyJT@*6UBxfQ1%;f*eahu|&>dQK_EAXg>ZnB%^3|*`6L$Ytgh&JGT4dA;IE7R3^IZ{1V z-$WmS=#L#@26_*FFUqI{he?5uKS_#08qSjfEUm*04Tc|X!*NsBkdP+BUwgSRC21}# z{jUhyh9(RjmWt@l(*BcZUuR0VdbCl^c}a7CzY%|Hj>co;N>qby%7f5{xW7W8Rn9TW zXm>OTAJ*g03Vd7t7#+d&ww~y9=OtTxJG2k4PGrH`)ro%ia^kaSlrwa&=!p{X$W%F| zW1{JDrRihY2UoyT0)}+@YA||Ae;Upid?+>6*Hdltb=_?vESC%anp#9}Q2vu>FE=!# zxvt43)eNA{&~;mTs_PD3|J)lW2`gzc(8qXpS`ymte3a&aP#%7g9)%W{QT0`D$156W8vUa$1Op;}H|EK47;-KC^ z`0kjV-V;osF>;e|a9*Hid>a$YX#~#8v!GHuHLp0dJ!OiTMsts4*>9KK4lWEXglh)| z>L&IW8;vG7W5*^VG#k$wmyBHa#5fu4#OTG%o=JacMA2dRO6QYKN4_UQS$M{(u*+&6YZG6;oW$CQ^4csO-8q~AHU$R{h@koPjL ziCR2h+Ln-(XoKQmm`kaXhmZ?<+Oz613cS`rZ7cDeY1M9zLvd+Q5OiiuQ4e$!A1IoG z8k}*{qmfT!NSn5-mJC-B&YLkaq$Q$Fo8f<>JkZdV(wJW0x2{dwjGd?n*UZdEb1{0U z7F}>|erd5A%5+A~`5K{JYv%DN9t-pCL9l&_H=s`VXmNiKxK|v6CS#xZDJaDG!u+G{ zETf(=?LygdeazXlm0D0OPAT0N+U#pQvi!4FzJJx~EDl>7jfOcB7e9m02As7d0d>Kz zE=fhl@U11G=sNCDmI}ogS(c4dyr(P>UBhR}dcbY@Ls=h$&f-qx*1+){Oap~(1=bDb z4QWsJayJr?>>OLZ8TDT|)u>W1E%A+>fUaTs&RI8q_Hfl4u~}LtV|;Az|sV01bhNG4tO8153m!zTbv5Y~v4&e4fFC#vW=9?DPXX=%suJBJK3_iA zJ@v>8UgYxS)T{qKEeBTlxw6K}?)2XDcKeXtn{C9OwKk&1CL1vxPy^TsxCEHu zytwUdT$`x#>+|D%k%HrI*w7%noE6LcJ1zB#*cO0rA8lz=l zn%z6Uf5ApH09xU1`bEfEeeNt&?cOf*wvFgje{U`d^7agS#YQ}6AMf1c=Hrfz*Y{k8 z&iMIEd(}pi|Al|mKi-J4Bf9y!#}oet_2Unt2&N<-CN_Xf=lp~-LXJ97oubZB7pP~| z%j#A2p88PzQ}xn%YJIf+nxyGkmiB_SNONg~?x}au{qz7mSWnO=>*e|i-J!45H|RBb zt-e*S)9>q#^cHxJARGkYWqciz9%Laon{<$`kTqm2xs^OZHj^PGR3z1#>PL|jOIay} zvQbr(gIY^%plYaaR%Y|rd2BuV1>4GY<(6^lxL3KI+)?g3u0PN6DnFmE;_LaV{EvLN zAPGZ+5yDtuwy;2`6xIk^g!dt&Kruti7w3vj@h34%Vx+;+a_MKOMS4c=At%b|a>kdq(Pa4lNnwQ1Tc z$i!>fX6-}mw02Rurrpwf^e&JOQs;C{Rv|yIt5V>=h0OhlInzQQ;$DoArQoxHv@&m9nKgX|hx%ZIF&h zpGuddtI`umm#4|I0mW@`(yW!fruS0nZi#5q{LC2y1WNek7P3a6qe zo{Fc2Qxm8e)LiOiY6(?M?WFcnA5cfBGt@ci3U!0(OP`}ZU{A5<*zeh!P_Fizh3n1* zb3M5jPT*|ZC~h)0gImho;L1fTZWs56`^Dqp$0g!r@dxpt=q`1Z{H0*2moz|1lAe>s zNJY|YsY0rjc0;XrwOoBotyA}@$JEp6CDm68)Ou;XHBu9`f!ZnUtaeHJPWwYcy0_k0 zkJTw%)Q9M$`bzyLooFz7knkjzldH&WF@ZGai_0cZPbN3`==oIc!`2uN=&EH9EXsWm0kXnHoi zi#|fnWR@{InPW^P+l$k=y<9!G^*wi&`RA6Te8T(a-7V`3GxW}Q~82?PxeqcDqWR87rPVNxHF-c%?>QG=*#s*svR zl~9=4MD3>bQHQ9Hs3z(z)k;xxJiU~5&>QL9^!xN_`Yhc@4`6s^5rp+7`yu;)ZDG4} zy*L^=;Rx5rb>Ybpeg=P;f51QCe-%8e-K~l>$(n5)XPs@WvF@<`WJO|_7%L7IbHtfq zu~;Fl6*q}*iS^wOv=gf7Lm3U)ku8>v9+UP z=>$5NPNOsFk#r87N9WT8^j`WPMA<+er~5J-lg4B-IZPgt&n#wkFyAoO85eV#xyw9Y z9x*Kp!4759*i3dLo5Lc`kL$xRFcXPfW(g#siEHM(`ObU*wBJxZjnCs3K?}acAK*Xd zzvUnE?S)8z5mJR0ggHVPwBb9#XTo>F6T!#Y+d9;mZ>_LyvQ89dh(AgT;MW&2uiNLz zA~Jv;K#R0SC(^^{bUKS3Mf2chE>p-XWGWa3bCfy9lw4!n*$!-9mSuHz5St7aZZTWJ z+SxViYf!N>?0NPIdkZS}JF9YoxnwS#8^INEv$^ZsEzXPY!T00i`7zL###OunF5}bu zMQG7G{BOLc&`k&h*GZTlT}XrgG9iRKVTQ0$c*}at+G6z(r4lh!93z&C>%P7V#jn<}WpJ>yKQu-odIxJsNZj2Yxi;06G4P~+*{+Y}?<~`<5CW<4u5`|0Qp69;d z?r?~YwGOndwEh5og@`HQY;l$NrFchdkiL>S%DvkeQEVPNft|w6gzvsZ>{7Ohb+GH%8g?^V$L?nLv4_|OHkcE+ zXE}fVMZS=)i90R(Jm&;S4c diff --git a/src/mkfont/hfmtool.obj b/src/mkfont/hfmtool.obj deleted file mode 100644 index 3094647442c59b31c237e6ab418f4c5e7ebdd70b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27613 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 diff --git a/src/mkfont/hfmwidth.exe b/src/mkfont/hfmwidth.exe index 9ffb02742e026d23b493185461c0bce0e31334c5..1273a0380c1c5cbe5fb76a560fc2ec0216bb758a 100644 GIT binary patch delta 40 vcmdmXfMweOmI)7-?`9w0_*ij0^8%mao7p!o7H|R?_5utH49?R96&O_kgy0XT delta 40 vcmdmXfMweOmI)7-d0D(SK2}`Mth&;5Gy4X{0!|>qo|A!r!F{@*0;4JbJCY2t diff --git a/src/mkfont/hfmwidth.obj b/src/mkfont/hfmwidth.obj deleted file mode 100644 index a0241bbe98ae97c5ab41de12ae9548310a2ca7da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4160 zcmb7He{2-T6@KSCuaEPA&tL)+NY}&;V9as&z{RME&o%}-vB5v$h!7{2^WC1k$@%uQ zyJs9Klp^;~tnK~Ls#aC0X_d4R;g3d@8Yz(~r*4XfsFX^rT8UPv)E{Xf3YF3-e?%(5 z{od@}-Wt*>9qGRN=FRusyq%eyof+~;v_9}?_tr4cVX{j!qbq51PI0RAAV|PhsX70l z2t_l>RB^gxywYOS5Vb+~lHaxj@i#z`-sqHJR5arM?pQE>m0~MVQ<*nC!W)S55Bz>x zNA&tSq8P)TfCODp*-(!`QLm=$p<^d|hWp25JRG$X(m-iFada~M{PbBhKUqAdP8xc8a`w5bmNzG7va@H^ zj5!n4rk;I-d{m2P?Hg9px@KruQ{FSSSB`h=pHfY^??B(aee$V-sm`kB)cmyEr_C1B zoTAH*E4ra-dHG;RG!}~<>FVr^#@eVpBD!{f$A)wHEB-gSExy2PO3gQr6ydSwu?(d2 z=`UVE7V^URVD0%WGiaup3=3BRZ$d>M zEMqxY{b6e$uvq2=Voijt-r!=1XWtqQTchEzio;@w=TV3wqg5l%zqQ1^uClaJ4B6qI zMtISyB_fVEZs>rQ(!w$$6=T9IbTbKLRZ&@GPQ&fX4q49`FLAG9mdMBxl$YMZG9wia zh$vQ>m7~@Y=RS5%7ZE$=8yF(1#D4K>S!-Ye^rEtowR*!NR#{YjleI=e=+l)2y)wxw z3wUKU9$5`k_ax*zZu<*J@Xx|NkH5^FO;K-kHk$1w?A`73*(L z{Q~<5?Z;1|&A@j2n&>!ipI}eAtN_*~Y!`uh@ssGAz&*moGqGE+*MNKmkmx5s-c%%d z6WD@Z6TJg`K(HIYU4ro!+4gP3tTv-2(S2aH?{+ZT_Z2W%v|a+UGyORjZ)Or*1^Xgc z6WsvgO;4hKyRAOFq&r3HI@ zAG@tr-PYfMZ4goZ2xgC|_>_yDgVcbwka+rfF-IGy1C|DQ7#N{(V53-so9HXxo2dlc zO5X==qgR33=|{jF^fTa2`W5hgx(;lnkAb`BQ(z0#VALO^UBKPc4(z1YfL-)1@L>vK zL=vca^d#^!>A)xGBJd1-7dS~j04C`T;4}0taEjgoX6VmAMVybaR5Vi4%263# zYjHS}?ITYVb=f)2MANc;8j<;kz=z4R_@z_%-KLz@m6Qp0>`eIF=d?6xds;K?a%*O< ztSe?w&l~c|iJ>8J20bPYHE0u&@PAa6^;CXZc?d4BiVPl#&9}x5&C56l&ZY{LnyHzo zoFg*|skGw~q62L*$o6UHqUv>Ktyjv_)U_6GI-WRjp|aydr=018 zjn|>#<3`@Qt0kJVHS8xe6jf{suf?iYx#|Muz0pdj`+c1K+QO@=+rAwo67i9qV?ET3 zcUSNUaSKW$Y?HHbUKJ6HCS}Mba0YrxAKgl1| A?*IS* diff --git a/src/mkfont/hycache.obj b/src/mkfont/hycache.obj deleted file mode 100644 index 6029bb2fa446e49c0da98f7b61a6f77d18c95fdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19515 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 diff --git a/src/mkfont/hyfile.obj b/src/mkfont/hyfile.obj deleted file mode 100644 index a446946a3c7700e337299791ccea077bf75d005d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15740 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 HD`NaF4D_>8 diff --git a/src/mkfont/hyimage.obj b/src/mkfont/hyimage.obj deleted file mode 100644 index 3c8797b6bbd0f9658687076d45d240020f94441e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26926 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 Tnl;uo2<=4h?>pPzfXM#=6uJqB diff --git a/src/mkfont/hymb.obj b/src/mkfont/hymb.obj deleted file mode 100644 index c4b92fb333e949e245a80a2dd1504e8212f0d903..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11125 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 diff --git a/src/mkfont/hystring.obj b/src/mkfont/hystring.obj deleted file mode 100644 index 7e05b429c94d29f3c3950a9003902e5ccfc53935..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15435 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 + j = ((MESSTAG *)pvRight)->iPrefix; + if (i < j) + { + return -1; + } + if (i > j) + { + return 1; + } + + // both have same artifical prefix, need to compare them + i = iStringCompare(((MESSTAG *) pvLeft)->ftOut.pcBase, + iFileSize(&((MESSTAG *) pvLeft)->ftOut), + ((MESSTAG *) pvRight)->ftOut.pcBase, + iFileSize(&((MESSTAG *) pvRight)->ftOut)); + if (i) + { + return i; + } + + // apply an artifical suffix to the sort order for merging + i = ((MESSTAG *)pvLeft)->iSuffix; + j = ((MESSTAG *)pvRight)->iSuffix; + if (i < j) + { + return -1; + } + if (i > j) + { + return 1; + } + + // both prefixes, both strings, and both suffixes identical + return 0; + } + int fiUniq(void) { int iAppend; @@ -143,7 +186,7 @@ int fiUniq(void) { pmtNext = (MESSTAG *) pcListCanGet(<Mess); } - while (pmtNext && iCompareMess(pmt, pmtNext) == 0); + while (pmtNext && fiMessEqual(pmt, pmtNext)); pmt = pmtNext; } @@ -154,6 +197,19 @@ int fiUniq(void) return TRUE; } +static int fiMessEqual(const void *pvLeft, const void *pvRight) + { + // note, this doesn't use the iPrefix or iSuffix fields, + // this is intentional - it means we can use fiSort() to + // put the messages in some strange order, then fiUniq() + // to delete duplicates, then fiSort() to original order + + return fiStringEqual(((MESSTAG *) pvLeft)->ftOut.pcBase, + iFileSize(&((MESSTAG *) pvLeft)->ftOut), + ((MESSTAG *) pvRight)->ftOut.pcBase, + iFileSize(&((MESSTAG *) pvRight)->ftOut)); + } + // ---------------------------------------------------------------------------- int fiSuck(FILETAG *pft, FILETAG *pftIn, char *pcTerm, int iSizeTerm) @@ -280,22 +336,11 @@ int fiUnesc(FILETAG *pft, FILETAG *pftIn, char *pcTerm, int iSizeTerm) return TRUE; } -static int iCompareMess(const void *pvLeft, const void *pvRight) - { - return iStringCompare(((MESSTAG *) pvLeft)->ftOut.pcBase, - iFileSize(&((MESSTAG *) pvLeft)->ftOut), - ((MESSTAG *) pvRight)->ftOut.pcBase, - iFileSize(&((MESSTAG *) pvRight)->ftOut)); - } - // ---------------------------------------------------------------------------- int iPo2C(LISTTAG *pltCache, int argc, char **argv) { int i; - int iSize, iSizeArg; - char *pcArg, *pcKeyword; - MESSTAG *pmt; int iCachePo; FILETAG *pftPo; @@ -367,97 +412,114 @@ int iPo2C(LISTTAG *pltCache, int argc, char **argv) CacheReadIn(pltCache, &iCachePo, pszPoFileName); pftPo = pftCacheItem(pltCache, iCachePo); - // interpret it, looking for "msgid" and "msgstr" tokens - i = iStringTokenise(0, pftPo->pcBase, iFileSize(pftPo), + // interpret the "msgstr...msgid" syntax to message list + if (fiInterpretPo2C(<Mess, pftPo) == FALSE) + { + exit(1); + } + + // do some conversion steps on the information collected, + // not really necessary, but would allow a binary search + if (fiSort() == FALSE) + { + exit(1); + } + + if (fiUniq() == FALSE) + { + exit(1); + } + + // read the input c file entirely to a malloc'd block + CacheReadIn(pltCache, &iCacheWork, pszInFileName); + pftWork = pftCacheItem(pltCache, iCacheWork); + + // append esc plus character set data to output buffer + if (fiProcess(fiProcessPo2C, pftWork) == FALSE) + { + exit(1); + } + + // ready to write the output we found + CacheWriteOut(pltCache, iCacheWork, pszOutFileName); + pctCacheItem(pltCache, iCacheWork)->iDirty = 4; // extra dirty + + // it's the song that doesn't end + return 0; + } + +// ---------------------------------------------------------------------------- + +static int fiInterpretPo2C(LISTTAG *plt, FILETAG *pftIn) + { + int i, iSize, iSizeArg; + char *pcArg, *pcKeyword; + MESSTAG *pmt; + + // interpret input, looking for "msgid" and "msgstr" tokens + i = iStringTokenise(0, pftIn->pcBase, iFileSize(pftIn), &pcArg, &iSizeArg); while (iSizeArg) { // create a new zeroed list entry to hold 2 strings - pmt = (MESSTAG *) pcListPut(<Mess); + pmt = (MESSTAG *) pcListPut(plt); // check for the keyword introducing the 1st string if (fiStringEqual(pcArg, iSizeArg, "msgid", 5) == FALSE) { - fputs("syntax error at token:\n", stderr); + fputs("Syntax error at token:\n", stderr); fwrite(pcArg, iSizeArg, 1, stderr); fputs("\n", stderr); - exit(1); + return FALSE; } // parse and concatenate the individual 'C' strings FileAllocate(&pmt->ftOut, MESS_SIZE); - pftPo->pcPosition = pftPo->pcBase + i; - if (fiUnesc(&pmt->ftOut, pftPo, "msgstr", 6) == FALSE) + pftIn->pcPosition = pftIn->pcBase + i; + if (fiUnesc(&pmt->ftOut, pftIn, "msgstr", 6) == FALSE) { - i = iStringTokenise(i, pftPo->pcBase, iFileSize(pftPo), + i = iStringTokenise(i, pftIn->pcBase, iFileSize(pftIn), &pcArg, &iSizeArg); - fputs("msgid too long at token:\n", stderr); + fputs("Msgid too long at token:\n", stderr); fwrite(pcArg, iSizeArg, 1, stderr); fputs("\n", stderr); - exit(1); + return FALSE; } - i = pftPo->pcPosition - pftPo->pcBase; + i = pftIn->pcPosition - pftIn->pcBase; FileResize(&pmt->ftOut, iFileSize(&pmt->ftOut)); // check for the keyword introducing the 2nd string - i = iStringTokenise(i, pftPo->pcBase, iFileSize(pftPo), + i = iStringTokenise(i, pftIn->pcBase, iFileSize(pftIn), &pcArg, &iSizeArg); if (fiStringEqual(pcArg, iSizeArg, "msgstr", 6) == FALSE) { - fputs("syntax error at token:\n", stderr); + fputs("Syntax error at token:\n", stderr); fwrite(pcArg, iSizeArg, 1, stderr); fputs("\n", stderr); - exit(1); + return FALSE; } // collect (without parsing) the replacement text FileAllocate(&pmt->ftIn, MESS_SIZE); - pftPo->pcPosition = pftPo->pcBase + i; - if (fiSuck(&pmt->ftIn, pftPo, "msgid", 5) == FALSE) + pftIn->pcPosition = pftIn->pcBase + i; + if (fiSuck(&pmt->ftIn, pftIn, "msgid", 5) == FALSE) { - i = iStringTokenise(i, pftPo->pcBase, iFileSize(pftPo), + i = iStringTokenise(i, pftIn->pcBase, iFileSize(pftIn), &pcArg, &iSizeArg); - fputs("msgstr too long at token:\n", stderr); + fputs("Msgstr too long at token:\n", stderr); fwrite(pcArg, iSizeArg, 1, stderr); fputs("\n", stderr); - exit(1); + return FALSE; } - i = pftPo->pcPosition - pftPo->pcBase; + i = pftIn->pcPosition - pftIn->pcBase; FileResize(&pmt->ftIn, iFileSize(&pmt->ftIn)); // get the next token, it must be "msgid" or EOF - i = iStringTokenise(i, pftPo->pcBase, iFileSize(pftPo), + i = iStringTokenise(i, pftIn->pcBase, iFileSize(pftIn), &pcArg, &iSizeArg); } - // do some conversion steps on the information collected, - // not really necessary, but would allow a binary search - if (fiSort() == FALSE) - { - exit(1); - } - - if (fiUniq() == FALSE) - { - exit(1); - } - - // read the input c file entirely to a malloc'd block - CacheReadIn(pltCache, &iCacheWork, pszInFileName); - pftWork = pftCacheItem(pltCache, iCacheWork); - - // append esc plus character set data to output buffer - if (fiProcess(fiProcessPo2C, pftWork) == FALSE) - { - exit(1); - } - - // ready to write the output we found - CacheWriteOut(pltCache, iCacheWork, pszOutFileName); - pctCacheItem(pltCache, iCacheWork)->iDirty = 4; // extra dirty - - // it's the song that doesn't end - return 0; + return TRUE; } // ---------------------------------------------------------------------------- diff --git a/src/mkfont/po2c.exe b/src/mkfont/po2c.exe index bbe4609bf66aff4ddb41dbf903fe148c5a60a60f..d56d855fe7a1ba757e1ae2c49d7dfef2526a8de9 100644 GIT binary patch delta 9398 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 delta 9270 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 = j++; + + // check the msgid is a (possibly concatenated) string, + // in the process retain the binary version for sorting + // (overwrite the symbol name, will regenerate it later) +#if 0 + fputs("msgid ", stderr); + fwrite(pmt->ftIn.pcBase, iFileSize(&pmt->ftIn), 1, stderr); + fputs("msgstr ", stderr); + fwrite(pmt->ftOut.pcBase, iFileSize(&pmt->ftOut), 1, stderr); + fputs("\n", stderr); +#endif + FileResize(&pmt->ftOut, MESS_SIZE); + pmt->ftOut.pcAppend = pmt->ftOut.pcBase; + pmt->ftIn.pcPosition = pmt->ftIn.pcBase; + if (fiUnesc(&pmt->ftOut, &pmt->ftIn, NULL, 0) == FALSE) + { + // isn't really a valid 'C' preprocessor string + fputs("Syntax error at msgid:\n", stderr); + fwrite(pmt->ftIn.pcBase, iFileSize(&pmt->ftIn), + 1, stderr); + fputs("\n", stderr); + fprintf(stderr, + "Please delete %s and try again\n", + pszOutFileName); + exit(1); + } + FileResize(&pmt->ftOut, iFileSize(&pmt->ftOut)); + + pmt = (MESSTAG *) pcListCanGet(<Mess); + } + + // junk output po file in preparation for CacheAllocate() + CacheFree(<Cache, iCacheIn); + } + // read the input txt file entirely to a malloc'd block CacheReadIn(<Cache, &iCacheIn, pszInFileName); - pftIn = pftCacheItem(<Cache, iCacheIn); + pftIn = pftCacheItem(<Cache, iCacheIn); // interpret commands and construct intermediate files if (fiExecute(<Cache, pftIn) == FALSE) @@ -325,16 +398,50 @@ int main(int argc, char **argv) } #endif + // set up one item of lookahead in message table + ltMess.iPosition = j; // starting at the cutoff + pmt = (MESSTAG *) pcListCanGet(<Mess); + + // give all new messages the next suffix integer + while (pmt) + { + pmt->iSuffix = j; // don't increment here + + pmt = (MESSTAG *) pcListCanGet(<Mess); + } + + // put duplicate messages in groups by suffix order if (fiSort() == FALSE) { exit(1); } + // retain only the lowest numbered suffix per group if (fiUniq() == FALSE) { exit(1); } + // set up one item of lookahead in message table + ltMess.iPosition = 0; + pmt = (MESSTAG *) pcListCanGet(<Mess); + + // convert suffixes to prefixes to restore ordering + while (pmt) + { + pmt->iPrefix = pmt->iSuffix; + pmt->iSuffix = 0; + + pmt = (MESSTAG *) pcListCanGet(<Mess); + } + + // restore ordering so that new messages are at end + if (fiSort() == FALSE) + { + exit(1); + } + + // ready to allocate description strings per message if (fiMunge() == FALSE) { exit(1); @@ -374,6 +481,93 @@ int main(int argc, char **argv) // ---------------------------------------------------------------------------- +static int fiInterpretC2Po(LISTTAG *plt, FILETAG *pftIn) + { + int i, iSize, iSizeArg; + char *pcArg, *pcKeyword; + MESSTAG *pmt; + + // note: this is the same as fiInterpretPo2C() in po2c.cpp, + // except that ftIn and ftOut are reversed, and neither one + // is unescaped (in po2c.cpp, ftOut [ftIn here] is parsed) + + // interpret input, looking for "msgid" and "msgstr" tokens + i = iStringTokenise(0, pftIn->pcBase, iFileSize(pftIn), + &pcArg, &iSizeArg); + while (iSizeArg) + { + // create a new zeroed list entry to hold 2 strings + pmt = (MESSTAG *) pcListPut(plt); + + // check for the keyword introducing the 1st string + if (fiStringEqual(pcArg, iSizeArg, "msgid", 5) == FALSE) + { + fputs("Syntax error at token:\n", stderr); + fwrite(pcArg, iSizeArg, 1, stderr); + fputs("\n", stderr); + return FALSE; + } + + // parse and concatenate the individual 'C' strings + FileAllocate(&pmt->ftIn, MESS_SIZE); + pftIn->pcPosition = pftIn->pcBase + i; + if (fiSuck(&pmt->ftIn, pftIn, "msgstr", 6) == FALSE) // see ab. + { + i = iStringTokenise(i, pftIn->pcBase, iFileSize(pftIn), + &pcArg, &iSizeArg); + fputs("Msgid too long at token:\n", stderr); + fwrite(pcArg, iSizeArg, 1, stderr); + fputs("\n", stderr); + return FALSE; + } +#if 0 + fputs("msgid ", stderr); + fwrite(pmt->ftIn.pcBase, iFileSize(&pmt->ftIn), 1, stderr); +#endif + i = pftIn->pcPosition - pftIn->pcBase; + FileResize(&pmt->ftIn, iFileSize(&pmt->ftIn)); + + // check for the keyword introducing the 2nd string + i = iStringTokenise(i, pftIn->pcBase, iFileSize(pftIn), + &pcArg, &iSizeArg); + if (fiStringEqual(pcArg, iSizeArg, "msgstr", 6) == FALSE) + { + fputs("Syntax error at token:\n", stderr); + fwrite(pcArg, iSizeArg, 1, stderr); + fputs("\n", stderr); + return FALSE; + } + + // collect (without parsing) the replacement text + FileAllocate(&pmt->ftOut, MESS_SIZE); + pftIn->pcPosition = pftIn->pcBase + i; + if (fiSuck(&pmt->ftOut, pftIn, "msgid", 5) == FALSE) + { + i = iStringTokenise(i, pftIn->pcBase, iFileSize(pftIn), + &pcArg, &iSizeArg); + fputs("Msgstr too long at token:\n", stderr); + fwrite(pcArg, iSizeArg, 1, stderr); + fputs("\n", stderr); + return FALSE; + } +#if 0 + fputs("msgstr ", stderr); + fwrite(pmt->ftOut.pcBase, iFileSize(&pmt->ftOut), 1, stderr); + fputs("\n", stderr); +#endif + i = pftIn->pcPosition - pftIn->pcBase; + FileResize(&pmt->ftOut, iFileSize(&pmt->ftOut)); + + // get the next token, it must be "msgid" or EOF + i = iStringTokenise(i, pftIn->pcBase, iFileSize(pftIn), + &pcArg, &iSizeArg); + } + + return TRUE; + } + +// ---------------------------------------------------------------------------- + static int fiExecute(LISTTAG *pltCache, FILETAG *pftIn) { int i; @@ -757,8 +951,12 @@ static int fiConstruct(LISTTAG *pltCache, FILETAG *pft) int iC2Po(LISTTAG *pltCache, int argc, char **argv) { +#if 1 // bypass the cache as there may be a great many input c (i) files + FILETAG ftIn; +#else int iCacheIn; FILETAG *pftIn; +#endif char *pszInFileName; if (argc < 2) @@ -769,7 +967,19 @@ int iC2Po(LISTTAG *pltCache, int argc, char **argv) pszInFileName = argv[1]; - // read the input chs file entirely to a malloc'd block +#if 1 // bypass the cache as there may be a great many input c (i) files + // read the input c (i) file entirely to a malloc'd block + FileReadIn(&ftIn, pszInFileName); + + // parse the 'C' source code, taking special action for keywords + if (fiProcess(fiProcessC2Po, &ftIn) == FALSE) + { + FileFree(&ftIn); + return 1; + } + FileFree(&ftIn); +#else + // read the input c (i) file entirely to a malloc'd block CacheReadIn(pltCache, &iCacheIn, pszInFileName); pftIn = pftCacheItem(pltCache, iCacheIn); @@ -778,6 +988,7 @@ int iC2Po(LISTTAG *pltCache, int argc, char **argv) { return 1; } +#endif return 0; } @@ -811,7 +1022,7 @@ static int fiProcessC2Po(FILETAG *pftIn) { i = iStringTokenise(i, pftIn->pcBase, iFileSize(pftIn), &pcArg, &iSizeArg); - fputs("msgid too long at token:\n", stderr); + fputs("Msgid too long at token:\n", stderr); fwrite(pcArg, iSizeArg, 1, stderr); fputs("\n", stderr); exit(1); @@ -840,7 +1051,7 @@ static int fiProcessC2Po(FILETAG *pftIn) &pcArg, &iSizeArg); if (fiStringEqual(pcArg, iSizeArg, ")", 1) == FALSE) { - fputs("syntax error at token:\n", stderr); + fputs("Syntax error at token:\n", stderr); fwrite(pcArg, iSizeArg, 1, stderr); fputs("\n", stderr); exit(1); diff --git a/src/mkfont/restool.exe b/src/mkfont/restool.exe index 6ef9d23f609931f690f550481cb2b2fa47bbd28e..e29b51170bc24df5b466f31f313007ee3c15a3f3 100644 GIT binary patch delta 13003 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 delta 10966 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 V)*wws^WJn@XP_P73$H;*{|8%PC-49O diff --git a/src/mkfont/restool.obj b/src/mkfont/restool.obj deleted file mode 100644 index 3c0f3b13edd0168bb19ce2e05b856adc528ccd48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35883 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 delta 3495 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 W8^e$@7``5D-+y75Z?+qTlKurM(#r1u diff --git a/src/mkfont/txt2chs.obj b/src/mkfont/txt2chs.obj deleted file mode 100644 index 10aa27bb43d070c06e2d9036edc4dc6f005f0a16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25115 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 Jh+C2<{|}XQ@%aD% diff --git a/src/mkfont/x.lib b/src/mkfont/x.lib deleted file mode 100644 index f0fdecb2..00000000 --- a/src/mkfont/x.lib +++ /dev/null @@ -1,52 +0,0 @@ -x_lib/0000_a0dd__0a.rel - __0000_a0dd__0a -x_lib/0001_269f__20_25s.rel - __0001_269f__20_25s -x_lib/0002_8841__20_2d_20.rel - __0002_8841__20_2d_20 -x_lib/0003_086d__25c_5b2J.rel - __0003_086d__25c_5b2J -x_lib/0004_ec2f__25s.rel - __0004_ec2f__25s -x_lib/0005_7643__25s_0a.rel - __0005_7643__25s_0a -x_lib/0006_86f5__25s_3a_20_25ld_0a.rel - __0006_86f5__25s_3a_20_25ld_0a -x_lib/0007_f01c_0x_25x_0a.rel - __0007_f01c_0x_25x_0a -x_lib/0008_c7fb_Can_27t_20delete_20.rel - __0008_c7fb_Can_27t_20delete_20 -x_lib/0009_8468_Can_27t_20read_20co.rel - __0009_8468_Can_27t_20read_20co -x_lib/000a_5e43_Can_27t_20rename_20.rel - __000a_5e43_Can_27t_20rename_20 -x_lib/000b_f216_Hostname_20set_20to.rel - __000b_f216_Hostname_20set_20to -x_lib/000c_28fb_Hytech_20KA9Q_20NOS.rel - __000c_28fb_Hytech_20KA9Q_20NOS -x_lib/000d_c7f6_Insufficient_20args.rel - __000d_c7f6_Insufficient_20args -x_lib/000e_1523_Interface_20_5c.rel - __000e_1523_Interface_20_5c -x_lib/000f_103c_Interface_20address.rel - __000f_103c_Interface_20address -x_lib/0010_f59a_Logging_20off_0a.rel - __0010_f59a_Logging_20off_0a -x_lib/0011_1bd9_Logging_20to_20_25s.rel - __0011_1bd9_Logging_20to_20_25s -x_lib/0012_523a_Main_20commands_3a_.rel - __0012_523a_Main_20commands_3a_ -x_lib/0013_c7b9_Not_20supported_0a.rel - __0013_c7b9_Not_20supported_0a -x_lib/0014_8165_Parameter_20_25s_20.rel - __0014_8165_Parameter_20_25s_20 -x_lib/0015_2057_Too_20many_20sessio.rel - __0015_2057_Too_20many_20sessio -x_lib/0016_e21a_Unknown_20command_2.rel - __0016_e21a_Unknown_20command_2 -x_lib/0017_8cf4_Unknown_20parameter.rel - __0017_8cf4_Unknown_20parameter -x_lib/0018_699f__5eC_0a.rel - __0018_699f__5eC_0a -x_lib/0019_0500_input_20line_3a_20_.rel - __0019_0500_input_20line_3a_20_ diff --git a/src/mkfont/x.rel b/src/mkfont/x.rel deleted file mode 100644 index 0e6644e3..00000000 --- a/src/mkfont/x.rel +++ /dev/null @@ -1,36 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 91 flags 0 -S ___msg0000_Hytech_20KA9Q_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 48 79 74 65 63 68 20 4B 41 39 51 -R 00 00 01 00 -T 0B 00 00 00 20 4E 4F 53 20 6B 65 72 6E 65 6C -R 00 00 01 00 -T 16 00 00 00 0A 56 65 72 73 69 6F 6E 20 25 73 -R 00 00 01 00 -T 21 00 00 00 0A 43 6F 6D 70 69 6C 65 64 20 66 -R 00 00 01 00 -T 2C 00 00 00 6F 72 20 5A 69 6C 6F 67 20 5A 38 -R 00 00 01 00 -T 37 00 00 00 53 31 38 30 20 43 50 55 0A 0A 43 -R 00 00 01 00 -T 42 00 00 00 6F 70 79 72 69 67 68 74 20 31 39 -R 00 00 01 00 -T 4D 00 00 00 38 36 2D 31 39 39 35 20 62 79 20 -R 00 00 01 00 -T 58 00 00 00 50 68 69 6C 20 4B 61 72 6E 2C 20 -R 00 00 01 00 -T 63 00 00 00 4B 41 39 51 0A 43 6F 70 79 72 69 -R 00 00 01 00 -T 6E 00 00 00 67 68 74 20 32 30 30 33 20 62 79 -R 00 00 01 00 -T 79 00 00 00 20 4E 69 63 6B 20 44 6F 77 6E 69 -R 00 00 01 00 -T 84 00 00 00 6E 67 2C 20 48 79 74 65 63 68 0A -R 00 00 01 00 -T 8F 00 00 00 0A 00 -R 00 00 01 00 diff --git a/src/mkutil/CR.EXE b/src/mkutil/CR.EXE deleted file mode 100644 index dccde719026f62b465a43be3ebdb542b70258e6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73769 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 Ol3!SsKBwsW-oF71#mdP5 diff --git a/src/mkutil/CRC.LST b/src/mkutil/CRC.LST new file mode 100644 index 00000000..83dd7fa9 --- /dev/null +++ b/src/mkutil/CRC.LST @@ -0,0 +1,2406 @@ +Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 1 +crc.ASM + + + + 1 ; CRC.ASM + 2 ; CRC.106 + 3 + 4 = '1.06' CRCVER EQU '1.06' + 5 + 6 ; ----------------------------------------------------------------------------- + 7 + 8 ; CURRENTLY ALWAYS COMPRESSES CHECKSUM, IN CASE CRC HAS CHANGED (BUT NOT + 9 ; ITS DATE/TIME), SHOULD CHECK CRC FOR CRC TO FIX THIS + 10 + 11 ; 1.06 12MAY98 Modify for CHECKSUM / CRC new comms setup. + 12 ; 1.05 20NOV96 Implement COUNTRY.INC + 13 ; 1.04 22AUG96 On error, proceed to next country. + 14 + 15 ; ----------------------------------------------------------------------------- + 16 + 17 = 0064 CHKCNT EQU 100 + 18 + 19 = 0000 TEST_OUTPUT EQU 0 + 20 + 21 = 0000 OPTIMISE EQU 0 + 22 + 23 = 0009 INITB EQU 9 + 24 = 0100 CLRTAB EQU 256 ; CODE TO FLUSH STRING TABLE + 25 = 0101 TERM EQU 257 ; EOF + 26 = 0102 CODE1 EQU 258 ; FIRST CODE + 27 = 139D TSIZE EQU 5021 ; TABLE SIZE + 28 + 29 = 0100 STACK_SIZE EQU 0100H + 30 = 0200 CRCTBL_SIZE EQU 0200H ; FIXED REQUIREMENT + 31 = 1000 CRCDAT_SIZE EQU 1000H + 32 = 1000 CHECKSUM_SIZE EQU 1000H + 33 = 1000 READBUF_SIZE EQU 1000H + 34 = 1000 WRITEBUF_SIZE EQU 1000H + 35 APPEND_SIZE EQU TSIZE + 36 = 273A PREFIX_SIZE EQU TSIZE*2 + 37 = 273A CODEVAL_SIZE EQU TSIZE*2 + 38 = 0FA0 DECODS_SIZE EQU 4000 + 39 + 40 0000 CODE SEGMENT + 41 ASSUME CS:CODE,DS:CODE,SS:CODE + 42 + 43 LOCALS + 44 + 45 = BYTE PTR B EQU BYTE PTR + 46 = WORD PTR W EQU WORD PTR + 47 = DWORD PTR D EQU DWORD PTR + 48 + 49 JMPS MACRO ADDR + 50 JMP SHORT ADDR + 51 ENDM + 52 + 53 ORG 100H + 54 0100 FB START: STI + 55 0101 FC CLD + 56 + 57 0102 B8 3300 MOV AX,3300H ; GET BREAK + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 2 +crc.ASM + + + + 58 0105 CD 21 INT 21H + 59 0107 88 16 0D1Fr MOV B ORIG_BREAK,DL + 60 010B B2 01 MOV DL,1 + 61 010D B8 3301 MOV AX,3301H + 62 0110 CD 21 INT 21H + 63 + 64 0112 B8 2523 MOV AX,2523H + 65 0115 BA 0CD0r MOV DX,OFFSET INT23H + 66 0118 CD 21 INT 21H + 67 + 68 011A B4 19 MOV AH,19H + 69 011C CD 21 INT 21H + 70 011E A2 0D19r MOV B DEFAULT_DISC,AL + 71 + 72 0121 BA 0DB5r MOV DX,OFFSET SIGNON + 73 0124 E8 0C26 CALL PRMESS + 74 + 75 0127 8C C8 MOV AX,CS + 76 0129 BB B7EBr MOV BX,OFFSET TOP + 77 012C 8B D3 MOV DX,BX + 78 012E B1 04 MOV CL,4 + 79 0130 D3 EB SHR BX,CL + 80 0132 80 E2 0F AND DL,1111B + 81 0135 74 01 JZ @@L0 + 82 0137 43 INC BX + 83 0138 03 C3 @@L0: ADD AX,BX + 84 013A 3B 06 0002 CMP AX,W DS:[2] + 85 013E 76 06 JBE MEMOK + 86 + 87 0140 BB 0DCCr MOV BX,OFFSET NOMEM + 88 0143 E9 0B99 JMP ERROR_EXIT + 89 + 90 0146 BC 1300r MEMOK: MOV SP,OFFSET STCK + 91 + 92 0149 E8 0C31 CALL MAKTBL ; CONSTRUCT CRC TABLE + 93 + 94 014C 8A 16 005C MOV DL,B DS:[5CH] + 95 0150 0A D2 OR DL,DL + 96 0152 74 08 JZ @@G0 + 97 0154 FE CA DEC DL + 98 0156 B4 0E MOV AH,0EH + 99 0158 CD 21 INT 21H + 100 JMPS @@F1 +1 101 015A EB 04 JMP SHORT @@F1 + 102 015C 8A 16 0D19r @@G0: MOV DL,B DEFAULT_DISC + 103 0160 80 C2 41 @@F1: ADD DL,'A' + 104 0163 88 16 1025r MOV B CURRENT_DISC,DL + 105 0167 88 16 0EC8r MOV B BADDIRDISC,DL + 106 016B B4 47 MOV AH,47H ; GET CURRENT DIRECTORY + 107 016D 32 D2 XOR DL,DL + 108 016F BE 106Ar MOV SI,OFFSET CURRENT_DIR+1 + 109 0172 CD 21 INT 21H + 110 + 111 0174 B4 1A MOV AH,1AH + 112 0176 BA 0FDEr MOV DX,OFFSET DTA + 113 0179 CD 21 INT 21H + 114 + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 3 +crc.ASM + + + + 115 017B BE 0081 mov si,81h + 116 017E BF 1500r mov di,offset dir_buf + 117 + 118 0181 AC @@loop: lodsb + 119 0182 3C 20 cmp al,' ' + 120 0184 74 FB jz @@loop + 121 0186 3C 09 cmp al,9 + 122 0188 74 F7 jz @@loop + 123 018A 3C 0D cmp al,0dh + 124 018C 74 0E jz @@null + 125 + 126 018E AA @@copy: stosb + 127 018F AC lodsb + 128 0190 3C 20 cmp al,' ' + 129 0192 74 08 jz @@done + 130 0194 3C 09 cmp al,9 + 131 0196 74 04 jz @@done + 132 0198 3C 0D cmp al,0dh + 133 019A 75 F2 jnz @@copy + 134 + 135 019C @@done: + 136 019C 2A C0 @@null: sub al,al + 137 019E AA stosb + 138 + 139 019F BA 1500r mov dx,offset dir_buf + 140 01A2 E8 0005 call check_dir + 141 01A5 32 C0 XOR AL,AL ; RETURN CODE + 142 01A7 E9 0B66 JMP EXIT + 143 + 144 01AA CHECK_DIR: + 145 01AA 8B DA mov bx,dx + 146 01AC 80 3F 00 cmp b [bx],0 ; null directory string given? + 147 01AF 74 17 jz @@f0 + 148 + 149 01B1 B4 3B MOV AH,3BH ; SET CURRENT DIRECTORY + 150 01B3 CD 21 INT 21H + 151 01B5 73 11 JNC @@F0 + 152 01B7 8B F2 MOV SI,DX + 153 01B9 BF 0ECAr MOV DI,OFFSET BADDIRDISC+2 + 154 01BC AC @@F2: LODSB + 155 01BD AA STOSB + 156 01BE 0A C0 OR AL,AL + 157 01C0 75 FA JNZ @@F2 + 158 01C2 BB 0EB4r MOV BX,OFFSET BADDIR + 159 01C5 E9 0B17 JMP ERROR_EXIT + 160 01C8 @@F0: + 161 + 162 01C8 B4 4E mov ah,4eh + 163 01CA B9 0010 mov cx,10h ; directory bit set + 164 01CD BA 1015r mov dx,offset LZW_ + 165 01D0 CD 21 int 21h ; search first (result in dta) + 166 + 167 01D2 C6 06 1024r 00 mov b LZW_FLAG,0 + 168 01D7 72 0C jc @@skip + 169 01D9 F6 06 0FF3r 10 test b DTA+15h,10h ; is it a directory? + 170 01DE 74 05 jz @@skip + 171 01E0 C6 06 1024r FF mov b LZW_FLAG,-1 + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 4 +crc.ASM + + + + 172 01E5 @@skip: + 173 + 174 01E5 BE 0F49r MOV SI,OFFSET CHECKSUM1 + 175 01E8 E8 0BC0 CALL CHECKSUM01 + 176 01EB C6 06 0F62r 00 MOV B CRC_INSTANCE,0 + 177 01F0 E8 000B CALL @@INSTANCE + 178 01F3 BE 0F40r MOV SI,OFFSET CHECKSUM0 + 179 01F6 E8 0BB2 CALL CHECKSUM01 + 180 01F9 C6 06 0F62r 01 MOV B CRC_INSTANCE,1 + 181 01FE @@INSTANCE: + 182 + 183 ; READ CRC.DAT + 184 01FE B8 3D00 MOV AX,3D00H ; OPEN FOR READ + 185 0201 BA 0F5Ar MOV DX,OFFSET CRCDAT + 186 0204 80 3E 0F62r 00 CMP B CRC_INSTANCE,0 + 187 0209 74 03 JZ @@I0 + 188 020B BA 0F4Dr MOV DX,OFFSET CHECKSUMDAT + 189 020E CD 21 @@I0: INT 21H + 190 0210 73 03 JNC @@L4 + 191 0212 E9 0A95 JMP OPEN_ERROR + 192 0215 A3 1009r @@L4: MOV W IHANDLE,AX + 193 0218 89 16 100Br MOV W IHANDLE+2,DX + 194 021C 8B D8 MOV BX,AX + 195 021E B8 4202 MOV AX,4202H ; PTR / FILE END + 196 0221 33 C9 XOR CX,CX + 197 0223 33 D2 XOR DX,DX + 198 0225 CD 21 INT 21H + 199 0227 0B D2 OR DX,DX + 200 0229 74 06 JZ @@D0 + 201 022B BB 0E70r @@D1: MOV BX,OFFSET BADCRCDAT + 202 022E E9 0AAE JMP ERROR_EXIT + 203 0231 3D 1000 @@D0: CMP AX,CRCDAT_SIZE + 204 0234 77 F5 JA @@D1 + 205 0236 50 PUSH AX + 206 0237 E8 0479 CALL POINT_00 + 207 023A 59 POP CX + 208 023B BA 15DAr MOV DX,OFFSET CRCDAT_BUFFER + 209 023E B4 3F MOV AH,3FH ; READ + 210 0240 CD 21 INT 21H + 211 0242 73 03 JNC @@D2 + 212 0244 E9 0A77 JMP READ_ERROR + 213 0247 50 @@D2: PUSH AX + 214 0248 E8 0A12 CALL CLOSE_FILES + 215 024B 5B POP BX + 216 024C C6 87 15DAr 00 MOV B CRCDAT_BUFFER[BX],0 ; FLAG END OF FILE + 217 0251 C7 06 1582r 15DAr MOV W CRCDAT_PTR,OFFSET CRCDAT_BUFFER + 218 + 219 ; READ CHECKSUM IF IT EXISTS + 220 0257 C6 06 0F6Cr 00 MOV B CHECKSUM_DIRTY,0 + 221 025C B8 3D00 MOV AX,3D00H ; OPEN FOR READ + 222 025F BA 0F63r MOV DX,OFFSET CHECKSUM + 223 0262 CD 21 INT 21H + 224 0264 73 15 JNC @@E4 + 225 0266 C6 06 0F6Cr FF @@E7: MOV B CHECKSUM_DIRTY,-1 + 226 026B B8 0010 MOV AX,16 ; OFFSET OF EOF + 227 026E BF 25DEr MOV DI,OFFSET CHECKSUM_BUFFER+4 + 228 0271 BE 0F34r MOV SI,OFFSET DEFAULT_DATE + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 5 +crc.ASM + + + + 229 0274 B9 0006 MOV CX,6 + 230 0277 F3> A5 REP MOVSW + 231 JMPS @@E5 +1 232 0279 EB 37 JMP SHORT @@E5 + 233 027B A3 1009r @@E4: MOV W IHANDLE,AX + 234 027E 89 16 100Br MOV W IHANDLE+2,DX + 235 0282 8B D8 MOV BX,AX + 236 0284 B8 4202 MOV AX,4202H ; PTR / FILE END + 237 0287 33 C9 XOR CX,CX + 238 0289 33 D2 XOR DX,DX + 239 028B CD 21 INT 21H + 240 028D 0B D2 OR DX,DX + 241 028F 74 06 JZ @@E0 + 242 0291 BB 0E85r @@E1: MOV BX,OFFSET BADCRC + 243 0294 E9 0A48 JMP ERROR_EXIT + 244 0297 3D 1000 @@E0: CMP AX,CHECKSUM_SIZE + 245 029A 77 F5 JA @@E1 + 246 029C 50 PUSH AX + 247 029D E8 0413 CALL POINT_00 + 248 02A0 59 POP CX + 249 02A1 BA 25DAr MOV DX,OFFSET CHECKSUM_BUFFER + 250 02A4 B4 3F MOV AH,3FH ; READ + 251 02A6 CD 21 INT 21H + 252 02A8 73 03 JNC @@E2 + 253 02AA E9 0A11 JMP READ_ERROR + 254 02AD 50 @@E2: PUSH AX + 255 02AE E8 09AC CALL CLOSE_FILES + 256 02B1 58 POP AX + 257 02B2 05 25DAr @@E5: ADD AX,OFFSET CHECKSUM_BUFFER + 258 02B5 E8 030B CALL FIX_EOF + 259 02B8 A3 1584r MOV W CHECKSUM_EOF,AX + 260 02BB C7 06 03ECr 25EAr MOV W CHECKSUM_PTR,OFFSET CHECKSUM_BUFFER+16 + 261 + 262 02C1 L8: ; SAVE CHECKSUM DATE TO ORIG_DATE + 263 02C1 E8 0476 CALL PACK_NEWEST_DATE + 264 02C4 89 0E 04A8r MOV W ORIG_DATE_CX,CX + 265 02C8 89 16 049Fr MOV W ORIG_DATE_DX,DX + 266 + 267 02CC C6 06 0F6Dr 00 L9: MOV B FILE_DIRTY,0 + 268 02D1 8B 36 1582r MOV SI,W CRCDAT_PTR + 269 02D5 E8 09BD @@L0: CALL SKIP_BLANK + 270 02D8 74 22 JZ BADCRCD + 271 02DA AC LODSB + 272 02DB E8 0A81 CALL UCASE + 273 02DE 0A C0 OR AL,AL + 274 02E0 75 03 JNZ @@L1 + 275 02E2 E9 0106 @@L99: JMP L99 + 276 02E5 A2 0FB8r @@L1: MOV B FILENAME_BUF,AL + 277 02E8 3C 55 CMP AL,'U' + 278 02EA 74 4B JZ U_FILE + 279 02EC 3C 43 CMP AL,'C' + 280 02EE 74 73 JZ CDS_FILE + 281 02F0 3C 44 CMP AL,'D' + 282 02F2 74 6F JZ CDS_FILE + 283 02F4 3C 45 CMP AL,'E' + 284 02F6 74 4D JZ E_FILE + 285 02F8 3C 53 CMP AL,'S' + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 6 +crc.ASM + + + + 286 02FA 74 67 JZ CDS_FILE + 287 02FC BADCRCD: + 288 02FC BB 0E9Dr MOV BX,OFFSET BADDATFORMAT + 289 02FF E9 09DD JMP ERROR_EXIT + 290 0302 GET_FILENAME: + 291 0302 E8 0990 CALL SKIP_BLANK + 292 0305 74 F5 JZ BADCRCD + 293 0307 80 7C 01 3A CMP B [SI+1],':' + 294 030B 75 EF JNZ BADCRCD + 295 030D 8D 44 02 LEA AX,[SI+2] + 296 0310 GET_BLANK_FILENAME: + 297 0310 A3 1185r MOV W CURRENT_FILENAME_PTR,AX + 298 0313 BF 0FB9r MOV DI,OFFSET FILENAME_BUF+1 + 299 0316 B9 000F MOV CX,15 + 300 0319 AC @@L2: LODSB + 301 031A 3C 0D CMP AL,0DH + 302 031C 74 05 JZ @@L0 + 303 031E AA STOSB + 304 031F E2 F8 LOOP @@L2 + 305 JMPS BADCRCD +1 306 0321 EB D9 JMP SHORT BADCRCD + 307 0323 32 C0 @@L0: XOR AL,AL + 308 0325 AA @@L4: STOSB + 309 0326 E2 FD LOOP @@L4 + 310 0328 4E DEC SI + 311 0329 C6 04 00 MOV B [SI],0 + 312 032C 46 @@L1: INC SI + 313 032D 80 3C 0A CMP B [SI],0AH + 314 0330 74 FA JZ @@L1 + 315 0332 89 36 03E2r MOV W NEXT_CRCDAT_PTR,SI + 316 0336 C3 RET + 317 0337 E8 FFC8 U_FILE: CALL GET_FILENAME + 318 033A E8 02B5 CALL L911 + 319 033D 83 06 03ECr 14 ADD W CHECKSUM_PTR,20 + 320 0342 E9 009C JMP L98 + 321 0345 E8 094D E_FILE: CALL SKIP_BLANK + 322 0348 75 19 JNZ CDS_FILE + 323 034A C6 06 0FB8r 1A MOV B FILENAME_BUF,1AH ; ^Z MARKER TO HIDE SUBSEQUENT E FILES + 324 034F 8B C6 MOV AX,SI + 325 0351 E8 FFBC CALL GET_BLANK_FILENAME + 326 0354 E8 029B CALL L911 + 327 0357 C6 06 0FFCr 00 MOV B DTA+1EH,0 + 328 035C 83 06 03ECr 14 ADD W CHECKSUM_PTR,20 + 329 0361 EB 7E JMP L98 + 330 0363 CDS_FILE: + 331 0363 E8 FF9C CALL GET_FILENAME + 332 0366 33 C9 XOR CX,CX + 333 0368 C7 06 03B4r 0000 MOV W FOUND_COUNT,0 + 334 036E B4 4E L94: MOV AH,4EH ; FIND FIRST + 335 0370 8B 0E 03B4r MOV CX,W FOUND_COUNT + 336 0374 41 INC CX + 337 0375 51 @@L1: PUSH CX + 338 0376 33 C9 XOR CX,CX + 339 0378 8B 16 1185r MOV DX,W CURRENT_FILENAME_PTR + 340 037C CD 21 INT 21H + 341 037E 59 POP CX + 342 037F 72 32 JC L97 + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 7 +crc.ASM + + + + 343 0381 B4 4F MOV AH,4FH ; FIND NEXT + 344 0383 E2 F0 LOOP @@L1 + 345 0385 C6 06 0F6Dr 00 @@L0: MOV B FILE_DIRTY,0 + 346 038A FF 06 03B4r INC W FOUND_COUNT + 347 038E BE 0FFCr MOV SI,OFFSET DTA+1EH + 348 0391 BF 0FBBr MOV DI,OFFSET FILENAME_BUF+3 + 349 0394 B9 000D MOV CX,13 + 350 0397 AC @@L2: LODSB + 351 0398 0A C0 OR AL,AL + 352 039A 74 07 JZ @@L4 + 353 039C AA STOSB + 354 039D E2 F8 LOOP @@L2 + 355 039F 58 POP AX ; KILL RETURN ADDRESS + 356 03A0 E9 FF59 JMP BADCRCD + 357 03A3 AA @@L4: STOSB + 358 03A4 E2 FD LOOP @@L4 + 359 03A6 E8 0249 CALL L911 + 360 03A9 E8 00E0 CALL L951 + 361 03AC 83 06 03ECr 14 L940: ADD W CHECKSUM_PTR,20 + 362 JMPS L94 +1 363 03B1 EB BB JMP SHORT L94 + 364 03B3 B8 0000 L97: MOV AX,0 + 365 = CODE:03B4 FOUND_COUNT EQU THIS WORD-2 + 366 03B6 0B C0 OR AX,AX + 367 03B8 75 27 JNZ L98 + 368 ; SEE IF IT'S \xxxDL\OFFICE.DAT + 369 03BA 8B 36 1185r MOV SI,W CURRENT_FILENAME_PTR + 370 03BE BF 1019r MOV DI,OFFSET OFFICE_DAT + 371 03C1 A6 @@L1: CMPSB + 372 03C2 75 1A JNZ @@L0 + 373 03C4 80 7C FF 00 CMP B [SI-1],0 + 374 03C8 75 F7 JNZ @@L1 + 375 03CA FF 06 03B4r INC W FOUND_COUNT + 376 03CE BE 1019r MOV SI,OFFSET OFFICE_DAT + 377 03D1 BF 0FBBr MOV DI,OFFSET FILENAME_BUF+3 + 378 03D4 B9 000B MOV CX,11 + 379 03D7 F3> A4 REP MOVSB + 380 03D9 E8 0216 CALL L911 + 381 JMPS L940 +1 382 03DC EB CE JMP SHORT L940 + 383 03DE E9 08C2 @@L0: JMP NOT_FOUND_ERROR + 384 + 385 03E1 BE 0000 L98: MOV SI,0 + 386 = CODE:03E2 NEXT_CRCDAT_PTR EQU THIS WORD-2 + 387 03E4 89 36 1582r MOV W CRCDAT_PTR,SI + 388 03E8 E9 FEE1 JMP L9 + 389 03EB BB 0000 L99: MOV BX,0 + 390 = CODE:03EC CHECKSUM_PTR EQU THIS WORD-2 + 391 03EE 3B 1E 1584r CMP BX,W CHECKSUM_EOF + 392 03F2 74 15 JZ L10 + 393 03F4 80 3E 0F6Cr 00 CMP B CHECKSUM_DIRTY,0 + 394 03F9 75 0A JNZ @@L0 + 395 03FB 80 3F 1A CMP B [BX],1AH + 396 03FE 74 09 JZ L10 + 397 0400 C6 06 0F6Cr FF MOV B CHECKSUM_DIRTY,-1 + 398 0405 89 1E 1584r @@L0: MOV W CHECKSUM_EOF,BX + 399 0409 80 3E 0F6Cr 00 L10: CMP B CHECKSUM_DIRTY,0 + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 8 +crc.ASM + + + + 400 040E 74 69 JZ @@L2 + 401 0410 E8 0937 CALL CRLF + 402 0413 BA 0F63r MOV DX,OFFSET CHECKSUM + 403 0416 E8 027C CALL L9MES + 404 0419 8B 3E 1584r MOV DI,W CHECKSUM_EOF + 405 041D B8 25DAr MOV AX,OFFSET CHECKSUM_BUFFER + 406 0420 E8 027E CALL PAD + 407 0423 89 3E 1584r MOV W CHECKSUM_EOF,DI + 408 0427 8B CF MOV CX,DI + 409 0429 BE 25DEr MOV SI,OFFSET CHECKSUM_BUFFER+4 + 410 042C 2B CE SUB CX,SI + 411 042E B8 FFFF MOV AX,-1 ; SEED + 412 0431 E8 0936 CALL ADDCRC + 413 0434 BF 25DAr MOV DI,OFFSET CHECKSUM_BUFFER + 414 0437 E8 0805 CALL HEXW + 415 043A B4 3C MOV AH,3CH ; CREATE + 416 043C 33 C9 XOR CX,CX + 417 043E BA 0F63r MOV DX,OFFSET CHECKSUM + 418 0441 CD 21 INT 21H + 419 0443 73 03 JNC @@L5 + 420 0445 E9 0862 JMP OPEN_ERROR + 421 0448 A3 100Dr @@L5: MOV W OHANDLE,AX + 422 044B 89 16 100Fr MOV W OHANDLE+2,DX + 423 044F 93 XCHG BX,AX + 424 0450 E8 0260 CALL POINT_00 + 425 0453 B4 40 MOV AH,40H ; WRITE + 426 0455 8B 0E 1584r MOV CX,W CHECKSUM_EOF + 427 0459 BA 25DAr MOV DX,OFFSET CHECKSUM_BUFFER + 428 045C 2B CA SUB CX,DX + 429 045E CD 21 INT 21H + 430 0460 73 03 JNC @@L0 + 431 0462 E9 0862 @@L1: JMP WRITE_ERROR + 432 0465 3B C1 @@L0: CMP AX,CX + 433 0467 75 F9 JNZ @@L1 + 434 0469 E8 0251 CALL SET_NEWEST_DATE + 435 046C E8 07EE CALL CLOSE_FILES + 436 046F 80 3E 0F6Cr 00 CMP B CHECKSUM_DIRTY,0 + 437 0474 74 15 JZ @@RET + 438 0476 E8 03AE CALL MAKE_DIR_ID + 439 0479 @@L2: ; CHECK THAT LZW\CHECKSUM EXISTS AND IS NEWER THAN CHECKSUM + 440 0479 80 3E 1024r 00 CMP B LZW_FLAG,0 + 441 047E 74 0B JZ @@RET + 442 0480 BE 0F63r MOV SI,OFFSET CHECKSUM + 443 0483 E8 02FD CALL LZW_FILE + 444 0486 C6 06 0F6Cr 00 MOV B CHECKSUM_DIRTY,0 + 445 048B C3 @@RET: RET + 446 + 447 048C L951: + 448 ; IF IT'S 'CRC', IGNORE DATE AND REDO IT ANYWAY + 449 048C 8B 36 1185r MOV SI,W CURRENT_FILENAME_PTR + 450 0490 BF 1011r MOV DI,OFFSET CRC_ + 451 0493 A6 @@L1: CMPSB + 452 0494 75 08 JNZ @@L2 + 453 0496 80 7C FF 00 CMP B [SI-1],0 + 454 049A 75 F7 JNZ @@L1 + 455 JMPS L9512 +1 456 049C EB 1C JMP SHORT L9512 + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 9 +crc.ASM + + + + 457 049E @@L2: + 458 049E BA 0000 MOV DX,0 + 459 = CODE:049F ORIG_DATE_DX EQU THIS WORD-2 + 460 04A1 3B 16 0FF6r CMP DX,W DTA+18H + 461 04A5 75 07 JNZ @@L0 + 462 04A7 B9 0000 MOV CX,0 + 463 = CODE:04A8 ORIG_DATE_CX EQU THIS WORD-2 + 464 04AA 3B 0E 0FF4r CMP CX,W DTA+16H + 465 04AE 72 0A @@L0: JC L9512 + 466 04B0 80 3E 0F6Dr 00 CMP B FILE_DIRTY,0 + 467 04B5 75 1A JNZ L9512_0 ; NEW INSERTION IN CHECKSUM + 468 04B7 E9 00FB JMP L95111 + 469 04BA C6 06 0F6Dr FF L9512: MOV B FILE_DIRTY,-1 + 470 04BF E8 0278 CALL PACK_NEWEST_DATE + 471 04C2 3B 16 0FF6r CMP DX,W DTA+18H + 472 04C6 75 04 JNZ @@L0 + 473 04C8 3B 0E 0FF4r CMP CX,W DTA+16H + 474 04CC 73 03 @@L0: JNC L9512_0 + 475 04CE E8 01F0 CALL SET_NEW_NEWEST_DATE + 476 04D1 L9512_0: + 477 04D1 C6 06 0F6Cr FF MOV B CHECKSUM_DIRTY,-1 + 478 04D6 C7 06 052Cr FFFF MOV W CRC_SO_FAR,-1 + 479 + 480 04DC B8 3D02 MOV AX,3D02H ; OPEN FOR READ/WRITE + 481 04DF BA 0FFCr MOV DX,OFFSET DTA+1EH + 482 04E2 CD 21 INT 21H + 483 04E4 73 03 JNC @@L4 + 484 04E6 E9 07C1 JMP OPEN_ERROR + 485 04E9 A3 1009r @@L4: MOV W IHANDLE,AX + 486 04EC 89 16 100Br MOV W IHANDLE+2,DX + 487 04F0 A3 100Dr MOV W OHANDLE,AX + 488 04F3 89 16 100Fr MOV W OHANDLE+2,DX + 489 04F7 33 C0 XOR AX,AX + 490 04F9 A3 159Br MOV W IPTR,AX + 491 04FC A3 159Dr MOV W IPTR+2,AX + 492 04FF A2 15A7r MOV B EOF,AL + 493 JMPS @@L1 +1 494 0502 EB 39 JMP SHORT @@L1 + 495 0504 91 @@L0: XCHG CX,AX + 496 0505 BE 35DAr MOV SI,OFFSET READBUF + 497 0508 A1 0BE1r MOV AX,W LAST_IPTR_L + 498 050B 0B 06 0BE4r OR AX,W LAST_IPTR_H + 499 050F 75 1A JNZ @@L2 + 500 0511 80 3E 0FB8r 43 CMP B FILENAME_BUF,'C' + 501 0516 74 13 JZ @@L2 + 502 0518 83 C6 04 ADD SI,4 + 503 051B 83 E9 04 SUB CX,4 + 504 051E 80 3E 0FB8r 44 CMP B FILENAME_BUF,'D' + 505 0523 75 06 JNZ @@L2 + 506 0525 BF 35DEr MOV DI,OFFSET READBUF+4 + 507 0528 E8 0199 CALL EXPAND_DATE + 508 052B B8 0000 @@L2: MOV AX,0 + 509 = CODE:052C CRC_SO_FAR EQU THIS WORD-2 + 510 052E E3 30 JCXZ @@L3 + 511 0530 E8 0837 CALL ADDCRC + 512 0533 A3 052Cr MOV W CRC_SO_FAR,AX + 513 0536 80 3E 15A7r 00 CMP B EOF,0 + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 10 +crc.ASM + + + + 514 053B 75 23 JNZ @@L3 + 515 053D E8 0636 @@L1: CALL INBLOCK + 516 0540 80 3E 15A7r 00 CMP B EOF,0 + 517 0545 74 BD JZ @@L0 + 518 0547 50 PUSH AX + 519 0548 8B F8 MOV DI,AX + 520 054A B8 35DAr MOV AX,OFFSET READBUF + 521 054D 03 F8 ADD DI,AX + 522 054F E8 014F CALL PAD + 523 0552 58 POP AX + 524 0553 74 AF JZ @@L0 + 525 0555 81 EF 35DAr SUB DI,OFFSET READBUF + 526 0559 8B CF MOV CX,DI + 527 055B E8 0681 CALL OUTINBLOCK + 528 JMPS @@L0 +1 529 055E EB A4 JMP SHORT @@L0 + 530 0560 8B 3E 03ECr @@L3: MOV DI,W CHECKSUM_PTR + 531 0564 83 C7 10 ADD DI,16 + 532 0567 50 PUSH AX + 533 0568 E8 06D4 CALL HEXW + 534 056B 58 POP AX + 535 056C 80 3E 0FB8r 43 CMP B FILENAME_BUF,'C' + 536 0571 74 25 JZ @@L5 + 537 0573 50 PUSH AX + 538 0574 C7 06 159Br 0000 MOV W IPTR,0 + 539 057A C7 06 159Dr 0000 MOV W IPTR+2,0 + 540 0580 E8 05F3 CALL INBLOCK + 541 0583 91 XCHG CX,AX + 542 0584 58 POP AX + 543 0585 BF 35DAr MOV DI,OFFSET READBUF + 544 0588 E8 06B4 CALL HEXW + 545 058B 80 3E 0FB8r 44 CMP B FILENAME_BUF,'D' + 546 0590 75 03 JNZ @@L8 + 547 0592 E8 012F CALL EXPAND_DATE + 548 0595 E8 0647 @@L8: CALL OUTINBLOCK + 549 0598 8B 0E 0FF4r @@L5: MOV CX,W DTA+16H + 550 059C 8B 16 0FF6r MOV DX,W DTA+18H + 551 05A0 8B 1E 1009r MOV BX,W IHANDLE + 552 05A4 E8 0119 CALL SET_DATE + 553 05A7 C7 06 100Dr 0000 MOV W OHANDLE,0 + 554 05AD E8 06AD CALL CLOSE_FILES + 555 05B0 C6 06 0F6Dr 00 MOV B FILE_DIRTY,0 + 556 05B5 80 3E 1024r 00 L95111: CMP B LZW_FLAG,0 + 557 05BA 74 06 JZ @@RET + 558 05BC BE 0FFCr MOV SI,OFFSET DTA+1EH + 559 05BF E9 01C1 JMP LZW_FILE + 560 05C2 C3 @@RET: RET + 561 + 562 05C3 FIX_EOF: + 563 05C3 8B D8 MOV BX,AX + 564 05C5 80 7F FF 1A @@L2: CMP B [BX-1],1AH + 565 05C9 75 03 JNZ @@L1 + 566 05CB 4B DEC BX + 567 JMPS @@L2 +1 568 05CC EB F7 JMP SHORT @@L2 + 569 05CE 8B C3 @@L1: MOV AX,BX + 570 05D0 50 PUSH AX + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 11 +crc.ASM + + + + 571 05D1 2D 25EAr SUB AX,OFFSET CHECKSUM_BUFFER+16 + 572 05D4 33 D2 XOR DX,DX + 573 05D6 B9 0014 MOV CX,20 + 574 05D9 F7 F1 DIV CX + 575 05DB 58 POP AX + 576 05DC 0B D2 OR DX,DX + 577 05DE 74 07 JZ @@RET + 578 05E0 83 EA 14 SUB DX,20 + 579 05E3 F7 DA NEG DX + 580 05E5 2B C2 SUB AX,DX + 581 05E7 C3 @@RET: RET + 582 + 583 05E8 56 L9TST: PUSH SI + 584 05E9 57 PUSH DI + 585 05EA B9 0008 MOV CX,16/2 + 586 05ED F3> A7 REP CMPSW + 587 05EF 5F POP DI + 588 05F0 5E POP SI + 589 05F1 C3 RET + 590 + 591 05F2 BE 0FB8r L911: MOV SI,OFFSET FILENAME_BUF + 592 05F5 8B 3E 03ECr MOV DI,W CHECKSUM_PTR + 593 05F9 3B 3E 1584r CMP DI,W CHECKSUM_EOF + 594 05FD 74 4B JZ @@L4 + 595 05FF E8 FFE6 CALL L9TST + 596 0602 74 65 JZ @@RET + 597 0604 83 C7 14 @@L1: ADD DI,20 + 598 0607 3B 3E 1584r CMP DI,W CHECKSUM_EOF + 599 060B 74 24 JZ @@L9113 + 600 060D E8 FFD8 CALL L9TST + 601 0610 75 F2 JNZ @@L1 + 602 0612 @@L9112: + 603 0612 8B F7 MOV SI,DI + 604 0614 3B 36 03ECr @@L2: CMP SI,W CHECKSUM_PTR + 605 0618 74 4A JZ @@L9114 + 606 061A 8B FE MOV DI,SI + 607 061C 83 EF 14 SUB DI,20 + 608 061F B9 000A MOV CX,10 + 609 0622 AD @@L5: LODSW + 610 0623 87 05 XCHG AX,W [DI] + 611 0625 47 INC DI + 612 0626 47 INC DI + 613 0627 89 44 FE MOV W [SI-2],AX + 614 062A E2 F6 LOOP @@L5 + 615 062C 83 EE 28 SUB SI,40 + 616 JMPS @@L2 +1 617 062F EB E3 JMP SHORT @@L2 + 618 0631 @@L9113: + 619 0631 8B 3E 1584r MOV DI,W CHECKSUM_EOF + 620 0635 3B 3E 03ECr @@L3: CMP DI,W CHECKSUM_PTR + 621 0639 74 0F JZ @@L4 + 622 063B 8B F7 MOV SI,DI + 623 063D 83 EE 14 SUB SI,20 + 624 0640 B9 000A MOV CX,10 + 625 0643 F3> A5 REP MOVSW + 626 0645 83 EF 28 SUB DI,40 + 627 JMPS @@L3 + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 12 +crc.ASM + + + +1 628 0648 EB EB JMP SHORT @@L3 + 629 064A BE 0FB8r @@L4: MOV SI,OFFSET FILENAME_BUF + 630 064D B9 0008 MOV CX,16/2 + 631 0650 F3> A5 REP MOVSW + 632 0652 B8 3030 MOV AX,3030H + 633 0655 AB STOSW + 634 0656 AB STOSW + 635 0657 83 06 1584r 14 ADD W CHECKSUM_EOF,20 + 636 065C E8 000B CALL L9MESS + 637 065F C6 06 0F6Dr FF MOV B FILE_DIRTY,-1 + 638 0664 @@L9114: + 639 0664 C6 06 0F6Cr FF MOV B CHECKSUM_DIRTY,-1 + 640 0669 C3 @@RET: RET + 641 + 642 066A E8 06DD L9MESS: CALL CRLF + 643 066D 8B 16 1582r MOV DX,W CRCDAT_PTR + 644 0671 80 3E 0FB8r 55 CMP B FILENAME_BUF,'U' + 645 0676 74 1D JZ L9MES + 646 0678 80 3E 0FB8r 45 CMP B FILENAME_BUF,'E' + 647 067D 74 16 JZ L9MES + 648 067F 80 3E 0FB8r 1A CMP B FILENAME_BUF,1AH ; ^Z MARKER TO HIDE SUBSEQUENT FILES + 649 0684 74 0F JZ L9MES + 650 0686 8B F2 MOV SI,DX + 651 0688 AC @@L0: LODSB + 652 0689 E8 000E CALL PRCHR + 653 068C 3B 36 1185r CMP SI,W CURRENT_FILENAME_PTR + 654 0690 72 F6 JC @@L0 + 655 0692 BA 0FFCr MOV DX,OFFSET DTA+1EH + 656 0695 E8 06B5 L9MES: CALL PRMESS + 657 0698 B0 20 MOV AL,' ' + 658 069A 8A D0 PRCHR: MOV DL,AL + 659 069C B4 02 MOV AH,2 + 660 069E CD 21 INT 21H + 661 06A0 C3 RET + 662 + 663 06A1 2B C7 PAD: SUB AX,DI + 664 06A3 F7 D8 NEG AX + 665 06A5 24 7F AND AL,7FH + 666 06A7 74 09 JZ @@L0 + 667 06A9 B9 0080 MOV CX,80H + 668 06AC 2A C8 SUB CL,AL + 669 06AE B0 1A MOV AL,1AH + 670 06B0 F3> AA REP STOSB + 671 06B2 C3 @@L0: RET + 672 + 673 06B3 POINT_00: + 674 06B3 B8 4200 MOV AX,4200H ; PTR / FILE START + 675 06B6 33 C9 XOR CX,CX + 676 06B8 33 D2 XOR DX,DX + 677 06BA CD 21 INT 21H + 678 06BC C3 RET + 679 + 680 06BD SET_NEWEST_DATE: + 681 06BD E8 007A CALL PACK_NEWEST_DATE + 682 06C0 SET_DATE: + 683 06C0 C3 RET + 684 + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 13 +crc.ASM + + + + 685 06C1 SET_NEW_NEWEST_DATE: + 686 06C1 BF 25DEr MOV DI,OFFSET CHECKSUM_BUFFER+4 + 687 06C4 EXPAND_DATE: + 688 06C4 51 PUSH CX + 689 06C5 8B 16 0FF6r MOV DX,W DTA+18H + 690 06C9 B9 0007 MOV CX,7 + 691 06CC E8 0062 CALL SNNL + 692 06CF 04 50 ADD AL,80 + 693 06D1 3C 64 CMP AL,100 + 694 06D3 72 02 JB @@NY2K + 695 06D5 2C 64 SUB AL,100 + 696 06D7 E8 002C @@NY2K: CALL DECBAL + 697 06DA B1 04 MOV CL,4 + 698 06DC E8 0052 CALL SNNL + 699 06DF E8 0024 CALL DECBAL + 700 06E2 B1 05 MOV CL,5 + 701 06E4 E8 004A CALL SNNL + 702 06E7 E8 001C CALL DECBAL + 703 06EA 8B 16 0FF4r MOV DX,W DTA+16H + 704 06EE B1 05 MOV CL,5 + 705 06F0 E8 003E CALL SNNL + 706 06F3 E8 0010 CALL DECBAL + 707 06F6 B1 06 MOV CL,6 + 708 06F8 E8 0036 CALL SNNL + 709 06FB E8 0008 CALL DECBAL + 710 06FE B1 05 MOV CL,5 + 711 0700 E8 002E CALL SNNL + 712 0703 D0 E0 SHL AL,1 + 713 ; OR AL,1 ; OMIT TO BE LIKE CALCCRC.EXE + 714 0705 59 POP CX + 715 0706 8A D8 DECBAL: MOV BL,AL + 716 0708 B4 01 MOV AH,1 + 717 070A DECB: ; IF AH=0 PRINT BLANK FOR LEADING 0 + 718 ; 1 PRINT LEADING 0 + 719 070A 80 FB 64 CMP BL,100 + 720 070D 72 08 JC @@L1 + 721 070F B0 31 MOV AL,'1' + 722 0711 AA STOSB + 723 0712 80 EB 64 SUB BL,100 + 724 0715 B4 01 MOV AH,1 + 725 0717 B0 2F @@L1: MOV AL,2FH + 726 0719 FE C0 @@L0: INC AL + 727 071B 80 EB 0A SUB BL,10 + 728 071E 73 F9 JNC @@L0 + 729 0720 3C 30 CMP AL,'0' + 730 0722 75 06 JNZ @@L2 + 731 0724 0A E4 OR AH,AH + 732 0726 75 02 JNZ @@L2 + 733 0728 B0 20 MOV AL,' ' + 734 072A AA @@L2: STOSB + 735 072B 8A C3 MOV AL,BL + 736 072D 04 3A ADD AL,'0'+10 + 737 072F AA STOSB + 738 0730 C3 RET + 739 + 740 0731 32 C0 SNNL: XOR AL,AL + 741 0733 D1 E2 @@L0: SHL DX,1 + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 14 +crc.ASM + + + + 742 0735 D0 D0 RCL AL,1 + 743 0737 E2 FA LOOP @@L0 + 744 0739 C3 RET + 745 + 746 073A PACK_NEWEST_DATE: + 747 073A BE 25DEr MOV SI,OFFSET CHECKSUM_BUFFER+4 + 748 073D E8 0036 CALL UNDECB + 749 0740 2D 0050 SUB AX,80 + 750 0743 73 03 JNC @@NY2K + 751 0745 05 0064 ADD AX,100 + 752 0748 8A F0 @@NY2K: MOV DH,AL + 753 074A E8 0029 CALL UNDECB + 754 074D 8A D0 MOV DL,AL + 755 074F B1 04 MOV CL,4 + 756 0751 D2 E2 SHL DL,CL + 757 0753 D1 E2 SHL DX,1 + 758 0755 E8 001E CALL UNDECB + 759 0758 0B D0 OR DX,AX + 760 075A E8 0019 CALL UNDECB + 761 075D 8A E8 MOV CH,AL + 762 075F E8 0014 CALL UNDECB + 763 0762 8A C8 MOV CL,AL + 764 0764 D0 E1 SHL CL,1 + 765 0766 D0 E1 SHL CL,1 + 766 0768 D1 E1 SHL CX,1 + 767 076A D1 E1 SHL CX,1 + 768 076C D1 E1 SHL CX,1 + 769 076E E8 0005 CALL UNDECB + 770 0771 D1 E8 SHR AX,1 + 771 0773 0B C8 OR CX,AX + 772 0775 C3 RET + 773 + 774 0776 AC UNDECB: LODSB + 775 0777 2C 30 SUB AL,'0' + 776 0779 B4 0A MOV AH,10 + 777 077B F6 E4 MUL AH + 778 077D 02 04 ADD AL,B [SI] + 779 077F 46 INC SI + 780 0780 2C 30 SUB AL,'0' + 781 0782 C3 RET + 782 + 783 ; ----------------------------------------------------------------------------- + 784 + 785 0783 LZW_FILE: + 786 ; ENTER WITH SI --> FILENAME + 787 0783 56 PUSH SI + 788 + 789 0784 BF 10BAr MOV DI,OFFSET IFILE + 790 0787 AC @@L3: LODSB + 791 0788 AA STOSB + 792 0789 0A C0 OR AL,AL + 793 078B 75 FA JNZ @@L3 + 794 + 795 078D BE 10BAr MOV SI,OFFSET IFILE + 796 0790 BF 10FBr MOV DI,OFFSET OFILE0 + 797 0793 B9 FFFF MOV CX,-1 + 798 0796 AC @@L5: LODSB + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 15 +crc.ASM + + + + 799 0797 AA STOSB + 800 0798 41 INC CX + 801 0799 0A C0 OR AL,AL + 802 079B 75 F9 JNZ @@L5 + 803 079D 8B F7 MOV SI,DI + 804 079F 4E DEC SI + 805 07A0 4E DEC SI + 806 07A1 FD STD + 807 07A2 BA 0001 MOV DX,1 + 808 07A5 AC @@C0: LODSB + 809 07A6 42 INC DX + 810 07A7 E2 02 LOOP @@C2 + 811 JMPS @@C1 +1 812 07A9 EB 05 JMP SHORT @@C1 + 813 07AB 3C 5C @@C2: CMP AL,'\' + 814 07AD 75 F6 JNZ @@C0 + 815 07AF 4A DEC DX + 816 07B0 8B F7 @@C1: MOV SI,DI + 817 07B2 83 C7 03 ADD DI,3 + 818 07B5 4E DEC SI + 819 07B6 8B CA MOV CX,DX + 820 07B8 F3> A4 REP MOVSB + 821 07BA 46 INC SI + 822 07BB 8B FE MOV DI,SI + 823 07BD BE 0FA4r MOV SI,OFFSET LZWMESS + 824 07C0 FC CLD + 825 07C1 A5 MOVSW + 826 07C2 A5 MOVSW + 827 07C3 8B CF MOV CX,DI + 828 07C5 BE 10FBr MOV SI,OFFSET OFILE0 + 829 07C8 2B CE SUB CX,SI + 830 07CA BF 113Cr MOV DI,OFFSET OFILE1 + 831 07CD F3> A4 REP MOVSB + 832 07CF BE 117Dr MOV SI,OFFSET TEMPNAM + 833 07D2 B9 0004 MOV CX,4 + 834 07D5 F3> A5 REP MOVSW + 835 + 836 07D7 58 POP AX + 837 07D8 3D 0F63r CMP AX,OFFSET CHECKSUM + 838 07DB 75 07 JNZ @@J2 + 839 07DD 80 3E 0F6Cr 00 CMP B CHECKSUM_DIRTY,0 + 840 07E2 75 22 JNZ @@J0 + 841 07E4 FF 36 0FF4r @@J2: PUSH W DTA+16H + 842 07E8 FF 36 0FF6r PUSH W DTA+18H + 843 07EC B4 4E MOV AH,4EH ; FIND FIRST + 844 07EE 33 C9 XOR CX,CX + 845 07F0 BA 10FBr MOV DX,OFFSET OFILE0 + 846 07F3 CD 21 INT 21H + 847 07F5 5A POP DX + 848 07F6 59 POP CX + 849 07F7 72 0D JC @@J0 + 850 07F9 3B 16 0FF6r CMP DX,W DTA+18H + 851 07FD 75 04 JNZ @@J1 + 852 07FF 3B 0E 0FF4r CMP CX,W DTA+16H + 853 0803 77 01 @@J1: JA @@J0 + 854 0805 C3 RET + 855 0806 @@J0: + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 16 +crc.ASM + + + + 856 + 857 0806 B0 0C MOV AL,12 + 858 0808 A2 1586r MOV B MAXB,AL + 859 + 860 080B E8 0078 WL0: CALL COMPRESS + 861 + 862 + 863 080E B4 41 MOV AH,41H ; DELETE FILE + 864 0810 BA 10FBr MOV DX,OFFSET OFILE0 + 865 0813 CD 21 INT 21H + 866 0815 B4 56 MOV AH,56H ; RENAME FILE + 867 0817 BA 113Cr MOV DX,OFFSET OFILE1 + 868 081A BF 10FBr MOV DI,OFFSET OFILE0 + 869 081D CD 21 INT 21H + 870 + 871 + 872 081F B4 41 WL1: MOV AH,41H ; DELETE FILE + 873 0821 BA 113Cr MOV DX,OFFSET OFILE1 + 874 0824 CD 21 INT 21H + 875 + 876 + 877 + 878 0826 C3 RET + 879 + 880 ; ----------------------------------------------------------------------------- + 881 + 882 0827 MAKE_DIR_ID: + 883 + 884 0827 BE 25DEr MOV SI,OFFSET CHECKSUM_BUFFER+4 + 885 082A BF 087Ar MOV DI,OFFSET DIR_ID_DATE + 886 082D B9 0003 MOV CX,6/2 + 887 0830 F3> A5 REP MOVSW + 888 + 889 0832 B4 3C MOV AH,3CH ; CREATE + 890 0834 33 C9 XOR CX,CX + 891 0836 BA 0869r MOV DX,OFFSET DIR_ID + 892 0839 CD 21 INT 21H + 893 083B 73 03 JNC @@L0 + 894 083D E9 046A JMP OPEN_ERROR + 895 0840 A3 100Dr @@L0: MOV W OHANDLE,AX + 896 0843 89 16 100Fr MOV W OHANDLE+2,DX + 897 + 898 0847 93 XCHG BX,AX + 899 0848 B4 40 MOV AH,40H ; WRITE + 900 084A B9 0016 MOV CX,DIR_ID_LEN + 901 084D BA 0870r MOV DX,OFFSET DIR_ID_BUF + 902 0850 CD 21 INT 21H + 903 0852 73 03 JNC @@L1 + 904 0854 E9 0470 @@L2: JMP WRITE_ERROR + 905 0857 3B C1 @@L1: CMP AX,CX + 906 0859 75 F9 JNZ @@L2 + 907 + 908 085B E8 FE5F CALL SET_NEWEST_DATE + 909 + 910 085E 33 DB XOR BX,BX + 911 0860 87 1E 100Dr XCHG BX,W OHANDLE + 912 0864 B4 3E MOV AH,3EH + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 17 +crc.ASM + + + + 913 0866 CD 21 INT 21H + 914 + 915 0868 C3 @@RET: RET + 916 + 917 0869 44 49 52 2E 49 44 00 DIR_ID DB 'DIR.ID',0 + 918 0870 52 45 4E 20 78 78 78+ DIR_ID_BUF DB 'REN xxxDL ' + 919 44 4C 20 + 920 087A 39 34 30 33 31 30 2E+ DIR_ID_DATE DB '940310.xxx',0DH,0AH + 921 78 78 78 0D 0A + 922 = 0016 DIR_ID_LEN EQU $-DIR_ID_BUF + 923 + 924 ; ----------------------------------------------------------------------------- + 925 + 926 ;/* MODIFIED This is the new compression routine. The first two 9-bit codes + 927 ; * have been reserved for communication between the compressor and expander. + 928 ; */ + 929 ;compress(FILE *input, FILE *output) + 930 0886 COMPRESS: + 931 0886 B8 3D00 MOV AX,3D00H ; OPEN FOR READ + 932 0889 BA 10BAr MOV DX,OFFSET IFILE + 933 088C CD 21 INT 21H + 934 088E 73 03 JNC @@L4 + 935 0890 E9 0417 JMP OPEN_ERROR + 936 0893 A3 1009r @@L4: MOV W IHANDLE,AX + 937 0896 89 16 100Br MOV W IHANDLE+2,DX + 938 089A 8B D8 MOV BX,AX + 939 089C B8 4202 MOV AX,4202H ; PTR / FILE END + 940 089F 33 C9 XOR CX,CX + 941 08A1 33 D2 XOR DX,DX + 942 08A3 CD 21 INT 21H + 943 08A5 A3 15B6r MOV W INLEN,AX + 944 08A8 89 16 15B8r MOV W INLEN+2,DX + 945 08AC 33 C0 XOR AX,AX + 946 08AE A3 159Br MOV W IPTR,AX + 947 08B1 A3 159Dr MOV W IPTR+2,AX + 948 08B4 A2 15A7r MOV B EOF,AL + 949 08B7 E8 02BC CALL INBLOCK + 950 + 951 08BA B4 3C MOV AH,3CH ; CREATE + 952 08BC 33 C9 XOR CX,CX + 953 08BE BA 113Cr MOV DX,OFFSET OFILE1 + 954 08C1 CD 21 INT 21H + 955 08C3 73 03 JNC @@L5 + 956 08C5 E9 03E2 JMP OPEN_ERROR + 957 08C8 A3 100Dr @@L5: MOV W OHANDLE,AX + 958 08CB 89 16 100Fr MOV W OHANDLE+2,DX + 959 08CF 33 C0 XOR AX,AX + 960 08D1 A3 159Fr MOV W OPTR,AX + 961 08D4 A3 15A1r MOV W OPTR+2,AX + 962 08D7 A3 15A5r MOV W OUTBYTES,AX + 963 08DA BF 45DAr MOV DI,OFFSET WRITEBUF + 964 + 965 08DD 33 C0 XOR AX,AX + 966 08DF A3 158Dr MOV W INDAT,AX + 967 08E2 C7 06 158Fr 0800 MOV W OUTDAT,800H + 968 08E8 A3 15A8r MOV W IBYTES,AX + 969 08EB A2 15AAr MOV B IBYTES+2,AL + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 18 +crc.ASM + + + + 970 08EE A3 15ABr MOV W OBYTES,AX + 971 08F1 A2 15ADr MOV B OBYTES+2,AL + 972 08F4 A3 15AEr MOV W TIBYTES,AX + 973 08F7 A2 15B0r MOV B TIBYTES+2,AL + 974 08FA A3 15B1r MOV W TOBYTES,AX + 975 08FD A2 15B3r MOV B TOBYTES+2,AL + 976 0900 C6 06 15B4r 65 MOV B CHKPNT,CHKCNT+1 + 977 0905 C6 06 15B5r 64 MOV B RATIO,100 + 978 + 979 090A A0 1586r MOV AL,B MAXB + 980 090D 2C 08 SUB AL,8 + 981 090F A2 1588r MOV B HSHIFT,AL + 982 ;{ + 983 ; unsigned int next_code=FIRST_CODE; + 984 0912 C7 06 1591r 0102 MOV W NXTCOD,CODE1 + 985 ; unsigned int character; + 986 ; unsigned int string_code; + 987 ; unsigned int index; + 988 ; int i, /* All purpose integer */ + 989 ; ratio_new, /* New compression ratio as a percentage */ + 990 ; ratio_old=100; /* Original ratio at 100% */ + 991 ; + 992 ; putc(maxbits, output); + 993 ; num_bits=INIT_BITS; + 994 ; max_code = MAXVAL(num_bits); /* Initialize max_value & max_code */ + 995 0918 B1 09 MOV CL,INITB + 996 091A E8 020D CALL MAXVAL + 997 ; + 998 ; for (i=0;i max_code) { /* Is table full? */ + 1123 09E7 A1 1591r MOV AX,W NXTCOD + 1124 09EA 3B 06 158Br CMP AX,W MAXCOD + 1125 ; JBE @@L6 + 1126 09EE 77 03 JA @@L60 + 1127 09F0 E9 FF75 JMP CPL0 + 1128 09F3 @@L60: + 1129 ; if (num_bits < maxbits) { /* Any more bits? */ + 1130 09F3 8A 0E 1589r MOV CL,B NBITS + 1131 09F7 3A 0E 1586r CMP CL,B MAXB + 1132 09FB 73 07 JAE @@L8 + 1133 ;/* putchar('+'); */ + 1134 ; max_code = MAXVAL(++num_bits); /* Increment code size then */ + 1135 09FD FE C1 INC CL + 1136 09FF E8 0128 CALL MAXVAL + 1137 ; JMPS @@L6 + 1138 0A02 EB 56 JMP @@L6 + 1139 ; } + 1140 0A04 @@L8: + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 21 +crc.ASM + + + + 1141 ; else if (bytes_in > checkpoint) { /* At checkpoint? */ + 1142 0A04 80 3E 15B4r 00 CMP B CHKPNT,0 + 1143 0A09 75 4F JNZ @@L6 + 1144 ; if (num_bits == maxbits && next_code > max_code) { + 1145 0A0B A0 1589r MOV AL,B NBITS + 1146 0A0E 3A 06 1586r CMP AL,B MAXB + 1147 0A12 75 41 JNZ @@L9 + 1148 0A14 A1 1591r MOV AX,W NXTCOD + 1149 0A17 3B 06 158Br CMP AX,W MAXCOD + 1150 0A1B 76 38 JBE @@L9 + 1151 + 1152 ; ratio_new = bytes_out*100/bytes_in; /* New compression ratio */ + 1153 0A1D BB 15A8r MOV BX,OFFSET IBYTES + 1154 0A20 E8 00C8 CALL GETRAT + 1155 ;CALL SHOW_RATIO + 1156 ; if (ratio_new > ratio_old) { /* Has ratio degraded? */ + 1157 0A23 3A 06 15B5r CMP AL,B RATIO + 1158 0A27 76 29 JBE @@L11 + 1159 ; output_code(output,CLEAR_TABLE); /* YES, flush string table */ + 1160 0A29 B8 0100 MOV AX,CLRTAB + 1161 0A2C E8 008B CALL OUTPUT_CODE + 1162 ;/* putchar('C'); */ + 1163 ; next_code=FIRST_CODE; /* Reset to FIRST_CODE */ + 1164 0A2F C7 06 1591r 0102 MOV W NXTCOD,CODE1 + 1165 ; num_bits=INIT_BITS; + 1166 ; max_code = MAXVAL(num_bits); /* Re-initialize this */ + 1167 0A35 B1 09 MOV CL,INITB + 1168 0A37 E8 00F0 CALL MAXVAL + 1169 ; bytes_in = bytes_out = 0; + 1170 0A3A 33 C0 XOR AX,AX + 1171 0A3C A3 15A8r MOV W IBYTES,AX + 1172 0A3F A2 15AAr MOV B IBYTES+2,AL + 1173 0A42 A3 15ABr MOV W OBYTES,AX + 1174 0A45 A2 15ADr MOV B OBYTES+2,AL + 1175 ; ratio_old=100; /* Reset compression ratio */ + 1176 0A48 C6 06 15B5r 64 MOV B RATIO,100 + 1177 ; for (i=0;i,<1> + 1282 MOV CX,CNT + 1283 ENDIF + 1284 @@L0: ADD BX,BX + 1285 ADC AL,AL + 1286 IFDIF ,<1> + 1287 LOOP @@L0 + 1288 ENDIF + 1289 ENDM + 1290 + 1291 0AEB 8A 67 02 GETRAT: MOV AH,[BX+2] + 1292 0AEE 50 PUSH AX + 1293 0AEF 8B 17 MOV DX,[BX] + 1294 0AF1 8A 47 05 MOV AL,[BX+5] + 1295 0AF4 8B 5F 03 MOV BX,[BX+3] + 1296 ; xOBYTES IN AL:BX + 1297 GRSHL 2 +1 1298 0AF7 B9 0002 MOV CX,2 +1 1299 0AFA 03 DB @@0000: ADD BX,BX +1 1300 0AFC 12 C0 ADC AL,AL +1 1301 0AFE E2 FA LOOP @@0000 + 1302 0B00 50 PUSH AX ; * 4 + 1303 0B01 53 PUSH BX + 1304 GRSHL 3 +1 1305 0B02 B9 0003 MOV CX,3 +1 1306 0B05 03 DB @@0001: ADD BX,BX +1 1307 0B07 12 C0 ADC AL,AL +1 1308 0B09 E2 FA LOOP @@0001 + 1309 0B0B 50 PUSH AX ; *32 + 1310 0B0C 53 PUSH BX + 1311 GRSHL 1 ; *64 + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 24 +crc.ASM + + + +1 1312 0B0D 03 DB @@0002: ADD BX,BX +1 1313 0B0F 12 C0 ADC AL,AL + 1314 0B11 59 POP CX + 1315 0B12 03 D9 ADD BX,CX + 1316 0B14 59 POP CX + 1317 0B15 12 C1 ADC AL,CL + 1318 0B17 59 POP CX + 1319 0B18 03 D9 ADD BX,CX + 1320 0B1A 59 POP CX + 1321 0B1B 12 C1 ADC AL,CL + 1322 ; xOBYTES*100 + 1323 0B1D 59 POP CX + 1324 ; xIBYTES IN CH:DX + 1325 + 1326 + 1327 0B1E B1 FF MOV CL,-1 + 1328 0B20 FE C1 @@L0: INC CL + 1329 0B22 2B DA SUB BX,DX + 1330 0B24 1A C5 SBB AL,CH + 1331 0B26 79 F8 JNS @@L0 + 1332 0B28 91 XCHG AX,CX + 1333 0B29 C3 RET + 1334 + 1335 ; ----------------------------------------------------------------------------- + 1336 + 1337 + 1338 ; ----------------------------------------------------------------------------- + 1339 + 1340 0B2A MAXVAL: ; ENTER WITH BITS IN CL + 1341 ; RETURN WITH MAXVAL IN BX AND MAXCOD + 1342 0B2A 88 0E 1589r MOV B (NBITS),CL ; ALWAYS 9-MAXB (MAX 14) + 1343 ;#define MAXVAL(n) (( 1 <<(n)) -1) /* max_value formula macro */ + 1344 0B2E BB 0100 MOV BX,100H ; 1 << 8 + 1345 0B31 80 E9 08 SUB CL,8 + 1346 0B34 D3 E3 SHL BX,CL + 1347 0B36 4B DEC BX + 1348 0B37 89 1E 158Br MOV W MAXCOD,BX + 1349 0B3B C3 RET + 1350 + 1351 ; ----------------------------------------------------------------------------- + 1352 + 1353 0B3C 80 3E 15B4r 00 INMON: CMP B CHKPNT,0 + 1354 0B41 74 04 JZ @@L0 + 1355 0B43 FE 0E 15B4r DEC B CHKPNT + 1356 0B47 83 06 15A8r 01 @@L0: ADD W IBYTES,1 + 1357 0B4C 80 16 15AAr 00 ADC B IBYTES+2,0 + 1358 0B51 83 06 15AEr 01 ADD W TIBYTES,1 + 1359 0B56 80 16 15B0r 00 ADC B TIBYTES+2,0 + 1360 0B5B C3 RET + 1361 + 1362 0B5C E8 0017 INBLK: CALL INBLOCK + 1363 0B5F 83 3E 15A3r 00 INPUT: CMP W INBYTES,0 + 1364 0B64 75 09 JNZ @@L0 + 1365 0B66 80 3E 15A7r 00 CMP B EOF,0 + 1366 0B6B 74 EF JZ INBLK + 1367 0B6D F9 STC + 1368 0B6E C3 RET + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 25 +crc.ASM + + + + 1369 0B6F F8 @@L0: CLC + 1370 0B70 FF 0E 15A3r DEC W INBYTES + 1371 0B74 AC LODSB + 1372 0B75 C3 RET + 1373 + 1374 0B76 INBLOCK: + 1375 0B76 53 PUSH BX + 1376 0B77 51 PUSH CX + 1377 0B78 52 PUSH DX + 1378 0B79 8B 16 159Br MOV DX,W IPTR + 1379 0B7D 8B 0E 159Dr MOV CX,W IPTR+2 + 1380 0B81 89 16 0BE1r MOV W LAST_IPTR_L,DX + 1381 0B85 89 0E 0BE4r MOV W LAST_IPTR_H,CX + 1382 0B89 8B 1E 1009r MOV BX,W IHANDLE + 1383 0B8D B8 4200 MOV AX,4200H + 1384 0B90 CD 21 INT 21H + 1385 0B92 B4 3F MOV AH,3FH ; READ + 1386 0B94 B9 1000 MOV CX,READBUF_SIZE + 1387 0B97 BA 35DAr MOV DX,OFFSET READBUF + 1388 0B9A CD 21 INT 21H + 1389 0B9C 73 03 JNC @@L0 + 1390 0B9E E9 011D JMP READ_ERROR + 1391 0BA1 3B C1 @@L0: CMP AX,CX + 1392 0BA3 74 05 JZ @@L1 + 1393 0BA5 C6 06 15A7r FF MOV B EOF,-1 + 1394 0BAA BE 35DAr @@L1: MOV SI,OFFSET READBUF + 1395 0BAD A3 15A3r MOV W INBYTES,AX + 1396 0BB0 01 06 159Br ADD W IPTR,AX + 1397 0BB4 83 16 159Dr 00 ADC W IPTR+2,0 + 1398 0BB9 5A POP DX + 1399 0BBA 59 POP CX + 1400 0BBB 5B POP BX + 1401 ; RETURN WITH BYTES READ IN AX + 1402 0BBC C3 RET + 1403 + 1404 0BBD AA OUTPUT: STOSB + 1405 0BBE 83 06 15ABr 01 ADD W OBYTES,1 + 1406 0BC3 80 16 15ADr 00 ADC B OBYTES+2,0 + 1407 0BC8 83 06 15B1r 01 ADD W TOBYTES,1 + 1408 0BCD 80 16 15B3r 00 ADC B TOBYTES+2,0 + 1409 0BD2 FF 06 15A5r INC W OUTBYTES + 1410 0BD6 81 3E 15A5r 1000 CMP W OUTBYTES,WRITEBUF_SIZE + 1411 0BDC 73 23 JNC OUTBLOCK + 1412 0BDE C3 RET + 1413 + 1414 0BDF OUTINBLOCK: + 1415 0BDF 51 PUSH CX + 1416 0BE0 BA 0000 MOV DX,0 + 1417 = CODE:0BE1 LAST_IPTR_L EQU THIS WORD-2 + 1418 0BE3 B9 0000 MOV CX,0 + 1419 = CODE:0BE4 LAST_IPTR_H EQU THIS WORD-2 + 1420 0BE6 8B 1E 1009r MOV BX,W IHANDLE + 1421 0BEA B8 4200 MOV AX,4200H + 1422 0BED CD 21 INT 21H + 1423 0BEF 59 POP CX + 1424 0BF0 B4 40 MOV AH,40H ; WRITE + 1425 0BF2 BA 35DAr MOV DX,OFFSET READBUF + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 26 +crc.ASM + + + + 1426 0BF5 CD 21 INT 21H + 1427 0BF7 73 03 JNC @@L0 + 1428 0BF9 E9 00CB @@L1: JMP WRITE_ERROR + 1429 0BFC 3B C1 @@L0: CMP AX,CX + 1430 0BFE 75 F9 JNZ @@L1 + 1431 ; RETURN BYTES WRITTEN IN AX + 1432 0C00 C3 RET + 1433 + 1434 0C01 OUTBLOCK: + 1435 0C01 53 PUSH BX + 1436 0C02 51 PUSH CX + 1437 0C03 52 PUSH DX + 1438 0C04 8B 16 159Fr MOV DX,W OPTR + 1439 0C08 8B 0E 15A1r MOV CX,W OPTR+2 + 1440 0C0C 8B 1E 100Dr MOV BX,W OHANDLE + 1441 0C10 B8 4200 MOV AX,4200H + 1442 0C13 CD 21 INT 21H + 1443 0C15 B4 40 MOV AH,40H ; WRITE + 1444 0C17 8B 0E 15A5r MOV CX,W OUTBYTES + 1445 0C1B BA 45DAr MOV DX,OFFSET WRITEBUF + 1446 0C1E CD 21 INT 21H + 1447 0C20 73 03 JNC @@L0 + 1448 0C22 E9 00A2 @@L1: JMP WRITE_ERROR + 1449 0C25 BF 45DAr @@L0: MOV DI,OFFSET WRITEBUF + 1450 0C28 C7 06 15A5r 0000 MOV W OUTBYTES,0 + 1451 0C2E 3B C1 CMP AX,CX + 1452 0C30 75 F0 JNZ @@L1 + 1453 0C32 01 06 159Fr ADD W OPTR,AX + 1454 0C36 83 16 15A1r 00 ADC W OPTR+2,0 + 1455 0C3B 5A POP DX + 1456 0C3C 59 POP CX + 1457 0C3D 5B POP BX + 1458 0C3E C3 RET + 1459 + 1460 0C3F 50 HEXW: PUSH AX + 1461 0C40 8A C4 MOV AL,AH + 1462 0C42 E8 0001 CALL HEXB + 1463 0C45 58 POP AX + 1464 0C46 50 HEXB: PUSH AX + 1465 0C47 D0 E8 SHR AL,1 + 1466 0C49 D0 E8 SHR AL,1 + 1467 0C4B D0 E8 SHR AL,1 + 1468 0C4D D0 E8 SHR AL,1 + 1469 0C4F E8 0001 CALL NYB + 1470 0C52 58 POP AX + 1471 0C53 24 0F NYB: AND AL,0FH + 1472 0C55 04 90 ADD AL,90H + 1473 0C57 27 DAA + 1474 0C58 14 40 ADC AL,40H + 1475 0C5A 27 DAA + 1476 0C5B AA STOSB + 1477 0C5C C3 RET + 1478 + 1479 0C5D CLOSE_FILES: + 1480 0C5D 8B 1E 1009r MOV BX,W IHANDLE + 1481 0C61 0B DB OR BX,BX + 1482 0C63 74 08 JZ @@L6 + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 27 +crc.ASM + + + + 1483 0C65 B4 3E MOV AH,3EH + 1484 0C67 CD 21 INT 21H + 1485 0C69 73 02 JNC @@L6 + 1486 0C6B EB 44 JMP CLOSE_ERROR + 1487 0C6D C7 06 1009r 0000 @@L6: MOV W IHANDLE,0 + 1488 0C73 83 3E 15A5r 00 CMP W OUTBYTES,0 + 1489 0C78 74 03 JZ @@L1 + 1490 0C7A E8 FF84 CALL OUTBLOCK + 1491 0C7D 8B 1E 100Dr @@L1: MOV BX,W OHANDLE + 1492 0C81 0B DB OR BX,BX + 1493 0C83 74 0E JZ @@L8 + 1494 0C85 B4 3E MOV AH,3EH + 1495 0C87 CD 21 INT 21H + 1496 0C89 73 02 JNC @@L7 + 1497 0C8B EB 24 JMP CLOSE_ERROR + 1498 0C8D C7 06 100Dr 0000 @@L7: MOV W OHANDLE,0 + 1499 0C93 C3 @@L8: RET + 1500 + 1501 0C94 46 SKIP: INC SI + 1502 0C95 SKIP_BLANK: + 1503 0C95 80 3C 20 CMP B [SI],' ' + 1504 0C98 74 FA JZ SKIP + 1505 0C9A 80 3C 09 CMP B [SI],9 + 1506 0C9D 74 F5 JZ SKIP + 1507 0C9F 80 3C 0D CMP B [SI],0DH + 1508 0CA2 C3 RET + 1509 + 1510 ; ----------------------------------------------------------------------------- + 1511 + 1512 0CA3 NOT_FOUND_ERROR: + 1513 0CA3 8B F2 MOV SI,DX + 1514 0CA5 BB 0E18r MOV BX,OFFSET FILENOTFOUND + 1515 JMPS FILE_ERROR +1 1516 0CA8 EB 37 JMP SHORT FILE_ERROR + 1517 0CAA OPEN_ERROR: + 1518 0CAA 8B F2 MOV SI,DX + 1519 0CAC BB 0E28r MOV BX,OFFSET BADOPEN + 1520 JMPS FILE_ERROR +1 1521 0CAF EB 30 JMP SHORT FILE_ERROR + 1522 0CB1 CLOSE_ERROR: + 1523 0CB1 8B F2 MOV SI,DX + 1524 0CB3 BB 0E3Ar MOV BX,OFFSET BADCLOSE + 1525 0CB6 C7 06 100Dr 0000 MOV W OHANDLE,0 + 1526 JMPS FILE_ERROR +1 1527 0CBC EB 23 JMP SHORT FILE_ERROR + 1528 0CBE READ_ERROR: + 1529 0CBE 8B 36 100Br MOV SI,W IHANDLE+2 + 1530 0CC2 BB 0E4Cr MOV BX,OFFSET BADREAD + 1531 JMPS FILE_ERROR +1 1532 0CC5 EB 1A JMP SHORT FILE_ERROR + 1533 0CC7 WRITE_ERROR: + 1534 0CC7 8B 36 100Fr MOV SI,W OHANDLE+2 + 1535 0CCB BB 0E5Er MOV BX,OFFSET BADWRITE + 1536 JMPS FILE_ERROR +1 1537 0CCE EB 11 JMP SHORT FILE_ERROR + 1538 0CD0 8C C8 INT23H: MOV AX,CS + 1539 0CD2 8E D0 MOV SS,AX + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 28 +crc.ASM + + + + 1540 0CD4 8E D8 MOV DS,AX + 1541 0CD6 8E C0 MOV ES,AX + 1542 0CD8 BC 1300r MOV SP,OFFSET STCK + 1543 0CDB FB STI + 1544 0CDC BB 0E05r MOV BX,OFFSET ABORTMESS + 1545 0CDF ERROR_EXIT: + 1546 0CDF 33 F6 XOR SI,SI + 1547 0CE1 FILE_ERROR: + 1548 0CE1 8A 07 MOV AL,B [BX] + 1549 0CE3 43 INC BX + 1550 0CE4 50 PUSH AX + 1551 0CE5 8B D3 MOV DX,BX + 1552 0CE7 E8 0063 CALL PRMESS + 1553 0CEA 0B F6 OR SI,SI + 1554 0CEC 74 08 JZ @@L1 + 1555 0CEE 56 PUSH SI + 1556 0CEF E8 0048 CALL PRINT_CURRENT_DIR + 1557 0CF2 5A POP DX + 1558 0CF3 E8 0057 CALL PRMESS + 1559 0CF6 E8 FF64 @@L1: CALL CLOSE_FILES + 1560 0CF9 80 3E 0F6Cr 00 CMP B CHECKSUM_DIRTY,0 + 1561 0CFE 74 07 JZ @@L0 + 1562 0D00 B4 41 MOV AH,41H ; DELETE FILE + 1563 0D02 BA 0F63r MOV DX,OFFSET CHECKSUM + 1564 0D05 CD 21 INT 21H + 1565 0D07 B4 41 @@L0: MOV AH,41H ; DELETE FILE + 1566 0D09 BA 113Cr MOV DX,OFFSET OFILE1 ; xxxxxx\LZW\CRC.$$$ + 1567 0D0C CD 21 INT 21H + 1568 0D0E 58 POP AX + 1569 0D0F C3 RET + 1570 + 1571 0D10 50 EXIT: PUSH AX + 1572 0D11 BA 1069r MOV DX,OFFSET CURRENT_DIR + 1573 0D14 B4 3B MOV AH,3BH ; SET CURRENT DIRECTORY + 1574 0D16 CD 21 INT 21H + 1575 0D18 B2 00 MOV DL,0 + 1576 = CODE:0D19 DEFAULT_DISC EQU THIS BYTE-1 + 1577 0D1A B4 0E MOV AH,0EH + 1578 0D1C CD 21 INT 21H + 1579 0D1E B2 00 MOV DL,0 + 1580 = CODE:0D1F ORIG_BREAK EQU THIS BYTE-1 + 1581 0D20 B8 3301 MOV AX,3301H + 1582 0D23 CD 21 INT 21H + 1583 0D25 BA 0DC9r MOV DX,OFFSET SIGNOFF + 1584 0D28 E8 0022 CALL PRMESS + 1585 0D2B 58 POP AX + 1586 0D2C B4 4C MOV AH,4CH + 1587 0D2E CD 21 INT 21H + 1588 + 1589 ; ----------------------------------------------------------------------------- + 1590 + 1591 0D30 GET_CURRENT_DIR: + 1592 0D30 B4 47 MOV AH,47H ; GET CURRENT DIRECTORY + 1593 0D32 32 D2 XOR DL,DL + 1594 0D34 BE 1028r MOV SI,OFFSET CURRENT_DISC+3 + 1595 0D37 CD 21 INT 21H + 1596 0D39 C3 RET + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 29 +crc.ASM + + + + 1597 + 1598 0D3A PRINT_CURRENT_DIR: + 1599 0D3A E8 FFF3 CALL GET_CURRENT_DIR + 1600 0D3D BA 1025r MOV DX,OFFSET CURRENT_DISC + 1601 0D40 E8 000A CALL PRMESS + 1602 0D43 B2 5C MOV DL,'\' + 1603 0D45 B4 02 MOV AH,2 + 1604 0D47 CD 21 INT 21H + 1605 0D49 C3 RET + 1606 + 1607 0D4A BA 0F96r CRLF: MOV DX,OFFSET CRLFMESS + 1608 + 1609 0D4D 56 PRMESS: PUSH SI + 1610 0D4E 8B F2 MOV SI,DX + 1611 0D50 AC @@B1: LODSB + 1612 0D51 0A C0 OR AL,AL + 1613 0D53 74 08 JZ @@B0 + 1614 0D55 8A D0 MOV DL,AL + 1615 0D57 B4 02 MOV AH,2 + 1616 0D59 CD 21 INT 21H + 1617 JMPS @@B1 +1 1618 0D5B EB F3 JMP SHORT @@B1 + 1619 0D5D 5E @@B0: POP SI + 1620 0D5E C3 RET + 1621 + 1622 0D5F 3C 61 UCASE: CMP AL,'a' + 1623 0D61 72 06 JC @@L0 + 1624 0D63 3C 7A CMP AL,'z' + 1625 0D65 77 02 JA @@L0 + 1626 0D67 24 DF AND AL,0DFH + 1627 0D69 C3 @@L0: RET + 1628 + 1629 0D6A ADDCRC: ; ENTER WITH + 1630 ; INITIAL CRC IN AX + 1631 ; CX = BYTE COUNT + 1632 ; DS:SI --> BUFFER + 1633 ; RETURN WITH + 1634 ; NEW CRC IN AX + 1635 + 1636 0D6A BB 1300r MOV BX,OFFSET CRCTBL + 1637 0D6D 32 04 CRCLP: XOR AL,B [SI] + 1638 0D6F 46 INC SI + 1639 0D70 8A D8 MOV BL,AL + 1640 0D72 8A C4 MOV AL,AH + 1641 0D74 32 07 XOR AL,B [BX] + 1642 0D76 8A A7 0100 MOV AH,B [BX+100H] + 1643 0D7A E2 F1 LOOP CRCLP + 1644 0D7C C3 RET + 1645 + 1646 0D7D BB 1300r MAKTBL: MOV BX,OFFSET CRCTBL + 1647 0D80 B1 06 MOV CL,6 + 1648 0D82 8A C3 @@L0: MOV AL,BL + 1649 0D84 8A D0 MOV DL,AL + 1650 0D86 02 C0 ADD AL,AL + 1651 0D88 9F LAHF + 1652 0D89 32 C2 XOR AL,DL + 1653 0D8B 8A D0 MOV DL,AL + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 30 +crc.ASM + + + + 1654 0D8D 32 C0 XOR AL,AL + 1655 0D8F 9E SAHF + 1656 0D90 7A 02 JPE @@L1 + 1657 0D92 B0 03 MOV AL,011B + 1658 0D94 73 02 @@L1: JNC @@L2 + 1659 0D96 34 02 XOR AL,010B + 1660 0D98 8A F0 @@L2: MOV DH,AL + 1661 0D9A D0 D8 RCR AL,1 + 1662 0D9C D3 E2 SHL DX,CL + 1663 0D9E 0A C2 OR AL,DL + 1664 0DA0 88 07 MOV [BX],AL + 1665 0DA2 88 B7 0100 MOV [BX+100H],DH + 1666 0DA6 FE C3 INC BL + 1667 0DA8 75 D8 JNZ @@L0 + 1668 0DAA C3 RET + 1669 + 1670 ; ----------------------------------------------------------------------------- + 1671 + 1672 0DAB CHECKSUM01: + 1673 0DAB BF 0F63r MOV DI,OFFSET CHECKSUM + 1674 0DAE COPY_NUL: + 1675 0DAE AC @@L0: LODSB + 1676 0DAF AA STOSB + 1677 0DB0 0A C0 OR AL,AL + 1678 0DB2 75 FA JNZ @@L0 + 1679 0DB4 C3 RET + 1680 + 1681 ; ----------------------------------------------------------------------------- + 1682 + 1683 + 1684 ; ----------------------------------------------------------------------------- + 1685 + 1686 0DB5 43 68 65 63 6B 69 6E+ SIGNON DB 'Checking POS files ',0 + 1687 67 20 50 4F 53 20 66+ + 1688 69 6C 65 73 20 00 + 1689 0DC9 0D 0A 00 SIGNOFF DB 0DH,0AH,0 + 1690 + 1691 0DCC 01 0D 0A 4E 6F 74 20+ NOMEM DB 1,0DH,0AH,'Not enough memory to run program',0 + 1692 65 6E 6F 75 67 68 20+ + 1693 6D 65 6D 6F 72 79 20+ + 1694 74 6F 20 72 75 6E 20+ + 1695 70 72 6F 67 72 61 6D+ + 1696 00 + 1697 0DF0 02 0D 0A 4E 6F 20 66+ NOFILE DB 2,0DH,0AH,'No file specified',0 + 1698 69 6C 65 20 73 70 65+ + 1699 63 69 66 69 65 64 00 + 1700 0E05 03 0D 0A 50 72 6F 67+ ABORTMESS DB 3,0DH,0AH,'Program aborted',0 + 1701 72 61 6D 20 61 62 6F+ + 1702 72 74 65 64 00 + 1703 0E18 04 0D 0A 43 61 6E 6E+ FILENOTFOUND DB 4,0DH,0AH,'Cannot find ',0 + 1704 6F 74 20 66 69 6E 64+ + 1705 20 00 + 1706 0E28 05 0D 0A 45 72 72 6F+ BADOPEN DB 5,0DH,0AH,'Error opening ',0 + 1707 72 20 6F 70 65 6E 69+ + 1708 6E 67 20 00 + 1709 0E3A 06 0D 0A 45 72 72 6F+ BADCLOSE DB 6,0DH,0AH,'Error closing ',0 + 1710 72 20 63 6C 6F 73 69+ + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 31 +crc.ASM + + + + 1711 6E 67 20 00 + 1712 0E4C 07 0D 0A 45 72 72 6F+ BADREAD DB 7,0DH,0AH,'Error reading ',0 + 1713 72 20 72 65 61 64 69+ + 1714 6E 67 20 00 + 1715 0E5E 08 0D 0A 45 72 72 6F+ BADWRITE DB 8,0DH,0AH,'Error writing ',0 + 1716 72 20 77 72 69 74 69+ + 1717 6E 67 20 00 + 1718 0E70 09 0D 0A 44 41 54 20+ BADCRCDAT DB 9,0DH,0AH,'DAT file too long',0 + 1719 66 69 6C 65 20 74 6F+ + 1720 6F 20 6C 6F 6E 67 00 + 1721 0E85 0A 0D 0A 4F 75 74 70+ BADCRC DB 0AH,0DH,0AH,'Output file too long',0 + 1722 75 74 20 66 69 6C 65+ + 1723 20 74 6F 6F 20 6C 6F+ + 1724 6E 67 00 + 1725 0E9D 0B 0D 0A 44 41 54 20+ BADDATFORMAT DB 0BH,0DH,0AH,'DAT file format bad',0 + 1726 66 69 6C 65 20 66 6F+ + 1727 72 6D 61 74 20 62 61+ + 1728 64 00 + 1729 0EB4 0C 0D 0A 43 61 6E 6E+ BADDIR DB 0CH,0DH,0AH,'Cannot find path ' ; | + 1730 6F 74 20 66 69 6E 64+ + 1731 20 70 61 74 68 20 + 1732 0EC8 20 3A 40*(00) BADDIRDISC DB ' :',64 DUP(0) ; | + 1733 0F0A 0D 0A 4F 75 74 70 75+ BADCRCFORMAT DB 0DH,0AH,'Output file format bad, re-creating it ',0 + 1734 74 20 66 69 6C 65 20+ + 1735 66 6F 72 6D 61 74 20+ + 1736 62 61 64 2C 20 72 65+ + 1737 2D 63 72 65 61 74 69+ + 1738 6E 67 20 69 74 20 00 + 1739 + 1740 0F34 38 30 30 31 30 31 30+ DEFAULT_DATE DB '800101000000' + 1741 30 30 30 30 30 + 1742 + 1743 0F40 43 48 45 43 4B 53 55+ CHECKSUM0 DB 'CHECKSUM',0 + 1744 4D 00 + 1745 0F49 43 52 43 00 CHECKSUM1 DB 'CRC',0 + 1746 0F4D 43 48 45 43 4B 53 55+ CHECKSUMDAT DB 'CHECKSUM.DAT',0 + 1747 4D 2E 44 41 54 00 + 1748 0F5A 43 52 43 2E 44 41 54+ CRCDAT DB 'CRC.DAT',0 + 1749 00 + 1750 0F62 00 CRC_INSTANCE DB 0 + 1751 + 1752 0F63 43 48 45 43 4B 53 55+ CHECKSUM DB 'CHECKSUM',0 + 1753 4D 00 + 1754 0F6C ?? CHECKSUM_DIRTY DB ? + 1755 0F6D ?? FILE_DIRTY DB ? + 1756 + 1757 0F6E 0D 0A 42 65 73 74 20+ BESTMESS DB 0DH,0AH,'Best - bits ',0 + 1758 2D 20 20 20 20 62 69+ + 1759 74 73 20 00 + 1760 0F80 0D 0A 78 78 78 78 20+ LEFTOMESS DB 0DH,0AH,'xxxx bytes left over' ; PRESERVE ORDER + 1761 62 79 74 65 73 20 6C+ + 1762 65 66 74 20 6F 76 65+ + 1763 72 + 1764 0F96 0D 0A 00 CRLFMESS DB 0DH,0AH,0 ; PRESERVE ORDER + 1765 0F99 0D 0A 20 20 20 62 69+ BITSMESS DB 0DH,0AH,' bits ',0 + 1766 74 73 20 00 + 1767 0FA4 4C 5A 57 5C LZWMESS DB 'LZW\' + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 32 +crc.ASM + + + + 1768 0FA8 LENMESS LABEL WORD + 1769 0FA8 10*(??) SCRATCH_BUF DB 16 DUP(?) ; PRESERVE ORDER + 1770 0FB8 26*(??) FILENAME_BUF DB 38 DUP(?) + 1771 0FDE 2B*(??) DTA DB 2BH DUP(?) + 1772 + 1773 1009 0000 IHANDLE DW 0 + 1774 100B ???? DW ? ; --> NAME OF FILE + 1775 100D 0000 OHANDLE DW 0 + 1776 100F ???? DW ? ; --> NAME OF FILE + 1777 + 1778 1011 43 52 43 00 CRC_ DB 'CRC',0 + 1779 1015 4C 5A 57 00 LZW_ DB 'LZW',0 + 1780 1019 4F 46 46 49 43 45 2E+ OFFICE_DAT DB 'OFFICE.DAT',0 + 1781 44 41 54 00 + 1782 1024 00 LZW_FLAG DB 0 + 1783 1025 43 3A 5C 41*(??) CURRENT_DISC DB 'C:\',65 DUP(?) ; C: OVERWRITTEN AT STARTUP + 1784 1069 5C 41*(??) CURRENT_DIR DB '\',65 DUP(?) + 1785 10AB 0D 0A 43 6F 6D 70 72+ COMPRESSMESS DB 0DH,0AH,'Compressing ',0 + 1786 65 73 73 69 6E 67 20+ + 1787 00 + 1788 10BA 41*(??) IFILE DB 65 DUP(?) + 1789 10FB 41*(??) OFILE0 DB 65 DUP(?) + 1790 113C 00 40*(??) OFILE1 DB 0,64 DUP(?) + 1791 117D 43 52 43 2E 24 24 24+ TEMPNAM DB 'CRC.$$$',0 ; PRESERVE LENGTH + 1792 00 + 1793 1185 0000 CURRENT_FILENAME_PTR DW 0 + 1794 + 1795 1187 0100*(??) DB STACK_SIZE DUP(?) + 1796 1287 79*(??) DB 100H-(($-START) AND 0FFH) DUP(?) + 1797 1300 STCK LABEL WORD + 1798 + 1799 1300 0200*(??) CRCTBL DB CRCTBL_SIZE DUP(?) ; must be on 100h boundary!! + 1800 + 1801 1500 82*(??) dir_buf DB 130 DUP(?) + 1802 + 1803 1582 ???? CRCDAT_PTR DW ? + 1804 1584 ???? CHECKSUM_EOF DW ? + 1805 + 1806 1586 ?? MAXB DB ? + 1807 1587 ?? BEST_MAXB DB ? + 1808 1588 ?? HSHIFT DB ? + 1809 1589 ???? NBITS DW ? + 1810 158B ???? MAXCOD DW ? + 1811 158D ???? INDAT DW ? + 1812 158F ???? OUTDAT DW ? + 1813 1591 ???? NXTCOD DW ? + 1814 1593 ???? NEWCOD DW ? + 1815 1595 ???? OLDCOD DW ? + 1816 1597 ?? CHAR DB ? + 1817 1598 ?? CLRFLG DB ? + 1818 1599 ???? STRCOD DW ? + 1819 + 1820 159B ???????? IPTR DD ? + 1821 159F ???????? OPTR DD ? + 1822 15A3 ???? INBYTES DW ? + 1823 15A5 0000 OUTBYTES DW 0 + 1824 + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 33 +crc.ASM + + + + 1825 15A7 ?? EOF DB ? + 1826 + 1827 15A8 ?? ?? ?? IBYTES DB ?,?,? ; | RETAIN ORDERING + 1828 15AB ?? ?? ?? OBYTES DB ?,?,? ; | + 1829 + 1830 15AE ?? ?? ?? TIBYTES DB ?,?,? ; | RETAIN ORDERING + 1831 15B1 ?? ?? ?? TOBYTES DB ?,?,? ; | + 1832 + 1833 15B4 ?? CHKPNT DB ? + 1834 15B5 ?? RATIO DB ? + 1835 15B6 ???????? INLEN DD ? + 1836 + 1837 15BA 20*(??) CURRENT_DIR_ID DB 32 DUP (?) + 1838 + 1839 15DA 1000*(??) CRCDAT_BUFFER DB CRCDAT_SIZE DUP(?) + 1840 25DA 1000*(??) CHECKSUM_BUFFER DB CHECKSUM_SIZE DUP(?) + 1841 35DA 1000*(??) READBUF DB READBUF_SIZE DUP(?) + 1842 45DA 1000*(??) WRITEBUF DB WRITEBUF_SIZE DUP(?) + 1843 55DA 139D*(??) APPEND DB APPEND_SIZE DUP(?) ; BYTE + 1844 6977 273A*(??) PREFIX DB PREFIX_SIZE DUP(?) ; WORD + 1845 90B1 DECODS LABEL WORD + 1846 90B1 273A*(??) CODEVAL DB CODEVAL_SIZE DUP(?) ; WORD + 1847 + 1848 B7EB TOP LABEL WORD + 1849 + 1850 B7EB CODE ENDS + 1851 END START + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 34 +Symbol Table + + + + +Symbol Name Type Value + +??DATE Text "18/11/03" +??FILENAME Text "crc " +??TIME Text "00:37:55" +??VERSION Number 0201 +@@0000 Near CODE:0AFA +@@0001 Near CODE:0B05 +@@0002 Near CODE:0B0D +@@B0 Near CODE:0955 +@@B0 Near CODE:0D5D +@@B1 Near CODE:0D50 +@@C0 Near CODE:07A5 +@@C1 Near CODE:07B0 +@@C2 Near CODE:07AB +@@COPY Near CODE:018E +@@D0 Near CODE:0231 +@@D1 Near CODE:022B +@@D2 Near CODE:0247 +@@DONE Near CODE:019C +@@E0 Near CODE:0297 +@@E1 Near CODE:0291 +@@E2 Near CODE:02AD +@@E4 Near CODE:027B +@@E5 Near CODE:02B2 +@@E7 Near CODE:0266 +@@F0 Near CODE:01C8 +@@F1 Near CODE:0160 +@@F2 Near CODE:01BC +@@G0 Near CODE:015C +@@I0 Near CODE:020E +@@INSTANCE Near CODE:01FE +@@J0 Near CODE:0806 +@@J1 Near CODE:0803 +@@J2 Near CODE:07E4 +@@L0 Near CODE:0385 +@@L0 Near CODE:03DE +@@L0 Near CODE:04AE +@@L0 Near CODE:0465 +@@L0 Near CODE:06B2 +@@L0 Near CODE:0840 +@@L0 Near CODE:04CC +@@L0 Near CODE:0504 +@@L0 Near CODE:0BA1 +@@L0 Near CODE:0BFC +@@L0 Near CODE:0688 +@@L0 Near CODE:0719 +@@L0 Near CODE:0733 +@@L0 Near CODE:0AE2 +@@L0 Near CODE:0B6F +@@L0 Near CODE:0B47 +@@L0 Near CODE:0970 +@@L0 Near CODE:0B20 +@@L0 Near CODE:0A7C +@@L0 Near CODE:0AD6 +@@L0 Near CODE:0C25 + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 35 +Symbol Table + + + +@@L0 Near CODE:0D07 +@@L0 Near CODE:0DAE +@@L0 Near CODE:0138 +@@L0 Near CODE:0D82 +@@L0 Near CODE:02D5 +@@L0 Near CODE:0D69 +@@L0 Near CODE:0405 +@@L0 Near CODE:0323 +@@L1 Near CODE:0375 +@@L1 Near CODE:03C1 +@@L1 Near CODE:0493 +@@L1 Near CODE:0462 +@@L1 Near CODE:0857 +@@L1 Near CODE:053D +@@L1 Near CODE:0BAA +@@L1 Near CODE:0BF9 +@@L1 Near CODE:0717 +@@L1 Near CODE:098B +@@L1 Near CODE:0AC9 +@@L1 Near CODE:0C22 +@@L1 Near CODE:0CF6 +@@L1 Near CODE:0D94 +@@L1 Near CODE:0C7D +@@L1 Near CODE:05CE +@@L1 Near CODE:02E5 +@@L1 Near CODE:032C +@@L1 Near CODE:0604 +@@L11 Near CODE:0A52 +@@L2 Near CODE:0397 +@@L2 Near CODE:049E +@@L2 Near CODE:0479 +@@L2 Near CODE:0854 +@@L2 Near CODE:052B +@@L2 Near CODE:072A +@@L2 Near CODE:0D98 +@@L2 Near CODE:05C5 +@@L2 Near CODE:0319 +@@L2 Near CODE:0614 +@@L3 Near CODE:0787 +@@L3 Near CODE:0560 +@@L3 Near CODE:09B0 +@@L3 Near CODE:0635 +@@L4 Near CODE:03A3 +@@L4 Near CODE:04E9 +@@L4 Near CODE:0893 +@@L4 Near CODE:09A6 +@@L4 Near CODE:0215 +@@L4 Near CODE:0325 +@@L4 Near CODE:064A +@@L5 Near CODE:0448 +@@L5 Near CODE:0796 +@@L5 Near CODE:0598 +@@L5 Near CODE:08C8 +@@L5 Near CODE:09C2 +@@L5 Near CODE:0622 +@@L6 Near CODE:0A5A +@@L6 Near CODE:0C6D + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 36 +Symbol Table + + + +@@L60 Near CODE:09F3 +@@L7 Near CODE:09E0 +@@L7 Near CODE:0C8D +@@L8 Near CODE:0595 +@@L8 Near CODE:0A04 +@@L8 Near CODE:0C93 +@@L9 Near CODE:0A55 +@@L9112 Near CODE:0612 +@@L9113 Near CODE:0631 +@@L9114 Near CODE:0664 +@@L99 Near CODE:02E2 +@@LOOP Near CODE:0181 +@@NULL Near CODE:019C +@@NY2K Near CODE:0748 +@@NY2K Near CODE:06D7 +@@RET Near CODE:05E7 +@@RET Near CODE:0669 +@@RET Near CODE:048B +@@RET Near CODE:0868 +@@RET Near CODE:05C2 +@@SKIP Near CODE:01E5 +@CPU Text 0101H +@CURSEG Text CODE +@FILENAME Text CRC +@WORDSIZE Text 2 +ABORTMESS Byte CODE:0E05 +ADDCRC Near CODE:0D6A +APPEND Byte CODE:55DA +APPEND_SIZE Alias TSIZE +B Text BYTE PTR +BADCLOSE Byte CODE:0E3A +BADCRC Byte CODE:0E85 +BADCRCD Near CODE:02FC +BADCRCDAT Byte CODE:0E70 +BADCRCFORMAT Byte CODE:0F0A +BADDATFORMAT Byte CODE:0E9D +BADDIR Byte CODE:0EB4 +BADDIRDISC Byte CODE:0EC8 +BADOPEN Byte CODE:0E28 +BADREAD Byte CODE:0E4C +BADWRITE Byte CODE:0E5E +BESTMESS Byte CODE:0F6E +BEST_MAXB Byte CODE:1587 +BITSMESS Byte CODE:0F99 +CDS_FILE Near CODE:0363 +CHAR Byte CODE:1597 +CHECKSUM Byte CODE:0F63 +CHECKSUM0 Byte CODE:0F40 +CHECKSUM01 Near CODE:0DAB +CHECKSUM1 Byte CODE:0F49 +CHECKSUMDAT Byte CODE:0F4D +CHECKSUM_BUFFER Byte CODE:25DA +CHECKSUM_DIRTY Byte CODE:0F6C +CHECKSUM_EOF Word CODE:1584 +CHECKSUM_PTR Number CODE:03EC +CHECKSUM_SIZE Number 1000 +CHECK_DIR Near CODE:01AA + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 37 +Symbol Table + + + +CHKCNT Number 0064 +CHKPNT Byte CODE:15B4 +CLEAR_CODEVAL Near CODE:0ADC +CLOSE_ERROR Near CODE:0CB1 +CLOSE_FILES Near CODE:0C5D +CLRFLG Byte CODE:1598 +CLRTAB Number 0100 +CODE1 Number 0102 +CODEVAL Byte CODE:90B1 +CODEVAL_SIZE Number 273A +COMPRESS Near CODE:0886 +COMPRESSMESS Byte CODE:10AB +COPY_NUL Near CODE:0DAE +CPL0 Near CODE:0968 +CPL1 Near CODE:0A5D +CRCDAT Byte CODE:0F5A +CRCDAT_BUFFER Byte CODE:15DA +CRCDAT_PTR Word CODE:1582 +CRCDAT_SIZE Number 1000 +CRCLP Near CODE:0D6D +CRCTBL Byte CODE:1300 +CRCTBL_SIZE Number 0200 +CRCVER Text '1.06' +CRC_ Byte CODE:1011 +CRC_INSTANCE Byte CODE:0F62 +CRC_SO_FAR Number CODE:052C +CRLF Near CODE:0D4A +CRLFMESS Byte CODE:0F96 +CURRENT_DIR Byte CODE:1069 +CURRENT_DIR_ID Byte CODE:15BA +CURRENT_DISC Byte CODE:1025 +CURRENT_FILENAME_PTR Word CODE:1185 +D Text DWORD PTR +DECB Near CODE:070A +DECBAL Near CODE:0706 +DECODS Word CODE:90B1 +DECODS_SIZE Number 0FA0 +DEFAULT_DATE Byte CODE:0F34 +DEFAULT_DISC Number CODE:0D19 +DIR_BUF Byte CODE:1500 +DIR_ID Byte CODE:0869 +DIR_ID_BUF Byte CODE:0870 +DIR_ID_DATE Byte CODE:087A +DIR_ID_LEN Number 0016 +DTA Byte CODE:0FDE +EOF Byte CODE:15A7 +ERROR_EXIT Near CODE:0CDF +EXIT Near CODE:0D10 +EXPAND_DATE Near CODE:06C4 +E_FILE Near CODE:0345 +FILENAME_BUF Byte CODE:0FB8 +FILENOTFOUND Byte CODE:0E18 +FILE_DIRTY Byte CODE:0F6D +FILE_ERROR Near CODE:0CE1 +FIX_EOF Near CODE:05C3 +FOUND_COUNT Number CODE:03B4 +GETRAT Near CODE:0AEB + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 38 +Symbol Table + + + +GET_BLANK_FILENAME Near CODE:0310 +GET_CURRENT_DIR Near CODE:0D30 +GET_FILENAME Near CODE:0302 +HEXB Near CODE:0C46 +HEXW Near CODE:0C3F +HSHIFT Byte CODE:1588 +IBYTES Byte CODE:15A8 +IFILE Byte CODE:10BA +IHANDLE Word CODE:1009 +INBLK Near CODE:0B5C +INBLOCK Near CODE:0B76 +INBYTES Word CODE:15A3 +INDAT Word CODE:158D +INITB Number 0009 +INLEN Dword CODE:15B6 +INMON Near CODE:0B3C +INPUT Near CODE:0B5F +INT23H Near CODE:0CD0 +IPTR Dword CODE:159B +L10 Near CODE:0409 +L8 Near CODE:02C1 +L9 Near CODE:02CC +L911 Near CODE:05F2 +L94 Near CODE:036E +L940 Near CODE:03AC +L951 Near CODE:048C +L95111 Near CODE:05B5 +L9512 Near CODE:04BA +L9512_0 Near CODE:04D1 +L97 Near CODE:03B3 +L98 Near CODE:03E1 +L99 Near CODE:03EB +L9MES Near CODE:0695 +L9MESS Near CODE:066A +L9TST Near CODE:05E8 +LAST_IPTR_H Number CODE:0BE4 +LAST_IPTR_L Number CODE:0BE1 +LEFTOMESS Byte CODE:0F80 +LENMESS Word CODE:0FA8 +LZWMESS Byte CODE:0FA4 +LZW_ Byte CODE:1015 +LZW_FILE Near CODE:0783 +LZW_FLAG Byte CODE:1024 +MAKE_DIR_ID Near CODE:0827 +MAKTBL Near CODE:0D7D +MAXB Byte CODE:1586 +MAXCOD Word CODE:158B +MAXVAL Near CODE:0B2A +MEMOK Near CODE:0146 +NBITS Word CODE:1589 +NEWCOD Word CODE:1593 +NEXT_CRCDAT_PTR Number CODE:03E2 +NOFILE Byte CODE:0DF0 +NOMEM Byte CODE:0DCC +NOT_FOUND_ERROR Near CODE:0CA3 +NXTCOD Word CODE:1591 +NYB Near CODE:0C53 + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 39 +Symbol Table + + + +OBYTES Byte CODE:15AB +OFFICE_DAT Byte CODE:1019 +OFILE0 Byte CODE:10FB +OFILE1 Byte CODE:113C +OHANDLE Word CODE:100D +OLDCOD Word CODE:1595 +OPEN_ERROR Near CODE:0CAA +OPTIMISE Number 0000 +OPTR Dword CODE:159F +ORIG_BREAK Number CODE:0D1F +ORIG_DATE_CX Number CODE:04A8 +ORIG_DATE_DX Number CODE:049F +OUTBLOCK Near CODE:0C01 +OUTBYTES Word CODE:15A5 +OUTDAT Word CODE:158F +OUTINBLOCK Near CODE:0BDF +OUTPUT Near CODE:0BBD +OUTPUT_CODE Near CODE:0ABA +OUTPUT_NUL Near CODE:0AB8 +PACK_NEWEST_DATE Near CODE:073A +PAD Near CODE:06A1 +POINT_00 Near CODE:06B3 +PRCHR Near CODE:069A +PREFIX Byte CODE:6977 +PREFIX_SIZE Number 273A +PRINT_CURRENT_DIR Near CODE:0D3A +PRMESS Near CODE:0D4D +RATIO Byte CODE:15B5 +READBUF Byte CODE:35DA +READBUF_SIZE Number 1000 +READ_ERROR Near CODE:0CBE +SCRATCH_BUF Byte CODE:0FA8 +SET_DATE Near CODE:06C0 +SET_NEWEST_DATE Near CODE:06BD +SET_NEW_NEWEST_DATE Near CODE:06C1 +SIGNOFF Byte CODE:0DC9 +SIGNON Byte CODE:0DB5 +SKIP Near CODE:0C94 +SKIP_BLANK Near CODE:0C95 +SNNL Near CODE:0731 +STACK_SIZE Number 0100 +START Near CODE:0100 +STCK Word CODE:1300 +STRCOD Word CODE:1599 +TEMPNAM Byte CODE:117D +TERM Number 0101 +TEST_OUTPUT Number 0000 +TIBYTES Byte CODE:15AE +TOBYTES Byte CODE:15B1 +TOP Word CODE:B7EB +TSIZE Number 139D +UCASE Near CODE:0D5F +UNDECB Near CODE:0776 +U_FILE Near CODE:0337 +W Text WORD PTR +WL0 Near CODE:080B +WL1 Near CODE:081F + Turbo Assembler Version 2.01 18/11/03 00:37:55 Page 40 +Symbol Table + + + +WRITEBUF Byte CODE:45DA +WRITEBUF_SIZE Number 1000 +WRITE_ERROR Near CODE:0CC7 + +Macro Name + +GRSHL +JMPS + +Groups & Segments Bit Size Align Combine Class + +CODE 16 B7EB Para none + \ No newline at end of file diff --git a/src/mkutil/CRC.MAP b/src/mkutil/CRC.MAP new file mode 100644 index 00000000..1ed600df --- /dev/null +++ b/src/mkutil/CRC.MAP @@ -0,0 +1,6 @@ + + Start Stop Length Name Class + + 00000H 0B7EAH 0B7EBH CODE + + diff --git a/src/mkutil/CRC.OBJ b/src/mkutil/CRC.OBJ new file mode 100644 index 0000000000000000000000000000000000000000..82915bc717d2215a44904ec35fb453ea1c8b271c GIT binary patch literal 5369 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 literal 0 HcmV?d00001 diff --git a/src/mkutil/CVS/Entries b/src/mkutil/CVS/Entries new file mode 100644 index 00000000..b8e369e2 --- /dev/null +++ b/src/mkutil/CVS/Entries @@ -0,0 +1,39 @@ +/4dos.com/1.1.1.1/Mon Nov 17 19:06:02 2003/-kb/ +/CRC.LST/1.1.1.1/Mon Nov 17 19:06:04 2003// +/CRC.MAP/1.1.1.1/Mon Nov 17 19:06:04 2003// +/CRC.OBJ/1.1.1.1/Mon Nov 17 19:06:04 2003// +/bin2avr.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/bin2avr.exe/1.1.1.1/Mon Nov 17 19:06:02 2003/-kb/ +/bin2c.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/bin2c.exe/1.1.1.1/Mon Nov 17 19:06:02 2003/-kb/ +/cr.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/crc.asm/1.1.1.1/Mon Nov 17 19:06:02 2003// +/crc.c/1.1.1.1/Mon Nov 17 19:06:02 2003// +/crc.com/1.1.1.1/Mon Nov 17 19:06:04 2003/-kb/ +/crcd.com/1.1.1.1/Mon Nov 17 19:06:04 2003/-kb/ +/false.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/foster.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/foster.exe/1.1.1.1/Mon Nov 17 19:06:04 2003/-kb/ +/ihex2bin.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/ihex2bin.exe/1.1.1.1/Mon Nov 17 19:06:04 2003/-kb/ +/loginsh.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/mklink-b.bat/1.1.1.1/Mon Nov 17 19:06:04 2003// +/mklink-l.bat/1.1.1.1/Mon Nov 17 19:06:04 2003// +/mknbat-b.bat/1.1.1.1/Mon Nov 17 19:06:04 2003// +/mknbat-l.bat/1.1.1.1/Mon Nov 17 19:06:04 2003// +/n.bat/1.1.1.1/Mon Nov 17 19:06:04 2003// +/setfsize.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/tasm.exe/1.1.1.1/Mon Nov 17 19:06:04 2003/-kb/ +/tlink.exe/1.1.1.1/Mon Nov 17 19:06:04 2003/-kb/ +/touch.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/true.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/w32munge.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +D/as-z80//// +D/avra-0.8//// +D/cpp//// +D/lib-z80//// +D/link-z80//// +D/make//// +D/revava-0.3//// +D/tavrasm.118//// +D/tradcpp//// diff --git a/src/mkutil/CVS/Repository b/src/mkutil/CVS/Repository new file mode 100644 index 00000000..00bdbd3b --- /dev/null +++ b/src/mkutil/CVS/Repository @@ -0,0 +1 @@ +uzi/src/mkutil diff --git a/src/mkutil/CVS/Root b/src/mkutil/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/mkutil/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/as-z80/CVS/Entries b/src/mkutil/as-z80/CVS/Entries new file mode 100644 index 00000000..458a1e21 --- /dev/null +++ b/src/mkutil/as-z80/CVS/Entries @@ -0,0 +1,22 @@ +/as-z80.exe/1.1.1.1/Mon Nov 17 19:06:04 2003/-kb/ +/as-z80.lnk/1.1.1.1/Mon Nov 17 19:06:04 2003// +/as-z80.map/1.1.1.1/Mon Nov 17 19:06:04 2003// +/asdata.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/asexpr.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/aslex.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/aslist.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/asmain.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/asout.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/assubr.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/assym.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/asxxxx.h/1.1.1.1/Mon Nov 17 19:06:04 2003// +/n.bat/1.1.1.1/Mon Nov 17 19:06:04 2003// +/tz80.asm/1.1.1.1/Mon Nov 17 19:06:04 2003// +/tz80l.asm/1.1.1.1/Mon Nov 17 19:06:04 2003// +/z80.h/1.1.1.1/Mon Nov 17 19:06:04 2003// +/z80adr.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/z80ext.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/z80mch.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/z80pst.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/z80pst.c$/1.1.1.1/Mon Nov 17 19:06:04 2003// +D diff --git a/src/mkutil/as-z80/CVS/Repository b/src/mkutil/as-z80/CVS/Repository new file mode 100644 index 00000000..7c4d1da5 --- /dev/null +++ b/src/mkutil/as-z80/CVS/Repository @@ -0,0 +1 @@ +uzi/src/mkutil/as-z80 diff --git a/src/mkutil/as-z80/CVS/Root b/src/mkutil/as-z80/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/mkutil/as-z80/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/as-z80/asdata.obj b/src/mkutil/as-z80/asdata.obj deleted file mode 100644 index 30a5bda10b2d65a0834e97e0f4183b37f6eb18d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5248 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 diff --git a/src/mkutil/as-z80/aslex.obj b/src/mkutil/as-z80/aslex.obj deleted file mode 100644 index 66f462c1e74949ab5fb7a5697da265b3a2c9daff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7382 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 diff --git a/src/mkutil/as-z80/asmain.obj b/src/mkutil/as-z80/asmain.obj deleted file mode 100644 index 608a941ead3178c5c1f6d544160299c6bbea2f71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29354 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 HzwG}2+ceXE diff --git a/src/mkutil/as-z80/asout.obj b/src/mkutil/as-z80/asout.obj deleted file mode 100644 index 6393b5378d4ba95f1efd8864bf7159642c0c0dc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21762 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 diff --git a/src/mkutil/as-z80/assubr.obj b/src/mkutil/as-z80/assubr.obj deleted file mode 100644 index be9a7667d810b34e7d00d75a7f42a5cfcda389d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5958 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 diff --git a/src/mkutil/as-z80/assym.obj b/src/mkutil/as-z80/assym.obj deleted file mode 100644 index aaa0e4117e9bbb72024c23076bb56d9b33b9f65d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7171 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 diff --git a/src/mkutil/as-z80/z80ext.obj b/src/mkutil/as-z80/z80ext.obj deleted file mode 100644 index 89301272672ffffffca2cc8f7ea85e9876c25b31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1046 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 PR9>;VwX(Ll@>2R=5tY~4 diff --git a/src/mkutil/as-z80/z80pst.obj b/src/mkutil/as-z80/z80pst.obj deleted file mode 100644 index 98452b1ae8ac624e97eafe460b1224c15b3b1cd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8478 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 diff --git a/src/mkutil/avra-0.8/COPYING b/src/mkutil/avra-0.8/COPYING index 1942c433..35a8b1eb 100644 --- a/src/mkutil/avra-0.8/COPYING +++ b/src/mkutil/avra-0.8/COPYING @@ -1,341 +1,341 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place - Suite 330 - Boston, MA 02111-1307, USA. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) 19yy - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; see the file COPYING. If not, write to - the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place - Suite 330 + Boston, MA 02111-1307, USA. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; see the file COPYING. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/src/mkutil/avra-0.8/CVS/Entries b/src/mkutil/avra-0.8/CVS/Entries new file mode 100644 index 00000000..944fadc7 --- /dev/null +++ b/src/mkutil/avra-0.8/CVS/Entries @@ -0,0 +1,6 @@ +/COPYING/1.1.1.1/Mon Nov 17 19:06:04 2003// +/ChangeLog/1.1.1.1/Mon Nov 17 19:06:04 2003// +/README/1.1.1.1/Mon Nov 17 19:06:04 2003// +/TODO/1.1.1.1/Mon Nov 17 19:06:04 2003// +/avra.dev/1.1.1.1/Mon Nov 17 19:06:04 2003// +D/SOURCE//// diff --git a/src/mkutil/avra-0.8/CVS/Repository b/src/mkutil/avra-0.8/CVS/Repository new file mode 100644 index 00000000..0952fad5 --- /dev/null +++ b/src/mkutil/avra-0.8/CVS/Repository @@ -0,0 +1 @@ +uzi/src/mkutil/avra-0.8 diff --git a/src/mkutil/avra-0.8/CVS/Root b/src/mkutil/avra-0.8/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/mkutil/avra-0.8/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/avra-0.8/ChangeLog b/src/mkutil/avra-0.8/ChangeLog index f974ea4f..d7e5e6b3 100644 --- a/src/mkutil/avra-0.8/ChangeLog +++ b/src/mkutil/avra-0.8/ChangeLog @@ -2,46 +2,46 @@ Release 0.8 released by Tobias Weber (20030307) - Added new macro assembler coding facilities - Added error description for .include directives -Release 0.7 - (20000217) - Added supported() function to check in a .if if a instruction is - supported (From Lesha Bogdanow ). - - Added checking of which mnemonic that work on the different AVRs - (From Lesha Bogdanow ). - - Added constants __DEVICE__, __FLASH_SIZE__, __RAM_SIZE__ and - __EEPROM_SIZE__ (From Lesha Bogdanow ). - - Added tiny devices (From Lesha Bogdanow ). - (20000403) - Changed error on constant out of range into a warning. - (20010918) - Added support for instructions: (E)LPM Rd,Z(+), SPM, ESPM, BREAK, - MOVW, MULS, MULSU, FMUL, FMULS, FMULSU - - Added support for new devices: ATmega8, ATmega16, ATmega32, - ATmega128, ATmega162, ATmega163, ATmega323, AT94K - - Added --devices switch to list all supported devices. - (20010919) - Fixed bug in map file name when the name had more than one . (dot) - (20010920) - Added option --includedirs to add additional include dirs in - search path. - (20010925) - Added support for creation of intel hex 32 files to be able to - address memory above 64KB. Uses 02 records for addresses up to 1MB - and 04 record for addresses above 1MB. - -Release 0.6 - (20000124) - Added COFF support from Bob Harris - -Release 0.5 - (19990331) - Bugfix: a inline string copy did not terminate string. - (19990409) - Fixed bug causing --define symbol=value not to work. - (19990418) - Added output of memory usage. - (19990518) - Fixed bug when there was a { in a comment. - (19990715) - Fixed count for data segment. - (19990720) - Fix to make a forward referenced label in .db/.dw work. - (19990922) - Added ATmega161 and ATtiny15 in list. - - rjmp and rcall now wraps around with 4k word devices. - (19991220) - Fixed bug when branching backwards with BRBS or BRBC - -Release 0.4 - (19990202) - Added support for global keyword to use on labels in macros. - - Fixed get_next_token to handle commas inside ' ' - (19990204) - Fixed bug when searching for correct macro_call, so recursive - and nested macros will work. - - Now handles commas in strings. - - Added fix to handle semi colon in a string. - (19990205) - Improved mnemonic parsing for ld and st +Release 0.7 + (20000217) - Added supported() function to check in a .if if a instruction is + supported (From Lesha Bogdanow ). + - Added checking of which mnemonic that work on the different AVRs + (From Lesha Bogdanow ). + - Added constants __DEVICE__, __FLASH_SIZE__, __RAM_SIZE__ and + __EEPROM_SIZE__ (From Lesha Bogdanow ). + - Added tiny devices (From Lesha Bogdanow ). + (20000403) - Changed error on constant out of range into a warning. + (20010918) - Added support for instructions: (E)LPM Rd,Z(+), SPM, ESPM, BREAK, + MOVW, MULS, MULSU, FMUL, FMULS, FMULSU + - Added support for new devices: ATmega8, ATmega16, ATmega32, + ATmega128, ATmega162, ATmega163, ATmega323, AT94K + - Added --devices switch to list all supported devices. + (20010919) - Fixed bug in map file name when the name had more than one . (dot) + (20010920) - Added option --includedirs to add additional include dirs in + search path. + (20010925) - Added support for creation of intel hex 32 files to be able to + address memory above 64KB. Uses 02 records for addresses up to 1MB + and 04 record for addresses above 1MB. + +Release 0.6 + (20000124) - Added COFF support from Bob Harris + +Release 0.5 + (19990331) - Bugfix: a inline string copy did not terminate string. + (19990409) - Fixed bug causing --define symbol=value not to work. + (19990418) - Added output of memory usage. + (19990518) - Fixed bug when there was a { in a comment. + (19990715) - Fixed count for data segment. + (19990720) - Fix to make a forward referenced label in .db/.dw work. + (19990922) - Added ATmega161 and ATtiny15 in list. + - rjmp and rcall now wraps around with 4k word devices. + (19991220) - Fixed bug when branching backwards with BRBS or BRBC + +Release 0.4 + (19990202) - Added support for global keyword to use on labels in macros. + - Fixed get_next_token to handle commas inside ' ' + (19990204) - Fixed bug when searching for correct macro_call, so recursive + and nested macros will work. + - Now handles commas in strings. + - Added fix to handle semi colon in a string. + (19990205) - Improved mnemonic parsing for ld and st diff --git a/src/mkutil/avra-0.8/SOURCE/CVS/Entries b/src/mkutil/avra-0.8/SOURCE/CVS/Entries new file mode 100644 index 00000000..2f4892a7 --- /dev/null +++ b/src/mkutil/avra-0.8/SOURCE/CVS/Entries @@ -0,0 +1,27 @@ +/Makefile.amiga.gcc/1.1.1.1/Mon Nov 17 19:06:04 2003// +/Makefile.amiga.sas/1.1.1.1/Mon Nov 17 19:06:04 2003// +/Makefile.emx/1.1.1.1/Mon Nov 17 19:06:04 2003// +/Makefile.linux/1.1.1.1/Mon Nov 17 19:06:04 2003// +/Makefile.win/1.1.1.1/Mon Nov 17 19:06:04 2003// +/Makefile.win32.mvc/1.1.1.1/Mon Nov 17 19:06:04 2003// +/args.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/args.h/1.1.1.1/Mon Nov 17 19:06:04 2003// +/avra.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/avra.dev/1.1.1.1/Mon Nov 17 19:06:04 2003// +/avra.exe/1.1.1.1/Mon Nov 17 19:06:04 2003/-kb/ +/avra.h/1.1.1.1/Mon Nov 17 19:06:04 2003// +/coff.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/coff.h/1.1.1.1/Mon Nov 17 19:06:04 2003// +/device.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/device.h/1.1.1.1/Mon Nov 17 19:06:04 2003// +/directiv.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/expr.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/file.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/macro.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/map.c/1.1.1.1/Mon Nov 17 19:06:04 2003// +/misc.h/1.1.1.1/Mon Nov 17 19:06:04 2003// +/mnemonic.c/1.1.1.1/Mon Nov 17 19:06:06 2003// +/n.bat/1.1.1.1/Mon Nov 17 19:06:06 2003// +/parser.c/1.1.1.1/Mon Nov 17 19:06:06 2003// +/stdextra.c/1.1.1.1/Mon Nov 17 19:06:06 2003// +D diff --git a/src/mkutil/avra-0.8/SOURCE/CVS/Repository b/src/mkutil/avra-0.8/SOURCE/CVS/Repository new file mode 100644 index 00000000..3fa4e838 --- /dev/null +++ b/src/mkutil/avra-0.8/SOURCE/CVS/Repository @@ -0,0 +1 @@ +uzi/src/mkutil/avra-0.8/SOURCE diff --git a/src/mkutil/avra-0.8/SOURCE/CVS/Root b/src/mkutil/avra-0.8/SOURCE/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/mkutil/avra-0.8/SOURCE/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/avra-0.8/SOURCE/Makefile.amiga.gcc b/src/mkutil/avra-0.8/SOURCE/Makefile.amiga.gcc index a8752cfc..2bde1c1f 100644 --- a/src/mkutil/avra-0.8/SOURCE/Makefile.amiga.gcc +++ b/src/mkutil/avra-0.8/SOURCE/Makefile.amiga.gcc @@ -1,80 +1,80 @@ -#******************************************************************** -# Makefile for gcc (Geek Gadget) on Amiga -#******************************************************************** - -CC = gcc -LD = gcc -CFLAGS = -Wall -O3 -LDFLAGS = -s - -SOURCES = avra.c device.c parser.c expr.c mnemonic.c directiv.c macro.c file.c map.c coff.c - -OBJECTS = $(SOURCES:.c=.o) - -OBJ_ALL = $(OBJECTS) args.o stdextra.o - -DISTFILES = *.c *.h README ChangeLog Makefile.* COPYING avra.1 avra.txt strip-headers TODO - -ARCHFILES = $(DISTFILES) - -BINFILES = avra README ChangeLog COPYING avra.1 avra.txt - -VERSION = 0.7 - -#******************************************************************** - -all: avra - -install: avra - copy avra c: - -clean: - rm -f avra *.o *.p *~ - -avra: $(OBJ_ALL) - $(LD) -o avra $(OBJ_ALL) $(LDFLAGS) - -args.o: args.c misc.h args.h -avra.o: avra.c misc.h args.h avra.h device.h -device.o: device.c misc.h avra.h device.h -directiv.o: directiv.c misc.h args.h avra.h device.h -expr.o: expr.c misc.h avra.h -file.o: file.c misc.h avra.h -macro.o: macro.c misc.h args.h avra.h -mnemonic.o: mnemonic.c misc.h avra.h device.h -parser.o: parser.c misc.h avra.h -stdextra.o: stdextra.c misc.h -coff.o: coff.c coff.h - -avra.txt: avra.1 - groff -man -Tascii avra.1 | ./strip-headers | col -bx > avra.txt - -#******************************************************************** - -disk: archive - copy avra.tar.gz pc0:avra.tgz - -archive: avra.tar.gz - -avra.tar.gz: $(ARCHFILES) - tar cvf avra.tar $(ARCHFILES) - gzip -9 -f avra.tar - -dist: avra-$(VERSION).tar.gz - -avra-$(VERSION).tar.gz: $(DISTFILES) - mkdir avra-$(VERSION) - cp $(DISTFILES) avra-$(VERSION)/ - tar cvf avra-$(VERSION).tar avra-$(VERSION)/* - gzip -9 -f avra-$(VERSION).tar - rm -r avra-$(VERSION) - -bin: avra-$(VERSION)-Amiga-ixemul.lha - -avra-$(VERSION)-Amiga-ixemul.lha: $(BINFILES) - mkdir avra-$(VERSION) - cp $(BINFILES) avra-$(VERSION)/ - lha -xr u avra-$(VERSION)-Amiga-ixemul.lha avra-$(VERSION)/* - rm -r avra-$(VERSION) - -#******************************************************************** +#******************************************************************** +# Makefile for gcc (Geek Gadget) on Amiga +#******************************************************************** + +CC = gcc +LD = gcc +CFLAGS = -Wall -O3 +LDFLAGS = -s + +SOURCES = avra.c device.c parser.c expr.c mnemonic.c directiv.c macro.c file.c map.c coff.c + +OBJECTS = $(SOURCES:.c=.o) + +OBJ_ALL = $(OBJECTS) args.o stdextra.o + +DISTFILES = *.c *.h README ChangeLog Makefile.* COPYING avra.1 avra.txt strip-headers TODO + +ARCHFILES = $(DISTFILES) + +BINFILES = avra README ChangeLog COPYING avra.1 avra.txt + +VERSION = 0.7 + +#******************************************************************** + +all: avra + +install: avra + copy avra c: + +clean: + rm -f avra *.o *.p *~ + +avra: $(OBJ_ALL) + $(LD) -o avra $(OBJ_ALL) $(LDFLAGS) + +args.o: args.c misc.h args.h +avra.o: avra.c misc.h args.h avra.h device.h +device.o: device.c misc.h avra.h device.h +directiv.o: directiv.c misc.h args.h avra.h device.h +expr.o: expr.c misc.h avra.h +file.o: file.c misc.h avra.h +macro.o: macro.c misc.h args.h avra.h +mnemonic.o: mnemonic.c misc.h avra.h device.h +parser.o: parser.c misc.h avra.h +stdextra.o: stdextra.c misc.h +coff.o: coff.c coff.h + +avra.txt: avra.1 + groff -man -Tascii avra.1 | ./strip-headers | col -bx > avra.txt + +#******************************************************************** + +disk: archive + copy avra.tar.gz pc0:avra.tgz + +archive: avra.tar.gz + +avra.tar.gz: $(ARCHFILES) + tar cvf avra.tar $(ARCHFILES) + gzip -9 -f avra.tar + +dist: avra-$(VERSION).tar.gz + +avra-$(VERSION).tar.gz: $(DISTFILES) + mkdir avra-$(VERSION) + cp $(DISTFILES) avra-$(VERSION)/ + tar cvf avra-$(VERSION).tar avra-$(VERSION)/* + gzip -9 -f avra-$(VERSION).tar + rm -r avra-$(VERSION) + +bin: avra-$(VERSION)-Amiga-ixemul.lha + +avra-$(VERSION)-Amiga-ixemul.lha: $(BINFILES) + mkdir avra-$(VERSION) + cp $(BINFILES) avra-$(VERSION)/ + lha -xr u avra-$(VERSION)-Amiga-ixemul.lha avra-$(VERSION)/* + rm -r avra-$(VERSION) + +#******************************************************************** diff --git a/src/mkutil/avra-0.8/SOURCE/Makefile.amiga.sas b/src/mkutil/avra-0.8/SOURCE/Makefile.amiga.sas index 1242ad3e..db4b4a3e 100644 --- a/src/mkutil/avra-0.8/SOURCE/Makefile.amiga.sas +++ b/src/mkutil/avra-0.8/SOURCE/Makefile.amiga.sas @@ -1,75 +1,75 @@ -#******************************************************************** -# Makefile for SAS/C on Amiga -#******************************************************************** - -CC = sc -LD = sc -CFLAGS = NOVERSION OPTIMIZE STRINGMERGE -LDFLAGS = NOVERSION - -SOURCES = avra.c device.c parser.c expr.c mnemonic.c directiv.c macro.c file.c map.c coff.c - -OBJECTS = avra.o device.o parser.o expr.o mnemonic.o directiv.o macro.o file.o map.o coff.o - -OBJ_ALL = $(OBJECTS) args.o stdextra.o - -DISTFILES = *.c *.h README ChangeLog Makefile.* COPYING avra.1 avra.txt strip-headers TODO - -ARCHFILES = $(DISTFILES) - -BINFILES = avra README ChangeLog COPYING avra.1 avra.txt - -VERSION = 0.7 - -#******************************************************************** - -all: avra - -install: avra - copy avra c: - -clean: - delete avra avra.info \#?.o \#?.lnk - -avra: $(OBJ_ALL) - $(LD) link $(OBJ_ALL) $(LDFLAGS) - -args.o: args.c misc.h args.h -avra.o: avra.c misc.h args.h avra.h device.h -device.o: device.c misc.h avra.h device.h -directiv.o: directiv.c misc.h args.h avra.h device.h -expr.o: expr.c misc.h avra.h -file.o: file.c misc.h avra.h -macro.o: macro.c misc.h args.h avra.h -mnemonic.o: mnemonic.c misc.h avra.h device.h -parser.o: parser.c misc.h avra.h -stdextra.o: stdextra.c misc.h -coff.o: coff.c coff.h - -#******************************************************************** - -disk: archive - copy avra.tar.gz pc0:avra.tgz - -archive: avra.lha - -avra.lha: $(ARCHFILES) - lha -xr u avra.lha $(ARCHFILES) - -dist: avra-$(VERSION).lha - -avra-$(VERSION).lha: $(DISTFILES) - makedir avra-$(VERSION) - copy $(DISTFILES) TO avra-$(VERSION)/ - lha -xr u avra-$(VERSION).lha avra-$(VERSION)/* - delete ALL avra-$(VERSION) - -bin: avra-$(VERSION)-Amiga.lha - -avra-$(VERSION)-Amiga.lha: $(BINFILES) - makedir avra-$(VERSION) - copy $(BINFILES) avra-$(VERSION)/ - lha -xr u avra-$(VERSION)-Amiga.lha avra-$(VERSION)/* - delete ALL avra-$(VERSION) - -#******************************************************************** +#******************************************************************** +# Makefile for SAS/C on Amiga +#******************************************************************** + +CC = sc +LD = sc +CFLAGS = NOVERSION OPTIMIZE STRINGMERGE +LDFLAGS = NOVERSION + +SOURCES = avra.c device.c parser.c expr.c mnemonic.c directiv.c macro.c file.c map.c coff.c + +OBJECTS = avra.o device.o parser.o expr.o mnemonic.o directiv.o macro.o file.o map.o coff.o + +OBJ_ALL = $(OBJECTS) args.o stdextra.o + +DISTFILES = *.c *.h README ChangeLog Makefile.* COPYING avra.1 avra.txt strip-headers TODO + +ARCHFILES = $(DISTFILES) + +BINFILES = avra README ChangeLog COPYING avra.1 avra.txt + +VERSION = 0.7 + +#******************************************************************** + +all: avra + +install: avra + copy avra c: + +clean: + delete avra avra.info \#?.o \#?.lnk + +avra: $(OBJ_ALL) + $(LD) link $(OBJ_ALL) $(LDFLAGS) + +args.o: args.c misc.h args.h +avra.o: avra.c misc.h args.h avra.h device.h +device.o: device.c misc.h avra.h device.h +directiv.o: directiv.c misc.h args.h avra.h device.h +expr.o: expr.c misc.h avra.h +file.o: file.c misc.h avra.h +macro.o: macro.c misc.h args.h avra.h +mnemonic.o: mnemonic.c misc.h avra.h device.h +parser.o: parser.c misc.h avra.h +stdextra.o: stdextra.c misc.h +coff.o: coff.c coff.h + +#******************************************************************** + +disk: archive + copy avra.tar.gz pc0:avra.tgz + +archive: avra.lha + +avra.lha: $(ARCHFILES) + lha -xr u avra.lha $(ARCHFILES) + +dist: avra-$(VERSION).lha + +avra-$(VERSION).lha: $(DISTFILES) + makedir avra-$(VERSION) + copy $(DISTFILES) TO avra-$(VERSION)/ + lha -xr u avra-$(VERSION).lha avra-$(VERSION)/* + delete ALL avra-$(VERSION) + +bin: avra-$(VERSION)-Amiga.lha + +avra-$(VERSION)-Amiga.lha: $(BINFILES) + makedir avra-$(VERSION) + copy $(BINFILES) avra-$(VERSION)/ + lha -xr u avra-$(VERSION)-Amiga.lha avra-$(VERSION)/* + delete ALL avra-$(VERSION) + +#******************************************************************** diff --git a/src/mkutil/avra-0.8/SOURCE/Makefile.emx b/src/mkutil/avra-0.8/SOURCE/Makefile.emx index fac7433d..cdeef742 100644 --- a/src/mkutil/avra-0.8/SOURCE/Makefile.emx +++ b/src/mkutil/avra-0.8/SOURCE/Makefile.emx @@ -1,69 +1,69 @@ -#******************************************************************** -# Makefile for gcc/emx -#******************************************************************** - -CC = gcc -LD = gcc -CFLAGS = -Wall -O3 -LDFLAGS = -s - -SOURCES = avra.c device.c parser.c expr.c mnemonic.c directiv.c macro.c file.c map.c coff.c - -OBJECTS = $(SOURCES:.c=.o) - -OBJ_ALL = $(OBJECTS) args.o stdextra.o - -DISTFILES = *.c *.h README ChangeLog Makefile.* COPYING avra.1 avra.txt strip-headers TODO - -ARCHFILES = $(DISTFILES) - -BINFILES = avra README ChangeLog COPYING avra.1 avra.txt - -VERSION = 0.7 - -#******************************************************************** - -all: avra.exe - -clean: - rm -f avra.exe *.o *.p *~ - -avra.exe: $(OBJ_ALL) - $(LD) -o avra.exe $(OBJ_ALL) $(LDFLAGS) - -args.o: args.c misc.h args.h -avra.o: avra.c misc.h args.h avra.h device.h -device.o: device.c misc.h avra.h device.h -directiv.o: directiv.c misc.h args.h avra.h device.h -expr.o: expr.c misc.h avra.h -file.o: file.c misc.h avra.h -macro.o: macro.c misc.h args.h avra.h -mnemonic.o: mnemonic.c misc.h avra.h device.h -parser.o: parser.c misc.h avra.h -stdextra.o: stdextra.c misc.h -coff.o: coff.c coff.h - -avra.txt: avra.1 - groff -man -Tascii avra.1 | ./strip-headers | col -bx > avra.txt - -#******************************************************************** - -disk: archive - mcopy -ovm avra.tar.gz a:avra.tgz - -archive: avra.tar.gz - -avra.tar.gz: $(ARCHFILES) - tar cvf avra.tar $(ARCHFILES) - gzip -9 -f avra.tar - -dist: avra-$(VERSION).tar.gz - -avra-$(VERSION).tar.gz: $(DISTFILES) - mkdir avra-$(VERSION) - cp $(DISTFILES) avra-$(VERSION)/ - tar cvf avra-$(VERSION).tar avra-$(VERSION)/* - gzip -9 -f avra-$(VERSION).tar - rm -r avra-$(VERSION) - -#******************************************************************** +#******************************************************************** +# Makefile for gcc/emx +#******************************************************************** + +CC = gcc +LD = gcc +CFLAGS = -Wall -O3 +LDFLAGS = -s + +SOURCES = avra.c device.c parser.c expr.c mnemonic.c directiv.c macro.c file.c map.c coff.c + +OBJECTS = $(SOURCES:.c=.o) + +OBJ_ALL = $(OBJECTS) args.o stdextra.o + +DISTFILES = *.c *.h README ChangeLog Makefile.* COPYING avra.1 avra.txt strip-headers TODO + +ARCHFILES = $(DISTFILES) + +BINFILES = avra README ChangeLog COPYING avra.1 avra.txt + +VERSION = 0.7 + +#******************************************************************** + +all: avra.exe + +clean: + rm -f avra.exe *.o *.p *~ + +avra.exe: $(OBJ_ALL) + $(LD) -o avra.exe $(OBJ_ALL) $(LDFLAGS) + +args.o: args.c misc.h args.h +avra.o: avra.c misc.h args.h avra.h device.h +device.o: device.c misc.h avra.h device.h +directiv.o: directiv.c misc.h args.h avra.h device.h +expr.o: expr.c misc.h avra.h +file.o: file.c misc.h avra.h +macro.o: macro.c misc.h args.h avra.h +mnemonic.o: mnemonic.c misc.h avra.h device.h +parser.o: parser.c misc.h avra.h +stdextra.o: stdextra.c misc.h +coff.o: coff.c coff.h + +avra.txt: avra.1 + groff -man -Tascii avra.1 | ./strip-headers | col -bx > avra.txt + +#******************************************************************** + +disk: archive + mcopy -ovm avra.tar.gz a:avra.tgz + +archive: avra.tar.gz + +avra.tar.gz: $(ARCHFILES) + tar cvf avra.tar $(ARCHFILES) + gzip -9 -f avra.tar + +dist: avra-$(VERSION).tar.gz + +avra-$(VERSION).tar.gz: $(DISTFILES) + mkdir avra-$(VERSION) + cp $(DISTFILES) avra-$(VERSION)/ + tar cvf avra-$(VERSION).tar avra-$(VERSION)/* + gzip -9 -f avra-$(VERSION).tar + rm -r avra-$(VERSION) + +#******************************************************************** diff --git a/src/mkutil/avra-0.8/SOURCE/Makefile.linux b/src/mkutil/avra-0.8/SOURCE/Makefile.linux index 5a3e6176..edf1c2ff 100644 --- a/src/mkutil/avra-0.8/SOURCE/Makefile.linux +++ b/src/mkutil/avra-0.8/SOURCE/Makefile.linux @@ -1,74 +1,74 @@ -#******************************************************************** -# Makefile for gcc -#******************************************************************** - -CC = gcc -LD = gcc -CFLAGS = -Wall -O3 -LDFLAGS = -s - -SOURCES = avra.c device.c parser.c expr.c mnemonic.c directiv.c macro.c file.c map.c coff.c - -OBJECTS = $(SOURCES:.c=.o) - -OBJ_ALL = $(OBJECTS) args.o stdextra.o - -DISTFILES = *.c *.h README ChangeLog Makefile.* COPYING avra.1 avra.txt strip-headers TODO - -ARCHFILES = $(DISTFILES) - -BINFILES = avra README ChangeLog COPYING avra.1 avra.txt - -VERSION = 0.7 - -#******************************************************************** - -all: avra - -install: avra - cp avra /usr/local/bin - cp avra.1 /usr/local/man/man1 - chmod +r /usr/local/man/man1/avra.1 - -clean: - rm -f avra *.o *.p *~ - -avra: $(OBJ_ALL) - $(LD) -o avra $(OBJ_ALL) $(LDFLAGS) - -args.o: args.c misc.h args.h -avra.o: avra.c misc.h args.h avra.h device.h -device.o: device.c misc.h avra.h device.h -directiv.o: directiv.c misc.h args.h avra.h device.h -expr.o: expr.c misc.h avra.h -file.o: file.c misc.h avra.h -macro.o: macro.c misc.h args.h avra.h -mnemonic.o: mnemonic.c misc.h avra.h device.h -parser.o: parser.c misc.h avra.h -stdextra.o: stdextra.c misc.h -coff.o: coff.c coff.h - -avra.txt: avra.1 - groff -man -Tascii avra.1 | ./strip-headers | col -bx > avra.txt - -#******************************************************************** - -disk: archive - mcopy -ovm avra.tar.gz a:avra.tgz - -archive: avra.tar.gz - -avra.tar.gz: $(ARCHFILES) - tar cvf avra.tar $(ARCHFILES) - gzip -9 -f avra.tar - -dist: avra-$(VERSION).tar.gz - -avra-$(VERSION).tar.gz: $(DISTFILES) - mkdir avra-$(VERSION) - cp $(DISTFILES) avra-$(VERSION)/ - tar cvf avra-$(VERSION).tar avra-$(VERSION)/* - gzip -9 -f avra-$(VERSION).tar - rm -r avra-$(VERSION) - -#******************************************************************** +#******************************************************************** +# Makefile for gcc +#******************************************************************** + +CC = gcc +LD = gcc +CFLAGS = -Wall -O3 +LDFLAGS = -s + +SOURCES = avra.c device.c parser.c expr.c mnemonic.c directiv.c macro.c file.c map.c coff.c + +OBJECTS = $(SOURCES:.c=.o) + +OBJ_ALL = $(OBJECTS) args.o stdextra.o + +DISTFILES = *.c *.h README ChangeLog Makefile.* COPYING avra.1 avra.txt strip-headers TODO + +ARCHFILES = $(DISTFILES) + +BINFILES = avra README ChangeLog COPYING avra.1 avra.txt + +VERSION = 0.7 + +#******************************************************************** + +all: avra + +install: avra + cp avra /usr/local/bin + cp avra.1 /usr/local/man/man1 + chmod +r /usr/local/man/man1/avra.1 + +clean: + rm -f avra *.o *.p *~ + +avra: $(OBJ_ALL) + $(LD) -o avra $(OBJ_ALL) $(LDFLAGS) + +args.o: args.c misc.h args.h +avra.o: avra.c misc.h args.h avra.h device.h +device.o: device.c misc.h avra.h device.h +directiv.o: directiv.c misc.h args.h avra.h device.h +expr.o: expr.c misc.h avra.h +file.o: file.c misc.h avra.h +macro.o: macro.c misc.h args.h avra.h +mnemonic.o: mnemonic.c misc.h avra.h device.h +parser.o: parser.c misc.h avra.h +stdextra.o: stdextra.c misc.h +coff.o: coff.c coff.h + +avra.txt: avra.1 + groff -man -Tascii avra.1 | ./strip-headers | col -bx > avra.txt + +#******************************************************************** + +disk: archive + mcopy -ovm avra.tar.gz a:avra.tgz + +archive: avra.tar.gz + +avra.tar.gz: $(ARCHFILES) + tar cvf avra.tar $(ARCHFILES) + gzip -9 -f avra.tar + +dist: avra-$(VERSION).tar.gz + +avra-$(VERSION).tar.gz: $(DISTFILES) + mkdir avra-$(VERSION) + cp $(DISTFILES) avra-$(VERSION)/ + tar cvf avra-$(VERSION).tar avra-$(VERSION)/* + gzip -9 -f avra-$(VERSION).tar + rm -r avra-$(VERSION) + +#******************************************************************** diff --git a/src/mkutil/avra-0.8/SOURCE/args.c b/src/mkutil/avra-0.8/SOURCE/args.c index e8004d2b..466b3e87 100644 --- a/src/mkutil/avra-0.8/SOURCE/args.c +++ b/src/mkutil/avra-0.8/SOURCE/args.c @@ -1,240 +1,240 @@ -/*********************************************************************** - * avra - Assembler for the Atmel AVR microcontroller series - * Copyright (C) 1998-2001 Jon Anders Haugum - * Copyright (C) 2002-2003 Tobias Weber - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - * - * Authors of avra can be reached at: - * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com - * www: http://sourceforge.net/projects/avra - */ - -#include -#include -#include - -#include "misc.h" -#include "args.h" - - -struct args *alloc_args(int arg_count) - { - struct args *args; - - args = malloc(sizeof(struct args)); - if(args) - { - args->arg = malloc(sizeof(struct arg) * arg_count); - if(args->arg) - { - args->count = arg_count; - args->first_data = NULL; - return(args); - } - free(args); - } - printf("Error: Unable to allocate memory\n"); - return(NULL); - } - - - -int read_args(struct args *args, int argc, char *argv[]) - { - int i, j, k, ok = True, i_old; - struct data_list **last_data; - - args->first_data = NULL; - last_data = &args->first_data; - for(i = 1; (i < argc) && ok; i++) - { - - - if(argv[i][0] == '-') - { - last_data = &args->first_data; - if(argv[i][1] == '-') - { - j = 0; - while((args->arg[j].longarg ? strcmp(&argv[i][2], args->arg[j].longarg) : True) && (j != args->count)) - j++; - if(j == args->count) - { - printf("Error: Unknown option: %s\n", argv[i] ); - ok = False; - } - else - { - switch(args->arg[j].type) - { - case ARGTYPE_STRING: - case ARGTYPE_STRING_MULTISINGLE: - if((i + 1) == argc) - { - printf("Error: No argument supplied with option: %s\n", argv[i]); - ok = False; - } - else if(args->arg[j].type != ARGTYPE_STRING_MULTISINGLE) - args->arg[j].data = argv[++i]; - else - ok = add_arg((struct data_list **)&args->arg[j].data, argv[++i]); - break; - case ARGTYPE_BOOLEAN: - args->arg[j].data = (char *)True; - break; - case ARGTYPE_STRING_MULTI: - last_data = (struct data_list **)&args->arg[j].data; - break; - //added by TW - //case ARGTYPE_CHAR_ATTACHED: - // args->arg[j].data = argv[i]; - //break; - } - } - } - else - { - // ToDo: Sjekk for enkel - - for(k = 1, i_old = i; (argv[i][k] != '\0') && ok && (i == i_old); k++) - { - j = 0; - while((argv[i][k] != args->arg[j].letter) && (j != args->count)) - j++; - if(j == args->count) - { - printf("Error: Unknown option: -%c\n", argv[i][k]); - ok = False; - } - else - { - switch(args->arg[j].type) - { - case ARGTYPE_STRING: - case ARGTYPE_STRING_MULTISINGLE: - if(argv[i][k + 1] != '\0') - { - printf("Error: Option -%c must be followed by it's argument\n", argv[i][k]); - ok = False; - } - else - { - if((i + 1) == argc) - { - printf("Error: No argument supplied with option: -%c\n", argv[i][k]); - ok = False; - } - else if(args->arg[j].type != ARGTYPE_STRING_MULTISINGLE) - args->arg[j].data = argv[++i]; - else - ok = add_arg((struct data_list **)&args->arg[j].data, argv[++i]); - } - break; - case ARGTYPE_BOOLEAN: - args->arg[j].data = (char *)True; - break; - case ARGTYPE_STRING_MULTI: - last_data = (struct data_list **)&args->arg[j].data; - break; - //added by TW - case ARGTYPE_CHAR_ATTACHED: - if((i + 1) == argc) - { - printf("Error: missing arguments: asm file"); - ok = False; - } - else - { - switch(argv[i][++k]) - { - case 'O': args->arg[j].data = (char *)AVRSTUDIO; - break; - case 'G': args->arg[j].data = (char *)GENERIC; - break; - case 'I': args->arg[j].data = (char *)INTEL; - break; - case 'M': args->arg[j].data = (char *)MOTOROLA; - break; - default: printf("Error: wrong file type '%c'",argv[i][2]); - ok = False; - } - } - } - } - } - } - } - else - ok = add_arg(last_data, argv[i]); - } - return(ok); - } - - -int add_arg(struct data_list **last_data, char *argv) - { - struct data_list *data; - - while(*last_data) last_data = &((*last_data)->next); - data = malloc(sizeof(struct data_list)); - if(data) - { - data->next = NULL; - data->data = argv; - *last_data = data; - last_data = &data->next; - } - else - { - printf("Error: Unable to allocate memory\n"); - return(False); - } - return(True); - } - - -void free_args(struct args *args) - { - int i; - struct data_list *data, *temp; - - for(data = args->first_data; data;) - { - temp = data; - data = data->next; - free(temp); - } - for(i = 0; i != args->count; i++) - if((args->arg[i].type == ARGTYPE_STRING_MULTI) - || (args->arg[i].type == ARGTYPE_STRING_MULTISINGLE)) - for(data = args->arg[i].data; data;) - { - temp = data; - data = data->next; - free(temp); - } - free(args); - } - - -void define_arg(struct args *args, int index, int type, char letter, char *longarg, void *def_value) - { - args->arg[index].type = type; - args->arg[index].letter = letter; - args->arg[index].longarg = longarg; - args->arg[index].data = def_value; - } +/*********************************************************************** + * avra - Assembler for the Atmel AVR microcontroller series + * Copyright (C) 1998-2001 Jon Anders Haugum + * Copyright (C) 2002-2003 Tobias Weber + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * + * Authors of avra can be reached at: + * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com + * www: http://sourceforge.net/projects/avra + */ + +#include +#include +#include + +#include "misc.h" +#include "args.h" + + +struct args *alloc_args(int arg_count) + { + struct args *args; + + args = malloc(sizeof(struct args)); + if(args) + { + args->arg = malloc(sizeof(struct arg) * arg_count); + if(args->arg) + { + args->count = arg_count; + args->first_data = NULL; + return(args); + } + free(args); + } + printf("Error: Unable to allocate memory\n"); + return(NULL); + } + + + +int read_args(struct args *args, int argc, char *argv[]) + { + int i, j, k, ok = True, i_old; + struct data_list **last_data; + + args->first_data = NULL; + last_data = &args->first_data; + for(i = 1; (i < argc) && ok; i++) + { + + + if(argv[i][0] == '-') + { + last_data = &args->first_data; + if(argv[i][1] == '-') + { + j = 0; + while((args->arg[j].longarg ? strcmp(&argv[i][2], args->arg[j].longarg) : True) && (j != args->count)) + j++; + if(j == args->count) + { + printf("Error: Unknown option: %s\n", argv[i] ); + ok = False; + } + else + { + switch(args->arg[j].type) + { + case ARGTYPE_STRING: + case ARGTYPE_STRING_MULTISINGLE: + if((i + 1) == argc) + { + printf("Error: No argument supplied with option: %s\n", argv[i]); + ok = False; + } + else if(args->arg[j].type != ARGTYPE_STRING_MULTISINGLE) + args->arg[j].data = argv[++i]; + else + ok = add_arg((struct data_list **)&args->arg[j].data, argv[++i]); + break; + case ARGTYPE_BOOLEAN: + args->arg[j].data = (char *)True; + break; + case ARGTYPE_STRING_MULTI: + last_data = (struct data_list **)&args->arg[j].data; + break; + //added by TW + //case ARGTYPE_CHAR_ATTACHED: + // args->arg[j].data = argv[i]; + //break; + } + } + } + else + { + // ToDo: Sjekk for enkel - + for(k = 1, i_old = i; (argv[i][k] != '\0') && ok && (i == i_old); k++) + { + j = 0; + while((argv[i][k] != args->arg[j].letter) && (j != args->count)) + j++; + if(j == args->count) + { + printf("Error: Unknown option: -%c\n", argv[i][k]); + ok = False; + } + else + { + switch(args->arg[j].type) + { + case ARGTYPE_STRING: + case ARGTYPE_STRING_MULTISINGLE: + if(argv[i][k + 1] != '\0') + { + printf("Error: Option -%c must be followed by it's argument\n", argv[i][k]); + ok = False; + } + else + { + if((i + 1) == argc) + { + printf("Error: No argument supplied with option: -%c\n", argv[i][k]); + ok = False; + } + else if(args->arg[j].type != ARGTYPE_STRING_MULTISINGLE) + args->arg[j].data = argv[++i]; + else + ok = add_arg((struct data_list **)&args->arg[j].data, argv[++i]); + } + break; + case ARGTYPE_BOOLEAN: + args->arg[j].data = (char *)True; + break; + case ARGTYPE_STRING_MULTI: + last_data = (struct data_list **)&args->arg[j].data; + break; + //added by TW + case ARGTYPE_CHAR_ATTACHED: + if((i + 1) == argc) + { + printf("Error: missing arguments: asm file"); + ok = False; + } + else + { + switch(argv[i][++k]) + { + case 'O': args->arg[j].data = (char *)AVRSTUDIO; + break; + case 'G': args->arg[j].data = (char *)GENERIC; + break; + case 'I': args->arg[j].data = (char *)INTEL; + break; + case 'M': args->arg[j].data = (char *)MOTOROLA; + break; + default: printf("Error: wrong file type '%c'",argv[i][2]); + ok = False; + } + } + } + } + } + } + } + else + ok = add_arg(last_data, argv[i]); + } + return(ok); + } + + +int add_arg(struct data_list **last_data, char *argv) + { + struct data_list *data; + + while(*last_data) last_data = &((*last_data)->next); + data = malloc(sizeof(struct data_list)); + if(data) + { + data->next = NULL; + data->data = argv; + *last_data = data; + last_data = &data->next; + } + else + { + printf("Error: Unable to allocate memory\n"); + return(False); + } + return(True); + } + + +void free_args(struct args *args) + { + int i; + struct data_list *data, *temp; + + for(data = args->first_data; data;) + { + temp = data; + data = data->next; + free(temp); + } + for(i = 0; i != args->count; i++) + if((args->arg[i].type == ARGTYPE_STRING_MULTI) + || (args->arg[i].type == ARGTYPE_STRING_MULTISINGLE)) + for(data = args->arg[i].data; data;) + { + temp = data; + data = data->next; + free(temp); + } + free(args); + } + + +void define_arg(struct args *args, int index, int type, char letter, char *longarg, void *def_value) + { + args->arg[index].type = type; + args->arg[index].letter = letter; + args->arg[index].longarg = longarg; + args->arg[index].data = def_value; + } diff --git a/src/mkutil/avra-0.8/SOURCE/args.h b/src/mkutil/avra-0.8/SOURCE/args.h index 4bdc0c6d..d864eabd 100644 --- a/src/mkutil/avra-0.8/SOURCE/args.h +++ b/src/mkutil/avra-0.8/SOURCE/args.h @@ -1,65 +1,65 @@ -/*********************************************************************** - * avra - Assembler for the Atmel AVR microcontroller series - * Copyright (C) 1998-2001 Jon Anders Haugum - * Copyright (C) 2002-2003 Tobias Weber - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - * - * Authors of avra can be reached at: - * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com - * www: http://sourceforge.net/projects/avra - */ - -enum - { - ARGTYPE_BOOLEAN = 0, /* boolean Value (0 = False) */ - ARGTYPE_STRING, /* Stringpointer in Data */ - ARGTYPE_STRING_MULTI, /* List of strings in Data */ - ARGTYPE_STRING_MULTISINGLE, /* List of strings in Data. requires an option for each elemtent */ - //added by TW - ARGTYPE_CHAR_ATTACHED - }; - -#define GET_ARG(args,argnum) (args->arg[argnum].data) -#define SET_ARG(args,argnum,value) (args->arg[argnum].data = (void *)value) - -struct args - { - struct arg *arg; - int count; - struct data_list *first_data; - }; - -struct arg - { - int type; - char letter; - char *longarg; - void *data; - }; - -struct data_list - { - struct data_list *next; - void *data; - }; - -struct args *alloc_args(int arg_count); -int read_args(struct args *args, int argc, char *argv[]); -int add_arg(struct data_list **last_data, char *argv); -void free_args(struct args *args); -void define_arg(struct args *args, int index, int type, char letter, char *longarg, void *def_value); +/*********************************************************************** + * avra - Assembler for the Atmel AVR microcontroller series + * Copyright (C) 1998-2001 Jon Anders Haugum + * Copyright (C) 2002-2003 Tobias Weber + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * + * Authors of avra can be reached at: + * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com + * www: http://sourceforge.net/projects/avra + */ + +enum + { + ARGTYPE_BOOLEAN = 0, /* boolean Value (0 = False) */ + ARGTYPE_STRING, /* Stringpointer in Data */ + ARGTYPE_STRING_MULTI, /* List of strings in Data */ + ARGTYPE_STRING_MULTISINGLE, /* List of strings in Data. requires an option for each elemtent */ + //added by TW + ARGTYPE_CHAR_ATTACHED + }; + +#define GET_ARG(args,argnum) (args->arg[argnum].data) +#define SET_ARG(args,argnum,value) (args->arg[argnum].data = (void *)value) + +struct args + { + struct arg *arg; + int count; + struct data_list *first_data; + }; + +struct arg + { + int type; + char letter; + char *longarg; + void *data; + }; + +struct data_list + { + struct data_list *next; + void *data; + }; + +struct args *alloc_args(int arg_count); +int read_args(struct args *args, int argc, char *argv[]); +int add_arg(struct data_list **last_data, char *argv); +void free_args(struct args *args); +void define_arg(struct args *args, int index, int type, char letter, char *longarg, void *def_value); diff --git a/src/mkutil/avra-0.8/SOURCE/avra.h b/src/mkutil/avra-0.8/SOURCE/avra.h index 464fc076..0803e329 100644 --- a/src/mkutil/avra-0.8/SOURCE/avra.h +++ b/src/mkutil/avra-0.8/SOURCE/avra.h @@ -1,295 +1,295 @@ -/*********************************************************************** - * avra - Assembler for the Atmel AVR microcontroller series - * Copyright (C) 1998-2001 Jon Anders Haugum - * Copyright (C) 2002-2003 Tobias Weber - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - * - * Authors of avra can be reached at: - * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com - * www: http://sourceforge.net/projects/avra - */ - -#include - -#define VERSION 0 -#define REVISION 8 -#define DATESTRING "31 January 2003" - -#define IS_HOR_SPACE(x) ((x == ' ') || (x == 9)) -#define IS_LABEL(x) (isalnum(x) || (x == '_')) -#define IS_END(x) ((x == ';') || (x == 10) || (x == 13)|| (x == '\0')) -#define IS_ENDLINE(x) ( (x == 10) || (x == 13)|| (x == '\0')) - -#define LINEBUFFER_LENGTH 256 - -//added by TW -#define MAX_MACRO_ARGS 10 - -#define DSEG_START 0x60 - -/* Option enumeration */ -enum - { - ARG_DEFINE = 0, /* --define, -D */ - ARG_INCLUDEDIR, /* --includedir, -I */ - ARG_LISTMAC, /* --listmac */ - ARG_MAX_ERRORS, /* --max_errors */ - ARG_COFF, /* --coff */ - ARG_DEVICES, /* --devices */ - ARG_VER, /* --version */ - ARG_HELP, /* --help, -h */ - //added by TW - ARG_WRAP, /* --wrap */ - ARG_FILEFORMAT, /* --filetype */ - ARG_LISTFILE, /* --listfile */ - ARG_OUTFILE, /* --outfile */ - ARG_MAPFILE, /* --mapfile */ - ARG_DEBUGFILE, /* --debugfile */ - ARG_EEPFILE, /* --eepfile */ - ARG_COUNT - }; - -enum - { - MSGTYPE_ERROR = 0, - MSGTYPE_WARNING, - MSGTYPE_MESSAGE, - MSGTYPE_OUT_OF_MEM - }; - -enum - { - PASS_1 = 0, - PASS_2 - }; - -enum - { - SEGMENT_CODE = 0, - SEGMENT_DATA, - SEGMENT_EEPROM - }; - -enum - { - TERM_END = 0, - TERM_SPACE, - TERM_COMMA, - TERM_EQUAL, - TERM_DASH, - TERM_DOUBLEQUOTE, - TERM_COLON - }; - -/* Structures */ - -struct prog_info - { - struct args *args; - struct device *device; - struct file_info *fi; - struct macro_call *macro_call; - struct macro_line *macro_line; - FILE *list_file; - int list_on; - char *list_line; - FILE *obj_file; - struct hex_file_info *hfi; - struct hex_file_info *eep_hfi; - int segment; - int cseg_addr; - int dseg_addr; - int eseg_addr; - int cseg_count; - int dseg_count; - int eseg_count; - int error_count; - int max_errors; - int warning_count; - struct include_file *last_include_file; - struct include_file *first_include_file; - struct def *first_def; - struct def *last_def; - struct label *first_label; - struct label *last_label; - struct label *first_constant; - struct label *last_constant; - struct label *first_variable; - struct label *last_variable; - struct macro *first_macro; - struct macro *last_macro; - struct macro_call *first_macro_call; - struct macro_call *last_macro_call; - int conditional_depth; - /* coff additions */ - FILE *coff_file; - }; - -struct file_info - { - FILE *fp; - struct include_file *include_file; - char buff[LINEBUFFER_LENGTH]; - char scratch[LINEBUFFER_LENGTH]; - int line_number; - int exit_file; - struct label *label; - }; - -struct hex_file_info - { - FILE *fp; - int count; - int linestart_addr; - int segment; - unsigned char hex_line[16]; - }; - -struct include_file - { - struct include_file *next; - char *name; - int num; - }; - -struct def - { - struct def *next; - char *name; - int reg; - }; - -struct label - { - struct label *next; - char *name; - int value; - }; - -struct macro - { - struct macro *next; - char *name; - struct include_file *include_file; - int first_line_number; - struct macro_line *first_macro_line; - }; - -struct macro_line - { - struct macro_line *next; - char *line; - }; - -struct macro_call - { - struct macro_call *next; - int line_number; - struct include_file *include_file; - struct macro_call *prev_on_stack; - struct macro *macro; - int line_index; - int prev_line_index; - int nest_level; - struct label *first_label; - struct label *last_label; - }; - -/* Prototypes */ -/* avra.c */ -void assemble(struct prog_info *pi); -int load_arg_defines(struct prog_info *pi); -struct prog_info *get_pi(struct args *args); -void free_pi(struct prog_info *pi); -void prepare_second_pass(struct prog_info *pi); -void print_msg(struct prog_info *pi, int type, char *fmt, ... ); - -/* parser.c */ -int parse_file(struct prog_info *pi, char *filename, int pass); -int parse_line(struct prog_info *pi, char *line, int pass); -char *get_next_token(char *scratch, int term); - -/* expr.c */ -int get_expr(struct prog_info *pi, char *data, int *value); -int get_operator(char *op); -int test_operator_at_precedence(int operator, int precedence); -int calc(struct prog_info *pi, int left, int operator, int right); -int get_function(char *function); -int do_function(int function, int value); -int log2(int value); -int get_symbol(struct prog_info *pi, char *label_name, int *data); -int par_length(char *data); - -/* mnemonic.c */ -int parse_mnemonic(struct prog_info *pi, int pass); -int get_mnemonic_type(char *mnemonic); -int get_register(struct prog_info *pi, char *data); -int get_bitnum(struct prog_info *pi, char *data, int *ret); -int get_indirect(struct prog_info *pi, char *operand); -int is_supported(struct prog_info *pi, char *name); -int count_supported_instructions(int flags); - -/* directiv.c */ -int parse_directive(struct prog_info *pi, int pass); -int get_directive_type(char *directive); -char *term_string(struct prog_info *pi, char *string); -int parse_db(struct prog_info *pi, char *next, int pass); -void write_db(struct prog_info *pi, char byte, char *prev, int count, int pass); -int spool_conditional(struct prog_info *pi, int only_endif); -int check_conditional(struct prog_info *pi, char *buff, int *current_depth, int *do_next, int only_endif); -int test_include(const char *filename); - -/* macro.c */ -int read_macro(struct prog_info *pi, char *name, int pass); -struct macro *get_macro(struct prog_info *pi, char *name); -int expand_macro(struct prog_info *pi, struct macro *macro, char *rest_line, int pass); - -/* file.c */ -int open_out_files(struct prog_info *pi, char *filename); -void close_out_files(struct prog_info *pi); -struct hex_file_info *open_hex_file(char *filename); -void close_hex_file(struct hex_file_info *hfi); -void write_ee_byte(struct prog_info *pi, int address, unsigned char data); -void write_prog_word(struct prog_info *pi, int address, int data); -void do_hex_line(struct hex_file_info *hfi); -FILE *open_obj_file(struct prog_info *pi, char *filename); -void close_obj_file(struct prog_info *pi, FILE *fp); -void write_obj_record(struct prog_info *pi, int address, int data); - -/* map.c */ -void write_map_file(struct prog_info *pi); -char *Space(char *n); - -/* stdextra.c */ -char *nocase_strcmp(char *s, char *t); -char *nocase_strncmp(char *s, char *t, int n); -char *nocase_strstr(char *s, char *t); -int atox(char *s); -int atoi_n(char *s, int n); -int atox_n(char *s, int n); -char *my_strlwr(char *in); -char *my_strupr(char *in); - -/* coff.c */ -FILE *open_coff_file(struct prog_info *pi, char *filename); -void write_coff_file(struct prog_info *pi); -void write_coff_eeprom( struct prog_info *pi, int address, unsigned char data); -void write_coff_program( struct prog_info *pi, int address, unsigned int data); -void close_coff_file(struct prog_info *pi, FILE *fp); -int parse_stabs( struct prog_info *pi, char *p, int pass ); -int parse_stabn( struct prog_info *pi, char *p, int pass ); +/*********************************************************************** + * avra - Assembler for the Atmel AVR microcontroller series + * Copyright (C) 1998-2001 Jon Anders Haugum + * Copyright (C) 2002-2003 Tobias Weber + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * + * Authors of avra can be reached at: + * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com + * www: http://sourceforge.net/projects/avra + */ + +#include + +#define VERSION 0 +#define REVISION 8 +#define DATESTRING "31 January 2003" + +#define IS_HOR_SPACE(x) ((x == ' ') || (x == 9)) +#define IS_LABEL(x) (isalnum(x) || (x == '_')) +#define IS_END(x) ((x == ';') || (x == 10) || (x == 13)|| (x == '\0')) +#define IS_ENDLINE(x) ( (x == 10) || (x == 13)|| (x == '\0')) + +#define LINEBUFFER_LENGTH 256 + +//added by TW +#define MAX_MACRO_ARGS 10 + +#define DSEG_START 0x60 + +/* Option enumeration */ +enum + { + ARG_DEFINE = 0, /* --define, -D */ + ARG_INCLUDEDIR, /* --includedir, -I */ + ARG_LISTMAC, /* --listmac */ + ARG_MAX_ERRORS, /* --max_errors */ + ARG_COFF, /* --coff */ + ARG_DEVICES, /* --devices */ + ARG_VER, /* --version */ + ARG_HELP, /* --help, -h */ + //added by TW + ARG_WRAP, /* --wrap */ + ARG_FILEFORMAT, /* --filetype */ + ARG_LISTFILE, /* --listfile */ + ARG_OUTFILE, /* --outfile */ + ARG_MAPFILE, /* --mapfile */ + ARG_DEBUGFILE, /* --debugfile */ + ARG_EEPFILE, /* --eepfile */ + ARG_COUNT + }; + +enum + { + MSGTYPE_ERROR = 0, + MSGTYPE_WARNING, + MSGTYPE_MESSAGE, + MSGTYPE_OUT_OF_MEM + }; + +enum + { + PASS_1 = 0, + PASS_2 + }; + +enum + { + SEGMENT_CODE = 0, + SEGMENT_DATA, + SEGMENT_EEPROM + }; + +enum + { + TERM_END = 0, + TERM_SPACE, + TERM_COMMA, + TERM_EQUAL, + TERM_DASH, + TERM_DOUBLEQUOTE, + TERM_COLON + }; + +/* Structures */ + +struct prog_info + { + struct args *args; + struct device *device; + struct file_info *fi; + struct macro_call *macro_call; + struct macro_line *macro_line; + FILE *list_file; + int list_on; + char *list_line; + FILE *obj_file; + struct hex_file_info *hfi; + struct hex_file_info *eep_hfi; + int segment; + int cseg_addr; + int dseg_addr; + int eseg_addr; + int cseg_count; + int dseg_count; + int eseg_count; + int error_count; + int max_errors; + int warning_count; + struct include_file *last_include_file; + struct include_file *first_include_file; + struct def *first_def; + struct def *last_def; + struct label *first_label; + struct label *last_label; + struct label *first_constant; + struct label *last_constant; + struct label *first_variable; + struct label *last_variable; + struct macro *first_macro; + struct macro *last_macro; + struct macro_call *first_macro_call; + struct macro_call *last_macro_call; + int conditional_depth; + /* coff additions */ + FILE *coff_file; + }; + +struct file_info + { + FILE *fp; + struct include_file *include_file; + char buff[LINEBUFFER_LENGTH]; + char scratch[LINEBUFFER_LENGTH]; + int line_number; + int exit_file; + struct label *label; + }; + +struct hex_file_info + { + FILE *fp; + int count; + int linestart_addr; + int segment; + unsigned char hex_line[16]; + }; + +struct include_file + { + struct include_file *next; + char *name; + int num; + }; + +struct def + { + struct def *next; + char *name; + int reg; + }; + +struct label + { + struct label *next; + char *name; + int value; + }; + +struct macro + { + struct macro *next; + char *name; + struct include_file *include_file; + int first_line_number; + struct macro_line *first_macro_line; + }; + +struct macro_line + { + struct macro_line *next; + char *line; + }; + +struct macro_call + { + struct macro_call *next; + int line_number; + struct include_file *include_file; + struct macro_call *prev_on_stack; + struct macro *macro; + int line_index; + int prev_line_index; + int nest_level; + struct label *first_label; + struct label *last_label; + }; + +/* Prototypes */ +/* avra.c */ +void assemble(struct prog_info *pi); +int load_arg_defines(struct prog_info *pi); +struct prog_info *get_pi(struct args *args); +void free_pi(struct prog_info *pi); +void prepare_second_pass(struct prog_info *pi); +void print_msg(struct prog_info *pi, int type, char *fmt, ... ); + +/* parser.c */ +int parse_file(struct prog_info *pi, char *filename, int pass); +int parse_line(struct prog_info *pi, char *line, int pass); +char *get_next_token(char *scratch, int term); + +/* expr.c */ +int get_expr(struct prog_info *pi, char *data, int *value); +int get_operator(char *op); +int test_operator_at_precedence(int operator, int precedence); +int calc(struct prog_info *pi, int left, int operator, int right); +int get_function(char *function); +int do_function(int function, int value); +int log2(int value); +int get_symbol(struct prog_info *pi, char *label_name, int *data); +int par_length(char *data); + +/* mnemonic.c */ +int parse_mnemonic(struct prog_info *pi, int pass); +int get_mnemonic_type(char *mnemonic); +int get_register(struct prog_info *pi, char *data); +int get_bitnum(struct prog_info *pi, char *data, int *ret); +int get_indirect(struct prog_info *pi, char *operand); +int is_supported(struct prog_info *pi, char *name); +int count_supported_instructions(int flags); + +/* directiv.c */ +int parse_directive(struct prog_info *pi, int pass); +int get_directive_type(char *directive); +char *term_string(struct prog_info *pi, char *string); +int parse_db(struct prog_info *pi, char *next, int pass); +void write_db(struct prog_info *pi, char byte, char *prev, int count, int pass); +int spool_conditional(struct prog_info *pi, int only_endif); +int check_conditional(struct prog_info *pi, char *buff, int *current_depth, int *do_next, int only_endif); +int test_include(const char *filename); + +/* macro.c */ +int read_macro(struct prog_info *pi, char *name, int pass); +struct macro *get_macro(struct prog_info *pi, char *name); +int expand_macro(struct prog_info *pi, struct macro *macro, char *rest_line, int pass); + +/* file.c */ +int open_out_files(struct prog_info *pi, char *filename); +void close_out_files(struct prog_info *pi); +struct hex_file_info *open_hex_file(char *filename); +void close_hex_file(struct hex_file_info *hfi); +void write_ee_byte(struct prog_info *pi, int address, unsigned char data); +void write_prog_word(struct prog_info *pi, int address, int data); +void do_hex_line(struct hex_file_info *hfi); +FILE *open_obj_file(struct prog_info *pi, char *filename); +void close_obj_file(struct prog_info *pi, FILE *fp); +void write_obj_record(struct prog_info *pi, int address, int data); + +/* map.c */ +void write_map_file(struct prog_info *pi); +char *Space(char *n); + +/* stdextra.c */ +char *nocase_strcmp(char *s, char *t); +char *nocase_strncmp(char *s, char *t, int n); +char *nocase_strstr(char *s, char *t); +int atox(char *s); +int atoi_n(char *s, int n); +int atox_n(char *s, int n); +char *my_strlwr(char *in); +char *my_strupr(char *in); + +/* coff.c */ +FILE *open_coff_file(struct prog_info *pi, char *filename); +void write_coff_file(struct prog_info *pi); +void write_coff_eeprom( struct prog_info *pi, int address, unsigned char data); +void write_coff_program( struct prog_info *pi, int address, unsigned int data); +void close_coff_file(struct prog_info *pi, FILE *fp); +int parse_stabs( struct prog_info *pi, char *p, int pass ); +int parse_stabn( struct prog_info *pi, char *p, int pass ); diff --git a/src/mkutil/avra-0.8/SOURCE/device.h b/src/mkutil/avra-0.8/SOURCE/device.h index 1d627bf5..c7ae1191 100644 --- a/src/mkutil/avra-0.8/SOURCE/device.h +++ b/src/mkutil/avra-0.8/SOURCE/device.h @@ -1,32 +1,32 @@ - -/* Device flags */ -#define DF_NO_MUL 0x00000001 -#define DF_NO_JMP 0x00000002 // No JMP, CALL -#define DF_NO_XREG 0x00000004 // No X register -#define DF_NO_YREG 0x00000008 // No Y register -#define DF_TINY1X 0x00000010 /* AT90S1200, ATtiny10-12 set: No ADIW, SBIW, - IJMP, ICALL, LDD, STD, LDS, STS, PUSH, POP */ -#define DF_NO_LPM 0x00000020 // No LPM instruction -#define DF_NO_LPM_X 0x00000040 // No LPM Rd,Z or LPM Rd,Z+ instruction -#define DF_NO_ELPM 0x00000080 // No ELPM instruction -#define DF_NO_ELPM_X 0x00000100 // No ELPM Rd,Z or LPM Rd,Z+ instruction -#define DF_NO_SPM 0x00000200 // No SPM instruction -#define DF_NO_ESPM 0x00000400 // No ESPM instruction -#define DF_NO_MOVW 0x00000800 // No MOVW instruction -#define DF_NO_BREAK 0x00001000 // No BREAK instruction -#define DF_NO_EICALL 0x00002000 // No EICALL instruction -#define DF_NO_EIJMP 0x00004000 // No EIJMP instruction - -struct device - { - char *name; - int flash_size; - int ram_size; - int eeprom_size; - int flag; - }; - -/* device.c */ -struct device *get_device(struct prog_info *pi,char *name); -void predef_dev(struct prog_info *pi); -void list_devices(); + +/* Device flags */ +#define DF_NO_MUL 0x00000001 +#define DF_NO_JMP 0x00000002 // No JMP, CALL +#define DF_NO_XREG 0x00000004 // No X register +#define DF_NO_YREG 0x00000008 // No Y register +#define DF_TINY1X 0x00000010 /* AT90S1200, ATtiny10-12 set: No ADIW, SBIW, + IJMP, ICALL, LDD, STD, LDS, STS, PUSH, POP */ +#define DF_NO_LPM 0x00000020 // No LPM instruction +#define DF_NO_LPM_X 0x00000040 // No LPM Rd,Z or LPM Rd,Z+ instruction +#define DF_NO_ELPM 0x00000080 // No ELPM instruction +#define DF_NO_ELPM_X 0x00000100 // No ELPM Rd,Z or LPM Rd,Z+ instruction +#define DF_NO_SPM 0x00000200 // No SPM instruction +#define DF_NO_ESPM 0x00000400 // No ESPM instruction +#define DF_NO_MOVW 0x00000800 // No MOVW instruction +#define DF_NO_BREAK 0x00001000 // No BREAK instruction +#define DF_NO_EICALL 0x00002000 // No EICALL instruction +#define DF_NO_EIJMP 0x00004000 // No EIJMP instruction + +struct device + { + char *name; + int flash_size; + int ram_size; + int eeprom_size; + int flag; + }; + +/* device.c */ +struct device *get_device(struct prog_info *pi,char *name); +void predef_dev(struct prog_info *pi); +void list_devices(); diff --git a/src/mkutil/avra-0.8/SOURCE/directiv.c b/src/mkutil/avra-0.8/SOURCE/directiv.c index 5f27dd4f..6de5b943 100644 --- a/src/mkutil/avra-0.8/SOURCE/directiv.c +++ b/src/mkutil/avra-0.8/SOURCE/directiv.c @@ -1,824 +1,824 @@ -/*********************************************************************** - * avra - Assembler for the Atmel AVR microcontroller series - * Copyright (C) 1998-2001 Jon Anders Haugum - * Copyright (C) 2002-2003 Tobias Weber - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - * - * Authors of avra can be reached at: - * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com - * www: http://sourceforge.net/projects/avra - */ - -#include -#include -#include -#include - -#include "misc.h" -#include "args.h" -#include "avra.h" -#include "device.h" - -enum - { - DIRECTIVE_BYTE = 0, - DIRECTIVE_CSEG, - DIRECTIVE_CSEGSIZE, - DIRECTIVE_DB, - DIRECTIVE_DEF, - DIRECTIVE_DEVICE, - DIRECTIVE_DSEG, - DIRECTIVE_DW, - DIRECTIVE_ENDM, - DIRECTIVE_ENDMACRO, - DIRECTIVE_EQU, - DIRECTIVE_ESEG, - DIRECTIVE_EXIT, - DIRECTIVE_INCLUDE, - DIRECTIVE_LIST, - DIRECTIVE_LISTMAC, - DIRECTIVE_MACRO, - DIRECTIVE_NOLIST, - DIRECTIVE_ORG, - DIRECTIVE_SET, - DIRECTIVE_DEFINE, - DIRECTIVE_UNDEF, - DIRECTIVE_IFDEF, - DIRECTIVE_IFNDEF, - DIRECTIVE_IF, - DIRECTIVE_ELSE, - DIRECTIVE_ELIF, - DIRECTIVE_ENDIF, - DIRECTIVE_MESSAGE, - DIRECTIVE_WARNING, - DIRECTIVE_ERROR, - DIRECTIVE_COUNT - }; - -char *directive_list[] = - { - "BYTE", - "CSEG", - "CSEGSIZE", - "DB", - "DEF", - "DEVICE", - "DSEG", - "DW", - "ENDM", - "ENDMACRO", - "EQU", - "ESEG", - "EXIT", - "INCLUDE", - "LIST", - "LISTMAC", - "MACRO", - "NOLIST", - "ORG", - "SET", - "DEFINE", - "UNDEF", - "IFDEF", - "IFNDEF", - "IF", - "ELSE", - "ELIF", - "ENDIF", - "MESSAGE", - "WARNING", - "ERROR" - }; - - -int parse_directive(struct prog_info *pi, int pass) - { - int directive, ok = True, i; - char *next, *data; - struct file_info *fi_bak; - struct label *label; - struct def *def; - struct data_list *includedir; - - next = get_next_token(pi->fi->scratch, TERM_SPACE); - for(i = 0; pi->fi->scratch[i] != '\0'; i++) - pi->fi->scratch[i] = toupper(pi->fi->scratch[i]); - directive = get_directive_type(pi->fi->scratch + 1); - if(directive == -1) - { - print_msg(pi, MSGTYPE_ERROR, "Unknown directive: %s", pi->fi->scratch); - return(True); - } - switch(directive) - { - case DIRECTIVE_BYTE: - if(!next) - { - print_msg(pi, MSGTYPE_ERROR, ".BYTE needs an operand"); - return(True); - } - if(pi->segment != SEGMENT_DATA) - print_msg(pi, MSGTYPE_ERROR, ".BYTE directive can only be used in data segment (.DSEG)"); - get_next_token(next, TERM_END); - if(!get_expr(pi, next, &i)) - return(False); - if((pass == PASS_2) && pi->list_line && pi->list_on) - { - fprintf(pi->list_file, "%06x %s", pi->dseg_addr, pi->list_line); - pi->list_line = NULL; - } - pi->dseg_addr += i; - if(pass == PASS_1) - pi->dseg_count += i; - break; - case DIRECTIVE_CSEG: - pi->segment = SEGMENT_CODE; - break; - case DIRECTIVE_CSEGSIZE: - break; - case DIRECTIVE_DB: - return(parse_db(pi, next, pass)); - break; - case DIRECTIVE_DEF: - if(!next) - { - print_msg(pi, MSGTYPE_ERROR, ".DEF needs an operand"); - return(True); - } - data = get_next_token(next, TERM_EQUAL); - if(!(data && (tolower(data[0]) == 'r') && isdigit(data[1]))) - { - print_msg(pi, MSGTYPE_ERROR, "%s needs a register (e.g. .def BZZZT = r16)", next); - return(True); - } - i = atoi(&data[1]); - if(i > 31) - print_msg(pi, MSGTYPE_ERROR, "R%d is not a valid register", i); - for(def = pi->first_def; def; def = def->next) - if(!nocase_strcmp(def->name, next)) - { - def->reg = i; - return(True); - } - def = malloc(sizeof(struct def)); - if(!def) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - def->next = NULL; - if(pi->last_def) - pi->last_def->next = def; - else - pi->first_def = def; - pi->last_def = def; - def->name = malloc(strlen(next) + 1); - if(!def->name) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - strcpy(def->name, next); - def->reg = i; - break; - case DIRECTIVE_DEVICE: - if(pass == PASS_2) - return(True); - if(!next) - { - print_msg(pi, MSGTYPE_ERROR, ".DEVICE needs an operand"); - return(True); - } - get_next_token(next, TERM_END); - pi->device = get_device(pi,next); - if(!pi->device) - print_msg(pi, MSGTYPE_ERROR, "Unknown device: %s", next); - break; - case DIRECTIVE_DSEG: - pi->segment = SEGMENT_DATA; - break; - case DIRECTIVE_DW: - if(pi->segment == SEGMENT_DATA) - { - print_msg(pi, MSGTYPE_ERROR, "Can't use .DW directive in data segment (.DSEG)"); - return(True); - } - while(next) - { - data = get_next_token(next, TERM_COMMA); - if(pass == PASS_2) - { - if(!get_expr(pi, next, &i)) - return(False); - if((i < -32768) || (i > 65535)) - print_msg(pi, MSGTYPE_WARNING, "Value %d is out of range (-32768 <= k <= 65535). Will be masked", i); - } - if(pi->segment == SEGMENT_EEPROM) - { - if(pass == PASS_2) - { - write_ee_byte(pi, pi->eseg_addr, (unsigned char)i); - write_ee_byte(pi, pi->eseg_addr + 1, (unsigned char)(i >> 8)); - } - pi->eseg_addr += 2; - if(pass == PASS_1) - pi->eseg_count += 2; - } - else - { - if((pass == PASS_2) && pi->hfi) - write_prog_word(pi, pi->cseg_addr, i); - pi->cseg_addr++; - if(pass == PASS_1) - pi->cseg_count++; - } - next = data; - } - break; - case DIRECTIVE_ENDM: - case DIRECTIVE_ENDMACRO: - print_msg(pi, MSGTYPE_ERROR, "No .MACRO found before .ENDMACRO"); - break; - case DIRECTIVE_EQU: - if(!next) - { - print_msg(pi, MSGTYPE_ERROR, ".EQU needs an operand"); - return(True); - } - data = get_next_token(next, TERM_EQUAL); - if(!data) - { - print_msg(pi, MSGTYPE_ERROR, "%s needs an expression (e.g. .EQU BZZZT = 0x2a)", next); - return(True); - } - get_next_token(data, TERM_END); - if(!get_expr(pi, data, &i)) - return(False); - for(label = pi->first_label; label; label = label->next) - { - if(!nocase_strcmp(label->name, next)) - { - print_msg(pi, MSGTYPE_ERROR, "%s have already been defined as a label", next); - return(True); - } - } - for(label = pi->first_variable; label; label = label->next) - if(!nocase_strcmp(label->name, next)) - { - print_msg(pi, MSGTYPE_ERROR, "%s have already been defined as a .SET variable", next); - return(True); - } - for(label = pi->first_constant; label; label = label->next) - if(!nocase_strcmp(label->name, next)) - { - print_msg(pi, MSGTYPE_ERROR, "Can't redefine constant %s, use .SET instead", next); - return(True); - } - label = malloc(sizeof(struct label)); - if(!label) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - label->next = NULL; - if(pi->last_constant) - pi->last_constant->next = label; - else - pi->first_constant = label; - pi->last_constant = label; - label->name = malloc(strlen(next) + 1); - if(!label->name) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - strcpy(label->name, next); - label->value = i; - break; - case DIRECTIVE_ESEG: - pi->segment = SEGMENT_EEPROM; - break; - case DIRECTIVE_EXIT: - pi->fi->exit_file = True; - break; - case DIRECTIVE_INCLUDE: - if(!next) - { - print_msg(pi, MSGTYPE_ERROR, "Nothing to include"); - return(True); - } - next = term_string(pi, next); - if((pass == PASS_2) && pi->list_line && pi->list_on) - { - fprintf(pi->list_file, " %s", pi->list_line); - pi->list_line = NULL; - } - // Test if include is in local directory - ok = test_include(next); - data = NULL; - if(!ok) - for(includedir = GET_ARG(pi->args, ARG_INCLUDEDIR); includedir && !ok; includedir = includedir->next) - { - i = strlen(includedir->data); - if(data) - free(data); - data = malloc(i + strlen(next) + 2); - if(!data) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - strcpy(data, includedir->data); - if((data[i - 1] != '\\') && (data[i - 1] != '/')) - data[i++] = '/'; - strcpy(&data[i], next); - ok = test_include(data); - } - if(ok) - { - fi_bak = pi->fi; - ok = parse_file(pi, data ? data : next, pass); - pi->fi = fi_bak; - } - else - print_msg(pi, MSGTYPE_ERROR, "cannot find include file"); - if(data) - free(data); - break; - case DIRECTIVE_LIST: - if(pass == PASS_2) - pi->list_on = True; - break; - case DIRECTIVE_LISTMAC: - if(pass == PASS_2) - SET_ARG(pi->args, ARG_LISTMAC, True); - break; - case DIRECTIVE_MACRO: - return(read_macro(pi, next, pass)); - break; - case DIRECTIVE_NOLIST: - if(pass == PASS_2) - pi->list_on = False; - break; - case DIRECTIVE_ORG: - if(!next) - { - print_msg(pi, MSGTYPE_ERROR, ".ORG needs an operand"); - return(True); - } - get_next_token(next, TERM_END); - if(!get_expr(pi, next, &i)) - return(False); - switch(pi->segment) - { - case SEGMENT_CODE: - pi->cseg_addr = i; - break; - case SEGMENT_DATA: - pi->dseg_addr = i; - break; - case SEGMENT_EEPROM: - pi->eseg_addr = i; - } - if(pi->fi->label) - pi->fi->label->value = i; - break; - case DIRECTIVE_SET: - if(!next) - { - print_msg(pi, MSGTYPE_ERROR, ".SET needs an operand"); - return(True); - } - data = get_next_token(next, TERM_EQUAL); - if(!data) - { - print_msg(pi, MSGTYPE_ERROR, "%s needs an expression (e.g. .SET BZZZT = 0x2a)", next); - return(True); - } - get_next_token(data, TERM_END); - if(!get_expr(pi, data, &i)) - return(False); - for(label = pi->first_label; label; label = label->next) - if(!nocase_strcmp(label->name, next)) - { - print_msg(pi, MSGTYPE_ERROR, "%s have already been defined as a label", next); - return(True); - } - for(label = pi->first_constant; label; label = label->next) - if(!nocase_strcmp(label->name, next)) - { - print_msg(pi, MSGTYPE_ERROR, "%s have already been defined as a .EQU constant", next); - return(True); - } - for(label = pi->first_variable; label; label = label->next) - if(!nocase_strcmp(label->name, next)) - { - label->value = i; - return(True); - } - label = malloc(sizeof(struct label)); - if(!label) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - label->next = NULL; - if(pi->last_variable) - pi->last_variable->next = label; - else - pi->first_variable = label; - pi->last_variable = label; - label->name = malloc(strlen(next) + 1); - if(!label->name) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - strcpy(label->name, next); - label->value = i; - break; - case DIRECTIVE_DEFINE: - if(!next) - { - print_msg(pi, MSGTYPE_ERROR, ".DEFINE needs an operand"); - return(True); - } - data = get_next_token(next, TERM_SPACE); - if(data) - { - get_next_token(data, TERM_END); - if(!get_expr(pi, data, &i)) - return(False); - } - else - i = 1; - for(label = pi->first_label; label; label = label->next) - if(!nocase_strcmp(label->name, next)) - { - print_msg(pi, MSGTYPE_ERROR, "%s have already been defined as a label", next); - return(True); - } - for(label = pi->first_variable; label; label = label->next) - if(!nocase_strcmp(label->name, next)) - { - print_msg(pi, MSGTYPE_ERROR, "%s have already been defined as a .SET variable", next); - return(True); - } - for(label = pi->first_constant; label; label = label->next) - if(!nocase_strcmp(label->name, next)) - { - print_msg(pi, MSGTYPE_ERROR, "Can't redefine constant %s, use .SET instead", next); - return(True); - } - label = malloc(sizeof(struct label)); - if(!label) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - label->next = NULL; - if(pi->last_constant) - pi->last_constant->next = label; - else - pi->first_constant = label; - pi->last_constant = label; - label->name = malloc(strlen(next) + 1); - if(!label->name) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - strcpy(label->name, next); - label->value = i; - break; - case DIRECTIVE_UNDEF: // TODO - break; - case DIRECTIVE_IFDEF: - if(!next) - { - print_msg(pi, MSGTYPE_ERROR, ".IFDEF needs an operand"); - return(True); - } - get_next_token(next, TERM_END); - if(get_symbol(pi, next, NULL)) - pi->conditional_depth++; - else - { - if(!spool_conditional(pi, False)) - return(False); - } - break; - case DIRECTIVE_IFNDEF: - if(!next) - { - print_msg(pi, MSGTYPE_ERROR, ".IFNDEF needs an operand"); - return(True); - } - get_next_token(next, TERM_END); - if(get_symbol(pi, next, NULL)) - { - if(!spool_conditional(pi, False)) - return(False); - } - else - pi->conditional_depth++; - break; - case DIRECTIVE_IF: - if(!next) - { - print_msg(pi, MSGTYPE_ERROR, ".IF needs an expression"); - return(True); - } - get_next_token(next, TERM_END); - if(!get_expr(pi, next, &i)) - return(False); - if(i) - pi->conditional_depth++; - else - { - if(!spool_conditional(pi, False)) - return(False); - } - break; - case DIRECTIVE_ELSE: - case DIRECTIVE_ELIF: - if(!spool_conditional(pi, True)) - return(False); - break; - case DIRECTIVE_ENDIF: - if(pi->conditional_depth == 0) - print_msg(pi, MSGTYPE_ERROR, "Too many .ENDIF"); - else - pi->conditional_depth--; - break; - case DIRECTIVE_MESSAGE: - if(pass == PASS_1) - return(True); - if(!next) - { - print_msg(pi, MSGTYPE_ERROR, "No message string supplied"); - return(True); - } - next = term_string(pi, next); - print_msg(pi, MSGTYPE_MESSAGE, next); - break; - case DIRECTIVE_WARNING: - if(pass == PASS_1) - return(True); - if(!next) - { - print_msg(pi, MSGTYPE_ERROR, "No warning string supplied"); - return(True); - } - next = term_string(pi, next); - print_msg(pi, MSGTYPE_WARNING, next); - break; - case DIRECTIVE_ERROR: - if(pass == PASS_1) - return(True); - if(!next) - { - print_msg(pi, MSGTYPE_ERROR, "No error string supplied"); - return(True); - } - next = term_string(pi, next); - print_msg(pi, MSGTYPE_ERROR, next); - break; - } - return(ok); - } - - -int get_directive_type(char *directive) - { - int i; - - for(i = 0; i < DIRECTIVE_COUNT; i++) - if(!strcmp(directive, directive_list[i])) return(i); - return(-1); - } - - -char *term_string(struct prog_info *pi, char *string) - { - int i; - - if(string[0] != '\"') - print_msg(pi, MSGTYPE_ERROR, "String must be enclosed in \"-signs"); - else - string++; - for(i = 0; (string[i] != '\"') && !((string[i] == 10) || (string[i] == 13) || (string[i] == '\0')); i++); - if((string[i] == 10) || (string[i] == 13) || (string[i] == '\0')) - print_msg(pi, MSGTYPE_ERROR, "String is missing a closing \"-sign"); - string[i] = '\0'; - return(string); - } - - -int parse_db(struct prog_info *pi, char *next, int pass) - { - int i, count; - char *data, prev; - - if(pi->segment == SEGMENT_DATA) - { - print_msg(pi, MSGTYPE_ERROR, "Can't use .DB directive in data segment (.DSEG)"); - return(True); - } - count = 0; - while(next) - { - data = get_next_token(next, TERM_COMMA); - if(next[0] == '\"') - { - next = term_string(pi, next); - while(*next != '\0') - { - count++; - write_db(pi, *next, &prev, count, pass); - next++; - } - } - else - { - if(pass == PASS_2) - { - if(!get_expr(pi, next, &i)) - return(False); - if((i < -128) || (i > 255)) - print_msg(pi, MSGTYPE_WARNING, "Value %d is out of range (-128 <= k <= 255). Will be masked", i); - } - count++; - write_db(pi, (char)i, &prev, count, pass); - } - next = data; - } - if(pi->segment == SEGMENT_CODE) - { - if((count % 2) == 1) - { - if(pass == PASS_2) - { - write_prog_word(pi, pi->cseg_addr, prev & 0xff); - print_msg(pi, MSGTYPE_WARNING, "A .DB segment with an odd number of bytes is detected. A zero byte is added."); - } - pi->cseg_addr++; - if(pass == PASS_1) - pi->cseg_count++; - } - } - return(True); - } - - -void write_db(struct prog_info *pi, char byte, char *prev, int count, int pass) - { - if(pi->segment == SEGMENT_EEPROM) - { - if(pass == PASS_2) - write_ee_byte(pi, pi->eseg_addr, byte); - pi->eseg_addr++; - if(pass == PASS_1) - pi->eseg_count++; - } - else /* pi->segment == SEGMENT_CODE */ - { - if((count % 2) == 0) - { - if(pass == PASS_2) - write_prog_word(pi, pi->cseg_addr, (byte << 8) | (*prev & 0xff)); - pi->cseg_addr++; - if(pass == PASS_1) - pi->cseg_count++; - } - else - *prev = byte; - } - } - - -int spool_conditional(struct prog_info *pi, int only_endif) - { - int current_depth = 0, do_next; - - if(pi->macro_line) - { - while((pi->macro_line = pi->macro_line->next)) - { - pi->macro_call->line_index++; - if(check_conditional(pi, pi->macro_line->line, ¤t_depth, &do_next, only_endif)) - { - if(!do_next) - return(True); - } - else - return(False); - } - print_msg(pi, MSGTYPE_ERROR, "Found no closing .ENDIF in macro"); - } - else - { - while(fgets(pi->fi->buff, LINEBUFFER_LENGTH, pi->fi->fp)) - { - pi->fi->line_number++; - if(check_conditional(pi, pi->fi->buff, ¤t_depth, &do_next, only_endif)) - { - if(!do_next) - return(True); - } - else - return(False); - } - if(feof(pi->fi->fp)) - { - print_msg(pi, MSGTYPE_ERROR, "Found no closing .ENDIF"); - return(True); - } - else - { - perror(pi->fi->include_file->name); - return(False); - } - } - return(True); - } - - -int check_conditional(struct prog_info *pi, char *buff, int *current_depth, int *do_next, int only_endif) - { - int i = 0; - char *next; - - *do_next = False; - while(IS_HOR_SPACE(buff[i]) && !IS_END(buff[i])) i++; - if(buff[i] == '.') - { - i++; - if(!nocase_strncmp(&buff[i], "if", 2)) - (*current_depth)++; - else if(!nocase_strncmp(&buff[i], "endif", 5)) - { - if(*current_depth == 0) - return(True); - (*current_depth)--; - } - else if(!only_endif && (*current_depth == 0)) - { - if(!nocase_strncmp(&buff[i], "else", 4)) - { - pi->conditional_depth++; - return(True); - } - else if(!nocase_strncmp(&buff[i], "elif", 4)) - { - next = get_next_token(&buff[i], TERM_SPACE); - if(!next) - { - print_msg(pi, MSGTYPE_ERROR, ".ELIF needs an operand"); - return(True); - } - get_next_token(next, TERM_END); - if(!get_expr(pi, next, &i)) - return(False); - if(i) - pi->conditional_depth++; - else - { - if(!spool_conditional(pi, False)) - return(False); - } - return(True); - } - } - } - *do_next = True; - return(True); - } - -int test_include(const char *filename) -{ - FILE *fp; - fp = fopen(filename, "r"); - if(fp) - { - fclose(fp); - return(True); - } - else - return(False); -} +/*********************************************************************** + * avra - Assembler for the Atmel AVR microcontroller series + * Copyright (C) 1998-2001 Jon Anders Haugum + * Copyright (C) 2002-2003 Tobias Weber + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * + * Authors of avra can be reached at: + * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com + * www: http://sourceforge.net/projects/avra + */ + +#include +#include +#include +#include + +#include "misc.h" +#include "args.h" +#include "avra.h" +#include "device.h" + +enum + { + DIRECTIVE_BYTE = 0, + DIRECTIVE_CSEG, + DIRECTIVE_CSEGSIZE, + DIRECTIVE_DB, + DIRECTIVE_DEF, + DIRECTIVE_DEVICE, + DIRECTIVE_DSEG, + DIRECTIVE_DW, + DIRECTIVE_ENDM, + DIRECTIVE_ENDMACRO, + DIRECTIVE_EQU, + DIRECTIVE_ESEG, + DIRECTIVE_EXIT, + DIRECTIVE_INCLUDE, + DIRECTIVE_LIST, + DIRECTIVE_LISTMAC, + DIRECTIVE_MACRO, + DIRECTIVE_NOLIST, + DIRECTIVE_ORG, + DIRECTIVE_SET, + DIRECTIVE_DEFINE, + DIRECTIVE_UNDEF, + DIRECTIVE_IFDEF, + DIRECTIVE_IFNDEF, + DIRECTIVE_IF, + DIRECTIVE_ELSE, + DIRECTIVE_ELIF, + DIRECTIVE_ENDIF, + DIRECTIVE_MESSAGE, + DIRECTIVE_WARNING, + DIRECTIVE_ERROR, + DIRECTIVE_COUNT + }; + +char *directive_list[] = + { + "BYTE", + "CSEG", + "CSEGSIZE", + "DB", + "DEF", + "DEVICE", + "DSEG", + "DW", + "ENDM", + "ENDMACRO", + "EQU", + "ESEG", + "EXIT", + "INCLUDE", + "LIST", + "LISTMAC", + "MACRO", + "NOLIST", + "ORG", + "SET", + "DEFINE", + "UNDEF", + "IFDEF", + "IFNDEF", + "IF", + "ELSE", + "ELIF", + "ENDIF", + "MESSAGE", + "WARNING", + "ERROR" + }; + + +int parse_directive(struct prog_info *pi, int pass) + { + int directive, ok = True, i; + char *next, *data; + struct file_info *fi_bak; + struct label *label; + struct def *def; + struct data_list *includedir; + + next = get_next_token(pi->fi->scratch, TERM_SPACE); + for(i = 0; pi->fi->scratch[i] != '\0'; i++) + pi->fi->scratch[i] = toupper(pi->fi->scratch[i]); + directive = get_directive_type(pi->fi->scratch + 1); + if(directive == -1) + { + print_msg(pi, MSGTYPE_ERROR, "Unknown directive: %s", pi->fi->scratch); + return(True); + } + switch(directive) + { + case DIRECTIVE_BYTE: + if(!next) + { + print_msg(pi, MSGTYPE_ERROR, ".BYTE needs an operand"); + return(True); + } + if(pi->segment != SEGMENT_DATA) + print_msg(pi, MSGTYPE_ERROR, ".BYTE directive can only be used in data segment (.DSEG)"); + get_next_token(next, TERM_END); + if(!get_expr(pi, next, &i)) + return(False); + if((pass == PASS_2) && pi->list_line && pi->list_on) + { + fprintf(pi->list_file, "%06x %s", pi->dseg_addr, pi->list_line); + pi->list_line = NULL; + } + pi->dseg_addr += i; + if(pass == PASS_1) + pi->dseg_count += i; + break; + case DIRECTIVE_CSEG: + pi->segment = SEGMENT_CODE; + break; + case DIRECTIVE_CSEGSIZE: + break; + case DIRECTIVE_DB: + return(parse_db(pi, next, pass)); + break; + case DIRECTIVE_DEF: + if(!next) + { + print_msg(pi, MSGTYPE_ERROR, ".DEF needs an operand"); + return(True); + } + data = get_next_token(next, TERM_EQUAL); + if(!(data && (tolower(data[0]) == 'r') && isdigit(data[1]))) + { + print_msg(pi, MSGTYPE_ERROR, "%s needs a register (e.g. .def BZZZT = r16)", next); + return(True); + } + i = atoi(&data[1]); + if(i > 31) + print_msg(pi, MSGTYPE_ERROR, "R%d is not a valid register", i); + for(def = pi->first_def; def; def = def->next) + if(!nocase_strcmp(def->name, next)) + { + def->reg = i; + return(True); + } + def = malloc(sizeof(struct def)); + if(!def) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + def->next = NULL; + if(pi->last_def) + pi->last_def->next = def; + else + pi->first_def = def; + pi->last_def = def; + def->name = malloc(strlen(next) + 1); + if(!def->name) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + strcpy(def->name, next); + def->reg = i; + break; + case DIRECTIVE_DEVICE: + if(pass == PASS_2) + return(True); + if(!next) + { + print_msg(pi, MSGTYPE_ERROR, ".DEVICE needs an operand"); + return(True); + } + get_next_token(next, TERM_END); + pi->device = get_device(pi,next); + if(!pi->device) + print_msg(pi, MSGTYPE_ERROR, "Unknown device: %s", next); + break; + case DIRECTIVE_DSEG: + pi->segment = SEGMENT_DATA; + break; + case DIRECTIVE_DW: + if(pi->segment == SEGMENT_DATA) + { + print_msg(pi, MSGTYPE_ERROR, "Can't use .DW directive in data segment (.DSEG)"); + return(True); + } + while(next) + { + data = get_next_token(next, TERM_COMMA); + if(pass == PASS_2) + { + if(!get_expr(pi, next, &i)) + return(False); + if((i < -32768) || (i > 65535)) + print_msg(pi, MSGTYPE_WARNING, "Value %d is out of range (-32768 <= k <= 65535). Will be masked", i); + } + if(pi->segment == SEGMENT_EEPROM) + { + if(pass == PASS_2) + { + write_ee_byte(pi, pi->eseg_addr, (unsigned char)i); + write_ee_byte(pi, pi->eseg_addr + 1, (unsigned char)(i >> 8)); + } + pi->eseg_addr += 2; + if(pass == PASS_1) + pi->eseg_count += 2; + } + else + { + if((pass == PASS_2) && pi->hfi) + write_prog_word(pi, pi->cseg_addr, i); + pi->cseg_addr++; + if(pass == PASS_1) + pi->cseg_count++; + } + next = data; + } + break; + case DIRECTIVE_ENDM: + case DIRECTIVE_ENDMACRO: + print_msg(pi, MSGTYPE_ERROR, "No .MACRO found before .ENDMACRO"); + break; + case DIRECTIVE_EQU: + if(!next) + { + print_msg(pi, MSGTYPE_ERROR, ".EQU needs an operand"); + return(True); + } + data = get_next_token(next, TERM_EQUAL); + if(!data) + { + print_msg(pi, MSGTYPE_ERROR, "%s needs an expression (e.g. .EQU BZZZT = 0x2a)", next); + return(True); + } + get_next_token(data, TERM_END); + if(!get_expr(pi, data, &i)) + return(False); + for(label = pi->first_label; label; label = label->next) + { + if(!nocase_strcmp(label->name, next)) + { + print_msg(pi, MSGTYPE_ERROR, "%s have already been defined as a label", next); + return(True); + } + } + for(label = pi->first_variable; label; label = label->next) + if(!nocase_strcmp(label->name, next)) + { + print_msg(pi, MSGTYPE_ERROR, "%s have already been defined as a .SET variable", next); + return(True); + } + for(label = pi->first_constant; label; label = label->next) + if(!nocase_strcmp(label->name, next)) + { + print_msg(pi, MSGTYPE_ERROR, "Can't redefine constant %s, use .SET instead", next); + return(True); + } + label = malloc(sizeof(struct label)); + if(!label) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + label->next = NULL; + if(pi->last_constant) + pi->last_constant->next = label; + else + pi->first_constant = label; + pi->last_constant = label; + label->name = malloc(strlen(next) + 1); + if(!label->name) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + strcpy(label->name, next); + label->value = i; + break; + case DIRECTIVE_ESEG: + pi->segment = SEGMENT_EEPROM; + break; + case DIRECTIVE_EXIT: + pi->fi->exit_file = True; + break; + case DIRECTIVE_INCLUDE: + if(!next) + { + print_msg(pi, MSGTYPE_ERROR, "Nothing to include"); + return(True); + } + next = term_string(pi, next); + if((pass == PASS_2) && pi->list_line && pi->list_on) + { + fprintf(pi->list_file, " %s", pi->list_line); + pi->list_line = NULL; + } + // Test if include is in local directory + ok = test_include(next); + data = NULL; + if(!ok) + for(includedir = GET_ARG(pi->args, ARG_INCLUDEDIR); includedir && !ok; includedir = includedir->next) + { + i = strlen(includedir->data); + if(data) + free(data); + data = malloc(i + strlen(next) + 2); + if(!data) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + strcpy(data, includedir->data); + if((data[i - 1] != '\\') && (data[i - 1] != '/')) + data[i++] = '/'; + strcpy(&data[i], next); + ok = test_include(data); + } + if(ok) + { + fi_bak = pi->fi; + ok = parse_file(pi, data ? data : next, pass); + pi->fi = fi_bak; + } + else + print_msg(pi, MSGTYPE_ERROR, "cannot find include file"); + if(data) + free(data); + break; + case DIRECTIVE_LIST: + if(pass == PASS_2) + pi->list_on = True; + break; + case DIRECTIVE_LISTMAC: + if(pass == PASS_2) + SET_ARG(pi->args, ARG_LISTMAC, True); + break; + case DIRECTIVE_MACRO: + return(read_macro(pi, next, pass)); + break; + case DIRECTIVE_NOLIST: + if(pass == PASS_2) + pi->list_on = False; + break; + case DIRECTIVE_ORG: + if(!next) + { + print_msg(pi, MSGTYPE_ERROR, ".ORG needs an operand"); + return(True); + } + get_next_token(next, TERM_END); + if(!get_expr(pi, next, &i)) + return(False); + switch(pi->segment) + { + case SEGMENT_CODE: + pi->cseg_addr = i; + break; + case SEGMENT_DATA: + pi->dseg_addr = i; + break; + case SEGMENT_EEPROM: + pi->eseg_addr = i; + } + if(pi->fi->label) + pi->fi->label->value = i; + break; + case DIRECTIVE_SET: + if(!next) + { + print_msg(pi, MSGTYPE_ERROR, ".SET needs an operand"); + return(True); + } + data = get_next_token(next, TERM_EQUAL); + if(!data) + { + print_msg(pi, MSGTYPE_ERROR, "%s needs an expression (e.g. .SET BZZZT = 0x2a)", next); + return(True); + } + get_next_token(data, TERM_END); + if(!get_expr(pi, data, &i)) + return(False); + for(label = pi->first_label; label; label = label->next) + if(!nocase_strcmp(label->name, next)) + { + print_msg(pi, MSGTYPE_ERROR, "%s have already been defined as a label", next); + return(True); + } + for(label = pi->first_constant; label; label = label->next) + if(!nocase_strcmp(label->name, next)) + { + print_msg(pi, MSGTYPE_ERROR, "%s have already been defined as a .EQU constant", next); + return(True); + } + for(label = pi->first_variable; label; label = label->next) + if(!nocase_strcmp(label->name, next)) + { + label->value = i; + return(True); + } + label = malloc(sizeof(struct label)); + if(!label) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + label->next = NULL; + if(pi->last_variable) + pi->last_variable->next = label; + else + pi->first_variable = label; + pi->last_variable = label; + label->name = malloc(strlen(next) + 1); + if(!label->name) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + strcpy(label->name, next); + label->value = i; + break; + case DIRECTIVE_DEFINE: + if(!next) + { + print_msg(pi, MSGTYPE_ERROR, ".DEFINE needs an operand"); + return(True); + } + data = get_next_token(next, TERM_SPACE); + if(data) + { + get_next_token(data, TERM_END); + if(!get_expr(pi, data, &i)) + return(False); + } + else + i = 1; + for(label = pi->first_label; label; label = label->next) + if(!nocase_strcmp(label->name, next)) + { + print_msg(pi, MSGTYPE_ERROR, "%s have already been defined as a label", next); + return(True); + } + for(label = pi->first_variable; label; label = label->next) + if(!nocase_strcmp(label->name, next)) + { + print_msg(pi, MSGTYPE_ERROR, "%s have already been defined as a .SET variable", next); + return(True); + } + for(label = pi->first_constant; label; label = label->next) + if(!nocase_strcmp(label->name, next)) + { + print_msg(pi, MSGTYPE_ERROR, "Can't redefine constant %s, use .SET instead", next); + return(True); + } + label = malloc(sizeof(struct label)); + if(!label) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + label->next = NULL; + if(pi->last_constant) + pi->last_constant->next = label; + else + pi->first_constant = label; + pi->last_constant = label; + label->name = malloc(strlen(next) + 1); + if(!label->name) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + strcpy(label->name, next); + label->value = i; + break; + case DIRECTIVE_UNDEF: // TODO + break; + case DIRECTIVE_IFDEF: + if(!next) + { + print_msg(pi, MSGTYPE_ERROR, ".IFDEF needs an operand"); + return(True); + } + get_next_token(next, TERM_END); + if(get_symbol(pi, next, NULL)) + pi->conditional_depth++; + else + { + if(!spool_conditional(pi, False)) + return(False); + } + break; + case DIRECTIVE_IFNDEF: + if(!next) + { + print_msg(pi, MSGTYPE_ERROR, ".IFNDEF needs an operand"); + return(True); + } + get_next_token(next, TERM_END); + if(get_symbol(pi, next, NULL)) + { + if(!spool_conditional(pi, False)) + return(False); + } + else + pi->conditional_depth++; + break; + case DIRECTIVE_IF: + if(!next) + { + print_msg(pi, MSGTYPE_ERROR, ".IF needs an expression"); + return(True); + } + get_next_token(next, TERM_END); + if(!get_expr(pi, next, &i)) + return(False); + if(i) + pi->conditional_depth++; + else + { + if(!spool_conditional(pi, False)) + return(False); + } + break; + case DIRECTIVE_ELSE: + case DIRECTIVE_ELIF: + if(!spool_conditional(pi, True)) + return(False); + break; + case DIRECTIVE_ENDIF: + if(pi->conditional_depth == 0) + print_msg(pi, MSGTYPE_ERROR, "Too many .ENDIF"); + else + pi->conditional_depth--; + break; + case DIRECTIVE_MESSAGE: + if(pass == PASS_1) + return(True); + if(!next) + { + print_msg(pi, MSGTYPE_ERROR, "No message string supplied"); + return(True); + } + next = term_string(pi, next); + print_msg(pi, MSGTYPE_MESSAGE, next); + break; + case DIRECTIVE_WARNING: + if(pass == PASS_1) + return(True); + if(!next) + { + print_msg(pi, MSGTYPE_ERROR, "No warning string supplied"); + return(True); + } + next = term_string(pi, next); + print_msg(pi, MSGTYPE_WARNING, next); + break; + case DIRECTIVE_ERROR: + if(pass == PASS_1) + return(True); + if(!next) + { + print_msg(pi, MSGTYPE_ERROR, "No error string supplied"); + return(True); + } + next = term_string(pi, next); + print_msg(pi, MSGTYPE_ERROR, next); + break; + } + return(ok); + } + + +int get_directive_type(char *directive) + { + int i; + + for(i = 0; i < DIRECTIVE_COUNT; i++) + if(!strcmp(directive, directive_list[i])) return(i); + return(-1); + } + + +char *term_string(struct prog_info *pi, char *string) + { + int i; + + if(string[0] != '\"') + print_msg(pi, MSGTYPE_ERROR, "String must be enclosed in \"-signs"); + else + string++; + for(i = 0; (string[i] != '\"') && !((string[i] == 10) || (string[i] == 13) || (string[i] == '\0')); i++); + if((string[i] == 10) || (string[i] == 13) || (string[i] == '\0')) + print_msg(pi, MSGTYPE_ERROR, "String is missing a closing \"-sign"); + string[i] = '\0'; + return(string); + } + + +int parse_db(struct prog_info *pi, char *next, int pass) + { + int i, count; + char *data, prev; + + if(pi->segment == SEGMENT_DATA) + { + print_msg(pi, MSGTYPE_ERROR, "Can't use .DB directive in data segment (.DSEG)"); + return(True); + } + count = 0; + while(next) + { + data = get_next_token(next, TERM_COMMA); + if(next[0] == '\"') + { + next = term_string(pi, next); + while(*next != '\0') + { + count++; + write_db(pi, *next, &prev, count, pass); + next++; + } + } + else + { + if(pass == PASS_2) + { + if(!get_expr(pi, next, &i)) + return(False); + if((i < -128) || (i > 255)) + print_msg(pi, MSGTYPE_WARNING, "Value %d is out of range (-128 <= k <= 255). Will be masked", i); + } + count++; + write_db(pi, (char)i, &prev, count, pass); + } + next = data; + } + if(pi->segment == SEGMENT_CODE) + { + if((count % 2) == 1) + { + if(pass == PASS_2) + { + write_prog_word(pi, pi->cseg_addr, prev & 0xff); + print_msg(pi, MSGTYPE_WARNING, "A .DB segment with an odd number of bytes is detected. A zero byte is added."); + } + pi->cseg_addr++; + if(pass == PASS_1) + pi->cseg_count++; + } + } + return(True); + } + + +void write_db(struct prog_info *pi, char byte, char *prev, int count, int pass) + { + if(pi->segment == SEGMENT_EEPROM) + { + if(pass == PASS_2) + write_ee_byte(pi, pi->eseg_addr, byte); + pi->eseg_addr++; + if(pass == PASS_1) + pi->eseg_count++; + } + else /* pi->segment == SEGMENT_CODE */ + { + if((count % 2) == 0) + { + if(pass == PASS_2) + write_prog_word(pi, pi->cseg_addr, (byte << 8) | (*prev & 0xff)); + pi->cseg_addr++; + if(pass == PASS_1) + pi->cseg_count++; + } + else + *prev = byte; + } + } + + +int spool_conditional(struct prog_info *pi, int only_endif) + { + int current_depth = 0, do_next; + + if(pi->macro_line) + { + while((pi->macro_line = pi->macro_line->next)) + { + pi->macro_call->line_index++; + if(check_conditional(pi, pi->macro_line->line, ¤t_depth, &do_next, only_endif)) + { + if(!do_next) + return(True); + } + else + return(False); + } + print_msg(pi, MSGTYPE_ERROR, "Found no closing .ENDIF in macro"); + } + else + { + while(fgets(pi->fi->buff, LINEBUFFER_LENGTH, pi->fi->fp)) + { + pi->fi->line_number++; + if(check_conditional(pi, pi->fi->buff, ¤t_depth, &do_next, only_endif)) + { + if(!do_next) + return(True); + } + else + return(False); + } + if(feof(pi->fi->fp)) + { + print_msg(pi, MSGTYPE_ERROR, "Found no closing .ENDIF"); + return(True); + } + else + { + perror(pi->fi->include_file->name); + return(False); + } + } + return(True); + } + + +int check_conditional(struct prog_info *pi, char *buff, int *current_depth, int *do_next, int only_endif) + { + int i = 0; + char *next; + + *do_next = False; + while(IS_HOR_SPACE(buff[i]) && !IS_END(buff[i])) i++; + if(buff[i] == '.') + { + i++; + if(!nocase_strncmp(&buff[i], "if", 2)) + (*current_depth)++; + else if(!nocase_strncmp(&buff[i], "endif", 5)) + { + if(*current_depth == 0) + return(True); + (*current_depth)--; + } + else if(!only_endif && (*current_depth == 0)) + { + if(!nocase_strncmp(&buff[i], "else", 4)) + { + pi->conditional_depth++; + return(True); + } + else if(!nocase_strncmp(&buff[i], "elif", 4)) + { + next = get_next_token(&buff[i], TERM_SPACE); + if(!next) + { + print_msg(pi, MSGTYPE_ERROR, ".ELIF needs an operand"); + return(True); + } + get_next_token(next, TERM_END); + if(!get_expr(pi, next, &i)) + return(False); + if(i) + pi->conditional_depth++; + else + { + if(!spool_conditional(pi, False)) + return(False); + } + return(True); + } + } + } + *do_next = True; + return(True); + } + +int test_include(const char *filename) +{ + FILE *fp; + fp = fopen(filename, "r"); + if(fp) + { + fclose(fp); + return(True); + } + else + return(False); +} diff --git a/src/mkutil/avra-0.8/SOURCE/expr.c b/src/mkutil/avra-0.8/SOURCE/expr.c index 67a75a32..4434aebb 100644 --- a/src/mkutil/avra-0.8/SOURCE/expr.c +++ b/src/mkutil/avra-0.8/SOURCE/expr.c @@ -1,608 +1,608 @@ -/*********************************************************************** - * avra - Assembler for the Atmel AVR microcontroller series - * Copyright (C) 1998-2001 Jon Anders Haugum - * Copyright (C) 2002-2003 Tobias Weber - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - * - * Authors of avra can be reached at: - * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com - * www: http://sourceforge.net/projects/avra - */ - -#include -#include -#include -#include - -#include "misc.h" -#include "avra.h" -#include "device.h" - -#define IS_UNARY(x) ((x == '!') || (x == '-') || (x == '~')) -#define IS_OPERATOR(x) ((x == '+') || (x == '-') || (x == '*') || (x == '/') || (x == '%') || (x == '<') || (x == '>') || (x == '=') || (x == '!') || (x == '&') || (x == '^') || (x == '|')) -#define IS_2ND_OPERATOR(x) ((x == '<') || (x == '>') || (x == '=') || (x == '&') || (x == '|')) - -enum - { - OPERATOR_ERROR = 0, - OPERATOR_MUL, - OPERATOR_DIV, - OPERATOR_MOD, - OPERATOR_ADD, - OPERATOR_SUB, - OPERATOR_SHIFT_LEFT, - OPERATOR_SHIFT_RIGHT, - OPERATOR_LESS_THAN, - OPERATOR_LESS_OR_EQUAL, - OPERATOR_GREATER_THAN, - OPERATOR_GREATER_OR_EQUAL, - OPERATOR_EQUAL, - OPERATOR_NOT_EQUAL, - OPERATOR_BITWISE_AND, - OPERATOR_BITWISE_XOR, - OPERATOR_BITWISE_OR, - OPERATOR_LOGICAL_AND, - OPERATOR_LOGICAL_OR - }; - -enum - { - FUNCTION_LOW = 0, - FUNCTION_HIGH, - FUNCTION_BYTE2, - FUNCTION_BYTE3, - FUNCTION_BYTE4, - FUNCTION_LWRD, - FUNCTION_HWRD, - FUNCTION_PAGE, - FUNCTION_EXP2, - FUNCTION_LOG2, - FUNCTION_COUNT - }; - -struct element - { - struct element *next; - int data; - }; - -char *function_list[] = - { - "low(", - "high(", - "byte2(", - "byte3(", - "byte4(", - "lwrd(", - "hwrd(", - "page(", - "exp2(", - "log2(" - }; - -int get_expr(struct prog_info *pi, char *data, int *value) - { - int ok = True, end = False, i, count, first_flag, length, function; - char unary, *label; - struct element *element, *first_element = NULL, *temp_element; - struct element **last_element = &first_element; - - for(i = 0, count = 0, first_flag = True, unary = 0; ; i++) - { - if(IS_HOR_SPACE(data[i])); - else if(IS_END(data[i])) - { - if((count % 2) != 1) - print_msg(pi, MSGTYPE_ERROR, "Missing value in expression"); - else - end = True; - break; - } - else if(first_flag && IS_UNARY(data[i])) - { - unary = data[i]; - first_flag = False; - } - else if((count % 2) == 1) - { - if(!IS_OPERATOR(data[i])) - { - print_msg(pi, MSGTYPE_ERROR, "Illegal operator '%c'", data[i]); - break; - } - element = malloc(sizeof(struct element)); - if(!element) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - ok = False; - break; - } - element->next = NULL; - element->data = get_operator(&data[i]); - if(element->data == OPERATOR_ERROR) - { - if(IS_2ND_OPERATOR(data[i + 1])) - print_msg(pi, MSGTYPE_ERROR, "Unknown operator %c%c", data[i], data[i + 1]); - else - print_msg(pi, MSGTYPE_ERROR, "Unknown operator %c", data[i]); - break; - } - *last_element = element; - last_element = &element->next; - if(IS_2ND_OPERATOR(data[i + 1])) - i++; - count++; - first_flag = True; - unary = 0; - } - else - { - element = malloc(sizeof(struct element)); - if(!element) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - ok = False; - break; - } - element->next = NULL; - length = 0; - if(isdigit(data[i])) - { - if(tolower(data[i + 1]) == 'x') - { - i += 2; - while(isxdigit(data[i + length])) length++; // TODO: Sjekk overflow - element->data = atox_n(&data[i], length); - } - else if(tolower(data[i + 1]) == 'b') - { - i += 2; - element->data = 0; - while((data[i + length] == '1') || (data[i + length] == '0')) - { - element->data <<= 1; - element->data |= data[i + length++] - '0'; // TODO: Sjekk overflow - } - } - else - { - while(isdigit(data[i + length])) length++; - element->data = atoi_n(&data[i], length); // TODO: Sjekk overflow - } - } - else if(data[i] == '$') - { - i++; - while(isxdigit(data[i + length])) length++; - element->data = atox_n(&data[i], length); // TODO: Sjekk overflow - } - else if(data[i] == '\'') - { - i++; - element->data = data[i]; // TODO: Sjekk for siste ' - length = 2; - } - else if(data[i] == '(') - { - i++; - length = par_length(&data[i]); - if(length == -1) - { - print_msg(pi, MSGTYPE_ERROR, "Missing ')'"); - break; - } - data[i + length++] = '\0'; - ok = get_expr(pi, &data[i], &element->data); - if(!ok) - break; - } - else if(-1 != (function = get_function(&data[i]))) - { - while(data[i] != '(') i++; - i++; - length = par_length(&data[i]); - if(length == -1) - { - print_msg(pi, MSGTYPE_ERROR, "Missing ')'"); - break; - } - data[i + length++] = '\0'; - ok = get_expr(pi, &data[i], &element->data); - if(!ok) - break; - element->data = do_function(function, element->data); - } - else if(!nocase_strncmp(&data[i], "defined(", 8)) - { - i += 8; - length = par_length(&data[i]); - if(length == -1) - { - print_msg(pi, MSGTYPE_ERROR, "Missing ')'"); - break; - } - data[i + length++] = '\0'; - if(get_symbol(pi, &data[i], NULL)) - element->data = 1; - else - element->data = 0; - } - else if(!nocase_strncmp(&data[i], "supported(", 10)) - { - i += 10; - length = par_length(&data[i]); - if(length == -1) - { - print_msg(pi, MSGTYPE_ERROR, "Missing ')'"); - break; - } - data[i + length++] = '\0'; - element->data=is_supported(pi, &data[i]); - if (element->data<0) - { - if (toupper(data[i])=='X') - { - if (pi->device->flag&DF_NO_XREG) element->data = 0; - else element->data = 1; - } - else if (toupper(data[i])=='Y') - { - if (pi->device->flag&DF_NO_YREG) element->data = 0; - else element->data = 1; - } - else if (toupper(data[i])=='Z') - element->data = 1; - else - { - print_msg(pi, MSGTYPE_ERROR, "Unknown mnemonic: %s",&data[i]); - element->data = 0; - } - } - } - else - { - while(IS_LABEL(data[i + length])) length++; - if((length == 2) && !nocase_strncmp(&data[i], "PC", 2)) - element->data = pi->cseg_addr; - else - { - label = malloc(length + 1); - if(!label) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - ok = False; - break; - } - strncpy(label, &data[i], length); - label[length] = '\0'; - if(get_symbol(pi, label, &element->data)) - free(label); - else - { - print_msg(pi, MSGTYPE_ERROR, "Found no label/variable/constant named %s", label); - free(label); - break; - } - } - } - i += length - 1; - switch(unary) // TODO: Få den til å takle flere unary på rad. - { - case '-': - element->data = -element->data; - break; - case '!': - element->data = !element->data; - break; - case '~': - element->data = ~element->data; - } - *last_element = element; - last_element = &element->next; - count++; - first_flag = False; - } - } - if(end) - { - for(i = 13; (i >= 4) && (count != 1); i--) - { - for(element = first_element; element->next;) - { - if(test_operator_at_precedence(element->next->data, i)) // TODO: Vurder en hi_i for kjapphet - { - element->data = calc(pi, element->data, element->next->data, element->next->next->data); - temp_element = element->next->next->next; - free(element->next->next); - free(element->next); - count -= 2; - element->next = temp_element; - } - else - element = element->next->next; - } - } - *value = first_element->data; - } - for(element = first_element; element;) - { - temp_element = element; - element = element->next; - free(temp_element); - } - return(ok); - } - - -int get_operator(char *op) - { - switch(op[0]) - { - case '*': - return(OPERATOR_MUL); - case '/': - return(OPERATOR_DIV); - case '%': - return(OPERATOR_MOD); - case '+': - return(OPERATOR_ADD); - case '-': - return(OPERATOR_SUB); - case '<': - switch(op[1]) - { - case '<': - return(OPERATOR_SHIFT_LEFT); - case '=': - return(OPERATOR_LESS_OR_EQUAL); - default: - return(OPERATOR_LESS_THAN); - } - case '>': - switch(op[1]) - { - case '>': - return(OPERATOR_SHIFT_RIGHT); - case '=': - return(OPERATOR_GREATER_OR_EQUAL); - default: - return(OPERATOR_GREATER_THAN); - } - case '=': - if(op[1] == '=') - return(OPERATOR_EQUAL); - case '!': - if(op[1] == '=') - return(OPERATOR_NOT_EQUAL); - case '&': - if(op[1] == '&') - return(OPERATOR_LOGICAL_AND); - else - return(OPERATOR_BITWISE_AND); - case '^': - return(OPERATOR_BITWISE_XOR); - case '|': - if(op[1] == '|') - return(OPERATOR_LOGICAL_OR); - else - return(OPERATOR_BITWISE_OR); - } - return(OPERATOR_ERROR); - } - - -int test_operator_at_precedence(int operator, int precedence) - { - switch(precedence) - { - case 13: - return((operator == OPERATOR_MUL) || (operator == OPERATOR_DIV) - || (operator == OPERATOR_MOD)); - case 12: - return((operator == OPERATOR_ADD) || (operator == OPERATOR_SUB)); - case 11: - return((operator == OPERATOR_SHIFT_LEFT) || (operator == OPERATOR_SHIFT_RIGHT)); - case 10: - return((operator == OPERATOR_LESS_THAN) || (operator == OPERATOR_LESS_OR_EQUAL) - || (operator == OPERATOR_GREATER_THAN) || (operator == OPERATOR_GREATER_OR_EQUAL)); - case 9: - return((operator == OPERATOR_EQUAL) || (operator == OPERATOR_NOT_EQUAL)); - case 8: - return(operator == OPERATOR_BITWISE_AND); - case 7: - return(operator == OPERATOR_BITWISE_XOR); - case 6: - return(operator == OPERATOR_BITWISE_OR); - case 5: - return(operator == OPERATOR_LOGICAL_AND); - default: /* Makes the compiler shut up */ - case 4: - return(operator == OPERATOR_LOGICAL_OR); - } - } - - -int calc(struct prog_info *pi, int left, int operator, int right) // TODO: Sjekk litt resultater - { - switch(operator) - { - case OPERATOR_MUL: - return(left * right); - case OPERATOR_DIV: - if(right == 0) - { - print_msg(pi, MSGTYPE_ERROR, "Division by zero"); - return(0); - } - return(left / right); - case OPERATOR_MOD: - if(right == 0) - { - print_msg(pi, MSGTYPE_ERROR, "Division by zero (modulus operator)"); - return(0); - } - return(left % right); - case OPERATOR_ADD: - return(left + right); - case OPERATOR_SUB: - return(left - right); - case OPERATOR_SHIFT_LEFT: - return(left << right); - case OPERATOR_SHIFT_RIGHT: - return(left >> right); - case OPERATOR_LESS_THAN: - return(left < right); - case OPERATOR_LESS_OR_EQUAL: - return(left <= right); - case OPERATOR_GREATER_THAN: - return(left > right); - case OPERATOR_GREATER_OR_EQUAL: - return(left >= right); - case OPERATOR_EQUAL: - return(left == right); - case OPERATOR_NOT_EQUAL: - return(left != right); - case OPERATOR_BITWISE_AND: - return(left & right); - case OPERATOR_BITWISE_XOR: - return(left ^ right); - case OPERATOR_BITWISE_OR: - return(left | right); - case OPERATOR_LOGICAL_AND: - return(left && right); - default: /* Make the compiler shut up */ - case OPERATOR_LOGICAL_OR: - return(left || right); - } - } - - -int get_function(char *function) - { - int i; - - for(i = 0; i < FUNCTION_COUNT; i++) - if(!nocase_strncmp(function, function_list[i], strlen(function_list[i]))) return(i); - return(-1); - } - - -int do_function(int function, int value) - { - switch(function) - { - case FUNCTION_LOW: - return(value & 0xff); - case FUNCTION_HIGH: - case FUNCTION_BYTE2: - return((value >> 8) & 0xff); - case FUNCTION_BYTE3: - return((value >> 16) & 0xff); - case FUNCTION_BYTE4: - return((value >> 24) & 0xff); - case FUNCTION_LWRD: - return(value & 0xffff); - case FUNCTION_HWRD: - return((value >> 16) & 0xffff); - case FUNCTION_PAGE: - return((value >> 16) & 0xff); - case FUNCTION_EXP2: - return(1 << value); - case FUNCTION_LOG2: - return(log2(value)); - default: - return(0); - } - } - - -int log2(int value) - { - int i = 0; - - while(value >>= 1) i++; - return(i); - } - - -int get_symbol(struct prog_info *pi, char *label_name, int *data) - { - struct label *label; - struct macro_call *macro_call; - - for(label = pi->first_constant; label; label = label->next) - if(!nocase_strcmp(label->name, label_name)) - { - if(data) - *data = label->value; - return(True); - } - - for(label = pi->first_variable; label; label = label->next) - if(!nocase_strcmp(label->name, label_name)) - { - if(data) - *data = label->value; - return(True); - } - - for(macro_call = pi->macro_call; macro_call; macro_call = macro_call->prev_on_stack) - { - for(label = pi->macro_call->first_label; label; label = label->next) - if(!nocase_strcmp(label->name, label_name)) - { - if(data) - *data = label->value; - return(True); - } - } - - for(label = pi->first_label; label; label = label->next) - if(!nocase_strcmp(label->name, label_name)) - { - if(data) - *data = label->value; - return(True); - } - - return(False); - } - - -int par_length(char *data) - { - int i = 0, b_count = 1; - - for(;;) - { - if(data[i] == ')') - { - b_count--; - if(!b_count) - return(i); - } - else if(data[i] == '(') - b_count++; - else if(data[i] == '\0') - return(-1); - i++; - } - } - - - +/*********************************************************************** + * avra - Assembler for the Atmel AVR microcontroller series + * Copyright (C) 1998-2001 Jon Anders Haugum + * Copyright (C) 2002-2003 Tobias Weber + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * + * Authors of avra can be reached at: + * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com + * www: http://sourceforge.net/projects/avra + */ + +#include +#include +#include +#include + +#include "misc.h" +#include "avra.h" +#include "device.h" + +#define IS_UNARY(x) ((x == '!') || (x == '-') || (x == '~')) +#define IS_OPERATOR(x) ((x == '+') || (x == '-') || (x == '*') || (x == '/') || (x == '%') || (x == '<') || (x == '>') || (x == '=') || (x == '!') || (x == '&') || (x == '^') || (x == '|')) +#define IS_2ND_OPERATOR(x) ((x == '<') || (x == '>') || (x == '=') || (x == '&') || (x == '|')) + +enum + { + OPERATOR_ERROR = 0, + OPERATOR_MUL, + OPERATOR_DIV, + OPERATOR_MOD, + OPERATOR_ADD, + OPERATOR_SUB, + OPERATOR_SHIFT_LEFT, + OPERATOR_SHIFT_RIGHT, + OPERATOR_LESS_THAN, + OPERATOR_LESS_OR_EQUAL, + OPERATOR_GREATER_THAN, + OPERATOR_GREATER_OR_EQUAL, + OPERATOR_EQUAL, + OPERATOR_NOT_EQUAL, + OPERATOR_BITWISE_AND, + OPERATOR_BITWISE_XOR, + OPERATOR_BITWISE_OR, + OPERATOR_LOGICAL_AND, + OPERATOR_LOGICAL_OR + }; + +enum + { + FUNCTION_LOW = 0, + FUNCTION_HIGH, + FUNCTION_BYTE2, + FUNCTION_BYTE3, + FUNCTION_BYTE4, + FUNCTION_LWRD, + FUNCTION_HWRD, + FUNCTION_PAGE, + FUNCTION_EXP2, + FUNCTION_LOG2, + FUNCTION_COUNT + }; + +struct element + { + struct element *next; + int data; + }; + +char *function_list[] = + { + "low(", + "high(", + "byte2(", + "byte3(", + "byte4(", + "lwrd(", + "hwrd(", + "page(", + "exp2(", + "log2(" + }; + +int get_expr(struct prog_info *pi, char *data, int *value) + { + int ok = True, end = False, i, count, first_flag, length, function; + char unary, *label; + struct element *element, *first_element = NULL, *temp_element; + struct element **last_element = &first_element; + + for(i = 0, count = 0, first_flag = True, unary = 0; ; i++) + { + if(IS_HOR_SPACE(data[i])); + else if(IS_END(data[i])) + { + if((count % 2) != 1) + print_msg(pi, MSGTYPE_ERROR, "Missing value in expression"); + else + end = True; + break; + } + else if(first_flag && IS_UNARY(data[i])) + { + unary = data[i]; + first_flag = False; + } + else if((count % 2) == 1) + { + if(!IS_OPERATOR(data[i])) + { + print_msg(pi, MSGTYPE_ERROR, "Illegal operator '%c'", data[i]); + break; + } + element = malloc(sizeof(struct element)); + if(!element) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + ok = False; + break; + } + element->next = NULL; + element->data = get_operator(&data[i]); + if(element->data == OPERATOR_ERROR) + { + if(IS_2ND_OPERATOR(data[i + 1])) + print_msg(pi, MSGTYPE_ERROR, "Unknown operator %c%c", data[i], data[i + 1]); + else + print_msg(pi, MSGTYPE_ERROR, "Unknown operator %c", data[i]); + break; + } + *last_element = element; + last_element = &element->next; + if(IS_2ND_OPERATOR(data[i + 1])) + i++; + count++; + first_flag = True; + unary = 0; + } + else + { + element = malloc(sizeof(struct element)); + if(!element) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + ok = False; + break; + } + element->next = NULL; + length = 0; + if(isdigit(data[i])) + { + if(tolower(data[i + 1]) == 'x') + { + i += 2; + while(isxdigit(data[i + length])) length++; // TODO: Sjekk overflow + element->data = atox_n(&data[i], length); + } + else if(tolower(data[i + 1]) == 'b') + { + i += 2; + element->data = 0; + while((data[i + length] == '1') || (data[i + length] == '0')) + { + element->data <<= 1; + element->data |= data[i + length++] - '0'; // TODO: Sjekk overflow + } + } + else + { + while(isdigit(data[i + length])) length++; + element->data = atoi_n(&data[i], length); // TODO: Sjekk overflow + } + } + else if(data[i] == '$') + { + i++; + while(isxdigit(data[i + length])) length++; + element->data = atox_n(&data[i], length); // TODO: Sjekk overflow + } + else if(data[i] == '\'') + { + i++; + element->data = data[i]; // TODO: Sjekk for siste ' + length = 2; + } + else if(data[i] == '(') + { + i++; + length = par_length(&data[i]); + if(length == -1) + { + print_msg(pi, MSGTYPE_ERROR, "Missing ')'"); + break; + } + data[i + length++] = '\0'; + ok = get_expr(pi, &data[i], &element->data); + if(!ok) + break; + } + else if(-1 != (function = get_function(&data[i]))) + { + while(data[i] != '(') i++; + i++; + length = par_length(&data[i]); + if(length == -1) + { + print_msg(pi, MSGTYPE_ERROR, "Missing ')'"); + break; + } + data[i + length++] = '\0'; + ok = get_expr(pi, &data[i], &element->data); + if(!ok) + break; + element->data = do_function(function, element->data); + } + else if(!nocase_strncmp(&data[i], "defined(", 8)) + { + i += 8; + length = par_length(&data[i]); + if(length == -1) + { + print_msg(pi, MSGTYPE_ERROR, "Missing ')'"); + break; + } + data[i + length++] = '\0'; + if(get_symbol(pi, &data[i], NULL)) + element->data = 1; + else + element->data = 0; + } + else if(!nocase_strncmp(&data[i], "supported(", 10)) + { + i += 10; + length = par_length(&data[i]); + if(length == -1) + { + print_msg(pi, MSGTYPE_ERROR, "Missing ')'"); + break; + } + data[i + length++] = '\0'; + element->data=is_supported(pi, &data[i]); + if (element->data<0) + { + if (toupper(data[i])=='X') + { + if (pi->device->flag&DF_NO_XREG) element->data = 0; + else element->data = 1; + } + else if (toupper(data[i])=='Y') + { + if (pi->device->flag&DF_NO_YREG) element->data = 0; + else element->data = 1; + } + else if (toupper(data[i])=='Z') + element->data = 1; + else + { + print_msg(pi, MSGTYPE_ERROR, "Unknown mnemonic: %s",&data[i]); + element->data = 0; + } + } + } + else + { + while(IS_LABEL(data[i + length])) length++; + if((length == 2) && !nocase_strncmp(&data[i], "PC", 2)) + element->data = pi->cseg_addr; + else + { + label = malloc(length + 1); + if(!label) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + ok = False; + break; + } + strncpy(label, &data[i], length); + label[length] = '\0'; + if(get_symbol(pi, label, &element->data)) + free(label); + else + { + print_msg(pi, MSGTYPE_ERROR, "Found no label/variable/constant named %s", label); + free(label); + break; + } + } + } + i += length - 1; + switch(unary) // TODO: Få den til å takle flere unary på rad. + { + case '-': + element->data = -element->data; + break; + case '!': + element->data = !element->data; + break; + case '~': + element->data = ~element->data; + } + *last_element = element; + last_element = &element->next; + count++; + first_flag = False; + } + } + if(end) + { + for(i = 13; (i >= 4) && (count != 1); i--) + { + for(element = first_element; element->next;) + { + if(test_operator_at_precedence(element->next->data, i)) // TODO: Vurder en hi_i for kjapphet + { + element->data = calc(pi, element->data, element->next->data, element->next->next->data); + temp_element = element->next->next->next; + free(element->next->next); + free(element->next); + count -= 2; + element->next = temp_element; + } + else + element = element->next->next; + } + } + *value = first_element->data; + } + for(element = first_element; element;) + { + temp_element = element; + element = element->next; + free(temp_element); + } + return(ok); + } + + +int get_operator(char *op) + { + switch(op[0]) + { + case '*': + return(OPERATOR_MUL); + case '/': + return(OPERATOR_DIV); + case '%': + return(OPERATOR_MOD); + case '+': + return(OPERATOR_ADD); + case '-': + return(OPERATOR_SUB); + case '<': + switch(op[1]) + { + case '<': + return(OPERATOR_SHIFT_LEFT); + case '=': + return(OPERATOR_LESS_OR_EQUAL); + default: + return(OPERATOR_LESS_THAN); + } + case '>': + switch(op[1]) + { + case '>': + return(OPERATOR_SHIFT_RIGHT); + case '=': + return(OPERATOR_GREATER_OR_EQUAL); + default: + return(OPERATOR_GREATER_THAN); + } + case '=': + if(op[1] == '=') + return(OPERATOR_EQUAL); + case '!': + if(op[1] == '=') + return(OPERATOR_NOT_EQUAL); + case '&': + if(op[1] == '&') + return(OPERATOR_LOGICAL_AND); + else + return(OPERATOR_BITWISE_AND); + case '^': + return(OPERATOR_BITWISE_XOR); + case '|': + if(op[1] == '|') + return(OPERATOR_LOGICAL_OR); + else + return(OPERATOR_BITWISE_OR); + } + return(OPERATOR_ERROR); + } + + +int test_operator_at_precedence(int operator, int precedence) + { + switch(precedence) + { + case 13: + return((operator == OPERATOR_MUL) || (operator == OPERATOR_DIV) + || (operator == OPERATOR_MOD)); + case 12: + return((operator == OPERATOR_ADD) || (operator == OPERATOR_SUB)); + case 11: + return((operator == OPERATOR_SHIFT_LEFT) || (operator == OPERATOR_SHIFT_RIGHT)); + case 10: + return((operator == OPERATOR_LESS_THAN) || (operator == OPERATOR_LESS_OR_EQUAL) + || (operator == OPERATOR_GREATER_THAN) || (operator == OPERATOR_GREATER_OR_EQUAL)); + case 9: + return((operator == OPERATOR_EQUAL) || (operator == OPERATOR_NOT_EQUAL)); + case 8: + return(operator == OPERATOR_BITWISE_AND); + case 7: + return(operator == OPERATOR_BITWISE_XOR); + case 6: + return(operator == OPERATOR_BITWISE_OR); + case 5: + return(operator == OPERATOR_LOGICAL_AND); + default: /* Makes the compiler shut up */ + case 4: + return(operator == OPERATOR_LOGICAL_OR); + } + } + + +int calc(struct prog_info *pi, int left, int operator, int right) // TODO: Sjekk litt resultater + { + switch(operator) + { + case OPERATOR_MUL: + return(left * right); + case OPERATOR_DIV: + if(right == 0) + { + print_msg(pi, MSGTYPE_ERROR, "Division by zero"); + return(0); + } + return(left / right); + case OPERATOR_MOD: + if(right == 0) + { + print_msg(pi, MSGTYPE_ERROR, "Division by zero (modulus operator)"); + return(0); + } + return(left % right); + case OPERATOR_ADD: + return(left + right); + case OPERATOR_SUB: + return(left - right); + case OPERATOR_SHIFT_LEFT: + return(left << right); + case OPERATOR_SHIFT_RIGHT: + return(left >> right); + case OPERATOR_LESS_THAN: + return(left < right); + case OPERATOR_LESS_OR_EQUAL: + return(left <= right); + case OPERATOR_GREATER_THAN: + return(left > right); + case OPERATOR_GREATER_OR_EQUAL: + return(left >= right); + case OPERATOR_EQUAL: + return(left == right); + case OPERATOR_NOT_EQUAL: + return(left != right); + case OPERATOR_BITWISE_AND: + return(left & right); + case OPERATOR_BITWISE_XOR: + return(left ^ right); + case OPERATOR_BITWISE_OR: + return(left | right); + case OPERATOR_LOGICAL_AND: + return(left && right); + default: /* Make the compiler shut up */ + case OPERATOR_LOGICAL_OR: + return(left || right); + } + } + + +int get_function(char *function) + { + int i; + + for(i = 0; i < FUNCTION_COUNT; i++) + if(!nocase_strncmp(function, function_list[i], strlen(function_list[i]))) return(i); + return(-1); + } + + +int do_function(int function, int value) + { + switch(function) + { + case FUNCTION_LOW: + return(value & 0xff); + case FUNCTION_HIGH: + case FUNCTION_BYTE2: + return((value >> 8) & 0xff); + case FUNCTION_BYTE3: + return((value >> 16) & 0xff); + case FUNCTION_BYTE4: + return((value >> 24) & 0xff); + case FUNCTION_LWRD: + return(value & 0xffff); + case FUNCTION_HWRD: + return((value >> 16) & 0xffff); + case FUNCTION_PAGE: + return((value >> 16) & 0xff); + case FUNCTION_EXP2: + return(1 << value); + case FUNCTION_LOG2: + return(log2(value)); + default: + return(0); + } + } + + +int log2(int value) + { + int i = 0; + + while(value >>= 1) i++; + return(i); + } + + +int get_symbol(struct prog_info *pi, char *label_name, int *data) + { + struct label *label; + struct macro_call *macro_call; + + for(label = pi->first_constant; label; label = label->next) + if(!nocase_strcmp(label->name, label_name)) + { + if(data) + *data = label->value; + return(True); + } + + for(label = pi->first_variable; label; label = label->next) + if(!nocase_strcmp(label->name, label_name)) + { + if(data) + *data = label->value; + return(True); + } + + for(macro_call = pi->macro_call; macro_call; macro_call = macro_call->prev_on_stack) + { + for(label = pi->macro_call->first_label; label; label = label->next) + if(!nocase_strcmp(label->name, label_name)) + { + if(data) + *data = label->value; + return(True); + } + } + + for(label = pi->first_label; label; label = label->next) + if(!nocase_strcmp(label->name, label_name)) + { + if(data) + *data = label->value; + return(True); + } + + return(False); + } + + +int par_length(char *data) + { + int i = 0, b_count = 1; + + for(;;) + { + if(data[i] == ')') + { + b_count--; + if(!b_count) + return(i); + } + else if(data[i] == '(') + b_count++; + else if(data[i] == '\0') + return(-1); + i++; + } + } + + + diff --git a/src/mkutil/avra-0.8/SOURCE/file.c b/src/mkutil/avra-0.8/SOURCE/file.c index a14654d2..b7dbae1c 100644 --- a/src/mkutil/avra-0.8/SOURCE/file.c +++ b/src/mkutil/avra-0.8/SOURCE/file.c @@ -1,272 +1,272 @@ -/*********************************************************************** - * avra - Assembler for the Atmel AVR microcontroller series - * Copyright (C) 1998-2001 Jon Anders Haugum - * Copyright (C) 2002-2003 Tobias Weber - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - * - * Authors of avra can be reached at: - * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com - * www: http://sourceforge.net/projects/avra - */ - -#include -#include -#include -#include - -#include "misc.h" -#include "avra.h" -#include "args.h" - - -int open_out_files(struct prog_info *pi, char *filename) - { - int length; - char *buff; - time_t tp; - int ok; /* flag for coff results */ - - length = strlen(filename); - buff = malloc(length + 9); - if(buff) - { - strcpy(buff, filename); - if(length >= 4) - if(!nocase_strcmp(&buff[length - 4], ".asm")) - { - length -= 4; - buff[length] = '\0'; - } - strcpy(&buff[length], ".list"); - pi->list_file = fopen(buff, "w"); - if(pi->cseg_count) - { - strcpy(&buff[length], ".hex"); - pi->hfi = open_hex_file(buff); - strcpy(&buff[length], ".obj"); - pi->obj_file = open_obj_file(pi, buff); - } - if(pi->eseg_count) - { - strcpy(&buff[length], ".eep.hex"); - pi->eep_hfi = open_hex_file(buff); - } - - if(GET_ARG(pi->args, ARG_COFF)){ - strcpy(&buff[length], ".cof"); - pi->coff_file = open_coff_file(pi, buff); - if( pi->coff_file ) - ok = True; - else - ok = False; - } - else{ - pi->coff_file = 0; - ok = True; - } - - free(buff); - - if(pi->list_file && pi->obj_file && (!pi->cseg_count || pi->hfi) && (!pi->eseg_count || pi->eep_hfi) && ok) - { - if(time(&tp) != -1) - fprintf(pi->list_file, "\navra ver. %d.%d %s %s\n\n", VERSION, REVISION, filename, ctime(&tp)); - return(True); - } - else - close_out_files(pi); - } - else - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - - -void close_out_files(struct prog_info *pi) - { - if(pi->error_count == 0) - { - printf("Segment usage:\n" - " Code : %7d words (%d bytes)\n" - " Data : %7d bytes\n" - " EEPROM : %7d bytes\n", - pi->cseg_count, pi->cseg_count * 2, pi->dseg_count, pi->eseg_count); - } - if(pi->hfi) close_hex_file(pi->hfi); - if(pi->eep_hfi) close_hex_file(pi->eep_hfi); - if(pi->list_file) - { - if(pi->error_count == 0) - fprintf(pi->list_file, "\nAssembly completed with no errors.\n"); - fclose(pi->list_file); - } - if(pi->obj_file) close_obj_file(pi, pi->obj_file); - if(pi->coff_file) close_coff_file(pi, pi->coff_file); - } - - -struct hex_file_info *open_hex_file(char *filename) - { - struct hex_file_info *hfi; - - hfi = calloc(1, sizeof(struct hex_file_info)); - if(hfi) - { - hfi->segment = -1; - hfi->fp = fopen(filename, "wb"); - if(!hfi->fp) - { - close_hex_file(hfi); - hfi = NULL; - } - } - return(hfi); - } - - -void close_hex_file(struct hex_file_info *hfi) - { - if(hfi->fp) - { - if(hfi->count != 0) - do_hex_line(hfi); - fprintf(hfi->fp, ":00000001FF\x0d\x0a"); - fclose(hfi->fp); - } - free(hfi); - } - - -void write_ee_byte(struct prog_info *pi, int address, unsigned char data) - { - if((pi->eep_hfi->count == 16) || ((address != (pi->eep_hfi->linestart_addr + pi->eep_hfi->count)) && (pi->eep_hfi->count != 0))) - do_hex_line(pi->eep_hfi); - if(pi->eep_hfi->count == 0) - pi->eep_hfi->linestart_addr = address; - pi->eep_hfi->hex_line[pi->eep_hfi->count++] = data; - - if(pi->coff_file) - write_coff_eeprom(pi, address, data); - } - - -void write_prog_word(struct prog_info *pi, int address, int data) - { - write_obj_record(pi, address, data); - address *= 2; - if(pi->hfi->segment != (address >> 16)) - { - if(pi->hfi->count != 0) - do_hex_line(pi->hfi); - pi->hfi->segment = address >> 16; - if(pi->hfi->segment >= 16) // Use 04 record for addresses above 1 meg since 02 can support max 1 meg - fprintf(pi->hfi->fp, ":02000004%04X%02X\x0d\x0a", pi->hfi->segment & 0xffff, - (0 - 2 - 4 - ((pi->hfi->segment >> 8) & 0xff) - (pi->hfi->segment & 0xff)) & 0xff); - else // Use 02 record for addresses below 1 meg since more programmers know about the 02 instead of the 04 - fprintf(pi->hfi->fp, ":02000002%04X%02X\x0d\x0a", (pi->hfi->segment << 12) & 0xffff, - (0 - 2 - 2 - ((pi->hfi->segment << 4) & 0xf0)) & 0xff); - } - if((pi->hfi->count == 16) || ((address != (pi->hfi->linestart_addr + pi->hfi->count)) && (pi->hfi->count != 0))) - do_hex_line(pi->hfi); - if(pi->hfi->count == 0) - pi->hfi->linestart_addr = address; - pi->hfi->hex_line[pi->hfi->count++] = data & 0xff; - pi->hfi->hex_line[pi->hfi->count++] = (data >> 8) & 0xff; - - if(pi->coff_file != 0) - write_coff_program(pi, address, data); - } - - -void do_hex_line(struct hex_file_info *hfi) - { - int i; - unsigned char checksum = 0; - - fprintf(hfi->fp, ":%02X%04X00", hfi->count, hfi->linestart_addr & 0xffff); - checksum -= hfi->count + ((hfi->linestart_addr >> 8) & 0xff) + (hfi->linestart_addr & 0xff); - for(i = 0; i < hfi->count; i++) - { - fprintf(hfi->fp, "%02X", hfi->hex_line[i]); - checksum -= hfi->hex_line[i]; - } - fprintf(hfi->fp, "%02X\x0d\x0a", checksum); - hfi->count = 0; - } - - -FILE *open_obj_file(struct prog_info *pi, char *filename) - { - int i; - FILE *fp; - struct include_file *include_file; - - fp = fopen(filename, "wb"); - if(fp) - { - i = pi->cseg_count * 9 + 26; - fputc((i >> 24) & 0xff, fp); - fputc((i >> 16) & 0xff, fp); - fputc((i >> 8) & 0xff, fp); - fputc(i & 0xff, fp); - i = 26; - fputc((i >> 24) & 0xff, fp); - fputc((i >> 16) & 0xff, fp); - fputc((i >> 8) & 0xff, fp); - fputc(i & 0xff, fp); - fputc(9, fp); - i = 0; - for(include_file = pi->first_include_file; include_file; include_file = include_file->next) - i++; - fputc(i, fp); - fprintf(fp, "AVR Object File"); - fputc('\0', fp); - } - return(fp); - } - - -void close_obj_file(struct prog_info *pi, FILE *fp) - { - struct include_file *include_file; - - for(include_file = pi->first_include_file; include_file; include_file = include_file->next) - { - fprintf(fp, "%s", include_file->name); - fputc('\0', fp); - } - fputc('\0', fp); - fclose(fp); - } - - -void write_obj_record(struct prog_info *pi, int address, int data) - { - fputc((address >> 16) & 0xff, pi->obj_file); - fputc((address >> 8) & 0xff, pi->obj_file); - fputc(address & 0xff, pi->obj_file); - fputc((data >> 8) & 0xff, pi->obj_file); - fputc(data & 0xff, pi->obj_file); - fputc(pi->fi->include_file->num & 0xff, pi->obj_file); - fputc((pi->fi->line_number >> 8) & 0xff, pi->obj_file); - fputc(pi->fi->line_number & 0xff, pi->obj_file); - if(pi->macro_call) - fputc(1, pi->obj_file); - else - fputc(0, pi->obj_file); - } +/*********************************************************************** + * avra - Assembler for the Atmel AVR microcontroller series + * Copyright (C) 1998-2001 Jon Anders Haugum + * Copyright (C) 2002-2003 Tobias Weber + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * + * Authors of avra can be reached at: + * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com + * www: http://sourceforge.net/projects/avra + */ + +#include +#include +#include +#include + +#include "misc.h" +#include "avra.h" +#include "args.h" + + +int open_out_files(struct prog_info *pi, char *filename) + { + int length; + char *buff; + time_t tp; + int ok; /* flag for coff results */ + + length = strlen(filename); + buff = malloc(length + 9); + if(buff) + { + strcpy(buff, filename); + if(length >= 4) + if(!nocase_strcmp(&buff[length - 4], ".asm")) + { + length -= 4; + buff[length] = '\0'; + } + strcpy(&buff[length], ".list"); + pi->list_file = fopen(buff, "w"); + if(pi->cseg_count) + { + strcpy(&buff[length], ".hex"); + pi->hfi = open_hex_file(buff); + strcpy(&buff[length], ".obj"); + pi->obj_file = open_obj_file(pi, buff); + } + if(pi->eseg_count) + { + strcpy(&buff[length], ".eep.hex"); + pi->eep_hfi = open_hex_file(buff); + } + + if(GET_ARG(pi->args, ARG_COFF)){ + strcpy(&buff[length], ".cof"); + pi->coff_file = open_coff_file(pi, buff); + if( pi->coff_file ) + ok = True; + else + ok = False; + } + else{ + pi->coff_file = 0; + ok = True; + } + + free(buff); + + if(pi->list_file && pi->obj_file && (!pi->cseg_count || pi->hfi) && (!pi->eseg_count || pi->eep_hfi) && ok) + { + if(time(&tp) != -1) + fprintf(pi->list_file, "\navra ver. %d.%d %s %s\n\n", VERSION, REVISION, filename, ctime(&tp)); + return(True); + } + else + close_out_files(pi); + } + else + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + + +void close_out_files(struct prog_info *pi) + { + if(pi->error_count == 0) + { + printf("Segment usage:\n" + " Code : %7d words (%d bytes)\n" + " Data : %7d bytes\n" + " EEPROM : %7d bytes\n", + pi->cseg_count, pi->cseg_count * 2, pi->dseg_count, pi->eseg_count); + } + if(pi->hfi) close_hex_file(pi->hfi); + if(pi->eep_hfi) close_hex_file(pi->eep_hfi); + if(pi->list_file) + { + if(pi->error_count == 0) + fprintf(pi->list_file, "\nAssembly completed with no errors.\n"); + fclose(pi->list_file); + } + if(pi->obj_file) close_obj_file(pi, pi->obj_file); + if(pi->coff_file) close_coff_file(pi, pi->coff_file); + } + + +struct hex_file_info *open_hex_file(char *filename) + { + struct hex_file_info *hfi; + + hfi = calloc(1, sizeof(struct hex_file_info)); + if(hfi) + { + hfi->segment = -1; + hfi->fp = fopen(filename, "wb"); + if(!hfi->fp) + { + close_hex_file(hfi); + hfi = NULL; + } + } + return(hfi); + } + + +void close_hex_file(struct hex_file_info *hfi) + { + if(hfi->fp) + { + if(hfi->count != 0) + do_hex_line(hfi); + fprintf(hfi->fp, ":00000001FF\x0d\x0a"); + fclose(hfi->fp); + } + free(hfi); + } + + +void write_ee_byte(struct prog_info *pi, int address, unsigned char data) + { + if((pi->eep_hfi->count == 16) || ((address != (pi->eep_hfi->linestart_addr + pi->eep_hfi->count)) && (pi->eep_hfi->count != 0))) + do_hex_line(pi->eep_hfi); + if(pi->eep_hfi->count == 0) + pi->eep_hfi->linestart_addr = address; + pi->eep_hfi->hex_line[pi->eep_hfi->count++] = data; + + if(pi->coff_file) + write_coff_eeprom(pi, address, data); + } + + +void write_prog_word(struct prog_info *pi, int address, int data) + { + write_obj_record(pi, address, data); + address *= 2; + if(pi->hfi->segment != (address >> 16)) + { + if(pi->hfi->count != 0) + do_hex_line(pi->hfi); + pi->hfi->segment = address >> 16; + if(pi->hfi->segment >= 16) // Use 04 record for addresses above 1 meg since 02 can support max 1 meg + fprintf(pi->hfi->fp, ":02000004%04X%02X\x0d\x0a", pi->hfi->segment & 0xffff, + (0 - 2 - 4 - ((pi->hfi->segment >> 8) & 0xff) - (pi->hfi->segment & 0xff)) & 0xff); + else // Use 02 record for addresses below 1 meg since more programmers know about the 02 instead of the 04 + fprintf(pi->hfi->fp, ":02000002%04X%02X\x0d\x0a", (pi->hfi->segment << 12) & 0xffff, + (0 - 2 - 2 - ((pi->hfi->segment << 4) & 0xf0)) & 0xff); + } + if((pi->hfi->count == 16) || ((address != (pi->hfi->linestart_addr + pi->hfi->count)) && (pi->hfi->count != 0))) + do_hex_line(pi->hfi); + if(pi->hfi->count == 0) + pi->hfi->linestart_addr = address; + pi->hfi->hex_line[pi->hfi->count++] = data & 0xff; + pi->hfi->hex_line[pi->hfi->count++] = (data >> 8) & 0xff; + + if(pi->coff_file != 0) + write_coff_program(pi, address, data); + } + + +void do_hex_line(struct hex_file_info *hfi) + { + int i; + unsigned char checksum = 0; + + fprintf(hfi->fp, ":%02X%04X00", hfi->count, hfi->linestart_addr & 0xffff); + checksum -= hfi->count + ((hfi->linestart_addr >> 8) & 0xff) + (hfi->linestart_addr & 0xff); + for(i = 0; i < hfi->count; i++) + { + fprintf(hfi->fp, "%02X", hfi->hex_line[i]); + checksum -= hfi->hex_line[i]; + } + fprintf(hfi->fp, "%02X\x0d\x0a", checksum); + hfi->count = 0; + } + + +FILE *open_obj_file(struct prog_info *pi, char *filename) + { + int i; + FILE *fp; + struct include_file *include_file; + + fp = fopen(filename, "wb"); + if(fp) + { + i = pi->cseg_count * 9 + 26; + fputc((i >> 24) & 0xff, fp); + fputc((i >> 16) & 0xff, fp); + fputc((i >> 8) & 0xff, fp); + fputc(i & 0xff, fp); + i = 26; + fputc((i >> 24) & 0xff, fp); + fputc((i >> 16) & 0xff, fp); + fputc((i >> 8) & 0xff, fp); + fputc(i & 0xff, fp); + fputc(9, fp); + i = 0; + for(include_file = pi->first_include_file; include_file; include_file = include_file->next) + i++; + fputc(i, fp); + fprintf(fp, "AVR Object File"); + fputc('\0', fp); + } + return(fp); + } + + +void close_obj_file(struct prog_info *pi, FILE *fp) + { + struct include_file *include_file; + + for(include_file = pi->first_include_file; include_file; include_file = include_file->next) + { + fprintf(fp, "%s", include_file->name); + fputc('\0', fp); + } + fputc('\0', fp); + fclose(fp); + } + + +void write_obj_record(struct prog_info *pi, int address, int data) + { + fputc((address >> 16) & 0xff, pi->obj_file); + fputc((address >> 8) & 0xff, pi->obj_file); + fputc(address & 0xff, pi->obj_file); + fputc((data >> 8) & 0xff, pi->obj_file); + fputc(data & 0xff, pi->obj_file); + fputc(pi->fi->include_file->num & 0xff, pi->obj_file); + fputc((pi->fi->line_number >> 8) & 0xff, pi->obj_file); + fputc(pi->fi->line_number & 0xff, pi->obj_file); + if(pi->macro_call) + fputc(1, pi->obj_file); + else + fputc(0, pi->obj_file); + } diff --git a/src/mkutil/avra-0.8/SOURCE/macro.c b/src/mkutil/avra-0.8/SOURCE/macro.c index 14b38af7..a1e82b5b 100644 --- a/src/mkutil/avra-0.8/SOURCE/macro.c +++ b/src/mkutil/avra-0.8/SOURCE/macro.c @@ -1,427 +1,427 @@ -/*********************************************************************** - * avra - Assembler for the Atmel AVR microcontroller series - * Copyright (C) 1998-2001 Jon Anders Haugum - * Copyright (C) 2002-2003 Tobias Weber - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - * - * Authors of avra can be reached at: - * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com - * www: http://sourceforge.net/projects/avra - */ - -#include -#include -#include -#include - -#include "misc.h" -#include "args.h" -#include "avra.h" -#include "device.h" - -int read_macro(struct prog_info *pi, char *name, int pass) - { - int loopok, i; - struct macro *macro; - struct macro_line *macro_line, **last_macro_line; - - if(pass == PASS_1) - { - if(!name) - { - print_msg(pi, MSGTYPE_ERROR, "Missing macro name"); - return(True); - } - get_next_token(name, TERM_END); - // TODO: Sjekk om navnet er gyldig. Bare isalnum() og '_' - macro = calloc(1, sizeof(struct macro)); - if(!macro) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - if(pi->last_macro) - pi->last_macro->next = macro; - else - pi->first_macro = macro; - pi->last_macro = macro; - macro->name = malloc(strlen(name) + 1); - if(!macro->name) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - strcpy(macro->name, name); - macro->include_file = pi->fi->include_file; - macro->first_line_number = pi->fi->line_number; - last_macro_line = ¯o->first_macro_line; - } - else if(pi->list_line && pi->list_on) /* pass == PASS_2 */ - { - fprintf(pi->list_file, " %s", pi->list_line); - pi->list_line = NULL; - } - loopok = True; - while(loopok) - { - if(fgets(pi->fi->buff, LINEBUFFER_LENGTH, pi->fi->fp)) - { - pi->fi->line_number++; - i = 0; - while(IS_HOR_SPACE(pi->fi->buff[i]) && !IS_END(pi->fi->buff[i])) i++; - if(pi->fi->buff[i] == '.') - { - i++; - if(!nocase_strncmp(&pi->fi->buff[i], "endm", 4)) // TODO: Vurder å sjekke navnet bedre - loopok = False; - } - if(pass == PASS_1) - { - if(loopok) - { - macro_line = calloc(1, sizeof(struct macro_line)); - if(!macro_line) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - *last_macro_line = macro_line; - last_macro_line = ¯o_line->next; - macro_line->line = malloc(strlen(pi->fi->buff) + 1); - if(!macro_line->line) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - strcpy(macro_line->line, pi->fi->buff); - } - } - else if(pi->fi->buff && pi->list_file) - { - if(pi->fi->buff[i] == ';') - fprintf(pi->list_file, " %s", pi->fi->buff); - else - fprintf(pi->list_file, " %s", pi->fi->buff); - } - } - else - { - if(feof(pi->fi->fp)) - { - print_msg(pi, MSGTYPE_ERROR, "Found no closing .ENDMACRO"); - return(True); - } - else - { - perror(pi->fi->include_file->name); - return(False); - } - } - } - return(True); - } - - -struct macro *get_macro(struct prog_info *pi, char *name) - { - struct macro *macro; - - for(macro = pi->first_macro; macro; macro = macro->next) - if(!nocase_strcmp(macro->name, name)) - return(macro); - return(NULL); - } -/* -append_arg(char * argfield, char * arg) -{ - argfield = arg; -} -*/ - -void append_type(struct prog_info *pi, char *name, int c, char *value) -{ - int p; - struct def *def; - - p = strlen(name); - name[p++] = '_'; - - if(c == 0) - { - name[p++] = 'v'; - name[p] = '\0'; - return; - } - - for(def = pi->first_def; def; def = def->next) - if(!nocase_strcmp(def->name, value)) - { - itoa((c*8),&name[p],10); - return; - } - - name[p++] = 'i'; - name[p] = '\0'; -} - -/* - * This routine replaces the macro call with mnemonics - */ - -int expand_macro(struct prog_info *pi, struct macro *macro, char *rest_line, int pass) -{ - int ok = True, macro_arg_count = 0, i, j; - char *line, *temp, *macro_args[MAX_MACRO_ARGS]; - char buff[LINEBUFFER_LENGTH]; - struct macro_line *old_macro_line; - struct macro_call *macro_call; - - // added by TW - int off,a,c ; - char arg,ec = False; // extended code switch - char macro_argtype[MAX_MACRO_ARGS][4]; // 3D array for argument types and name translation - char *nmn; //string buffer for new macro name - char buffer[LINEBUFFER_LENGTH]; - int p; - - if(rest_line) - { - line = malloc(strlen(rest_line) + 1); - if(!line) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - strcpy(line, rest_line); - temp = line; - - /* here we split up the macro arguments into "macro_args" - * Extended macro code interpreter added by TW 2002 - */ - - if( temp[0] == '[' ) // there must be "[" "," "]", else it is garbage - { - if(!strchr(temp, ']')) - { - print_msg(pi, MSGTYPE_ERROR, "found no ']'"); - return(False); - } - temp = &temp[1]; // skip the first bracket - nmn = malloc(LINEBUFFER_LENGTH); - if(!nmn) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - strcpy(nmn,macro->name); // create a new macro name buffer - c = 1; // byte counter - //ec = True; // switch to ext. code - arg = True; // loop flag - - while(arg) - { - while(IS_HOR_SPACE(temp[0])) //skip leading spaces - { temp = &temp[1]; } - - off = 0; // pointer offset - - do - { - switch(temp[off]) //test current character code - { - case ':': - temp[off] = '\0'; - if(off > 0) - { - c++; - macro_args[macro_arg_count++] = temp; - } - else - { - print_msg(pi, MSGTYPE_ERROR, "missig register before ':'",nmn); - return(False); - } - break; - - case ']': - arg = False; - case ',': - a = off; - do temp[a--] = '\0'; while( IS_HOR_SPACE(temp[a]) ); - if(off > 0) - { - macro_args[macro_arg_count++] = temp; - append_type(pi, nmn, c, temp); - c = 1; - } - else - { - append_type(pi, nmn, 0, temp); - c = 1; - } - break; - - default: - off++; - } - } - while(temp[off] != '\0'); - - if(arg) temp = &temp[off+1]; - else break; - } - - macro = get_macro(pi,nmn); - if(macro == NULL) - { - print_msg(pi, MSGTYPE_ERROR, "Macro %s not defined !",nmn); - return(False); - } - } - else - { - line = malloc(strlen(rest_line) + 1); - if(!line) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - strcpy(line, rest_line); - temp = line; - while(temp) - { - macro_args[macro_arg_count++] = temp; - temp = get_next_token(temp, TERM_COMMA); - } - } - - - -/* - if(IS_END(temp[i])) - { - temp[i--] = '\0'; - while(IS_HOR_SPACE(temp[i])) temp[i--] = '\0'; - return(0); - } - - * former code from orginial - while(temp) // as long as there valid data in "temp" - { - macro_args[macro_arg_count++] = temp; - temp = get_next_token(temp, TERM_COMMA); - } - */ - } - - if(pass == PASS_1) - { - macro_call = calloc(1, sizeof(struct macro_call)); - if(!macro_call) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - if(pi->last_macro_call) - pi->last_macro_call->next = macro_call; - else - pi->first_macro_call = macro_call; - pi->last_macro_call = macro_call; - macro_call->line_number = pi->fi->line_number; - macro_call->include_file = pi->fi->include_file; - macro_call->macro = macro; - macro_call->prev_on_stack = pi->macro_call; - if(macro_call->prev_on_stack) - { - macro_call->nest_level = macro_call->prev_on_stack->nest_level + 1; - macro_call->prev_line_index = macro_call->prev_on_stack->line_index; - } - } - else - { - for(macro_call = pi->first_macro_call; macro_call; macro_call = macro_call->next) - { - if((macro_call->include_file->num == pi->fi->include_file->num) - && (macro_call->line_number == pi->fi->line_number)) - { - if(pi->macro_call) - { - /* Find correct macro_call when using recursion and nesting */ - if(macro_call->prev_on_stack == pi->macro_call) - if((macro_call->nest_level == (pi->macro_call->nest_level + 1)) - && (macro_call->prev_line_index == pi->macro_call->line_index)) - break; - } - else - break; - } - } - if(pi->list_line && pi->list_on) - { - fprintf(pi->list_file, "%06x + %s", pi->cseg_addr, pi->list_line); - pi->list_line = NULL; - } - } - macro_call->line_index = 0; - pi->macro_call = macro_call; - old_macro_line = pi->macro_line; - for(pi->macro_line = macro->first_macro_line; pi->macro_line && ok; pi->macro_line = pi->macro_line->next) - { - macro_call->line_index++; - if(GET_ARG(pi->args, ARG_LISTMAC)) - pi->list_line = buff; - else - pi->list_line = NULL; - for(i = 0, j = 0; pi->macro_line->line[i] != '\0'; i++) - { - if(pi->macro_line->line[i] == '@') - { - i++; - if(!isdigit(pi->macro_line->line[i])) - print_msg(pi, MSGTYPE_ERROR, "@ must be followed by a number"); - else if((pi->macro_line->line[i] - '0') >= macro_arg_count) - print_msg(pi, MSGTYPE_ERROR, "Missing macro argument (for @%c)", pi->macro_line->line[i]); - else - { - strcpy(&buff[j], macro_args[pi->macro_line->line[i] - '0']); - j += strlen(macro_args[pi->macro_line->line[i] - '0']); - } - } - else - buff[j++] = pi->macro_line->line[i]; - } - buff[j] = '\0'; - ok = parse_line(pi, buff, pass); - if(ok) - { - if((pass == PASS_2) && pi->list_line && pi->list_on) - fprintf(pi->list_file, " %s", pi->list_line); - if(pi->error_count >= pi->max_errors) - { - print_msg(pi, MSGTYPE_MESSAGE, "Maximum error count reached. Exiting..."); - break; - } - } - } - pi->macro_line = old_macro_line; - pi->macro_call = macro_call->prev_on_stack; - if(rest_line) - free(line); - return(ok); - } - +/*********************************************************************** + * avra - Assembler for the Atmel AVR microcontroller series + * Copyright (C) 1998-2001 Jon Anders Haugum + * Copyright (C) 2002-2003 Tobias Weber + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * + * Authors of avra can be reached at: + * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com + * www: http://sourceforge.net/projects/avra + */ + +#include +#include +#include +#include + +#include "misc.h" +#include "args.h" +#include "avra.h" +#include "device.h" + +int read_macro(struct prog_info *pi, char *name, int pass) + { + int loopok, i; + struct macro *macro; + struct macro_line *macro_line, **last_macro_line; + + if(pass == PASS_1) + { + if(!name) + { + print_msg(pi, MSGTYPE_ERROR, "Missing macro name"); + return(True); + } + get_next_token(name, TERM_END); + // TODO: Sjekk om navnet er gyldig. Bare isalnum() og '_' + macro = calloc(1, sizeof(struct macro)); + if(!macro) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + if(pi->last_macro) + pi->last_macro->next = macro; + else + pi->first_macro = macro; + pi->last_macro = macro; + macro->name = malloc(strlen(name) + 1); + if(!macro->name) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + strcpy(macro->name, name); + macro->include_file = pi->fi->include_file; + macro->first_line_number = pi->fi->line_number; + last_macro_line = ¯o->first_macro_line; + } + else if(pi->list_line && pi->list_on) /* pass == PASS_2 */ + { + fprintf(pi->list_file, " %s", pi->list_line); + pi->list_line = NULL; + } + loopok = True; + while(loopok) + { + if(fgets(pi->fi->buff, LINEBUFFER_LENGTH, pi->fi->fp)) + { + pi->fi->line_number++; + i = 0; + while(IS_HOR_SPACE(pi->fi->buff[i]) && !IS_END(pi->fi->buff[i])) i++; + if(pi->fi->buff[i] == '.') + { + i++; + if(!nocase_strncmp(&pi->fi->buff[i], "endm", 4)) // TODO: Vurder å sjekke navnet bedre + loopok = False; + } + if(pass == PASS_1) + { + if(loopok) + { + macro_line = calloc(1, sizeof(struct macro_line)); + if(!macro_line) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + *last_macro_line = macro_line; + last_macro_line = ¯o_line->next; + macro_line->line = malloc(strlen(pi->fi->buff) + 1); + if(!macro_line->line) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + strcpy(macro_line->line, pi->fi->buff); + } + } + else if(pi->fi->buff && pi->list_file) + { + if(pi->fi->buff[i] == ';') + fprintf(pi->list_file, " %s", pi->fi->buff); + else + fprintf(pi->list_file, " %s", pi->fi->buff); + } + } + else + { + if(feof(pi->fi->fp)) + { + print_msg(pi, MSGTYPE_ERROR, "Found no closing .ENDMACRO"); + return(True); + } + else + { + perror(pi->fi->include_file->name); + return(False); + } + } + } + return(True); + } + + +struct macro *get_macro(struct prog_info *pi, char *name) + { + struct macro *macro; + + for(macro = pi->first_macro; macro; macro = macro->next) + if(!nocase_strcmp(macro->name, name)) + return(macro); + return(NULL); + } +/* +append_arg(char * argfield, char * arg) +{ + argfield = arg; +} +*/ + +void append_type(struct prog_info *pi, char *name, int c, char *value) +{ + int p; + struct def *def; + + p = strlen(name); + name[p++] = '_'; + + if(c == 0) + { + name[p++] = 'v'; + name[p] = '\0'; + return; + } + + for(def = pi->first_def; def; def = def->next) + if(!nocase_strcmp(def->name, value)) + { + itoa((c*8),&name[p],10); + return; + } + + name[p++] = 'i'; + name[p] = '\0'; +} + +/* + * This routine replaces the macro call with mnemonics + */ + +int expand_macro(struct prog_info *pi, struct macro *macro, char *rest_line, int pass) +{ + int ok = True, macro_arg_count = 0, i, j; + char *line, *temp, *macro_args[MAX_MACRO_ARGS]; + char buff[LINEBUFFER_LENGTH]; + struct macro_line *old_macro_line; + struct macro_call *macro_call; + + // added by TW + int off,a,c ; + char arg,ec = False; // extended code switch + char macro_argtype[MAX_MACRO_ARGS][4]; // 3D array for argument types and name translation + char *nmn; //string buffer for new macro name + char buffer[LINEBUFFER_LENGTH]; + int p; + + if(rest_line) + { + line = malloc(strlen(rest_line) + 1); + if(!line) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + strcpy(line, rest_line); + temp = line; + + /* here we split up the macro arguments into "macro_args" + * Extended macro code interpreter added by TW 2002 + */ + + if( temp[0] == '[' ) // there must be "[" "," "]", else it is garbage + { + if(!strchr(temp, ']')) + { + print_msg(pi, MSGTYPE_ERROR, "found no ']'"); + return(False); + } + temp = &temp[1]; // skip the first bracket + nmn = malloc(LINEBUFFER_LENGTH); + if(!nmn) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + strcpy(nmn,macro->name); // create a new macro name buffer + c = 1; // byte counter + //ec = True; // switch to ext. code + arg = True; // loop flag + + while(arg) + { + while(IS_HOR_SPACE(temp[0])) //skip leading spaces + { temp = &temp[1]; } + + off = 0; // pointer offset + + do + { + switch(temp[off]) //test current character code + { + case ':': + temp[off] = '\0'; + if(off > 0) + { + c++; + macro_args[macro_arg_count++] = temp; + } + else + { + print_msg(pi, MSGTYPE_ERROR, "missig register before ':'",nmn); + return(False); + } + break; + + case ']': + arg = False; + case ',': + a = off; + do temp[a--] = '\0'; while( IS_HOR_SPACE(temp[a]) ); + if(off > 0) + { + macro_args[macro_arg_count++] = temp; + append_type(pi, nmn, c, temp); + c = 1; + } + else + { + append_type(pi, nmn, 0, temp); + c = 1; + } + break; + + default: + off++; + } + } + while(temp[off] != '\0'); + + if(arg) temp = &temp[off+1]; + else break; + } + + macro = get_macro(pi,nmn); + if(macro == NULL) + { + print_msg(pi, MSGTYPE_ERROR, "Macro %s not defined !",nmn); + return(False); + } + } + else + { + line = malloc(strlen(rest_line) + 1); + if(!line) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + strcpy(line, rest_line); + temp = line; + while(temp) + { + macro_args[macro_arg_count++] = temp; + temp = get_next_token(temp, TERM_COMMA); + } + } + + + +/* + if(IS_END(temp[i])) + { + temp[i--] = '\0'; + while(IS_HOR_SPACE(temp[i])) temp[i--] = '\0'; + return(0); + } + + * former code from orginial + while(temp) // as long as there valid data in "temp" + { + macro_args[macro_arg_count++] = temp; + temp = get_next_token(temp, TERM_COMMA); + } + */ + } + + if(pass == PASS_1) + { + macro_call = calloc(1, sizeof(struct macro_call)); + if(!macro_call) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + if(pi->last_macro_call) + pi->last_macro_call->next = macro_call; + else + pi->first_macro_call = macro_call; + pi->last_macro_call = macro_call; + macro_call->line_number = pi->fi->line_number; + macro_call->include_file = pi->fi->include_file; + macro_call->macro = macro; + macro_call->prev_on_stack = pi->macro_call; + if(macro_call->prev_on_stack) + { + macro_call->nest_level = macro_call->prev_on_stack->nest_level + 1; + macro_call->prev_line_index = macro_call->prev_on_stack->line_index; + } + } + else + { + for(macro_call = pi->first_macro_call; macro_call; macro_call = macro_call->next) + { + if((macro_call->include_file->num == pi->fi->include_file->num) + && (macro_call->line_number == pi->fi->line_number)) + { + if(pi->macro_call) + { + /* Find correct macro_call when using recursion and nesting */ + if(macro_call->prev_on_stack == pi->macro_call) + if((macro_call->nest_level == (pi->macro_call->nest_level + 1)) + && (macro_call->prev_line_index == pi->macro_call->line_index)) + break; + } + else + break; + } + } + if(pi->list_line && pi->list_on) + { + fprintf(pi->list_file, "%06x + %s", pi->cseg_addr, pi->list_line); + pi->list_line = NULL; + } + } + macro_call->line_index = 0; + pi->macro_call = macro_call; + old_macro_line = pi->macro_line; + for(pi->macro_line = macro->first_macro_line; pi->macro_line && ok; pi->macro_line = pi->macro_line->next) + { + macro_call->line_index++; + if(GET_ARG(pi->args, ARG_LISTMAC)) + pi->list_line = buff; + else + pi->list_line = NULL; + for(i = 0, j = 0; pi->macro_line->line[i] != '\0'; i++) + { + if(pi->macro_line->line[i] == '@') + { + i++; + if(!isdigit(pi->macro_line->line[i])) + print_msg(pi, MSGTYPE_ERROR, "@ must be followed by a number"); + else if((pi->macro_line->line[i] - '0') >= macro_arg_count) + print_msg(pi, MSGTYPE_ERROR, "Missing macro argument (for @%c)", pi->macro_line->line[i]); + else + { + strcpy(&buff[j], macro_args[pi->macro_line->line[i] - '0']); + j += strlen(macro_args[pi->macro_line->line[i] - '0']); + } + } + else + buff[j++] = pi->macro_line->line[i]; + } + buff[j] = '\0'; + ok = parse_line(pi, buff, pass); + if(ok) + { + if((pass == PASS_2) && pi->list_line && pi->list_on) + fprintf(pi->list_file, " %s", pi->list_line); + if(pi->error_count >= pi->max_errors) + { + print_msg(pi, MSGTYPE_MESSAGE, "Maximum error count reached. Exiting..."); + break; + } + } + } + pi->macro_line = old_macro_line; + pi->macro_call = macro_call->prev_on_stack; + if(rest_line) + free(line); + return(ok); + } + diff --git a/src/mkutil/avra-0.8/SOURCE/map.c b/src/mkutil/avra-0.8/SOURCE/map.c index 04ce83c0..1b1ba28b 100644 --- a/src/mkutil/avra-0.8/SOURCE/map.c +++ b/src/mkutil/avra-0.8/SOURCE/map.c @@ -1,70 +1,70 @@ -/*********************************************************************** - * avra - Assembler for the Atmel AVR microcontroller series - * Copyright (C) 1998-2001 Jon Anders Haugum - * Copyright (C) 2002-2003 Tobias Weber - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - * - * Authors of avra can be reached at: - * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com - * www: http://sourceforge.net/projects/avra - */ - -#include "avra.h" -#include -#include -#include "args.h" - -char *Space(char *n); - -void write_map_file(struct prog_info *pi) - { - FILE *fp; - struct label *label; - char File[200],*P; - - strcpy(File,(char *)pi->args->first_data->data); - P = strrchr(File,'.'); - if( P ) *P = 0; - strcat(File,".map"); - fp = fopen(File,"w"); - if( fp == NULL ) { - fprintf(stderr,"Error: cannot write map file\n"); - return; - } - for(label = pi->first_constant; label; label = label->next) - fprintf(fp,"%s%sC\t%04x\t%d\n",label->name,Space(label->name),label->value,label->value); - - for(label = pi->first_variable; label; label = label->next) - fprintf(fp,"%s%sV\t%04x\t%d\n",label->name,Space(label->name),label->value,label->value); - - for(label = pi->first_label; label; label = label->next) - fprintf(fp,"%s%sL\t%04x\t%d\n",label->name,Space(label->name),label->value,label->value); - - fprintf(fp,"\n"); - fclose(fp); - return; - } - -char *Space(char *n) { - int i; - - i = strlen(n); - if( i < 1) return "\t\t\t"; - if( i < 8 ) return "\t\t"; - return "\t"; -} +/*********************************************************************** + * avra - Assembler for the Atmel AVR microcontroller series + * Copyright (C) 1998-2001 Jon Anders Haugum + * Copyright (C) 2002-2003 Tobias Weber + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * + * Authors of avra can be reached at: + * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com + * www: http://sourceforge.net/projects/avra + */ + +#include "avra.h" +#include +#include +#include "args.h" + +char *Space(char *n); + +void write_map_file(struct prog_info *pi) + { + FILE *fp; + struct label *label; + char File[200],*P; + + strcpy(File,(char *)pi->args->first_data->data); + P = strrchr(File,'.'); + if( P ) *P = 0; + strcat(File,".map"); + fp = fopen(File,"w"); + if( fp == NULL ) { + fprintf(stderr,"Error: cannot write map file\n"); + return; + } + for(label = pi->first_constant; label; label = label->next) + fprintf(fp,"%s%sC\t%04x\t%d\n",label->name,Space(label->name),label->value,label->value); + + for(label = pi->first_variable; label; label = label->next) + fprintf(fp,"%s%sV\t%04x\t%d\n",label->name,Space(label->name),label->value,label->value); + + for(label = pi->first_label; label; label = label->next) + fprintf(fp,"%s%sL\t%04x\t%d\n",label->name,Space(label->name),label->value,label->value); + + fprintf(fp,"\n"); + fclose(fp); + return; + } + +char *Space(char *n) { + int i; + + i = strlen(n); + if( i < 1) return "\t\t\t"; + if( i < 8 ) return "\t\t"; + return "\t"; +} diff --git a/src/mkutil/avra-0.8/SOURCE/misc.h b/src/mkutil/avra-0.8/SOURCE/misc.h index b0a68bea..14bb9aa9 100644 --- a/src/mkutil/avra-0.8/SOURCE/misc.h +++ b/src/mkutil/avra-0.8/SOURCE/misc.h @@ -1,14 +1,14 @@ -/* - * Misc stuff - */ - -enum boolean {False = 0, True}; - -enum filetype - { - AVRSTUDIO = 0, - GENERIC, - INTEL, - MOTOROLA - }; - +/* + * Misc stuff + */ + +enum boolean {False = 0, True}; + +enum filetype + { + AVRSTUDIO = 0, + GENERIC, + INTEL, + MOTOROLA + }; + diff --git a/src/mkutil/avra-0.8/SOURCE/mnemonic.c b/src/mkutil/avra-0.8/SOURCE/mnemonic.c index 3b0f1f55..924b6a30 100644 --- a/src/mkutil/avra-0.8/SOURCE/mnemonic.c +++ b/src/mkutil/avra-0.8/SOURCE/mnemonic.c @@ -1,871 +1,871 @@ -/*********************************************************************** - * avra - Assembler for the Atmel AVR microcontroller series - * Copyright (C) 1998-2001 Jon Anders Haugum - * Copyright (C) 2002-2003 Tobias Weber - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - * - * Authors of avra can be reached at: - * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com - * www: http://sourceforge.net/projects/avra - */ - -#include -#include -#include -#include - -#include "misc.h" -#include "avra.h" -#include "device.h" - -#define MAX_MNEMONIC_LEN 8 // Maximum mnemonic length - -enum - { - MNEMONIC_NOP = 0, // 0000 0000 0000 0000 - MNEMONIC_SEC, // 1001 0100 0000 1000 - MNEMONIC_CLC, // 1001 0100 1000 1000 - MNEMONIC_SEN, // 1001 0100 0010 1000 - MNEMONIC_CLN, // 1001 0100 1010 1000 - MNEMONIC_SEZ, // 1001 0100 0001 1000 - MNEMONIC_CLZ, // 1001 0100 1001 1000 - MNEMONIC_SEI, // 1001 0100 0111 1000 - MNEMONIC_CLI, // 1001 0100 1111 1000 - MNEMONIC_SES, // 1001 0100 0100 1000 - MNEMONIC_CLS, // 1001 0100 1100 1000 - MNEMONIC_SEV, // 1001 0100 0011 1000 - MNEMONIC_CLV, // 1001 0100 1011 1000 - MNEMONIC_SET, // 1001 0100 0110 1000 - MNEMONIC_CLT, // 1001 0100 1110 1000 - MNEMONIC_SEH, // 1001 0100 0101 1000 - MNEMONIC_CLH, // 1001 0100 1101 1000 - MNEMONIC_SLEEP, // 1001 0101 1000 1000 - MNEMONIC_WDR, // 1001 0101 1010 1000 - MNEMONIC_IJMP, // 1001 0100 0000 1001 - MNEMONIC_EIJMP, // 1001 0100 0001 1001 - MNEMONIC_ICALL, // 1001 0101 0000 1001 - MNEMONIC_EICALL, // 1001 0101 0001 1001 - MNEMONIC_RET, // 1001 0101 0000 1000 - MNEMONIC_RETI, // 1001 0101 0001 1000 - MNEMONIC_SPM, // 1001 0101 1110 1000 - MNEMONIC_ESPM, // 1001 0101 1111 1000 - MNEMONIC_BREAK, // 1001 0101 1001 1000 - MNEMONIC_LPM, // 1001 0101 1100 1000 - MNEMONIC_ELPM, // 1001 0101 1101 1000 - MNEMONIC_BSET, // s 1001 0100 0sss 1000 - MNEMONIC_BCLR, // s 1001 0100 1sss 1000 - MNEMONIC_SER, // Rd 1110 1111 dddd 1111 - MNEMONIC_COM, // Rd 1001 010d dddd 0000 - MNEMONIC_NEG, // Rd 1001 010d dddd 0001 - MNEMONIC_INC, // Rd 1001 010d dddd 0011 - MNEMONIC_DEC, // Rd 1001 010d dddd 1010 - MNEMONIC_LSR, // Rd 1001 010d dddd 0110 - MNEMONIC_ROR, // Rd 1001 010d dddd 0111 - MNEMONIC_ASR, // Rd 1001 010d dddd 0101 - MNEMONIC_SWAP, // Rd 1001 010d dddd 0010 - MNEMONIC_PUSH, // Rr 1001 001r rrrr 1111 - MNEMONIC_POP, // Rd 1001 000d dddd 1111 - MNEMONIC_TST, // Rd 0010 00dd dddd dddd - MNEMONIC_CLR, // Rd 0010 01dd dddd dddd - MNEMONIC_LSL, // Rd 0000 11dd dddd dddd - MNEMONIC_ROL, // Rd 0001 11dd dddd dddd - MNEMONIC_BREQ, // k 1111 00kk kkkk k001 - MNEMONIC_BRNE, // k 1111 01kk kkkk k001 - MNEMONIC_BRCS, // k 1111 00kk kkkk k000 - MNEMONIC_BRCC, // k 1111 01kk kkkk k000 - MNEMONIC_BRSH, // k 1111 01kk kkkk k000 - MNEMONIC_BRLO, // k 1111 00kk kkkk k000 - MNEMONIC_BRMI, // k 1111 00kk kkkk k010 - MNEMONIC_BRPL, // k 1111 01kk kkkk k010 - MNEMONIC_BRGE, // k 1111 01kk kkkk k100 - MNEMONIC_BRLT, // k 1111 00kk kkkk k100 - MNEMONIC_BRHS, // k 1111 00kk kkkk k101 - MNEMONIC_BRHC, // k 1111 01kk kkkk k101 - MNEMONIC_BRTS, // k 1111 00kk kkkk k110 - MNEMONIC_BRTC, // k 1111 01kk kkkk k110 - MNEMONIC_BRVS, // k 1111 00kk kkkk k011 - MNEMONIC_BRVC, // k 1111 01kk kkkk k011 - MNEMONIC_BRIE, // k 1111 00kk kkkk k111 - MNEMONIC_BRID, // k 1111 01kk kkkk k111 - MNEMONIC_RJMP, // k 1100 kkkk kkkk kkkk - MNEMONIC_RCALL, // k 1101 kkkk kkkk kkkk - MNEMONIC_JMP, // k 1001 010k kkkk 110k + 16k - MNEMONIC_CALL, // k 1001 010k kkkk 111k + 16k - MNEMONIC_BRBS, // s, k 1111 00kk kkkk ksss - MNEMONIC_BRBC, // s, k 1111 01kk kkkk ksss - MNEMONIC_ADD, // Rd, Rr 0000 11rd dddd rrrr - MNEMONIC_ADC, // Rd, Rr 0001 11rd dddd rrrr - MNEMONIC_SUB, // Rd, Rr 0001 10rd dddd rrrr - MNEMONIC_SBC, // Rd, Rr 0000 10rd dddd rrrr - MNEMONIC_AND, // Rd, Rr 0010 00rd dddd rrrr - MNEMONIC_OR, // Rd, Rr 0010 10rd dddd rrrr - MNEMONIC_EOR, // Rd, Rr 0010 01rd dddd rrrr - MNEMONIC_CP, // Rd, Rr 0001 01rd dddd rrrr - MNEMONIC_CPC, // Rd, Rr 0000 01rd dddd rrrr - MNEMONIC_CPSE, // Rd, Rr 0001 00rd dddd rrrr - MNEMONIC_MOV, // Rd, Rr 0010 11rd dddd rrrr - MNEMONIC_MUL, // Rd, Rr 1001 11rd dddd rrrr - MNEMONIC_MOVW, // Rd, Rr 0000 0001 dddd rrrr - MNEMONIC_MULS, // Rd, Rr 0000 0010 dddd rrrr - MNEMONIC_MULSU, // Rd, Rr 0000 0011 0ddd 0rrr - MNEMONIC_FMUL, // Rd, Rr 0000 0011 0ddd 1rrr - MNEMONIC_FMULS, // Rd, Rr 0000 0011 1ddd 0rrr - MNEMONIC_FMULSU, // Rd, Rr 0000 0011 1ddd 1rrr - MNEMONIC_ADIW, // Rd, K 1001 0110 KKdd KKKK - MNEMONIC_SBIW, // Rd, K 1001 0111 KKdd KKKK - MNEMONIC_SUBI, // Rd, K 0101 KKKK dddd KKKK - MNEMONIC_SBCI, // Rd, K 0100 KKKK dddd KKKK - MNEMONIC_ANDI, // Rd, K 0111 KKKK dddd KKKK - MNEMONIC_ORI, // Rd, K 0110 KKKK dddd KKKK - MNEMONIC_SBR, // Rd, K 0110 KKKK dddd KKKK - MNEMONIC_CPI, // Rd, K 0011 KKKK dddd KKKK - MNEMONIC_LDI, // Rd, K 1110 KKKK dddd KKKK - MNEMONIC_CBR, // Rd, K 0111 KKKK dddd KKKK ~K - MNEMONIC_SBRC, // Rr, b 1111 110r rrrr 0bbb - MNEMONIC_SBRS, // Rr, b 1111 111r rrrr 0bbb - MNEMONIC_BST, // Rr, b 1111 101d dddd 0bbb - MNEMONIC_BLD, // Rd, b 1111 100d dddd 0bbb - MNEMONIC_IN, // Rd, P 1011 0PPd dddd PPPP - MNEMONIC_OUT, // P, Rr 1011 1PPr rrrr PPPP - MNEMONIC_SBIC, // P, b 1001 1001 PPPP Pbbb - MNEMONIC_SBIS, // P, b 1001 1011 PPPP Pbbb - MNEMONIC_SBI, // P, b 1001 1010 PPPP Pbbb - MNEMONIC_CBI, // P, b 1001 1000 PPPP Pbbb - MNEMONIC_LDS, // Rd, k 1001 000d dddd 0000 + 16k - MNEMONIC_STS, // k, Rr 1001 001d dddd 0000 + 16k - MNEMONIC_LD, // Rd, __ dummy - MNEMONIC_ST, // __, Rr dummy - MNEMONIC_LDD, // Rd, _+q dummy - MNEMONIC_STD, // _+q, Rr dummy - MNEMONIC_COUNT, - MNEMONIC_LPM_Z, // Rd, Z 1001 000d dddd 0100 - MNEMONIC_LPM_ZP, // Rd, Z+ 1001 000d dddd 0101 - MNEMONIC_ELPM_Z, // Rd, Z 1001 000d dddd 0110 - MNEMONIC_ELPM_ZP, // Rd, Z+ 1001 000d dddd 0111 - MNEMONIC_LD_X, // Rd, X 1001 000d dddd 1100 - MNEMONIC_LD_XP, // Rd, X+ 1001 000d dddd 1101 - MNEMONIC_LD_MX, // Rd, -X 1001 000d dddd 1110 - MNEMONIC_LD_Y, // Rd, Y 1000 000d dddd 1000 - MNEMONIC_LD_YP, // Rd, Y+ 1001 000d dddd 1001 - MNEMONIC_LD_MY, // Rd, -Y 1001 000d dddd 1010 - MNEMONIC_LD_Z, // Rd, Z 1000 000d dddd 0000 - MNEMONIC_LD_ZP, // Rd, Z+ 1001 000d dddd 0001 - MNEMONIC_LD_MZ, // Rd, -Z 1001 000d dddd 0010 - MNEMONIC_ST_X, // X, Rr 1001 001d dddd 1100 - MNEMONIC_ST_XP, // X+, Rr 1001 001d dddd 1101 - MNEMONIC_ST_MX, // -X, Rr 1001 001d dddd 1110 - MNEMONIC_ST_Y, // Y, Rr 1000 001d dddd 1000 - MNEMONIC_ST_YP, // Y+, Rr 1001 001d dddd 1001 - MNEMONIC_ST_MY, // -Y, Rr 1001 001d dddd 1010 - MNEMONIC_ST_Z, // Z, Rr 1000 001d dddd 0000 - MNEMONIC_ST_ZP, // Z+, Rr 1001 001d dddd 0001 - MNEMONIC_ST_MZ, // -Z, Rr 1001 001d dddd 0010 - MNEMONIC_LDD_Y, // Rd, Y+q 10q0 qq0d dddd 1qqq - MNEMONIC_LDD_Z, // Rd, Z+q 10q0 qq0d dddd 0qqq - MNEMONIC_STD_Y, // Y+q, Rr 10q0 qq1r rrrr 1qqq - MNEMONIC_STD_Z, // Z+q, Rr 10q0 qq1r rrrr 0qqq - MNEMONIC_END - }; - -struct instruction - { - char *mnemonic; - int opcode; - int flag; /* Device flags meaning the instruction is not - supported */ - }; - -struct instruction instruction_list[] = - { - {"nop", 0x0000, 0}, - {"sec", 0x9408, 0}, - {"clc", 0x9488, 0}, - {"sen", 0x9428, 0}, - {"cln", 0x94a8, 0}, - {"sez", 0x9418, 0}, - {"clz", 0x9498, 0}, - {"sei", 0x9478, 0}, - {"cli", 0x94f8, 0}, - {"ses", 0x9448, 0}, - {"cls", 0x94c8, 0}, - {"sev", 0x9438, 0}, - {"clv", 0x94b8, 0}, - {"set", 0x9468, 0}, - {"clt", 0x94e8, 0}, - {"seh", 0x9458, 0}, - {"clh", 0x94d8, 0}, - {"sleep", 0x9588, 0}, - {"wdr", 0x95a8, 0}, - {"ijmp", 0x9409, DF_TINY1X}, - {"eijmp", 0x9419, DF_NO_EIJMP}, - {"icall", 0x9509, DF_TINY1X}, - {"eicall",0x9519, DF_NO_EICALL}, - {"ret", 0x9508, 0}, - {"reti", 0x9518, 0}, - {"spm", 0x95e8, DF_NO_SPM}, - {"espm", 0x95f8, DF_NO_ESPM}, - {"break", 0x9598, DF_NO_BREAK}, - {"lpm", 0x95c8, DF_NO_LPM}, - {"elpm", 0x95d8, DF_NO_ELPM}, - {"bset", 0x9408, 0}, - {"bclr", 0x9488, 0}, - {"ser", 0xef0f, 0}, - {"com", 0x9400, 0}, - {"neg", 0x9401, 0}, - {"inc", 0x9403, 0}, - {"dec", 0x940a, 0}, - {"lsr", 0x9406, 0}, - {"ror", 0x9407, 0}, - {"asr", 0x9405, 0}, - {"swap", 0x9402, 0}, - {"push", 0x920f, DF_TINY1X}, - {"pop", 0x900f, DF_TINY1X}, - {"tst", 0x2000, 0}, - {"clr", 0x2400, 0}, - {"lsl", 0x0c00, 0}, - {"rol", 0x1c00, 0}, - {"breq", 0xf001, 0}, - {"brne", 0xf401, 0}, - {"brcs", 0xf000, 0}, - {"brcc", 0xf400, 0}, - {"brsh", 0xf400, 0}, - {"brlo", 0xf000, 0}, - {"brmi", 0xf002, 0}, - {"brpl", 0xf402, 0}, - {"brge", 0xf404, 0}, - {"brlt", 0xf004, 0}, - {"brhs", 0xf005, 0}, - {"brhc", 0xf405, 0}, - {"brts", 0xf006, 0}, - {"brtc", 0xf406, 0}, - {"brvs", 0xf003, 0}, - {"brvc", 0xf403, 0}, - {"brie", 0xf007, 0}, - {"brid", 0xf407, 0}, - {"rjmp", 0xc000, 0}, - {"rcall", 0xd000, 0}, - {"jmp", 0x940c, DF_NO_JMP}, - {"call", 0x940e, DF_NO_JMP}, - {"brbs", 0xf000, 0}, - {"brbc", 0xf400, 0}, - {"add", 0x0c00, 0}, - {"adc", 0x1c00, 0}, - {"sub", 0x1800, 0}, - {"sbc", 0x0800, 0}, - {"and", 0x2000, 0}, - {"or", 0x2800, 0}, - {"eor", 0x2400, 0}, - {"cp", 0x1400, 0}, - {"cpc", 0x0400, 0}, - {"cpse", 0x1000, 0}, - {"mov", 0x2c00, 0}, - {"mul", 0x9c00, DF_NO_MUL}, - {"movw", 0x0100, DF_NO_MOVW}, - {"muls", 0x0200, DF_NO_MUL}, - {"mulsu", 0x0300, DF_NO_MUL}, - {"fmul", 0x0308, DF_NO_MUL}, - {"fmuls", 0x0380, DF_NO_MUL}, - {"fmulsu",0x0388, DF_NO_MUL}, - {"adiw", 0x9600, DF_TINY1X}, - {"sbiw", 0x9700, DF_TINY1X}, - {"subi", 0x5000, 0}, - {"sbci", 0x4000, 0}, - {"andi", 0x7000, 0}, - {"ori", 0x6000, 0}, - {"sbr", 0x6000, 0}, - {"cpi", 0x3000, 0}, - {"ldi", 0xe000, 0}, - {"cbr", 0x7000, 0}, - {"sbrc", 0xfc00, 0}, - {"sbrs", 0xfe00, 0}, - {"bst", 0xfa00, 0}, - {"bld", 0xf800, 0}, - {"in", 0xb000, 0}, - {"out", 0xb800, 0}, - {"sbic", 0x9900, 0}, - {"sbis", 0x9b00, 0}, - {"sbi", 0x9a00, 0}, - {"cbi", 0x9800, 0}, - {"lds", 0x9000, DF_TINY1X}, - {"sts", 0x9200, DF_TINY1X}, - {"ld", 0, 0}, - {"st", 0, 0}, - {"ldd", 0, DF_TINY1X}, - {"std", 0, DF_TINY1X}, - {"count", 0, 0}, - {"lpm", 0x9004, DF_NO_LPM|DF_NO_LPM_X}, - {"lpm", 0x9005, DF_NO_LPM|DF_NO_LPM_X}, - {"elpm", 0x9006, DF_NO_ELPM|DF_NO_ELPM_X}, - {"elpm", 0x9007, DF_NO_ELPM|DF_NO_ELPM_X}, - {"ld", 0x900c, DF_NO_XREG}, - {"ld", 0x900d, DF_NO_XREG}, - {"ld", 0x900e, DF_NO_XREG}, - {"ld", 0x8008, DF_NO_YREG}, - {"ld", 0x9009, DF_NO_YREG}, - {"ld", 0x900a, DF_NO_YREG}, - {"ld", 0x8000, 0}, - {"ld", 0x9001, DF_TINY1X}, - {"ld", 0x9002, DF_TINY1X}, - {"st", 0x920c, DF_NO_XREG}, - {"st", 0x920d, DF_NO_XREG}, - {"st", 0x920e, DF_NO_XREG}, - {"st", 0x8208, DF_NO_YREG}, - {"st", 0x9209, DF_NO_YREG}, - {"st", 0x920a, DF_NO_YREG}, - {"st", 0x8200, 0}, - {"st", 0x9201, DF_TINY1X}, - {"st", 0x9202, DF_TINY1X}, - {"ldd", 0x8008, DF_TINY1X}, - {"ldd", 0x8000, DF_TINY1X}, - {"std", 0x8208, DF_TINY1X}, - {"std", 0x8200, DF_TINY1X}, - {"end", 0, 0} - }; - - -/* We try to parse the command name. Is it a assembler mnemonic or anything else ? - * If so, it may be a macro. - */ - -int parse_mnemonic(struct prog_info *pi, int pass) - { - int mnemonic, i, opcode, opcode2, instruction_long = False; - char *operand1, *operand2; - struct macro *macro; - char temp[MAX_MNEMONIC_LEN+1]; - - operand1 = get_next_token(pi->fi->scratch, TERM_SPACE); // we get the first word on line - mnemonic = get_mnemonic_type(my_strlwr(pi->fi->scratch)); - if(mnemonic == -1) // if -1 this must be a macro name - { - macro = get_macro(pi, pi->fi->scratch); // and so, we try to get the corresponding macro struct. - if(macro) - { - return(expand_macro(pi, macro, operand1, pass)); //we expand the macro - } - else // if we cant find a name, this is a unknown word. - { - print_msg(pi, MSGTYPE_ERROR, "Unknown mnemonic/macro: %s", pi->fi->scratch); - return(True); - } - } - if(pass == PASS_2) - { - if(mnemonic <= MNEMONIC_BREAK) - { - if(operand1) - print_msg(pi, MSGTYPE_WARNING, "Garbage after instruction %s: %s", instruction_list[mnemonic].mnemonic, operand1); - // No operand - opcode = 0; - } - else if(mnemonic <= MNEMONIC_ELPM) - { - if(operand1) - { - operand2 = get_next_token(operand1, TERM_COMMA); - if(!operand2) - { - print_msg(pi, MSGTYPE_ERROR, "%s needs a second operand", instruction_list[mnemonic].mnemonic); - return(True); - } - get_next_token(operand2, TERM_END); - i = get_register(pi, operand1); - opcode = i << 4; - i = get_indirect(pi, operand2); - if(i == 6) // Means Z - { - if(mnemonic == MNEMONIC_LPM) - mnemonic = MNEMONIC_LPM_Z; - else if(mnemonic == MNEMONIC_ELPM) - mnemonic = MNEMONIC_ELPM_Z; - } - else if(i == 7) // Means Z+ - { - if(mnemonic == MNEMONIC_LPM) - mnemonic = MNEMONIC_LPM_ZP; - else if(mnemonic == MNEMONIC_ELPM) - mnemonic = MNEMONIC_ELPM_ZP; - } - else - { - print_msg(pi, MSGTYPE_ERROR, "Unsupported operand: %s", operand2); - return(True); - } - } - else - opcode = 0; - } - else - { - if(!operand1) - { - print_msg(pi, MSGTYPE_ERROR, "%s needs an operand", instruction_list[mnemonic].mnemonic); - return(True); - } - operand2 = get_next_token(operand1, TERM_COMMA); - if(mnemonic >= MNEMONIC_BRBS) - { - if(!operand2) - { - print_msg(pi, MSGTYPE_ERROR, "%s needs a second operand", instruction_list[mnemonic].mnemonic); - return(True); - } - get_next_token(operand2, TERM_END); - } - if(mnemonic <= MNEMONIC_BCLR) - { - if(!get_bitnum(pi, operand1, &i)) - return(False); - opcode = i << 4; - } - else if(mnemonic <= MNEMONIC_ROL) - { - i = get_register(pi, operand1); - if((mnemonic == MNEMONIC_SER) && (i < 16)) - { - print_msg(pi, MSGTYPE_ERROR, "%s can only use a high register (r16 - r31)", instruction_list[mnemonic].mnemonic); - i &= 0x0f; - } - opcode = i << 4; - if(mnemonic >= MNEMONIC_TST) - opcode |= ((i & 0x10) << 5) | (i & 0x0f); - } - else if(mnemonic <= MNEMONIC_RCALL) - { - if(!get_expr(pi, operand1, &i)) - return(False); - i -= pi->cseg_addr + 1; - if(mnemonic <= MNEMONIC_BRID) - { - if((i < -64) || (i > 63)) - print_msg(pi, MSGTYPE_ERROR, "Branch out of range (-64 <= k <= 63)"); - opcode = (i & 0x7f) << 3; - } - else - { - if(((i < -2048) || (i > 2047)) && (pi->device->flash_size != 4096)) - print_msg(pi, MSGTYPE_ERROR, "Relative address out of range (-2048 <= k <= 2047)"); - opcode = i & 0x0fff; - } - } - else if(mnemonic <= MNEMONIC_CALL) - { - if(!get_expr(pi, operand1, &i)) - return(False); - if((i < 0) || (i > 4194303)) - print_msg(pi, MSGTYPE_ERROR, "Address out of range (0 <= k <= 4194303)"); - opcode = ((i & 0x3e0000) >> 13) | ((i & 0x01000) >> 16); - opcode2 = i & 0xffff; - instruction_long = True; - } - else if(mnemonic <= MNEMONIC_BRBC) - { - if(!get_bitnum(pi, operand1, &i)) - return(False); - opcode = i; - if(!get_expr(pi, operand2, &i)) - return(False); - i -= pi->cseg_addr + 1; - if((i < -64) || (i > 63)) - print_msg(pi, MSGTYPE_ERROR, "Branch out of range (-64 <= k <= 63)"); - opcode |= (i & 0x7f) << 3; - } - else if(mnemonic <= MNEMONIC_MUL) - { - i = get_register(pi, operand1); - opcode = i << 4; - i = get_register(pi, operand2); - opcode |= ((i & 0x10) << 5) | (i & 0x0f); - } - else if(mnemonic <= MNEMONIC_MOVW) - { - i = get_register(pi, operand1); - if((i % 2) == 1) - print_msg(pi, MSGTYPE_ERROR, "%s must use a even numbered register for Rd", instruction_list[mnemonic].mnemonic); - opcode = (i / 2) << 4; - i = get_register(pi, operand2); - if((i % 2) == 1) - print_msg(pi, MSGTYPE_ERROR, "%s must use a even numbered register for Rr", instruction_list[mnemonic].mnemonic); - opcode |= i / 2; - } - else if(mnemonic <= MNEMONIC_MULS) - { - i = get_register(pi, operand1); - if(i < 16) - print_msg(pi, MSGTYPE_ERROR, "%s can only use a high register (r16 - r31)", instruction_list[mnemonic].mnemonic); - opcode = (i & 0x0f) << 4; - i = get_register(pi, operand2); - if(i < 16) - print_msg(pi, MSGTYPE_ERROR, "%s can only use a high register (r16 - r31)", instruction_list[mnemonic].mnemonic); - opcode |= (i & 0x0f); - } - else if(mnemonic <= MNEMONIC_FMULSU) - { - i = get_register(pi, operand1); - if((i < 16) || (i >= 24)) - print_msg(pi, MSGTYPE_ERROR, "%s can only use registers (r16 - r23)", instruction_list[mnemonic].mnemonic); - opcode = (i & 0x07) << 4; - i = get_register(pi, operand2); - if((i < 16) || (i >= 24)) - print_msg(pi, MSGTYPE_ERROR, "%s can only use registers (r16 - r23)", instruction_list[mnemonic].mnemonic); - opcode |= (i & 0x07); - } - else if(mnemonic <= MNEMONIC_SBIW) - { - i = get_register(pi, operand1); - if(!((i == 24) || (i == 26) || (i == 28) || (i == 30))) - print_msg(pi, MSGTYPE_ERROR, "%s can only use registers R24, R26, R28 or R30", instruction_list[mnemonic].mnemonic); - opcode = ((i - 24) / 2) << 4; - if(!get_expr(pi, operand2, &i)) - return(False); - if((i < 0) || (i > 63)) - print_msg(pi, MSGTYPE_ERROR, "Constant out of range (0 <= k <= 63)"); - opcode |= ((i & 0x30) << 2) | (i & 0x0f); - } - else if(mnemonic <= MNEMONIC_CBR) - { - i = get_register(pi, operand1); - if(i < 16) - print_msg(pi, MSGTYPE_ERROR, "%s can only use a high register (r16 - r31)", instruction_list[mnemonic].mnemonic); - opcode = (i & 0x0f) << 4; - if(!get_expr(pi, operand2, &i)) - return(False); - if((i < -128) || (i > 255)) - print_msg(pi, MSGTYPE_WARNING, "Constant out of range (-128 <= k <= 255). Will be masked"); - if(mnemonic == MNEMONIC_CBR) - i = ~i; - opcode |= ((i & 0xf0) << 4) | (i & 0x0f); - } - else if(mnemonic <= MNEMONIC_BLD) - { - i = get_register(pi, operand1); - opcode = i << 4; - if(!get_bitnum(pi, operand2, &i)) - return(False); - opcode |= i; - } - else if(mnemonic == MNEMONIC_IN) - { - i = get_register(pi, operand1); - opcode = i << 4; - if(!get_expr(pi, operand2, &i)) - return(False); - if((i < 0) || (i > 63)) - print_msg(pi, MSGTYPE_ERROR, "I/O out of range (0 <= P <= 63)"); - opcode |= ((i & 0x30) << 5) | (i & 0x0f); - } - else if(mnemonic == MNEMONIC_OUT) - { - if(!get_expr(pi, operand1, &i)) - return(False); - if((i < 0) || (i > 63)) - print_msg(pi, MSGTYPE_ERROR, "I/O out of range (0 <= P <= 63)"); - opcode = ((i & 0x30) << 5) | (i & 0x0f); - i = get_register(pi, operand2); - opcode |= i << 4; - } - else if(mnemonic <= MNEMONIC_CBI) - { - if(!get_expr(pi, operand1, &i)) - return(False); - if((i < 0) || (i > 31)) - print_msg(pi, MSGTYPE_ERROR, "I/O out of range (0 <= P <= 31)"); - opcode = i << 3; - if(!get_bitnum(pi, operand2, &i)) - return(False); - opcode |= i; - } - else if(mnemonic == MNEMONIC_LDS) - { - i = get_register(pi, operand1); - opcode = i << 4; - if(!get_expr(pi, operand2, &i)) - return(False); - if((i < 0) || (i > 65535)) - print_msg(pi, MSGTYPE_ERROR, "SRAM out of range (0 <= k <= 65535)"); - opcode2 = i; - instruction_long = True; - } - else if(mnemonic == MNEMONIC_STS) - { - if(!get_expr(pi, operand1, &i)) - return(False); - if((i < 0) || (i > 65535)) - print_msg(pi, MSGTYPE_ERROR, "SRAM out of range (0 <= k <= 65535)"); - opcode2 = i; - i = get_register(pi, operand2); - opcode = i << 4; - instruction_long = True; - } - else if(mnemonic == MNEMONIC_LD) - { - i = get_register(pi, operand1); - opcode = i << 4; - mnemonic = MNEMONIC_LD_X + get_indirect(pi, operand2); - } - else if(mnemonic == MNEMONIC_ST) - { - mnemonic = MNEMONIC_ST_X + get_indirect(pi, operand1); - i = get_register(pi, operand2); - opcode = i << 4; - } - else if(mnemonic == MNEMONIC_LDD) - { - i = get_register(pi, operand1); - opcode = i << 4; - if(tolower(operand2[0]) == 'z') - mnemonic = MNEMONIC_LDD_Z; - else if(tolower(operand2[0]) == 'y') - mnemonic = MNEMONIC_LDD_Y; - else - print_msg(pi, MSGTYPE_ERROR, "Garbage in second operand (%s)", operand2); - i = 1; - while((operand2[i] != '\0') && (operand2[i] != '+')) i++; - if(operand2[i] == '\0') - { - print_msg(pi, MSGTYPE_ERROR, "Garbage in second operand (%s)", operand2); - return(False); - } - if(!get_expr(pi, &operand2[i + 1], &i)) - return(False); - if((i < 0) || (i > 63)) - print_msg(pi, MSGTYPE_ERROR, "Displacement out of range (0 <= q <= 63)"); - opcode |= ((i & 0x20) << 8) | ((i & 0x18) << 7) | (i & 0x07); - } - else if(mnemonic == MNEMONIC_STD) - { - if(tolower(operand1[0]) == 'z') - mnemonic = MNEMONIC_STD_Z; - else if(tolower(operand1[0]) == 'y') - mnemonic = MNEMONIC_STD_Y; - else - print_msg(pi, MSGTYPE_ERROR, "Garbage in first operand (%s)", operand1); - i = 1; - while((operand1[i] != '\0') && (operand1[i] != '+')) i++; - if(operand1[i] == '\0') - { - print_msg(pi, MSGTYPE_ERROR, "Garbage in first operand (%s)", operand1); - return(False); - } - if(!get_expr(pi, &operand1[i + 1], &i)) - return(False); - if((i < 0) || (i > 63)) - print_msg(pi, MSGTYPE_ERROR, "Displacement out of range (0 <= q <= 63)"); - opcode = ((i & 0x20) << 8) | ((i & 0x18) << 7) | (i & 0x07); - i = get_register(pi, operand2); - opcode |= i << 4; - } - else - print_msg(pi, MSGTYPE_ERROR, "Shit! Missing opcode check [%d]...", mnemonic); - } - if (pi->device->flag & instruction_list[mnemonic].flag) - { - strncpy(temp, instruction_list[mnemonic].mnemonic, MAX_MNEMONIC_LEN); - print_msg(pi, MSGTYPE_ERROR, "%s instruction is not supported on %s", - my_strupr(temp), pi->device->name); - } - opcode |= instruction_list[mnemonic].opcode; - if(pi->list_on && pi->list_line) - { - if(instruction_long) - fprintf(pi->list_file, "%06x %04x %04x %s", pi->cseg_addr, opcode, opcode2, pi->list_line); - else - fprintf(pi->list_file, "%06x %04x %s", pi->cseg_addr, opcode, pi->list_line); - pi->list_line = NULL; - } - if(pi->hfi) - { - write_prog_word(pi, pi->cseg_addr, opcode); - if(instruction_long) - write_prog_word(pi, pi->cseg_addr + 1, opcode2); - } - if(instruction_long) - pi->cseg_addr += 2; - else - pi->cseg_addr++; - } - else - { - if((mnemonic == MNEMONIC_JMP) || (mnemonic == MNEMONIC_CALL) || (mnemonic == MNEMONIC_LDS) || (mnemonic == MNEMONIC_STS)) - { - pi->cseg_addr += 2; - pi->cseg_count += 2; - } - else - { - pi->cseg_addr++; - pi->cseg_count++; - } - } - return(True); - } - - -int get_mnemonic_type(char *mnemonic) - { - int i; - - for(i = 0; i < MNEMONIC_COUNT; i++) - if(!strcmp(mnemonic, instruction_list[i].mnemonic)) - return(i); - return(-1); - } - - -int get_register(struct prog_info *pi, char *data) - { - char *second_reg; - int reg = 0; - struct def *def; - - // Check for any occurence of r1:r0 pairs, and if so skip to second register - second_reg = strchr(data, ':'); - if(second_reg != NULL) - data = second_reg + 1; - - for(def = pi->first_def; def; def = def->next) - if(!nocase_strcmp(def->name, data)) - { - reg = def->reg; - return(reg); - } - if((tolower(data[0]) == 'r') && isdigit(data[1])) - { - reg = atoi(&data[1]); - if(reg > 31) - print_msg(pi, MSGTYPE_ERROR, "R%d is not a valid register", reg); - } - else - print_msg(pi, MSGTYPE_ERROR, "No register associated with %s", data); - return(reg); - } - - -int get_bitnum(struct prog_info *pi, char *data, int *ret) -{ - if(!get_expr(pi, data, ret)) - return(False); - if((*ret < 0) || (*ret > 7)) - { - print_msg(pi, MSGTYPE_ERROR, "Operand out of range (0 <= s <= 7)"); - return(False); - } - return(True); - } - - -int get_indirect(struct prog_info *pi, char *operand) - { - int i = 1; - - switch(tolower(operand[0])) - { - case '-': - while(IS_HOR_SPACE(operand[i])) i++; - if(operand[i + 1] != '\0') - print_msg(pi, MSGTYPE_ERROR, "Garbage in operand (%s)", operand); - switch(tolower(operand[i])) - { - case 'x': - if (pi->device->flag & DF_NO_XREG) - print_msg(pi, MSGTYPE_ERROR, "X register is not supported on %s", pi->device->name); - return(2); - case 'y': - if (pi->device->flag & DF_NO_YREG) - print_msg(pi, MSGTYPE_ERROR, "Y register is not supported on %s", pi->device->name); - return(5); - case 'z': - return(8); - default: - print_msg(pi, MSGTYPE_ERROR, "Garbage in operand (%s)", operand); - return(0); - } - case 'x': - if (pi->device->flag & DF_NO_XREG) - print_msg(pi, MSGTYPE_ERROR, "X register is not supported on %s", pi->device->name); - while(IS_HOR_SPACE(operand[i])) i++; - if(operand[i] == '+') - { - if(operand[i + 1] != '\0') - print_msg(pi, MSGTYPE_ERROR, "Garbage in operand (%s)", operand); - return(1); - } - else if(operand[i] == '\0') - return(0); - else - print_msg(pi, MSGTYPE_ERROR, "Garbage after operand (%s)", operand); - return(0); - case 'y': - if (pi->device->flag & DF_NO_YREG) - print_msg(pi, MSGTYPE_ERROR, "Y register is not supported on %s", pi->device->name); - while(IS_HOR_SPACE(operand[i])) i++; - if(operand[i] == '+') - { - if(operand[i + 1] != '\0') - print_msg(pi, MSGTYPE_ERROR, "Garbage in operand (%s)", operand); - return(4); - } - else if(operand[i] == '\0') - return(3); - else - print_msg(pi, MSGTYPE_ERROR, "Garbage after operand (%s)", operand); - return(0); - case 'z': - while(IS_HOR_SPACE(operand[i])) i++; - if(operand[i] == '+') - { - if(operand[i + 1] != '\0') - print_msg(pi, MSGTYPE_ERROR, "Garbage in operand (%s)", operand); - return(7); - } - else if(operand[i] == '\0') - return(6); - else - print_msg(pi, MSGTYPE_ERROR, "Garbage after operand (%s)", operand); - return(0); - default: - print_msg(pi, MSGTYPE_ERROR, "Garbage in operand (%s)", operand); - } - return(0); - } - -/* Return 1 if instruction name is supported by the current device, - 0 if unsupported, -1 if it is invalid */ -int is_supported(struct prog_info *pi, char *name) { - char temp[MAX_MNEMONIC_LEN+1]; - int mnemonic; - - strncpy(temp,name,MAX_MNEMONIC_LEN); - mnemonic = get_mnemonic_type(my_strlwr(temp)); - if (mnemonic == -1) return -1; - if (pi->device->flag & instruction_list[mnemonic].flag) return 0; - return 1; - } - -int count_supported_instructions(int flags) -{ - int i = 0, count = 0; - while(i < MNEMONIC_END) - { - if((i < MNEMONIC_LD) || (i > MNEMONIC_COUNT)) - if(!(flags & instruction_list[i].flag)) - count++; - i++; - } - return(count); -} +/*********************************************************************** + * avra - Assembler for the Atmel AVR microcontroller series + * Copyright (C) 1998-2001 Jon Anders Haugum + * Copyright (C) 2002-2003 Tobias Weber + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * + * Authors of avra can be reached at: + * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com + * www: http://sourceforge.net/projects/avra + */ + +#include +#include +#include +#include + +#include "misc.h" +#include "avra.h" +#include "device.h" + +#define MAX_MNEMONIC_LEN 8 // Maximum mnemonic length + +enum + { + MNEMONIC_NOP = 0, // 0000 0000 0000 0000 + MNEMONIC_SEC, // 1001 0100 0000 1000 + MNEMONIC_CLC, // 1001 0100 1000 1000 + MNEMONIC_SEN, // 1001 0100 0010 1000 + MNEMONIC_CLN, // 1001 0100 1010 1000 + MNEMONIC_SEZ, // 1001 0100 0001 1000 + MNEMONIC_CLZ, // 1001 0100 1001 1000 + MNEMONIC_SEI, // 1001 0100 0111 1000 + MNEMONIC_CLI, // 1001 0100 1111 1000 + MNEMONIC_SES, // 1001 0100 0100 1000 + MNEMONIC_CLS, // 1001 0100 1100 1000 + MNEMONIC_SEV, // 1001 0100 0011 1000 + MNEMONIC_CLV, // 1001 0100 1011 1000 + MNEMONIC_SET, // 1001 0100 0110 1000 + MNEMONIC_CLT, // 1001 0100 1110 1000 + MNEMONIC_SEH, // 1001 0100 0101 1000 + MNEMONIC_CLH, // 1001 0100 1101 1000 + MNEMONIC_SLEEP, // 1001 0101 1000 1000 + MNEMONIC_WDR, // 1001 0101 1010 1000 + MNEMONIC_IJMP, // 1001 0100 0000 1001 + MNEMONIC_EIJMP, // 1001 0100 0001 1001 + MNEMONIC_ICALL, // 1001 0101 0000 1001 + MNEMONIC_EICALL, // 1001 0101 0001 1001 + MNEMONIC_RET, // 1001 0101 0000 1000 + MNEMONIC_RETI, // 1001 0101 0001 1000 + MNEMONIC_SPM, // 1001 0101 1110 1000 + MNEMONIC_ESPM, // 1001 0101 1111 1000 + MNEMONIC_BREAK, // 1001 0101 1001 1000 + MNEMONIC_LPM, // 1001 0101 1100 1000 + MNEMONIC_ELPM, // 1001 0101 1101 1000 + MNEMONIC_BSET, // s 1001 0100 0sss 1000 + MNEMONIC_BCLR, // s 1001 0100 1sss 1000 + MNEMONIC_SER, // Rd 1110 1111 dddd 1111 + MNEMONIC_COM, // Rd 1001 010d dddd 0000 + MNEMONIC_NEG, // Rd 1001 010d dddd 0001 + MNEMONIC_INC, // Rd 1001 010d dddd 0011 + MNEMONIC_DEC, // Rd 1001 010d dddd 1010 + MNEMONIC_LSR, // Rd 1001 010d dddd 0110 + MNEMONIC_ROR, // Rd 1001 010d dddd 0111 + MNEMONIC_ASR, // Rd 1001 010d dddd 0101 + MNEMONIC_SWAP, // Rd 1001 010d dddd 0010 + MNEMONIC_PUSH, // Rr 1001 001r rrrr 1111 + MNEMONIC_POP, // Rd 1001 000d dddd 1111 + MNEMONIC_TST, // Rd 0010 00dd dddd dddd + MNEMONIC_CLR, // Rd 0010 01dd dddd dddd + MNEMONIC_LSL, // Rd 0000 11dd dddd dddd + MNEMONIC_ROL, // Rd 0001 11dd dddd dddd + MNEMONIC_BREQ, // k 1111 00kk kkkk k001 + MNEMONIC_BRNE, // k 1111 01kk kkkk k001 + MNEMONIC_BRCS, // k 1111 00kk kkkk k000 + MNEMONIC_BRCC, // k 1111 01kk kkkk k000 + MNEMONIC_BRSH, // k 1111 01kk kkkk k000 + MNEMONIC_BRLO, // k 1111 00kk kkkk k000 + MNEMONIC_BRMI, // k 1111 00kk kkkk k010 + MNEMONIC_BRPL, // k 1111 01kk kkkk k010 + MNEMONIC_BRGE, // k 1111 01kk kkkk k100 + MNEMONIC_BRLT, // k 1111 00kk kkkk k100 + MNEMONIC_BRHS, // k 1111 00kk kkkk k101 + MNEMONIC_BRHC, // k 1111 01kk kkkk k101 + MNEMONIC_BRTS, // k 1111 00kk kkkk k110 + MNEMONIC_BRTC, // k 1111 01kk kkkk k110 + MNEMONIC_BRVS, // k 1111 00kk kkkk k011 + MNEMONIC_BRVC, // k 1111 01kk kkkk k011 + MNEMONIC_BRIE, // k 1111 00kk kkkk k111 + MNEMONIC_BRID, // k 1111 01kk kkkk k111 + MNEMONIC_RJMP, // k 1100 kkkk kkkk kkkk + MNEMONIC_RCALL, // k 1101 kkkk kkkk kkkk + MNEMONIC_JMP, // k 1001 010k kkkk 110k + 16k + MNEMONIC_CALL, // k 1001 010k kkkk 111k + 16k + MNEMONIC_BRBS, // s, k 1111 00kk kkkk ksss + MNEMONIC_BRBC, // s, k 1111 01kk kkkk ksss + MNEMONIC_ADD, // Rd, Rr 0000 11rd dddd rrrr + MNEMONIC_ADC, // Rd, Rr 0001 11rd dddd rrrr + MNEMONIC_SUB, // Rd, Rr 0001 10rd dddd rrrr + MNEMONIC_SBC, // Rd, Rr 0000 10rd dddd rrrr + MNEMONIC_AND, // Rd, Rr 0010 00rd dddd rrrr + MNEMONIC_OR, // Rd, Rr 0010 10rd dddd rrrr + MNEMONIC_EOR, // Rd, Rr 0010 01rd dddd rrrr + MNEMONIC_CP, // Rd, Rr 0001 01rd dddd rrrr + MNEMONIC_CPC, // Rd, Rr 0000 01rd dddd rrrr + MNEMONIC_CPSE, // Rd, Rr 0001 00rd dddd rrrr + MNEMONIC_MOV, // Rd, Rr 0010 11rd dddd rrrr + MNEMONIC_MUL, // Rd, Rr 1001 11rd dddd rrrr + MNEMONIC_MOVW, // Rd, Rr 0000 0001 dddd rrrr + MNEMONIC_MULS, // Rd, Rr 0000 0010 dddd rrrr + MNEMONIC_MULSU, // Rd, Rr 0000 0011 0ddd 0rrr + MNEMONIC_FMUL, // Rd, Rr 0000 0011 0ddd 1rrr + MNEMONIC_FMULS, // Rd, Rr 0000 0011 1ddd 0rrr + MNEMONIC_FMULSU, // Rd, Rr 0000 0011 1ddd 1rrr + MNEMONIC_ADIW, // Rd, K 1001 0110 KKdd KKKK + MNEMONIC_SBIW, // Rd, K 1001 0111 KKdd KKKK + MNEMONIC_SUBI, // Rd, K 0101 KKKK dddd KKKK + MNEMONIC_SBCI, // Rd, K 0100 KKKK dddd KKKK + MNEMONIC_ANDI, // Rd, K 0111 KKKK dddd KKKK + MNEMONIC_ORI, // Rd, K 0110 KKKK dddd KKKK + MNEMONIC_SBR, // Rd, K 0110 KKKK dddd KKKK + MNEMONIC_CPI, // Rd, K 0011 KKKK dddd KKKK + MNEMONIC_LDI, // Rd, K 1110 KKKK dddd KKKK + MNEMONIC_CBR, // Rd, K 0111 KKKK dddd KKKK ~K + MNEMONIC_SBRC, // Rr, b 1111 110r rrrr 0bbb + MNEMONIC_SBRS, // Rr, b 1111 111r rrrr 0bbb + MNEMONIC_BST, // Rr, b 1111 101d dddd 0bbb + MNEMONIC_BLD, // Rd, b 1111 100d dddd 0bbb + MNEMONIC_IN, // Rd, P 1011 0PPd dddd PPPP + MNEMONIC_OUT, // P, Rr 1011 1PPr rrrr PPPP + MNEMONIC_SBIC, // P, b 1001 1001 PPPP Pbbb + MNEMONIC_SBIS, // P, b 1001 1011 PPPP Pbbb + MNEMONIC_SBI, // P, b 1001 1010 PPPP Pbbb + MNEMONIC_CBI, // P, b 1001 1000 PPPP Pbbb + MNEMONIC_LDS, // Rd, k 1001 000d dddd 0000 + 16k + MNEMONIC_STS, // k, Rr 1001 001d dddd 0000 + 16k + MNEMONIC_LD, // Rd, __ dummy + MNEMONIC_ST, // __, Rr dummy + MNEMONIC_LDD, // Rd, _+q dummy + MNEMONIC_STD, // _+q, Rr dummy + MNEMONIC_COUNT, + MNEMONIC_LPM_Z, // Rd, Z 1001 000d dddd 0100 + MNEMONIC_LPM_ZP, // Rd, Z+ 1001 000d dddd 0101 + MNEMONIC_ELPM_Z, // Rd, Z 1001 000d dddd 0110 + MNEMONIC_ELPM_ZP, // Rd, Z+ 1001 000d dddd 0111 + MNEMONIC_LD_X, // Rd, X 1001 000d dddd 1100 + MNEMONIC_LD_XP, // Rd, X+ 1001 000d dddd 1101 + MNEMONIC_LD_MX, // Rd, -X 1001 000d dddd 1110 + MNEMONIC_LD_Y, // Rd, Y 1000 000d dddd 1000 + MNEMONIC_LD_YP, // Rd, Y+ 1001 000d dddd 1001 + MNEMONIC_LD_MY, // Rd, -Y 1001 000d dddd 1010 + MNEMONIC_LD_Z, // Rd, Z 1000 000d dddd 0000 + MNEMONIC_LD_ZP, // Rd, Z+ 1001 000d dddd 0001 + MNEMONIC_LD_MZ, // Rd, -Z 1001 000d dddd 0010 + MNEMONIC_ST_X, // X, Rr 1001 001d dddd 1100 + MNEMONIC_ST_XP, // X+, Rr 1001 001d dddd 1101 + MNEMONIC_ST_MX, // -X, Rr 1001 001d dddd 1110 + MNEMONIC_ST_Y, // Y, Rr 1000 001d dddd 1000 + MNEMONIC_ST_YP, // Y+, Rr 1001 001d dddd 1001 + MNEMONIC_ST_MY, // -Y, Rr 1001 001d dddd 1010 + MNEMONIC_ST_Z, // Z, Rr 1000 001d dddd 0000 + MNEMONIC_ST_ZP, // Z+, Rr 1001 001d dddd 0001 + MNEMONIC_ST_MZ, // -Z, Rr 1001 001d dddd 0010 + MNEMONIC_LDD_Y, // Rd, Y+q 10q0 qq0d dddd 1qqq + MNEMONIC_LDD_Z, // Rd, Z+q 10q0 qq0d dddd 0qqq + MNEMONIC_STD_Y, // Y+q, Rr 10q0 qq1r rrrr 1qqq + MNEMONIC_STD_Z, // Z+q, Rr 10q0 qq1r rrrr 0qqq + MNEMONIC_END + }; + +struct instruction + { + char *mnemonic; + int opcode; + int flag; /* Device flags meaning the instruction is not + supported */ + }; + +struct instruction instruction_list[] = + { + {"nop", 0x0000, 0}, + {"sec", 0x9408, 0}, + {"clc", 0x9488, 0}, + {"sen", 0x9428, 0}, + {"cln", 0x94a8, 0}, + {"sez", 0x9418, 0}, + {"clz", 0x9498, 0}, + {"sei", 0x9478, 0}, + {"cli", 0x94f8, 0}, + {"ses", 0x9448, 0}, + {"cls", 0x94c8, 0}, + {"sev", 0x9438, 0}, + {"clv", 0x94b8, 0}, + {"set", 0x9468, 0}, + {"clt", 0x94e8, 0}, + {"seh", 0x9458, 0}, + {"clh", 0x94d8, 0}, + {"sleep", 0x9588, 0}, + {"wdr", 0x95a8, 0}, + {"ijmp", 0x9409, DF_TINY1X}, + {"eijmp", 0x9419, DF_NO_EIJMP}, + {"icall", 0x9509, DF_TINY1X}, + {"eicall",0x9519, DF_NO_EICALL}, + {"ret", 0x9508, 0}, + {"reti", 0x9518, 0}, + {"spm", 0x95e8, DF_NO_SPM}, + {"espm", 0x95f8, DF_NO_ESPM}, + {"break", 0x9598, DF_NO_BREAK}, + {"lpm", 0x95c8, DF_NO_LPM}, + {"elpm", 0x95d8, DF_NO_ELPM}, + {"bset", 0x9408, 0}, + {"bclr", 0x9488, 0}, + {"ser", 0xef0f, 0}, + {"com", 0x9400, 0}, + {"neg", 0x9401, 0}, + {"inc", 0x9403, 0}, + {"dec", 0x940a, 0}, + {"lsr", 0x9406, 0}, + {"ror", 0x9407, 0}, + {"asr", 0x9405, 0}, + {"swap", 0x9402, 0}, + {"push", 0x920f, DF_TINY1X}, + {"pop", 0x900f, DF_TINY1X}, + {"tst", 0x2000, 0}, + {"clr", 0x2400, 0}, + {"lsl", 0x0c00, 0}, + {"rol", 0x1c00, 0}, + {"breq", 0xf001, 0}, + {"brne", 0xf401, 0}, + {"brcs", 0xf000, 0}, + {"brcc", 0xf400, 0}, + {"brsh", 0xf400, 0}, + {"brlo", 0xf000, 0}, + {"brmi", 0xf002, 0}, + {"brpl", 0xf402, 0}, + {"brge", 0xf404, 0}, + {"brlt", 0xf004, 0}, + {"brhs", 0xf005, 0}, + {"brhc", 0xf405, 0}, + {"brts", 0xf006, 0}, + {"brtc", 0xf406, 0}, + {"brvs", 0xf003, 0}, + {"brvc", 0xf403, 0}, + {"brie", 0xf007, 0}, + {"brid", 0xf407, 0}, + {"rjmp", 0xc000, 0}, + {"rcall", 0xd000, 0}, + {"jmp", 0x940c, DF_NO_JMP}, + {"call", 0x940e, DF_NO_JMP}, + {"brbs", 0xf000, 0}, + {"brbc", 0xf400, 0}, + {"add", 0x0c00, 0}, + {"adc", 0x1c00, 0}, + {"sub", 0x1800, 0}, + {"sbc", 0x0800, 0}, + {"and", 0x2000, 0}, + {"or", 0x2800, 0}, + {"eor", 0x2400, 0}, + {"cp", 0x1400, 0}, + {"cpc", 0x0400, 0}, + {"cpse", 0x1000, 0}, + {"mov", 0x2c00, 0}, + {"mul", 0x9c00, DF_NO_MUL}, + {"movw", 0x0100, DF_NO_MOVW}, + {"muls", 0x0200, DF_NO_MUL}, + {"mulsu", 0x0300, DF_NO_MUL}, + {"fmul", 0x0308, DF_NO_MUL}, + {"fmuls", 0x0380, DF_NO_MUL}, + {"fmulsu",0x0388, DF_NO_MUL}, + {"adiw", 0x9600, DF_TINY1X}, + {"sbiw", 0x9700, DF_TINY1X}, + {"subi", 0x5000, 0}, + {"sbci", 0x4000, 0}, + {"andi", 0x7000, 0}, + {"ori", 0x6000, 0}, + {"sbr", 0x6000, 0}, + {"cpi", 0x3000, 0}, + {"ldi", 0xe000, 0}, + {"cbr", 0x7000, 0}, + {"sbrc", 0xfc00, 0}, + {"sbrs", 0xfe00, 0}, + {"bst", 0xfa00, 0}, + {"bld", 0xf800, 0}, + {"in", 0xb000, 0}, + {"out", 0xb800, 0}, + {"sbic", 0x9900, 0}, + {"sbis", 0x9b00, 0}, + {"sbi", 0x9a00, 0}, + {"cbi", 0x9800, 0}, + {"lds", 0x9000, DF_TINY1X}, + {"sts", 0x9200, DF_TINY1X}, + {"ld", 0, 0}, + {"st", 0, 0}, + {"ldd", 0, DF_TINY1X}, + {"std", 0, DF_TINY1X}, + {"count", 0, 0}, + {"lpm", 0x9004, DF_NO_LPM|DF_NO_LPM_X}, + {"lpm", 0x9005, DF_NO_LPM|DF_NO_LPM_X}, + {"elpm", 0x9006, DF_NO_ELPM|DF_NO_ELPM_X}, + {"elpm", 0x9007, DF_NO_ELPM|DF_NO_ELPM_X}, + {"ld", 0x900c, DF_NO_XREG}, + {"ld", 0x900d, DF_NO_XREG}, + {"ld", 0x900e, DF_NO_XREG}, + {"ld", 0x8008, DF_NO_YREG}, + {"ld", 0x9009, DF_NO_YREG}, + {"ld", 0x900a, DF_NO_YREG}, + {"ld", 0x8000, 0}, + {"ld", 0x9001, DF_TINY1X}, + {"ld", 0x9002, DF_TINY1X}, + {"st", 0x920c, DF_NO_XREG}, + {"st", 0x920d, DF_NO_XREG}, + {"st", 0x920e, DF_NO_XREG}, + {"st", 0x8208, DF_NO_YREG}, + {"st", 0x9209, DF_NO_YREG}, + {"st", 0x920a, DF_NO_YREG}, + {"st", 0x8200, 0}, + {"st", 0x9201, DF_TINY1X}, + {"st", 0x9202, DF_TINY1X}, + {"ldd", 0x8008, DF_TINY1X}, + {"ldd", 0x8000, DF_TINY1X}, + {"std", 0x8208, DF_TINY1X}, + {"std", 0x8200, DF_TINY1X}, + {"end", 0, 0} + }; + + +/* We try to parse the command name. Is it a assembler mnemonic or anything else ? + * If so, it may be a macro. + */ + +int parse_mnemonic(struct prog_info *pi, int pass) + { + int mnemonic, i, opcode, opcode2, instruction_long = False; + char *operand1, *operand2; + struct macro *macro; + char temp[MAX_MNEMONIC_LEN+1]; + + operand1 = get_next_token(pi->fi->scratch, TERM_SPACE); // we get the first word on line + mnemonic = get_mnemonic_type(my_strlwr(pi->fi->scratch)); + if(mnemonic == -1) // if -1 this must be a macro name + { + macro = get_macro(pi, pi->fi->scratch); // and so, we try to get the corresponding macro struct. + if(macro) + { + return(expand_macro(pi, macro, operand1, pass)); //we expand the macro + } + else // if we cant find a name, this is a unknown word. + { + print_msg(pi, MSGTYPE_ERROR, "Unknown mnemonic/macro: %s", pi->fi->scratch); + return(True); + } + } + if(pass == PASS_2) + { + if(mnemonic <= MNEMONIC_BREAK) + { + if(operand1) + print_msg(pi, MSGTYPE_WARNING, "Garbage after instruction %s: %s", instruction_list[mnemonic].mnemonic, operand1); + // No operand + opcode = 0; + } + else if(mnemonic <= MNEMONIC_ELPM) + { + if(operand1) + { + operand2 = get_next_token(operand1, TERM_COMMA); + if(!operand2) + { + print_msg(pi, MSGTYPE_ERROR, "%s needs a second operand", instruction_list[mnemonic].mnemonic); + return(True); + } + get_next_token(operand2, TERM_END); + i = get_register(pi, operand1); + opcode = i << 4; + i = get_indirect(pi, operand2); + if(i == 6) // Means Z + { + if(mnemonic == MNEMONIC_LPM) + mnemonic = MNEMONIC_LPM_Z; + else if(mnemonic == MNEMONIC_ELPM) + mnemonic = MNEMONIC_ELPM_Z; + } + else if(i == 7) // Means Z+ + { + if(mnemonic == MNEMONIC_LPM) + mnemonic = MNEMONIC_LPM_ZP; + else if(mnemonic == MNEMONIC_ELPM) + mnemonic = MNEMONIC_ELPM_ZP; + } + else + { + print_msg(pi, MSGTYPE_ERROR, "Unsupported operand: %s", operand2); + return(True); + } + } + else + opcode = 0; + } + else + { + if(!operand1) + { + print_msg(pi, MSGTYPE_ERROR, "%s needs an operand", instruction_list[mnemonic].mnemonic); + return(True); + } + operand2 = get_next_token(operand1, TERM_COMMA); + if(mnemonic >= MNEMONIC_BRBS) + { + if(!operand2) + { + print_msg(pi, MSGTYPE_ERROR, "%s needs a second operand", instruction_list[mnemonic].mnemonic); + return(True); + } + get_next_token(operand2, TERM_END); + } + if(mnemonic <= MNEMONIC_BCLR) + { + if(!get_bitnum(pi, operand1, &i)) + return(False); + opcode = i << 4; + } + else if(mnemonic <= MNEMONIC_ROL) + { + i = get_register(pi, operand1); + if((mnemonic == MNEMONIC_SER) && (i < 16)) + { + print_msg(pi, MSGTYPE_ERROR, "%s can only use a high register (r16 - r31)", instruction_list[mnemonic].mnemonic); + i &= 0x0f; + } + opcode = i << 4; + if(mnemonic >= MNEMONIC_TST) + opcode |= ((i & 0x10) << 5) | (i & 0x0f); + } + else if(mnemonic <= MNEMONIC_RCALL) + { + if(!get_expr(pi, operand1, &i)) + return(False); + i -= pi->cseg_addr + 1; + if(mnemonic <= MNEMONIC_BRID) + { + if((i < -64) || (i > 63)) + print_msg(pi, MSGTYPE_ERROR, "Branch out of range (-64 <= k <= 63)"); + opcode = (i & 0x7f) << 3; + } + else + { + if(((i < -2048) || (i > 2047)) && (pi->device->flash_size != 4096)) + print_msg(pi, MSGTYPE_ERROR, "Relative address out of range (-2048 <= k <= 2047)"); + opcode = i & 0x0fff; + } + } + else if(mnemonic <= MNEMONIC_CALL) + { + if(!get_expr(pi, operand1, &i)) + return(False); + if((i < 0) || (i > 4194303)) + print_msg(pi, MSGTYPE_ERROR, "Address out of range (0 <= k <= 4194303)"); + opcode = ((i & 0x3e0000) >> 13) | ((i & 0x01000) >> 16); + opcode2 = i & 0xffff; + instruction_long = True; + } + else if(mnemonic <= MNEMONIC_BRBC) + { + if(!get_bitnum(pi, operand1, &i)) + return(False); + opcode = i; + if(!get_expr(pi, operand2, &i)) + return(False); + i -= pi->cseg_addr + 1; + if((i < -64) || (i > 63)) + print_msg(pi, MSGTYPE_ERROR, "Branch out of range (-64 <= k <= 63)"); + opcode |= (i & 0x7f) << 3; + } + else if(mnemonic <= MNEMONIC_MUL) + { + i = get_register(pi, operand1); + opcode = i << 4; + i = get_register(pi, operand2); + opcode |= ((i & 0x10) << 5) | (i & 0x0f); + } + else if(mnemonic <= MNEMONIC_MOVW) + { + i = get_register(pi, operand1); + if((i % 2) == 1) + print_msg(pi, MSGTYPE_ERROR, "%s must use a even numbered register for Rd", instruction_list[mnemonic].mnemonic); + opcode = (i / 2) << 4; + i = get_register(pi, operand2); + if((i % 2) == 1) + print_msg(pi, MSGTYPE_ERROR, "%s must use a even numbered register for Rr", instruction_list[mnemonic].mnemonic); + opcode |= i / 2; + } + else if(mnemonic <= MNEMONIC_MULS) + { + i = get_register(pi, operand1); + if(i < 16) + print_msg(pi, MSGTYPE_ERROR, "%s can only use a high register (r16 - r31)", instruction_list[mnemonic].mnemonic); + opcode = (i & 0x0f) << 4; + i = get_register(pi, operand2); + if(i < 16) + print_msg(pi, MSGTYPE_ERROR, "%s can only use a high register (r16 - r31)", instruction_list[mnemonic].mnemonic); + opcode |= (i & 0x0f); + } + else if(mnemonic <= MNEMONIC_FMULSU) + { + i = get_register(pi, operand1); + if((i < 16) || (i >= 24)) + print_msg(pi, MSGTYPE_ERROR, "%s can only use registers (r16 - r23)", instruction_list[mnemonic].mnemonic); + opcode = (i & 0x07) << 4; + i = get_register(pi, operand2); + if((i < 16) || (i >= 24)) + print_msg(pi, MSGTYPE_ERROR, "%s can only use registers (r16 - r23)", instruction_list[mnemonic].mnemonic); + opcode |= (i & 0x07); + } + else if(mnemonic <= MNEMONIC_SBIW) + { + i = get_register(pi, operand1); + if(!((i == 24) || (i == 26) || (i == 28) || (i == 30))) + print_msg(pi, MSGTYPE_ERROR, "%s can only use registers R24, R26, R28 or R30", instruction_list[mnemonic].mnemonic); + opcode = ((i - 24) / 2) << 4; + if(!get_expr(pi, operand2, &i)) + return(False); + if((i < 0) || (i > 63)) + print_msg(pi, MSGTYPE_ERROR, "Constant out of range (0 <= k <= 63)"); + opcode |= ((i & 0x30) << 2) | (i & 0x0f); + } + else if(mnemonic <= MNEMONIC_CBR) + { + i = get_register(pi, operand1); + if(i < 16) + print_msg(pi, MSGTYPE_ERROR, "%s can only use a high register (r16 - r31)", instruction_list[mnemonic].mnemonic); + opcode = (i & 0x0f) << 4; + if(!get_expr(pi, operand2, &i)) + return(False); + if((i < -128) || (i > 255)) + print_msg(pi, MSGTYPE_WARNING, "Constant out of range (-128 <= k <= 255). Will be masked"); + if(mnemonic == MNEMONIC_CBR) + i = ~i; + opcode |= ((i & 0xf0) << 4) | (i & 0x0f); + } + else if(mnemonic <= MNEMONIC_BLD) + { + i = get_register(pi, operand1); + opcode = i << 4; + if(!get_bitnum(pi, operand2, &i)) + return(False); + opcode |= i; + } + else if(mnemonic == MNEMONIC_IN) + { + i = get_register(pi, operand1); + opcode = i << 4; + if(!get_expr(pi, operand2, &i)) + return(False); + if((i < 0) || (i > 63)) + print_msg(pi, MSGTYPE_ERROR, "I/O out of range (0 <= P <= 63)"); + opcode |= ((i & 0x30) << 5) | (i & 0x0f); + } + else if(mnemonic == MNEMONIC_OUT) + { + if(!get_expr(pi, operand1, &i)) + return(False); + if((i < 0) || (i > 63)) + print_msg(pi, MSGTYPE_ERROR, "I/O out of range (0 <= P <= 63)"); + opcode = ((i & 0x30) << 5) | (i & 0x0f); + i = get_register(pi, operand2); + opcode |= i << 4; + } + else if(mnemonic <= MNEMONIC_CBI) + { + if(!get_expr(pi, operand1, &i)) + return(False); + if((i < 0) || (i > 31)) + print_msg(pi, MSGTYPE_ERROR, "I/O out of range (0 <= P <= 31)"); + opcode = i << 3; + if(!get_bitnum(pi, operand2, &i)) + return(False); + opcode |= i; + } + else if(mnemonic == MNEMONIC_LDS) + { + i = get_register(pi, operand1); + opcode = i << 4; + if(!get_expr(pi, operand2, &i)) + return(False); + if((i < 0) || (i > 65535)) + print_msg(pi, MSGTYPE_ERROR, "SRAM out of range (0 <= k <= 65535)"); + opcode2 = i; + instruction_long = True; + } + else if(mnemonic == MNEMONIC_STS) + { + if(!get_expr(pi, operand1, &i)) + return(False); + if((i < 0) || (i > 65535)) + print_msg(pi, MSGTYPE_ERROR, "SRAM out of range (0 <= k <= 65535)"); + opcode2 = i; + i = get_register(pi, operand2); + opcode = i << 4; + instruction_long = True; + } + else if(mnemonic == MNEMONIC_LD) + { + i = get_register(pi, operand1); + opcode = i << 4; + mnemonic = MNEMONIC_LD_X + get_indirect(pi, operand2); + } + else if(mnemonic == MNEMONIC_ST) + { + mnemonic = MNEMONIC_ST_X + get_indirect(pi, operand1); + i = get_register(pi, operand2); + opcode = i << 4; + } + else if(mnemonic == MNEMONIC_LDD) + { + i = get_register(pi, operand1); + opcode = i << 4; + if(tolower(operand2[0]) == 'z') + mnemonic = MNEMONIC_LDD_Z; + else if(tolower(operand2[0]) == 'y') + mnemonic = MNEMONIC_LDD_Y; + else + print_msg(pi, MSGTYPE_ERROR, "Garbage in second operand (%s)", operand2); + i = 1; + while((operand2[i] != '\0') && (operand2[i] != '+')) i++; + if(operand2[i] == '\0') + { + print_msg(pi, MSGTYPE_ERROR, "Garbage in second operand (%s)", operand2); + return(False); + } + if(!get_expr(pi, &operand2[i + 1], &i)) + return(False); + if((i < 0) || (i > 63)) + print_msg(pi, MSGTYPE_ERROR, "Displacement out of range (0 <= q <= 63)"); + opcode |= ((i & 0x20) << 8) | ((i & 0x18) << 7) | (i & 0x07); + } + else if(mnemonic == MNEMONIC_STD) + { + if(tolower(operand1[0]) == 'z') + mnemonic = MNEMONIC_STD_Z; + else if(tolower(operand1[0]) == 'y') + mnemonic = MNEMONIC_STD_Y; + else + print_msg(pi, MSGTYPE_ERROR, "Garbage in first operand (%s)", operand1); + i = 1; + while((operand1[i] != '\0') && (operand1[i] != '+')) i++; + if(operand1[i] == '\0') + { + print_msg(pi, MSGTYPE_ERROR, "Garbage in first operand (%s)", operand1); + return(False); + } + if(!get_expr(pi, &operand1[i + 1], &i)) + return(False); + if((i < 0) || (i > 63)) + print_msg(pi, MSGTYPE_ERROR, "Displacement out of range (0 <= q <= 63)"); + opcode = ((i & 0x20) << 8) | ((i & 0x18) << 7) | (i & 0x07); + i = get_register(pi, operand2); + opcode |= i << 4; + } + else + print_msg(pi, MSGTYPE_ERROR, "Shit! Missing opcode check [%d]...", mnemonic); + } + if (pi->device->flag & instruction_list[mnemonic].flag) + { + strncpy(temp, instruction_list[mnemonic].mnemonic, MAX_MNEMONIC_LEN); + print_msg(pi, MSGTYPE_ERROR, "%s instruction is not supported on %s", + my_strupr(temp), pi->device->name); + } + opcode |= instruction_list[mnemonic].opcode; + if(pi->list_on && pi->list_line) + { + if(instruction_long) + fprintf(pi->list_file, "%06x %04x %04x %s", pi->cseg_addr, opcode, opcode2, pi->list_line); + else + fprintf(pi->list_file, "%06x %04x %s", pi->cseg_addr, opcode, pi->list_line); + pi->list_line = NULL; + } + if(pi->hfi) + { + write_prog_word(pi, pi->cseg_addr, opcode); + if(instruction_long) + write_prog_word(pi, pi->cseg_addr + 1, opcode2); + } + if(instruction_long) + pi->cseg_addr += 2; + else + pi->cseg_addr++; + } + else + { + if((mnemonic == MNEMONIC_JMP) || (mnemonic == MNEMONIC_CALL) || (mnemonic == MNEMONIC_LDS) || (mnemonic == MNEMONIC_STS)) + { + pi->cseg_addr += 2; + pi->cseg_count += 2; + } + else + { + pi->cseg_addr++; + pi->cseg_count++; + } + } + return(True); + } + + +int get_mnemonic_type(char *mnemonic) + { + int i; + + for(i = 0; i < MNEMONIC_COUNT; i++) + if(!strcmp(mnemonic, instruction_list[i].mnemonic)) + return(i); + return(-1); + } + + +int get_register(struct prog_info *pi, char *data) + { + char *second_reg; + int reg = 0; + struct def *def; + + // Check for any occurence of r1:r0 pairs, and if so skip to second register + second_reg = strchr(data, ':'); + if(second_reg != NULL) + data = second_reg + 1; + + for(def = pi->first_def; def; def = def->next) + if(!nocase_strcmp(def->name, data)) + { + reg = def->reg; + return(reg); + } + if((tolower(data[0]) == 'r') && isdigit(data[1])) + { + reg = atoi(&data[1]); + if(reg > 31) + print_msg(pi, MSGTYPE_ERROR, "R%d is not a valid register", reg); + } + else + print_msg(pi, MSGTYPE_ERROR, "No register associated with %s", data); + return(reg); + } + + +int get_bitnum(struct prog_info *pi, char *data, int *ret) +{ + if(!get_expr(pi, data, ret)) + return(False); + if((*ret < 0) || (*ret > 7)) + { + print_msg(pi, MSGTYPE_ERROR, "Operand out of range (0 <= s <= 7)"); + return(False); + } + return(True); + } + + +int get_indirect(struct prog_info *pi, char *operand) + { + int i = 1; + + switch(tolower(operand[0])) + { + case '-': + while(IS_HOR_SPACE(operand[i])) i++; + if(operand[i + 1] != '\0') + print_msg(pi, MSGTYPE_ERROR, "Garbage in operand (%s)", operand); + switch(tolower(operand[i])) + { + case 'x': + if (pi->device->flag & DF_NO_XREG) + print_msg(pi, MSGTYPE_ERROR, "X register is not supported on %s", pi->device->name); + return(2); + case 'y': + if (pi->device->flag & DF_NO_YREG) + print_msg(pi, MSGTYPE_ERROR, "Y register is not supported on %s", pi->device->name); + return(5); + case 'z': + return(8); + default: + print_msg(pi, MSGTYPE_ERROR, "Garbage in operand (%s)", operand); + return(0); + } + case 'x': + if (pi->device->flag & DF_NO_XREG) + print_msg(pi, MSGTYPE_ERROR, "X register is not supported on %s", pi->device->name); + while(IS_HOR_SPACE(operand[i])) i++; + if(operand[i] == '+') + { + if(operand[i + 1] != '\0') + print_msg(pi, MSGTYPE_ERROR, "Garbage in operand (%s)", operand); + return(1); + } + else if(operand[i] == '\0') + return(0); + else + print_msg(pi, MSGTYPE_ERROR, "Garbage after operand (%s)", operand); + return(0); + case 'y': + if (pi->device->flag & DF_NO_YREG) + print_msg(pi, MSGTYPE_ERROR, "Y register is not supported on %s", pi->device->name); + while(IS_HOR_SPACE(operand[i])) i++; + if(operand[i] == '+') + { + if(operand[i + 1] != '\0') + print_msg(pi, MSGTYPE_ERROR, "Garbage in operand (%s)", operand); + return(4); + } + else if(operand[i] == '\0') + return(3); + else + print_msg(pi, MSGTYPE_ERROR, "Garbage after operand (%s)", operand); + return(0); + case 'z': + while(IS_HOR_SPACE(operand[i])) i++; + if(operand[i] == '+') + { + if(operand[i + 1] != '\0') + print_msg(pi, MSGTYPE_ERROR, "Garbage in operand (%s)", operand); + return(7); + } + else if(operand[i] == '\0') + return(6); + else + print_msg(pi, MSGTYPE_ERROR, "Garbage after operand (%s)", operand); + return(0); + default: + print_msg(pi, MSGTYPE_ERROR, "Garbage in operand (%s)", operand); + } + return(0); + } + +/* Return 1 if instruction name is supported by the current device, + 0 if unsupported, -1 if it is invalid */ +int is_supported(struct prog_info *pi, char *name) { + char temp[MAX_MNEMONIC_LEN+1]; + int mnemonic; + + strncpy(temp,name,MAX_MNEMONIC_LEN); + mnemonic = get_mnemonic_type(my_strlwr(temp)); + if (mnemonic == -1) return -1; + if (pi->device->flag & instruction_list[mnemonic].flag) return 0; + return 1; + } + +int count_supported_instructions(int flags) +{ + int i = 0, count = 0; + while(i < MNEMONIC_END) + { + if((i < MNEMONIC_LD) || (i > MNEMONIC_COUNT)) + if(!(flags & instruction_list[i].flag)) + count++; + i++; + } + return(count); +} diff --git a/src/mkutil/avra-0.8/SOURCE/parser.c b/src/mkutil/avra-0.8/SOURCE/parser.c index fe1604d2..f2f77cab 100644 --- a/src/mkutil/avra-0.8/SOURCE/parser.c +++ b/src/mkutil/avra-0.8/SOURCE/parser.c @@ -1,397 +1,397 @@ -/*********************************************************************** - * avra - Assembler for the Atmel AVR microcontroller series - * Copyright (C) 1998-2001 Jon Anders Haugum - * Copyright (C) 2002-2003 Tobias Weber - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - * - * Authors of avra can be reached at: - * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com - * www: http://sourceforge.net/projects/avra - */ - -#include -#include -#include -#include - -#include "misc.h" -#include "avra.h" -#include "args.h" - -/* - * Parses given assembler file - */ - -int parse_file(struct prog_info *pi, char *filename, int pass) - { - int ok = True, loopok; - struct file_info *fi; - struct include_file *include_file; - - fi = malloc(sizeof(struct file_info)); - if(fi) - { - pi->fi = fi; - if(pass == PASS_1) - { - include_file = malloc(sizeof(struct include_file)); - if(!include_file) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - free(fi); - return(False); - } - include_file->next = NULL; - if(pi->last_include_file) - { - pi->last_include_file->next = include_file; - include_file->num = pi->last_include_file->num + 1; - } - else - { - pi->first_include_file = include_file; - include_file->num = 0; - } - pi->last_include_file = include_file; - include_file->name = malloc(strlen(filename) + 1); - if(!include_file->name) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - free(fi); - return(False); - } - strcpy(include_file->name, filename); - } - else - { - for(include_file = pi->first_include_file; include_file; include_file = include_file->next) - if(!strcmp(include_file->name, filename)) - break; - } - if(!include_file) - { - print_msg(pi, MSGTYPE_ERROR, "Internal assembler error"); - free(fi); - return(False); - } - fi->include_file = include_file; - fi->line_number = 0; - fi->exit_file = False; - //printf("Opening %s\n",filename); - fi->fp = fopen(filename, "r"); - if(fi->fp != NULL) - { - - loopok = True; - while(loopok && !fi->exit_file) - { - if(fgets(fi->buff, LINEBUFFER_LENGTH, fi->fp)) - { - fi->line_number++; - pi->list_line = fi->buff; - ok = parse_line(pi, fi->buff, pass); - - if(ok) - { - if((pass == PASS_2) && pi->list_line && pi->list_on) - fprintf(pi->list_file, " %s", pi->list_line); - if(pi->error_count >= pi->max_errors) - { - print_msg(pi, MSGTYPE_MESSAGE, "Maximum error count reached. Exiting..."); - loopok = False; - } - } - else - { - loopok = False; - } - } - else - { - loopok = False; - if(!feof(fi->fp)) - { - ok = False; - perror(filename); - } - } - } - fclose(fi->fp); - } - else - { - ok = False; - perror(filename); - } - free(fi); - } - else - { - ok = False; - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - } - return(ok); - } - - -/* - * Parses one line - */ - -int parse_line(struct prog_info *pi, char *line, int pass) - { - int ok, i, j, k, global_label = False, textarea; - char temp[LINEBUFFER_LENGTH]; - struct label *label = NULL; - struct macro_call *macro_call; - - /* Find out if there is any relevant code on the line. If not? return */ - i = 0; - while(IS_HOR_SPACE(line[i]) && !IS_END(line[i])) i++; - if(IS_END(line[i])) - return(True); - - strcpy(temp, &line[i]); - - /* filter out .stab debugging information before it screws up the previous processing */ - /* .stabs sometimes contains colon : symbol - might be interpreted as label */ - if( *temp == '.' ){ /* minimal slowdown of existing code */ - /* compiler output is always lower case */ - if( strncmp( temp, ".stabs ", 7) == 0 ){ - ok = parse_stabs( pi, temp, pass ); - return( ok ); - } - - if( strncmp( temp, ".stabn ", 7) == 0 ){ - ok = parse_stabn( pi, temp, pass ); - return( ok ); - } - } - - /* Calculate any expression inside a pair of {} */ - for(i = 0, j = 0, textarea = False; temp[j] != '\0'; i++, j++) - { - if((temp[j] == '\'') || (temp[j] == '"')) - textarea = textarea ? False : True; - else if(!textarea && (temp[j] == ';')) - break; - if(temp[j] == '{') - { - k = ++j; - while((temp[j] != '\0') && (temp[j] != '}')) j++; - if(IS_END(temp[j])) - { - print_msg(pi, MSGTYPE_ERROR, "Found no matching }"); - break; - } - else - { - temp[j] = '\0'; - if(!get_expr(pi, &temp[k], &k)) - return(False); - sprintf(&pi->fi->scratch[i], "%d", k); - i = strlen(pi->fi->scratch) - 1; - } - } - else - pi->fi->scratch[i] = temp[j]; - } - pi->fi->scratch[i] = '\0'; - - /* Detect the global keyword for global labels */ - if(!nocase_strncmp(pi->fi->scratch, "global", 6) && IS_HOR_SPACE(pi->fi->scratch[6])) - { - global_label = True; - i = 7; - while(IS_HOR_SPACE(pi->fi->scratch[i]) && !IS_END(pi->fi->scratch[i])) i++; - if(IS_END(pi->fi->scratch[i])) - { - print_msg(pi, MSGTYPE_ERROR, "Found no label after global keyword"); - return(True); - } - strcpy(pi->fi->scratch, &pi->fi->scratch[i]); - } - - for(i = 0; IS_LABEL(pi->fi->scratch[i]) || (pi->fi->scratch[i] == ':'); i++) - if(pi->fi->scratch[i] == ':') - { - pi->fi->scratch[i] = '\0'; - if(pass == PASS_1) - { - for(macro_call = pi->macro_call; macro_call; macro_call = macro_call->prev_on_stack) - { - for(label = pi->macro_call->first_label; label; label = label->next) - { - if(!nocase_strcmp(label->name, &pi->fi->scratch[0])) - { - print_msg(pi, MSGTYPE_ERROR, "Can't redefine local label %s", &pi->fi->scratch[0]); - break; - } - } - } - for(label = pi->first_label; label; label = label->next) - { - if(!nocase_strcmp(label->name, &pi->fi->scratch[0])) - { - print_msg(pi, MSGTYPE_ERROR, "Can't redefine label %s", &pi->fi->scratch[0]); - break; - } - } - for(label = pi->first_variable; label; label = label->next) - if(!nocase_strcmp(label->name, &pi->fi->scratch[0])) - { - print_msg(pi, MSGTYPE_ERROR, "%s has already been defined as a .SET variable", &pi->fi->scratch[0]); - break; - } - for(label = pi->first_constant; label; label = label->next) - if(!nocase_strcmp(label->name, &pi->fi->scratch[0])) - { - print_msg(pi, MSGTYPE_ERROR, "%s has already been defined as a .EQU constant", &pi->fi->scratch[0]); - break; - } - label = malloc(sizeof(struct label)); - if(!label) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - label->next = NULL; - label->name = malloc(strlen(&pi->fi->scratch[0]) + 1); - if(!label->name) - { - print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); - return(False); - } - strcpy(label->name, &pi->fi->scratch[0]); - switch(pi->segment) - { - case SEGMENT_CODE: - label->value = pi->cseg_addr; - break; - case SEGMENT_DATA: - label->value = pi->dseg_addr; - break; - case SEGMENT_EEPROM: - label->value = pi->eseg_addr; - break; - } - if(pi->macro_call && !global_label) - { - if(pi->macro_call->last_label) - pi->macro_call->last_label->next = label; - else - pi->macro_call->first_label = label; - pi->macro_call->last_label = label; - } - else - { - if(pi->last_label) - pi->last_label->next = label; - else - pi->first_label = label; - pi->last_label = label; - } - } - i++; - while(IS_HOR_SPACE(pi->fi->scratch[i]) && !IS_END(pi->fi->scratch[i])) i++; - if(IS_END(pi->fi->scratch[i])) - { - if((pass == PASS_2) && pi->list_on) // Diff tilpassing - { - fprintf(pi->list_file, " %s", pi->list_line); - pi->list_line = NULL; - } - return(True); - } - strcpy(pi->fi->scratch, &pi->fi->scratch[i]); - break; - } - - if(pi->fi->scratch[0] == '.') - { - pi->fi->label = label; - ok = parse_directive(pi, pass); - if((pass == PASS_2) && pi->list_on && pi->list_line) // Diff tilpassing - { - fprintf(pi->list_file, " %s", pi->list_line); - pi->list_line = NULL; - } - return(ok); - } - else - { - ok = parse_mnemonic(pi, pass); - return(ok); - } - } - - -/* - * Get the next token, and terminate the last one. - * Termination identifier is specified. - */ - -char *get_next_token(char *data, int term) - { - int i = 0, j, anti_comma = False; - - switch(term) - { - case TERM_END: - while(!IS_END(data[i])) i++; - break; - case TERM_SPACE: - while(!IS_HOR_SPACE(data[i]) && !IS_END(data[i])) i++; - break; - case TERM_DASH: - while((data[i] != '-') && !IS_END(data[i])) i++; - break; - case TERM_COLON: - while((data[i] != ':') && !IS_ENDLINE(data[i])) i++; - break; - case TERM_DOUBLEQUOTE: - while((data[i] != '"') && !IS_ENDLINE(data[i])) i++; - break; - case TERM_COMMA: - while(((data[i] != ',') || anti_comma) - && !(((data[i] == ';') && !anti_comma) || (data[i] == 10) || (data[i] == 13)|| (data[i] == '\0'))) - { - if((data[i] == '\'') || (data[i] == '"')) - anti_comma = anti_comma ? False : True; - i++; - } - break; - case TERM_EQUAL: - while((data[i] != '=') && !IS_END(data[i])) i++; - break; - } - if(IS_END(data[i])) - { - data[i--] = '\0'; - while(IS_HOR_SPACE(data[i])) data[i--] = '\0'; - return(0); - } - j = i - 1; - while(IS_HOR_SPACE(data[j])) data[j--] = '\0'; - data[i++] = '\0'; - while(IS_HOR_SPACE(data[i]) && !IS_END(data[i])) i++; - if(IS_END(data[i])) - return(0); - return(&data[i]); - } - +/*********************************************************************** + * avra - Assembler for the Atmel AVR microcontroller series + * Copyright (C) 1998-2001 Jon Anders Haugum + * Copyright (C) 2002-2003 Tobias Weber + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * + * Authors of avra can be reached at: + * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com + * www: http://sourceforge.net/projects/avra + */ + +#include +#include +#include +#include + +#include "misc.h" +#include "avra.h" +#include "args.h" + +/* + * Parses given assembler file + */ + +int parse_file(struct prog_info *pi, char *filename, int pass) + { + int ok = True, loopok; + struct file_info *fi; + struct include_file *include_file; + + fi = malloc(sizeof(struct file_info)); + if(fi) + { + pi->fi = fi; + if(pass == PASS_1) + { + include_file = malloc(sizeof(struct include_file)); + if(!include_file) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + free(fi); + return(False); + } + include_file->next = NULL; + if(pi->last_include_file) + { + pi->last_include_file->next = include_file; + include_file->num = pi->last_include_file->num + 1; + } + else + { + pi->first_include_file = include_file; + include_file->num = 0; + } + pi->last_include_file = include_file; + include_file->name = malloc(strlen(filename) + 1); + if(!include_file->name) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + free(fi); + return(False); + } + strcpy(include_file->name, filename); + } + else + { + for(include_file = pi->first_include_file; include_file; include_file = include_file->next) + if(!strcmp(include_file->name, filename)) + break; + } + if(!include_file) + { + print_msg(pi, MSGTYPE_ERROR, "Internal assembler error"); + free(fi); + return(False); + } + fi->include_file = include_file; + fi->line_number = 0; + fi->exit_file = False; + //printf("Opening %s\n",filename); + fi->fp = fopen(filename, "r"); + if(fi->fp != NULL) + { + + loopok = True; + while(loopok && !fi->exit_file) + { + if(fgets(fi->buff, LINEBUFFER_LENGTH, fi->fp)) + { + fi->line_number++; + pi->list_line = fi->buff; + ok = parse_line(pi, fi->buff, pass); + + if(ok) + { + if((pass == PASS_2) && pi->list_line && pi->list_on) + fprintf(pi->list_file, " %s", pi->list_line); + if(pi->error_count >= pi->max_errors) + { + print_msg(pi, MSGTYPE_MESSAGE, "Maximum error count reached. Exiting..."); + loopok = False; + } + } + else + { + loopok = False; + } + } + else + { + loopok = False; + if(!feof(fi->fp)) + { + ok = False; + perror(filename); + } + } + } + fclose(fi->fp); + } + else + { + ok = False; + perror(filename); + } + free(fi); + } + else + { + ok = False; + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + } + return(ok); + } + + +/* + * Parses one line + */ + +int parse_line(struct prog_info *pi, char *line, int pass) + { + int ok, i, j, k, global_label = False, textarea; + char temp[LINEBUFFER_LENGTH]; + struct label *label = NULL; + struct macro_call *macro_call; + + /* Find out if there is any relevant code on the line. If not? return */ + i = 0; + while(IS_HOR_SPACE(line[i]) && !IS_END(line[i])) i++; + if(IS_END(line[i])) + return(True); + + strcpy(temp, &line[i]); + + /* filter out .stab debugging information before it screws up the previous processing */ + /* .stabs sometimes contains colon : symbol - might be interpreted as label */ + if( *temp == '.' ){ /* minimal slowdown of existing code */ + /* compiler output is always lower case */ + if( strncmp( temp, ".stabs ", 7) == 0 ){ + ok = parse_stabs( pi, temp, pass ); + return( ok ); + } + + if( strncmp( temp, ".stabn ", 7) == 0 ){ + ok = parse_stabn( pi, temp, pass ); + return( ok ); + } + } + + /* Calculate any expression inside a pair of {} */ + for(i = 0, j = 0, textarea = False; temp[j] != '\0'; i++, j++) + { + if((temp[j] == '\'') || (temp[j] == '"')) + textarea = textarea ? False : True; + else if(!textarea && (temp[j] == ';')) + break; + if(temp[j] == '{') + { + k = ++j; + while((temp[j] != '\0') && (temp[j] != '}')) j++; + if(IS_END(temp[j])) + { + print_msg(pi, MSGTYPE_ERROR, "Found no matching }"); + break; + } + else + { + temp[j] = '\0'; + if(!get_expr(pi, &temp[k], &k)) + return(False); + sprintf(&pi->fi->scratch[i], "%d", k); + i = strlen(pi->fi->scratch) - 1; + } + } + else + pi->fi->scratch[i] = temp[j]; + } + pi->fi->scratch[i] = '\0'; + + /* Detect the global keyword for global labels */ + if(!nocase_strncmp(pi->fi->scratch, "global", 6) && IS_HOR_SPACE(pi->fi->scratch[6])) + { + global_label = True; + i = 7; + while(IS_HOR_SPACE(pi->fi->scratch[i]) && !IS_END(pi->fi->scratch[i])) i++; + if(IS_END(pi->fi->scratch[i])) + { + print_msg(pi, MSGTYPE_ERROR, "Found no label after global keyword"); + return(True); + } + strcpy(pi->fi->scratch, &pi->fi->scratch[i]); + } + + for(i = 0; IS_LABEL(pi->fi->scratch[i]) || (pi->fi->scratch[i] == ':'); i++) + if(pi->fi->scratch[i] == ':') + { + pi->fi->scratch[i] = '\0'; + if(pass == PASS_1) + { + for(macro_call = pi->macro_call; macro_call; macro_call = macro_call->prev_on_stack) + { + for(label = pi->macro_call->first_label; label; label = label->next) + { + if(!nocase_strcmp(label->name, &pi->fi->scratch[0])) + { + print_msg(pi, MSGTYPE_ERROR, "Can't redefine local label %s", &pi->fi->scratch[0]); + break; + } + } + } + for(label = pi->first_label; label; label = label->next) + { + if(!nocase_strcmp(label->name, &pi->fi->scratch[0])) + { + print_msg(pi, MSGTYPE_ERROR, "Can't redefine label %s", &pi->fi->scratch[0]); + break; + } + } + for(label = pi->first_variable; label; label = label->next) + if(!nocase_strcmp(label->name, &pi->fi->scratch[0])) + { + print_msg(pi, MSGTYPE_ERROR, "%s has already been defined as a .SET variable", &pi->fi->scratch[0]); + break; + } + for(label = pi->first_constant; label; label = label->next) + if(!nocase_strcmp(label->name, &pi->fi->scratch[0])) + { + print_msg(pi, MSGTYPE_ERROR, "%s has already been defined as a .EQU constant", &pi->fi->scratch[0]); + break; + } + label = malloc(sizeof(struct label)); + if(!label) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + label->next = NULL; + label->name = malloc(strlen(&pi->fi->scratch[0]) + 1); + if(!label->name) + { + print_msg(pi, MSGTYPE_OUT_OF_MEM, NULL); + return(False); + } + strcpy(label->name, &pi->fi->scratch[0]); + switch(pi->segment) + { + case SEGMENT_CODE: + label->value = pi->cseg_addr; + break; + case SEGMENT_DATA: + label->value = pi->dseg_addr; + break; + case SEGMENT_EEPROM: + label->value = pi->eseg_addr; + break; + } + if(pi->macro_call && !global_label) + { + if(pi->macro_call->last_label) + pi->macro_call->last_label->next = label; + else + pi->macro_call->first_label = label; + pi->macro_call->last_label = label; + } + else + { + if(pi->last_label) + pi->last_label->next = label; + else + pi->first_label = label; + pi->last_label = label; + } + } + i++; + while(IS_HOR_SPACE(pi->fi->scratch[i]) && !IS_END(pi->fi->scratch[i])) i++; + if(IS_END(pi->fi->scratch[i])) + { + if((pass == PASS_2) && pi->list_on) // Diff tilpassing + { + fprintf(pi->list_file, " %s", pi->list_line); + pi->list_line = NULL; + } + return(True); + } + strcpy(pi->fi->scratch, &pi->fi->scratch[i]); + break; + } + + if(pi->fi->scratch[0] == '.') + { + pi->fi->label = label; + ok = parse_directive(pi, pass); + if((pass == PASS_2) && pi->list_on && pi->list_line) // Diff tilpassing + { + fprintf(pi->list_file, " %s", pi->list_line); + pi->list_line = NULL; + } + return(ok); + } + else + { + ok = parse_mnemonic(pi, pass); + return(ok); + } + } + + +/* + * Get the next token, and terminate the last one. + * Termination identifier is specified. + */ + +char *get_next_token(char *data, int term) + { + int i = 0, j, anti_comma = False; + + switch(term) + { + case TERM_END: + while(!IS_END(data[i])) i++; + break; + case TERM_SPACE: + while(!IS_HOR_SPACE(data[i]) && !IS_END(data[i])) i++; + break; + case TERM_DASH: + while((data[i] != '-') && !IS_END(data[i])) i++; + break; + case TERM_COLON: + while((data[i] != ':') && !IS_ENDLINE(data[i])) i++; + break; + case TERM_DOUBLEQUOTE: + while((data[i] != '"') && !IS_ENDLINE(data[i])) i++; + break; + case TERM_COMMA: + while(((data[i] != ',') || anti_comma) + && !(((data[i] == ';') && !anti_comma) || (data[i] == 10) || (data[i] == 13)|| (data[i] == '\0'))) + { + if((data[i] == '\'') || (data[i] == '"')) + anti_comma = anti_comma ? False : True; + i++; + } + break; + case TERM_EQUAL: + while((data[i] != '=') && !IS_END(data[i])) i++; + break; + } + if(IS_END(data[i])) + { + data[i--] = '\0'; + while(IS_HOR_SPACE(data[i])) data[i--] = '\0'; + return(0); + } + j = i - 1; + while(IS_HOR_SPACE(data[j])) data[j--] = '\0'; + data[i++] = '\0'; + while(IS_HOR_SPACE(data[i]) && !IS_END(data[i])) i++; + if(IS_END(data[i])) + return(0); + return(&data[i]); + } + diff --git a/src/mkutil/avra-0.8/SOURCE/stdextra.c b/src/mkutil/avra-0.8/SOURCE/stdextra.c index 45704953..d67e4c86 100644 --- a/src/mkutil/avra-0.8/SOURCE/stdextra.c +++ b/src/mkutil/avra-0.8/SOURCE/stdextra.c @@ -1,197 +1,197 @@ -/*********************************************************************** - * avra - Assembler for the Atmel AVR microcontroller series - * Copyright (C) 1998-2001 Jon Anders Haugum - * Copyright (C) 2002-2003 Tobias Weber - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - * - * Authors of avra can be reached at: - * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com - * www: http://sourceforge.net/projects/avra - */ - -/******************************************************************** - * Extra standard functions - */ - -#include -#include - -#include "misc.h" - - -/******************************************************************** - * Case insensetive strcmp() - */ - -int nocase_strcmp(char *s, char *t) - { - int i; - - for(i = 0; tolower(s[i]) == tolower(t[i]); i++) - if(s[i] == '\0') - return(0); - return(tolower(s[i]) - tolower(t[i])); - } - - -/******************************************************************** - * Case insensetive strncmp() - */ - -int nocase_strncmp(char *s, char *t, int n) - { - int i; - - for(i = 0; (tolower(s[i]) == tolower(t[i])); i++, n--) - if((s[i] == '\0') || (n == 1)) - return(0); - return(tolower(s[i]) - tolower(t[i])); - } - - -/******************************************************************** - * Case insensetive strstr() - */ - -char *nocase_strstr(char *s, char *t) - { - int i = 0, j, found = False; - - while((s[i] != '\0') && !found) - { - j = 0; - while(tolower(t[j]) == tolower(s[i + j])) - { - j++; - if(t[j] == '\0') - { - found = True; - break; - } - else if(s[i + j] == '\0') - break; - } - i++; - } - i--; - if(found) - return(&s[i]); - return(NULL); - } - - -/******************************************************************** - * ascii to hex - * ignores "0x" - */ - -int atox(char *s) - { - int i = 0, ret = 0; - - while(s[i] != '\0') - { - ret <<= 4; - if((s[i] <= 'F') && (s[i] >= 'A')) - ret |= s[i] - 'A' + 10; - else if((s[i] <= 'f') && (s[i] >= 'a')) - ret |= s[i] - 'a' + 10; - else if((s[i] <= '9') && (s[i] >= '0')) - ret |= s[i] - '0'; - i++; - } - return(ret); - } - - -/******************************************************************** - * n ascii chars to int - */ - -int atoi_n(char *s, int n) - { - int i = 0, ret = 0; - - while((s[i] != '\0') && n) - { - ret = 10 * ret + (s[i] - '0'); - i++; - n--; - } - return(ret); - } - - -/******************************************************************** - * n ascii chars to hex - * 0 < n <= 8 - * ignores "0x" - */ - -int atox_n(char *s, int n) - { - int i = 0, ret = 0; - - while((s[i] != '\0') && n) - { - ret <<= 4; - if((s[i] <= 'F') && (s[i] >= 'A')) - ret |= s[i] - 'A' + 10; - else if((s[i] <= 'f') && (s[i] >= 'a')) - ret |= s[i] - 'a' + 10; - else if((s[i] <= '9') && (s[i] >= '0')) - ret |= s[i] - '0'; - i++; - n--; - } - return(ret); - } - - -/* - * My own strlwr function since this one only exists in win - */ - -char *my_strlwr(char *in) -{ - int i; - - for(i = 0; in[i] != '\0'; i++) - in[i] = tolower(in[i]); - - return(in); -} - - -/* - * My own strupr function since this one only exists in win - */ - -char *my_strupr(char *in) -{ - int i; - - for(i = 0; in[i] != '\0'; i++) - in[i] = toupper(in[i]); - - return(in); -} - - - - +/*********************************************************************** + * avra - Assembler for the Atmel AVR microcontroller series + * Copyright (C) 1998-2001 Jon Anders Haugum + * Copyright (C) 2002-2003 Tobias Weber + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * + * Authors of avra can be reached at: + * email: jonah@omegav.ntnu.no, tobiw@suprafluid.com + * www: http://sourceforge.net/projects/avra + */ + +/******************************************************************** + * Extra standard functions + */ + +#include +#include + +#include "misc.h" + + +/******************************************************************** + * Case insensetive strcmp() + */ + +int nocase_strcmp(char *s, char *t) + { + int i; + + for(i = 0; tolower(s[i]) == tolower(t[i]); i++) + if(s[i] == '\0') + return(0); + return(tolower(s[i]) - tolower(t[i])); + } + + +/******************************************************************** + * Case insensetive strncmp() + */ + +int nocase_strncmp(char *s, char *t, int n) + { + int i; + + for(i = 0; (tolower(s[i]) == tolower(t[i])); i++, n--) + if((s[i] == '\0') || (n == 1)) + return(0); + return(tolower(s[i]) - tolower(t[i])); + } + + +/******************************************************************** + * Case insensetive strstr() + */ + +char *nocase_strstr(char *s, char *t) + { + int i = 0, j, found = False; + + while((s[i] != '\0') && !found) + { + j = 0; + while(tolower(t[j]) == tolower(s[i + j])) + { + j++; + if(t[j] == '\0') + { + found = True; + break; + } + else if(s[i + j] == '\0') + break; + } + i++; + } + i--; + if(found) + return(&s[i]); + return(NULL); + } + + +/******************************************************************** + * ascii to hex + * ignores "0x" + */ + +int atox(char *s) + { + int i = 0, ret = 0; + + while(s[i] != '\0') + { + ret <<= 4; + if((s[i] <= 'F') && (s[i] >= 'A')) + ret |= s[i] - 'A' + 10; + else if((s[i] <= 'f') && (s[i] >= 'a')) + ret |= s[i] - 'a' + 10; + else if((s[i] <= '9') && (s[i] >= '0')) + ret |= s[i] - '0'; + i++; + } + return(ret); + } + + +/******************************************************************** + * n ascii chars to int + */ + +int atoi_n(char *s, int n) + { + int i = 0, ret = 0; + + while((s[i] != '\0') && n) + { + ret = 10 * ret + (s[i] - '0'); + i++; + n--; + } + return(ret); + } + + +/******************************************************************** + * n ascii chars to hex + * 0 < n <= 8 + * ignores "0x" + */ + +int atox_n(char *s, int n) + { + int i = 0, ret = 0; + + while((s[i] != '\0') && n) + { + ret <<= 4; + if((s[i] <= 'F') && (s[i] >= 'A')) + ret |= s[i] - 'A' + 10; + else if((s[i] <= 'f') && (s[i] >= 'a')) + ret |= s[i] - 'a' + 10; + else if((s[i] <= '9') && (s[i] >= '0')) + ret |= s[i] - '0'; + i++; + n--; + } + return(ret); + } + + +/* + * My own strlwr function since this one only exists in win + */ + +char *my_strlwr(char *in) +{ + int i; + + for(i = 0; in[i] != '\0'; i++) + in[i] = tolower(in[i]); + + return(in); +} + + +/* + * My own strupr function since this one only exists in win + */ + +char *my_strupr(char *in) +{ + int i; + + for(i = 0; in[i] != '\0'; i++) + in[i] = toupper(in[i]); + + return(in); +} + + + + diff --git a/src/mkutil/avra-0.8/TODO b/src/mkutil/avra-0.8/TODO index 6be6fe18..8f7505ad 100644 --- a/src/mkutil/avra-0.8/TODO +++ b/src/mkutil/avra-0.8/TODO @@ -1,10 +1,10 @@ -- Hindre bruk av instrusjoner etter .dseg -- Støtt intel hex 32 istedet, da hex8m bare går opp til 64KB -- listfil generering -- Test instruksjoner i henhold til hvilken prosessor som er valgt. -- Støtt atmel generic -- Sjekk ut det med tom fil. -- Legg inn støtte for .def og macroer i get_symbol -- while +- Hindre bruk av instrusjoner etter .dseg +- Støtt intel hex 32 istedet, da hex8m bare går opp til 64KB +- listfil generering +- Test instruksjoner i henhold til hvilken prosessor som er valgt. +- Støtt atmel generic +- Sjekk ut det med tom fil. +- Legg inn støtte for .def og macroer i get_symbol +- while - AVRASM32 compatible parameter interpretation - general bug fixing diff --git a/src/mkutil/bin2avr.exe b/src/mkutil/bin2avr.exe index 0a228564d1862c4627a249d150943f5093e94e27..ece6d92fc95eaddfa655b731079e608d30a85f3e 100644 GIT binary patch delta 40 tcmdmbfMx3emI)7-Eza-Q_*ij0h~CV;fw6!S$gpQ*U|?{bE~vn$0swmW4_*KO delta 40 tcmdmbfMx3emI)7-gECz~?q7 zJQ|0z%eJvLn>I>JQQG`SUuxR^h-iOQZEPVyp;GfBs#=L3Y3nMg>ei?)rApeQxZk;V zW;|;k%1Hj^yWc(M+;h*pvoqHNo=O_h`?vSpMbts^QsWsdW{zuClO6dR zEt(r?I$}#VJVX`v`&)%ne7NnQ&`#CVPMNk5?%zYlN-xoyRYdU`qJG*>3JrcvjYrIg z%Wf9@!8(@!+DomMtZ_eM_iO?2BY*eB<8F#;iAXMKCiQ5~z}}sGid#4|(0_2pfn7%w zPIe?03V!o2T*9?PV% zsf4MlA8JuHw{ME-rqcIt-^Pu~p|q)w>1T9fMCnV7rS+tiQ6ASaSv_SaZS87ntJ>Aw z*{QZ}pxTf-Z7vO`@-5u2*4sTE-&jO9g5(bcAaN;uk<3Vp1ujnoLa;E-!u1aq7B0in zXGF#{A^dM)LAWI1x={~{cOaw@->(}9B*xM#q-${UM{|jUmZ^jE56jJ?FGuS=w64IQ ziak;}leG`5I8|t~9D??d_?9FjAtDn)r<}%B->SSy*k_nr&mb34%y#u?rlc!oW z9tkJ)tobVZxV*LWn#F49l!w=!wWlpsLr04@zIbCj9Iq9)TIdDi`7+B-1U%2w6?fGY z_xL7D+z+J!%F(*w&cLLw%TEixT+=9f%n7$EzEQ>1IN`D7{Im!iEO1h#60hK7iKXHc zM;R)Lkb{Q7N6TkiNR&I7ug-f{>VLjRl7h82Ve2WtvrDr)TPtKXu zWZ^oR`DsR)=(;slQIy)5_8miW#$qNzb{3Nb-oE*1M#|kTbXkFY9~Zh*;tg$Q5wJ!o z6EJbGHKpilSJ9o1tY$r!#Ogb{1m@SGE(MN0SS)c} z>;dJpJ>?g}t{L}Hv`(d#Oe|{PSK7_v&bPUM9W_~&j+#s|OV2fbqf$IhPE^wV-)z~Wh zhWAqgShLVJf;9=Y6>P2O-3BHj?*My1^zL=EgJ5#BV_h23|Y-q*ooydQ(fcs~bQBcfabyI*+x9_&7$y$dEI&wOFMJt! z8JLW`5^S}I@&K5uP#2i2MlaaCqIba2q7FL&_9@Xj?r6`0-2-g}{Sa)GVAsK9#pl3Q z3Xk`|D}-2J^>aKqv>GF1Un1HA6tGp2PSvj^I)>}FM`SHegjNa zw;I;+z3UaZ`^4H+i+xo~52J6H`1TCZ4)D8aAFzQw3tUBU;5}pjSJM}O_tRH^Ylz?E z3S9&?(yxGP=?}nW`Xg{1{TtXqKCJl$@&g~D08pj-fNj(X+)R6b9ds1fNnv0&od)*M zmw?;oW#FUqZQyo#1K3MH1NPBxfc^A4;A8Z6;BLAJ+)K4s$$iuSJU}hLgR~uZh>idU zNe3RL3E<=O67U$k0(^pg3Vf1&0X$A`1H<%ZV1zydCa4}OH%iSwoelz@q6uJ<&H_{P z9Pslr1!bJPg@GV!O)By9t}KtsTkw{A^LU7Wg{b6k79iUEAqopMN@gw`uJ0IBX+z7WhZ8Q*Nt?}R3b)P zfeBOoM&ysutfI#?!_;GuBs;_+#yV3;r8T2RVZW1(7RzW66T=ccfmh3(nY+RB?$^oj9O#<-T@FwI%TOaW^M z<;LzT&6ea|RNClDxzg25Z#qgio6g`6kbr>8iPP0dKS5iLF5+~x(~p)YZS;Ld31jcX z(UOD{$MN?c(&Yj(OR_!?9w3f-F zGPl@t(eR>;JB(G;+g78qgSISsWz9@%jI-fO%#@V~pZWM&%xAOswU#pt!v>F|G+FdY zpLQ$SDcz1@MNTA=x$LOhhRYN%0bfuZp3)jZtiY)WpBnv^#C h!G#T}npAiPFM7QutZi`rZ=jMrJ#t*TpYL3O{{tX%6iWaA diff --git a/src/mkutil/bin2c.exe b/src/mkutil/bin2c.exe index 23be9988cf6b40595bd842dd0d33ebac7f59f945..eef3351bd43b3a4b9c3e24620d504421f283098d 100644 GIT binary patch delta 40 tcmdnIfMxRnmI)7-&Cl=H_*ij1h~CV;fU$rR$gpQ*U|?{bE-1jL1ORQ=4&?v< delta 40 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�rLyffh25$9y8lqwfG9 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 JS-;03{}bY-fj|HN diff --git a/src/mkutil/cpp/cppfiles.obj b/src/mkutil/cpp/cppfiles.obj deleted file mode 100644 index dcd38cf39be66e31687a0c32558322519b82b081..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29765 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 diff --git a/src/mkutil/cpp/cpphash.obj b/src/mkutil/cpp/cpphash.obj deleted file mode 100644 index 2e7d1f1951b1f88a0cdf6129917e57872dfa1604..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12790 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 diff --git a/src/mkutil/cpp/cppinit.obj b/src/mkutil/cpp/cppinit.obj deleted file mode 100644 index 56efab92e66e6d2874dcd77fa6ed9b726369d6b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58103 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

      I_irbZ+jbud?JiRiklrK)jB%{?G?$ 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 diff --git a/src/mkutil/cpp/cppspec.obj b/src/mkutil/cpp/cppspec.obj deleted file mode 100644 index 8172aa29f406fbbcddce3b6e770dd07b7f5ba282..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13785 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 z 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 diff --git a/src/mkutil/cpp/obstack.obj b/src/mkutil/cpp/obstack.obj deleted file mode 100644 index 04aae311a58fde046844f70b7d57984f2ab61b4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6160 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 D+EBi3 diff --git a/src/mkutil/cpp/version.obj b/src/mkutil/cpp/version.obj deleted file mode 100644 index 0128b5a52127f0bd2536de2c3e7d55ed51aa6864..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 807 zcmZ`%v2N5r5FMX61eXx5Kq-O*ixi;?Q8pW&6hfK{F^GUJMB;$TQgpWWP7A)+TKiI@ zq@bjY((nfq)HM7F7_(u7=xMvaDpEhri2}6ZgU;?i@t%(at+sS$oX!0KfD45>d5tXRix8A9TcqfW{I`El~5JT zU-g%l* zre@%?jT-1nn?-jW+T3HF5T1DAJ!Y*;ODz-G&*hSN_(w1g@BYqq+Q_~4pKC?yf@g8~ zhYzqvoBR9%VCYmgjx34;its92#lP=2-~u@=j{j07^!lztLYcNniO@s4ju8n)U)_$q z`lLKu!y$oOnI|HIk`bqd)h{(ge_V&;LN>GTg&qiPvG=0wm7zIJJsZgy>ChNmhr}~& LcW}EuJq-8<)~<*+ diff --git a/src/mkutil/cpp/xexit.obj b/src/mkutil/cpp/xexit.obj deleted file mode 100644 index c4cb62b5fc4a84cf9cc725831819f07915408aae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1070 zcmZuwK~EDw6n@(+1&hUvA|6a&NC;6$$AXa%j6tb2YCs66r<%39JFTNjchj8(tT*w- zAMl`mz@zcxQH>XWf&KyxUi<^#doyh*i7$CG-}m;L+1YvDu2@-kJ6TxzlmQq86Fg`M zUu}yHg=qwzyQDkk9pHiR(#F(gw=`t|{6=z!Ges8j9yrTfiCv{DW?(o?Iqcm{y-s`Oh?64e#Ev~ihTn=5)!vGUdO%nVzL zmE4kT*=(?Kv=z%xwAd5TN@Ubzvva&u;tR9$3%oP~!%qK+84??F9P`&X9CTO%`sHUJ z=L}(it|#k9fyh7(F2aygJZp3SBd%7uekf|qG%kScOyaZLj%+Gd5v5IY^*BllO^GJ5 zEnGFy5fAS8&ucBiV{FUdcFhfCqTZo2k2wtQJ17rd5e@3vj}FSivV5EmGAUcgXs^4Jlz|xfr(8t;OMzTPCx&mYHYOJudgn0b_ zz1sHYOFRy|zr2oDk2;FOBY=iw+UT2-9&h>BAufZ1i98&k#zwCmdz$QNTjc7K(eGzE zm2Huu$;BT&-l!aFsX|GSfqr*WpKXiLh<;lA^7A!94AVk`ZS;D^Dj;E)}4Rt_kfD2P$-HKjy9ocd8|7r9kwnhKi$rwfIp7b9410uqt AxBvhE diff --git a/src/mkutil/cpp/xmalloc.obj b/src/mkutil/cpp/xmalloc.obj deleted file mode 100644 index a610245c347f4e3896805882edb37ed2d654236f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3074 zcmZ`*U2IfE6h7PC-o3ruwp-f}`~fdNC55J!<*y({LFxw47FvFc4>gzlxmzyopL_2@ zA&?L&F}MkdMosj=#E1|2fQd2j!Nh1pi2C4z#F&`yVAPPn14ds+D)l=vbGvtePBPz| zIdkTlGw06CxnmKH_N?gIaVAdm1j%CMYfjET=BO^Mfe?!XJ=GdXvhq&0KE3)tFmkz# zXdUcsMWv=2%`=qTW#uz|CNM%fhOerRk2 z1Q)^e2PV9#5hZCQnKW@&`FAidO+lEzKEs9m8_qk0OugtA-R$;?6dqTKd3emb3KkQQS!AhR(vzDWz+6#cwp+>eQas5YMydFFbx}0A0)6ec zTlQ_AyWjMp%jWe0ciAhgP_1}!w9Z}Lq3w68x$)zqH?t>v$CGv(U5ySkZZ^{ThdlAcZ_%0j zfW@A#^t0dl9aqwG+`AE1LgSFWzmcAsXz+cZ$s>$Mb^@-mG<&K4Xhcb|#-EaI_OwoQ z%-69O!b%f?!MXI@?CCkGCmQ4WWS|6jc%rY(o=#A`>qwf$Up-x1dVX1w-K@g#f`qjcoShu#mP?|$6g~odQvhWEfc!6z(<6%6(~nJ z6Fe+*yMX*HHQEh)5VfBsflGx{0}cr3H6Wj%e)BHpyP&=cXzqwWRv(F?$SaUzKhLyl4b7^4!folXHYdIcD#^S};z189iTO7t$| zD18Ks(Pu!7z5~YTN1#r>0S&qa>=Y-N=r71oaVui<59D^b4b+HFMVt(vPRoEDvum*^aJ<*2W_LpCIA2c diff --git a/src/mkutil/cpp/xstrdup.obj b/src/mkutil/cpp/xstrdup.obj deleted file mode 100644 index ccaad9f64ea95357133299abe18909343b26c0c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1050 zcmZuwO-~b16ur|ar2-{QMB+vrj8T;EENBS9M6k698Y&3ls;1KEYx8tUCo@x0*s>zs zxHjr9aOn>)(VyUoy$K68?i$lr&z+AjB;4fPckg-UzK^+Q*0dyjp2{qLN)TP4z(mcF zrne`L=cLgPxP_83otE3Gd&czUUE{(0Y*l$i;eKIe z##pyK)l>&+w_y}oOKfo*tg2yT$az2{1bRnLPZi9Tj`sQtxGi92NWB?cOGnx}|;uk97h6 ze)D4#Wf_bKx&}YyM-Sl{p9sG*zfz;C@CmvDuhS#=r2q0EVCXqb(*9&-c?I$Hi@UOC zF64w=tNsynd}8p}{tbv4TGTKz0O40mbV8`w$&C>jfTKf|XX<4k>Kg0!yv3Evx6(D% zE=Ok;SFH|M*SL?Y)vre%>H)73UWhXt8ct~Ah?vK^4y@9YP1D{FGjOQVY3^87D}02H zK#1sdj3cVy5y1F#$xrdWJkNm%E8wJ%`WzB6K!Te_RX3voe~$lU5DnhN|JiwC{6CYU Bx0e6_ diff --git a/src/mkutil/cpp/xstrerror.obj b/src/mkutil/cpp/xstrerror.obj deleted file mode 100644 index 3a64b5bc8c60d6822dfb8e24a2540fb585d1b823..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1390 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 YZ{FO(ys{Y!=9iS_70ykWUG#nL-+Uy;@c;k- diff --git a/src/mkutil/cr.obj b/src/mkutil/cr.obj deleted file mode 100644 index 9a3f8405a150cba1e5f282ca540596dee0a4dcd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2806 zcmaJ@TWr%-82;0QkfxWk(3Jt*Fi>Dn)pP|)TiEE$T-)_V*ffelk~*o=+;Hp`m?|*^ zq!zy*_AoSUlP2w9Vv{Bzgr-S!XhY&^rvO1R-`JfBw$* zU(SDy9iP*0TR|gI-+_pWsF94ukIQ0EnG($|Z3THy=oIem8sf*rfEsQbEl4+PL}j>c zmKllzx5HG^!zsay}RTbMT(9EWj+yz93>l}XzCr1f^s622r1lKBip%Mt<3>R;d*!WHZ^gB zNkxiD=cRa<>rKRxQdE?=6QZ1w5^?VBR=%Z$Z|`Vp<6Cx6MNMhNY*nxrbOHCG#pa0l zrMQQjHEe=x6&-##9ArWzI%P<~gsEBxkMj9E^Ki;yEHNckLdrl=A=x5T=q;dkw-!-S zoEaCrJ9LyBgGU;>6s-`*XR~gEs0Lg zJR&8o2@697+pMtcnIBkAKg}!0HSa0DlEG90SZa?iYXG5yS~)M~=g z5L2z%FMAhfz029#FB!5uugJOs@r&uFZnawTE{#O03R5sMELy3v^Q9S>xlp_HBrWCA zotcK0)#BPZr=lQ($*QsCFE8l?2Nv{Lh8|tJtfa`G8(Kg^( zoqY;q9!~w8HvGOq-|+hu%<#Jpwnq2+16Yr%j+TM1>CB0j#PF*DtJAghVEP}A8o`W+ zJz%R~by6po5!(l5#GU~2=&^B&eF0XjYquNWS5vwfL2*y5Jb<_!F zjtgdt`yp6`ZjD%0#j+Y-X!eDy)N@qp`;~`yD646Y9ybWAr<1@n6aucLbHE0g1HMUD zfE(y4a1(t4+)OusTj(Zm8{GnKryqb#^dqpDegn2r7PyO^0QZm`vumR&U^}e?b`THj zq}{;%)D3)xjsd%97}!G+u#Y|l9;8ozhv{qJQMwL1M&AMZ={9hXegY2D@4!)d2=vlF z!1pN+{D5p&g>k9^inJCOrky~Ex`7co28@yjjMEulf<6MC(RUJ=)RaFgc5+)%+{tG7 z6c@sV#PK}u#)L?XPsS6|aV|A2DZvTmlG>xm*AK#{ML0R-GBBzM4WJ31K=k$0& zdaQdr{W{Tizy-cB{HlF(D%jS-C&vT-KH=HOY*4i4dCb9vJvC_b3)mIJj>${o&dqMh z!^e&@M)53yrN9%|T5z`RrRNY)?5vru=t` +IFNB +IFDIF , +IFDIF , + MOV DX,OFFSET CNTRY&&DL_DIR + CALL CHECK_DIR +ENDIF +ENDIF +ENDIF + ENDM + ENDM +INCLUDE COUNTRY.INC +IF 0 ; NOW USING C:\OFFICE RATHER THAN C:\POSOF + MOV B POSOF_FLAG,1 + MOV DX,OFFSET POSOF_DIR + CALL CHECK_DIR +ENDIF +endif + XOR AL,AL ; RETURN CODE + JMP EXIT + +CHECK_DIR: +if 0 ; allow download directory to be passed on command line or use current +IF 1 ; WE WILL ONLY CRC THE CURRENTLY SELECTED COUNTRY + MOV AX,DS:[2CH] + MOV ES,AX + SUB DI,DI + +CHECK_ENV: + MOV SI,OFFSET COUNTRY_STR + MOV CX,COUNTRY_LEN + REPZ CMPSB + JNZ NEXT_ENV + + MOV SI,DX + INC SI + MOV CX,3 +CHECK_COUNTRY: + LODSB + MOV AH,ES:[DI] + INC DI + AND AX,0DFDFH + CMP AL,AH + LOOPZ CHECK_COUNTRY + JZ CORRECT_ENV + +BAD_ENV: + PUSH CS + POP ES + RET + +NEXT_ENV: + DEC DI + MOV CX,-1 + SUB AL,AL + REPNZ SCASB + + SCASB + JZ BAD_ENV + DEC DI + JMP CHECK_ENV + +COUNTRY_STR DB 'COUNTRY=' +COUNTRY_LEN EQU $-COUNTRY_STR + +CORRECT_ENV: + PUSH CS + POP ES +ENDIF + + MOV SI,DX + INC SI + MOV DI,OFFSET DIR_ID_BUF+4 + PUSH SI + MOV CX,3 + REP MOVSB + POP SI + MOV DI,OFFSET DIR_ID_DATE+7 + MOV CX,3 + REP MOVSB +else + mov bx,dx + cmp b [bx],0 ; null directory string given? + jz @@f0 +endif + + MOV AH,3BH ; SET CURRENT DIRECTORY + INT 21H + JNC @@F0 +IF 1 ; SHOW DIRECTORY NOT FOUND MESSAGE + MOV SI,DX + MOV DI,OFFSET BADDIRDISC+2 +@@F2: LODSB + STOSB + OR AL,AL + JNZ @@F2 + MOV BX,OFFSET BADDIR + JMP ERROR_EXIT +ELSE + RET +ENDIF +@@F0: + +if 1 ; test whether lzw directory exists and use if present, never create it + mov ah,4eh + mov cx,10h ; directory bit set + mov dx,offset LZW_ + int 21h ; search first (result in dta) + + mov b LZW_FLAG,0 + jc @@skip + test b DTA+15h,10h ; is it a directory? + jz @@skip + mov b LZW_FLAG,-1 +@@skip: +else +IF 1 ; ENSURE LZW DIRECTORY EXISTS, IF REQUIRED + CMP B LZW_FLAG,0 + JZ @@L00 + MOV AH,39H + MOV DX,OFFSET LZW_ + INT 21H ; CREATE DIRECTORY EVEN IF ALREADY +@@L00: +ENDIF +endif + + MOV SI,OFFSET CHECKSUM1 + CALL CHECKSUM01 + MOV B CRC_INSTANCE,0 +if 0 ; allow download directory to be passed on command line or use current + CMP B POSOF_FLAG,0 + JNZ @@INSTANCE +endif + CALL @@INSTANCE + MOV SI,OFFSET CHECKSUM0 + CALL CHECKSUM01 + MOV B CRC_INSTANCE,1 +@@INSTANCE: + + ; READ CRC.DAT + MOV AX,3D00H ; OPEN FOR READ + MOV DX,OFFSET CRCDAT + CMP B CRC_INSTANCE,0 + JZ @@I0 + MOV DX,OFFSET CHECKSUMDAT +@@I0: INT 21H + JNC @@L4 + JMP OPEN_ERROR +@@L4: MOV W IHANDLE,AX + MOV W IHANDLE+2,DX + MOV BX,AX + MOV AX,4202H ; PTR / FILE END + XOR CX,CX + XOR DX,DX + INT 21H + OR DX,DX + JZ @@D0 +@@D1: MOV BX,OFFSET BADCRCDAT + JMP ERROR_EXIT +@@D0: CMP AX,CRCDAT_SIZE + JA @@D1 + PUSH AX + CALL POINT_00 + POP CX + MOV DX,OFFSET CRCDAT_BUFFER + MOV AH,3FH ; READ + INT 21H + JNC @@D2 + JMP READ_ERROR +@@D2: PUSH AX + CALL CLOSE_FILES + POP BX + MOV B CRCDAT_BUFFER[BX],0 ; FLAG END OF FILE + MOV W CRCDAT_PTR,OFFSET CRCDAT_BUFFER + + ; READ CHECKSUM IF IT EXISTS + MOV B CHECKSUM_DIRTY,0 + MOV AX,3D00H ; OPEN FOR READ + MOV DX,OFFSET CHECKSUM + INT 21H + JNC @@E4 +@@E7: MOV B CHECKSUM_DIRTY,-1 + MOV AX,16 ; OFFSET OF EOF + MOV DI,OFFSET CHECKSUM_BUFFER+4 + MOV SI,OFFSET DEFAULT_DATE + MOV CX,6 + REP MOVSW + JMPS @@E5 +@@E4: MOV W IHANDLE,AX + MOV W IHANDLE+2,DX + MOV BX,AX + MOV AX,4202H ; PTR / FILE END + XOR CX,CX + XOR DX,DX + INT 21H + OR DX,DX + JZ @@E0 +@@E1: MOV BX,OFFSET BADCRC + JMP ERROR_EXIT +@@E0: CMP AX,CHECKSUM_SIZE + JA @@E1 + PUSH AX + CALL POINT_00 + POP CX + MOV DX,OFFSET CHECKSUM_BUFFER + MOV AH,3FH ; READ + INT 21H + JNC @@E2 + JMP READ_ERROR +@@E2: PUSH AX + CALL CLOSE_FILES + POP AX +@@E5: ADD AX,OFFSET CHECKSUM_BUFFER + CALL FIX_EOF + MOV W CHECKSUM_EOF,AX + MOV W CHECKSUM_PTR,OFFSET CHECKSUM_BUFFER+16 + +L8: ; SAVE CHECKSUM DATE TO ORIG_DATE + CALL PACK_NEWEST_DATE + MOV W ORIG_DATE_CX,CX + MOV W ORIG_DATE_DX,DX + +L9: MOV B FILE_DIRTY,0 + MOV SI,W CRCDAT_PTR +@@L0: CALL SKIP_BLANK + JZ BADCRCD + LODSB + CALL UCASE + OR AL,AL + JNZ @@L1 +@@L99: JMP L99 +@@L1: MOV B FILENAME_BUF,AL + CMP AL,'U' + JZ U_FILE + CMP AL,'C' + JZ CDS_FILE + CMP AL,'D' + JZ CDS_FILE + CMP AL,'E' + JZ E_FILE + CMP AL,'S' + JZ CDS_FILE +BADCRCD: + MOV BX,OFFSET BADDATFORMAT + JMP ERROR_EXIT +GET_FILENAME: + CALL SKIP_BLANK + JZ BADCRCD + CMP B [SI+1],':' + JNZ BADCRCD + LEA AX,[SI+2] +GET_BLANK_FILENAME: + MOV W CURRENT_FILENAME_PTR,AX + MOV DI,OFFSET FILENAME_BUF+1 + MOV CX,15 +@@L2: LODSB + CMP AL,0DH + JZ @@L0 + STOSB + LOOP @@L2 + JMPS BADCRCD +@@L0: XOR AL,AL +@@L4: STOSB + LOOP @@L4 + DEC SI + MOV B [SI],0 +@@L1: INC SI + CMP B [SI],0AH + JZ @@L1 + MOV W NEXT_CRCDAT_PTR,SI + RET +U_FILE: CALL GET_FILENAME + CALL L911 + ADD W CHECKSUM_PTR,20 + JMP L98 +E_FILE: CALL SKIP_BLANK + JNZ CDS_FILE + MOV B FILENAME_BUF,1AH ; ^Z MARKER TO HIDE SUBSEQUENT E FILES + MOV AX,SI + CALL GET_BLANK_FILENAME + CALL L911 + MOV B DTA+1EH,0 + ADD W CHECKSUM_PTR,20 + JMP L98 +CDS_FILE: + CALL GET_FILENAME + XOR CX,CX + MOV W FOUND_COUNT,0 +L94: MOV AH,4EH ; FIND FIRST + MOV CX,W FOUND_COUNT + INC CX +@@L1: PUSH CX + XOR CX,CX + MOV DX,W CURRENT_FILENAME_PTR + INT 21H + POP CX + JC L97 + MOV AH,4FH ; FIND NEXT + LOOP @@L1 +@@L0: MOV B FILE_DIRTY,0 + INC W FOUND_COUNT + MOV SI,OFFSET DTA+1EH + MOV DI,OFFSET FILENAME_BUF+3 + MOV CX,13 +@@L2: LODSB + OR AL,AL + JZ @@L4 + STOSB + LOOP @@L2 + POP AX ; KILL RETURN ADDRESS + JMP BADCRCD +@@L4: STOSB + LOOP @@L4 + CALL L911 + CALL L951 +L940: ADD W CHECKSUM_PTR,20 + JMPS L94 +L97: MOV AX,0 +FOUND_COUNT EQU THIS WORD-2 + OR AX,AX + JNZ L98 + ; SEE IF IT'S \xxxDL\OFFICE.DAT +if 0 ; allow download directory to be passed on command line or use current + CMP B POSOF_FLAG,0 + JNZ @@L0 +endif + MOV SI,W CURRENT_FILENAME_PTR + MOV DI,OFFSET OFFICE_DAT +@@L1: CMPSB + JNZ @@L0 + CMP B [SI-1],0 + JNZ @@L1 + INC W FOUND_COUNT + MOV SI,OFFSET OFFICE_DAT + MOV DI,OFFSET FILENAME_BUF+3 + MOV CX,11 + REP MOVSB + CALL L911 + JMPS L940 +@@L0: JMP NOT_FOUND_ERROR + +L98: MOV SI,0 +NEXT_CRCDAT_PTR EQU THIS WORD-2 + MOV W CRCDAT_PTR,SI + JMP L9 +L99: MOV BX,0 +CHECKSUM_PTR EQU THIS WORD-2 + CMP BX,W CHECKSUM_EOF + JZ L10 + CMP B CHECKSUM_DIRTY,0 + JNZ @@L0 + CMP B [BX],1AH + JZ L10 + MOV B CHECKSUM_DIRTY,-1 +@@L0: MOV W CHECKSUM_EOF,BX +L10: CMP B CHECKSUM_DIRTY,0 + JZ @@L2 + CALL CRLF + MOV DX,OFFSET CHECKSUM + CALL L9MES + MOV DI,W CHECKSUM_EOF + MOV AX,OFFSET CHECKSUM_BUFFER + CALL PAD + MOV W CHECKSUM_EOF,DI + MOV CX,DI + MOV SI,OFFSET CHECKSUM_BUFFER+4 + SUB CX,SI + MOV AX,-1 ; SEED + CALL ADDCRC + MOV DI,OFFSET CHECKSUM_BUFFER + CALL HEXW + MOV AH,3CH ; CREATE + XOR CX,CX + MOV DX,OFFSET CHECKSUM + INT 21H + JNC @@L5 + JMP OPEN_ERROR +@@L5: MOV W OHANDLE,AX + MOV W OHANDLE+2,DX + XCHG BX,AX + CALL POINT_00 + MOV AH,40H ; WRITE + MOV CX,W CHECKSUM_EOF + MOV DX,OFFSET CHECKSUM_BUFFER + SUB CX,DX + INT 21H + JNC @@L0 +@@L1: JMP WRITE_ERROR +@@L0: CMP AX,CX + JNZ @@L1 + CALL SET_NEWEST_DATE + CALL CLOSE_FILES + CMP B CHECKSUM_DIRTY,0 + JZ @@RET + CALL MAKE_DIR_ID +@@L2: ; CHECK THAT LZW\CHECKSUM EXISTS AND IS NEWER THAN CHECKSUM +if 0 ; allow download directory to be passed on command line or use current + CMP B POSOF_FLAG,0 + JNZ @@RET +endif + CMP B LZW_FLAG,0 + JZ @@RET + MOV SI,OFFSET CHECKSUM + CALL LZW_FILE + MOV B CHECKSUM_DIRTY,0 +@@RET: RET + +L951: +IF 1 + ; IF IT'S 'CRC', IGNORE DATE AND REDO IT ANYWAY + MOV SI,W CURRENT_FILENAME_PTR + MOV DI,OFFSET CRC_ +@@L1: CMPSB + JNZ @@L2 + CMP B [SI-1],0 + JNZ @@L1 + JMPS L9512 +@@L2: +ENDIF + MOV DX,0 +ORIG_DATE_DX EQU THIS WORD-2 + CMP DX,W DTA+18H + JNZ @@L0 + MOV CX,0 +ORIG_DATE_CX EQU THIS WORD-2 + CMP CX,W DTA+16H +@@L0: JC L9512 + CMP B FILE_DIRTY,0 + JNZ L9512_0 ; NEW INSERTION IN CHECKSUM + JMP L95111 +L9512: MOV B FILE_DIRTY,-1 + CALL PACK_NEWEST_DATE + CMP DX,W DTA+18H + JNZ @@L0 + CMP CX,W DTA+16H +@@L0: JNC L9512_0 + CALL SET_NEW_NEWEST_DATE +L9512_0: + MOV B CHECKSUM_DIRTY,-1 + MOV W CRC_SO_FAR,-1 + + MOV AX,3D02H ; OPEN FOR READ/WRITE + MOV DX,OFFSET DTA+1EH + INT 21H + JNC @@L4 + JMP OPEN_ERROR +@@L4: MOV W IHANDLE,AX + MOV W IHANDLE+2,DX + MOV W OHANDLE,AX + MOV W OHANDLE+2,DX + XOR AX,AX + MOV W IPTR,AX + MOV W IPTR+2,AX + MOV B EOF,AL + JMPS @@L1 +@@L0: XCHG CX,AX + MOV SI,OFFSET READBUF + MOV AX,W LAST_IPTR_L + OR AX,W LAST_IPTR_H + JNZ @@L2 + CMP B FILENAME_BUF,'C' + JZ @@L2 + ADD SI,4 + SUB CX,4 + CMP B FILENAME_BUF,'D' + JNZ @@L2 + MOV DI,OFFSET READBUF+4 + CALL EXPAND_DATE +@@L2: MOV AX,0 +CRC_SO_FAR EQU THIS WORD-2 + JCXZ @@L3 + CALL ADDCRC + MOV W CRC_SO_FAR,AX + CMP B EOF,0 + JNZ @@L3 +@@L1: CALL INBLOCK + CMP B EOF,0 + JZ @@L0 + PUSH AX + MOV DI,AX + MOV AX,OFFSET READBUF + ADD DI,AX + CALL PAD + POP AX + JZ @@L0 + SUB DI,OFFSET READBUF + MOV CX,DI + CALL OUTINBLOCK + JMPS @@L0 +@@L3: MOV DI,W CHECKSUM_PTR + ADD DI,16 + PUSH AX + CALL HEXW + POP AX + CMP B FILENAME_BUF,'C' + JZ @@L5 + PUSH AX + MOV W IPTR,0 + MOV W IPTR+2,0 + CALL INBLOCK + XCHG CX,AX + POP AX + MOV DI,OFFSET READBUF + CALL HEXW + CMP B FILENAME_BUF,'D' + JNZ @@L8 + CALL EXPAND_DATE +@@L8: CALL OUTINBLOCK +@@L5: MOV CX,W DTA+16H + MOV DX,W DTA+18H + MOV BX,W IHANDLE + CALL SET_DATE + MOV W OHANDLE,0 + CALL CLOSE_FILES + MOV B FILE_DIRTY,0 +L95111: CMP B LZW_FLAG,0 + JZ @@RET + MOV SI,OFFSET DTA+1EH + JMP LZW_FILE +@@RET: RET + +FIX_EOF: + MOV BX,AX +@@L2: CMP B [BX-1],1AH + JNZ @@L1 + DEC BX + JMPS @@L2 +@@L1: MOV AX,BX + PUSH AX + SUB AX,OFFSET CHECKSUM_BUFFER+16 + XOR DX,DX + MOV CX,20 + DIV CX + POP AX + OR DX,DX + JZ @@RET + SUB DX,20 + NEG DX + SUB AX,DX +@@RET: RET + +L9TST: PUSH SI + PUSH DI + MOV CX,16/2 + REP CMPSW + POP DI + POP SI + RET + +L911: MOV SI,OFFSET FILENAME_BUF + MOV DI,W CHECKSUM_PTR + CMP DI,W CHECKSUM_EOF + JZ @@L4 + CALL L9TST + JZ @@RET +@@L1: ADD DI,20 + CMP DI,W CHECKSUM_EOF + JZ @@L9113 + CALL L9TST + JNZ @@L1 +@@L9112: + MOV SI,DI +@@L2: CMP SI,W CHECKSUM_PTR + JZ @@L9114 + MOV DI,SI + SUB DI,20 + MOV CX,10 +@@L5: LODSW + XCHG AX,W [DI] + INC DI + INC DI + MOV W [SI-2],AX + LOOP @@L5 + SUB SI,40 + JMPS @@L2 +@@L9113: + MOV DI,W CHECKSUM_EOF +@@L3: CMP DI,W CHECKSUM_PTR + JZ @@L4 + MOV SI,DI + SUB SI,20 + MOV CX,10 + REP MOVSW + SUB DI,40 + JMPS @@L3 +@@L4: MOV SI,OFFSET FILENAME_BUF + MOV CX,16/2 + REP MOVSW + MOV AX,3030H + STOSW + STOSW + ADD W CHECKSUM_EOF,20 + CALL L9MESS + MOV B FILE_DIRTY,-1 +@@L9114: + MOV B CHECKSUM_DIRTY,-1 +@@RET: RET + +L9MESS: CALL CRLF + MOV DX,W CRCDAT_PTR + CMP B FILENAME_BUF,'U' + JZ L9MES + CMP B FILENAME_BUF,'E' + JZ L9MES + CMP B FILENAME_BUF,1AH ; ^Z MARKER TO HIDE SUBSEQUENT FILES + JZ L9MES + MOV SI,DX +@@L0: LODSB + CALL PRCHR + CMP SI,W CURRENT_FILENAME_PTR + JC @@L0 + MOV DX,OFFSET DTA+1EH +L9MES: CALL PRMESS + MOV AL,' ' +PRCHR: MOV DL,AL + MOV AH,2 + INT 21H + RET + +PAD: SUB AX,DI + NEG AX + AND AL,7FH + JZ @@L0 + MOV CX,80H + SUB CL,AL + MOV AL,1AH + REP STOSB +@@L0: RET + +POINT_00: + MOV AX,4200H ; PTR / FILE START + XOR CX,CX + XOR DX,DX + INT 21H + RET + +SET_NEWEST_DATE: + CALL PACK_NEWEST_DATE +SET_DATE: +if 0 ; completely disable all clever business with file time/date stamps + MOV AX,5701H ; SET DATE + INT 21H +endif + RET + +SET_NEW_NEWEST_DATE: + MOV DI,OFFSET CHECKSUM_BUFFER+4 +EXPAND_DATE: + PUSH CX + MOV DX,W DTA+18H + MOV CX,7 + CALL SNNL + ADD AL,80 + CMP AL,100 + JB @@NY2K + SUB AL,100 +@@NY2K: CALL DECBAL + MOV CL,4 + CALL SNNL + CALL DECBAL + MOV CL,5 + CALL SNNL + CALL DECBAL + MOV DX,W DTA+16H + MOV CL,5 + CALL SNNL + CALL DECBAL + MOV CL,6 + CALL SNNL + CALL DECBAL + MOV CL,5 + CALL SNNL + SHL AL,1 +; OR AL,1 ; OMIT TO BE LIKE CALCCRC.EXE + POP CX +DECBAL: MOV BL,AL + MOV AH,1 +DECB: ; IF AH=0 PRINT BLANK FOR LEADING 0 + ; 1 PRINT LEADING 0 + CMP BL,100 + JC @@L1 + MOV AL,'1' + STOSB + SUB BL,100 + MOV AH,1 +@@L1: MOV AL,2FH +@@L0: INC AL + SUB BL,10 + JNC @@L0 + CMP AL,'0' + JNZ @@L2 + OR AH,AH + JNZ @@L2 + MOV AL,' ' +@@L2: STOSB + MOV AL,BL + ADD AL,'0'+10 + STOSB + RET + +SNNL: XOR AL,AL +@@L0: SHL DX,1 + RCL AL,1 + LOOP @@L0 + RET + +PACK_NEWEST_DATE: + MOV SI,OFFSET CHECKSUM_BUFFER+4 + CALL UNDECB + SUB AX,80 + JNC @@NY2K + ADD AX,100 +@@NY2K: MOV DH,AL + CALL UNDECB + MOV DL,AL + MOV CL,4 + SHL DL,CL + SHL DX,1 + CALL UNDECB + OR DX,AX + CALL UNDECB + MOV CH,AL + CALL UNDECB + MOV CL,AL + SHL CL,1 + SHL CL,1 + SHL CX,1 + SHL CX,1 + SHL CX,1 + CALL UNDECB + SHR AX,1 + OR CX,AX + RET + +UNDECB: LODSB + SUB AL,'0' + MOV AH,10 + MUL AH + ADD AL,B [SI] + INC SI + SUB AL,'0' + RET + +; ----------------------------------------------------------------------------- + +LZW_FILE: + ; ENTER WITH SI --> FILENAME + PUSH SI + + MOV DI,OFFSET IFILE +@@L3: LODSB + STOSB + OR AL,AL + JNZ @@L3 + + MOV SI,OFFSET IFILE + MOV DI,OFFSET OFILE0 + MOV CX,-1 +@@L5: LODSB + STOSB + INC CX + OR AL,AL + JNZ @@L5 + MOV SI,DI + DEC SI + DEC SI + STD + MOV DX,1 +@@C0: LODSB + INC DX + LOOP @@C2 + JMPS @@C1 +@@C2: CMP AL,'\' + JNZ @@C0 + DEC DX +@@C1: MOV SI,DI + ADD DI,3 + DEC SI + MOV CX,DX + REP MOVSB + INC SI + MOV DI,SI + MOV SI,OFFSET LZWMESS + CLD + MOVSW + MOVSW + MOV CX,DI + MOV SI,OFFSET OFILE0 + SUB CX,SI + MOV DI,OFFSET OFILE1 + REP MOVSB + MOV SI,OFFSET TEMPNAM + MOV CX,4 + REP MOVSW + + POP AX + CMP AX,OFFSET CHECKSUM + JNZ @@J2 + CMP B CHECKSUM_DIRTY,0 + JNZ @@J0 +@@J2: PUSH W DTA+16H + PUSH W DTA+18H + MOV AH,4EH ; FIND FIRST + XOR CX,CX + MOV DX,OFFSET OFILE0 + INT 21H + POP DX + POP CX + JC @@J0 + CMP DX,W DTA+18H + JNZ @@J1 + CMP CX,W DTA+16H +@@J1: JA @@J0 + RET +@@J0: + + MOV AL,12 + MOV B MAXB,AL +IF OPTIMISE + MOV W FEWEST_OBYTES,-1 + MOV W FEWEST_OBYTES+2,-1 +ENDIF + +WL0: CALL COMPRESS + +IF OPTIMISE + MOV AX,W TOBYTES + MOV DX,W TOBYTES+2 + MOV CX,DX + CMP AX,W FEWEST_OBYTES + SBB CX,W FEWEST_OBYTES+2 + JNC WL1 + MOV W FEWEST_OBYTES,AX + MOV W FEWEST_OBYTES+2,DX +ENDIF + + MOV AH,41H ; DELETE FILE + MOV DX,OFFSET OFILE0 + INT 21H + MOV AH,56H ; RENAME FILE + MOV DX,OFFSET OFILE1 + MOV DI,OFFSET OFILE0 + INT 21H + +IF OPTIMISE + MOV AL,B MAXB + MOV B BEST_MAXB,AL + DEC AL + CMP AL,9 + JC WL1 + MOV B MAXB,AL + JMP WL0 +ENDIF + +WL1: MOV AH,41H ; DELETE FILE + MOV DX,OFFSET OFILE1 + INT 21H + +IF OPTIMISE + MOV DI,OFFSET BESTMESS+9 + MOV BL,B BEST_MAXB + MOV B MAXB,BL + XOR AH,AH + CALL DECB + MOV DX,OFFSET BESTMESS + CALL PRMESS +ENDIF + +IF TEST_OUTPUT + ; NOW VERIFY DECOMPRESSION + CALL XPAND +ENDIF + + RET + +; ----------------------------------------------------------------------------- + +MAKE_DIR_ID: +if 0 ; allow download directory to be passed on command line or use current + CMP B POSOF_FLAG,0 + JNZ @@RET +endif + + MOV SI,OFFSET CHECKSUM_BUFFER+4 + MOV DI,OFFSET DIR_ID_DATE + MOV CX,6/2 + REP MOVSW + + MOV AH,3CH ; CREATE + XOR CX,CX + MOV DX,OFFSET DIR_ID + INT 21H + JNC @@L0 + JMP OPEN_ERROR +@@L0: MOV W OHANDLE,AX + MOV W OHANDLE+2,DX + + XCHG BX,AX + MOV AH,40H ; WRITE + MOV CX,DIR_ID_LEN + MOV DX,OFFSET DIR_ID_BUF + INT 21H + JNC @@L1 +@@L2: JMP WRITE_ERROR +@@L1: CMP AX,CX + JNZ @@L2 + + CALL SET_NEWEST_DATE + + XOR BX,BX + XCHG BX,W OHANDLE + MOV AH,3EH + INT 21H + +@@RET: RET + +DIR_ID DB 'DIR.ID',0 +DIR_ID_BUF DB 'REN xxxDL ' +DIR_ID_DATE DB '940310.xxx',0DH,0AH +DIR_ID_LEN EQU $-DIR_ID_BUF + +; ----------------------------------------------------------------------------- + +;/* MODIFIED This is the new compression routine. The first two 9-bit codes +; * have been reserved for communication between the compressor and expander. +; */ +;compress(FILE *input, FILE *output) +COMPRESS: + MOV AX,3D00H ; OPEN FOR READ + MOV DX,OFFSET IFILE + INT 21H + JNC @@L4 + JMP OPEN_ERROR +@@L4: MOV W IHANDLE,AX + MOV W IHANDLE+2,DX + MOV BX,AX + MOV AX,4202H ; PTR / FILE END + XOR CX,CX + XOR DX,DX + INT 21H + MOV W INLEN,AX + MOV W INLEN+2,DX + XOR AX,AX + MOV W IPTR,AX + MOV W IPTR+2,AX + MOV B EOF,AL + CALL INBLOCK + + MOV AH,3CH ; CREATE + XOR CX,CX + MOV DX,OFFSET OFILE1 + INT 21H + JNC @@L5 + JMP OPEN_ERROR +@@L5: MOV W OHANDLE,AX + MOV W OHANDLE+2,DX + XOR AX,AX + MOV W OPTR,AX + MOV W OPTR+2,AX + MOV W OUTBYTES,AX + MOV DI,OFFSET WRITEBUF + + XOR AX,AX + MOV W INDAT,AX + MOV W OUTDAT,800H + MOV W IBYTES,AX + MOV B IBYTES+2,AL + MOV W OBYTES,AX + MOV B OBYTES+2,AL + MOV W TIBYTES,AX + MOV B TIBYTES+2,AL + MOV W TOBYTES,AX + MOV B TOBYTES+2,AL + MOV B CHKPNT,CHKCNT+1 + MOV B RATIO,100 + + MOV AL,B MAXB + SUB AL,8 + MOV B HSHIFT,AL +;{ +; unsigned int next_code=FIRST_CODE; + MOV W NXTCOD,CODE1 +; unsigned int character; +; unsigned int string_code; +; unsigned int index; +; int i, /* All purpose integer */ +; ratio_new, /* New compression ratio as a percentage */ +; ratio_old=100; /* Original ratio at 100% */ +; +; putc(maxbits, output); +IF OPTIMISE + MOV AL,B MAXB + CALL OUTPUT +ENDIF +; num_bits=INIT_BITS; +; max_code = MAXVAL(num_bits); /* Initialize max_value & max_code */ + MOV CL,INITB + CALL MAXVAL +; +; for (i=0;i max_code) { /* Is table full? */ + MOV AX,W NXTCOD + CMP AX,W MAXCOD +; JBE @@L6 + JA @@L60 + JMP CPL0 +@@L60: +; if (num_bits < maxbits) { /* Any more bits? */ + MOV CL,B NBITS + CMP CL,B MAXB + JAE @@L8 +;/* putchar('+'); */ +; max_code = MAXVAL(++num_bits); /* Increment code size then */ + INC CL + CALL MAXVAL +; JMPS @@L6 + JMP @@L6 +; } +@@L8: +; else if (bytes_in > checkpoint) { /* At checkpoint? */ + CMP B CHKPNT,0 + JNZ @@L6 +; if (num_bits == maxbits && next_code > max_code) { + MOV AL,B NBITS + CMP AL,B MAXB + JNZ @@L9 + MOV AX,W NXTCOD + CMP AX,W MAXCOD + JBE @@L9 + +; ratio_new = bytes_out*100/bytes_in; /* New compression ratio */ + MOV BX,OFFSET IBYTES + CALL GETRAT +;CALL SHOW_RATIO +; if (ratio_new > ratio_old) { /* Has ratio degraded? */ + CMP AL,B RATIO + JBE @@L11 +; output_code(output,CLEAR_TABLE); /* YES, flush string table */ + MOV AX,CLRTAB + CALL OUTPUT_CODE +;/* putchar('C'); */ +; next_code=FIRST_CODE; /* Reset to FIRST_CODE */ + MOV W NXTCOD,CODE1 +; num_bits=INIT_BITS; +; max_code = MAXVAL(num_bits); /* Re-initialize this */ + MOV CL,INITB + CALL MAXVAL +; bytes_in = bytes_out = 0; + XOR AX,AX + MOV W IBYTES,AX + MOV B IBYTES+2,AL + MOV W OBYTES,AX + MOV B OBYTES+2,AL +; ratio_old=100; /* Reset compression ratio */ + MOV B RATIO,100 +; for (i=0;i,<1> + MOV CX,CNT +ENDIF +@@L0: ADD BX,BX + ADC AL,AL +IFDIF ,<1> + LOOP @@L0 +ENDIF + ENDM + +GETRAT: MOV AH,[BX+2] + PUSH AX + MOV DX,[BX] + MOV AL,[BX+5] + MOV BX,[BX+3] + ; xOBYTES IN AL:BX + GRSHL 2 + PUSH AX ; * 4 + PUSH BX + GRSHL 3 + PUSH AX ; *32 + PUSH BX + GRSHL 1 ; *64 + POP CX + ADD BX,CX + POP CX + ADC AL,CL + POP CX + ADD BX,CX + POP CX + ADC AL,CL + ; xOBYTES*100 + POP CX + ; xIBYTES IN CH:DX + +IF 0 + PUSH CX + PUSH DX + SHR CH,1 + RCR DX,1 + ; xIBYTES/2 + ADD BX,DX + ADC AL,CH + POP DX + POP CX +ENDIF + + MOV CL,-1 +@@L0: INC CL + SUB BX,DX + SBB AL,CH + JNS @@L0 + XCHG AX,CX + RET + +; ----------------------------------------------------------------------------- + +IF TEST_OUTPUT +XPAND: MOV AX,3D00H ; OPEN FOR READ + MOV DX,OFFSET OFILE0 + INT 21H + JNC @@L4 + JMP OPEN_ERROR +@@L4: MOV W IHANDLE,AX + MOV W IHANDLE+2,DX + XOR AX,AX + MOV W IPTR,AX + MOV W IPTR+2,AX + MOV B EOF,AL + CALL INBLOCK + + MOV AH,3CH ; CREATE + XOR CX,CX + MOV DX,OFFSET TESTOUT + INT 21H + JNC @@L5 + JMP OPEN_ERROR +@@L5: MOV W OHANDLE,AX + MOV W OHANDLE+2,DX + XOR AX,AX + MOV W OPTR,AX + MOV W OPTR+2,AX + MOV W OUTBYTES,AX + MOV DI,OFFSET WRITEBUF + +IF OPTIMISE + CALL INPUT + MOV B MAXB,AL +ENDIF + CALL INPUT + MOV AH,8 + MOV W INDAT,AX + + MOV CL,INITB + CALL MAXVAL + +;expand(FILE *input, FILE *output) +;{ +; unsigned int next_code=FIRST_CODE; + MOV W (NXTCOD),CODE1-1 +; unsigned int new_code; +; unsigned int old_code; +; int character, +;; counter=0, +; clear_flag=1; /* Need to clear the code value array */ + MOV B (CLRFLG),1 +; unsigned char *string; +; char *decode_string(unsigned char *buffer, unsigned int code); +; +; printf("Expanding\n"); +; + CALL XPL0 + JMP CLOSE_FILES + +XPL2: +; clear_flag=0; + MOV B (CLRFLG),0 +; old_code=new_code; /* The next three lines have been moved */ + MOV W (OLDCOD),DX +; character=old_code; /* from the original */ + MOV BX,OFFSET CHAR + MOV [BX],DL +; putc(old_code,output); + MOV AL,DL + CALL OUTPUT +; continue; +; } + JMPS XPL0 + +XPL3: +; clear_flag=1; + MOV B (CLRFLG),1 +; num_bits=INIT_BITS; +; max_code = MAXVAL(num_bits); + MOV CL,INITB ; INIT BITS + CALL MAXVAL +; next_code=FIRST_CODE; + MOV W (NXTCOD),CODE1-1 +; putchar('C'); +; continue; +; } +; while ((new_code=input_code(input)) != TERMINATOR) { +XPL0: +;unsigned input_code(FILE *input) +;{ +; unsigned int return_value; + + MOV CL,B (NBITS) + XOR CH,CH + MOV AX,(INDAT) + CMP AH,8 + JZ ICL0 + XOR DX,DX ; RETURN VALUE + +ICL1: SHL AL,1 + ADC DX,DX + DEC AH + JZ ICL2 + LOOP ICL1 + JMPS ICL4 +ICL0: MOV DL,AL + XOR DH,DH + SUB CX,7 ; 8, BUT LOOP BELOW +ICL2: CALL INPUT + MOV AH,8 + LOOP ICL1 +ICL4: MOV (INDAT),AX +;} + + MOV W (NEWCOD),DX + CMP DX,TERM + JNZ @@L0 + RET +@@L0: +; if (clear_flag) { /* Initialize or re-initialize */ + CMP B (CLRFLG),0 + JNZ XPL2 +; if (new_code == CLEAR_TABLE) { /* Clear string table */ + CMP DX,CLRTAB + JZ XPL3 +;; if (++counter == 1000) { /* Pacifier */ +;; counter=0; +;; putchar('.'); +;; } +; if (new_code >= next_code) { /* Check for string+char+string */ + CMP W NXTCOD,DX + MOV BX,OFFSET DECODS + JNC XPL4 +; *decode_stack=character; + MOV AL,B CHAR + MOV [BX],AL ; CHAR +; string=decode_string(decode_stack+1,old_code); + INC BX + MOV DX,W (OLDCOD) +; JMPS XPL5 +; } +XPL4: +; else +; string=decode_string(decode_stack,new_code); +XPL5: +;/* UNCHANGED from original +; * Decode a string from the string table, storing it in a buffer. +; * The buffer can then be output in reverse order by the expansion +; * program. +; */ +;char *decode_string(unsigned char *buffer, unsigned int code) +;{ +;; int i=0; +; +; while (code > 255) { +DSL1: OR DH,DH + JZ DSL0 +; *buffer++ = append_character[code]; + MOV BP,OFFSET APPEND + ADD BP,DX + MOV AL,[BP] +; code=prefix_code[code]; + MOV BP,OFFSET PREFIX + ADD BP,DX + ADD BP,DX + MOV DX,[BP] + MOV [BX],AL + INC BX +;; if (i++ >= 4000) { +;; printf("Error during code expansion\n"); +;; exit(1); +;; } + JMPS DSL1 +; } +DSL0: +; *buffer=code; + MOV [BX],DL +; return(buffer); +;} +; character = *string; /* Output decoded string in reverse */ + MOV B CHAR,DL +; while (string >= decode_stack) + MOV CX,BX + SUB CX,OFFSET DECODS-1 ; STRING - DECODS + ; FOR COUNT OF 1 IF STRING = DECODS +; putc(*string--,output); +XPL7: MOV AL,[BX] + CALL OUTPUT + DEC BX + LOOP XPL7 +; +; if (next_code <= max_code) { /* Add to string table if not full */ + MOV DX,W (NXTCOD) ; NEXT CODE - 1 + INC DX + CMP W MAXCOD,DX + JC XPL8 +; prefix_code[next_code]=old_code; + MOV BP,OFFSET PREFIX + ADD BP,DX + ADD BP,DX + MOV CX,W (OLDCOD) + MOV [BP],CX +; append_character[next_code++]=character; + MOV BP,OFFSET APPEND + ADD BP,DX + MOV AL,B CHAR + MOV [BP],AL + MOV W (NXTCOD),DX ; NEXT CODE - 1 + INC DX +; if (next_code == max_code && num_bits < MAX_BITS) { + CMP W MAXCOD,DX + JNZ XPL8 + MOV CL,B (NBITS) + CMP CL,B MAXB + JNC XPL8 +;; putchar('+'); +; max_code = MAXVAL(++num_bits); + INC CL + CALL MAXVAL +; } +; } +XPL8: +; old_code=new_code; + MOV AX,W (NEWCOD) + MOV W (OLDCOD),AX +; } + JMP XPL0 +;; putchar('\n'); +;} +ENDIF + +; ----------------------------------------------------------------------------- + +MAXVAL: ; ENTER WITH BITS IN CL + ; RETURN WITH MAXVAL IN BX AND MAXCOD + MOV B (NBITS),CL ; ALWAYS 9-MAXB (MAX 14) +;#define MAXVAL(n) (( 1 <<(n)) -1) /* max_value formula macro */ + MOV BX,100H ; 1 << 8 + SUB CL,8 + SHL BX,CL + DEC BX + MOV W MAXCOD,BX + RET + +; ----------------------------------------------------------------------------- + +INMON: CMP B CHKPNT,0 + JZ @@L0 + DEC B CHKPNT +@@L0: ADD W IBYTES,1 + ADC B IBYTES+2,0 + ADD W TIBYTES,1 + ADC B TIBYTES+2,0 + RET + +INBLK: CALL INBLOCK +INPUT: CMP W INBYTES,0 + JNZ @@L0 + CMP B EOF,0 + JZ INBLK + STC + RET +@@L0: CLC + DEC W INBYTES + LODSB + RET + +INBLOCK: + PUSH BX + PUSH CX + PUSH DX + MOV DX,W IPTR + MOV CX,W IPTR+2 + MOV W LAST_IPTR_L,DX + MOV W LAST_IPTR_H,CX + MOV BX,W IHANDLE + MOV AX,4200H + INT 21H + MOV AH,3FH ; READ + MOV CX,READBUF_SIZE + MOV DX,OFFSET READBUF + INT 21H + JNC @@L0 + JMP READ_ERROR +@@L0: CMP AX,CX + JZ @@L1 + MOV B EOF,-1 +@@L1: MOV SI,OFFSET READBUF + MOV W INBYTES,AX + ADD W IPTR,AX + ADC W IPTR+2,0 + POP DX + POP CX + POP BX + ; RETURN WITH BYTES READ IN AX + RET + +OUTPUT: STOSB + ADD W OBYTES,1 + ADC B OBYTES+2,0 + ADD W TOBYTES,1 + ADC B TOBYTES+2,0 + INC W OUTBYTES + CMP W OUTBYTES,WRITEBUF_SIZE + JNC OUTBLOCK + RET + +OUTINBLOCK: + PUSH CX + MOV DX,0 +LAST_IPTR_L EQU THIS WORD-2 + MOV CX,0 +LAST_IPTR_H EQU THIS WORD-2 + MOV BX,W IHANDLE + MOV AX,4200H + INT 21H + POP CX + MOV AH,40H ; WRITE + MOV DX,OFFSET READBUF + INT 21H + JNC @@L0 +@@L1: JMP WRITE_ERROR +@@L0: CMP AX,CX + JNZ @@L1 + ; RETURN BYTES WRITTEN IN AX + RET + +OUTBLOCK: + PUSH BX + PUSH CX + PUSH DX + MOV DX,W OPTR + MOV CX,W OPTR+2 + MOV BX,W OHANDLE + MOV AX,4200H + INT 21H + MOV AH,40H ; WRITE + MOV CX,W OUTBYTES + MOV DX,OFFSET WRITEBUF + INT 21H + JNC @@L0 +@@L1: JMP WRITE_ERROR +@@L0: MOV DI,OFFSET WRITEBUF + MOV W OUTBYTES,0 + CMP AX,CX + JNZ @@L1 + ADD W OPTR,AX + ADC W OPTR+2,0 + POP DX + POP CX + POP BX + RET + +HEXW: PUSH AX + MOV AL,AH + CALL HEXB + POP AX +HEXB: PUSH AX + SHR AL,1 + SHR AL,1 + SHR AL,1 + SHR AL,1 + CALL NYB + POP AX +NYB: AND AL,0FH + ADD AL,90H + DAA + ADC AL,40H + DAA + STOSB + RET + +CLOSE_FILES: + MOV BX,W IHANDLE + OR BX,BX + JZ @@L6 + MOV AH,3EH + INT 21H + JNC @@L6 + JMP CLOSE_ERROR +@@L6: MOV W IHANDLE,0 + CMP W OUTBYTES,0 + JZ @@L1 + CALL OUTBLOCK +@@L1: MOV BX,W OHANDLE + OR BX,BX + JZ @@L8 + MOV AH,3EH + INT 21H + JNC @@L7 + JMP CLOSE_ERROR +@@L7: MOV W OHANDLE,0 +@@L8: RET + +SKIP: INC SI +SKIP_BLANK: + CMP B [SI],' ' + JZ SKIP + CMP B [SI],9 + JZ SKIP + CMP B [SI],0DH + RET + +; ----------------------------------------------------------------------------- + +NOT_FOUND_ERROR: + MOV SI,DX + MOV BX,OFFSET FILENOTFOUND + JMPS FILE_ERROR +OPEN_ERROR: + MOV SI,DX + MOV BX,OFFSET BADOPEN + JMPS FILE_ERROR +CLOSE_ERROR: + MOV SI,DX + MOV BX,OFFSET BADCLOSE + MOV W OHANDLE,0 + JMPS FILE_ERROR +READ_ERROR: + MOV SI,W IHANDLE+2 + MOV BX,OFFSET BADREAD + JMPS FILE_ERROR +WRITE_ERROR: + MOV SI,W OHANDLE+2 + MOV BX,OFFSET BADWRITE + JMPS FILE_ERROR +INT23H: MOV AX,CS + MOV SS,AX + MOV DS,AX + MOV ES,AX + MOV SP,OFFSET STCK + STI + MOV BX,OFFSET ABORTMESS +ERROR_EXIT: + XOR SI,SI +FILE_ERROR: + MOV AL,B [BX] + INC BX + PUSH AX + MOV DX,BX + CALL PRMESS + OR SI,SI + JZ @@L1 + PUSH SI + CALL PRINT_CURRENT_DIR + POP DX + CALL PRMESS +@@L1: CALL CLOSE_FILES + CMP B CHECKSUM_DIRTY,0 + JZ @@L0 + MOV AH,41H ; DELETE FILE + MOV DX,OFFSET CHECKSUM + INT 21H +@@L0: MOV AH,41H ; DELETE FILE + MOV DX,OFFSET OFILE1 ; xxxxxx\LZW\CRC.$$$ + INT 21H + POP AX + RET + +EXIT: PUSH AX + MOV DX,OFFSET CURRENT_DIR + MOV AH,3BH ; SET CURRENT DIRECTORY + INT 21H + MOV DL,0 +DEFAULT_DISC EQU THIS BYTE-1 + MOV AH,0EH + INT 21H + MOV DL,0 +ORIG_BREAK EQU THIS BYTE-1 + MOV AX,3301H + INT 21H + MOV DX,OFFSET SIGNOFF + CALL PRMESS + POP AX + MOV AH,4CH + INT 21H + +; ----------------------------------------------------------------------------- + +GET_CURRENT_DIR: + MOV AH,47H ; GET CURRENT DIRECTORY + XOR DL,DL + MOV SI,OFFSET CURRENT_DISC+3 + INT 21H + RET + +PRINT_CURRENT_DIR: + CALL GET_CURRENT_DIR + MOV DX,OFFSET CURRENT_DISC + CALL PRMESS + MOV DL,'\' + MOV AH,2 + INT 21H + RET + +CRLF: MOV DX,OFFSET CRLFMESS + +PRMESS: PUSH SI + MOV SI,DX +@@B1: LODSB + OR AL,AL + JZ @@B0 + MOV DL,AL + MOV AH,2 + INT 21H + JMPS @@B1 +@@B0: POP SI + RET + +UCASE: CMP AL,'a' + JC @@L0 + CMP AL,'z' + JA @@L0 + AND AL,0DFH +@@L0: RET + +ADDCRC: ; ENTER WITH + ; INITIAL CRC IN AX + ; CX = BYTE COUNT + ; DS:SI --> BUFFER + ; RETURN WITH + ; NEW CRC IN AX + + MOV BX,OFFSET CRCTBL +CRCLP: XOR AL,B [SI] + INC SI + MOV BL,AL + MOV AL,AH + XOR AL,B [BX] + MOV AH,B [BX+100H] + LOOP CRCLP + RET + +MAKTBL: MOV BX,OFFSET CRCTBL + MOV CL,6 +@@L0: MOV AL,BL + MOV DL,AL + ADD AL,AL + LAHF + XOR AL,DL + MOV DL,AL + XOR AL,AL + SAHF + JPE @@L1 + MOV AL,011B +@@L1: JNC @@L2 + XOR AL,010B +@@L2: MOV DH,AL + RCR AL,1 + SHL DX,CL + OR AL,DL + MOV [BX],AL + MOV [BX+100H],DH + INC BL + JNZ @@L0 + RET + +; ----------------------------------------------------------------------------- + +CHECKSUM01: + MOV DI,OFFSET CHECKSUM +COPY_NUL: +@@L0: LODSB + STOSB + OR AL,AL + JNZ @@L0 + RET + +; ----------------------------------------------------------------------------- + +IF 0 +SHOW_RATIO: + PUSH AX + PUSH DI + MOV DI,OFFSET @@R1 + MOV BL,AL + XOR AH,AH + CALL DECB + MOV AL,'%' + STOSB + MOV AL,' ' + STOSB + XOR AL,AL + STOSB + MOV DX,OFFSET @@R1 ;@@R0 + CALL PRMESS + POP DI + POP AX + RET +@@R0 DB 0DH,0AH,'Ratio ' +@@R1 DB '000% ',0,0 +ENDIF + +; ----------------------------------------------------------------------------- + +SIGNON DB 'Checking POS files ',0 +SIGNOFF DB 0DH,0AH,0 + +NOMEM DB 1,0DH,0AH,'Not enough memory to run program',0 +NOFILE DB 2,0DH,0AH,'No file specified',0 +ABORTMESS DB 3,0DH,0AH,'Program aborted',0 +FILENOTFOUND DB 4,0DH,0AH,'Cannot find ',0 +BADOPEN DB 5,0DH,0AH,'Error opening ',0 +BADCLOSE DB 6,0DH,0AH,'Error closing ',0 +BADREAD DB 7,0DH,0AH,'Error reading ',0 +BADWRITE DB 8,0DH,0AH,'Error writing ',0 +BADCRCDAT DB 9,0DH,0AH,'DAT file too long',0 +BADCRC DB 0AH,0DH,0AH,'Output file too long',0 +BADDATFORMAT DB 0BH,0DH,0AH,'DAT file format bad',0 +BADDIR DB 0CH,0DH,0AH,'Cannot find path ' ; | +BADDIRDISC DB ' :',64 DUP(0) ; | +BADCRCFORMAT DB 0DH,0AH,'Output file format bad, re-creating it ',0 + +DEFAULT_DATE DB '800101000000' + +CHECKSUM0 DB 'CHECKSUM',0 +CHECKSUM1 DB 'CRC',0 +CHECKSUMDAT DB 'CHECKSUM.DAT',0 +CRCDAT DB 'CRC.DAT',0 +CRC_INSTANCE DB 0 + +CHECKSUM DB 'CHECKSUM',0 +CHECKSUM_DIRTY DB ? +FILE_DIRTY DB ? + +BESTMESS DB 0DH,0AH,'Best - bits ',0 +LEFTOMESS DB 0DH,0AH,'xxxx bytes left over' ; PRESERVE ORDER +CRLFMESS DB 0DH,0AH,0 ; PRESERVE ORDER +BITSMESS DB 0DH,0AH,' bits ',0 +LZWMESS DB 'LZW\' +IF OPTIMISE +LENMESS DB 0DH,0AH,'Length ' ; PRESERVE ORDER +ELSE +LENMESS LABEL WORD +ENDIF +SCRATCH_BUF DB 16 DUP(?) ; PRESERVE ORDER +FILENAME_BUF DB 38 DUP(?) +DTA DB 2BH DUP(?) + +IHANDLE DW 0 + DW ? ; --> NAME OF FILE +OHANDLE DW 0 + DW ? ; --> NAME OF FILE + +if 0 ; allow download directory to be passed on command line or use current +IF 0 +AUSDL_DIR DB '\AUSDL',0 +PNGDL_DIR DB '\PNGDL',0 +TAIDL_DIR DB '\TAIDL',0 +NFIDL_DIR DB '\NFIDL',0 +ELSE +COUNTRY MACRO P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,PA,PB,PC,PD,PE,PF +IRP CNTRY, +IFNB +CNTRY&&DL_DIR DB '\&CNTRY&DL',0 +ENDIF + ENDM + ENDM +INCLUDE COUNTRY.INC +ENDIF +endif +CRC_ DB 'CRC',0 +LZW_ DB 'LZW',0 +if 0 ; allow download directory to be passed on command line or use current +POSOF_DIR DB '\POSOF',0 +endif +OFFICE_DAT DB 'OFFICE.DAT',0 +LZW_FLAG DB 0 +if 0 ; allow download directory to be passed on command line or use current +POSOF_FLAG DB 0 +endif +CURRENT_DISC DB 'C:\',65 DUP(?) ; C: OVERWRITTEN AT STARTUP +CURRENT_DIR DB '\',65 DUP(?) +COMPRESSMESS DB 0DH,0AH,'Compressing ',0 +IFILE DB 65 DUP(?) +OFILE0 DB 65 DUP(?) +OFILE1 DB 0,64 DUP(?) +TEMPNAM DB 'CRC.$$$',0 ; PRESERVE LENGTH +IF TEST_OUTPUT +TESTOUT DB 'TEST.OUT',0 +ENDIF +CURRENT_FILENAME_PTR DW 0 + + DB STACK_SIZE DUP(?) +IF (($-START) AND 0FFH) + DB 100H-(($-START) AND 0FFH) DUP(?) +ENDIF +STCK LABEL WORD + +CRCTBL DB CRCTBL_SIZE DUP(?) ; must be on 100h boundary!! + +if 1 ; allow download directory to be passed on command line or use current +dir_buf DB 130 DUP(?) +endif + +CRCDAT_PTR DW ? +CHECKSUM_EOF DW ? + +MAXB DB ? +BEST_MAXB DB ? +HSHIFT DB ? +NBITS DW ? +MAXCOD DW ? +INDAT DW ? +OUTDAT DW ? +NXTCOD DW ? +NEWCOD DW ? +OLDCOD DW ? +CHAR DB ? +CLRFLG DB ? +STRCOD DW ? + +IPTR DD ? +OPTR DD ? +INBYTES DW ? +OUTBYTES DW 0 + +EOF DB ? + +IBYTES DB ?,?,? ; | RETAIN ORDERING +OBYTES DB ?,?,? ; | + +TIBYTES DB ?,?,? ; | RETAIN ORDERING +TOBYTES DB ?,?,? ; | + +CHKPNT DB ? +IF OPTIMISE +FEWEST_OBYTES DB ?,?,? +ENDIF +RATIO DB ? +INLEN DD ? + +CURRENT_DIR_ID DB 32 DUP (?) + +CRCDAT_BUFFER DB CRCDAT_SIZE DUP(?) +CHECKSUM_BUFFER DB CHECKSUM_SIZE DUP(?) +READBUF DB READBUF_SIZE DUP(?) +WRITEBUF DB WRITEBUF_SIZE DUP(?) +APPEND DB APPEND_SIZE DUP(?) ; BYTE +PREFIX DB PREFIX_SIZE DUP(?) ; WORD +DECODS LABEL WORD +CODEVAL DB CODEVAL_SIZE DUP(?) ; WORD + +TOP LABEL WORD + +CODE ENDS + END START + \ No newline at end of file diff --git a/src/mkutil/crc.com b/src/mkutil/crc.com index ed66056cd7bdc1f2a82680adb393e2d33ccb52f7..6e2f012d00a6016b029afb9dffdac154349b33d8 100644 GIT binary patch delta 2767 zcmZuzYj6|S6~3#L*LqmH>)Kb;ZZI*RKrm^kU7HjOgJU3Jco|Z_1}5nMX@^WZCH4vu zhDI_nV0j6TXu`k{57@%RV+_S+Nu?E$?5N`hiGbkF)DaUV7}~jtXdpJP#E!RTS0>3! z`)Bt)&OP6`=Y03Ow|T~?XPqOXepC?6t+P(DbWnZ@n*J#^`D$7;SIUa!Hf34l3l{QB z+P>ak;%{PqyS_i+8sr43jE)pDI<$=meqxCqHD5#-`x0LcBAmfZV}j4wP%2y-fnRW z&FE~E5hf`pzcc@0~<@BSu@;c5{0y6?FFN3hE>G*plpON=i z&Ad3^*S%2CS8y$wYrZBh!L4lktZ6Rdw?8N+Z|N)L7?$Q~E4G`;$xlq{yZ6R0>S1=_ z8182Nz#-N9Ce^3bRs1{(->`*##RV8N+?<&0Gdlk-%x*UR(i4~r6~;CWlMXO##)_1f zjhJa)E$(6N&|lifHob>!(R-}N_1(-LIV2YC!sJ7vFu9G?m>@%RoS~ZhoPD*h#9k&; z+ZPCbvM&^t*vEifbcFOOkjlkJ7f(!^})k z6u)k+JeuThSL!%_#{(_s^c};#2HbQCCw_e>6f11JX*M&r&5+I#KUXGXxV!c4xL)ln za4_K;h2$s&nZGs5NoE^-GgDk8r!aC%Aw`VV5VhsMbfveyoWi45uAz!_>$q2LlxmzA(6n9ibj)PP~=5Mgbj(Xc`?Vx zlPs!-vG8Dg#>QxTNv4kh%EY^at zMR?8Kld1Klk^#jrBt9xGxp zKoL0ZE7g5@S2I&|_c`wlW|{7W&D+Pk#L9e9zCtn|9^t){QuCZAxzXlkpx+3ecR6fN zA3hoSb9z7zF;&dn1iVOcd9qS;pHqq+a?*0(ic54_k;Mb4!)?ZM^qH{&S2kJ+;k56+Huo)P*DlL*3DeN&dn$G;F*S|I#_TB>!@}kvFOM} zYRy{tG*4`L!s%t1Cr|0aE!+t|CRudj2bd_j{La>VMWUm8$8<>-<>eNRJf`I)jttSS zzCsj=d`9Kp_8rCKJ_UjP2a!JLiv#s+9qzwXkaH9VC?uo=8k`wf=W4?v#9f1WsxNe9)~j>!?~+|#Z3x5@g^bGBAU zdi*_ILFc;=@R4?YMsNS%p~eIF)4{7($3AhSkT{YIgJ1g&;7G9jpts7j%;~{FM7iRI z{##2tIUaI6#96g<4x2+{mD2ntzCT9l`ANod9Aat2 zVvc1z2Dm?(;r>{t1<{1y9P}_exKx+iqnP6mLL>G@%{HfzH(wVFQVCe<5(|15BS@rM zMHgsNtEe7fo*kc`nv~GUA{RWUzIDNi>VeB{iHJkNpR$SB@SDyiX2EX`n>0*J5sS=x za4DO}7K=DO_zIgy-`BhU>i&WKo$$IF38r}8NSn9{ZZ07eR78E$jEhM{q+H&@tFN*S zq`vz)koJs}`z&NKs*sj~q5ANf4uTOO!-{Oj;FVZGuX5{M^)eqGF zJwLVn6ru*djs#JLH^VZM+H`)tWwUNV*{U+MblqCCV$q_-Web14p!7EgmCf1UE#*qj MSMX82x08S4zx~y4r2qf` delta 3054 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 P)57NP&O!N+SFC>k4p~wG diff --git a/src/mkutil/crc.obj b/src/mkutil/crc.obj deleted file mode 100644 index 55b3f6fb0e74b379fbc93fc1a50c63426ac1b734..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3528 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 diff --git a/src/mkutil/false.obj b/src/mkutil/false.obj deleted file mode 100644 index 99145471777255bc98d036c4bc69ff11374c1941..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 817 zcmZ`%K~EDw6n@jK1lmjEf%7QF2!yd9X^;!Z)~KY25#h8%ySuaNz_#0Lw;TOXoB0~72n|(VxMBcz!9e(l^wJ%f zE#V8iNRr)Na9D(0TnYN9#;iQzT|WkA(fjD$d5AA=I0PAo=mLN|On z_;aCMcu&t^T;w?vSQ%FoXGB64(I>? delta 40 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 NxXIF#;i04A{{UEkv2FkW diff --git a/src/mkutil/ihex2bin.exe b/src/mkutil/ihex2bin.exe index 58ccace3f451d0c3a101d512b6f7e2ab7727ce12..e517dfc4b738c7be0e5cee0a4e328bab7bbac7d5 100644 GIT binary patch delta 40 tcmdmXfMweOmI)u2Eza-Q_*rm0h~CV;fw6!S$gpQ*U|?{bE~vn$3IKg(4{-nh delta 40 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 diff --git a/src/mkutil/lib-z80/lbmain.obj b/src/mkutil/lib-z80/lbmain.obj deleted file mode 100644 index e8026786c65a436cc86d373af1d7369b32392661..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16470 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 E01^*mPyhe` diff --git a/src/mkutil/lib-z80/lbsym.obj b/src/mkutil/lib-z80/lbsym.obj deleted file mode 100644 index 232bbd59f2d28a8fdba23890933d74ecda208d46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2191 zcmah~L2nyX5T4CCj$@~-Q%s;$+HOUKNJ6$wtA;2+N?O+{pqPZF=H#;2>vgj2#%sLm zq)CAyMI6jZoH)S+R3U_f#Eo+Wi2efv7dTZ^v_hf^k`IRP&D*uTDF>ePW@o;cH#6_; zym^aKlrClF=6~%cdY1g5mg|P@ZWw_m@QBorf^R%YYS}0?R!^;THGM?mup5_sB#zHZ zl)Rvp9H(moCKeU~{yj?HQC;JP8`Av&{zLeBJ3=&y{F0O+g_hq`%SE>svO5I+Bk03p zf&KaUUFqO2g1P;e9p^V$HY&x29Ip)A#0bKTrFtE)=JUay&!QCD6!>W*nwm8mmoI<3x3P0y(5=P8jC@dI)T z-zery%wks~MIE>9xb{JcCi$pqI6fKB5aib0-X0&ZWUp!tq=G4Kqx!HME>4m}G$OG6fQ!>IxT6BQ5^!=T%7XW!<~mQFB@CF4-M^nAKAGhHM1=**P7$l^zP^yA*YU(bE3O` zNdxwtWVxAdd)d~qmy5mT<=dA7+o8``Cudt?jVHWK%pLx-`)9EYUX#n?CxAP<_shIA0+bfEdjS4 z{1SvqU=bHWijINuS#S~hCz`@t^Uo|wFLbr%yI39^-}@9@?P5lk2uH{m?`=i^l8C~qY+nNKp=zk4DdsA4m3&gpd;vSL{Cux^az=t zN9hLWsJN2HL~Rhg4^wR{^cV9v)N)$kFHClImfu%KcIh=#_=yl=x9vN!IsZy-Z|XjX|E zTOf%HE44bBS&)=KxSMqr;M<4))q4=xl`Qeq;BkEI5qCU{Q!AII&YqhQys#l{y=Yl> rrxMt6XYc!WaeCh_I(z3!wSVvYPkMWw+rKLG6h~nvOZ*t`AH4QoDEeHr diff --git a/src/mkutil/lib-z80/out/a.lib b/src/mkutil/lib-z80/out/a.lib deleted file mode 100644 index 7fa080cf..00000000 --- a/src/mkutil/lib-z80/out/a.lib +++ /dev/null @@ -1,6 +0,0 @@ -a_lib/a.rel - .__.ABS. - __fopen -a_lib/b.rel - .__.ABS. - fwrite diff --git a/src/mkutil/lib-z80/out/a_lib/a.rel b/src/mkutil/lib-z80/out/a_lib/a.rel deleted file mode 100644 index 2dd3a2b3..00000000 --- a/src/mkutil/lib-z80/out/a_lib/a.rel +++ /dev/null @@ -1,255 +0,0 @@ -XL4 -H 2 areas E global symbols -M _fopen -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?C_V_SWITCH_L06 Ref00000000 -S isatty Ref00000000 -S free Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S calloc Ref00000000 -S __IO_list Ref00000000 -S open Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S fclose Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2B9 flags 0 -S __fopen Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF AF DD 77 FA -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 DD 77 FB AF DD 77 FC DD 77 FD AF -R 00 00 01 00 -T 14 00 00 00 DD 77 FE DD 77 FF DD 7E 0A DD B6 -R 00 00 01 00 -T 1F 00 00 00 0B 28 35 -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 7E -R 00 00 01 00 -T 2D 00 00 00 E6 0F 5F 23 7E E6 00 57 21 02 00 -R 00 00 01 00 -T 38 00 00 00 39 7E B3 77 23 7E B2 77 21 0C 00 -R 00 00 01 00 -T 43 00 00 00 09 7E E6 F3 77 23 7E E6 FF 77 59 -R 00 00 01 00 -T 4E 00 00 00 50 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 -T 54 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 DD 6E 0C DD 66 0D AF B6 28 70 -R 00 00 01 00 -T 61 00 00 00 -R 00 00 01 00 -T 61 00 00 00 DD 6E 0C DD 66 0D 23 DD 75 0C DD -R 00 00 01 00 -T 6C 00 00 00 74 0D 2B 5E CD 00 00 00 00 04 00 -R 00 00 01 00 02 09 01 00 -T 75 00 00 00 2B 61 72 77 CF 00 00 00 -R 00 00 01 00 00 08 01 00 -T 7B 00 00 00 92 00 00 00 83 00 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 7F 00 00 00 A9 00 00 00 C0 00 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 83 00 00 00 -R 00 00 01 00 -T 83 00 00 00 21 02 00 39 7E F6 10 77 23 7E F6 -R 00 00 01 00 -T 8E 00 00 00 00 77 18 3D -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 21 02 00 39 7E F6 20 77 23 7E F6 -R 00 00 01 00 -T 9D 00 00 00 00 77 DD 36 FA 00 DD 36 FB 03 18 -R 00 00 01 00 -T A8 00 00 00 26 -R 00 00 01 00 -T A9 00 00 00 -R 00 00 01 00 -T A9 00 00 00 21 02 00 39 7E F6 20 77 23 7E F6 -R 00 00 01 00 -T B4 00 00 00 00 77 DD 36 FA 00 DD 36 FB 21 18 -R 00 00 01 00 -T BF 00 00 00 0F -R 00 00 01 00 -T C0 00 00 00 -R 00 00 01 00 -T C0 00 00 00 21 02 00 39 7E F6 30 77 23 7E F6 -R 00 00 01 00 -T CB 00 00 00 00 77 18 00 -R 00 00 01 00 -T CF 00 00 00 -R 00 00 01 00 -T CF 00 00 00 18 86 -R 00 00 01 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 DD 7E FC E6 30 4F DD 7E FD E6 00 -R 00 00 01 00 -T DC 00 00 00 47 79 B0 20 06 -R 00 00 01 00 -T E1 00 00 00 -R 00 00 01 00 -T E1 00 00 00 21 00 00 C3 B6 02 00 00 -R 00 00 01 00 00 08 01 00 -T E7 00 00 00 -R 00 00 01 00 -T E7 00 00 00 3E 10 A9 B0 20 02 18 24 -R 00 00 01 00 -T EF 00 00 00 -R 00 00 01 00 -T EF 00 00 00 3E 20 A9 B0 20 0F 21 00 00 39 7E -R 00 00 01 00 -T FA 00 00 00 F6 01 77 23 7E F6 00 77 18 0F -R 00 00 01 00 -T 04 01 00 00 -R 00 00 01 00 -T 04 01 00 00 21 00 00 39 7E F6 02 77 23 7E F6 -R 00 00 01 00 -T 0F 01 00 00 00 77 18 00 -R 00 00 01 00 -T 13 01 00 00 -R 00 00 01 00 -T 13 01 00 00 DD 7E 0A DD B6 0B 20 1E 01 18 00 -R 00 00 01 00 -T 1E 01 00 00 11 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 07 00 -T 24 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 07 00 02 09 04 00 -T 2B 01 00 00 FE DD 74 FF 7D B4 20 06 -R 00 00 01 00 -T 33 01 00 00 -R 00 00 01 00 -T 33 01 00 00 -R 00 00 01 00 -T 33 01 00 00 -R 00 00 01 00 -T 33 01 00 00 21 00 00 C3 B6 02 00 00 -R 00 00 01 00 00 08 01 00 -T 39 01 00 00 -R 00 00 01 00 -T 39 01 00 00 DD 7E 02 DD B6 03 28 23 -R 00 00 01 00 -T 41 01 00 00 -R 00 00 01 00 -T 41 01 00 00 21 B6 01 E5 DD 6E FA DD 66 FB E5 -R 00 00 01 00 -T 4C 01 00 00 DD 6E 02 DD 66 03 E5 3E -R 00 00 01 00 -T 54 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T 59 01 00 00 00 00 00 00 F1 F1 F1 DD 75 04 DD -R 00 00 01 00 02 04 04 00 -T 62 01 00 00 74 05 -R 00 00 01 00 -T 64 01 00 00 -R 00 00 01 00 -T 64 01 00 00 DD CB 05 7E 28 2E -R 00 00 01 00 -T 6A 01 00 00 -R 00 00 01 00 -T 6A 01 00 00 2A 00 00 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 02 05 05 00 -T 73 01 00 00 DD 7E FE DD B6 FF 28 0E -R 00 00 01 00 -T 7B 01 00 00 -R 00 00 01 00 -T 7B 01 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 03 00 -T 83 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 03 00 02 0A 04 00 -T 89 01 00 00 -R 00 00 01 00 -T 89 01 00 00 DD 6E FA DD 66 FB 22 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 92 01 00 00 21 00 00 C3 B6 02 00 00 -R 00 00 01 00 00 08 01 00 -T 98 01 00 00 -R 00 00 01 00 -T 98 01 00 00 DD 7E 0A DD B6 0B C2 6A 02 00 00 -R 00 00 01 00 00 0B 01 00 -T A1 01 00 00 -R 00 00 01 00 -T A1 01 00 00 DD 6E FE DD 66 FF DD 75 0A DD 74 -R 00 00 01 00 -T AC 01 00 00 0B 01 16 00 09 ED 4B 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T B5 01 00 00 71 23 70 DD 6E 0A DD 66 0B 22 -R 00 00 01 00 -T BF 01 00 00 00 00 00 00 21 0C 00 DD 4E 0A DD -R 00 00 01 00 02 04 08 00 -T C8 01 00 00 46 0B 09 36 08 23 36 00 DD 5E 04 -R 00 00 01 00 -T D3 01 00 00 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 02 00 -T D9 01 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 02 00 02 09 04 00 -T E0 01 00 00 28 13 -R 00 00 01 00 -T E2 01 00 00 -R 00 00 01 00 -T E2 01 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 7E -R 00 00 01 00 -T ED 01 00 00 F6 01 77 23 7E F6 00 77 -R 00 00 01 00 -T F5 01 00 00 -R 00 00 01 00 -T F5 01 00 00 21 06 00 DD 4E 0A DD 46 0B 09 E5 -R 00 00 01 00 -T 00 02 00 00 01 00 01 11 01 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T 08 02 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 07 00 02 0A 04 00 -T 0F 02 00 00 44 E1 71 23 70 79 B0 20 29 -R 00 00 01 00 -T 18 02 00 00 -R 00 00 01 00 -T 18 02 00 00 21 06 00 DD 4E 0A DD 46 0B 09 E5 -R 00 00 01 00 -T 23 02 00 00 21 0E 00 09 EB E1 73 23 72 21 -R 00 00 01 00 -T 2D 02 00 00 08 00 09 E5 21 0E 00 09 01 08 00 -R 00 00 01 00 -T 38 02 00 00 09 4D 44 E1 71 23 70 18 29 -R 00 00 01 00 -T 41 02 00 00 -R 00 00 01 00 -T 41 02 00 00 21 08 00 DD 4E 0A DD 46 0B 09 E5 -R 00 00 01 00 -T 4C 02 00 00 21 06 00 09 56 23 66 6A 3E 01 84 -R 00 00 01 00 -T 57 02 00 00 67 EB E1 73 23 72 21 0C 00 09 7E -R 00 00 01 00 -T 62 02 00 00 F6 04 77 23 7E F6 00 77 -R 00 00 01 00 -T 6A 02 00 00 -R 00 00 01 00 -T 6A 02 00 00 -R 00 00 01 00 -T 6A 02 00 00 DD 6E 0A DD 66 0B 23 23 E5 21 -R 00 00 01 00 -T 74 02 00 00 04 00 DD 4E 0A DD 46 0B 09 E5 21 -R 00 00 01 00 -T 7F 02 00 00 06 00 09 5E 23 56 E1 73 23 72 E1 -R 00 00 01 00 -T 8A 02 00 00 73 23 72 69 60 73 23 72 21 0C 00 -R 00 00 01 00 -T 95 02 00 00 DD 4E 0A DD 46 0B 09 7E DD B6 FC -R 00 00 01 00 -T A0 02 00 00 77 23 7E DD B6 FD 77 21 0A 00 09 -R 00 00 01 00 -T AB 02 00 00 DD 5E 04 DD 56 05 73 23 72 69 60 -R 00 00 01 00 -T B6 02 00 00 -R 00 00 01 00 -T B6 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/src/mkutil/lib-z80/out/a_lib/b.rel b/src/mkutil/lib-z80/out/a_lib/b.rel deleted file mode 100644 index 5ae7d8fb..00000000 --- a/src/mkutil/lib-z80/out/a_lib/b.rel +++ /dev/null @@ -1,199 +0,0 @@ -XL4 -H 2 areas E global symbols -M _fwrite -S fflush Ref00000000 -S _write Ref00000000 -S memcpy Ref00000000 -S ?S_MUL_L02 Ref00000000 -S __stdio_init_vars Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?US_DIV_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21C flags 0 -S fwrite Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF 3E -R 00 00 01 00 02 05 08 00 -T 06 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 0B 00 00 00 00 00 00 00 DD 7E 02 DD B6 03 28 -R 00 00 01 00 02 04 06 00 -T 14 00 00 00 18 DD 7E 04 DD B6 05 28 10 DD 7E -R 00 00 01 00 -T 1F 00 00 00 0A DD B6 0B 28 08 DD 7E 0C DD B6 -R 00 00 01 00 -T 2A 00 00 00 0D 20 06 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 21 00 00 C3 19 02 00 00 -R 00 00 01 00 00 08 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 21 0C 00 DD 4E 0C DD 46 0D 09 46 -R 00 00 01 00 -T 3E 00 00 00 23 66 68 DD 75 FA DD 74 FB 7D E6 -R 00 00 01 00 -T 49 00 00 00 40 28 18 DD 5E 0C DD 56 0D 3E -R 00 00 01 00 -T 53 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 58 00 00 00 00 00 00 00 7D B4 28 06 -R 00 00 01 00 02 04 06 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 21 00 00 C3 19 02 00 00 -R 00 00 01 00 00 08 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 DD 7E FA E6 20 6F DD 7E FB E6 03 -R 00 00 01 00 -T 6F 00 00 00 67 3E 20 AD B4 28 06 -R 00 00 01 00 -T 76 00 00 00 -R 00 00 01 00 -T 76 00 00 00 21 00 00 C3 19 02 00 00 -R 00 00 01 00 00 08 01 00 -T 7C 00 00 00 -R 00 00 01 00 -T 7C 00 00 00 DD 4E 0A DD 46 0B DD 5E 04 DD 56 -R 00 00 01 00 -T 87 00 00 00 05 CD 00 00 00 00 DD 73 FC DD 72 -R 00 00 01 00 02 06 03 00 -T 90 00 00 00 FD DD 6E 0C DD 66 0D 4E 23 46 21 -R 00 00 01 00 -T 9B 00 00 00 08 00 DD 5E 0C DD 56 0D 19 56 23 -R 00 00 01 00 -T A6 00 00 00 66 6A A7 ED 42 DD 75 F8 DD 74 F9 -R 00 00 01 00 -T B1 00 00 00 DD 4E FC DD 46 FD A7 ED 42 30 18 -R 00 00 01 00 -T BC 00 00 00 DD 5E 0C DD 56 0D 3E 00 00 00 00 -R 00 00 01 00 2B 0B 00 00 -T C4 00 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 00 00 02 0A 06 00 -T CB 00 00 00 B4 28 06 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 21 00 00 C3 19 02 00 00 -R 00 00 01 00 00 08 01 00 -T D4 00 00 00 -R 00 00 01 00 -T D4 00 00 00 DD 6E 0C DD 66 0D 4E 23 46 21 -R 00 00 01 00 -T DE 00 00 00 08 00 DD 5E 0C DD 56 0D 19 56 23 -R 00 00 01 00 -T E9 00 00 00 66 6A A7 ED 42 DD 75 F8 DD 74 F9 -R 00 00 01 00 -T F4 00 00 00 DD 4E FC DD 46 FD A7 ED 42 38 61 -R 00 00 01 00 -T FF 00 00 00 -R 00 00 01 00 -T FF 00 00 00 21 0C 00 DD 4E 0C DD 46 0D 09 7E -R 00 00 01 00 -T 0A 01 00 00 F6 80 77 23 7E F6 00 77 DD 6E FC -R 00 00 01 00 -T 15 01 00 00 DD 66 FD E5 DD 4E 02 DD 46 03 DD -R 00 00 01 00 -T 20 01 00 00 6E 0C DD 66 0D 5E 23 56 3E -R 00 00 01 00 -T 29 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 2E 01 00 00 00 00 00 00 F1 DD 6E 0C DD 66 0D -R 00 00 01 00 02 04 06 00 -T 37 01 00 00 7E DD 86 FC 77 23 7E DD 8E FD 77 -R 00 00 01 00 -T 42 01 00 00 DD 7E FA E6 03 28 0E -R 00 00 01 00 -T 49 01 00 00 -R 00 00 01 00 -T 49 01 00 00 DD 5E 0C DD 56 0D 3E 00 00 00 00 -R 00 00 01 00 2B 0B 00 00 -T 51 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 00 00 02 0A 06 00 -T 57 01 00 00 -R 00 00 01 00 -T 57 01 00 00 DD 6E 0A DD 66 0B C3 19 02 00 00 -R 00 00 01 00 00 0B 01 00 -T 60 01 00 00 -R 00 00 01 00 -T 60 01 00 00 DD 6E FC DD 66 FD DD 75 FE DD 74 -R 00 00 01 00 -T 6B 01 00 00 FF -R 00 00 01 00 -T 6C 01 00 00 -R 00 00 01 00 -T 6C 01 00 00 DD 6E FC DD 66 FD E5 DD 4E 02 DD -R 00 00 01 00 -T 77 01 00 00 46 03 21 0A 00 DD 5E 0C DD 56 0D -R 00 00 01 00 -T 82 01 00 00 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 01 00 -T 89 01 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 01 00 02 09 06 00 -T 90 01 00 00 75 F8 DD 74 F9 4D 44 21 00 00 CD -R 00 00 01 00 -T 9B 01 00 00 00 00 00 00 30 22 -R 00 00 01 00 02 04 09 00 -T 9F 01 00 00 -R 00 00 01 00 -T 9F 01 00 00 DD 6E F8 DD 66 F9 DD 4E 02 DD 46 -R 00 00 01 00 -T AA 01 00 00 03 09 DD 75 02 DD 74 03 21 04 00 -R 00 00 01 00 -T B5 01 00 00 39 7E DD 96 F8 77 23 7E DD 9E F9 -R 00 00 01 00 -T C0 01 00 00 77 -R 00 00 01 00 -T C1 01 00 00 -R 00 00 01 00 -T C1 01 00 00 DD 4E F8 DD 46 F9 21 00 00 CD -R 00 00 01 00 -T CB 01 00 00 00 00 00 00 38 9D DD 7E F8 DD A6 -R 00 00 01 00 02 04 09 00 -T D4 01 00 00 F9 3C 20 09 2A 00 00 00 00 3E 04 -R 00 00 01 00 02 09 07 00 -T DD 01 00 00 AD B4 28 8B -R 00 00 01 00 -T E1 01 00 00 -R 00 00 01 00 -T E1 01 00 00 DD CB F9 7E 28 13 -R 00 00 01 00 -T E7 01 00 00 -R 00 00 01 00 -T E7 01 00 00 21 0C 00 DD 4E 0C DD 46 0D 09 7E -R 00 00 01 00 -T F2 01 00 00 F6 00 77 23 7E F6 02 77 -R 00 00 01 00 -T FA 01 00 00 -R 00 00 01 00 -T FA 01 00 00 21 06 00 39 7E DD 96 FC 77 23 7E -R 00 00 01 00 -T 05 02 00 00 DD 9E FD 77 DD 4E 04 DD 46 05 DD -R 00 00 01 00 -T 10 02 00 00 5E FE DD 56 FF CD 00 00 00 00 EB -R 00 00 01 00 02 0A 0A 00 -T 19 02 00 00 -R 00 00 01 00 -T 19 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 diff --git a/src/mkutil/lib-z80/out/a_lib/c.rel b/src/mkutil/lib-z80/out/a_lib/c.rel deleted file mode 100644 index e69de29b..00000000 diff --git a/src/mkutil/lib-z80/rel/CVS/Entries b/src/mkutil/lib-z80/rel/CVS/Entries new file mode 100644 index 00000000..dfe73214 --- /dev/null +++ b/src/mkutil/lib-z80/rel/CVS/Entries @@ -0,0 +1,3 @@ +/a.rxx/1.1.1.1/Mon Nov 17 19:06:06 2003// +/b.rxx/1.1.1.1/Mon Nov 17 19:06:06 2003// +D diff --git a/src/mkutil/lib-z80/rel/CVS/Repository b/src/mkutil/lib-z80/rel/CVS/Repository new file mode 100644 index 00000000..9e9e87a9 --- /dev/null +++ b/src/mkutil/lib-z80/rel/CVS/Repository @@ -0,0 +1 @@ +uzi/src/mkutil/lib-z80/rel diff --git a/src/mkutil/lib-z80/rel/CVS/Root b/src/mkutil/lib-z80/rel/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/mkutil/lib-z80/rel/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/lib-z80/rel/a.rel b/src/mkutil/lib-z80/rel/a.rel deleted file mode 100644 index 2dd3a2b3..00000000 --- a/src/mkutil/lib-z80/rel/a.rel +++ /dev/null @@ -1,255 +0,0 @@ -XL4 -H 2 areas E global symbols -M _fopen -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?C_V_SWITCH_L06 Ref00000000 -S isatty Ref00000000 -S free Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S calloc Ref00000000 -S __IO_list Ref00000000 -S open Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S fclose Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2B9 flags 0 -S __fopen Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF AF DD 77 FA -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 DD 77 FB AF DD 77 FC DD 77 FD AF -R 00 00 01 00 -T 14 00 00 00 DD 77 FE DD 77 FF DD 7E 0A DD B6 -R 00 00 01 00 -T 1F 00 00 00 0B 28 35 -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 7E -R 00 00 01 00 -T 2D 00 00 00 E6 0F 5F 23 7E E6 00 57 21 02 00 -R 00 00 01 00 -T 38 00 00 00 39 7E B3 77 23 7E B2 77 21 0C 00 -R 00 00 01 00 -T 43 00 00 00 09 7E E6 F3 77 23 7E E6 FF 77 59 -R 00 00 01 00 -T 4E 00 00 00 50 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 -T 54 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 DD 6E 0C DD 66 0D AF B6 28 70 -R 00 00 01 00 -T 61 00 00 00 -R 00 00 01 00 -T 61 00 00 00 DD 6E 0C DD 66 0D 23 DD 75 0C DD -R 00 00 01 00 -T 6C 00 00 00 74 0D 2B 5E CD 00 00 00 00 04 00 -R 00 00 01 00 02 09 01 00 -T 75 00 00 00 2B 61 72 77 CF 00 00 00 -R 00 00 01 00 00 08 01 00 -T 7B 00 00 00 92 00 00 00 83 00 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 7F 00 00 00 A9 00 00 00 C0 00 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 83 00 00 00 -R 00 00 01 00 -T 83 00 00 00 21 02 00 39 7E F6 10 77 23 7E F6 -R 00 00 01 00 -T 8E 00 00 00 00 77 18 3D -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 21 02 00 39 7E F6 20 77 23 7E F6 -R 00 00 01 00 -T 9D 00 00 00 00 77 DD 36 FA 00 DD 36 FB 03 18 -R 00 00 01 00 -T A8 00 00 00 26 -R 00 00 01 00 -T A9 00 00 00 -R 00 00 01 00 -T A9 00 00 00 21 02 00 39 7E F6 20 77 23 7E F6 -R 00 00 01 00 -T B4 00 00 00 00 77 DD 36 FA 00 DD 36 FB 21 18 -R 00 00 01 00 -T BF 00 00 00 0F -R 00 00 01 00 -T C0 00 00 00 -R 00 00 01 00 -T C0 00 00 00 21 02 00 39 7E F6 30 77 23 7E F6 -R 00 00 01 00 -T CB 00 00 00 00 77 18 00 -R 00 00 01 00 -T CF 00 00 00 -R 00 00 01 00 -T CF 00 00 00 18 86 -R 00 00 01 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 DD 7E FC E6 30 4F DD 7E FD E6 00 -R 00 00 01 00 -T DC 00 00 00 47 79 B0 20 06 -R 00 00 01 00 -T E1 00 00 00 -R 00 00 01 00 -T E1 00 00 00 21 00 00 C3 B6 02 00 00 -R 00 00 01 00 00 08 01 00 -T E7 00 00 00 -R 00 00 01 00 -T E7 00 00 00 3E 10 A9 B0 20 02 18 24 -R 00 00 01 00 -T EF 00 00 00 -R 00 00 01 00 -T EF 00 00 00 3E 20 A9 B0 20 0F 21 00 00 39 7E -R 00 00 01 00 -T FA 00 00 00 F6 01 77 23 7E F6 00 77 18 0F -R 00 00 01 00 -T 04 01 00 00 -R 00 00 01 00 -T 04 01 00 00 21 00 00 39 7E F6 02 77 23 7E F6 -R 00 00 01 00 -T 0F 01 00 00 00 77 18 00 -R 00 00 01 00 -T 13 01 00 00 -R 00 00 01 00 -T 13 01 00 00 DD 7E 0A DD B6 0B 20 1E 01 18 00 -R 00 00 01 00 -T 1E 01 00 00 11 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 07 00 -T 24 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 07 00 02 09 04 00 -T 2B 01 00 00 FE DD 74 FF 7D B4 20 06 -R 00 00 01 00 -T 33 01 00 00 -R 00 00 01 00 -T 33 01 00 00 -R 00 00 01 00 -T 33 01 00 00 -R 00 00 01 00 -T 33 01 00 00 21 00 00 C3 B6 02 00 00 -R 00 00 01 00 00 08 01 00 -T 39 01 00 00 -R 00 00 01 00 -T 39 01 00 00 DD 7E 02 DD B6 03 28 23 -R 00 00 01 00 -T 41 01 00 00 -R 00 00 01 00 -T 41 01 00 00 21 B6 01 E5 DD 6E FA DD 66 FB E5 -R 00 00 01 00 -T 4C 01 00 00 DD 6E 02 DD 66 03 E5 3E -R 00 00 01 00 -T 54 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T 59 01 00 00 00 00 00 00 F1 F1 F1 DD 75 04 DD -R 00 00 01 00 02 04 04 00 -T 62 01 00 00 74 05 -R 00 00 01 00 -T 64 01 00 00 -R 00 00 01 00 -T 64 01 00 00 DD CB 05 7E 28 2E -R 00 00 01 00 -T 6A 01 00 00 -R 00 00 01 00 -T 6A 01 00 00 2A 00 00 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 02 05 05 00 -T 73 01 00 00 DD 7E FE DD B6 FF 28 0E -R 00 00 01 00 -T 7B 01 00 00 -R 00 00 01 00 -T 7B 01 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 03 00 -T 83 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 03 00 02 0A 04 00 -T 89 01 00 00 -R 00 00 01 00 -T 89 01 00 00 DD 6E FA DD 66 FB 22 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 92 01 00 00 21 00 00 C3 B6 02 00 00 -R 00 00 01 00 00 08 01 00 -T 98 01 00 00 -R 00 00 01 00 -T 98 01 00 00 DD 7E 0A DD B6 0B C2 6A 02 00 00 -R 00 00 01 00 00 0B 01 00 -T A1 01 00 00 -R 00 00 01 00 -T A1 01 00 00 DD 6E FE DD 66 FF DD 75 0A DD 74 -R 00 00 01 00 -T AC 01 00 00 0B 01 16 00 09 ED 4B 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T B5 01 00 00 71 23 70 DD 6E 0A DD 66 0B 22 -R 00 00 01 00 -T BF 01 00 00 00 00 00 00 21 0C 00 DD 4E 0A DD -R 00 00 01 00 02 04 08 00 -T C8 01 00 00 46 0B 09 36 08 23 36 00 DD 5E 04 -R 00 00 01 00 -T D3 01 00 00 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 02 00 -T D9 01 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 02 00 02 09 04 00 -T E0 01 00 00 28 13 -R 00 00 01 00 -T E2 01 00 00 -R 00 00 01 00 -T E2 01 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 7E -R 00 00 01 00 -T ED 01 00 00 F6 01 77 23 7E F6 00 77 -R 00 00 01 00 -T F5 01 00 00 -R 00 00 01 00 -T F5 01 00 00 21 06 00 DD 4E 0A DD 46 0B 09 E5 -R 00 00 01 00 -T 00 02 00 00 01 00 01 11 01 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T 08 02 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 07 00 02 0A 04 00 -T 0F 02 00 00 44 E1 71 23 70 79 B0 20 29 -R 00 00 01 00 -T 18 02 00 00 -R 00 00 01 00 -T 18 02 00 00 21 06 00 DD 4E 0A DD 46 0B 09 E5 -R 00 00 01 00 -T 23 02 00 00 21 0E 00 09 EB E1 73 23 72 21 -R 00 00 01 00 -T 2D 02 00 00 08 00 09 E5 21 0E 00 09 01 08 00 -R 00 00 01 00 -T 38 02 00 00 09 4D 44 E1 71 23 70 18 29 -R 00 00 01 00 -T 41 02 00 00 -R 00 00 01 00 -T 41 02 00 00 21 08 00 DD 4E 0A DD 46 0B 09 E5 -R 00 00 01 00 -T 4C 02 00 00 21 06 00 09 56 23 66 6A 3E 01 84 -R 00 00 01 00 -T 57 02 00 00 67 EB E1 73 23 72 21 0C 00 09 7E -R 00 00 01 00 -T 62 02 00 00 F6 04 77 23 7E F6 00 77 -R 00 00 01 00 -T 6A 02 00 00 -R 00 00 01 00 -T 6A 02 00 00 -R 00 00 01 00 -T 6A 02 00 00 DD 6E 0A DD 66 0B 23 23 E5 21 -R 00 00 01 00 -T 74 02 00 00 04 00 DD 4E 0A DD 46 0B 09 E5 21 -R 00 00 01 00 -T 7F 02 00 00 06 00 09 5E 23 56 E1 73 23 72 E1 -R 00 00 01 00 -T 8A 02 00 00 73 23 72 69 60 73 23 72 21 0C 00 -R 00 00 01 00 -T 95 02 00 00 DD 4E 0A DD 46 0B 09 7E DD B6 FC -R 00 00 01 00 -T A0 02 00 00 77 23 7E DD B6 FD 77 21 0A 00 09 -R 00 00 01 00 -T AB 02 00 00 DD 5E 04 DD 56 05 73 23 72 69 60 -R 00 00 01 00 -T B6 02 00 00 -R 00 00 01 00 -T B6 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/src/mkutil/lib-z80/rel/b.rel b/src/mkutil/lib-z80/rel/b.rel deleted file mode 100644 index 5ae7d8fb..00000000 --- a/src/mkutil/lib-z80/rel/b.rel +++ /dev/null @@ -1,199 +0,0 @@ -XL4 -H 2 areas E global symbols -M _fwrite -S fflush Ref00000000 -S _write Ref00000000 -S memcpy Ref00000000 -S ?S_MUL_L02 Ref00000000 -S __stdio_init_vars Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?US_DIV_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21C flags 0 -S fwrite Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF 3E -R 00 00 01 00 02 05 08 00 -T 06 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 0B 00 00 00 00 00 00 00 DD 7E 02 DD B6 03 28 -R 00 00 01 00 02 04 06 00 -T 14 00 00 00 18 DD 7E 04 DD B6 05 28 10 DD 7E -R 00 00 01 00 -T 1F 00 00 00 0A DD B6 0B 28 08 DD 7E 0C DD B6 -R 00 00 01 00 -T 2A 00 00 00 0D 20 06 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 21 00 00 C3 19 02 00 00 -R 00 00 01 00 00 08 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 21 0C 00 DD 4E 0C DD 46 0D 09 46 -R 00 00 01 00 -T 3E 00 00 00 23 66 68 DD 75 FA DD 74 FB 7D E6 -R 00 00 01 00 -T 49 00 00 00 40 28 18 DD 5E 0C DD 56 0D 3E -R 00 00 01 00 -T 53 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 58 00 00 00 00 00 00 00 7D B4 28 06 -R 00 00 01 00 02 04 06 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 21 00 00 C3 19 02 00 00 -R 00 00 01 00 00 08 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 DD 7E FA E6 20 6F DD 7E FB E6 03 -R 00 00 01 00 -T 6F 00 00 00 67 3E 20 AD B4 28 06 -R 00 00 01 00 -T 76 00 00 00 -R 00 00 01 00 -T 76 00 00 00 21 00 00 C3 19 02 00 00 -R 00 00 01 00 00 08 01 00 -T 7C 00 00 00 -R 00 00 01 00 -T 7C 00 00 00 DD 4E 0A DD 46 0B DD 5E 04 DD 56 -R 00 00 01 00 -T 87 00 00 00 05 CD 00 00 00 00 DD 73 FC DD 72 -R 00 00 01 00 02 06 03 00 -T 90 00 00 00 FD DD 6E 0C DD 66 0D 4E 23 46 21 -R 00 00 01 00 -T 9B 00 00 00 08 00 DD 5E 0C DD 56 0D 19 56 23 -R 00 00 01 00 -T A6 00 00 00 66 6A A7 ED 42 DD 75 F8 DD 74 F9 -R 00 00 01 00 -T B1 00 00 00 DD 4E FC DD 46 FD A7 ED 42 30 18 -R 00 00 01 00 -T BC 00 00 00 DD 5E 0C DD 56 0D 3E 00 00 00 00 -R 00 00 01 00 2B 0B 00 00 -T C4 00 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 00 00 02 0A 06 00 -T CB 00 00 00 B4 28 06 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 21 00 00 C3 19 02 00 00 -R 00 00 01 00 00 08 01 00 -T D4 00 00 00 -R 00 00 01 00 -T D4 00 00 00 DD 6E 0C DD 66 0D 4E 23 46 21 -R 00 00 01 00 -T DE 00 00 00 08 00 DD 5E 0C DD 56 0D 19 56 23 -R 00 00 01 00 -T E9 00 00 00 66 6A A7 ED 42 DD 75 F8 DD 74 F9 -R 00 00 01 00 -T F4 00 00 00 DD 4E FC DD 46 FD A7 ED 42 38 61 -R 00 00 01 00 -T FF 00 00 00 -R 00 00 01 00 -T FF 00 00 00 21 0C 00 DD 4E 0C DD 46 0D 09 7E -R 00 00 01 00 -T 0A 01 00 00 F6 80 77 23 7E F6 00 77 DD 6E FC -R 00 00 01 00 -T 15 01 00 00 DD 66 FD E5 DD 4E 02 DD 46 03 DD -R 00 00 01 00 -T 20 01 00 00 6E 0C DD 66 0D 5E 23 56 3E -R 00 00 01 00 -T 29 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 2E 01 00 00 00 00 00 00 F1 DD 6E 0C DD 66 0D -R 00 00 01 00 02 04 06 00 -T 37 01 00 00 7E DD 86 FC 77 23 7E DD 8E FD 77 -R 00 00 01 00 -T 42 01 00 00 DD 7E FA E6 03 28 0E -R 00 00 01 00 -T 49 01 00 00 -R 00 00 01 00 -T 49 01 00 00 DD 5E 0C DD 56 0D 3E 00 00 00 00 -R 00 00 01 00 2B 0B 00 00 -T 51 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 00 00 02 0A 06 00 -T 57 01 00 00 -R 00 00 01 00 -T 57 01 00 00 DD 6E 0A DD 66 0B C3 19 02 00 00 -R 00 00 01 00 00 0B 01 00 -T 60 01 00 00 -R 00 00 01 00 -T 60 01 00 00 DD 6E FC DD 66 FD DD 75 FE DD 74 -R 00 00 01 00 -T 6B 01 00 00 FF -R 00 00 01 00 -T 6C 01 00 00 -R 00 00 01 00 -T 6C 01 00 00 DD 6E FC DD 66 FD E5 DD 4E 02 DD -R 00 00 01 00 -T 77 01 00 00 46 03 21 0A 00 DD 5E 0C DD 56 0D -R 00 00 01 00 -T 82 01 00 00 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 01 00 -T 89 01 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 01 00 02 09 06 00 -T 90 01 00 00 75 F8 DD 74 F9 4D 44 21 00 00 CD -R 00 00 01 00 -T 9B 01 00 00 00 00 00 00 30 22 -R 00 00 01 00 02 04 09 00 -T 9F 01 00 00 -R 00 00 01 00 -T 9F 01 00 00 DD 6E F8 DD 66 F9 DD 4E 02 DD 46 -R 00 00 01 00 -T AA 01 00 00 03 09 DD 75 02 DD 74 03 21 04 00 -R 00 00 01 00 -T B5 01 00 00 39 7E DD 96 F8 77 23 7E DD 9E F9 -R 00 00 01 00 -T C0 01 00 00 77 -R 00 00 01 00 -T C1 01 00 00 -R 00 00 01 00 -T C1 01 00 00 DD 4E F8 DD 46 F9 21 00 00 CD -R 00 00 01 00 -T CB 01 00 00 00 00 00 00 38 9D DD 7E F8 DD A6 -R 00 00 01 00 02 04 09 00 -T D4 01 00 00 F9 3C 20 09 2A 00 00 00 00 3E 04 -R 00 00 01 00 02 09 07 00 -T DD 01 00 00 AD B4 28 8B -R 00 00 01 00 -T E1 01 00 00 -R 00 00 01 00 -T E1 01 00 00 DD CB F9 7E 28 13 -R 00 00 01 00 -T E7 01 00 00 -R 00 00 01 00 -T E7 01 00 00 21 0C 00 DD 4E 0C DD 46 0D 09 7E -R 00 00 01 00 -T F2 01 00 00 F6 00 77 23 7E F6 02 77 -R 00 00 01 00 -T FA 01 00 00 -R 00 00 01 00 -T FA 01 00 00 21 06 00 39 7E DD 96 FC 77 23 7E -R 00 00 01 00 -T 05 02 00 00 DD 9E FD 77 DD 4E 04 DD 46 05 DD -R 00 00 01 00 -T 10 02 00 00 5E FE DD 56 FF CD 00 00 00 00 EB -R 00 00 01 00 02 0A 0A 00 -T 19 02 00 00 -R 00 00 01 00 -T 19 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 diff --git a/src/mkutil/lib-z80/x.lib b/src/mkutil/lib-z80/x.lib deleted file mode 100644 index 76ad895d..00000000 --- a/src/mkutil/lib-z80/x.lib +++ /dev/null @@ -1,6 +0,0 @@ -x_lib/a.rel - .__.ABS. - __fopen -x_lib/b.rel - .__.ABS. - fwrite diff --git a/src/mkutil/lib-z80/x_lib/a.rel b/src/mkutil/lib-z80/x_lib/a.rel deleted file mode 100644 index 2dd3a2b3..00000000 --- a/src/mkutil/lib-z80/x_lib/a.rel +++ /dev/null @@ -1,255 +0,0 @@ -XL4 -H 2 areas E global symbols -M _fopen -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?C_V_SWITCH_L06 Ref00000000 -S isatty Ref00000000 -S free Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S calloc Ref00000000 -S __IO_list Ref00000000 -S open Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S fclose Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2B9 flags 0 -S __fopen Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF AF DD 77 FA -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 DD 77 FB AF DD 77 FC DD 77 FD AF -R 00 00 01 00 -T 14 00 00 00 DD 77 FE DD 77 FF DD 7E 0A DD B6 -R 00 00 01 00 -T 1F 00 00 00 0B 28 35 -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 7E -R 00 00 01 00 -T 2D 00 00 00 E6 0F 5F 23 7E E6 00 57 21 02 00 -R 00 00 01 00 -T 38 00 00 00 39 7E B3 77 23 7E B2 77 21 0C 00 -R 00 00 01 00 -T 43 00 00 00 09 7E E6 F3 77 23 7E E6 FF 77 59 -R 00 00 01 00 -T 4E 00 00 00 50 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 -T 54 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 DD 6E 0C DD 66 0D AF B6 28 70 -R 00 00 01 00 -T 61 00 00 00 -R 00 00 01 00 -T 61 00 00 00 DD 6E 0C DD 66 0D 23 DD 75 0C DD -R 00 00 01 00 -T 6C 00 00 00 74 0D 2B 5E CD 00 00 00 00 04 00 -R 00 00 01 00 02 09 01 00 -T 75 00 00 00 2B 61 72 77 CF 00 00 00 -R 00 00 01 00 00 08 01 00 -T 7B 00 00 00 92 00 00 00 83 00 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 7F 00 00 00 A9 00 00 00 C0 00 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 83 00 00 00 -R 00 00 01 00 -T 83 00 00 00 21 02 00 39 7E F6 10 77 23 7E F6 -R 00 00 01 00 -T 8E 00 00 00 00 77 18 3D -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 21 02 00 39 7E F6 20 77 23 7E F6 -R 00 00 01 00 -T 9D 00 00 00 00 77 DD 36 FA 00 DD 36 FB 03 18 -R 00 00 01 00 -T A8 00 00 00 26 -R 00 00 01 00 -T A9 00 00 00 -R 00 00 01 00 -T A9 00 00 00 21 02 00 39 7E F6 20 77 23 7E F6 -R 00 00 01 00 -T B4 00 00 00 00 77 DD 36 FA 00 DD 36 FB 21 18 -R 00 00 01 00 -T BF 00 00 00 0F -R 00 00 01 00 -T C0 00 00 00 -R 00 00 01 00 -T C0 00 00 00 21 02 00 39 7E F6 30 77 23 7E F6 -R 00 00 01 00 -T CB 00 00 00 00 77 18 00 -R 00 00 01 00 -T CF 00 00 00 -R 00 00 01 00 -T CF 00 00 00 18 86 -R 00 00 01 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 DD 7E FC E6 30 4F DD 7E FD E6 00 -R 00 00 01 00 -T DC 00 00 00 47 79 B0 20 06 -R 00 00 01 00 -T E1 00 00 00 -R 00 00 01 00 -T E1 00 00 00 21 00 00 C3 B6 02 00 00 -R 00 00 01 00 00 08 01 00 -T E7 00 00 00 -R 00 00 01 00 -T E7 00 00 00 3E 10 A9 B0 20 02 18 24 -R 00 00 01 00 -T EF 00 00 00 -R 00 00 01 00 -T EF 00 00 00 3E 20 A9 B0 20 0F 21 00 00 39 7E -R 00 00 01 00 -T FA 00 00 00 F6 01 77 23 7E F6 00 77 18 0F -R 00 00 01 00 -T 04 01 00 00 -R 00 00 01 00 -T 04 01 00 00 21 00 00 39 7E F6 02 77 23 7E F6 -R 00 00 01 00 -T 0F 01 00 00 00 77 18 00 -R 00 00 01 00 -T 13 01 00 00 -R 00 00 01 00 -T 13 01 00 00 DD 7E 0A DD B6 0B 20 1E 01 18 00 -R 00 00 01 00 -T 1E 01 00 00 11 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 07 00 -T 24 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 07 00 02 09 04 00 -T 2B 01 00 00 FE DD 74 FF 7D B4 20 06 -R 00 00 01 00 -T 33 01 00 00 -R 00 00 01 00 -T 33 01 00 00 -R 00 00 01 00 -T 33 01 00 00 -R 00 00 01 00 -T 33 01 00 00 21 00 00 C3 B6 02 00 00 -R 00 00 01 00 00 08 01 00 -T 39 01 00 00 -R 00 00 01 00 -T 39 01 00 00 DD 7E 02 DD B6 03 28 23 -R 00 00 01 00 -T 41 01 00 00 -R 00 00 01 00 -T 41 01 00 00 21 B6 01 E5 DD 6E FA DD 66 FB E5 -R 00 00 01 00 -T 4C 01 00 00 DD 6E 02 DD 66 03 E5 3E -R 00 00 01 00 -T 54 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T 59 01 00 00 00 00 00 00 F1 F1 F1 DD 75 04 DD -R 00 00 01 00 02 04 04 00 -T 62 01 00 00 74 05 -R 00 00 01 00 -T 64 01 00 00 -R 00 00 01 00 -T 64 01 00 00 DD CB 05 7E 28 2E -R 00 00 01 00 -T 6A 01 00 00 -R 00 00 01 00 -T 6A 01 00 00 2A 00 00 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 02 05 05 00 -T 73 01 00 00 DD 7E FE DD B6 FF 28 0E -R 00 00 01 00 -T 7B 01 00 00 -R 00 00 01 00 -T 7B 01 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 03 00 -T 83 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 03 00 02 0A 04 00 -T 89 01 00 00 -R 00 00 01 00 -T 89 01 00 00 DD 6E FA DD 66 FB 22 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 92 01 00 00 21 00 00 C3 B6 02 00 00 -R 00 00 01 00 00 08 01 00 -T 98 01 00 00 -R 00 00 01 00 -T 98 01 00 00 DD 7E 0A DD B6 0B C2 6A 02 00 00 -R 00 00 01 00 00 0B 01 00 -T A1 01 00 00 -R 00 00 01 00 -T A1 01 00 00 DD 6E FE DD 66 FF DD 75 0A DD 74 -R 00 00 01 00 -T AC 01 00 00 0B 01 16 00 09 ED 4B 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T B5 01 00 00 71 23 70 DD 6E 0A DD 66 0B 22 -R 00 00 01 00 -T BF 01 00 00 00 00 00 00 21 0C 00 DD 4E 0A DD -R 00 00 01 00 02 04 08 00 -T C8 01 00 00 46 0B 09 36 08 23 36 00 DD 5E 04 -R 00 00 01 00 -T D3 01 00 00 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 02 00 -T D9 01 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 02 00 02 09 04 00 -T E0 01 00 00 28 13 -R 00 00 01 00 -T E2 01 00 00 -R 00 00 01 00 -T E2 01 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 7E -R 00 00 01 00 -T ED 01 00 00 F6 01 77 23 7E F6 00 77 -R 00 00 01 00 -T F5 01 00 00 -R 00 00 01 00 -T F5 01 00 00 21 06 00 DD 4E 0A DD 46 0B 09 E5 -R 00 00 01 00 -T 00 02 00 00 01 00 01 11 01 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T 08 02 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 07 00 02 0A 04 00 -T 0F 02 00 00 44 E1 71 23 70 79 B0 20 29 -R 00 00 01 00 -T 18 02 00 00 -R 00 00 01 00 -T 18 02 00 00 21 06 00 DD 4E 0A DD 46 0B 09 E5 -R 00 00 01 00 -T 23 02 00 00 21 0E 00 09 EB E1 73 23 72 21 -R 00 00 01 00 -T 2D 02 00 00 08 00 09 E5 21 0E 00 09 01 08 00 -R 00 00 01 00 -T 38 02 00 00 09 4D 44 E1 71 23 70 18 29 -R 00 00 01 00 -T 41 02 00 00 -R 00 00 01 00 -T 41 02 00 00 21 08 00 DD 4E 0A DD 46 0B 09 E5 -R 00 00 01 00 -T 4C 02 00 00 21 06 00 09 56 23 66 6A 3E 01 84 -R 00 00 01 00 -T 57 02 00 00 67 EB E1 73 23 72 21 0C 00 09 7E -R 00 00 01 00 -T 62 02 00 00 F6 04 77 23 7E F6 00 77 -R 00 00 01 00 -T 6A 02 00 00 -R 00 00 01 00 -T 6A 02 00 00 -R 00 00 01 00 -T 6A 02 00 00 DD 6E 0A DD 66 0B 23 23 E5 21 -R 00 00 01 00 -T 74 02 00 00 04 00 DD 4E 0A DD 46 0B 09 E5 21 -R 00 00 01 00 -T 7F 02 00 00 06 00 09 5E 23 56 E1 73 23 72 E1 -R 00 00 01 00 -T 8A 02 00 00 73 23 72 69 60 73 23 72 21 0C 00 -R 00 00 01 00 -T 95 02 00 00 DD 4E 0A DD 46 0B 09 7E DD B6 FC -R 00 00 01 00 -T A0 02 00 00 77 23 7E DD B6 FD 77 21 0A 00 09 -R 00 00 01 00 -T AB 02 00 00 DD 5E 04 DD 56 05 73 23 72 69 60 -R 00 00 01 00 -T B6 02 00 00 -R 00 00 01 00 -T B6 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 00 00 diff --git a/src/mkutil/lib-z80/x_lib/b.rel b/src/mkutil/lib-z80/x_lib/b.rel deleted file mode 100644 index 5ae7d8fb..00000000 --- a/src/mkutil/lib-z80/x_lib/b.rel +++ /dev/null @@ -1,199 +0,0 @@ -XL4 -H 2 areas E global symbols -M _fwrite -S fflush Ref00000000 -S _write Ref00000000 -S memcpy Ref00000000 -S ?S_MUL_L02 Ref00000000 -S __stdio_init_vars Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S errno Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?US_DIV_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21C flags 0 -S fwrite Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF 3E -R 00 00 01 00 02 05 08 00 -T 06 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 0B 00 00 00 00 00 00 00 DD 7E 02 DD B6 03 28 -R 00 00 01 00 02 04 06 00 -T 14 00 00 00 18 DD 7E 04 DD B6 05 28 10 DD 7E -R 00 00 01 00 -T 1F 00 00 00 0A DD B6 0B 28 08 DD 7E 0C DD B6 -R 00 00 01 00 -T 2A 00 00 00 0D 20 06 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 21 00 00 C3 19 02 00 00 -R 00 00 01 00 00 08 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 21 0C 00 DD 4E 0C DD 46 0D 09 46 -R 00 00 01 00 -T 3E 00 00 00 23 66 68 DD 75 FA DD 74 FB 7D E6 -R 00 00 01 00 -T 49 00 00 00 40 28 18 DD 5E 0C DD 56 0D 3E -R 00 00 01 00 -T 53 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 58 00 00 00 00 00 00 00 7D B4 28 06 -R 00 00 01 00 02 04 06 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 21 00 00 C3 19 02 00 00 -R 00 00 01 00 00 08 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 DD 7E FA E6 20 6F DD 7E FB E6 03 -R 00 00 01 00 -T 6F 00 00 00 67 3E 20 AD B4 28 06 -R 00 00 01 00 -T 76 00 00 00 -R 00 00 01 00 -T 76 00 00 00 21 00 00 C3 19 02 00 00 -R 00 00 01 00 00 08 01 00 -T 7C 00 00 00 -R 00 00 01 00 -T 7C 00 00 00 DD 4E 0A DD 46 0B DD 5E 04 DD 56 -R 00 00 01 00 -T 87 00 00 00 05 CD 00 00 00 00 DD 73 FC DD 72 -R 00 00 01 00 02 06 03 00 -T 90 00 00 00 FD DD 6E 0C DD 66 0D 4E 23 46 21 -R 00 00 01 00 -T 9B 00 00 00 08 00 DD 5E 0C DD 56 0D 19 56 23 -R 00 00 01 00 -T A6 00 00 00 66 6A A7 ED 42 DD 75 F8 DD 74 F9 -R 00 00 01 00 -T B1 00 00 00 DD 4E FC DD 46 FD A7 ED 42 30 18 -R 00 00 01 00 -T BC 00 00 00 DD 5E 0C DD 56 0D 3E 00 00 00 00 -R 00 00 01 00 2B 0B 00 00 -T C4 00 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 00 00 02 0A 06 00 -T CB 00 00 00 B4 28 06 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 21 00 00 C3 19 02 00 00 -R 00 00 01 00 00 08 01 00 -T D4 00 00 00 -R 00 00 01 00 -T D4 00 00 00 DD 6E 0C DD 66 0D 4E 23 46 21 -R 00 00 01 00 -T DE 00 00 00 08 00 DD 5E 0C DD 56 0D 19 56 23 -R 00 00 01 00 -T E9 00 00 00 66 6A A7 ED 42 DD 75 F8 DD 74 F9 -R 00 00 01 00 -T F4 00 00 00 DD 4E FC DD 46 FD A7 ED 42 38 61 -R 00 00 01 00 -T FF 00 00 00 -R 00 00 01 00 -T FF 00 00 00 21 0C 00 DD 4E 0C DD 46 0D 09 7E -R 00 00 01 00 -T 0A 01 00 00 F6 80 77 23 7E F6 00 77 DD 6E FC -R 00 00 01 00 -T 15 01 00 00 DD 66 FD E5 DD 4E 02 DD 46 03 DD -R 00 00 01 00 -T 20 01 00 00 6E 0C DD 66 0D 5E 23 56 3E -R 00 00 01 00 -T 29 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 2E 01 00 00 00 00 00 00 F1 DD 6E 0C DD 66 0D -R 00 00 01 00 02 04 06 00 -T 37 01 00 00 7E DD 86 FC 77 23 7E DD 8E FD 77 -R 00 00 01 00 -T 42 01 00 00 DD 7E FA E6 03 28 0E -R 00 00 01 00 -T 49 01 00 00 -R 00 00 01 00 -T 49 01 00 00 DD 5E 0C DD 56 0D 3E 00 00 00 00 -R 00 00 01 00 2B 0B 00 00 -T 51 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 00 00 02 0A 06 00 -T 57 01 00 00 -R 00 00 01 00 -T 57 01 00 00 DD 6E 0A DD 66 0B C3 19 02 00 00 -R 00 00 01 00 00 0B 01 00 -T 60 01 00 00 -R 00 00 01 00 -T 60 01 00 00 DD 6E FC DD 66 FD DD 75 FE DD 74 -R 00 00 01 00 -T 6B 01 00 00 FF -R 00 00 01 00 -T 6C 01 00 00 -R 00 00 01 00 -T 6C 01 00 00 DD 6E FC DD 66 FD E5 DD 4E 02 DD -R 00 00 01 00 -T 77 01 00 00 46 03 21 0A 00 DD 5E 0C DD 56 0D -R 00 00 01 00 -T 82 01 00 00 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 01 00 -T 89 01 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 01 00 02 09 06 00 -T 90 01 00 00 75 F8 DD 74 F9 4D 44 21 00 00 CD -R 00 00 01 00 -T 9B 01 00 00 00 00 00 00 30 22 -R 00 00 01 00 02 04 09 00 -T 9F 01 00 00 -R 00 00 01 00 -T 9F 01 00 00 DD 6E F8 DD 66 F9 DD 4E 02 DD 46 -R 00 00 01 00 -T AA 01 00 00 03 09 DD 75 02 DD 74 03 21 04 00 -R 00 00 01 00 -T B5 01 00 00 39 7E DD 96 F8 77 23 7E DD 9E F9 -R 00 00 01 00 -T C0 01 00 00 77 -R 00 00 01 00 -T C1 01 00 00 -R 00 00 01 00 -T C1 01 00 00 DD 4E F8 DD 46 F9 21 00 00 CD -R 00 00 01 00 -T CB 01 00 00 00 00 00 00 38 9D DD 7E F8 DD A6 -R 00 00 01 00 02 04 09 00 -T D4 01 00 00 F9 3C 20 09 2A 00 00 00 00 3E 04 -R 00 00 01 00 02 09 07 00 -T DD 01 00 00 AD B4 28 8B -R 00 00 01 00 -T E1 01 00 00 -R 00 00 01 00 -T E1 01 00 00 DD CB F9 7E 28 13 -R 00 00 01 00 -T E7 01 00 00 -R 00 00 01 00 -T E7 01 00 00 21 0C 00 DD 4E 0C DD 46 0D 09 7E -R 00 00 01 00 -T F2 01 00 00 F6 00 77 23 7E F6 02 77 -R 00 00 01 00 -T FA 01 00 00 -R 00 00 01 00 -T FA 01 00 00 21 06 00 39 7E DD 96 FC 77 23 7E -R 00 00 01 00 -T 05 02 00 00 DD 9E FD 77 DD 4E 04 DD 46 05 DD -R 00 00 01 00 -T 10 02 00 00 5E FE DD 56 FF CD 00 00 00 00 EB -R 00 00 01 00 02 0A 0A 00 -T 19 02 00 00 -R 00 00 01 00 -T 19 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 diff --git a/src/mkutil/link-z80/ASLINK.H b/src/mkutil/link-z80/ASLINK.H deleted file mode 100644 index 44bd752f..00000000 --- a/src/mkutil/link-z80/ASLINK.H +++ /dev/null @@ -1,932 +0,0 @@ -/* aslink.h */ - -/* - * (C) Copyright 1989-2002 - * All Rights Reserved - * - * Alan R. Baldwin - * 721 Berkeley St. - * Kent, Ohio 44240 - * - * With enhancements from - * John L. Hartman (JLH) - * jhartman@compuserve.com - * - * Bill McKinnon - * w_mckinnon@conknet.com - */ - -#define VERSION "V03.11" - -/*)Module aslink.h - * - * The module aslink.h contains the definitions for constants, - * structures, global variables, and LKxxxx functions - * contained in the LKxxxx.c files. - */ - -/*)BUILD - $(PROGRAM) = ASLINK - $(INCLUDE) = ASLINK.H - $(FILES) = { - LKMAIN.C - LKLEX.C - LKAREA.C - LKHEAD.C - LKSYM.C - LKEVAL.C - LKDATA.C - LKLIST.C - LKRLOC.C - LKLIBR.C - LKS19.C - LKIHX.C - } - $(STACK) = 2000 -*/ - -/* DECUS C void definition */ -/* File/extension seperator */ - -#ifdef decus -#define VOID char -#define FSEPX '.' -#endif - -/* PDOS C void definition */ -/* File/extension seperator */ - -#ifdef PDOS -#define VOID char -#define FSEPX ':' -#endif - -/* Default void definition */ -/* File/extension seperator */ - -#ifndef VOID -#define VOID void -#define FSEPX '.' -#define OTHERSYSTEM -#endif - -/* Path separator added by Nick */ -#ifdef WIN32 -#define SLASH '\\' -#else -#define SLASH '/' -#endif - -/* - * Error definitions - */ -#define ER_NONE 0 /* No error */ -#define ER_WARNING 1 /* Warning */ -#define ER_ERROR 2 /* Assembly error */ -#define ER_FATAL 3 /* Fatal error */ - -/* - * This file defines the format of the - * relocatable binary file. - */ - -#define NCPS 80 /* characters per symbol */ -#define NDATA 16 /* actual data */ -#define NINPUT 200 /* Input buffer size */ -#define NHASH 64 /* Buckets in hash table */ -#define HMASK 077 /* Hash mask */ -#define NLPP 60 /* Lines per page */ -#define NTXT 16 /* T values */ -#define NMAX 78 /* Maximum S19/IHX line length */ -#define FILSPC 80 /* File spec length */ - -/* - * The "R_" relocation constants define values used in - * generating the assembler relocation output data for - * areas, symbols, and code. - * - * - * Relocation types. - * - * 7 6 5 4 3 2 1 0 - * +-----+-----+-----+-----+-----+-----+-----+-----+ - * | MSB | PAGn| PAG0| USGN| BYT2| PCR | SYM | BYT | - * +-----+-----+-----+-----+-----+-----+-----+-----+ - */ - -#define R_WORD 0000 /* 16 bit */ -#define R_BYTE 0001 /* 8 bit */ - -#define R_AREA 0000 /* Base type */ -#define R_SYM 0002 - -#define R_NORM 0000 /* PC adjust */ -#define R_PCR 0004 - -#define R_BYT1 0000 /* Byte count for R_BYTE = 1 */ -#define R_BYTX 0010 /* Byte count for R_BYTE = X */ - -#define R_SGND 0000 /* Signed value */ -#define R_USGN 0020 /* Unsigned value */ - -#if 1 /* Nick has reassigned the R_PAG0 and R_PAG bits! */ -#define R_BYTE3 0040 /* byte after 'high' byte */ -#define R_BYTE4 0100 /* byte after 'byte3' byte */ -#else -#define R_NOPAG 0000 /* Page Mode */ -#define R_PAG0 0040 /* Page '0' */ -#define R_PAG 0100 /* Page 'nnn' */ -#endif - -#define R_LSB 0000 /* output low byte */ -#define R_MSB 0200 /* output high byte */ - -/* - * Additional "R_" functionality is required to support - * some microprocesssor architectures. The 'illegal' - * "R_" mode of R_WORD | R_BYTX is used as a designator - * of the extended R_ modes. The extended modes replace - * the PAGING modes and are being added in an adhoc manner - * as follows: - * - * Extended Mode relocation flags - * - * 7 6 5 4 3 2 1 0 - * +-----+-----+-----+-----+-----+-----+-----+-----+ - * | MSB | x | x | USGN| 1 | PCR | SYM | 0 | - * +-----+-----+-----+-----+-----+-----+-----+-----+ - */ - -#define R_ECHEK 0011 /* Extended Mode Check Bits */ -#define R_EXTND 0010 /* Extended Mode Code */ -#define R_EMASK 0151 /* Extended Mode Mask */ - -/* #define R_AREA 0000 */ /* Base type */ -/* #define R_SYM 0002 */ - -/* #define R_NORM 0000 */ /* PC adjust */ -/* #define R_PCR 0004 */ - -/* #define R_SGND 0000 */ /* Signed value */ -/* #define R_USGN 0020 */ /* Unsigned value */ - -/* #define R_LSB 0000 */ /* output low byte */ -/* #define R_MSB 0200 */ /* output high byte */ - -#define R_J11 0010 /* JLH: 11 bit JMP and CALL (8051) */ -#define R_J19 0050 /* BM: 19 bit JMP and CALL (DS80C390) */ -#define R_3BYTE 0110 /* 24 bit */ -#define R_4BYTE 0150 /* 32 bit */ - -/* - * Global symbol types. - */ -#define S_REF 1 /* referenced */ -#define S_DEF 2 /* defined */ - -/* - * Area types - */ -#define A_NUL 001 /* Nick, means segment only defines symbols */ -#define A_CON 000 /* concatenate */ -#define A_OVR 004 /* overlay */ -#define A_REL 000 /* relocatable */ -#define A_ABS 010 /* absolute */ -#define A_NOPAG 000 /* non-paged */ -#define A_PAG 020 /* paged */ - -/* - * File types - */ -#define F_STD 1 /* stdin */ -#define F_LNK 2 /* File.lnk */ -#define F_REL 3 /* File.rel */ - -/* - * General assembler address type - */ -typedef unsigned int a_uint; - -/* - * The structures of head, area, areax, and sym are created - * as the REL files are read during the first pass of the - * linker. The struct head is created upon encountering a - * H directive in the REL file. The structure contains a - * link to a link file structure (struct lfile) which describes - * the file containing the H directive, the number of data/code - * areas contained in this header segment, the number of - * symbols referenced/defined in this header segment, a pointer - * to an array of pointers to areax structures (struct areax) - * created as each A directive is read, and a pointer to an - * array of pointers to symbol structures (struct sym) for - * all referenced/defined symbols. As H directives are read - * from the REL files a linked list of head structures is - * created by placing a link to the new head structure - * in the previous head structure. - */ -struct head -{ - struct head *h_hp; /* Header link */ - struct lfile *h_lfile;/* Associated file */ - int h_narea; /* # of areas */ - struct areax **a_list; /* Area list */ - int h_nglob; /* # of global symbols */ - struct sym **s_list; /* Globle symbol list */ - char * m_id; /* Module name */ -}; - -/* - * A structure area is created for each 'unique' data/code - * area definition found as the REL files are read. The - * struct area contains the name of the area, a flag byte - * which contains the area attributes (REL/CON/OVR/ABS), - * the area base address set flag byte (-b option), and the - * area base address and total size which will be filled - * in at the end of the first pass through the REL files. - * As A directives are read from the REL files a linked - * list of unique area structures is created by placing a - * link to the new area structure in the previous area structure. - */ -struct area -{ - struct area *a_ap; /* Area link */ - struct areax *a_axp; /* Area extension link */ -#if 1 /* Nick */ - a_uint a_addr; /* logical beginning address of area */ - a_uint a_size; /* logical size of the area */ - a_uint a_incr; /* logical banksize increment */ - a_uint a_paddr; /* physical beginning address of area */ - a_uint a_psize; /* physical size of the area */ - a_uint a_pincr; /* physical banksize increment */ - a_uint a_baddr; /* banksize threshold for advancing the bank */ - a_uint a_bsize; /* banksize counter for advancing the bank */ - a_uint a_bincr; /* banksize increment allows overlaid banks */ - char a_bset; /* logical base address set */ - char a_iset; /* logical banksize increment set */ - char a_pbset; /* physical base address set */ - char a_piset; /* physical banksize increment set */ - char a_baset; /* banksize threshold set */ - char a_biset; /* banksize increment set */ - char a_bcflg; /* bank concatenation flag for area */ -#else - a_uint a_addr; /* Beginning address of area */ - a_uint a_size; /* Total size of the area */ - char a_bset; /* Area base address set */ -#endif - char a_flag; /* Flag byte */ - char * a_id; /* Name */ -}; - -/* - * An areax structure is created for every A directive found - * while reading the REL files. The struct areax contains a - * link to the 'unique' area structure referenced by the A - * directive and to the head structure this area segment is - * a part of. The size of this area segment as read from the - * A directive is placed in the areax structure. The beginning - * address of this segment will be filled in at the end of the - * first pass through the REL files. As A directives are read - * from the REL files a linked list of areax structures is - * created for each unique area. The final areax linked - * list has at its head the 'unique' area structure linked - * to the linked areax structures (one areax structure for - * each A directive for this area). - */ -struct areax -{ - struct areax *a_axp; /* Area extension link */ - struct area *a_bap; /* Base area link */ - struct head *a_bhp; /* Base header link */ - a_uint a_addr; /* Beginning address of section */ -#if 1 /* Nick */ - a_uint a_paddr; /* Beginning physical address of section */ -#endif - a_uint a_size; /* Size of the area in section */ -#if 1 /* Nick */ - char * m_id; /* Module name */ -#endif -}; - -/* - * A sym structure is created for every unique symbol - * referenced/defined while reading the REL files. The - * struct sym contains the symbol's name, a flag value - * (not used in this linker), a symbol type denoting - * referenced/defined, and an address which is loaded - * with the relative address within the area in which - * the symbol was defined. The sym structure also - * contains a link to the area where the symbol was defined. - * The sym structures are linked into linked lists using - * the symbol link element. - */ -struct sym -{ - struct sym *s_sp; /* Symbol link */ - struct areax *s_axp; /* Symbol area link */ - char s_type; /* Symbol subtype */ - char s_flag; /* Flag byte */ - a_uint s_addr; /* Address */ - char *s_id; /* Name (JLH) */ - char *m_id; /* Module symbol define in */ -}; - -/* - * The structure lfile contains a pointer to a - * file specification string, an index which points - * to the file name (past the 'path'), the file type, - * an object output flag, and a link to the next - * lfile structure. - */ -struct lfile -{ - struct lfile *f_flp; /* lfile link */ - int f_type; /* File type */ - char *f_idp; /* Pointer to file spec */ - int f_idx; /* Index to file name */ - int f_obj; /* Object output flag */ -}; - -/* - * The struct base contains a pointer to a - * base definition string and a link to the next - * base structure. - */ -struct base -{ - struct base *b_base; /* Base link */ - char *b_strp; /* String pointer */ -}; - -/* - * The struct globl contains a pointer to a - * global definition string and a link to the next - * global structure. - */ -struct globl -{ - struct globl *g_globl; /* Global link */ - char *g_strp; /* String pointer */ -}; - -/* - * A structure sdp is created for each 'unique' paged - * area definition found as the REL files are read. - * As P directives are read from the REL files a linked - * list of unique sdp structures is created by placing a - * link to the new sdp structure in the previous area structure. - */ -struct sdp -{ - struct area *s_area; /* Paged Area link */ - struct areax *s_areax; /* Paged Area Extension Link */ - a_uint s_addr; /* Page address offset */ -}; - -/* - * The structure rerr is loaded with the information - * required to report an error during the linking - * process. The structure contains an index value - * which selects the areax structure from the header - * areax structure list, a mode value which selects - * symbol or area relocation, the base address in the - * area section, an area/symbol list index value, and - * an area/symbol offset value. - */ -struct rerr -{ - int aindex; /* Linking area */ - int mode; /* Relocation mode */ - a_uint rtbase; /* Base address in section */ - int rindex; /* Area/Symbol reloaction index */ - a_uint rval; /* Area/Symbol offset value */ -}; - -/* - * The structure lbpath is created for each library - * path specification input by the -k option. The - * lbpath structures are linked into a list using - * the next link element. - */ -struct lbpath { - struct lbpath *next; - char *path; -}; - -/* - * The structure lbname is created for all combinations of the - * library path specifications (input by the -k option) and the - * library file specifications (input by the -l option) that - * lead to an existing file. The element path points to - * the path string, element libfil points to the library - * file string, and the element libspc is the concatenation - * of the valid path and libfil strings. - * - * The lbpath structures are linked into a list - * using the next link element. - * - * Each library file contains a list of object files - * that are contained in the particular library. e.g.: - * - * \iolib\termio - * \inilib\termio - * - * Only one specification per line is allowed. - */ -struct lbname { - struct lbname *next; - char *path; - char *libfil; - char *libspc; - int f_obj; -}; - -/* - * The function fndsym() searches through all combinations of the - * library path specifications (input by the -k option) and the - * library file specifications (input by the -l option) that - * lead to an existing file for a symbol definition. - * - * The structure lbfile is created for the first library - * object file which contains the definition for the - * specified undefined symbol. - * - * The element libspc points to the library file path specification - * and element relfil points to the object file specification string. - * The element filspc is the complete path/file specification for - * the library file to be imported into the linker. The f_obj - * flag specifies if the object code from this file is - * to be output by the linker. The file specification - * may be formed in one of two ways: - * - * (1) If the library file contained an absolute - * path/file specification then this becomes filspc. - * (i.e. C:\...) - * - * (2) If the library file contains a relative path/file - * specification then the concatenation of the path - * and this file specification becomes filspc. - * (i.e. \...) - * - * The lbpath structures are linked into a list - * using the next link element. - */ -struct lbfile { - struct lbfile *next; - char *libspc; - char *relfil; - char *filspc; - int f_obj; -}; - -/* - * External Definitions for all Global Variables - */ - -extern char *_abs_; /* = { ". .ABS." }; - */ -extern int lkerr; /* ASLink error flag - */ -extern char *ip; /* pointer into the REL file - * text line in ib[] - */ -extern char ib[NINPUT]; /* REL file text line - */ -extern char *rp; /* pointer into the LST file - * text line in rb[] - */ -extern char rb[NINPUT]; /* LST file text line being - * address relocated - */ -extern char ctype[]; /* array of character types, one per - * ASCII character - */ - -/* - * Character Type Definitions - */ -#define SPACE '\000' -#define ETC '\000' -#define LETTER '\001' -#define DIGIT '\002' -#define BINOP '\004' -#define RAD2 '\010' -#define RAD8 '\020' -#define RAD10 '\040' -#define RAD16 '\100' -#define ILL '\200' - -#define DGT2 DIGIT|RAD16|RAD10|RAD8|RAD2 -#define DGT8 DIGIT|RAD16|RAD10|RAD8 -#define DGT10 DIGIT|RAD16|RAD10 -#define LTR16 LETTER|RAD16 - -extern char ccase[]; /* an array of characters which - * perform the case translation function - */ - -extern struct lfile *filep; /* The pointers (lfile *) filep, - * (lfile *) cfp, and (FILE *) sfp - * are used in conjunction with - * the routine getline() to read - * asmlnk commands from - * (1) the standard input or - * (2) or a command file - * and to read the REL files - * sequentially as defined by the - * asmlnk input commands. - * - * The pointer *filep points to the - * beginning of a linked list of - * lfile structures. - */ -extern struct lfile *cfp; /* The pointer *cfp points to the - * current lfile structure - */ -extern struct lfile *startp;/* asmlnk startup file structure - */ -#if 1 /* Nick */ -extern struct lfile *outfp; /* pointer to an lfile structure - * containing an input REL file - * specification, or -o specification - */ -#endif -extern struct lfile *linkp; /* pointer to first lfile structure - * containing an input REL file - * specification - */ -extern struct lfile *lfp; /* pointer to current lfile structure - * being processed by parse() - */ -extern struct head *headp; /* The pointer to the first - * head structure of a linked list - */ -extern struct head *hp; /* Pointer to the current - * head structure - */ -extern struct area *areap; /* The pointer to the first - * area structure of a linked list - */ -extern struct area *ap; /* Pointer to the current - * area structure - */ -extern struct areax *axp; /* Pointer to the current - * areax structure - */ -extern struct sym *symhash[NHASH]; /* array of pointers to NHASH - * linked symbol lists - */ -extern struct base *basep; /* The pointer to the first - * base structure - */ -extern struct base *bsp; /* Pointer to the current - * base structure - */ -extern struct globl *globlp;/* The pointer to the first - * globl structure - */ -extern struct globl *gsp; /* Pointer to the current - * globl structure - */ -extern struct sdp sdp; /* Base Paged structure - */ -extern struct rerr rerr; /* Structure containing the - * linker error information - */ -extern FILE *ofp; /* Linker Output file handle - */ -extern FILE *mfp; /* Map output file handle - */ -extern FILE *rfp; /* File handle for output - * address relocated ASxxxx - * listing file - */ -extern FILE *sfp; /* The file handle sfp points to the - * currently open file - */ -extern FILE *tfp; /* File handle for input - * ASxxxx listing file - */ -extern char afn[FILSPC]; /* current input file specification - */ -extern int afp; /* current input file path length - */ -extern char afntmp[FILSPC]; /* temporary input file specification - */ -extern int afptmp; /* temporary input file path length - */ -extern int oflag; /* Output file type flag - */ -extern int objflg; /* Linked file/library object output flag - */ -extern int mflag; /* Map output flag - */ -extern int xflag; /* Map file radix type flag - */ -extern int pflag; /* print linker command file flag - */ -extern int uflag; /* Listing relocation flag - */ -extern int wflag; /* Enable wide format listing - */ -extern int zflag; /* Enable symbol case sensitivity - */ -extern int radix; /* current number conversion radix: - * 2 (binary), 8 (octal), 10 (decimal), - * 16 (hexadecimal) - */ -extern int line; /* current line number - */ -extern int page; /* current page number - */ -extern int lop; /* current line number on page - */ -extern int pass; /* linker pass number - */ -extern int rtcnt; /* count of elements in the - * rtval[] and rtflg[] arrays - */ -extern a_uint rtval[]; /* data associated with relocation - */ -extern int rtflg[]; /* indicates if rtval[] value is - * to be sent to the output file. - */ -extern char rtbuf[]; /* S19/IHX output buffer - */ -extern int rtaflg; /* rtbuf[] processing - */ -extern a_uint rtadr0; /* - */ -extern a_uint rtadr1; /* - */ -extern a_uint rtadr2; /* - */ -extern a_uint rtadr3; /* Nick, only for Intel format, makes sure we - output a new extended linear address record - after rtadr1 wraps from 0000ffff -> 00010000 - */ -extern int obj_flag; /* Linked file/library object output flag - */ -extern int a_bytes; /* REL file T Line address length - */ -extern int hilo; /* REL file byte ordering - */ -extern a_uint a_mask; /* Address Mask - */ -extern a_uint s_mask; /* Sign Mask - */ -extern a_uint v_mask; /* Value Mask - */ -extern int gline; /* LST file relocation active - * for current line - */ -extern int gcntr; /* LST file relocation active - * counter - */ -extern struct lbpath *lbphead; /* pointer to the first - * library path structure - */ -extern struct lbname *lbnhead; /* pointer to the first - * library name structure - */ -extern struct lbfile *lbfhead; /* pointer to the first - * library file structure - */ - -/* C Library function definitions */ -/* for reference only -extern VOID exit(); -extern int fclose(); -extern char * fgets(); -extern FILE * fopen(); -extern int fprintf(); -extern VOID free(); -extern VOID * malloc(); -extern char putc(); -extern char * strcpy(); -extern int strlen(); -extern char * strncpy(); -extern char * strrchr(); -*/ - -/* Program function definitions */ - -#ifdef OTHERSYSTEM - -/* lkmain.c */ -extern FILE * afile(char *fn, char *ft, int wf); -extern VOID afilex(char *fn, char *ft); -extern VOID bassav(void); -extern int fndidx(char *str); -extern VOID gblsav(void); -extern VOID link(void); -extern VOID lkexit(int i); -extern int main(int argc, char *argv[]); -extern VOID map(void); -extern int parse(void); -extern VOID doparse(void); -extern VOID setbas(void); -extern VOID setgbl(void); -extern VOID usage(int n); - -/* lklex.c */ -extern char endline(void); -extern int get(void); -extern VOID getfid(char *str, int c); -extern VOID getid(char *id, int c); -extern int getline(void); -extern int getmap(int d); -extern int getnb(void); -extern int more(void); -extern VOID skip(int c); -extern VOID unget(int c); - -/* lkarea.c */ -extern VOID lkparea(char *id); -extern VOID lnkarea(void); -extern VOID lnksect(struct area *tap); -extern VOID newarea(void); - -/* lkhead.c */ -extern VOID module(void); -extern VOID newhead(void); - -/* lksym.c */ -extern int hash(char *p, int cflag); -extern struct sym * lkpsym(char *id, int f); -extern char * new(unsigned int n); -extern struct sym * newsym(void); -extern char * strsto(char *str); -extern VOID symdef(FILE *fp); -extern int symeq(char *p1, char *p2, int cflag); -extern VOID syminit(void); -extern VOID symmod(FILE *fp, struct sym *tsp); -extern a_uint symval(struct sym *tsp); - -/* lkeval.c */ -extern int digit(int c, int r); -extern a_uint eval(void); -extern a_uint expr(int n); -extern int oprio(int c); -extern a_uint term(void); - -/* lklist.c */ -extern int dgt(int rdx, char *str, int n); -extern VOID newpag(FILE *fp); -extern VOID slew(struct area *xp); -extern VOID lstarea(struct area *xp); -extern VOID lkulist(int i); -extern VOID lkalist(a_uint pc); -extern VOID lkglist(a_uint pc, int v); - -/* lkrloc.c */ -extern a_uint adb_1b(a_uint v, int i); -extern a_uint adb_2b(a_uint v, int i); -extern a_uint adb_3b(a_uint v, int i); -extern a_uint adb_4b(a_uint v, int i); -extern a_uint adb_xb(a_uint v, int i); -#ifdef R_BYTE4 /* Nick has reassigned the R_PAG0 and R_PAG bits! */ -extern a_uint adb_byte4(a_uint v, int i); -#endif -#ifdef R_BYTE3 /* Nick has reassigned the R_PAG0 and R_PAG bits! */ -extern a_uint adb_byte3(a_uint v, int i); -#endif -extern a_uint adb_hi(a_uint v, int i); -extern a_uint adb_lo(a_uint v, int i); -extern a_uint adw_xb(int x, a_uint v, int i); -extern a_uint evword(void); -extern VOID rele(void); -extern VOID reloc(int c); -extern VOID relt(void); -extern VOID relr(void); -extern VOID relp(void); -extern VOID relerr(char *str); -extern char * errmsg[]; -extern VOID errdmp(FILE *fptr, char *str); -extern VOID relerp(char *str); -extern VOID erpdmp(FILE *fptr, char *str); -extern VOID prntval(FILE *fptr, a_uint v); - -/* lklibr.c */ -extern VOID addfile(char *path, char *libfil); -extern VOID addlib(void); -extern VOID addpath(void); -extern int fndsym(char *name); -extern VOID library(void); -extern VOID loadfile(char *filspc); -extern VOID search(void); - -/* lkout.c */ -extern VOID lkout(int i); -extern VOID ixx(int i); -extern VOID iflush(void); -extern VOID sxx(int i); -extern VOID sflush(void); - -#else - -/* lkmain.c */ -extern FILE * afile(); -extern VOID afilex(); -extern VOID bassav(); -extern int fndidx(); -extern VOID gblsav(); -extern VOID link(); -extern VOID lkexit(); -extern int main(); -extern VOID map(); -extern int parse(); -extern VOID doparse(); -extern VOID setbas(); -extern VOID setgbl(); -extern VOID usage(); - -/* lklex.c */ -extern char endline(); -extern int get(); -extern VOID getfid(); -extern VOID getid(); -extern int getline(); -extern int getmap(); -extern int getnb(); -extern int more(); -extern VOID skip(); -extern VOID unget(); - -/* lkarea.c */ -extern VOID lkparea(); -extern VOID lnkarea(); -extern VOID lnksect(); -extern VOID newarea(); - -/* lkhead.c */ -extern VOID module(); -extern VOID newhead(); - -/* lksym.c */ -extern int hash(); -extern struct sym * lkpsym(); -extern VOID * new(); -extern struct sym * newsym(); -extern char * strsto(); -extern VOID symdef(); -extern int symeq(); -extern VOID syminit(); -extern VOID symmod(); -extern a_uint symval(); - -/* lkeval.c */ -extern int digit(); -extern a_uint eval(); -extern a_uint expr(); -extern int oprio(); -extern a_uint term(); - -/* lklist.c */ -extern int dgt(); -extern VOID newpag(); -extern VOID slew(); -extern VOID lstarea(); -extern VOID lkulist(); -extern VOID lkalist(); -extern VOID lkglist(); - -/* lkrloc.c */ -extern a_uint adb_1b(); -extern a_uint adb_2b(); -extern a_uint adb_3b(); -extern a_uint adb_4b(); -extern a_uint adb_xb(); -extern a_uint adb_hi(); -extern a_uint adb_lo(); -extern a_uint adw_xb(); -extern a_uint evword(); -extern VOID rele(); -extern VOID reloc(); -extern VOID relt(); -extern VOID relr(); -extern VOID relp(); -extern VOID relerr(); -extern char * errmsg[]; -extern VOID errdmp(); -extern VOID relerp(); -extern VOID erpdmp(); -extern VOID prntval(); - -/* lklibr.c */ -extern VOID addfile(); -extern VOID addlib(); -extern VOID addpath(); -extern int fndsym(); -extern VOID library(); -extern VOID loadfile(); -extern VOID search(); - -/* lkout.c */ -extern VOID lkout(); -extern VOID ixx(); -extern VOID iflush(); -extern VOID sxx(); -extern VOID sflush(); - -#endif - diff --git a/src/mkutil/link-z80/CVS/Entries b/src/mkutil/link-z80/CVS/Entries new file mode 100644 index 00000000..f2e1f13f --- /dev/null +++ b/src/mkutil/link-z80/CVS/Entries @@ -0,0 +1,20 @@ +/aslink.h/1.1.1.1/Mon Nov 17 19:06:06 2003// +/intelhex.pdf/1.1.1.1/Mon Nov 17 19:06:06 2003/-kb/ +/link-z80.exe/1.1.1.1/Mon Nov 17 19:06:08 2003/-kb/ +/link-z80.lnk/1.1.1.1/Mon Nov 17 19:06:08 2003// +/link-z80.map/1.1.1.1/Mon Nov 17 19:06:08 2003// +/lkarea.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/lkdata.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/lkeval.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/lkhead.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/lklex.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/lklibr.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/lklibr.c%/1.1.1.1/Mon Nov 17 19:06:08 2003// +/lklist.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/lkmain.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/lkout.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/lkrloc.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/lksym.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/n.bat/1.1.1.1/Mon Nov 17 19:06:08 2003// +/x.bat/1.1.1.1/Mon Nov 17 19:06:08 2003// +D diff --git a/src/mkutil/link-z80/CVS/Repository b/src/mkutil/link-z80/CVS/Repository new file mode 100644 index 00000000..fe80defb --- /dev/null +++ b/src/mkutil/link-z80/CVS/Repository @@ -0,0 +1 @@ +uzi/src/mkutil/link-z80 diff --git a/src/mkutil/link-z80/CVS/Root b/src/mkutil/link-z80/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/mkutil/link-z80/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/link-z80/aslink.h b/src/mkutil/link-z80/aslink.h index 23620306..44bd752f 100644 --- a/src/mkutil/link-z80/aslink.h +++ b/src/mkutil/link-z80/aslink.h @@ -70,6 +70,13 @@ #define OTHERSYSTEM #endif +/* Path separator added by Nick */ +#ifdef WIN32 +#define SLASH '\\' +#else +#define SLASH '/' +#endif + /* * Error definitions */ @@ -295,6 +302,9 @@ struct areax a_uint a_paddr; /* Beginning physical address of section */ #endif a_uint a_size; /* Size of the area in section */ +#if 1 /* Nick */ + char * m_id; /* Module name */ +#endif }; /* @@ -596,6 +606,14 @@ extern FILE *sfp; /* The file handle sfp points to the extern FILE *tfp; /* File handle for input * ASxxxx listing file */ +extern char afn[FILSPC]; /* current input file specification + */ +extern int afp; /* current input file path length + */ +extern char afntmp[FILSPC]; /* temporary input file specification + */ +extern int afptmp; /* temporary input file path length + */ extern int oflag; /* Output file type flag */ extern int objflg; /* Linked file/library object output flag @@ -642,6 +660,10 @@ extern a_uint rtadr1; /* */ extern a_uint rtadr2; /* */ +extern a_uint rtadr3; /* Nick, only for Intel format, makes sure we + output a new extended linear address record + after rtadr1 wraps from 0000ffff -> 00010000 + */ extern int obj_flag; /* Linked file/library object output flag */ extern int a_bytes; /* REL file T Line address length @@ -692,6 +714,7 @@ extern char * strrchr(); /* lkmain.c */ extern FILE * afile(char *fn, char *ft, int wf); +extern VOID afilex(char *fn, char *ft); extern VOID bassav(void); extern int fndidx(char *str); extern VOID gblsav(void); @@ -803,6 +826,7 @@ extern VOID sflush(void); /* lkmain.c */ extern FILE * afile(); +extern VOID afilex(); extern VOID bassav(); extern int fndidx(); extern VOID gblsav(); diff --git a/src/mkutil/link-z80/lkarea.obj b/src/mkutil/link-z80/lkarea.obj deleted file mode 100644 index 9e3bd8201b40a68a03f056435549b1896ffd229c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8220 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 R@fd$ehc{jZWE+(x{RfZ6nQs69 diff --git a/src/mkutil/link-z80/lkeval.obj b/src/mkutil/link-z80/lkeval.obj deleted file mode 100644 index 00002e26a6f0b410046763d3f67d282b51a29fa9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7537 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 diff --git a/src/mkutil/link-z80/lklex.obj b/src/mkutil/link-z80/lklex.obj deleted file mode 100644 index 9fcb908cf18428c481aa8145c0d6c12289b7eefb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8278 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 ZpX!BW0v^NGpFA|3|GS%B*SMgL{ts32r}Y2; diff --git a/src/mkutil/link-z80/lklibr.obj b/src/mkutil/link-z80/lklibr.obj deleted file mode 100644 index 1dc8dbbf2b58aa979e1f777caf968b4634800689..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11821 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 diff --git a/src/mkutil/link-z80/lklist.obj b/src/mkutil/link-z80/lklist.obj deleted file mode 100644 index c238a1ccb35f580718b7f0c72c11e7fbd46f1a2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18570 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 diff --git a/src/mkutil/link-z80/lkmain.obj b/src/mkutil/link-z80/lkmain.obj deleted file mode 100644 index 3d34b564aa69045cbd8aa60429581abb0db03fab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30058 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 OBqdBU9&O-7Oh diff --git a/src/mkutil/link-z80/lkout.obj b/src/mkutil/link-z80/lkout.obj deleted file mode 100644 index 2471e275859a17ab1140484fee42479146e5fefc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7258 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 Fe*^7}dK&-$ diff --git a/src/mkutil/link-z80/lkrloc.obj b/src/mkutil/link-z80/lkrloc.obj deleted file mode 100644 index f7649629d5379499bd0d6836e1cc648a688aa80c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20078 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 diff --git a/src/mkutil/link-z80/lksym.obj b/src/mkutil/link-z80/lksym.obj deleted file mode 100644 index e4b0f3c8191de04f84e777c58d5023ca36c3c3a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8400 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 - - -Development starting with GNU make 3.76 by: - Paul D. Smith - - -GNU Make User's Manual - Written by: - Richard M. Stallman - - Edited by: - Roland McGrath - Bob Chassell - Melissa Weisshaus - Paul D. Smith - ------------------------------------ -GNU make porting efforts: - - Port to VMS by: - Klaus Kaempf - Archive support/Bug fixes by: - John W. Eaton - Martin Zinser - - Port to Amiga by: - Aaron Digulla - - - Port to MS-DOS (DJGPP) and MS-Windows 95/NT by: - DJ Delorie - Rob Tulloh - Eli Zaretskii - ------------------------------------ -Other contributors: - - Janet Carson - Howard Chu - Paul Eggert - Klaus Heinz - Michael Joosten - Jim Kelton - David Lubbren - Tim Magill - Greg McGary - Han-Wen Nienhuys - Andreas Schwab - Carl Staelin (Princeton University) - Ian Stewartson (Data Logic Limited) - -With suggestions/comments/bug reports from a cast of ... well ... -hundreds, anyway :) +----------------------------------- + +GNU make development up to version 3.75 by: + Roland McGrath + + +Development starting with GNU make 3.76 by: + Paul D. Smith + + +GNU Make User's Manual + Written by: + Richard M. Stallman + + Edited by: + Roland McGrath + Bob Chassell + Melissa Weisshaus + Paul D. Smith + +----------------------------------- +GNU make porting efforts: + + Port to VMS by: + Klaus Kaempf + Archive support/Bug fixes by: + John W. Eaton + Martin Zinser + + Port to Amiga by: + Aaron Digulla + + + Port to MS-DOS (DJGPP) and MS-Windows 95/NT by: + DJ Delorie + Rob Tulloh + Eli Zaretskii + +----------------------------------- +Other contributors: + + Janet Carson + Howard Chu + Paul Eggert + Klaus Heinz + Michael Joosten + Jim Kelton + David Lubbren + Tim Magill + Greg McGary + Han-Wen Nienhuys + Andreas Schwab + Carl Staelin (Princeton University) + Ian Stewartson (Data Logic Limited) + +With suggestions/comments/bug reports from a cast of ... well ... +hundreds, anyway :) diff --git a/src/mkutil/make/COPYING b/src/mkutil/make/COPYING index a3f6b12e..bb096909 100644 --- a/src/mkutil/make/COPYING +++ b/src/mkutil/make/COPYING @@ -1,340 +1,340 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - Appendix: How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) 19yy - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place - Suite 330, Boston, MA + 02111-1307, USA. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/src/mkutil/make/CVS/Entries b/src/mkutil/make/CVS/Entries index 48d51a65..221c7d86 100644 --- a/src/mkutil/make/CVS/Entries +++ b/src/mkutil/make/CVS/Entries @@ -1,83 +1,91 @@ -/.cvsignore/2.9/Wed Sep 11 16:55:44 2002// -/.purify/2.2/Tue Jul 20 22:34:41 1999// -/AUTHORS/2.6/Tue Jul 9 06:35:56 2002// -/COPYING/1.2/Wed Dec 11 00:49:47 1996// -/ChangeLog/2.219/Fri May 2 01:44:59 2003// -/ChangeLog.1/2.1/Thu Apr 27 16:45:51 1995// -/ChangeLog.2/2.1/Mon Jul 8 02:26:47 2002// -/INSTALL/1.4/Thu Jul 30 20:55:07 1998// -/Makefile.DOS.template/2.12/Tue Nov 19 04:39:15 2002// -/Makefile.am/2.40/Fri May 2 01:44:59 2003// -/Makefile.ami/2.6/Tue Nov 19 04:39:15 2002// -/NEWS/2.62/Fri May 2 01:44:59 2003// -/NMakefile.template/2.10/Tue Nov 19 04:39:15 2002// -/README.Amiga/2.3/Wed Aug 27 20:31:01 1997// -/README.DOS.template/1.9/Mon Jun 19 21:22:44 2000// -/README.OS2.template/2.1/Fri May 2 01:44:59 2003// -/README.W32.template/2.1/Tue Aug 31 17:02:37 1999// -/README.customs/2.2/Fri Oct 15 07:01:01 1999// -/README.cvs/2.10/Fri May 2 01:44:59 2003// -/README.template/1.22/Tue Sep 3 21:43:04 2002// -/SCOPTIONS/2.1/Thu May 9 18:02:18 1996// -/SMakefile.template/2.6/Tue Nov 19 04:39:15 2002// -/TODO.private/2.4/Fri Jul 7 17:34:56 2000// -/acinclude.m4/2.19/Fri May 10 03:15:08 2002// -/alloca.c/1.17/Mon Oct 14 21:54:04 2002// -/amiga.c/2.5/Mon Oct 14 21:54:04 2002// -/amiga.h/2.2/Fri Mar 5 05:55:17 1999// -/ar.c/1.15/Mon Oct 14 21:54:04 2002// -/arscan.c/1.41/Thu Jan 30 05:22:52 2003// -/build.template/1.13/Fri May 2 01:44:59 2003// -/build_w32.bat/2.7/Tue Nov 19 04:39:15 2002// -/commands.c/1.54/Thu Jan 30 05:22:52 2003// -/commands.h/1.6/Fri Mar 5 05:55:20 1999// -/config.ami.template/2.8/Tue Jun 20 05:48:40 2000// -/config.h-vms.template/2.13/Thu Aug 8 00:11:19 2002// -/config.h.W32.template/2.13/Sat Aug 10 01:27:17 2002// -/configh.dos.template/1.13/Sat Aug 10 01:27:17 2002// -/configure.bat/1.4/Wed Aug 27 20:31:07 1997// -/configure.in/1.119/Fri May 2 01:44:59 2003// -/debug.h/1.2/Sat Nov 27 08:09:42 1999// -/default.c/1.43/Fri May 2 01:44:59 2003// -/dep.h/1.15/Mon Jul 8 13:05:02 2002// -/dir.c/1.51/Fri May 2 01:44:59 2003// -/dosbuild.bat/1.4/Mon Jul 8 13:05:02 2002/-kb/ -/expand.c/1.35/Thu Jan 30 06:21:36 2003// -/file.c/1.69/Fri Mar 28 06:31:45 2003// -/filedef.h/2.19/Thu Aug 1 13:16:57 2002// -/function.c/1.77/Fri May 2 01:44:59 2003// -/getloadavg.c/1.47/Mon Oct 14 21:54:04 2002// -/getopt.c/1.18/Mon Oct 14 21:54:04 2002/-ko/ -/getopt.h/1.9/Sat Jun 21 04:31:18 1997/-ko/ -/getopt1.c/1.6/Mon Oct 14 21:54:04 2002/-ko/ -/gettext.h/2.4/Sun Apr 21 23:57:24 2002// -/hash.c/2.4/Mon Oct 14 21:54:04 2002// -/hash.h/2.3/Wed Sep 11 16:55:44 2002// -/implicit.c/1.38/Fri May 2 01:44:59 2003// -/job.c/1.149/Fri May 2 01:44:59 2003// -/job.h/1.16/Mon Mar 24 23:14:15 2003// -/main.c/1.181/Mon Mar 24 23:14:15 2003// -/maintMakefile/2.21/Fri May 2 01:44:59 2003// -/make.1/1.8/Tue Jul 6 21:09:34 1999// -/make.h/1.100/Tue Mar 25 02:46:42 2003// -/make.lnk/2.1/Thu May 9 18:02:36 1996// -/makefile.com/2.8/Tue Oct 1 15:32:14 2002// -/makefile.vms/2.8/Tue Oct 1 15:32:14 2002// -/misc.c/1.56/Thu Jan 30 05:22:52 2003// -/read.c/1.129/Fri May 2 01:44:59 2003// -/readme.vms/2.7/Sat Jan 22 05:59:28 2000// -/remake.c/1.110/Tue Mar 25 00:15:25 2003// -/remote-cstms.c/1.13/Mon Oct 14 21:54:04 2002// -/remote-stub.c/1.9/Mon Oct 14 21:54:04 2002// -/rule.c/1.34/Fri May 2 01:45:00 2003// -/rule.h/1.11/Fri May 2 01:45:00 2003// -/signame.c/1.18/Mon Oct 14 21:54:04 2002// -/subproc.bat/2.3/Thu Jul 30 20:57:27 1998// -/variable.c/1.72/Fri May 2 01:45:00 2003// -/variable.h/1.27/Fri May 2 01:45:00 2003// -/version.c/2.20/Wed Sep 1 08:04:38 1999// -/vmsdir.h/2.3/Sat Jan 22 05:43:03 2000// -/vmsfunctions.c/2.9/Mon Oct 14 21:54:04 2002// -/vmsify.c/2.8/Mon Oct 14 21:54:04 2002// -/vpath.c/1.38/Mon Mar 24 23:14:15 2003// -D +/AUTHORS/1.1.1.1/Mon Nov 17 19:06:08 2003// +/COPYING/1.1.1.1/Mon Nov 17 19:06:08 2003// +/ChangeLog/1.1.1.1/Mon Nov 17 19:06:08 2003// +/ChangeLog.1/1.1.1.1/Mon Nov 17 19:06:08 2003// +/ChangeLog.2/1.1.1.1/Mon Nov 17 19:06:08 2003// +/INSTALL/1.1.1.1/Mon Nov 17 19:06:08 2003// +/Makefile.DOS.template/1.1.1.1/Mon Nov 17 19:06:08 2003// +/Makefile.am/1.1.1.1/Mon Nov 17 19:06:08 2003// +/Makefile.ami/1.1.1.1/Mon Nov 17 19:06:08 2003// +/NEWS/1.1.1.1/Mon Nov 17 19:06:08 2003// +/NMakefile/1.1.1.1/Mon Nov 17 19:06:10 2003// +/NMakefile.template/1.1.1.1/Mon Nov 17 19:06:10 2003// +/README.Amiga/1.1.1.1/Mon Nov 17 19:06:10 2003// +/README.DOS.template/1.1.1.1/Mon Nov 17 19:06:10 2003// +/README.OS2.template/1.1.1.1/Mon Nov 17 19:06:10 2003// +/README.W32.template/1.1.1.1/Mon Nov 17 19:06:10 2003// +/README.customs/1.1.1.1/Mon Nov 17 19:06:10 2003// +/README.cvs/1.1.1.1/Mon Nov 17 19:06:10 2003// +/README.template/1.1.1.1/Mon Nov 17 19:06:10 2003// +/SCOPTIONS/1.1.1.1/Mon Nov 17 19:06:10 2003// +/SMakefile.template/1.1.1.1/Mon Nov 17 19:06:10 2003// +/TODO.private/1.1.1.1/Mon Nov 17 19:06:10 2003// +/acinclude.m4/1.1.1.1/Mon Nov 17 19:06:08 2003// +/alloca.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/amiga.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/amiga.h/1.1.1.1/Mon Nov 17 19:06:08 2003// +/ar.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/arscan.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/build.template/1.1.1.1/Mon Nov 17 19:06:08 2003// +/build_w32.bat/1.1.1.1/Mon Nov 17 19:06:08 2003// +/commands.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/commands.h/1.1.1.1/Mon Nov 17 19:06:08 2003// +/config.ami.template/1.1.1.1/Mon Nov 17 19:06:08 2003// +/config.h/1.1.1.1/Mon Nov 17 19:06:08 2003// +/config.h-vms.template/1.1.1.1/Mon Nov 17 19:06:08 2003// +/config.h.W32/1.1.1.1/Mon Nov 17 19:06:08 2003// +/config.h.W32.template/1.1.1.1/Mon Nov 17 19:06:08 2003// +/configh.dos.template/1.1.1.1/Mon Nov 17 19:06:08 2003// +/configure.bat/1.1.1.1/Mon Nov 17 19:06:08 2003// +/configure.in/1.1.1.1/Mon Nov 17 19:06:08 2003// +/debug.h/1.1.1.1/Mon Nov 17 19:06:08 2003// +/default.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/dep.h/1.1.1.1/Mon Nov 17 19:06:08 2003// +/dir.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/dosbuild.bat/1.1.1.1/Mon Nov 17 19:06:08 2003// +/expand.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/file.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/filedef.h/1.1.1.1/Mon Nov 17 19:06:08 2003// +/function.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/function.c%/1.1.1.1/Mon Nov 17 19:06:08 2003// +/getloadavg.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/getopt.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/getopt.h/1.1.1.1/Mon Nov 17 19:06:08 2003// +/getopt1.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/gettext.h/1.1.1.1/Mon Nov 17 19:06:08 2003// +/hash.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/hash.h/1.1.1.1/Mon Nov 17 19:06:08 2003// +/implicit.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/job.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/job.h/1.1.1.1/Mon Nov 17 19:06:08 2003// +/main.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/maintMakefile/1.1.1.1/Mon Nov 17 19:06:08 2003// +/make.1/1.1.1.1/Mon Nov 17 19:06:08 2003// +/make.h/1.1.1.1/Mon Nov 17 19:06:08 2003// +/make.lnk/1.1.1.1/Mon Nov 17 19:06:08 2003// +/makefile.com/1.1.1.1/Mon Nov 17 19:06:08 2003/-kb/ +/makefile.vms/1.1.1.1/Mon Nov 17 19:06:08 2003// +/misc.c/1.1.1.1/Mon Nov 17 19:06:08 2003// +/n.bat/1.1.1.1/Mon Nov 17 19:06:08 2003// +/read.c/1.1.1.1/Mon Nov 17 19:06:10 2003// +/readme.vms/1.1.1.1/Mon Nov 17 19:06:10 2003// +/remake.c/1.1.1.1/Mon Nov 17 19:06:10 2003// +/remote-cstms.c/1.1.1.1/Mon Nov 17 19:06:10 2003// +/remote-stub.c/1.1.1.1/Mon Nov 17 19:06:10 2003// +/rule.c/1.1.1.1/Mon Nov 17 19:06:10 2003// +/rule.h/1.1.1.1/Mon Nov 17 19:06:10 2003// +/signame.c/1.1.1.1/Mon Nov 17 19:06:10 2003// +/subproc.bat/1.1.1.1/Mon Nov 17 19:06:10 2003// +/variable.c/1.1.1.1/Mon Nov 17 19:06:10 2003// +/variable.h/1.1.1.1/Mon Nov 17 19:06:10 2003// +/version.c/1.1.1.1/Mon Nov 17 19:06:10 2003// +/vmsdir.h/1.1.1.1/Mon Nov 17 19:06:10 2003// +/vmsfunctions.c/1.1.1.1/Mon Nov 17 19:06:10 2003// +/vmsify.c/1.1.1.1/Mon Nov 17 19:06:10 2003// +/vpath.c/1.1.1.1/Mon Nov 17 19:06:10 2003// +D/config//// +D/doc//// +D/glob//// +D/po//// +D/tests//// +D/w32//// diff --git a/src/mkutil/make/CVS/Entries.Log b/src/mkutil/make/CVS/Entries.Log deleted file mode 100644 index a730f72d..00000000 --- a/src/mkutil/make/CVS/Entries.Log +++ /dev/null @@ -1,7 +0,0 @@ -A D/config//// -A D/doc//// -A D/glob//// -A D/i18n//// -A D/po//// -A D/tests//// -A D/w32//// diff --git a/src/mkutil/make/CVS/Repository b/src/mkutil/make/CVS/Repository index 8f58e6df..ef533ca8 100644 --- a/src/mkutil/make/CVS/Repository +++ b/src/mkutil/make/CVS/Repository @@ -1 +1 @@ -make +uzi/src/mkutil/make diff --git a/src/mkutil/make/CVS/Root b/src/mkutil/make/CVS/Root index 132093b8..933b8194 100644 --- a/src/mkutil/make/CVS/Root +++ b/src/mkutil/make/CVS/Root @@ -1 +1 @@ -:pserver:anoncvs@subversions.gnu.org:/cvsroot/make +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/make/ChangeLog b/src/mkutil/make/ChangeLog index b5db5715..1ae62735 100644 --- a/src/mkutil/make/ChangeLog +++ b/src/mkutil/make/ChangeLog @@ -1,1130 +1,1130 @@ -2003-04-30 Paul D. Smith - - * build.template: Make some changes to maybe allow this script to - work on DOS/Windows/OS2 systems. Suggested by Andreas Buening. - - * README.OS2.template: New file for OS/2 support. Original - contributed by Andreas Buening. - * configure.in: Invoke new pds_AC_DOS_PATHS macro to test for - DOS-style paths. - -2003-04-19 Paul D. Smith - - Fix bug #1405: allow a target to match multiple pattern-specific - variables. - - * rule.c (create_pattern_var, lookup_pattern_var): Move these to - variable.c, where they've always belonged. - * rule.h: Move the prototypes and struct pattern_var as well. - * variable.c (initialize_file_variables): Invoke - lookup_pattern_var() in a loop, until no more matches are found. - If a match is found, create a new variable set for the target's - pattern variables. Then merge the contents of each matching - pattern variable set into the target's pattern variable set. - (lookup_pattern_var): Change this function to be usable - in a loop. It takes a starting position: if NULL, start at the - beginning; if non-NULL, start with the pattern variable after that - position, and return the next matching pattern. - (create_pattern_var): Create a unique instance of - pattern-specific variables for every definition in the makefile. - Don't combine the same pattern together. This allows us to - process the variable handling properly even when the same pattern - is used multiple times. - (parse_variable_definition): New function: break out the parsing - of a variable definition line from try_variable_definition. - (try_variable_definition): Call parse_variable_definition to - parse. - (print_variable_data_base): Print out pattern-specific variables. - * variable.h (struct variable): Remember when a variable is - conditional. Also remember its flavor. - (struct pattern_var): Instead of keeping a variable set, we just - keep a single variable for each pattern. - * read.c (record_target_var): Each pattern variable contains only a - single variable, not a set, so create it properly. - * doc/make.texi (Pattern-specific): Document the new behavior. - -2003-04-17 Paul D. Smith - - * dir.c (file_exists_p) [VMS]: Patch provided with Bug #3018 by - Jean-Pierre Portier . I don't understand the - file/directory naming rules for VMS so I can't tell whether this - is correct or not. - -2003-04-09 Paul D. Smith - - * configure.in (HAVE_DOS_PATHS): Define this on systems that need - DOS-style pathnames: backslash separators and drive specifiers. - -2003-03-28 Paul D. Smith - - * file.c (snap_deps): If .SECONDARY with no targets is given, set - the intermediate flag on all targets. Fixes bug #2515. - -2003-03-24 Paul D. Smith - - * configure.in, Makefile.am, glob/Makefile.am, doc/Makefile.am: - Upgrade to autoconf 2.57 and automake 1.7.3. - - * job.c: More OS/2 changes from Andreas Buening. - - * file.c (print_file): Fix variable initialization. - Fixes bug #2892. - - * remake.c (notice_finished_file): - - * make.h (ENULLLOOP): Set errno = 0 before invoking the command; - some calls (like readdir()) return NULL in valid situations - without resetting errno. Fixes bug #2846. - -2003-02-25 Paul D. Smith - - Port to OS/2 (__EMX__) by Andreas Buening . - - * job.c (_is_unixy_shell) [OS/2]: New function. - Set default shell to /bin/sh. - (reap_children): Close the job_rfd pipe here since we don't use a - SIGCHLD handler. - (set_child_handler_action_flags): define this to empty on OS/2. - (start_job_command): Close the jobserver pipe and use - child_execute_job() instead of fork/exec. - (child_execute_job): Rewrite to handle stdin/stdout FDs and spawn - rather than exec'ing, then reconfigure stdin/stdout. - (exec_command): Rewrite to use spawn instead of exec. Return the - PID of the child. - - * main.c (main) [OS/2]: Call initialize_main(). Handle argv[0] as - in DOS. Handle the TEMP environment variable as in DOS. Don't - use a SIGCHLD handler on OS/2. Choose a shell as in DOS. Don't - use -j in DOS mode. Use child_execute_job() instead of - exec_command(). - - * function.c (func_shell) [OS/2]: Can't use fork/exec on OS/2: use - spawn() instead. - - * job.h [OS/2]: Move CLOSE_ON_EXEC here from job.c. Add - prototypes that return values. - - * remake.c (f_mtime) [OS/2]: Handle FAT timestamp offsets for OS/2. - - * read.c (readline) [OS/2]: Don't handle CRLF specially on OS/2. - * default.c (default_suffixes) [OS/2]: Set proper default suffixes - for OS/2. - * vpath.c (construct_vpath_list) [OS/2]: Handle OS/2 paths like - DOS paths. - -2003-02-24 Paul D. Smith - - * default.c [VMS]: New default rules for .cxx -> .obj compiles. - * job.c (child_execute_job) [VMS]: New code for handling spawn(). - (child_execute_job) [VMS]: Handle error status properly. - Patches provided by Hartmut Becker . - - * function.c (func_shell): Use EINTRLOOP() while reading from the - subshell pipe (Fixes bug #2502). - * job.c (free_child): Use EINTRLOOP() while writing tokens to the - jobserver pipe. - * main.c (main): Ditto. - -2003-01-30 Paul D. Smith - - * read.c (eval): eval() was not fully reentrant, because the - collapsed buffer was static. Change it to be an automatic - variable so that eval() can be invoked recursively. - Fixes bug # 2238. - (eval): Apply patch # 1022: fix memory reference error on long - target-specific variable lines. - Patch provided by Steve Brown . - - * function.c (check_numeric): Combine the is_numeric() function - into this function, since it's only called from one place. - Constify this function. Have it print the incorrect string in the - error message. Fixes bug #2407. - (strip_whitespace): Constify. - (func_if): Constify. - * expand.c (expand_argument): Constify. - -2003-01-29 Paul D. Smith - - Fix bug # 2169, also reported by other people on various systems. - - * make.h: Some systems, such as Solaris and PTX, do not fully - implement POSIX-compliant SA_RESTART functionality; important - system calls like stat() and readdir() can still fail with EINTR - even if SA_RESTART has been set on the signal handler. So, - introduce macros EINTRLOOP() and ENULLLOOP() which can loop on - EINTR for system calls which return -1 or 0 (NULL), respectively, - on error. - Also, remove the old atomic_stat()/atomic_readdir() and - HAVE_BROKEN_RESTART handling. - - * configure.in: Remove setting of HAVE_BROKEN_RESTART. - - * arscan.c (ar_member_touch): Use EINTRLOOP() to wrap fstat(). - * remake.c (touch_file): Ditto. - - * commands.c (delete_target): Use EINTRLOOP() to wrap stat(). - * read.c (construct_include_path): Ditto. - * remake.c (name_mtime): Ditto. - * vpath.c (selective_vpath_search): Ditto. - * dir.c (find_directory): Ditto. - (local_stat): Ditto. - (find_directory): Use ENULLLOOP() to wrap opendir(). - (dir_contents_file_exists_p): Use ENULLLOOP() to wrap readdir(). - - * misc.c: Remove HAVE_BROKEN_RESTART, atomic_stat(), and - atomic_readdir() handling. - -2003-01-22 Paul D. Smith - - * function.c (func_call): Fix Bug #1744. If we're inside a - recursive invocation of $(call ...), mask any of the outer - invocation's arguments that aren't used by this one, so that this - invocation doesn't "inherit" them accidentally. - -2002-12-05 Paul D. Smith - - * function.c (subst_expand): Valery Khamenia reported a - pathological performance hit when doing substitutions on very - large values with lots of words: turns out we were invoking - strlen() a ridiculous number of times. Instead of having each - call to sindex() call strlen() again, keep track of how much of - the text we've seen and pass the length to sindex(). - -2002-11-19 Paul D. Smith - - * README.cvs, configure.in: Upgrade to require autoconf 2.56. - - -2002-11-16 Paul D. Smith - - * NMakefile.template (OBJS): Add hash.c object file. - * SMakefile.template (srcs): Ditto. - * Makefile.ami (objs): Ditto. - * build_w32.bat: Ditto. - - * Makefile.DOS.template: Remove extra dependencies. - -2002-10-25 Paul D. Smith - - * expand.c (install_variable_buffer): New function. Install a new - variable_buffer context and return the previous one. - (restore_variable_buffer): New function. Free the current - variable_buffer context and put a previously saved one back. - * variable.h: Prototypes for {install,restore}_variable_buffer. - * function.c (func_eval): Push a new variable_buffer context - before we eval, then restore the old one when we're done. - Fixes Bug #1517. - - * read.c (install_conditionals): New function. Install a new - conditional context and return the previous one. - (restore_conditionals): New function. Free the current - conditional context and put a previously saved one back. - (eval): Use the {install,restore}_conditionals for "include" - handling. - (eval_buffer): Use {install,restore}_conditionals to preserve the - present conditional state before we evaluate the buffer. - Fixes Bug #1516. - - * doc/make.texi (Quick Reference): Add references to $(eval ...) - and $(value ...). - (Recursion): Add a variable index entry for CURDIR. - - * README.cvs: Update to appropriate versions. - * Makefile.am (nodist_loadavg_SOURCES): automake gurus point out I - don't need to copy loadavg.c: automake is smart enough to create - it for me. Still have a bug in automake related to ansi2knr tho. - -2002-10-14 Paul D. Smith - - * remake.c (notice_finished_file): Only touch targets if they have - at least one command (as per POSIX). Resolve Bug #1418. - - * *.c: Convert to using ANSI C-style function definitions. - * Makefile.am: Enable the ansi2knr feature of automake. - * configure.in: ditto. - -2002-10-13 Paul D. Smith - - * commands.c (set_file_variables): Bug #1379: Don't use alloca() - for automatic variable values like $^, etc. In the case of very - large lists of prerequisites this causes problems. Instead reuse - a static buffer (resizeable) for each variable. - - * read.c (eval): Fix Bug #1391: allow "export" keyword in - target-specific variable definitions. Check for it and set an - "exported" flag. - (record_target_var): Set the export field to v_export if the - "exported" flag is set. - * doc/make.texi (Target-specific): Document the ability to use - "export". - - * doc/make.texi: Change the name of the section on automatic - variables from "Automatic" to "Automatic Variables". Added text - clarifying the scope of automatic variables. - -2002-10-04 Paul D. Smith - - * read.c (eval): Allow SysV $$@ variables to use {} braces as well - as () braces. - (record_files): Ditto. - - * expand.c (variable_expand_string): In $(A:x=y) expansion limit - the search for the '=' to only within the enclosing parens. - -2002-10-03 Paul D. Smith - - Version 3.80 released. - - * dir.c: Change hash functions to use K&R function definition style. - * function.c: Ditto. - * read.c: Ditto. - * variable.c: Ditto. - - Update to automake 1.7. - - * Makefile.am (AUTOMAKE_OPTIONS): Update to require 1.7. - (pdf): Remove this target as automake now provides one. - - * configure.in: Change AM_CONFIG_HEADER to AC_CONFIG_HEADERS. - -2002-09-30 Martin P.J. Zinser - - * makefile.com: Updates for GNU make 3.80. - * makefile.vms: Ditto. - -2002-09-23 Paul D. Smith - - * read.c (enum make_word_type): Remove w_comment. - (get_next_mword): Don't treat comment characters as special; where - this function is used we will never see a comment (it's stripped - before we get here) and treating comments specially means that - targets like "foo\#bar" aren't handled properly. - -2002-09-18 Paul D. Smith - - * doc/make.texi (Bugs): Update with some info on Savannah, etc. - - * read.c (eval): Expansion of arguments to export/unexport was - ignoring all arguments after the first one. Change the algorithm - to expand the whole line once, then parse the results. - -2002-09-17 Paul D. Smith - - Fix Bug #940 (plus another bug I found while looking at this): - - * read.c (record_target_var): enter_file() will add a new entry if - it's a double-colon target: we don't want to do that in this - situation. Invoke lookup_file() and only enter_file() if it does - not already exist. If the file we get back is a double-colon then - add this variable to the "root" double-colon target. - - * variable.c (initialize_file_variables): If this file is a - double-colon target but is not the "root" target, then initialize - the root and make the root's variable list the parent of our - variable list. - -2002-09-13 Paul D. Smith - - * doc/make.texi (MAKE Variable): Add some indexing for "+". - - * hash.c (round_up_2): Get rid of a warning. - -2002-09-12 Paul D. Smith - - * Makefile.am (loadavg_SOURCES, loadavg.c): Tiptoe around automake - so it doesn't complain about getloadavg.c. - - * commands.c (set_file_variables): Make sure we always alloca() at - least 1 character for the value of $? (for '\0'). - -2002-09-11 Paul D. Smith - - * hash.h (STRING_COMPARE, ISTRING_COMPARE, STRING_N_COMPARE): Fix - macro to use RESULT instead of the incorrect _RESULT_. - - * make.h (HAVE_BROKEN_RESTART): Add prototypes for atomic_stat() - and atomic_readdir(). We need to #include dirent.h to get this to - work. - * misc.c (atomic_readdir): Fix typos. - -2002-09-10 Paul D. Smith - - * read.c (eval): Expand variable lists given to export and - unexport, so that "export $(LIST_OF_VARIABLES)" (etc.) works. - (conditional_line): Ditto for "ifdef". Fixes bug #103. - - * doc/make.texi (Variables/Recursion): Document this. - (Conditional Syntax): And here. - -2002-09-09 Paul D. Smith - - * configure.in: Check for memmove(). - -2002-09-07 Paul D. Smith - - * configure.in (HAVE_BROKEN_RESTART): Define this on PTX systems; - Michael Sterrett reports that while it has - SA_RESTART, it does not work properly. - - * misc.c (atomic_stat): If HAVE_BROKEN_RESTART, create a function - that invokes stat() and loops to do it again if it returns EINTR. - (atomic_readdir): Ditto, with readdir(). - - * make.h (stat, readdir): If HAVE_BROKEN_RESTART, alias stat() - and readdir() to atomic_stat() and atomic_readdir(). - -2002-09-04 Paul D. Smith - - * implicit.c (pattern_search): Daniel - reports that GNU make sometimes doesn't recognize that targets can - be made, when directories can be created as prerequisites. He - reports that changing the order of predicates in the DEP->changed - flag test so that lookup_file() is always performed, solves this - problem. - -2002-08-08 Paul D. Smith - - * configure.in: Require a newer version of gettext. - - * misc.c (perror_with_name): Translate the format string (for - right-to-left language support). - (pfatal_with_name): Ditto. - - * main.c: Create a static array of strings to store the usage - text. This is done to facilitate translations. - (struct command_switch): Remove argdesc and description fields. - (switches): Remove values for obsolete fields. - (print_usage): Print each element of the usage array. - - * hash.c: Change function definitions to be K&R style. - -2002-08-02 Paul D. Smith - - * NEWS: Remove the mention of .TARGETS; we aren't going to publish - this one because it's too hard to get right. We'll look at it for - a future release. - * main.c (main): Don't create the .TARGETS variable. - * variable.c (handle_special_var): Don't handle .TARGETS. - -2002-08-01 Paul D. Smith - - * main.c (switches): Add a new option, -B (--always-make). If - specified, make will rebuild all targets that it encounters even - if they don't appear to be out of date. - (always_make_flag): New flag. - * make.h: Extern always_make_flag. - * remake.c (update_file_1): Check always_make_flag; if it's set we - will always rebuild any target we can, even if none of its - prerequisites are newer. - * NEWS: Mention it. - - * doc/make.texi (Shell Function): Make it clear that make - variables marked as "export" are not passed to instances of the - shell function. - - Add new introspection variable .VARIABLES and .TARGETS. - - * variable.c (handle_special_var): New function. If the variable - reference passed in is "special" (.VARIABLES or .TARGETS), - calculate the new value if necessary. .VARIABLES is handled here: - walk through the hash of defined variables and construct a value - which is a list of the names. .TARGETS is handled by - build_target_list(). - (lookup_variable): Invoke handle_special_var(). - * file.c (build_target_list): Walk through the hask of known files - and construct a list of the names of all the ones marked as - targets. - * main.c (main): Initialize them to empty (and as simple variables). - * doc/make.texi (Special Variables): Document them. - * NEWS: Mention them. - - * variable.h (struct variable): Add a new flag "exportable" which - is true if the variable name is valid for export. - * variable.c (define_variable_in_set): Set "exportable" when a new - variable is defined. - (target_environment): Use the "exportable" flag instead of - re-checking the name here... an efficiency improvement. - -2002-07-31 Paul D. Smith - - * config.h-vms.template: Updates to build on VMS. Thanks to - Brian_Benning@aksteel.com for helping verify the build. - * makefile.com: Build the new hash.c file. - * hash.h: Use strcpmi(), not stricmp(), in the - HAVE_CASE_INSENSITIVE_FS case. - -2002-07-30 Paul D. Smith - - * hash.h (ISTRING_COMPARE, return_ISTRING_COMPARE): Add missing - backslashes to the HAVE_CASE_INSENSITIVE_FS case. - Reported by . - -2002-07-10 Paul D. Smith - - * variable.c (pop_variable_scope): Remove variable made unused by - new hash infrastructure. - * read.c (dep_hash_cmp): Rewrite this to handle ignore_mtime - comparisons as well as name comparisons. - * variable.h: Add a prototype for new hash_init_function_table(). - * file.c (lookup_file): Remove variables made unused by new hash - infrastructure. - * dir.c (directory_contents_hash_2): Missing return of hash value. - (dir_contents_file_exists_p): Remove variables made unused by new - hash infrastructure. - - - Installed Greg McGary's integration of the hash functions from the - GNU id-utils package: - -2002-07-10 Greg McGary - - * scripts/functions/filter-out: Add literals to to the - pattern space in order to add complexity, and trigger - use of an internal hash table. Fix documentation strings. - * scripts/targets/INTERMEDIATE: Reverse order of files - passed to expected `rm' command. - -2002-07-10 Greg McGary - - * Makefile.am (SRCS): Add hash.c (noinst_HEADERS): Add hash.h - * hash.c: New file, taken from id-utils. - * hash.h: New file, taken from id-utils. - - * make.h (HASH, HASHI): Remove macros. - (find_char_unquote): Change arglist in decl. - (hash_init_directories): New function decl. - * variable.h (hash.h): New #include. - (MAKELEVEL_NAME, MAKELEVEL_LENGTH): New constants. - * filedef.h (hash.h): New #include. - (struct file) [next]: Remove member. - (file_hash_enter): Remove function decl. - (init_hash_files): New function decl. - - * ar.c (ar_name): Delay call to strlen until needed. - * main.c (initialize_global_hash_tables): New function. - (main): Call it. Use MAKELEVEL_NAME & MAKELEVEL_LENGTH. - * misc.c (remove_comments): Pass char constants to find_char_unquote. - * remake.c (notice_finished_file): Update last_mtime on `prev' chain. - - * dir.c (hash.h): New #include. - (struct directory_contents) [next, files]: Remove members. - [ctime]: Add member for VMS. [dirfiles]: Add hash-table member. - (directory_contents_hash_1, directory_contents_hash_2, - directory_contents_hash_cmp): New functions. - (directories_contents): Change type to `struct hash_table'. - (struct directory) [next]: Remove member. - (directory_hash_1, directory_hash_2, directory_hash_cmp): New funcs. - (directory): Change type to `struct hash_table'. - (struct dirfile) [next]: Remove member. - [length]: Add member. [impossible]: widen type to fill alignment gap. - (dirfile_hash_1, dirfile_hash_2, dirfile_hash_cmp): New functions. - (find_directory): Use new hash table package. - (dir_contents_file_exists_p): Likewise. - (file_impossible): Likewise. - (file_impossible_p): Likewise. - (print_dir_data_base): Likewise. - (open_dirstream): Likewise. - (read_dirstream): Likewise. - (hash_init_directories): New function. - - * file.c (hash.h): New #include. - (file_hash_1, file_hash_2, file_hash_cmp): New functions. - (files): Change type to `struct hash_table'. - (lookup_file): Use new hash table package. - (enter_file): Likewise. - (remove_intermediates): Likewise. - (snap_deps): Likewise. - (print_file_data_base): Likewise. - - * function.c - (function_table_entry_hash_1, function_table_entry_hash_2, - function_table_entry_hash_cmp): New functions. - (lookup_function): Remove `table' argument. - Use new hash table package. - (struct a_word) [chain, length]: New members. - (a_word_hash_1, a_word_hash_2, a_word_hash_cmp): New functions. - (struct a_pattern): New struct. - (func_filter_filterout): Pass through patterns noting boundaries - and '%', if present. Note a_word length. Use a hash table if - arglists are large enough to justify cost. - (function_table_init): Renamed from function_table. - (function_table): Declare as `struct hash_table'. - (FUNCTION_TABLE_ENTRIES): New constant. - (hash_init_function_table): New function. - - * read.c (hash.h): New #include. - (read_makefile): Pass char constants to find_char_unquote. - (dep_hash_1, dep_hash_2, dep_hash_cmp): New functions. - (uniquize_deps): Use hash table to efficiently identify duplicates. - (find_char_unquote): Accept two char-constant stop chars, rather - than a string constant, avoiding zillions of calls to strchr. - Tighten inner search loops to test only for desired delimiters. - - * variable.c (variable_hash_1, variable_hash_2, - variable_hash_cmp): New functions. - (variable_table): Declare as `struct hash_table'. - (global_variable_set): Remove initialization. - (init_hash_global_variable_set): New function. - (define_variable_in_set): Use new hash table package. - (lookup_variable): Likewise. - (lookup_variable_in_set): Likewise. - (initialize_file_variables): Likewise. - (pop_variable_scope): Likewise. - (create_new_variable_set): Likewise. - (merge_variable_sets): Likewise. - (define_automatic_variables): Likewise. - (target_environment): Likewise. - (print_variable_set): Likewise. - -2002-07-10 Paul D. Smith - - Implement the SysV make syntax $$@, $$(@D), and $$(@F) in the - prerequisite list. A real SysV make will expand the entire - prerequisites list _twice_: we don't do that as it's a big - backward-compatibility problem. We only replace those specific - variables. - - * read.c (record_files): Replace any $@, $(@D), and $(@F) variable - references left in the list of prerequisites. Check for .POSIX as - we record targets, so we can disable non-POSIX behavior while - reading makefiles as well as running them. - (eval): Check the prerequisite list to see if we have anything - that looks like a SysV prerequisite variable reference. - -2002-07-09 Paul D. Smith - - * doc/make.texi (Prerequisite Types): Add a new section describing - order-only prerequisites. - - * read.c (uniquize_deps): If we have the same file as both a - normal and order-only prereq, get rid of the order-only prereq, - since the normal one supersedes it. - -2002-07-08 Paul D. Smith - - * AUTHORS: Added Greg McGary to the AUTHORS file. - * NEWS: Blurbed order-only prerequisites. - * file.c (print_file): Show order-only deps properly when printing - the database. - - * maintMakefile: Add "update" targets for wget'ing the latest - versions of various external files. Taken from Makefile.maint in - autoconf, etc. - - * dosbuild.bat: Somehow we got _double_ ^M's. Remove them. - Reported by Eli Zaretskii . - -2002-07-07 Paul D. Smith - - * po/*.po: Remove. We'll use wget to retrieve them at release - time. - - * variable.c (do_variable_definition) [W32]: On W32 using cmd - rather than a shell you get an exception. Make sure we look up - the variable. Patch provided by Eli Zaretskii . - - * remake.c (notice_finished_file): Fix handling of -t flag. - Patch provided by Henning Makholm . - - * implicit.c (pattern_search): Some systems apparently run short - of stack space, and using alloca() in this function caused an - overrun. I modified it to use xmalloc() on the two variables - which seemed like they might get large. Fixes Bug #476. - - * main.c (print_version): Update copyright notice to conform with - GNU standards. - (print_usage): Update help output. - - * function.c (func_eval): Create a new make function, $(eval - ...). Expand the arguments, put them into a buffer, then invoke - eval_buffer() on the resulting string. - (func_quote): Create a new function, $(quote VARNAME). Inserts - the value of the variable VARNAME without expanding it any - further. - - * read.c (struct ebuffer): Change the linebuffer structure to an - "eval buffer", which can be either a file or a buffer. - (eval_makefile): Move the code in the old read_makefile() which - located a makefile into here: create a struct ebuffer with that - information. Have it invoke the new function eval() with that - ebuffer. - (eval_buffer): Create a new function that creates a struct ebuffer - that holds a string buffer instead of a file. Have it invoke - eval() with that ebuffer. - (eval): New function that contains the guts of the old - read_makefile() function: this function parses makefiles. Obtains - data to parse from the provided ebuffer. Some modifications to - make the flow of the function cleaner and clearer. Still could - use some work here... - (do_define): Takes a struct ebuffer instead of a FILE*. Read the - contents of the define/endef variable from the ebuffer. - (readstring): Read the next line from a string-style ebuffer. - (readline): Read the next line from an ebuffer. If it's a string - ebuffer, invoke readstring(). If it's a FILE* ebuffer, read it - from the file. - - * dep.h (eval_buffer): Prototype eval_buffer(); - - * variable.c (do_variable_definition): Make sure that all - non-target-specific variables are registered in the global set. - If we're invoked from an $(eval ...) we might be inside a $(call - ...) or other function which has pushed a variable scope; we still - want to define our variables from evaluated makefile code in the - global scope. - -2002-07-03 Greg McGary - - * dep.h (struct dep) [ignore_mtime]: New member. - [changed]: convert to a bitfield. - * implicit.c (pattern_search): Zero ignore_mtime. - * main.c (main, handle_non_switch_argument): Likewise. - * rule.c (convert_suffix_rule): Likewise. - * read.c (read_all_makefiles, read_makefile, multi_glob): Likewise. - (read_makefile): Parse '|' in prerequisite list. - (uniquize_deps): Consider ignore_mtime when comparing deps. - * remake.c (update_file_1, check_dep): Don't force remake for - dependencies that have d->ignore_mtime. - * commands.c (FILE_LIST_SEPARATOR): New constant. - (set_file_variables): Don't include a - prerequisite in $+, $^ or $? if d->ignore_mtime. - Define $|. - -2002-06-18 Paul D. Smith - - * make.texinfo: Updates for next revision. New date/rev/etc. - Recreate all Info menus. Change license on the manual to the GNU - Free Documentation License. A number of typos. - (Variables Simplify): Don't use "-" before it's defined. - (Automatic Prerequisites): Rewrite the target example to work - properly if the compile fails. Remove incorrect comments about - how "set -e" behaves. - (Text Functions): Move the "word", "wordlist", "words", and - "firstword" functions here, from "File Name Functions". - * make-stds.texi: Update from latest GNU version. - * fdl.texi: (created) Import the latest GNU version. - -2002-06-06 Paul D. Smith - - * variable.c (do_variable_definition): New function: extract the - part of try_variable_definition() that actually sets the value - into a separate function. - (try_variable_definition): Call do_variable_definition() after - parsing the variable definition string. - (define_variable_in_set): Make the name argument const. - - * variable.h (enum variable_flavor): Make public. - (do_variable_definition): Create prototype. - - * read.c (read_all_makefiles): Create a new built-in variable, - MAKEFILE_LIST. - (read_makefile): Add each makefile read in to this variable value. - -2002-05-18 Eli Zaretskii - - * Makefile.DOS.template: Tweak according to changes in the - distribution. Add back the dependencies of *.o files. - - * configh.dos.template: Synchronize with config.h.in. - -2002-05-09 Paul D. Smith - - * file.c (file_timestamp_now): Use K&R function declaration. - - * getloadavg.c (getloadavg): Merge setlocale() fix from sh-utils - getloadavg.c. Autoconf thinks QNX is SVR4-like, but it isn't, so - #undef it. Remove predefined setup of NLIST_STRUCT. Decide - whether to include nlist.h based on HAVE_NLIST_H. Change obsolete - NLIST_NAME_UNION to new HAVE_STRUCT_NLIST_N_UN_N_NAME. - * configure.in (NLIST_STRUCT): Define this if we have nlist.h and - nlist.n_name is a pointer rather than an array. - - * acinclude.m4 (make_FUNC_SETVBUF_REVERSED): Grab the latest - version of AC_FUNC_SETVBUF_REVERSED from autoconf CVS. - * configure.in: Use it instead of the old version. - - * main.c (main): Prefer setvbuf() to setlinebuf(). - -2002-05-08 Paul D. Smith - - * Makefile.am (make_LDADD): Add GETLOADAVG_LIBS. - (loadavg_LDADD): Ditto. - -2002-04-29 Paul D. Smith - - * expand.c (recursively_expand_for_file): Rename - recursively_expand() to recursively_expand_for_file() and provide - an extra argument, struct file. If the argument is provided, set - the variable scope to that of the file before expanding. - * variable.h (recursively_expand): Make this a macro that invokes - recursively_expand_for_file() with a NULL file pointer. - * variable.c (target_environment): Call the renamed function and - provide the current file context. - Fixes Debian bug #144306. - -2002-04-28 Paul D. Smith - - Allow $(call ...) user-defined variables to be self-referencing - without throwing an error. Allows implementation of transitive - closures, among other possibly useful things. - Requested by: Philip Guenther - - * variable.h (struct variable): Add a new field: exp_count, and - new macros to hold its size and maximum value. - (warn_undefined): Make this a macro. - * variable.c (define_variable_in_set): Initialize it. - * expand.c (recursively_expand): If we detect recursive expansion - of a variable, check the exp_count field. If it's greater than 0 - allow the recursion and decrement the count. - (warn_undefined): Remove this (now a macro in variable.h). - * function.c (func_call): Before we expand the user-defined - function, modify its exp_count field to contain the maximum - number of recursive calls we'll allow. After the call, reset it - to 0. - -2002-04-21 Paul D. Smith - - Modified to use latest autoconf (2.53), automake (1.6.1), and - gettext (0.11.1). We're using gettext's new "external" support, - to avoid including libintl source with GNU make. - - * README.cvs: New file. Explain how to build GNU make from CVS. - - * configure.in: Modify checking for the system glob library. - Use AC_EGREP_CPP instead of AC_TRY_CPP. Remove the setting of - GLOBDIR (we will always put "glob" in SUBDIRS, so automake - etc. will manage it correctly). Set an automake conditional - USE_LOCAL_GLOB to decide whether to compile the glob library. - - * getloadavg.c (main): Include make.h in the "TEST" program to - avoid warnings. - - * Makefile.am: Remove special rules for loadavg. Replace them - with Automake capabilities for building extra programs. - - * signame.c: This file does nothing if the system provide - strsignal(). If not, it implements strsignal(). If the system - doesn't define sys_siglist, then we make our own; otherwise we use - the system version. - * signame.h: Removed. - - * main.c (main): No need to invoke signame_init(). Update copyright. - - * ABOUT-NLS: Removed. - * gettext.c: Removed. - * gettext.h: Get a simplified copy from the gettext package. - * po/*: Created. - * i18n/*.po: Moved to po/. - * i18n/: Removed. - - * config/*: Created. Contains package configuration helper files. - * config.guess, config.sub: Moved to config directory. - - * configure.in (AC_CONFIG_FILES): Add po/Makefile.in, config/Makefile. - Rework to use new-style autoconf features. Use the "external" - mode for gettext. Make the build.sh config file conditional on - whether build.sh.in exists, to avoid autoconf errors. - * acinclude.m4: Removed almost all macros as being obsolete. - Rewrote remaining macros to use AC_DEFINE. - * acconfig.h: Removed. - - * Makefile.am (EXTRA_DIST): Add config/config.rpath. Use a - conditional to handle customs support. Remove special handling - for i18n features. - -2002-04-20 Paul D. Smith - - * function.c (func_call): Don't mark the argument variables $1, - etc. as recursive. They've already been fully expanded so - there's no need to do it again, and doing so strips escaped $'s. - Reported by Sebastian Glita . - - * remake.c (notice_finished_file): Walk through double-colon - entries via the prev field, not the next field! - Reported by Greg McGary . - - * main.c (main): If the user specifies -q and asks for a specific - target which is a makefile, we got an assert. In that case it - turns out we should continue normally instead. - - * i18n/de.po, i18n/fr.po: Installed an updated translation. - - * i18n/he.po: Installed a new translation. - -2002-01-07 Paul D. Smith - - * i18n/es.po, i18n/ru.po: Installed an updated translation. - -2001-12-04 Paul D. Smith - - * i18n/ja.po: Installed an updated translation. - -2001-09-04 Paul D. Smith - - * i18n/da.po: Installed an updated translation. - -2001-08-03 Paul D. Smith - - * i18n/fr.po: Installed an updated translation. - Resolves Debian bug #106720. - -2001-06-13 Paul D. Smith - - * i18n/da.po, configure.in (ALL_LINGUAS): Installed a new - translation. - -2001-06-11 Paul D. Smith - - * i18n/ko.po: Installed a new translation. - -2001-05-06 Paul D. Smith - - Modify the EINTR handling. - - * job.c (new_job): Reorganize the jobserver algorithm. Reorder - the way in which we manage the file descriptor/signal handler race - trap to be more efficient. - -2001-05-06 Paul Eggert - - Restart almost all system calls that are interrupted, instead - of worrying about EINTR. The lone exception is the read() for - job tokens. - - * configure.in (HAVE_SA_RESTART): New macro. - (MAKE_JOBSERVER): Define to 1 only if HAVE_SA_RESTART. - * main.c (main): Use SA_RESTART instead of the old, - nonstandard SA_INTERRUPT. - - * configure.in (AC_CHECK_FUNCS): Add bsd_signal. - * main.c (bsd_signal): New function or macro, - if the implementation doesn't supply it. - (The bsd_signal function will be in POSIX 1003.1-200x.) - (HANDLESIG): Remove. - (main, FATAL_SIG): Use bsd_signal instead of signal or HANDLESIG. - - * make.h (EINTR_SET): Remove. - (SA_RESTART): New macro. - - * arscan.c (ar_member_touch): Don't worry about EINTR. - * function.c (func_shell): Likewise. - * job.c (reap_children, free_child, new_job): Likewise. - * main.c (main): Likewise. - * remake.c (touch_file, name_mtime): Likewise. - - * arscan.c (ar_member_touch): Fix bug uncovered by EINTR removal; - if fstat failed with errno!=EINTR, the error was ignored. - - * job.c (set_child_handler_action_flags): New function. - (new_job): Use it to temporarily clear the SIGCHLD action flags - while reading the token. - -2001-05-02 Paul D. Smith - - * job.c (start_job_command): Don't add define/endef per-line flags - to the top-level flags setting. - -2001-04-03 Paul D. Smith - - * arscan.c (VMS_get_member_info,ar_scan) [VMS]: VMS sets the low - bit on error, so check for odd return values, not non-0 return - values. - (VMS_get_member_info): Calculate the timezone differences correctly. - Reported by John Fowler . - - -2001-03-14 Paul D. Smith - - * variable.c (lookup_variable) [VMS]: Null-terminate the variable - value before invoking define_variable(). - Reported by John Fowler . - -2001-02-07 Paul D. Smith - - * read.c (record_target_var): If we reset the variable due to a - command-line variable setting overriding it, turn off the "append" - flag. - -2001-01-17 Paul D. Smith - - * variable.c (lookup_variable) [VMS]: When getting values from the - environment, allocate enough space for the _value_ plus escapes, - not enough space for the name plus escapes :-/. - Reported by John Fowler . - - * remake.c (f_mtime): Removed the "***" prefix from the mod time - warnings that make generates, so it doesn't look like an error. - Reported by Karl Berry . - - - Fix for PR/2020: Rework appended target-specific variables. I'm - fairly confident this algorithm is finally correct. - - * expand.c (allocated_variable_append): Rewrite. Instead of - expanding each appended variable then adding all the expanded - strings together, we append all the unexpanded values going up - through the variable set contexts, then expand the final result. - This behaves just like non-target-specific appended variable - values, while the old way didn't in various corner cases. - (variable_append): New function: recursively append the unexpanded - value of a variable, walking from the outermost variable scope to - the innermost. - * variable.c (lookup_variable): Remove the code that looked up the - variable set list if the found variable was "append". We don't - need this anymore. - (lookup_variable_in_set): Make this non-static so we can use it - elsewhere. - (try_variable_definition): Use lookup_variable_in_set() rather - than faking out current_variable_set_list by hand (cleanup). - * variable.h: Add a prototype for the now non-static - lookup_variable_in_set(). - -2000-11-17 Paul D. Smith - - * remake.c (f_mtime) [WINDOWS32]: On various advice, I changed the - WINDOWS32 port to assume timestamps can be up to 3 seconds away - before throwing a fit. - -2000-11-17 Paul D. Smith - - * read.c (readline): CRLF calculations had a hole, if you hit the - buffer grow scenario just right. Reworked the algorithm to avoid - the need for len or lastlen at all. Problem description with - sample code chages provided by Chris Faylor . - -2000-10-24 Paul D. Smith - - * gettext.c (SWAP): Declare this with the prototype, otherwise - some systems don't work (non-32-bit? Reported for Cray T3E). - Reported by Thorstein Thorsteinsson . - -2000-10-05 Paul D. Smith - - * acinclude.m4 (AM_LC_MESSAGES): Remove undefined macro - AM_LC_MESSAGES; it doesn't seem to do anything anyway?? - - * i18n/gl.po, configure.in (ALL_LINGUAS): New Galician translation. - -2000-09-22 Paul D. Smith - - * gettext.c: Don't #define _GETTEXT_H here; we only include some - parts of the real gettext.h here, and we expect to really include - the real gettext.h later. If we keep this #define, it's ignored. - -2000-09-21 Paul D. Smith - - * main.c (log_working_directory): Rework the text to use complete - sentences, to make life simpler for the translators. - -2000-08-29 Paul D. Smith - - * file.c (remove_intermediates): Print a debug message before we - remove intermediate files, so the user (if she uses -d) knows - what's going on. - -2000-08-21 Paul D. Smith - - * variable.c (try_variable_definition): Change how we handle - target-specific append variable defns: instead of just setting the - value, expand it as an append _but_ only within the current - target's context. Otherwise we lose all but the last value if the - variable is appended more than once within the current target - context. Fixes PR/1831. - -2000-08-16 Paul D. Smith - - * function.c (func_shell): Nul-terminate the buffer before - printing an exec error message (just in case it's not!). - Fixes PR/1860, reported by Joey Hess . - -2000-07-25 Paul D. Smith - - * job.c (construct_command_argv_internal): Add "~" to the list of - sh_chars[] which disallow optimizing out the shell call. - -2000-07-23 Paul Eggert - - * NEWS, make.texinfo: Document .LOW_RESOLUTION_TIME, which - supersedes --disable-nsec-timestamps. - * make.texinfo: Consistently use "time stamp" instead of "timestamp". - * README: Remove --disable-nsec-timestamps. - - * filedef.h (struct file.low_resolution_time): New member. - * file.c (snap_deps): Add support for .LOW_RESOLUTION_TIME. - * remake.c (update_file_1): - Avoid spurious rebuilds due to low resolution time stamps, - generalizing the earlier code that applied only to archive members. - (f_mtime): Archive members always have low resolution time stamps. - - * configure.in: Remove --disable-nsec-timestamps, as this has - been superseded by .LOW_RESOLUTION_TIME. - -2000-07-23 Paul Eggert - - * configure.in (enable_nsec_timestamps): Renamed from - make_cv_nsec_timestamps, since enable/disable options - shouldn't be cached. - -2000-07-23 Bruno Haible - and Paul Eggert - - * file.c (file_timestamp_now): - Use preprocessor-time check for FILE_TIMESTAMP_HI_RES - so that clock_gettime is not linked unless needed. - - * filedef.h (FILE_TIMESTAMP_HI_RES): - Remove definition; "configure" now does this. - - * configure.in (jm_AC_TYPE_UINTMAX_T): Move up, - to before high resolution file timestamp check, - since that check now uses uintmax_t. - (FILE_TIMESTAMP_HI_RES): Define to nonzero if the code should use - high resolution file timestamps. - (HAVE_CLOCK_GETTIME): Do not define if !FILE_TIMESTAMP_HI_RES, - so that we don't link in clock_gettime unnecessarily. - -2000-07-17 Paul D. Smith - - * i18n/ja.po: New version of the translation file. - -2000-07-07 Paul D. Smith - - * remake.c (f_mtime): If NO_FLOAT is defined, don't bother with - the offset calculation. - (name_mtime): Replace EINTR test with EINTR_SET macro. - -2000-07-07 Paul Eggert - - Fix for PR/1811: - - * remake.c (update_file_1): - Avoid spurious rebuilds of archive members due to their - timestamp resolution being only one second. - (f_mtime): Avoid spurious warnings of timestamps in the future due to - the clock's resolution being lower than file timestamps'. - When warning about future timestamps, report only the discrepancy, - not the absolute value of the timestamp and the current time. - - * file.c (file_timestamp_now): New arg RESOLUTION. - * filedef.h (file_timestamp_now): Likewise. - (FILE_TIMESTAMP_NS): Now returns int. All uses changed. - -2000-07-05 Paul D. Smith - - * variable.c (lookup_variable) [VMS]: Remove vestigial references - to listp. Fixes PR/1793. - -2000-06-26 Paul Eggert - - * Makefile.am (MAINTAINERCLEANFILES): New macro, with stamp-pot in it. - - * dir.c (vms_hash): Ensure ctype macro args are nonnegative. - - * remake.c (f_mtime): Remove unused var memtime. - -2000-06-25 Martin Buchholz - - * make.texinfo, NEWS, TODO.private: Minor spelling corrections. - Ran spell-check on make.texinfo. - - -See ChangeLog.2 for earlier changes. +2003-04-30 Paul D. Smith + + * build.template: Make some changes to maybe allow this script to + work on DOS/Windows/OS2 systems. Suggested by Andreas Buening. + + * README.OS2.template: New file for OS/2 support. Original + contributed by Andreas Buening. + * configure.in: Invoke new pds_AC_DOS_PATHS macro to test for + DOS-style paths. + +2003-04-19 Paul D. Smith + + Fix bug #1405: allow a target to match multiple pattern-specific + variables. + + * rule.c (create_pattern_var, lookup_pattern_var): Move these to + variable.c, where they've always belonged. + * rule.h: Move the prototypes and struct pattern_var as well. + * variable.c (initialize_file_variables): Invoke + lookup_pattern_var() in a loop, until no more matches are found. + If a match is found, create a new variable set for the target's + pattern variables. Then merge the contents of each matching + pattern variable set into the target's pattern variable set. + (lookup_pattern_var): Change this function to be usable + in a loop. It takes a starting position: if NULL, start at the + beginning; if non-NULL, start with the pattern variable after that + position, and return the next matching pattern. + (create_pattern_var): Create a unique instance of + pattern-specific variables for every definition in the makefile. + Don't combine the same pattern together. This allows us to + process the variable handling properly even when the same pattern + is used multiple times. + (parse_variable_definition): New function: break out the parsing + of a variable definition line from try_variable_definition. + (try_variable_definition): Call parse_variable_definition to + parse. + (print_variable_data_base): Print out pattern-specific variables. + * variable.h (struct variable): Remember when a variable is + conditional. Also remember its flavor. + (struct pattern_var): Instead of keeping a variable set, we just + keep a single variable for each pattern. + * read.c (record_target_var): Each pattern variable contains only a + single variable, not a set, so create it properly. + * doc/make.texi (Pattern-specific): Document the new behavior. + +2003-04-17 Paul D. Smith + + * dir.c (file_exists_p) [VMS]: Patch provided with Bug #3018 by + Jean-Pierre Portier . I don't understand the + file/directory naming rules for VMS so I can't tell whether this + is correct or not. + +2003-04-09 Paul D. Smith + + * configure.in (HAVE_DOS_PATHS): Define this on systems that need + DOS-style pathnames: backslash separators and drive specifiers. + +2003-03-28 Paul D. Smith + + * file.c (snap_deps): If .SECONDARY with no targets is given, set + the intermediate flag on all targets. Fixes bug #2515. + +2003-03-24 Paul D. Smith + + * configure.in, Makefile.am, glob/Makefile.am, doc/Makefile.am: + Upgrade to autoconf 2.57 and automake 1.7.3. + + * job.c: More OS/2 changes from Andreas Buening. + + * file.c (print_file): Fix variable initialization. + Fixes bug #2892. + + * remake.c (notice_finished_file): + + * make.h (ENULLLOOP): Set errno = 0 before invoking the command; + some calls (like readdir()) return NULL in valid situations + without resetting errno. Fixes bug #2846. + +2003-02-25 Paul D. Smith + + Port to OS/2 (__EMX__) by Andreas Buening . + + * job.c (_is_unixy_shell) [OS/2]: New function. + Set default shell to /bin/sh. + (reap_children): Close the job_rfd pipe here since we don't use a + SIGCHLD handler. + (set_child_handler_action_flags): define this to empty on OS/2. + (start_job_command): Close the jobserver pipe and use + child_execute_job() instead of fork/exec. + (child_execute_job): Rewrite to handle stdin/stdout FDs and spawn + rather than exec'ing, then reconfigure stdin/stdout. + (exec_command): Rewrite to use spawn instead of exec. Return the + PID of the child. + + * main.c (main) [OS/2]: Call initialize_main(). Handle argv[0] as + in DOS. Handle the TEMP environment variable as in DOS. Don't + use a SIGCHLD handler on OS/2. Choose a shell as in DOS. Don't + use -j in DOS mode. Use child_execute_job() instead of + exec_command(). + + * function.c (func_shell) [OS/2]: Can't use fork/exec on OS/2: use + spawn() instead. + + * job.h [OS/2]: Move CLOSE_ON_EXEC here from job.c. Add + prototypes that return values. + + * remake.c (f_mtime) [OS/2]: Handle FAT timestamp offsets for OS/2. + + * read.c (readline) [OS/2]: Don't handle CRLF specially on OS/2. + * default.c (default_suffixes) [OS/2]: Set proper default suffixes + for OS/2. + * vpath.c (construct_vpath_list) [OS/2]: Handle OS/2 paths like + DOS paths. + +2003-02-24 Paul D. Smith + + * default.c [VMS]: New default rules for .cxx -> .obj compiles. + * job.c (child_execute_job) [VMS]: New code for handling spawn(). + (child_execute_job) [VMS]: Handle error status properly. + Patches provided by Hartmut Becker . + + * function.c (func_shell): Use EINTRLOOP() while reading from the + subshell pipe (Fixes bug #2502). + * job.c (free_child): Use EINTRLOOP() while writing tokens to the + jobserver pipe. + * main.c (main): Ditto. + +2003-01-30 Paul D. Smith + + * read.c (eval): eval() was not fully reentrant, because the + collapsed buffer was static. Change it to be an automatic + variable so that eval() can be invoked recursively. + Fixes bug # 2238. + (eval): Apply patch # 1022: fix memory reference error on long + target-specific variable lines. + Patch provided by Steve Brown . + + * function.c (check_numeric): Combine the is_numeric() function + into this function, since it's only called from one place. + Constify this function. Have it print the incorrect string in the + error message. Fixes bug #2407. + (strip_whitespace): Constify. + (func_if): Constify. + * expand.c (expand_argument): Constify. + +2003-01-29 Paul D. Smith + + Fix bug # 2169, also reported by other people on various systems. + + * make.h: Some systems, such as Solaris and PTX, do not fully + implement POSIX-compliant SA_RESTART functionality; important + system calls like stat() and readdir() can still fail with EINTR + even if SA_RESTART has been set on the signal handler. So, + introduce macros EINTRLOOP() and ENULLLOOP() which can loop on + EINTR for system calls which return -1 or 0 (NULL), respectively, + on error. + Also, remove the old atomic_stat()/atomic_readdir() and + HAVE_BROKEN_RESTART handling. + + * configure.in: Remove setting of HAVE_BROKEN_RESTART. + + * arscan.c (ar_member_touch): Use EINTRLOOP() to wrap fstat(). + * remake.c (touch_file): Ditto. + + * commands.c (delete_target): Use EINTRLOOP() to wrap stat(). + * read.c (construct_include_path): Ditto. + * remake.c (name_mtime): Ditto. + * vpath.c (selective_vpath_search): Ditto. + * dir.c (find_directory): Ditto. + (local_stat): Ditto. + (find_directory): Use ENULLLOOP() to wrap opendir(). + (dir_contents_file_exists_p): Use ENULLLOOP() to wrap readdir(). + + * misc.c: Remove HAVE_BROKEN_RESTART, atomic_stat(), and + atomic_readdir() handling. + +2003-01-22 Paul D. Smith + + * function.c (func_call): Fix Bug #1744. If we're inside a + recursive invocation of $(call ...), mask any of the outer + invocation's arguments that aren't used by this one, so that this + invocation doesn't "inherit" them accidentally. + +2002-12-05 Paul D. Smith + + * function.c (subst_expand): Valery Khamenia reported a + pathological performance hit when doing substitutions on very + large values with lots of words: turns out we were invoking + strlen() a ridiculous number of times. Instead of having each + call to sindex() call strlen() again, keep track of how much of + the text we've seen and pass the length to sindex(). + +2002-11-19 Paul D. Smith + + * README.cvs, configure.in: Upgrade to require autoconf 2.56. + + +2002-11-16 Paul D. Smith + + * NMakefile.template (OBJS): Add hash.c object file. + * SMakefile.template (srcs): Ditto. + * Makefile.ami (objs): Ditto. + * build_w32.bat: Ditto. + + * Makefile.DOS.template: Remove extra dependencies. + +2002-10-25 Paul D. Smith + + * expand.c (install_variable_buffer): New function. Install a new + variable_buffer context and return the previous one. + (restore_variable_buffer): New function. Free the current + variable_buffer context and put a previously saved one back. + * variable.h: Prototypes for {install,restore}_variable_buffer. + * function.c (func_eval): Push a new variable_buffer context + before we eval, then restore the old one when we're done. + Fixes Bug #1517. + + * read.c (install_conditionals): New function. Install a new + conditional context and return the previous one. + (restore_conditionals): New function. Free the current + conditional context and put a previously saved one back. + (eval): Use the {install,restore}_conditionals for "include" + handling. + (eval_buffer): Use {install,restore}_conditionals to preserve the + present conditional state before we evaluate the buffer. + Fixes Bug #1516. + + * doc/make.texi (Quick Reference): Add references to $(eval ...) + and $(value ...). + (Recursion): Add a variable index entry for CURDIR. + + * README.cvs: Update to appropriate versions. + * Makefile.am (nodist_loadavg_SOURCES): automake gurus point out I + don't need to copy loadavg.c: automake is smart enough to create + it for me. Still have a bug in automake related to ansi2knr tho. + +2002-10-14 Paul D. Smith + + * remake.c (notice_finished_file): Only touch targets if they have + at least one command (as per POSIX). Resolve Bug #1418. + + * *.c: Convert to using ANSI C-style function definitions. + * Makefile.am: Enable the ansi2knr feature of automake. + * configure.in: ditto. + +2002-10-13 Paul D. Smith + + * commands.c (set_file_variables): Bug #1379: Don't use alloca() + for automatic variable values like $^, etc. In the case of very + large lists of prerequisites this causes problems. Instead reuse + a static buffer (resizeable) for each variable. + + * read.c (eval): Fix Bug #1391: allow "export" keyword in + target-specific variable definitions. Check for it and set an + "exported" flag. + (record_target_var): Set the export field to v_export if the + "exported" flag is set. + * doc/make.texi (Target-specific): Document the ability to use + "export". + + * doc/make.texi: Change the name of the section on automatic + variables from "Automatic" to "Automatic Variables". Added text + clarifying the scope of automatic variables. + +2002-10-04 Paul D. Smith + + * read.c (eval): Allow SysV $$@ variables to use {} braces as well + as () braces. + (record_files): Ditto. + + * expand.c (variable_expand_string): In $(A:x=y) expansion limit + the search for the '=' to only within the enclosing parens. + +2002-10-03 Paul D. Smith + + Version 3.80 released. + + * dir.c: Change hash functions to use K&R function definition style. + * function.c: Ditto. + * read.c: Ditto. + * variable.c: Ditto. + + Update to automake 1.7. + + * Makefile.am (AUTOMAKE_OPTIONS): Update to require 1.7. + (pdf): Remove this target as automake now provides one. + + * configure.in: Change AM_CONFIG_HEADER to AC_CONFIG_HEADERS. + +2002-09-30 Martin P.J. Zinser + + * makefile.com: Updates for GNU make 3.80. + * makefile.vms: Ditto. + +2002-09-23 Paul D. Smith + + * read.c (enum make_word_type): Remove w_comment. + (get_next_mword): Don't treat comment characters as special; where + this function is used we will never see a comment (it's stripped + before we get here) and treating comments specially means that + targets like "foo\#bar" aren't handled properly. + +2002-09-18 Paul D. Smith + + * doc/make.texi (Bugs): Update with some info on Savannah, etc. + + * read.c (eval): Expansion of arguments to export/unexport was + ignoring all arguments after the first one. Change the algorithm + to expand the whole line once, then parse the results. + +2002-09-17 Paul D. Smith + + Fix Bug #940 (plus another bug I found while looking at this): + + * read.c (record_target_var): enter_file() will add a new entry if + it's a double-colon target: we don't want to do that in this + situation. Invoke lookup_file() and only enter_file() if it does + not already exist. If the file we get back is a double-colon then + add this variable to the "root" double-colon target. + + * variable.c (initialize_file_variables): If this file is a + double-colon target but is not the "root" target, then initialize + the root and make the root's variable list the parent of our + variable list. + +2002-09-13 Paul D. Smith + + * doc/make.texi (MAKE Variable): Add some indexing for "+". + + * hash.c (round_up_2): Get rid of a warning. + +2002-09-12 Paul D. Smith + + * Makefile.am (loadavg_SOURCES, loadavg.c): Tiptoe around automake + so it doesn't complain about getloadavg.c. + + * commands.c (set_file_variables): Make sure we always alloca() at + least 1 character for the value of $? (for '\0'). + +2002-09-11 Paul D. Smith + + * hash.h (STRING_COMPARE, ISTRING_COMPARE, STRING_N_COMPARE): Fix + macro to use RESULT instead of the incorrect _RESULT_. + + * make.h (HAVE_BROKEN_RESTART): Add prototypes for atomic_stat() + and atomic_readdir(). We need to #include dirent.h to get this to + work. + * misc.c (atomic_readdir): Fix typos. + +2002-09-10 Paul D. Smith + + * read.c (eval): Expand variable lists given to export and + unexport, so that "export $(LIST_OF_VARIABLES)" (etc.) works. + (conditional_line): Ditto for "ifdef". Fixes bug #103. + + * doc/make.texi (Variables/Recursion): Document this. + (Conditional Syntax): And here. + +2002-09-09 Paul D. Smith + + * configure.in: Check for memmove(). + +2002-09-07 Paul D. Smith + + * configure.in (HAVE_BROKEN_RESTART): Define this on PTX systems; + Michael Sterrett reports that while it has + SA_RESTART, it does not work properly. + + * misc.c (atomic_stat): If HAVE_BROKEN_RESTART, create a function + that invokes stat() and loops to do it again if it returns EINTR. + (atomic_readdir): Ditto, with readdir(). + + * make.h (stat, readdir): If HAVE_BROKEN_RESTART, alias stat() + and readdir() to atomic_stat() and atomic_readdir(). + +2002-09-04 Paul D. Smith + + * implicit.c (pattern_search): Daniel + reports that GNU make sometimes doesn't recognize that targets can + be made, when directories can be created as prerequisites. He + reports that changing the order of predicates in the DEP->changed + flag test so that lookup_file() is always performed, solves this + problem. + +2002-08-08 Paul D. Smith + + * configure.in: Require a newer version of gettext. + + * misc.c (perror_with_name): Translate the format string (for + right-to-left language support). + (pfatal_with_name): Ditto. + + * main.c: Create a static array of strings to store the usage + text. This is done to facilitate translations. + (struct command_switch): Remove argdesc and description fields. + (switches): Remove values for obsolete fields. + (print_usage): Print each element of the usage array. + + * hash.c: Change function definitions to be K&R style. + +2002-08-02 Paul D. Smith + + * NEWS: Remove the mention of .TARGETS; we aren't going to publish + this one because it's too hard to get right. We'll look at it for + a future release. + * main.c (main): Don't create the .TARGETS variable. + * variable.c (handle_special_var): Don't handle .TARGETS. + +2002-08-01 Paul D. Smith + + * main.c (switches): Add a new option, -B (--always-make). If + specified, make will rebuild all targets that it encounters even + if they don't appear to be out of date. + (always_make_flag): New flag. + * make.h: Extern always_make_flag. + * remake.c (update_file_1): Check always_make_flag; if it's set we + will always rebuild any target we can, even if none of its + prerequisites are newer. + * NEWS: Mention it. + + * doc/make.texi (Shell Function): Make it clear that make + variables marked as "export" are not passed to instances of the + shell function. + + Add new introspection variable .VARIABLES and .TARGETS. + + * variable.c (handle_special_var): New function. If the variable + reference passed in is "special" (.VARIABLES or .TARGETS), + calculate the new value if necessary. .VARIABLES is handled here: + walk through the hash of defined variables and construct a value + which is a list of the names. .TARGETS is handled by + build_target_list(). + (lookup_variable): Invoke handle_special_var(). + * file.c (build_target_list): Walk through the hask of known files + and construct a list of the names of all the ones marked as + targets. + * main.c (main): Initialize them to empty (and as simple variables). + * doc/make.texi (Special Variables): Document them. + * NEWS: Mention them. + + * variable.h (struct variable): Add a new flag "exportable" which + is true if the variable name is valid for export. + * variable.c (define_variable_in_set): Set "exportable" when a new + variable is defined. + (target_environment): Use the "exportable" flag instead of + re-checking the name here... an efficiency improvement. + +2002-07-31 Paul D. Smith + + * config.h-vms.template: Updates to build on VMS. Thanks to + Brian_Benning@aksteel.com for helping verify the build. + * makefile.com: Build the new hash.c file. + * hash.h: Use strcpmi(), not stricmp(), in the + HAVE_CASE_INSENSITIVE_FS case. + +2002-07-30 Paul D. Smith + + * hash.h (ISTRING_COMPARE, return_ISTRING_COMPARE): Add missing + backslashes to the HAVE_CASE_INSENSITIVE_FS case. + Reported by . + +2002-07-10 Paul D. Smith + + * variable.c (pop_variable_scope): Remove variable made unused by + new hash infrastructure. + * read.c (dep_hash_cmp): Rewrite this to handle ignore_mtime + comparisons as well as name comparisons. + * variable.h: Add a prototype for new hash_init_function_table(). + * file.c (lookup_file): Remove variables made unused by new hash + infrastructure. + * dir.c (directory_contents_hash_2): Missing return of hash value. + (dir_contents_file_exists_p): Remove variables made unused by new + hash infrastructure. + + + Installed Greg McGary's integration of the hash functions from the + GNU id-utils package: + +2002-07-10 Greg McGary + + * scripts/functions/filter-out: Add literals to to the + pattern space in order to add complexity, and trigger + use of an internal hash table. Fix documentation strings. + * scripts/targets/INTERMEDIATE: Reverse order of files + passed to expected `rm' command. + +2002-07-10 Greg McGary + + * Makefile.am (SRCS): Add hash.c (noinst_HEADERS): Add hash.h + * hash.c: New file, taken from id-utils. + * hash.h: New file, taken from id-utils. + + * make.h (HASH, HASHI): Remove macros. + (find_char_unquote): Change arglist in decl. + (hash_init_directories): New function decl. + * variable.h (hash.h): New #include. + (MAKELEVEL_NAME, MAKELEVEL_LENGTH): New constants. + * filedef.h (hash.h): New #include. + (struct file) [next]: Remove member. + (file_hash_enter): Remove function decl. + (init_hash_files): New function decl. + + * ar.c (ar_name): Delay call to strlen until needed. + * main.c (initialize_global_hash_tables): New function. + (main): Call it. Use MAKELEVEL_NAME & MAKELEVEL_LENGTH. + * misc.c (remove_comments): Pass char constants to find_char_unquote. + * remake.c (notice_finished_file): Update last_mtime on `prev' chain. + + * dir.c (hash.h): New #include. + (struct directory_contents) [next, files]: Remove members. + [ctime]: Add member for VMS. [dirfiles]: Add hash-table member. + (directory_contents_hash_1, directory_contents_hash_2, + directory_contents_hash_cmp): New functions. + (directories_contents): Change type to `struct hash_table'. + (struct directory) [next]: Remove member. + (directory_hash_1, directory_hash_2, directory_hash_cmp): New funcs. + (directory): Change type to `struct hash_table'. + (struct dirfile) [next]: Remove member. + [length]: Add member. [impossible]: widen type to fill alignment gap. + (dirfile_hash_1, dirfile_hash_2, dirfile_hash_cmp): New functions. + (find_directory): Use new hash table package. + (dir_contents_file_exists_p): Likewise. + (file_impossible): Likewise. + (file_impossible_p): Likewise. + (print_dir_data_base): Likewise. + (open_dirstream): Likewise. + (read_dirstream): Likewise. + (hash_init_directories): New function. + + * file.c (hash.h): New #include. + (file_hash_1, file_hash_2, file_hash_cmp): New functions. + (files): Change type to `struct hash_table'. + (lookup_file): Use new hash table package. + (enter_file): Likewise. + (remove_intermediates): Likewise. + (snap_deps): Likewise. + (print_file_data_base): Likewise. + + * function.c + (function_table_entry_hash_1, function_table_entry_hash_2, + function_table_entry_hash_cmp): New functions. + (lookup_function): Remove `table' argument. + Use new hash table package. + (struct a_word) [chain, length]: New members. + (a_word_hash_1, a_word_hash_2, a_word_hash_cmp): New functions. + (struct a_pattern): New struct. + (func_filter_filterout): Pass through patterns noting boundaries + and '%', if present. Note a_word length. Use a hash table if + arglists are large enough to justify cost. + (function_table_init): Renamed from function_table. + (function_table): Declare as `struct hash_table'. + (FUNCTION_TABLE_ENTRIES): New constant. + (hash_init_function_table): New function. + + * read.c (hash.h): New #include. + (read_makefile): Pass char constants to find_char_unquote. + (dep_hash_1, dep_hash_2, dep_hash_cmp): New functions. + (uniquize_deps): Use hash table to efficiently identify duplicates. + (find_char_unquote): Accept two char-constant stop chars, rather + than a string constant, avoiding zillions of calls to strchr. + Tighten inner search loops to test only for desired delimiters. + + * variable.c (variable_hash_1, variable_hash_2, + variable_hash_cmp): New functions. + (variable_table): Declare as `struct hash_table'. + (global_variable_set): Remove initialization. + (init_hash_global_variable_set): New function. + (define_variable_in_set): Use new hash table package. + (lookup_variable): Likewise. + (lookup_variable_in_set): Likewise. + (initialize_file_variables): Likewise. + (pop_variable_scope): Likewise. + (create_new_variable_set): Likewise. + (merge_variable_sets): Likewise. + (define_automatic_variables): Likewise. + (target_environment): Likewise. + (print_variable_set): Likewise. + +2002-07-10 Paul D. Smith + + Implement the SysV make syntax $$@, $$(@D), and $$(@F) in the + prerequisite list. A real SysV make will expand the entire + prerequisites list _twice_: we don't do that as it's a big + backward-compatibility problem. We only replace those specific + variables. + + * read.c (record_files): Replace any $@, $(@D), and $(@F) variable + references left in the list of prerequisites. Check for .POSIX as + we record targets, so we can disable non-POSIX behavior while + reading makefiles as well as running them. + (eval): Check the prerequisite list to see if we have anything + that looks like a SysV prerequisite variable reference. + +2002-07-09 Paul D. Smith + + * doc/make.texi (Prerequisite Types): Add a new section describing + order-only prerequisites. + + * read.c (uniquize_deps): If we have the same file as both a + normal and order-only prereq, get rid of the order-only prereq, + since the normal one supersedes it. + +2002-07-08 Paul D. Smith + + * AUTHORS: Added Greg McGary to the AUTHORS file. + * NEWS: Blurbed order-only prerequisites. + * file.c (print_file): Show order-only deps properly when printing + the database. + + * maintMakefile: Add "update" targets for wget'ing the latest + versions of various external files. Taken from Makefile.maint in + autoconf, etc. + + * dosbuild.bat: Somehow we got _double_ ^M's. Remove them. + Reported by Eli Zaretskii . + +2002-07-07 Paul D. Smith + + * po/*.po: Remove. We'll use wget to retrieve them at release + time. + + * variable.c (do_variable_definition) [W32]: On W32 using cmd + rather than a shell you get an exception. Make sure we look up + the variable. Patch provided by Eli Zaretskii . + + * remake.c (notice_finished_file): Fix handling of -t flag. + Patch provided by Henning Makholm . + + * implicit.c (pattern_search): Some systems apparently run short + of stack space, and using alloca() in this function caused an + overrun. I modified it to use xmalloc() on the two variables + which seemed like they might get large. Fixes Bug #476. + + * main.c (print_version): Update copyright notice to conform with + GNU standards. + (print_usage): Update help output. + + * function.c (func_eval): Create a new make function, $(eval + ...). Expand the arguments, put them into a buffer, then invoke + eval_buffer() on the resulting string. + (func_quote): Create a new function, $(quote VARNAME). Inserts + the value of the variable VARNAME without expanding it any + further. + + * read.c (struct ebuffer): Change the linebuffer structure to an + "eval buffer", which can be either a file or a buffer. + (eval_makefile): Move the code in the old read_makefile() which + located a makefile into here: create a struct ebuffer with that + information. Have it invoke the new function eval() with that + ebuffer. + (eval_buffer): Create a new function that creates a struct ebuffer + that holds a string buffer instead of a file. Have it invoke + eval() with that ebuffer. + (eval): New function that contains the guts of the old + read_makefile() function: this function parses makefiles. Obtains + data to parse from the provided ebuffer. Some modifications to + make the flow of the function cleaner and clearer. Still could + use some work here... + (do_define): Takes a struct ebuffer instead of a FILE*. Read the + contents of the define/endef variable from the ebuffer. + (readstring): Read the next line from a string-style ebuffer. + (readline): Read the next line from an ebuffer. If it's a string + ebuffer, invoke readstring(). If it's a FILE* ebuffer, read it + from the file. + + * dep.h (eval_buffer): Prototype eval_buffer(); + + * variable.c (do_variable_definition): Make sure that all + non-target-specific variables are registered in the global set. + If we're invoked from an $(eval ...) we might be inside a $(call + ...) or other function which has pushed a variable scope; we still + want to define our variables from evaluated makefile code in the + global scope. + +2002-07-03 Greg McGary + + * dep.h (struct dep) [ignore_mtime]: New member. + [changed]: convert to a bitfield. + * implicit.c (pattern_search): Zero ignore_mtime. + * main.c (main, handle_non_switch_argument): Likewise. + * rule.c (convert_suffix_rule): Likewise. + * read.c (read_all_makefiles, read_makefile, multi_glob): Likewise. + (read_makefile): Parse '|' in prerequisite list. + (uniquize_deps): Consider ignore_mtime when comparing deps. + * remake.c (update_file_1, check_dep): Don't force remake for + dependencies that have d->ignore_mtime. + * commands.c (FILE_LIST_SEPARATOR): New constant. + (set_file_variables): Don't include a + prerequisite in $+, $^ or $? if d->ignore_mtime. + Define $|. + +2002-06-18 Paul D. Smith + + * make.texinfo: Updates for next revision. New date/rev/etc. + Recreate all Info menus. Change license on the manual to the GNU + Free Documentation License. A number of typos. + (Variables Simplify): Don't use "-" before it's defined. + (Automatic Prerequisites): Rewrite the target example to work + properly if the compile fails. Remove incorrect comments about + how "set -e" behaves. + (Text Functions): Move the "word", "wordlist", "words", and + "firstword" functions here, from "File Name Functions". + * make-stds.texi: Update from latest GNU version. + * fdl.texi: (created) Import the latest GNU version. + +2002-06-06 Paul D. Smith + + * variable.c (do_variable_definition): New function: extract the + part of try_variable_definition() that actually sets the value + into a separate function. + (try_variable_definition): Call do_variable_definition() after + parsing the variable definition string. + (define_variable_in_set): Make the name argument const. + + * variable.h (enum variable_flavor): Make public. + (do_variable_definition): Create prototype. + + * read.c (read_all_makefiles): Create a new built-in variable, + MAKEFILE_LIST. + (read_makefile): Add each makefile read in to this variable value. + +2002-05-18 Eli Zaretskii + + * Makefile.DOS.template: Tweak according to changes in the + distribution. Add back the dependencies of *.o files. + + * configh.dos.template: Synchronize with config.h.in. + +2002-05-09 Paul D. Smith + + * file.c (file_timestamp_now): Use K&R function declaration. + + * getloadavg.c (getloadavg): Merge setlocale() fix from sh-utils + getloadavg.c. Autoconf thinks QNX is SVR4-like, but it isn't, so + #undef it. Remove predefined setup of NLIST_STRUCT. Decide + whether to include nlist.h based on HAVE_NLIST_H. Change obsolete + NLIST_NAME_UNION to new HAVE_STRUCT_NLIST_N_UN_N_NAME. + * configure.in (NLIST_STRUCT): Define this if we have nlist.h and + nlist.n_name is a pointer rather than an array. + + * acinclude.m4 (make_FUNC_SETVBUF_REVERSED): Grab the latest + version of AC_FUNC_SETVBUF_REVERSED from autoconf CVS. + * configure.in: Use it instead of the old version. + + * main.c (main): Prefer setvbuf() to setlinebuf(). + +2002-05-08 Paul D. Smith + + * Makefile.am (make_LDADD): Add GETLOADAVG_LIBS. + (loadavg_LDADD): Ditto. + +2002-04-29 Paul D. Smith + + * expand.c (recursively_expand_for_file): Rename + recursively_expand() to recursively_expand_for_file() and provide + an extra argument, struct file. If the argument is provided, set + the variable scope to that of the file before expanding. + * variable.h (recursively_expand): Make this a macro that invokes + recursively_expand_for_file() with a NULL file pointer. + * variable.c (target_environment): Call the renamed function and + provide the current file context. + Fixes Debian bug #144306. + +2002-04-28 Paul D. Smith + + Allow $(call ...) user-defined variables to be self-referencing + without throwing an error. Allows implementation of transitive + closures, among other possibly useful things. + Requested by: Philip Guenther + + * variable.h (struct variable): Add a new field: exp_count, and + new macros to hold its size and maximum value. + (warn_undefined): Make this a macro. + * variable.c (define_variable_in_set): Initialize it. + * expand.c (recursively_expand): If we detect recursive expansion + of a variable, check the exp_count field. If it's greater than 0 + allow the recursion and decrement the count. + (warn_undefined): Remove this (now a macro in variable.h). + * function.c (func_call): Before we expand the user-defined + function, modify its exp_count field to contain the maximum + number of recursive calls we'll allow. After the call, reset it + to 0. + +2002-04-21 Paul D. Smith + + Modified to use latest autoconf (2.53), automake (1.6.1), and + gettext (0.11.1). We're using gettext's new "external" support, + to avoid including libintl source with GNU make. + + * README.cvs: New file. Explain how to build GNU make from CVS. + + * configure.in: Modify checking for the system glob library. + Use AC_EGREP_CPP instead of AC_TRY_CPP. Remove the setting of + GLOBDIR (we will always put "glob" in SUBDIRS, so automake + etc. will manage it correctly). Set an automake conditional + USE_LOCAL_GLOB to decide whether to compile the glob library. + + * getloadavg.c (main): Include make.h in the "TEST" program to + avoid warnings. + + * Makefile.am: Remove special rules for loadavg. Replace them + with Automake capabilities for building extra programs. + + * signame.c: This file does nothing if the system provide + strsignal(). If not, it implements strsignal(). If the system + doesn't define sys_siglist, then we make our own; otherwise we use + the system version. + * signame.h: Removed. + + * main.c (main): No need to invoke signame_init(). Update copyright. + + * ABOUT-NLS: Removed. + * gettext.c: Removed. + * gettext.h: Get a simplified copy from the gettext package. + * po/*: Created. + * i18n/*.po: Moved to po/. + * i18n/: Removed. + + * config/*: Created. Contains package configuration helper files. + * config.guess, config.sub: Moved to config directory. + + * configure.in (AC_CONFIG_FILES): Add po/Makefile.in, config/Makefile. + Rework to use new-style autoconf features. Use the "external" + mode for gettext. Make the build.sh config file conditional on + whether build.sh.in exists, to avoid autoconf errors. + * acinclude.m4: Removed almost all macros as being obsolete. + Rewrote remaining macros to use AC_DEFINE. + * acconfig.h: Removed. + + * Makefile.am (EXTRA_DIST): Add config/config.rpath. Use a + conditional to handle customs support. Remove special handling + for i18n features. + +2002-04-20 Paul D. Smith + + * function.c (func_call): Don't mark the argument variables $1, + etc. as recursive. They've already been fully expanded so + there's no need to do it again, and doing so strips escaped $'s. + Reported by Sebastian Glita . + + * remake.c (notice_finished_file): Walk through double-colon + entries via the prev field, not the next field! + Reported by Greg McGary . + + * main.c (main): If the user specifies -q and asks for a specific + target which is a makefile, we got an assert. In that case it + turns out we should continue normally instead. + + * i18n/de.po, i18n/fr.po: Installed an updated translation. + + * i18n/he.po: Installed a new translation. + +2002-01-07 Paul D. Smith + + * i18n/es.po, i18n/ru.po: Installed an updated translation. + +2001-12-04 Paul D. Smith + + * i18n/ja.po: Installed an updated translation. + +2001-09-04 Paul D. Smith + + * i18n/da.po: Installed an updated translation. + +2001-08-03 Paul D. Smith + + * i18n/fr.po: Installed an updated translation. + Resolves Debian bug #106720. + +2001-06-13 Paul D. Smith + + * i18n/da.po, configure.in (ALL_LINGUAS): Installed a new + translation. + +2001-06-11 Paul D. Smith + + * i18n/ko.po: Installed a new translation. + +2001-05-06 Paul D. Smith + + Modify the EINTR handling. + + * job.c (new_job): Reorganize the jobserver algorithm. Reorder + the way in which we manage the file descriptor/signal handler race + trap to be more efficient. + +2001-05-06 Paul Eggert + + Restart almost all system calls that are interrupted, instead + of worrying about EINTR. The lone exception is the read() for + job tokens. + + * configure.in (HAVE_SA_RESTART): New macro. + (MAKE_JOBSERVER): Define to 1 only if HAVE_SA_RESTART. + * main.c (main): Use SA_RESTART instead of the old, + nonstandard SA_INTERRUPT. + + * configure.in (AC_CHECK_FUNCS): Add bsd_signal. + * main.c (bsd_signal): New function or macro, + if the implementation doesn't supply it. + (The bsd_signal function will be in POSIX 1003.1-200x.) + (HANDLESIG): Remove. + (main, FATAL_SIG): Use bsd_signal instead of signal or HANDLESIG. + + * make.h (EINTR_SET): Remove. + (SA_RESTART): New macro. + + * arscan.c (ar_member_touch): Don't worry about EINTR. + * function.c (func_shell): Likewise. + * job.c (reap_children, free_child, new_job): Likewise. + * main.c (main): Likewise. + * remake.c (touch_file, name_mtime): Likewise. + + * arscan.c (ar_member_touch): Fix bug uncovered by EINTR removal; + if fstat failed with errno!=EINTR, the error was ignored. + + * job.c (set_child_handler_action_flags): New function. + (new_job): Use it to temporarily clear the SIGCHLD action flags + while reading the token. + +2001-05-02 Paul D. Smith + + * job.c (start_job_command): Don't add define/endef per-line flags + to the top-level flags setting. + +2001-04-03 Paul D. Smith + + * arscan.c (VMS_get_member_info,ar_scan) [VMS]: VMS sets the low + bit on error, so check for odd return values, not non-0 return + values. + (VMS_get_member_info): Calculate the timezone differences correctly. + Reported by John Fowler . + + +2001-03-14 Paul D. Smith + + * variable.c (lookup_variable) [VMS]: Null-terminate the variable + value before invoking define_variable(). + Reported by John Fowler . + +2001-02-07 Paul D. Smith + + * read.c (record_target_var): If we reset the variable due to a + command-line variable setting overriding it, turn off the "append" + flag. + +2001-01-17 Paul D. Smith + + * variable.c (lookup_variable) [VMS]: When getting values from the + environment, allocate enough space for the _value_ plus escapes, + not enough space for the name plus escapes :-/. + Reported by John Fowler . + + * remake.c (f_mtime): Removed the "***" prefix from the mod time + warnings that make generates, so it doesn't look like an error. + Reported by Karl Berry . + + + Fix for PR/2020: Rework appended target-specific variables. I'm + fairly confident this algorithm is finally correct. + + * expand.c (allocated_variable_append): Rewrite. Instead of + expanding each appended variable then adding all the expanded + strings together, we append all the unexpanded values going up + through the variable set contexts, then expand the final result. + This behaves just like non-target-specific appended variable + values, while the old way didn't in various corner cases. + (variable_append): New function: recursively append the unexpanded + value of a variable, walking from the outermost variable scope to + the innermost. + * variable.c (lookup_variable): Remove the code that looked up the + variable set list if the found variable was "append". We don't + need this anymore. + (lookup_variable_in_set): Make this non-static so we can use it + elsewhere. + (try_variable_definition): Use lookup_variable_in_set() rather + than faking out current_variable_set_list by hand (cleanup). + * variable.h: Add a prototype for the now non-static + lookup_variable_in_set(). + +2000-11-17 Paul D. Smith + + * remake.c (f_mtime) [WINDOWS32]: On various advice, I changed the + WINDOWS32 port to assume timestamps can be up to 3 seconds away + before throwing a fit. + +2000-11-17 Paul D. Smith + + * read.c (readline): CRLF calculations had a hole, if you hit the + buffer grow scenario just right. Reworked the algorithm to avoid + the need for len or lastlen at all. Problem description with + sample code chages provided by Chris Faylor . + +2000-10-24 Paul D. Smith + + * gettext.c (SWAP): Declare this with the prototype, otherwise + some systems don't work (non-32-bit? Reported for Cray T3E). + Reported by Thorstein Thorsteinsson . + +2000-10-05 Paul D. Smith + + * acinclude.m4 (AM_LC_MESSAGES): Remove undefined macro + AM_LC_MESSAGES; it doesn't seem to do anything anyway?? + + * i18n/gl.po, configure.in (ALL_LINGUAS): New Galician translation. + +2000-09-22 Paul D. Smith + + * gettext.c: Don't #define _GETTEXT_H here; we only include some + parts of the real gettext.h here, and we expect to really include + the real gettext.h later. If we keep this #define, it's ignored. + +2000-09-21 Paul D. Smith + + * main.c (log_working_directory): Rework the text to use complete + sentences, to make life simpler for the translators. + +2000-08-29 Paul D. Smith + + * file.c (remove_intermediates): Print a debug message before we + remove intermediate files, so the user (if she uses -d) knows + what's going on. + +2000-08-21 Paul D. Smith + + * variable.c (try_variable_definition): Change how we handle + target-specific append variable defns: instead of just setting the + value, expand it as an append _but_ only within the current + target's context. Otherwise we lose all but the last value if the + variable is appended more than once within the current target + context. Fixes PR/1831. + +2000-08-16 Paul D. Smith + + * function.c (func_shell): Nul-terminate the buffer before + printing an exec error message (just in case it's not!). + Fixes PR/1860, reported by Joey Hess . + +2000-07-25 Paul D. Smith + + * job.c (construct_command_argv_internal): Add "~" to the list of + sh_chars[] which disallow optimizing out the shell call. + +2000-07-23 Paul Eggert + + * NEWS, make.texinfo: Document .LOW_RESOLUTION_TIME, which + supersedes --disable-nsec-timestamps. + * make.texinfo: Consistently use "time stamp" instead of "timestamp". + * README: Remove --disable-nsec-timestamps. + + * filedef.h (struct file.low_resolution_time): New member. + * file.c (snap_deps): Add support for .LOW_RESOLUTION_TIME. + * remake.c (update_file_1): + Avoid spurious rebuilds due to low resolution time stamps, + generalizing the earlier code that applied only to archive members. + (f_mtime): Archive members always have low resolution time stamps. + + * configure.in: Remove --disable-nsec-timestamps, as this has + been superseded by .LOW_RESOLUTION_TIME. + +2000-07-23 Paul Eggert + + * configure.in (enable_nsec_timestamps): Renamed from + make_cv_nsec_timestamps, since enable/disable options + shouldn't be cached. + +2000-07-23 Bruno Haible + and Paul Eggert + + * file.c (file_timestamp_now): + Use preprocessor-time check for FILE_TIMESTAMP_HI_RES + so that clock_gettime is not linked unless needed. + + * filedef.h (FILE_TIMESTAMP_HI_RES): + Remove definition; "configure" now does this. + + * configure.in (jm_AC_TYPE_UINTMAX_T): Move up, + to before high resolution file timestamp check, + since that check now uses uintmax_t. + (FILE_TIMESTAMP_HI_RES): Define to nonzero if the code should use + high resolution file timestamps. + (HAVE_CLOCK_GETTIME): Do not define if !FILE_TIMESTAMP_HI_RES, + so that we don't link in clock_gettime unnecessarily. + +2000-07-17 Paul D. Smith + + * i18n/ja.po: New version of the translation file. + +2000-07-07 Paul D. Smith + + * remake.c (f_mtime): If NO_FLOAT is defined, don't bother with + the offset calculation. + (name_mtime): Replace EINTR test with EINTR_SET macro. + +2000-07-07 Paul Eggert + + Fix for PR/1811: + + * remake.c (update_file_1): + Avoid spurious rebuilds of archive members due to their + timestamp resolution being only one second. + (f_mtime): Avoid spurious warnings of timestamps in the future due to + the clock's resolution being lower than file timestamps'. + When warning about future timestamps, report only the discrepancy, + not the absolute value of the timestamp and the current time. + + * file.c (file_timestamp_now): New arg RESOLUTION. + * filedef.h (file_timestamp_now): Likewise. + (FILE_TIMESTAMP_NS): Now returns int. All uses changed. + +2000-07-05 Paul D. Smith + + * variable.c (lookup_variable) [VMS]: Remove vestigial references + to listp. Fixes PR/1793. + +2000-06-26 Paul Eggert + + * Makefile.am (MAINTAINERCLEANFILES): New macro, with stamp-pot in it. + + * dir.c (vms_hash): Ensure ctype macro args are nonnegative. + + * remake.c (f_mtime): Remove unused var memtime. + +2000-06-25 Martin Buchholz + + * make.texinfo, NEWS, TODO.private: Minor spelling corrections. + Ran spell-check on make.texinfo. + + +See ChangeLog.2 for earlier changes. diff --git a/src/mkutil/make/ChangeLog.1 b/src/mkutil/make/ChangeLog.1 index 8f866e7c..bfa027c1 100644 --- a/src/mkutil/make/ChangeLog.1 +++ b/src/mkutil/make/ChangeLog.1 @@ -1,4980 +1,4980 @@ -Tue Oct 29 20:57:36 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.62. - - * remake.c (update_file_1): Check for deps still running before - giving up if any dep has failed. - -Sat Oct 26 16:20:00 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * make.h [uts]: #undef S_ISREG and S_ISDIR if defined. - -Fri Oct 25 19:50:39 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.60.17. - -Thu Oct 24 16:58:36 1991 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) - - * job.c (start_job): Don't check for empty cmds before tweaking the - command_ptr. Just let construct_command_argv do it. - -Tue Oct 22 20:21:03 1991 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) - - * remake.c, arscan.c [POSIX]: instead of . - - * make.h [POSIX]: Declare vfork as pid_t. - -Mon Oct 21 15:37:30 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.60.16. - - * job.c (construct_command_argv, construct_command_argv_internal): - Take new 2nd arg RESTP. If non-NULL, stop parsing at newline, and - store addr of the NL in *RESTP. - (start_job): Don't chop expanded cmd lines up; use above code to do it. - * function.c (expand_function: `shell'): Pass RESTP==NULL. - -Sat Oct 19 15:36:34 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.60.15. - -Fri Oct 18 15:26:55 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * job.c (start_job): If on the same cmds->command_lines elt, look - at cmds->lines_recurse[CHILD->command_line - 1] instead of - [CHILD->command_line]. - - * dir.c [sgi]: , not ndir or anything else. - -Thu Oct 17 16:28:55 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * file.c (print_file_data_base): Remove unused var. - - * make.h [NeXT]: No #define ANSI_STRING. - -Tue Oct 15 20:08:41 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.60.14. - -Fri Oct 11 16:23:52 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * make.h: Use PATH_MAX for getwd defn. - - * make.h: Move getcwd/getwd outside of #ifndef POSIX, and make it - #if USG||POSIX. - -Thu Oct 10 11:53:31 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.60.13. - - * read.c (read_all_makefiles): When processing MAKEFILES, save the - malloc'd ptr to be freed, instead of freeing part-way thru it. - - * remake.c (update_file_1): Don't tweak FILE->also_make. - (update_file): Do it here. After calling update_file_1, set the - command_state, update_status, and updated members of each also_make - elt to FILE's values. - -Tue Oct 8 14:56:04 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * Version 3.60.12. - - * remake.c (notice_finished_file): Set command_state of FILE and - its also_make chain to cs_finished here. - * commands.c (execute_file_commands), job.c (child_handler), - remake.c (remake_file): Don't set it before calling - notice_finished_file. - - * file.h (struct file): Changed `also_make' to struct dep *. - * job.c (delete_child_targets), file.c (print_file_data_base), - remake.c (notice_finished_file), implicit.c (pattern_search): - Use dep chain instead of array of file names. - -Mon Oct 7 17:04:33 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.60.11. - - * arscan.c: Declare open. - * misc.c: Declare {get,set}{re,}[ug]id. - * variable.c (target_environment): Declare getenv. - -Sat Oct 5 15:13:03 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * make.h [NeXT]: instead of . - -Fri Oct 4 16:05:41 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * default.c (default_suffixes, defualt_suffix_rules): Add .texi - just like .texinfo. - - * Version 3.60.10. - - * job.c: Move vfork decl into make.h. - -Fri Sep 27 18:45:30 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * compatMakefile (glob/libglob.a): Pass CC value to submake. - -Thu Sep 26 00:08:15 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * load.c (load_average): Made not static. - - * load.c [ultrix && vax]: Define LDAV_TYPE and LDAV_CVT for Ultrix 4.2. - -Tue Sep 24 00:17:20 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.60.9. - - * read.c (record_files): Warn about extra cmds even if the target's - name begins with a dot. I think the lusers can handle this. - -Mon Sep 23 22:33:26 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * make.h, arscan.c: Don't declare bcmp, bzero, or bcopy if they're - #define'd. - * make.h: Declare write and open. - - * default.c (default_suffixes, default_suffix_rules, - default_variables): Add .C just like .cc. - * make.texinfo (Catalogue of Rules): Document .C. - - * make.man (-w): Fix gramo. - -Fri Sep 20 17:18:16 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * make.h: No text after #endif. - -Sun Sep 15 16:20:46 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * Version 3.60.8. - - * implicit.c (pattern_search): In the second pass, recurse on rule - deps that don't have a %. Why did I make it not do this? - -Fri Sep 14 18:29:39 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * read.c (record_files): For extra cmds, use the last ones given. - If the target's name doesn't begin with a dot (bletch!!), emit a - two-line warning, one line giving the old cmds' location and the - other the new cmds' location. - - * misc.c (makefile_error, makefile_fatal): New fns. - * make.h: Declare them. - * Use them instead of error/fatal for all msgs including a file - name and line number. - -Thu Sep 13 16:35:54 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * make.h: Declare define_default_variables. - Declare ar_parse_name, instead of ar_name_parse (M-t). - -Mon Sep 10 18:35:40 1991 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) - - * Version 3.60.7. - - * make.texinfo (Variables: Setting): Say whitespace is removed if - "immediately after =", rather than simply "after =". - - * job.c: Don't declare wait #ifdef POSIX. - - * make.h [__GNUC__]: #undef alloca and then #define it. - - * main.c (main): When pruning makefiles which might loop from the - read_makefiles chain, look at all `prev' entries of double-colon rules. - -Fri Sep 7 00:41:53 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * main.c (main): Only remove makefiles with cmds but no deps from - the list of makefiles to be rebuilt if they are :: targets. - : targets with cmds and no deps are not dangerous. - -Wed Sep 5 17:35:51 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * compatMakefile (defines): Add comment that some compilers take - ENUM_BITFIELDS but produce bogus code. - (LOAD_AVG): Fix examples to \ "s. - (LOADLIBES): Add comment that SGI Irix needs -lmld for nlist. - -Tue Sep 4 20:26:26 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.60.6. - -Fri Aug 30 19:34:04 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * remake.c (update_file_1): When checking the command_state of - deps, check through the prev chain. - (update_goal_chain): When a target is finished, start checking its - prev (if it has one) instead. - -Wed Aug 7 17:32:03 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * rule.c (convert_to_pattern): Allow files with deps to define - suffix rules (really this time). - -Mon Aug 5 17:09:21 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * misc.c (user_access, make_access): Do saved-IDs (USG) flavor - #ifdef POSIX. - - * file.c (enter_file): Strip ./s here. - * read.c (parse_file_seq): Not here. - -Tue Jul 23 23:34:30 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * compatMakefile: Added comment that -lPW alloca is broken on HPUX. - -Thu Jul 18 03:10:41 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.60.5. - - * read.c (read_makefile): Ignore lines containing chars that are - all isspace, not just all isblank. - - * make.texinfo (Copying): @include gpl.texinfo, rather than copying - the text. - * gpl.texinfo: New file (symlink to /gd/gnu/doc/gpl.texinfo). - * GNUmakefile: Put gpl.texinfo in distribution. - -Tue Jul 16 12:50:35 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * make.h: #define _GNU_SOURCE before including headers. - Include and define isblank if doesn't. - * commands.c: Don't include here. - * *.c: Use isblank instead of explicit ' ' || '\t'. - -Mon Jul 15 17:43:38 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * function.c (expand_function: `filter'/`filter-out'): Fixed to not - loop infinitely. - -Fri Jul 12 12:18:12 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * function.c (expand_function: `filter'/`filter-out'): Rewritten to - handle filter-out of multiple patterns properly. Also no longer - mallocs and reallocs for temp array; uses alloca and a linked-list - instead. - -Wed Jul 10 22:34:54 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.60.4. - - * make.texinfo: Moved some @groups that were outside @examples to - be inside them. - - * load.c [apollo] (load_average): Define using special syscall for - Apollo DOMAIN/OS SR10.n. - -Thu Jul 4 12:32:53 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * make.texinfo (Missing): Added Unix excessive implicit rule - search; mention that POSIX.2 doesn't require any of the missing - features. - (Top): Updated printed manual price to $15. - -Wed Jul 3 18:17:50 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * file.c (rename_file): Carry over last_mtime when merging files. - * remake.c (f_mtime): Tail-recurse after renaming VPATH file, to - check for saved date in existing renamed-to file. - - * remote-cstms.c (start_remote_job): Use PATH_VAR. - - * commands.c [POSIX || __GNU_LIBRARY__]: Don't declare getpid. - - * compatMakefile (glob-{clean,realclean}): Run clean/realclean in glob. - (clean, realclean): Require those. - - * make.h: Always declare environ. - Don't declare old glob functions. - - * GNUmakefile: Make no-lib deps for load.c and remote.c. - -Tue Jul 2 18:35:20 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.60.3. - -Mon Jul 1 16:58:30 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * read.c (multi_glob): Don't pass GLOB_QUOTE flag to glob. - - * make.h [POSIX]: Include , and don't declare things that - should be there. - - * main.c (main) [USG && sgi]: malloc a buffer for broken sgi stdio. - -Sat Jun 29 11:22:21 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * function.c (expand_function: `shell'): Use alloca for the error - msg buffer, instead of assuming an arbitrary max size. - -Fri Jun 28 18:15:08 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * job.c [POSIX] (search_path): Do real 1003.1 goop to get NGROUPS_MAX. - -Wed Jun 26 11:04:44 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * default.c (define_default_variables): New fn. - (install_default_implicit_rules): Code for above fn moved there. - * main.c (main): Do define_default_variables before reading the - makefile. - -Tue Jun 25 17:30:46 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * main.c (main): Quote ; in MAKEOVERRIDES. - -Tue Jun 18 13:56:30 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * compatMakefile: Fixed typo in comment. - -Tue Jun 11 00:14:59 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * Version 3.60.2. - -Mon Jun 10 14:46:37 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * make.h: Always include . - [POSIX]: Include and #define MAXPATHLEN to be PATH_MAX. - - * default.c (default_suffix_rules: .texinfo.dvi): Use $(TEXI2DVI). - (default_variables): Define TEXI2DVI. - -Thu Jun 6 16:49:19 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.60.1. - - * make.h (SIGNAL): Cast handler arg to SIGHANDLER type. - -Wed Jun 5 06:00:43 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * read.c (multi_glob): Use POSIX.2 `glob' function. - If a glob pattern matches nothing, leave it as is (a la sh, bash). - Also, if can't find USER for ~USER, leave it as is (a la bash). - -Mon Jun 3 16:36:00 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * compatMakefile: Rewrote comments about -Ds to be easier to use. - - * make.h, arscan.c, remake.c, main.c, dir.c, job.c: Changed tests - of _POSIX_SOURCE to POSIX. - - * job.c: Take getdtablesize out of #ifdef __GNU_LIBRARY__. - Put separately #ifdef USG. - - * COPYING: Replaced with version 2. - * Changed copyright notices to refer to GPL v2. - -Thu May 30 00:31:11 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * make.h: Don't declare sigblock for POSIX. - - * main.c (main, log_working_directory) [USG]: Get getcwd failure - mode from errno, not passed buffer like BSD getwd. - - * misc.c (child_access): New fn to set access for a child process; - like user_access, but you can't change back. - * make.h: Declare it. - * job.c (exec_command): Use it in place of user_access. - -Wed May 29 23:28:48 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * default.c (default_variables) [pyr]: PC = pascal. - -Tue May 28 20:24:56 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * variable.c (print_variable): Put a newline before `endef'. - -Sat May 25 02:39:52 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.60. - -Wed May 22 19:41:37 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.59.5. - -Thu May 16 13:59:24 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * main.c (main): Do USGr3 setvbuf behavior #ifdef APOLLO. - Don't handle SIGCHLD #ifdef USG (Apollo is USG but defines SIGCHLD). - -Fri May 10 14:59:33 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * remake.c [sgi]: Don't include . - -Wed May 8 01:54:08 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * make.h (SIGHANDLER): #define as (void *) #if __STDC__, - else (int (*)()). - (SIGNAL): Use it to cast return value. - * main.c (main): Cast SIG_IGN to SIGHANDLER when comparing. - * job.c (block_signals, unblock_signals): Use SIGNAL instead of signal. - - * main.c: Declare mktemp to return char*, not int. - - * job.c (new_job): Don't increment files_remade. - * remake.c (notice_finished_file): Do it here. - - * read.c (do_define): Don't clobber DEFINITION[-1] on empty defns. - Free storage that is no longer needed. - -Wed Apr 24 20:49:48 1991 Roland McGrath (roland at churchy.gnu.ai.mit.edu) - - * misc.c (message): New fn to print informational msgs with - leading "make: " or "make[N]: ". - * make.h: Declare it. - * remake.c (update_file): Use it instead of printf. - -Fri Apr 19 05:52:45 1991 Roland McGrath (roland at churchy.gnu.ai.mit.edu) - - * main.c (main): When there are no targets, if there were no - makefiles, print a different error message, which mentions makefiles. - -Tue Apr 16 03:22:45 1991 Roland McGrath (roland at geech.gnu.ai.mit.edu) - - * remake.c (update_file): Print "nothing to be done" instead of "is - up to date" if FILE->cmds == 0. - - * job.c [!WIFEXITED]: Define if not already defined. - -Thu Apr 11 18:00:50 1991 Roland McGrath (roland at wookumz.gnu.ai.mit.edu) - - * arscan.c (ar_name_equal): Fixed truncation comparison. - -Tue Apr 2 16:17:35 1991 Roland McGrath (roland at churchy.gnu.ai.mit.edu) - - * glob.c: Use common version from djm. - * dir.c: Snarfed #ifdef mess for or whatever from glob.c. - (dir_file_exists_p): Ignore directory entries with d_ino==0. - -Mon Apr 1 20:49:45 1991 Roland McGrath (roland at albert.gnu.ai.mit.edu) - - * Version 3.59.4. - -Fri Mar 29 19:16:18 1991 Roland McGrath (roland at albert.gnu.ai.mit.edu) - - * job.c (free_child): Free CHILD->environment and its elts. - -Sat Mar 23 14:08:09 1991 Roland McGrath (roland at albert.gnu.ai.mit.edu) - - * read.c (read_makefile): Don't ignore lines containing only - comments if they start with a tab. Such lines should be passed to - the shell for it to decide about the comments. - - * job.c (free_child): Free CHILD->command_lines and its elts, not - CHILD->commands (which is obsolete). - * job.h, job.c: Remove obsolete `commands' member of `struct child'. - -Sun Mar 17 18:40:53 1991 Roland McGrath (roland at albert.ai.mit.edu) - - * remake.c (update_file): Print a msg for a top-level up-to-date - phony target (a different one than for a real file). - - * read.c (conditional_line): Boundary check so we don't check the - value of the -1th elt of the stack (which is bogus). - -Sat Mar 16 16:58:47 1991 Roland McGrath (roland at albert.ai.mit.edu) - - * read.c (conditional_line): Don't evaluate an if* when we're - already ignoring. Instead, just push a new level, with a value of - 1, to keep ignoring. - -Tue Mar 12 00:16:52 1991 Roland McGrath (roland at geech.ai.mit.edu) - - * Version 3.59.3. - -Mon Mar 11 23:56:57 1991 Roland McGrath (roland at geech.ai.mit.edu) - - * job.c (construct_command_argv_internal): Quote backslashes - when building the shell -c line. - -Fri Mar 8 01:40:18 1991 Roland McGrath (roland at geech.ai.mit.edu) - - * job.c (exec_command): Call user_access rather than setgid(getgid()). - - * misc.c (remove_comments): Renamed from collapse_line; took out - collapse_continuations call. - * make.h: Change decl. - * read.c (read_makefile): Collapse continuations on the line buffer - immediately after reading it. Call remove_comments rather than - collapse_line (which is now defunct). - -Thu Feb 21 18:06:51 1991 Roland McGrath (mcgrath at cygint.cygnus.com) - - * misc.c (user_access, make_access): New fns to toggle btwn permissions - for user data (files and spawning children), and permissions for make - (for taking the load average, mostly). - * make.h: Declare them. - * job.c (start_job): Call make_access before wait_to_start_job, and - user_access after. - * main.c (main): Call user_access before doing much. - -Mon Feb 3 15:02:03 1991 Roland McGrath (roland at albert.ai.mit.edu) - - * Version 3.59.2. - -Tue Jan 29 20:30:50 1991 Roland McGrath (roland at cygint.cygnus.com) - - * read.c (read_all_makefiles): Use allocated_variable_expand to expand - `$(MAKEFILES)', since the results are used across calls to - read_makefile, which could clobber them. - -Wed Jan 23 00:24:10 1991 Roland McGrath (roland at cygint.cygnus.com) - - * main.c (main): Call install_default_implicit_rules after reading - makefiles, not before. - * default.c (install_default_implicit_rules): If a suffix-rule file - entry has cmds, don't give it any from default_suffix_rules. - -Fri Jan 17 17:39:49 1991 Roland McGrath (roland at albert.ai.mit.edu) - - * arscan.c: Added support for AIX archives. - - * remake.c: Don't include ar.h. - * main.c: Removed unused atol decl. - * arscan.c (ar_scan): Declare arg FUNCTION to return long int. - * ar.c (ar_touch): Don't perror for an invalid archive. - * make.h: Declare lseek as long int. - - * job.c [hpux]: Define getdtablesize a la USG. - -Sun Jan 12 21:08:34 1991 Roland McGrath (roland at albert.ai.mit.edu) - - * Version 3.59.1. - -Fri Jan 10 03:48:08 1991 Roland McGrath (roland at albert.ai.mit.edu) - - * job.c (search_path): Take new arg, place to put full pathname (rather - than mallocing it). - (exec_command): Pass it, using auto storage. - - * main.c (print_version): Updated copyright years. - -Wed Jan 8 19:46:19 1991 Roland McGrath (roland at albert.ai.mit.edu) - - * job.c [_POSIX_SOURCE]: Just #include , and define macro - WAIT_NOHANG in terms of waitpid. - [!_POSIX_SOURCE && (HAVE_SYS_WAIT || !USG)]: Don't #include - (make.h does). - Define macro WAIT_NOHANG in terms of wait3. - (child_handler): #ifdef on WAIT_NOHANG, not HAVE_SYS_WAIT || !USG. - Use WAIT_NOHANG macro instead of wait3. - - * file.h (struct file.command_state): Remove unused elt. - -Wed Dec 26 18:10:26 1990 Roland McGrath (roland at albert.ai.mit.edu) - - * commands.c (set_file_variables): If FILE got its commands from - .DEFAULT, make $< == $@ (4.3 BSD/POSIX.2d11 compat). - -Mon Dec 24 17:36:27 1990 Roland McGrath (roland at albert.ai.mit.edu) - - * default.c (default_variables): Rename 2nd LINK.s defn to LINK.S. - -Fri Dec 14 15:05:25 1990 Roland McGrath (roland at albert.ai.mit.edu) - - * vpath.c (selective_vpath_search): Check for makefile-mentioned before - checking for actual existence. The old order loses if the containing - directory doesn't exist (but a rule might make it). - - * make.h [__GNUC__]: Don't #define alloca if already #define'd. - - * rule.c (convert_to_pattern): Don't look at the target constructed for - the empty rule when making the null-suffix rule. Construct it over - again, since the former may have been freed already. - -Thu Dec 13 17:21:03 1990 Roland McGrath (roland at churchy.ai.mit.edu) - - * make.h [__GNU_LIBRARY__]: Include to get random fn decls. - -Wed Dec 12 17:12:59 1990 Roland McGrath (roland at churchy.ai.mit.edu) - - * make.h, arscan.c, glob.c: Only include #ifdef USG. - - * variable.c (define_variable_in_set): Replace env_overrides check that - wasn't really redundant (undoing Sep 28 change). Add comment saying - why this check is necessary. - - * job.c, main.c [DGUX]: Needs siglist like USG. - -Mon Dec 11 01:19:29 1990 Roland McGrath (roland at albert.ai.mit.edu) - - * default.c [M_XENIX]: For rules that are different for Xenix, use the - generic Unix version #ifdef __GNUC__. - - * main.c [M_XENIX]: Use USGr3-style setvbuf call. - - * read.c (find_percent): Do backslash folding correctly, not leaving - extra crud on the end of the string. - -Sun Dec 10 21:48:36 1990 Roland McGrath (roland at albert.ai.mit.edu) - - * job.c: Don't declare wait3 if it's #defined. - - * GNUmakefile, compatMakefile, make.texinfo: Change make-info - to make.info. - -Thu Dec 7 21:20:01 1990 Roland McGrath (roland at churchy.ai.mit.edu) - - * make.h [STDC_HEADERS || __GNU_LIBRARY__ || _POSIX_SOURCE]: Use - ANSI and names for str/mem functions. - Use to declare misc fns rather than explicit decls. - [_POSIX_SOURCE]: Don't declare kill ( will). - Include before because some braindead - nonconformant 1003.1 implementation needs it. - * misc.c: Don't declare malloc, realloc. Do it in make.h. - * arscan.c, glob.c: Use sequence for string fns from make.h verbatim. - * make.h (S_ISDIR, S_ISREG): Declare if necessary. - * commands.c (delete_child_targets), job.c (search_path), read.c - (construct_include_path): Use S_ISfoo(m) instead of - (m & S_IFMT) == S_IFfoo. - * dir.c, glob.c [_POSIX_SOURCE]: Use dirent. - -Wed Nov 29 22:53:32 1990 Roland McGrath (roland at geech.ai.mit.edu) - - * Version 3.59. - -Tue Nov 28 16:00:04 1990 Roland McGrath (roland at churchy.ai.mit.edu) - - * arscan.c (ar_name_equal) [APOLLO]: Don't do `.o' hacking. On Apollos - the full file name is elsewhere, and there is no length restriction (or - so I'm told). - -Thu Nov 23 17:33:11 1990 Roland McGrath (roland at albert.ai.mit.edu) - - * load.c [hp300 && BSD] (LDAV_CVT): Define for this system. - -Tue Nov 21 07:58:40 1990 Roland McGrath (roland at albert.ai.mit.edu) - - * read.c (record_files): Fix trivial bug with deciding to free storage - for a file name. - -Thu Nov 16 06:21:38 1990 Roland McGrath (roland at geech.ai.mit.edu) - - * compatMakefile ($(bindir)/make): Install it setgid kmem. - -Thu Nov 1 16:12:55 1990 Roland McGrath (roland at churchy.ai.mit.edu) - - * GNUmakefile (make-*.tar.Z): Use `h' option to tar (dereference - symlinks), to grab texinfo.tex from wherever it lives. - -Tue Oct 30 16:15:20 1990 Roland McGrath (roland at churchy.ai.mit.edu) - - * Version 3.58.13. - -Fri Oct 26 14:33:34 1990 Roland McGrath (roland at churchy.ai.mit.edu) - - * GNUmakefile: make-*.tar.Z: Include texinfo.tex. - -Tue Oct 23 19:34:33 1990 Roland McGrath (roland at churchy.ai.mit.edu) - - * main.c (define_makeflags): When there are no flags to write, make - sure the array has two leading nulls, since `MAKEFLAGS' is defined from - &flags[1]. - - * main.c (default_keep_going_flag): New variable (constant one). - (command_switches: -k, -S): Use above for default value. - (define_makeflags): Only write flag/flag_off switches if they are on, - and either there is no default value, or they are not the default. - -Mon Oct 22 16:14:44 1990 Roland McGrath (roland at churchy.ai.mit.edu) - - * main.c (struct command_switch): New member `no_makefile'. - (command_switches: -n, -q, -t): Set no_makefile == 1. - (define_makeflags): Take new arg MAKEFILE: if nonzero, don't use - options whose `no_makefile' flags are set. - (main): Call define_makeflags with MAKEFILE==1 before remaking - makefiles, and again with MAKEFILE==0 before remaking goals. - -Tue Oct 2 17:16:45 1990 Roland McGrath (roland at geech.ai.mit.edu) - - * Version 3.58.12. - -Mon Oct 1 15:43:23 1990 Roland McGrath (roland at churchy.ai.mit.edu) - - * arscan.c [HPUX]: Use PORTAR==1 format. - -Sat Sep 29 16:38:05 1990 Roland McGrath (roland at churchy.ai.mit.edu) - - * make.h, remake.c, arscan.c: Don't declare `open'. - -Fri Sep 28 04:46:23 1990 Roland McGrath (roland at churchy.ai.mit.edu) - - * variable.c (define_variable_in_set): Remove redundant -e check. - -Wed Sep 26 00:28:59 1990 Roland McGrath (roland at geech.ai.mit.edu) - - * job.c (start_job): Set RECURSIVE from the right elt of - CHILD->file->cmds->lines_recurse. - - * commands.c (chop_commands): Don't botch the line count for allocating - CMDS->lines_recurse. - - * Version 3.58.11. - - * job.c (start_job): Don't always increment CHILD->command_line! Only - do it when CHILD->command_ptr has run out! (Dumb bug. Sigh.) - -Thu Sep 20 02:18:51 1990 Roland McGrath (roland at geech.ai.mit.edu) - - * GNUmakefile [ARCH]: Give explicit rule for remote.{c,dep} to use - variable `REMOTE' for more flags. - ($(prog)): Link in $(LOADLIBES). - -Wed Sep 19 02:30:36 1990 Roland McGrath (roland at churchy.ai.mit.edu) - - * commands.h (struct commands): New member `ncommand_lines', the number - of elts in `command_lines' et al. - * commands.c (chop_commands): Set `ncommand_lines' elt of CMDS, and - don't put a nil pointer at the end of `command_lines'. - * job.h (struct child): New member `command_lines' to hold - variable-expanded command lines. - * job.c (new_job): Store expanded command lines in `command_lines' - member of new child. Don't clobber FILE->cmds. - (start_job): Use CHILD->command_lines in place of - CHILD->file->cmds->command_lines. - - * variable.h, variable.c, job.c, expand.c: Undo yesterday's change, - which is no longer necessary since we have cleverly avoided the issue. - - * job.c (start_job): Don't variable-expand each command line. - (new_job): Do them all here, storing the expansions in the array. - -Tue Sep 18 01:23:13 1990 Roland McGrath (roland at churchy.ai.mit.edu) - - * variable.h (struct variable): Remove `expanding' member. - * variable.c (define_variable_in_set): Don't initialize it. - * expand.c (struct variable_expanding): New type, a linked list - containing `struct variable' pointers. - (variables_expanding): New variable, the chain of variables currently - being expanded. - (recursively_expand): Don't test and set `expanding' member. - Instead, run through the `variables_expanding' chain looking for a link - referring to V to find self-reference. Add a new link to the chain, - describing V, before recursive expansion, and pop it off afterward. - * job.c (child_handler): Save `variables_expanding' and clear it before - calling start_job, and restore it afterward. This avoids major lossage - when the SIGCHLD comes in the middle of variable expansion. - -Mon Sep 17 14:46:26 1990 Roland McGrath (roland at geech.ai.mit.edu) - - * job.c, commands.c: Don't define sigmask. - * make.h: Put it here instead. - - * variable.c (target_environment): If `.NOEXPORT' was specified as a - target, only export command-line and environment variables, and - file-origin variables that were in the original environment. - - * make.man: Add missing ?roff control for `-I' option description. - -Thu Sep 13 14:10:02 1990 Roland McGrath (roland at churchy.ai.mit.edu) - - * load.c [UMAX]: Move #include to [not UMAX_43]. - -Wed Sep 12 15:10:15 1990 Roland McGrath (roland at churchy.ai.mit.edu) - - * expand.c (recursively_expand): Don't use `reading_filename' and - `reading_lineno_ptr' if they're nil. - -Thu Aug 30 17:32:50 1990 Roland McGrath (roland at geech) - - * Version 3.58.10. - -Tue Aug 28 04:06:29 1990 Roland McGrath (roland at churchy.ai.mit.edu) - - * job.c [USG] (unknown_children_possible): New variable, set nonzero - when it's possible for children not in the `children' chain to die. - (block_signals) [USG]: Set it. - (unblock_signals) [USG]: Clear it. - (child_handler) [USG]: Don't complain about unknown children if - `unknown_children_possible' is set. - - * read.c (do_define): Make sure there's enough space for the newline, - so we don't write off the end of allocated space. - - * arscan.c (ar_name_equal): Fixed to work when MEM is AR_NAMELEN-1 but - NAME is not the same length. - -Sat Aug 25 16:17:14 1990 Roland McGrath (roland at geech) - - * job.c (construct_command_argv_internal): Use a static char array for - a constant, since old C has no auto aggregate initializers. - -Thu Aug 23 16:11:03 1990 Roland McGrath (roland at churchy.ai.mit.edu) - - * job.c (search_path): If PATH is nil or "" use a default path. - -Wed Aug 22 01:05:32 1990 Roland McGrath (roland at churchy.ai.mit.edu) - - * Version 3.58.9. - - * job.c (exec_command): Don't take PATH and SHELL args. Get them from - ENVP. - (child_execute_job): Don't take FILE arg, and don't pass path and shell - to exec_command. - (start_job): Don't pass FILE arg to child_execute_job. - * function.c (expand_function: `shell'): Ditto. - * main.c (main): Don't pass path and shell to exec_command. - -Fri Aug 17 23:17:27 1990 Roland McGrath (roland at geech) - - * job.c (construct_command_argv_internal): New fn broken out of - construct_command_argv. Takes strings SHELL and IFS instead of doing - variable expansion for them. Recurse to make an argv for SHELL, - passing SHELL==0. When SHELL==0, don't recurse for shell argv; make a - simple one using /bin/sh. - (construct_command_argv): Do the variable expansions and call above. - -Thu Aug 16 19:03:14 1990 Roland McGrath (roland at geech) - - * read.c (multi_glob): For ~USER/FILE, if USER isn't found, don't - change the file name at all. - -Tue Aug 7 18:33:28 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * function.c (expand_function: `suffix'/`notdir'): Don't kill the last - space if we never wrote one. - - * function.c (expand_function: `suffix'): Retain the dot, like the - documentation says. - -Mon Aug 6 14:35:06 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.58.8. - - * main.c (decode_switches): For positive_int and floating cases, move - SW past the arg (and don't set it to ""), so another switch can follow. - -Fri Aug 3 00:43:15 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * job.c (child_execute_job): Use unblock_signals instead of - push_signals_blocked_p (0). - - * main.c (fatal_signal_mask): New variable, mask of signals caught with - fatal_error_signal. - (main): Set it. - * job.c ({block,unblock}_children): Renamed to {block,unblock}_signals. - Block/unblock both child signal and signals in fatal_signal_mask. - (children_blocked_p_{stack,max,depth}, {push,pop}_children_blocked_p): - Renamed from children to signals. Use {block,unblock}_signals instead - of {block,unblock}_children. - * commands.c (fatal_error_signal), job.c (wait_for_children, new_job, - child_execute_job, main, log_working_directory), function.c - (expand_function: `shell'), job.h: Rename {push,pop}_children_blocked_p - to {push,pop}_signals_blocked_p. - * job.c (child_handler): Call {block,unblock}_signals instead of just - {block,unblock}_remote_children. We need to block the fatal signals. - -Thu Aug 2 22:41:06 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * main.c, function.c: Fixed typos in comments. - - * file.c (print_file_data_base): Fix computation of avg files/bucket. - -Tue Jul 31 22:11:14 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.58.7. - -Wed Jul 25 16:32:38 1990 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * arscan.c (ar_name_equal): Fixed to really do it right. - (ar_member_pos): Fixed order of args. - * ar.c (ar_member_date_1): Ditto. - -Fri Jul 20 15:30:26 1990 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * arscan.c (ar_name_equal): Rewritten. Accounts for a possible - trailing slash in MEM. - - * remake.c (f_mtime): Keep track of whether ARNAME is used and free it - if not. Also free MEMNAME. - * ar.c (ar_member_date, ar_touch): Ditto. - - * arscan.c (arscan) [HPUX or hpux]: Treat same as USGr3 PORTAR==1. - - * make.h: If NSIG is not defined, but _NSIG is, #define NSIG _NSIG. - - * compatMakefile: Don't use $* in explicit rules. - - * default.c (default_variables: "PREPROCESS.S"): Include $(CPPFLAGS). - - * remake.c (f_mtime): If FILE is an ar ref, get the member modtime. - - * function.c (string_glob): Terminate the string properly when it's - empty. - -Wed Jul 18 11:26:56 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.58.6. - - * commands.c (set_file_variables): Fixed computation for ^F/?F elt len. - -Sat Jul 14 13:41:24 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * job.c (construct_command_argv): Always use - allocated_variable_expand_for_file instead of variable_expand_for_file - because we might be called from inside a variable expansion (for the - `shell' function). - - * function.c (expand_function: `shell'): Free the arglist's storage - correctly. construct_command_argv only allocates ARGV and ARGV[0]. - - * job.c (children_blocked_p_idx): Renamed to children_blocked_p_depth. - (push_children_blocked_p, pop_children_blocked_p): Use ..._depth - instead of ..._idx, and do it right! - -Wed Jul 11 15:35:43 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * make.h (SIGNAL): New macro to replace `signal' calls. Does arg and - ret value casts to (void *) #ifdef __STDC__ to avoid conflicts btwn - ANSI and BSD `signal' and handler types. - * main.c (main), job.c (child_handler): Use it. - -Fri Jul 6 00:00:38 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * ar.c (ar_member_date, ar_touch): Pass 2nd arg to f_mtime. - - * read.c (read_makefile): Search the include path for MAKEFILES - variable makefiles (TYPE == 1), like it says in the manual. - - * file.h (struct file), main.c (struct command_switch): Remove trailing - commas from enums. - - * commands.c (execute_file_commands): Remove unused variables. - * commands.h: Declare chop_commands. - * make.h: Declare uniquize_deps. - * main.c (main): Remove unused variable. - (decode_switches): Remove unused label. - * remake.c: Include "ar.h" for ar_parse_name decl. - * implicit.c (try_implicit_rule): Remove unused variable. - * function.c (expand_function: `shell'): Declare fork, pipe. - * ar.c: Declare ar_name_equal. - - * GNUmakefile: If using gcc, add warning flags to CFLAGS. - - * remake.c: Remove decl of ar_member_date, since it's done in make.h. - - * remake.c (f_mtime): For ar refs, allow the archive to be found via - VPATH search if we're searching, and change the ar ref accordingly. - - * ar.c (ar_parse_name): New global fn to parse archive-member - references into the archive and member names. - (ar_member_date, ar_touch): Use it. - * make.h: Declare it. - - * remake.c (f_mtime): After doing rename_file, do check_renamed instead - of assuming rename_file will always set FILE->renamed (which it won't). - - * vpath.c (selective_vpath_search): Only accept prospective files that - don't actually exist yet are mentioned in a makefile if the file we are - searching for isn't a target. - -Wed Jul 4 04:11:55 1990 Roland McGrath (mcgrath at helen.Berkeley.EDU) - - * remake.c (update_goal_chain): Do check_renamed after calling - file_mtime. - (check_dep): Ditto after update_file. - - * file.c (rename_file): Prettied up long message for merging cmds. - - * remake.c (update_file_1): Get each dep file's modtime, and allow for - it being renamed, before checking for a circular dep, since a renaming - may have introduced one. - -Tue Jul 3 18:15:01 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * ar.c (ar_touch): Don't free ARNAME since enter_file holds onto the - storage. - - * function.c (string_glob): Don't leave a trailing space. - - * read.c (do_define): Allow leading whitespace before `endef'. - -Mon Jul 2 14:10:16 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * implicit.c (pattern_search): No longer take NAME arg. Instead take - ARCHIVE flag. If ARCHIVE is nonzero, FILE->name is of the form - "LIB(MEMBER)"; rule for "(MEMBER)" is searched for, and LASTSLASH is - set to nil. Since NAME was only non-nil when it was the archive member - name passed by try_implicit_rule, this change easily allows turning off - LASTSLASH checking for archive members without excessive kludgery. - (try_implicit_rule): Pass ARCHIVE flag instead of file name. - - * Version 3.58.5. - - * commands./c (set_file_variables): Don't kill last char of $(^D) elts. - -Sat Jun 30 00:53:38 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * ar.c (ar_member_date): Don't free ARNAME since enter_file holds onto - the storage. - - * arscan.c (ar_scan) [sun386 && PORTAR == 1]: Treat like USGr3. - -Wed Jun 27 14:38:49 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * main.c (main): Put a newline on the debugging message when deciding - not to remake a makefile to avoid a possible loop. - Only decide not to remake makefiles that have commands (as well as - being targets and having no deps). - -Fri Jun 22 12:35:37 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * default.c (default_variables): Define `LINK.s' and `LINK.S'. - (default_suffix_rules): Define .S.o rule. - - * job.c (construct_command_argv): If we decide to go the slow route, - free all storage for the chopped args. - (start_job): Free the argument list's storage correctly. - construct_command_argv only allocates ARGV and ARGV[0]. - -Tue Jun 19 18:27:43 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.58.4. - -Fri Jun 15 21:12:10 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * glob.c: New version from ai-lab which doesn't do [^abc]. - -Thu Jun 7 00:30:46 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * dir.c: Copied dirent vs direct et al mess from glob.c. - - * glob.c: Replaced with updated version from djm. - * glob.c: Check macro DIRENT instead of _POSIX_SOURCE for . - __GNU_LIBRARY__ implies DIRENT and STDC_HEADERS. - -Thu May 31 22:19:49 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * vpath.c (vpath_search): Don't stop the loop if a pattern matches but - the search fails. All matching patterns have their paths searched - (like it says in the manual). - - * make.texinfo (Rules: Directory Search: Selective Search): Say that - multiple `vpath' directives with the same pattern DO accumulate, not - supersede earlier ones. - - * vpath.c (print_vpath_data_base): Increment the count of vpaths on - each loop iteration, rather than letting it stay zero. - - * Version 3.58.3. - - * job.c (block_children, unblock_children): Made static. - (push_children_blocked_p, pop_children_blocked_p): New functions to - push and pop whether children are blocked or not. - * job.h: Declare push_children_blocked_p, pop_children_blocked_p and - not block_children, unblock_children. - * commands.c (fatal_error_signal), job.c (wait_for_children, new_job, - child_execute_job), main.c (main, log_working_directory): Use sequences - of push_children_blocked_p (1) and pop_children_blocked_p () instead of - explicitly blocking and unblocking children. - * function.c (expand_function: `shell'): Don't unblock children. The - push-pop sequence in wait_for_children makes it unnecessary. - -Tue May 29 21:30:00 1990 Roland McGrath (mcgrath at helen.Berkeley.EDU) - - * read.c (do_define): Don't include the last newline in the definition. - - * function.c (expand_function: `shell'): Call construct_command_argv - before forking and don't fork if it returns nil. Free the argument - list's storage before finishing. - - * job.c (start_job): Free the storage for the child's argument list - in the parent side of the fork after the child has been spawned. - - * job.c (start_job): If construct_command_argv returns nil, go to the - next command line. - - * job.c (construct_command_argv): Use the shell if the command contains - an unterminated quote. - -Wed May 23 19:54:10 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.58.2. - - * read.c (read_makefile): Parse "override define" correctly. - -Thu May 17 15:25:58 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * arscan.c [USG]: Don't declare memcpy and memcmp. should - do this anyway (and lack of declarations is harmless). - - * remote-customs.c: Renamed to remote-cstms.c for System V. - * remote.c [CUSTOMS]: Changed accordingly. - -Sun May 13 14:38:39 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * GNUmakefile: Use same cmds for doc tar.Z as for dist tar.Z (so the - contents go in make-N.NN). - -Thu Apr 26 19:33:25 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * Version 3.58.1. - -Wed Apr 25 20:27:52 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * job.c (init_siglist): Don't do SIGUSR1 and SIGUSR2 if they are the - same as SIGIO and SIGURG (true on Cray). - -Tue Apr 24 20:26:41 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * arscan.c (ar_scan): Do behavior for PORTAR == 1 and USGr3 also - #ifdef APOLLO. - -Wed Apr 11 10:00:39 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * job.c (exec_command): Set the effective GID to the real GID. Somehow - this code got lost. - - * implicit.c (pattern_search): Use the right index variable when - seeing if we need to expand FILE->also_make. - -Sun Mar 4 09:18:58 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * Version 3.58.0. - - * remake.c (remake_file): Treat non-targets without commands under -t - the same as anything else without commands. - -Sat Feb 24 17:46:04 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * default.c (default_variables: PREPROCESS.S): Removed $< from defn. - - * main.c (main): Ignore arguments that are the empty string, rather - than feeding them to enter_file and barfing therein. - -Wed Feb 14 16:28:37 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * main.c (main): Call construct_include_path after doing chdirs. - -Thu Feb 8 13:43:44 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * Version 3.58. - -Sat Feb 3 22:06:55 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * Version 3.57.7. - - * make.texinfo (Implicit: Catalogue of Rules): For RCS, noted that - working files are never overwritten by the default rule. - -Thu Feb 1 17:27:54 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * rule.c (count_implicit_rule_limits): Redid loop control to not run - twice on freed rules. - - * GNUmakefile: Made `.dep' files be architecture-specific too. - - * main.c (main, log_working_directory) [USG]: Block children around - calls to `getwd' (actually `getcwd' on USG), because that function - sometimes spawns a child running /bin/pwd on USG. - -Tue Jan 30 14:02:50 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * function.c (subst_expand): Pay attention to SUFFIX_ONLY, putz. - -Wed Jan 24 21:03:29 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * make.man: Fixed repeated word. - - * make.texinfo (Missing): Reworded a buggy sentence. - -Mon Jan 22 12:39:22 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * main.c (print_version): Added 1990 to copyright notice. - - * Version 3.57.6. - -Sat Jan 20 11:52:01 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * file.c (rename_file): Don't free the storage for the old name, since - it might not have been malloc'd. - - * job.c (construct_command_argv): Call - allocated_variable_expand_for_file instead of variable_expand_for_file - to expand `$(SHELL)'. - - * make.texinfo (Bugs): Change address from roland@wheaties.ai.mit.edu - to roland@prep.ai.mit.edu. - -Tue Jan 16 19:22:33 1990 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * Version 3.57.5. - -Sun Jan 14 16:48:01 1990 Roland McGrath (mcgrath at helen.Berkeley.EDU) - - * job.c (start_job): Only call wait_to_start_job for the first command - line in each sequence. - -Thu Jan 4 14:27:20 1990 Roland McGrath (mcgrath at helen.Berkeley.EDU) - - * load.c [LDAV_BASED] (wait_to_start_job): Loop while job_slots_used > - 0, not > 1. - - * job.c (search_path): Don't return a pointer to local storage. - Allocate data space for the pathname instead. - - * function.c (expand_function: `shell'): Don't write garbage if the - child wrote no output. - -Wed Jan 3 15:28:30 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.57.4. - - * file.h (struct file): New member `renamed', a `struct file *' that is - the place this file has been renamed to (or nil). - (check_renamed): Macro to check for a file having been renamed. - Dereferences the renaming and sets the given variable. - * file.c (rename_file): Completely rewritten. Renames in place if - possible, or moves FILE to a different hash bucket if there is no - existing file with the new name. If there is an existing file with the - new name, FILE is merged into it and FILE->renamed is set to point to - it. - * variable.c (merge_variable_sets): New fn to merge two variable sets. - (merge_variable_set_lists): New fn to merge two variable set lists. - * variable.h: Declare merge_variable_set_lists. - * remake.c (update_file_1, check_dep): Run `check_renamed' after - calling file_mtime, check_dep. - (update_file): Same after update_file_1. - (update_goal_chain, update_file_1, check_dep): Same after update_file. - - * read.c (uniquize_deps): New fn, broken out of record_files, to remove - duplicate deps from a chain. - (record_files): Use it. - * implicit.c (pattern_search): Use uniquize_deps. - - * file.h (file_mtime_1): New macro, like file_mtime, but take second - arg, passed to f_mtime. - (file_mtime): Implement as file_mtime_1 (file, 1). - (file_mtime_no_search): New macro: file_mtime (file, 0). - * remake.c (f_mtime): Take new arg SEARCH. Only do VPATH and `-lNAME' - searching if it is nonzero. - * main.c (main): Use file_mtime_no_search for makefiles. - * remake.c (update_goal_chain): Use file_mtime_no_search if MAKEFILES. - - * main.c (printed_version): New variable, init'd to zero. - (print_version): Set it to nonzero before returning. - (die): If -v and !printed_version, call print_version before clean up - and death. - - * main.c (log_working_directory): Keep track of whether or not the - "Entering" message has been printed, and return without printing the - "Leaving" message if not. - - * main.c (decode_switches): Don't complain about missing args before - checking for a noarg_value elt in the command_switch structure. - -Tue Jan 2 15:41:08 1990 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * make.texinfo (Commands: Recursion: Options/Recursion): Document - special case of -j. - - * make.texinfo, main.c, job.c: Changed copyright notices to include - 1990. - - * make.texinfo (Top): Fixed introductory paragraph, which said that - `make' itself (instead of the manual) has various chapters. - (Variables: Advanced: Substitution Refs): When pxref'ing about - `patsubst', use node `Text Functions', not `Functions'. - Add an xref about `patsubst' after description of $(var:a%b=c%d). - (Functions: Syntax of Functions): Explain why mixing delimiters in - function/var refs is unwise. Clarify fn arg evaluation order. - (Options): Reworded sentence about `-e'. - (Implicit: Implicit Variables): Don't say `RM' is unused. - Say the dflt values for the flag vars is empty unless otherwise noted, - since some have defaults. - (Implicit: Pattern Rules: Pattern Examples): Clarified use of $< and $@ - in first example. - (Implicit: Last Resort): Don't say the .DEFAULT example creates files - "silently". It's automatic, but not silent. - (Implicit: Search Algorithm): Fixed confusing ungrammatical sentence - for item 5.1. - (Archives: Archive Update): Added missing `next' pointer. - (Archives: Archive Symbols): Note that GNU `ar' deals with this - automatically. - - * job.c (search_path): New fn, to search for an executable file in a - search path (broken out of exec_command). - (exec_command): Take fourth arg, the shell program to use (if - necessary). Use search_path for the program, and the shell program. - Pass args "file args ..." to shell program (with no -c), where FILE is - the full pathname of the program (script) to be run. - (child_execute_job): Pass shell program to exec_command. - * main.c (main): Ditto. - - * main.c (main): Don't write a message if exec_command returns, because - it will never return. - -Fri Dec 22 16:19:58 1989 Roland McGrath (mcgrath at hecuba.Berkeley.EDU) - - * default.c (default_variables: "LINK.cc"): Use $(C++FLAGS) instead of - $(CFLAGS). - -Wed Dec 20 09:58:48 1989 Roland McGrath (mcgrath at hecuba.Berkeley.EDU) - - * job.c (new_job): If start_job set the child's `command_state' to - `cs_finished', call notice_finished_file. - -Sun Dec 17 19:45:41 1989 Roland McGrath (mcgrath at hecuba.Berkeley.EDU) - - * Version 3.57.3. - -Wed Dec 13 17:57:12 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * rule.c (convert_to_pattern): Accept files with dependencies as - suffix rules. - -Thu Nov 30 15:47:13 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * Version 3.57.2. - - * function.c (expand_function: `shell'): Don't clobber BUFFER and then - try to free it. - - * remake.c (update_file_1): Took code to force remake of nonexistent - deps out of #if 0, and changed the test to nonexistent non-intermediate - deps. In version 4, I think removing this test completely will - implement the new feature that if a: b and b: c and c is newer than a, - b need not be remade. - -Sun Nov 26 16:12:41 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * compatMakefile (load.o, remote.o): Use $*.c instead of explicit file - names so that using VPATH works. - -Tue Nov 21 14:57:18 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.57.1. - -Fri Nov 10 03:28:40 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * remake.c (check_dep): Set *MUST_MAKE_PTR if FILE does not exist after - being updated. (The exact opposite test was here before; why???) - (update_file_1): Set a dep's `changed' member after updating it if it - is phony and has commands (because they will then always be executed). - -Thu Nov 9 13:47:12 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * load.c [UMAX]: #ifdef UMAX_43 include different headers for the - `inq_stats' call. - * compatMakefile (LOAD_AVG): Document UMAX_43. - - * Version 3.57.0. - - * commands.c (chop_commands): New function to chop commands into lines. - * job.c (new_job): Break that code out, and call chop_commands. - * remake.c (remake_file): Call chop_commands before looking at - FILE->cmds->any_recurse. - - * make.texinfo (Running: Goals): Don't say that the default target - won't be taken from an included makefile. - - * remake.c (update_file_1): #if 0 out setting MUST_MAKE if a dep - doesn't exist. - -Fri Nov 3 15:53:03 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * Version 3.57. - - * variable.c (try_variable_definition): Don't calculate useless value. - - * main.c (define_makeflags): Fixed -j propagation. - - * commands.c (execute_file_commands): Removed unused variable. - -Sun Oct 29 11:11:15 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * commands.c (execute_file_commands): If the commands are empty, call - notice_finished_file before returning. - -Sat Oct 28 23:06:32 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * remake.c (update_file_1): Don't always update a target that has no - deps. Only do this for double-colon targets. - -Wed Oct 25 16:36:16 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * main.c (main) [hpux]: hpux == HPUX. - * compatMakefile (defines): Document that HPUX should be defined. - -Tue Oct 24 19:19:48 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.56.8. - - * job.c (exec_command): Fixed what mode bits are checked. - - * remake.c (update_file_1): "No cmds and no deps actually changed" - loses if ! FILE->is_target. - - * make.texinfo (Variables: Setting): Don't say that spaces after a - variable definition are ignored (since they aren't). - -Mon Oct 23 14:34:23 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.56.7. - - * remake.c (update_file_1): If, after being updated, any dependency - does not exist, remake the target. - - * remake.c (update_file_1): Always update if FILE has commands but no - deps. - - * commands.c (execute_file_commands): If we return early because there - are no commands, set FILE->updated. - -Thu Oct 19 18:47:37 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * arscan.c (ar_scan) [M_XENIX]: Don't run atoi or atol on the - `struct ar_hdr' members that are int or long int on Xenix. - -Sat Oct 14 10:43:03 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * arscan.c (ar_scan): Cosmetic clean ups. - (ar_name_equal): New function to compare names, handling truncated - member names and special `.o' truncation. - (ar_member_pos): Use ar_name_equal. - * ar.c (ar_member_date_1): Use ar_name_equal. - - * Version 3.56.6. - - * file.h (struct file): Made `update_status' a `short int', and moved - it before `command_state' so the bitfields can be packed better. - - * remake.c (files_remade): Made global. - (notice_finished_file): Don't increment files_remade. - * job.c (new_job): Do. - - * job.c (start_job): Don't return a value. Always set - CHILD->file->command_state to either cs_running or cs_finished. - (new_job, child_handler): Don't expect start_job to return a value. - Instead, look at the file's command_state. - - * commands.c (chop_commands): Merged into job.c (new_job). - * commands.h: Don't declare chop_commands. - - * job.c (start_job): Made static. - (new_job): New function to create a `struct child' and call start_job. - (free_child): New function to free a `struct child'. - (child_handler, new_job): Call it. - * job.h: Don't declare start_job. Do declare new_job. - * commands.c (execute_file_commands): Call new_job. - - * commands.c (execute_file_commands): Don't set FILE->update_status if - start_job fails. - - * function.c (expand_function): Don't use `reading_filename' and - `reading_lineno_ptr' if they're nil. - -Fri Oct 13 18:16:00 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * read.c (find_semicolon): New function to look for an unquoted ; not - preceded by an unquoted # in a string. - (read_makefile): Call it before expanding the line. If it finds a ;, - cut the line short there before expanding it. If not, call it again - after expanding. - - * commands.c (execute_file_commands): Don't check FILE->command_state. - We won't get called unless it's cs_not_started. - - * read.c (read_makefile): Call collapse_line on the variable-expanded - rule line after checking for ; and #. - - * job.c (start_job): When there are no more commands, always return 0. - * commands.c (execute_file_commands): Don't put the new child in the - `children' chain unless FILE->command_state is cs_running. - - * read.c (read_makefile): Rewrote ;-handling to only do it once (why - did I do it twice??) and to check for a # before the ;. - - * job.c (start_job): Set CHILD->file->update_status to 0 when we run - out of commands. Set it to 1 before returning failure. - (child_handler): Don't set C->file->update_status to 0 when start_job - returns success and commands are not running. - - * read.c (read_makefile): If there is a # before the ; for commands, - forget the ; and commands. - -Thu Oct 12 15:48:16 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * job.c (child_execute_job): Pass -c to the shell. - -Wed Oct 11 18:41:10 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.56.5. - - * main.c (define_makeflags): Cleaned up to keep better track of dashes - written, etc. - - * function.c (expand_function: `shell'): When converting newlines to - spaces in output, search with `index' calls rather than a simple loop. - - * main.c (main): Make sure stdout is line-buffered. - - * main.c (decode_switches): Always check for missing switch arg. - -Mon Oct 9 17:17:23 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.56.4. - -Sat Oct 7 00:32:25 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * commands.c (set_file_variables): #ifdef NO_ARCHIVES, still set $@ and - $%. - - * commands.c (set_file_variables): Include a trailing slash in the - directory variables (@D, etc.). - - * job.c (child_handler): Call notice_finished_file after changing a - child's state to `cs_finished'. - * remake.c (update_file_1): Don't call notice_finished_file if - FILE->command_state == cs_finished. - -Wed Oct 4 16:09:33 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.56.3. - -Tue Oct 3 21:09:51 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * read.c (read_all_makefiles): When setting elements of MAKEFILES from - the contents of read_makefiles, make sure we're using the right - element. - - * dir.c, glob.c [USGr3 || DIRENT]: Don't define d_ino as d_fileno. - - * Version 3.56.2. - - * remake.c (update_file_1): Return zero after calling remake_file if - FILE->command_state != cs_finished. Test update_status thoroughly. - - * commands.c (execute_file_commands): Don't call notice_finished_file. - - * remake.c (remake_file): Return immediately after calling - execute_file_commands. - -Sat Sep 30 14:57:05 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.56.1 (alpha). - - * file.h (struct file): Made `update_status' not be a bitfield, since - some broken compilers don't handle it right. - - * function.c (expand_function: `join'): Don't clobber the pointers and - then try to free them. - - * job.c (exec_command): Fixed & vs = precedence problem. - -Thu Sep 28 17:29:56 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * remake.c (update_file_1): Fixed typo in debugging output. - - * remake.c (library_file_mtime): Search for /usr/local/lib/libLIB.a - after /usr/lib/libLIB.a. - -Tue Sep 26 16:07:58 1989 Roland McGrath (mcgrath at helen.Berkeley.EDU) - - * read.c (conditional_line): For `ifeq (a, b)', swallow space after the - comma. - -Sun Sep 24 13:25:32 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * function.c (patsubst_function): If BY_WORD and the match is not a - full word, update the text pointer correctly. - - * function.c (expand_function: `word'): Don't lose track of the second - arg's expansion and free something else instead. - -Fri Sep 22 16:15:29 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.56. - -Thu Sep 21 14:28:42 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * main.c (main): Make an array of the mtimes of the makefiles before - updating them, and compare their file_mtimes against this later. Don't - re-exec if a makefile was successfully updated but didn't change. If a - makefile failed to be remade and no longer exists, die. If a makefile - failed to be remade, but changed anyway, re-exec. If a makefile failed - to be remade, but is unchanged, continue on. - -Wed Sep 20 18:02:07 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.55.6. - - * implicit.c (pattern_search): Maintain an array CHECK_LASTSLASH of the - CHECK_LASTSLASH flag values used to match each member of TRYRULES. - When making FILE->stem, if CHECKED_LASTSLASH[FOUNDRULE], prepend the - part of FILENAME before LASTSLASH. - -Tue Sep 19 17:44:08 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * dir.c (dir_file_exists_p): Check for FILENAME being nil before - checking for it being "". - - * main.c (define_makeflags): Fixed test for whether a flag/flag_off - option was non-default. Also changed to generate a string that Unix - Make will grok (except for FP/int values and new flags). - - * job.c (child_execute_job): Don't use the shell's -c option. - Also fixed an off-by-one bug in the ARGV -> shell arg list copying. - -Mon Sep 18 15:17:31 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.55.5. - - * read.c (parse_file_seq): Check the beginning of the file name for a - `./', not the two chars after the end of the name (Q rather than P). - - * job.c (child_execute_job): Include all of ARGV in the arg list for - the shell. - - * main.c (define_makeflags): Don't include floating and positive_int - options in !PF. - - * job.c (exec_command): Set the effective gid to the real gid before - execing. - - * job.c (child_execute_job): Don't clobber the arg list when execing - the shell. - -Sun Sep 17 15:27:19 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * main.c (define_makeflags): Moved all the checking inside the switch. - - * load.c [LDAV_BASED] (load_average): When we can't get the load - average, return zero instead of running off the end. - - * file.c: Include variables.h. - * job.c: Declare dup2 and {block,unblock}_remote_children. - * file.h: Declare f_mtime. - * job.c: Don't declare construct_command_argv, since job.h does. - * function.c, main.c, load.c, remake.c: Include job.h. - * load.c [LDAV_BASED] (load_average): Declare nlist. - * variable.h: Declare print_file_variables. - * job.c [!USG]: Don't declare sigsetmask. - [!USG]: Declare getdtablesize. - Don't declare load_average. Do declare wait_to_start_job. - Declare vfork, gete[gu]id, execve. - * commands.c: Declare remote_kill, getpid. - * make.h: Declare kill, exit, sigblock, pipe, close, ctime, open, - lseek, read. - * make.h [not USG]: Declare sigsetmask. - * job.h: Declare wait_for_children and {block,unblock}_children. - - * dir.c (dir_file_exists_p): If FILENAME is nil, read in the whole - directory. - (find_directory): When we want to read in the whole directory, call - dir_file_exists_p with nil instead of "". - - * file.h (struct file), job.h (struct child), - variable.h (struct variable): Use bitfields for flags. - * make.h (ENUM_BITFIELD): If GCC or #ifdef ENUM_BITFIELDS, define as - :BITS, else empty. - * compatMakefile (defines): Document ENUM_BITFIELDS. - -Sat Sep 16 12:38:58 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.55.4 (alpha). - - * GNUmakefile (dist): Depend on default and doc. - - * load.c [LDAV_BASED]: Include rather than ; #ifdef - NLIST_NAME_UNION, use n_un.n_name instead of n_name. - * compatMakefile (LOAD_AVG): Document NLIST_NAME_UNION. - - * job.c [USG-ish]: Don't redefine WIF{SIGNALED,EXITED} if they're - already defined. - -Fri Sep 15 13:59:42 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * glob.c, dir.c [USGr3 or DIRENT]: If neither d_ino, nor d_fileno is - defined, define d_ino as d_fileno. - -Thu Sep 14 18:29:38 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * job.c: Don't declare exec_command static. - - * make.texinfo (Name Index): Changed title to include directives. - - * Version 3.55.3 (alpha). - - * make.texinfo (Running: Options): Document -e. - - * main.c (main): Always give imported environment variables origin - `o_env'. - * variable.c (define_variable_in_set): Under -e, if ORIGIN, or an - existing variable's origin, is `o_env', make it `o_env_override'. - - * load.c: Use the symbol KERNEL_FILE_NAME instead of KERNEL_FILE. - * compatMakefile: Changed the comment for `LOAD_AVG' accordinly. - -Thu Sep 7 16:46:26 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.55.2 (alpha). - - * variable.c (print_variable_set), rule.c (print_rule_data_base), - file.c (print_file_data_base): If NO_FLOAT is defined, don't use - floating-point for printing statistics. - * compatMakefile (defines): Document NO_FLOAT. - - * make.h (HASH): New macro to add the hashing value of one char to a - variable.c. - * file.c (lookup_file, enter_file, rename_file): Use it. - * dir.c (find_directory, dir_file_exists_p, file_impossible_p): Ditto. - * variable.c (define_variable_in_set, lookup_variable): Same here. - - * variable.c, file.c, dir.c: Don't define *_BUCKETS if they are already - defined. - - * compatMakefile (defines): Added comment about defining NO_ARCHIVES. - (ARCHIVES, ARCHIVES_SRC): New variables for {ar,arscan}.[oc]. - (objs, srcs): Use $(ARCHIVES) and $(ARCHIVES_SRC). - * commands.c (set_file_variables), dir.c (file_exists_p), - remake.c (touch_file, name_mtime), implicit.c (try_implicit_rule, - pattern_search), make.h: If NO_ARCHIVES is #defined, don't do any - archive stuff. - - * commands.c (set_file_variables): Don't kill the last char of - directory names in $([@*<%?^]D). - -Wed Sep 6 15:23:11 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * default.c (default_terminal_rules {%:: %,v}, {%:: RCS/%,v}): Don't - run co if the target exists. - - * glob.c (glob_match): [!xyz], rather than [^xyz], means none of [xyz]. - - * glob.c: Misc minor cosmetic changes. - -Tue Sep 5 14:49:56 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU) - - * load.c [LDAV_BASED] (load_average): Check for == -1, rather than < 0 - to see if lseek fails. On some systems, `avenrun' is at an offset > - (2**31)-1, and lseek succeeds, returning a negative value. - -Mon Sep 4 11:07:58 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU) - - * rule.c (new_pattern_rule): Return `int' instead of `void': nonzero if - the passed rule was used, zero if not. - (install_pattern_rule): Pay attention to the return from - new_pattern_rule, and don't set the rule's `terminal' flag or give it - commands unless it's used. - (create_pattern_rule): Same idea. - - * dir.c (find_directory): Removed unused variable. - - * commands.c (execute_file_commands): Removed unused variable. - - * read.c (record_files): Don't use NAME after freeing it. - -Sat Sep 2 00:33:19 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU) - - * Version 3.55.1 (alpha). - - * function.c (string_glob): Don't add spaces after file names that - aren't added. (Also means don't add spaces without checking the size - of the buffer.) - - * remake.c (update_goal_chain): Don't remove makefiles with cmds and no - deps from the chain. - * main.c (main): Do it here, before calling update_goal_chain. - - * remake.c (update_goal_chain): When updating fails, change STATUS even - if MAKEFILES is set. Also stop remaking when updating fails if not - under -k and MAKEFILES is not set. - - * remake.c (remake_file, update_file_1, notice_finished_file), - commands.c (execute_file_commands), make.h, commands.h: The functions - remake_file, notice_finished_file, and execute_file_commands no longer - return values, and their callers no longer expect values returned. - - * remake.c (notice_finished_file): Don't set FILE's modtime to now if - it is a non-target with no commands. - -Fri Sep 1 00:04:39 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU) - - * read.c (read_all_makefiles): After freeing each element on MAKEFILES, - replace it with the name stored in read_makefiles by read_makefile. - - * remake.c (update_file_1): Don't decide not to remake if FILE has no - cmds and no deps actually changed if FILE doesn't have any deps. - - * file.c (remove_intermediate): Remove precious files that also have - the `dontcare' flag set. - - * remake.c (update_file_1): Don't always remake if FILE has cmds but no - deps; only if FILE is double-colon. (I don't know why this should be - done for double-colon targets, but that's what Unix make does.) - - * load.c [LDAV_BASED] (load_average): Write error messages if the - various system calls fail. Keep track of if we've failed before. - The first time we fail, write a message saying -l won't be enforced. - The first time we succeed after having failed, write a message saying - -l will be enforced again. - - * remake.c [USG]: Don't #include - - * load.c [generic Unix LDAV_BASED]: #include #ifdef USG, - else instead. - - * job.c [USG && !USGr3 && !HAVE_DUP2]: Remove redundant - #include and declaration of `errno'. - [...] (dup2): Fixed so it won't always lose. - - * default.c (default_suffix_rules: .texinfo.dvi): Copy, rather than - move, the aux and index files, so the TeX run can use them. - - * compatMakefile: Remove redundant comment. - - * load.c [generic Unix LDAV_BASED]: Include instead of - , since the `struct nlist' declaration in varies - more than the one in . - (load_average): Use the `n_un.n_name' field of the `struct nlist', - since the declaration uses the union. - - * main.c (main): For the temporary files made for stdin makefiles, set - the `intermediate' and `dontcare' flags. - * file.c (remove_intermediates): Don't print any messages for files - whose `dontcare' flag is set. (The only files that will be - intermediate and `dontcare' will be the temporary files made for stdin - makefiles.) - - * job.c (exec_command): Made global. - * job.h: Declare it. - * main.c (main): Use exec_command when re-execing. - - * make.h: Declare environ. - * make.c: Don't. - - * job.c (child_execute_job): New function to perform everything done in - the child side of a fork (for a job or `shell' function). - (start_job): Call it. - * job.h: Declare construct_command_argv and child_execute_job. - * function.c (expand_function: `shell'): Use child_execute_job. - -Thu Aug 31 18:42:51 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU) - - * function.c (expand_function: `shell'): Remove a trailing newline - instead of turning it into a space. - - * main.c (main): Do init_siglist #ifdef HAVE_SIGLIST. - - * job.c [WTERMSIG || (USG && !HAVE_SYS_WAIT)]: Test each W* macro - separately and define all those that aren't defined. - -Sat Aug 26 15:13:21 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * ar.c (ar_name): Return zero for `(foo)'. - - * Version 3.55. - - * make.texinfo (Rules: Multiple Targets): Make this node's `next' - pointer point to `Static Pattern'. - * make.texinfo (Makefiles: MAKEFILES Variable): Make this node's `prev' - pointer point to `Makefile Names'. - - * make.1: Renamed to make.man. - * compatMakefile: Define `mandir' and `manext'. - (install): Depend on $(mandir)/make.$(manext). - ($(mandir)/make.$(manext)): Depend on make.man and copy it to $@. - ($(bindir)/make): Use `make' rather than $<; so Unix make can grok it. - -Thu Aug 24 03:35:48 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * variable.c (target_environment): Allow variables that start with - underscores. - -Wed Aug 23 22:50:32 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * variable.c (target_environment): Reject variables that don't start - with letters. - -Tue Aug 22 04:14:29 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * GNUmakefile (make-$(version).tar.Z): Put make.1 (the Unix manual - page) in the tar file. - - * variable.c (target_environment): Don't write variables with origin - o_default (i.e., ones from default.c). - * make.texinfo (Commands: Recursion: Variables/Recursion): Document - that default variables are not put in the environment. - - * remake.c (update_file_1): Remake all targets with commands but no - deps. - -Sat Aug 19 06:03:16 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * remake.c (update_file_1): In the final loop, set the deps' - `changed' members if they are newer than FILE. - - * remake.c (update_goal_chain): Under -d, print a message if we decide - not to remake a makefile so as to avoid a possible infinite loop. - -Fri Aug 18 20:30:14 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * remake.c (remake_file): Cleaned up. - - * commands.c (execute_file_commands): If the commands are empty, set - FILE->update_status to zero before returning. - - * remake.c (notice_finished_file): Set `last_mtime' fields to zero - instead of calling name_mtime; file_mtime will do that later if anybody - cares. - -Thu Aug 17 10:01:11 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * make.texinfo (Rules: Wildcards: Wildcard Examples): Give this node a - `prev' pointer. - - * Version 3.54.9 (alpha). - - * make.texinfo: Fixed some @nodes. - - * remake.c (check_dep): Don't set *MUST_MAKE_PTR if FILE doesn't exist - after running update_file. - - * remake.c (notice_finished_file): If FILE has no commands, pretend its - modtime is now. - - * remake.c (update_file_1): In the loops that call update_file on the - deps, compare modtimes before and after (unless deps are still being - made) and set the deps' `changed' members. Do not set the `changed' - members in the loop that prints the newer/older debugging messages. - * remake.c (update_file_1): If no deps changed and FILE has no - commands, decide it doesn't need remaking. - - * remake.c (update_file_1): Print a debugging message if we take - commands from default_file. - - * make.texinfo (Rules: Directory Search: Selective Search): Removed - note about warning for `vpath' with a constant pathname, since it isn't - warned about anymore. - - * remake.c (update_goal_chain): If MAKEFILES, remove makefiles which - are targets and have no deps. - * make.texinfo (Makefiles: Remaking Makefiles): Document that makefiles - will not be remade if they are targets but have no dependencies. - -Tue Aug 15 00:00:08 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) - - * remake.c (notice_finished_file): Increment files_remade for non-phony - files if they didn't exist before (even if they still don't). - - * job.c: Include and declare errno. - - * job.c (exec_command): If the execve fails with ENOEXEC (Exec format - error), return instead of exiting the child process. - - * job.c (start_job): In the child side, if exec_command fails, try - using the shell. - - * job.c (start_job): In the child side, call unblock_children instead - of sigsetmask. - - * remake.c (notice_finished_file): Under -n or -q, always increment - files_remade for non-phony files. - - * rule.c (intall_pattern_rule): Use find_percent. - - * vpath.c (vpath_search): Pass the `percent' members to - pattern_matches. - -Mon Aug 14 23:30:24 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) - - * vpath.c (struct vpath): New member `percent', to hold a pointer into - the pattern where the % is. - (construct_vpath_list): Call find_percent on the pattern and set the - new `percent' member. - * read.c (read_makefile): Don't run find_percent on `vpath' directive - patterns. - - * function.c (pattern_matches): Take new arg PERCENT, a pointer into - PATTERN where the % is. If PERCENT is nil, copy PATTERN into local - space and run find_percent on it. - (expand_function: `filter', `filter-out'): Pass new arg to - pattern_matches. - * read.c (record_files): Pass PATTERN_PERCENT to pattern_matches for - static pattern rules. Save the percent pointer into implicit rule - targets, and pass them to create_pattern_rule. - * rule.c (convert_to_pattern): Pass new arg to create_pattern_rule. - (create_pattern_rule): Take new arg TARGET_PERCENTS, nil or an array of - pointers into the corresponding elements of TARGETS, where the %s are. - -Sun Aug 13 00:29:19 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * Version 3.54.8. - - * README.templatate, README-doc.template: New files, turned into README - and README-doc to go into the two distribution tar files. - * GNUmakefile: Added a rule to edit the version number in - README.template and README-doc.template, producing README and - README-doc. - - * remake.c (update_goal_chain): If -n or -q is in effect for a - makefile, and it got updated, don't change STATUS, so we can still - return -1 (meaning nothing was done). This avoids an infinite loop on - "make -n Makefile". - -Sat Aug 12 23:14:24 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * remake.c (notice_finished_file): Treat -q the same as -n. - - * remake.c (update_goal_chain): Fixed handling of return from - update_file. If -n or -q is in effect, ignore it. - - * job.c (start_job): Don't test for -t. We should never get called in - that case. - -Fri Aug 11 04:09:14 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * function.c (expand_function): Removed unused variables. - (handle_function): Removed unused variable. - - * main.c (main): Removed unused variable. - -Wed Aug 9 09:37:10 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * Version 3.54.7. - - * remake.c (notice_finished_file): If FILE's modtime actually changed, - increment files_remade. - (remake_file): Don't increment files_remade. - - * remake.c (update_file): Don't print "up to date" messages for - phony files. - - * job.c (child_handler): Don't set C->file->update_status to 1 if - start_job returns nonzero under -n or -t. - - * expand.c (variable_expand): Count parens in $(foo:a=b) refs. - - * main.c: Removed old declaration of `glob_tilde' (which hasn't existed - for a few months). - -Tue Aug 8 23:53:43 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * job.c (exec_command): Fixed to not ignore the last path component and - to do the right thing with an empty path. - -Fri Aug 4 15:58:19 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * remake.c (library_file_mtime): Look for libLIB.a, not /libLIB.a. - Do VPATH search on libLIB.a, not /usr/lib/libLIB.a - -Thu Aug 3 20:42:00 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * job.c [HAVE_SYS_WAIT or not USG]: If WIFSIGNALED is not defined by - , define it as (WTERMSIG != 0). - -Tue Aug 1 19:25:34 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * remake.c (remake_file): If FILE has no commands and is a target, - don't set its time to now. The time gets reset by notice_finished_file - anyway, and it isn't needed since check_dep checks for nonexistence. - - * Version 3.54.6. - - * read.c (read_makefile): Don't read off the end of the string after an - `include'. - - * job.c (exec_command): New function to search the path for a file and - execute it. - (start_job): Use exec_command rather than execvp. - - * read.c (read_makefile): Expand `include' directive args before - parsing them. Allow trailing whitespace after filename. - - * variable.c (target_environment): Put makelevel + 1, rather than - makelevel, in the `MAKELEVEL' envariable. - -Sat Jul 29 10:27:04 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * remake.c (notice_finished_file): Don't get the new modtime of phony - files. - - * remake.c (remake_file): Run commands instead of touching under -t if - FILE->cmds->any_recurse is set. - - * commands.h (struct commands): Add new member `any_recurse', to be set - nonzero if any `lines_recurse' element is nonzero. - * commands.c (chop_commands): Set the `any_recurse' member. - - * commands.c (execute_file_commands): Split chopping of commands into - lines into new function chop_commands. - * commands.h: Declare chop_commands. - - * read.c (read_makefile): Test for a line beginning with a tab after - checking for conditional lines, but before all other checks. - -Fri Jul 28 18:10:29 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * read.c (read_makefile): Match directives against collapsed line - and use that for their args. - - * read.c (read_makefile): Warn about extra text after `include'. - -Tue Jul 25 14:34:25 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * make.texinfo (Rules: Directory Search: Selective Search): Fixed - example to use correct `vpath' syntax. - -Mon Jul 24 12:10:58 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * Version 3.54.5. - - * job.c (start_job): In the child side, unblock SIGCHLD. - -Fri Jul 21 18:25:59 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * make.h: Don't include #ifdef sun. - -Mon Jul 17 14:29:10 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * implicit.c (pattern_search): If ar_name (FILENAME), don't check for - directory names. - - * job.c (wait_for_children): Changed "waiting for children" message to - "waiting for unfinished jobs". - -Fri Jul 14 13:17:13 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * load.c (load_average): Use an unsigned offset into kmem. - -Thu Jul 13 18:44:49 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * variable.c (pop_variable_scope): Don't free the head of the chain of - variables in each bucket twice. - -Tue Jul 11 06:45:24 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * GNUmakefile: Include COPYING in the doc tar file. - - * variable.c, read.c, misc.c, job.c, function.c: Replace some identical - "for" loops with next_token or end_of_token calls. - -Mon Jul 10 16:55:08 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * Version 3.54.4. - - * compatMakefile: Documented new conditionals. - - * job.c: Don't define sys_siglist if HAVE_SIGLIST is defined. - Don't define dup2 if HAVE_DUP2 is defined. - - * job.c (child_handler): Interpret the return from start_job correctly. - - * remake.c (update_file_1): Don't write "target not remade because of - errors" message under -n or -q. - - * read.c: Declare getpwnam. - - * glob.c: Use if DIRENT is defined. - [USG]: Don't declare memcpy, since does. - -Fri Jul 7 20:53:13 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * misc.c (collapse_line): Copy the line over in the right place. - -Fri Jul 7 18:33:24 1989 Roland McGrath (fsf at void.ai.mit.edu) - - * remake.c: Conditionalize inclusion of on not - USG, since HP-UX defines a `struct file' there. - -Fri Jul 7 12:11:30 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * job.c: If WTERMSIG is defined by , define WAIT_T as int, - and don't define other macros; this covers HP-UX. - If WTERMSIG is not defined, use int or union wait based on USG and - HAVE_SYS_WAIT; this covers BSD and SysV. - - * Version 3.54.3 (alpha). - - * job.c [USG and not USGr3]: Include and declare errno. - - * job.c (unblock_children [USG]): Declare child_handler. - - * job.c: Renamed WRETCODE to WEXITSTATUS. - [HAVE_SYS_WAIT or not USG]: Undefine WTERMSIG, WCOREDUMP, and - WEXITSTATUS before defining them. The HP-UX defines them. - - * main.c (main): If there are no goals, fatal AFTER printing the data - base under -p. - -Thu Jul 6 22:43:33 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) - - * glob.c [USG]: #define rindex as strrchr. - - * job.c [USG]: Include and #define getdtablesize() as - NOFILE. - -Wed Jul 5 09:36:00 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * Version 3.54.2 (alpha). - - * expand.c (variable_expand): When expanding recursive variable - references (${${a}}), use the correct delimiters in the constructed - variable reference. - -Mon Jul 3 18:29:26 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) - - * compatMakefile: Clear out and redefine the .SUFFIXES list because - silly Sun 4 make defines .cps.h. - - * compatMakefile: Fix comment about -DNO_MINUS_C_MINUS_O. - - * remake.c: Include for O_* on 4.2. - - * commands.c: Define sigmask if it's not defined. - -Fri Jun 30 07:33:08 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) - - * remake.c (remake_file): Don't always increment files_remade. - - * variable.c (push_new_variable_scope): Zero the new variable hash - table. - -Thu Jun 29 17:14:32 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * expand.c (variable_expand): When terminating the variable expansion - buffer, use variable_buffer_output instead of a simply zero store, - because the buffer may need to be enlarged. - -Wed Jun 28 16:53:47 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * Version 3.54. - - * default.c (default_suffixes): Added `.ln'. - (default_suffix_rules): Changed lint rules to use -C. - -Thu Jun 22 20:49:35 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * job.c (start_job): Set `environ' to CHILD->environment before execing - in the child process! - -Tue Jun 20 17:23:13 1989 Roland McGrath (roland at spiff.ai.mit.edu) - - * compatMakefile: Put job.h and rule.h in `srcs'. - - * Version 3.53. - -Mon Jun 19 16:25:18 1989 Roland McGrath (roland at spiff.ai.mit.edu) - - * job.c (start_job): If there are no more commands, return nonzero - under -n or -t. - - * compatMakefile (make): Pass `-f' to mv. - - * GNUmakefile: If `ARCH' or `machine' is defined, make $(ARCH)/*.o and - $(ARCH)/make instead of *.o and make. - - * function.c (string_glob): Don't try to use freed storage! - - * read.c (readline): If there is only one byte of space in the buffer, - enlarge the buffer before reading more. - - * arscan.c [M_XENIX]: Miscellaneous minor changes for Xenix. - -Sun Jun 18 13:07:45 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * GNUmakefile (depend): Split commands into two lines so they won't be - so long when variable-expanded. - - * compatMakefile: Documented MINUS_C_MINUS_O meaning. The line - describing it got removed when the USG/wait stuff was documented. - -Sat Jun 17 22:56:54 1989 Roland McGrath (roland at hobbes.ai.mit.edu) - - * Version 3.52. - -Mon Jun 12 17:45:11 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * remake.c (check_dep): Drop circular dependencies instead of fataling. - (update_file_1 already does this.) - - * default.c (default_suffix_rules): For .s -> .o, put the -o flag to - the assembler before the source file name. - -Sun Jun 11 12:00:52 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * Version 3.51. - - * make.texinfo (Features): Noted 1003.2 requirement of `+' meaning. - - * file.c (remove_intermediates): If !SIG, write a single "rm" command - line, listing all files. - - * read.c (read_makefile): Don't free the storage for the passed - filename, since it might not be malloc'd. When doing an included - makefile, free the name's storage. - (read_all_makefiles): Use variable_expand to find the value of - `MAKEFILES'. Free the storage for the names of -f makefiles. - (read_makefile): Allocate storage for the makefile name in the - `struct file' in read_makefiles. - - * make.texinfo (Running: Instead of Execution): Document the effect of - + and $(MAKE)/${MAKE}. - - * make.texinfo (Functions: Foreach Function): Document that if the - iteration variable was undefined before the `foreach' call, it will be - undefined after the call. - - * commands.c: Split into commands.c, job.h, and job.c. - - * rule.c (try_implicit_rule, pattern_search): Moved to new file - implicit.c. - - * rule.c: Split into rule.h, rule.c, and default.c. - * default.c (install_default_pattern_rules): Renamed to - install_default_implicit_rules. - * make.h, main.c (main): Renamed uses. - - * make.c: Renamed to misc.c. - - * make.c (main, log_working_directory, decode_switches, - decode_env_switches, define_makeflags, die, print_version, - print_data_base): Moved to new file main.c. - - * commands.c (execute_file_commands): Don't collapse backslash-newlines - here. When chopping the commands up into lines, don't chop at - backslash-newlines. - (start_job): Collapse backslash-newlines after printing the line. - - * commands.c (start_job): Don't collapse backslash-newlines here. - (execute_file_commands): Collapse backslash-newlines before chopping - the commands up into lines. - - * commands.c (set_file_variables): Initialize the length counters for - $^ and $? to zero! - - * commands.c (start_job): Use vfork instead of fork. Someone else says - the child and parent DO have separate file descriptors. - - * variable.c: Split internals into variable.c, function expansion into - function.c, and variable expansion into expand.c. - * function.c (handle_function): New function to check for a function - invocation and expand it. - * expand.c (variable_expand): Use handle_function. - * variable.c (push_new_variable_scope): New function to push a new - empty variable set onto the current setlist. - (pop_variable_scope): New function to pop the topmost set from the - current setlist and free its storage. - * function.c (expand_function: `foreach'): Push a new variable scope - for the iteration variable and pop the scope when finished. - * variable.h: Declare new functions. - * variable.c (initialize_variable_output): New function to return a - pointer to the beginning of the output buffer. - (save_variable_output): New function to save the variable output state. - (restore_variable_output): New function to restore it. - * expand.c (variable_expand): Use initialize_variable_output. - (allocated_variable_expand): Use {save,restore}_variable_output. - * variable.c (current_setlist): Renamed to current_variable_set_list - and made global. - -Sat Jun 10 00:11:25 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * remake.c (library_file_mtime): Check for libNAME.a in the current - directory before doing VPATH search. - - * variable.c (print_variable_set): Don't write "# Variables", and write - fewer blank lines. - (print_variable_data_base): Precede the variables with "# Variables". - - * make.c (main): Print the data base under -p after doing everything - else, just before exitting. This way it gets info determined in - updating the goal targets. - - * variable.c (print_variable_data_base): Split into print_variable, - which prints one variable, and print_variable_set, which prints a set. - Replaced with a call to print_variable_set for the global set. - (print_file_variables): New function to print a given file's local - variables. - - * file.c (print_file_data_base): Call print_file_variables to print - each file's local variables. - - * commands.c (set_file_variables): Actually define the values for - the $^ and $? variables!!! - - * make.texinfo (Implicit: Pattern Rules: Automatic): Document new D and - F versions of $^ and $?. - - * commands.c (start_job): In the child fork, use getdtablesize and a - loop to close all file descriptors other than 0, 1, and 2. We need to - do this since not only the bad stdin pipe, but also some directories, - may be open. - - * commands.c (start_job): Use fork instead of vfork, because a vfork - parent and child share file descriptors, and our child needs to diddle - with stdin. - - * variable.c (initialize_file_variables): When created a new variable - set, zero out the hash table. - - * variable.c (target_environment): Don't use variables whose names are - not made up of alphanumerics and underscores. - - * remake.c (update_file_1): Set the `parent' member of each dependency - to FILE before updating it. - - * file.h (struct file): Add `parent' member. - - * variable.c (initialize_file_variables): Don't take second arg PARENT. - Use FILE->parent instead. If FILE->parent->variables is nil, recurse - to initialize it. - - * variable.h: Declare {allocated_}variable_expand_for_file. - - * variable.c (allocated_variable_expand): Now - allocated_variable_expand_for_file, calling variable_expand_for_file, - and taking second arg FILE. - (allocated_variable_expand): New function, a wrapper around - allocated_variable_expand_for_file, passing a nil second arg. - -Fri Jun 9 12:11:45 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * commands.c (start_job): On the child side of the fork, always close - the bad stdin file descriptor. - - * commands.c (struct child): New member `environment', to hold the - environment for the child. - (execute_file_commands): Set the new childs `environment' member to nil - before calling start_job. - (start_job): Set up CHILD->environment before running the commands if - it is nil. - - * make.c (main): Don't call new_environ. `shell' functions will now be - run with the environment make was called with. - - * commands.c (child_handler): Don't check C->command_ptr before calling - start_job since we now have to check C->file->cmds->command_lines and - it's easier to let start_job handle all that. - - * commands.c (struct child): New member `command_line', to hold an - index into file->cmds->command_lines. - (execute_file_commands): Set the new child's `command_line' to 0 and - its `commands' and `commands_ptr' to nil. - (start_job): When CHILD->command_ptr runs out, increment - CHILD->command_line and run the corresponding line from - CHILD->file->cmds->command_lines. Run it even under -t, -q, or -n if - the CHILD->file->cmds->lines_recurse element for that line is set. - - * commands.c (execute_file_commands): Chop CMDS up into lines, setting - its `command_lines' and `lines_recurse' members, if it wasn't already - chopped. - - * commands.h (struct commands): New members `command_lines' and - `lines_recurse'. The first is an array of chopped-up lines; the second - is an array of flags, each nonzero if the corresponding line is - recursive. - - * variable.c (variable_expand_for_file): If FILE is nil, just do a - vanilla variable_expand. - (expand_function: `shell'): Pass second arg (as nil) to - construct_command_argv. - - * commands.c (construct_command_argv): Use variable_expand_for_file on - `$(SHELL)' and `$(IFS)' instead of lookup_variable to check those - variables. This handles file-local and recursive values correctly. - To support this, take an additional argument FILE. - - * variable.c (initialize_file_variables): New function to initialize - FILE's variable set list from PARENT's setlist. PARENT is the - immediate dependent that caused FILE to be remade, or nil if FILE is a - goal. (When user-level per-file variables are implemented, PARENT - should be passed as nil when defining per-file variables.) - - * variable.c (variable_expand_for_file): New function to expand a line - using the variable set of a given file, and reporting error messages - for the file and line number of that file's commands. - - * variable.h: Don't declare lookup_variable_for_file. - - * variable.c (lookup_variable_*): Turned back into lookup_variable. It - now uses current_setlist. - (global_setlist): New static `struct variable_set_list', a setlist - containing global_variable_set. - (current_setlist): New static `struct variable_set_list *', a pointer - to the current variable set list. - (define_variable): Define in the current top-level set, not the global - set. - - * commands.c (set_file_variables): New function to set up the automatic - variables for a file in its own variable set. - (execute_file_commands): Use set_file_variables. - - * variable.c (new_environ): Replaced with target_environment, taking an - argument FILE, and returning an environment for FILE's commands. - - * variable.c, variable.h: Remove all global special variable pointers. - - * variable.c (define_variable_for_file): New function like - define_variable, but takes additional arg FILE, and defines the - variable in the variable set at the top of FILE's chain. - (lookup_variable_for_file): New function like lookup_variable, but - takes additional arg FILE, and looks the variable up in all of FILE's - variable sets. - - * file.h (struct file): New member `variables', a `struct - variable_set_list' containing the list of variable sets used in the - expansion of the file's commands. - - * variable.c (variables): Replaced with static `struct variable_set' - global_variable_set. - (define_variable): Now define_variable_in_set, taking additional - argument SET, the `struct variable_set' to define it in. - (define_variable): Use define_variable_in_set with global_variable_set. - (lookup_variable): Now lookup_variable_in_set, taking additional - argument SET, the `struct variable_set' to look it up in. - (lookup_variable): Use lookup_variable_in_set with global_variable_set. - (lookup_variable_in_setlist): New function to look up a variable in a - `struct variable_set_list' using lookup_variable_in_set. - - * variable.h (struct variable_set): New structure, containing a hash - table and the number of hash buckets. - (struct variable_set_list): New structure, containing a link for a - linked-list, and a `struct variable_set'. - - * commands.c (start_job): Under -n, return what the recursive start_job - call returns, since it might actually start a child. - - * make.texinfo (Rules: Wildcards): Document ~ and ~USER expansion. - - * commands.c (execute_file_commands): If start_job returns - failure, but -t is set, set FILE->update_status to success. - (start_job): If -t is set, and the commands are not recursive, return - failure (is is done for -q). - - * remake.c (touch_file): New function to touch FILE. - (remake_file): Use touch_file. When touching a file, still do - execute_file_commands. - - * remake.c (remake_file): Don't check question_flag (-q), since we - can't know here if the commands are recursive. - - * commands.c (start_job): Don't use the `recursive' member of - CHILD->file->cmds. Instead, check for leading +s and $(MAKE) or - ${MAKE} in the command line here. - - * commands.h (struct commands): Remove `recursive' member. - - * rule.c (install_default_pattern_rules): Remove use of `recursive' - member. - - * read.c (record_files): Don't check commands from $(MAKE) and set - their `recursive' member. - - * commands.c (fatal_error_signal): Treat SIGQUIT like SIGINT, SIGHUP, - and SIGTERM, but don't send it to ourselves because it will cause a - core dump. - -Thu Jun 8 20:30:04 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.50. - - * variable.c (variable_expand): Use allocated_variable_expand instead - of expand_argument in a few places. - - * variable.c (allocated_variable_expand): Do static variable shuffling - here instead of using expand_argument. - (expand_argument): Use allocated_variable_expand. - - * variable.c (recursively_expand): New function to recursively expand - its argument (a `struct variable'), returning the malloc'd value. - (variable_expand): Use recursively_expand. - -Sun May 28 12:49:27 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * make.c (main): Fixed buggy fix in deciding to increase space for - command-line variable definitions. (First it never did it, then it - always did it; now it does it when necessary.) - -Sat May 27 14:01:54 1989 Roland McGrath (mcgrath at hecuba.Berkeley.EDU) - - * make.c (main): Fixed bug in deciding to increase space for - command-line variable definitions. - -Fri May 26 15:48:01 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * read.c (multi_glob): Use allocated_expand_variable for checking - `HOME' variable for ~ expansion, since this may be called from inside a - `wildcard' function expansion. - - * variable.h: Declare allocated_expand_variable. - - * variable.c (allocated_expand_variable): New function to do variable - expansion in an allocated buffer, rather than the static one. - - * make.c (main): Don't set glob_tilde (it no longer exists). - - * variable.c (string_glob): Use multi_glob and parse_file_seq. - - * read.c (multi_glob): Do ~ expansion here. - - * glob.c (glob_tilde, glob_filename): Removed ~ expansion. - - * variable.c (define_variable, lookup_variable): Use a smarter hashing - algorithm (the same one used for files and directories). - (VARIABLE_BUCKETS): Increased to 523. - - * file.c (enter_file, lookup_file, rename_file): Use a smarter hashing - algorithm, spreading the bits about somewhat. - - * make.c (log_working_directory): Under `-p', precede the directory - message with a `#'. - - * make.c (print_version): Under `-p', precede each line with a `#'. - (print_data_base): Precede the header line with a `#' and include the - date and time on it. - - * vpath.c (print_vpath_data_base): Precede non-directive - lines with `#'s. - - * commands.c (print_commands): Precede the non-command line with a `#'. - - * rule.c (print_rule_data_base), file.c (print_file_data_base): Precede - non-rule lines with `#'s. - - * dir.c (print_dir_data_base): Precede all lines with `#'s. - - * variable.c (print_variable_data_base): Changed format so that it can - be makefile input. Lines that are not variable definitions are - preceded with `#'. Nonrecursive variable definitions are made with all - dollar signs doubled to reproduce the initial value. Recursive - variable definitions containing newlines are done with `define' - directives. Nonrecursive variable definitions containing newlines, and - variable names containing :, =, or newlines, will come out garbled. - -Wed May 24 00:20:04 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.49. - -Tue May 23 19:18:00 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * variable.c (expand_function: `filter'/`filter-out'): Use - find_percent instead of pattern_p. - - * variable.c (expand_function: `patsubst'): Pass new args (both nil) - to patsubst_expand. - (variable_expand): For $(var:pat%=rep%) references, pass new args to - patsubst_expand so as to avoid find_percent and thus disallow - quoting the %s. - - * read.c (record_files): Pass new args to patsubst_expand. - - * variable.c (patsubst_expand): Take two new args: PATTERN_PERCENT - and REPLACE_PERCENT. Each of these, if non-nil, means that PATTERN - (or REPLACE) has already been run through find_percent, and - PATTERN_PERCENT (or REPLACE_PERCENT) is the result. - - * make.h: Declare find_percent instead of pattern_p. - - * read.c (pattern_p): Changed to find_percent, returning a pointer - to the %, or nil if there is none. - (record_files): Take another arg, PATTERN_PERCENT, a pointer to the - % in PATTERN. - (read_makefile): Pass PATTERN_PERCENT to record_files. - - * make.texinfo (Rules: Static Pattern: Static Usage, - Rules: Directory Search: Selective Search, - Functions: Text Functions): Documented that `%' can be quoted. - - * variable.c (expand_function: `filter'/`filter-out'): Use pattern_p - to allow quoted %s in patterns. - - * variable.c (patsubst_expand): Use pattern_p on PATTERN and REPLACE - to allow quoted %s. Quoting backslashes are removed from REPLACE - even if PATTERN contains no unquoted %. - - * read.c (pattern_p): Made global. - * make.h: Declare pattern_p. - - * read.c (pattern_p): New function to search for an unquoted % in a - string. Backslashes quote %s and backslashes. Quoting backslashes - are removed from the string by compacting it into itself. Returns - nonzero if an unquoted % was found, zero if not. - (record_files): Use pattern_p to check for implicit rules. - (read_makefile): Use pattern_p to check for static pattern rules. - Also use it to allow quoted %s in `vpath' patterns; warn about - `vpath' patterns with no %s. - -Mon May 22 16:31:52 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * glob.c (glob_filename): Replace a `1' with the `l' that should - have been there. This incidentally stops it from dumping core. - - * glob.c (glob_filename): If the path is just a directory, with no - file name pattern, return the directory alone. - - * glob.c (glob_tilde): New global variable (int), defaults to zero. - (glob_filename): If glob_tilde is nonzero, expand ~ or ~USER. - - * variable.c (string_glob): Keep a static allocated buffer for file - names taken from the list, instead of allocating and freeing one - every time. - -Fri May 19 18:06:26 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * make.c (decode_switches): Get floating numbers from the right string. - -Sun May 14 13:48:04 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * commands.c (delete_child_targets): When deleting `also_make' - files, include the target's name in the message: - make: *** [foo] Deleting file `bar' - -Sat May 13 17:34:26 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * make.c (max_load_average, default_load_average): Default to -1. - - * load.c (wait_to_start_job): Return if max_load_average is < 0.0, - not equal. - -Fri May 12 16:08:05 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * variable.c (variable_buffer_output): Don't try to do pointer - arithmetic between objects not in the same array. - -Wed May 10 15:55:29 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * rule.c [M_XENIX] (default_suffix_rules, default_variables): Minor - changes to allow for strange compiler syntax. - - * rule.c (default_variables): Don't include "> $@" in - $(PREPROCESS.S), since it's already in the .S.s rule. - - * file.c (enter_file): Make a new double-colon file the `prev' - member of the bottom `prev' file (the one whose `prev' is nil). - - * read.c (do_define): Append newlines after copying the lines into - the value buffer, so we end up with a trailing newline. - - * make.c (print_version): If the global variable - `remote_description' is not nil or "", append "-%s" (its value) to - the version number. - * remote-*.c: Define remote_description appropriately. - -Sun May 7 15:15:53 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * commands.c (error_status): Converted to new function child_error, - taking new arguments TARGET_NAME and IGNORED, and writing an error - message: "*** [target] Error 1" (or signal #, etc.), appending - " (ignored)" if IGNORED is nonzero. - (child_handler): Use child_error instead of error_status. - - * compatMakefile (all): Don't depend on `doc'. - - * compatMakefile (clean): Don't remove make-info*. - (realclean): New rule, depends on `clean', removes tags, TAGS, - and all Info and TeX files. - -Thu May 4 17:00:46 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * variable.c (print_variable_data_base), file.c - (print_file_data_base), rule.c (print_rule_data_base), - Use floating-point for averages and percentages. - - * make.c (print_data_base): Print messages before and after the data - base information. - - * commands.c (print_commands): Changed output format to separate - lines in commands and prefix them with tabs. - - * dir.c (print_dir_data_base): Changed output format slightly. - - * vpath.c (struct vpath, construct_vpath_list, - selective_vpath_search): Remove the `exists' member and its uses. - - * vpath.c (print_vpath_data_base): New function to print all - selective and general VPATH search paths (for -p). - - * make.c (print_data_base): Call print_vpath_data_base. - - * file.c (print_file_data_base): Changed format to look more like a - makefile rule. Now reports all information in the `struct file'. - - * rule.c (print_rule_data_base): Changed format of display from: - %: (terminal) - depends on: RCS/%,v - to: - %: RCS/%,v - is terminal. - references nonexistent subdirectory. - Also include number and percent that refer to nonexistent - subdirectories. - -Thu Apr 27 15:45:40 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * make.c (main): Figure out the level of recursion before writing - the `Entering directory' message. - * variable.c (define_automatic_variables): Don't figure out the - level of recursion from `MAKELEVEL'. It's now done in main. - - * Version 3.48. - -Wed Apr 26 16:39:17 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * commands.c (child_handler): Set `update_status' to zero when there - are no more commands. - - * make.c (log_working_directory): If MAKELEVEL > 0, indicate the - recurson in the message (make[1]: ...). - - * commands.c (child_handler): Change status to `cs_finished' when - commands fail. - - * commands.c (start_job): Return 0 (success) if there were no more - commands for the child. - (child_handler): Change the status to `cs_finished' when start_job - fails to start the commands. - - * make.c (main): Don't handle SIGEMT if it's not defined. - Do handle SIGDANGER if it is defined. - - * commands.c (child_handler): Reorganized inner loop so that it - doesn't try to inspect the child before finding it. - -Tue Apr 25 16:28:24 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * make.c (end_of_token): Fixed bug wherein backslashes caused - immediate return. - - * Version 3.47. - - * make.texinfo (Implicit: Pattern Rules: Automatic): Document - setting of `$*' for explicit rules. Add note clarifying that - automatic variables, though referred to in the documentation as - `$<', etc. are no different than `$(<)', etc. - -Fri Apr 21 18:00:12 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * file.c (enter_file): Don't strip leading `./'s. - - * read.c (parse_file_seq): Strip leading `./'s. - -Thu Apr 13 17:26:41 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * make.texinfo (Commands: Parallel, Running: Options): Document that - -l with no argument removes a previous load limit. - - * make.c (struct command_switch): New member `default_value'. - (default_job_slots): Default value (of 1) for -j. - (default_load_average): Default value (of 0, unlimited) for -l. - (command_switches): Use default values for -j and -l. - Also, -l without an arg now means no load limit. - (define_makeflags): Don't write positive_int or floating options - whose values are their defaults. - - * make.c (main): Under -w, write a `Leaving directory' message - before re-execing. - -Tue Apr 11 16:46:29 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.46. - - * Makefile: Provide an easy place for system-specific definitions - (-DUSG, etc.) and extra object files (for whatever). - - * make.texinfo: Miscellaneous fixes from RMS. - -Mon Apr 10 19:31:34 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * rule.c (pattern_search): Put rules with `subdir' flags set in - TRYRULES, since these might be valid with VPATHs. In the TRYRULES - loop, don't do lookup_file or file_exists_p calls for dependencies - of rules with `subdir' flags set, but still do vpath_search calls - and intermediate-file searches. - -Thu Apr 6 16:33:00 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * make.texinfo (Implicit: Pattern Rules: Automatic): Document the - new definition of $* for explicit rules. - - * commands.c (execute_file_commands): If FILE->stem is nil, figure - out if FILE->name ends in a suffix in the .SUFFIXES list; if so, - store the name sans suffix in FILE->stem (and $*). - -Wed Apr 5 15:24:48 1989 Roland McGrath (mcgrath at helen.Berkeley.EDU) - - * file.c (remove_intermediates): Don't use `file_exists_p' to check - for the existence of intermediate files, because the hashed - directories will probably be out of date. - - * commands.c (child_handler): Free the good stdin before running the - next command line. - - * commands.c [USG] (init_siglist): Don't case SIGEMT if it's not - defined. Do case SIGDANGER (for IBM RT) if it is defined. - - * commands.c: Changed `SYS_WAIT' to `HAVE_SYS_WAIT'. - (child_handler): Use `wait3' if HAVE_SYS_WAIT is #defined. - - * file.c (enter_file): If any `./'s are stripped off, allocate a new - copy of the shortened name. - - * rule.c (pattern_search): Allocate the right length strings for - `also_make' members. - -Sat Apr 1 13:28:38 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.45. - - * GNUmakefile: Make a separate tarfile of the DVI and info files. - - * make.c (define_makeflags): If a switch that takes an argument has - its default value, put the switch in MAKEFLAGS with no arguments. - - * make.c (command_switches): Pass `-l' in MAKEFLAGS. - -Wed Mar 29 17:50:05 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * GNUmakefile: Don't include the DVI and info files in the dist. - - * commands.c (child_handler): Don't call - check_changed_{directories,vpaths}. - - * make.h: Don't declare check_changed_{directories,vpaths}. - - * vpath.c (check_changed_vpaths): Removed this function. - - * dir.c (struct directory): Remove `modtime' member. - (find_directory): Don't set `modtime' member. - (check_changed_directories): Removed this function. - - * remake.c (update_file_1): Set FILE->command_state to cs_finished - if it didn't need to be remade. - - * remake.c (update_file): Only write the "up to date" message if the - target went from `not_started' state to `finished' state without - incrementing the count of files remade. - - * commands.c [USG] (init_siglist): If both SIGCHLD and SIGCLD are - defined, don't put them both in the `switch'. - -Tue Mar 28 15:37:02 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * file.c (rename_file): Change FILE's name!!! - - * rule.c (create_pattern_rule): Set the `terminal' member of the new - rule after calling new_pattern_rule, which zeros it. - - * rule.c (default_variables): Use $(C++) in $(COMPILE.cc)! - -Sun Mar 26 15:52:30 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Makefile: Added a `clean' target. - -Fri Mar 24 15:08:46 1989 Roland McGrath (mcgrath at helen.Berkeley.EDU) - - * Version 3.44. - - * file.c (rename_file): If a `struct file' for the renamed-to name - exists, and it is a target or has deps or commands, barf. - If not just remove the old one for put in the new one. - - * remake.c (update_file_1, check_dep): Changed it back so that equal - modtimes to NOT make dependencies be considered newer. RCS checks - out files with equal modtimes as the RCS files, so this screws it. - - * make.h, glob.c: If __GNUC__ is defined, use __builtin_alloca. - - * Makefile: Use variables `ALLOCA' and `ALLOCASRC' so systems - without a good standard alloca can get it from the Emacs - distribution (or somewhere). - - * dir.c: Don't include , since make.h does. - - * make.c: Removed debugging version of getwd. - -Thu Mar 23 16:16:27 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.43. - - * remake.c (update_file_1): If a dependency loop is found, don't - fatal. Emit an error message and remove the dependency. - - * remake.c (library_file_mtime): Fixed to use the right names. - (update_file_1, check_dep): Consider a dependency "newer" than its - dependent if they have the same modification time. - -Wed Mar 22 19:31:35 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * file.c (remove_intermediates): Don't try to remove nonexistent files. - -Mon Mar 20 10:21:22 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.42. - - * rule.c (default_variables): Set F77 to $(FC) and F77FLAGS to - $(FFLAGS) so explicit rules expecting these (which are in System V) - will work. However, there is no way to make setting these affect - the implicit rules, unless we trash FC and FFLAGS (which BSD uses). - [USG]: Set GET to `get' rather than `/usr/sccs/get'. - -Sun Mar 19 20:00:27 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * vpath.c (construct_vpath_list): Don't replace VPATH[ELEM] with - dir_name (V), because the latter may get freed. - -Sat Mar 18 15:01:39 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.41. - - * make.texinfo: Cleaned-up edition 0.1 Beta from RMS and Bob Chassell. - - * file.c (rename_file): If a file with the new name already existed, - use the same storage space, after freeing the old file's name, deps, - and `also_make' member, preserving the link in the chain. - Also write an error message telling the user to report the incident; - I don't think this should be able to happen, but I'm not sure. - - * file.c (rename_file): Don't add the hash values of the old and new - names together! Reset HASHVAL before computing the second value. - - * dir.c (check_changed_directories): Zero the new file hash table - after allocating it. - - * dir.c (dir_file_exists_p): If FILENAME is "", return 1 if the - directory exists. - - * vpath.c (check_changed_vpaths): New function to run through the - search paths of all VPATHs, making the `exists' members correspond - to reality. - - * commands.c (child_handler): Call check_changed_vpaths. - - * make.h: Declare check_changed_vpaths. - - * vpath.c (struct vpath): New element `exists', an array of char - flags; exists[N] is nonzero if searchpath[N] exists. - (construct_vpath_list): Set the `exists' member. - (selective_vpath_search): Don't search directories whose `exists' - elements are zero. - - * read.c (read_makefile): Set the `dontcare' flag of makefiles - from the MAKEFILES variable if they were not mentioned anywhere but - in the MAKEFILES variable. - - * read.c (read_makefile): Don't write an error message if fopen - fails for a makefile from the MAKEFILES variable. - - * dir.c (struct directory): Add `modtime' member to record the - modification time of the directory when it was opened. - (check_changed_directories): New function to check all known - directories; if their modtimes have changed since they were opened, - their file tables are cleared and they are reset to be read in. - - * commands.c (child_handler): Call check_changed_directories before - returning. - make.h: Declare check_changed_directories. - -Tue Mar 14 20:07:13 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.40. - - * make.c (print_version): Made the copyright say 1988, 1989. - - * read.c (read_all_makefiles): Don't set *MAKEFILES to the name of - the end of the read_makefiles chain, since the latter may be from an - included makefile. (Why did I do this before?) - - * make.c (main): Set argv[0] to "" if it was nil. Don't put the - command-line variable definitions into argv[0], only into the MAKE - variable! - -Sun Mar 5 20:44:08 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * ar.c (ar_member_date, ar_touch): Remove the trailing ) from the - member name. - -Fri Mar 3 18:15:15 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * commands.c (construct_command_argv): Initialize NEW_ARGV to 0. At - `slow' label, if NEW_ARGV is not 0, free it; then allocate 4 strings. - -Tue Feb 28 14:29:39 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.39. - - * COPYING, make.texinfo: New GNU General Public License, version 1. - - * *.c, *.h, Makefile: New copyright notices for the new GNU General - Public License, version 1. - - * commands.c [USG]: Define WRETCODE correctly (again). - - * variable.c (expand_function: `shell'): Don't capture the standard - error output of the shell command. - - * ar.c (ar_touch, ar_member_date): Allocate MEMNAME with the right - length. - - * load.c [not UMAX] (load_average): Don't clobber the first nlist - member when trying to set the second! - -Thu Feb 23 13:13:53 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * commands.c (child_handler): Really ignore errors under -i and for - - lines, don't just print a different message. - - * make.c (decode_switches): Fixed handling of arguments (or lack - thereof) to switches. - -Wed Feb 22 16:25:39 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * commands.c (construct_command_argv): Don't clobber LINE when - checking the IFS variable. - -Sun Feb 19 11:17:07 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * load.c [UMAX, not NO_LDAV] (load_average): Return 0.0 rather than - randomness when calls fail. - - * Version 3.38. - - * commands.c (fatal_error_signal): If handling a user kill signal - (TERM, INT, HUP), wait for the children without printing the - "Waiting for children" message, since they will die quickly. - - * Version 3.37. - - * remote-stub.c (remote_status): Take another arg, BLOCK. If this - is nonzero block waiting for remote children. If not, return 0 if - we would have to block. - - * commands.c (child_handler) [not USG]: If called as a signal - handler, use wait3 and don't block. - [USG]: If called as a signal handler, return after handling one child. - -Sat Feb 18 13:37:04 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * file.c (snap_deps): Process all double-colon entries of each file, - not just the first one. - - * Version 3.36. - - * remote-stub.c: remote.c renamed. - remote.c: Just include remote-stub.c - - * commands.c (child_handler): If we were called as a signal handler, - return after handling one child. - - * commands.c [not USG]: Include and define `sigmask' if - doesn't. - (block_children, unblock_children): Use sigmask rather than - bitshifting explicitly (and incorrectly). - - * remote.c (remote_kill): New function to send a signal to a - remote child. - - * commands.c (fatal_error_signal): If we get a SIGTERM, send one to - each living child. If we get a SIGTERM, SIGINT, or SIGHUP, delete - all pending targets before waiting for children. - (struct child): Add new member `deleted'. - (start_job): Initialize `deleted' member to 0. - (delete_child_targets): New function to delete a given child's - targets, unless the `deleted' flag in the `struct child' says they - have already been deleted. Sets this flag before returning. - -Thu Feb 16 18:32:07 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * commands.c [USG]: Define `WRETCODE' correctly (X & 0xff00). - -Tue Feb 14 16:05:00 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * commands.c (construct_command_argv): Don't make the 0th element of - the argument list be "sh" when executing /bin/sh, because start_job - uses the 0th element as the program name. - -Sun Feb 12 17:42:05 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.35. - - * read.c (readline): Put a null in the beginning of the buffer - before starting the reading loop. - - * read.c (read_makefile): Made main reading loop while - !feof (infile), and removed EOF check after calling readline. - -Sun Feb 5 19:52:38 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * remote.c (block_remote_children, unblock_remote_children): New - (stub) functions to block and restore asynchronous notification of - remote child death. - - * commands.c (block_children): Call block_remote_children. - (unblock_children): Call unblock_remote_children. - (child_handler): If called as a signal handler, block remote - children on entry and unblock them before returning. - - * commands.c (child_handler): For unknown children, if they are - remote, give their remote ID; if local, give their PID and make's. - - * commands.c (execute_file_command): Don't put a new child in the - chain unless start_job succeeds. Block children before calling - start_job, and unblock them after putting the child in the chain and - incrementing `job_slots_used' (if start_job succeeded). - - * commands.c (block_children, unblock_children): Make these globally - visible (not `static'). - commands.h: Declare block_children and unblock_children. - - * variable.c (expand_function: `shell'): Use - `shell_function_completed'. Block children before forking and - unblock after `shell_function_pid' is set properly and - `shell_functon_completed' is reset to 0. - - * commands.c (child_handler): When the child of the `shell' function - completes, set `shell_function_completed' to 1 if it actually ran, - or -1 if it didn't (due to fork or exec failure). - - * commands.c (block_children, unblock_children): New functions to - block and unblock the child termination signal. - (wait_for_children): Use block_children and unblock_children. - (execute_file_commands): Block children around the critical section - wherein a new child is put on the chain. - - * make.c (main): Change the environment to contain the correct - MAKELEVEL before re-execing. - -Sat Feb 4 18:28:48 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.34. - -Fri Feb 3 16:36:49 1989 Roland McGrath (mcgrath at helen.Berkeley.EDU) - - * rule.c (default_variables): Fixed $(LINK.c). - -Wed Feb 1 18:05:07 1989 Roland McGrath (mcgrath at pepper.Berkeley.EDU) - - * Version 3.33. - - * version.c: Removed copyright notice, since this is a one-line file. - - * commands.c (error_status): Made it return BUF, rather than running - off the end (this apparently worked on Sun 3s for some reason). - - * ar.c, commands.c, dep.h, load.c, make.c, make.h, read.c, remake.c, - rule.c, variable.c, Makefile: Changed copyrght notices to cover 1989. - -Mon Jan 30 15:51:28 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * Version 3.32. - -Fri Jan 27 20:09:24 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * remake.c (remake_file): Don't touch phony targets. - - * rule.c (convert_to_pattern): Fixed an incorrect length passed to - savestring. - - * variable.c (expand_function: `shell'): Close the read side of the - pipe on the parent side of the fork. - - * commands.c (start_job): On the child of the fork, close the - BAD_STDIN fd if we're not using it. - - * read.c (record_files): A file beginning with a dot can be a - default target if it also contains a slash (as in `../foo'). - - * commands.c (wait_for_children): For BSD, block SIGCHLD rather than - ignoring it to avoid a race condition when child_handler is returning. - - * commands.c (child_handler): Do blocking waits. - (error_status): Return a string describing exit status. (Split out - of child_handler). - - * read.c (multi_glob): Change VECTOR to VEC for Alliant. - -Thu Jan 5 00:06:51 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * Version 3.31. - - * make.texinfo (Features): Noted $(foo:PAT=SUB) from SunOS 4.0. - - * make.texinfo (Options/Recursion): -d and -p go in the environment. - - * load.c: Include "commands.h". - -Wed Jan 4 17:49:25 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * make.c (switches): -d and -p can come from the environment and are - put into it. - - * read.c (record_files): Fixed the checking for duplicate deps so it - doesn't clobber the first one. - - * make.texinfo: Documented default implicit rule changes. - - * rule.c: Revamped default suffix rules. They now use Sun's style - of using variables `COMPILE.c', `LINK.c', etc. for each suffix, and - use `TARGET_ARCH' and `TARGET_MACH' variable where appropriate. - Also support Modula-2 compilation (suffixes .sym, .def, and .mod). - Ratfor Yacc support is gone, since nobody has yacc -r. - All EFL support is gone, since nobody uses EFL. - - * ar.c, arscan.c: Don't assume `long int' and `int' are the same. - - * commands.c [USG]: Fixed wait status bit encoding. - [USG and not USGr3] (dup2): Define this for SysVr2. - - * make.h, dep.h, make.c [iAPX286]: Make allowances for this - brain-damaged compiler. - - * make.texinfo (Variables: Flavors): Fixed a typo. - -Tue Jan 3 18:09:31 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * ar.c (ar_member_date, ar_touch): Truncate member names to 15 chars. - - * Version 3.30. - - * commands.c [SYS_WAIT]: If this is defined, use BSD - and wait3 even if USG. - - * read.c (record_files): Defining .DEFAULT with no deps or commands - clears its commands. - - * rule.c (default_suffixes): Added `.sh'. - (default_suffix_rules): Added single-suffix .sh rule, copies source - to target and makes target executable. - make.texinfo (Catalogue of Rules): Documented .sh rule and its use - in conjunction with SCCS. - - * rule.c (set_default_suffixes): Define variable `SUFFIXES' to the - default list ("" under -r). - make.texinfo (Suffix Rules): Document `SUFFIXES' variable. - - * rule.c (default_variables), make.texinfo (Implicit Variables): - Variable AR defaults to `ar', ARFLAGS to `rv', and RM to `rm -f'. - - * rule.c (install_default_pattern_rules): Default variables are made - recursive. - (default_variables): Added "CPP", defined to "$(CC) -E". - (default_suffixes): Added `.S', before `.s'. - (default_suffix_rules): New rule for .S to .s, runs CPP. - All rules that use CPP now include "$(CPPFLAGS)". - make.texinfo (Catalogue of Implicit Rules, Implicit Variables): - Documented above changes. - - * commands.c [USG] (sys_siglist): Don't define. - [USG] (init_siglist): New function to initialize sys_siglist. - - * make.texinfo (Variables: Reference): Documented `$(foo:PAT=SUB)' - references. - - * variable.c (variable_expand): A reference `$(foo:PAT=SUB)' is - equivalent to `$(patsubst PAT,SUB,$(foo))'. - - * variable.c (variable_expand): Free the storage for the expansion - of a recursive variable when it is nod longer needed. - - * variable.c (variable_expand): When checking for `$($(foo))', use - lindex so as not to search for the second `$' outside the parens. - - * make.c (struct stringlist, main, decode_switches): Changed `index' - member to `idx'. - -Sat Dec 24 16:02:32 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * commands.c (wait_for_children [USG]): Handle SIGCLD with SIG_DFL, - rather than SIG_IGN. Ignoring SIGCLD reportedly makes wait return -1. - - * arscan.c [USGr3]: Define PORTAR to 1 (as with sun386). - (ar_scan [USGr3]): Remove trailing slashes from member names. - -Thu Dec 22 17:54:05 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * make.texinfo (Makefiles: Overriding Makefiles): New node - documenting use of .DEFAULT to have one makefile defer unmakeable - targets to another. - - * make.texinfo (Implicit: Using Implicit, Implicit: Last Resort): - Mention empty commands and xref node `Empty Commands'. - -Wed Dec 21 20:12:40 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * Version 3.29. - - * make.c (struct command_switch, command_switches, et al): New - member `noarg_value', if not nil, ptr to value to use if no arg is - given to a switch that would otherwise require one. The -j option - can now be given w/o an arg, to mean infinite jobs. - * commands.c: If job_slots is zero, infinite jobs. - - * read.c (read_all_makefiles, read_makefile): Make makefiles precious. - - * make.c (decode_switches): For a positive_int or floating option, - if we moved to the next argument word, but found no argument for the - option, move back to the correct word. - - * make.c (decode_switches): If we got any unknown options, die after - processing all arguments. - - * GNUmakefile: Moved `include depend' to the end, so the default - goal will be set before then. - - * load.c (wait_to_start_job [Unix, UMAX]): Merged into one version - under #ifdef LDAV_BASED. Only loop while we have jobs running. - Sleep for increasing amounts (increase one second per iteration) - before checking the load average (after the first check). - Get the load average from function load_average. - (wait_to_start_job [not LDAV_BASED]): Always return. - (load_average [UMAX]): Fetch load average for Encore UMAX. - (load_average [not NO_LDAV]): Fetch load average from /dev/kmem. - [not NO_LDAV]: Define LDAV_BASED. - -Tue Dec 20 18:54:50 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * Version 3.28. - - * commands.c (wait_for_children): Take second arg, ERROR. If - nonzero, and there are children, print a message on stderr. - (execute_file_commands, fatal_error_signal): Pass second arg. - * make.c (die), remake.c (update_goal_chain), variable.c - (expand_function: `shell'): Ditto. - -Sat Dec 17 01:05:38 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * commands.c (start_job): Call wait_to_start_job before forking. - - * load.c (load_average): Converted to wait_to_start_job. - - * remote.c: New file for remote execution functions. - (start_remote_job_p): Return nonzero if the next job should be run - remotely. - (start_remote_job): Start a remote job and return an ID for it. - (remote_status): Get status of dead remote children. - -Fri Dec 16 16:51:07 1988 Roland McGrath (mcgrath at hecuba.Berkeley.EDU) - - * commands.c (start_job): If start_remote_job_p () returns nonzero, - call start_remote_job to start the job rather than fork and exec. - (child_handler): - - * commands.c (execute_file_commands): Moved load average checking to - start_job. - - * commands.c (child_handler: USG): Record the pid wait returns. - - * load.c (UMAX): Added some #include's needed for UMAX. - - * read.c (multi_glob), variable.c (string_glob): Ignore a (char **) - -1 return from glob_filename. - - * variable.c (variable_expand): Make sure we don't increment past - the end of the string we were passed. - - * variable.c (variable_expand): Terminate the expansion. - - * file.c (rename_file): If there is already a file under the new - name, set its contents equal to FILE's (ick). - - * variable.c (define_automatic_variables): Pass all the args to - define_variable when defining MAKELEVEL! - - * commands.c (execute_file_commands): If max_load_average > 0, and - we have children running, don't start up another child until the - load average goes below max_load_average. - - * make.c: New variable `max_load_average'. - (struct command_switch, decode_switches, decode_env_switches): - Handle floating-point (double) args. - (command_switches): Added `-l' switch to set `max_load_average'. - - * load.c (load_average): New file and function to return a double - that is the current load average (1.00 scale). - * GNUmakefile, oldMakefile: Pass flags in $(LOAD_AVG) for load.c. - -Thu Dec 15 15:22:08 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * Makefile: Renamed to oldMakefile. - * GNUmakefile: Make Makefile from oldMakefile and depend. - - * read.c (read_all_makefiles): When putting the default makefiles in - the read_makefiles chain so they will be remade, put them in the - right order. - - * remake.c (update_goal_chain): If MAKEFILES is nonzero, always make - in serial, and return as soon as one goal whose `changed' member is - nonzero is successfully remade. - - * commands.c: Don't include . - - * commands.c (construct_command_argv): Added ` to sh_chars. - - * make.h: Don't declare construct_makeflags. - - * make.c (main): Set up MAKEFLAGS and MFLAGS and make an environment - both before and after reading the makefiles, so the makefiles can - use them and possible change them, and later children will get the - right information. - (construct_makeflags): Replaced with define_makeflags (static void), - which defines the two variables. - * variable.c (define_automatic_variables): Don't define MAKEFLAGS - and MFLAGS. - -Mon Dec 12 14:40:31 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU) - - * Version 3.27. - - * commands.c (child_handler): Reset the handler to ourselves when - called for USG, since it has no safe signals. - - * commands.c: For USG, use an int rather than a `union wait' for - wait calls, and dissect it with bitmasks. - (child_handler): No wait3 system call in USG. Since we can't - protect from hanging, always return immediately if we have no - children we know about and we're not running a `shell' function. - (There is still the danger of hanging waiting for a child that died - without our being notified.) - - * remake.c: Include instead of . What we need - is really in , and while BSD includes - , USG doesn't. - - * make.c (main): Figure out the program name before doing anything - which might need it (in a call to error or fatal). - - * dir.c, glob.c: Use `struct dirent' and for USGr3. - - * arscan.c (ar_scan): Added missing & before buf (which is an int) - if SARMAG is not defined (SysV). - -Fri Dec 9 18:44:13 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU) - - * Version 3.26. - - * dir.c (find_directory, dir_file_exists_p): Keep track of how many - directories we have open and don't let it be more than - MAX_OPEN_DIRECTORIES (currently 10). - - * variable.c (expand_function: `foreach'): Use expand_argument - rather than variable_expand so each repetition doesn't clobber the - last!!! - -Mon Dec 5 15:58:46 1988 Roland McGrath (mcgrath at hecuba.Berkeley.EDU) - - * Version 3.25. - - * Makefile: Define `install' target. - - * GNUmakefile: Don't include GNUmakefile or depend in the - distribution file. - -Wed Nov 30 15:53:42 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU) - - * commands.c (execute_file_commands): Don't clobber a null into - random storage if there were no $^ and/or $? words. - - * remake.c (check_dep): Set *MUST_MAKE_PTR nonzero if a dependency - doesn't exist. - - * ar.c (ar_member_date, ar_touch): Make sure the modtime of the - archive file itself is known before we fetch or change the modtime - of one of its members. - - * read.c (read_makefile): Expand variable and function references - before parsing rules so variable can contain special characters - (colons and semicolons). - -Sat Nov 26 11:36:31 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * variable.c (expand_function: `filter', `filter-out'): Fixed so - that filter-out works right. - - * variable.c (expand_function: `filter', `filter-out'): Made these - functions use each word of their first argument as a pattern. - -Fri Nov 25 10:51:47 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.24. - - * read.c (record_files): If a target is listed more than once in a - single rule (that defines commands), give a warning message rather - than the counter-intuitive message saying commands were already - defined (in the same place). - - * make.c (fatal, error): Made them both take 6 args since there is - at least one error message that need that many. Too bad vfprintf is - not universal! - - * Version 3.23. - - * read.c (read_makefile): Moved the construction of the `struct - commands' into record_files. Call record_files before recursing for an - included makefile so the higher-up will determine the default goal. - (record_files): Take arguments COMMANDS, COMMANDS_IDX and - COMMANDS_STARTED and construct a `struct commands. - -Thu Nov 24 14:36:33 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.22. - - * make.c (main): Made it a fatal error if we can't move back to the - directory we started in before re-execing. - - * make.c (main): Get the current directory before doing anything - else, so we know it even if we don't need it for the value of - `MAKE', since we might want it when re-execing. - -Wed Nov 23 13:34:44 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * Version 3.21. - - * read.c (record_files): Eliminate duplicate deps in a chain. - - * variable.c (expand_function: `sort'): Pass the right number to - qsort, not one less. - - * remake.c (remake_file): Always call notice_finished_file if - FILE->command_state == cs_finished. - - * commands.c (execute_file_commands): Call notice_finished_file to - set FILE's status correctly when start_job fails (because it's out - of commands or running under -n). - -Fri Nov 18 15:31:12 1988 Roland McGrath (mcgrath at saffron.Berkeley.EDU) - - * Version 3.20. - - * remake.c (update_file_1): Set the `update_status' of FILE to - nonzero and set FILE's `updated' bit if we have decided to give up - on remaking FILE because of errors in the dependencies. - - * rule.c (pattern_search): Debugging messages use `dependency' (vs. - `dependent') properly. - - * make.texinfo (Conditionals: Conditional Syntax): Function index - entries for `ifndef' and `ifneq'. - - * variable.c (define_automatic_variables): Define `MAKELEVEL' to the - decimal number of the makelevel, since it may be malformed or blank. - - * remake.c (remake_file): Call notice_finished_file after touching. - -Sat Nov 12 19:29:34 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * Version 3.19. - - * GNUmakefile (dist): Pass the `-f' flag to compress. - - * vpath.c (build_vpath_lists): Check for VPATHS being nil after - constructing the general VPATH list from the `VPATH' variable. - -Fri Nov 11 08:02:26 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * make.c (fatal, error): Made error messages for recursive runs be - shorter. - -Thu Nov 10 16:51:36 1988 Roland McGrath (mcgrath at basil.Berkeley.EDU) - - * Version 3.18. - - * read.c (read_makefile): Made it eat leading spaces and formfeeds - (but not tabs), like it's documented to. - - * read.c (read_makefile): Let included makefiles determine the - default goal, as is done by System V Make. - -Tue Nov 1 19:03:08 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * variable.c (new_environ): Don't increment VCNT when a variable is - rejected. - -Fri Oct 28 16:54:15 1988 Roland McGrath (mcgrath at basil.Berkeley.EDU) - - * Version 3.17. - - * rule.c (convert_to_pattern): Don't use the same storage for a name - in two rules since new_pattern_rule may free this storage when a - rule is discarded. - - * rule.c (new_pattern_rule): Undid useless change I made Oct 25. - -Thu Oct 27 19:17:53 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * Version 3.16. - - * GNUmakefile, Makefile: Fixed a typo in a comment. - * Makefile: Removed malloc.o from object file list. - - * variable.c: Removed old debugging #define's for xmalloc and - xrealloc so non-ANSI cpp's won't barf. - - * make.c (main): Made local array for temp file name static so - compilers that don't do auto aggregate initialization won't barf. - - * read.c: Removed static declaration of copy_dep_chain since it is - no longer static. - -Tue Oct 25 16:59:30 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU) - - * rule.c (new_pattern_rule): If we threw out the new rule because it - matched an old one and OVERRIDE was zero, don't put the freed - pointer in the chain! - -Wed Oct 19 15:07:43 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU) - - * Version 3.15. - - * variable.c (expand_function: `sort'): Don't do the sorting and - writing out if there were no words in the first place. - - * remake.c (remake_file): Only fail with a "no way to make" message - for a dependency (non-target) file. If we don't know how to remake - a target file, pretend it was successfully remade and is very new. - - * remake.c (remake_file): Don't increment `files_remade' for a - non-target file we don't know how to remake. - - * read.c (record_files): Don't die with "both : and :: entries" for - a file whose `is_target' flag is not set. - -Tue Oct 18 17:24:11 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * variable.c (expand_function: `patsubst', `subst'): Free the right - things! - - * variable.c (expand_function: `subst'): Don't clobber the - pointer to the end of the second arg and then try to use it!!! - -Mon Oct 17 16:44:45 1988 Roland McGrath (mcgrath at catnip.Berkeley.EDU) - - * variable.c (expand_function: `patsubst'): Don't clobber the - pointer to the end of the second arg and then try to use it!!! - - * variable.c (expand_function: `word' function): Made it parse its - second argument correctly. - - * ar.c (ar_touch): Return 1 rather than -1 for on errors. - -Sat Oct 15 15:12:16 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * Version 3.14. - - * GNUmakefile: Removed explicit rule for make.dvi since the built-in - implicit rule now works. - - * rule.c (default_suffix_rules): Fixed .texinfo.dvi rule yet again - so that it really works, now that parens are counted. - - * remake.c (update_file_1): Set FILE's `updated' flag after calling - remake_file if it failed or finished immediately. - - * remake.c (update_file): Use the `updated' flag rather than the - command state to decide if a file was fully considered, and - therefore might give an "up to date" message. - - * variable.c (expand_function): Made all functions that take more - than one argument count parens of the appropriate flavor in their - args and ignore commands nested in parens. - -Fri Oct 14 18:35:00 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * read.c (read_all_makefiles): Pass second arg to read_makefile for - default makefiles. - -Thu Oct 13 16:40:08 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * Version 3.13. - - * GNUmakefile: Added an explicit rule for make.dvi since the - built-in .texinfo.dvi implicit rule is screwed up. - - * rule.c (default_suffix_rules): Added a comment that the - .texinfo.dvi rule does not work because of an ahem, feature of Make - that at some point will be fixed--er, enhanced to alleviate this - difficulty. - - * rule.c (default_suffix_rules): Fixed Texinfo -> DVI rule (again). - - * make.texinfo (Commands: Execution): Documented new competing for - standard input among children. - - * commands.c (struct child): Added `good_stdin' flag to tell if this - child has the stdin that doesn't point into nirvana. - (good_stdin_used): New variable to tell if any child has the good - standard input. - (child_handler): Reset `good_stdin_used' if a dead child's - `good_stdin' flag is set. - (start_job): Give the new child the good standard input if - `good_stdin_used' is no set, and set the child's `good_stdin' flag - appropriately. - - * rule.c (default_suffix_rules): Changed Texinfo -> DVI rule to work - better (I hope). - - * read.c (read_all_makefiles): Stop reading default makefiles after - one is found. - - * read.c (read_makefile): Reset `reading_filename' and - `reading_lineno_ptr' after recursing for an included makefile. - - * GNUmakefile: New GNU Make-specific makefile that does everything - Makefile does plus distribution stuff, and doesn't contain any hacks - to try to work with Unix make. - - * Makefile: Removed distribution stuff. - - * make.c (main): Use mktemp to construct the names of temporary - files used for standard input makefiles. - - * make.c (main): Don't turn standard input into a broken pipe. - - * commands.c (start_job): Keep two extra file descriptors around: a - good standard input, and a bad one that reads from a broken pipe. - On the child side of the fork, if there are other children, give - this one the broken pipe so they won't compete; if this is the only - one, give it the good standard input. - - * make.h: Declare notice_finished_file. - - * commands.c (execute_file_commands): Use noticed_finished_file - after waiting for the child when there is only one job slot. - - * remake.c (notice_finished_file): New function to re-check mtime's - and such things to be done when commands finish. - (update_file_1): Use notice_finished_file. - - * commands.c (child_handler, execute_file_commands): Use new - variable `job_slots_used' to record the number of jobs currently - running, rather than diddling with `job_slots'. - (execute_file_commands): Increment `job_slots_used' before calling - start_job and decrement it on failure to avoid race condition. - If there is only one job slot, wait for the child to finish and - return its status so commands are run in linear order, as if there - were no parallelism. - -Wed Oct 12 15:59:03 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * remake.c (remake_file): Don't print a "No way to make" message for - targets whose `dontcare' flags are set. - - * read.c (read_all_makefiles): Set the `dontcare' flag of the - `struct file' each default makefile added to the chain. - - * file.h (struct file): Add `dontcare' member. - - * read.c (read_all_makefiles): When no default makefiles are found, - put the names of all those tried in the `read_makefiles' chain so - they will be updated if possible, giving their `struct dep's' - `changed' members the value of 0 so we won't care if they cannot be - found or remade. - - * make.texinfo (Makefiles: Remaking Makefiles): Documented that - default makefiles will be remade if not found. - - * read.c (read_all_makefiles): If no default makefiles can be found, - go through the list of default names, trying to make one, stopping - if one is made. - - * remake.c (remake_file): Set STATUS to 0 after successfully touching. - - * dir.c (file_impossible, file_impossible_p): Don't clobber FILENAME - to "" and then try to to a strcmp on it!!! - -Mon Oct 10 16:09:18 1988 Roland McGrath (mcgrath at cinnamon.Berkeley.EDU) - - * make.c (main): Don't do `dir_load (".")'. - - * rule.c (count_implicit_rule_limits), vpath.c - (construct_vpath_list): Test the existence of a given directory by - `dir_file_exists_p (DIR, ".")' and assume that if this returns zero, - it means the directory really does not exist. - - * dir.c (struct dirdata): Replaced with `struct directory' for - directories, each containing a chain of `struct dirfiles', one for - each file (real or impossible). - (dir_load): Removed. - (find_directory): New function to find the `struct directory' for a - named directory and return it (possibly creating a new one). - (dir_file_exists_p): Read the directory on the fly if its stream is - still valid (and ever was) if the file we're looking for is not - already in the hash tables. - (file_impossible, file_impossible_p, dir_name, print_dir_data_base): - Use the new directory/file scheme. - - * make.texinfo: Miscellaneous editorial changes and clarifiactions. - - * commands.c (struct child): Remove `environ' member. - (child_handler, start_job, execute_file_commands): Remove use of - `environ' member and new_environ. - - * make.c (main): Call new_environ after reading makefiles. - - * variable.h: Declare `new_environ' to return void. - - * variable.c (new_environ): Put the environment in `environ' and - return void. - -Fri Oct 7 15:48:39 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU) - - * Version 3.12. - - * Makefile: Don't make the uncompressed tar file. - - * variable.c (expand_function: `shell' function): Made it not expect - read to null-terminate the buffer. - - * Makefile: Made it use a temporary symlink to . rather than a - temporary directory to make the distribution tar file. - -Thu Oct 6 17:52:35 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.11. - - * make.texinfo: Fixed a line that got garbaged somehow. - -Mon Oct 3 16:14:39 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * make.c (main): Try to move back to the directory we started in - before re-exec ourself. - - * remake.c (update_file_1): A double-colon target with no deps - always needs to be remade. - - * remake.c (remake_file): Changed "No way to make" message to say - `target' rather than `file'. - -Sun Oct 2 12:50:47 1988 Roland McGrath (mcgrath at catnip.Berkeley.EDU) - - * remake.c (update_file_1): Set FILE->update_status to the return - value of remake_file. - - * rule.c (convert_to_pattern): Fixed swapped lengths passed to - xmalloc for source/target suffixes. - - * make.texinfo: Documented that MAKEFLAGS and MFLAGS are read in - from makefiles. Updated the `Features' section a bit. - - * make.c (main): Read switches from MAKEFLAGS and MFLAGS variables - after reading in makefiles. - - * make.c (main): Put a line "/tmp/foo:;" rather than ".PHONY: - /tmp/foo" in front of temp files made for stdin makefiles. - - * remake.c (update_file): Test the state of the right `struct file' - for double-colon files. - - * make.c (main): Put a ".PHONY: /tmp/foo" line in front of temp - files made for stdin makefiles so they won't be remade when we - re-exec. Kludge-o-matic!! - - * remake.c (update_goal_chain): Judge files as being finished based - on their `updated' flag, not their state. - - * read.c (read_makefile): Don't check for FILENAME being "-". - (read_all_makefiles): Set each element of MAKEFILES to the name put - in READ_MAKEFILES by read_makefile, since read_makefile may free the - storage for the name it is passed, and someone might want to look at - the elements of MAKEFILES again. - - * make.c (main): For each `-f' flag with arg `-' (standard input), - read standard input into a temp file and pass the temp file's name - to read_all_makefiles, after making sure it will not be remade. - - * make.c (construct_makeflags): Always put out `-j1'. - -Sat Oct 1 00:19:59 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * commands.c (execute_file_commands): If commands are nothing but - whitespace, set the state to `cs_finished' before returning 0. - - * make.c (decode_switches): Allocate space for args in stringlists - so they can be freed later. - - * make.h: Declare `makelevel'. - - * variable.c (makelevel): Moved to make.c (and made global). - - * make.c (fatal, error): Print the makelevel if it's > 0. - (perror_with_name): Use error rather than calling fprintf directly. - (pfatal_with_name): Use fatal rather than fprintf and die. - - * variable.c (new_environ): Don't put default variables (origin - `o_default') into the environment; they just take up space. - - * read.c (read_makefile): Don't add FILENAME to the chain of read - makefiles if it's "-" (standard input). - - * remake.c (update_goal_chain): Set STATUS correctly when nothing - happens (as well as in all other situations). - - * make.c (construct_makeflags): Put a `-' before each switch and - spaces between them. - - * Version 3.10. - - * commands.c (wait_for_children): Don't check if `children' is nil. - This is the case when waiting for the child of a `shell' function. - - * dir.c (dir_load): Don't add a hash-table entry for directory - DIRNAME and filename "" if DIRNAME doesn't exist. - - * commands.c (execute_file_commands): Return 0 after start_job - returns 1 (failure) under the -n flag. - - * remake.c (remake_file): Set the state to `cs_finished' when not - calling execute_file_commands. - - * remake.c (update_goal_chain): Second arg is now MAKEFILES, nonzero - meaning to disable -t, -q, and -n for each target unless the target - was also given on the command-line. - - * read.c (read_makefile): Enter the `struct file's for the makefiles - added to the `read_makefiles' `struct dep' chain. - - * remake.c (update_goal_chain): Made it not enter the files for the - goals in the chain. It will already have been done. - - * rule.c (convert_to_pattern): Null-terminate the names of targets - and deps of the pattern rules properly. - -Fri Sep 30 18:56:20 1988 Roland McGrath (mcgrath at nutmeg.Berkeley.EDU) - - * make.c (main): Call install_default_pattern_rules. - - * make.h: Declare copy_dep_chain. - - * read.c (copy_dep_chain): Moved to make.c (and made global). - - * make.c (main): Call update_goal_chain to update goals. - Update read makefiles and re-exec self if they change. - - * remake.c (update_file): Make this function static. - (update_goal_chain): New function to update a `struct dep' chain of - goals, waiting until they are all finished before returning. - - * make.h: Don't declare update_file. Declare update_goal_chain. - - * make.c (main): Call snap_deps, etc. that were in read_all_makefiles. - - * read.c (find_makefile): Removed this function. - (read_all_makefiles): Don't update makefiles, don't diddle with - pattern rules, don't call snap_deps, etc. Return a `struct dep' - chain of all makefiles read. - (read_makefile): Now takes two args: FILENAME and TYPE, which is 0 - for a normal makefile, 1 for MAKEFILES variable or 2 for an included - makefile. Add a `struct dep' containing the name of the makefile - (as it was found in the search path for type 2s), and TYPE in the - `changed' member to the global `read_makefiles' chain. - - * make.h, rule.c (displace_pattern_rules, - add_displaced_pattern_rules): Removed these functions. - - * read.c (read_makefile): Variable-expand the name of an `include'd - makefile before calling find_makefile on it. - - * file.c (snap_deps): If the `struct file' for a `struct dep' - already exists, free the `struct dep's `name' member before setting - it to nil (since this info is in the `struct file'). - - * read.c (copy_dep_chain): Made it copy each name rather than - leaving multiple `struct dep's with the same pointers. - -Thu Sep 29 19:08:13 1988 Roland McGrath (mcgrath at catnip.Berkeley.EDU) - - * make.c (decode_switches): Fixed second decode_env_switches call to - use correct length of "MFLAGS" (6, not 5). - - * read.c (read_makefile): Don't stop reading when readline returns - zero lines read. Only stop when the stream reaches EOF. This makes - it recognize the last line of a makefile without a newline. - - * remake.c (remake_file): If we don't know how to make FILE, set its - command state to `cs_finished'. - - * remake.c (update_file): Don't write the "up to date" message if - update_file_1 returned a nonzero status. - -Wed Sep 28 16:30:07 1988 Roland McGrath (mcgrath at catnip.Berkeley.EDU) - - * commands.c (child_handler): Set the `update_status' member - properly for ignored errors. - - * rule.c (convert_to_pattern): Made it not care about if the target - suffix comes before the source suffix in the .SUFFIXES list. - - * make.texinfo: Misc editorial changes. - - * commands.c (wait_for_children): Return immediately if `children' - is nil (there are no children). - -Tue Sep 27 15:33:14 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU) - - * Version 3.09. - - * commands.c (struct child): New member `command_ptr' to hold the - current position in the commands. The `commands' member is never - changed. - (start_job, child_handler, execute_file_commands): Use new method - for `commands' and `command_ptr' members. - - * make.c (decode_env_switches): Skip past an invalid letter (instead - of looping forever). - - * commands.c (struct child): Add `environ' member to hold the - environment for this child. - (execute_file_commands): Get a new environment from new_environ and - put in the the new `struct child's `environ' member. - (child_handler): When freeing a child, free its `commands' member, the - elements of its `environ' array and its `environ' member itself. - (start_job): Set `environ' to the child's `environ' member before - exec'ing the command. - - * variable.h, variable.c (new_environ): Made it return the new - environment, not putting it in `environ'. - - * remake.c (update_file): Don't give a "is up to date" message - unless no files were remade and the state went from `cs_not_started' - to `cs_finished', so repeat calls to finish jobs won't get the message. - -Mon Sep 26 16:26:08 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU) - - * Version 3.08. - - * make.texinfo (Commands: Execution): Documented that children will - be waited for rather than killed. - - * commands.c (fatal_error_signal): Wait for children. - (kill_children): Removed this function. - - * make.c (main, die): Wait for children to die, don't kill them. - - * variable.c (expand_function): Use wait_for_children. - - * make.c (main): Use wait_for_children rather than child_handler. - - * commands.c (wait_for_children): New function to block waiting for - children, insuring that child_handler is not called recursively. - (execute_file_commands, kill_children): Use wait_for_children. - - * commands.c (child_handler): Start up additional commands in a - sequence after an ignored error. - - * remake.c (update_file): Don't print "`foo' is up to date" messages - when update_file_1 returns while commands are executing. - - * remake.c (update_file_1): Pass the file name to name_mtime, not - the bloody `struct file', dammit!! - - * commands.c (child_handler): Print out the "*** ..." error message - when not under -i. (I somehow forgot this.) - - * remake.c (update_file_1): Use name_mtime rather than file_mtime to - re-get the mtime of a file whose commands have finished. - - * make.c (command_switches, decode_switches, decode_env_switches): - Make all switches that take string args allow them right after the - switch letter. - - * commands.c (child_handler): Check for a child being the `shell' - function's command returning and set the global variable for - expand_function to check. - - * variable.c (expand_function): For the `shell' function, instead of - waiting for the child shell ourselves, let child_handler do it and - loop around waiting for something to happen. - - * make.c (print_version): Made the copyright year static, not dynamic. - - * make.h, make.c: Remove construct_argv function. - - * make.c (main): Say "no goal target" instead of "no target". - - * make.texinfo (Commands: Parallel): Don't send SIGKILL. - - * commands.c (kill_children): Don't send SIGKILL to children that - aren't killed by the first signal. - - * make.c (main), commands.c (kill_children): Decide between SIGCHLD - and SIGCLD based on whether or not SIGCHLD is defined, not on USG. - - * Makefile: Link make with $(LOADLIBES). - - * read.c (construct_include_path): Fixed another bad xrealloc call. - - * make.c (decode_switches): Fixed an xrealloc call with no first arg. - -Sat Sep 24 01:16:21 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * Version 3.07. - - * remake.c (update_file_1): If deps are running, set state to - `cs_deps_running' and return 0. If deps are done, run commands. - - * commands.c (child_handler): Made it delete non-precious targets - killed by fatal signals. - - * make.texinfo: Documented parallelism. - -Fri Sep 23 16:52:27 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU) - - * remake.c (update_file_1): Don't return if FILE's state is - `cs_deps_running'. In that case, we need to run through and check - the states of all our dependencies. - - * commands.c (execute_file_commands): Decrement `job_slots' after - starting a new job to run file commands. - - * commands.c (start_job): Made it set the state to `cs_running'. - - * make.c (main): Fixed usage of `g', `lastgoal', and `goals' in the - goal-making loop. - - * commands.c (child_handler): When commands finish, set the - corresponding file's `update_status' and `updated' flags as - appropriate, and reset the modtimes of the file and any `also_make' - files it has. - - * remake.c (remake_file): Don't re-set `last_mtime' and set `updated'. - - * commands.c (fatal_error_signal): Don't swallow all the children - with a loop around `wait ((union wait *) 0)'!!! - - * make.c (struct command_switch): Added `positive_int' type. - (switches): Added -j (job_slots). - (construct_makeflags, decode_switches, decode_env_switches): - Handle`positive_int'-type switches. - - * glob.c (glob_vector): Rename local variable `vector' to `VeCtOr'. - This is said to avoid a conflict with some system's global `vector' - variable. - - * variable.c (expand_function): Made the `shell' function use - construct_command_argv and do its own child control and piping. - - * make.c (main): Turn standard input into a broken pipe after - reading in all makefiles (the last time it will be needed). - - * commands.c (struct child): Remove `pipe_fd' member. We don't use - pipes any more. - (start_job): Return 0 for success, 1 or failure (rather than void). - Don't use pipes. Don't turn the child's stdin into a broken pipe. - (child_handler): Print "*** Error" messages when necessary. - Die on failed commands when -k was not given. - (execute_file_commands): Check the return of start_job and remove - the child from the chain and return failure if it is nonzero. - - * make.c (die): New function to clean up and exit. - (fatal, pfatal_with_name): Use die. - -Thu Sep 22 14:27:11 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU) - - * commands.c (struct child): Added `commands', `pipe_fd', and - `noerror' members to keep track of info about a command thread. - (start_job): New function to start a job and update the argument - `struct child' to reflect its status. - (execute_file_commands): Merged run_file_commands back in. - Made it use new start_job function. - - * rule.c (freerule): Don't free the `struct commands' of the - discarded rule. It may be used in more than one place. - - * commands.c (execute_command_line): Made it not try to delete the - possibly partly-made file. The child_handler function will do this. - (fatal_error_signal): Ditto + call kill_children. - - * make.h: Declare job_slots. - - * make.c (main): Collect goals in a dep chain and run through this - chain waiting for a child, eliminating finished goals, updating all - remaining goals, and quitting if they fail and not -k. - - * commands.c (child_handler): If called with SIG < 0, - SIG is the - max number of children to bury. - - * commands.c (child_handler): If called with SIG as zero, - block waiting for running children. - (kill_children): Call child_handler with zero rather than SIGCHLD. - - * remake.c (update_file_1): Use the `command_state' member of FILE - and its dependencies to determine what commands are running, what to - do, etc. If commands or dep commands are running when we are - called, return success (0). If commands finished since the last - time we were called, return their status. - - * commands.h: Declare kill_children. - - * commands.c: Define `struct child' to keep track of child - processes, with the chain in `children'. - (child_handler): New function to catch child-termination signals - (SIGCHLD, or SIGCLD for USG), store the returned status in the - appropriate structure, take the now-obsolete `struct child' out of - the chain, and free its storage. - (execute_file_commands): Put all of the stuff invloving running the - commands into new function run_file_commands. Execute_file_commands - now does process management for the commands, while - run_file_commands (which is run in a subprocess) runs the commands. - (kill_children): New function to kill all running children by - sending them signal SIG. If there are any children still living - after they are all sent SIG, they are all sent SIGKILL. - - * make.c (main): Catch SIGCHLD (SIGCLD for USG) with child_handler. - - * commands.h: Declare child_handler function. - - * commands.c (execute_file_commands): Check the `command_state' - member of FILE and return 0 if it is `cs_running' or - `cs_deps_running' and return the stored status if it is `cs_finished'. - - * file.h (struct file): Added `command_state' member. - - * commands.c (execute_command_line): Add `$' to the list of - characters special to the shell. - -Wed Sep 21 15:57:41 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU) - - * read.c (read_all_makefiles): Call convert_to_pattern before - recomputing the limits after adding the displaced rules. - - * make.c (main): Move calls to snap_deps, convert_to_pattern, and - build_vpath_lists to read_all_makefiles. - - * read.c (read_all_makefiles): Install the default pattern rules - before checking to remake the makefiles, displace these rules before - reading in the makefiles, and then add the displaced rules to the - chain after reading in all the makefiles. - - * make.c (main): Don't call install_default_pattern_rules or - count_implicit_rule_limits. - - * make.h: Declare displace_pattern_rules and - add_displaced_pattern_rules. - - * rule.c (displace_pattern_rules, add_displaced_pattern_rules): New - functions to stow the chain and add the stowed chain on the end of - the current chain. - - * make.texinfo (Implicit: Search Algorithm): Fixed PREV reference. - - * make.c (main): Call construct_include_path right after decoding - the switches. - - * read.c (find_makefile): Use rename_file. - - * file.h: Declare rename_file. - - * file.c (rename_file): New function to rename a `struct file' and - put it in the correct hash bucket. - - * read.c (find_makefile): New function to find and update a makefile. - (read_all_makefilese): Use find_makefile. - (read_makefile): Don't do updating. Removed UPDATEIT arg. - - * remake.c (update_file_1): Took out setting the `updated' member to - -1 rather than 1 sometimes. - - * make.c (main): Made it print version info before doing anything else. - - * remake.c (library_file_mtime, f_mtime): Removed use of last two - arguments to vpath_search. - - * rule.c (pattern_search): Removed use of last two arguments - to vpath_search. - - * vpath.c (vpath_search, selective_vpath_search): Removed unused - DIRPREFIX and DPLEN args. - - * read.c (read_makefile): Also turn off -n when updating makefiles. - -Tue Sep 20 17:01:10 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU) - - * Makefile: Put tags files in the tarfile. - - * read.c (read_makefile): Get the modtime of the makefile via a stat - call so that a later file_mtime call won't do VPATH search for it. - - * read.c (read_makefile): Don't turn off -t and -q if the makefile - was a command-line target. - - * make.c (main): Enter command-line targets as files and set their - `cmd_target' members. - - * file.h (struct file): Added `cmd_target' member. - - * read.c (read_makefile): Temporarily turn off -t and -q while - updating makefiles. - - * make.c (main): Don't use arg 0 from other_args (which is now - argv[0]; i.e., the program's name). - - * read.c (read_makefile): Only return nonzero if commands were - actually run to remake the makefile. - - * remake.c (update_file_1): Set FILE->updated to -1 if no commands - were actually run (because no update was done or -t was given). - - * make.c (decode_switches): Fixed bug wherein xrealloc was passed - bad args if it tried to expand other_args->list. - - * read.c (read_all_makefiles): Made it not look at the `MAKE' - variable, just use argv[0]. - -Sun Sep 18 17:34:11 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU) - - * read.c (rerun_make): New function to re-exec make. - - * make.c (construct_makeflags, construct_argv): New functions to - construct the `MAKEFLAGS' variable and to construct an arg list from - parsed info. - - * read.c (read_makefile): New arg UPDATEIT, if nonzero, says to - update the makefile as a target before reading it in. When reading - included makefiles, pass this as zero. Now returns nonzero if the - makefile was updated, zero if not. - (read_all_makefiles): Pass a nonzero UPDATEIT arg to read_makefile - for all default and -f makefiles and all makefiles from the - `MAKEFILES' variable. If any of the makefiles has changed, re-exec - self to re-read them. - - * remake.c (update_file): Print a "File `foo' up to date'" message - under -p. - - * commands.c (execute_file_commands): Allocate one byte for each of - $^ and $< rather than zero if they are to be empty. - -Fri Sep 16 13:59:59 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * Version 3.06. - - * make.c (command_switches): Fixed entry for `-o' switch. - - * make.texinfo: Renamed -c switch to -C. - - * make.c: Renamed -c switch to -C. - - * Miscellaneous de-linting. - - * read.c (record_files): Made it not free the storage for the name - if it started with `./' and was therefore not quite the same as in - the `struct file'. - - * read.c (record_files): If commands were specified twice, the error - message specifies in what files and at what line numbers. - - * make.c (main): If any of the signals we usually fatal on were - ignored by the parent (probably a shell), ignore them. - - * make.c (main): Print version info for -v, -p, or -d. - (print_data_base): Don't print version info. It will be done in main. - - * variable.c: Increased number of hash buckets to 257. - - * file.c: Increased number of hash buckets to 1007. - - * rule.c (count_implicit_rule_limits): Moved comptation of - `maxsuffix' to convert_to_pattern, since that function uses - `maxsuffix', and must be called before count_implicit_rule_limits. - - * rule.c (pattern_search): If an existent (non-intermediate) - dependendency was found via a terminal rule, set its - `tried_implicit' flag, so it will never have implicit rule search done. - - * glob.c: Bug fix to avoid alloca(0). - - * arscan.c: USG and Sun386i fixes. - -Thu Sep 15 19:40:26 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU) - - * make.texinfo: Fixed some typos and spelling errors. - -Wed Sep 7 14:20:39 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU) - - * make.c (decode_switches): Fixed bug wherein a bad option would - give a useless error message and loop forever. - -Tue Sep 6 14:36:02 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * make.texinfo: Documented `shell' function. - - * variable.c (expand_function): New function `shell', does - backquote-style command expansion of its arg. - - * commands.c (execute_command_line): Second arg OUTBUF, if not nil, - gets filled in with a malloc'd buffer containing the piped stdout of - the command. - (execute_file_commands): Use above (pass nil). - -Mon Sep 5 17:03:49 1988 Roland McGrath (mcgrath at hecuba.Berkeley.EDU) - - * Makefile: Added copyright notice. - Added a comment about defining `NO_MINUS_C_MINUS_O' if necessary. - - * Version 3.05. - - * rule.c (default_suffix_rules): Don't pass `-o' switches with `-c' - switches if `NO_MINUS_C_MINUS_O' is #define'd. - - * make.texinfo: Documented `GNUmakefile'. - - * read.c (read_all_makefiles): Made it try default makefile - `GNUmakefile' before others. - - * make.texinfo: Added new-style Texinfo header thingies. - -Sat Sep 3 18:09:39 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * Version 3.04. - - * make.texinfo (Chained Rules): Added a @cindex about using - .PRECIOUS to preserve intermediate files. - - * remake.c (update_file_1): Made it not just return before executing - commands under -p. - - * rule.c (default_pattern_rules, default_variables): Made it use - `$(AR)' for `ar r' (to put files in archives). - - * vpath.c (build_vpath_lists): Made it recursively expand the - `VPATH' variable (by using variable_expand instead of lookup_variable). - - * read.c (conditional_line): Made it not swallow whitespace after - the comma in an `ifeq' using the `(a,b)' syntax. - - * rule.c (count_implicit_rule_limits): Made it not crash if a - pattern rule dep begins with `/'. - -Sun Aug 28 15:51:12 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU) - - * make.texinfo: Clarified that the arg to the `origin' function is a - variable *name*, not a reference. - - * make.texinfo: Clarified that both -Idir and -I dir are allowed. - -Sat Aug 27 13:49:28 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * remake.c (remake_file): Made touching phonies work right. - -Wed Aug 24 20:40:48 1988 Roland McGrath (mcgrath at nutmeg.Berkeley.EDU) - - * make.texinfo: Removed reference to `RANLIB' variable. - - * Version 3.03. - - * variables.c (expand_function): Added `origin' function. - * make.texinfo: Documented same. - - * read.c (record_files): Made double-colon entries work. - -Sat Aug 20 21:09:39 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * make.c (collapse_continuations): Bug fix from RMS. - - * rule.c (install_default_pattern_rules): Made it set the - `in_use' flag of the created rules to zero, rather than letting - it be random garbage. - - * rule.c (pattern_search): Fixed putting `also make' targets into - file strucutres. - - * read.c (record_files): Fixed bug which made double-colon entries - make it read off into space. - - * make.c (decode_switches): Made it understand `ignored' switches - rather than dumping core. - -Sun Aug 14 16:49:00 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * read.c (read_makefile): Made `include' filenames be - variable-expanded. - - * read.c (read_makefile): Fixed an error message. - - * read.c (read_makefile): Made it accept ^L's as whitespace. - * make.c (next_token, end_of_token): Ditto. - - * vpath.c (vpath_search): Fixed it so that the general VPATH (from - the variable) is always checked, even if a selective VPATH (from a - directive) matched the filename. - -Sat Aug 13 14:20:46 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * make.c (decode_switches, main): Made the command switches be - processed from a table of switches, variables, and types. No - functions are passed argc and argv any more. They are passed arrays - of strings they need to process. - * read.c (read_all_makefiles): Made it take an array rather than - argc and argv. - (construct_include_path): Ditto. - - * make.c (collapse_continuations): Made it work right (I hope). - - * make.texinfo: Minor editorial changes. - - * read.c (read_makefile): Minor speed improvement by freeing and - then mallocing something rather than reallocing it to avoid the - unnecessary bcopy. - -Thu Aug 11 00:10:43 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * make.texinfo: Fixed some unquoted @'s. - - * make.texinfo: Documented multiple-target pattern rules. - Miscellaneous minor editorial changes and corrections. - - * make.texinfo (Implicit: Catalogue of Rules): Removed the list of - variables. That's what the next section is for. - (Implicit: Implicit Variables): Made it agree with reality. - -Wed Aug 10 00:55:39 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * variable.c (print_variable_data_base): Fixed bug which made -p - dump core. (This was a really idiotic bug.) - - * rule.c (pattern_search): Fixed a bug which made it make the - `also_make' member of the file in question nil if the first of - the successful rule's targets was the matching one. - Made it use only as much storage as necessary in the `also_make' - member. - (create_pattern): Made it use only as much storage as necessary in - the `lens' and `suffixes' members of the created rule. - - * remake.c (library_file_mtime): Made it `static'. - - * file.c: Added a declaration for `errno', which is declared in some - 's, but not all. - - * file.h (struct file): Added `also_make' member for multiple-target - implicit rules. - * rule.c (pattern_search): Made it put the names of files updated by - the given file's commands in its `also_make' member. - * remake.c (update_file_1): Made it mark the files in a file's - `also_make' member as updated when the file is updated. - - * variable.c (try_variable_definition): Fixed a bug which made it - define a variable with the name of the whole definition when there - was no space before the = or :=. - - * make.texinfo (Features): Made the changes which were made in RCS - revision 2.7 but somehow lost since then. Added -W. - -Tue Aug 9 10:04:50 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * variable.h: Added `o_default' to `enum variable_origin'. - * variable.c (print_variable_data_base): Made it print the origins of - the variables. - * rule.c (install_default_pattern_rules): Made it define the default - variables with origin `o_default'. - - * make.texinfo: Documented -W. - - * make.c (decode_switches, main): Added the -W flag to give files a - time-stamp of now, for a `what if' effect when used with -n. - - * commands.c (print_commands): Made it say `(built-in)' for commands - that are built into the default ruleset. - - * read.c (record_file): Made .SUFFIXES get its deps frontwards (again). - * rule.c (set_default_suffixes, convert_to_pattern): Made it read - .SUFFIXES's deps frontwards, so the converted rules will not be in - reverse order. - - * rule.c (new_pattern_rule): Fixed a bug wherein it would keep - searching after it had removed a matching rule and ended up diddling - with freed storage. - - * rule.c (freerule): Made it take the given rule off the chain. - (new_pattern_rule, count_implicit_rule_limits): Use freerule to - remove rules from the chain. - - * vpath.c (construct_vpath_list): Made it return after cleaning out - all previous searchpaths when given a nil DIRPATH arg, so it won't - go into the construction code and dump core dereferencing a nil - pointer. - - * variable.c (patsubst_expand): Fixed a bug which made it not match - correctly and sometimes dump core. - -Mon Aug 8 16:35:48 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * rule.c (default_suffix_rules): Made the .texinfo.dvi rule remove - the files used in the comparison to determine whether or not a - second TeX run is necessary. - - * make.texinfo: Fixed some overfull TeX hboxes. - - * make.texinfo (Implicit: Catalogue of Rules): Fixed a Texinfo error. - - * rule.c (create_pattern_rule): Fixed bug wherein index was not - being passed its second arg. - - * read.c (getline): Merged back into readline. - - * rule.c (default_suffixes, default_suffix_rules, - default_variables): Added .texinfo.info rule. - * make.texinfo (Implicit: Catalogue of Rules): Documented - .texinfo.dvi and .texinfo.info rules. - - * make.texinfo (Top): Changed `last updated' date to be correct (for - the last time it was updated, not today). Changed `for version - 3.00' since it's not going to be called that. - -Sat Aug 6 19:51:10 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * commands.c (print_commands): Added this function to print the - contents of a `struct commands' for -p. - * rule.c (print_rule_data_base): Use above. - * file.c (print_file_data_base): Ditto. - - * rule.c (count_implicit_rule_limits, new_pattern_rule, - install_pattern_rule, print_rule_data_base): Made it understand the - changed `struct rule' and act accordingly. - (freerule): Added this function to free all the storage used by a rule. - - * rule.c (pattern_search): Made it grok multiple targets of pattern - rules. The matching is done properly, but at present, only the - matching pattern's target is used to give deps and commands. - -Fri Aug 5 18:00:29 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * rule.c (struct rule): Changed name, namelen, and patsuffix members - to targets, lens, and suffixes, which are arrays, for multiple targets. - (create_pattern_rule): Now takes first arg TARGETS, a nil-terminated - array of targets, rather than a single target and patsuffix pointer. - - * read.c (record_files): If it finds an implicit pattern rule, it - collects all the targets into an array and passes the whole thing to - create_pattern_rule. If there are non-pattern targets, it is a - fatal error. - -Tue Aug 2 15:06:38 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * make.c (readline): Split backslash-newline checking from reading - and buffer-expanding. - (getline): Created to do the reading and buffer-expanding formerly - done in readline. - - * rule.c (pattern_search): Made it reject nonterminal match-anything - rules when a specific rule has matched, rather than rejecting - terminal match-anything rules in this case. - - * rule.c (convert_to_pattern): Fixed a bug caused when the change to - make it only recognize two-suffix rules whose target suffixes - precede their dependency suffixes which made it work in the opposite - direction (even worse than it started out). - - * rule.c (pattern_search): Made it reject nonterminal match-anything - rules as intermediate targets when searching for both real and - intermediate dependencies, rather than only when searching for - intermediate ones. - -Sun Jul 31 00:33:56 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * rule.c (convert_to_pattern): Made it only recognize two-suffix - rules whose target suffix comes before the dependency suffix in the - .SUFFIXES list. - - * variable.c (define_automatic_variables): Made all automatic - variables be defined with origin `o_automatic'. - - * variable.h: Added `o_automatic' to `enum variable_origin' - - * file.c (remove_intermediates): Made it not print an error message - if the error was that the file does not exist. - - * rule.c: Removed `recursive' member from `struct rule'. - - * remake.c (library_file_mtime): Made it not use the directory hash - functions, as reading in and hashing /usr/lib and /lib is slow and - most likely unnecessary. - - * remake.c (remake_file): Changed message from ``No specification - for making'' to ``No way to make'' so it will be short enough that - most filenames will fit on a line. - Made it look at the `recursive' member of the `struct commands', - rather than of the `struct file' (which no longer has one). - - * commands.c (execute_file_commands): Made it look at the - `recursive' member of the `struct commands', rather than of the - `struct file' (which no longer has one). - - * file.h: Removed `recursive' member from `struct file'. - - * commands.h: Added `recursive' member to `struct commands'. - - * dep.h: Removed unused `quotedparen' member from `struct nameseq' - and `struct dep'. - - * read.c (dequote): Removed this function. - (multi_glob): Removed reference to `quotedparen' member of - a `struct nameseq' and calls to dequote. - - * read.c (record_files): Made it set the stem for $* for all static - pattern rules, not just those with commands given at that time. - Removed check for recursive commands. - Made it check for pairs of .SUFFIXES dependencies to reject as - default goals as well as single ones (that don't start with dots). - (read_makefile): Added checks for recursive commands to set - the `recursive' flag in the `struct commands'. - -Sat Jul 30 15:47:23 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * make.c (find_next_token): Made the LENGTHPTR arg optionally nil. - - * make.c: Removed `files_made' variable which is defined static in - remake.c and used only there. - (main): Cleaned up somewhat. - (decode_switches): Cleaned up a bit. Made an unknown option be a - non-fatal error. - (decode_env_switches): Made LEN arg unsigned. Cleaned up. - (print_version): Made it say ``see the source'' rather than ``see - the source file'', since there is more than one. - - * file.h: Made `num_intermediates' declared unsigned. - - * file.c: Made `num_intermediates' variable unsigned. - (remove_intermediates): Removed unused FORMAT arg. - (enter_file): Made it handle double-colon files properly, adding the - new entry as the old entry's prev pointer. - - * dir.c: Re-indented the `struct dir' definition to be right. - (dir_load): Cleaned up slighty. - (file_exists_p): Removed comment saying we could use `access', since - that is a bad idea (except for setuid programs). Cleaned up slightly. - - * commands.c: Changed some comments slightly. - (execute_file_commands): Cleaned up a bit. Changed some comments, - added others. Moved freeing of storage for $^ and $? to the same - place as for the other automatic variables. - (execute_command_line): Made `#' trigger a shell. - Added some comments. Cleaned up a bit. Put all the special chars - that trigger shells into an array easily changeable at the top. - - * ar.c: Added comments explaining each function. - (ar_scan_1): Merged into ar_member_date. - (ar_member_date): Changed call to ar_scan_1 to the body of that - function. - (ar_member_date_1): Simplified to a ?: expression rather than an - if-else statement. - (ar_member_touch): Changed error handling around a bit. - None of these errors are fatal now. - - * variable.c (subst_expand): Added a new arg BY_WORD, to do substs - only on full words. - (patsubst_expand): Fixed bug which made calls whose patterns - contained no `%' to not work correctly, by using above. - (variable_expand): Pass extra arg to `subst_expand'. - - * variable.c (expand_function): Fixed bug which made `foreach' calls - with one-word lists run off into never-never land. - -Fri Jul 29 20:12:36 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * variable.c (expand_function): Made a very minor speed improvement - by avoiding an unnecessary strlen call. - -Wed Jul 27 16:01:47 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * rule.c (default_suffixes): Rearranged the list somewhat; added - `.el' and `.elc' to speed things up (especially when building - Emacs), for the same reason `.h' is there. - - * read.c (record_files): Changed `lineno' from `long' to - `unsigned int'. - -Sun Jul 24 02:15:30 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * variable.c (expand_function): Eliminated use of `wstok' - because it is non-reentrant and unreliable. - Fixed a minor bug which would cause something not to be freed. - * make.c (wstok): Removed `wstok' because it is no longer used. - - * variable.c (expand_function): Made `foreach' function put - spaces between output texts like it's supposed to. - -Sat Jul 23 17:32:55 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * rule.c (default_suffixes, default_suffix_rules): Added rule - to make %.dvi from %.texinfo. - - * dir.c (print_dir_data_base): Made it say a bit more. - -Fri Jul 22 23:13:16 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * make.c (print_data_base): Split this function up into one - for each thing. - * variable.c (print_variable_data_base): One of the above. - * rule.c (print_rule_data_base): Ditto. - * file.c (print_file_data_base): Ditto. - * dir.c (print_dir_data_base): Ditto. - - * rule.c (install_pattern_rule): Fixed a bug which caused the - terminal and recursive flags to always be zero for rules - entered by this function. - - * make.texinfo (Rules: Double-colon): Added a paragraph - explaining the purpose of double-colon rules. - - * make.texinfo (Implicit: Catalogue of Rules): Updated to - reflect new C++, TeX, Web, and Texinfo rules. Other slight - editorial changes. - - * commands.c (execute_file_commands): Fixed a bug wherein - random memory could get written for files with no deps. - -Wed Jul 20 19:30:31 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * read.c (readline): Fix bug wherein it would not recognize a - backslash-newline if the buffer filled up and was enlarged - right before reading the newline. - -Tue Jul 19 19:55:02 1988 Roland McGrath (mcgrath at chilli.Berkeley.EDU) - - * read.c: Added default suffix rules for .cc (using $(C++), - which defaults to `g++', and $(C++FLAGS)), .tex, .dvi, .web - and .cweb (using $(TEX), $(WEAVE), $(TANGLE), $(CWEAVE) and - $(CTANGLE)). - -Sat Jul 16 21:24:28 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * Made error formats use %u rather than %ld for line numbers, - which are now unsigned int's rather than long's. - - * read.c (conditional_line): Fixed some bugs caused by use of - unsigned int rather than int in one place. - - * read.c (conditional_line): Put the info about active - conditionals in a struct. - (read_makefile): Make a new struct of info about conditionals - for included makefiles and restore the old one after the - included makefile has been read. - - * read.c (read_makefile): Don't try to read a makefile with - name "" after giving an error message because an `include' - directive gave no filename. - - * read.c (read_makefile): Give an error message for - non-whitespace text after the filename in an `include' directive. - - * make.c (error): Take five args, like `fatal'. It managed to - lose with only two. Is there a better way to do this without vfprintf? - - * read.c (read_makefile): Commands consisting of only - whitespace are not the same as no commands. I thought I'd - fixed this bug months ago; it seems to have come back. - - * make.c (collapse_continuations): All whitespace around a - backslash-newline combination is turned into a single space. - - * Added COPYING file and copyright notices to all files. - - * make.texinfo (Running: Goals): Fix a typo. - - * read.c (do_define): Take an arg for the origin of the - variable being defined. - (read_makefile): Grok `override define'. - - * make.texinfo (Variables: Override Directive, Defining): - Document the `override define' combination directive. - - * ar.c (ar_member_date): Make a 0 return from `ar_scan' return - (time_t) -1 (nonexistent file), rather than (time_t) 0, which, - when put in the `struct file', makes `file_mtime' try to get - the mtime over and over again. - - * variable.c (pattern_matches): Fix a bug that made patterns - not beginning with `%' never match. - -Fri Jul 15 21:01:44 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) - - * Took Make out of RCS. - - * Split the monolithic `make.c' into several smaller files. +Tue Oct 29 20:57:36 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.62. + + * remake.c (update_file_1): Check for deps still running before + giving up if any dep has failed. + +Sat Oct 26 16:20:00 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * make.h [uts]: #undef S_ISREG and S_ISDIR if defined. + +Fri Oct 25 19:50:39 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.60.17. + +Thu Oct 24 16:58:36 1991 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * job.c (start_job): Don't check for empty cmds before tweaking the + command_ptr. Just let construct_command_argv do it. + +Tue Oct 22 20:21:03 1991 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * remake.c, arscan.c [POSIX]: instead of . + + * make.h [POSIX]: Declare vfork as pid_t. + +Mon Oct 21 15:37:30 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.60.16. + + * job.c (construct_command_argv, construct_command_argv_internal): + Take new 2nd arg RESTP. If non-NULL, stop parsing at newline, and + store addr of the NL in *RESTP. + (start_job): Don't chop expanded cmd lines up; use above code to do it. + * function.c (expand_function: `shell'): Pass RESTP==NULL. + +Sat Oct 19 15:36:34 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.60.15. + +Fri Oct 18 15:26:55 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * job.c (start_job): If on the same cmds->command_lines elt, look + at cmds->lines_recurse[CHILD->command_line - 1] instead of + [CHILD->command_line]. + + * dir.c [sgi]: , not ndir or anything else. + +Thu Oct 17 16:28:55 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * file.c (print_file_data_base): Remove unused var. + + * make.h [NeXT]: No #define ANSI_STRING. + +Tue Oct 15 20:08:41 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.60.14. + +Fri Oct 11 16:23:52 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * make.h: Use PATH_MAX for getwd defn. + + * make.h: Move getcwd/getwd outside of #ifndef POSIX, and make it + #if USG||POSIX. + +Thu Oct 10 11:53:31 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.60.13. + + * read.c (read_all_makefiles): When processing MAKEFILES, save the + malloc'd ptr to be freed, instead of freeing part-way thru it. + + * remake.c (update_file_1): Don't tweak FILE->also_make. + (update_file): Do it here. After calling update_file_1, set the + command_state, update_status, and updated members of each also_make + elt to FILE's values. + +Tue Oct 8 14:56:04 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * Version 3.60.12. + + * remake.c (notice_finished_file): Set command_state of FILE and + its also_make chain to cs_finished here. + * commands.c (execute_file_commands), job.c (child_handler), + remake.c (remake_file): Don't set it before calling + notice_finished_file. + + * file.h (struct file): Changed `also_make' to struct dep *. + * job.c (delete_child_targets), file.c (print_file_data_base), + remake.c (notice_finished_file), implicit.c (pattern_search): + Use dep chain instead of array of file names. + +Mon Oct 7 17:04:33 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.60.11. + + * arscan.c: Declare open. + * misc.c: Declare {get,set}{re,}[ug]id. + * variable.c (target_environment): Declare getenv. + +Sat Oct 5 15:13:03 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * make.h [NeXT]: instead of . + +Fri Oct 4 16:05:41 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * default.c (default_suffixes, defualt_suffix_rules): Add .texi + just like .texinfo. + + * Version 3.60.10. + + * job.c: Move vfork decl into make.h. + +Fri Sep 27 18:45:30 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * compatMakefile (glob/libglob.a): Pass CC value to submake. + +Thu Sep 26 00:08:15 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * load.c (load_average): Made not static. + + * load.c [ultrix && vax]: Define LDAV_TYPE and LDAV_CVT for Ultrix 4.2. + +Tue Sep 24 00:17:20 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.60.9. + + * read.c (record_files): Warn about extra cmds even if the target's + name begins with a dot. I think the lusers can handle this. + +Mon Sep 23 22:33:26 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * make.h, arscan.c: Don't declare bcmp, bzero, or bcopy if they're + #define'd. + * make.h: Declare write and open. + + * default.c (default_suffixes, default_suffix_rules, + default_variables): Add .C just like .cc. + * make.texinfo (Catalogue of Rules): Document .C. + + * make.man (-w): Fix gramo. + +Fri Sep 20 17:18:16 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * make.h: No text after #endif. + +Sun Sep 15 16:20:46 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * Version 3.60.8. + + * implicit.c (pattern_search): In the second pass, recurse on rule + deps that don't have a %. Why did I make it not do this? + +Fri Sep 14 18:29:39 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * read.c (record_files): For extra cmds, use the last ones given. + If the target's name doesn't begin with a dot (bletch!!), emit a + two-line warning, one line giving the old cmds' location and the + other the new cmds' location. + + * misc.c (makefile_error, makefile_fatal): New fns. + * make.h: Declare them. + * Use them instead of error/fatal for all msgs including a file + name and line number. + +Thu Sep 13 16:35:54 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * make.h: Declare define_default_variables. + Declare ar_parse_name, instead of ar_name_parse (M-t). + +Mon Sep 10 18:35:40 1991 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * Version 3.60.7. + + * make.texinfo (Variables: Setting): Say whitespace is removed if + "immediately after =", rather than simply "after =". + + * job.c: Don't declare wait #ifdef POSIX. + + * make.h [__GNUC__]: #undef alloca and then #define it. + + * main.c (main): When pruning makefiles which might loop from the + read_makefiles chain, look at all `prev' entries of double-colon rules. + +Fri Sep 7 00:41:53 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * main.c (main): Only remove makefiles with cmds but no deps from + the list of makefiles to be rebuilt if they are :: targets. + : targets with cmds and no deps are not dangerous. + +Wed Sep 5 17:35:51 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * compatMakefile (defines): Add comment that some compilers take + ENUM_BITFIELDS but produce bogus code. + (LOAD_AVG): Fix examples to \ "s. + (LOADLIBES): Add comment that SGI Irix needs -lmld for nlist. + +Tue Sep 4 20:26:26 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.60.6. + +Fri Aug 30 19:34:04 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * remake.c (update_file_1): When checking the command_state of + deps, check through the prev chain. + (update_goal_chain): When a target is finished, start checking its + prev (if it has one) instead. + +Wed Aug 7 17:32:03 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * rule.c (convert_to_pattern): Allow files with deps to define + suffix rules (really this time). + +Mon Aug 5 17:09:21 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * misc.c (user_access, make_access): Do saved-IDs (USG) flavor + #ifdef POSIX. + + * file.c (enter_file): Strip ./s here. + * read.c (parse_file_seq): Not here. + +Tue Jul 23 23:34:30 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * compatMakefile: Added comment that -lPW alloca is broken on HPUX. + +Thu Jul 18 03:10:41 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.60.5. + + * read.c (read_makefile): Ignore lines containing chars that are + all isspace, not just all isblank. + + * make.texinfo (Copying): @include gpl.texinfo, rather than copying + the text. + * gpl.texinfo: New file (symlink to /gd/gnu/doc/gpl.texinfo). + * GNUmakefile: Put gpl.texinfo in distribution. + +Tue Jul 16 12:50:35 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * make.h: #define _GNU_SOURCE before including headers. + Include and define isblank if doesn't. + * commands.c: Don't include here. + * *.c: Use isblank instead of explicit ' ' || '\t'. + +Mon Jul 15 17:43:38 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * function.c (expand_function: `filter'/`filter-out'): Fixed to not + loop infinitely. + +Fri Jul 12 12:18:12 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * function.c (expand_function: `filter'/`filter-out'): Rewritten to + handle filter-out of multiple patterns properly. Also no longer + mallocs and reallocs for temp array; uses alloca and a linked-list + instead. + +Wed Jul 10 22:34:54 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.60.4. + + * make.texinfo: Moved some @groups that were outside @examples to + be inside them. + + * load.c [apollo] (load_average): Define using special syscall for + Apollo DOMAIN/OS SR10.n. + +Thu Jul 4 12:32:53 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * make.texinfo (Missing): Added Unix excessive implicit rule + search; mention that POSIX.2 doesn't require any of the missing + features. + (Top): Updated printed manual price to $15. + +Wed Jul 3 18:17:50 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * file.c (rename_file): Carry over last_mtime when merging files. + * remake.c (f_mtime): Tail-recurse after renaming VPATH file, to + check for saved date in existing renamed-to file. + + * remote-cstms.c (start_remote_job): Use PATH_VAR. + + * commands.c [POSIX || __GNU_LIBRARY__]: Don't declare getpid. + + * compatMakefile (glob-{clean,realclean}): Run clean/realclean in glob. + (clean, realclean): Require those. + + * make.h: Always declare environ. + Don't declare old glob functions. + + * GNUmakefile: Make no-lib deps for load.c and remote.c. + +Tue Jul 2 18:35:20 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.60.3. + +Mon Jul 1 16:58:30 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * read.c (multi_glob): Don't pass GLOB_QUOTE flag to glob. + + * make.h [POSIX]: Include , and don't declare things that + should be there. + + * main.c (main) [USG && sgi]: malloc a buffer for broken sgi stdio. + +Sat Jun 29 11:22:21 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * function.c (expand_function: `shell'): Use alloca for the error + msg buffer, instead of assuming an arbitrary max size. + +Fri Jun 28 18:15:08 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * job.c [POSIX] (search_path): Do real 1003.1 goop to get NGROUPS_MAX. + +Wed Jun 26 11:04:44 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * default.c (define_default_variables): New fn. + (install_default_implicit_rules): Code for above fn moved there. + * main.c (main): Do define_default_variables before reading the + makefile. + +Tue Jun 25 17:30:46 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * main.c (main): Quote ; in MAKEOVERRIDES. + +Tue Jun 18 13:56:30 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * compatMakefile: Fixed typo in comment. + +Tue Jun 11 00:14:59 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * Version 3.60.2. + +Mon Jun 10 14:46:37 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * make.h: Always include . + [POSIX]: Include and #define MAXPATHLEN to be PATH_MAX. + + * default.c (default_suffix_rules: .texinfo.dvi): Use $(TEXI2DVI). + (default_variables): Define TEXI2DVI. + +Thu Jun 6 16:49:19 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.60.1. + + * make.h (SIGNAL): Cast handler arg to SIGHANDLER type. + +Wed Jun 5 06:00:43 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * read.c (multi_glob): Use POSIX.2 `glob' function. + If a glob pattern matches nothing, leave it as is (a la sh, bash). + Also, if can't find USER for ~USER, leave it as is (a la bash). + +Mon Jun 3 16:36:00 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * compatMakefile: Rewrote comments about -Ds to be easier to use. + + * make.h, arscan.c, remake.c, main.c, dir.c, job.c: Changed tests + of _POSIX_SOURCE to POSIX. + + * job.c: Take getdtablesize out of #ifdef __GNU_LIBRARY__. + Put separately #ifdef USG. + + * COPYING: Replaced with version 2. + * Changed copyright notices to refer to GPL v2. + +Thu May 30 00:31:11 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * make.h: Don't declare sigblock for POSIX. + + * main.c (main, log_working_directory) [USG]: Get getcwd failure + mode from errno, not passed buffer like BSD getwd. + + * misc.c (child_access): New fn to set access for a child process; + like user_access, but you can't change back. + * make.h: Declare it. + * job.c (exec_command): Use it in place of user_access. + +Wed May 29 23:28:48 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * default.c (default_variables) [pyr]: PC = pascal. + +Tue May 28 20:24:56 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * variable.c (print_variable): Put a newline before `endef'. + +Sat May 25 02:39:52 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.60. + +Wed May 22 19:41:37 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.59.5. + +Thu May 16 13:59:24 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * main.c (main): Do USGr3 setvbuf behavior #ifdef APOLLO. + Don't handle SIGCHLD #ifdef USG (Apollo is USG but defines SIGCHLD). + +Fri May 10 14:59:33 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * remake.c [sgi]: Don't include . + +Wed May 8 01:54:08 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * make.h (SIGHANDLER): #define as (void *) #if __STDC__, + else (int (*)()). + (SIGNAL): Use it to cast return value. + * main.c (main): Cast SIG_IGN to SIGHANDLER when comparing. + * job.c (block_signals, unblock_signals): Use SIGNAL instead of signal. + + * main.c: Declare mktemp to return char*, not int. + + * job.c (new_job): Don't increment files_remade. + * remake.c (notice_finished_file): Do it here. + + * read.c (do_define): Don't clobber DEFINITION[-1] on empty defns. + Free storage that is no longer needed. + +Wed Apr 24 20:49:48 1991 Roland McGrath (roland at churchy.gnu.ai.mit.edu) + + * misc.c (message): New fn to print informational msgs with + leading "make: " or "make[N]: ". + * make.h: Declare it. + * remake.c (update_file): Use it instead of printf. + +Fri Apr 19 05:52:45 1991 Roland McGrath (roland at churchy.gnu.ai.mit.edu) + + * main.c (main): When there are no targets, if there were no + makefiles, print a different error message, which mentions makefiles. + +Tue Apr 16 03:22:45 1991 Roland McGrath (roland at geech.gnu.ai.mit.edu) + + * remake.c (update_file): Print "nothing to be done" instead of "is + up to date" if FILE->cmds == 0. + + * job.c [!WIFEXITED]: Define if not already defined. + +Thu Apr 11 18:00:50 1991 Roland McGrath (roland at wookumz.gnu.ai.mit.edu) + + * arscan.c (ar_name_equal): Fixed truncation comparison. + +Tue Apr 2 16:17:35 1991 Roland McGrath (roland at churchy.gnu.ai.mit.edu) + + * glob.c: Use common version from djm. + * dir.c: Snarfed #ifdef mess for or whatever from glob.c. + (dir_file_exists_p): Ignore directory entries with d_ino==0. + +Mon Apr 1 20:49:45 1991 Roland McGrath (roland at albert.gnu.ai.mit.edu) + + * Version 3.59.4. + +Fri Mar 29 19:16:18 1991 Roland McGrath (roland at albert.gnu.ai.mit.edu) + + * job.c (free_child): Free CHILD->environment and its elts. + +Sat Mar 23 14:08:09 1991 Roland McGrath (roland at albert.gnu.ai.mit.edu) + + * read.c (read_makefile): Don't ignore lines containing only + comments if they start with a tab. Such lines should be passed to + the shell for it to decide about the comments. + + * job.c (free_child): Free CHILD->command_lines and its elts, not + CHILD->commands (which is obsolete). + * job.h, job.c: Remove obsolete `commands' member of `struct child'. + +Sun Mar 17 18:40:53 1991 Roland McGrath (roland at albert.ai.mit.edu) + + * remake.c (update_file): Print a msg for a top-level up-to-date + phony target (a different one than for a real file). + + * read.c (conditional_line): Boundary check so we don't check the + value of the -1th elt of the stack (which is bogus). + +Sat Mar 16 16:58:47 1991 Roland McGrath (roland at albert.ai.mit.edu) + + * read.c (conditional_line): Don't evaluate an if* when we're + already ignoring. Instead, just push a new level, with a value of + 1, to keep ignoring. + +Tue Mar 12 00:16:52 1991 Roland McGrath (roland at geech.ai.mit.edu) + + * Version 3.59.3. + +Mon Mar 11 23:56:57 1991 Roland McGrath (roland at geech.ai.mit.edu) + + * job.c (construct_command_argv_internal): Quote backslashes + when building the shell -c line. + +Fri Mar 8 01:40:18 1991 Roland McGrath (roland at geech.ai.mit.edu) + + * job.c (exec_command): Call user_access rather than setgid(getgid()). + + * misc.c (remove_comments): Renamed from collapse_line; took out + collapse_continuations call. + * make.h: Change decl. + * read.c (read_makefile): Collapse continuations on the line buffer + immediately after reading it. Call remove_comments rather than + collapse_line (which is now defunct). + +Thu Feb 21 18:06:51 1991 Roland McGrath (mcgrath at cygint.cygnus.com) + + * misc.c (user_access, make_access): New fns to toggle btwn permissions + for user data (files and spawning children), and permissions for make + (for taking the load average, mostly). + * make.h: Declare them. + * job.c (start_job): Call make_access before wait_to_start_job, and + user_access after. + * main.c (main): Call user_access before doing much. + +Mon Feb 3 15:02:03 1991 Roland McGrath (roland at albert.ai.mit.edu) + + * Version 3.59.2. + +Tue Jan 29 20:30:50 1991 Roland McGrath (roland at cygint.cygnus.com) + + * read.c (read_all_makefiles): Use allocated_variable_expand to expand + `$(MAKEFILES)', since the results are used across calls to + read_makefile, which could clobber them. + +Wed Jan 23 00:24:10 1991 Roland McGrath (roland at cygint.cygnus.com) + + * main.c (main): Call install_default_implicit_rules after reading + makefiles, not before. + * default.c (install_default_implicit_rules): If a suffix-rule file + entry has cmds, don't give it any from default_suffix_rules. + +Fri Jan 17 17:39:49 1991 Roland McGrath (roland at albert.ai.mit.edu) + + * arscan.c: Added support for AIX archives. + + * remake.c: Don't include ar.h. + * main.c: Removed unused atol decl. + * arscan.c (ar_scan): Declare arg FUNCTION to return long int. + * ar.c (ar_touch): Don't perror for an invalid archive. + * make.h: Declare lseek as long int. + + * job.c [hpux]: Define getdtablesize a la USG. + +Sun Jan 12 21:08:34 1991 Roland McGrath (roland at albert.ai.mit.edu) + + * Version 3.59.1. + +Fri Jan 10 03:48:08 1991 Roland McGrath (roland at albert.ai.mit.edu) + + * job.c (search_path): Take new arg, place to put full pathname (rather + than mallocing it). + (exec_command): Pass it, using auto storage. + + * main.c (print_version): Updated copyright years. + +Wed Jan 8 19:46:19 1991 Roland McGrath (roland at albert.ai.mit.edu) + + * job.c [_POSIX_SOURCE]: Just #include , and define macro + WAIT_NOHANG in terms of waitpid. + [!_POSIX_SOURCE && (HAVE_SYS_WAIT || !USG)]: Don't #include + (make.h does). + Define macro WAIT_NOHANG in terms of wait3. + (child_handler): #ifdef on WAIT_NOHANG, not HAVE_SYS_WAIT || !USG. + Use WAIT_NOHANG macro instead of wait3. + + * file.h (struct file.command_state): Remove unused elt. + +Wed Dec 26 18:10:26 1990 Roland McGrath (roland at albert.ai.mit.edu) + + * commands.c (set_file_variables): If FILE got its commands from + .DEFAULT, make $< == $@ (4.3 BSD/POSIX.2d11 compat). + +Mon Dec 24 17:36:27 1990 Roland McGrath (roland at albert.ai.mit.edu) + + * default.c (default_variables): Rename 2nd LINK.s defn to LINK.S. + +Fri Dec 14 15:05:25 1990 Roland McGrath (roland at albert.ai.mit.edu) + + * vpath.c (selective_vpath_search): Check for makefile-mentioned before + checking for actual existence. The old order loses if the containing + directory doesn't exist (but a rule might make it). + + * make.h [__GNUC__]: Don't #define alloca if already #define'd. + + * rule.c (convert_to_pattern): Don't look at the target constructed for + the empty rule when making the null-suffix rule. Construct it over + again, since the former may have been freed already. + +Thu Dec 13 17:21:03 1990 Roland McGrath (roland at churchy.ai.mit.edu) + + * make.h [__GNU_LIBRARY__]: Include to get random fn decls. + +Wed Dec 12 17:12:59 1990 Roland McGrath (roland at churchy.ai.mit.edu) + + * make.h, arscan.c, glob.c: Only include #ifdef USG. + + * variable.c (define_variable_in_set): Replace env_overrides check that + wasn't really redundant (undoing Sep 28 change). Add comment saying + why this check is necessary. + + * job.c, main.c [DGUX]: Needs siglist like USG. + +Mon Dec 11 01:19:29 1990 Roland McGrath (roland at albert.ai.mit.edu) + + * default.c [M_XENIX]: For rules that are different for Xenix, use the + generic Unix version #ifdef __GNUC__. + + * main.c [M_XENIX]: Use USGr3-style setvbuf call. + + * read.c (find_percent): Do backslash folding correctly, not leaving + extra crud on the end of the string. + +Sun Dec 10 21:48:36 1990 Roland McGrath (roland at albert.ai.mit.edu) + + * job.c: Don't declare wait3 if it's #defined. + + * GNUmakefile, compatMakefile, make.texinfo: Change make-info + to make.info. + +Thu Dec 7 21:20:01 1990 Roland McGrath (roland at churchy.ai.mit.edu) + + * make.h [STDC_HEADERS || __GNU_LIBRARY__ || _POSIX_SOURCE]: Use + ANSI and names for str/mem functions. + Use to declare misc fns rather than explicit decls. + [_POSIX_SOURCE]: Don't declare kill ( will). + Include before because some braindead + nonconformant 1003.1 implementation needs it. + * misc.c: Don't declare malloc, realloc. Do it in make.h. + * arscan.c, glob.c: Use sequence for string fns from make.h verbatim. + * make.h (S_ISDIR, S_ISREG): Declare if necessary. + * commands.c (delete_child_targets), job.c (search_path), read.c + (construct_include_path): Use S_ISfoo(m) instead of + (m & S_IFMT) == S_IFfoo. + * dir.c, glob.c [_POSIX_SOURCE]: Use dirent. + +Wed Nov 29 22:53:32 1990 Roland McGrath (roland at geech.ai.mit.edu) + + * Version 3.59. + +Tue Nov 28 16:00:04 1990 Roland McGrath (roland at churchy.ai.mit.edu) + + * arscan.c (ar_name_equal) [APOLLO]: Don't do `.o' hacking. On Apollos + the full file name is elsewhere, and there is no length restriction (or + so I'm told). + +Thu Nov 23 17:33:11 1990 Roland McGrath (roland at albert.ai.mit.edu) + + * load.c [hp300 && BSD] (LDAV_CVT): Define for this system. + +Tue Nov 21 07:58:40 1990 Roland McGrath (roland at albert.ai.mit.edu) + + * read.c (record_files): Fix trivial bug with deciding to free storage + for a file name. + +Thu Nov 16 06:21:38 1990 Roland McGrath (roland at geech.ai.mit.edu) + + * compatMakefile ($(bindir)/make): Install it setgid kmem. + +Thu Nov 1 16:12:55 1990 Roland McGrath (roland at churchy.ai.mit.edu) + + * GNUmakefile (make-*.tar.Z): Use `h' option to tar (dereference + symlinks), to grab texinfo.tex from wherever it lives. + +Tue Oct 30 16:15:20 1990 Roland McGrath (roland at churchy.ai.mit.edu) + + * Version 3.58.13. + +Fri Oct 26 14:33:34 1990 Roland McGrath (roland at churchy.ai.mit.edu) + + * GNUmakefile: make-*.tar.Z: Include texinfo.tex. + +Tue Oct 23 19:34:33 1990 Roland McGrath (roland at churchy.ai.mit.edu) + + * main.c (define_makeflags): When there are no flags to write, make + sure the array has two leading nulls, since `MAKEFLAGS' is defined from + &flags[1]. + + * main.c (default_keep_going_flag): New variable (constant one). + (command_switches: -k, -S): Use above for default value. + (define_makeflags): Only write flag/flag_off switches if they are on, + and either there is no default value, or they are not the default. + +Mon Oct 22 16:14:44 1990 Roland McGrath (roland at churchy.ai.mit.edu) + + * main.c (struct command_switch): New member `no_makefile'. + (command_switches: -n, -q, -t): Set no_makefile == 1. + (define_makeflags): Take new arg MAKEFILE: if nonzero, don't use + options whose `no_makefile' flags are set. + (main): Call define_makeflags with MAKEFILE==1 before remaking + makefiles, and again with MAKEFILE==0 before remaking goals. + +Tue Oct 2 17:16:45 1990 Roland McGrath (roland at geech.ai.mit.edu) + + * Version 3.58.12. + +Mon Oct 1 15:43:23 1990 Roland McGrath (roland at churchy.ai.mit.edu) + + * arscan.c [HPUX]: Use PORTAR==1 format. + +Sat Sep 29 16:38:05 1990 Roland McGrath (roland at churchy.ai.mit.edu) + + * make.h, remake.c, arscan.c: Don't declare `open'. + +Fri Sep 28 04:46:23 1990 Roland McGrath (roland at churchy.ai.mit.edu) + + * variable.c (define_variable_in_set): Remove redundant -e check. + +Wed Sep 26 00:28:59 1990 Roland McGrath (roland at geech.ai.mit.edu) + + * job.c (start_job): Set RECURSIVE from the right elt of + CHILD->file->cmds->lines_recurse. + + * commands.c (chop_commands): Don't botch the line count for allocating + CMDS->lines_recurse. + + * Version 3.58.11. + + * job.c (start_job): Don't always increment CHILD->command_line! Only + do it when CHILD->command_ptr has run out! (Dumb bug. Sigh.) + +Thu Sep 20 02:18:51 1990 Roland McGrath (roland at geech.ai.mit.edu) + + * GNUmakefile [ARCH]: Give explicit rule for remote.{c,dep} to use + variable `REMOTE' for more flags. + ($(prog)): Link in $(LOADLIBES). + +Wed Sep 19 02:30:36 1990 Roland McGrath (roland at churchy.ai.mit.edu) + + * commands.h (struct commands): New member `ncommand_lines', the number + of elts in `command_lines' et al. + * commands.c (chop_commands): Set `ncommand_lines' elt of CMDS, and + don't put a nil pointer at the end of `command_lines'. + * job.h (struct child): New member `command_lines' to hold + variable-expanded command lines. + * job.c (new_job): Store expanded command lines in `command_lines' + member of new child. Don't clobber FILE->cmds. + (start_job): Use CHILD->command_lines in place of + CHILD->file->cmds->command_lines. + + * variable.h, variable.c, job.c, expand.c: Undo yesterday's change, + which is no longer necessary since we have cleverly avoided the issue. + + * job.c (start_job): Don't variable-expand each command line. + (new_job): Do them all here, storing the expansions in the array. + +Tue Sep 18 01:23:13 1990 Roland McGrath (roland at churchy.ai.mit.edu) + + * variable.h (struct variable): Remove `expanding' member. + * variable.c (define_variable_in_set): Don't initialize it. + * expand.c (struct variable_expanding): New type, a linked list + containing `struct variable' pointers. + (variables_expanding): New variable, the chain of variables currently + being expanded. + (recursively_expand): Don't test and set `expanding' member. + Instead, run through the `variables_expanding' chain looking for a link + referring to V to find self-reference. Add a new link to the chain, + describing V, before recursive expansion, and pop it off afterward. + * job.c (child_handler): Save `variables_expanding' and clear it before + calling start_job, and restore it afterward. This avoids major lossage + when the SIGCHLD comes in the middle of variable expansion. + +Mon Sep 17 14:46:26 1990 Roland McGrath (roland at geech.ai.mit.edu) + + * job.c, commands.c: Don't define sigmask. + * make.h: Put it here instead. + + * variable.c (target_environment): If `.NOEXPORT' was specified as a + target, only export command-line and environment variables, and + file-origin variables that were in the original environment. + + * make.man: Add missing ?roff control for `-I' option description. + +Thu Sep 13 14:10:02 1990 Roland McGrath (roland at churchy.ai.mit.edu) + + * load.c [UMAX]: Move #include to [not UMAX_43]. + +Wed Sep 12 15:10:15 1990 Roland McGrath (roland at churchy.ai.mit.edu) + + * expand.c (recursively_expand): Don't use `reading_filename' and + `reading_lineno_ptr' if they're nil. + +Thu Aug 30 17:32:50 1990 Roland McGrath (roland at geech) + + * Version 3.58.10. + +Tue Aug 28 04:06:29 1990 Roland McGrath (roland at churchy.ai.mit.edu) + + * job.c [USG] (unknown_children_possible): New variable, set nonzero + when it's possible for children not in the `children' chain to die. + (block_signals) [USG]: Set it. + (unblock_signals) [USG]: Clear it. + (child_handler) [USG]: Don't complain about unknown children if + `unknown_children_possible' is set. + + * read.c (do_define): Make sure there's enough space for the newline, + so we don't write off the end of allocated space. + + * arscan.c (ar_name_equal): Fixed to work when MEM is AR_NAMELEN-1 but + NAME is not the same length. + +Sat Aug 25 16:17:14 1990 Roland McGrath (roland at geech) + + * job.c (construct_command_argv_internal): Use a static char array for + a constant, since old C has no auto aggregate initializers. + +Thu Aug 23 16:11:03 1990 Roland McGrath (roland at churchy.ai.mit.edu) + + * job.c (search_path): If PATH is nil or "" use a default path. + +Wed Aug 22 01:05:32 1990 Roland McGrath (roland at churchy.ai.mit.edu) + + * Version 3.58.9. + + * job.c (exec_command): Don't take PATH and SHELL args. Get them from + ENVP. + (child_execute_job): Don't take FILE arg, and don't pass path and shell + to exec_command. + (start_job): Don't pass FILE arg to child_execute_job. + * function.c (expand_function: `shell'): Ditto. + * main.c (main): Don't pass path and shell to exec_command. + +Fri Aug 17 23:17:27 1990 Roland McGrath (roland at geech) + + * job.c (construct_command_argv_internal): New fn broken out of + construct_command_argv. Takes strings SHELL and IFS instead of doing + variable expansion for them. Recurse to make an argv for SHELL, + passing SHELL==0. When SHELL==0, don't recurse for shell argv; make a + simple one using /bin/sh. + (construct_command_argv): Do the variable expansions and call above. + +Thu Aug 16 19:03:14 1990 Roland McGrath (roland at geech) + + * read.c (multi_glob): For ~USER/FILE, if USER isn't found, don't + change the file name at all. + +Tue Aug 7 18:33:28 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * function.c (expand_function: `suffix'/`notdir'): Don't kill the last + space if we never wrote one. + + * function.c (expand_function: `suffix'): Retain the dot, like the + documentation says. + +Mon Aug 6 14:35:06 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.58.8. + + * main.c (decode_switches): For positive_int and floating cases, move + SW past the arg (and don't set it to ""), so another switch can follow. + +Fri Aug 3 00:43:15 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * job.c (child_execute_job): Use unblock_signals instead of + push_signals_blocked_p (0). + + * main.c (fatal_signal_mask): New variable, mask of signals caught with + fatal_error_signal. + (main): Set it. + * job.c ({block,unblock}_children): Renamed to {block,unblock}_signals. + Block/unblock both child signal and signals in fatal_signal_mask. + (children_blocked_p_{stack,max,depth}, {push,pop}_children_blocked_p): + Renamed from children to signals. Use {block,unblock}_signals instead + of {block,unblock}_children. + * commands.c (fatal_error_signal), job.c (wait_for_children, new_job, + child_execute_job, main, log_working_directory), function.c + (expand_function: `shell'), job.h: Rename {push,pop}_children_blocked_p + to {push,pop}_signals_blocked_p. + * job.c (child_handler): Call {block,unblock}_signals instead of just + {block,unblock}_remote_children. We need to block the fatal signals. + +Thu Aug 2 22:41:06 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * main.c, function.c: Fixed typos in comments. + + * file.c (print_file_data_base): Fix computation of avg files/bucket. + +Tue Jul 31 22:11:14 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.58.7. + +Wed Jul 25 16:32:38 1990 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * arscan.c (ar_name_equal): Fixed to really do it right. + (ar_member_pos): Fixed order of args. + * ar.c (ar_member_date_1): Ditto. + +Fri Jul 20 15:30:26 1990 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * arscan.c (ar_name_equal): Rewritten. Accounts for a possible + trailing slash in MEM. + + * remake.c (f_mtime): Keep track of whether ARNAME is used and free it + if not. Also free MEMNAME. + * ar.c (ar_member_date, ar_touch): Ditto. + + * arscan.c (arscan) [HPUX or hpux]: Treat same as USGr3 PORTAR==1. + + * make.h: If NSIG is not defined, but _NSIG is, #define NSIG _NSIG. + + * compatMakefile: Don't use $* in explicit rules. + + * default.c (default_variables: "PREPROCESS.S"): Include $(CPPFLAGS). + + * remake.c (f_mtime): If FILE is an ar ref, get the member modtime. + + * function.c (string_glob): Terminate the string properly when it's + empty. + +Wed Jul 18 11:26:56 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.58.6. + + * commands.c (set_file_variables): Fixed computation for ^F/?F elt len. + +Sat Jul 14 13:41:24 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * job.c (construct_command_argv): Always use + allocated_variable_expand_for_file instead of variable_expand_for_file + because we might be called from inside a variable expansion (for the + `shell' function). + + * function.c (expand_function: `shell'): Free the arglist's storage + correctly. construct_command_argv only allocates ARGV and ARGV[0]. + + * job.c (children_blocked_p_idx): Renamed to children_blocked_p_depth. + (push_children_blocked_p, pop_children_blocked_p): Use ..._depth + instead of ..._idx, and do it right! + +Wed Jul 11 15:35:43 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * make.h (SIGNAL): New macro to replace `signal' calls. Does arg and + ret value casts to (void *) #ifdef __STDC__ to avoid conflicts btwn + ANSI and BSD `signal' and handler types. + * main.c (main), job.c (child_handler): Use it. + +Fri Jul 6 00:00:38 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * ar.c (ar_member_date, ar_touch): Pass 2nd arg to f_mtime. + + * read.c (read_makefile): Search the include path for MAKEFILES + variable makefiles (TYPE == 1), like it says in the manual. + + * file.h (struct file), main.c (struct command_switch): Remove trailing + commas from enums. + + * commands.c (execute_file_commands): Remove unused variables. + * commands.h: Declare chop_commands. + * make.h: Declare uniquize_deps. + * main.c (main): Remove unused variable. + (decode_switches): Remove unused label. + * remake.c: Include "ar.h" for ar_parse_name decl. + * implicit.c (try_implicit_rule): Remove unused variable. + * function.c (expand_function: `shell'): Declare fork, pipe. + * ar.c: Declare ar_name_equal. + + * GNUmakefile: If using gcc, add warning flags to CFLAGS. + + * remake.c: Remove decl of ar_member_date, since it's done in make.h. + + * remake.c (f_mtime): For ar refs, allow the archive to be found via + VPATH search if we're searching, and change the ar ref accordingly. + + * ar.c (ar_parse_name): New global fn to parse archive-member + references into the archive and member names. + (ar_member_date, ar_touch): Use it. + * make.h: Declare it. + + * remake.c (f_mtime): After doing rename_file, do check_renamed instead + of assuming rename_file will always set FILE->renamed (which it won't). + + * vpath.c (selective_vpath_search): Only accept prospective files that + don't actually exist yet are mentioned in a makefile if the file we are + searching for isn't a target. + +Wed Jul 4 04:11:55 1990 Roland McGrath (mcgrath at helen.Berkeley.EDU) + + * remake.c (update_goal_chain): Do check_renamed after calling + file_mtime. + (check_dep): Ditto after update_file. + + * file.c (rename_file): Prettied up long message for merging cmds. + + * remake.c (update_file_1): Get each dep file's modtime, and allow for + it being renamed, before checking for a circular dep, since a renaming + may have introduced one. + +Tue Jul 3 18:15:01 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * ar.c (ar_touch): Don't free ARNAME since enter_file holds onto the + storage. + + * function.c (string_glob): Don't leave a trailing space. + + * read.c (do_define): Allow leading whitespace before `endef'. + +Mon Jul 2 14:10:16 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * implicit.c (pattern_search): No longer take NAME arg. Instead take + ARCHIVE flag. If ARCHIVE is nonzero, FILE->name is of the form + "LIB(MEMBER)"; rule for "(MEMBER)" is searched for, and LASTSLASH is + set to nil. Since NAME was only non-nil when it was the archive member + name passed by try_implicit_rule, this change easily allows turning off + LASTSLASH checking for archive members without excessive kludgery. + (try_implicit_rule): Pass ARCHIVE flag instead of file name. + + * Version 3.58.5. + + * commands./c (set_file_variables): Don't kill last char of $(^D) elts. + +Sat Jun 30 00:53:38 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * ar.c (ar_member_date): Don't free ARNAME since enter_file holds onto + the storage. + + * arscan.c (ar_scan) [sun386 && PORTAR == 1]: Treat like USGr3. + +Wed Jun 27 14:38:49 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * main.c (main): Put a newline on the debugging message when deciding + not to remake a makefile to avoid a possible loop. + Only decide not to remake makefiles that have commands (as well as + being targets and having no deps). + +Fri Jun 22 12:35:37 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * default.c (default_variables): Define `LINK.s' and `LINK.S'. + (default_suffix_rules): Define .S.o rule. + + * job.c (construct_command_argv): If we decide to go the slow route, + free all storage for the chopped args. + (start_job): Free the argument list's storage correctly. + construct_command_argv only allocates ARGV and ARGV[0]. + +Tue Jun 19 18:27:43 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.58.4. + +Fri Jun 15 21:12:10 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * glob.c: New version from ai-lab which doesn't do [^abc]. + +Thu Jun 7 00:30:46 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * dir.c: Copied dirent vs direct et al mess from glob.c. + + * glob.c: Replaced with updated version from djm. + * glob.c: Check macro DIRENT instead of _POSIX_SOURCE for . + __GNU_LIBRARY__ implies DIRENT and STDC_HEADERS. + +Thu May 31 22:19:49 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * vpath.c (vpath_search): Don't stop the loop if a pattern matches but + the search fails. All matching patterns have their paths searched + (like it says in the manual). + + * make.texinfo (Rules: Directory Search: Selective Search): Say that + multiple `vpath' directives with the same pattern DO accumulate, not + supersede earlier ones. + + * vpath.c (print_vpath_data_base): Increment the count of vpaths on + each loop iteration, rather than letting it stay zero. + + * Version 3.58.3. + + * job.c (block_children, unblock_children): Made static. + (push_children_blocked_p, pop_children_blocked_p): New functions to + push and pop whether children are blocked or not. + * job.h: Declare push_children_blocked_p, pop_children_blocked_p and + not block_children, unblock_children. + * commands.c (fatal_error_signal), job.c (wait_for_children, new_job, + child_execute_job), main.c (main, log_working_directory): Use sequences + of push_children_blocked_p (1) and pop_children_blocked_p () instead of + explicitly blocking and unblocking children. + * function.c (expand_function: `shell'): Don't unblock children. The + push-pop sequence in wait_for_children makes it unnecessary. + +Tue May 29 21:30:00 1990 Roland McGrath (mcgrath at helen.Berkeley.EDU) + + * read.c (do_define): Don't include the last newline in the definition. + + * function.c (expand_function: `shell'): Call construct_command_argv + before forking and don't fork if it returns nil. Free the argument + list's storage before finishing. + + * job.c (start_job): Free the storage for the child's argument list + in the parent side of the fork after the child has been spawned. + + * job.c (start_job): If construct_command_argv returns nil, go to the + next command line. + + * job.c (construct_command_argv): Use the shell if the command contains + an unterminated quote. + +Wed May 23 19:54:10 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.58.2. + + * read.c (read_makefile): Parse "override define" correctly. + +Thu May 17 15:25:58 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * arscan.c [USG]: Don't declare memcpy and memcmp. should + do this anyway (and lack of declarations is harmless). + + * remote-customs.c: Renamed to remote-cstms.c for System V. + * remote.c [CUSTOMS]: Changed accordingly. + +Sun May 13 14:38:39 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * GNUmakefile: Use same cmds for doc tar.Z as for dist tar.Z (so the + contents go in make-N.NN). + +Thu Apr 26 19:33:25 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * Version 3.58.1. + +Wed Apr 25 20:27:52 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * job.c (init_siglist): Don't do SIGUSR1 and SIGUSR2 if they are the + same as SIGIO and SIGURG (true on Cray). + +Tue Apr 24 20:26:41 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * arscan.c (ar_scan): Do behavior for PORTAR == 1 and USGr3 also + #ifdef APOLLO. + +Wed Apr 11 10:00:39 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * job.c (exec_command): Set the effective GID to the real GID. Somehow + this code got lost. + + * implicit.c (pattern_search): Use the right index variable when + seeing if we need to expand FILE->also_make. + +Sun Mar 4 09:18:58 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * Version 3.58.0. + + * remake.c (remake_file): Treat non-targets without commands under -t + the same as anything else without commands. + +Sat Feb 24 17:46:04 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * default.c (default_variables: PREPROCESS.S): Removed $< from defn. + + * main.c (main): Ignore arguments that are the empty string, rather + than feeding them to enter_file and barfing therein. + +Wed Feb 14 16:28:37 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * main.c (main): Call construct_include_path after doing chdirs. + +Thu Feb 8 13:43:44 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * Version 3.58. + +Sat Feb 3 22:06:55 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * Version 3.57.7. + + * make.texinfo (Implicit: Catalogue of Rules): For RCS, noted that + working files are never overwritten by the default rule. + +Thu Feb 1 17:27:54 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * rule.c (count_implicit_rule_limits): Redid loop control to not run + twice on freed rules. + + * GNUmakefile: Made `.dep' files be architecture-specific too. + + * main.c (main, log_working_directory) [USG]: Block children around + calls to `getwd' (actually `getcwd' on USG), because that function + sometimes spawns a child running /bin/pwd on USG. + +Tue Jan 30 14:02:50 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * function.c (subst_expand): Pay attention to SUFFIX_ONLY, putz. + +Wed Jan 24 21:03:29 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * make.man: Fixed repeated word. + + * make.texinfo (Missing): Reworded a buggy sentence. + +Mon Jan 22 12:39:22 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * main.c (print_version): Added 1990 to copyright notice. + + * Version 3.57.6. + +Sat Jan 20 11:52:01 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * file.c (rename_file): Don't free the storage for the old name, since + it might not have been malloc'd. + + * job.c (construct_command_argv): Call + allocated_variable_expand_for_file instead of variable_expand_for_file + to expand `$(SHELL)'. + + * make.texinfo (Bugs): Change address from roland@wheaties.ai.mit.edu + to roland@prep.ai.mit.edu. + +Tue Jan 16 19:22:33 1990 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * Version 3.57.5. + +Sun Jan 14 16:48:01 1990 Roland McGrath (mcgrath at helen.Berkeley.EDU) + + * job.c (start_job): Only call wait_to_start_job for the first command + line in each sequence. + +Thu Jan 4 14:27:20 1990 Roland McGrath (mcgrath at helen.Berkeley.EDU) + + * load.c [LDAV_BASED] (wait_to_start_job): Loop while job_slots_used > + 0, not > 1. + + * job.c (search_path): Don't return a pointer to local storage. + Allocate data space for the pathname instead. + + * function.c (expand_function: `shell'): Don't write garbage if the + child wrote no output. + +Wed Jan 3 15:28:30 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.57.4. + + * file.h (struct file): New member `renamed', a `struct file *' that is + the place this file has been renamed to (or nil). + (check_renamed): Macro to check for a file having been renamed. + Dereferences the renaming and sets the given variable. + * file.c (rename_file): Completely rewritten. Renames in place if + possible, or moves FILE to a different hash bucket if there is no + existing file with the new name. If there is an existing file with the + new name, FILE is merged into it and FILE->renamed is set to point to + it. + * variable.c (merge_variable_sets): New fn to merge two variable sets. + (merge_variable_set_lists): New fn to merge two variable set lists. + * variable.h: Declare merge_variable_set_lists. + * remake.c (update_file_1, check_dep): Run `check_renamed' after + calling file_mtime, check_dep. + (update_file): Same after update_file_1. + (update_goal_chain, update_file_1, check_dep): Same after update_file. + + * read.c (uniquize_deps): New fn, broken out of record_files, to remove + duplicate deps from a chain. + (record_files): Use it. + * implicit.c (pattern_search): Use uniquize_deps. + + * file.h (file_mtime_1): New macro, like file_mtime, but take second + arg, passed to f_mtime. + (file_mtime): Implement as file_mtime_1 (file, 1). + (file_mtime_no_search): New macro: file_mtime (file, 0). + * remake.c (f_mtime): Take new arg SEARCH. Only do VPATH and `-lNAME' + searching if it is nonzero. + * main.c (main): Use file_mtime_no_search for makefiles. + * remake.c (update_goal_chain): Use file_mtime_no_search if MAKEFILES. + + * main.c (printed_version): New variable, init'd to zero. + (print_version): Set it to nonzero before returning. + (die): If -v and !printed_version, call print_version before clean up + and death. + + * main.c (log_working_directory): Keep track of whether or not the + "Entering" message has been printed, and return without printing the + "Leaving" message if not. + + * main.c (decode_switches): Don't complain about missing args before + checking for a noarg_value elt in the command_switch structure. + +Tue Jan 2 15:41:08 1990 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * make.texinfo (Commands: Recursion: Options/Recursion): Document + special case of -j. + + * make.texinfo, main.c, job.c: Changed copyright notices to include + 1990. + + * make.texinfo (Top): Fixed introductory paragraph, which said that + `make' itself (instead of the manual) has various chapters. + (Variables: Advanced: Substitution Refs): When pxref'ing about + `patsubst', use node `Text Functions', not `Functions'. + Add an xref about `patsubst' after description of $(var:a%b=c%d). + (Functions: Syntax of Functions): Explain why mixing delimiters in + function/var refs is unwise. Clarify fn arg evaluation order. + (Options): Reworded sentence about `-e'. + (Implicit: Implicit Variables): Don't say `RM' is unused. + Say the dflt values for the flag vars is empty unless otherwise noted, + since some have defaults. + (Implicit: Pattern Rules: Pattern Examples): Clarified use of $< and $@ + in first example. + (Implicit: Last Resort): Don't say the .DEFAULT example creates files + "silently". It's automatic, but not silent. + (Implicit: Search Algorithm): Fixed confusing ungrammatical sentence + for item 5.1. + (Archives: Archive Update): Added missing `next' pointer. + (Archives: Archive Symbols): Note that GNU `ar' deals with this + automatically. + + * job.c (search_path): New fn, to search for an executable file in a + search path (broken out of exec_command). + (exec_command): Take fourth arg, the shell program to use (if + necessary). Use search_path for the program, and the shell program. + Pass args "file args ..." to shell program (with no -c), where FILE is + the full pathname of the program (script) to be run. + (child_execute_job): Pass shell program to exec_command. + * main.c (main): Ditto. + + * main.c (main): Don't write a message if exec_command returns, because + it will never return. + +Fri Dec 22 16:19:58 1989 Roland McGrath (mcgrath at hecuba.Berkeley.EDU) + + * default.c (default_variables: "LINK.cc"): Use $(C++FLAGS) instead of + $(CFLAGS). + +Wed Dec 20 09:58:48 1989 Roland McGrath (mcgrath at hecuba.Berkeley.EDU) + + * job.c (new_job): If start_job set the child's `command_state' to + `cs_finished', call notice_finished_file. + +Sun Dec 17 19:45:41 1989 Roland McGrath (mcgrath at hecuba.Berkeley.EDU) + + * Version 3.57.3. + +Wed Dec 13 17:57:12 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * rule.c (convert_to_pattern): Accept files with dependencies as + suffix rules. + +Thu Nov 30 15:47:13 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * Version 3.57.2. + + * function.c (expand_function: `shell'): Don't clobber BUFFER and then + try to free it. + + * remake.c (update_file_1): Took code to force remake of nonexistent + deps out of #if 0, and changed the test to nonexistent non-intermediate + deps. In version 4, I think removing this test completely will + implement the new feature that if a: b and b: c and c is newer than a, + b need not be remade. + +Sun Nov 26 16:12:41 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * compatMakefile (load.o, remote.o): Use $*.c instead of explicit file + names so that using VPATH works. + +Tue Nov 21 14:57:18 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.57.1. + +Fri Nov 10 03:28:40 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * remake.c (check_dep): Set *MUST_MAKE_PTR if FILE does not exist after + being updated. (The exact opposite test was here before; why???) + (update_file_1): Set a dep's `changed' member after updating it if it + is phony and has commands (because they will then always be executed). + +Thu Nov 9 13:47:12 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * load.c [UMAX]: #ifdef UMAX_43 include different headers for the + `inq_stats' call. + * compatMakefile (LOAD_AVG): Document UMAX_43. + + * Version 3.57.0. + + * commands.c (chop_commands): New function to chop commands into lines. + * job.c (new_job): Break that code out, and call chop_commands. + * remake.c (remake_file): Call chop_commands before looking at + FILE->cmds->any_recurse. + + * make.texinfo (Running: Goals): Don't say that the default target + won't be taken from an included makefile. + + * remake.c (update_file_1): #if 0 out setting MUST_MAKE if a dep + doesn't exist. + +Fri Nov 3 15:53:03 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * Version 3.57. + + * variable.c (try_variable_definition): Don't calculate useless value. + + * main.c (define_makeflags): Fixed -j propagation. + + * commands.c (execute_file_commands): Removed unused variable. + +Sun Oct 29 11:11:15 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * commands.c (execute_file_commands): If the commands are empty, call + notice_finished_file before returning. + +Sat Oct 28 23:06:32 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * remake.c (update_file_1): Don't always update a target that has no + deps. Only do this for double-colon targets. + +Wed Oct 25 16:36:16 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * main.c (main) [hpux]: hpux == HPUX. + * compatMakefile (defines): Document that HPUX should be defined. + +Tue Oct 24 19:19:48 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.56.8. + + * job.c (exec_command): Fixed what mode bits are checked. + + * remake.c (update_file_1): "No cmds and no deps actually changed" + loses if ! FILE->is_target. + + * make.texinfo (Variables: Setting): Don't say that spaces after a + variable definition are ignored (since they aren't). + +Mon Oct 23 14:34:23 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.56.7. + + * remake.c (update_file_1): If, after being updated, any dependency + does not exist, remake the target. + + * remake.c (update_file_1): Always update if FILE has commands but no + deps. + + * commands.c (execute_file_commands): If we return early because there + are no commands, set FILE->updated. + +Thu Oct 19 18:47:37 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * arscan.c (ar_scan) [M_XENIX]: Don't run atoi or atol on the + `struct ar_hdr' members that are int or long int on Xenix. + +Sat Oct 14 10:43:03 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * arscan.c (ar_scan): Cosmetic clean ups. + (ar_name_equal): New function to compare names, handling truncated + member names and special `.o' truncation. + (ar_member_pos): Use ar_name_equal. + * ar.c (ar_member_date_1): Use ar_name_equal. + + * Version 3.56.6. + + * file.h (struct file): Made `update_status' a `short int', and moved + it before `command_state' so the bitfields can be packed better. + + * remake.c (files_remade): Made global. + (notice_finished_file): Don't increment files_remade. + * job.c (new_job): Do. + + * job.c (start_job): Don't return a value. Always set + CHILD->file->command_state to either cs_running or cs_finished. + (new_job, child_handler): Don't expect start_job to return a value. + Instead, look at the file's command_state. + + * commands.c (chop_commands): Merged into job.c (new_job). + * commands.h: Don't declare chop_commands. + + * job.c (start_job): Made static. + (new_job): New function to create a `struct child' and call start_job. + (free_child): New function to free a `struct child'. + (child_handler, new_job): Call it. + * job.h: Don't declare start_job. Do declare new_job. + * commands.c (execute_file_commands): Call new_job. + + * commands.c (execute_file_commands): Don't set FILE->update_status if + start_job fails. + + * function.c (expand_function): Don't use `reading_filename' and + `reading_lineno_ptr' if they're nil. + +Fri Oct 13 18:16:00 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * read.c (find_semicolon): New function to look for an unquoted ; not + preceded by an unquoted # in a string. + (read_makefile): Call it before expanding the line. If it finds a ;, + cut the line short there before expanding it. If not, call it again + after expanding. + + * commands.c (execute_file_commands): Don't check FILE->command_state. + We won't get called unless it's cs_not_started. + + * read.c (read_makefile): Call collapse_line on the variable-expanded + rule line after checking for ; and #. + + * job.c (start_job): When there are no more commands, always return 0. + * commands.c (execute_file_commands): Don't put the new child in the + `children' chain unless FILE->command_state is cs_running. + + * read.c (read_makefile): Rewrote ;-handling to only do it once (why + did I do it twice??) and to check for a # before the ;. + + * job.c (start_job): Set CHILD->file->update_status to 0 when we run + out of commands. Set it to 1 before returning failure. + (child_handler): Don't set C->file->update_status to 0 when start_job + returns success and commands are not running. + + * read.c (read_makefile): If there is a # before the ; for commands, + forget the ; and commands. + +Thu Oct 12 15:48:16 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * job.c (child_execute_job): Pass -c to the shell. + +Wed Oct 11 18:41:10 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.56.5. + + * main.c (define_makeflags): Cleaned up to keep better track of dashes + written, etc. + + * function.c (expand_function: `shell'): When converting newlines to + spaces in output, search with `index' calls rather than a simple loop. + + * main.c (main): Make sure stdout is line-buffered. + + * main.c (decode_switches): Always check for missing switch arg. + +Mon Oct 9 17:17:23 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.56.4. + +Sat Oct 7 00:32:25 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * commands.c (set_file_variables): #ifdef NO_ARCHIVES, still set $@ and + $%. + + * commands.c (set_file_variables): Include a trailing slash in the + directory variables (@D, etc.). + + * job.c (child_handler): Call notice_finished_file after changing a + child's state to `cs_finished'. + * remake.c (update_file_1): Don't call notice_finished_file if + FILE->command_state == cs_finished. + +Wed Oct 4 16:09:33 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.56.3. + +Tue Oct 3 21:09:51 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * read.c (read_all_makefiles): When setting elements of MAKEFILES from + the contents of read_makefiles, make sure we're using the right + element. + + * dir.c, glob.c [USGr3 || DIRENT]: Don't define d_ino as d_fileno. + + * Version 3.56.2. + + * remake.c (update_file_1): Return zero after calling remake_file if + FILE->command_state != cs_finished. Test update_status thoroughly. + + * commands.c (execute_file_commands): Don't call notice_finished_file. + + * remake.c (remake_file): Return immediately after calling + execute_file_commands. + +Sat Sep 30 14:57:05 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.56.1 (alpha). + + * file.h (struct file): Made `update_status' not be a bitfield, since + some broken compilers don't handle it right. + + * function.c (expand_function: `join'): Don't clobber the pointers and + then try to free them. + + * job.c (exec_command): Fixed & vs = precedence problem. + +Thu Sep 28 17:29:56 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * remake.c (update_file_1): Fixed typo in debugging output. + + * remake.c (library_file_mtime): Search for /usr/local/lib/libLIB.a + after /usr/lib/libLIB.a. + +Tue Sep 26 16:07:58 1989 Roland McGrath (mcgrath at helen.Berkeley.EDU) + + * read.c (conditional_line): For `ifeq (a, b)', swallow space after the + comma. + +Sun Sep 24 13:25:32 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * function.c (patsubst_function): If BY_WORD and the match is not a + full word, update the text pointer correctly. + + * function.c (expand_function: `word'): Don't lose track of the second + arg's expansion and free something else instead. + +Fri Sep 22 16:15:29 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.56. + +Thu Sep 21 14:28:42 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * main.c (main): Make an array of the mtimes of the makefiles before + updating them, and compare their file_mtimes against this later. Don't + re-exec if a makefile was successfully updated but didn't change. If a + makefile failed to be remade and no longer exists, die. If a makefile + failed to be remade, but changed anyway, re-exec. If a makefile failed + to be remade, but is unchanged, continue on. + +Wed Sep 20 18:02:07 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.55.6. + + * implicit.c (pattern_search): Maintain an array CHECK_LASTSLASH of the + CHECK_LASTSLASH flag values used to match each member of TRYRULES. + When making FILE->stem, if CHECKED_LASTSLASH[FOUNDRULE], prepend the + part of FILENAME before LASTSLASH. + +Tue Sep 19 17:44:08 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * dir.c (dir_file_exists_p): Check for FILENAME being nil before + checking for it being "". + + * main.c (define_makeflags): Fixed test for whether a flag/flag_off + option was non-default. Also changed to generate a string that Unix + Make will grok (except for FP/int values and new flags). + + * job.c (child_execute_job): Don't use the shell's -c option. + Also fixed an off-by-one bug in the ARGV -> shell arg list copying. + +Mon Sep 18 15:17:31 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.55.5. + + * read.c (parse_file_seq): Check the beginning of the file name for a + `./', not the two chars after the end of the name (Q rather than P). + + * job.c (child_execute_job): Include all of ARGV in the arg list for + the shell. + + * main.c (define_makeflags): Don't include floating and positive_int + options in !PF. + + * job.c (exec_command): Set the effective gid to the real gid before + execing. + + * job.c (child_execute_job): Don't clobber the arg list when execing + the shell. + +Sun Sep 17 15:27:19 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * main.c (define_makeflags): Moved all the checking inside the switch. + + * load.c [LDAV_BASED] (load_average): When we can't get the load + average, return zero instead of running off the end. + + * file.c: Include variables.h. + * job.c: Declare dup2 and {block,unblock}_remote_children. + * file.h: Declare f_mtime. + * job.c: Don't declare construct_command_argv, since job.h does. + * function.c, main.c, load.c, remake.c: Include job.h. + * load.c [LDAV_BASED] (load_average): Declare nlist. + * variable.h: Declare print_file_variables. + * job.c [!USG]: Don't declare sigsetmask. + [!USG]: Declare getdtablesize. + Don't declare load_average. Do declare wait_to_start_job. + Declare vfork, gete[gu]id, execve. + * commands.c: Declare remote_kill, getpid. + * make.h: Declare kill, exit, sigblock, pipe, close, ctime, open, + lseek, read. + * make.h [not USG]: Declare sigsetmask. + * job.h: Declare wait_for_children and {block,unblock}_children. + + * dir.c (dir_file_exists_p): If FILENAME is nil, read in the whole + directory. + (find_directory): When we want to read in the whole directory, call + dir_file_exists_p with nil instead of "". + + * file.h (struct file), job.h (struct child), + variable.h (struct variable): Use bitfields for flags. + * make.h (ENUM_BITFIELD): If GCC or #ifdef ENUM_BITFIELDS, define as + :BITS, else empty. + * compatMakefile (defines): Document ENUM_BITFIELDS. + +Sat Sep 16 12:38:58 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.55.4 (alpha). + + * GNUmakefile (dist): Depend on default and doc. + + * load.c [LDAV_BASED]: Include rather than ; #ifdef + NLIST_NAME_UNION, use n_un.n_name instead of n_name. + * compatMakefile (LOAD_AVG): Document NLIST_NAME_UNION. + + * job.c [USG-ish]: Don't redefine WIF{SIGNALED,EXITED} if they're + already defined. + +Fri Sep 15 13:59:42 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * glob.c, dir.c [USGr3 or DIRENT]: If neither d_ino, nor d_fileno is + defined, define d_ino as d_fileno. + +Thu Sep 14 18:29:38 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * job.c: Don't declare exec_command static. + + * make.texinfo (Name Index): Changed title to include directives. + + * Version 3.55.3 (alpha). + + * make.texinfo (Running: Options): Document -e. + + * main.c (main): Always give imported environment variables origin + `o_env'. + * variable.c (define_variable_in_set): Under -e, if ORIGIN, or an + existing variable's origin, is `o_env', make it `o_env_override'. + + * load.c: Use the symbol KERNEL_FILE_NAME instead of KERNEL_FILE. + * compatMakefile: Changed the comment for `LOAD_AVG' accordinly. + +Thu Sep 7 16:46:26 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.55.2 (alpha). + + * variable.c (print_variable_set), rule.c (print_rule_data_base), + file.c (print_file_data_base): If NO_FLOAT is defined, don't use + floating-point for printing statistics. + * compatMakefile (defines): Document NO_FLOAT. + + * make.h (HASH): New macro to add the hashing value of one char to a + variable.c. + * file.c (lookup_file, enter_file, rename_file): Use it. + * dir.c (find_directory, dir_file_exists_p, file_impossible_p): Ditto. + * variable.c (define_variable_in_set, lookup_variable): Same here. + + * variable.c, file.c, dir.c: Don't define *_BUCKETS if they are already + defined. + + * compatMakefile (defines): Added comment about defining NO_ARCHIVES. + (ARCHIVES, ARCHIVES_SRC): New variables for {ar,arscan}.[oc]. + (objs, srcs): Use $(ARCHIVES) and $(ARCHIVES_SRC). + * commands.c (set_file_variables), dir.c (file_exists_p), + remake.c (touch_file, name_mtime), implicit.c (try_implicit_rule, + pattern_search), make.h: If NO_ARCHIVES is #defined, don't do any + archive stuff. + + * commands.c (set_file_variables): Don't kill the last char of + directory names in $([@*<%?^]D). + +Wed Sep 6 15:23:11 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * default.c (default_terminal_rules {%:: %,v}, {%:: RCS/%,v}): Don't + run co if the target exists. + + * glob.c (glob_match): [!xyz], rather than [^xyz], means none of [xyz]. + + * glob.c: Misc minor cosmetic changes. + +Tue Sep 5 14:49:56 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU) + + * load.c [LDAV_BASED] (load_average): Check for == -1, rather than < 0 + to see if lseek fails. On some systems, `avenrun' is at an offset > + (2**31)-1, and lseek succeeds, returning a negative value. + +Mon Sep 4 11:07:58 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU) + + * rule.c (new_pattern_rule): Return `int' instead of `void': nonzero if + the passed rule was used, zero if not. + (install_pattern_rule): Pay attention to the return from + new_pattern_rule, and don't set the rule's `terminal' flag or give it + commands unless it's used. + (create_pattern_rule): Same idea. + + * dir.c (find_directory): Removed unused variable. + + * commands.c (execute_file_commands): Removed unused variable. + + * read.c (record_files): Don't use NAME after freeing it. + +Sat Sep 2 00:33:19 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU) + + * Version 3.55.1 (alpha). + + * function.c (string_glob): Don't add spaces after file names that + aren't added. (Also means don't add spaces without checking the size + of the buffer.) + + * remake.c (update_goal_chain): Don't remove makefiles with cmds and no + deps from the chain. + * main.c (main): Do it here, before calling update_goal_chain. + + * remake.c (update_goal_chain): When updating fails, change STATUS even + if MAKEFILES is set. Also stop remaking when updating fails if not + under -k and MAKEFILES is not set. + + * remake.c (remake_file, update_file_1, notice_finished_file), + commands.c (execute_file_commands), make.h, commands.h: The functions + remake_file, notice_finished_file, and execute_file_commands no longer + return values, and their callers no longer expect values returned. + + * remake.c (notice_finished_file): Don't set FILE's modtime to now if + it is a non-target with no commands. + +Fri Sep 1 00:04:39 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU) + + * read.c (read_all_makefiles): After freeing each element on MAKEFILES, + replace it with the name stored in read_makefiles by read_makefile. + + * remake.c (update_file_1): Don't decide not to remake if FILE has no + cmds and no deps actually changed if FILE doesn't have any deps. + + * file.c (remove_intermediate): Remove precious files that also have + the `dontcare' flag set. + + * remake.c (update_file_1): Don't always remake if FILE has cmds but no + deps; only if FILE is double-colon. (I don't know why this should be + done for double-colon targets, but that's what Unix make does.) + + * load.c [LDAV_BASED] (load_average): Write error messages if the + various system calls fail. Keep track of if we've failed before. + The first time we fail, write a message saying -l won't be enforced. + The first time we succeed after having failed, write a message saying + -l will be enforced again. + + * remake.c [USG]: Don't #include + + * load.c [generic Unix LDAV_BASED]: #include #ifdef USG, + else instead. + + * job.c [USG && !USGr3 && !HAVE_DUP2]: Remove redundant + #include and declaration of `errno'. + [...] (dup2): Fixed so it won't always lose. + + * default.c (default_suffix_rules: .texinfo.dvi): Copy, rather than + move, the aux and index files, so the TeX run can use them. + + * compatMakefile: Remove redundant comment. + + * load.c [generic Unix LDAV_BASED]: Include instead of + , since the `struct nlist' declaration in varies + more than the one in . + (load_average): Use the `n_un.n_name' field of the `struct nlist', + since the declaration uses the union. + + * main.c (main): For the temporary files made for stdin makefiles, set + the `intermediate' and `dontcare' flags. + * file.c (remove_intermediates): Don't print any messages for files + whose `dontcare' flag is set. (The only files that will be + intermediate and `dontcare' will be the temporary files made for stdin + makefiles.) + + * job.c (exec_command): Made global. + * job.h: Declare it. + * main.c (main): Use exec_command when re-execing. + + * make.h: Declare environ. + * make.c: Don't. + + * job.c (child_execute_job): New function to perform everything done in + the child side of a fork (for a job or `shell' function). + (start_job): Call it. + * job.h: Declare construct_command_argv and child_execute_job. + * function.c (expand_function: `shell'): Use child_execute_job. + +Thu Aug 31 18:42:51 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU) + + * function.c (expand_function: `shell'): Remove a trailing newline + instead of turning it into a space. + + * main.c (main): Do init_siglist #ifdef HAVE_SIGLIST. + + * job.c [WTERMSIG || (USG && !HAVE_SYS_WAIT)]: Test each W* macro + separately and define all those that aren't defined. + +Sat Aug 26 15:13:21 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * ar.c (ar_name): Return zero for `(foo)'. + + * Version 3.55. + + * make.texinfo (Rules: Multiple Targets): Make this node's `next' + pointer point to `Static Pattern'. + * make.texinfo (Makefiles: MAKEFILES Variable): Make this node's `prev' + pointer point to `Makefile Names'. + + * make.1: Renamed to make.man. + * compatMakefile: Define `mandir' and `manext'. + (install): Depend on $(mandir)/make.$(manext). + ($(mandir)/make.$(manext)): Depend on make.man and copy it to $@. + ($(bindir)/make): Use `make' rather than $<; so Unix make can grok it. + +Thu Aug 24 03:35:48 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * variable.c (target_environment): Allow variables that start with + underscores. + +Wed Aug 23 22:50:32 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * variable.c (target_environment): Reject variables that don't start + with letters. + +Tue Aug 22 04:14:29 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * GNUmakefile (make-$(version).tar.Z): Put make.1 (the Unix manual + page) in the tar file. + + * variable.c (target_environment): Don't write variables with origin + o_default (i.e., ones from default.c). + * make.texinfo (Commands: Recursion: Variables/Recursion): Document + that default variables are not put in the environment. + + * remake.c (update_file_1): Remake all targets with commands but no + deps. + +Sat Aug 19 06:03:16 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * remake.c (update_file_1): In the final loop, set the deps' + `changed' members if they are newer than FILE. + + * remake.c (update_goal_chain): Under -d, print a message if we decide + not to remake a makefile so as to avoid a possible infinite loop. + +Fri Aug 18 20:30:14 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * remake.c (remake_file): Cleaned up. + + * commands.c (execute_file_commands): If the commands are empty, set + FILE->update_status to zero before returning. + + * remake.c (notice_finished_file): Set `last_mtime' fields to zero + instead of calling name_mtime; file_mtime will do that later if anybody + cares. + +Thu Aug 17 10:01:11 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * make.texinfo (Rules: Wildcards: Wildcard Examples): Give this node a + `prev' pointer. + + * Version 3.54.9 (alpha). + + * make.texinfo: Fixed some @nodes. + + * remake.c (check_dep): Don't set *MUST_MAKE_PTR if FILE doesn't exist + after running update_file. + + * remake.c (notice_finished_file): If FILE has no commands, pretend its + modtime is now. + + * remake.c (update_file_1): In the loops that call update_file on the + deps, compare modtimes before and after (unless deps are still being + made) and set the deps' `changed' members. Do not set the `changed' + members in the loop that prints the newer/older debugging messages. + * remake.c (update_file_1): If no deps changed and FILE has no + commands, decide it doesn't need remaking. + + * remake.c (update_file_1): Print a debugging message if we take + commands from default_file. + + * make.texinfo (Rules: Directory Search: Selective Search): Removed + note about warning for `vpath' with a constant pathname, since it isn't + warned about anymore. + + * remake.c (update_goal_chain): If MAKEFILES, remove makefiles which + are targets and have no deps. + * make.texinfo (Makefiles: Remaking Makefiles): Document that makefiles + will not be remade if they are targets but have no dependencies. + +Tue Aug 15 00:00:08 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) + + * remake.c (notice_finished_file): Increment files_remade for non-phony + files if they didn't exist before (even if they still don't). + + * job.c: Include and declare errno. + + * job.c (exec_command): If the execve fails with ENOEXEC (Exec format + error), return instead of exiting the child process. + + * job.c (start_job): In the child side, if exec_command fails, try + using the shell. + + * job.c (start_job): In the child side, call unblock_children instead + of sigsetmask. + + * remake.c (notice_finished_file): Under -n or -q, always increment + files_remade for non-phony files. + + * rule.c (intall_pattern_rule): Use find_percent. + + * vpath.c (vpath_search): Pass the `percent' members to + pattern_matches. + +Mon Aug 14 23:30:24 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) + + * vpath.c (struct vpath): New member `percent', to hold a pointer into + the pattern where the % is. + (construct_vpath_list): Call find_percent on the pattern and set the + new `percent' member. + * read.c (read_makefile): Don't run find_percent on `vpath' directive + patterns. + + * function.c (pattern_matches): Take new arg PERCENT, a pointer into + PATTERN where the % is. If PERCENT is nil, copy PATTERN into local + space and run find_percent on it. + (expand_function: `filter', `filter-out'): Pass new arg to + pattern_matches. + * read.c (record_files): Pass PATTERN_PERCENT to pattern_matches for + static pattern rules. Save the percent pointer into implicit rule + targets, and pass them to create_pattern_rule. + * rule.c (convert_to_pattern): Pass new arg to create_pattern_rule. + (create_pattern_rule): Take new arg TARGET_PERCENTS, nil or an array of + pointers into the corresponding elements of TARGETS, where the %s are. + +Sun Aug 13 00:29:19 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * Version 3.54.8. + + * README.templatate, README-doc.template: New files, turned into README + and README-doc to go into the two distribution tar files. + * GNUmakefile: Added a rule to edit the version number in + README.template and README-doc.template, producing README and + README-doc. + + * remake.c (update_goal_chain): If -n or -q is in effect for a + makefile, and it got updated, don't change STATUS, so we can still + return -1 (meaning nothing was done). This avoids an infinite loop on + "make -n Makefile". + +Sat Aug 12 23:14:24 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * remake.c (notice_finished_file): Treat -q the same as -n. + + * remake.c (update_goal_chain): Fixed handling of return from + update_file. If -n or -q is in effect, ignore it. + + * job.c (start_job): Don't test for -t. We should never get called in + that case. + +Fri Aug 11 04:09:14 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * function.c (expand_function): Removed unused variables. + (handle_function): Removed unused variable. + + * main.c (main): Removed unused variable. + +Wed Aug 9 09:37:10 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * Version 3.54.7. + + * remake.c (notice_finished_file): If FILE's modtime actually changed, + increment files_remade. + (remake_file): Don't increment files_remade. + + * remake.c (update_file): Don't print "up to date" messages for + phony files. + + * job.c (child_handler): Don't set C->file->update_status to 1 if + start_job returns nonzero under -n or -t. + + * expand.c (variable_expand): Count parens in $(foo:a=b) refs. + + * main.c: Removed old declaration of `glob_tilde' (which hasn't existed + for a few months). + +Tue Aug 8 23:53:43 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * job.c (exec_command): Fixed to not ignore the last path component and + to do the right thing with an empty path. + +Fri Aug 4 15:58:19 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * remake.c (library_file_mtime): Look for libLIB.a, not /libLIB.a. + Do VPATH search on libLIB.a, not /usr/lib/libLIB.a + +Thu Aug 3 20:42:00 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * job.c [HAVE_SYS_WAIT or not USG]: If WIFSIGNALED is not defined by + , define it as (WTERMSIG != 0). + +Tue Aug 1 19:25:34 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * remake.c (remake_file): If FILE has no commands and is a target, + don't set its time to now. The time gets reset by notice_finished_file + anyway, and it isn't needed since check_dep checks for nonexistence. + + * Version 3.54.6. + + * read.c (read_makefile): Don't read off the end of the string after an + `include'. + + * job.c (exec_command): New function to search the path for a file and + execute it. + (start_job): Use exec_command rather than execvp. + + * read.c (read_makefile): Expand `include' directive args before + parsing them. Allow trailing whitespace after filename. + + * variable.c (target_environment): Put makelevel + 1, rather than + makelevel, in the `MAKELEVEL' envariable. + +Sat Jul 29 10:27:04 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * remake.c (notice_finished_file): Don't get the new modtime of phony + files. + + * remake.c (remake_file): Run commands instead of touching under -t if + FILE->cmds->any_recurse is set. + + * commands.h (struct commands): Add new member `any_recurse', to be set + nonzero if any `lines_recurse' element is nonzero. + * commands.c (chop_commands): Set the `any_recurse' member. + + * commands.c (execute_file_commands): Split chopping of commands into + lines into new function chop_commands. + * commands.h: Declare chop_commands. + + * read.c (read_makefile): Test for a line beginning with a tab after + checking for conditional lines, but before all other checks. + +Fri Jul 28 18:10:29 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * read.c (read_makefile): Match directives against collapsed line + and use that for their args. + + * read.c (read_makefile): Warn about extra text after `include'. + +Tue Jul 25 14:34:25 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * make.texinfo (Rules: Directory Search: Selective Search): Fixed + example to use correct `vpath' syntax. + +Mon Jul 24 12:10:58 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * Version 3.54.5. + + * job.c (start_job): In the child side, unblock SIGCHLD. + +Fri Jul 21 18:25:59 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * make.h: Don't include #ifdef sun. + +Mon Jul 17 14:29:10 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * implicit.c (pattern_search): If ar_name (FILENAME), don't check for + directory names. + + * job.c (wait_for_children): Changed "waiting for children" message to + "waiting for unfinished jobs". + +Fri Jul 14 13:17:13 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * load.c (load_average): Use an unsigned offset into kmem. + +Thu Jul 13 18:44:49 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * variable.c (pop_variable_scope): Don't free the head of the chain of + variables in each bucket twice. + +Tue Jul 11 06:45:24 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * GNUmakefile: Include COPYING in the doc tar file. + + * variable.c, read.c, misc.c, job.c, function.c: Replace some identical + "for" loops with next_token or end_of_token calls. + +Mon Jul 10 16:55:08 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * Version 3.54.4. + + * compatMakefile: Documented new conditionals. + + * job.c: Don't define sys_siglist if HAVE_SIGLIST is defined. + Don't define dup2 if HAVE_DUP2 is defined. + + * job.c (child_handler): Interpret the return from start_job correctly. + + * remake.c (update_file_1): Don't write "target not remade because of + errors" message under -n or -q. + + * read.c: Declare getpwnam. + + * glob.c: Use if DIRENT is defined. + [USG]: Don't declare memcpy, since does. + +Fri Jul 7 20:53:13 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * misc.c (collapse_line): Copy the line over in the right place. + +Fri Jul 7 18:33:24 1989 Roland McGrath (fsf at void.ai.mit.edu) + + * remake.c: Conditionalize inclusion of on not + USG, since HP-UX defines a `struct file' there. + +Fri Jul 7 12:11:30 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * job.c: If WTERMSIG is defined by , define WAIT_T as int, + and don't define other macros; this covers HP-UX. + If WTERMSIG is not defined, use int or union wait based on USG and + HAVE_SYS_WAIT; this covers BSD and SysV. + + * Version 3.54.3 (alpha). + + * job.c [USG and not USGr3]: Include and declare errno. + + * job.c (unblock_children [USG]): Declare child_handler. + + * job.c: Renamed WRETCODE to WEXITSTATUS. + [HAVE_SYS_WAIT or not USG]: Undefine WTERMSIG, WCOREDUMP, and + WEXITSTATUS before defining them. The HP-UX defines them. + + * main.c (main): If there are no goals, fatal AFTER printing the data + base under -p. + +Thu Jul 6 22:43:33 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) + + * glob.c [USG]: #define rindex as strrchr. + + * job.c [USG]: Include and #define getdtablesize() as + NOFILE. + +Wed Jul 5 09:36:00 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * Version 3.54.2 (alpha). + + * expand.c (variable_expand): When expanding recursive variable + references (${${a}}), use the correct delimiters in the constructed + variable reference. + +Mon Jul 3 18:29:26 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) + + * compatMakefile: Clear out and redefine the .SUFFIXES list because + silly Sun 4 make defines .cps.h. + + * compatMakefile: Fix comment about -DNO_MINUS_C_MINUS_O. + + * remake.c: Include for O_* on 4.2. + + * commands.c: Define sigmask if it's not defined. + +Fri Jun 30 07:33:08 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) + + * remake.c (remake_file): Don't always increment files_remade. + + * variable.c (push_new_variable_scope): Zero the new variable hash + table. + +Thu Jun 29 17:14:32 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * expand.c (variable_expand): When terminating the variable expansion + buffer, use variable_buffer_output instead of a simply zero store, + because the buffer may need to be enlarged. + +Wed Jun 28 16:53:47 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * Version 3.54. + + * default.c (default_suffixes): Added `.ln'. + (default_suffix_rules): Changed lint rules to use -C. + +Thu Jun 22 20:49:35 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * job.c (start_job): Set `environ' to CHILD->environment before execing + in the child process! + +Tue Jun 20 17:23:13 1989 Roland McGrath (roland at spiff.ai.mit.edu) + + * compatMakefile: Put job.h and rule.h in `srcs'. + + * Version 3.53. + +Mon Jun 19 16:25:18 1989 Roland McGrath (roland at spiff.ai.mit.edu) + + * job.c (start_job): If there are no more commands, return nonzero + under -n or -t. + + * compatMakefile (make): Pass `-f' to mv. + + * GNUmakefile: If `ARCH' or `machine' is defined, make $(ARCH)/*.o and + $(ARCH)/make instead of *.o and make. + + * function.c (string_glob): Don't try to use freed storage! + + * read.c (readline): If there is only one byte of space in the buffer, + enlarge the buffer before reading more. + + * arscan.c [M_XENIX]: Miscellaneous minor changes for Xenix. + +Sun Jun 18 13:07:45 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * GNUmakefile (depend): Split commands into two lines so they won't be + so long when variable-expanded. + + * compatMakefile: Documented MINUS_C_MINUS_O meaning. The line + describing it got removed when the USG/wait stuff was documented. + +Sat Jun 17 22:56:54 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * Version 3.52. + +Mon Jun 12 17:45:11 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * remake.c (check_dep): Drop circular dependencies instead of fataling. + (update_file_1 already does this.) + + * default.c (default_suffix_rules): For .s -> .o, put the -o flag to + the assembler before the source file name. + +Sun Jun 11 12:00:52 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * Version 3.51. + + * make.texinfo (Features): Noted 1003.2 requirement of `+' meaning. + + * file.c (remove_intermediates): If !SIG, write a single "rm" command + line, listing all files. + + * read.c (read_makefile): Don't free the storage for the passed + filename, since it might not be malloc'd. When doing an included + makefile, free the name's storage. + (read_all_makefiles): Use variable_expand to find the value of + `MAKEFILES'. Free the storage for the names of -f makefiles. + (read_makefile): Allocate storage for the makefile name in the + `struct file' in read_makefiles. + + * make.texinfo (Running: Instead of Execution): Document the effect of + + and $(MAKE)/${MAKE}. + + * make.texinfo (Functions: Foreach Function): Document that if the + iteration variable was undefined before the `foreach' call, it will be + undefined after the call. + + * commands.c: Split into commands.c, job.h, and job.c. + + * rule.c (try_implicit_rule, pattern_search): Moved to new file + implicit.c. + + * rule.c: Split into rule.h, rule.c, and default.c. + * default.c (install_default_pattern_rules): Renamed to + install_default_implicit_rules. + * make.h, main.c (main): Renamed uses. + + * make.c: Renamed to misc.c. + + * make.c (main, log_working_directory, decode_switches, + decode_env_switches, define_makeflags, die, print_version, + print_data_base): Moved to new file main.c. + + * commands.c (execute_file_commands): Don't collapse backslash-newlines + here. When chopping the commands up into lines, don't chop at + backslash-newlines. + (start_job): Collapse backslash-newlines after printing the line. + + * commands.c (start_job): Don't collapse backslash-newlines here. + (execute_file_commands): Collapse backslash-newlines before chopping + the commands up into lines. + + * commands.c (set_file_variables): Initialize the length counters for + $^ and $? to zero! + + * commands.c (start_job): Use vfork instead of fork. Someone else says + the child and parent DO have separate file descriptors. + + * variable.c: Split internals into variable.c, function expansion into + function.c, and variable expansion into expand.c. + * function.c (handle_function): New function to check for a function + invocation and expand it. + * expand.c (variable_expand): Use handle_function. + * variable.c (push_new_variable_scope): New function to push a new + empty variable set onto the current setlist. + (pop_variable_scope): New function to pop the topmost set from the + current setlist and free its storage. + * function.c (expand_function: `foreach'): Push a new variable scope + for the iteration variable and pop the scope when finished. + * variable.h: Declare new functions. + * variable.c (initialize_variable_output): New function to return a + pointer to the beginning of the output buffer. + (save_variable_output): New function to save the variable output state. + (restore_variable_output): New function to restore it. + * expand.c (variable_expand): Use initialize_variable_output. + (allocated_variable_expand): Use {save,restore}_variable_output. + * variable.c (current_setlist): Renamed to current_variable_set_list + and made global. + +Sat Jun 10 00:11:25 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * remake.c (library_file_mtime): Check for libNAME.a in the current + directory before doing VPATH search. + + * variable.c (print_variable_set): Don't write "# Variables", and write + fewer blank lines. + (print_variable_data_base): Precede the variables with "# Variables". + + * make.c (main): Print the data base under -p after doing everything + else, just before exitting. This way it gets info determined in + updating the goal targets. + + * variable.c (print_variable_data_base): Split into print_variable, + which prints one variable, and print_variable_set, which prints a set. + Replaced with a call to print_variable_set for the global set. + (print_file_variables): New function to print a given file's local + variables. + + * file.c (print_file_data_base): Call print_file_variables to print + each file's local variables. + + * commands.c (set_file_variables): Actually define the values for + the $^ and $? variables!!! + + * make.texinfo (Implicit: Pattern Rules: Automatic): Document new D and + F versions of $^ and $?. + + * commands.c (start_job): In the child fork, use getdtablesize and a + loop to close all file descriptors other than 0, 1, and 2. We need to + do this since not only the bad stdin pipe, but also some directories, + may be open. + + * commands.c (start_job): Use fork instead of vfork, because a vfork + parent and child share file descriptors, and our child needs to diddle + with stdin. + + * variable.c (initialize_file_variables): When created a new variable + set, zero out the hash table. + + * variable.c (target_environment): Don't use variables whose names are + not made up of alphanumerics and underscores. + + * remake.c (update_file_1): Set the `parent' member of each dependency + to FILE before updating it. + + * file.h (struct file): Add `parent' member. + + * variable.c (initialize_file_variables): Don't take second arg PARENT. + Use FILE->parent instead. If FILE->parent->variables is nil, recurse + to initialize it. + + * variable.h: Declare {allocated_}variable_expand_for_file. + + * variable.c (allocated_variable_expand): Now + allocated_variable_expand_for_file, calling variable_expand_for_file, + and taking second arg FILE. + (allocated_variable_expand): New function, a wrapper around + allocated_variable_expand_for_file, passing a nil second arg. + +Fri Jun 9 12:11:45 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * commands.c (start_job): On the child side of the fork, always close + the bad stdin file descriptor. + + * commands.c (struct child): New member `environment', to hold the + environment for the child. + (execute_file_commands): Set the new childs `environment' member to nil + before calling start_job. + (start_job): Set up CHILD->environment before running the commands if + it is nil. + + * make.c (main): Don't call new_environ. `shell' functions will now be + run with the environment make was called with. + + * commands.c (child_handler): Don't check C->command_ptr before calling + start_job since we now have to check C->file->cmds->command_lines and + it's easier to let start_job handle all that. + + * commands.c (struct child): New member `command_line', to hold an + index into file->cmds->command_lines. + (execute_file_commands): Set the new child's `command_line' to 0 and + its `commands' and `commands_ptr' to nil. + (start_job): When CHILD->command_ptr runs out, increment + CHILD->command_line and run the corresponding line from + CHILD->file->cmds->command_lines. Run it even under -t, -q, or -n if + the CHILD->file->cmds->lines_recurse element for that line is set. + + * commands.c (execute_file_commands): Chop CMDS up into lines, setting + its `command_lines' and `lines_recurse' members, if it wasn't already + chopped. + + * commands.h (struct commands): New members `command_lines' and + `lines_recurse'. The first is an array of chopped-up lines; the second + is an array of flags, each nonzero if the corresponding line is + recursive. + + * variable.c (variable_expand_for_file): If FILE is nil, just do a + vanilla variable_expand. + (expand_function: `shell'): Pass second arg (as nil) to + construct_command_argv. + + * commands.c (construct_command_argv): Use variable_expand_for_file on + `$(SHELL)' and `$(IFS)' instead of lookup_variable to check those + variables. This handles file-local and recursive values correctly. + To support this, take an additional argument FILE. + + * variable.c (initialize_file_variables): New function to initialize + FILE's variable set list from PARENT's setlist. PARENT is the + immediate dependent that caused FILE to be remade, or nil if FILE is a + goal. (When user-level per-file variables are implemented, PARENT + should be passed as nil when defining per-file variables.) + + * variable.c (variable_expand_for_file): New function to expand a line + using the variable set of a given file, and reporting error messages + for the file and line number of that file's commands. + + * variable.h: Don't declare lookup_variable_for_file. + + * variable.c (lookup_variable_*): Turned back into lookup_variable. It + now uses current_setlist. + (global_setlist): New static `struct variable_set_list', a setlist + containing global_variable_set. + (current_setlist): New static `struct variable_set_list *', a pointer + to the current variable set list. + (define_variable): Define in the current top-level set, not the global + set. + + * commands.c (set_file_variables): New function to set up the automatic + variables for a file in its own variable set. + (execute_file_commands): Use set_file_variables. + + * variable.c (new_environ): Replaced with target_environment, taking an + argument FILE, and returning an environment for FILE's commands. + + * variable.c, variable.h: Remove all global special variable pointers. + + * variable.c (define_variable_for_file): New function like + define_variable, but takes additional arg FILE, and defines the + variable in the variable set at the top of FILE's chain. + (lookup_variable_for_file): New function like lookup_variable, but + takes additional arg FILE, and looks the variable up in all of FILE's + variable sets. + + * file.h (struct file): New member `variables', a `struct + variable_set_list' containing the list of variable sets used in the + expansion of the file's commands. + + * variable.c (variables): Replaced with static `struct variable_set' + global_variable_set. + (define_variable): Now define_variable_in_set, taking additional + argument SET, the `struct variable_set' to define it in. + (define_variable): Use define_variable_in_set with global_variable_set. + (lookup_variable): Now lookup_variable_in_set, taking additional + argument SET, the `struct variable_set' to look it up in. + (lookup_variable): Use lookup_variable_in_set with global_variable_set. + (lookup_variable_in_setlist): New function to look up a variable in a + `struct variable_set_list' using lookup_variable_in_set. + + * variable.h (struct variable_set): New structure, containing a hash + table and the number of hash buckets. + (struct variable_set_list): New structure, containing a link for a + linked-list, and a `struct variable_set'. + + * commands.c (start_job): Under -n, return what the recursive start_job + call returns, since it might actually start a child. + + * make.texinfo (Rules: Wildcards): Document ~ and ~USER expansion. + + * commands.c (execute_file_commands): If start_job returns + failure, but -t is set, set FILE->update_status to success. + (start_job): If -t is set, and the commands are not recursive, return + failure (is is done for -q). + + * remake.c (touch_file): New function to touch FILE. + (remake_file): Use touch_file. When touching a file, still do + execute_file_commands. + + * remake.c (remake_file): Don't check question_flag (-q), since we + can't know here if the commands are recursive. + + * commands.c (start_job): Don't use the `recursive' member of + CHILD->file->cmds. Instead, check for leading +s and $(MAKE) or + ${MAKE} in the command line here. + + * commands.h (struct commands): Remove `recursive' member. + + * rule.c (install_default_pattern_rules): Remove use of `recursive' + member. + + * read.c (record_files): Don't check commands from $(MAKE) and set + their `recursive' member. + + * commands.c (fatal_error_signal): Treat SIGQUIT like SIGINT, SIGHUP, + and SIGTERM, but don't send it to ourselves because it will cause a + core dump. + +Thu Jun 8 20:30:04 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.50. + + * variable.c (variable_expand): Use allocated_variable_expand instead + of expand_argument in a few places. + + * variable.c (allocated_variable_expand): Do static variable shuffling + here instead of using expand_argument. + (expand_argument): Use allocated_variable_expand. + + * variable.c (recursively_expand): New function to recursively expand + its argument (a `struct variable'), returning the malloc'd value. + (variable_expand): Use recursively_expand. + +Sun May 28 12:49:27 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * make.c (main): Fixed buggy fix in deciding to increase space for + command-line variable definitions. (First it never did it, then it + always did it; now it does it when necessary.) + +Sat May 27 14:01:54 1989 Roland McGrath (mcgrath at hecuba.Berkeley.EDU) + + * make.c (main): Fixed bug in deciding to increase space for + command-line variable definitions. + +Fri May 26 15:48:01 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * read.c (multi_glob): Use allocated_expand_variable for checking + `HOME' variable for ~ expansion, since this may be called from inside a + `wildcard' function expansion. + + * variable.h: Declare allocated_expand_variable. + + * variable.c (allocated_expand_variable): New function to do variable + expansion in an allocated buffer, rather than the static one. + + * make.c (main): Don't set glob_tilde (it no longer exists). + + * variable.c (string_glob): Use multi_glob and parse_file_seq. + + * read.c (multi_glob): Do ~ expansion here. + + * glob.c (glob_tilde, glob_filename): Removed ~ expansion. + + * variable.c (define_variable, lookup_variable): Use a smarter hashing + algorithm (the same one used for files and directories). + (VARIABLE_BUCKETS): Increased to 523. + + * file.c (enter_file, lookup_file, rename_file): Use a smarter hashing + algorithm, spreading the bits about somewhat. + + * make.c (log_working_directory): Under `-p', precede the directory + message with a `#'. + + * make.c (print_version): Under `-p', precede each line with a `#'. + (print_data_base): Precede the header line with a `#' and include the + date and time on it. + + * vpath.c (print_vpath_data_base): Precede non-directive + lines with `#'s. + + * commands.c (print_commands): Precede the non-command line with a `#'. + + * rule.c (print_rule_data_base), file.c (print_file_data_base): Precede + non-rule lines with `#'s. + + * dir.c (print_dir_data_base): Precede all lines with `#'s. + + * variable.c (print_variable_data_base): Changed format so that it can + be makefile input. Lines that are not variable definitions are + preceded with `#'. Nonrecursive variable definitions are made with all + dollar signs doubled to reproduce the initial value. Recursive + variable definitions containing newlines are done with `define' + directives. Nonrecursive variable definitions containing newlines, and + variable names containing :, =, or newlines, will come out garbled. + +Wed May 24 00:20:04 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.49. + +Tue May 23 19:18:00 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * variable.c (expand_function: `filter'/`filter-out'): Use + find_percent instead of pattern_p. + + * variable.c (expand_function: `patsubst'): Pass new args (both nil) + to patsubst_expand. + (variable_expand): For $(var:pat%=rep%) references, pass new args to + patsubst_expand so as to avoid find_percent and thus disallow + quoting the %s. + + * read.c (record_files): Pass new args to patsubst_expand. + + * variable.c (patsubst_expand): Take two new args: PATTERN_PERCENT + and REPLACE_PERCENT. Each of these, if non-nil, means that PATTERN + (or REPLACE) has already been run through find_percent, and + PATTERN_PERCENT (or REPLACE_PERCENT) is the result. + + * make.h: Declare find_percent instead of pattern_p. + + * read.c (pattern_p): Changed to find_percent, returning a pointer + to the %, or nil if there is none. + (record_files): Take another arg, PATTERN_PERCENT, a pointer to the + % in PATTERN. + (read_makefile): Pass PATTERN_PERCENT to record_files. + + * make.texinfo (Rules: Static Pattern: Static Usage, + Rules: Directory Search: Selective Search, + Functions: Text Functions): Documented that `%' can be quoted. + + * variable.c (expand_function: `filter'/`filter-out'): Use pattern_p + to allow quoted %s in patterns. + + * variable.c (patsubst_expand): Use pattern_p on PATTERN and REPLACE + to allow quoted %s. Quoting backslashes are removed from REPLACE + even if PATTERN contains no unquoted %. + + * read.c (pattern_p): Made global. + * make.h: Declare pattern_p. + + * read.c (pattern_p): New function to search for an unquoted % in a + string. Backslashes quote %s and backslashes. Quoting backslashes + are removed from the string by compacting it into itself. Returns + nonzero if an unquoted % was found, zero if not. + (record_files): Use pattern_p to check for implicit rules. + (read_makefile): Use pattern_p to check for static pattern rules. + Also use it to allow quoted %s in `vpath' patterns; warn about + `vpath' patterns with no %s. + +Mon May 22 16:31:52 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * glob.c (glob_filename): Replace a `1' with the `l' that should + have been there. This incidentally stops it from dumping core. + + * glob.c (glob_filename): If the path is just a directory, with no + file name pattern, return the directory alone. + + * glob.c (glob_tilde): New global variable (int), defaults to zero. + (glob_filename): If glob_tilde is nonzero, expand ~ or ~USER. + + * variable.c (string_glob): Keep a static allocated buffer for file + names taken from the list, instead of allocating and freeing one + every time. + +Fri May 19 18:06:26 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * make.c (decode_switches): Get floating numbers from the right string. + +Sun May 14 13:48:04 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * commands.c (delete_child_targets): When deleting `also_make' + files, include the target's name in the message: + make: *** [foo] Deleting file `bar' + +Sat May 13 17:34:26 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * make.c (max_load_average, default_load_average): Default to -1. + + * load.c (wait_to_start_job): Return if max_load_average is < 0.0, + not equal. + +Fri May 12 16:08:05 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * variable.c (variable_buffer_output): Don't try to do pointer + arithmetic between objects not in the same array. + +Wed May 10 15:55:29 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * rule.c [M_XENIX] (default_suffix_rules, default_variables): Minor + changes to allow for strange compiler syntax. + + * rule.c (default_variables): Don't include "> $@" in + $(PREPROCESS.S), since it's already in the .S.s rule. + + * file.c (enter_file): Make a new double-colon file the `prev' + member of the bottom `prev' file (the one whose `prev' is nil). + + * read.c (do_define): Append newlines after copying the lines into + the value buffer, so we end up with a trailing newline. + + * make.c (print_version): If the global variable + `remote_description' is not nil or "", append "-%s" (its value) to + the version number. + * remote-*.c: Define remote_description appropriately. + +Sun May 7 15:15:53 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * commands.c (error_status): Converted to new function child_error, + taking new arguments TARGET_NAME and IGNORED, and writing an error + message: "*** [target] Error 1" (or signal #, etc.), appending + " (ignored)" if IGNORED is nonzero. + (child_handler): Use child_error instead of error_status. + + * compatMakefile (all): Don't depend on `doc'. + + * compatMakefile (clean): Don't remove make-info*. + (realclean): New rule, depends on `clean', removes tags, TAGS, + and all Info and TeX files. + +Thu May 4 17:00:46 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * variable.c (print_variable_data_base), file.c + (print_file_data_base), rule.c (print_rule_data_base), + Use floating-point for averages and percentages. + + * make.c (print_data_base): Print messages before and after the data + base information. + + * commands.c (print_commands): Changed output format to separate + lines in commands and prefix them with tabs. + + * dir.c (print_dir_data_base): Changed output format slightly. + + * vpath.c (struct vpath, construct_vpath_list, + selective_vpath_search): Remove the `exists' member and its uses. + + * vpath.c (print_vpath_data_base): New function to print all + selective and general VPATH search paths (for -p). + + * make.c (print_data_base): Call print_vpath_data_base. + + * file.c (print_file_data_base): Changed format to look more like a + makefile rule. Now reports all information in the `struct file'. + + * rule.c (print_rule_data_base): Changed format of display from: + %: (terminal) + depends on: RCS/%,v + to: + %: RCS/%,v + is terminal. + references nonexistent subdirectory. + Also include number and percent that refer to nonexistent + subdirectories. + +Thu Apr 27 15:45:40 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * make.c (main): Figure out the level of recursion before writing + the `Entering directory' message. + * variable.c (define_automatic_variables): Don't figure out the + level of recursion from `MAKELEVEL'. It's now done in main. + + * Version 3.48. + +Wed Apr 26 16:39:17 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * commands.c (child_handler): Set `update_status' to zero when there + are no more commands. + + * make.c (log_working_directory): If MAKELEVEL > 0, indicate the + recurson in the message (make[1]: ...). + + * commands.c (child_handler): Change status to `cs_finished' when + commands fail. + + * commands.c (start_job): Return 0 (success) if there were no more + commands for the child. + (child_handler): Change the status to `cs_finished' when start_job + fails to start the commands. + + * make.c (main): Don't handle SIGEMT if it's not defined. + Do handle SIGDANGER if it is defined. + + * commands.c (child_handler): Reorganized inner loop so that it + doesn't try to inspect the child before finding it. + +Tue Apr 25 16:28:24 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * make.c (end_of_token): Fixed bug wherein backslashes caused + immediate return. + + * Version 3.47. + + * make.texinfo (Implicit: Pattern Rules: Automatic): Document + setting of `$*' for explicit rules. Add note clarifying that + automatic variables, though referred to in the documentation as + `$<', etc. are no different than `$(<)', etc. + +Fri Apr 21 18:00:12 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * file.c (enter_file): Don't strip leading `./'s. + + * read.c (parse_file_seq): Strip leading `./'s. + +Thu Apr 13 17:26:41 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * make.texinfo (Commands: Parallel, Running: Options): Document that + -l with no argument removes a previous load limit. + + * make.c (struct command_switch): New member `default_value'. + (default_job_slots): Default value (of 1) for -j. + (default_load_average): Default value (of 0, unlimited) for -l. + (command_switches): Use default values for -j and -l. + Also, -l without an arg now means no load limit. + (define_makeflags): Don't write positive_int or floating options + whose values are their defaults. + + * make.c (main): Under -w, write a `Leaving directory' message + before re-execing. + +Tue Apr 11 16:46:29 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.46. + + * Makefile: Provide an easy place for system-specific definitions + (-DUSG, etc.) and extra object files (for whatever). + + * make.texinfo: Miscellaneous fixes from RMS. + +Mon Apr 10 19:31:34 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * rule.c (pattern_search): Put rules with `subdir' flags set in + TRYRULES, since these might be valid with VPATHs. In the TRYRULES + loop, don't do lookup_file or file_exists_p calls for dependencies + of rules with `subdir' flags set, but still do vpath_search calls + and intermediate-file searches. + +Thu Apr 6 16:33:00 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * make.texinfo (Implicit: Pattern Rules: Automatic): Document the + new definition of $* for explicit rules. + + * commands.c (execute_file_commands): If FILE->stem is nil, figure + out if FILE->name ends in a suffix in the .SUFFIXES list; if so, + store the name sans suffix in FILE->stem (and $*). + +Wed Apr 5 15:24:48 1989 Roland McGrath (mcgrath at helen.Berkeley.EDU) + + * file.c (remove_intermediates): Don't use `file_exists_p' to check + for the existence of intermediate files, because the hashed + directories will probably be out of date. + + * commands.c (child_handler): Free the good stdin before running the + next command line. + + * commands.c [USG] (init_siglist): Don't case SIGEMT if it's not + defined. Do case SIGDANGER (for IBM RT) if it is defined. + + * commands.c: Changed `SYS_WAIT' to `HAVE_SYS_WAIT'. + (child_handler): Use `wait3' if HAVE_SYS_WAIT is #defined. + + * file.c (enter_file): If any `./'s are stripped off, allocate a new + copy of the shortened name. + + * rule.c (pattern_search): Allocate the right length strings for + `also_make' members. + +Sat Apr 1 13:28:38 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.45. + + * GNUmakefile: Make a separate tarfile of the DVI and info files. + + * make.c (define_makeflags): If a switch that takes an argument has + its default value, put the switch in MAKEFLAGS with no arguments. + + * make.c (command_switches): Pass `-l' in MAKEFLAGS. + +Wed Mar 29 17:50:05 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * GNUmakefile: Don't include the DVI and info files in the dist. + + * commands.c (child_handler): Don't call + check_changed_{directories,vpaths}. + + * make.h: Don't declare check_changed_{directories,vpaths}. + + * vpath.c (check_changed_vpaths): Removed this function. + + * dir.c (struct directory): Remove `modtime' member. + (find_directory): Don't set `modtime' member. + (check_changed_directories): Removed this function. + + * remake.c (update_file_1): Set FILE->command_state to cs_finished + if it didn't need to be remade. + + * remake.c (update_file): Only write the "up to date" message if the + target went from `not_started' state to `finished' state without + incrementing the count of files remade. + + * commands.c [USG] (init_siglist): If both SIGCHLD and SIGCLD are + defined, don't put them both in the `switch'. + +Tue Mar 28 15:37:02 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * file.c (rename_file): Change FILE's name!!! + + * rule.c (create_pattern_rule): Set the `terminal' member of the new + rule after calling new_pattern_rule, which zeros it. + + * rule.c (default_variables): Use $(C++) in $(COMPILE.cc)! + +Sun Mar 26 15:52:30 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Makefile: Added a `clean' target. + +Fri Mar 24 15:08:46 1989 Roland McGrath (mcgrath at helen.Berkeley.EDU) + + * Version 3.44. + + * file.c (rename_file): If a `struct file' for the renamed-to name + exists, and it is a target or has deps or commands, barf. + If not just remove the old one for put in the new one. + + * remake.c (update_file_1, check_dep): Changed it back so that equal + modtimes to NOT make dependencies be considered newer. RCS checks + out files with equal modtimes as the RCS files, so this screws it. + + * make.h, glob.c: If __GNUC__ is defined, use __builtin_alloca. + + * Makefile: Use variables `ALLOCA' and `ALLOCASRC' so systems + without a good standard alloca can get it from the Emacs + distribution (or somewhere). + + * dir.c: Don't include , since make.h does. + + * make.c: Removed debugging version of getwd. + +Thu Mar 23 16:16:27 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.43. + + * remake.c (update_file_1): If a dependency loop is found, don't + fatal. Emit an error message and remove the dependency. + + * remake.c (library_file_mtime): Fixed to use the right names. + (update_file_1, check_dep): Consider a dependency "newer" than its + dependent if they have the same modification time. + +Wed Mar 22 19:31:35 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * file.c (remove_intermediates): Don't try to remove nonexistent files. + +Mon Mar 20 10:21:22 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.42. + + * rule.c (default_variables): Set F77 to $(FC) and F77FLAGS to + $(FFLAGS) so explicit rules expecting these (which are in System V) + will work. However, there is no way to make setting these affect + the implicit rules, unless we trash FC and FFLAGS (which BSD uses). + [USG]: Set GET to `get' rather than `/usr/sccs/get'. + +Sun Mar 19 20:00:27 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * vpath.c (construct_vpath_list): Don't replace VPATH[ELEM] with + dir_name (V), because the latter may get freed. + +Sat Mar 18 15:01:39 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.41. + + * make.texinfo: Cleaned-up edition 0.1 Beta from RMS and Bob Chassell. + + * file.c (rename_file): If a file with the new name already existed, + use the same storage space, after freeing the old file's name, deps, + and `also_make' member, preserving the link in the chain. + Also write an error message telling the user to report the incident; + I don't think this should be able to happen, but I'm not sure. + + * file.c (rename_file): Don't add the hash values of the old and new + names together! Reset HASHVAL before computing the second value. + + * dir.c (check_changed_directories): Zero the new file hash table + after allocating it. + + * dir.c (dir_file_exists_p): If FILENAME is "", return 1 if the + directory exists. + + * vpath.c (check_changed_vpaths): New function to run through the + search paths of all VPATHs, making the `exists' members correspond + to reality. + + * commands.c (child_handler): Call check_changed_vpaths. + + * make.h: Declare check_changed_vpaths. + + * vpath.c (struct vpath): New element `exists', an array of char + flags; exists[N] is nonzero if searchpath[N] exists. + (construct_vpath_list): Set the `exists' member. + (selective_vpath_search): Don't search directories whose `exists' + elements are zero. + + * read.c (read_makefile): Set the `dontcare' flag of makefiles + from the MAKEFILES variable if they were not mentioned anywhere but + in the MAKEFILES variable. + + * read.c (read_makefile): Don't write an error message if fopen + fails for a makefile from the MAKEFILES variable. + + * dir.c (struct directory): Add `modtime' member to record the + modification time of the directory when it was opened. + (check_changed_directories): New function to check all known + directories; if their modtimes have changed since they were opened, + their file tables are cleared and they are reset to be read in. + + * commands.c (child_handler): Call check_changed_directories before + returning. + make.h: Declare check_changed_directories. + +Tue Mar 14 20:07:13 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.40. + + * make.c (print_version): Made the copyright say 1988, 1989. + + * read.c (read_all_makefiles): Don't set *MAKEFILES to the name of + the end of the read_makefiles chain, since the latter may be from an + included makefile. (Why did I do this before?) + + * make.c (main): Set argv[0] to "" if it was nil. Don't put the + command-line variable definitions into argv[0], only into the MAKE + variable! + +Sun Mar 5 20:44:08 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * ar.c (ar_member_date, ar_touch): Remove the trailing ) from the + member name. + +Fri Mar 3 18:15:15 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * commands.c (construct_command_argv): Initialize NEW_ARGV to 0. At + `slow' label, if NEW_ARGV is not 0, free it; then allocate 4 strings. + +Tue Feb 28 14:29:39 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.39. + + * COPYING, make.texinfo: New GNU General Public License, version 1. + + * *.c, *.h, Makefile: New copyright notices for the new GNU General + Public License, version 1. + + * commands.c [USG]: Define WRETCODE correctly (again). + + * variable.c (expand_function: `shell'): Don't capture the standard + error output of the shell command. + + * ar.c (ar_touch, ar_member_date): Allocate MEMNAME with the right + length. + + * load.c [not UMAX] (load_average): Don't clobber the first nlist + member when trying to set the second! + +Thu Feb 23 13:13:53 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * commands.c (child_handler): Really ignore errors under -i and for + - lines, don't just print a different message. + + * make.c (decode_switches): Fixed handling of arguments (or lack + thereof) to switches. + +Wed Feb 22 16:25:39 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * commands.c (construct_command_argv): Don't clobber LINE when + checking the IFS variable. + +Sun Feb 19 11:17:07 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * load.c [UMAX, not NO_LDAV] (load_average): Return 0.0 rather than + randomness when calls fail. + + * Version 3.38. + + * commands.c (fatal_error_signal): If handling a user kill signal + (TERM, INT, HUP), wait for the children without printing the + "Waiting for children" message, since they will die quickly. + + * Version 3.37. + + * remote-stub.c (remote_status): Take another arg, BLOCK. If this + is nonzero block waiting for remote children. If not, return 0 if + we would have to block. + + * commands.c (child_handler) [not USG]: If called as a signal + handler, use wait3 and don't block. + [USG]: If called as a signal handler, return after handling one child. + +Sat Feb 18 13:37:04 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * file.c (snap_deps): Process all double-colon entries of each file, + not just the first one. + + * Version 3.36. + + * remote-stub.c: remote.c renamed. + remote.c: Just include remote-stub.c + + * commands.c (child_handler): If we were called as a signal handler, + return after handling one child. + + * commands.c [not USG]: Include and define `sigmask' if + doesn't. + (block_children, unblock_children): Use sigmask rather than + bitshifting explicitly (and incorrectly). + + * remote.c (remote_kill): New function to send a signal to a + remote child. + + * commands.c (fatal_error_signal): If we get a SIGTERM, send one to + each living child. If we get a SIGTERM, SIGINT, or SIGHUP, delete + all pending targets before waiting for children. + (struct child): Add new member `deleted'. + (start_job): Initialize `deleted' member to 0. + (delete_child_targets): New function to delete a given child's + targets, unless the `deleted' flag in the `struct child' says they + have already been deleted. Sets this flag before returning. + +Thu Feb 16 18:32:07 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * commands.c [USG]: Define `WRETCODE' correctly (X & 0xff00). + +Tue Feb 14 16:05:00 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * commands.c (construct_command_argv): Don't make the 0th element of + the argument list be "sh" when executing /bin/sh, because start_job + uses the 0th element as the program name. + +Sun Feb 12 17:42:05 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.35. + + * read.c (readline): Put a null in the beginning of the buffer + before starting the reading loop. + + * read.c (read_makefile): Made main reading loop while + !feof (infile), and removed EOF check after calling readline. + +Sun Feb 5 19:52:38 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * remote.c (block_remote_children, unblock_remote_children): New + (stub) functions to block and restore asynchronous notification of + remote child death. + + * commands.c (block_children): Call block_remote_children. + (unblock_children): Call unblock_remote_children. + (child_handler): If called as a signal handler, block remote + children on entry and unblock them before returning. + + * commands.c (child_handler): For unknown children, if they are + remote, give their remote ID; if local, give their PID and make's. + + * commands.c (execute_file_command): Don't put a new child in the + chain unless start_job succeeds. Block children before calling + start_job, and unblock them after putting the child in the chain and + incrementing `job_slots_used' (if start_job succeeded). + + * commands.c (block_children, unblock_children): Make these globally + visible (not `static'). + commands.h: Declare block_children and unblock_children. + + * variable.c (expand_function: `shell'): Use + `shell_function_completed'. Block children before forking and + unblock after `shell_function_pid' is set properly and + `shell_functon_completed' is reset to 0. + + * commands.c (child_handler): When the child of the `shell' function + completes, set `shell_function_completed' to 1 if it actually ran, + or -1 if it didn't (due to fork or exec failure). + + * commands.c (block_children, unblock_children): New functions to + block and unblock the child termination signal. + (wait_for_children): Use block_children and unblock_children. + (execute_file_commands): Block children around the critical section + wherein a new child is put on the chain. + + * make.c (main): Change the environment to contain the correct + MAKELEVEL before re-execing. + +Sat Feb 4 18:28:48 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.34. + +Fri Feb 3 16:36:49 1989 Roland McGrath (mcgrath at helen.Berkeley.EDU) + + * rule.c (default_variables): Fixed $(LINK.c). + +Wed Feb 1 18:05:07 1989 Roland McGrath (mcgrath at pepper.Berkeley.EDU) + + * Version 3.33. + + * version.c: Removed copyright notice, since this is a one-line file. + + * commands.c (error_status): Made it return BUF, rather than running + off the end (this apparently worked on Sun 3s for some reason). + + * ar.c, commands.c, dep.h, load.c, make.c, make.h, read.c, remake.c, + rule.c, variable.c, Makefile: Changed copyrght notices to cover 1989. + +Mon Jan 30 15:51:28 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * Version 3.32. + +Fri Jan 27 20:09:24 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * remake.c (remake_file): Don't touch phony targets. + + * rule.c (convert_to_pattern): Fixed an incorrect length passed to + savestring. + + * variable.c (expand_function: `shell'): Close the read side of the + pipe on the parent side of the fork. + + * commands.c (start_job): On the child of the fork, close the + BAD_STDIN fd if we're not using it. + + * read.c (record_files): A file beginning with a dot can be a + default target if it also contains a slash (as in `../foo'). + + * commands.c (wait_for_children): For BSD, block SIGCHLD rather than + ignoring it to avoid a race condition when child_handler is returning. + + * commands.c (child_handler): Do blocking waits. + (error_status): Return a string describing exit status. (Split out + of child_handler). + + * read.c (multi_glob): Change VECTOR to VEC for Alliant. + +Thu Jan 5 00:06:51 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * Version 3.31. + + * make.texinfo (Features): Noted $(foo:PAT=SUB) from SunOS 4.0. + + * make.texinfo (Options/Recursion): -d and -p go in the environment. + + * load.c: Include "commands.h". + +Wed Jan 4 17:49:25 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * make.c (switches): -d and -p can come from the environment and are + put into it. + + * read.c (record_files): Fixed the checking for duplicate deps so it + doesn't clobber the first one. + + * make.texinfo: Documented default implicit rule changes. + + * rule.c: Revamped default suffix rules. They now use Sun's style + of using variables `COMPILE.c', `LINK.c', etc. for each suffix, and + use `TARGET_ARCH' and `TARGET_MACH' variable where appropriate. + Also support Modula-2 compilation (suffixes .sym, .def, and .mod). + Ratfor Yacc support is gone, since nobody has yacc -r. + All EFL support is gone, since nobody uses EFL. + + * ar.c, arscan.c: Don't assume `long int' and `int' are the same. + + * commands.c [USG]: Fixed wait status bit encoding. + [USG and not USGr3] (dup2): Define this for SysVr2. + + * make.h, dep.h, make.c [iAPX286]: Make allowances for this + brain-damaged compiler. + + * make.texinfo (Variables: Flavors): Fixed a typo. + +Tue Jan 3 18:09:31 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * ar.c (ar_member_date, ar_touch): Truncate member names to 15 chars. + + * Version 3.30. + + * commands.c [SYS_WAIT]: If this is defined, use BSD + and wait3 even if USG. + + * read.c (record_files): Defining .DEFAULT with no deps or commands + clears its commands. + + * rule.c (default_suffixes): Added `.sh'. + (default_suffix_rules): Added single-suffix .sh rule, copies source + to target and makes target executable. + make.texinfo (Catalogue of Rules): Documented .sh rule and its use + in conjunction with SCCS. + + * rule.c (set_default_suffixes): Define variable `SUFFIXES' to the + default list ("" under -r). + make.texinfo (Suffix Rules): Document `SUFFIXES' variable. + + * rule.c (default_variables), make.texinfo (Implicit Variables): + Variable AR defaults to `ar', ARFLAGS to `rv', and RM to `rm -f'. + + * rule.c (install_default_pattern_rules): Default variables are made + recursive. + (default_variables): Added "CPP", defined to "$(CC) -E". + (default_suffixes): Added `.S', before `.s'. + (default_suffix_rules): New rule for .S to .s, runs CPP. + All rules that use CPP now include "$(CPPFLAGS)". + make.texinfo (Catalogue of Implicit Rules, Implicit Variables): + Documented above changes. + + * commands.c [USG] (sys_siglist): Don't define. + [USG] (init_siglist): New function to initialize sys_siglist. + + * make.texinfo (Variables: Reference): Documented `$(foo:PAT=SUB)' + references. + + * variable.c (variable_expand): A reference `$(foo:PAT=SUB)' is + equivalent to `$(patsubst PAT,SUB,$(foo))'. + + * variable.c (variable_expand): Free the storage for the expansion + of a recursive variable when it is nod longer needed. + + * variable.c (variable_expand): When checking for `$($(foo))', use + lindex so as not to search for the second `$' outside the parens. + + * make.c (struct stringlist, main, decode_switches): Changed `index' + member to `idx'. + +Sat Dec 24 16:02:32 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * commands.c (wait_for_children [USG]): Handle SIGCLD with SIG_DFL, + rather than SIG_IGN. Ignoring SIGCLD reportedly makes wait return -1. + + * arscan.c [USGr3]: Define PORTAR to 1 (as with sun386). + (ar_scan [USGr3]): Remove trailing slashes from member names. + +Thu Dec 22 17:54:05 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * make.texinfo (Makefiles: Overriding Makefiles): New node + documenting use of .DEFAULT to have one makefile defer unmakeable + targets to another. + + * make.texinfo (Implicit: Using Implicit, Implicit: Last Resort): + Mention empty commands and xref node `Empty Commands'. + +Wed Dec 21 20:12:40 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * Version 3.29. + + * make.c (struct command_switch, command_switches, et al): New + member `noarg_value', if not nil, ptr to value to use if no arg is + given to a switch that would otherwise require one. The -j option + can now be given w/o an arg, to mean infinite jobs. + * commands.c: If job_slots is zero, infinite jobs. + + * read.c (read_all_makefiles, read_makefile): Make makefiles precious. + + * make.c (decode_switches): For a positive_int or floating option, + if we moved to the next argument word, but found no argument for the + option, move back to the correct word. + + * make.c (decode_switches): If we got any unknown options, die after + processing all arguments. + + * GNUmakefile: Moved `include depend' to the end, so the default + goal will be set before then. + + * load.c (wait_to_start_job [Unix, UMAX]): Merged into one version + under #ifdef LDAV_BASED. Only loop while we have jobs running. + Sleep for increasing amounts (increase one second per iteration) + before checking the load average (after the first check). + Get the load average from function load_average. + (wait_to_start_job [not LDAV_BASED]): Always return. + (load_average [UMAX]): Fetch load average for Encore UMAX. + (load_average [not NO_LDAV]): Fetch load average from /dev/kmem. + [not NO_LDAV]: Define LDAV_BASED. + +Tue Dec 20 18:54:50 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * Version 3.28. + + * commands.c (wait_for_children): Take second arg, ERROR. If + nonzero, and there are children, print a message on stderr. + (execute_file_commands, fatal_error_signal): Pass second arg. + * make.c (die), remake.c (update_goal_chain), variable.c + (expand_function: `shell'): Ditto. + +Sat Dec 17 01:05:38 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * commands.c (start_job): Call wait_to_start_job before forking. + + * load.c (load_average): Converted to wait_to_start_job. + + * remote.c: New file for remote execution functions. + (start_remote_job_p): Return nonzero if the next job should be run + remotely. + (start_remote_job): Start a remote job and return an ID for it. + (remote_status): Get status of dead remote children. + +Fri Dec 16 16:51:07 1988 Roland McGrath (mcgrath at hecuba.Berkeley.EDU) + + * commands.c (start_job): If start_remote_job_p () returns nonzero, + call start_remote_job to start the job rather than fork and exec. + (child_handler): + + * commands.c (execute_file_commands): Moved load average checking to + start_job. + + * commands.c (child_handler: USG): Record the pid wait returns. + + * load.c (UMAX): Added some #include's needed for UMAX. + + * read.c (multi_glob), variable.c (string_glob): Ignore a (char **) + -1 return from glob_filename. + + * variable.c (variable_expand): Make sure we don't increment past + the end of the string we were passed. + + * variable.c (variable_expand): Terminate the expansion. + + * file.c (rename_file): If there is already a file under the new + name, set its contents equal to FILE's (ick). + + * variable.c (define_automatic_variables): Pass all the args to + define_variable when defining MAKELEVEL! + + * commands.c (execute_file_commands): If max_load_average > 0, and + we have children running, don't start up another child until the + load average goes below max_load_average. + + * make.c: New variable `max_load_average'. + (struct command_switch, decode_switches, decode_env_switches): + Handle floating-point (double) args. + (command_switches): Added `-l' switch to set `max_load_average'. + + * load.c (load_average): New file and function to return a double + that is the current load average (1.00 scale). + * GNUmakefile, oldMakefile: Pass flags in $(LOAD_AVG) for load.c. + +Thu Dec 15 15:22:08 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * Makefile: Renamed to oldMakefile. + * GNUmakefile: Make Makefile from oldMakefile and depend. + + * read.c (read_all_makefiles): When putting the default makefiles in + the read_makefiles chain so they will be remade, put them in the + right order. + + * remake.c (update_goal_chain): If MAKEFILES is nonzero, always make + in serial, and return as soon as one goal whose `changed' member is + nonzero is successfully remade. + + * commands.c: Don't include . + + * commands.c (construct_command_argv): Added ` to sh_chars. + + * make.h: Don't declare construct_makeflags. + + * make.c (main): Set up MAKEFLAGS and MFLAGS and make an environment + both before and after reading the makefiles, so the makefiles can + use them and possible change them, and later children will get the + right information. + (construct_makeflags): Replaced with define_makeflags (static void), + which defines the two variables. + * variable.c (define_automatic_variables): Don't define MAKEFLAGS + and MFLAGS. + +Mon Dec 12 14:40:31 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU) + + * Version 3.27. + + * commands.c (child_handler): Reset the handler to ourselves when + called for USG, since it has no safe signals. + + * commands.c: For USG, use an int rather than a `union wait' for + wait calls, and dissect it with bitmasks. + (child_handler): No wait3 system call in USG. Since we can't + protect from hanging, always return immediately if we have no + children we know about and we're not running a `shell' function. + (There is still the danger of hanging waiting for a child that died + without our being notified.) + + * remake.c: Include instead of . What we need + is really in , and while BSD includes + , USG doesn't. + + * make.c (main): Figure out the program name before doing anything + which might need it (in a call to error or fatal). + + * dir.c, glob.c: Use `struct dirent' and for USGr3. + + * arscan.c (ar_scan): Added missing & before buf (which is an int) + if SARMAG is not defined (SysV). + +Fri Dec 9 18:44:13 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU) + + * Version 3.26. + + * dir.c (find_directory, dir_file_exists_p): Keep track of how many + directories we have open and don't let it be more than + MAX_OPEN_DIRECTORIES (currently 10). + + * variable.c (expand_function: `foreach'): Use expand_argument + rather than variable_expand so each repetition doesn't clobber the + last!!! + +Mon Dec 5 15:58:46 1988 Roland McGrath (mcgrath at hecuba.Berkeley.EDU) + + * Version 3.25. + + * Makefile: Define `install' target. + + * GNUmakefile: Don't include GNUmakefile or depend in the + distribution file. + +Wed Nov 30 15:53:42 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU) + + * commands.c (execute_file_commands): Don't clobber a null into + random storage if there were no $^ and/or $? words. + + * remake.c (check_dep): Set *MUST_MAKE_PTR nonzero if a dependency + doesn't exist. + + * ar.c (ar_member_date, ar_touch): Make sure the modtime of the + archive file itself is known before we fetch or change the modtime + of one of its members. + + * read.c (read_makefile): Expand variable and function references + before parsing rules so variable can contain special characters + (colons and semicolons). + +Sat Nov 26 11:36:31 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * variable.c (expand_function: `filter', `filter-out'): Fixed so + that filter-out works right. + + * variable.c (expand_function: `filter', `filter-out'): Made these + functions use each word of their first argument as a pattern. + +Fri Nov 25 10:51:47 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.24. + + * read.c (record_files): If a target is listed more than once in a + single rule (that defines commands), give a warning message rather + than the counter-intuitive message saying commands were already + defined (in the same place). + + * make.c (fatal, error): Made them both take 6 args since there is + at least one error message that need that many. Too bad vfprintf is + not universal! + + * Version 3.23. + + * read.c (read_makefile): Moved the construction of the `struct + commands' into record_files. Call record_files before recursing for an + included makefile so the higher-up will determine the default goal. + (record_files): Take arguments COMMANDS, COMMANDS_IDX and + COMMANDS_STARTED and construct a `struct commands. + +Thu Nov 24 14:36:33 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.22. + + * make.c (main): Made it a fatal error if we can't move back to the + directory we started in before re-execing. + + * make.c (main): Get the current directory before doing anything + else, so we know it even if we don't need it for the value of + `MAKE', since we might want it when re-execing. + +Wed Nov 23 13:34:44 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * Version 3.21. + + * read.c (record_files): Eliminate duplicate deps in a chain. + + * variable.c (expand_function: `sort'): Pass the right number to + qsort, not one less. + + * remake.c (remake_file): Always call notice_finished_file if + FILE->command_state == cs_finished. + + * commands.c (execute_file_commands): Call notice_finished_file to + set FILE's status correctly when start_job fails (because it's out + of commands or running under -n). + +Fri Nov 18 15:31:12 1988 Roland McGrath (mcgrath at saffron.Berkeley.EDU) + + * Version 3.20. + + * remake.c (update_file_1): Set the `update_status' of FILE to + nonzero and set FILE's `updated' bit if we have decided to give up + on remaking FILE because of errors in the dependencies. + + * rule.c (pattern_search): Debugging messages use `dependency' (vs. + `dependent') properly. + + * make.texinfo (Conditionals: Conditional Syntax): Function index + entries for `ifndef' and `ifneq'. + + * variable.c (define_automatic_variables): Define `MAKELEVEL' to the + decimal number of the makelevel, since it may be malformed or blank. + + * remake.c (remake_file): Call notice_finished_file after touching. + +Sat Nov 12 19:29:34 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * Version 3.19. + + * GNUmakefile (dist): Pass the `-f' flag to compress. + + * vpath.c (build_vpath_lists): Check for VPATHS being nil after + constructing the general VPATH list from the `VPATH' variable. + +Fri Nov 11 08:02:26 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * make.c (fatal, error): Made error messages for recursive runs be + shorter. + +Thu Nov 10 16:51:36 1988 Roland McGrath (mcgrath at basil.Berkeley.EDU) + + * Version 3.18. + + * read.c (read_makefile): Made it eat leading spaces and formfeeds + (but not tabs), like it's documented to. + + * read.c (read_makefile): Let included makefiles determine the + default goal, as is done by System V Make. + +Tue Nov 1 19:03:08 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * variable.c (new_environ): Don't increment VCNT when a variable is + rejected. + +Fri Oct 28 16:54:15 1988 Roland McGrath (mcgrath at basil.Berkeley.EDU) + + * Version 3.17. + + * rule.c (convert_to_pattern): Don't use the same storage for a name + in two rules since new_pattern_rule may free this storage when a + rule is discarded. + + * rule.c (new_pattern_rule): Undid useless change I made Oct 25. + +Thu Oct 27 19:17:53 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * Version 3.16. + + * GNUmakefile, Makefile: Fixed a typo in a comment. + * Makefile: Removed malloc.o from object file list. + + * variable.c: Removed old debugging #define's for xmalloc and + xrealloc so non-ANSI cpp's won't barf. + + * make.c (main): Made local array for temp file name static so + compilers that don't do auto aggregate initialization won't barf. + + * read.c: Removed static declaration of copy_dep_chain since it is + no longer static. + +Tue Oct 25 16:59:30 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU) + + * rule.c (new_pattern_rule): If we threw out the new rule because it + matched an old one and OVERRIDE was zero, don't put the freed + pointer in the chain! + +Wed Oct 19 15:07:43 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU) + + * Version 3.15. + + * variable.c (expand_function: `sort'): Don't do the sorting and + writing out if there were no words in the first place. + + * remake.c (remake_file): Only fail with a "no way to make" message + for a dependency (non-target) file. If we don't know how to remake + a target file, pretend it was successfully remade and is very new. + + * remake.c (remake_file): Don't increment `files_remade' for a + non-target file we don't know how to remake. + + * read.c (record_files): Don't die with "both : and :: entries" for + a file whose `is_target' flag is not set. + +Tue Oct 18 17:24:11 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * variable.c (expand_function: `patsubst', `subst'): Free the right + things! + + * variable.c (expand_function: `subst'): Don't clobber the + pointer to the end of the second arg and then try to use it!!! + +Mon Oct 17 16:44:45 1988 Roland McGrath (mcgrath at catnip.Berkeley.EDU) + + * variable.c (expand_function: `patsubst'): Don't clobber the + pointer to the end of the second arg and then try to use it!!! + + * variable.c (expand_function: `word' function): Made it parse its + second argument correctly. + + * ar.c (ar_touch): Return 1 rather than -1 for on errors. + +Sat Oct 15 15:12:16 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * Version 3.14. + + * GNUmakefile: Removed explicit rule for make.dvi since the built-in + implicit rule now works. + + * rule.c (default_suffix_rules): Fixed .texinfo.dvi rule yet again + so that it really works, now that parens are counted. + + * remake.c (update_file_1): Set FILE's `updated' flag after calling + remake_file if it failed or finished immediately. + + * remake.c (update_file): Use the `updated' flag rather than the + command state to decide if a file was fully considered, and + therefore might give an "up to date" message. + + * variable.c (expand_function): Made all functions that take more + than one argument count parens of the appropriate flavor in their + args and ignore commands nested in parens. + +Fri Oct 14 18:35:00 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * read.c (read_all_makefiles): Pass second arg to read_makefile for + default makefiles. + +Thu Oct 13 16:40:08 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * Version 3.13. + + * GNUmakefile: Added an explicit rule for make.dvi since the + built-in .texinfo.dvi implicit rule is screwed up. + + * rule.c (default_suffix_rules): Added a comment that the + .texinfo.dvi rule does not work because of an ahem, feature of Make + that at some point will be fixed--er, enhanced to alleviate this + difficulty. + + * rule.c (default_suffix_rules): Fixed Texinfo -> DVI rule (again). + + * make.texinfo (Commands: Execution): Documented new competing for + standard input among children. + + * commands.c (struct child): Added `good_stdin' flag to tell if this + child has the stdin that doesn't point into nirvana. + (good_stdin_used): New variable to tell if any child has the good + standard input. + (child_handler): Reset `good_stdin_used' if a dead child's + `good_stdin' flag is set. + (start_job): Give the new child the good standard input if + `good_stdin_used' is no set, and set the child's `good_stdin' flag + appropriately. + + * rule.c (default_suffix_rules): Changed Texinfo -> DVI rule to work + better (I hope). + + * read.c (read_all_makefiles): Stop reading default makefiles after + one is found. + + * read.c (read_makefile): Reset `reading_filename' and + `reading_lineno_ptr' after recursing for an included makefile. + + * GNUmakefile: New GNU Make-specific makefile that does everything + Makefile does plus distribution stuff, and doesn't contain any hacks + to try to work with Unix make. + + * Makefile: Removed distribution stuff. + + * make.c (main): Use mktemp to construct the names of temporary + files used for standard input makefiles. + + * make.c (main): Don't turn standard input into a broken pipe. + + * commands.c (start_job): Keep two extra file descriptors around: a + good standard input, and a bad one that reads from a broken pipe. + On the child side of the fork, if there are other children, give + this one the broken pipe so they won't compete; if this is the only + one, give it the good standard input. + + * make.h: Declare notice_finished_file. + + * commands.c (execute_file_commands): Use noticed_finished_file + after waiting for the child when there is only one job slot. + + * remake.c (notice_finished_file): New function to re-check mtime's + and such things to be done when commands finish. + (update_file_1): Use notice_finished_file. + + * commands.c (child_handler, execute_file_commands): Use new + variable `job_slots_used' to record the number of jobs currently + running, rather than diddling with `job_slots'. + (execute_file_commands): Increment `job_slots_used' before calling + start_job and decrement it on failure to avoid race condition. + If there is only one job slot, wait for the child to finish and + return its status so commands are run in linear order, as if there + were no parallelism. + +Wed Oct 12 15:59:03 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * remake.c (remake_file): Don't print a "No way to make" message for + targets whose `dontcare' flags are set. + + * read.c (read_all_makefiles): Set the `dontcare' flag of the + `struct file' each default makefile added to the chain. + + * file.h (struct file): Add `dontcare' member. + + * read.c (read_all_makefiles): When no default makefiles are found, + put the names of all those tried in the `read_makefiles' chain so + they will be updated if possible, giving their `struct dep's' + `changed' members the value of 0 so we won't care if they cannot be + found or remade. + + * make.texinfo (Makefiles: Remaking Makefiles): Documented that + default makefiles will be remade if not found. + + * read.c (read_all_makefiles): If no default makefiles can be found, + go through the list of default names, trying to make one, stopping + if one is made. + + * remake.c (remake_file): Set STATUS to 0 after successfully touching. + + * dir.c (file_impossible, file_impossible_p): Don't clobber FILENAME + to "" and then try to to a strcmp on it!!! + +Mon Oct 10 16:09:18 1988 Roland McGrath (mcgrath at cinnamon.Berkeley.EDU) + + * make.c (main): Don't do `dir_load (".")'. + + * rule.c (count_implicit_rule_limits), vpath.c + (construct_vpath_list): Test the existence of a given directory by + `dir_file_exists_p (DIR, ".")' and assume that if this returns zero, + it means the directory really does not exist. + + * dir.c (struct dirdata): Replaced with `struct directory' for + directories, each containing a chain of `struct dirfiles', one for + each file (real or impossible). + (dir_load): Removed. + (find_directory): New function to find the `struct directory' for a + named directory and return it (possibly creating a new one). + (dir_file_exists_p): Read the directory on the fly if its stream is + still valid (and ever was) if the file we're looking for is not + already in the hash tables. + (file_impossible, file_impossible_p, dir_name, print_dir_data_base): + Use the new directory/file scheme. + + * make.texinfo: Miscellaneous editorial changes and clarifiactions. + + * commands.c (struct child): Remove `environ' member. + (child_handler, start_job, execute_file_commands): Remove use of + `environ' member and new_environ. + + * make.c (main): Call new_environ after reading makefiles. + + * variable.h: Declare `new_environ' to return void. + + * variable.c (new_environ): Put the environment in `environ' and + return void. + +Fri Oct 7 15:48:39 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU) + + * Version 3.12. + + * Makefile: Don't make the uncompressed tar file. + + * variable.c (expand_function: `shell' function): Made it not expect + read to null-terminate the buffer. + + * Makefile: Made it use a temporary symlink to . rather than a + temporary directory to make the distribution tar file. + +Thu Oct 6 17:52:35 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.11. + + * make.texinfo: Fixed a line that got garbaged somehow. + +Mon Oct 3 16:14:39 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * make.c (main): Try to move back to the directory we started in + before re-exec ourself. + + * remake.c (update_file_1): A double-colon target with no deps + always needs to be remade. + + * remake.c (remake_file): Changed "No way to make" message to say + `target' rather than `file'. + +Sun Oct 2 12:50:47 1988 Roland McGrath (mcgrath at catnip.Berkeley.EDU) + + * remake.c (update_file_1): Set FILE->update_status to the return + value of remake_file. + + * rule.c (convert_to_pattern): Fixed swapped lengths passed to + xmalloc for source/target suffixes. + + * make.texinfo: Documented that MAKEFLAGS and MFLAGS are read in + from makefiles. Updated the `Features' section a bit. + + * make.c (main): Read switches from MAKEFLAGS and MFLAGS variables + after reading in makefiles. + + * make.c (main): Put a line "/tmp/foo:;" rather than ".PHONY: + /tmp/foo" in front of temp files made for stdin makefiles. + + * remake.c (update_file): Test the state of the right `struct file' + for double-colon files. + + * make.c (main): Put a ".PHONY: /tmp/foo" line in front of temp + files made for stdin makefiles so they won't be remade when we + re-exec. Kludge-o-matic!! + + * remake.c (update_goal_chain): Judge files as being finished based + on their `updated' flag, not their state. + + * read.c (read_makefile): Don't check for FILENAME being "-". + (read_all_makefiles): Set each element of MAKEFILES to the name put + in READ_MAKEFILES by read_makefile, since read_makefile may free the + storage for the name it is passed, and someone might want to look at + the elements of MAKEFILES again. + + * make.c (main): For each `-f' flag with arg `-' (standard input), + read standard input into a temp file and pass the temp file's name + to read_all_makefiles, after making sure it will not be remade. + + * make.c (construct_makeflags): Always put out `-j1'. + +Sat Oct 1 00:19:59 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * commands.c (execute_file_commands): If commands are nothing but + whitespace, set the state to `cs_finished' before returning 0. + + * make.c (decode_switches): Allocate space for args in stringlists + so they can be freed later. + + * make.h: Declare `makelevel'. + + * variable.c (makelevel): Moved to make.c (and made global). + + * make.c (fatal, error): Print the makelevel if it's > 0. + (perror_with_name): Use error rather than calling fprintf directly. + (pfatal_with_name): Use fatal rather than fprintf and die. + + * variable.c (new_environ): Don't put default variables (origin + `o_default') into the environment; they just take up space. + + * read.c (read_makefile): Don't add FILENAME to the chain of read + makefiles if it's "-" (standard input). + + * remake.c (update_goal_chain): Set STATUS correctly when nothing + happens (as well as in all other situations). + + * make.c (construct_makeflags): Put a `-' before each switch and + spaces between them. + + * Version 3.10. + + * commands.c (wait_for_children): Don't check if `children' is nil. + This is the case when waiting for the child of a `shell' function. + + * dir.c (dir_load): Don't add a hash-table entry for directory + DIRNAME and filename "" if DIRNAME doesn't exist. + + * commands.c (execute_file_commands): Return 0 after start_job + returns 1 (failure) under the -n flag. + + * remake.c (remake_file): Set the state to `cs_finished' when not + calling execute_file_commands. + + * remake.c (update_goal_chain): Second arg is now MAKEFILES, nonzero + meaning to disable -t, -q, and -n for each target unless the target + was also given on the command-line. + + * read.c (read_makefile): Enter the `struct file's for the makefiles + added to the `read_makefiles' `struct dep' chain. + + * remake.c (update_goal_chain): Made it not enter the files for the + goals in the chain. It will already have been done. + + * rule.c (convert_to_pattern): Null-terminate the names of targets + and deps of the pattern rules properly. + +Fri Sep 30 18:56:20 1988 Roland McGrath (mcgrath at nutmeg.Berkeley.EDU) + + * make.c (main): Call install_default_pattern_rules. + + * make.h: Declare copy_dep_chain. + + * read.c (copy_dep_chain): Moved to make.c (and made global). + + * make.c (main): Call update_goal_chain to update goals. + Update read makefiles and re-exec self if they change. + + * remake.c (update_file): Make this function static. + (update_goal_chain): New function to update a `struct dep' chain of + goals, waiting until they are all finished before returning. + + * make.h: Don't declare update_file. Declare update_goal_chain. + + * make.c (main): Call snap_deps, etc. that were in read_all_makefiles. + + * read.c (find_makefile): Removed this function. + (read_all_makefiles): Don't update makefiles, don't diddle with + pattern rules, don't call snap_deps, etc. Return a `struct dep' + chain of all makefiles read. + (read_makefile): Now takes two args: FILENAME and TYPE, which is 0 + for a normal makefile, 1 for MAKEFILES variable or 2 for an included + makefile. Add a `struct dep' containing the name of the makefile + (as it was found in the search path for type 2s), and TYPE in the + `changed' member to the global `read_makefiles' chain. + + * make.h, rule.c (displace_pattern_rules, + add_displaced_pattern_rules): Removed these functions. + + * read.c (read_makefile): Variable-expand the name of an `include'd + makefile before calling find_makefile on it. + + * file.c (snap_deps): If the `struct file' for a `struct dep' + already exists, free the `struct dep's `name' member before setting + it to nil (since this info is in the `struct file'). + + * read.c (copy_dep_chain): Made it copy each name rather than + leaving multiple `struct dep's with the same pointers. + +Thu Sep 29 19:08:13 1988 Roland McGrath (mcgrath at catnip.Berkeley.EDU) + + * make.c (decode_switches): Fixed second decode_env_switches call to + use correct length of "MFLAGS" (6, not 5). + + * read.c (read_makefile): Don't stop reading when readline returns + zero lines read. Only stop when the stream reaches EOF. This makes + it recognize the last line of a makefile without a newline. + + * remake.c (remake_file): If we don't know how to make FILE, set its + command state to `cs_finished'. + + * remake.c (update_file): Don't write the "up to date" message if + update_file_1 returned a nonzero status. + +Wed Sep 28 16:30:07 1988 Roland McGrath (mcgrath at catnip.Berkeley.EDU) + + * commands.c (child_handler): Set the `update_status' member + properly for ignored errors. + + * rule.c (convert_to_pattern): Made it not care about if the target + suffix comes before the source suffix in the .SUFFIXES list. + + * make.texinfo: Misc editorial changes. + + * commands.c (wait_for_children): Return immediately if `children' + is nil (there are no children). + +Tue Sep 27 15:33:14 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU) + + * Version 3.09. + + * commands.c (struct child): New member `command_ptr' to hold the + current position in the commands. The `commands' member is never + changed. + (start_job, child_handler, execute_file_commands): Use new method + for `commands' and `command_ptr' members. + + * make.c (decode_env_switches): Skip past an invalid letter (instead + of looping forever). + + * commands.c (struct child): Add `environ' member to hold the + environment for this child. + (execute_file_commands): Get a new environment from new_environ and + put in the the new `struct child's `environ' member. + (child_handler): When freeing a child, free its `commands' member, the + elements of its `environ' array and its `environ' member itself. + (start_job): Set `environ' to the child's `environ' member before + exec'ing the command. + + * variable.h, variable.c (new_environ): Made it return the new + environment, not putting it in `environ'. + + * remake.c (update_file): Don't give a "is up to date" message + unless no files were remade and the state went from `cs_not_started' + to `cs_finished', so repeat calls to finish jobs won't get the message. + +Mon Sep 26 16:26:08 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU) + + * Version 3.08. + + * make.texinfo (Commands: Execution): Documented that children will + be waited for rather than killed. + + * commands.c (fatal_error_signal): Wait for children. + (kill_children): Removed this function. + + * make.c (main, die): Wait for children to die, don't kill them. + + * variable.c (expand_function): Use wait_for_children. + + * make.c (main): Use wait_for_children rather than child_handler. + + * commands.c (wait_for_children): New function to block waiting for + children, insuring that child_handler is not called recursively. + (execute_file_commands, kill_children): Use wait_for_children. + + * commands.c (child_handler): Start up additional commands in a + sequence after an ignored error. + + * remake.c (update_file): Don't print "`foo' is up to date" messages + when update_file_1 returns while commands are executing. + + * remake.c (update_file_1): Pass the file name to name_mtime, not + the bloody `struct file', dammit!! + + * commands.c (child_handler): Print out the "*** ..." error message + when not under -i. (I somehow forgot this.) + + * remake.c (update_file_1): Use name_mtime rather than file_mtime to + re-get the mtime of a file whose commands have finished. + + * make.c (command_switches, decode_switches, decode_env_switches): + Make all switches that take string args allow them right after the + switch letter. + + * commands.c (child_handler): Check for a child being the `shell' + function's command returning and set the global variable for + expand_function to check. + + * variable.c (expand_function): For the `shell' function, instead of + waiting for the child shell ourselves, let child_handler do it and + loop around waiting for something to happen. + + * make.c (print_version): Made the copyright year static, not dynamic. + + * make.h, make.c: Remove construct_argv function. + + * make.c (main): Say "no goal target" instead of "no target". + + * make.texinfo (Commands: Parallel): Don't send SIGKILL. + + * commands.c (kill_children): Don't send SIGKILL to children that + aren't killed by the first signal. + + * make.c (main), commands.c (kill_children): Decide between SIGCHLD + and SIGCLD based on whether or not SIGCHLD is defined, not on USG. + + * Makefile: Link make with $(LOADLIBES). + + * read.c (construct_include_path): Fixed another bad xrealloc call. + + * make.c (decode_switches): Fixed an xrealloc call with no first arg. + +Sat Sep 24 01:16:21 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * Version 3.07. + + * remake.c (update_file_1): If deps are running, set state to + `cs_deps_running' and return 0. If deps are done, run commands. + + * commands.c (child_handler): Made it delete non-precious targets + killed by fatal signals. + + * make.texinfo: Documented parallelism. + +Fri Sep 23 16:52:27 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU) + + * remake.c (update_file_1): Don't return if FILE's state is + `cs_deps_running'. In that case, we need to run through and check + the states of all our dependencies. + + * commands.c (execute_file_commands): Decrement `job_slots' after + starting a new job to run file commands. + + * commands.c (start_job): Made it set the state to `cs_running'. + + * make.c (main): Fixed usage of `g', `lastgoal', and `goals' in the + goal-making loop. + + * commands.c (child_handler): When commands finish, set the + corresponding file's `update_status' and `updated' flags as + appropriate, and reset the modtimes of the file and any `also_make' + files it has. + + * remake.c (remake_file): Don't re-set `last_mtime' and set `updated'. + + * commands.c (fatal_error_signal): Don't swallow all the children + with a loop around `wait ((union wait *) 0)'!!! + + * make.c (struct command_switch): Added `positive_int' type. + (switches): Added -j (job_slots). + (construct_makeflags, decode_switches, decode_env_switches): + Handle`positive_int'-type switches. + + * glob.c (glob_vector): Rename local variable `vector' to `VeCtOr'. + This is said to avoid a conflict with some system's global `vector' + variable. + + * variable.c (expand_function): Made the `shell' function use + construct_command_argv and do its own child control and piping. + + * make.c (main): Turn standard input into a broken pipe after + reading in all makefiles (the last time it will be needed). + + * commands.c (struct child): Remove `pipe_fd' member. We don't use + pipes any more. + (start_job): Return 0 for success, 1 or failure (rather than void). + Don't use pipes. Don't turn the child's stdin into a broken pipe. + (child_handler): Print "*** Error" messages when necessary. + Die on failed commands when -k was not given. + (execute_file_commands): Check the return of start_job and remove + the child from the chain and return failure if it is nonzero. + + * make.c (die): New function to clean up and exit. + (fatal, pfatal_with_name): Use die. + +Thu Sep 22 14:27:11 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU) + + * commands.c (struct child): Added `commands', `pipe_fd', and + `noerror' members to keep track of info about a command thread. + (start_job): New function to start a job and update the argument + `struct child' to reflect its status. + (execute_file_commands): Merged run_file_commands back in. + Made it use new start_job function. + + * rule.c (freerule): Don't free the `struct commands' of the + discarded rule. It may be used in more than one place. + + * commands.c (execute_command_line): Made it not try to delete the + possibly partly-made file. The child_handler function will do this. + (fatal_error_signal): Ditto + call kill_children. + + * make.h: Declare job_slots. + + * make.c (main): Collect goals in a dep chain and run through this + chain waiting for a child, eliminating finished goals, updating all + remaining goals, and quitting if they fail and not -k. + + * commands.c (child_handler): If called with SIG < 0, - SIG is the + max number of children to bury. + + * commands.c (child_handler): If called with SIG as zero, + block waiting for running children. + (kill_children): Call child_handler with zero rather than SIGCHLD. + + * remake.c (update_file_1): Use the `command_state' member of FILE + and its dependencies to determine what commands are running, what to + do, etc. If commands or dep commands are running when we are + called, return success (0). If commands finished since the last + time we were called, return their status. + + * commands.h: Declare kill_children. + + * commands.c: Define `struct child' to keep track of child + processes, with the chain in `children'. + (child_handler): New function to catch child-termination signals + (SIGCHLD, or SIGCLD for USG), store the returned status in the + appropriate structure, take the now-obsolete `struct child' out of + the chain, and free its storage. + (execute_file_commands): Put all of the stuff invloving running the + commands into new function run_file_commands. Execute_file_commands + now does process management for the commands, while + run_file_commands (which is run in a subprocess) runs the commands. + (kill_children): New function to kill all running children by + sending them signal SIG. If there are any children still living + after they are all sent SIG, they are all sent SIGKILL. + + * make.c (main): Catch SIGCHLD (SIGCLD for USG) with child_handler. + + * commands.h: Declare child_handler function. + + * commands.c (execute_file_commands): Check the `command_state' + member of FILE and return 0 if it is `cs_running' or + `cs_deps_running' and return the stored status if it is `cs_finished'. + + * file.h (struct file): Added `command_state' member. + + * commands.c (execute_command_line): Add `$' to the list of + characters special to the shell. + +Wed Sep 21 15:57:41 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU) + + * read.c (read_all_makefiles): Call convert_to_pattern before + recomputing the limits after adding the displaced rules. + + * make.c (main): Move calls to snap_deps, convert_to_pattern, and + build_vpath_lists to read_all_makefiles. + + * read.c (read_all_makefiles): Install the default pattern rules + before checking to remake the makefiles, displace these rules before + reading in the makefiles, and then add the displaced rules to the + chain after reading in all the makefiles. + + * make.c (main): Don't call install_default_pattern_rules or + count_implicit_rule_limits. + + * make.h: Declare displace_pattern_rules and + add_displaced_pattern_rules. + + * rule.c (displace_pattern_rules, add_displaced_pattern_rules): New + functions to stow the chain and add the stowed chain on the end of + the current chain. + + * make.texinfo (Implicit: Search Algorithm): Fixed PREV reference. + + * make.c (main): Call construct_include_path right after decoding + the switches. + + * read.c (find_makefile): Use rename_file. + + * file.h: Declare rename_file. + + * file.c (rename_file): New function to rename a `struct file' and + put it in the correct hash bucket. + + * read.c (find_makefile): New function to find and update a makefile. + (read_all_makefilese): Use find_makefile. + (read_makefile): Don't do updating. Removed UPDATEIT arg. + + * remake.c (update_file_1): Took out setting the `updated' member to + -1 rather than 1 sometimes. + + * make.c (main): Made it print version info before doing anything else. + + * remake.c (library_file_mtime, f_mtime): Removed use of last two + arguments to vpath_search. + + * rule.c (pattern_search): Removed use of last two arguments + to vpath_search. + + * vpath.c (vpath_search, selective_vpath_search): Removed unused + DIRPREFIX and DPLEN args. + + * read.c (read_makefile): Also turn off -n when updating makefiles. + +Tue Sep 20 17:01:10 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU) + + * Makefile: Put tags files in the tarfile. + + * read.c (read_makefile): Get the modtime of the makefile via a stat + call so that a later file_mtime call won't do VPATH search for it. + + * read.c (read_makefile): Don't turn off -t and -q if the makefile + was a command-line target. + + * make.c (main): Enter command-line targets as files and set their + `cmd_target' members. + + * file.h (struct file): Added `cmd_target' member. + + * read.c (read_makefile): Temporarily turn off -t and -q while + updating makefiles. + + * make.c (main): Don't use arg 0 from other_args (which is now + argv[0]; i.e., the program's name). + + * read.c (read_makefile): Only return nonzero if commands were + actually run to remake the makefile. + + * remake.c (update_file_1): Set FILE->updated to -1 if no commands + were actually run (because no update was done or -t was given). + + * make.c (decode_switches): Fixed bug wherein xrealloc was passed + bad args if it tried to expand other_args->list. + + * read.c (read_all_makefiles): Made it not look at the `MAKE' + variable, just use argv[0]. + +Sun Sep 18 17:34:11 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU) + + * read.c (rerun_make): New function to re-exec make. + + * make.c (construct_makeflags, construct_argv): New functions to + construct the `MAKEFLAGS' variable and to construct an arg list from + parsed info. + + * read.c (read_makefile): New arg UPDATEIT, if nonzero, says to + update the makefile as a target before reading it in. When reading + included makefiles, pass this as zero. Now returns nonzero if the + makefile was updated, zero if not. + (read_all_makefiles): Pass a nonzero UPDATEIT arg to read_makefile + for all default and -f makefiles and all makefiles from the + `MAKEFILES' variable. If any of the makefiles has changed, re-exec + self to re-read them. + + * remake.c (update_file): Print a "File `foo' up to date'" message + under -p. + + * commands.c (execute_file_commands): Allocate one byte for each of + $^ and $< rather than zero if they are to be empty. + +Fri Sep 16 13:59:59 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * Version 3.06. + + * make.c (command_switches): Fixed entry for `-o' switch. + + * make.texinfo: Renamed -c switch to -C. + + * make.c: Renamed -c switch to -C. + + * Miscellaneous de-linting. + + * read.c (record_files): Made it not free the storage for the name + if it started with `./' and was therefore not quite the same as in + the `struct file'. + + * read.c (record_files): If commands were specified twice, the error + message specifies in what files and at what line numbers. + + * make.c (main): If any of the signals we usually fatal on were + ignored by the parent (probably a shell), ignore them. + + * make.c (main): Print version info for -v, -p, or -d. + (print_data_base): Don't print version info. It will be done in main. + + * variable.c: Increased number of hash buckets to 257. + + * file.c: Increased number of hash buckets to 1007. + + * rule.c (count_implicit_rule_limits): Moved comptation of + `maxsuffix' to convert_to_pattern, since that function uses + `maxsuffix', and must be called before count_implicit_rule_limits. + + * rule.c (pattern_search): If an existent (non-intermediate) + dependendency was found via a terminal rule, set its + `tried_implicit' flag, so it will never have implicit rule search done. + + * glob.c: Bug fix to avoid alloca(0). + + * arscan.c: USG and Sun386i fixes. + +Thu Sep 15 19:40:26 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU) + + * make.texinfo: Fixed some typos and spelling errors. + +Wed Sep 7 14:20:39 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU) + + * make.c (decode_switches): Fixed bug wherein a bad option would + give a useless error message and loop forever. + +Tue Sep 6 14:36:02 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * make.texinfo: Documented `shell' function. + + * variable.c (expand_function): New function `shell', does + backquote-style command expansion of its arg. + + * commands.c (execute_command_line): Second arg OUTBUF, if not nil, + gets filled in with a malloc'd buffer containing the piped stdout of + the command. + (execute_file_commands): Use above (pass nil). + +Mon Sep 5 17:03:49 1988 Roland McGrath (mcgrath at hecuba.Berkeley.EDU) + + * Makefile: Added copyright notice. + Added a comment about defining `NO_MINUS_C_MINUS_O' if necessary. + + * Version 3.05. + + * rule.c (default_suffix_rules): Don't pass `-o' switches with `-c' + switches if `NO_MINUS_C_MINUS_O' is #define'd. + + * make.texinfo: Documented `GNUmakefile'. + + * read.c (read_all_makefiles): Made it try default makefile + `GNUmakefile' before others. + + * make.texinfo: Added new-style Texinfo header thingies. + +Sat Sep 3 18:09:39 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * Version 3.04. + + * make.texinfo (Chained Rules): Added a @cindex about using + .PRECIOUS to preserve intermediate files. + + * remake.c (update_file_1): Made it not just return before executing + commands under -p. + + * rule.c (default_pattern_rules, default_variables): Made it use + `$(AR)' for `ar r' (to put files in archives). + + * vpath.c (build_vpath_lists): Made it recursively expand the + `VPATH' variable (by using variable_expand instead of lookup_variable). + + * read.c (conditional_line): Made it not swallow whitespace after + the comma in an `ifeq' using the `(a,b)' syntax. + + * rule.c (count_implicit_rule_limits): Made it not crash if a + pattern rule dep begins with `/'. + +Sun Aug 28 15:51:12 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU) + + * make.texinfo: Clarified that the arg to the `origin' function is a + variable *name*, not a reference. + + * make.texinfo: Clarified that both -Idir and -I dir are allowed. + +Sat Aug 27 13:49:28 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * remake.c (remake_file): Made touching phonies work right. + +Wed Aug 24 20:40:48 1988 Roland McGrath (mcgrath at nutmeg.Berkeley.EDU) + + * make.texinfo: Removed reference to `RANLIB' variable. + + * Version 3.03. + + * variables.c (expand_function): Added `origin' function. + * make.texinfo: Documented same. + + * read.c (record_files): Made double-colon entries work. + +Sat Aug 20 21:09:39 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * make.c (collapse_continuations): Bug fix from RMS. + + * rule.c (install_default_pattern_rules): Made it set the + `in_use' flag of the created rules to zero, rather than letting + it be random garbage. + + * rule.c (pattern_search): Fixed putting `also make' targets into + file strucutres. + + * read.c (record_files): Fixed bug which made double-colon entries + make it read off into space. + + * make.c (decode_switches): Made it understand `ignored' switches + rather than dumping core. + +Sun Aug 14 16:49:00 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * read.c (read_makefile): Made `include' filenames be + variable-expanded. + + * read.c (read_makefile): Fixed an error message. + + * read.c (read_makefile): Made it accept ^L's as whitespace. + * make.c (next_token, end_of_token): Ditto. + + * vpath.c (vpath_search): Fixed it so that the general VPATH (from + the variable) is always checked, even if a selective VPATH (from a + directive) matched the filename. + +Sat Aug 13 14:20:46 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * make.c (decode_switches, main): Made the command switches be + processed from a table of switches, variables, and types. No + functions are passed argc and argv any more. They are passed arrays + of strings they need to process. + * read.c (read_all_makefiles): Made it take an array rather than + argc and argv. + (construct_include_path): Ditto. + + * make.c (collapse_continuations): Made it work right (I hope). + + * make.texinfo: Minor editorial changes. + + * read.c (read_makefile): Minor speed improvement by freeing and + then mallocing something rather than reallocing it to avoid the + unnecessary bcopy. + +Thu Aug 11 00:10:43 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * make.texinfo: Fixed some unquoted @'s. + + * make.texinfo: Documented multiple-target pattern rules. + Miscellaneous minor editorial changes and corrections. + + * make.texinfo (Implicit: Catalogue of Rules): Removed the list of + variables. That's what the next section is for. + (Implicit: Implicit Variables): Made it agree with reality. + +Wed Aug 10 00:55:39 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * variable.c (print_variable_data_base): Fixed bug which made -p + dump core. (This was a really idiotic bug.) + + * rule.c (pattern_search): Fixed a bug which made it make the + `also_make' member of the file in question nil if the first of + the successful rule's targets was the matching one. + Made it use only as much storage as necessary in the `also_make' + member. + (create_pattern): Made it use only as much storage as necessary in + the `lens' and `suffixes' members of the created rule. + + * remake.c (library_file_mtime): Made it `static'. + + * file.c: Added a declaration for `errno', which is declared in some + 's, but not all. + + * file.h (struct file): Added `also_make' member for multiple-target + implicit rules. + * rule.c (pattern_search): Made it put the names of files updated by + the given file's commands in its `also_make' member. + * remake.c (update_file_1): Made it mark the files in a file's + `also_make' member as updated when the file is updated. + + * variable.c (try_variable_definition): Fixed a bug which made it + define a variable with the name of the whole definition when there + was no space before the = or :=. + + * make.texinfo (Features): Made the changes which were made in RCS + revision 2.7 but somehow lost since then. Added -W. + +Tue Aug 9 10:04:50 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * variable.h: Added `o_default' to `enum variable_origin'. + * variable.c (print_variable_data_base): Made it print the origins of + the variables. + * rule.c (install_default_pattern_rules): Made it define the default + variables with origin `o_default'. + + * make.texinfo: Documented -W. + + * make.c (decode_switches, main): Added the -W flag to give files a + time-stamp of now, for a `what if' effect when used with -n. + + * commands.c (print_commands): Made it say `(built-in)' for commands + that are built into the default ruleset. + + * read.c (record_file): Made .SUFFIXES get its deps frontwards (again). + * rule.c (set_default_suffixes, convert_to_pattern): Made it read + .SUFFIXES's deps frontwards, so the converted rules will not be in + reverse order. + + * rule.c (new_pattern_rule): Fixed a bug wherein it would keep + searching after it had removed a matching rule and ended up diddling + with freed storage. + + * rule.c (freerule): Made it take the given rule off the chain. + (new_pattern_rule, count_implicit_rule_limits): Use freerule to + remove rules from the chain. + + * vpath.c (construct_vpath_list): Made it return after cleaning out + all previous searchpaths when given a nil DIRPATH arg, so it won't + go into the construction code and dump core dereferencing a nil + pointer. + + * variable.c (patsubst_expand): Fixed a bug which made it not match + correctly and sometimes dump core. + +Mon Aug 8 16:35:48 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * rule.c (default_suffix_rules): Made the .texinfo.dvi rule remove + the files used in the comparison to determine whether or not a + second TeX run is necessary. + + * make.texinfo: Fixed some overfull TeX hboxes. + + * make.texinfo (Implicit: Catalogue of Rules): Fixed a Texinfo error. + + * rule.c (create_pattern_rule): Fixed bug wherein index was not + being passed its second arg. + + * read.c (getline): Merged back into readline. + + * rule.c (default_suffixes, default_suffix_rules, + default_variables): Added .texinfo.info rule. + * make.texinfo (Implicit: Catalogue of Rules): Documented + .texinfo.dvi and .texinfo.info rules. + + * make.texinfo (Top): Changed `last updated' date to be correct (for + the last time it was updated, not today). Changed `for version + 3.00' since it's not going to be called that. + +Sat Aug 6 19:51:10 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * commands.c (print_commands): Added this function to print the + contents of a `struct commands' for -p. + * rule.c (print_rule_data_base): Use above. + * file.c (print_file_data_base): Ditto. + + * rule.c (count_implicit_rule_limits, new_pattern_rule, + install_pattern_rule, print_rule_data_base): Made it understand the + changed `struct rule' and act accordingly. + (freerule): Added this function to free all the storage used by a rule. + + * rule.c (pattern_search): Made it grok multiple targets of pattern + rules. The matching is done properly, but at present, only the + matching pattern's target is used to give deps and commands. + +Fri Aug 5 18:00:29 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * rule.c (struct rule): Changed name, namelen, and patsuffix members + to targets, lens, and suffixes, which are arrays, for multiple targets. + (create_pattern_rule): Now takes first arg TARGETS, a nil-terminated + array of targets, rather than a single target and patsuffix pointer. + + * read.c (record_files): If it finds an implicit pattern rule, it + collects all the targets into an array and passes the whole thing to + create_pattern_rule. If there are non-pattern targets, it is a + fatal error. + +Tue Aug 2 15:06:38 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * make.c (readline): Split backslash-newline checking from reading + and buffer-expanding. + (getline): Created to do the reading and buffer-expanding formerly + done in readline. + + * rule.c (pattern_search): Made it reject nonterminal match-anything + rules when a specific rule has matched, rather than rejecting + terminal match-anything rules in this case. + + * rule.c (convert_to_pattern): Fixed a bug caused when the change to + make it only recognize two-suffix rules whose target suffixes + precede their dependency suffixes which made it work in the opposite + direction (even worse than it started out). + + * rule.c (pattern_search): Made it reject nonterminal match-anything + rules as intermediate targets when searching for both real and + intermediate dependencies, rather than only when searching for + intermediate ones. + +Sun Jul 31 00:33:56 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * rule.c (convert_to_pattern): Made it only recognize two-suffix + rules whose target suffix comes before the dependency suffix in the + .SUFFIXES list. + + * variable.c (define_automatic_variables): Made all automatic + variables be defined with origin `o_automatic'. + + * variable.h: Added `o_automatic' to `enum variable_origin' + + * file.c (remove_intermediates): Made it not print an error message + if the error was that the file does not exist. + + * rule.c: Removed `recursive' member from `struct rule'. + + * remake.c (library_file_mtime): Made it not use the directory hash + functions, as reading in and hashing /usr/lib and /lib is slow and + most likely unnecessary. + + * remake.c (remake_file): Changed message from ``No specification + for making'' to ``No way to make'' so it will be short enough that + most filenames will fit on a line. + Made it look at the `recursive' member of the `struct commands', + rather than of the `struct file' (which no longer has one). + + * commands.c (execute_file_commands): Made it look at the + `recursive' member of the `struct commands', rather than of the + `struct file' (which no longer has one). + + * file.h: Removed `recursive' member from `struct file'. + + * commands.h: Added `recursive' member to `struct commands'. + + * dep.h: Removed unused `quotedparen' member from `struct nameseq' + and `struct dep'. + + * read.c (dequote): Removed this function. + (multi_glob): Removed reference to `quotedparen' member of + a `struct nameseq' and calls to dequote. + + * read.c (record_files): Made it set the stem for $* for all static + pattern rules, not just those with commands given at that time. + Removed check for recursive commands. + Made it check for pairs of .SUFFIXES dependencies to reject as + default goals as well as single ones (that don't start with dots). + (read_makefile): Added checks for recursive commands to set + the `recursive' flag in the `struct commands'. + +Sat Jul 30 15:47:23 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * make.c (find_next_token): Made the LENGTHPTR arg optionally nil. + + * make.c: Removed `files_made' variable which is defined static in + remake.c and used only there. + (main): Cleaned up somewhat. + (decode_switches): Cleaned up a bit. Made an unknown option be a + non-fatal error. + (decode_env_switches): Made LEN arg unsigned. Cleaned up. + (print_version): Made it say ``see the source'' rather than ``see + the source file'', since there is more than one. + + * file.h: Made `num_intermediates' declared unsigned. + + * file.c: Made `num_intermediates' variable unsigned. + (remove_intermediates): Removed unused FORMAT arg. + (enter_file): Made it handle double-colon files properly, adding the + new entry as the old entry's prev pointer. + + * dir.c: Re-indented the `struct dir' definition to be right. + (dir_load): Cleaned up slighty. + (file_exists_p): Removed comment saying we could use `access', since + that is a bad idea (except for setuid programs). Cleaned up slightly. + + * commands.c: Changed some comments slightly. + (execute_file_commands): Cleaned up a bit. Changed some comments, + added others. Moved freeing of storage for $^ and $? to the same + place as for the other automatic variables. + (execute_command_line): Made `#' trigger a shell. + Added some comments. Cleaned up a bit. Put all the special chars + that trigger shells into an array easily changeable at the top. + + * ar.c: Added comments explaining each function. + (ar_scan_1): Merged into ar_member_date. + (ar_member_date): Changed call to ar_scan_1 to the body of that + function. + (ar_member_date_1): Simplified to a ?: expression rather than an + if-else statement. + (ar_member_touch): Changed error handling around a bit. + None of these errors are fatal now. + + * variable.c (subst_expand): Added a new arg BY_WORD, to do substs + only on full words. + (patsubst_expand): Fixed bug which made calls whose patterns + contained no `%' to not work correctly, by using above. + (variable_expand): Pass extra arg to `subst_expand'. + + * variable.c (expand_function): Fixed bug which made `foreach' calls + with one-word lists run off into never-never land. + +Fri Jul 29 20:12:36 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * variable.c (expand_function): Made a very minor speed improvement + by avoiding an unnecessary strlen call. + +Wed Jul 27 16:01:47 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * rule.c (default_suffixes): Rearranged the list somewhat; added + `.el' and `.elc' to speed things up (especially when building + Emacs), for the same reason `.h' is there. + + * read.c (record_files): Changed `lineno' from `long' to + `unsigned int'. + +Sun Jul 24 02:15:30 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * variable.c (expand_function): Eliminated use of `wstok' + because it is non-reentrant and unreliable. + Fixed a minor bug which would cause something not to be freed. + * make.c (wstok): Removed `wstok' because it is no longer used. + + * variable.c (expand_function): Made `foreach' function put + spaces between output texts like it's supposed to. + +Sat Jul 23 17:32:55 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * rule.c (default_suffixes, default_suffix_rules): Added rule + to make %.dvi from %.texinfo. + + * dir.c (print_dir_data_base): Made it say a bit more. + +Fri Jul 22 23:13:16 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * make.c (print_data_base): Split this function up into one + for each thing. + * variable.c (print_variable_data_base): One of the above. + * rule.c (print_rule_data_base): Ditto. + * file.c (print_file_data_base): Ditto. + * dir.c (print_dir_data_base): Ditto. + + * rule.c (install_pattern_rule): Fixed a bug which caused the + terminal and recursive flags to always be zero for rules + entered by this function. + + * make.texinfo (Rules: Double-colon): Added a paragraph + explaining the purpose of double-colon rules. + + * make.texinfo (Implicit: Catalogue of Rules): Updated to + reflect new C++, TeX, Web, and Texinfo rules. Other slight + editorial changes. + + * commands.c (execute_file_commands): Fixed a bug wherein + random memory could get written for files with no deps. + +Wed Jul 20 19:30:31 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * read.c (readline): Fix bug wherein it would not recognize a + backslash-newline if the buffer filled up and was enlarged + right before reading the newline. + +Tue Jul 19 19:55:02 1988 Roland McGrath (mcgrath at chilli.Berkeley.EDU) + + * read.c: Added default suffix rules for .cc (using $(C++), + which defaults to `g++', and $(C++FLAGS)), .tex, .dvi, .web + and .cweb (using $(TEX), $(WEAVE), $(TANGLE), $(CWEAVE) and + $(CTANGLE)). + +Sat Jul 16 21:24:28 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * Made error formats use %u rather than %ld for line numbers, + which are now unsigned int's rather than long's. + + * read.c (conditional_line): Fixed some bugs caused by use of + unsigned int rather than int in one place. + + * read.c (conditional_line): Put the info about active + conditionals in a struct. + (read_makefile): Make a new struct of info about conditionals + for included makefiles and restore the old one after the + included makefile has been read. + + * read.c (read_makefile): Don't try to read a makefile with + name "" after giving an error message because an `include' + directive gave no filename. + + * read.c (read_makefile): Give an error message for + non-whitespace text after the filename in an `include' directive. + + * make.c (error): Take five args, like `fatal'. It managed to + lose with only two. Is there a better way to do this without vfprintf? + + * read.c (read_makefile): Commands consisting of only + whitespace are not the same as no commands. I thought I'd + fixed this bug months ago; it seems to have come back. + + * make.c (collapse_continuations): All whitespace around a + backslash-newline combination is turned into a single space. + + * Added COPYING file and copyright notices to all files. + + * make.texinfo (Running: Goals): Fix a typo. + + * read.c (do_define): Take an arg for the origin of the + variable being defined. + (read_makefile): Grok `override define'. + + * make.texinfo (Variables: Override Directive, Defining): + Document the `override define' combination directive. + + * ar.c (ar_member_date): Make a 0 return from `ar_scan' return + (time_t) -1 (nonexistent file), rather than (time_t) 0, which, + when put in the `struct file', makes `file_mtime' try to get + the mtime over and over again. + + * variable.c (pattern_matches): Fix a bug that made patterns + not beginning with `%' never match. + +Fri Jul 15 21:01:44 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU) + + * Took Make out of RCS. + + * Split the monolithic `make.c' into several smaller files. diff --git a/src/mkutil/make/ChangeLog.2 b/src/mkutil/make/ChangeLog.2 index d30cfa42..363c1786 100644 --- a/src/mkutil/make/ChangeLog.2 +++ b/src/mkutil/make/ChangeLog.2 @@ -1,6648 +1,6648 @@ -2000-06-23 Paul D. Smith - - * main.c (main): Replace EXIT_SUCCESS, EXIT_FAILURE, and - EXIT_TROUBLE with MAKE_SUCCESS, MAKE_FAILURE, and MAKE_TROUBLE. - * make.h: Define these macros. - - * Version 3.79.1 released. - - * configure.in: Add a new option, --disable-nsec-timestamps, to - avoid using sub-second timestamps on systems that support it. It - can lead to problems, e.g. if your makefile relies on "cp -p". - * README.template: Document the issue with "cp -p". - - * config.guess, config.sub: Updated. - -2000-06-22 Paul D. Smith - - * job.c (start_job_command): Increment commands_started before the - special check for ":" (empty command) to avoid spurious "is up to - date" messages. Also move the test for question_flag after we - expand arguments, and only stop if the expansion provided an - actual command to run, not just whitespace. This fixes PR/1780. - -2000-06-21 Paul D. Smith - - * read.c (read_makefile): If we find a semicolon in the target - definition, remember where it was. If the line turns out to be a - target-specific variable, add back the semicolon and everything - after it. Fixes PR/1709. - -2000-06-19 Paul D. Smith - - * config.h-vms.template: #define uintmax_t for this system. - * config.ami.template: Ditto. - * config.h.W32.template: Ditto. - - * configure.in: We don't use select(2) anymore, so don't bother - checking for it. - * acconfig.h: Ditto. - * acinclude.m4: Ditto. - - * file.c (all_secondary): New static global; if 1 it means - .SECONDARY with no prerequisites was seen in the makefile. - (snap_deps): Set it appropriately. - (remove_intermediates): Check it. - (num_intermediates): Remove this global, it's not used anywhere. - (considered): Move this to remake.c and make it static. - - * NEWS: Document the change to .SECONDARY. - * make.texinfo (Special Targets): Document the change to .SECONDARY. - - * implicit.c (pattern_search): Remove the increment of - num_intermediates; it's not used. - * filedef.h: Remove num_intermediates and considered. - - * function.c (handle_function): If the last argument was empty, we - were pretending it didn't exist rather than providing an empty - value. Keep looking until we're past the end, not just at the end. - - * implicit.c (pattern_search): Multi-target implicit rules weren't - expanding the "also made" targets correctly if the pattern didn't - contain a slash but the target did; in that case the directory - part wasn't being added back to the stem on the "also made" - targets. Reported by Seth M LaForge , with - a patch. - -2000-06-17 Eli Zaretskii - - * Makefile.DOS.template (DESTDIR, bindir, datadir, libdir) - (infodir, mandir, includedir): Support installation under a - non-default DESTDIR. - - * remake.c (f_mtime): Fix the spelling of __MSDOS__. - - * configh.DOS.template (HAVE_FDOPEN, HAVE_MKSTEMP): Define. - -2000-06-14 Paul D. Smith - - * acinclude.m4 (pds_WITH_GETTEXT): rewrite fp_WITH_GETTEXT and - rename it to avoid confusion. This version is very specific: it - won't accept any gettext that isn't GNU. If the user doesn't - explicitly ask for the included gettext, we look to see if the - system gettext is GNU (testing both the actual libintl library, - and the libintl.h header file). Only if the system gettext is - really GNU gettext will we allow it to be used. - (pds_CHECK_SYSTEM_GETTEXT): A helper function. - -2000-06-13 Paul D. Smith - - * gettext.h: If we have libintl.h, use that instead of any of the - contents of gettext.h. We won't check for libintl.h unless we're - using the system gettext. - - * function.c (func_word): Clarify error message. - -2000-06-10 Paul Eggert - - Support nanosecond resolution on hosts with 64-bit time_t and - uintmax_t (e.g. 64-bit Sparc Solaris), by splitting - FILE_TIMESTAMP into a 30-bit part for nanoseconds, with the - rest for seconds, if FILE_TIMESTAMP is at least 64 bits wide. - - * make.h: Always define FILE_TIMESTAMP to be uintmax_t, for - simplicity. - - * filedef.h (FILE_TIMESTAMP_HI_RES, FILE_TIMESTAMP_LO_BITS) - (UNKNOWN_MTIME, NONEXISTENT_MTIME, OLD_MTIME) - (ORDINARY_MTIME_MIN, ORDINARY_MTIME_MAX): New macros. - (FILE_TIMESTAMP_STAT_MODTIME): Now takes fname arg. All uses changed. - (FILE_TIMESTAMP_DIV, FILE_TIMESTAMP_MOD) - (FILE_TIMESTAMP_FROM_S_AND_NS): Remove. - (FILE_TIMESTAMP_S, FILE_TIMESTAMP_NS): Use shifts instead of - multiplication and division. Offset the timestamps by - ORDINARY_MTIME_MIN. - (file_timestamp_cons): New decl. - (NEW_MTIME): Now just the maximal timestamp value, as we no longer use - -1 to refer to nonexistent files. - - * file.c (snap_deps, print_file): Use NONEXISTENT_MTIME, - UNKNOWN_MTIME, and OLD_MTIME instead of magic constants. - * filedef.h (file_mtime_1): Likewise. - * main.c (main): Likewise. - * remake.c (update_file_1, notice_finished_file, check_dep) - (f_mtime, name_mtime, library_search): Likewise. - * vpath.c (selective_vpath_search): Likewise. - - * remake.c (f_mtime): Do not assume that (time_t) -1 equals - NONEXISTENT_MTIME. When futzing with time stamps, adjust by - multiples of 2**30, not 10**9. Do not calculate timestamp - adjustments on DOS unless they are needed. - - * commands.c (delete_target): Do not assume that - FILE_TIMESTAMP_S yields -1 for a nonexistent file, as that is - no longer true with the new representation. - - * file.c (file_timestamp_cons): New function, replacing - FILE_TIMESTAMP_FROM_S_AND_NS. All uses changed. - (file_timestamp_now): Use FILE_TIMESTAMP_HI_RES instead of 1 < - FILE_TIMESTAMPS_PER_S to determine whether we're using hi-res - timestamps. - (print_file): Print OLD_MTIME values as "very old" instead of - as a timestamp. - -2000-05-31 Paul Eggert - - * remake.c (name_mtime): Check for stat failures. Retry if EINTR. - -2000-05-24 Paul D. Smith - - * main.c (decode_switches): The "positive_int" switch uses atoi() - which succeeds for any input, and doesn't notice if extra, - non-digit text is after the number. This causes make to mis-parse - command lines like "make -j 5foo" as "make -j5" (ignoring "foo" - completely) instead of "make -j0 5foo" (where "5foo" is a - target). Fix this by checking the value by hand. We could use - strtol() if we were sure of having it; this is the only - questionable use of atoi() I found so we'll just stick with that. - Fixes PR/1716. - - * i18n/ja.po, i18n/nl.po, i18n/pt_BR.po: New translation files. - * configure.in (ALL_LINGUAS): Added pt_BR. - -2000-05-22 Paul Eggert - - * remake.c (f_mtime): Fix bug when handling future odd - timestamps in the WINDOWS32 case. Do not bother initializing - static var to zero. Simplify code that works around WINDOWS32 - and __MSDOS__ time skew brain damage. - -2000-05-22 Paul Eggert - - * job.c: Don't include time.h, as make.h already does this. - -2000-05-22 Paul Eggert - - * configure.in (AC_CHECK_HEADERS): Add sys/time.h. - (AC_HEADER_TIME): Add. - (clock_gettime): Prefer -lrt to -lposix4, for Solaris 7. - (gettimeofday): Add check for standard version of gettimeofday. - This merges changes written by Paul D. Smith. - - * file.c (file_timestamp_now): Use gettimeofday if available - and if clock_gettime does not work. Don't bother with - high-resolution clocks if file timestamps have only one-second - resolution. - - * make.h : Include, conditionally on the usual - TIME_WITH_SYS_TIME and HAVE_SYS_TIME_H macros. This is needed - for gettimeofday. - -2000-05-20 Paul D. Smith - - * read.c (read_makefile): We weren't keeping makefile names around - unless there was a rule defined in them; but now we need to keep - them for variables as well. Forget trying to be fancy: just keep - every makefile name we successfully open. - - * remote-cstms.c (start_remote_job_p): Change DB_EXTRA (?) to DB_JOBS. - -2000-05-17 Paul Eggert - - * commands.c (chop_commands): Ensure ctype macro args are nonnegative. - * expand.c (variable_expand_string): Likewise. - * function.c (subst_expand, lookup_function, msdos_openpipe): - Likewise. - * job.c (vms_redirect, start_job_command, new_job, child_execute_job, - construct_command_argv_internal, construct_command_argv): Likewise. - * main.c (decode_env_switches, quote_for_env): Likewise. - * misc.c (collapse_continuations, end_of_token, end_of_token_w32, - next_token): Likewise. - * read.c (read_makefile, do_define, conditional_line, - find_char_unquote,get_next_mword): Likewise. - * variable.c (try_variable_definition): Likewise. - * vpath.c (construct_vpath_list): Likewise. - * w32/pathstuff.c (convert_vpath_to_windows32): Likewise. - -2000-05-10 Eli Zaretskii - - * main.c (main) [__MSDOS__]: Add SIGFPE to signals we block when - running child programs, to prevent Make from dying on Windows 9X - when the child triggers an FP exception. - -2000-05-08 Paul D. Smith - - * dir.c (find_directory) [WINDOWS32]: If we strip a trailing "\" - from the directory name, remember to add it back. The argument - might really be inside a longer string (e.g. %Path%) and if you - don't restore the "\" it'll be truncated permanently. Fixes PR/1722. - Reported by - -2000-05-02 Paul D. Smith - - * job.c (construct_command_argv_internal) [WINDOWS32]: Added "rd" - and "rmdir" to the list of command.com commands. - Reported by Elod Horvath - -2000-04-24 Paul D. Smith - - * i18n/ja.po: New translation file from the Japanese language team. - -2000-04-18 Paul D. Smith - - * remake.c (f_mtime): If ar_member_date() returns -1 (the member - doesn't exist), then return (FILE_TIMESTAMP)-1 rather than - returning the timestamp calculated from the value -1. Fixes PR/1696. - Reported by Gilles Bourhis . - -2000-04-17 Paul D. Smith - - * config.h.W32.template: Add LOCALEDIR macro resolving to "". - * w32/subproc/sub_proc.c (process_begin): Remove reference to - debug_flag; change it to a DB() call. Fixes PR/1700. - Reported by Jim Smith - -2000-04-17 Bruno Haible - - * arscan.c [BeOS]: Add replacement for nonexistent from GNU - binutils. - -2000-04-11 Paul D. Smith - - * function.c (expand_builtin_function): If no arguments were - provided, just quit early rather than changing each function to - test for this. - (function_table[]): Change the min # of arguments to 0 for all - those functions for which it makes sense (currently everything - that used to take a minimum of 1 argument, except $(call ...)). - Fixes PR/1689. - -2000-04-09 Eli Zaretskii - - * README.DOS: Add instructions to install a binary distro. - Mention latest versions of Windows. - -2000-04-07 Eli Zaretskii - - * main.c (main): Rename TMP_TEMPLATE into DEFAULT_TMPDIR, and use - it for the directory of the temporary file. If P_tmpdir is - defined, use it in preference to "/tmp/". Try $TMPDIR, $TEMP, and - $TMP in the environment before defaulting to DEFAULT_TMPDIR. - (print_version): Add year 2000 to the Copyright line. - -2000-04-04 Paul D. Smith - - * Version 3.79 released. - - * make.texinfo: Update documentation with new features for 3.79. - - * function.c (func_wordlist): Don't re-order arguments to - wordlist. - -2000-04-03 Paul D. Smith - - * remake.c (f_mtime): Archive member timestamps are stored as - time_t, without nanoseconds. But, f_mtime() wants to return - nanosecond info on those systems that support it. So, convert the - return value of ar_member_date() into a FILE_TIMESTAMP, using 0 as - the nanoseconds. - -2000-03-28 Paul D. Smith - - * Version 3.78.92 released. - - * build.template: Updates for gettext support; some bugs fixed. - -2000-03-27 Paul D. Smith - - * config.guess, config.sub: Updated from config CVS archive at - :pserver:anoncvs@subversions.gnu.org:/home/cvs as of today. - - * read.c (record_files): Check if expanding a static pattern - rule's prerequisite pattern leaves an empty string as the - prerequisite, and issue an error if so. Fixes PR/1670. - (read_makefile): Store the starting linenumber for a rule in - TGTS_STARTED. - (record_waiting_files): Use the TGTS_STARTED value for the file - location passed to record_file() instead of the current - linenumber, so error messages list the line where the target was - defined instead of the line after the end of the rule definition. - - * remake.c (start_updating, finish_updating, is_updating): Fix - PR/1671; circular dependencies in double-colon rules are not - diagnosed. These macros set the updating flag in the root - double-colon file instead of the current one, if it's part of a - double-colon list. This solution provided by Tim Magill - ; I just changed the macro names :). - (update_file_1): Call them. - (check_dep): Call them. - - The change to not automatically evaluate the $(call ...) - function's arguments breaks recursive use of call. Although using - $(if ...) and $(foreach ...) in $(call ...) macros is important, - the error conditions generated are simply to obscure for me to - feel comfortable with. If a method is devised to get both - working, we'll revisit. For now, remove this change. - - * function.c (function_table): Turn on the expand bit for func_call. - (func_call): Don't expand arguments for builtin functions; that - will have already been done. - -2000-03-26 Paul D. Smith - - * file.c (remove_intermediates): Never remove targets explicitly - requested on the command-line by checking the cmd_target flag. - Fixed PR/1669. - -2000-03-23 Paul Eggert - - * filedef.h (FILE_TIMESTAMP_STAT_MODTIME): Use st_mtime instead of - st_mtim.tv_sec; the latter doesn't work on Unixware. - -2000-03-18 Paul D. Smith - - * file.c (file_hash_enter): If we're trying to change a file into - itself, just return. We used to assert this wasn't true, but - someone came up with a weird case involving archives. After - playing with it for a while I decided it was OK to ignore it. - - * default.c: Define COFLAGS to empty to avoid spurious warnings. - - * filedef.h: Change #if ST_MTIM_NSEC to #ifdef; this is a macro - containing the name of the nsec field, not true/false. - * make.h: Ditto. - Reported by Marco Franzen . - -2000-03-08 Tim Magill - - * remake.c (update_file): Return the exit status of the pruned - file when pruning, not just 0. Fixes PR/1634. - -2000-02-24 Paul D. Smith - - * configure.in: Close a minor potential security hole; if you're - reading makefiles from stdin (who does that?) you could run into a - race condition with the temp file using mktemp() or tmpnam(). Add - a check for mkstemp() and fdopen(). - * main.c (open_tmpfile): New function to open a temporary file. - If we have mkstemp() (and fdopen()), use that. If not use - mktemp() or tmpnam(). If we have fdopen(), use open() to open the - file O_CREAT|O_EXCL. If not, fall back to normal fopen() (insecure). - (main): Call it. - * job.c (child_execute_job) [VMS]: Call it. - - * variable.c (lookup_variable): If we find a variable which is - being expanded, then note it but keep looking through the rest of - the set list to see if we can find one that isn't. If we do, - return that. If we don't, return the original. Fix for PR/1610. - - While implementing this I realized that it also solves PR/1380 in - a much more elegant way. I don't know what I was smoking before. - So, remove the hackage surrounding the original fix for that (see - below). Change this function back to lookup_variable and remove - the extra setlist argument. - * variable.h (recursively_expand_setlist): Remove the macro, - rename the prototype, and remove the extra setlist argument. - (lookup_variable): Ditto. - * expand.c (recursively_expand): Rename and remove the extra - setlist argument. - (reference_variable): Use lookup_variable() again. - (allocated_variable_append): Remove the extra setlist argument. - -2000-02-21 Paul D. Smith - - * README.template: A few updates. - - * i18n/de.po: New version from the German translation team. - -2000-02-09 Paul D. Smith - - * Version 3.78.91 released. - -2000-02-07 Paul D. Smith - - * read.c (read_makefile): Reset *p2 to ':', not *colonp. If any - filenames contained backslashes the resulting output (without - backslashes) will be shorter, so setting *colonp doesn't change - the right character. Fix for PR/1586. - - For += target-specific variables we need to remember which - variable set we found the variable in, so we can start looking - from there in the next iteration (otherwise we might see it again - in recursively_expand and fail!). This is turning into a hack; if - it gets any worse we'll have to rethink this entire algorithm... - implementing expansion of these references separately from the - "normal" expansion, say, instead of using the same codepath. - Actually, it's already "worse enough" :-/. - Fix for PR/1380. - - * variable.h (recursively_expand_setlist): Rename - recursively_expand to add a struct variable_set_list argument, and - make a macro for recursively_expand. - (lookup_variable_setlist): Rename lookup_variable to add a struct - variable_set_list argument, and make a macro for lookup_variable. - - * expand.c (recursively_expand_setlist): Take an extra struct - variable_set_list argument and pass it to allocated_variable_append(). - (reference_variable): Use lookup_variable_setlist() and pass the - returned variable_set_list to recursively_expand_setlist. - (allocated_variable_append): Take an extra setlist argument and - use this as the starting place when searching for the appended - expansion. If it's null, use current_variable_set_list as before. - - * variable.c (lookup_variable_setlist): If the LISTP argument is - not nil, set it to the list containing the variable we found. - -2000-02-04 Paul D. Smith - - * variable.c (print_variable): Write out filename/linenumber - information for the variable definition if present. - (define_variable_in_set): Store filename information if provided. - (define_variable, define_variable_for_file): Removed. - (try_variable_definition): Use define_variable_loc() to keep - variable definition location information. - * read.c (read_makefile): Keep variable definition location info. - (do_define): Ditto. - (record_target_var): Ditto. - * variable.h (define_variable_in_set): New fileinfo argument. - (define_variable, define_variable_loc, define_variable_for_file): - Declare new macros. - - Fix PR/1407: - - * filedef.h (struct file): Rename patvar to pat_variables and make - it just a variable_set_list; we need our own copy of the pattern - variable's variable set list here to avoid overwriting the global - one. - * variable.c (initialize_file_variables): Move the instantiation - of the pat_variables pointer here. Only do the search after we're - done reading the makefiles so we don't search too early. If - there's a pat_variables value, set up the variables next ptr. - * expand.c (variable_expand_for_file): Remove the setup of the - pat_variables info; it's done earlier now to ensure the parent's - pattern variables are set up correctly as well. - -2000-02-03 Paul D. Smith - - * job.c (sh_chars_dos) [WINDOWS32]: Add "&" as a shell - metacharacter for the W32 DOS shell. - Reported by Warren Jones . - -2000-02-02 Paul D. Smith - - Fixes for the OpenVMS port from Hartmut Becker - - * config.h-vms [VMS]: Define LOCALEDIR to something; needed for - the expansion of bindtextdomain() even though it's a no-op. - * vmsfunctions.c (strcmpi): Remove duplicate definition of strcmpi(). - (readdir): Use DB() instead of testing debug_flag. - * dir.c (file_impossible) [VMS]: Search "p" not "name". - * job.c [VMS]: Switch from debug_flag to the new DB macro. Add - some i18n _() macros (even though VMS doesn't yet support it). - - * function.c (patsubst_expand): Change "len" to not be unsigned to - avoid type mismatches. - - * main.c (main): Declare signame_init() if we're going to call it. - -2000-01-29 Eli Zaretskii - - * Makefile.DOS.template: Track changes in Makefile.in - (install-recursive, uninstall-recursive): Add missing targets. - (DESTDIR): Define. - (install-binPROGRAMS, uninstall-binPROGRAMS): Use $(DESTDIR). - - * default.c (default_variables) [__MSDOS__]: Define CXX to gpp. - -2000-01-27 Paul D. Smith - - * gettext.c: Some warning cleanups, and a fix for systems which - don't define HAVE_ALLOCA (the workaround code was included - twice). - -2000-01-26 Paul D. Smith - - * Version 3.78.90 released. - -2000-01-25 Paul D. Smith - - Change gettext support to use the simplified version in libit 0.7. - - * getopt.c, make.h: Use gettext.h instead of libintl.h. - * ABOUT-NLS, gettext.h, gettext.c: New files from libit 0.7. - Modified to remove some static declarations which aren't defined. - * acconfig.h: Use new gettext #defines. - * acinclude.m4: Add fp_WITH_GETTEXT; remove AM_GNU_GETTEXT. - * configure.in: Call fp_WITH_GETTEXT instead. - * Makefile.am: New gettext stuff. Also force inclusion of glob - files for systems which have LIBC glob. - - * i18n/Makefile.am, i18n/.cvsignore: New dir for translation files. - * i18n/de.po, i18n/es.po, i18n/fr.po, i18n/ko.po, i18n/nl.po: - * i18n/pl.po, i18n/ru.po: Import translations already done for - earlier versions of GNU make. Thanks for that work!! - - * po/Makefile.in.in, po/POTFILES.in: Removed. - -2000-01-23 Paul D. Smith - - * main.c (decode_debug_flags): If debug_flag is set, enable all - debugging levels. - (debug_flag): Resurrect this flag variable. - (switches): Make -d give the old behavior of turning on all - debugging. Change --debug alone to emit basic debugging and take - optional arguments to expand debugging. - * NEWS: Document the new debugging options. - - * remake.c (no_rule_error): Remove this function. This tries to - fix a real problem--see the description with the introduction of - this function below. However, the cure is worse than the disease - and this approach won't work. - (remake_file): Put the code from no_rule_error back here. - (update_file_1): Remove call to no_rule_error. - - * filedef.h (struct file): Remove mfile_status field. - -2000-01-22 Paul D. Smith - - Integrate GNU gettext support. - - * configure.in: Add AM_GNU_GETTEXT. - * Makefile.am: Add options for setting LOCALEDIR, -Iintl, etc. - * acinclude.m4: Add gettext autoconf macros. - * acconfig.h: Add new gettext #defines. - * make.h: Include libintl.h. Make sure _() and N_() macros are - declared. Make gettext() an empty macro is NLS is disabled. - * main.c (struct command_switch switches[]): Can't initialize - static data with _() (gettext calls), so use N_() there then use - gettext() directly when printing the strings. - * remake.c (no_rule_error): The string constants can't be static - when initializing _() macros. - * file.c (print_file): Reformat a few strings to work better for - translation. - * po/POTFILES.in, po/Makefile.in.in: New files. Take - Makefile.in.in from the latest GNU tar distribution, as that - version works better than the one that comes with gettext. - * NEWS: Mention i18n ability. - -2000-01-21 Paul D. Smith - - Installed patches for the VMS port. - Patches provided by: Hartmut Becker - - * readme.vms, arscan.c, config.h-vms, default.c, dir.c, file.c: - * implicit.c, job.c, make.h, makefile.com, makefile.vms, rule.c: - * variable.c, vmsdir.h, vmsfunctions.c, vmsify.c, glob/glob.c: - * glob/glob.h: Installed patches. See readme.vms for details. - -2000-01-14 Andreas Schwab - - * dir.c (read_dirstream): Initialize d_type if it exists. - -2000-01-11 Paul D. Smith - - Resolve PR/xxxx: don't automatically evaluate the $(call ...) - function's arguments. While we're here, clean up argument passing - protocol to always use simple nul-terminated strings, instead of - sometimes using offset pointers to mark the end of arguments. - This change also fixes PR/1517. - Reported by Damien GIBOU . - - * function.c (struct function_table_entry): Remove the negative - required_args hack; put in explicit min and max # of arguments. - (function_table): Add in the max value. Turn off the expand bit - for func_call. - (expand_builtin_function): Test against minimum_args instead of - the obsolete required_args. - (handle_function): Rewrite this. We don't try to be fancy and - pass one style of arguments to expanded functions and another - style to non-expanded functions: pass pointers to nul-terminated - strings to all functions. - (func_call): Rewrite this. If we are invoking a builtin function - and it's supposed to have its arguments expanded, do that (since - it's not done by handle_function for $(call ...) anymore). For - non-builtins, just add the variables as before but mark them as - recursive so they'll be expanded later, as needed. - (func_if): All arguments are vanilla nul-terminated strings: - remove trickery with "argv[1]-1". - (func_foreach): Ditto. - - * expand.c (expand_argument): If the second arg is NULL, expand - the entire first argument. - - * job.c (new_job): Zero the child struct. This change was just - made to keep some heap checking software happy, not because there - was an actual bug (the important memory was being cleared properly). - -1999-12-15 Paul D. Smith - - * variable.c (print_variable): Print the variable with += if the - append flag is set. - - * implicit.c (pattern_search): Remove the extra check of the - implicit flag added on 8/24/1998. This causes problems and the - reason for the change was better resolved by the change made to - check_deps() on 1998-08-26. This fixes PR/1423. - -1999-12-08 Paul D. Smith - - * dir.c (dir_setup_glob): On 64 bit ReliantUNIX (5.44 and above) - in LFS mode, stat() is actually a macro for stat64(). Assignment - doesn't work in that case. So, stat is a macro, make a local - wrapper function to invoke it. - (local_stat): Wrapper function, if needed. - Reported by Andrej Borsenkow . - -1999-12-02 Paul D. Smith - - * remake.c (update_file): Move the considered test outside the - double-colon loop, _but_ make sure we test the double_colon target - not the "current" target. If we stop early because one - double-colon target is running, mark all the rest considered and - try to start their prerequisites (so they're marked considered). - Fix for PR/1476 suggested by Tim Magill . - -1999-11-22 Rob Tulloh - - * function.c (windows32_openpipe, func_shell): Correct Windows32 - problem where $(shell nosuchfile) would incorrectly exit make. The - fix is to print the error and let make continue. - Reported by David Masterson . - - * w32/subproc/misc.c (arr2envblk): Memory leak fix. - -1999-11-21 Paul D. Smith - - Rework GNU make debugging to provide different levels of output. - - * NEWS: mention it. - * debug.h: New file. Define various debugging levels and macros. - * function.c, implicit.c, job.c, main.c, misc.c, read.c, remake.c - * remote-cstms.c, vmsfunctions.c: Replace all code depending on - debug_flag with invocations of debugging macros. - * make.h: Remove debug_flag and DEBUGPR, add db_level. - -1999-11-18 Paul Eggert - - * acinclude.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a problem - with the QNX 4.25 shell, which doesn't propagate exit status of - failed commands inside shell assignments. - -1999-11-17 Paul D. Smith - - * function.c (func_if): Find the end of the arg list by testing - the next item for NULL; any other test is not correct. - Reported by Graham Reed (PR/1429). - - Fix += when used in a target-specific variable context. - - * variable.h: New bitfield APPEND set if we have a += - target-specific variable. - - * variable.c (try_variable_definition): Add an argument to specify - if we're trying a target-specific variable. If we are and it's an - append style, don't append it, record it as normal recursive, but - set the APPEND flag so it'll be expanded later. - * main.c (handle_non_switch_argument): Use new - try_variable_definition() signature. - * read.c (read_makefile,record_target_var): Ditto. - - * expand.c (allocated_variable_append): New function: like - allocated_variable_expand(), but we expand the same variable name - in the context of the ``next'' variable set, then we append this - expanded value. - (recursively_expand): Invoke it, if the APPEND bit is set. - -1999-11-10 Paul D. Smith - - * file.c (snap_deps): If the .NOTPARALLEL target is defined, turn - off parallel builds for this make only (still allow submakes to be - run in parallel). - * main.c: New variable, ``not_parallel''. - * make.h: Add an extern for it. - * job.c (new_job): Test NOT_PARALLEL as well as JOB_SLOTS. - * NEWS: Add info on .NOTPARALLEL. - * make.texinfo (Special Targets): Document it. - - * configure.in (GLOBDIR): Set to "glob" if we need to build the - glob library. - * Makefile.am (SUBDIRS): Use the GLOBDIR variable instead of - "glob" so we don't try to build glob if we don't need to (if we - have GLIBC glob). Reported by Lars Hecking . - - * main.c (main): Don't put "***" in the clock skew warning - message. Reported by karl@gnu.org. - - * make.h: Remove unneeded signal setup. - - * signame.c: Remove extraneous #includes; some versions of Ultrix - don't protect against multiple inclusions and it causes compile - errors. Reported by Simon Burge . - -1999-10-15 Paul D. Smith - - * main.c (quote_for_env): Rename from quote_as_word(). - - * make.h, *.c: Prefer strchr() and strrchr() in the code - rather than index() and rindex(). Define strchr/strrchr in terms - of index/rindex if the former aren't supported. - - * default.c (CHECKOUT,v): Replace the fancy, complicated - patsubst/filter expression with a simple $(if ...) expression. - - * main.c (print_usage): Add the bug reporting mailing address to - the --help output, as per the GNU coding standards. - Reported by Paul Eggert . - - * README.customs: Installed information on running Customs-ized - GNU make and setuid root, collected by Ted Stern . - - * read.c (read_all_makefiles): PR/1394: Mark the end of the next - token in the MAKEFILES value string _before_ we dup it. - -1999-10-13 Paul D. Smith - - * configure.in (make_cv_sys_gnu_glob): We used to add the -Iglob - flag to CPPFLAGS, but that loses if the user specifies his own - CPPFLAGS; this one gets added _after_ his and if he happens to - have an old or broken glob.h--boom. Instead, put it in GLOBINC - and SUBST it. - - * Makefile.am (INCLUDES): Add @GLOBINC@ to the INCLUDES macro; - these things get on the compile line well before the user's - CPPFLAGS. - -1999-10-12 Paul D. Smith - - * remake.c (notice_finished_file): If we get here and -n is set, - see if all the command lines are marked recursive. If so, then we - ran every command there is, so check the mtime on this file just - like we would normally. If not, we assume the command we didn't - run would updates the target and set mtime of the target to "very new". - - * job.c (start_job_command): Update lines_flags in the file's cmds - structure with any per-line tokens we found (`@', `-', `+'). - -1999-10-08 Paul D. Smith - - * variable.c (initialize_file_variables): Always recurse to - initialize the parent's file variables: the parent might not have - any rules to run so it might not have been initialized before - this--we need this to set up the chain properly for - target-specific variables. - -1999-09-29 Paul Eggert - - * main.c (quote_as_word): Always quote for decode_env_switches - instead of for the shell, so that arguments with strange - characters are are passed to submakes correctly. Remove - double_dollars arg; we always double dollars now. All callers - changed. - (decode_env_switches): Don't run off the end of an environment - variable whose contents ends in a unescaped backslash. - -1999-09-23 Paul D. Smith - - * commands.c, function.c, job.c, read.c: Cast arguments to - ctype.h functions/macros to _unsigned_ char for portability. - - * remake.c, function.c: Compiler warning fixes: the second - argument to find_next_token() should be an _unsigned_ int*. - Reported by Han-Wen Nienhuys . - -1999-09-23 Paul D. Smith - - * Version 3.78.1 released. - - * make.texinfo: Update version/date stamp. - - * main.c (main): Argh. For some reason we were closing _all_ the - jobserver pipes before we re-exec'd due to changed makefiles. - This means that any re-exec got a "jobserver unavailable" error :-/. - I can't believe we didn't notice this before. - -1999-09-22 Paul D. Smith - - * Version 3.78 released. - - * main.c (main): Only fail on multiple --jobserver-fds options if - they aren't all the same. Some makefiles use things like - $(MAKE) $(MFLAGS) which will cause multiple, identical copies of - --jobserver-fds to show up. - -1999-09-16 Paul D. Smith - - * main.c (define_makeflags): Zero out FLAGSTRING to avoid - uninitialized memory reads when checking *p != '-' in the loop. - -1999-09-15 Paul D. Smith - - * Version 3.77.97 released. - - * configure.in (MAKE_HOST): AC_SUBST this so it will go into the - makefile. - * Makefile.am (check-local): Print a success banner if the check - succeeds. - (check-regression): A bit of fine-tuning. - -1999-09-15 Eli Zaretskii - - * README.DOS.template: Document requirements for the test suite. - * Makefile.DOS.template: Updates to allow the test suite to run - from "make check". - - * main.c (main): Handle it if argv[0] isn't an absolute path. - -1999-09-13 Paul D. Smith - - * Version 3.77.96 released. - - * Makefile.am (loadavg): Use CPPFLAGS, etc. to make sure we get - all the right #defines to compile. - (check-regression): Look for the regression test suite in the make - package itself. If we're building remotely, use symlinks to make - a local copy. - (dist-hook): Put the test suite into the tar file. - - * configure.in: Look for perl for the test suite. - -1999-09-10 Paul Eggert - - * acinclude.m4 (AC_SYS_LARGEFILE_FLAGS): If on HP-UX 10.20 or - later, and using GCC, define __STDC_EXT__; this works around a - bug in GCC 2.95.1. - -1999-09-08 Paul D. Smith - - * main.c (print_version): Ugh. GLIBC's configure tries to check - make version strings and is too aggressive with their matching - expressions. I've struck a deal with them to leave the version - output as-is for 3.78, and they'll change their configure checks - so that I can change this back in the future. - -1999-09-07 Eli Zaretskii - - * job.c (construct_command_argv_internal) [__MSDOS__]: Add "echo" - and "unset" to the list of builtin shell commands. - - * configh.DOS.template (MAKE_HOST): Define to "i386-pc-msdosdjgpp" - which is the canonical name of the DJGPP host. - -1999-09-05 Paul D. Smith - - * Version 3.77.95 released. - - * make.texinfo (Make Errors): Document some new jobserver error - messages. - -1999-09-04 Eli Zaretskii - - * make.texinfo (Make Errors): Document the hint about 8 spaces - instead of a TAB. - (Call Function, Quick Reference): Use @code{$(1)}, not @var. - - * main.c (main) [__MSDOS__]: Say "on this platform" instead of "on - MS-DOS", since the MSDOS version could run on Windows. - -1999-09-03 Paul D. Smith - - * remake.c (notice_finished_file): Always set mtime_before_update - if it's not been set, not just if we ran some rules. Otherwise we - may have a situation where a target's prerequisite was rebuilt but - not changed, so this target's rules weren't run, then - update_goal_chain() sees mtime_before_update != last_mtime and - thinks that the top-level target changed when it really didn't. - This can cause an infinite loop when remaking makefiles. - (update_goal_chain): If we get back to the top and we don't know - what the goal's last_mtime was, find it now. We need to know so - we can compare it to mtime_before_update later (this is only - crucial when remaking makefiles--should we only do it then?) - -1999-09-02 Paul D. Smith - - * read.c (read_makefile): If "override" appears as the first - prerequisite, look further to ensure this is really a - target-specific variable definition, and not just some - prerequisite named "override". - -1999-09-01 Paul D. Smith - - * function.c (IS_PATHSEP) [WINDOWS32]: Allow backslash separators - for W32 platforms. - * read.c (record_files) [WINDOWS32]: Allow backslash separators - for W32 platforms. - * implicit.c (pattern_search) [WINDOWS32]: Allow backslash - separators for W32 platforms. - - * configure.in (MAKE_HOST): Define it to be the canonical build - host info, now that we need AC_CANONICAL_HOST anyway (for large - file support). - * version.c (make_host): Define a variable to MAKE_HOST so we're - sure to get it from the local config.h. - * main.c (print_version): Use it in the version information. - * config.ami.template: Add MAKE_HOST. - * configh.dos.template: Ditto. - * config.h.W32.template: Ditto. - * config.h-vms.template: Ditto. - - * main.c (main): Close the jobserver file descriptors if we need - to re-exec ourselves. - Also print more reasonable error if users force -jN for submakes. - This may be common for a while until people use the jobserver - feature. If it happens, we ignore the existing jobserver stuff - and use whatever they specified on the commandline. - (define_makeflags): Fixed a long-standing bug: if a long name - only option comes immediately after a single letter option with no - argument, then the option string is constructed incorrectly. For - example, with -w and --jobserver-fds you get "-w-jobserver-fds..." - instead of "-w --jobserver-fds..."; add in an extra " -". - - * make.texinfo (Phony Targets): Add another example of using - .PHONY with subdirectories/recursive make. - -1999-08-30 Paul D. Smith - - * README.W32.template: Renamed from README.W32 so it's - autogenerated during the dist. A few minor modifications. - - * configure.in: Check for kstat_open before AC_FUNC_GETLOADAVG - since the latter needs to know whether the former exists to give - an accurate result. - -1999-08-26 Rob Tulloh - - * NMakefile [WINDOWS32]: Now more robust. If you change a file - under w32/subproc, the make.exe will be relinked. Also added some - tests to make sure erase commands won't fail when executed in a - pristine build environment. - - * w32/subproc/sub_proc.c [WINDOWS32]: Added support for - HAVE_CYGWIN_SHELL. If you are using the Cygwin B20.1 release, it - is now possible to have have native support for this shell without - having to rely on klutzy BATCH_MODE_ONLY_SHELL. - - * config.h.W32 [WINDOWS32]: Added HAVE_CYGWIN_SHELL macro which - users can define if they want to build make to use this shell. - - * README.W32 [WINDOWS32]: Added informaton about - HAVE_CYGWIN_SHELL. Cleaned up text a bit to make it more current. - -1999-08-26 Paul Eggert - - Support large files in AIX, HP-UX, and IRIX. - - * acinclude.m4 (AC_LFS): Remove. Superseded by AC_SYS_LARGEFILE. - (AC_SYS_LARGEFILE_FLAGS, AC_SYS_LARGEFILE_SPACE_APPEND, - AC_SYS_LARGEFILE_MACRO_VALUE, AC_SYS_LARGEFILE): New macros. - (jm_AC_TYPE_UINTMAX_T): Check for busted compilers that can't - shift or divide unsigned long long. - (AM_PROG_CC_STDC): New macro; a temporary workaround of a bug in - automake 1.4. - - * configure.in (AC_CANONICAL_HOST): Add; required by new - AC_SYS_LARGEFILE. - (AC_SYS_LARGEFILE): Renamed from AC_LFS. - (AM_PROG_CC_STDC): Add. - - * config.guess, config.sub: New files, needed for AC_CANONICAL_HOST. - -1999-08-25 Paul Eggert - - * make.h (CHAR_MAX): New macro. - * main.c (struct command_switch): c is now int, - so that it can store values greater than CHAR_MAX. - (switches): Replace small numbers N with CHAR_MAX+N-1, - to avoid problems with non-ASCII character sets. - (short_option): New macro. - (init_switches, print_usage, define_makeflags): Use it instead of - isalnum. - -1999-08-25 Paul D. Smith - - * Version 3.77.94 released. - - * main.c (main) [__MSDOS__]: If the user uses -j, warn that it's - not supported and reset it. - - * make.h (ISDIGIT): Obtained this from the textutils distribution. - * main.c (decode_switches): Use it. - * function.c (is_numeric): Use it. - - * main.c (struct command_switch): Store the switch char in an - unsigned char to shut up GCC about using it with ctype.h macros. - Besides, it _is_ always unsigned. - -1999-08-24 Paul D. Smith - - * make.texinfo: Change "dependency" to "prerequisite" and - "dependencies" to "prerequisites". Various other cleanups related - to the terminology change. - * file.c: Change debugging and error messages to use - "prerequisite" instead of "dependency". - * implicit.c: Ditto. - * remake.c: Ditto. - * NEWS: Document it. - -1999-08-23 Paul D. Smith - - * remake.c (update_file): Move the considered check into the - double-colon rule loop, so we consider double-colon rules - individually (otherwise after the first is pruned, the rest won't - get run). - - * README.template: Minor changes. - - Remove the debugging features of the jobserver, so it no longer - writes distinct tokens to the pipe. Thus, we don't need to store - the token we get. A side effect of this is to remove a potential - "unavailable token" situation: make-1 invokes make-2 with its - special token and make-3 with a normal token; make-2 completes. - Now we're waiting for make-3 but using 2 tokens; our special token - is idle. In the new version we don't have special tokens per se, - we merely decide if we already have a child or not. If we don't, - we don't need a token. If we do, we have to get one to run the - next child. Similar for putting tokens back: if we're cleaning up - the last child, we don't put a token back. Otherwise, we do. - - * main.c: Add a new, internal flag --jobserver-fds instead of - overloading the meaning of -j. Remove job_slots_str and add the - stringlist jobserver_fds. - (struct command_switch): We don't need the int_string type. - (switches[]): Add a new option for --jobserver-fds and remove - conditions around -j. Make the description for the former 0 so it - doesn't print during "make --help". - (main): Rework jobserver parsing. If we got --jobserver-fds - make sure it's valid. We only get one and job_slots must be 0. - If we're the toplevel make (-jN without --jobserver-fds) create - the pipe and write generic tokens. - Create the stringlist struct for the submakes. - Clean up the stringlist where necessary. - (init_switches): Remove int_string handling. - (print_usage): Don't print internal flags (description ptr is 0). - (decode_switches): Remove int_string handling. - (define_makeflags): Remove int_string handling. - - * job.c: Remove my_job_token flag and all references to the - child->job_token field. - (free_job_token): Remove this and merge it into free_child(). - (reap_children): Rework the "reaped a child" logic slightly. - Don't call defunct free_job_token anymore. Always call - free_child, even if we're dying. - (free_child): If we're not freeing the only child, put a token - back in the pipe. Then, if we're dying, don't bother to free. - (new_job): If we are using the jobserver, loop checking to see if - a) there are no children or b) we get a token from the pipe. - - * job.h (struct child): Remove the job_token field. - -1999-08-20 Paul D. Smith - - * variable.c (try_variable_definition): Allocate for variable - expansion in f_append with a simple variable: if we're looking at - target-specific variables we don't want to trash the buffer. - Noticed by Reiner Beninga . - -1999-08-16 Eli Zaretskii - - * main.c (main) [__MSDOS__]: Mirror any backslashes in argv[0], to - avoid problems in shell commands that use backslashes as escape - characters. - -1999-08-16 Paul D. Smith - - * Version 3.77.93 released. - -1999-08-13 Paul D. Smith - - Another jobserver algorithm change. We conveniently forgot that - the blocking bit is shared by all users of the pipe, it's not a - per-process setting. Since we have many make processes all - sharing the pipe we can't use the blocking bit as a signal handler - flag. Instead, we'll dup the pipe's read FD and have the SIGCHLD - handler close the dup'd FD. This will cause the read() to fail - with EBADF the next time we invoke it, so we know we need to reap - children. We then re-dup and reap. - - * main.c (main): Define the job_rfd variable to hold the dup'd FD. - Actually dup the read side of the pipe. Don't bother setting the - blocking bit on the file descriptor. - * make.h: Declare the job_rfd variable. - * job.c (child_handler): If the dup'd jobserver pipe is open, - close it and assign -1 to job_rfd to notify the main program that - we got a SIGCHLD. - (start_job_command): Close the dup'd FD before exec'ing children. - Since we open and close this thing so often it doesn't seem - worth it to use the close-on-exec bit. - (new_job): Remove code for testing/setting the blocking bit. - Instead of EAGAIN, test for EBADF. If the dup'd FD has been - closed, re-dup it before we reap children. - - * function.c (func_shell): Be a little more accurate about the - length of the error string to allocate. - - * expand.c (variable_expand_for_file): If there's no filenm info - (say, from a builtin command) then reset reading_file to 0. - -1999-08-09 Paul D. Smith - - * maintMakefile: Use g in sed (s///g) to replace >1 variable per - line. - - * Makefile.DOS.template [__MSDOS__]: Fix mostlyclean-aminfo to - remove the right files. - -1999-08-01 Eli Zaretskii - - * function.c (msdos_openpipe) [__MSDOS__]: *Really* return a FILE - ptr. - -1999-08-01 Paul D. Smith - - New jobserver algorithm to avoid a possible hole where we could - miss SIGCHLDs and get into a deadlock. The original algorithm was - suggested by Roland McGrath with a nice refinement by Paul Eggert. - Many thanks as well to Tim Magill and Howard Chu, who also - provided many viable ideas and critiques. We all had a fun week - dreaming up interesting ways to use and abuse UNIX syscalls :). - - Previously we could miss a SIGCHLD if it happened after we reaped - the children but before we re-entered the blocking read. If this - happened to all makes and/or all children, make would never wake - up. - - We avoid this by having the SIGCHLD handler reset the blocking bit - on the jobserver pipe read FD (normally read does block in this - algorithm). Now if the handler is called between the time we reap - and the time we read(), and there are no tokens available, the - read will merely return with EAGAIN instead of blocking. - - * main.c (main): Set the blocking bit explicitly here. - * job.c (child_handler): If we have a jobserver pipe, set the - non-blocking bit for it. - (start_waiting_job): Move the token stuff back to new_job; if we - do it here then we're not controlling the number of remote jobs - started! - (new_job): Move the check for job slots to _after_ we've created a - child structure. If the read returns without getting a token, set - the blocking bit then try to reap_children. - - * make.h (EINTR_SET): Define to test errno if EINTR is available, - or 0 otherwise. Just some code cleanup. - * arscan.c (ar_member_touch): Use it. - * function.c (func_shell): Use it. - * job.c (reap_children): Use it. - * remake.c (touch_file): Use it. - -1999-07-28 Paul D. Smith - - * make.h: Define _() and N_() macros as passthrough to initiate - NLS support. - * : Add _()/N_() around translatable strings. - -1999-07-27 Paul D. Smith - - * read.c: Make sure make.h comes before other headers. - -1999-07-26 Paul D. Smith - - * make.texinfo (Quick Reference): Update with the new features. - -1999-07-25 Eli Zaretskii - - * remake.c [__MSDOS__]: Don't include variables.h, it's already - included. - - * function.c (msdos_openpipe) [__MSDOS__]: Return FILE ptr. - (func_shell) [__MSDOS__]: Fix the argument list. - - * Makefile.DOS.template: Update from Makefile.in. - - * README.DOS.template: Configure command fixed. - - * configh.dos.template: Update to provide definitions for - uintmax_t, fd_set_size_t, and HAVE_SELECT. - -1999-07-24 Paul D. Smith - - * Version 3.77.91 released. - - * configure.in: Changes to the boostrapping code: if build.sh.in - doesn't exist configure spits an error and generates an empty - build.sh file which causes make to be confused. - * maintMakefile: Don't build README early. - -1999-07-23 Paul D. Smith - - * job.c (my_job_token): This variable controls whether we've - handed our personal token to a subprocess or not. Note we could - probably infer this from the value of job_slots_used, but it's - clearer to just keep it separately. Job_slots_used isn't really - relevant when running the job server. - (free_job_token): New function: free a job token. If we don't - have one, no-op. If we have the personal token, reclaim it. If - we have another token, write it back to the pipe. - (reap_children): Call free_job_token. - (free_child): Call free_job_token. - (start_job_command): Remove duplicate test for '+' in the command. - If we don't appear to be running a recursive make, close the - jobserver filedescriptors. - (start_waiting_job): If our personal token is available, use that - instead of going to the server pipe. - (*): Add the token value to many debugging statements, and print - the child target name in addition to the ptr hex value. - Change the default "no token" value from '\0' to '-' so it looks - better in the output. - - * main.c (main): Install the child_handler with sigaction() - instead of signal() if we have it. On SysV systems, signal() uses - SysV semantics which are a pain. But sigaction() always does what - we want. - (main): If we got job server FDs from the environment, test them - to see if they're open. If not, the parent make closed them - because it didn't think we were a submake. Print a warning and - suggestion to use "+" on the submake invocation, and hard-set to - -j1 for this instance of make. - (main): Change the algorithm for assigning slots to be more - robust. Previously make checked to see if it thought a subprocess - was a submake and if so, didn't give it a token. Since make's - don't consume tokens we could spawn many of makes fighting for a - small number of tokens. Plus this is unreliable because submakes - might not be recognized by the parent (see above) then all the - tokens could be used up by unrecognized makes, and no one could - run. Now every make consumes a token from its parent. However, - the make can also use this token to spawn a child. If the make - wants more than one, it goes to the jobserver pipe. Thus there - will never be more than N makes running for -jN, and N*2 processes - (N makes and their N children). Every make can always run at - least one job, and we'll never deadlock. (Note the closing of the - pipe for non-submakes also solves this, but this is still a better - algorithm.) So! Only put N-1 tokens into the pipe, since the - topmost make keeps one for itself. - - * configure.in: Find sigaction. Disable job server support unless - the system provides it, in addition to either waitpid() or - wait3(). - -1999-07-22 Rob Tulloh - - * arscan.c (ar_member_touch) [WINDOWS32]: The ar_date field is a - string on Windows, not a timestamp. - -1999-07-21 Paul D. Smith - - * Version 3.77.90 released. - - * Makefile.am (AUTOMAKE_OPTIONS): Require automake 1.4. - - * function.c: Rearrange so we don't need to predeclare the - function_table array; K&R C compilers don't like that. - - * acinclude.m4 (AC_FUNC_SELECT): Ouch; this requires an ANSI C - compiler! Change to work with K&R compilers as well. - - * configure.in (AC_OUTPUT): Put build.sh back. I don't know how I - thought it would work this way :-/. We'll have to think of - something else. - * Makefile.am: Remove rule to create build.sh. - - * default.c (default_suffix_rules): Rearrange the default command - lines to conform to POSIX rules (put the filename argument $< - _after_ the OUTPUT_OPTION, not before it). - - * various: Changed !strncmp() calls to strneq() macros. - - * misc.c (sindex): Make slightly more efficient. - - * dir.c (file_impossible): Change savestring(X,strlen(X)) to xstrdup(). - * implicit.c (pattern_search): Ditto. - * main.c (enter_command_line_file): Ditto. - (main): Ditto. - * misc.c (copy_dep_chain): Ditto. - * read.c (read_makefile): Ditto. - (parse_file_seq): Ditto. - (tilde_expand): Ditto. - (multi_glob): Ditto. - * rule.c (install_pattern_rule): Ditto. - * variable.c (define_variable_in_set): Ditto. - (define_automatic_variables): Ditto. - * vpath.c (construct_vpath_list): Ditto. - - * misc.c (xrealloc): Some reallocs are non-standard: work around - them in xrealloc by calling malloc if PTR is NULL. - * main.c (main): Call xrealloc() directly instead of testing for - NULL. - - * function.c (func_sort): Don't try to free NULL; some older, - non-standard versions of free() don't like it. - - * configure.in (--enable-dmalloc): Install some support for using - dmalloc (http://www.dmalloc.com/) with make. Use --enable-dmalloc - with configure to enable it. - - * function.c (function_table_entry): Whoops! The function.c - rewrite breaks backward compatibility: all text to a function is - broken into arguments, and extras are ignored. So $(sort a,b,c) - returns "a"! Etc. Ouch. Fix it by making a positive value in - the REQUIRED_ARGS field mean exactly that many arguments to the - function; any "extras" are considered part of the last argument as - before. A negative value means at least that many, but may be - more: in this case all text is broken on commas. - (handle_function): Stop when we've seen REQUIRED_ARGS args, if >0. - (expand_builtin_function): Compare number of args to the absolute - value of REQUIRED_ARGS. - -1999-07-20 Paul D. Smith - - * job.c (start_job_command): Ensure that the state of the target - is cs_running. It might not be if we skipped all the lines due to - -n (for example). - - * commands.c (execute_file_commands): If we discover that the - command script is empty and succeed early, set cs_running so the - modtime of the target is still rechecked. - - * rule.c (freerule): Free the dependency list for the rule. - - * implicit.c (pattern_search): When turning an intermediate file - into a real target, keep the also_make list. - Free the dep->name if we didn't use it during enter_file(). - -1999-07-16 Paul D. Smith - - * read.c (read_makefile): Don't allocate the commands buffer until - we're sure we found a makefile and won't return early (mem leak). - - * job.c (start_job_command): Broken #ifdef test: look for F_SETFD, - not FD_SETFD. Close-on-exec isn't getting set on the bad_stdin - file descriptor and it's leaking :-/. - * getloadavg.c (getloadavg): Ditto. - -1999-07-15 Paul D. Smith - - * read.c (read_makefile): Fix some potential memory stomps parsing - `define' directives where no variable name is given. - - * function.c (func_call): Rename from func_apply. Various code - cleanup and tightening. - (function_table): Add "call" as a valid builtin function. - - * make.texinfo (Call Function): Document it. - - * NEWS: Announce it. - -1999-07-09 Eli Zaretskii - - * variable.c (try_variable_definition) [__MSDOS__, WINDOWS32]: - Treat "override SHELL=" the same as just "SHELL=". - -1999-07-09 Paul D. Smith - - * job.c (start_waiting_job): Don't get a second job token if we - already have one; if we're waiting on the load to go down - start_waiting_job() might get called twice on the same file. - - * filedef.h (struct file): Add new field, mtime_before_update. - When notice_finished_file runs it assigns the cached last_mtime to - this field. - * remake.c (update_goal_chain): Notice that a file wasn't updated - by asking if it changed (g->changed) and comparing the current - cached time (last_mtime) with the previous one, stored in - mtime_before_update. The previous check ("did last_mtime changed - during the run of update_file?") fails for parallel builds because - last_mtime is set during reap_children, before update_file is run. - This causes update_goal_chain to always return -1 (nothing - rebuilt) when running parallel (-jN). This is OK during "normal" - builds since our caller (main) treats these cases identically in - that case, but if when rebuilding makefiles the difference is very - important, as it controls whether we re-exec or not. - * file.c (file_hash_enter): Copy the mtime_before_update field. - (snap_deps): Initialize mtime_before_update to -1. - * main.c (main): Initialize mtime_before_update on old (-o) and - new (-W) files. - -1999-07-08 Paul D. Smith - - * main.c (switches): Define a new switch -R (or - --no-builtin-variables). This option disables the defining of all - the GNU make builtin variables. - (main): If -R was given, force -r as well. - * default.c (define_default_variables): Test the new flag. - * make.h: Declare global flag. - * make.texinfo (Options Summary): Document the new option. - (Implicit Variables): Ditto. - -1999-07-06 Paul D. Smith - - * make.texinfo (Options Summary): Correct examples in - --print-data-base option summary (problem reported by David Morse - ). - - * arscan.c: Add support for archives in Windows (VC++). Frank - Libbrecht provided info on how to do - this. - * NMakefile.template (CFLAGS_any): Remove NO_ARCHIVES from the - compile line. - * build_w32.bat: Ditto. - - * remake.c (no_rule_error): Fix -include/sinclude so it doesn't - give errors if you try to -include the same file twice. - (updating_makefiles): New variable: we need to know this info in - no_rule_error() so we know whether to print an error or not. - (update_file_1): Unconditionally call no_rule_error(), don't try - to play games with the dontcare flag. - -1999-06-14 Paul D. Smith - - * make.texinfo (Remaking Makefiles): Add a description of how to - prevent implicit rule searches for makefiles. - - * make.1: Remove statement that make continues processing when -v - is given. - -1999-06-14 Paul D. Smith - - * read.c (read_makefile): Cast -1 arguments to - variable_expand_string() to long. Alexandre Sauve - reports that without casts, this breaks - on a NEC SUPER-UX SX-4 system (and it's wrong without a cast - anyway). Of course, (a) I'd really love to start using function - prototypes, and (b) there's a whole slew of issues related to int - vs. long and signed vs. unsigned in the length handling of - variable buffers, etc. Gross. Needs a complete mucking-out. - * expand.c (variable_expand): Ditto. - - * acinclude.m4 (AC_FUNC_SELECT): Slight enhancement for AIX 3.2 by - Lars Hecking . - - * read.c (get_next_mword): Allow colons to be escaped in target - names: fix for regression failure. - -1999-04-26 Paul D. Smith - - * main.c (main): Reset read_makefiles to empty after processing so - we get the right error message. - -1999-04-25 Paul D. Smith - - * make.texinfo: Updates to @dircategory and @direntry suggested by - Karl Berry . - -1999-04-23 Eli Zaretskii - - * job.c (start_job_command) [__MSDOS__]: Call unblock_sigs before - turning off dos_command_running, so child's signals produce the - right effect. - - * commands.c (fatal_error_signal) [__MSDOS__]: Use EXIT_FAILURE - instead of 1. - -1999-04-18 Eli Zaretskii - - * configh.dos.template: Update to recognize that version 2.02 of - DJGPP contains sys_siglist stuff. - -1999-04-14 Paul D. Smith - - * make.texinfo (Options/Recursion): Document the job server. - (Parallel): Tweaks. - -1999-04-13 Paul D. Smith - - Implement a new "job server" feature; the implementation was - suggested by Howard Chu . - - * configure.in (job-server): New disable option for job server - support--it's enabled by default. If it works well this will go - away. - - * NEWS: Summarize the new feature. - - * acconfig.h: New definition MAKE_JOBSERVER if job server support - is enabled. - * config.h-vms.template: Undef MAKE_JOBSERVER for this port. - * config.h.W32.template: Ditto. - * config.ami.template: Ditto. - - * main.c (struct command_switch): Add a new type: int_string. - (switches[]) Use int_string for -j if MAKE_JOBSERVER. - (init_switches): Initialize the new int_string switch type. - (print_usage): New function, extracted from decode_switches(). - (decode_switches): Call it. Decode the new int_string switch type. - (define_makeflags): Add new int_string switch data to MAKEFLAGS. - (job_fds[]) Array to contain the pipe file descriptors. - (main): Parse the job_slots_str option results. If necessary, - create the pipe and seed it with tokens. Set the non-blocking bit - for the read fd. Enable the signal handler for SIGCHLD even if we - have a non-hanging wait; it's needed to interrupt the select() in - job.c:start_waiting_job(). - - * make.h: Declare job_fds[]. - - * job.h (struct child): Add job_token field to store the token for - this job (if any). - - * job.c (reap_children): When a child is fully reaped, release the - token back into the pipe. - (free_child): If the child to be freed still has a token, put it - back. - (new_job): Initialize the job_token member. - (start_waiting_job): For local jobs, if we're using the pipe, get - a token before we check the load, etc. We do this by performing a - non-blocking read in a loop. If the read fails, no token is - available. Do a select on the fd to wait for a token. We need to - re-enable the signal handler for SIGCHLD even if we have a - non-hanging waitpid() or wait3(), so that the signal will - interrupt the select() and we can wake up to reap children. - (child_handler): Re-enable the signal handler. The count is still - kept although it's not needed or used unless you don't have - waitpid() or wait3(). - -1999-04-10 Paul D. Smith - - * main.c (main): Reset the considered bit on all the makefiles if - something failed to update; we need to examine them again if they - appear as normal targets in order to get the proper error message. - -1999-04-09 Paul D. Smith - - Performance enhancement from Tim Magill . - - * remake.c (update_file): If you have large numbers of - dependencies and you run in parallel, make can spend considerable - time each pass through the graph looking at branches it has - already seen. Since we only reap_children() when starting a pass, - not in the middle, if a branch has been seen already in that pass - nothing interesting can happen until the next pass. So, we toggle - a bit saying whether we've seen this target in this pass or not. - (update_goal_chain): Initially set the global considered toggle to - 1, since all targets initialize their boolean to 0. At the end of - each pass, toggle the global considered variable. - * filedef.h (struct file): Per-file considered toggle bit. - * file.c: New global toggle variable considered. - -1999-04-05 Paul D. Smith - - * arscan.c (ar_scan): Added support for ARFZMAG (compressed - archives?) for Digital UNIX C++. Information provided by - Patrick E. Krogel . - (ar_member_touch): Ditto. - -1999-04-03 Paul D. Smith - - * remake.c (f_mtime): If: a) we found a file and b) we didn't - create it and c) it's not marked as an implicit target and d) it - is marked as an intermediate target, then it was so marked due to - an .INTERMEDIATE special target, but it already existed in the - directory. In this case, unset the intermediate flag so we won't - delete it when make is done. It feels like it would be cleaner to - put this check in update_file_1() but I worry it'll get missed... - -1999-04-01 Paul D. Smith - - * job.c (construct_command_argv_internal): Use bcopy() to copy - overlapping strings, rather than strcpy(). ISO C says the latter - is undefined. Found this in a bug report from 1996! Ouch! - -1999-03-31 Paul D. Smith - - * read.c (readline): Ignore carriage returns at the end of the - line, to allow Windows-y CRLF line terminators. - -1999-03-30 Paul D. Smith - - * configure.in: Don't put build.sh here, since build.sh.in doesn't - exist initially. This cause autoreconf and automake to fail when - run on a clean CVS checkout. Instead, we create build.sh in the - Makefile (see below). - - * Makefile.am: Remove BUILT_SOURCES; this is no longer relevant. - Put those files directly into EXTRA_DIST so they're distributed. - Create a local build rule to create build.sh. - Create a local maintainer-clean rule to delete all the funky - maintainers files. - - * maintMakefile: Makefile.in depends on README, since automake - fails if it doesn't exist. Also don't remove glob/Makefile.in - here, as it causes problems. - -1999-03-26 Paul D. Smith - - * configure.in: Substitute GLOBLIB if we need the link the - glob/libglob.a library. - * Makefile.am (make_LDADD): Use the subst variable GLOBLIB so we - don't link the local libglob.a at all if we don't need it. - * build.template: Don't compile glob/*.o unless we want globlib. - * maintMakefile (build.sh.in): Substitute the glob/*.o files - separately. - -1999-03-25 Paul D. Smith - - * make.texinfo: Various typos and additions, pointed out by James - G. Sack . - -1999-03-22 Paul D. Smith - - * make.texinfo (Functions): Add a new section documenting the new - $(error ...) and $(warning ...) functions. Also updated copyright - dates. - * NEWS: Updated for the new functions. - * function.c (func_error): Implement the new $(error ...) and - $(warning ...) functions. - (function_table): Insert new functions into the table. - (func_firstword): Don't call find_next_token() with argv[0] - itself, since that function modifies the pointer. - * function.c: Cleanups and slight changes to the new method of - calling functions. - -1999-03-20 Han-Wen Nienhuys - - * function.c: Rewrite to use one C function per make function, - instead of a huge switch statement. Also allows some cleanup of - multi-architecture issues, and a cleaner API which makes things - like func_apply() simple. - - * function.c (func_apply): Initial implementation. Expand either - a builtin function or a make variable in the context of some - arguments, provided as $1, $2, ... $N. - -1999-03-19 Eli Zaretskii -1999-03-19 Rob Tulloh - - * job.c (construct_command_argv_internal): Don't treat _all_ - backslashes as escapes, only those which really escape a special - character. This allows most normal "\" directory separators to be - treated normally. - -1999-03-05 Paul D. Smith - - * configure.in: Check for a system strdup(). - * misc.c (xstrdup): Created. Suggestion by Han-Wen Nienhuys - . - * make.h: Prototype xstrdup(). - * remake.c (library_search): Use it. - * main.c (main): Use it. - (find_and_set_default_shell): Use it. - * job.c (construct_command_argv_internal): Use it. - * dir.c (find_directory): Use it. - - * Makefile.am, configure.in: Use AC_SUBST_FILE to insert the - maintMakefile instead of "include", to avoid automake 1.4 - incompatibility. - -1999-03-04 Paul D. Smith - - * amiga.c, amiga.h, ar.c, arscan.c, commands.c, commands.h, - * default.c, dep.h, dir.c, expand.c, file.c, filedef.h, function.c, - * implicit.c, job.c, job.h, main.c, make.h, misc.c, read.c, remake.c - * remote-cstms.c, remote-stub.c, rule.h, variable.c, variable.h, - * vpath.c, Makefile.ami, NMakefile.template, build.template, - * makefile.vms: Updated FSF address in the copyright notice. - - * variable.c (try_variable_definition): If we see a conditional - variable and we decide to set it, re-type it as recursive so it - will be expanded properly later. - -1999-02-22 Paul D. Smith - - * NEWS: Mention new .LIBPATTERNS feature. - - * make.texinfo (Libraries/Search): Describe the use and - ramifications of the new .LIBPATTERNS variable. - - * remake.c (library_search): Instead of searching only for the - hardcoded expansion "libX.a" for a library reference "-lX", we - obtain a list of patterns from the .LIBPATTERNS variable and - search those in order. - - * default.c: Added a new default variable .LIBPATTERNS. The - default for UNIX is "lib%.so lib%.a". Amiga and DOS values are - also provided. - - * read.c: Remove bogus HAVE_GLOB_H references; always include - vanilla glob.h. - -1999-02-21 Paul D. Smith - - * function.c (expand_function): Set value to 0 to avoid freeing it. - * variable.c (pop_variable_scope): Free the value of the variable. - (try_variable_definition): For simple variables, use - allocated_variable_expand() to avoid stomping on the variable - buffer when we still need it for other things. - - * arscan.c: Modified to support AIX 4.3 big archives. The changes - are based on information provided by Phil Adams - . - -1999-02-19 Paul D. Smith - - * configure.in: Check to see if the GNU glob library is already - installed on the system. If so, _don't_ add -I./glob to the - compile line. Using the system glob code with the local headers - is very bad mojo! - Rewrite SCCS macros to use more autoconf facilities. - - * Makefile.am: Move -Iglob out of INCLUDES; it'll get added to - CPPFLAGS by configure now. - Automake 1.4 introduced its own "include" feature which conflicts - with the maintMakefile stuff. A hack that seems to work is add a - space before the include :-/. - - * build.template: Move -Iglob out of the compile line; it'll get - added to CPPFLAGS by configure now. - -1999-02-16 Glenn D. Wolf - - * arscan.c (ar_scan) [VMS]: Initialized VMS_member_date before - calling lbr$get_index since if the archive is empty, - VMS_get_member_info won't get called at all, and any leftover date - will be used. This bug shows up if any member of any archive is - made, followed by a dependency check on a different, empty - archive. - -1998-12-13 Martin Zinser - - * config.h-vms [VMS]: Set _POSIX_C_SOURCE. Redefine the getopt - functions so we don't use the broken VMS versions. - * makefile.com [VMS]: Allow debugging. - * dir.c (dir_setup_glob) [VMS]: Don't extern stat() on VMS. - -1998-11-30 Paul D. Smith - - * signame.c (init_sig): Check the sizes of signals being set up to - avoid array overwrites (if the system headers have problems). - -1998-11-17 Paul D. Smith - - * read.c (record_files): Clean up some indentation. - -1998-11-08 Han-Wen Nienhuys - - * rule.c (print_rule_data_base): Fix arguments to fatal() call. - -1998-10-13 Paul D. Smith - - * job.c (start_job_command): If the command list resolves to no - chars at all (e.g.: "foo:;$(empty)") then command_ptr is NULL; - quit early. - -1998-10-12 Andreas Schwab - - * rule.c (print_rule_data_base): Ignore num_pattern_rules if it is - zero. - -1998-10-09 Paul D. Smith - - * read.c (read_makefile): Allow non-empty lines to expand to the - empty string after variable, etc., expansion, and be ignored. - -1998-09-21 Paul D. Smith - - * job.c (construct_command_argv_internal): Only add COMMAND.COM - "@echo off" line for non-UNIXy shells. - -1998-09-09 Paul D. Smith - - * w32/subproc/sub_proc.c: Add in missing HAVE_MKS_SHELL tests. - -1998-09-04 Paul D. Smith - - * read.c (read_makefile): If we hit the "missing separator" error, - check for the common case of 8 spaces instead of a TAB and give an - extra comment to help people out. - -1998-08-29 Paul Eggert - - * configure.in (AC_STRUCT_ST_MTIM_NSEC): - Renamed from AC_STRUCT_ST_MTIM. - - * acinclude.m4 (AC_STRUCT_ST_MTIM_NSEC): Likewise. - Port to UnixWare 2.1.2 and pedantic Solaris 2.6. - - * acconfig.h (ST_MTIM_NSEC): - Renamed from HAVE_ST_MTIM, with a new meaning. - - * filedef.h (FILE_TIMESTAMP_FROM_S_AND_NS): - Use new ST_MTIM_NSEC macro. - -1998-08-26 Paul D. Smith - - * remake.c (check_dep): For any intermediate file, not just - secondary ones, try implicit and default rules if no explicit - rules are given. I'm not sure why this was restricted to - secondary rules in the first place. - -1998-08-24 Paul D. Smith - - * make.texinfo (Special Targets): Update documentation for - .INTERMEDIATE: if used with no dependencies, then it does nothing; - old docs said it marked all targets as intermediate, which it - didn't... and which would be silly :). - - * implicit.c (pattern_search): If we find a dependency in our - internal tables, make sure it's not marked intermediate before - accepting it as a found_file[]. - -1998-08-20 Paul D. Smith - - * ar.c (ar_glob): Use existing alpha_compare() with qsort. - (ar_glob_alphacompare): Remove it. - - Modify Paul Eggert's patch so we don't abandon older systems: - - * configure.in: Warn the user if neither waitpid() nor wait3() is - available. - - * job.c (WAIT_NOHANG): Don't syntax error on ancient hosts. - (child_handler, dead_children): Define these if WAIT_NOHANG is not - available. - (reap_children): Only track the dead_children count if no - WAIT_NOHANG. Otherwise, it's a boolean. - - * main.c (main): Add back signal handler if no WAIT_NOHANG is - available; only use default signal handler if it is. - -1998-08-20 Paul Eggert - - Install a more robust signal handling mechanism for systems which - support it. - - * job.c (WAIT_NOHANG): Define to a syntax error if our host - is truly ancient; this should never happen. - (child_handler, dead_children): Remove. - (reap_children): Don't try to keep separate track of how many - dead children we have, as this is too bug-prone. - Just ask the OS instead. - (vmsHandleChildTerm): Fix typo in error message; don't mention - child_handler. - - * main.c (main): Make sure we're not ignoring SIGCHLD/SIGCLD; - do this early, before we could possibly create a subprocess. - Just use the default behavior; don't have our own handler. - -1998-08-18 Eli Zaretskii - - * read.c (read_makefile) [__MSDOS__, WINDOWS32]: Add code to - recognize library archive members when dealing with drive spec - mess. Discovery and initial fix by George Racz . - -1998-08-18 Paul D. Smith - - * configure.in: Check for stdlib.h explicitly (some hosts have it - but don't have STDC_HEADERS). - * make.h: Use HAVE_STDLIB_H. Clean up some #defines. - * config.ami: Re-compute based on new config.h.in contents. - * config.h-vms: Ditto. - * config.h.W32: Ditto. - * configh.dos: Ditto. - - * dir.c (find_directory) [WINDOWS32]: Windows stat() fails if - directory names end with `\' so strip it. - -1998-08-17 Paul D. Smith - - * make.texinfo: Added copyright year to the printed copy. Removed - the price from the manual. Change the top-level reference to - running make to be "Invoking make" instead of "make Invocation", - to comply with GNU doc standards. - - * make.h (__format__, __printf__): Added support for these in - __attribute__ macro. - (message, error, fatal): Use ... prototype form under __STDC__. - Add __format__ attributes for printf-style functions. - - * configure.in (AC_FUNC_VPRINTF): Check for vprintf()/_doprnt(). - - * misc.c (message, error, fatal): Add preprocessor stuff to enable - creation of variable-argument functions with appropriate - prototypes, that works with ANSI, pre-ANSI, varargs.h, stdarg.h, - v*printf(), _doprnt(), or none of the above. Culled from GNU - fileutils and slightly modified. - (makefile_error, makefile_error): Removed (merged into error() and - fatal(), respectively). - * amiga.c: Use them. - * ar.c: Use them. - * arscan.c: Use them. - * commands.c: Use them. - * expand.c: Use them. - * file.c: Use them. - * function.c: Use them. - * job.c: Use them. - * main.c: Use them. - * misc.c: Use them. - * read.c: Use them. - * remake.c: Use them. - * remote-cstms.c: Use them. - * rule.c: Use them. - * variable.c: Use them. - - * make.h (struct floc): New structure to store file location - information. - * commands.h (struct commands): Use it. - * variable.c (try_variable_definition): Use it. - * commands.c: Use it. - * default.c: Use it. - * file.c: Use it. - * function.c: Use it. - * misc.c: Use it. - * read.c: Use it. - * rule.c: Use it. - -1998-08-16 Paul Eggert - - * filedef.h (FILE_TIMESTAMP_PRINT_LEN_BOUND): Add 10, for nanoseconds. - -1998-08-16 Paul Eggert - - * filedef.h (FLOOR_LOG2_SECONDS_PER_YEAR): New macro. - (FILE_TIMESTAMP_PRINT_LEN_BOUND): Tighten bound, and try to - make it easier to understand. - -1998-08-14 Paul D. Smith - - * read.c (read_makefile): We've already unquoted any colon chars - by the time we're done reading the targets, so arrange for - parse_file_seq() on the target list to not do so again. - -1998-08-05 Paul D. Smith - - * configure.in: Added glob/configure.in data. We'll have the glob - code include the regular make config.h, rather than creating its - own. - - * getloadavg.c (main): Change return type to int. - -1998-08-01 Paul Eggert - - * job.c (reap_children): Ignore unknown children. - -1998-07-31 Paul D. Smith - - * make.h, filedef.h, dep.h, rule.h, commands.h, remake.c: - Add prototypes for functions. Some prototypes needed to be moved - in order to get #include order reasonable. - -1998-07-30 Paul D. Smith - - * make.h: Added MIN/MAX. - * filedef.h: Use them; remove FILE_TIMESTAMP_MIN. - -1998-07-30 Paul Eggert - - Add support for sub-second timestamp resolution on hosts that - support it (just Solaris 2.6, so far). - - * acconfig.h (HAVE_ST_MTIM, uintmax_t): New undefs. - * acinclude.m4 (jm_AC_HEADER_INTTYPES_H, AC_STRUCT_ST_MTIM, - jm_AC_TYPE_UINTMAX_T): New defuns. - * commands.c (delete_target): Convert file timestamp to - seconds before comparing to archive timestamp. Extract mod - time from struct stat using FILE_TIMESTAMP_STAT_MODTIME. - * configure.in (C_STRUCT_ST_MTIM, jm_AC_TYPE_UINTMAX_T): Add. - (AC_CHECK_LIB, AC_CHECK_FUNCS): Add clock_gettime. - * file.c (snap_deps): Use FILE_TIMESTAMP, not time_t. - (file_timestamp_now, file_timestamp_sprintf): New functions. - (print_file): Print file timestamps as FILE_TIMESTAMP, not - time_t. - * filedef.h: Include if available and if HAVE_ST_MTIM. - (FILE_TIMESTAMP, FILE_TIMESTAMP_STAT_MODTIME, FILE_TIMESTAMP_MIN, - FILE_TIMESTAMPS_PER_S, FILE_TIMESTAMP_FROM_S_AND_NS, - FILE_TIMESTAMP_DIV, FILE_TIMESTAMP_MOD, FILE_TIMESTAMP_S, - FILE_TIMESTAMP_NS, FILE_TIMESTAMP_PRINT_LEN_BOUND): New macros. - (file_timestamp_now, file_timestamp_sprintf): New decls. - (struct file.last_mtime, f_mtime, file_mtime_1, NEW_MTIME): - time_t -> FILE_TIMESTAMP. - * implicit.c (pattern_search): Likewise. - * vpath.c (vpath_search, selective_vpath_search): Likewise. - * main.c (main): Likewise. - * remake.c (check_dep, name_mtime, library_search, f_mtime): Likewise. - (f_mtime): Use file_timestamp_now instead of `time'. - Print file timestamp with file_timestamp_sprintf. - * vpath.c (selective_vpath_search): Extract file time stamp from - struct stat with FILE_TIMESTAMP_STAT_MODTIME. - -1998-07-28 Paul D. Smith - - * Version 3.77 released. - - * dosbuild.bat: Change to DOS CRLF line terminators. - - * make-stds.texi: Update from latest version. - - * make.texinfo (Options Summary): Clarify that the -r option - affects only rules, not builtin variables. - -1998-07-27 Paul D. Smith - - * make.h: Make __attribute__ resolve to empty for non-GCC _and_ - for GCC pre-2.5.x. - - * misc.c (log_access): Print UID/GID's as unsigned long int for - maximum portability. - - * job.c (reap_children): Print PIDs as long int for maximum - portability. - -1998-07-24 Eli Zaretskii - - * Makefile.DOS (*_INSTALL, *_UNINSTALL): Replace `true' with `:'. - -1998-07-25 Paul D. Smith - - * Version 3.76.94 released. - -1998-07-23 Paul D. Smith - - * config.h.W32.template: Make sure all the #defines of macros here - have a value (e.g., use ``#define HAVE_STRING_H 1'' instead of - just ``#define HAVE_STRING_H''. Keeps the preprocessor happy in - some contexts. - - * make.h: Remove __attribute__((format...)) stuff; using it with - un-prototyped functions causes older GCC's to fail. - - * Version 3.76.93 released. - -1998-07-22 Paul D. Smith - - * file.c (print_file_data_base): Fix average calculation. - -1998-07-20 Paul D. Smith - - * main.c (die): Postpone the chdir() until after - remove_intermediates() so that intermediate targets with relative - pathnames are removed properly. - -1998-07-17 Paul D. Smith - - * filedef.h (struct file): New flag: did we print an error or not? - - * remake.c (no_rule_error): New function to print error messages, - extraced from remake_file(). - - * remake.c (remake_file): Invoke the new error print function. - (update_file_1): Invoke the error print function if we see that we - already tried this target and it failed, but that an error wasn't - printed for it. This can happen if a file is included with - -include or sinclude and couldn't be built, then later is also - the dependency of another target. Without this change, make just - silently stops :-/. - -1998-07-16 Paul D. Smith - - * make.texinfo: Removed "beta" version designator. - Updated ISBN for the next printing. - -1998-07-13 Paul Eggert - - * acinclude.m4: New AC_LFS macro to determine if special compiler - flags are needed to allow access to large files (e.g., Solaris 2.6). - * configure.in: Invoke it. - -1998-07-08 Eli Zaretskii - - * Makefile.DOS: track changes in Makefile.in. - -1998-07-07 Paul D. Smith - - * remote-cstms.c (start_remote_job): Move gethostbyaddr() to the - top so host is initialized early enough. - - * acinclude.m4: New file. Need some special autoconf macros to - check for network libraries (-lsocket, -lnsl, etc.) when - configuring Customs. - - * configure.in (make_try_customs): Invoke new network libs macro. - -1998-07-06 Paul D. Smith - - * Version 3.76.92 released. - - * README.customs: Added to the distribution. - - * configure.in (make_try_customs): Rewrite to require an installed - Customs library, rather than looking at the build directory. - - * Makefile.am (man_MANS): Install make.1. - * make.1: Renamed from make.man. - - * make.texinfo (Bugs): New mailing list address for GNU make bug - reports. - -1998-07-02 Paul D. Smith - - * Version 3.76.91 released. - - * default.c: Added default rule for new-style RCS master file - storage; ``% :: RCS/%''. - Added default rules for DOS-style C++ files with suffix ".cpp". - They use the new LINK.cpp and COMPILE.cpp macros, which are set by - default to be equal to LINK.cc and COMPILE.cc. - -1998-06-19 Eli Zaretskii - - * job.c (start_job_command): Reset execute_by_shell after an empty - command was skipped. - -1998-06-09 Paul D. Smith - - * main.c (main): Keep track of the temporary filename created when - reading a makefile from stdin (-f-) and attempt to remove it - as soon as we know we're not going to re-exec. If we are, add it - to the exec'd make's cmd line with "-o" so the exec'd make doesn't - try to rebuild it. We still have a hole: if make re-execs then - the temporary file will never be removed. To fix this we'd need - a brand new option that meant "really delete this". - * AUTHORS, getopt.c, getopt1.c, getopt.h, main.c (print_version): - Updated mailing addresses. - -1998-06-08 Paul D. Smith - - * main.c (main): Andreas Luik points out that the - check for makefile :: rules with commands but no dependencies - causing a loop terminates incorrectly. - - * maintMakefile: Make a template for README.DOS to update version - numbers. - -1998-05-30 Andreas Schwab - - * remake.c (update_file_1): Don't free the memory for the - dependency structure when dropping a circular dependency. - -1998-05-30 Eli Zaretskii - - * dir.c (file_exists_p, file_impossible_p, file_impossible) - [__MSDOS__, WINDOWS32]: Retain trailing slash in "d:/", and make - dirname of "d:foo" be "d:". - -1998-05-26 Andreas Schwab - - * read.c (read_makefile): Avoid running past EOS when scanning - file name after `include'. - -1998-05-26 Andreas Schwab - - * make.texinfo (Flavors): Correct description of conditional - assignment, which is not equivalent to ifndef. - (Setting): Likewise. - -1998-05-24 Paul D. Smith - - * arscan.c (ar_name_equal): strncmp() might be implemented as a - macro, so don't put preprocessor conditions inside the arguments - list. - -1998-05-23 Eli Zaretskii - - * read.c (read_makefile) [__MSDOS__, WINDOWS32]: Skip colons in - drive specs when parsing targets, target-specific variables and - static pattern rules. A colon can only be part of drive spec if - it is after the first letter in a token. - -1998-05-22 Eli Zaretskii - - * remake.c (f_mtime) [__MSDOS__]: Allow up to 3 sec of skew before - yelling bloody murder. - - * dosbuild.bat: Use -DINCLUDEDIR= and -DLIBDIR= where appropriate. - - * read.c (parse_file_seq): Combine the special file-handling code - for WINDOWS32 and __MSDOS__ into a single snippet. - (get_next_mword) [__MSDOS__, WINDOWS32]: Allow a word to include a - colon as part of a drive spec. - - * job.c (batch_mode_shell) [__MSDOS__]: Declare. - -1998-05-20 Paul D. Smith - - * Version 3.76.90 released. - -1998-05-19 Paul D. Smith - - * make.texinfo (Make Errors): Added a new appendix describing - common errors make might generate and how to resolve them (or at - least more information on what they mean). - - * maintMakefile (NMAKEFILES): Use the new automake 1.3 feature - to create a dependency file to construct Makefile.DOS, SMakefile, - and NMakefile. - (.dep_segment): Generate the dependency fragment file. - -1998-05-14 Paul D. Smith - - * make.man: Minor changes. - -1998-05-13 Paul D. Smith - - * function.c (pattern_matches,expand_function): Change variables - and types named "word" to something else, to avoid compilation - problems on Cray C90 Unicos. - * variable.h: Modify the function prototype. - -1998-05-11 Rob Tulloh - - * job.c (construct_command_argv_internal) [WINDOWS32]: Turn off - echo when using a batch file, and make sure the command ends in a - newline. - -1998-05-03 Paul D. Smith - - * configure.in (make_try_customs): Add some customs flags if the - user configures custom support. - - * job.c, remote-cstms.c: Merge in changes for custom library. - - * remote-stub.c: Add option to stub start_remote_job_p(). - -1998-05-01 Paul D. Smith - - * remake.c (f_mtime): Install VPATH+ handling for archives; use - the hname field instead of the name field, and rehash when - appropriate. - -1998-04-30 Paul D. Smith - - * rule.c (print_rule_data_base): Print out any pattern-specific - variable values into the rules database. - - * variable.c (print_variable_set): Make this variable extern, to - be called by print_rule_data_base() for pattern-specific variables. - - * make.texinfo (Pattern-specific): Document pattern-specific - variables. - -1998-04-29 Paul D. Smith - - * expand.c (variable_expand_for_file): Make static; its only - called internally. Look up this target in the list of - pattern-specific variables and insert the variable set into the - queue to be searched. - - * filedef.h (struct file): Add a new field to hold the - previously-found pattern-specific variable reference. Add a new - flag to remember whether we already searched for this file. - - * rule.h (struct pattern_var): New structure for storing - pattern-specific variable values. Define new function prototypes. - - * rule.c: New variables pattern_vars and last_pattern_var for - storage and handling of pattern-specific variable values. - (create_pattern_var): Create a new pattern-specific variable value - structure. - (lookup_pattern_var): Try to match a target to one of the - pattern-specific variable values. - -1998-04-22 Paul D. Smith - - * make.texinfo (Target-specific): Document target-specific - variables. - -1998-04-21 Paul D. Smith - - * variable.c (define_variable_in_set): Made globally visible. - (lookup_variable_in_set): New function: like lookup_variable but - look only in a specific variable set. - (target_environment): Use lookup_variable_in_set() to get the - correct export rules for a target-specific variable. - (create_new_variable_set): Create a new variable set, and just - return it without installing it anywhere. - (push_new_variable_scope): Reimplement in terms of - create_new_variable_set. - - * read.c (record_target_var): Like record_files, but instead of - files create a target-specific variable value for each of the - listed targets. Invoked from read_makefile() when the target line - turns out to be a target-specific variable assignment. - -1998-04-19 Paul D. Smith - - * read.c (read_makefile): Rewrite the entire target parsing - section to implement target-specific variables. In particular, we - cannot expand the entire line as soon as it's read in, since we - may want to evaluate parts of it with different variable contexts - active. Instead, start expanding from the beginning until we find - the `:' (or `::'), then determine what kind of line this is and - continue appropriately. - - * read.c (get_next_mword): New function to parse a makefile line - by "words", considering an entire variable or function as one - word. Return the type read in, along with its starting position - and length. - (enum make_word_type): The types of words that are recognized by - get_next_mword(). - - * variable.h (struct variable): Add a flag to specify a per-target - variable. - - * expand.c: Make variable_buffer global. We need this during the - new parsing of the makefile. - (variable_expand_string): New function. Like variable_expand(), - but start at a specific point in the buffer, not the beginning. - (variable_expand): Rewrite to simply call variable_expand_string(). - -1998-04-13 Paul D. Smith - - * remake.c (update_goal_chain): Allow the rebuilding makefiles - step to use parallel jobs. Not sure why this was disabled: - hopefully we won't find out :-/. - -1998-04-11 Paul D. Smith - - * main.c (main): Set the CURDIR makefile variable. - * make.texinfo (Recursion): Document it. - -1998-03-17 Paul D. Smith - - * misc.c (makefile_fatal): If FILE is nil, invoke plain fatal(). - * variable.c (try_variable_definition): Use new feature. - -1998-03-10 Paul D. Smith - - * main.c (main): Don't pass included, rebuilt makefiles to - re-exec'd makes with -o. Reopens a possible loop, but it caused - too many problems. - -1998-03-02 Paul D. Smith - - * variable.c (try_variable_definition): Implement ?=. - * make.texinfo (Setting): Document it. - -1998-02-28 Eli Zaretskii - - * job.c (start_job_command): Reset execute_by_shell after an empty - command, like ":", has been seen. - -Tue Oct 07 15:00:00 1997 Phil Brooks - - * make.h [WINDOWS32]: make case sensitivity configurable - * dir.c [WINDOWS32]: make case sensitivity configurable - * README.W32: Document case sensitivity - * config.ami: Share case warping code with Windows - -Mon Oct 6 18:48:45 CDT 1997 Rob Tulloh - - * w32/subproc/sub_proc.c: Added support for MKS toolkit shell - (turn on HAVE_MKS_SHELL). - * read.c [WINDOWS32]: Fixed a problem with multiple target rules - reported by Gilbert Catipon (gcatipon@tibco.com). If multiple - path tokens in a rule did not have drive letters, make would - incorrectly concatenate the 2 tokens together. - * main.c/variable.c [WINDOWS32]: changed SHELL detection code to - follow what MSDOS did. In addition to watching for SHELL variable - updates, make's main will attempt to default the value of SHELL - before and after makefiles are parsed. - * job.c/job.h [WINDOWS32]: The latest changes made to enable use - of the GNUWIN32 shell from make could cause make to fail due to a - concurrency condition between parent and child processes. Make - now creates a batch file per job instead of trying to reuse the - same singleton batch file. - * job.c/job.h/function.c/config.h.W32 [WINDOWS32]: Renamed macro - from HAVE_CYGNUS_GNUWIN32_TOOLS to BATCH_MODE_ONLY_SHELL. Reworked - logic to reduce complexity. WINDOWS32 now uses the unixy_shell - variable to detect Bourne-shell compatible environments. There is - also a batch_mode_shell variable that determines whether not - command lines should be executed via script files. A WINDOWS32 - system with no sh.exe installed would have unixy_shell set to - FALSE and batch_mode_shell set to TRUE. If you have a unixy shell - that does not behave well when invoking things via 'sh -c xxx', - you may want to turn on BATCH_MODE_ONLY_SHELL and see if things - improve. - * NMakefile: Added /D DEBUG to debug build flags so that unhandled - exceptions could be debugged. - -Mon Oct 6 00:04:25 1997 Rob Tulloh - - * main.c [WINDOWS32]: The function define_variable() does not - handle NULL. Test before calling it to set Path. - * main.c [WINDOWS32]: Search Path again after makefiles have been - parsed to detect sh.exe. - * job.c [WINDOWS32]: Added support for Cygnus GNU WIN32 tools. - To use, turn on HAVE_CYGNUS_GNUWIN32_TOOLS in config.h.W32. - * config.h.W32: Added HAVE_CYGNUS_GNUWIN32_TOOLS macro. - -Sun Oct 5 22:43:59 1997 John W. Eaton - - * glob/glob.c (glob_in_dir) [VMS]: Globbing shouldn't be - case-sensitive. - * job.c (child_execute_job) [VMS]: Use a VMS .com file if the - command contains a newline (e.g. from a define/enddef block). - * vmsify.c (vmsify): Return relative pathnames wherever possible. - * vmsify.c (vmsify): An input string like "../.." returns "[--]". - -Wed Oct 1 15:45:09 1997 Rob Tulloh - - * NMakefile: Changed nmake to $(MAKE). - * subproc.bat: Take the make command name from the command - line. If no command name was given, default to nmake. - * job.c [MSDOS, WINDOWS32]: Fix memory stomp: temporary file names - are now always created in heap memory. - * w32/subproc/sub_proc.c: New implementation of make_command_line() - which is more compatible with different Bourne shell implementations. - Deleted the now obsolete fix_command_line() function. - * main.c [WINDOWS32]: Any arbitrary spelling of Path can be - detected. Make will ensure that the special spelling `Path' is - inserted into the environment when the path variable is propagated - within itself and to make's children. - * main.c [WINDOWS32]: Detection of sh.exe was occurring too - soon. The 2nd check for the existence of sh.exe must come after - the call to read_all_makefiles(). - -Fri Sep 26 01:14:18 1997 - - * makefile.com [VMS]: Fixed definition of sys. - * readme.vms: Comments on what's changed lately. - -Fri Sep 26 01:14:18 1997 John W. Eaton - - * read.c (read_all_makefiles): Allow make to find files named - "MAKEFILE" with no extension on VMS. - * file.c (lookup_file): Lowercase filenames on VMS. - -1997-09-29 Paul D. Smith - - * read.c (read_makefile): Reworked target detection again; the old - version had an obscure quirk. - -Fri Sep 19 09:20:49 1997 Paul D. Smith - - * Version 3.76.1 released. - - * Makefile.am: Add loadavg files to clean rules. - - * configure.in (AC_OUTPUT): Remove stamp-config; no longer needed. - * Makefile.ami (distclean): Ditto. - * SMakefile (distclean): Ditto. - - * main.c (main): Arg count should be int, not char! Major braino. - -Tue Sep 16 10:18:22 1997 Paul D. Smith - - * Version 3.76 released. - -Tue Sep 2 10:07:39 1997 Paul D. Smith - - * function.c (expand_function): When processing $(shell...) - translate a CRLF (\r\n) sequence as well as a newline (\n) to a - space. Also remove an ending \r\n sequence. - * make.texinfo (Shell Function): Document it. - -Fri Aug 29 12:59:06 1997 Rob Tulloh - - * w32/pathstuff.c (convert_Path_to_windows32): Fix problem where - paths which contain single character entries like `.' are not - handled correctly. - - * README.W32: Document path handling issues on Windows systems. - -Fri Aug 29 02:01:27 1997 Paul D. Smith - - * Version 3.75.93. - -Thu Aug 28 19:39:06 1997 Rob Tulloh - - * job.c (exec_command) [WINDOWS32]: If exec_command() is invoked - from main() to re-exec make, the call to execvp() would - incorrectly return control to parent shell before the exec'ed - command could run to completion. I believe this is a feature of - the way that execvp() is implemented on top of WINDOWS32 APIs. To - alleviate the problem, use the supplied process launch function in - the sub_proc library and suspend the parent process until the - child process has run. When the child exits, exit the parent make - with the exit code of the child make. - -Thu Aug 28 17:04:47 1997 Paul D. Smith - - * Makefile.DOS.template (distdir): Fix a line that got wrapped in - email. - - * Makefile.am (loadavg): Give the necessary cmdline options when - linking loadavg. - - * configure.in: Check for pstat_getdynamic for getloadvg on HP. - - * job.c (start_job_command) [VMS, _AMIGA]: Don't perform empty - command optimization on these systems; it doesn't make sense. - -Wed Aug 27 17:09:32 1997 Paul D. Smith - - * Version 3.75.92 - -Tue Aug 26 11:59:15 1997 Paul D. Smith - - * main.c (print_version): Add '97 to copyright years. - - * read.c (do_define): Check the length of the array before looking - at a particular offset. - - * job.c (construct_command_argv_internal): Examine the last byte - of the previous arg, not the byte after that. - -Sat Aug 23 1997 Eli Zaretskii - - * Makefile.DOS.template: New file (converted to Makefile.DOS in - the distribution). - - * configure.bat: Rewrite to use Makefile.DOS instead of editing - Makefile.in. Add support for building from outside of the source - directory. Fail if the environment block is too small. - - * configh.dos: Use . - - * README.DOS: Update instructions. - -Fri Aug 22 1997 Eli Zaretskii - - * job.c (start_job_command) [__MSDOS__]: Don't test for "/bin/sh" - literally, use value of unixy_shell instead. - - * filedef.h (NEW_MTIME): Use 1 less than maximum possible value if - time_t is unsigned. - -Sat Aug 16 00:56:15 1997 John W. Eaton - - * vmsify.c (vmsify, case 11): After translating `..' elements, set - nstate to N_OPEN if there are still more elements to process. - (vmsify, case 2): After translating `foo/bar' up to the slash, - set nstate to N_OPEN, not N_DOT. - -Fri Aug 8 15:18:09 1997 John W. Eaton - - * dir.c (vmsstat_dir): Leave name unmodified on exit. - * make.h (PATH_SEPARATOR_CHAR): Set to comma for VMS. - * vpath.c: Fix comments to refer to path separator, not colon. - (selective_vpath_search): Avoid Unixy slash handling for VMS. - -Thu Aug 7 22:24:03 1997 John W. Eaton - - * ar.c [VMS]: Don't declare ar_member_touch. - Delete VMS version of ar_member_date. - Enable non-VMS versions of ar_member_date and ar_member_date_1 for - VMS too. - * arscan.c (VMS_get_member_info): New function. - (ar_scan): Provide version for VMS systems. - (ar_name_equal): Simply compare name and mem on VMS systems. - Don't define ar_member_pos or ar_member_touch on VMS systems. - - * config.h-vms (pid_t, uid_t): Don't define. - - * remake.c: Delete declaration of vms_stat. - (name_mtime): Don't call vms_stat. - (f_mtime) [VMS]: Funky time value manipulation no longer necessary. - - * file.c (print_file): [VMS] Use ctime, not cvt_time. - - * make.h [VMS]: Don't define POSIX. - - * makefile.com (filelist): Include ar and arscan. - Also include them in the link commands. - Don't define NO_ARCHIVES in cc command. - - * makefile.vms (ARCHIVES, ARCHIVES_SRC): Uncomment. - (defines): Delete NO_ARCHIVES from list. - - * remake.c (f_mtime): Only check to see if intermediate file is - out of date if it also exists (i.e., mtime != (time_t) -1). - - * vmsdir.h (u_long, u_short): Skip typedefs if using DEC C. - -Fri Jun 20 23:02:07 1997 Rob Tulloh - - * w32/subproc/sub_proc.c: Get W32 sub_proc to handle shebang - (#!/bin/sh) in script files correctly. - Fixed a couple of memory leaks. - Fixed search order in find_file() (w32/subproc/sub_proc.c) so that - files with extensions are preferred over files without extensions. - Added search for files with .cmd extension too. - * w32/subproc/misc.c (arr2envblk): Fixed memory leak. - -Mon Aug 18 09:41:08 1997 Paul D. Smith - - * Version 3.75.91 - -Fri Aug 15 13:50:54 1997 Paul D. Smith - - * read.c (do_define): Remember to count the newline after the endef. - -Thu Aug 14 23:14:37 1997 Paul D. Smith - - * many: Rewrote builds to use Automake 1.2. - - * AUTHORS: New file. - * maintMakefile: Contains maintainer-only make snippets. - * GNUmakefile: This now only runs the initial auto* tools. - * COPYING,texinfo.tex,mkinstalldirs,install-sh: Removed (obtained - automatically by automake). - * compatMakefile: Removed (not needed anymore). - * README,build.sh.in: Removed (built from templates). - * config.h.in,Makefile.in: Removed (built by tools). - -Wed Aug 13 02:22:08 1997 Paul D. Smith - - * make.texinfo: Updates for DOS/Windows information (Eli Zaretskii) - * README,README.DOS: Ditto. - - * remake.c (update_file_1,f_mtime): Fix GPATH handling. - * vpath.c (gpath_search): Ditto. - - * file.c (rename_file): New function: rehash, but also rename to - the hashname. - * filedef.h: Declare it. - - * variable.c (merge_variable_set_lists): Remove free() of variable - set; since various files can share variable sets we don't want to - free them here. - -Tue Aug 12 10:51:54 1997 Paul D. Smith - - * configure.in: Require autoconf 2.12 - - * make.texinfo: Replace all "cd subdir; $(MAKE)" examples with a - more stylistically correct "cd subdir && $(MAKE)". - - * main.c: Global variable `clock_skew_detected' defined. - (main): Print final warning if it's set. - * make.h: Declare it. - * remake.c (f_mtime): Test and set it. - - * job.c (start_job_command): Add special optimizations for - "do-nothing" rules, containing just the shell no-op ":". This is - useful for timestamp files and can make a real difference if you - have a lot of them (requested by Fergus Henderson ). - - * configure.in,Makefile.in: Rewrote to use the new autoconf - program_transform_name macro. - - * function.c (function_strip): Strip newlines as well as spaces - and TABs. - -Fri Jun 6 23:41:04 1997 Rob Tulloh - - * remake.c (f_mtime): Datestamps on FAT-based files are rounded to - even seconds when stored, so if the date check fails on WINDOWS32 - systems, see if this "off-by-one" error is the problem. - - * General: If your TZ environment variable is not set correctly - then all your timestamps will be off by hours. So, set it! - -Mon Apr 7 02:06:22 1997 Paul D. Smith - - * Version 3.75.1 - - * compatMakefile (objs): Define & use the $(GLOB) variable so - that it's removed correctly from build.sh.in when it's built. - - * configure.in: On Solaris we can use the kstat_*() functions to - get load averages without needing special permissions. Add a - check for -lkstat to see if we have it. - - * getloadavg.c (getloadavg): Use HAVE_LIBKSTAT instead of SUN5 as - the test to enable kstat_open(), etc. processing. - -Fri Apr 4 20:21:18 1997 Eli Zaretskii - - * : Fixes to work in the DJGPP DOS environment. - -Mon Mar 31 02:42:52 1997 Paul D. Smith - - * function.c (expand_function): Added new function $(wordlist). - - * make.texinfo (Filename Functions): Document $(wordlist) function. - - * vpath.c (build_vpath_lists): Construct the GPATH variable - information in the same manner we used to construct VPATH. - (gpath_search): New function to search GPATH. - - * make.h: Declare the new function. - - * remake.c (update_file_1): Call it, and keep VPATH if it's found. - - * make.texinfo (Search Algorithm): Document GPATH variable. - -Sun Mar 30 20:57:16 1997 Paul D. Smith - - * main.c (handle_non_switch_argument): Defined the MAKECMDGOALS - variable to contain the user options passed in on the cmd line. - - * make.texinfo (Goals): Document MAKECMDGOALS variable. - - * remake.c (f_mtime): Print a warning if we detect a clock skew - error, rather than failing. - - * main.c (main): If we rebuild any makefiles and need to re-exec, - add "-o" options for each makefile rebuilt to avoid - infinite looping. - -Fri Mar 28 15:26:05 1997 Paul D. Smith - - * job.c (construct_command_argv_internal): Track whether the last - arg in the cmd string was empty or not (Roland). - (construct_command_argv_internal): If the shell line is empty, - don't do anything (Roland). - - * glob/glob.h,glob/glob.c,glob/fnmatch.c,glob/fnmatch.h: Install - the latest changes from the GLIBC version of glob (Ulrich Drepper). - - * getloadavg.c,make-stds.texi: New version (Roland). - - * (ALL): Changed WIN32 to W32 or WINDOWS32 (RMS). - -Mon Mar 24 15:33:34 1997 Rob Tulloh - - * README.W32: Describe preliminary FAT support. - - * build_w32.bat: Use a variable for the final exe name. - - * dir.c (find_directory): W32: Find the filesystem type. - (dir_contents_file_exists_p): W32: for FAT filesystems, always - rehash since FAT doesn't change directory mtime on change. - - * main.c (handle_runtime_exceptions): W32: Add an - UnhandledExceptionFilter so that when make bombs due to ^C or a - bug, it won't cause a GUI requestor to pop up unless debug is - turned on. - (main): Call it. - -Mon Mar 24 00:57:34 1997 Paul D. Smith - - * configure.in, config.h.in, config.ami, config.h-vms, config.h.w32: - Check for memmove() function. - - * make.h (bcopy): If memmove() available, define bcopy() to use it. - Otherwise just use bcopy(). Don't use memcpy(); it's not guaranteed - to handle overlapping moves. - - * read.c (read_makefile): Fix some uninitialized memory reads - (reported by Purify). - - * job.c (construct_command_argv_internal): Use bcopy() not - strcpy(); strcpy() isn't guaranteed to handle overlapping moves. - - * Makefile.in: Change install-info option ``--infodir'' to - ``--info-dir'' for use with new texinfo. - - * function.c (expand_function): $(basename) and $(suffix) should - only search for suffixes as far back as the last directory (e.g., - only the final filename in the path). - -Sun Mar 23 00:13:05 1997 Paul D. Smith - - * make.texinfo: Add @dircategory/@direntry information. - (Top): Remove previous reference to (dir) (from RMS). - (Static Usage): Add "all:" rule to example. - (Automatic Dependencies): fix .d file creation example. - - * Install VPATH+ patch: - - * filedef.h (struct file): Add in hname field to store the hashed - filename, and a flag to remember if we're using the vpath filename - or not. Renamed a few functions for more clarity. - - * file.c (lookup_file,enter_file,file_hash_enter): Store filenames - in the hash table based on their "hash name". We can change this - while keeping the original target in "name". - (rehash_file): Renamed from "rename_file" to be more accurate. - Changes the hash name, but not the target name. - - * remake.c (update_file_1): Modify -d output for more detailed - VPATH info. If we don't need to rebuild, use the VPATH name. - (f_mtime): Don't search for vpath if we're ignoring it. Call - renamed function rehash_file. Call name_mtime instead of - file_mtime, to avoid infinite recursion since the file wasn't - actually renamed. - - * implicit.c (pattern_search): if we find an implicit file in - VPATH, save the original name not the VPATH name. - - * make.texinfo (Directory Search): Add a section on the new VPATH - functionality. - -Sun Dec 1 18:36:04 1996 Andreas Schwab - - * dir.c (file_exists_p, file_impossible, file_impossible_p): If - dirname is empty replace it by the name of the root directory. - Note that this doesn't work (yet) for W32, Amiga, or VMS. - -Tue Oct 08 13:57:03 1996 Rob Tulloh - - * main.c (main): W32 bug fix for PATH vars. - -Tue Sep 17 1996 Paul Eggert - - * filedef.h (NEW_MTIME): Don't assume that time_t is a signed - 32-bit quantity. - - * make.h: (CHAR_BIT, INTEGER_TYPE_SIGNED, INTEGER_TYPE_MAXIMUM, - INTEGER_TYPE_MINIMUM): New macros. - -Tue Aug 27 01:06:34 1996 Roland McGrath - - * Version 3.75 released. - - * main.c (print_version): Print out bug-reporting address. - -Mon Aug 26 19:55:47 1996 Roland McGrath - - * main.c (print_data_base): Don't declare ctime; headers do it for us - already. - -Sun Jul 28 15:37:09 1996 Rob Tulloh (tulloh@tivoli.com) - - * w32/pathstuff.c: Turned convert_vpath_to_w32() into a - real function. This was done so that VPATH could contain - white space separated pathnames. Please note that directory - paths (in VPATH/vpath context) containing white space are not - supported (just as they are not under Unix). See README.W32 - for suggestions. - - * w32/include/pathstuff.h: Added prototype for the new - function convert_vpath_to_w32. Deleted macro for same. - - * README.W32: Added some notes about why I chose not to try - and support pathnames which contain white space and some - workaround suggestions. - -Thu Jul 25 19:53:31 1996 Roland McGrath - - * GNUmakefile (mkdep-nolib): Use -MM option unconditionally. - - * Version 3.74.7. - - * main.c (define_makeflags): Back up P to point at null terminator - when killing final space and dash before setting MFLAGS. - - From Robert Hoehne : - * dir.c [__MSDOS__ && DJGPP > 1]: Include and defin - `__opendir_flags' initialized to 0. - (dosify) [__MSDOS__ && DJGPP > 1]: Return name unchanged if _USE_LFN. - (find_directory) [__MSDOS__ && DJGPP > 1]: If _USE_LGN, set - __opendir_flags to __OPENDIR_PRESERVE_CASE. - - * vmsfunctions.c (vms_stat): `sys$dassgn (DevChan);' added by kkaempf. - - * GNUmakefile (w32files): Add NMakefile. - - * NMakefile (LDFLAGS_debug): Value fixed by tulloh. - -Sat Jul 20 12:32:10 1996 Klaus Kämpf (kkaempf@progis.de) - - * remake.c (f_mtime) [VMS]: Add missing `if' conditional for future - modtime check. - * config.h-vms, makefile.vms, readme.vms, vmsify.c: Update address. - -Sat Jul 20 05:29:43 1996 Roland McGrath - - * configure.in: Require autoconf 2.10 or later. - -Fri Jul 19 16:57:27 1996 Roland McGrath - - * Version 3.74.6. - - * GNUmakefile (w32files): New variable. - (distfiles): Add it. - * w32: Updated by Rob Tulloh. - - * makefile.vms (LOADLIBES): Fix typo. - -Sun Jul 14 12:59:27 1996 Roland McGrath - - * job.c (construct_command_argv_internal): Fix up #else, #endifs. - - * configh.dos: Define HAVE_DIRENT_H instead of DIRENT. - - * remake.c (f_mtime): Don't compare MTIME to NOW if MTIME == -1. - - * Version 3.74.5. - - * main.c (main): Exit with status 2 when update_goal_chain returns 2. - -Sat Jun 22 14:56:05 1996 Roland McGrath - - * configure.in: Don't check for _sys_siglist. - * make.h [HAVE__SYS_SIGLIST]: Don't test this; just punt if there is - no strsignal or sys_siglist. - - * read.c (conditional_line): Strip ws in `ifeq (a , b)' so it is the - same as `ifeq (a, b)'. - - * job.c (reap_children): Don't call die if handling_fatal_signal. - - * file.c (file_hash_enter): Allow renaming :: to : when latter is - non-target, or : to :: when former is non-target. - - * job.c (start_job_command): Call block_sigs. - (block_sigs): New function, broken out of start_job_command. - (reap_children): Block fatal signals around removing dead child from - chain and adjusting job_slots_used. - * job.h: Declare block_sigs. - - * remote-stub.c (remote_setup, remote_cleanup): New (empty) functions. - * main.c (main): Call remote_setup. - (die): Call remote_cleanup. - - * job.c (reap_children): Quiescent value of shell_function_pid is - zero, not -1. - - * main.c (print_version): Add 96 to copyright years. - -Sat Jun 15 20:30:01 1996 Andreas Schwab - - * read.c (find_char_unquote): Avoid calling strlen on every call - just to throw away the value most of the time. - -Sun Jun 2 12:24:01 1996 Roland McGrath - - * main.c (decode_env_switches): Prepend '-' to ARGV[1] if it contains - no '=', regardless of ARGC. - (define_makeflags): Elide leading '-' from MAKEFLAGS value if first - word is short option, regardless of WORDS. - -Wed May 22 17:24:51 1996 Roland McGrath - - * makefile.vms: Set LOADLIBES. - * makefile.com (link_using_library): Fix typo. - -Wed May 15 17:37:26 1996 Roland McGrath - - * dir.c (print_dir_data_base): Use %ld dev and ino and cast them to - long. - -Wed May 15 10:14:14 CDT 1996 Rob Tulloh - - * dir.c: W32 does not support inode. For now, fully qualified - pathname along with st_mtime will be keys for files. - Fixed problem where vpath can be confused when files - are added to a directory after the directory has already been - read in. The code now attempts to reread the directory if it - discovers that the datestamp on the directory has changed since - it was cached by make. This problem only seems to occur on W32 - right now so it is lumped under port #ifdef WINDOWS32. - - * function.c: W32: call subproc library (CreateProcess()) instead of - fork/exec. - - * job.c: W32: Added the code to do fork/exec/waitpid style processing - on W32 systems via calls to subproc library. - - * main.c: W32: Several things added here. First, there is code - for dealing with PATH and SHELL defaults. Make tries to figure - out if the user has %PATH% set in the environment and sets it to - %Path% if it is not set already. Make also looks to see if sh.exe - is anywhere to be found. Code path through job.c will change - based on existence of a working Bourne shell. The checking for - default shell is done twice: once before makefiles are read in - and again after. Fall back to MSDOS style execution mode if no sh.exe - is found. Also added some debug support that allows user to pause make - with -D switch and attach a debugger. This is especially useful for - debugging recursive calls to make where problems appear only in the - sub-make. - - * make.h: W32: A few macros and header files for W32 support. - - * misc.c: W32: Added a function end_of_token_w32() to assist - in parsing code in read.c. - - * read.c: W32: Fixes similar to MSDOS which allow colon to - appear in filenames. Use of colon in filenames would otherwise - confuse make. - - * remake.c: W32: Added include of io.h to eliminate compiler - warnings. Added some code to default LIBDIR if it is not set - on W32. - - * variable.c: W32: Added support for detecting Path/PATH - and converting them to semicolon separated lists for make's - internal use. New function sync_Path_environment() - which is called in job.c and function.c before creating a new - process. Caller must set Path in environment since we don't - have fork() to do this for us. - - * vpath.c: W32: Added detection for filenames containing - forward or backward slashes. - - * NMakefile: W32: Visual C compatible makefile for use with nmake. - Use this to build GNU make the first time on Windows NT or Windows 95. - - * README.W32: W32: Contains some helpful notes. - - * build_w32.bat: W32: If you don't like nmake, use this the first - time you build GNU make on Windows NT or Windows 95. - - * config.h.W32: W32 version of config.h - - * subproc.bat: W32: A bat file used to build the - subproc library from the top-level NMakefile. Needed because - WIndows 95 (nmake) doesn't allow you to cd in a make rule. - - * w32/include/dirent.h - * w32/compat/dirent.c: W32: opendir, readdir, closedir, etc. - - * w32/include/pathstuff.h: W32: used by files needed functions - defined in pathstuff.c (prototypes). - - * w32/include/sub_proc.h: W32: prototypes for subproc.lib functions. - - * w32/include/w32err.h: W32: prototypes for w32err.c. - - * w32/pathstuff.c: W32: File and Path/Path conversion functions. - - * w32/subproc/build.bat: W32: build script for subproc library - if you don't wish to use nmake. - - * w32/subproc/NMakefile: W32: Visual C compatible makefile for use - with nmake. Used to build subproc library. - - * w32/subproc/misc.c: W32: subproc library support code - * w32/subproc/proc.h: W32: subproc library support code - * w32/subproc/sub_proc.c: W32: subproc library source code - * w32/subproc/w32err.c: W32: subproc library support code - -Mon May 13 14:37:42 1996 Roland McGrath - - * Version 3.74.4. - - * GNUmakefile (vmsfiles): Fix typo. - - * GNUmakefile (amigafiles): Add amiga.h. - -Sun May 12 19:19:43 1996 Aaron Digulla - - * dir.c: New function: amigafy() to fold filenames - Changes HASH() to HASHI() to fold filenames on Amiga. - Stringcompares use strieq() instead of streq() - The current directory on Amiga is "" instead of "." - * file.c: Likewise. - - * amiga.c: New function wildcard_expansion(). Allows to use - Amiga wildcards with $(wildcard ) - - * amiga.h: New file. Prototypes for amiga.c - - * function.c: Use special function wildcard_expansion() for - $(wildcard ) to allow Amiga wildcards - The current directory on Amiga is "" instead of "." - - * job.c: No Pipes on Amiga, too - (load_too_high) Neither on Amiga - ENV variable on Amiga are in a special directory and are not - passed as third argument to main(). - - * job.h: No envp on Amiga - - * make.h: Added HASHI(). This is the same as HASH() but converts - it's second parameter to lowercase on Amiga to fold filenames. - - * main.c: (main), variable.c Changed handling of ENV-vars. Make - stores now the names of the variables only and reads their contents - when they are accessed to reflect that these variables are really - global (ie. they CAN change WHILE make runs !) This handling is - made in lookup_variable() - - * Makefile.ami: renamed file.h to filedep.h - Updated dependencies - - * read.c: "find_semicolon" is declared as static but never defined. - No difference between Makefile and makefile on Amiga; added - SMakefile to *default_makefiles[]. - (read_makefile) SAS/C want's two_colon and pattern_percent be set - before use. - The current directory on Amiga is "" instead of "." - Strange #endif moved. - - * README.Amiga: updated feature list - - * SMakefile: Updated dependencies - - * variable.c: Handling of ENV variable happens inside lookup_variable() - -Sat May 11 17:58:32 1996 Roland McGrath - - * variable.c (try_variable_definition): Count parens in lhs variable - refs to avoid seeing =/:=/+= inside a ref. - -Thu May 9 13:54:49 1996 Roland McGrath - - * commands.c (fatal_error_signal) [SIGQUIT]: Make SIGQUIT check - conditional. - - * main.c (main): Use unsigned for fread return. - - * read.c (parse_file_seq): Use `int' for char arg to avoid widening - conflict issues. - * dep.h: Fix prototype. - - * function.c (expand_function) [_AMIGA]: Fix some typos. - (patsubst_expand): Make len vars unsigned. - - * GNUmakefile (globfiles): Add AmigaDOS support files. - (distfiles): Add $(amigafiles). - (amigafiles): New variable. - -Thu Nov 7 10:18:16 1995 Aaron Digulla - - * Added Amiga support in commands.c, dir.c, function.c, - job.c, main.c, make.h, read.c, remake.c - * commands.c: Amiga has neither SIGHUP nor SIGQUIT - * dir.c: Amiga has filenames with Upper- and Lowercase, - but "FileName" is the same as "filename". Added strieq() - which is use to compare filenames. This is like streq() - on all other systems. Also there is no such thing as - "." under AmigaDOS. - * function.c: On Amiga, the environment is not passed as envp, - there are no pipes and Amiga can't fork. Use my own function - to create a new child. - * job.c: default_shell is "" (The system automatically chooses - a shell for me). Have to use the same workaround as MSDOS for - running batch commands. Added HAVE_SYS_PARAM_H. NOFILE isn't - known on Amiga. Cloned code to run children from MSDOS. Own - version of sh_chars[] and sh_cmds[]. No dup2() or dup() on Amiga. - * main.c: Force stack to 20000 bytes. Read environment from ENV: - device. On Amiga, exec_command() does return, so I exit() - afterwards. - * make.h: Added strieq() to compare filenames. - * read.c: Amiga needs special extension to have passwd. Only - one include-dir. "Makefile" and "makefile" are the same. - Added "SMakefile". Added special code to handle device names (xxx:) - and "./" in rules. - * remake.c: Only one lib-dir. Amiga link-libs are named "%s.lib" - instead of "lib%s.a". - * main.c, rule.c, variable.c: Avoid floats at all costs. - * vpath.c: Get rid of as many alloca()s as possible. - -Thu May 9 13:20:43 1996 Roland McGrath - - * read.c (read_makefile): Grok `sinclude' as alias for `-include'. - -Wed Mar 20 09:52:27 1996 Roland McGrath - - * GNUmakefile (vmsfiles): New variable. - (distfiles): Include $(vmsfiles). - -Tue Mar 19 20:21:34 1996 Roland McGrath - - Merged VMS port from Klaus Kaempf . - * make.h (PARAMS): New macro. - * config.h-vms: New file. - * makefile.com: New file. - * makefile.vms: New file. - * readme.vms: New file. - * vmsdir.h: New file. - * vmsfunctions.c: New file. - * vmsify.c: New file. - * file.h: Renamed to filedef.h to avoid conflict with VMS system hdr. - * ar.c: Added prototypes and changes for VMS. - * commands.c: Likewise. - * commands.h: Likewise. - * default.c: Likewise. - * dep.h: Likewise. - * dir.c: Likewise. - * expand.c: Likewise. - * file.c: Likewise. - * function.c: Likewise. - * implicit.c: Likewise. - * job.c: Likewise. - * job.h: Likewise. - * main.c: Likewise. - * make.h: Likewise. - * misc.c: Likewise. - * read.c: Likewise. - * remake.c: Likewise. - * remote-stub.c: Likewise. - * rule.c: Likewise. - * rule.h: Likewise. - * variable.c: Likewise. - * variable.h: Likewise. - * vpath.c: Likewise. - * compatMakefile (srcs): Rename file.h to filedef.h. - -Sat Aug 19 23:11:00 1995 Richard Stallman - - * remake.c (check_dep): For a secondary file, try implicit and - default rules if appropriate. - -Wed Aug 2 04:29:42 1995 Richard Stallman - - * remake.c (check_dep): If an intermediate file exists, - do consider its actual date. - -Sun Jul 30 00:49:53 1995 Richard Stallman - - * file.h (struct file): New field `secondary'. - * file.c (snap_deps): Check for .INTERMEDIATE and .SECONDARY. - (remove_intermediates): Don't delete .SECONDARY files. - -Sat Mar 2 16:26:52 1996 Roland McGrath - - * compatMakefile (srcs): Add getopt.h; prepend $(srcdir)/ to getopt*. - -Fri Mar 1 12:04:47 1996 Roland McGrath - - * Version 3.74.3. - - * remake.c (f_mtime): Move future modtime check before FILE is - clobbered by :: loop. - - * dir.c: Use canonical code from autoconf manual for dirent include. - [_D_NAMLEN]: Redefine NAMLEN using this. - (dir_contents_file_exists_p): Use NAMLEN macro. - (read_dirstream) [_DIRENT_HAVE_D_NAMLEN]: Only set d_namlen #if this. - - * compatMakefile (objs): Add missing backslash. - -Wed Feb 28 03:56:20 1996 Roland McGrath - - * default.c (default_terminal_rules): Remove + prefix from RCS cmds. - (default_variables): Put + prefix in $(CHECKOUT,v) value instead. - - * remake.c (f_mtime): Check for future timestamps; give error and mark - file as "failed to update". - -Fri Jan 12 18:09:36 1996 Roland McGrath - - * job.c: Don't declare unblock_sigs; job.h already does. - -Sat Jan 6 16:24:44 1996 Roland McGrath - - * acconfig.h (HAVE_SYSCONF_OPEN_MAX): #undef removed. - - * job.c (NGROUPS_MAX): Don't try to define this macro. - -Fri Dec 22 18:44:44 1995 Roland McGrath - - * compatMakefile (GETOPT, GETOPT_SRC, GLOB): Variables removed. - (objs, srcs): Include their values here instead of references. - -Thu Dec 14 06:21:29 1995 Roland McGrath - - * Version 3.74.2. - - * job.c (reap_children): Call unblock_sigs after start_job_command. - -Thu Dec 14 07:22:03 1995 Roland McGrath - - * dir.c (dir_setup_glob): Don't use lstat; glob never calls it anyway. - Avoid & before function names to silence bogus sunos4 compiler. - - * configure.in: Remove check for `sysconf (_SC_OPEN_MAX)'. - -Tue Dec 12 00:48:42 1995 Roland McGrath - - * Version 3.74.1. - - * dir.c (read_dirstream): Fix braino: fill in the buffer when not - reallocating it! - -Mon Dec 11 22:26:15 1995 Roland McGrath - - * misc.c (collapse_continuations): Fix skipping of trailing \s so - it can never dereference before the beginning of the array. - - * read.c (find_semicolon): Function removed. - (read_makefile): Don't use find_semicolon or remove_comments for - rule lines. Use find_char_unquote directly and handle quoted comments - properly. - - * default.c: Remove all [M_XENIX] code. - - * dir.c [HAVE_D_NAMLEN]: Define this for __GNU_LIBRARY__ > 1. - (D_NAMLEN): Macro removed. - (FAKE_DIR_ENTRY): New macro. - (dir_contents_file_exists_p): Test HAVE_D_NAMLEN instead of using - D_NAMLEN. - (read_dirstream): Return a struct dirent * for new glob interface. - (init_dir): Function removed. - (dir_setup_glob): New function. - * main.c (main): Don't call init_dir. - * read.c (multi_glob): Call dir_setup_glob on our glob_t and use - GLOB_ALTDIRFUNC flag. - - * misc.c (safe_stat): Function removed. - * read.c, commands.c, remake.c, vpath.c: Use plain stat instead of - safe_stat. - -Sat Nov 25 20:35:18 1995 Roland McGrath - - * job.c [HAVE_UNION_WAIT]: Include sys/wait.h. - - * main.c (log_working_directory): Made global. - Print entering msg only once. - * make.h (log_working_directory): Declare it. - * misc.c (message): Take new arg PREFIX. Print "make: " only if - nonzero. Call log_working_directory. - * remake.c: Pass new arg in `message' calls. - * job.c (start_job_command): Pass new arg to `message'; fix - inverted test in that call. - -Tue Nov 21 19:01:12 1995 Roland McGrath - - * job.c (start_job_command): Use `message' to print the command, - and call it with null if the command is silent. - * remake.c (touch_file): Use message instead of printf. - -Tue Oct 10 14:59:30 1995 Roland McGrath - - * main.c (enter_command_line_file): Barf if NAME is "". - -Sat Sep 9 06:33:20 1995 Roland McGrath - - * commands.c (delete_target): Ignore unlink failure if it is ENOENT. - -Thu Aug 17 15:08:57 1995 Roland McGrath - - * configure.in: Don't check for getdtablesize. - * job.c (getdtablesize): Remove decls and macros. - -Thu Aug 10 19:10:03 1995 Roland McGrath - - * main.c (define_makeflags): Omit command line variable - definitions from MFLAGS value. - - * arscan.c (ar_scan) [AIAMAG]: Check for zero MEMBER_OFFSET, - indicating a valid, but empty, archive. - -Mon Aug 7 15:40:03 1995 Roland McGrath - - * dir.c (file_impossible_p): Correctly reset FILENAME to name - within directory before hash search. - - * job.c (child_error): Do nothing if IGNORED under -s. - - * job.c (exec_command): Correctly use ARGV[0] for script name when - running shell directly. - -Tue Aug 1 14:39:14 1995 Roland McGrath - - * job.c (child_execute_job): Close STDIN_FD and STDOUT_FD after - dup'ing from them. Don't try to close all excess descriptors; - getdtablesize might return a huge value. Any open descriptors in - the parent should have FD_CLOEXEC set. - (start_job_command): Set FD_CLOEXEC flag on BAD_STDIN descriptor. - -Tue Jun 20 03:47:15 1995 Roland McGrath - - * read.c (read_all_makefiles): Properly append default makefiles - to the end of the `read_makefiles' chain. - -Fri May 19 16:36:32 1995 Roland McGrath - - * Version 3.74 released. - -Wed May 10 17:43:34 1995 Roland McGrath - - * Version 3.73.3. - -Tue May 9 17:15:23 1995 Roland McGrath - - * compatMakefile ($(infodir)/make.info): Make sure $$dir is set in - install-info cmd. - -Wed May 3 15:56:06 1995 Roland McGrath - - * file.c (print_file): Grok update_status of 1 for -q. - -Thu Apr 27 12:39:35 1995 Roland McGrath - - * Version 3.73.2. - -Wed Apr 26 17:15:57 1995 Roland McGrath - - * file.c (remove_intermediates): Fix inverted test to bail under - -n for signal case. Bail under -q or -t. - Skip files with update_status==-1. - - * job.c (job_next_command): Skip empty lines. - (new_job): Don't test the return of job_next_command. - Just let start_waiting_job handle the case of empty commands. - -Wed Apr 19 03:25:54 1995 Roland McGrath - - * function.c [__MSDOS__]: Include . From DJ Delorie. - - * Version 3.73.1. - -Sat Apr 8 14:53:24 1995 Roland McGrath - - * remake.c (notice_finished_file): Set FILE->update_status to zero - if it's -1. - -Wed Apr 5 00:20:24 1995 Roland McGrath - - * Version 3.73 released. - -Tue Mar 28 13:25:46 1995 Roland McGrath - - * main.c (main): Fixed braino in assert. - - * Version 3.72.13. - -Mon Mar 27 05:29:12 1995 Roland McGrath - - * main.c: Avoid string in assert expression. Some systems are broken. - -Fri Mar 24 00:32:32 1995 Roland McGrath - - * main.c (main): Handle 1 and 2 returns from update_goal_chain - makefile run properly. - - * Version 3.72.12. - - * main.c (handle_non_switch_argument): New function, broken out of - decode_switches. - (decode_switches): Set optind to 0 to reinitialize getopt, not to 1. - When getopt_long returns EOF, break the loop and handle remaining args - with a simple second loop. - - * remake.c (remake_file): Set update_status to 2 instead of 1 for - no rule to make. Mention parent (dependent) in error message. - (update_file_1): Handle FILE->update_status == 2 in -d printout. - * job.c (start_job_command, reap_children): Set update_status to 2 - instead of 1 for failed commands. - -Tue Mar 21 16:23:38 1995 Roland McGrath - - * job.c (search_path): Function removed (was already #if 0'd out). - * configure.in: Remove AC_TYPE_GETGROUPS; nothing needs it any more. - -Fri Mar 17 15:57:40 1995 Roland McGrath - - * configure.bat: Write @CPPFLAGS@ translation. - -Mon Mar 13 00:45:59 1995 Roland McGrath - - * read.c (parse_file_seq): Rearranged `l(a b)' -> `l(a) l(b)' loop - to not skip the elt immediately preceding `l(...'. - -Fri Mar 10 13:56:49 1995 Roland McGrath - - * Version 3.72.11. - - * read.c (find_char_unquote): Make second arg a string of stop - chars instead of a single stop char. Stop when any char in the - string is hit. All callers changed. - (find_semicolon): Pass stop chars "#;" to one find_char_unquote call, - instead of using two calls. If the match is not a ; but a #, - return zero. - * misc.c: Changed find_char_unquote callers here too. - - * Version 3.72.10. - - * read.c (read_makefile, parse_file_seq): Fix typo __MS_DOS__ -> - __MSDOS__. - - * GNUmakefile (globfiles): Add glob/configure.bat. - (distfiles): Add configh.dos, configure.bat. - -Wed Mar 8 13:10:57 1995 Roland McGrath - - Fixes for MS-DOS from DJ Delorie. - * read.c (read_makefile, parse_file_seq) [__MS_DOS__]: Don't see : - as separator in "C:\...". - * configh.dos (STDC_HEADERS): Define only if undefined. - (HAVE_SYS_PARAM_H): Don't define this. - (HAVE_STRERROR): Define this. - * job.c (construct_command_argv_internal) [__MSDOS__]: Fix typos. - - * Version 3.72.9. - - * main.c (decode_switches): Reset optind to 1 instead of 0. - -Tue Mar 7 17:31:06 1995 Roland McGrath - - * main.c (decode_switches): If non-option arg is "-", ignore it. - -Mon Mar 6 23:57:38 1995 Roland McGrath - - * Version 3.72.8. - -Wed Feb 22 21:26:36 1995 Roland McGrath - - * Version 3.72.7. - -Tue Feb 21 22:10:43 1995 Roland McGrath - - * main.c (main): Pass missing arg to tmpnam. - - * configure.in: Check for strsignal. - * job.c (child_error): Use strsignal. - * main.c (main): Don't call signame_init #ifdef HAVE_STRSIGNAL. - - * misc.c (strerror): Fix swapped args in sprintf. - -Mon Feb 13 11:50:08 1995 Roland McGrath - - * configure.in (CFLAGS, LDFLAGS): Don't set these variables. - -Fri Feb 10 18:44:12 1995 Roland McGrath - - * main.c (print_version): Add 95 to copyright years. - - * Version 3.72.6. - - * job.c (start_job_command): Remember to call notice_finished_file - under -n when not recursing. To do this, consolidate that code - under the empty command case and goto there for the -n case. - -Tue Feb 7 13:36:03 1995 Roland McGrath - - * make.h [! STDC_HEADERS]: Don't declare qsort. Sun headers - declare it int. - -Mon Feb 6 17:37:01 1995 Roland McGrath - - * read.c (read_makefile): For bogus line starting with tab, ignore - it if blank after removing comments. - - * main.c: Cast results of `alloca' to `char *'. - * expand.c: Likewise. - -Sun Feb 5 18:35:46 1995 Roland McGrath - - * Version 3.72.5. - - * configure.in: Check for mktemp. - * main.c (main) [! HAVE_MKTEMP]: Use tmpnam instead of mktemp. - - * configure.in (make_cv_sysconf_open_max): New check for `sysconf - (_SC_OPEN_MAX)'. - * acconfig.h: Added #undef HAVE_SYSCONF_OPEN_MAX. - * job.c [HAVE_SYSCONF_OPEN_MAX] (getdtablesize): Define as macro - using sysconf. - -Fri Jan 27 04:42:09 1995 Roland McGrath - - * remake.c (update_file_1): When !MUST_MAKE, don't set - FILE->update_status to zero before calling notice_finished_file. - (notice_finished_file): Touch only when FILE->update_status is zero. - (remake_file): Set FILE->update_status to zero after not calling - execute_file_command and deciding to touch instead. - -Thu Jan 26 01:29:32 1995 Roland McGrath - - * main.c (debug_signal_handler): New function; toggles debug_flag. - (main): Handle SIGUSR1 with that. - -Mon Jan 16 15:46:56 1995 Roland McGrath - - * compatMakefile (realclean): Remove Info files. - -Sun Jan 15 08:23:09 1995 Roland McGrath - - * Version 3.72.4. - - * job.c (start_job_command): Save and restore environ around vfork - call. - (search_path): Function #if 0'd out. - (exec_command): Use execvp instead of search_path. - - * expand.c (variable_expand): Rewrote computed variable name and - substitution reference handling to be simpler. First expand the - entire text between the parens if it contains any $s, then examine - the result of that for subtitution references and do no further - expansion while parsing them. - - * job.c (construct_command_argv_internal): Handle " quoting too, - when no backslash, $ or ` characters appear inside the quotes. - - * configure.in (union wait check): If WEXITSTATUS and WTERMSIG are - defined, just use int. - -Tue Jan 10 06:27:27 1995 Roland McGrath - - * default.c (default_variables) [__hpux]: Remove special - definition of ARFLAGS. Existence of the `f' flag is not - consistent across HPUX versions; and one might be using GNU ar - anyway. - - * compatMakefile (clean): Don't remove Info files. - - * compatMakefile (check): Remove gratuitous target declaration. - -Sat Jan 7 11:38:23 1995 Roland McGrath - - * compatMakefile (ETAGS, CTAGS): Don't use -t. - - * arscan.c (ar_name_equal) [cray]: Subtract 1 like [__hpux]. - - * main.c (decode_switches): For --help, print usage to stdout. - -Mon Dec 5 12:42:18 1994 Roland McGrath - - * Version 3.72.3. - - * remake.c (update_file_1): Do set_command_state (FILE, - cs_not_started) only if old state was deps_running. - -Mon Nov 28 14:24:03 1994 Roland McGrath - - * job.c (start_waiting_job): Use set_command_state. - - * build.template (CPPFLAGS): New variable. - (prefix, exec_prefix): Set from @...@. - (compilation loop): Pass $CPPFLAGS to compiler. - - * GNUmakefile (build.sh.in): Make it executable. - - * GNUmakefile (globfiles): Add configure.in, configure. - - * Version 3.72.2. - - * configure.in (AC_OUTPUT): Don't write glob/Makefile. - - * configure.in (AC_CHECK_SYMBOL): Use AC_DEFINE_UNQUOTED. - - * configure.in: Don't check for ranlib. - -Tue Nov 22 22:42:40 1994 Roland McGrath - - * remake.c (notice_finished_file): Only mark also_make's as - updated if really ran cmds. - -Tue Nov 15 06:32:46 1994 Roland McGrath - - * configure.in: Put dnls before random whitespace. - -Sun Nov 13 05:02:25 1994 Roland McGrath - - * compatMakefile (CPPFLAGS): New variable, set from @CPPFLAGS@. - (RANLIB): Variable removed. - (prefix, exec_prefix): Set these from @...@. - (.c.o): Use $(CPPFLAGS). - (glob/libglob.a): Don't pass down variables to sub-make. - glob/Makefile should be configured properly by configure. - (distclean): Remove config.log and config.cache (autoconf stuff). - -Mon Nov 7 13:58:06 1994 Roland McGrath - - * acconfig.h: Add #undef HAVE_UNION_WAIT. - * configure.in: Converted to Autoconf v2. - * dir.c: Test HAVE_DIRENT_H, HAVE_SYS_DIR_H, HAVE_NDIR_H instead - of DIRENT, SYSDIR, NDIR. - * build.sh.in (prefix, exec_prefix): Set these from @...@. - (CPPFLAGS): New variable, set from @CPPFLAGS@. - (compiling loop): Pass $CPPFLAGS before $CFLAGS. - * install.sh: File renamed to install-sh. - - * main.c (define_makeflags): When no flags, set WORDS to zero. - -Sun Nov 6 18:34:01 1994 Roland McGrath - - * Version 3.72.1. - - * main.c (define_makeflags): Terminate properly when FLAGSTRING is - empty. - -Fri Nov 4 16:02:51 1994 Roland McGrath - - * Version 3.72. - -Tue Nov 1 01:18:10 1994 Roland McGrath - - * Version 3.71.5. - - * job.c (start_job_command): When ARGV is nil, only set - update_state and call notice_finished_file if job_next_command - returns zero. - - * job.c (start_job_command): Call notice_finished_file for empty - command line. - -Thu Oct 27 02:02:45 1994 Roland McGrath - - * file.c (snap_deps): Set COMMANDS_SILENT for .SILENT, not - COMMANDS_NOERROR. - -Wed Oct 26 02:14:10 1994 Roland McGrath - - * Version 3.71.4. - -Tue Oct 25 22:49:24 1994 Roland McGrath - - * file.c (snap_deps): Set command_flags bits in all :: entries. - -Mon Oct 24 18:47:50 1994 Roland McGrath - - * make.h (posix_pedantic): Declare it. - * main.c (main): Move checks .IGNORE, .SILENT, .POSIX to - snap_deps. - * file.c (snap_deps): Check .IGNORE, .SILENT, .POSIX here instead - of in main. If .IGNORE has deps, OR COMMANDS_NOERROR into their - command_flags and don't set -i. Likewise .SILENT. - * job.c (start_job_command): In FLAGS initialization, OR in - CHILD->file->command_flags. - * file.h (struct file): New member `command_flags'. - -Sun Oct 16 01:01:51 1994 Roland McGrath - - * main.c (switches): Bump flag values for --no-print-directory and - --warn-undefined-variables, so neither is 1 (which indicates a - nonoption argument). - -Sat Oct 15 23:39:48 1994 Roland McGrath - - * main.c (main): Add missing code in .IGNORE test. - -Mon Oct 10 04:09:03 1994 Roland McGrath - - * variable.c (define_automatic_variables): Define +D and +F. - -Sat Oct 1 04:07:48 1994 Roland McGrath - - * main.c (main): Define hidden automatic variable with command - vars, and MAKEOVERRIDES to a reference to that. - (define_makeflags): If posix_pedantic, write a reference to that - instead. - -Thu Sep 29 00:14:26 1994 Roland McGrath - - * main.c (posix_pedantic): New variable. - (main): Set posix_pedantic if .POSIX is a target. - Fix .IGNORE and .SILENT checks to require is_target. - - * commands.c (set_file_variables): Define new automatic variable - $+, like $^ but before calling uniquize_deps. - - * job.c (reap_children): Call delete_child_targets for non-signal - error if .DELETE_ON_ERROR is a target. - -Tue Sep 27 01:57:14 1994 Roland McGrath - - * Version 3.71.3. - -Mon Sep 26 18:16:55 1994 Roland McGrath - - * job.c (reap_children): Don't change C->file->command_state when - dying. Test it only after calling start_job_command for a new - command line. When no more cmds, just set C->file->update_status. - (start_job_command): When the last line is empty or under -n, set - C->file->update_status. - (start_waiting_job): Grok cs_not_started after start_job_command - as success. - (new_job): Set C->file->update_status when there are no cmds. - (job_next_command): When out of lines, don't set - CHILD->file->update_status or CHILD->file->command_state. - - * main.c (quote_as_word): Renamed from shell_quote. Take new arg; - if nonzero, also double $s. - (main): Define MAKEOVERRIDES from command_variables here. - (define_makeflags): Don't use command_variables here; instead write a - reference $(MAKEOVERRIDES) in MAKEFLAGS. Make vars recursive. - - * dir.c [__MSDOS__]: Fixed typo. - - * vpath.c (selective_vpath_search): Reset EXISTS when stat fails. - -Sat Sep 10 03:01:35 1994 Roland McGrath - - * remake.c: Include and use assert instead of printfs - and abort. - - * main.c (decode_switches): Loop until optind hits ARGC, not just - until getopt_long returns EOF. Initialize C to zero before loop; - in loop if C is EOF, set optarg from ARGV[optind++], else call - getopt_long. - (decode_env_switches): Use variable_expand instead of - allocated_variable_expand. Allocate a fresh buffer to copy split - words into; scan characters by hand to break words and - debackslashify. - (shell_quote): New function. - (define_makeflags): Allocate doubled space for switch args, and command - variable names and values; use shell_quote to quote those things. - -Fri Sep 9 01:37:47 1994 Roland McGrath - - * Version 3.71.2. - - * acconfig.h: Add HAVE_SYS_SIGLIST and HAVE__SYS_SIGLIST. - - * main.c (decode_switches): The non-option return from getopt is - 1, not 0. - (command_variables): New type and variable. - (decode_switches, decode_env_switches): After making a variable - definition, record the struct variable pointer in the - command_variables chain. - (define_makeflags): If ALL, write variable definitions for - command_variables. - - * main.c (other_args): Variable removed. - (goals, lastgoal): New static variables (moved from auto in main). - (main): Don't process OTHER_ARGS at all. - Don't set variable MAKEOVERRIDES at all; define MAKE to just - $(MAKE_COMMAND). - (init_switches): Prepend a - {return in order} instead of a + - {require order}. - (decode_switches): Don't set OTHER_ARGS at all. - Grok '\0' return from getopt_long as non-option argument; try - variable definition and (if !ENV) enter goal targets here. - (decode_env_switches): Use allocated_variable_expand to store value. - Use find_next_token to simplify word-splitting loop. Don't - prepend a dash to uninterpreted value. Instead, if split into - only one word, try variable definition and failing that prepend a - dash to the word and pass it to decode_switches as a single arg. - -Wed Sep 7 03:02:46 1994 Roland McGrath - - * remake.c (notice_finished_file): Only recheck modtimes if - FILE->command_state was cs_running on entry (meaning the commands - actually just ran). - (update_file_1): Whenever we set FILE->update_status, call - notice_finished_file instead of just set_command_state. - * job.c (start_job_command): Whenever we set - CHILD->file->update_status, call notice_finished_file instead of - just set_command_state. - -Tue Sep 6 19:13:54 1994 Roland McGrath - - * default.c: Add missing ". - - * job.c: Changed all assignments of command_state members to calls - to set_command_state. - * remake.c: Likewise. - * file.c (set_command_state): New function. - * file.h: Declare set_command_state. - - * main.c (init_switches): Put a + first in options. - -Mon Jul 25 18:07:46 1994 Roland McGrath - - Merge MSDOS/GO32 port from DJ Delorie . - * vpath.c: Changed all uses of ':' to PATH_SEPARATOR_CHAR. - * main.c (directory_before_chdir): New variable, moved out of main - (was local). - (main) [__MSDOS__]: Look for \ or : to delimit last component of - PROGRAM. Don't frob ARGV[0] before setting MAKE_COMMAND variable. - (die): Change back to `directory_before_chdir' before dying. - * make.h (PATH_SEPARATOR_CHAR): New macro; differing defns for - [__MSDOS__] and not. - * job.c [__MSDOS__]: Include . - [__MSDOS__] (dos_pid, dos_status, dos_bname, dos_bename, - dos_batch_file): New variables. - (reap_children) [__MSDOS__]: Don't call wait; just examine those vars. - (unblock_sigs) [__MSDOS__]: Do nothing. - (start_job_command) [__MSDOS__]: Use spawnvpe instead of vfork & exec. - (load_too_high) [__MSDOS__]: Always return true. - (search_path) [__MSDOS__]: Check for : or / in FILE to punt. - Use PATH_SEPARATOR_CHAR instead of ':'. - (construct_command_argv_internal) [__MSDOS__]: Wholly different - values for sh_chars and sh_cmds. Wholly new code to handle shell - scripts. - * function.c (expand_function: `shell') [__MSDOS__]: Wholly new - implementation. - * dir.c [__MSDOS__] (dosify): New function. - (dir_contents_file_exists_p) [__MSDOS__]: Call it on FILENAME and - process the result instead of FILENAME itself. - (file_impossible_p) [__MSDOS__]: Likewise. - * default.c [__MSDOS__]: Define GCC_IS_NATIVE. - (default_suffix_rules) [__MSDOS__]: Use `y_tab.c' instead of `y.tab.c'. - (default_variables) [GCC_IS_NATIVE]: Set CC and CXX to `gcc', YACC to - `bison -y', and LEX to `flex'. - * configure.bat, configh.dos: New files. - * commands.c (fatal_error_signal) [__MSDOS__]: Just remove - intermediates and exit. - - * commands.c (set_file_variables): Add parens in length - computation in .SUFFIXES dep loop to quiet compiler warning. From - Jim Meyering. - - * read.c (read_makefile): Free FILENAME if we allocated it. From - Jim Meyering. - -Mon Jul 4 17:47:08 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * misc.c (safe_stat): New function, EINTR-safe wrapper around stat. - * vpath.c (selective_vpath_search): Use safe_stat in place of stat. - * read.c (construct_include_path): Use safe_stat in place of stat. - * job.c (search_path): Use safe_stat in place of stat. - * dir.c (find_directory): Use safe_stat in place of stat. - * commands.c (delete_target): Use safe_stat in place of stat. - * arscan.c (ar_member_touch) [EINTR]: Do EINTR looping around fstat. - * remake.c (name_mtime): Use safe_stat in place of stat. - (touch_file) [EINTR]: Do EINTR looping around fstat. - -Fri Jun 24 05:40:24 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * read.c (read_makefile): Check for a shell command first, and - then strip leading tabs before further checking if it's not a - shell command line. - - * make.h [__arm]: Undefine POSIX. - [!__GNU_LIBRARY__ && !POSIX && !_POSIX_VERSION]: Don't declare system - functions that return int. - - * job.c (construct_command_argv_internal): After swallowing a - backslash-newline combination, if INSTRING is set goto string_char - (new label) for normal INSTRING handling code. - -Sat Jun 4 01:11:20 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * configure.in: Don't check for sys_siglist and _sys_siglist with - AC_HAVE_FUNCS. Instead use two AC_COMPILE_CHECKs. - -Mon May 23 18:20:38 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.71.1 released. - - * make.h [!__GNU_LIBRARY__ && !POSIX]: Also test #ifndef - _POSIX_VERSION for these declarations. - - * misc.c [GETLOADAVG_PRIVILEGED] [POSIX]: Remove bogus #ifndefs - around #undefs of HAVE_SETREUID and HAVE_SETREGID. - -Sat May 21 16:26:38 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.71 released. - - * misc.c [GETLOADAVG_PRIVILEGED] [POSIX]: Don't test [HAVE_SETUID] - and [HAVE_SETGID]. Every system has those, and configure doesn't - check for them. - - * make.h [_POSIX_VERSION]: Don't #define POSIX #ifdef ultrix. - - * compatMakefile (loadavg): Depend on and use loadavg.c instead of - getloadavg.c. - (loadavg.c): Link or copy it from getloadavg.c. - (distclean): Remove loadavg.c. - -Mon May 16 22:59:04 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.70.4. - - * misc.c [GETLOADAVG_PRIVILEGED] [! POSIX]: Undefine HAVE_SETEUID - and HAVE_SETEGID. - - * default.c (default_terminal_rules): In SCCS rules, put - $(SCCS_OUTPUT_OPTION) before $<. On some systems -G is grokked - only before the file name. - * configure.in (SCCS_GET_MINUS_G check): Put -G flag before file name. - -Tue May 10 16:27:38 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * job.c (construct_command_argv_internal): Swallow - backslash-newline combinations inside '' strings too. - -Thu May 5 04:15:10 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * read.c (do_define): Call collapse_continuations on each line - before all else. - -Mon Apr 25 19:32:02 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * job.c (construct_command_argv_internal): Notice newline inside - '' string when RESTP is non-null. - -Fri Apr 22 17:33:30 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.70.3. - - * remake.c (update_goal_chain): Reset FILE to G->file after the - double-colon loop so it is never null for following code. - - * read.c (read_makefile): Fix `override define' parsing to skip - whitespace after `define' properly. - - * compatMakefile (srcdir): Define as @srcdir@; don't reference - $(VPATH). - (glob/Makefile): New target. - -Thu Apr 21 16:16:55 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.70.2. - - * misc.c (remove_comments): Use find_char_unquote. - * make.h (find_char_unquote): Declare it. - * read.c (find_char_unquote): New function, generalized from - find_percent. - (find_percent, find_semicolon, parse_file_seq): Use that. - -Wed Apr 20 18:42:39 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * implicit.c (pattern_search): Always allocate new storage for - FILE->stem. It is not safe to store STEM's address because it - might be auto storage. - - * configure.in: Check for seteuid and setegid. - * misc.c [HAVE_SETEUID]: Declare seteuid. - [HAVE_SETEGID]: Declare setegid. - (make_access, user_access) [HAVE_SETEUID]: Use seteuid. - [HAVE_SETEGID]: Use setegid. - - * remake.c (update_goal_chain): Set STATUS to FILE->update_status, - to preserve whether it's 2 for error or 1 for -q trigger. When - STATUS gets nonzero and -q is set, always stop immediately. - * main.c (main, decode_switches): Die with 2 for errors. - (main): Accept 2 return from update_goal_chain and die with that. - * misc.c (fatal, makefile_fatal): Die with 2; 1 is reserved for -q - answer. - * job.c (reap_children): Die with 2 for error. - (start_job_command): Set update_status to 2 for error. Set it to - 1 when we would run a command and question_flag is set. - - * read.c (read_makefile): Don't mark makefiles as precious. Just - like other targets, they can be left inconsistent and in need of - remaking by aborted commands. - - * read.c (read_makefile): Write no error msg for -include file. - -Tue Apr 5 05:22:19 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * commands.c (fatal_error_signal): Don't unblock signals. - - * file.h (struct file): Change member `double_colon' from flag to - `struct file *'. - * read.c (record_files): Set double_colon pointer instead of flag. - * main.c (main): When disqualifying makefiles for updating, use - double_colon pointer to find all entries for a file. - * file.c (enter_file): If there is already a double-colon entry - for the file, set NEW->double_colon to that pointer. - (file_hash_enter): Use FILE->double_colon to find all entries to - set name. - * remake.c (update_goal_chain): Do inner loop on double-colon entries. - (update_file): Use FILE->double_colon pointer to find all entries. - (f_mtime): Likewise. - (notice_finished_file): Propagate mtime change to all entries. - - * variable.c (try_variable_definition): Return after abort. - -Fri Apr 1 18:44:15 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * read.c (read_makefile): Remove unused variable. - (parse_file_seq): When removing an elt that is just `)', properly - fix up the previous elt's next pointer. - -Mon Mar 28 18:31:49 1994 Roland McGrath (roland@mole.gnu.ai.mit.edu) - - * configure.in: Do AC_SET_MAKE. - * GNUmakefile (Makefile.in): Edit MAKE assignment into @SET_MAKE@. - -Fri Mar 4 00:02:32 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * function.c (subst_expand): If BY_WORD or SUFFIX_ONLY is set and - the search string is the empty string, find a match at the end of - each word (using end_of_token in place of sindex). - - * misc.c (end_of_token): Don't treat backslashes specially; you - can no longer escape blanks with backslashes in export, unexport, - and vpath. This was never documented anyway. - -Thu Mar 3 23:53:46 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * read.c (read_makefile): Variable name for `define' is not just - first token; use whole rest of line and strip trailing blanks. - -Wed Feb 16 16:03:45 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.70.1. - - * read.c (read_makefile): Add -d msg stating args. - - * read.c (read_makefile): Use isspace to skip over leading - whitespace, and explicitly avoid skipping over tabs. Don't want - to skip just spaces though; formfeeds et al should be skipped. - - * default.c (default_variables) [__hpux]: Add f in ARFLAGS. - - * arscan.c (ar_name_equal) [__hpux]: Subtract 2 instead of 1 from - sizeof ar_name for max length to compare. - - * misc.c [GETLOADAVG_PRIVILEGED] [POSIX]: Undefine HAVE_SETREUID - #ifdef HAVE_SETUID; likewise HAVE_SETREGID and HAVE_SETGID. - - * main.c (main): Call user_access after setting `program', in case - it needs to use it in an error message. - - * read.c (read_makefile): Ignore an empty line starting with a tab. - -Thu Feb 10 21:45:31 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * configure.in (AC_SYS_SIGLIST_DECLARED): Use this instead of - AC_COMPILE_CHECK that is now its contents. - -Fri Feb 4 16:28:54 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * make.h: #undef strerror after #include . - [! ANSI_STRING]: Declare strerror. - -Thu Feb 3 02:21:22 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * misc.c (strerror): #undef any macro before function definition. - -Mon Jan 31 19:07:23 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * variable.c (try_variable_definition): Calculate BEG before loop - to strip blanks by decrementing END. Don't decr END to before BEG. - - * read.c (read_makefile): Skip over leading space characters, but - not tabs, after removing continuations and comments (it used to - use isspace). - -Tue Jan 25 16:45:05 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * variable.c (define_automatic_variables): In $(@D) et al, use - patsubst to remove trailing slash. - - * commands.c (delete_target): New function, broken out of - delete_child_targets. Check for archive members and give special msg. - (delete_child_targets): Use delete_target. - -Mon Jan 17 17:03:22 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * default.c (default_suffix_rules): Use $(TEXI2DVI_FLAGS) in - texi2dvi rules. Use $(MAKEINFO_FLAGS) in makeinfo rules. - -Tue Jan 11 19:29:55 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * GNUmakefile (tarfiles): Omit make-doc. - (make-$(version).tar): Include make.info*. - -Fri Jan 7 16:27:00 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * compatMakefile (configure, config.h.in): Comment out rules. - -Thu Jan 6 18:08:08 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * compatMakefile (binprefix, manprefix): New variables. - (instname): Variable removed. - (install): Use $({bin,man}prefix)make in place of $(instname). - File targets likewised renamed. - -Mon Jan 3 17:50:25 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.70 released. - -Thu Dec 23 14:46:54 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.69.3. - - * read.c (parse_file_seq): Inside multi-word archive ref - translation loop, check NEW1==0 at end and break out of the loop. - - * GNUmakefile (make-$(version).tar): Distribute install.sh. - * install.sh: New file. - - * configure.in (SCCS_GET_MINUS_G check): Put redirection for admin - cmds outside subshell parens, to avoid "command not found" msgs - from the shell. - -Wed Dec 22 17:00:43 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * configure.in (SCCS_GET_MINUS_G check): Put -G flag last in get cmd. - Redirect output & error from get to /dev/null. - Fix reversed sense of test. - -Fri Dec 17 15:31:36 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * configure.in (SCCS_GET_MINUS_G check): Use parens instead of - braces inside if condition command; some shells lose. - -Thu Dec 16 15:10:23 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.69.2. - - * arscan.c [M_UNIX]: Move #undef M_XENIX for PORTAR stuff. - (PORTAR) [M_XENIX]: Define to 0 instead of 1. - - * main.c (define_makeflags): Only export MAKEFLAGS if !ALL. - -Wed Dec 15 17:47:48 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * main.c (main): Cast result of pointer arith to unsigned int - before passing to define_variable for envars. Matters when - sizeof(unsigned)!=sizeof(ptrdiff_t). - -Tue Dec 14 14:21:16 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * configure.in: Add new check for SCCS_GET_MINUS_G. - * config.h.in: Add #undef SCCS_GET_MINUS_G. - * default.c (default_terminal_rules): Use `$(SCCS_OUTPUT_OPTION)' in - place of `-G $@' in SCCS commands. - (default_variables) [SCCS_GET_MINUS_G]: Define SCCS_OUTPUT_OPTION - to "-G$@". - - * configure.in (AC_OUTPUT): Put touch stamp-config in second arg - (so it goes in config.status), rather than afterward. - - * ar.c (ar_member_date): Don't call enter_file on the archive file - if it doesn't exist (by file_exists_p). - - * compatMakefile ($(infodir)/make.info): Replace `$$d/foo.info' - with `$$dir/make.info' in install-info invocation (oops). - - * vpath.c (construct_vpath_list): Only set LASTPATH set PATH when - we do not unlink and free PATH. - - * file.c (print_file_data_base): Fix inverted calculation for - average files per hash bucket. - - * read.c (readline): When we see a NUL, give only a warning and - synthesize a newline to terminate the building line (used to - fatal). Move fgets call into the loop condition, and after the - loop test ferror (used to test !feof in the loop). - -Fri Dec 3 16:40:31 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * configure.in: Check for strerror in AC_HAVE_FUNCS. - -Thu Dec 2 15:37:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - Differentiate different flavors of missing makefile error msgs, - removing gratuitous `fopen: ' and giving caller for included makefiles. - * misc.c [! HAVE_STRERROR]: Define our own strerror here. - (perror_with_name, pfatal_with_name): Use strerror instead of - replicating its functionality. - * read.c (read_makefile): Return int instead of void. - (read_all_makefiles, read_makefile): Change callers to notice zero - return and give error msg. - -Thu Nov 11 11:47:36 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.69.1. - - * default.c: Put `-G $@' before $< in SCCS cmds. - -Wed Nov 10 06:06:14 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * read.c (read_makefile): After trying a variable defn, notice if - the line begins with a tab, and diagnose an error. - -Sun Nov 7 08:07:37 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.69. - -Wed Nov 3 06:54:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.68.10. - - * implicit.c (try_implicit_rule): Look for a normal rule before an - archive rule. - -Fri Oct 29 16:45:28 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * function.c (expand_function: `sort'): Double NWORDS when it - overflows, instead of adding five. - - * compatMakefile (clean): Remove loadavg. - -Wed Oct 27 17:58:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.68.9. - - * file.h (NEW_MTIME): Define new macro. - * main.c (main): Set time of NEW_FILES to NEW_MTIME, not to - current time returned from system. Removed variable NOW. - * remake.c (notice_finished_file): Use NEW_MTIME in place of - current time here too. - -Tue Oct 26 19:45:35 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.68.8. - - * remake.c (update_file_1): Don't clear MUST_MAKE when FILE has no - cmds and !DEPS_CHANGED unless also !NOEXIST. - -Mon Oct 25 15:25:21 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * read.c (parse_file_seq): When converting multi-word archive - refs, ignore a word beginning with a '('. - -Fri Oct 22 02:53:38 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * configure.in: Check for sys/timeb.h. - * make.h [HAVE_SYS_TIMEB_H]: Test this before including it. - -Thu Oct 21 16:48:17 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.68.7. - - * rule.c (convert_suffix_rule): New local TARGPERCENT. Set it to - TARGNAME+1 for "(%.o)", to TARGNAME for "%.?". Use it in place of - TARGNAME to initialize PERCENTS[0]. - -Mon Oct 18 06:49:35 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * configure.in: Use AC_HAVE_HEADERS(unistd.h) instead of AC_UNISTD_H. - Remove AC_USG; it is no longer used. - - * file.c (print_file): New function, broken out of - print_file_data_base. - (print_file_data_base): Call it. - * rule.c (print_rule): New function, broken out of - print_rule_data_base. - (print_rule_data_base): Call it. - -Thu Oct 14 14:54:03 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * default.c (install_default_suffix_rules): New function, broken - out of install_default_implicit_rules. - (install_default_implicit_rules): Move suffix rule code there. - * make.h: Declare install_default_suffix_rules. - * main.c (main): Call install_default_suffix_rules before reading - makefiles. Move convert_to_pattern call before - install_default_implicit_rules. - - * job.h (struct child): Make `pid' member type `pid_t' instead of - `int'. - - * compatMakefile (RANLIB): New variable, set by configure. - (glob/libglob.a): Pass RANLIB value down to submake. - - Fixes for SCO 3.2 "devsys 4.2" from pss@tfn.com (Peter Salvitti). - * make.h: Include before for SCO lossage. - * job.c [! getdtablesize] [! HAVE_GETDTABLESIZE]: If NOFILE is not - defined but NOFILES_MAX is, define it to be that. - -Mon Oct 11 19:47:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * GNUmakefile (make-$(version).tar): Depend on acconfig.h, so it - is distributed. - -Sun Oct 3 15:15:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * default.c (default_terminal_rules): Add `-G $@' to SCCS get cmds. - -Tue Sep 28 14:18:20 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * job.c (construct_command_argv_internal): Add ^ to SH_CHARS; it - is another symbol for | in some shells. - * main.c (main): Add it to CMD_DEFS quoting list as well. - -Mon Sep 20 18:05:24 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * job.c (construct_command_argv_internal): Remove '=' from - SH_CHARS. Only punt on '=' if it is unquoted in a word before the - first word without an unquoted '='. - - * main.c (define_makeflags): Set v_export for MAKEFLAGS. - -Fri Sep 17 00:37:18 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * remake.c (update_file_1): Use .DEFAULT cmds for phony targets. - - * make.h [_AIX && _POSIX_SOURCE]: Define POSIX. - - * commands.c (delete_child_targets): Don't delete phony files. - - * job.c (start_job_command): Set COMMANDS_RECURSE in FLAGS if we - see a `+' at the beginning of the command line. - -Thu Sep 9 17:57:14 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.68.6. - -Wed Sep 8 20:14:21 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * main.c (define_makeflags): Define MAKEFLAGS with o_file, not o_env. - -Mon Aug 30 12:31:58 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * expand.c (variable_expand): Fatal on an unterminated reference. - -Thu Aug 19 16:27:53 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.68.5. - - * variable.c (define_automatic_variables): Define new o_default - variable `MAKE_VERSION' from version_string and remote_description. - - * make.h (version_string, remote_description): Declare these here. - * main.c: Don't declare version_string. - (print_version): Don't declare remote_description. - -Wed Aug 18 15:01:24 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * read.c (read_makefile): Free space pointed to by CONDITIONALS - before restoring the old pointer. - -Mon Aug 16 17:33:36 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * compatMakefile ($(objs)): Depend on config.h. - - * GNUmakefile (build.sh.in): Depend on compatMakefile. - - * configure.in: Touch stamp-config after AC_OUTPUT. - -Fri Aug 13 16:04:22 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.68.4. - -Thu Aug 12 17:18:57 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * make.h: Include instead of "config.h". - -Wed Aug 11 02:35:25 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * main.c (main): Make all variables interned from ENVP be v_export. - * variable.c (try_variable_definition): In v_default case, don't - check for an o_file variable that `getenv' finds. - - * job.c (reap_children): New local variable ANY_LOCAL; set it - while setting ANY_REMOTE. If !ANY_LOCAL, don't wait for local kids. - - * main.c (main): Don't call decode_env_switches on MFLAGS. DOC THIS. - - * function.c (expand_function): #if 0 out freeing of ENVP since it - is environ. - -Mon Aug 9 17:37:20 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.68.3. - - * remote-stub.c (remote_status): Set errno to ECHILD before return. - * job.c (reap_children): Scan the chain for remote children and - never call remote_status if there are none. - - * function.c (expand_function: `shell'): #if 0 out calling - target_environment; just set ENVP to environ instead. - - * job.c (reap_children): Check for negative return from - remote_status and fatal for it. - When blocking local child wait returns 0, then try a blocking call - to remote_status. - -Tue Aug 3 00:19:00 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * compatMakefile (clean): Delete make.info* and make.dvi here. - (distclean): Not here. - - * dep.h (RM_*): Use #defines instead of enum to avoid lossage from - compilers that don't like enum values used as ints. - -Mon Aug 2 16:46:34 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * compatMakefile (loadavg): Add $(LOADLIBES). - -Sun Aug 1 16:01:15 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.68.2. - - * compatMakefile (loadavg, check-loadavg): New targets. - (check): Depend on check-loadavg. - - * compatMakefile (glob/libglob.a): Depend on config.h. - - * misc.c (log_access): Write to stderr instead of stdout. - -Fri Jul 30 00:07:02 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.68.1. - -Thu Jul 29 23:26:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * configure.in (SYS_SIGLIST_DECLARED): In test program include - #ifdef HAVE_UNISTD_H. - - * compatMakefile (.PHONY): Put after `all' et al. - - * configure.in: Add AC_IRIX_SUN. - -Wed Jul 28 17:41:12 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.68. - -Mon Jul 26 14:36:49 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.67.8. - -Sun Jul 25 22:09:08 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.67.7. - - * compatMakefile ($(infodir)/make.info): Don't use $(instname). - Run install-info script if present. - -Fri Jul 23 16:03:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * make.h [STAT_MACROS_BROKEN]: Test this instead of [uts]. - - * configure.in: Add AC_STAT_MACROS_BROKEN. - -Wed Jul 14 18:48:11 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.67.6. - - * read.c (read_makefile): Recognize directive `-include', like - `include' but sets RM_DONTCARE flag. - - * variable.c (target_environment): If FILE is nil, use - current_variable_set_list in place of FILE->variables. - * function.c (expand_function: `shell'): Get an environment for - the child from target_environment instead of using environ. - - * dep.h: Declare read_all_makefiles here. - (RM_*): Define new enum constants. - * read.c (read_makefile): Second arg is FLAGS instead of TYPE. - Treat it as a bit mask containing RM_*. - (read_all_makefiles): For default makefiles, set D->changed to - RM_DONTCARE instead of 1. - * main.c: Don't declare read_all_makefiles here. - (main): Check `changed' member of read_makefiles elts for RM_* - flags instead of specific integer values. - -Mon Jul 12 22:42:17 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * make.h [sequent && i386]: #undef POSIX. From trost@cse.ogi.edu. - -Thu Jul 8 19:51:23 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * vpath.c (construct_vpath_list): If ELEM is zero 0, free PATTERN - as well as VPATH. - (build_vpath_lists): Empty `vpaths' around construct_vpath_list - call for $(VPATH). Expand $(strip $(VPATH)), not just $(VPATH). - - * rule.c (convert_suffix_rule): Use alloca instead of xmalloc for - PERCENTS, whose storage is not consumed by create_pattern_rule. - - * make.h [__mips && _SYSTYPE_SVR3]: #undef POSIX. - -Wed Jun 30 18:11:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.67.5. - - * rule.c (max_pattern_targets): New variable. - (count_implicit_rule_limits): Compute its value. - * rule.h: Declare it. - * implicit.c (pattern_search): Make TRYRULES max_target_patterns - times bigger. Move adding new TRYRULES elt inside the inner - targets loop, so each matching target gets its own elt in MATCHES - and CHECKED_LASTSLASH. - - * file.c (remove_intermediates): If SIG!=0 say `intermediate file' - instead of just `file' in error msg. - -Fri Jun 25 14:55:15 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * job.c (construct_command_argv): Turn off - --warn-undefined-variables around expansion of SHELL and IFS. - * read.c (tilde_expand): Likewise for HOME. - (read_all_makefiles): Likewise for MAKEFILES. - * vpath.c (build_vpath_lists): Likewise for VPATH. - - * main.c (warn_undefined_variables_flag): New flag variable. - (switches): Add --warn-undefined-variables. - * make.h (warn_undefined_variables_flag): Declare it. - * expand.c (warn_undefined): New function. - (reference_variable): Call it if the variable is undefined. - (variable_expand): In substitution ref, call warn_undefined if the - variable is undefined. - - * default.c (default_pattern_rules): Add `%.c: %.w %.ch' and - `%.tex: %.w %.ch' rules. - (default_suffix_rules: .w.c, .w.tex): Pass three args: $< - $@. - (default_suffixes): Add `.ch'. - -Mon Jun 21 17:55:39 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * default.c (default_suffixes): Replace `.cweb' with `.w'. - (default_suffix_rules): Rename `.cweb.c' and `.cweb.tex' to `.w.c' - and `.w.tex'. - -Fri Jun 11 14:42:09 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * compatMakefile ($(bindir)/$(instname)): Add missing backslash. - -Thu Jun 10 18:14:08 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.67.4. - - * read.c (multi_glob): Don't free OLD and OLD->name in the - FOUND!=0 fork. Use new block-local variable F instead of - clobbering OLD. - - * ar.c (glob_pattern_p): New function, snarfed from glob/glob.c. - (ar_glob): Call it; return nil immediately if MEMBER_PATTERN - contains no metacharacters. - -Wed Jun 9 16:25:35 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * ar.c (ar_glob{_match,_alphacompare}): New function. - - * dep.h [! NO_ARCHIVES]: Declare it. - * read.c (multi_glob) [! NO_ARCHIVES]: Use it on archive member elts. - - * read.c (read_makefile): Pass flag (1) to parse_file_seq, not to - multi_glob (which doesn't take a 3rd arg). - * rule.c (install_pattern_rule): Likewise. - * default.c (set_default_suffixes): Here too. - * function.c (string_glob): Don't pass gratuitous arg to multi_glob. - - * read.c (parse_file_seq) [! NO_ARCHIVES]: Add post-processing - loop to translate archive refs "lib(a b)" into "lib(a) lib(b)". - -Mon Jun 7 19:26:51 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * compatMakefile (installdirs): Actually pass directory names. - ($(bindir)/$(instname)): Test chgrp&&chmod exit status with `if'; - if it fails, echo a warning msg, but don't make the rule fail. - - * read.c (tilde_expand): New function, broken out of tilde_expand. - (multi_glob): Call it. - (construct_include_path): Expand ~ in directory names. - * dep.h: Declare tilde_expand. - * main.c (enter_command_line_file): Expand ~ at the start of NAME. - (main): Expand ~ in -C args. - * read.c (read_makefile): Expand ~ in FILENAME unless TYPE==2. - -Fri Jun 4 13:34:47 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * main.c (decode_env_switches): Use xmalloc instead of alloca for ARGS. - - * main.c (main): Put result of alloca in temporary variable with - simple assignment, to make SGI compiler happy. - -Thu Jun 3 20:15:46 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.67.3. - - * main.c (main): Before re-execing, remove intermediate files, and - print the data base under -p. Sexier debugging message. - - * implicit.c (pattern_search): Allocate an extra copy of the name - of a winning intermediate file when putting it in FOUND_FILES. - -Wed Jun 2 16:38:08 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * read.c (read_makefile): Pass flag (1) to parse_file_seq, not to - multi_glob (which doesn't take a 3rd arg). - - * dir.c (dir_contents_file_exists_p): When reading dirents, ignore - chars within D_NAMLEN that are NULs. - - * main.c (decode_switches): Don't savestring ARGV[0] to put it - into `other_args'. - For string switch, don't savestring `optarg'. - (main): Don't free elts of makefiles->list that are "-". - Use alloca'd rather than savestring'd storage for elts of - makefiles->list that are temporary file names. - * read.c (read_all_makefiles): Don't free *MAKEFILES. - * file.c (enter_file): Don't strip `./'s. - * main.c (enter_command_line_file): New function. - (main): Use it in place of enter_file for command-line goals from - other_files, and for old_files and new_files. - -Mon May 31 18:41:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.67.2. - - * compatMakefile (.SUFFIXES): Add .info. - ($(infodir)/$(instname).info): Find make.info* in cwd if there, - else in $srcdir. Use basename to remove dir name from installed name. - -Thu May 27 17:35:02 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * implicit.c (pattern_search): When interning FOUND_FILES, try - lookup_file first; if found, free the storage for our copy of the name. - -Wed May 26 14:31:20 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.67.1. - - * main.c (decode_switches): In usage msg, write `--switch=ARG' or - `--switch[=OPTARG]' rather than `--switch ARG' or `--switch [ARG]'. - -Mon May 24 16:17:31 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * rule.c (convert_suffix_rule): New function. - (convert_to_pattern): Use it instead of doing all the work here - several times. - For target suffix `.a', generate both the archive magic rule and - the normal rule. - - * compatMakefile (distclean): Remove stamp-config. - -Sat May 22 16:15:18 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.67. - - * file.c (remove_intermediates): Don't write extra space after `rm'. - - * main.c (struct command_switch.type): Remove `usage_and_exit'. - (print_usage_flag): New variable. - (switches: --help): Make type `flag', to set print_usage_flag. - (init_switches): Remove `usage_and_exit' case. - (decode_switches): Likewise. - (decode_switches): Print usage if print_usage_flag is set. - When printing usage, die with status of BAD. - (main): Die with 0 if print_version_flag. - -Fri May 21 16:09:28 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.66. - -Wed May 19 21:30:44 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * compatMakefile (installdirs): New target. - (install): Depend on it. - -Sun May 16 20:15:07 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.65.2. - -Fri May 14 16:40:09 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * vpath.c (construct_vpath_list): In removal loop for DIRPATH==0, - set LASTPATH to PATH, not NEXT. - - * dir.c (read_dirstream): Break out of loop after incrementing - DS->buckets such that it reaches DIRFILE_BUCKETS; avoid trying to - dereference DS->contents->files[DIRFILE_BUCKETS]. - - * read.c (read_makefile): Clear no_targets after reading a - targetful rule line. - - * main.c (main): If print_version_flag is set, exit after printing - the version. - (switches): Change --version docstring to say it exits. - - * make.h [butterfly]: #undef POSIX. - -Wed May 12 15:20:21 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.65.1. - - * arscan.c (ar_scan) [! AIAMAG]: Don't declare LONG_NAME. - [AIAMAG]: Pass TRUNCATE flag arg to (*FUNCTION), always zero. - - * function.c (handle_function): Use fatal instead of - makefile_fatal when reading_filename is nil. - - * configure.in: Add AC_GETGROUPS_T. - * job.c (search_path): Use GETGROUPS_T in place of gid_t. - -Sun May 9 15:41:25 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.65. - -Fri May 7 18:34:56 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * function.c (handle_function): Fatal for unmatched paren. - -Thu May 6 16:13:41 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.64.3. - - * commands.c (handling_fatal_signal): New variable. - (fatal_error_signal): Set it. - * job.c (reap_children): Avoid nonreentrant operations if that is set. - * make.h: Declare handling_fatal_signal. - - * expand.c (reference_variable): New function, snippet of code - broken out of simple-reference case of variable_expand. - (variable_expand): Use it for simple refs. - (variable_expand): When checking for a computed variable name, - notice a colon that comes before the final CLOSEPAREN. Expand - only up to the colon, and then replace the pending text with a - copy containing the expanded name and fall through to subst ref - handling. - (variable_expand): Don't bother expanding the name if a colon - appears before the first $. - (expand_argument): Use alloca instead of savestring. - (variable_expand): For subst ref, expand both sides of = before - passing to [pat]subst_expand. Use find_percent instead of lindex - to check the lhs for a %. - -Wed May 5 14:45:52 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.64.2. - -Mon May 3 17:00:32 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * arscan.c (ar_name_equal) [AIAMAG]: Abort if TRUNCATED is nonzero. - - * read.c (read_makefile): Pass extra arg of 1 to parse_file_seq, - not to multi_glob. - -Thu Apr 29 19:47:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.64.1. - - * arscan.c (ar_scan): New local flag var LONG_NAME. Set it when - we read the member name in any of the fashions that allow it to be - arbitrarily long. Pass its negation to FUNCTION. - (describe_member): Take TRUNCATED from ar_scan and print it. - (ar_name_equal): Take new arg TRUNCATED; if nonzero, compare only - the first sizeof (struct ar_hdr.ar_name) chars. - (ar_member_pos): Take TRUNCATED from ar_scan, pass to ar_name_equal. - * ar.c (ar_member_date_1): Likewise. - -Wed Apr 28 21:18:22 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * job.c (reap_children): Before calling start_job_command to start - the next command line, reset C->remote by calling start_remote_job_p. - -Mon Apr 26 15:56:15 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * arscan.c (ar_scan): New local var NAMEMAP. - In loop, rename NAME to NAMEBUF; new var NAME is a pointer; new - flag IS_NAMEMAP. When extracting the member name, always put a - null at its end first. If the name is "//" or "/ARFILENAMES", set - IS_NAMEMAP. If we have already read in NAMEMAP, and NAME looks - like " /N", get full name from NAMEMAP+N. - Else if NAME looks like "#1/N", read N chars from the - elt data to be the full name. At end of loop, if IS_NAMEMAP, read - the elt's data into alloca'd NAMEMAP. - (ar_name_equal): #if 0 truncating code. - - * make.h: Don't declare vfork at all. It returns int anyway, - unless declared it; and we conflicted with some systems. - - * main.c (define_makeflags): If FLAGSTRING[1] is '-', define - MAKEFLAGS to all of FLAGSTRING, not &FLAGSTRING[1]. Don't want to - define it to something like "-no-print-directory". - Use %g format instead of %f for floating-valued things. - -Thu Apr 22 18:40:58 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * GNUmakefile (Makefile.in): Use a substitution ref on nolib-deps - to change remote-%.dep to remote-stub.dep. - -Wed Apr 21 15:17:54 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.64. - -Fri Apr 16 14:22:22 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * compatMakefile (install): Remove - prefix from chgrp+chmod. - - * Version 3.63.8. - -Thu Apr 15 18:24:07 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * acconfig.h: New file; contains "#undef SCCS_GET" for autoheader. - * configure.in: If /usr/sccs/get exists, define SCCS_GET to that, - else to "get". - * default.c (default_variables): Set GET to macro SCCS_GET. - - * read.c (parse_file_seq): Take extra arg STRIP; strip `./' only - if nonzero. I hope this is the last time this argument is added - or removed. - (read_makefile): Pass it 1 when parsing include file names. - Pass it 1 when parsing target file names. - Pass it 1 when parsing static pattern target pattern names. - * rule.c (install_pattern_rule): Pass it 1 when parsing rule deps. - * default.c (set_default_suffixes): Pass it 1 when parsing - default_suffixes. - * function.c (string_glob): Pass it 0 here. - -Wed Apr 14 11:32:05 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * misc.c (log_access): New function. - ({init,user,make,child}_access): Call it. - (child_access): Abort if !access_inited. - - * main.c (switches: --no-print-directory): Use 1 instead of -1 for - single-letter option. - (init_switches, decode_switches, define_makeflags): An option with - no single-letter version is no longer indicated by a value of -1; - instead a value that is !isalnum. - (init_switches): Don't put such switches into the string, only - into the long_option table. - - * make.h [!NSIG] [!_NSIG]: #define NSIG 32. - - * job.c [HAVE_WAITPID]: Remove #undef HAVE_UNION_WAIT. AIX's - bsdcc defined WIF* to use union wait. - - * main.c (struct command_switch): Change member `c' to type int. - (switches): Make const. - (decode_switches): Use `const struct command_switch *'. - (define_makeflags): Likewise. - - * default.c (default_suffix_rules): Add `-o $@' to makeinfo rules. - -Mon Apr 12 12:30:04 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.63.7. - - * configure.in (AC_HAVE_HEADERS): Check for string.h and memory.h. - Removed AC_MEMORY_H. - * make.h [USG, NeXT]: Don't test these. - [HAVE_STRING_H]: Test this to include string.h and define ANSI_STRING. - [HAVE_MEMORY_H]: Test this instead of NEED_MEMORY_H. - [! ANSI_STRING]: Put decls of bcopy et al here. - [sparc]: Don't test this for alloca.h; HAVE_ALLOCA_H is sufficient. - [HAVE_SIGSETMASK]: Test this rather than USG. - [__GNU_LIBRARY__ || POSIX]: Don't #include again. - * main.c (main): Handle SIGCHLD if defined, and SIGCLD if defined. - It doesn't hurt to do both if they are both defined, and testing - USG is useless. - * dir.c: Rationalize directory header conditionals. - * arscan.c [HAVE_FCNTL_H]: Test this rather than USG || POSIX. - - * default.c (default_suffixes): Add `.txinfo'. - (default_suffix_rules): Add `.txinfo.info' and `.txinfo.dvi' rules. - - * variable.c (try_variable_definition): Replace RECURSIVE flag - with enum FLAVOR, which can be simple, recursive, or append. - Recognize += as append flavor. Set new variable VALUE in a switch - on FLAVOR. For append flavor, prepend the variable's old value. - If the variable was previously defined recursive, set FLAVOR to - recursive; if it was defined simple, expand the new value before - appending it to the old value. Pass RECURSIVE flag to - define_variable iff FLAVOR == recursive. - - * variable.c (try_variable_definition): Use alloca and bcopy for - NAME, instead of savestring. Might as well use stack storage - since we free it immediately anyway. - -Thu Apr 8 18:04:43 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * job.c (start_waiting_jobs): Move decl of JOB outside of loop. - - * main.c (define_makeflags): Rename `struct flag' member `switch' - to `cs', which is not a reserved word. - -Wed Apr 7 15:30:51 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * job.c (new_job): Call start_waiting_jobs first thing. - (start_waiting_job): Changed return type from void to int. - Return 0 when putting the child on the waiting_jobs chain. - (start_waiting_jobs): Don't check load and job_slots here. - Always take a job off the chain and call start_waiting_job on it; - give up and return when start_waiting_job returns zero. - - * main.c (define_makeflags: struct flag): Change member `char c' to - `struct command_switch *switch'. - (ADD_FLAG): Set that to CS instead of CS->c. - If CS->c is -1, increment FLAGSLEN for the long name. - When writing out FLAGS, handle FLAGS->switch->c == -1 and write - the long name instead. - - * compatMakefile (stamp-config): New target of old config.h rule. - Touch stamp-config after running config.status. - (config.h): Just depend on stamp-config, and have empty commands. - -Mon Apr 5 20:14:02 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * job.c [HAVE_WAITPID]: #undef HAVE_UNION_WAIT. - - * configure.in (AC_HAVE_FUNCS): Check for psignal. - -Fri Apr 2 17:15:46 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * main.c (long_option_aliases): Remove "new"; it is already an - unambiguous prefix of "new-file". - -Sun Mar 28 16:57:17 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.63.6. - -Wed Mar 24 14:26:19 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * vpath.c (selective_vpath_search): When adding the - name-within-directory at the end of NAME, and we don't add a - slash, don't copy FILENAME in one char too far into NAME. - - * variable.c (define_automatic_variables): Find default_shell's - length with strlen, not numerology. - -Wed Mar 17 20:02:27 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * main.c (define_makeflags): Add the elts of a string option in - reverse order, so they come out right when reversed again. - -Fri Mar 12 15:38:45 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * compatMakefile (make.info): Use `-o make.info'. - -Thu Mar 11 14:13:00 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * compatMakefile (REMOTE): Set to @REMOTE@; change comments to - reflect new use. - (objs): Replace remote.o with remote-$(REMOTE).o. - (srcs): Replace remote.c with remote-$(REMOTE).c. - (remote.o): Rule removed. - - * configure.in (REMOTE): Subst this in Makefile et al; default "stub". - Use AC_WITH to grok --with-customs arg to set REMOTE=cstms. - * GNUmakefile (build.sh.in): Filter out remote-% from objs list. - * build.template (REMOTE): New var; set to @REMOTE@. - (objs): Add remote-${REMOTE}.o. - -Wed Mar 10 15:12:24 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.63.5. - - * implicit.c (pattern_search): Fix "dependent"->"dependency" in - "Rejecting impossible" -d msg. - - * file.c (file_hash_enter): New local vars {OLD,NEW}BUCKET. Store - mod'd values there; never mod {OLD,NEW}HASH. - -Mon Mar 8 13:32:48 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * remake.c [eta10]: Include instead of . - - * compatMakefile (VPATH): Set this to @srcdir@. - (srcdir): Set this to $(VPATH). - - * main.c (main): New local var DIRECTORY_BEFORE_CHDIR. Save in it - a copy of CURRENT_DIRECTORY after the first getcwd. Use it - instead of CURRENT_DIRECTORY when chdir'ing back before re-execing. - - * remake.c (notice_finished_file): Pass missing SEARCH arg to f_mtime. - - * read.c (read_makefile): Remove extraneous arg to parse_file_seq. - -Mon Feb 22 14:19:38 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * compatMakefile ($(infodir)/$(instname).info): Use , instead of / - as the sed delimiter char. - -Sun Feb 21 14:11:04 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.63.4. - - * rule.h (struct rule): Removed `subdir' member. - * rule.c (new_pattern_rule): No need to clear it. - (count_implicit_rule_limits): Set the `changed' flag in each dep - that refers to a nonexistent directory. No longer set rule-global - `subdir' flag with that information. - (print_rule_data_base): Don't record info on `subdir' flags. - - * implicit.c (pattern_search): Check the DEP->changed flag rather - than the (now gone) RULE->subdir flag. Also test CHECK_LASTSLASH; - if it is set, the file might exist even though the DEP->changed - flag is set. - - * rule.c (count_implicit_rule_limits): Pass "", not ".", as file - name arg to dir_file_exists_p to check for existence of directory. - - * implicit.c (pattern_search): Inside dep-finding loop, set - CHECK_LASTSLASH from the value recorded in CHECKED_LASTSLASH[I], - rather than computing it anew. - - * commands.c (set_file_variables): Must alloca space for PERCENT - and copy it, to avoid leaving the trailing `)' in the value. - - * misc.c (remove_comments): Fixed backslash-checking loop - condition to allow it to look at the first char on the line. - P2 >= LINE, not P2 > LINE. - - * compatMakefile ($(bindir)/$(instname)): Before moving $@.new to - $@, rm $@.old and mv $@ to $@.old. - - * variable.c (try_variable_definition): Take new args FILENAME and - LINENO. Fatal if the variable name is empty. - * read.c (read_makefile): Change callers. - * main.c (main): Likewise. - - * compatMakefile (group): Define to @KMEM_GROUP@, autoconf magic - that configure will replace with the group owning /dev/kmem. - -Mon Feb 8 14:26:43 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * vpath.c (vpath_search): Take second arg MTIME_PTR, pass thru to - selective_vpath_search. - (selective_vpath_search): Take second arg MTIME_PTR. - If the dir cache thinks a file exists, stat it to make sure, and - put the modtime in *MTIME_PTR. - * remake.c (library_search): Take second arg MTIME_PTR. - When we find a match, record its mtime there. - Pass MTIME_PTR through to vpath_search to do same. - (f_mtime): Pass &MTIME as new 2nd arg to {vpath,library}_search; - store it in FILE->last_mtime if set nonzero. - * implicit.c (pattern_search): Pass nil 2nd arg to vpath_search. - - * compatMakefile (remote.o): Prepend `$(srcdir)/' to `remote-*.c', - so globbing looks somewhere it will find things. - - * compatMakefile ($(infodir)/$(instname).info): Install `make.info*' - not `$(srcdir)/make.info*'; no need to use basename. - -Fri Feb 5 12:52:43 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.63.3. - - * compatMakefile (install): Add missing ;\s. - - Make -, @, and + prefixes on a pre-expanded command line affect - all lines in the expansion, not just the first. - * commands.h (struct commands): Replace `lines_recurse' member - with `lines_flags'. - (COMMANDS_{RECURSE,SILENT,NOERROR}): New macros, bits to set in - that flag byte. - * commands.c (chop_commands): Set `lines_flags' instead of - `lines_recurse'. Record not only + but also @ and - prefixes. - * remake.c (notice_finished_file): Check the COMMANDS_RECURSE bit - in FILE->cmds->lines_flags, rather than FILE->cmds->lines_recurse. - * job.c (start_job_command): Replaced RECURSIVE and NOPRINT local - var with FLAGS; initialize it to the appropriate `lines_flags' byte. - Set CHILD->noerror if the COMMANDS_NOERROR bit is set in FLAGS. - Set the COMMANDS_SILENT bit in FLAGS for a @ prefix. - - * remake.c (update_goal_chain): Set G->file to its prev after - checking for G being finished, since that check needs to examine - G->file. - - * configure.in (union wait check) [HAVE_WAITPID]: Try using - waitpid with a `union wait' STATUS arg. If waitpid and union wait - don't work together, we should not use union wait. - - * Version 3.63.2. - - * remake.c (update_goal_chain): When G->file->updated, move - G->file to its prev. We aren't finished until G->file is nil. - -Thu Feb 4 12:53:04 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * main.c (starting_directory): New global variable. - (main): Set it to cwd after doing -Cs. - (log_working_directory): Use it, rather than computing each time. - * make.h: Declare it. - - * compatMakefile (SHELL): Define to /bin/sh for losing Unix makes. - - * main.c (decode_env_switches): Allocate (1 + LEN + 1) words for - ARGV, rather than LEN words plus one byte. - -Wed Feb 3 18:13:52 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * compatMakefile ($(bindir)/$(instname)): Put - before - install_setgid command line, so its failure won't be an error. - (infodir): New variable. - (install): Depend on $(infodir)/$(instname).info. - ($(infodir)/$(instname).info): New target. - - * read.c (read_makefile): If FILENAMES is nil when we see a line - starting with a tab, don't treat it as a command. Just fall - through, rather than giving an error. - - * read.c (read_makefile): If the NO_TARGETS flag is set when we see a - command line, don't clear it before continuing. We want - subsequent command lines to be ignored as well. - - * job.c (new_job): Before expanding each command line, collapse - backslash-newline combinations that are inside var or fn references. - -Mon Feb 1 16:00:13 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * compatMakefile (exec_prefix): Default to $(prefix), not /usr/local. - - * compatMakefile (make.info): Pass -I$(srcdir) to makeinfo. - - * job.c [POSIX] (unblock_sigs): Made global. - [!POSIX] (unblock_sigs): Move defns to job.h. - * job.h [POSIX] (unblock_sigs): Declare. - -Sun Jan 31 19:11:05 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * read.c (read_makefile): In vpath parsing, after finding the - pattern token, take entire rest of line as the search path, not - just the next token. - - * compatMakefile (remote.o): Depend on remote-*.c. - -Thu Jan 28 16:40:29 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * commands.c (set_file_variables): Don't define any F or D versions. - * variable.c (define_automatic_variables): Define them here as - recursively-expanded variables that use the dir and notdir funcs. - - * variable.c (target_environment): In v_default case, don't export - o_default or o_automatic variables. - - * configure.in (union wait check): Remove ` and ' inside C code; - they confuse the shell script. - -Mon Jan 25 13:10:42 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.63.1. - - * vpath.c (construct_vpath_list): When skipping further processing - of an elt that is ".", don't also skip the code that pushes P past - the next separator. - - * compatMakefile (distclean): Don't remove make-*. - - * configure.in (HAVE_UNION_WAIT): Try to use WEXITSTATUS if it's - defined. If one cannot use WEXITSTATUS with a `union wait' - argument, we don't want to believe the system has `union wait' at all. - - * remake.c (update_file): Do nothing to print "up to date" msgs. - (update_goal_chain): Do it here instead. - Use the `changed' flag of each goal's `struct dep' to keep track - of whether files_remade (now commands_started) changed around a - call to update_file for that goal. - When a goal is finished, and its file's update_status is zero (i.e., - success or nothing done), test the `changed' flag and give an "up - to date" msg iff it is clear. - * make.h (files_remade): Renamed to commands_started. - * remake.c: Changed defn. - (update_goal_chain): Changed uses. - * job.c (start_job_command): Increment commands_started here. - (reap_children): Not here. - - * remake.c (update_goal_chain): Don't do anything with files' - `prev' members. update_file now completely handles this. - - * variable.c (target_environment): Don't expand recursive - variables if they came from the environment. - - * main.c (define_makeflags): For flags with omitted optional args, - store {"", 0} with ADD_FLAG. When constructing FLAGSTRING, a flag - so stored cannot have more flags appended to the same word. - -Fri Jan 22 14:46:16 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * variable.c (print_variable_set): In vars/bucket calculation, - don't spuriously multiply by 100. - - * Version 3.63. - - * job.c [!HAVE_UNION_WAIT] (WTERMSIG, WCOREDUMP, WEXITSTATUS): - Don't define if already defined. - - * remake.c (update_file): Don't keep track of the command_state before - calling update_file_1. Remove local variable COMMANDS_FINISHED, - and don't test it to decide to print the "is up to date" msg. - Testing for files_remade having changed should always be sufficient. - The old method lost when we are called in the goal chain run on a - makefile, because the makefile's command_state is already - `cs_finished' from the makefile chain run. - - * misc.c [HAVE_SETRE[GU]ID]: Test these to decl setre[gu]id. - - * configure.in: Rewrote wait checking. - Use AC_HAVE_HEADERS to check for . - Use AC_HAVE_FUNCS to check for waitpid and wait3. - Use a compile check to test just for `union wait'. - * job.c: Rewrote conditionals accordingly. - [HAVE_WAITPID]: Test this only to define WAIT_NOHANG. - [HAVE_WAIT3]: Likewise. - [HAVE_UNION_WAIT]: Test this to define WAIT_T and W*. - - * configure.in: Set CFLAGS and LDFLAGS before all checks. - - * dir.c: Add static forward decls of {open,read}_dirstream. - -Thu Jan 21 17:18:00 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.62.31. - - * job.c [NGROUPS_MAX && NGROUPS_MAX==0]: #undef NGROUPS_MAX. - - * compatMakefile (CFLAGS, LDFLAGS): Set to @CFLAGS@/@LDFLAGS@. - * build.template (CFLAGS, LDFLAGS): Same here. - * configure.in: AC_SUBST(CFLAGS) and LDFLAGS. - Set them to -g if not defined in the environment. - - * remake.c (library_search): Use LIBNAME consistently, setting it - only once, to be the passed name sans `-l'. - Pass new var FILE to be modified by vpath_search. - -Mon Jan 18 14:53:54 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.62.30. - - * job.c (start_waiting_jobs): Return when job_slots_used is equal to - job_slots. - - * configure.in: Add AC_CONST for the sake of getopt. - - * read.c (read_makefile): Continue after parsing `override' - directive, rather than falling through to lossage. - Check for EOL or blank after "override define". - - * compatMakefile (.c.o, remote.o): Put $(CFLAGS) after other switches. - -Fri Jan 15 12:52:52 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.62.29. - - * main.c (define_makeflags): After writing everything into - FLAGSTRING, only back up two chars if [-1] is a dash, meaning we - just wrote " -". Always terminate the string at *P. - - * remake.c (library_search): When constructing names in std dirs, - use &(*LIB)[2] for the stem, not LIBNAME (which points at the - buffer we are writing into!). - -Thu Jan 14 13:50:06 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * read.c (read_makefile): Set IN_IGNORED_DEFINE for "override - define" when IGNORING is true. - - * compatMakefile (distclean): Remove config.status and build.sh. - -Wed Jan 13 16:01:12 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.62.28. - - * misc.c (xmalloc, xrealloc): Cast result of malloc/realloc to - (char *). - - * arscan.c (ar_scan) [AIAMAG]: Cast read arg to (char *). - - * variable.c (define_automatic_variables): Override SHELL value for - origin o_env_override as well as o_env. - - * GNUmakefile (build.sh.in): Don't replace %globobjs%. Instead, - add the names of the glob objects (w/subdir) to %objs%. - * build.template (globobjs): Removed. - Take basename of $objs before linking. - -Tue Jan 12 12:31:06 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.62.27. - - * configure.in (AC_OUTPUT): Also edit build.sh. - * build.template: New file. - * GNUmakefile (build.sh.in): New rule to create it from build.template. - (make-$(version).tar.Z): Depend on build.sh.in. - - * main.c (die): Call print_data_base if -p. - (main): Don't call it here. - - * compatMakefile (defines): Add @DEFS@. configure should turn this - into -DHAVE_CONFIG_H. - -Mon Jan 11 14:39:23 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.62.26. - - * misc.c (init_access): Surround with #ifdef GETLOADAVG_PRIVILEGED. - ({make,user,child}_access) [! GETLOADAVG_PRIVILEGED]: Make no-op. - * compatMakefile (install_setgid): New var, set by configure. - (install): Install setgid $(group) only if $(install_setgid) is true. - -Fri Jan 8 15:31:55 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * job.c (load_too_high): If getloadavg fails with errno==0, give a - message saying that load limits are not supported. - - * vpath.c (construct_vpath_list): Rewrote path deletion code to - not try to use PATH's next link after freeing PATH. - - * main.c (define_makeflags): Rewritten; now handles string-valued - option, and has no arbitrary limits. - (switches): Set `toenv' flag for -I and -v. - - * main.c (decode_env_switches): Cast return value of alloca to char *. - - * misc.c (child_access) [HAVE_SETREUID, HAVE_SETREGID]: Use - setre[gu]id in place of set[gu]id. - -Wed Jan 6 15:06:12 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * main.c (main): Define MAKEOVERRIDES, MAKE, and MAKE_COMMAND with - origin o_default. - - * make.h [POSIX]: Don't test this to use ANSI_STRING. - Testing STDC_HEADERS should be sufficient. - - * job.h: Declare start_waiting_jobs. - - * read.c (read_makefile): Add missing parens in if stmt that find - conditional directives. - - * main.c (main): Declare init_dir. - * implicit.c (pattern_search): Always use two % specs in a - DEBUGP2, and always pass two non-nil args. - Cast field width args to int. - Add missing parens in !RULE->subdir if stmt. - * function.c (expand_function, patsubst_expand): Add parens around - assignments inside `while' stmts. - * commands.c (print_commands): Cast field width args to int. - - * read.c (do_define): Cast return value of alloca to (char *). - - * main.c (init_switches): New function, broken out of decode_switches. - (decode_switches): Take new arg ENV. If set, ignore non-option - args; print no error msgs; ignore options with clear `env' flags. - (decode_env_switches): Rewritten to chop envar value into words - and pass them to decode_switches. - (switches): Set `env' flag for -I and -v. - - * dir.c (init_dir): Cast free to __glob_closedir_hook's type. - -Tue Jan 5 14:52:15 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.62.25. - - * job.c [HAVE_SYS_WAIT || !USG]: Don't #include and - . interacts badly with , and - we don't need these anyway. - - * configure.in (AC_HAVE_FUNCS): Check for setre[gu]id. - * misc.c ({user,make}_access): Test #ifndef HAVE_SETRE[GU]ID, not - #ifdef POSIX || USG. SunOS 4.1 is supposedly POSIX.1 compliant, - but its set[gu]id functions aren't; its setre[gu]id functions work. - - * misc.c ({user,make,child}_access): Give name of caller in error msgs. - - * job.c (load_too_high): Say "cannot enforce load limit" in error msg. - - * configure.in: Call AC_PROG_CC. - * compatMakefile (CC): Define to @CC@ (autoconf magic). - - * compatMakefile: Add .NOEXPORT magic target. - -Mon Jan 4 17:00:03 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * main.c (print_version): Updated copyright to include 93. - -Thu Dec 31 12:26:15 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * make.h [_AIX]: Don't declare alloca. - -Tue Dec 29 13:45:13 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.62.24. - - * compatMakefile (objs): Add signame.o. - (srcs): Add signame.[ch]. - - * compatMakefile (srcs): Add config.h.in. - (remote.o): Add -I. before -I$(srcdir). - -Mon Dec 28 15:51:26 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.62.23. - - * read.c (readline): Fatal when LEN==0, indicating a line starting - with a NUL. - (readline): Take new arg LINENO, for use in error msg. - (read_makefile, do_define): Pass it. - - * compatMakefile (glob/libglob.a): Pass -DHAVE_CONFIG_H in CPPFLAGS. - (.c.o): Add -I. before -I$(srcdir). - -Wed Dec 23 12:12:04 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * read.c (read_makefile): Accept and ignore a rule with no targets. - - * compatMakefile (ALLOCA_SRC): New variable. - (srcs): Include its value. - - * read.c (struct conditional): Renamed member `max_ignoring' to - `allocated'; added new member `seen_else'. - (conditional_line): Initialize seen_else flag when starting an `if...'; - set it when we see an `else'; fatal if set when we see `else'. - (read_makefile): Fatal "missing `endif'" if there are any pending - conditionals, not just if we are still ignoring. - -Tue Dec 22 15:36:28 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * compatMakefile (manext): Set to 1, not l. - ($(mandir)/$(instname).$(manext)): Use $(srcdir) for make.man in cmds. - - * file.c (file_hash_enter): Don't call uniquize_deps here. - * read.c (record_files): Likewise. - * implicit.c (pattern_search): Likewise. - * commands.c (set_file_variables): Call it only here. - - * default.c (default_variables) [__convex__]: FC=fc. - - * variable.c (target_environment): Expand the values of recursively - expanded variables when putting them into the environment. - * expand.c (recursively_expand): Made global. - * make.h (recursively_expand): Declare it. - - * remake.c (check_dep): Set FILE->command_state to cs_deps_running - when a dep's command_state is cs_running or cs_deps_running. - - * read.c (read_makefile): Changed error msg for spurious cmds to - not say "first target". - -Sun Dec 20 17:56:09 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * configure.in: Do AC_CONFIG_HEADER right after AC_INIT. - * make.h (HAVE_CONFIG_H): #include "config.h", then #define this. - * compatMakefile (config.h, configure, config.h.in): New rules. - (defines): Removed @DEFS@. - -Thu Dec 17 16:11:40 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * compatMakefile (realclean): Just depend on distclean; no cmds. - (distclean): Do what realclean did before; also remove Makefile and - config.h; don't remove configure. - (info, dvi): New targets; depend on make.{info,dvi}. - (doc): Removed target. - (MAKEINFO, TEXI2DVI): New vars. - (make.info, make.dvi): Use them instead of explicit cmds. - -Wed Dec 16 16:25:24 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * configure.in: Added fcntl.h to AC_HAVE_HEADERS. getloadavg cares. - -Wed Dec 9 15:21:01 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * main.c (long_option_aliases): Add --new-file alias for -W. - - * default.c (default_variables): Change all C++ to CXX and C++FLAGS - to CXXFLAGS. - - * read.c (do_define): Expand the variable name before using it. - - * main.c (main): Define variable "MAKE_COMMAND" to argv[0]; - define "MAKE=$(MAKE_COMMAND) $(MAKEOVERRIDES)" always. - - * remake.c (library_search): Search for libNAME.a in cwd; look in - vpath before looking in standard dirs, not after. - Changed order of std dirs to: /lib, /usr/lib, ${prefix}/lib. - -Mon Nov 23 14:57:34 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * default.c (default_pattern_rules, default_terminal_rules): Added - brackets around initializers. - - * variable.c (try_variable_definition): Don't check for LINE[0]=='\t'. - (try_variable_definition): Expand the name before defining the var. - - * job.c (init_siglist): Removed function. - Removed decl of `sys_siglist'. - * make.h [! HAVE_SYS_SIGLIST]: #include "signame.h". - [HAVE_SYS_SIGLIST && !SYS_SIGLIST_DECLARED]: Declare sys_siglist - only under these conditions. - * main.c (main): Don't declare init_siglist. - (main) [! HAVE_SYS_SIGLIST]: Call signame_init instead of init_siglist. - -Wed Nov 18 14:52:51 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * read.c (record_files): Don't try to append to FIRSTDEPS if it's - nil; instead just set it to MOREDEPS. - -Mon Nov 16 17:49:17 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * vpath.c (construct_vpath_list): Initialize P to DIRPATH before - loop that sets MAXELEM. - -Fri Nov 13 18:23:18 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.62.22. - -Thu Nov 12 15:45:31 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * job.c (start_job_command): Under -n, increment files_remade after - processing (i.e., printing) all command lines. - -Tue Nov 10 15:33:53 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * read.c (record_files): Append new deps if this rule has no - commands; prepend them to existing deps if this rule has no commands. - - * dir.c (open_dirstream): Return nil if DIR->contents->files is nil. - - * read.c (parse_file_seq): Removed last arg STRIP. Always strip `./'s. - (read_makefile): Changed callers. - * function.c (string_glob): Likewise. - * rule.c (install_pattern_rule): Likewise. - -Mon Nov 9 17:50:16 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * remake.c (files_remade): Made global. - (notice_finished_file): Don't increment files_remade here; this - function gets called in many situations where no remaking was in - fact done. - * job.c (reap_children): Do it here instead, when we know that - actual commands have been run for the file. - * make.h (files_remade): Declare it. - -Thu Nov 5 18:26:10 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * vpath.c (construct_vpath_list): Allow blanks as well as colons to - separate elts in the search path. - - * read.c (read_makefile): Don't fatal on extra tokens in `vpath'. - The search path can contain spaces now. - -Tue Nov 3 20:44:32 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * compatMakefile (check): New target; no-op. - - * file.c (file_hash_enter): Mod OLDHASH by FILE_BUCKETS after - testing for OLDHASH==0 but before using the value. - (rename_file): Don't mod OLDHASH by FILE_BUCKETS before passing it - to file_hash_enter. - - * file.c (rename_file): Notice when OLDFILE->cmds came from - default.c, and don't try to print ->filename in that case. - -Sun Oct 25 01:48:23 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * remake.c (update_file): Don't process F->also_make here. - (notice_finished_file): Don't process FILE->also_make if no attempt - to update FILE was actually made. - Fixed to call f_mtime directly to refresh their modtimes. - -Sat Oct 24 22:08:59 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * read.c (find_percent): Don't increment P again after skipping - an escaped %. - - * expand.c (variable_expand): In call to patsubst_expand, don't - find `%'s ourselves; let that function do it. - - * read.c (read_makefile: record_waiting_files): Don't call - record_files if FILENAMES is nil. - (read_makefile): All alternatives in the parsing, except for rule - lines, fall through to the end of the loop. At the end of the - loop, do record_waiting_files so we notice later spurious cmds. - -Fri Oct 23 15:57:37 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * variable.c (define_automatic_variables): Free old value of SHELL - before replacing it. - -Thu Oct 15 18:57:56 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * compatMakefile (.c.o): Add -I$(srcdir)/glob to flags. - - * dir.c (open_dirstream): Cast return value to __ptr_t. - - * default.c (default_variables: "GET") [_IBMR2]: Use USG defn. - - * make.h (MAXPATHLEN): Moved out of #ifndef POSIX. - (GET_PATH_MAX): Moved from #ifdef POSIX to #ifdef PATH_MAX #else. - Define as (get_path_max ()). - [! PATH_MAX] (NEED_GET_PATH_MAX): Define. - [! PATH_MAX] (get_path_max): Declare fn. - * misc.c [NEED_GET_PATH_MAX] (get_path_max): New function. - -Mon Oct 12 13:34:45 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.62.21. - - * job.c (sys_siglist): Only declare #ifndef SYS_SIGLIST_DECLARED. - * make.h [! HAVE_SYS_SIGLIST && HAVE__SYS_SIGLIST]: #define - SYS_SIGLIST_DECLARED. - - * dir.c (file_impossible): When initializing DIR->contents, set - DIR->contents->dirstream to nil. - - * compatMakefile (GLOB): Define new variable. - (objs): Use it, rather than glob/libglob.a explicitly. - - * read.c (parse_file_seq): When stripping "./", handle cases like - ".///foo" and "./////". - * file.c (lookup_file, enter_file): Likewise. - -Sun Oct 11 17:00:35 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * dir.c (struct dirstream, {open,read}_dirstream): New - data type and functions to read a directory sequentially. - (init_dir): New function to hook it into glob. - * main.c (main): Call init_dir. - - * compatMakefile (objs): Added glob/libglob.a. - * configure.in: Remove code to test for glob. - -Fri Oct 9 12:08:30 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * read.c (record_files): Generalized test for NAME pointing - somewhere into F->name. - - * variable.c (define_variable_in_set): Free old value when replacing. - - * read.c (do_define): Free the linebuffer before returning. - (record_files): When clearing .SUFFIXES deps, free their data. - (multi_glob): Free OLD and its data when replacing it with results - of glob run. - - * commands.c (set_file_variables): Use alloca in place of xmalloc - for temp space for $^, $?, et al. - - * dir.c (struct directory): New member `contents' replaces `files' - and `dirstream'. - (struct directory_contents): New type. - (directories_contents): New hash table. - (dir_struct_file_exists_p): Take a struct directory_contents. - (dir_file_exists_p): Pass it the `contents' member of the dir found. - (dir_struct_file_exists_p): Renamed to dir_contents_file_exists_p; - made static. Return 0 if DIR is nil (meaning it couldn't be stat'd). - (dir_file_exists_p, find_directory): Change all callers. - (file_impossible): Use DIR->contents, initializing it if nil. - (print_dir_data_base): Use DIR->contents, and print out device and - inode numbers with each directory. - - * Changes for performance win from John Gilmore : - * dir.c (DIRECTORY_BUCKETS): Increase to 199. - (DIRFILE_BUCKETS): Decrease to 107. - (find_directory): Allocate and zero a multiple of - sizeof (struct dirfile *), not of sizeof (struct dirfile). - (dir_struct_file_exists_p): New function, nearly all code from - dir_file_exists_p. - (dir_file_exists_p): Just call find_directory+dir_struct_file_exists_p. - * vpath.c (selective_vpath_search): Remove redundant - dir_file_exists_p call. - - * configure.in: Comment out glob check; always use our code. - -Fri Oct 2 19:41:20 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * make.h [! HAVE_SYS_SIGLIST && HAVE__SYS_SIGLIST]: #define - HAVE_SYS_SIGLIST; after doing #define sys_siglist _sys_siglist, we - do have it. - -Wed Sep 30 19:21:01 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * main.c (main): Don't do -w automatically if -s. - -Tue Sep 29 21:07:55 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * main.c (printed_version): Move variable inside print_version. - (print_version): Return immediately if printed_version is set. - (die): Don't test printed_version here. - (decode_switches): Under -v, do print_version before giving usage. - (DESCRIPTION_COLUMN): New macro. - (decode_switches): Use it when printing the usage message. - Leave at least two spaces between options and their descriptions. - -Fri Sep 25 13:12:42 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.62.20. - -Wed Sep 16 16:15:22 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * read.c (read_makefile): Save errno value from trying to open - FILENAME, and restore it before erring; otherwise we get the errno - value from the last elt of the search path. - -Tue Sep 15 15:12:47 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * main.c (long_option_aliases): Add --stop for -S. - - * read.c (word1eq): Do strncmp before dereferencing someplace that - may be out in space. - -Wed Sep 9 15:50:41 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * remake.c (notice_finished_file): If all the command lines were - recursive, don't do the touching. - - * job.c (start_job_command): Don't check for + here. - * commands.c (chop_commands): Do it here instead. - - * default.c (default_terminal_rules): Prepend + to cmds for RCS. - -Wed Sep 2 17:53:08 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * compatMakefile (objs): Include $(ALLOCA). - - * make.h [CRAY]: Move #define signal bsdsignal to before #includes. - -Thu Aug 27 17:45:43 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) - - * read.c (default_include_directories): Add INCLUDEDIR first. - * compatMakefile (includedir): Define. - (defines): Add -D for INCLUDEDIR="$(includedir)". - - * read.c (read_makefile): Grok multiple files in `include'; - globbing too. - - * remake.c (library_search): New function. - (library_file_mtime): Remove function. - (f_mtime): Use library_search instead of library_file_mtime. - * compatMakefile (libdir): Define. - (defines): Add -D for LIBDIR="$(libdir)". - * make.texinfo (Libraries/Search): Document change. - - * file.c (rename_file): Fix file_hash_enter call with missing arg. - -Wed Aug 26 17:10:46 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.62.19. - - * main.c (main): Set command_state to cs_finished for temp files - made for stdin makefiles. - - * main.c (decode_switches): Don't tell getopt to return non-option - args in order. - Ignore an argument of `-'. - -Thu Aug 20 13:36:04 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * job.c (start_job_command): If (touch_flag && !RECURSIVE), ignore - the command line and go to the next. - (notice_finished_file): Under -t, touch FILE. - * remake.c (remake_file): Don't touch it here. - -Wed Aug 19 16:06:09 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * function.c (pattern_matches): Use temporary for strlen (WORD) - instead of two function calls. - - * compatMakefile (LOAD_AVG): Remove variable and comments. - -Tue Aug 18 14:58:58 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * make.texinfo (Running): Node renamed to `make Invocation'. - -Fri Aug 14 12:27:10 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * arscan.c (ar_name_equal): Don't compare [MAX-3..MAX] if - NAMELEN != MEMLEN. - -Thu Aug 13 17:50:09 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.62.18. - - * main.c: Don't #include ; make.h already does. - -Mon Aug 10 17:03:01 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * implicit.c (pattern_search): Fixed copying of suffix when building - also_make elts. - - * function.c (expand_function: `shell'): Make sure BUFFER is - null-terminated before replacing newlines. - - * compatMakefile (mandir): Use man$(manext), not always manl. - -Sun Aug 2 01:42:50 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * rule.c (new_pattern_rule): Not static. - * rule.h: Declare it. - - * file.c (file_hash_enter): New function, most code from rename_file. - (rename_file): Call it. - * file.h (file_hash_enter): Declare it. - - * dep.h: Doc fix. - -Thu Jul 30 15:40:48 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * main.c (decode_switches): Handle usage_and_exit when building - long options vector. - - * default.c (default_terminal_rules): Make RCS rules use $(CHECKOUT,v). - (default_variables): Define CHECKOUT,v (hairy). - - * make.h [!HAVE_SYS_SIGLIST && HAVE__SYS_SIGLIST]: #define - sys_siglist to _sys_siglist. - -Sun Jul 26 16:56:32 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * NEWS: Add header and tail copyright info like Emacs NEWS. - - * make.h [ANSI_STRING]: Don't #define index, rindex, bcmp, bzero, - bcopy if already #define'd. - [STDC_HEADERS] (qsort, abort, exit): Declare here. - [! __GNU_LIBRARY__ && !POSIX]: Not here. - - * make.h [_AIX]: #pragma alloca first thing. - - * job.c (start_waiting_job): Set the command_state to cs_running - when we queue a job on waiting_jobs. - -Fri Jul 24 02:16:28 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * variable.c (define_automatic_variables): Use "" instead of nil - for empty value. - -Thu Jul 23 22:31:18 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.62.17. - - * main.c (struct command_switch.type): Add alternative usage_and_exit. - (command_switches): Add -h/--help. - -Thu Jul 16 14:27:50 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * GNUmakefile (make-$(version).tar.Z): Include NEWS, not CHANGES. - * README.template: Mention NEWS. - * CHANGES: Renamed to NEWS. - - * main.c [! STDC_HEADERS] [sun]: Don't declare exit. - -Tue Jul 14 18:48:41 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * main.c (main): Set -o files' command_states to cs_finished. - - * rule.c (count_implicit_rule_limits): Decrement num_pattern_rules - when tossing a rule. - - * main.c (main): Use alloca only in simple local var assignment, - for braindead SGI compiler. - - * rule.c (print_rule_data_base): Barf if num_pattern_rules is - inconsistent with the number computed when listing them. - -Mon Jul 13 17:51:53 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * commands.c (set_file_variables): For $? and $^ elts that are archive - member refs, use member name only. - -Fri Jul 10 00:05:04 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * variable.h (struct variable.export): Add new alternative v_ifset. - * variable.c (target_environment): Check for it. - (define_automatic_variables): Set it for MAKEFILES. - -Thu Jul 9 21:24:28 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * compatMakefile (objs): Remove getloadavg.o; $(extras) gets it. - (remote.o): Use $(srcdir)/remote.c, not $remote.c<. - (distclean, mostlyclean): New targets. - -Tue Jul 7 19:12:49 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.62.16. - - * compatMakefile (config.status): Remove rule. - - * job.c (start_waiting_job): Free C after using C->file, not before. - -Sat Jul 4 20:51:49 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * commands.c, job.c, main.c, make.h, remote-cstms.c: Use #ifdef - HAVE_* instead of #ifndef *_MISSING. - * configure.in: Use AC_HAVE_FUNCS instead of AC_MISSING_FUNCS (gone). - -Thu Jul 2 18:47:52 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * main.c (main): makelevel>0 or -C implies -w. - -Tue Jun 30 20:50:17 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * file.c, job.c, function.c: Don't #include . - make.h: Do it here instead. - * arscan.c (ar_member_touch): Don't declare errno. - -Thu Jun 25 17:06:55 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * GNUmakefile (make-$(version).tar.Z): Depend on INSTALL, configure.in. - - * remake.c (update_file): If commands or deps are running after - update_file_1 returns, break out of the :: rule (->prev) loop and - just return. - - * job.c (job_next_command): New function; code from start_job. - (start_job_command): Renamed from start_job. Call job_next_command - and recurse for empty command lines and -n. - (start_waiting_job): Call start_job_command, not start_job. - (new_job): Call job_next_command to prime the child structure, and - then call start_waiting_job. - (reap_children): Use job_next_command and start_job_command. - (start_waiting_job): Call start_remote_job_p here, and store its - result in C->remote. If zero, check the load average and - maybe put C on waiting_jobs. - (start_job_command): Test CHILD->remote rather than calling - start_remote_job_p. Don't do load avg checking at all here. - - * main.c (main): Don't handle SIGILL, SIGIOT, SIGEMT, SIGBUS, - SIGSEGV, SIGFPE or SIGTRAP. - - * compatMakefile (glob/libglob.a): Don't pass srcdir to sub-make. - configure will set it in glob/Makefile. - -Wed Jun 24 19:40:34 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * dir.c [DIRENT] (direct): Don't define to dirent. - [! DIRENT] (direct): Define to dirent. - (dir_file_exists_p): Use struct dirent instead of struct direct. - - * make.h (getcwd): No space between macro and ( for args! - - * job.c (start_job): Don't put the job on waiting_jobs if - job_slots_used==0. - - * make.texinfo (Missing): Shortened title. - -Tue Jun 23 18:42:21 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * file.c (remove_intermediates): Print "rm" commands under -n. - -Mon Jun 22 16:20:02 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.62.15. - -Fri Jun 19 16:20:26 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * arscan.c [M_UNIX]: #undef M_XENIX. - -Wed Jun 17 17:59:28 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * default.c (default_terminal_rules): Put @ prefix on RCS cmds. - -Tue Jun 16 19:24:17 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * compatMakefile (getloadavg.o): Removed special rule. - (CFLAGS): Don't include $(defines). - (.c.o): Define suffix rule. - (glob/libglob.a): Pass CPPFLAGS=$(defines) to submake. - (GETOPT_SRC, srcs, tagsrcs): Prefix files with $(srcdir)/. - - * arscan.c (ar_name_equal): Moved local vars inside #if'd block. - - * make.h (max): Removed. - * expand.c (variable_buffer_output): Don't use it. - - * compatMakefile (INSTALL): Define. - (Makefile): New rule to make from Makefile.in. - (srcdir): Define. - (VPATH): Define. - (getloadavg.o, remote.o): Use autoconf $foo< hack. - - * commands.c (fatal_error_signal): Removed return. - -Mon Jun 15 17:42:51 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.62.14. - - * make.texinfo (Summary): New node. - (Special Targets): Mention .EXPORT_ALL_VARIABLES here. - - * variable.c (max): Moved to make.h. - - * compatMakefile (objs, srcs): Added ar & arscan. - - * job.c (start_waiting_job): New function, 2nd half of new_job. - (new_job): Call it. - (start_waiting_jobs): New function. - * remake.c (update_goal_chain): Call start_waiting_jobs at the top - of the main loop. - * compatMakefile (objs, srcs): Removed load, added getloadavg. - -Fri Jun 12 19:33:16 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * job.c (load_too_high): New function. Uses getloadavg. - (waiting_jobs): New variable. - (start_job): Don't call wait_to_start_job. Instead, if - load_too_high returns nonzero, add the child to the - `waiting_jobs' chain and return without starting the job. - -Thu Jun 11 00:05:28 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * expand.c (variable_buffer_output): Made global again. - * variable.h: And declare it. - - * arscan.c (PORTAR): Define for all systems if PORT5AR is not defined. - (AR_NAMELEN, AR_TRAILING_SLASH): Removed. - (ar_scan): Don't use it. Don't #ifdef AR_TRAILING_SLASH; just look - for a slash in the archive at run time. - (ar_name_equal): Rewrote .o hacking to not use AR_NAMELEN, and to - cope with trailing-slash and non-trailing-slash archives. - - * main.c (main) [! SETVBUF_REVERSED]: Test this instead of USGr3 et al. - [SETVBUF_REVERSED]: Always allocate a buffer ourselves. - - * load.c (load_average) [sgi]: Use sysmp call. - - * compatMakefile (INSTALL_DATA, INSTALL_PROGRAM): Define. - ($(bindir)/$(instname), $(mandir)/make.$(manext)): Use them. - - * make.h [HAVE_VFORK_H]: #include . - (vfork, VFORK_NAME): Don't define. - * job.c (start_job): Use "vfork" in place of VFORK_NAME. - - * make.h [HAVE_LIMITS_H, HAVE_SYS_PARAM_H]: If #define'd, #include - the each file. Rearranged PATH_MAX hacking. - * job.c: Rearranged NGROUPS_MAX hacking. - - * remake.c (fstat, time): Don't declare. - - * compatMakefile (defines): Value is @DEFS@. - (LOADLIBES): Value is @LIBS@. - (extras): Value is @LIBOBJS@. - (ARCHIVES, ARCHIVES_SRC, ALLOCASRC): Removed. - * arscan.c, ar.c: Surround body with #ifndef NO_ARCHIVES. - - * misc.c [! HAVE_UNISTD_H]: Test instead of !POSIX to decl get*id. - - * make.h [GETCWD_MISSING]: Test instead of !USG && !POSIX et al. - (getcwd): Just declare if present. If not, declare as a macro - using getwd, and declare getwd. - [PATH_MAX] (GET_PATH_MAX): #define to PATH_MAX. - * main.c (main, log_working_directory): Use getcwd instead of getwd. - - * main.c (main) [SETLINEBUF_MISSING]: Test this instead of USG. - - * make.h (SIGHANDLER, SIGNAL): Removed. - (RETSIGTYPE): Define if not #define'd. - * main.c (main): Use signal in place of SIGNAL. - - * main.c [SYS_SIGLIST_MISSING]: Test instead of USG. - - * job.c (search_path) [GETGROUPS_MISSING]: Test instead of USG. - [HAVE_UNISTD_H]: Test instead of POSIX to not decl getgroups. - - * main.c [! HAVE_UNISTD_H]: Test instead of !POSIX to decl chdir. - [! STDC_HEADERS]: Test instead of !POSIX to decl exit & atof. - - * job.c (child_handler), commands.c (fatal_error_signal): Return - RETSIGTYPE instead of int. - * main.c (main): Declare fatal_error_signal and child_handler here - to return RETSIGTYPE; removed top-level decl of former. - - * commands.c (fatal_error_signal), job.c (unblock_sigs, start_job), - main.c [SIGSETMASK_MISSING]: Test this instead of USG. - -Wed Jun 10 22:06:13 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * job.c [HAVE_WAITPID]: Test this instead of USG. - [! HAVE_UNISTD_H]: Test this instead of !POSIX to declare misc fns. - (GID_T): Don't #define. - (search_path): Use gid_t instead of GID_T. - [GETDTABLESIZE_MISSING, SYS_SIGLIST_MISSING, DUP2_MISSING]: Test - these individually instead of USG for all. - * make.h (ctime): Don't declare. #include time.h instead. - [HAVE_UNISTD_H]: #include and #define POSIX #ifdef - _POSIX_VERSION. - * dir.c [__GNU_LIBRARY__] (D_NAMLEN): Define to use d_namlen member. - * make.h [NEED_MEMORY_H]: Only include memory.h #ifdef this. - - * arscan.c: Removed #ifdef mess about string.h et al. - Just #include make.h instead. - * make.h (fstat, atol): Declare. - - * commands.c (fatal_error_signal): Don't use sigmask to check for - propagated signals; use ||s instead. - (PROPAGATED_SIGNAL_MASK): Removed. - (fatal_error_signal) [POSIX]: Use sigprocmask in place of sigsetmask. - - * variable.c (variable_buffer, variable_buffer_length, - initialize_variable_output, variable_output): Moved to expand.c; - made all static. - (struct output_state, save_variable_output, - restore_variable_output): Removed. - * expand.c (initialize_variable_output): Put a NUL at the beginning - of the new buffer after allocating it. - (allocated_variable_expand_for_file): Don't use - {save,restore}_variable_output. Do it by hand instead, keeping - state on the stack instead of malloc'ing it. - (allocated_variable_expand): Removed. - * variable.h (allocated_variable_expand): Define here as macro. - (variable_buffer_output, initialize_variable_output, - save_variable_output, restore_variable_output): Removed decls. - - * read.c (conditional_line): For an if cmd, if any elt of the - conditionals stack is ignoring, just push a new level that ignores - and return 1; don't evaluate the condition. - -Thu Jun 4 21:01:20 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * main.c (main): Put #ifdef's around frobbing SIGSYS and SIGBUS. - - * job.c (getdtablesize): Don't declare or #define if already #define'd. - -Wed Jun 3 23:42:36 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * file.c (snap_deps): If `.EXPORT_ALL_VARIABLES' is a target, set - export_all_variables. - * make.texinfo (Variables/Recursion): Document .EXPORT_ALL_VARIABLES. - -Tue Jun 2 21:08:35 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.62.13. - - * commands.c (set_file_variables): Calculate length for ^D and ?D - individually, making sure to give them at least enough space for "./". - - * make.h [CRAY]: #define signal to bsdsignal. - - * default.c (default_variables) [CRAY]: Define PC, SEGLDR, - CF77PPFLAGS, CF77PP, CFT, CF, and FC. - - * arscan.c (AR_HDR_SIZE): Define to sizeof (struct ar_hdr), if it - wasn't defined by . - -Thu May 28 00:56:53 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.62.12. - -Tue May 26 01:26:30 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * rule.c (new_pattern_rule): Initialize LASTRULE to nil, not - pattern_rules. - -Mon May 25 19:02:15 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * main.c (decode_switches): Initialize all the long_option elt members. - -Thu May 21 16:34:24 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) - - * make.texinfo (Text Functions): Correct filter-out description. - -Tue May 19 20:50:01 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * compatMakefile (realclean): Don't remove backup files. - - * main.c (decode_switches): Allocate ARGC+1 elts in `other_args'. - -Sun May 17 16:38:48 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * Version 3.62.11. - -Thu May 14 16:42:33 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * job.c (reap_children): Don't die if wait returns EINTR. - -Wed May 13 18:28:25 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * job.c (reap_children): Always run the next command for a - successful target. If we are going to die, we don't want to leave - the target partially made. - -Tue May 12 00:39:19 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * job.c (construct_command_argv_internal): After loop, if we only - have one word, check it for being a shell command. - - * main.c (decode_switches): Allocate ARGC slots in other_args to - begin with, so we never need to worry about growing it. - If we get a non-option arg and POSIXLY_CORRECT is in the - environment, break out of the loop. After the loop, add all remaining - args to other_args list. - - * main.c (decode_switches): For positive_int and floating switches - when optarg is nil, use next arg if it looks right (start with a - digit, or maybe decimal point for floating). - - * variable.c (define_automatic_variables): Always set SHELL to - default if it comes from the environment. Set its export bit. - * make.texinfo (Environment): Document change. - -Mon May 11 00:32:46 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * Version 3.62.10. - - * compatMakefile (tags, TAGS): Use vars for cmds. - (ETAGS, CTAGS): Define. - - * main.c (decode_switches): If a switches elt has a nil long_name, - make the long option name elt be "". - Fixed loop to not ignore all the options. - - * make.texinfo (Option Summary): Added long options. - - * main.c (switches): Changed -m's description to "-b". - (decode_switches): When printing the usage message, don't print - switches whose descriptions start with -. - When constructing the list of names for switch -C, search the - switches vector for switches whose descriptions are "-C". - - * main.c (switches): Call -S --no-keep-going, not --dont-keep-going. - Call -I --include-dir, not --include-path. - (long_option_aliases): Added --new == -W, --assume-new == -W, - --assume-old == -o, --max-load == -l, --dry-run == -n, --recon == -n, - --makefile == -f. - - * main.c (switches): Removed bogus "silent" elt. - (long_option_aliases): Define new var. - (decode_switches): Add long_option_aliases onto the end of the long - options vector created for getopt_long. - Look through long_option_aliases for extra names to list - in usage message. - -Sat May 9 00:21:05 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * main.c (log_working_directory): Fixed to properly not print the - leaving message when we haven't printed the entering message. - -Fri May 8 21:55:35 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * main.c (struct command_switch): Added elts `long_name', - `description', and `argdesc'. - (switches): Added initializers for new members. - (decode_switches): Rewritten to use getopt_long. - * compatMakefile (GETOPT, GETOPT_SRC): Define. - (objs, srcs): Include them. - - * job.c (child_died): Renamed to dead_children; made static. - (child_handler): Increment dead_children instead of setting child_died. - (reap_children): Decrement dead_children instead of clearing - child_died. The point of all this is to avoid printing "waiting - for unfinished jobs" when we don't actually need to block. - This happened when multiple SIGCHLDs before reap_children was called. - - * job.c (reap_children): If ERR is set, so we don't call start_job - on the child being reaped, instead set its command_state to - cs_finished. - (reap_children, child_handler, new_job): I added several - debugging printf's while fixing this. I left them in if (debug_flag) - because they may be useful for debugging this stuff again. - -Wed May 6 22:02:37 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * read.c (read_makefile): v_export is not 1. - -Mon May 4 17:27:37 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.62.9. - - * variable.c (export_all_variables): New variable. - (target_environment): Export variables whose `export' member is - v_default if export_all_variables is set and their names are benign. - * variable.h: Declare export_all_variables. - * read.c (read_makefile): If export or unexport is given with no - args, set or clear export_all_variables, respectively. - - * variable.c (target_environment): Exclude MAKELEVEL in the loop, - so it isn't duplicated when we add it at the end. - -Sun May 3 17:44:48 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.62.8. - - * variable.h (struct variable): Added new member `export'. - * variable.c (define_variable_in_set): Initialize it to v_default. - (target_environment): Don't check for .NOEXPORT. - Export variables whose `export' member is v_default and that would - have been exported under .NOEXPORT, and variables whose `export' - member is v_export. - (try_variable_definition): Return the variable defined. - * variable.h (try_variable_definition): Changed decl. - * read.c (read_makefile): Recognize `export' and `unexport' directives. - -Fri May 1 11:39:38 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * main.c (main) [POSIX]: Reversed args to sigaddset. - -Thu Apr 30 17:33:32 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * job.c [POSIX || !USG] (unblock_sigs): New fn. - (start_job): Block signals before forking. - (new_job): Unblock signals after putting the new child on the chain. - * main.c (main) [POSIX]: Use sigset_t fatal_signal_set instead of - int fatal_signal_mask. - - * load.c [sgi] (LDAV_CVT): Define. - -Wed Apr 29 17:15:59 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * Version 3.62.7. - - * load.c (load_average) [sgi]: Clear the high bit of the address - from the symbol table before looking it up in kmem. - - * misc.c (fatal, makefile_fatal): Put *** in fatal error messages. - (remake_file): No longer needed in message here. - - * main.c (die): Call reap_children with BLOCK==1. - -Tue Apr 28 20:44:35 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * rule.c (freerule): Don't set LASTRULE->next if LASTRULE is nil. - -Sun Apr 26 15:09:51 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * rule.c (count_implicit_rule_limits): Initialize LASTRULE to nil, - not to head of chain. Extract next ptr before we might do - freerule, and use that for next iteration. - (freerule): Still do next ptr frobbing if LASTRULE is nil. - -Tue Apr 21 03:16:29 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * job.c (child_error): Removed extra %s from error msg format. - - * Version 3.62.6. - - * job.c (reap_children): Don't start later commands in a sequence - if ERR is nonzero. - - * job.c (new_job): Always call reap_children with BLOCK==0 first thing. - - * job.c (reap_children): New function; work that used to be done in - child_handler. - (child_died): New global var. - (child_handler): Now just sets child_died. - (wait_for_children): Removed. - (unknown_children_possible, block_signals, unblock_signals, - push_signals_blocked_p, pop_signals_blocked_p): Removed. - (child_execute_job): Removed call to unblock_signals. - (new_job): Removed calls to push_signals_blocked_p and - pop_signals_blocked_p. - * job.h: Declare reap_children, not wait_for_children. - * commands.c (fatal_error_signal), job.c (new_job), - load.c [LDAV_BASED] (wait_to_start_job), main.c (die), - remake.c (update_goal_chain), function.c (expand_function: `shell'): - Changed wait_for_children calls to reap_children. - Some needed to be loops to wait for all children to die. - * commands.c (fatal_error_signal), main.c (main, - log_working_directory), function.c (expand_function): Removed calls - to push_signals_blocked_p and pop_signals_blocked_p. - * job.h: Removed decls. - - * job.h: Added copyright notice. - -Wed Apr 15 02:02:40 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * job.c (child_error): No *** for ignored error. - -Tue Apr 14 18:31:21 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * implicit.c (DEBUGP2): Use do ... while (0) instead of if ... else to - avoid compiler warnings. - - * read.c (parse_file_seq): Don't remove ./ when it is followed by a - blank. - -Mon Apr 13 21:56:15 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * make.h (DEBUGPR): Use do ... while (0) instead of if ... else to - avoid compiler warnings. - - * remake.c (notice_finished_file): Run file_mtime on the also_make - files, so vpath_search can happen. - - * GNUmakefile (tests): Use perl test suite from csa@sw.stratus.com. - (alpha-files): Include test suite tar file. - -Fri Apr 3 00:50:13 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * Version 3.62.5. - -Wed Apr 1 05:31:18 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * remake.c (update_file, update_file_1): Do check_renamed on elts - of dep chains when traversing them. Something unrelated might have - renamed one of the files the dep chain points to. - - * file.c (rename_file): If FILE has been renamed, follow its - `renamed' ptr, so we get to the final real FILE. Using the renamed - ones loses because they are not in the hash table, so the removal - code loops infinitely. - - * read.c (read_all_makefiles): Clobber null terminator into - MAKEFILES expansion, so string passed to read_makefile is properly - terminated. - -Mon Mar 30 20:18:02 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * commands.c (set_file_variables): $* for archive member with - explicit cmds is stem of member, not of whole `lib(member)'. - -Thu Mar 26 15:24:38 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * Version 3.62.4. - -Tue Mar 24 05:20:51 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * rule.c (new_pattern_rule): Rules are identical only if all their - targets match (regardless of order). - -Wed Mar 11 13:49:54 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) - - * remake.c (remake_file): Changed error "no way to make" to "no - rule to make". Fiat Hugh. - - * make.texinfo (Last Resort): Describe %:: rules and new .DEFAULT - behavior. - - * remake.c (update_file_1): Only use .DEFAULT cmds if FILE is not a - target. - -Tue Mar 10 18:13:13 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) - - * remote-stub.c, remote-cstms.c (start_remote_job): Take new arg, - environment to pass to child. - * job.c (start_job): Pass it. - -Mon Mar 9 19:00:11 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * file.c (enter_file): Also strip ./s here, to get command-line - target names. - - * remote-cstms.c: Add comment telling people to leave me alone. - - * compatMakefile (manpage install): Remove target before copying. - -Tue Mar 3 18:43:21 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * make.texinfo (Missing): Renamed to "Incompatibilities and ...". - Added paragraph describing $? incompatibility with Unix and POSIX.2. - -Sun Mar 1 15:50:54 1992 Roland McGrath (roland@nutrimat.gnu.ai.mit.edu) - - * function.c (expand_function: `shell'): Don't declare fork or pipe. - Use vfork instead of fork. - -Tue Feb 25 22:05:32 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) - - * make.texinfo (Chained Rules): Clarify .PRECIOUS to save - intermediate files. - - * load.c [sun] (LDAV_CVT): Define to divide by FSCALE. - -Sun Feb 16 02:05:16 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) - - * Version 3.62.3. - -Sat Feb 15 17:12:20 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) - - * compatMakefile (makeinfo): Use emacs batch-texinfo-format fn. - -Fri Feb 14 00:11:55 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) - - * read.c (read_makefile): Correctly handle define & endef in ifdefs. - - * read.c (record_files): Pass arg for %s in error msg. - - * main.c (main) [__IBMR2, POSIX]: Use correct (a la USGr3) setvbuf - call. - -Wed Feb 12 12:07:39 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) - - * make.texinfo (Libraries/Search): Say it does /usr/local/lib too. - -Sun Feb 9 23:06:24 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * read.c (read_makefile): Check for extraneous `endef' when ignoring. - -Thu Feb 6 16:15:48 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * Version 3.62.2. - -Tue Feb 4 20:04:46 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * job.c (construct_command_argv_internal): Correctly ignore - whitespace after backslash-NL. - -Fri Jan 31 18:30:05 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * compatMakefile: Ignore errors from chgrp and chmod when installing. - -Wed Jan 29 18:13:30 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * main.c (main): When setting MAKELEVEL in the env to re-exec, - allocate space so as not to clobber past the end of the old string. - - * make.h [HAVE_ALLOCA_H]: Include - * compatMakefile (defines): Document HAVE_ALLOCA_H. - -Mon Jan 20 13:40:05 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * make.h [VFORK_MISSING]: Use fork instead. - * compatMakefile (defines): Document same. - - * job.c (construct_command_argv_internal): Don't create an empty - arg if backslash-NL is at beginning of word. - -Sun Jan 19 16:26:53 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * main.c [DGUX]: Call setvbuf as for USGr3. - - * job.c (construct_command_argv_internal): Notice correctly that - backslash-NL is the end of the arg (because it is replaced with a - space). - -Thu Jan 16 18:42:38 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * job.c (construct_command_argv_internal): If SHELL is nil, set it - to default_shell before proceeding. - - * make.h [sgi]: No alloca.h, after all. - -Wed Jan 15 12:30:04 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * read.c (multi_glob): Cons up the chain of the results of glob - from back to front, so it comes out in forward order. - - * job.c (construct_command_argv_internal): Don't eat char following - backslash-NL. - -Mon Jan 13 19:16:56 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * Version 3.62.1. - - * default.c (default_variables) [ultrix]: GET=get, like USG. - - * job.c (construct_command_argv_internal): Remove tabs following - backslash-NL combos in the input line, so they don't show up when - that line is printed. - - * read.c (read_makefile): Don't collapse_continuations the line on - input; do it on the copy we do remove_comments on. - For rule lines, collapse_continuations the line after chopping - ";cmds" off the end, so we don't eat conts in the cmds. - Give error for ";cmds" with no rule. - * job.c (construct_command_argv_internal): Eat backslash-NL combos - when constructing the line to recurse on for slow, too. - -Sat Jan 11 02:20:27 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) - - * file.c (enter_file): Don't strip leading `./'s. - * read.c (parse_file_seq): Take new arg STRIP; if nonzero, do it here. - * default.c (set_default_suffixes), function.c (string_glob), - read.c (read_makefile), rule.c (install_pattern_rule): Change callers. - - * default.c (default_variables) [_IBMR2]: FC=xlf - - * job.c (construct_command_argv_internal): Turn backslash-NL and - following whitespace into a single space, rather than just eating - the backslash. - - * make.texinfo (Copying): @include gpl.texinfo, rather than - duplicating its contents. - -Fri Nov 8 20:06:03 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * job.c (construct_command_argv_internal): Make sure not to bother - processing an empty line. - - * Version 3.62.0. - - * job.c (construct_command_argv_internal): Always recurse for slow; - simple case didn't handle finding newlines. - -Tue Nov 5 18:51:10 1991 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) - - * job.c (construct_command_argv_internal): Set RESTP properly when - slow; don't \ify past a newline. - -Fri Nov 1 19:34:28 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) - - * make.h [sgi]: #include . - - - -See ChangeLog.1 for earlier changes. +2000-06-23 Paul D. Smith + + * main.c (main): Replace EXIT_SUCCESS, EXIT_FAILURE, and + EXIT_TROUBLE with MAKE_SUCCESS, MAKE_FAILURE, and MAKE_TROUBLE. + * make.h: Define these macros. + + * Version 3.79.1 released. + + * configure.in: Add a new option, --disable-nsec-timestamps, to + avoid using sub-second timestamps on systems that support it. It + can lead to problems, e.g. if your makefile relies on "cp -p". + * README.template: Document the issue with "cp -p". + + * config.guess, config.sub: Updated. + +2000-06-22 Paul D. Smith + + * job.c (start_job_command): Increment commands_started before the + special check for ":" (empty command) to avoid spurious "is up to + date" messages. Also move the test for question_flag after we + expand arguments, and only stop if the expansion provided an + actual command to run, not just whitespace. This fixes PR/1780. + +2000-06-21 Paul D. Smith + + * read.c (read_makefile): If we find a semicolon in the target + definition, remember where it was. If the line turns out to be a + target-specific variable, add back the semicolon and everything + after it. Fixes PR/1709. + +2000-06-19 Paul D. Smith + + * config.h-vms.template: #define uintmax_t for this system. + * config.ami.template: Ditto. + * config.h.W32.template: Ditto. + + * configure.in: We don't use select(2) anymore, so don't bother + checking for it. + * acconfig.h: Ditto. + * acinclude.m4: Ditto. + + * file.c (all_secondary): New static global; if 1 it means + .SECONDARY with no prerequisites was seen in the makefile. + (snap_deps): Set it appropriately. + (remove_intermediates): Check it. + (num_intermediates): Remove this global, it's not used anywhere. + (considered): Move this to remake.c and make it static. + + * NEWS: Document the change to .SECONDARY. + * make.texinfo (Special Targets): Document the change to .SECONDARY. + + * implicit.c (pattern_search): Remove the increment of + num_intermediates; it's not used. + * filedef.h: Remove num_intermediates and considered. + + * function.c (handle_function): If the last argument was empty, we + were pretending it didn't exist rather than providing an empty + value. Keep looking until we're past the end, not just at the end. + + * implicit.c (pattern_search): Multi-target implicit rules weren't + expanding the "also made" targets correctly if the pattern didn't + contain a slash but the target did; in that case the directory + part wasn't being added back to the stem on the "also made" + targets. Reported by Seth M LaForge , with + a patch. + +2000-06-17 Eli Zaretskii + + * Makefile.DOS.template (DESTDIR, bindir, datadir, libdir) + (infodir, mandir, includedir): Support installation under a + non-default DESTDIR. + + * remake.c (f_mtime): Fix the spelling of __MSDOS__. + + * configh.DOS.template (HAVE_FDOPEN, HAVE_MKSTEMP): Define. + +2000-06-14 Paul D. Smith + + * acinclude.m4 (pds_WITH_GETTEXT): rewrite fp_WITH_GETTEXT and + rename it to avoid confusion. This version is very specific: it + won't accept any gettext that isn't GNU. If the user doesn't + explicitly ask for the included gettext, we look to see if the + system gettext is GNU (testing both the actual libintl library, + and the libintl.h header file). Only if the system gettext is + really GNU gettext will we allow it to be used. + (pds_CHECK_SYSTEM_GETTEXT): A helper function. + +2000-06-13 Paul D. Smith + + * gettext.h: If we have libintl.h, use that instead of any of the + contents of gettext.h. We won't check for libintl.h unless we're + using the system gettext. + + * function.c (func_word): Clarify error message. + +2000-06-10 Paul Eggert + + Support nanosecond resolution on hosts with 64-bit time_t and + uintmax_t (e.g. 64-bit Sparc Solaris), by splitting + FILE_TIMESTAMP into a 30-bit part for nanoseconds, with the + rest for seconds, if FILE_TIMESTAMP is at least 64 bits wide. + + * make.h: Always define FILE_TIMESTAMP to be uintmax_t, for + simplicity. + + * filedef.h (FILE_TIMESTAMP_HI_RES, FILE_TIMESTAMP_LO_BITS) + (UNKNOWN_MTIME, NONEXISTENT_MTIME, OLD_MTIME) + (ORDINARY_MTIME_MIN, ORDINARY_MTIME_MAX): New macros. + (FILE_TIMESTAMP_STAT_MODTIME): Now takes fname arg. All uses changed. + (FILE_TIMESTAMP_DIV, FILE_TIMESTAMP_MOD) + (FILE_TIMESTAMP_FROM_S_AND_NS): Remove. + (FILE_TIMESTAMP_S, FILE_TIMESTAMP_NS): Use shifts instead of + multiplication and division. Offset the timestamps by + ORDINARY_MTIME_MIN. + (file_timestamp_cons): New decl. + (NEW_MTIME): Now just the maximal timestamp value, as we no longer use + -1 to refer to nonexistent files. + + * file.c (snap_deps, print_file): Use NONEXISTENT_MTIME, + UNKNOWN_MTIME, and OLD_MTIME instead of magic constants. + * filedef.h (file_mtime_1): Likewise. + * main.c (main): Likewise. + * remake.c (update_file_1, notice_finished_file, check_dep) + (f_mtime, name_mtime, library_search): Likewise. + * vpath.c (selective_vpath_search): Likewise. + + * remake.c (f_mtime): Do not assume that (time_t) -1 equals + NONEXISTENT_MTIME. When futzing with time stamps, adjust by + multiples of 2**30, not 10**9. Do not calculate timestamp + adjustments on DOS unless they are needed. + + * commands.c (delete_target): Do not assume that + FILE_TIMESTAMP_S yields -1 for a nonexistent file, as that is + no longer true with the new representation. + + * file.c (file_timestamp_cons): New function, replacing + FILE_TIMESTAMP_FROM_S_AND_NS. All uses changed. + (file_timestamp_now): Use FILE_TIMESTAMP_HI_RES instead of 1 < + FILE_TIMESTAMPS_PER_S to determine whether we're using hi-res + timestamps. + (print_file): Print OLD_MTIME values as "very old" instead of + as a timestamp. + +2000-05-31 Paul Eggert + + * remake.c (name_mtime): Check for stat failures. Retry if EINTR. + +2000-05-24 Paul D. Smith + + * main.c (decode_switches): The "positive_int" switch uses atoi() + which succeeds for any input, and doesn't notice if extra, + non-digit text is after the number. This causes make to mis-parse + command lines like "make -j 5foo" as "make -j5" (ignoring "foo" + completely) instead of "make -j0 5foo" (where "5foo" is a + target). Fix this by checking the value by hand. We could use + strtol() if we were sure of having it; this is the only + questionable use of atoi() I found so we'll just stick with that. + Fixes PR/1716. + + * i18n/ja.po, i18n/nl.po, i18n/pt_BR.po: New translation files. + * configure.in (ALL_LINGUAS): Added pt_BR. + +2000-05-22 Paul Eggert + + * remake.c (f_mtime): Fix bug when handling future odd + timestamps in the WINDOWS32 case. Do not bother initializing + static var to zero. Simplify code that works around WINDOWS32 + and __MSDOS__ time skew brain damage. + +2000-05-22 Paul Eggert + + * job.c: Don't include time.h, as make.h already does this. + +2000-05-22 Paul Eggert + + * configure.in (AC_CHECK_HEADERS): Add sys/time.h. + (AC_HEADER_TIME): Add. + (clock_gettime): Prefer -lrt to -lposix4, for Solaris 7. + (gettimeofday): Add check for standard version of gettimeofday. + This merges changes written by Paul D. Smith. + + * file.c (file_timestamp_now): Use gettimeofday if available + and if clock_gettime does not work. Don't bother with + high-resolution clocks if file timestamps have only one-second + resolution. + + * make.h : Include, conditionally on the usual + TIME_WITH_SYS_TIME and HAVE_SYS_TIME_H macros. This is needed + for gettimeofday. + +2000-05-20 Paul D. Smith + + * read.c (read_makefile): We weren't keeping makefile names around + unless there was a rule defined in them; but now we need to keep + them for variables as well. Forget trying to be fancy: just keep + every makefile name we successfully open. + + * remote-cstms.c (start_remote_job_p): Change DB_EXTRA (?) to DB_JOBS. + +2000-05-17 Paul Eggert + + * commands.c (chop_commands): Ensure ctype macro args are nonnegative. + * expand.c (variable_expand_string): Likewise. + * function.c (subst_expand, lookup_function, msdos_openpipe): + Likewise. + * job.c (vms_redirect, start_job_command, new_job, child_execute_job, + construct_command_argv_internal, construct_command_argv): Likewise. + * main.c (decode_env_switches, quote_for_env): Likewise. + * misc.c (collapse_continuations, end_of_token, end_of_token_w32, + next_token): Likewise. + * read.c (read_makefile, do_define, conditional_line, + find_char_unquote,get_next_mword): Likewise. + * variable.c (try_variable_definition): Likewise. + * vpath.c (construct_vpath_list): Likewise. + * w32/pathstuff.c (convert_vpath_to_windows32): Likewise. + +2000-05-10 Eli Zaretskii + + * main.c (main) [__MSDOS__]: Add SIGFPE to signals we block when + running child programs, to prevent Make from dying on Windows 9X + when the child triggers an FP exception. + +2000-05-08 Paul D. Smith + + * dir.c (find_directory) [WINDOWS32]: If we strip a trailing "\" + from the directory name, remember to add it back. The argument + might really be inside a longer string (e.g. %Path%) and if you + don't restore the "\" it'll be truncated permanently. Fixes PR/1722. + Reported by + +2000-05-02 Paul D. Smith + + * job.c (construct_command_argv_internal) [WINDOWS32]: Added "rd" + and "rmdir" to the list of command.com commands. + Reported by Elod Horvath + +2000-04-24 Paul D. Smith + + * i18n/ja.po: New translation file from the Japanese language team. + +2000-04-18 Paul D. Smith + + * remake.c (f_mtime): If ar_member_date() returns -1 (the member + doesn't exist), then return (FILE_TIMESTAMP)-1 rather than + returning the timestamp calculated from the value -1. Fixes PR/1696. + Reported by Gilles Bourhis . + +2000-04-17 Paul D. Smith + + * config.h.W32.template: Add LOCALEDIR macro resolving to "". + * w32/subproc/sub_proc.c (process_begin): Remove reference to + debug_flag; change it to a DB() call. Fixes PR/1700. + Reported by Jim Smith + +2000-04-17 Bruno Haible + + * arscan.c [BeOS]: Add replacement for nonexistent from GNU + binutils. + +2000-04-11 Paul D. Smith + + * function.c (expand_builtin_function): If no arguments were + provided, just quit early rather than changing each function to + test for this. + (function_table[]): Change the min # of arguments to 0 for all + those functions for which it makes sense (currently everything + that used to take a minimum of 1 argument, except $(call ...)). + Fixes PR/1689. + +2000-04-09 Eli Zaretskii + + * README.DOS: Add instructions to install a binary distro. + Mention latest versions of Windows. + +2000-04-07 Eli Zaretskii + + * main.c (main): Rename TMP_TEMPLATE into DEFAULT_TMPDIR, and use + it for the directory of the temporary file. If P_tmpdir is + defined, use it in preference to "/tmp/". Try $TMPDIR, $TEMP, and + $TMP in the environment before defaulting to DEFAULT_TMPDIR. + (print_version): Add year 2000 to the Copyright line. + +2000-04-04 Paul D. Smith + + * Version 3.79 released. + + * make.texinfo: Update documentation with new features for 3.79. + + * function.c (func_wordlist): Don't re-order arguments to + wordlist. + +2000-04-03 Paul D. Smith + + * remake.c (f_mtime): Archive member timestamps are stored as + time_t, without nanoseconds. But, f_mtime() wants to return + nanosecond info on those systems that support it. So, convert the + return value of ar_member_date() into a FILE_TIMESTAMP, using 0 as + the nanoseconds. + +2000-03-28 Paul D. Smith + + * Version 3.78.92 released. + + * build.template: Updates for gettext support; some bugs fixed. + +2000-03-27 Paul D. Smith + + * config.guess, config.sub: Updated from config CVS archive at + :pserver:anoncvs@subversions.gnu.org:/home/cvs as of today. + + * read.c (record_files): Check if expanding a static pattern + rule's prerequisite pattern leaves an empty string as the + prerequisite, and issue an error if so. Fixes PR/1670. + (read_makefile): Store the starting linenumber for a rule in + TGTS_STARTED. + (record_waiting_files): Use the TGTS_STARTED value for the file + location passed to record_file() instead of the current + linenumber, so error messages list the line where the target was + defined instead of the line after the end of the rule definition. + + * remake.c (start_updating, finish_updating, is_updating): Fix + PR/1671; circular dependencies in double-colon rules are not + diagnosed. These macros set the updating flag in the root + double-colon file instead of the current one, if it's part of a + double-colon list. This solution provided by Tim Magill + ; I just changed the macro names :). + (update_file_1): Call them. + (check_dep): Call them. + + The change to not automatically evaluate the $(call ...) + function's arguments breaks recursive use of call. Although using + $(if ...) and $(foreach ...) in $(call ...) macros is important, + the error conditions generated are simply to obscure for me to + feel comfortable with. If a method is devised to get both + working, we'll revisit. For now, remove this change. + + * function.c (function_table): Turn on the expand bit for func_call. + (func_call): Don't expand arguments for builtin functions; that + will have already been done. + +2000-03-26 Paul D. Smith + + * file.c (remove_intermediates): Never remove targets explicitly + requested on the command-line by checking the cmd_target flag. + Fixed PR/1669. + +2000-03-23 Paul Eggert + + * filedef.h (FILE_TIMESTAMP_STAT_MODTIME): Use st_mtime instead of + st_mtim.tv_sec; the latter doesn't work on Unixware. + +2000-03-18 Paul D. Smith + + * file.c (file_hash_enter): If we're trying to change a file into + itself, just return. We used to assert this wasn't true, but + someone came up with a weird case involving archives. After + playing with it for a while I decided it was OK to ignore it. + + * default.c: Define COFLAGS to empty to avoid spurious warnings. + + * filedef.h: Change #if ST_MTIM_NSEC to #ifdef; this is a macro + containing the name of the nsec field, not true/false. + * make.h: Ditto. + Reported by Marco Franzen . + +2000-03-08 Tim Magill + + * remake.c (update_file): Return the exit status of the pruned + file when pruning, not just 0. Fixes PR/1634. + +2000-02-24 Paul D. Smith + + * configure.in: Close a minor potential security hole; if you're + reading makefiles from stdin (who does that?) you could run into a + race condition with the temp file using mktemp() or tmpnam(). Add + a check for mkstemp() and fdopen(). + * main.c (open_tmpfile): New function to open a temporary file. + If we have mkstemp() (and fdopen()), use that. If not use + mktemp() or tmpnam(). If we have fdopen(), use open() to open the + file O_CREAT|O_EXCL. If not, fall back to normal fopen() (insecure). + (main): Call it. + * job.c (child_execute_job) [VMS]: Call it. + + * variable.c (lookup_variable): If we find a variable which is + being expanded, then note it but keep looking through the rest of + the set list to see if we can find one that isn't. If we do, + return that. If we don't, return the original. Fix for PR/1610. + + While implementing this I realized that it also solves PR/1380 in + a much more elegant way. I don't know what I was smoking before. + So, remove the hackage surrounding the original fix for that (see + below). Change this function back to lookup_variable and remove + the extra setlist argument. + * variable.h (recursively_expand_setlist): Remove the macro, + rename the prototype, and remove the extra setlist argument. + (lookup_variable): Ditto. + * expand.c (recursively_expand): Rename and remove the extra + setlist argument. + (reference_variable): Use lookup_variable() again. + (allocated_variable_append): Remove the extra setlist argument. + +2000-02-21 Paul D. Smith + + * README.template: A few updates. + + * i18n/de.po: New version from the German translation team. + +2000-02-09 Paul D. Smith + + * Version 3.78.91 released. + +2000-02-07 Paul D. Smith + + * read.c (read_makefile): Reset *p2 to ':', not *colonp. If any + filenames contained backslashes the resulting output (without + backslashes) will be shorter, so setting *colonp doesn't change + the right character. Fix for PR/1586. + + For += target-specific variables we need to remember which + variable set we found the variable in, so we can start looking + from there in the next iteration (otherwise we might see it again + in recursively_expand and fail!). This is turning into a hack; if + it gets any worse we'll have to rethink this entire algorithm... + implementing expansion of these references separately from the + "normal" expansion, say, instead of using the same codepath. + Actually, it's already "worse enough" :-/. + Fix for PR/1380. + + * variable.h (recursively_expand_setlist): Rename + recursively_expand to add a struct variable_set_list argument, and + make a macro for recursively_expand. + (lookup_variable_setlist): Rename lookup_variable to add a struct + variable_set_list argument, and make a macro for lookup_variable. + + * expand.c (recursively_expand_setlist): Take an extra struct + variable_set_list argument and pass it to allocated_variable_append(). + (reference_variable): Use lookup_variable_setlist() and pass the + returned variable_set_list to recursively_expand_setlist. + (allocated_variable_append): Take an extra setlist argument and + use this as the starting place when searching for the appended + expansion. If it's null, use current_variable_set_list as before. + + * variable.c (lookup_variable_setlist): If the LISTP argument is + not nil, set it to the list containing the variable we found. + +2000-02-04 Paul D. Smith + + * variable.c (print_variable): Write out filename/linenumber + information for the variable definition if present. + (define_variable_in_set): Store filename information if provided. + (define_variable, define_variable_for_file): Removed. + (try_variable_definition): Use define_variable_loc() to keep + variable definition location information. + * read.c (read_makefile): Keep variable definition location info. + (do_define): Ditto. + (record_target_var): Ditto. + * variable.h (define_variable_in_set): New fileinfo argument. + (define_variable, define_variable_loc, define_variable_for_file): + Declare new macros. + + Fix PR/1407: + + * filedef.h (struct file): Rename patvar to pat_variables and make + it just a variable_set_list; we need our own copy of the pattern + variable's variable set list here to avoid overwriting the global + one. + * variable.c (initialize_file_variables): Move the instantiation + of the pat_variables pointer here. Only do the search after we're + done reading the makefiles so we don't search too early. If + there's a pat_variables value, set up the variables next ptr. + * expand.c (variable_expand_for_file): Remove the setup of the + pat_variables info; it's done earlier now to ensure the parent's + pattern variables are set up correctly as well. + +2000-02-03 Paul D. Smith + + * job.c (sh_chars_dos) [WINDOWS32]: Add "&" as a shell + metacharacter for the W32 DOS shell. + Reported by Warren Jones . + +2000-02-02 Paul D. Smith + + Fixes for the OpenVMS port from Hartmut Becker + + * config.h-vms [VMS]: Define LOCALEDIR to something; needed for + the expansion of bindtextdomain() even though it's a no-op. + * vmsfunctions.c (strcmpi): Remove duplicate definition of strcmpi(). + (readdir): Use DB() instead of testing debug_flag. + * dir.c (file_impossible) [VMS]: Search "p" not "name". + * job.c [VMS]: Switch from debug_flag to the new DB macro. Add + some i18n _() macros (even though VMS doesn't yet support it). + + * function.c (patsubst_expand): Change "len" to not be unsigned to + avoid type mismatches. + + * main.c (main): Declare signame_init() if we're going to call it. + +2000-01-29 Eli Zaretskii + + * Makefile.DOS.template: Track changes in Makefile.in + (install-recursive, uninstall-recursive): Add missing targets. + (DESTDIR): Define. + (install-binPROGRAMS, uninstall-binPROGRAMS): Use $(DESTDIR). + + * default.c (default_variables) [__MSDOS__]: Define CXX to gpp. + +2000-01-27 Paul D. Smith + + * gettext.c: Some warning cleanups, and a fix for systems which + don't define HAVE_ALLOCA (the workaround code was included + twice). + +2000-01-26 Paul D. Smith + + * Version 3.78.90 released. + +2000-01-25 Paul D. Smith + + Change gettext support to use the simplified version in libit 0.7. + + * getopt.c, make.h: Use gettext.h instead of libintl.h. + * ABOUT-NLS, gettext.h, gettext.c: New files from libit 0.7. + Modified to remove some static declarations which aren't defined. + * acconfig.h: Use new gettext #defines. + * acinclude.m4: Add fp_WITH_GETTEXT; remove AM_GNU_GETTEXT. + * configure.in: Call fp_WITH_GETTEXT instead. + * Makefile.am: New gettext stuff. Also force inclusion of glob + files for systems which have LIBC glob. + + * i18n/Makefile.am, i18n/.cvsignore: New dir for translation files. + * i18n/de.po, i18n/es.po, i18n/fr.po, i18n/ko.po, i18n/nl.po: + * i18n/pl.po, i18n/ru.po: Import translations already done for + earlier versions of GNU make. Thanks for that work!! + + * po/Makefile.in.in, po/POTFILES.in: Removed. + +2000-01-23 Paul D. Smith + + * main.c (decode_debug_flags): If debug_flag is set, enable all + debugging levels. + (debug_flag): Resurrect this flag variable. + (switches): Make -d give the old behavior of turning on all + debugging. Change --debug alone to emit basic debugging and take + optional arguments to expand debugging. + * NEWS: Document the new debugging options. + + * remake.c (no_rule_error): Remove this function. This tries to + fix a real problem--see the description with the introduction of + this function below. However, the cure is worse than the disease + and this approach won't work. + (remake_file): Put the code from no_rule_error back here. + (update_file_1): Remove call to no_rule_error. + + * filedef.h (struct file): Remove mfile_status field. + +2000-01-22 Paul D. Smith + + Integrate GNU gettext support. + + * configure.in: Add AM_GNU_GETTEXT. + * Makefile.am: Add options for setting LOCALEDIR, -Iintl, etc. + * acinclude.m4: Add gettext autoconf macros. + * acconfig.h: Add new gettext #defines. + * make.h: Include libintl.h. Make sure _() and N_() macros are + declared. Make gettext() an empty macro is NLS is disabled. + * main.c (struct command_switch switches[]): Can't initialize + static data with _() (gettext calls), so use N_() there then use + gettext() directly when printing the strings. + * remake.c (no_rule_error): The string constants can't be static + when initializing _() macros. + * file.c (print_file): Reformat a few strings to work better for + translation. + * po/POTFILES.in, po/Makefile.in.in: New files. Take + Makefile.in.in from the latest GNU tar distribution, as that + version works better than the one that comes with gettext. + * NEWS: Mention i18n ability. + +2000-01-21 Paul D. Smith + + Installed patches for the VMS port. + Patches provided by: Hartmut Becker + + * readme.vms, arscan.c, config.h-vms, default.c, dir.c, file.c: + * implicit.c, job.c, make.h, makefile.com, makefile.vms, rule.c: + * variable.c, vmsdir.h, vmsfunctions.c, vmsify.c, glob/glob.c: + * glob/glob.h: Installed patches. See readme.vms for details. + +2000-01-14 Andreas Schwab + + * dir.c (read_dirstream): Initialize d_type if it exists. + +2000-01-11 Paul D. Smith + + Resolve PR/xxxx: don't automatically evaluate the $(call ...) + function's arguments. While we're here, clean up argument passing + protocol to always use simple nul-terminated strings, instead of + sometimes using offset pointers to mark the end of arguments. + This change also fixes PR/1517. + Reported by Damien GIBOU . + + * function.c (struct function_table_entry): Remove the negative + required_args hack; put in explicit min and max # of arguments. + (function_table): Add in the max value. Turn off the expand bit + for func_call. + (expand_builtin_function): Test against minimum_args instead of + the obsolete required_args. + (handle_function): Rewrite this. We don't try to be fancy and + pass one style of arguments to expanded functions and another + style to non-expanded functions: pass pointers to nul-terminated + strings to all functions. + (func_call): Rewrite this. If we are invoking a builtin function + and it's supposed to have its arguments expanded, do that (since + it's not done by handle_function for $(call ...) anymore). For + non-builtins, just add the variables as before but mark them as + recursive so they'll be expanded later, as needed. + (func_if): All arguments are vanilla nul-terminated strings: + remove trickery with "argv[1]-1". + (func_foreach): Ditto. + + * expand.c (expand_argument): If the second arg is NULL, expand + the entire first argument. + + * job.c (new_job): Zero the child struct. This change was just + made to keep some heap checking software happy, not because there + was an actual bug (the important memory was being cleared properly). + +1999-12-15 Paul D. Smith + + * variable.c (print_variable): Print the variable with += if the + append flag is set. + + * implicit.c (pattern_search): Remove the extra check of the + implicit flag added on 8/24/1998. This causes problems and the + reason for the change was better resolved by the change made to + check_deps() on 1998-08-26. This fixes PR/1423. + +1999-12-08 Paul D. Smith + + * dir.c (dir_setup_glob): On 64 bit ReliantUNIX (5.44 and above) + in LFS mode, stat() is actually a macro for stat64(). Assignment + doesn't work in that case. So, stat is a macro, make a local + wrapper function to invoke it. + (local_stat): Wrapper function, if needed. + Reported by Andrej Borsenkow . + +1999-12-02 Paul D. Smith + + * remake.c (update_file): Move the considered test outside the + double-colon loop, _but_ make sure we test the double_colon target + not the "current" target. If we stop early because one + double-colon target is running, mark all the rest considered and + try to start their prerequisites (so they're marked considered). + Fix for PR/1476 suggested by Tim Magill . + +1999-11-22 Rob Tulloh + + * function.c (windows32_openpipe, func_shell): Correct Windows32 + problem where $(shell nosuchfile) would incorrectly exit make. The + fix is to print the error and let make continue. + Reported by David Masterson . + + * w32/subproc/misc.c (arr2envblk): Memory leak fix. + +1999-11-21 Paul D. Smith + + Rework GNU make debugging to provide different levels of output. + + * NEWS: mention it. + * debug.h: New file. Define various debugging levels and macros. + * function.c, implicit.c, job.c, main.c, misc.c, read.c, remake.c + * remote-cstms.c, vmsfunctions.c: Replace all code depending on + debug_flag with invocations of debugging macros. + * make.h: Remove debug_flag and DEBUGPR, add db_level. + +1999-11-18 Paul Eggert + + * acinclude.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a problem + with the QNX 4.25 shell, which doesn't propagate exit status of + failed commands inside shell assignments. + +1999-11-17 Paul D. Smith + + * function.c (func_if): Find the end of the arg list by testing + the next item for NULL; any other test is not correct. + Reported by Graham Reed (PR/1429). + + Fix += when used in a target-specific variable context. + + * variable.h: New bitfield APPEND set if we have a += + target-specific variable. + + * variable.c (try_variable_definition): Add an argument to specify + if we're trying a target-specific variable. If we are and it's an + append style, don't append it, record it as normal recursive, but + set the APPEND flag so it'll be expanded later. + * main.c (handle_non_switch_argument): Use new + try_variable_definition() signature. + * read.c (read_makefile,record_target_var): Ditto. + + * expand.c (allocated_variable_append): New function: like + allocated_variable_expand(), but we expand the same variable name + in the context of the ``next'' variable set, then we append this + expanded value. + (recursively_expand): Invoke it, if the APPEND bit is set. + +1999-11-10 Paul D. Smith + + * file.c (snap_deps): If the .NOTPARALLEL target is defined, turn + off parallel builds for this make only (still allow submakes to be + run in parallel). + * main.c: New variable, ``not_parallel''. + * make.h: Add an extern for it. + * job.c (new_job): Test NOT_PARALLEL as well as JOB_SLOTS. + * NEWS: Add info on .NOTPARALLEL. + * make.texinfo (Special Targets): Document it. + + * configure.in (GLOBDIR): Set to "glob" if we need to build the + glob library. + * Makefile.am (SUBDIRS): Use the GLOBDIR variable instead of + "glob" so we don't try to build glob if we don't need to (if we + have GLIBC glob). Reported by Lars Hecking . + + * main.c (main): Don't put "***" in the clock skew warning + message. Reported by karl@gnu.org. + + * make.h: Remove unneeded signal setup. + + * signame.c: Remove extraneous #includes; some versions of Ultrix + don't protect against multiple inclusions and it causes compile + errors. Reported by Simon Burge . + +1999-10-15 Paul D. Smith + + * main.c (quote_for_env): Rename from quote_as_word(). + + * make.h, *.c: Prefer strchr() and strrchr() in the code + rather than index() and rindex(). Define strchr/strrchr in terms + of index/rindex if the former aren't supported. + + * default.c (CHECKOUT,v): Replace the fancy, complicated + patsubst/filter expression with a simple $(if ...) expression. + + * main.c (print_usage): Add the bug reporting mailing address to + the --help output, as per the GNU coding standards. + Reported by Paul Eggert . + + * README.customs: Installed information on running Customs-ized + GNU make and setuid root, collected by Ted Stern . + + * read.c (read_all_makefiles): PR/1394: Mark the end of the next + token in the MAKEFILES value string _before_ we dup it. + +1999-10-13 Paul D. Smith + + * configure.in (make_cv_sys_gnu_glob): We used to add the -Iglob + flag to CPPFLAGS, but that loses if the user specifies his own + CPPFLAGS; this one gets added _after_ his and if he happens to + have an old or broken glob.h--boom. Instead, put it in GLOBINC + and SUBST it. + + * Makefile.am (INCLUDES): Add @GLOBINC@ to the INCLUDES macro; + these things get on the compile line well before the user's + CPPFLAGS. + +1999-10-12 Paul D. Smith + + * remake.c (notice_finished_file): If we get here and -n is set, + see if all the command lines are marked recursive. If so, then we + ran every command there is, so check the mtime on this file just + like we would normally. If not, we assume the command we didn't + run would updates the target and set mtime of the target to "very new". + + * job.c (start_job_command): Update lines_flags in the file's cmds + structure with any per-line tokens we found (`@', `-', `+'). + +1999-10-08 Paul D. Smith + + * variable.c (initialize_file_variables): Always recurse to + initialize the parent's file variables: the parent might not have + any rules to run so it might not have been initialized before + this--we need this to set up the chain properly for + target-specific variables. + +1999-09-29 Paul Eggert + + * main.c (quote_as_word): Always quote for decode_env_switches + instead of for the shell, so that arguments with strange + characters are are passed to submakes correctly. Remove + double_dollars arg; we always double dollars now. All callers + changed. + (decode_env_switches): Don't run off the end of an environment + variable whose contents ends in a unescaped backslash. + +1999-09-23 Paul D. Smith + + * commands.c, function.c, job.c, read.c: Cast arguments to + ctype.h functions/macros to _unsigned_ char for portability. + + * remake.c, function.c: Compiler warning fixes: the second + argument to find_next_token() should be an _unsigned_ int*. + Reported by Han-Wen Nienhuys . + +1999-09-23 Paul D. Smith + + * Version 3.78.1 released. + + * make.texinfo: Update version/date stamp. + + * main.c (main): Argh. For some reason we were closing _all_ the + jobserver pipes before we re-exec'd due to changed makefiles. + This means that any re-exec got a "jobserver unavailable" error :-/. + I can't believe we didn't notice this before. + +1999-09-22 Paul D. Smith + + * Version 3.78 released. + + * main.c (main): Only fail on multiple --jobserver-fds options if + they aren't all the same. Some makefiles use things like + $(MAKE) $(MFLAGS) which will cause multiple, identical copies of + --jobserver-fds to show up. + +1999-09-16 Paul D. Smith + + * main.c (define_makeflags): Zero out FLAGSTRING to avoid + uninitialized memory reads when checking *p != '-' in the loop. + +1999-09-15 Paul D. Smith + + * Version 3.77.97 released. + + * configure.in (MAKE_HOST): AC_SUBST this so it will go into the + makefile. + * Makefile.am (check-local): Print a success banner if the check + succeeds. + (check-regression): A bit of fine-tuning. + +1999-09-15 Eli Zaretskii + + * README.DOS.template: Document requirements for the test suite. + * Makefile.DOS.template: Updates to allow the test suite to run + from "make check". + + * main.c (main): Handle it if argv[0] isn't an absolute path. + +1999-09-13 Paul D. Smith + + * Version 3.77.96 released. + + * Makefile.am (loadavg): Use CPPFLAGS, etc. to make sure we get + all the right #defines to compile. + (check-regression): Look for the regression test suite in the make + package itself. If we're building remotely, use symlinks to make + a local copy. + (dist-hook): Put the test suite into the tar file. + + * configure.in: Look for perl for the test suite. + +1999-09-10 Paul Eggert + + * acinclude.m4 (AC_SYS_LARGEFILE_FLAGS): If on HP-UX 10.20 or + later, and using GCC, define __STDC_EXT__; this works around a + bug in GCC 2.95.1. + +1999-09-08 Paul D. Smith + + * main.c (print_version): Ugh. GLIBC's configure tries to check + make version strings and is too aggressive with their matching + expressions. I've struck a deal with them to leave the version + output as-is for 3.78, and they'll change their configure checks + so that I can change this back in the future. + +1999-09-07 Eli Zaretskii + + * job.c (construct_command_argv_internal) [__MSDOS__]: Add "echo" + and "unset" to the list of builtin shell commands. + + * configh.DOS.template (MAKE_HOST): Define to "i386-pc-msdosdjgpp" + which is the canonical name of the DJGPP host. + +1999-09-05 Paul D. Smith + + * Version 3.77.95 released. + + * make.texinfo (Make Errors): Document some new jobserver error + messages. + +1999-09-04 Eli Zaretskii + + * make.texinfo (Make Errors): Document the hint about 8 spaces + instead of a TAB. + (Call Function, Quick Reference): Use @code{$(1)}, not @var. + + * main.c (main) [__MSDOS__]: Say "on this platform" instead of "on + MS-DOS", since the MSDOS version could run on Windows. + +1999-09-03 Paul D. Smith + + * remake.c (notice_finished_file): Always set mtime_before_update + if it's not been set, not just if we ran some rules. Otherwise we + may have a situation where a target's prerequisite was rebuilt but + not changed, so this target's rules weren't run, then + update_goal_chain() sees mtime_before_update != last_mtime and + thinks that the top-level target changed when it really didn't. + This can cause an infinite loop when remaking makefiles. + (update_goal_chain): If we get back to the top and we don't know + what the goal's last_mtime was, find it now. We need to know so + we can compare it to mtime_before_update later (this is only + crucial when remaking makefiles--should we only do it then?) + +1999-09-02 Paul D. Smith + + * read.c (read_makefile): If "override" appears as the first + prerequisite, look further to ensure this is really a + target-specific variable definition, and not just some + prerequisite named "override". + +1999-09-01 Paul D. Smith + + * function.c (IS_PATHSEP) [WINDOWS32]: Allow backslash separators + for W32 platforms. + * read.c (record_files) [WINDOWS32]: Allow backslash separators + for W32 platforms. + * implicit.c (pattern_search) [WINDOWS32]: Allow backslash + separators for W32 platforms. + + * configure.in (MAKE_HOST): Define it to be the canonical build + host info, now that we need AC_CANONICAL_HOST anyway (for large + file support). + * version.c (make_host): Define a variable to MAKE_HOST so we're + sure to get it from the local config.h. + * main.c (print_version): Use it in the version information. + * config.ami.template: Add MAKE_HOST. + * configh.dos.template: Ditto. + * config.h.W32.template: Ditto. + * config.h-vms.template: Ditto. + + * main.c (main): Close the jobserver file descriptors if we need + to re-exec ourselves. + Also print more reasonable error if users force -jN for submakes. + This may be common for a while until people use the jobserver + feature. If it happens, we ignore the existing jobserver stuff + and use whatever they specified on the commandline. + (define_makeflags): Fixed a long-standing bug: if a long name + only option comes immediately after a single letter option with no + argument, then the option string is constructed incorrectly. For + example, with -w and --jobserver-fds you get "-w-jobserver-fds..." + instead of "-w --jobserver-fds..."; add in an extra " -". + + * make.texinfo (Phony Targets): Add another example of using + .PHONY with subdirectories/recursive make. + +1999-08-30 Paul D. Smith + + * README.W32.template: Renamed from README.W32 so it's + autogenerated during the dist. A few minor modifications. + + * configure.in: Check for kstat_open before AC_FUNC_GETLOADAVG + since the latter needs to know whether the former exists to give + an accurate result. + +1999-08-26 Rob Tulloh + + * NMakefile [WINDOWS32]: Now more robust. If you change a file + under w32/subproc, the make.exe will be relinked. Also added some + tests to make sure erase commands won't fail when executed in a + pristine build environment. + + * w32/subproc/sub_proc.c [WINDOWS32]: Added support for + HAVE_CYGWIN_SHELL. If you are using the Cygwin B20.1 release, it + is now possible to have have native support for this shell without + having to rely on klutzy BATCH_MODE_ONLY_SHELL. + + * config.h.W32 [WINDOWS32]: Added HAVE_CYGWIN_SHELL macro which + users can define if they want to build make to use this shell. + + * README.W32 [WINDOWS32]: Added informaton about + HAVE_CYGWIN_SHELL. Cleaned up text a bit to make it more current. + +1999-08-26 Paul Eggert + + Support large files in AIX, HP-UX, and IRIX. + + * acinclude.m4 (AC_LFS): Remove. Superseded by AC_SYS_LARGEFILE. + (AC_SYS_LARGEFILE_FLAGS, AC_SYS_LARGEFILE_SPACE_APPEND, + AC_SYS_LARGEFILE_MACRO_VALUE, AC_SYS_LARGEFILE): New macros. + (jm_AC_TYPE_UINTMAX_T): Check for busted compilers that can't + shift or divide unsigned long long. + (AM_PROG_CC_STDC): New macro; a temporary workaround of a bug in + automake 1.4. + + * configure.in (AC_CANONICAL_HOST): Add; required by new + AC_SYS_LARGEFILE. + (AC_SYS_LARGEFILE): Renamed from AC_LFS. + (AM_PROG_CC_STDC): Add. + + * config.guess, config.sub: New files, needed for AC_CANONICAL_HOST. + +1999-08-25 Paul Eggert + + * make.h (CHAR_MAX): New macro. + * main.c (struct command_switch): c is now int, + so that it can store values greater than CHAR_MAX. + (switches): Replace small numbers N with CHAR_MAX+N-1, + to avoid problems with non-ASCII character sets. + (short_option): New macro. + (init_switches, print_usage, define_makeflags): Use it instead of + isalnum. + +1999-08-25 Paul D. Smith + + * Version 3.77.94 released. + + * main.c (main) [__MSDOS__]: If the user uses -j, warn that it's + not supported and reset it. + + * make.h (ISDIGIT): Obtained this from the textutils distribution. + * main.c (decode_switches): Use it. + * function.c (is_numeric): Use it. + + * main.c (struct command_switch): Store the switch char in an + unsigned char to shut up GCC about using it with ctype.h macros. + Besides, it _is_ always unsigned. + +1999-08-24 Paul D. Smith + + * make.texinfo: Change "dependency" to "prerequisite" and + "dependencies" to "prerequisites". Various other cleanups related + to the terminology change. + * file.c: Change debugging and error messages to use + "prerequisite" instead of "dependency". + * implicit.c: Ditto. + * remake.c: Ditto. + * NEWS: Document it. + +1999-08-23 Paul D. Smith + + * remake.c (update_file): Move the considered check into the + double-colon rule loop, so we consider double-colon rules + individually (otherwise after the first is pruned, the rest won't + get run). + + * README.template: Minor changes. + + Remove the debugging features of the jobserver, so it no longer + writes distinct tokens to the pipe. Thus, we don't need to store + the token we get. A side effect of this is to remove a potential + "unavailable token" situation: make-1 invokes make-2 with its + special token and make-3 with a normal token; make-2 completes. + Now we're waiting for make-3 but using 2 tokens; our special token + is idle. In the new version we don't have special tokens per se, + we merely decide if we already have a child or not. If we don't, + we don't need a token. If we do, we have to get one to run the + next child. Similar for putting tokens back: if we're cleaning up + the last child, we don't put a token back. Otherwise, we do. + + * main.c: Add a new, internal flag --jobserver-fds instead of + overloading the meaning of -j. Remove job_slots_str and add the + stringlist jobserver_fds. + (struct command_switch): We don't need the int_string type. + (switches[]): Add a new option for --jobserver-fds and remove + conditions around -j. Make the description for the former 0 so it + doesn't print during "make --help". + (main): Rework jobserver parsing. If we got --jobserver-fds + make sure it's valid. We only get one and job_slots must be 0. + If we're the toplevel make (-jN without --jobserver-fds) create + the pipe and write generic tokens. + Create the stringlist struct for the submakes. + Clean up the stringlist where necessary. + (init_switches): Remove int_string handling. + (print_usage): Don't print internal flags (description ptr is 0). + (decode_switches): Remove int_string handling. + (define_makeflags): Remove int_string handling. + + * job.c: Remove my_job_token flag and all references to the + child->job_token field. + (free_job_token): Remove this and merge it into free_child(). + (reap_children): Rework the "reaped a child" logic slightly. + Don't call defunct free_job_token anymore. Always call + free_child, even if we're dying. + (free_child): If we're not freeing the only child, put a token + back in the pipe. Then, if we're dying, don't bother to free. + (new_job): If we are using the jobserver, loop checking to see if + a) there are no children or b) we get a token from the pipe. + + * job.h (struct child): Remove the job_token field. + +1999-08-20 Paul D. Smith + + * variable.c (try_variable_definition): Allocate for variable + expansion in f_append with a simple variable: if we're looking at + target-specific variables we don't want to trash the buffer. + Noticed by Reiner Beninga . + +1999-08-16 Eli Zaretskii + + * main.c (main) [__MSDOS__]: Mirror any backslashes in argv[0], to + avoid problems in shell commands that use backslashes as escape + characters. + +1999-08-16 Paul D. Smith + + * Version 3.77.93 released. + +1999-08-13 Paul D. Smith + + Another jobserver algorithm change. We conveniently forgot that + the blocking bit is shared by all users of the pipe, it's not a + per-process setting. Since we have many make processes all + sharing the pipe we can't use the blocking bit as a signal handler + flag. Instead, we'll dup the pipe's read FD and have the SIGCHLD + handler close the dup'd FD. This will cause the read() to fail + with EBADF the next time we invoke it, so we know we need to reap + children. We then re-dup and reap. + + * main.c (main): Define the job_rfd variable to hold the dup'd FD. + Actually dup the read side of the pipe. Don't bother setting the + blocking bit on the file descriptor. + * make.h: Declare the job_rfd variable. + * job.c (child_handler): If the dup'd jobserver pipe is open, + close it and assign -1 to job_rfd to notify the main program that + we got a SIGCHLD. + (start_job_command): Close the dup'd FD before exec'ing children. + Since we open and close this thing so often it doesn't seem + worth it to use the close-on-exec bit. + (new_job): Remove code for testing/setting the blocking bit. + Instead of EAGAIN, test for EBADF. If the dup'd FD has been + closed, re-dup it before we reap children. + + * function.c (func_shell): Be a little more accurate about the + length of the error string to allocate. + + * expand.c (variable_expand_for_file): If there's no filenm info + (say, from a builtin command) then reset reading_file to 0. + +1999-08-09 Paul D. Smith + + * maintMakefile: Use g in sed (s///g) to replace >1 variable per + line. + + * Makefile.DOS.template [__MSDOS__]: Fix mostlyclean-aminfo to + remove the right files. + +1999-08-01 Eli Zaretskii + + * function.c (msdos_openpipe) [__MSDOS__]: *Really* return a FILE + ptr. + +1999-08-01 Paul D. Smith + + New jobserver algorithm to avoid a possible hole where we could + miss SIGCHLDs and get into a deadlock. The original algorithm was + suggested by Roland McGrath with a nice refinement by Paul Eggert. + Many thanks as well to Tim Magill and Howard Chu, who also + provided many viable ideas and critiques. We all had a fun week + dreaming up interesting ways to use and abuse UNIX syscalls :). + + Previously we could miss a SIGCHLD if it happened after we reaped + the children but before we re-entered the blocking read. If this + happened to all makes and/or all children, make would never wake + up. + + We avoid this by having the SIGCHLD handler reset the blocking bit + on the jobserver pipe read FD (normally read does block in this + algorithm). Now if the handler is called between the time we reap + and the time we read(), and there are no tokens available, the + read will merely return with EAGAIN instead of blocking. + + * main.c (main): Set the blocking bit explicitly here. + * job.c (child_handler): If we have a jobserver pipe, set the + non-blocking bit for it. + (start_waiting_job): Move the token stuff back to new_job; if we + do it here then we're not controlling the number of remote jobs + started! + (new_job): Move the check for job slots to _after_ we've created a + child structure. If the read returns without getting a token, set + the blocking bit then try to reap_children. + + * make.h (EINTR_SET): Define to test errno if EINTR is available, + or 0 otherwise. Just some code cleanup. + * arscan.c (ar_member_touch): Use it. + * function.c (func_shell): Use it. + * job.c (reap_children): Use it. + * remake.c (touch_file): Use it. + +1999-07-28 Paul D. Smith + + * make.h: Define _() and N_() macros as passthrough to initiate + NLS support. + * : Add _()/N_() around translatable strings. + +1999-07-27 Paul D. Smith + + * read.c: Make sure make.h comes before other headers. + +1999-07-26 Paul D. Smith + + * make.texinfo (Quick Reference): Update with the new features. + +1999-07-25 Eli Zaretskii + + * remake.c [__MSDOS__]: Don't include variables.h, it's already + included. + + * function.c (msdos_openpipe) [__MSDOS__]: Return FILE ptr. + (func_shell) [__MSDOS__]: Fix the argument list. + + * Makefile.DOS.template: Update from Makefile.in. + + * README.DOS.template: Configure command fixed. + + * configh.dos.template: Update to provide definitions for + uintmax_t, fd_set_size_t, and HAVE_SELECT. + +1999-07-24 Paul D. Smith + + * Version 3.77.91 released. + + * configure.in: Changes to the boostrapping code: if build.sh.in + doesn't exist configure spits an error and generates an empty + build.sh file which causes make to be confused. + * maintMakefile: Don't build README early. + +1999-07-23 Paul D. Smith + + * job.c (my_job_token): This variable controls whether we've + handed our personal token to a subprocess or not. Note we could + probably infer this from the value of job_slots_used, but it's + clearer to just keep it separately. Job_slots_used isn't really + relevant when running the job server. + (free_job_token): New function: free a job token. If we don't + have one, no-op. If we have the personal token, reclaim it. If + we have another token, write it back to the pipe. + (reap_children): Call free_job_token. + (free_child): Call free_job_token. + (start_job_command): Remove duplicate test for '+' in the command. + If we don't appear to be running a recursive make, close the + jobserver filedescriptors. + (start_waiting_job): If our personal token is available, use that + instead of going to the server pipe. + (*): Add the token value to many debugging statements, and print + the child target name in addition to the ptr hex value. + Change the default "no token" value from '\0' to '-' so it looks + better in the output. + + * main.c (main): Install the child_handler with sigaction() + instead of signal() if we have it. On SysV systems, signal() uses + SysV semantics which are a pain. But sigaction() always does what + we want. + (main): If we got job server FDs from the environment, test them + to see if they're open. If not, the parent make closed them + because it didn't think we were a submake. Print a warning and + suggestion to use "+" on the submake invocation, and hard-set to + -j1 for this instance of make. + (main): Change the algorithm for assigning slots to be more + robust. Previously make checked to see if it thought a subprocess + was a submake and if so, didn't give it a token. Since make's + don't consume tokens we could spawn many of makes fighting for a + small number of tokens. Plus this is unreliable because submakes + might not be recognized by the parent (see above) then all the + tokens could be used up by unrecognized makes, and no one could + run. Now every make consumes a token from its parent. However, + the make can also use this token to spawn a child. If the make + wants more than one, it goes to the jobserver pipe. Thus there + will never be more than N makes running for -jN, and N*2 processes + (N makes and their N children). Every make can always run at + least one job, and we'll never deadlock. (Note the closing of the + pipe for non-submakes also solves this, but this is still a better + algorithm.) So! Only put N-1 tokens into the pipe, since the + topmost make keeps one for itself. + + * configure.in: Find sigaction. Disable job server support unless + the system provides it, in addition to either waitpid() or + wait3(). + +1999-07-22 Rob Tulloh + + * arscan.c (ar_member_touch) [WINDOWS32]: The ar_date field is a + string on Windows, not a timestamp. + +1999-07-21 Paul D. Smith + + * Version 3.77.90 released. + + * Makefile.am (AUTOMAKE_OPTIONS): Require automake 1.4. + + * function.c: Rearrange so we don't need to predeclare the + function_table array; K&R C compilers don't like that. + + * acinclude.m4 (AC_FUNC_SELECT): Ouch; this requires an ANSI C + compiler! Change to work with K&R compilers as well. + + * configure.in (AC_OUTPUT): Put build.sh back. I don't know how I + thought it would work this way :-/. We'll have to think of + something else. + * Makefile.am: Remove rule to create build.sh. + + * default.c (default_suffix_rules): Rearrange the default command + lines to conform to POSIX rules (put the filename argument $< + _after_ the OUTPUT_OPTION, not before it). + + * various: Changed !strncmp() calls to strneq() macros. + + * misc.c (sindex): Make slightly more efficient. + + * dir.c (file_impossible): Change savestring(X,strlen(X)) to xstrdup(). + * implicit.c (pattern_search): Ditto. + * main.c (enter_command_line_file): Ditto. + (main): Ditto. + * misc.c (copy_dep_chain): Ditto. + * read.c (read_makefile): Ditto. + (parse_file_seq): Ditto. + (tilde_expand): Ditto. + (multi_glob): Ditto. + * rule.c (install_pattern_rule): Ditto. + * variable.c (define_variable_in_set): Ditto. + (define_automatic_variables): Ditto. + * vpath.c (construct_vpath_list): Ditto. + + * misc.c (xrealloc): Some reallocs are non-standard: work around + them in xrealloc by calling malloc if PTR is NULL. + * main.c (main): Call xrealloc() directly instead of testing for + NULL. + + * function.c (func_sort): Don't try to free NULL; some older, + non-standard versions of free() don't like it. + + * configure.in (--enable-dmalloc): Install some support for using + dmalloc (http://www.dmalloc.com/) with make. Use --enable-dmalloc + with configure to enable it. + + * function.c (function_table_entry): Whoops! The function.c + rewrite breaks backward compatibility: all text to a function is + broken into arguments, and extras are ignored. So $(sort a,b,c) + returns "a"! Etc. Ouch. Fix it by making a positive value in + the REQUIRED_ARGS field mean exactly that many arguments to the + function; any "extras" are considered part of the last argument as + before. A negative value means at least that many, but may be + more: in this case all text is broken on commas. + (handle_function): Stop when we've seen REQUIRED_ARGS args, if >0. + (expand_builtin_function): Compare number of args to the absolute + value of REQUIRED_ARGS. + +1999-07-20 Paul D. Smith + + * job.c (start_job_command): Ensure that the state of the target + is cs_running. It might not be if we skipped all the lines due to + -n (for example). + + * commands.c (execute_file_commands): If we discover that the + command script is empty and succeed early, set cs_running so the + modtime of the target is still rechecked. + + * rule.c (freerule): Free the dependency list for the rule. + + * implicit.c (pattern_search): When turning an intermediate file + into a real target, keep the also_make list. + Free the dep->name if we didn't use it during enter_file(). + +1999-07-16 Paul D. Smith + + * read.c (read_makefile): Don't allocate the commands buffer until + we're sure we found a makefile and won't return early (mem leak). + + * job.c (start_job_command): Broken #ifdef test: look for F_SETFD, + not FD_SETFD. Close-on-exec isn't getting set on the bad_stdin + file descriptor and it's leaking :-/. + * getloadavg.c (getloadavg): Ditto. + +1999-07-15 Paul D. Smith + + * read.c (read_makefile): Fix some potential memory stomps parsing + `define' directives where no variable name is given. + + * function.c (func_call): Rename from func_apply. Various code + cleanup and tightening. + (function_table): Add "call" as a valid builtin function. + + * make.texinfo (Call Function): Document it. + + * NEWS: Announce it. + +1999-07-09 Eli Zaretskii + + * variable.c (try_variable_definition) [__MSDOS__, WINDOWS32]: + Treat "override SHELL=" the same as just "SHELL=". + +1999-07-09 Paul D. Smith + + * job.c (start_waiting_job): Don't get a second job token if we + already have one; if we're waiting on the load to go down + start_waiting_job() might get called twice on the same file. + + * filedef.h (struct file): Add new field, mtime_before_update. + When notice_finished_file runs it assigns the cached last_mtime to + this field. + * remake.c (update_goal_chain): Notice that a file wasn't updated + by asking if it changed (g->changed) and comparing the current + cached time (last_mtime) with the previous one, stored in + mtime_before_update. The previous check ("did last_mtime changed + during the run of update_file?") fails for parallel builds because + last_mtime is set during reap_children, before update_file is run. + This causes update_goal_chain to always return -1 (nothing + rebuilt) when running parallel (-jN). This is OK during "normal" + builds since our caller (main) treats these cases identically in + that case, but if when rebuilding makefiles the difference is very + important, as it controls whether we re-exec or not. + * file.c (file_hash_enter): Copy the mtime_before_update field. + (snap_deps): Initialize mtime_before_update to -1. + * main.c (main): Initialize mtime_before_update on old (-o) and + new (-W) files. + +1999-07-08 Paul D. Smith + + * main.c (switches): Define a new switch -R (or + --no-builtin-variables). This option disables the defining of all + the GNU make builtin variables. + (main): If -R was given, force -r as well. + * default.c (define_default_variables): Test the new flag. + * make.h: Declare global flag. + * make.texinfo (Options Summary): Document the new option. + (Implicit Variables): Ditto. + +1999-07-06 Paul D. Smith + + * make.texinfo (Options Summary): Correct examples in + --print-data-base option summary (problem reported by David Morse + ). + + * arscan.c: Add support for archives in Windows (VC++). Frank + Libbrecht provided info on how to do + this. + * NMakefile.template (CFLAGS_any): Remove NO_ARCHIVES from the + compile line. + * build_w32.bat: Ditto. + + * remake.c (no_rule_error): Fix -include/sinclude so it doesn't + give errors if you try to -include the same file twice. + (updating_makefiles): New variable: we need to know this info in + no_rule_error() so we know whether to print an error or not. + (update_file_1): Unconditionally call no_rule_error(), don't try + to play games with the dontcare flag. + +1999-06-14 Paul D. Smith + + * make.texinfo (Remaking Makefiles): Add a description of how to + prevent implicit rule searches for makefiles. + + * make.1: Remove statement that make continues processing when -v + is given. + +1999-06-14 Paul D. Smith + + * read.c (read_makefile): Cast -1 arguments to + variable_expand_string() to long. Alexandre Sauve + reports that without casts, this breaks + on a NEC SUPER-UX SX-4 system (and it's wrong without a cast + anyway). Of course, (a) I'd really love to start using function + prototypes, and (b) there's a whole slew of issues related to int + vs. long and signed vs. unsigned in the length handling of + variable buffers, etc. Gross. Needs a complete mucking-out. + * expand.c (variable_expand): Ditto. + + * acinclude.m4 (AC_FUNC_SELECT): Slight enhancement for AIX 3.2 by + Lars Hecking . + + * read.c (get_next_mword): Allow colons to be escaped in target + names: fix for regression failure. + +1999-04-26 Paul D. Smith + + * main.c (main): Reset read_makefiles to empty after processing so + we get the right error message. + +1999-04-25 Paul D. Smith + + * make.texinfo: Updates to @dircategory and @direntry suggested by + Karl Berry . + +1999-04-23 Eli Zaretskii + + * job.c (start_job_command) [__MSDOS__]: Call unblock_sigs before + turning off dos_command_running, so child's signals produce the + right effect. + + * commands.c (fatal_error_signal) [__MSDOS__]: Use EXIT_FAILURE + instead of 1. + +1999-04-18 Eli Zaretskii + + * configh.dos.template: Update to recognize that version 2.02 of + DJGPP contains sys_siglist stuff. + +1999-04-14 Paul D. Smith + + * make.texinfo (Options/Recursion): Document the job server. + (Parallel): Tweaks. + +1999-04-13 Paul D. Smith + + Implement a new "job server" feature; the implementation was + suggested by Howard Chu . + + * configure.in (job-server): New disable option for job server + support--it's enabled by default. If it works well this will go + away. + + * NEWS: Summarize the new feature. + + * acconfig.h: New definition MAKE_JOBSERVER if job server support + is enabled. + * config.h-vms.template: Undef MAKE_JOBSERVER for this port. + * config.h.W32.template: Ditto. + * config.ami.template: Ditto. + + * main.c (struct command_switch): Add a new type: int_string. + (switches[]) Use int_string for -j if MAKE_JOBSERVER. + (init_switches): Initialize the new int_string switch type. + (print_usage): New function, extracted from decode_switches(). + (decode_switches): Call it. Decode the new int_string switch type. + (define_makeflags): Add new int_string switch data to MAKEFLAGS. + (job_fds[]) Array to contain the pipe file descriptors. + (main): Parse the job_slots_str option results. If necessary, + create the pipe and seed it with tokens. Set the non-blocking bit + for the read fd. Enable the signal handler for SIGCHLD even if we + have a non-hanging wait; it's needed to interrupt the select() in + job.c:start_waiting_job(). + + * make.h: Declare job_fds[]. + + * job.h (struct child): Add job_token field to store the token for + this job (if any). + + * job.c (reap_children): When a child is fully reaped, release the + token back into the pipe. + (free_child): If the child to be freed still has a token, put it + back. + (new_job): Initialize the job_token member. + (start_waiting_job): For local jobs, if we're using the pipe, get + a token before we check the load, etc. We do this by performing a + non-blocking read in a loop. If the read fails, no token is + available. Do a select on the fd to wait for a token. We need to + re-enable the signal handler for SIGCHLD even if we have a + non-hanging waitpid() or wait3(), so that the signal will + interrupt the select() and we can wake up to reap children. + (child_handler): Re-enable the signal handler. The count is still + kept although it's not needed or used unless you don't have + waitpid() or wait3(). + +1999-04-10 Paul D. Smith + + * main.c (main): Reset the considered bit on all the makefiles if + something failed to update; we need to examine them again if they + appear as normal targets in order to get the proper error message. + +1999-04-09 Paul D. Smith + + Performance enhancement from Tim Magill . + + * remake.c (update_file): If you have large numbers of + dependencies and you run in parallel, make can spend considerable + time each pass through the graph looking at branches it has + already seen. Since we only reap_children() when starting a pass, + not in the middle, if a branch has been seen already in that pass + nothing interesting can happen until the next pass. So, we toggle + a bit saying whether we've seen this target in this pass or not. + (update_goal_chain): Initially set the global considered toggle to + 1, since all targets initialize their boolean to 0. At the end of + each pass, toggle the global considered variable. + * filedef.h (struct file): Per-file considered toggle bit. + * file.c: New global toggle variable considered. + +1999-04-05 Paul D. Smith + + * arscan.c (ar_scan): Added support for ARFZMAG (compressed + archives?) for Digital UNIX C++. Information provided by + Patrick E. Krogel . + (ar_member_touch): Ditto. + +1999-04-03 Paul D. Smith + + * remake.c (f_mtime): If: a) we found a file and b) we didn't + create it and c) it's not marked as an implicit target and d) it + is marked as an intermediate target, then it was so marked due to + an .INTERMEDIATE special target, but it already existed in the + directory. In this case, unset the intermediate flag so we won't + delete it when make is done. It feels like it would be cleaner to + put this check in update_file_1() but I worry it'll get missed... + +1999-04-01 Paul D. Smith + + * job.c (construct_command_argv_internal): Use bcopy() to copy + overlapping strings, rather than strcpy(). ISO C says the latter + is undefined. Found this in a bug report from 1996! Ouch! + +1999-03-31 Paul D. Smith + + * read.c (readline): Ignore carriage returns at the end of the + line, to allow Windows-y CRLF line terminators. + +1999-03-30 Paul D. Smith + + * configure.in: Don't put build.sh here, since build.sh.in doesn't + exist initially. This cause autoreconf and automake to fail when + run on a clean CVS checkout. Instead, we create build.sh in the + Makefile (see below). + + * Makefile.am: Remove BUILT_SOURCES; this is no longer relevant. + Put those files directly into EXTRA_DIST so they're distributed. + Create a local build rule to create build.sh. + Create a local maintainer-clean rule to delete all the funky + maintainers files. + + * maintMakefile: Makefile.in depends on README, since automake + fails if it doesn't exist. Also don't remove glob/Makefile.in + here, as it causes problems. + +1999-03-26 Paul D. Smith + + * configure.in: Substitute GLOBLIB if we need the link the + glob/libglob.a library. + * Makefile.am (make_LDADD): Use the subst variable GLOBLIB so we + don't link the local libglob.a at all if we don't need it. + * build.template: Don't compile glob/*.o unless we want globlib. + * maintMakefile (build.sh.in): Substitute the glob/*.o files + separately. + +1999-03-25 Paul D. Smith + + * make.texinfo: Various typos and additions, pointed out by James + G. Sack . + +1999-03-22 Paul D. Smith + + * make.texinfo (Functions): Add a new section documenting the new + $(error ...) and $(warning ...) functions. Also updated copyright + dates. + * NEWS: Updated for the new functions. + * function.c (func_error): Implement the new $(error ...) and + $(warning ...) functions. + (function_table): Insert new functions into the table. + (func_firstword): Don't call find_next_token() with argv[0] + itself, since that function modifies the pointer. + * function.c: Cleanups and slight changes to the new method of + calling functions. + +1999-03-20 Han-Wen Nienhuys + + * function.c: Rewrite to use one C function per make function, + instead of a huge switch statement. Also allows some cleanup of + multi-architecture issues, and a cleaner API which makes things + like func_apply() simple. + + * function.c (func_apply): Initial implementation. Expand either + a builtin function or a make variable in the context of some + arguments, provided as $1, $2, ... $N. + +1999-03-19 Eli Zaretskii +1999-03-19 Rob Tulloh + + * job.c (construct_command_argv_internal): Don't treat _all_ + backslashes as escapes, only those which really escape a special + character. This allows most normal "\" directory separators to be + treated normally. + +1999-03-05 Paul D. Smith + + * configure.in: Check for a system strdup(). + * misc.c (xstrdup): Created. Suggestion by Han-Wen Nienhuys + . + * make.h: Prototype xstrdup(). + * remake.c (library_search): Use it. + * main.c (main): Use it. + (find_and_set_default_shell): Use it. + * job.c (construct_command_argv_internal): Use it. + * dir.c (find_directory): Use it. + + * Makefile.am, configure.in: Use AC_SUBST_FILE to insert the + maintMakefile instead of "include", to avoid automake 1.4 + incompatibility. + +1999-03-04 Paul D. Smith + + * amiga.c, amiga.h, ar.c, arscan.c, commands.c, commands.h, + * default.c, dep.h, dir.c, expand.c, file.c, filedef.h, function.c, + * implicit.c, job.c, job.h, main.c, make.h, misc.c, read.c, remake.c + * remote-cstms.c, remote-stub.c, rule.h, variable.c, variable.h, + * vpath.c, Makefile.ami, NMakefile.template, build.template, + * makefile.vms: Updated FSF address in the copyright notice. + + * variable.c (try_variable_definition): If we see a conditional + variable and we decide to set it, re-type it as recursive so it + will be expanded properly later. + +1999-02-22 Paul D. Smith + + * NEWS: Mention new .LIBPATTERNS feature. + + * make.texinfo (Libraries/Search): Describe the use and + ramifications of the new .LIBPATTERNS variable. + + * remake.c (library_search): Instead of searching only for the + hardcoded expansion "libX.a" for a library reference "-lX", we + obtain a list of patterns from the .LIBPATTERNS variable and + search those in order. + + * default.c: Added a new default variable .LIBPATTERNS. The + default for UNIX is "lib%.so lib%.a". Amiga and DOS values are + also provided. + + * read.c: Remove bogus HAVE_GLOB_H references; always include + vanilla glob.h. + +1999-02-21 Paul D. Smith + + * function.c (expand_function): Set value to 0 to avoid freeing it. + * variable.c (pop_variable_scope): Free the value of the variable. + (try_variable_definition): For simple variables, use + allocated_variable_expand() to avoid stomping on the variable + buffer when we still need it for other things. + + * arscan.c: Modified to support AIX 4.3 big archives. The changes + are based on information provided by Phil Adams + . + +1999-02-19 Paul D. Smith + + * configure.in: Check to see if the GNU glob library is already + installed on the system. If so, _don't_ add -I./glob to the + compile line. Using the system glob code with the local headers + is very bad mojo! + Rewrite SCCS macros to use more autoconf facilities. + + * Makefile.am: Move -Iglob out of INCLUDES; it'll get added to + CPPFLAGS by configure now. + Automake 1.4 introduced its own "include" feature which conflicts + with the maintMakefile stuff. A hack that seems to work is add a + space before the include :-/. + + * build.template: Move -Iglob out of the compile line; it'll get + added to CPPFLAGS by configure now. + +1999-02-16 Glenn D. Wolf + + * arscan.c (ar_scan) [VMS]: Initialized VMS_member_date before + calling lbr$get_index since if the archive is empty, + VMS_get_member_info won't get called at all, and any leftover date + will be used. This bug shows up if any member of any archive is + made, followed by a dependency check on a different, empty + archive. + +1998-12-13 Martin Zinser + + * config.h-vms [VMS]: Set _POSIX_C_SOURCE. Redefine the getopt + functions so we don't use the broken VMS versions. + * makefile.com [VMS]: Allow debugging. + * dir.c (dir_setup_glob) [VMS]: Don't extern stat() on VMS. + +1998-11-30 Paul D. Smith + + * signame.c (init_sig): Check the sizes of signals being set up to + avoid array overwrites (if the system headers have problems). + +1998-11-17 Paul D. Smith + + * read.c (record_files): Clean up some indentation. + +1998-11-08 Han-Wen Nienhuys + + * rule.c (print_rule_data_base): Fix arguments to fatal() call. + +1998-10-13 Paul D. Smith + + * job.c (start_job_command): If the command list resolves to no + chars at all (e.g.: "foo:;$(empty)") then command_ptr is NULL; + quit early. + +1998-10-12 Andreas Schwab + + * rule.c (print_rule_data_base): Ignore num_pattern_rules if it is + zero. + +1998-10-09 Paul D. Smith + + * read.c (read_makefile): Allow non-empty lines to expand to the + empty string after variable, etc., expansion, and be ignored. + +1998-09-21 Paul D. Smith + + * job.c (construct_command_argv_internal): Only add COMMAND.COM + "@echo off" line for non-UNIXy shells. + +1998-09-09 Paul D. Smith + + * w32/subproc/sub_proc.c: Add in missing HAVE_MKS_SHELL tests. + +1998-09-04 Paul D. Smith + + * read.c (read_makefile): If we hit the "missing separator" error, + check for the common case of 8 spaces instead of a TAB and give an + extra comment to help people out. + +1998-08-29 Paul Eggert + + * configure.in (AC_STRUCT_ST_MTIM_NSEC): + Renamed from AC_STRUCT_ST_MTIM. + + * acinclude.m4 (AC_STRUCT_ST_MTIM_NSEC): Likewise. + Port to UnixWare 2.1.2 and pedantic Solaris 2.6. + + * acconfig.h (ST_MTIM_NSEC): + Renamed from HAVE_ST_MTIM, with a new meaning. + + * filedef.h (FILE_TIMESTAMP_FROM_S_AND_NS): + Use new ST_MTIM_NSEC macro. + +1998-08-26 Paul D. Smith + + * remake.c (check_dep): For any intermediate file, not just + secondary ones, try implicit and default rules if no explicit + rules are given. I'm not sure why this was restricted to + secondary rules in the first place. + +1998-08-24 Paul D. Smith + + * make.texinfo (Special Targets): Update documentation for + .INTERMEDIATE: if used with no dependencies, then it does nothing; + old docs said it marked all targets as intermediate, which it + didn't... and which would be silly :). + + * implicit.c (pattern_search): If we find a dependency in our + internal tables, make sure it's not marked intermediate before + accepting it as a found_file[]. + +1998-08-20 Paul D. Smith + + * ar.c (ar_glob): Use existing alpha_compare() with qsort. + (ar_glob_alphacompare): Remove it. + + Modify Paul Eggert's patch so we don't abandon older systems: + + * configure.in: Warn the user if neither waitpid() nor wait3() is + available. + + * job.c (WAIT_NOHANG): Don't syntax error on ancient hosts. + (child_handler, dead_children): Define these if WAIT_NOHANG is not + available. + (reap_children): Only track the dead_children count if no + WAIT_NOHANG. Otherwise, it's a boolean. + + * main.c (main): Add back signal handler if no WAIT_NOHANG is + available; only use default signal handler if it is. + +1998-08-20 Paul Eggert + + Install a more robust signal handling mechanism for systems which + support it. + + * job.c (WAIT_NOHANG): Define to a syntax error if our host + is truly ancient; this should never happen. + (child_handler, dead_children): Remove. + (reap_children): Don't try to keep separate track of how many + dead children we have, as this is too bug-prone. + Just ask the OS instead. + (vmsHandleChildTerm): Fix typo in error message; don't mention + child_handler. + + * main.c (main): Make sure we're not ignoring SIGCHLD/SIGCLD; + do this early, before we could possibly create a subprocess. + Just use the default behavior; don't have our own handler. + +1998-08-18 Eli Zaretskii + + * read.c (read_makefile) [__MSDOS__, WINDOWS32]: Add code to + recognize library archive members when dealing with drive spec + mess. Discovery and initial fix by George Racz . + +1998-08-18 Paul D. Smith + + * configure.in: Check for stdlib.h explicitly (some hosts have it + but don't have STDC_HEADERS). + * make.h: Use HAVE_STDLIB_H. Clean up some #defines. + * config.ami: Re-compute based on new config.h.in contents. + * config.h-vms: Ditto. + * config.h.W32: Ditto. + * configh.dos: Ditto. + + * dir.c (find_directory) [WINDOWS32]: Windows stat() fails if + directory names end with `\' so strip it. + +1998-08-17 Paul D. Smith + + * make.texinfo: Added copyright year to the printed copy. Removed + the price from the manual. Change the top-level reference to + running make to be "Invoking make" instead of "make Invocation", + to comply with GNU doc standards. + + * make.h (__format__, __printf__): Added support for these in + __attribute__ macro. + (message, error, fatal): Use ... prototype form under __STDC__. + Add __format__ attributes for printf-style functions. + + * configure.in (AC_FUNC_VPRINTF): Check for vprintf()/_doprnt(). + + * misc.c (message, error, fatal): Add preprocessor stuff to enable + creation of variable-argument functions with appropriate + prototypes, that works with ANSI, pre-ANSI, varargs.h, stdarg.h, + v*printf(), _doprnt(), or none of the above. Culled from GNU + fileutils and slightly modified. + (makefile_error, makefile_error): Removed (merged into error() and + fatal(), respectively). + * amiga.c: Use them. + * ar.c: Use them. + * arscan.c: Use them. + * commands.c: Use them. + * expand.c: Use them. + * file.c: Use them. + * function.c: Use them. + * job.c: Use them. + * main.c: Use them. + * misc.c: Use them. + * read.c: Use them. + * remake.c: Use them. + * remote-cstms.c: Use them. + * rule.c: Use them. + * variable.c: Use them. + + * make.h (struct floc): New structure to store file location + information. + * commands.h (struct commands): Use it. + * variable.c (try_variable_definition): Use it. + * commands.c: Use it. + * default.c: Use it. + * file.c: Use it. + * function.c: Use it. + * misc.c: Use it. + * read.c: Use it. + * rule.c: Use it. + +1998-08-16 Paul Eggert + + * filedef.h (FILE_TIMESTAMP_PRINT_LEN_BOUND): Add 10, for nanoseconds. + +1998-08-16 Paul Eggert + + * filedef.h (FLOOR_LOG2_SECONDS_PER_YEAR): New macro. + (FILE_TIMESTAMP_PRINT_LEN_BOUND): Tighten bound, and try to + make it easier to understand. + +1998-08-14 Paul D. Smith + + * read.c (read_makefile): We've already unquoted any colon chars + by the time we're done reading the targets, so arrange for + parse_file_seq() on the target list to not do so again. + +1998-08-05 Paul D. Smith + + * configure.in: Added glob/configure.in data. We'll have the glob + code include the regular make config.h, rather than creating its + own. + + * getloadavg.c (main): Change return type to int. + +1998-08-01 Paul Eggert + + * job.c (reap_children): Ignore unknown children. + +1998-07-31 Paul D. Smith + + * make.h, filedef.h, dep.h, rule.h, commands.h, remake.c: + Add prototypes for functions. Some prototypes needed to be moved + in order to get #include order reasonable. + +1998-07-30 Paul D. Smith + + * make.h: Added MIN/MAX. + * filedef.h: Use them; remove FILE_TIMESTAMP_MIN. + +1998-07-30 Paul Eggert + + Add support for sub-second timestamp resolution on hosts that + support it (just Solaris 2.6, so far). + + * acconfig.h (HAVE_ST_MTIM, uintmax_t): New undefs. + * acinclude.m4 (jm_AC_HEADER_INTTYPES_H, AC_STRUCT_ST_MTIM, + jm_AC_TYPE_UINTMAX_T): New defuns. + * commands.c (delete_target): Convert file timestamp to + seconds before comparing to archive timestamp. Extract mod + time from struct stat using FILE_TIMESTAMP_STAT_MODTIME. + * configure.in (C_STRUCT_ST_MTIM, jm_AC_TYPE_UINTMAX_T): Add. + (AC_CHECK_LIB, AC_CHECK_FUNCS): Add clock_gettime. + * file.c (snap_deps): Use FILE_TIMESTAMP, not time_t. + (file_timestamp_now, file_timestamp_sprintf): New functions. + (print_file): Print file timestamps as FILE_TIMESTAMP, not + time_t. + * filedef.h: Include if available and if HAVE_ST_MTIM. + (FILE_TIMESTAMP, FILE_TIMESTAMP_STAT_MODTIME, FILE_TIMESTAMP_MIN, + FILE_TIMESTAMPS_PER_S, FILE_TIMESTAMP_FROM_S_AND_NS, + FILE_TIMESTAMP_DIV, FILE_TIMESTAMP_MOD, FILE_TIMESTAMP_S, + FILE_TIMESTAMP_NS, FILE_TIMESTAMP_PRINT_LEN_BOUND): New macros. + (file_timestamp_now, file_timestamp_sprintf): New decls. + (struct file.last_mtime, f_mtime, file_mtime_1, NEW_MTIME): + time_t -> FILE_TIMESTAMP. + * implicit.c (pattern_search): Likewise. + * vpath.c (vpath_search, selective_vpath_search): Likewise. + * main.c (main): Likewise. + * remake.c (check_dep, name_mtime, library_search, f_mtime): Likewise. + (f_mtime): Use file_timestamp_now instead of `time'. + Print file timestamp with file_timestamp_sprintf. + * vpath.c (selective_vpath_search): Extract file time stamp from + struct stat with FILE_TIMESTAMP_STAT_MODTIME. + +1998-07-28 Paul D. Smith + + * Version 3.77 released. + + * dosbuild.bat: Change to DOS CRLF line terminators. + + * make-stds.texi: Update from latest version. + + * make.texinfo (Options Summary): Clarify that the -r option + affects only rules, not builtin variables. + +1998-07-27 Paul D. Smith + + * make.h: Make __attribute__ resolve to empty for non-GCC _and_ + for GCC pre-2.5.x. + + * misc.c (log_access): Print UID/GID's as unsigned long int for + maximum portability. + + * job.c (reap_children): Print PIDs as long int for maximum + portability. + +1998-07-24 Eli Zaretskii + + * Makefile.DOS (*_INSTALL, *_UNINSTALL): Replace `true' with `:'. + +1998-07-25 Paul D. Smith + + * Version 3.76.94 released. + +1998-07-23 Paul D. Smith + + * config.h.W32.template: Make sure all the #defines of macros here + have a value (e.g., use ``#define HAVE_STRING_H 1'' instead of + just ``#define HAVE_STRING_H''. Keeps the preprocessor happy in + some contexts. + + * make.h: Remove __attribute__((format...)) stuff; using it with + un-prototyped functions causes older GCC's to fail. + + * Version 3.76.93 released. + +1998-07-22 Paul D. Smith + + * file.c (print_file_data_base): Fix average calculation. + +1998-07-20 Paul D. Smith + + * main.c (die): Postpone the chdir() until after + remove_intermediates() so that intermediate targets with relative + pathnames are removed properly. + +1998-07-17 Paul D. Smith + + * filedef.h (struct file): New flag: did we print an error or not? + + * remake.c (no_rule_error): New function to print error messages, + extraced from remake_file(). + + * remake.c (remake_file): Invoke the new error print function. + (update_file_1): Invoke the error print function if we see that we + already tried this target and it failed, but that an error wasn't + printed for it. This can happen if a file is included with + -include or sinclude and couldn't be built, then later is also + the dependency of another target. Without this change, make just + silently stops :-/. + +1998-07-16 Paul D. Smith + + * make.texinfo: Removed "beta" version designator. + Updated ISBN for the next printing. + +1998-07-13 Paul Eggert + + * acinclude.m4: New AC_LFS macro to determine if special compiler + flags are needed to allow access to large files (e.g., Solaris 2.6). + * configure.in: Invoke it. + +1998-07-08 Eli Zaretskii + + * Makefile.DOS: track changes in Makefile.in. + +1998-07-07 Paul D. Smith + + * remote-cstms.c (start_remote_job): Move gethostbyaddr() to the + top so host is initialized early enough. + + * acinclude.m4: New file. Need some special autoconf macros to + check for network libraries (-lsocket, -lnsl, etc.) when + configuring Customs. + + * configure.in (make_try_customs): Invoke new network libs macro. + +1998-07-06 Paul D. Smith + + * Version 3.76.92 released. + + * README.customs: Added to the distribution. + + * configure.in (make_try_customs): Rewrite to require an installed + Customs library, rather than looking at the build directory. + + * Makefile.am (man_MANS): Install make.1. + * make.1: Renamed from make.man. + + * make.texinfo (Bugs): New mailing list address for GNU make bug + reports. + +1998-07-02 Paul D. Smith + + * Version 3.76.91 released. + + * default.c: Added default rule for new-style RCS master file + storage; ``% :: RCS/%''. + Added default rules for DOS-style C++ files with suffix ".cpp". + They use the new LINK.cpp and COMPILE.cpp macros, which are set by + default to be equal to LINK.cc and COMPILE.cc. + +1998-06-19 Eli Zaretskii + + * job.c (start_job_command): Reset execute_by_shell after an empty + command was skipped. + +1998-06-09 Paul D. Smith + + * main.c (main): Keep track of the temporary filename created when + reading a makefile from stdin (-f-) and attempt to remove it + as soon as we know we're not going to re-exec. If we are, add it + to the exec'd make's cmd line with "-o" so the exec'd make doesn't + try to rebuild it. We still have a hole: if make re-execs then + the temporary file will never be removed. To fix this we'd need + a brand new option that meant "really delete this". + * AUTHORS, getopt.c, getopt1.c, getopt.h, main.c (print_version): + Updated mailing addresses. + +1998-06-08 Paul D. Smith + + * main.c (main): Andreas Luik points out that the + check for makefile :: rules with commands but no dependencies + causing a loop terminates incorrectly. + + * maintMakefile: Make a template for README.DOS to update version + numbers. + +1998-05-30 Andreas Schwab + + * remake.c (update_file_1): Don't free the memory for the + dependency structure when dropping a circular dependency. + +1998-05-30 Eli Zaretskii + + * dir.c (file_exists_p, file_impossible_p, file_impossible) + [__MSDOS__, WINDOWS32]: Retain trailing slash in "d:/", and make + dirname of "d:foo" be "d:". + +1998-05-26 Andreas Schwab + + * read.c (read_makefile): Avoid running past EOS when scanning + file name after `include'. + +1998-05-26 Andreas Schwab + + * make.texinfo (Flavors): Correct description of conditional + assignment, which is not equivalent to ifndef. + (Setting): Likewise. + +1998-05-24 Paul D. Smith + + * arscan.c (ar_name_equal): strncmp() might be implemented as a + macro, so don't put preprocessor conditions inside the arguments + list. + +1998-05-23 Eli Zaretskii + + * read.c (read_makefile) [__MSDOS__, WINDOWS32]: Skip colons in + drive specs when parsing targets, target-specific variables and + static pattern rules. A colon can only be part of drive spec if + it is after the first letter in a token. + +1998-05-22 Eli Zaretskii + + * remake.c (f_mtime) [__MSDOS__]: Allow up to 3 sec of skew before + yelling bloody murder. + + * dosbuild.bat: Use -DINCLUDEDIR= and -DLIBDIR= where appropriate. + + * read.c (parse_file_seq): Combine the special file-handling code + for WINDOWS32 and __MSDOS__ into a single snippet. + (get_next_mword) [__MSDOS__, WINDOWS32]: Allow a word to include a + colon as part of a drive spec. + + * job.c (batch_mode_shell) [__MSDOS__]: Declare. + +1998-05-20 Paul D. Smith + + * Version 3.76.90 released. + +1998-05-19 Paul D. Smith + + * make.texinfo (Make Errors): Added a new appendix describing + common errors make might generate and how to resolve them (or at + least more information on what they mean). + + * maintMakefile (NMAKEFILES): Use the new automake 1.3 feature + to create a dependency file to construct Makefile.DOS, SMakefile, + and NMakefile. + (.dep_segment): Generate the dependency fragment file. + +1998-05-14 Paul D. Smith + + * make.man: Minor changes. + +1998-05-13 Paul D. Smith + + * function.c (pattern_matches,expand_function): Change variables + and types named "word" to something else, to avoid compilation + problems on Cray C90 Unicos. + * variable.h: Modify the function prototype. + +1998-05-11 Rob Tulloh + + * job.c (construct_command_argv_internal) [WINDOWS32]: Turn off + echo when using a batch file, and make sure the command ends in a + newline. + +1998-05-03 Paul D. Smith + + * configure.in (make_try_customs): Add some customs flags if the + user configures custom support. + + * job.c, remote-cstms.c: Merge in changes for custom library. + + * remote-stub.c: Add option to stub start_remote_job_p(). + +1998-05-01 Paul D. Smith + + * remake.c (f_mtime): Install VPATH+ handling for archives; use + the hname field instead of the name field, and rehash when + appropriate. + +1998-04-30 Paul D. Smith + + * rule.c (print_rule_data_base): Print out any pattern-specific + variable values into the rules database. + + * variable.c (print_variable_set): Make this variable extern, to + be called by print_rule_data_base() for pattern-specific variables. + + * make.texinfo (Pattern-specific): Document pattern-specific + variables. + +1998-04-29 Paul D. Smith + + * expand.c (variable_expand_for_file): Make static; its only + called internally. Look up this target in the list of + pattern-specific variables and insert the variable set into the + queue to be searched. + + * filedef.h (struct file): Add a new field to hold the + previously-found pattern-specific variable reference. Add a new + flag to remember whether we already searched for this file. + + * rule.h (struct pattern_var): New structure for storing + pattern-specific variable values. Define new function prototypes. + + * rule.c: New variables pattern_vars and last_pattern_var for + storage and handling of pattern-specific variable values. + (create_pattern_var): Create a new pattern-specific variable value + structure. + (lookup_pattern_var): Try to match a target to one of the + pattern-specific variable values. + +1998-04-22 Paul D. Smith + + * make.texinfo (Target-specific): Document target-specific + variables. + +1998-04-21 Paul D. Smith + + * variable.c (define_variable_in_set): Made globally visible. + (lookup_variable_in_set): New function: like lookup_variable but + look only in a specific variable set. + (target_environment): Use lookup_variable_in_set() to get the + correct export rules for a target-specific variable. + (create_new_variable_set): Create a new variable set, and just + return it without installing it anywhere. + (push_new_variable_scope): Reimplement in terms of + create_new_variable_set. + + * read.c (record_target_var): Like record_files, but instead of + files create a target-specific variable value for each of the + listed targets. Invoked from read_makefile() when the target line + turns out to be a target-specific variable assignment. + +1998-04-19 Paul D. Smith + + * read.c (read_makefile): Rewrite the entire target parsing + section to implement target-specific variables. In particular, we + cannot expand the entire line as soon as it's read in, since we + may want to evaluate parts of it with different variable contexts + active. Instead, start expanding from the beginning until we find + the `:' (or `::'), then determine what kind of line this is and + continue appropriately. + + * read.c (get_next_mword): New function to parse a makefile line + by "words", considering an entire variable or function as one + word. Return the type read in, along with its starting position + and length. + (enum make_word_type): The types of words that are recognized by + get_next_mword(). + + * variable.h (struct variable): Add a flag to specify a per-target + variable. + + * expand.c: Make variable_buffer global. We need this during the + new parsing of the makefile. + (variable_expand_string): New function. Like variable_expand(), + but start at a specific point in the buffer, not the beginning. + (variable_expand): Rewrite to simply call variable_expand_string(). + +1998-04-13 Paul D. Smith + + * remake.c (update_goal_chain): Allow the rebuilding makefiles + step to use parallel jobs. Not sure why this was disabled: + hopefully we won't find out :-/. + +1998-04-11 Paul D. Smith + + * main.c (main): Set the CURDIR makefile variable. + * make.texinfo (Recursion): Document it. + +1998-03-17 Paul D. Smith + + * misc.c (makefile_fatal): If FILE is nil, invoke plain fatal(). + * variable.c (try_variable_definition): Use new feature. + +1998-03-10 Paul D. Smith + + * main.c (main): Don't pass included, rebuilt makefiles to + re-exec'd makes with -o. Reopens a possible loop, but it caused + too many problems. + +1998-03-02 Paul D. Smith + + * variable.c (try_variable_definition): Implement ?=. + * make.texinfo (Setting): Document it. + +1998-02-28 Eli Zaretskii + + * job.c (start_job_command): Reset execute_by_shell after an empty + command, like ":", has been seen. + +Tue Oct 07 15:00:00 1997 Phil Brooks + + * make.h [WINDOWS32]: make case sensitivity configurable + * dir.c [WINDOWS32]: make case sensitivity configurable + * README.W32: Document case sensitivity + * config.ami: Share case warping code with Windows + +Mon Oct 6 18:48:45 CDT 1997 Rob Tulloh + + * w32/subproc/sub_proc.c: Added support for MKS toolkit shell + (turn on HAVE_MKS_SHELL). + * read.c [WINDOWS32]: Fixed a problem with multiple target rules + reported by Gilbert Catipon (gcatipon@tibco.com). If multiple + path tokens in a rule did not have drive letters, make would + incorrectly concatenate the 2 tokens together. + * main.c/variable.c [WINDOWS32]: changed SHELL detection code to + follow what MSDOS did. In addition to watching for SHELL variable + updates, make's main will attempt to default the value of SHELL + before and after makefiles are parsed. + * job.c/job.h [WINDOWS32]: The latest changes made to enable use + of the GNUWIN32 shell from make could cause make to fail due to a + concurrency condition between parent and child processes. Make + now creates a batch file per job instead of trying to reuse the + same singleton batch file. + * job.c/job.h/function.c/config.h.W32 [WINDOWS32]: Renamed macro + from HAVE_CYGNUS_GNUWIN32_TOOLS to BATCH_MODE_ONLY_SHELL. Reworked + logic to reduce complexity. WINDOWS32 now uses the unixy_shell + variable to detect Bourne-shell compatible environments. There is + also a batch_mode_shell variable that determines whether not + command lines should be executed via script files. A WINDOWS32 + system with no sh.exe installed would have unixy_shell set to + FALSE and batch_mode_shell set to TRUE. If you have a unixy shell + that does not behave well when invoking things via 'sh -c xxx', + you may want to turn on BATCH_MODE_ONLY_SHELL and see if things + improve. + * NMakefile: Added /D DEBUG to debug build flags so that unhandled + exceptions could be debugged. + +Mon Oct 6 00:04:25 1997 Rob Tulloh + + * main.c [WINDOWS32]: The function define_variable() does not + handle NULL. Test before calling it to set Path. + * main.c [WINDOWS32]: Search Path again after makefiles have been + parsed to detect sh.exe. + * job.c [WINDOWS32]: Added support for Cygnus GNU WIN32 tools. + To use, turn on HAVE_CYGNUS_GNUWIN32_TOOLS in config.h.W32. + * config.h.W32: Added HAVE_CYGNUS_GNUWIN32_TOOLS macro. + +Sun Oct 5 22:43:59 1997 John W. Eaton + + * glob/glob.c (glob_in_dir) [VMS]: Globbing shouldn't be + case-sensitive. + * job.c (child_execute_job) [VMS]: Use a VMS .com file if the + command contains a newline (e.g. from a define/enddef block). + * vmsify.c (vmsify): Return relative pathnames wherever possible. + * vmsify.c (vmsify): An input string like "../.." returns "[--]". + +Wed Oct 1 15:45:09 1997 Rob Tulloh + + * NMakefile: Changed nmake to $(MAKE). + * subproc.bat: Take the make command name from the command + line. If no command name was given, default to nmake. + * job.c [MSDOS, WINDOWS32]: Fix memory stomp: temporary file names + are now always created in heap memory. + * w32/subproc/sub_proc.c: New implementation of make_command_line() + which is more compatible with different Bourne shell implementations. + Deleted the now obsolete fix_command_line() function. + * main.c [WINDOWS32]: Any arbitrary spelling of Path can be + detected. Make will ensure that the special spelling `Path' is + inserted into the environment when the path variable is propagated + within itself and to make's children. + * main.c [WINDOWS32]: Detection of sh.exe was occurring too + soon. The 2nd check for the existence of sh.exe must come after + the call to read_all_makefiles(). + +Fri Sep 26 01:14:18 1997 + + * makefile.com [VMS]: Fixed definition of sys. + * readme.vms: Comments on what's changed lately. + +Fri Sep 26 01:14:18 1997 John W. Eaton + + * read.c (read_all_makefiles): Allow make to find files named + "MAKEFILE" with no extension on VMS. + * file.c (lookup_file): Lowercase filenames on VMS. + +1997-09-29 Paul D. Smith + + * read.c (read_makefile): Reworked target detection again; the old + version had an obscure quirk. + +Fri Sep 19 09:20:49 1997 Paul D. Smith + + * Version 3.76.1 released. + + * Makefile.am: Add loadavg files to clean rules. + + * configure.in (AC_OUTPUT): Remove stamp-config; no longer needed. + * Makefile.ami (distclean): Ditto. + * SMakefile (distclean): Ditto. + + * main.c (main): Arg count should be int, not char! Major braino. + +Tue Sep 16 10:18:22 1997 Paul D. Smith + + * Version 3.76 released. + +Tue Sep 2 10:07:39 1997 Paul D. Smith + + * function.c (expand_function): When processing $(shell...) + translate a CRLF (\r\n) sequence as well as a newline (\n) to a + space. Also remove an ending \r\n sequence. + * make.texinfo (Shell Function): Document it. + +Fri Aug 29 12:59:06 1997 Rob Tulloh + + * w32/pathstuff.c (convert_Path_to_windows32): Fix problem where + paths which contain single character entries like `.' are not + handled correctly. + + * README.W32: Document path handling issues on Windows systems. + +Fri Aug 29 02:01:27 1997 Paul D. Smith + + * Version 3.75.93. + +Thu Aug 28 19:39:06 1997 Rob Tulloh + + * job.c (exec_command) [WINDOWS32]: If exec_command() is invoked + from main() to re-exec make, the call to execvp() would + incorrectly return control to parent shell before the exec'ed + command could run to completion. I believe this is a feature of + the way that execvp() is implemented on top of WINDOWS32 APIs. To + alleviate the problem, use the supplied process launch function in + the sub_proc library and suspend the parent process until the + child process has run. When the child exits, exit the parent make + with the exit code of the child make. + +Thu Aug 28 17:04:47 1997 Paul D. Smith + + * Makefile.DOS.template (distdir): Fix a line that got wrapped in + email. + + * Makefile.am (loadavg): Give the necessary cmdline options when + linking loadavg. + + * configure.in: Check for pstat_getdynamic for getloadvg on HP. + + * job.c (start_job_command) [VMS, _AMIGA]: Don't perform empty + command optimization on these systems; it doesn't make sense. + +Wed Aug 27 17:09:32 1997 Paul D. Smith + + * Version 3.75.92 + +Tue Aug 26 11:59:15 1997 Paul D. Smith + + * main.c (print_version): Add '97 to copyright years. + + * read.c (do_define): Check the length of the array before looking + at a particular offset. + + * job.c (construct_command_argv_internal): Examine the last byte + of the previous arg, not the byte after that. + +Sat Aug 23 1997 Eli Zaretskii + + * Makefile.DOS.template: New file (converted to Makefile.DOS in + the distribution). + + * configure.bat: Rewrite to use Makefile.DOS instead of editing + Makefile.in. Add support for building from outside of the source + directory. Fail if the environment block is too small. + + * configh.dos: Use . + + * README.DOS: Update instructions. + +Fri Aug 22 1997 Eli Zaretskii + + * job.c (start_job_command) [__MSDOS__]: Don't test for "/bin/sh" + literally, use value of unixy_shell instead. + + * filedef.h (NEW_MTIME): Use 1 less than maximum possible value if + time_t is unsigned. + +Sat Aug 16 00:56:15 1997 John W. Eaton + + * vmsify.c (vmsify, case 11): After translating `..' elements, set + nstate to N_OPEN if there are still more elements to process. + (vmsify, case 2): After translating `foo/bar' up to the slash, + set nstate to N_OPEN, not N_DOT. + +Fri Aug 8 15:18:09 1997 John W. Eaton + + * dir.c (vmsstat_dir): Leave name unmodified on exit. + * make.h (PATH_SEPARATOR_CHAR): Set to comma for VMS. + * vpath.c: Fix comments to refer to path separator, not colon. + (selective_vpath_search): Avoid Unixy slash handling for VMS. + +Thu Aug 7 22:24:03 1997 John W. Eaton + + * ar.c [VMS]: Don't declare ar_member_touch. + Delete VMS version of ar_member_date. + Enable non-VMS versions of ar_member_date and ar_member_date_1 for + VMS too. + * arscan.c (VMS_get_member_info): New function. + (ar_scan): Provide version for VMS systems. + (ar_name_equal): Simply compare name and mem on VMS systems. + Don't define ar_member_pos or ar_member_touch on VMS systems. + + * config.h-vms (pid_t, uid_t): Don't define. + + * remake.c: Delete declaration of vms_stat. + (name_mtime): Don't call vms_stat. + (f_mtime) [VMS]: Funky time value manipulation no longer necessary. + + * file.c (print_file): [VMS] Use ctime, not cvt_time. + + * make.h [VMS]: Don't define POSIX. + + * makefile.com (filelist): Include ar and arscan. + Also include them in the link commands. + Don't define NO_ARCHIVES in cc command. + + * makefile.vms (ARCHIVES, ARCHIVES_SRC): Uncomment. + (defines): Delete NO_ARCHIVES from list. + + * remake.c (f_mtime): Only check to see if intermediate file is + out of date if it also exists (i.e., mtime != (time_t) -1). + + * vmsdir.h (u_long, u_short): Skip typedefs if using DEC C. + +Fri Jun 20 23:02:07 1997 Rob Tulloh + + * w32/subproc/sub_proc.c: Get W32 sub_proc to handle shebang + (#!/bin/sh) in script files correctly. + Fixed a couple of memory leaks. + Fixed search order in find_file() (w32/subproc/sub_proc.c) so that + files with extensions are preferred over files without extensions. + Added search for files with .cmd extension too. + * w32/subproc/misc.c (arr2envblk): Fixed memory leak. + +Mon Aug 18 09:41:08 1997 Paul D. Smith + + * Version 3.75.91 + +Fri Aug 15 13:50:54 1997 Paul D. Smith + + * read.c (do_define): Remember to count the newline after the endef. + +Thu Aug 14 23:14:37 1997 Paul D. Smith + + * many: Rewrote builds to use Automake 1.2. + + * AUTHORS: New file. + * maintMakefile: Contains maintainer-only make snippets. + * GNUmakefile: This now only runs the initial auto* tools. + * COPYING,texinfo.tex,mkinstalldirs,install-sh: Removed (obtained + automatically by automake). + * compatMakefile: Removed (not needed anymore). + * README,build.sh.in: Removed (built from templates). + * config.h.in,Makefile.in: Removed (built by tools). + +Wed Aug 13 02:22:08 1997 Paul D. Smith + + * make.texinfo: Updates for DOS/Windows information (Eli Zaretskii) + * README,README.DOS: Ditto. + + * remake.c (update_file_1,f_mtime): Fix GPATH handling. + * vpath.c (gpath_search): Ditto. + + * file.c (rename_file): New function: rehash, but also rename to + the hashname. + * filedef.h: Declare it. + + * variable.c (merge_variable_set_lists): Remove free() of variable + set; since various files can share variable sets we don't want to + free them here. + +Tue Aug 12 10:51:54 1997 Paul D. Smith + + * configure.in: Require autoconf 2.12 + + * make.texinfo: Replace all "cd subdir; $(MAKE)" examples with a + more stylistically correct "cd subdir && $(MAKE)". + + * main.c: Global variable `clock_skew_detected' defined. + (main): Print final warning if it's set. + * make.h: Declare it. + * remake.c (f_mtime): Test and set it. + + * job.c (start_job_command): Add special optimizations for + "do-nothing" rules, containing just the shell no-op ":". This is + useful for timestamp files and can make a real difference if you + have a lot of them (requested by Fergus Henderson ). + + * configure.in,Makefile.in: Rewrote to use the new autoconf + program_transform_name macro. + + * function.c (function_strip): Strip newlines as well as spaces + and TABs. + +Fri Jun 6 23:41:04 1997 Rob Tulloh + + * remake.c (f_mtime): Datestamps on FAT-based files are rounded to + even seconds when stored, so if the date check fails on WINDOWS32 + systems, see if this "off-by-one" error is the problem. + + * General: If your TZ environment variable is not set correctly + then all your timestamps will be off by hours. So, set it! + +Mon Apr 7 02:06:22 1997 Paul D. Smith + + * Version 3.75.1 + + * compatMakefile (objs): Define & use the $(GLOB) variable so + that it's removed correctly from build.sh.in when it's built. + + * configure.in: On Solaris we can use the kstat_*() functions to + get load averages without needing special permissions. Add a + check for -lkstat to see if we have it. + + * getloadavg.c (getloadavg): Use HAVE_LIBKSTAT instead of SUN5 as + the test to enable kstat_open(), etc. processing. + +Fri Apr 4 20:21:18 1997 Eli Zaretskii + + * : Fixes to work in the DJGPP DOS environment. + +Mon Mar 31 02:42:52 1997 Paul D. Smith + + * function.c (expand_function): Added new function $(wordlist). + + * make.texinfo (Filename Functions): Document $(wordlist) function. + + * vpath.c (build_vpath_lists): Construct the GPATH variable + information in the same manner we used to construct VPATH. + (gpath_search): New function to search GPATH. + + * make.h: Declare the new function. + + * remake.c (update_file_1): Call it, and keep VPATH if it's found. + + * make.texinfo (Search Algorithm): Document GPATH variable. + +Sun Mar 30 20:57:16 1997 Paul D. Smith + + * main.c (handle_non_switch_argument): Defined the MAKECMDGOALS + variable to contain the user options passed in on the cmd line. + + * make.texinfo (Goals): Document MAKECMDGOALS variable. + + * remake.c (f_mtime): Print a warning if we detect a clock skew + error, rather than failing. + + * main.c (main): If we rebuild any makefiles and need to re-exec, + add "-o" options for each makefile rebuilt to avoid + infinite looping. + +Fri Mar 28 15:26:05 1997 Paul D. Smith + + * job.c (construct_command_argv_internal): Track whether the last + arg in the cmd string was empty or not (Roland). + (construct_command_argv_internal): If the shell line is empty, + don't do anything (Roland). + + * glob/glob.h,glob/glob.c,glob/fnmatch.c,glob/fnmatch.h: Install + the latest changes from the GLIBC version of glob (Ulrich Drepper). + + * getloadavg.c,make-stds.texi: New version (Roland). + + * (ALL): Changed WIN32 to W32 or WINDOWS32 (RMS). + +Mon Mar 24 15:33:34 1997 Rob Tulloh + + * README.W32: Describe preliminary FAT support. + + * build_w32.bat: Use a variable for the final exe name. + + * dir.c (find_directory): W32: Find the filesystem type. + (dir_contents_file_exists_p): W32: for FAT filesystems, always + rehash since FAT doesn't change directory mtime on change. + + * main.c (handle_runtime_exceptions): W32: Add an + UnhandledExceptionFilter so that when make bombs due to ^C or a + bug, it won't cause a GUI requestor to pop up unless debug is + turned on. + (main): Call it. + +Mon Mar 24 00:57:34 1997 Paul D. Smith + + * configure.in, config.h.in, config.ami, config.h-vms, config.h.w32: + Check for memmove() function. + + * make.h (bcopy): If memmove() available, define bcopy() to use it. + Otherwise just use bcopy(). Don't use memcpy(); it's not guaranteed + to handle overlapping moves. + + * read.c (read_makefile): Fix some uninitialized memory reads + (reported by Purify). + + * job.c (construct_command_argv_internal): Use bcopy() not + strcpy(); strcpy() isn't guaranteed to handle overlapping moves. + + * Makefile.in: Change install-info option ``--infodir'' to + ``--info-dir'' for use with new texinfo. + + * function.c (expand_function): $(basename) and $(suffix) should + only search for suffixes as far back as the last directory (e.g., + only the final filename in the path). + +Sun Mar 23 00:13:05 1997 Paul D. Smith + + * make.texinfo: Add @dircategory/@direntry information. + (Top): Remove previous reference to (dir) (from RMS). + (Static Usage): Add "all:" rule to example. + (Automatic Dependencies): fix .d file creation example. + + * Install VPATH+ patch: + + * filedef.h (struct file): Add in hname field to store the hashed + filename, and a flag to remember if we're using the vpath filename + or not. Renamed a few functions for more clarity. + + * file.c (lookup_file,enter_file,file_hash_enter): Store filenames + in the hash table based on their "hash name". We can change this + while keeping the original target in "name". + (rehash_file): Renamed from "rename_file" to be more accurate. + Changes the hash name, but not the target name. + + * remake.c (update_file_1): Modify -d output for more detailed + VPATH info. If we don't need to rebuild, use the VPATH name. + (f_mtime): Don't search for vpath if we're ignoring it. Call + renamed function rehash_file. Call name_mtime instead of + file_mtime, to avoid infinite recursion since the file wasn't + actually renamed. + + * implicit.c (pattern_search): if we find an implicit file in + VPATH, save the original name not the VPATH name. + + * make.texinfo (Directory Search): Add a section on the new VPATH + functionality. + +Sun Dec 1 18:36:04 1996 Andreas Schwab + + * dir.c (file_exists_p, file_impossible, file_impossible_p): If + dirname is empty replace it by the name of the root directory. + Note that this doesn't work (yet) for W32, Amiga, or VMS. + +Tue Oct 08 13:57:03 1996 Rob Tulloh + + * main.c (main): W32 bug fix for PATH vars. + +Tue Sep 17 1996 Paul Eggert + + * filedef.h (NEW_MTIME): Don't assume that time_t is a signed + 32-bit quantity. + + * make.h: (CHAR_BIT, INTEGER_TYPE_SIGNED, INTEGER_TYPE_MAXIMUM, + INTEGER_TYPE_MINIMUM): New macros. + +Tue Aug 27 01:06:34 1996 Roland McGrath + + * Version 3.75 released. + + * main.c (print_version): Print out bug-reporting address. + +Mon Aug 26 19:55:47 1996 Roland McGrath + + * main.c (print_data_base): Don't declare ctime; headers do it for us + already. + +Sun Jul 28 15:37:09 1996 Rob Tulloh (tulloh@tivoli.com) + + * w32/pathstuff.c: Turned convert_vpath_to_w32() into a + real function. This was done so that VPATH could contain + white space separated pathnames. Please note that directory + paths (in VPATH/vpath context) containing white space are not + supported (just as they are not under Unix). See README.W32 + for suggestions. + + * w32/include/pathstuff.h: Added prototype for the new + function convert_vpath_to_w32. Deleted macro for same. + + * README.W32: Added some notes about why I chose not to try + and support pathnames which contain white space and some + workaround suggestions. + +Thu Jul 25 19:53:31 1996 Roland McGrath + + * GNUmakefile (mkdep-nolib): Use -MM option unconditionally. + + * Version 3.74.7. + + * main.c (define_makeflags): Back up P to point at null terminator + when killing final space and dash before setting MFLAGS. + + From Robert Hoehne : + * dir.c [__MSDOS__ && DJGPP > 1]: Include and defin + `__opendir_flags' initialized to 0. + (dosify) [__MSDOS__ && DJGPP > 1]: Return name unchanged if _USE_LFN. + (find_directory) [__MSDOS__ && DJGPP > 1]: If _USE_LGN, set + __opendir_flags to __OPENDIR_PRESERVE_CASE. + + * vmsfunctions.c (vms_stat): `sys$dassgn (DevChan);' added by kkaempf. + + * GNUmakefile (w32files): Add NMakefile. + + * NMakefile (LDFLAGS_debug): Value fixed by tulloh. + +Sat Jul 20 12:32:10 1996 Klaus Kämpf (kkaempf@progis.de) + + * remake.c (f_mtime) [VMS]: Add missing `if' conditional for future + modtime check. + * config.h-vms, makefile.vms, readme.vms, vmsify.c: Update address. + +Sat Jul 20 05:29:43 1996 Roland McGrath + + * configure.in: Require autoconf 2.10 or later. + +Fri Jul 19 16:57:27 1996 Roland McGrath + + * Version 3.74.6. + + * GNUmakefile (w32files): New variable. + (distfiles): Add it. + * w32: Updated by Rob Tulloh. + + * makefile.vms (LOADLIBES): Fix typo. + +Sun Jul 14 12:59:27 1996 Roland McGrath + + * job.c (construct_command_argv_internal): Fix up #else, #endifs. + + * configh.dos: Define HAVE_DIRENT_H instead of DIRENT. + + * remake.c (f_mtime): Don't compare MTIME to NOW if MTIME == -1. + + * Version 3.74.5. + + * main.c (main): Exit with status 2 when update_goal_chain returns 2. + +Sat Jun 22 14:56:05 1996 Roland McGrath + + * configure.in: Don't check for _sys_siglist. + * make.h [HAVE__SYS_SIGLIST]: Don't test this; just punt if there is + no strsignal or sys_siglist. + + * read.c (conditional_line): Strip ws in `ifeq (a , b)' so it is the + same as `ifeq (a, b)'. + + * job.c (reap_children): Don't call die if handling_fatal_signal. + + * file.c (file_hash_enter): Allow renaming :: to : when latter is + non-target, or : to :: when former is non-target. + + * job.c (start_job_command): Call block_sigs. + (block_sigs): New function, broken out of start_job_command. + (reap_children): Block fatal signals around removing dead child from + chain and adjusting job_slots_used. + * job.h: Declare block_sigs. + + * remote-stub.c (remote_setup, remote_cleanup): New (empty) functions. + * main.c (main): Call remote_setup. + (die): Call remote_cleanup. + + * job.c (reap_children): Quiescent value of shell_function_pid is + zero, not -1. + + * main.c (print_version): Add 96 to copyright years. + +Sat Jun 15 20:30:01 1996 Andreas Schwab + + * read.c (find_char_unquote): Avoid calling strlen on every call + just to throw away the value most of the time. + +Sun Jun 2 12:24:01 1996 Roland McGrath + + * main.c (decode_env_switches): Prepend '-' to ARGV[1] if it contains + no '=', regardless of ARGC. + (define_makeflags): Elide leading '-' from MAKEFLAGS value if first + word is short option, regardless of WORDS. + +Wed May 22 17:24:51 1996 Roland McGrath + + * makefile.vms: Set LOADLIBES. + * makefile.com (link_using_library): Fix typo. + +Wed May 15 17:37:26 1996 Roland McGrath + + * dir.c (print_dir_data_base): Use %ld dev and ino and cast them to + long. + +Wed May 15 10:14:14 CDT 1996 Rob Tulloh + + * dir.c: W32 does not support inode. For now, fully qualified + pathname along with st_mtime will be keys for files. + Fixed problem where vpath can be confused when files + are added to a directory after the directory has already been + read in. The code now attempts to reread the directory if it + discovers that the datestamp on the directory has changed since + it was cached by make. This problem only seems to occur on W32 + right now so it is lumped under port #ifdef WINDOWS32. + + * function.c: W32: call subproc library (CreateProcess()) instead of + fork/exec. + + * job.c: W32: Added the code to do fork/exec/waitpid style processing + on W32 systems via calls to subproc library. + + * main.c: W32: Several things added here. First, there is code + for dealing with PATH and SHELL defaults. Make tries to figure + out if the user has %PATH% set in the environment and sets it to + %Path% if it is not set already. Make also looks to see if sh.exe + is anywhere to be found. Code path through job.c will change + based on existence of a working Bourne shell. The checking for + default shell is done twice: once before makefiles are read in + and again after. Fall back to MSDOS style execution mode if no sh.exe + is found. Also added some debug support that allows user to pause make + with -D switch and attach a debugger. This is especially useful for + debugging recursive calls to make where problems appear only in the + sub-make. + + * make.h: W32: A few macros and header files for W32 support. + + * misc.c: W32: Added a function end_of_token_w32() to assist + in parsing code in read.c. + + * read.c: W32: Fixes similar to MSDOS which allow colon to + appear in filenames. Use of colon in filenames would otherwise + confuse make. + + * remake.c: W32: Added include of io.h to eliminate compiler + warnings. Added some code to default LIBDIR if it is not set + on W32. + + * variable.c: W32: Added support for detecting Path/PATH + and converting them to semicolon separated lists for make's + internal use. New function sync_Path_environment() + which is called in job.c and function.c before creating a new + process. Caller must set Path in environment since we don't + have fork() to do this for us. + + * vpath.c: W32: Added detection for filenames containing + forward or backward slashes. + + * NMakefile: W32: Visual C compatible makefile for use with nmake. + Use this to build GNU make the first time on Windows NT or Windows 95. + + * README.W32: W32: Contains some helpful notes. + + * build_w32.bat: W32: If you don't like nmake, use this the first + time you build GNU make on Windows NT or Windows 95. + + * config.h.W32: W32 version of config.h + + * subproc.bat: W32: A bat file used to build the + subproc library from the top-level NMakefile. Needed because + WIndows 95 (nmake) doesn't allow you to cd in a make rule. + + * w32/include/dirent.h + * w32/compat/dirent.c: W32: opendir, readdir, closedir, etc. + + * w32/include/pathstuff.h: W32: used by files needed functions + defined in pathstuff.c (prototypes). + + * w32/include/sub_proc.h: W32: prototypes for subproc.lib functions. + + * w32/include/w32err.h: W32: prototypes for w32err.c. + + * w32/pathstuff.c: W32: File and Path/Path conversion functions. + + * w32/subproc/build.bat: W32: build script for subproc library + if you don't wish to use nmake. + + * w32/subproc/NMakefile: W32: Visual C compatible makefile for use + with nmake. Used to build subproc library. + + * w32/subproc/misc.c: W32: subproc library support code + * w32/subproc/proc.h: W32: subproc library support code + * w32/subproc/sub_proc.c: W32: subproc library source code + * w32/subproc/w32err.c: W32: subproc library support code + +Mon May 13 14:37:42 1996 Roland McGrath + + * Version 3.74.4. + + * GNUmakefile (vmsfiles): Fix typo. + + * GNUmakefile (amigafiles): Add amiga.h. + +Sun May 12 19:19:43 1996 Aaron Digulla + + * dir.c: New function: amigafy() to fold filenames + Changes HASH() to HASHI() to fold filenames on Amiga. + Stringcompares use strieq() instead of streq() + The current directory on Amiga is "" instead of "." + * file.c: Likewise. + + * amiga.c: New function wildcard_expansion(). Allows to use + Amiga wildcards with $(wildcard ) + + * amiga.h: New file. Prototypes for amiga.c + + * function.c: Use special function wildcard_expansion() for + $(wildcard ) to allow Amiga wildcards + The current directory on Amiga is "" instead of "." + + * job.c: No Pipes on Amiga, too + (load_too_high) Neither on Amiga + ENV variable on Amiga are in a special directory and are not + passed as third argument to main(). + + * job.h: No envp on Amiga + + * make.h: Added HASHI(). This is the same as HASH() but converts + it's second parameter to lowercase on Amiga to fold filenames. + + * main.c: (main), variable.c Changed handling of ENV-vars. Make + stores now the names of the variables only and reads their contents + when they are accessed to reflect that these variables are really + global (ie. they CAN change WHILE make runs !) This handling is + made in lookup_variable() + + * Makefile.ami: renamed file.h to filedep.h + Updated dependencies + + * read.c: "find_semicolon" is declared as static but never defined. + No difference between Makefile and makefile on Amiga; added + SMakefile to *default_makefiles[]. + (read_makefile) SAS/C want's two_colon and pattern_percent be set + before use. + The current directory on Amiga is "" instead of "." + Strange #endif moved. + + * README.Amiga: updated feature list + + * SMakefile: Updated dependencies + + * variable.c: Handling of ENV variable happens inside lookup_variable() + +Sat May 11 17:58:32 1996 Roland McGrath + + * variable.c (try_variable_definition): Count parens in lhs variable + refs to avoid seeing =/:=/+= inside a ref. + +Thu May 9 13:54:49 1996 Roland McGrath + + * commands.c (fatal_error_signal) [SIGQUIT]: Make SIGQUIT check + conditional. + + * main.c (main): Use unsigned for fread return. + + * read.c (parse_file_seq): Use `int' for char arg to avoid widening + conflict issues. + * dep.h: Fix prototype. + + * function.c (expand_function) [_AMIGA]: Fix some typos. + (patsubst_expand): Make len vars unsigned. + + * GNUmakefile (globfiles): Add AmigaDOS support files. + (distfiles): Add $(amigafiles). + (amigafiles): New variable. + +Thu Nov 7 10:18:16 1995 Aaron Digulla + + * Added Amiga support in commands.c, dir.c, function.c, + job.c, main.c, make.h, read.c, remake.c + * commands.c: Amiga has neither SIGHUP nor SIGQUIT + * dir.c: Amiga has filenames with Upper- and Lowercase, + but "FileName" is the same as "filename". Added strieq() + which is use to compare filenames. This is like streq() + on all other systems. Also there is no such thing as + "." under AmigaDOS. + * function.c: On Amiga, the environment is not passed as envp, + there are no pipes and Amiga can't fork. Use my own function + to create a new child. + * job.c: default_shell is "" (The system automatically chooses + a shell for me). Have to use the same workaround as MSDOS for + running batch commands. Added HAVE_SYS_PARAM_H. NOFILE isn't + known on Amiga. Cloned code to run children from MSDOS. Own + version of sh_chars[] and sh_cmds[]. No dup2() or dup() on Amiga. + * main.c: Force stack to 20000 bytes. Read environment from ENV: + device. On Amiga, exec_command() does return, so I exit() + afterwards. + * make.h: Added strieq() to compare filenames. + * read.c: Amiga needs special extension to have passwd. Only + one include-dir. "Makefile" and "makefile" are the same. + Added "SMakefile". Added special code to handle device names (xxx:) + and "./" in rules. + * remake.c: Only one lib-dir. Amiga link-libs are named "%s.lib" + instead of "lib%s.a". + * main.c, rule.c, variable.c: Avoid floats at all costs. + * vpath.c: Get rid of as many alloca()s as possible. + +Thu May 9 13:20:43 1996 Roland McGrath + + * read.c (read_makefile): Grok `sinclude' as alias for `-include'. + +Wed Mar 20 09:52:27 1996 Roland McGrath + + * GNUmakefile (vmsfiles): New variable. + (distfiles): Include $(vmsfiles). + +Tue Mar 19 20:21:34 1996 Roland McGrath + + Merged VMS port from Klaus Kaempf . + * make.h (PARAMS): New macro. + * config.h-vms: New file. + * makefile.com: New file. + * makefile.vms: New file. + * readme.vms: New file. + * vmsdir.h: New file. + * vmsfunctions.c: New file. + * vmsify.c: New file. + * file.h: Renamed to filedef.h to avoid conflict with VMS system hdr. + * ar.c: Added prototypes and changes for VMS. + * commands.c: Likewise. + * commands.h: Likewise. + * default.c: Likewise. + * dep.h: Likewise. + * dir.c: Likewise. + * expand.c: Likewise. + * file.c: Likewise. + * function.c: Likewise. + * implicit.c: Likewise. + * job.c: Likewise. + * job.h: Likewise. + * main.c: Likewise. + * make.h: Likewise. + * misc.c: Likewise. + * read.c: Likewise. + * remake.c: Likewise. + * remote-stub.c: Likewise. + * rule.c: Likewise. + * rule.h: Likewise. + * variable.c: Likewise. + * variable.h: Likewise. + * vpath.c: Likewise. + * compatMakefile (srcs): Rename file.h to filedef.h. + +Sat Aug 19 23:11:00 1995 Richard Stallman + + * remake.c (check_dep): For a secondary file, try implicit and + default rules if appropriate. + +Wed Aug 2 04:29:42 1995 Richard Stallman + + * remake.c (check_dep): If an intermediate file exists, + do consider its actual date. + +Sun Jul 30 00:49:53 1995 Richard Stallman + + * file.h (struct file): New field `secondary'. + * file.c (snap_deps): Check for .INTERMEDIATE and .SECONDARY. + (remove_intermediates): Don't delete .SECONDARY files. + +Sat Mar 2 16:26:52 1996 Roland McGrath + + * compatMakefile (srcs): Add getopt.h; prepend $(srcdir)/ to getopt*. + +Fri Mar 1 12:04:47 1996 Roland McGrath + + * Version 3.74.3. + + * remake.c (f_mtime): Move future modtime check before FILE is + clobbered by :: loop. + + * dir.c: Use canonical code from autoconf manual for dirent include. + [_D_NAMLEN]: Redefine NAMLEN using this. + (dir_contents_file_exists_p): Use NAMLEN macro. + (read_dirstream) [_DIRENT_HAVE_D_NAMLEN]: Only set d_namlen #if this. + + * compatMakefile (objs): Add missing backslash. + +Wed Feb 28 03:56:20 1996 Roland McGrath + + * default.c (default_terminal_rules): Remove + prefix from RCS cmds. + (default_variables): Put + prefix in $(CHECKOUT,v) value instead. + + * remake.c (f_mtime): Check for future timestamps; give error and mark + file as "failed to update". + +Fri Jan 12 18:09:36 1996 Roland McGrath + + * job.c: Don't declare unblock_sigs; job.h already does. + +Sat Jan 6 16:24:44 1996 Roland McGrath + + * acconfig.h (HAVE_SYSCONF_OPEN_MAX): #undef removed. + + * job.c (NGROUPS_MAX): Don't try to define this macro. + +Fri Dec 22 18:44:44 1995 Roland McGrath + + * compatMakefile (GETOPT, GETOPT_SRC, GLOB): Variables removed. + (objs, srcs): Include their values here instead of references. + +Thu Dec 14 06:21:29 1995 Roland McGrath + + * Version 3.74.2. + + * job.c (reap_children): Call unblock_sigs after start_job_command. + +Thu Dec 14 07:22:03 1995 Roland McGrath + + * dir.c (dir_setup_glob): Don't use lstat; glob never calls it anyway. + Avoid & before function names to silence bogus sunos4 compiler. + + * configure.in: Remove check for `sysconf (_SC_OPEN_MAX)'. + +Tue Dec 12 00:48:42 1995 Roland McGrath + + * Version 3.74.1. + + * dir.c (read_dirstream): Fix braino: fill in the buffer when not + reallocating it! + +Mon Dec 11 22:26:15 1995 Roland McGrath + + * misc.c (collapse_continuations): Fix skipping of trailing \s so + it can never dereference before the beginning of the array. + + * read.c (find_semicolon): Function removed. + (read_makefile): Don't use find_semicolon or remove_comments for + rule lines. Use find_char_unquote directly and handle quoted comments + properly. + + * default.c: Remove all [M_XENIX] code. + + * dir.c [HAVE_D_NAMLEN]: Define this for __GNU_LIBRARY__ > 1. + (D_NAMLEN): Macro removed. + (FAKE_DIR_ENTRY): New macro. + (dir_contents_file_exists_p): Test HAVE_D_NAMLEN instead of using + D_NAMLEN. + (read_dirstream): Return a struct dirent * for new glob interface. + (init_dir): Function removed. + (dir_setup_glob): New function. + * main.c (main): Don't call init_dir. + * read.c (multi_glob): Call dir_setup_glob on our glob_t and use + GLOB_ALTDIRFUNC flag. + + * misc.c (safe_stat): Function removed. + * read.c, commands.c, remake.c, vpath.c: Use plain stat instead of + safe_stat. + +Sat Nov 25 20:35:18 1995 Roland McGrath + + * job.c [HAVE_UNION_WAIT]: Include sys/wait.h. + + * main.c (log_working_directory): Made global. + Print entering msg only once. + * make.h (log_working_directory): Declare it. + * misc.c (message): Take new arg PREFIX. Print "make: " only if + nonzero. Call log_working_directory. + * remake.c: Pass new arg in `message' calls. + * job.c (start_job_command): Pass new arg to `message'; fix + inverted test in that call. + +Tue Nov 21 19:01:12 1995 Roland McGrath + + * job.c (start_job_command): Use `message' to print the command, + and call it with null if the command is silent. + * remake.c (touch_file): Use message instead of printf. + +Tue Oct 10 14:59:30 1995 Roland McGrath + + * main.c (enter_command_line_file): Barf if NAME is "". + +Sat Sep 9 06:33:20 1995 Roland McGrath + + * commands.c (delete_target): Ignore unlink failure if it is ENOENT. + +Thu Aug 17 15:08:57 1995 Roland McGrath + + * configure.in: Don't check for getdtablesize. + * job.c (getdtablesize): Remove decls and macros. + +Thu Aug 10 19:10:03 1995 Roland McGrath + + * main.c (define_makeflags): Omit command line variable + definitions from MFLAGS value. + + * arscan.c (ar_scan) [AIAMAG]: Check for zero MEMBER_OFFSET, + indicating a valid, but empty, archive. + +Mon Aug 7 15:40:03 1995 Roland McGrath + + * dir.c (file_impossible_p): Correctly reset FILENAME to name + within directory before hash search. + + * job.c (child_error): Do nothing if IGNORED under -s. + + * job.c (exec_command): Correctly use ARGV[0] for script name when + running shell directly. + +Tue Aug 1 14:39:14 1995 Roland McGrath + + * job.c (child_execute_job): Close STDIN_FD and STDOUT_FD after + dup'ing from them. Don't try to close all excess descriptors; + getdtablesize might return a huge value. Any open descriptors in + the parent should have FD_CLOEXEC set. + (start_job_command): Set FD_CLOEXEC flag on BAD_STDIN descriptor. + +Tue Jun 20 03:47:15 1995 Roland McGrath + + * read.c (read_all_makefiles): Properly append default makefiles + to the end of the `read_makefiles' chain. + +Fri May 19 16:36:32 1995 Roland McGrath + + * Version 3.74 released. + +Wed May 10 17:43:34 1995 Roland McGrath + + * Version 3.73.3. + +Tue May 9 17:15:23 1995 Roland McGrath + + * compatMakefile ($(infodir)/make.info): Make sure $$dir is set in + install-info cmd. + +Wed May 3 15:56:06 1995 Roland McGrath + + * file.c (print_file): Grok update_status of 1 for -q. + +Thu Apr 27 12:39:35 1995 Roland McGrath + + * Version 3.73.2. + +Wed Apr 26 17:15:57 1995 Roland McGrath + + * file.c (remove_intermediates): Fix inverted test to bail under + -n for signal case. Bail under -q or -t. + Skip files with update_status==-1. + + * job.c (job_next_command): Skip empty lines. + (new_job): Don't test the return of job_next_command. + Just let start_waiting_job handle the case of empty commands. + +Wed Apr 19 03:25:54 1995 Roland McGrath + + * function.c [__MSDOS__]: Include . From DJ Delorie. + + * Version 3.73.1. + +Sat Apr 8 14:53:24 1995 Roland McGrath + + * remake.c (notice_finished_file): Set FILE->update_status to zero + if it's -1. + +Wed Apr 5 00:20:24 1995 Roland McGrath + + * Version 3.73 released. + +Tue Mar 28 13:25:46 1995 Roland McGrath + + * main.c (main): Fixed braino in assert. + + * Version 3.72.13. + +Mon Mar 27 05:29:12 1995 Roland McGrath + + * main.c: Avoid string in assert expression. Some systems are broken. + +Fri Mar 24 00:32:32 1995 Roland McGrath + + * main.c (main): Handle 1 and 2 returns from update_goal_chain + makefile run properly. + + * Version 3.72.12. + + * main.c (handle_non_switch_argument): New function, broken out of + decode_switches. + (decode_switches): Set optind to 0 to reinitialize getopt, not to 1. + When getopt_long returns EOF, break the loop and handle remaining args + with a simple second loop. + + * remake.c (remake_file): Set update_status to 2 instead of 1 for + no rule to make. Mention parent (dependent) in error message. + (update_file_1): Handle FILE->update_status == 2 in -d printout. + * job.c (start_job_command, reap_children): Set update_status to 2 + instead of 1 for failed commands. + +Tue Mar 21 16:23:38 1995 Roland McGrath + + * job.c (search_path): Function removed (was already #if 0'd out). + * configure.in: Remove AC_TYPE_GETGROUPS; nothing needs it any more. + +Fri Mar 17 15:57:40 1995 Roland McGrath + + * configure.bat: Write @CPPFLAGS@ translation. + +Mon Mar 13 00:45:59 1995 Roland McGrath + + * read.c (parse_file_seq): Rearranged `l(a b)' -> `l(a) l(b)' loop + to not skip the elt immediately preceding `l(...'. + +Fri Mar 10 13:56:49 1995 Roland McGrath + + * Version 3.72.11. + + * read.c (find_char_unquote): Make second arg a string of stop + chars instead of a single stop char. Stop when any char in the + string is hit. All callers changed. + (find_semicolon): Pass stop chars "#;" to one find_char_unquote call, + instead of using two calls. If the match is not a ; but a #, + return zero. + * misc.c: Changed find_char_unquote callers here too. + + * Version 3.72.10. + + * read.c (read_makefile, parse_file_seq): Fix typo __MS_DOS__ -> + __MSDOS__. + + * GNUmakefile (globfiles): Add glob/configure.bat. + (distfiles): Add configh.dos, configure.bat. + +Wed Mar 8 13:10:57 1995 Roland McGrath + + Fixes for MS-DOS from DJ Delorie. + * read.c (read_makefile, parse_file_seq) [__MS_DOS__]: Don't see : + as separator in "C:\...". + * configh.dos (STDC_HEADERS): Define only if undefined. + (HAVE_SYS_PARAM_H): Don't define this. + (HAVE_STRERROR): Define this. + * job.c (construct_command_argv_internal) [__MSDOS__]: Fix typos. + + * Version 3.72.9. + + * main.c (decode_switches): Reset optind to 1 instead of 0. + +Tue Mar 7 17:31:06 1995 Roland McGrath + + * main.c (decode_switches): If non-option arg is "-", ignore it. + +Mon Mar 6 23:57:38 1995 Roland McGrath + + * Version 3.72.8. + +Wed Feb 22 21:26:36 1995 Roland McGrath + + * Version 3.72.7. + +Tue Feb 21 22:10:43 1995 Roland McGrath + + * main.c (main): Pass missing arg to tmpnam. + + * configure.in: Check for strsignal. + * job.c (child_error): Use strsignal. + * main.c (main): Don't call signame_init #ifdef HAVE_STRSIGNAL. + + * misc.c (strerror): Fix swapped args in sprintf. + +Mon Feb 13 11:50:08 1995 Roland McGrath + + * configure.in (CFLAGS, LDFLAGS): Don't set these variables. + +Fri Feb 10 18:44:12 1995 Roland McGrath + + * main.c (print_version): Add 95 to copyright years. + + * Version 3.72.6. + + * job.c (start_job_command): Remember to call notice_finished_file + under -n when not recursing. To do this, consolidate that code + under the empty command case and goto there for the -n case. + +Tue Feb 7 13:36:03 1995 Roland McGrath + + * make.h [! STDC_HEADERS]: Don't declare qsort. Sun headers + declare it int. + +Mon Feb 6 17:37:01 1995 Roland McGrath + + * read.c (read_makefile): For bogus line starting with tab, ignore + it if blank after removing comments. + + * main.c: Cast results of `alloca' to `char *'. + * expand.c: Likewise. + +Sun Feb 5 18:35:46 1995 Roland McGrath + + * Version 3.72.5. + + * configure.in: Check for mktemp. + * main.c (main) [! HAVE_MKTEMP]: Use tmpnam instead of mktemp. + + * configure.in (make_cv_sysconf_open_max): New check for `sysconf + (_SC_OPEN_MAX)'. + * acconfig.h: Added #undef HAVE_SYSCONF_OPEN_MAX. + * job.c [HAVE_SYSCONF_OPEN_MAX] (getdtablesize): Define as macro + using sysconf. + +Fri Jan 27 04:42:09 1995 Roland McGrath + + * remake.c (update_file_1): When !MUST_MAKE, don't set + FILE->update_status to zero before calling notice_finished_file. + (notice_finished_file): Touch only when FILE->update_status is zero. + (remake_file): Set FILE->update_status to zero after not calling + execute_file_command and deciding to touch instead. + +Thu Jan 26 01:29:32 1995 Roland McGrath + + * main.c (debug_signal_handler): New function; toggles debug_flag. + (main): Handle SIGUSR1 with that. + +Mon Jan 16 15:46:56 1995 Roland McGrath + + * compatMakefile (realclean): Remove Info files. + +Sun Jan 15 08:23:09 1995 Roland McGrath + + * Version 3.72.4. + + * job.c (start_job_command): Save and restore environ around vfork + call. + (search_path): Function #if 0'd out. + (exec_command): Use execvp instead of search_path. + + * expand.c (variable_expand): Rewrote computed variable name and + substitution reference handling to be simpler. First expand the + entire text between the parens if it contains any $s, then examine + the result of that for subtitution references and do no further + expansion while parsing them. + + * job.c (construct_command_argv_internal): Handle " quoting too, + when no backslash, $ or ` characters appear inside the quotes. + + * configure.in (union wait check): If WEXITSTATUS and WTERMSIG are + defined, just use int. + +Tue Jan 10 06:27:27 1995 Roland McGrath + + * default.c (default_variables) [__hpux]: Remove special + definition of ARFLAGS. Existence of the `f' flag is not + consistent across HPUX versions; and one might be using GNU ar + anyway. + + * compatMakefile (clean): Don't remove Info files. + + * compatMakefile (check): Remove gratuitous target declaration. + +Sat Jan 7 11:38:23 1995 Roland McGrath + + * compatMakefile (ETAGS, CTAGS): Don't use -t. + + * arscan.c (ar_name_equal) [cray]: Subtract 1 like [__hpux]. + + * main.c (decode_switches): For --help, print usage to stdout. + +Mon Dec 5 12:42:18 1994 Roland McGrath + + * Version 3.72.3. + + * remake.c (update_file_1): Do set_command_state (FILE, + cs_not_started) only if old state was deps_running. + +Mon Nov 28 14:24:03 1994 Roland McGrath + + * job.c (start_waiting_job): Use set_command_state. + + * build.template (CPPFLAGS): New variable. + (prefix, exec_prefix): Set from @...@. + (compilation loop): Pass $CPPFLAGS to compiler. + + * GNUmakefile (build.sh.in): Make it executable. + + * GNUmakefile (globfiles): Add configure.in, configure. + + * Version 3.72.2. + + * configure.in (AC_OUTPUT): Don't write glob/Makefile. + + * configure.in (AC_CHECK_SYMBOL): Use AC_DEFINE_UNQUOTED. + + * configure.in: Don't check for ranlib. + +Tue Nov 22 22:42:40 1994 Roland McGrath + + * remake.c (notice_finished_file): Only mark also_make's as + updated if really ran cmds. + +Tue Nov 15 06:32:46 1994 Roland McGrath + + * configure.in: Put dnls before random whitespace. + +Sun Nov 13 05:02:25 1994 Roland McGrath + + * compatMakefile (CPPFLAGS): New variable, set from @CPPFLAGS@. + (RANLIB): Variable removed. + (prefix, exec_prefix): Set these from @...@. + (.c.o): Use $(CPPFLAGS). + (glob/libglob.a): Don't pass down variables to sub-make. + glob/Makefile should be configured properly by configure. + (distclean): Remove config.log and config.cache (autoconf stuff). + +Mon Nov 7 13:58:06 1994 Roland McGrath + + * acconfig.h: Add #undef HAVE_UNION_WAIT. + * configure.in: Converted to Autoconf v2. + * dir.c: Test HAVE_DIRENT_H, HAVE_SYS_DIR_H, HAVE_NDIR_H instead + of DIRENT, SYSDIR, NDIR. + * build.sh.in (prefix, exec_prefix): Set these from @...@. + (CPPFLAGS): New variable, set from @CPPFLAGS@. + (compiling loop): Pass $CPPFLAGS before $CFLAGS. + * install.sh: File renamed to install-sh. + + * main.c (define_makeflags): When no flags, set WORDS to zero. + +Sun Nov 6 18:34:01 1994 Roland McGrath + + * Version 3.72.1. + + * main.c (define_makeflags): Terminate properly when FLAGSTRING is + empty. + +Fri Nov 4 16:02:51 1994 Roland McGrath + + * Version 3.72. + +Tue Nov 1 01:18:10 1994 Roland McGrath + + * Version 3.71.5. + + * job.c (start_job_command): When ARGV is nil, only set + update_state and call notice_finished_file if job_next_command + returns zero. + + * job.c (start_job_command): Call notice_finished_file for empty + command line. + +Thu Oct 27 02:02:45 1994 Roland McGrath + + * file.c (snap_deps): Set COMMANDS_SILENT for .SILENT, not + COMMANDS_NOERROR. + +Wed Oct 26 02:14:10 1994 Roland McGrath + + * Version 3.71.4. + +Tue Oct 25 22:49:24 1994 Roland McGrath + + * file.c (snap_deps): Set command_flags bits in all :: entries. + +Mon Oct 24 18:47:50 1994 Roland McGrath + + * make.h (posix_pedantic): Declare it. + * main.c (main): Move checks .IGNORE, .SILENT, .POSIX to + snap_deps. + * file.c (snap_deps): Check .IGNORE, .SILENT, .POSIX here instead + of in main. If .IGNORE has deps, OR COMMANDS_NOERROR into their + command_flags and don't set -i. Likewise .SILENT. + * job.c (start_job_command): In FLAGS initialization, OR in + CHILD->file->command_flags. + * file.h (struct file): New member `command_flags'. + +Sun Oct 16 01:01:51 1994 Roland McGrath + + * main.c (switches): Bump flag values for --no-print-directory and + --warn-undefined-variables, so neither is 1 (which indicates a + nonoption argument). + +Sat Oct 15 23:39:48 1994 Roland McGrath + + * main.c (main): Add missing code in .IGNORE test. + +Mon Oct 10 04:09:03 1994 Roland McGrath + + * variable.c (define_automatic_variables): Define +D and +F. + +Sat Oct 1 04:07:48 1994 Roland McGrath + + * main.c (main): Define hidden automatic variable with command + vars, and MAKEOVERRIDES to a reference to that. + (define_makeflags): If posix_pedantic, write a reference to that + instead. + +Thu Sep 29 00:14:26 1994 Roland McGrath + + * main.c (posix_pedantic): New variable. + (main): Set posix_pedantic if .POSIX is a target. + Fix .IGNORE and .SILENT checks to require is_target. + + * commands.c (set_file_variables): Define new automatic variable + $+, like $^ but before calling uniquize_deps. + + * job.c (reap_children): Call delete_child_targets for non-signal + error if .DELETE_ON_ERROR is a target. + +Tue Sep 27 01:57:14 1994 Roland McGrath + + * Version 3.71.3. + +Mon Sep 26 18:16:55 1994 Roland McGrath + + * job.c (reap_children): Don't change C->file->command_state when + dying. Test it only after calling start_job_command for a new + command line. When no more cmds, just set C->file->update_status. + (start_job_command): When the last line is empty or under -n, set + C->file->update_status. + (start_waiting_job): Grok cs_not_started after start_job_command + as success. + (new_job): Set C->file->update_status when there are no cmds. + (job_next_command): When out of lines, don't set + CHILD->file->update_status or CHILD->file->command_state. + + * main.c (quote_as_word): Renamed from shell_quote. Take new arg; + if nonzero, also double $s. + (main): Define MAKEOVERRIDES from command_variables here. + (define_makeflags): Don't use command_variables here; instead write a + reference $(MAKEOVERRIDES) in MAKEFLAGS. Make vars recursive. + + * dir.c [__MSDOS__]: Fixed typo. + + * vpath.c (selective_vpath_search): Reset EXISTS when stat fails. + +Sat Sep 10 03:01:35 1994 Roland McGrath + + * remake.c: Include and use assert instead of printfs + and abort. + + * main.c (decode_switches): Loop until optind hits ARGC, not just + until getopt_long returns EOF. Initialize C to zero before loop; + in loop if C is EOF, set optarg from ARGV[optind++], else call + getopt_long. + (decode_env_switches): Use variable_expand instead of + allocated_variable_expand. Allocate a fresh buffer to copy split + words into; scan characters by hand to break words and + debackslashify. + (shell_quote): New function. + (define_makeflags): Allocate doubled space for switch args, and command + variable names and values; use shell_quote to quote those things. + +Fri Sep 9 01:37:47 1994 Roland McGrath + + * Version 3.71.2. + + * acconfig.h: Add HAVE_SYS_SIGLIST and HAVE__SYS_SIGLIST. + + * main.c (decode_switches): The non-option return from getopt is + 1, not 0. + (command_variables): New type and variable. + (decode_switches, decode_env_switches): After making a variable + definition, record the struct variable pointer in the + command_variables chain. + (define_makeflags): If ALL, write variable definitions for + command_variables. + + * main.c (other_args): Variable removed. + (goals, lastgoal): New static variables (moved from auto in main). + (main): Don't process OTHER_ARGS at all. + Don't set variable MAKEOVERRIDES at all; define MAKE to just + $(MAKE_COMMAND). + (init_switches): Prepend a - {return in order} instead of a + + {require order}. + (decode_switches): Don't set OTHER_ARGS at all. + Grok '\0' return from getopt_long as non-option argument; try + variable definition and (if !ENV) enter goal targets here. + (decode_env_switches): Use allocated_variable_expand to store value. + Use find_next_token to simplify word-splitting loop. Don't + prepend a dash to uninterpreted value. Instead, if split into + only one word, try variable definition and failing that prepend a + dash to the word and pass it to decode_switches as a single arg. + +Wed Sep 7 03:02:46 1994 Roland McGrath + + * remake.c (notice_finished_file): Only recheck modtimes if + FILE->command_state was cs_running on entry (meaning the commands + actually just ran). + (update_file_1): Whenever we set FILE->update_status, call + notice_finished_file instead of just set_command_state. + * job.c (start_job_command): Whenever we set + CHILD->file->update_status, call notice_finished_file instead of + just set_command_state. + +Tue Sep 6 19:13:54 1994 Roland McGrath + + * default.c: Add missing ". + + * job.c: Changed all assignments of command_state members to calls + to set_command_state. + * remake.c: Likewise. + * file.c (set_command_state): New function. + * file.h: Declare set_command_state. + + * main.c (init_switches): Put a + first in options. + +Mon Jul 25 18:07:46 1994 Roland McGrath + + Merge MSDOS/GO32 port from DJ Delorie . + * vpath.c: Changed all uses of ':' to PATH_SEPARATOR_CHAR. + * main.c (directory_before_chdir): New variable, moved out of main + (was local). + (main) [__MSDOS__]: Look for \ or : to delimit last component of + PROGRAM. Don't frob ARGV[0] before setting MAKE_COMMAND variable. + (die): Change back to `directory_before_chdir' before dying. + * make.h (PATH_SEPARATOR_CHAR): New macro; differing defns for + [__MSDOS__] and not. + * job.c [__MSDOS__]: Include . + [__MSDOS__] (dos_pid, dos_status, dos_bname, dos_bename, + dos_batch_file): New variables. + (reap_children) [__MSDOS__]: Don't call wait; just examine those vars. + (unblock_sigs) [__MSDOS__]: Do nothing. + (start_job_command) [__MSDOS__]: Use spawnvpe instead of vfork & exec. + (load_too_high) [__MSDOS__]: Always return true. + (search_path) [__MSDOS__]: Check for : or / in FILE to punt. + Use PATH_SEPARATOR_CHAR instead of ':'. + (construct_command_argv_internal) [__MSDOS__]: Wholly different + values for sh_chars and sh_cmds. Wholly new code to handle shell + scripts. + * function.c (expand_function: `shell') [__MSDOS__]: Wholly new + implementation. + * dir.c [__MSDOS__] (dosify): New function. + (dir_contents_file_exists_p) [__MSDOS__]: Call it on FILENAME and + process the result instead of FILENAME itself. + (file_impossible_p) [__MSDOS__]: Likewise. + * default.c [__MSDOS__]: Define GCC_IS_NATIVE. + (default_suffix_rules) [__MSDOS__]: Use `y_tab.c' instead of `y.tab.c'. + (default_variables) [GCC_IS_NATIVE]: Set CC and CXX to `gcc', YACC to + `bison -y', and LEX to `flex'. + * configure.bat, configh.dos: New files. + * commands.c (fatal_error_signal) [__MSDOS__]: Just remove + intermediates and exit. + + * commands.c (set_file_variables): Add parens in length + computation in .SUFFIXES dep loop to quiet compiler warning. From + Jim Meyering. + + * read.c (read_makefile): Free FILENAME if we allocated it. From + Jim Meyering. + +Mon Jul 4 17:47:08 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * misc.c (safe_stat): New function, EINTR-safe wrapper around stat. + * vpath.c (selective_vpath_search): Use safe_stat in place of stat. + * read.c (construct_include_path): Use safe_stat in place of stat. + * job.c (search_path): Use safe_stat in place of stat. + * dir.c (find_directory): Use safe_stat in place of stat. + * commands.c (delete_target): Use safe_stat in place of stat. + * arscan.c (ar_member_touch) [EINTR]: Do EINTR looping around fstat. + * remake.c (name_mtime): Use safe_stat in place of stat. + (touch_file) [EINTR]: Do EINTR looping around fstat. + +Fri Jun 24 05:40:24 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * read.c (read_makefile): Check for a shell command first, and + then strip leading tabs before further checking if it's not a + shell command line. + + * make.h [__arm]: Undefine POSIX. + [!__GNU_LIBRARY__ && !POSIX && !_POSIX_VERSION]: Don't declare system + functions that return int. + + * job.c (construct_command_argv_internal): After swallowing a + backslash-newline combination, if INSTRING is set goto string_char + (new label) for normal INSTRING handling code. + +Sat Jun 4 01:11:20 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * configure.in: Don't check for sys_siglist and _sys_siglist with + AC_HAVE_FUNCS. Instead use two AC_COMPILE_CHECKs. + +Mon May 23 18:20:38 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.71.1 released. + + * make.h [!__GNU_LIBRARY__ && !POSIX]: Also test #ifndef + _POSIX_VERSION for these declarations. + + * misc.c [GETLOADAVG_PRIVILEGED] [POSIX]: Remove bogus #ifndefs + around #undefs of HAVE_SETREUID and HAVE_SETREGID. + +Sat May 21 16:26:38 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.71 released. + + * misc.c [GETLOADAVG_PRIVILEGED] [POSIX]: Don't test [HAVE_SETUID] + and [HAVE_SETGID]. Every system has those, and configure doesn't + check for them. + + * make.h [_POSIX_VERSION]: Don't #define POSIX #ifdef ultrix. + + * compatMakefile (loadavg): Depend on and use loadavg.c instead of + getloadavg.c. + (loadavg.c): Link or copy it from getloadavg.c. + (distclean): Remove loadavg.c. + +Mon May 16 22:59:04 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.70.4. + + * misc.c [GETLOADAVG_PRIVILEGED] [! POSIX]: Undefine HAVE_SETEUID + and HAVE_SETEGID. + + * default.c (default_terminal_rules): In SCCS rules, put + $(SCCS_OUTPUT_OPTION) before $<. On some systems -G is grokked + only before the file name. + * configure.in (SCCS_GET_MINUS_G check): Put -G flag before file name. + +Tue May 10 16:27:38 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * job.c (construct_command_argv_internal): Swallow + backslash-newline combinations inside '' strings too. + +Thu May 5 04:15:10 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * read.c (do_define): Call collapse_continuations on each line + before all else. + +Mon Apr 25 19:32:02 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * job.c (construct_command_argv_internal): Notice newline inside + '' string when RESTP is non-null. + +Fri Apr 22 17:33:30 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.70.3. + + * remake.c (update_goal_chain): Reset FILE to G->file after the + double-colon loop so it is never null for following code. + + * read.c (read_makefile): Fix `override define' parsing to skip + whitespace after `define' properly. + + * compatMakefile (srcdir): Define as @srcdir@; don't reference + $(VPATH). + (glob/Makefile): New target. + +Thu Apr 21 16:16:55 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.70.2. + + * misc.c (remove_comments): Use find_char_unquote. + * make.h (find_char_unquote): Declare it. + * read.c (find_char_unquote): New function, generalized from + find_percent. + (find_percent, find_semicolon, parse_file_seq): Use that. + +Wed Apr 20 18:42:39 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * implicit.c (pattern_search): Always allocate new storage for + FILE->stem. It is not safe to store STEM's address because it + might be auto storage. + + * configure.in: Check for seteuid and setegid. + * misc.c [HAVE_SETEUID]: Declare seteuid. + [HAVE_SETEGID]: Declare setegid. + (make_access, user_access) [HAVE_SETEUID]: Use seteuid. + [HAVE_SETEGID]: Use setegid. + + * remake.c (update_goal_chain): Set STATUS to FILE->update_status, + to preserve whether it's 2 for error or 1 for -q trigger. When + STATUS gets nonzero and -q is set, always stop immediately. + * main.c (main, decode_switches): Die with 2 for errors. + (main): Accept 2 return from update_goal_chain and die with that. + * misc.c (fatal, makefile_fatal): Die with 2; 1 is reserved for -q + answer. + * job.c (reap_children): Die with 2 for error. + (start_job_command): Set update_status to 2 for error. Set it to + 1 when we would run a command and question_flag is set. + + * read.c (read_makefile): Don't mark makefiles as precious. Just + like other targets, they can be left inconsistent and in need of + remaking by aborted commands. + + * read.c (read_makefile): Write no error msg for -include file. + +Tue Apr 5 05:22:19 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * commands.c (fatal_error_signal): Don't unblock signals. + + * file.h (struct file): Change member `double_colon' from flag to + `struct file *'. + * read.c (record_files): Set double_colon pointer instead of flag. + * main.c (main): When disqualifying makefiles for updating, use + double_colon pointer to find all entries for a file. + * file.c (enter_file): If there is already a double-colon entry + for the file, set NEW->double_colon to that pointer. + (file_hash_enter): Use FILE->double_colon to find all entries to + set name. + * remake.c (update_goal_chain): Do inner loop on double-colon entries. + (update_file): Use FILE->double_colon pointer to find all entries. + (f_mtime): Likewise. + (notice_finished_file): Propagate mtime change to all entries. + + * variable.c (try_variable_definition): Return after abort. + +Fri Apr 1 18:44:15 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * read.c (read_makefile): Remove unused variable. + (parse_file_seq): When removing an elt that is just `)', properly + fix up the previous elt's next pointer. + +Mon Mar 28 18:31:49 1994 Roland McGrath (roland@mole.gnu.ai.mit.edu) + + * configure.in: Do AC_SET_MAKE. + * GNUmakefile (Makefile.in): Edit MAKE assignment into @SET_MAKE@. + +Fri Mar 4 00:02:32 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * function.c (subst_expand): If BY_WORD or SUFFIX_ONLY is set and + the search string is the empty string, find a match at the end of + each word (using end_of_token in place of sindex). + + * misc.c (end_of_token): Don't treat backslashes specially; you + can no longer escape blanks with backslashes in export, unexport, + and vpath. This was never documented anyway. + +Thu Mar 3 23:53:46 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * read.c (read_makefile): Variable name for `define' is not just + first token; use whole rest of line and strip trailing blanks. + +Wed Feb 16 16:03:45 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.70.1. + + * read.c (read_makefile): Add -d msg stating args. + + * read.c (read_makefile): Use isspace to skip over leading + whitespace, and explicitly avoid skipping over tabs. Don't want + to skip just spaces though; formfeeds et al should be skipped. + + * default.c (default_variables) [__hpux]: Add f in ARFLAGS. + + * arscan.c (ar_name_equal) [__hpux]: Subtract 2 instead of 1 from + sizeof ar_name for max length to compare. + + * misc.c [GETLOADAVG_PRIVILEGED] [POSIX]: Undefine HAVE_SETREUID + #ifdef HAVE_SETUID; likewise HAVE_SETREGID and HAVE_SETGID. + + * main.c (main): Call user_access after setting `program', in case + it needs to use it in an error message. + + * read.c (read_makefile): Ignore an empty line starting with a tab. + +Thu Feb 10 21:45:31 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure.in (AC_SYS_SIGLIST_DECLARED): Use this instead of + AC_COMPILE_CHECK that is now its contents. + +Fri Feb 4 16:28:54 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * make.h: #undef strerror after #include . + [! ANSI_STRING]: Declare strerror. + +Thu Feb 3 02:21:22 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * misc.c (strerror): #undef any macro before function definition. + +Mon Jan 31 19:07:23 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * variable.c (try_variable_definition): Calculate BEG before loop + to strip blanks by decrementing END. Don't decr END to before BEG. + + * read.c (read_makefile): Skip over leading space characters, but + not tabs, after removing continuations and comments (it used to + use isspace). + +Tue Jan 25 16:45:05 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * variable.c (define_automatic_variables): In $(@D) et al, use + patsubst to remove trailing slash. + + * commands.c (delete_target): New function, broken out of + delete_child_targets. Check for archive members and give special msg. + (delete_child_targets): Use delete_target. + +Mon Jan 17 17:03:22 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * default.c (default_suffix_rules): Use $(TEXI2DVI_FLAGS) in + texi2dvi rules. Use $(MAKEINFO_FLAGS) in makeinfo rules. + +Tue Jan 11 19:29:55 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * GNUmakefile (tarfiles): Omit make-doc. + (make-$(version).tar): Include make.info*. + +Fri Jan 7 16:27:00 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * compatMakefile (configure, config.h.in): Comment out rules. + +Thu Jan 6 18:08:08 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * compatMakefile (binprefix, manprefix): New variables. + (instname): Variable removed. + (install): Use $({bin,man}prefix)make in place of $(instname). + File targets likewised renamed. + +Mon Jan 3 17:50:25 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.70 released. + +Thu Dec 23 14:46:54 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.69.3. + + * read.c (parse_file_seq): Inside multi-word archive ref + translation loop, check NEW1==0 at end and break out of the loop. + + * GNUmakefile (make-$(version).tar): Distribute install.sh. + * install.sh: New file. + + * configure.in (SCCS_GET_MINUS_G check): Put redirection for admin + cmds outside subshell parens, to avoid "command not found" msgs + from the shell. + +Wed Dec 22 17:00:43 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure.in (SCCS_GET_MINUS_G check): Put -G flag last in get cmd. + Redirect output & error from get to /dev/null. + Fix reversed sense of test. + +Fri Dec 17 15:31:36 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure.in (SCCS_GET_MINUS_G check): Use parens instead of + braces inside if condition command; some shells lose. + +Thu Dec 16 15:10:23 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.69.2. + + * arscan.c [M_UNIX]: Move #undef M_XENIX for PORTAR stuff. + (PORTAR) [M_XENIX]: Define to 0 instead of 1. + + * main.c (define_makeflags): Only export MAKEFLAGS if !ALL. + +Wed Dec 15 17:47:48 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * main.c (main): Cast result of pointer arith to unsigned int + before passing to define_variable for envars. Matters when + sizeof(unsigned)!=sizeof(ptrdiff_t). + +Tue Dec 14 14:21:16 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure.in: Add new check for SCCS_GET_MINUS_G. + * config.h.in: Add #undef SCCS_GET_MINUS_G. + * default.c (default_terminal_rules): Use `$(SCCS_OUTPUT_OPTION)' in + place of `-G $@' in SCCS commands. + (default_variables) [SCCS_GET_MINUS_G]: Define SCCS_OUTPUT_OPTION + to "-G$@". + + * configure.in (AC_OUTPUT): Put touch stamp-config in second arg + (so it goes in config.status), rather than afterward. + + * ar.c (ar_member_date): Don't call enter_file on the archive file + if it doesn't exist (by file_exists_p). + + * compatMakefile ($(infodir)/make.info): Replace `$$d/foo.info' + with `$$dir/make.info' in install-info invocation (oops). + + * vpath.c (construct_vpath_list): Only set LASTPATH set PATH when + we do not unlink and free PATH. + + * file.c (print_file_data_base): Fix inverted calculation for + average files per hash bucket. + + * read.c (readline): When we see a NUL, give only a warning and + synthesize a newline to terminate the building line (used to + fatal). Move fgets call into the loop condition, and after the + loop test ferror (used to test !feof in the loop). + +Fri Dec 3 16:40:31 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure.in: Check for strerror in AC_HAVE_FUNCS. + +Thu Dec 2 15:37:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + Differentiate different flavors of missing makefile error msgs, + removing gratuitous `fopen: ' and giving caller for included makefiles. + * misc.c [! HAVE_STRERROR]: Define our own strerror here. + (perror_with_name, pfatal_with_name): Use strerror instead of + replicating its functionality. + * read.c (read_makefile): Return int instead of void. + (read_all_makefiles, read_makefile): Change callers to notice zero + return and give error msg. + +Thu Nov 11 11:47:36 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.69.1. + + * default.c: Put `-G $@' before $< in SCCS cmds. + +Wed Nov 10 06:06:14 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * read.c (read_makefile): After trying a variable defn, notice if + the line begins with a tab, and diagnose an error. + +Sun Nov 7 08:07:37 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.69. + +Wed Nov 3 06:54:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.68.10. + + * implicit.c (try_implicit_rule): Look for a normal rule before an + archive rule. + +Fri Oct 29 16:45:28 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * function.c (expand_function: `sort'): Double NWORDS when it + overflows, instead of adding five. + + * compatMakefile (clean): Remove loadavg. + +Wed Oct 27 17:58:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.68.9. + + * file.h (NEW_MTIME): Define new macro. + * main.c (main): Set time of NEW_FILES to NEW_MTIME, not to + current time returned from system. Removed variable NOW. + * remake.c (notice_finished_file): Use NEW_MTIME in place of + current time here too. + +Tue Oct 26 19:45:35 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.68.8. + + * remake.c (update_file_1): Don't clear MUST_MAKE when FILE has no + cmds and !DEPS_CHANGED unless also !NOEXIST. + +Mon Oct 25 15:25:21 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * read.c (parse_file_seq): When converting multi-word archive + refs, ignore a word beginning with a '('. + +Fri Oct 22 02:53:38 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure.in: Check for sys/timeb.h. + * make.h [HAVE_SYS_TIMEB_H]: Test this before including it. + +Thu Oct 21 16:48:17 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.68.7. + + * rule.c (convert_suffix_rule): New local TARGPERCENT. Set it to + TARGNAME+1 for "(%.o)", to TARGNAME for "%.?". Use it in place of + TARGNAME to initialize PERCENTS[0]. + +Mon Oct 18 06:49:35 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure.in: Use AC_HAVE_HEADERS(unistd.h) instead of AC_UNISTD_H. + Remove AC_USG; it is no longer used. + + * file.c (print_file): New function, broken out of + print_file_data_base. + (print_file_data_base): Call it. + * rule.c (print_rule): New function, broken out of + print_rule_data_base. + (print_rule_data_base): Call it. + +Thu Oct 14 14:54:03 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * default.c (install_default_suffix_rules): New function, broken + out of install_default_implicit_rules. + (install_default_implicit_rules): Move suffix rule code there. + * make.h: Declare install_default_suffix_rules. + * main.c (main): Call install_default_suffix_rules before reading + makefiles. Move convert_to_pattern call before + install_default_implicit_rules. + + * job.h (struct child): Make `pid' member type `pid_t' instead of + `int'. + + * compatMakefile (RANLIB): New variable, set by configure. + (glob/libglob.a): Pass RANLIB value down to submake. + + Fixes for SCO 3.2 "devsys 4.2" from pss@tfn.com (Peter Salvitti). + * make.h: Include before for SCO lossage. + * job.c [! getdtablesize] [! HAVE_GETDTABLESIZE]: If NOFILE is not + defined but NOFILES_MAX is, define it to be that. + +Mon Oct 11 19:47:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * GNUmakefile (make-$(version).tar): Depend on acconfig.h, so it + is distributed. + +Sun Oct 3 15:15:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * default.c (default_terminal_rules): Add `-G $@' to SCCS get cmds. + +Tue Sep 28 14:18:20 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * job.c (construct_command_argv_internal): Add ^ to SH_CHARS; it + is another symbol for | in some shells. + * main.c (main): Add it to CMD_DEFS quoting list as well. + +Mon Sep 20 18:05:24 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * job.c (construct_command_argv_internal): Remove '=' from + SH_CHARS. Only punt on '=' if it is unquoted in a word before the + first word without an unquoted '='. + + * main.c (define_makeflags): Set v_export for MAKEFLAGS. + +Fri Sep 17 00:37:18 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * remake.c (update_file_1): Use .DEFAULT cmds for phony targets. + + * make.h [_AIX && _POSIX_SOURCE]: Define POSIX. + + * commands.c (delete_child_targets): Don't delete phony files. + + * job.c (start_job_command): Set COMMANDS_RECURSE in FLAGS if we + see a `+' at the beginning of the command line. + +Thu Sep 9 17:57:14 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.68.6. + +Wed Sep 8 20:14:21 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * main.c (define_makeflags): Define MAKEFLAGS with o_file, not o_env. + +Mon Aug 30 12:31:58 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * expand.c (variable_expand): Fatal on an unterminated reference. + +Thu Aug 19 16:27:53 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.68.5. + + * variable.c (define_automatic_variables): Define new o_default + variable `MAKE_VERSION' from version_string and remote_description. + + * make.h (version_string, remote_description): Declare these here. + * main.c: Don't declare version_string. + (print_version): Don't declare remote_description. + +Wed Aug 18 15:01:24 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * read.c (read_makefile): Free space pointed to by CONDITIONALS + before restoring the old pointer. + +Mon Aug 16 17:33:36 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * compatMakefile ($(objs)): Depend on config.h. + + * GNUmakefile (build.sh.in): Depend on compatMakefile. + + * configure.in: Touch stamp-config after AC_OUTPUT. + +Fri Aug 13 16:04:22 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.68.4. + +Thu Aug 12 17:18:57 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * make.h: Include instead of "config.h". + +Wed Aug 11 02:35:25 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * main.c (main): Make all variables interned from ENVP be v_export. + * variable.c (try_variable_definition): In v_default case, don't + check for an o_file variable that `getenv' finds. + + * job.c (reap_children): New local variable ANY_LOCAL; set it + while setting ANY_REMOTE. If !ANY_LOCAL, don't wait for local kids. + + * main.c (main): Don't call decode_env_switches on MFLAGS. DOC THIS. + + * function.c (expand_function): #if 0 out freeing of ENVP since it + is environ. + +Mon Aug 9 17:37:20 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.68.3. + + * remote-stub.c (remote_status): Set errno to ECHILD before return. + * job.c (reap_children): Scan the chain for remote children and + never call remote_status if there are none. + + * function.c (expand_function: `shell'): #if 0 out calling + target_environment; just set ENVP to environ instead. + + * job.c (reap_children): Check for negative return from + remote_status and fatal for it. + When blocking local child wait returns 0, then try a blocking call + to remote_status. + +Tue Aug 3 00:19:00 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * compatMakefile (clean): Delete make.info* and make.dvi here. + (distclean): Not here. + + * dep.h (RM_*): Use #defines instead of enum to avoid lossage from + compilers that don't like enum values used as ints. + +Mon Aug 2 16:46:34 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * compatMakefile (loadavg): Add $(LOADLIBES). + +Sun Aug 1 16:01:15 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.68.2. + + * compatMakefile (loadavg, check-loadavg): New targets. + (check): Depend on check-loadavg. + + * compatMakefile (glob/libglob.a): Depend on config.h. + + * misc.c (log_access): Write to stderr instead of stdout. + +Fri Jul 30 00:07:02 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.68.1. + +Thu Jul 29 23:26:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure.in (SYS_SIGLIST_DECLARED): In test program include + #ifdef HAVE_UNISTD_H. + + * compatMakefile (.PHONY): Put after `all' et al. + + * configure.in: Add AC_IRIX_SUN. + +Wed Jul 28 17:41:12 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.68. + +Mon Jul 26 14:36:49 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.67.8. + +Sun Jul 25 22:09:08 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.67.7. + + * compatMakefile ($(infodir)/make.info): Don't use $(instname). + Run install-info script if present. + +Fri Jul 23 16:03:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * make.h [STAT_MACROS_BROKEN]: Test this instead of [uts]. + + * configure.in: Add AC_STAT_MACROS_BROKEN. + +Wed Jul 14 18:48:11 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.67.6. + + * read.c (read_makefile): Recognize directive `-include', like + `include' but sets RM_DONTCARE flag. + + * variable.c (target_environment): If FILE is nil, use + current_variable_set_list in place of FILE->variables. + * function.c (expand_function: `shell'): Get an environment for + the child from target_environment instead of using environ. + + * dep.h: Declare read_all_makefiles here. + (RM_*): Define new enum constants. + * read.c (read_makefile): Second arg is FLAGS instead of TYPE. + Treat it as a bit mask containing RM_*. + (read_all_makefiles): For default makefiles, set D->changed to + RM_DONTCARE instead of 1. + * main.c: Don't declare read_all_makefiles here. + (main): Check `changed' member of read_makefiles elts for RM_* + flags instead of specific integer values. + +Mon Jul 12 22:42:17 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * make.h [sequent && i386]: #undef POSIX. From trost@cse.ogi.edu. + +Thu Jul 8 19:51:23 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * vpath.c (construct_vpath_list): If ELEM is zero 0, free PATTERN + as well as VPATH. + (build_vpath_lists): Empty `vpaths' around construct_vpath_list + call for $(VPATH). Expand $(strip $(VPATH)), not just $(VPATH). + + * rule.c (convert_suffix_rule): Use alloca instead of xmalloc for + PERCENTS, whose storage is not consumed by create_pattern_rule. + + * make.h [__mips && _SYSTYPE_SVR3]: #undef POSIX. + +Wed Jun 30 18:11:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.67.5. + + * rule.c (max_pattern_targets): New variable. + (count_implicit_rule_limits): Compute its value. + * rule.h: Declare it. + * implicit.c (pattern_search): Make TRYRULES max_target_patterns + times bigger. Move adding new TRYRULES elt inside the inner + targets loop, so each matching target gets its own elt in MATCHES + and CHECKED_LASTSLASH. + + * file.c (remove_intermediates): If SIG!=0 say `intermediate file' + instead of just `file' in error msg. + +Fri Jun 25 14:55:15 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * job.c (construct_command_argv): Turn off + --warn-undefined-variables around expansion of SHELL and IFS. + * read.c (tilde_expand): Likewise for HOME. + (read_all_makefiles): Likewise for MAKEFILES. + * vpath.c (build_vpath_lists): Likewise for VPATH. + + * main.c (warn_undefined_variables_flag): New flag variable. + (switches): Add --warn-undefined-variables. + * make.h (warn_undefined_variables_flag): Declare it. + * expand.c (warn_undefined): New function. + (reference_variable): Call it if the variable is undefined. + (variable_expand): In substitution ref, call warn_undefined if the + variable is undefined. + + * default.c (default_pattern_rules): Add `%.c: %.w %.ch' and + `%.tex: %.w %.ch' rules. + (default_suffix_rules: .w.c, .w.tex): Pass three args: $< - $@. + (default_suffixes): Add `.ch'. + +Mon Jun 21 17:55:39 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * default.c (default_suffixes): Replace `.cweb' with `.w'. + (default_suffix_rules): Rename `.cweb.c' and `.cweb.tex' to `.w.c' + and `.w.tex'. + +Fri Jun 11 14:42:09 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * compatMakefile ($(bindir)/$(instname)): Add missing backslash. + +Thu Jun 10 18:14:08 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.67.4. + + * read.c (multi_glob): Don't free OLD and OLD->name in the + FOUND!=0 fork. Use new block-local variable F instead of + clobbering OLD. + + * ar.c (glob_pattern_p): New function, snarfed from glob/glob.c. + (ar_glob): Call it; return nil immediately if MEMBER_PATTERN + contains no metacharacters. + +Wed Jun 9 16:25:35 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * ar.c (ar_glob{_match,_alphacompare}): New function. + + * dep.h [! NO_ARCHIVES]: Declare it. + * read.c (multi_glob) [! NO_ARCHIVES]: Use it on archive member elts. + + * read.c (read_makefile): Pass flag (1) to parse_file_seq, not to + multi_glob (which doesn't take a 3rd arg). + * rule.c (install_pattern_rule): Likewise. + * default.c (set_default_suffixes): Here too. + * function.c (string_glob): Don't pass gratuitous arg to multi_glob. + + * read.c (parse_file_seq) [! NO_ARCHIVES]: Add post-processing + loop to translate archive refs "lib(a b)" into "lib(a) lib(b)". + +Mon Jun 7 19:26:51 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * compatMakefile (installdirs): Actually pass directory names. + ($(bindir)/$(instname)): Test chgrp&&chmod exit status with `if'; + if it fails, echo a warning msg, but don't make the rule fail. + + * read.c (tilde_expand): New function, broken out of tilde_expand. + (multi_glob): Call it. + (construct_include_path): Expand ~ in directory names. + * dep.h: Declare tilde_expand. + * main.c (enter_command_line_file): Expand ~ at the start of NAME. + (main): Expand ~ in -C args. + * read.c (read_makefile): Expand ~ in FILENAME unless TYPE==2. + +Fri Jun 4 13:34:47 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * main.c (decode_env_switches): Use xmalloc instead of alloca for ARGS. + + * main.c (main): Put result of alloca in temporary variable with + simple assignment, to make SGI compiler happy. + +Thu Jun 3 20:15:46 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.67.3. + + * main.c (main): Before re-execing, remove intermediate files, and + print the data base under -p. Sexier debugging message. + + * implicit.c (pattern_search): Allocate an extra copy of the name + of a winning intermediate file when putting it in FOUND_FILES. + +Wed Jun 2 16:38:08 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * read.c (read_makefile): Pass flag (1) to parse_file_seq, not to + multi_glob (which doesn't take a 3rd arg). + + * dir.c (dir_contents_file_exists_p): When reading dirents, ignore + chars within D_NAMLEN that are NULs. + + * main.c (decode_switches): Don't savestring ARGV[0] to put it + into `other_args'. + For string switch, don't savestring `optarg'. + (main): Don't free elts of makefiles->list that are "-". + Use alloca'd rather than savestring'd storage for elts of + makefiles->list that are temporary file names. + * read.c (read_all_makefiles): Don't free *MAKEFILES. + * file.c (enter_file): Don't strip `./'s. + * main.c (enter_command_line_file): New function. + (main): Use it in place of enter_file for command-line goals from + other_files, and for old_files and new_files. + +Mon May 31 18:41:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.67.2. + + * compatMakefile (.SUFFIXES): Add .info. + ($(infodir)/$(instname).info): Find make.info* in cwd if there, + else in $srcdir. Use basename to remove dir name from installed name. + +Thu May 27 17:35:02 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * implicit.c (pattern_search): When interning FOUND_FILES, try + lookup_file first; if found, free the storage for our copy of the name. + +Wed May 26 14:31:20 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.67.1. + + * main.c (decode_switches): In usage msg, write `--switch=ARG' or + `--switch[=OPTARG]' rather than `--switch ARG' or `--switch [ARG]'. + +Mon May 24 16:17:31 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * rule.c (convert_suffix_rule): New function. + (convert_to_pattern): Use it instead of doing all the work here + several times. + For target suffix `.a', generate both the archive magic rule and + the normal rule. + + * compatMakefile (distclean): Remove stamp-config. + +Sat May 22 16:15:18 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.67. + + * file.c (remove_intermediates): Don't write extra space after `rm'. + + * main.c (struct command_switch.type): Remove `usage_and_exit'. + (print_usage_flag): New variable. + (switches: --help): Make type `flag', to set print_usage_flag. + (init_switches): Remove `usage_and_exit' case. + (decode_switches): Likewise. + (decode_switches): Print usage if print_usage_flag is set. + When printing usage, die with status of BAD. + (main): Die with 0 if print_version_flag. + +Fri May 21 16:09:28 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.66. + +Wed May 19 21:30:44 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * compatMakefile (installdirs): New target. + (install): Depend on it. + +Sun May 16 20:15:07 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.65.2. + +Fri May 14 16:40:09 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * vpath.c (construct_vpath_list): In removal loop for DIRPATH==0, + set LASTPATH to PATH, not NEXT. + + * dir.c (read_dirstream): Break out of loop after incrementing + DS->buckets such that it reaches DIRFILE_BUCKETS; avoid trying to + dereference DS->contents->files[DIRFILE_BUCKETS]. + + * read.c (read_makefile): Clear no_targets after reading a + targetful rule line. + + * main.c (main): If print_version_flag is set, exit after printing + the version. + (switches): Change --version docstring to say it exits. + + * make.h [butterfly]: #undef POSIX. + +Wed May 12 15:20:21 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.65.1. + + * arscan.c (ar_scan) [! AIAMAG]: Don't declare LONG_NAME. + [AIAMAG]: Pass TRUNCATE flag arg to (*FUNCTION), always zero. + + * function.c (handle_function): Use fatal instead of + makefile_fatal when reading_filename is nil. + + * configure.in: Add AC_GETGROUPS_T. + * job.c (search_path): Use GETGROUPS_T in place of gid_t. + +Sun May 9 15:41:25 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.65. + +Fri May 7 18:34:56 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * function.c (handle_function): Fatal for unmatched paren. + +Thu May 6 16:13:41 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.64.3. + + * commands.c (handling_fatal_signal): New variable. + (fatal_error_signal): Set it. + * job.c (reap_children): Avoid nonreentrant operations if that is set. + * make.h: Declare handling_fatal_signal. + + * expand.c (reference_variable): New function, snippet of code + broken out of simple-reference case of variable_expand. + (variable_expand): Use it for simple refs. + (variable_expand): When checking for a computed variable name, + notice a colon that comes before the final CLOSEPAREN. Expand + only up to the colon, and then replace the pending text with a + copy containing the expanded name and fall through to subst ref + handling. + (variable_expand): Don't bother expanding the name if a colon + appears before the first $. + (expand_argument): Use alloca instead of savestring. + (variable_expand): For subst ref, expand both sides of = before + passing to [pat]subst_expand. Use find_percent instead of lindex + to check the lhs for a %. + +Wed May 5 14:45:52 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.64.2. + +Mon May 3 17:00:32 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * arscan.c (ar_name_equal) [AIAMAG]: Abort if TRUNCATED is nonzero. + + * read.c (read_makefile): Pass extra arg of 1 to parse_file_seq, + not to multi_glob. + +Thu Apr 29 19:47:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.64.1. + + * arscan.c (ar_scan): New local flag var LONG_NAME. Set it when + we read the member name in any of the fashions that allow it to be + arbitrarily long. Pass its negation to FUNCTION. + (describe_member): Take TRUNCATED from ar_scan and print it. + (ar_name_equal): Take new arg TRUNCATED; if nonzero, compare only + the first sizeof (struct ar_hdr.ar_name) chars. + (ar_member_pos): Take TRUNCATED from ar_scan, pass to ar_name_equal. + * ar.c (ar_member_date_1): Likewise. + +Wed Apr 28 21:18:22 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * job.c (reap_children): Before calling start_job_command to start + the next command line, reset C->remote by calling start_remote_job_p. + +Mon Apr 26 15:56:15 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * arscan.c (ar_scan): New local var NAMEMAP. + In loop, rename NAME to NAMEBUF; new var NAME is a pointer; new + flag IS_NAMEMAP. When extracting the member name, always put a + null at its end first. If the name is "//" or "/ARFILENAMES", set + IS_NAMEMAP. If we have already read in NAMEMAP, and NAME looks + like " /N", get full name from NAMEMAP+N. + Else if NAME looks like "#1/N", read N chars from the + elt data to be the full name. At end of loop, if IS_NAMEMAP, read + the elt's data into alloca'd NAMEMAP. + (ar_name_equal): #if 0 truncating code. + + * make.h: Don't declare vfork at all. It returns int anyway, + unless declared it; and we conflicted with some systems. + + * main.c (define_makeflags): If FLAGSTRING[1] is '-', define + MAKEFLAGS to all of FLAGSTRING, not &FLAGSTRING[1]. Don't want to + define it to something like "-no-print-directory". + Use %g format instead of %f for floating-valued things. + +Thu Apr 22 18:40:58 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * GNUmakefile (Makefile.in): Use a substitution ref on nolib-deps + to change remote-%.dep to remote-stub.dep. + +Wed Apr 21 15:17:54 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.64. + +Fri Apr 16 14:22:22 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * compatMakefile (install): Remove - prefix from chgrp+chmod. + + * Version 3.63.8. + +Thu Apr 15 18:24:07 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * acconfig.h: New file; contains "#undef SCCS_GET" for autoheader. + * configure.in: If /usr/sccs/get exists, define SCCS_GET to that, + else to "get". + * default.c (default_variables): Set GET to macro SCCS_GET. + + * read.c (parse_file_seq): Take extra arg STRIP; strip `./' only + if nonzero. I hope this is the last time this argument is added + or removed. + (read_makefile): Pass it 1 when parsing include file names. + Pass it 1 when parsing target file names. + Pass it 1 when parsing static pattern target pattern names. + * rule.c (install_pattern_rule): Pass it 1 when parsing rule deps. + * default.c (set_default_suffixes): Pass it 1 when parsing + default_suffixes. + * function.c (string_glob): Pass it 0 here. + +Wed Apr 14 11:32:05 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * misc.c (log_access): New function. + ({init,user,make,child}_access): Call it. + (child_access): Abort if !access_inited. + + * main.c (switches: --no-print-directory): Use 1 instead of -1 for + single-letter option. + (init_switches, decode_switches, define_makeflags): An option with + no single-letter version is no longer indicated by a value of -1; + instead a value that is !isalnum. + (init_switches): Don't put such switches into the string, only + into the long_option table. + + * make.h [!NSIG] [!_NSIG]: #define NSIG 32. + + * job.c [HAVE_WAITPID]: Remove #undef HAVE_UNION_WAIT. AIX's + bsdcc defined WIF* to use union wait. + + * main.c (struct command_switch): Change member `c' to type int. + (switches): Make const. + (decode_switches): Use `const struct command_switch *'. + (define_makeflags): Likewise. + + * default.c (default_suffix_rules): Add `-o $@' to makeinfo rules. + +Mon Apr 12 12:30:04 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.63.7. + + * configure.in (AC_HAVE_HEADERS): Check for string.h and memory.h. + Removed AC_MEMORY_H. + * make.h [USG, NeXT]: Don't test these. + [HAVE_STRING_H]: Test this to include string.h and define ANSI_STRING. + [HAVE_MEMORY_H]: Test this instead of NEED_MEMORY_H. + [! ANSI_STRING]: Put decls of bcopy et al here. + [sparc]: Don't test this for alloca.h; HAVE_ALLOCA_H is sufficient. + [HAVE_SIGSETMASK]: Test this rather than USG. + [__GNU_LIBRARY__ || POSIX]: Don't #include again. + * main.c (main): Handle SIGCHLD if defined, and SIGCLD if defined. + It doesn't hurt to do both if they are both defined, and testing + USG is useless. + * dir.c: Rationalize directory header conditionals. + * arscan.c [HAVE_FCNTL_H]: Test this rather than USG || POSIX. + + * default.c (default_suffixes): Add `.txinfo'. + (default_suffix_rules): Add `.txinfo.info' and `.txinfo.dvi' rules. + + * variable.c (try_variable_definition): Replace RECURSIVE flag + with enum FLAVOR, which can be simple, recursive, or append. + Recognize += as append flavor. Set new variable VALUE in a switch + on FLAVOR. For append flavor, prepend the variable's old value. + If the variable was previously defined recursive, set FLAVOR to + recursive; if it was defined simple, expand the new value before + appending it to the old value. Pass RECURSIVE flag to + define_variable iff FLAVOR == recursive. + + * variable.c (try_variable_definition): Use alloca and bcopy for + NAME, instead of savestring. Might as well use stack storage + since we free it immediately anyway. + +Thu Apr 8 18:04:43 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * job.c (start_waiting_jobs): Move decl of JOB outside of loop. + + * main.c (define_makeflags): Rename `struct flag' member `switch' + to `cs', which is not a reserved word. + +Wed Apr 7 15:30:51 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * job.c (new_job): Call start_waiting_jobs first thing. + (start_waiting_job): Changed return type from void to int. + Return 0 when putting the child on the waiting_jobs chain. + (start_waiting_jobs): Don't check load and job_slots here. + Always take a job off the chain and call start_waiting_job on it; + give up and return when start_waiting_job returns zero. + + * main.c (define_makeflags: struct flag): Change member `char c' to + `struct command_switch *switch'. + (ADD_FLAG): Set that to CS instead of CS->c. + If CS->c is -1, increment FLAGSLEN for the long name. + When writing out FLAGS, handle FLAGS->switch->c == -1 and write + the long name instead. + + * compatMakefile (stamp-config): New target of old config.h rule. + Touch stamp-config after running config.status. + (config.h): Just depend on stamp-config, and have empty commands. + +Mon Apr 5 20:14:02 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * job.c [HAVE_WAITPID]: #undef HAVE_UNION_WAIT. + + * configure.in (AC_HAVE_FUNCS): Check for psignal. + +Fri Apr 2 17:15:46 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * main.c (long_option_aliases): Remove "new"; it is already an + unambiguous prefix of "new-file". + +Sun Mar 28 16:57:17 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.63.6. + +Wed Mar 24 14:26:19 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * vpath.c (selective_vpath_search): When adding the + name-within-directory at the end of NAME, and we don't add a + slash, don't copy FILENAME in one char too far into NAME. + + * variable.c (define_automatic_variables): Find default_shell's + length with strlen, not numerology. + +Wed Mar 17 20:02:27 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * main.c (define_makeflags): Add the elts of a string option in + reverse order, so they come out right when reversed again. + +Fri Mar 12 15:38:45 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * compatMakefile (make.info): Use `-o make.info'. + +Thu Mar 11 14:13:00 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * compatMakefile (REMOTE): Set to @REMOTE@; change comments to + reflect new use. + (objs): Replace remote.o with remote-$(REMOTE).o. + (srcs): Replace remote.c with remote-$(REMOTE).c. + (remote.o): Rule removed. + + * configure.in (REMOTE): Subst this in Makefile et al; default "stub". + Use AC_WITH to grok --with-customs arg to set REMOTE=cstms. + * GNUmakefile (build.sh.in): Filter out remote-% from objs list. + * build.template (REMOTE): New var; set to @REMOTE@. + (objs): Add remote-${REMOTE}.o. + +Wed Mar 10 15:12:24 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.63.5. + + * implicit.c (pattern_search): Fix "dependent"->"dependency" in + "Rejecting impossible" -d msg. + + * file.c (file_hash_enter): New local vars {OLD,NEW}BUCKET. Store + mod'd values there; never mod {OLD,NEW}HASH. + +Mon Mar 8 13:32:48 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * remake.c [eta10]: Include instead of . + + * compatMakefile (VPATH): Set this to @srcdir@. + (srcdir): Set this to $(VPATH). + + * main.c (main): New local var DIRECTORY_BEFORE_CHDIR. Save in it + a copy of CURRENT_DIRECTORY after the first getcwd. Use it + instead of CURRENT_DIRECTORY when chdir'ing back before re-execing. + + * remake.c (notice_finished_file): Pass missing SEARCH arg to f_mtime. + + * read.c (read_makefile): Remove extraneous arg to parse_file_seq. + +Mon Feb 22 14:19:38 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * compatMakefile ($(infodir)/$(instname).info): Use , instead of / + as the sed delimiter char. + +Sun Feb 21 14:11:04 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.63.4. + + * rule.h (struct rule): Removed `subdir' member. + * rule.c (new_pattern_rule): No need to clear it. + (count_implicit_rule_limits): Set the `changed' flag in each dep + that refers to a nonexistent directory. No longer set rule-global + `subdir' flag with that information. + (print_rule_data_base): Don't record info on `subdir' flags. + + * implicit.c (pattern_search): Check the DEP->changed flag rather + than the (now gone) RULE->subdir flag. Also test CHECK_LASTSLASH; + if it is set, the file might exist even though the DEP->changed + flag is set. + + * rule.c (count_implicit_rule_limits): Pass "", not ".", as file + name arg to dir_file_exists_p to check for existence of directory. + + * implicit.c (pattern_search): Inside dep-finding loop, set + CHECK_LASTSLASH from the value recorded in CHECKED_LASTSLASH[I], + rather than computing it anew. + + * commands.c (set_file_variables): Must alloca space for PERCENT + and copy it, to avoid leaving the trailing `)' in the value. + + * misc.c (remove_comments): Fixed backslash-checking loop + condition to allow it to look at the first char on the line. + P2 >= LINE, not P2 > LINE. + + * compatMakefile ($(bindir)/$(instname)): Before moving $@.new to + $@, rm $@.old and mv $@ to $@.old. + + * variable.c (try_variable_definition): Take new args FILENAME and + LINENO. Fatal if the variable name is empty. + * read.c (read_makefile): Change callers. + * main.c (main): Likewise. + + * compatMakefile (group): Define to @KMEM_GROUP@, autoconf magic + that configure will replace with the group owning /dev/kmem. + +Mon Feb 8 14:26:43 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * vpath.c (vpath_search): Take second arg MTIME_PTR, pass thru to + selective_vpath_search. + (selective_vpath_search): Take second arg MTIME_PTR. + If the dir cache thinks a file exists, stat it to make sure, and + put the modtime in *MTIME_PTR. + * remake.c (library_search): Take second arg MTIME_PTR. + When we find a match, record its mtime there. + Pass MTIME_PTR through to vpath_search to do same. + (f_mtime): Pass &MTIME as new 2nd arg to {vpath,library}_search; + store it in FILE->last_mtime if set nonzero. + * implicit.c (pattern_search): Pass nil 2nd arg to vpath_search. + + * compatMakefile (remote.o): Prepend `$(srcdir)/' to `remote-*.c', + so globbing looks somewhere it will find things. + + * compatMakefile ($(infodir)/$(instname).info): Install `make.info*' + not `$(srcdir)/make.info*'; no need to use basename. + +Fri Feb 5 12:52:43 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.63.3. + + * compatMakefile (install): Add missing ;\s. + + Make -, @, and + prefixes on a pre-expanded command line affect + all lines in the expansion, not just the first. + * commands.h (struct commands): Replace `lines_recurse' member + with `lines_flags'. + (COMMANDS_{RECURSE,SILENT,NOERROR}): New macros, bits to set in + that flag byte. + * commands.c (chop_commands): Set `lines_flags' instead of + `lines_recurse'. Record not only + but also @ and - prefixes. + * remake.c (notice_finished_file): Check the COMMANDS_RECURSE bit + in FILE->cmds->lines_flags, rather than FILE->cmds->lines_recurse. + * job.c (start_job_command): Replaced RECURSIVE and NOPRINT local + var with FLAGS; initialize it to the appropriate `lines_flags' byte. + Set CHILD->noerror if the COMMANDS_NOERROR bit is set in FLAGS. + Set the COMMANDS_SILENT bit in FLAGS for a @ prefix. + + * remake.c (update_goal_chain): Set G->file to its prev after + checking for G being finished, since that check needs to examine + G->file. + + * configure.in (union wait check) [HAVE_WAITPID]: Try using + waitpid with a `union wait' STATUS arg. If waitpid and union wait + don't work together, we should not use union wait. + + * Version 3.63.2. + + * remake.c (update_goal_chain): When G->file->updated, move + G->file to its prev. We aren't finished until G->file is nil. + +Thu Feb 4 12:53:04 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * main.c (starting_directory): New global variable. + (main): Set it to cwd after doing -Cs. + (log_working_directory): Use it, rather than computing each time. + * make.h: Declare it. + + * compatMakefile (SHELL): Define to /bin/sh for losing Unix makes. + + * main.c (decode_env_switches): Allocate (1 + LEN + 1) words for + ARGV, rather than LEN words plus one byte. + +Wed Feb 3 18:13:52 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * compatMakefile ($(bindir)/$(instname)): Put - before + install_setgid command line, so its failure won't be an error. + (infodir): New variable. + (install): Depend on $(infodir)/$(instname).info. + ($(infodir)/$(instname).info): New target. + + * read.c (read_makefile): If FILENAMES is nil when we see a line + starting with a tab, don't treat it as a command. Just fall + through, rather than giving an error. + + * read.c (read_makefile): If the NO_TARGETS flag is set when we see a + command line, don't clear it before continuing. We want + subsequent command lines to be ignored as well. + + * job.c (new_job): Before expanding each command line, collapse + backslash-newline combinations that are inside var or fn references. + +Mon Feb 1 16:00:13 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * compatMakefile (exec_prefix): Default to $(prefix), not /usr/local. + + * compatMakefile (make.info): Pass -I$(srcdir) to makeinfo. + + * job.c [POSIX] (unblock_sigs): Made global. + [!POSIX] (unblock_sigs): Move defns to job.h. + * job.h [POSIX] (unblock_sigs): Declare. + +Sun Jan 31 19:11:05 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * read.c (read_makefile): In vpath parsing, after finding the + pattern token, take entire rest of line as the search path, not + just the next token. + + * compatMakefile (remote.o): Depend on remote-*.c. + +Thu Jan 28 16:40:29 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * commands.c (set_file_variables): Don't define any F or D versions. + * variable.c (define_automatic_variables): Define them here as + recursively-expanded variables that use the dir and notdir funcs. + + * variable.c (target_environment): In v_default case, don't export + o_default or o_automatic variables. + + * configure.in (union wait check): Remove ` and ' inside C code; + they confuse the shell script. + +Mon Jan 25 13:10:42 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.63.1. + + * vpath.c (construct_vpath_list): When skipping further processing + of an elt that is ".", don't also skip the code that pushes P past + the next separator. + + * compatMakefile (distclean): Don't remove make-*. + + * configure.in (HAVE_UNION_WAIT): Try to use WEXITSTATUS if it's + defined. If one cannot use WEXITSTATUS with a `union wait' + argument, we don't want to believe the system has `union wait' at all. + + * remake.c (update_file): Do nothing to print "up to date" msgs. + (update_goal_chain): Do it here instead. + Use the `changed' flag of each goal's `struct dep' to keep track + of whether files_remade (now commands_started) changed around a + call to update_file for that goal. + When a goal is finished, and its file's update_status is zero (i.e., + success or nothing done), test the `changed' flag and give an "up + to date" msg iff it is clear. + * make.h (files_remade): Renamed to commands_started. + * remake.c: Changed defn. + (update_goal_chain): Changed uses. + * job.c (start_job_command): Increment commands_started here. + (reap_children): Not here. + + * remake.c (update_goal_chain): Don't do anything with files' + `prev' members. update_file now completely handles this. + + * variable.c (target_environment): Don't expand recursive + variables if they came from the environment. + + * main.c (define_makeflags): For flags with omitted optional args, + store {"", 0} with ADD_FLAG. When constructing FLAGSTRING, a flag + so stored cannot have more flags appended to the same word. + +Fri Jan 22 14:46:16 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * variable.c (print_variable_set): In vars/bucket calculation, + don't spuriously multiply by 100. + + * Version 3.63. + + * job.c [!HAVE_UNION_WAIT] (WTERMSIG, WCOREDUMP, WEXITSTATUS): + Don't define if already defined. + + * remake.c (update_file): Don't keep track of the command_state before + calling update_file_1. Remove local variable COMMANDS_FINISHED, + and don't test it to decide to print the "is up to date" msg. + Testing for files_remade having changed should always be sufficient. + The old method lost when we are called in the goal chain run on a + makefile, because the makefile's command_state is already + `cs_finished' from the makefile chain run. + + * misc.c [HAVE_SETRE[GU]ID]: Test these to decl setre[gu]id. + + * configure.in: Rewrote wait checking. + Use AC_HAVE_HEADERS to check for . + Use AC_HAVE_FUNCS to check for waitpid and wait3. + Use a compile check to test just for `union wait'. + * job.c: Rewrote conditionals accordingly. + [HAVE_WAITPID]: Test this only to define WAIT_NOHANG. + [HAVE_WAIT3]: Likewise. + [HAVE_UNION_WAIT]: Test this to define WAIT_T and W*. + + * configure.in: Set CFLAGS and LDFLAGS before all checks. + + * dir.c: Add static forward decls of {open,read}_dirstream. + +Thu Jan 21 17:18:00 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.62.31. + + * job.c [NGROUPS_MAX && NGROUPS_MAX==0]: #undef NGROUPS_MAX. + + * compatMakefile (CFLAGS, LDFLAGS): Set to @CFLAGS@/@LDFLAGS@. + * build.template (CFLAGS, LDFLAGS): Same here. + * configure.in: AC_SUBST(CFLAGS) and LDFLAGS. + Set them to -g if not defined in the environment. + + * remake.c (library_search): Use LIBNAME consistently, setting it + only once, to be the passed name sans `-l'. + Pass new var FILE to be modified by vpath_search. + +Mon Jan 18 14:53:54 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.62.30. + + * job.c (start_waiting_jobs): Return when job_slots_used is equal to + job_slots. + + * configure.in: Add AC_CONST for the sake of getopt. + + * read.c (read_makefile): Continue after parsing `override' + directive, rather than falling through to lossage. + Check for EOL or blank after "override define". + + * compatMakefile (.c.o, remote.o): Put $(CFLAGS) after other switches. + +Fri Jan 15 12:52:52 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.62.29. + + * main.c (define_makeflags): After writing everything into + FLAGSTRING, only back up two chars if [-1] is a dash, meaning we + just wrote " -". Always terminate the string at *P. + + * remake.c (library_search): When constructing names in std dirs, + use &(*LIB)[2] for the stem, not LIBNAME (which points at the + buffer we are writing into!). + +Thu Jan 14 13:50:06 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * read.c (read_makefile): Set IN_IGNORED_DEFINE for "override + define" when IGNORING is true. + + * compatMakefile (distclean): Remove config.status and build.sh. + +Wed Jan 13 16:01:12 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.62.28. + + * misc.c (xmalloc, xrealloc): Cast result of malloc/realloc to + (char *). + + * arscan.c (ar_scan) [AIAMAG]: Cast read arg to (char *). + + * variable.c (define_automatic_variables): Override SHELL value for + origin o_env_override as well as o_env. + + * GNUmakefile (build.sh.in): Don't replace %globobjs%. Instead, + add the names of the glob objects (w/subdir) to %objs%. + * build.template (globobjs): Removed. + Take basename of $objs before linking. + +Tue Jan 12 12:31:06 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.62.27. + + * configure.in (AC_OUTPUT): Also edit build.sh. + * build.template: New file. + * GNUmakefile (build.sh.in): New rule to create it from build.template. + (make-$(version).tar.Z): Depend on build.sh.in. + + * main.c (die): Call print_data_base if -p. + (main): Don't call it here. + + * compatMakefile (defines): Add @DEFS@. configure should turn this + into -DHAVE_CONFIG_H. + +Mon Jan 11 14:39:23 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.62.26. + + * misc.c (init_access): Surround with #ifdef GETLOADAVG_PRIVILEGED. + ({make,user,child}_access) [! GETLOADAVG_PRIVILEGED]: Make no-op. + * compatMakefile (install_setgid): New var, set by configure. + (install): Install setgid $(group) only if $(install_setgid) is true. + +Fri Jan 8 15:31:55 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * job.c (load_too_high): If getloadavg fails with errno==0, give a + message saying that load limits are not supported. + + * vpath.c (construct_vpath_list): Rewrote path deletion code to + not try to use PATH's next link after freeing PATH. + + * main.c (define_makeflags): Rewritten; now handles string-valued + option, and has no arbitrary limits. + (switches): Set `toenv' flag for -I and -v. + + * main.c (decode_env_switches): Cast return value of alloca to char *. + + * misc.c (child_access) [HAVE_SETREUID, HAVE_SETREGID]: Use + setre[gu]id in place of set[gu]id. + +Wed Jan 6 15:06:12 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * main.c (main): Define MAKEOVERRIDES, MAKE, and MAKE_COMMAND with + origin o_default. + + * make.h [POSIX]: Don't test this to use ANSI_STRING. + Testing STDC_HEADERS should be sufficient. + + * job.h: Declare start_waiting_jobs. + + * read.c (read_makefile): Add missing parens in if stmt that find + conditional directives. + + * main.c (main): Declare init_dir. + * implicit.c (pattern_search): Always use two % specs in a + DEBUGP2, and always pass two non-nil args. + Cast field width args to int. + Add missing parens in !RULE->subdir if stmt. + * function.c (expand_function, patsubst_expand): Add parens around + assignments inside `while' stmts. + * commands.c (print_commands): Cast field width args to int. + + * read.c (do_define): Cast return value of alloca to (char *). + + * main.c (init_switches): New function, broken out of decode_switches. + (decode_switches): Take new arg ENV. If set, ignore non-option + args; print no error msgs; ignore options with clear `env' flags. + (decode_env_switches): Rewritten to chop envar value into words + and pass them to decode_switches. + (switches): Set `env' flag for -I and -v. + + * dir.c (init_dir): Cast free to __glob_closedir_hook's type. + +Tue Jan 5 14:52:15 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.62.25. + + * job.c [HAVE_SYS_WAIT || !USG]: Don't #include and + . interacts badly with , and + we don't need these anyway. + + * configure.in (AC_HAVE_FUNCS): Check for setre[gu]id. + * misc.c ({user,make}_access): Test #ifndef HAVE_SETRE[GU]ID, not + #ifdef POSIX || USG. SunOS 4.1 is supposedly POSIX.1 compliant, + but its set[gu]id functions aren't; its setre[gu]id functions work. + + * misc.c ({user,make,child}_access): Give name of caller in error msgs. + + * job.c (load_too_high): Say "cannot enforce load limit" in error msg. + + * configure.in: Call AC_PROG_CC. + * compatMakefile (CC): Define to @CC@ (autoconf magic). + + * compatMakefile: Add .NOEXPORT magic target. + +Mon Jan 4 17:00:03 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * main.c (print_version): Updated copyright to include 93. + +Thu Dec 31 12:26:15 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * make.h [_AIX]: Don't declare alloca. + +Tue Dec 29 13:45:13 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.62.24. + + * compatMakefile (objs): Add signame.o. + (srcs): Add signame.[ch]. + + * compatMakefile (srcs): Add config.h.in. + (remote.o): Add -I. before -I$(srcdir). + +Mon Dec 28 15:51:26 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.62.23. + + * read.c (readline): Fatal when LEN==0, indicating a line starting + with a NUL. + (readline): Take new arg LINENO, for use in error msg. + (read_makefile, do_define): Pass it. + + * compatMakefile (glob/libglob.a): Pass -DHAVE_CONFIG_H in CPPFLAGS. + (.c.o): Add -I. before -I$(srcdir). + +Wed Dec 23 12:12:04 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * read.c (read_makefile): Accept and ignore a rule with no targets. + + * compatMakefile (ALLOCA_SRC): New variable. + (srcs): Include its value. + + * read.c (struct conditional): Renamed member `max_ignoring' to + `allocated'; added new member `seen_else'. + (conditional_line): Initialize seen_else flag when starting an `if...'; + set it when we see an `else'; fatal if set when we see `else'. + (read_makefile): Fatal "missing `endif'" if there are any pending + conditionals, not just if we are still ignoring. + +Tue Dec 22 15:36:28 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * compatMakefile (manext): Set to 1, not l. + ($(mandir)/$(instname).$(manext)): Use $(srcdir) for make.man in cmds. + + * file.c (file_hash_enter): Don't call uniquize_deps here. + * read.c (record_files): Likewise. + * implicit.c (pattern_search): Likewise. + * commands.c (set_file_variables): Call it only here. + + * default.c (default_variables) [__convex__]: FC=fc. + + * variable.c (target_environment): Expand the values of recursively + expanded variables when putting them into the environment. + * expand.c (recursively_expand): Made global. + * make.h (recursively_expand): Declare it. + + * remake.c (check_dep): Set FILE->command_state to cs_deps_running + when a dep's command_state is cs_running or cs_deps_running. + + * read.c (read_makefile): Changed error msg for spurious cmds to + not say "first target". + +Sun Dec 20 17:56:09 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * configure.in: Do AC_CONFIG_HEADER right after AC_INIT. + * make.h (HAVE_CONFIG_H): #include "config.h", then #define this. + * compatMakefile (config.h, configure, config.h.in): New rules. + (defines): Removed @DEFS@. + +Thu Dec 17 16:11:40 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * compatMakefile (realclean): Just depend on distclean; no cmds. + (distclean): Do what realclean did before; also remove Makefile and + config.h; don't remove configure. + (info, dvi): New targets; depend on make.{info,dvi}. + (doc): Removed target. + (MAKEINFO, TEXI2DVI): New vars. + (make.info, make.dvi): Use them instead of explicit cmds. + +Wed Dec 16 16:25:24 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure.in: Added fcntl.h to AC_HAVE_HEADERS. getloadavg cares. + +Wed Dec 9 15:21:01 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * main.c (long_option_aliases): Add --new-file alias for -W. + + * default.c (default_variables): Change all C++ to CXX and C++FLAGS + to CXXFLAGS. + + * read.c (do_define): Expand the variable name before using it. + + * main.c (main): Define variable "MAKE_COMMAND" to argv[0]; + define "MAKE=$(MAKE_COMMAND) $(MAKEOVERRIDES)" always. + + * remake.c (library_search): Search for libNAME.a in cwd; look in + vpath before looking in standard dirs, not after. + Changed order of std dirs to: /lib, /usr/lib, ${prefix}/lib. + +Mon Nov 23 14:57:34 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * default.c (default_pattern_rules, default_terminal_rules): Added + brackets around initializers. + + * variable.c (try_variable_definition): Don't check for LINE[0]=='\t'. + (try_variable_definition): Expand the name before defining the var. + + * job.c (init_siglist): Removed function. + Removed decl of `sys_siglist'. + * make.h [! HAVE_SYS_SIGLIST]: #include "signame.h". + [HAVE_SYS_SIGLIST && !SYS_SIGLIST_DECLARED]: Declare sys_siglist + only under these conditions. + * main.c (main): Don't declare init_siglist. + (main) [! HAVE_SYS_SIGLIST]: Call signame_init instead of init_siglist. + +Wed Nov 18 14:52:51 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * read.c (record_files): Don't try to append to FIRSTDEPS if it's + nil; instead just set it to MOREDEPS. + +Mon Nov 16 17:49:17 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * vpath.c (construct_vpath_list): Initialize P to DIRPATH before + loop that sets MAXELEM. + +Fri Nov 13 18:23:18 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.62.22. + +Thu Nov 12 15:45:31 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * job.c (start_job_command): Under -n, increment files_remade after + processing (i.e., printing) all command lines. + +Tue Nov 10 15:33:53 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * read.c (record_files): Append new deps if this rule has no + commands; prepend them to existing deps if this rule has no commands. + + * dir.c (open_dirstream): Return nil if DIR->contents->files is nil. + + * read.c (parse_file_seq): Removed last arg STRIP. Always strip `./'s. + (read_makefile): Changed callers. + * function.c (string_glob): Likewise. + * rule.c (install_pattern_rule): Likewise. + +Mon Nov 9 17:50:16 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * remake.c (files_remade): Made global. + (notice_finished_file): Don't increment files_remade here; this + function gets called in many situations where no remaking was in + fact done. + * job.c (reap_children): Do it here instead, when we know that + actual commands have been run for the file. + * make.h (files_remade): Declare it. + +Thu Nov 5 18:26:10 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * vpath.c (construct_vpath_list): Allow blanks as well as colons to + separate elts in the search path. + + * read.c (read_makefile): Don't fatal on extra tokens in `vpath'. + The search path can contain spaces now. + +Tue Nov 3 20:44:32 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * compatMakefile (check): New target; no-op. + + * file.c (file_hash_enter): Mod OLDHASH by FILE_BUCKETS after + testing for OLDHASH==0 but before using the value. + (rename_file): Don't mod OLDHASH by FILE_BUCKETS before passing it + to file_hash_enter. + + * file.c (rename_file): Notice when OLDFILE->cmds came from + default.c, and don't try to print ->filename in that case. + +Sun Oct 25 01:48:23 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * remake.c (update_file): Don't process F->also_make here. + (notice_finished_file): Don't process FILE->also_make if no attempt + to update FILE was actually made. + Fixed to call f_mtime directly to refresh their modtimes. + +Sat Oct 24 22:08:59 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * read.c (find_percent): Don't increment P again after skipping + an escaped %. + + * expand.c (variable_expand): In call to patsubst_expand, don't + find `%'s ourselves; let that function do it. + + * read.c (read_makefile: record_waiting_files): Don't call + record_files if FILENAMES is nil. + (read_makefile): All alternatives in the parsing, except for rule + lines, fall through to the end of the loop. At the end of the + loop, do record_waiting_files so we notice later spurious cmds. + +Fri Oct 23 15:57:37 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * variable.c (define_automatic_variables): Free old value of SHELL + before replacing it. + +Thu Oct 15 18:57:56 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * compatMakefile (.c.o): Add -I$(srcdir)/glob to flags. + + * dir.c (open_dirstream): Cast return value to __ptr_t. + + * default.c (default_variables: "GET") [_IBMR2]: Use USG defn. + + * make.h (MAXPATHLEN): Moved out of #ifndef POSIX. + (GET_PATH_MAX): Moved from #ifdef POSIX to #ifdef PATH_MAX #else. + Define as (get_path_max ()). + [! PATH_MAX] (NEED_GET_PATH_MAX): Define. + [! PATH_MAX] (get_path_max): Declare fn. + * misc.c [NEED_GET_PATH_MAX] (get_path_max): New function. + +Mon Oct 12 13:34:45 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.62.21. + + * job.c (sys_siglist): Only declare #ifndef SYS_SIGLIST_DECLARED. + * make.h [! HAVE_SYS_SIGLIST && HAVE__SYS_SIGLIST]: #define + SYS_SIGLIST_DECLARED. + + * dir.c (file_impossible): When initializing DIR->contents, set + DIR->contents->dirstream to nil. + + * compatMakefile (GLOB): Define new variable. + (objs): Use it, rather than glob/libglob.a explicitly. + + * read.c (parse_file_seq): When stripping "./", handle cases like + ".///foo" and "./////". + * file.c (lookup_file, enter_file): Likewise. + +Sun Oct 11 17:00:35 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * dir.c (struct dirstream, {open,read}_dirstream): New + data type and functions to read a directory sequentially. + (init_dir): New function to hook it into glob. + * main.c (main): Call init_dir. + + * compatMakefile (objs): Added glob/libglob.a. + * configure.in: Remove code to test for glob. + +Fri Oct 9 12:08:30 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * read.c (record_files): Generalized test for NAME pointing + somewhere into F->name. + + * variable.c (define_variable_in_set): Free old value when replacing. + + * read.c (do_define): Free the linebuffer before returning. + (record_files): When clearing .SUFFIXES deps, free their data. + (multi_glob): Free OLD and its data when replacing it with results + of glob run. + + * commands.c (set_file_variables): Use alloca in place of xmalloc + for temp space for $^, $?, et al. + + * dir.c (struct directory): New member `contents' replaces `files' + and `dirstream'. + (struct directory_contents): New type. + (directories_contents): New hash table. + (dir_struct_file_exists_p): Take a struct directory_contents. + (dir_file_exists_p): Pass it the `contents' member of the dir found. + (dir_struct_file_exists_p): Renamed to dir_contents_file_exists_p; + made static. Return 0 if DIR is nil (meaning it couldn't be stat'd). + (dir_file_exists_p, find_directory): Change all callers. + (file_impossible): Use DIR->contents, initializing it if nil. + (print_dir_data_base): Use DIR->contents, and print out device and + inode numbers with each directory. + + * Changes for performance win from John Gilmore : + * dir.c (DIRECTORY_BUCKETS): Increase to 199. + (DIRFILE_BUCKETS): Decrease to 107. + (find_directory): Allocate and zero a multiple of + sizeof (struct dirfile *), not of sizeof (struct dirfile). + (dir_struct_file_exists_p): New function, nearly all code from + dir_file_exists_p. + (dir_file_exists_p): Just call find_directory+dir_struct_file_exists_p. + * vpath.c (selective_vpath_search): Remove redundant + dir_file_exists_p call. + + * configure.in: Comment out glob check; always use our code. + +Fri Oct 2 19:41:20 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * make.h [! HAVE_SYS_SIGLIST && HAVE__SYS_SIGLIST]: #define + HAVE_SYS_SIGLIST; after doing #define sys_siglist _sys_siglist, we + do have it. + +Wed Sep 30 19:21:01 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * main.c (main): Don't do -w automatically if -s. + +Tue Sep 29 21:07:55 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * main.c (printed_version): Move variable inside print_version. + (print_version): Return immediately if printed_version is set. + (die): Don't test printed_version here. + (decode_switches): Under -v, do print_version before giving usage. + (DESCRIPTION_COLUMN): New macro. + (decode_switches): Use it when printing the usage message. + Leave at least two spaces between options and their descriptions. + +Fri Sep 25 13:12:42 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.62.20. + +Wed Sep 16 16:15:22 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * read.c (read_makefile): Save errno value from trying to open + FILENAME, and restore it before erring; otherwise we get the errno + value from the last elt of the search path. + +Tue Sep 15 15:12:47 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * main.c (long_option_aliases): Add --stop for -S. + + * read.c (word1eq): Do strncmp before dereferencing someplace that + may be out in space. + +Wed Sep 9 15:50:41 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * remake.c (notice_finished_file): If all the command lines were + recursive, don't do the touching. + + * job.c (start_job_command): Don't check for + here. + * commands.c (chop_commands): Do it here instead. + + * default.c (default_terminal_rules): Prepend + to cmds for RCS. + +Wed Sep 2 17:53:08 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * compatMakefile (objs): Include $(ALLOCA). + + * make.h [CRAY]: Move #define signal bsdsignal to before #includes. + +Thu Aug 27 17:45:43 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * read.c (default_include_directories): Add INCLUDEDIR first. + * compatMakefile (includedir): Define. + (defines): Add -D for INCLUDEDIR="$(includedir)". + + * read.c (read_makefile): Grok multiple files in `include'; + globbing too. + + * remake.c (library_search): New function. + (library_file_mtime): Remove function. + (f_mtime): Use library_search instead of library_file_mtime. + * compatMakefile (libdir): Define. + (defines): Add -D for LIBDIR="$(libdir)". + * make.texinfo (Libraries/Search): Document change. + + * file.c (rename_file): Fix file_hash_enter call with missing arg. + +Wed Aug 26 17:10:46 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.62.19. + + * main.c (main): Set command_state to cs_finished for temp files + made for stdin makefiles. + + * main.c (decode_switches): Don't tell getopt to return non-option + args in order. + Ignore an argument of `-'. + +Thu Aug 20 13:36:04 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * job.c (start_job_command): If (touch_flag && !RECURSIVE), ignore + the command line and go to the next. + (notice_finished_file): Under -t, touch FILE. + * remake.c (remake_file): Don't touch it here. + +Wed Aug 19 16:06:09 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * function.c (pattern_matches): Use temporary for strlen (WORD) + instead of two function calls. + + * compatMakefile (LOAD_AVG): Remove variable and comments. + +Tue Aug 18 14:58:58 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * make.texinfo (Running): Node renamed to `make Invocation'. + +Fri Aug 14 12:27:10 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * arscan.c (ar_name_equal): Don't compare [MAX-3..MAX] if + NAMELEN != MEMLEN. + +Thu Aug 13 17:50:09 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.62.18. + + * main.c: Don't #include ; make.h already does. + +Mon Aug 10 17:03:01 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * implicit.c (pattern_search): Fixed copying of suffix when building + also_make elts. + + * function.c (expand_function: `shell'): Make sure BUFFER is + null-terminated before replacing newlines. + + * compatMakefile (mandir): Use man$(manext), not always manl. + +Sun Aug 2 01:42:50 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * rule.c (new_pattern_rule): Not static. + * rule.h: Declare it. + + * file.c (file_hash_enter): New function, most code from rename_file. + (rename_file): Call it. + * file.h (file_hash_enter): Declare it. + + * dep.h: Doc fix. + +Thu Jul 30 15:40:48 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * main.c (decode_switches): Handle usage_and_exit when building + long options vector. + + * default.c (default_terminal_rules): Make RCS rules use $(CHECKOUT,v). + (default_variables): Define CHECKOUT,v (hairy). + + * make.h [!HAVE_SYS_SIGLIST && HAVE__SYS_SIGLIST]: #define + sys_siglist to _sys_siglist. + +Sun Jul 26 16:56:32 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * NEWS: Add header and tail copyright info like Emacs NEWS. + + * make.h [ANSI_STRING]: Don't #define index, rindex, bcmp, bzero, + bcopy if already #define'd. + [STDC_HEADERS] (qsort, abort, exit): Declare here. + [! __GNU_LIBRARY__ && !POSIX]: Not here. + + * make.h [_AIX]: #pragma alloca first thing. + + * job.c (start_waiting_job): Set the command_state to cs_running + when we queue a job on waiting_jobs. + +Fri Jul 24 02:16:28 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * variable.c (define_automatic_variables): Use "" instead of nil + for empty value. + +Thu Jul 23 22:31:18 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.62.17. + + * main.c (struct command_switch.type): Add alternative usage_and_exit. + (command_switches): Add -h/--help. + +Thu Jul 16 14:27:50 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * GNUmakefile (make-$(version).tar.Z): Include NEWS, not CHANGES. + * README.template: Mention NEWS. + * CHANGES: Renamed to NEWS. + + * main.c [! STDC_HEADERS] [sun]: Don't declare exit. + +Tue Jul 14 18:48:41 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * main.c (main): Set -o files' command_states to cs_finished. + + * rule.c (count_implicit_rule_limits): Decrement num_pattern_rules + when tossing a rule. + + * main.c (main): Use alloca only in simple local var assignment, + for braindead SGI compiler. + + * rule.c (print_rule_data_base): Barf if num_pattern_rules is + inconsistent with the number computed when listing them. + +Mon Jul 13 17:51:53 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * commands.c (set_file_variables): For $? and $^ elts that are archive + member refs, use member name only. + +Fri Jul 10 00:05:04 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * variable.h (struct variable.export): Add new alternative v_ifset. + * variable.c (target_environment): Check for it. + (define_automatic_variables): Set it for MAKEFILES. + +Thu Jul 9 21:24:28 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * compatMakefile (objs): Remove getloadavg.o; $(extras) gets it. + (remote.o): Use $(srcdir)/remote.c, not $remote.c<. + (distclean, mostlyclean): New targets. + +Tue Jul 7 19:12:49 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.62.16. + + * compatMakefile (config.status): Remove rule. + + * job.c (start_waiting_job): Free C after using C->file, not before. + +Sat Jul 4 20:51:49 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * commands.c, job.c, main.c, make.h, remote-cstms.c: Use #ifdef + HAVE_* instead of #ifndef *_MISSING. + * configure.in: Use AC_HAVE_FUNCS instead of AC_MISSING_FUNCS (gone). + +Thu Jul 2 18:47:52 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * main.c (main): makelevel>0 or -C implies -w. + +Tue Jun 30 20:50:17 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * file.c, job.c, function.c: Don't #include . + make.h: Do it here instead. + * arscan.c (ar_member_touch): Don't declare errno. + +Thu Jun 25 17:06:55 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * GNUmakefile (make-$(version).tar.Z): Depend on INSTALL, configure.in. + + * remake.c (update_file): If commands or deps are running after + update_file_1 returns, break out of the :: rule (->prev) loop and + just return. + + * job.c (job_next_command): New function; code from start_job. + (start_job_command): Renamed from start_job. Call job_next_command + and recurse for empty command lines and -n. + (start_waiting_job): Call start_job_command, not start_job. + (new_job): Call job_next_command to prime the child structure, and + then call start_waiting_job. + (reap_children): Use job_next_command and start_job_command. + (start_waiting_job): Call start_remote_job_p here, and store its + result in C->remote. If zero, check the load average and + maybe put C on waiting_jobs. + (start_job_command): Test CHILD->remote rather than calling + start_remote_job_p. Don't do load avg checking at all here. + + * main.c (main): Don't handle SIGILL, SIGIOT, SIGEMT, SIGBUS, + SIGSEGV, SIGFPE or SIGTRAP. + + * compatMakefile (glob/libglob.a): Don't pass srcdir to sub-make. + configure will set it in glob/Makefile. + +Wed Jun 24 19:40:34 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * dir.c [DIRENT] (direct): Don't define to dirent. + [! DIRENT] (direct): Define to dirent. + (dir_file_exists_p): Use struct dirent instead of struct direct. + + * make.h (getcwd): No space between macro and ( for args! + + * job.c (start_job): Don't put the job on waiting_jobs if + job_slots_used==0. + + * make.texinfo (Missing): Shortened title. + +Tue Jun 23 18:42:21 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * file.c (remove_intermediates): Print "rm" commands under -n. + +Mon Jun 22 16:20:02 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.62.15. + +Fri Jun 19 16:20:26 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * arscan.c [M_UNIX]: #undef M_XENIX. + +Wed Jun 17 17:59:28 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * default.c (default_terminal_rules): Put @ prefix on RCS cmds. + +Tue Jun 16 19:24:17 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * compatMakefile (getloadavg.o): Removed special rule. + (CFLAGS): Don't include $(defines). + (.c.o): Define suffix rule. + (glob/libglob.a): Pass CPPFLAGS=$(defines) to submake. + (GETOPT_SRC, srcs, tagsrcs): Prefix files with $(srcdir)/. + + * arscan.c (ar_name_equal): Moved local vars inside #if'd block. + + * make.h (max): Removed. + * expand.c (variable_buffer_output): Don't use it. + + * compatMakefile (INSTALL): Define. + (Makefile): New rule to make from Makefile.in. + (srcdir): Define. + (VPATH): Define. + (getloadavg.o, remote.o): Use autoconf $foo< hack. + + * commands.c (fatal_error_signal): Removed return. + +Mon Jun 15 17:42:51 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.62.14. + + * make.texinfo (Summary): New node. + (Special Targets): Mention .EXPORT_ALL_VARIABLES here. + + * variable.c (max): Moved to make.h. + + * compatMakefile (objs, srcs): Added ar & arscan. + + * job.c (start_waiting_job): New function, 2nd half of new_job. + (new_job): Call it. + (start_waiting_jobs): New function. + * remake.c (update_goal_chain): Call start_waiting_jobs at the top + of the main loop. + * compatMakefile (objs, srcs): Removed load, added getloadavg. + +Fri Jun 12 19:33:16 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * job.c (load_too_high): New function. Uses getloadavg. + (waiting_jobs): New variable. + (start_job): Don't call wait_to_start_job. Instead, if + load_too_high returns nonzero, add the child to the + `waiting_jobs' chain and return without starting the job. + +Thu Jun 11 00:05:28 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * expand.c (variable_buffer_output): Made global again. + * variable.h: And declare it. + + * arscan.c (PORTAR): Define for all systems if PORT5AR is not defined. + (AR_NAMELEN, AR_TRAILING_SLASH): Removed. + (ar_scan): Don't use it. Don't #ifdef AR_TRAILING_SLASH; just look + for a slash in the archive at run time. + (ar_name_equal): Rewrote .o hacking to not use AR_NAMELEN, and to + cope with trailing-slash and non-trailing-slash archives. + + * main.c (main) [! SETVBUF_REVERSED]: Test this instead of USGr3 et al. + [SETVBUF_REVERSED]: Always allocate a buffer ourselves. + + * load.c (load_average) [sgi]: Use sysmp call. + + * compatMakefile (INSTALL_DATA, INSTALL_PROGRAM): Define. + ($(bindir)/$(instname), $(mandir)/make.$(manext)): Use them. + + * make.h [HAVE_VFORK_H]: #include . + (vfork, VFORK_NAME): Don't define. + * job.c (start_job): Use "vfork" in place of VFORK_NAME. + + * make.h [HAVE_LIMITS_H, HAVE_SYS_PARAM_H]: If #define'd, #include + the each file. Rearranged PATH_MAX hacking. + * job.c: Rearranged NGROUPS_MAX hacking. + + * remake.c (fstat, time): Don't declare. + + * compatMakefile (defines): Value is @DEFS@. + (LOADLIBES): Value is @LIBS@. + (extras): Value is @LIBOBJS@. + (ARCHIVES, ARCHIVES_SRC, ALLOCASRC): Removed. + * arscan.c, ar.c: Surround body with #ifndef NO_ARCHIVES. + + * misc.c [! HAVE_UNISTD_H]: Test instead of !POSIX to decl get*id. + + * make.h [GETCWD_MISSING]: Test instead of !USG && !POSIX et al. + (getcwd): Just declare if present. If not, declare as a macro + using getwd, and declare getwd. + [PATH_MAX] (GET_PATH_MAX): #define to PATH_MAX. + * main.c (main, log_working_directory): Use getcwd instead of getwd. + + * main.c (main) [SETLINEBUF_MISSING]: Test this instead of USG. + + * make.h (SIGHANDLER, SIGNAL): Removed. + (RETSIGTYPE): Define if not #define'd. + * main.c (main): Use signal in place of SIGNAL. + + * main.c [SYS_SIGLIST_MISSING]: Test instead of USG. + + * job.c (search_path) [GETGROUPS_MISSING]: Test instead of USG. + [HAVE_UNISTD_H]: Test instead of POSIX to not decl getgroups. + + * main.c [! HAVE_UNISTD_H]: Test instead of !POSIX to decl chdir. + [! STDC_HEADERS]: Test instead of !POSIX to decl exit & atof. + + * job.c (child_handler), commands.c (fatal_error_signal): Return + RETSIGTYPE instead of int. + * main.c (main): Declare fatal_error_signal and child_handler here + to return RETSIGTYPE; removed top-level decl of former. + + * commands.c (fatal_error_signal), job.c (unblock_sigs, start_job), + main.c [SIGSETMASK_MISSING]: Test this instead of USG. + +Wed Jun 10 22:06:13 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * job.c [HAVE_WAITPID]: Test this instead of USG. + [! HAVE_UNISTD_H]: Test this instead of !POSIX to declare misc fns. + (GID_T): Don't #define. + (search_path): Use gid_t instead of GID_T. + [GETDTABLESIZE_MISSING, SYS_SIGLIST_MISSING, DUP2_MISSING]: Test + these individually instead of USG for all. + * make.h (ctime): Don't declare. #include time.h instead. + [HAVE_UNISTD_H]: #include and #define POSIX #ifdef + _POSIX_VERSION. + * dir.c [__GNU_LIBRARY__] (D_NAMLEN): Define to use d_namlen member. + * make.h [NEED_MEMORY_H]: Only include memory.h #ifdef this. + + * arscan.c: Removed #ifdef mess about string.h et al. + Just #include make.h instead. + * make.h (fstat, atol): Declare. + + * commands.c (fatal_error_signal): Don't use sigmask to check for + propagated signals; use ||s instead. + (PROPAGATED_SIGNAL_MASK): Removed. + (fatal_error_signal) [POSIX]: Use sigprocmask in place of sigsetmask. + + * variable.c (variable_buffer, variable_buffer_length, + initialize_variable_output, variable_output): Moved to expand.c; + made all static. + (struct output_state, save_variable_output, + restore_variable_output): Removed. + * expand.c (initialize_variable_output): Put a NUL at the beginning + of the new buffer after allocating it. + (allocated_variable_expand_for_file): Don't use + {save,restore}_variable_output. Do it by hand instead, keeping + state on the stack instead of malloc'ing it. + (allocated_variable_expand): Removed. + * variable.h (allocated_variable_expand): Define here as macro. + (variable_buffer_output, initialize_variable_output, + save_variable_output, restore_variable_output): Removed decls. + + * read.c (conditional_line): For an if cmd, if any elt of the + conditionals stack is ignoring, just push a new level that ignores + and return 1; don't evaluate the condition. + +Thu Jun 4 21:01:20 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * main.c (main): Put #ifdef's around frobbing SIGSYS and SIGBUS. + + * job.c (getdtablesize): Don't declare or #define if already #define'd. + +Wed Jun 3 23:42:36 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * file.c (snap_deps): If `.EXPORT_ALL_VARIABLES' is a target, set + export_all_variables. + * make.texinfo (Variables/Recursion): Document .EXPORT_ALL_VARIABLES. + +Tue Jun 2 21:08:35 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.62.13. + + * commands.c (set_file_variables): Calculate length for ^D and ?D + individually, making sure to give them at least enough space for "./". + + * make.h [CRAY]: #define signal to bsdsignal. + + * default.c (default_variables) [CRAY]: Define PC, SEGLDR, + CF77PPFLAGS, CF77PP, CFT, CF, and FC. + + * arscan.c (AR_HDR_SIZE): Define to sizeof (struct ar_hdr), if it + wasn't defined by . + +Thu May 28 00:56:53 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.62.12. + +Tue May 26 01:26:30 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * rule.c (new_pattern_rule): Initialize LASTRULE to nil, not + pattern_rules. + +Mon May 25 19:02:15 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * main.c (decode_switches): Initialize all the long_option elt members. + +Thu May 21 16:34:24 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * make.texinfo (Text Functions): Correct filter-out description. + +Tue May 19 20:50:01 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * compatMakefile (realclean): Don't remove backup files. + + * main.c (decode_switches): Allocate ARGC+1 elts in `other_args'. + +Sun May 17 16:38:48 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * Version 3.62.11. + +Thu May 14 16:42:33 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * job.c (reap_children): Don't die if wait returns EINTR. + +Wed May 13 18:28:25 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * job.c (reap_children): Always run the next command for a + successful target. If we are going to die, we don't want to leave + the target partially made. + +Tue May 12 00:39:19 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * job.c (construct_command_argv_internal): After loop, if we only + have one word, check it for being a shell command. + + * main.c (decode_switches): Allocate ARGC slots in other_args to + begin with, so we never need to worry about growing it. + If we get a non-option arg and POSIXLY_CORRECT is in the + environment, break out of the loop. After the loop, add all remaining + args to other_args list. + + * main.c (decode_switches): For positive_int and floating switches + when optarg is nil, use next arg if it looks right (start with a + digit, or maybe decimal point for floating). + + * variable.c (define_automatic_variables): Always set SHELL to + default if it comes from the environment. Set its export bit. + * make.texinfo (Environment): Document change. + +Mon May 11 00:32:46 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * Version 3.62.10. + + * compatMakefile (tags, TAGS): Use vars for cmds. + (ETAGS, CTAGS): Define. + + * main.c (decode_switches): If a switches elt has a nil long_name, + make the long option name elt be "". + Fixed loop to not ignore all the options. + + * make.texinfo (Option Summary): Added long options. + + * main.c (switches): Changed -m's description to "-b". + (decode_switches): When printing the usage message, don't print + switches whose descriptions start with -. + When constructing the list of names for switch -C, search the + switches vector for switches whose descriptions are "-C". + + * main.c (switches): Call -S --no-keep-going, not --dont-keep-going. + Call -I --include-dir, not --include-path. + (long_option_aliases): Added --new == -W, --assume-new == -W, + --assume-old == -o, --max-load == -l, --dry-run == -n, --recon == -n, + --makefile == -f. + + * main.c (switches): Removed bogus "silent" elt. + (long_option_aliases): Define new var. + (decode_switches): Add long_option_aliases onto the end of the long + options vector created for getopt_long. + Look through long_option_aliases for extra names to list + in usage message. + +Sat May 9 00:21:05 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * main.c (log_working_directory): Fixed to properly not print the + leaving message when we haven't printed the entering message. + +Fri May 8 21:55:35 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * main.c (struct command_switch): Added elts `long_name', + `description', and `argdesc'. + (switches): Added initializers for new members. + (decode_switches): Rewritten to use getopt_long. + * compatMakefile (GETOPT, GETOPT_SRC): Define. + (objs, srcs): Include them. + + * job.c (child_died): Renamed to dead_children; made static. + (child_handler): Increment dead_children instead of setting child_died. + (reap_children): Decrement dead_children instead of clearing + child_died. The point of all this is to avoid printing "waiting + for unfinished jobs" when we don't actually need to block. + This happened when multiple SIGCHLDs before reap_children was called. + + * job.c (reap_children): If ERR is set, so we don't call start_job + on the child being reaped, instead set its command_state to + cs_finished. + (reap_children, child_handler, new_job): I added several + debugging printf's while fixing this. I left them in if (debug_flag) + because they may be useful for debugging this stuff again. + +Wed May 6 22:02:37 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * read.c (read_makefile): v_export is not 1. + +Mon May 4 17:27:37 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.62.9. + + * variable.c (export_all_variables): New variable. + (target_environment): Export variables whose `export' member is + v_default if export_all_variables is set and their names are benign. + * variable.h: Declare export_all_variables. + * read.c (read_makefile): If export or unexport is given with no + args, set or clear export_all_variables, respectively. + + * variable.c (target_environment): Exclude MAKELEVEL in the loop, + so it isn't duplicated when we add it at the end. + +Sun May 3 17:44:48 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.62.8. + + * variable.h (struct variable): Added new member `export'. + * variable.c (define_variable_in_set): Initialize it to v_default. + (target_environment): Don't check for .NOEXPORT. + Export variables whose `export' member is v_default and that would + have been exported under .NOEXPORT, and variables whose `export' + member is v_export. + (try_variable_definition): Return the variable defined. + * variable.h (try_variable_definition): Changed decl. + * read.c (read_makefile): Recognize `export' and `unexport' directives. + +Fri May 1 11:39:38 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * main.c (main) [POSIX]: Reversed args to sigaddset. + +Thu Apr 30 17:33:32 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * job.c [POSIX || !USG] (unblock_sigs): New fn. + (start_job): Block signals before forking. + (new_job): Unblock signals after putting the new child on the chain. + * main.c (main) [POSIX]: Use sigset_t fatal_signal_set instead of + int fatal_signal_mask. + + * load.c [sgi] (LDAV_CVT): Define. + +Wed Apr 29 17:15:59 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * Version 3.62.7. + + * load.c (load_average) [sgi]: Clear the high bit of the address + from the symbol table before looking it up in kmem. + + * misc.c (fatal, makefile_fatal): Put *** in fatal error messages. + (remake_file): No longer needed in message here. + + * main.c (die): Call reap_children with BLOCK==1. + +Tue Apr 28 20:44:35 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * rule.c (freerule): Don't set LASTRULE->next if LASTRULE is nil. + +Sun Apr 26 15:09:51 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * rule.c (count_implicit_rule_limits): Initialize LASTRULE to nil, + not to head of chain. Extract next ptr before we might do + freerule, and use that for next iteration. + (freerule): Still do next ptr frobbing if LASTRULE is nil. + +Tue Apr 21 03:16:29 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * job.c (child_error): Removed extra %s from error msg format. + + * Version 3.62.6. + + * job.c (reap_children): Don't start later commands in a sequence + if ERR is nonzero. + + * job.c (new_job): Always call reap_children with BLOCK==0 first thing. + + * job.c (reap_children): New function; work that used to be done in + child_handler. + (child_died): New global var. + (child_handler): Now just sets child_died. + (wait_for_children): Removed. + (unknown_children_possible, block_signals, unblock_signals, + push_signals_blocked_p, pop_signals_blocked_p): Removed. + (child_execute_job): Removed call to unblock_signals. + (new_job): Removed calls to push_signals_blocked_p and + pop_signals_blocked_p. + * job.h: Declare reap_children, not wait_for_children. + * commands.c (fatal_error_signal), job.c (new_job), + load.c [LDAV_BASED] (wait_to_start_job), main.c (die), + remake.c (update_goal_chain), function.c (expand_function: `shell'): + Changed wait_for_children calls to reap_children. + Some needed to be loops to wait for all children to die. + * commands.c (fatal_error_signal), main.c (main, + log_working_directory), function.c (expand_function): Removed calls + to push_signals_blocked_p and pop_signals_blocked_p. + * job.h: Removed decls. + + * job.h: Added copyright notice. + +Wed Apr 15 02:02:40 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * job.c (child_error): No *** for ignored error. + +Tue Apr 14 18:31:21 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * implicit.c (DEBUGP2): Use do ... while (0) instead of if ... else to + avoid compiler warnings. + + * read.c (parse_file_seq): Don't remove ./ when it is followed by a + blank. + +Mon Apr 13 21:56:15 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * make.h (DEBUGPR): Use do ... while (0) instead of if ... else to + avoid compiler warnings. + + * remake.c (notice_finished_file): Run file_mtime on the also_make + files, so vpath_search can happen. + + * GNUmakefile (tests): Use perl test suite from csa@sw.stratus.com. + (alpha-files): Include test suite tar file. + +Fri Apr 3 00:50:13 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 3.62.5. + +Wed Apr 1 05:31:18 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * remake.c (update_file, update_file_1): Do check_renamed on elts + of dep chains when traversing them. Something unrelated might have + renamed one of the files the dep chain points to. + + * file.c (rename_file): If FILE has been renamed, follow its + `renamed' ptr, so we get to the final real FILE. Using the renamed + ones loses because they are not in the hash table, so the removal + code loops infinitely. + + * read.c (read_all_makefiles): Clobber null terminator into + MAKEFILES expansion, so string passed to read_makefile is properly + terminated. + +Mon Mar 30 20:18:02 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * commands.c (set_file_variables): $* for archive member with + explicit cmds is stem of member, not of whole `lib(member)'. + +Thu Mar 26 15:24:38 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * Version 3.62.4. + +Tue Mar 24 05:20:51 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * rule.c (new_pattern_rule): Rules are identical only if all their + targets match (regardless of order). + +Wed Mar 11 13:49:54 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * remake.c (remake_file): Changed error "no way to make" to "no + rule to make". Fiat Hugh. + + * make.texinfo (Last Resort): Describe %:: rules and new .DEFAULT + behavior. + + * remake.c (update_file_1): Only use .DEFAULT cmds if FILE is not a + target. + +Tue Mar 10 18:13:13 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * remote-stub.c, remote-cstms.c (start_remote_job): Take new arg, + environment to pass to child. + * job.c (start_job): Pass it. + +Mon Mar 9 19:00:11 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * file.c (enter_file): Also strip ./s here, to get command-line + target names. + + * remote-cstms.c: Add comment telling people to leave me alone. + + * compatMakefile (manpage install): Remove target before copying. + +Tue Mar 3 18:43:21 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * make.texinfo (Missing): Renamed to "Incompatibilities and ...". + Added paragraph describing $? incompatibility with Unix and POSIX.2. + +Sun Mar 1 15:50:54 1992 Roland McGrath (roland@nutrimat.gnu.ai.mit.edu) + + * function.c (expand_function: `shell'): Don't declare fork or pipe. + Use vfork instead of fork. + +Tue Feb 25 22:05:32 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * make.texinfo (Chained Rules): Clarify .PRECIOUS to save + intermediate files. + + * load.c [sun] (LDAV_CVT): Define to divide by FSCALE. + +Sun Feb 16 02:05:16 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * Version 3.62.3. + +Sat Feb 15 17:12:20 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * compatMakefile (makeinfo): Use emacs batch-texinfo-format fn. + +Fri Feb 14 00:11:55 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * read.c (read_makefile): Correctly handle define & endef in ifdefs. + + * read.c (record_files): Pass arg for %s in error msg. + + * main.c (main) [__IBMR2, POSIX]: Use correct (a la USGr3) setvbuf + call. + +Wed Feb 12 12:07:39 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * make.texinfo (Libraries/Search): Say it does /usr/local/lib too. + +Sun Feb 9 23:06:24 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * read.c (read_makefile): Check for extraneous `endef' when ignoring. + +Thu Feb 6 16:15:48 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 3.62.2. + +Tue Feb 4 20:04:46 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * job.c (construct_command_argv_internal): Correctly ignore + whitespace after backslash-NL. + +Fri Jan 31 18:30:05 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * compatMakefile: Ignore errors from chgrp and chmod when installing. + +Wed Jan 29 18:13:30 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * main.c (main): When setting MAKELEVEL in the env to re-exec, + allocate space so as not to clobber past the end of the old string. + + * make.h [HAVE_ALLOCA_H]: Include + * compatMakefile (defines): Document HAVE_ALLOCA_H. + +Mon Jan 20 13:40:05 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * make.h [VFORK_MISSING]: Use fork instead. + * compatMakefile (defines): Document same. + + * job.c (construct_command_argv_internal): Don't create an empty + arg if backslash-NL is at beginning of word. + +Sun Jan 19 16:26:53 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * main.c [DGUX]: Call setvbuf as for USGr3. + + * job.c (construct_command_argv_internal): Notice correctly that + backslash-NL is the end of the arg (because it is replaced with a + space). + +Thu Jan 16 18:42:38 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * job.c (construct_command_argv_internal): If SHELL is nil, set it + to default_shell before proceeding. + + * make.h [sgi]: No alloca.h, after all. + +Wed Jan 15 12:30:04 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * read.c (multi_glob): Cons up the chain of the results of glob + from back to front, so it comes out in forward order. + + * job.c (construct_command_argv_internal): Don't eat char following + backslash-NL. + +Mon Jan 13 19:16:56 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * Version 3.62.1. + + * default.c (default_variables) [ultrix]: GET=get, like USG. + + * job.c (construct_command_argv_internal): Remove tabs following + backslash-NL combos in the input line, so they don't show up when + that line is printed. + + * read.c (read_makefile): Don't collapse_continuations the line on + input; do it on the copy we do remove_comments on. + For rule lines, collapse_continuations the line after chopping + ";cmds" off the end, so we don't eat conts in the cmds. + Give error for ";cmds" with no rule. + * job.c (construct_command_argv_internal): Eat backslash-NL combos + when constructing the line to recurse on for slow, too. + +Sat Jan 11 02:20:27 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * file.c (enter_file): Don't strip leading `./'s. + * read.c (parse_file_seq): Take new arg STRIP; if nonzero, do it here. + * default.c (set_default_suffixes), function.c (string_glob), + read.c (read_makefile), rule.c (install_pattern_rule): Change callers. + + * default.c (default_variables) [_IBMR2]: FC=xlf + + * job.c (construct_command_argv_internal): Turn backslash-NL and + following whitespace into a single space, rather than just eating + the backslash. + + * make.texinfo (Copying): @include gpl.texinfo, rather than + duplicating its contents. + +Fri Nov 8 20:06:03 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * job.c (construct_command_argv_internal): Make sure not to bother + processing an empty line. + + * Version 3.62.0. + + * job.c (construct_command_argv_internal): Always recurse for slow; + simple case didn't handle finding newlines. + +Tue Nov 5 18:51:10 1991 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * job.c (construct_command_argv_internal): Set RESTP properly when + slow; don't \ify past a newline. + +Fri Nov 1 19:34:28 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * make.h [sgi]: #include . + + + +See ChangeLog.1 for earlier changes. diff --git a/src/mkutil/make/INSTALL b/src/mkutil/make/INSTALL index bca44d04..a2503d85 100644 --- a/src/mkutil/make/INSTALL +++ b/src/mkutil/make/INSTALL @@ -1,187 +1,187 @@ -Basic Installation -================== - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, a file -`config.cache' that saves the results of its tests to speed up -reconfiguring, and a file `config.log' containing compiler output -(useful mainly for debugging `configure'). - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If at some point `config.cache' -contains results you don't want to keep, you may remove or edit it. - - The file `configure.in' is used to create `configure' by a program -called `autoconf'. You only need `configure.in' if you want to change -it or regenerate `configure' using a newer version of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. - - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - If you're building GNU make on a system which does not already have - a `make', you can use the build.sh shell script to compile. Run - `sh ./build.sh'. This should compile the program in the current - directory. Then you will have a Make program that you can use for - `make install', or whatever else. - - 3. Optionally, type `./make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. You can give `configure' -initial values for variables by setting them in the environment. Using -a Bourne-compatible shell, you can do that on the command line like -this: - CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure - -Or on systems that have the `env' program, you can do it like this: - env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - If you have to use a `make' that does not supports the `VPATH' -variable, you have to compile the package for one architecture at a time -in the source code directory. After you have installed the package for -one architecture, use `make distclean' before reconfiguring for another -architecture. - -Installation Names -================== - - By default, `make install' will install the package's files in -`/usr/local/bin', `/usr/local/man', etc. You can specify an -installation prefix other than `/usr/local' by giving `configure' the -option `--prefix=PATH'. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PATH', the package will use -PATH as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=PATH' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Specifying the System Type -========================== - - There may be some features `configure' can not figure out -automatically, but needs to determine by the type of host the package -will run on. Usually `configure' can figure that out, but if it prints -a message saying it can not guess the host type, give it the -`--host=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name with three fields: - CPU-COMPANY-SYSTEM - -See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the host type. - - If you are building compiler tools for cross-compiling, you can also -use the `--target=TYPE' option to select the type of system they will -produce code for and the `--build=TYPE' option to select the type of -system on which you are compiling the package. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Operation Controls -================== - - `configure' recognizes the following options to control how it -operates. - -`--cache-file=FILE' - Use and save the results of the tests in FILE instead of - `./config.cache'. Set FILE to `/dev/null' to disable caching, for - debugging `configure'. - -`--help' - Print a summary of the options to `configure', and exit. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`--version' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`configure' also accepts some other, not widely useful, options. - +Basic Installation +================== + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, a file +`config.cache' that saves the results of its tests to speed up +reconfiguring, and a file `config.log' containing compiler output +(useful mainly for debugging `configure'). + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If at some point `config.cache' +contains results you don't want to keep, you may remove or edit it. + + The file `configure.in' is used to create `configure' by a program +called `autoconf'. You only need `configure.in' if you want to change +it or regenerate `configure' using a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + If you're building GNU make on a system which does not already have + a `make', you can use the build.sh shell script to compile. Run + `sh ./build.sh'. This should compile the program in the current + directory. Then you will have a Make program that you can use for + `make install', or whatever else. + + 3. Optionally, type `./make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. You can give `configure' +initial values for variables by setting them in the environment. Using +a Bourne-compatible shell, you can do that on the command line like +this: + CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure + +Or on systems that have the `env' program, you can do it like this: + env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not supports the `VPATH' +variable, you have to compile the package for one architecture at a time +in the source code directory. After you have installed the package for +one architecture, use `make distclean' before reconfiguring for another +architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=PATH' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' can not figure out +automatically, but needs to determine by the type of host the package +will run on. Usually `configure' can figure that out, but if it prints +a message saying it can not guess the host type, give it the +`--host=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name with three fields: + CPU-COMPANY-SYSTEM + +See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the host type. + + If you are building compiler tools for cross-compiling, you can also +use the `--target=TYPE' option to select the type of system they will +produce code for and the `--build=TYPE' option to select the type of +system on which you are compiling the package. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Operation Controls +================== + + `configure' recognizes the following options to control how it +operates. + +`--cache-file=FILE' + Use and save the results of the tests in FILE instead of + `./config.cache'. Set FILE to `/dev/null' to disable caching, for + debugging `configure'. + +`--help' + Print a summary of the options to `configure', and exit. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--version' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`configure' also accepts some other, not widely useful, options. + diff --git a/src/mkutil/make/Makefile.DOS.template b/src/mkutil/make/Makefile.DOS.template index a5a86477..4d898bf7 100644 --- a/src/mkutil/make/Makefile.DOS.template +++ b/src/mkutil/make/Makefile.DOS.template @@ -1,533 +1,533 @@ -# -*-Makefile-*- template for DJGPP -# Makefile.in generated automatically by automake 1.2 from Makefile.am - -# Copyright (C) 1994, 1995-1998, 1999, 2002 Free Software Foundation, Inc. -# This Makefile.DOS is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - - -SHELL = /bin/sh - -srcdir = . -VPATH = $(srcdir) -# $DJDIR is defined automatically by DJGPP to point -# to the root of the DJGPP installation tree. -prefix = /dev/env/DJDIR -exec_prefix = ${prefix} - -bindir = /bin -datadir = /share -libdir = /lib -infodir = /info -mandir = /man -includedir = /include -oldincludedir = c:/djgpp/include - -DESTDIR = /dev/env/DJDIR - -pkgdatadir = $(datadir)/make -pkglibdir = $(libdir)/make -pkgincludedir = $(includedir)/make -localedir = $(datadir)/locale - -INSTALL = ${exec_prefix}/bin/ginstall -c -INSTALL_PROGRAM = ${exec_prefix}/bin/ginstall -c -INSTALL_DATA = ${exec_prefix}/bin/ginstall -c -m 644 -INSTALL_SCRIPT = ${exec_prefix}/bin/ginstall -c -transform = s,x,x, - -# This will fail even if they don't have a Unix-like shell (stock DOS -# shell doesn't know about `false'). The only difference is that they -# get "Error -1" instead of "Error 1". -EXIT_FAIL = false - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -EXEEXT = .exe -OBJEXT = o - -AR = ar -AWK = gawk -CC = gcc -CPP = gcc -E -LIBOBJS = -MAKEINFO = ${exec_prefix}/bin/makeinfo -PACKAGE = make -PERL = perl -RANLIB = ranlib -REMOTE = stub -VERSION = %VERSION% - -AUTOMAKE_OPTIONS = 1.2 - -bin_PROGRAMS = %PROGRAMS%$(EXEEXT) - -make_SOURCES = %SOURCES% -# This should include the glob/ prefix -libglob_a_SOURCES = %GLOB_SOURCES% -make_LDADD = glob/libglob.a - -info_TEXINFOS = make.texinfo -man_MANS = make.1 - -INCLUDES = -I$(srcdir)/glob -DLIBDIR=\"c:/djgpp/lib\" -DINCLUDEDIR=\"c:/djgpp/include\" -DLOCALEDIR=\"$(localedir)\" - -BUILT_SOURCES = README build.sh-in - -EXTRA_DIST = $(BUILT_SOURCES) $(man_MANS) README.customs remote-cstms.c make-stds.texi texinfo.tex SCOPTIONS SMakefile Makefile.ami README.Amiga config.ami amiga.c amiga.h NMakefile README.DOS configh.dos configure.bat makefile.com README.W32 build_w32.bat config.h-W32 subproc.bat make.lnk config.h-vms makefile.vms readme.vms vmsdir.h vmsfunctions.c vmsify.c - -SUBDIRS = glob -mkinstalldirs = ${exec_prefix}/bin/gmkdir -p -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = build.sh -PROGRAMS = $(bin_PROGRAMS) - -MAKE_HOST = i386-pc-msdosdjgpp - - -DEFS = -I. -I$(srcdir) -I. -CPPFLAGS = -DHAVE_CONFIG_H -LDFLAGS = -LIBS = -make_OBJECTS = %OBJECTS% -make_DEPENDENCIES = glob/libglob.a -make_LDFLAGS = -libglob_a_LIBADD = -libglob_a_OBJECTS = %GLOB_OBJECTS% -noinst_LIBRARIES = glob/libglob.a -CFLAGS = -O2 -g -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@ -TEXI2DVI = texi2dvi -TEXINFO_TEX = $(srcdir)/config/texinfo.tex -INFO_DEPS = make.info -DVIS = make.dvi -TEXINFOS = make.texinfo -man1dir = $(mandir)/man1 -MANS = $(man_MANS) - -NROFF = nroff -DIST_COMMON = README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL Makefile.am Makefile.in NEWS acconfig.h aclocal.m4 alloca.c build.sh-in config.h-in configure configure.in getloadavg.c - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = gtar -GZIP = --best -SOURCES = $(make_SOURCES) -OBJECTS = $(make_OBJECTS) -HEADERS = $(wildcard $(srcdir)/*.h) - -default: all - -.SUFFIXES: -.SUFFIXES: .c .dvi .info .o .obj .ps .texinfo .tex - -mostlyclean-hdr: - -clean-hdr: - -distclean-hdr: - -rm -f config.h - -maintainer-clean-hdr: - -mostlyclean-binPROGRAMS: - -clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) - -distclean-binPROGRAMS: - -maintainer-clean-binPROGRAMS: - -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(bindir) - @list='$(bin_PROGRAMS)'; for p in $$list; do if test -f $$p; then echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p | sed '$(transform)'`"; $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p | sed '$(transform)'`; else :; fi; done - -uninstall-binPROGRAMS: - $(NORMAL_UNINSTALL) - list='$(bin_PROGRAMS)'; for p in $$list; do rm -f $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`.exe; done - -.c.o: - $(COMPILE) -c $< - -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) *$(EXEEXT) make.new core - -clean-compile: - -distclean-compile: - -rm -f *.tab.c *_tab.c - -maintainer-clean-compile: - -make$(EXEEXT): $(make_OBJECTS) $(make_DEPENDENCIES) - @command.com /c if exist make del make - @command.com /c if exist make.exe del make.exe - $(LINK) $(make_LDFLAGS) $(make_OBJECTS) $(make_LDADD) $(LIBS) - -make.info: make.texinfo -make.dvi: make.texinfo - - -DVIPS = dvips - -.texinfo.info: - @command.com /c if exist make.info* del make.info* - @command.com /c if exist make.i* del make.i* - $(MAKEINFO) -I$(srcdir) $< -o ./$@ - -.texinfo: - @command.com /c if exist make.info* del make.info* - @command.com /c if exist make.i* del make.i* - $(MAKEINFO) -I$(srcdir) $< -o ./$@ - -.texinfo.dvi: - TEXINPUTS="$(srcdir);$$TEXINPUTS" MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< - - -.dvi.ps: - $(DVIPS) $< -o $@ - -install-info-am: $(INFO_DEPS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(infodir) - @for file in $(INFO_DEPS) make.i; do d=$(srcdir); for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9] $$file[0-9] $$file[0-9][0-9]`; do if test -f $$d/$$ifile; then echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; else : ; fi; done; done - @$(POST_INSTALL) - @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then for file in $(INFO_DEPS); do echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file"; install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :; done; else : ; fi - -uninstall-info: - $(PRE_UNINSTALL) - @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then ii=yes; else ii=; fi; for file in $(INFO_DEPS); do test -z $ii || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; done - $(NORMAL_UNINSTALL) - for file in $(INFO_DEPS) make.i; do (cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9] $$file[0-9] $$file[0-9][0-9]); done - -dist-info: $(INFO_DEPS) - for base in $(INFO_DEPS); do d=$(srcdir); for file in `cd $$d && eval echo $$base*`; do test -f $(distdir)/$$file || ln $$d/$$file $(distdir)/$$file 2> /dev/null || cp -p $$d/$$file $(distdir)/$$file; done; done - -mostlyclean-aminfo: - -rm -f make.aux make.cp make.cps make.dvi make.fn make.fns make.ky \ - make.kys make.ps make.log make.pg make.toc make.tp make.tps \ - make.vr make.vrs make.op make.tr make.cv make.cn - -clean-aminfo: - -distclean-aminfo: - -maintainer-clean-aminfo: - for i in $(INFO_DEPS) make.i; do rm -f `eval echo $$i*`; done - -install-man1: - $(mkinstalldirs) $(DESTDIR)$(man1dir) - @list='$(man1_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.1*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \ - $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \ - done - -uninstall-man1: - @list='$(man1_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.1*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \ - rm -f $(DESTDIR)$(man1dir)/$$inst; \ - done -install-man: $(MANS) - @$(NORMAL_INSTALL) - $(MAKE) install-man1 -uninstall-man: - @$(NORMAL_UNINSTALL) - $(MAKE) uninstall-man1 - -# Assume that the only thing to do in glob is to build libglob.a, -# but do a sanity check: if $SUBDIRS will ever have more than -# a single directory, yell bloody murder. -all-recursive: -ifeq ($(words $(SUBDIRS)), 1) - @command.com /c if not exist glob\\nul md glob - @echo Making all in $(SUBDIRS) - $(MAKE) -C $(SUBDIRS) -f ../Makefile INCLUDES='-I$(srcdir) -I$(srcdir)/glob' DEFS='-I.. -I$(srcdir)' VPATH=$(srcdir)/glob libglob.a -else - @echo FATAL: There is more than one directory in "($(SUBDIRS))" - @$(EXIT_FAIL) -endif - -$(SUBDIRS): - command.com /c md $@ - -libglob.a: $(libglob_a_OBJECTS) - command.com /c if exist libglob.a del libglob.a - $(AR) cru libglob.a $(libglob_a_OBJECTS) $(libglob_a_LIBADD) - $(RANLIB) libglob.a - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive check-recursive: -ifeq ($(words $(SUBDIRS)), 1) - @echo Making $(shell echo $@ | sed s/-recursive//) in $(SUBDIRS) - $(MAKE) -C $(SUBDIRS) -f ../Makefile $(shell echo $@ | sed s/-recursive//)-am -else - @echo FATAL: There is more than one directory in "($(SUBDIRS))" - @$(EXIT_FAIL) -endif - -tags-in-glob: $(libglob_a_SOURCES) - etags $(addprefix $(srcdir)/,$^) -o ./glob/TAGS - -tags-recursive: -ifeq ($(words $(SUBDIRS)), 1) - $(MAKE) tags-in-glob -else - @echo FATAL: There is more than one directory in "($(SUBDIRS))" - @$(EXIT_FAIL) -endif - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) - mkid $(srcdir)/$(SOURCES) $(srcdir)/$(libglob_a_SOURCES) ./config.h $(HEADERS) - -TAGS: tags-recursive $(HEADERS) $(srcdir)/$(SOURCES) config.h $(TAGS_DEPENDENCIES) - etags -i ./glob/TAGS $(ETAGS_ARGS) $(srcdir)/$(SOURCES) ./config.h $(HEADERS) - -mostlyclean-tags: - -clean-tags: - -distclean-tags: - -rm -f TAGS ID - -maintainer-clean-tags: - -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - rm -rf $(distdir) - GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz - mkdir $(distdir)/=build - mkdir $(distdir)/=inst - dc_install_base=`cd $(distdir)/=inst && pwd`; cd $(distdir)/=build && ../configure --srcdir=.. --prefix=$$dc_install_base && $(MAKE) && $(MAKE) dvi && $(MAKE) check && $(MAKE) install && $(MAKE) installcheck && $(MAKE) dist - rm -rf $(distdir) - @echo "========================"; echo "$(distdir).tar.gz is ready for distribution"; echo "========================" -dist: distdir - -chmod -R a+r $(distdir) - GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir) - rm -rf $(distdir) -dist-all: distdir - -chmod -R a+r $(distdir) - GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir) - rm -rf $(distdir) -distdir: $(DISTFILES) - rm -rf $(distdir) - mkdir $(distdir) - -chmod 777 $(distdir) - @for file in $(DISTFILES); do d=$(srcdir); test -f $(distdir)/$$file || ln $$d/$$file $(distdir)/$$file 2> /dev/null || cp -p $$d/$$file $(distdir)/$$file; done; for subdir in $(SUBDIRS); do test -d $(distdir)/$$subdir || mkdir $(distdir)/$$subdir || exit 1; chmod 777 $(distdir)/$$subdir; (cd $$subdir && $(MAKE) top_distdir=../$(top_distdir)/$$subdir distdir=../$(distdir)/$$subdir distdir) || exit 1; done - $(MAKE) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info - $(MAKE) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook - -info: $(INFO_DEPS) info-recursive -dvi: $(DVIS) dvi-recursive -check: all-am check-recursive check-local - @: -installcheck: installcheck-recursive -all-recursive-am: config.h - $(MAKE) all-recursive - -all-am: Makefile $(INFO_DEPS) $(PROGRAMS) config.h - -install-exec-am: install-binPROGRAMS - -install-data-am: install-info-am - -uninstall-am: uninstall-binPROGRAMS uninstall-info - -install-exec: install-exec-recursive install-exec-am - @$(NORMAL_INSTALL) - -install-data: install-data-recursive install-data-am - @$(NORMAL_INSTALL) - -install-recursive uninstall-recursive: - @: - -install: install-recursive install-exec-am install-data-am - @: - -uninstall: uninstall-recursive uninstall-am - -all: all-recursive-am all-am - -install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install -installdirs: installdirs-recursive - $(mkinstalldirs) $(bindir) $(infodir) - - -mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean-am: mostlyclean-hdr mostlyclean-binPROGRAMS mostlyclean-compile mostlyclean-aminfo mostlyclean-tags mostlyclean-generic - -clean-am: clean-hdr clean-binPROGRAMS clean-compile clean-aminfo clean-tags clean-generic mostlyclean-am - -distclean-am: distclean-hdr distclean-binPROGRAMS distclean-compile distclean-aminfo distclean-tags distclean-generic clean-am - -maintainer-clean-am: maintainer-clean-hdr maintainer-clean-binPROGRAMS maintainer-clean-compile maintainer-clean-aminfo maintainer-clean-tags maintainer-clean-generic distclean-am - -mostlyclean: mostlyclean-recursive mostlyclean-am - -clean: clean-noinstLIBRARIES clean-recursive clean-am - -distclean: distclean-recursive distclean-am - rm -f config.status - -maintainer-clean: maintainer-clean-recursive maintainer-clean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - rm -f config.status - -.PHONY: default mostlyclean-hdr distclean-hdr clean-hdr \ -maintainer-clean-hdr mostlyclean-binPROGRAMS distclean-binPROGRAMS \ -clean-binPROGRAMS maintainer-clean-binPROGRAMS uninstall-binPROGRAMS \ -install-binPROGRAMS mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile install-info-am uninstall-info \ -mostlyclean-aminfo distclean-aminfo clean-aminfo \ -maintainer-clean-aminfo install-data-recursive uninstall-data-recursive \ -install-exec-recursive uninstall-exec-recursive installdirs-recursive \ -uninstalldirs-recursive all-recursive check-recursive check-am \ -installcheck-recursive info-recursive dvi-recursive \ -mostlyclean-recursive distclean-recursive clean-recursive \ -maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ -distclean-tags clean-tags maintainer-clean-tags distdir \ -mostlyclean-depend distclean-depend clean-depend \ -maintainer-clean-depend info dvi check-local installcheck \ -all-recursive-am all-am install-exec-am install-data-am uninstall-am \ -install-exec install-data install uninstall all installdirs \ -mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean - - -# --------------- Local DIST Section - -# Install the w32 subdirectory -# -dist-hook: - (cd $(srcdir); \ - w32=`find w32 -follow \( -name CVS -prune \) -o -type f -print`; \ - tar chf - $$w32) \ - | (cd $(distdir); tar xfBp -) - -# --------------- Local CHECK Section - -# Note: check-loadavg is NOT a prerequisite of check-local, since -# there's no uptime utility, and the test it does doesn't make sense -# on MSDOS anyway. -check-local: check-shell check-regression - @banner=" Regression PASSED: GNU Make $(VERSION) ($(MAKE_HOST)) built with $(CC) "; \ - dashes=`echo "$$banner" | sed s/./=/g`; \ - echo; \ - echo "$$dashes"; \ - echo "$$banner"; \ - echo "$$dashes"; \ - echo - -.PHONY: check-loadavg check-shell check-regression - -# > check-shell -# -# check-shell is designed to fail if they don't have a Unixy shell -# installed. The test suite requires such a shell. -check-shell: - @echo If Make says Error -1, you do not have Unix-style shell installed - @foo=bar.exe : - -# > check-loadavg -# -loadavg: loadavg.c config.h - @rm -f loadavg - $(LINK) -DTEST $(make_LDFLAGS) loadavg.c $(LIBS) -# We copy getloadavg.c into a different file rather than compiling it -# directly because some compilers clobber getloadavg.o in the process. -loadavg.c: getloadavg.c - ln $(srcdir)/getloadavg.c loadavg.c || \ - cp $(srcdir)/getloadavg.c loadavg.c -check-loadavg: loadavg - @echo The system uptime program believes the load average to be: - -uptime - @echo The GNU load average checking code believes: - -./loadavg - -# > check-regression -# -# Look for the make test suite, and run it if found. Look in MAKE_TEST if -# specified, or else in the srcdir or the distdir, their parents, and _their_ -# parents. -# -check-regression: - @if test -f "$(srcdir)/tests/run_make_tests"; then \ - if $(PERL) -v >/dev/null 2>&1; then \ - case `cd $(srcdir); pwd` in `pwd`) : ;; \ - *) test -d tests || mkdir tests; \ - for f in run_make_tests run_make_tests.pl test_driver.pl scripts; do \ - rm -rf tests/$$f; cp -pr $(srcdir)/tests/$$f tests; \ - done ;; \ - esac; \ - echo "cd tests && $(PERL) ./run_make_tests.pl -make ../make.exe $(MAKETESTFLAGS)"; \ - cd tests && $(PERL) ./run_make_tests.pl -make ../make.exe $(MAKETESTFLAGS); \ - else \ - echo "Can't find a working Perl ($(PERL)); the test suite requires Perl."; \ - fi; \ - else \ - echo "Can't find the GNU Make test suite ($(srcdir)/tests)."; \ - fi - -# --------------- Maintainer's Section - -# Note this requires GNU make. Not to worry, since it will only be included -# in the Makefile if we're in the maintainer's environment. -#include $(srcdir)/maintMakefile - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: - -# --------------- DEPENDENCIES +# -*-Makefile-*- template for DJGPP +# Makefile.in generated automatically by automake 1.2 from Makefile.am + +# Copyright (C) 1994, 1995-1998, 1999, 2002 Free Software Foundation, Inc. +# This Makefile.DOS is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. + + +SHELL = /bin/sh + +srcdir = . +VPATH = $(srcdir) +# $DJDIR is defined automatically by DJGPP to point +# to the root of the DJGPP installation tree. +prefix = /dev/env/DJDIR +exec_prefix = ${prefix} + +bindir = /bin +datadir = /share +libdir = /lib +infodir = /info +mandir = /man +includedir = /include +oldincludedir = c:/djgpp/include + +DESTDIR = /dev/env/DJDIR + +pkgdatadir = $(datadir)/make +pkglibdir = $(libdir)/make +pkgincludedir = $(includedir)/make +localedir = $(datadir)/locale + +INSTALL = ${exec_prefix}/bin/ginstall -c +INSTALL_PROGRAM = ${exec_prefix}/bin/ginstall -c +INSTALL_DATA = ${exec_prefix}/bin/ginstall -c -m 644 +INSTALL_SCRIPT = ${exec_prefix}/bin/ginstall -c +transform = s,x,x, + +# This will fail even if they don't have a Unix-like shell (stock DOS +# shell doesn't know about `false'). The only difference is that they +# get "Error -1" instead of "Error 1". +EXIT_FAIL = false + +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +EXEEXT = .exe +OBJEXT = o + +AR = ar +AWK = gawk +CC = gcc +CPP = gcc -E +LIBOBJS = +MAKEINFO = ${exec_prefix}/bin/makeinfo +PACKAGE = make +PERL = perl +RANLIB = ranlib +REMOTE = stub +VERSION = %VERSION% + +AUTOMAKE_OPTIONS = 1.2 + +bin_PROGRAMS = %PROGRAMS%$(EXEEXT) + +make_SOURCES = %SOURCES% +# This should include the glob/ prefix +libglob_a_SOURCES = %GLOB_SOURCES% +make_LDADD = glob/libglob.a + +info_TEXINFOS = make.texinfo +man_MANS = make.1 + +INCLUDES = -I$(srcdir)/glob -DLIBDIR=\"c:/djgpp/lib\" -DINCLUDEDIR=\"c:/djgpp/include\" -DLOCALEDIR=\"$(localedir)\" + +BUILT_SOURCES = README build.sh-in + +EXTRA_DIST = $(BUILT_SOURCES) $(man_MANS) README.customs remote-cstms.c make-stds.texi texinfo.tex SCOPTIONS SMakefile Makefile.ami README.Amiga config.ami amiga.c amiga.h NMakefile README.DOS configh.dos configure.bat makefile.com README.W32 build_w32.bat config.h-W32 subproc.bat make.lnk config.h-vms makefile.vms readme.vms vmsdir.h vmsfunctions.c vmsify.c + +SUBDIRS = glob +mkinstalldirs = ${exec_prefix}/bin/gmkdir -p +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = build.sh +PROGRAMS = $(bin_PROGRAMS) + +MAKE_HOST = i386-pc-msdosdjgpp + + +DEFS = -I. -I$(srcdir) -I. +CPPFLAGS = -DHAVE_CONFIG_H +LDFLAGS = +LIBS = +make_OBJECTS = %OBJECTS% +make_DEPENDENCIES = glob/libglob.a +make_LDFLAGS = +libglob_a_LIBADD = +libglob_a_OBJECTS = %GLOB_OBJECTS% +noinst_LIBRARIES = glob/libglob.a +CFLAGS = -O2 -g +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) +LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@ +TEXI2DVI = texi2dvi +TEXINFO_TEX = $(srcdir)/config/texinfo.tex +INFO_DEPS = make.info +DVIS = make.dvi +TEXINFOS = make.texinfo +man1dir = $(mandir)/man1 +MANS = $(man_MANS) + +NROFF = nroff +DIST_COMMON = README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL Makefile.am Makefile.in NEWS acconfig.h aclocal.m4 alloca.c build.sh-in config.h-in configure configure.in getloadavg.c + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = gtar +GZIP = --best +SOURCES = $(make_SOURCES) +OBJECTS = $(make_OBJECTS) +HEADERS = $(wildcard $(srcdir)/*.h) + +default: all + +.SUFFIXES: +.SUFFIXES: .c .dvi .info .o .obj .ps .texinfo .tex + +mostlyclean-hdr: + +clean-hdr: + +distclean-hdr: + -rm -f config.h + +maintainer-clean-hdr: + +mostlyclean-binPROGRAMS: + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + +distclean-binPROGRAMS: + +maintainer-clean-binPROGRAMS: + +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(bindir) + @list='$(bin_PROGRAMS)'; for p in $$list; do if test -f $$p; then echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p | sed '$(transform)'`"; $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p | sed '$(transform)'`; else :; fi; done + +uninstall-binPROGRAMS: + $(NORMAL_UNINSTALL) + list='$(bin_PROGRAMS)'; for p in $$list; do rm -f $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`.exe; done + +.c.o: + $(COMPILE) -c $< + +clean-noinstLIBRARIES: + -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) *$(EXEEXT) make.new core + +clean-compile: + +distclean-compile: + -rm -f *.tab.c *_tab.c + +maintainer-clean-compile: + +make$(EXEEXT): $(make_OBJECTS) $(make_DEPENDENCIES) + @command.com /c if exist make del make + @command.com /c if exist make.exe del make.exe + $(LINK) $(make_LDFLAGS) $(make_OBJECTS) $(make_LDADD) $(LIBS) + +make.info: make.texinfo +make.dvi: make.texinfo + + +DVIPS = dvips + +.texinfo.info: + @command.com /c if exist make.info* del make.info* + @command.com /c if exist make.i* del make.i* + $(MAKEINFO) -I$(srcdir) $< -o ./$@ + +.texinfo: + @command.com /c if exist make.info* del make.info* + @command.com /c if exist make.i* del make.i* + $(MAKEINFO) -I$(srcdir) $< -o ./$@ + +.texinfo.dvi: + TEXINPUTS="$(srcdir);$$TEXINPUTS" MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< + + +.dvi.ps: + $(DVIPS) $< -o $@ + +install-info-am: $(INFO_DEPS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(infodir) + @for file in $(INFO_DEPS) make.i; do d=$(srcdir); for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9] $$file[0-9] $$file[0-9][0-9]`; do if test -f $$d/$$ifile; then echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; else : ; fi; done; done + @$(POST_INSTALL) + @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then for file in $(INFO_DEPS); do echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file"; install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :; done; else : ; fi + +uninstall-info: + $(PRE_UNINSTALL) + @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then ii=yes; else ii=; fi; for file in $(INFO_DEPS); do test -z $ii || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; done + $(NORMAL_UNINSTALL) + for file in $(INFO_DEPS) make.i; do (cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9] $$file[0-9] $$file[0-9][0-9]); done + +dist-info: $(INFO_DEPS) + for base in $(INFO_DEPS); do d=$(srcdir); for file in `cd $$d && eval echo $$base*`; do test -f $(distdir)/$$file || ln $$d/$$file $(distdir)/$$file 2> /dev/null || cp -p $$d/$$file $(distdir)/$$file; done; done + +mostlyclean-aminfo: + -rm -f make.aux make.cp make.cps make.dvi make.fn make.fns make.ky \ + make.kys make.ps make.log make.pg make.toc make.tp make.tps \ + make.vr make.vrs make.op make.tr make.cv make.cn + +clean-aminfo: + +distclean-aminfo: + +maintainer-clean-aminfo: + for i in $(INFO_DEPS) make.i; do rm -f `eval echo $$i*`; done + +install-man1: + $(mkinstalldirs) $(DESTDIR)$(man1dir) + @list='$(man1_MANS)'; \ + l2='$(man_MANS)'; for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \ + $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \ + done + +uninstall-man1: + @list='$(man1_MANS)'; \ + l2='$(man_MANS)'; for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \ + rm -f $(DESTDIR)$(man1dir)/$$inst; \ + done +install-man: $(MANS) + @$(NORMAL_INSTALL) + $(MAKE) install-man1 +uninstall-man: + @$(NORMAL_UNINSTALL) + $(MAKE) uninstall-man1 + +# Assume that the only thing to do in glob is to build libglob.a, +# but do a sanity check: if $SUBDIRS will ever have more than +# a single directory, yell bloody murder. +all-recursive: +ifeq ($(words $(SUBDIRS)), 1) + @command.com /c if not exist glob\\nul md glob + @echo Making all in $(SUBDIRS) + $(MAKE) -C $(SUBDIRS) -f ../Makefile INCLUDES='-I$(srcdir) -I$(srcdir)/glob' DEFS='-I.. -I$(srcdir)' VPATH=$(srcdir)/glob libglob.a +else + @echo FATAL: There is more than one directory in "($(SUBDIRS))" + @$(EXIT_FAIL) +endif + +$(SUBDIRS): + command.com /c md $@ + +libglob.a: $(libglob_a_OBJECTS) + command.com /c if exist libglob.a del libglob.a + $(AR) cru libglob.a $(libglob_a_OBJECTS) $(libglob_a_LIBADD) + $(RANLIB) libglob.a + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive check-recursive: +ifeq ($(words $(SUBDIRS)), 1) + @echo Making $(shell echo $@ | sed s/-recursive//) in $(SUBDIRS) + $(MAKE) -C $(SUBDIRS) -f ../Makefile $(shell echo $@ | sed s/-recursive//)-am +else + @echo FATAL: There is more than one directory in "($(SUBDIRS))" + @$(EXIT_FAIL) +endif + +tags-in-glob: $(libglob_a_SOURCES) + etags $(addprefix $(srcdir)/,$^) -o ./glob/TAGS + +tags-recursive: +ifeq ($(words $(SUBDIRS)), 1) + $(MAKE) tags-in-glob +else + @echo FATAL: There is more than one directory in "($(SUBDIRS))" + @$(EXIT_FAIL) +endif + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) + mkid $(srcdir)/$(SOURCES) $(srcdir)/$(libglob_a_SOURCES) ./config.h $(HEADERS) + +TAGS: tags-recursive $(HEADERS) $(srcdir)/$(SOURCES) config.h $(TAGS_DEPENDENCIES) + etags -i ./glob/TAGS $(ETAGS_ARGS) $(srcdir)/$(SOURCES) ./config.h $(HEADERS) + +mostlyclean-tags: + +clean-tags: + +distclean-tags: + -rm -f TAGS ID + +maintainer-clean-tags: + +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + rm -rf $(distdir) + GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz + mkdir $(distdir)/=build + mkdir $(distdir)/=inst + dc_install_base=`cd $(distdir)/=inst && pwd`; cd $(distdir)/=build && ../configure --srcdir=.. --prefix=$$dc_install_base && $(MAKE) && $(MAKE) dvi && $(MAKE) check && $(MAKE) install && $(MAKE) installcheck && $(MAKE) dist + rm -rf $(distdir) + @echo "========================"; echo "$(distdir).tar.gz is ready for distribution"; echo "========================" +dist: distdir + -chmod -R a+r $(distdir) + GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir) + rm -rf $(distdir) +dist-all: distdir + -chmod -R a+r $(distdir) + GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir) + rm -rf $(distdir) +distdir: $(DISTFILES) + rm -rf $(distdir) + mkdir $(distdir) + -chmod 777 $(distdir) + @for file in $(DISTFILES); do d=$(srcdir); test -f $(distdir)/$$file || ln $$d/$$file $(distdir)/$$file 2> /dev/null || cp -p $$d/$$file $(distdir)/$$file; done; for subdir in $(SUBDIRS); do test -d $(distdir)/$$subdir || mkdir $(distdir)/$$subdir || exit 1; chmod 777 $(distdir)/$$subdir; (cd $$subdir && $(MAKE) top_distdir=../$(top_distdir)/$$subdir distdir=../$(distdir)/$$subdir distdir) || exit 1; done + $(MAKE) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info + $(MAKE) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook + +info: $(INFO_DEPS) info-recursive +dvi: $(DVIS) dvi-recursive +check: all-am check-recursive check-local + @: +installcheck: installcheck-recursive +all-recursive-am: config.h + $(MAKE) all-recursive + +all-am: Makefile $(INFO_DEPS) $(PROGRAMS) config.h + +install-exec-am: install-binPROGRAMS + +install-data-am: install-info-am + +uninstall-am: uninstall-binPROGRAMS uninstall-info + +install-exec: install-exec-recursive install-exec-am + @$(NORMAL_INSTALL) + +install-data: install-data-recursive install-data-am + @$(NORMAL_INSTALL) + +install-recursive uninstall-recursive: + @: + +install: install-recursive install-exec-am install-data-am + @: + +uninstall: uninstall-recursive uninstall-am + +all: all-recursive-am all-am + +install-strip: + $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install +installdirs: installdirs-recursive + $(mkinstalldirs) $(bindir) $(infodir) + + +mostlyclean-generic: + -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -rm -f Makefile $(DISTCLEANFILES) + -rm -f config.cache config.log stamp-h stamp-h[0-9]* + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) +mostlyclean-am: mostlyclean-hdr mostlyclean-binPROGRAMS mostlyclean-compile mostlyclean-aminfo mostlyclean-tags mostlyclean-generic + +clean-am: clean-hdr clean-binPROGRAMS clean-compile clean-aminfo clean-tags clean-generic mostlyclean-am + +distclean-am: distclean-hdr distclean-binPROGRAMS distclean-compile distclean-aminfo distclean-tags distclean-generic clean-am + +maintainer-clean-am: maintainer-clean-hdr maintainer-clean-binPROGRAMS maintainer-clean-compile maintainer-clean-aminfo maintainer-clean-tags maintainer-clean-generic distclean-am + +mostlyclean: mostlyclean-recursive mostlyclean-am + +clean: clean-noinstLIBRARIES clean-recursive clean-am + +distclean: distclean-recursive distclean-am + rm -f config.status + +maintainer-clean: maintainer-clean-recursive maintainer-clean-am + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + rm -f config.status + +.PHONY: default mostlyclean-hdr distclean-hdr clean-hdr \ +maintainer-clean-hdr mostlyclean-binPROGRAMS distclean-binPROGRAMS \ +clean-binPROGRAMS maintainer-clean-binPROGRAMS uninstall-binPROGRAMS \ +install-binPROGRAMS mostlyclean-compile distclean-compile clean-compile \ +maintainer-clean-compile install-info-am uninstall-info \ +mostlyclean-aminfo distclean-aminfo clean-aminfo \ +maintainer-clean-aminfo install-data-recursive uninstall-data-recursive \ +install-exec-recursive uninstall-exec-recursive installdirs-recursive \ +uninstalldirs-recursive all-recursive check-recursive check-am \ +installcheck-recursive info-recursive dvi-recursive \ +mostlyclean-recursive distclean-recursive clean-recursive \ +maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ +distclean-tags clean-tags maintainer-clean-tags distdir \ +mostlyclean-depend distclean-depend clean-depend \ +maintainer-clean-depend info dvi check-local installcheck \ +all-recursive-am all-am install-exec-am install-data-am uninstall-am \ +install-exec install-data install uninstall all installdirs \ +mostlyclean-generic distclean-generic clean-generic \ +maintainer-clean-generic clean mostlyclean distclean maintainer-clean + + +# --------------- Local DIST Section + +# Install the w32 subdirectory +# +dist-hook: + (cd $(srcdir); \ + w32=`find w32 -follow \( -name CVS -prune \) -o -type f -print`; \ + tar chf - $$w32) \ + | (cd $(distdir); tar xfBp -) + +# --------------- Local CHECK Section + +# Note: check-loadavg is NOT a prerequisite of check-local, since +# there's no uptime utility, and the test it does doesn't make sense +# on MSDOS anyway. +check-local: check-shell check-regression + @banner=" Regression PASSED: GNU Make $(VERSION) ($(MAKE_HOST)) built with $(CC) "; \ + dashes=`echo "$$banner" | sed s/./=/g`; \ + echo; \ + echo "$$dashes"; \ + echo "$$banner"; \ + echo "$$dashes"; \ + echo + +.PHONY: check-loadavg check-shell check-regression + +# > check-shell +# +# check-shell is designed to fail if they don't have a Unixy shell +# installed. The test suite requires such a shell. +check-shell: + @echo If Make says Error -1, you do not have Unix-style shell installed + @foo=bar.exe : + +# > check-loadavg +# +loadavg: loadavg.c config.h + @rm -f loadavg + $(LINK) -DTEST $(make_LDFLAGS) loadavg.c $(LIBS) +# We copy getloadavg.c into a different file rather than compiling it +# directly because some compilers clobber getloadavg.o in the process. +loadavg.c: getloadavg.c + ln $(srcdir)/getloadavg.c loadavg.c || \ + cp $(srcdir)/getloadavg.c loadavg.c +check-loadavg: loadavg + @echo The system uptime program believes the load average to be: + -uptime + @echo The GNU load average checking code believes: + -./loadavg + +# > check-regression +# +# Look for the make test suite, and run it if found. Look in MAKE_TEST if +# specified, or else in the srcdir or the distdir, their parents, and _their_ +# parents. +# +check-regression: + @if test -f "$(srcdir)/tests/run_make_tests"; then \ + if $(PERL) -v >/dev/null 2>&1; then \ + case `cd $(srcdir); pwd` in `pwd`) : ;; \ + *) test -d tests || mkdir tests; \ + for f in run_make_tests run_make_tests.pl test_driver.pl scripts; do \ + rm -rf tests/$$f; cp -pr $(srcdir)/tests/$$f tests; \ + done ;; \ + esac; \ + echo "cd tests && $(PERL) ./run_make_tests.pl -make ../make.exe $(MAKETESTFLAGS)"; \ + cd tests && $(PERL) ./run_make_tests.pl -make ../make.exe $(MAKETESTFLAGS); \ + else \ + echo "Can't find a working Perl ($(PERL)); the test suite requires Perl."; \ + fi; \ + else \ + echo "Can't find the GNU Make test suite ($(srcdir)/tests)."; \ + fi + +# --------------- Maintainer's Section + +# Note this requires GNU make. Not to worry, since it will only be included +# in the Makefile if we're in the maintainer's environment. +#include $(srcdir)/maintMakefile + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: + +# --------------- DEPENDENCIES diff --git a/src/mkutil/make/Makefile.am b/src/mkutil/make/Makefile.am index 06d2df17..ff8e1246 100644 --- a/src/mkutil/make/Makefile.am +++ b/src/mkutil/make/Makefile.am @@ -1,160 +1,160 @@ -# This is a -*-Makefile-*-, or close enough - -AUTOMAKE_OPTIONS = 1.7.3 dist-bzip2 check-news ansi2knr -ACLOCAL_AMFLAGS = -I config - -SUBDIRS = glob config po doc - -bin_PROGRAMS = make - -if USE_CUSTOMS - remote = remote-cstms.c -else - remote = remote-stub.c -endif - - -make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c \ - function.c getopt.c getopt1.c implicit.c job.c main.c \ - misc.c read.c remake.c $(remote) rule.c signame.c \ - variable.c version.c vpath.c hash.c - -EXTRA_make_SOURCES = remote-stub.c remote-cstms.c - -noinst_HEADERS = commands.h dep.h filedef.h job.h make.h rule.h variable.h \ - debug.h getopt.h gettext.h hash.h - -make_LDADD = @LIBOBJS@ @ALLOCA@ $(GLOBLIB) @GETLOADAVG_LIBS@ @LIBINTL@ - -man_MANS = make.1 - -DEFS = -DLOCALEDIR=\"$(localedir)\" -DLIBDIR=\"$(libdir)\" -DINCLUDEDIR=\"$(includedir)\" @DEFS@ - -AM_CPPFLAGS = $(GLOBINC) - - -# Extra stuff to include in the distribution. -# Note we need all the glob stuff here, rather than in glob/Makefile.am, -# because often that directory isn't built on the systems used by the -# maintainers. - -EXTRA_DIST = README build.sh.in $(man_MANS) \ - README.customs README.OS2 \ - SCOPTIONS SMakefile \ - README.Amiga Makefile.ami config.ami make.lnk amiga.c amiga.h \ - README.DOS Makefile.DOS configure.bat dosbuild.bat configh.dos\ - README.W32 NMakefile config.h.W32 build_w32.bat subproc.bat \ - readme.vms makefile.vms makefile.com config.h-vms \ - vmsdir.h vmsfunctions.c vmsify.c - -MAKE_HOST = @MAKE_HOST@ - - -# Forward targets - -html: - cd doc && $(MAKE) $(AM_MAKEFLAGS) $@ - -.PHONY: html - -# --------------- Internationalization Section - -localedir = $(datadir)/locale - -# --------------- Local INSTALL Section - -# If necessary, change the gid of the app and turn on the setgid flag. -# - -# Whether or not make needs to be installed setgid. -# The value should be either `true' or `false'. -# On many systems, the getloadavg function (used to implement the `-l' -# switch) will not work unless make is installed setgid kmem. -# -inst_setgid = @NEED_SETGID@ - -# Install make setgid to this group so it can get the load average. -# -inst_group = @KMEM_GROUP@ - -install-exec-local: - @if $(inst_setgid); then \ - app=$(DESTDIR)$(bindir)/`echo $(bin_PROGRAMS)|sed '$(transform)'`; \ - if chgrp $(inst_group) $$app && chmod g+s $$app; then \ - echo "chgrp $(inst_group) $$app && chmod g+s $$app"; \ - else \ - echo "$$app needs to be owned by group $(inst_group) and setgid;"; \ - echo "otherwise the \`-l' option will probably not work."; \ - echo "You may need special privileges to complete the installation"; \ - echo "of $$app."; \ - fi; \ - else true; fi - -# --------------- Local DIST Section - -# Install the w32 and tests subdirectories -# -dist-hook: - (cd $(srcdir); \ - sub=`find w32 tests -follow \( -name CVS -prune -o -name .cvsignore -o -name work -prune \) -o \( -name \*.orig -o -name \*.rej -o -name \*~ -prune \) -o -type f -print`; \ - tar chf - $$sub) \ - | (cd $(distdir); tar xfBp -) - - -# --------------- Local CHECK Section - -check-local: check-regression check-loadavg - @banner=" Regression PASSED: GNU Make $(VERSION) ($(MAKE_HOST)) built with $(CC) "; \ - dashes=`echo "$$banner" | sed s/./=/g`; \ - echo; \ - echo "$$dashes"; \ - echo "$$banner"; \ - echo "$$dashes"; \ - echo - -.PHONY: check-loadavg check-regression - -check-loadavg: loadavg - @echo The system uptime program believes the load average to be: - -uptime - @echo The GNU load average checking code thinks: - -./loadavg - -# The loadavg function is invoked during "make check" to test getloadavg. -noinst_PROGRAMS = loadavg -nodist_loadavg_SOURCES = getloadavg.c -loadavg_CPPFLAGS = -DTEST -loadavg_LDADD = @GETLOADAVG_LIBS@ - -# > check-regression -# -# Look for the make test suite, and run it if found and we can find perl. -# If we're building outside the tree, we use symlinks to make a local copy of -# the test suite. Unfortunately the test suite itself isn't localizable yet. -# -MAKETESTFLAGS = - -check-regression: - @if test -f "$(srcdir)/tests/run_make_tests"; then \ - if $(PERL) -v >/dev/null 2>&1; then \ - case `cd $(srcdir); pwd` in `pwd`) : ;; \ - *) test -d tests || mkdir tests; \ - rm -f srctests; \ - if ln -s "$(srcdir)/tests" srctests; then \ - for f in run_make_tests run_make_tests.pl test_driver.pl scripts; do \ - rm -f tests/$$f; ln -s ../srctests/$$f tests; \ - done; fi ;; \ - esac; \ - echo "cd tests && $(PERL) ./run_make_tests.pl -make ../make $(MAKETESTFLAGS)"; \ - cd tests && $(PERL) ./run_make_tests.pl -make ../make $(MAKETESTFLAGS); \ - else \ - echo "Can't find a working Perl ($(PERL)); the test suite requires Perl."; \ - fi; \ - else \ - echo "Can't find the GNU Make test suite ($(srcdir)/tests)."; \ - fi - - -# --------------- Maintainer's Section - -@MAINT_MAKEFILE@ +# This is a -*-Makefile-*-, or close enough + +AUTOMAKE_OPTIONS = 1.7.3 dist-bzip2 check-news ansi2knr +ACLOCAL_AMFLAGS = -I config + +SUBDIRS = glob config po doc + +bin_PROGRAMS = make + +if USE_CUSTOMS + remote = remote-cstms.c +else + remote = remote-stub.c +endif + + +make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c \ + function.c getopt.c getopt1.c implicit.c job.c main.c \ + misc.c read.c remake.c $(remote) rule.c signame.c \ + variable.c version.c vpath.c hash.c + +EXTRA_make_SOURCES = remote-stub.c remote-cstms.c + +noinst_HEADERS = commands.h dep.h filedef.h job.h make.h rule.h variable.h \ + debug.h getopt.h gettext.h hash.h + +make_LDADD = @LIBOBJS@ @ALLOCA@ $(GLOBLIB) @GETLOADAVG_LIBS@ @LIBINTL@ + +man_MANS = make.1 + +DEFS = -DLOCALEDIR=\"$(localedir)\" -DLIBDIR=\"$(libdir)\" -DINCLUDEDIR=\"$(includedir)\" @DEFS@ + +AM_CPPFLAGS = $(GLOBINC) + + +# Extra stuff to include in the distribution. +# Note we need all the glob stuff here, rather than in glob/Makefile.am, +# because often that directory isn't built on the systems used by the +# maintainers. + +EXTRA_DIST = README build.sh.in $(man_MANS) \ + README.customs README.OS2 \ + SCOPTIONS SMakefile \ + README.Amiga Makefile.ami config.ami make.lnk amiga.c amiga.h \ + README.DOS Makefile.DOS configure.bat dosbuild.bat configh.dos\ + README.W32 NMakefile config.h.W32 build_w32.bat subproc.bat \ + readme.vms makefile.vms makefile.com config.h-vms \ + vmsdir.h vmsfunctions.c vmsify.c + +MAKE_HOST = @MAKE_HOST@ + + +# Forward targets + +html: + cd doc && $(MAKE) $(AM_MAKEFLAGS) $@ + +.PHONY: html + +# --------------- Internationalization Section + +localedir = $(datadir)/locale + +# --------------- Local INSTALL Section + +# If necessary, change the gid of the app and turn on the setgid flag. +# + +# Whether or not make needs to be installed setgid. +# The value should be either `true' or `false'. +# On many systems, the getloadavg function (used to implement the `-l' +# switch) will not work unless make is installed setgid kmem. +# +inst_setgid = @NEED_SETGID@ + +# Install make setgid to this group so it can get the load average. +# +inst_group = @KMEM_GROUP@ + +install-exec-local: + @if $(inst_setgid); then \ + app=$(DESTDIR)$(bindir)/`echo $(bin_PROGRAMS)|sed '$(transform)'`; \ + if chgrp $(inst_group) $$app && chmod g+s $$app; then \ + echo "chgrp $(inst_group) $$app && chmod g+s $$app"; \ + else \ + echo "$$app needs to be owned by group $(inst_group) and setgid;"; \ + echo "otherwise the \`-l' option will probably not work."; \ + echo "You may need special privileges to complete the installation"; \ + echo "of $$app."; \ + fi; \ + else true; fi + +# --------------- Local DIST Section + +# Install the w32 and tests subdirectories +# +dist-hook: + (cd $(srcdir); \ + sub=`find w32 tests -follow \( -name CVS -prune -o -name .cvsignore -o -name work -prune \) -o \( -name \*.orig -o -name \*.rej -o -name \*~ -prune \) -o -type f -print`; \ + tar chf - $$sub) \ + | (cd $(distdir); tar xfBp -) + + +# --------------- Local CHECK Section + +check-local: check-regression check-loadavg + @banner=" Regression PASSED: GNU Make $(VERSION) ($(MAKE_HOST)) built with $(CC) "; \ + dashes=`echo "$$banner" | sed s/./=/g`; \ + echo; \ + echo "$$dashes"; \ + echo "$$banner"; \ + echo "$$dashes"; \ + echo + +.PHONY: check-loadavg check-regression + +check-loadavg: loadavg + @echo The system uptime program believes the load average to be: + -uptime + @echo The GNU load average checking code thinks: + -./loadavg + +# The loadavg function is invoked during "make check" to test getloadavg. +noinst_PROGRAMS = loadavg +nodist_loadavg_SOURCES = getloadavg.c +loadavg_CPPFLAGS = -DTEST +loadavg_LDADD = @GETLOADAVG_LIBS@ + +# > check-regression +# +# Look for the make test suite, and run it if found and we can find perl. +# If we're building outside the tree, we use symlinks to make a local copy of +# the test suite. Unfortunately the test suite itself isn't localizable yet. +# +MAKETESTFLAGS = + +check-regression: + @if test -f "$(srcdir)/tests/run_make_tests"; then \ + if $(PERL) -v >/dev/null 2>&1; then \ + case `cd $(srcdir); pwd` in `pwd`) : ;; \ + *) test -d tests || mkdir tests; \ + rm -f srctests; \ + if ln -s "$(srcdir)/tests" srctests; then \ + for f in run_make_tests run_make_tests.pl test_driver.pl scripts; do \ + rm -f tests/$$f; ln -s ../srctests/$$f tests; \ + done; fi ;; \ + esac; \ + echo "cd tests && $(PERL) ./run_make_tests.pl -make ../make $(MAKETESTFLAGS)"; \ + cd tests && $(PERL) ./run_make_tests.pl -make ../make $(MAKETESTFLAGS); \ + else \ + echo "Can't find a working Perl ($(PERL)); the test suite requires Perl."; \ + fi; \ + else \ + echo "Can't find the GNU Make test suite ($(srcdir)/tests)."; \ + fi + + +# --------------- Maintainer's Section + +@MAINT_MAKEFILE@ diff --git a/src/mkutil/make/Makefile.ami b/src/mkutil/make/Makefile.ami index 6a2a2bc1..8c363669 100644 --- a/src/mkutil/make/Makefile.ami +++ b/src/mkutil/make/Makefile.ami @@ -1,305 +1,305 @@ -# NOTE: If you have no `make' program at all to process this makefile, run -# `build.sh' instead. -# -# Copyright (C) 1988, 89, 91, 92, 93, 94, 1995 Free Software Foundation, Inc. -# This file is part of GNU Make. -# -# GNU Make is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# GNU Make is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Make; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - -# -# Makefile for GNU Make -# - -CC = sc -RM = delete - -CFLAGS = -CPPFLAGS = -LDFLAGS = - -# Define these for your system as follows: -# -DNO_ARCHIVES To disable `ar' archive support. -# -DNO_FLOAT To avoid using floating-point numbers. -# -DENUM_BITFIELDS If the compiler isn't GCC but groks enum foo:2. -# Some compilers apparently accept this -# without complaint but produce losing code, -# so beware. -# NeXT 1.0a uses an old version of GCC, which required -D__inline=inline. -# See also `config.h'. -defines = - -# Which flavor of remote job execution support to use. -# The code is found in `remote-$(REMOTE).c'. -REMOTE = stub - -# If you are using the GNU C library, or have the GNU getopt functions in -# your C library, you can comment these out. -GETOPT = getopt.o getopt1.o -GETOPT_SRC = $(srcdir)getopt.c $(srcdir)getopt1.c $(srcdir)getopt.h - -# If you are using the GNU C library, or have the GNU glob functions in -# your C library, you can comment this out. GNU make uses special hooks -# into the glob functions to be more efficient (by using make's directory -# cache for globbing), so you must use the GNU functions even if your -# system's C library has the 1003.2 glob functions already. Also, the glob -# functions in the AIX and HPUX C libraries are said to be buggy. -GLOB = glob/glob.lib - -# If your system doesn't have alloca, or the one provided is bad, define this. -ALLOCA = alloca.o -ALLOCA_SRC = $(srcdir)alloca.c - -# If your system needs extra libraries loaded in, define them here. -# System V probably need -lPW for alloca. HP-UX 7.0's alloca in -# libPW.a is broken on HP9000s300 and HP9000s400 machines. Use -# alloca.c instead on those machines. -LOADLIBES = - -# Any extra object files your system needs. -extras = amiga.o - -# Common prefix for machine-independent installed files. -prefix = -# Common prefix for machine-dependent installed files. -exec_prefix = - -# Directory to install `make' in. -bindir = sc:c -# Directory to find libraries in for `-lXXX'. -libdir = lib: -# Directory to search by default for included makefiles. -includedir = include: -# Directory to install the Info files in. -infodir = doc: -# Directory to install the man page in. -mandir = t: -# Number to put on the man page filename. -manext = 1 -# Prefix to put on installed `make' binary file name. -binprefix = -# Prefix to put on installed `make' man page file name. -manprefix = $(binprefix) - -# Whether or not make needs to be installed setgid. -# The value should be either `true' or `false'. -# On many systems, the getloadavg function (used to implement the `-l' -# switch) will not work unless make is installed setgid kmem. -install_setgid = false -# Install make setgid to this group so it can read /dev/kmem. -group = sys - -# Program to install `make'. -INSTALL_PROGRAM = copy -# Program to install the man page. -INSTALL_DATA = copy -# Generic install program. -INSTALL = copy - -# Program to format Texinfo source into Info files. -MAKEINFO = makeinfo -# Program to format Texinfo source into DVI files. -TEXI2DVI = texi2dvi - -# Programs to make tags files. -ETAGS = etags -w -CTAGS = ctags -w - -objs = commands.o job.o dir.o file.o misc.o main.o read.o remake.o \ - rule.o implicit.o default.o variable.o expand.o function.o \ - vpath.o version.o ar.o arscan.o signame.o hash.o \ - remote-$(REMOTE).o $(GETOPT) $(ALLOCA) $(extras) -srcs = $(srcdir)commands.c $(srcdir)job.c $(srcdir)dir.c \ - $(srcdir)file.c $(srcdir)getloadavg.c $(srcdir)misc.c \ - $(srcdir)main.c $(srcdir)read.c $(srcdir)remake.c \ - $(srcdir)rule.c $(srcdir)implicit.c $(srcdir)default.c \ - $(srcdir)variable.c $(srcdir)expand.c $(srcdir)function.c \ - $(srcdir)vpath.c $(srcdir)version.c $(srcdir)hash.c \ - $(srcdir)remote-$(REMOTE).c \ - $(srcdir)ar.c $(srcdir)arscan.c \ - $(srcdir)signame.c $(srcdir)signame.h $(GETOPT_SRC) \ - $(srcdir)commands.h $(srcdir)dep.h $(srcdir)filedep.h \ - $(srcdir)job.h $(srcdir)make.h $(srcdir)rule.h \ - $(srcdir)variable.h $(ALLOCA_SRC) $(srcdir)config.h.in - - -.SUFFIXES: -.SUFFIXES: .o .c .h .ps .dvi .info .texinfo - -all: make -info: make.info -dvi: make.dvi -# Some makes apparently use .PHONY as the default goal if it is before `all'. -.PHONY: all check info dvi - -make.info: make.texinfo - $(MAKEINFO) -I$(srcdir) $(srcdir)make.texinfo -o make.info - -make.dvi: make.texinfo - $(TEXI2DVI) $(srcdir)make.texinfo - -make.ps: make.dvi - dvi2ps make.dvi > make.ps - -make: $(objs) $(GLOB) - $(CC) Link $(LDFLAGS) $(objs) Lib $(GLOB) $(LOADLIBES) To make.new - -delete make - rename make.new make - -TMPFILE = t:Make$$ - -$(GLOB): - cd glob @@\ - $(MAKE) -$(MAKEFLAGS) -f Makefile - -# -I. is needed to find config.h in the build directory. -OUTPUT_OPTION = -.c.o: - $(CC) $(defines) IDir "" IDir glob \ - $(CPPFLAGS) $(CFLAGS) $< $(OUTPUT_OPTION) - -# For some losing Unix makes. -SHELL = /bin/sh -#@SET_MAKE@ - -glob/libglob.a: FORCE config.h - cd glob; $(MAKE) libglob.a -FORCE: - -tagsrcs = $(srcs) $(srcdir)remote-*.c - -.PHONY: install installdirs -install: installdirs \ - $(bindir)$(binprefix)make $(infodir)make.info \ - $(mandir)$(manprefix)make.$(manext) - -installdirs: - $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(mandir) - -$(bindir)$(binprefix)make: make - $(INSTALL_PROGRAM) make $@.new - @if $(install_setgid); then \ - if chgrp $(group) $@.new && chmod g+s $@.new; then \ - echo "chgrp $(group) $@.new && chmod g+s $@.new"; \ - else \ - echo "$@ needs to be owned by group $(group) and setgid;"; \ - echo "otherwise the \`-l' option will probably not work."; \ - echo "You may need special privileges to install $@."; \ - fi; \ - else true; fi -# Some systems can't deal with renaming onto a running binary. - -$(RM) $@.old - -mv $@ $@.old - mv $@.new $@ - -$(infodir)make.info: make.info - if [ -r ./make.info ]; then dir=.; else dir=$(srcdir); fi; \ - for file in $${dir}/make.info*; do \ - name="`basename $$file`"; \ - $(INSTALL_DATA) $$file \ - `echo $@ | sed "s,make.info\$$,$$name,"`; \ - done -# Run install-info only if it exists. -# Use `if' instead of just prepending `-' to the -# line so we notice real errors from install-info. -# We use `$(SHELL) -c' because some shells do not -# fail gracefully when there is an unknown command. - if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \ - if [ -r ./make.info ]; then dir=.; else dir=$(srcdir); fi; \ - install-info --infodir=$(infodir) $$dir/make.info; \ - else true; fi - -$(mandir)$(manprefix)make.$(manext): make.man - $(INSTALL_DATA) $(srcdir)make.man $@ - - -loadavg: loadavg.c config.h - $(CC) $(defines) -DTEST -I. -I$(srcdir) $(CFLAGS) $(LDFLAGS) \ - loadavg.c $(LOADLIBES) -o $@ -# We copy getloadavg.c into a different file rather than compiling it -# directly because some compilers clobber getloadavg.o in the process. -loadavg.c: getloadavg.c - ln $(srcdir)getloadavg.c loadavg.c || \ - cp $(srcdir)getloadavg.c loadavg.c -check-loadavg: loadavg - @echo The system uptime program believes the load average to be: - -uptime - @echo The GNU load average checking code believes: - ./loadavg -check: check-loadavg - - -.PHONY: clean realclean distclean mostlyclean -clean: glob-clean - -$(RM) make loadavg "#?.o" core make.dvi - -distclean: clean glob-realclean - -$(RM) Makefile config.h config.status build.sh - -$(RM) config.log config.cache - -$(RM) TAGS tags - -$(RM) make.?? make.??s make.log make.toc make.*aux - -$(RM) loadavg.c - -realclean: distclean - -$(RM) make.info* -mostlyclean: clean - -.PHONY: glob-clean glob-realclean -glob-clean glob-realclean: - cd glob @@\ - $(MAKE) $@ - -# This tells versions [3.59,3.63) of GNU make not to export all variables. -.NOEXPORT: - -# The automatically generated dependencies below may omit config.h -# because it is included with ``#include '' rather than -# ``#include "config.h"''. So we add the explicit dependency to make sure. -$(objs): config.h - -# Automatically generated dependencies will be put at the end of the file. - -# Automatically generated dependencies. -commands.o: commands.c make.h dep.h filedef.h variable.h job.h \ - commands.h -job.o: job.c make.h job.h filedef.h commands.h variable.h -dir.o: dir.c make.h -file.o: file.c make.h dep.h filedef.h job.h commands.h variable.h -misc.o: misc.c make.h dep.h -main.o: main.c make.h dep.h filedef.h variable.h job.h commands.h \ - getopt.h -read.o: read.c make.h dep.h filedef.h job.h commands.h variable.h \ - glob/glob.h -remake.o: remake.c make.h filedef.h job.h commands.h dep.h -rule.o: rule.c make.h dep.h filedef.h job.h commands.h variable.h \ - rule.h -implicit.o: implicit.c make.h rule.h dep.h filedef.h -default.o: default.c make.h rule.h dep.h filedef.h job.h commands.h \ - variable.h -variable.o: variable.c make.h dep.h filedef.h job.h commands.h \ - variable.h -expand.o: expand.c make.h filedef.h job.h commands.h variable.h -function.o: function.c make.h filedef.h variable.h dep.h job.h \ - commands.h amiga.h -vpath.o: vpath.c make.h filedef.h variable.h -version.o: version.c -ar.o: ar.c make.h filedef.h dep.h -arscan.o: arscan.c make.h -signame.o: signame.c signame.h -remote-stub.o: remote-stub.c make.h filedef.h job.h commands.h -getopt.o: getopt.c -getopt1.o : getopt1.c getopt.h -getloadavg.o: getloadavg.c -amiga.o: amiga.c make.h variable.h amiga.h +# NOTE: If you have no `make' program at all to process this makefile, run +# `build.sh' instead. +# +# Copyright (C) 1988, 89, 91, 92, 93, 94, 1995 Free Software Foundation, Inc. +# This file is part of GNU Make. +# +# GNU Make is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# GNU Make is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Make; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# +# Makefile for GNU Make +# + +CC = sc +RM = delete + +CFLAGS = +CPPFLAGS = +LDFLAGS = + +# Define these for your system as follows: +# -DNO_ARCHIVES To disable `ar' archive support. +# -DNO_FLOAT To avoid using floating-point numbers. +# -DENUM_BITFIELDS If the compiler isn't GCC but groks enum foo:2. +# Some compilers apparently accept this +# without complaint but produce losing code, +# so beware. +# NeXT 1.0a uses an old version of GCC, which required -D__inline=inline. +# See also `config.h'. +defines = + +# Which flavor of remote job execution support to use. +# The code is found in `remote-$(REMOTE).c'. +REMOTE = stub + +# If you are using the GNU C library, or have the GNU getopt functions in +# your C library, you can comment these out. +GETOPT = getopt.o getopt1.o +GETOPT_SRC = $(srcdir)getopt.c $(srcdir)getopt1.c $(srcdir)getopt.h + +# If you are using the GNU C library, or have the GNU glob functions in +# your C library, you can comment this out. GNU make uses special hooks +# into the glob functions to be more efficient (by using make's directory +# cache for globbing), so you must use the GNU functions even if your +# system's C library has the 1003.2 glob functions already. Also, the glob +# functions in the AIX and HPUX C libraries are said to be buggy. +GLOB = glob/glob.lib + +# If your system doesn't have alloca, or the one provided is bad, define this. +ALLOCA = alloca.o +ALLOCA_SRC = $(srcdir)alloca.c + +# If your system needs extra libraries loaded in, define them here. +# System V probably need -lPW for alloca. HP-UX 7.0's alloca in +# libPW.a is broken on HP9000s300 and HP9000s400 machines. Use +# alloca.c instead on those machines. +LOADLIBES = + +# Any extra object files your system needs. +extras = amiga.o + +# Common prefix for machine-independent installed files. +prefix = +# Common prefix for machine-dependent installed files. +exec_prefix = + +# Directory to install `make' in. +bindir = sc:c +# Directory to find libraries in for `-lXXX'. +libdir = lib: +# Directory to search by default for included makefiles. +includedir = include: +# Directory to install the Info files in. +infodir = doc: +# Directory to install the man page in. +mandir = t: +# Number to put on the man page filename. +manext = 1 +# Prefix to put on installed `make' binary file name. +binprefix = +# Prefix to put on installed `make' man page file name. +manprefix = $(binprefix) + +# Whether or not make needs to be installed setgid. +# The value should be either `true' or `false'. +# On many systems, the getloadavg function (used to implement the `-l' +# switch) will not work unless make is installed setgid kmem. +install_setgid = false +# Install make setgid to this group so it can read /dev/kmem. +group = sys + +# Program to install `make'. +INSTALL_PROGRAM = copy +# Program to install the man page. +INSTALL_DATA = copy +# Generic install program. +INSTALL = copy + +# Program to format Texinfo source into Info files. +MAKEINFO = makeinfo +# Program to format Texinfo source into DVI files. +TEXI2DVI = texi2dvi + +# Programs to make tags files. +ETAGS = etags -w +CTAGS = ctags -w + +objs = commands.o job.o dir.o file.o misc.o main.o read.o remake.o \ + rule.o implicit.o default.o variable.o expand.o function.o \ + vpath.o version.o ar.o arscan.o signame.o hash.o \ + remote-$(REMOTE).o $(GETOPT) $(ALLOCA) $(extras) +srcs = $(srcdir)commands.c $(srcdir)job.c $(srcdir)dir.c \ + $(srcdir)file.c $(srcdir)getloadavg.c $(srcdir)misc.c \ + $(srcdir)main.c $(srcdir)read.c $(srcdir)remake.c \ + $(srcdir)rule.c $(srcdir)implicit.c $(srcdir)default.c \ + $(srcdir)variable.c $(srcdir)expand.c $(srcdir)function.c \ + $(srcdir)vpath.c $(srcdir)version.c $(srcdir)hash.c \ + $(srcdir)remote-$(REMOTE).c \ + $(srcdir)ar.c $(srcdir)arscan.c \ + $(srcdir)signame.c $(srcdir)signame.h $(GETOPT_SRC) \ + $(srcdir)commands.h $(srcdir)dep.h $(srcdir)filedep.h \ + $(srcdir)job.h $(srcdir)make.h $(srcdir)rule.h \ + $(srcdir)variable.h $(ALLOCA_SRC) $(srcdir)config.h.in + + +.SUFFIXES: +.SUFFIXES: .o .c .h .ps .dvi .info .texinfo + +all: make +info: make.info +dvi: make.dvi +# Some makes apparently use .PHONY as the default goal if it is before `all'. +.PHONY: all check info dvi + +make.info: make.texinfo + $(MAKEINFO) -I$(srcdir) $(srcdir)make.texinfo -o make.info + +make.dvi: make.texinfo + $(TEXI2DVI) $(srcdir)make.texinfo + +make.ps: make.dvi + dvi2ps make.dvi > make.ps + +make: $(objs) $(GLOB) + $(CC) Link $(LDFLAGS) $(objs) Lib $(GLOB) $(LOADLIBES) To make.new + -delete make + rename make.new make + +TMPFILE = t:Make$$ + +$(GLOB): + cd glob @@\ + $(MAKE) -$(MAKEFLAGS) -f Makefile + +# -I. is needed to find config.h in the build directory. +OUTPUT_OPTION = +.c.o: + $(CC) $(defines) IDir "" IDir glob \ + $(CPPFLAGS) $(CFLAGS) $< $(OUTPUT_OPTION) + +# For some losing Unix makes. +SHELL = /bin/sh +#@SET_MAKE@ + +glob/libglob.a: FORCE config.h + cd glob; $(MAKE) libglob.a +FORCE: + +tagsrcs = $(srcs) $(srcdir)remote-*.c + +.PHONY: install installdirs +install: installdirs \ + $(bindir)$(binprefix)make $(infodir)make.info \ + $(mandir)$(manprefix)make.$(manext) + +installdirs: + $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(mandir) + +$(bindir)$(binprefix)make: make + $(INSTALL_PROGRAM) make $@.new + @if $(install_setgid); then \ + if chgrp $(group) $@.new && chmod g+s $@.new; then \ + echo "chgrp $(group) $@.new && chmod g+s $@.new"; \ + else \ + echo "$@ needs to be owned by group $(group) and setgid;"; \ + echo "otherwise the \`-l' option will probably not work."; \ + echo "You may need special privileges to install $@."; \ + fi; \ + else true; fi +# Some systems can't deal with renaming onto a running binary. + -$(RM) $@.old + -mv $@ $@.old + mv $@.new $@ + +$(infodir)make.info: make.info + if [ -r ./make.info ]; then dir=.; else dir=$(srcdir); fi; \ + for file in $${dir}/make.info*; do \ + name="`basename $$file`"; \ + $(INSTALL_DATA) $$file \ + `echo $@ | sed "s,make.info\$$,$$name,"`; \ + done +# Run install-info only if it exists. +# Use `if' instead of just prepending `-' to the +# line so we notice real errors from install-info. +# We use `$(SHELL) -c' because some shells do not +# fail gracefully when there is an unknown command. + if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \ + if [ -r ./make.info ]; then dir=.; else dir=$(srcdir); fi; \ + install-info --infodir=$(infodir) $$dir/make.info; \ + else true; fi + +$(mandir)$(manprefix)make.$(manext): make.man + $(INSTALL_DATA) $(srcdir)make.man $@ + + +loadavg: loadavg.c config.h + $(CC) $(defines) -DTEST -I. -I$(srcdir) $(CFLAGS) $(LDFLAGS) \ + loadavg.c $(LOADLIBES) -o $@ +# We copy getloadavg.c into a different file rather than compiling it +# directly because some compilers clobber getloadavg.o in the process. +loadavg.c: getloadavg.c + ln $(srcdir)getloadavg.c loadavg.c || \ + cp $(srcdir)getloadavg.c loadavg.c +check-loadavg: loadavg + @echo The system uptime program believes the load average to be: + -uptime + @echo The GNU load average checking code believes: + ./loadavg +check: check-loadavg + + +.PHONY: clean realclean distclean mostlyclean +clean: glob-clean + -$(RM) make loadavg "#?.o" core make.dvi + +distclean: clean glob-realclean + -$(RM) Makefile config.h config.status build.sh + -$(RM) config.log config.cache + -$(RM) TAGS tags + -$(RM) make.?? make.??s make.log make.toc make.*aux + -$(RM) loadavg.c + +realclean: distclean + -$(RM) make.info* +mostlyclean: clean + +.PHONY: glob-clean glob-realclean +glob-clean glob-realclean: + cd glob @@\ + $(MAKE) $@ + +# This tells versions [3.59,3.63) of GNU make not to export all variables. +.NOEXPORT: + +# The automatically generated dependencies below may omit config.h +# because it is included with ``#include '' rather than +# ``#include "config.h"''. So we add the explicit dependency to make sure. +$(objs): config.h + +# Automatically generated dependencies will be put at the end of the file. + +# Automatically generated dependencies. +commands.o: commands.c make.h dep.h filedef.h variable.h job.h \ + commands.h +job.o: job.c make.h job.h filedef.h commands.h variable.h +dir.o: dir.c make.h +file.o: file.c make.h dep.h filedef.h job.h commands.h variable.h +misc.o: misc.c make.h dep.h +main.o: main.c make.h dep.h filedef.h variable.h job.h commands.h \ + getopt.h +read.o: read.c make.h dep.h filedef.h job.h commands.h variable.h \ + glob/glob.h +remake.o: remake.c make.h filedef.h job.h commands.h dep.h +rule.o: rule.c make.h dep.h filedef.h job.h commands.h variable.h \ + rule.h +implicit.o: implicit.c make.h rule.h dep.h filedef.h +default.o: default.c make.h rule.h dep.h filedef.h job.h commands.h \ + variable.h +variable.o: variable.c make.h dep.h filedef.h job.h commands.h \ + variable.h +expand.o: expand.c make.h filedef.h job.h commands.h variable.h +function.o: function.c make.h filedef.h variable.h dep.h job.h \ + commands.h amiga.h +vpath.o: vpath.c make.h filedef.h variable.h +version.o: version.c +ar.o: ar.c make.h filedef.h dep.h +arscan.o: arscan.c make.h +signame.o: signame.c signame.h +remote-stub.o: remote-stub.c make.h filedef.h job.h commands.h +getopt.o: getopt.c +getopt1.o : getopt1.c getopt.h +getloadavg.o: getloadavg.c +amiga.o: amiga.c make.h variable.h amiga.h diff --git a/src/mkutil/make/NEWS b/src/mkutil/make/NEWS index a93fc4e1..6c45fe6f 100644 --- a/src/mkutil/make/NEWS +++ b/src/mkutil/make/NEWS @@ -1,877 +1,877 @@ -GNU make NEWS -*-indented-text-*- - History of user-visible changes. - 17 April 2003 - -Copyright (C) 2002,2003 Free Software Foundation, Inc. -See the end for copying conditions. - -All changes mentioned here are more fully described in the GNU make -manual, which is contained in this distribution as the file doc/make.texi. - -Please send GNU make bug reports to . -See the README file and the GNU make manual for details on sending bug -reports. - -Version 3.81a2 - -* GNU make is ported to OS/2. - Port provided by Andreas Buening . - -* All pattern-specific variables that match a given target are now used - (previously only the first match was used). - -* Target-specific variables can be marked as exportable using the - "export" keyword. - -* In a recursive $(call ...) context, any extra arguments from the outer - call are now masked in the context of the inner call. - -* Enhancements for POSIX compatibility: - - Only touch targets (under -t) if they have at least one command. - - -Version 3.80 - -* A new feature exists: order-only prerequisites. These prerequisites - affect the order in which targets are built, but they do not impact - the rebuild/no-rebuild decision of their dependents. That is to say, - they allow you to require target B be built before target A, without - requiring that target A will always be rebuilt if target B is updated. - Patch for this feature provided by Greg McGary . - -* For compatibility with SysV make, GNU make now supports the peculiar - syntax $$@, $$(@D), and $$(@F) in the prerequisites list of a rule. - This syntax is only valid within explicit and static pattern rules: it - cannot be used in implicit (suffix or pattern) rules. Edouard G. Parmelan - provided a patch implementing this feature; however, I - decided to implement it in a different way. - -* The argument to the "ifdef" conditional is now expanded before it's - tested, so it can be a constructed variable name. - - Similarly, the arguments to "export" (when not used in a variable - definition context) and "unexport" are also now expanded. - -* A new function is defined: $(value ...). The argument to this - function is the _name_ of a variable. The result of the function is - the value of the variable, without having been expanded. - -* A new function is defined: $(eval ...). The arguments to this - function should expand to makefile commands, which will then be - evaluated as if they had appeared in the makefile. In combination - with define/endef multiline variable definitions this is an extremely - powerful capability. The $(value ...) function is also sometimes - useful here. - -* A new built-in variable is defined, $(MAKEFILE_LIST). It contains a - list of each makefile GNU make has read, or started to read, in the - order in which they were encountered. So, the last filename in the - list when a makefile is just being read (before any includes) is the - name of the current makefile. - -* A new built-in variable is defined: $(.VARIABLES). When it is - expanded it returns a complete list of variable names defined by all - makefiles at that moment. - -* A new command-line option is defined, -B or --always-make. If - specified GNU make will consider all targets out-of-date even if they - would otherwise not be. - -* The arguments to $(call ...) functions were being stored in $1, $2, - etc. as recursive variables, even though they are fully expanded - before assignment. This means that escaped dollar signs ($$ etc.) - were not behaving properly. Now the arguments are stored as simple - variables. This may mean that if you added extra escaping to your - $(call ...) function arguments you will need to undo it now. - -* The variable invoked by $(call ...) can now be recursive: unlike other - variables it can reference itself and this will not produce an error - when it is used as the first argument to $(call ...) (but only then). - -* New pseudo-target .LOW_RESOLUTION_TIME, superseding the configure - option --disable-nsec-timestamps. You might need this if your build - process depends on tools like "cp -p" preserving time stamps, since - "cp -p" (right now) doesn't preserve the subsecond portion of a time - stamp. - -* Updated translations for French, Galician, German, Japanese, Korean, - and Russian. New translations for Croatian, Danish, Hebrew, and - Turkish. - -* Updated internationalization support to Gettext 0.11.5. - GNU make now uses Gettext's "external" feature, and does not include - any internationalization code itself. Configure will search your - system for an existing implementation of GNU Gettext (only GNU Gettext - is acceptable) and use it if it exists. If not, NLS will be disabled. - See ABOUT-NLS for more information. - -* Updated to autoconf 2.54 and automake 1.7. Users should not be impacted. - -Version 3.79.1 - -* .SECONDARY with no prerequisites now prevents any target from being - removed because make thinks it's an intermediate file, not just those - listed in the makefile. - -* New configure option --disable-nsec-timestamps, but this was - superseded in later versions by the .LOW_RESOLUTION_TIME pseudo-target. - -Version 3.79 - -* GNU make optionally supports internationalization and locales via the - GNU gettext (or local gettext if suitable) package. See the ABOUT-NLS - file for more information on configuring GNU make for NLS. - -* Previously, GNU make quoted variables such as MAKEFLAGS and - MAKEOVERRIDES for proper parsing by the shell. This allowed them to - be used within make build scripts. However, using them there is not - proper behavior: they are meant to be passed to subshells via the - environment. Unfortunately the values were not quoted properly to be - passed through the environment. This meant that make didn't properly - pass some types of command line values to submakes. - - With this version we change that behavior: now these variables are - quoted properly for passing through the environment, which is the - correct way to do it. If you previously used these variables - explicitly within a make rule you may need to re-examine your use for - correctness given this change. - -* A new pseudo-target .NOTPARALLEL is available. If defined, the - current makefile is run serially regardless of the value of -j. - However, submakes are still eligible for parallel execution. - -* The --debug option has changed: it now allows optional flags - controlling the amount and type of debugging output. By default only - a minimal amount information is generated, displaying the names of - "normal" targets (not makefiles) that were deemed out of date and in - need of being rebuilt. - - Note that the -d option behaves as before: it takes no arguments and - all debugging information is generated. - -* The `-p' (print database) output now includes filename and linenumber - information for variable definitions, to aid debugging. - -* The wordlist function no longer reverses its arguments if the "start" - value is greater than the "end" value. If that's true, nothing is - returned. - -* Hartmut Becker provided many updates for the VMS port of GNU make. - See the readme.vms file for more details. - -Version 3.78 - -* Two new functions, $(error ...) and $(warning ...) are available. The - former will cause make to fail and exit immediately upon expansion of - the function, with the text provided as the error message. The latter - causes the text provided to be printed as a warning message, but make - proceeds normally. - -* A new function $(call ...) is available. This allows users to create - their own parameterized macros and invoke them later. Original - implementation of this function was provided by Han-Wen Nienhuys - . - -* A new function $(if ...) is available. It provides if-then-else - capabilities in a builtin function. Original implementation of this - function was provided by Han-Wen Nienhuys . - -* Make defines a new variable, .LIBPATTERNS. This variable controls how - library dependency expansion (dependencies like ``-lfoo'') is performed. - -* Make accepts CRLF sequences as well as traditional LF, for - compatibility with makefiles created on other operating systems. - -* Make accepts a new option: -R, or --no-builtin-variables. This option - disables the definition of the rule-specific builtin variables (CC, - LD, AR, etc.). Specifying this option forces -r (--no-builtin-rules) - as well. - -* A "job server" feature, suggested by Howard Chu . - - On systems that support POSIX pipe(2) semantics, GNU make can now pass - -jN options to submakes rather than forcing them all to use -j1. The - top make and all its sub-make processes use a pipe to communicate with - each other to ensure that no more than N jobs are started across all - makes. To get the old behavior of -j back, you can configure make - with the --disable-job-server option. - -* The confusing term "dependency" has been replaced by the more accurate - and standard term "prerequisite", both in the manual and in all GNU make - output. - -* GNU make supports the "big archive" library format introduced in AIX 4.3. - -* GNU make supports large files on AIX, HP-UX, and IRIX. These changes - were provided by Paul Eggert . (Large file - support for Solaris and Linux was introduced in 3.77, but the - configuration had issues: these have also been resolved). - -* The Windows 95/98/NT (W32) version of GNU make now has native support - for the Cygnus Cygwin release B20.1 shell (bash). - -* The GNU make regression test suite, long available separately "under - the table", has been integrated into the release. You can invoke it - by running "make check" in the distribution. Note that it requires - Perl (either Perl 4 or Perl 5) to run. - -Version 3.77 - -* Implement BSD make's "?=" variable assignment operator. The variable - is assigned the specified value only if that variable is not already - defined. - -* Make defines a new variable, "CURDIR", to contain the current working - directory (after the -C option, if any, has been processed). - Modifying this variable has no effect on the operation of make. - -* Make defines a new default RCS rule, for new-style master file - storage: ``% :: RCS/%'' (note no ``,v'' suffix). - - Make defines new default rules for DOS-style C++ file naming - conventions, with ``.cpp'' suffixes. All the same rules as for - ``.cc'' and ``.C'' suffixes are provided, along with LINK.cpp and - COMPILE.cpp macros (which default to the same value as LINK.cc and - COMPILE.cc). Note CPPFLAGS is still C preprocessor flags! You should - use CXXFLAGS to change C++ compiler flags. - -* A new feature, "target-specific variable values", has been added. - This is a large change so please see the appropriate sections of the - manual for full details. Briefly, syntax like this: - - TARGET: VARIABLE = VALUE - - defines VARIABLE as VALUE within the context of TARGET. This is - similar to SunOS make's "TARGET := VARIABLE = VALUE" feature. Note - that the assignment may be of any type, not just recursive, and that - the override keyword is available. - - COMPATIBILITY: This new syntax means that if you have any rules where - the first or second dependency has an equal sign (=) in its name, - you'll have to escape them with a backslash: "foo : bar\=baz". - Further, if you have any dependencies which already contain "\=", - you'll have to escape both of them: "foo : bar\\\=baz". - -* A new appendix listing the most common error and warning messages - generated by GNU make, with some explanation, has been added to the - GNU make User's Manual. - -* Updates to the GNU make Customs library support (see README.customs). - -* Updates to the Windows 95/NT port from Rob Tulloh (see README.W32), - and to the DOS port from Eli Zaretski (see README.DOS). - -Version 3.76.1 - -* Small (but serious) bug fix. Quick rollout to get into the GNU source CD. - -Version 3.76 - -* GNU make now uses automake to control Makefile.in generation. This - should make it more consistent with the GNU standards. - -* VPATH functionality has been changed to incorporate the VPATH+ patch, - previously maintained by Paul Smith . See the - manual. - -* Make defines a new variable, `MAKECMDGOALS', to contain the goals that - were specified on the command line, if any. Modifying this variable - has no effect on the operation of make. - -* A new function, `$(wordlist S,E,TEXT)', is available: it returns a - list of words from number S to number E (inclusive) of TEXT. - -* Instead of an error, detection of future modification times gives a - warning and continues. The warning is repeated just before GNU make - exits, so it is less likely to be lost. - -* Fix the $(basename) and $(suffix) functions so they only operate on - the last filename, not the entire string: - - Command Old Result New Result - ------- ---------- ---------- - $(basename a.b) a a - $(basename a.b/c) a a.b/c - $(suffix a.b) b b - $(suffix a.b/c) b/c - -* The $(strip) function now removes newlines as well as TABs and spaces. - -* The $(shell) function now changes CRLF (\r\n) pairs to a space as well - as newlines (\n). - -* Updates to the Windows 95/NT port from Rob Tulloh (see README.W32). - -* Eli Zaretskii has updated the port to 32-bit protected mode on MSDOS - and MS-Windows, building with the DJGPP v2 port of GNU C/C++ compiler - and utilities. See README.DOS for details, and direct all questions - concerning this port to Eli Zaretskii or DJ - Delorie . - -* John W. Eaton has updated the VMS port to support libraries and VPATH. - -Version 3.75 - -* The directory messages printed by `-w' and implicitly in sub-makes, - are now omitted if Make runs no commands and has no other messages to print. - -* Make now detects files that for whatever reason have modification times - in the future and gives an error. Files with such impossible timestamps - can result from unsynchronized clocks, or archived distributions - containing bogus timestamps; they confuse Make's dependency engine - thoroughly. - -* The new directive `sinclude' is now recognized as another name for - `-include', for compatibility with some other Makes. - -* Aaron Digulla has contributed a port to AmigaDOS. See README.Amiga for - details, and direct all Amiga-related questions to . - -* Rob Tulloh of Tivoli Systems has contributed a port to Windows NT or 95. - See README.W32 for details, and direct all Windows-related questions to - . - -Version 3.73 - -* Converted to use Autoconf version 2, so `configure' has some new options. - See INSTALL for details. - -* You can now send a SIGUSR1 signal to Make to toggle printing of debugging - output enabled by -d, at any time during the run. - -Version 3.72 - -* DJ Delorie has ported Make to MS-DOS using the GO32 extender. - He is maintaining the DOS port, not the GNU Make maintainer; - please direct bugs and questions for DOS to . - MS-DOS binaries are available for FTP from ftp.simtel.net in - /pub/simtelnet/gnu/djgpp/. - -* The `MAKEFLAGS' variable (in the environment or in a makefile) can now - contain variable definitions itself; these are treated just like - command-line variable definitions. Make will automatically insert any - variable definitions from the environment value of `MAKEFLAGS' or from - the command line, into the `MAKEFLAGS' value exported to children. The - `MAKEOVERRIDES' variable previously included in the value of `$(MAKE)' - for sub-makes is now included in `MAKEFLAGS' instead. As before, you can - reset `MAKEOVERRIDES' in your makefile to avoid putting all the variables - in the environment when its size is limited. - -* If `.DELETE_ON_ERROR' appears as a target, Make will delete the target of - a rule if it has changed when its commands exit with a nonzero status, - just as when the commands get a signal. - -* The automatic variable `$+' is new. It lists all the dependencies like - `$^', but preserves duplicates listed in the makefile. This is useful - for linking rules, where library files sometimes need to be listed twice - in the link order. - -* You can now specify the `.IGNORE' and `.SILENT' special targets with - dependencies to limit their effects to those files. If a file appears as - a dependency of `.IGNORE', then errors will be ignored while running the - commands to update that file. Likewise if a file appears as a dependency - of `.SILENT', then the commands to update that file will not be printed - before they are run. (This change was made to conform to POSIX.2.) - -Version 3.71 - -* The automatic variables `$(@D)', `$(%D)', `$(*D)', `$(. +See the README file and the GNU make manual for details on sending bug +reports. + +Version 3.81a2 + +* GNU make is ported to OS/2. + Port provided by Andreas Buening . + +* All pattern-specific variables that match a given target are now used + (previously only the first match was used). + +* Target-specific variables can be marked as exportable using the + "export" keyword. + +* In a recursive $(call ...) context, any extra arguments from the outer + call are now masked in the context of the inner call. + +* Enhancements for POSIX compatibility: + - Only touch targets (under -t) if they have at least one command. + + +Version 3.80 + +* A new feature exists: order-only prerequisites. These prerequisites + affect the order in which targets are built, but they do not impact + the rebuild/no-rebuild decision of their dependents. That is to say, + they allow you to require target B be built before target A, without + requiring that target A will always be rebuilt if target B is updated. + Patch for this feature provided by Greg McGary . + +* For compatibility with SysV make, GNU make now supports the peculiar + syntax $$@, $$(@D), and $$(@F) in the prerequisites list of a rule. + This syntax is only valid within explicit and static pattern rules: it + cannot be used in implicit (suffix or pattern) rules. Edouard G. Parmelan + provided a patch implementing this feature; however, I + decided to implement it in a different way. + +* The argument to the "ifdef" conditional is now expanded before it's + tested, so it can be a constructed variable name. + + Similarly, the arguments to "export" (when not used in a variable + definition context) and "unexport" are also now expanded. + +* A new function is defined: $(value ...). The argument to this + function is the _name_ of a variable. The result of the function is + the value of the variable, without having been expanded. + +* A new function is defined: $(eval ...). The arguments to this + function should expand to makefile commands, which will then be + evaluated as if they had appeared in the makefile. In combination + with define/endef multiline variable definitions this is an extremely + powerful capability. The $(value ...) function is also sometimes + useful here. + +* A new built-in variable is defined, $(MAKEFILE_LIST). It contains a + list of each makefile GNU make has read, or started to read, in the + order in which they were encountered. So, the last filename in the + list when a makefile is just being read (before any includes) is the + name of the current makefile. + +* A new built-in variable is defined: $(.VARIABLES). When it is + expanded it returns a complete list of variable names defined by all + makefiles at that moment. + +* A new command-line option is defined, -B or --always-make. If + specified GNU make will consider all targets out-of-date even if they + would otherwise not be. + +* The arguments to $(call ...) functions were being stored in $1, $2, + etc. as recursive variables, even though they are fully expanded + before assignment. This means that escaped dollar signs ($$ etc.) + were not behaving properly. Now the arguments are stored as simple + variables. This may mean that if you added extra escaping to your + $(call ...) function arguments you will need to undo it now. + +* The variable invoked by $(call ...) can now be recursive: unlike other + variables it can reference itself and this will not produce an error + when it is used as the first argument to $(call ...) (but only then). + +* New pseudo-target .LOW_RESOLUTION_TIME, superseding the configure + option --disable-nsec-timestamps. You might need this if your build + process depends on tools like "cp -p" preserving time stamps, since + "cp -p" (right now) doesn't preserve the subsecond portion of a time + stamp. + +* Updated translations for French, Galician, German, Japanese, Korean, + and Russian. New translations for Croatian, Danish, Hebrew, and + Turkish. + +* Updated internationalization support to Gettext 0.11.5. + GNU make now uses Gettext's "external" feature, and does not include + any internationalization code itself. Configure will search your + system for an existing implementation of GNU Gettext (only GNU Gettext + is acceptable) and use it if it exists. If not, NLS will be disabled. + See ABOUT-NLS for more information. + +* Updated to autoconf 2.54 and automake 1.7. Users should not be impacted. + +Version 3.79.1 + +* .SECONDARY with no prerequisites now prevents any target from being + removed because make thinks it's an intermediate file, not just those + listed in the makefile. + +* New configure option --disable-nsec-timestamps, but this was + superseded in later versions by the .LOW_RESOLUTION_TIME pseudo-target. + +Version 3.79 + +* GNU make optionally supports internationalization and locales via the + GNU gettext (or local gettext if suitable) package. See the ABOUT-NLS + file for more information on configuring GNU make for NLS. + +* Previously, GNU make quoted variables such as MAKEFLAGS and + MAKEOVERRIDES for proper parsing by the shell. This allowed them to + be used within make build scripts. However, using them there is not + proper behavior: they are meant to be passed to subshells via the + environment. Unfortunately the values were not quoted properly to be + passed through the environment. This meant that make didn't properly + pass some types of command line values to submakes. + + With this version we change that behavior: now these variables are + quoted properly for passing through the environment, which is the + correct way to do it. If you previously used these variables + explicitly within a make rule you may need to re-examine your use for + correctness given this change. + +* A new pseudo-target .NOTPARALLEL is available. If defined, the + current makefile is run serially regardless of the value of -j. + However, submakes are still eligible for parallel execution. + +* The --debug option has changed: it now allows optional flags + controlling the amount and type of debugging output. By default only + a minimal amount information is generated, displaying the names of + "normal" targets (not makefiles) that were deemed out of date and in + need of being rebuilt. + + Note that the -d option behaves as before: it takes no arguments and + all debugging information is generated. + +* The `-p' (print database) output now includes filename and linenumber + information for variable definitions, to aid debugging. + +* The wordlist function no longer reverses its arguments if the "start" + value is greater than the "end" value. If that's true, nothing is + returned. + +* Hartmut Becker provided many updates for the VMS port of GNU make. + See the readme.vms file for more details. + +Version 3.78 + +* Two new functions, $(error ...) and $(warning ...) are available. The + former will cause make to fail and exit immediately upon expansion of + the function, with the text provided as the error message. The latter + causes the text provided to be printed as a warning message, but make + proceeds normally. + +* A new function $(call ...) is available. This allows users to create + their own parameterized macros and invoke them later. Original + implementation of this function was provided by Han-Wen Nienhuys + . + +* A new function $(if ...) is available. It provides if-then-else + capabilities in a builtin function. Original implementation of this + function was provided by Han-Wen Nienhuys . + +* Make defines a new variable, .LIBPATTERNS. This variable controls how + library dependency expansion (dependencies like ``-lfoo'') is performed. + +* Make accepts CRLF sequences as well as traditional LF, for + compatibility with makefiles created on other operating systems. + +* Make accepts a new option: -R, or --no-builtin-variables. This option + disables the definition of the rule-specific builtin variables (CC, + LD, AR, etc.). Specifying this option forces -r (--no-builtin-rules) + as well. + +* A "job server" feature, suggested by Howard Chu . + + On systems that support POSIX pipe(2) semantics, GNU make can now pass + -jN options to submakes rather than forcing them all to use -j1. The + top make and all its sub-make processes use a pipe to communicate with + each other to ensure that no more than N jobs are started across all + makes. To get the old behavior of -j back, you can configure make + with the --disable-job-server option. + +* The confusing term "dependency" has been replaced by the more accurate + and standard term "prerequisite", both in the manual and in all GNU make + output. + +* GNU make supports the "big archive" library format introduced in AIX 4.3. + +* GNU make supports large files on AIX, HP-UX, and IRIX. These changes + were provided by Paul Eggert . (Large file + support for Solaris and Linux was introduced in 3.77, but the + configuration had issues: these have also been resolved). + +* The Windows 95/98/NT (W32) version of GNU make now has native support + for the Cygnus Cygwin release B20.1 shell (bash). + +* The GNU make regression test suite, long available separately "under + the table", has been integrated into the release. You can invoke it + by running "make check" in the distribution. Note that it requires + Perl (either Perl 4 or Perl 5) to run. + +Version 3.77 + +* Implement BSD make's "?=" variable assignment operator. The variable + is assigned the specified value only if that variable is not already + defined. + +* Make defines a new variable, "CURDIR", to contain the current working + directory (after the -C option, if any, has been processed). + Modifying this variable has no effect on the operation of make. + +* Make defines a new default RCS rule, for new-style master file + storage: ``% :: RCS/%'' (note no ``,v'' suffix). + + Make defines new default rules for DOS-style C++ file naming + conventions, with ``.cpp'' suffixes. All the same rules as for + ``.cc'' and ``.C'' suffixes are provided, along with LINK.cpp and + COMPILE.cpp macros (which default to the same value as LINK.cc and + COMPILE.cc). Note CPPFLAGS is still C preprocessor flags! You should + use CXXFLAGS to change C++ compiler flags. + +* A new feature, "target-specific variable values", has been added. + This is a large change so please see the appropriate sections of the + manual for full details. Briefly, syntax like this: + + TARGET: VARIABLE = VALUE + + defines VARIABLE as VALUE within the context of TARGET. This is + similar to SunOS make's "TARGET := VARIABLE = VALUE" feature. Note + that the assignment may be of any type, not just recursive, and that + the override keyword is available. + + COMPATIBILITY: This new syntax means that if you have any rules where + the first or second dependency has an equal sign (=) in its name, + you'll have to escape them with a backslash: "foo : bar\=baz". + Further, if you have any dependencies which already contain "\=", + you'll have to escape both of them: "foo : bar\\\=baz". + +* A new appendix listing the most common error and warning messages + generated by GNU make, with some explanation, has been added to the + GNU make User's Manual. + +* Updates to the GNU make Customs library support (see README.customs). + +* Updates to the Windows 95/NT port from Rob Tulloh (see README.W32), + and to the DOS port from Eli Zaretski (see README.DOS). + +Version 3.76.1 + +* Small (but serious) bug fix. Quick rollout to get into the GNU source CD. + +Version 3.76 + +* GNU make now uses automake to control Makefile.in generation. This + should make it more consistent with the GNU standards. + +* VPATH functionality has been changed to incorporate the VPATH+ patch, + previously maintained by Paul Smith . See the + manual. + +* Make defines a new variable, `MAKECMDGOALS', to contain the goals that + were specified on the command line, if any. Modifying this variable + has no effect on the operation of make. + +* A new function, `$(wordlist S,E,TEXT)', is available: it returns a + list of words from number S to number E (inclusive) of TEXT. + +* Instead of an error, detection of future modification times gives a + warning and continues. The warning is repeated just before GNU make + exits, so it is less likely to be lost. + +* Fix the $(basename) and $(suffix) functions so they only operate on + the last filename, not the entire string: + + Command Old Result New Result + ------- ---------- ---------- + $(basename a.b) a a + $(basename a.b/c) a a.b/c + $(suffix a.b) b b + $(suffix a.b/c) b/c + +* The $(strip) function now removes newlines as well as TABs and spaces. + +* The $(shell) function now changes CRLF (\r\n) pairs to a space as well + as newlines (\n). + +* Updates to the Windows 95/NT port from Rob Tulloh (see README.W32). + +* Eli Zaretskii has updated the port to 32-bit protected mode on MSDOS + and MS-Windows, building with the DJGPP v2 port of GNU C/C++ compiler + and utilities. See README.DOS for details, and direct all questions + concerning this port to Eli Zaretskii or DJ + Delorie . + +* John W. Eaton has updated the VMS port to support libraries and VPATH. + +Version 3.75 + +* The directory messages printed by `-w' and implicitly in sub-makes, + are now omitted if Make runs no commands and has no other messages to print. + +* Make now detects files that for whatever reason have modification times + in the future and gives an error. Files with such impossible timestamps + can result from unsynchronized clocks, or archived distributions + containing bogus timestamps; they confuse Make's dependency engine + thoroughly. + +* The new directive `sinclude' is now recognized as another name for + `-include', for compatibility with some other Makes. + +* Aaron Digulla has contributed a port to AmigaDOS. See README.Amiga for + details, and direct all Amiga-related questions to . + +* Rob Tulloh of Tivoli Systems has contributed a port to Windows NT or 95. + See README.W32 for details, and direct all Windows-related questions to + . + +Version 3.73 + +* Converted to use Autoconf version 2, so `configure' has some new options. + See INSTALL for details. + +* You can now send a SIGUSR1 signal to Make to toggle printing of debugging + output enabled by -d, at any time during the run. + +Version 3.72 + +* DJ Delorie has ported Make to MS-DOS using the GO32 extender. + He is maintaining the DOS port, not the GNU Make maintainer; + please direct bugs and questions for DOS to . + MS-DOS binaries are available for FTP from ftp.simtel.net in + /pub/simtelnet/gnu/djgpp/. + +* The `MAKEFLAGS' variable (in the environment or in a makefile) can now + contain variable definitions itself; these are treated just like + command-line variable definitions. Make will automatically insert any + variable definitions from the environment value of `MAKEFLAGS' or from + the command line, into the `MAKEFLAGS' value exported to children. The + `MAKEOVERRIDES' variable previously included in the value of `$(MAKE)' + for sub-makes is now included in `MAKEFLAGS' instead. As before, you can + reset `MAKEOVERRIDES' in your makefile to avoid putting all the variables + in the environment when its size is limited. + +* If `.DELETE_ON_ERROR' appears as a target, Make will delete the target of + a rule if it has changed when its commands exit with a nonzero status, + just as when the commands get a signal. + +* The automatic variable `$+' is new. It lists all the dependencies like + `$^', but preserves duplicates listed in the makefile. This is useful + for linking rules, where library files sometimes need to be listed twice + in the link order. + +* You can now specify the `.IGNORE' and `.SILENT' special targets with + dependencies to limit their effects to those files. If a file appears as + a dependency of `.IGNORE', then errors will be ignored while running the + commands to update that file. Likewise if a file appears as a dependency + of `.SILENT', then the commands to update that file will not be printed + before they are run. (This change was made to conform to POSIX.2.) + +Version 3.71 + +* The automatic variables `$(@D)', `$(%D)', `$(*D)', `$(). - - When the $SHELL variable points to a Unix-style shell, Make - works just like you'd expect on Unix, calling the shell for any - command that involves characters special to the shell or - internal shell commands. The only difference is that, since - there is no standard way to pass command lines longer than the - infamous DOS 126-character limit, this port of Make writes the - command line to a temporary disk file and then invokes the shell - on that file. - - If $SHELL points to a DOS-style shell, however, Make will not - call it automatically, as it does with Unix shells. Stock - COMMAND.COM is too dumb and would unnecessarily limit the - functionality of Make. For example, you would not be able to - use long command lines in commands that use redirection or - pipes. Therefore, when presented with a DOS shell, this port of - Make will emulate most of the shell functionality, like - redirection and pipes, and shall only call the shell when a - batch file or a command internal to the shell is invoked. (Even - when a command is an internal shell command, Make will first - search the $PATH for it, so that if a Makefile calls `mkdir', - you can install, say, a port of GNU `mkdir' and have it called - in that case.) - - The key to all this is the extended functionality of `spawn' and - `system' functions from the DJGPP library; this port just calls - `system' where it would invoke the shell on Unix. The most - important aspect of these functions is that they use a special - mechanism to pass long (up to 16KB) command lines to DJGPP - programs. In addition, `system' emulates some internal - commands, like `cd' (so that you can now use forward slashes - with it, and can also change the drive if the directory is on - another drive). Another aspect worth mentioning is that you can - call Unix shell scripts directly, provided that the shell whose - name is mentioned on the first line of the script is installed - anywhere along the $PATH. It is impossible to tell here - everything about these functions; refer to the DJGPP library - reference for more details. - - The $(shell) built-in is implemented in this port by calling - `popen'. Since `popen' calls `system', the above considerations - are valid for $(shell) as well. In particular, you can put - arbitrary complex commands, including pipes and redirection, - inside $(shell), which is in many cases a valid substitute for - the Unix-style command substitution (`command`) feature. - - - 2. "SHELL=/bin/sh" -- or is it? - - Many Unix Makefiles include a line which sets the SHELL, for - those versions of Make which don't have this as the default. - Since many DOS systems don't have `sh' installed (in fact, most - of them don't even have a `/bin' directory), this port takes - such directives with a grain of salt. It will only honor such a - directive if the basename of the shell name (like `sh' in the - above example) can indeed be found in the directory that is - mentioned in the SHELL= line (`/bin' in the above example), or - in the current working directory, or anywhere on the $PATH (in - that order). If the basename doesn't include a filename - extension, Make will look for any known extension that indicates - an executable file (.exe, .com, .bat, .btm, .sh, and even .sed - and .pl). If any such file is found, then $SHELL will be - defined to the exact pathname of that file, and that shell will - hence be used for the rest of processing. But if the named - shell is *not* found, the line which sets it will be effectively - ignored, leaving the value of $SHELL as it was before. Since a - lot of decisions that this port makes depend on the gender of - the shell, I feel it doesn't make any sense to tailor Make's - behavior to a shell which is nowhere to be found. - - Note that the above special handling of "SHELL=" only happens - for Makefiles; if you set $SHELL in the environment or on the - Make command line, you are expected to give the complete - pathname of the shell, including the filename extension. - - The default value of $SHELL is computed as on Unix (see the Make - manual for details), except that if $SHELL is not defined in the - environment, $COMSPEC is used. Also, if an environment variable - named $MAKESHELL is defined, it takes precedence over both - $COMSPEC and $SHELL. Note that, unlike Unix, $SHELL in the - environment *is* used to set the shell (since on MSDOS, it's - unlikely that the interactive shell will not be suitable for - Makefile processing). - - The bottom line is that you can now write Makefiles where some - of the targets require a real (i.e. Unix-like) shell, which will - nevertheless work when such shell is not available (provided, of - course, that the commands which should always work, don't - require such a shell). More important, you can convert Unix - Makefiles to MSDOS and leave the line which sets the shell - intact, so that people who do have Unixy shell could use it for - targets which aren't converted to DOS (like `install' and - `uninstall', for example). - - - 3. Default directories. - - GNU Make knows about standard directories where it searches for - library and include files mentioned in the Makefile. Since - MSDOS machines don't have standard places for these, this port - will search ${DJDIR}/lib and ${DJDIR}/include respectively. - $DJDIR is defined automatically by the DJGPP startup code as the - root of the DJGPP installation tree (unless you've tampered with - the DJGPP.ENV file). This should provide reasonable default - values, unless you moved parts of DJGPP to other directories. - - - 4. Letter-case in filenames. - - If you run Make on Windows 9x, you should be aware of the - letter-case issue. Make is internally case-sensitive, but all - file operations are case-insensitive on Windows 9x, so - e.g. files `FAQ', `faq' and `Faq' all refer to the same file, as - far as Windows is concerned. The underlying DJGPP C library - functions honor the letter-case of the filenames they get from - the OS, except that by default, they down-case 8+3 DOS filenames - which are stored in upper case in the directory and would break - many Makefiles otherwise. (The details of which filenames are - converted to lower case are explained in the DJGPP libc docs, - under the `_preserve_fncase' and `_lfn_gen_short_fname' - functions, but as a thumb rule, any filename that is stored in - upper case in the directory, is a valid DOS 8+3 filename and - doesn't include characters invalid on MSDOS FAT filesystems, - will be automatically down-cased.) User reports that I have - indicate that this default behavior is generally what you'd - expect; however, your input is most welcome. - - In any case, if you hit a situation where you must force Make to - get the 8+3 DOS filenames in upper case, set FNCASE=y in the - environment or in the Makefile. - - - 5. DOS-style pathnames. - - There are a lot of places throughout the program sources which - make implicit assumptions about the pathname syntax. In - particular, the directories are assumed to be separated by `/', - and any pathname which doesn't begin with a `/' is assumed to be - relative to the current directory. This port attempts to - support DOS-style pathnames which might include the drive letter - and use backslashes instead of forward slashes. However, this - support is not complete; I feel that pursuing this support too - far might break some more important features, particularly if - you use a Unix-style shell (where a backslash is a quote - character). I only consider support of backslashes desirable - because some Makefiles invoke non-DJGPP programs which don't - understand forward slashes. A notable example of such programs - is the standard programs which come with MSDOS. Otherwise, you - are advised to stay away from backslashes whenever possible. In - particular, filename globbing won't work on pathnames with - backslashes, because the GNU `glob' library doesn't support them - (backslash is special in filename wildcards, and I didn't want - to break that). - - One feature which *does* work with backslashes is the filename- - related built-in functions such as $(dir), $(notdir), etc. - Drive letters in pathnames are also fully supported. - - - -Bug reports: ------------ - - Bugs that are clearly related to the MSDOS/DJGPP port should be - reported first on the comp.os.msdos.djgpp news group (if you cannot - post to Usenet groups, write to the DJGPP mailing list, - , which is an email gateway into the above news - group). For other bugs, please follow the procedure explained in - the "Bugs" chapter of the Info docs. If you don't have an Info - reader, look up that chapter in the `make.i1' file with any text - browser/editor. - - - Enjoy, - Eli Zaretskii +Port of GNU Make to 32-bit protected mode on MSDOS and MS-Windows. + +Builds with DJGPP v2 port of GNU C/C++ compiler and utilities. + + +New (since 3.74) DOS-specific features: + + 1. Supports long filenames when run from DOS box on Windows 9x. + + 2. Supports both stock DOS COMMAND.COM and Unix-style shells + (details in ``Notes'' below). + + 3. Supports DOS drive letters in dependencies and pattern rules. + + 4. Better support for DOS-style backslashes in pathnames (but see + ``Notes'' below). + + 5. The $(shell) built-in can run arbitrary complex commands, + including pipes and redirection, even when COMMAND.COM is your + shell. + + 6. Can be built without floating-point code (see below). + + 7. Supports signals in child programs and restores the original + directory if the child was interrupted. + + 8. Can be built without (a previous version of) Make. + + 9. The build process requires only standard tools. (Optional + targets like "install:" and "clean:" still need additional + programs, though, see below.) + + 10. Beginning with v3.78, the test suite works in the DJGPP + environment (requires Perl and auxiliary tools; see below). + + +To install a binary distribution: + + Simply unzip the makNNNb.zip file (where NNN is the version number) + preserving the directory structure (-d switch if you use PKUNZIP). + If you are installing Make on Windows 9X or Windows 2000, use an + unzip program that supports long filenames in zip files. After + unzipping, make sure the directory with make.exe is on your PATH, + and that's all you need to use Make. + + +To build from sources: + + 1. Unzip the archive, preserving the directory structure (-d switch + if you use PKUNZIP). If you build Make on Windows 9X or Windows + 2000, use an unzip program that supports long filenames in zip + files. + + If you are unpacking an official GNU source distribution, use + either DJTAR (which is part of the DJGPP development + environment), or the DJGPP port of GNU Tar. + + 2. Invoke the `configure.bat' batch file. + + If you are building Make in-place, i.e. in the same directory + where its sources are kept, just type "configure.bat" and press + [Enter]. Otherwise, you need to supply the path to the source + directory as an argument to the batch file, like this: + + c:\djgpp\gnu\make-%VERSION%\configure.bat c:/djgpp/gnu/make-%VERSION% + + Note the forward slashes in the source path argument: you MUST + use them here. + + 3. If configure.bat doesn't find a working Make, it will suggest to + use the `dosbuild.bat' batch file to build Make. Either do as it + suggests or install another Make program (a pre-compiled binary + should be available from the usual DJGPP sites) and rerun + configure.bat. + + 4. If you will need to run Make on machines without an FPU, you + might consider building a version of Make which doesn't issue + floating-point instructions (they don't help much on MSDOS + anyway). To this end, edit the Makefile created by + configure.bat and add -DNO_FLOAT to the value of CPPFLAGS. + + 5. Invoke Make. + + If you are building from outside of the source directory, you + need to tell Make where the sources are, like this: + + make srcdir=c:/djgpp/gnu/make-%VERSION% + + (configure.bat will tell you this when it finishes). You MUST + use a full, not relative, name of the source directory here, or + else Make might fail. + + 6. After Make finishes, if you have a Unix-style shell installed, + you can use the `install' target to install the package. You + will also need GNU Fileutils and GNU Sed for this (they should + be available from the DJGPP sites). + + By default, GNU make will install into your DJGPP installation + area. If you wish to use a different directory, override the + DESTDIR variable when invoking "make install", like this: + + make install DESTDIR=c:/other/dir + + This causes the make executable to be placed in c:/other/dir/bin, + the man pages in c:/other/dir/man, etc. + + Without a Unix-style shell, you will have to install programs + and the docs manually. Copy make.exe to a directory on your + PATH, make.i* info files to your Info directory, and update the + file `dir' in your Info directory by adding the following item + to the main menu: + + * Make: (make.info). The GNU make utility. + + If you have the `install-info' program (from the GNU Texinfo + package), it will do that for you if you invoke it like this: + + install-info --info-dir=c:/djgpp/info c:/djgpp/info/make.info + + (If your Info directory is other than C:\DJGPP\INFO, change this + command accordingly.) + + 7. The `clean' targets also require Unix-style shell, and GNU Sed + and `rm' programs (the latter from Fileutils). + + 8. To run the test suite, type "make check". This requires a Unix + shell (I used the DJGPP port of Bash 2.03), Perl, Sed, Fileutils + and Sh-utils. + + +Notes: +----- + + 1. The shell issue. + + This is probably the most significant improvement, first + introduced in the port of GNU Make 3.75. + + The original behavior of GNU Make is to invoke commands + directly, as long as they don't include characters special to + the shell or internal shell commands, because that is faster. + When shell features like redirection or filename wildcards are + involved, Make calls the shell. + + This port supports both DOS shells (the stock COMMAND.COM and its + 4DOS/NDOS replacements), and Unix-style shells (tested with the + venerable Stewartson's `ms_sh' 2.3 and the DJGPP port of `bash' by + Daisuke Aoyama ). + + When the $SHELL variable points to a Unix-style shell, Make + works just like you'd expect on Unix, calling the shell for any + command that involves characters special to the shell or + internal shell commands. The only difference is that, since + there is no standard way to pass command lines longer than the + infamous DOS 126-character limit, this port of Make writes the + command line to a temporary disk file and then invokes the shell + on that file. + + If $SHELL points to a DOS-style shell, however, Make will not + call it automatically, as it does with Unix shells. Stock + COMMAND.COM is too dumb and would unnecessarily limit the + functionality of Make. For example, you would not be able to + use long command lines in commands that use redirection or + pipes. Therefore, when presented with a DOS shell, this port of + Make will emulate most of the shell functionality, like + redirection and pipes, and shall only call the shell when a + batch file or a command internal to the shell is invoked. (Even + when a command is an internal shell command, Make will first + search the $PATH for it, so that if a Makefile calls `mkdir', + you can install, say, a port of GNU `mkdir' and have it called + in that case.) + + The key to all this is the extended functionality of `spawn' and + `system' functions from the DJGPP library; this port just calls + `system' where it would invoke the shell on Unix. The most + important aspect of these functions is that they use a special + mechanism to pass long (up to 16KB) command lines to DJGPP + programs. In addition, `system' emulates some internal + commands, like `cd' (so that you can now use forward slashes + with it, and can also change the drive if the directory is on + another drive). Another aspect worth mentioning is that you can + call Unix shell scripts directly, provided that the shell whose + name is mentioned on the first line of the script is installed + anywhere along the $PATH. It is impossible to tell here + everything about these functions; refer to the DJGPP library + reference for more details. + + The $(shell) built-in is implemented in this port by calling + `popen'. Since `popen' calls `system', the above considerations + are valid for $(shell) as well. In particular, you can put + arbitrary complex commands, including pipes and redirection, + inside $(shell), which is in many cases a valid substitute for + the Unix-style command substitution (`command`) feature. + + + 2. "SHELL=/bin/sh" -- or is it? + + Many Unix Makefiles include a line which sets the SHELL, for + those versions of Make which don't have this as the default. + Since many DOS systems don't have `sh' installed (in fact, most + of them don't even have a `/bin' directory), this port takes + such directives with a grain of salt. It will only honor such a + directive if the basename of the shell name (like `sh' in the + above example) can indeed be found in the directory that is + mentioned in the SHELL= line (`/bin' in the above example), or + in the current working directory, or anywhere on the $PATH (in + that order). If the basename doesn't include a filename + extension, Make will look for any known extension that indicates + an executable file (.exe, .com, .bat, .btm, .sh, and even .sed + and .pl). If any such file is found, then $SHELL will be + defined to the exact pathname of that file, and that shell will + hence be used for the rest of processing. But if the named + shell is *not* found, the line which sets it will be effectively + ignored, leaving the value of $SHELL as it was before. Since a + lot of decisions that this port makes depend on the gender of + the shell, I feel it doesn't make any sense to tailor Make's + behavior to a shell which is nowhere to be found. + + Note that the above special handling of "SHELL=" only happens + for Makefiles; if you set $SHELL in the environment or on the + Make command line, you are expected to give the complete + pathname of the shell, including the filename extension. + + The default value of $SHELL is computed as on Unix (see the Make + manual for details), except that if $SHELL is not defined in the + environment, $COMSPEC is used. Also, if an environment variable + named $MAKESHELL is defined, it takes precedence over both + $COMSPEC and $SHELL. Note that, unlike Unix, $SHELL in the + environment *is* used to set the shell (since on MSDOS, it's + unlikely that the interactive shell will not be suitable for + Makefile processing). + + The bottom line is that you can now write Makefiles where some + of the targets require a real (i.e. Unix-like) shell, which will + nevertheless work when such shell is not available (provided, of + course, that the commands which should always work, don't + require such a shell). More important, you can convert Unix + Makefiles to MSDOS and leave the line which sets the shell + intact, so that people who do have Unixy shell could use it for + targets which aren't converted to DOS (like `install' and + `uninstall', for example). + + + 3. Default directories. + + GNU Make knows about standard directories where it searches for + library and include files mentioned in the Makefile. Since + MSDOS machines don't have standard places for these, this port + will search ${DJDIR}/lib and ${DJDIR}/include respectively. + $DJDIR is defined automatically by the DJGPP startup code as the + root of the DJGPP installation tree (unless you've tampered with + the DJGPP.ENV file). This should provide reasonable default + values, unless you moved parts of DJGPP to other directories. + + + 4. Letter-case in filenames. + + If you run Make on Windows 9x, you should be aware of the + letter-case issue. Make is internally case-sensitive, but all + file operations are case-insensitive on Windows 9x, so + e.g. files `FAQ', `faq' and `Faq' all refer to the same file, as + far as Windows is concerned. The underlying DJGPP C library + functions honor the letter-case of the filenames they get from + the OS, except that by default, they down-case 8+3 DOS filenames + which are stored in upper case in the directory and would break + many Makefiles otherwise. (The details of which filenames are + converted to lower case are explained in the DJGPP libc docs, + under the `_preserve_fncase' and `_lfn_gen_short_fname' + functions, but as a thumb rule, any filename that is stored in + upper case in the directory, is a valid DOS 8+3 filename and + doesn't include characters invalid on MSDOS FAT filesystems, + will be automatically down-cased.) User reports that I have + indicate that this default behavior is generally what you'd + expect; however, your input is most welcome. + + In any case, if you hit a situation where you must force Make to + get the 8+3 DOS filenames in upper case, set FNCASE=y in the + environment or in the Makefile. + + + 5. DOS-style pathnames. + + There are a lot of places throughout the program sources which + make implicit assumptions about the pathname syntax. In + particular, the directories are assumed to be separated by `/', + and any pathname which doesn't begin with a `/' is assumed to be + relative to the current directory. This port attempts to + support DOS-style pathnames which might include the drive letter + and use backslashes instead of forward slashes. However, this + support is not complete; I feel that pursuing this support too + far might break some more important features, particularly if + you use a Unix-style shell (where a backslash is a quote + character). I only consider support of backslashes desirable + because some Makefiles invoke non-DJGPP programs which don't + understand forward slashes. A notable example of such programs + is the standard programs which come with MSDOS. Otherwise, you + are advised to stay away from backslashes whenever possible. In + particular, filename globbing won't work on pathnames with + backslashes, because the GNU `glob' library doesn't support them + (backslash is special in filename wildcards, and I didn't want + to break that). + + One feature which *does* work with backslashes is the filename- + related built-in functions such as $(dir), $(notdir), etc. + Drive letters in pathnames are also fully supported. + + + +Bug reports: +----------- + + Bugs that are clearly related to the MSDOS/DJGPP port should be + reported first on the comp.os.msdos.djgpp news group (if you cannot + post to Usenet groups, write to the DJGPP mailing list, + , which is an email gateway into the above news + group). For other bugs, please follow the procedure explained in + the "Bugs" chapter of the Info docs. If you don't have an Info + reader, look up that chapter in the `make.i1' file with any text + browser/editor. + + + Enjoy, + Eli Zaretskii diff --git a/src/mkutil/make/README.OS2.template b/src/mkutil/make/README.OS2.template index eff2c0bc..af9db5f8 100644 --- a/src/mkutil/make/README.OS2.template +++ b/src/mkutil/make/README.OS2.template @@ -1,159 +1,159 @@ -Port of GNU make to OS/2. - -Features of GNU make that do not work under OS/2: - - remote job execution - - dynamic load balancing - - -Special features of the OS/2 version: - -Due to the fact that some people might want to use sh syntax in -Makefiles while others might want to use OS/2's native shell cmd.exe, -GNU make supports both shell types. The following list defines the order -that is used to determine the shell: - - 1. The shell specified by the environment variable MAKESHELL. - 2. The shell specified by the SHELL variable within a Makefile. As on - Unix, SHELL is NOT taken from the environment. - 3. The shell specified by the COMSPEC environment variable. - 4. The shell specified by the OS2_SHELL environment variable. - 5. If none of the above is defined /bin/sh is used as default. This - happens e.g. in the make testsuite. - -Note: - Points 3 and 4 can be turned off at compile time by adding - -DNO_CMD_DEFAULT to the CPPFLAGS. - - DOS support is not tested for EMX and therefore might not work. - - The UNIXROOT environment variable is supported to find /bin/sh - if it is not on the current drive. - - -COMPILATION OF GNU MAKE FOR OS/2: - -I. ***** SPECIAL OPTIONS ***** - - - At compile time you can turn off that cmd is used as default shell - (but only /bin/sh). Simply set CPPFLAGS="-DNO_CMD_DEFAULT" and make - will not use cmd unless you cause it to do so by setting MAKESHELL to - cmd or by specifying SHELL=cmd in your Makefile. - - - At compile time you can set CPPFLAGS="-DNO_CHDIR2" to turn off that - GNU make prints drive letters. This is necessary if you want to run - the testsuite. - - -II. ***** REQUIREMENTS FOR THE COMPILATION ***** - -A standard Unix like build environment: - - - sh compatible shell (ksh, bash, ash, but tested only with pdksh 5.2.14 - (release 2) - If you use pdksh it is recommended to update to 5.2.14 release 2. Older - versions may not work! You can get this version at - http://www.math.ohio-state.edu/~ilya/software/os2/pdksh-5.2.14-bin-2.zip - - GNU file utilities (make sure that install.exe from the file utilities - is in front of your PATH before X:\OS2\INSTALL\INSTALL.EXE. I recommend - also to change the filename to ginstall.exe instead of install.exe - to avoid confusion with X:\OS2\INSTALL\INSTALL.EXE) - - GNU shell utilities - - GNU text utilities - - gawk - - grep - - sed - - GNU make 3.79.1 (special OS/2 patched version) - - perl 5.005 or higher - - GNU texinfo (you can use 3.1 (gnuinfo.zip), but I recommend 4.0) - -If you want to recreate the configuration files (developers only!) -you need also: GNU m4 1.4, autoconf 2.57, automake 1.7.2 (or compatible) - - -III. ***** COMPILATION AND INSTALLATION ***** - - a) ** Developers only - Everyone else should skip this section ** - To recreate the configuration files use: - - export EMXSHELL=ksh - aclocal -I config - automake - autoconf - autoheader - - -b) Installation into x:/usr - - Note: Although it is possible to compile make using "./configure", - "make", "make install" this is not recommended. In particular, - you must ALWAYS use LDFLAGS="-Zstack 0x8000" because the default - stack size is far to small and make will not work properly! - -Recommended environment variables and installation options: - - export ac_executable_extensions=".exe" - export CPPFLAGS="-D__ST_MT_ERRNO__" - export CFLAGS="-O2 -Zomf -Zmt" - export LDFLAGS="-Zcrtdll -Zlinker /exepack:2 -Zlinker /pm:vio -Zstack 0x8000" - export RANLIB="echo" - ./configure --prefix=x:/usr --infodir=x:/usr/share/info --mandir=x:/usr/share/man --without-included-gettext - make AR=emxomfar - make install - -Note: If you use gcc 2.9.x or higher I recommend to set also LIBS="-lgcc" - -Note: You can add -DNO_CMD_DEFAULT and -DNO_CHDIR2 to CPPFLAGS. - See section I. for details. - - -IV. ***** NLS support ***** - -GNU make has NLS (National Language Support), with the following -caveats: - - a) It will only work with GNU gettext, and - b) GNU gettext support is not included in the GNU make package. - -Therefore, if you wish to enable the internationalization features of -GNU make you must install GNU gettext on your system before configuring -GNU make. - -You can choose the languages to be installed. To install support for -English, German and French only enter: - - export LINGUAS="en de fr" - -If you don't specify LINGUAS all languages are installed. - -If you don't want NLS support (English only) use the option ---disable-nls for the configure script. Note if GNU gettext is not -installed then NLS will not be enabled regardless of this flag. - - -V. ***** Running the make test suite ***** - -To run the included make test suite you have to set - - CPPFLAGS="-D__ST_MT_ERRNO__ -DNO_CMD_DEFAULT -DNO_CHDIR2" - -before you compile make. This is due to some restrictions of the -testsuite itself. -DNO_CMD_DEFAULT causes make to use /bin/sh as default -shell in every case. Normally you could simply set MAKESHELL="/bin/sh" -to do this but the testsuite ignores the environment. -DNO_CHDIR2 causes -make not to use drive letters for directory names (i.e. _chdir2() and -_getcwd2() are NOT used). The testsuite interpretes the whole output of -make, especially statements like make[1]: Entering directory -`C:/somewhere/make-3.79.1/tests' where the testsuite does not expect the -drive letter. This would be interpreted as an error even if there is -none. - -To run the testsuite do the following: - - export CPPFLAGS="-D__ST_MT_ERRNO__ -DNO_CMD_DEFAULT -DNO_CHDIR2" - export CFLAGS="-Zomf -O2 -s -Zmt" - export LDFLAGS="-Zcrtdll -Zmt -s -Zlinker /exepack:2 -Zlinker /pm:vio -Zstack 0x8000" - export RANLIB="echo" - ./configure --prefix=x:/usr --disable-nls - make AR=emxomfar - make checks - -All tests should work fine with the exception of "default_names" which -is because OS/2 file systems are not case sensitive ("makefile" and -"Makefile" specify the same file). +Port of GNU make to OS/2. + +Features of GNU make that do not work under OS/2: + - remote job execution + - dynamic load balancing + + +Special features of the OS/2 version: + +Due to the fact that some people might want to use sh syntax in +Makefiles while others might want to use OS/2's native shell cmd.exe, +GNU make supports both shell types. The following list defines the order +that is used to determine the shell: + + 1. The shell specified by the environment variable MAKESHELL. + 2. The shell specified by the SHELL variable within a Makefile. As on + Unix, SHELL is NOT taken from the environment. + 3. The shell specified by the COMSPEC environment variable. + 4. The shell specified by the OS2_SHELL environment variable. + 5. If none of the above is defined /bin/sh is used as default. This + happens e.g. in the make testsuite. + +Note: - Points 3 and 4 can be turned off at compile time by adding + -DNO_CMD_DEFAULT to the CPPFLAGS. + - DOS support is not tested for EMX and therefore might not work. + - The UNIXROOT environment variable is supported to find /bin/sh + if it is not on the current drive. + + +COMPILATION OF GNU MAKE FOR OS/2: + +I. ***** SPECIAL OPTIONS ***** + + - At compile time you can turn off that cmd is used as default shell + (but only /bin/sh). Simply set CPPFLAGS="-DNO_CMD_DEFAULT" and make + will not use cmd unless you cause it to do so by setting MAKESHELL to + cmd or by specifying SHELL=cmd in your Makefile. + + - At compile time you can set CPPFLAGS="-DNO_CHDIR2" to turn off that + GNU make prints drive letters. This is necessary if you want to run + the testsuite. + + +II. ***** REQUIREMENTS FOR THE COMPILATION ***** + +A standard Unix like build environment: + + - sh compatible shell (ksh, bash, ash, but tested only with pdksh 5.2.14 + (release 2) + If you use pdksh it is recommended to update to 5.2.14 release 2. Older + versions may not work! You can get this version at + http://www.math.ohio-state.edu/~ilya/software/os2/pdksh-5.2.14-bin-2.zip + - GNU file utilities (make sure that install.exe from the file utilities + is in front of your PATH before X:\OS2\INSTALL\INSTALL.EXE. I recommend + also to change the filename to ginstall.exe instead of install.exe + to avoid confusion with X:\OS2\INSTALL\INSTALL.EXE) + - GNU shell utilities + - GNU text utilities + - gawk + - grep + - sed + - GNU make 3.79.1 (special OS/2 patched version) + - perl 5.005 or higher + - GNU texinfo (you can use 3.1 (gnuinfo.zip), but I recommend 4.0) + +If you want to recreate the configuration files (developers only!) +you need also: GNU m4 1.4, autoconf 2.57, automake 1.7.2 (or compatible) + + +III. ***** COMPILATION AND INSTALLATION ***** + + a) ** Developers only - Everyone else should skip this section ** + To recreate the configuration files use: + + export EMXSHELL=ksh + aclocal -I config + automake + autoconf + autoheader + + +b) Installation into x:/usr + + Note: Although it is possible to compile make using "./configure", + "make", "make install" this is not recommended. In particular, + you must ALWAYS use LDFLAGS="-Zstack 0x8000" because the default + stack size is far to small and make will not work properly! + +Recommended environment variables and installation options: + + export ac_executable_extensions=".exe" + export CPPFLAGS="-D__ST_MT_ERRNO__" + export CFLAGS="-O2 -Zomf -Zmt" + export LDFLAGS="-Zcrtdll -Zlinker /exepack:2 -Zlinker /pm:vio -Zstack 0x8000" + export RANLIB="echo" + ./configure --prefix=x:/usr --infodir=x:/usr/share/info --mandir=x:/usr/share/man --without-included-gettext + make AR=emxomfar + make install + +Note: If you use gcc 2.9.x or higher I recommend to set also LIBS="-lgcc" + +Note: You can add -DNO_CMD_DEFAULT and -DNO_CHDIR2 to CPPFLAGS. + See section I. for details. + + +IV. ***** NLS support ***** + +GNU make has NLS (National Language Support), with the following +caveats: + + a) It will only work with GNU gettext, and + b) GNU gettext support is not included in the GNU make package. + +Therefore, if you wish to enable the internationalization features of +GNU make you must install GNU gettext on your system before configuring +GNU make. + +You can choose the languages to be installed. To install support for +English, German and French only enter: + + export LINGUAS="en de fr" + +If you don't specify LINGUAS all languages are installed. + +If you don't want NLS support (English only) use the option +--disable-nls for the configure script. Note if GNU gettext is not +installed then NLS will not be enabled regardless of this flag. + + +V. ***** Running the make test suite ***** + +To run the included make test suite you have to set + + CPPFLAGS="-D__ST_MT_ERRNO__ -DNO_CMD_DEFAULT -DNO_CHDIR2" + +before you compile make. This is due to some restrictions of the +testsuite itself. -DNO_CMD_DEFAULT causes make to use /bin/sh as default +shell in every case. Normally you could simply set MAKESHELL="/bin/sh" +to do this but the testsuite ignores the environment. -DNO_CHDIR2 causes +make not to use drive letters for directory names (i.e. _chdir2() and +_getcwd2() are NOT used). The testsuite interpretes the whole output of +make, especially statements like make[1]: Entering directory +`C:/somewhere/make-3.79.1/tests' where the testsuite does not expect the +drive letter. This would be interpreted as an error even if there is +none. + +To run the testsuite do the following: + + export CPPFLAGS="-D__ST_MT_ERRNO__ -DNO_CMD_DEFAULT -DNO_CHDIR2" + export CFLAGS="-Zomf -O2 -s -Zmt" + export LDFLAGS="-Zcrtdll -Zmt -s -Zlinker /exepack:2 -Zlinker /pm:vio -Zstack 0x8000" + export RANLIB="echo" + ./configure --prefix=x:/usr --disable-nls + make AR=emxomfar + make checks + +All tests should work fine with the exception of "default_names" which +is because OS/2 file systems are not case sensitive ("makefile" and +"Makefile" specify the same file). diff --git a/src/mkutil/make/README.W32.template b/src/mkutil/make/README.W32.template index 2b15584f..e2081b01 100644 --- a/src/mkutil/make/README.W32.template +++ b/src/mkutil/make/README.W32.template @@ -1,241 +1,241 @@ -Port of GNU make to Windows NT and Windows 95 -Builds natively with MSVC 2.x or MSVC 4.x compilers. -Should also build fine with MSVC 5.x and 6.x (though not confirmed). - -This Windows 32-bit port of GNU make is maintained primarily by Rob -Tulloh, who is also the author of this README. - -To build with nmake on Windows NT, Windows 95, or Windows 98: - - 1. Make sure cl.exe is in your %Path%. Example: - - set Path=%Path%;c:/msdev/bin - - 2. Make sure %include% is set to msvc include directory. Example: - - set include=c:/msdev/include - - 3. Make sure %lib% is set to msvc lib directory. Example: - - set lib=c:/msdev/lib - - 4. nmake /f NMakefile - - - A short cut to steps 1, 2, and 3 is to run VCVARS32.bat before - invoking namke. For example: - - c: - cd \msdev\bin - VCVARS32.bat - cd \path\to\make-%VERSION% - nmake /f NMakefile - -There is a bat file (build_w32.bat) for folks who have fear of nmake. - -Outputs: - - WinDebug/make.exe - WinRel/make.exe - - --- Notes/Caveats -- - -GNU make on Windows 32-bit platforms: - - This version of make is ported natively to Windows32 platforms - (Windows NT 3.51, Windows NT 4.0, Windows 95, and Windows 98). It - does not rely on any 3rd party software or add-on packages for - building. The only thing needed is a version of Visual C++, - which is the predominant compiler used on Windows32 platforms. - - Do not confuse this port of GNU make with other Windows32 projects - which provide a GNU make binary. These are separate projects - and are not connected to this port effort. - -GNU make and sh.exe: - - This port prefers you have a working sh.exe somewhere on your - system. If you don't have sh.exe, the port falls back to - MSDOS mode for launching programs (via a batch file). - The MSDOS mode style execution has not been tested that - carefully though (The author uses GNU bash as sh.exe). - - There are very few true ports of Bourne shell for NT right now. - There is a version of GNU bash available from Cygnus "Cygwin" - porting effort (http://sourceware.cygnus.com/cygwin). - Other possibilities are the MKS version of sh.exe, or building - your own with a package like NutCracker (DataFocus) or Portage - (Consensys). - -GNU make and brain-dead shells (BATCH_MODE_ONLY_SHELL): - - Some versions of Bourne shell does not behave well when invoked - as 'sh -c' from CreateProcess(). The main problem is they seem - to have a hard time handling quoted strings correctly. This can - be circumvented by writing commands to be executed to a batch - file and then executing the command by calling 'sh file'. - - To work around this difficulty, this version of make supports - a batch mode. When BATCH_MODE_ONLY_SHELL is defined at compile - time, make forces all command lines to be executed via script - files instead of by command line. - - A native Windows32 system with no Bourne shell will also run - in batch mode. All command lines will be put into batch files - and executed via $(COMSPEC) (%COMSPEC%). - -GNU make and Cygnus GNU Windows32 tools: - - Good news! Make now has native support for Cygwin sh. To enable, - define the HAVE_CYGWIN_SHELL in config.h and rebuild make - from scratch. This version of make tested with B20.1 of Cygwin. - Do not define BATCH_MODE_ONLY_SHELL if you use HAVE_CYGWIN_SHELL. - -GNU make and the MKS shell: - - There is now semi-official support for the MKS shell. To turn this - support on, define HAVE_MKS_SHELL in the config.h.W32 before you - build make. Do not define BATCH_MODE_ONLY_SHELL if you turn - on HAVE_MKS_SHELL. - -GNU make handling of drive letters in pathnames (PATH, vpath, VPATH): - - There is a caveat that should be noted with respect to handling - single character pathnames on Windows systems. When colon is - used in PATH variables, make tries to be smart about knowing when - you are using colon as a separator versus colon as a drive - letter. Unfortunately, something as simple as the string 'x:/' - could be interpreted 2 ways: (x and /) or (x:/). - - Make chooses to interpret a letter plus colon (e.g. x:/) as a - drive letter pathname. If it is necessary to use single - character directories in paths (VPATH, vpath, Path, PATH), the - user must do one of two things: - - a. Use semicolon as the separator to disambiguate colon. For - example use 'x;/' if you want to say 'x' and '/' are - separate components. - - b. Qualify the directory name so that there is more than - one character in the path(s) used. For example, none - of these settings are ambiguous: - - ./x:./y - /some/path/x:/some/path/y - x:/some/path/x:x:/some/path/y - - Please note that you are free to mix colon and semi-colon in the - specification of paths. Make is able to figure out the intended - result and convert the paths internally to the format needed - when interacting with the operating system. - - You are encouraged to use colon as the separator character. - This should ease the pain of deciding how to handle various path - problems which exist between platforms. If colon is used on - both Unix and Windows systems, then no ifdef'ing will be - necessary in the makefile source. - -GNU make test suite: - - I verified all functionality with a slightly modified version - of make-test-%VERSION% (modifications to get test suite to run - on Windows NT). All tests pass in an environment that includes - sh.exe. Tests were performed on both Windows NT and Windows 95. - -Building GNU make on Windows NT and Windows 95/98 with Microsoft Visual C: - - I did not provide a Visual C project file with this port as - the project file would not be considered freely distributable - (or so I think). It is easy enough to create one, though, if - you know how to use Visual C. - - I build the program statically to avoid problems locating DLL's - on machines that may not have MSVC runtime installed. If you - prefer, you can change make to build with shared libraries by - changing /MT to /MD in the NMakefile (or in build_w32.bat). - - The program has not been built for non-Intel architectures (yet). - - I have not tried to build with any other compilers than MSVC. I - have heard that this is possible though so don't be afraid to - notify me of your successes! - -Pathnames and white space: - - Unlike Unix, Windows 95/NT systems encourage pathnames which - contain white space (e.g. C:\Program Files\). These sorts of pathnames - are legal under Unix too, but are never encouraged. There is - at least one place in make (VPATH/vpath handling) where paths - containing white space will simply not work. There may be others - too. I chose to not try and port make in such a way so that - these sorts of paths could be handled. I offer these suggestions - as workarounds: - - 1. Use 8.3 notation - 2. Rename the directory so it does not contain white space. - - If you are unhappy with this choice, this is free software - and you are free to take a crack at making this work. The code - in w32/pathstuff.c and vpath.c would be the places to start. - -Pathnames and Case insensitivity: - - Unlike Unix, Windows 95/NT systems are case insensitive but case - preserving. For example if you tell the file system to create a - file named "Target", it will preserve the case. Subsequent access to - the file with other case permutations will succeed (i.e. opening a - file named "target" or "TARGET" will open the file "Target"). - - By default, GNU make retains its case sensitivity when comparing - target names and existing files or directories. It can be - configured, however, into a case preserving and case insensitive - mode by adding a define for HAVE_CASE_INSENSITIVE_FS to - config.h.W32. - - For example, the following makefile will create a file named - Target in the directory subdir which will subsequently be used - to satisfy the dependency of SUBDIR/DepTarget on SubDir/TARGET. - Without HAVE_CASE_INSENSITIVE_FS configured, the dependency link - will not be made: - - subdir/Target: - touch $@ - - SUBDIR/DepTarget: SubDir/TARGET - cp $^ $@ - - Reliance on this behavior also eliminates the ability of GNU make - to use case in comparison of matching rules. For example, it is - not possible to set up a C++ rule using %.C that is different - than a C rule using %.c. GNU make will consider these to be the - same rule and will issue a warning. - -SAMBA/NTFS/VFAT: - - I have not had any success building the debug version of this - package using SAMBA as my file server. The reason seems to be - related to the way VC++ 4.0 changes the case name of the pdb - filename it is passed on the command line. It seems to change - the name always to to lower case. I contend that - the VC++ compiler should not change the casename of files that - are passed as arguments on the command line. I don't think this - was a problem in MSVC 2.x, but I know it is a problem in MSVC 4.x. - - The package builds fine on VFAT and NTFS filesystems. - - Most all of the development I have done to date has been using - NTFS and long file names. I have not done any considerable work - under VFAT. VFAT users may wish to be aware that this port - of make does respect case sensitivity. - -FAT: - - Version 3.76 added support for FAT filesystems. Make - works around some difficulties with stat'ing of - files and caching of filenames and directories internally. - -Bug reports: - - Please submit bugs via the normal bug reporting mechanism which - is described in the GNU make manual and the base README. +Port of GNU make to Windows NT and Windows 95 +Builds natively with MSVC 2.x or MSVC 4.x compilers. +Should also build fine with MSVC 5.x and 6.x (though not confirmed). + +This Windows 32-bit port of GNU make is maintained primarily by Rob +Tulloh, who is also the author of this README. + +To build with nmake on Windows NT, Windows 95, or Windows 98: + + 1. Make sure cl.exe is in your %Path%. Example: + + set Path=%Path%;c:/msdev/bin + + 2. Make sure %include% is set to msvc include directory. Example: + + set include=c:/msdev/include + + 3. Make sure %lib% is set to msvc lib directory. Example: + + set lib=c:/msdev/lib + + 4. nmake /f NMakefile + + + A short cut to steps 1, 2, and 3 is to run VCVARS32.bat before + invoking namke. For example: + + c: + cd \msdev\bin + VCVARS32.bat + cd \path\to\make-%VERSION% + nmake /f NMakefile + +There is a bat file (build_w32.bat) for folks who have fear of nmake. + +Outputs: + + WinDebug/make.exe + WinRel/make.exe + + +-- Notes/Caveats -- + +GNU make on Windows 32-bit platforms: + + This version of make is ported natively to Windows32 platforms + (Windows NT 3.51, Windows NT 4.0, Windows 95, and Windows 98). It + does not rely on any 3rd party software or add-on packages for + building. The only thing needed is a version of Visual C++, + which is the predominant compiler used on Windows32 platforms. + + Do not confuse this port of GNU make with other Windows32 projects + which provide a GNU make binary. These are separate projects + and are not connected to this port effort. + +GNU make and sh.exe: + + This port prefers you have a working sh.exe somewhere on your + system. If you don't have sh.exe, the port falls back to + MSDOS mode for launching programs (via a batch file). + The MSDOS mode style execution has not been tested that + carefully though (The author uses GNU bash as sh.exe). + + There are very few true ports of Bourne shell for NT right now. + There is a version of GNU bash available from Cygnus "Cygwin" + porting effort (http://sourceware.cygnus.com/cygwin). + Other possibilities are the MKS version of sh.exe, or building + your own with a package like NutCracker (DataFocus) or Portage + (Consensys). + +GNU make and brain-dead shells (BATCH_MODE_ONLY_SHELL): + + Some versions of Bourne shell does not behave well when invoked + as 'sh -c' from CreateProcess(). The main problem is they seem + to have a hard time handling quoted strings correctly. This can + be circumvented by writing commands to be executed to a batch + file and then executing the command by calling 'sh file'. + + To work around this difficulty, this version of make supports + a batch mode. When BATCH_MODE_ONLY_SHELL is defined at compile + time, make forces all command lines to be executed via script + files instead of by command line. + + A native Windows32 system with no Bourne shell will also run + in batch mode. All command lines will be put into batch files + and executed via $(COMSPEC) (%COMSPEC%). + +GNU make and Cygnus GNU Windows32 tools: + + Good news! Make now has native support for Cygwin sh. To enable, + define the HAVE_CYGWIN_SHELL in config.h and rebuild make + from scratch. This version of make tested with B20.1 of Cygwin. + Do not define BATCH_MODE_ONLY_SHELL if you use HAVE_CYGWIN_SHELL. + +GNU make and the MKS shell: + + There is now semi-official support for the MKS shell. To turn this + support on, define HAVE_MKS_SHELL in the config.h.W32 before you + build make. Do not define BATCH_MODE_ONLY_SHELL if you turn + on HAVE_MKS_SHELL. + +GNU make handling of drive letters in pathnames (PATH, vpath, VPATH): + + There is a caveat that should be noted with respect to handling + single character pathnames on Windows systems. When colon is + used in PATH variables, make tries to be smart about knowing when + you are using colon as a separator versus colon as a drive + letter. Unfortunately, something as simple as the string 'x:/' + could be interpreted 2 ways: (x and /) or (x:/). + + Make chooses to interpret a letter plus colon (e.g. x:/) as a + drive letter pathname. If it is necessary to use single + character directories in paths (VPATH, vpath, Path, PATH), the + user must do one of two things: + + a. Use semicolon as the separator to disambiguate colon. For + example use 'x;/' if you want to say 'x' and '/' are + separate components. + + b. Qualify the directory name so that there is more than + one character in the path(s) used. For example, none + of these settings are ambiguous: + + ./x:./y + /some/path/x:/some/path/y + x:/some/path/x:x:/some/path/y + + Please note that you are free to mix colon and semi-colon in the + specification of paths. Make is able to figure out the intended + result and convert the paths internally to the format needed + when interacting with the operating system. + + You are encouraged to use colon as the separator character. + This should ease the pain of deciding how to handle various path + problems which exist between platforms. If colon is used on + both Unix and Windows systems, then no ifdef'ing will be + necessary in the makefile source. + +GNU make test suite: + + I verified all functionality with a slightly modified version + of make-test-%VERSION% (modifications to get test suite to run + on Windows NT). All tests pass in an environment that includes + sh.exe. Tests were performed on both Windows NT and Windows 95. + +Building GNU make on Windows NT and Windows 95/98 with Microsoft Visual C: + + I did not provide a Visual C project file with this port as + the project file would not be considered freely distributable + (or so I think). It is easy enough to create one, though, if + you know how to use Visual C. + + I build the program statically to avoid problems locating DLL's + on machines that may not have MSVC runtime installed. If you + prefer, you can change make to build with shared libraries by + changing /MT to /MD in the NMakefile (or in build_w32.bat). + + The program has not been built for non-Intel architectures (yet). + + I have not tried to build with any other compilers than MSVC. I + have heard that this is possible though so don't be afraid to + notify me of your successes! + +Pathnames and white space: + + Unlike Unix, Windows 95/NT systems encourage pathnames which + contain white space (e.g. C:\Program Files\). These sorts of pathnames + are legal under Unix too, but are never encouraged. There is + at least one place in make (VPATH/vpath handling) where paths + containing white space will simply not work. There may be others + too. I chose to not try and port make in such a way so that + these sorts of paths could be handled. I offer these suggestions + as workarounds: + + 1. Use 8.3 notation + 2. Rename the directory so it does not contain white space. + + If you are unhappy with this choice, this is free software + and you are free to take a crack at making this work. The code + in w32/pathstuff.c and vpath.c would be the places to start. + +Pathnames and Case insensitivity: + + Unlike Unix, Windows 95/NT systems are case insensitive but case + preserving. For example if you tell the file system to create a + file named "Target", it will preserve the case. Subsequent access to + the file with other case permutations will succeed (i.e. opening a + file named "target" or "TARGET" will open the file "Target"). + + By default, GNU make retains its case sensitivity when comparing + target names and existing files or directories. It can be + configured, however, into a case preserving and case insensitive + mode by adding a define for HAVE_CASE_INSENSITIVE_FS to + config.h.W32. + + For example, the following makefile will create a file named + Target in the directory subdir which will subsequently be used + to satisfy the dependency of SUBDIR/DepTarget on SubDir/TARGET. + Without HAVE_CASE_INSENSITIVE_FS configured, the dependency link + will not be made: + + subdir/Target: + touch $@ + + SUBDIR/DepTarget: SubDir/TARGET + cp $^ $@ + + Reliance on this behavior also eliminates the ability of GNU make + to use case in comparison of matching rules. For example, it is + not possible to set up a C++ rule using %.C that is different + than a C rule using %.c. GNU make will consider these to be the + same rule and will issue a warning. + +SAMBA/NTFS/VFAT: + + I have not had any success building the debug version of this + package using SAMBA as my file server. The reason seems to be + related to the way VC++ 4.0 changes the case name of the pdb + filename it is passed on the command line. It seems to change + the name always to to lower case. I contend that + the VC++ compiler should not change the casename of files that + are passed as arguments on the command line. I don't think this + was a problem in MSVC 2.x, but I know it is a problem in MSVC 4.x. + + The package builds fine on VFAT and NTFS filesystems. + + Most all of the development I have done to date has been using + NTFS and long file names. I have not done any considerable work + under VFAT. VFAT users may wish to be aware that this port + of make does respect case sensitivity. + +FAT: + + Version 3.76 added support for FAT filesystems. Make + works around some difficulties with stat'ing of + files and caching of filenames and directories internally. + +Bug reports: + + Please submit bugs via the normal bug reporting mechanism which + is described in the GNU make manual and the base README. diff --git a/src/mkutil/make/README.customs b/src/mkutil/make/README.customs index 1976943e..3b4c13b5 100644 --- a/src/mkutil/make/README.customs +++ b/src/mkutil/make/README.customs @@ -1,95 +1,95 @@ - -*-indented-text-*- - -GNU make can utilize the Customs library, distributed with Pmake, to -provide builds distributed across multiple hosts. - -In order to utilize this capability, you must first download and build -the Customs library. It is contained in the Pmake distribution, which -can be obtained at: - - ftp://ftp.icsi.berkeley.edu/pub/ai/stolcke/software/ - -This integration was tested (superficially) with Pmake 2.1.33. - - -BUILDING CUSTOMS ----------------- - -First, build pmake and Customs. You need to build pmake first, because -Customs require pmake to build. Unfortunately, this is not trivial; -please see the pmake and Customs documentation for details. The best -place to look for instructions is in the pmake-2.1.33/INSTALL file. - -Note that the 2.1.33 Pmake distribution comes with a set of patches to -GNU make, distributed in the pmake-2.1.33/etc/gnumake/ directory. These -patches are based on GNU make 3.75 (there are patches for earlier -versions of GNU make, also). The parts of this patchfile which relate -directly to Customs support have already been incorporated into this -version of GNU make, so you should _NOT_ apply the patch file. - -However, there are a few non-Customs specific (as far as I could tell) -changes here which are not incorporated (for example, the modification -to try expanding -lfoo to libfoo.so). If you rely on these changes -you'll need to re-apply them by hand. - -Install the Customs library and header files according to the -documentation. You should also install the man pages (contrary to -comments in the documentation, they weren't installed automatically for -me; I had to cd to the ``pmake-2.1.33/doc'' directory and run ``pmake -install'' there directly). - - -BUILDING GNU MAKE ------------------ - -Once you've installed Customs, you can build GNU make to use it. When -configuring GNU make, merely use the ``--with-customs=DIR'' option. -Provide the directory containing the ``lib'' and ``include/customs'' -subdirectories as DIR. For example, if you installed the customs -library in /usr/local/lib and the headers in /usr/local/include/customs, -then you'd pass ``--with-customs=/usr/local'' as an option to configure. - -Run make (or use build.sh) normally to build GNU make as described in -the INSTALL file. - -See the documentation for Customs for information on starting and -configuring Customs. - - -INVOKING CUSTOMS-IZED GNU MAKE ------------------------------ - -One thing you should be aware of is that the default build environment -for Customs requires root permissions. Practically, this means that GNU -make must be installed setuid root to use Customs. - -If you don't want to do this, you can build Customs such that root -permissions are not necessary. Andreas Stolcke -writes: - - > pmake, gnumake or any other customs client program is not required to - > be suid root if customs was compiled WITHOUT the USE_RESERVED_PORTS - > option in customs/config.h. Make sure the "customs" service in - > /etc/services is defined accordingly (port 8231 instead of 1001). - - > Not using USE_RESERVED_PORTS means that a user with programming - > skills could impersonate another user by writing a fake customs - > client that pretends to be someone other than himself. See the - > discussion in etc/SECURITY. - - -PROBLEMS --------- - -SunOS 4.1.x: - The customs/sprite.h header file #includes the header - files; this conflicts with GNU make's configuration so you'll get a - compile error if you use GCC (or any other ANSI-capable C compiler). - - I commented out the #include in sprite.h:107: - - #if defined(sun) || defined(ultrix) || defined(hpux) || defined(sgi) - /* #include */ - #else - - YMMV. + -*-indented-text-*- + +GNU make can utilize the Customs library, distributed with Pmake, to +provide builds distributed across multiple hosts. + +In order to utilize this capability, you must first download and build +the Customs library. It is contained in the Pmake distribution, which +can be obtained at: + + ftp://ftp.icsi.berkeley.edu/pub/ai/stolcke/software/ + +This integration was tested (superficially) with Pmake 2.1.33. + + +BUILDING CUSTOMS +---------------- + +First, build pmake and Customs. You need to build pmake first, because +Customs require pmake to build. Unfortunately, this is not trivial; +please see the pmake and Customs documentation for details. The best +place to look for instructions is in the pmake-2.1.33/INSTALL file. + +Note that the 2.1.33 Pmake distribution comes with a set of patches to +GNU make, distributed in the pmake-2.1.33/etc/gnumake/ directory. These +patches are based on GNU make 3.75 (there are patches for earlier +versions of GNU make, also). The parts of this patchfile which relate +directly to Customs support have already been incorporated into this +version of GNU make, so you should _NOT_ apply the patch file. + +However, there are a few non-Customs specific (as far as I could tell) +changes here which are not incorporated (for example, the modification +to try expanding -lfoo to libfoo.so). If you rely on these changes +you'll need to re-apply them by hand. + +Install the Customs library and header files according to the +documentation. You should also install the man pages (contrary to +comments in the documentation, they weren't installed automatically for +me; I had to cd to the ``pmake-2.1.33/doc'' directory and run ``pmake +install'' there directly). + + +BUILDING GNU MAKE +----------------- + +Once you've installed Customs, you can build GNU make to use it. When +configuring GNU make, merely use the ``--with-customs=DIR'' option. +Provide the directory containing the ``lib'' and ``include/customs'' +subdirectories as DIR. For example, if you installed the customs +library in /usr/local/lib and the headers in /usr/local/include/customs, +then you'd pass ``--with-customs=/usr/local'' as an option to configure. + +Run make (or use build.sh) normally to build GNU make as described in +the INSTALL file. + +See the documentation for Customs for information on starting and +configuring Customs. + + +INVOKING CUSTOMS-IZED GNU MAKE +----------------------------- + +One thing you should be aware of is that the default build environment +for Customs requires root permissions. Practically, this means that GNU +make must be installed setuid root to use Customs. + +If you don't want to do this, you can build Customs such that root +permissions are not necessary. Andreas Stolcke +writes: + + > pmake, gnumake or any other customs client program is not required to + > be suid root if customs was compiled WITHOUT the USE_RESERVED_PORTS + > option in customs/config.h. Make sure the "customs" service in + > /etc/services is defined accordingly (port 8231 instead of 1001). + + > Not using USE_RESERVED_PORTS means that a user with programming + > skills could impersonate another user by writing a fake customs + > client that pretends to be someone other than himself. See the + > discussion in etc/SECURITY. + + +PROBLEMS +-------- + +SunOS 4.1.x: + The customs/sprite.h header file #includes the header + files; this conflicts with GNU make's configuration so you'll get a + compile error if you use GCC (or any other ANSI-capable C compiler). + + I commented out the #include in sprite.h:107: + + #if defined(sun) || defined(ultrix) || defined(hpux) || defined(sgi) + /* #include */ + #else + + YMMV. diff --git a/src/mkutil/make/README.cvs b/src/mkutil/make/README.cvs index 8fa4feb7..29a1c3e2 100644 --- a/src/mkutil/make/README.cvs +++ b/src/mkutil/make/README.cvs @@ -1,110 +1,110 @@ - -*-text-*- - -Obtaining CVS Code ------------------- - -This seems redundant, since if you're reading this you most likely have -already performed this step; however, for completeness, you can obtain -the GNU make source code via anonymous CVS from the FSF's Savannah -project : - - $ cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/make co make - -You might want to use the "-z3" option to get compression, and you most -certainly will want the -P option to avoid unneeded directories -cluttering up your source. Personally I add these (as well as -dP for -update) to my ~/.cvsrc file. - - -If you have an older version of CVS, you might have to login first. -There is no password; just hit the ENTER key if you are asked for one. - - -Building From CVS ------------------ - -To build GNU make from CVS, you will need Autoconf 2.57 (or better), -Automake 1.7.3 (or better), and Gettext 0.11.5 (or better), and any -tools that those utilities require (GNU m4, Perl, etc.). You will also -need a copy of wget. - -After checking out the code, you will need to perform these steps to get -to the point where you can run "make". - - - 1) $ autoreconf -i -s - - This rebuilds all the things that need rebuilding, installing - missing files as symbolic links. - - - 2) $ ./configure - - Generate a Makefile - - - 3) $ make update - - Use wget to retrieve various other files that GNU make relies on, - but does not keep in its own source tree. - - NB: You may need GNU make to correctly perform this step; if you use - a platform-local make you may get problems with missing files in doc/. - - -At this point you have successfully brought your CVS copy of the GNU -make source directory up to the point where it can be treated -more-or-less like the official package you would get from ftp.gnu.org. -That is, you can just run: - - $ make && make check && make install - -to build and install GNU make. - - -Creating a Package ------------------- - -Once you have performed the above steps (including the configuration and -build) you can create a GNU make package. This is very simple, just -run: - - $ make dist-gzip - -and, if you like: - - $ make dist-bzip2 - -Even better, you should run this: - - $ make distcheck - -Which will build both .gz and .bz2 package files, then unpack them into -a temporary location, try to build them, and repack them, verifying that -everything works, you get the same results, _and_ no extraneous files -are left over after the "distclean" rule--whew!! Now, _that_ is why -converting to Automake is worth the trouble! A big "huzzah!" to Tom -T. and the AutoToolers! - - -That's it, you're done! - - -Appendix A - For The Brave --------------------------- - -For those of you who trust me implicitly, or are just brave (or -foolhardy), here is a canned sequence of commands to build a GNU make -distribution package from a virgin CVS source checkout (assuming all the -prerequisites are available of course). - -This list is eminently suitable for a quick swipe o' the mouse and a -swift click o' mouse-2 into an xterm. Go for it! - - -autoreconf -i -s -./configure -make update -make -make check -make distcheck + -*-text-*- + +Obtaining CVS Code +------------------ + +This seems redundant, since if you're reading this you most likely have +already performed this step; however, for completeness, you can obtain +the GNU make source code via anonymous CVS from the FSF's Savannah +project : + + $ cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/make co make + +You might want to use the "-z3" option to get compression, and you most +certainly will want the -P option to avoid unneeded directories +cluttering up your source. Personally I add these (as well as -dP for +update) to my ~/.cvsrc file. + + +If you have an older version of CVS, you might have to login first. +There is no password; just hit the ENTER key if you are asked for one. + + +Building From CVS +----------------- + +To build GNU make from CVS, you will need Autoconf 2.57 (or better), +Automake 1.7.3 (or better), and Gettext 0.11.5 (or better), and any +tools that those utilities require (GNU m4, Perl, etc.). You will also +need a copy of wget. + +After checking out the code, you will need to perform these steps to get +to the point where you can run "make". + + + 1) $ autoreconf -i -s + + This rebuilds all the things that need rebuilding, installing + missing files as symbolic links. + + + 2) $ ./configure + + Generate a Makefile + + + 3) $ make update + + Use wget to retrieve various other files that GNU make relies on, + but does not keep in its own source tree. + + NB: You may need GNU make to correctly perform this step; if you use + a platform-local make you may get problems with missing files in doc/. + + +At this point you have successfully brought your CVS copy of the GNU +make source directory up to the point where it can be treated +more-or-less like the official package you would get from ftp.gnu.org. +That is, you can just run: + + $ make && make check && make install + +to build and install GNU make. + + +Creating a Package +------------------ + +Once you have performed the above steps (including the configuration and +build) you can create a GNU make package. This is very simple, just +run: + + $ make dist-gzip + +and, if you like: + + $ make dist-bzip2 + +Even better, you should run this: + + $ make distcheck + +Which will build both .gz and .bz2 package files, then unpack them into +a temporary location, try to build them, and repack them, verifying that +everything works, you get the same results, _and_ no extraneous files +are left over after the "distclean" rule--whew!! Now, _that_ is why +converting to Automake is worth the trouble! A big "huzzah!" to Tom +T. and the AutoToolers! + + +That's it, you're done! + + +Appendix A - For The Brave +-------------------------- + +For those of you who trust me implicitly, or are just brave (or +foolhardy), here is a canned sequence of commands to build a GNU make +distribution package from a virgin CVS source checkout (assuming all the +prerequisites are available of course). + +This list is eminently suitable for a quick swipe o' the mouse and a +swift click o' mouse-2 into an xterm. Go for it! + + +autoreconf -i -s +./configure +make update +make +make check +make distcheck diff --git a/src/mkutil/make/README.template b/src/mkutil/make/README.template index 969f2084..a4e6abca 100644 --- a/src/mkutil/make/README.template +++ b/src/mkutil/make/README.template @@ -1,164 +1,164 @@ -This directory contains the %VERSION% release of GNU Make. - -See the file NEWS for the user-visible changes from previous releases. -In addition, there have been bugs fixed. - -Please check the system-specific notes below for any caveats related to -your operating system. - -For general building and installation instructions, see the file INSTALL. - -If you need to build GNU Make and have no other `make' program to use, -you can use the shell script `build.sh' instead. To do this, first run -`configure' as described in INSTALL. Then, instead of typing `make' to -build the program, type `sh build.sh'. This should compile the program -in the current directory. Then you will have a Make program that you can -use for `./make install', or whatever else. - -Some systems' Make programs are broken and cannot process the Makefile for -GNU Make. If you get errors from your system's Make when building GNU -Make, try using `build.sh' instead. - - -GNU Make is free software. See the file COPYING for copying conditions. - - -Downloading ------------ - -GNU Make can be obtained in many different ways. See a description here: - - http://www.gnu.org/software/software.html - - -Documentation -------------- - -GNU make is fully documented in the GNU Make manual, which is contained -in this distribution as the file make.texinfo. You can also find -on-line and preformatted (PostScript and DVI) versions at the FSF's web -site. There is information there about ordering hardcopy documentation. - - http://www.gnu.org/ - http://www.gnu.org/doc/doc.html - http://www.gnu.org/manual/manual.html - - -Development ------------ - -GNU Make development is hosted by Savannah, the FSF's online development -management tool. Savannah is here: - - http://savannah.gnu.org - -And the GNU Make development page is here: - - http://savannah.gnu.org/projects/make/ - -You can find most information concerning the development of GNU Make at -this site. - - -Bug Reporting -------------- - -You can send GNU make bug reports to . Please see the -section of the GNU make manual entitled `Problems and Bugs' for -information on submitting useful and complete bug reports. - -You can also use the online bug tracking system in the Savannah GNU Make -project to submit new problem reports or search for existing ones: - - http://savannah.gnu.org/bugs/?group_id=71 - -If you need help using GNU make, try these forums: - - help-make@gnu.org - help-utils@gnu.org - news:gnu.utils.help - news:gnu.utils.bug - - http://savannah.gnu.org/support/?group_id=71 - -You may also find interesting patches to GNU Make available here: - - http://savannah.gnu.org/patch/?group_id=71 - -Note these patches are provided by our users as a service and we make no -statements regarding their correctness. Please contact the authors -directly if you have a problem or suggestion for a patch available on -this page. - - -CVS Access ----------- - -The GNU make source repository is available via anonymous CVS from the -GNU Subversions CVS server; look here for details: - - http://savannah.gnu.org/cvs/?group_id=71 - -Please note: you won't be able to build GNU make from CVS without -installing appropriate maintainer's tools, such as GNU m4, automake, -autoconf, Perl, GNU make, and GCC. See the README.cvs file for hints on -how to build GNU make once these tools are available. We make no -guarantees about the contents or quality of the latest code in the CVS -repository: it is not unheard of for code that is known to be broken to -be checked in. Use at your own risk. - - -System-specific Notes ---------------------- - -It has been reported that the XLC 1.2 compiler on AIX 3.2 is buggy such -that if you compile make with `cc -O' on AIX 3.2, it will not work correctly. -It is said that using `cc' without `-O' does work. - -One area that is often a problem in configuration and porting is the code -to check the system's current load average. To make it easier to test and -debug this code, you can do `make check-loadavg' to see if it works -properly on your system. (You must run `configure' beforehand, but you -need not build Make itself to run this test.) - -Another potential source of porting problems is the support for large -files (LFS) in configure for those operating systems that provide it. -Please report any bugs that you find in this area. If you run into -difficulties, then as a workaround you should be able to disable LFS by -adding the `--disable-largefile' option to the `configure' script. - -On systems that support micro- and nano-second timestamp values and -where stat(2) provides this information, GNU make will use it when -comparing timestamps to get the most accurate possible result. However, -note that many current implementations of tools that *set* timestamps do -not preserve micro- or nano-second granularity. This means that "cp -p" -and other similar tools (tar, etc.) may not exactly duplicate timestamps -with micro- and nano-second granularity on some systems. If your build -system contains rules that depend on proper behavior of tools like "cp --p", you should consider using the .LOW_RESOLUTION_TIME pseudo-target to -force make to treat them properly. See the manual for details. - - -Ports ------ - - - See README.customs for details on integrating GNU make with the - Customs distributed build environment from the Pmake distribution. - - - See readme.vms for details about GNU Make on OpenVMS. - - - See README.Amiga for details about GNU Make on AmigaDOS. - - - See README.W32 for details about GNU Make on Windows NT, 95, or 98. - - - See README.DOS for compilation instructions on MS-DOS and MS-Windows - using DJGPP tools. - - A precompiled binary of the MSDOS port of GNU Make is available as part - of DJGPP; see the WWW page http://www.delorie.com/djgpp/ for more - information. - -Please note there are two _separate_ ports of GNU make for Microsoft -systems: a native Windows tool built with (for example) MSVC or Cygwin, -and a DOS-based tool built with DJGPP. Please be sure you are looking -at the right README! +This directory contains the %VERSION% release of GNU Make. + +See the file NEWS for the user-visible changes from previous releases. +In addition, there have been bugs fixed. + +Please check the system-specific notes below for any caveats related to +your operating system. + +For general building and installation instructions, see the file INSTALL. + +If you need to build GNU Make and have no other `make' program to use, +you can use the shell script `build.sh' instead. To do this, first run +`configure' as described in INSTALL. Then, instead of typing `make' to +build the program, type `sh build.sh'. This should compile the program +in the current directory. Then you will have a Make program that you can +use for `./make install', or whatever else. + +Some systems' Make programs are broken and cannot process the Makefile for +GNU Make. If you get errors from your system's Make when building GNU +Make, try using `build.sh' instead. + + +GNU Make is free software. See the file COPYING for copying conditions. + + +Downloading +----------- + +GNU Make can be obtained in many different ways. See a description here: + + http://www.gnu.org/software/software.html + + +Documentation +------------- + +GNU make is fully documented in the GNU Make manual, which is contained +in this distribution as the file make.texinfo. You can also find +on-line and preformatted (PostScript and DVI) versions at the FSF's web +site. There is information there about ordering hardcopy documentation. + + http://www.gnu.org/ + http://www.gnu.org/doc/doc.html + http://www.gnu.org/manual/manual.html + + +Development +----------- + +GNU Make development is hosted by Savannah, the FSF's online development +management tool. Savannah is here: + + http://savannah.gnu.org + +And the GNU Make development page is here: + + http://savannah.gnu.org/projects/make/ + +You can find most information concerning the development of GNU Make at +this site. + + +Bug Reporting +------------- + +You can send GNU make bug reports to . Please see the +section of the GNU make manual entitled `Problems and Bugs' for +information on submitting useful and complete bug reports. + +You can also use the online bug tracking system in the Savannah GNU Make +project to submit new problem reports or search for existing ones: + + http://savannah.gnu.org/bugs/?group_id=71 + +If you need help using GNU make, try these forums: + + help-make@gnu.org + help-utils@gnu.org + news:gnu.utils.help + news:gnu.utils.bug + + http://savannah.gnu.org/support/?group_id=71 + +You may also find interesting patches to GNU Make available here: + + http://savannah.gnu.org/patch/?group_id=71 + +Note these patches are provided by our users as a service and we make no +statements regarding their correctness. Please contact the authors +directly if you have a problem or suggestion for a patch available on +this page. + + +CVS Access +---------- + +The GNU make source repository is available via anonymous CVS from the +GNU Subversions CVS server; look here for details: + + http://savannah.gnu.org/cvs/?group_id=71 + +Please note: you won't be able to build GNU make from CVS without +installing appropriate maintainer's tools, such as GNU m4, automake, +autoconf, Perl, GNU make, and GCC. See the README.cvs file for hints on +how to build GNU make once these tools are available. We make no +guarantees about the contents or quality of the latest code in the CVS +repository: it is not unheard of for code that is known to be broken to +be checked in. Use at your own risk. + + +System-specific Notes +--------------------- + +It has been reported that the XLC 1.2 compiler on AIX 3.2 is buggy such +that if you compile make with `cc -O' on AIX 3.2, it will not work correctly. +It is said that using `cc' without `-O' does work. + +One area that is often a problem in configuration and porting is the code +to check the system's current load average. To make it easier to test and +debug this code, you can do `make check-loadavg' to see if it works +properly on your system. (You must run `configure' beforehand, but you +need not build Make itself to run this test.) + +Another potential source of porting problems is the support for large +files (LFS) in configure for those operating systems that provide it. +Please report any bugs that you find in this area. If you run into +difficulties, then as a workaround you should be able to disable LFS by +adding the `--disable-largefile' option to the `configure' script. + +On systems that support micro- and nano-second timestamp values and +where stat(2) provides this information, GNU make will use it when +comparing timestamps to get the most accurate possible result. However, +note that many current implementations of tools that *set* timestamps do +not preserve micro- or nano-second granularity. This means that "cp -p" +and other similar tools (tar, etc.) may not exactly duplicate timestamps +with micro- and nano-second granularity on some systems. If your build +system contains rules that depend on proper behavior of tools like "cp +-p", you should consider using the .LOW_RESOLUTION_TIME pseudo-target to +force make to treat them properly. See the manual for details. + + +Ports +----- + + - See README.customs for details on integrating GNU make with the + Customs distributed build environment from the Pmake distribution. + + - See readme.vms for details about GNU Make on OpenVMS. + + - See README.Amiga for details about GNU Make on AmigaDOS. + + - See README.W32 for details about GNU Make on Windows NT, 95, or 98. + + - See README.DOS for compilation instructions on MS-DOS and MS-Windows + using DJGPP tools. + + A precompiled binary of the MSDOS port of GNU Make is available as part + of DJGPP; see the WWW page http://www.delorie.com/djgpp/ for more + information. + +Please note there are two _separate_ ports of GNU make for Microsoft +systems: a native Windows tool built with (for example) MSVC or Cygwin, +and a DOS-based tool built with DJGPP. Please be sure you are looking +at the right README! diff --git a/src/mkutil/make/SCOPTIONS b/src/mkutil/make/SCOPTIONS index f89daae1..324b5e8e 100644 --- a/src/mkutil/make/SCOPTIONS +++ b/src/mkutil/make/SCOPTIONS @@ -1,13 +1,13 @@ -ERRORREXX -OPTIMIZE -NOVERSION -OPTIMIZERTIME -OPTIMIZERALIAS -DEFINE INCLUDEDIR="include:" -DEFINE LIBDIR="lib:" -DEFINE NO_ALLOCA -DEFINE NO_FLOAT -DEFINE NO_ARCHIVES -IGNORE=161 -IGNORE=100 -STARTUP=cres +ERRORREXX +OPTIMIZE +NOVERSION +OPTIMIZERTIME +OPTIMIZERALIAS +DEFINE INCLUDEDIR="include:" +DEFINE LIBDIR="lib:" +DEFINE NO_ALLOCA +DEFINE NO_FLOAT +DEFINE NO_ARCHIVES +IGNORE=161 +IGNORE=100 +STARTUP=cres diff --git a/src/mkutil/make/SMakefile.template b/src/mkutil/make/SMakefile.template index 64c06853..bab89219 100644 --- a/src/mkutil/make/SMakefile.template +++ b/src/mkutil/make/SMakefile.template @@ -1,213 +1,213 @@ -# NOTE: If you have no `make' program at all to process this makefile, run -# `build.sh' instead. -# -# Copyright (C) 1988, 89, 91, 92, 93, 94, 1995 Free Software Foundation, Inc. -# This file is part of GNU Make. -# -# GNU Make is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# GNU Make is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Make; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - -# -# Makefile for GNU Make -# - -# Ultrix 2.2 make doesn't expand the value of VPATH. -VPATH = /make-%VERSION%/ -# This must repeat the value, because configure will remove `VPATH = .'. -srcdir = /make-%VERSION%/ - -CC = sc -RM = delete -MAKE = smake - -CFLAGS = -CPPFLAGS = -LDFLAGS = - -# Define these for your system as follows: -# -DNO_ARCHIVES To disable `ar' archive support. -# -DNO_FLOAT To avoid using floating-point numbers. -# -DENUM_BITFIELDS If the compiler isn't GCC but groks enum foo:2. -# Some compilers apparently accept this -# without complaint but produce losing code, -# so beware. -# NeXT 1.0a uses an old version of GCC, which required -D__inline=inline. -# See also `config.h'. -defines = - -# Which flavor of remote job execution support to use. -# The code is found in `remote-$(REMOTE).c'. -REMOTE = stub - -# If you are using the GNU C library, or have the GNU getopt functions in -# your C library, you can comment these out. -GETOPT = getopt.o getopt1.o -GETOPT_SRC = $(srcdir)getopt.c $(srcdir)getopt1.c $(srcdir)getopt.h - -# If you are using the GNU C library, or have the GNU glob functions in -# your C library, you can comment this out. GNU make uses special hooks -# into the glob functions to be more efficient (by using make's directory -# cache for globbing), so you must use the GNU functions even if your -# system's C library has the 1003.2 glob functions already. Also, the glob -# functions in the AIX and HPUX C libraries are said to be buggy. -GLOB = Lib glob/glob.lib - -# If your system doesn't have alloca, or the one provided is bad, define this. -ALLOCA = alloca.o -ALLOCA_SRC = $(srcdir)alloca.c - -# If your system needs extra libraries loaded in, define them here. -# System V probably need -lPW for alloca. HP-UX 7.0's alloca in -# libPW.a is broken on HP9000s300 and HP9000s400 machines. Use -# alloca.c instead on those machines. -LOADLIBES = - -# Any extra object files your system needs. -extras = amiga.o - -# Common prefix for machine-independent installed files. -prefix = -# Common prefix for machine-dependent installed files. -exec_prefix = - -# Directory to install `make' in. -bindir = sc:c -# Directory to find libraries in for `-lXXX'. -libdir = lib: -# Directory to search by default for included makefiles. -includedir = include: -# Directory to install the Info files in. -infodir = doc: -# Directory to install the man page in. -mandir = t: -# Number to put on the man page filename. -manext = 1 -# Prefix to put on installed `make' binary file name. -binprefix = -# Prefix to put on installed `make' man page file name. -manprefix = $(binprefix) - -# Whether or not make needs to be installed setgid. -# The value should be either `true' or `false'. -# On many systems, the getloadavg function (used to implement the `-l' -# switch) will not work unless make is installed setgid kmem. -install_setgid = false -# Install make setgid to this group so it can read /dev/kmem. -group = sys - -# Program to install `make'. -INSTALL_PROGRAM = copy -# Program to install the man page. -INSTALL_DATA = copy -# Generic install program. -INSTALL = copy - -# Program to format Texinfo source into Info files. -MAKEINFO = makeinfo -# Program to format Texinfo source into DVI files. -TEXI2DVI = texi2dvi - -# Programs to make tags files. -ETAGS = etags -w -CTAGS = ctags -w - -objs = commands.o job.o dir.o file.o misc.o main.o read.o remake.o \ - rule.o implicit.o default.o variable.o expand.o function.o \ - vpath.o version.o ar.o arscan.o signame.o hash.o \ - remote-$(REMOTE).o $(GLOB) $(GETOPT) $(ALLOCA) $(extras) -srcs = $(srcdir)commands.c $(srcdir)job.c $(srcdir)dir.c \ - $(srcdir)file.c $(srcdir)getloadavg.c $(srcdir)misc.c \ - $(srcdir)main.c $(srcdir)read.c $(srcdir)remake.c \ - $(srcdir)rule.c $(srcdir)implicit.c $(srcdir)default.c \ - $(srcdir)variable.c $(srcdir)expand.c $(srcdir)function.c \ - $(srcdir)vpath.c $(srcdir)version.c $(srcdir)hash.c \ - $(srcdir)remote-$(REMOTE).c \ - $(srcdir)ar.c $(srcdir)arscan.c \ - $(srcdir)signame.c $(srcdir)signame.h $(GETOPT_SRC) \ - $(srcdir)commands.h $(srcdir)dep.h $(srcdir)file.h \ - $(srcdir)job.h $(srcdir)make.h $(srcdir)rule.h \ - $(srcdir)variable.h $(ALLOCA_SRC) $(srcdir)config.h.in - - -.SUFFIXES: -.SUFFIXES: .o .c .h .ps .dvi .info .texinfo - -all: make -info: make.info -dvi: make.dvi -# Some makes apparently use .PHONY as the default goal if it is before `all'. -.PHONY: all check info dvi - -make.info: make.texinfo - $(MAKEINFO) -I$(srcdir) $(srcdir)make.texinfo -o make.info - -make.dvi: make.texinfo - $(TEXI2DVI) $(srcdir)make.texinfo - -make.ps: make.dvi - dvi2ps make.dvi > make.ps - -make: $(objs) glob/glob.lib - $(CC) Link $(LDFLAGS) $(objs) $(LOADLIBES) To make.new - -delete quiet make - rename make.new make - -# -I. is needed to find config.h in the build directory. -.c.o: - $(CC) $(defines) IDir "" IDir $(srcdir)glob \ - $(CPPFLAGS) $(CFLAGS) $< $(OUTPUT_OPTION) - -glob/glob.lib: - execute << - cd glob - smake -< - -tagsrcs = $(srcs) $(srcdir)remote-*.c -TAGS: $(tagsrcs) - $(ETAGS) $(tagsrcs) -tags: $(tagsrcs) - $(CTAGS) $(tagsrcs) - -.PHONY: install installdirs -install: - copy make sc:c - -loadavg: loadavg.c config.h - $(CC) $(defines) -DTEST -I. -I$(srcdir) $(CFLAGS) $(LDFLAGS) \ - loadavg.c $(LOADLIBES) -o $@ - -clean: glob-clean - -$(RM) -f make loadavg *.o core make.dvi - -distclean: clean glob-realclean - -$(RM) -f Makefile config.h config.status build.sh - -$(RM) -f config.log config.cache - -$(RM) -f TAGS tags - -$(RM) -f make.?? make.??s make.log make.toc make.*aux - -$(RM) -f loadavg.c - -realclean: distclean - -$(RM) -f make.info* - -mostlyclean: clean - -.PHONY: glob-clean glob-realclean - -glob-clean glob-realclean: - execute << - cd glob - smake $@ -< +# NOTE: If you have no `make' program at all to process this makefile, run +# `build.sh' instead. +# +# Copyright (C) 1988, 89, 91, 92, 93, 94, 1995 Free Software Foundation, Inc. +# This file is part of GNU Make. +# +# GNU Make is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# GNU Make is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Make; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# +# Makefile for GNU Make +# + +# Ultrix 2.2 make doesn't expand the value of VPATH. +VPATH = /make-%VERSION%/ +# This must repeat the value, because configure will remove `VPATH = .'. +srcdir = /make-%VERSION%/ + +CC = sc +RM = delete +MAKE = smake + +CFLAGS = +CPPFLAGS = +LDFLAGS = + +# Define these for your system as follows: +# -DNO_ARCHIVES To disable `ar' archive support. +# -DNO_FLOAT To avoid using floating-point numbers. +# -DENUM_BITFIELDS If the compiler isn't GCC but groks enum foo:2. +# Some compilers apparently accept this +# without complaint but produce losing code, +# so beware. +# NeXT 1.0a uses an old version of GCC, which required -D__inline=inline. +# See also `config.h'. +defines = + +# Which flavor of remote job execution support to use. +# The code is found in `remote-$(REMOTE).c'. +REMOTE = stub + +# If you are using the GNU C library, or have the GNU getopt functions in +# your C library, you can comment these out. +GETOPT = getopt.o getopt1.o +GETOPT_SRC = $(srcdir)getopt.c $(srcdir)getopt1.c $(srcdir)getopt.h + +# If you are using the GNU C library, or have the GNU glob functions in +# your C library, you can comment this out. GNU make uses special hooks +# into the glob functions to be more efficient (by using make's directory +# cache for globbing), so you must use the GNU functions even if your +# system's C library has the 1003.2 glob functions already. Also, the glob +# functions in the AIX and HPUX C libraries are said to be buggy. +GLOB = Lib glob/glob.lib + +# If your system doesn't have alloca, or the one provided is bad, define this. +ALLOCA = alloca.o +ALLOCA_SRC = $(srcdir)alloca.c + +# If your system needs extra libraries loaded in, define them here. +# System V probably need -lPW for alloca. HP-UX 7.0's alloca in +# libPW.a is broken on HP9000s300 and HP9000s400 machines. Use +# alloca.c instead on those machines. +LOADLIBES = + +# Any extra object files your system needs. +extras = amiga.o + +# Common prefix for machine-independent installed files. +prefix = +# Common prefix for machine-dependent installed files. +exec_prefix = + +# Directory to install `make' in. +bindir = sc:c +# Directory to find libraries in for `-lXXX'. +libdir = lib: +# Directory to search by default for included makefiles. +includedir = include: +# Directory to install the Info files in. +infodir = doc: +# Directory to install the man page in. +mandir = t: +# Number to put on the man page filename. +manext = 1 +# Prefix to put on installed `make' binary file name. +binprefix = +# Prefix to put on installed `make' man page file name. +manprefix = $(binprefix) + +# Whether or not make needs to be installed setgid. +# The value should be either `true' or `false'. +# On many systems, the getloadavg function (used to implement the `-l' +# switch) will not work unless make is installed setgid kmem. +install_setgid = false +# Install make setgid to this group so it can read /dev/kmem. +group = sys + +# Program to install `make'. +INSTALL_PROGRAM = copy +# Program to install the man page. +INSTALL_DATA = copy +# Generic install program. +INSTALL = copy + +# Program to format Texinfo source into Info files. +MAKEINFO = makeinfo +# Program to format Texinfo source into DVI files. +TEXI2DVI = texi2dvi + +# Programs to make tags files. +ETAGS = etags -w +CTAGS = ctags -w + +objs = commands.o job.o dir.o file.o misc.o main.o read.o remake.o \ + rule.o implicit.o default.o variable.o expand.o function.o \ + vpath.o version.o ar.o arscan.o signame.o hash.o \ + remote-$(REMOTE).o $(GLOB) $(GETOPT) $(ALLOCA) $(extras) +srcs = $(srcdir)commands.c $(srcdir)job.c $(srcdir)dir.c \ + $(srcdir)file.c $(srcdir)getloadavg.c $(srcdir)misc.c \ + $(srcdir)main.c $(srcdir)read.c $(srcdir)remake.c \ + $(srcdir)rule.c $(srcdir)implicit.c $(srcdir)default.c \ + $(srcdir)variable.c $(srcdir)expand.c $(srcdir)function.c \ + $(srcdir)vpath.c $(srcdir)version.c $(srcdir)hash.c \ + $(srcdir)remote-$(REMOTE).c \ + $(srcdir)ar.c $(srcdir)arscan.c \ + $(srcdir)signame.c $(srcdir)signame.h $(GETOPT_SRC) \ + $(srcdir)commands.h $(srcdir)dep.h $(srcdir)file.h \ + $(srcdir)job.h $(srcdir)make.h $(srcdir)rule.h \ + $(srcdir)variable.h $(ALLOCA_SRC) $(srcdir)config.h.in + + +.SUFFIXES: +.SUFFIXES: .o .c .h .ps .dvi .info .texinfo + +all: make +info: make.info +dvi: make.dvi +# Some makes apparently use .PHONY as the default goal if it is before `all'. +.PHONY: all check info dvi + +make.info: make.texinfo + $(MAKEINFO) -I$(srcdir) $(srcdir)make.texinfo -o make.info + +make.dvi: make.texinfo + $(TEXI2DVI) $(srcdir)make.texinfo + +make.ps: make.dvi + dvi2ps make.dvi > make.ps + +make: $(objs) glob/glob.lib + $(CC) Link $(LDFLAGS) $(objs) $(LOADLIBES) To make.new + -delete quiet make + rename make.new make + +# -I. is needed to find config.h in the build directory. +.c.o: + $(CC) $(defines) IDir "" IDir $(srcdir)glob \ + $(CPPFLAGS) $(CFLAGS) $< $(OUTPUT_OPTION) + +glob/glob.lib: + execute << + cd glob + smake +< + +tagsrcs = $(srcs) $(srcdir)remote-*.c +TAGS: $(tagsrcs) + $(ETAGS) $(tagsrcs) +tags: $(tagsrcs) + $(CTAGS) $(tagsrcs) + +.PHONY: install installdirs +install: + copy make sc:c + +loadavg: loadavg.c config.h + $(CC) $(defines) -DTEST -I. -I$(srcdir) $(CFLAGS) $(LDFLAGS) \ + loadavg.c $(LOADLIBES) -o $@ + +clean: glob-clean + -$(RM) -f make loadavg *.o core make.dvi + +distclean: clean glob-realclean + -$(RM) -f Makefile config.h config.status build.sh + -$(RM) -f config.log config.cache + -$(RM) -f TAGS tags + -$(RM) -f make.?? make.??s make.log make.toc make.*aux + -$(RM) -f loadavg.c + +realclean: distclean + -$(RM) -f make.info* + +mostlyclean: clean + +.PHONY: glob-clean glob-realclean + +glob-clean glob-realclean: + execute << + cd glob + smake $@ +< diff --git a/src/mkutil/make/TODO.private b/src/mkutil/make/TODO.private index 693b7bb5..18721a58 100644 --- a/src/mkutil/make/TODO.private +++ b/src/mkutil/make/TODO.private @@ -1,140 +1,140 @@ - -*-Indented-Text-*- -GNU Make TODO List ------------------- - -This list comes both from the authors and from users of GNU make. - -They are listed in no particular order! - -Also, I don't gaurantee that all of them will be ultimately deemed "good -ideas" and implemented. These are just the ones that, at first blush, -seem to have some merit (and that I can remember). - -However, if you see something here you really, really want, speak up. -All other things being equal, I will tend to implement things that seem -to maximize user satisfaction. - -If you want to implement some of them yourself, barring the ones I've -marked below, have at it! Please contact me first to let me know you're -working on it, and give me some info about the design--and, critically, -information about any user-visible syntax change, etc. - - -The Top Item ------------- - -If you know perl (or want to learn DejaGNU or similar), the number one -priority on my list of things I don't have time to do right now is -fixing up the GNU make test suite. Most importantly it needs to be made -"parallelizable", so more than one regression can run at the same time -(essentially, make the "work" directory local). Also, the CWD during -the test should be in the work directory or, better, a test-specific -temporary directory so each test gets a new directory; right now -sometimes tests leak files into the main directory which causes -subsequent tests to fail (some tests may need to be tweaked). Beyond -that, any cleanup done to make writing, reading, or handling tests -simpler would be great! Please feel free to make whatever changes you -like to the current tests, given some high-level goals, and that you'll -port the current tests to whatever you do :). - - -The Rest of the List --------------------- - - 1) Allow variables/functions to expand to other make rules which are - then interpreted, with newlines handled correctly. This is a - biggee, and is on my plate. I already have partially-working code. - - 2) Option to check more than timestamps to determine if targets have - changed. This is also a very big one. It's _close_ to my plate :), - and I have very definite ideas about how I would like it done. - Please pick something else unless you must have this feature. If - you try it, please work _extremely_ closely with me on it. - - 2a) Possibly a special case of this is the .KEEP_STATE feature of Sun's - make. Some great folks at W U. in Canada did an implementation of - this for a class project. Their approach is reasonable and - workable, but doesn't really fit into my ideas for #2. Maybe - that's OK. I have paperwork for their work so if you want to do - this one talk to me to get what they've already done. - - [K R Praveen ] - - 3) Currently you can use "%.foo %.bar : %.baz" to mean that one - invocation of the rule builds both targets. GNU make needs a way to - do that for explicit rules, too. I heard a rumor that some versions - of make all you to say "a.foo + a.bar : a.baz" to do this (i.e., a - "+" means one invocation builds both). Don't know if this is the - best syntax or not... what if you say "a.foo + a.bar a.bam : a.baz"; - what does that mean? - - 4) Multi-token pattern rule matching (allow %1/%2.c : %1/obj/%2.o, - etc., or something like that). I have an implementation of this - already, it just needs some refinement... maybe. Additionally I - think it only works for static pattern rules; it might need to be - fixed up to work with normal pattern rules, too. - - 5) More robust clock skew detection algorithm: less false hits. I have - some notes on this from various discussions. - - 6) Provide MAKETARGETS and MAKEVARIABLES variables, containing the - names of the targets and variables defined in the makefile. - - Actually, I now think a $(targets ...) function, at least, would be - better than a MAKETARGETS variable. The argument would be types of - targets to list: "phony" is the most useful one. I suppose - "default" might also be useful. Maybe some others; check the - bitfields to see what might be handy. This one is pretty easy. - - 7) Some sort of operating-system independent way of handling paths - would be outstanding, so makefiles can be written for UNIX, VMS, - DOS, MS-Windows, Amiga, etc. with a minimum of specialization. - - Or, perhaps related/instead of, some sort of meta-quoting syntax so - make can deal with filenames containing spaces, colons, etc. I - dunno, maybe something like $[...]? This may well not be worth - doing until #1 is done. - - 9) Right now the .PRECIOUS, .INTERMEDIATE, and .SECONDARY - pseudo-targets have different capabilities. For example, .PRECIOUS - can take a "%", the others can't. Etc. These should all work the - same, insofar as that makes sense. - -10) A syntax that specifies a build order _without_ implying a - dependency relationship. That is, a way to say "A must be built - before B" that doesn't force B to be built when A changes. This is - very important for parallel builds: sometimes you need some stuff - done first but you don't want to rebuild everything because of it. - -11) Improved debugging/logging/etc. capabilities. Part of this is done: - I introduced a number of debugging enhancements. Tim Magill is (I - think) looking into options to control output more selectively. - One thing I want to do in debugging is add a flag to allow debugging - of variables as they're expanded (!). This would be incredibly - verbose, but could be invaluable when nothing else seems to work and - you just can't figure it out. The way variables are expanded now - means this isn't 100% trivial, but it probably won't be hard. - -12) Integration of Guile as an embedded scripting language. This means: - allowing Guile functions to be declared in makefiles somehow, then - providing a syntax for invoking them. At least one formulation of - that would have the function resolve to a string which would be - substituted in the makefile, kind of like $(shell ...) does now, but - using the embedded interpreter so there's no process forked of - course. Obviously this is an optional add-on feature. - - It could be more advanced than that, even, who knows? Maybe make - could provide Guile functions that allow Guile scripts more direct - access to internal make structures, somehow. This kind of thing - needs a lot of thought. - - Also there's always the flip side: in some very fundamental ways - make isn't the best choice right now for a complex build tool. It's - great for simple-to-medium tasks, but there are already other tools - available for the really tough situations. Ask yourself, - realistically, how much work is worthwhile to add to make, given the - fundamentals you can't really overcome without significantly - affecting backward compatibility--and then why not use another tool - in the first place? - - Something to think about. + -*-Indented-Text-*- +GNU Make TODO List +------------------ + +This list comes both from the authors and from users of GNU make. + +They are listed in no particular order! + +Also, I don't gaurantee that all of them will be ultimately deemed "good +ideas" and implemented. These are just the ones that, at first blush, +seem to have some merit (and that I can remember). + +However, if you see something here you really, really want, speak up. +All other things being equal, I will tend to implement things that seem +to maximize user satisfaction. + +If you want to implement some of them yourself, barring the ones I've +marked below, have at it! Please contact me first to let me know you're +working on it, and give me some info about the design--and, critically, +information about any user-visible syntax change, etc. + + +The Top Item +------------ + +If you know perl (or want to learn DejaGNU or similar), the number one +priority on my list of things I don't have time to do right now is +fixing up the GNU make test suite. Most importantly it needs to be made +"parallelizable", so more than one regression can run at the same time +(essentially, make the "work" directory local). Also, the CWD during +the test should be in the work directory or, better, a test-specific +temporary directory so each test gets a new directory; right now +sometimes tests leak files into the main directory which causes +subsequent tests to fail (some tests may need to be tweaked). Beyond +that, any cleanup done to make writing, reading, or handling tests +simpler would be great! Please feel free to make whatever changes you +like to the current tests, given some high-level goals, and that you'll +port the current tests to whatever you do :). + + +The Rest of the List +-------------------- + + 1) Allow variables/functions to expand to other make rules which are + then interpreted, with newlines handled correctly. This is a + biggee, and is on my plate. I already have partially-working code. + + 2) Option to check more than timestamps to determine if targets have + changed. This is also a very big one. It's _close_ to my plate :), + and I have very definite ideas about how I would like it done. + Please pick something else unless you must have this feature. If + you try it, please work _extremely_ closely with me on it. + + 2a) Possibly a special case of this is the .KEEP_STATE feature of Sun's + make. Some great folks at W U. in Canada did an implementation of + this for a class project. Their approach is reasonable and + workable, but doesn't really fit into my ideas for #2. Maybe + that's OK. I have paperwork for their work so if you want to do + this one talk to me to get what they've already done. + + [K R Praveen ] + + 3) Currently you can use "%.foo %.bar : %.baz" to mean that one + invocation of the rule builds both targets. GNU make needs a way to + do that for explicit rules, too. I heard a rumor that some versions + of make all you to say "a.foo + a.bar : a.baz" to do this (i.e., a + "+" means one invocation builds both). Don't know if this is the + best syntax or not... what if you say "a.foo + a.bar a.bam : a.baz"; + what does that mean? + + 4) Multi-token pattern rule matching (allow %1/%2.c : %1/obj/%2.o, + etc., or something like that). I have an implementation of this + already, it just needs some refinement... maybe. Additionally I + think it only works for static pattern rules; it might need to be + fixed up to work with normal pattern rules, too. + + 5) More robust clock skew detection algorithm: less false hits. I have + some notes on this from various discussions. + + 6) Provide MAKETARGETS and MAKEVARIABLES variables, containing the + names of the targets and variables defined in the makefile. + + Actually, I now think a $(targets ...) function, at least, would be + better than a MAKETARGETS variable. The argument would be types of + targets to list: "phony" is the most useful one. I suppose + "default" might also be useful. Maybe some others; check the + bitfields to see what might be handy. This one is pretty easy. + + 7) Some sort of operating-system independent way of handling paths + would be outstanding, so makefiles can be written for UNIX, VMS, + DOS, MS-Windows, Amiga, etc. with a minimum of specialization. + + Or, perhaps related/instead of, some sort of meta-quoting syntax so + make can deal with filenames containing spaces, colons, etc. I + dunno, maybe something like $[...]? This may well not be worth + doing until #1 is done. + + 9) Right now the .PRECIOUS, .INTERMEDIATE, and .SECONDARY + pseudo-targets have different capabilities. For example, .PRECIOUS + can take a "%", the others can't. Etc. These should all work the + same, insofar as that makes sense. + +10) A syntax that specifies a build order _without_ implying a + dependency relationship. That is, a way to say "A must be built + before B" that doesn't force B to be built when A changes. This is + very important for parallel builds: sometimes you need some stuff + done first but you don't want to rebuild everything because of it. + +11) Improved debugging/logging/etc. capabilities. Part of this is done: + I introduced a number of debugging enhancements. Tim Magill is (I + think) looking into options to control output more selectively. + One thing I want to do in debugging is add a flag to allow debugging + of variables as they're expanded (!). This would be incredibly + verbose, but could be invaluable when nothing else seems to work and + you just can't figure it out. The way variables are expanded now + means this isn't 100% trivial, but it probably won't be hard. + +12) Integration of Guile as an embedded scripting language. This means: + allowing Guile functions to be declared in makefiles somehow, then + providing a syntax for invoking them. At least one formulation of + that would have the function resolve to a string which would be + substituted in the makefile, kind of like $(shell ...) does now, but + using the embedded interpreter so there's no process forked of + course. Obviously this is an optional add-on feature. + + It could be more advanced than that, even, who knows? Maybe make + could provide Guile functions that allow Guile scripts more direct + access to internal make structures, somehow. This kind of thing + needs a lot of thought. + + Also there's always the flip side: in some very fundamental ways + make isn't the best choice right now for a complex build tool. It's + great for simple-to-medium tasks, but there are already other tools + available for the really tough situations. Ask yourself, + realistically, how much work is worthwhile to add to make, given the + fundamentals you can't really overcome without significantly + affecting backward compatibility--and then why not use another tool + in the first place? + + Something to think about. diff --git a/src/mkutil/make/acinclude.m4 b/src/mkutil/make/acinclude.m4 index cd2b9037..a2ec16bc 100644 --- a/src/mkutil/make/acinclude.m4 +++ b/src/mkutil/make/acinclude.m4 @@ -1,164 +1,164 @@ -dnl acinclude.m4 -- Extra macros needed for GNU make. -dnl -dnl Automake will incorporate this into its generated aclocal.m4. - -dnl --------------------------------------------------------------------------- -dnl Got this from the lynx 2.8 distribution. -dnl by T.E.Dickey -dnl and Jim Spath -dnl and Philippe De Muyter -dnl -dnl Created: 1997/1/28 -dnl Updated: 1997/12/23 -dnl --------------------------------------------------------------------------- -dnl After checking for functions in the default $LIBS, make a further check -dnl for the functions that are netlib-related (these aren't always in the -dnl libc, etc., and have to be handled specially because there are conflicting -dnl and broken implementations. -dnl Common library requirements (in order): -dnl -lresolv -lsocket -lnsl -dnl -lnsl -lsocket -dnl -lsocket -dnl -lbsd -AC_DEFUN([CF_NETLIBS],[ -cf_test_netlibs=no -AC_MSG_CHECKING(for network libraries) -AC_CACHE_VAL(cf_cv_netlibs,[ -AC_MSG_RESULT(working...) -cf_cv_netlibs="" -cf_test_netlibs=yes -AC_CHECK_FUNCS(gethostname,,[ - CF_RECHECK_FUNC(gethostname,nsl,cf_cv_netlibs,[ - CF_RECHECK_FUNC(gethostname,socket,cf_cv_netlibs)])]) -# -# FIXME: sequent needs this library (i.e., -lsocket -linet -lnsl), but -# I don't know the entrypoints - 97/7/22 TD -AC_CHECK_LIB(inet,main,cf_cv_netlibs="-linet $cf_cv_netlibs") -# -if test "$ac_cv_func_lsocket" != no ; then -AC_CHECK_FUNCS(socket,,[ - CF_RECHECK_FUNC(socket,socket,cf_cv_netlibs,[ - CF_RECHECK_FUNC(socket,bsd,cf_cv_netlibs)])]) -fi -# -AC_CHECK_FUNCS(gethostbyname,,[ - CF_RECHECK_FUNC(gethostbyname,nsl,cf_cv_netlibs)]) -# -AC_CHECK_FUNCS(strcasecmp,,[ - CF_RECHECK_FUNC(strcasecmp,resolv,cf_cv_netlibs)]) -]) -LIBS="$LIBS $cf_cv_netlibs" -test $cf_test_netlibs = no && echo "$cf_cv_netlibs" >&AC_FD_MSG -])dnl -dnl --------------------------------------------------------------------------- -dnl Re-check on a function to see if we can pick it up by adding a library. -dnl $1 = function to check -dnl $2 = library to check in -dnl $3 = environment to update (e.g., $LIBS) -dnl $4 = what to do if this fails -dnl -dnl This uses 'unset' if the shell happens to support it, but leaves the -dnl configuration variable set to 'unknown' if not. This is a little better -dnl than the normal autoconf test, which gives misleading results if a test -dnl for the function is made (e.g., with AC_CHECK_FUNC) after this macro is -dnl used (autoconf does not distinguish between a null token and one that is -dnl set to 'no'). -AC_DEFUN([CF_RECHECK_FUNC],[ -AC_CHECK_LIB($2,$1,[ - CF_UPPER(cf_tr_func,$1) - AC_DEFINE_UNQUOTED(HAVE_$cf_tr_func,1,[Define if you have function $1]) - ac_cv_func_$1=yes - $3="-l$2 [$]$3"],[ - ac_cv_func_$1=unknown - unset ac_cv_func_$1 2>/dev/null - $4], - [[$]$3]) -])dnl -dnl --------------------------------------------------------------------------- -dnl Make an uppercase version of a variable -dnl $1=uppercase($2) -AC_DEFUN([CF_UPPER], -[ -changequote(,)dnl -$1=`echo $2 | tr '[a-z]' '[A-Z]'` -changequote([,])dnl -])dnl - - -dnl --------------------------------------------------------------------------- -dnl From Paul Eggert - -AC_DEFUN(AC_STRUCT_ST_MTIM_NSEC, - [AC_CACHE_CHECK([for nanoseconds field of struct stat.st_mtim], - ac_cv_struct_st_mtim_nsec, - [ac_save_CPPFLAGS="$CPPFLAGS" - ac_cv_struct_st_mtim_nsec=no - # tv_nsec -- the usual case - # _tv_nsec -- Solaris 2.6, if - # (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1 - # && !defined __EXTENSIONS__) - # st__tim.tv_nsec -- UnixWare 2.1.2 - for ac_val in tv_nsec _tv_nsec st__tim.tv_nsec; do - CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val" - AC_TRY_COMPILE([#include -#include ], [struct stat s; s.st_mtim.ST_MTIM_NSEC;], - [ac_cv_struct_st_mtim_nsec=$ac_val; break]) - done - CPPFLAGS="$ac_save_CPPFLAGS"]) - - if test $ac_cv_struct_st_mtim_nsec != no; then - AC_DEFINE_UNQUOTED(ST_MTIM_NSEC, $ac_cv_struct_st_mtim_nsec, [Define if 'struct stat' contains a nanoseconds field]) - fi - ] -) - - -dnl --------------------------------------------------------------------------- -dnl This will be in the next version of autoconf; take this out then! - -# make_FUNC_SETVBUF_REVERSED -# ------------------------ -AC_DEFUN([make_FUNC_SETVBUF_REVERSED], -[AC_REQUIRE([AC_C_PROTOTYPES])dnl -AC_CACHE_CHECK(whether setvbuf arguments are reversed, - ac_cv_func_setvbuf_reversed, - [ac_cv_func_setvbuf_reversed=no - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#include -# if PROTOTYPES - int (setvbuf) (FILE *, int, char *, size_t); -# endif]], - [[char buf; return setvbuf (stdout, _IOLBF, &buf, 1);]])], - [AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#include -# if PROTOTYPES - int (setvbuf) (FILE *, int, char *, size_t); -# endif]], - [[char buf; return setvbuf (stdout, &buf, _IOLBF, 1);]])], - [# It compiles and links either way, so it must not be declared - # with a prototype and most likely this is a K&R C compiler. - # Try running it. - AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[/* This call has the arguments reversed. - A reversed system may check and see that the address of buf - is not _IOLBF, _IONBF, or _IOFBF, and return nonzero. */ - char buf; - if (setvbuf (stdout, _IOLBF, &buf, 1) != 0) - exit (1); - putchar ('\r'); - exit (0); /* Non-reversed systems SEGV here. */]])], - ac_cv_func_setvbuf_reversed=yes, - rm -f core core.* *.core, - [[: # Assume setvbuf is not reversed when cross-compiling.]])] - ac_cv_func_setvbuf_reversed=yes)])]) -if test $ac_cv_func_setvbuf_reversed = yes; then - AC_DEFINE(SETVBUF_REVERSED, 1, - [Define to 1 if the `setvbuf' function takes the buffering type as - its second argument and the buffer pointer as the third, as on - System V before release 3.]) -fi -])# make_FUNC_SETVBUF_REVERSED +dnl acinclude.m4 -- Extra macros needed for GNU make. +dnl +dnl Automake will incorporate this into its generated aclocal.m4. + +dnl --------------------------------------------------------------------------- +dnl Got this from the lynx 2.8 distribution. +dnl by T.E.Dickey +dnl and Jim Spath +dnl and Philippe De Muyter +dnl +dnl Created: 1997/1/28 +dnl Updated: 1997/12/23 +dnl --------------------------------------------------------------------------- +dnl After checking for functions in the default $LIBS, make a further check +dnl for the functions that are netlib-related (these aren't always in the +dnl libc, etc., and have to be handled specially because there are conflicting +dnl and broken implementations. +dnl Common library requirements (in order): +dnl -lresolv -lsocket -lnsl +dnl -lnsl -lsocket +dnl -lsocket +dnl -lbsd +AC_DEFUN([CF_NETLIBS],[ +cf_test_netlibs=no +AC_MSG_CHECKING(for network libraries) +AC_CACHE_VAL(cf_cv_netlibs,[ +AC_MSG_RESULT(working...) +cf_cv_netlibs="" +cf_test_netlibs=yes +AC_CHECK_FUNCS(gethostname,,[ + CF_RECHECK_FUNC(gethostname,nsl,cf_cv_netlibs,[ + CF_RECHECK_FUNC(gethostname,socket,cf_cv_netlibs)])]) +# +# FIXME: sequent needs this library (i.e., -lsocket -linet -lnsl), but +# I don't know the entrypoints - 97/7/22 TD +AC_CHECK_LIB(inet,main,cf_cv_netlibs="-linet $cf_cv_netlibs") +# +if test "$ac_cv_func_lsocket" != no ; then +AC_CHECK_FUNCS(socket,,[ + CF_RECHECK_FUNC(socket,socket,cf_cv_netlibs,[ + CF_RECHECK_FUNC(socket,bsd,cf_cv_netlibs)])]) +fi +# +AC_CHECK_FUNCS(gethostbyname,,[ + CF_RECHECK_FUNC(gethostbyname,nsl,cf_cv_netlibs)]) +# +AC_CHECK_FUNCS(strcasecmp,,[ + CF_RECHECK_FUNC(strcasecmp,resolv,cf_cv_netlibs)]) +]) +LIBS="$LIBS $cf_cv_netlibs" +test $cf_test_netlibs = no && echo "$cf_cv_netlibs" >&AC_FD_MSG +])dnl +dnl --------------------------------------------------------------------------- +dnl Re-check on a function to see if we can pick it up by adding a library. +dnl $1 = function to check +dnl $2 = library to check in +dnl $3 = environment to update (e.g., $LIBS) +dnl $4 = what to do if this fails +dnl +dnl This uses 'unset' if the shell happens to support it, but leaves the +dnl configuration variable set to 'unknown' if not. This is a little better +dnl than the normal autoconf test, which gives misleading results if a test +dnl for the function is made (e.g., with AC_CHECK_FUNC) after this macro is +dnl used (autoconf does not distinguish between a null token and one that is +dnl set to 'no'). +AC_DEFUN([CF_RECHECK_FUNC],[ +AC_CHECK_LIB($2,$1,[ + CF_UPPER(cf_tr_func,$1) + AC_DEFINE_UNQUOTED(HAVE_$cf_tr_func,1,[Define if you have function $1]) + ac_cv_func_$1=yes + $3="-l$2 [$]$3"],[ + ac_cv_func_$1=unknown + unset ac_cv_func_$1 2>/dev/null + $4], + [[$]$3]) +])dnl +dnl --------------------------------------------------------------------------- +dnl Make an uppercase version of a variable +dnl $1=uppercase($2) +AC_DEFUN([CF_UPPER], +[ +changequote(,)dnl +$1=`echo $2 | tr '[a-z]' '[A-Z]'` +changequote([,])dnl +])dnl + + +dnl --------------------------------------------------------------------------- +dnl From Paul Eggert + +AC_DEFUN(AC_STRUCT_ST_MTIM_NSEC, + [AC_CACHE_CHECK([for nanoseconds field of struct stat.st_mtim], + ac_cv_struct_st_mtim_nsec, + [ac_save_CPPFLAGS="$CPPFLAGS" + ac_cv_struct_st_mtim_nsec=no + # tv_nsec -- the usual case + # _tv_nsec -- Solaris 2.6, if + # (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1 + # && !defined __EXTENSIONS__) + # st__tim.tv_nsec -- UnixWare 2.1.2 + for ac_val in tv_nsec _tv_nsec st__tim.tv_nsec; do + CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val" + AC_TRY_COMPILE([#include +#include ], [struct stat s; s.st_mtim.ST_MTIM_NSEC;], + [ac_cv_struct_st_mtim_nsec=$ac_val; break]) + done + CPPFLAGS="$ac_save_CPPFLAGS"]) + + if test $ac_cv_struct_st_mtim_nsec != no; then + AC_DEFINE_UNQUOTED(ST_MTIM_NSEC, $ac_cv_struct_st_mtim_nsec, [Define if 'struct stat' contains a nanoseconds field]) + fi + ] +) + + +dnl --------------------------------------------------------------------------- +dnl This will be in the next version of autoconf; take this out then! + +# make_FUNC_SETVBUF_REVERSED +# ------------------------ +AC_DEFUN([make_FUNC_SETVBUF_REVERSED], +[AC_REQUIRE([AC_C_PROTOTYPES])dnl +AC_CACHE_CHECK(whether setvbuf arguments are reversed, + ac_cv_func_setvbuf_reversed, + [ac_cv_func_setvbuf_reversed=no + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include +# if PROTOTYPES + int (setvbuf) (FILE *, int, char *, size_t); +# endif]], + [[char buf; return setvbuf (stdout, _IOLBF, &buf, 1);]])], + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include +# if PROTOTYPES + int (setvbuf) (FILE *, int, char *, size_t); +# endif]], + [[char buf; return setvbuf (stdout, &buf, _IOLBF, 1);]])], + [# It compiles and links either way, so it must not be declared + # with a prototype and most likely this is a K&R C compiler. + # Try running it. + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[/* This call has the arguments reversed. + A reversed system may check and see that the address of buf + is not _IOLBF, _IONBF, or _IOFBF, and return nonzero. */ + char buf; + if (setvbuf (stdout, _IOLBF, &buf, 1) != 0) + exit (1); + putchar ('\r'); + exit (0); /* Non-reversed systems SEGV here. */]])], + ac_cv_func_setvbuf_reversed=yes, + rm -f core core.* *.core, + [[: # Assume setvbuf is not reversed when cross-compiling.]])] + ac_cv_func_setvbuf_reversed=yes)])]) +if test $ac_cv_func_setvbuf_reversed = yes; then + AC_DEFINE(SETVBUF_REVERSED, 1, + [Define to 1 if the `setvbuf' function takes the buffering type as + its second argument and the buffer pointer as the third, as on + System V before release 3.]) +fi +])# make_FUNC_SETVBUF_REVERSED diff --git a/src/mkutil/make/amiga.h b/src/mkutil/make/amiga.h index 99a1c598..ccea027c 100644 --- a/src/mkutil/make/amiga.h +++ b/src/mkutil/make/amiga.h @@ -1,22 +1,22 @@ -/* Definitions for amiga specific things -Copyright (C) 1995, 1996 Free Software Foundation, Inc. -This file is part of GNU Make. - -GNU Make is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Make is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Make; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -MA 02111-1307, USA. */ - -extern int MyExecute PARAMS ((char ** argv)); -extern char * wildcard_expansion PARAMS ((char * wc, char * o)); - +/* Definitions for amiga specific things +Copyright (C) 1995, 1996 Free Software Foundation, Inc. +This file is part of GNU Make. + +GNU Make is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Make is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Make; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, +MA 02111-1307, USA. */ + +extern int MyExecute PARAMS ((char ** argv)); +extern char * wildcard_expansion PARAMS ((char * wc, char * o)); + diff --git a/src/mkutil/make/build.template b/src/mkutil/make/build.template index 894140e2..7ff1dffb 100644 --- a/src/mkutil/make/build.template +++ b/src/mkutil/make/build.template @@ -1,83 +1,83 @@ -#!/bin/sh -# Shell script to build GNU Make in the absence of any `make' program. -# @configure_input@ - -# Copyright (C) 1993, 1994, 1997, 2003 Free Software Foundation, Inc. -# This file is part of GNU Make. -# -# GNU Make is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# GNU Make is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Make; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - -# See Makefile.in for comments describing these variables. - -srcdir='@srcdir@' -CC='@CC@' -CFLAGS='@CFLAGS@' -CPPFLAGS='@CPPFLAGS@' -LDFLAGS='@LDFLAGS@' -ALLOCA='@ALLOCA@' -LOADLIBES='@LIBS@' -eval extras=\'@LIBOBJS@\' -REMOTE='@REMOTE@' -GLOBLIB='@GLOBLIB@' -PATH_SEPARATOR='@PATH_SEPARATOR@' -OBJEXT='@OBJEXT@' -EXEEXT='@EXEEXT@' - -# Common prefix for machine-independent installed files. -prefix='@prefix@' -# Common prefix for machine-dependent installed files. -exec_prefix=`eval echo @exec_prefix@` -# Directory to find libraries in for `-lXXX'. -libdir=${exec_prefix}/lib -# Directory to search by default for included makefiles. -includedir=${prefix}/include - -localedir=${prefix}/share/locale -aliaspath=${localedir}${PATH_SEPARATOR}. - -defines="-DALIASPATH=\"${aliaspath}\" -DLOCALEDIR=\"${localedir}\" -DLIBDIR=\"${libdir}\" -DINCLUDEDIR=\"${includedir}\""' @DEFS@' - -# Exit as soon as any command fails. -set -e - -# These are all the objects we need to link together. -objs="%objs% remote-${REMOTE}.${OBJEXT} ${extras} ${ALLOCA}" - -if [ x"$GLOBLIB" != x ]; then - objs="$objs %globobjs%" - globinc=-I${srcdir}/glob -fi - -# Compile the source files into those objects. -for file in `echo ${objs} | sed 's/\.'${OBJEXT}'/.c/g'`; do - echo compiling ${file}... - $CC $defines $CPPFLAGS $CFLAGS \ - -c -I. -I${srcdir} ${globinc} ${srcdir}/$file -done - -# The object files were actually all put in the current directory. -# Remove the source directory names from the list. -srcobjs="$objs" -objs= -for obj in $srcobjs; do - objs="$objs `basename $obj`" -done - -# Link all the objects together. -echo linking make... -$CC $LDFLAGS $objs $LOADLIBES -o makenew${EXEEXT} -echo done -mv -f makenew${EXEEXT} make${EXEEXT} +#!/bin/sh +# Shell script to build GNU Make in the absence of any `make' program. +# @configure_input@ + +# Copyright (C) 1993, 1994, 1997, 2003 Free Software Foundation, Inc. +# This file is part of GNU Make. +# +# GNU Make is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# GNU Make is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Make; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# See Makefile.in for comments describing these variables. + +srcdir='@srcdir@' +CC='@CC@' +CFLAGS='@CFLAGS@' +CPPFLAGS='@CPPFLAGS@' +LDFLAGS='@LDFLAGS@' +ALLOCA='@ALLOCA@' +LOADLIBES='@LIBS@' +eval extras=\'@LIBOBJS@\' +REMOTE='@REMOTE@' +GLOBLIB='@GLOBLIB@' +PATH_SEPARATOR='@PATH_SEPARATOR@' +OBJEXT='@OBJEXT@' +EXEEXT='@EXEEXT@' + +# Common prefix for machine-independent installed files. +prefix='@prefix@' +# Common prefix for machine-dependent installed files. +exec_prefix=`eval echo @exec_prefix@` +# Directory to find libraries in for `-lXXX'. +libdir=${exec_prefix}/lib +# Directory to search by default for included makefiles. +includedir=${prefix}/include + +localedir=${prefix}/share/locale +aliaspath=${localedir}${PATH_SEPARATOR}. + +defines="-DALIASPATH=\"${aliaspath}\" -DLOCALEDIR=\"${localedir}\" -DLIBDIR=\"${libdir}\" -DINCLUDEDIR=\"${includedir}\""' @DEFS@' + +# Exit as soon as any command fails. +set -e + +# These are all the objects we need to link together. +objs="%objs% remote-${REMOTE}.${OBJEXT} ${extras} ${ALLOCA}" + +if [ x"$GLOBLIB" != x ]; then + objs="$objs %globobjs%" + globinc=-I${srcdir}/glob +fi + +# Compile the source files into those objects. +for file in `echo ${objs} | sed 's/\.'${OBJEXT}'/.c/g'`; do + echo compiling ${file}... + $CC $defines $CPPFLAGS $CFLAGS \ + -c -I. -I${srcdir} ${globinc} ${srcdir}/$file +done + +# The object files were actually all put in the current directory. +# Remove the source directory names from the list. +srcobjs="$objs" +objs= +for obj in $srcobjs; do + objs="$objs `basename $obj`" +done + +# Link all the objects together. +echo linking make... +$CC $LDFLAGS $objs $LOADLIBES -o makenew${EXEEXT} +echo done +mv -f makenew${EXEEXT} make${EXEEXT} diff --git a/src/mkutil/make/commands.h b/src/mkutil/make/commands.h index edec9103..6f5bd7fb 100644 --- a/src/mkutil/make/commands.h +++ b/src/mkutil/make/commands.h @@ -1,42 +1,42 @@ -/* Definition of data structures describing shell commands for GNU Make. -Copyright (C) 1988, 1989, 1991, 1993 Free Software Foundation, Inc. -This file is part of GNU Make. - -GNU Make is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Make is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Make; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* Structure that gives the commands to make a file - and information about where these commands came from. */ - -struct commands - { - struct floc fileinfo; /* Where commands were defined. */ - char *commands; /* Commands text. */ - unsigned int ncommand_lines;/* Number of command lines. */ - char **command_lines; /* Commands chopped up into lines. */ - char *lines_flags; /* One set of flag bits for each line. */ - int any_recurse; /* Nonzero if any `lines_recurse' elt has */ - /* the COMMANDS_RECURSE bit set. */ - }; - -/* Bits in `lines_flags'. */ -#define COMMANDS_RECURSE 1 /* Recurses: + or $(MAKE). */ -#define COMMANDS_SILENT 2 /* Silent: @. */ -#define COMMANDS_NOERROR 4 /* No errors: -. */ - -extern void execute_file_commands PARAMS ((struct file *file)); -extern void print_commands PARAMS ((struct commands *cmds)); -extern void delete_child_targets PARAMS ((struct child *child)); -extern void chop_commands PARAMS ((struct commands *cmds)); +/* Definition of data structures describing shell commands for GNU Make. +Copyright (C) 1988, 1989, 1991, 1993 Free Software Foundation, Inc. +This file is part of GNU Make. + +GNU Make is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Make is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Make; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +/* Structure that gives the commands to make a file + and information about where these commands came from. */ + +struct commands + { + struct floc fileinfo; /* Where commands were defined. */ + char *commands; /* Commands text. */ + unsigned int ncommand_lines;/* Number of command lines. */ + char **command_lines; /* Commands chopped up into lines. */ + char *lines_flags; /* One set of flag bits for each line. */ + int any_recurse; /* Nonzero if any `lines_recurse' elt has */ + /* the COMMANDS_RECURSE bit set. */ + }; + +/* Bits in `lines_flags'. */ +#define COMMANDS_RECURSE 1 /* Recurses: + or $(MAKE). */ +#define COMMANDS_SILENT 2 /* Silent: @. */ +#define COMMANDS_NOERROR 4 /* No errors: -. */ + +extern void execute_file_commands PARAMS ((struct file *file)); +extern void print_commands PARAMS ((struct commands *cmds)); +extern void delete_child_targets PARAMS ((struct child *child)); +extern void chop_commands PARAMS ((struct commands *cmds)); diff --git a/src/mkutil/make/config.ami.template b/src/mkutil/make/config.ami.template index c0548b24..4a26f079 100644 --- a/src/mkutil/make/config.ami.template +++ b/src/mkutil/make/config.ami.template @@ -1,317 +1,317 @@ -/* config.h.in. Generated automatically from configure.in by autoheader. */ - -/* Define if on AIX 3. - System headers sometimes define this. - We just want to avoid a redefinition error message. */ -#ifndef _ALL_SOURCE -/* #undef _ALL_SOURCE */ -#endif - -/* Define if using alloca.c. */ -#define C_ALLOCA - -/* Define if the closedir function returns void instead of int. */ -/* #undef CLOSEDIR_VOID */ - -/* Define to empty if the keyword does not work. */ -/* #undef const */ - -/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. - This function is required for alloca.c support on those systems. */ -/* #undef CRAY_STACKSEG_END */ - -/* Define for DGUX with . */ -/* #undef DGUX */ - -/* Define if the `getloadavg' function needs to be run setuid or setgid. */ -/* #undef GETLOADAVG_PRIVILEGED */ - -/* Define to `unsigned long' or `unsigned long long' - if doesn't define. */ -#define uintmax_t unsigned long - -/* Define to `int' if doesn't define. */ -#define gid_t int - -/* Define if you have alloca, as a function or macro. */ -/* #undef HAVE_ALLOCA */ - -/* Define if you have and it should be used (not on Ultrix). */ -/* #undef HAVE_ALLOCA_H */ - -/* Define if you don't have vprintf but do have _doprnt. */ -/* #undef HAVE_DOPRNT */ - -/* Define if your system has a working fnmatch function. */ -/* #undef HAVE_FNMATCH */ - -/* Define if your system has its own `getloadavg' function. */ -/* #undef HAVE_GETLOADAVG */ - -/* Define if you have the getmntent function. */ -/* #undef HAVE_GETMNTENT */ - -/* Define if the `long double' type works. */ -/* #undef HAVE_LONG_DOUBLE */ - -/* Define if you support file names longer than 14 characters. */ -#define HAVE_LONG_FILE_NAMES 1 - -/* Define if you have a working `mmap' system call. */ -/* #undef HAVE_MMAP */ - -/* Define if system calls automatically restart after interruption - by a signal. */ -/* #undef HAVE_RESTARTABLE_SYSCALLS */ - -/* Define if your struct stat has st_blksize. */ -/* #undef HAVE_ST_BLKSIZE */ - -/* Define if your struct stat has st_blocks. */ -/* #undef HAVE_ST_BLOCKS */ - -/* Define if you have the strcoll function and it is properly defined. */ -#define HAVE_STRCOLL 1 - -/* Define if your struct stat has st_rdev. */ -#define HAVE_ST_RDEV 1 - -/* Define if you have the strftime function. */ -#define HAVE_STRFTIME 1 - -/* Define if you have that is POSIX.1 compatible. */ -/* #undef HAVE_SYS_WAIT_H */ - -/* Define if your struct tm has tm_zone. */ -/* #undef HAVE_TM_ZONE */ - -/* Define if you don't have tm_zone but do have the external array - tzname. */ -#define HAVE_TZNAME 1 - -/* Define if you have . */ -#define HAVE_UNISTD_H 1 - -/* Define if utime(file, NULL) sets file's timestamp to the present. */ -/* #undef HAVE_UTIME_NULL */ - -/* Define if you have . */ -/* #undef HAVE_VFORK_H */ - -/* Define if you have the vprintf function. */ -#define HAVE_VPRINTF 1 - -/* Define if you have the wait3 system call. */ -/* #undef HAVE_WAIT3 */ - -/* Define if on MINIX. */ -/* #undef _MINIX */ - -/* Define if your struct nlist has an n_un member. */ -/* #undef NLIST_NAME_UNION */ - -/* Define if you have . */ -/* #undef NLIST_STRUCT */ - -/* Define if your C compiler doesn't accept -c and -o together. */ -/* #undef NO_MINUS_C_MINUS_O */ - -/* Define to `int' if doesn't define. */ -#define pid_t int - -/* Define if the system does not provide POSIX.1 features except - with this defined. */ -/* #undef _POSIX_1_SOURCE */ - -/* Define if you need to in order for stat and other things to work. */ -/* #undef _POSIX_SOURCE */ - -/* Define as the return type of signal handlers (int or void). */ -#define RETSIGTYPE void - -/* Define if the setvbuf function takes the buffering type as its second - argument and the buffer pointer as the third, as on System V - before release 3. */ -/* #undef SETVBUF_REVERSED */ - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown - */ -#define STACK_DIRECTION -1 - -/* Define if the `S_IS*' macros in do not work properly. */ -/* #undef STAT_MACROS_BROKEN */ - -/* Define if you have the ANSI C header files. */ -#define STDC_HEADERS - -/* Define on System V Release 4. */ -/* #undef SVR4 */ - -/* Define if `sys_siglist' is declared by . */ -/* #undef SYS_SIGLIST_DECLARED */ - -/* Define to `int' if doesn't define. */ -#define uid_t int - -/* Define for Encore UMAX. */ -/* #undef UMAX */ - -/* Define for Encore UMAX 4.3 that has - instead of . */ -/* #undef UMAX4_3 */ - -/* Define vfork as fork if vfork does not work. */ -/* #undef vfork */ - -/* Name of this package (needed by automake) */ -#define PACKAGE "%PACKAGE%" - -/* Version of this package (needed by automake) */ -#define VERSION "%VERSION%" - -/* Define to the name of the SCCS `get' command. */ -#define SCCS_GET "get" - -/* Define this if the SCCS `get' command understands the `-G' option. */ -/* #undef SCCS_GET_MINUS_G */ - -/* Define this to enable job server support in GNU make. */ -/* #undef MAKE_JOBSERVER */ - -/* Define to be the nanoseconds member of struct stat's st_mtim, - if it exists. */ -/* #undef ST_MTIM_NSEC */ - -/* Define this if the C library defines the variable `sys_siglist'. */ -/* #undef HAVE_SYS_SIGLIST */ - -/* Define this if the C library defines the variable `_sys_siglist'. */ -/* #undef HAVE__SYS_SIGLIST */ - -/* Define this if you have the `union wait' type in . */ -/* #undef HAVE_UNION_WAIT */ - -/* Define if you have the dup2 function. */ -/* #undef HAVE_DUP2 */ - -/* Define if you have the getcwd function. */ -#define HAVE_GETCWD 1 - -/* Define if you have the getgroups function. */ -/* #undef HAVE_GETGROUPS */ - -/* Define if you have the gethostbyname function. */ -/* #undef HAVE_GETHOSTBYNAME */ - -/* Define if you have the gethostname function. */ -/* #undef HAVE_GETHOSTNAME */ - -/* Define if you have the memmove function. */ -#define HAVE_MEMMOVE 1 - -/* Define if you have the mktemp function. */ -#define HAVE_MKTEMP 1 - -/* Define if you have the psignal function. */ -/* #undef HAVE_PSIGNAL */ - -/* Define if you have the pstat_getdynamic function. */ -/* #undef HAVE_PSTAT_GETDYNAMIC */ - -/* Define if you have the setegid function. */ -/* #undef HAVE_SETEGID */ - -/* Define if you have the seteuid function. */ -/* #undef HAVE_SETEUID */ - -/* Define if you have the setlinebuf function. */ -/* #undef HAVE_SETLINEBUF */ - -/* Define if you have the setregid function. */ -/* #undef HAVE_SETREGID */ - -/* Define if you have the setreuid function. */ -/* #undef HAVE_SETREUID */ - -/* Define if you have the sigsetmask function. */ -/* #undef HAVE_SIGSETMASK */ - -/* Define if you have the socket function. */ -/* #undef HAVE_SOCKET */ - -/* Define if you have the strcasecmp function. */ -/* #undef HAVE_STRCASECMP */ - -/* Define if you have the strerror function. */ -#define HAVE_STRERROR 1 - -/* Define if you have the strsignal function. */ -/* #undef HAVE_STRSIGNAL */ - -/* Define if you have the wait3 function. */ -/* #undef HAVE_WAIT3 */ - -/* Define if you have the waitpid function. */ -/* #undef HAVE_WAITPID */ - -/* Define if you have the header file. */ -#define HAVE_DIRENT_H 1 - -/* Define if you have the header file. */ -#define HAVE_FCNTL_H 1 - -/* Define if you have the header file. */ -#define HAVE_LIMITS_H 1 - -/* Define if you have the header file. */ -/* #undef HAVE_MACH_MACH_H */ - -/* Define if you have the header file. */ -/* #undef HAVE_MEMORY_H */ - -/* Define if you have the header file. */ -/* #undef HAVE_NDIR_H */ - -/* Define if you have the header file. */ -/* #undef HAVE_STDLIB_H */ - -/* Define if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define if you have the header file. */ -#define HAVE_SYS_DIR_H 1 - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_NDIR_H */ - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_PARAM_H */ - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_TIMEB_H */ - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_WAIT_H */ - -/* Define if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define if you have the dgc library (-ldgc). */ -/* #undef HAVE_LIBDGC */ - -/* Define if you have the kstat library (-lkstat). */ -/* #undef HAVE_LIBKSTAT */ - -/* Define if you have the sun library (-lsun). */ -/* #undef HAVE_LIBSUN */ - -/* Define for Case Insensitve behavior */ -#define HAVE_CASE_INSENSITIVE_FS - -/* Build host information. */ -#define MAKE_HOST "Amiga" +/* config.h.in. Generated automatically from configure.in by autoheader. */ + +/* Define if on AIX 3. + System headers sometimes define this. + We just want to avoid a redefinition error message. */ +#ifndef _ALL_SOURCE +/* #undef _ALL_SOURCE */ +#endif + +/* Define if using alloca.c. */ +#define C_ALLOCA + +/* Define if the closedir function returns void instead of int. */ +/* #undef CLOSEDIR_VOID */ + +/* Define to empty if the keyword does not work. */ +/* #undef const */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define for DGUX with . */ +/* #undef DGUX */ + +/* Define if the `getloadavg' function needs to be run setuid or setgid. */ +/* #undef GETLOADAVG_PRIVILEGED */ + +/* Define to `unsigned long' or `unsigned long long' + if doesn't define. */ +#define uintmax_t unsigned long + +/* Define to `int' if doesn't define. */ +#define gid_t int + +/* Define if you have alloca, as a function or macro. */ +/* #undef HAVE_ALLOCA */ + +/* Define if you have and it should be used (not on Ultrix). */ +/* #undef HAVE_ALLOCA_H */ + +/* Define if you don't have vprintf but do have _doprnt. */ +/* #undef HAVE_DOPRNT */ + +/* Define if your system has a working fnmatch function. */ +/* #undef HAVE_FNMATCH */ + +/* Define if your system has its own `getloadavg' function. */ +/* #undef HAVE_GETLOADAVG */ + +/* Define if you have the getmntent function. */ +/* #undef HAVE_GETMNTENT */ + +/* Define if the `long double' type works. */ +/* #undef HAVE_LONG_DOUBLE */ + +/* Define if you support file names longer than 14 characters. */ +#define HAVE_LONG_FILE_NAMES 1 + +/* Define if you have a working `mmap' system call. */ +/* #undef HAVE_MMAP */ + +/* Define if system calls automatically restart after interruption + by a signal. */ +/* #undef HAVE_RESTARTABLE_SYSCALLS */ + +/* Define if your struct stat has st_blksize. */ +/* #undef HAVE_ST_BLKSIZE */ + +/* Define if your struct stat has st_blocks. */ +/* #undef HAVE_ST_BLOCKS */ + +/* Define if you have the strcoll function and it is properly defined. */ +#define HAVE_STRCOLL 1 + +/* Define if your struct stat has st_rdev. */ +#define HAVE_ST_RDEV 1 + +/* Define if you have the strftime function. */ +#define HAVE_STRFTIME 1 + +/* Define if you have that is POSIX.1 compatible. */ +/* #undef HAVE_SYS_WAIT_H */ + +/* Define if your struct tm has tm_zone. */ +/* #undef HAVE_TM_ZONE */ + +/* Define if you don't have tm_zone but do have the external array + tzname. */ +#define HAVE_TZNAME 1 + +/* Define if you have . */ +#define HAVE_UNISTD_H 1 + +/* Define if utime(file, NULL) sets file's timestamp to the present. */ +/* #undef HAVE_UTIME_NULL */ + +/* Define if you have . */ +/* #undef HAVE_VFORK_H */ + +/* Define if you have the vprintf function. */ +#define HAVE_VPRINTF 1 + +/* Define if you have the wait3 system call. */ +/* #undef HAVE_WAIT3 */ + +/* Define if on MINIX. */ +/* #undef _MINIX */ + +/* Define if your struct nlist has an n_un member. */ +/* #undef NLIST_NAME_UNION */ + +/* Define if you have . */ +/* #undef NLIST_STRUCT */ + +/* Define if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to `int' if doesn't define. */ +#define pid_t int + +/* Define if the system does not provide POSIX.1 features except + with this defined. */ +/* #undef _POSIX_1_SOURCE */ + +/* Define if you need to in order for stat and other things to work. */ +/* #undef _POSIX_SOURCE */ + +/* Define as the return type of signal handlers (int or void). */ +#define RETSIGTYPE void + +/* Define if the setvbuf function takes the buffering type as its second + argument and the buffer pointer as the third, as on System V + before release 3. */ +/* #undef SETVBUF_REVERSED */ + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at run-time. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown + */ +#define STACK_DIRECTION -1 + +/* Define if the `S_IS*' macros in do not work properly. */ +/* #undef STAT_MACROS_BROKEN */ + +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS + +/* Define on System V Release 4. */ +/* #undef SVR4 */ + +/* Define if `sys_siglist' is declared by . */ +/* #undef SYS_SIGLIST_DECLARED */ + +/* Define to `int' if doesn't define. */ +#define uid_t int + +/* Define for Encore UMAX. */ +/* #undef UMAX */ + +/* Define for Encore UMAX 4.3 that has + instead of . */ +/* #undef UMAX4_3 */ + +/* Define vfork as fork if vfork does not work. */ +/* #undef vfork */ + +/* Name of this package (needed by automake) */ +#define PACKAGE "%PACKAGE%" + +/* Version of this package (needed by automake) */ +#define VERSION "%VERSION%" + +/* Define to the name of the SCCS `get' command. */ +#define SCCS_GET "get" + +/* Define this if the SCCS `get' command understands the `-G' option. */ +/* #undef SCCS_GET_MINUS_G */ + +/* Define this to enable job server support in GNU make. */ +/* #undef MAKE_JOBSERVER */ + +/* Define to be the nanoseconds member of struct stat's st_mtim, + if it exists. */ +/* #undef ST_MTIM_NSEC */ + +/* Define this if the C library defines the variable `sys_siglist'. */ +/* #undef HAVE_SYS_SIGLIST */ + +/* Define this if the C library defines the variable `_sys_siglist'. */ +/* #undef HAVE__SYS_SIGLIST */ + +/* Define this if you have the `union wait' type in . */ +/* #undef HAVE_UNION_WAIT */ + +/* Define if you have the dup2 function. */ +/* #undef HAVE_DUP2 */ + +/* Define if you have the getcwd function. */ +#define HAVE_GETCWD 1 + +/* Define if you have the getgroups function. */ +/* #undef HAVE_GETGROUPS */ + +/* Define if you have the gethostbyname function. */ +/* #undef HAVE_GETHOSTBYNAME */ + +/* Define if you have the gethostname function. */ +/* #undef HAVE_GETHOSTNAME */ + +/* Define if you have the memmove function. */ +#define HAVE_MEMMOVE 1 + +/* Define if you have the mktemp function. */ +#define HAVE_MKTEMP 1 + +/* Define if you have the psignal function. */ +/* #undef HAVE_PSIGNAL */ + +/* Define if you have the pstat_getdynamic function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define if you have the setegid function. */ +/* #undef HAVE_SETEGID */ + +/* Define if you have the seteuid function. */ +/* #undef HAVE_SETEUID */ + +/* Define if you have the setlinebuf function. */ +/* #undef HAVE_SETLINEBUF */ + +/* Define if you have the setregid function. */ +/* #undef HAVE_SETREGID */ + +/* Define if you have the setreuid function. */ +/* #undef HAVE_SETREUID */ + +/* Define if you have the sigsetmask function. */ +/* #undef HAVE_SIGSETMASK */ + +/* Define if you have the socket function. */ +/* #undef HAVE_SOCKET */ + +/* Define if you have the strcasecmp function. */ +/* #undef HAVE_STRCASECMP */ + +/* Define if you have the strerror function. */ +#define HAVE_STRERROR 1 + +/* Define if you have the strsignal function. */ +/* #undef HAVE_STRSIGNAL */ + +/* Define if you have the wait3 function. */ +/* #undef HAVE_WAIT3 */ + +/* Define if you have the waitpid function. */ +/* #undef HAVE_WAITPID */ + +/* Define if you have the header file. */ +#define HAVE_DIRENT_H 1 + +/* Define if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_MACH_MACH_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_MEMORY_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_NDIR_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_STDLIB_H */ + +/* Define if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define if you have the header file. */ +#define HAVE_SYS_DIR_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_NDIR_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_PARAM_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_TIMEB_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_WAIT_H */ + +/* Define if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define if you have the dgc library (-ldgc). */ +/* #undef HAVE_LIBDGC */ + +/* Define if you have the kstat library (-lkstat). */ +/* #undef HAVE_LIBKSTAT */ + +/* Define if you have the sun library (-lsun). */ +/* #undef HAVE_LIBSUN */ + +/* Define for Case Insensitve behavior */ +#define HAVE_CASE_INSENSITIVE_FS + +/* Build host information. */ +#define MAKE_HOST "Amiga" diff --git a/src/mkutil/make/config.h b/src/mkutil/make/config.h index ce8cb144..ac413fd7 100644 --- a/src/mkutil/make/config.h +++ b/src/mkutil/make/config.h @@ -1,399 +1,399 @@ -/* config.h.in. Generated automatically from configure.in by autoheader. */ - -/* Define if on AIX 3. - System headers sometimes define this. - We just want to avoid a redefinition error message. */ -#ifndef _ALL_SOURCE -/* #undef _ALL_SOURCE */ -#endif - -/* Define if using alloca.c. */ -/* #undef C_ALLOCA */ - -/* Define if the closedir function returns void instead of int. */ -/* #undef CLOSEDIR_VOID */ - -/* Define to empty if the keyword does not work. */ -/* #undef const */ - -/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. - This function is required for alloca.c support on those systems. */ -/* #undef CRAY_STACKSEG_END */ - -/* Define for DGUX with . */ -/* #undef DGUX */ - -/* Define if the `getloadavg' function needs to be run setuid or setgid. */ -/* #undef GETLOADAVG_PRIVILEGED */ - -/* Define to `unsigned long' or `unsigned long long' - if doesn't define. */ -#define uintmax_t unsigned long - -/* Define to `int' if doesn't define. */ -#undef gid_t -#define gid_t int - -/* Define if you have alloca, as a function or macro. */ -#undef HAVE_ALLOCA -#define HAVE_ALLOCA 1 - -/* Define if you have and it should be used (not on Ultrix). */ -/* #undef HAVE_ALLOCA_H */ - -/* Define if you don't have vprintf but do have _doprnt. */ -/* #undef HAVE_DOPRNT */ - -/* Define if your system has a working fnmatch function. */ -/* #undef HAVE_FNMATCH */ - -/* Define if your system has its own `getloadavg' function. */ -/* #undef HAVE_GETLOADAVG */ - -/* Define if you have the getmntent function. */ -/* #undef HAVE_GETMNTENT */ - -/* Define if the `long double' type works. */ -/* #undef HAVE_LONG_DOUBLE */ - -/* Define if you support file names longer than 14 characters. */ -#undef HAVE_LONG_FILE_NAMES -#define HAVE_LONG_FILE_NAMES 1 - -/* Define if you have a working `mmap' system call. */ -/* #undef HAVE_MMAP */ - -/* Define if system calls automatically restart after interruption - by a signal. */ -/* #undef HAVE_RESTARTABLE_SYSCALLS */ - -/* Define if your struct stat has st_blksize. */ -/* #undef HAVE_ST_BLKSIZE */ - -/* Define if your struct stat has st_blocks. */ -/* #undef HAVE_ST_BLOCKS */ - -/* Define if you have the strcoll function and it is properly defined. */ -#undef HAVE_STRCOLL -#define HAVE_STRCOLL 1 - -/* Define if your struct stat has st_rdev. */ -#undef HAVE_ST_RDEV -#define HAVE_ST_RDEV 1 - -/* Define if you have the strftime function. */ -#undef HAVE_STRFTIME -#define HAVE_STRFTIME 1 - -/* Define if you have that is POSIX.1 compatible. */ -/* #undef HAVE_SYS_WAIT_H */ - -/* Define if your struct tm has tm_zone. */ -/* #undef HAVE_TM_ZONE */ - -/* Define if you don't have tm_zone but do have the external array - tzname. */ -#undef HAVE_TZNAME -#define HAVE_TZNAME 1 - -/* Define if you have . */ -/* #undef HAVE_UNISTD_H */ - -/* Define if utime(file, NULL) sets file's timestamp to the present. */ -#undef HAVE_UTIME_NULL -#define HAVE_UTIME_NULL 1 - -/* Define if you have . */ -/* #undef HAVE_VFORK_H */ - -/* Define if you have the vprintf function. */ -#undef HAVE_VPRINTF -#define HAVE_VPRINTF 1 - -/* Define if you have the wait3 system call. */ -/* #undef HAVE_WAIT3 */ - -/* Define if on MINIX. */ -/* #undef _MINIX */ - -/* Define if your struct nlist has an n_un member. */ -/* #undef NLIST_NAME_UNION */ - -/* Define if you have . */ -/* #undef NLIST_STRUCT */ - -/* Define if your C compiler doesn't accept -c and -o together. */ -/* #undef NO_MINUS_C_MINUS_O */ - -/* Define to `int' if doesn't define. */ -#undef pid_t -#define pid_t int - -/* Define if the system does not provide POSIX.1 features except - with this defined. */ -/* #undef _POSIX_1_SOURCE */ - -/* Define if you need to in order for stat and other things to work. */ -#undef _POSIX_SOURCE -#define _POSIX_SOURCE 1 - -/* Define as the return type of signal handlers (int or void). */ -#undef RETSIGTYPE -#define RETSIGTYPE void - -/* Define if the setvbuf function takes the buffering type as its second - argument and the buffer pointer as the third, as on System V - before release 3. */ -/* #undef SETVBUF_REVERSED */ - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown - */ -/* #undef STACK_DIRECTION */ - -/* Define if the `S_IS*' macros in do not work properly. */ -/* #undef STAT_MACROS_BROKEN */ - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS -#define STDC_HEADERS 1 - -/* Define on System V Release 4. */ -/* #undef SVR4 */ - -/* Define if `sys_siglist' is declared by . */ -/* #undef SYS_SIGLIST_DECLARED */ - -/* Define to `int' if doesn't define. */ -#undef uid_t -#define uid_t int - -/* Define for Encore UMAX. */ -/* #undef UMAX */ - -/* Define for Encore UMAX 4.3 that has - instead of . */ -/* #undef UMAX4_3 */ - -/* Define vfork as fork if vfork does not work. */ -/* #undef vfork */ - -/* Name of this package (needed by automake) */ -#define PACKAGE "make" - -/* Version of this package (needed by automake) */ -#define VERSION "3.81a2" - -/* Define to the name of the SCCS `get' command. */ -#undef SCCS_GET -#define SCCS_GET "echo no sccs get" - -/* Define to 1 if NLS is requested. */ -/* #undef ENABLE_NLS */ - -/* Define as 1 if you have dcgettext. */ -/* #undef HAVE_DCGETTEXT */ - -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -/* #undef HAVE_GETTEXT */ - -/* Define if your locale.h file contains LC_MESSAGES. */ -/* #undef HAVE_LC_MESSAGES */ - -/* Define to the installation directory for locales. */ -#define LOCALEDIR "" - -/* Define this if the SCCS `get' command understands the `-G' option. */ -/* #undef SCCS_GET_MINUS_G */ - -/* Define this to enable job server support in GNU make. */ -/* #undef MAKE_JOBSERVER */ - -/* Define to be the nanoseconds member of struct stat's st_mtim, - if it exists. */ -/* #undef ST_MTIM_NSEC */ - -/* Define this if the C library defines the variable `sys_siglist'. */ -/* #undef HAVE_SYS_SIGLIST */ - -/* Define this if the C library defines the variable `_sys_siglist'. */ -/* #undef HAVE__SYS_SIGLIST */ - -/* Define this if you have the `union wait' type in . */ -/* #undef HAVE_UNION_WAIT */ - -/* Define if you have the dup2 function. */ -#undef HAVE_DUP2 -#define HAVE_DUP2 1 - -/* Define if you have the getcwd function. */ -#undef HAVE_GETCWD -#define HAVE_GETCWD 1 - -/* Define if you have the getgroups function. */ -/* #undef HAVE_GETGROUPS */ - -/* Define if you have the gethostbyname function. */ -/* #undef HAVE_GETHOSTBYNAME */ - -/* Define if you have the gethostname function. */ -/* #undef HAVE_GETHOSTNAME */ - -/* Define if you have the getloadavg function. */ -/* #undef HAVE_GETLOADAVG */ - -/* Define if you have the memmove function. */ -#undef HAVE_MEMMOVE -#define HAVE_MEMMOVE 1 - -/* Define if you have the mktemp function. */ -#undef HAVE_MKTEMP -#define HAVE_MKTEMP 1 - -/* Define if you have the psignal function. */ -/* #undef HAVE_PSIGNAL */ - -/* Define if you have the pstat_getdynamic function. */ -/* #undef HAVE_PSTAT_GETDYNAMIC */ - -/* Define if you have the setegid function. */ -/* #undef HAVE_SETEGID */ - -/* Define if you have the seteuid function. */ -/* #undef HAVE_SETEUID */ - -/* Define if you have the setlinebuf function. */ -/* #undef HAVE_SETLINEBUF */ - -/* Define if you have the setregid function. */ -/* #undef HAVE_SETREGID */ - -/* Define if you have the setreuid function. */ -/* #undef HAVE_SETREUID */ - -/* Define if you have the sigsetmask function. */ -/* #undef HAVE_SIGSETMASK */ - -/* Define if you have the socket function. */ -/* #undef HAVE_SOCKET */ - -/* Define if you have the strcasecmp function. */ -/* #undef HAVE_STRCASECMP */ - -/* Define if you have the strerror function. */ -#undef HAVE_STRERROR -#define HAVE_STRERROR 1 - -/* Define if you have the strsignal function. */ -/* #undef HAVE_STRSIGNAL */ - -/* Define if you have the wait3 function. */ -/* #undef HAVE_WAIT3 */ - -/* Define if you have the waitpid function. */ -/* #undef HAVE_WAITPID */ - -/* Define if you have the header file. */ -#undef HAVE_DIRENT_H -#define HAVE_DIRENT_H 1 - -/* Define if you have the header file. */ -#undef HAVE_FCNTL_H -#define HAVE_FCNTL_H 1 - -/* Define if you have the header file. */ -#undef HAVE_LIMITS_H -#define HAVE_LIMITS_H 1 - -/* Define if you have the header file. */ -/* #undef HAVE_MACH_MACH_H */ - -/* Define if you have the header file. */ -#undef HAVE_MEMORY_H -#define HAVE_MEMORY_H 1 - -/* Define if you have the header file. */ -/* #undef HAVE_NDIR_H */ - -/* Define if you have the header file. */ -#undef HAVE_STRING_H -#define HAVE_STRING_H 1 - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_DIR_H */ - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_NDIR_H */ - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_PARAM_H */ - -/* Define if you have the header file. */ -#undef HAVE_SYS_TIMEB_H -#define HAVE_SYS_TIMEB_H 1 - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_WAIT_H */ - -/* Define if you have the header file. */ -/* #undef HAVE_UNISTD_H */ - -/* Define if you have the dgc library (-ldgc). */ -/* #undef HAVE_LIBDGC */ - -/* Define if you have the kstat library (-lkstat). */ -/* #undef HAVE_LIBKSTAT */ - -/* Define if you have the sun library (-lsun). */ -/* #undef HAVE_LIBSUN */ - -/* Use high resolution file timestamps if nonzero. */ -#define FILE_TIMESTAMP_HI_RES 0 - -/* Build host information. */ -#define MAKE_HOST "Windows32" - -/* Grok DOS paths (drive specs and backslash path element separators) */ -#define HAVE_DOS_PATHS - -/* - * Refer to README.W32 for info on the following settings - */ - -/* - * If you have a shell that does not grok 'sh -c quoted-command-line' - * correctly, you need this setting. Please see below for specific - * shell support. - */ -#undef BATCH_MODE_ONLY_SHELL -#define BATCH_MODE_ONLY_SHELL 1 - -/* - * Define if you have the Cygnus "Cygwin" GNU Windows32 tool set. - * Do NOT define BATCH_MODE_ONLY_SHELL if you define HAVE_CYGWIN_SHELL - */ -#undef HAVE_CYGWIN_SHELL - -/* - * Define if you have the MKS tool set or shell. Do NOT define - * BATCH_MODE_ONLY_SHELL if you define HAVE_MKS_SHELL - */ -#undef HAVE_MKS_SHELL - -/* - * Enforce the mutual exclusivity restriction. - */ -#ifdef HAVE_MKS_SHELL -#undef BATCH_MODE_ONLY_SHELL -#endif - -#ifdef HAVE_CYGWIN_SHELL -#undef BATCH_MODE_ONLY_SHELL -#endif - -/* Define if you prefer Case Insensitive behavior */ -#undef HAVE_CASE_INSENSITIVE_FS +/* config.h.in. Generated automatically from configure.in by autoheader. */ + +/* Define if on AIX 3. + System headers sometimes define this. + We just want to avoid a redefinition error message. */ +#ifndef _ALL_SOURCE +/* #undef _ALL_SOURCE */ +#endif + +/* Define if using alloca.c. */ +/* #undef C_ALLOCA */ + +/* Define if the closedir function returns void instead of int. */ +/* #undef CLOSEDIR_VOID */ + +/* Define to empty if the keyword does not work. */ +/* #undef const */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define for DGUX with . */ +/* #undef DGUX */ + +/* Define if the `getloadavg' function needs to be run setuid or setgid. */ +/* #undef GETLOADAVG_PRIVILEGED */ + +/* Define to `unsigned long' or `unsigned long long' + if doesn't define. */ +#define uintmax_t unsigned long + +/* Define to `int' if doesn't define. */ +#undef gid_t +#define gid_t int + +/* Define if you have alloca, as a function or macro. */ +#undef HAVE_ALLOCA +#define HAVE_ALLOCA 1 + +/* Define if you have and it should be used (not on Ultrix). */ +/* #undef HAVE_ALLOCA_H */ + +/* Define if you don't have vprintf but do have _doprnt. */ +/* #undef HAVE_DOPRNT */ + +/* Define if your system has a working fnmatch function. */ +/* #undef HAVE_FNMATCH */ + +/* Define if your system has its own `getloadavg' function. */ +/* #undef HAVE_GETLOADAVG */ + +/* Define if you have the getmntent function. */ +/* #undef HAVE_GETMNTENT */ + +/* Define if the `long double' type works. */ +/* #undef HAVE_LONG_DOUBLE */ + +/* Define if you support file names longer than 14 characters. */ +#undef HAVE_LONG_FILE_NAMES +#define HAVE_LONG_FILE_NAMES 1 + +/* Define if you have a working `mmap' system call. */ +/* #undef HAVE_MMAP */ + +/* Define if system calls automatically restart after interruption + by a signal. */ +/* #undef HAVE_RESTARTABLE_SYSCALLS */ + +/* Define if your struct stat has st_blksize. */ +/* #undef HAVE_ST_BLKSIZE */ + +/* Define if your struct stat has st_blocks. */ +/* #undef HAVE_ST_BLOCKS */ + +/* Define if you have the strcoll function and it is properly defined. */ +#undef HAVE_STRCOLL +#define HAVE_STRCOLL 1 + +/* Define if your struct stat has st_rdev. */ +#undef HAVE_ST_RDEV +#define HAVE_ST_RDEV 1 + +/* Define if you have the strftime function. */ +#undef HAVE_STRFTIME +#define HAVE_STRFTIME 1 + +/* Define if you have that is POSIX.1 compatible. */ +/* #undef HAVE_SYS_WAIT_H */ + +/* Define if your struct tm has tm_zone. */ +/* #undef HAVE_TM_ZONE */ + +/* Define if you don't have tm_zone but do have the external array + tzname. */ +#undef HAVE_TZNAME +#define HAVE_TZNAME 1 + +/* Define if you have . */ +/* #undef HAVE_UNISTD_H */ + +/* Define if utime(file, NULL) sets file's timestamp to the present. */ +#undef HAVE_UTIME_NULL +#define HAVE_UTIME_NULL 1 + +/* Define if you have . */ +/* #undef HAVE_VFORK_H */ + +/* Define if you have the vprintf function. */ +#undef HAVE_VPRINTF +#define HAVE_VPRINTF 1 + +/* Define if you have the wait3 system call. */ +/* #undef HAVE_WAIT3 */ + +/* Define if on MINIX. */ +/* #undef _MINIX */ + +/* Define if your struct nlist has an n_un member. */ +/* #undef NLIST_NAME_UNION */ + +/* Define if you have . */ +/* #undef NLIST_STRUCT */ + +/* Define if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to `int' if doesn't define. */ +#undef pid_t +#define pid_t int + +/* Define if the system does not provide POSIX.1 features except + with this defined. */ +/* #undef _POSIX_1_SOURCE */ + +/* Define if you need to in order for stat and other things to work. */ +#undef _POSIX_SOURCE +#define _POSIX_SOURCE 1 + +/* Define as the return type of signal handlers (int or void). */ +#undef RETSIGTYPE +#define RETSIGTYPE void + +/* Define if the setvbuf function takes the buffering type as its second + argument and the buffer pointer as the third, as on System V + before release 3. */ +/* #undef SETVBUF_REVERSED */ + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at run-time. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown + */ +/* #undef STACK_DIRECTION */ + +/* Define if the `S_IS*' macros in do not work properly. */ +/* #undef STAT_MACROS_BROKEN */ + +/* Define if you have the ANSI C header files. */ +#undef STDC_HEADERS +#define STDC_HEADERS 1 + +/* Define on System V Release 4. */ +/* #undef SVR4 */ + +/* Define if `sys_siglist' is declared by . */ +/* #undef SYS_SIGLIST_DECLARED */ + +/* Define to `int' if doesn't define. */ +#undef uid_t +#define uid_t int + +/* Define for Encore UMAX. */ +/* #undef UMAX */ + +/* Define for Encore UMAX 4.3 that has + instead of . */ +/* #undef UMAX4_3 */ + +/* Define vfork as fork if vfork does not work. */ +/* #undef vfork */ + +/* Name of this package (needed by automake) */ +#define PACKAGE "make" + +/* Version of this package (needed by automake) */ +#define VERSION "3.81a2" + +/* Define to the name of the SCCS `get' command. */ +#undef SCCS_GET +#define SCCS_GET "echo no sccs get" + +/* Define to 1 if NLS is requested. */ +/* #undef ENABLE_NLS */ + +/* Define as 1 if you have dcgettext. */ +/* #undef HAVE_DCGETTEXT */ + +/* Define as 1 if you have gettext and don't want to use GNU gettext. */ +/* #undef HAVE_GETTEXT */ + +/* Define if your locale.h file contains LC_MESSAGES. */ +/* #undef HAVE_LC_MESSAGES */ + +/* Define to the installation directory for locales. */ +#define LOCALEDIR "" + +/* Define this if the SCCS `get' command understands the `-G' option. */ +/* #undef SCCS_GET_MINUS_G */ + +/* Define this to enable job server support in GNU make. */ +/* #undef MAKE_JOBSERVER */ + +/* Define to be the nanoseconds member of struct stat's st_mtim, + if it exists. */ +/* #undef ST_MTIM_NSEC */ + +/* Define this if the C library defines the variable `sys_siglist'. */ +/* #undef HAVE_SYS_SIGLIST */ + +/* Define this if the C library defines the variable `_sys_siglist'. */ +/* #undef HAVE__SYS_SIGLIST */ + +/* Define this if you have the `union wait' type in . */ +/* #undef HAVE_UNION_WAIT */ + +/* Define if you have the dup2 function. */ +#undef HAVE_DUP2 +#define HAVE_DUP2 1 + +/* Define if you have the getcwd function. */ +#undef HAVE_GETCWD +#define HAVE_GETCWD 1 + +/* Define if you have the getgroups function. */ +/* #undef HAVE_GETGROUPS */ + +/* Define if you have the gethostbyname function. */ +/* #undef HAVE_GETHOSTBYNAME */ + +/* Define if you have the gethostname function. */ +/* #undef HAVE_GETHOSTNAME */ + +/* Define if you have the getloadavg function. */ +/* #undef HAVE_GETLOADAVG */ + +/* Define if you have the memmove function. */ +#undef HAVE_MEMMOVE +#define HAVE_MEMMOVE 1 + +/* Define if you have the mktemp function. */ +#undef HAVE_MKTEMP +#define HAVE_MKTEMP 1 + +/* Define if you have the psignal function. */ +/* #undef HAVE_PSIGNAL */ + +/* Define if you have the pstat_getdynamic function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define if you have the setegid function. */ +/* #undef HAVE_SETEGID */ + +/* Define if you have the seteuid function. */ +/* #undef HAVE_SETEUID */ + +/* Define if you have the setlinebuf function. */ +/* #undef HAVE_SETLINEBUF */ + +/* Define if you have the setregid function. */ +/* #undef HAVE_SETREGID */ + +/* Define if you have the setreuid function. */ +/* #undef HAVE_SETREUID */ + +/* Define if you have the sigsetmask function. */ +/* #undef HAVE_SIGSETMASK */ + +/* Define if you have the socket function. */ +/* #undef HAVE_SOCKET */ + +/* Define if you have the strcasecmp function. */ +/* #undef HAVE_STRCASECMP */ + +/* Define if you have the strerror function. */ +#undef HAVE_STRERROR +#define HAVE_STRERROR 1 + +/* Define if you have the strsignal function. */ +/* #undef HAVE_STRSIGNAL */ + +/* Define if you have the wait3 function. */ +/* #undef HAVE_WAIT3 */ + +/* Define if you have the waitpid function. */ +/* #undef HAVE_WAITPID */ + +/* Define if you have the header file. */ +#undef HAVE_DIRENT_H +#define HAVE_DIRENT_H 1 + +/* Define if you have the header file. */ +#undef HAVE_FCNTL_H +#define HAVE_FCNTL_H 1 + +/* Define if you have the header file. */ +#undef HAVE_LIMITS_H +#define HAVE_LIMITS_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_MACH_MACH_H */ + +/* Define if you have the header file. */ +#undef HAVE_MEMORY_H +#define HAVE_MEMORY_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_NDIR_H */ + +/* Define if you have the header file. */ +#undef HAVE_STRING_H +#define HAVE_STRING_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_DIR_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_NDIR_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_PARAM_H */ + +/* Define if you have the header file. */ +#undef HAVE_SYS_TIMEB_H +#define HAVE_SYS_TIMEB_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_WAIT_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_UNISTD_H */ + +/* Define if you have the dgc library (-ldgc). */ +/* #undef HAVE_LIBDGC */ + +/* Define if you have the kstat library (-lkstat). */ +/* #undef HAVE_LIBKSTAT */ + +/* Define if you have the sun library (-lsun). */ +/* #undef HAVE_LIBSUN */ + +/* Use high resolution file timestamps if nonzero. */ +#define FILE_TIMESTAMP_HI_RES 0 + +/* Build host information. */ +#define MAKE_HOST "Windows32" + +/* Grok DOS paths (drive specs and backslash path element separators) */ +#define HAVE_DOS_PATHS + +/* + * Refer to README.W32 for info on the following settings + */ + +/* + * If you have a shell that does not grok 'sh -c quoted-command-line' + * correctly, you need this setting. Please see below for specific + * shell support. + */ +#undef BATCH_MODE_ONLY_SHELL +#define BATCH_MODE_ONLY_SHELL 1 + +/* + * Define if you have the Cygnus "Cygwin" GNU Windows32 tool set. + * Do NOT define BATCH_MODE_ONLY_SHELL if you define HAVE_CYGWIN_SHELL + */ +#undef HAVE_CYGWIN_SHELL + +/* + * Define if you have the MKS tool set or shell. Do NOT define + * BATCH_MODE_ONLY_SHELL if you define HAVE_MKS_SHELL + */ +#undef HAVE_MKS_SHELL + +/* + * Enforce the mutual exclusivity restriction. + */ +#ifdef HAVE_MKS_SHELL +#undef BATCH_MODE_ONLY_SHELL +#endif + +#ifdef HAVE_CYGWIN_SHELL +#undef BATCH_MODE_ONLY_SHELL +#endif + +/* Define if you prefer Case Insensitive behavior */ +#undef HAVE_CASE_INSENSITIVE_FS diff --git a/src/mkutil/make/config.h-vms.template b/src/mkutil/make/config.h-vms.template index 7d7d9b0c..2406e090 100644 --- a/src/mkutil/make/config.h-vms.template +++ b/src/mkutil/make/config.h-vms.template @@ -1,403 +1,403 @@ -/* config.h-vms. Generated by hand by Klaus Kämpf */ -/* config.h. Generated automatically by configure. */ -/* config.h.in. Generated automatically from configure.in by autoheader. */ - -/* Define if on AIX 3. - System headers sometimes define this. - We just want to avoid a redefinition error message. */ -#ifndef _ALL_SOURCE -/* #undef _ALL_SOURCE */ -#endif - -/* Define to 1 if NLS is requested. */ -/* #undef ENABLE_NLS */ - -/* Define as 1 if you have dcgettext. */ -/* #undef HAVE_DCGETTEXT */ - -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -/* #undef HAVE_GETTEXT */ - -/* Define if your locale.h file contains LC_MESSAGES. */ -/* #undef HAVE_LC_MESSAGES */ - -/* Define to the installation directory for locales. */ -#define LOCALEDIR "" - -/* Define as 1 if you have the stpcpy function. */ -/* #undef HAVE_STPCPY */ - -/* Define if the closedir function returns void instead of int. */ -/* #undef CLOSEDIR_VOID */ - -/* Define to empty if the keyword does not work. */ -/* #undef const */ - -/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. - This function is required for alloca.c support on those systems. */ -/* #undef CRAY_STACKSEG_END */ - -/* Define for DGUX with . */ -/* #undef DGUX */ - -/* Define if the `getloadavg' function needs to be run setuid or setgid. */ -/* #undef GETLOADAVG_PRIVILEGED */ - -/* Define to `unsigned long' or `unsigned long long' - if doesn't define. */ -#define uintmax_t unsigned long - -/* Define to `int' if doesn't define. */ -/* #undef gid_t */ - -/* Define if you have alloca, as a function or macro. */ -#define HAVE_ALLOCA 1 - -/* Define if you have and it should be used (not on Ultrix). */ -/* #undef HAVE_ALLOCA_H */ - -/* Define if you don't have vprintf but do have _doprnt. */ -/* #undef HAVE_DOPRNT */ - -/* Define if your system has a working fnmatch function. */ -/* #undef HAVE_FNMATCH */ - -/* Define if your system has its own `getloadavg' function. */ -/* #undef HAVE_GETLOADAVG */ - -/* Define if you have the getmntent function. */ -/* #undef HAVE_GETMNTENT */ - -/* Define if the `long double' type works. */ -/* #undef HAVE_LONG_DOUBLE */ - -/* Define if you support file names longer than 14 characters. */ -#define HAVE_LONG_FILE_NAMES 1 - -/* Define if you have a working `mmap' system call. */ -/* #undef HAVE_MMAP */ - -/* Define if system calls automatically restart after interruption - by a signal. */ -/* #undef HAVE_RESTARTABLE_SYSCALLS */ - -/* Define if your struct stat has st_blksize. */ -/* #undef HAVE_ST_BLKSIZE */ - -/* Define if your struct stat has st_blocks. */ -/* #undef HAVE_ST_BLOCKS */ - -/* Define if you have the strcoll function and it is properly defined. */ -/* #undef HAVE_STRCOLL */ - -/* Define if your struct stat has st_rdev. */ -/* #undef HAVE_ST_RDEV */ - -/* Define if you have the strftime function. */ -/* #undef HAVE_STRFTIME */ - -/* Define if you have that is POSIX.1 compatible. */ -/* #undef HAVE_SYS_WAIT_H */ - -/* Define if your struct tm has tm_zone. */ -/* #undef HAVE_TM_ZONE */ - -/* Define if you don't have tm_zone but do have the external array - tzname. */ -/* #undef HAVE_TZNAME */ - -/* Define if you have . */ -#ifdef __DECC -#define HAVE_UNISTD_H 1 -#endif - -/* Define if utime(file, NULL) sets file's timestamp to the present. */ -/* #undef HAVE_UTIME_NULL */ - -/* Define if you have . */ -/* #undef HAVE_VFORK_H */ - -/* Define if you have the vprintf function. */ -#define HAVE_VPRINTF 1 - -/* Define if you have the wait3 system call. */ -/* #undef HAVE_WAIT3 */ - -/* Define if on MINIX. */ -/* #undef _MINIX */ - -/* Define if your struct nlist has an n_un member. */ -/* #undef NLIST_NAME_UNION */ - -/* Define if you have . */ -/* #undef NLIST_STRUCT */ - -/* Define if your C compiler doesn't accept -c and -o together. */ -/* #undef NO_MINUS_C_MINUS_O */ - -/* Define to `int' if doesn't define. */ -/* I assume types.h is available for all 5.0 cc/cxx compilers */ -#if __DECC_VER < 50090000 -#define pid_t int -#endif - -/* Define if the system does not provide POSIX.1 features except - with this defined. */ -/* #undef _POSIX_1_SOURCE */ - -/* Define if you need to in order for stat and other things to work. */ -/* #undef _POSIX_SOURCE */ - -/* Define as the return type of signal handlers (int or void). */ -#define RETSIGTYPE void - -/* Define if the setvbuf function takes the buffering type as its second - argument and the buffer pointer as the third, as on System V - before release 3. */ -/* #undef SETVBUF_REVERSED */ - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown - */ -/* #undef STACK_DIRECTION */ - -/* Define if the `S_IS*' macros in do not work properly. */ -/* #undef STAT_MACROS_BROKEN */ - -/* Define if you have the ANSI C header files. */ -/* #undef STDC_HEADERS */ - -/* Define on System V Release 4. */ -/* #undef SVR4 */ - -/* Define if `sys_siglist' is declared by . */ -/* #undef SYS_SIGLIST_DECLARED */ - -/* Define to `int' if doesn't define. */ -#if __DECC_VER < 50090000 -#define uid_t int -#endif - -/* Define for Encore UMAX. */ -/* #undef UMAX */ - -/* Define for Encore UMAX 4.3 that has - instead of . */ -/* #undef UMAX4_3 */ - -/* Define vfork as fork if vfork does not work. */ -/* #undef vfork */ - -/* Name of this package (needed by automake) */ -#define PACKAGE "%PACKAGE%" - -/* Version of this package (needed by automake) */ -#define VERSION "%VERSION%" - -/* Define to the name of the SCCS `get' command. */ -/* #undef SCCS_GET */ - -/* Define this if the SCCS `get' command understands the `-G' option. */ -/* #undef SCCS_GET_MINUS_G */ - -/* Define this to enable job server support in GNU make. */ -/* #undef MAKE_JOBSERVER */ - -/* Define to be the nanoseconds member of struct stat's st_mtim, - if it exists. */ -/* #undef ST_MTIM_NSEC */ - -/* Define this if the C library defines the variable `sys_siglist'. */ -/* #undefine HAVE_SYS_SIGLIST */ - -/* Define this if the C library defines the variable `_sys_siglist'. */ -/* #undef HAVE__SYS_SIGLIST */ - -/* Define this if you have the `union wait' type in . */ -/* #undef HAVE_UNION_WAIT */ - -/* Define if you have the dup2 function. */ -#define HAVE_DUP2 1 - -/* Define if you have the getcwd function. */ -#define HAVE_GETCWD 1 - -/* Define if you have the getgroups function. */ -/* #undef HAVE_GETGROUPS */ - -/* Define if you have the gethostbyname function. */ -/* #undef HAVE_GETHOSTBYNAME */ - -/* Define if you have the gethostname function. */ -/* #undef HAVE_GETHOSTNAME */ - -/* Define if you have the getloadavg function. */ -/* #undef HAVE_GETLOADAVG */ - -/* Define if you have the memmove function. */ -#define HAVE_MEMMOVE 1 - -/* Define if you have the mktemp function. */ -#define HAVE_MKTEMP 1 - -/* Define if you have the psignal function. */ -/* #undef HAVE_PSIGNAL */ - -/* Define if you have the pstat_getdynamic function. */ -/* #undef HAVE_PSTAT_GETDYNAMIC */ - -/* Define if you have the setegid function. */ -/* #undef HAVE_SETEGID */ - -/* Define if you have the seteuid function. */ -/* #undef HAVE_SETEUID */ - -/* Define if you have the setlinebuf function. */ -/* #undef HAVE_SETLINEBUF */ - -/* Define if you have the setregid function. */ -/* #undefine HAVE_SETREGID */ - -/* Define if you have the setreuid function. */ -/* #define HAVE_SETREUID */ - -/* Define if you have the sigsetmask function. */ -#define HAVE_SIGSETMASK 1 - -/* Define if you have the socket function. */ -/* #undef HAVE_SOCKET */ - -/* Define if you have the strcasecmp function. */ -/* #undef HAVE_STRCASECMP */ - -/* Define if you have the strerror function. */ -#define HAVE_STRERROR 1 - -/* Define if you have the strsignal function. */ -/* #undef HAVE_STRSIGNAL */ - -/* Define if you have the wait3 function. */ -/* #undef HAVE_WAIT3 */ - -/* Define if you have the waitpid function. */ -/* #undef HAVE_WAITPID */ - -/* Define if you have the header file. */ -#define HAVE_DIRENT_H 1 - -/* Define if you have the header file. */ -#ifdef __DECC -#define HAVE_FCNTL_H 1 -#endif - -/* Define if you have the header file. */ -#define HAVE_LIMITS_H 1 - -/* Define if you have the header file. */ -/* #undef HAVE_MACH_MACH_H */ - -/* Define if you have the header file. */ -/* #undef HAVE_MEMORY_H */ - -/* Define if you have the header file. */ -/* #undef HAVE_NDIR_H */ - -/* Define if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_DIR_H */ - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_NDIR_H */ - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_PARAM_H */ - -/* Define if you have the header file. */ -#ifndef __GNUC__ -#define HAVE_SYS_TIMEB_H 1 -#endif - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_WAIT_H */ - -/* Define if you have the dgc library (-ldgc). */ -/* #undef HAVE_LIBDGC */ - -/* Define if you have the kstat library (-lkstat). */ -/* #undef HAVE_LIBKSTAT * - -/* Define if you have the sun library (-lsun). */ -/* #undef HAVE_LIBSUN */ - -/* Use high resolution file timestamps if nonzero. */ -#define FILE_TIMESTAMP_HI_RES 0 - -/* Define for case insensitve filenames */ -#define HAVE_CASE_INSENSITIVE_FS 1 - -/* VMS specific, define it if you want to use case sensitve targets */ -/* #undef WANT_CASE_SENSITIVE_TARGETS */ - -/* VMS specific, V7.0 has opendir() and friends, so it's undefined */ -/* If you want to use non-VMS code for opendir() etc. on V7.0 and greater - define the first or both macros AND change the compile command to get the - non-VMS versions linked: (prefix=(all,except=(opendir,... */ -/* #undef HAVE_VMSDIR_H */ -/* #undef _DIRENT_HAVE_D_NAMLEN */ - -/* On older systems without 7.0 backport of CRTL the first one is defined */ -#ifdef __CRTL_VER -# if __CRTL_VER < 70000000 -# define HAVE_VMSDIR_H 1 -# endif -#else -# if __VMS_VER < 70000000 -# define HAVE_VMSDIR_H 1 -# endif -#endif - -#if defined(HAVE_VMSDIR_H) && defined(HAVE_DIRENT_H) -#undef HAVE_DIRENT_H -#endif - -#define HAVE_STDLIB_H 1 -#define INCLUDEDIR "sys$sysroot:[syslib]" -#define LIBDIR "sys$sysroot:[syslib]" - -/* Don't use RTL functions of OpenVMS */ -#ifdef __DECC -#include -#include -#define getopt gnu_getopt -#define optarg gnu_optarg -#define optopt gnu_optopt -#define optind gnu_optind -#define opterr gnu_opterr -#endif - -#if defined (__cplusplus) || (defined (__STDC__) && __STDC__) -#undef PARAMS -#define PARAMS(protos) protos -#else /* Not C++ or ANSI C. */ -#undef PARAMS -#define PARAMS(protos) () -#endif /* C++ or ANSI C. */ - -/* Define if using alloca.c. */ -/* #undef C_ALLOCA */ -/* maybe this should be placed into make.h */ -#if defined(__VAX) && defined(__DECC) -#define alloca(n) __ALLOCA(n) -#endif - -/* Build host information. */ -#define MAKE_HOST "VMS" +/* config.h-vms. Generated by hand by Klaus Kämpf */ +/* config.h. Generated automatically by configure. */ +/* config.h.in. Generated automatically from configure.in by autoheader. */ + +/* Define if on AIX 3. + System headers sometimes define this. + We just want to avoid a redefinition error message. */ +#ifndef _ALL_SOURCE +/* #undef _ALL_SOURCE */ +#endif + +/* Define to 1 if NLS is requested. */ +/* #undef ENABLE_NLS */ + +/* Define as 1 if you have dcgettext. */ +/* #undef HAVE_DCGETTEXT */ + +/* Define as 1 if you have gettext and don't want to use GNU gettext. */ +/* #undef HAVE_GETTEXT */ + +/* Define if your locale.h file contains LC_MESSAGES. */ +/* #undef HAVE_LC_MESSAGES */ + +/* Define to the installation directory for locales. */ +#define LOCALEDIR "" + +/* Define as 1 if you have the stpcpy function. */ +/* #undef HAVE_STPCPY */ + +/* Define if the closedir function returns void instead of int. */ +/* #undef CLOSEDIR_VOID */ + +/* Define to empty if the keyword does not work. */ +/* #undef const */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define for DGUX with . */ +/* #undef DGUX */ + +/* Define if the `getloadavg' function needs to be run setuid or setgid. */ +/* #undef GETLOADAVG_PRIVILEGED */ + +/* Define to `unsigned long' or `unsigned long long' + if doesn't define. */ +#define uintmax_t unsigned long + +/* Define to `int' if doesn't define. */ +/* #undef gid_t */ + +/* Define if you have alloca, as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define if you have and it should be used (not on Ultrix). */ +/* #undef HAVE_ALLOCA_H */ + +/* Define if you don't have vprintf but do have _doprnt. */ +/* #undef HAVE_DOPRNT */ + +/* Define if your system has a working fnmatch function. */ +/* #undef HAVE_FNMATCH */ + +/* Define if your system has its own `getloadavg' function. */ +/* #undef HAVE_GETLOADAVG */ + +/* Define if you have the getmntent function. */ +/* #undef HAVE_GETMNTENT */ + +/* Define if the `long double' type works. */ +/* #undef HAVE_LONG_DOUBLE */ + +/* Define if you support file names longer than 14 characters. */ +#define HAVE_LONG_FILE_NAMES 1 + +/* Define if you have a working `mmap' system call. */ +/* #undef HAVE_MMAP */ + +/* Define if system calls automatically restart after interruption + by a signal. */ +/* #undef HAVE_RESTARTABLE_SYSCALLS */ + +/* Define if your struct stat has st_blksize. */ +/* #undef HAVE_ST_BLKSIZE */ + +/* Define if your struct stat has st_blocks. */ +/* #undef HAVE_ST_BLOCKS */ + +/* Define if you have the strcoll function and it is properly defined. */ +/* #undef HAVE_STRCOLL */ + +/* Define if your struct stat has st_rdev. */ +/* #undef HAVE_ST_RDEV */ + +/* Define if you have the strftime function. */ +/* #undef HAVE_STRFTIME */ + +/* Define if you have that is POSIX.1 compatible. */ +/* #undef HAVE_SYS_WAIT_H */ + +/* Define if your struct tm has tm_zone. */ +/* #undef HAVE_TM_ZONE */ + +/* Define if you don't have tm_zone but do have the external array + tzname. */ +/* #undef HAVE_TZNAME */ + +/* Define if you have . */ +#ifdef __DECC +#define HAVE_UNISTD_H 1 +#endif + +/* Define if utime(file, NULL) sets file's timestamp to the present. */ +/* #undef HAVE_UTIME_NULL */ + +/* Define if you have . */ +/* #undef HAVE_VFORK_H */ + +/* Define if you have the vprintf function. */ +#define HAVE_VPRINTF 1 + +/* Define if you have the wait3 system call. */ +/* #undef HAVE_WAIT3 */ + +/* Define if on MINIX. */ +/* #undef _MINIX */ + +/* Define if your struct nlist has an n_un member. */ +/* #undef NLIST_NAME_UNION */ + +/* Define if you have . */ +/* #undef NLIST_STRUCT */ + +/* Define if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to `int' if doesn't define. */ +/* I assume types.h is available for all 5.0 cc/cxx compilers */ +#if __DECC_VER < 50090000 +#define pid_t int +#endif + +/* Define if the system does not provide POSIX.1 features except + with this defined. */ +/* #undef _POSIX_1_SOURCE */ + +/* Define if you need to in order for stat and other things to work. */ +/* #undef _POSIX_SOURCE */ + +/* Define as the return type of signal handlers (int or void). */ +#define RETSIGTYPE void + +/* Define if the setvbuf function takes the buffering type as its second + argument and the buffer pointer as the third, as on System V + before release 3. */ +/* #undef SETVBUF_REVERSED */ + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at run-time. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown + */ +/* #undef STACK_DIRECTION */ + +/* Define if the `S_IS*' macros in do not work properly. */ +/* #undef STAT_MACROS_BROKEN */ + +/* Define if you have the ANSI C header files. */ +/* #undef STDC_HEADERS */ + +/* Define on System V Release 4. */ +/* #undef SVR4 */ + +/* Define if `sys_siglist' is declared by . */ +/* #undef SYS_SIGLIST_DECLARED */ + +/* Define to `int' if doesn't define. */ +#if __DECC_VER < 50090000 +#define uid_t int +#endif + +/* Define for Encore UMAX. */ +/* #undef UMAX */ + +/* Define for Encore UMAX 4.3 that has + instead of . */ +/* #undef UMAX4_3 */ + +/* Define vfork as fork if vfork does not work. */ +/* #undef vfork */ + +/* Name of this package (needed by automake) */ +#define PACKAGE "%PACKAGE%" + +/* Version of this package (needed by automake) */ +#define VERSION "%VERSION%" + +/* Define to the name of the SCCS `get' command. */ +/* #undef SCCS_GET */ + +/* Define this if the SCCS `get' command understands the `-G' option. */ +/* #undef SCCS_GET_MINUS_G */ + +/* Define this to enable job server support in GNU make. */ +/* #undef MAKE_JOBSERVER */ + +/* Define to be the nanoseconds member of struct stat's st_mtim, + if it exists. */ +/* #undef ST_MTIM_NSEC */ + +/* Define this if the C library defines the variable `sys_siglist'. */ +/* #undefine HAVE_SYS_SIGLIST */ + +/* Define this if the C library defines the variable `_sys_siglist'. */ +/* #undef HAVE__SYS_SIGLIST */ + +/* Define this if you have the `union wait' type in . */ +/* #undef HAVE_UNION_WAIT */ + +/* Define if you have the dup2 function. */ +#define HAVE_DUP2 1 + +/* Define if you have the getcwd function. */ +#define HAVE_GETCWD 1 + +/* Define if you have the getgroups function. */ +/* #undef HAVE_GETGROUPS */ + +/* Define if you have the gethostbyname function. */ +/* #undef HAVE_GETHOSTBYNAME */ + +/* Define if you have the gethostname function. */ +/* #undef HAVE_GETHOSTNAME */ + +/* Define if you have the getloadavg function. */ +/* #undef HAVE_GETLOADAVG */ + +/* Define if you have the memmove function. */ +#define HAVE_MEMMOVE 1 + +/* Define if you have the mktemp function. */ +#define HAVE_MKTEMP 1 + +/* Define if you have the psignal function. */ +/* #undef HAVE_PSIGNAL */ + +/* Define if you have the pstat_getdynamic function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define if you have the setegid function. */ +/* #undef HAVE_SETEGID */ + +/* Define if you have the seteuid function. */ +/* #undef HAVE_SETEUID */ + +/* Define if you have the setlinebuf function. */ +/* #undef HAVE_SETLINEBUF */ + +/* Define if you have the setregid function. */ +/* #undefine HAVE_SETREGID */ + +/* Define if you have the setreuid function. */ +/* #define HAVE_SETREUID */ + +/* Define if you have the sigsetmask function. */ +#define HAVE_SIGSETMASK 1 + +/* Define if you have the socket function. */ +/* #undef HAVE_SOCKET */ + +/* Define if you have the strcasecmp function. */ +/* #undef HAVE_STRCASECMP */ + +/* Define if you have the strerror function. */ +#define HAVE_STRERROR 1 + +/* Define if you have the strsignal function. */ +/* #undef HAVE_STRSIGNAL */ + +/* Define if you have the wait3 function. */ +/* #undef HAVE_WAIT3 */ + +/* Define if you have the waitpid function. */ +/* #undef HAVE_WAITPID */ + +/* Define if you have the header file. */ +#define HAVE_DIRENT_H 1 + +/* Define if you have the header file. */ +#ifdef __DECC +#define HAVE_FCNTL_H 1 +#endif + +/* Define if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_MACH_MACH_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_MEMORY_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_NDIR_H */ + +/* Define if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_DIR_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_NDIR_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_PARAM_H */ + +/* Define if you have the header file. */ +#ifndef __GNUC__ +#define HAVE_SYS_TIMEB_H 1 +#endif + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_WAIT_H */ + +/* Define if you have the dgc library (-ldgc). */ +/* #undef HAVE_LIBDGC */ + +/* Define if you have the kstat library (-lkstat). */ +/* #undef HAVE_LIBKSTAT * + +/* Define if you have the sun library (-lsun). */ +/* #undef HAVE_LIBSUN */ + +/* Use high resolution file timestamps if nonzero. */ +#define FILE_TIMESTAMP_HI_RES 0 + +/* Define for case insensitve filenames */ +#define HAVE_CASE_INSENSITIVE_FS 1 + +/* VMS specific, define it if you want to use case sensitve targets */ +/* #undef WANT_CASE_SENSITIVE_TARGETS */ + +/* VMS specific, V7.0 has opendir() and friends, so it's undefined */ +/* If you want to use non-VMS code for opendir() etc. on V7.0 and greater + define the first or both macros AND change the compile command to get the + non-VMS versions linked: (prefix=(all,except=(opendir,... */ +/* #undef HAVE_VMSDIR_H */ +/* #undef _DIRENT_HAVE_D_NAMLEN */ + +/* On older systems without 7.0 backport of CRTL the first one is defined */ +#ifdef __CRTL_VER +# if __CRTL_VER < 70000000 +# define HAVE_VMSDIR_H 1 +# endif +#else +# if __VMS_VER < 70000000 +# define HAVE_VMSDIR_H 1 +# endif +#endif + +#if defined(HAVE_VMSDIR_H) && defined(HAVE_DIRENT_H) +#undef HAVE_DIRENT_H +#endif + +#define HAVE_STDLIB_H 1 +#define INCLUDEDIR "sys$sysroot:[syslib]" +#define LIBDIR "sys$sysroot:[syslib]" + +/* Don't use RTL functions of OpenVMS */ +#ifdef __DECC +#include +#include +#define getopt gnu_getopt +#define optarg gnu_optarg +#define optopt gnu_optopt +#define optind gnu_optind +#define opterr gnu_opterr +#endif + +#if defined (__cplusplus) || (defined (__STDC__) && __STDC__) +#undef PARAMS +#define PARAMS(protos) protos +#else /* Not C++ or ANSI C. */ +#undef PARAMS +#define PARAMS(protos) () +#endif /* C++ or ANSI C. */ + +/* Define if using alloca.c. */ +/* #undef C_ALLOCA */ +/* maybe this should be placed into make.h */ +#if defined(__VAX) && defined(__DECC) +#define alloca(n) __ALLOCA(n) +#endif + +/* Build host information. */ +#define MAKE_HOST "VMS" diff --git a/src/mkutil/make/config.h.W32 b/src/mkutil/make/config.h.W32 index ce8cb144..ac413fd7 100644 --- a/src/mkutil/make/config.h.W32 +++ b/src/mkutil/make/config.h.W32 @@ -1,399 +1,399 @@ -/* config.h.in. Generated automatically from configure.in by autoheader. */ - -/* Define if on AIX 3. - System headers sometimes define this. - We just want to avoid a redefinition error message. */ -#ifndef _ALL_SOURCE -/* #undef _ALL_SOURCE */ -#endif - -/* Define if using alloca.c. */ -/* #undef C_ALLOCA */ - -/* Define if the closedir function returns void instead of int. */ -/* #undef CLOSEDIR_VOID */ - -/* Define to empty if the keyword does not work. */ -/* #undef const */ - -/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. - This function is required for alloca.c support on those systems. */ -/* #undef CRAY_STACKSEG_END */ - -/* Define for DGUX with . */ -/* #undef DGUX */ - -/* Define if the `getloadavg' function needs to be run setuid or setgid. */ -/* #undef GETLOADAVG_PRIVILEGED */ - -/* Define to `unsigned long' or `unsigned long long' - if doesn't define. */ -#define uintmax_t unsigned long - -/* Define to `int' if doesn't define. */ -#undef gid_t -#define gid_t int - -/* Define if you have alloca, as a function or macro. */ -#undef HAVE_ALLOCA -#define HAVE_ALLOCA 1 - -/* Define if you have and it should be used (not on Ultrix). */ -/* #undef HAVE_ALLOCA_H */ - -/* Define if you don't have vprintf but do have _doprnt. */ -/* #undef HAVE_DOPRNT */ - -/* Define if your system has a working fnmatch function. */ -/* #undef HAVE_FNMATCH */ - -/* Define if your system has its own `getloadavg' function. */ -/* #undef HAVE_GETLOADAVG */ - -/* Define if you have the getmntent function. */ -/* #undef HAVE_GETMNTENT */ - -/* Define if the `long double' type works. */ -/* #undef HAVE_LONG_DOUBLE */ - -/* Define if you support file names longer than 14 characters. */ -#undef HAVE_LONG_FILE_NAMES -#define HAVE_LONG_FILE_NAMES 1 - -/* Define if you have a working `mmap' system call. */ -/* #undef HAVE_MMAP */ - -/* Define if system calls automatically restart after interruption - by a signal. */ -/* #undef HAVE_RESTARTABLE_SYSCALLS */ - -/* Define if your struct stat has st_blksize. */ -/* #undef HAVE_ST_BLKSIZE */ - -/* Define if your struct stat has st_blocks. */ -/* #undef HAVE_ST_BLOCKS */ - -/* Define if you have the strcoll function and it is properly defined. */ -#undef HAVE_STRCOLL -#define HAVE_STRCOLL 1 - -/* Define if your struct stat has st_rdev. */ -#undef HAVE_ST_RDEV -#define HAVE_ST_RDEV 1 - -/* Define if you have the strftime function. */ -#undef HAVE_STRFTIME -#define HAVE_STRFTIME 1 - -/* Define if you have that is POSIX.1 compatible. */ -/* #undef HAVE_SYS_WAIT_H */ - -/* Define if your struct tm has tm_zone. */ -/* #undef HAVE_TM_ZONE */ - -/* Define if you don't have tm_zone but do have the external array - tzname. */ -#undef HAVE_TZNAME -#define HAVE_TZNAME 1 - -/* Define if you have . */ -/* #undef HAVE_UNISTD_H */ - -/* Define if utime(file, NULL) sets file's timestamp to the present. */ -#undef HAVE_UTIME_NULL -#define HAVE_UTIME_NULL 1 - -/* Define if you have . */ -/* #undef HAVE_VFORK_H */ - -/* Define if you have the vprintf function. */ -#undef HAVE_VPRINTF -#define HAVE_VPRINTF 1 - -/* Define if you have the wait3 system call. */ -/* #undef HAVE_WAIT3 */ - -/* Define if on MINIX. */ -/* #undef _MINIX */ - -/* Define if your struct nlist has an n_un member. */ -/* #undef NLIST_NAME_UNION */ - -/* Define if you have . */ -/* #undef NLIST_STRUCT */ - -/* Define if your C compiler doesn't accept -c and -o together. */ -/* #undef NO_MINUS_C_MINUS_O */ - -/* Define to `int' if doesn't define. */ -#undef pid_t -#define pid_t int - -/* Define if the system does not provide POSIX.1 features except - with this defined. */ -/* #undef _POSIX_1_SOURCE */ - -/* Define if you need to in order for stat and other things to work. */ -#undef _POSIX_SOURCE -#define _POSIX_SOURCE 1 - -/* Define as the return type of signal handlers (int or void). */ -#undef RETSIGTYPE -#define RETSIGTYPE void - -/* Define if the setvbuf function takes the buffering type as its second - argument and the buffer pointer as the third, as on System V - before release 3. */ -/* #undef SETVBUF_REVERSED */ - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown - */ -/* #undef STACK_DIRECTION */ - -/* Define if the `S_IS*' macros in do not work properly. */ -/* #undef STAT_MACROS_BROKEN */ - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS -#define STDC_HEADERS 1 - -/* Define on System V Release 4. */ -/* #undef SVR4 */ - -/* Define if `sys_siglist' is declared by . */ -/* #undef SYS_SIGLIST_DECLARED */ - -/* Define to `int' if doesn't define. */ -#undef uid_t -#define uid_t int - -/* Define for Encore UMAX. */ -/* #undef UMAX */ - -/* Define for Encore UMAX 4.3 that has - instead of . */ -/* #undef UMAX4_3 */ - -/* Define vfork as fork if vfork does not work. */ -/* #undef vfork */ - -/* Name of this package (needed by automake) */ -#define PACKAGE "make" - -/* Version of this package (needed by automake) */ -#define VERSION "3.81a2" - -/* Define to the name of the SCCS `get' command. */ -#undef SCCS_GET -#define SCCS_GET "echo no sccs get" - -/* Define to 1 if NLS is requested. */ -/* #undef ENABLE_NLS */ - -/* Define as 1 if you have dcgettext. */ -/* #undef HAVE_DCGETTEXT */ - -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -/* #undef HAVE_GETTEXT */ - -/* Define if your locale.h file contains LC_MESSAGES. */ -/* #undef HAVE_LC_MESSAGES */ - -/* Define to the installation directory for locales. */ -#define LOCALEDIR "" - -/* Define this if the SCCS `get' command understands the `-G' option. */ -/* #undef SCCS_GET_MINUS_G */ - -/* Define this to enable job server support in GNU make. */ -/* #undef MAKE_JOBSERVER */ - -/* Define to be the nanoseconds member of struct stat's st_mtim, - if it exists. */ -/* #undef ST_MTIM_NSEC */ - -/* Define this if the C library defines the variable `sys_siglist'. */ -/* #undef HAVE_SYS_SIGLIST */ - -/* Define this if the C library defines the variable `_sys_siglist'. */ -/* #undef HAVE__SYS_SIGLIST */ - -/* Define this if you have the `union wait' type in . */ -/* #undef HAVE_UNION_WAIT */ - -/* Define if you have the dup2 function. */ -#undef HAVE_DUP2 -#define HAVE_DUP2 1 - -/* Define if you have the getcwd function. */ -#undef HAVE_GETCWD -#define HAVE_GETCWD 1 - -/* Define if you have the getgroups function. */ -/* #undef HAVE_GETGROUPS */ - -/* Define if you have the gethostbyname function. */ -/* #undef HAVE_GETHOSTBYNAME */ - -/* Define if you have the gethostname function. */ -/* #undef HAVE_GETHOSTNAME */ - -/* Define if you have the getloadavg function. */ -/* #undef HAVE_GETLOADAVG */ - -/* Define if you have the memmove function. */ -#undef HAVE_MEMMOVE -#define HAVE_MEMMOVE 1 - -/* Define if you have the mktemp function. */ -#undef HAVE_MKTEMP -#define HAVE_MKTEMP 1 - -/* Define if you have the psignal function. */ -/* #undef HAVE_PSIGNAL */ - -/* Define if you have the pstat_getdynamic function. */ -/* #undef HAVE_PSTAT_GETDYNAMIC */ - -/* Define if you have the setegid function. */ -/* #undef HAVE_SETEGID */ - -/* Define if you have the seteuid function. */ -/* #undef HAVE_SETEUID */ - -/* Define if you have the setlinebuf function. */ -/* #undef HAVE_SETLINEBUF */ - -/* Define if you have the setregid function. */ -/* #undef HAVE_SETREGID */ - -/* Define if you have the setreuid function. */ -/* #undef HAVE_SETREUID */ - -/* Define if you have the sigsetmask function. */ -/* #undef HAVE_SIGSETMASK */ - -/* Define if you have the socket function. */ -/* #undef HAVE_SOCKET */ - -/* Define if you have the strcasecmp function. */ -/* #undef HAVE_STRCASECMP */ - -/* Define if you have the strerror function. */ -#undef HAVE_STRERROR -#define HAVE_STRERROR 1 - -/* Define if you have the strsignal function. */ -/* #undef HAVE_STRSIGNAL */ - -/* Define if you have the wait3 function. */ -/* #undef HAVE_WAIT3 */ - -/* Define if you have the waitpid function. */ -/* #undef HAVE_WAITPID */ - -/* Define if you have the header file. */ -#undef HAVE_DIRENT_H -#define HAVE_DIRENT_H 1 - -/* Define if you have the header file. */ -#undef HAVE_FCNTL_H -#define HAVE_FCNTL_H 1 - -/* Define if you have the header file. */ -#undef HAVE_LIMITS_H -#define HAVE_LIMITS_H 1 - -/* Define if you have the header file. */ -/* #undef HAVE_MACH_MACH_H */ - -/* Define if you have the header file. */ -#undef HAVE_MEMORY_H -#define HAVE_MEMORY_H 1 - -/* Define if you have the header file. */ -/* #undef HAVE_NDIR_H */ - -/* Define if you have the header file. */ -#undef HAVE_STRING_H -#define HAVE_STRING_H 1 - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_DIR_H */ - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_NDIR_H */ - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_PARAM_H */ - -/* Define if you have the header file. */ -#undef HAVE_SYS_TIMEB_H -#define HAVE_SYS_TIMEB_H 1 - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_WAIT_H */ - -/* Define if you have the header file. */ -/* #undef HAVE_UNISTD_H */ - -/* Define if you have the dgc library (-ldgc). */ -/* #undef HAVE_LIBDGC */ - -/* Define if you have the kstat library (-lkstat). */ -/* #undef HAVE_LIBKSTAT */ - -/* Define if you have the sun library (-lsun). */ -/* #undef HAVE_LIBSUN */ - -/* Use high resolution file timestamps if nonzero. */ -#define FILE_TIMESTAMP_HI_RES 0 - -/* Build host information. */ -#define MAKE_HOST "Windows32" - -/* Grok DOS paths (drive specs and backslash path element separators) */ -#define HAVE_DOS_PATHS - -/* - * Refer to README.W32 for info on the following settings - */ - -/* - * If you have a shell that does not grok 'sh -c quoted-command-line' - * correctly, you need this setting. Please see below for specific - * shell support. - */ -#undef BATCH_MODE_ONLY_SHELL -#define BATCH_MODE_ONLY_SHELL 1 - -/* - * Define if you have the Cygnus "Cygwin" GNU Windows32 tool set. - * Do NOT define BATCH_MODE_ONLY_SHELL if you define HAVE_CYGWIN_SHELL - */ -#undef HAVE_CYGWIN_SHELL - -/* - * Define if you have the MKS tool set or shell. Do NOT define - * BATCH_MODE_ONLY_SHELL if you define HAVE_MKS_SHELL - */ -#undef HAVE_MKS_SHELL - -/* - * Enforce the mutual exclusivity restriction. - */ -#ifdef HAVE_MKS_SHELL -#undef BATCH_MODE_ONLY_SHELL -#endif - -#ifdef HAVE_CYGWIN_SHELL -#undef BATCH_MODE_ONLY_SHELL -#endif - -/* Define if you prefer Case Insensitive behavior */ -#undef HAVE_CASE_INSENSITIVE_FS +/* config.h.in. Generated automatically from configure.in by autoheader. */ + +/* Define if on AIX 3. + System headers sometimes define this. + We just want to avoid a redefinition error message. */ +#ifndef _ALL_SOURCE +/* #undef _ALL_SOURCE */ +#endif + +/* Define if using alloca.c. */ +/* #undef C_ALLOCA */ + +/* Define if the closedir function returns void instead of int. */ +/* #undef CLOSEDIR_VOID */ + +/* Define to empty if the keyword does not work. */ +/* #undef const */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define for DGUX with . */ +/* #undef DGUX */ + +/* Define if the `getloadavg' function needs to be run setuid or setgid. */ +/* #undef GETLOADAVG_PRIVILEGED */ + +/* Define to `unsigned long' or `unsigned long long' + if doesn't define. */ +#define uintmax_t unsigned long + +/* Define to `int' if doesn't define. */ +#undef gid_t +#define gid_t int + +/* Define if you have alloca, as a function or macro. */ +#undef HAVE_ALLOCA +#define HAVE_ALLOCA 1 + +/* Define if you have and it should be used (not on Ultrix). */ +/* #undef HAVE_ALLOCA_H */ + +/* Define if you don't have vprintf but do have _doprnt. */ +/* #undef HAVE_DOPRNT */ + +/* Define if your system has a working fnmatch function. */ +/* #undef HAVE_FNMATCH */ + +/* Define if your system has its own `getloadavg' function. */ +/* #undef HAVE_GETLOADAVG */ + +/* Define if you have the getmntent function. */ +/* #undef HAVE_GETMNTENT */ + +/* Define if the `long double' type works. */ +/* #undef HAVE_LONG_DOUBLE */ + +/* Define if you support file names longer than 14 characters. */ +#undef HAVE_LONG_FILE_NAMES +#define HAVE_LONG_FILE_NAMES 1 + +/* Define if you have a working `mmap' system call. */ +/* #undef HAVE_MMAP */ + +/* Define if system calls automatically restart after interruption + by a signal. */ +/* #undef HAVE_RESTARTABLE_SYSCALLS */ + +/* Define if your struct stat has st_blksize. */ +/* #undef HAVE_ST_BLKSIZE */ + +/* Define if your struct stat has st_blocks. */ +/* #undef HAVE_ST_BLOCKS */ + +/* Define if you have the strcoll function and it is properly defined. */ +#undef HAVE_STRCOLL +#define HAVE_STRCOLL 1 + +/* Define if your struct stat has st_rdev. */ +#undef HAVE_ST_RDEV +#define HAVE_ST_RDEV 1 + +/* Define if you have the strftime function. */ +#undef HAVE_STRFTIME +#define HAVE_STRFTIME 1 + +/* Define if you have that is POSIX.1 compatible. */ +/* #undef HAVE_SYS_WAIT_H */ + +/* Define if your struct tm has tm_zone. */ +/* #undef HAVE_TM_ZONE */ + +/* Define if you don't have tm_zone but do have the external array + tzname. */ +#undef HAVE_TZNAME +#define HAVE_TZNAME 1 + +/* Define if you have . */ +/* #undef HAVE_UNISTD_H */ + +/* Define if utime(file, NULL) sets file's timestamp to the present. */ +#undef HAVE_UTIME_NULL +#define HAVE_UTIME_NULL 1 + +/* Define if you have . */ +/* #undef HAVE_VFORK_H */ + +/* Define if you have the vprintf function. */ +#undef HAVE_VPRINTF +#define HAVE_VPRINTF 1 + +/* Define if you have the wait3 system call. */ +/* #undef HAVE_WAIT3 */ + +/* Define if on MINIX. */ +/* #undef _MINIX */ + +/* Define if your struct nlist has an n_un member. */ +/* #undef NLIST_NAME_UNION */ + +/* Define if you have . */ +/* #undef NLIST_STRUCT */ + +/* Define if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to `int' if doesn't define. */ +#undef pid_t +#define pid_t int + +/* Define if the system does not provide POSIX.1 features except + with this defined. */ +/* #undef _POSIX_1_SOURCE */ + +/* Define if you need to in order for stat and other things to work. */ +#undef _POSIX_SOURCE +#define _POSIX_SOURCE 1 + +/* Define as the return type of signal handlers (int or void). */ +#undef RETSIGTYPE +#define RETSIGTYPE void + +/* Define if the setvbuf function takes the buffering type as its second + argument and the buffer pointer as the third, as on System V + before release 3. */ +/* #undef SETVBUF_REVERSED */ + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at run-time. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown + */ +/* #undef STACK_DIRECTION */ + +/* Define if the `S_IS*' macros in do not work properly. */ +/* #undef STAT_MACROS_BROKEN */ + +/* Define if you have the ANSI C header files. */ +#undef STDC_HEADERS +#define STDC_HEADERS 1 + +/* Define on System V Release 4. */ +/* #undef SVR4 */ + +/* Define if `sys_siglist' is declared by . */ +/* #undef SYS_SIGLIST_DECLARED */ + +/* Define to `int' if doesn't define. */ +#undef uid_t +#define uid_t int + +/* Define for Encore UMAX. */ +/* #undef UMAX */ + +/* Define for Encore UMAX 4.3 that has + instead of . */ +/* #undef UMAX4_3 */ + +/* Define vfork as fork if vfork does not work. */ +/* #undef vfork */ + +/* Name of this package (needed by automake) */ +#define PACKAGE "make" + +/* Version of this package (needed by automake) */ +#define VERSION "3.81a2" + +/* Define to the name of the SCCS `get' command. */ +#undef SCCS_GET +#define SCCS_GET "echo no sccs get" + +/* Define to 1 if NLS is requested. */ +/* #undef ENABLE_NLS */ + +/* Define as 1 if you have dcgettext. */ +/* #undef HAVE_DCGETTEXT */ + +/* Define as 1 if you have gettext and don't want to use GNU gettext. */ +/* #undef HAVE_GETTEXT */ + +/* Define if your locale.h file contains LC_MESSAGES. */ +/* #undef HAVE_LC_MESSAGES */ + +/* Define to the installation directory for locales. */ +#define LOCALEDIR "" + +/* Define this if the SCCS `get' command understands the `-G' option. */ +/* #undef SCCS_GET_MINUS_G */ + +/* Define this to enable job server support in GNU make. */ +/* #undef MAKE_JOBSERVER */ + +/* Define to be the nanoseconds member of struct stat's st_mtim, + if it exists. */ +/* #undef ST_MTIM_NSEC */ + +/* Define this if the C library defines the variable `sys_siglist'. */ +/* #undef HAVE_SYS_SIGLIST */ + +/* Define this if the C library defines the variable `_sys_siglist'. */ +/* #undef HAVE__SYS_SIGLIST */ + +/* Define this if you have the `union wait' type in . */ +/* #undef HAVE_UNION_WAIT */ + +/* Define if you have the dup2 function. */ +#undef HAVE_DUP2 +#define HAVE_DUP2 1 + +/* Define if you have the getcwd function. */ +#undef HAVE_GETCWD +#define HAVE_GETCWD 1 + +/* Define if you have the getgroups function. */ +/* #undef HAVE_GETGROUPS */ + +/* Define if you have the gethostbyname function. */ +/* #undef HAVE_GETHOSTBYNAME */ + +/* Define if you have the gethostname function. */ +/* #undef HAVE_GETHOSTNAME */ + +/* Define if you have the getloadavg function. */ +/* #undef HAVE_GETLOADAVG */ + +/* Define if you have the memmove function. */ +#undef HAVE_MEMMOVE +#define HAVE_MEMMOVE 1 + +/* Define if you have the mktemp function. */ +#undef HAVE_MKTEMP +#define HAVE_MKTEMP 1 + +/* Define if you have the psignal function. */ +/* #undef HAVE_PSIGNAL */ + +/* Define if you have the pstat_getdynamic function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define if you have the setegid function. */ +/* #undef HAVE_SETEGID */ + +/* Define if you have the seteuid function. */ +/* #undef HAVE_SETEUID */ + +/* Define if you have the setlinebuf function. */ +/* #undef HAVE_SETLINEBUF */ + +/* Define if you have the setregid function. */ +/* #undef HAVE_SETREGID */ + +/* Define if you have the setreuid function. */ +/* #undef HAVE_SETREUID */ + +/* Define if you have the sigsetmask function. */ +/* #undef HAVE_SIGSETMASK */ + +/* Define if you have the socket function. */ +/* #undef HAVE_SOCKET */ + +/* Define if you have the strcasecmp function. */ +/* #undef HAVE_STRCASECMP */ + +/* Define if you have the strerror function. */ +#undef HAVE_STRERROR +#define HAVE_STRERROR 1 + +/* Define if you have the strsignal function. */ +/* #undef HAVE_STRSIGNAL */ + +/* Define if you have the wait3 function. */ +/* #undef HAVE_WAIT3 */ + +/* Define if you have the waitpid function. */ +/* #undef HAVE_WAITPID */ + +/* Define if you have the header file. */ +#undef HAVE_DIRENT_H +#define HAVE_DIRENT_H 1 + +/* Define if you have the header file. */ +#undef HAVE_FCNTL_H +#define HAVE_FCNTL_H 1 + +/* Define if you have the header file. */ +#undef HAVE_LIMITS_H +#define HAVE_LIMITS_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_MACH_MACH_H */ + +/* Define if you have the header file. */ +#undef HAVE_MEMORY_H +#define HAVE_MEMORY_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_NDIR_H */ + +/* Define if you have the header file. */ +#undef HAVE_STRING_H +#define HAVE_STRING_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_DIR_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_NDIR_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_PARAM_H */ + +/* Define if you have the header file. */ +#undef HAVE_SYS_TIMEB_H +#define HAVE_SYS_TIMEB_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_WAIT_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_UNISTD_H */ + +/* Define if you have the dgc library (-ldgc). */ +/* #undef HAVE_LIBDGC */ + +/* Define if you have the kstat library (-lkstat). */ +/* #undef HAVE_LIBKSTAT */ + +/* Define if you have the sun library (-lsun). */ +/* #undef HAVE_LIBSUN */ + +/* Use high resolution file timestamps if nonzero. */ +#define FILE_TIMESTAMP_HI_RES 0 + +/* Build host information. */ +#define MAKE_HOST "Windows32" + +/* Grok DOS paths (drive specs and backslash path element separators) */ +#define HAVE_DOS_PATHS + +/* + * Refer to README.W32 for info on the following settings + */ + +/* + * If you have a shell that does not grok 'sh -c quoted-command-line' + * correctly, you need this setting. Please see below for specific + * shell support. + */ +#undef BATCH_MODE_ONLY_SHELL +#define BATCH_MODE_ONLY_SHELL 1 + +/* + * Define if you have the Cygnus "Cygwin" GNU Windows32 tool set. + * Do NOT define BATCH_MODE_ONLY_SHELL if you define HAVE_CYGWIN_SHELL + */ +#undef HAVE_CYGWIN_SHELL + +/* + * Define if you have the MKS tool set or shell. Do NOT define + * BATCH_MODE_ONLY_SHELL if you define HAVE_MKS_SHELL + */ +#undef HAVE_MKS_SHELL + +/* + * Enforce the mutual exclusivity restriction. + */ +#ifdef HAVE_MKS_SHELL +#undef BATCH_MODE_ONLY_SHELL +#endif + +#ifdef HAVE_CYGWIN_SHELL +#undef BATCH_MODE_ONLY_SHELL +#endif + +/* Define if you prefer Case Insensitive behavior */ +#undef HAVE_CASE_INSENSITIVE_FS diff --git a/src/mkutil/make/config.h.W32.template b/src/mkutil/make/config.h.W32.template index 4e484679..61b8b2bc 100644 --- a/src/mkutil/make/config.h.W32.template +++ b/src/mkutil/make/config.h.W32.template @@ -1,399 +1,399 @@ -/* config.h.in. Generated automatically from configure.in by autoheader. */ - -/* Define if on AIX 3. - System headers sometimes define this. - We just want to avoid a redefinition error message. */ -#ifndef _ALL_SOURCE -/* #undef _ALL_SOURCE */ -#endif - -/* Define if using alloca.c. */ -/* #undef C_ALLOCA */ - -/* Define if the closedir function returns void instead of int. */ -/* #undef CLOSEDIR_VOID */ - -/* Define to empty if the keyword does not work. */ -/* #undef const */ - -/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. - This function is required for alloca.c support on those systems. */ -/* #undef CRAY_STACKSEG_END */ - -/* Define for DGUX with . */ -/* #undef DGUX */ - -/* Define if the `getloadavg' function needs to be run setuid or setgid. */ -/* #undef GETLOADAVG_PRIVILEGED */ - -/* Define to `unsigned long' or `unsigned long long' - if doesn't define. */ -#define uintmax_t unsigned long - -/* Define to `int' if doesn't define. */ -#undef gid_t -#define gid_t int - -/* Define if you have alloca, as a function or macro. */ -#undef HAVE_ALLOCA -#define HAVE_ALLOCA 1 - -/* Define if you have and it should be used (not on Ultrix). */ -/* #undef HAVE_ALLOCA_H */ - -/* Define if you don't have vprintf but do have _doprnt. */ -/* #undef HAVE_DOPRNT */ - -/* Define if your system has a working fnmatch function. */ -/* #undef HAVE_FNMATCH */ - -/* Define if your system has its own `getloadavg' function. */ -/* #undef HAVE_GETLOADAVG */ - -/* Define if you have the getmntent function. */ -/* #undef HAVE_GETMNTENT */ - -/* Define if the `long double' type works. */ -/* #undef HAVE_LONG_DOUBLE */ - -/* Define if you support file names longer than 14 characters. */ -#undef HAVE_LONG_FILE_NAMES -#define HAVE_LONG_FILE_NAMES 1 - -/* Define if you have a working `mmap' system call. */ -/* #undef HAVE_MMAP */ - -/* Define if system calls automatically restart after interruption - by a signal. */ -/* #undef HAVE_RESTARTABLE_SYSCALLS */ - -/* Define if your struct stat has st_blksize. */ -/* #undef HAVE_ST_BLKSIZE */ - -/* Define if your struct stat has st_blocks. */ -/* #undef HAVE_ST_BLOCKS */ - -/* Define if you have the strcoll function and it is properly defined. */ -#undef HAVE_STRCOLL -#define HAVE_STRCOLL 1 - -/* Define if your struct stat has st_rdev. */ -#undef HAVE_ST_RDEV -#define HAVE_ST_RDEV 1 - -/* Define if you have the strftime function. */ -#undef HAVE_STRFTIME -#define HAVE_STRFTIME 1 - -/* Define if you have that is POSIX.1 compatible. */ -/* #undef HAVE_SYS_WAIT_H */ - -/* Define if your struct tm has tm_zone. */ -/* #undef HAVE_TM_ZONE */ - -/* Define if you don't have tm_zone but do have the external array - tzname. */ -#undef HAVE_TZNAME -#define HAVE_TZNAME 1 - -/* Define if you have . */ -/* #undef HAVE_UNISTD_H */ - -/* Define if utime(file, NULL) sets file's timestamp to the present. */ -#undef HAVE_UTIME_NULL -#define HAVE_UTIME_NULL 1 - -/* Define if you have . */ -/* #undef HAVE_VFORK_H */ - -/* Define if you have the vprintf function. */ -#undef HAVE_VPRINTF -#define HAVE_VPRINTF 1 - -/* Define if you have the wait3 system call. */ -/* #undef HAVE_WAIT3 */ - -/* Define if on MINIX. */ -/* #undef _MINIX */ - -/* Define if your struct nlist has an n_un member. */ -/* #undef NLIST_NAME_UNION */ - -/* Define if you have . */ -/* #undef NLIST_STRUCT */ - -/* Define if your C compiler doesn't accept -c and -o together. */ -/* #undef NO_MINUS_C_MINUS_O */ - -/* Define to `int' if doesn't define. */ -#undef pid_t -#define pid_t int - -/* Define if the system does not provide POSIX.1 features except - with this defined. */ -/* #undef _POSIX_1_SOURCE */ - -/* Define if you need to in order for stat and other things to work. */ -#undef _POSIX_SOURCE -#define _POSIX_SOURCE 1 - -/* Define as the return type of signal handlers (int or void). */ -#undef RETSIGTYPE -#define RETSIGTYPE void - -/* Define if the setvbuf function takes the buffering type as its second - argument and the buffer pointer as the third, as on System V - before release 3. */ -/* #undef SETVBUF_REVERSED */ - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown - */ -/* #undef STACK_DIRECTION */ - -/* Define if the `S_IS*' macros in do not work properly. */ -/* #undef STAT_MACROS_BROKEN */ - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS -#define STDC_HEADERS 1 - -/* Define on System V Release 4. */ -/* #undef SVR4 */ - -/* Define if `sys_siglist' is declared by . */ -/* #undef SYS_SIGLIST_DECLARED */ - -/* Define to `int' if doesn't define. */ -#undef uid_t -#define uid_t int - -/* Define for Encore UMAX. */ -/* #undef UMAX */ - -/* Define for Encore UMAX 4.3 that has - instead of . */ -/* #undef UMAX4_3 */ - -/* Define vfork as fork if vfork does not work. */ -/* #undef vfork */ - -/* Name of this package (needed by automake) */ -#define PACKAGE "%PACKAGE%" - -/* Version of this package (needed by automake) */ -#define VERSION "%VERSION%" - -/* Define to the name of the SCCS `get' command. */ -#undef SCCS_GET -#define SCCS_GET "echo no sccs get" - -/* Define to 1 if NLS is requested. */ -/* #undef ENABLE_NLS */ - -/* Define as 1 if you have dcgettext. */ -/* #undef HAVE_DCGETTEXT */ - -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -/* #undef HAVE_GETTEXT */ - -/* Define if your locale.h file contains LC_MESSAGES. */ -/* #undef HAVE_LC_MESSAGES */ - -/* Define to the installation directory for locales. */ -#define LOCALEDIR "" - -/* Define this if the SCCS `get' command understands the `-G' option. */ -/* #undef SCCS_GET_MINUS_G */ - -/* Define this to enable job server support in GNU make. */ -/* #undef MAKE_JOBSERVER */ - -/* Define to be the nanoseconds member of struct stat's st_mtim, - if it exists. */ -/* #undef ST_MTIM_NSEC */ - -/* Define this if the C library defines the variable `sys_siglist'. */ -/* #undef HAVE_SYS_SIGLIST */ - -/* Define this if the C library defines the variable `_sys_siglist'. */ -/* #undef HAVE__SYS_SIGLIST */ - -/* Define this if you have the `union wait' type in . */ -/* #undef HAVE_UNION_WAIT */ - -/* Define if you have the dup2 function. */ -#undef HAVE_DUP2 -#define HAVE_DUP2 1 - -/* Define if you have the getcwd function. */ -#undef HAVE_GETCWD -#define HAVE_GETCWD 1 - -/* Define if you have the getgroups function. */ -/* #undef HAVE_GETGROUPS */ - -/* Define if you have the gethostbyname function. */ -/* #undef HAVE_GETHOSTBYNAME */ - -/* Define if you have the gethostname function. */ -/* #undef HAVE_GETHOSTNAME */ - -/* Define if you have the getloadavg function. */ -/* #undef HAVE_GETLOADAVG */ - -/* Define if you have the memmove function. */ -#undef HAVE_MEMMOVE -#define HAVE_MEMMOVE 1 - -/* Define if you have the mktemp function. */ -#undef HAVE_MKTEMP -#define HAVE_MKTEMP 1 - -/* Define if you have the psignal function. */ -/* #undef HAVE_PSIGNAL */ - -/* Define if you have the pstat_getdynamic function. */ -/* #undef HAVE_PSTAT_GETDYNAMIC */ - -/* Define if you have the setegid function. */ -/* #undef HAVE_SETEGID */ - -/* Define if you have the seteuid function. */ -/* #undef HAVE_SETEUID */ - -/* Define if you have the setlinebuf function. */ -/* #undef HAVE_SETLINEBUF */ - -/* Define if you have the setregid function. */ -/* #undef HAVE_SETREGID */ - -/* Define if you have the setreuid function. */ -/* #undef HAVE_SETREUID */ - -/* Define if you have the sigsetmask function. */ -/* #undef HAVE_SIGSETMASK */ - -/* Define if you have the socket function. */ -/* #undef HAVE_SOCKET */ - -/* Define if you have the strcasecmp function. */ -/* #undef HAVE_STRCASECMP */ - -/* Define if you have the strerror function. */ -#undef HAVE_STRERROR -#define HAVE_STRERROR 1 - -/* Define if you have the strsignal function. */ -/* #undef HAVE_STRSIGNAL */ - -/* Define if you have the wait3 function. */ -/* #undef HAVE_WAIT3 */ - -/* Define if you have the waitpid function. */ -/* #undef HAVE_WAITPID */ - -/* Define if you have the header file. */ -#undef HAVE_DIRENT_H -#define HAVE_DIRENT_H 1 - -/* Define if you have the header file. */ -#undef HAVE_FCNTL_H -#define HAVE_FCNTL_H 1 - -/* Define if you have the header file. */ -#undef HAVE_LIMITS_H -#define HAVE_LIMITS_H 1 - -/* Define if you have the header file. */ -/* #undef HAVE_MACH_MACH_H */ - -/* Define if you have the header file. */ -#undef HAVE_MEMORY_H -#define HAVE_MEMORY_H 1 - -/* Define if you have the header file. */ -/* #undef HAVE_NDIR_H */ - -/* Define if you have the header file. */ -#undef HAVE_STRING_H -#define HAVE_STRING_H 1 - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_DIR_H */ - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_NDIR_H */ - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_PARAM_H */ - -/* Define if you have the header file. */ -#undef HAVE_SYS_TIMEB_H -#define HAVE_SYS_TIMEB_H 1 - -/* Define if you have the header file. */ -/* #undef HAVE_SYS_WAIT_H */ - -/* Define if you have the header file. */ -/* #undef HAVE_UNISTD_H */ - -/* Define if you have the dgc library (-ldgc). */ -/* #undef HAVE_LIBDGC */ - -/* Define if you have the kstat library (-lkstat). */ -/* #undef HAVE_LIBKSTAT */ - -/* Define if you have the sun library (-lsun). */ -/* #undef HAVE_LIBSUN */ - -/* Use high resolution file timestamps if nonzero. */ -#define FILE_TIMESTAMP_HI_RES 0 - -/* Build host information. */ -#define MAKE_HOST "Windows32" - -/* Grok DOS paths (drive specs and backslash path element separators) */ -#define HAVE_DOS_PATHS - -/* - * Refer to README.W32 for info on the following settings - */ - -/* - * If you have a shell that does not grok 'sh -c quoted-command-line' - * correctly, you need this setting. Please see below for specific - * shell support. - */ -#undef BATCH_MODE_ONLY_SHELL -#define BATCH_MODE_ONLY_SHELL 1 - -/* - * Define if you have the Cygnus "Cygwin" GNU Windows32 tool set. - * Do NOT define BATCH_MODE_ONLY_SHELL if you define HAVE_CYGWIN_SHELL - */ -#undef HAVE_CYGWIN_SHELL - -/* - * Define if you have the MKS tool set or shell. Do NOT define - * BATCH_MODE_ONLY_SHELL if you define HAVE_MKS_SHELL - */ -#undef HAVE_MKS_SHELL - -/* - * Enforce the mutual exclusivity restriction. - */ -#ifdef HAVE_MKS_SHELL -#undef BATCH_MODE_ONLY_SHELL -#endif - -#ifdef HAVE_CYGWIN_SHELL -#undef BATCH_MODE_ONLY_SHELL -#endif - -/* Define if you prefer Case Insensitive behavior */ -#undef HAVE_CASE_INSENSITIVE_FS +/* config.h.in. Generated automatically from configure.in by autoheader. */ + +/* Define if on AIX 3. + System headers sometimes define this. + We just want to avoid a redefinition error message. */ +#ifndef _ALL_SOURCE +/* #undef _ALL_SOURCE */ +#endif + +/* Define if using alloca.c. */ +/* #undef C_ALLOCA */ + +/* Define if the closedir function returns void instead of int. */ +/* #undef CLOSEDIR_VOID */ + +/* Define to empty if the keyword does not work. */ +/* #undef const */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define for DGUX with . */ +/* #undef DGUX */ + +/* Define if the `getloadavg' function needs to be run setuid or setgid. */ +/* #undef GETLOADAVG_PRIVILEGED */ + +/* Define to `unsigned long' or `unsigned long long' + if doesn't define. */ +#define uintmax_t unsigned long + +/* Define to `int' if doesn't define. */ +#undef gid_t +#define gid_t int + +/* Define if you have alloca, as a function or macro. */ +#undef HAVE_ALLOCA +#define HAVE_ALLOCA 1 + +/* Define if you have and it should be used (not on Ultrix). */ +/* #undef HAVE_ALLOCA_H */ + +/* Define if you don't have vprintf but do have _doprnt. */ +/* #undef HAVE_DOPRNT */ + +/* Define if your system has a working fnmatch function. */ +/* #undef HAVE_FNMATCH */ + +/* Define if your system has its own `getloadavg' function. */ +/* #undef HAVE_GETLOADAVG */ + +/* Define if you have the getmntent function. */ +/* #undef HAVE_GETMNTENT */ + +/* Define if the `long double' type works. */ +/* #undef HAVE_LONG_DOUBLE */ + +/* Define if you support file names longer than 14 characters. */ +#undef HAVE_LONG_FILE_NAMES +#define HAVE_LONG_FILE_NAMES 1 + +/* Define if you have a working `mmap' system call. */ +/* #undef HAVE_MMAP */ + +/* Define if system calls automatically restart after interruption + by a signal. */ +/* #undef HAVE_RESTARTABLE_SYSCALLS */ + +/* Define if your struct stat has st_blksize. */ +/* #undef HAVE_ST_BLKSIZE */ + +/* Define if your struct stat has st_blocks. */ +/* #undef HAVE_ST_BLOCKS */ + +/* Define if you have the strcoll function and it is properly defined. */ +#undef HAVE_STRCOLL +#define HAVE_STRCOLL 1 + +/* Define if your struct stat has st_rdev. */ +#undef HAVE_ST_RDEV +#define HAVE_ST_RDEV 1 + +/* Define if you have the strftime function. */ +#undef HAVE_STRFTIME +#define HAVE_STRFTIME 1 + +/* Define if you have that is POSIX.1 compatible. */ +/* #undef HAVE_SYS_WAIT_H */ + +/* Define if your struct tm has tm_zone. */ +/* #undef HAVE_TM_ZONE */ + +/* Define if you don't have tm_zone but do have the external array + tzname. */ +#undef HAVE_TZNAME +#define HAVE_TZNAME 1 + +/* Define if you have . */ +/* #undef HAVE_UNISTD_H */ + +/* Define if utime(file, NULL) sets file's timestamp to the present. */ +#undef HAVE_UTIME_NULL +#define HAVE_UTIME_NULL 1 + +/* Define if you have . */ +/* #undef HAVE_VFORK_H */ + +/* Define if you have the vprintf function. */ +#undef HAVE_VPRINTF +#define HAVE_VPRINTF 1 + +/* Define if you have the wait3 system call. */ +/* #undef HAVE_WAIT3 */ + +/* Define if on MINIX. */ +/* #undef _MINIX */ + +/* Define if your struct nlist has an n_un member. */ +/* #undef NLIST_NAME_UNION */ + +/* Define if you have . */ +/* #undef NLIST_STRUCT */ + +/* Define if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to `int' if doesn't define. */ +#undef pid_t +#define pid_t int + +/* Define if the system does not provide POSIX.1 features except + with this defined. */ +/* #undef _POSIX_1_SOURCE */ + +/* Define if you need to in order for stat and other things to work. */ +#undef _POSIX_SOURCE +#define _POSIX_SOURCE 1 + +/* Define as the return type of signal handlers (int or void). */ +#undef RETSIGTYPE +#define RETSIGTYPE void + +/* Define if the setvbuf function takes the buffering type as its second + argument and the buffer pointer as the third, as on System V + before release 3. */ +/* #undef SETVBUF_REVERSED */ + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at run-time. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown + */ +/* #undef STACK_DIRECTION */ + +/* Define if the `S_IS*' macros in do not work properly. */ +/* #undef STAT_MACROS_BROKEN */ + +/* Define if you have the ANSI C header files. */ +#undef STDC_HEADERS +#define STDC_HEADERS 1 + +/* Define on System V Release 4. */ +/* #undef SVR4 */ + +/* Define if `sys_siglist' is declared by . */ +/* #undef SYS_SIGLIST_DECLARED */ + +/* Define to `int' if doesn't define. */ +#undef uid_t +#define uid_t int + +/* Define for Encore UMAX. */ +/* #undef UMAX */ + +/* Define for Encore UMAX 4.3 that has + instead of . */ +/* #undef UMAX4_3 */ + +/* Define vfork as fork if vfork does not work. */ +/* #undef vfork */ + +/* Name of this package (needed by automake) */ +#define PACKAGE "%PACKAGE%" + +/* Version of this package (needed by automake) */ +#define VERSION "%VERSION%" + +/* Define to the name of the SCCS `get' command. */ +#undef SCCS_GET +#define SCCS_GET "echo no sccs get" + +/* Define to 1 if NLS is requested. */ +/* #undef ENABLE_NLS */ + +/* Define as 1 if you have dcgettext. */ +/* #undef HAVE_DCGETTEXT */ + +/* Define as 1 if you have gettext and don't want to use GNU gettext. */ +/* #undef HAVE_GETTEXT */ + +/* Define if your locale.h file contains LC_MESSAGES. */ +/* #undef HAVE_LC_MESSAGES */ + +/* Define to the installation directory for locales. */ +#define LOCALEDIR "" + +/* Define this if the SCCS `get' command understands the `-G' option. */ +/* #undef SCCS_GET_MINUS_G */ + +/* Define this to enable job server support in GNU make. */ +/* #undef MAKE_JOBSERVER */ + +/* Define to be the nanoseconds member of struct stat's st_mtim, + if it exists. */ +/* #undef ST_MTIM_NSEC */ + +/* Define this if the C library defines the variable `sys_siglist'. */ +/* #undef HAVE_SYS_SIGLIST */ + +/* Define this if the C library defines the variable `_sys_siglist'. */ +/* #undef HAVE__SYS_SIGLIST */ + +/* Define this if you have the `union wait' type in . */ +/* #undef HAVE_UNION_WAIT */ + +/* Define if you have the dup2 function. */ +#undef HAVE_DUP2 +#define HAVE_DUP2 1 + +/* Define if you have the getcwd function. */ +#undef HAVE_GETCWD +#define HAVE_GETCWD 1 + +/* Define if you have the getgroups function. */ +/* #undef HAVE_GETGROUPS */ + +/* Define if you have the gethostbyname function. */ +/* #undef HAVE_GETHOSTBYNAME */ + +/* Define if you have the gethostname function. */ +/* #undef HAVE_GETHOSTNAME */ + +/* Define if you have the getloadavg function. */ +/* #undef HAVE_GETLOADAVG */ + +/* Define if you have the memmove function. */ +#undef HAVE_MEMMOVE +#define HAVE_MEMMOVE 1 + +/* Define if you have the mktemp function. */ +#undef HAVE_MKTEMP +#define HAVE_MKTEMP 1 + +/* Define if you have the psignal function. */ +/* #undef HAVE_PSIGNAL */ + +/* Define if you have the pstat_getdynamic function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define if you have the setegid function. */ +/* #undef HAVE_SETEGID */ + +/* Define if you have the seteuid function. */ +/* #undef HAVE_SETEUID */ + +/* Define if you have the setlinebuf function. */ +/* #undef HAVE_SETLINEBUF */ + +/* Define if you have the setregid function. */ +/* #undef HAVE_SETREGID */ + +/* Define if you have the setreuid function. */ +/* #undef HAVE_SETREUID */ + +/* Define if you have the sigsetmask function. */ +/* #undef HAVE_SIGSETMASK */ + +/* Define if you have the socket function. */ +/* #undef HAVE_SOCKET */ + +/* Define if you have the strcasecmp function. */ +/* #undef HAVE_STRCASECMP */ + +/* Define if you have the strerror function. */ +#undef HAVE_STRERROR +#define HAVE_STRERROR 1 + +/* Define if you have the strsignal function. */ +/* #undef HAVE_STRSIGNAL */ + +/* Define if you have the wait3 function. */ +/* #undef HAVE_WAIT3 */ + +/* Define if you have the waitpid function. */ +/* #undef HAVE_WAITPID */ + +/* Define if you have the header file. */ +#undef HAVE_DIRENT_H +#define HAVE_DIRENT_H 1 + +/* Define if you have the header file. */ +#undef HAVE_FCNTL_H +#define HAVE_FCNTL_H 1 + +/* Define if you have the header file. */ +#undef HAVE_LIMITS_H +#define HAVE_LIMITS_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_MACH_MACH_H */ + +/* Define if you have the header file. */ +#undef HAVE_MEMORY_H +#define HAVE_MEMORY_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_NDIR_H */ + +/* Define if you have the header file. */ +#undef HAVE_STRING_H +#define HAVE_STRING_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_DIR_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_NDIR_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_PARAM_H */ + +/* Define if you have the header file. */ +#undef HAVE_SYS_TIMEB_H +#define HAVE_SYS_TIMEB_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_WAIT_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_UNISTD_H */ + +/* Define if you have the dgc library (-ldgc). */ +/* #undef HAVE_LIBDGC */ + +/* Define if you have the kstat library (-lkstat). */ +/* #undef HAVE_LIBKSTAT */ + +/* Define if you have the sun library (-lsun). */ +/* #undef HAVE_LIBSUN */ + +/* Use high resolution file timestamps if nonzero. */ +#define FILE_TIMESTAMP_HI_RES 0 + +/* Build host information. */ +#define MAKE_HOST "Windows32" + +/* Grok DOS paths (drive specs and backslash path element separators) */ +#define HAVE_DOS_PATHS + +/* + * Refer to README.W32 for info on the following settings + */ + +/* + * If you have a shell that does not grok 'sh -c quoted-command-line' + * correctly, you need this setting. Please see below for specific + * shell support. + */ +#undef BATCH_MODE_ONLY_SHELL +#define BATCH_MODE_ONLY_SHELL 1 + +/* + * Define if you have the Cygnus "Cygwin" GNU Windows32 tool set. + * Do NOT define BATCH_MODE_ONLY_SHELL if you define HAVE_CYGWIN_SHELL + */ +#undef HAVE_CYGWIN_SHELL + +/* + * Define if you have the MKS tool set or shell. Do NOT define + * BATCH_MODE_ONLY_SHELL if you define HAVE_MKS_SHELL + */ +#undef HAVE_MKS_SHELL + +/* + * Enforce the mutual exclusivity restriction. + */ +#ifdef HAVE_MKS_SHELL +#undef BATCH_MODE_ONLY_SHELL +#endif + +#ifdef HAVE_CYGWIN_SHELL +#undef BATCH_MODE_ONLY_SHELL +#endif + +/* Define if you prefer Case Insensitive behavior */ +#undef HAVE_CASE_INSENSITIVE_FS diff --git a/src/mkutil/make/config/.cvsignore b/src/mkutil/make/config/.cvsignore deleted file mode 100644 index 3fa7c2f2..00000000 --- a/src/mkutil/make/config/.cvsignore +++ /dev/null @@ -1,4 +0,0 @@ -*.m4 -config.* - -Makefile Makefile.in diff --git a/src/mkutil/make/config/CVS/Entries b/src/mkutil/make/config/CVS/Entries index b4f589e7..e630074f 100644 --- a/src/mkutil/make/config/CVS/Entries +++ b/src/mkutil/make/config/CVS/Entries @@ -1,5 +1,4 @@ -/.cvsignore/1.1/Wed Sep 11 16:55:45 2002// -/ChangeLog/1.2/Fri May 2 01:45:00 2003// -/Makefile.am/1.3/Tue Mar 25 03:21:43 2003// -/dospaths.m4/1.1/Fri May 2 01:45:00 2003// -D +/ChangeLog/1.1.1.1/Mon Nov 17 19:06:10 2003// +/Makefile.am/1.1.1.1/Mon Nov 17 19:06:10 2003// +/dospaths.m4/1.1.1.1/Mon Nov 17 19:06:10 2003// +D diff --git a/src/mkutil/make/config/CVS/Repository b/src/mkutil/make/config/CVS/Repository index e9360311..49ba5e6a 100644 --- a/src/mkutil/make/config/CVS/Repository +++ b/src/mkutil/make/config/CVS/Repository @@ -1 +1 @@ -make/config +uzi/src/mkutil/make/config diff --git a/src/mkutil/make/config/CVS/Root b/src/mkutil/make/config/CVS/Root index 132093b8..933b8194 100644 --- a/src/mkutil/make/config/CVS/Root +++ b/src/mkutil/make/config/CVS/Root @@ -1 +1 @@ -:pserver:anoncvs@subversions.gnu.org:/cvsroot/make +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/make/config/ChangeLog b/src/mkutil/make/config/ChangeLog index 31921775..4391f38a 100644 --- a/src/mkutil/make/config/ChangeLog +++ b/src/mkutil/make/config/ChangeLog @@ -1,19 +1,19 @@ -2003-04-30 Paul D. Smith - - * dospaths.m4: New macro to test for DOS-style pathnames, based on - coreutils 5.0 "dos.m4" by Jim Meyering. - -2002-04-21 gettextize - - * codeset.m4: New file, from gettext-0.11.1. - * gettext.m4: New file, from gettext-0.11.1. - * glibc21.m4: New file, from gettext-0.11.1. - * iconv.m4: New file, from gettext-0.11.1. - * isc-posix.m4: New file, from gettext-0.11.1. - * lcmessage.m4: New file, from gettext-0.11.1. - * lib-ld.m4: New file, from gettext-0.11.1. - * lib-link.m4: New file, from gettext-0.11.1. - * lib-prefix.m4: New file, from gettext-0.11.1. - * progtest.m4: New file, from gettext-0.11.1. - * Makefile.am: New file. - +2003-04-30 Paul D. Smith + + * dospaths.m4: New macro to test for DOS-style pathnames, based on + coreutils 5.0 "dos.m4" by Jim Meyering. + +2002-04-21 gettextize + + * codeset.m4: New file, from gettext-0.11.1. + * gettext.m4: New file, from gettext-0.11.1. + * glibc21.m4: New file, from gettext-0.11.1. + * iconv.m4: New file, from gettext-0.11.1. + * isc-posix.m4: New file, from gettext-0.11.1. + * lcmessage.m4: New file, from gettext-0.11.1. + * lib-ld.m4: New file, from gettext-0.11.1. + * lib-link.m4: New file, from gettext-0.11.1. + * lib-prefix.m4: New file, from gettext-0.11.1. + * progtest.m4: New file, from gettext-0.11.1. + * Makefile.am: New file. + diff --git a/src/mkutil/make/config/Makefile.am b/src/mkutil/make/config/Makefile.am index 0a4e3c7e..2fe7cf95 100644 --- a/src/mkutil/make/config/Makefile.am +++ b/src/mkutil/make/config/Makefile.am @@ -1,8 +1,8 @@ -# -*-Makefile-*-, or close enough - -AUTOMAKE_OPTIONS = 1.7.3 - -EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 \ - intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 \ - isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 \ - progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 +# -*-Makefile-*-, or close enough + +AUTOMAKE_OPTIONS = 1.7.3 + +EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 \ + intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 \ + isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 \ + progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 diff --git a/src/mkutil/make/config/dospaths.m4 b/src/mkutil/make/config/dospaths.m4 index 3cadbbfc..6f97bf69 100644 --- a/src/mkutil/make/config/dospaths.m4 +++ b/src/mkutil/make/config/dospaths.m4 @@ -1,21 +1,21 @@ -# Test if the system uses DOS-style pathnames (drive specs and backslashes) -# By Paul Smith . Based on dos.m4 by Jim Meyering. - -AC_DEFUN([pds_AC_DOS_PATHS], - [ - AC_CACHE_CHECK([whether system uses MSDOS-style paths], [ac_cv_dos_paths], - [ - AC_COMPILE_IFELSE([ -#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __EMX__ -neither MSDOS nor Windows nor OS2 -#endif -], - [ac_cv_dos_paths=yes], - [ac_cv_dos_paths=no]) - ]) - - if test x"$ac_cv_dos_paths" = xyes; then - AC_DEFINE_UNQUOTED([HAVE_DOS_PATHS], 1, - [Define if the system uses DOS-style pathnames.]) - fi - ]) +# Test if the system uses DOS-style pathnames (drive specs and backslashes) +# By Paul Smith . Based on dos.m4 by Jim Meyering. + +AC_DEFUN([pds_AC_DOS_PATHS], + [ + AC_CACHE_CHECK([whether system uses MSDOS-style paths], [ac_cv_dos_paths], + [ + AC_COMPILE_IFELSE([ +#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __EMX__ +neither MSDOS nor Windows nor OS2 +#endif +], + [ac_cv_dos_paths=yes], + [ac_cv_dos_paths=no]) + ]) + + if test x"$ac_cv_dos_paths" = xyes; then + AC_DEFINE_UNQUOTED([HAVE_DOS_PATHS], 1, + [Define if the system uses DOS-style pathnames.]) + fi + ]) diff --git a/src/mkutil/make/configh.dos.template b/src/mkutil/make/configh.dos.template index 40ef7705..c993ea83 100644 --- a/src/mkutil/make/configh.dos.template +++ b/src/mkutil/make/configh.dos.template @@ -1,94 +1,94 @@ - -/* Many things are defined already by a system header. */ -#include - -#if __DJGPP__ > 2 || __DJGPP_MINOR__ > 1 - -/* Define if `sys_siglist' is declared by . */ -# define SYS_SIGLIST_DECLARED 1 - -/* Define this if the C library defines the variable `_sys_siglist'. */ -# define HAVE_SYS_SIGLIST 1 - -#else - -/* Define NSIG. */ -# define NSIG SIGMAX - -#endif - -/* Use high resolution file timestamps if nonzero. */ -#define FILE_TIMESTAMP_HI_RES 0 - -/* Define to 1 if you have `alloca', as a function or macro. */ -#define HAVE_ALLOCA 1 - -/* Define if you have the fdopen function. */ -#define HAVE_FDOPEN 1 - -/* Define to 1 if you have the `getgroups' function. */ -#define HAVE_GETGROUPS 1 - -/* Define if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define if you have the mkstemp function. */ -#define HAVE_MKSTEMP 1 - -/* Define to 1 if you have the `mktemp' function. */ -#define HAVE_MKTEMP 1 - -/* Define to 1 if you have the `setlinebuf' function. */ -#define HAVE_SETLINEBUF 1 - -/* Define to 1 if you have the `setvbuf' function. */ -#define HAVE_SETVBUF 1 - -#define SCCS_GET "get" - -/* Define to `unsigned long' or `unsigned long long' - if doesn't define. */ -#define uintmax_t unsigned long long - -/* Define the type of the first arg to select(). */ -#define fd_set_size_t int - -/* Define if you have the select function. */ -#define HAVE_SELECT 1 - -/* Define if you have the vprintf library function. */ -#undef HAVE_VPRINTF -#define HAVE_VPRINTF 1 - -/* Name of the package */ -#define PACKAGE "%PACKAGE%" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "bug-%PACKAGE%@gnu.org" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "GNU %PACKAGE%" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU %PACKAGE% %VERSION%" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "%PACKAGE%" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "%VERSION%" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 - -/* Define to 1 if `sys_siglist' is declared by or . */ -#define SYS_SIGLIST_DECLARED 1 - -/* Version number of package */ -#define VERSION "%VERSION%" - -/* Build host information. */ -#define MAKE_HOST "i386-pc-msdosdjgpp" - -/* Grok DOS paths (drive specs and backslash path element separators) */ -#define HAVE_DOS_PATHS + +/* Many things are defined already by a system header. */ +#include + +#if __DJGPP__ > 2 || __DJGPP_MINOR__ > 1 + +/* Define if `sys_siglist' is declared by . */ +# define SYS_SIGLIST_DECLARED 1 + +/* Define this if the C library defines the variable `_sys_siglist'. */ +# define HAVE_SYS_SIGLIST 1 + +#else + +/* Define NSIG. */ +# define NSIG SIGMAX + +#endif + +/* Use high resolution file timestamps if nonzero. */ +#define FILE_TIMESTAMP_HI_RES 0 + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define if you have the fdopen function. */ +#define HAVE_FDOPEN 1 + +/* Define to 1 if you have the `getgroups' function. */ +#define HAVE_GETGROUPS 1 + +/* Define if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define if you have the mkstemp function. */ +#define HAVE_MKSTEMP 1 + +/* Define to 1 if you have the `mktemp' function. */ +#define HAVE_MKTEMP 1 + +/* Define to 1 if you have the `setlinebuf' function. */ +#define HAVE_SETLINEBUF 1 + +/* Define to 1 if you have the `setvbuf' function. */ +#define HAVE_SETVBUF 1 + +#define SCCS_GET "get" + +/* Define to `unsigned long' or `unsigned long long' + if doesn't define. */ +#define uintmax_t unsigned long long + +/* Define the type of the first arg to select(). */ +#define fd_set_size_t int + +/* Define if you have the select function. */ +#define HAVE_SELECT 1 + +/* Define if you have the vprintf library function. */ +#undef HAVE_VPRINTF +#define HAVE_VPRINTF 1 + +/* Name of the package */ +#define PACKAGE "%PACKAGE%" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "bug-%PACKAGE%@gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU %PACKAGE%" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU %PACKAGE% %VERSION%" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "%PACKAGE%" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "%VERSION%" + +/* Define to 1 if the C compiler supports function prototypes. */ +#define PROTOTYPES 1 + +/* Define to 1 if `sys_siglist' is declared by or . */ +#define SYS_SIGLIST_DECLARED 1 + +/* Version number of package */ +#define VERSION "%VERSION%" + +/* Build host information. */ +#define MAKE_HOST "i386-pc-msdosdjgpp" + +/* Grok DOS paths (drive specs and backslash path element separators) */ +#define HAVE_DOS_PATHS diff --git a/src/mkutil/make/configure.in b/src/mkutil/make/configure.in index 9d8d07b8..cd365095 100644 --- a/src/mkutil/make/configure.in +++ b/src/mkutil/make/configure.in @@ -1,395 +1,395 @@ -# Process this file with autoconf to produce a configure script. - -AC_INIT([GNU make],[3.81a2],[bug-make@gnu.org]) - -AC_PREREQ(2.57) - -AC_REVISION([[$Id: configure.in,v 1.119 2003/05/02 01:44:59 psmith Exp $]]) - -# Autoconf setup -AC_CONFIG_AUX_DIR(config) -AC_CONFIG_SRCDIR(vpath.c) -AC_CONFIG_HEADERS(config.h) - -# Automake setup -AM_INIT_AUTOMAKE -AC_PROG_MAKE_SET - -# Checks for programs. -AC_PROG_CC -AC_PROG_INSTALL -AC_PROG_RANLIB -AC_PROG_CPP -AC_CHECK_PROG(AR, ar, ar, ar) -# Perl is needed for the test suite (only) -AC_CHECK_PROG(PERL, perl, perl, perl) - -# Specialized system macros -AC_CANONICAL_HOST -AC_AIX -AC_ISC_POSIX -AC_MINIX - -# Needed for ansi2knr -AM_C_PROTOTYPES - -# Enable gettext, in "external" mode. - -AM_GNU_GETTEXT_VERSION(0.11.5) -AM_GNU_GETTEXT([external]) - -# This test must come as early as possible after the compiler configuration -# tests, because the choice of the file model can (in principle) affect -# whether functions and headers are available, whether they work, etc. -AC_SYS_LARGEFILE - -# Checks for libraries. -AC_SEARCH_LIBS(getpwnam, [sun]) - -# Checks for header files. -AC_HEADER_STDC -AC_HEADER_DIRENT -AC_HEADER_STAT -AC_HEADER_TIME -AC_CHECK_HEADERS(stdlib.h locale.h unistd.h limits.h fcntl.h string.h \ - memory.h sys/param.h sys/time.h sys/timeb.h) - -AM_PROG_CC_C_O -AM_PROG_CC_STDC -AC_C_CONST -AC_TYPE_SIGNAL -AC_TYPE_UID_T -AC_TYPE_PID_T - -# Find some definition for uintmax_t - -AC_CHECK_TYPE(uintmax_t,,[ - uintmax_t="unsigned long" - AC_CHECK_TYPE(unsigned long long,[uintmax_t="unsigned long long"]) - AC_DEFINE_UNQUOTED(uintmax_t,$uintmax_t, - [Define uintmax_t if not defined in or .])]) - -# Find out whether our struct stat returns nanosecond resolution timestamps. - -AC_STRUCT_ST_MTIM_NSEC -AC_MSG_CHECKING([whether to use high resolution file timestamps]) -AC_CACHE_VAL(make_cv_file_timestamp_hi_res, [ - make_cv_file_timestamp_hi_res=no - if test "$ac_cv_struct_st_mtim_nsec" != no; then - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -# if HAVE_INTTYPES_H -# include -# endif]], - [[char a[0x7fffffff < (uintmax_t)-1 >> 30 ? 1 : -1];]])], - [make_cv_file_timestamp_hi_res=yes], - []) - fi]) -AC_MSG_RESULT($make_cv_file_timestamp_hi_res) -if test "$make_cv_file_timestamp_hi_res" = yes; then - val=1 -else - val=0 -fi -AC_DEFINE_UNQUOTED(FILE_TIMESTAMP_HI_RES, $val, - [Use high resolution file timestamps if nonzero.]) - -if test "$make_cv_file_timestamp_hi_res" = yes; then - # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function. - # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. - AC_SEARCH_LIBS(clock_gettime, [rt posix4]) - if test "$ac_cv_search_clock_gettime" != no; then - AC_DEFINE(HAVE_CLOCK_GETTIME, 1, - [Define if you have the clock_gettime function.]) - fi -fi - -# Check for DOS-style pathnames. -pds_AC_DOS_PATHS - -# See if we have a standard version of gettimeofday(). Since actual -# implementations can differ, just make sure we have the most common -# one. -AC_CACHE_CHECK([for standard gettimeofday], ac_cv_func_gettimeofday, - [ac_cv_func_gettimeofday=no - AC_RUN_IFELSE([AC_LANG_SOURCE([[#include - int main () - { - struct timeval t; t.tv_sec = -1; t.tv_usec = -1; - exit (gettimeofday (&t, 0) != 0 - || t.tv_sec < 0 || t.tv_usec < 0); - }]])], - [ac_cv_func_gettimeofday=yes], - [ac_cv_func_gettimeofday=no], - [ac_cv_func_gettimeofday="no (cross-compiling)"])]) -if test "$ac_cv_func_gettimeofday" = yes; then - AC_DEFINE(HAVE_GETTIMEOFDAY, 1, - [Define if you have a standard gettimeofday function]) -fi - -AC_CHECK_FUNCS( memcpy memmove strchr strdup mkstemp mktemp fdopen \ - bsd_signal dup2 getcwd sigsetmask sigaction getgroups \ - seteuid setegid setlinebuf setreuid setregid setvbuf pipe \ - strerror strsignal) - -make_FUNC_SETVBUF_REVERSED - -# strcoll() is used by the GNU glob library -AC_FUNC_STRCOLL - -AC_FUNC_ALLOCA -AC_FUNC_FORK([]) -AC_FUNC_VPRINTF -AC_FUNC_CLOSEDIR_VOID - -AC_FUNC_GETLOADAVG - -# AC_FUNC_GETLOADAVG is documented to set the NLIST_STRUCT value, but it -# doesn't. So, we will. - -if test "$ac_cv_header_nlist_h" = yes; then - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], - [[struct nlist nl; - nl.n_name = "string"; - return 0;]])], - [make_cv_nlist_struct=yes], - [make_cv_nlist_struct=no]) - if test "$make_cv_nlist_struct" = yes; then - AC_DEFINE(NLIST_STRUCT, 1, - [Define if struct nlist.n_name is a pointer rather than an array.]) - fi -fi - -AC_CHECK_DECLS([sys_siglist]) - - -# Check out the wait reality. -AC_CHECK_HEADERS(sys/wait.h) -AC_CHECK_FUNCS(waitpid wait3) -AC_MSG_CHECKING(for union wait) -AC_CACHE_VAL(make_cv_union_wait, [dnl - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include -#include ]], - [[union wait status; int pid; pid = wait (&status); -#ifdef WEXITSTATUS -/* Some POSIXoid systems have both the new-style macros and the old - union wait type, and they do not work together. If union wait - conflicts with WEXITSTATUS et al, we don't want to use it at all. */ - if (WEXITSTATUS (status) != 0) pid = -1; -#ifdef WTERMSIG - /* If we have WEXITSTATUS and WTERMSIG, just use them on ints. */ - -- blow chunks here -- -#endif -#endif -#ifdef HAVE_WAITPID - /* Make sure union wait works with waitpid. */ - pid = waitpid (-1, &status, 0); -#endif - ]])], - [make_cv_union_wait=yes], - [make_cv_union_wait=no])]) -if test "$make_cv_union_wait" = yes; then - AC_DEFINE(HAVE_UNION_WAIT, 1, - [Define this if you have the \`union wait' type in .]) -fi -AC_MSG_RESULT($make_cv_union_wait) - - -# If we're building on Windows/DOS/OS/2, add some support for DOS drive specs. -if test "$PATH_SEPARATOR" = ';'; then - AC_DEFINE(HAVE_DOS_PATHS, 1, - [Define this if your system requires backslashes or drive specs in pathnames.]) -fi - - -# See if the user wants to use pmake's "customs" distributed build capability - -AC_SUBST(REMOTE) REMOTE=stub -use_customs=false -AC_ARG_WITH(customs, - AC_HELP_STRING([--with-customs=DIR], - [enable remote jobs via Customs--see README.customs]), - [case $withval in - n|no) : ;; - *) make_cppflags="$CPPFLAGS" - case $withval in - y|ye|yes) : ;; - *) CPPFLAGS="$CPPFLAGS -I$with_customs/include/customs" - make_ldflags="$LDFLAGS -L$with_customs/lib" ;; - esac - CF_NETLIBS - AC_CHECK_HEADER(customs.h, - [use_customs=true - REMOTE=cstms - LIBS="$LIBS -lcustoms" LDFLAGS="$make_ldflags"], - [with_customs=no - CPPFLAGS="$make_cppflags" make_badcust=yes]) - ;; - esac]) -# Tell automake about this, so it can include the right .c files. -AM_CONDITIONAL(USE_CUSTOMS, test "$use_customs" = true) - -# See if we can handle the job server feature, and if the user wants it. - -AC_ARG_ENABLE(job-server, - AC_HELP_STRING([--disable-job-server], - [disallow recursive make communication during -jN]), - [make_cv_job_server="$enableval" user_job_server="$enableval"], - [make_cv_job_server="yes"]) - -has_wait_nohang=yes -case "$ac_cv_func_waitpid/$ac_cv_func_wait3" in - no/no) has_wait_nohang=no ;; -esac - -AC_CACHE_CHECK(for SA_RESTART, make_cv_sa_restart, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], - [[return SA_RESTART;]])], - [make_cv_sa_restart=yes], - [make_cv_sa_restart=no])]) -if test "$make_cv_sa_restart" != no; then - AC_DEFINE(HAVE_SA_RESTART, 1, - [Define if defines the SA_RESTART constant.]) -fi - -case "$ac_cv_func_pipe/$ac_cv_func_sigaction/$make_cv_sa_restart/$has_wait_nohang/$make_cv_job_server" in - yes/yes/yes/yes/yes) - AC_DEFINE(MAKE_JOBSERVER, 1, - [Define this to enable job server support in GNU make.]);; -esac - -# Find the SCCS commands, so we can include them in our default rules. - -AC_CACHE_CHECK(for location of SCCS get command, make_cv_path_sccs_get, [ -if test -f /usr/sccs/get; then - make_cv_path_sccs_get=/usr/sccs/get -else - make_cv_path_sccs_get=get -fi]) -AC_DEFINE_UNQUOTED(SCCS_GET, ["$make_cv_path_sccs_get"], - [Define to the name of the SCCS 'get' command.]) - -ac_clean_files="$ac_clean_files s.conftest conftoast" # Remove these later. -if ( /usr/sccs/admin -n s.conftest || admin -n s.conftest ) >/dev/null 2>&1 && - test -f s.conftest; then - # We successfully created an SCCS file. - AC_CACHE_CHECK(if SCCS get command understands -G, make_cv_sys_get_minus_G, [ - if $make_cv_path_sccs_get -Gconftoast s.conftest >/dev/null 2>&1 && - test -f conftoast; then - make_cv_sys_get_minus_G=yes - else - make_cv_sys_get_minus_G=no - fi]) - case "$make_cv_sys_get_minus_G" in - yes) AC_DEFINE(SCCS_GET_MINUS_G, 1, - [Define this if the SCCS 'get' command understands the '-G' option.]);; - esac -fi -rm -f s.conftest conftoast - -# Check the system to see if it provides GNU glob. If not, use our -# local version. - -AC_MSG_CHECKING(if system libc has GNU glob) -AC_CACHE_VAL(make_cv_sys_gnu_glob, [ - AC_EGREP_CPP(gnu glob,[ -#include -#include -#include - -#define GLOB_INTERFACE_VERSION 1 -#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 -# include -# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION - gnu glob -# endif -#endif - ], [AC_MSG_RESULT(yes) -make_cv_sys_gnu_glob=yes], [AC_MSG_RESULT([no; using local copy]) -AC_SUBST(GLOBINC) GLOBINC='-I$(srcdir)/glob' -AC_SUBST(GLOBLIB) GLOBLIB=glob/libglob.a -make_cv_sys_gnu_glob=no])]) -# Tell automake about this, so it can build the right .c files. -AM_CONDITIONAL(USE_LOCAL_GLOB, test "$make_cv_sys_gnu_glob" = no) - -# Let the makefile know what our build host is - -AC_DEFINE_UNQUOTED(MAKE_HOST,"$host",[Build host information.]) -MAKE_HOST="$host" -AC_SUBST(MAKE_HOST) - -# Include the Maintainer's Makefile section, if it's here. - -MAINT_MAKEFILE=/dev/null -if test -r "$srcdir/maintMakefile"; then - MAINT_MAKEFILE="$srcdir/maintMakefile" -fi -AC_SUBST_FILE(MAINT_MAKEFILE) - -# Allow building with dmalloc -AM_WITH_DMALLOC - - -# Sanity check and inform the user of what we found - -case "$make_badcust" in - yes) echo - echo "WARNING: --with-customs specified but no customs.h could be found;" - echo " disabling Customs support." - echo ;; -esac - -case "$with_customs" in - ""|n|no|y|ye|yes) ;; - *) if test -f "$with_customs/lib/libcustoms.a"; then - : - else - echo - echo "WARNING: '$with_customs/lib' does not appear to contain the" - echo " Customs library. You must build and install Customs" - echo " before compiling GNU make." - echo - fi ;; -esac - -case "$has_wait_nohang" in - no) echo - echo "WARNING: Your system has neither waitpid() nor wait3()." - echo " Without one of these, signal handling is unreliable." - echo " You should be aware that running GNU make with -j" - echo " could result in erratic behavior." - echo ;; -esac - -case "$make_cv_job_server/$user_job_server" in - no/yes) echo - echo "WARNING: Make job server requires a POSIX-ish system that" - echo " supports the pipe(), sigaction(), and either" - echo " waitpid() or wait3() functions. Your system doesn't" - echo " appear to provide one or more of those." - echo " Disabling job server support." - echo ;; -esac - - -# Specify what files are to be created. -# We only generate the build.sh if we have a build.sh.in; we won't have -# one before we've created a distribution. - -AC_CONFIG_FILES(Makefile glob/Makefile po/Makefile.in config/Makefile doc/Makefile) - -if test -f $srcdir/build.sh.in; then - AC_CONFIG_FILES(build.sh) -fi - - -# OK, do it! - -AC_OUTPUT - - -dnl Local Variables: -dnl comment-start: "dnl " -dnl comment-end: "" -dnl comment-start-skip: "\\bdnl\\b\\s *" -dnl compile-command: "make configure config.h.in" -dnl End: +# Process this file with autoconf to produce a configure script. + +AC_INIT([GNU make],[3.81a2],[bug-make@gnu.org]) + +AC_PREREQ(2.57) + +AC_REVISION([[$Id: configure.in,v 1.1.1.1 2003/11/17 19:06:08 nick Exp $]]) + +# Autoconf setup +AC_CONFIG_AUX_DIR(config) +AC_CONFIG_SRCDIR(vpath.c) +AC_CONFIG_HEADERS(config.h) + +# Automake setup +AM_INIT_AUTOMAKE +AC_PROG_MAKE_SET + +# Checks for programs. +AC_PROG_CC +AC_PROG_INSTALL +AC_PROG_RANLIB +AC_PROG_CPP +AC_CHECK_PROG(AR, ar, ar, ar) +# Perl is needed for the test suite (only) +AC_CHECK_PROG(PERL, perl, perl, perl) + +# Specialized system macros +AC_CANONICAL_HOST +AC_AIX +AC_ISC_POSIX +AC_MINIX + +# Needed for ansi2knr +AM_C_PROTOTYPES + +# Enable gettext, in "external" mode. + +AM_GNU_GETTEXT_VERSION(0.11.5) +AM_GNU_GETTEXT([external]) + +# This test must come as early as possible after the compiler configuration +# tests, because the choice of the file model can (in principle) affect +# whether functions and headers are available, whether they work, etc. +AC_SYS_LARGEFILE + +# Checks for libraries. +AC_SEARCH_LIBS(getpwnam, [sun]) + +# Checks for header files. +AC_HEADER_STDC +AC_HEADER_DIRENT +AC_HEADER_STAT +AC_HEADER_TIME +AC_CHECK_HEADERS(stdlib.h locale.h unistd.h limits.h fcntl.h string.h \ + memory.h sys/param.h sys/time.h sys/timeb.h) + +AM_PROG_CC_C_O +AM_PROG_CC_STDC +AC_C_CONST +AC_TYPE_SIGNAL +AC_TYPE_UID_T +AC_TYPE_PID_T + +# Find some definition for uintmax_t + +AC_CHECK_TYPE(uintmax_t,,[ + uintmax_t="unsigned long" + AC_CHECK_TYPE(unsigned long long,[uintmax_t="unsigned long long"]) + AC_DEFINE_UNQUOTED(uintmax_t,$uintmax_t, + [Define uintmax_t if not defined in or .])]) + +# Find out whether our struct stat returns nanosecond resolution timestamps. + +AC_STRUCT_ST_MTIM_NSEC +AC_MSG_CHECKING([whether to use high resolution file timestamps]) +AC_CACHE_VAL(make_cv_file_timestamp_hi_res, [ + make_cv_file_timestamp_hi_res=no + if test "$ac_cv_struct_st_mtim_nsec" != no; then + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +# if HAVE_INTTYPES_H +# include +# endif]], + [[char a[0x7fffffff < (uintmax_t)-1 >> 30 ? 1 : -1];]])], + [make_cv_file_timestamp_hi_res=yes], + []) + fi]) +AC_MSG_RESULT($make_cv_file_timestamp_hi_res) +if test "$make_cv_file_timestamp_hi_res" = yes; then + val=1 +else + val=0 +fi +AC_DEFINE_UNQUOTED(FILE_TIMESTAMP_HI_RES, $val, + [Use high resolution file timestamps if nonzero.]) + +if test "$make_cv_file_timestamp_hi_res" = yes; then + # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function. + # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. + AC_SEARCH_LIBS(clock_gettime, [rt posix4]) + if test "$ac_cv_search_clock_gettime" != no; then + AC_DEFINE(HAVE_CLOCK_GETTIME, 1, + [Define if you have the clock_gettime function.]) + fi +fi + +# Check for DOS-style pathnames. +pds_AC_DOS_PATHS + +# See if we have a standard version of gettimeofday(). Since actual +# implementations can differ, just make sure we have the most common +# one. +AC_CACHE_CHECK([for standard gettimeofday], ac_cv_func_gettimeofday, + [ac_cv_func_gettimeofday=no + AC_RUN_IFELSE([AC_LANG_SOURCE([[#include + int main () + { + struct timeval t; t.tv_sec = -1; t.tv_usec = -1; + exit (gettimeofday (&t, 0) != 0 + || t.tv_sec < 0 || t.tv_usec < 0); + }]])], + [ac_cv_func_gettimeofday=yes], + [ac_cv_func_gettimeofday=no], + [ac_cv_func_gettimeofday="no (cross-compiling)"])]) +if test "$ac_cv_func_gettimeofday" = yes; then + AC_DEFINE(HAVE_GETTIMEOFDAY, 1, + [Define if you have a standard gettimeofday function]) +fi + +AC_CHECK_FUNCS( memcpy memmove strchr strdup mkstemp mktemp fdopen \ + bsd_signal dup2 getcwd sigsetmask sigaction getgroups \ + seteuid setegid setlinebuf setreuid setregid setvbuf pipe \ + strerror strsignal) + +make_FUNC_SETVBUF_REVERSED + +# strcoll() is used by the GNU glob library +AC_FUNC_STRCOLL + +AC_FUNC_ALLOCA +AC_FUNC_FORK([]) +AC_FUNC_VPRINTF +AC_FUNC_CLOSEDIR_VOID + +AC_FUNC_GETLOADAVG + +# AC_FUNC_GETLOADAVG is documented to set the NLIST_STRUCT value, but it +# doesn't. So, we will. + +if test "$ac_cv_header_nlist_h" = yes; then + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], + [[struct nlist nl; + nl.n_name = "string"; + return 0;]])], + [make_cv_nlist_struct=yes], + [make_cv_nlist_struct=no]) + if test "$make_cv_nlist_struct" = yes; then + AC_DEFINE(NLIST_STRUCT, 1, + [Define if struct nlist.n_name is a pointer rather than an array.]) + fi +fi + +AC_CHECK_DECLS([sys_siglist]) + + +# Check out the wait reality. +AC_CHECK_HEADERS(sys/wait.h) +AC_CHECK_FUNCS(waitpid wait3) +AC_MSG_CHECKING(for union wait) +AC_CACHE_VAL(make_cv_union_wait, [dnl + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include +#include ]], + [[union wait status; int pid; pid = wait (&status); +#ifdef WEXITSTATUS +/* Some POSIXoid systems have both the new-style macros and the old + union wait type, and they do not work together. If union wait + conflicts with WEXITSTATUS et al, we don't want to use it at all. */ + if (WEXITSTATUS (status) != 0) pid = -1; +#ifdef WTERMSIG + /* If we have WEXITSTATUS and WTERMSIG, just use them on ints. */ + -- blow chunks here -- +#endif +#endif +#ifdef HAVE_WAITPID + /* Make sure union wait works with waitpid. */ + pid = waitpid (-1, &status, 0); +#endif + ]])], + [make_cv_union_wait=yes], + [make_cv_union_wait=no])]) +if test "$make_cv_union_wait" = yes; then + AC_DEFINE(HAVE_UNION_WAIT, 1, + [Define this if you have the \`union wait' type in .]) +fi +AC_MSG_RESULT($make_cv_union_wait) + + +# If we're building on Windows/DOS/OS/2, add some support for DOS drive specs. +if test "$PATH_SEPARATOR" = ';'; then + AC_DEFINE(HAVE_DOS_PATHS, 1, + [Define this if your system requires backslashes or drive specs in pathnames.]) +fi + + +# See if the user wants to use pmake's "customs" distributed build capability + +AC_SUBST(REMOTE) REMOTE=stub +use_customs=false +AC_ARG_WITH(customs, + AC_HELP_STRING([--with-customs=DIR], + [enable remote jobs via Customs--see README.customs]), + [case $withval in + n|no) : ;; + *) make_cppflags="$CPPFLAGS" + case $withval in + y|ye|yes) : ;; + *) CPPFLAGS="$CPPFLAGS -I$with_customs/include/customs" + make_ldflags="$LDFLAGS -L$with_customs/lib" ;; + esac + CF_NETLIBS + AC_CHECK_HEADER(customs.h, + [use_customs=true + REMOTE=cstms + LIBS="$LIBS -lcustoms" LDFLAGS="$make_ldflags"], + [with_customs=no + CPPFLAGS="$make_cppflags" make_badcust=yes]) + ;; + esac]) +# Tell automake about this, so it can include the right .c files. +AM_CONDITIONAL(USE_CUSTOMS, test "$use_customs" = true) + +# See if we can handle the job server feature, and if the user wants it. + +AC_ARG_ENABLE(job-server, + AC_HELP_STRING([--disable-job-server], + [disallow recursive make communication during -jN]), + [make_cv_job_server="$enableval" user_job_server="$enableval"], + [make_cv_job_server="yes"]) + +has_wait_nohang=yes +case "$ac_cv_func_waitpid/$ac_cv_func_wait3" in + no/no) has_wait_nohang=no ;; +esac + +AC_CACHE_CHECK(for SA_RESTART, make_cv_sa_restart, [ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], + [[return SA_RESTART;]])], + [make_cv_sa_restart=yes], + [make_cv_sa_restart=no])]) +if test "$make_cv_sa_restart" != no; then + AC_DEFINE(HAVE_SA_RESTART, 1, + [Define if defines the SA_RESTART constant.]) +fi + +case "$ac_cv_func_pipe/$ac_cv_func_sigaction/$make_cv_sa_restart/$has_wait_nohang/$make_cv_job_server" in + yes/yes/yes/yes/yes) + AC_DEFINE(MAKE_JOBSERVER, 1, + [Define this to enable job server support in GNU make.]);; +esac + +# Find the SCCS commands, so we can include them in our default rules. + +AC_CACHE_CHECK(for location of SCCS get command, make_cv_path_sccs_get, [ +if test -f /usr/sccs/get; then + make_cv_path_sccs_get=/usr/sccs/get +else + make_cv_path_sccs_get=get +fi]) +AC_DEFINE_UNQUOTED(SCCS_GET, ["$make_cv_path_sccs_get"], + [Define to the name of the SCCS 'get' command.]) + +ac_clean_files="$ac_clean_files s.conftest conftoast" # Remove these later. +if ( /usr/sccs/admin -n s.conftest || admin -n s.conftest ) >/dev/null 2>&1 && + test -f s.conftest; then + # We successfully created an SCCS file. + AC_CACHE_CHECK(if SCCS get command understands -G, make_cv_sys_get_minus_G, [ + if $make_cv_path_sccs_get -Gconftoast s.conftest >/dev/null 2>&1 && + test -f conftoast; then + make_cv_sys_get_minus_G=yes + else + make_cv_sys_get_minus_G=no + fi]) + case "$make_cv_sys_get_minus_G" in + yes) AC_DEFINE(SCCS_GET_MINUS_G, 1, + [Define this if the SCCS 'get' command understands the '-G' option.]);; + esac +fi +rm -f s.conftest conftoast + +# Check the system to see if it provides GNU glob. If not, use our +# local version. + +AC_MSG_CHECKING(if system libc has GNU glob) +AC_CACHE_VAL(make_cv_sys_gnu_glob, [ + AC_EGREP_CPP(gnu glob,[ +#include +#include +#include + +#define GLOB_INTERFACE_VERSION 1 +#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 +# include +# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION + gnu glob +# endif +#endif + ], [AC_MSG_RESULT(yes) +make_cv_sys_gnu_glob=yes], [AC_MSG_RESULT([no; using local copy]) +AC_SUBST(GLOBINC) GLOBINC='-I$(srcdir)/glob' +AC_SUBST(GLOBLIB) GLOBLIB=glob/libglob.a +make_cv_sys_gnu_glob=no])]) +# Tell automake about this, so it can build the right .c files. +AM_CONDITIONAL(USE_LOCAL_GLOB, test "$make_cv_sys_gnu_glob" = no) + +# Let the makefile know what our build host is + +AC_DEFINE_UNQUOTED(MAKE_HOST,"$host",[Build host information.]) +MAKE_HOST="$host" +AC_SUBST(MAKE_HOST) + +# Include the Maintainer's Makefile section, if it's here. + +MAINT_MAKEFILE=/dev/null +if test -r "$srcdir/maintMakefile"; then + MAINT_MAKEFILE="$srcdir/maintMakefile" +fi +AC_SUBST_FILE(MAINT_MAKEFILE) + +# Allow building with dmalloc +AM_WITH_DMALLOC + + +# Sanity check and inform the user of what we found + +case "$make_badcust" in + yes) echo + echo "WARNING: --with-customs specified but no customs.h could be found;" + echo " disabling Customs support." + echo ;; +esac + +case "$with_customs" in + ""|n|no|y|ye|yes) ;; + *) if test -f "$with_customs/lib/libcustoms.a"; then + : + else + echo + echo "WARNING: '$with_customs/lib' does not appear to contain the" + echo " Customs library. You must build and install Customs" + echo " before compiling GNU make." + echo + fi ;; +esac + +case "$has_wait_nohang" in + no) echo + echo "WARNING: Your system has neither waitpid() nor wait3()." + echo " Without one of these, signal handling is unreliable." + echo " You should be aware that running GNU make with -j" + echo " could result in erratic behavior." + echo ;; +esac + +case "$make_cv_job_server/$user_job_server" in + no/yes) echo + echo "WARNING: Make job server requires a POSIX-ish system that" + echo " supports the pipe(), sigaction(), and either" + echo " waitpid() or wait3() functions. Your system doesn't" + echo " appear to provide one or more of those." + echo " Disabling job server support." + echo ;; +esac + + +# Specify what files are to be created. +# We only generate the build.sh if we have a build.sh.in; we won't have +# one before we've created a distribution. + +AC_CONFIG_FILES(Makefile glob/Makefile po/Makefile.in config/Makefile doc/Makefile) + +if test -f $srcdir/build.sh.in; then + AC_CONFIG_FILES(build.sh) +fi + + +# OK, do it! + +AC_OUTPUT + + +dnl Local Variables: +dnl comment-start: "dnl " +dnl comment-end: "" +dnl comment-start-skip: "\\bdnl\\b\\s *" +dnl compile-command: "make configure config.h.in" +dnl End: diff --git a/src/mkutil/make/debug.h b/src/mkutil/make/debug.h index 30c2d627..eed4ce27 100644 --- a/src/mkutil/make/debug.h +++ b/src/mkutil/make/debug.h @@ -1,41 +1,41 @@ -/* Debugging macros and interface. -Copyright (C) 1999 Free Software Foundation, Inc. -This file is part of GNU Make. - -GNU Make is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Make is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Make; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - - -#define DB_NONE (0x000) -#define DB_BASIC (0x001) -#define DB_VERBOSE (0x002) -#define DB_JOBS (0x004) -#define DB_IMPLICIT (0x008) -#define DB_MAKEFILES (0x100) - -#define DB_ALL (0xfff) - -extern int db_level; - -#define ISDB(_l) ((_l)&db_level) - -#define DBS(_l,_x) do{ if(ISDB(_l)) {print_spaces (depth); \ - printf _x; fflush (stdout);} }while(0) - -#define DBF(_l,_x) do{ if(ISDB(_l)) {print_spaces (depth); \ - printf (_x, file->name); \ - fflush (stdout);} }while(0) - -#define DB(_l,_x) do{ if(ISDB(_l)) {printf _x; fflush (stdout);} }while(0) +/* Debugging macros and interface. +Copyright (C) 1999 Free Software Foundation, Inc. +This file is part of GNU Make. + +GNU Make is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Make is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Make; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + + +#define DB_NONE (0x000) +#define DB_BASIC (0x001) +#define DB_VERBOSE (0x002) +#define DB_JOBS (0x004) +#define DB_IMPLICIT (0x008) +#define DB_MAKEFILES (0x100) + +#define DB_ALL (0xfff) + +extern int db_level; + +#define ISDB(_l) ((_l)&db_level) + +#define DBS(_l,_x) do{ if(ISDB(_l)) {print_spaces (depth); \ + printf _x; fflush (stdout);} }while(0) + +#define DBF(_l,_x) do{ if(ISDB(_l)) {print_spaces (depth); \ + printf (_x, file->name); \ + fflush (stdout);} }while(0) + +#define DB(_l,_x) do{ if(ISDB(_l)) {printf _x; fflush (stdout);} }while(0) diff --git a/src/mkutil/make/dep.h b/src/mkutil/make/dep.h index 7f4380b7..8a856dad 100644 --- a/src/mkutil/make/dep.h +++ b/src/mkutil/make/dep.h @@ -1,78 +1,78 @@ -/* Definitions of dependency data structures for GNU Make. -Copyright (C) 1988, 1989, 1991, 1992, 1993, 1996 Free Software Foundation, Inc. -This file is part of GNU Make. - -GNU Make is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Make is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Make; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* Flag bits for the second argument to `read_makefile'. - These flags are saved in the `changed' field of each - `struct dep' in the chain returned by `read_all_makefiles'. */ - -#define RM_NO_DEFAULT_GOAL (1 << 0) /* Do not set default goal. */ -#define RM_INCLUDED (1 << 1) /* Search makefile search path. */ -#define RM_DONTCARE (1 << 2) /* No error if it doesn't exist. */ -#define RM_NO_TILDE (1 << 3) /* Don't expand ~ in file name. */ -#define RM_NOFLAG 0 - -/* Structure representing one dependency of a file. - Each struct file's `deps' points to a chain of these, - chained through the `next'. - - Note that the first two words of this match a struct nameseq. */ - -struct dep - { - struct dep *next; - char *name; - struct file *file; - unsigned int changed : 8; - unsigned int ignore_mtime : 1; - }; - - -/* Structure used in chains of names, for parsing and globbing. */ - -struct nameseq - { - struct nameseq *next; - char *name; - }; - - -extern struct nameseq *multi_glob PARAMS ((struct nameseq *chain, unsigned int size)); -#ifdef VMS -extern struct nameseq *parse_file_seq (); -#else -extern struct nameseq *parse_file_seq PARAMS ((char **stringp, int stopchar, unsigned int size, int strip)); -#endif -extern char *tilde_expand PARAMS ((char *name)); - -#ifndef NO_ARCHIVES -extern struct nameseq *ar_glob PARAMS ((char *arname, char *member_pattern, unsigned int size)); -#endif - -#ifndef iAPX286 -#define dep_name(d) ((d)->name == 0 ? (d)->file->name : (d)->name) -#else -/* Buggy compiler can't hack this. */ -extern char *dep_name (); -#endif - -extern struct dep *copy_dep_chain PARAMS ((struct dep *d)); -extern struct dep *read_all_makefiles PARAMS ((char **makefiles)); -extern int eval_buffer PARAMS ((char *buffer)); -extern int update_goal_chain PARAMS ((struct dep *goals, int makefiles)); -extern void uniquize_deps PARAMS ((struct dep *)); +/* Definitions of dependency data structures for GNU Make. +Copyright (C) 1988, 1989, 1991, 1992, 1993, 1996 Free Software Foundation, Inc. +This file is part of GNU Make. + +GNU Make is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Make is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Make; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +/* Flag bits for the second argument to `read_makefile'. + These flags are saved in the `changed' field of each + `struct dep' in the chain returned by `read_all_makefiles'. */ + +#define RM_NO_DEFAULT_GOAL (1 << 0) /* Do not set default goal. */ +#define RM_INCLUDED (1 << 1) /* Search makefile search path. */ +#define RM_DONTCARE (1 << 2) /* No error if it doesn't exist. */ +#define RM_NO_TILDE (1 << 3) /* Don't expand ~ in file name. */ +#define RM_NOFLAG 0 + +/* Structure representing one dependency of a file. + Each struct file's `deps' points to a chain of these, + chained through the `next'. + + Note that the first two words of this match a struct nameseq. */ + +struct dep + { + struct dep *next; + char *name; + struct file *file; + unsigned int changed : 8; + unsigned int ignore_mtime : 1; + }; + + +/* Structure used in chains of names, for parsing and globbing. */ + +struct nameseq + { + struct nameseq *next; + char *name; + }; + + +extern struct nameseq *multi_glob PARAMS ((struct nameseq *chain, unsigned int size)); +#ifdef VMS +extern struct nameseq *parse_file_seq (); +#else +extern struct nameseq *parse_file_seq PARAMS ((char **stringp, int stopchar, unsigned int size, int strip)); +#endif +extern char *tilde_expand PARAMS ((char *name)); + +#ifndef NO_ARCHIVES +extern struct nameseq *ar_glob PARAMS ((char *arname, char *member_pattern, unsigned int size)); +#endif + +#ifndef iAPX286 +#define dep_name(d) ((d)->name == 0 ? (d)->file->name : (d)->name) +#else +/* Buggy compiler can't hack this. */ +extern char *dep_name (); +#endif + +extern struct dep *copy_dep_chain PARAMS ((struct dep *d)); +extern struct dep *read_all_makefiles PARAMS ((char **makefiles)); +extern int eval_buffer PARAMS ((char *buffer)); +extern int update_goal_chain PARAMS ((struct dep *goals, int makefiles)); +extern void uniquize_deps PARAMS ((struct dep *)); diff --git a/src/mkutil/make/doc/.cvsignore b/src/mkutil/make/doc/.cvsignore deleted file mode 100644 index 94240d64..00000000 --- a/src/mkutil/make/doc/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -Makefile Makefile.in -fdl.texi make-stds.texi texinfo.tex -make.info* -make*.html -make.aux make.cp make.cps make.fn make.fns make.ky -make.pg make.toc make.tp make.vr make.log -make.dvi make.ps make.pdf diff --git a/src/mkutil/make/doc/CVS/Entries b/src/mkutil/make/doc/CVS/Entries index a9aeb7bb..b7137c94 100644 --- a/src/mkutil/make/doc/CVS/Entries +++ b/src/mkutil/make/doc/CVS/Entries @@ -1,4 +1,3 @@ -/.cvsignore/1.1/Wed Sep 11 16:55:45 2002// -/Makefile.am/1.3/Tue Mar 25 03:21:43 2003// -/make.texi/1.12/Fri May 2 01:45:00 2003// -D +/Makefile.am/1.1.1.1/Mon Nov 17 19:06:10 2003// +/make.texi/1.1.1.1/Mon Nov 17 19:06:10 2003// +D diff --git a/src/mkutil/make/doc/CVS/Repository b/src/mkutil/make/doc/CVS/Repository index 2df21c0b..042e917e 100644 --- a/src/mkutil/make/doc/CVS/Repository +++ b/src/mkutil/make/doc/CVS/Repository @@ -1 +1 @@ -make/doc +uzi/src/mkutil/make/doc diff --git a/src/mkutil/make/doc/CVS/Root b/src/mkutil/make/doc/CVS/Root index 132093b8..933b8194 100644 --- a/src/mkutil/make/doc/CVS/Root +++ b/src/mkutil/make/doc/CVS/Root @@ -1 +1 @@ -:pserver:anoncvs@subversions.gnu.org:/cvsroot/make +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/make/doc/Makefile.am b/src/mkutil/make/doc/Makefile.am index 0c130b2d..f3479e17 100644 --- a/src/mkutil/make/doc/Makefile.am +++ b/src/mkutil/make/doc/Makefile.am @@ -1,22 +1,22 @@ -# -*-Makefile-*-, or close enough - -AUTOMAKE_OPTIONS = 1.7.3 - -TEXI2HTML = texi2html -TEXI2HTML_FLAGS = -split_chapter - -info_TEXINFOS = make.texi -make_TEXINFOS = fdl.texi make-stds.texi - -CLEANFILES = make*.html - -## ----------------------------- ## -## Other documentation formats. ## -## ----------------------------- ## - -html: make_1.html - -make_1.html: $(info_TEXINFOS) $(make_TEXINFOS) - $(TEXI2HTML) $(TEXI2HTML_FLAGS) $(srcdir)/make.texi - -.PHONY: html +# -*-Makefile-*-, or close enough + +AUTOMAKE_OPTIONS = 1.7.3 + +TEXI2HTML = texi2html +TEXI2HTML_FLAGS = -split_chapter + +info_TEXINFOS = make.texi +make_TEXINFOS = fdl.texi make-stds.texi + +CLEANFILES = make*.html + +## ----------------------------- ## +## Other documentation formats. ## +## ----------------------------- ## + +html: make_1.html + +make_1.html: $(info_TEXINFOS) $(make_TEXINFOS) + $(TEXI2HTML) $(TEXI2HTML_FLAGS) $(srcdir)/make.texi + +.PHONY: html diff --git a/src/mkutil/make/doc/make.texi b/src/mkutil/make/doc/make.texi index 948e6608..10a5e879 100644 --- a/src/mkutil/make/doc/make.texi +++ b/src/mkutil/make/doc/make.texi @@ -1,10321 +1,10321 @@ -\input texinfo @c -*- Texinfo -*- -@c %**start of header -@setfilename make.info -@settitle GNU @code{make} -@setchapternewpage odd -@c %**end of header - -@c FSF publishers: format makebook.texi instead of using this file directly. - -@set RCSID $Id: make.texi,v 1.12 2003/05/02 01:45:00 psmith Exp $ -@set EDITION 0.60 -@set VERSION 3.80 -@set UPDATED 08 July 2002 -@set UPDATE-MONTH July 2002 -@comment The ISBN number might need to change on next publication. -@set ISBN 1-882114-81-7 @c From Brian Youmans <3diff@gnu.org>, 25 Apr 2000 - -@c finalout - -@c ISPELL CHECK: done, 10 June 1993 --roland -@c ISPELL CHECK: done, 2000-06-25 --Martin Buchholz - -@c Combine the variable and function indices: -@syncodeindex vr fn -@c Combine the program and concept indices: -@syncodeindex pg cp - -@dircategory GNU Packages -@direntry -* Make: (make). Remake files automatically. -@end direntry - -@ifinfo -This file documents the GNU Make utility, which determines -automatically which pieces of a large program need to be recompiled, -and issues the commands to recompile them. - -This is Edition @value{EDITION}, last updated @value{UPDATED}, -of @cite{The GNU Make Manual}, for @code{make}, Version @value{VERSION}. - -Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002 -Free Software Foundation, Inc. - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the section entitled -``GNU Free Documentation License''. -@end ifinfo - -@iftex -@shorttitlepage GNU Make -@end iftex -@titlepage -@title GNU Make -@subtitle A Program for Directing Recompilation -@subtitle GNU @code{make} Version @value{VERSION} -@subtitle @value{UPDATE-MONTH} -@author Richard M. Stallman, Roland McGrath, Paul Smith -@page -@vskip 0pt plus 1filll -Copyright @copyright{} 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, -1996, 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc. -@sp 2 -Published by the Free Software Foundation @* -59 Temple Place -- Suite 330, @* -Boston, MA 02111-1307 USA @* -ISBN @value{ISBN} @* - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with the -Invariant Sections being ``GNU General Public License'', the Front-Cover -Texts being ``A GNU Manual'', and with the Back-Cover Texts being as in -(a) below. A copy of the license is included in the section entitled -``GNU Free Documentation License''. - -(a) The FSF's Back-Cover Text is: - -@quotation - You have freedom to copy and modify this GNU Manual, like GNU - software. Copies published by the Free Software Foundation raise - funds for GNU development. -@end quotation -@sp 2 -Cover art by Etienne Suvasa. -@end titlepage -@page - -@ifinfo -@node Top, Overview, (dir), (dir) -@top Make - -The GNU @code{make} utility automatically determines which pieces of a -large program need to be recompiled, and issues the commands to -recompile them.@refill - -This edition of the @cite{GNU Make Manual}, -last updated @value{UPDATED}, -documents GNU @code{make} Version @value{VERSION}.@refill - -This manual describes @code{make} and contains the following chapters:@refill -@end ifinfo - -@menu -* Overview:: Overview of @code{make}. -* Introduction:: An introduction to @code{make}. -* Makefiles:: Makefiles tell @code{make} what to do. -* Rules:: Rules describe when a file must be remade. -* Commands:: Commands say how to remake a file. -* Using Variables:: You can use variables to avoid repetition. -* Conditionals:: Use or ignore parts of the makefile based - on the values of variables. -* Functions:: Many powerful ways to manipulate text. -* Invoking make: Running. How to invoke @code{make} on the command line. -* Implicit Rules:: Use implicit rules to treat many files alike, - based on their file names. -* Archives:: How @code{make} can update library archives. -* Features:: Features GNU @code{make} has over other @code{make}s. -* Missing:: What GNU @code{make} lacks from other @code{make}s. -* Makefile Conventions:: Conventions for writing makefiles for - GNU programs. -* Quick Reference:: A quick reference for experienced users. -* Error Messages:: A list of common errors generated by @code{make}. -* Complex Makefile:: A real example of a straightforward, - but nontrivial, makefile. - -* GNU Free Documentation License:: License for copying this manual -* Concept Index:: Index of Concepts -* Name Index:: Index of Functions, Variables, & Directives - -@detailmenu - --- The Detailed Node Listing --- - -Overview of @code{make} - -* Preparing:: Preparing and Running Make -* Reading:: On Reading this Text -* Bugs:: Problems and Bugs - -An Introduction to Makefiles - -* Rule Introduction:: What a rule looks like. -* Simple Makefile:: A Simple Makefile -* How Make Works:: How @code{make} Processes This Makefile -* Variables Simplify:: Variables Make Makefiles Simpler -* make Deduces:: Letting @code{make} Deduce the Commands -* Combine By Prerequisite:: Another Style of Makefile -* Cleanup:: Rules for Cleaning the Directory - -Writing Makefiles - -* Makefile Contents:: What makefiles contain. -* Makefile Names:: How to name your makefile. -* Include:: How one makefile can use another makefile. -* MAKEFILES Variable:: The environment can specify extra makefiles. -* MAKEFILE_LIST Variable:: Discover which makefiles have been read. -* Special Variables:: Other special variables. -* Remaking Makefiles:: How makefiles get remade. -* Overriding Makefiles:: How to override part of one makefile - with another makefile. -* Reading Makefiles:: How makefiles are parsed. - -Writing Rules - -* Rule Example:: An example explained. -* Rule Syntax:: General syntax explained. -* Prerequisite Types:: There are two types of prerequisites. -* Wildcards:: Using wildcard characters such as `*'. -* Directory Search:: Searching other directories for source files. -* Phony Targets:: Using a target that is not a real file's name. -* Force Targets:: You can use a target without commands - or prerequisites to mark other - targets as phony. -* Empty Targets:: When only the date matters and the - files are empty. -* Special Targets:: Targets with special built-in meanings. -* Multiple Targets:: When to make use of several targets in a rule. -* Multiple Rules:: How to use several rules with the same target. -* Static Pattern:: Static pattern rules apply to multiple targets - and can vary the prerequisites according to - the target name. -* Double-Colon:: How to use a special kind of rule to allow - several independent rules for one target. -* Automatic Prerequisites:: How to automatically generate rules giving - prerequisites from source files themselves. - -Using Wildcard Characters in File Names - -* Wildcard Examples:: Several examples -* Wildcard Pitfall:: Problems to avoid. -* Wildcard Function:: How to cause wildcard expansion where - it does not normally take place. - -Searching Directories for Prerequisites - -* General Search:: Specifying a search path that applies - to every prerequisite. -* Selective Search:: Specifying a search path - for a specified class of names. -* Search Algorithm:: When and how search paths are applied. -* Commands/Search:: How to write shell commands that work together - with search paths. -* Implicit/Search:: How search paths affect implicit rules. -* Libraries/Search:: Directory search for link libraries. - -Static Pattern Rules - -* Static Usage:: The syntax of static pattern rules. -* Static versus Implicit:: When are they better than implicit rules? - -Writing the Commands in Rules - -* Echoing:: How to control when commands are echoed. -* Execution:: How commands are executed. -* Parallel:: How commands can be executed in parallel. -* Errors:: What happens after a command execution error. -* Interrupts:: What happens when a command is interrupted. -* Recursion:: Invoking @code{make} from makefiles. -* Sequences:: Defining canned sequences of commands. -* Empty Commands:: Defining useful, do-nothing commands. - -Recursive Use of @code{make} - -* MAKE Variable:: The special effects of using @samp{$(MAKE)}. -* Variables/Recursion:: How to communicate variables to a sub-@code{make}. -* Options/Recursion:: How to communicate options to a sub-@code{make}. -* -w Option:: How the @samp{-w} or @samp{--print-directory} option - helps debug use of recursive @code{make} commands. - -How to Use Variables - -* Reference:: How to use the value of a variable. -* Flavors:: Variables come in two flavors. -* Advanced:: Advanced features for referencing a variable. -* Values:: All the ways variables get their values. -* Setting:: How to set a variable in the makefile. -* Appending:: How to append more text to the old value - of a variable. -* Override Directive:: How to set a variable in the makefile even if - the user has set it with a command argument. -* Defining:: An alternate way to set a variable - to a verbatim string. -* Environment:: Variable values can come from the environment. -* Target-specific:: Variable values can be defined on a per-target - basis. -* Pattern-specific:: Target-specific variable values can be applied - to a group of targets that match a pattern. - -Advanced Features for Reference to Variables - -* Substitution Refs:: Referencing a variable with - substitutions on the value. -* Computed Names:: Computing the name of the variable to refer to. - -Conditional Parts of Makefiles - -* Conditional Example:: Example of a conditional -* Conditional Syntax:: The syntax of conditionals. -* Testing Flags:: Conditionals that test flags. - -Functions for Transforming Text - -* Syntax of Functions:: How to write a function call. -* Text Functions:: General-purpose text manipulation functions. -* File Name Functions:: Functions for manipulating file names. -* Foreach Function:: Repeat some text with controlled variation. -* If Function:: Conditionally expand a value. -* Call Function:: Expand a user-defined function. -* Value Function:: Return the un-expanded value of a variable. -* Eval Function:: Evaluate the arguments as makefile syntax. -* Origin Function:: Find where a variable got its value. -* Shell Function:: Substitute the output of a shell command. -* Make Control Functions:: Functions that control how make runs. - -How to Run @code{make} - -* Makefile Arguments:: How to specify which makefile to use. -* Goals:: How to use goal arguments to specify which - parts of the makefile to use. -* Instead of Execution:: How to use mode flags to specify what - kind of thing to do with the commands - in the makefile other than simply - execute them. -* Avoiding Compilation:: How to avoid recompiling certain files. -* Overriding:: How to override a variable to specify - an alternate compiler and other things. -* Testing:: How to proceed past some errors, to - test compilation. -* Options Summary:: Summary of Options - -Using Implicit Rules - -* Using Implicit:: How to use an existing implicit rule - to get the commands for updating a file. -* Catalogue of Rules:: A list of built-in implicit rules. -* Implicit Variables:: How to change what predefined rules do. -* Chained Rules:: How to use a chain of implicit rules. -* Pattern Rules:: How to define new implicit rules. -* Last Resort:: How to defining commands for rules - which cannot find any. -* Suffix Rules:: The old-fashioned style of implicit rule. -* Implicit Rule Search:: The precise algorithm for applying - implicit rules. - -Defining and Redefining Pattern Rules - -* Pattern Intro:: An introduction to pattern rules. -* Pattern Examples:: Examples of pattern rules. -* Automatic Variables:: How to use automatic variables in the - commands of implicit rules. -* Pattern Match:: How patterns match. -* Match-Anything Rules:: Precautions you should take prior to - defining rules that can match any - target file whatever. -* Canceling Rules:: How to override or cancel built-in rules. - -Using @code{make} to Update Archive Files - -* Archive Members:: Archive members as targets. -* Archive Update:: The implicit rule for archive member targets. -* Archive Pitfalls:: Dangers to watch out for when using archives. -* Archive Suffix Rules:: You can write a special kind of suffix rule - for updating archives. - -Implicit Rule for Archive Member Targets - -* Archive Symbols:: How to update archive symbol directories. - -Makefile Conventions - -* Makefile Basics:: General Conventions for Makefiles -* Utilities in Makefiles:: Utilities in Makefiles -* Command Variables:: Variables for Specifying Commands -* Directory Variables:: Variables for Installation Directories -* Standard Targets:: Standard Targets for Users -* Install Command Categories:: Three categories of commands in the `install' - -Copying This Manual - -@end detailmenu -@end menu - -@node Overview, Introduction, Top, Top -@comment node-name, next, previous, up -@chapter Overview of @code{make} - -The @code{make} utility automatically determines which pieces of a large -program need to be recompiled, and issues commands to recompile them. -This manual describes GNU @code{make}, which was implemented by Richard -Stallman and Roland McGrath. Development since Version 3.76 has been -handled by Paul Smith. - -GNU @code{make} conforms to section 6.2 of @cite{IEEE Standard -1003.2-1992} (POSIX.2). -@cindex POSIX -@cindex IEEE Standard 1003.2 -@cindex standards conformance - -Our examples show C programs, since they are most common, but you can use -@code{make} with any programming language whose compiler can be run with a -shell command. Indeed, @code{make} is not limited to programs. You can -use it to describe any task where some files must be updated automatically -from others whenever the others change. - -@menu -* Preparing:: Preparing and Running Make -* Reading:: On Reading this Text -* Bugs:: Problems and Bugs -@end menu - -@node Preparing, Reading, Overview, Overview -@ifinfo -@heading Preparing and Running Make -@end ifinfo - -To prepare to use @code{make}, you must write a file called -the @dfn{makefile} that describes the relationships among files -in your program and provides commands for updating each file. -In a program, typically, the executable file is updated from object -files, which are in turn made by compiling source files.@refill - -Once a suitable makefile exists, each time you change some source files, -this simple shell command: - -@example -make -@end example - -@noindent -suffices to perform all necessary recompilations. The @code{make} program -uses the makefile data base and the last-modification times of the files to -decide which of the files need to be updated. For each of those files, it -issues the commands recorded in the data base. - -You can provide command line arguments to @code{make} to control which -files should be recompiled, or how. @xref{Running, ,How to Run -@code{make}}. - -@node Reading, Bugs, Preparing, Overview -@section How to Read This Manual - -If you are new to @code{make}, or are looking for a general -introduction, read the first few sections of each chapter, skipping the -later sections. In each chapter, the first few sections contain -introductory or general information and the later sections contain -specialized or technical information. -@ifinfo -The exception is the second chapter, @ref{Introduction, ,An -Introduction to Makefiles}, all of which is introductory. -@end ifinfo -@iftex -The exception is @ref{Introduction, ,An Introduction to Makefiles}, -all of which is introductory. -@end iftex - -If you are familiar with other @code{make} programs, see @ref{Features, -,Features of GNU @code{make}}, which lists the enhancements GNU -@code{make} has, and @ref{Missing, ,Incompatibilities and Missing -Features}, which explains the few things GNU @code{make} lacks that -others have. - -For a quick summary, see @ref{Options Summary}, @ref{Quick Reference}, -and @ref{Special Targets}. - -@node Bugs, , Reading, Overview -@section Problems and Bugs -@cindex reporting bugs -@cindex bugs, reporting -@cindex problems and bugs, reporting - -If you have problems with GNU @code{make} or think you've found a bug, -please report it to the developers; we cannot promise to do anything but -we might well want to fix it. - -Before reporting a bug, make sure you've actually found a real bug. -Carefully reread the documentation and see if it really says you can do -what you're trying to do. If it's not clear whether you should be able -to do something or not, report that too; it's a bug in the -documentation! - -Before reporting a bug or trying to fix it yourself, try to isolate it -to the smallest possible makefile that reproduces the problem. Then -send us the makefile and the exact results @code{make} gave you, -including any error or warning messages. Please don't paraphrase -these messages: it's best to cut and paste them into your report. -When generating this small makefile, be sure to not use any non-free -or unusual tools in your commands: you can almost always emulate what -such a tool would do with simple shell commands. Finally, be sure to -explain what you expected to occur; this will help us decide whether -the problem was really in the documentation. - -Once you have a precise problem you can report it in one of two ways. -Either send electronic mail to: - -@example - bug-make@@gnu.org -@end example - -@noindent -or use our Web-based project management tool, at: - -@example - http://savannah.gnu.org/projects/make/ -@end example - -@noindent -In addition to the information above, please be careful to include the -version number of @code{make} you are using. You can get this -information with the command @samp{make --version}. Be sure also to -include the type of machine and operating system you are using. One -way to obtain this information is by looking at the final lines of -output from the command @samp{make --help}. - -@node Introduction, Makefiles, Overview, Top -@comment node-name, next, previous, up -@chapter An Introduction to Makefiles - -You need a file called a @dfn{makefile} to tell @code{make} what to do. -Most often, the makefile tells @code{make} how to compile and link a -program. -@cindex makefile - -In this chapter, we will discuss a simple makefile that describes how to -compile and link a text editor which consists of eight C source files -and three header files. The makefile can also tell @code{make} how to -run miscellaneous commands when explicitly asked (for example, to remove -certain files as a clean-up operation). To see a more complex example -of a makefile, see @ref{Complex Makefile}. - -When @code{make} recompiles the editor, each changed C source file -must be recompiled. If a header file has changed, each C source file -that includes the header file must be recompiled to be safe. Each -compilation produces an object file corresponding to the source file. -Finally, if any source file has been recompiled, all the object files, -whether newly made or saved from previous compilations, must be linked -together to produce the new executable editor. -@cindex recompilation -@cindex editor - -@menu -* Rule Introduction:: What a rule looks like. -* Simple Makefile:: A Simple Makefile -* How Make Works:: How @code{make} Processes This Makefile -* Variables Simplify:: Variables Make Makefiles Simpler -* make Deduces:: Letting @code{make} Deduce the Commands -* Combine By Prerequisite:: Another Style of Makefile -* Cleanup:: Rules for Cleaning the Directory -@end menu - -@node Rule Introduction, Simple Makefile, Introduction, Introduction -@comment node-name, next, previous, up -@section What a Rule Looks Like -@cindex rule, introduction to -@cindex makefile rule parts -@cindex parts of makefile rule - -A simple makefile consists of ``rules'' with the following shape: - -@cindex targets, introduction to -@cindex prerequisites, introduction to -@cindex commands, introduction to -@example -@group -@var{target} @dots{} : @var{prerequisites} @dots{} - @var{command} - @dots{} - @dots{} -@end group -@end example - -A @dfn{target} is usually the name of a file that is generated by a -program; examples of targets are executable or object files. A target -can also be the name of an action to carry out, such as @samp{clean} -(@pxref{Phony Targets}). - -A @dfn{prerequisite} is a file that is used as input to create the -target. A target often depends on several files. - -@cindex tabs in rules -A @dfn{command} is an action that @code{make} carries out. -A rule may have more than one command, each on its own line. -@strong{Please note:} you need to put a tab character at the beginning of -every command line! This is an obscurity that catches the unwary. - -Usually a command is in a rule with prerequisites and serves to create a -target file if any of the prerequisites change. However, the rule that -specifies commands for the target need not have prerequisites. For -example, the rule containing the delete command associated with the -target @samp{clean} does not have prerequisites. - -A @dfn{rule}, then, explains how and when to remake certain files -which are the targets of the particular rule. @code{make} carries out -the commands on the prerequisites to create or update the target. A -rule can also explain how and when to carry out an action. -@xref{Rules, , Writing Rules}. - -A makefile may contain other text besides rules, but a simple makefile -need only contain rules. Rules may look somewhat more complicated -than shown in this template, but all fit the pattern more or less. - -@node Simple Makefile, How Make Works, Rule Introduction, Introduction -@section A Simple Makefile -@cindex simple makefile -@cindex makefile, simple - -Here is a straightforward makefile that describes the way an -executable file called @code{edit} depends on eight object files -which, in turn, depend on eight C source and three header files. - -In this example, all the C files include @file{defs.h}, but only those -defining editing commands include @file{command.h}, and only low -level files that change the editor buffer include @file{buffer.h}. - -@example -@group -edit : main.o kbd.o command.o display.o \ - insert.o search.o files.o utils.o - cc -o edit main.o kbd.o command.o display.o \ - insert.o search.o files.o utils.o - -main.o : main.c defs.h - cc -c main.c -kbd.o : kbd.c defs.h command.h - cc -c kbd.c -command.o : command.c defs.h command.h - cc -c command.c -display.o : display.c defs.h buffer.h - cc -c display.c -insert.o : insert.c defs.h buffer.h - cc -c insert.c -search.o : search.c defs.h buffer.h - cc -c search.c -files.o : files.c defs.h buffer.h command.h - cc -c files.c -utils.o : utils.c defs.h - cc -c utils.c -clean : - rm edit main.o kbd.o command.o display.o \ - insert.o search.o files.o utils.o -@end group -@end example - -@noindent -We split each long line into two lines using backslash-newline; this is -like using one long line, but is easier to read. -@cindex continuation lines -@cindex @code{\} (backslash), for continuation lines -@cindex backslash (@code{\}), for continuation lines -@cindex quoting newline, in makefile -@cindex newline, quoting, in makefile - -To use this makefile to create the executable file called @file{edit}, -type: - -@example -make -@end example - -To use this makefile to delete the executable file and all the object -files from the directory, type: - -@example -make clean -@end example - -In the example makefile, the targets include the executable file -@samp{edit}, and the object files @samp{main.o} and @samp{kbd.o}. The -prerequisites are files such as @samp{main.c} and @samp{defs.h}. -In fact, each @samp{.o} file is both a target and a prerequisite. -Commands include @w{@samp{cc -c main.c}} and @w{@samp{cc -c kbd.c}}. - -When a target is a file, it needs to be recompiled or relinked if any -of its prerequisites change. In addition, any prerequisites that are -themselves automatically generated should be updated first. In this -example, @file{edit} depends on each of the eight object files; the -object file @file{main.o} depends on the source file @file{main.c} and -on the header file @file{defs.h}. - -A shell command follows each line that contains a target and -prerequisites. These shell commands say how to update the target file. -A tab character must come at the beginning of every command line to -distinguish commands lines from other lines in the makefile. (Bear in -mind that @code{make} does not know anything about how the commands -work. It is up to you to supply commands that will update the target -file properly. All @code{make} does is execute the commands in the rule -you have specified when the target file needs to be updated.) -@cindex shell command - -The target @samp{clean} is not a file, but merely the name of an -action. Since you -normally -do not want to carry out the actions in this rule, @samp{clean} is not a prerequisite of any other rule. -Consequently, @code{make} never does anything with it unless you tell -it specifically. Note that this rule not only is not a prerequisite, it -also does not have any prerequisites, so the only purpose of the rule -is to run the specified commands. Targets that do not refer to files -but are just actions are called @dfn{phony targets}. @xref{Phony -Targets}, for information about this kind of target. @xref{Errors, , -Errors in Commands}, to see how to cause @code{make} to ignore errors -from @code{rm} or any other command. -@cindex @code{clean} target -@cindex @code{rm} (shell command) - -@node How Make Works, Variables Simplify, Simple Makefile, Introduction -@comment node-name, next, previous, up -@section How @code{make} Processes a Makefile -@cindex processing a makefile -@cindex makefile, how @code{make} processes - -By default, @code{make} starts with the first target (not targets whose -names start with @samp{.}). This is called the @dfn{default goal}. -(@dfn{Goals} are the targets that @code{make} strives ultimately to -update. @xref{Goals, , Arguments to Specify the Goals}.) -@cindex default goal -@cindex goal, default -@cindex goal - -In the simple example of the previous section, the default goal is to -update the executable program @file{edit}; therefore, we put that rule -first. - -Thus, when you give the command: - -@example -make -@end example - -@noindent -@code{make} reads the makefile in the current directory and begins by -processing the first rule. In the example, this rule is for relinking -@file{edit}; but before @code{make} can fully process this rule, it -must process the rules for the files that @file{edit} depends on, -which in this case are the object files. Each of these files is -processed according to its own rule. These rules say to update each -@samp{.o} file by compiling its source file. The recompilation must -be done if the source file, or any of the header files named as -prerequisites, is more recent than the object file, or if the object -file does not exist. - -The other rules are processed because their targets appear as -prerequisites of the goal. If some other rule is not depended on by the -goal (or anything it depends on, etc.), that rule is not processed, -unless you tell @code{make} to do so (with a command such as -@w{@code{make clean}}). - -Before recompiling an object file, @code{make} considers updating its -prerequisites, the source file and header files. This makefile does not -specify anything to be done for them---the @samp{.c} and @samp{.h} files -are not the targets of any rules---so @code{make} does nothing for these -files. But @code{make} would update automatically generated C programs, -such as those made by Bison or Yacc, by their own rules at this time. - -After recompiling whichever object files need it, @code{make} decides -whether to relink @file{edit}. This must be done if the file -@file{edit} does not exist, or if any of the object files are newer than -it. If an object file was just recompiled, it is now newer than -@file{edit}, so @file{edit} is relinked. -@cindex relinking - -Thus, if we change the file @file{insert.c} and run @code{make}, -@code{make} will compile that file to update @file{insert.o}, and then -link @file{edit}. If we change the file @file{command.h} and run -@code{make}, @code{make} will recompile the object files @file{kbd.o}, -@file{command.o} and @file{files.o} and then link the file @file{edit}. - -@node Variables Simplify, make Deduces, How Make Works, Introduction -@section Variables Make Makefiles Simpler -@cindex variables -@cindex simplifying with variables - -In our example, we had to list all the object files twice in the rule for -@file{edit} (repeated here): - -@example -@group -edit : main.o kbd.o command.o display.o \ - insert.o search.o files.o utils.o - cc -o edit main.o kbd.o command.o display.o \ - insert.o search.o files.o utils.o -@end group -@end example - -@cindex @code{objects} -Such duplication is error-prone; if a new object file is added to the -system, we might add it to one list and forget the other. We can eliminate -the risk and simplify the makefile by using a variable. @dfn{Variables} -allow a text string to be defined once and substituted in multiple places -later (@pxref{Using Variables, ,How to Use Variables}). - -@cindex @code{OBJECTS} -@cindex @code{objs} -@cindex @code{OBJS} -@cindex @code{obj} -@cindex @code{OBJ} -It is standard practice for every makefile to have a variable named -@code{objects}, @code{OBJECTS}, @code{objs}, @code{OBJS}, @code{obj}, -or @code{OBJ} which is a list of all object file names. We would -define such a variable @code{objects} with a line like this in the -makefile:@refill - -@example -@group -objects = main.o kbd.o command.o display.o \ - insert.o search.o files.o utils.o -@end group -@end example - -@noindent -Then, each place we want to put a list of the object file names, we can -substitute the variable's value by writing @samp{$(objects)} -(@pxref{Using Variables, ,How to Use Variables}). - -Here is how the complete simple makefile looks when you use a variable -for the object files: - -@example -@group -objects = main.o kbd.o command.o display.o \ - insert.o search.o files.o utils.o - -edit : $(objects) - cc -o edit $(objects) -main.o : main.c defs.h - cc -c main.c -kbd.o : kbd.c defs.h command.h - cc -c kbd.c -command.o : command.c defs.h command.h - cc -c command.c -display.o : display.c defs.h buffer.h - cc -c display.c -insert.o : insert.c defs.h buffer.h - cc -c insert.c -search.o : search.c defs.h buffer.h - cc -c search.c -files.o : files.c defs.h buffer.h command.h - cc -c files.c -utils.o : utils.c defs.h - cc -c utils.c -clean : - rm edit $(objects) -@end group -@end example - -@node make Deduces, Combine By Prerequisite, Variables Simplify, Introduction -@section Letting @code{make} Deduce the Commands -@cindex deducing commands (implicit rules) -@cindex implicit rule, introduction to -@cindex rule, implicit, introduction to - -It is not necessary to spell out the commands for compiling the individual -C source files, because @code{make} can figure them out: it has an -@dfn{implicit rule} for updating a @samp{.o} file from a correspondingly -named @samp{.c} file using a @samp{cc -c} command. For example, it will -use the command @samp{cc -c main.c -o main.o} to compile @file{main.c} into -@file{main.o}. We can therefore omit the commands from the rules for the -object files. @xref{Implicit Rules, ,Using Implicit Rules}.@refill - -When a @samp{.c} file is used automatically in this way, it is also -automatically added to the list of prerequisites. We can therefore omit -the @samp{.c} files from the prerequisites, provided we omit the commands. - -Here is the entire example, with both of these changes, and a variable -@code{objects} as suggested above: - -@example -@group -objects = main.o kbd.o command.o display.o \ - insert.o search.o files.o utils.o - -edit : $(objects) - cc -o edit $(objects) - -main.o : defs.h -kbd.o : defs.h command.h -command.o : defs.h command.h -display.o : defs.h buffer.h -insert.o : defs.h buffer.h -search.o : defs.h buffer.h -files.o : defs.h buffer.h command.h -utils.o : defs.h - -.PHONY : clean -clean : - rm edit $(objects) -@end group -@end example - -@noindent -This is how we would write the makefile in actual practice. (The -complications associated with @samp{clean} are described elsewhere. -See @ref{Phony Targets}, and @ref{Errors, ,Errors in Commands}.) - -Because implicit rules are so convenient, they are important. You -will see them used frequently.@refill - -@node Combine By Prerequisite, Cleanup, make Deduces, Introduction -@section Another Style of Makefile -@cindex combining rules by prerequisite - -When the objects of a makefile are created only by implicit rules, an -alternative style of makefile is possible. In this style of makefile, -you group entries by their prerequisites instead of by their targets. -Here is what one looks like: - -@example -@group -objects = main.o kbd.o command.o display.o \ - insert.o search.o files.o utils.o - -edit : $(objects) - cc -o edit $(objects) - -$(objects) : defs.h -kbd.o command.o files.o : command.h -display.o insert.o search.o files.o : buffer.h -@end group -@end example - -@noindent -Here @file{defs.h} is given as a prerequisite of all the object files; -@file{command.h} and @file{buffer.h} are prerequisites of the specific -object files listed for them. - -Whether this is better is a matter of taste: it is more compact, but some -people dislike it because they find it clearer to put all the information -about each target in one place. - -@node Cleanup, , Combine By Prerequisite, Introduction -@section Rules for Cleaning the Directory -@cindex cleaning up -@cindex removing, to clean up - -Compiling a program is not the only thing you might want to write rules -for. Makefiles commonly tell how to do a few other things besides -compiling a program: for example, how to delete all the object files -and executables so that the directory is @samp{clean}. - -@cindex @code{clean} target -Here is how we -could write a @code{make} rule for cleaning our example editor: - -@example -@group -clean: - rm edit $(objects) -@end group -@end example - -In practice, we might want to write the rule in a somewhat more -complicated manner to handle unanticipated situations. We would do this: - -@example -@group -.PHONY : clean -clean : - -rm edit $(objects) -@end group -@end example - -@noindent -This prevents @code{make} from getting confused by an actual file -called @file{clean} and causes it to continue in spite of errors from -@code{rm}. (See @ref{Phony Targets}, and @ref{Errors, ,Errors in -Commands}.) - -@noindent -A rule such as this should not be placed at the beginning of the -makefile, because we do not want it to run by default! Thus, in the -example makefile, we want the rule for @code{edit}, which recompiles -the editor, to remain the default goal. - -Since @code{clean} is not a prerequisite of @code{edit}, this rule will not -run at all if we give the command @samp{make} with no arguments. In -order to make the rule run, we have to type @samp{make clean}. -@xref{Running, ,How to Run @code{make}}. - -@node Makefiles, Rules, Introduction, Top -@chapter Writing Makefiles - -@cindex makefile, how to write -The information that tells @code{make} how to recompile a system comes from -reading a data base called the @dfn{makefile}. - -@menu -* Makefile Contents:: What makefiles contain. -* Makefile Names:: How to name your makefile. -* Include:: How one makefile can use another makefile. -* MAKEFILES Variable:: The environment can specify extra makefiles. -* MAKEFILE_LIST Variable:: Discover which makefiles have been read. -* Special Variables:: Other special variables. -* Remaking Makefiles:: How makefiles get remade. -* Overriding Makefiles:: How to override part of one makefile - with another makefile. -* Reading Makefiles:: How makefiles are parsed. -@end menu - -@node Makefile Contents, Makefile Names, Makefiles, Makefiles -@section What Makefiles Contain - -Makefiles contain five kinds of things: @dfn{explicit rules}, -@dfn{implicit rules}, @dfn{variable definitions}, @dfn{directives}, -and @dfn{comments}. Rules, variables, and directives are described at -length in later chapters.@refill - -@itemize @bullet -@cindex rule, explicit, definition of -@cindex explicit rule, definition of -@item -An @dfn{explicit rule} says when and how to remake one or more files, -called the rule's targets. It lists the other files that the targets -depend on, call the @dfn{prerequisites} of the target, and may also give -commands to use to create or update the targets. @xref{Rules, ,Writing -Rules}. - -@cindex rule, implicit, definition of -@cindex implicit rule, definition of -@item -An @dfn{implicit rule} says when and how to remake a class of files -based on their names. It describes how a target may depend on a file -with a name similar to the target and gives commands to create or -update such a target. @xref{Implicit Rules, ,Using Implicit Rules}. - -@cindex variable definition -@item -A @dfn{variable definition} is a line that specifies a text string -value for a variable that can be substituted into the text later. The -simple makefile example shows a variable definition for @code{objects} -as a list of all object files (@pxref{Variables Simplify, , Variables -Make Makefiles Simpler}). - -@cindex directive -@item -A @dfn{directive} is a command for @code{make} to do something special while -reading the makefile. These include: - -@itemize @bullet -@item -Reading another makefile (@pxref{Include, ,Including Other Makefiles}). - -@item -Deciding (based on the values of variables) whether to use or -ignore a part of the makefile (@pxref{Conditionals, ,Conditional Parts of Makefiles}). - -@item -Defining a variable from a verbatim string containing multiple lines -(@pxref{Defining, ,Defining Variables Verbatim}). -@end itemize - -@cindex comments, in makefile -@cindex @code{#} (comments), in makefile -@item -@samp{#} in a line of a makefile starts a @dfn{comment}. It and the -rest of the line are ignored, except that a trailing backslash not -escaped by another backslash will continue the comment across multiple -lines. A line containing just a comment (with perhaps spaces before -it) is effectively blank, and is ignored. If you want a literal -@code{#}, escape it with a backslash (e.g., @code{\#}). Comments may -appear on any line in the makefile, although they are treated -specially in certain situations. - -Within a command script (if the line begins with a TAB character) the -entire line is passed to the shell, just as with any other line that -begins with a TAB. The shell decides how to interpret the text: -whether or not this is a comment is up to the shell. - -Within a @code{define} directive, comments are not ignored during the -definition of the variable, but rather kept intact in the value of the -variable. When the variable is expanded they will either be treated -as @code{make} comments or as command script text, depending on the -context in which the variable is evaluated. -@end itemize - -@node Makefile Names, Include, Makefile Contents, Makefiles -@section What Name to Give Your Makefile -@cindex makefile name -@cindex name of makefile -@cindex default makefile name -@cindex file name of makefile - -@c following paragraph rewritten to avoid overfull hbox -By default, when @code{make} looks for the makefile, it tries the -following names, in order: @file{GNUmakefile}, @file{makefile} -and @file{Makefile}.@refill -@findex Makefile -@findex GNUmakefile -@findex makefile - -@cindex @code{README} -Normally you should call your makefile either @file{makefile} or -@file{Makefile}. (We recommend @file{Makefile} because it appears -prominently near the beginning of a directory listing, right near other -important files such as @file{README}.) The first name checked, -@file{GNUmakefile}, is not recommended for most makefiles. You should -use this name if you have a makefile that is specific to GNU -@code{make}, and will not be understood by other versions of -@code{make}. Other @code{make} programs look for @file{makefile} and -@file{Makefile}, but not @file{GNUmakefile}. - -If @code{make} finds none of these names, it does not use any makefile. -Then you must specify a goal with a command argument, and @code{make} -will attempt to figure out how to remake it using only its built-in -implicit rules. @xref{Implicit Rules, ,Using Implicit Rules}. - -@cindex @code{-f} -@cindex @code{--file} -@cindex @code{--makefile} -If you want to use a nonstandard name for your makefile, you can specify -the makefile name with the @samp{-f} or @samp{--file} option. The -arguments @w{@samp{-f @var{name}}} or @w{@samp{--file=@var{name}}} tell -@code{make} to read the file @var{name} as the makefile. If you use -more than one @samp{-f} or @samp{--file} option, you can specify several -makefiles. All the makefiles are effectively concatenated in the order -specified. The default makefile names @file{GNUmakefile}, -@file{makefile} and @file{Makefile} are not checked automatically if you -specify @samp{-f} or @samp{--file}.@refill -@cindex specifying makefile name -@cindex makefile name, how to specify -@cindex name of makefile, how to specify -@cindex file name of makefile, how to specify - -@node Include, MAKEFILES Variable, Makefile Names, Makefiles -@section Including Other Makefiles -@cindex including other makefiles -@cindex makefile, including - -@findex include -The @code{include} directive tells @code{make} to suspend reading the -current makefile and read one or more other makefiles before continuing. -The directive is a line in the makefile that looks like this: - -@example -include @var{filenames}@dots{} -@end example - -@noindent -@var{filenames} can contain shell file name patterns. -@cindex shell file name pattern (in @code{include}) -@cindex shell wildcards (in @code{include}) -@cindex wildcard, in @code{include} - -Extra spaces are allowed and ignored at the beginning of the line, but -a tab is not allowed. (If the line begins with a tab, it will be -considered a command line.) Whitespace is required between -@code{include} and the file names, and between file names; extra -whitespace is ignored there and at the end of the directive. A -comment starting with @samp{#} is allowed at the end of the line. If -the file names contain any variable or function references, they are -expanded. @xref{Using Variables, ,How to Use Variables}. - -For example, if you have three @file{.mk} files, @file{a.mk}, -@file{b.mk}, and @file{c.mk}, and @code{$(bar)} expands to -@code{bish bash}, then the following expression - -@example -include foo *.mk $(bar) -@end example - -is equivalent to - -@example -include foo a.mk b.mk c.mk bish bash -@end example - -When @code{make} processes an @code{include} directive, it suspends -reading of the containing makefile and reads from each listed file in -turn. When that is finished, @code{make} resumes reading the -makefile in which the directive appears. - -One occasion for using @code{include} directives is when several programs, -handled by individual makefiles in various directories, need to use a -common set of variable definitions -(@pxref{Setting, ,Setting Variables}) or pattern rules -(@pxref{Pattern Rules, ,Defining and Redefining Pattern Rules}). - -Another such occasion is when you want to generate prerequisites from -source files automatically; the prerequisites can be put in a file that -is included by the main makefile. This practice is generally cleaner -than that of somehow appending the prerequisites to the end of the main -makefile as has been traditionally done with other versions of -@code{make}. @xref{Automatic Prerequisites}. -@cindex prerequisites, automatic generation -@cindex automatic generation of prerequisites -@cindex generating prerequisites automatically - -@cindex @code{-I} -@cindex @code{--include-dir} -@cindex included makefiles, default directories -@cindex default directories for included makefiles -@findex /usr/gnu/include -@findex /usr/local/include -@findex /usr/include -If the specified name does not start with a slash, and the file is not -found in the current directory, several other directories are searched. -First, any directories you have specified with the @samp{-I} or -@samp{--include-dir} option are searched -(@pxref{Options Summary, ,Summary of Options}). -Then the following directories (if they exist) -are searched, in this order: -@file{@var{prefix}/include} (normally @file{/usr/local/include} -@footnote{GNU Make compiled for MS-DOS and MS-Windows behaves as if -@var{prefix} has been defined to be the root of the DJGPP tree -hierarchy.}) -@file{/usr/gnu/include}, -@file{/usr/local/include}, @file{/usr/include}. - -If an included makefile cannot be found in any of these directories, a -warning message is generated, but it is not an immediately fatal error; -processing of the makefile containing the @code{include} continues. -Once it has finished reading makefiles, @code{make} will try to remake -any that are out of date or don't exist. -@xref{Remaking Makefiles, ,How Makefiles Are Remade}. -Only after it has tried to find a way to remake a makefile and failed, -will @code{make} diagnose the missing makefile as a fatal error. - -If you want @code{make} to simply ignore a makefile which does not exist -and cannot be remade, with no error message, use the @w{@code{-include}} -directive instead of @code{include}, like this: - -@example --include @var{filenames}@dots{} -@end example - -This acts like @code{include} in every way except that there is no -error (not even a warning) if any of the @var{filenames} do not exist. -For compatibility with some other @code{make} implementations, -@code{sinclude} is another name for @w{@code{-include}}. - -@node MAKEFILES Variable, MAKEFILE_LIST Variable, Include, Makefiles -@section The Variable @code{MAKEFILES} -@cindex makefile, and @code{MAKEFILES} variable -@cindex including (@code{MAKEFILES} variable) - -@vindex MAKEFILES -If the environment variable @code{MAKEFILES} is defined, @code{make} -considers its value as a list of names (separated by whitespace) of -additional makefiles to be read before the others. This works much like -the @code{include} directive: various directories are searched for those -files (@pxref{Include, ,Including Other Makefiles}). In addition, the -default goal is never taken from one of these makefiles and it is not an -error if the files listed in @code{MAKEFILES} are not found.@refill - -@cindex recursion, and @code{MAKEFILES} variable -The main use of @code{MAKEFILES} is in communication between recursive -invocations of @code{make} (@pxref{Recursion, ,Recursive Use of -@code{make}}). It usually is not desirable to set the environment -variable before a top-level invocation of @code{make}, because it is -usually better not to mess with a makefile from outside. However, if -you are running @code{make} without a specific makefile, a makefile in -@code{MAKEFILES} can do useful things to help the built-in implicit -rules work better, such as defining search paths (@pxref{Directory Search}). - -Some users are tempted to set @code{MAKEFILES} in the environment -automatically on login, and program makefiles to expect this to be done. -This is a very bad idea, because such makefiles will fail to work if run by -anyone else. It is much better to write explicit @code{include} directives -in the makefiles. @xref{Include, , Including Other Makefiles}. - -@node MAKEFILE_LIST Variable, Special Variables, MAKEFILES Variable, Makefiles -@comment node-name, next, previous, up -@section The Variable @code{MAKEFILE_LIST} -@cindex makefiles, and @code{MAKEFILE_LIST} variable -@cindex including (@code{MAKEFILE_LIST} variable) - -As @code{make} reads various makefiles, including any obtained from the -@code{MAKEFILES} variable, the command line, the default files, or -from @code{include} directives, their names will be automatically -appended to the @code{MAKEFILE_LIST} variable. They are added right -before @code{make} begins to parse them. - -This means that if the first thing a makefile does is examine the last -word in this variable, it will be the name of the current makefile. -Once the current makefile has used @code{include}, however, the last -word will be the just-included makefile. - -If a makefile named @code{Makefile} has this content: - -@example -@group -name1 := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) - -include inc.mk - -name2 := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) - -all: - @@echo name1 = $(name1) - @@echo name2 = $(name2) -@end group -@end example - -@noindent -then you would expect to see this output: - -@example -@group -name1 = Makefile -name2 = inc.mk -@end group -@end example - -@xref{Text Functions}, for more information on the @code{word} and -@code{words} functions used above. @xref{Flavors, The Two Flavors of -Variables}, for more information on simply-expanded (@code{:=}) -variable definitions. - -@node Special Variables, Remaking Makefiles, MAKEFILE_LIST Variable, Makefiles -@comment node-name, next, previous, up -@section Other Special Variables -@cindex makefiles, and special variables -@cindex special variables - -GNU @code{make} also supports a special variable. Note that any value -you assign to this variable will be ignored; it will always return its -special value. - -@vindex $(.VARIABLES) -@vindex .VARIABLES @r{(list of variables)} -The first special variable is @code{.VARIABLES}. When expanded, the -value consists of a list of the @emph{names} of all global variables -defined in all makefiles read up until that point. This includes -variables which have empty values, as well as built-in variables -(@pxref{Implicit Variables, , Variables Used by Implicit Rules}), but -does not include any variables which are only defined in a -target-specific context. - -@c @vindex $(.TARGETS) -@c @vindex .TARGETS @r{(list of targets)} -@c The second special variable is @code{.TARGETS}. When expanded, the -@c value consists of a list of all targets defined in all makefiles read -@c up until that point. Note it's not enough for a file to be simply -@c mentioned in the makefile to be listed in this variable, even if it -@c would match an implicit rule and become an ``implicit target''. The -@c file must appear as a target, on the left-hand side of a ``:'', to be -@c considered a target for the purposes of this variable. - -@node Remaking Makefiles, Overriding Makefiles, Special Variables, Makefiles -@section How Makefiles Are Remade - -@cindex updating makefiles -@cindex remaking makefiles -@cindex makefile, remaking of -Sometimes makefiles can be remade from other files, such as RCS or SCCS -files. If a makefile can be remade from other files, you probably want -@code{make} to get an up-to-date version of the makefile to read in. - -To this end, after reading in all makefiles, @code{make} will consider -each as a goal target and attempt to update it. If a makefile has a -rule which says how to update it (found either in that very makefile or -in another one) or if an implicit rule applies to it (@pxref{Implicit -Rules, ,Using Implicit Rules}), it will be updated if necessary. After -all makefiles have been checked, if any have actually been changed, -@code{make} starts with a clean slate and reads all the makefiles over -again. (It will also attempt to update each of them over again, but -normally this will not change them again, since they are already up to -date.)@refill - -If you know that one or more of your makefiles cannot be remade and you -want to keep @code{make} from performing an implicit rule search on -them, perhaps for efficiency reasons, you can use any normal method of -preventing implicit rule lookup to do so. For example, you can write an -explicit rule with the makefile as the target, and an empty command -string (@pxref{Empty Commands, ,Using Empty Commands}). - -If the makefiles specify a double-colon rule to remake a file with -commands but no prerequisites, that file will always be remade -(@pxref{Double-Colon}). In the case of makefiles, a makefile that has a -double-colon rule with commands but no prerequisites will be remade every -time @code{make} is run, and then again after @code{make} starts over -and reads the makefiles in again. This would cause an infinite loop: -@code{make} would constantly remake the makefile, and never do anything -else. So, to avoid this, @code{make} will @strong{not} attempt to -remake makefiles which are specified as targets of a double-colon rule -with commands but no prerequisites.@refill - -If you do not specify any makefiles to be read with @samp{-f} or -@samp{--file} options, @code{make} will try the default makefile names; -@pxref{Makefile Names, ,What Name to Give Your Makefile}. Unlike -makefiles explicitly requested with @samp{-f} or @samp{--file} options, -@code{make} is not certain that these makefiles should exist. However, -if a default makefile does not exist but can be created by running -@code{make} rules, you probably want the rules to be run so that the -makefile can be used. - -Therefore, if none of the default makefiles exists, @code{make} will try -to make each of them in the same order in which they are searched for -(@pxref{Makefile Names, ,What Name to Give Your Makefile}) -until it succeeds in making one, or it runs out of names to try. Note -that it is not an error if @code{make} cannot find or make any makefile; -a makefile is not always necessary.@refill - -When you use the @samp{-t} or @samp{--touch} option -(@pxref{Instead of Execution, ,Instead of Executing the Commands}), -you would not want to use an out-of-date makefile to decide which -targets to touch. So the @samp{-t} option has no effect on updating -makefiles; they are really updated even if @samp{-t} is specified. -Likewise, @samp{-q} (or @samp{--question}) and @samp{-n} (or -@samp{--just-print}) do not prevent updating of makefiles, because an -out-of-date makefile would result in the wrong output for other targets. -Thus, @samp{make -f mfile -n foo} will update @file{mfile}, read it in, -and then print the commands to update @file{foo} and its prerequisites -without running them. The commands printed for @file{foo} will be those -specified in the updated contents of @file{mfile}. - -However, on occasion you might actually wish to prevent updating of even -the makefiles. You can do this by specifying the makefiles as goals in -the command line as well as specifying them as makefiles. When the -makefile name is specified explicitly as a goal, the options @samp{-t} -and so on do apply to them. - -Thus, @samp{make -f mfile -n mfile foo} would read the makefile -@file{mfile}, print the commands needed to update it without actually -running them, and then print the commands needed to update @file{foo} -without running them. The commands for @file{foo} will be those -specified by the existing contents of @file{mfile}. - -@node Overriding Makefiles, Reading Makefiles, Remaking Makefiles, Makefiles -@section Overriding Part of Another Makefile - -@cindex overriding makefiles -@cindex makefile, overriding -Sometimes it is useful to have a makefile that is mostly just like -another makefile. You can often use the @samp{include} directive to -include one in the other, and add more targets or variable definitions. -However, if the two makefiles give different commands for the same -target, @code{make} will not let you just do this. But there is another way. - -@cindex match-anything rule, used to override -In the containing makefile (the one that wants to include the other), -you can use a match-anything pattern rule to say that to remake any -target that cannot be made from the information in the containing -makefile, @code{make} should look in another makefile. -@xref{Pattern Rules}, for more information on pattern rules. - -For example, if you have a makefile called @file{Makefile} that says how -to make the target @samp{foo} (and other targets), you can write a -makefile called @file{GNUmakefile} that contains: - -@example -foo: - frobnicate > foo - -%: force - @@$(MAKE) -f Makefile $@@ -force: ; -@end example - -If you say @samp{make foo}, @code{make} will find @file{GNUmakefile}, -read it, and see that to make @file{foo}, it needs to run the command -@samp{frobnicate > foo}. If you say @samp{make bar}, @code{make} will -find no way to make @file{bar} in @file{GNUmakefile}, so it will use the -commands from the pattern rule: @samp{make -f Makefile bar}. If -@file{Makefile} provides a rule for updating @file{bar}, @code{make} -will apply the rule. And likewise for any other target that -@file{GNUmakefile} does not say how to make. - -The way this works is that the pattern rule has a pattern of just -@samp{%}, so it matches any target whatever. The rule specifies a -prerequisite @file{force}, to guarantee that the commands will be run even -if the target file already exists. We give @file{force} target empty -commands to prevent @code{make} from searching for an implicit rule to -build it---otherwise it would apply the same match-anything rule to -@file{force} itself and create a prerequisite loop! - -@node Reading Makefiles, , Overriding Makefiles, Makefiles -@section How @code{make} Reads a Makefile -@cindex reading makefiles -@cindex makefile, parsing - -GNU @code{make} does its work in two distinct phases. During the first -phase it reads all the makefiles, included makefiles, etc. and -internalizes all the variables and their values, implicit and explicit -rules, and constructs a dependency graph of all the targets and their -prerequisites. During the second phase, @code{make} uses these internal -structures to determine what targets will need to be rebuilt and to -invoke the rules necessary to do so. - -It's important to understand this two-phase approach because it has a -direct impact on how variable and function expansion happens; this is -often a source of some confusion when writing makefiles. Here we will -present a summary of the phases in which expansion happens for different -constructs within the makefile. We say that expansion is -@dfn{immediate} if it happens during the first phase: in this case -@code{make} will expand any variables or functions in that section of a -construct as the makefile is parsed. We say that expansion is -@dfn{deferred} if expansion is not performed immediately. Expansion of -deferred construct is not performed until either the construct appears -later in an immediate context, or until the second phase. - -You may not be familiar with some of these constructs yet. You can -reference this section as you become familiar with them, in later -chapters. - -@subheading Variable Assignment -@cindex +=, expansion -@cindex =, expansion -@cindex ?=, expansion -@cindex +=, expansion -@cindex define, expansion - -Variable definitions are parsed as follows: - -@example -@var{immediate} = @var{deferred} -@var{immediate} ?= @var{deferred} -@var{immediate} := @var{immediate} -@var{immediate} += @var{deferred} or @var{immediate} - -define @var{immediate} - @var{deferred} -endef -@end example - -For the append operator, @samp{+=}, the right-hand side is considered -immediate if the variable was previously set as a simple variable -(@samp{:=}), and deferred otherwise. - -@subheading Conditional Statements -@cindex ifdef, expansion -@cindex ifeq, expansion -@cindex ifndef, expansion -@cindex ifneq, expansion - -All instances of conditional syntax are parsed immediately, in their -entirety; this includes the @code{ifdef}, @code{ifeq}, @code{ifndef}, -and @code{ifneq} forms. - -@subheading Rule Definition -@cindex target, expansion -@cindex prerequisite, expansion -@cindex implicit rule, expansion -@cindex pattern rule, expansion -@cindex explicit rule, expansion - -A rule is always expanded the same way, regardless of the form: - -@example -@var{immediate} : @var{immediate} ; @var{deferred} - @var{deferred} -@end example - -That is, the target and prerequisite sections are expanded immediately, -and the commands used to construct the target are always deferred. This -general rule is true for explicit rules, pattern rules, suffix rules, -static pattern rules, and simple prerequisite definitions. - -@node Rules, Commands, Makefiles, Top -@chapter Writing Rules -@cindex writing rules -@cindex rule, how to write -@cindex target -@cindex prerequisite - -A @dfn{rule} appears in the makefile and says when and how to remake -certain files, called the rule's @dfn{targets} (most often only one per rule). -It lists the other files that are the @dfn{prerequisites} of the target, and -@dfn{commands} to use to create or update the target. - -@cindex default goal -@cindex goal, default -The order of rules is not significant, except for determining the -@dfn{default goal}: the target for @code{make} to consider, if you do -not otherwise specify one. The default goal is the target of the first -rule in the first makefile. If the first rule has multiple targets, -only the first target is taken as the default. There are two -exceptions: a target starting with a period is not a default unless it -contains one or more slashes, @samp{/}, as well; and, a target that -defines a pattern rule has no effect on the default goal. -(@xref{Pattern Rules, ,Defining and Redefining Pattern Rules}.) - -Therefore, we usually write the makefile so that the first rule is the -one for compiling the entire program or all the programs described by -the makefile (often with a target called @samp{all}). -@xref{Goals, ,Arguments to Specify the Goals}. - -@menu -* Rule Example:: An example explained. -* Rule Syntax:: General syntax explained. -* Prerequisite Types:: There are two types of prerequisites. -* Wildcards:: Using wildcard characters such as `*'. -* Directory Search:: Searching other directories for source files. -* Phony Targets:: Using a target that is not a real file's name. -* Force Targets:: You can use a target without commands - or prerequisites to mark other - targets as phony. -* Empty Targets:: When only the date matters and the - files are empty. -* Special Targets:: Targets with special built-in meanings. -* Multiple Targets:: When to make use of several targets in a rule. -* Multiple Rules:: How to use several rules with the same target. -* Static Pattern:: Static pattern rules apply to multiple targets - and can vary the prerequisites according to - the target name. -* Double-Colon:: How to use a special kind of rule to allow - several independent rules for one target. -* Automatic Prerequisites:: How to automatically generate rules giving - prerequisites from source files themselves. -@end menu - -@ifinfo -@node Rule Example, Rule Syntax, Rules, Rules -@section Rule Example - -Here is an example of a rule: - -@example -foo.o : foo.c defs.h # module for twiddling the frobs - cc -c -g foo.c -@end example - -Its target is @file{foo.o} and its prerequisites are @file{foo.c} and -@file{defs.h}. It has one command, which is @samp{cc -c -g foo.c}. -The command line starts with a tab to identify it as a command. - -This rule says two things: - -@itemize @bullet -@item -How to decide whether @file{foo.o} is out of date: it is out of date -if it does not exist, or if either @file{foo.c} or @file{defs.h} is -more recent than it. - -@item -How to update the file @file{foo.o}: by running @code{cc} as stated. -The command does not explicitly mention @file{defs.h}, but we presume -that @file{foo.c} includes it, and that that is why @file{defs.h} was -added to the prerequisites. -@end itemize -@end ifinfo - -@node Rule Syntax, Prerequisite Types, Rule Example, Rules -@section Rule Syntax - -@cindex rule syntax -@cindex syntax of rules -In general, a rule looks like this: - -@example -@var{targets} : @var{prerequisites} - @var{command} - @dots{} -@end example - -@noindent -or like this: - -@example -@var{targets} : @var{prerequisites} ; @var{command} - @var{command} - @dots{} -@end example - -@cindex targets -@cindex rule targets -The @var{targets} are file names, separated by spaces. Wildcard -characters may be used (@pxref{Wildcards, ,Using Wildcard Characters -in File Names}) and a name of the form @file{@var{a}(@var{m})} -represents member @var{m} in archive file @var{a} -(@pxref{Archive Members, ,Archive Members as Targets}). -Usually there is only one -target per rule, but occasionally there is a reason to have more -(@pxref{Multiple Targets, , Multiple Targets in a Rule}).@refill - -@cindex commands -@cindex tab character (in commands) -The @var{command} lines start with a tab character. The first command may -appear on the line after the prerequisites, with a tab character, or may -appear on the same line, with a semicolon. Either way, the effect is the -same. @xref{Commands, ,Writing the Commands in Rules}. - -@cindex dollar sign (@code{$}), in rules -@cindex @code{$}, in rules -@cindex rule, and @code{$} -Because dollar signs are used to start variable references, if you really -want a dollar sign in a rule you must write two of them, @samp{$$} -(@pxref{Using Variables, ,How to Use Variables}). -You may split a long line by inserting a backslash -followed by a newline, but this is not required, as @code{make} places no -limit on the length of a line in a makefile. - -A rule tells @code{make} two things: when the targets are out of date, -and how to update them when necessary. - -@cindex prerequisites -@cindex rule prerequisites -The criterion for being out of date is specified in terms of the -@var{prerequisites}, which consist of file names separated by spaces. -(Wildcards and archive members (@pxref{Archives}) are allowed here too.) -A target is out of date if it does not exist or if it is older than any -of the prerequisites (by comparison of last-modification times). The -idea is that the contents of the target file are computed based on -information in the prerequisites, so if any of the prerequisites changes, -the contents of the existing target file are no longer necessarily -valid. - -How to update is specified by @var{commands}. These are lines to be -executed by the shell (normally @samp{sh}), but with some extra features -(@pxref{Commands, ,Writing the Commands in Rules}). - -@node Prerequisite Types, Wildcards, Rule Syntax, Rules -@comment node-name, next, previous, up -@section Types of Prerequisites -@cindex prerequisite types -@cindex types of prerequisites - -@cindex prerequisites, normal -@cindex normal prerequisites -@cindex prerequisites, order-only -@cindex order-only prerequisites -There are actually two different types of prerequisites understood by -GNU @code{make}: normal prerequisites such as described in the -previous section, and @dfn{order-only} prerequisites. A normal -prerequisite actually makes two statements: first, it imposes an order -of execution of build commands: any commands necessary to build any of -a target's prerequisites will be fully executed before any commands -necessary to build the target. Second, it imposes a dependency -relationship: if any prerequisite is newer than the target, then the -target is considered out-of-date and must be rebuilt. - -Normally, this is exactly what you want: if a target's prerequisite is -updated, then the target should also be updated. - -Occasionally, however, you have a situation where you want to impose a -specific ordering on the rules to be invoked @emph{without} forcing -the target to be updated if one of those rules is executed. In that -case, you want to define @dfn{order-only} prerequisites. Order-only -prerequisites can be specified by placing a pipe symbol (@code{|}) -in the prerequisites list: any prerequisites to the left of the pipe -symbol are normal; any prerequisites to the right are order-only: - -@example -@var{targets} : @var{normal-prerequisites} | @var{order-only-prerequisites} -@end example - -The normal prerequisites section may of course be empty. Also, you -may still declare multiple lines of prerequisites for the same target: -they are appended appropriately. Note that if you declare the same -file to be both a normal and an order-only prerequisite, the normal -prerequisite takes precedence (since they are a strict superset of the -behavior of an order-only prerequisite). - -@node Wildcards, Directory Search, Prerequisite Types, Rules -@section Using Wildcard Characters in File Names -@cindex wildcard -@cindex file name with wildcards -@cindex globbing (wildcards) - -@cindex @code{*} (wildcard character) -@cindex @code{?} (wildcard character) -@cindex @code{[@dots{}]} (wildcard characters) -A single file name can specify many files using @dfn{wildcard characters}. -The wildcard characters in @code{make} are @samp{*}, @samp{?} and -@samp{[@dots{}]}, the same as in the Bourne shell. For example, @file{*.c} -specifies a list of all the files (in the working directory) whose names -end in @samp{.c}.@refill - -@cindex @code{~} (tilde) -@cindex tilde (@code{~}) -@cindex home directory -The character @samp{~} at the beginning of a file name also has special -significance. If alone, or followed by a slash, it represents your home -directory. For example @file{~/bin} expands to @file{/home/you/bin}. -If the @samp{~} is followed by a word, the string represents the home -directory of the user named by that word. For example @file{~john/bin} -expands to @file{/home/john/bin}. On systems which don't have a home -directory for each user (such as MS-DOS or MS-Windows), this -functionality can be simulated by setting the environment variable -@var{HOME}.@refill - -Wildcard expansion happens automatically in targets, in prerequisites, -and in commands (where the shell does the expansion). In other -contexts, wildcard expansion happens only if you request it explicitly -with the @code{wildcard} function. - -The special significance of a wildcard character can be turned off by -preceding it with a backslash. Thus, @file{foo\*bar} would refer to a -specific file whose name consists of @samp{foo}, an asterisk, and -@samp{bar}.@refill - -@menu -* Wildcard Examples:: Several examples -* Wildcard Pitfall:: Problems to avoid. -* Wildcard Function:: How to cause wildcard expansion where - it does not normally take place. -@end menu - -@node Wildcard Examples, Wildcard Pitfall, Wildcards, Wildcards -@subsection Wildcard Examples - -Wildcards can be used in the commands of a rule, where they are expanded -by the shell. For example, here is a rule to delete all the object files: - -@example -@group -clean: - rm -f *.o -@end group -@end example -@cindex @code{rm} (shell command) - -Wildcards are also useful in the prerequisites of a rule. With the -following rule in the makefile, @samp{make print} will print all the -@samp{.c} files that have changed since the last time you printed them: - -@example -print: *.c - lpr -p $? - touch print -@end example - -@cindex @code{print} target -@cindex @code{lpr} (shell command) -@cindex @code{touch} (shell command) -@noindent -This rule uses @file{print} as an empty target file; see @ref{Empty -Targets, ,Empty Target Files to Record Events}. (The automatic variable -@samp{$?} is used to print only those files that have changed; see -@ref{Automatic Variables}.)@refill - -Wildcard expansion does not happen when you define a variable. Thus, if -you write this: - -@example -objects = *.o -@end example - -@noindent -then the value of the variable @code{objects} is the actual string -@samp{*.o}. However, if you use the value of @code{objects} in a target, -prerequisite or command, wildcard expansion will take place at that time. -To set @code{objects} to the expansion, instead use: - -@example -objects := $(wildcard *.o) -@end example - -@noindent -@xref{Wildcard Function}. - -@node Wildcard Pitfall, Wildcard Function, Wildcard Examples, Wildcards -@subsection Pitfalls of Using Wildcards -@cindex wildcard pitfalls -@cindex pitfalls of wildcards -@cindex mistakes with wildcards -@cindex errors with wildcards -@cindex problems with wildcards - -Now here is an example of a naive way of using wildcard expansion, that -does not do what you would intend. Suppose you would like to say that the -executable file @file{foo} is made from all the object files in the -directory, and you write this: - -@example -objects = *.o - -foo : $(objects) - cc -o foo $(CFLAGS) $(objects) -@end example - -@noindent -The value of @code{objects} is the actual string @samp{*.o}. Wildcard -expansion happens in the rule for @file{foo}, so that each @emph{existing} -@samp{.o} file becomes a prerequisite of @file{foo} and will be recompiled if -necessary. - -But what if you delete all the @samp{.o} files? When a wildcard matches -no files, it is left as it is, so then @file{foo} will depend on the -oddly-named file @file{*.o}. Since no such file is likely to exist, -@code{make} will give you an error saying it cannot figure out how to -make @file{*.o}. This is not what you want! - -Actually it is possible to obtain the desired result with wildcard -expansion, but you need more sophisticated techniques, including the -@code{wildcard} function and string substitution. -@ifinfo -@xref{Wildcard Function, ,The Function @code{wildcard}}. -@end ifinfo -@iftex -These are described in the following section. -@end iftex - -@cindex wildcards and MS-DOS/MS-Windows backslashes -@cindex backslashes in pathnames and wildcard expansion - -Microsoft operating systems (MS-DOS and MS-Windows) use backslashes to -separate directories in pathnames, like so: - -@example - c:\foo\bar\baz.c -@end example - -This is equivalent to the Unix-style @file{c:/foo/bar/baz.c} (the -@file{c:} part is the so-called drive letter). When @code{make} runs on -these systems, it supports backslashes as well as the Unix-style forward -slashes in pathnames. However, this support does @emph{not} include the -wildcard expansion, where backslash is a quote character. Therefore, -you @emph{must} use Unix-style slashes in these cases. - - -@node Wildcard Function, , Wildcard Pitfall, Wildcards -@subsection The Function @code{wildcard} -@findex wildcard - -Wildcard expansion happens automatically in rules. But wildcard expansion -does not normally take place when a variable is set, or inside the -arguments of a function. If you want to do wildcard expansion in such -places, you need to use the @code{wildcard} function, like this: - -@example -$(wildcard @var{pattern}@dots{}) -@end example - -@noindent -This string, used anywhere in a makefile, is replaced by a -space-separated list of names of existing files that match one of the -given file name patterns. If no existing file name matches a pattern, -then that pattern is omitted from the output of the @code{wildcard} -function. Note that this is different from how unmatched wildcards -behave in rules, where they are used verbatim rather than ignored -(@pxref{Wildcard Pitfall}). - -One use of the @code{wildcard} function is to get a list of all the C source -files in a directory, like this: - -@example -$(wildcard *.c) -@end example - -We can change the list of C source files into a list of object files by -replacing the @samp{.c} suffix with @samp{.o} in the result, like this: - -@example -$(patsubst %.c,%.o,$(wildcard *.c)) -@end example - -@noindent -(Here we have used another function, @code{patsubst}. -@xref{Text Functions, ,Functions for String Substitution and Analysis}.)@refill - -Thus, a makefile to compile all C source files in the directory and then -link them together could be written as follows: - -@example -objects := $(patsubst %.c,%.o,$(wildcard *.c)) - -foo : $(objects) - cc -o foo $(objects) -@end example - -@noindent -(This takes advantage of the implicit rule for compiling C programs, so -there is no need to write explicit rules for compiling the files. -@xref{Flavors, ,The Two Flavors of Variables}, for an explanation of -@samp{:=}, which is a variant of @samp{=}.) - -@node Directory Search, Phony Targets, Wildcards, Rules -@section Searching Directories for Prerequisites -@vindex VPATH -@findex vpath -@cindex vpath -@cindex search path for prerequisites (@code{VPATH}) -@cindex directory search (@code{VPATH}) - -For large systems, it is often desirable to put sources in a separate -directory from the binaries. The @dfn{directory search} features of -@code{make} facilitate this by searching several directories -automatically to find a prerequisite. When you redistribute the files -among directories, you do not need to change the individual rules, -just the search paths. - -@menu -* General Search:: Specifying a search path that applies - to every prerequisite. -* Selective Search:: Specifying a search path - for a specified class of names. -* Search Algorithm:: When and how search paths are applied. -* Commands/Search:: How to write shell commands that work together - with search paths. -* Implicit/Search:: How search paths affect implicit rules. -* Libraries/Search:: Directory search for link libraries. -@end menu - -@node General Search, Selective Search, Directory Search, Directory Search -@subsection @code{VPATH}: Search Path for All Prerequisites -@vindex VPATH - -The value of the @code{make} variable @code{VPATH} specifies a list of -directories that @code{make} should search. Most often, the -directories are expected to contain prerequisite files that are not in the -current directory; however, @code{VPATH} specifies a search list that -@code{make} applies for all files, including files which are targets of -rules. - -Thus, if a file that is listed as a target or prerequisite does not exist -in the current directory, @code{make} searches the directories listed in -@code{VPATH} for a file with that name. If a file is found in one of -them, that file may become the prerequisite (see below). Rules may then -specify the names of files in the prerequisite list as if they all -existed in the current directory. @xref{Commands/Search, ,Writing Shell -Commands with Directory Search}. - -In the @code{VPATH} variable, directory names are separated by colons or -blanks. The order in which directories are listed is the order followed -by @code{make} in its search. (On MS-DOS and MS-Windows, semi-colons -are used as separators of directory names in @code{VPATH}, since the -colon can be used in the pathname itself, after the drive letter.) - -For example, - -@example -VPATH = src:../headers -@end example - -@noindent -specifies a path containing two directories, @file{src} and -@file{../headers}, which @code{make} searches in that order. - -With this value of @code{VPATH}, the following rule, - -@example -foo.o : foo.c -@end example - -@noindent -is interpreted as if it were written like this: - -@example -foo.o : src/foo.c -@end example - -@noindent -assuming the file @file{foo.c} does not exist in the current directory but -is found in the directory @file{src}. - -@node Selective Search, Search Algorithm, General Search, Directory Search -@subsection The @code{vpath} Directive -@findex vpath - -Similar to the @code{VPATH} variable, but more selective, is the -@code{vpath} directive (note lower case), which allows you to specify a -search path for a particular class of file names: those that match a -particular pattern. Thus you can supply certain search directories for -one class of file names and other directories (or none) for other file -names. - -There are three forms of the @code{vpath} directive: - -@table @code -@item vpath @var{pattern} @var{directories} -Specify the search path @var{directories} for file names that match -@var{pattern}. - -The search path, @var{directories}, is a list of directories to be -searched, separated by colons (semi-colons on MS-DOS and MS-Windows) or -blanks, just like the search path used in the @code{VPATH} variable. - -@item vpath @var{pattern} -Clear out the search path associated with @var{pattern}. - -@c Extra blank line makes sure this gets two lines. -@item vpath - -Clear all search paths previously specified with @code{vpath} directives. -@end table - -A @code{vpath} pattern is a string containing a @samp{%} character. The -string must match the file name of a prerequisite that is being searched -for, the @samp{%} character matching any sequence of zero or more -characters (as in pattern rules; @pxref{Pattern Rules, ,Defining and -Redefining Pattern Rules}). For example, @code{%.h} matches files that -end in @code{.h}. (If there is no @samp{%}, the pattern must match the -prerequisite exactly, which is not useful very often.) - -@cindex @code{%}, quoting in @code{vpath} -@cindex @code{%}, quoting with @code{\} (backslash) -@cindex @code{\} (backslash), to quote @code{%} -@cindex backslash (@code{\}), to quote @code{%} -@cindex quoting @code{%}, in @code{vpath} -@samp{%} characters in a @code{vpath} directive's pattern can be quoted -with preceding backslashes (@samp{\}). Backslashes that would otherwise -quote @samp{%} characters can be quoted with more backslashes. -Backslashes that quote @samp{%} characters or other backslashes are -removed from the pattern before it is compared to file names. Backslashes -that are not in danger of quoting @samp{%} characters go unmolested.@refill - -When a prerequisite fails to exist in the current directory, if the -@var{pattern} in a @code{vpath} directive matches the name of the -prerequisite file, then the @var{directories} in that directive are searched -just like (and before) the directories in the @code{VPATH} variable. - -For example, - -@example -vpath %.h ../headers -@end example - -@noindent -tells @code{make} to look for any prerequisite whose name ends in @file{.h} -in the directory @file{../headers} if the file is not found in the current -directory. - -If several @code{vpath} patterns match the prerequisite file's name, then -@code{make} processes each matching @code{vpath} directive one by one, -searching all the directories mentioned in each directive. @code{make} -handles multiple @code{vpath} directives in the order in which they -appear in the makefile; multiple directives with the same pattern are -independent of each other. - -@need 750 -Thus, - -@example -@group -vpath %.c foo -vpath % blish -vpath %.c bar -@end group -@end example - -@noindent -will look for a file ending in @samp{.c} in @file{foo}, then -@file{blish}, then @file{bar}, while - -@example -@group -vpath %.c foo:bar -vpath % blish -@end group -@end example - -@noindent -will look for a file ending in @samp{.c} in @file{foo}, then -@file{bar}, then @file{blish}. - -@node Search Algorithm, Commands/Search, Selective Search, Directory Search -@subsection How Directory Searches are Performed -@cindex algorithm for directory search -@cindex directory search algorithm - -When a prerequisite is found through directory search, regardless of type -(general or selective), the pathname located may not be the one that -@code{make} actually provides you in the prerequisite list. Sometimes -the path discovered through directory search is thrown away. - -The algorithm @code{make} uses to decide whether to keep or abandon a -path found via directory search is as follows: - -@enumerate -@item -If a target file does not exist at the path specified in the makefile, -directory search is performed. - -@item -If the directory search is successful, that path is kept and this file -is tentatively stored as the target. - -@item -All prerequisites of this target are examined using this same method. - -@item -After processing the prerequisites, the target may or may not need to be -rebuilt: - -@enumerate a -@item -If the target does @emph{not} need to be rebuilt, the path to the file -found during directory search is used for any prerequisite lists which -contain this target. In short, if @code{make} doesn't need to rebuild -the target then you use the path found via directory search. - -@item -If the target @emph{does} need to be rebuilt (is out-of-date), the -pathname found during directory search is @emph{thrown away}, and the -target is rebuilt using the file name specified in the makefile. In -short, if @code{make} must rebuild, then the target is rebuilt locally, -not in the directory found via directory search. -@end enumerate -@end enumerate - -This algorithm may seem complex, but in practice it is quite often -exactly what you want. - -@cindex traditional directory search (GPATH) -@cindex directory search, traditional (GPATH) -Other versions of @code{make} use a simpler algorithm: if the file does -not exist, and it is found via directory search, then that pathname is -always used whether or not the target needs to be built. Thus, if the -target is rebuilt it is created at the pathname discovered during -directory search. - -@vindex GPATH -If, in fact, this is the behavior you want for some or all of your -directories, you can use the @code{GPATH} variable to indicate this to -@code{make}. - -@code{GPATH} has the same syntax and format as @code{VPATH} (that is, a -space- or colon-delimited list of pathnames). If an out-of-date target -is found by directory search in a directory that also appears in -@code{GPATH}, then that pathname is not thrown away. The target is -rebuilt using the expanded path. - -@node Commands/Search, Implicit/Search, Search Algorithm, Directory Search -@subsection Writing Shell Commands with Directory Search -@cindex shell command, and directory search -@cindex directory search (@code{VPATH}), and shell commands - -When a prerequisite is found in another directory through directory search, -this cannot change the commands of the rule; they will execute as written. -Therefore, you must write the commands with care so that they will look for -the prerequisite in the directory where @code{make} finds it. - -This is done with the @dfn{automatic variables} such as @samp{$^} -(@pxref{Automatic Variables}). -For instance, the value of @samp{$^} is a -list of all the prerequisites of the rule, including the names of -the directories in which they were found, and the value of -@samp{$@@} is the target. Thus:@refill - -@example -foo.o : foo.c - cc -c $(CFLAGS) $^ -o $@@ -@end example - -@noindent -(The variable @code{CFLAGS} exists so you can specify flags for C -compilation by implicit rules; we use it here for consistency so it will -affect all C compilations uniformly; -@pxref{Implicit Variables, ,Variables Used by Implicit Rules}.) - -Often the prerequisites include header files as well, which you do not -want to mention in the commands. The automatic variable @samp{$<} is -just the first prerequisite: - -@example -VPATH = src:../headers -foo.o : foo.c defs.h hack.h - cc -c $(CFLAGS) $< -o $@@ -@end example - -@node Implicit/Search, Libraries/Search, Commands/Search, Directory Search -@subsection Directory Search and Implicit Rules -@cindex @code{VPATH}, and implicit rules -@cindex directory search (@code{VPATH}), and implicit rules -@cindex search path for prerequisites (@code{VPATH}), and implicit rules -@cindex implicit rule, and directory search -@cindex implicit rule, and @code{VPATH} -@cindex rule, implicit, and directory search -@cindex rule, implicit, and @code{VPATH} - -The search through the directories specified in @code{VPATH} or with -@code{vpath} also happens during consideration of implicit rules -(@pxref{Implicit Rules, ,Using Implicit Rules}). - -For example, when a file @file{foo.o} has no explicit rule, @code{make} -considers implicit rules, such as the built-in rule to compile -@file{foo.c} if that file exists. If such a file is lacking in the -current directory, the appropriate directories are searched for it. If -@file{foo.c} exists (or is mentioned in the makefile) in any of the -directories, the implicit rule for C compilation is applied. - -The commands of implicit rules normally use automatic variables as a -matter of necessity; consequently they will use the file names found by -directory search with no extra effort. - -@node Libraries/Search, , Implicit/Search, Directory Search -@subsection Directory Search for Link Libraries -@cindex link libraries, and directory search -@cindex libraries for linking, directory search -@cindex directory search (@code{VPATH}), and link libraries -@cindex @code{VPATH}, and link libraries -@cindex search path for prerequisites (@code{VPATH}), and link libraries -@cindex @code{-l} (library search) -@cindex link libraries, patterns matching -@cindex @code{.LIBPATTERNS}, and link libraries -@vindex .LIBPATTERNS - -Directory search applies in a special way to libraries used with the -linker. This special feature comes into play when you write a prerequisite -whose name is of the form @samp{-l@var{name}}. (You can tell something -strange is going on here because the prerequisite is normally the name of a -file, and the @emph{file name} of a library generally looks like -@file{lib@var{name}.a}, not like @samp{-l@var{name}}.)@refill - -When a prerequisite's name has the form @samp{-l@var{name}}, @code{make} -handles it specially by searching for the file @file{lib@var{name}.so} in -the current directory, in directories specified by matching @code{vpath} -search paths and the @code{VPATH} search path, and then in the -directories @file{/lib}, @file{/usr/lib}, and @file{@var{prefix}/lib} -(normally @file{/usr/local/lib}, but MS-DOS/MS-Windows versions of -@code{make} behave as if @var{prefix} is defined to be the root of the -DJGPP installation tree). - -If that file is not found, then the file @file{lib@var{name}.a} is -searched for, in the same directories as above. - -For example, if there is a @file{/usr/lib/libcurses.a} library on your -system (and no @file{/usr/lib/libcurses.so} file), then - -@example -@group -foo : foo.c -lcurses - cc $^ -o $@@ -@end group -@end example - -@noindent -would cause the command @samp{cc foo.c /usr/lib/libcurses.a -o foo} to -be executed when @file{foo} is older than @file{foo.c} or than -@file{/usr/lib/libcurses.a}.@refill - -Although the default set of files to be searched for is -@file{lib@var{name}.so} and @file{lib@var{name}.a}, this is customizable -via the @code{.LIBPATTERNS} variable. Each word in the value of this -variable is a pattern string. When a prerequisite like -@samp{-l@var{name}} is seen, @code{make} will replace the percent in -each pattern in the list with @var{name} and perform the above directory -searches using that library filename. If no library is found, the next -word in the list will be used. - -The default value for @code{.LIBPATTERNS} is ``@samp{lib%.so lib%.a}'', -which provides the default behavior described above. - -You can turn off link library expansion completely by setting this -variable to an empty value. - -@node Phony Targets, Force Targets, Directory Search, Rules -@section Phony Targets -@cindex phony targets -@cindex targets, phony -@cindex targets without a file - -A phony target is one that is not really the name of a file. It is just a -name for some commands to be executed when you make an explicit request. -There are two reasons to use a phony target: to avoid a conflict with -a file of the same name, and to improve performance. - -If you write a rule whose commands will not create the target file, the -commands will be executed every time the target comes up for remaking. -Here is an example: - -@example -@group -clean: - rm *.o temp -@end group -@end example - -@noindent -Because the @code{rm} command does not create a file named @file{clean}, -probably no such file will ever exist. Therefore, the @code{rm} command -will be executed every time you say @samp{make clean}. -@cindex @code{rm} (shell command) - -@findex .PHONY -The phony target will cease to work if anything ever does create a file -named @file{clean} in this directory. Since it has no prerequisites, the -file @file{clean} would inevitably be considered up to date, and its -commands would not be executed. To avoid this problem, you can explicitly -declare the target to be phony, using the special target @code{.PHONY} -(@pxref{Special Targets, ,Special Built-in Target Names}) as follows: - -@example -.PHONY : clean -@end example - -@noindent -Once this is done, @samp{make clean} will run the commands regardless of -whether there is a file named @file{clean}. - -Since it knows that phony targets do not name actual files that could be -remade from other files, @code{make} skips the implicit rule search for -phony targets (@pxref{Implicit Rules}). This is why declaring a target -phony is good for performance, even if you are not worried about the -actual file existing. - -Thus, you first write the line that states that @code{clean} is a -phony target, then you write the rule, like this: - -@example -@group -.PHONY: clean -clean: - rm *.o temp -@end group -@end example - -Another example of the usefulness of phony targets is in conjunction -with recursive invocations of @code{make} (for more information, see -@ref{Recursion, ,Recursive Use of @code{make}}). In this case the -makefile will often contain a variable which lists a number of -subdirectories to be built. One way to handle this is with one rule -whose command is a shell loop over the subdirectories, like this: - -@example -@group -SUBDIRS = foo bar baz - -subdirs: - for dir in $(SUBDIRS); do \ - $(MAKE) -C $$dir; \ - done -@end group -@end example - -There are a few problems with this method, however. First, any error -detected in a submake is not noted by this rule, so it will continue to -build the rest of the directories even when one fails. This can be -overcome by adding shell commands to note the error and exit, but then -it will do so even if @code{make} is invoked with the @code{-k} option, -which is unfortunate. Second, and perhaps more importantly, you cannot -take advantage of the parallel build capabilities of make using this -method, since there is only one rule. - -By declaring the subdirectories as phony targets (you must do this as -the subdirectory obviously always exists; otherwise it won't be built) -you can remove these problems: - -@example -@group -SUBDIRS = foo bar baz - -.PHONY: subdirs $(SUBDIRS) - -subdirs: $(SUBDIRS) - -$(SUBDIRS): - $(MAKE) -C $@@ - -foo: baz -@end group -@end example - -Here we've also declared that the @file{foo} subdirectory cannot be -built until after the @file{baz} subdirectory is complete; this kind of -relationship declaration is particularly important when attempting -parallel builds. - -A phony target should not be a prerequisite of a real target file; if it -is, its commands are run every time @code{make} goes to update that -file. As long as a phony target is never a prerequisite of a real -target, the phony target commands will be executed only when the phony -target is a specified goal (@pxref{Goals, ,Arguments to Specify the -Goals}). - -Phony targets can have prerequisites. When one directory contains multiple -programs, it is most convenient to describe all of the programs in one -makefile @file{./Makefile}. Since the target remade by default will be the -first one in the makefile, it is common to make this a phony target named -@samp{all} and give it, as prerequisites, all the individual programs. For -example: - -@example -all : prog1 prog2 prog3 -.PHONY : all - -prog1 : prog1.o utils.o - cc -o prog1 prog1.o utils.o - -prog2 : prog2.o - cc -o prog2 prog2.o - -prog3 : prog3.o sort.o utils.o - cc -o prog3 prog3.o sort.o utils.o -@end example - -@noindent -Now you can say just @samp{make} to remake all three programs, or specify -as arguments the ones to remake (as in @samp{make prog1 prog3}). - -When one phony target is a prerequisite of another, it serves as a subroutine -of the other. For example, here @samp{make cleanall} will delete the -object files, the difference files, and the file @file{program}: - -@example -.PHONY: cleanall cleanobj cleandiff - -cleanall : cleanobj cleandiff - rm program - -cleanobj : - rm *.o - -cleandiff : - rm *.diff -@end example - -@node Force Targets, Empty Targets, Phony Targets, Rules -@section Rules without Commands or Prerequisites -@cindex force targets -@cindex targets, force -@cindex @code{FORCE} -@cindex rule, no commands or prerequisites - -If a rule has no prerequisites or commands, and the target of the rule -is a nonexistent file, then @code{make} imagines this target to have -been updated whenever its rule is run. This implies that all targets -depending on this one will always have their commands run. - -An example will illustrate this: - -@example -@group -clean: FORCE - rm $(objects) -FORCE: -@end group -@end example - -Here the target @samp{FORCE} satisfies the special conditions, so the -target @file{clean} that depends on it is forced to run its commands. -There is nothing special about the name @samp{FORCE}, but that is one name -commonly used this way. - -As you can see, using @samp{FORCE} this way has the same results as using -@samp{.PHONY: clean}. - -Using @samp{.PHONY} is more explicit and more efficient. However, -other versions of @code{make} do not support @samp{.PHONY}; thus -@samp{FORCE} appears in many makefiles. @xref{Phony Targets}. - -@node Empty Targets, Special Targets, Force Targets, Rules -@section Empty Target Files to Record Events -@cindex empty targets -@cindex targets, empty -@cindex recording events with empty targets - -The @dfn{empty target} is a variant of the phony target; it is used to hold -commands for an action that you request explicitly from time to time. -Unlike a phony target, this target file can really exist; but the file's -contents do not matter, and usually are empty. - -The purpose of the empty target file is to record, with its -last-modification time, when the rule's commands were last executed. It -does so because one of the commands is a @code{touch} command to update the -target file. - -The empty target file should have some prerequisites (otherwise it -doesn't make sense). When you ask to remake the empty target, the -commands are executed if any prerequisite is more recent than the target; -in other words, if a prerequisite has changed since the last time you -remade the target. Here is an example: - -@example -print: foo.c bar.c - lpr -p $? - touch print -@end example -@cindex @code{print} target -@cindex @code{lpr} (shell command) -@cindex @code{touch} (shell command) - -@noindent -With this rule, @samp{make print} will execute the @code{lpr} command if -either source file has changed since the last @samp{make print}. The -automatic variable @samp{$?} is used to print only those files that have -changed (@pxref{Automatic Variables}). - -@node Special Targets, Multiple Targets, Empty Targets, Rules -@section Special Built-in Target Names -@cindex special targets -@cindex built-in special targets -@cindex targets, built-in special - -Certain names have special meanings if they appear as targets. - -@table @code -@findex .PHONY -@item .PHONY - -The prerequisites of the special target @code{.PHONY} are considered to -be phony targets. When it is time to consider such a target, -@code{make} will run its commands unconditionally, regardless of -whether a file with that name exists or what its last-modification -time is. @xref{Phony Targets, ,Phony Targets}. - -@findex .SUFFIXES -@item .SUFFIXES - -The prerequisites of the special target @code{.SUFFIXES} are the list -of suffixes to be used in checking for suffix rules. -@xref{Suffix Rules, , Old-Fashioned Suffix Rules}. - -@findex .DEFAULT -@item .DEFAULT - -The commands specified for @code{.DEFAULT} are used for any target for -which no rules are found (either explicit rules or implicit rules). -@xref{Last Resort}. If @code{.DEFAULT} commands are specified, every -file mentioned as a prerequisite, but not as a target in a rule, will have -these commands executed on its behalf. @xref{Implicit Rule Search, -,Implicit Rule Search Algorithm}. - -@findex .PRECIOUS -@item .PRECIOUS -@cindex precious targets -@cindex preserving with @code{.PRECIOUS} - -The targets which @code{.PRECIOUS} depends on are given the following -special treatment: if @code{make} is killed or interrupted during the -execution of their commands, the target is not deleted. -@xref{Interrupts, ,Interrupting or Killing @code{make}}. Also, if the -target is an intermediate file, it will not be deleted after it is no -longer needed, as is normally done. @xref{Chained Rules, ,Chains of -Implicit Rules}. In this latter respect it overlaps with the -@code{.SECONDARY} special target. - -You can also list the target pattern of an implicit rule (such as -@samp{%.o}) as a prerequisite file of the special target @code{.PRECIOUS} -to preserve intermediate files created by rules whose target patterns -match that file's name. - -@findex .INTERMEDIATE -@item .INTERMEDIATE -@cindex intermediate targets, explicit - -The targets which @code{.INTERMEDIATE} depends on are treated as -intermediate files. @xref{Chained Rules, ,Chains of Implicit Rules}. -@code{.INTERMEDIATE} with no prerequisites has no effect. - -@findex .SECONDARY -@item .SECONDARY -@cindex secondary targets -@cindex preserving with @code{.SECONDARY} - -The targets which @code{.SECONDARY} depends on are treated as -intermediate files, except that they are never automatically deleted. -@xref{Chained Rules, ,Chains of Implicit Rules}. - -@code{.SECONDARY} with no prerequisites causes all targets to be treated -as secondary (i.e., no target is removed because it is considered -intermediate). - -@findex .DELETE_ON_ERROR -@item .DELETE_ON_ERROR -@cindex removing targets on failure - -If @code{.DELETE_ON_ERROR} is mentioned as a target anywhere in the -makefile, then @code{make} will delete the target of a rule if it has -changed and its commands exit with a nonzero exit status, just as it -does when it receives a signal. @xref{Errors, ,Errors in Commands}. - -@findex .IGNORE -@item .IGNORE - -If you specify prerequisites for @code{.IGNORE}, then @code{make} will -ignore errors in execution of the commands run for those particular -files. The commands for @code{.IGNORE} are not meaningful. - -If mentioned as a target with no prerequisites, @code{.IGNORE} says to -ignore errors in execution of commands for all files. This usage of -@samp{.IGNORE} is supported only for historical compatibility. Since -this affects every command in the makefile, it is not very useful; we -recommend you use the more selective ways to ignore errors in specific -commands. @xref{Errors, ,Errors in Commands}. - -@findex .LOW_RESOLUTION_TIME -@item .LOW_RESOLUTION_TIME - -If you specify prerequisites for @code{.LOW_RESOLUTION_TIME}, -@command{make} assumes that these files are created by commands that -generate low resolution time stamps. The commands for -@code{.LOW_RESOLUTION_TIME} are not meaningful. - -The high resolution file time stamps of many modern hosts lessen the -chance of @command{make} incorrectly concluding that a file is up to -date. Unfortunately, these hosts provide no way to set a high -resolution file time stamp, so commands like @samp{cp -p} that -explicitly set a file's time stamp must discard its subsecond part. If -a file is created by such a command, you should list it as a -prerequisite of @code{.LOW_RESOLUTION_TIME} so that @command{make} does -not mistakenly conclude that the file is out of date. For example: - -@example -@group -.LOW_RESOLUTION_TIME: dst -dst: src - cp -p src dst -@end group -@end example - -Since @samp{cp -p} discards the subsecond part of @file{src}'s time -stamp, @file{dst} is typically slightly older than @file{src} even when -it is up to date. The @code{.LOW_RESOLUTION_TIME} line causes -@command{make} to consider @file{dst} to be up to date if its time stamp -is at the start of the same second that @file{src}'s time stamp is in. - -Due to a limitation of the archive format, archive member time stamps -are always low resolution. You need not list archive members as -prerequisites of @code{.LOW_RESOLUTION_TIME}, as @command{make} does this -automatically. - -@findex .SILENT -@item .SILENT - -If you specify prerequisites for @code{.SILENT}, then @code{make} will -not print the commands to remake those particular files before executing -them. The commands for @code{.SILENT} are not meaningful. - -If mentioned as a target with no prerequisites, @code{.SILENT} says not -to print any commands before executing them. This usage of -@samp{.SILENT} is supported only for historical compatibility. We -recommend you use the more selective ways to silence specific commands. -@xref{Echoing, ,Command Echoing}. If you want to silence all commands -for a particular run of @code{make}, use the @samp{-s} or -@w{@samp{--silent}} option (@pxref{Options Summary}). - -@findex .EXPORT_ALL_VARIABLES -@item .EXPORT_ALL_VARIABLES - -Simply by being mentioned as a target, this tells @code{make} to -export all variables to child processes by default. -@xref{Variables/Recursion, ,Communicating Variables to a -Sub-@code{make}}. - -@findex .NOTPARALLEL -@item .NOTPARALLEL -@cindex parallel execution, overriding - -If @code{.NOTPARALLEL} is mentioned as a target, then this invocation of -@code{make} will be run serially, even if the @samp{-j} option is -given. Any recursively invoked @code{make} command will still be run in -parallel (unless its makefile contains this target). Any prerequisites -on this target are ignored. -@end table - -Any defined implicit rule suffix also counts as a special target if it -appears as a target, and so does the concatenation of two suffixes, such -as @samp{.c.o}. These targets are suffix rules, an obsolete way of -defining implicit rules (but a way still widely used). In principle, any -target name could be special in this way if you break it in two and add -both pieces to the suffix list. In practice, suffixes normally begin with -@samp{.}, so these special target names also begin with @samp{.}. -@xref{Suffix Rules, ,Old-Fashioned Suffix Rules}. - -@node Multiple Targets, Multiple Rules, Special Targets, Rules -@section Multiple Targets in a Rule -@cindex multiple targets -@cindex several targets in a rule -@cindex targets, multiple -@cindex rule, with multiple targets - -A rule with multiple targets is equivalent to writing many rules, each with -one target, and all identical aside from that. The same commands apply to -all the targets, but their effects may vary because you can substitute the -actual target name into the command using @samp{$@@}. The rule contributes -the same prerequisites to all the targets also. - -This is useful in two cases. - -@itemize @bullet -@item -You want just prerequisites, no commands. For example: - -@example -kbd.o command.o files.o: command.h -@end example - -@noindent -gives an additional prerequisite to each of the three object files -mentioned. - -@item -Similar commands work for all the targets. The commands do not need -to be absolutely identical, since the automatic variable @samp{$@@} -can be used to substitute the particular target to be remade into the -commands (@pxref{Automatic Variables}). For example: - -@example -@group -bigoutput littleoutput : text.g - generate text.g -$(subst output,,$@@) > $@@ -@end group -@end example -@findex subst - -@noindent -is equivalent to - -@example -bigoutput : text.g - generate text.g -big > bigoutput -littleoutput : text.g - generate text.g -little > littleoutput -@end example - -@noindent -Here we assume the hypothetical program @code{generate} makes two -types of output, one if given @samp{-big} and one if given -@samp{-little}. -@xref{Text Functions, ,Functions for String Substitution and Analysis}, -for an explanation of the @code{subst} function. -@end itemize - -Suppose you would like to vary the prerequisites according to the target, -much as the variable @samp{$@@} allows you to vary the commands. -You cannot do this with multiple targets in an ordinary rule, but you can -do it with a @dfn{static pattern rule}. -@xref{Static Pattern, ,Static Pattern Rules}. - -@node Multiple Rules, Static Pattern, Multiple Targets, Rules -@section Multiple Rules for One Target -@cindex multiple rules for one target -@cindex several rules for one target -@cindex rule, multiple for one target -@cindex target, multiple rules for one - -One file can be the target of several rules. All the prerequisites -mentioned in all the rules are merged into one list of prerequisites for -the target. If the target is older than any prerequisite from any rule, -the commands are executed. - -There can only be one set of commands to be executed for a file. If -more than one rule gives commands for the same file, @code{make} uses -the last set given and prints an error message. (As a special case, -if the file's name begins with a dot, no error message is printed. -This odd behavior is only for compatibility with other implementations -of @code{make}... you should avoid using it). Occasionally it is -useful to have the same target invoke multiple commands which are -defined in different parts of your makefile; you can use -@dfn{double-colon rules} (@pxref{Double-Colon}) for this. - -An extra rule with just prerequisites can be used to give a few extra -prerequisites to many files at once. For example, makefiles often -have a variable, such as @code{objects}, containing a list of all the -compiler output files in the system being made. An easy way to say -that all of them must be recompiled if @file{config.h} changes is to -write the following: - -@example -objects = foo.o bar.o -foo.o : defs.h -bar.o : defs.h test.h -$(objects) : config.h -@end example - -This could be inserted or taken out without changing the rules that really -specify how to make the object files, making it a convenient form to use if -you wish to add the additional prerequisite intermittently. - -Another wrinkle is that the additional prerequisites could be specified with -a variable that you set with a command argument to @code{make} -(@pxref{Overriding, ,Overriding Variables}). For example, - -@example -@group -extradeps= -$(objects) : $(extradeps) -@end group -@end example - -@noindent -means that the command @samp{make extradeps=foo.h} will consider -@file{foo.h} as a prerequisite of each object file, but plain @samp{make} -will not. - -If none of the explicit rules for a target has commands, then @code{make} -searches for an applicable implicit rule to find some commands -@pxref{Implicit Rules, ,Using Implicit Rules}). - -@node Static Pattern, Double-Colon, Multiple Rules, Rules -@section Static Pattern Rules -@cindex static pattern rule -@cindex rule, static pattern -@cindex pattern rules, static (not implicit) -@cindex varying prerequisites -@cindex prerequisites, varying (static pattern) - -@dfn{Static pattern rules} are rules which specify multiple targets and -construct the prerequisite names for each target based on the target name. -They are more general than ordinary rules with multiple targets because the -targets do not have to have identical prerequisites. Their prerequisites must -be @emph{analogous}, but not necessarily @emph{identical}. - -@menu -* Static Usage:: The syntax of static pattern rules. -* Static versus Implicit:: When are they better than implicit rules? -@end menu - -@node Static Usage, Static versus Implicit, Static Pattern, Static Pattern -@subsection Syntax of Static Pattern Rules -@cindex static pattern rule, syntax of -@cindex pattern rules, static, syntax of - -Here is the syntax of a static pattern rule: - -@example -@var{targets} @dots{}: @var{target-pattern}: @var{prereq-patterns} @dots{} - @var{commands} - @dots{} -@end example - -@noindent -The @var{targets} list specifies the targets that the rule applies to. -The targets can contain wildcard characters, just like the targets of -ordinary rules (@pxref{Wildcards, ,Using Wildcard Characters in File -Names}). - -@cindex target pattern, static (not implicit) -@cindex stem -The @var{target-pattern} and @var{prereq-patterns} say how to compute the -prerequisites of each target. Each target is matched against the -@var{target-pattern} to extract a part of the target name, called the -@dfn{stem}. This stem is substituted into each of the @var{prereq-patterns} -to make the prerequisite names (one from each @var{prereq-pattern}). - -Each pattern normally contains the character @samp{%} just once. When the -@var{target-pattern} matches a target, the @samp{%} can match any part of -the target name; this part is called the @dfn{stem}. The rest of the -pattern must match exactly. For example, the target @file{foo.o} matches -the pattern @samp{%.o}, with @samp{foo} as the stem. The targets -@file{foo.c} and @file{foo.out} do not match that pattern.@refill - -@cindex prerequisite pattern, static (not implicit) -The prerequisite names for each target are made by substituting the stem -for the @samp{%} in each prerequisite pattern. For example, if one -prerequisite pattern is @file{%.c}, then substitution of the stem -@samp{foo} gives the prerequisite name @file{foo.c}. It is legitimate -to write a prerequisite pattern that does not contain @samp{%}; then this -prerequisite is the same for all targets. - -@cindex @code{%}, quoting in static pattern -@cindex @code{%}, quoting with @code{\} (backslash) -@cindex @code{\} (backslash), to quote @code{%} -@cindex backslash (@code{\}), to quote @code{%} -@cindex quoting @code{%}, in static pattern -@samp{%} characters in pattern rules can be quoted with preceding -backslashes (@samp{\}). Backslashes that would otherwise quote @samp{%} -characters can be quoted with more backslashes. Backslashes that quote -@samp{%} characters or other backslashes are removed from the pattern -before it is compared to file names or has a stem substituted into it. -Backslashes that are not in danger of quoting @samp{%} characters go -unmolested. For example, the pattern @file{the\%weird\\%pattern\\} has -@samp{the%weird\} preceding the operative @samp{%} character, and -@samp{pattern\\} following it. The final two backslashes are left alone -because they cannot affect any @samp{%} character.@refill - -Here is an example, which compiles each of @file{foo.o} and @file{bar.o} -from the corresponding @file{.c} file: - -@example -@group -objects = foo.o bar.o - -all: $(objects) - -$(objects): %.o: %.c - $(CC) -c $(CFLAGS) $< -o $@@ -@end group -@end example - -@noindent -Here @samp{$<} is the automatic variable that holds the name of the -prerequisite and @samp{$@@} is the automatic variable that holds the name -of the target; see @ref{Automatic Variables}. - -Each target specified must match the target pattern; a warning is issued -for each target that does not. If you have a list of files, only some of -which will match the pattern, you can use the @code{filter} function to -remove nonmatching file names (@pxref{Text Functions, ,Functions for String Substitution and Analysis}): - -@example -files = foo.elc bar.o lose.o - -$(filter %.o,$(files)): %.o: %.c - $(CC) -c $(CFLAGS) $< -o $@@ -$(filter %.elc,$(files)): %.elc: %.el - emacs -f batch-byte-compile $< -@end example - -@noindent -In this example the result of @samp{$(filter %.o,$(files))} is -@file{bar.o lose.o}, and the first static pattern rule causes each of -these object files to be updated by compiling the corresponding C source -file. The result of @w{@samp{$(filter %.elc,$(files))}} is -@file{foo.elc}, so that file is made from @file{foo.el}.@refill - -Another example shows how to use @code{$*} in static pattern rules: -@vindex $*@r{, and static pattern} - -@example -@group -bigoutput littleoutput : %output : text.g - generate text.g -$* > $@@ -@end group -@end example - -@noindent -When the @code{generate} command is run, @code{$*} will expand to the -stem, either @samp{big} or @samp{little}. - -@node Static versus Implicit, , Static Usage, Static Pattern -@subsection Static Pattern Rules versus Implicit Rules -@cindex rule, static pattern versus implicit -@cindex static pattern rule, versus implicit - -A static pattern rule has much in common with an implicit rule defined as a -pattern rule (@pxref{Pattern Rules, ,Defining and Redefining Pattern Rules}). -Both have a pattern for the target and patterns for constructing the -names of prerequisites. The difference is in how @code{make} decides -@emph{when} the rule applies. - -An implicit rule @emph{can} apply to any target that matches its pattern, -but it @emph{does} apply only when the target has no commands otherwise -specified, and only when the prerequisites can be found. If more than one -implicit rule appears applicable, only one applies; the choice depends on -the order of rules. - -By contrast, a static pattern rule applies to the precise list of targets -that you specify in the rule. It cannot apply to any other target and it -invariably does apply to each of the targets specified. If two conflicting -rules apply, and both have commands, that's an error. - -The static pattern rule can be better than an implicit rule for these -reasons: - -@itemize @bullet -@item -You may wish to override the usual implicit rule for a few -files whose names cannot be categorized syntactically but -can be given in an explicit list. - -@item -If you cannot be sure of the precise contents of the directories -you are using, you may not be sure which other irrelevant files -might lead @code{make} to use the wrong implicit rule. The choice -might depend on the order in which the implicit rule search is done. -With static pattern rules, there is no uncertainty: each rule applies -to precisely the targets specified. -@end itemize - -@node Double-Colon, Automatic Prerequisites, Static Pattern, Rules -@section Double-Colon Rules -@cindex double-colon rules -@cindex rule, double-colon (@code{::}) -@cindex multiple rules for one target (@code{::}) -@cindex @code{::} rules (double-colon) - -@dfn{Double-colon} rules are rules written with @samp{::} instead of -@samp{:} after the target names. They are handled differently from -ordinary rules when the same target appears in more than one rule. - -When a target appears in multiple rules, all the rules must be the same -type: all ordinary, or all double-colon. If they are double-colon, each -of them is independent of the others. Each double-colon rule's commands -are executed if the target is older than any prerequisites of that rule. -If there are no prerequisites for that rule, its commands are always -executed (even if the target already exists). This can result in -executing none, any, or all of the double-colon rules. - -Double-colon rules with the same target are in fact completely separate -from one another. Each double-colon rule is processed individually, just -as rules with different targets are processed. - -The double-colon rules for a target are executed in the order they appear -in the makefile. However, the cases where double-colon rules really make -sense are those where the order of executing the commands would not matter. - -Double-colon rules are somewhat obscure and not often very useful; they -provide a mechanism for cases in which the method used to update a target -differs depending on which prerequisite files caused the update, and such -cases are rare. - -Each double-colon rule should specify commands; if it does not, an -implicit rule will be used if one applies. -@xref{Implicit Rules, ,Using Implicit Rules}. - -@node Automatic Prerequisites, , Double-Colon, Rules -@section Generating Prerequisites Automatically -@cindex prerequisites, automatic generation -@cindex automatic generation of prerequisites -@cindex generating prerequisites automatically - -In the makefile for a program, many of the rules you need to write often -say only that some object file depends on some header -file. For example, if @file{main.c} uses @file{defs.h} via an -@code{#include}, you would write: - -@example -main.o: defs.h -@end example - -@noindent -You need this rule so that @code{make} knows that it must remake -@file{main.o} whenever @file{defs.h} changes. You can see that for a -large program you would have to write dozens of such rules in your -makefile. And, you must always be very careful to update the makefile -every time you add or remove an @code{#include}. -@cindex @code{#include} - -@cindex @code{-M} (to compiler) -To avoid this hassle, most modern C compilers can write these rules for -you, by looking at the @code{#include} lines in the source files. -Usually this is done with the @samp{-M} option to the compiler. -For example, the command: - -@example -cc -M main.c -@end example - -@noindent -generates the output: - -@example -main.o : main.c defs.h -@end example - -@noindent -Thus you no longer have to write all those rules yourself. -The compiler will do it for you. - -Note that such a prerequisite constitutes mentioning @file{main.o} in a -makefile, so it can never be considered an intermediate file by implicit -rule search. This means that @code{make} won't ever remove the file -after using it; @pxref{Chained Rules, ,Chains of Implicit Rules}. - -@cindex @code{make depend} -With old @code{make} programs, it was traditional practice to use this -compiler feature to generate prerequisites on demand with a command like -@samp{make depend}. That command would create a file @file{depend} -containing all the automatically-generated prerequisites; then the -makefile could use @code{include} to read them in (@pxref{Include}). - -In GNU @code{make}, the feature of remaking makefiles makes this -practice obsolete---you need never tell @code{make} explicitly to -regenerate the prerequisites, because it always regenerates any makefile -that is out of date. @xref{Remaking Makefiles}. - -The practice we recommend for automatic prerequisite generation is to have -one makefile corresponding to each source file. For each source file -@file{@var{name}.c} there is a makefile @file{@var{name}.d} which lists -what files the object file @file{@var{name}.o} depends on. That way -only the source files that have changed need to be rescanned to produce -the new prerequisites. - -Here is the pattern rule to generate a file of prerequisites (i.e., a makefile) -called @file{@var{name}.d} from a C source file called @file{@var{name}.c}: - -@smallexample -@group -%.d: %.c - @set -e; rm -f $@@; \ - $(CC) -M $(CPPFLAGS) $< > $@@.$$$$; \ - sed 's,\($*\)\.o[ :]*,\1.o $@@ : ,g' < $@@.$$$$ > $@@; \ - rm -f $@@.$$$$ -@end group -@end smallexample - -@noindent -@xref{Pattern Rules}, for information on defining pattern rules. The -@samp{-e} flag to the shell causes it to exit immediately if the -@code{$(CC)} command (or any other command) fails (exits with a -nonzero status). -@cindex @code{-e} (shell flag) - -@cindex @code{-MM} (to GNU compiler) -With the GNU C compiler, you may wish to use the @samp{-MM} flag instead -of @samp{-M}. This omits prerequisites on system header files. -@xref{Preprocessor Options, , Options Controlling the Preprocessor, -gcc.info, Using GNU CC}, for details. - -@cindex @code{sed} (shell command) -The purpose of the @code{sed} command is to translate (for example): - -@example -main.o : main.c defs.h -@end example - -@noindent -into: - -@example -main.o main.d : main.c defs.h -@end example - -@noindent -@cindex @code{.d} -This makes each @samp{.d} file depend on all the source and header files -that the corresponding @samp{.o} file depends on. @code{make} then -knows it must regenerate the prerequisites whenever any of the source or -header files changes. - -Once you've defined the rule to remake the @samp{.d} files, -you then use the @code{include} directive to read them all in. -@xref{Include}. For example: - -@example -@group -sources = foo.c bar.c - -include $(sources:.c=.d) -@end group -@end example - -@noindent -(This example uses a substitution variable reference to translate the -list of source files @samp{foo.c bar.c} into a list of prerequisite -makefiles, @samp{foo.d bar.d}. @xref{Substitution Refs}, for full -information on substitution references.) Since the @samp{.d} files are -makefiles like any others, @code{make} will remake them as necessary -with no further work from you. @xref{Remaking Makefiles}. - -Note that the @samp{.d} files contain target definitions; you should -be sure to place the @code{include} directive @emph{after} the first, -default target in your makefiles or run the risk of having a random -object file become the default target. -@xref{How Make Works}. - -@node Commands, Using Variables, Rules, Top -@chapter Writing the Commands in Rules -@cindex commands, how to write -@cindex rule commands -@cindex writing rule commands - -The commands of a rule consist of shell command lines to be executed one -by one. Each command line must start with a tab, except that the first -command line may be attached to the target-and-prerequisites line with a -semicolon in between. Blank lines and lines of just comments may appear -among the command lines; they are ignored. (But beware, an apparently -``blank'' line that begins with a tab is @emph{not} blank! It is an -empty command; @pxref{Empty Commands}.) - -Users use many different shell programs, but commands in makefiles are -always interpreted by @file{/bin/sh} unless the makefile specifies -otherwise. @xref{Execution, ,Command Execution}. - -@cindex comments, in commands -@cindex commands, comments in -@cindex @code{#} (comments), in commands -The shell that is in use determines whether comments can be written on -command lines, and what syntax they use. When the shell is -@file{/bin/sh}, a @samp{#} starts a comment that extends to the end of -the line. The @samp{#} does not have to be at the beginning of a line. -Text on a line before a @samp{#} is not part of the comment. - -@menu -* Echoing:: How to control when commands are echoed. -* Execution:: How commands are executed. -* Parallel:: How commands can be executed in parallel. -* Errors:: What happens after a command execution error. -* Interrupts:: What happens when a command is interrupted. -* Recursion:: Invoking @code{make} from makefiles. -* Sequences:: Defining canned sequences of commands. -* Empty Commands:: Defining useful, do-nothing commands. -@end menu - -@node Echoing, Execution, Commands, Commands -@section Command Echoing -@cindex echoing of commands -@cindex silent operation -@cindex @code{@@} (in commands) -@cindex commands, echoing -@cindex printing of commands - -Normally @code{make} prints each command line before it is executed. -We call this @dfn{echoing} because it gives the appearance that you -are typing the commands yourself. - -When a line starts with @samp{@@}, the echoing of that line is suppressed. -The @samp{@@} is discarded before the command is passed to the shell. -Typically you would use this for a command whose only effect is to print -something, such as an @code{echo} command to indicate progress through -the makefile: - -@example -@@echo About to make distribution files -@end example - -@cindex @code{-n} -@cindex @code{--just-print} -@cindex @code{--dry-run} -@cindex @code{--recon} -When @code{make} is given the flag @samp{-n} or @samp{--just-print} -it only echoes commands, it won't execute them. @xref{Options Summary, -,Summary of Options}. In this case and only this case, even the -commands starting with @samp{@@} are printed. This flag is useful for -finding out which commands @code{make} thinks are necessary without -actually doing them. - -@cindex @code{-s} -@cindex @code{--silent} -@cindex @code{--quiet} -@findex .SILENT -The @samp{-s} or @samp{--silent} -flag to @code{make} prevents all echoing, as if all commands -started with @samp{@@}. A rule in the makefile for the special target -@code{.SILENT} without prerequisites has the same effect -(@pxref{Special Targets, ,Special Built-in Target Names}). -@code{.SILENT} is essentially obsolete since @samp{@@} is more flexible.@refill - -@node Execution, Parallel, Echoing, Commands -@section Command Execution -@cindex commands, execution -@cindex execution, of commands -@cindex shell command, execution -@vindex SHELL @r{(command execution)} - -When it is time to execute commands to update a target, they are executed -by making a new subshell for each line. (In practice, @code{make} may -take shortcuts that do not affect the results.) - -@cindex @code{cd} (shell command) -@strong{Please note:} this implies that shell commands such as @code{cd} -that set variables local to each process will not affect the following -command lines. @footnote{On MS-DOS, the value of current working -directory is @strong{global}, so changing it @emph{will} affect the -following command lines on those systems.} If you want to use @code{cd} -to affect the next command, put the two on a single line with a -semicolon between them. Then @code{make} will consider them a single -command and pass them, together, to a shell which will execute them in -sequence. For example: - -@example -foo : bar/lose - cd bar; gobble lose > ../foo -@end example - -@cindex commands, backslash (@code{\}) in -@cindex commands, quoting newlines in -@cindex backslash (@code{\}), in commands -@cindex @code{\} (backslash), in commands -@cindex quoting newline, in commands -@cindex newline, quoting, in commands -If you would like to split a single shell command into multiple lines of -text, you must use a backslash at the end of all but the last subline. -Such a sequence of lines is combined into a single line, by deleting the -backslash-newline sequences, before passing it to the shell. Thus, the -following is equivalent to the preceding example: - -@example -@group -foo : bar/lose - cd bar; \ - gobble lose > ../foo -@end group -@end example - -@vindex SHELL -The program used as the shell is taken from the variable @code{SHELL}. -By default, the program @file{/bin/sh} is used. - -@vindex COMSPEC -On MS-DOS, if @code{SHELL} is not set, the value of the variable -@code{COMSPEC} (which is always set) is used instead. - -@cindex @code{SHELL}, MS-DOS specifics -The processing of lines that set the variable @code{SHELL} in Makefiles -is different on MS-DOS. The stock shell, @file{command.com}, is -ridiculously limited in its functionality and many users of @code{make} -tend to install a replacement shell. Therefore, on MS-DOS, @code{make} -examines the value of @code{SHELL}, and changes its behavior based on -whether it points to a Unix-style or DOS-style shell. This allows -reasonable functionality even if @code{SHELL} points to -@file{command.com}. - -If @code{SHELL} points to a Unix-style shell, @code{make} on MS-DOS -additionally checks whether that shell can indeed be found; if not, it -ignores the line that sets @code{SHELL}. In MS-DOS, GNU @code{make} -searches for the shell in the following places: - -@enumerate -@item -In the precise place pointed to by the value of @code{SHELL}. For -example, if the makefile specifies @samp{SHELL = /bin/sh}, @code{make} -will look in the directory @file{/bin} on the current drive. - -@item -In the current directory. - -@item -In each of the directories in the @code{PATH} variable, in order. - -@end enumerate - -In every directory it examines, @code{make} will first look for the -specific file (@file{sh} in the example above). If this is not found, -it will also look in that directory for that file with one of the known -extensions which identify executable files. For example @file{.exe}, -@file{.com}, @file{.bat}, @file{.btm}, @file{.sh}, and some others. - -If any of these attempts is successful, the value of @code{SHELL} will -be set to the full pathname of the shell as found. However, if none of -these is found, the value of @code{SHELL} will not be changed, and thus -the line that sets it will be effectively ignored. This is so -@code{make} will only support features specific to a Unix-style shell if -such a shell is actually installed on the system where @code{make} runs. - -Note that this extended search for the shell is limited to the cases -where @code{SHELL} is set from the Makefile; if it is set in the -environment or command line, you are expected to set it to the full -pathname of the shell, exactly as things are on Unix. - -The effect of the above DOS-specific processing is that a Makefile that -says @samp{SHELL = /bin/sh} (as many Unix makefiles do), will work -on MS-DOS unaltered if you have e.g. @file{sh.exe} installed in some -directory along your @code{PATH}. - -@cindex environment, @code{SHELL} in -Unlike most variables, the variable @code{SHELL} is never set from the -environment. This is because the @code{SHELL} environment variable is -used to specify your personal choice of shell program for interactive -use. It would be very bad for personal choices like this to affect the -functioning of makefiles. @xref{Environment, ,Variables from the -Environment}. However, on MS-DOS and MS-Windows the value of -@code{SHELL} in the environment @strong{is} used, since on those systems -most users do not set this variable, and therefore it is most likely set -specifically to be used by @code{make}. On MS-DOS, if the setting of -@code{SHELL} is not suitable for @code{make}, you can set the variable -@code{MAKESHELL} to the shell that @code{make} should use; this will -override the value of @code{SHELL}. - -@node Parallel, Errors, Execution, Commands -@section Parallel Execution -@cindex commands, execution in parallel -@cindex parallel execution -@cindex execution, in parallel -@cindex job slots -@cindex @code{-j} -@cindex @code{--jobs} - -GNU @code{make} knows how to execute several commands at once. -Normally, @code{make} will execute only one command at a time, waiting -for it to finish before executing the next. However, the @samp{-j} or -@samp{--jobs} option tells @code{make} to execute many commands -simultaneously.@refill - -On MS-DOS, the @samp{-j} option has no effect, since that system doesn't -support multi-processing. - -If the @samp{-j} option is followed by an integer, this is the number of -commands to execute at once; this is called the number of @dfn{job slots}. -If there is nothing looking like an integer after the @samp{-j} option, -there is no limit on the number of job slots. The default number of job -slots is one, which means serial execution (one thing at a time). - -One unpleasant consequence of running several commands simultaneously is -that output generated by the commands appears whenever each command -sends it, so messages from different commands may be interspersed. - -Another problem is that two processes cannot both take input from the -same device; so to make sure that only one command tries to take input -from the terminal at once, @code{make} will invalidate the standard -input streams of all but one running command. This means that -attempting to read from standard input will usually be a fatal error (a -@samp{Broken pipe} signal) for most child processes if there are -several. -@cindex broken pipe -@cindex standard input - -It is unpredictable which command will have a valid standard input stream -(which will come from the terminal, or wherever you redirect the standard -input of @code{make}). The first command run will always get it first, and -the first command started after that one finishes will get it next, and so -on. - -We will change how this aspect of @code{make} works if we find a better -alternative. In the mean time, you should not rely on any command using -standard input at all if you are using the parallel execution feature; but -if you are not using this feature, then standard input works normally in -all commands. - -Finally, handling recursive @code{make} invocations raises issues. For -more information on this, see -@ref{Options/Recursion, ,Communicating Options to a Sub-@code{make}}. - -If a command fails (is killed by a signal or exits with a nonzero -status), and errors are not ignored for that command -(@pxref{Errors, ,Errors in Commands}), -the remaining command lines to remake the same target will not be run. -If a command fails and the @samp{-k} or @samp{--keep-going} -option was not given -(@pxref{Options Summary, ,Summary of Options}), -@code{make} aborts execution. If make -terminates for any reason (including a signal) with child processes -running, it waits for them to finish before actually exiting.@refill - -@cindex load average -@cindex limiting jobs based on load -@cindex jobs, limiting based on load -@cindex @code{-l} (load average) -@cindex @code{--max-load} -@cindex @code{--load-average} -When the system is heavily loaded, you will probably want to run fewer jobs -than when it is lightly loaded. You can use the @samp{-l} option to tell -@code{make} to limit the number of jobs to run at once, based on the load -average. The @samp{-l} or @samp{--max-load} -option is followed by a floating-point number. For -example, - -@example --l 2.5 -@end example - -@noindent -will not let @code{make} start more than one job if the load average is -above 2.5. The @samp{-l} option with no following number removes the -load limit, if one was given with a previous @samp{-l} option.@refill - -More precisely, when @code{make} goes to start up a job, and it already has -at least one job running, it checks the current load average; if it is not -lower than the limit given with @samp{-l}, @code{make} waits until the load -average goes below that limit, or until all the other jobs finish. - -By default, there is no load limit. - -@node Errors, Interrupts, Parallel, Commands -@section Errors in Commands -@cindex errors (in commands) -@cindex commands, errors in -@cindex exit status (errors) - -After each shell command returns, @code{make} looks at its exit status. -If the command completed successfully, the next command line is executed -in a new shell; after the last command line is finished, the rule is -finished. - -If there is an error (the exit status is nonzero), @code{make} gives up on -the current rule, and perhaps on all rules. - -Sometimes the failure of a certain command does not indicate a problem. -For example, you may use the @code{mkdir} command to ensure that a -directory exists. If the directory already exists, @code{mkdir} will -report an error, but you probably want @code{make} to continue regardless. - -@cindex @code{-} (in commands) -To ignore errors in a command line, write a @samp{-} at the beginning of -the line's text (after the initial tab). The @samp{-} is discarded before -the command is passed to the shell for execution. - -For example, - -@example -@group -clean: - -rm -f *.o -@end group -@end example -@cindex @code{rm} (shell command) - -@noindent -This causes @code{rm} to continue even if it is unable to remove a file. - -@cindex @code{-i} -@cindex @code{--ignore-errors} -@findex .IGNORE -When you run @code{make} with the @samp{-i} or @samp{--ignore-errors} -flag, errors are ignored in all commands of all rules. A rule in the -makefile for the special target @code{.IGNORE} has the same effect, if -there are no prerequisites. These ways of ignoring errors are obsolete -because @samp{-} is more flexible. - -When errors are to be ignored, because of either a @samp{-} or the -@samp{-i} flag, @code{make} treats an error return just like success, -except that it prints out a message that tells you the status code -the command exited with, and says that the error has been ignored. - -When an error happens that @code{make} has not been told to ignore, -it implies that the current target cannot be correctly remade, and neither -can any other that depends on it either directly or indirectly. No further -commands will be executed for these targets, since their preconditions -have not been achieved. - - -@cindex @code{-k} -@cindex @code{--keep-going} -Normally @code{make} gives up immediately in this circumstance, returning a -nonzero status. However, if the @samp{-k} or @samp{--keep-going} -flag is specified, @code{make} -continues to consider the other prerequisites of the pending targets, -remaking them if necessary, before it gives up and returns nonzero status. -For example, after an error in compiling one object file, @samp{make -k} -will continue compiling other object files even though it already knows -that linking them will be impossible. @xref{Options Summary, ,Summary of Options}. - -The usual behavior assumes that your purpose is to get the specified -targets up to date; once @code{make} learns that this is impossible, it -might as well report the failure immediately. The @samp{-k} option says -that the real purpose is to test as many of the changes made in the -program as possible, perhaps to find several independent problems so -that you can correct them all before the next attempt to compile. This -is why Emacs' @code{compile} command passes the @samp{-k} flag by -default. -@cindex Emacs (@code{M-x compile}) - -@findex .DELETE_ON_ERROR -@cindex deletion of target files -@cindex removal of target files -@cindex target, deleting on error -Usually when a command fails, if it has changed the target file at all, -the file is corrupted and cannot be used---or at least it is not -completely updated. Yet the file's time stamp says that it is now up to -date, so the next time @code{make} runs, it will not try to update that -file. The situation is just the same as when the command is killed by a -signal; @pxref{Interrupts}. So generally the right thing to do is to -delete the target file if the command fails after beginning to change -the file. @code{make} will do this if @code{.DELETE_ON_ERROR} appears -as a target. This is almost always what you want @code{make} to do, but -it is not historical practice; so for compatibility, you must explicitly -request it. - -@node Interrupts, Recursion, Errors, Commands -@section Interrupting or Killing @code{make} -@cindex interrupt -@cindex signal -@cindex deletion of target files -@cindex removal of target files -@cindex target, deleting on interrupt -@cindex killing (interruption) - -If @code{make} gets a fatal signal while a command is executing, it may -delete the target file that the command was supposed to update. This is -done if the target file's last-modification time has changed since -@code{make} first checked it. - -The purpose of deleting the target is to make sure that it is remade from -scratch when @code{make} is next run. Why is this? Suppose you type -@kbd{Ctrl-c} while a compiler is running, and it has begun to write an -object file @file{foo.o}. The @kbd{Ctrl-c} kills the compiler, resulting -in an incomplete file whose last-modification time is newer than the source -file @file{foo.c}. But @code{make} also receives the @kbd{Ctrl-c} signal -and deletes this incomplete file. If @code{make} did not do this, the next -invocation of @code{make} would think that @file{foo.o} did not require -updating---resulting in a strange error message from the linker when it -tries to link an object file half of which is missing. - -@findex .PRECIOUS -You can prevent the deletion of a target file in this way by making the -special target @code{.PRECIOUS} depend on it. Before remaking a target, -@code{make} checks to see whether it appears on the prerequisites of -@code{.PRECIOUS}, and thereby decides whether the target should be deleted -if a signal happens. Some reasons why you might do this are that the -target is updated in some atomic fashion, or exists only to record a -modification-time (its contents do not matter), or must exist at all -times to prevent other sorts of trouble. - -@node Recursion, Sequences, Interrupts, Commands -@section Recursive Use of @code{make} -@cindex recursion -@cindex subdirectories, recursion for - -Recursive use of @code{make} means using @code{make} as a command in a -makefile. This technique is useful when you want separate makefiles for -various subsystems that compose a larger system. For example, suppose you -have a subdirectory @file{subdir} which has its own makefile, and you would -like the containing directory's makefile to run @code{make} on the -subdirectory. You can do it by writing this: - -@example -subsystem: - cd subdir && $(MAKE) -@end example - -@noindent -or, equivalently, this (@pxref{Options Summary, ,Summary of Options}): - -@example -subsystem: - $(MAKE) -C subdir -@end example -@cindex @code{-C} -@cindex @code{--directory} - -You can write recursive @code{make} commands just by copying this example, -but there are many things to know about how they work and why, and about -how the sub-@code{make} relates to the top-level @code{make}. You may -also find it useful to declare targets that invoke recursive -@code{make} commands as @samp{.PHONY} (for more discussion on when -this is useful, see @ref{Phony Targets}). - -@vindex @code{CURDIR} -For your convenience, when GNU @code{make} starts (after it has -processed any @code{-C} options) it sets the variable @code{CURDIR} to -the pathname of the current working directory. This value is never -touched by @code{make} again: in particular note that if you include -files from other directories the value of @code{CURDIR} does not -change. The value has the same precedence it would have if it were -set in the makefile (by default, an environment variable @code{CURDIR} -will not override this value). Note that setting this variable has no -impact on the operation of @code{make} (it does not cause @code{make} -to change its working directory, for example). - -@menu -* MAKE Variable:: The special effects of using @samp{$(MAKE)}. -* Variables/Recursion:: How to communicate variables to a sub-@code{make}. -* Options/Recursion:: How to communicate options to a sub-@code{make}. -* -w Option:: How the @samp{-w} or @samp{--print-directory} option - helps debug use of recursive @code{make} commands. -@end menu - -@node MAKE Variable, Variables/Recursion, Recursion, Recursion -@subsection How the @code{MAKE} Variable Works -@vindex MAKE -@cindex recursion, and @code{MAKE} variable - -Recursive @code{make} commands should always use the variable @code{MAKE}, -not the explicit command name @samp{make}, as shown here: - -@example -@group -subsystem: - cd subdir && $(MAKE) -@end group -@end example - -The value of this variable is the file name with which @code{make} was -invoked. If this file name was @file{/bin/make}, then the command executed -is @samp{cd subdir && /bin/make}. If you use a special version of -@code{make} to run the top-level makefile, the same special version will be -executed for recursive invocations. -@cindex @code{cd} (shell command) - -@cindex +, and commands -As a special feature, using the variable @code{MAKE} in the commands of -a rule alters the effects of the @samp{-t} (@samp{--touch}), @samp{-n} -(@samp{--just-print}), or @samp{-q} (@w{@samp{--question}}) option. -Using the @code{MAKE} variable has the same effect as using a @samp{+} -character at the beginning of the command line. @xref{Instead of -Execution, ,Instead of Executing the Commands}.@refill - -Consider the command @samp{make -t} in the above example. (The -@samp{-t} option marks targets as up to date without actually running -any commands; see @ref{Instead of Execution}.) Following the usual -definition of @samp{-t}, a @samp{make -t} command in the example would -create a file named @file{subsystem} and do nothing else. What you -really want it to do is run @samp{@w{cd subdir &&} @w{make -t}}; but that would -require executing the command, and @samp{-t} says not to execute -commands.@refill -@cindex @code{-t}, and recursion -@cindex recursion, and @code{-t} -@cindex @code{--touch}, and recursion - -The special feature makes this do what you want: whenever a command -line of a rule contains the variable @code{MAKE}, the flags @samp{-t}, -@samp{-n} and @samp{-q} do not apply to that line. Command lines -containing @code{MAKE} are executed normally despite the presence of a -flag that causes most commands not to be run. The usual -@code{MAKEFLAGS} mechanism passes the flags to the sub-@code{make} -(@pxref{Options/Recursion, ,Communicating Options to a -Sub-@code{make}}), so your request to touch the files, or print the -commands, is propagated to the subsystem.@refill - -@node Variables/Recursion, Options/Recursion, MAKE Variable, Recursion -@subsection Communicating Variables to a Sub-@code{make} -@cindex sub-@code{make} -@cindex environment, and recursion -@cindex exporting variables -@cindex variables, environment -@cindex variables, exporting -@cindex recursion, and environment -@cindex recursion, and variables - -Variable values of the top-level @code{make} can be passed to the -sub-@code{make} through the environment by explicit request. These -variables are defined in the sub-@code{make} as defaults, but do not -override what is specified in the makefile used by the sub-@code{make} -makefile unless you use the @samp{-e} switch (@pxref{Options Summary, -,Summary of Options}).@refill - -To pass down, or @dfn{export}, a variable, @code{make} adds the variable -and its value to the environment for running each command. The -sub-@code{make}, in turn, uses the environment to initialize its table -of variable values. @xref{Environment, ,Variables from the -Environment}. - -Except by explicit request, @code{make} exports a variable only if it -is either defined in the environment initially or set on the command -line, and if its name consists only of letters, numbers, and underscores. -Some shells cannot cope with environment variable names consisting of -characters other than letters, numbers, and underscores. - -The special variables @code{SHELL} and @code{MAKEFLAGS} are always -exported (unless you unexport them). -@code{MAKEFILES} is exported if you set it to anything. - -@code{make} automatically passes down variable values that were defined -on the command line, by putting them in the @code{MAKEFLAGS} variable. -@iftex -See the next section. -@end iftex -@ifinfo -@xref{Options/Recursion}. -@end ifinfo - -Variables are @emph{not} normally passed down if they were created by -default by @code{make} (@pxref{Implicit Variables, ,Variables Used by -Implicit Rules}). The sub-@code{make} will define these for -itself.@refill - -@findex export -If you want to export specific variables to a sub-@code{make}, use the -@code{export} directive, like this: - -@example -export @var{variable} @dots{} -@end example - -@noindent -@findex unexport -If you want to @emph{prevent} a variable from being exported, use the -@code{unexport} directive, like this: - -@example -unexport @var{variable} @dots{} -@end example - -@noindent -In both of these forms, the arguments to @code{export} and -@code{unexport} are expanded, and so could be variables or functions -which expand to a (list of) variable names to be (un)exported. - -As a convenience, you can define a variable and export it at the same -time by doing: - -@example -export @var{variable} = value -@end example - -@noindent -has the same result as: - -@example -@var{variable} = value -export @var{variable} -@end example - -@noindent -and - -@example -export @var{variable} := value -@end example - -@noindent -has the same result as: - -@example -@var{variable} := value -export @var{variable} -@end example - -Likewise, - -@example -export @var{variable} += value -@end example - -@noindent -is just like: - -@example -@var{variable} += value -export @var{variable} -@end example - -@noindent -@xref{Appending, ,Appending More Text to Variables}. - -You may notice that the @code{export} and @code{unexport} directives -work in @code{make} in the same way they work in the shell, @code{sh}. - -If you want all variables to be exported by default, you can use -@code{export} by itself: - -@example -export -@end example - -@noindent -This tells @code{make} that variables which are not explicitly mentioned -in an @code{export} or @code{unexport} directive should be exported. -Any variable given in an @code{unexport} directive will still @emph{not} -be exported. If you use @code{export} by itself to export variables by -default, variables whose names contain characters other than -alphanumerics and underscores will not be exported unless specifically -mentioned in an @code{export} directive.@refill - -@findex .EXPORT_ALL_VARIABLES -The behavior elicited by an @code{export} directive by itself was the -default in older versions of GNU @code{make}. If your makefiles depend -on this behavior and you want to be compatible with old versions of -@code{make}, you can write a rule for the special target -@code{.EXPORT_ALL_VARIABLES} instead of using the @code{export} directive. -This will be ignored by old @code{make}s, while the @code{export} -directive will cause a syntax error.@refill -@cindex compatibility in exporting - -Likewise, you can use @code{unexport} by itself to tell @code{make} -@emph{not} to export variables by default. Since this is the default -behavior, you would only need to do this if @code{export} had been used -by itself earlier (in an included makefile, perhaps). You -@strong{cannot} use @code{export} and @code{unexport} by themselves to -have variables exported for some commands and not for others. The last -@code{export} or @code{unexport} directive that appears by itself -determines the behavior for the entire run of @code{make}.@refill - -@vindex MAKELEVEL -@cindex recursion, level of -As a special feature, the variable @code{MAKELEVEL} is changed when it -is passed down from level to level. This variable's value is a string -which is the depth of the level as a decimal number. The value is -@samp{0} for the top-level @code{make}; @samp{1} for a sub-@code{make}, -@samp{2} for a sub-sub-@code{make}, and so on. The incrementation -happens when @code{make} sets up the environment for a command.@refill - -The main use of @code{MAKELEVEL} is to test it in a conditional -directive (@pxref{Conditionals, ,Conditional Parts of Makefiles}); this -way you can write a makefile that behaves one way if run recursively and -another way if run directly by you.@refill - -@vindex MAKEFILES -You can use the variable @code{MAKEFILES} to cause all sub-@code{make} -commands to use additional makefiles. The value of @code{MAKEFILES} is -a whitespace-separated list of file names. This variable, if defined in -the outer-level makefile, is passed down through the environment; then -it serves as a list of extra makefiles for the sub-@code{make} to read -before the usual or specified ones. @xref{MAKEFILES Variable, ,The -Variable @code{MAKEFILES}}.@refill - -@node Options/Recursion, -w Option, Variables/Recursion, Recursion -@subsection Communicating Options to a Sub-@code{make} -@cindex options, and recursion -@cindex recursion, and options - -@vindex MAKEFLAGS -Flags such as @samp{-s} and @samp{-k} are passed automatically to the -sub-@code{make} through the variable @code{MAKEFLAGS}. This variable is -set up automatically by @code{make} to contain the flag letters that -@code{make} received. Thus, if you do @w{@samp{make -ks}} then -@code{MAKEFLAGS} gets the value @samp{ks}.@refill - -As a consequence, every sub-@code{make} gets a value for @code{MAKEFLAGS} -in its environment. In response, it takes the flags from that value and -processes them as if they had been given as arguments. -@xref{Options Summary, ,Summary of Options}. - -@cindex command line variable definitions, and recursion -@cindex variables, command line, and recursion -@cindex recursion, and command line variable definitions -Likewise variables defined on the command line are passed to the -sub-@code{make} through @code{MAKEFLAGS}. Words in the value of -@code{MAKEFLAGS} that contain @samp{=}, @code{make} treats as variable -definitions just as if they appeared on the command line. -@xref{Overriding, ,Overriding Variables}. - -@cindex @code{-C}, and recursion -@cindex @code{-f}, and recursion -@cindex @code{-o}, and recursion -@cindex @code{-W}, and recursion -@cindex @code{--directory}, and recursion -@cindex @code{--file}, and recursion -@cindex @code{--old-file}, and recursion -@cindex @code{--assume-old}, and recursion -@cindex @code{--assume-new}, and recursion -@cindex @code{--new-file}, and recursion -@cindex recursion, and @code{-C} -@cindex recursion, and @code{-f} -@cindex recursion, and @code{-o} -@cindex recursion, and @code{-W} -The options @samp{-C}, @samp{-f}, @samp{-o}, and @samp{-W} are not put -into @code{MAKEFLAGS}; these options are not passed down.@refill - -@cindex @code{-j}, and recursion -@cindex @code{--jobs}, and recursion -@cindex recursion, and @code{-j} -@cindex job slots, and recursion -The @samp{-j} option is a special case (@pxref{Parallel, ,Parallel Execution}). -If you set it to some numeric value @samp{N} and your operating system -supports it (most any UNIX system will; others typically won't), the -parent @code{make} and all the sub-@code{make}s will communicate to -ensure that there are only @samp{N} jobs running at the same time -between them all. Note that any job that is marked recursive -(@pxref{Instead of Execution, ,Instead of Executing the Commands}) -doesn't count against the total jobs (otherwise we could get @samp{N} -sub-@code{make}s running and have no slots left over for any real work!) - -If your operating system doesn't support the above communication, then -@samp{-j 1} is always put into @code{MAKEFLAGS} instead of the value you -specified. This is because if the @w{@samp{-j}} option were passed down -to sub-@code{make}s, you would get many more jobs running in parallel -than you asked for. If you give @samp{-j} with no numeric argument, -meaning to run as many jobs as possible in parallel, this is passed -down, since multiple infinities are no more than one.@refill - -If you do not want to pass the other flags down, you must change the -value of @code{MAKEFLAGS}, like this: - -@example -subsystem: - cd subdir && $(MAKE) MAKEFLAGS= -@end example - -@vindex MAKEOVERRIDES -The command line variable definitions really appear in the variable -@code{MAKEOVERRIDES}, and @code{MAKEFLAGS} contains a reference to this -variable. If you do want to pass flags down normally, but don't want to -pass down the command line variable definitions, you can reset -@code{MAKEOVERRIDES} to empty, like this: - -@example -MAKEOVERRIDES = -@end example - -@noindent -@cindex Arg list too long -@cindex E2BIG -This is not usually useful to do. However, some systems have a small -fixed limit on the size of the environment, and putting so much -information into the value of @code{MAKEFLAGS} can exceed it. If you -see the error message @samp{Arg list too long}, this may be the problem. -@findex .POSIX -@cindex POSIX.2 -(For strict compliance with POSIX.2, changing @code{MAKEOVERRIDES} does -not affect @code{MAKEFLAGS} if the special target @samp{.POSIX} appears -in the makefile. You probably do not care about this.) - -@vindex MFLAGS -A similar variable @code{MFLAGS} exists also, for historical -compatibility. It has the same value as @code{MAKEFLAGS} except that it -does not contain the command line variable definitions, and it always -begins with a hyphen unless it is empty (@code{MAKEFLAGS} begins with a -hyphen only when it begins with an option that has no single-letter -version, such as @samp{--warn-undefined-variables}). @code{MFLAGS} was -traditionally used explicitly in the recursive @code{make} command, like -this: - -@example -subsystem: - cd subdir && $(MAKE) $(MFLAGS) -@end example - -@noindent -but now @code{MAKEFLAGS} makes this usage redundant. If you want your -makefiles to be compatible with old @code{make} programs, use this -technique; it will work fine with more modern @code{make} versions too. - -@cindex setting options from environment -@cindex options, setting from environment -@cindex setting options in makefiles -@cindex options, setting in makefiles -The @code{MAKEFLAGS} variable can also be useful if you want to have -certain options, such as @samp{-k} (@pxref{Options Summary, ,Summary of -Options}), set each time you run @code{make}. You simply put a value for -@code{MAKEFLAGS} in your environment. You can also set @code{MAKEFLAGS} in -a makefile, to specify additional flags that should also be in effect for -that makefile. (Note that you cannot use @code{MFLAGS} this way. That -variable is set only for compatibility; @code{make} does not interpret a -value you set for it in any way.) - -When @code{make} interprets the value of @code{MAKEFLAGS} (either from the -environment or from a makefile), it first prepends a hyphen if the value -does not already begin with one. Then it chops the value into words -separated by blanks, and parses these words as if they were options given -on the command line (except that @samp{-C}, @samp{-f}, @samp{-h}, -@samp{-o}, @samp{-W}, and their long-named versions are ignored; and there -is no error for an invalid option). - -If you do put @code{MAKEFLAGS} in your environment, you should be sure not -to include any options that will drastically affect the actions of -@code{make} and undermine the purpose of makefiles and of @code{make} -itself. For instance, the @samp{-t}, @samp{-n}, and @samp{-q} options, if -put in one of these variables, could have disastrous consequences and would -certainly have at least surprising and probably annoying effects.@refill - -@node -w Option, , Options/Recursion, Recursion -@subsection The @samp{--print-directory} Option -@cindex directories, printing them -@cindex printing directories -@cindex recursion, and printing directories - -If you use several levels of recursive @code{make} invocations, the -@samp{-w} or @w{@samp{--print-directory}} option can make the output a -lot easier to understand by showing each directory as @code{make} -starts processing it and as @code{make} finishes processing it. For -example, if @samp{make -w} is run in the directory @file{/u/gnu/make}, -@code{make} will print a line of the form:@refill - -@example -make: Entering directory `/u/gnu/make'. -@end example - -@noindent -before doing anything else, and a line of the form: - -@example -make: Leaving directory `/u/gnu/make'. -@end example - -@noindent -when processing is completed. - -@cindex @code{-C}, and @code{-w} -@cindex @code{--directory}, and @code{--print-directory} -@cindex recursion, and @code{-w} -@cindex @code{-w}, and @code{-C} -@cindex @code{-w}, and recursion -@cindex @code{--print-directory}, and @code{--directory} -@cindex @code{--print-directory}, and recursion -@cindex @code{--no-print-directory} -@cindex @code{--print-directory}, disabling -@cindex @code{-w}, disabling -Normally, you do not need to specify this option because @samp{make} -does it for you: @samp{-w} is turned on automatically when you use the -@samp{-C} option, and in sub-@code{make}s. @code{make} will not -automatically turn on @samp{-w} if you also use @samp{-s}, which says to -be silent, or if you use @samp{--no-print-directory} to explicitly -disable it. - -@node Sequences, Empty Commands, Recursion, Commands -@section Defining Canned Command Sequences -@cindex sequences of commands -@cindex commands, sequences of - -When the same sequence of commands is useful in making various targets, you -can define it as a canned sequence with the @code{define} directive, and -refer to the canned sequence from the rules for those targets. The canned -sequence is actually a variable, so the name must not conflict with other -variable names. - -Here is an example of defining a canned sequence of commands: - -@example -define run-yacc -yacc $(firstword $^) -mv y.tab.c $@@ -endef -@end example -@cindex @code{yacc} - -@noindent -Here @code{run-yacc} is the name of the variable being defined; -@code{endef} marks the end of the definition; the lines in between are the -commands. The @code{define} directive does not expand variable references -and function calls in the canned sequence; the @samp{$} characters, -parentheses, variable names, and so on, all become part of the value of the -variable you are defining. -@xref{Defining, ,Defining Variables Verbatim}, -for a complete explanation of @code{define}. - -The first command in this example runs Yacc on the first prerequisite of -whichever rule uses the canned sequence. The output file from Yacc is -always named @file{y.tab.c}. The second command moves the output to the -rule's target file name. - -To use the canned sequence, substitute the variable into the commands of a -rule. You can substitute it like any other variable -(@pxref{Reference, ,Basics of Variable References}). -Because variables defined by @code{define} are recursively expanded -variables, all the variable references you wrote inside the @code{define} -are expanded now. For example: - -@example -foo.c : foo.y - $(run-yacc) -@end example - -@noindent -@samp{foo.y} will be substituted for the variable @samp{$^} when it occurs in -@code{run-yacc}'s value, and @samp{foo.c} for @samp{$@@}.@refill - -This is a realistic example, but this particular one is not needed in -practice because @code{make} has an implicit rule to figure out these -commands based on the file names involved -(@pxref{Implicit Rules, ,Using Implicit Rules}). - -@cindex @@, and @code{define} -@cindex -, and @code{define} -@cindex +, and @code{define} -In command execution, each line of a canned sequence is treated just as -if the line appeared on its own in the rule, preceded by a tab. In -particular, @code{make} invokes a separate subshell for each line. You -can use the special prefix characters that affect command lines -(@samp{@@}, @samp{-}, and @samp{+}) on each line of a canned sequence. -@xref{Commands, ,Writing the Commands in Rules}. -For example, using this canned sequence: - -@example -define frobnicate -@@echo "frobnicating target $@@" -frob-step-1 $< -o $@@-step-1 -frob-step-2 $@@-step-1 -o $@@ -endef -@end example - -@noindent -@code{make} will not echo the first line, the @code{echo} command. -But it @emph{will} echo the following two command lines. - -On the other hand, prefix characters on the command line that refers to -a canned sequence apply to every line in the sequence. So the rule: - -@example -frob.out: frob.in - @@$(frobnicate) -@end example - -@noindent -does not echo @emph{any} commands. -(@xref{Echoing, ,Command Echoing}, for a full explanation of @samp{@@}.) - -@node Empty Commands, , Sequences, Commands -@section Using Empty Commands -@cindex empty commands -@cindex commands, empty - -It is sometimes useful to define commands which do nothing. This is done -simply by giving a command that consists of nothing but whitespace. For -example: - -@example -target: ; -@end example - -@noindent -defines an empty command string for @file{target}. You could also use a -line beginning with a tab character to define an empty command string, -but this would be confusing because such a line looks empty. - -@findex .DEFAULT@r{, and empty commands} -You may be wondering why you would want to define a command string that -does nothing. The only reason this is useful is to prevent a target -from getting implicit commands (from implicit rules or the -@code{.DEFAULT} special target; @pxref{Implicit Rules} and -@pxref{Last Resort, ,Defining Last-Resort Default Rules}).@refill - -@c !!! another reason is for canonical stamp files: -@ignore -foo: stamp-foo ; -stamp-foo: foo.in - create foo frm foo.in - touch $@ -@end ignore - -You may be inclined to define empty command strings for targets that are -not actual files, but only exist so that their prerequisites can be -remade. However, this is not the best way to do that, because the -prerequisites may not be remade properly if the target file actually does exist. -@xref{Phony Targets, ,Phony Targets}, for a better way to do this. - -@node Using Variables, Conditionals, Commands, Top -@chapter How to Use Variables -@cindex variable -@cindex value -@cindex recursive variable expansion -@cindex simple variable expansion - -A @dfn{variable} is a name defined in a makefile to represent a string -of text, called the variable's @dfn{value}. These values are -substituted by explicit request into targets, prerequisites, commands, -and other parts of the makefile. (In some other versions of @code{make}, -variables are called @dfn{macros}.) -@cindex macro - -Variables and functions in all parts of a makefile are expanded when -read, except for the shell commands in rules, the right-hand sides of -variable definitions using @samp{=}, and the bodies of variable -definitions using the @code{define} directive.@refill - -Variables can represent lists of file names, options to pass to compilers, -programs to run, directories to look in for source files, directories to -write output in, or anything else you can imagine. - -A variable name may be any sequence of characters not containing @samp{:}, -@samp{#}, @samp{=}, or leading or trailing whitespace. However, -variable names containing characters other than letters, numbers, and -underscores should be avoided, as they may be given special meanings in the -future, and with some shells they cannot be passed through the environment to a -sub-@code{make} -(@pxref{Variables/Recursion, ,Communicating Variables to a Sub-@code{make}}). - -Variable names are case-sensitive. The names @samp{foo}, @samp{FOO}, -and @samp{Foo} all refer to different variables. - -It is traditional to use upper case letters in variable names, but we -recommend using lower case letters for variable names that serve internal -purposes in the makefile, and reserving upper case for parameters that -control implicit rules or for parameters that the user should override with -command options (@pxref{Overriding, ,Overriding Variables}). - -A few variables have names that are a single punctuation character or -just a few characters. These are the @dfn{automatic variables}, and -they have particular specialized uses. @xref{Automatic Variables}. - -@menu -* Reference:: How to use the value of a variable. -* Flavors:: Variables come in two flavors. -* Advanced:: Advanced features for referencing a variable. -* Values:: All the ways variables get their values. -* Setting:: How to set a variable in the makefile. -* Appending:: How to append more text to the old value - of a variable. -* Override Directive:: How to set a variable in the makefile even if - the user has set it with a command argument. -* Defining:: An alternate way to set a variable - to a verbatim string. -* Environment:: Variable values can come from the environment. -* Target-specific:: Variable values can be defined on a per-target - basis. -* Pattern-specific:: Target-specific variable values can be applied - to a group of targets that match a pattern. -@end menu - -@node Reference, Flavors, Using Variables, Using Variables -@section Basics of Variable References -@cindex variables, how to reference -@cindex reference to variables -@cindex @code{$}, in variable reference -@cindex dollar sign (@code{$}), in variable reference - -To substitute a variable's value, write a dollar sign followed by the name -of the variable in parentheses or braces: either @samp{$(foo)} or -@samp{$@{foo@}} is a valid reference to the variable @code{foo}. This -special significance of @samp{$} is why you must write @samp{$$} to have -the effect of a single dollar sign in a file name or command. - -Variable references can be used in any context: targets, prerequisites, -commands, most directives, and new variable values. Here is an -example of a common case, where a variable holds the names of all the -object files in a program: - -@example -@group -objects = program.o foo.o utils.o -program : $(objects) - cc -o program $(objects) - -$(objects) : defs.h -@end group -@end example - -Variable references work by strict textual substitution. Thus, the rule - -@example -@group -foo = c -prog.o : prog.$(foo) - $(foo)$(foo) -$(foo) prog.$(foo) -@end group -@end example - -@noindent -could be used to compile a C program @file{prog.c}. Since spaces before -the variable value are ignored in variable assignments, the value of -@code{foo} is precisely @samp{c}. (Don't actually write your makefiles -this way!) - -A dollar sign followed by a character other than a dollar sign, -open-parenthesis or open-brace treats that single character as the -variable name. Thus, you could reference the variable @code{x} with -@samp{$x}. However, this practice is strongly discouraged, except in -the case of the automatic variables (@pxref{Automatic Variables}). - -@node Flavors, Advanced, Reference, Using Variables -@section The Two Flavors of Variables -@cindex flavors of variables -@cindex recursive variable expansion -@cindex variables, flavors -@cindex recursively expanded variables -@cindex variables, recursively expanded - -There are two ways that a variable in GNU @code{make} can have a value; -we call them the two @dfn{flavors} of variables. The two flavors are -distinguished in how they are defined and in what they do when expanded. - -@cindex = -The first flavor of variable is a @dfn{recursively expanded} variable. -Variables of this sort are defined by lines using @samp{=} -(@pxref{Setting, ,Setting Variables}) or by the @code{define} directive -(@pxref{Defining, ,Defining Variables Verbatim}). The value you specify -is installed verbatim; if it contains references to other variables, -these references are expanded whenever this variable is substituted (in -the course of expanding some other string). When this happens, it is -called @dfn{recursive expansion}.@refill - -For example, - -@example -foo = $(bar) -bar = $(ugh) -ugh = Huh? - -all:;echo $(foo) -@end example - -@noindent -will echo @samp{Huh?}: @samp{$(foo)} expands to @samp{$(bar)} which -expands to @samp{$(ugh)} which finally expands to @samp{Huh?}.@refill - -This flavor of variable is the only sort supported by other versions of -@code{make}. It has its advantages and its disadvantages. An advantage -(most would say) is that: - -@example -CFLAGS = $(include_dirs) -O -include_dirs = -Ifoo -Ibar -@end example - -@noindent -will do what was intended: when @samp{CFLAGS} is expanded in a command, -it will expand to @samp{-Ifoo -Ibar -O}. A major disadvantage is that you -cannot append something on the end of a variable, as in - -@example -CFLAGS = $(CFLAGS) -O -@end example - -@noindent -because it will cause an infinite loop in the variable expansion. -(Actually @code{make} detects the infinite loop and reports an error.) -@cindex loops in variable expansion -@cindex variables, loops in expansion - -Another disadvantage is that any functions -(@pxref{Functions, ,Functions for Transforming Text}) -referenced in the definition will be executed every time the variable is -expanded. This makes @code{make} run slower; worse, it causes the -@code{wildcard} and @code{shell} functions to give unpredictable results -because you cannot easily control when they are called, or even how many -times. - -To avoid all the problems and inconveniences of recursively expanded -variables, there is another flavor: simply expanded variables. - -@cindex simply expanded variables -@cindex variables, simply expanded -@cindex := -@dfn{Simply expanded variables} are defined by lines using @samp{:=} -(@pxref{Setting, ,Setting Variables}). -The value of a simply expanded variable is scanned -once and for all, expanding any references to other variables and -functions, when the variable is defined. The actual value of the simply -expanded variable is the result of expanding the text that you write. -It does not contain any references to other variables; it contains their -values @emph{as of the time this variable was defined}. Therefore, - -@example -x := foo -y := $(x) bar -x := later -@end example - -@noindent -is equivalent to - -@example -y := foo bar -x := later -@end example - -When a simply expanded variable is referenced, its value is substituted -verbatim. - -Here is a somewhat more complicated example, illustrating the use of -@samp{:=} in conjunction with the @code{shell} function. -(@xref{Shell Function, , The @code{shell} Function}.) This example -also shows use of the variable @code{MAKELEVEL}, which is changed -when it is passed down from level to level. -(@xref{Variables/Recursion, , Communicating Variables to a -Sub-@code{make}}, for information about @code{MAKELEVEL}.) - -@vindex MAKELEVEL -@vindex MAKE -@example -@group -ifeq (0,$@{MAKELEVEL@}) -cur-dir := $(shell pwd) -whoami := $(shell whoami) -host-type := $(shell arch) -MAKE := $@{MAKE@} host-type=$@{host-type@} whoami=$@{whoami@} -endif -@end group -@end example - -@noindent -An advantage of this use of @samp{:=} is that a typical -`descend into a directory' command then looks like this: - -@example -@group -$@{subdirs@}: - $@{MAKE@} cur-dir=$@{cur-dir@}/$@@ -C $@@ all -@end group -@end example - -Simply expanded variables generally make complicated makefile programming -more predictable because they work like variables in most programming -languages. They allow you to redefine a variable using its own value (or -its value processed in some way by one of the expansion functions) and to -use the expansion functions much more efficiently -(@pxref{Functions, ,Functions for Transforming Text}). - -@cindex spaces, in variable values -@cindex whitespace, in variable values -@cindex variables, spaces in values -You can also use them to introduce controlled leading whitespace into -variable values. Leading whitespace characters are discarded from your -input before substitution of variable references and function calls; -this means you can include leading spaces in a variable value by -protecting them with variable references, like this: - -@example -nullstring := -space := $(nullstring) # end of the line -@end example - -@noindent -Here the value of the variable @code{space} is precisely one space. The -comment @w{@samp{# end of the line}} is included here just for clarity. -Since trailing space characters are @emph{not} stripped from variable -values, just a space at the end of the line would have the same effect -(but be rather hard to read). If you put whitespace at the end of a -variable value, it is a good idea to put a comment like that at the end -of the line to make your intent clear. Conversely, if you do @emph{not} -want any whitespace characters at the end of your variable value, you -must remember not to put a random comment on the end of the line after -some whitespace, such as this: - -@example -dir := /foo/bar # directory to put the frobs in -@end example - -@noindent -Here the value of the variable @code{dir} is @w{@samp{/foo/bar }} -(with four trailing spaces), which was probably not the intention. -(Imagine something like @w{@samp{$(dir)/file}} with this definition!) - -@cindex conditional variable assignment -@cindex variables, conditional assignment -@cindex ?= -There is another assignment operator for variables, @samp{?=}. This -is called a conditional variable assignment operator, because it only -has an effect if the variable is not yet defined. This statement: - -@example -FOO ?= bar -@end example - -@noindent -is exactly equivalent to this -(@pxref{Origin Function, ,The @code{origin} Function}): - -@example -ifeq ($(origin FOO), undefined) - FOO = bar -endif -@end example - -Note that a variable set to an empty value is still defined, so -@samp{?=} will not set that variable. - -@node Advanced, Values, Flavors, Using Variables -@section Advanced Features for Reference to Variables -@cindex reference to variables - -This section describes some advanced features you can use to reference -variables in more flexible ways. - -@menu -* Substitution Refs:: Referencing a variable with - substitutions on the value. -* Computed Names:: Computing the name of the variable to refer to. -@end menu - -@node Substitution Refs, Computed Names, Advanced, Advanced -@subsection Substitution References -@cindex modified variable reference -@cindex substitution variable reference -@cindex variables, modified reference -@cindex variables, substitution reference - -@cindex variables, substituting suffix in -@cindex suffix, substituting in variables -A @dfn{substitution reference} substitutes the value of a variable with -alterations that you specify. It has the form -@samp{$(@var{var}:@var{a}=@var{b})} (or -@samp{$@{@var{var}:@var{a}=@var{b}@}}) and its meaning is to take the value -of the variable @var{var}, replace every @var{a} at the end of a word with -@var{b} in that value, and substitute the resulting string. - -When we say ``at the end of a word'', we mean that @var{a} must appear -either followed by whitespace or at the end of the value in order to be -replaced; other occurrences of @var{a} in the value are unaltered. For -example:@refill - -@example -foo := a.o b.o c.o -bar := $(foo:.o=.c) -@end example - -@noindent -sets @samp{bar} to @samp{a.c b.c c.c}. @xref{Setting, ,Setting Variables}. - -A substitution reference is actually an abbreviation for use of the -@code{patsubst} expansion function (@pxref{Text Functions, ,Functions for String Substitution and Analysis}). We provide -substitution references as well as @code{patsubst} for compatibility with -other implementations of @code{make}. - -@findex patsubst -Another type of substitution reference lets you use the full power of -the @code{patsubst} function. It has the same form -@samp{$(@var{var}:@var{a}=@var{b})} described above, except that now -@var{a} must contain a single @samp{%} character. This case is -equivalent to @samp{$(patsubst @var{a},@var{b},$(@var{var}))}. -@xref{Text Functions, ,Functions for String Substitution and Analysis}, -for a description of the @code{patsubst} function.@refill - -@example -@group -@exdent For example: - -foo := a.o b.o c.o -bar := $(foo:%.o=%.c) -@end group -@end example - -@noindent -sets @samp{bar} to @samp{a.c b.c c.c}. - -@node Computed Names, , Substitution Refs, Advanced -@subsection Computed Variable Names -@cindex nested variable reference -@cindex computed variable name -@cindex variables, computed names -@cindex variables, nested references -@cindex variables, @samp{$} in name -@cindex @code{$}, in variable name -@cindex dollar sign (@code{$}), in variable name - -Computed variable names are a complicated concept needed only for -sophisticated makefile programming. For most purposes you need not -consider them, except to know that making a variable with a dollar sign -in its name might have strange results. However, if you are the type -that wants to understand everything, or you are actually interested in -what they do, read on. - -Variables may be referenced inside the name of a variable. This is -called a @dfn{computed variable name} or a @dfn{nested variable -reference}. For example, - -@example -x = y -y = z -a := $($(x)) -@end example - -@noindent -defines @code{a} as @samp{z}: the @samp{$(x)} inside @samp{$($(x))} expands -to @samp{y}, so @samp{$($(x))} expands to @samp{$(y)} which in turn expands -to @samp{z}. Here the name of the variable to reference is not stated -explicitly; it is computed by expansion of @samp{$(x)}. The reference -@samp{$(x)} here is nested within the outer variable reference. - -The previous example shows two levels of nesting, but any number of levels -is possible. For example, here are three levels: - -@example -x = y -y = z -z = u -a := $($($(x))) -@end example - -@noindent -Here the innermost @samp{$(x)} expands to @samp{y}, so @samp{$($(x))} -expands to @samp{$(y)} which in turn expands to @samp{z}; now we have -@samp{$(z)}, which becomes @samp{u}. - -References to recursively-expanded variables within a variable name are -reexpanded in the usual fashion. For example: - -@example -x = $(y) -y = z -z = Hello -a := $($(x)) -@end example - -@noindent -defines @code{a} as @samp{Hello}: @samp{$($(x))} becomes @samp{$($(y))} -which becomes @samp{$(z)} which becomes @samp{Hello}. - -Nested variable references can also contain modified references and -function invocations (@pxref{Functions, ,Functions for Transforming Text}), -just like any other reference. -For example, using the @code{subst} function -(@pxref{Text Functions, ,Functions for String Substitution and Analysis}): - -@example -@group -x = variable1 -variable2 := Hello -y = $(subst 1,2,$(x)) -z = y -a := $($($(z))) -@end group -@end example - -@noindent -eventually defines @code{a} as @samp{Hello}. It is doubtful that anyone -would ever want to write a nested reference as convoluted as this one, but -it works: @samp{$($($(z)))} expands to @samp{$($(y))} which becomes -@samp{$($(subst 1,2,$(x)))}. This gets the value @samp{variable1} from -@code{x} and changes it by substitution to @samp{variable2}, so that the -entire string becomes @samp{$(variable2)}, a simple variable reference -whose value is @samp{Hello}.@refill - -A computed variable name need not consist entirely of a single variable -reference. It can contain several variable references, as well as some -invariant text. For example, - -@example -@group -a_dirs := dira dirb -1_dirs := dir1 dir2 -@end group - -@group -a_files := filea fileb -1_files := file1 file2 -@end group - -@group -ifeq "$(use_a)" "yes" -a1 := a -else -a1 := 1 -endif -@end group - -@group -ifeq "$(use_dirs)" "yes" -df := dirs -else -df := files -endif - -dirs := $($(a1)_$(df)) -@end group -@end example - -@noindent -will give @code{dirs} the same value as @code{a_dirs}, @code{1_dirs}, -@code{a_files} or @code{1_files} depending on the settings of @code{use_a} -and @code{use_dirs}.@refill - -Computed variable names can also be used in substitution references: - -@example -@group -a_objects := a.o b.o c.o -1_objects := 1.o 2.o 3.o - -sources := $($(a1)_objects:.o=.c) -@end group -@end example - -@noindent -defines @code{sources} as either @samp{a.c b.c c.c} or @samp{1.c 2.c 3.c}, -depending on the value of @code{a1}. - -The only restriction on this sort of use of nested variable references -is that they cannot specify part of the name of a function to be called. -This is because the test for a recognized function name is done before -the expansion of nested references. For example, - -@example -@group -ifdef do_sort -func := sort -else -func := strip -endif -@end group - -@group -bar := a d b g q c -@end group - -@group -foo := $($(func) $(bar)) -@end group -@end example - -@noindent -attempts to give @samp{foo} the value of the variable @samp{sort a d b g -q c} or @samp{strip a d b g q c}, rather than giving @samp{a d b g q c} -as the argument to either the @code{sort} or the @code{strip} function. -This restriction could be removed in the future if that change is shown -to be a good idea. - -You can also use computed variable names in the left-hand side of a -variable assignment, or in a @code{define} directive, as in: - -@example -dir = foo -$(dir)_sources := $(wildcard $(dir)/*.c) -define $(dir)_print -lpr $($(dir)_sources) -endef -@end example - -@noindent -This example defines the variables @samp{dir}, @samp{foo_sources}, and -@samp{foo_print}. - -Note that @dfn{nested variable references} are quite different from -@dfn{recursively expanded variables} -(@pxref{Flavors, ,The Two Flavors of Variables}), though both are -used together in complex ways when doing makefile programming.@refill - -@node Values, Setting, Advanced, Using Variables -@section How Variables Get Their Values -@cindex variables, how they get their values -@cindex value, how a variable gets it - -Variables can get values in several different ways: - -@itemize @bullet -@item -You can specify an overriding value when you run @code{make}. -@xref{Overriding, ,Overriding Variables}. - -@item -You can specify a value in the makefile, either -with an assignment (@pxref{Setting, ,Setting Variables}) or with a -verbatim definition (@pxref{Defining, ,Defining Variables Verbatim}).@refill - -@item -Variables in the environment become @code{make} variables. -@xref{Environment, ,Variables from the Environment}. - -@item -Several @dfn{automatic} variables are given new values for each rule. -Each of these has a single conventional use. -@xref{Automatic Variables}. - -@item -Several variables have constant initial values. -@xref{Implicit Variables, ,Variables Used by Implicit Rules}. -@end itemize - -@node Setting, Appending, Values, Using Variables -@section Setting Variables -@cindex setting variables -@cindex variables, setting -@cindex = -@cindex := -@cindex ?= - -To set a variable from the makefile, write a line starting with the -variable name followed by @samp{=} or @samp{:=}. Whatever follows the -@samp{=} or @samp{:=} on the line becomes the value. For example, - -@example -objects = main.o foo.o bar.o utils.o -@end example - -@noindent -defines a variable named @code{objects}. Whitespace around the variable -name and immediately after the @samp{=} is ignored. - -Variables defined with @samp{=} are @dfn{recursively expanded} variables. -Variables defined with @samp{:=} are @dfn{simply expanded} variables; these -definitions can contain variable references which will be expanded before -the definition is made. @xref{Flavors, ,The Two Flavors of Variables}. - -The variable name may contain function and variable references, which -are expanded when the line is read to find the actual variable name to use. - -There is no limit on the length of the value of a variable except the -amount of swapping space on the computer. When a variable definition is -long, it is a good idea to break it into several lines by inserting -backslash-newline at convenient places in the definition. This will not -affect the functioning of @code{make}, but it will make the makefile easier -to read. - -Most variable names are considered to have the empty string as a value if -you have never set them. Several variables have built-in initial values -that are not empty, but you can set them in the usual ways -(@pxref{Implicit Variables, ,Variables Used by Implicit Rules}). -Several special variables are set -automatically to a new value for each rule; these are called the -@dfn{automatic} variables (@pxref{Automatic Variables}). - -If you'd like a variable to be set to a value only if it's not already -set, then you can use the shorthand operator @samp{?=} instead of -@samp{=}. These two settings of the variable @samp{FOO} are identical -(@pxref{Origin Function, ,The @code{origin} Function}): - -@example -FOO ?= bar -@end example - -@noindent -and - -@example -ifeq ($(origin FOO), undefined) -FOO = bar -endif -@end example - -@node Appending, Override Directive, Setting, Using Variables -@section Appending More Text to Variables -@cindex += -@cindex appending to variables -@cindex variables, appending to - -Often it is useful to add more text to the value of a variable already defined. -You do this with a line containing @samp{+=}, like this: - -@example -objects += another.o -@end example - -@noindent -This takes the value of the variable @code{objects}, and adds the text -@samp{another.o} to it (preceded by a single space). Thus: - -@example -objects = main.o foo.o bar.o utils.o -objects += another.o -@end example - -@noindent -sets @code{objects} to @samp{main.o foo.o bar.o utils.o another.o}. - -Using @samp{+=} is similar to: - -@example -objects = main.o foo.o bar.o utils.o -objects := $(objects) another.o -@end example - -@noindent -but differs in ways that become important when you use more complex values. - -When the variable in question has not been defined before, @samp{+=} -acts just like normal @samp{=}: it defines a recursively-expanded -variable. However, when there @emph{is} a previous definition, exactly -what @samp{+=} does depends on what flavor of variable you defined -originally. @xref{Flavors, ,The Two Flavors of Variables}, for an -explanation of the two flavors of variables. - -When you add to a variable's value with @samp{+=}, @code{make} acts -essentially as if you had included the extra text in the initial -definition of the variable. If you defined it first with @samp{:=}, -making it a simply-expanded variable, @samp{+=} adds to that -simply-expanded definition, and expands the new text before appending it -to the old value just as @samp{:=} does -(@pxref{Setting, ,Setting Variables}, for a full explanation of @samp{:=}). -In fact, - -@example -variable := value -variable += more -@end example - -@noindent -is exactly equivalent to: - -@noindent -@example -variable := value -variable := $(variable) more -@end example - -On the other hand, when you use @samp{+=} with a variable that you defined -first to be recursively-expanded using plain @samp{=}, @code{make} does -something a bit different. Recall that when you define a -recursively-expanded variable, @code{make} does not expand the value you set -for variable and function references immediately. Instead it stores the text -verbatim, and saves these variable and function references to be expanded -later, when you refer to the new variable (@pxref{Flavors, ,The Two Flavors -of Variables}). When you use @samp{+=} on a recursively-expanded variable, -it is this unexpanded text to which @code{make} appends the new text you -specify. - -@example -@group -variable = value -variable += more -@end group -@end example - -@noindent -is roughly equivalent to: - -@example -@group -temp = value -variable = $(temp) more -@end group -@end example - -@noindent -except that of course it never defines a variable called @code{temp}. -The importance of this comes when the variable's old value contains -variable references. Take this common example: - -@example -CFLAGS = $(includes) -O -@dots{} -CFLAGS += -pg # enable profiling -@end example - -@noindent -The first line defines the @code{CFLAGS} variable with a reference to another -variable, @code{includes}. (@code{CFLAGS} is used by the rules for C -compilation; @pxref{Catalogue of Rules, ,Catalogue of Implicit Rules}.) -Using @samp{=} for the definition makes @code{CFLAGS} a recursively-expanded -variable, meaning @w{@samp{$(includes) -O}} is @emph{not} expanded when -@code{make} processes the definition of @code{CFLAGS}. Thus, @code{includes} -need not be defined yet for its value to take effect. It only has to be -defined before any reference to @code{CFLAGS}. If we tried to append to the -value of @code{CFLAGS} without using @samp{+=}, we might do it like this: - -@example -CFLAGS := $(CFLAGS) -pg # enable profiling -@end example - -@noindent -This is pretty close, but not quite what we want. Using @samp{:=} -redefines @code{CFLAGS} as a simply-expanded variable; this means -@code{make} expands the text @w{@samp{$(CFLAGS) -pg}} before setting the -variable. If @code{includes} is not yet defined, we get @w{@samp{ -O --pg}}, and a later definition of @code{includes} will have no effect. -Conversely, by using @samp{+=} we set @code{CFLAGS} to the -@emph{unexpanded} value @w{@samp{$(includes) -O -pg}}. Thus we preserve -the reference to @code{includes}, so if that variable gets defined at -any later point, a reference like @samp{$(CFLAGS)} still uses its -value. - -@node Override Directive, Defining, Appending, Using Variables -@section The @code{override} Directive -@findex override -@cindex overriding with @code{override} -@cindex variables, overriding - -If a variable has been set with a command argument -(@pxref{Overriding, ,Overriding Variables}), -then ordinary assignments in the makefile are ignored. If you want to set -the variable in the makefile even though it was set with a command -argument, you can use an @code{override} directive, which is a line that -looks like this:@refill - -@example -override @var{variable} = @var{value} -@end example - -@noindent -or - -@example -override @var{variable} := @var{value} -@end example - -To append more text to a variable defined on the command line, use: - -@example -override @var{variable} += @var{more text} -@end example - -@noindent -@xref{Appending, ,Appending More Text to Variables}. - -The @code{override} directive was not invented for escalation in the war -between makefiles and command arguments. It was invented so you can alter -and add to values that the user specifies with command arguments. - -For example, suppose you always want the @samp{-g} switch when you run the -C compiler, but you would like to allow the user to specify the other -switches with a command argument just as usual. You could use this -@code{override} directive: - -@example -override CFLAGS += -g -@end example - -You can also use @code{override} directives with @code{define} directives. -This is done as you might expect: - -@example -override define foo -bar -endef -@end example - -@noindent -@iftex -See the next section for information about @code{define}. -@end iftex -@ifinfo -@xref{Defining, ,Defining Variables Verbatim}. -@end ifinfo - -@node Defining, Environment, Override Directive, Using Variables -@section Defining Variables Verbatim -@findex define -@findex endef -@cindex verbatim variable definition -@cindex defining variables verbatim -@cindex variables, defining verbatim - -Another way to set the value of a variable is to use the @code{define} -directive. This directive has an unusual syntax which allows newline -characters to be included in the value, which is convenient for defining -both canned sequences of commands -(@pxref{Sequences, ,Defining Canned Command Sequences}), and also -sections of makefile syntax to use with @code{eval} (@pxref{Eval Function}). - -The @code{define} directive is followed on the same line by the name of the -variable and nothing more. The value to give the variable appears on the -following lines. The end of the value is marked by a line containing just -the word @code{endef}. Aside from this difference in syntax, @code{define} -works just like @samp{=}: it creates a recursively-expanded variable -(@pxref{Flavors, ,The Two Flavors of Variables}). -The variable name may contain function and variable references, which -are expanded when the directive is read to find the actual variable name -to use. - -You may nest @code{define} directives: @code{make} will keep track of -nested directives and report an error if they are not all properly -closed with @code{endef}. Note that lines beginning with tab -characters are considered part of a command script, so any -@code{define} or @code{endef} strings appearing on such a line will -not be considered @code{make} operators. - -@example -define two-lines -echo foo -echo $(bar) -endef -@end example - -The value in an ordinary assignment cannot contain a newline; but the -newlines that separate the lines of the value in a @code{define} become -part of the variable's value (except for the final newline which precedes -the @code{endef} and is not considered part of the value).@refill - -@need 800 -When used in a command script, the previous example is functionally -equivalent to this: - -@example -two-lines = echo foo; echo $(bar) -@end example - -@noindent -since two commands separated by semicolon behave much like two separate -shell commands. However, note that using two separate lines means -@code{make} will invoke the shell twice, running an independent subshell -for each line. @xref{Execution, ,Command Execution}. - -If you want variable definitions made with @code{define} to take -precedence over command-line variable definitions, you can use the -@code{override} directive together with @code{define}: - -@example -override define two-lines -foo -$(bar) -endef -@end example - -@noindent -@xref{Override Directive, ,The @code{override} Directive}. - -@node Environment, Target-specific, Defining, Using Variables -@section Variables from the Environment - -@cindex variables, environment -@cindex environment -Variables in @code{make} can come from the environment in which -@code{make} is run. Every environment variable that @code{make} sees when -it starts up is transformed into a @code{make} variable with the same name -and value. But an explicit assignment in the makefile, or with a command -argument, overrides the environment. (If the @samp{-e} flag is specified, -then values from the environment override assignments in the makefile. -@xref{Options Summary, ,Summary of Options}. -But this is not recommended practice.) - -Thus, by setting the variable @code{CFLAGS} in your environment, you can -cause all C compilations in most makefiles to use the compiler switches you -prefer. This is safe for variables with standard or conventional meanings -because you know that no makefile will use them for other things. (But -this is not totally reliable; some makefiles set @code{CFLAGS} explicitly -and therefore are not affected by the value in the environment.) - -When @code{make} is invoked recursively, variables defined in the -outer invocation can be passed to inner invocations through the -environment (@pxref{Recursion, ,Recursive Use of @code{make}}). By -default, only variables that came from the environment or the command -line are passed to recursive invocations. You can use the -@code{export} directive to pass other variables. -@xref{Variables/Recursion, , Communicating Variables to a -Sub-@code{make}}, for full details. - -Other use of variables from the environment is not recommended. It is not -wise for makefiles to depend for their functioning on environment variables -set up outside their control, since this would cause different users to get -different results from the same makefile. This is against the whole -purpose of most makefiles. - -Such problems would be especially likely with the variable @code{SHELL}, -which is normally present in the environment to specify the user's choice -of interactive shell. It would be very undesirable for this choice to -affect @code{make}. So @code{make} ignores the environment value of -@code{SHELL} (except on MS-DOS and MS-Windows, where @code{SHELL} is -usually not set. @xref{Execution, ,Special handling of SHELL on -MS-DOS}.)@refill - -@node Target-specific, Pattern-specific, Environment, Using Variables -@section Target-specific Variable Values -@cindex target-specific variables -@cindex variables, target-specific - -Variable values in @code{make} are usually global; that is, they are the -same regardless of where they are evaluated (unless they're reset, of -course). One exception to that is automatic variables -(@pxref{Automatic Variables}). - -The other exception is @dfn{target-specific variable values}. This -feature allows you to define different values for the same variable, -based on the target that @code{make} is currently building. As with -automatic variables, these values are only available within the context -of a target's command script (and in other target-specific assignments). - -Set a target-specific variable value like this: - -@example -@var{target} @dots{} : @var{variable-assignment} -@end example - -@noindent -or like this: - -@example -@var{target} @dots{} : override @var{variable-assignment} -@end example - -@noindent -or like this: - -@example -@var{target} @dots{} : export @var{variable-assignment} -@end example - -Multiple @var{target} values create a target-specific variable value for -each member of the target list individually. - -The @var{variable-assignment} can be any valid form of assignment; -recursive (@samp{=}), static (@samp{:=}), appending (@samp{+=}), or -conditional (@samp{?=}). All variables that appear within the -@var{variable-assignment} are evaluated within the context of the -target: thus, any previously-defined target-specific variable values -will be in effect. Note that this variable is actually distinct from -any ``global'' value: the two variables do not have to have the same -flavor (recursive vs. static). - -Target-specific variables have the same priority as any other makefile -variable. Variables provided on the command-line (and in the -environment if the @samp{-e} option is in force) will take precedence. -Specifying the @code{override} directive will allow the target-specific -variable value to be preferred. - -There is one more special feature of target-specific variables: when you -define a target-specific variable, that variable value is also in effect -for all prerequisites of this target (unless those prerequisites override -it with their own target-specific variable value). So, for example, a -statement like this: - -@example -prog : CFLAGS = -g -prog : prog.o foo.o bar.o -@end example - -@noindent -will set @code{CFLAGS} to @samp{-g} in the command script for -@file{prog}, but it will also set @code{CFLAGS} to @samp{-g} in the -command scripts that create @file{prog.o}, @file{foo.o}, and -@file{bar.o}, and any command scripts which create their prerequisites. - -@node Pattern-specific, , Target-specific, Using Variables -@section Pattern-specific Variable Values -@cindex pattern-specific variables -@cindex variables, pattern-specific - -In addition to target-specific variable values -(@pxref{Target-specific, ,Target-specific Variable Values}), GNU -@code{make} supports pattern-specific variable values. In this form, -the variable is defined for any target that matches the pattern -specified. If a target matches more than one pattern, all the -matching pattern-specific variables are interpreted in the order in -which they were defined in the makefile, and collected together into -one set. Variables defined in this way are searched after any -target-specific variables defined explicitly for that target, and -before target-specific variables defined for the parent target. - -Set a pattern-specific variable value like this: - -@example -@var{pattern} @dots{} : @var{variable-assignment} -@end example - -@noindent -or like this: - -@example -@var{pattern} @dots{} : override @var{variable-assignment} -@end example - -@noindent -where @var{pattern} is a %-pattern. As with target-specific variable -values, multiple @var{pattern} values create a pattern-specific variable -value for each pattern individually. The @var{variable-assignment} can -be any valid form of assignment. Any command-line variable setting will -take precedence, unless @code{override} is specified. - -For example: - -@example -%.o : CFLAGS = -O -@end example - -@noindent -will assign @code{CFLAGS} the value of @samp{-O} for all targets -matching the pattern @code{%.o}. - -@node Conditionals, Functions, Using Variables, Top -@chapter Conditional Parts of Makefiles - -@cindex conditionals -A @dfn{conditional} causes part of a makefile to be obeyed or ignored -depending on the values of variables. Conditionals can compare the -value of one variable to another, or the value of a variable to -a constant string. Conditionals control what @code{make} actually -``sees'' in the makefile, so they @emph{cannot} be used to control shell -commands at the time of execution.@refill - -@menu -* Conditional Example:: Example of a conditional -* Conditional Syntax:: The syntax of conditionals. -* Testing Flags:: Conditionals that test flags. -@end menu - -@node Conditional Example, Conditional Syntax, Conditionals, Conditionals -@section Example of a Conditional - -The following example of a conditional tells @code{make} to use one set -of libraries if the @code{CC} variable is @samp{gcc}, and a different -set of libraries otherwise. It works by controlling which of two -command lines will be used as the command for a rule. The result is -that @samp{CC=gcc} as an argument to @code{make} changes not only which -compiler is used but also which libraries are linked. - -@example -libs_for_gcc = -lgnu -normal_libs = - -foo: $(objects) -ifeq ($(CC),gcc) - $(CC) -o foo $(objects) $(libs_for_gcc) -else - $(CC) -o foo $(objects) $(normal_libs) -endif -@end example - -This conditional uses three directives: one @code{ifeq}, one @code{else} -and one @code{endif}. - -The @code{ifeq} directive begins the conditional, and specifies the -condition. It contains two arguments, separated by a comma and surrounded -by parentheses. Variable substitution is performed on both arguments and -then they are compared. The lines of the makefile following the -@code{ifeq} are obeyed if the two arguments match; otherwise they are -ignored. - -The @code{else} directive causes the following lines to be obeyed if the -previous conditional failed. In the example above, this means that the -second alternative linking command is used whenever the first alternative -is not used. It is optional to have an @code{else} in a conditional. - -The @code{endif} directive ends the conditional. Every conditional must -end with an @code{endif}. Unconditional makefile text follows. - -As this example illustrates, conditionals work at the textual level: -the lines of the conditional are treated as part of the makefile, or -ignored, according to the condition. This is why the larger syntactic -units of the makefile, such as rules, may cross the beginning or the -end of the conditional. - -When the variable @code{CC} has the value @samp{gcc}, the above example has -this effect: - -@example -foo: $(objects) - $(CC) -o foo $(objects) $(libs_for_gcc) -@end example - -@noindent -When the variable @code{CC} has any other value, the effect is this: - -@example -foo: $(objects) - $(CC) -o foo $(objects) $(normal_libs) -@end example - -Equivalent results can be obtained in another way by conditionalizing a -variable assignment and then using the variable unconditionally: - -@example -libs_for_gcc = -lgnu -normal_libs = - -ifeq ($(CC),gcc) - libs=$(libs_for_gcc) -else - libs=$(normal_libs) -endif - -foo: $(objects) - $(CC) -o foo $(objects) $(libs) -@end example - -@node Conditional Syntax, Testing Flags, Conditional Example, Conditionals -@section Syntax of Conditionals -@findex ifdef -@findex ifeq -@findex ifndef -@findex ifneq -@findex else -@findex endif - -The syntax of a simple conditional with no @code{else} is as follows: - -@example -@var{conditional-directive} -@var{text-if-true} -endif -@end example - -@noindent -The @var{text-if-true} may be any lines of text, to be considered as part -of the makefile if the condition is true. If the condition is false, no -text is used instead. - -The syntax of a complex conditional is as follows: - -@example -@var{conditional-directive} -@var{text-if-true} -else -@var{text-if-false} -endif -@end example - -@noindent -If the condition is true, @var{text-if-true} is used; otherwise, -@var{text-if-false} is used instead. The @var{text-if-false} can be any -number of lines of text. - -The syntax of the @var{conditional-directive} is the same whether the -conditional is simple or complex. There are four different directives that -test different conditions. Here is a table of them: - -@table @code -@item ifeq (@var{arg1}, @var{arg2}) -@itemx ifeq '@var{arg1}' '@var{arg2}' -@itemx ifeq "@var{arg1}" "@var{arg2}" -@itemx ifeq "@var{arg1}" '@var{arg2}' -@itemx ifeq '@var{arg1}' "@var{arg2}" -Expand all variable references in @var{arg1} and @var{arg2} and -compare them. If they are identical, the @var{text-if-true} is -effective; otherwise, the @var{text-if-false}, if any, is effective. - -Often you want to test if a variable has a non-empty value. When the -value results from complex expansions of variables and functions, -expansions you would consider empty may actually contain whitespace -characters and thus are not seen as empty. However, you can use the -@code{strip} function (@pxref{Text Functions}) to avoid interpreting -whitespace as a non-empty value. For example: - -@example -@group -ifeq ($(strip $(foo)),) -@var{text-if-empty} -endif -@end group -@end example - -@noindent -will evaluate @var{text-if-empty} even if the expansion of -@code{$(foo)} contains whitespace characters. - -@item ifneq (@var{arg1}, @var{arg2}) -@itemx ifneq '@var{arg1}' '@var{arg2}' -@itemx ifneq "@var{arg1}" "@var{arg2}" -@itemx ifneq "@var{arg1}" '@var{arg2}' -@itemx ifneq '@var{arg1}' "@var{arg2}" -Expand all variable references in @var{arg1} and @var{arg2} and -compare them. If they are different, the @var{text-if-true} is -effective; otherwise, the @var{text-if-false}, if any, is effective. - -@item ifdef @var{variable-name} -If the variable @var{variable-name} has a non-empty value, the -@var{text-if-true} is effective; otherwise, the @var{text-if-false}, -if any, is effective. Variables that have never been defined have an -empty value. The variable @var{variable-name} is itself expanded, so -it could be a variable or function that expands to the name of a -variable. - -Note that @code{ifdef} only tests whether a variable has a value. It -does not expand the variable to see if that value is nonempty. -Consequently, tests using @code{ifdef} return true for all definitions -except those like @code{foo =}. To test for an empty value, use -@w{@code{ifeq ($(foo),)}}. For example, - -@example -bar = -foo = $(bar) -ifdef foo -frobozz = yes -else -frobozz = no -endif -@end example - -@noindent -sets @samp{frobozz} to @samp{yes}, while: - -@example -foo = -ifdef foo -frobozz = yes -else -frobozz = no -endif -@end example - -@noindent -sets @samp{frobozz} to @samp{no}. - -@item ifndef @var{variable-name} -If the variable @var{variable-name} has an empty value, the -@var{text-if-true} is effective; otherwise, the @var{text-if-false}, -if any, is effective. -@end table - -Extra spaces are allowed and ignored at the beginning of the conditional -directive line, but a tab is not allowed. (If the line begins with a tab, -it will be considered a command for a rule.) Aside from this, extra spaces -or tabs may be inserted with no effect anywhere except within the directive -name or within an argument. A comment starting with @samp{#} may appear at -the end of the line. - -The other two directives that play a part in a conditional are @code{else} -and @code{endif}. Each of these directives is written as one word, with no -arguments. Extra spaces are allowed and ignored at the beginning of the -line, and spaces or tabs at the end. A comment starting with @samp{#} may -appear at the end of the line. - -Conditionals affect which lines of the makefile @code{make} uses. If -the condition is true, @code{make} reads the lines of the -@var{text-if-true} as part of the makefile; if the condition is false, -@code{make} ignores those lines completely. It follows that syntactic -units of the makefile, such as rules, may safely be split across the -beginning or the end of the conditional.@refill - -@code{make} evaluates conditionals when it reads a makefile. -Consequently, you cannot use automatic variables in the tests of -conditionals because they are not defined until commands are run -(@pxref{Automatic Variables}). - -To prevent intolerable confusion, it is not permitted to start a -conditional in one makefile and end it in another. However, you may -write an @code{include} directive within a conditional, provided you do -not attempt to terminate the conditional inside the included file. - -@node Testing Flags, , Conditional Syntax, Conditionals -@section Conditionals that Test Flags - -You can write a conditional that tests @code{make} command flags such as -@samp{-t} by using the variable @code{MAKEFLAGS} together with the -@code{findstring} function -(@pxref{Text Functions, , Functions for String Substitution and Analysis}). -This is useful when @code{touch} is not enough to make a file appear up -to date. - -The @code{findstring} function determines whether one string appears as a -substring of another. If you want to test for the @samp{-t} flag, -use @samp{t} as the first string and the value of @code{MAKEFLAGS} as -the other. - -For example, here is how to arrange to use @samp{ranlib -t} to finish -marking an archive file up to date: - -@example -archive.a: @dots{} -ifneq (,$(findstring t,$(MAKEFLAGS))) - +touch archive.a - +ranlib -t archive.a -else - ranlib archive.a -endif -@end example - -@noindent -The @samp{+} prefix marks those command lines as ``recursive'' so -that they will be executed despite use of the @samp{-t} flag. -@xref{Recursion, ,Recursive Use of @code{make}}. - -@node Functions, Running, Conditionals, Top -@chapter Functions for Transforming Text -@cindex functions - -@dfn{Functions} allow you to do text processing in the makefile to compute -the files to operate on or the commands to use. You use a function in a -@dfn{function call}, where you give the name of the function and some text -(the @dfn{arguments}) for the function to operate on. The result of the -function's processing is substituted into the makefile at the point of the -call, just as a variable might be substituted. - -@menu -* Syntax of Functions:: How to write a function call. -* Text Functions:: General-purpose text manipulation functions. -* File Name Functions:: Functions for manipulating file names. -* Foreach Function:: Repeat some text with controlled variation. -* If Function:: Conditionally expand a value. -* Call Function:: Expand a user-defined function. -* Value Function:: Return the un-expanded value of a variable. -* Eval Function:: Evaluate the arguments as makefile syntax. -* Origin Function:: Find where a variable got its value. -* Shell Function:: Substitute the output of a shell command. -* Make Control Functions:: Functions that control how make runs. -@end menu - -@node Syntax of Functions, Text Functions, Functions, Functions -@section Function Call Syntax -@cindex @code{$}, in function call -@cindex dollar sign (@code{$}), in function call -@cindex arguments of functions -@cindex functions, syntax of - -A function call resembles a variable reference. It looks like this: - -@example -$(@var{function} @var{arguments}) -@end example - -@noindent -or like this: - -@example -$@{@var{function} @var{arguments}@} -@end example - -Here @var{function} is a function name; one of a short list of names -that are part of @code{make}. You can also essentially create your own -functions by using the @code{call} builtin function. - -The @var{arguments} are the arguments of the function. They are -separated from the function name by one or more spaces or tabs, and if -there is more than one argument, then they are separated by commas. -Such whitespace and commas are not part of an argument's value. The -delimiters which you use to surround the function call, whether -parentheses or braces, can appear in an argument only in matching pairs; -the other kind of delimiters may appear singly. If the arguments -themselves contain other function calls or variable references, it is -wisest to use the same kind of delimiters for all the references; write -@w{@samp{$(subst a,b,$(x))}}, not @w{@samp{$(subst a,b,$@{x@})}}. This -is because it is clearer, and because only one type of delimiter is -matched to find the end of the reference. - -The text written for each argument is processed by substitution of -variables and function calls to produce the argument value, which -is the text on which the function acts. The substitution is done in the -order in which the arguments appear. - -Commas and unmatched parentheses or braces cannot appear in the text of an -argument as written; leading spaces cannot appear in the text of the first -argument as written. These characters can be put into the argument value -by variable substitution. First define variables @code{comma} and -@code{space} whose values are isolated comma and space characters, then -substitute these variables where such characters are wanted, like this: - -@example -@group -comma:= , -empty:= -space:= $(empty) $(empty) -foo:= a b c -bar:= $(subst $(space),$(comma),$(foo)) -# @r{bar is now `a,b,c'.} -@end group -@end example - -@noindent -Here the @code{subst} function replaces each space with a comma, through -the value of @code{foo}, and substitutes the result. - -@node Text Functions, File Name Functions, Syntax of Functions, Functions -@section Functions for String Substitution and Analysis -@cindex functions, for text - -Here are some functions that operate on strings: - -@table @code -@item $(subst @var{from},@var{to},@var{text}) -@findex subst -Performs a textual replacement on the text @var{text}: each occurrence -of @var{from} is replaced by @var{to}. The result is substituted for -the function call. For example, - -@example -$(subst ee,EE,feet on the street) -@end example - -substitutes the string @samp{fEEt on the strEEt}. - -@item $(patsubst @var{pattern},@var{replacement},@var{text}) -@findex patsubst -Finds whitespace-separated words in @var{text} that match -@var{pattern} and replaces them with @var{replacement}. Here -@var{pattern} may contain a @samp{%} which acts as a wildcard, -matching any number of any characters within a word. If -@var{replacement} also contains a @samp{%}, the @samp{%} is replaced -by the text that matched the @samp{%} in @var{pattern}. Only the first -@samp{%} in the @var{pattern} and @var{replacement} is treated this -way; any subsequent @samp{%} is unchanged.@refill - -@cindex @code{%}, quoting in @code{patsubst} -@cindex @code{%}, quoting with @code{\} (backslash) -@cindex @code{\} (backslash), to quote @code{%} -@cindex backslash (@code{\}), to quote @code{%} -@cindex quoting @code{%}, in @code{patsubst} -@samp{%} characters in @code{patsubst} function invocations can be -quoted with preceding backslashes (@samp{\}). Backslashes that would -otherwise quote @samp{%} characters can be quoted with more backslashes. -Backslashes that quote @samp{%} characters or other backslashes are -removed from the pattern before it is compared file names or has a stem -substituted into it. Backslashes that are not in danger of quoting -@samp{%} characters go unmolested. For example, the pattern -@file{the\%weird\\%pattern\\} has @samp{the%weird\} preceding the -operative @samp{%} character, and @samp{pattern\\} following it. The -final two backslashes are left alone because they cannot affect any -@samp{%} character.@refill - -Whitespace between words is folded into single space characters; -leading and trailing whitespace is discarded. - -For example, - -@example -$(patsubst %.c,%.o,x.c.c bar.c) -@end example - -@noindent -produces the value @samp{x.c.o bar.o}. - -Substitution references (@pxref{Substitution Refs, ,Substitution -References}) are a simpler way to get the effect of the @code{patsubst} -function: - -@example -$(@var{var}:@var{pattern}=@var{replacement}) -@end example - -@noindent -is equivalent to - -@example -$(patsubst @var{pattern},@var{replacement},$(@var{var})) -@end example - -The second shorthand simplifies one of the most common uses of -@code{patsubst}: replacing the suffix at the end of file names. - -@example -$(@var{var}:@var{suffix}=@var{replacement}) -@end example - -@noindent -is equivalent to - -@example -$(patsubst %@var{suffix},%@var{replacement},$(@var{var})) -@end example - -@noindent -For example, you might have a list of object files: - -@example -objects = foo.o bar.o baz.o -@end example - -@noindent -To get the list of corresponding source files, you could simply write: - -@example -$(objects:.o=.c) -@end example - -@noindent -instead of using the general form: - -@example -$(patsubst %.o,%.c,$(objects)) -@end example - -@item $(strip @var{string}) -@cindex stripping whitespace -@cindex whitespace, stripping -@cindex spaces, stripping -@findex strip -Removes leading and trailing whitespace from @var{string} and replaces -each internal sequence of one or more whitespace characters with a -single space. Thus, @samp{$(strip a b c )} results in @w{@samp{a b c}}. - -The function @code{strip} can be very useful when used in conjunction -with conditionals. When comparing something with the empty string -@samp{} using @code{ifeq} or @code{ifneq}, you usually want a string of -just whitespace to match the empty string (@pxref{Conditionals}). - -Thus, the following may fail to have the desired results: - -@example -.PHONY: all -ifneq "$(needs_made)" "" -all: $(needs_made) -else -all:;@@echo 'Nothing to make!' -endif -@end example - -@noindent -Replacing the variable reference @w{@samp{$(needs_made)}} with the -function call @w{@samp{$(strip $(needs_made))}} in the @code{ifneq} -directive would make it more robust.@refill - -@item $(findstring @var{find},@var{in}) -@findex findstring -@cindex searching for strings -@cindex finding strings -@cindex strings, searching for -Searches @var{in} for an occurrence of @var{find}. If it occurs, the -value is @var{find}; otherwise, the value is empty. You can use this -function in a conditional to test for the presence of a specific -substring in a given string. Thus, the two examples, - -@example -$(findstring a,a b c) -$(findstring a,b c) -@end example - -@noindent -produce the values @samp{a} and @samp{} (the empty string), -respectively. @xref{Testing Flags}, for a practical application of -@code{findstring}.@refill - -@need 750 -@findex filter -@cindex filtering words -@cindex words, filtering -@item $(filter @var{pattern}@dots{},@var{text}) -Returns all whitespace-separated words in @var{text} that @emph{do} match -any of the @var{pattern} words, removing any words that @emph{do not} -match. The patterns are written using @samp{%}, just like the patterns -used in the @code{patsubst} function above.@refill - -The @code{filter} function can be used to separate out different types -of strings (such as file names) in a variable. For example: - -@example -sources := foo.c bar.c baz.s ugh.h -foo: $(sources) - cc $(filter %.c %.s,$(sources)) -o foo -@end example - -@noindent -says that @file{foo} depends of @file{foo.c}, @file{bar.c}, -@file{baz.s} and @file{ugh.h} but only @file{foo.c}, @file{bar.c} and -@file{baz.s} should be specified in the command to the -compiler.@refill - -@item $(filter-out @var{pattern}@dots{},@var{text}) -@findex filter-out -@cindex filtering out words -@cindex words, filtering out -Returns all whitespace-separated words in @var{text} that @emph{do not} -match any of the @var{pattern} words, removing the words that @emph{do} -match one or more. This is the exact opposite of the @code{filter} -function.@refill - -For example, given: - -@example -@group -objects=main1.o foo.o main2.o bar.o -mains=main1.o main2.o -@end group -@end example - -@noindent -the following generates a list which contains all the object files not -in @samp{mains}: - -@example -$(filter-out $(mains),$(objects)) -@end example - -@need 1500 -@findex sort -@cindex sorting words -@item $(sort @var{list}) -Sorts the words of @var{list} in lexical order, removing duplicate -words. The output is a list of words separated by single spaces. -Thus, - -@example -$(sort foo bar lose) -@end example - -@noindent -returns the value @samp{bar foo lose}. - -@cindex removing duplicate words -@cindex duplicate words, removing -@cindex words, removing duplicates -Incidentally, since @code{sort} removes duplicate words, you can use -it for this purpose even if you don't care about the sort order. - -@item $(word @var{n},@var{text}) -@findex word -@cindex word, selecting a -@cindex selecting a word -Returns the @var{n}th word of @var{text}. The legitimate values of -@var{n} start from 1. If @var{n} is bigger than the number of words -in @var{text}, the value is empty. For example, - -@example -$(word 2, foo bar baz) -@end example - -@noindent -returns @samp{bar}. - -@item $(wordlist @var{s},@var{e},@var{text}) -@findex wordlist -@cindex words, selecting lists of -@cindex selecting word lists -Returns the list of words in @var{text} starting with word @var{s} and -ending with word @var{e} (inclusive). The legitimate values of @var{s} -and @var{e} start from 1. If @var{s} is bigger than the number of words -in @var{text}, the value is empty. If @var{e} is bigger than the number -of words in @var{text}, words up to the end of @var{text} are returned. -If @var{s} is greater than @var{e}, nothing is returned. For example, - -@example -$(wordlist 2, 3, foo bar baz) -@end example - -@noindent -returns @samp{bar baz}. - -@c Following item phrased to prevent overfull hbox. --RJC 17 Jul 92 -@item $(words @var{text}) -@findex words -@cindex words, finding number -Returns the number of words in @var{text}. -Thus, the last word of @var{text} is -@w{@code{$(word $(words @var{text}),@var{text})}}.@refill - -@item $(firstword @var{names}@dots{}) -@findex firstword -@cindex words, extracting first -The argument @var{names} is regarded as a series of names, separated -by whitespace. The value is the first name in the series. The rest -of the names are ignored. - -For example, - -@example -$(firstword foo bar) -@end example - -@noindent -produces the result @samp{foo}. Although @code{$(firstword -@var{text})} is the same as @code{$(word 1,@var{text})}, the -@code{firstword} function is retained for its simplicity.@refill -@end table - -Here is a realistic example of the use of @code{subst} and -@code{patsubst}. Suppose that a makefile uses the @code{VPATH} variable -to specify a list of directories that @code{make} should search for -prerequisite files -(@pxref{General Search, , @code{VPATH} Search Path for All Prerequisites}). -This example shows how to -tell the C compiler to search for header files in the same list of -directories.@refill - -The value of @code{VPATH} is a list of directories separated by colons, -such as @samp{src:../headers}. First, the @code{subst} function is used to -change the colons to spaces: - -@example -$(subst :, ,$(VPATH)) -@end example - -@noindent -This produces @samp{src ../headers}. Then @code{patsubst} is used to turn -each directory name into a @samp{-I} flag. These can be added to the -value of the variable @code{CFLAGS}, which is passed automatically to the C -compiler, like this: - -@example -override CFLAGS += $(patsubst %,-I%,$(subst :, ,$(VPATH))) -@end example - -@noindent -The effect is to append the text @samp{-Isrc -I../headers} to the -previously given value of @code{CFLAGS}. The @code{override} directive is -used so that the new value is assigned even if the previous value of -@code{CFLAGS} was specified with a command argument (@pxref{Override -Directive, , The @code{override} Directive}). - -@node File Name Functions, Foreach Function, Text Functions, Functions -@section Functions for File Names -@cindex functions, for file names -@cindex file name functions - -Several of the built-in expansion functions relate specifically to -taking apart file names or lists of file names. - -Each of the following functions performs a specific transformation on a -file name. The argument of the function is regarded as a series of file -names, separated by whitespace. (Leading and trailing whitespace is -ignored.) Each file name in the series is transformed in the same way and -the results are concatenated with single spaces between them. - -@table @code -@item $(dir @var{names}@dots{}) -@findex dir -@cindex directory part -@cindex file name, directory part -Extracts the directory-part of each file name in @var{names}. The -directory-part of the file name is everything up through (and -including) the last slash in it. If the file name contains no slash, -the directory part is the string @samp{./}. For example, - -@example -$(dir src/foo.c hacks) -@end example - -@noindent -produces the result @samp{src/ ./}. - -@item $(notdir @var{names}@dots{}) -@findex notdir -@cindex file name, nondirectory part -@cindex nondirectory part -Extracts all but the directory-part of each file name in @var{names}. -If the file name contains no slash, it is left unchanged. Otherwise, -everything through the last slash is removed from it. - -A file name that ends with a slash becomes an empty string. This is -unfortunate, because it means that the result does not always have the -same number of whitespace-separated file names as the argument had; -but we do not see any other valid alternative. - -For example, - -@example -$(notdir src/foo.c hacks) -@end example - -@noindent -produces the result @samp{foo.c hacks}. - -@item $(suffix @var{names}@dots{}) -@findex suffix -@cindex suffix, function to find -@cindex file name suffix -Extracts the suffix of each file name in @var{names}. If the file name -contains a period, the suffix is everything starting with the last -period. Otherwise, the suffix is the empty string. This frequently -means that the result will be empty when @var{names} is not, and if -@var{names} contains multiple file names, the result may contain fewer -file names. - -For example, - -@example -$(suffix src/foo.c src-1.0/bar.c hacks) -@end example - -@noindent -produces the result @samp{.c .c}. - -@item $(basename @var{names}@dots{}) -@findex basename -@cindex basename -@cindex file name, basename of -Extracts all but the suffix of each file name in @var{names}. If the -file name contains a period, the basename is everything starting up to -(and not including) the last period. Periods in the directory part are -ignored. If there is no period, the basename is the entire file name. -For example, - -@example -$(basename src/foo.c src-1.0/bar hacks) -@end example - -@noindent -produces the result @samp{src/foo src-1.0/bar hacks}. - -@c plural convention with dots (be consistent) -@item $(addsuffix @var{suffix},@var{names}@dots{}) -@findex addsuffix -@cindex suffix, adding -@cindex file name suffix, adding -The argument @var{names} is regarded as a series of names, separated -by whitespace; @var{suffix} is used as a unit. The value of -@var{suffix} is appended to the end of each individual name and the -resulting larger names are concatenated with single spaces between -them. For example, - -@example -$(addsuffix .c,foo bar) -@end example - -@noindent -produces the result @samp{foo.c bar.c}. - -@item $(addprefix @var{prefix},@var{names}@dots{}) -@findex addprefix -@cindex prefix, adding -@cindex file name prefix, adding -The argument @var{names} is regarded as a series of names, separated -by whitespace; @var{prefix} is used as a unit. The value of -@var{prefix} is prepended to the front of each individual name and the -resulting larger names are concatenated with single spaces between -them. For example, - -@example -$(addprefix src/,foo bar) -@end example - -@noindent -produces the result @samp{src/foo src/bar}. - -@item $(join @var{list1},@var{list2}) -@findex join -@cindex joining lists of words -@cindex words, joining lists -Concatenates the two arguments word by word: the two first words (one -from each argument) concatenated form the first word of the result, the -two second words form the second word of the result, and so on. So the -@var{n}th word of the result comes from the @var{n}th word of each -argument. If one argument has more words that the other, the extra -words are copied unchanged into the result. - -For example, @samp{$(join a b,.c .o)} produces @samp{a.c b.o}. - -Whitespace between the words in the lists is not preserved; it is -replaced with a single space. - -This function can merge the results of the @code{dir} and -@code{notdir} functions, to produce the original list of files which -was given to those two functions.@refill - -@item $(wildcard @var{pattern}) -@findex wildcard -@cindex wildcard, function -The argument @var{pattern} is a file name pattern, typically containing -wildcard characters (as in shell file name patterns). The result of -@code{wildcard} is a space-separated list of the names of existing files -that match the pattern. -@xref{Wildcards, ,Using Wildcard Characters in File Names}. -@end table - -@node Foreach Function, If Function, File Name Functions, Functions -@section The @code{foreach} Function -@findex foreach -@cindex words, iterating over - -The @code{foreach} function is very different from other functions. It -causes one piece of text to be used repeatedly, each time with a different -substitution performed on it. It resembles the @code{for} command in the -shell @code{sh} and the @code{foreach} command in the C-shell @code{csh}. - -The syntax of the @code{foreach} function is: - -@example -$(foreach @var{var},@var{list},@var{text}) -@end example - -@noindent -The first two arguments, @var{var} and @var{list}, are expanded before -anything else is done; note that the last argument, @var{text}, is -@strong{not} expanded at the same time. Then for each word of the expanded -value of @var{list}, the variable named by the expanded value of @var{var} -is set to that word, and @var{text} is expanded. Presumably @var{text} -contains references to that variable, so its expansion will be different -each time. - -The result is that @var{text} is expanded as many times as there are -whitespace-separated words in @var{list}. The multiple expansions of -@var{text} are concatenated, with spaces between them, to make the result -of @code{foreach}. - -This simple example sets the variable @samp{files} to the list of all files -in the directories in the list @samp{dirs}: - -@example -dirs := a b c d -files := $(foreach dir,$(dirs),$(wildcard $(dir)/*)) -@end example - -Here @var{text} is @samp{$(wildcard $(dir)/*)}. The first repetition -finds the value @samp{a} for @code{dir}, so it produces the same result -as @samp{$(wildcard a/*)}; the second repetition produces the result -of @samp{$(wildcard b/*)}; and the third, that of @samp{$(wildcard c/*)}. - -This example has the same result (except for setting @samp{dirs}) as -the following example: - -@example -files := $(wildcard a/* b/* c/* d/*) -@end example - -When @var{text} is complicated, you can improve readability by giving it -a name, with an additional variable: - -@example -find_files = $(wildcard $(dir)/*) -dirs := a b c d -files := $(foreach dir,$(dirs),$(find_files)) -@end example - -@noindent -Here we use the variable @code{find_files} this way. We use plain @samp{=} -to define a recursively-expanding variable, so that its value contains an -actual function call to be reexpanded under the control of @code{foreach}; -a simply-expanded variable would not do, since @code{wildcard} would be -called only once at the time of defining @code{find_files}. - -The @code{foreach} function has no permanent effect on the variable -@var{var}; its value and flavor after the @code{foreach} function call are -the same as they were beforehand. The other values which are taken from -@var{list} are in effect only temporarily, during the execution of -@code{foreach}. The variable @var{var} is a simply-expanded variable -during the execution of @code{foreach}. If @var{var} was undefined -before the @code{foreach} function call, it is undefined after the call. -@xref{Flavors, ,The Two Flavors of Variables}.@refill - -You must take care when using complex variable expressions that result in -variable names because many strange things are valid variable names, but -are probably not what you intended. For example, - -@smallexample -files := $(foreach Esta escrito en espanol!,b c ch,$(find_files)) -@end smallexample - -@noindent -might be useful if the value of @code{find_files} references the variable -whose name is @samp{Esta escrito en espanol!} (es un nombre bastante largo, -no?), but it is more likely to be a mistake. - -@node If Function, Call Function, Foreach Function, Functions -@section The @code{if} Function -@findex if -@cindex conditional expansion - -The @code{if} function provides support for conditional expansion in a -functional context (as opposed to the GNU @code{make} makefile -conditionals such as @code{ifeq} (@pxref{Conditional Syntax, ,Syntax of -Conditionals}). - -An @code{if} function call can contain either two or three arguments: - -@example -$(if @var{condition},@var{then-part}[,@var{else-part}]) -@end example - -The first argument, @var{condition}, first has all preceding and -trailing whitespace stripped, then is expanded. If it expands to any -non-empty string, then the condition is considered to be true. If it -expands to an empty string, the condition is considered to be false. - -If the condition is true then the second argument, @var{then-part}, is -evaluated and this is used as the result of the evaluation of the entire -@code{if} function. - -If the condition is false then the third argument, @var{else-part}, is -evaluated and this is the result of the @code{if} function. If there is -no third argument, the @code{if} function evaluates to nothing (the -empty string). - -Note that only one of the @var{then-part} or the @var{else-part} will be -evaluated, never both. Thus, either can contain side-effects (such as -@code{shell} function calls, etc.) - -@node Call Function, Value Function, If Function, Functions -@section The @code{call} Function -@findex call -@cindex functions, user defined -@cindex user defined functions - -The @code{call} function is unique in that it can be used to create new -parameterized functions. You can write a complex expression as the -value of a variable, then use @code{call} to expand it with different -values. - -The syntax of the @code{call} function is: - -@example -$(call @var{variable},@var{param},@var{param},@dots{}) -@end example - -When @code{make} expands this function, it assigns each @var{param} to -temporary variables @code{$(1)}, @code{$(2)}, etc. The variable -@code{$(0)} will contain @var{variable}. There is no maximum number of -parameter arguments. There is no minimum, either, but it doesn't make -sense to use @code{call} with no parameters. - -Then @var{variable} is expanded as a @code{make} variable in the context -of these temporary assignments. Thus, any reference to @code{$(1)} in -the value of @var{variable} will resolve to the first @var{param} in the -invocation of @code{call}. - -Note that @var{variable} is the @emph{name} of a variable, not a -@emph{reference} to that variable. Therefore you would not normally use -a @samp{$} or parentheses when writing it. (You can, however, use a -variable reference in the name if you want the name not to be a -constant.) - -If @var{variable} is the name of a builtin function, the builtin function -is always invoked (even if a @code{make} variable by that name also -exists). - -The @code{call} function expands the @var{param} arguments before -assigning them to temporary variables. This means that @var{variable} -values containing references to builtin functions that have special -expansion rules, like @code{foreach} or @code{if}, may not work as you -expect. - -Some examples may make this clearer. - -This macro simply reverses its arguments: - -@smallexample -reverse = $(2) $(1) - -foo = $(call reverse,a,b) -@end smallexample - -@noindent -Here @var{foo} will contain @samp{b a}. - -This one is slightly more interesting: it defines a macro to search for -the first instance of a program in @code{PATH}: - -@smallexample -pathsearch = $(firstword $(wildcard $(addsuffix /$(1),$(subst :, ,$(PATH))))) - -LS := $(call pathsearch,ls) -@end smallexample - -@noindent -Now the variable LS contains @code{/bin/ls} or similar. - -The @code{call} function can be nested. Each recursive invocation gets -its own local values for @code{$(1)}, etc. that mask the values of -higher-level @code{call}. For example, here is an implementation of a -@dfn{map} function: - -@smallexample -map = $(foreach a,$(2),$(call $(1),$(a))) -@end smallexample - -Now you can @var{map} a function that normally takes only one argument, -such as @code{origin}, to multiple values in one step: - -@smallexample -o = $(call map,origin,o map MAKE) -@end smallexample - -and end up with @var{o} containing something like @samp{file file default}. - -A final caution: be careful when adding whitespace to the arguments to -@code{call}. As with other functions, any whitespace contained in the -second and subsequent arguments is kept; this can cause strange -effects. It's generally safest to remove all extraneous whitespace when -providing parameters to @code{call}. - -@node Value Function, Eval Function, Call Function, Functions -@comment node-name, next, previous, up -@section The @code{value} Function -@findex value -@cindex variables, unexpanded value - -The @code{value} function provides a way for you to use the value of a -variable @emph{without} having it expanded. Please note that this -does not undo expansions which have already occurred; for example if -you create a simply expanded variable its value is expanded during the -definition; in that case the @code{value} function will return the -same result as using the variable directly. - -The syntax of the @code{value} function is: - -@example -$(value @var{variable}) -@end example - -Note that @var{variable} is the @emph{name} of a variable; not a -@emph{reference} to that variable. Therefore you would not normally -use a @samp{$} or parentheses when writing it. (You can, however, use -a variable reference in the name if you want the name not to be a -constant.) - -The result of this function is a string containing the value of -@var{variable}, without any expansion occurring. For example, in this -makefile: - -@example -@group -FOO = $PATH - -all: - @@echo $(FOO) - @@echo $(value FOO) -@end group -@end example - -@noindent -The first output line would be @code{ATH}, since the ``$P'' would be -expanded as a @code{make} variable, while the second output line would -be the current value of your @code{$PATH} environment variable, since -the @code{value} function avoided the expansion. - -The @code{value} function is most often used in conjunction with the -@code{eval} function (@pxref{Eval Function}). - -@node Eval Function, Origin Function, Value Function, Functions -@comment node-name, next, previous, up -@section The @code{eval} Function -@findex eval -@cindex evaluating makefile syntax -@cindex makefile syntax, evaluating - -The @code{eval} function is very special: it allows you to define new -makefile constructs that are not constant; which are the result of -evaluating other variables and functions. The argument to the -@code{eval} function is expanded, then the results of that expansion -are parsed as makefile syntax. The expanded results can define new -@code{make} variables, targets, implicit or explicit rules, etc. - -The result of the @code{eval} function is always the empty string; -thus, it can be placed virtually anywhere in a makefile without -causing syntax errors. - -It's important to realize that the @code{eval} argument is expanded -@emph{twice}; first by the @code{eval} function, then the results of -that expansion are expanded again when they are parsed as makefile -syntax. This means you may need to provide extra levels of escaping -for ``$'' characters when using @code{eval}. The @code{value} -function (@pxref{Value Function}) can sometimes be useful in these -situations, to circumvent unwanted expansions. - -Here is an example of how @code{eval} can be used; this example -combines a number of concepts and other functions. Although it might -seem overly complex to use @code{eval} in this example, rather than -just writing out the rules, consider two things: first, the template -definition (in @code{PROGRAM_template}) could need to be much more -complex than it is here; and second, you might put the complex, -``generic'' part of this example into another makefile, then include -it in all the individual makefiles. Now your individual makefiles are -quite straightforward. - -@example -@group -PROGRAMS = server client - -server_OBJS = server.o server_priv.o server_access.o -server_LIBS = priv protocol - -client_OBJS = client.o client_api.o client_mem.o -client_LIBS = protocol - -# Everything after this is generic - -.PHONY: all -all: $(PROGRAMS) - -define PROGRAM_template - $(1): $$($(1)_OBJ) $$($(1)_LIBS:%=-l%) - ALL_OBJS += $$($(1)_OBJS) -endef - -$(foreach prog,$(PROGRAMS),$(eval $(call PROGRAM_template,$(prog)))) - -$(PROGRAMS): - $(LINK.o) $^ $(LDLIBS) -o $@@ - -clean: - rm -f $(ALL_OBJS) $(PROGRAMS) -@end group -@end example - -@node Origin Function, Shell Function, Eval Function, Functions -@section The @code{origin} Function -@findex origin -@cindex variables, origin of -@cindex origin of variable - -The @code{origin} function is unlike most other functions in that it does -not operate on the values of variables; it tells you something @emph{about} -a variable. Specifically, it tells you where it came from. - -The syntax of the @code{origin} function is: - -@example -$(origin @var{variable}) -@end example - -Note that @var{variable} is the @emph{name} of a variable to inquire about; -not a @emph{reference} to that variable. Therefore you would not normally -use a @samp{$} or parentheses when writing it. (You can, however, use a -variable reference in the name if you want the name not to be a constant.) - -The result of this function is a string telling you how the variable -@var{variable} was defined: - -@table @samp -@item undefined - -if @var{variable} was never defined. - -@item default - -if @var{variable} has a default definition, as is usual with @code{CC} -and so on. @xref{Implicit Variables, ,Variables Used by Implicit Rules}. -Note that if you have redefined a default variable, the @code{origin} -function will return the origin of the later definition. - -@item environment - -if @var{variable} was defined as an environment variable and the -@samp{-e} option is @emph{not} turned on (@pxref{Options Summary, ,Summary of Options}). - -@item environment override - -if @var{variable} was defined as an environment variable and the -@w{@samp{-e}} option @emph{is} turned on (@pxref{Options Summary, -,Summary of Options}).@refill - -@item file - -if @var{variable} was defined in a makefile. - -@item command line - -if @var{variable} was defined on the command line. - -@item override - -if @var{variable} was defined with an @code{override} directive in a -makefile (@pxref{Override Directive, ,The @code{override} Directive}). - -@item automatic - -if @var{variable} is an automatic variable defined for the -execution of the commands for each rule -(@pxref{Automatic Variables}). -@end table - -This information is primarily useful (other than for your curiosity) to -determine if you want to believe the value of a variable. For example, -suppose you have a makefile @file{foo} that includes another makefile -@file{bar}. You want a variable @code{bletch} to be defined in @file{bar} -if you run the command @w{@samp{make -f bar}}, even if the environment contains -a definition of @code{bletch}. However, if @file{foo} defined -@code{bletch} before including @file{bar}, you do not want to override that -definition. This could be done by using an @code{override} directive in -@file{foo}, giving that definition precedence over the later definition in -@file{bar}; unfortunately, the @code{override} directive would also -override any command line definitions. So, @file{bar} could -include:@refill - -@example -@group -ifdef bletch -ifeq "$(origin bletch)" "environment" -bletch = barf, gag, etc. -endif -endif -@end group -@end example - -@noindent -If @code{bletch} has been defined from the environment, this will redefine -it. - -If you want to override a previous definition of @code{bletch} if it came -from the environment, even under @samp{-e}, you could instead write: - -@example -@group -ifneq "$(findstring environment,$(origin bletch))" "" -bletch = barf, gag, etc. -endif -@end group -@end example - -Here the redefinition takes place if @samp{$(origin bletch)} returns either -@samp{environment} or @samp{environment override}. -@xref{Text Functions, , Functions for String Substitution and Analysis}. - -@node Shell Function, Make Control Functions, Origin Function, Functions -@section The @code{shell} Function -@findex shell -@cindex commands, expansion -@cindex backquotes -@cindex shell command, function for - -The @code{shell} function is unlike any other function except the -@code{wildcard} function -(@pxref{Wildcard Function, ,The Function @code{wildcard}}) in that it -communicates with the world outside of @code{make}. - -The @code{shell} function performs the same function that backquotes -(@samp{`}) perform in most shells: it does @dfn{command expansion}. This -means that it takes an argument that is a shell command and returns the -output of the command. The only processing @code{make} does on the result, -before substituting it into the surrounding text, is to convert each -newline or carriage-return / newline pair to a single space. It also -removes the trailing (carriage-return and) newline, if it's the last -thing in the result.@refill - -The commands run by calls to the @code{shell} function are run when the -function calls are expanded (@pxref{Reading Makefiles, , How -@code{make} Reads a Makefile}). Because this function involves -spawning a new shell, you should carefully consider the performance -implications of using the @code{shell} function within recursively -expanded variables vs. simply expanded variables (@pxref{Flavors, ,The -Two Flavors of Variables}). - -Here are some examples of the use of the @code{shell} function: - -@example -contents := $(shell cat foo) -@end example - -@noindent -sets @code{contents} to the contents of the file @file{foo}, with a space -(rather than a newline) separating each line. - -@example -files := $(shell echo *.c) -@end example - -@noindent -sets @code{files} to the expansion of @samp{*.c}. Unless @code{make} is -using a very strange shell, this has the same result as -@w{@samp{$(wildcard *.c)}}.@refill - -@node Make Control Functions, , Shell Function, Functions -@section Functions That Control Make -@cindex functions, for controlling make -@cindex controlling make - -These functions control the way make runs. Generally, they are used to -provide information to the user of the makefile or to cause make to stop -if some sort of environmental error is detected. - -@table @code -@item $(error @var{text}@dots{}) -@findex error -@cindex error, stopping on -@cindex stopping make -Generates a fatal error where the message is @var{text}. Note that the -error is generated whenever this function is evaluated. So, if you put -it inside a command script or on the right side of a recursive variable -assignment, it won't be evaluated until later. The @var{text} will be -expanded before the error is generated. - -For example, - -@example -ifdef ERROR1 -$(error error is $(ERROR1)) -endif -@end example - -@noindent -will generate a fatal error during the read of the makefile if the -@code{make} variable @code{ERROR1} is defined. Or, - -@example -ERR = $(error found an error!) - -.PHONY: err -err: ; $(ERR) -@end example - -@noindent -will generate a fatal error while @code{make} is running, if the -@code{err} target is invoked. - -@item $(warning @var{text}@dots{}) -@findex warning -@cindex warnings, printing -@cindex printing user warnings -This function works similarly to the @code{error} function, above, -except that @code{make} doesn't exit. Instead, @var{text} is expanded -and the resulting message is displayed, but processing of the makefile -continues. - -The result of the expansion of this function is the empty string. -@end table - -@node Running, Implicit Rules, Functions, Top -@chapter How to Run @code{make} - -A makefile that says how to recompile a program can be used in more -than one way. The simplest use is to recompile every file that is out -of date. Usually, makefiles are written so that if you run -@code{make} with no arguments, it does just that. - -But you might want to update only some of the files; you might want to use -a different compiler or different compiler options; you might want just to -find out which files are out of date without changing them. - -By giving arguments when you run @code{make}, you can do any of these -things and many others. - -The exit status of @code{make} is always one of three values: -@table @code -@item 0 -The exit status is zero if @code{make} is successful. -@item 2 -The exit status is two if @code{make} encounters any errors. -It will print messages describing the particular errors. -@item 1 -The exit status is one if you use the @samp{-q} flag and @code{make} -determines that some target is not already up to date. -@xref{Instead of Execution, ,Instead of Executing the Commands}. -@end table - -@menu -* Makefile Arguments:: How to specify which makefile to use. -* Goals:: How to use goal arguments to specify which - parts of the makefile to use. -* Instead of Execution:: How to use mode flags to specify what - kind of thing to do with the commands - in the makefile other than simply - execute them. -* Avoiding Compilation:: How to avoid recompiling certain files. -* Overriding:: How to override a variable to specify - an alternate compiler and other things. -* Testing:: How to proceed past some errors, to - test compilation. -* Options Summary:: Summary of Options -@end menu - -@node Makefile Arguments, Goals, Running, Running -@section Arguments to Specify the Makefile -@cindex @code{--file} -@cindex @code{--makefile} -@cindex @code{-f} - -The way to specify the name of the makefile is with the @samp{-f} or -@samp{--file} option (@samp{--makefile} also works). For example, -@samp{-f altmake} says to use the file @file{altmake} as the makefile. - -If you use the @samp{-f} flag several times and follow each @samp{-f} -with an argument, all the specified files are used jointly as -makefiles. - -If you do not use the @samp{-f} or @samp{--file} flag, the default is -to try @file{GNUmakefile}, @file{makefile}, and @file{Makefile}, in -that order, and use the first of these three which exists or can be made -(@pxref{Makefiles, ,Writing Makefiles}).@refill - -@node Goals, Instead of Execution, Makefile Arguments, Running -@section Arguments to Specify the Goals -@cindex goal, how to specify - -The @dfn{goals} are the targets that @code{make} should strive ultimately -to update. Other targets are updated as well if they appear as -prerequisites of goals, or prerequisites of prerequisites of goals, etc. - -By default, the goal is the first target in the makefile (not counting -targets that start with a period). Therefore, makefiles are usually -written so that the first target is for compiling the entire program or -programs they describe. If the first rule in the makefile has several -targets, only the first target in the rule becomes the default goal, not -the whole list. - -You can specify a different goal or goals with arguments to @code{make}. -Use the name of the goal as an argument. If you specify several goals, -@code{make} processes each of them in turn, in the order you name them. - -Any target in the makefile may be specified as a goal (unless it -starts with @samp{-} or contains an @samp{=}, in which case it will be -parsed as a switch or variable definition, respectively). Even -targets not in the makefile may be specified, if @code{make} can find -implicit rules that say how to make them. - -@cindex @code{MAKECMDGOALS} -@vindex MAKECMDGOALS -@code{Make} will set the special variable @code{MAKECMDGOALS} to the -list of goals you specified on the command line. If no goals were given -on the command line, this variable is empty. Note that this variable -should be used only in special circumstances. - -An example of appropriate use is to avoid including @file{.d} files -during @code{clean} rules (@pxref{Automatic Prerequisites}), so -@code{make} won't create them only to immediately remove them -again:@refill - -@example -@group -sources = foo.c bar.c - -ifneq ($(MAKECMDGOALS),clean) -include $(sources:.c=.d) -endif -@end group -@end example - -One use of specifying a goal is if you want to compile only a part of -the program, or only one of several programs. Specify as a goal each -file that you wish to remake. For example, consider a directory containing -several programs, with a makefile that starts like this: - -@example -.PHONY: all -all: size nm ld ar as -@end example - -If you are working on the program @code{size}, you might want to say -@w{@samp{make size}} so that only the files of that program are recompiled. - -Another use of specifying a goal is to make files that are not normally -made. For example, there may be a file of debugging output, or a -version of the program that is compiled specially for testing, which has -a rule in the makefile but is not a prerequisite of the default goal. - -Another use of specifying a goal is to run the commands associated with -a phony target (@pxref{Phony Targets}) or empty target (@pxref{Empty -Targets, ,Empty Target Files to Record Events}). Many makefiles contain -a phony target named @file{clean} which deletes everything except source -files. Naturally, this is done only if you request it explicitly with -@w{@samp{make clean}}. Following is a list of typical phony and empty -target names. @xref{Standard Targets}, for a detailed list of all the -standard target names which GNU software packages use. - -@table @file -@item all -@cindex @code{all} @r{(standard target)} -Make all the top-level targets the makefile knows about. - -@item clean -@cindex @code{clean} @r{(standard target)} -Delete all files that are normally created by running @code{make}. - -@item mostlyclean -@cindex @code{mostlyclean} @r{(standard target)} -Like @samp{clean}, but may refrain from deleting a few files that people -normally don't want to recompile. For example, the @samp{mostlyclean} -target for GCC does not delete @file{libgcc.a}, because recompiling it -is rarely necessary and takes a lot of time. - -@item distclean -@cindex @code{distclean} @r{(standard target)} -@itemx realclean -@cindex @code{realclean} @r{(standard target)} -@itemx clobber -@cindex @code{clobber} @r{(standard target)} -Any of these targets might be defined to delete @emph{more} files than -@samp{clean} does. For example, this would delete configuration files -or links that you would normally create as preparation for compilation, -even if the makefile itself cannot create these files. - -@item install -@cindex @code{install} @r{(standard target)} -Copy the executable file into a directory that users typically search -for commands; copy any auxiliary files that the executable uses into -the directories where it will look for them. - -@item print -@cindex @code{print} @r{(standard target)} -Print listings of the source files that have changed. - -@item tar -@cindex @code{tar} @r{(standard target)} -Create a tar file of the source files. - -@item shar -@cindex @code{shar} @r{(standard target)} -Create a shell archive (shar file) of the source files. - -@item dist -@cindex @code{dist} @r{(standard target)} -Create a distribution file of the source files. This might -be a tar file, or a shar file, or a compressed version of one of the -above, or even more than one of the above. - -@item TAGS -@cindex @code{TAGS} @r{(standard target)} -Update a tags table for this program. - -@item check -@cindex @code{check} @r{(standard target)} -@itemx test -@cindex @code{test} @r{(standard target)} -Perform self tests on the program this makefile builds. -@end table - -@node Instead of Execution, Avoiding Compilation, Goals, Running -@section Instead of Executing the Commands -@cindex execution, instead of -@cindex commands, instead of executing - -The makefile tells @code{make} how to tell whether a target is up to date, -and how to update each target. But updating the targets is not always -what you want. Certain options specify other activities for @code{make}. - -@comment Extra blank lines make it print better. -@table @samp -@item -n -@itemx --just-print -@itemx --dry-run -@itemx --recon -@cindex @code{--just-print} -@cindex @code{--dry-run} -@cindex @code{--recon} -@cindex @code{-n} - -``No-op''. The activity is to print what commands would be used to make -the targets up to date, but not actually execute them. - -@item -t -@itemx --touch -@cindex @code{--touch} -@cindex touching files -@cindex target, touching -@cindex @code{-t} - -``Touch''. The activity is to mark the targets as up to date without -actually changing them. In other words, @code{make} pretends to compile -the targets but does not really change their contents. - -@item -q -@itemx --question -@cindex @code{--question} -@cindex @code{-q} -@cindex question mode - -``Question''. The activity is to find out silently whether the targets -are up to date already; but execute no commands in either case. In other -words, neither compilation nor output will occur. - -@item -W @var{file} -@itemx --what-if=@var{file} -@itemx --assume-new=@var{file} -@itemx --new-file=@var{file} -@cindex @code{--what-if} -@cindex @code{-W} -@cindex @code{--assume-new} -@cindex @code{--new-file} -@cindex what if -@cindex files, assuming new - -``What if''. Each @samp{-W} flag is followed by a file name. The given -files' modification times are recorded by @code{make} as being the present -time, although the actual modification times remain the same. -You can use the @samp{-W} flag in conjunction with the @samp{-n} flag -to see what would happen if you were to modify specific files.@refill -@end table - -With the @samp{-n} flag, @code{make} prints the commands that it would -normally execute but does not execute them. - -With the @samp{-t} flag, @code{make} ignores the commands in the rules -and uses (in effect) the command @code{touch} for each target that needs to -be remade. The @code{touch} command is also printed, unless @samp{-s} or -@code{.SILENT} is used. For speed, @code{make} does not actually invoke -the program @code{touch}. It does the work directly. - -With the @samp{-q} flag, @code{make} prints nothing and executes no -commands, but the exit status code it returns is zero if and only if the -targets to be considered are already up to date. If the exit status is -one, then some updating needs to be done. If @code{make} encounters an -error, the exit status is two, so you can distinguish an error from a -target that is not up to date. - -It is an error to use more than one of these three flags in the same -invocation of @code{make}. - -@cindex +, and command execution -The @samp{-n}, @samp{-t}, and @samp{-q} options do not affect command -lines that begin with @samp{+} characters or contain the strings -@samp{$(MAKE)} or @samp{$@{MAKE@}}. Note that only the line containing -the @samp{+} character or the strings @samp{$(MAKE)} or @samp{$@{MAKE@}} -is run regardless of these options. Other lines in the same rule are -not run unless they too begin with @samp{+} or contain @samp{$(MAKE)} or -@samp{$@{MAKE@}} (@xref{MAKE Variable, ,How the @code{MAKE} Variable Works}.) - -The @samp{-W} flag provides two features: - -@itemize @bullet -@item -If you also use the @samp{-n} or @samp{-q} flag, you can see what -@code{make} would do if you were to modify some files. - -@item -Without the @samp{-n} or @samp{-q} flag, when @code{make} is actually -executing commands, the @samp{-W} flag can direct @code{make} to act -as if some files had been modified, without actually modifying the -files.@refill -@end itemize - -Note that the options @samp{-p} and @samp{-v} allow you to obtain other -information about @code{make} or about the makefiles in use -(@pxref{Options Summary, ,Summary of Options}).@refill - -@node Avoiding Compilation, Overriding, Instead of Execution, Running -@section Avoiding Recompilation of Some Files -@cindex @code{-o} -@cindex @code{--old-file} -@cindex @code{--assume-old} -@cindex files, assuming old -@cindex files, avoiding recompilation of -@cindex recompilation, avoiding - -Sometimes you may have changed a source file but you do not want to -recompile all the files that depend on it. For example, suppose you add -a macro or a declaration to a header file that many other files depend -on. Being conservative, @code{make} assumes that any change in the -header file requires recompilation of all dependent files, but you know -that they do not need to be recompiled and you would rather not waste -the time waiting for them to compile. - -If you anticipate the problem before changing the header file, you can -use the @samp{-t} flag. This flag tells @code{make} not to run the -commands in the rules, but rather to mark the target up to date by -changing its last-modification date. You would follow this procedure: - -@enumerate -@item -Use the command @samp{make} to recompile the source files that really -need recompilation, ensuring that the object files are up-to-date -before you begin. - -@item -Make the changes in the header files. - -@item -Use the command @samp{make -t} to mark all the object files as -up to date. The next time you run @code{make}, the changes in the -header files will not cause any recompilation. -@end enumerate - -If you have already changed the header file at a time when some files -do need recompilation, it is too late to do this. Instead, you can -use the @w{@samp{-o @var{file}}} flag, which marks a specified file as -``old'' (@pxref{Options Summary, ,Summary of Options}). This means -that the file itself will not be remade, and nothing else will be -remade on its account. Follow this procedure: - -@enumerate -@item -Recompile the source files that need compilation for reasons independent -of the particular header file, with @samp{make -o @var{headerfile}}. -If several header files are involved, use a separate @samp{-o} option -for each header file. - -@item -Touch all the object files with @samp{make -t}. -@end enumerate - -@node Overriding, Testing, Avoiding Compilation, Running -@section Overriding Variables -@cindex overriding variables with arguments -@cindex variables, overriding with arguments -@cindex command line variables -@cindex variables, command line - -An argument that contains @samp{=} specifies the value of a variable: -@samp{@var{v}=@var{x}} sets the value of the variable @var{v} to @var{x}. -If you specify a value in this way, all ordinary assignments of the same -variable in the makefile are ignored; we say they have been -@dfn{overridden} by the command line argument. - -The most common way to use this facility is to pass extra flags to -compilers. For example, in a properly written makefile, the variable -@code{CFLAGS} is included in each command that runs the C compiler, so a -file @file{foo.c} would be compiled something like this: - -@example -cc -c $(CFLAGS) foo.c -@end example - -Thus, whatever value you set for @code{CFLAGS} affects each compilation -that occurs. The makefile probably specifies the usual value for -@code{CFLAGS}, like this: - -@example -CFLAGS=-g -@end example - -Each time you run @code{make}, you can override this value if you -wish. For example, if you say @samp{make CFLAGS='-g -O'}, each C -compilation will be done with @samp{cc -c -g -O}. (This also -illustrates how you can use quoting in the shell to enclose spaces and -other special characters in the value of a variable when you override -it.) - -The variable @code{CFLAGS} is only one of many standard variables that -exist just so that you can change them this way. @xref{Implicit -Variables, , Variables Used by Implicit Rules}, for a complete list. - -You can also program the makefile to look at additional variables of your -own, giving the user the ability to control other aspects of how the -makefile works by changing the variables. - -When you override a variable with a command argument, you can define either -a recursively-expanded variable or a simply-expanded variable. The -examples shown above make a recursively-expanded variable; to make a -simply-expanded variable, write @samp{:=} instead of @samp{=}. But, unless -you want to include a variable reference or function call in the -@emph{value} that you specify, it makes no difference which kind of -variable you create. - -There is one way that the makefile can change a variable that you have -overridden. This is to use the @code{override} directive, which is a line -that looks like this: @samp{override @var{variable} = @var{value}} -(@pxref{Override Directive, ,The @code{override} Directive}). - -@node Testing, Options Summary, Overriding, Running -@section Testing the Compilation of a Program -@cindex testing compilation -@cindex compilation, testing - -Normally, when an error happens in executing a shell command, @code{make} -gives up immediately, returning a nonzero status. No further commands are -executed for any target. The error implies that the goal cannot be -correctly remade, and @code{make} reports this as soon as it knows. - -When you are compiling a program that you have just changed, this is not -what you want. Instead, you would rather that @code{make} try compiling -every file that can be tried, to show you as many compilation errors -as possible. - -@cindex @code{-k} -@cindex @code{--keep-going} -On these occasions, you should use the @samp{-k} or -@samp{--keep-going} flag. This tells @code{make} to continue to -consider the other prerequisites of the pending targets, remaking them -if necessary, before it gives up and returns nonzero status. For -example, after an error in compiling one object file, @samp{make -k} -will continue compiling other object files even though it already -knows that linking them will be impossible. In addition to continuing -after failed shell commands, @samp{make -k} will continue as much as -possible after discovering that it does not know how to make a target -or prerequisite file. This will always cause an error message, but -without @samp{-k}, it is a fatal error (@pxref{Options Summary, -,Summary of Options}).@refill - -The usual behavior of @code{make} assumes that your purpose is to get the -goals up to date; once @code{make} learns that this is impossible, it might -as well report the failure immediately. The @samp{-k} flag says that the -real purpose is to test as much as possible of the changes made in the -program, perhaps to find several independent problems so that you can -correct them all before the next attempt to compile. This is why Emacs' -@kbd{M-x compile} command passes the @samp{-k} flag by default. - -@node Options Summary, , Testing, Running -@section Summary of Options -@cindex options -@cindex flags -@cindex switches - -Here is a table of all the options @code{make} understands: - -@table @samp -@item -b -@cindex @code{-b} -@itemx -m -@cindex @code{-m} -These options are ignored for compatibility with other versions of @code{make}. - -@item -B -@cindex @code{-B} -@itemx --always-make -@cindex @code{--always-make} -Consider all targets out-of-date. GNU @code{make} proceeds to -consider targets and their prerequisites using the normal algorithms; -however, all these targets are remade, regardless of the status of -their prerequisites. - -@item -C @var{dir} -@cindex @code{-C} -@itemx --directory=@var{dir} -@cindex @code{--directory} -Change to directory @var{dir} before reading the makefiles. If multiple -@samp{-C} options are specified, each is interpreted relative to the -previous one: @samp{-C / -C etc} is equivalent to @samp{-C /etc}. -This is typically used with recursive invocations of @code{make} -(@pxref{Recursion, ,Recursive Use of @code{make}}). - -@item -d -@cindex @code{-d} -@c Extra blank line here makes the table look better. - -Print debugging information in addition to normal processing. The -debugging information says which files are being considered for -remaking, which file-times are being compared and with what results, -which files actually need to be remade, which implicit rules are -considered and which are applied---everything interesting about how -@code{make} decides what to do. The @code{-d} option is equivalent to -@samp{--debug=a} (see below). - -@item --debug[=@var{options}] -@cindex @code{--debug} -@c Extra blank line here makes the table look better. - -Print debugging information in addition to normal processing. Various -levels and types of output can be chosen. With no arguments, print the -``basic'' level of debugging. Possible arguments are below; only the -first character is considered, and values must be comma- or -space-separated. - -@table @code -@item a (@i{all}) -All types of debugging output are enabled. This is equivalent to using -@samp{-d}. - -@item b (@i{basic}) -Basic debugging prints each target that was found to be out-of-date, and -whether the build was successful or not. - -@item v (@i{verbose}) -A level above @samp{basic}; includes messages about which makefiles were -parsed, prerequisites that did not need to be rebuilt, etc. This option -also enables @samp{basic} messages. - -@item i (@i{implicit}) -Prints messages describing the implicit rule searches for each target. -This option also enables @samp{basic} messages. - -@item j (@i{jobs}) -Prints messages giving details on the invocation of specific subcommands. - -@item m (@i{makefile}) -By default, the above messages are not enabled while trying to remake -the makefiles. This option enables messages while rebuilding makefiles, -too. Note that the @samp{all} option does enable this option. This -option also enables @samp{basic} messages. -@end table - -@item -e -@cindex @code{-e} -@itemx --environment-overrides -@cindex @code{--environment-overrides} -Give variables taken from the environment precedence -over variables from makefiles. -@xref{Environment, ,Variables from the Environment}. - -@item -f @var{file} -@cindex @code{-f} -@itemx --file=@var{file} -@cindex @code{--file} -@itemx --makefile=@var{file} -@cindex @code{--makefile} -Read the file named @var{file} as a makefile. -@xref{Makefiles, ,Writing Makefiles}. - -@item -h -@cindex @code{-h} -@itemx --help -@cindex @code{--help} -@c Extra blank line here makes the table look better. - -Remind you of the options that @code{make} understands and then exit. - -@item -i -@cindex @code{-i} -@itemx --ignore-errors -@cindex @code{--ignore-errors} -Ignore all errors in commands executed to remake files. -@xref{Errors, ,Errors in Commands}. - -@item -I @var{dir} -@cindex @code{-I} -@itemx --include-dir=@var{dir} -@cindex @code{--include-dir} -Specifies a directory @var{dir} to search for included makefiles. -@xref{Include, ,Including Other Makefiles}. If several @samp{-I} -options are used to specify several directories, the directories are -searched in the order specified. - -@item -j [@var{jobs}] -@cindex @code{-j} -@itemx --jobs[=@var{jobs}] -@cindex @code{--jobs} -Specifies the number of jobs (commands) to run simultaneously. With no -argument, @code{make} runs as many jobs simultaneously as possible. If -there is more than one @samp{-j} option, the last one is effective. -@xref{Parallel, ,Parallel Execution}, -for more information on how commands are run. -Note that this option is ignored on MS-DOS. - -@item -k -@cindex @code{-k} -@itemx --keep-going -@cindex @code{--keep-going} -Continue as much as possible after an error. While the target that -failed, and those that depend on it, cannot be remade, the other -prerequisites of these targets can be processed all the same. -@xref{Testing, ,Testing the Compilation of a Program}. - -@item -l [@var{load}] -@cindex @code{-l} -@itemx --load-average[=@var{load}] -@cindex @code{--load-average} -@itemx --max-load[=@var{load}] -@cindex @code{--max-load} -Specifies that no new jobs (commands) should be started if there are -other jobs running and the load average is at least @var{load} (a -floating-point number). With no argument, removes a previous load -limit. @xref{Parallel, ,Parallel Execution}. - -@item -n -@cindex @code{-n} -@itemx --just-print -@cindex @code{--just-print} -@itemx --dry-run -@cindex @code{--dry-run} -@itemx --recon -@cindex @code{--recon} -@c Extra blank line here makes the table look better. - -Print the commands that would be executed, but do not execute them. -@xref{Instead of Execution, ,Instead of Executing the Commands}. - -@item -o @var{file} -@cindex @code{-o} -@itemx --old-file=@var{file} -@cindex @code{--old-file} -@itemx --assume-old=@var{file} -@cindex @code{--assume-old} -Do not remake the file @var{file} even if it is older than its -prerequisites, and do not remake anything on account of changes in -@var{file}. Essentially the file is treated as very old and its rules -are ignored. @xref{Avoiding Compilation, ,Avoiding Recompilation of -Some Files}.@refill - -@item -p -@cindex @code{-p} -@itemx --print-data-base -@cindex @code{--print-data-base} -@cindex data base of @code{make} rules -@cindex predefined rules and variables, printing -Print the data base (rules and variable values) that results from -reading the makefiles; then execute as usual or as otherwise specified. -This also prints the version information given by the @samp{-v} switch -(see below). To print the data base without trying to remake any files, -use @w{@samp{make -qp}}. To print the data base of predefined rules and -variables, use @w{@samp{make -p -f /dev/null}}. The data base output -contains filename and linenumber information for command and variable -definitions, so it can be a useful debugging tool in complex environments. - -@item -q -@cindex @code{-q} -@itemx --question -@cindex @code{--question} -``Question mode''. Do not run any commands, or print anything; just -return an exit status that is zero if the specified targets are already -up to date, one if any remaking is required, or two if an error is -encountered. @xref{Instead of Execution, ,Instead of Executing the -Commands}.@refill - -@item -r -@cindex @code{-r} -@itemx --no-builtin-rules -@cindex @code{--no-builtin-rules} -Eliminate use of the built-in implicit rules (@pxref{Implicit Rules, -,Using Implicit Rules}). You can still define your own by writing -pattern rules (@pxref{Pattern Rules, ,Defining and Redefining Pattern -Rules}). The @samp{-r} option also clears out the default list of -suffixes for suffix rules (@pxref{Suffix Rules, ,Old-Fashioned Suffix -Rules}). But you can still define your own suffixes with a rule for -@code{.SUFFIXES}, and then define your own suffix rules. Note that only -@emph{rules} are affected by the @code{-r} option; default variables -remain in effect (@pxref{Implicit Variables, ,Variables Used by Implicit -Rules}); see the @samp{-R} option below. - -@item -R -@cindex @code{-R} -@itemx --no-builtin-variables -@cindex @code{--no-builtin-variables} -Eliminate use of the built-in rule-specific variables (@pxref{Implicit -Variables, ,Variables Used by Implicit Rules}). You can still define -your own, of course. The @samp{-R} option also automatically enables -the @samp{-r} option (see above), since it doesn't make sense to have -implicit rules without any definitions for the variables that they use. - -@item -s -@cindex @code{-s} -@itemx --silent -@cindex @code{--silent} -@itemx --quiet -@cindex @code{--quiet} -@c Extra blank line here makes the table look better. - -Silent operation; do not print the commands as they are executed. -@xref{Echoing, ,Command Echoing}. - -@item -S -@cindex @code{-S} -@itemx --no-keep-going -@cindex @code{--no-keep-going} -@itemx --stop -@cindex @code{--stop} -@c Extra blank line here makes the table look better. - -Cancel the effect of the @samp{-k} option. This is never necessary -except in a recursive @code{make} where @samp{-k} might be inherited -from the top-level @code{make} via @code{MAKEFLAGS} -(@pxref{Recursion, ,Recursive Use of @code{make}}) -or if you set @samp{-k} in @code{MAKEFLAGS} in your environment.@refill - -@item -t -@cindex @code{-t} -@itemx --touch -@cindex @code{--touch} -@c Extra blank line here makes the table look better. - -Touch files (mark them up to date without really changing them) -instead of running their commands. This is used to pretend that the -commands were done, in order to fool future invocations of -@code{make}. @xref{Instead of Execution, ,Instead of Executing the Commands}. - -@item -v -@cindex @code{-v} -@itemx --version -@cindex @code{--version} -Print the version of the @code{make} program plus a copyright, a list -of authors, and a notice that there is no warranty; then exit. - -@item -w -@cindex @code{-w} -@itemx --print-directory -@cindex @code{--print-directory} -Print a message containing the working directory both before and after -executing the makefile. This may be useful for tracking down errors -from complicated nests of recursive @code{make} commands. -@xref{Recursion, ,Recursive Use of @code{make}}. (In practice, you -rarely need to specify this option since @samp{make} does it for you; -see @ref{-w Option, ,The @samp{--print-directory} Option}.) - -@itemx --no-print-directory -@cindex @code{--no-print-directory} -Disable printing of the working directory under @code{-w}. -This option is useful when @code{-w} is turned on automatically, -but you do not want to see the extra messages. -@xref{-w Option, ,The @samp{--print-directory} Option}. - -@item -W @var{file} -@cindex @code{-W} -@itemx --what-if=@var{file} -@cindex @code{--what-if} -@itemx --new-file=@var{file} -@cindex @code{--new-file} -@itemx --assume-new=@var{file} -@cindex @code{--assume-new} -Pretend that the target @var{file} has just been modified. When used -with the @samp{-n} flag, this shows you what would happen if you were -to modify that file. Without @samp{-n}, it is almost the same as -running a @code{touch} command on the given file before running -@code{make}, except that the modification time is changed only in the -imagination of @code{make}. -@xref{Instead of Execution, ,Instead of Executing the Commands}. - -@item --warn-undefined-variables -@cindex @code{--warn-undefined-variables} -@cindex variables, warning for undefined -@cindex undefined variables, warning message -Issue a warning message whenever @code{make} sees a reference to an -undefined variable. This can be helpful when you are trying to debug -makefiles which use variables in complex ways. -@end table - -@node Implicit Rules, Archives, Running, Top -@chapter Using Implicit Rules -@cindex implicit rule -@cindex rule, implicit - -Certain standard ways of remaking target files are used very often. For -example, one customary way to make an object file is from a C source file -using the C compiler, @code{cc}. - -@dfn{Implicit rules} tell @code{make} how to use customary techniques so -that you do not have to specify them in detail when you want to use -them. For example, there is an implicit rule for C compilation. File -names determine which implicit rules are run. For example, C -compilation typically takes a @file{.c} file and makes a @file{.o} file. -So @code{make} applies the implicit rule for C compilation when it sees -this combination of file name endings.@refill - -A chain of implicit rules can apply in sequence; for example, @code{make} -will remake a @file{.o} file from a @file{.y} file by way of a @file{.c} file. -@iftex -@xref{Chained Rules, ,Chains of Implicit Rules}. -@end iftex - -The built-in implicit rules use several variables in their commands so -that, by changing the values of the variables, you can change the way the -implicit rule works. For example, the variable @code{CFLAGS} controls the -flags given to the C compiler by the implicit rule for C compilation. -@iftex -@xref{Implicit Variables, ,Variables Used by Implicit Rules}. -@end iftex - -You can define your own implicit rules by writing @dfn{pattern rules}. -@iftex -@xref{Pattern Rules, ,Defining and Redefining Pattern Rules}. -@end iftex - -@dfn{Suffix rules} are a more limited way to define implicit rules. -Pattern rules are more general and clearer, but suffix rules are -retained for compatibility. -@iftex -@xref{Suffix Rules, ,Old-Fashioned Suffix Rules}. -@end iftex - -@menu -* Using Implicit:: How to use an existing implicit rule - to get the commands for updating a file. -* Catalogue of Rules:: A list of built-in implicit rules. -* Implicit Variables:: How to change what predefined rules do. -* Chained Rules:: How to use a chain of implicit rules. -* Pattern Rules:: How to define new implicit rules. -* Last Resort:: How to defining commands for rules - which cannot find any. -* Suffix Rules:: The old-fashioned style of implicit rule. -* Implicit Rule Search:: The precise algorithm for applying - implicit rules. -@end menu - -@node Using Implicit, Catalogue of Rules, Implicit Rules, Implicit Rules -@section Using Implicit Rules -@cindex implicit rule, how to use -@cindex rule, implicit, how to use - -To allow @code{make} to find a customary method for updating a target file, -all you have to do is refrain from specifying commands yourself. Either -write a rule with no command lines, or don't write a rule at all. Then -@code{make} will figure out which implicit rule to use based on which -kind of source file exists or can be made. - -For example, suppose the makefile looks like this: - -@example -foo : foo.o bar.o - cc -o foo foo.o bar.o $(CFLAGS) $(LDFLAGS) -@end example - -@noindent -Because you mention @file{foo.o} but do not give a rule for it, @code{make} -will automatically look for an implicit rule that tells how to update it. -This happens whether or not the file @file{foo.o} currently exists. - -If an implicit rule is found, it can supply both commands and one or -more prerequisites (the source files). You would want to write a rule -for @file{foo.o} with no command lines if you need to specify additional -prerequisites, such as header files, that the implicit rule cannot -supply. - -Each implicit rule has a target pattern and prerequisite patterns. There may -be many implicit rules with the same target pattern. For example, numerous -rules make @samp{.o} files: one, from a @samp{.c} file with the C compiler; -another, from a @samp{.p} file with the Pascal compiler; and so on. The rule -that actually applies is the one whose prerequisites exist or can be made. -So, if you have a file @file{foo.c}, @code{make} will run the C compiler; -otherwise, if you have a file @file{foo.p}, @code{make} will run the Pascal -compiler; and so on. - -Of course, when you write the makefile, you know which implicit rule you -want @code{make} to use, and you know it will choose that one because you -know which possible prerequisite files are supposed to exist. -@xref{Catalogue of Rules, ,Catalogue of Implicit Rules}, -for a catalogue of all the predefined implicit rules. - -Above, we said an implicit rule applies if the required prerequisites ``exist -or can be made''. A file ``can be made'' if it is mentioned explicitly in -the makefile as a target or a prerequisite, or if an implicit rule can be -recursively found for how to make it. When an implicit prerequisite is the -result of another implicit rule, we say that @dfn{chaining} is occurring. -@xref{Chained Rules, ,Chains of Implicit Rules}. - -In general, @code{make} searches for an implicit rule for each target, and -for each double-colon rule, that has no commands. A file that is mentioned -only as a prerequisite is considered a target whose rule specifies nothing, -so implicit rule search happens for it. @xref{Implicit Rule Search, ,Implicit Rule Search Algorithm}, for the -details of how the search is done. - -Note that explicit prerequisites do not influence implicit rule search. -For example, consider this explicit rule: - -@example -foo.o: foo.p -@end example - -@noindent -The prerequisite on @file{foo.p} does not necessarily mean that -@code{make} will remake @file{foo.o} according to the implicit rule to -make an object file, a @file{.o} file, from a Pascal source file, a -@file{.p} file. For example, if @file{foo.c} also exists, the implicit -rule to make an object file from a C source file is used instead, -because it appears before the Pascal rule in the list of predefined -implicit rules (@pxref{Catalogue of Rules, , Catalogue of Implicit -Rules}). - -If you do not want an implicit rule to be used for a target that has no -commands, you can give that target empty commands by writing a semicolon -(@pxref{Empty Commands, ,Defining Empty Commands}). - -@node Catalogue of Rules, Implicit Variables, Using Implicit, Implicit Rules -@section Catalogue of Implicit Rules -@cindex implicit rule, predefined -@cindex rule, implicit, predefined - -Here is a catalogue of predefined implicit rules which are always -available unless the makefile explicitly overrides or cancels them. -@xref{Canceling Rules, ,Canceling Implicit Rules}, for information on -canceling or overriding an implicit rule. The @samp{-r} or -@samp{--no-builtin-rules} option cancels all predefined rules. - -Not all of these rules will always be defined, even when the @samp{-r} -option is not given. Many of the predefined implicit rules are -implemented in @code{make} as suffix rules, so which ones will be -defined depends on the @dfn{suffix list} (the list of prerequisites of -the special target @code{.SUFFIXES}). The default suffix list is: -@code{.out}, @code{.a}, @code{.ln}, @code{.o}, @code{.c}, @code{.cc}, -@code{.C}, @code{.p}, @code{.f}, @code{.F}, @code{.r}, @code{.y}, -@code{.l}, @code{.s}, @code{.S}, @code{.mod}, @code{.sym}, @code{.def}, -@code{.h}, @code{.info}, @code{.dvi}, @code{.tex}, @code{.texinfo}, -@code{.texi}, @code{.txinfo}, @code{.w}, @code{.ch} @code{.web}, -@code{.sh}, @code{.elc}, @code{.el}. All of the implicit rules -described below whose prerequisites have one of these suffixes are -actually suffix rules. If you modify the suffix list, the only -predefined suffix rules in effect will be those named by one or two of -the suffixes that are on the list you specify; rules whose suffixes fail -to be on the list are disabled. @xref{Suffix Rules, ,Old-Fashioned -Suffix Rules}, for full details on suffix rules. - -@table @asis -@item Compiling C programs -@cindex C, rule to compile -@pindex cc -@pindex gcc -@pindex .o -@pindex .c -@file{@var{n}.o} is made automatically from @file{@var{n}.c} with -a command of the form @samp{$(CC) -c $(CPPFLAGS) $(CFLAGS)}.@refill - -@item Compiling C++ programs -@cindex C++, rule to compile -@pindex g++ -@pindex .C -@pindex .cc -@file{@var{n}.o} is made automatically from @file{@var{n}.cc} or -@file{@var{n}.C} with a command of the form @samp{$(CXX) -c $(CPPFLAGS) -$(CXXFLAGS)}. We encourage you to use the suffix @samp{.cc} for C++ -source files instead of @samp{.C}.@refill - -@item Compiling Pascal programs -@cindex Pascal, rule to compile -@pindex pc -@pindex .p -@file{@var{n}.o} is made automatically from @file{@var{n}.p} -with the command @samp{$(PC) -c $(PFLAGS)}.@refill - -@item Compiling Fortran and Ratfor programs -@cindex Fortran, rule to compile -@cindex Ratfor, rule to compile -@pindex f77 -@pindex .f -@pindex .r -@pindex .F -@file{@var{n}.o} is made automatically from @file{@var{n}.r}, -@file{@var{n}.F} or @file{@var{n}.f} by running the -Fortran compiler. The precise command used is as follows:@refill - -@table @samp -@item .f -@samp{$(FC) -c $(FFLAGS)}. -@item .F -@samp{$(FC) -c $(FFLAGS) $(CPPFLAGS)}. -@item .r -@samp{$(FC) -c $(FFLAGS) $(RFLAGS)}. -@end table - -@item Preprocessing Fortran and Ratfor programs -@file{@var{n}.f} is made automatically from @file{@var{n}.r} or -@file{@var{n}.F}. This rule runs just the preprocessor to convert a -Ratfor or preprocessable Fortran program into a strict Fortran -program. The precise command used is as follows:@refill - -@table @samp -@item .F -@samp{$(FC) -F $(CPPFLAGS) $(FFLAGS)}. -@item .r -@samp{$(FC) -F $(FFLAGS) $(RFLAGS)}. -@end table - -@item Compiling Modula-2 programs -@cindex Modula-2, rule to compile -@pindex m2c -@pindex .sym -@pindex .def -@pindex .mod -@file{@var{n}.sym} is made from @file{@var{n}.def} with a command -of the form @samp{$(M2C) $(M2FLAGS) $(DEFFLAGS)}. @file{@var{n}.o} -is made from @file{@var{n}.mod}; the form is: -@w{@samp{$(M2C) $(M2FLAGS) $(MODFLAGS)}}.@refill - -@need 1200 -@item Assembling and preprocessing assembler programs -@cindex assembly, rule to compile -@pindex as -@pindex .s -@file{@var{n}.o} is made automatically from @file{@var{n}.s} by -running the assembler, @code{as}. The precise command is -@samp{$(AS) $(ASFLAGS)}.@refill - -@pindex .S -@file{@var{n}.s} is made automatically from @file{@var{n}.S} by -running the C preprocessor, @code{cpp}. The precise command is -@w{@samp{$(CPP) $(CPPFLAGS)}}. - -@item Linking a single object file -@cindex linking, predefined rule for -@pindex ld -@pindex .o -@file{@var{n}} is made automatically from @file{@var{n}.o} by running -the linker (usually called @code{ld}) via the C compiler. The precise -command used is @w{@samp{$(CC) $(LDFLAGS) @var{n}.o $(LOADLIBES) $(LDLIBS)}}. - -This rule does the right thing for a simple program with only one -source file. It will also do the right thing if there are multiple -object files (presumably coming from various other source files), one -of which has a name matching that of the executable file. Thus, - -@example -x: y.o z.o -@end example - -@noindent -when @file{x.c}, @file{y.c} and @file{z.c} all exist will execute: - -@example -@group -cc -c x.c -o x.o -cc -c y.c -o y.o -cc -c z.c -o z.o -cc x.o y.o z.o -o x -rm -f x.o -rm -f y.o -rm -f z.o -@end group -@end example - -@noindent -In more complicated cases, such as when there is no object file whose -name derives from the executable file name, you must write an explicit -command for linking. - -Each kind of file automatically made into @samp{.o} object files will -be automatically linked by using the compiler (@samp{$(CC)}, -@samp{$(FC)} or @samp{$(PC)}; the C compiler @samp{$(CC)} is used to -assemble @samp{.s} files) without the @samp{-c} option. This could be -done by using the @samp{.o} object files as intermediates, but it is -faster to do the compiling and linking in one step, so that's how it's -done.@refill - -@item Yacc for C programs -@pindex yacc -@cindex Yacc, rule to run -@pindex .y -@file{@var{n}.c} is made automatically from @file{@var{n}.y} by -running Yacc with the command @samp{$(YACC) $(YFLAGS)}. - -@item Lex for C programs -@pindex lex -@cindex Lex, rule to run -@pindex .l -@file{@var{n}.c} is made automatically from @file{@var{n}.l} by -running Lex. The actual command is @samp{$(LEX) $(LFLAGS)}. - -@item Lex for Ratfor programs -@file{@var{n}.r} is made automatically from @file{@var{n}.l} by -running Lex. The actual command is @samp{$(LEX) $(LFLAGS)}. - -The convention of using the same suffix @samp{.l} for all Lex files -regardless of whether they produce C code or Ratfor code makes it -impossible for @code{make} to determine automatically which of the two -languages you are using in any particular case. If @code{make} is -called upon to remake an object file from a @samp{.l} file, it must -guess which compiler to use. It will guess the C compiler, because -that is more common. If you are using Ratfor, make sure @code{make} -knows this by mentioning @file{@var{n}.r} in the makefile. Or, if you -are using Ratfor exclusively, with no C files, remove @samp{.c} from -the list of implicit rule suffixes with:@refill - -@example -@group -.SUFFIXES: -.SUFFIXES: .o .r .f .l @dots{} -@end group -@end example - -@item Making Lint Libraries from C, Yacc, or Lex programs -@pindex lint -@cindex @code{lint}, rule to run -@pindex .ln -@file{@var{n}.ln} is made from @file{@var{n}.c} by running @code{lint}. -The precise command is @w{@samp{$(LINT) $(LINTFLAGS) $(CPPFLAGS) -i}}. -The same command is used on the C code produced from -@file{@var{n}.y} or @file{@var{n}.l}.@refill - -@item @TeX{} and Web -@cindex @TeX{}, rule to run -@cindex Web, rule to run -@pindex tex -@pindex cweave -@pindex weave -@pindex tangle -@pindex ctangle -@pindex .dvi -@pindex .tex -@pindex .web -@pindex .w -@pindex .ch -@file{@var{n}.dvi} is made from @file{@var{n}.tex} with the command -@samp{$(TEX)}. @file{@var{n}.tex} is made from @file{@var{n}.web} with -@samp{$(WEAVE)}, or from @file{@var{n}.w} (and from @file{@var{n}.ch} if -it exists or can be made) with @samp{$(CWEAVE)}. @file{@var{n}.p} is -made from @file{@var{n}.web} with @samp{$(TANGLE)} and @file{@var{n}.c} -is made from @file{@var{n}.w} (and from @file{@var{n}.ch} if it exists -or can be made) with @samp{$(CTANGLE)}.@refill - -@item Texinfo and Info -@cindex Texinfo, rule to format -@cindex Info, rule to format -@pindex texi2dvi -@pindex makeinfo -@pindex .texinfo -@pindex .info -@pindex .texi -@pindex .txinfo -@file{@var{n}.dvi} is made from @file{@var{n}.texinfo}, -@file{@var{n}.texi}, or @file{@var{n}.txinfo}, with the command -@w{@samp{$(TEXI2DVI) $(TEXI2DVI_FLAGS)}}. @file{@var{n}.info} is made from -@file{@var{n}.texinfo}, @file{@var{n}.texi}, or @file{@var{n}.txinfo}, with -the command @w{@samp{$(MAKEINFO) $(MAKEINFO_FLAGS)}}. - -@item RCS -@cindex RCS, rule to extract from -@pindex co -@pindex ,v @r{(RCS file extension)} -Any file @file{@var{n}} is extracted if necessary from an RCS file -named either @file{@var{n},v} or @file{RCS/@var{n},v}. The precise -command used is @w{@samp{$(CO) $(COFLAGS)}}. @file{@var{n}} will not be -extracted from RCS if it already exists, even if the RCS file is -newer. The rules for RCS are terminal -(@pxref{Match-Anything Rules, ,Match-Anything Pattern Rules}), -so RCS files cannot be generated from another source; they must -actually exist.@refill - -@item SCCS -@cindex SCCS, rule to extract from -@pindex get -@pindex s. @r{(SCCS file prefix)} -Any file @file{@var{n}} is extracted if necessary from an SCCS file -named either @file{s.@var{n}} or @file{SCCS/s.@var{n}}. The precise -command used is @w{@samp{$(GET) $(GFLAGS)}}. The rules for SCCS are -terminal (@pxref{Match-Anything Rules, ,Match-Anything Pattern Rules}), -so SCCS files cannot be generated from another source; they must -actually exist.@refill - -@pindex .sh -For the benefit of SCCS, a file @file{@var{n}} is copied from -@file{@var{n}.sh} and made executable (by everyone). This is for -shell scripts that are checked into SCCS. Since RCS preserves the -execution permission of a file, you do not need to use this feature -with RCS.@refill - -We recommend that you avoid using of SCCS. RCS is widely held to be -superior, and is also free. By choosing free software in place of -comparable (or inferior) proprietary software, you support the free -software movement. -@end table - -Usually, you want to change only the variables listed in the table -above, which are documented in the following section. - -However, the commands in built-in implicit rules actually use -variables such as @code{COMPILE.c}, @code{LINK.p}, and -@code{PREPROCESS.S}, whose values contain the commands listed above. - -@code{make} follows the convention that the rule to compile a -@file{.@var{x}} source file uses the variable @code{COMPILE.@var{x}}. -Similarly, the rule to produce an executable from a @file{.@var{x}} -file uses @code{LINK.@var{x}}; and the rule to preprocess a -@file{.@var{x}} file uses @code{PREPROCESS.@var{x}}. - -@vindex OUTPUT_OPTION -Every rule that produces an object file uses the variable -@code{OUTPUT_OPTION}. @code{make} defines this variable either to -contain @samp{-o $@@}, or to be empty, depending on a compile-time -option. You need the @samp{-o} option to ensure that the output goes -into the right file when the source file is in a different directory, -as when using @code{VPATH} (@pxref{Directory Search}). However, -compilers on some systems do not accept a @samp{-o} switch for object -files. If you use such a system, and use @code{VPATH}, some -compilations will put their output in the wrong place. -A possible workaround for this problem is to give @code{OUTPUT_OPTION} -the value @w{@samp{; mv $*.o $@@}}. - -@node Implicit Variables, Chained Rules, Catalogue of Rules, Implicit Rules -@section Variables Used by Implicit Rules -@cindex flags for compilers - -The commands in built-in implicit rules make liberal use of certain -predefined variables. You can alter these variables in the makefile, -with arguments to @code{make}, or in the environment to alter how the -implicit rules work without redefining the rules themselves. You can -cancel all variables used by implicit rules with the @samp{-R} or -@samp{--no-builtin-variables} option. - -For example, the command used to compile a C source file actually says -@samp{$(CC) -c $(CFLAGS) $(CPPFLAGS)}. The default values of the variables -used are @samp{cc} and nothing, resulting in the command @samp{cc -c}. By -redefining @samp{CC} to @samp{ncc}, you could cause @samp{ncc} to be -used for all C compilations performed by the implicit rule. By redefining -@samp{CFLAGS} to be @samp{-g}, you could pass the @samp{-g} option to -each compilation. @emph{All} implicit rules that do C compilation use -@samp{$(CC)} to get the program name for the compiler and @emph{all} -include @samp{$(CFLAGS)} among the arguments given to the compiler.@refill - -The variables used in implicit rules fall into two classes: those that are -names of programs (like @code{CC}) and those that contain arguments for the -programs (like @code{CFLAGS}). (The ``name of a program'' may also contain -some command arguments, but it must start with an actual executable program -name.) If a variable value contains more than one argument, separate them -with spaces. - -Here is a table of variables used as names of programs in built-in rules: - -@table @code -@item AR -@vindex AR -Archive-maintaining program; default @samp{ar}. -@pindex ar - -@item AS -@vindex AS -Program for doing assembly; default @samp{as}. -@pindex as - -@item CC -@vindex CC -Program for compiling C programs; default @samp{cc}. -@pindex cc - -@item CXX -@vindex CXX -Program for compiling C++ programs; default @samp{g++}. -@pindex g++ - -@item CO -@vindex CO -Program for extracting a file from RCS; default @samp{co}. -@pindex co - -@item CPP -@vindex CPP -Program for running the C preprocessor, with results to standard output; -default @samp{$(CC) -E}. - -@item FC -@vindex FC -Program for compiling or preprocessing Fortran and Ratfor programs; -default @samp{f77}. -@pindex f77 - -@item GET -@vindex GET -Program for extracting a file from SCCS; default @samp{get}. -@pindex get - -@item LEX -@vindex LEX -Program to use to turn Lex grammars into C programs or Ratfor programs; -default @samp{lex}. -@pindex lex - -@item PC -@vindex PC -Program for compiling Pascal programs; default @samp{pc}. -@pindex pc - -@item YACC -@vindex YACC -Program to use to turn Yacc grammars into C programs; default @samp{yacc}. -@pindex yacc - -@item YACCR -@vindex YACCR -Program to use to turn Yacc grammars into Ratfor -programs; default @samp{yacc -r}. - -@item MAKEINFO -@vindex MAKEINFO -Program to convert a Texinfo source file into an Info file; default -@samp{makeinfo}. -@pindex makeinfo - -@item TEX -@vindex TEX -Program to make @TeX{} @sc{dvi} files from @TeX{} source; -default @samp{tex}. -@pindex tex - -@item TEXI2DVI -@vindex TEXI2DVI -Program to make @TeX{} @sc{dvi} files from Texinfo source; -default @samp{texi2dvi}. -@pindex texi2dvi - -@item WEAVE -@vindex WEAVE -Program to translate Web into @TeX{}; default @samp{weave}. -@pindex weave - -@item CWEAVE -@vindex CWEAVE -Program to translate C Web into @TeX{}; default @samp{cweave}. -@pindex cweave - -@item TANGLE -@vindex TANGLE -Program to translate Web into Pascal; default @samp{tangle}. -@pindex tangle - -@item CTANGLE -@vindex CTANGLE -Program to translate C Web into C; default @samp{ctangle}. -@pindex ctangle - -@item RM -@vindex RM -Command to remove a file; default @samp{rm -f}. -@pindex rm -@end table - -Here is a table of variables whose values are additional arguments for the -programs above. The default values for all of these is the empty -string, unless otherwise noted. - -@table @code -@item ARFLAGS -@vindex ARFLAGS -Flags to give the archive-maintaining program; default @samp{rv}. - -@item ASFLAGS -@vindex ASFLAGS -Extra flags to give to the assembler (when explicitly -invoked on a @samp{.s} or @samp{.S} file). - -@item CFLAGS -@vindex CFLAGS -Extra flags to give to the C compiler. - -@item CXXFLAGS -@vindex CXXFLAGS -Extra flags to give to the C++ compiler. - -@item COFLAGS -@vindex COFLAGS -Extra flags to give to the RCS @code{co} program. - -@item CPPFLAGS -@vindex CPPFLAGS -Extra flags to give to the C preprocessor and programs -that use it (the C and Fortran compilers). - -@item FFLAGS -@vindex FFLAGS -Extra flags to give to the Fortran compiler. - -@item GFLAGS -@vindex GFLAGS -Extra flags to give to the SCCS @code{get} program. - -@item LDFLAGS -@vindex LDFLAGS -Extra flags to give to compilers when they are -supposed to invoke the linker, @samp{ld}. - -@item LFLAGS -@vindex LFLAGS -Extra flags to give to Lex. - -@item PFLAGS -@vindex PFLAGS -Extra flags to give to the Pascal compiler. - -@item RFLAGS -@vindex RFLAGS -Extra flags to give to the Fortran compiler for Ratfor programs. - -@item YFLAGS -@vindex YFLAGS -Extra flags to give to Yacc. -@end table - -@node Chained Rules, Pattern Rules, Implicit Variables, Implicit Rules -@section Chains of Implicit Rules - -@cindex chains of rules -@cindex rule, implicit, chains of -Sometimes a file can be made by a sequence of implicit rules. For example, -a file @file{@var{n}.o} could be made from @file{@var{n}.y} by running -first Yacc and then @code{cc}. Such a sequence is called a @dfn{chain}. - -If the file @file{@var{n}.c} exists, or is mentioned in the makefile, no -special searching is required: @code{make} finds that the object file can -be made by C compilation from @file{@var{n}.c}; later on, when considering -how to make @file{@var{n}.c}, the rule for running Yacc is -used. Ultimately both @file{@var{n}.c} and @file{@var{n}.o} are -updated.@refill - -@cindex intermediate files -@cindex files, intermediate -However, even if @file{@var{n}.c} does not exist and is not mentioned, -@code{make} knows how to envision it as the missing link between -@file{@var{n}.o} and @file{@var{n}.y}! In this case, @file{@var{n}.c} is -called an @dfn{intermediate file}. Once @code{make} has decided to use the -intermediate file, it is entered in the data base as if it had been -mentioned in the makefile, along with the implicit rule that says how to -create it.@refill - -Intermediate files are remade using their rules just like all other -files. But intermediate files are treated differently in two ways. - -The first difference is what happens if the intermediate file does not -exist. If an ordinary file @var{b} does not exist, and @code{make} -considers a target that depends on @var{b}, it invariably creates -@var{b} and then updates the target from @var{b}. But if @var{b} is an -intermediate file, then @code{make} can leave well enough alone. It -won't bother updating @var{b}, or the ultimate target, unless some -prerequisite of @var{b} is newer than that target or there is some other -reason to update that target. - -The second difference is that if @code{make} @emph{does} create @var{b} -in order to update something else, it deletes @var{b} later on after it -is no longer needed. Therefore, an intermediate file which did not -exist before @code{make} also does not exist after @code{make}. -@code{make} reports the deletion to you by printing a @samp{rm -f} -command showing which file it is deleting. - -Ordinarily, a file cannot be intermediate if it is mentioned in the -makefile as a target or prerequisite. However, you can explicitly mark a -file as intermediate by listing it as a prerequisite of the special target -@code{.INTERMEDIATE}. This takes effect even if the file is mentioned -explicitly in some other way. - -@cindex intermediate files, preserving -@cindex preserving intermediate files -@cindex secondary files -You can prevent automatic deletion of an intermediate file by marking it -as a @dfn{secondary} file. To do this, list it as a prerequisite of the -special target @code{.SECONDARY}. When a file is secondary, @code{make} -will not create the file merely because it does not already exist, but -@code{make} does not automatically delete the file. Marking a file as -secondary also marks it as intermediate. - -You can list the target pattern of an implicit rule (such as @samp{%.o}) -as a prerequisite of the special target @code{.PRECIOUS} to preserve -intermediate files made by implicit rules whose target patterns match -that file's name; see @ref{Interrupts}.@refill -@cindex preserving with @code{.PRECIOUS} -@cindex @code{.PRECIOUS} intermediate files - -A chain can involve more than two implicit rules. For example, it is -possible to make a file @file{foo} from @file{RCS/foo.y,v} by running RCS, -Yacc and @code{cc}. Then both @file{foo.y} and @file{foo.c} are -intermediate files that are deleted at the end.@refill - -No single implicit rule can appear more than once in a chain. This means -that @code{make} will not even consider such a ridiculous thing as making -@file{foo} from @file{foo.o.o} by running the linker twice. This -constraint has the added benefit of preventing any infinite loop in the -search for an implicit rule chain. - -There are some special implicit rules to optimize certain cases that would -otherwise be handled by rule chains. For example, making @file{foo} from -@file{foo.c} could be handled by compiling and linking with separate -chained rules, using @file{foo.o} as an intermediate file. But what -actually happens is that a special rule for this case does the compilation -and linking with a single @code{cc} command. The optimized rule is used in -preference to the step-by-step chain because it comes earlier in the -ordering of rules. - -@node Pattern Rules, Last Resort, Chained Rules, Implicit Rules -@section Defining and Redefining Pattern Rules - -You define an implicit rule by writing a @dfn{pattern rule}. A pattern -rule looks like an ordinary rule, except that its target contains the -character @samp{%} (exactly one of them). The target is considered a -pattern for matching file names; the @samp{%} can match any nonempty -substring, while other characters match only themselves. The prerequisites -likewise use @samp{%} to show how their names relate to the target name. - -Thus, a pattern rule @samp{%.o : %.c} says how to make any file -@file{@var{stem}.o} from another file @file{@var{stem}.c}.@refill - -Note that expansion using @samp{%} in pattern rules occurs -@strong{after} any variable or function expansions, which take place -when the makefile is read. @xref{Using Variables, , How to Use -Variables}, and @ref{Functions, ,Functions for Transforming Text}. - -@menu -* Pattern Intro:: An introduction to pattern rules. -* Pattern Examples:: Examples of pattern rules. -* Automatic Variables:: How to use automatic variables in the - commands of implicit rules. -* Pattern Match:: How patterns match. -* Match-Anything Rules:: Precautions you should take prior to - defining rules that can match any - target file whatever. -* Canceling Rules:: How to override or cancel built-in rules. -@end menu - -@node Pattern Intro, Pattern Examples, Pattern Rules, Pattern Rules -@subsection Introduction to Pattern Rules -@cindex pattern rule -@cindex rule, pattern - -A pattern rule contains the character @samp{%} (exactly one of them) -in the target; otherwise, it looks exactly like an ordinary rule. The -target is a pattern for matching file names; the @samp{%} matches any -nonempty substring, while other characters match only themselves. -@cindex target pattern, implicit -@cindex @code{%}, in pattern rules - -For example, @samp{%.c} as a pattern matches any file name that ends in -@samp{.c}. @samp{s.%.c} as a pattern matches any file name that starts -with @samp{s.}, ends in @samp{.c} and is at least five characters long. -(There must be at least one character to match the @samp{%}.) The substring -that the @samp{%} matches is called the @dfn{stem}.@refill - -@samp{%} in a prerequisite of a pattern rule stands for the same stem -that was matched by the @samp{%} in the target. In order for -the pattern rule to apply, its target pattern must match the file name -under consideration, and its prerequisite patterns must name files that -exist or can be made. These files become prerequisites of the target. -@cindex prerequisite pattern, implicit - -Thus, a rule of the form - -@example -%.o : %.c ; @var{command}@dots{} -@end example - -@noindent -specifies how to make a file @file{@var{n}.o}, with another file -@file{@var{n}.c} as its prerequisite, provided that @file{@var{n}.c} -exists or can be made. - -There may also be prerequisites that do not use @samp{%}; such a prerequisite -attaches to every file made by this pattern rule. These unvarying -prerequisites are useful occasionally. - -A pattern rule need not have any prerequisites that contain @samp{%}, or -in fact any prerequisites at all. Such a rule is effectively a general -wildcard. It provides a way to make any file that matches the target -pattern. @xref{Last Resort}. - -@c !!! The end of of this paragraph should be rewritten. --bob -Pattern rules may have more than one target. Unlike normal rules, this -does not act as many different rules with the same prerequisites and -commands. If a pattern rule has multiple targets, @code{make} knows that -the rule's commands are responsible for making all of the targets. The -commands are executed only once to make all the targets. When searching -for a pattern rule to match a target, the target patterns of a rule other -than the one that matches the target in need of a rule are incidental: -@code{make} worries only about giving commands and prerequisites to the file -presently in question. However, when this file's commands are run, the -other targets are marked as having been updated themselves. -@cindex multiple targets, in pattern rule -@cindex target, multiple in pattern rule - -The order in which pattern rules appear in the makefile is important -since this is the order in which they are considered. -Of equally applicable -rules, only the first one found is used. The rules you write take precedence -over those that are built in. Note however, that a rule whose -prerequisites actually exist or are mentioned always takes priority over a -rule with prerequisites that must be made by chaining other implicit rules. -@cindex pattern rules, order of -@cindex order of pattern rules - -@node Pattern Examples, Automatic Variables, Pattern Intro, Pattern Rules -@subsection Pattern Rule Examples - -Here are some examples of pattern rules actually predefined in -@code{make}. First, the rule that compiles @samp{.c} files into @samp{.o} -files:@refill - -@example -%.o : %.c - $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@@ -@end example - -@noindent -defines a rule that can make any file @file{@var{x}.o} from -@file{@var{x}.c}. The command uses the automatic variables @samp{$@@} and -@samp{$<} to substitute the names of the target file and the source file -in each case where the rule applies (@pxref{Automatic Variables}).@refill - -Here is a second built-in rule: - -@example -% :: RCS/%,v - $(CO) $(COFLAGS) $< -@end example - -@noindent -defines a rule that can make any file @file{@var{x}} whatsoever from a -corresponding file @file{@var{x},v} in the subdirectory @file{RCS}. Since -the target is @samp{%}, this rule will apply to any file whatever, provided -the appropriate prerequisite file exists. The double colon makes the rule -@dfn{terminal}, which means that its prerequisite may not be an intermediate -file (@pxref{Match-Anything Rules, ,Match-Anything Pattern Rules}).@refill - -@need 500 -This pattern rule has two targets: - -@example -@group -%.tab.c %.tab.h: %.y - bison -d $< -@end group -@end example - -@noindent -@c The following paragraph is rewritten to avoid overfull hboxes -This tells @code{make} that the command @samp{bison -d @var{x}.y} will -make both @file{@var{x}.tab.c} and @file{@var{x}.tab.h}. If the file -@file{foo} depends on the files @file{parse.tab.o} and @file{scan.o} -and the file @file{scan.o} depends on the file @file{parse.tab.h}, -when @file{parse.y} is changed, the command @samp{bison -d parse.y} -will be executed only once, and the prerequisites of both -@file{parse.tab.o} and @file{scan.o} will be satisfied. (Presumably -the file @file{parse.tab.o} will be recompiled from @file{parse.tab.c} -and the file @file{scan.o} from @file{scan.c}, while @file{foo} is -linked from @file{parse.tab.o}, @file{scan.o}, and its other -prerequisites, and it will execute happily ever after.)@refill - -@node Automatic Variables, Pattern Match, Pattern Examples, Pattern Rules -@subsection Automatic Variables -@cindex automatic variables -@cindex variables, automatic -@cindex variables, and implicit rule - -Suppose you are writing a pattern rule to compile a @samp{.c} file into a -@samp{.o} file: how do you write the @samp{cc} command so that it operates -on the right source file name? You cannot write the name in the command, -because the name is different each time the implicit rule is applied. - -What you do is use a special feature of @code{make}, the @dfn{automatic -variables}. These variables have values computed afresh for each rule that -is executed, based on the target and prerequisites of the rule. In this -example, you would use @samp{$@@} for the object file name and @samp{$<} -for the source file name. - -@cindex automatic variables in prerequisites -@cindex prerequisites, and automatic variables -It's very important that you recognize the limited scope in which -automatic variable values are available: they only have values within -the command script. In particular, you cannot use them anywhere -within the target or prerequisite lists of a rule; they have no value -there and will expand to the empty string. A common mistake is -attempting to use @code{$@@} within the prerequisites list in a rule; -this will not work. However, see below for information on the -SysV-style @code{$$@@} variables. - -Here is a table of automatic variables: - -@table @code -@vindex $@@ -@vindex @@ @r{(automatic variable)} -@item $@@ -The file name of the target of the rule. If the target is an archive -member, then @samp{$@@} is the name of the archive file. In a pattern -rule that has multiple targets (@pxref{Pattern Intro, ,Introduction to -Pattern Rules}), @samp{$@@} is the name of whichever target caused the -rule's commands to be run. - -@vindex $% -@vindex % @r{(automatic variable)} -@item $% -The target member name, when the target is an archive member. -@xref{Archives}. For example, if the target is @file{foo.a(bar.o)} then -@samp{$%} is @file{bar.o} and @samp{$@@} is @file{foo.a}. @samp{$%} is -empty when the target is not an archive member. - -@vindex $< -@vindex < @r{(automatic variable)} -@item $< -The name of the first prerequisite. If the target got its commands from -an implicit rule, this will be the first prerequisite added by the -implicit rule (@pxref{Implicit Rules}). - -@vindex $? -@vindex ? @r{(automatic variable)} -@item $? -The names of all the prerequisites that are newer than the target, with -spaces between them. For prerequisites which are archive members, only -the member named is used (@pxref{Archives}). -@cindex prerequisites, list of changed -@cindex list of changed prerequisites - -@vindex $^ -@vindex ^ @r{(automatic variable)} -@item $^ -The names of all the prerequisites, with spaces between them. For -prerequisites which are archive members, only the member named is used -(@pxref{Archives}). A target has only one prerequisite on each other file -it depends on, no matter how many times each file is listed as a -prerequisite. So if you list a prerequisite more than once for a target, -the value of @code{$^} contains just one copy of the name. -@cindex prerequisites, list of all -@cindex list of all prerequisites - -@vindex $+ -@vindex + @r{(automatic variable)} -@item $+ -This is like @samp{$^}, but prerequisites listed more than once are -duplicated in the order they were listed in the makefile. This is -primarily useful for use in linking commands where it is meaningful to -repeat library file names in a particular order. - -@vindex $* -@vindex * @r{(automatic variable)} -@item $* -The stem with which an implicit rule matches (@pxref{Pattern Match, ,How -Patterns Match}). If the target is @file{dir/a.foo.b} and the target -pattern is @file{a.%.b} then the stem is @file{dir/foo}. The stem is -useful for constructing names of related files.@refill -@cindex stem, variable for - -In a static pattern rule, the stem is part of the file name that matched -the @samp{%} in the target pattern. - -In an explicit rule, there is no stem; so @samp{$*} cannot be determined -in that way. Instead, if the target name ends with a recognized suffix -(@pxref{Suffix Rules, ,Old-Fashioned Suffix Rules}), @samp{$*} is set to -the target name minus the suffix. For example, if the target name is -@samp{foo.c}, then @samp{$*} is set to @samp{foo}, since @samp{.c} is a -suffix. GNU @code{make} does this bizarre thing only for compatibility -with other implementations of @code{make}. You should generally avoid -using @samp{$*} except in implicit rules or static pattern rules.@refill - -If the target name in an explicit rule does not end with a recognized -suffix, @samp{$*} is set to the empty string for that rule. -@end table - -@samp{$?} is useful even in explicit rules when you wish to operate on only -the prerequisites that have changed. For example, suppose that an archive -named @file{lib} is supposed to contain copies of several object files. -This rule copies just the changed object files into the archive: - -@example -@group -lib: foo.o bar.o lose.o win.o - ar r lib $? -@end group -@end example - -Of the variables listed above, four have values that are single file -names, and three have values that are lists of file names. These seven -have variants that get just the file's directory name or just the file -name within the directory. The variant variables' names are formed by -appending @samp{D} or @samp{F}, respectively. These variants are -semi-obsolete in GNU @code{make} since the functions @code{dir} and -@code{notdir} can be used to get a similar effect (@pxref{File Name -Functions, , Functions for File Names}). Note, however, that the -@samp{D} variants all omit the trailing slash which always appears in -the output of the @code{dir} function. Here is a table of the variants: - -@table @samp -@vindex $(@@D) -@vindex @@D @r{(automatic variable)} -@item $(@@D) -The directory part of the file name of the target, with the trailing -slash removed. If the value of @samp{$@@} is @file{dir/foo.o} then -@samp{$(@@D)} is @file{dir}. This value is @file{.} if @samp{$@@} does -not contain a slash. - -@vindex $(@@F) -@vindex @@F @r{(automatic variable)} -@item $(@@F) -The file-within-directory part of the file name of the target. If the -value of @samp{$@@} is @file{dir/foo.o} then @samp{$(@@F)} is -@file{foo.o}. @samp{$(@@F)} is equivalent to @samp{$(notdir $@@)}. - -@vindex $(*D) -@vindex *D @r{(automatic variable)} -@item $(*D) -@vindex $(*F) -@vindex *F @r{(automatic variable)} -@itemx $(*F) -The directory part and the file-within-directory -part of the stem; @file{dir} and @file{foo} in this example. - -@vindex $(%D) -@vindex %D @r{(automatic variable)} -@item $(%D) -@vindex $(%F) -@vindex %F @r{(automatic variable)} -@itemx $(%F) -The directory part and the file-within-directory part of the target -archive member name. This makes sense only for archive member targets -of the form @file{@var{archive}(@var{member})} and is useful only when -@var{member} may contain a directory name. (@xref{Archive Members, -,Archive Members as Targets}.) - -@vindex $( tar-`sed -e '/version_string/!d' \ - -e 's/[^0-9.]*\([0-9.]*\).*/\1/' \ - -e q - version.c`.shar.Z -@end group - -@group -dist: $(SRCS) $(AUX) - echo tar-`sed \ - -e '/version_string/!d' \ - -e 's/[^0-9.]*\([0-9.]*\).*/\1/' \ - -e q - version.c` > .fname - -rm -rf `cat .fname` - mkdir `cat .fname` - ln $(SRCS) $(AUX) `cat .fname` - tar chZf `cat .fname`.tar.Z `cat .fname` - -rm -rf `cat .fname` .fname -@end group - -@group -tar.zoo: $(SRCS) $(AUX) - -rm -rf tmp.dir - -mkdir tmp.dir - -rm tar.zoo - for X in $(SRCS) $(AUX) ; do \ - echo $$X ; \ - sed 's/$$/^M/' $$X \ - > tmp.dir/$$X ; done - cd tmp.dir ; zoo aM ../tar.zoo * - -rm -rf tmp.dir -@end group -@end example - -@raisesections -@include fdl.texi -@lowersections - -@node Concept Index, Name Index, GNU Free Documentation License, Top -@unnumbered Index of Concepts - -@printindex cp - -@node Name Index, , Concept Index, Top -@unnumbered Index of Functions, Variables, & Directives - -@printindex fn - -@summarycontents -@contents -@bye +\input texinfo @c -*- Texinfo -*- +@c %**start of header +@setfilename make.info +@settitle GNU @code{make} +@setchapternewpage odd +@c %**end of header + +@c FSF publishers: format makebook.texi instead of using this file directly. + +@set RCSID $Id: make.texi,v 1.1.1.1 2003/11/17 19:06:09 nick Exp $ +@set EDITION 0.60 +@set VERSION 3.80 +@set UPDATED 08 July 2002 +@set UPDATE-MONTH July 2002 +@comment The ISBN number might need to change on next publication. +@set ISBN 1-882114-81-7 @c From Brian Youmans <3diff@gnu.org>, 25 Apr 2000 + +@c finalout + +@c ISPELL CHECK: done, 10 June 1993 --roland +@c ISPELL CHECK: done, 2000-06-25 --Martin Buchholz + +@c Combine the variable and function indices: +@syncodeindex vr fn +@c Combine the program and concept indices: +@syncodeindex pg cp + +@dircategory GNU Packages +@direntry +* Make: (make). Remake files automatically. +@end direntry + +@ifinfo +This file documents the GNU Make utility, which determines +automatically which pieces of a large program need to be recompiled, +and issues the commands to recompile them. + +This is Edition @value{EDITION}, last updated @value{UPDATED}, +of @cite{The GNU Make Manual}, for @code{make}, Version @value{VERSION}. + +Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002 +Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 or +any later version published by the Free Software Foundation; with no +Invariant Sections, with no Front-Cover Texts, and with no Back-Cover +Texts. A copy of the license is included in the section entitled +``GNU Free Documentation License''. +@end ifinfo + +@iftex +@shorttitlepage GNU Make +@end iftex +@titlepage +@title GNU Make +@subtitle A Program for Directing Recompilation +@subtitle GNU @code{make} Version @value{VERSION} +@subtitle @value{UPDATE-MONTH} +@author Richard M. Stallman, Roland McGrath, Paul Smith +@page +@vskip 0pt plus 1filll +Copyright @copyright{} 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, +1996, 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc. +@sp 2 +Published by the Free Software Foundation @* +59 Temple Place -- Suite 330, @* +Boston, MA 02111-1307 USA @* +ISBN @value{ISBN} @* + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 or +any later version published by the Free Software Foundation; with the +Invariant Sections being ``GNU General Public License'', the Front-Cover +Texts being ``A GNU Manual'', and with the Back-Cover Texts being as in +(a) below. A copy of the license is included in the section entitled +``GNU Free Documentation License''. + +(a) The FSF's Back-Cover Text is: + +@quotation + You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. +@end quotation +@sp 2 +Cover art by Etienne Suvasa. +@end titlepage +@page + +@ifinfo +@node Top, Overview, (dir), (dir) +@top Make + +The GNU @code{make} utility automatically determines which pieces of a +large program need to be recompiled, and issues the commands to +recompile them.@refill + +This edition of the @cite{GNU Make Manual}, +last updated @value{UPDATED}, +documents GNU @code{make} Version @value{VERSION}.@refill + +This manual describes @code{make} and contains the following chapters:@refill +@end ifinfo + +@menu +* Overview:: Overview of @code{make}. +* Introduction:: An introduction to @code{make}. +* Makefiles:: Makefiles tell @code{make} what to do. +* Rules:: Rules describe when a file must be remade. +* Commands:: Commands say how to remake a file. +* Using Variables:: You can use variables to avoid repetition. +* Conditionals:: Use or ignore parts of the makefile based + on the values of variables. +* Functions:: Many powerful ways to manipulate text. +* Invoking make: Running. How to invoke @code{make} on the command line. +* Implicit Rules:: Use implicit rules to treat many files alike, + based on their file names. +* Archives:: How @code{make} can update library archives. +* Features:: Features GNU @code{make} has over other @code{make}s. +* Missing:: What GNU @code{make} lacks from other @code{make}s. +* Makefile Conventions:: Conventions for writing makefiles for + GNU programs. +* Quick Reference:: A quick reference for experienced users. +* Error Messages:: A list of common errors generated by @code{make}. +* Complex Makefile:: A real example of a straightforward, + but nontrivial, makefile. + +* GNU Free Documentation License:: License for copying this manual +* Concept Index:: Index of Concepts +* Name Index:: Index of Functions, Variables, & Directives + +@detailmenu + --- The Detailed Node Listing --- + +Overview of @code{make} + +* Preparing:: Preparing and Running Make +* Reading:: On Reading this Text +* Bugs:: Problems and Bugs + +An Introduction to Makefiles + +* Rule Introduction:: What a rule looks like. +* Simple Makefile:: A Simple Makefile +* How Make Works:: How @code{make} Processes This Makefile +* Variables Simplify:: Variables Make Makefiles Simpler +* make Deduces:: Letting @code{make} Deduce the Commands +* Combine By Prerequisite:: Another Style of Makefile +* Cleanup:: Rules for Cleaning the Directory + +Writing Makefiles + +* Makefile Contents:: What makefiles contain. +* Makefile Names:: How to name your makefile. +* Include:: How one makefile can use another makefile. +* MAKEFILES Variable:: The environment can specify extra makefiles. +* MAKEFILE_LIST Variable:: Discover which makefiles have been read. +* Special Variables:: Other special variables. +* Remaking Makefiles:: How makefiles get remade. +* Overriding Makefiles:: How to override part of one makefile + with another makefile. +* Reading Makefiles:: How makefiles are parsed. + +Writing Rules + +* Rule Example:: An example explained. +* Rule Syntax:: General syntax explained. +* Prerequisite Types:: There are two types of prerequisites. +* Wildcards:: Using wildcard characters such as `*'. +* Directory Search:: Searching other directories for source files. +* Phony Targets:: Using a target that is not a real file's name. +* Force Targets:: You can use a target without commands + or prerequisites to mark other + targets as phony. +* Empty Targets:: When only the date matters and the + files are empty. +* Special Targets:: Targets with special built-in meanings. +* Multiple Targets:: When to make use of several targets in a rule. +* Multiple Rules:: How to use several rules with the same target. +* Static Pattern:: Static pattern rules apply to multiple targets + and can vary the prerequisites according to + the target name. +* Double-Colon:: How to use a special kind of rule to allow + several independent rules for one target. +* Automatic Prerequisites:: How to automatically generate rules giving + prerequisites from source files themselves. + +Using Wildcard Characters in File Names + +* Wildcard Examples:: Several examples +* Wildcard Pitfall:: Problems to avoid. +* Wildcard Function:: How to cause wildcard expansion where + it does not normally take place. + +Searching Directories for Prerequisites + +* General Search:: Specifying a search path that applies + to every prerequisite. +* Selective Search:: Specifying a search path + for a specified class of names. +* Search Algorithm:: When and how search paths are applied. +* Commands/Search:: How to write shell commands that work together + with search paths. +* Implicit/Search:: How search paths affect implicit rules. +* Libraries/Search:: Directory search for link libraries. + +Static Pattern Rules + +* Static Usage:: The syntax of static pattern rules. +* Static versus Implicit:: When are they better than implicit rules? + +Writing the Commands in Rules + +* Echoing:: How to control when commands are echoed. +* Execution:: How commands are executed. +* Parallel:: How commands can be executed in parallel. +* Errors:: What happens after a command execution error. +* Interrupts:: What happens when a command is interrupted. +* Recursion:: Invoking @code{make} from makefiles. +* Sequences:: Defining canned sequences of commands. +* Empty Commands:: Defining useful, do-nothing commands. + +Recursive Use of @code{make} + +* MAKE Variable:: The special effects of using @samp{$(MAKE)}. +* Variables/Recursion:: How to communicate variables to a sub-@code{make}. +* Options/Recursion:: How to communicate options to a sub-@code{make}. +* -w Option:: How the @samp{-w} or @samp{--print-directory} option + helps debug use of recursive @code{make} commands. + +How to Use Variables + +* Reference:: How to use the value of a variable. +* Flavors:: Variables come in two flavors. +* Advanced:: Advanced features for referencing a variable. +* Values:: All the ways variables get their values. +* Setting:: How to set a variable in the makefile. +* Appending:: How to append more text to the old value + of a variable. +* Override Directive:: How to set a variable in the makefile even if + the user has set it with a command argument. +* Defining:: An alternate way to set a variable + to a verbatim string. +* Environment:: Variable values can come from the environment. +* Target-specific:: Variable values can be defined on a per-target + basis. +* Pattern-specific:: Target-specific variable values can be applied + to a group of targets that match a pattern. + +Advanced Features for Reference to Variables + +* Substitution Refs:: Referencing a variable with + substitutions on the value. +* Computed Names:: Computing the name of the variable to refer to. + +Conditional Parts of Makefiles + +* Conditional Example:: Example of a conditional +* Conditional Syntax:: The syntax of conditionals. +* Testing Flags:: Conditionals that test flags. + +Functions for Transforming Text + +* Syntax of Functions:: How to write a function call. +* Text Functions:: General-purpose text manipulation functions. +* File Name Functions:: Functions for manipulating file names. +* Foreach Function:: Repeat some text with controlled variation. +* If Function:: Conditionally expand a value. +* Call Function:: Expand a user-defined function. +* Value Function:: Return the un-expanded value of a variable. +* Eval Function:: Evaluate the arguments as makefile syntax. +* Origin Function:: Find where a variable got its value. +* Shell Function:: Substitute the output of a shell command. +* Make Control Functions:: Functions that control how make runs. + +How to Run @code{make} + +* Makefile Arguments:: How to specify which makefile to use. +* Goals:: How to use goal arguments to specify which + parts of the makefile to use. +* Instead of Execution:: How to use mode flags to specify what + kind of thing to do with the commands + in the makefile other than simply + execute them. +* Avoiding Compilation:: How to avoid recompiling certain files. +* Overriding:: How to override a variable to specify + an alternate compiler and other things. +* Testing:: How to proceed past some errors, to + test compilation. +* Options Summary:: Summary of Options + +Using Implicit Rules + +* Using Implicit:: How to use an existing implicit rule + to get the commands for updating a file. +* Catalogue of Rules:: A list of built-in implicit rules. +* Implicit Variables:: How to change what predefined rules do. +* Chained Rules:: How to use a chain of implicit rules. +* Pattern Rules:: How to define new implicit rules. +* Last Resort:: How to defining commands for rules + which cannot find any. +* Suffix Rules:: The old-fashioned style of implicit rule. +* Implicit Rule Search:: The precise algorithm for applying + implicit rules. + +Defining and Redefining Pattern Rules + +* Pattern Intro:: An introduction to pattern rules. +* Pattern Examples:: Examples of pattern rules. +* Automatic Variables:: How to use automatic variables in the + commands of implicit rules. +* Pattern Match:: How patterns match. +* Match-Anything Rules:: Precautions you should take prior to + defining rules that can match any + target file whatever. +* Canceling Rules:: How to override or cancel built-in rules. + +Using @code{make} to Update Archive Files + +* Archive Members:: Archive members as targets. +* Archive Update:: The implicit rule for archive member targets. +* Archive Pitfalls:: Dangers to watch out for when using archives. +* Archive Suffix Rules:: You can write a special kind of suffix rule + for updating archives. + +Implicit Rule for Archive Member Targets + +* Archive Symbols:: How to update archive symbol directories. + +Makefile Conventions + +* Makefile Basics:: General Conventions for Makefiles +* Utilities in Makefiles:: Utilities in Makefiles +* Command Variables:: Variables for Specifying Commands +* Directory Variables:: Variables for Installation Directories +* Standard Targets:: Standard Targets for Users +* Install Command Categories:: Three categories of commands in the `install' + +Copying This Manual + +@end detailmenu +@end menu + +@node Overview, Introduction, Top, Top +@comment node-name, next, previous, up +@chapter Overview of @code{make} + +The @code{make} utility automatically determines which pieces of a large +program need to be recompiled, and issues commands to recompile them. +This manual describes GNU @code{make}, which was implemented by Richard +Stallman and Roland McGrath. Development since Version 3.76 has been +handled by Paul Smith. + +GNU @code{make} conforms to section 6.2 of @cite{IEEE Standard +1003.2-1992} (POSIX.2). +@cindex POSIX +@cindex IEEE Standard 1003.2 +@cindex standards conformance + +Our examples show C programs, since they are most common, but you can use +@code{make} with any programming language whose compiler can be run with a +shell command. Indeed, @code{make} is not limited to programs. You can +use it to describe any task where some files must be updated automatically +from others whenever the others change. + +@menu +* Preparing:: Preparing and Running Make +* Reading:: On Reading this Text +* Bugs:: Problems and Bugs +@end menu + +@node Preparing, Reading, Overview, Overview +@ifinfo +@heading Preparing and Running Make +@end ifinfo + +To prepare to use @code{make}, you must write a file called +the @dfn{makefile} that describes the relationships among files +in your program and provides commands for updating each file. +In a program, typically, the executable file is updated from object +files, which are in turn made by compiling source files.@refill + +Once a suitable makefile exists, each time you change some source files, +this simple shell command: + +@example +make +@end example + +@noindent +suffices to perform all necessary recompilations. The @code{make} program +uses the makefile data base and the last-modification times of the files to +decide which of the files need to be updated. For each of those files, it +issues the commands recorded in the data base. + +You can provide command line arguments to @code{make} to control which +files should be recompiled, or how. @xref{Running, ,How to Run +@code{make}}. + +@node Reading, Bugs, Preparing, Overview +@section How to Read This Manual + +If you are new to @code{make}, or are looking for a general +introduction, read the first few sections of each chapter, skipping the +later sections. In each chapter, the first few sections contain +introductory or general information and the later sections contain +specialized or technical information. +@ifinfo +The exception is the second chapter, @ref{Introduction, ,An +Introduction to Makefiles}, all of which is introductory. +@end ifinfo +@iftex +The exception is @ref{Introduction, ,An Introduction to Makefiles}, +all of which is introductory. +@end iftex + +If you are familiar with other @code{make} programs, see @ref{Features, +,Features of GNU @code{make}}, which lists the enhancements GNU +@code{make} has, and @ref{Missing, ,Incompatibilities and Missing +Features}, which explains the few things GNU @code{make} lacks that +others have. + +For a quick summary, see @ref{Options Summary}, @ref{Quick Reference}, +and @ref{Special Targets}. + +@node Bugs, , Reading, Overview +@section Problems and Bugs +@cindex reporting bugs +@cindex bugs, reporting +@cindex problems and bugs, reporting + +If you have problems with GNU @code{make} or think you've found a bug, +please report it to the developers; we cannot promise to do anything but +we might well want to fix it. + +Before reporting a bug, make sure you've actually found a real bug. +Carefully reread the documentation and see if it really says you can do +what you're trying to do. If it's not clear whether you should be able +to do something or not, report that too; it's a bug in the +documentation! + +Before reporting a bug or trying to fix it yourself, try to isolate it +to the smallest possible makefile that reproduces the problem. Then +send us the makefile and the exact results @code{make} gave you, +including any error or warning messages. Please don't paraphrase +these messages: it's best to cut and paste them into your report. +When generating this small makefile, be sure to not use any non-free +or unusual tools in your commands: you can almost always emulate what +such a tool would do with simple shell commands. Finally, be sure to +explain what you expected to occur; this will help us decide whether +the problem was really in the documentation. + +Once you have a precise problem you can report it in one of two ways. +Either send electronic mail to: + +@example + bug-make@@gnu.org +@end example + +@noindent +or use our Web-based project management tool, at: + +@example + http://savannah.gnu.org/projects/make/ +@end example + +@noindent +In addition to the information above, please be careful to include the +version number of @code{make} you are using. You can get this +information with the command @samp{make --version}. Be sure also to +include the type of machine and operating system you are using. One +way to obtain this information is by looking at the final lines of +output from the command @samp{make --help}. + +@node Introduction, Makefiles, Overview, Top +@comment node-name, next, previous, up +@chapter An Introduction to Makefiles + +You need a file called a @dfn{makefile} to tell @code{make} what to do. +Most often, the makefile tells @code{make} how to compile and link a +program. +@cindex makefile + +In this chapter, we will discuss a simple makefile that describes how to +compile and link a text editor which consists of eight C source files +and three header files. The makefile can also tell @code{make} how to +run miscellaneous commands when explicitly asked (for example, to remove +certain files as a clean-up operation). To see a more complex example +of a makefile, see @ref{Complex Makefile}. + +When @code{make} recompiles the editor, each changed C source file +must be recompiled. If a header file has changed, each C source file +that includes the header file must be recompiled to be safe. Each +compilation produces an object file corresponding to the source file. +Finally, if any source file has been recompiled, all the object files, +whether newly made or saved from previous compilations, must be linked +together to produce the new executable editor. +@cindex recompilation +@cindex editor + +@menu +* Rule Introduction:: What a rule looks like. +* Simple Makefile:: A Simple Makefile +* How Make Works:: How @code{make} Processes This Makefile +* Variables Simplify:: Variables Make Makefiles Simpler +* make Deduces:: Letting @code{make} Deduce the Commands +* Combine By Prerequisite:: Another Style of Makefile +* Cleanup:: Rules for Cleaning the Directory +@end menu + +@node Rule Introduction, Simple Makefile, Introduction, Introduction +@comment node-name, next, previous, up +@section What a Rule Looks Like +@cindex rule, introduction to +@cindex makefile rule parts +@cindex parts of makefile rule + +A simple makefile consists of ``rules'' with the following shape: + +@cindex targets, introduction to +@cindex prerequisites, introduction to +@cindex commands, introduction to +@example +@group +@var{target} @dots{} : @var{prerequisites} @dots{} + @var{command} + @dots{} + @dots{} +@end group +@end example + +A @dfn{target} is usually the name of a file that is generated by a +program; examples of targets are executable or object files. A target +can also be the name of an action to carry out, such as @samp{clean} +(@pxref{Phony Targets}). + +A @dfn{prerequisite} is a file that is used as input to create the +target. A target often depends on several files. + +@cindex tabs in rules +A @dfn{command} is an action that @code{make} carries out. +A rule may have more than one command, each on its own line. +@strong{Please note:} you need to put a tab character at the beginning of +every command line! This is an obscurity that catches the unwary. + +Usually a command is in a rule with prerequisites and serves to create a +target file if any of the prerequisites change. However, the rule that +specifies commands for the target need not have prerequisites. For +example, the rule containing the delete command associated with the +target @samp{clean} does not have prerequisites. + +A @dfn{rule}, then, explains how and when to remake certain files +which are the targets of the particular rule. @code{make} carries out +the commands on the prerequisites to create or update the target. A +rule can also explain how and when to carry out an action. +@xref{Rules, , Writing Rules}. + +A makefile may contain other text besides rules, but a simple makefile +need only contain rules. Rules may look somewhat more complicated +than shown in this template, but all fit the pattern more or less. + +@node Simple Makefile, How Make Works, Rule Introduction, Introduction +@section A Simple Makefile +@cindex simple makefile +@cindex makefile, simple + +Here is a straightforward makefile that describes the way an +executable file called @code{edit} depends on eight object files +which, in turn, depend on eight C source and three header files. + +In this example, all the C files include @file{defs.h}, but only those +defining editing commands include @file{command.h}, and only low +level files that change the editor buffer include @file{buffer.h}. + +@example +@group +edit : main.o kbd.o command.o display.o \ + insert.o search.o files.o utils.o + cc -o edit main.o kbd.o command.o display.o \ + insert.o search.o files.o utils.o + +main.o : main.c defs.h + cc -c main.c +kbd.o : kbd.c defs.h command.h + cc -c kbd.c +command.o : command.c defs.h command.h + cc -c command.c +display.o : display.c defs.h buffer.h + cc -c display.c +insert.o : insert.c defs.h buffer.h + cc -c insert.c +search.o : search.c defs.h buffer.h + cc -c search.c +files.o : files.c defs.h buffer.h command.h + cc -c files.c +utils.o : utils.c defs.h + cc -c utils.c +clean : + rm edit main.o kbd.o command.o display.o \ + insert.o search.o files.o utils.o +@end group +@end example + +@noindent +We split each long line into two lines using backslash-newline; this is +like using one long line, but is easier to read. +@cindex continuation lines +@cindex @code{\} (backslash), for continuation lines +@cindex backslash (@code{\}), for continuation lines +@cindex quoting newline, in makefile +@cindex newline, quoting, in makefile + +To use this makefile to create the executable file called @file{edit}, +type: + +@example +make +@end example + +To use this makefile to delete the executable file and all the object +files from the directory, type: + +@example +make clean +@end example + +In the example makefile, the targets include the executable file +@samp{edit}, and the object files @samp{main.o} and @samp{kbd.o}. The +prerequisites are files such as @samp{main.c} and @samp{defs.h}. +In fact, each @samp{.o} file is both a target and a prerequisite. +Commands include @w{@samp{cc -c main.c}} and @w{@samp{cc -c kbd.c}}. + +When a target is a file, it needs to be recompiled or relinked if any +of its prerequisites change. In addition, any prerequisites that are +themselves automatically generated should be updated first. In this +example, @file{edit} depends on each of the eight object files; the +object file @file{main.o} depends on the source file @file{main.c} and +on the header file @file{defs.h}. + +A shell command follows each line that contains a target and +prerequisites. These shell commands say how to update the target file. +A tab character must come at the beginning of every command line to +distinguish commands lines from other lines in the makefile. (Bear in +mind that @code{make} does not know anything about how the commands +work. It is up to you to supply commands that will update the target +file properly. All @code{make} does is execute the commands in the rule +you have specified when the target file needs to be updated.) +@cindex shell command + +The target @samp{clean} is not a file, but merely the name of an +action. Since you +normally +do not want to carry out the actions in this rule, @samp{clean} is not a prerequisite of any other rule. +Consequently, @code{make} never does anything with it unless you tell +it specifically. Note that this rule not only is not a prerequisite, it +also does not have any prerequisites, so the only purpose of the rule +is to run the specified commands. Targets that do not refer to files +but are just actions are called @dfn{phony targets}. @xref{Phony +Targets}, for information about this kind of target. @xref{Errors, , +Errors in Commands}, to see how to cause @code{make} to ignore errors +from @code{rm} or any other command. +@cindex @code{clean} target +@cindex @code{rm} (shell command) + +@node How Make Works, Variables Simplify, Simple Makefile, Introduction +@comment node-name, next, previous, up +@section How @code{make} Processes a Makefile +@cindex processing a makefile +@cindex makefile, how @code{make} processes + +By default, @code{make} starts with the first target (not targets whose +names start with @samp{.}). This is called the @dfn{default goal}. +(@dfn{Goals} are the targets that @code{make} strives ultimately to +update. @xref{Goals, , Arguments to Specify the Goals}.) +@cindex default goal +@cindex goal, default +@cindex goal + +In the simple example of the previous section, the default goal is to +update the executable program @file{edit}; therefore, we put that rule +first. + +Thus, when you give the command: + +@example +make +@end example + +@noindent +@code{make} reads the makefile in the current directory and begins by +processing the first rule. In the example, this rule is for relinking +@file{edit}; but before @code{make} can fully process this rule, it +must process the rules for the files that @file{edit} depends on, +which in this case are the object files. Each of these files is +processed according to its own rule. These rules say to update each +@samp{.o} file by compiling its source file. The recompilation must +be done if the source file, or any of the header files named as +prerequisites, is more recent than the object file, or if the object +file does not exist. + +The other rules are processed because their targets appear as +prerequisites of the goal. If some other rule is not depended on by the +goal (or anything it depends on, etc.), that rule is not processed, +unless you tell @code{make} to do so (with a command such as +@w{@code{make clean}}). + +Before recompiling an object file, @code{make} considers updating its +prerequisites, the source file and header files. This makefile does not +specify anything to be done for them---the @samp{.c} and @samp{.h} files +are not the targets of any rules---so @code{make} does nothing for these +files. But @code{make} would update automatically generated C programs, +such as those made by Bison or Yacc, by their own rules at this time. + +After recompiling whichever object files need it, @code{make} decides +whether to relink @file{edit}. This must be done if the file +@file{edit} does not exist, or if any of the object files are newer than +it. If an object file was just recompiled, it is now newer than +@file{edit}, so @file{edit} is relinked. +@cindex relinking + +Thus, if we change the file @file{insert.c} and run @code{make}, +@code{make} will compile that file to update @file{insert.o}, and then +link @file{edit}. If we change the file @file{command.h} and run +@code{make}, @code{make} will recompile the object files @file{kbd.o}, +@file{command.o} and @file{files.o} and then link the file @file{edit}. + +@node Variables Simplify, make Deduces, How Make Works, Introduction +@section Variables Make Makefiles Simpler +@cindex variables +@cindex simplifying with variables + +In our example, we had to list all the object files twice in the rule for +@file{edit} (repeated here): + +@example +@group +edit : main.o kbd.o command.o display.o \ + insert.o search.o files.o utils.o + cc -o edit main.o kbd.o command.o display.o \ + insert.o search.o files.o utils.o +@end group +@end example + +@cindex @code{objects} +Such duplication is error-prone; if a new object file is added to the +system, we might add it to one list and forget the other. We can eliminate +the risk and simplify the makefile by using a variable. @dfn{Variables} +allow a text string to be defined once and substituted in multiple places +later (@pxref{Using Variables, ,How to Use Variables}). + +@cindex @code{OBJECTS} +@cindex @code{objs} +@cindex @code{OBJS} +@cindex @code{obj} +@cindex @code{OBJ} +It is standard practice for every makefile to have a variable named +@code{objects}, @code{OBJECTS}, @code{objs}, @code{OBJS}, @code{obj}, +or @code{OBJ} which is a list of all object file names. We would +define such a variable @code{objects} with a line like this in the +makefile:@refill + +@example +@group +objects = main.o kbd.o command.o display.o \ + insert.o search.o files.o utils.o +@end group +@end example + +@noindent +Then, each place we want to put a list of the object file names, we can +substitute the variable's value by writing @samp{$(objects)} +(@pxref{Using Variables, ,How to Use Variables}). + +Here is how the complete simple makefile looks when you use a variable +for the object files: + +@example +@group +objects = main.o kbd.o command.o display.o \ + insert.o search.o files.o utils.o + +edit : $(objects) + cc -o edit $(objects) +main.o : main.c defs.h + cc -c main.c +kbd.o : kbd.c defs.h command.h + cc -c kbd.c +command.o : command.c defs.h command.h + cc -c command.c +display.o : display.c defs.h buffer.h + cc -c display.c +insert.o : insert.c defs.h buffer.h + cc -c insert.c +search.o : search.c defs.h buffer.h + cc -c search.c +files.o : files.c defs.h buffer.h command.h + cc -c files.c +utils.o : utils.c defs.h + cc -c utils.c +clean : + rm edit $(objects) +@end group +@end example + +@node make Deduces, Combine By Prerequisite, Variables Simplify, Introduction +@section Letting @code{make} Deduce the Commands +@cindex deducing commands (implicit rules) +@cindex implicit rule, introduction to +@cindex rule, implicit, introduction to + +It is not necessary to spell out the commands for compiling the individual +C source files, because @code{make} can figure them out: it has an +@dfn{implicit rule} for updating a @samp{.o} file from a correspondingly +named @samp{.c} file using a @samp{cc -c} command. For example, it will +use the command @samp{cc -c main.c -o main.o} to compile @file{main.c} into +@file{main.o}. We can therefore omit the commands from the rules for the +object files. @xref{Implicit Rules, ,Using Implicit Rules}.@refill + +When a @samp{.c} file is used automatically in this way, it is also +automatically added to the list of prerequisites. We can therefore omit +the @samp{.c} files from the prerequisites, provided we omit the commands. + +Here is the entire example, with both of these changes, and a variable +@code{objects} as suggested above: + +@example +@group +objects = main.o kbd.o command.o display.o \ + insert.o search.o files.o utils.o + +edit : $(objects) + cc -o edit $(objects) + +main.o : defs.h +kbd.o : defs.h command.h +command.o : defs.h command.h +display.o : defs.h buffer.h +insert.o : defs.h buffer.h +search.o : defs.h buffer.h +files.o : defs.h buffer.h command.h +utils.o : defs.h + +.PHONY : clean +clean : + rm edit $(objects) +@end group +@end example + +@noindent +This is how we would write the makefile in actual practice. (The +complications associated with @samp{clean} are described elsewhere. +See @ref{Phony Targets}, and @ref{Errors, ,Errors in Commands}.) + +Because implicit rules are so convenient, they are important. You +will see them used frequently.@refill + +@node Combine By Prerequisite, Cleanup, make Deduces, Introduction +@section Another Style of Makefile +@cindex combining rules by prerequisite + +When the objects of a makefile are created only by implicit rules, an +alternative style of makefile is possible. In this style of makefile, +you group entries by their prerequisites instead of by their targets. +Here is what one looks like: + +@example +@group +objects = main.o kbd.o command.o display.o \ + insert.o search.o files.o utils.o + +edit : $(objects) + cc -o edit $(objects) + +$(objects) : defs.h +kbd.o command.o files.o : command.h +display.o insert.o search.o files.o : buffer.h +@end group +@end example + +@noindent +Here @file{defs.h} is given as a prerequisite of all the object files; +@file{command.h} and @file{buffer.h} are prerequisites of the specific +object files listed for them. + +Whether this is better is a matter of taste: it is more compact, but some +people dislike it because they find it clearer to put all the information +about each target in one place. + +@node Cleanup, , Combine By Prerequisite, Introduction +@section Rules for Cleaning the Directory +@cindex cleaning up +@cindex removing, to clean up + +Compiling a program is not the only thing you might want to write rules +for. Makefiles commonly tell how to do a few other things besides +compiling a program: for example, how to delete all the object files +and executables so that the directory is @samp{clean}. + +@cindex @code{clean} target +Here is how we +could write a @code{make} rule for cleaning our example editor: + +@example +@group +clean: + rm edit $(objects) +@end group +@end example + +In practice, we might want to write the rule in a somewhat more +complicated manner to handle unanticipated situations. We would do this: + +@example +@group +.PHONY : clean +clean : + -rm edit $(objects) +@end group +@end example + +@noindent +This prevents @code{make} from getting confused by an actual file +called @file{clean} and causes it to continue in spite of errors from +@code{rm}. (See @ref{Phony Targets}, and @ref{Errors, ,Errors in +Commands}.) + +@noindent +A rule such as this should not be placed at the beginning of the +makefile, because we do not want it to run by default! Thus, in the +example makefile, we want the rule for @code{edit}, which recompiles +the editor, to remain the default goal. + +Since @code{clean} is not a prerequisite of @code{edit}, this rule will not +run at all if we give the command @samp{make} with no arguments. In +order to make the rule run, we have to type @samp{make clean}. +@xref{Running, ,How to Run @code{make}}. + +@node Makefiles, Rules, Introduction, Top +@chapter Writing Makefiles + +@cindex makefile, how to write +The information that tells @code{make} how to recompile a system comes from +reading a data base called the @dfn{makefile}. + +@menu +* Makefile Contents:: What makefiles contain. +* Makefile Names:: How to name your makefile. +* Include:: How one makefile can use another makefile. +* MAKEFILES Variable:: The environment can specify extra makefiles. +* MAKEFILE_LIST Variable:: Discover which makefiles have been read. +* Special Variables:: Other special variables. +* Remaking Makefiles:: How makefiles get remade. +* Overriding Makefiles:: How to override part of one makefile + with another makefile. +* Reading Makefiles:: How makefiles are parsed. +@end menu + +@node Makefile Contents, Makefile Names, Makefiles, Makefiles +@section What Makefiles Contain + +Makefiles contain five kinds of things: @dfn{explicit rules}, +@dfn{implicit rules}, @dfn{variable definitions}, @dfn{directives}, +and @dfn{comments}. Rules, variables, and directives are described at +length in later chapters.@refill + +@itemize @bullet +@cindex rule, explicit, definition of +@cindex explicit rule, definition of +@item +An @dfn{explicit rule} says when and how to remake one or more files, +called the rule's targets. It lists the other files that the targets +depend on, call the @dfn{prerequisites} of the target, and may also give +commands to use to create or update the targets. @xref{Rules, ,Writing +Rules}. + +@cindex rule, implicit, definition of +@cindex implicit rule, definition of +@item +An @dfn{implicit rule} says when and how to remake a class of files +based on their names. It describes how a target may depend on a file +with a name similar to the target and gives commands to create or +update such a target. @xref{Implicit Rules, ,Using Implicit Rules}. + +@cindex variable definition +@item +A @dfn{variable definition} is a line that specifies a text string +value for a variable that can be substituted into the text later. The +simple makefile example shows a variable definition for @code{objects} +as a list of all object files (@pxref{Variables Simplify, , Variables +Make Makefiles Simpler}). + +@cindex directive +@item +A @dfn{directive} is a command for @code{make} to do something special while +reading the makefile. These include: + +@itemize @bullet +@item +Reading another makefile (@pxref{Include, ,Including Other Makefiles}). + +@item +Deciding (based on the values of variables) whether to use or +ignore a part of the makefile (@pxref{Conditionals, ,Conditional Parts of Makefiles}). + +@item +Defining a variable from a verbatim string containing multiple lines +(@pxref{Defining, ,Defining Variables Verbatim}). +@end itemize + +@cindex comments, in makefile +@cindex @code{#} (comments), in makefile +@item +@samp{#} in a line of a makefile starts a @dfn{comment}. It and the +rest of the line are ignored, except that a trailing backslash not +escaped by another backslash will continue the comment across multiple +lines. A line containing just a comment (with perhaps spaces before +it) is effectively blank, and is ignored. If you want a literal +@code{#}, escape it with a backslash (e.g., @code{\#}). Comments may +appear on any line in the makefile, although they are treated +specially in certain situations. + +Within a command script (if the line begins with a TAB character) the +entire line is passed to the shell, just as with any other line that +begins with a TAB. The shell decides how to interpret the text: +whether or not this is a comment is up to the shell. + +Within a @code{define} directive, comments are not ignored during the +definition of the variable, but rather kept intact in the value of the +variable. When the variable is expanded they will either be treated +as @code{make} comments or as command script text, depending on the +context in which the variable is evaluated. +@end itemize + +@node Makefile Names, Include, Makefile Contents, Makefiles +@section What Name to Give Your Makefile +@cindex makefile name +@cindex name of makefile +@cindex default makefile name +@cindex file name of makefile + +@c following paragraph rewritten to avoid overfull hbox +By default, when @code{make} looks for the makefile, it tries the +following names, in order: @file{GNUmakefile}, @file{makefile} +and @file{Makefile}.@refill +@findex Makefile +@findex GNUmakefile +@findex makefile + +@cindex @code{README} +Normally you should call your makefile either @file{makefile} or +@file{Makefile}. (We recommend @file{Makefile} because it appears +prominently near the beginning of a directory listing, right near other +important files such as @file{README}.) The first name checked, +@file{GNUmakefile}, is not recommended for most makefiles. You should +use this name if you have a makefile that is specific to GNU +@code{make}, and will not be understood by other versions of +@code{make}. Other @code{make} programs look for @file{makefile} and +@file{Makefile}, but not @file{GNUmakefile}. + +If @code{make} finds none of these names, it does not use any makefile. +Then you must specify a goal with a command argument, and @code{make} +will attempt to figure out how to remake it using only its built-in +implicit rules. @xref{Implicit Rules, ,Using Implicit Rules}. + +@cindex @code{-f} +@cindex @code{--file} +@cindex @code{--makefile} +If you want to use a nonstandard name for your makefile, you can specify +the makefile name with the @samp{-f} or @samp{--file} option. The +arguments @w{@samp{-f @var{name}}} or @w{@samp{--file=@var{name}}} tell +@code{make} to read the file @var{name} as the makefile. If you use +more than one @samp{-f} or @samp{--file} option, you can specify several +makefiles. All the makefiles are effectively concatenated in the order +specified. The default makefile names @file{GNUmakefile}, +@file{makefile} and @file{Makefile} are not checked automatically if you +specify @samp{-f} or @samp{--file}.@refill +@cindex specifying makefile name +@cindex makefile name, how to specify +@cindex name of makefile, how to specify +@cindex file name of makefile, how to specify + +@node Include, MAKEFILES Variable, Makefile Names, Makefiles +@section Including Other Makefiles +@cindex including other makefiles +@cindex makefile, including + +@findex include +The @code{include} directive tells @code{make} to suspend reading the +current makefile and read one or more other makefiles before continuing. +The directive is a line in the makefile that looks like this: + +@example +include @var{filenames}@dots{} +@end example + +@noindent +@var{filenames} can contain shell file name patterns. +@cindex shell file name pattern (in @code{include}) +@cindex shell wildcards (in @code{include}) +@cindex wildcard, in @code{include} + +Extra spaces are allowed and ignored at the beginning of the line, but +a tab is not allowed. (If the line begins with a tab, it will be +considered a command line.) Whitespace is required between +@code{include} and the file names, and between file names; extra +whitespace is ignored there and at the end of the directive. A +comment starting with @samp{#} is allowed at the end of the line. If +the file names contain any variable or function references, they are +expanded. @xref{Using Variables, ,How to Use Variables}. + +For example, if you have three @file{.mk} files, @file{a.mk}, +@file{b.mk}, and @file{c.mk}, and @code{$(bar)} expands to +@code{bish bash}, then the following expression + +@example +include foo *.mk $(bar) +@end example + +is equivalent to + +@example +include foo a.mk b.mk c.mk bish bash +@end example + +When @code{make} processes an @code{include} directive, it suspends +reading of the containing makefile and reads from each listed file in +turn. When that is finished, @code{make} resumes reading the +makefile in which the directive appears. + +One occasion for using @code{include} directives is when several programs, +handled by individual makefiles in various directories, need to use a +common set of variable definitions +(@pxref{Setting, ,Setting Variables}) or pattern rules +(@pxref{Pattern Rules, ,Defining and Redefining Pattern Rules}). + +Another such occasion is when you want to generate prerequisites from +source files automatically; the prerequisites can be put in a file that +is included by the main makefile. This practice is generally cleaner +than that of somehow appending the prerequisites to the end of the main +makefile as has been traditionally done with other versions of +@code{make}. @xref{Automatic Prerequisites}. +@cindex prerequisites, automatic generation +@cindex automatic generation of prerequisites +@cindex generating prerequisites automatically + +@cindex @code{-I} +@cindex @code{--include-dir} +@cindex included makefiles, default directories +@cindex default directories for included makefiles +@findex /usr/gnu/include +@findex /usr/local/include +@findex /usr/include +If the specified name does not start with a slash, and the file is not +found in the current directory, several other directories are searched. +First, any directories you have specified with the @samp{-I} or +@samp{--include-dir} option are searched +(@pxref{Options Summary, ,Summary of Options}). +Then the following directories (if they exist) +are searched, in this order: +@file{@var{prefix}/include} (normally @file{/usr/local/include} +@footnote{GNU Make compiled for MS-DOS and MS-Windows behaves as if +@var{prefix} has been defined to be the root of the DJGPP tree +hierarchy.}) +@file{/usr/gnu/include}, +@file{/usr/local/include}, @file{/usr/include}. + +If an included makefile cannot be found in any of these directories, a +warning message is generated, but it is not an immediately fatal error; +processing of the makefile containing the @code{include} continues. +Once it has finished reading makefiles, @code{make} will try to remake +any that are out of date or don't exist. +@xref{Remaking Makefiles, ,How Makefiles Are Remade}. +Only after it has tried to find a way to remake a makefile and failed, +will @code{make} diagnose the missing makefile as a fatal error. + +If you want @code{make} to simply ignore a makefile which does not exist +and cannot be remade, with no error message, use the @w{@code{-include}} +directive instead of @code{include}, like this: + +@example +-include @var{filenames}@dots{} +@end example + +This acts like @code{include} in every way except that there is no +error (not even a warning) if any of the @var{filenames} do not exist. +For compatibility with some other @code{make} implementations, +@code{sinclude} is another name for @w{@code{-include}}. + +@node MAKEFILES Variable, MAKEFILE_LIST Variable, Include, Makefiles +@section The Variable @code{MAKEFILES} +@cindex makefile, and @code{MAKEFILES} variable +@cindex including (@code{MAKEFILES} variable) + +@vindex MAKEFILES +If the environment variable @code{MAKEFILES} is defined, @code{make} +considers its value as a list of names (separated by whitespace) of +additional makefiles to be read before the others. This works much like +the @code{include} directive: various directories are searched for those +files (@pxref{Include, ,Including Other Makefiles}). In addition, the +default goal is never taken from one of these makefiles and it is not an +error if the files listed in @code{MAKEFILES} are not found.@refill + +@cindex recursion, and @code{MAKEFILES} variable +The main use of @code{MAKEFILES} is in communication between recursive +invocations of @code{make} (@pxref{Recursion, ,Recursive Use of +@code{make}}). It usually is not desirable to set the environment +variable before a top-level invocation of @code{make}, because it is +usually better not to mess with a makefile from outside. However, if +you are running @code{make} without a specific makefile, a makefile in +@code{MAKEFILES} can do useful things to help the built-in implicit +rules work better, such as defining search paths (@pxref{Directory Search}). + +Some users are tempted to set @code{MAKEFILES} in the environment +automatically on login, and program makefiles to expect this to be done. +This is a very bad idea, because such makefiles will fail to work if run by +anyone else. It is much better to write explicit @code{include} directives +in the makefiles. @xref{Include, , Including Other Makefiles}. + +@node MAKEFILE_LIST Variable, Special Variables, MAKEFILES Variable, Makefiles +@comment node-name, next, previous, up +@section The Variable @code{MAKEFILE_LIST} +@cindex makefiles, and @code{MAKEFILE_LIST} variable +@cindex including (@code{MAKEFILE_LIST} variable) + +As @code{make} reads various makefiles, including any obtained from the +@code{MAKEFILES} variable, the command line, the default files, or +from @code{include} directives, their names will be automatically +appended to the @code{MAKEFILE_LIST} variable. They are added right +before @code{make} begins to parse them. + +This means that if the first thing a makefile does is examine the last +word in this variable, it will be the name of the current makefile. +Once the current makefile has used @code{include}, however, the last +word will be the just-included makefile. + +If a makefile named @code{Makefile} has this content: + +@example +@group +name1 := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) + +include inc.mk + +name2 := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) + +all: + @@echo name1 = $(name1) + @@echo name2 = $(name2) +@end group +@end example + +@noindent +then you would expect to see this output: + +@example +@group +name1 = Makefile +name2 = inc.mk +@end group +@end example + +@xref{Text Functions}, for more information on the @code{word} and +@code{words} functions used above. @xref{Flavors, The Two Flavors of +Variables}, for more information on simply-expanded (@code{:=}) +variable definitions. + +@node Special Variables, Remaking Makefiles, MAKEFILE_LIST Variable, Makefiles +@comment node-name, next, previous, up +@section Other Special Variables +@cindex makefiles, and special variables +@cindex special variables + +GNU @code{make} also supports a special variable. Note that any value +you assign to this variable will be ignored; it will always return its +special value. + +@vindex $(.VARIABLES) +@vindex .VARIABLES @r{(list of variables)} +The first special variable is @code{.VARIABLES}. When expanded, the +value consists of a list of the @emph{names} of all global variables +defined in all makefiles read up until that point. This includes +variables which have empty values, as well as built-in variables +(@pxref{Implicit Variables, , Variables Used by Implicit Rules}), but +does not include any variables which are only defined in a +target-specific context. + +@c @vindex $(.TARGETS) +@c @vindex .TARGETS @r{(list of targets)} +@c The second special variable is @code{.TARGETS}. When expanded, the +@c value consists of a list of all targets defined in all makefiles read +@c up until that point. Note it's not enough for a file to be simply +@c mentioned in the makefile to be listed in this variable, even if it +@c would match an implicit rule and become an ``implicit target''. The +@c file must appear as a target, on the left-hand side of a ``:'', to be +@c considered a target for the purposes of this variable. + +@node Remaking Makefiles, Overriding Makefiles, Special Variables, Makefiles +@section How Makefiles Are Remade + +@cindex updating makefiles +@cindex remaking makefiles +@cindex makefile, remaking of +Sometimes makefiles can be remade from other files, such as RCS or SCCS +files. If a makefile can be remade from other files, you probably want +@code{make} to get an up-to-date version of the makefile to read in. + +To this end, after reading in all makefiles, @code{make} will consider +each as a goal target and attempt to update it. If a makefile has a +rule which says how to update it (found either in that very makefile or +in another one) or if an implicit rule applies to it (@pxref{Implicit +Rules, ,Using Implicit Rules}), it will be updated if necessary. After +all makefiles have been checked, if any have actually been changed, +@code{make} starts with a clean slate and reads all the makefiles over +again. (It will also attempt to update each of them over again, but +normally this will not change them again, since they are already up to +date.)@refill + +If you know that one or more of your makefiles cannot be remade and you +want to keep @code{make} from performing an implicit rule search on +them, perhaps for efficiency reasons, you can use any normal method of +preventing implicit rule lookup to do so. For example, you can write an +explicit rule with the makefile as the target, and an empty command +string (@pxref{Empty Commands, ,Using Empty Commands}). + +If the makefiles specify a double-colon rule to remake a file with +commands but no prerequisites, that file will always be remade +(@pxref{Double-Colon}). In the case of makefiles, a makefile that has a +double-colon rule with commands but no prerequisites will be remade every +time @code{make} is run, and then again after @code{make} starts over +and reads the makefiles in again. This would cause an infinite loop: +@code{make} would constantly remake the makefile, and never do anything +else. So, to avoid this, @code{make} will @strong{not} attempt to +remake makefiles which are specified as targets of a double-colon rule +with commands but no prerequisites.@refill + +If you do not specify any makefiles to be read with @samp{-f} or +@samp{--file} options, @code{make} will try the default makefile names; +@pxref{Makefile Names, ,What Name to Give Your Makefile}. Unlike +makefiles explicitly requested with @samp{-f} or @samp{--file} options, +@code{make} is not certain that these makefiles should exist. However, +if a default makefile does not exist but can be created by running +@code{make} rules, you probably want the rules to be run so that the +makefile can be used. + +Therefore, if none of the default makefiles exists, @code{make} will try +to make each of them in the same order in which they are searched for +(@pxref{Makefile Names, ,What Name to Give Your Makefile}) +until it succeeds in making one, or it runs out of names to try. Note +that it is not an error if @code{make} cannot find or make any makefile; +a makefile is not always necessary.@refill + +When you use the @samp{-t} or @samp{--touch} option +(@pxref{Instead of Execution, ,Instead of Executing the Commands}), +you would not want to use an out-of-date makefile to decide which +targets to touch. So the @samp{-t} option has no effect on updating +makefiles; they are really updated even if @samp{-t} is specified. +Likewise, @samp{-q} (or @samp{--question}) and @samp{-n} (or +@samp{--just-print}) do not prevent updating of makefiles, because an +out-of-date makefile would result in the wrong output for other targets. +Thus, @samp{make -f mfile -n foo} will update @file{mfile}, read it in, +and then print the commands to update @file{foo} and its prerequisites +without running them. The commands printed for @file{foo} will be those +specified in the updated contents of @file{mfile}. + +However, on occasion you might actually wish to prevent updating of even +the makefiles. You can do this by specifying the makefiles as goals in +the command line as well as specifying them as makefiles. When the +makefile name is specified explicitly as a goal, the options @samp{-t} +and so on do apply to them. + +Thus, @samp{make -f mfile -n mfile foo} would read the makefile +@file{mfile}, print the commands needed to update it without actually +running them, and then print the commands needed to update @file{foo} +without running them. The commands for @file{foo} will be those +specified by the existing contents of @file{mfile}. + +@node Overriding Makefiles, Reading Makefiles, Remaking Makefiles, Makefiles +@section Overriding Part of Another Makefile + +@cindex overriding makefiles +@cindex makefile, overriding +Sometimes it is useful to have a makefile that is mostly just like +another makefile. You can often use the @samp{include} directive to +include one in the other, and add more targets or variable definitions. +However, if the two makefiles give different commands for the same +target, @code{make} will not let you just do this. But there is another way. + +@cindex match-anything rule, used to override +In the containing makefile (the one that wants to include the other), +you can use a match-anything pattern rule to say that to remake any +target that cannot be made from the information in the containing +makefile, @code{make} should look in another makefile. +@xref{Pattern Rules}, for more information on pattern rules. + +For example, if you have a makefile called @file{Makefile} that says how +to make the target @samp{foo} (and other targets), you can write a +makefile called @file{GNUmakefile} that contains: + +@example +foo: + frobnicate > foo + +%: force + @@$(MAKE) -f Makefile $@@ +force: ; +@end example + +If you say @samp{make foo}, @code{make} will find @file{GNUmakefile}, +read it, and see that to make @file{foo}, it needs to run the command +@samp{frobnicate > foo}. If you say @samp{make bar}, @code{make} will +find no way to make @file{bar} in @file{GNUmakefile}, so it will use the +commands from the pattern rule: @samp{make -f Makefile bar}. If +@file{Makefile} provides a rule for updating @file{bar}, @code{make} +will apply the rule. And likewise for any other target that +@file{GNUmakefile} does not say how to make. + +The way this works is that the pattern rule has a pattern of just +@samp{%}, so it matches any target whatever. The rule specifies a +prerequisite @file{force}, to guarantee that the commands will be run even +if the target file already exists. We give @file{force} target empty +commands to prevent @code{make} from searching for an implicit rule to +build it---otherwise it would apply the same match-anything rule to +@file{force} itself and create a prerequisite loop! + +@node Reading Makefiles, , Overriding Makefiles, Makefiles +@section How @code{make} Reads a Makefile +@cindex reading makefiles +@cindex makefile, parsing + +GNU @code{make} does its work in two distinct phases. During the first +phase it reads all the makefiles, included makefiles, etc. and +internalizes all the variables and their values, implicit and explicit +rules, and constructs a dependency graph of all the targets and their +prerequisites. During the second phase, @code{make} uses these internal +structures to determine what targets will need to be rebuilt and to +invoke the rules necessary to do so. + +It's important to understand this two-phase approach because it has a +direct impact on how variable and function expansion happens; this is +often a source of some confusion when writing makefiles. Here we will +present a summary of the phases in which expansion happens for different +constructs within the makefile. We say that expansion is +@dfn{immediate} if it happens during the first phase: in this case +@code{make} will expand any variables or functions in that section of a +construct as the makefile is parsed. We say that expansion is +@dfn{deferred} if expansion is not performed immediately. Expansion of +deferred construct is not performed until either the construct appears +later in an immediate context, or until the second phase. + +You may not be familiar with some of these constructs yet. You can +reference this section as you become familiar with them, in later +chapters. + +@subheading Variable Assignment +@cindex +=, expansion +@cindex =, expansion +@cindex ?=, expansion +@cindex +=, expansion +@cindex define, expansion + +Variable definitions are parsed as follows: + +@example +@var{immediate} = @var{deferred} +@var{immediate} ?= @var{deferred} +@var{immediate} := @var{immediate} +@var{immediate} += @var{deferred} or @var{immediate} + +define @var{immediate} + @var{deferred} +endef +@end example + +For the append operator, @samp{+=}, the right-hand side is considered +immediate if the variable was previously set as a simple variable +(@samp{:=}), and deferred otherwise. + +@subheading Conditional Statements +@cindex ifdef, expansion +@cindex ifeq, expansion +@cindex ifndef, expansion +@cindex ifneq, expansion + +All instances of conditional syntax are parsed immediately, in their +entirety; this includes the @code{ifdef}, @code{ifeq}, @code{ifndef}, +and @code{ifneq} forms. + +@subheading Rule Definition +@cindex target, expansion +@cindex prerequisite, expansion +@cindex implicit rule, expansion +@cindex pattern rule, expansion +@cindex explicit rule, expansion + +A rule is always expanded the same way, regardless of the form: + +@example +@var{immediate} : @var{immediate} ; @var{deferred} + @var{deferred} +@end example + +That is, the target and prerequisite sections are expanded immediately, +and the commands used to construct the target are always deferred. This +general rule is true for explicit rules, pattern rules, suffix rules, +static pattern rules, and simple prerequisite definitions. + +@node Rules, Commands, Makefiles, Top +@chapter Writing Rules +@cindex writing rules +@cindex rule, how to write +@cindex target +@cindex prerequisite + +A @dfn{rule} appears in the makefile and says when and how to remake +certain files, called the rule's @dfn{targets} (most often only one per rule). +It lists the other files that are the @dfn{prerequisites} of the target, and +@dfn{commands} to use to create or update the target. + +@cindex default goal +@cindex goal, default +The order of rules is not significant, except for determining the +@dfn{default goal}: the target for @code{make} to consider, if you do +not otherwise specify one. The default goal is the target of the first +rule in the first makefile. If the first rule has multiple targets, +only the first target is taken as the default. There are two +exceptions: a target starting with a period is not a default unless it +contains one or more slashes, @samp{/}, as well; and, a target that +defines a pattern rule has no effect on the default goal. +(@xref{Pattern Rules, ,Defining and Redefining Pattern Rules}.) + +Therefore, we usually write the makefile so that the first rule is the +one for compiling the entire program or all the programs described by +the makefile (often with a target called @samp{all}). +@xref{Goals, ,Arguments to Specify the Goals}. + +@menu +* Rule Example:: An example explained. +* Rule Syntax:: General syntax explained. +* Prerequisite Types:: There are two types of prerequisites. +* Wildcards:: Using wildcard characters such as `*'. +* Directory Search:: Searching other directories for source files. +* Phony Targets:: Using a target that is not a real file's name. +* Force Targets:: You can use a target without commands + or prerequisites to mark other + targets as phony. +* Empty Targets:: When only the date matters and the + files are empty. +* Special Targets:: Targets with special built-in meanings. +* Multiple Targets:: When to make use of several targets in a rule. +* Multiple Rules:: How to use several rules with the same target. +* Static Pattern:: Static pattern rules apply to multiple targets + and can vary the prerequisites according to + the target name. +* Double-Colon:: How to use a special kind of rule to allow + several independent rules for one target. +* Automatic Prerequisites:: How to automatically generate rules giving + prerequisites from source files themselves. +@end menu + +@ifinfo +@node Rule Example, Rule Syntax, Rules, Rules +@section Rule Example + +Here is an example of a rule: + +@example +foo.o : foo.c defs.h # module for twiddling the frobs + cc -c -g foo.c +@end example + +Its target is @file{foo.o} and its prerequisites are @file{foo.c} and +@file{defs.h}. It has one command, which is @samp{cc -c -g foo.c}. +The command line starts with a tab to identify it as a command. + +This rule says two things: + +@itemize @bullet +@item +How to decide whether @file{foo.o} is out of date: it is out of date +if it does not exist, or if either @file{foo.c} or @file{defs.h} is +more recent than it. + +@item +How to update the file @file{foo.o}: by running @code{cc} as stated. +The command does not explicitly mention @file{defs.h}, but we presume +that @file{foo.c} includes it, and that that is why @file{defs.h} was +added to the prerequisites. +@end itemize +@end ifinfo + +@node Rule Syntax, Prerequisite Types, Rule Example, Rules +@section Rule Syntax + +@cindex rule syntax +@cindex syntax of rules +In general, a rule looks like this: + +@example +@var{targets} : @var{prerequisites} + @var{command} + @dots{} +@end example + +@noindent +or like this: + +@example +@var{targets} : @var{prerequisites} ; @var{command} + @var{command} + @dots{} +@end example + +@cindex targets +@cindex rule targets +The @var{targets} are file names, separated by spaces. Wildcard +characters may be used (@pxref{Wildcards, ,Using Wildcard Characters +in File Names}) and a name of the form @file{@var{a}(@var{m})} +represents member @var{m} in archive file @var{a} +(@pxref{Archive Members, ,Archive Members as Targets}). +Usually there is only one +target per rule, but occasionally there is a reason to have more +(@pxref{Multiple Targets, , Multiple Targets in a Rule}).@refill + +@cindex commands +@cindex tab character (in commands) +The @var{command} lines start with a tab character. The first command may +appear on the line after the prerequisites, with a tab character, or may +appear on the same line, with a semicolon. Either way, the effect is the +same. @xref{Commands, ,Writing the Commands in Rules}. + +@cindex dollar sign (@code{$}), in rules +@cindex @code{$}, in rules +@cindex rule, and @code{$} +Because dollar signs are used to start variable references, if you really +want a dollar sign in a rule you must write two of them, @samp{$$} +(@pxref{Using Variables, ,How to Use Variables}). +You may split a long line by inserting a backslash +followed by a newline, but this is not required, as @code{make} places no +limit on the length of a line in a makefile. + +A rule tells @code{make} two things: when the targets are out of date, +and how to update them when necessary. + +@cindex prerequisites +@cindex rule prerequisites +The criterion for being out of date is specified in terms of the +@var{prerequisites}, which consist of file names separated by spaces. +(Wildcards and archive members (@pxref{Archives}) are allowed here too.) +A target is out of date if it does not exist or if it is older than any +of the prerequisites (by comparison of last-modification times). The +idea is that the contents of the target file are computed based on +information in the prerequisites, so if any of the prerequisites changes, +the contents of the existing target file are no longer necessarily +valid. + +How to update is specified by @var{commands}. These are lines to be +executed by the shell (normally @samp{sh}), but with some extra features +(@pxref{Commands, ,Writing the Commands in Rules}). + +@node Prerequisite Types, Wildcards, Rule Syntax, Rules +@comment node-name, next, previous, up +@section Types of Prerequisites +@cindex prerequisite types +@cindex types of prerequisites + +@cindex prerequisites, normal +@cindex normal prerequisites +@cindex prerequisites, order-only +@cindex order-only prerequisites +There are actually two different types of prerequisites understood by +GNU @code{make}: normal prerequisites such as described in the +previous section, and @dfn{order-only} prerequisites. A normal +prerequisite actually makes two statements: first, it imposes an order +of execution of build commands: any commands necessary to build any of +a target's prerequisites will be fully executed before any commands +necessary to build the target. Second, it imposes a dependency +relationship: if any prerequisite is newer than the target, then the +target is considered out-of-date and must be rebuilt. + +Normally, this is exactly what you want: if a target's prerequisite is +updated, then the target should also be updated. + +Occasionally, however, you have a situation where you want to impose a +specific ordering on the rules to be invoked @emph{without} forcing +the target to be updated if one of those rules is executed. In that +case, you want to define @dfn{order-only} prerequisites. Order-only +prerequisites can be specified by placing a pipe symbol (@code{|}) +in the prerequisites list: any prerequisites to the left of the pipe +symbol are normal; any prerequisites to the right are order-only: + +@example +@var{targets} : @var{normal-prerequisites} | @var{order-only-prerequisites} +@end example + +The normal prerequisites section may of course be empty. Also, you +may still declare multiple lines of prerequisites for the same target: +they are appended appropriately. Note that if you declare the same +file to be both a normal and an order-only prerequisite, the normal +prerequisite takes precedence (since they are a strict superset of the +behavior of an order-only prerequisite). + +@node Wildcards, Directory Search, Prerequisite Types, Rules +@section Using Wildcard Characters in File Names +@cindex wildcard +@cindex file name with wildcards +@cindex globbing (wildcards) + +@cindex @code{*} (wildcard character) +@cindex @code{?} (wildcard character) +@cindex @code{[@dots{}]} (wildcard characters) +A single file name can specify many files using @dfn{wildcard characters}. +The wildcard characters in @code{make} are @samp{*}, @samp{?} and +@samp{[@dots{}]}, the same as in the Bourne shell. For example, @file{*.c} +specifies a list of all the files (in the working directory) whose names +end in @samp{.c}.@refill + +@cindex @code{~} (tilde) +@cindex tilde (@code{~}) +@cindex home directory +The character @samp{~} at the beginning of a file name also has special +significance. If alone, or followed by a slash, it represents your home +directory. For example @file{~/bin} expands to @file{/home/you/bin}. +If the @samp{~} is followed by a word, the string represents the home +directory of the user named by that word. For example @file{~john/bin} +expands to @file{/home/john/bin}. On systems which don't have a home +directory for each user (such as MS-DOS or MS-Windows), this +functionality can be simulated by setting the environment variable +@var{HOME}.@refill + +Wildcard expansion happens automatically in targets, in prerequisites, +and in commands (where the shell does the expansion). In other +contexts, wildcard expansion happens only if you request it explicitly +with the @code{wildcard} function. + +The special significance of a wildcard character can be turned off by +preceding it with a backslash. Thus, @file{foo\*bar} would refer to a +specific file whose name consists of @samp{foo}, an asterisk, and +@samp{bar}.@refill + +@menu +* Wildcard Examples:: Several examples +* Wildcard Pitfall:: Problems to avoid. +* Wildcard Function:: How to cause wildcard expansion where + it does not normally take place. +@end menu + +@node Wildcard Examples, Wildcard Pitfall, Wildcards, Wildcards +@subsection Wildcard Examples + +Wildcards can be used in the commands of a rule, where they are expanded +by the shell. For example, here is a rule to delete all the object files: + +@example +@group +clean: + rm -f *.o +@end group +@end example +@cindex @code{rm} (shell command) + +Wildcards are also useful in the prerequisites of a rule. With the +following rule in the makefile, @samp{make print} will print all the +@samp{.c} files that have changed since the last time you printed them: + +@example +print: *.c + lpr -p $? + touch print +@end example + +@cindex @code{print} target +@cindex @code{lpr} (shell command) +@cindex @code{touch} (shell command) +@noindent +This rule uses @file{print} as an empty target file; see @ref{Empty +Targets, ,Empty Target Files to Record Events}. (The automatic variable +@samp{$?} is used to print only those files that have changed; see +@ref{Automatic Variables}.)@refill + +Wildcard expansion does not happen when you define a variable. Thus, if +you write this: + +@example +objects = *.o +@end example + +@noindent +then the value of the variable @code{objects} is the actual string +@samp{*.o}. However, if you use the value of @code{objects} in a target, +prerequisite or command, wildcard expansion will take place at that time. +To set @code{objects} to the expansion, instead use: + +@example +objects := $(wildcard *.o) +@end example + +@noindent +@xref{Wildcard Function}. + +@node Wildcard Pitfall, Wildcard Function, Wildcard Examples, Wildcards +@subsection Pitfalls of Using Wildcards +@cindex wildcard pitfalls +@cindex pitfalls of wildcards +@cindex mistakes with wildcards +@cindex errors with wildcards +@cindex problems with wildcards + +Now here is an example of a naive way of using wildcard expansion, that +does not do what you would intend. Suppose you would like to say that the +executable file @file{foo} is made from all the object files in the +directory, and you write this: + +@example +objects = *.o + +foo : $(objects) + cc -o foo $(CFLAGS) $(objects) +@end example + +@noindent +The value of @code{objects} is the actual string @samp{*.o}. Wildcard +expansion happens in the rule for @file{foo}, so that each @emph{existing} +@samp{.o} file becomes a prerequisite of @file{foo} and will be recompiled if +necessary. + +But what if you delete all the @samp{.o} files? When a wildcard matches +no files, it is left as it is, so then @file{foo} will depend on the +oddly-named file @file{*.o}. Since no such file is likely to exist, +@code{make} will give you an error saying it cannot figure out how to +make @file{*.o}. This is not what you want! + +Actually it is possible to obtain the desired result with wildcard +expansion, but you need more sophisticated techniques, including the +@code{wildcard} function and string substitution. +@ifinfo +@xref{Wildcard Function, ,The Function @code{wildcard}}. +@end ifinfo +@iftex +These are described in the following section. +@end iftex + +@cindex wildcards and MS-DOS/MS-Windows backslashes +@cindex backslashes in pathnames and wildcard expansion + +Microsoft operating systems (MS-DOS and MS-Windows) use backslashes to +separate directories in pathnames, like so: + +@example + c:\foo\bar\baz.c +@end example + +This is equivalent to the Unix-style @file{c:/foo/bar/baz.c} (the +@file{c:} part is the so-called drive letter). When @code{make} runs on +these systems, it supports backslashes as well as the Unix-style forward +slashes in pathnames. However, this support does @emph{not} include the +wildcard expansion, where backslash is a quote character. Therefore, +you @emph{must} use Unix-style slashes in these cases. + + +@node Wildcard Function, , Wildcard Pitfall, Wildcards +@subsection The Function @code{wildcard} +@findex wildcard + +Wildcard expansion happens automatically in rules. But wildcard expansion +does not normally take place when a variable is set, or inside the +arguments of a function. If you want to do wildcard expansion in such +places, you need to use the @code{wildcard} function, like this: + +@example +$(wildcard @var{pattern}@dots{}) +@end example + +@noindent +This string, used anywhere in a makefile, is replaced by a +space-separated list of names of existing files that match one of the +given file name patterns. If no existing file name matches a pattern, +then that pattern is omitted from the output of the @code{wildcard} +function. Note that this is different from how unmatched wildcards +behave in rules, where they are used verbatim rather than ignored +(@pxref{Wildcard Pitfall}). + +One use of the @code{wildcard} function is to get a list of all the C source +files in a directory, like this: + +@example +$(wildcard *.c) +@end example + +We can change the list of C source files into a list of object files by +replacing the @samp{.c} suffix with @samp{.o} in the result, like this: + +@example +$(patsubst %.c,%.o,$(wildcard *.c)) +@end example + +@noindent +(Here we have used another function, @code{patsubst}. +@xref{Text Functions, ,Functions for String Substitution and Analysis}.)@refill + +Thus, a makefile to compile all C source files in the directory and then +link them together could be written as follows: + +@example +objects := $(patsubst %.c,%.o,$(wildcard *.c)) + +foo : $(objects) + cc -o foo $(objects) +@end example + +@noindent +(This takes advantage of the implicit rule for compiling C programs, so +there is no need to write explicit rules for compiling the files. +@xref{Flavors, ,The Two Flavors of Variables}, for an explanation of +@samp{:=}, which is a variant of @samp{=}.) + +@node Directory Search, Phony Targets, Wildcards, Rules +@section Searching Directories for Prerequisites +@vindex VPATH +@findex vpath +@cindex vpath +@cindex search path for prerequisites (@code{VPATH}) +@cindex directory search (@code{VPATH}) + +For large systems, it is often desirable to put sources in a separate +directory from the binaries. The @dfn{directory search} features of +@code{make} facilitate this by searching several directories +automatically to find a prerequisite. When you redistribute the files +among directories, you do not need to change the individual rules, +just the search paths. + +@menu +* General Search:: Specifying a search path that applies + to every prerequisite. +* Selective Search:: Specifying a search path + for a specified class of names. +* Search Algorithm:: When and how search paths are applied. +* Commands/Search:: How to write shell commands that work together + with search paths. +* Implicit/Search:: How search paths affect implicit rules. +* Libraries/Search:: Directory search for link libraries. +@end menu + +@node General Search, Selective Search, Directory Search, Directory Search +@subsection @code{VPATH}: Search Path for All Prerequisites +@vindex VPATH + +The value of the @code{make} variable @code{VPATH} specifies a list of +directories that @code{make} should search. Most often, the +directories are expected to contain prerequisite files that are not in the +current directory; however, @code{VPATH} specifies a search list that +@code{make} applies for all files, including files which are targets of +rules. + +Thus, if a file that is listed as a target or prerequisite does not exist +in the current directory, @code{make} searches the directories listed in +@code{VPATH} for a file with that name. If a file is found in one of +them, that file may become the prerequisite (see below). Rules may then +specify the names of files in the prerequisite list as if they all +existed in the current directory. @xref{Commands/Search, ,Writing Shell +Commands with Directory Search}. + +In the @code{VPATH} variable, directory names are separated by colons or +blanks. The order in which directories are listed is the order followed +by @code{make} in its search. (On MS-DOS and MS-Windows, semi-colons +are used as separators of directory names in @code{VPATH}, since the +colon can be used in the pathname itself, after the drive letter.) + +For example, + +@example +VPATH = src:../headers +@end example + +@noindent +specifies a path containing two directories, @file{src} and +@file{../headers}, which @code{make} searches in that order. + +With this value of @code{VPATH}, the following rule, + +@example +foo.o : foo.c +@end example + +@noindent +is interpreted as if it were written like this: + +@example +foo.o : src/foo.c +@end example + +@noindent +assuming the file @file{foo.c} does not exist in the current directory but +is found in the directory @file{src}. + +@node Selective Search, Search Algorithm, General Search, Directory Search +@subsection The @code{vpath} Directive +@findex vpath + +Similar to the @code{VPATH} variable, but more selective, is the +@code{vpath} directive (note lower case), which allows you to specify a +search path for a particular class of file names: those that match a +particular pattern. Thus you can supply certain search directories for +one class of file names and other directories (or none) for other file +names. + +There are three forms of the @code{vpath} directive: + +@table @code +@item vpath @var{pattern} @var{directories} +Specify the search path @var{directories} for file names that match +@var{pattern}. + +The search path, @var{directories}, is a list of directories to be +searched, separated by colons (semi-colons on MS-DOS and MS-Windows) or +blanks, just like the search path used in the @code{VPATH} variable. + +@item vpath @var{pattern} +Clear out the search path associated with @var{pattern}. + +@c Extra blank line makes sure this gets two lines. +@item vpath + +Clear all search paths previously specified with @code{vpath} directives. +@end table + +A @code{vpath} pattern is a string containing a @samp{%} character. The +string must match the file name of a prerequisite that is being searched +for, the @samp{%} character matching any sequence of zero or more +characters (as in pattern rules; @pxref{Pattern Rules, ,Defining and +Redefining Pattern Rules}). For example, @code{%.h} matches files that +end in @code{.h}. (If there is no @samp{%}, the pattern must match the +prerequisite exactly, which is not useful very often.) + +@cindex @code{%}, quoting in @code{vpath} +@cindex @code{%}, quoting with @code{\} (backslash) +@cindex @code{\} (backslash), to quote @code{%} +@cindex backslash (@code{\}), to quote @code{%} +@cindex quoting @code{%}, in @code{vpath} +@samp{%} characters in a @code{vpath} directive's pattern can be quoted +with preceding backslashes (@samp{\}). Backslashes that would otherwise +quote @samp{%} characters can be quoted with more backslashes. +Backslashes that quote @samp{%} characters or other backslashes are +removed from the pattern before it is compared to file names. Backslashes +that are not in danger of quoting @samp{%} characters go unmolested.@refill + +When a prerequisite fails to exist in the current directory, if the +@var{pattern} in a @code{vpath} directive matches the name of the +prerequisite file, then the @var{directories} in that directive are searched +just like (and before) the directories in the @code{VPATH} variable. + +For example, + +@example +vpath %.h ../headers +@end example + +@noindent +tells @code{make} to look for any prerequisite whose name ends in @file{.h} +in the directory @file{../headers} if the file is not found in the current +directory. + +If several @code{vpath} patterns match the prerequisite file's name, then +@code{make} processes each matching @code{vpath} directive one by one, +searching all the directories mentioned in each directive. @code{make} +handles multiple @code{vpath} directives in the order in which they +appear in the makefile; multiple directives with the same pattern are +independent of each other. + +@need 750 +Thus, + +@example +@group +vpath %.c foo +vpath % blish +vpath %.c bar +@end group +@end example + +@noindent +will look for a file ending in @samp{.c} in @file{foo}, then +@file{blish}, then @file{bar}, while + +@example +@group +vpath %.c foo:bar +vpath % blish +@end group +@end example + +@noindent +will look for a file ending in @samp{.c} in @file{foo}, then +@file{bar}, then @file{blish}. + +@node Search Algorithm, Commands/Search, Selective Search, Directory Search +@subsection How Directory Searches are Performed +@cindex algorithm for directory search +@cindex directory search algorithm + +When a prerequisite is found through directory search, regardless of type +(general or selective), the pathname located may not be the one that +@code{make} actually provides you in the prerequisite list. Sometimes +the path discovered through directory search is thrown away. + +The algorithm @code{make} uses to decide whether to keep or abandon a +path found via directory search is as follows: + +@enumerate +@item +If a target file does not exist at the path specified in the makefile, +directory search is performed. + +@item +If the directory search is successful, that path is kept and this file +is tentatively stored as the target. + +@item +All prerequisites of this target are examined using this same method. + +@item +After processing the prerequisites, the target may or may not need to be +rebuilt: + +@enumerate a +@item +If the target does @emph{not} need to be rebuilt, the path to the file +found during directory search is used for any prerequisite lists which +contain this target. In short, if @code{make} doesn't need to rebuild +the target then you use the path found via directory search. + +@item +If the target @emph{does} need to be rebuilt (is out-of-date), the +pathname found during directory search is @emph{thrown away}, and the +target is rebuilt using the file name specified in the makefile. In +short, if @code{make} must rebuild, then the target is rebuilt locally, +not in the directory found via directory search. +@end enumerate +@end enumerate + +This algorithm may seem complex, but in practice it is quite often +exactly what you want. + +@cindex traditional directory search (GPATH) +@cindex directory search, traditional (GPATH) +Other versions of @code{make} use a simpler algorithm: if the file does +not exist, and it is found via directory search, then that pathname is +always used whether or not the target needs to be built. Thus, if the +target is rebuilt it is created at the pathname discovered during +directory search. + +@vindex GPATH +If, in fact, this is the behavior you want for some or all of your +directories, you can use the @code{GPATH} variable to indicate this to +@code{make}. + +@code{GPATH} has the same syntax and format as @code{VPATH} (that is, a +space- or colon-delimited list of pathnames). If an out-of-date target +is found by directory search in a directory that also appears in +@code{GPATH}, then that pathname is not thrown away. The target is +rebuilt using the expanded path. + +@node Commands/Search, Implicit/Search, Search Algorithm, Directory Search +@subsection Writing Shell Commands with Directory Search +@cindex shell command, and directory search +@cindex directory search (@code{VPATH}), and shell commands + +When a prerequisite is found in another directory through directory search, +this cannot change the commands of the rule; they will execute as written. +Therefore, you must write the commands with care so that they will look for +the prerequisite in the directory where @code{make} finds it. + +This is done with the @dfn{automatic variables} such as @samp{$^} +(@pxref{Automatic Variables}). +For instance, the value of @samp{$^} is a +list of all the prerequisites of the rule, including the names of +the directories in which they were found, and the value of +@samp{$@@} is the target. Thus:@refill + +@example +foo.o : foo.c + cc -c $(CFLAGS) $^ -o $@@ +@end example + +@noindent +(The variable @code{CFLAGS} exists so you can specify flags for C +compilation by implicit rules; we use it here for consistency so it will +affect all C compilations uniformly; +@pxref{Implicit Variables, ,Variables Used by Implicit Rules}.) + +Often the prerequisites include header files as well, which you do not +want to mention in the commands. The automatic variable @samp{$<} is +just the first prerequisite: + +@example +VPATH = src:../headers +foo.o : foo.c defs.h hack.h + cc -c $(CFLAGS) $< -o $@@ +@end example + +@node Implicit/Search, Libraries/Search, Commands/Search, Directory Search +@subsection Directory Search and Implicit Rules +@cindex @code{VPATH}, and implicit rules +@cindex directory search (@code{VPATH}), and implicit rules +@cindex search path for prerequisites (@code{VPATH}), and implicit rules +@cindex implicit rule, and directory search +@cindex implicit rule, and @code{VPATH} +@cindex rule, implicit, and directory search +@cindex rule, implicit, and @code{VPATH} + +The search through the directories specified in @code{VPATH} or with +@code{vpath} also happens during consideration of implicit rules +(@pxref{Implicit Rules, ,Using Implicit Rules}). + +For example, when a file @file{foo.o} has no explicit rule, @code{make} +considers implicit rules, such as the built-in rule to compile +@file{foo.c} if that file exists. If such a file is lacking in the +current directory, the appropriate directories are searched for it. If +@file{foo.c} exists (or is mentioned in the makefile) in any of the +directories, the implicit rule for C compilation is applied. + +The commands of implicit rules normally use automatic variables as a +matter of necessity; consequently they will use the file names found by +directory search with no extra effort. + +@node Libraries/Search, , Implicit/Search, Directory Search +@subsection Directory Search for Link Libraries +@cindex link libraries, and directory search +@cindex libraries for linking, directory search +@cindex directory search (@code{VPATH}), and link libraries +@cindex @code{VPATH}, and link libraries +@cindex search path for prerequisites (@code{VPATH}), and link libraries +@cindex @code{-l} (library search) +@cindex link libraries, patterns matching +@cindex @code{.LIBPATTERNS}, and link libraries +@vindex .LIBPATTERNS + +Directory search applies in a special way to libraries used with the +linker. This special feature comes into play when you write a prerequisite +whose name is of the form @samp{-l@var{name}}. (You can tell something +strange is going on here because the prerequisite is normally the name of a +file, and the @emph{file name} of a library generally looks like +@file{lib@var{name}.a}, not like @samp{-l@var{name}}.)@refill + +When a prerequisite's name has the form @samp{-l@var{name}}, @code{make} +handles it specially by searching for the file @file{lib@var{name}.so} in +the current directory, in directories specified by matching @code{vpath} +search paths and the @code{VPATH} search path, and then in the +directories @file{/lib}, @file{/usr/lib}, and @file{@var{prefix}/lib} +(normally @file{/usr/local/lib}, but MS-DOS/MS-Windows versions of +@code{make} behave as if @var{prefix} is defined to be the root of the +DJGPP installation tree). + +If that file is not found, then the file @file{lib@var{name}.a} is +searched for, in the same directories as above. + +For example, if there is a @file{/usr/lib/libcurses.a} library on your +system (and no @file{/usr/lib/libcurses.so} file), then + +@example +@group +foo : foo.c -lcurses + cc $^ -o $@@ +@end group +@end example + +@noindent +would cause the command @samp{cc foo.c /usr/lib/libcurses.a -o foo} to +be executed when @file{foo} is older than @file{foo.c} or than +@file{/usr/lib/libcurses.a}.@refill + +Although the default set of files to be searched for is +@file{lib@var{name}.so} and @file{lib@var{name}.a}, this is customizable +via the @code{.LIBPATTERNS} variable. Each word in the value of this +variable is a pattern string. When a prerequisite like +@samp{-l@var{name}} is seen, @code{make} will replace the percent in +each pattern in the list with @var{name} and perform the above directory +searches using that library filename. If no library is found, the next +word in the list will be used. + +The default value for @code{.LIBPATTERNS} is ``@samp{lib%.so lib%.a}'', +which provides the default behavior described above. + +You can turn off link library expansion completely by setting this +variable to an empty value. + +@node Phony Targets, Force Targets, Directory Search, Rules +@section Phony Targets +@cindex phony targets +@cindex targets, phony +@cindex targets without a file + +A phony target is one that is not really the name of a file. It is just a +name for some commands to be executed when you make an explicit request. +There are two reasons to use a phony target: to avoid a conflict with +a file of the same name, and to improve performance. + +If you write a rule whose commands will not create the target file, the +commands will be executed every time the target comes up for remaking. +Here is an example: + +@example +@group +clean: + rm *.o temp +@end group +@end example + +@noindent +Because the @code{rm} command does not create a file named @file{clean}, +probably no such file will ever exist. Therefore, the @code{rm} command +will be executed every time you say @samp{make clean}. +@cindex @code{rm} (shell command) + +@findex .PHONY +The phony target will cease to work if anything ever does create a file +named @file{clean} in this directory. Since it has no prerequisites, the +file @file{clean} would inevitably be considered up to date, and its +commands would not be executed. To avoid this problem, you can explicitly +declare the target to be phony, using the special target @code{.PHONY} +(@pxref{Special Targets, ,Special Built-in Target Names}) as follows: + +@example +.PHONY : clean +@end example + +@noindent +Once this is done, @samp{make clean} will run the commands regardless of +whether there is a file named @file{clean}. + +Since it knows that phony targets do not name actual files that could be +remade from other files, @code{make} skips the implicit rule search for +phony targets (@pxref{Implicit Rules}). This is why declaring a target +phony is good for performance, even if you are not worried about the +actual file existing. + +Thus, you first write the line that states that @code{clean} is a +phony target, then you write the rule, like this: + +@example +@group +.PHONY: clean +clean: + rm *.o temp +@end group +@end example + +Another example of the usefulness of phony targets is in conjunction +with recursive invocations of @code{make} (for more information, see +@ref{Recursion, ,Recursive Use of @code{make}}). In this case the +makefile will often contain a variable which lists a number of +subdirectories to be built. One way to handle this is with one rule +whose command is a shell loop over the subdirectories, like this: + +@example +@group +SUBDIRS = foo bar baz + +subdirs: + for dir in $(SUBDIRS); do \ + $(MAKE) -C $$dir; \ + done +@end group +@end example + +There are a few problems with this method, however. First, any error +detected in a submake is not noted by this rule, so it will continue to +build the rest of the directories even when one fails. This can be +overcome by adding shell commands to note the error and exit, but then +it will do so even if @code{make} is invoked with the @code{-k} option, +which is unfortunate. Second, and perhaps more importantly, you cannot +take advantage of the parallel build capabilities of make using this +method, since there is only one rule. + +By declaring the subdirectories as phony targets (you must do this as +the subdirectory obviously always exists; otherwise it won't be built) +you can remove these problems: + +@example +@group +SUBDIRS = foo bar baz + +.PHONY: subdirs $(SUBDIRS) + +subdirs: $(SUBDIRS) + +$(SUBDIRS): + $(MAKE) -C $@@ + +foo: baz +@end group +@end example + +Here we've also declared that the @file{foo} subdirectory cannot be +built until after the @file{baz} subdirectory is complete; this kind of +relationship declaration is particularly important when attempting +parallel builds. + +A phony target should not be a prerequisite of a real target file; if it +is, its commands are run every time @code{make} goes to update that +file. As long as a phony target is never a prerequisite of a real +target, the phony target commands will be executed only when the phony +target is a specified goal (@pxref{Goals, ,Arguments to Specify the +Goals}). + +Phony targets can have prerequisites. When one directory contains multiple +programs, it is most convenient to describe all of the programs in one +makefile @file{./Makefile}. Since the target remade by default will be the +first one in the makefile, it is common to make this a phony target named +@samp{all} and give it, as prerequisites, all the individual programs. For +example: + +@example +all : prog1 prog2 prog3 +.PHONY : all + +prog1 : prog1.o utils.o + cc -o prog1 prog1.o utils.o + +prog2 : prog2.o + cc -o prog2 prog2.o + +prog3 : prog3.o sort.o utils.o + cc -o prog3 prog3.o sort.o utils.o +@end example + +@noindent +Now you can say just @samp{make} to remake all three programs, or specify +as arguments the ones to remake (as in @samp{make prog1 prog3}). + +When one phony target is a prerequisite of another, it serves as a subroutine +of the other. For example, here @samp{make cleanall} will delete the +object files, the difference files, and the file @file{program}: + +@example +.PHONY: cleanall cleanobj cleandiff + +cleanall : cleanobj cleandiff + rm program + +cleanobj : + rm *.o + +cleandiff : + rm *.diff +@end example + +@node Force Targets, Empty Targets, Phony Targets, Rules +@section Rules without Commands or Prerequisites +@cindex force targets +@cindex targets, force +@cindex @code{FORCE} +@cindex rule, no commands or prerequisites + +If a rule has no prerequisites or commands, and the target of the rule +is a nonexistent file, then @code{make} imagines this target to have +been updated whenever its rule is run. This implies that all targets +depending on this one will always have their commands run. + +An example will illustrate this: + +@example +@group +clean: FORCE + rm $(objects) +FORCE: +@end group +@end example + +Here the target @samp{FORCE} satisfies the special conditions, so the +target @file{clean} that depends on it is forced to run its commands. +There is nothing special about the name @samp{FORCE}, but that is one name +commonly used this way. + +As you can see, using @samp{FORCE} this way has the same results as using +@samp{.PHONY: clean}. + +Using @samp{.PHONY} is more explicit and more efficient. However, +other versions of @code{make} do not support @samp{.PHONY}; thus +@samp{FORCE} appears in many makefiles. @xref{Phony Targets}. + +@node Empty Targets, Special Targets, Force Targets, Rules +@section Empty Target Files to Record Events +@cindex empty targets +@cindex targets, empty +@cindex recording events with empty targets + +The @dfn{empty target} is a variant of the phony target; it is used to hold +commands for an action that you request explicitly from time to time. +Unlike a phony target, this target file can really exist; but the file's +contents do not matter, and usually are empty. + +The purpose of the empty target file is to record, with its +last-modification time, when the rule's commands were last executed. It +does so because one of the commands is a @code{touch} command to update the +target file. + +The empty target file should have some prerequisites (otherwise it +doesn't make sense). When you ask to remake the empty target, the +commands are executed if any prerequisite is more recent than the target; +in other words, if a prerequisite has changed since the last time you +remade the target. Here is an example: + +@example +print: foo.c bar.c + lpr -p $? + touch print +@end example +@cindex @code{print} target +@cindex @code{lpr} (shell command) +@cindex @code{touch} (shell command) + +@noindent +With this rule, @samp{make print} will execute the @code{lpr} command if +either source file has changed since the last @samp{make print}. The +automatic variable @samp{$?} is used to print only those files that have +changed (@pxref{Automatic Variables}). + +@node Special Targets, Multiple Targets, Empty Targets, Rules +@section Special Built-in Target Names +@cindex special targets +@cindex built-in special targets +@cindex targets, built-in special + +Certain names have special meanings if they appear as targets. + +@table @code +@findex .PHONY +@item .PHONY + +The prerequisites of the special target @code{.PHONY} are considered to +be phony targets. When it is time to consider such a target, +@code{make} will run its commands unconditionally, regardless of +whether a file with that name exists or what its last-modification +time is. @xref{Phony Targets, ,Phony Targets}. + +@findex .SUFFIXES +@item .SUFFIXES + +The prerequisites of the special target @code{.SUFFIXES} are the list +of suffixes to be used in checking for suffix rules. +@xref{Suffix Rules, , Old-Fashioned Suffix Rules}. + +@findex .DEFAULT +@item .DEFAULT + +The commands specified for @code{.DEFAULT} are used for any target for +which no rules are found (either explicit rules or implicit rules). +@xref{Last Resort}. If @code{.DEFAULT} commands are specified, every +file mentioned as a prerequisite, but not as a target in a rule, will have +these commands executed on its behalf. @xref{Implicit Rule Search, +,Implicit Rule Search Algorithm}. + +@findex .PRECIOUS +@item .PRECIOUS +@cindex precious targets +@cindex preserving with @code{.PRECIOUS} + +The targets which @code{.PRECIOUS} depends on are given the following +special treatment: if @code{make} is killed or interrupted during the +execution of their commands, the target is not deleted. +@xref{Interrupts, ,Interrupting or Killing @code{make}}. Also, if the +target is an intermediate file, it will not be deleted after it is no +longer needed, as is normally done. @xref{Chained Rules, ,Chains of +Implicit Rules}. In this latter respect it overlaps with the +@code{.SECONDARY} special target. + +You can also list the target pattern of an implicit rule (such as +@samp{%.o}) as a prerequisite file of the special target @code{.PRECIOUS} +to preserve intermediate files created by rules whose target patterns +match that file's name. + +@findex .INTERMEDIATE +@item .INTERMEDIATE +@cindex intermediate targets, explicit + +The targets which @code{.INTERMEDIATE} depends on are treated as +intermediate files. @xref{Chained Rules, ,Chains of Implicit Rules}. +@code{.INTERMEDIATE} with no prerequisites has no effect. + +@findex .SECONDARY +@item .SECONDARY +@cindex secondary targets +@cindex preserving with @code{.SECONDARY} + +The targets which @code{.SECONDARY} depends on are treated as +intermediate files, except that they are never automatically deleted. +@xref{Chained Rules, ,Chains of Implicit Rules}. + +@code{.SECONDARY} with no prerequisites causes all targets to be treated +as secondary (i.e., no target is removed because it is considered +intermediate). + +@findex .DELETE_ON_ERROR +@item .DELETE_ON_ERROR +@cindex removing targets on failure + +If @code{.DELETE_ON_ERROR} is mentioned as a target anywhere in the +makefile, then @code{make} will delete the target of a rule if it has +changed and its commands exit with a nonzero exit status, just as it +does when it receives a signal. @xref{Errors, ,Errors in Commands}. + +@findex .IGNORE +@item .IGNORE + +If you specify prerequisites for @code{.IGNORE}, then @code{make} will +ignore errors in execution of the commands run for those particular +files. The commands for @code{.IGNORE} are not meaningful. + +If mentioned as a target with no prerequisites, @code{.IGNORE} says to +ignore errors in execution of commands for all files. This usage of +@samp{.IGNORE} is supported only for historical compatibility. Since +this affects every command in the makefile, it is not very useful; we +recommend you use the more selective ways to ignore errors in specific +commands. @xref{Errors, ,Errors in Commands}. + +@findex .LOW_RESOLUTION_TIME +@item .LOW_RESOLUTION_TIME + +If you specify prerequisites for @code{.LOW_RESOLUTION_TIME}, +@command{make} assumes that these files are created by commands that +generate low resolution time stamps. The commands for +@code{.LOW_RESOLUTION_TIME} are not meaningful. + +The high resolution file time stamps of many modern hosts lessen the +chance of @command{make} incorrectly concluding that a file is up to +date. Unfortunately, these hosts provide no way to set a high +resolution file time stamp, so commands like @samp{cp -p} that +explicitly set a file's time stamp must discard its subsecond part. If +a file is created by such a command, you should list it as a +prerequisite of @code{.LOW_RESOLUTION_TIME} so that @command{make} does +not mistakenly conclude that the file is out of date. For example: + +@example +@group +.LOW_RESOLUTION_TIME: dst +dst: src + cp -p src dst +@end group +@end example + +Since @samp{cp -p} discards the subsecond part of @file{src}'s time +stamp, @file{dst} is typically slightly older than @file{src} even when +it is up to date. The @code{.LOW_RESOLUTION_TIME} line causes +@command{make} to consider @file{dst} to be up to date if its time stamp +is at the start of the same second that @file{src}'s time stamp is in. + +Due to a limitation of the archive format, archive member time stamps +are always low resolution. You need not list archive members as +prerequisites of @code{.LOW_RESOLUTION_TIME}, as @command{make} does this +automatically. + +@findex .SILENT +@item .SILENT + +If you specify prerequisites for @code{.SILENT}, then @code{make} will +not print the commands to remake those particular files before executing +them. The commands for @code{.SILENT} are not meaningful. + +If mentioned as a target with no prerequisites, @code{.SILENT} says not +to print any commands before executing them. This usage of +@samp{.SILENT} is supported only for historical compatibility. We +recommend you use the more selective ways to silence specific commands. +@xref{Echoing, ,Command Echoing}. If you want to silence all commands +for a particular run of @code{make}, use the @samp{-s} or +@w{@samp{--silent}} option (@pxref{Options Summary}). + +@findex .EXPORT_ALL_VARIABLES +@item .EXPORT_ALL_VARIABLES + +Simply by being mentioned as a target, this tells @code{make} to +export all variables to child processes by default. +@xref{Variables/Recursion, ,Communicating Variables to a +Sub-@code{make}}. + +@findex .NOTPARALLEL +@item .NOTPARALLEL +@cindex parallel execution, overriding + +If @code{.NOTPARALLEL} is mentioned as a target, then this invocation of +@code{make} will be run serially, even if the @samp{-j} option is +given. Any recursively invoked @code{make} command will still be run in +parallel (unless its makefile contains this target). Any prerequisites +on this target are ignored. +@end table + +Any defined implicit rule suffix also counts as a special target if it +appears as a target, and so does the concatenation of two suffixes, such +as @samp{.c.o}. These targets are suffix rules, an obsolete way of +defining implicit rules (but a way still widely used). In principle, any +target name could be special in this way if you break it in two and add +both pieces to the suffix list. In practice, suffixes normally begin with +@samp{.}, so these special target names also begin with @samp{.}. +@xref{Suffix Rules, ,Old-Fashioned Suffix Rules}. + +@node Multiple Targets, Multiple Rules, Special Targets, Rules +@section Multiple Targets in a Rule +@cindex multiple targets +@cindex several targets in a rule +@cindex targets, multiple +@cindex rule, with multiple targets + +A rule with multiple targets is equivalent to writing many rules, each with +one target, and all identical aside from that. The same commands apply to +all the targets, but their effects may vary because you can substitute the +actual target name into the command using @samp{$@@}. The rule contributes +the same prerequisites to all the targets also. + +This is useful in two cases. + +@itemize @bullet +@item +You want just prerequisites, no commands. For example: + +@example +kbd.o command.o files.o: command.h +@end example + +@noindent +gives an additional prerequisite to each of the three object files +mentioned. + +@item +Similar commands work for all the targets. The commands do not need +to be absolutely identical, since the automatic variable @samp{$@@} +can be used to substitute the particular target to be remade into the +commands (@pxref{Automatic Variables}). For example: + +@example +@group +bigoutput littleoutput : text.g + generate text.g -$(subst output,,$@@) > $@@ +@end group +@end example +@findex subst + +@noindent +is equivalent to + +@example +bigoutput : text.g + generate text.g -big > bigoutput +littleoutput : text.g + generate text.g -little > littleoutput +@end example + +@noindent +Here we assume the hypothetical program @code{generate} makes two +types of output, one if given @samp{-big} and one if given +@samp{-little}. +@xref{Text Functions, ,Functions for String Substitution and Analysis}, +for an explanation of the @code{subst} function. +@end itemize + +Suppose you would like to vary the prerequisites according to the target, +much as the variable @samp{$@@} allows you to vary the commands. +You cannot do this with multiple targets in an ordinary rule, but you can +do it with a @dfn{static pattern rule}. +@xref{Static Pattern, ,Static Pattern Rules}. + +@node Multiple Rules, Static Pattern, Multiple Targets, Rules +@section Multiple Rules for One Target +@cindex multiple rules for one target +@cindex several rules for one target +@cindex rule, multiple for one target +@cindex target, multiple rules for one + +One file can be the target of several rules. All the prerequisites +mentioned in all the rules are merged into one list of prerequisites for +the target. If the target is older than any prerequisite from any rule, +the commands are executed. + +There can only be one set of commands to be executed for a file. If +more than one rule gives commands for the same file, @code{make} uses +the last set given and prints an error message. (As a special case, +if the file's name begins with a dot, no error message is printed. +This odd behavior is only for compatibility with other implementations +of @code{make}... you should avoid using it). Occasionally it is +useful to have the same target invoke multiple commands which are +defined in different parts of your makefile; you can use +@dfn{double-colon rules} (@pxref{Double-Colon}) for this. + +An extra rule with just prerequisites can be used to give a few extra +prerequisites to many files at once. For example, makefiles often +have a variable, such as @code{objects}, containing a list of all the +compiler output files in the system being made. An easy way to say +that all of them must be recompiled if @file{config.h} changes is to +write the following: + +@example +objects = foo.o bar.o +foo.o : defs.h +bar.o : defs.h test.h +$(objects) : config.h +@end example + +This could be inserted or taken out without changing the rules that really +specify how to make the object files, making it a convenient form to use if +you wish to add the additional prerequisite intermittently. + +Another wrinkle is that the additional prerequisites could be specified with +a variable that you set with a command argument to @code{make} +(@pxref{Overriding, ,Overriding Variables}). For example, + +@example +@group +extradeps= +$(objects) : $(extradeps) +@end group +@end example + +@noindent +means that the command @samp{make extradeps=foo.h} will consider +@file{foo.h} as a prerequisite of each object file, but plain @samp{make} +will not. + +If none of the explicit rules for a target has commands, then @code{make} +searches for an applicable implicit rule to find some commands +@pxref{Implicit Rules, ,Using Implicit Rules}). + +@node Static Pattern, Double-Colon, Multiple Rules, Rules +@section Static Pattern Rules +@cindex static pattern rule +@cindex rule, static pattern +@cindex pattern rules, static (not implicit) +@cindex varying prerequisites +@cindex prerequisites, varying (static pattern) + +@dfn{Static pattern rules} are rules which specify multiple targets and +construct the prerequisite names for each target based on the target name. +They are more general than ordinary rules with multiple targets because the +targets do not have to have identical prerequisites. Their prerequisites must +be @emph{analogous}, but not necessarily @emph{identical}. + +@menu +* Static Usage:: The syntax of static pattern rules. +* Static versus Implicit:: When are they better than implicit rules? +@end menu + +@node Static Usage, Static versus Implicit, Static Pattern, Static Pattern +@subsection Syntax of Static Pattern Rules +@cindex static pattern rule, syntax of +@cindex pattern rules, static, syntax of + +Here is the syntax of a static pattern rule: + +@example +@var{targets} @dots{}: @var{target-pattern}: @var{prereq-patterns} @dots{} + @var{commands} + @dots{} +@end example + +@noindent +The @var{targets} list specifies the targets that the rule applies to. +The targets can contain wildcard characters, just like the targets of +ordinary rules (@pxref{Wildcards, ,Using Wildcard Characters in File +Names}). + +@cindex target pattern, static (not implicit) +@cindex stem +The @var{target-pattern} and @var{prereq-patterns} say how to compute the +prerequisites of each target. Each target is matched against the +@var{target-pattern} to extract a part of the target name, called the +@dfn{stem}. This stem is substituted into each of the @var{prereq-patterns} +to make the prerequisite names (one from each @var{prereq-pattern}). + +Each pattern normally contains the character @samp{%} just once. When the +@var{target-pattern} matches a target, the @samp{%} can match any part of +the target name; this part is called the @dfn{stem}. The rest of the +pattern must match exactly. For example, the target @file{foo.o} matches +the pattern @samp{%.o}, with @samp{foo} as the stem. The targets +@file{foo.c} and @file{foo.out} do not match that pattern.@refill + +@cindex prerequisite pattern, static (not implicit) +The prerequisite names for each target are made by substituting the stem +for the @samp{%} in each prerequisite pattern. For example, if one +prerequisite pattern is @file{%.c}, then substitution of the stem +@samp{foo} gives the prerequisite name @file{foo.c}. It is legitimate +to write a prerequisite pattern that does not contain @samp{%}; then this +prerequisite is the same for all targets. + +@cindex @code{%}, quoting in static pattern +@cindex @code{%}, quoting with @code{\} (backslash) +@cindex @code{\} (backslash), to quote @code{%} +@cindex backslash (@code{\}), to quote @code{%} +@cindex quoting @code{%}, in static pattern +@samp{%} characters in pattern rules can be quoted with preceding +backslashes (@samp{\}). Backslashes that would otherwise quote @samp{%} +characters can be quoted with more backslashes. Backslashes that quote +@samp{%} characters or other backslashes are removed from the pattern +before it is compared to file names or has a stem substituted into it. +Backslashes that are not in danger of quoting @samp{%} characters go +unmolested. For example, the pattern @file{the\%weird\\%pattern\\} has +@samp{the%weird\} preceding the operative @samp{%} character, and +@samp{pattern\\} following it. The final two backslashes are left alone +because they cannot affect any @samp{%} character.@refill + +Here is an example, which compiles each of @file{foo.o} and @file{bar.o} +from the corresponding @file{.c} file: + +@example +@group +objects = foo.o bar.o + +all: $(objects) + +$(objects): %.o: %.c + $(CC) -c $(CFLAGS) $< -o $@@ +@end group +@end example + +@noindent +Here @samp{$<} is the automatic variable that holds the name of the +prerequisite and @samp{$@@} is the automatic variable that holds the name +of the target; see @ref{Automatic Variables}. + +Each target specified must match the target pattern; a warning is issued +for each target that does not. If you have a list of files, only some of +which will match the pattern, you can use the @code{filter} function to +remove nonmatching file names (@pxref{Text Functions, ,Functions for String Substitution and Analysis}): + +@example +files = foo.elc bar.o lose.o + +$(filter %.o,$(files)): %.o: %.c + $(CC) -c $(CFLAGS) $< -o $@@ +$(filter %.elc,$(files)): %.elc: %.el + emacs -f batch-byte-compile $< +@end example + +@noindent +In this example the result of @samp{$(filter %.o,$(files))} is +@file{bar.o lose.o}, and the first static pattern rule causes each of +these object files to be updated by compiling the corresponding C source +file. The result of @w{@samp{$(filter %.elc,$(files))}} is +@file{foo.elc}, so that file is made from @file{foo.el}.@refill + +Another example shows how to use @code{$*} in static pattern rules: +@vindex $*@r{, and static pattern} + +@example +@group +bigoutput littleoutput : %output : text.g + generate text.g -$* > $@@ +@end group +@end example + +@noindent +When the @code{generate} command is run, @code{$*} will expand to the +stem, either @samp{big} or @samp{little}. + +@node Static versus Implicit, , Static Usage, Static Pattern +@subsection Static Pattern Rules versus Implicit Rules +@cindex rule, static pattern versus implicit +@cindex static pattern rule, versus implicit + +A static pattern rule has much in common with an implicit rule defined as a +pattern rule (@pxref{Pattern Rules, ,Defining and Redefining Pattern Rules}). +Both have a pattern for the target and patterns for constructing the +names of prerequisites. The difference is in how @code{make} decides +@emph{when} the rule applies. + +An implicit rule @emph{can} apply to any target that matches its pattern, +but it @emph{does} apply only when the target has no commands otherwise +specified, and only when the prerequisites can be found. If more than one +implicit rule appears applicable, only one applies; the choice depends on +the order of rules. + +By contrast, a static pattern rule applies to the precise list of targets +that you specify in the rule. It cannot apply to any other target and it +invariably does apply to each of the targets specified. If two conflicting +rules apply, and both have commands, that's an error. + +The static pattern rule can be better than an implicit rule for these +reasons: + +@itemize @bullet +@item +You may wish to override the usual implicit rule for a few +files whose names cannot be categorized syntactically but +can be given in an explicit list. + +@item +If you cannot be sure of the precise contents of the directories +you are using, you may not be sure which other irrelevant files +might lead @code{make} to use the wrong implicit rule. The choice +might depend on the order in which the implicit rule search is done. +With static pattern rules, there is no uncertainty: each rule applies +to precisely the targets specified. +@end itemize + +@node Double-Colon, Automatic Prerequisites, Static Pattern, Rules +@section Double-Colon Rules +@cindex double-colon rules +@cindex rule, double-colon (@code{::}) +@cindex multiple rules for one target (@code{::}) +@cindex @code{::} rules (double-colon) + +@dfn{Double-colon} rules are rules written with @samp{::} instead of +@samp{:} after the target names. They are handled differently from +ordinary rules when the same target appears in more than one rule. + +When a target appears in multiple rules, all the rules must be the same +type: all ordinary, or all double-colon. If they are double-colon, each +of them is independent of the others. Each double-colon rule's commands +are executed if the target is older than any prerequisites of that rule. +If there are no prerequisites for that rule, its commands are always +executed (even if the target already exists). This can result in +executing none, any, or all of the double-colon rules. + +Double-colon rules with the same target are in fact completely separate +from one another. Each double-colon rule is processed individually, just +as rules with different targets are processed. + +The double-colon rules for a target are executed in the order they appear +in the makefile. However, the cases where double-colon rules really make +sense are those where the order of executing the commands would not matter. + +Double-colon rules are somewhat obscure and not often very useful; they +provide a mechanism for cases in which the method used to update a target +differs depending on which prerequisite files caused the update, and such +cases are rare. + +Each double-colon rule should specify commands; if it does not, an +implicit rule will be used if one applies. +@xref{Implicit Rules, ,Using Implicit Rules}. + +@node Automatic Prerequisites, , Double-Colon, Rules +@section Generating Prerequisites Automatically +@cindex prerequisites, automatic generation +@cindex automatic generation of prerequisites +@cindex generating prerequisites automatically + +In the makefile for a program, many of the rules you need to write often +say only that some object file depends on some header +file. For example, if @file{main.c} uses @file{defs.h} via an +@code{#include}, you would write: + +@example +main.o: defs.h +@end example + +@noindent +You need this rule so that @code{make} knows that it must remake +@file{main.o} whenever @file{defs.h} changes. You can see that for a +large program you would have to write dozens of such rules in your +makefile. And, you must always be very careful to update the makefile +every time you add or remove an @code{#include}. +@cindex @code{#include} + +@cindex @code{-M} (to compiler) +To avoid this hassle, most modern C compilers can write these rules for +you, by looking at the @code{#include} lines in the source files. +Usually this is done with the @samp{-M} option to the compiler. +For example, the command: + +@example +cc -M main.c +@end example + +@noindent +generates the output: + +@example +main.o : main.c defs.h +@end example + +@noindent +Thus you no longer have to write all those rules yourself. +The compiler will do it for you. + +Note that such a prerequisite constitutes mentioning @file{main.o} in a +makefile, so it can never be considered an intermediate file by implicit +rule search. This means that @code{make} won't ever remove the file +after using it; @pxref{Chained Rules, ,Chains of Implicit Rules}. + +@cindex @code{make depend} +With old @code{make} programs, it was traditional practice to use this +compiler feature to generate prerequisites on demand with a command like +@samp{make depend}. That command would create a file @file{depend} +containing all the automatically-generated prerequisites; then the +makefile could use @code{include} to read them in (@pxref{Include}). + +In GNU @code{make}, the feature of remaking makefiles makes this +practice obsolete---you need never tell @code{make} explicitly to +regenerate the prerequisites, because it always regenerates any makefile +that is out of date. @xref{Remaking Makefiles}. + +The practice we recommend for automatic prerequisite generation is to have +one makefile corresponding to each source file. For each source file +@file{@var{name}.c} there is a makefile @file{@var{name}.d} which lists +what files the object file @file{@var{name}.o} depends on. That way +only the source files that have changed need to be rescanned to produce +the new prerequisites. + +Here is the pattern rule to generate a file of prerequisites (i.e., a makefile) +called @file{@var{name}.d} from a C source file called @file{@var{name}.c}: + +@smallexample +@group +%.d: %.c + @set -e; rm -f $@@; \ + $(CC) -M $(CPPFLAGS) $< > $@@.$$$$; \ + sed 's,\($*\)\.o[ :]*,\1.o $@@ : ,g' < $@@.$$$$ > $@@; \ + rm -f $@@.$$$$ +@end group +@end smallexample + +@noindent +@xref{Pattern Rules}, for information on defining pattern rules. The +@samp{-e} flag to the shell causes it to exit immediately if the +@code{$(CC)} command (or any other command) fails (exits with a +nonzero status). +@cindex @code{-e} (shell flag) + +@cindex @code{-MM} (to GNU compiler) +With the GNU C compiler, you may wish to use the @samp{-MM} flag instead +of @samp{-M}. This omits prerequisites on system header files. +@xref{Preprocessor Options, , Options Controlling the Preprocessor, +gcc.info, Using GNU CC}, for details. + +@cindex @code{sed} (shell command) +The purpose of the @code{sed} command is to translate (for example): + +@example +main.o : main.c defs.h +@end example + +@noindent +into: + +@example +main.o main.d : main.c defs.h +@end example + +@noindent +@cindex @code{.d} +This makes each @samp{.d} file depend on all the source and header files +that the corresponding @samp{.o} file depends on. @code{make} then +knows it must regenerate the prerequisites whenever any of the source or +header files changes. + +Once you've defined the rule to remake the @samp{.d} files, +you then use the @code{include} directive to read them all in. +@xref{Include}. For example: + +@example +@group +sources = foo.c bar.c + +include $(sources:.c=.d) +@end group +@end example + +@noindent +(This example uses a substitution variable reference to translate the +list of source files @samp{foo.c bar.c} into a list of prerequisite +makefiles, @samp{foo.d bar.d}. @xref{Substitution Refs}, for full +information on substitution references.) Since the @samp{.d} files are +makefiles like any others, @code{make} will remake them as necessary +with no further work from you. @xref{Remaking Makefiles}. + +Note that the @samp{.d} files contain target definitions; you should +be sure to place the @code{include} directive @emph{after} the first, +default target in your makefiles or run the risk of having a random +object file become the default target. +@xref{How Make Works}. + +@node Commands, Using Variables, Rules, Top +@chapter Writing the Commands in Rules +@cindex commands, how to write +@cindex rule commands +@cindex writing rule commands + +The commands of a rule consist of shell command lines to be executed one +by one. Each command line must start with a tab, except that the first +command line may be attached to the target-and-prerequisites line with a +semicolon in between. Blank lines and lines of just comments may appear +among the command lines; they are ignored. (But beware, an apparently +``blank'' line that begins with a tab is @emph{not} blank! It is an +empty command; @pxref{Empty Commands}.) + +Users use many different shell programs, but commands in makefiles are +always interpreted by @file{/bin/sh} unless the makefile specifies +otherwise. @xref{Execution, ,Command Execution}. + +@cindex comments, in commands +@cindex commands, comments in +@cindex @code{#} (comments), in commands +The shell that is in use determines whether comments can be written on +command lines, and what syntax they use. When the shell is +@file{/bin/sh}, a @samp{#} starts a comment that extends to the end of +the line. The @samp{#} does not have to be at the beginning of a line. +Text on a line before a @samp{#} is not part of the comment. + +@menu +* Echoing:: How to control when commands are echoed. +* Execution:: How commands are executed. +* Parallel:: How commands can be executed in parallel. +* Errors:: What happens after a command execution error. +* Interrupts:: What happens when a command is interrupted. +* Recursion:: Invoking @code{make} from makefiles. +* Sequences:: Defining canned sequences of commands. +* Empty Commands:: Defining useful, do-nothing commands. +@end menu + +@node Echoing, Execution, Commands, Commands +@section Command Echoing +@cindex echoing of commands +@cindex silent operation +@cindex @code{@@} (in commands) +@cindex commands, echoing +@cindex printing of commands + +Normally @code{make} prints each command line before it is executed. +We call this @dfn{echoing} because it gives the appearance that you +are typing the commands yourself. + +When a line starts with @samp{@@}, the echoing of that line is suppressed. +The @samp{@@} is discarded before the command is passed to the shell. +Typically you would use this for a command whose only effect is to print +something, such as an @code{echo} command to indicate progress through +the makefile: + +@example +@@echo About to make distribution files +@end example + +@cindex @code{-n} +@cindex @code{--just-print} +@cindex @code{--dry-run} +@cindex @code{--recon} +When @code{make} is given the flag @samp{-n} or @samp{--just-print} +it only echoes commands, it won't execute them. @xref{Options Summary, +,Summary of Options}. In this case and only this case, even the +commands starting with @samp{@@} are printed. This flag is useful for +finding out which commands @code{make} thinks are necessary without +actually doing them. + +@cindex @code{-s} +@cindex @code{--silent} +@cindex @code{--quiet} +@findex .SILENT +The @samp{-s} or @samp{--silent} +flag to @code{make} prevents all echoing, as if all commands +started with @samp{@@}. A rule in the makefile for the special target +@code{.SILENT} without prerequisites has the same effect +(@pxref{Special Targets, ,Special Built-in Target Names}). +@code{.SILENT} is essentially obsolete since @samp{@@} is more flexible.@refill + +@node Execution, Parallel, Echoing, Commands +@section Command Execution +@cindex commands, execution +@cindex execution, of commands +@cindex shell command, execution +@vindex SHELL @r{(command execution)} + +When it is time to execute commands to update a target, they are executed +by making a new subshell for each line. (In practice, @code{make} may +take shortcuts that do not affect the results.) + +@cindex @code{cd} (shell command) +@strong{Please note:} this implies that shell commands such as @code{cd} +that set variables local to each process will not affect the following +command lines. @footnote{On MS-DOS, the value of current working +directory is @strong{global}, so changing it @emph{will} affect the +following command lines on those systems.} If you want to use @code{cd} +to affect the next command, put the two on a single line with a +semicolon between them. Then @code{make} will consider them a single +command and pass them, together, to a shell which will execute them in +sequence. For example: + +@example +foo : bar/lose + cd bar; gobble lose > ../foo +@end example + +@cindex commands, backslash (@code{\}) in +@cindex commands, quoting newlines in +@cindex backslash (@code{\}), in commands +@cindex @code{\} (backslash), in commands +@cindex quoting newline, in commands +@cindex newline, quoting, in commands +If you would like to split a single shell command into multiple lines of +text, you must use a backslash at the end of all but the last subline. +Such a sequence of lines is combined into a single line, by deleting the +backslash-newline sequences, before passing it to the shell. Thus, the +following is equivalent to the preceding example: + +@example +@group +foo : bar/lose + cd bar; \ + gobble lose > ../foo +@end group +@end example + +@vindex SHELL +The program used as the shell is taken from the variable @code{SHELL}. +By default, the program @file{/bin/sh} is used. + +@vindex COMSPEC +On MS-DOS, if @code{SHELL} is not set, the value of the variable +@code{COMSPEC} (which is always set) is used instead. + +@cindex @code{SHELL}, MS-DOS specifics +The processing of lines that set the variable @code{SHELL} in Makefiles +is different on MS-DOS. The stock shell, @file{command.com}, is +ridiculously limited in its functionality and many users of @code{make} +tend to install a replacement shell. Therefore, on MS-DOS, @code{make} +examines the value of @code{SHELL}, and changes its behavior based on +whether it points to a Unix-style or DOS-style shell. This allows +reasonable functionality even if @code{SHELL} points to +@file{command.com}. + +If @code{SHELL} points to a Unix-style shell, @code{make} on MS-DOS +additionally checks whether that shell can indeed be found; if not, it +ignores the line that sets @code{SHELL}. In MS-DOS, GNU @code{make} +searches for the shell in the following places: + +@enumerate +@item +In the precise place pointed to by the value of @code{SHELL}. For +example, if the makefile specifies @samp{SHELL = /bin/sh}, @code{make} +will look in the directory @file{/bin} on the current drive. + +@item +In the current directory. + +@item +In each of the directories in the @code{PATH} variable, in order. + +@end enumerate + +In every directory it examines, @code{make} will first look for the +specific file (@file{sh} in the example above). If this is not found, +it will also look in that directory for that file with one of the known +extensions which identify executable files. For example @file{.exe}, +@file{.com}, @file{.bat}, @file{.btm}, @file{.sh}, and some others. + +If any of these attempts is successful, the value of @code{SHELL} will +be set to the full pathname of the shell as found. However, if none of +these is found, the value of @code{SHELL} will not be changed, and thus +the line that sets it will be effectively ignored. This is so +@code{make} will only support features specific to a Unix-style shell if +such a shell is actually installed on the system where @code{make} runs. + +Note that this extended search for the shell is limited to the cases +where @code{SHELL} is set from the Makefile; if it is set in the +environment or command line, you are expected to set it to the full +pathname of the shell, exactly as things are on Unix. + +The effect of the above DOS-specific processing is that a Makefile that +says @samp{SHELL = /bin/sh} (as many Unix makefiles do), will work +on MS-DOS unaltered if you have e.g. @file{sh.exe} installed in some +directory along your @code{PATH}. + +@cindex environment, @code{SHELL} in +Unlike most variables, the variable @code{SHELL} is never set from the +environment. This is because the @code{SHELL} environment variable is +used to specify your personal choice of shell program for interactive +use. It would be very bad for personal choices like this to affect the +functioning of makefiles. @xref{Environment, ,Variables from the +Environment}. However, on MS-DOS and MS-Windows the value of +@code{SHELL} in the environment @strong{is} used, since on those systems +most users do not set this variable, and therefore it is most likely set +specifically to be used by @code{make}. On MS-DOS, if the setting of +@code{SHELL} is not suitable for @code{make}, you can set the variable +@code{MAKESHELL} to the shell that @code{make} should use; this will +override the value of @code{SHELL}. + +@node Parallel, Errors, Execution, Commands +@section Parallel Execution +@cindex commands, execution in parallel +@cindex parallel execution +@cindex execution, in parallel +@cindex job slots +@cindex @code{-j} +@cindex @code{--jobs} + +GNU @code{make} knows how to execute several commands at once. +Normally, @code{make} will execute only one command at a time, waiting +for it to finish before executing the next. However, the @samp{-j} or +@samp{--jobs} option tells @code{make} to execute many commands +simultaneously.@refill + +On MS-DOS, the @samp{-j} option has no effect, since that system doesn't +support multi-processing. + +If the @samp{-j} option is followed by an integer, this is the number of +commands to execute at once; this is called the number of @dfn{job slots}. +If there is nothing looking like an integer after the @samp{-j} option, +there is no limit on the number of job slots. The default number of job +slots is one, which means serial execution (one thing at a time). + +One unpleasant consequence of running several commands simultaneously is +that output generated by the commands appears whenever each command +sends it, so messages from different commands may be interspersed. + +Another problem is that two processes cannot both take input from the +same device; so to make sure that only one command tries to take input +from the terminal at once, @code{make} will invalidate the standard +input streams of all but one running command. This means that +attempting to read from standard input will usually be a fatal error (a +@samp{Broken pipe} signal) for most child processes if there are +several. +@cindex broken pipe +@cindex standard input + +It is unpredictable which command will have a valid standard input stream +(which will come from the terminal, or wherever you redirect the standard +input of @code{make}). The first command run will always get it first, and +the first command started after that one finishes will get it next, and so +on. + +We will change how this aspect of @code{make} works if we find a better +alternative. In the mean time, you should not rely on any command using +standard input at all if you are using the parallel execution feature; but +if you are not using this feature, then standard input works normally in +all commands. + +Finally, handling recursive @code{make} invocations raises issues. For +more information on this, see +@ref{Options/Recursion, ,Communicating Options to a Sub-@code{make}}. + +If a command fails (is killed by a signal or exits with a nonzero +status), and errors are not ignored for that command +(@pxref{Errors, ,Errors in Commands}), +the remaining command lines to remake the same target will not be run. +If a command fails and the @samp{-k} or @samp{--keep-going} +option was not given +(@pxref{Options Summary, ,Summary of Options}), +@code{make} aborts execution. If make +terminates for any reason (including a signal) with child processes +running, it waits for them to finish before actually exiting.@refill + +@cindex load average +@cindex limiting jobs based on load +@cindex jobs, limiting based on load +@cindex @code{-l} (load average) +@cindex @code{--max-load} +@cindex @code{--load-average} +When the system is heavily loaded, you will probably want to run fewer jobs +than when it is lightly loaded. You can use the @samp{-l} option to tell +@code{make} to limit the number of jobs to run at once, based on the load +average. The @samp{-l} or @samp{--max-load} +option is followed by a floating-point number. For +example, + +@example +-l 2.5 +@end example + +@noindent +will not let @code{make} start more than one job if the load average is +above 2.5. The @samp{-l} option with no following number removes the +load limit, if one was given with a previous @samp{-l} option.@refill + +More precisely, when @code{make} goes to start up a job, and it already has +at least one job running, it checks the current load average; if it is not +lower than the limit given with @samp{-l}, @code{make} waits until the load +average goes below that limit, or until all the other jobs finish. + +By default, there is no load limit. + +@node Errors, Interrupts, Parallel, Commands +@section Errors in Commands +@cindex errors (in commands) +@cindex commands, errors in +@cindex exit status (errors) + +After each shell command returns, @code{make} looks at its exit status. +If the command completed successfully, the next command line is executed +in a new shell; after the last command line is finished, the rule is +finished. + +If there is an error (the exit status is nonzero), @code{make} gives up on +the current rule, and perhaps on all rules. + +Sometimes the failure of a certain command does not indicate a problem. +For example, you may use the @code{mkdir} command to ensure that a +directory exists. If the directory already exists, @code{mkdir} will +report an error, but you probably want @code{make} to continue regardless. + +@cindex @code{-} (in commands) +To ignore errors in a command line, write a @samp{-} at the beginning of +the line's text (after the initial tab). The @samp{-} is discarded before +the command is passed to the shell for execution. + +For example, + +@example +@group +clean: + -rm -f *.o +@end group +@end example +@cindex @code{rm} (shell command) + +@noindent +This causes @code{rm} to continue even if it is unable to remove a file. + +@cindex @code{-i} +@cindex @code{--ignore-errors} +@findex .IGNORE +When you run @code{make} with the @samp{-i} or @samp{--ignore-errors} +flag, errors are ignored in all commands of all rules. A rule in the +makefile for the special target @code{.IGNORE} has the same effect, if +there are no prerequisites. These ways of ignoring errors are obsolete +because @samp{-} is more flexible. + +When errors are to be ignored, because of either a @samp{-} or the +@samp{-i} flag, @code{make} treats an error return just like success, +except that it prints out a message that tells you the status code +the command exited with, and says that the error has been ignored. + +When an error happens that @code{make} has not been told to ignore, +it implies that the current target cannot be correctly remade, and neither +can any other that depends on it either directly or indirectly. No further +commands will be executed for these targets, since their preconditions +have not been achieved. + + +@cindex @code{-k} +@cindex @code{--keep-going} +Normally @code{make} gives up immediately in this circumstance, returning a +nonzero status. However, if the @samp{-k} or @samp{--keep-going} +flag is specified, @code{make} +continues to consider the other prerequisites of the pending targets, +remaking them if necessary, before it gives up and returns nonzero status. +For example, after an error in compiling one object file, @samp{make -k} +will continue compiling other object files even though it already knows +that linking them will be impossible. @xref{Options Summary, ,Summary of Options}. + +The usual behavior assumes that your purpose is to get the specified +targets up to date; once @code{make} learns that this is impossible, it +might as well report the failure immediately. The @samp{-k} option says +that the real purpose is to test as many of the changes made in the +program as possible, perhaps to find several independent problems so +that you can correct them all before the next attempt to compile. This +is why Emacs' @code{compile} command passes the @samp{-k} flag by +default. +@cindex Emacs (@code{M-x compile}) + +@findex .DELETE_ON_ERROR +@cindex deletion of target files +@cindex removal of target files +@cindex target, deleting on error +Usually when a command fails, if it has changed the target file at all, +the file is corrupted and cannot be used---or at least it is not +completely updated. Yet the file's time stamp says that it is now up to +date, so the next time @code{make} runs, it will not try to update that +file. The situation is just the same as when the command is killed by a +signal; @pxref{Interrupts}. So generally the right thing to do is to +delete the target file if the command fails after beginning to change +the file. @code{make} will do this if @code{.DELETE_ON_ERROR} appears +as a target. This is almost always what you want @code{make} to do, but +it is not historical practice; so for compatibility, you must explicitly +request it. + +@node Interrupts, Recursion, Errors, Commands +@section Interrupting or Killing @code{make} +@cindex interrupt +@cindex signal +@cindex deletion of target files +@cindex removal of target files +@cindex target, deleting on interrupt +@cindex killing (interruption) + +If @code{make} gets a fatal signal while a command is executing, it may +delete the target file that the command was supposed to update. This is +done if the target file's last-modification time has changed since +@code{make} first checked it. + +The purpose of deleting the target is to make sure that it is remade from +scratch when @code{make} is next run. Why is this? Suppose you type +@kbd{Ctrl-c} while a compiler is running, and it has begun to write an +object file @file{foo.o}. The @kbd{Ctrl-c} kills the compiler, resulting +in an incomplete file whose last-modification time is newer than the source +file @file{foo.c}. But @code{make} also receives the @kbd{Ctrl-c} signal +and deletes this incomplete file. If @code{make} did not do this, the next +invocation of @code{make} would think that @file{foo.o} did not require +updating---resulting in a strange error message from the linker when it +tries to link an object file half of which is missing. + +@findex .PRECIOUS +You can prevent the deletion of a target file in this way by making the +special target @code{.PRECIOUS} depend on it. Before remaking a target, +@code{make} checks to see whether it appears on the prerequisites of +@code{.PRECIOUS}, and thereby decides whether the target should be deleted +if a signal happens. Some reasons why you might do this are that the +target is updated in some atomic fashion, or exists only to record a +modification-time (its contents do not matter), or must exist at all +times to prevent other sorts of trouble. + +@node Recursion, Sequences, Interrupts, Commands +@section Recursive Use of @code{make} +@cindex recursion +@cindex subdirectories, recursion for + +Recursive use of @code{make} means using @code{make} as a command in a +makefile. This technique is useful when you want separate makefiles for +various subsystems that compose a larger system. For example, suppose you +have a subdirectory @file{subdir} which has its own makefile, and you would +like the containing directory's makefile to run @code{make} on the +subdirectory. You can do it by writing this: + +@example +subsystem: + cd subdir && $(MAKE) +@end example + +@noindent +or, equivalently, this (@pxref{Options Summary, ,Summary of Options}): + +@example +subsystem: + $(MAKE) -C subdir +@end example +@cindex @code{-C} +@cindex @code{--directory} + +You can write recursive @code{make} commands just by copying this example, +but there are many things to know about how they work and why, and about +how the sub-@code{make} relates to the top-level @code{make}. You may +also find it useful to declare targets that invoke recursive +@code{make} commands as @samp{.PHONY} (for more discussion on when +this is useful, see @ref{Phony Targets}). + +@vindex @code{CURDIR} +For your convenience, when GNU @code{make} starts (after it has +processed any @code{-C} options) it sets the variable @code{CURDIR} to +the pathname of the current working directory. This value is never +touched by @code{make} again: in particular note that if you include +files from other directories the value of @code{CURDIR} does not +change. The value has the same precedence it would have if it were +set in the makefile (by default, an environment variable @code{CURDIR} +will not override this value). Note that setting this variable has no +impact on the operation of @code{make} (it does not cause @code{make} +to change its working directory, for example). + +@menu +* MAKE Variable:: The special effects of using @samp{$(MAKE)}. +* Variables/Recursion:: How to communicate variables to a sub-@code{make}. +* Options/Recursion:: How to communicate options to a sub-@code{make}. +* -w Option:: How the @samp{-w} or @samp{--print-directory} option + helps debug use of recursive @code{make} commands. +@end menu + +@node MAKE Variable, Variables/Recursion, Recursion, Recursion +@subsection How the @code{MAKE} Variable Works +@vindex MAKE +@cindex recursion, and @code{MAKE} variable + +Recursive @code{make} commands should always use the variable @code{MAKE}, +not the explicit command name @samp{make}, as shown here: + +@example +@group +subsystem: + cd subdir && $(MAKE) +@end group +@end example + +The value of this variable is the file name with which @code{make} was +invoked. If this file name was @file{/bin/make}, then the command executed +is @samp{cd subdir && /bin/make}. If you use a special version of +@code{make} to run the top-level makefile, the same special version will be +executed for recursive invocations. +@cindex @code{cd} (shell command) + +@cindex +, and commands +As a special feature, using the variable @code{MAKE} in the commands of +a rule alters the effects of the @samp{-t} (@samp{--touch}), @samp{-n} +(@samp{--just-print}), or @samp{-q} (@w{@samp{--question}}) option. +Using the @code{MAKE} variable has the same effect as using a @samp{+} +character at the beginning of the command line. @xref{Instead of +Execution, ,Instead of Executing the Commands}.@refill + +Consider the command @samp{make -t} in the above example. (The +@samp{-t} option marks targets as up to date without actually running +any commands; see @ref{Instead of Execution}.) Following the usual +definition of @samp{-t}, a @samp{make -t} command in the example would +create a file named @file{subsystem} and do nothing else. What you +really want it to do is run @samp{@w{cd subdir &&} @w{make -t}}; but that would +require executing the command, and @samp{-t} says not to execute +commands.@refill +@cindex @code{-t}, and recursion +@cindex recursion, and @code{-t} +@cindex @code{--touch}, and recursion + +The special feature makes this do what you want: whenever a command +line of a rule contains the variable @code{MAKE}, the flags @samp{-t}, +@samp{-n} and @samp{-q} do not apply to that line. Command lines +containing @code{MAKE} are executed normally despite the presence of a +flag that causes most commands not to be run. The usual +@code{MAKEFLAGS} mechanism passes the flags to the sub-@code{make} +(@pxref{Options/Recursion, ,Communicating Options to a +Sub-@code{make}}), so your request to touch the files, or print the +commands, is propagated to the subsystem.@refill + +@node Variables/Recursion, Options/Recursion, MAKE Variable, Recursion +@subsection Communicating Variables to a Sub-@code{make} +@cindex sub-@code{make} +@cindex environment, and recursion +@cindex exporting variables +@cindex variables, environment +@cindex variables, exporting +@cindex recursion, and environment +@cindex recursion, and variables + +Variable values of the top-level @code{make} can be passed to the +sub-@code{make} through the environment by explicit request. These +variables are defined in the sub-@code{make} as defaults, but do not +override what is specified in the makefile used by the sub-@code{make} +makefile unless you use the @samp{-e} switch (@pxref{Options Summary, +,Summary of Options}).@refill + +To pass down, or @dfn{export}, a variable, @code{make} adds the variable +and its value to the environment for running each command. The +sub-@code{make}, in turn, uses the environment to initialize its table +of variable values. @xref{Environment, ,Variables from the +Environment}. + +Except by explicit request, @code{make} exports a variable only if it +is either defined in the environment initially or set on the command +line, and if its name consists only of letters, numbers, and underscores. +Some shells cannot cope with environment variable names consisting of +characters other than letters, numbers, and underscores. + +The special variables @code{SHELL} and @code{MAKEFLAGS} are always +exported (unless you unexport them). +@code{MAKEFILES} is exported if you set it to anything. + +@code{make} automatically passes down variable values that were defined +on the command line, by putting them in the @code{MAKEFLAGS} variable. +@iftex +See the next section. +@end iftex +@ifinfo +@xref{Options/Recursion}. +@end ifinfo + +Variables are @emph{not} normally passed down if they were created by +default by @code{make} (@pxref{Implicit Variables, ,Variables Used by +Implicit Rules}). The sub-@code{make} will define these for +itself.@refill + +@findex export +If you want to export specific variables to a sub-@code{make}, use the +@code{export} directive, like this: + +@example +export @var{variable} @dots{} +@end example + +@noindent +@findex unexport +If you want to @emph{prevent} a variable from being exported, use the +@code{unexport} directive, like this: + +@example +unexport @var{variable} @dots{} +@end example + +@noindent +In both of these forms, the arguments to @code{export} and +@code{unexport} are expanded, and so could be variables or functions +which expand to a (list of) variable names to be (un)exported. + +As a convenience, you can define a variable and export it at the same +time by doing: + +@example +export @var{variable} = value +@end example + +@noindent +has the same result as: + +@example +@var{variable} = value +export @var{variable} +@end example + +@noindent +and + +@example +export @var{variable} := value +@end example + +@noindent +has the same result as: + +@example +@var{variable} := value +export @var{variable} +@end example + +Likewise, + +@example +export @var{variable} += value +@end example + +@noindent +is just like: + +@example +@var{variable} += value +export @var{variable} +@end example + +@noindent +@xref{Appending, ,Appending More Text to Variables}. + +You may notice that the @code{export} and @code{unexport} directives +work in @code{make} in the same way they work in the shell, @code{sh}. + +If you want all variables to be exported by default, you can use +@code{export} by itself: + +@example +export +@end example + +@noindent +This tells @code{make} that variables which are not explicitly mentioned +in an @code{export} or @code{unexport} directive should be exported. +Any variable given in an @code{unexport} directive will still @emph{not} +be exported. If you use @code{export} by itself to export variables by +default, variables whose names contain characters other than +alphanumerics and underscores will not be exported unless specifically +mentioned in an @code{export} directive.@refill + +@findex .EXPORT_ALL_VARIABLES +The behavior elicited by an @code{export} directive by itself was the +default in older versions of GNU @code{make}. If your makefiles depend +on this behavior and you want to be compatible with old versions of +@code{make}, you can write a rule for the special target +@code{.EXPORT_ALL_VARIABLES} instead of using the @code{export} directive. +This will be ignored by old @code{make}s, while the @code{export} +directive will cause a syntax error.@refill +@cindex compatibility in exporting + +Likewise, you can use @code{unexport} by itself to tell @code{make} +@emph{not} to export variables by default. Since this is the default +behavior, you would only need to do this if @code{export} had been used +by itself earlier (in an included makefile, perhaps). You +@strong{cannot} use @code{export} and @code{unexport} by themselves to +have variables exported for some commands and not for others. The last +@code{export} or @code{unexport} directive that appears by itself +determines the behavior for the entire run of @code{make}.@refill + +@vindex MAKELEVEL +@cindex recursion, level of +As a special feature, the variable @code{MAKELEVEL} is changed when it +is passed down from level to level. This variable's value is a string +which is the depth of the level as a decimal number. The value is +@samp{0} for the top-level @code{make}; @samp{1} for a sub-@code{make}, +@samp{2} for a sub-sub-@code{make}, and so on. The incrementation +happens when @code{make} sets up the environment for a command.@refill + +The main use of @code{MAKELEVEL} is to test it in a conditional +directive (@pxref{Conditionals, ,Conditional Parts of Makefiles}); this +way you can write a makefile that behaves one way if run recursively and +another way if run directly by you.@refill + +@vindex MAKEFILES +You can use the variable @code{MAKEFILES} to cause all sub-@code{make} +commands to use additional makefiles. The value of @code{MAKEFILES} is +a whitespace-separated list of file names. This variable, if defined in +the outer-level makefile, is passed down through the environment; then +it serves as a list of extra makefiles for the sub-@code{make} to read +before the usual or specified ones. @xref{MAKEFILES Variable, ,The +Variable @code{MAKEFILES}}.@refill + +@node Options/Recursion, -w Option, Variables/Recursion, Recursion +@subsection Communicating Options to a Sub-@code{make} +@cindex options, and recursion +@cindex recursion, and options + +@vindex MAKEFLAGS +Flags such as @samp{-s} and @samp{-k} are passed automatically to the +sub-@code{make} through the variable @code{MAKEFLAGS}. This variable is +set up automatically by @code{make} to contain the flag letters that +@code{make} received. Thus, if you do @w{@samp{make -ks}} then +@code{MAKEFLAGS} gets the value @samp{ks}.@refill + +As a consequence, every sub-@code{make} gets a value for @code{MAKEFLAGS} +in its environment. In response, it takes the flags from that value and +processes them as if they had been given as arguments. +@xref{Options Summary, ,Summary of Options}. + +@cindex command line variable definitions, and recursion +@cindex variables, command line, and recursion +@cindex recursion, and command line variable definitions +Likewise variables defined on the command line are passed to the +sub-@code{make} through @code{MAKEFLAGS}. Words in the value of +@code{MAKEFLAGS} that contain @samp{=}, @code{make} treats as variable +definitions just as if they appeared on the command line. +@xref{Overriding, ,Overriding Variables}. + +@cindex @code{-C}, and recursion +@cindex @code{-f}, and recursion +@cindex @code{-o}, and recursion +@cindex @code{-W}, and recursion +@cindex @code{--directory}, and recursion +@cindex @code{--file}, and recursion +@cindex @code{--old-file}, and recursion +@cindex @code{--assume-old}, and recursion +@cindex @code{--assume-new}, and recursion +@cindex @code{--new-file}, and recursion +@cindex recursion, and @code{-C} +@cindex recursion, and @code{-f} +@cindex recursion, and @code{-o} +@cindex recursion, and @code{-W} +The options @samp{-C}, @samp{-f}, @samp{-o}, and @samp{-W} are not put +into @code{MAKEFLAGS}; these options are not passed down.@refill + +@cindex @code{-j}, and recursion +@cindex @code{--jobs}, and recursion +@cindex recursion, and @code{-j} +@cindex job slots, and recursion +The @samp{-j} option is a special case (@pxref{Parallel, ,Parallel Execution}). +If you set it to some numeric value @samp{N} and your operating system +supports it (most any UNIX system will; others typically won't), the +parent @code{make} and all the sub-@code{make}s will communicate to +ensure that there are only @samp{N} jobs running at the same time +between them all. Note that any job that is marked recursive +(@pxref{Instead of Execution, ,Instead of Executing the Commands}) +doesn't count against the total jobs (otherwise we could get @samp{N} +sub-@code{make}s running and have no slots left over for any real work!) + +If your operating system doesn't support the above communication, then +@samp{-j 1} is always put into @code{MAKEFLAGS} instead of the value you +specified. This is because if the @w{@samp{-j}} option were passed down +to sub-@code{make}s, you would get many more jobs running in parallel +than you asked for. If you give @samp{-j} with no numeric argument, +meaning to run as many jobs as possible in parallel, this is passed +down, since multiple infinities are no more than one.@refill + +If you do not want to pass the other flags down, you must change the +value of @code{MAKEFLAGS}, like this: + +@example +subsystem: + cd subdir && $(MAKE) MAKEFLAGS= +@end example + +@vindex MAKEOVERRIDES +The command line variable definitions really appear in the variable +@code{MAKEOVERRIDES}, and @code{MAKEFLAGS} contains a reference to this +variable. If you do want to pass flags down normally, but don't want to +pass down the command line variable definitions, you can reset +@code{MAKEOVERRIDES} to empty, like this: + +@example +MAKEOVERRIDES = +@end example + +@noindent +@cindex Arg list too long +@cindex E2BIG +This is not usually useful to do. However, some systems have a small +fixed limit on the size of the environment, and putting so much +information into the value of @code{MAKEFLAGS} can exceed it. If you +see the error message @samp{Arg list too long}, this may be the problem. +@findex .POSIX +@cindex POSIX.2 +(For strict compliance with POSIX.2, changing @code{MAKEOVERRIDES} does +not affect @code{MAKEFLAGS} if the special target @samp{.POSIX} appears +in the makefile. You probably do not care about this.) + +@vindex MFLAGS +A similar variable @code{MFLAGS} exists also, for historical +compatibility. It has the same value as @code{MAKEFLAGS} except that it +does not contain the command line variable definitions, and it always +begins with a hyphen unless it is empty (@code{MAKEFLAGS} begins with a +hyphen only when it begins with an option that has no single-letter +version, such as @samp{--warn-undefined-variables}). @code{MFLAGS} was +traditionally used explicitly in the recursive @code{make} command, like +this: + +@example +subsystem: + cd subdir && $(MAKE) $(MFLAGS) +@end example + +@noindent +but now @code{MAKEFLAGS} makes this usage redundant. If you want your +makefiles to be compatible with old @code{make} programs, use this +technique; it will work fine with more modern @code{make} versions too. + +@cindex setting options from environment +@cindex options, setting from environment +@cindex setting options in makefiles +@cindex options, setting in makefiles +The @code{MAKEFLAGS} variable can also be useful if you want to have +certain options, such as @samp{-k} (@pxref{Options Summary, ,Summary of +Options}), set each time you run @code{make}. You simply put a value for +@code{MAKEFLAGS} in your environment. You can also set @code{MAKEFLAGS} in +a makefile, to specify additional flags that should also be in effect for +that makefile. (Note that you cannot use @code{MFLAGS} this way. That +variable is set only for compatibility; @code{make} does not interpret a +value you set for it in any way.) + +When @code{make} interprets the value of @code{MAKEFLAGS} (either from the +environment or from a makefile), it first prepends a hyphen if the value +does not already begin with one. Then it chops the value into words +separated by blanks, and parses these words as if they were options given +on the command line (except that @samp{-C}, @samp{-f}, @samp{-h}, +@samp{-o}, @samp{-W}, and their long-named versions are ignored; and there +is no error for an invalid option). + +If you do put @code{MAKEFLAGS} in your environment, you should be sure not +to include any options that will drastically affect the actions of +@code{make} and undermine the purpose of makefiles and of @code{make} +itself. For instance, the @samp{-t}, @samp{-n}, and @samp{-q} options, if +put in one of these variables, could have disastrous consequences and would +certainly have at least surprising and probably annoying effects.@refill + +@node -w Option, , Options/Recursion, Recursion +@subsection The @samp{--print-directory} Option +@cindex directories, printing them +@cindex printing directories +@cindex recursion, and printing directories + +If you use several levels of recursive @code{make} invocations, the +@samp{-w} or @w{@samp{--print-directory}} option can make the output a +lot easier to understand by showing each directory as @code{make} +starts processing it and as @code{make} finishes processing it. For +example, if @samp{make -w} is run in the directory @file{/u/gnu/make}, +@code{make} will print a line of the form:@refill + +@example +make: Entering directory `/u/gnu/make'. +@end example + +@noindent +before doing anything else, and a line of the form: + +@example +make: Leaving directory `/u/gnu/make'. +@end example + +@noindent +when processing is completed. + +@cindex @code{-C}, and @code{-w} +@cindex @code{--directory}, and @code{--print-directory} +@cindex recursion, and @code{-w} +@cindex @code{-w}, and @code{-C} +@cindex @code{-w}, and recursion +@cindex @code{--print-directory}, and @code{--directory} +@cindex @code{--print-directory}, and recursion +@cindex @code{--no-print-directory} +@cindex @code{--print-directory}, disabling +@cindex @code{-w}, disabling +Normally, you do not need to specify this option because @samp{make} +does it for you: @samp{-w} is turned on automatically when you use the +@samp{-C} option, and in sub-@code{make}s. @code{make} will not +automatically turn on @samp{-w} if you also use @samp{-s}, which says to +be silent, or if you use @samp{--no-print-directory} to explicitly +disable it. + +@node Sequences, Empty Commands, Recursion, Commands +@section Defining Canned Command Sequences +@cindex sequences of commands +@cindex commands, sequences of + +When the same sequence of commands is useful in making various targets, you +can define it as a canned sequence with the @code{define} directive, and +refer to the canned sequence from the rules for those targets. The canned +sequence is actually a variable, so the name must not conflict with other +variable names. + +Here is an example of defining a canned sequence of commands: + +@example +define run-yacc +yacc $(firstword $^) +mv y.tab.c $@@ +endef +@end example +@cindex @code{yacc} + +@noindent +Here @code{run-yacc} is the name of the variable being defined; +@code{endef} marks the end of the definition; the lines in between are the +commands. The @code{define} directive does not expand variable references +and function calls in the canned sequence; the @samp{$} characters, +parentheses, variable names, and so on, all become part of the value of the +variable you are defining. +@xref{Defining, ,Defining Variables Verbatim}, +for a complete explanation of @code{define}. + +The first command in this example runs Yacc on the first prerequisite of +whichever rule uses the canned sequence. The output file from Yacc is +always named @file{y.tab.c}. The second command moves the output to the +rule's target file name. + +To use the canned sequence, substitute the variable into the commands of a +rule. You can substitute it like any other variable +(@pxref{Reference, ,Basics of Variable References}). +Because variables defined by @code{define} are recursively expanded +variables, all the variable references you wrote inside the @code{define} +are expanded now. For example: + +@example +foo.c : foo.y + $(run-yacc) +@end example + +@noindent +@samp{foo.y} will be substituted for the variable @samp{$^} when it occurs in +@code{run-yacc}'s value, and @samp{foo.c} for @samp{$@@}.@refill + +This is a realistic example, but this particular one is not needed in +practice because @code{make} has an implicit rule to figure out these +commands based on the file names involved +(@pxref{Implicit Rules, ,Using Implicit Rules}). + +@cindex @@, and @code{define} +@cindex -, and @code{define} +@cindex +, and @code{define} +In command execution, each line of a canned sequence is treated just as +if the line appeared on its own in the rule, preceded by a tab. In +particular, @code{make} invokes a separate subshell for each line. You +can use the special prefix characters that affect command lines +(@samp{@@}, @samp{-}, and @samp{+}) on each line of a canned sequence. +@xref{Commands, ,Writing the Commands in Rules}. +For example, using this canned sequence: + +@example +define frobnicate +@@echo "frobnicating target $@@" +frob-step-1 $< -o $@@-step-1 +frob-step-2 $@@-step-1 -o $@@ +endef +@end example + +@noindent +@code{make} will not echo the first line, the @code{echo} command. +But it @emph{will} echo the following two command lines. + +On the other hand, prefix characters on the command line that refers to +a canned sequence apply to every line in the sequence. So the rule: + +@example +frob.out: frob.in + @@$(frobnicate) +@end example + +@noindent +does not echo @emph{any} commands. +(@xref{Echoing, ,Command Echoing}, for a full explanation of @samp{@@}.) + +@node Empty Commands, , Sequences, Commands +@section Using Empty Commands +@cindex empty commands +@cindex commands, empty + +It is sometimes useful to define commands which do nothing. This is done +simply by giving a command that consists of nothing but whitespace. For +example: + +@example +target: ; +@end example + +@noindent +defines an empty command string for @file{target}. You could also use a +line beginning with a tab character to define an empty command string, +but this would be confusing because such a line looks empty. + +@findex .DEFAULT@r{, and empty commands} +You may be wondering why you would want to define a command string that +does nothing. The only reason this is useful is to prevent a target +from getting implicit commands (from implicit rules or the +@code{.DEFAULT} special target; @pxref{Implicit Rules} and +@pxref{Last Resort, ,Defining Last-Resort Default Rules}).@refill + +@c !!! another reason is for canonical stamp files: +@ignore +foo: stamp-foo ; +stamp-foo: foo.in + create foo frm foo.in + touch $@ +@end ignore + +You may be inclined to define empty command strings for targets that are +not actual files, but only exist so that their prerequisites can be +remade. However, this is not the best way to do that, because the +prerequisites may not be remade properly if the target file actually does exist. +@xref{Phony Targets, ,Phony Targets}, for a better way to do this. + +@node Using Variables, Conditionals, Commands, Top +@chapter How to Use Variables +@cindex variable +@cindex value +@cindex recursive variable expansion +@cindex simple variable expansion + +A @dfn{variable} is a name defined in a makefile to represent a string +of text, called the variable's @dfn{value}. These values are +substituted by explicit request into targets, prerequisites, commands, +and other parts of the makefile. (In some other versions of @code{make}, +variables are called @dfn{macros}.) +@cindex macro + +Variables and functions in all parts of a makefile are expanded when +read, except for the shell commands in rules, the right-hand sides of +variable definitions using @samp{=}, and the bodies of variable +definitions using the @code{define} directive.@refill + +Variables can represent lists of file names, options to pass to compilers, +programs to run, directories to look in for source files, directories to +write output in, or anything else you can imagine. + +A variable name may be any sequence of characters not containing @samp{:}, +@samp{#}, @samp{=}, or leading or trailing whitespace. However, +variable names containing characters other than letters, numbers, and +underscores should be avoided, as they may be given special meanings in the +future, and with some shells they cannot be passed through the environment to a +sub-@code{make} +(@pxref{Variables/Recursion, ,Communicating Variables to a Sub-@code{make}}). + +Variable names are case-sensitive. The names @samp{foo}, @samp{FOO}, +and @samp{Foo} all refer to different variables. + +It is traditional to use upper case letters in variable names, but we +recommend using lower case letters for variable names that serve internal +purposes in the makefile, and reserving upper case for parameters that +control implicit rules or for parameters that the user should override with +command options (@pxref{Overriding, ,Overriding Variables}). + +A few variables have names that are a single punctuation character or +just a few characters. These are the @dfn{automatic variables}, and +they have particular specialized uses. @xref{Automatic Variables}. + +@menu +* Reference:: How to use the value of a variable. +* Flavors:: Variables come in two flavors. +* Advanced:: Advanced features for referencing a variable. +* Values:: All the ways variables get their values. +* Setting:: How to set a variable in the makefile. +* Appending:: How to append more text to the old value + of a variable. +* Override Directive:: How to set a variable in the makefile even if + the user has set it with a command argument. +* Defining:: An alternate way to set a variable + to a verbatim string. +* Environment:: Variable values can come from the environment. +* Target-specific:: Variable values can be defined on a per-target + basis. +* Pattern-specific:: Target-specific variable values can be applied + to a group of targets that match a pattern. +@end menu + +@node Reference, Flavors, Using Variables, Using Variables +@section Basics of Variable References +@cindex variables, how to reference +@cindex reference to variables +@cindex @code{$}, in variable reference +@cindex dollar sign (@code{$}), in variable reference + +To substitute a variable's value, write a dollar sign followed by the name +of the variable in parentheses or braces: either @samp{$(foo)} or +@samp{$@{foo@}} is a valid reference to the variable @code{foo}. This +special significance of @samp{$} is why you must write @samp{$$} to have +the effect of a single dollar sign in a file name or command. + +Variable references can be used in any context: targets, prerequisites, +commands, most directives, and new variable values. Here is an +example of a common case, where a variable holds the names of all the +object files in a program: + +@example +@group +objects = program.o foo.o utils.o +program : $(objects) + cc -o program $(objects) + +$(objects) : defs.h +@end group +@end example + +Variable references work by strict textual substitution. Thus, the rule + +@example +@group +foo = c +prog.o : prog.$(foo) + $(foo)$(foo) -$(foo) prog.$(foo) +@end group +@end example + +@noindent +could be used to compile a C program @file{prog.c}. Since spaces before +the variable value are ignored in variable assignments, the value of +@code{foo} is precisely @samp{c}. (Don't actually write your makefiles +this way!) + +A dollar sign followed by a character other than a dollar sign, +open-parenthesis or open-brace treats that single character as the +variable name. Thus, you could reference the variable @code{x} with +@samp{$x}. However, this practice is strongly discouraged, except in +the case of the automatic variables (@pxref{Automatic Variables}). + +@node Flavors, Advanced, Reference, Using Variables +@section The Two Flavors of Variables +@cindex flavors of variables +@cindex recursive variable expansion +@cindex variables, flavors +@cindex recursively expanded variables +@cindex variables, recursively expanded + +There are two ways that a variable in GNU @code{make} can have a value; +we call them the two @dfn{flavors} of variables. The two flavors are +distinguished in how they are defined and in what they do when expanded. + +@cindex = +The first flavor of variable is a @dfn{recursively expanded} variable. +Variables of this sort are defined by lines using @samp{=} +(@pxref{Setting, ,Setting Variables}) or by the @code{define} directive +(@pxref{Defining, ,Defining Variables Verbatim}). The value you specify +is installed verbatim; if it contains references to other variables, +these references are expanded whenever this variable is substituted (in +the course of expanding some other string). When this happens, it is +called @dfn{recursive expansion}.@refill + +For example, + +@example +foo = $(bar) +bar = $(ugh) +ugh = Huh? + +all:;echo $(foo) +@end example + +@noindent +will echo @samp{Huh?}: @samp{$(foo)} expands to @samp{$(bar)} which +expands to @samp{$(ugh)} which finally expands to @samp{Huh?}.@refill + +This flavor of variable is the only sort supported by other versions of +@code{make}. It has its advantages and its disadvantages. An advantage +(most would say) is that: + +@example +CFLAGS = $(include_dirs) -O +include_dirs = -Ifoo -Ibar +@end example + +@noindent +will do what was intended: when @samp{CFLAGS} is expanded in a command, +it will expand to @samp{-Ifoo -Ibar -O}. A major disadvantage is that you +cannot append something on the end of a variable, as in + +@example +CFLAGS = $(CFLAGS) -O +@end example + +@noindent +because it will cause an infinite loop in the variable expansion. +(Actually @code{make} detects the infinite loop and reports an error.) +@cindex loops in variable expansion +@cindex variables, loops in expansion + +Another disadvantage is that any functions +(@pxref{Functions, ,Functions for Transforming Text}) +referenced in the definition will be executed every time the variable is +expanded. This makes @code{make} run slower; worse, it causes the +@code{wildcard} and @code{shell} functions to give unpredictable results +because you cannot easily control when they are called, or even how many +times. + +To avoid all the problems and inconveniences of recursively expanded +variables, there is another flavor: simply expanded variables. + +@cindex simply expanded variables +@cindex variables, simply expanded +@cindex := +@dfn{Simply expanded variables} are defined by lines using @samp{:=} +(@pxref{Setting, ,Setting Variables}). +The value of a simply expanded variable is scanned +once and for all, expanding any references to other variables and +functions, when the variable is defined. The actual value of the simply +expanded variable is the result of expanding the text that you write. +It does not contain any references to other variables; it contains their +values @emph{as of the time this variable was defined}. Therefore, + +@example +x := foo +y := $(x) bar +x := later +@end example + +@noindent +is equivalent to + +@example +y := foo bar +x := later +@end example + +When a simply expanded variable is referenced, its value is substituted +verbatim. + +Here is a somewhat more complicated example, illustrating the use of +@samp{:=} in conjunction with the @code{shell} function. +(@xref{Shell Function, , The @code{shell} Function}.) This example +also shows use of the variable @code{MAKELEVEL}, which is changed +when it is passed down from level to level. +(@xref{Variables/Recursion, , Communicating Variables to a +Sub-@code{make}}, for information about @code{MAKELEVEL}.) + +@vindex MAKELEVEL +@vindex MAKE +@example +@group +ifeq (0,$@{MAKELEVEL@}) +cur-dir := $(shell pwd) +whoami := $(shell whoami) +host-type := $(shell arch) +MAKE := $@{MAKE@} host-type=$@{host-type@} whoami=$@{whoami@} +endif +@end group +@end example + +@noindent +An advantage of this use of @samp{:=} is that a typical +`descend into a directory' command then looks like this: + +@example +@group +$@{subdirs@}: + $@{MAKE@} cur-dir=$@{cur-dir@}/$@@ -C $@@ all +@end group +@end example + +Simply expanded variables generally make complicated makefile programming +more predictable because they work like variables in most programming +languages. They allow you to redefine a variable using its own value (or +its value processed in some way by one of the expansion functions) and to +use the expansion functions much more efficiently +(@pxref{Functions, ,Functions for Transforming Text}). + +@cindex spaces, in variable values +@cindex whitespace, in variable values +@cindex variables, spaces in values +You can also use them to introduce controlled leading whitespace into +variable values. Leading whitespace characters are discarded from your +input before substitution of variable references and function calls; +this means you can include leading spaces in a variable value by +protecting them with variable references, like this: + +@example +nullstring := +space := $(nullstring) # end of the line +@end example + +@noindent +Here the value of the variable @code{space} is precisely one space. The +comment @w{@samp{# end of the line}} is included here just for clarity. +Since trailing space characters are @emph{not} stripped from variable +values, just a space at the end of the line would have the same effect +(but be rather hard to read). If you put whitespace at the end of a +variable value, it is a good idea to put a comment like that at the end +of the line to make your intent clear. Conversely, if you do @emph{not} +want any whitespace characters at the end of your variable value, you +must remember not to put a random comment on the end of the line after +some whitespace, such as this: + +@example +dir := /foo/bar # directory to put the frobs in +@end example + +@noindent +Here the value of the variable @code{dir} is @w{@samp{/foo/bar }} +(with four trailing spaces), which was probably not the intention. +(Imagine something like @w{@samp{$(dir)/file}} with this definition!) + +@cindex conditional variable assignment +@cindex variables, conditional assignment +@cindex ?= +There is another assignment operator for variables, @samp{?=}. This +is called a conditional variable assignment operator, because it only +has an effect if the variable is not yet defined. This statement: + +@example +FOO ?= bar +@end example + +@noindent +is exactly equivalent to this +(@pxref{Origin Function, ,The @code{origin} Function}): + +@example +ifeq ($(origin FOO), undefined) + FOO = bar +endif +@end example + +Note that a variable set to an empty value is still defined, so +@samp{?=} will not set that variable. + +@node Advanced, Values, Flavors, Using Variables +@section Advanced Features for Reference to Variables +@cindex reference to variables + +This section describes some advanced features you can use to reference +variables in more flexible ways. + +@menu +* Substitution Refs:: Referencing a variable with + substitutions on the value. +* Computed Names:: Computing the name of the variable to refer to. +@end menu + +@node Substitution Refs, Computed Names, Advanced, Advanced +@subsection Substitution References +@cindex modified variable reference +@cindex substitution variable reference +@cindex variables, modified reference +@cindex variables, substitution reference + +@cindex variables, substituting suffix in +@cindex suffix, substituting in variables +A @dfn{substitution reference} substitutes the value of a variable with +alterations that you specify. It has the form +@samp{$(@var{var}:@var{a}=@var{b})} (or +@samp{$@{@var{var}:@var{a}=@var{b}@}}) and its meaning is to take the value +of the variable @var{var}, replace every @var{a} at the end of a word with +@var{b} in that value, and substitute the resulting string. + +When we say ``at the end of a word'', we mean that @var{a} must appear +either followed by whitespace or at the end of the value in order to be +replaced; other occurrences of @var{a} in the value are unaltered. For +example:@refill + +@example +foo := a.o b.o c.o +bar := $(foo:.o=.c) +@end example + +@noindent +sets @samp{bar} to @samp{a.c b.c c.c}. @xref{Setting, ,Setting Variables}. + +A substitution reference is actually an abbreviation for use of the +@code{patsubst} expansion function (@pxref{Text Functions, ,Functions for String Substitution and Analysis}). We provide +substitution references as well as @code{patsubst} for compatibility with +other implementations of @code{make}. + +@findex patsubst +Another type of substitution reference lets you use the full power of +the @code{patsubst} function. It has the same form +@samp{$(@var{var}:@var{a}=@var{b})} described above, except that now +@var{a} must contain a single @samp{%} character. This case is +equivalent to @samp{$(patsubst @var{a},@var{b},$(@var{var}))}. +@xref{Text Functions, ,Functions for String Substitution and Analysis}, +for a description of the @code{patsubst} function.@refill + +@example +@group +@exdent For example: + +foo := a.o b.o c.o +bar := $(foo:%.o=%.c) +@end group +@end example + +@noindent +sets @samp{bar} to @samp{a.c b.c c.c}. + +@node Computed Names, , Substitution Refs, Advanced +@subsection Computed Variable Names +@cindex nested variable reference +@cindex computed variable name +@cindex variables, computed names +@cindex variables, nested references +@cindex variables, @samp{$} in name +@cindex @code{$}, in variable name +@cindex dollar sign (@code{$}), in variable name + +Computed variable names are a complicated concept needed only for +sophisticated makefile programming. For most purposes you need not +consider them, except to know that making a variable with a dollar sign +in its name might have strange results. However, if you are the type +that wants to understand everything, or you are actually interested in +what they do, read on. + +Variables may be referenced inside the name of a variable. This is +called a @dfn{computed variable name} or a @dfn{nested variable +reference}. For example, + +@example +x = y +y = z +a := $($(x)) +@end example + +@noindent +defines @code{a} as @samp{z}: the @samp{$(x)} inside @samp{$($(x))} expands +to @samp{y}, so @samp{$($(x))} expands to @samp{$(y)} which in turn expands +to @samp{z}. Here the name of the variable to reference is not stated +explicitly; it is computed by expansion of @samp{$(x)}. The reference +@samp{$(x)} here is nested within the outer variable reference. + +The previous example shows two levels of nesting, but any number of levels +is possible. For example, here are three levels: + +@example +x = y +y = z +z = u +a := $($($(x))) +@end example + +@noindent +Here the innermost @samp{$(x)} expands to @samp{y}, so @samp{$($(x))} +expands to @samp{$(y)} which in turn expands to @samp{z}; now we have +@samp{$(z)}, which becomes @samp{u}. + +References to recursively-expanded variables within a variable name are +reexpanded in the usual fashion. For example: + +@example +x = $(y) +y = z +z = Hello +a := $($(x)) +@end example + +@noindent +defines @code{a} as @samp{Hello}: @samp{$($(x))} becomes @samp{$($(y))} +which becomes @samp{$(z)} which becomes @samp{Hello}. + +Nested variable references can also contain modified references and +function invocations (@pxref{Functions, ,Functions for Transforming Text}), +just like any other reference. +For example, using the @code{subst} function +(@pxref{Text Functions, ,Functions for String Substitution and Analysis}): + +@example +@group +x = variable1 +variable2 := Hello +y = $(subst 1,2,$(x)) +z = y +a := $($($(z))) +@end group +@end example + +@noindent +eventually defines @code{a} as @samp{Hello}. It is doubtful that anyone +would ever want to write a nested reference as convoluted as this one, but +it works: @samp{$($($(z)))} expands to @samp{$($(y))} which becomes +@samp{$($(subst 1,2,$(x)))}. This gets the value @samp{variable1} from +@code{x} and changes it by substitution to @samp{variable2}, so that the +entire string becomes @samp{$(variable2)}, a simple variable reference +whose value is @samp{Hello}.@refill + +A computed variable name need not consist entirely of a single variable +reference. It can contain several variable references, as well as some +invariant text. For example, + +@example +@group +a_dirs := dira dirb +1_dirs := dir1 dir2 +@end group + +@group +a_files := filea fileb +1_files := file1 file2 +@end group + +@group +ifeq "$(use_a)" "yes" +a1 := a +else +a1 := 1 +endif +@end group + +@group +ifeq "$(use_dirs)" "yes" +df := dirs +else +df := files +endif + +dirs := $($(a1)_$(df)) +@end group +@end example + +@noindent +will give @code{dirs} the same value as @code{a_dirs}, @code{1_dirs}, +@code{a_files} or @code{1_files} depending on the settings of @code{use_a} +and @code{use_dirs}.@refill + +Computed variable names can also be used in substitution references: + +@example +@group +a_objects := a.o b.o c.o +1_objects := 1.o 2.o 3.o + +sources := $($(a1)_objects:.o=.c) +@end group +@end example + +@noindent +defines @code{sources} as either @samp{a.c b.c c.c} or @samp{1.c 2.c 3.c}, +depending on the value of @code{a1}. + +The only restriction on this sort of use of nested variable references +is that they cannot specify part of the name of a function to be called. +This is because the test for a recognized function name is done before +the expansion of nested references. For example, + +@example +@group +ifdef do_sort +func := sort +else +func := strip +endif +@end group + +@group +bar := a d b g q c +@end group + +@group +foo := $($(func) $(bar)) +@end group +@end example + +@noindent +attempts to give @samp{foo} the value of the variable @samp{sort a d b g +q c} or @samp{strip a d b g q c}, rather than giving @samp{a d b g q c} +as the argument to either the @code{sort} or the @code{strip} function. +This restriction could be removed in the future if that change is shown +to be a good idea. + +You can also use computed variable names in the left-hand side of a +variable assignment, or in a @code{define} directive, as in: + +@example +dir = foo +$(dir)_sources := $(wildcard $(dir)/*.c) +define $(dir)_print +lpr $($(dir)_sources) +endef +@end example + +@noindent +This example defines the variables @samp{dir}, @samp{foo_sources}, and +@samp{foo_print}. + +Note that @dfn{nested variable references} are quite different from +@dfn{recursively expanded variables} +(@pxref{Flavors, ,The Two Flavors of Variables}), though both are +used together in complex ways when doing makefile programming.@refill + +@node Values, Setting, Advanced, Using Variables +@section How Variables Get Their Values +@cindex variables, how they get their values +@cindex value, how a variable gets it + +Variables can get values in several different ways: + +@itemize @bullet +@item +You can specify an overriding value when you run @code{make}. +@xref{Overriding, ,Overriding Variables}. + +@item +You can specify a value in the makefile, either +with an assignment (@pxref{Setting, ,Setting Variables}) or with a +verbatim definition (@pxref{Defining, ,Defining Variables Verbatim}).@refill + +@item +Variables in the environment become @code{make} variables. +@xref{Environment, ,Variables from the Environment}. + +@item +Several @dfn{automatic} variables are given new values for each rule. +Each of these has a single conventional use. +@xref{Automatic Variables}. + +@item +Several variables have constant initial values. +@xref{Implicit Variables, ,Variables Used by Implicit Rules}. +@end itemize + +@node Setting, Appending, Values, Using Variables +@section Setting Variables +@cindex setting variables +@cindex variables, setting +@cindex = +@cindex := +@cindex ?= + +To set a variable from the makefile, write a line starting with the +variable name followed by @samp{=} or @samp{:=}. Whatever follows the +@samp{=} or @samp{:=} on the line becomes the value. For example, + +@example +objects = main.o foo.o bar.o utils.o +@end example + +@noindent +defines a variable named @code{objects}. Whitespace around the variable +name and immediately after the @samp{=} is ignored. + +Variables defined with @samp{=} are @dfn{recursively expanded} variables. +Variables defined with @samp{:=} are @dfn{simply expanded} variables; these +definitions can contain variable references which will be expanded before +the definition is made. @xref{Flavors, ,The Two Flavors of Variables}. + +The variable name may contain function and variable references, which +are expanded when the line is read to find the actual variable name to use. + +There is no limit on the length of the value of a variable except the +amount of swapping space on the computer. When a variable definition is +long, it is a good idea to break it into several lines by inserting +backslash-newline at convenient places in the definition. This will not +affect the functioning of @code{make}, but it will make the makefile easier +to read. + +Most variable names are considered to have the empty string as a value if +you have never set them. Several variables have built-in initial values +that are not empty, but you can set them in the usual ways +(@pxref{Implicit Variables, ,Variables Used by Implicit Rules}). +Several special variables are set +automatically to a new value for each rule; these are called the +@dfn{automatic} variables (@pxref{Automatic Variables}). + +If you'd like a variable to be set to a value only if it's not already +set, then you can use the shorthand operator @samp{?=} instead of +@samp{=}. These two settings of the variable @samp{FOO} are identical +(@pxref{Origin Function, ,The @code{origin} Function}): + +@example +FOO ?= bar +@end example + +@noindent +and + +@example +ifeq ($(origin FOO), undefined) +FOO = bar +endif +@end example + +@node Appending, Override Directive, Setting, Using Variables +@section Appending More Text to Variables +@cindex += +@cindex appending to variables +@cindex variables, appending to + +Often it is useful to add more text to the value of a variable already defined. +You do this with a line containing @samp{+=}, like this: + +@example +objects += another.o +@end example + +@noindent +This takes the value of the variable @code{objects}, and adds the text +@samp{another.o} to it (preceded by a single space). Thus: + +@example +objects = main.o foo.o bar.o utils.o +objects += another.o +@end example + +@noindent +sets @code{objects} to @samp{main.o foo.o bar.o utils.o another.o}. + +Using @samp{+=} is similar to: + +@example +objects = main.o foo.o bar.o utils.o +objects := $(objects) another.o +@end example + +@noindent +but differs in ways that become important when you use more complex values. + +When the variable in question has not been defined before, @samp{+=} +acts just like normal @samp{=}: it defines a recursively-expanded +variable. However, when there @emph{is} a previous definition, exactly +what @samp{+=} does depends on what flavor of variable you defined +originally. @xref{Flavors, ,The Two Flavors of Variables}, for an +explanation of the two flavors of variables. + +When you add to a variable's value with @samp{+=}, @code{make} acts +essentially as if you had included the extra text in the initial +definition of the variable. If you defined it first with @samp{:=}, +making it a simply-expanded variable, @samp{+=} adds to that +simply-expanded definition, and expands the new text before appending it +to the old value just as @samp{:=} does +(@pxref{Setting, ,Setting Variables}, for a full explanation of @samp{:=}). +In fact, + +@example +variable := value +variable += more +@end example + +@noindent +is exactly equivalent to: + +@noindent +@example +variable := value +variable := $(variable) more +@end example + +On the other hand, when you use @samp{+=} with a variable that you defined +first to be recursively-expanded using plain @samp{=}, @code{make} does +something a bit different. Recall that when you define a +recursively-expanded variable, @code{make} does not expand the value you set +for variable and function references immediately. Instead it stores the text +verbatim, and saves these variable and function references to be expanded +later, when you refer to the new variable (@pxref{Flavors, ,The Two Flavors +of Variables}). When you use @samp{+=} on a recursively-expanded variable, +it is this unexpanded text to which @code{make} appends the new text you +specify. + +@example +@group +variable = value +variable += more +@end group +@end example + +@noindent +is roughly equivalent to: + +@example +@group +temp = value +variable = $(temp) more +@end group +@end example + +@noindent +except that of course it never defines a variable called @code{temp}. +The importance of this comes when the variable's old value contains +variable references. Take this common example: + +@example +CFLAGS = $(includes) -O +@dots{} +CFLAGS += -pg # enable profiling +@end example + +@noindent +The first line defines the @code{CFLAGS} variable with a reference to another +variable, @code{includes}. (@code{CFLAGS} is used by the rules for C +compilation; @pxref{Catalogue of Rules, ,Catalogue of Implicit Rules}.) +Using @samp{=} for the definition makes @code{CFLAGS} a recursively-expanded +variable, meaning @w{@samp{$(includes) -O}} is @emph{not} expanded when +@code{make} processes the definition of @code{CFLAGS}. Thus, @code{includes} +need not be defined yet for its value to take effect. It only has to be +defined before any reference to @code{CFLAGS}. If we tried to append to the +value of @code{CFLAGS} without using @samp{+=}, we might do it like this: + +@example +CFLAGS := $(CFLAGS) -pg # enable profiling +@end example + +@noindent +This is pretty close, but not quite what we want. Using @samp{:=} +redefines @code{CFLAGS} as a simply-expanded variable; this means +@code{make} expands the text @w{@samp{$(CFLAGS) -pg}} before setting the +variable. If @code{includes} is not yet defined, we get @w{@samp{ -O +-pg}}, and a later definition of @code{includes} will have no effect. +Conversely, by using @samp{+=} we set @code{CFLAGS} to the +@emph{unexpanded} value @w{@samp{$(includes) -O -pg}}. Thus we preserve +the reference to @code{includes}, so if that variable gets defined at +any later point, a reference like @samp{$(CFLAGS)} still uses its +value. + +@node Override Directive, Defining, Appending, Using Variables +@section The @code{override} Directive +@findex override +@cindex overriding with @code{override} +@cindex variables, overriding + +If a variable has been set with a command argument +(@pxref{Overriding, ,Overriding Variables}), +then ordinary assignments in the makefile are ignored. If you want to set +the variable in the makefile even though it was set with a command +argument, you can use an @code{override} directive, which is a line that +looks like this:@refill + +@example +override @var{variable} = @var{value} +@end example + +@noindent +or + +@example +override @var{variable} := @var{value} +@end example + +To append more text to a variable defined on the command line, use: + +@example +override @var{variable} += @var{more text} +@end example + +@noindent +@xref{Appending, ,Appending More Text to Variables}. + +The @code{override} directive was not invented for escalation in the war +between makefiles and command arguments. It was invented so you can alter +and add to values that the user specifies with command arguments. + +For example, suppose you always want the @samp{-g} switch when you run the +C compiler, but you would like to allow the user to specify the other +switches with a command argument just as usual. You could use this +@code{override} directive: + +@example +override CFLAGS += -g +@end example + +You can also use @code{override} directives with @code{define} directives. +This is done as you might expect: + +@example +override define foo +bar +endef +@end example + +@noindent +@iftex +See the next section for information about @code{define}. +@end iftex +@ifinfo +@xref{Defining, ,Defining Variables Verbatim}. +@end ifinfo + +@node Defining, Environment, Override Directive, Using Variables +@section Defining Variables Verbatim +@findex define +@findex endef +@cindex verbatim variable definition +@cindex defining variables verbatim +@cindex variables, defining verbatim + +Another way to set the value of a variable is to use the @code{define} +directive. This directive has an unusual syntax which allows newline +characters to be included in the value, which is convenient for defining +both canned sequences of commands +(@pxref{Sequences, ,Defining Canned Command Sequences}), and also +sections of makefile syntax to use with @code{eval} (@pxref{Eval Function}). + +The @code{define} directive is followed on the same line by the name of the +variable and nothing more. The value to give the variable appears on the +following lines. The end of the value is marked by a line containing just +the word @code{endef}. Aside from this difference in syntax, @code{define} +works just like @samp{=}: it creates a recursively-expanded variable +(@pxref{Flavors, ,The Two Flavors of Variables}). +The variable name may contain function and variable references, which +are expanded when the directive is read to find the actual variable name +to use. + +You may nest @code{define} directives: @code{make} will keep track of +nested directives and report an error if they are not all properly +closed with @code{endef}. Note that lines beginning with tab +characters are considered part of a command script, so any +@code{define} or @code{endef} strings appearing on such a line will +not be considered @code{make} operators. + +@example +define two-lines +echo foo +echo $(bar) +endef +@end example + +The value in an ordinary assignment cannot contain a newline; but the +newlines that separate the lines of the value in a @code{define} become +part of the variable's value (except for the final newline which precedes +the @code{endef} and is not considered part of the value).@refill + +@need 800 +When used in a command script, the previous example is functionally +equivalent to this: + +@example +two-lines = echo foo; echo $(bar) +@end example + +@noindent +since two commands separated by semicolon behave much like two separate +shell commands. However, note that using two separate lines means +@code{make} will invoke the shell twice, running an independent subshell +for each line. @xref{Execution, ,Command Execution}. + +If you want variable definitions made with @code{define} to take +precedence over command-line variable definitions, you can use the +@code{override} directive together with @code{define}: + +@example +override define two-lines +foo +$(bar) +endef +@end example + +@noindent +@xref{Override Directive, ,The @code{override} Directive}. + +@node Environment, Target-specific, Defining, Using Variables +@section Variables from the Environment + +@cindex variables, environment +@cindex environment +Variables in @code{make} can come from the environment in which +@code{make} is run. Every environment variable that @code{make} sees when +it starts up is transformed into a @code{make} variable with the same name +and value. But an explicit assignment in the makefile, or with a command +argument, overrides the environment. (If the @samp{-e} flag is specified, +then values from the environment override assignments in the makefile. +@xref{Options Summary, ,Summary of Options}. +But this is not recommended practice.) + +Thus, by setting the variable @code{CFLAGS} in your environment, you can +cause all C compilations in most makefiles to use the compiler switches you +prefer. This is safe for variables with standard or conventional meanings +because you know that no makefile will use them for other things. (But +this is not totally reliable; some makefiles set @code{CFLAGS} explicitly +and therefore are not affected by the value in the environment.) + +When @code{make} is invoked recursively, variables defined in the +outer invocation can be passed to inner invocations through the +environment (@pxref{Recursion, ,Recursive Use of @code{make}}). By +default, only variables that came from the environment or the command +line are passed to recursive invocations. You can use the +@code{export} directive to pass other variables. +@xref{Variables/Recursion, , Communicating Variables to a +Sub-@code{make}}, for full details. + +Other use of variables from the environment is not recommended. It is not +wise for makefiles to depend for their functioning on environment variables +set up outside their control, since this would cause different users to get +different results from the same makefile. This is against the whole +purpose of most makefiles. + +Such problems would be especially likely with the variable @code{SHELL}, +which is normally present in the environment to specify the user's choice +of interactive shell. It would be very undesirable for this choice to +affect @code{make}. So @code{make} ignores the environment value of +@code{SHELL} (except on MS-DOS and MS-Windows, where @code{SHELL} is +usually not set. @xref{Execution, ,Special handling of SHELL on +MS-DOS}.)@refill + +@node Target-specific, Pattern-specific, Environment, Using Variables +@section Target-specific Variable Values +@cindex target-specific variables +@cindex variables, target-specific + +Variable values in @code{make} are usually global; that is, they are the +same regardless of where they are evaluated (unless they're reset, of +course). One exception to that is automatic variables +(@pxref{Automatic Variables}). + +The other exception is @dfn{target-specific variable values}. This +feature allows you to define different values for the same variable, +based on the target that @code{make} is currently building. As with +automatic variables, these values are only available within the context +of a target's command script (and in other target-specific assignments). + +Set a target-specific variable value like this: + +@example +@var{target} @dots{} : @var{variable-assignment} +@end example + +@noindent +or like this: + +@example +@var{target} @dots{} : override @var{variable-assignment} +@end example + +@noindent +or like this: + +@example +@var{target} @dots{} : export @var{variable-assignment} +@end example + +Multiple @var{target} values create a target-specific variable value for +each member of the target list individually. + +The @var{variable-assignment} can be any valid form of assignment; +recursive (@samp{=}), static (@samp{:=}), appending (@samp{+=}), or +conditional (@samp{?=}). All variables that appear within the +@var{variable-assignment} are evaluated within the context of the +target: thus, any previously-defined target-specific variable values +will be in effect. Note that this variable is actually distinct from +any ``global'' value: the two variables do not have to have the same +flavor (recursive vs. static). + +Target-specific variables have the same priority as any other makefile +variable. Variables provided on the command-line (and in the +environment if the @samp{-e} option is in force) will take precedence. +Specifying the @code{override} directive will allow the target-specific +variable value to be preferred. + +There is one more special feature of target-specific variables: when you +define a target-specific variable, that variable value is also in effect +for all prerequisites of this target (unless those prerequisites override +it with their own target-specific variable value). So, for example, a +statement like this: + +@example +prog : CFLAGS = -g +prog : prog.o foo.o bar.o +@end example + +@noindent +will set @code{CFLAGS} to @samp{-g} in the command script for +@file{prog}, but it will also set @code{CFLAGS} to @samp{-g} in the +command scripts that create @file{prog.o}, @file{foo.o}, and +@file{bar.o}, and any command scripts which create their prerequisites. + +@node Pattern-specific, , Target-specific, Using Variables +@section Pattern-specific Variable Values +@cindex pattern-specific variables +@cindex variables, pattern-specific + +In addition to target-specific variable values +(@pxref{Target-specific, ,Target-specific Variable Values}), GNU +@code{make} supports pattern-specific variable values. In this form, +the variable is defined for any target that matches the pattern +specified. If a target matches more than one pattern, all the +matching pattern-specific variables are interpreted in the order in +which they were defined in the makefile, and collected together into +one set. Variables defined in this way are searched after any +target-specific variables defined explicitly for that target, and +before target-specific variables defined for the parent target. + +Set a pattern-specific variable value like this: + +@example +@var{pattern} @dots{} : @var{variable-assignment} +@end example + +@noindent +or like this: + +@example +@var{pattern} @dots{} : override @var{variable-assignment} +@end example + +@noindent +where @var{pattern} is a %-pattern. As with target-specific variable +values, multiple @var{pattern} values create a pattern-specific variable +value for each pattern individually. The @var{variable-assignment} can +be any valid form of assignment. Any command-line variable setting will +take precedence, unless @code{override} is specified. + +For example: + +@example +%.o : CFLAGS = -O +@end example + +@noindent +will assign @code{CFLAGS} the value of @samp{-O} for all targets +matching the pattern @code{%.o}. + +@node Conditionals, Functions, Using Variables, Top +@chapter Conditional Parts of Makefiles + +@cindex conditionals +A @dfn{conditional} causes part of a makefile to be obeyed or ignored +depending on the values of variables. Conditionals can compare the +value of one variable to another, or the value of a variable to +a constant string. Conditionals control what @code{make} actually +``sees'' in the makefile, so they @emph{cannot} be used to control shell +commands at the time of execution.@refill + +@menu +* Conditional Example:: Example of a conditional +* Conditional Syntax:: The syntax of conditionals. +* Testing Flags:: Conditionals that test flags. +@end menu + +@node Conditional Example, Conditional Syntax, Conditionals, Conditionals +@section Example of a Conditional + +The following example of a conditional tells @code{make} to use one set +of libraries if the @code{CC} variable is @samp{gcc}, and a different +set of libraries otherwise. It works by controlling which of two +command lines will be used as the command for a rule. The result is +that @samp{CC=gcc} as an argument to @code{make} changes not only which +compiler is used but also which libraries are linked. + +@example +libs_for_gcc = -lgnu +normal_libs = + +foo: $(objects) +ifeq ($(CC),gcc) + $(CC) -o foo $(objects) $(libs_for_gcc) +else + $(CC) -o foo $(objects) $(normal_libs) +endif +@end example + +This conditional uses three directives: one @code{ifeq}, one @code{else} +and one @code{endif}. + +The @code{ifeq} directive begins the conditional, and specifies the +condition. It contains two arguments, separated by a comma and surrounded +by parentheses. Variable substitution is performed on both arguments and +then they are compared. The lines of the makefile following the +@code{ifeq} are obeyed if the two arguments match; otherwise they are +ignored. + +The @code{else} directive causes the following lines to be obeyed if the +previous conditional failed. In the example above, this means that the +second alternative linking command is used whenever the first alternative +is not used. It is optional to have an @code{else} in a conditional. + +The @code{endif} directive ends the conditional. Every conditional must +end with an @code{endif}. Unconditional makefile text follows. + +As this example illustrates, conditionals work at the textual level: +the lines of the conditional are treated as part of the makefile, or +ignored, according to the condition. This is why the larger syntactic +units of the makefile, such as rules, may cross the beginning or the +end of the conditional. + +When the variable @code{CC} has the value @samp{gcc}, the above example has +this effect: + +@example +foo: $(objects) + $(CC) -o foo $(objects) $(libs_for_gcc) +@end example + +@noindent +When the variable @code{CC} has any other value, the effect is this: + +@example +foo: $(objects) + $(CC) -o foo $(objects) $(normal_libs) +@end example + +Equivalent results can be obtained in another way by conditionalizing a +variable assignment and then using the variable unconditionally: + +@example +libs_for_gcc = -lgnu +normal_libs = + +ifeq ($(CC),gcc) + libs=$(libs_for_gcc) +else + libs=$(normal_libs) +endif + +foo: $(objects) + $(CC) -o foo $(objects) $(libs) +@end example + +@node Conditional Syntax, Testing Flags, Conditional Example, Conditionals +@section Syntax of Conditionals +@findex ifdef +@findex ifeq +@findex ifndef +@findex ifneq +@findex else +@findex endif + +The syntax of a simple conditional with no @code{else} is as follows: + +@example +@var{conditional-directive} +@var{text-if-true} +endif +@end example + +@noindent +The @var{text-if-true} may be any lines of text, to be considered as part +of the makefile if the condition is true. If the condition is false, no +text is used instead. + +The syntax of a complex conditional is as follows: + +@example +@var{conditional-directive} +@var{text-if-true} +else +@var{text-if-false} +endif +@end example + +@noindent +If the condition is true, @var{text-if-true} is used; otherwise, +@var{text-if-false} is used instead. The @var{text-if-false} can be any +number of lines of text. + +The syntax of the @var{conditional-directive} is the same whether the +conditional is simple or complex. There are four different directives that +test different conditions. Here is a table of them: + +@table @code +@item ifeq (@var{arg1}, @var{arg2}) +@itemx ifeq '@var{arg1}' '@var{arg2}' +@itemx ifeq "@var{arg1}" "@var{arg2}" +@itemx ifeq "@var{arg1}" '@var{arg2}' +@itemx ifeq '@var{arg1}' "@var{arg2}" +Expand all variable references in @var{arg1} and @var{arg2} and +compare them. If they are identical, the @var{text-if-true} is +effective; otherwise, the @var{text-if-false}, if any, is effective. + +Often you want to test if a variable has a non-empty value. When the +value results from complex expansions of variables and functions, +expansions you would consider empty may actually contain whitespace +characters and thus are not seen as empty. However, you can use the +@code{strip} function (@pxref{Text Functions}) to avoid interpreting +whitespace as a non-empty value. For example: + +@example +@group +ifeq ($(strip $(foo)),) +@var{text-if-empty} +endif +@end group +@end example + +@noindent +will evaluate @var{text-if-empty} even if the expansion of +@code{$(foo)} contains whitespace characters. + +@item ifneq (@var{arg1}, @var{arg2}) +@itemx ifneq '@var{arg1}' '@var{arg2}' +@itemx ifneq "@var{arg1}" "@var{arg2}" +@itemx ifneq "@var{arg1}" '@var{arg2}' +@itemx ifneq '@var{arg1}' "@var{arg2}" +Expand all variable references in @var{arg1} and @var{arg2} and +compare them. If they are different, the @var{text-if-true} is +effective; otherwise, the @var{text-if-false}, if any, is effective. + +@item ifdef @var{variable-name} +If the variable @var{variable-name} has a non-empty value, the +@var{text-if-true} is effective; otherwise, the @var{text-if-false}, +if any, is effective. Variables that have never been defined have an +empty value. The variable @var{variable-name} is itself expanded, so +it could be a variable or function that expands to the name of a +variable. + +Note that @code{ifdef} only tests whether a variable has a value. It +does not expand the variable to see if that value is nonempty. +Consequently, tests using @code{ifdef} return true for all definitions +except those like @code{foo =}. To test for an empty value, use +@w{@code{ifeq ($(foo),)}}. For example, + +@example +bar = +foo = $(bar) +ifdef foo +frobozz = yes +else +frobozz = no +endif +@end example + +@noindent +sets @samp{frobozz} to @samp{yes}, while: + +@example +foo = +ifdef foo +frobozz = yes +else +frobozz = no +endif +@end example + +@noindent +sets @samp{frobozz} to @samp{no}. + +@item ifndef @var{variable-name} +If the variable @var{variable-name} has an empty value, the +@var{text-if-true} is effective; otherwise, the @var{text-if-false}, +if any, is effective. +@end table + +Extra spaces are allowed and ignored at the beginning of the conditional +directive line, but a tab is not allowed. (If the line begins with a tab, +it will be considered a command for a rule.) Aside from this, extra spaces +or tabs may be inserted with no effect anywhere except within the directive +name or within an argument. A comment starting with @samp{#} may appear at +the end of the line. + +The other two directives that play a part in a conditional are @code{else} +and @code{endif}. Each of these directives is written as one word, with no +arguments. Extra spaces are allowed and ignored at the beginning of the +line, and spaces or tabs at the end. A comment starting with @samp{#} may +appear at the end of the line. + +Conditionals affect which lines of the makefile @code{make} uses. If +the condition is true, @code{make} reads the lines of the +@var{text-if-true} as part of the makefile; if the condition is false, +@code{make} ignores those lines completely. It follows that syntactic +units of the makefile, such as rules, may safely be split across the +beginning or the end of the conditional.@refill + +@code{make} evaluates conditionals when it reads a makefile. +Consequently, you cannot use automatic variables in the tests of +conditionals because they are not defined until commands are run +(@pxref{Automatic Variables}). + +To prevent intolerable confusion, it is not permitted to start a +conditional in one makefile and end it in another. However, you may +write an @code{include} directive within a conditional, provided you do +not attempt to terminate the conditional inside the included file. + +@node Testing Flags, , Conditional Syntax, Conditionals +@section Conditionals that Test Flags + +You can write a conditional that tests @code{make} command flags such as +@samp{-t} by using the variable @code{MAKEFLAGS} together with the +@code{findstring} function +(@pxref{Text Functions, , Functions for String Substitution and Analysis}). +This is useful when @code{touch} is not enough to make a file appear up +to date. + +The @code{findstring} function determines whether one string appears as a +substring of another. If you want to test for the @samp{-t} flag, +use @samp{t} as the first string and the value of @code{MAKEFLAGS} as +the other. + +For example, here is how to arrange to use @samp{ranlib -t} to finish +marking an archive file up to date: + +@example +archive.a: @dots{} +ifneq (,$(findstring t,$(MAKEFLAGS))) + +touch archive.a + +ranlib -t archive.a +else + ranlib archive.a +endif +@end example + +@noindent +The @samp{+} prefix marks those command lines as ``recursive'' so +that they will be executed despite use of the @samp{-t} flag. +@xref{Recursion, ,Recursive Use of @code{make}}. + +@node Functions, Running, Conditionals, Top +@chapter Functions for Transforming Text +@cindex functions + +@dfn{Functions} allow you to do text processing in the makefile to compute +the files to operate on or the commands to use. You use a function in a +@dfn{function call}, where you give the name of the function and some text +(the @dfn{arguments}) for the function to operate on. The result of the +function's processing is substituted into the makefile at the point of the +call, just as a variable might be substituted. + +@menu +* Syntax of Functions:: How to write a function call. +* Text Functions:: General-purpose text manipulation functions. +* File Name Functions:: Functions for manipulating file names. +* Foreach Function:: Repeat some text with controlled variation. +* If Function:: Conditionally expand a value. +* Call Function:: Expand a user-defined function. +* Value Function:: Return the un-expanded value of a variable. +* Eval Function:: Evaluate the arguments as makefile syntax. +* Origin Function:: Find where a variable got its value. +* Shell Function:: Substitute the output of a shell command. +* Make Control Functions:: Functions that control how make runs. +@end menu + +@node Syntax of Functions, Text Functions, Functions, Functions +@section Function Call Syntax +@cindex @code{$}, in function call +@cindex dollar sign (@code{$}), in function call +@cindex arguments of functions +@cindex functions, syntax of + +A function call resembles a variable reference. It looks like this: + +@example +$(@var{function} @var{arguments}) +@end example + +@noindent +or like this: + +@example +$@{@var{function} @var{arguments}@} +@end example + +Here @var{function} is a function name; one of a short list of names +that are part of @code{make}. You can also essentially create your own +functions by using the @code{call} builtin function. + +The @var{arguments} are the arguments of the function. They are +separated from the function name by one or more spaces or tabs, and if +there is more than one argument, then they are separated by commas. +Such whitespace and commas are not part of an argument's value. The +delimiters which you use to surround the function call, whether +parentheses or braces, can appear in an argument only in matching pairs; +the other kind of delimiters may appear singly. If the arguments +themselves contain other function calls or variable references, it is +wisest to use the same kind of delimiters for all the references; write +@w{@samp{$(subst a,b,$(x))}}, not @w{@samp{$(subst a,b,$@{x@})}}. This +is because it is clearer, and because only one type of delimiter is +matched to find the end of the reference. + +The text written for each argument is processed by substitution of +variables and function calls to produce the argument value, which +is the text on which the function acts. The substitution is done in the +order in which the arguments appear. + +Commas and unmatched parentheses or braces cannot appear in the text of an +argument as written; leading spaces cannot appear in the text of the first +argument as written. These characters can be put into the argument value +by variable substitution. First define variables @code{comma} and +@code{space} whose values are isolated comma and space characters, then +substitute these variables where such characters are wanted, like this: + +@example +@group +comma:= , +empty:= +space:= $(empty) $(empty) +foo:= a b c +bar:= $(subst $(space),$(comma),$(foo)) +# @r{bar is now `a,b,c'.} +@end group +@end example + +@noindent +Here the @code{subst} function replaces each space with a comma, through +the value of @code{foo}, and substitutes the result. + +@node Text Functions, File Name Functions, Syntax of Functions, Functions +@section Functions for String Substitution and Analysis +@cindex functions, for text + +Here are some functions that operate on strings: + +@table @code +@item $(subst @var{from},@var{to},@var{text}) +@findex subst +Performs a textual replacement on the text @var{text}: each occurrence +of @var{from} is replaced by @var{to}. The result is substituted for +the function call. For example, + +@example +$(subst ee,EE,feet on the street) +@end example + +substitutes the string @samp{fEEt on the strEEt}. + +@item $(patsubst @var{pattern},@var{replacement},@var{text}) +@findex patsubst +Finds whitespace-separated words in @var{text} that match +@var{pattern} and replaces them with @var{replacement}. Here +@var{pattern} may contain a @samp{%} which acts as a wildcard, +matching any number of any characters within a word. If +@var{replacement} also contains a @samp{%}, the @samp{%} is replaced +by the text that matched the @samp{%} in @var{pattern}. Only the first +@samp{%} in the @var{pattern} and @var{replacement} is treated this +way; any subsequent @samp{%} is unchanged.@refill + +@cindex @code{%}, quoting in @code{patsubst} +@cindex @code{%}, quoting with @code{\} (backslash) +@cindex @code{\} (backslash), to quote @code{%} +@cindex backslash (@code{\}), to quote @code{%} +@cindex quoting @code{%}, in @code{patsubst} +@samp{%} characters in @code{patsubst} function invocations can be +quoted with preceding backslashes (@samp{\}). Backslashes that would +otherwise quote @samp{%} characters can be quoted with more backslashes. +Backslashes that quote @samp{%} characters or other backslashes are +removed from the pattern before it is compared file names or has a stem +substituted into it. Backslashes that are not in danger of quoting +@samp{%} characters go unmolested. For example, the pattern +@file{the\%weird\\%pattern\\} has @samp{the%weird\} preceding the +operative @samp{%} character, and @samp{pattern\\} following it. The +final two backslashes are left alone because they cannot affect any +@samp{%} character.@refill + +Whitespace between words is folded into single space characters; +leading and trailing whitespace is discarded. + +For example, + +@example +$(patsubst %.c,%.o,x.c.c bar.c) +@end example + +@noindent +produces the value @samp{x.c.o bar.o}. + +Substitution references (@pxref{Substitution Refs, ,Substitution +References}) are a simpler way to get the effect of the @code{patsubst} +function: + +@example +$(@var{var}:@var{pattern}=@var{replacement}) +@end example + +@noindent +is equivalent to + +@example +$(patsubst @var{pattern},@var{replacement},$(@var{var})) +@end example + +The second shorthand simplifies one of the most common uses of +@code{patsubst}: replacing the suffix at the end of file names. + +@example +$(@var{var}:@var{suffix}=@var{replacement}) +@end example + +@noindent +is equivalent to + +@example +$(patsubst %@var{suffix},%@var{replacement},$(@var{var})) +@end example + +@noindent +For example, you might have a list of object files: + +@example +objects = foo.o bar.o baz.o +@end example + +@noindent +To get the list of corresponding source files, you could simply write: + +@example +$(objects:.o=.c) +@end example + +@noindent +instead of using the general form: + +@example +$(patsubst %.o,%.c,$(objects)) +@end example + +@item $(strip @var{string}) +@cindex stripping whitespace +@cindex whitespace, stripping +@cindex spaces, stripping +@findex strip +Removes leading and trailing whitespace from @var{string} and replaces +each internal sequence of one or more whitespace characters with a +single space. Thus, @samp{$(strip a b c )} results in @w{@samp{a b c}}. + +The function @code{strip} can be very useful when used in conjunction +with conditionals. When comparing something with the empty string +@samp{} using @code{ifeq} or @code{ifneq}, you usually want a string of +just whitespace to match the empty string (@pxref{Conditionals}). + +Thus, the following may fail to have the desired results: + +@example +.PHONY: all +ifneq "$(needs_made)" "" +all: $(needs_made) +else +all:;@@echo 'Nothing to make!' +endif +@end example + +@noindent +Replacing the variable reference @w{@samp{$(needs_made)}} with the +function call @w{@samp{$(strip $(needs_made))}} in the @code{ifneq} +directive would make it more robust.@refill + +@item $(findstring @var{find},@var{in}) +@findex findstring +@cindex searching for strings +@cindex finding strings +@cindex strings, searching for +Searches @var{in} for an occurrence of @var{find}. If it occurs, the +value is @var{find}; otherwise, the value is empty. You can use this +function in a conditional to test for the presence of a specific +substring in a given string. Thus, the two examples, + +@example +$(findstring a,a b c) +$(findstring a,b c) +@end example + +@noindent +produce the values @samp{a} and @samp{} (the empty string), +respectively. @xref{Testing Flags}, for a practical application of +@code{findstring}.@refill + +@need 750 +@findex filter +@cindex filtering words +@cindex words, filtering +@item $(filter @var{pattern}@dots{},@var{text}) +Returns all whitespace-separated words in @var{text} that @emph{do} match +any of the @var{pattern} words, removing any words that @emph{do not} +match. The patterns are written using @samp{%}, just like the patterns +used in the @code{patsubst} function above.@refill + +The @code{filter} function can be used to separate out different types +of strings (such as file names) in a variable. For example: + +@example +sources := foo.c bar.c baz.s ugh.h +foo: $(sources) + cc $(filter %.c %.s,$(sources)) -o foo +@end example + +@noindent +says that @file{foo} depends of @file{foo.c}, @file{bar.c}, +@file{baz.s} and @file{ugh.h} but only @file{foo.c}, @file{bar.c} and +@file{baz.s} should be specified in the command to the +compiler.@refill + +@item $(filter-out @var{pattern}@dots{},@var{text}) +@findex filter-out +@cindex filtering out words +@cindex words, filtering out +Returns all whitespace-separated words in @var{text} that @emph{do not} +match any of the @var{pattern} words, removing the words that @emph{do} +match one or more. This is the exact opposite of the @code{filter} +function.@refill + +For example, given: + +@example +@group +objects=main1.o foo.o main2.o bar.o +mains=main1.o main2.o +@end group +@end example + +@noindent +the following generates a list which contains all the object files not +in @samp{mains}: + +@example +$(filter-out $(mains),$(objects)) +@end example + +@need 1500 +@findex sort +@cindex sorting words +@item $(sort @var{list}) +Sorts the words of @var{list} in lexical order, removing duplicate +words. The output is a list of words separated by single spaces. +Thus, + +@example +$(sort foo bar lose) +@end example + +@noindent +returns the value @samp{bar foo lose}. + +@cindex removing duplicate words +@cindex duplicate words, removing +@cindex words, removing duplicates +Incidentally, since @code{sort} removes duplicate words, you can use +it for this purpose even if you don't care about the sort order. + +@item $(word @var{n},@var{text}) +@findex word +@cindex word, selecting a +@cindex selecting a word +Returns the @var{n}th word of @var{text}. The legitimate values of +@var{n} start from 1. If @var{n} is bigger than the number of words +in @var{text}, the value is empty. For example, + +@example +$(word 2, foo bar baz) +@end example + +@noindent +returns @samp{bar}. + +@item $(wordlist @var{s},@var{e},@var{text}) +@findex wordlist +@cindex words, selecting lists of +@cindex selecting word lists +Returns the list of words in @var{text} starting with word @var{s} and +ending with word @var{e} (inclusive). The legitimate values of @var{s} +and @var{e} start from 1. If @var{s} is bigger than the number of words +in @var{text}, the value is empty. If @var{e} is bigger than the number +of words in @var{text}, words up to the end of @var{text} are returned. +If @var{s} is greater than @var{e}, nothing is returned. For example, + +@example +$(wordlist 2, 3, foo bar baz) +@end example + +@noindent +returns @samp{bar baz}. + +@c Following item phrased to prevent overfull hbox. --RJC 17 Jul 92 +@item $(words @var{text}) +@findex words +@cindex words, finding number +Returns the number of words in @var{text}. +Thus, the last word of @var{text} is +@w{@code{$(word $(words @var{text}),@var{text})}}.@refill + +@item $(firstword @var{names}@dots{}) +@findex firstword +@cindex words, extracting first +The argument @var{names} is regarded as a series of names, separated +by whitespace. The value is the first name in the series. The rest +of the names are ignored. + +For example, + +@example +$(firstword foo bar) +@end example + +@noindent +produces the result @samp{foo}. Although @code{$(firstword +@var{text})} is the same as @code{$(word 1,@var{text})}, the +@code{firstword} function is retained for its simplicity.@refill +@end table + +Here is a realistic example of the use of @code{subst} and +@code{patsubst}. Suppose that a makefile uses the @code{VPATH} variable +to specify a list of directories that @code{make} should search for +prerequisite files +(@pxref{General Search, , @code{VPATH} Search Path for All Prerequisites}). +This example shows how to +tell the C compiler to search for header files in the same list of +directories.@refill + +The value of @code{VPATH} is a list of directories separated by colons, +such as @samp{src:../headers}. First, the @code{subst} function is used to +change the colons to spaces: + +@example +$(subst :, ,$(VPATH)) +@end example + +@noindent +This produces @samp{src ../headers}. Then @code{patsubst} is used to turn +each directory name into a @samp{-I} flag. These can be added to the +value of the variable @code{CFLAGS}, which is passed automatically to the C +compiler, like this: + +@example +override CFLAGS += $(patsubst %,-I%,$(subst :, ,$(VPATH))) +@end example + +@noindent +The effect is to append the text @samp{-Isrc -I../headers} to the +previously given value of @code{CFLAGS}. The @code{override} directive is +used so that the new value is assigned even if the previous value of +@code{CFLAGS} was specified with a command argument (@pxref{Override +Directive, , The @code{override} Directive}). + +@node File Name Functions, Foreach Function, Text Functions, Functions +@section Functions for File Names +@cindex functions, for file names +@cindex file name functions + +Several of the built-in expansion functions relate specifically to +taking apart file names or lists of file names. + +Each of the following functions performs a specific transformation on a +file name. The argument of the function is regarded as a series of file +names, separated by whitespace. (Leading and trailing whitespace is +ignored.) Each file name in the series is transformed in the same way and +the results are concatenated with single spaces between them. + +@table @code +@item $(dir @var{names}@dots{}) +@findex dir +@cindex directory part +@cindex file name, directory part +Extracts the directory-part of each file name in @var{names}. The +directory-part of the file name is everything up through (and +including) the last slash in it. If the file name contains no slash, +the directory part is the string @samp{./}. For example, + +@example +$(dir src/foo.c hacks) +@end example + +@noindent +produces the result @samp{src/ ./}. + +@item $(notdir @var{names}@dots{}) +@findex notdir +@cindex file name, nondirectory part +@cindex nondirectory part +Extracts all but the directory-part of each file name in @var{names}. +If the file name contains no slash, it is left unchanged. Otherwise, +everything through the last slash is removed from it. + +A file name that ends with a slash becomes an empty string. This is +unfortunate, because it means that the result does not always have the +same number of whitespace-separated file names as the argument had; +but we do not see any other valid alternative. + +For example, + +@example +$(notdir src/foo.c hacks) +@end example + +@noindent +produces the result @samp{foo.c hacks}. + +@item $(suffix @var{names}@dots{}) +@findex suffix +@cindex suffix, function to find +@cindex file name suffix +Extracts the suffix of each file name in @var{names}. If the file name +contains a period, the suffix is everything starting with the last +period. Otherwise, the suffix is the empty string. This frequently +means that the result will be empty when @var{names} is not, and if +@var{names} contains multiple file names, the result may contain fewer +file names. + +For example, + +@example +$(suffix src/foo.c src-1.0/bar.c hacks) +@end example + +@noindent +produces the result @samp{.c .c}. + +@item $(basename @var{names}@dots{}) +@findex basename +@cindex basename +@cindex file name, basename of +Extracts all but the suffix of each file name in @var{names}. If the +file name contains a period, the basename is everything starting up to +(and not including) the last period. Periods in the directory part are +ignored. If there is no period, the basename is the entire file name. +For example, + +@example +$(basename src/foo.c src-1.0/bar hacks) +@end example + +@noindent +produces the result @samp{src/foo src-1.0/bar hacks}. + +@c plural convention with dots (be consistent) +@item $(addsuffix @var{suffix},@var{names}@dots{}) +@findex addsuffix +@cindex suffix, adding +@cindex file name suffix, adding +The argument @var{names} is regarded as a series of names, separated +by whitespace; @var{suffix} is used as a unit. The value of +@var{suffix} is appended to the end of each individual name and the +resulting larger names are concatenated with single spaces between +them. For example, + +@example +$(addsuffix .c,foo bar) +@end example + +@noindent +produces the result @samp{foo.c bar.c}. + +@item $(addprefix @var{prefix},@var{names}@dots{}) +@findex addprefix +@cindex prefix, adding +@cindex file name prefix, adding +The argument @var{names} is regarded as a series of names, separated +by whitespace; @var{prefix} is used as a unit. The value of +@var{prefix} is prepended to the front of each individual name and the +resulting larger names are concatenated with single spaces between +them. For example, + +@example +$(addprefix src/,foo bar) +@end example + +@noindent +produces the result @samp{src/foo src/bar}. + +@item $(join @var{list1},@var{list2}) +@findex join +@cindex joining lists of words +@cindex words, joining lists +Concatenates the two arguments word by word: the two first words (one +from each argument) concatenated form the first word of the result, the +two second words form the second word of the result, and so on. So the +@var{n}th word of the result comes from the @var{n}th word of each +argument. If one argument has more words that the other, the extra +words are copied unchanged into the result. + +For example, @samp{$(join a b,.c .o)} produces @samp{a.c b.o}. + +Whitespace between the words in the lists is not preserved; it is +replaced with a single space. + +This function can merge the results of the @code{dir} and +@code{notdir} functions, to produce the original list of files which +was given to those two functions.@refill + +@item $(wildcard @var{pattern}) +@findex wildcard +@cindex wildcard, function +The argument @var{pattern} is a file name pattern, typically containing +wildcard characters (as in shell file name patterns). The result of +@code{wildcard} is a space-separated list of the names of existing files +that match the pattern. +@xref{Wildcards, ,Using Wildcard Characters in File Names}. +@end table + +@node Foreach Function, If Function, File Name Functions, Functions +@section The @code{foreach} Function +@findex foreach +@cindex words, iterating over + +The @code{foreach} function is very different from other functions. It +causes one piece of text to be used repeatedly, each time with a different +substitution performed on it. It resembles the @code{for} command in the +shell @code{sh} and the @code{foreach} command in the C-shell @code{csh}. + +The syntax of the @code{foreach} function is: + +@example +$(foreach @var{var},@var{list},@var{text}) +@end example + +@noindent +The first two arguments, @var{var} and @var{list}, are expanded before +anything else is done; note that the last argument, @var{text}, is +@strong{not} expanded at the same time. Then for each word of the expanded +value of @var{list}, the variable named by the expanded value of @var{var} +is set to that word, and @var{text} is expanded. Presumably @var{text} +contains references to that variable, so its expansion will be different +each time. + +The result is that @var{text} is expanded as many times as there are +whitespace-separated words in @var{list}. The multiple expansions of +@var{text} are concatenated, with spaces between them, to make the result +of @code{foreach}. + +This simple example sets the variable @samp{files} to the list of all files +in the directories in the list @samp{dirs}: + +@example +dirs := a b c d +files := $(foreach dir,$(dirs),$(wildcard $(dir)/*)) +@end example + +Here @var{text} is @samp{$(wildcard $(dir)/*)}. The first repetition +finds the value @samp{a} for @code{dir}, so it produces the same result +as @samp{$(wildcard a/*)}; the second repetition produces the result +of @samp{$(wildcard b/*)}; and the third, that of @samp{$(wildcard c/*)}. + +This example has the same result (except for setting @samp{dirs}) as +the following example: + +@example +files := $(wildcard a/* b/* c/* d/*) +@end example + +When @var{text} is complicated, you can improve readability by giving it +a name, with an additional variable: + +@example +find_files = $(wildcard $(dir)/*) +dirs := a b c d +files := $(foreach dir,$(dirs),$(find_files)) +@end example + +@noindent +Here we use the variable @code{find_files} this way. We use plain @samp{=} +to define a recursively-expanding variable, so that its value contains an +actual function call to be reexpanded under the control of @code{foreach}; +a simply-expanded variable would not do, since @code{wildcard} would be +called only once at the time of defining @code{find_files}. + +The @code{foreach} function has no permanent effect on the variable +@var{var}; its value and flavor after the @code{foreach} function call are +the same as they were beforehand. The other values which are taken from +@var{list} are in effect only temporarily, during the execution of +@code{foreach}. The variable @var{var} is a simply-expanded variable +during the execution of @code{foreach}. If @var{var} was undefined +before the @code{foreach} function call, it is undefined after the call. +@xref{Flavors, ,The Two Flavors of Variables}.@refill + +You must take care when using complex variable expressions that result in +variable names because many strange things are valid variable names, but +are probably not what you intended. For example, + +@smallexample +files := $(foreach Esta escrito en espanol!,b c ch,$(find_files)) +@end smallexample + +@noindent +might be useful if the value of @code{find_files} references the variable +whose name is @samp{Esta escrito en espanol!} (es un nombre bastante largo, +no?), but it is more likely to be a mistake. + +@node If Function, Call Function, Foreach Function, Functions +@section The @code{if} Function +@findex if +@cindex conditional expansion + +The @code{if} function provides support for conditional expansion in a +functional context (as opposed to the GNU @code{make} makefile +conditionals such as @code{ifeq} (@pxref{Conditional Syntax, ,Syntax of +Conditionals}). + +An @code{if} function call can contain either two or three arguments: + +@example +$(if @var{condition},@var{then-part}[,@var{else-part}]) +@end example + +The first argument, @var{condition}, first has all preceding and +trailing whitespace stripped, then is expanded. If it expands to any +non-empty string, then the condition is considered to be true. If it +expands to an empty string, the condition is considered to be false. + +If the condition is true then the second argument, @var{then-part}, is +evaluated and this is used as the result of the evaluation of the entire +@code{if} function. + +If the condition is false then the third argument, @var{else-part}, is +evaluated and this is the result of the @code{if} function. If there is +no third argument, the @code{if} function evaluates to nothing (the +empty string). + +Note that only one of the @var{then-part} or the @var{else-part} will be +evaluated, never both. Thus, either can contain side-effects (such as +@code{shell} function calls, etc.) + +@node Call Function, Value Function, If Function, Functions +@section The @code{call} Function +@findex call +@cindex functions, user defined +@cindex user defined functions + +The @code{call} function is unique in that it can be used to create new +parameterized functions. You can write a complex expression as the +value of a variable, then use @code{call} to expand it with different +values. + +The syntax of the @code{call} function is: + +@example +$(call @var{variable},@var{param},@var{param},@dots{}) +@end example + +When @code{make} expands this function, it assigns each @var{param} to +temporary variables @code{$(1)}, @code{$(2)}, etc. The variable +@code{$(0)} will contain @var{variable}. There is no maximum number of +parameter arguments. There is no minimum, either, but it doesn't make +sense to use @code{call} with no parameters. + +Then @var{variable} is expanded as a @code{make} variable in the context +of these temporary assignments. Thus, any reference to @code{$(1)} in +the value of @var{variable} will resolve to the first @var{param} in the +invocation of @code{call}. + +Note that @var{variable} is the @emph{name} of a variable, not a +@emph{reference} to that variable. Therefore you would not normally use +a @samp{$} or parentheses when writing it. (You can, however, use a +variable reference in the name if you want the name not to be a +constant.) + +If @var{variable} is the name of a builtin function, the builtin function +is always invoked (even if a @code{make} variable by that name also +exists). + +The @code{call} function expands the @var{param} arguments before +assigning them to temporary variables. This means that @var{variable} +values containing references to builtin functions that have special +expansion rules, like @code{foreach} or @code{if}, may not work as you +expect. + +Some examples may make this clearer. + +This macro simply reverses its arguments: + +@smallexample +reverse = $(2) $(1) + +foo = $(call reverse,a,b) +@end smallexample + +@noindent +Here @var{foo} will contain @samp{b a}. + +This one is slightly more interesting: it defines a macro to search for +the first instance of a program in @code{PATH}: + +@smallexample +pathsearch = $(firstword $(wildcard $(addsuffix /$(1),$(subst :, ,$(PATH))))) + +LS := $(call pathsearch,ls) +@end smallexample + +@noindent +Now the variable LS contains @code{/bin/ls} or similar. + +The @code{call} function can be nested. Each recursive invocation gets +its own local values for @code{$(1)}, etc. that mask the values of +higher-level @code{call}. For example, here is an implementation of a +@dfn{map} function: + +@smallexample +map = $(foreach a,$(2),$(call $(1),$(a))) +@end smallexample + +Now you can @var{map} a function that normally takes only one argument, +such as @code{origin}, to multiple values in one step: + +@smallexample +o = $(call map,origin,o map MAKE) +@end smallexample + +and end up with @var{o} containing something like @samp{file file default}. + +A final caution: be careful when adding whitespace to the arguments to +@code{call}. As with other functions, any whitespace contained in the +second and subsequent arguments is kept; this can cause strange +effects. It's generally safest to remove all extraneous whitespace when +providing parameters to @code{call}. + +@node Value Function, Eval Function, Call Function, Functions +@comment node-name, next, previous, up +@section The @code{value} Function +@findex value +@cindex variables, unexpanded value + +The @code{value} function provides a way for you to use the value of a +variable @emph{without} having it expanded. Please note that this +does not undo expansions which have already occurred; for example if +you create a simply expanded variable its value is expanded during the +definition; in that case the @code{value} function will return the +same result as using the variable directly. + +The syntax of the @code{value} function is: + +@example +$(value @var{variable}) +@end example + +Note that @var{variable} is the @emph{name} of a variable; not a +@emph{reference} to that variable. Therefore you would not normally +use a @samp{$} or parentheses when writing it. (You can, however, use +a variable reference in the name if you want the name not to be a +constant.) + +The result of this function is a string containing the value of +@var{variable}, without any expansion occurring. For example, in this +makefile: + +@example +@group +FOO = $PATH + +all: + @@echo $(FOO) + @@echo $(value FOO) +@end group +@end example + +@noindent +The first output line would be @code{ATH}, since the ``$P'' would be +expanded as a @code{make} variable, while the second output line would +be the current value of your @code{$PATH} environment variable, since +the @code{value} function avoided the expansion. + +The @code{value} function is most often used in conjunction with the +@code{eval} function (@pxref{Eval Function}). + +@node Eval Function, Origin Function, Value Function, Functions +@comment node-name, next, previous, up +@section The @code{eval} Function +@findex eval +@cindex evaluating makefile syntax +@cindex makefile syntax, evaluating + +The @code{eval} function is very special: it allows you to define new +makefile constructs that are not constant; which are the result of +evaluating other variables and functions. The argument to the +@code{eval} function is expanded, then the results of that expansion +are parsed as makefile syntax. The expanded results can define new +@code{make} variables, targets, implicit or explicit rules, etc. + +The result of the @code{eval} function is always the empty string; +thus, it can be placed virtually anywhere in a makefile without +causing syntax errors. + +It's important to realize that the @code{eval} argument is expanded +@emph{twice}; first by the @code{eval} function, then the results of +that expansion are expanded again when they are parsed as makefile +syntax. This means you may need to provide extra levels of escaping +for ``$'' characters when using @code{eval}. The @code{value} +function (@pxref{Value Function}) can sometimes be useful in these +situations, to circumvent unwanted expansions. + +Here is an example of how @code{eval} can be used; this example +combines a number of concepts and other functions. Although it might +seem overly complex to use @code{eval} in this example, rather than +just writing out the rules, consider two things: first, the template +definition (in @code{PROGRAM_template}) could need to be much more +complex than it is here; and second, you might put the complex, +``generic'' part of this example into another makefile, then include +it in all the individual makefiles. Now your individual makefiles are +quite straightforward. + +@example +@group +PROGRAMS = server client + +server_OBJS = server.o server_priv.o server_access.o +server_LIBS = priv protocol + +client_OBJS = client.o client_api.o client_mem.o +client_LIBS = protocol + +# Everything after this is generic + +.PHONY: all +all: $(PROGRAMS) + +define PROGRAM_template + $(1): $$($(1)_OBJ) $$($(1)_LIBS:%=-l%) + ALL_OBJS += $$($(1)_OBJS) +endef + +$(foreach prog,$(PROGRAMS),$(eval $(call PROGRAM_template,$(prog)))) + +$(PROGRAMS): + $(LINK.o) $^ $(LDLIBS) -o $@@ + +clean: + rm -f $(ALL_OBJS) $(PROGRAMS) +@end group +@end example + +@node Origin Function, Shell Function, Eval Function, Functions +@section The @code{origin} Function +@findex origin +@cindex variables, origin of +@cindex origin of variable + +The @code{origin} function is unlike most other functions in that it does +not operate on the values of variables; it tells you something @emph{about} +a variable. Specifically, it tells you where it came from. + +The syntax of the @code{origin} function is: + +@example +$(origin @var{variable}) +@end example + +Note that @var{variable} is the @emph{name} of a variable to inquire about; +not a @emph{reference} to that variable. Therefore you would not normally +use a @samp{$} or parentheses when writing it. (You can, however, use a +variable reference in the name if you want the name not to be a constant.) + +The result of this function is a string telling you how the variable +@var{variable} was defined: + +@table @samp +@item undefined + +if @var{variable} was never defined. + +@item default + +if @var{variable} has a default definition, as is usual with @code{CC} +and so on. @xref{Implicit Variables, ,Variables Used by Implicit Rules}. +Note that if you have redefined a default variable, the @code{origin} +function will return the origin of the later definition. + +@item environment + +if @var{variable} was defined as an environment variable and the +@samp{-e} option is @emph{not} turned on (@pxref{Options Summary, ,Summary of Options}). + +@item environment override + +if @var{variable} was defined as an environment variable and the +@w{@samp{-e}} option @emph{is} turned on (@pxref{Options Summary, +,Summary of Options}).@refill + +@item file + +if @var{variable} was defined in a makefile. + +@item command line + +if @var{variable} was defined on the command line. + +@item override + +if @var{variable} was defined with an @code{override} directive in a +makefile (@pxref{Override Directive, ,The @code{override} Directive}). + +@item automatic + +if @var{variable} is an automatic variable defined for the +execution of the commands for each rule +(@pxref{Automatic Variables}). +@end table + +This information is primarily useful (other than for your curiosity) to +determine if you want to believe the value of a variable. For example, +suppose you have a makefile @file{foo} that includes another makefile +@file{bar}. You want a variable @code{bletch} to be defined in @file{bar} +if you run the command @w{@samp{make -f bar}}, even if the environment contains +a definition of @code{bletch}. However, if @file{foo} defined +@code{bletch} before including @file{bar}, you do not want to override that +definition. This could be done by using an @code{override} directive in +@file{foo}, giving that definition precedence over the later definition in +@file{bar}; unfortunately, the @code{override} directive would also +override any command line definitions. So, @file{bar} could +include:@refill + +@example +@group +ifdef bletch +ifeq "$(origin bletch)" "environment" +bletch = barf, gag, etc. +endif +endif +@end group +@end example + +@noindent +If @code{bletch} has been defined from the environment, this will redefine +it. + +If you want to override a previous definition of @code{bletch} if it came +from the environment, even under @samp{-e}, you could instead write: + +@example +@group +ifneq "$(findstring environment,$(origin bletch))" "" +bletch = barf, gag, etc. +endif +@end group +@end example + +Here the redefinition takes place if @samp{$(origin bletch)} returns either +@samp{environment} or @samp{environment override}. +@xref{Text Functions, , Functions for String Substitution and Analysis}. + +@node Shell Function, Make Control Functions, Origin Function, Functions +@section The @code{shell} Function +@findex shell +@cindex commands, expansion +@cindex backquotes +@cindex shell command, function for + +The @code{shell} function is unlike any other function except the +@code{wildcard} function +(@pxref{Wildcard Function, ,The Function @code{wildcard}}) in that it +communicates with the world outside of @code{make}. + +The @code{shell} function performs the same function that backquotes +(@samp{`}) perform in most shells: it does @dfn{command expansion}. This +means that it takes an argument that is a shell command and returns the +output of the command. The only processing @code{make} does on the result, +before substituting it into the surrounding text, is to convert each +newline or carriage-return / newline pair to a single space. It also +removes the trailing (carriage-return and) newline, if it's the last +thing in the result.@refill + +The commands run by calls to the @code{shell} function are run when the +function calls are expanded (@pxref{Reading Makefiles, , How +@code{make} Reads a Makefile}). Because this function involves +spawning a new shell, you should carefully consider the performance +implications of using the @code{shell} function within recursively +expanded variables vs. simply expanded variables (@pxref{Flavors, ,The +Two Flavors of Variables}). + +Here are some examples of the use of the @code{shell} function: + +@example +contents := $(shell cat foo) +@end example + +@noindent +sets @code{contents} to the contents of the file @file{foo}, with a space +(rather than a newline) separating each line. + +@example +files := $(shell echo *.c) +@end example + +@noindent +sets @code{files} to the expansion of @samp{*.c}. Unless @code{make} is +using a very strange shell, this has the same result as +@w{@samp{$(wildcard *.c)}}.@refill + +@node Make Control Functions, , Shell Function, Functions +@section Functions That Control Make +@cindex functions, for controlling make +@cindex controlling make + +These functions control the way make runs. Generally, they are used to +provide information to the user of the makefile or to cause make to stop +if some sort of environmental error is detected. + +@table @code +@item $(error @var{text}@dots{}) +@findex error +@cindex error, stopping on +@cindex stopping make +Generates a fatal error where the message is @var{text}. Note that the +error is generated whenever this function is evaluated. So, if you put +it inside a command script or on the right side of a recursive variable +assignment, it won't be evaluated until later. The @var{text} will be +expanded before the error is generated. + +For example, + +@example +ifdef ERROR1 +$(error error is $(ERROR1)) +endif +@end example + +@noindent +will generate a fatal error during the read of the makefile if the +@code{make} variable @code{ERROR1} is defined. Or, + +@example +ERR = $(error found an error!) + +.PHONY: err +err: ; $(ERR) +@end example + +@noindent +will generate a fatal error while @code{make} is running, if the +@code{err} target is invoked. + +@item $(warning @var{text}@dots{}) +@findex warning +@cindex warnings, printing +@cindex printing user warnings +This function works similarly to the @code{error} function, above, +except that @code{make} doesn't exit. Instead, @var{text} is expanded +and the resulting message is displayed, but processing of the makefile +continues. + +The result of the expansion of this function is the empty string. +@end table + +@node Running, Implicit Rules, Functions, Top +@chapter How to Run @code{make} + +A makefile that says how to recompile a program can be used in more +than one way. The simplest use is to recompile every file that is out +of date. Usually, makefiles are written so that if you run +@code{make} with no arguments, it does just that. + +But you might want to update only some of the files; you might want to use +a different compiler or different compiler options; you might want just to +find out which files are out of date without changing them. + +By giving arguments when you run @code{make}, you can do any of these +things and many others. + +The exit status of @code{make} is always one of three values: +@table @code +@item 0 +The exit status is zero if @code{make} is successful. +@item 2 +The exit status is two if @code{make} encounters any errors. +It will print messages describing the particular errors. +@item 1 +The exit status is one if you use the @samp{-q} flag and @code{make} +determines that some target is not already up to date. +@xref{Instead of Execution, ,Instead of Executing the Commands}. +@end table + +@menu +* Makefile Arguments:: How to specify which makefile to use. +* Goals:: How to use goal arguments to specify which + parts of the makefile to use. +* Instead of Execution:: How to use mode flags to specify what + kind of thing to do with the commands + in the makefile other than simply + execute them. +* Avoiding Compilation:: How to avoid recompiling certain files. +* Overriding:: How to override a variable to specify + an alternate compiler and other things. +* Testing:: How to proceed past some errors, to + test compilation. +* Options Summary:: Summary of Options +@end menu + +@node Makefile Arguments, Goals, Running, Running +@section Arguments to Specify the Makefile +@cindex @code{--file} +@cindex @code{--makefile} +@cindex @code{-f} + +The way to specify the name of the makefile is with the @samp{-f} or +@samp{--file} option (@samp{--makefile} also works). For example, +@samp{-f altmake} says to use the file @file{altmake} as the makefile. + +If you use the @samp{-f} flag several times and follow each @samp{-f} +with an argument, all the specified files are used jointly as +makefiles. + +If you do not use the @samp{-f} or @samp{--file} flag, the default is +to try @file{GNUmakefile}, @file{makefile}, and @file{Makefile}, in +that order, and use the first of these three which exists or can be made +(@pxref{Makefiles, ,Writing Makefiles}).@refill + +@node Goals, Instead of Execution, Makefile Arguments, Running +@section Arguments to Specify the Goals +@cindex goal, how to specify + +The @dfn{goals} are the targets that @code{make} should strive ultimately +to update. Other targets are updated as well if they appear as +prerequisites of goals, or prerequisites of prerequisites of goals, etc. + +By default, the goal is the first target in the makefile (not counting +targets that start with a period). Therefore, makefiles are usually +written so that the first target is for compiling the entire program or +programs they describe. If the first rule in the makefile has several +targets, only the first target in the rule becomes the default goal, not +the whole list. + +You can specify a different goal or goals with arguments to @code{make}. +Use the name of the goal as an argument. If you specify several goals, +@code{make} processes each of them in turn, in the order you name them. + +Any target in the makefile may be specified as a goal (unless it +starts with @samp{-} or contains an @samp{=}, in which case it will be +parsed as a switch or variable definition, respectively). Even +targets not in the makefile may be specified, if @code{make} can find +implicit rules that say how to make them. + +@cindex @code{MAKECMDGOALS} +@vindex MAKECMDGOALS +@code{Make} will set the special variable @code{MAKECMDGOALS} to the +list of goals you specified on the command line. If no goals were given +on the command line, this variable is empty. Note that this variable +should be used only in special circumstances. + +An example of appropriate use is to avoid including @file{.d} files +during @code{clean} rules (@pxref{Automatic Prerequisites}), so +@code{make} won't create them only to immediately remove them +again:@refill + +@example +@group +sources = foo.c bar.c + +ifneq ($(MAKECMDGOALS),clean) +include $(sources:.c=.d) +endif +@end group +@end example + +One use of specifying a goal is if you want to compile only a part of +the program, or only one of several programs. Specify as a goal each +file that you wish to remake. For example, consider a directory containing +several programs, with a makefile that starts like this: + +@example +.PHONY: all +all: size nm ld ar as +@end example + +If you are working on the program @code{size}, you might want to say +@w{@samp{make size}} so that only the files of that program are recompiled. + +Another use of specifying a goal is to make files that are not normally +made. For example, there may be a file of debugging output, or a +version of the program that is compiled specially for testing, which has +a rule in the makefile but is not a prerequisite of the default goal. + +Another use of specifying a goal is to run the commands associated with +a phony target (@pxref{Phony Targets}) or empty target (@pxref{Empty +Targets, ,Empty Target Files to Record Events}). Many makefiles contain +a phony target named @file{clean} which deletes everything except source +files. Naturally, this is done only if you request it explicitly with +@w{@samp{make clean}}. Following is a list of typical phony and empty +target names. @xref{Standard Targets}, for a detailed list of all the +standard target names which GNU software packages use. + +@table @file +@item all +@cindex @code{all} @r{(standard target)} +Make all the top-level targets the makefile knows about. + +@item clean +@cindex @code{clean} @r{(standard target)} +Delete all files that are normally created by running @code{make}. + +@item mostlyclean +@cindex @code{mostlyclean} @r{(standard target)} +Like @samp{clean}, but may refrain from deleting a few files that people +normally don't want to recompile. For example, the @samp{mostlyclean} +target for GCC does not delete @file{libgcc.a}, because recompiling it +is rarely necessary and takes a lot of time. + +@item distclean +@cindex @code{distclean} @r{(standard target)} +@itemx realclean +@cindex @code{realclean} @r{(standard target)} +@itemx clobber +@cindex @code{clobber} @r{(standard target)} +Any of these targets might be defined to delete @emph{more} files than +@samp{clean} does. For example, this would delete configuration files +or links that you would normally create as preparation for compilation, +even if the makefile itself cannot create these files. + +@item install +@cindex @code{install} @r{(standard target)} +Copy the executable file into a directory that users typically search +for commands; copy any auxiliary files that the executable uses into +the directories where it will look for them. + +@item print +@cindex @code{print} @r{(standard target)} +Print listings of the source files that have changed. + +@item tar +@cindex @code{tar} @r{(standard target)} +Create a tar file of the source files. + +@item shar +@cindex @code{shar} @r{(standard target)} +Create a shell archive (shar file) of the source files. + +@item dist +@cindex @code{dist} @r{(standard target)} +Create a distribution file of the source files. This might +be a tar file, or a shar file, or a compressed version of one of the +above, or even more than one of the above. + +@item TAGS +@cindex @code{TAGS} @r{(standard target)} +Update a tags table for this program. + +@item check +@cindex @code{check} @r{(standard target)} +@itemx test +@cindex @code{test} @r{(standard target)} +Perform self tests on the program this makefile builds. +@end table + +@node Instead of Execution, Avoiding Compilation, Goals, Running +@section Instead of Executing the Commands +@cindex execution, instead of +@cindex commands, instead of executing + +The makefile tells @code{make} how to tell whether a target is up to date, +and how to update each target. But updating the targets is not always +what you want. Certain options specify other activities for @code{make}. + +@comment Extra blank lines make it print better. +@table @samp +@item -n +@itemx --just-print +@itemx --dry-run +@itemx --recon +@cindex @code{--just-print} +@cindex @code{--dry-run} +@cindex @code{--recon} +@cindex @code{-n} + +``No-op''. The activity is to print what commands would be used to make +the targets up to date, but not actually execute them. + +@item -t +@itemx --touch +@cindex @code{--touch} +@cindex touching files +@cindex target, touching +@cindex @code{-t} + +``Touch''. The activity is to mark the targets as up to date without +actually changing them. In other words, @code{make} pretends to compile +the targets but does not really change their contents. + +@item -q +@itemx --question +@cindex @code{--question} +@cindex @code{-q} +@cindex question mode + +``Question''. The activity is to find out silently whether the targets +are up to date already; but execute no commands in either case. In other +words, neither compilation nor output will occur. + +@item -W @var{file} +@itemx --what-if=@var{file} +@itemx --assume-new=@var{file} +@itemx --new-file=@var{file} +@cindex @code{--what-if} +@cindex @code{-W} +@cindex @code{--assume-new} +@cindex @code{--new-file} +@cindex what if +@cindex files, assuming new + +``What if''. Each @samp{-W} flag is followed by a file name. The given +files' modification times are recorded by @code{make} as being the present +time, although the actual modification times remain the same. +You can use the @samp{-W} flag in conjunction with the @samp{-n} flag +to see what would happen if you were to modify specific files.@refill +@end table + +With the @samp{-n} flag, @code{make} prints the commands that it would +normally execute but does not execute them. + +With the @samp{-t} flag, @code{make} ignores the commands in the rules +and uses (in effect) the command @code{touch} for each target that needs to +be remade. The @code{touch} command is also printed, unless @samp{-s} or +@code{.SILENT} is used. For speed, @code{make} does not actually invoke +the program @code{touch}. It does the work directly. + +With the @samp{-q} flag, @code{make} prints nothing and executes no +commands, but the exit status code it returns is zero if and only if the +targets to be considered are already up to date. If the exit status is +one, then some updating needs to be done. If @code{make} encounters an +error, the exit status is two, so you can distinguish an error from a +target that is not up to date. + +It is an error to use more than one of these three flags in the same +invocation of @code{make}. + +@cindex +, and command execution +The @samp{-n}, @samp{-t}, and @samp{-q} options do not affect command +lines that begin with @samp{+} characters or contain the strings +@samp{$(MAKE)} or @samp{$@{MAKE@}}. Note that only the line containing +the @samp{+} character or the strings @samp{$(MAKE)} or @samp{$@{MAKE@}} +is run regardless of these options. Other lines in the same rule are +not run unless they too begin with @samp{+} or contain @samp{$(MAKE)} or +@samp{$@{MAKE@}} (@xref{MAKE Variable, ,How the @code{MAKE} Variable Works}.) + +The @samp{-W} flag provides two features: + +@itemize @bullet +@item +If you also use the @samp{-n} or @samp{-q} flag, you can see what +@code{make} would do if you were to modify some files. + +@item +Without the @samp{-n} or @samp{-q} flag, when @code{make} is actually +executing commands, the @samp{-W} flag can direct @code{make} to act +as if some files had been modified, without actually modifying the +files.@refill +@end itemize + +Note that the options @samp{-p} and @samp{-v} allow you to obtain other +information about @code{make} or about the makefiles in use +(@pxref{Options Summary, ,Summary of Options}).@refill + +@node Avoiding Compilation, Overriding, Instead of Execution, Running +@section Avoiding Recompilation of Some Files +@cindex @code{-o} +@cindex @code{--old-file} +@cindex @code{--assume-old} +@cindex files, assuming old +@cindex files, avoiding recompilation of +@cindex recompilation, avoiding + +Sometimes you may have changed a source file but you do not want to +recompile all the files that depend on it. For example, suppose you add +a macro or a declaration to a header file that many other files depend +on. Being conservative, @code{make} assumes that any change in the +header file requires recompilation of all dependent files, but you know +that they do not need to be recompiled and you would rather not waste +the time waiting for them to compile. + +If you anticipate the problem before changing the header file, you can +use the @samp{-t} flag. This flag tells @code{make} not to run the +commands in the rules, but rather to mark the target up to date by +changing its last-modification date. You would follow this procedure: + +@enumerate +@item +Use the command @samp{make} to recompile the source files that really +need recompilation, ensuring that the object files are up-to-date +before you begin. + +@item +Make the changes in the header files. + +@item +Use the command @samp{make -t} to mark all the object files as +up to date. The next time you run @code{make}, the changes in the +header files will not cause any recompilation. +@end enumerate + +If you have already changed the header file at a time when some files +do need recompilation, it is too late to do this. Instead, you can +use the @w{@samp{-o @var{file}}} flag, which marks a specified file as +``old'' (@pxref{Options Summary, ,Summary of Options}). This means +that the file itself will not be remade, and nothing else will be +remade on its account. Follow this procedure: + +@enumerate +@item +Recompile the source files that need compilation for reasons independent +of the particular header file, with @samp{make -o @var{headerfile}}. +If several header files are involved, use a separate @samp{-o} option +for each header file. + +@item +Touch all the object files with @samp{make -t}. +@end enumerate + +@node Overriding, Testing, Avoiding Compilation, Running +@section Overriding Variables +@cindex overriding variables with arguments +@cindex variables, overriding with arguments +@cindex command line variables +@cindex variables, command line + +An argument that contains @samp{=} specifies the value of a variable: +@samp{@var{v}=@var{x}} sets the value of the variable @var{v} to @var{x}. +If you specify a value in this way, all ordinary assignments of the same +variable in the makefile are ignored; we say they have been +@dfn{overridden} by the command line argument. + +The most common way to use this facility is to pass extra flags to +compilers. For example, in a properly written makefile, the variable +@code{CFLAGS} is included in each command that runs the C compiler, so a +file @file{foo.c} would be compiled something like this: + +@example +cc -c $(CFLAGS) foo.c +@end example + +Thus, whatever value you set for @code{CFLAGS} affects each compilation +that occurs. The makefile probably specifies the usual value for +@code{CFLAGS}, like this: + +@example +CFLAGS=-g +@end example + +Each time you run @code{make}, you can override this value if you +wish. For example, if you say @samp{make CFLAGS='-g -O'}, each C +compilation will be done with @samp{cc -c -g -O}. (This also +illustrates how you can use quoting in the shell to enclose spaces and +other special characters in the value of a variable when you override +it.) + +The variable @code{CFLAGS} is only one of many standard variables that +exist just so that you can change them this way. @xref{Implicit +Variables, , Variables Used by Implicit Rules}, for a complete list. + +You can also program the makefile to look at additional variables of your +own, giving the user the ability to control other aspects of how the +makefile works by changing the variables. + +When you override a variable with a command argument, you can define either +a recursively-expanded variable or a simply-expanded variable. The +examples shown above make a recursively-expanded variable; to make a +simply-expanded variable, write @samp{:=} instead of @samp{=}. But, unless +you want to include a variable reference or function call in the +@emph{value} that you specify, it makes no difference which kind of +variable you create. + +There is one way that the makefile can change a variable that you have +overridden. This is to use the @code{override} directive, which is a line +that looks like this: @samp{override @var{variable} = @var{value}} +(@pxref{Override Directive, ,The @code{override} Directive}). + +@node Testing, Options Summary, Overriding, Running +@section Testing the Compilation of a Program +@cindex testing compilation +@cindex compilation, testing + +Normally, when an error happens in executing a shell command, @code{make} +gives up immediately, returning a nonzero status. No further commands are +executed for any target. The error implies that the goal cannot be +correctly remade, and @code{make} reports this as soon as it knows. + +When you are compiling a program that you have just changed, this is not +what you want. Instead, you would rather that @code{make} try compiling +every file that can be tried, to show you as many compilation errors +as possible. + +@cindex @code{-k} +@cindex @code{--keep-going} +On these occasions, you should use the @samp{-k} or +@samp{--keep-going} flag. This tells @code{make} to continue to +consider the other prerequisites of the pending targets, remaking them +if necessary, before it gives up and returns nonzero status. For +example, after an error in compiling one object file, @samp{make -k} +will continue compiling other object files even though it already +knows that linking them will be impossible. In addition to continuing +after failed shell commands, @samp{make -k} will continue as much as +possible after discovering that it does not know how to make a target +or prerequisite file. This will always cause an error message, but +without @samp{-k}, it is a fatal error (@pxref{Options Summary, +,Summary of Options}).@refill + +The usual behavior of @code{make} assumes that your purpose is to get the +goals up to date; once @code{make} learns that this is impossible, it might +as well report the failure immediately. The @samp{-k} flag says that the +real purpose is to test as much as possible of the changes made in the +program, perhaps to find several independent problems so that you can +correct them all before the next attempt to compile. This is why Emacs' +@kbd{M-x compile} command passes the @samp{-k} flag by default. + +@node Options Summary, , Testing, Running +@section Summary of Options +@cindex options +@cindex flags +@cindex switches + +Here is a table of all the options @code{make} understands: + +@table @samp +@item -b +@cindex @code{-b} +@itemx -m +@cindex @code{-m} +These options are ignored for compatibility with other versions of @code{make}. + +@item -B +@cindex @code{-B} +@itemx --always-make +@cindex @code{--always-make} +Consider all targets out-of-date. GNU @code{make} proceeds to +consider targets and their prerequisites using the normal algorithms; +however, all these targets are remade, regardless of the status of +their prerequisites. + +@item -C @var{dir} +@cindex @code{-C} +@itemx --directory=@var{dir} +@cindex @code{--directory} +Change to directory @var{dir} before reading the makefiles. If multiple +@samp{-C} options are specified, each is interpreted relative to the +previous one: @samp{-C / -C etc} is equivalent to @samp{-C /etc}. +This is typically used with recursive invocations of @code{make} +(@pxref{Recursion, ,Recursive Use of @code{make}}). + +@item -d +@cindex @code{-d} +@c Extra blank line here makes the table look better. + +Print debugging information in addition to normal processing. The +debugging information says which files are being considered for +remaking, which file-times are being compared and with what results, +which files actually need to be remade, which implicit rules are +considered and which are applied---everything interesting about how +@code{make} decides what to do. The @code{-d} option is equivalent to +@samp{--debug=a} (see below). + +@item --debug[=@var{options}] +@cindex @code{--debug} +@c Extra blank line here makes the table look better. + +Print debugging information in addition to normal processing. Various +levels and types of output can be chosen. With no arguments, print the +``basic'' level of debugging. Possible arguments are below; only the +first character is considered, and values must be comma- or +space-separated. + +@table @code +@item a (@i{all}) +All types of debugging output are enabled. This is equivalent to using +@samp{-d}. + +@item b (@i{basic}) +Basic debugging prints each target that was found to be out-of-date, and +whether the build was successful or not. + +@item v (@i{verbose}) +A level above @samp{basic}; includes messages about which makefiles were +parsed, prerequisites that did not need to be rebuilt, etc. This option +also enables @samp{basic} messages. + +@item i (@i{implicit}) +Prints messages describing the implicit rule searches for each target. +This option also enables @samp{basic} messages. + +@item j (@i{jobs}) +Prints messages giving details on the invocation of specific subcommands. + +@item m (@i{makefile}) +By default, the above messages are not enabled while trying to remake +the makefiles. This option enables messages while rebuilding makefiles, +too. Note that the @samp{all} option does enable this option. This +option also enables @samp{basic} messages. +@end table + +@item -e +@cindex @code{-e} +@itemx --environment-overrides +@cindex @code{--environment-overrides} +Give variables taken from the environment precedence +over variables from makefiles. +@xref{Environment, ,Variables from the Environment}. + +@item -f @var{file} +@cindex @code{-f} +@itemx --file=@var{file} +@cindex @code{--file} +@itemx --makefile=@var{file} +@cindex @code{--makefile} +Read the file named @var{file} as a makefile. +@xref{Makefiles, ,Writing Makefiles}. + +@item -h +@cindex @code{-h} +@itemx --help +@cindex @code{--help} +@c Extra blank line here makes the table look better. + +Remind you of the options that @code{make} understands and then exit. + +@item -i +@cindex @code{-i} +@itemx --ignore-errors +@cindex @code{--ignore-errors} +Ignore all errors in commands executed to remake files. +@xref{Errors, ,Errors in Commands}. + +@item -I @var{dir} +@cindex @code{-I} +@itemx --include-dir=@var{dir} +@cindex @code{--include-dir} +Specifies a directory @var{dir} to search for included makefiles. +@xref{Include, ,Including Other Makefiles}. If several @samp{-I} +options are used to specify several directories, the directories are +searched in the order specified. + +@item -j [@var{jobs}] +@cindex @code{-j} +@itemx --jobs[=@var{jobs}] +@cindex @code{--jobs} +Specifies the number of jobs (commands) to run simultaneously. With no +argument, @code{make} runs as many jobs simultaneously as possible. If +there is more than one @samp{-j} option, the last one is effective. +@xref{Parallel, ,Parallel Execution}, +for more information on how commands are run. +Note that this option is ignored on MS-DOS. + +@item -k +@cindex @code{-k} +@itemx --keep-going +@cindex @code{--keep-going} +Continue as much as possible after an error. While the target that +failed, and those that depend on it, cannot be remade, the other +prerequisites of these targets can be processed all the same. +@xref{Testing, ,Testing the Compilation of a Program}. + +@item -l [@var{load}] +@cindex @code{-l} +@itemx --load-average[=@var{load}] +@cindex @code{--load-average} +@itemx --max-load[=@var{load}] +@cindex @code{--max-load} +Specifies that no new jobs (commands) should be started if there are +other jobs running and the load average is at least @var{load} (a +floating-point number). With no argument, removes a previous load +limit. @xref{Parallel, ,Parallel Execution}. + +@item -n +@cindex @code{-n} +@itemx --just-print +@cindex @code{--just-print} +@itemx --dry-run +@cindex @code{--dry-run} +@itemx --recon +@cindex @code{--recon} +@c Extra blank line here makes the table look better. + +Print the commands that would be executed, but do not execute them. +@xref{Instead of Execution, ,Instead of Executing the Commands}. + +@item -o @var{file} +@cindex @code{-o} +@itemx --old-file=@var{file} +@cindex @code{--old-file} +@itemx --assume-old=@var{file} +@cindex @code{--assume-old} +Do not remake the file @var{file} even if it is older than its +prerequisites, and do not remake anything on account of changes in +@var{file}. Essentially the file is treated as very old and its rules +are ignored. @xref{Avoiding Compilation, ,Avoiding Recompilation of +Some Files}.@refill + +@item -p +@cindex @code{-p} +@itemx --print-data-base +@cindex @code{--print-data-base} +@cindex data base of @code{make} rules +@cindex predefined rules and variables, printing +Print the data base (rules and variable values) that results from +reading the makefiles; then execute as usual or as otherwise specified. +This also prints the version information given by the @samp{-v} switch +(see below). To print the data base without trying to remake any files, +use @w{@samp{make -qp}}. To print the data base of predefined rules and +variables, use @w{@samp{make -p -f /dev/null}}. The data base output +contains filename and linenumber information for command and variable +definitions, so it can be a useful debugging tool in complex environments. + +@item -q +@cindex @code{-q} +@itemx --question +@cindex @code{--question} +``Question mode''. Do not run any commands, or print anything; just +return an exit status that is zero if the specified targets are already +up to date, one if any remaking is required, or two if an error is +encountered. @xref{Instead of Execution, ,Instead of Executing the +Commands}.@refill + +@item -r +@cindex @code{-r} +@itemx --no-builtin-rules +@cindex @code{--no-builtin-rules} +Eliminate use of the built-in implicit rules (@pxref{Implicit Rules, +,Using Implicit Rules}). You can still define your own by writing +pattern rules (@pxref{Pattern Rules, ,Defining and Redefining Pattern +Rules}). The @samp{-r} option also clears out the default list of +suffixes for suffix rules (@pxref{Suffix Rules, ,Old-Fashioned Suffix +Rules}). But you can still define your own suffixes with a rule for +@code{.SUFFIXES}, and then define your own suffix rules. Note that only +@emph{rules} are affected by the @code{-r} option; default variables +remain in effect (@pxref{Implicit Variables, ,Variables Used by Implicit +Rules}); see the @samp{-R} option below. + +@item -R +@cindex @code{-R} +@itemx --no-builtin-variables +@cindex @code{--no-builtin-variables} +Eliminate use of the built-in rule-specific variables (@pxref{Implicit +Variables, ,Variables Used by Implicit Rules}). You can still define +your own, of course. The @samp{-R} option also automatically enables +the @samp{-r} option (see above), since it doesn't make sense to have +implicit rules without any definitions for the variables that they use. + +@item -s +@cindex @code{-s} +@itemx --silent +@cindex @code{--silent} +@itemx --quiet +@cindex @code{--quiet} +@c Extra blank line here makes the table look better. + +Silent operation; do not print the commands as they are executed. +@xref{Echoing, ,Command Echoing}. + +@item -S +@cindex @code{-S} +@itemx --no-keep-going +@cindex @code{--no-keep-going} +@itemx --stop +@cindex @code{--stop} +@c Extra blank line here makes the table look better. + +Cancel the effect of the @samp{-k} option. This is never necessary +except in a recursive @code{make} where @samp{-k} might be inherited +from the top-level @code{make} via @code{MAKEFLAGS} +(@pxref{Recursion, ,Recursive Use of @code{make}}) +or if you set @samp{-k} in @code{MAKEFLAGS} in your environment.@refill + +@item -t +@cindex @code{-t} +@itemx --touch +@cindex @code{--touch} +@c Extra blank line here makes the table look better. + +Touch files (mark them up to date without really changing them) +instead of running their commands. This is used to pretend that the +commands were done, in order to fool future invocations of +@code{make}. @xref{Instead of Execution, ,Instead of Executing the Commands}. + +@item -v +@cindex @code{-v} +@itemx --version +@cindex @code{--version} +Print the version of the @code{make} program plus a copyright, a list +of authors, and a notice that there is no warranty; then exit. + +@item -w +@cindex @code{-w} +@itemx --print-directory +@cindex @code{--print-directory} +Print a message containing the working directory both before and after +executing the makefile. This may be useful for tracking down errors +from complicated nests of recursive @code{make} commands. +@xref{Recursion, ,Recursive Use of @code{make}}. (In practice, you +rarely need to specify this option since @samp{make} does it for you; +see @ref{-w Option, ,The @samp{--print-directory} Option}.) + +@itemx --no-print-directory +@cindex @code{--no-print-directory} +Disable printing of the working directory under @code{-w}. +This option is useful when @code{-w} is turned on automatically, +but you do not want to see the extra messages. +@xref{-w Option, ,The @samp{--print-directory} Option}. + +@item -W @var{file} +@cindex @code{-W} +@itemx --what-if=@var{file} +@cindex @code{--what-if} +@itemx --new-file=@var{file} +@cindex @code{--new-file} +@itemx --assume-new=@var{file} +@cindex @code{--assume-new} +Pretend that the target @var{file} has just been modified. When used +with the @samp{-n} flag, this shows you what would happen if you were +to modify that file. Without @samp{-n}, it is almost the same as +running a @code{touch} command on the given file before running +@code{make}, except that the modification time is changed only in the +imagination of @code{make}. +@xref{Instead of Execution, ,Instead of Executing the Commands}. + +@item --warn-undefined-variables +@cindex @code{--warn-undefined-variables} +@cindex variables, warning for undefined +@cindex undefined variables, warning message +Issue a warning message whenever @code{make} sees a reference to an +undefined variable. This can be helpful when you are trying to debug +makefiles which use variables in complex ways. +@end table + +@node Implicit Rules, Archives, Running, Top +@chapter Using Implicit Rules +@cindex implicit rule +@cindex rule, implicit + +Certain standard ways of remaking target files are used very often. For +example, one customary way to make an object file is from a C source file +using the C compiler, @code{cc}. + +@dfn{Implicit rules} tell @code{make} how to use customary techniques so +that you do not have to specify them in detail when you want to use +them. For example, there is an implicit rule for C compilation. File +names determine which implicit rules are run. For example, C +compilation typically takes a @file{.c} file and makes a @file{.o} file. +So @code{make} applies the implicit rule for C compilation when it sees +this combination of file name endings.@refill + +A chain of implicit rules can apply in sequence; for example, @code{make} +will remake a @file{.o} file from a @file{.y} file by way of a @file{.c} file. +@iftex +@xref{Chained Rules, ,Chains of Implicit Rules}. +@end iftex + +The built-in implicit rules use several variables in their commands so +that, by changing the values of the variables, you can change the way the +implicit rule works. For example, the variable @code{CFLAGS} controls the +flags given to the C compiler by the implicit rule for C compilation. +@iftex +@xref{Implicit Variables, ,Variables Used by Implicit Rules}. +@end iftex + +You can define your own implicit rules by writing @dfn{pattern rules}. +@iftex +@xref{Pattern Rules, ,Defining and Redefining Pattern Rules}. +@end iftex + +@dfn{Suffix rules} are a more limited way to define implicit rules. +Pattern rules are more general and clearer, but suffix rules are +retained for compatibility. +@iftex +@xref{Suffix Rules, ,Old-Fashioned Suffix Rules}. +@end iftex + +@menu +* Using Implicit:: How to use an existing implicit rule + to get the commands for updating a file. +* Catalogue of Rules:: A list of built-in implicit rules. +* Implicit Variables:: How to change what predefined rules do. +* Chained Rules:: How to use a chain of implicit rules. +* Pattern Rules:: How to define new implicit rules. +* Last Resort:: How to defining commands for rules + which cannot find any. +* Suffix Rules:: The old-fashioned style of implicit rule. +* Implicit Rule Search:: The precise algorithm for applying + implicit rules. +@end menu + +@node Using Implicit, Catalogue of Rules, Implicit Rules, Implicit Rules +@section Using Implicit Rules +@cindex implicit rule, how to use +@cindex rule, implicit, how to use + +To allow @code{make} to find a customary method for updating a target file, +all you have to do is refrain from specifying commands yourself. Either +write a rule with no command lines, or don't write a rule at all. Then +@code{make} will figure out which implicit rule to use based on which +kind of source file exists or can be made. + +For example, suppose the makefile looks like this: + +@example +foo : foo.o bar.o + cc -o foo foo.o bar.o $(CFLAGS) $(LDFLAGS) +@end example + +@noindent +Because you mention @file{foo.o} but do not give a rule for it, @code{make} +will automatically look for an implicit rule that tells how to update it. +This happens whether or not the file @file{foo.o} currently exists. + +If an implicit rule is found, it can supply both commands and one or +more prerequisites (the source files). You would want to write a rule +for @file{foo.o} with no command lines if you need to specify additional +prerequisites, such as header files, that the implicit rule cannot +supply. + +Each implicit rule has a target pattern and prerequisite patterns. There may +be many implicit rules with the same target pattern. For example, numerous +rules make @samp{.o} files: one, from a @samp{.c} file with the C compiler; +another, from a @samp{.p} file with the Pascal compiler; and so on. The rule +that actually applies is the one whose prerequisites exist or can be made. +So, if you have a file @file{foo.c}, @code{make} will run the C compiler; +otherwise, if you have a file @file{foo.p}, @code{make} will run the Pascal +compiler; and so on. + +Of course, when you write the makefile, you know which implicit rule you +want @code{make} to use, and you know it will choose that one because you +know which possible prerequisite files are supposed to exist. +@xref{Catalogue of Rules, ,Catalogue of Implicit Rules}, +for a catalogue of all the predefined implicit rules. + +Above, we said an implicit rule applies if the required prerequisites ``exist +or can be made''. A file ``can be made'' if it is mentioned explicitly in +the makefile as a target or a prerequisite, or if an implicit rule can be +recursively found for how to make it. When an implicit prerequisite is the +result of another implicit rule, we say that @dfn{chaining} is occurring. +@xref{Chained Rules, ,Chains of Implicit Rules}. + +In general, @code{make} searches for an implicit rule for each target, and +for each double-colon rule, that has no commands. A file that is mentioned +only as a prerequisite is considered a target whose rule specifies nothing, +so implicit rule search happens for it. @xref{Implicit Rule Search, ,Implicit Rule Search Algorithm}, for the +details of how the search is done. + +Note that explicit prerequisites do not influence implicit rule search. +For example, consider this explicit rule: + +@example +foo.o: foo.p +@end example + +@noindent +The prerequisite on @file{foo.p} does not necessarily mean that +@code{make} will remake @file{foo.o} according to the implicit rule to +make an object file, a @file{.o} file, from a Pascal source file, a +@file{.p} file. For example, if @file{foo.c} also exists, the implicit +rule to make an object file from a C source file is used instead, +because it appears before the Pascal rule in the list of predefined +implicit rules (@pxref{Catalogue of Rules, , Catalogue of Implicit +Rules}). + +If you do not want an implicit rule to be used for a target that has no +commands, you can give that target empty commands by writing a semicolon +(@pxref{Empty Commands, ,Defining Empty Commands}). + +@node Catalogue of Rules, Implicit Variables, Using Implicit, Implicit Rules +@section Catalogue of Implicit Rules +@cindex implicit rule, predefined +@cindex rule, implicit, predefined + +Here is a catalogue of predefined implicit rules which are always +available unless the makefile explicitly overrides or cancels them. +@xref{Canceling Rules, ,Canceling Implicit Rules}, for information on +canceling or overriding an implicit rule. The @samp{-r} or +@samp{--no-builtin-rules} option cancels all predefined rules. + +Not all of these rules will always be defined, even when the @samp{-r} +option is not given. Many of the predefined implicit rules are +implemented in @code{make} as suffix rules, so which ones will be +defined depends on the @dfn{suffix list} (the list of prerequisites of +the special target @code{.SUFFIXES}). The default suffix list is: +@code{.out}, @code{.a}, @code{.ln}, @code{.o}, @code{.c}, @code{.cc}, +@code{.C}, @code{.p}, @code{.f}, @code{.F}, @code{.r}, @code{.y}, +@code{.l}, @code{.s}, @code{.S}, @code{.mod}, @code{.sym}, @code{.def}, +@code{.h}, @code{.info}, @code{.dvi}, @code{.tex}, @code{.texinfo}, +@code{.texi}, @code{.txinfo}, @code{.w}, @code{.ch} @code{.web}, +@code{.sh}, @code{.elc}, @code{.el}. All of the implicit rules +described below whose prerequisites have one of these suffixes are +actually suffix rules. If you modify the suffix list, the only +predefined suffix rules in effect will be those named by one or two of +the suffixes that are on the list you specify; rules whose suffixes fail +to be on the list are disabled. @xref{Suffix Rules, ,Old-Fashioned +Suffix Rules}, for full details on suffix rules. + +@table @asis +@item Compiling C programs +@cindex C, rule to compile +@pindex cc +@pindex gcc +@pindex .o +@pindex .c +@file{@var{n}.o} is made automatically from @file{@var{n}.c} with +a command of the form @samp{$(CC) -c $(CPPFLAGS) $(CFLAGS)}.@refill + +@item Compiling C++ programs +@cindex C++, rule to compile +@pindex g++ +@pindex .C +@pindex .cc +@file{@var{n}.o} is made automatically from @file{@var{n}.cc} or +@file{@var{n}.C} with a command of the form @samp{$(CXX) -c $(CPPFLAGS) +$(CXXFLAGS)}. We encourage you to use the suffix @samp{.cc} for C++ +source files instead of @samp{.C}.@refill + +@item Compiling Pascal programs +@cindex Pascal, rule to compile +@pindex pc +@pindex .p +@file{@var{n}.o} is made automatically from @file{@var{n}.p} +with the command @samp{$(PC) -c $(PFLAGS)}.@refill + +@item Compiling Fortran and Ratfor programs +@cindex Fortran, rule to compile +@cindex Ratfor, rule to compile +@pindex f77 +@pindex .f +@pindex .r +@pindex .F +@file{@var{n}.o} is made automatically from @file{@var{n}.r}, +@file{@var{n}.F} or @file{@var{n}.f} by running the +Fortran compiler. The precise command used is as follows:@refill + +@table @samp +@item .f +@samp{$(FC) -c $(FFLAGS)}. +@item .F +@samp{$(FC) -c $(FFLAGS) $(CPPFLAGS)}. +@item .r +@samp{$(FC) -c $(FFLAGS) $(RFLAGS)}. +@end table + +@item Preprocessing Fortran and Ratfor programs +@file{@var{n}.f} is made automatically from @file{@var{n}.r} or +@file{@var{n}.F}. This rule runs just the preprocessor to convert a +Ratfor or preprocessable Fortran program into a strict Fortran +program. The precise command used is as follows:@refill + +@table @samp +@item .F +@samp{$(FC) -F $(CPPFLAGS) $(FFLAGS)}. +@item .r +@samp{$(FC) -F $(FFLAGS) $(RFLAGS)}. +@end table + +@item Compiling Modula-2 programs +@cindex Modula-2, rule to compile +@pindex m2c +@pindex .sym +@pindex .def +@pindex .mod +@file{@var{n}.sym} is made from @file{@var{n}.def} with a command +of the form @samp{$(M2C) $(M2FLAGS) $(DEFFLAGS)}. @file{@var{n}.o} +is made from @file{@var{n}.mod}; the form is: +@w{@samp{$(M2C) $(M2FLAGS) $(MODFLAGS)}}.@refill + +@need 1200 +@item Assembling and preprocessing assembler programs +@cindex assembly, rule to compile +@pindex as +@pindex .s +@file{@var{n}.o} is made automatically from @file{@var{n}.s} by +running the assembler, @code{as}. The precise command is +@samp{$(AS) $(ASFLAGS)}.@refill + +@pindex .S +@file{@var{n}.s} is made automatically from @file{@var{n}.S} by +running the C preprocessor, @code{cpp}. The precise command is +@w{@samp{$(CPP) $(CPPFLAGS)}}. + +@item Linking a single object file +@cindex linking, predefined rule for +@pindex ld +@pindex .o +@file{@var{n}} is made automatically from @file{@var{n}.o} by running +the linker (usually called @code{ld}) via the C compiler. The precise +command used is @w{@samp{$(CC) $(LDFLAGS) @var{n}.o $(LOADLIBES) $(LDLIBS)}}. + +This rule does the right thing for a simple program with only one +source file. It will also do the right thing if there are multiple +object files (presumably coming from various other source files), one +of which has a name matching that of the executable file. Thus, + +@example +x: y.o z.o +@end example + +@noindent +when @file{x.c}, @file{y.c} and @file{z.c} all exist will execute: + +@example +@group +cc -c x.c -o x.o +cc -c y.c -o y.o +cc -c z.c -o z.o +cc x.o y.o z.o -o x +rm -f x.o +rm -f y.o +rm -f z.o +@end group +@end example + +@noindent +In more complicated cases, such as when there is no object file whose +name derives from the executable file name, you must write an explicit +command for linking. + +Each kind of file automatically made into @samp{.o} object files will +be automatically linked by using the compiler (@samp{$(CC)}, +@samp{$(FC)} or @samp{$(PC)}; the C compiler @samp{$(CC)} is used to +assemble @samp{.s} files) without the @samp{-c} option. This could be +done by using the @samp{.o} object files as intermediates, but it is +faster to do the compiling and linking in one step, so that's how it's +done.@refill + +@item Yacc for C programs +@pindex yacc +@cindex Yacc, rule to run +@pindex .y +@file{@var{n}.c} is made automatically from @file{@var{n}.y} by +running Yacc with the command @samp{$(YACC) $(YFLAGS)}. + +@item Lex for C programs +@pindex lex +@cindex Lex, rule to run +@pindex .l +@file{@var{n}.c} is made automatically from @file{@var{n}.l} by +running Lex. The actual command is @samp{$(LEX) $(LFLAGS)}. + +@item Lex for Ratfor programs +@file{@var{n}.r} is made automatically from @file{@var{n}.l} by +running Lex. The actual command is @samp{$(LEX) $(LFLAGS)}. + +The convention of using the same suffix @samp{.l} for all Lex files +regardless of whether they produce C code or Ratfor code makes it +impossible for @code{make} to determine automatically which of the two +languages you are using in any particular case. If @code{make} is +called upon to remake an object file from a @samp{.l} file, it must +guess which compiler to use. It will guess the C compiler, because +that is more common. If you are using Ratfor, make sure @code{make} +knows this by mentioning @file{@var{n}.r} in the makefile. Or, if you +are using Ratfor exclusively, with no C files, remove @samp{.c} from +the list of implicit rule suffixes with:@refill + +@example +@group +.SUFFIXES: +.SUFFIXES: .o .r .f .l @dots{} +@end group +@end example + +@item Making Lint Libraries from C, Yacc, or Lex programs +@pindex lint +@cindex @code{lint}, rule to run +@pindex .ln +@file{@var{n}.ln} is made from @file{@var{n}.c} by running @code{lint}. +The precise command is @w{@samp{$(LINT) $(LINTFLAGS) $(CPPFLAGS) -i}}. +The same command is used on the C code produced from +@file{@var{n}.y} or @file{@var{n}.l}.@refill + +@item @TeX{} and Web +@cindex @TeX{}, rule to run +@cindex Web, rule to run +@pindex tex +@pindex cweave +@pindex weave +@pindex tangle +@pindex ctangle +@pindex .dvi +@pindex .tex +@pindex .web +@pindex .w +@pindex .ch +@file{@var{n}.dvi} is made from @file{@var{n}.tex} with the command +@samp{$(TEX)}. @file{@var{n}.tex} is made from @file{@var{n}.web} with +@samp{$(WEAVE)}, or from @file{@var{n}.w} (and from @file{@var{n}.ch} if +it exists or can be made) with @samp{$(CWEAVE)}. @file{@var{n}.p} is +made from @file{@var{n}.web} with @samp{$(TANGLE)} and @file{@var{n}.c} +is made from @file{@var{n}.w} (and from @file{@var{n}.ch} if it exists +or can be made) with @samp{$(CTANGLE)}.@refill + +@item Texinfo and Info +@cindex Texinfo, rule to format +@cindex Info, rule to format +@pindex texi2dvi +@pindex makeinfo +@pindex .texinfo +@pindex .info +@pindex .texi +@pindex .txinfo +@file{@var{n}.dvi} is made from @file{@var{n}.texinfo}, +@file{@var{n}.texi}, or @file{@var{n}.txinfo}, with the command +@w{@samp{$(TEXI2DVI) $(TEXI2DVI_FLAGS)}}. @file{@var{n}.info} is made from +@file{@var{n}.texinfo}, @file{@var{n}.texi}, or @file{@var{n}.txinfo}, with +the command @w{@samp{$(MAKEINFO) $(MAKEINFO_FLAGS)}}. + +@item RCS +@cindex RCS, rule to extract from +@pindex co +@pindex ,v @r{(RCS file extension)} +Any file @file{@var{n}} is extracted if necessary from an RCS file +named either @file{@var{n},v} or @file{RCS/@var{n},v}. The precise +command used is @w{@samp{$(CO) $(COFLAGS)}}. @file{@var{n}} will not be +extracted from RCS if it already exists, even if the RCS file is +newer. The rules for RCS are terminal +(@pxref{Match-Anything Rules, ,Match-Anything Pattern Rules}), +so RCS files cannot be generated from another source; they must +actually exist.@refill + +@item SCCS +@cindex SCCS, rule to extract from +@pindex get +@pindex s. @r{(SCCS file prefix)} +Any file @file{@var{n}} is extracted if necessary from an SCCS file +named either @file{s.@var{n}} or @file{SCCS/s.@var{n}}. The precise +command used is @w{@samp{$(GET) $(GFLAGS)}}. The rules for SCCS are +terminal (@pxref{Match-Anything Rules, ,Match-Anything Pattern Rules}), +so SCCS files cannot be generated from another source; they must +actually exist.@refill + +@pindex .sh +For the benefit of SCCS, a file @file{@var{n}} is copied from +@file{@var{n}.sh} and made executable (by everyone). This is for +shell scripts that are checked into SCCS. Since RCS preserves the +execution permission of a file, you do not need to use this feature +with RCS.@refill + +We recommend that you avoid using of SCCS. RCS is widely held to be +superior, and is also free. By choosing free software in place of +comparable (or inferior) proprietary software, you support the free +software movement. +@end table + +Usually, you want to change only the variables listed in the table +above, which are documented in the following section. + +However, the commands in built-in implicit rules actually use +variables such as @code{COMPILE.c}, @code{LINK.p}, and +@code{PREPROCESS.S}, whose values contain the commands listed above. + +@code{make} follows the convention that the rule to compile a +@file{.@var{x}} source file uses the variable @code{COMPILE.@var{x}}. +Similarly, the rule to produce an executable from a @file{.@var{x}} +file uses @code{LINK.@var{x}}; and the rule to preprocess a +@file{.@var{x}} file uses @code{PREPROCESS.@var{x}}. + +@vindex OUTPUT_OPTION +Every rule that produces an object file uses the variable +@code{OUTPUT_OPTION}. @code{make} defines this variable either to +contain @samp{-o $@@}, or to be empty, depending on a compile-time +option. You need the @samp{-o} option to ensure that the output goes +into the right file when the source file is in a different directory, +as when using @code{VPATH} (@pxref{Directory Search}). However, +compilers on some systems do not accept a @samp{-o} switch for object +files. If you use such a system, and use @code{VPATH}, some +compilations will put their output in the wrong place. +A possible workaround for this problem is to give @code{OUTPUT_OPTION} +the value @w{@samp{; mv $*.o $@@}}. + +@node Implicit Variables, Chained Rules, Catalogue of Rules, Implicit Rules +@section Variables Used by Implicit Rules +@cindex flags for compilers + +The commands in built-in implicit rules make liberal use of certain +predefined variables. You can alter these variables in the makefile, +with arguments to @code{make}, or in the environment to alter how the +implicit rules work without redefining the rules themselves. You can +cancel all variables used by implicit rules with the @samp{-R} or +@samp{--no-builtin-variables} option. + +For example, the command used to compile a C source file actually says +@samp{$(CC) -c $(CFLAGS) $(CPPFLAGS)}. The default values of the variables +used are @samp{cc} and nothing, resulting in the command @samp{cc -c}. By +redefining @samp{CC} to @samp{ncc}, you could cause @samp{ncc} to be +used for all C compilations performed by the implicit rule. By redefining +@samp{CFLAGS} to be @samp{-g}, you could pass the @samp{-g} option to +each compilation. @emph{All} implicit rules that do C compilation use +@samp{$(CC)} to get the program name for the compiler and @emph{all} +include @samp{$(CFLAGS)} among the arguments given to the compiler.@refill + +The variables used in implicit rules fall into two classes: those that are +names of programs (like @code{CC}) and those that contain arguments for the +programs (like @code{CFLAGS}). (The ``name of a program'' may also contain +some command arguments, but it must start with an actual executable program +name.) If a variable value contains more than one argument, separate them +with spaces. + +Here is a table of variables used as names of programs in built-in rules: + +@table @code +@item AR +@vindex AR +Archive-maintaining program; default @samp{ar}. +@pindex ar + +@item AS +@vindex AS +Program for doing assembly; default @samp{as}. +@pindex as + +@item CC +@vindex CC +Program for compiling C programs; default @samp{cc}. +@pindex cc + +@item CXX +@vindex CXX +Program for compiling C++ programs; default @samp{g++}. +@pindex g++ + +@item CO +@vindex CO +Program for extracting a file from RCS; default @samp{co}. +@pindex co + +@item CPP +@vindex CPP +Program for running the C preprocessor, with results to standard output; +default @samp{$(CC) -E}. + +@item FC +@vindex FC +Program for compiling or preprocessing Fortran and Ratfor programs; +default @samp{f77}. +@pindex f77 + +@item GET +@vindex GET +Program for extracting a file from SCCS; default @samp{get}. +@pindex get + +@item LEX +@vindex LEX +Program to use to turn Lex grammars into C programs or Ratfor programs; +default @samp{lex}. +@pindex lex + +@item PC +@vindex PC +Program for compiling Pascal programs; default @samp{pc}. +@pindex pc + +@item YACC +@vindex YACC +Program to use to turn Yacc grammars into C programs; default @samp{yacc}. +@pindex yacc + +@item YACCR +@vindex YACCR +Program to use to turn Yacc grammars into Ratfor +programs; default @samp{yacc -r}. + +@item MAKEINFO +@vindex MAKEINFO +Program to convert a Texinfo source file into an Info file; default +@samp{makeinfo}. +@pindex makeinfo + +@item TEX +@vindex TEX +Program to make @TeX{} @sc{dvi} files from @TeX{} source; +default @samp{tex}. +@pindex tex + +@item TEXI2DVI +@vindex TEXI2DVI +Program to make @TeX{} @sc{dvi} files from Texinfo source; +default @samp{texi2dvi}. +@pindex texi2dvi + +@item WEAVE +@vindex WEAVE +Program to translate Web into @TeX{}; default @samp{weave}. +@pindex weave + +@item CWEAVE +@vindex CWEAVE +Program to translate C Web into @TeX{}; default @samp{cweave}. +@pindex cweave + +@item TANGLE +@vindex TANGLE +Program to translate Web into Pascal; default @samp{tangle}. +@pindex tangle + +@item CTANGLE +@vindex CTANGLE +Program to translate C Web into C; default @samp{ctangle}. +@pindex ctangle + +@item RM +@vindex RM +Command to remove a file; default @samp{rm -f}. +@pindex rm +@end table + +Here is a table of variables whose values are additional arguments for the +programs above. The default values for all of these is the empty +string, unless otherwise noted. + +@table @code +@item ARFLAGS +@vindex ARFLAGS +Flags to give the archive-maintaining program; default @samp{rv}. + +@item ASFLAGS +@vindex ASFLAGS +Extra flags to give to the assembler (when explicitly +invoked on a @samp{.s} or @samp{.S} file). + +@item CFLAGS +@vindex CFLAGS +Extra flags to give to the C compiler. + +@item CXXFLAGS +@vindex CXXFLAGS +Extra flags to give to the C++ compiler. + +@item COFLAGS +@vindex COFLAGS +Extra flags to give to the RCS @code{co} program. + +@item CPPFLAGS +@vindex CPPFLAGS +Extra flags to give to the C preprocessor and programs +that use it (the C and Fortran compilers). + +@item FFLAGS +@vindex FFLAGS +Extra flags to give to the Fortran compiler. + +@item GFLAGS +@vindex GFLAGS +Extra flags to give to the SCCS @code{get} program. + +@item LDFLAGS +@vindex LDFLAGS +Extra flags to give to compilers when they are +supposed to invoke the linker, @samp{ld}. + +@item LFLAGS +@vindex LFLAGS +Extra flags to give to Lex. + +@item PFLAGS +@vindex PFLAGS +Extra flags to give to the Pascal compiler. + +@item RFLAGS +@vindex RFLAGS +Extra flags to give to the Fortran compiler for Ratfor programs. + +@item YFLAGS +@vindex YFLAGS +Extra flags to give to Yacc. +@end table + +@node Chained Rules, Pattern Rules, Implicit Variables, Implicit Rules +@section Chains of Implicit Rules + +@cindex chains of rules +@cindex rule, implicit, chains of +Sometimes a file can be made by a sequence of implicit rules. For example, +a file @file{@var{n}.o} could be made from @file{@var{n}.y} by running +first Yacc and then @code{cc}. Such a sequence is called a @dfn{chain}. + +If the file @file{@var{n}.c} exists, or is mentioned in the makefile, no +special searching is required: @code{make} finds that the object file can +be made by C compilation from @file{@var{n}.c}; later on, when considering +how to make @file{@var{n}.c}, the rule for running Yacc is +used. Ultimately both @file{@var{n}.c} and @file{@var{n}.o} are +updated.@refill + +@cindex intermediate files +@cindex files, intermediate +However, even if @file{@var{n}.c} does not exist and is not mentioned, +@code{make} knows how to envision it as the missing link between +@file{@var{n}.o} and @file{@var{n}.y}! In this case, @file{@var{n}.c} is +called an @dfn{intermediate file}. Once @code{make} has decided to use the +intermediate file, it is entered in the data base as if it had been +mentioned in the makefile, along with the implicit rule that says how to +create it.@refill + +Intermediate files are remade using their rules just like all other +files. But intermediate files are treated differently in two ways. + +The first difference is what happens if the intermediate file does not +exist. If an ordinary file @var{b} does not exist, and @code{make} +considers a target that depends on @var{b}, it invariably creates +@var{b} and then updates the target from @var{b}. But if @var{b} is an +intermediate file, then @code{make} can leave well enough alone. It +won't bother updating @var{b}, or the ultimate target, unless some +prerequisite of @var{b} is newer than that target or there is some other +reason to update that target. + +The second difference is that if @code{make} @emph{does} create @var{b} +in order to update something else, it deletes @var{b} later on after it +is no longer needed. Therefore, an intermediate file which did not +exist before @code{make} also does not exist after @code{make}. +@code{make} reports the deletion to you by printing a @samp{rm -f} +command showing which file it is deleting. + +Ordinarily, a file cannot be intermediate if it is mentioned in the +makefile as a target or prerequisite. However, you can explicitly mark a +file as intermediate by listing it as a prerequisite of the special target +@code{.INTERMEDIATE}. This takes effect even if the file is mentioned +explicitly in some other way. + +@cindex intermediate files, preserving +@cindex preserving intermediate files +@cindex secondary files +You can prevent automatic deletion of an intermediate file by marking it +as a @dfn{secondary} file. To do this, list it as a prerequisite of the +special target @code{.SECONDARY}. When a file is secondary, @code{make} +will not create the file merely because it does not already exist, but +@code{make} does not automatically delete the file. Marking a file as +secondary also marks it as intermediate. + +You can list the target pattern of an implicit rule (such as @samp{%.o}) +as a prerequisite of the special target @code{.PRECIOUS} to preserve +intermediate files made by implicit rules whose target patterns match +that file's name; see @ref{Interrupts}.@refill +@cindex preserving with @code{.PRECIOUS} +@cindex @code{.PRECIOUS} intermediate files + +A chain can involve more than two implicit rules. For example, it is +possible to make a file @file{foo} from @file{RCS/foo.y,v} by running RCS, +Yacc and @code{cc}. Then both @file{foo.y} and @file{foo.c} are +intermediate files that are deleted at the end.@refill + +No single implicit rule can appear more than once in a chain. This means +that @code{make} will not even consider such a ridiculous thing as making +@file{foo} from @file{foo.o.o} by running the linker twice. This +constraint has the added benefit of preventing any infinite loop in the +search for an implicit rule chain. + +There are some special implicit rules to optimize certain cases that would +otherwise be handled by rule chains. For example, making @file{foo} from +@file{foo.c} could be handled by compiling and linking with separate +chained rules, using @file{foo.o} as an intermediate file. But what +actually happens is that a special rule for this case does the compilation +and linking with a single @code{cc} command. The optimized rule is used in +preference to the step-by-step chain because it comes earlier in the +ordering of rules. + +@node Pattern Rules, Last Resort, Chained Rules, Implicit Rules +@section Defining and Redefining Pattern Rules + +You define an implicit rule by writing a @dfn{pattern rule}. A pattern +rule looks like an ordinary rule, except that its target contains the +character @samp{%} (exactly one of them). The target is considered a +pattern for matching file names; the @samp{%} can match any nonempty +substring, while other characters match only themselves. The prerequisites +likewise use @samp{%} to show how their names relate to the target name. + +Thus, a pattern rule @samp{%.o : %.c} says how to make any file +@file{@var{stem}.o} from another file @file{@var{stem}.c}.@refill + +Note that expansion using @samp{%} in pattern rules occurs +@strong{after} any variable or function expansions, which take place +when the makefile is read. @xref{Using Variables, , How to Use +Variables}, and @ref{Functions, ,Functions for Transforming Text}. + +@menu +* Pattern Intro:: An introduction to pattern rules. +* Pattern Examples:: Examples of pattern rules. +* Automatic Variables:: How to use automatic variables in the + commands of implicit rules. +* Pattern Match:: How patterns match. +* Match-Anything Rules:: Precautions you should take prior to + defining rules that can match any + target file whatever. +* Canceling Rules:: How to override or cancel built-in rules. +@end menu + +@node Pattern Intro, Pattern Examples, Pattern Rules, Pattern Rules +@subsection Introduction to Pattern Rules +@cindex pattern rule +@cindex rule, pattern + +A pattern rule contains the character @samp{%} (exactly one of them) +in the target; otherwise, it looks exactly like an ordinary rule. The +target is a pattern for matching file names; the @samp{%} matches any +nonempty substring, while other characters match only themselves. +@cindex target pattern, implicit +@cindex @code{%}, in pattern rules + +For example, @samp{%.c} as a pattern matches any file name that ends in +@samp{.c}. @samp{s.%.c} as a pattern matches any file name that starts +with @samp{s.}, ends in @samp{.c} and is at least five characters long. +(There must be at least one character to match the @samp{%}.) The substring +that the @samp{%} matches is called the @dfn{stem}.@refill + +@samp{%} in a prerequisite of a pattern rule stands for the same stem +that was matched by the @samp{%} in the target. In order for +the pattern rule to apply, its target pattern must match the file name +under consideration, and its prerequisite patterns must name files that +exist or can be made. These files become prerequisites of the target. +@cindex prerequisite pattern, implicit + +Thus, a rule of the form + +@example +%.o : %.c ; @var{command}@dots{} +@end example + +@noindent +specifies how to make a file @file{@var{n}.o}, with another file +@file{@var{n}.c} as its prerequisite, provided that @file{@var{n}.c} +exists or can be made. + +There may also be prerequisites that do not use @samp{%}; such a prerequisite +attaches to every file made by this pattern rule. These unvarying +prerequisites are useful occasionally. + +A pattern rule need not have any prerequisites that contain @samp{%}, or +in fact any prerequisites at all. Such a rule is effectively a general +wildcard. It provides a way to make any file that matches the target +pattern. @xref{Last Resort}. + +@c !!! The end of of this paragraph should be rewritten. --bob +Pattern rules may have more than one target. Unlike normal rules, this +does not act as many different rules with the same prerequisites and +commands. If a pattern rule has multiple targets, @code{make} knows that +the rule's commands are responsible for making all of the targets. The +commands are executed only once to make all the targets. When searching +for a pattern rule to match a target, the target patterns of a rule other +than the one that matches the target in need of a rule are incidental: +@code{make} worries only about giving commands and prerequisites to the file +presently in question. However, when this file's commands are run, the +other targets are marked as having been updated themselves. +@cindex multiple targets, in pattern rule +@cindex target, multiple in pattern rule + +The order in which pattern rules appear in the makefile is important +since this is the order in which they are considered. +Of equally applicable +rules, only the first one found is used. The rules you write take precedence +over those that are built in. Note however, that a rule whose +prerequisites actually exist or are mentioned always takes priority over a +rule with prerequisites that must be made by chaining other implicit rules. +@cindex pattern rules, order of +@cindex order of pattern rules + +@node Pattern Examples, Automatic Variables, Pattern Intro, Pattern Rules +@subsection Pattern Rule Examples + +Here are some examples of pattern rules actually predefined in +@code{make}. First, the rule that compiles @samp{.c} files into @samp{.o} +files:@refill + +@example +%.o : %.c + $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@@ +@end example + +@noindent +defines a rule that can make any file @file{@var{x}.o} from +@file{@var{x}.c}. The command uses the automatic variables @samp{$@@} and +@samp{$<} to substitute the names of the target file and the source file +in each case where the rule applies (@pxref{Automatic Variables}).@refill + +Here is a second built-in rule: + +@example +% :: RCS/%,v + $(CO) $(COFLAGS) $< +@end example + +@noindent +defines a rule that can make any file @file{@var{x}} whatsoever from a +corresponding file @file{@var{x},v} in the subdirectory @file{RCS}. Since +the target is @samp{%}, this rule will apply to any file whatever, provided +the appropriate prerequisite file exists. The double colon makes the rule +@dfn{terminal}, which means that its prerequisite may not be an intermediate +file (@pxref{Match-Anything Rules, ,Match-Anything Pattern Rules}).@refill + +@need 500 +This pattern rule has two targets: + +@example +@group +%.tab.c %.tab.h: %.y + bison -d $< +@end group +@end example + +@noindent +@c The following paragraph is rewritten to avoid overfull hboxes +This tells @code{make} that the command @samp{bison -d @var{x}.y} will +make both @file{@var{x}.tab.c} and @file{@var{x}.tab.h}. If the file +@file{foo} depends on the files @file{parse.tab.o} and @file{scan.o} +and the file @file{scan.o} depends on the file @file{parse.tab.h}, +when @file{parse.y} is changed, the command @samp{bison -d parse.y} +will be executed only once, and the prerequisites of both +@file{parse.tab.o} and @file{scan.o} will be satisfied. (Presumably +the file @file{parse.tab.o} will be recompiled from @file{parse.tab.c} +and the file @file{scan.o} from @file{scan.c}, while @file{foo} is +linked from @file{parse.tab.o}, @file{scan.o}, and its other +prerequisites, and it will execute happily ever after.)@refill + +@node Automatic Variables, Pattern Match, Pattern Examples, Pattern Rules +@subsection Automatic Variables +@cindex automatic variables +@cindex variables, automatic +@cindex variables, and implicit rule + +Suppose you are writing a pattern rule to compile a @samp{.c} file into a +@samp{.o} file: how do you write the @samp{cc} command so that it operates +on the right source file name? You cannot write the name in the command, +because the name is different each time the implicit rule is applied. + +What you do is use a special feature of @code{make}, the @dfn{automatic +variables}. These variables have values computed afresh for each rule that +is executed, based on the target and prerequisites of the rule. In this +example, you would use @samp{$@@} for the object file name and @samp{$<} +for the source file name. + +@cindex automatic variables in prerequisites +@cindex prerequisites, and automatic variables +It's very important that you recognize the limited scope in which +automatic variable values are available: they only have values within +the command script. In particular, you cannot use them anywhere +within the target or prerequisite lists of a rule; they have no value +there and will expand to the empty string. A common mistake is +attempting to use @code{$@@} within the prerequisites list in a rule; +this will not work. However, see below for information on the +SysV-style @code{$$@@} variables. + +Here is a table of automatic variables: + +@table @code +@vindex $@@ +@vindex @@ @r{(automatic variable)} +@item $@@ +The file name of the target of the rule. If the target is an archive +member, then @samp{$@@} is the name of the archive file. In a pattern +rule that has multiple targets (@pxref{Pattern Intro, ,Introduction to +Pattern Rules}), @samp{$@@} is the name of whichever target caused the +rule's commands to be run. + +@vindex $% +@vindex % @r{(automatic variable)} +@item $% +The target member name, when the target is an archive member. +@xref{Archives}. For example, if the target is @file{foo.a(bar.o)} then +@samp{$%} is @file{bar.o} and @samp{$@@} is @file{foo.a}. @samp{$%} is +empty when the target is not an archive member. + +@vindex $< +@vindex < @r{(automatic variable)} +@item $< +The name of the first prerequisite. If the target got its commands from +an implicit rule, this will be the first prerequisite added by the +implicit rule (@pxref{Implicit Rules}). + +@vindex $? +@vindex ? @r{(automatic variable)} +@item $? +The names of all the prerequisites that are newer than the target, with +spaces between them. For prerequisites which are archive members, only +the member named is used (@pxref{Archives}). +@cindex prerequisites, list of changed +@cindex list of changed prerequisites + +@vindex $^ +@vindex ^ @r{(automatic variable)} +@item $^ +The names of all the prerequisites, with spaces between them. For +prerequisites which are archive members, only the member named is used +(@pxref{Archives}). A target has only one prerequisite on each other file +it depends on, no matter how many times each file is listed as a +prerequisite. So if you list a prerequisite more than once for a target, +the value of @code{$^} contains just one copy of the name. +@cindex prerequisites, list of all +@cindex list of all prerequisites + +@vindex $+ +@vindex + @r{(automatic variable)} +@item $+ +This is like @samp{$^}, but prerequisites listed more than once are +duplicated in the order they were listed in the makefile. This is +primarily useful for use in linking commands where it is meaningful to +repeat library file names in a particular order. + +@vindex $* +@vindex * @r{(automatic variable)} +@item $* +The stem with which an implicit rule matches (@pxref{Pattern Match, ,How +Patterns Match}). If the target is @file{dir/a.foo.b} and the target +pattern is @file{a.%.b} then the stem is @file{dir/foo}. The stem is +useful for constructing names of related files.@refill +@cindex stem, variable for + +In a static pattern rule, the stem is part of the file name that matched +the @samp{%} in the target pattern. + +In an explicit rule, there is no stem; so @samp{$*} cannot be determined +in that way. Instead, if the target name ends with a recognized suffix +(@pxref{Suffix Rules, ,Old-Fashioned Suffix Rules}), @samp{$*} is set to +the target name minus the suffix. For example, if the target name is +@samp{foo.c}, then @samp{$*} is set to @samp{foo}, since @samp{.c} is a +suffix. GNU @code{make} does this bizarre thing only for compatibility +with other implementations of @code{make}. You should generally avoid +using @samp{$*} except in implicit rules or static pattern rules.@refill + +If the target name in an explicit rule does not end with a recognized +suffix, @samp{$*} is set to the empty string for that rule. +@end table + +@samp{$?} is useful even in explicit rules when you wish to operate on only +the prerequisites that have changed. For example, suppose that an archive +named @file{lib} is supposed to contain copies of several object files. +This rule copies just the changed object files into the archive: + +@example +@group +lib: foo.o bar.o lose.o win.o + ar r lib $? +@end group +@end example + +Of the variables listed above, four have values that are single file +names, and three have values that are lists of file names. These seven +have variants that get just the file's directory name or just the file +name within the directory. The variant variables' names are formed by +appending @samp{D} or @samp{F}, respectively. These variants are +semi-obsolete in GNU @code{make} since the functions @code{dir} and +@code{notdir} can be used to get a similar effect (@pxref{File Name +Functions, , Functions for File Names}). Note, however, that the +@samp{D} variants all omit the trailing slash which always appears in +the output of the @code{dir} function. Here is a table of the variants: + +@table @samp +@vindex $(@@D) +@vindex @@D @r{(automatic variable)} +@item $(@@D) +The directory part of the file name of the target, with the trailing +slash removed. If the value of @samp{$@@} is @file{dir/foo.o} then +@samp{$(@@D)} is @file{dir}. This value is @file{.} if @samp{$@@} does +not contain a slash. + +@vindex $(@@F) +@vindex @@F @r{(automatic variable)} +@item $(@@F) +The file-within-directory part of the file name of the target. If the +value of @samp{$@@} is @file{dir/foo.o} then @samp{$(@@F)} is +@file{foo.o}. @samp{$(@@F)} is equivalent to @samp{$(notdir $@@)}. + +@vindex $(*D) +@vindex *D @r{(automatic variable)} +@item $(*D) +@vindex $(*F) +@vindex *F @r{(automatic variable)} +@itemx $(*F) +The directory part and the file-within-directory +part of the stem; @file{dir} and @file{foo} in this example. + +@vindex $(%D) +@vindex %D @r{(automatic variable)} +@item $(%D) +@vindex $(%F) +@vindex %F @r{(automatic variable)} +@itemx $(%F) +The directory part and the file-within-directory part of the target +archive member name. This makes sense only for archive member targets +of the form @file{@var{archive}(@var{member})} and is useful only when +@var{member} may contain a directory name. (@xref{Archive Members, +,Archive Members as Targets}.) + +@vindex $( tar-`sed -e '/version_string/!d' \ + -e 's/[^0-9.]*\([0-9.]*\).*/\1/' \ + -e q + version.c`.shar.Z +@end group + +@group +dist: $(SRCS) $(AUX) + echo tar-`sed \ + -e '/version_string/!d' \ + -e 's/[^0-9.]*\([0-9.]*\).*/\1/' \ + -e q + version.c` > .fname + -rm -rf `cat .fname` + mkdir `cat .fname` + ln $(SRCS) $(AUX) `cat .fname` + tar chZf `cat .fname`.tar.Z `cat .fname` + -rm -rf `cat .fname` .fname +@end group + +@group +tar.zoo: $(SRCS) $(AUX) + -rm -rf tmp.dir + -mkdir tmp.dir + -rm tar.zoo + for X in $(SRCS) $(AUX) ; do \ + echo $$X ; \ + sed 's/$$/^M/' $$X \ + > tmp.dir/$$X ; done + cd tmp.dir ; zoo aM ../tar.zoo * + -rm -rf tmp.dir +@end group +@end example + +@raisesections +@include fdl.texi +@lowersections + +@node Concept Index, Name Index, GNU Free Documentation License, Top +@unnumbered Index of Concepts + +@printindex cp + +@node Name Index, , Concept Index, Top +@unnumbered Index of Functions, Variables, & Directives + +@printindex fn + +@summarycontents +@contents +@bye diff --git a/src/mkutil/make/filedef.h b/src/mkutil/make/filedef.h index b7d6e676..252fb309 100644 --- a/src/mkutil/make/filedef.h +++ b/src/mkutil/make/filedef.h @@ -1,199 +1,199 @@ -/* Definition of target file data structures for GNU Make. -Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1997, -2002 Free Software Foundation, Inc. -This file is part of GNU Make. - -GNU Make is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Make is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Make; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - - -/* Structure that represents the info on one file - that the makefile says how to make. - All of these are chained together through `next'. */ - -#include "hash.h" - -struct file - { - char *name; - char *hname; /* Hashed filename */ - char *vpath; /* VPATH/vpath pathname */ - struct dep *deps; /* all dependencies, including duplicates */ - struct commands *cmds; /* Commands to execute for this target. */ - int command_flags; /* Flags OR'd in for cmds; see commands.h. */ - char *stem; /* Implicit stem, if an implicit - rule has been used */ - struct dep *also_make; /* Targets that are made by making this. */ - FILE_TIMESTAMP last_mtime; /* File's modtime, if already known. */ - FILE_TIMESTAMP mtime_before_update; /* File's modtime before any updating - has been performed. */ - struct file *prev; /* Previous entry for same file name; - used when there are multiple double-colon - entries for the same file. */ - - /* File that this file was renamed to. After any time that a - file could be renamed, call `check_renamed' (below). */ - struct file *renamed; - - /* List of variable sets used for this file. */ - struct variable_set_list *variables; - - /* Pattern-specific variable reference for this target, or null if there - isn't one. Also see the pat_searched flag, below. */ - struct variable_set_list *pat_variables; - - /* Immediate dependent that caused this target to be remade, - or nil if there isn't one. */ - struct file *parent; - - /* For a double-colon entry, this is the first double-colon entry for - the same file. Otherwise this is null. */ - struct file *double_colon; - - short int update_status; /* Status of the last attempt to update, - or -1 if none has been made. */ - - enum /* State of the commands. */ - { /* Note: It is important that cs_not_started be zero. */ - cs_not_started, /* Not yet started. */ - cs_deps_running, /* Dep commands running. */ - cs_running, /* Commands running. */ - cs_finished /* Commands finished. */ - } command_state ENUM_BITFIELD (2); - - unsigned int precious:1; /* Non-0 means don't delete file on quit */ - unsigned int low_resolution_time:1; /* Nonzero if this file's time stamp - has only one-second resolution. */ - unsigned int tried_implicit:1; /* Nonzero if have searched - for implicit rule for making - this file; don't search again. */ - unsigned int updating:1; /* Nonzero while updating deps of this file */ - unsigned int updated:1; /* Nonzero if this file has been remade. */ - unsigned int is_target:1; /* Nonzero if file is described as target. */ - unsigned int cmd_target:1; /* Nonzero if file was given on cmd line. */ - unsigned int phony:1; /* Nonzero if this is a phony file - i.e., a dependency of .PHONY. */ - unsigned int intermediate:1;/* Nonzero if this is an intermediate file. */ - /* Nonzero, for an intermediate file, - means remove_intermediates should not delete it. */ - unsigned int secondary:1; - unsigned int dontcare:1; /* Nonzero if no complaint is to be made if - this target cannot be remade. */ - unsigned int ignore_vpath:1;/* Nonzero if we threw out VPATH name. */ - unsigned int pat_searched:1;/* Nonzero if we already searched for - pattern-specific variables. */ - unsigned int considered:1; /* equal to `considered' if file has been - considered on current scan of goal chain */ - }; - - -extern struct file *default_goal_file, *suffix_file, *default_file; - - -extern struct file *lookup_file PARAMS ((char *name)); -extern struct file *enter_file PARAMS ((char *name)); -extern void remove_intermediates PARAMS ((int sig)); -extern void snap_deps PARAMS ((void)); -extern void rename_file PARAMS ((struct file *file, char *name)); -extern void rehash_file PARAMS ((struct file *file, char *name)); -extern void set_command_state PARAMS ((struct file *file, int state)); -extern void notice_finished_file PARAMS ((struct file *file)); -extern void init_hash_files PARAMS ((void)); -extern char *build_target_list PARAMS ((char *old_list)); - -#if FILE_TIMESTAMP_HI_RES -# define FILE_TIMESTAMP_STAT_MODTIME(fname, st) \ - file_timestamp_cons (fname, (st).st_mtime, (st).st_mtim.ST_MTIM_NSEC) -#else -# define FILE_TIMESTAMP_STAT_MODTIME(fname, st) \ - file_timestamp_cons (fname, (st).st_mtime, 0) -#endif - -/* If FILE_TIMESTAMP is 64 bits (or more), use nanosecond resolution. - (Multiply by 2**30 instead of by 10**9 to save time at the cost of - slightly decreasing the number of available timestamps.) With - 64-bit FILE_TIMESTAMP, this stops working on 2514-05-30 01:53:04 - UTC, but by then uintmax_t should be larger than 64 bits. */ -#define FILE_TIMESTAMPS_PER_S (FILE_TIMESTAMP_HI_RES ? 1000000000 : 1) -#define FILE_TIMESTAMP_LO_BITS (FILE_TIMESTAMP_HI_RES ? 30 : 0) - -#define FILE_TIMESTAMP_S(ts) (((ts) - ORDINARY_MTIME_MIN) \ - >> FILE_TIMESTAMP_LO_BITS) -#define FILE_TIMESTAMP_NS(ts) ((int) (((ts) - ORDINARY_MTIME_MIN) \ - & ((1 << FILE_TIMESTAMP_LO_BITS) - 1))) - -/* Upper bound on length of string "YYYY-MM-DD HH:MM:SS.NNNNNNNNN" - representing a file timestamp. The upper bound is not necessarily 19, - since the year might be less than -999 or greater than 9999. - - Subtract one for the sign bit if in case file timestamps can be negative; - subtract FLOOR_LOG2_SECONDS_PER_YEAR to yield an upper bound on how many - file timestamp bits might affect the year; - 302 / 1000 is log10 (2) rounded up; - add one for integer division truncation; - add one more for a minus sign if file timestamps can be negative; - add 4 to allow for any 4-digit epoch year (e.g. 1970); - add 25 to allow for "-MM-DD HH:MM:SS.NNNNNNNNN". */ -#define FLOOR_LOG2_SECONDS_PER_YEAR 24 -#define FILE_TIMESTAMP_PRINT_LEN_BOUND \ - (((sizeof (FILE_TIMESTAMP) * CHAR_BIT - 1 - FLOOR_LOG2_SECONDS_PER_YEAR) \ - * 302 / 1000) \ - + 1 + 1 + 4 + 25) - -extern FILE_TIMESTAMP file_timestamp_cons PARAMS ((char const *, - time_t, int)); -extern FILE_TIMESTAMP file_timestamp_now PARAMS ((int *)); -extern void file_timestamp_sprintf PARAMS ((char *p, FILE_TIMESTAMP ts)); - -/* Return the mtime of file F (a struct file *), caching it. - The value is NONEXISTENT_MTIME if the file does not exist. */ -#define file_mtime(f) file_mtime_1 ((f), 1) -/* Return the mtime of file F (a struct file *), caching it. - Don't search using vpath for the file--if it doesn't actually exist, - we don't find it. - The value is NONEXISTENT_MTIME if the file does not exist. */ -#define file_mtime_no_search(f) file_mtime_1 ((f), 0) -extern FILE_TIMESTAMP f_mtime PARAMS ((struct file *file, int search)); -#define file_mtime_1(f, v) \ - ((f)->last_mtime == UNKNOWN_MTIME ? f_mtime ((f), v) : (f)->last_mtime) - -/* Special timestamp values. */ - -/* The file's timestamp is not yet known. */ -#define UNKNOWN_MTIME 0 - -/* The file does not exist. */ -#define NONEXISTENT_MTIME 1 - -/* The file does not exist, and we assume that it is older than any - actual file. */ -#define OLD_MTIME 2 - -/* The smallest and largest ordinary timestamps. */ -#define ORDINARY_MTIME_MIN (OLD_MTIME + 1) -#define ORDINARY_MTIME_MAX ((FILE_TIMESTAMP_S (NEW_MTIME) \ - << FILE_TIMESTAMP_LO_BITS) \ - + ORDINARY_MTIME_MIN + FILE_TIMESTAMPS_PER_S - 1) - -/* Modtime value to use for `infinitely new'. We used to get the current time - from the system and use that whenever we wanted `new'. But that causes - trouble when the machine running make and the machine holding a file have - different ideas about what time it is; and can also lose for `force' - targets, which need to be considered newer than anything that depends on - them, even if said dependents' modtimes are in the future. */ -#define NEW_MTIME INTEGER_TYPE_MAXIMUM (FILE_TIMESTAMP) - -#define check_renamed(file) \ - while ((file)->renamed != 0) (file) = (file)->renamed /* No ; here. */ +/* Definition of target file data structures for GNU Make. +Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1997, +2002 Free Software Foundation, Inc. +This file is part of GNU Make. + +GNU Make is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Make is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Make; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + + +/* Structure that represents the info on one file + that the makefile says how to make. + All of these are chained together through `next'. */ + +#include "hash.h" + +struct file + { + char *name; + char *hname; /* Hashed filename */ + char *vpath; /* VPATH/vpath pathname */ + struct dep *deps; /* all dependencies, including duplicates */ + struct commands *cmds; /* Commands to execute for this target. */ + int command_flags; /* Flags OR'd in for cmds; see commands.h. */ + char *stem; /* Implicit stem, if an implicit + rule has been used */ + struct dep *also_make; /* Targets that are made by making this. */ + FILE_TIMESTAMP last_mtime; /* File's modtime, if already known. */ + FILE_TIMESTAMP mtime_before_update; /* File's modtime before any updating + has been performed. */ + struct file *prev; /* Previous entry for same file name; + used when there are multiple double-colon + entries for the same file. */ + + /* File that this file was renamed to. After any time that a + file could be renamed, call `check_renamed' (below). */ + struct file *renamed; + + /* List of variable sets used for this file. */ + struct variable_set_list *variables; + + /* Pattern-specific variable reference for this target, or null if there + isn't one. Also see the pat_searched flag, below. */ + struct variable_set_list *pat_variables; + + /* Immediate dependent that caused this target to be remade, + or nil if there isn't one. */ + struct file *parent; + + /* For a double-colon entry, this is the first double-colon entry for + the same file. Otherwise this is null. */ + struct file *double_colon; + + short int update_status; /* Status of the last attempt to update, + or -1 if none has been made. */ + + enum /* State of the commands. */ + { /* Note: It is important that cs_not_started be zero. */ + cs_not_started, /* Not yet started. */ + cs_deps_running, /* Dep commands running. */ + cs_running, /* Commands running. */ + cs_finished /* Commands finished. */ + } command_state ENUM_BITFIELD (2); + + unsigned int precious:1; /* Non-0 means don't delete file on quit */ + unsigned int low_resolution_time:1; /* Nonzero if this file's time stamp + has only one-second resolution. */ + unsigned int tried_implicit:1; /* Nonzero if have searched + for implicit rule for making + this file; don't search again. */ + unsigned int updating:1; /* Nonzero while updating deps of this file */ + unsigned int updated:1; /* Nonzero if this file has been remade. */ + unsigned int is_target:1; /* Nonzero if file is described as target. */ + unsigned int cmd_target:1; /* Nonzero if file was given on cmd line. */ + unsigned int phony:1; /* Nonzero if this is a phony file + i.e., a dependency of .PHONY. */ + unsigned int intermediate:1;/* Nonzero if this is an intermediate file. */ + /* Nonzero, for an intermediate file, + means remove_intermediates should not delete it. */ + unsigned int secondary:1; + unsigned int dontcare:1; /* Nonzero if no complaint is to be made if + this target cannot be remade. */ + unsigned int ignore_vpath:1;/* Nonzero if we threw out VPATH name. */ + unsigned int pat_searched:1;/* Nonzero if we already searched for + pattern-specific variables. */ + unsigned int considered:1; /* equal to `considered' if file has been + considered on current scan of goal chain */ + }; + + +extern struct file *default_goal_file, *suffix_file, *default_file; + + +extern struct file *lookup_file PARAMS ((char *name)); +extern struct file *enter_file PARAMS ((char *name)); +extern void remove_intermediates PARAMS ((int sig)); +extern void snap_deps PARAMS ((void)); +extern void rename_file PARAMS ((struct file *file, char *name)); +extern void rehash_file PARAMS ((struct file *file, char *name)); +extern void set_command_state PARAMS ((struct file *file, int state)); +extern void notice_finished_file PARAMS ((struct file *file)); +extern void init_hash_files PARAMS ((void)); +extern char *build_target_list PARAMS ((char *old_list)); + +#if FILE_TIMESTAMP_HI_RES +# define FILE_TIMESTAMP_STAT_MODTIME(fname, st) \ + file_timestamp_cons (fname, (st).st_mtime, (st).st_mtim.ST_MTIM_NSEC) +#else +# define FILE_TIMESTAMP_STAT_MODTIME(fname, st) \ + file_timestamp_cons (fname, (st).st_mtime, 0) +#endif + +/* If FILE_TIMESTAMP is 64 bits (or more), use nanosecond resolution. + (Multiply by 2**30 instead of by 10**9 to save time at the cost of + slightly decreasing the number of available timestamps.) With + 64-bit FILE_TIMESTAMP, this stops working on 2514-05-30 01:53:04 + UTC, but by then uintmax_t should be larger than 64 bits. */ +#define FILE_TIMESTAMPS_PER_S (FILE_TIMESTAMP_HI_RES ? 1000000000 : 1) +#define FILE_TIMESTAMP_LO_BITS (FILE_TIMESTAMP_HI_RES ? 30 : 0) + +#define FILE_TIMESTAMP_S(ts) (((ts) - ORDINARY_MTIME_MIN) \ + >> FILE_TIMESTAMP_LO_BITS) +#define FILE_TIMESTAMP_NS(ts) ((int) (((ts) - ORDINARY_MTIME_MIN) \ + & ((1 << FILE_TIMESTAMP_LO_BITS) - 1))) + +/* Upper bound on length of string "YYYY-MM-DD HH:MM:SS.NNNNNNNNN" + representing a file timestamp. The upper bound is not necessarily 19, + since the year might be less than -999 or greater than 9999. + + Subtract one for the sign bit if in case file timestamps can be negative; + subtract FLOOR_LOG2_SECONDS_PER_YEAR to yield an upper bound on how many + file timestamp bits might affect the year; + 302 / 1000 is log10 (2) rounded up; + add one for integer division truncation; + add one more for a minus sign if file timestamps can be negative; + add 4 to allow for any 4-digit epoch year (e.g. 1970); + add 25 to allow for "-MM-DD HH:MM:SS.NNNNNNNNN". */ +#define FLOOR_LOG2_SECONDS_PER_YEAR 24 +#define FILE_TIMESTAMP_PRINT_LEN_BOUND \ + (((sizeof (FILE_TIMESTAMP) * CHAR_BIT - 1 - FLOOR_LOG2_SECONDS_PER_YEAR) \ + * 302 / 1000) \ + + 1 + 1 + 4 + 25) + +extern FILE_TIMESTAMP file_timestamp_cons PARAMS ((char const *, + time_t, int)); +extern FILE_TIMESTAMP file_timestamp_now PARAMS ((int *)); +extern void file_timestamp_sprintf PARAMS ((char *p, FILE_TIMESTAMP ts)); + +/* Return the mtime of file F (a struct file *), caching it. + The value is NONEXISTENT_MTIME if the file does not exist. */ +#define file_mtime(f) file_mtime_1 ((f), 1) +/* Return the mtime of file F (a struct file *), caching it. + Don't search using vpath for the file--if it doesn't actually exist, + we don't find it. + The value is NONEXISTENT_MTIME if the file does not exist. */ +#define file_mtime_no_search(f) file_mtime_1 ((f), 0) +extern FILE_TIMESTAMP f_mtime PARAMS ((struct file *file, int search)); +#define file_mtime_1(f, v) \ + ((f)->last_mtime == UNKNOWN_MTIME ? f_mtime ((f), v) : (f)->last_mtime) + +/* Special timestamp values. */ + +/* The file's timestamp is not yet known. */ +#define UNKNOWN_MTIME 0 + +/* The file does not exist. */ +#define NONEXISTENT_MTIME 1 + +/* The file does not exist, and we assume that it is older than any + actual file. */ +#define OLD_MTIME 2 + +/* The smallest and largest ordinary timestamps. */ +#define ORDINARY_MTIME_MIN (OLD_MTIME + 1) +#define ORDINARY_MTIME_MAX ((FILE_TIMESTAMP_S (NEW_MTIME) \ + << FILE_TIMESTAMP_LO_BITS) \ + + ORDINARY_MTIME_MIN + FILE_TIMESTAMPS_PER_S - 1) + +/* Modtime value to use for `infinitely new'. We used to get the current time + from the system and use that whenever we wanted `new'. But that causes + trouble when the machine running make and the machine holding a file have + different ideas about what time it is; and can also lose for `force' + targets, which need to be considered newer than anything that depends on + them, even if said dependents' modtimes are in the future. */ +#define NEW_MTIME INTEGER_TYPE_MAXIMUM (FILE_TIMESTAMP) + +#define check_renamed(file) \ + while ((file)->renamed != 0) (file) = (file)->renamed /* No ; here. */ diff --git a/src/mkutil/make/function.c% b/src/mkutil/make/function.c% index d05a5bb6..a949cb03 100644 --- a/src/mkutil/make/function.c% +++ b/src/mkutil/make/function.c% @@ -1,2018 +1,2018 @@ -/* Builtin function expansion for GNU Make. -Copyright (C) 1988, 1989, 1991-1997, 1999, 2002 Free Software Foundation, Inc. -This file is part of GNU Make. - -GNU Make is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Make is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Make; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include "make.h" -#include "filedef.h" -#include "variable.h" -#include "dep.h" -#include "job.h" -#include "commands.h" -#include "debug.h" - -#ifdef _AMIGA -#include "amiga.h" -#endif - - -struct function_table_entry - { - const char *name; - unsigned char len; - unsigned char minimum_args; - unsigned char maximum_args; - char expand_args; - char *(*func_ptr) PARAMS ((char *output, char **argv, const char *fname)); - }; - -static unsigned long -function_table_entry_hash_1 (const void *keyv) -{ - struct function_table_entry const *key = (struct function_table_entry const *) keyv; - return_STRING_N_HASH_1 (key->name, key->len); -} - -static unsigned long -function_table_entry_hash_2 (const void *keyv) -{ - struct function_table_entry const *key = (struct function_table_entry const *) keyv; - return_STRING_N_HASH_2 (key->name, key->len); -} - -static int -function_table_entry_hash_cmp (const void *xv, const void *yv) -{ - struct function_table_entry const *x = (struct function_table_entry const *) xv; - struct function_table_entry const *y = (struct function_table_entry const *) yv; - int result = x->len - y->len; - if (result) - return result; - return_STRING_N_COMPARE (x->name, y->name, x->len); -} - -static struct hash_table function_table; - - -/* Store into VARIABLE_BUFFER at O the result of scanning TEXT and replacing - each occurrence of SUBST with REPLACE. TEXT is null-terminated. SLEN is - the length of SUBST and RLEN is the length of REPLACE. If BY_WORD is - nonzero, substitutions are done only on matches which are complete - whitespace-delimited words. If SUFFIX_ONLY is nonzero, substitutions are - done only at the ends of whitespace-delimited words. */ - -char * -subst_expand (char *o, char *text, char *subst, char *replace, - unsigned int slen, unsigned int rlen, - int by_word, int suffix_only) -{ - char *t = text; - unsigned int tlen = strlen (text); - char *p; - - if (slen == 0 && !by_word && !suffix_only) - { - /* The first occurrence of "" in any string is its end. */ - o = variable_buffer_output (o, t, tlen); - if (rlen > 0) - o = variable_buffer_output (o, replace, rlen); - return o; - } - - do - { - if ((by_word | suffix_only) && slen == 0) - /* When matching by words, the empty string should match - the end of each word, rather than the end of the whole text. */ - p = end_of_token (next_token (t)); - else - { - p = sindex (t, tlen, subst, slen); - if (p == 0) - { - /* No more matches. Output everything left on the end. */ - o = variable_buffer_output (o, t, tlen); - return o; - } - } - - /* Output everything before this occurrence of the string to replace. */ - if (p > t) - o = variable_buffer_output (o, t, p - t); - - /* If we're substituting only by fully matched words, - or only at the ends of words, check that this case qualifies. */ - if ((by_word - && ((p > t && !isblank ((unsigned char)p[-1])) - || (p[slen] != '\0' && !isblank ((unsigned char)p[slen])))) - || (suffix_only - && (p[slen] != '\0' && !isblank ((unsigned char)p[slen])))) - /* Struck out. Output the rest of the string that is - no longer to be replaced. */ - o = variable_buffer_output (o, subst, slen); - else if (rlen > 0) - /* Output the replacement string. */ - o = variable_buffer_output (o, replace, rlen); - - /* Advance T past the string to be replaced; adjust tlen. */ - { - char *nt = p + slen; - tlen -= nt - t; - t = nt; - } - } while (*t != '\0'); - - return o; -} - - -/* Store into VARIABLE_BUFFER at O the result of scanning TEXT - and replacing strings matching PATTERN with REPLACE. - If PATTERN_PERCENT is not nil, PATTERN has already been - run through find_percent, and PATTERN_PERCENT is the result. - If REPLACE_PERCENT is not nil, REPLACE has already been - run through find_percent, and REPLACE_PERCENT is the result. */ - -char * -patsubst_expand (char *o, char *text, char *pattern, char *replace, - char *pattern_percent, char *replace_percent) -{ - unsigned int pattern_prepercent_len, pattern_postpercent_len; - unsigned int replace_prepercent_len, replace_postpercent_len = 0; - char *t; - unsigned int len; - int doneany = 0; - - /* We call find_percent on REPLACE before checking PATTERN so that REPLACE - will be collapsed before we call subst_expand if PATTERN has no %. */ - if (replace_percent == 0) - replace_percent = find_percent (replace); - if (replace_percent != 0) - { - /* Record the length of REPLACE before and after the % so - we don't have to compute these lengths more than once. */ - replace_prepercent_len = replace_percent - replace; - replace_postpercent_len = strlen (replace_percent + 1); - } - else - /* We store the length of the replacement - so we only need to compute it once. */ - replace_prepercent_len = strlen (replace); - - if (pattern_percent == 0) - pattern_percent = find_percent (pattern); - if (pattern_percent == 0) - /* With no % in the pattern, this is just a simple substitution. */ - return subst_expand (o, text, pattern, replace, - strlen (pattern), strlen (replace), 1, 0); - - /* Record the length of PATTERN before and after the % - so we don't have to compute it more than once. */ - pattern_prepercent_len = pattern_percent - pattern; - pattern_postpercent_len = strlen (pattern_percent + 1); - - while ((t = find_next_token (&text, &len)) != 0) - { - int fail = 0; - - /* Is it big enough to match? */ - if (len < pattern_prepercent_len + pattern_postpercent_len) - fail = 1; - - /* Does the prefix match? */ - if (!fail && pattern_prepercent_len > 0 - && (*t != *pattern - || t[pattern_prepercent_len - 1] != pattern_percent[-1] - || !strneq (t + 1, pattern + 1, pattern_prepercent_len - 1))) - fail = 1; - - /* Does the suffix match? */ - if (!fail && pattern_postpercent_len > 0 - && (t[len - 1] != pattern_percent[pattern_postpercent_len] - || t[len - pattern_postpercent_len] != pattern_percent[1] - || !strneq (&t[len - pattern_postpercent_len], - &pattern_percent[1], pattern_postpercent_len - 1))) - fail = 1; - - if (fail) - /* It didn't match. Output the string. */ - o = variable_buffer_output (o, t, len); - else - { - /* It matched. Output the replacement. */ - - /* Output the part of the replacement before the %. */ - o = variable_buffer_output (o, replace, replace_prepercent_len); - - if (replace_percent != 0) - { - /* Output the part of the matched string that - matched the % in the pattern. */ - o = variable_buffer_output (o, t + pattern_prepercent_len, - len - (pattern_prepercent_len - + pattern_postpercent_len)); - /* Output the part of the replacement after the %. */ - o = variable_buffer_output (o, replace_percent + 1, - replace_postpercent_len); - } - } - - /* Output a space, but not if the replacement is "". */ - if (fail || replace_prepercent_len > 0 - || (replace_percent != 0 && len + replace_postpercent_len > 0)) - { - o = variable_buffer_output (o, " ", 1); - doneany = 1; - } - } - if (doneany) - /* Kill the last space. */ - --o; - - return o; -} - - -/* Look up a function by name. */ - -static const struct function_table_entry * -lookup_function (const char *s) -{ - const char *e = s; - - while (*e && ( (*e >= 'a' && *e <= 'z') || *e == '-')) - e++; - if (*e == '\0' || isblank ((unsigned char) *e)) - { - struct function_table_entry function_table_entry_key; - function_table_entry_key.name = s; - function_table_entry_key.len = e - s; - - return hash_find_item (&function_table, &function_table_entry_key); - } - return 0; -} - - -/* Return 1 if PATTERN matches STR, 0 if not. */ - -int -pattern_matches (char *pattern, char *percent, char *str) -{ - unsigned int sfxlen, strlength; - - if (percent == 0) - { - unsigned int len = strlen (pattern) + 1; - char *new_chars = (char *) alloca (len); - bcopy (pattern, new_chars, len); - pattern = new_chars; - percent = find_percent (pattern); - if (percent == 0) - return streq (pattern, str); - } - - sfxlen = strlen (percent + 1); - strlength = strlen (str); - - if (strlength < (percent - pattern) + sfxlen - || !strneq (pattern, str, percent - pattern)) - return 0; - - return !strcmp (percent + 1, str + (strlength - sfxlen)); -} - - -/* Find the next comma or ENDPAREN (counting nested STARTPAREN and - ENDPARENtheses), starting at PTR before END. Return a pointer to - next character. - - If no next argument is found, return NULL. -*/ - -static char * -find_next_argument (char startparen, char endparen, - const char *ptr, const char *end) -{ - int count = 0; - - for (; ptr < end; ++ptr) - if (*ptr == startparen) - ++count; - - else if (*ptr == endparen) - { - --count; - if (count < 0) - return NULL; - } - - else if (*ptr == ',' && !count) - return (char *)ptr; - - /* We didn't find anything. */ - return NULL; -} - - -/* Glob-expand LINE. The returned pointer is - only good until the next call to string_glob. */ - -static char * -string_glob (char *line) -{ - static char *result = 0; - static unsigned int length; - register struct nameseq *chain; - register unsigned int idx; - - chain = multi_glob (parse_file_seq - (&line, '\0', sizeof (struct nameseq), - /* We do not want parse_file_seq to strip `./'s. - That would break examples like: - $(patsubst ./%.c,obj/%.o,$(wildcard ./?*.c)). */ - 0), - sizeof (struct nameseq)); - - if (result == 0) - { - length = 100; - result = (char *) xmalloc (100); - } - - idx = 0; - while (chain != 0) - { - register char *name = chain->name; - unsigned int len = strlen (name); - - struct nameseq *next = chain->next; - free ((char *) chain); - chain = next; - - /* multi_glob will pass names without globbing metacharacters - through as is, but we want only files that actually exist. */ - if (file_exists_p (name)) - { - if (idx + len + 1 > length) - { - length += (len + 1) * 2; - result = (char *) xrealloc (result, length); - } - bcopy (name, &result[idx], len); - idx += len; - result[idx++] = ' '; - } - - free (name); - } - - /* Kill the last space and terminate the string. */ - if (idx == 0) - result[0] = '\0'; - else - result[idx - 1] = '\0'; - - return result; -} - -/* - Builtin functions - */ - -static char * -func_patsubst (char *o, char **argv, const char *funcname) -{ - o = patsubst_expand (o, argv[2], argv[0], argv[1], (char *) 0, (char *) 0); - return o; -} - - -static char * -func_join (char *o, char **argv, const char *funcname) -{ - int doneany = 0; - - /* Write each word of the first argument directly followed - by the corresponding word of the second argument. - If the two arguments have a different number of words, - the excess words are just output separated by blanks. */ - register char *tp; - register char *pp; - char *list1_iterator = argv[0]; - char *list2_iterator = argv[1]; - do - { - unsigned int len1, len2; - - tp = find_next_token (&list1_iterator, &len1); - if (tp != 0) - o = variable_buffer_output (o, tp, len1); - - pp = find_next_token (&list2_iterator, &len2); - if (pp != 0) - o = variable_buffer_output (o, pp, len2); - - if (tp != 0 || pp != 0) - { - o = variable_buffer_output (o, " ", 1); - doneany = 1; - } - } - while (tp != 0 || pp != 0); - if (doneany) - /* Kill the last blank. */ - --o; - - return o; -} - - -static char * -func_origin (char *o, char **argv, const char *funcname) -{ - /* Expand the argument. */ - register struct variable *v = lookup_variable (argv[0], strlen (argv[0])); - if (v == 0) - o = variable_buffer_output (o, "undefined", 9); - else - switch (v->origin) - { - default: - case o_invalid: - abort (); - break; - case o_default: - o = variable_buffer_output (o, "default", 7); - break; - case o_env: - o = variable_buffer_output (o, "environment", 11); - break; - case o_file: - o = variable_buffer_output (o, "file", 4); - break; - case o_env_override: - o = variable_buffer_output (o, "environment override", 20); - break; - case o_command: - o = variable_buffer_output (o, "command line", 12); - break; - case o_override: - o = variable_buffer_output (o, "override", 8); - break; - case o_automatic: - o = variable_buffer_output (o, "automatic", 9); - break; - } - - return o; -} - -#ifdef VMS -# define IS_PATHSEP(c) ((c) == ']') -#else -# ifdef HAVE_DOS_PATHS -# define IS_PATHSEP(c) ((c) == '/' || (c) == '\\') -# else -# define IS_PATHSEP(c) ((c) == '/') -# endif -#endif - - -static char * -func_notdir_suffix (char *o, char **argv, const char *funcname) -{ - /* Expand the argument. */ - char *list_iterator = argv[0]; - char *p2 =0; - int doneany =0; - unsigned int len=0; - - int is_suffix = streq (funcname, "suffix"); - int is_notdir = !is_suffix; - while ((p2 = find_next_token (&list_iterator, &len)) != 0) - { - char *p = p2 + len; - - - while (p >= p2 && (!is_suffix || *p != '.')) - { - if (IS_PATHSEP (*p)) - break; - --p; - } - - if (p >= p2) - { - if (is_notdir) - ++p; - else if (*p != '.') - continue; - o = variable_buffer_output (o, p, len - (p - p2)); - } -#ifdef HAVE_DOS_PATHS - /* Handle the case of "d:foo/bar". */ - else if (streq (funcname, "notdir") && p2[0] && p2[1] == ':') - { - p = p2 + 2; - o = variable_buffer_output (o, p, len - (p - p2)); - } -#endif - else if (is_notdir) - o = variable_buffer_output (o, p2, len); - - if (is_notdir || p >= p2) - { - o = variable_buffer_output (o, " ", 1); - doneany = 1; - } - } - if (doneany) - /* Kill last space. */ - --o; - - - return o; - -} - - -static char * -func_basename_dir (char *o, char **argv, const char *funcname) -{ - /* Expand the argument. */ - char *p3 = argv[0]; - char *p2=0; - int doneany=0; - unsigned int len=0; - char *p=0; - int is_basename= streq (funcname, "basename"); - int is_dir= !is_basename; - - while ((p2 = find_next_token (&p3, &len)) != 0) - { - p = p2 + len; - while (p >= p2 && (!is_basename || *p != '.')) - { - if (IS_PATHSEP (*p)) - break; - --p; - } - - if (p >= p2 && (is_dir)) - o = variable_buffer_output (o, p2, ++p - p2); - else if (p >= p2 && (*p == '.')) - o = variable_buffer_output (o, p2, p - p2); -#ifdef HAVE_DOS_PATHS - /* Handle the "d:foobar" case */ - else if (p2[0] && p2[1] == ':' && is_dir) - o = variable_buffer_output (o, p2, 2); -#endif - else if (is_dir) -#ifdef VMS - o = variable_buffer_output (o, "[]", 2); -#else -#ifndef _AMIGA - o = variable_buffer_output (o, "./", 2); -#else - ; /* Just a nop... */ -#endif /* AMIGA */ -#endif /* !VMS */ - else - /* The entire name is the basename. */ - o = variable_buffer_output (o, p2, len); - - o = variable_buffer_output (o, " ", 1); - doneany = 1; - } - if (doneany) - /* Kill last space. */ - --o; - - - return o; -} - -static char * -func_addsuffix_addprefix (char *o, char **argv, const char *funcname) -{ - int fixlen = strlen (argv[0]); - char *list_iterator = argv[1]; - int is_addprefix = streq (funcname, "addprefix"); - int is_addsuffix = !is_addprefix; - - int doneany = 0; - char *p; - unsigned int len; - - while ((p = find_next_token (&list_iterator, &len)) != 0) - { - if (is_addprefix) - o = variable_buffer_output (o, argv[0], fixlen); - o = variable_buffer_output (o, p, len); - if (is_addsuffix) - o = variable_buffer_output (o, argv[0], fixlen); - o = variable_buffer_output (o, " ", 1); - doneany = 1; - } - - if (doneany) - /* Kill last space. */ - --o; - - return o; -} - -static char * -func_subst (char *o, char **argv, const char *funcname) -{ - o = subst_expand (o, argv[2], argv[0], argv[1], strlen (argv[0]), - strlen (argv[1]), 0, 0); - - return o; -} - - -static char * -func_firstword (char *o, char **argv, const char *funcname) -{ - unsigned int i; - char *words = argv[0]; /* Use a temp variable for find_next_token */ - char *p = find_next_token (&words, &i); - - if (p != 0) - o = variable_buffer_output (o, p, i); - - return o; -} - - -static char * -func_words (char *o, char **argv, const char *funcname) -{ - int i = 0; - char *word_iterator = argv[0]; - char buf[20]; - - while (find_next_token (&word_iterator, (unsigned int *) 0) != 0) - ++i; - - sprintf (buf, "%d", i); - o = variable_buffer_output (o, buf, strlen (buf)); - - - return o; -} - -static char * -strip_whitespace (const char **begpp, const char **endpp) -{ - while (*begpp <= *endpp && isspace ((unsigned char)**begpp)) - (*begpp) ++; - while (*endpp >= *begpp && isspace ((unsigned char)**endpp)) - (*endpp) --; - return (char *)*begpp; -} - -static void -check_numeric (const char *s, const char *message) -{ - const char *end = s + strlen (s) - 1; - const char *beg = s; - strip_whitespace (&s, &end); - - for (; s <= end; ++s) - if (!ISDIGIT (*s)) /* ISDIGIT only evals its arg once: see make.h. */ - break; - - if (s <= end || end - beg < 0) - fatal (reading_file, "%s: '%s'", message, beg); -} - - - -static char * -func_word (char *o, char **argv, const char *funcname) -{ - char *end_p=0; - int i=0; - char *p=0; - - /* Check the first argument. */ - check_numeric (argv[0], _("non-numeric first argument to `word' function")); - i = atoi (argv[0]); - - if (i == 0) - fatal (reading_file, _("first argument to `word' function must be greater than 0")); - - - end_p = argv[1]; - while ((p = find_next_token (&end_p, 0)) != 0) - if (--i == 0) - break; - - if (i == 0) - o = variable_buffer_output (o, p, end_p - p); - - return o; -} - -static char * -func_wordlist (char *o, char **argv, const char *funcname) -{ - int start, count; - - /* Check the arguments. */ - check_numeric (argv[0], - _("non-numeric first argument to `wordlist' function")); - check_numeric (argv[1], - _("non-numeric second argument to `wordlist' function")); - - start = atoi (argv[0]); - count = atoi (argv[1]) - start + 1; - - if (count > 0) - { - char *p; - char *end_p = argv[2]; - - /* Find the beginning of the "start"th word. */ - while (((p = find_next_token (&end_p, 0)) != 0) && --start) - ; - - if (p) - { - /* Find the end of the "count"th word from start. */ - while (--count && (find_next_token (&end_p, 0) != 0)) - ; - - /* Return the stuff in the middle. */ - o = variable_buffer_output (o, p, end_p - p); - } - } - - return o; -} - -static char* -func_findstring (char *o, char **argv, const char *funcname) -{ - /* Find the first occurrence of the first string in the second. */ - int i = strlen (argv[0]); - if (sindex (argv[1], 0, argv[0], i) != 0) - o = variable_buffer_output (o, argv[0], i); - - return o; -} - -static char * -func_foreach (char *o, char **argv, const char *funcname) -{ - /* expand only the first two. */ - char *varname = expand_argument (argv[0], NULL); - char *list = expand_argument (argv[1], NULL); - char *body = argv[2]; - - int doneany = 0; - char *list_iterator = list; - char *p; - unsigned int len; - register struct variable *var; - - push_new_variable_scope (); - var = define_variable (varname, strlen (varname), "", o_automatic, 0); - - /* loop through LIST, put the value in VAR and expand BODY */ - while ((p = find_next_token (&list_iterator, &len)) != 0) - { - char *result = 0; - - { - char save = p[len]; - - p[len] = '\0'; - free (var->value); - var->value = (char *) xstrdup ((char*) p); - p[len] = save; - } - - result = allocated_variable_expand (body); - - o = variable_buffer_output (o, result, strlen (result)); - o = variable_buffer_output (o, " ", 1); - doneany = 1; - free (result); - } - - if (doneany) - /* Kill the last space. */ - --o; - - pop_variable_scope (); - free (varname); - free (list); - - return o; -} - -struct a_word -{ - struct a_word *next; - struct a_word *chain; - char *str; - int length; - int matched; -}; - -static unsigned long -a_word_hash_1 (const void *key) -{ - return_STRING_HASH_1 (((struct a_word const *) key)->str); -} - -static unsigned long -a_word_hash_2 (const void *key) -{ - return_STRING_HASH_2 (((struct a_word const *) key)->str); -} - -static int -a_word_hash_cmp (const void *x, const void *y) -{ - int result = ((struct a_word const *) x)->length - ((struct a_word const *) y)->length; - if (result) - return result; - return_STRING_COMPARE (((struct a_word const *) x)->str, - ((struct a_word const *) y)->str); -} - -struct a_pattern -{ - struct a_pattern *next; - char *str; - char *percent; - int length; - int save_c; -}; - -static char * -func_filter_filterout (char *o, char **argv, const char *funcname) -{ - struct a_word *wordhead; - struct a_word **wordtail; - struct a_word *wp; - struct a_pattern *pathead; - struct a_pattern **pattail; - struct a_pattern *pp; - - struct hash_table a_word_table; - int is_filter = streq (funcname, "filter"); - char *pat_iterator = argv[0]; - char *word_iterator = argv[1]; - int literals = 0; - int words = 0; - int hashing = 0; - char *p; - unsigned int len; - - /* Chop ARGV[0] up into patterns to match against the words. */ - - pattail = &pathead; - while ((p = find_next_token (&pat_iterator, &len)) != 0) - { - struct a_pattern *pat = (struct a_pattern *) alloca (sizeof (struct a_pattern)); - - *pattail = pat; - pattail = &pat->next; - - if (*pat_iterator != '\0') - ++pat_iterator; - - pat->str = p; - pat->length = len; - pat->save_c = p[len]; - p[len] = '\0'; - pat->percent = find_percent (p); - if (pat->percent == 0) - literals++; - } - *pattail = 0; - - /* Chop ARGV[1] up into words to match against the patterns. */ - - wordtail = &wordhead; - while ((p = find_next_token (&word_iterator, &len)) != 0) - { - struct a_word *word = (struct a_word *) alloca (sizeof (struct a_word)); - - *wordtail = word; - wordtail = &word->next; - - if (*word_iterator != '\0') - ++word_iterator; - - p[len] = '\0'; - word->str = p; - word->length = len; - word->matched = 0; - word->chain = 0; - words++; - } - *wordtail = 0; - - /* Only use a hash table if arg list lengths justifies the cost. */ - hashing = (literals >= 2 && (literals * words) >= 10); - if (hashing) - { - hash_init (&a_word_table, words, a_word_hash_1, a_word_hash_2, a_word_hash_cmp); - for (wp = wordhead; wp != 0; wp = wp->next) - { - struct a_word *owp = hash_insert (&a_word_table, wp); - if (owp) - wp->chain = owp; - } - } - - if (words) - { - int doneany = 0; - - /* Run each pattern through the words, killing words. */ - for (pp = pathead; pp != 0; pp = pp->next) - { - if (pp->percent) - for (wp = wordhead; wp != 0; wp = wp->next) - wp->matched |= pattern_matches (pp->str, pp->percent, wp->str); - else if (hashing) - { - struct a_word a_word_key; - a_word_key.str = pp->str; - a_word_key.length = pp->length; - wp = (struct a_word *) hash_find_item (&a_word_table, &a_word_key); - while (wp) - { - wp->matched |= 1; - wp = wp->chain; - } - } - else - for (wp = wordhead; wp != 0; wp = wp->next) - wp->matched |= (wp->length == pp->length - && strneq (pp->str, wp->str, wp->length)); - } - - /* Output the words that matched (or didn't, for filter-out). */ - for (wp = wordhead; wp != 0; wp = wp->next) - if (is_filter ? wp->matched : !wp->matched) - { - o = variable_buffer_output (o, wp->str, strlen (wp->str)); - o = variable_buffer_output (o, " ", 1); - doneany = 1; - } - - if (doneany) - /* Kill the last space. */ - --o; - } - - for (pp = pathead; pp != 0; pp = pp->next) - pp->str[pp->length] = pp->save_c; - - if (hashing) - hash_free (&a_word_table, 0); - - return o; -} - - -static char * -func_strip (char *o, char **argv, const char *funcname) -{ - char *p = argv[0]; - int doneany =0; - - while (*p != '\0') - { - int i=0; - char *word_start=0; - - while (isspace ((unsigned char)*p)) - ++p; - word_start = p; - for (i=0; *p != '\0' && !isspace ((unsigned char)*p); ++p, ++i) - {} - if (!i) - break; - o = variable_buffer_output (o, word_start, i); - o = variable_buffer_output (o, " ", 1); - doneany = 1; - } - - if (doneany) - /* Kill the last space. */ - --o; - return o; -} - -/* - Print a warning or fatal message. -*/ -static char * -func_error (char *o, char **argv, const char *funcname) -{ - char **argvp; - char *msg, *p; - int len; - - /* The arguments will be broken on commas. Rather than create yet - another special case where function arguments aren't broken up, - just create a format string that puts them back together. */ - for (len=0, argvp=argv; *argvp != 0; ++argvp) - len += strlen (*argvp) + 2; - - p = msg = (char *) alloca (len + 1); - - for (argvp=argv; argvp[1] != 0; ++argvp) - { - strcpy (p, *argvp); - p += strlen (*argvp); - *(p++) = ','; - *(p++) = ' '; - } - strcpy (p, *argvp); - - if (*funcname == 'e') - fatal (reading_file, "%s", msg); - - /* The warning function expands to the empty string. */ - error (reading_file, "%s", msg); - - return o; -} - - -/* - chop argv[0] into words, and sort them. - */ -static char * -func_sort (char *o, char **argv, const char *funcname) -{ - char **words = 0; - int nwords = 0; - register int wordi = 0; - - /* Chop ARGV[0] into words and put them in WORDS. */ - char *t = argv[0]; - char *p; - unsigned int len; - int i; - - while ((p = find_next_token (&t, &len)) != 0) - { - if (wordi >= nwords - 1) - { - nwords = (2 * nwords) + 5; - words = (char **) xrealloc ((char *) words, - nwords * sizeof (char *)); - } - words[wordi++] = savestring (p, len); - } - - if (!wordi) - return o; - - /* Now sort the list of words. */ - qsort ((char *) words, wordi, sizeof (char *), alpha_compare); - - /* Now write the sorted list. */ - for (i = 0; i < wordi; ++i) - { - len = strlen (words[i]); - if (i == wordi - 1 || strlen (words[i + 1]) != len - || strcmp (words[i], words[i + 1])) - { - o = variable_buffer_output (o, words[i], len); - o = variable_buffer_output (o, " ", 1); - } - free (words[i]); - } - /* Kill the last space. */ - --o; - - free (words); - - return o; -} - -/* - $(if condition,true-part[,false-part]) - - CONDITION is false iff it evaluates to an empty string. White - space before and after condition are stripped before evaluation. - - If CONDITION is true, then TRUE-PART is evaluated, otherwise FALSE-PART is - evaluated (if it exists). Because only one of the two PARTs is evaluated, - you can use $(if ...) to create side-effects (with $(shell ...), for - example). -*/ - -static char * -func_if (char *o, char **argv, const char *funcname) -{ - const char *begp = argv[0]; - const char *endp = begp + strlen (argv[0]); - int result = 0; - - /* Find the result of the condition: if we have a value, and it's not - empty, the condition is true. If we don't have a value, or it's the - empty string, then it's false. */ - - strip_whitespace (&begp, &endp); - - if (begp < endp) - { - char *expansion = expand_argument (begp, NULL); - - result = strlen (expansion); - free (expansion); - } - - /* If the result is true (1) we want to eval the first argument, and if - it's false (0) we want to eval the second. If the argument doesn't - exist we do nothing, otherwise expand it and add to the buffer. */ - - argv += 1 + !result; - - if (argv[0]) - { - char *expansion; - - expansion = expand_argument (argv[0], NULL); - - o = variable_buffer_output (o, expansion, strlen (expansion)); - - free (expansion); - } - - return o; -} - -static char * -func_wildcard (char *o, char **argv, const char *funcname) -{ - -#ifdef _AMIGA - o = wildcard_expansion (argv[0], o); -#else - char *p = string_glob (argv[0]); - o = variable_buffer_output (o, p, strlen (p)); -#endif - return o; -} - -/* - $(eval ) - - Always resolves to the empty string. - - Treat the arguments as a segment of makefile, and parse them. -*/ - -static char * -func_eval (char *o, char **argv, const char *funcname) -{ - char *buf; - unsigned int len; - - /* Eval the buffer. Pop the current variable buffer setting so that the - eval'd code can use its own without conflicting. */ - - install_variable_buffer (&buf, &len); - - eval_buffer (argv[0]); - - restore_variable_buffer (buf, len); - - return o; -} - - -static char * -func_value (char *o, char **argv, const char *funcname) -{ - /* Look up the variable. */ - struct variable *v = lookup_variable (argv[0], strlen (argv[0])); - - /* Copy its value into the output buffer without expanding it. */ - if (v) - o = variable_buffer_output (o, v->value, strlen(v->value)); - - return o; -} - -/* - \r is replaced on UNIX as well. Is this desirable? - */ -void -fold_newlines (char *buffer, int *length) -{ - char *dst = buffer; - char *src = buffer; - char *last_nonnl = buffer -1; - src[*length] = 0; - for (; *src != '\0'; ++src) - { - if (src[0] == '\r' && src[1] == '\n') - continue; - if (*src == '\n') - { - *dst++ = ' '; - } - else - { - last_nonnl = dst; - *dst++ = *src; - } - } - *(++last_nonnl) = '\0'; - *length = last_nonnl - buffer; -} - - - -int shell_function_pid = 0, shell_function_completed; - - -#ifdef WINDOWS32 -/*untested*/ - -#include -#include -#include "sub_proc.h" - - -void -windows32_openpipe (int *pipedes, int *pid_p, char **command_argv, char **envp) -{ - SECURITY_ATTRIBUTES saAttr; - HANDLE hIn; - HANDLE hErr; - HANDLE hChildOutRd; - HANDLE hChildOutWr; - HANDLE hProcess; - - - saAttr.nLength = sizeof (SECURITY_ATTRIBUTES); - saAttr.bInheritHandle = TRUE; - saAttr.lpSecurityDescriptor = NULL; - - if (DuplicateHandle (GetCurrentProcess(), - GetStdHandle(STD_INPUT_HANDLE), - GetCurrentProcess(), - &hIn, - 0, - TRUE, - DUPLICATE_SAME_ACCESS) == FALSE) { - fatal (NILF, _("create_child_process: DuplicateHandle(In) failed (e=%d)\n"), - GetLastError()); - - } - if (DuplicateHandle(GetCurrentProcess(), - GetStdHandle(STD_ERROR_HANDLE), - GetCurrentProcess(), - &hErr, - 0, - TRUE, - DUPLICATE_SAME_ACCESS) == FALSE) { - fatal (NILF, _("create_child_process: DuplicateHandle(Err) failed (e=%d)\n"), - GetLastError()); - } - - if (!CreatePipe(&hChildOutRd, &hChildOutWr, &saAttr, 0)) - fatal (NILF, _("CreatePipe() failed (e=%d)\n"), GetLastError()); - - hProcess = process_init_fd(hIn, hChildOutWr, hErr); - - if (!hProcess) - fatal (NILF, _("windows32_openpipe (): process_init_fd() failed\n")); - - /* make sure that CreateProcess() has Path it needs */ - sync_Path_environment(); - - if (!process_begin(hProcess, command_argv, envp, command_argv[0], NULL)) { - /* register process for wait */ - process_register(hProcess); - - /* set the pid for returning to caller */ - *pid_p = (int) hProcess; - - /* set up to read data from child */ - pipedes[0] = _open_osfhandle((long) hChildOutRd, O_RDONLY); - - /* this will be closed almost right away */ - pipedes[1] = _open_osfhandle((long) hChildOutWr, O_APPEND); - } else { - /* reap/cleanup the failed process */ - process_cleanup(hProcess); - - /* close handles which were duplicated, they weren't used */ - CloseHandle(hIn); - CloseHandle(hErr); - - /* close pipe handles, they won't be used */ - CloseHandle(hChildOutRd); - CloseHandle(hChildOutWr); - - /* set status for return */ - pipedes[0] = pipedes[1] = -1; - *pid_p = -1; - } -} -#endif - - -#ifdef __MSDOS__ -FILE * -msdos_openpipe (int* pipedes, int *pidp, char *text) -{ - FILE *fpipe=0; - /* MSDOS can't fork, but it has `popen'. */ - struct variable *sh = lookup_variable ("SHELL", 5); - int e; - extern int dos_command_running, dos_status; - - /* Make sure not to bother processing an empty line. */ - while (isblank ((unsigned char)*text)) - ++text; - if (*text == '\0') - return 0; - - if (sh) - { - char buf[PATH_MAX + 7]; - /* This makes sure $SHELL value is used by $(shell), even - though the target environment is not passed to it. */ - sprintf (buf, "SHELL=%s", sh->value); - putenv (buf); - } - - e = errno; - errno = 0; - dos_command_running = 1; - dos_status = 0; - /* If dos_status becomes non-zero, it means the child process - was interrupted by a signal, like SIGINT or SIGQUIT. See - fatal_error_signal in commands.c. */ - fpipe = popen (text, "rt"); - dos_command_running = 0; - if (!fpipe || dos_status) - { - pipedes[0] = -1; - *pidp = -1; - if (dos_status) - errno = EINTR; - else if (errno == 0) - errno = ENOMEM; - shell_function_completed = -1; - } - else - { - pipedes[0] = fileno (fpipe); - *pidp = 42; /* Yes, the Meaning of Life, the Universe, and Everything! */ - errno = e; - shell_function_completed = 1; - } - return fpipe; -} -#endif - -/* - Do shell spawning, with the naughty bits for different OSes. - */ - -#ifdef VMS - -/* VMS can't do $(shell ...) */ -#define func_shell 0 - -#else -#ifndef _AMIGA -static char * -func_shell (char *o, char **argv, const char *funcname) -{ - char* batch_filename = NULL; - int i; - -#ifdef __MSDOS__ - FILE *fpipe; -#endif - char **command_argv; - char *error_prefix; - char **envp; - int pipedes[2]; - int pid; - -#ifndef __MSDOS__ - /* Construct the argument list. */ - command_argv = construct_command_argv (argv[0], - (char **) NULL, (struct file *) 0, - &batch_filename); - if (command_argv == 0) - return o; -#endif - - /* Using a target environment for `shell' loses in cases like: - export var = $(shell echo foobie) - because target_environment hits a loop trying to expand $(var) - to put it in the environment. This is even more confusing when - var was not explicitly exported, but just appeared in the - calling environment. */ - - envp = environ; - - /* For error messages. */ - if (reading_file != 0) - { - error_prefix = (char *) alloca (strlen (reading_file->filenm)+11+4); - sprintf (error_prefix, - "%s:%lu: ", reading_file->filenm, reading_file->lineno); - } - else - error_prefix = ""; - -#ifdef WINDOWS32 - - windows32_openpipe (pipedes, &pid, command_argv, envp); - - if (pipedes[0] < 0) { - /* open of the pipe failed, mark as failed execution */ - shell_function_completed = -1; - - return o; - } else - -#elif defined(__MSDOS__) - - fpipe = msdos_openpipe (pipedes, &pid, argv[0]); - if (pipedes[0] < 0) - { - perror_with_name (error_prefix, "pipe"); - return o; - } - -#else - - if (pipe (pipedes) < 0) - { - perror_with_name (error_prefix, "pipe"); - return o; - } - -# ifdef __EMX__ - - /* close some handles that are unnecessary for the child process */ - CLOSE_ON_EXEC(pipedes[1]); - CLOSE_ON_EXEC(pipedes[0]); - /* Never use fork()/exec() here! Use spawn() instead in exec_command() */ - pid = child_execute_job (0, pipedes[1], command_argv, envp); - if (pid < 0) - perror_with_name (error_prefix, "spawn"); - -# else /* ! __EMX__ */ - - pid = vfork (); - if (pid < 0) - perror_with_name (error_prefix, "fork"); - else if (pid == 0) - child_execute_job (0, pipedes[1], command_argv, envp); - else - -# endif - -#endif - { - /* We are the parent. */ - - char *buffer; - unsigned int maxlen; - int cc; - - /* Record the PID for reap_children. */ - shell_function_pid = pid; -#ifndef __MSDOS__ - shell_function_completed = 0; - - /* Free the storage only the child needed. */ - free (command_argv[0]); - free ((char *) command_argv); - - /* Close the write side of the pipe. */ - (void) close (pipedes[1]); -#endif - - /* Set up and read from the pipe. */ - - maxlen = 200; - buffer = (char *) xmalloc (maxlen + 1); - - /* Read from the pipe until it gets EOF. */ - for (i = 0; ; i += cc) - { - if (i == maxlen) - { - maxlen += 512; - buffer = (char *) xrealloc (buffer, maxlen + 1); - } - - EINTRLOOP (cc, read (pipedes[0], &buffer[i], maxlen - i)); - if (cc <= 0) - break; - } - buffer[i] = '\0'; - - /* Close the read side of the pipe. */ -#ifdef __MSDOS__ - if (fpipe) - (void) pclose (fpipe); -#else - (void) close (pipedes[0]); -#endif - - /* Loop until child_handler or reap_children() sets - shell_function_completed to the status of our child shell. */ - while (shell_function_completed == 0) - reap_children (1, 0); - - if (batch_filename) { - DB (DB_VERBOSE, (_("Cleaning up temporary batch file %s\n"), - batch_filename)); - remove (batch_filename); - free (batch_filename); - } - shell_function_pid = 0; - - /* The child_handler function will set shell_function_completed - to 1 when the child dies normally, or to -1 if it - dies with status 127, which is most likely an exec fail. */ - - if (shell_function_completed == -1) - { - /* This most likely means that the execvp failed, - so we should just write out the error message - that came in over the pipe from the child. */ - fputs (buffer, stderr); - fflush (stderr); - } - else - { - /* The child finished normally. Replace all - newlines in its output with spaces, and put - that in the variable output buffer. */ - fold_newlines (buffer, &i); - o = variable_buffer_output (o, buffer, i); - } - - free (buffer); - } - - return o; -} - -#else /* _AMIGA */ - -/* Do the Amiga version of func_shell. */ - -static char * -func_shell (char *o, char **argv, const char *funcname) -{ - /* Amiga can't fork nor spawn, but I can start a program with - redirection of my choice. However, this means that we - don't have an opportunity to reopen stdout to trap it. Thus, - we save our own stdout onto a new descriptor and dup a temp - file's descriptor onto our stdout temporarily. After we - spawn the shell program, we dup our own stdout back to the - stdout descriptor. The buffer reading is the same as above, - except that we're now reading from a file. */ - -#include -#include - - BPTR child_stdout; - char tmp_output[FILENAME_MAX]; - unsigned int maxlen = 200; - int cc, i; - char * buffer, * ptr; - char ** aptr; - int len = 0; - char* batch_filename = NULL; - - /* Construct the argument list. */ - command_argv = construct_command_argv (argv[0], (char **) NULL, - (struct file *) 0, &batch_filename); - if (command_argv == 0) - return o; - - /* Note the mktemp() is a security hole, but this only runs on Amiga. - Ideally we would use main.c:open_tmpfile(), but this uses a special - Open(), not fopen(), and I'm not familiar enough with the code to mess - with it. */ - strcpy (tmp_output, "t:MakeshXXXXXXXX"); - mktemp (tmp_output); - child_stdout = Open (tmp_output, MODE_NEWFILE); - - for (aptr=command_argv; *aptr; aptr++) - len += strlen (*aptr) + 1; - - buffer = xmalloc (len + 1); - ptr = buffer; - - for (aptr=command_argv; *aptr; aptr++) - { - strcpy (ptr, *aptr); - ptr += strlen (ptr) + 1; - *ptr ++ = ' '; - *ptr = 0; - } - - ptr[-1] = '\n'; - - Execute (buffer, NULL, child_stdout); - free (buffer); - - Close (child_stdout); - - child_stdout = Open (tmp_output, MODE_OLDFILE); - - buffer = xmalloc (maxlen); - i = 0; - do - { - if (i == maxlen) - { - maxlen += 512; - buffer = (char *) xrealloc (buffer, maxlen + 1); - } - - cc = Read (child_stdout, &buffer[i], maxlen - i); - if (cc > 0) - i += cc; - } while (cc > 0); - - Close (child_stdout); - - fold_newlines (buffer, &i); - o = variable_buffer_output (o, buffer, i); - free (buffer); - return o; -} -#endif /* _AMIGA */ -#endif /* !VMS */ - -#ifdef EXPERIMENTAL - -/* - equality. Return is string-boolean, ie, the empty string is false. - */ -static char * -func_eq (char* o, char **argv, char *funcname) -{ - int result = ! strcmp (argv[0], argv[1]); - o = variable_buffer_output (o, result ? "1" : "", result); - return o; -} - - -/* - string-boolean not operator. - */ -static char * -func_not (char* o, char **argv, char *funcname) -{ - char * s = argv[0]; - int result = 0; - while (isspace ((unsigned char)*s)) - s++; - result = ! (*s); - o = variable_buffer_output (o, result ? "1" : "", result); - return o; -} -#endif - - -/* Lookup table for builtin functions. - - This doesn't have to be sorted; we use a straight lookup. We might gain - some efficiency by moving most often used functions to the start of the - table. - - If MAXIMUM_ARGS is 0, that means there is no maximum and all - comma-separated values are treated as arguments. - - EXPAND_ARGS means that all arguments should be expanded before invocation. - Functions that do namespace tricks (foreach) don't automatically expand. */ - -static char *func_call PARAMS ((char *o, char **argv, const char *funcname)); - - -static struct function_table_entry function_table_init[] = -{ - /* Name/size */ /* MIN MAX EXP? Function */ - { STRING_SIZE_TUPLE("addprefix"), 2, 2, 1, func_addsuffix_addprefix}, - { STRING_SIZE_TUPLE("addsuffix"), 2, 2, 1, func_addsuffix_addprefix}, - { STRING_SIZE_TUPLE("basename"), 0, 1, 1, func_basename_dir}, - { STRING_SIZE_TUPLE("dir"), 0, 1, 1, func_basename_dir}, - { STRING_SIZE_TUPLE("notdir"), 0, 1, 1, func_notdir_suffix}, - { STRING_SIZE_TUPLE("subst"), 3, 3, 1, func_subst}, - { STRING_SIZE_TUPLE("suffix"), 0, 1, 1, func_notdir_suffix}, - { STRING_SIZE_TUPLE("filter"), 2, 2, 1, func_filter_filterout}, - { STRING_SIZE_TUPLE("filter-out"), 2, 2, 1, func_filter_filterout}, - { STRING_SIZE_TUPLE("findstring"), 2, 2, 1, func_findstring}, - { STRING_SIZE_TUPLE("firstword"), 0, 1, 1, func_firstword}, - { STRING_SIZE_TUPLE("join"), 2, 2, 1, func_join}, - { STRING_SIZE_TUPLE("patsubst"), 3, 3, 1, func_patsubst}, - { STRING_SIZE_TUPLE("shell"), 0, 1, 1, func_shell}, - { STRING_SIZE_TUPLE("sort"), 0, 1, 1, func_sort}, - { STRING_SIZE_TUPLE("strip"), 0, 1, 1, func_strip}, - { STRING_SIZE_TUPLE("wildcard"), 0, 1, 1, func_wildcard}, - { STRING_SIZE_TUPLE("word"), 2, 2, 1, func_word}, - { STRING_SIZE_TUPLE("wordlist"), 3, 3, 1, func_wordlist}, - { STRING_SIZE_TUPLE("words"), 0, 1, 1, func_words}, - { STRING_SIZE_TUPLE("origin"), 0, 1, 1, func_origin}, - { STRING_SIZE_TUPLE("foreach"), 3, 3, 0, func_foreach}, - { STRING_SIZE_TUPLE("call"), 1, 0, 1, func_call}, - { STRING_SIZE_TUPLE("error"), 0, 1, 1, func_error}, - { STRING_SIZE_TUPLE("warning"), 0, 1, 1, func_error}, - { STRING_SIZE_TUPLE("if"), 2, 3, 0, func_if}, - { STRING_SIZE_TUPLE("value"), 0, 1, 1, func_value}, - { STRING_SIZE_TUPLE("eval"), 0, 1, 1, func_eval}, -#ifdef EXPERIMENTAL - { STRING_SIZE_TUPLE("eq"), 2, 2, 1, func_eq}, - { STRING_SIZE_TUPLE("not"), 0, 1, 1, func_not}, -#endif -}; - -#define FUNCTION_TABLE_ENTRIES (sizeof (function_table_init) / sizeof (struct function_table_entry)) - - -/* These must come after the definition of function_table. */ - -static char * -expand_builtin_function (char *o, int argc, char **argv, - const struct function_table_entry *entry_p) -{ - if (argc < (int)entry_p->minimum_args) - fatal (reading_file, - _("Insufficient number of arguments (%d) to function `%s'"), - argc, entry_p->name); - - /* I suppose technically some function could do something with no - arguments, but so far none do, so just test it for all functions here - rather than in each one. We can change it later if necessary. */ - - if (!argc) - return o; - - if (!entry_p->func_ptr) - fatal (reading_file, _("Unimplemented on this platform: function `%s'"), - entry_p->name); - - return entry_p->func_ptr (o, argv, entry_p->name); -} - -/* Check for a function invocation in *STRINGP. *STRINGP points at the - opening ( or { and is not null-terminated. If a function invocation - is found, expand it into the buffer at *OP, updating *OP, incrementing - *STRINGP past the reference and returning nonzero. If not, return zero. */ - -int -handle_function (char **op, char **stringp) -{ - const struct function_table_entry *entry_p; - char openparen = (*stringp)[0]; - char closeparen = openparen == '(' ? ')' : '}'; - char *beg; - char *end; - int count = 0; - register char *p; - char **argv, **argvp; - int nargs; - - beg = *stringp + 1; - - entry_p = lookup_function (beg); - - if (!entry_p) - return 0; - - /* We found a builtin function. Find the beginning of its arguments (skip - whitespace after the name). */ - - beg = next_token (beg + entry_p->len); - - /* Find the end of the function invocation, counting nested use of - whichever kind of parens we use. Since we're looking, count commas - to get a rough estimate of how many arguments we might have. The - count might be high, but it'll never be low. */ - - for (nargs=1, end=beg; *end != '\0'; ++end) - if (*end == ',') - ++nargs; - else if (*end == openparen) - ++count; - else if (*end == closeparen && --count < 0) - break; - - if (count >= 0) - fatal (reading_file, - _("unterminated call to function `%s': missing `%c'"), - entry_p->name, closeparen); - - *stringp = end; - - /* Get some memory to store the arg pointers. */ - argvp = argv = (char **) alloca (sizeof (char *) * (nargs + 2)); - - /* Chop the string into arguments, then a nul. As soon as we hit - MAXIMUM_ARGS (if it's >0) assume the rest of the string is part of the - last argument. - - If we're expanding, store pointers to the expansion of each one. If - not, make a duplicate of the string and point into that, nul-terminating - each argument. */ - - if (!entry_p->expand_args) - { - int len = end - beg; - - p = xmalloc (len+1); - memcpy (p, beg, len); - p[len] = '\0'; - beg = p; - end = beg + len; - } - - for (p=beg, nargs=0; p <= end; ++argvp) - { - char *next; - - ++nargs; - - if (nargs == entry_p->maximum_args - || (! (next = find_next_argument (openparen, closeparen, p, end)))) - next = end; - - if (entry_p->expand_args) - *argvp = expand_argument (p, next); - else - { - *argvp = p; - *next = '\0'; - } - - p = next + 1; - } - *argvp = NULL; - - /* Finally! Run the function... */ - *op = expand_builtin_function (*op, nargs, argv, entry_p); - - /* Free memory. */ - if (entry_p->expand_args) - for (argvp=argv; *argvp != 0; ++argvp) - free (*argvp); - else - free (beg); - - return 1; -} - - -/* User-defined functions. Expand the first argument as either a builtin - function or a make variable, in the context of the rest of the arguments - assigned to $1, $2, ... $N. $0 is the name of the function. */ - -static char * -func_call (char *o, char **argv, const char *funcname) -{ - static int max_args = 0; - char *fname; - char *cp; - char *body; - int flen; - int i; - int saved_args; - const struct function_table_entry *entry_p; - struct variable *v; - - /* There is no way to define a variable with a space in the name, so strip - leading and trailing whitespace as a favor to the user. */ - fname = argv[0]; - while (*fname != '\0' && isspace ((unsigned char)*fname)) - ++fname; - - cp = fname + strlen (fname) - 1; - while (cp > fname && isspace ((unsigned char)*cp)) - --cp; - cp[1] = '\0'; - - /* Calling nothing is a no-op */ - if (*fname == '\0') - return o; - - /* Are we invoking a builtin function? */ - - entry_p = lookup_function (fname); - - if (entry_p) - { - /* How many arguments do we have? */ - for (i=0; argv[i+1]; ++i) - ; - - return expand_builtin_function (o, i, argv+1, entry_p); - } - - /* Not a builtin, so the first argument is the name of a variable to be - expanded and interpreted as a function. Find it. */ - flen = strlen (fname); - - v = lookup_variable (fname, flen); - - if (v == 0) - warn_undefined (fname, flen); - - if (v == 0 || *v->value == '\0') - return o; - - body = (char *) alloca (flen + 4); - body[0] = '$'; - body[1] = '('; - memcpy (body + 2, fname, flen); - body[flen+2] = ')'; - body[flen+3] = '\0'; - - /* Set up arguments $(1) .. $(N). $(0) is the function name. */ - - push_new_variable_scope (); - - for (i=0; *argv; ++i, ++argv) - { - char num[11]; - - sprintf (num, "%d", i); - define_variable (num, strlen (num), *argv, o_automatic, 0); - } - - /* If the number of arguments we have is < max_args, it means we're inside - a recursive invocation of $(call ...). Fill in the remaining arguments - in the new scope with the empty value, to hide them from this - invocation. */ - - for (; i < max_args; ++i) - { - char num[11]; - - sprintf (num, "%d", i); - define_variable (num, strlen (num), "", o_automatic, 0); - } - - /* Expand the body in the context of the arguments, adding the result to - the variable buffer. */ - - v->exp_count = EXP_COUNT_MAX; - - saved_args = max_args; - max_args = i; - o = variable_expand_string (o, body, flen+3); - max_args = saved_args; - - v->exp_count = 0; - - pop_variable_scope (); - - return o + strlen (o); -} - -void -hash_init_function_table (void) -{ - hash_init (&function_table, FUNCTION_TABLE_ENTRIES * 2, - function_table_entry_hash_1, function_table_entry_hash_2, - function_table_entry_hash_cmp); - hash_load (&function_table, function_table_init, - FUNCTION_TABLE_ENTRIES, sizeof (struct function_table_entry)); -} +/* Builtin function expansion for GNU Make. +Copyright (C) 1988, 1989, 1991-1997, 1999, 2002 Free Software Foundation, Inc. +This file is part of GNU Make. + +GNU Make is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Make is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Make; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +#include "make.h" +#include "filedef.h" +#include "variable.h" +#include "dep.h" +#include "job.h" +#include "commands.h" +#include "debug.h" + +#ifdef _AMIGA +#include "amiga.h" +#endif + + +struct function_table_entry + { + const char *name; + unsigned char len; + unsigned char minimum_args; + unsigned char maximum_args; + char expand_args; + char *(*func_ptr) PARAMS ((char *output, char **argv, const char *fname)); + }; + +static unsigned long +function_table_entry_hash_1 (const void *keyv) +{ + struct function_table_entry const *key = (struct function_table_entry const *) keyv; + return_STRING_N_HASH_1 (key->name, key->len); +} + +static unsigned long +function_table_entry_hash_2 (const void *keyv) +{ + struct function_table_entry const *key = (struct function_table_entry const *) keyv; + return_STRING_N_HASH_2 (key->name, key->len); +} + +static int +function_table_entry_hash_cmp (const void *xv, const void *yv) +{ + struct function_table_entry const *x = (struct function_table_entry const *) xv; + struct function_table_entry const *y = (struct function_table_entry const *) yv; + int result = x->len - y->len; + if (result) + return result; + return_STRING_N_COMPARE (x->name, y->name, x->len); +} + +static struct hash_table function_table; + + +/* Store into VARIABLE_BUFFER at O the result of scanning TEXT and replacing + each occurrence of SUBST with REPLACE. TEXT is null-terminated. SLEN is + the length of SUBST and RLEN is the length of REPLACE. If BY_WORD is + nonzero, substitutions are done only on matches which are complete + whitespace-delimited words. If SUFFIX_ONLY is nonzero, substitutions are + done only at the ends of whitespace-delimited words. */ + +char * +subst_expand (char *o, char *text, char *subst, char *replace, + unsigned int slen, unsigned int rlen, + int by_word, int suffix_only) +{ + char *t = text; + unsigned int tlen = strlen (text); + char *p; + + if (slen == 0 && !by_word && !suffix_only) + { + /* The first occurrence of "" in any string is its end. */ + o = variable_buffer_output (o, t, tlen); + if (rlen > 0) + o = variable_buffer_output (o, replace, rlen); + return o; + } + + do + { + if ((by_word | suffix_only) && slen == 0) + /* When matching by words, the empty string should match + the end of each word, rather than the end of the whole text. */ + p = end_of_token (next_token (t)); + else + { + p = sindex (t, tlen, subst, slen); + if (p == 0) + { + /* No more matches. Output everything left on the end. */ + o = variable_buffer_output (o, t, tlen); + return o; + } + } + + /* Output everything before this occurrence of the string to replace. */ + if (p > t) + o = variable_buffer_output (o, t, p - t); + + /* If we're substituting only by fully matched words, + or only at the ends of words, check that this case qualifies. */ + if ((by_word + && ((p > t && !isblank ((unsigned char)p[-1])) + || (p[slen] != '\0' && !isblank ((unsigned char)p[slen])))) + || (suffix_only + && (p[slen] != '\0' && !isblank ((unsigned char)p[slen])))) + /* Struck out. Output the rest of the string that is + no longer to be replaced. */ + o = variable_buffer_output (o, subst, slen); + else if (rlen > 0) + /* Output the replacement string. */ + o = variable_buffer_output (o, replace, rlen); + + /* Advance T past the string to be replaced; adjust tlen. */ + { + char *nt = p + slen; + tlen -= nt - t; + t = nt; + } + } while (*t != '\0'); + + return o; +} + + +/* Store into VARIABLE_BUFFER at O the result of scanning TEXT + and replacing strings matching PATTERN with REPLACE. + If PATTERN_PERCENT is not nil, PATTERN has already been + run through find_percent, and PATTERN_PERCENT is the result. + If REPLACE_PERCENT is not nil, REPLACE has already been + run through find_percent, and REPLACE_PERCENT is the result. */ + +char * +patsubst_expand (char *o, char *text, char *pattern, char *replace, + char *pattern_percent, char *replace_percent) +{ + unsigned int pattern_prepercent_len, pattern_postpercent_len; + unsigned int replace_prepercent_len, replace_postpercent_len = 0; + char *t; + unsigned int len; + int doneany = 0; + + /* We call find_percent on REPLACE before checking PATTERN so that REPLACE + will be collapsed before we call subst_expand if PATTERN has no %. */ + if (replace_percent == 0) + replace_percent = find_percent (replace); + if (replace_percent != 0) + { + /* Record the length of REPLACE before and after the % so + we don't have to compute these lengths more than once. */ + replace_prepercent_len = replace_percent - replace; + replace_postpercent_len = strlen (replace_percent + 1); + } + else + /* We store the length of the replacement + so we only need to compute it once. */ + replace_prepercent_len = strlen (replace); + + if (pattern_percent == 0) + pattern_percent = find_percent (pattern); + if (pattern_percent == 0) + /* With no % in the pattern, this is just a simple substitution. */ + return subst_expand (o, text, pattern, replace, + strlen (pattern), strlen (replace), 1, 0); + + /* Record the length of PATTERN before and after the % + so we don't have to compute it more than once. */ + pattern_prepercent_len = pattern_percent - pattern; + pattern_postpercent_len = strlen (pattern_percent + 1); + + while ((t = find_next_token (&text, &len)) != 0) + { + int fail = 0; + + /* Is it big enough to match? */ + if (len < pattern_prepercent_len + pattern_postpercent_len) + fail = 1; + + /* Does the prefix match? */ + if (!fail && pattern_prepercent_len > 0 + && (*t != *pattern + || t[pattern_prepercent_len - 1] != pattern_percent[-1] + || !strneq (t + 1, pattern + 1, pattern_prepercent_len - 1))) + fail = 1; + + /* Does the suffix match? */ + if (!fail && pattern_postpercent_len > 0 + && (t[len - 1] != pattern_percent[pattern_postpercent_len] + || t[len - pattern_postpercent_len] != pattern_percent[1] + || !strneq (&t[len - pattern_postpercent_len], + &pattern_percent[1], pattern_postpercent_len - 1))) + fail = 1; + + if (fail) + /* It didn't match. Output the string. */ + o = variable_buffer_output (o, t, len); + else + { + /* It matched. Output the replacement. */ + + /* Output the part of the replacement before the %. */ + o = variable_buffer_output (o, replace, replace_prepercent_len); + + if (replace_percent != 0) + { + /* Output the part of the matched string that + matched the % in the pattern. */ + o = variable_buffer_output (o, t + pattern_prepercent_len, + len - (pattern_prepercent_len + + pattern_postpercent_len)); + /* Output the part of the replacement after the %. */ + o = variable_buffer_output (o, replace_percent + 1, + replace_postpercent_len); + } + } + + /* Output a space, but not if the replacement is "". */ + if (fail || replace_prepercent_len > 0 + || (replace_percent != 0 && len + replace_postpercent_len > 0)) + { + o = variable_buffer_output (o, " ", 1); + doneany = 1; + } + } + if (doneany) + /* Kill the last space. */ + --o; + + return o; +} + + +/* Look up a function by name. */ + +static const struct function_table_entry * +lookup_function (const char *s) +{ + const char *e = s; + + while (*e && ( (*e >= 'a' && *e <= 'z') || *e == '-')) + e++; + if (*e == '\0' || isblank ((unsigned char) *e)) + { + struct function_table_entry function_table_entry_key; + function_table_entry_key.name = s; + function_table_entry_key.len = e - s; + + return hash_find_item (&function_table, &function_table_entry_key); + } + return 0; +} + + +/* Return 1 if PATTERN matches STR, 0 if not. */ + +int +pattern_matches (char *pattern, char *percent, char *str) +{ + unsigned int sfxlen, strlength; + + if (percent == 0) + { + unsigned int len = strlen (pattern) + 1; + char *new_chars = (char *) alloca (len); + bcopy (pattern, new_chars, len); + pattern = new_chars; + percent = find_percent (pattern); + if (percent == 0) + return streq (pattern, str); + } + + sfxlen = strlen (percent + 1); + strlength = strlen (str); + + if (strlength < (percent - pattern) + sfxlen + || !strneq (pattern, str, percent - pattern)) + return 0; + + return !strcmp (percent + 1, str + (strlength - sfxlen)); +} + + +/* Find the next comma or ENDPAREN (counting nested STARTPAREN and + ENDPARENtheses), starting at PTR before END. Return a pointer to + next character. + + If no next argument is found, return NULL. +*/ + +static char * +find_next_argument (char startparen, char endparen, + const char *ptr, const char *end) +{ + int count = 0; + + for (; ptr < end; ++ptr) + if (*ptr == startparen) + ++count; + + else if (*ptr == endparen) + { + --count; + if (count < 0) + return NULL; + } + + else if (*ptr == ',' && !count) + return (char *)ptr; + + /* We didn't find anything. */ + return NULL; +} + + +/* Glob-expand LINE. The returned pointer is + only good until the next call to string_glob. */ + +static char * +string_glob (char *line) +{ + static char *result = 0; + static unsigned int length; + register struct nameseq *chain; + register unsigned int idx; + + chain = multi_glob (parse_file_seq + (&line, '\0', sizeof (struct nameseq), + /* We do not want parse_file_seq to strip `./'s. + That would break examples like: + $(patsubst ./%.c,obj/%.o,$(wildcard ./?*.c)). */ + 0), + sizeof (struct nameseq)); + + if (result == 0) + { + length = 100; + result = (char *) xmalloc (100); + } + + idx = 0; + while (chain != 0) + { + register char *name = chain->name; + unsigned int len = strlen (name); + + struct nameseq *next = chain->next; + free ((char *) chain); + chain = next; + + /* multi_glob will pass names without globbing metacharacters + through as is, but we want only files that actually exist. */ + if (file_exists_p (name)) + { + if (idx + len + 1 > length) + { + length += (len + 1) * 2; + result = (char *) xrealloc (result, length); + } + bcopy (name, &result[idx], len); + idx += len; + result[idx++] = ' '; + } + + free (name); + } + + /* Kill the last space and terminate the string. */ + if (idx == 0) + result[0] = '\0'; + else + result[idx - 1] = '\0'; + + return result; +} + +/* + Builtin functions + */ + +static char * +func_patsubst (char *o, char **argv, const char *funcname) +{ + o = patsubst_expand (o, argv[2], argv[0], argv[1], (char *) 0, (char *) 0); + return o; +} + + +static char * +func_join (char *o, char **argv, const char *funcname) +{ + int doneany = 0; + + /* Write each word of the first argument directly followed + by the corresponding word of the second argument. + If the two arguments have a different number of words, + the excess words are just output separated by blanks. */ + register char *tp; + register char *pp; + char *list1_iterator = argv[0]; + char *list2_iterator = argv[1]; + do + { + unsigned int len1, len2; + + tp = find_next_token (&list1_iterator, &len1); + if (tp != 0) + o = variable_buffer_output (o, tp, len1); + + pp = find_next_token (&list2_iterator, &len2); + if (pp != 0) + o = variable_buffer_output (o, pp, len2); + + if (tp != 0 || pp != 0) + { + o = variable_buffer_output (o, " ", 1); + doneany = 1; + } + } + while (tp != 0 || pp != 0); + if (doneany) + /* Kill the last blank. */ + --o; + + return o; +} + + +static char * +func_origin (char *o, char **argv, const char *funcname) +{ + /* Expand the argument. */ + register struct variable *v = lookup_variable (argv[0], strlen (argv[0])); + if (v == 0) + o = variable_buffer_output (o, "undefined", 9); + else + switch (v->origin) + { + default: + case o_invalid: + abort (); + break; + case o_default: + o = variable_buffer_output (o, "default", 7); + break; + case o_env: + o = variable_buffer_output (o, "environment", 11); + break; + case o_file: + o = variable_buffer_output (o, "file", 4); + break; + case o_env_override: + o = variable_buffer_output (o, "environment override", 20); + break; + case o_command: + o = variable_buffer_output (o, "command line", 12); + break; + case o_override: + o = variable_buffer_output (o, "override", 8); + break; + case o_automatic: + o = variable_buffer_output (o, "automatic", 9); + break; + } + + return o; +} + +#ifdef VMS +# define IS_PATHSEP(c) ((c) == ']') +#else +# ifdef HAVE_DOS_PATHS +# define IS_PATHSEP(c) ((c) == '/' || (c) == '\\') +# else +# define IS_PATHSEP(c) ((c) == '/') +# endif +#endif + + +static char * +func_notdir_suffix (char *o, char **argv, const char *funcname) +{ + /* Expand the argument. */ + char *list_iterator = argv[0]; + char *p2 =0; + int doneany =0; + unsigned int len=0; + + int is_suffix = streq (funcname, "suffix"); + int is_notdir = !is_suffix; + while ((p2 = find_next_token (&list_iterator, &len)) != 0) + { + char *p = p2 + len; + + + while (p >= p2 && (!is_suffix || *p != '.')) + { + if (IS_PATHSEP (*p)) + break; + --p; + } + + if (p >= p2) + { + if (is_notdir) + ++p; + else if (*p != '.') + continue; + o = variable_buffer_output (o, p, len - (p - p2)); + } +#ifdef HAVE_DOS_PATHS + /* Handle the case of "d:foo/bar". */ + else if (streq (funcname, "notdir") && p2[0] && p2[1] == ':') + { + p = p2 + 2; + o = variable_buffer_output (o, p, len - (p - p2)); + } +#endif + else if (is_notdir) + o = variable_buffer_output (o, p2, len); + + if (is_notdir || p >= p2) + { + o = variable_buffer_output (o, " ", 1); + doneany = 1; + } + } + if (doneany) + /* Kill last space. */ + --o; + + + return o; + +} + + +static char * +func_basename_dir (char *o, char **argv, const char *funcname) +{ + /* Expand the argument. */ + char *p3 = argv[0]; + char *p2=0; + int doneany=0; + unsigned int len=0; + char *p=0; + int is_basename= streq (funcname, "basename"); + int is_dir= !is_basename; + + while ((p2 = find_next_token (&p3, &len)) != 0) + { + p = p2 + len; + while (p >= p2 && (!is_basename || *p != '.')) + { + if (IS_PATHSEP (*p)) + break; + --p; + } + + if (p >= p2 && (is_dir)) + o = variable_buffer_output (o, p2, ++p - p2); + else if (p >= p2 && (*p == '.')) + o = variable_buffer_output (o, p2, p - p2); +#ifdef HAVE_DOS_PATHS + /* Handle the "d:foobar" case */ + else if (p2[0] && p2[1] == ':' && is_dir) + o = variable_buffer_output (o, p2, 2); +#endif + else if (is_dir) +#ifdef VMS + o = variable_buffer_output (o, "[]", 2); +#else +#ifndef _AMIGA + o = variable_buffer_output (o, "./", 2); +#else + ; /* Just a nop... */ +#endif /* AMIGA */ +#endif /* !VMS */ + else + /* The entire name is the basename. */ + o = variable_buffer_output (o, p2, len); + + o = variable_buffer_output (o, " ", 1); + doneany = 1; + } + if (doneany) + /* Kill last space. */ + --o; + + + return o; +} + +static char * +func_addsuffix_addprefix (char *o, char **argv, const char *funcname) +{ + int fixlen = strlen (argv[0]); + char *list_iterator = argv[1]; + int is_addprefix = streq (funcname, "addprefix"); + int is_addsuffix = !is_addprefix; + + int doneany = 0; + char *p; + unsigned int len; + + while ((p = find_next_token (&list_iterator, &len)) != 0) + { + if (is_addprefix) + o = variable_buffer_output (o, argv[0], fixlen); + o = variable_buffer_output (o, p, len); + if (is_addsuffix) + o = variable_buffer_output (o, argv[0], fixlen); + o = variable_buffer_output (o, " ", 1); + doneany = 1; + } + + if (doneany) + /* Kill last space. */ + --o; + + return o; +} + +static char * +func_subst (char *o, char **argv, const char *funcname) +{ + o = subst_expand (o, argv[2], argv[0], argv[1], strlen (argv[0]), + strlen (argv[1]), 0, 0); + + return o; +} + + +static char * +func_firstword (char *o, char **argv, const char *funcname) +{ + unsigned int i; + char *words = argv[0]; /* Use a temp variable for find_next_token */ + char *p = find_next_token (&words, &i); + + if (p != 0) + o = variable_buffer_output (o, p, i); + + return o; +} + + +static char * +func_words (char *o, char **argv, const char *funcname) +{ + int i = 0; + char *word_iterator = argv[0]; + char buf[20]; + + while (find_next_token (&word_iterator, (unsigned int *) 0) != 0) + ++i; + + sprintf (buf, "%d", i); + o = variable_buffer_output (o, buf, strlen (buf)); + + + return o; +} + +static char * +strip_whitespace (const char **begpp, const char **endpp) +{ + while (*begpp <= *endpp && isspace ((unsigned char)**begpp)) + (*begpp) ++; + while (*endpp >= *begpp && isspace ((unsigned char)**endpp)) + (*endpp) --; + return (char *)*begpp; +} + +static void +check_numeric (const char *s, const char *message) +{ + const char *end = s + strlen (s) - 1; + const char *beg = s; + strip_whitespace (&s, &end); + + for (; s <= end; ++s) + if (!ISDIGIT (*s)) /* ISDIGIT only evals its arg once: see make.h. */ + break; + + if (s <= end || end - beg < 0) + fatal (reading_file, "%s: '%s'", message, beg); +} + + + +static char * +func_word (char *o, char **argv, const char *funcname) +{ + char *end_p=0; + int i=0; + char *p=0; + + /* Check the first argument. */ + check_numeric (argv[0], _("non-numeric first argument to `word' function")); + i = atoi (argv[0]); + + if (i == 0) + fatal (reading_file, _("first argument to `word' function must be greater than 0")); + + + end_p = argv[1]; + while ((p = find_next_token (&end_p, 0)) != 0) + if (--i == 0) + break; + + if (i == 0) + o = variable_buffer_output (o, p, end_p - p); + + return o; +} + +static char * +func_wordlist (char *o, char **argv, const char *funcname) +{ + int start, count; + + /* Check the arguments. */ + check_numeric (argv[0], + _("non-numeric first argument to `wordlist' function")); + check_numeric (argv[1], + _("non-numeric second argument to `wordlist' function")); + + start = atoi (argv[0]); + count = atoi (argv[1]) - start + 1; + + if (count > 0) + { + char *p; + char *end_p = argv[2]; + + /* Find the beginning of the "start"th word. */ + while (((p = find_next_token (&end_p, 0)) != 0) && --start) + ; + + if (p) + { + /* Find the end of the "count"th word from start. */ + while (--count && (find_next_token (&end_p, 0) != 0)) + ; + + /* Return the stuff in the middle. */ + o = variable_buffer_output (o, p, end_p - p); + } + } + + return o; +} + +static char* +func_findstring (char *o, char **argv, const char *funcname) +{ + /* Find the first occurrence of the first string in the second. */ + int i = strlen (argv[0]); + if (sindex (argv[1], 0, argv[0], i) != 0) + o = variable_buffer_output (o, argv[0], i); + + return o; +} + +static char * +func_foreach (char *o, char **argv, const char *funcname) +{ + /* expand only the first two. */ + char *varname = expand_argument (argv[0], NULL); + char *list = expand_argument (argv[1], NULL); + char *body = argv[2]; + + int doneany = 0; + char *list_iterator = list; + char *p; + unsigned int len; + register struct variable *var; + + push_new_variable_scope (); + var = define_variable (varname, strlen (varname), "", o_automatic, 0); + + /* loop through LIST, put the value in VAR and expand BODY */ + while ((p = find_next_token (&list_iterator, &len)) != 0) + { + char *result = 0; + + { + char save = p[len]; + + p[len] = '\0'; + free (var->value); + var->value = (char *) xstrdup ((char*) p); + p[len] = save; + } + + result = allocated_variable_expand (body); + + o = variable_buffer_output (o, result, strlen (result)); + o = variable_buffer_output (o, " ", 1); + doneany = 1; + free (result); + } + + if (doneany) + /* Kill the last space. */ + --o; + + pop_variable_scope (); + free (varname); + free (list); + + return o; +} + +struct a_word +{ + struct a_word *next; + struct a_word *chain; + char *str; + int length; + int matched; +}; + +static unsigned long +a_word_hash_1 (const void *key) +{ + return_STRING_HASH_1 (((struct a_word const *) key)->str); +} + +static unsigned long +a_word_hash_2 (const void *key) +{ + return_STRING_HASH_2 (((struct a_word const *) key)->str); +} + +static int +a_word_hash_cmp (const void *x, const void *y) +{ + int result = ((struct a_word const *) x)->length - ((struct a_word const *) y)->length; + if (result) + return result; + return_STRING_COMPARE (((struct a_word const *) x)->str, + ((struct a_word const *) y)->str); +} + +struct a_pattern +{ + struct a_pattern *next; + char *str; + char *percent; + int length; + int save_c; +}; + +static char * +func_filter_filterout (char *o, char **argv, const char *funcname) +{ + struct a_word *wordhead; + struct a_word **wordtail; + struct a_word *wp; + struct a_pattern *pathead; + struct a_pattern **pattail; + struct a_pattern *pp; + + struct hash_table a_word_table; + int is_filter = streq (funcname, "filter"); + char *pat_iterator = argv[0]; + char *word_iterator = argv[1]; + int literals = 0; + int words = 0; + int hashing = 0; + char *p; + unsigned int len; + + /* Chop ARGV[0] up into patterns to match against the words. */ + + pattail = &pathead; + while ((p = find_next_token (&pat_iterator, &len)) != 0) + { + struct a_pattern *pat = (struct a_pattern *) alloca (sizeof (struct a_pattern)); + + *pattail = pat; + pattail = &pat->next; + + if (*pat_iterator != '\0') + ++pat_iterator; + + pat->str = p; + pat->length = len; + pat->save_c = p[len]; + p[len] = '\0'; + pat->percent = find_percent (p); + if (pat->percent == 0) + literals++; + } + *pattail = 0; + + /* Chop ARGV[1] up into words to match against the patterns. */ + + wordtail = &wordhead; + while ((p = find_next_token (&word_iterator, &len)) != 0) + { + struct a_word *word = (struct a_word *) alloca (sizeof (struct a_word)); + + *wordtail = word; + wordtail = &word->next; + + if (*word_iterator != '\0') + ++word_iterator; + + p[len] = '\0'; + word->str = p; + word->length = len; + word->matched = 0; + word->chain = 0; + words++; + } + *wordtail = 0; + + /* Only use a hash table if arg list lengths justifies the cost. */ + hashing = (literals >= 2 && (literals * words) >= 10); + if (hashing) + { + hash_init (&a_word_table, words, a_word_hash_1, a_word_hash_2, a_word_hash_cmp); + for (wp = wordhead; wp != 0; wp = wp->next) + { + struct a_word *owp = hash_insert (&a_word_table, wp); + if (owp) + wp->chain = owp; + } + } + + if (words) + { + int doneany = 0; + + /* Run each pattern through the words, killing words. */ + for (pp = pathead; pp != 0; pp = pp->next) + { + if (pp->percent) + for (wp = wordhead; wp != 0; wp = wp->next) + wp->matched |= pattern_matches (pp->str, pp->percent, wp->str); + else if (hashing) + { + struct a_word a_word_key; + a_word_key.str = pp->str; + a_word_key.length = pp->length; + wp = (struct a_word *) hash_find_item (&a_word_table, &a_word_key); + while (wp) + { + wp->matched |= 1; + wp = wp->chain; + } + } + else + for (wp = wordhead; wp != 0; wp = wp->next) + wp->matched |= (wp->length == pp->length + && strneq (pp->str, wp->str, wp->length)); + } + + /* Output the words that matched (or didn't, for filter-out). */ + for (wp = wordhead; wp != 0; wp = wp->next) + if (is_filter ? wp->matched : !wp->matched) + { + o = variable_buffer_output (o, wp->str, strlen (wp->str)); + o = variable_buffer_output (o, " ", 1); + doneany = 1; + } + + if (doneany) + /* Kill the last space. */ + --o; + } + + for (pp = pathead; pp != 0; pp = pp->next) + pp->str[pp->length] = pp->save_c; + + if (hashing) + hash_free (&a_word_table, 0); + + return o; +} + + +static char * +func_strip (char *o, char **argv, const char *funcname) +{ + char *p = argv[0]; + int doneany =0; + + while (*p != '\0') + { + int i=0; + char *word_start=0; + + while (isspace ((unsigned char)*p)) + ++p; + word_start = p; + for (i=0; *p != '\0' && !isspace ((unsigned char)*p); ++p, ++i) + {} + if (!i) + break; + o = variable_buffer_output (o, word_start, i); + o = variable_buffer_output (o, " ", 1); + doneany = 1; + } + + if (doneany) + /* Kill the last space. */ + --o; + return o; +} + +/* + Print a warning or fatal message. +*/ +static char * +func_error (char *o, char **argv, const char *funcname) +{ + char **argvp; + char *msg, *p; + int len; + + /* The arguments will be broken on commas. Rather than create yet + another special case where function arguments aren't broken up, + just create a format string that puts them back together. */ + for (len=0, argvp=argv; *argvp != 0; ++argvp) + len += strlen (*argvp) + 2; + + p = msg = (char *) alloca (len + 1); + + for (argvp=argv; argvp[1] != 0; ++argvp) + { + strcpy (p, *argvp); + p += strlen (*argvp); + *(p++) = ','; + *(p++) = ' '; + } + strcpy (p, *argvp); + + if (*funcname == 'e') + fatal (reading_file, "%s", msg); + + /* The warning function expands to the empty string. */ + error (reading_file, "%s", msg); + + return o; +} + + +/* + chop argv[0] into words, and sort them. + */ +static char * +func_sort (char *o, char **argv, const char *funcname) +{ + char **words = 0; + int nwords = 0; + register int wordi = 0; + + /* Chop ARGV[0] into words and put them in WORDS. */ + char *t = argv[0]; + char *p; + unsigned int len; + int i; + + while ((p = find_next_token (&t, &len)) != 0) + { + if (wordi >= nwords - 1) + { + nwords = (2 * nwords) + 5; + words = (char **) xrealloc ((char *) words, + nwords * sizeof (char *)); + } + words[wordi++] = savestring (p, len); + } + + if (!wordi) + return o; + + /* Now sort the list of words. */ + qsort ((char *) words, wordi, sizeof (char *), alpha_compare); + + /* Now write the sorted list. */ + for (i = 0; i < wordi; ++i) + { + len = strlen (words[i]); + if (i == wordi - 1 || strlen (words[i + 1]) != len + || strcmp (words[i], words[i + 1])) + { + o = variable_buffer_output (o, words[i], len); + o = variable_buffer_output (o, " ", 1); + } + free (words[i]); + } + /* Kill the last space. */ + --o; + + free (words); + + return o; +} + +/* + $(if condition,true-part[,false-part]) + + CONDITION is false iff it evaluates to an empty string. White + space before and after condition are stripped before evaluation. + + If CONDITION is true, then TRUE-PART is evaluated, otherwise FALSE-PART is + evaluated (if it exists). Because only one of the two PARTs is evaluated, + you can use $(if ...) to create side-effects (with $(shell ...), for + example). +*/ + +static char * +func_if (char *o, char **argv, const char *funcname) +{ + const char *begp = argv[0]; + const char *endp = begp + strlen (argv[0]); + int result = 0; + + /* Find the result of the condition: if we have a value, and it's not + empty, the condition is true. If we don't have a value, or it's the + empty string, then it's false. */ + + strip_whitespace (&begp, &endp); + + if (begp < endp) + { + char *expansion = expand_argument (begp, NULL); + + result = strlen (expansion); + free (expansion); + } + + /* If the result is true (1) we want to eval the first argument, and if + it's false (0) we want to eval the second. If the argument doesn't + exist we do nothing, otherwise expand it and add to the buffer. */ + + argv += 1 + !result; + + if (argv[0]) + { + char *expansion; + + expansion = expand_argument (argv[0], NULL); + + o = variable_buffer_output (o, expansion, strlen (expansion)); + + free (expansion); + } + + return o; +} + +static char * +func_wildcard (char *o, char **argv, const char *funcname) +{ + +#ifdef _AMIGA + o = wildcard_expansion (argv[0], o); +#else + char *p = string_glob (argv[0]); + o = variable_buffer_output (o, p, strlen (p)); +#endif + return o; +} + +/* + $(eval ) + + Always resolves to the empty string. + + Treat the arguments as a segment of makefile, and parse them. +*/ + +static char * +func_eval (char *o, char **argv, const char *funcname) +{ + char *buf; + unsigned int len; + + /* Eval the buffer. Pop the current variable buffer setting so that the + eval'd code can use its own without conflicting. */ + + install_variable_buffer (&buf, &len); + + eval_buffer (argv[0]); + + restore_variable_buffer (buf, len); + + return o; +} + + +static char * +func_value (char *o, char **argv, const char *funcname) +{ + /* Look up the variable. */ + struct variable *v = lookup_variable (argv[0], strlen (argv[0])); + + /* Copy its value into the output buffer without expanding it. */ + if (v) + o = variable_buffer_output (o, v->value, strlen(v->value)); + + return o; +} + +/* + \r is replaced on UNIX as well. Is this desirable? + */ +void +fold_newlines (char *buffer, int *length) +{ + char *dst = buffer; + char *src = buffer; + char *last_nonnl = buffer -1; + src[*length] = 0; + for (; *src != '\0'; ++src) + { + if (src[0] == '\r' && src[1] == '\n') + continue; + if (*src == '\n') + { + *dst++ = ' '; + } + else + { + last_nonnl = dst; + *dst++ = *src; + } + } + *(++last_nonnl) = '\0'; + *length = last_nonnl - buffer; +} + + + +int shell_function_pid = 0, shell_function_completed; + + +#ifdef WINDOWS32 +/*untested*/ + +#include +#include +#include "sub_proc.h" + + +void +windows32_openpipe (int *pipedes, int *pid_p, char **command_argv, char **envp) +{ + SECURITY_ATTRIBUTES saAttr; + HANDLE hIn; + HANDLE hErr; + HANDLE hChildOutRd; + HANDLE hChildOutWr; + HANDLE hProcess; + + + saAttr.nLength = sizeof (SECURITY_ATTRIBUTES); + saAttr.bInheritHandle = TRUE; + saAttr.lpSecurityDescriptor = NULL; + + if (DuplicateHandle (GetCurrentProcess(), + GetStdHandle(STD_INPUT_HANDLE), + GetCurrentProcess(), + &hIn, + 0, + TRUE, + DUPLICATE_SAME_ACCESS) == FALSE) { + fatal (NILF, _("create_child_process: DuplicateHandle(In) failed (e=%d)\n"), + GetLastError()); + + } + if (DuplicateHandle(GetCurrentProcess(), + GetStdHandle(STD_ERROR_HANDLE), + GetCurrentProcess(), + &hErr, + 0, + TRUE, + DUPLICATE_SAME_ACCESS) == FALSE) { + fatal (NILF, _("create_child_process: DuplicateHandle(Err) failed (e=%d)\n"), + GetLastError()); + } + + if (!CreatePipe(&hChildOutRd, &hChildOutWr, &saAttr, 0)) + fatal (NILF, _("CreatePipe() failed (e=%d)\n"), GetLastError()); + + hProcess = process_init_fd(hIn, hChildOutWr, hErr); + + if (!hProcess) + fatal (NILF, _("windows32_openpipe (): process_init_fd() failed\n")); + + /* make sure that CreateProcess() has Path it needs */ + sync_Path_environment(); + + if (!process_begin(hProcess, command_argv, envp, command_argv[0], NULL)) { + /* register process for wait */ + process_register(hProcess); + + /* set the pid for returning to caller */ + *pid_p = (int) hProcess; + + /* set up to read data from child */ + pipedes[0] = _open_osfhandle((long) hChildOutRd, O_RDONLY); + + /* this will be closed almost right away */ + pipedes[1] = _open_osfhandle((long) hChildOutWr, O_APPEND); + } else { + /* reap/cleanup the failed process */ + process_cleanup(hProcess); + + /* close handles which were duplicated, they weren't used */ + CloseHandle(hIn); + CloseHandle(hErr); + + /* close pipe handles, they won't be used */ + CloseHandle(hChildOutRd); + CloseHandle(hChildOutWr); + + /* set status for return */ + pipedes[0] = pipedes[1] = -1; + *pid_p = -1; + } +} +#endif + + +#ifdef __MSDOS__ +FILE * +msdos_openpipe (int* pipedes, int *pidp, char *text) +{ + FILE *fpipe=0; + /* MSDOS can't fork, but it has `popen'. */ + struct variable *sh = lookup_variable ("SHELL", 5); + int e; + extern int dos_command_running, dos_status; + + /* Make sure not to bother processing an empty line. */ + while (isblank ((unsigned char)*text)) + ++text; + if (*text == '\0') + return 0; + + if (sh) + { + char buf[PATH_MAX + 7]; + /* This makes sure $SHELL value is used by $(shell), even + though the target environment is not passed to it. */ + sprintf (buf, "SHELL=%s", sh->value); + putenv (buf); + } + + e = errno; + errno = 0; + dos_command_running = 1; + dos_status = 0; + /* If dos_status becomes non-zero, it means the child process + was interrupted by a signal, like SIGINT or SIGQUIT. See + fatal_error_signal in commands.c. */ + fpipe = popen (text, "rt"); + dos_command_running = 0; + if (!fpipe || dos_status) + { + pipedes[0] = -1; + *pidp = -1; + if (dos_status) + errno = EINTR; + else if (errno == 0) + errno = ENOMEM; + shell_function_completed = -1; + } + else + { + pipedes[0] = fileno (fpipe); + *pidp = 42; /* Yes, the Meaning of Life, the Universe, and Everything! */ + errno = e; + shell_function_completed = 1; + } + return fpipe; +} +#endif + +/* + Do shell spawning, with the naughty bits for different OSes. + */ + +#ifdef VMS + +/* VMS can't do $(shell ...) */ +#define func_shell 0 + +#else +#ifndef _AMIGA +static char * +func_shell (char *o, char **argv, const char *funcname) +{ + char* batch_filename = NULL; + int i; + +#ifdef __MSDOS__ + FILE *fpipe; +#endif + char **command_argv; + char *error_prefix; + char **envp; + int pipedes[2]; + int pid; + +#ifndef __MSDOS__ + /* Construct the argument list. */ + command_argv = construct_command_argv (argv[0], + (char **) NULL, (struct file *) 0, + &batch_filename); + if (command_argv == 0) + return o; +#endif + + /* Using a target environment for `shell' loses in cases like: + export var = $(shell echo foobie) + because target_environment hits a loop trying to expand $(var) + to put it in the environment. This is even more confusing when + var was not explicitly exported, but just appeared in the + calling environment. */ + + envp = environ; + + /* For error messages. */ + if (reading_file != 0) + { + error_prefix = (char *) alloca (strlen (reading_file->filenm)+11+4); + sprintf (error_prefix, + "%s:%lu: ", reading_file->filenm, reading_file->lineno); + } + else + error_prefix = ""; + +#ifdef WINDOWS32 + + windows32_openpipe (pipedes, &pid, command_argv, envp); + + if (pipedes[0] < 0) { + /* open of the pipe failed, mark as failed execution */ + shell_function_completed = -1; + + return o; + } else + +#elif defined(__MSDOS__) + + fpipe = msdos_openpipe (pipedes, &pid, argv[0]); + if (pipedes[0] < 0) + { + perror_with_name (error_prefix, "pipe"); + return o; + } + +#else + + if (pipe (pipedes) < 0) + { + perror_with_name (error_prefix, "pipe"); + return o; + } + +# ifdef __EMX__ + + /* close some handles that are unnecessary for the child process */ + CLOSE_ON_EXEC(pipedes[1]); + CLOSE_ON_EXEC(pipedes[0]); + /* Never use fork()/exec() here! Use spawn() instead in exec_command() */ + pid = child_execute_job (0, pipedes[1], command_argv, envp); + if (pid < 0) + perror_with_name (error_prefix, "spawn"); + +# else /* ! __EMX__ */ + + pid = vfork (); + if (pid < 0) + perror_with_name (error_prefix, "fork"); + else if (pid == 0) + child_execute_job (0, pipedes[1], command_argv, envp); + else + +# endif + +#endif + { + /* We are the parent. */ + + char *buffer; + unsigned int maxlen; + int cc; + + /* Record the PID for reap_children. */ + shell_function_pid = pid; +#ifndef __MSDOS__ + shell_function_completed = 0; + + /* Free the storage only the child needed. */ + free (command_argv[0]); + free ((char *) command_argv); + + /* Close the write side of the pipe. */ + (void) close (pipedes[1]); +#endif + + /* Set up and read from the pipe. */ + + maxlen = 200; + buffer = (char *) xmalloc (maxlen + 1); + + /* Read from the pipe until it gets EOF. */ + for (i = 0; ; i += cc) + { + if (i == maxlen) + { + maxlen += 512; + buffer = (char *) xrealloc (buffer, maxlen + 1); + } + + EINTRLOOP (cc, read (pipedes[0], &buffer[i], maxlen - i)); + if (cc <= 0) + break; + } + buffer[i] = '\0'; + + /* Close the read side of the pipe. */ +#ifdef __MSDOS__ + if (fpipe) + (void) pclose (fpipe); +#else + (void) close (pipedes[0]); +#endif + + /* Loop until child_handler or reap_children() sets + shell_function_completed to the status of our child shell. */ + while (shell_function_completed == 0) + reap_children (1, 0); + + if (batch_filename) { + DB (DB_VERBOSE, (_("Cleaning up temporary batch file %s\n"), + batch_filename)); + remove (batch_filename); + free (batch_filename); + } + shell_function_pid = 0; + + /* The child_handler function will set shell_function_completed + to 1 when the child dies normally, or to -1 if it + dies with status 127, which is most likely an exec fail. */ + + if (shell_function_completed == -1) + { + /* This most likely means that the execvp failed, + so we should just write out the error message + that came in over the pipe from the child. */ + fputs (buffer, stderr); + fflush (stderr); + } + else + { + /* The child finished normally. Replace all + newlines in its output with spaces, and put + that in the variable output buffer. */ + fold_newlines (buffer, &i); + o = variable_buffer_output (o, buffer, i); + } + + free (buffer); + } + + return o; +} + +#else /* _AMIGA */ + +/* Do the Amiga version of func_shell. */ + +static char * +func_shell (char *o, char **argv, const char *funcname) +{ + /* Amiga can't fork nor spawn, but I can start a program with + redirection of my choice. However, this means that we + don't have an opportunity to reopen stdout to trap it. Thus, + we save our own stdout onto a new descriptor and dup a temp + file's descriptor onto our stdout temporarily. After we + spawn the shell program, we dup our own stdout back to the + stdout descriptor. The buffer reading is the same as above, + except that we're now reading from a file. */ + +#include +#include + + BPTR child_stdout; + char tmp_output[FILENAME_MAX]; + unsigned int maxlen = 200; + int cc, i; + char * buffer, * ptr; + char ** aptr; + int len = 0; + char* batch_filename = NULL; + + /* Construct the argument list. */ + command_argv = construct_command_argv (argv[0], (char **) NULL, + (struct file *) 0, &batch_filename); + if (command_argv == 0) + return o; + + /* Note the mktemp() is a security hole, but this only runs on Amiga. + Ideally we would use main.c:open_tmpfile(), but this uses a special + Open(), not fopen(), and I'm not familiar enough with the code to mess + with it. */ + strcpy (tmp_output, "t:MakeshXXXXXXXX"); + mktemp (tmp_output); + child_stdout = Open (tmp_output, MODE_NEWFILE); + + for (aptr=command_argv; *aptr; aptr++) + len += strlen (*aptr) + 1; + + buffer = xmalloc (len + 1); + ptr = buffer; + + for (aptr=command_argv; *aptr; aptr++) + { + strcpy (ptr, *aptr); + ptr += strlen (ptr) + 1; + *ptr ++ = ' '; + *ptr = 0; + } + + ptr[-1] = '\n'; + + Execute (buffer, NULL, child_stdout); + free (buffer); + + Close (child_stdout); + + child_stdout = Open (tmp_output, MODE_OLDFILE); + + buffer = xmalloc (maxlen); + i = 0; + do + { + if (i == maxlen) + { + maxlen += 512; + buffer = (char *) xrealloc (buffer, maxlen + 1); + } + + cc = Read (child_stdout, &buffer[i], maxlen - i); + if (cc > 0) + i += cc; + } while (cc > 0); + + Close (child_stdout); + + fold_newlines (buffer, &i); + o = variable_buffer_output (o, buffer, i); + free (buffer); + return o; +} +#endif /* _AMIGA */ +#endif /* !VMS */ + +#ifdef EXPERIMENTAL + +/* + equality. Return is string-boolean, ie, the empty string is false. + */ +static char * +func_eq (char* o, char **argv, char *funcname) +{ + int result = ! strcmp (argv[0], argv[1]); + o = variable_buffer_output (o, result ? "1" : "", result); + return o; +} + + +/* + string-boolean not operator. + */ +static char * +func_not (char* o, char **argv, char *funcname) +{ + char * s = argv[0]; + int result = 0; + while (isspace ((unsigned char)*s)) + s++; + result = ! (*s); + o = variable_buffer_output (o, result ? "1" : "", result); + return o; +} +#endif + + +/* Lookup table for builtin functions. + + This doesn't have to be sorted; we use a straight lookup. We might gain + some efficiency by moving most often used functions to the start of the + table. + + If MAXIMUM_ARGS is 0, that means there is no maximum and all + comma-separated values are treated as arguments. + + EXPAND_ARGS means that all arguments should be expanded before invocation. + Functions that do namespace tricks (foreach) don't automatically expand. */ + +static char *func_call PARAMS ((char *o, char **argv, const char *funcname)); + + +static struct function_table_entry function_table_init[] = +{ + /* Name/size */ /* MIN MAX EXP? Function */ + { STRING_SIZE_TUPLE("addprefix"), 2, 2, 1, func_addsuffix_addprefix}, + { STRING_SIZE_TUPLE("addsuffix"), 2, 2, 1, func_addsuffix_addprefix}, + { STRING_SIZE_TUPLE("basename"), 0, 1, 1, func_basename_dir}, + { STRING_SIZE_TUPLE("dir"), 0, 1, 1, func_basename_dir}, + { STRING_SIZE_TUPLE("notdir"), 0, 1, 1, func_notdir_suffix}, + { STRING_SIZE_TUPLE("subst"), 3, 3, 1, func_subst}, + { STRING_SIZE_TUPLE("suffix"), 0, 1, 1, func_notdir_suffix}, + { STRING_SIZE_TUPLE("filter"), 2, 2, 1, func_filter_filterout}, + { STRING_SIZE_TUPLE("filter-out"), 2, 2, 1, func_filter_filterout}, + { STRING_SIZE_TUPLE("findstring"), 2, 2, 1, func_findstring}, + { STRING_SIZE_TUPLE("firstword"), 0, 1, 1, func_firstword}, + { STRING_SIZE_TUPLE("join"), 2, 2, 1, func_join}, + { STRING_SIZE_TUPLE("patsubst"), 3, 3, 1, func_patsubst}, + { STRING_SIZE_TUPLE("shell"), 0, 1, 1, func_shell}, + { STRING_SIZE_TUPLE("sort"), 0, 1, 1, func_sort}, + { STRING_SIZE_TUPLE("strip"), 0, 1, 1, func_strip}, + { STRING_SIZE_TUPLE("wildcard"), 0, 1, 1, func_wildcard}, + { STRING_SIZE_TUPLE("word"), 2, 2, 1, func_word}, + { STRING_SIZE_TUPLE("wordlist"), 3, 3, 1, func_wordlist}, + { STRING_SIZE_TUPLE("words"), 0, 1, 1, func_words}, + { STRING_SIZE_TUPLE("origin"), 0, 1, 1, func_origin}, + { STRING_SIZE_TUPLE("foreach"), 3, 3, 0, func_foreach}, + { STRING_SIZE_TUPLE("call"), 1, 0, 1, func_call}, + { STRING_SIZE_TUPLE("error"), 0, 1, 1, func_error}, + { STRING_SIZE_TUPLE("warning"), 0, 1, 1, func_error}, + { STRING_SIZE_TUPLE("if"), 2, 3, 0, func_if}, + { STRING_SIZE_TUPLE("value"), 0, 1, 1, func_value}, + { STRING_SIZE_TUPLE("eval"), 0, 1, 1, func_eval}, +#ifdef EXPERIMENTAL + { STRING_SIZE_TUPLE("eq"), 2, 2, 1, func_eq}, + { STRING_SIZE_TUPLE("not"), 0, 1, 1, func_not}, +#endif +}; + +#define FUNCTION_TABLE_ENTRIES (sizeof (function_table_init) / sizeof (struct function_table_entry)) + + +/* These must come after the definition of function_table. */ + +static char * +expand_builtin_function (char *o, int argc, char **argv, + const struct function_table_entry *entry_p) +{ + if (argc < (int)entry_p->minimum_args) + fatal (reading_file, + _("Insufficient number of arguments (%d) to function `%s'"), + argc, entry_p->name); + + /* I suppose technically some function could do something with no + arguments, but so far none do, so just test it for all functions here + rather than in each one. We can change it later if necessary. */ + + if (!argc) + return o; + + if (!entry_p->func_ptr) + fatal (reading_file, _("Unimplemented on this platform: function `%s'"), + entry_p->name); + + return entry_p->func_ptr (o, argv, entry_p->name); +} + +/* Check for a function invocation in *STRINGP. *STRINGP points at the + opening ( or { and is not null-terminated. If a function invocation + is found, expand it into the buffer at *OP, updating *OP, incrementing + *STRINGP past the reference and returning nonzero. If not, return zero. */ + +int +handle_function (char **op, char **stringp) +{ + const struct function_table_entry *entry_p; + char openparen = (*stringp)[0]; + char closeparen = openparen == '(' ? ')' : '}'; + char *beg; + char *end; + int count = 0; + register char *p; + char **argv, **argvp; + int nargs; + + beg = *stringp + 1; + + entry_p = lookup_function (beg); + + if (!entry_p) + return 0; + + /* We found a builtin function. Find the beginning of its arguments (skip + whitespace after the name). */ + + beg = next_token (beg + entry_p->len); + + /* Find the end of the function invocation, counting nested use of + whichever kind of parens we use. Since we're looking, count commas + to get a rough estimate of how many arguments we might have. The + count might be high, but it'll never be low. */ + + for (nargs=1, end=beg; *end != '\0'; ++end) + if (*end == ',') + ++nargs; + else if (*end == openparen) + ++count; + else if (*end == closeparen && --count < 0) + break; + + if (count >= 0) + fatal (reading_file, + _("unterminated call to function `%s': missing `%c'"), + entry_p->name, closeparen); + + *stringp = end; + + /* Get some memory to store the arg pointers. */ + argvp = argv = (char **) alloca (sizeof (char *) * (nargs + 2)); + + /* Chop the string into arguments, then a nul. As soon as we hit + MAXIMUM_ARGS (if it's >0) assume the rest of the string is part of the + last argument. + + If we're expanding, store pointers to the expansion of each one. If + not, make a duplicate of the string and point into that, nul-terminating + each argument. */ + + if (!entry_p->expand_args) + { + int len = end - beg; + + p = xmalloc (len+1); + memcpy (p, beg, len); + p[len] = '\0'; + beg = p; + end = beg + len; + } + + for (p=beg, nargs=0; p <= end; ++argvp) + { + char *next; + + ++nargs; + + if (nargs == entry_p->maximum_args + || (! (next = find_next_argument (openparen, closeparen, p, end)))) + next = end; + + if (entry_p->expand_args) + *argvp = expand_argument (p, next); + else + { + *argvp = p; + *next = '\0'; + } + + p = next + 1; + } + *argvp = NULL; + + /* Finally! Run the function... */ + *op = expand_builtin_function (*op, nargs, argv, entry_p); + + /* Free memory. */ + if (entry_p->expand_args) + for (argvp=argv; *argvp != 0; ++argvp) + free (*argvp); + else + free (beg); + + return 1; +} + + +/* User-defined functions. Expand the first argument as either a builtin + function or a make variable, in the context of the rest of the arguments + assigned to $1, $2, ... $N. $0 is the name of the function. */ + +static char * +func_call (char *o, char **argv, const char *funcname) +{ + static int max_args = 0; + char *fname; + char *cp; + char *body; + int flen; + int i; + int saved_args; + const struct function_table_entry *entry_p; + struct variable *v; + + /* There is no way to define a variable with a space in the name, so strip + leading and trailing whitespace as a favor to the user. */ + fname = argv[0]; + while (*fname != '\0' && isspace ((unsigned char)*fname)) + ++fname; + + cp = fname + strlen (fname) - 1; + while (cp > fname && isspace ((unsigned char)*cp)) + --cp; + cp[1] = '\0'; + + /* Calling nothing is a no-op */ + if (*fname == '\0') + return o; + + /* Are we invoking a builtin function? */ + + entry_p = lookup_function (fname); + + if (entry_p) + { + /* How many arguments do we have? */ + for (i=0; argv[i+1]; ++i) + ; + + return expand_builtin_function (o, i, argv+1, entry_p); + } + + /* Not a builtin, so the first argument is the name of a variable to be + expanded and interpreted as a function. Find it. */ + flen = strlen (fname); + + v = lookup_variable (fname, flen); + + if (v == 0) + warn_undefined (fname, flen); + + if (v == 0 || *v->value == '\0') + return o; + + body = (char *) alloca (flen + 4); + body[0] = '$'; + body[1] = '('; + memcpy (body + 2, fname, flen); + body[flen+2] = ')'; + body[flen+3] = '\0'; + + /* Set up arguments $(1) .. $(N). $(0) is the function name. */ + + push_new_variable_scope (); + + for (i=0; *argv; ++i, ++argv) + { + char num[11]; + + sprintf (num, "%d", i); + define_variable (num, strlen (num), *argv, o_automatic, 0); + } + + /* If the number of arguments we have is < max_args, it means we're inside + a recursive invocation of $(call ...). Fill in the remaining arguments + in the new scope with the empty value, to hide them from this + invocation. */ + + for (; i < max_args; ++i) + { + char num[11]; + + sprintf (num, "%d", i); + define_variable (num, strlen (num), "", o_automatic, 0); + } + + /* Expand the body in the context of the arguments, adding the result to + the variable buffer. */ + + v->exp_count = EXP_COUNT_MAX; + + saved_args = max_args; + max_args = i; + o = variable_expand_string (o, body, flen+3); + max_args = saved_args; + + v->exp_count = 0; + + pop_variable_scope (); + + return o + strlen (o); +} + +void +hash_init_function_table (void) +{ + hash_init (&function_table, FUNCTION_TABLE_ENTRIES * 2, + function_table_entry_hash_1, function_table_entry_hash_2, + function_table_entry_hash_cmp); + hash_load (&function_table, function_table_init, + FUNCTION_TABLE_ENTRIES, sizeof (struct function_table_entry)); +} diff --git a/src/mkutil/make/getopt.h b/src/mkutil/make/getopt.h index fb30719a..0826e6a4 100644 --- a/src/mkutil/make/getopt.h +++ b/src/mkutil/make/getopt.h @@ -1,133 +1,133 @@ -/* Declarations for getopt. - Copyright (C) 1989,90,91,92,93,94,96,97 Free Software Foundation, Inc. - - NOTE: The canonical source of this file is maintained with the GNU C Library. - Bugs can be reported to bug-glibc@gnu.org. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 2, or (at your option) any - later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA. */ - -#ifndef _GETOPT_H -#define _GETOPT_H 1 - -#ifdef __cplusplus -extern "C" { -#endif - -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -extern char *optarg; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to `getopt'. - - On entry to `getopt', zero means this is the first call; initialize. - - When `getopt' returns -1, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, `optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -extern int optind; - -/* Callers store zero here to inhibit the error message `getopt' prints - for unrecognized options. */ - -extern int opterr; - -/* Set to an option character which was unrecognized. */ - -extern int optopt; - -/* Describe the long-named options requested by the application. - The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector - of `struct option' terminated by an element containing a name which is - zero. - - The field `has_arg' is: - no_argument (or 0) if the option does not take an argument, - required_argument (or 1) if the option requires an argument, - optional_argument (or 2) if the option takes an optional argument. - - If the field `flag' is not NULL, it points to a variable that is set - to the value given in the field `val' when the option is found, but - left unchanged if the option is not found. - - To have a long-named option do something other than set an `int' to - a compiled-in constant, such as set a value from `optarg', set the - option's `flag' field to zero and its `val' field to a nonzero - value (the equivalent single-letter option character, if there is - one). For long options that have a zero `flag' field, `getopt' - returns the contents of the `val' field. */ - -struct option -{ -#if defined (__STDC__) && __STDC__ - const char *name; -#else - char *name; -#endif - /* has_arg can't be an enum because some compilers complain about - type mismatches in all the code that assumes it is an int. */ - int has_arg; - int *flag; - int val; -}; - -/* Names for the values of the `has_arg' field of `struct option'. */ - -#define no_argument 0 -#define required_argument 1 -#define optional_argument 2 - -#if defined (__STDC__) && __STDC__ -#ifdef __GNU_LIBRARY__ -/* Many other libraries have conflicting prototypes for getopt, with - differences in the consts, in stdlib.h. To avoid compilation - errors, only prototype getopt for the GNU C library. */ -extern int getopt (int argc, char *const *argv, const char *shortopts); -#else /* not __GNU_LIBRARY__ */ -extern int getopt (); -#endif /* __GNU_LIBRARY__ */ -extern int getopt_long (int argc, char *const *argv, const char *shortopts, - const struct option *longopts, int *longind); -extern int getopt_long_only (int argc, char *const *argv, - const char *shortopts, - const struct option *longopts, int *longind); - -/* Internal only. Users should not call this directly. */ -extern int _getopt_internal (int argc, char *const *argv, - const char *shortopts, - const struct option *longopts, int *longind, - int long_only); -#else /* not __STDC__ */ -extern int getopt (); -extern int getopt_long (); -extern int getopt_long_only (); - -extern int _getopt_internal (); -#endif /* __STDC__ */ - -#ifdef __cplusplus -} -#endif - -#endif /* getopt.h */ +/* Declarations for getopt. + Copyright (C) 1989,90,91,92,93,94,96,97 Free Software Foundation, Inc. + + NOTE: The canonical source of this file is maintained with the GNU C Library. + Bugs can be reported to bug-glibc@gnu.org. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 2, or (at your option) any + later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifndef _GETOPT_H +#define _GETOPT_H 1 + +#ifdef __cplusplus +extern "C" { +#endif + +/* For communication from `getopt' to the caller. + When `getopt' finds an option that takes an argument, + the argument value is returned here. + Also, when `ordering' is RETURN_IN_ORDER, + each non-option ARGV-element is returned here. */ + +extern char *optarg; + +/* Index in ARGV of the next element to be scanned. + This is used for communication to and from the caller + and for communication between successive calls to `getopt'. + + On entry to `getopt', zero means this is the first call; initialize. + + When `getopt' returns -1, this is the index of the first of the + non-option elements that the caller should itself scan. + + Otherwise, `optind' communicates from one call to the next + how much of ARGV has been scanned so far. */ + +extern int optind; + +/* Callers store zero here to inhibit the error message `getopt' prints + for unrecognized options. */ + +extern int opterr; + +/* Set to an option character which was unrecognized. */ + +extern int optopt; + +/* Describe the long-named options requested by the application. + The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector + of `struct option' terminated by an element containing a name which is + zero. + + The field `has_arg' is: + no_argument (or 0) if the option does not take an argument, + required_argument (or 1) if the option requires an argument, + optional_argument (or 2) if the option takes an optional argument. + + If the field `flag' is not NULL, it points to a variable that is set + to the value given in the field `val' when the option is found, but + left unchanged if the option is not found. + + To have a long-named option do something other than set an `int' to + a compiled-in constant, such as set a value from `optarg', set the + option's `flag' field to zero and its `val' field to a nonzero + value (the equivalent single-letter option character, if there is + one). For long options that have a zero `flag' field, `getopt' + returns the contents of the `val' field. */ + +struct option +{ +#if defined (__STDC__) && __STDC__ + const char *name; +#else + char *name; +#endif + /* has_arg can't be an enum because some compilers complain about + type mismatches in all the code that assumes it is an int. */ + int has_arg; + int *flag; + int val; +}; + +/* Names for the values of the `has_arg' field of `struct option'. */ + +#define no_argument 0 +#define required_argument 1 +#define optional_argument 2 + +#if defined (__STDC__) && __STDC__ +#ifdef __GNU_LIBRARY__ +/* Many other libraries have conflicting prototypes for getopt, with + differences in the consts, in stdlib.h. To avoid compilation + errors, only prototype getopt for the GNU C library. */ +extern int getopt (int argc, char *const *argv, const char *shortopts); +#else /* not __GNU_LIBRARY__ */ +extern int getopt (); +#endif /* __GNU_LIBRARY__ */ +extern int getopt_long (int argc, char *const *argv, const char *shortopts, + const struct option *longopts, int *longind); +extern int getopt_long_only (int argc, char *const *argv, + const char *shortopts, + const struct option *longopts, int *longind); + +/* Internal only. Users should not call this directly. */ +extern int _getopt_internal (int argc, char *const *argv, + const char *shortopts, + const struct option *longopts, int *longind, + int long_only); +#else /* not __STDC__ */ +extern int getopt (); +extern int getopt_long (); +extern int getopt_long_only (); + +extern int _getopt_internal (); +#endif /* __STDC__ */ + +#ifdef __cplusplus +} +#endif + +#endif /* getopt.h */ diff --git a/src/mkutil/make/gettext.h b/src/mkutil/make/gettext.h index ea67f308..45b49071 100644 --- a/src/mkutil/make/gettext.h +++ b/src/mkutil/make/gettext.h @@ -1,59 +1,59 @@ -/* Convenience header for conditional use of GNU . - Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA. */ - -#ifndef _LIBGETTEXT_H -#define _LIBGETTEXT_H 1 - -/* NLS can be disabled through the configure --disable-nls option. */ -#if ENABLE_NLS - -/* Get declarations of GNU message catalog functions. */ -# include - -#else - -/* Disabled NLS. - The casts to 'const char *' serve the purpose of producing warnings - for invalid uses of the value returned from these functions. - On pre-ANSI systems without 'const', the config.h file is supposed to - contain "#define const". */ -# define gettext(Msgid) ((const char *) (Msgid)) -# define dgettext(Domainname, Msgid) ((const char *) (Msgid)) -# define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid)) -# define ngettext(Msgid1, Msgid2, N) \ - ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) -# define dngettext(Domainname, Msgid1, Msgid2, N) \ - ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) -# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ - ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) -# define textdomain(Domainname) ((const char *) (Domainname)) -# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname)) -# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset)) - -#endif - -/* A pseudo function call that serves as a marker for the automated - extraction of messages, but does not call gettext(). The run-time - translation is done at a different place in the code. - The argument, String, should be a literal string. Concatenated strings - and other string expressions won't work. - The macro's expansion is not parenthesized, so that it is suitable as - initializer for static 'char[]' or 'const char[]' variables. */ -#define gettext_noop(String) String - -#endif /* _LIBGETTEXT_H */ +/* Convenience header for conditional use of GNU . + Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifndef _LIBGETTEXT_H +#define _LIBGETTEXT_H 1 + +/* NLS can be disabled through the configure --disable-nls option. */ +#if ENABLE_NLS + +/* Get declarations of GNU message catalog functions. */ +# include + +#else + +/* Disabled NLS. + The casts to 'const char *' serve the purpose of producing warnings + for invalid uses of the value returned from these functions. + On pre-ANSI systems without 'const', the config.h file is supposed to + contain "#define const". */ +# define gettext(Msgid) ((const char *) (Msgid)) +# define dgettext(Domainname, Msgid) ((const char *) (Msgid)) +# define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid)) +# define ngettext(Msgid1, Msgid2, N) \ + ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) +# define dngettext(Domainname, Msgid1, Msgid2, N) \ + ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) +# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ + ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) +# define textdomain(Domainname) ((const char *) (Domainname)) +# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname)) +# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset)) + +#endif + +/* A pseudo function call that serves as a marker for the automated + extraction of messages, but does not call gettext(). The run-time + translation is done at a different place in the code. + The argument, String, should be a literal string. Concatenated strings + and other string expressions won't work. + The macro's expansion is not parenthesized, so that it is suitable as + initializer for static 'char[]' or 'const char[]' variables. */ +#define gettext_noop(String) String + +#endif /* _LIBGETTEXT_H */ diff --git a/src/mkutil/make/glob/.cvsignore b/src/mkutil/make/glob/.cvsignore deleted file mode 100644 index efc8094e..00000000 --- a/src/mkutil/make/glob/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile Makefile.in -.deps diff --git a/src/mkutil/make/glob/COPYING.LIB b/src/mkutil/make/glob/COPYING.LIB index bbe3fe19..4ab5aaa4 100644 --- a/src/mkutil/make/glob/COPYING.LIB +++ b/src/mkutil/make/glob/COPYING.LIB @@ -1,481 +1,481 @@ - GNU LIBRARY GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1991 Free Software Foundation, Inc. - 675 Mass Ave, Cambridge, MA 02139, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the library GPL. It is - numbered 2 because it goes with version 2 of the ordinary GPL.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Library General Public License, applies to some -specially designated Free Software Foundation software, and to any -other libraries whose authors decide to use it. You can use it for -your libraries, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if -you distribute copies of the library, or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link a program with the library, you must provide -complete object files to the recipients so that they can relink them -with the library, after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - Our method of protecting your rights has two steps: (1) copyright -the library, and (2) offer you this license which gives you legal -permission to copy, distribute and/or modify the library. - - Also, for each distributor's protection, we want to make certain -that everyone understands that there is no warranty for this free -library. If the library is modified by someone else and passed on, we -want its recipients to know that what they have is not the original -version, so that any problems introduced by others will not reflect on -the original authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that companies distributing free -software will individually obtain patent licenses, thus in effect -transforming the program into proprietary software. To prevent this, -we have made it clear that any patent must be licensed for everyone's -free use or not licensed at all. - - Most GNU software, including some libraries, is covered by the ordinary -GNU General Public License, which was designed for utility programs. This -license, the GNU Library General Public License, applies to certain -designated libraries. This license is quite different from the ordinary -one; be sure to read it in full, and don't assume that anything in it is -the same as in the ordinary license. - - The reason we have a separate public license for some libraries is that -they blur the distinction we usually make between modifying or adding to a -program and simply using it. Linking a program with a library, without -changing the library, is in some sense simply using the library, and is -analogous to running a utility program or application program. However, in -a textual and legal sense, the linked executable is a combined work, a -derivative of the original library, and the ordinary General Public License -treats it as such. - - Because of this blurred distinction, using the ordinary General -Public License for libraries did not effectively promote software -sharing, because most developers did not use the libraries. We -concluded that weaker conditions might promote sharing better. - - However, unrestricted linking of non-free programs would deprive the -users of those programs of all benefit from the free status of the -libraries themselves. This Library General Public License is intended to -permit developers of non-free programs to use free libraries, while -preserving your freedom as a user of such programs to change the free -libraries that are incorporated in them. (We have not seen how to achieve -this as regards changes in header files, but we have achieved it as regards -changes in the actual functions of the Library.) The hope is that this -will lead to faster development of free libraries. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, while the latter only -works together with the library. - - Note that it is possible for a library to be covered by the ordinary -General Public License rather than by this special one. - - GNU LIBRARY GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library which -contains a notice placed by the copyright holder or other authorized -party saying it may be distributed under the terms of this Library -General Public License (also called "this License"). Each licensee is -addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also compile or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - c) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - d) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the source code distributed need not include anything that is normally -distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Library General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - Appendix: How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/src/mkutil/make/glob/CVS/Entries b/src/mkutil/make/glob/CVS/Entries index 5ff7176f..31912d48 100644 --- a/src/mkutil/make/glob/CVS/Entries +++ b/src/mkutil/make/glob/CVS/Entries @@ -1,13 +1,12 @@ -/.cvsignore/1.2/Wed Sep 11 16:55:45 2002// -/COPYING.LIB/1.1/Fri Oct 8 00:11:55 1993// -/ChangeLog/1.27/Thu Jan 30 05:22:52 2003// -/Makefile.am/1.7/Tue Mar 25 03:21:43 2003// -/Makefile.ami/1.2/Thu Jul 30 20:59:59 1998// -/SCOPTIONS/1.1/Thu May 9 18:29:32 1996// -/SMakefile/1.2/Thu Jul 30 21:00:00 1998// -/configure.bat/1.3/Mon Apr 7 07:24:12 1997// -/fnmatch.c/1.9/Tue Sep 14 00:18:14 1999// -/fnmatch.h/1.6/Thu Jul 22 04:20:28 1999// -/glob.c/1.22/Sat Jan 22 05:43:03 2000// -/glob.h/1.15/Thu Jan 30 05:22:52 2003// -D +/COPYING.LIB/1.1.1.1/Mon Nov 17 19:06:10 2003// +/ChangeLog/1.1.1.1/Mon Nov 17 19:06:10 2003// +/Makefile.am/1.1.1.1/Mon Nov 17 19:06:10 2003// +/Makefile.ami/1.1.1.1/Mon Nov 17 19:06:10 2003// +/SCOPTIONS/1.1.1.1/Mon Nov 17 19:06:10 2003// +/SMakefile/1.1.1.1/Mon Nov 17 19:06:10 2003// +/configure.bat/1.1.1.1/Mon Nov 17 19:06:10 2003// +/fnmatch.c/1.1.1.1/Mon Nov 17 19:06:10 2003// +/fnmatch.h/1.1.1.1/Mon Nov 17 19:06:10 2003// +/glob.c/1.1.1.1/Mon Nov 17 19:06:10 2003// +/glob.h/1.1.1.1/Mon Nov 17 19:06:10 2003// +D diff --git a/src/mkutil/make/glob/CVS/Repository b/src/mkutil/make/glob/CVS/Repository index b6b6af54..0db9dbe2 100644 --- a/src/mkutil/make/glob/CVS/Repository +++ b/src/mkutil/make/glob/CVS/Repository @@ -1 +1 @@ -make/glob +uzi/src/mkutil/make/glob diff --git a/src/mkutil/make/glob/CVS/Root b/src/mkutil/make/glob/CVS/Root index 132093b8..933b8194 100644 --- a/src/mkutil/make/glob/CVS/Root +++ b/src/mkutil/make/glob/CVS/Root @@ -1 +1 @@ -:pserver:anoncvs@subversions.gnu.org:/cvsroot/make +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/make/glob/ChangeLog b/src/mkutil/make/glob/ChangeLog index 75c68881..858bfa42 100644 --- a/src/mkutil/make/glob/ChangeLog +++ b/src/mkutil/make/glob/ChangeLog @@ -1,142 +1,142 @@ -2003-01-30 Paul D. Smith - - * glob.h: Patch for FreeBSD by Mike Barcroft - Reported by Gerald Pfeifer . On - FreeBSD, declare __size_t to simply size_t. - -2002-04-22 Paul D. Smith - - * Makefile.am: Use automake 1.6. - Use new automake condition USE_LOCAL_GLOB to decide whether or not - to build the local GNU glob library or use the system one. - -1999-09-12 Paul D. Smith - - * fnmatch.c: Last GLIBC version wouldn't compile outside of GLIBC - (undefined reference to internal_function). Update to the latest - version - -1999-09-11 Paul Eggert - - * glob.h (glob): If #defining to glob64, do this before - declaring it, so that all declarations and uses match, and - do not declare glob64, to avoid a declaration clash. - (globfree): Likewise with globfree64. - -1999-09-08 Eli Zaretskii - - * glob.c (prefix_array) [__MSDOS__,WINDOWS32]: Keep the trailing - slash unless DIRNAME is just "x:/". - -1999-09-06 Paul D. Smith - - * fnmatch.c: Update to latest version from GLIBC. - -1999-07-21 Paul D. Smith - - * glob.c, glob.h, fnmatch.c, fnmatch.h: Update to latest version - from GLIBC. - - * fnmatch.c (internal_fnmatch): Use K&R definition syntax, not ANSI. - (__strchrnul): This won't exist outside GLIBC, so create one. - - * glob.c: Move getlogin{,_r} prototypes below glob.h to get __P() - macro. - -1998-08-05 Paul D. Smith - - * configure.in: Remove; configuration for glob is handled by the - make configure.in. - -1998-07-29 Paul D. Smith - - * glob.c, fnmatch.c: New versions from the GLIBC folks (Ulrich - Drepper). Fixes a bug reported by Eli Zaretski. Integrates - DOS/Windows32 support. - -1998-07-27 Kaveh R. Ghazi - - * glob.c (glob): Cast away const on assignment of pattern to dirname. - Cast the return type of __alloca() for traditional C compilers. - -1998-07-23 Paul D. Smith - - * glob.c, fnmatch.c: New versions of these files from the GLIBC - folks (Ulrich Drepper). Had to re-integrate some DOS/Windows - code. - -1998-07-10 Paul D. Smith - - * glob.c (glob_in_dir): If no meta chars exist in PATTERN and - GLOB_NOCHECK is present, don't look for the file--whether it's - found or not, we'll always return it, so why bother searching? - - Also, if we are searching and there are no meta chars, don't - bother trying fnmatch() if the strcmp() fails. - -1998-05-30 Eli Zaretskii - - * glob.c (glob) [__MSDOS__, WINDOWS32]: Compute the directory and - filename parts of the pattern correctly when it includes a drive - spec. Disallow wildcards in the drive spec. Prevent recursion - when dirname is of the form "d:/" or "d:". - (prefix_array) [__MSDOS__, WINDOWS32]: Don't append a slash to - "d:/" and "d:". - -1998-05-13 Paul D. Smith - - * SMakefile, Makefile.ami, glob.c, glob.h, fnmatch.c: Updated from - the latest glibc version. - -1998-04-17 Paul D. Smith - - * configure.in: Create a config.h file instead of setting things - on the compile line. This is because when build.sh runs it merely - passes -DHAVE_CONFIG_H to the glob files, just as it does to the - make files. - * config.h.in: Created by autoheader. - -Tue Aug 12 10:52:34 1997 Paul D. Smith - - * configure.in: Require autoconf 2.12. - - * glob: Updates from latest GNU libc glob code. - - * glob.c,glob.h,fnmatch.h: Change all WIN32 references to WINDOWS32. - - * glob.h: OSF4 defines macros in such a way that GLOB_ALTDIRFUNC - is not defined. Added a test to the #if which defines it if - _GNU_SOURCE is defined; that's set by both glob.c and GNU make. - - * glob.c: SunOS4 w/ cc needs #include , since assert.h - requires stderr but doesn't include stdio.h :-/. - (next_brace_sub): De-protoize function definition. - (glob): Cast __alloca(); on SunOS4 it uses the default return type - of int. - (glob): Irix defines getlogin_r() to return a char*; move the - extern for that into the _LIBC area since it isn't used except in - LIBC anyway. Likewise, move extern getlogin() into the "else". - -Sat Jul 20 21:55:31 1996 Roland McGrath - - Win32 hacks from . - * posix/glob.c [WIN32]: Don't include ; don't use d_ino; - use void * for my_realloc; include for alloca. - (glob) [WIN32]: Use "c:/users/default" for ~ if no HOME variable. - * posix/fnmatch.h [WIN32]: Use prototypes even if [!__STDC__]. - * posix/glob.h: Likewise. - -Fri Jul 19 16:56:41 1996 Roland McGrath - - * posix/glob.h [!_AMIGA && !VMS]: Check this instead of just [!_AMIGA] - for `struct stat;' forward decl. - -Sat Jun 22 10:44:09 1996 Roland McGrath - - * posix/glob.c: Include only [HAVE_ALLOCA_H], not [sparc]. - -Fri Jun 21 00:27:51 1996 Roland McGrath - - * posix/fnmatch.c (fnmatch): Fix \*[*?]+ case to increment name ptr - only for ?s, not for *s. Fix from Chet Ramey. - +2003-01-30 Paul D. Smith + + * glob.h: Patch for FreeBSD by Mike Barcroft + Reported by Gerald Pfeifer . On + FreeBSD, declare __size_t to simply size_t. + +2002-04-22 Paul D. Smith + + * Makefile.am: Use automake 1.6. + Use new automake condition USE_LOCAL_GLOB to decide whether or not + to build the local GNU glob library or use the system one. + +1999-09-12 Paul D. Smith + + * fnmatch.c: Last GLIBC version wouldn't compile outside of GLIBC + (undefined reference to internal_function). Update to the latest + version + +1999-09-11 Paul Eggert + + * glob.h (glob): If #defining to glob64, do this before + declaring it, so that all declarations and uses match, and + do not declare glob64, to avoid a declaration clash. + (globfree): Likewise with globfree64. + +1999-09-08 Eli Zaretskii + + * glob.c (prefix_array) [__MSDOS__,WINDOWS32]: Keep the trailing + slash unless DIRNAME is just "x:/". + +1999-09-06 Paul D. Smith + + * fnmatch.c: Update to latest version from GLIBC. + +1999-07-21 Paul D. Smith + + * glob.c, glob.h, fnmatch.c, fnmatch.h: Update to latest version + from GLIBC. + + * fnmatch.c (internal_fnmatch): Use K&R definition syntax, not ANSI. + (__strchrnul): This won't exist outside GLIBC, so create one. + + * glob.c: Move getlogin{,_r} prototypes below glob.h to get __P() + macro. + +1998-08-05 Paul D. Smith + + * configure.in: Remove; configuration for glob is handled by the + make configure.in. + +1998-07-29 Paul D. Smith + + * glob.c, fnmatch.c: New versions from the GLIBC folks (Ulrich + Drepper). Fixes a bug reported by Eli Zaretski. Integrates + DOS/Windows32 support. + +1998-07-27 Kaveh R. Ghazi + + * glob.c (glob): Cast away const on assignment of pattern to dirname. + Cast the return type of __alloca() for traditional C compilers. + +1998-07-23 Paul D. Smith + + * glob.c, fnmatch.c: New versions of these files from the GLIBC + folks (Ulrich Drepper). Had to re-integrate some DOS/Windows + code. + +1998-07-10 Paul D. Smith + + * glob.c (glob_in_dir): If no meta chars exist in PATTERN and + GLOB_NOCHECK is present, don't look for the file--whether it's + found or not, we'll always return it, so why bother searching? + + Also, if we are searching and there are no meta chars, don't + bother trying fnmatch() if the strcmp() fails. + +1998-05-30 Eli Zaretskii + + * glob.c (glob) [__MSDOS__, WINDOWS32]: Compute the directory and + filename parts of the pattern correctly when it includes a drive + spec. Disallow wildcards in the drive spec. Prevent recursion + when dirname is of the form "d:/" or "d:". + (prefix_array) [__MSDOS__, WINDOWS32]: Don't append a slash to + "d:/" and "d:". + +1998-05-13 Paul D. Smith + + * SMakefile, Makefile.ami, glob.c, glob.h, fnmatch.c: Updated from + the latest glibc version. + +1998-04-17 Paul D. Smith + + * configure.in: Create a config.h file instead of setting things + on the compile line. This is because when build.sh runs it merely + passes -DHAVE_CONFIG_H to the glob files, just as it does to the + make files. + * config.h.in: Created by autoheader. + +Tue Aug 12 10:52:34 1997 Paul D. Smith + + * configure.in: Require autoconf 2.12. + + * glob: Updates from latest GNU libc glob code. + + * glob.c,glob.h,fnmatch.h: Change all WIN32 references to WINDOWS32. + + * glob.h: OSF4 defines macros in such a way that GLOB_ALTDIRFUNC + is not defined. Added a test to the #if which defines it if + _GNU_SOURCE is defined; that's set by both glob.c and GNU make. + + * glob.c: SunOS4 w/ cc needs #include , since assert.h + requires stderr but doesn't include stdio.h :-/. + (next_brace_sub): De-protoize function definition. + (glob): Cast __alloca(); on SunOS4 it uses the default return type + of int. + (glob): Irix defines getlogin_r() to return a char*; move the + extern for that into the _LIBC area since it isn't used except in + LIBC anyway. Likewise, move extern getlogin() into the "else". + +Sat Jul 20 21:55:31 1996 Roland McGrath + + Win32 hacks from . + * posix/glob.c [WIN32]: Don't include ; don't use d_ino; + use void * for my_realloc; include for alloca. + (glob) [WIN32]: Use "c:/users/default" for ~ if no HOME variable. + * posix/fnmatch.h [WIN32]: Use prototypes even if [!__STDC__]. + * posix/glob.h: Likewise. + +Fri Jul 19 16:56:41 1996 Roland McGrath + + * posix/glob.h [!_AMIGA && !VMS]: Check this instead of just [!_AMIGA] + for `struct stat;' forward decl. + +Sat Jun 22 10:44:09 1996 Roland McGrath + + * posix/glob.c: Include only [HAVE_ALLOCA_H], not [sparc]. + +Fri Jun 21 00:27:51 1996 Roland McGrath + + * posix/fnmatch.c (fnmatch): Fix \*[*?]+ case to increment name ptr + only for ?s, not for *s. Fix from Chet Ramey. + diff --git a/src/mkutil/make/glob/Makefile.am b/src/mkutil/make/glob/Makefile.am index b777015a..6c4d6c1d 100644 --- a/src/mkutil/make/glob/Makefile.am +++ b/src/mkutil/make/glob/Makefile.am @@ -1,14 +1,14 @@ -# -*-Makefile-*-, or close enough - -AUTOMAKE_OPTIONS = 1.7.3 foreign - -# Only build the library when the system doesn't already have GNU glob. -if USE_LOCAL_GLOB - noinst_LIBRARIES = libglob.a -endif - -libglob_a_SOURCES = glob.c glob.h fnmatch.c fnmatch.h - - -EXTRA_DIST = COPYING.LIB Makefile.ami SCOPTIONS SMakefile \ - configure.bat +# -*-Makefile-*-, or close enough + +AUTOMAKE_OPTIONS = 1.7.3 foreign + +# Only build the library when the system doesn't already have GNU glob. +if USE_LOCAL_GLOB + noinst_LIBRARIES = libglob.a +endif + +libglob_a_SOURCES = glob.c glob.h fnmatch.c fnmatch.h + + +EXTRA_DIST = COPYING.LIB Makefile.ami SCOPTIONS SMakefile \ + configure.bat diff --git a/src/mkutil/make/glob/Makefile.ami b/src/mkutil/make/glob/Makefile.ami index d3e3d40c..0249c933 100644 --- a/src/mkutil/make/glob/Makefile.ami +++ b/src/mkutil/make/glob/Makefile.ami @@ -1,69 +1,69 @@ -# Makefile for standalone distribution of libglob.a (fnmatch, glob). - -# Copyright (C) 1991, 92, 93, 94, 95, 97, 98 Free Software Foundation, Inc. -# This file is part of the GNU C Library. - -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Library General Public License -# as published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. - -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Library General Public License for more details. - -# You should have received a copy of the GNU Library General Public -# License along with this library; see the file COPYING.LIB. If -# not, write to the Free Software Foundation, Inc., -# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Ultrix 2.2 make doesn't expand the value of VPATH. -VPATH = /glob/ -# This must repeat the value, because configure will remove `VPATH = .'. -srcdir = /glob/ - -CC = sc -RM = delete -CPPFLAGS = -CFLAGS = - -# Information determined by configure. -DEFS = Define HAVE_HEADER_STDC Define HAVE_UNISTD_H Define HAVE_STRING_H \ - Define HAVE_DIRENT_H - -# How to invoke ar. -AR = join -ARFLAGS = as - -# How to invoke ranlib. -RANLIB = ; - -.PHONY: all -all: glob.lib - -glob.lib : glob.o fnmatch.o - $(AR) $(ARFLAGS) $@ glob.o fnmatch.o - $(RANLIB) $@ - -# For some reason, Unix make wants the dependencies on the source files. -# Otherwise it refuses to use an implicit rule! -# And, get this: it doesn't work to use $(srcdir)foo.c!! -glob.o: $(srcdir)glob.h $(srcdir)fnmatch.h glob.c -fnmatch.o: $(srcdir)fnmatch.h fnmatch.c - -OUTPUT_OPTION = -.c.o: - $(CC) IDir "" \ - $(DEFS) $(CPPFLAGS) $(CFLAGS) $< $(OUTPUT_OPTION) - -.PHONY: clean realclean glob-clean glob-realclean distclean -clean glob-clean: - -$(RM) glob.lib "#?.o" core -distclean glob-realclean: clean - -$(RM) TAGS tags Makefile config.status config.h config.log -realcean: distclean - -# For inside the C library. -glob.tar glob.tar.Z: - $(MAKE) -C .. $@ +# Makefile for standalone distribution of libglob.a (fnmatch, glob). + +# Copyright (C) 1991, 92, 93, 94, 95, 97, 98 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public License +# as published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. + +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. + +# You should have received a copy of the GNU Library General Public +# License along with this library; see the file COPYING.LIB. If +# not, write to the Free Software Foundation, Inc., +# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# Ultrix 2.2 make doesn't expand the value of VPATH. +VPATH = /glob/ +# This must repeat the value, because configure will remove `VPATH = .'. +srcdir = /glob/ + +CC = sc +RM = delete +CPPFLAGS = +CFLAGS = + +# Information determined by configure. +DEFS = Define HAVE_HEADER_STDC Define HAVE_UNISTD_H Define HAVE_STRING_H \ + Define HAVE_DIRENT_H + +# How to invoke ar. +AR = join +ARFLAGS = as + +# How to invoke ranlib. +RANLIB = ; + +.PHONY: all +all: glob.lib + +glob.lib : glob.o fnmatch.o + $(AR) $(ARFLAGS) $@ glob.o fnmatch.o + $(RANLIB) $@ + +# For some reason, Unix make wants the dependencies on the source files. +# Otherwise it refuses to use an implicit rule! +# And, get this: it doesn't work to use $(srcdir)foo.c!! +glob.o: $(srcdir)glob.h $(srcdir)fnmatch.h glob.c +fnmatch.o: $(srcdir)fnmatch.h fnmatch.c + +OUTPUT_OPTION = +.c.o: + $(CC) IDir "" \ + $(DEFS) $(CPPFLAGS) $(CFLAGS) $< $(OUTPUT_OPTION) + +.PHONY: clean realclean glob-clean glob-realclean distclean +clean glob-clean: + -$(RM) glob.lib "#?.o" core +distclean glob-realclean: clean + -$(RM) TAGS tags Makefile config.status config.h config.log +realcean: distclean + +# For inside the C library. +glob.tar glob.tar.Z: + $(MAKE) -C .. $@ diff --git a/src/mkutil/make/glob/SCOPTIONS b/src/mkutil/make/glob/SCOPTIONS index f89daae1..324b5e8e 100644 --- a/src/mkutil/make/glob/SCOPTIONS +++ b/src/mkutil/make/glob/SCOPTIONS @@ -1,13 +1,13 @@ -ERRORREXX -OPTIMIZE -NOVERSION -OPTIMIZERTIME -OPTIMIZERALIAS -DEFINE INCLUDEDIR="include:" -DEFINE LIBDIR="lib:" -DEFINE NO_ALLOCA -DEFINE NO_FLOAT -DEFINE NO_ARCHIVES -IGNORE=161 -IGNORE=100 -STARTUP=cres +ERRORREXX +OPTIMIZE +NOVERSION +OPTIMIZERTIME +OPTIMIZERALIAS +DEFINE INCLUDEDIR="include:" +DEFINE LIBDIR="lib:" +DEFINE NO_ALLOCA +DEFINE NO_FLOAT +DEFINE NO_ARCHIVES +IGNORE=161 +IGNORE=100 +STARTUP=cres diff --git a/src/mkutil/make/glob/SMakefile b/src/mkutil/make/glob/SMakefile index 9dcb90b3..c77b8a71 100644 --- a/src/mkutil/make/glob/SMakefile +++ b/src/mkutil/make/glob/SMakefile @@ -1,69 +1,69 @@ -# Makefile for standalone distribution of libglob.a (fnmatch, glob). - -# Copyright (C) 1991, 92, 93, 94, 95, 97, 98 Free Software Foundation, Inc. -# This file is part of the GNU C Library. - -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Library General Public License -# as published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. - -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Library General Public License for more details. - -# You should have received a copy of the GNU Library General Public -# License along with this library; see the file COPYING.LIB. If -# not, write to the Free Software Foundation, Inc., -# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Ultrix 2.2 make doesn't expand the value of VPATH. -VPATH = /glob/ -# This must repeat the value, because configure will remove `VPATH = .'. -srcdir = /glob/ - -CC = sc -CPPFLAGS = -CFLAGS = -MAKE = smake -RM = delete - -# Information determined by configure. -DEFS = Define HAVE_HEADER_STDC Define HAVE_UNISTD_H Define HAVE_STRING_H \ - Define HAVE_DIRENT_H - -# How to invoke ar. -AR = join -ARFLAGS = as - -# How to invoke ranlib. -RANLIB = ; - -.PHONY: all -all: glob.lib - -glob.lib : glob.o fnmatch.o - $(AR) $(ARFLAGS) $@ glob.o fnmatch.o - $(RANLIB) $@ - -# For some reason, Unix make wants the dependencies on the source files. -# Otherwise it refuses to use an implicit rule! -# And, get this: it doesn't work to use $(srcdir)foo.c!! -glob.o: $(srcdir)glob.h $(srcdir)fnmatch.h glob.c -fnmatch.o: $(srcdir)fnmatch.h fnmatch.c - -.c.o: - $(CC) IDir "" \ - $(DEFS) $(CPPFLAGS) $(CFLAGS) $< $(OUTPUT_OPTION) - -.PHONY: clean realclean glob-clean glob-realclean distclean -clean glob-clean: - -$(RM) -f glob.lib *.o core -distclean glob-realclean: clean - -$(RM) -f TAGS tags Makefile config.status config.h config.log -realcean: distclean - -# For inside the C library. -glob.tar glob.tar.Z: - $(MAKE) -C .. $@ +# Makefile for standalone distribution of libglob.a (fnmatch, glob). + +# Copyright (C) 1991, 92, 93, 94, 95, 97, 98 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public License +# as published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. + +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. + +# You should have received a copy of the GNU Library General Public +# License along with this library; see the file COPYING.LIB. If +# not, write to the Free Software Foundation, Inc., +# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# Ultrix 2.2 make doesn't expand the value of VPATH. +VPATH = /glob/ +# This must repeat the value, because configure will remove `VPATH = .'. +srcdir = /glob/ + +CC = sc +CPPFLAGS = +CFLAGS = +MAKE = smake +RM = delete + +# Information determined by configure. +DEFS = Define HAVE_HEADER_STDC Define HAVE_UNISTD_H Define HAVE_STRING_H \ + Define HAVE_DIRENT_H + +# How to invoke ar. +AR = join +ARFLAGS = as + +# How to invoke ranlib. +RANLIB = ; + +.PHONY: all +all: glob.lib + +glob.lib : glob.o fnmatch.o + $(AR) $(ARFLAGS) $@ glob.o fnmatch.o + $(RANLIB) $@ + +# For some reason, Unix make wants the dependencies on the source files. +# Otherwise it refuses to use an implicit rule! +# And, get this: it doesn't work to use $(srcdir)foo.c!! +glob.o: $(srcdir)glob.h $(srcdir)fnmatch.h glob.c +fnmatch.o: $(srcdir)fnmatch.h fnmatch.c + +.c.o: + $(CC) IDir "" \ + $(DEFS) $(CPPFLAGS) $(CFLAGS) $< $(OUTPUT_OPTION) + +.PHONY: clean realclean glob-clean glob-realclean distclean +clean glob-clean: + -$(RM) -f glob.lib *.o core +distclean glob-realclean: clean + -$(RM) -f TAGS tags Makefile config.status config.h config.log +realcean: distclean + +# For inside the C library. +glob.tar glob.tar.Z: + $(MAKE) -C .. $@ diff --git a/src/mkutil/make/glob/fnmatch.c b/src/mkutil/make/glob/fnmatch.c index 1f4ead5f..b8b14bb5 100644 --- a/src/mkutil/make/glob/fnmatch.c +++ b/src/mkutil/make/glob/fnmatch.c @@ -1,488 +1,488 @@ -/* Copyright (C) 1991, 92, 93, 96, 97, 98, 99 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#if HAVE_CONFIG_H -# include -#endif - -/* Enable GNU extensions in fnmatch.h. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif - -#include -#include -#include - -#if HAVE_STRING_H || defined _LIBC -# include -#else -# include -#endif - -#if defined STDC_HEADERS || defined _LIBC -# include -#endif - -/* For platform which support the ISO C amendement 1 functionality we - support user defined character classes. */ -#if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H) -/* Solaris 2.5 has a bug: must be included before . */ -# include -# include -#endif - -/* Comment out all this code if we are using the GNU C Library, and are not - actually compiling the library itself. This code is part of the GNU C - Library, but also included in many other GNU distributions. Compiling - and linking in this code is a waste when using the GNU C library - (especially if it is a shared library). Rather than having every GNU - program understand `configure --with-gnu-libc' and omit the object files, - it is simpler to just do this in the source for each such file. */ - -#if defined _LIBC || !defined __GNU_LIBRARY__ - - -# if defined STDC_HEADERS || !defined isascii -# define ISASCII(c) 1 -# else -# define ISASCII(c) isascii(c) -# endif - -# ifdef isblank -# define ISBLANK(c) (ISASCII (c) && isblank (c)) -# else -# define ISBLANK(c) ((c) == ' ' || (c) == '\t') -# endif -# ifdef isgraph -# define ISGRAPH(c) (ISASCII (c) && isgraph (c)) -# else -# define ISGRAPH(c) (ISASCII (c) && isprint (c) && !isspace (c)) -# endif - -# define ISPRINT(c) (ISASCII (c) && isprint (c)) -# define ISDIGIT(c) (ISASCII (c) && isdigit (c)) -# define ISALNUM(c) (ISASCII (c) && isalnum (c)) -# define ISALPHA(c) (ISASCII (c) && isalpha (c)) -# define ISCNTRL(c) (ISASCII (c) && iscntrl (c)) -# define ISLOWER(c) (ISASCII (c) && islower (c)) -# define ISPUNCT(c) (ISASCII (c) && ispunct (c)) -# define ISSPACE(c) (ISASCII (c) && isspace (c)) -# define ISUPPER(c) (ISASCII (c) && isupper (c)) -# define ISXDIGIT(c) (ISASCII (c) && isxdigit (c)) - -# define STREQ(s1, s2) ((strcmp (s1, s2) == 0)) - -# if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H) -/* The GNU C library provides support for user-defined character classes - and the functions from ISO C amendement 1. */ -# ifdef CHARCLASS_NAME_MAX -# define CHAR_CLASS_MAX_LENGTH CHARCLASS_NAME_MAX -# else -/* This shouldn't happen but some implementation might still have this - problem. Use a reasonable default value. */ -# define CHAR_CLASS_MAX_LENGTH 256 -# endif - -# ifdef _LIBC -# define IS_CHAR_CLASS(string) __wctype (string) -# else -# define IS_CHAR_CLASS(string) wctype (string) -# endif -# else -# define CHAR_CLASS_MAX_LENGTH 6 /* Namely, `xdigit'. */ - -# define IS_CHAR_CLASS(string) \ - (STREQ (string, "alpha") || STREQ (string, "upper") \ - || STREQ (string, "lower") || STREQ (string, "digit") \ - || STREQ (string, "alnum") || STREQ (string, "xdigit") \ - || STREQ (string, "space") || STREQ (string, "print") \ - || STREQ (string, "punct") || STREQ (string, "graph") \ - || STREQ (string, "cntrl") || STREQ (string, "blank")) -# endif - -/* Avoid depending on library functions or files - whose names are inconsistent. */ - -# if !defined _LIBC && !defined getenv -extern char *getenv (); -# endif - -# ifndef errno -extern int errno; -# endif - -/* This function doesn't exist on most systems. */ - -# if !defined HAVE___STRCHRNUL && !defined _LIBC -static char * -__strchrnul (s, c) - const char *s; - int c; -{ - char *result = strchr (s, c); - if (result == NULL) - result = strchr (s, '\0'); - return result; -} -# endif - -# ifndef internal_function -/* Inside GNU libc we mark some function in a special way. In other - environments simply ignore the marking. */ -# define internal_function -# endif - -/* Match STRING against the filename pattern PATTERN, returning zero if - it matches, nonzero if not. */ -static int internal_fnmatch __P ((const char *pattern, const char *string, - int no_leading_period, int flags)) - internal_function; -static int -internal_function -internal_fnmatch (pattern, string, no_leading_period, flags) - const char *pattern; - const char *string; - int no_leading_period; - int flags; -{ - register const char *p = pattern, *n = string; - register unsigned char c; - -/* Note that this evaluates C many times. */ -# ifdef _LIBC -# define FOLD(c) ((flags & FNM_CASEFOLD) ? tolower (c) : (c)) -# else -# define FOLD(c) ((flags & FNM_CASEFOLD) && ISUPPER (c) ? tolower (c) : (c)) -# endif - - while ((c = *p++) != '\0') - { - c = FOLD (c); - - switch (c) - { - case '?': - if (*n == '\0') - return FNM_NOMATCH; - else if (*n == '/' && (flags & FNM_FILE_NAME)) - return FNM_NOMATCH; - else if (*n == '.' && no_leading_period - && (n == string - || (n[-1] == '/' && (flags & FNM_FILE_NAME)))) - return FNM_NOMATCH; - break; - - case '\\': - if (!(flags & FNM_NOESCAPE)) - { - c = *p++; - if (c == '\0') - /* Trailing \ loses. */ - return FNM_NOMATCH; - c = FOLD (c); - } - if (FOLD ((unsigned char) *n) != c) - return FNM_NOMATCH; - break; - - case '*': - if (*n == '.' && no_leading_period - && (n == string - || (n[-1] == '/' && (flags & FNM_FILE_NAME)))) - return FNM_NOMATCH; - - for (c = *p++; c == '?' || c == '*'; c = *p++) - { - if (*n == '/' && (flags & FNM_FILE_NAME)) - /* A slash does not match a wildcard under FNM_FILE_NAME. */ - return FNM_NOMATCH; - else if (c == '?') - { - /* A ? needs to match one character. */ - if (*n == '\0') - /* There isn't another character; no match. */ - return FNM_NOMATCH; - else - /* One character of the string is consumed in matching - this ? wildcard, so *??? won't match if there are - less than three characters. */ - ++n; - } - } - - if (c == '\0') - /* The wildcard(s) is/are the last element of the pattern. - If the name is a file name and contains another slash - this does mean it cannot match. */ - return ((flags & FNM_FILE_NAME) && strchr (n, '/') != NULL - ? FNM_NOMATCH : 0); - else - { - const char *endp; - - endp = __strchrnul (n, (flags & FNM_FILE_NAME) ? '/' : '\0'); - - if (c == '[') - { - int flags2 = ((flags & FNM_FILE_NAME) - ? flags : (flags & ~FNM_PERIOD)); - - for (--p; n < endp; ++n) - if (internal_fnmatch (p, n, - (no_leading_period - && (n == string - || (n[-1] == '/' - && (flags - & FNM_FILE_NAME)))), - flags2) - == 0) - return 0; - } - else if (c == '/' && (flags & FNM_FILE_NAME)) - { - while (*n != '\0' && *n != '/') - ++n; - if (*n == '/' - && (internal_fnmatch (p, n + 1, flags & FNM_PERIOD, - flags) == 0)) - return 0; - } - else - { - int flags2 = ((flags & FNM_FILE_NAME) - ? flags : (flags & ~FNM_PERIOD)); - - if (c == '\\' && !(flags & FNM_NOESCAPE)) - c = *p; - c = FOLD (c); - for (--p; n < endp; ++n) - if (FOLD ((unsigned char) *n) == c - && (internal_fnmatch (p, n, - (no_leading_period - && (n == string - || (n[-1] == '/' - && (flags - & FNM_FILE_NAME)))), - flags2) == 0)) - return 0; - } - } - - /* If we come here no match is possible with the wildcard. */ - return FNM_NOMATCH; - - case '[': - { - /* Nonzero if the sense of the character class is inverted. */ - static int posixly_correct; - register int not; - char cold; - - if (posixly_correct == 0) - posixly_correct = getenv ("POSIXLY_CORRECT") != NULL ? 1 : -1; - - if (*n == '\0') - return FNM_NOMATCH; - - if (*n == '.' && no_leading_period && (n == string - || (n[-1] == '/' - && (flags - & FNM_FILE_NAME)))) - return FNM_NOMATCH; - - if (*n == '/' && (flags & FNM_FILE_NAME)) - /* `/' cannot be matched. */ - return FNM_NOMATCH; - - not = (*p == '!' || (posixly_correct < 0 && *p == '^')); - if (not) - ++p; - - c = *p++; - for (;;) - { - unsigned char fn = FOLD ((unsigned char) *n); - - if (!(flags & FNM_NOESCAPE) && c == '\\') - { - if (*p == '\0') - return FNM_NOMATCH; - c = FOLD ((unsigned char) *p); - ++p; - - if (c == fn) - goto matched; - } - else if (c == '[' && *p == ':') - { - /* Leave room for the null. */ - char str[CHAR_CLASS_MAX_LENGTH + 1]; - size_t c1 = 0; -# if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H) - wctype_t wt; -# endif - const char *startp = p; - - for (;;) - { - if (c1 == CHAR_CLASS_MAX_LENGTH) - /* The name is too long and therefore the pattern - is ill-formed. */ - return FNM_NOMATCH; - - c = *++p; - if (c == ':' && p[1] == ']') - { - p += 2; - break; - } - if (c < 'a' || c >= 'z') - { - /* This cannot possibly be a character class name. - Match it as a normal range. */ - p = startp; - c = '['; - goto normal_bracket; - } - str[c1++] = c; - } - str[c1] = '\0'; - -# if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H) - wt = IS_CHAR_CLASS (str); - if (wt == 0) - /* Invalid character class name. */ - return FNM_NOMATCH; - - if (__iswctype (__btowc ((unsigned char) *n), wt)) - goto matched; -# else - if ((STREQ (str, "alnum") && ISALNUM ((unsigned char) *n)) - || (STREQ (str, "alpha") && ISALPHA ((unsigned char) *n)) - || (STREQ (str, "blank") && ISBLANK ((unsigned char) *n)) - || (STREQ (str, "cntrl") && ISCNTRL ((unsigned char) *n)) - || (STREQ (str, "digit") && ISDIGIT ((unsigned char) *n)) - || (STREQ (str, "graph") && ISGRAPH ((unsigned char) *n)) - || (STREQ (str, "lower") && ISLOWER ((unsigned char) *n)) - || (STREQ (str, "print") && ISPRINT ((unsigned char) *n)) - || (STREQ (str, "punct") && ISPUNCT ((unsigned char) *n)) - || (STREQ (str, "space") && ISSPACE ((unsigned char) *n)) - || (STREQ (str, "upper") && ISUPPER ((unsigned char) *n)) - || (STREQ (str, "xdigit") && ISXDIGIT ((unsigned char) *n))) - goto matched; -# endif - } - else if (c == '\0') - /* [ (unterminated) loses. */ - return FNM_NOMATCH; - else - { - normal_bracket: - if (FOLD (c) == fn) - goto matched; - - cold = c; - c = *p++; - - if (c == '-' && *p != ']') - { - /* It is a range. */ - unsigned char cend = *p++; - if (!(flags & FNM_NOESCAPE) && cend == '\\') - cend = *p++; - if (cend == '\0') - return FNM_NOMATCH; - - if (cold <= fn && fn <= FOLD (cend)) - goto matched; - - c = *p++; - } - } - - if (c == ']') - break; - } - - if (!not) - return FNM_NOMATCH; - break; - - matched: - /* Skip the rest of the [...] that already matched. */ - while (c != ']') - { - if (c == '\0') - /* [... (unterminated) loses. */ - return FNM_NOMATCH; - - c = *p++; - if (!(flags & FNM_NOESCAPE) && c == '\\') - { - if (*p == '\0') - return FNM_NOMATCH; - /* XXX 1003.2d11 is unclear if this is right. */ - ++p; - } - else if (c == '[' && *p == ':') - { - do - if (*++p == '\0') - return FNM_NOMATCH; - while (*p != ':' || p[1] == ']'); - p += 2; - c = *p; - } - } - if (not) - return FNM_NOMATCH; - } - break; - - default: - if (c != FOLD ((unsigned char) *n)) - return FNM_NOMATCH; - } - - ++n; - } - - if (*n == '\0') - return 0; - - if ((flags & FNM_LEADING_DIR) && *n == '/') - /* The FNM_LEADING_DIR flag says that "foo*" matches "foobar/frobozz". */ - return 0; - - return FNM_NOMATCH; - -# undef FOLD -} - - -int -fnmatch (pattern, string, flags) - const char *pattern; - const char *string; - int flags; -{ - return internal_fnmatch (pattern, string, flags & FNM_PERIOD, flags); -} - -#endif /* _LIBC or not __GNU_LIBRARY__. */ +/* Copyright (C) 1991, 92, 93, 96, 97, 98, 99 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#if HAVE_CONFIG_H +# include +#endif + +/* Enable GNU extensions in fnmatch.h. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif + +#include +#include +#include + +#if HAVE_STRING_H || defined _LIBC +# include +#else +# include +#endif + +#if defined STDC_HEADERS || defined _LIBC +# include +#endif + +/* For platform which support the ISO C amendement 1 functionality we + support user defined character classes. */ +#if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H) +/* Solaris 2.5 has a bug: must be included before . */ +# include +# include +#endif + +/* Comment out all this code if we are using the GNU C Library, and are not + actually compiling the library itself. This code is part of the GNU C + Library, but also included in many other GNU distributions. Compiling + and linking in this code is a waste when using the GNU C library + (especially if it is a shared library). Rather than having every GNU + program understand `configure --with-gnu-libc' and omit the object files, + it is simpler to just do this in the source for each such file. */ + +#if defined _LIBC || !defined __GNU_LIBRARY__ + + +# if defined STDC_HEADERS || !defined isascii +# define ISASCII(c) 1 +# else +# define ISASCII(c) isascii(c) +# endif + +# ifdef isblank +# define ISBLANK(c) (ISASCII (c) && isblank (c)) +# else +# define ISBLANK(c) ((c) == ' ' || (c) == '\t') +# endif +# ifdef isgraph +# define ISGRAPH(c) (ISASCII (c) && isgraph (c)) +# else +# define ISGRAPH(c) (ISASCII (c) && isprint (c) && !isspace (c)) +# endif + +# define ISPRINT(c) (ISASCII (c) && isprint (c)) +# define ISDIGIT(c) (ISASCII (c) && isdigit (c)) +# define ISALNUM(c) (ISASCII (c) && isalnum (c)) +# define ISALPHA(c) (ISASCII (c) && isalpha (c)) +# define ISCNTRL(c) (ISASCII (c) && iscntrl (c)) +# define ISLOWER(c) (ISASCII (c) && islower (c)) +# define ISPUNCT(c) (ISASCII (c) && ispunct (c)) +# define ISSPACE(c) (ISASCII (c) && isspace (c)) +# define ISUPPER(c) (ISASCII (c) && isupper (c)) +# define ISXDIGIT(c) (ISASCII (c) && isxdigit (c)) + +# define STREQ(s1, s2) ((strcmp (s1, s2) == 0)) + +# if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H) +/* The GNU C library provides support for user-defined character classes + and the functions from ISO C amendement 1. */ +# ifdef CHARCLASS_NAME_MAX +# define CHAR_CLASS_MAX_LENGTH CHARCLASS_NAME_MAX +# else +/* This shouldn't happen but some implementation might still have this + problem. Use a reasonable default value. */ +# define CHAR_CLASS_MAX_LENGTH 256 +# endif + +# ifdef _LIBC +# define IS_CHAR_CLASS(string) __wctype (string) +# else +# define IS_CHAR_CLASS(string) wctype (string) +# endif +# else +# define CHAR_CLASS_MAX_LENGTH 6 /* Namely, `xdigit'. */ + +# define IS_CHAR_CLASS(string) \ + (STREQ (string, "alpha") || STREQ (string, "upper") \ + || STREQ (string, "lower") || STREQ (string, "digit") \ + || STREQ (string, "alnum") || STREQ (string, "xdigit") \ + || STREQ (string, "space") || STREQ (string, "print") \ + || STREQ (string, "punct") || STREQ (string, "graph") \ + || STREQ (string, "cntrl") || STREQ (string, "blank")) +# endif + +/* Avoid depending on library functions or files + whose names are inconsistent. */ + +# if !defined _LIBC && !defined getenv +extern char *getenv (); +# endif + +# ifndef errno +extern int errno; +# endif + +/* This function doesn't exist on most systems. */ + +# if !defined HAVE___STRCHRNUL && !defined _LIBC +static char * +__strchrnul (s, c) + const char *s; + int c; +{ + char *result = strchr (s, c); + if (result == NULL) + result = strchr (s, '\0'); + return result; +} +# endif + +# ifndef internal_function +/* Inside GNU libc we mark some function in a special way. In other + environments simply ignore the marking. */ +# define internal_function +# endif + +/* Match STRING against the filename pattern PATTERN, returning zero if + it matches, nonzero if not. */ +static int internal_fnmatch __P ((const char *pattern, const char *string, + int no_leading_period, int flags)) + internal_function; +static int +internal_function +internal_fnmatch (pattern, string, no_leading_period, flags) + const char *pattern; + const char *string; + int no_leading_period; + int flags; +{ + register const char *p = pattern, *n = string; + register unsigned char c; + +/* Note that this evaluates C many times. */ +# ifdef _LIBC +# define FOLD(c) ((flags & FNM_CASEFOLD) ? tolower (c) : (c)) +# else +# define FOLD(c) ((flags & FNM_CASEFOLD) && ISUPPER (c) ? tolower (c) : (c)) +# endif + + while ((c = *p++) != '\0') + { + c = FOLD (c); + + switch (c) + { + case '?': + if (*n == '\0') + return FNM_NOMATCH; + else if (*n == '/' && (flags & FNM_FILE_NAME)) + return FNM_NOMATCH; + else if (*n == '.' && no_leading_period + && (n == string + || (n[-1] == '/' && (flags & FNM_FILE_NAME)))) + return FNM_NOMATCH; + break; + + case '\\': + if (!(flags & FNM_NOESCAPE)) + { + c = *p++; + if (c == '\0') + /* Trailing \ loses. */ + return FNM_NOMATCH; + c = FOLD (c); + } + if (FOLD ((unsigned char) *n) != c) + return FNM_NOMATCH; + break; + + case '*': + if (*n == '.' && no_leading_period + && (n == string + || (n[-1] == '/' && (flags & FNM_FILE_NAME)))) + return FNM_NOMATCH; + + for (c = *p++; c == '?' || c == '*'; c = *p++) + { + if (*n == '/' && (flags & FNM_FILE_NAME)) + /* A slash does not match a wildcard under FNM_FILE_NAME. */ + return FNM_NOMATCH; + else if (c == '?') + { + /* A ? needs to match one character. */ + if (*n == '\0') + /* There isn't another character; no match. */ + return FNM_NOMATCH; + else + /* One character of the string is consumed in matching + this ? wildcard, so *??? won't match if there are + less than three characters. */ + ++n; + } + } + + if (c == '\0') + /* The wildcard(s) is/are the last element of the pattern. + If the name is a file name and contains another slash + this does mean it cannot match. */ + return ((flags & FNM_FILE_NAME) && strchr (n, '/') != NULL + ? FNM_NOMATCH : 0); + else + { + const char *endp; + + endp = __strchrnul (n, (flags & FNM_FILE_NAME) ? '/' : '\0'); + + if (c == '[') + { + int flags2 = ((flags & FNM_FILE_NAME) + ? flags : (flags & ~FNM_PERIOD)); + + for (--p; n < endp; ++n) + if (internal_fnmatch (p, n, + (no_leading_period + && (n == string + || (n[-1] == '/' + && (flags + & FNM_FILE_NAME)))), + flags2) + == 0) + return 0; + } + else if (c == '/' && (flags & FNM_FILE_NAME)) + { + while (*n != '\0' && *n != '/') + ++n; + if (*n == '/' + && (internal_fnmatch (p, n + 1, flags & FNM_PERIOD, + flags) == 0)) + return 0; + } + else + { + int flags2 = ((flags & FNM_FILE_NAME) + ? flags : (flags & ~FNM_PERIOD)); + + if (c == '\\' && !(flags & FNM_NOESCAPE)) + c = *p; + c = FOLD (c); + for (--p; n < endp; ++n) + if (FOLD ((unsigned char) *n) == c + && (internal_fnmatch (p, n, + (no_leading_period + && (n == string + || (n[-1] == '/' + && (flags + & FNM_FILE_NAME)))), + flags2) == 0)) + return 0; + } + } + + /* If we come here no match is possible with the wildcard. */ + return FNM_NOMATCH; + + case '[': + { + /* Nonzero if the sense of the character class is inverted. */ + static int posixly_correct; + register int not; + char cold; + + if (posixly_correct == 0) + posixly_correct = getenv ("POSIXLY_CORRECT") != NULL ? 1 : -1; + + if (*n == '\0') + return FNM_NOMATCH; + + if (*n == '.' && no_leading_period && (n == string + || (n[-1] == '/' + && (flags + & FNM_FILE_NAME)))) + return FNM_NOMATCH; + + if (*n == '/' && (flags & FNM_FILE_NAME)) + /* `/' cannot be matched. */ + return FNM_NOMATCH; + + not = (*p == '!' || (posixly_correct < 0 && *p == '^')); + if (not) + ++p; + + c = *p++; + for (;;) + { + unsigned char fn = FOLD ((unsigned char) *n); + + if (!(flags & FNM_NOESCAPE) && c == '\\') + { + if (*p == '\0') + return FNM_NOMATCH; + c = FOLD ((unsigned char) *p); + ++p; + + if (c == fn) + goto matched; + } + else if (c == '[' && *p == ':') + { + /* Leave room for the null. */ + char str[CHAR_CLASS_MAX_LENGTH + 1]; + size_t c1 = 0; +# if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H) + wctype_t wt; +# endif + const char *startp = p; + + for (;;) + { + if (c1 == CHAR_CLASS_MAX_LENGTH) + /* The name is too long and therefore the pattern + is ill-formed. */ + return FNM_NOMATCH; + + c = *++p; + if (c == ':' && p[1] == ']') + { + p += 2; + break; + } + if (c < 'a' || c >= 'z') + { + /* This cannot possibly be a character class name. + Match it as a normal range. */ + p = startp; + c = '['; + goto normal_bracket; + } + str[c1++] = c; + } + str[c1] = '\0'; + +# if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H) + wt = IS_CHAR_CLASS (str); + if (wt == 0) + /* Invalid character class name. */ + return FNM_NOMATCH; + + if (__iswctype (__btowc ((unsigned char) *n), wt)) + goto matched; +# else + if ((STREQ (str, "alnum") && ISALNUM ((unsigned char) *n)) + || (STREQ (str, "alpha") && ISALPHA ((unsigned char) *n)) + || (STREQ (str, "blank") && ISBLANK ((unsigned char) *n)) + || (STREQ (str, "cntrl") && ISCNTRL ((unsigned char) *n)) + || (STREQ (str, "digit") && ISDIGIT ((unsigned char) *n)) + || (STREQ (str, "graph") && ISGRAPH ((unsigned char) *n)) + || (STREQ (str, "lower") && ISLOWER ((unsigned char) *n)) + || (STREQ (str, "print") && ISPRINT ((unsigned char) *n)) + || (STREQ (str, "punct") && ISPUNCT ((unsigned char) *n)) + || (STREQ (str, "space") && ISSPACE ((unsigned char) *n)) + || (STREQ (str, "upper") && ISUPPER ((unsigned char) *n)) + || (STREQ (str, "xdigit") && ISXDIGIT ((unsigned char) *n))) + goto matched; +# endif + } + else if (c == '\0') + /* [ (unterminated) loses. */ + return FNM_NOMATCH; + else + { + normal_bracket: + if (FOLD (c) == fn) + goto matched; + + cold = c; + c = *p++; + + if (c == '-' && *p != ']') + { + /* It is a range. */ + unsigned char cend = *p++; + if (!(flags & FNM_NOESCAPE) && cend == '\\') + cend = *p++; + if (cend == '\0') + return FNM_NOMATCH; + + if (cold <= fn && fn <= FOLD (cend)) + goto matched; + + c = *p++; + } + } + + if (c == ']') + break; + } + + if (!not) + return FNM_NOMATCH; + break; + + matched: + /* Skip the rest of the [...] that already matched. */ + while (c != ']') + { + if (c == '\0') + /* [... (unterminated) loses. */ + return FNM_NOMATCH; + + c = *p++; + if (!(flags & FNM_NOESCAPE) && c == '\\') + { + if (*p == '\0') + return FNM_NOMATCH; + /* XXX 1003.2d11 is unclear if this is right. */ + ++p; + } + else if (c == '[' && *p == ':') + { + do + if (*++p == '\0') + return FNM_NOMATCH; + while (*p != ':' || p[1] == ']'); + p += 2; + c = *p; + } + } + if (not) + return FNM_NOMATCH; + } + break; + + default: + if (c != FOLD ((unsigned char) *n)) + return FNM_NOMATCH; + } + + ++n; + } + + if (*n == '\0') + return 0; + + if ((flags & FNM_LEADING_DIR) && *n == '/') + /* The FNM_LEADING_DIR flag says that "foo*" matches "foobar/frobozz". */ + return 0; + + return FNM_NOMATCH; + +# undef FOLD +} + + +int +fnmatch (pattern, string, flags) + const char *pattern; + const char *string; + int flags; +{ + return internal_fnmatch (pattern, string, flags & FNM_PERIOD, flags); +} + +#endif /* _LIBC or not __GNU_LIBRARY__. */ diff --git a/src/mkutil/make/glob/fnmatch.h b/src/mkutil/make/glob/fnmatch.h index cc3ec379..9ece024d 100644 --- a/src/mkutil/make/glob/fnmatch.h +++ b/src/mkutil/make/glob/fnmatch.h @@ -1,84 +1,84 @@ -/* Copyright (C) 1991, 92, 93, 96, 97, 98, 99 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#ifndef _FNMATCH_H -#define _FNMATCH_H 1 - -#ifdef __cplusplus -extern "C" { -#endif - -#if defined __cplusplus || (defined __STDC__ && __STDC__) || defined WINDOWS32 -# if !defined __GLIBC__ || !defined __P -# undef __P -# define __P(protos) protos -# endif -#else /* Not C++ or ANSI C. */ -# undef __P -# define __P(protos) () -/* We can get away without defining `const' here only because in this file - it is used only inside the prototype for `fnmatch', which is elided in - non-ANSI C where `const' is problematical. */ -#endif /* C++ or ANSI C. */ - -#ifndef const -# if (defined __STDC__ && __STDC__) || defined __cplusplus -# define __const const -# else -# define __const -# endif -#endif - -/* We #undef these before defining them because some losing systems - (HP-UX A.08.07 for example) define these in . */ -#undef FNM_PATHNAME -#undef FNM_NOESCAPE -#undef FNM_PERIOD - -/* Bits set in the FLAGS argument to `fnmatch'. */ -#define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */ -#define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */ -#define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */ - -#if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE -# define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */ -# define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */ -# define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */ -#endif - -/* Value returned by `fnmatch' if STRING does not match PATTERN. */ -#define FNM_NOMATCH 1 - -/* This value is returned if the implementation does not support - `fnmatch'. Since this is not the case here it will never be - returned but the conformance test suites still require the symbol - to be defined. */ -#ifdef _XOPEN_SOURCE -# define FNM_NOSYS (-1) -#endif - -/* Match NAME against the filename pattern PATTERN, - returning zero if it matches, FNM_NOMATCH if not. */ -extern int fnmatch __P ((__const char *__pattern, __const char *__name, - int __flags)); - -#ifdef __cplusplus -} -#endif - -#endif /* fnmatch.h */ +/* Copyright (C) 1991, 92, 93, 96, 97, 98, 99 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _FNMATCH_H +#define _FNMATCH_H 1 + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined __cplusplus || (defined __STDC__ && __STDC__) || defined WINDOWS32 +# if !defined __GLIBC__ || !defined __P +# undef __P +# define __P(protos) protos +# endif +#else /* Not C++ or ANSI C. */ +# undef __P +# define __P(protos) () +/* We can get away without defining `const' here only because in this file + it is used only inside the prototype for `fnmatch', which is elided in + non-ANSI C where `const' is problematical. */ +#endif /* C++ or ANSI C. */ + +#ifndef const +# if (defined __STDC__ && __STDC__) || defined __cplusplus +# define __const const +# else +# define __const +# endif +#endif + +/* We #undef these before defining them because some losing systems + (HP-UX A.08.07 for example) define these in . */ +#undef FNM_PATHNAME +#undef FNM_NOESCAPE +#undef FNM_PERIOD + +/* Bits set in the FLAGS argument to `fnmatch'. */ +#define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */ +#define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */ +#define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */ + +#if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE +# define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */ +# define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */ +# define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */ +#endif + +/* Value returned by `fnmatch' if STRING does not match PATTERN. */ +#define FNM_NOMATCH 1 + +/* This value is returned if the implementation does not support + `fnmatch'. Since this is not the case here it will never be + returned but the conformance test suites still require the symbol + to be defined. */ +#ifdef _XOPEN_SOURCE +# define FNM_NOSYS (-1) +#endif + +/* Match NAME against the filename pattern PATTERN, + returning zero if it matches, FNM_NOMATCH if not. */ +extern int fnmatch __P ((__const char *__pattern, __const char *__name, + int __flags)); + +#ifdef __cplusplus +} +#endif + +#endif /* fnmatch.h */ diff --git a/src/mkutil/make/glob/glob.c b/src/mkutil/make/glob/glob.c index 4bbf7bb0..2da783c8 100644 --- a/src/mkutil/make/glob/glob.c +++ b/src/mkutil/make/glob/glob.c @@ -1,1428 +1,1428 @@ -/* Copyright (C) 1991,92,93,94,95,96,97,98,99 Free Software Foundation, Inc. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* AIX requires this to be the first thing in the file. */ -#if defined _AIX && !defined __GNUC__ - #pragma alloca -#endif - -#ifdef HAVE_CONFIG_H -# include -#endif - -/* Enable GNU extensions in glob.h. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif - -#include -#include -#include - -/* Outcomment the following line for production quality code. */ -/* #define NDEBUG 1 */ -#include - -#include /* Needed on stupid SunOS for assert. */ - - -/* Comment out all this code if we are using the GNU C Library, and are not - actually compiling the library itself. This code is part of the GNU C - Library, but also included in many other GNU distributions. Compiling - and linking in this code is a waste when using the GNU C library - (especially if it is a shared library). Rather than having every GNU - program understand `configure --with-gnu-libc' and omit the object files, - it is simpler to just do this in the source for each such file. */ - -#define GLOB_INTERFACE_VERSION 1 -#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 -# include -# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION -# define ELIDE_CODE -# endif -#endif - -#ifndef ELIDE_CODE - -#if defined STDC_HEADERS || defined __GNU_LIBRARY__ -# include -#endif - -#if defined HAVE_UNISTD_H || defined _LIBC -# include -# ifndef POSIX -# ifdef _POSIX_VERSION -# define POSIX -# endif -# endif -#endif - -#if !defined _AMIGA && !defined VMS && !defined WINDOWS32 -# include -#endif - -#if !defined __GNU_LIBRARY__ && !defined STDC_HEADERS -extern int errno; -#endif -#ifndef __set_errno -# define __set_errno(val) errno = (val) -#endif - -#ifndef NULL -# define NULL 0 -#endif - - -#if defined HAVE_DIRENT_H || defined __GNU_LIBRARY__ -# include -# define NAMLEN(dirent) strlen((dirent)->d_name) -#else -# define dirent direct -# define NAMLEN(dirent) (dirent)->d_namlen -# ifdef HAVE_SYS_NDIR_H -# include -# endif -# ifdef HAVE_SYS_DIR_H -# include -# endif -# ifdef HAVE_NDIR_H -# include -# endif -# ifdef HAVE_VMSDIR_H -# include "vmsdir.h" -# endif /* HAVE_VMSDIR_H */ -#endif - - -/* In GNU systems, defines this macro for us. */ -#ifdef _D_NAMLEN -# undef NAMLEN -# define NAMLEN(d) _D_NAMLEN(d) -#endif - -/* When used in the GNU libc the symbol _DIRENT_HAVE_D_TYPE is available - if the `d_type' member for `struct dirent' is available. */ -#ifdef _DIRENT_HAVE_D_TYPE -# define HAVE_D_TYPE 1 -#endif - - -#if (defined POSIX || defined WINDOWS32) && !defined __GNU_LIBRARY__ -/* Posix does not require that the d_ino field be present, and some - systems do not provide it. */ -# define REAL_DIR_ENTRY(dp) 1 -#else -# define REAL_DIR_ENTRY(dp) (dp->d_ino != 0) -#endif /* POSIX */ - -#if defined STDC_HEADERS || defined __GNU_LIBRARY__ -# include -# include -# define ANSI_STRING -#else /* No standard headers. */ - -extern char *getenv (); - -# ifdef HAVE_STRING_H -# include -# define ANSI_STRING -# else -# include -# endif -# ifdef HAVE_MEMORY_H -# include -# endif - -extern char *malloc (), *realloc (); -extern void free (); - -extern void qsort (); -extern void abort (), exit (); - -#endif /* Standard headers. */ - -#ifndef ANSI_STRING - -# ifndef bzero -extern void bzero (); -# endif -# ifndef bcopy -extern void bcopy (); -# endif - -# define memcpy(d, s, n) bcopy ((s), (d), (n)) -# define strrchr rindex -/* memset is only used for zero here, but let's be paranoid. */ -# define memset(s, better_be_zero, n) \ - ((void) ((better_be_zero) == 0 ? (bzero((s), (n)), 0) : (abort(), 0))) -#endif /* Not ANSI_STRING. */ - -#if !defined HAVE_STRCOLL && !defined _LIBC -# define strcoll strcmp -#endif - -#if !defined HAVE_MEMPCPY && __GLIBC__ - 0 == 2 && __GLIBC_MINOR__ >= 1 -# define HAVE_MEMPCPY 1 -# undef mempcpy -# define mempcpy(Dest, Src, Len) __mempcpy (Dest, Src, Len) -#endif - -#ifndef __GNU_LIBRARY__ -# ifdef __GNUC__ -__inline -# endif -# ifndef __SASC -# ifdef WINDOWS32 -static void * -# else -static char * -# endif -my_realloc (p, n) - char *p; - unsigned int n; -{ - /* These casts are the for sake of the broken Ultrix compiler, - which warns of illegal pointer combinations otherwise. */ - if (p == NULL) - return (char *) malloc (n); - return (char *) realloc (p, n); -} -# define realloc my_realloc -# endif /* __SASC */ -#endif /* __GNU_LIBRARY__ */ - - -#if !defined __alloca && !defined __GNU_LIBRARY__ - -# ifdef __GNUC__ -# undef alloca -# define alloca(n) __builtin_alloca (n) -# else /* Not GCC. */ -# ifdef HAVE_ALLOCA_H -# include -# else /* Not HAVE_ALLOCA_H. */ -# ifndef _AIX -# ifdef WINDOWS32 -# include -# else -extern char *alloca (); -# endif /* WINDOWS32 */ -# endif /* Not _AIX. */ -# endif /* sparc or HAVE_ALLOCA_H. */ -# endif /* GCC. */ - -# define __alloca alloca - -#endif - -#ifndef __GNU_LIBRARY__ -# define __stat stat -# ifdef STAT_MACROS_BROKEN -# undef S_ISDIR -# endif -# ifndef S_ISDIR -# define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR) -# endif -#endif - -#ifdef _LIBC -# undef strdup -# define strdup(str) __strdup (str) -# define sysconf(id) __sysconf (id) -# define closedir(dir) __closedir (dir) -# define opendir(name) __opendir (name) -# define readdir(str) __readdir (str) -# define getpwnam_r(name, bufp, buf, len, res) \ - __getpwnam_r (name, bufp, buf, len, res) -# ifndef __stat -# define __stat(fname, buf) __xstat (_STAT_VER, fname, buf) -# endif -#endif - -#if !(defined STDC_HEADERS || defined __GNU_LIBRARY__) -# undef size_t -# define size_t unsigned int -#endif - -/* Some system header files erroneously define these. - We want our own definitions from to take precedence. */ -#ifndef __GNU_LIBRARY__ -# undef FNM_PATHNAME -# undef FNM_NOESCAPE -# undef FNM_PERIOD -#endif -#include - -/* Some system header files erroneously define these. - We want our own definitions from to take precedence. */ -#ifndef __GNU_LIBRARY__ -# undef GLOB_ERR -# undef GLOB_MARK -# undef GLOB_NOSORT -# undef GLOB_DOOFFS -# undef GLOB_NOCHECK -# undef GLOB_APPEND -# undef GLOB_NOESCAPE -# undef GLOB_PERIOD -#endif -#include - -#ifdef HAVE_GETLOGIN_R -extern int getlogin_r __P ((char *, size_t)); -#else -extern char *getlogin __P ((void)); -#endif - -static -#if __GNUC__ - 0 >= 2 -inline -#endif -const char *next_brace_sub __P ((const char *begin)); -static int glob_in_dir __P ((const char *pattern, const char *directory, - int flags, - int (*errfunc) (const char *, int), - glob_t *pglob)); -static int prefix_array __P ((const char *prefix, char **array, size_t n)); -static int collated_compare __P ((const __ptr_t, const __ptr_t)); - -#ifdef VMS -/* these compilers like prototypes */ -#if !defined _LIBC || !defined NO_GLOB_PATTERN_P -int __glob_pattern_p (const char *pattern, int quote); -#endif -#endif - -/* Find the end of the sub-pattern in a brace expression. We define - this as an inline function if the compiler permits. */ -static -#if __GNUC__ - 0 >= 2 -inline -#endif -const char * -next_brace_sub (begin) - const char *begin; -{ - unsigned int depth = 0; - const char *cp = begin; - - while (1) - { - if (depth == 0) - { - if (*cp != ',' && *cp != '}' && *cp != '\0') - { - if (*cp == '{') - ++depth; - ++cp; - continue; - } - } - else - { - while (*cp != '\0' && (*cp != '}' || depth > 0)) - { - if (*cp == '}') - --depth; - ++cp; - } - if (*cp == '\0') - /* An incorrectly terminated brace expression. */ - return NULL; - - continue; - } - break; - } - - return cp; -} - -/* Do glob searching for PATTERN, placing results in PGLOB. - The bits defined above may be set in FLAGS. - If a directory cannot be opened or read and ERRFUNC is not nil, - it is called with the pathname that caused the error, and the - `errno' value from the failing call; if it returns non-zero - `glob' returns GLOB_ABORTED; if it returns zero, the error is ignored. - If memory cannot be allocated for PGLOB, GLOB_NOSPACE is returned. - Otherwise, `glob' returns zero. */ -int -glob (pattern, flags, errfunc, pglob) - const char *pattern; - int flags; - int (*errfunc) __P ((const char *, int)); - glob_t *pglob; -{ - const char *filename; - const char *dirname; - size_t dirlen; - int status; - int oldcount; - - if (pattern == NULL || pglob == NULL || (flags & ~__GLOB_FLAGS) != 0) - { - __set_errno (EINVAL); - return -1; - } - - if (flags & GLOB_BRACE) - { - const char *begin = strchr (pattern, '{'); - if (begin != NULL) - { - /* Allocate working buffer large enough for our work. Note that - we have at least an opening and closing brace. */ - int firstc; - char *alt_start; - const char *p; - const char *next; - const char *rest; - size_t rest_len; -#ifdef __GNUC__ - char onealt[strlen (pattern) - 1]; -#else - char *onealt = (char *) malloc (strlen (pattern) - 1); - if (onealt == NULL) - { - if (!(flags & GLOB_APPEND)) - globfree (pglob); - return GLOB_NOSPACE; - } -#endif - - /* We know the prefix for all sub-patterns. */ -#ifdef HAVE_MEMPCPY - alt_start = mempcpy (onealt, pattern, begin - pattern); -#else - memcpy (onealt, pattern, begin - pattern); - alt_start = &onealt[begin - pattern]; -#endif - - /* Find the first sub-pattern and at the same time find the - rest after the closing brace. */ - next = next_brace_sub (begin + 1); - if (next == NULL) - { - /* It is an illegal expression. */ -#ifndef __GNUC__ - free (onealt); -#endif - return glob (pattern, flags & ~GLOB_BRACE, errfunc, pglob); - } - - /* Now find the end of the whole brace expression. */ - rest = next; - while (*rest != '}') - { - rest = next_brace_sub (rest + 1); - if (rest == NULL) - { - /* It is an illegal expression. */ -#ifndef __GNUC__ - free (onealt); -#endif - return glob (pattern, flags & ~GLOB_BRACE, errfunc, pglob); - } - } - /* Please note that we now can be sure the brace expression - is well-formed. */ - rest_len = strlen (++rest) + 1; - - /* We have a brace expression. BEGIN points to the opening {, - NEXT points past the terminator of the first element, and END - points past the final }. We will accumulate result names from - recursive runs for each brace alternative in the buffer using - GLOB_APPEND. */ - - if (!(flags & GLOB_APPEND)) - { - /* This call is to set a new vector, so clear out the - vector so we can append to it. */ - pglob->gl_pathc = 0; - pglob->gl_pathv = NULL; - } - firstc = pglob->gl_pathc; - - p = begin + 1; - while (1) - { - int result; - - /* Construct the new glob expression. */ -#ifdef HAVE_MEMPCPY - mempcpy (mempcpy (alt_start, p, next - p), rest, rest_len); -#else - memcpy (alt_start, p, next - p); - memcpy (&alt_start[next - p], rest, rest_len); -#endif - - result = glob (onealt, - ((flags & ~(GLOB_NOCHECK|GLOB_NOMAGIC)) - | GLOB_APPEND), errfunc, pglob); - - /* If we got an error, return it. */ - if (result && result != GLOB_NOMATCH) - { -#ifndef __GNUC__ - free (onealt); -#endif - if (!(flags & GLOB_APPEND)) - globfree (pglob); - return result; - } - - if (*next == '}') - /* We saw the last entry. */ - break; - - p = next + 1; - next = next_brace_sub (p); - assert (next != NULL); - } - -#ifndef __GNUC__ - free (onealt); -#endif - - if (pglob->gl_pathc != firstc) - /* We found some entries. */ - return 0; - else if (!(flags & (GLOB_NOCHECK|GLOB_NOMAGIC))) - return GLOB_NOMATCH; - } - } - - /* Find the filename. */ - filename = strrchr (pattern, '/'); -#if defined __MSDOS__ || defined WINDOWS32 - /* The case of "d:pattern". Since `:' is not allowed in - file names, we can safely assume that wherever it - happens in pattern, it signals the filename part. This - is so we could some day support patterns like "[a-z]:foo". */ - if (filename == NULL) - filename = strchr (pattern, ':'); -#endif /* __MSDOS__ || WINDOWS32 */ - if (filename == NULL) - { - /* This can mean two things: a simple name or "~name". The later - case is nothing but a notation for a directory. */ - if ((flags & (GLOB_TILDE|GLOB_TILDE_CHECK)) && pattern[0] == '~') - { - dirname = pattern; - dirlen = strlen (pattern); - - /* Set FILENAME to NULL as a special flag. This is ugly but - other solutions would require much more code. We test for - this special case below. */ - filename = NULL; - } - else - { - filename = pattern; -#ifdef _AMIGA - dirname = ""; -#else - dirname = "."; -#endif - dirlen = 0; - } - } - else if (filename == pattern) - { - /* "/pattern". */ - dirname = "/"; - dirlen = 1; - ++filename; - } - else - { - char *newp; - dirlen = filename - pattern; -#if defined __MSDOS__ || defined WINDOWS32 - if (*filename == ':' - || (filename > pattern + 1 && filename[-1] == ':')) - { - char *drive_spec; - - ++dirlen; - drive_spec = (char *) __alloca (dirlen + 1); -#ifdef HAVE_MEMPCPY - *((char *) mempcpy (drive_spec, pattern, dirlen)) = '\0'; -#else - memcpy (drive_spec, pattern, dirlen); - drive_spec[dirlen] = '\0'; -#endif - /* For now, disallow wildcards in the drive spec, to - prevent infinite recursion in glob. */ - if (__glob_pattern_p (drive_spec, !(flags & GLOB_NOESCAPE))) - return GLOB_NOMATCH; - /* If this is "d:pattern", we need to copy `:' to DIRNAME - as well. If it's "d:/pattern", don't remove the slash - from "d:/", since "d:" and "d:/" are not the same.*/ - } -#endif - newp = (char *) __alloca (dirlen + 1); -#ifdef HAVE_MEMPCPY - *((char *) mempcpy (newp, pattern, dirlen)) = '\0'; -#else - memcpy (newp, pattern, dirlen); - newp[dirlen] = '\0'; -#endif - dirname = newp; - ++filename; - - if (filename[0] == '\0' -#if defined __MSDOS__ || defined WINDOWS32 - && dirname[dirlen - 1] != ':' - && (dirlen < 3 || dirname[dirlen - 2] != ':' - || dirname[dirlen - 1] != '/') -#endif - && dirlen > 1) - /* "pattern/". Expand "pattern", appending slashes. */ - { - int val = glob (dirname, flags | GLOB_MARK, errfunc, pglob); - if (val == 0) - pglob->gl_flags = ((pglob->gl_flags & ~GLOB_MARK) - | (flags & GLOB_MARK)); - return val; - } - } - - if (!(flags & GLOB_APPEND)) - { - pglob->gl_pathc = 0; - pglob->gl_pathv = NULL; - } - - oldcount = pglob->gl_pathc; - -#ifndef VMS - if ((flags & (GLOB_TILDE|GLOB_TILDE_CHECK)) && dirname[0] == '~') - { - if (dirname[1] == '\0' || dirname[1] == '/') - { - /* Look up home directory. */ -#ifdef VMS -/* This isn't obvious, RTLs of DECC and VAXC know about "HOME" */ - const char *home_dir = getenv ("SYS$LOGIN"); -#else - const char *home_dir = getenv ("HOME"); -#endif -# ifdef _AMIGA - if (home_dir == NULL || home_dir[0] == '\0') - home_dir = "SYS:"; -# else -# ifdef WINDOWS32 - if (home_dir == NULL || home_dir[0] == '\0') - home_dir = "c:/users/default"; /* poor default */ -# else -# ifdef VMS -/* Again, this isn't obvious, if "HOME" isn't known "SYS$LOGIN" should be set */ - if (home_dir == NULL || home_dir[0] == '\0') - home_dir = "SYS$DISK:[]"; -# else - if (home_dir == NULL || home_dir[0] == '\0') - { - int success; - char *name; -# if defined HAVE_GETLOGIN_R || defined _LIBC - size_t buflen = sysconf (_SC_LOGIN_NAME_MAX) + 1; - - if (buflen == 0) - /* `sysconf' does not support _SC_LOGIN_NAME_MAX. Try - a moderate value. */ - buflen = 20; - name = (char *) __alloca (buflen); - - success = getlogin_r (name, buflen) >= 0; -# else - success = (name = getlogin ()) != NULL; -# endif - if (success) - { - struct passwd *p; -# if defined HAVE_GETPWNAM_R || defined _LIBC - size_t pwbuflen = sysconf (_SC_GETPW_R_SIZE_MAX); - char *pwtmpbuf; - struct passwd pwbuf; - int save = errno; - - if (pwbuflen == -1) - /* `sysconf' does not support _SC_GETPW_R_SIZE_MAX. - Try a moderate value. */ - pwbuflen = 1024; - pwtmpbuf = (char *) __alloca (pwbuflen); - - while (getpwnam_r (name, &pwbuf, pwtmpbuf, pwbuflen, &p) - != 0) - { - if (errno != ERANGE) - { - p = NULL; - break; - } - pwbuflen *= 2; - pwtmpbuf = (char *) __alloca (pwbuflen); - __set_errno (save); - } -# else - p = getpwnam (name); -# endif - if (p != NULL) - home_dir = p->pw_dir; - } - } - if (home_dir == NULL || home_dir[0] == '\0') - { - if (flags & GLOB_TILDE_CHECK) - return GLOB_NOMATCH; - else - home_dir = "~"; /* No luck. */ - } -# endif /* VMS */ -# endif /* WINDOWS32 */ -# endif - /* Now construct the full directory. */ - if (dirname[1] == '\0') - dirname = home_dir; - else - { - char *newp; - size_t home_len = strlen (home_dir); - newp = (char *) __alloca (home_len + dirlen); -# ifdef HAVE_MEMPCPY - mempcpy (mempcpy (newp, home_dir, home_len), - &dirname[1], dirlen); -# else - memcpy (newp, home_dir, home_len); - memcpy (&newp[home_len], &dirname[1], dirlen); -# endif - dirname = newp; - } - } -# if !defined _AMIGA && !defined WINDOWS32 && !defined VMS - else - { - char *end_name = strchr (dirname, '/'); - const char *user_name; - const char *home_dir; - - if (end_name == NULL) - user_name = dirname + 1; - else - { - char *newp; - newp = (char *) __alloca (end_name - dirname); -# ifdef HAVE_MEMPCPY - *((char *) mempcpy (newp, dirname + 1, end_name - dirname)) - = '\0'; -# else - memcpy (newp, dirname + 1, end_name - dirname); - newp[end_name - dirname - 1] = '\0'; -# endif - user_name = newp; - } - - /* Look up specific user's home directory. */ - { - struct passwd *p; -# if defined HAVE_GETPWNAM_R || defined _LIBC - size_t buflen = sysconf (_SC_GETPW_R_SIZE_MAX); - char *pwtmpbuf; - struct passwd pwbuf; - int save = errno; - - if (buflen == -1) - /* `sysconf' does not support _SC_GETPW_R_SIZE_MAX. Try a - moderate value. */ - buflen = 1024; - pwtmpbuf = (char *) __alloca (buflen); - - while (getpwnam_r (user_name, &pwbuf, pwtmpbuf, buflen, &p) != 0) - { - if (errno != ERANGE) - { - p = NULL; - break; - } - buflen *= 2; - pwtmpbuf = __alloca (buflen); - __set_errno (save); - } -# else - p = getpwnam (user_name); -# endif - if (p != NULL) - home_dir = p->pw_dir; - else - home_dir = NULL; - } - /* If we found a home directory use this. */ - if (home_dir != NULL) - { - char *newp; - size_t home_len = strlen (home_dir); - size_t rest_len = end_name == NULL ? 0 : strlen (end_name); - newp = (char *) __alloca (home_len + rest_len + 1); -# ifdef HAVE_MEMPCPY - *((char *) mempcpy (mempcpy (newp, home_dir, home_len), - end_name, rest_len)) = '\0'; -# else - memcpy (newp, home_dir, home_len); - memcpy (&newp[home_len], end_name, rest_len); - newp[home_len + rest_len] = '\0'; -# endif - dirname = newp; - } - else - if (flags & GLOB_TILDE_CHECK) - /* We have to regard it as an error if we cannot find the - home directory. */ - return GLOB_NOMATCH; - } -# endif /* Not Amiga && not WINDOWS32 && not VMS. */ - } -#endif /* Not VMS. */ - - /* Now test whether we looked for "~" or "~NAME". In this case we - can give the answer now. */ - if (filename == NULL) - { - struct stat st; - - /* Return the directory if we don't check for error or if it exists. */ - if ((flags & GLOB_NOCHECK) - || (((flags & GLOB_ALTDIRFUNC) - ? (*pglob->gl_stat) (dirname, &st) - : __stat (dirname, &st)) == 0 - && S_ISDIR (st.st_mode))) - { - pglob->gl_pathv - = (char **) realloc (pglob->gl_pathv, - (pglob->gl_pathc + - ((flags & GLOB_DOOFFS) ? - pglob->gl_offs : 0) + - 1 + 1) * - sizeof (char *)); - if (pglob->gl_pathv == NULL) - return GLOB_NOSPACE; - - if (flags & GLOB_DOOFFS) - while (pglob->gl_pathc < pglob->gl_offs) - pglob->gl_pathv[pglob->gl_pathc++] = NULL; - -#if defined HAVE_STRDUP || defined _LIBC - pglob->gl_pathv[pglob->gl_pathc] = strdup (dirname); -#else - { - size_t len = strlen (dirname) + 1; - char *dircopy = malloc (len); - if (dircopy != NULL) - pglob->gl_pathv[pglob->gl_pathc] = memcpy (dircopy, dirname, - len); - } -#endif - if (pglob->gl_pathv[pglob->gl_pathc] == NULL) - { - free (pglob->gl_pathv); - return GLOB_NOSPACE; - } - pglob->gl_pathv[++pglob->gl_pathc] = NULL; - pglob->gl_flags = flags; - - return 0; - } - - /* Not found. */ - return GLOB_NOMATCH; - } - - if (__glob_pattern_p (dirname, !(flags & GLOB_NOESCAPE))) - { - /* The directory name contains metacharacters, so we - have to glob for the directory, and then glob for - the pattern in each directory found. */ - glob_t dirs; - register int i; - - status = glob (dirname, - ((flags & (GLOB_ERR | GLOB_NOCHECK | GLOB_NOESCAPE)) - | GLOB_NOSORT | GLOB_ONLYDIR), - errfunc, &dirs); - if (status != 0) - return status; - - /* We have successfully globbed the preceding directory name. - For each name we found, call glob_in_dir on it and FILENAME, - appending the results to PGLOB. */ - for (i = 0; i < dirs.gl_pathc; ++i) - { - int old_pathc; - -#ifdef SHELL - { - /* Make globbing interruptible in the bash shell. */ - extern int interrupt_state; - - if (interrupt_state) - { - globfree (&dirs); - globfree (&files); - return GLOB_ABORTED; - } - } -#endif /* SHELL. */ - - old_pathc = pglob->gl_pathc; - status = glob_in_dir (filename, dirs.gl_pathv[i], - ((flags | GLOB_APPEND) - & ~(GLOB_NOCHECK | GLOB_ERR)), - errfunc, pglob); - if (status == GLOB_NOMATCH) - /* No matches in this directory. Try the next. */ - continue; - - if (status != 0) - { - globfree (&dirs); - globfree (pglob); - return status; - } - - /* Stick the directory on the front of each name. */ - if (prefix_array (dirs.gl_pathv[i], - &pglob->gl_pathv[old_pathc], - pglob->gl_pathc - old_pathc)) - { - globfree (&dirs); - globfree (pglob); - return GLOB_NOSPACE; - } - } - - flags |= GLOB_MAGCHAR; - - /* We have ignored the GLOB_NOCHECK flag in the `glob_in_dir' calls. - But if we have not found any matching entry and thie GLOB_NOCHECK - flag was set we must return the list consisting of the disrectory - names followed by the filename. */ - if (pglob->gl_pathc == oldcount) - { - /* No matches. */ - if (flags & GLOB_NOCHECK) - { - size_t filename_len = strlen (filename) + 1; - char **new_pathv; - struct stat st; - - /* This is an pessimistic guess about the size. */ - pglob->gl_pathv - = (char **) realloc (pglob->gl_pathv, - (pglob->gl_pathc + - ((flags & GLOB_DOOFFS) ? - pglob->gl_offs : 0) + - dirs.gl_pathc + 1) * - sizeof (char *)); - if (pglob->gl_pathv == NULL) - { - globfree (&dirs); - return GLOB_NOSPACE; - } - - if (flags & GLOB_DOOFFS) - while (pglob->gl_pathc < pglob->gl_offs) - pglob->gl_pathv[pglob->gl_pathc++] = NULL; - - for (i = 0; i < dirs.gl_pathc; ++i) - { - const char *dir = dirs.gl_pathv[i]; - size_t dir_len = strlen (dir); - - /* First check whether this really is a directory. */ - if (((flags & GLOB_ALTDIRFUNC) - ? (*pglob->gl_stat) (dir, &st) : __stat (dir, &st)) != 0 - || !S_ISDIR (st.st_mode)) - /* No directory, ignore this entry. */ - continue; - - pglob->gl_pathv[pglob->gl_pathc] = malloc (dir_len + 1 - + filename_len); - if (pglob->gl_pathv[pglob->gl_pathc] == NULL) - { - globfree (&dirs); - globfree (pglob); - return GLOB_NOSPACE; - } - -#ifdef HAVE_MEMPCPY - mempcpy (mempcpy (mempcpy (pglob->gl_pathv[pglob->gl_pathc], - dir, dir_len), - "/", 1), - filename, filename_len); -#else - memcpy (pglob->gl_pathv[pglob->gl_pathc], dir, dir_len); - pglob->gl_pathv[pglob->gl_pathc][dir_len] = '/'; - memcpy (&pglob->gl_pathv[pglob->gl_pathc][dir_len + 1], - filename, filename_len); -#endif - ++pglob->gl_pathc; - } - - pglob->gl_pathv[pglob->gl_pathc] = NULL; - pglob->gl_flags = flags; - - /* Now we know how large the gl_pathv vector must be. */ - new_pathv = (char **) realloc (pglob->gl_pathv, - ((pglob->gl_pathc + 1) - * sizeof (char *))); - if (new_pathv != NULL) - pglob->gl_pathv = new_pathv; - } - else - return GLOB_NOMATCH; - } - - globfree (&dirs); - } - else - { - status = glob_in_dir (filename, dirname, flags, errfunc, pglob); - if (status != 0) - return status; - - if (dirlen > 0) - { - /* Stick the directory on the front of each name. */ - int ignore = oldcount; - - if ((flags & GLOB_DOOFFS) && ignore < pglob->gl_offs) - ignore = pglob->gl_offs; - - if (prefix_array (dirname, - &pglob->gl_pathv[ignore], - pglob->gl_pathc - ignore)) - { - globfree (pglob); - return GLOB_NOSPACE; - } - } - } - - if (flags & GLOB_MARK) - { - /* Append slashes to directory names. */ - int i; - struct stat st; - for (i = oldcount; i < pglob->gl_pathc; ++i) - if (((flags & GLOB_ALTDIRFUNC) - ? (*pglob->gl_stat) (pglob->gl_pathv[i], &st) - : __stat (pglob->gl_pathv[i], &st)) == 0 - && S_ISDIR (st.st_mode)) - { - size_t len = strlen (pglob->gl_pathv[i]) + 2; - char *new = realloc (pglob->gl_pathv[i], len); - if (new == NULL) - { - globfree (pglob); - return GLOB_NOSPACE; - } - strcpy (&new[len - 2], "/"); - pglob->gl_pathv[i] = new; - } - } - - if (!(flags & GLOB_NOSORT)) - { - /* Sort the vector. */ - int non_sort = oldcount; - - if ((flags & GLOB_DOOFFS) && pglob->gl_offs > oldcount) - non_sort = pglob->gl_offs; - - qsort ((__ptr_t) &pglob->gl_pathv[non_sort], - pglob->gl_pathc - non_sort, - sizeof (char *), collated_compare); - } - - return 0; -} - - -/* Free storage allocated in PGLOB by a previous `glob' call. */ -void -globfree (pglob) - register glob_t *pglob; -{ - if (pglob->gl_pathv != NULL) - { - register int i; - for (i = 0; i < pglob->gl_pathc; ++i) - if (pglob->gl_pathv[i] != NULL) - free ((__ptr_t) pglob->gl_pathv[i]); - free ((__ptr_t) pglob->gl_pathv); - } -} - - -/* Do a collated comparison of A and B. */ -static int -collated_compare (a, b) - const __ptr_t a; - const __ptr_t b; -{ - const char *const s1 = *(const char *const * const) a; - const char *const s2 = *(const char *const * const) b; - - if (s1 == s2) - return 0; - if (s1 == NULL) - return 1; - if (s2 == NULL) - return -1; - return strcoll (s1, s2); -} - - -/* Prepend DIRNAME to each of N members of ARRAY, replacing ARRAY's - elements in place. Return nonzero if out of memory, zero if successful. - A slash is inserted between DIRNAME and each elt of ARRAY, - unless DIRNAME is just "/". Each old element of ARRAY is freed. */ -static int -prefix_array (dirname, array, n) - const char *dirname; - char **array; - size_t n; -{ - register size_t i; - size_t dirlen = strlen (dirname); -#if defined __MSDOS__ || defined WINDOWS32 - int sep_char = '/'; -# define DIRSEP_CHAR sep_char -#else -# define DIRSEP_CHAR '/' -#endif - - if (dirlen == 1 && dirname[0] == '/') - /* DIRNAME is just "/", so normal prepending would get us "//foo". - We want "/foo" instead, so don't prepend any chars from DIRNAME. */ - dirlen = 0; -#if defined __MSDOS__ || defined WINDOWS32 - else if (dirlen > 1) - { - if (dirname[dirlen - 1] == '/' && dirname[dirlen - 2] == ':') - /* DIRNAME is "d:/". Don't prepend the slash from DIRNAME. */ - --dirlen; - else if (dirname[dirlen - 1] == ':') - { - /* DIRNAME is "d:". Use `:' instead of `/'. */ - --dirlen; - sep_char = ':'; - } - } -#endif - - for (i = 0; i < n; ++i) - { - size_t eltlen = strlen (array[i]) + 1; - char *new = (char *) malloc (dirlen + 1 + eltlen); - if (new == NULL) - { - while (i > 0) - free ((__ptr_t) array[--i]); - return 1; - } - -#ifdef HAVE_MEMPCPY - { - char *endp = (char *) mempcpy (new, dirname, dirlen); - *endp++ = DIRSEP_CHAR; - mempcpy (endp, array[i], eltlen); - } -#else - memcpy (new, dirname, dirlen); - new[dirlen] = DIRSEP_CHAR; - memcpy (&new[dirlen + 1], array[i], eltlen); -#endif - free ((__ptr_t) array[i]); - array[i] = new; - } - - return 0; -} - - -/* We must not compile this function twice. */ -#if !defined _LIBC || !defined NO_GLOB_PATTERN_P -/* Return nonzero if PATTERN contains any metacharacters. - Metacharacters can be quoted with backslashes if QUOTE is nonzero. */ -int -__glob_pattern_p (pattern, quote) - const char *pattern; - int quote; -{ - register const char *p; - int open = 0; - - for (p = pattern; *p != '\0'; ++p) - switch (*p) - { - case '?': - case '*': - return 1; - - case '\\': - if (quote && p[1] != '\0') - ++p; - break; - - case '[': - open = 1; - break; - - case ']': - if (open) - return 1; - break; - } - - return 0; -} -# ifdef _LIBC -weak_alias (__glob_pattern_p, glob_pattern_p) -# endif -#endif - - -/* Like `glob', but PATTERN is a final pathname component, - and matches are searched for in DIRECTORY. - The GLOB_NOSORT bit in FLAGS is ignored. No sorting is ever done. - The GLOB_APPEND flag is assumed to be set (always appends). */ -static int -glob_in_dir (pattern, directory, flags, errfunc, pglob) - const char *pattern; - const char *directory; - int flags; - int (*errfunc) __P ((const char *, int)); - glob_t *pglob; -{ - __ptr_t stream = NULL; - - struct globlink - { - struct globlink *next; - char *name; - }; - struct globlink *names = NULL; - size_t nfound; - int meta; - int save; - -#ifdef VMS - if (*directory == 0) - directory = "[]"; -#endif - meta = __glob_pattern_p (pattern, !(flags & GLOB_NOESCAPE)); - if (meta == 0) - { - if (flags & (GLOB_NOCHECK|GLOB_NOMAGIC)) - /* We need not do any tests. The PATTERN contains no meta - characters and we must not return an error therefore the - result will always contain exactly one name. */ - flags |= GLOB_NOCHECK; - else - { - /* Since we use the normal file functions we can also use stat() - to verify the file is there. */ - struct stat st; - size_t patlen = strlen (pattern); - size_t dirlen = strlen (directory); - char *fullname = (char *) __alloca (dirlen + 1 + patlen + 1); - -# ifdef HAVE_MEMPCPY - mempcpy (mempcpy (mempcpy (fullname, directory, dirlen), - "/", 1), - pattern, patlen + 1); -# else - memcpy (fullname, directory, dirlen); - fullname[dirlen] = '/'; - memcpy (&fullname[dirlen + 1], pattern, patlen + 1); -# endif - if (((flags & GLOB_ALTDIRFUNC) - ? (*pglob->gl_stat) (fullname, &st) - : __stat (fullname, &st)) == 0) - /* We found this file to be existing. Now tell the rest - of the function to copy this name into the result. */ - flags |= GLOB_NOCHECK; - } - - nfound = 0; - } - else - { - if (pattern[0] == '\0') - { - /* This is a special case for matching directories like in - "*a/". */ - names = (struct globlink *) __alloca (sizeof (struct globlink)); - names->name = (char *) malloc (1); - if (names->name == NULL) - goto memory_error; - names->name[0] = '\0'; - names->next = NULL; - nfound = 1; - meta = 0; - } - else - { - stream = ((flags & GLOB_ALTDIRFUNC) - ? (*pglob->gl_opendir) (directory) - : (__ptr_t) opendir (directory)); - if (stream == NULL) - { - if (errno != ENOTDIR - && ((errfunc != NULL && (*errfunc) (directory, errno)) - || (flags & GLOB_ERR))) - return GLOB_ABORTED; - nfound = 0; - meta = 0; - } - else - { - int fnm_flags = ((!(flags & GLOB_PERIOD) ? FNM_PERIOD : 0) - | ((flags & GLOB_NOESCAPE) ? FNM_NOESCAPE : 0) -#if defined _AMIGA || defined VMS - | FNM_CASEFOLD -#endif - ); - nfound = 0; - flags |= GLOB_MAGCHAR; - - while (1) - { - const char *name; - size_t len; - struct dirent *d = ((flags & GLOB_ALTDIRFUNC) - ? (*pglob->gl_readdir) (stream) - : readdir ((DIR *) stream)); - if (d == NULL) - break; - if (! REAL_DIR_ENTRY (d)) - continue; - -#ifdef HAVE_D_TYPE - /* If we shall match only directories use the information - provided by the dirent call if possible. */ - if ((flags & GLOB_ONLYDIR) - && d->d_type != DT_UNKNOWN && d->d_type != DT_DIR) - continue; -#endif - - name = d->d_name; - - if (fnmatch (pattern, name, fnm_flags) == 0) - { - struct globlink *new = (struct globlink *) - __alloca (sizeof (struct globlink)); - len = NAMLEN (d); - new->name = (char *) malloc (len + 1); - if (new->name == NULL) - goto memory_error; -#ifdef HAVE_MEMPCPY - *((char *) mempcpy ((__ptr_t) new->name, name, len)) - = '\0'; -#else - memcpy ((__ptr_t) new->name, name, len); - new->name[len] = '\0'; -#endif - new->next = names; - names = new; - ++nfound; - } - } - } - } - } - - if (nfound == 0 && (flags & GLOB_NOCHECK)) - { - size_t len = strlen (pattern); - nfound = 1; - names = (struct globlink *) __alloca (sizeof (struct globlink)); - names->next = NULL; - names->name = (char *) malloc (len + 1); - if (names->name == NULL) - goto memory_error; -#ifdef HAVE_MEMPCPY - *((char *) mempcpy (names->name, pattern, len)) = '\0'; -#else - memcpy (names->name, pattern, len); - names->name[len] = '\0'; -#endif - } - - if (nfound != 0) - { - pglob->gl_pathv - = (char **) realloc (pglob->gl_pathv, - (pglob->gl_pathc + - ((flags & GLOB_DOOFFS) ? pglob->gl_offs : 0) + - nfound + 1) * - sizeof (char *)); - if (pglob->gl_pathv == NULL) - goto memory_error; - - if (flags & GLOB_DOOFFS) - while (pglob->gl_pathc < pglob->gl_offs) - pglob->gl_pathv[pglob->gl_pathc++] = NULL; - - for (; names != NULL; names = names->next) - pglob->gl_pathv[pglob->gl_pathc++] = names->name; - pglob->gl_pathv[pglob->gl_pathc] = NULL; - - pglob->gl_flags = flags; - } - - save = errno; - if (stream != NULL) - { - if (flags & GLOB_ALTDIRFUNC) - (*pglob->gl_closedir) (stream); - else - closedir ((DIR *) stream); - } - __set_errno (save); - - return nfound == 0 ? GLOB_NOMATCH : 0; - - memory_error: - { - int save = errno; - if (flags & GLOB_ALTDIRFUNC) - (*pglob->gl_closedir) (stream); - else - closedir ((DIR *) stream); - __set_errno (save); - } - while (names != NULL) - { - if (names->name != NULL) - free ((__ptr_t) names->name); - names = names->next; - } - return GLOB_NOSPACE; -} - -#endif /* Not ELIDE_CODE. */ +/* Copyright (C) 1991,92,93,94,95,96,97,98,99 Free Software Foundation, Inc. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* AIX requires this to be the first thing in the file. */ +#if defined _AIX && !defined __GNUC__ + #pragma alloca +#endif + +#ifdef HAVE_CONFIG_H +# include +#endif + +/* Enable GNU extensions in glob.h. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif + +#include +#include +#include + +/* Outcomment the following line for production quality code. */ +/* #define NDEBUG 1 */ +#include + +#include /* Needed on stupid SunOS for assert. */ + + +/* Comment out all this code if we are using the GNU C Library, and are not + actually compiling the library itself. This code is part of the GNU C + Library, but also included in many other GNU distributions. Compiling + and linking in this code is a waste when using the GNU C library + (especially if it is a shared library). Rather than having every GNU + program understand `configure --with-gnu-libc' and omit the object files, + it is simpler to just do this in the source for each such file. */ + +#define GLOB_INTERFACE_VERSION 1 +#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 +# include +# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION +# define ELIDE_CODE +# endif +#endif + +#ifndef ELIDE_CODE + +#if defined STDC_HEADERS || defined __GNU_LIBRARY__ +# include +#endif + +#if defined HAVE_UNISTD_H || defined _LIBC +# include +# ifndef POSIX +# ifdef _POSIX_VERSION +# define POSIX +# endif +# endif +#endif + +#if !defined _AMIGA && !defined VMS && !defined WINDOWS32 +# include +#endif + +#if !defined __GNU_LIBRARY__ && !defined STDC_HEADERS +extern int errno; +#endif +#ifndef __set_errno +# define __set_errno(val) errno = (val) +#endif + +#ifndef NULL +# define NULL 0 +#endif + + +#if defined HAVE_DIRENT_H || defined __GNU_LIBRARY__ +# include +# define NAMLEN(dirent) strlen((dirent)->d_name) +#else +# define dirent direct +# define NAMLEN(dirent) (dirent)->d_namlen +# ifdef HAVE_SYS_NDIR_H +# include +# endif +# ifdef HAVE_SYS_DIR_H +# include +# endif +# ifdef HAVE_NDIR_H +# include +# endif +# ifdef HAVE_VMSDIR_H +# include "vmsdir.h" +# endif /* HAVE_VMSDIR_H */ +#endif + + +/* In GNU systems, defines this macro for us. */ +#ifdef _D_NAMLEN +# undef NAMLEN +# define NAMLEN(d) _D_NAMLEN(d) +#endif + +/* When used in the GNU libc the symbol _DIRENT_HAVE_D_TYPE is available + if the `d_type' member for `struct dirent' is available. */ +#ifdef _DIRENT_HAVE_D_TYPE +# define HAVE_D_TYPE 1 +#endif + + +#if (defined POSIX || defined WINDOWS32) && !defined __GNU_LIBRARY__ +/* Posix does not require that the d_ino field be present, and some + systems do not provide it. */ +# define REAL_DIR_ENTRY(dp) 1 +#else +# define REAL_DIR_ENTRY(dp) (dp->d_ino != 0) +#endif /* POSIX */ + +#if defined STDC_HEADERS || defined __GNU_LIBRARY__ +# include +# include +# define ANSI_STRING +#else /* No standard headers. */ + +extern char *getenv (); + +# ifdef HAVE_STRING_H +# include +# define ANSI_STRING +# else +# include +# endif +# ifdef HAVE_MEMORY_H +# include +# endif + +extern char *malloc (), *realloc (); +extern void free (); + +extern void qsort (); +extern void abort (), exit (); + +#endif /* Standard headers. */ + +#ifndef ANSI_STRING + +# ifndef bzero +extern void bzero (); +# endif +# ifndef bcopy +extern void bcopy (); +# endif + +# define memcpy(d, s, n) bcopy ((s), (d), (n)) +# define strrchr rindex +/* memset is only used for zero here, but let's be paranoid. */ +# define memset(s, better_be_zero, n) \ + ((void) ((better_be_zero) == 0 ? (bzero((s), (n)), 0) : (abort(), 0))) +#endif /* Not ANSI_STRING. */ + +#if !defined HAVE_STRCOLL && !defined _LIBC +# define strcoll strcmp +#endif + +#if !defined HAVE_MEMPCPY && __GLIBC__ - 0 == 2 && __GLIBC_MINOR__ >= 1 +# define HAVE_MEMPCPY 1 +# undef mempcpy +# define mempcpy(Dest, Src, Len) __mempcpy (Dest, Src, Len) +#endif + +#ifndef __GNU_LIBRARY__ +# ifdef __GNUC__ +__inline +# endif +# ifndef __SASC +# ifdef WINDOWS32 +static void * +# else +static char * +# endif +my_realloc (p, n) + char *p; + unsigned int n; +{ + /* These casts are the for sake of the broken Ultrix compiler, + which warns of illegal pointer combinations otherwise. */ + if (p == NULL) + return (char *) malloc (n); + return (char *) realloc (p, n); +} +# define realloc my_realloc +# endif /* __SASC */ +#endif /* __GNU_LIBRARY__ */ + + +#if !defined __alloca && !defined __GNU_LIBRARY__ + +# ifdef __GNUC__ +# undef alloca +# define alloca(n) __builtin_alloca (n) +# else /* Not GCC. */ +# ifdef HAVE_ALLOCA_H +# include +# else /* Not HAVE_ALLOCA_H. */ +# ifndef _AIX +# ifdef WINDOWS32 +# include +# else +extern char *alloca (); +# endif /* WINDOWS32 */ +# endif /* Not _AIX. */ +# endif /* sparc or HAVE_ALLOCA_H. */ +# endif /* GCC. */ + +# define __alloca alloca + +#endif + +#ifndef __GNU_LIBRARY__ +# define __stat stat +# ifdef STAT_MACROS_BROKEN +# undef S_ISDIR +# endif +# ifndef S_ISDIR +# define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR) +# endif +#endif + +#ifdef _LIBC +# undef strdup +# define strdup(str) __strdup (str) +# define sysconf(id) __sysconf (id) +# define closedir(dir) __closedir (dir) +# define opendir(name) __opendir (name) +# define readdir(str) __readdir (str) +# define getpwnam_r(name, bufp, buf, len, res) \ + __getpwnam_r (name, bufp, buf, len, res) +# ifndef __stat +# define __stat(fname, buf) __xstat (_STAT_VER, fname, buf) +# endif +#endif + +#if !(defined STDC_HEADERS || defined __GNU_LIBRARY__) +# undef size_t +# define size_t unsigned int +#endif + +/* Some system header files erroneously define these. + We want our own definitions from to take precedence. */ +#ifndef __GNU_LIBRARY__ +# undef FNM_PATHNAME +# undef FNM_NOESCAPE +# undef FNM_PERIOD +#endif +#include + +/* Some system header files erroneously define these. + We want our own definitions from to take precedence. */ +#ifndef __GNU_LIBRARY__ +# undef GLOB_ERR +# undef GLOB_MARK +# undef GLOB_NOSORT +# undef GLOB_DOOFFS +# undef GLOB_NOCHECK +# undef GLOB_APPEND +# undef GLOB_NOESCAPE +# undef GLOB_PERIOD +#endif +#include + +#ifdef HAVE_GETLOGIN_R +extern int getlogin_r __P ((char *, size_t)); +#else +extern char *getlogin __P ((void)); +#endif + +static +#if __GNUC__ - 0 >= 2 +inline +#endif +const char *next_brace_sub __P ((const char *begin)); +static int glob_in_dir __P ((const char *pattern, const char *directory, + int flags, + int (*errfunc) (const char *, int), + glob_t *pglob)); +static int prefix_array __P ((const char *prefix, char **array, size_t n)); +static int collated_compare __P ((const __ptr_t, const __ptr_t)); + +#ifdef VMS +/* these compilers like prototypes */ +#if !defined _LIBC || !defined NO_GLOB_PATTERN_P +int __glob_pattern_p (const char *pattern, int quote); +#endif +#endif + +/* Find the end of the sub-pattern in a brace expression. We define + this as an inline function if the compiler permits. */ +static +#if __GNUC__ - 0 >= 2 +inline +#endif +const char * +next_brace_sub (begin) + const char *begin; +{ + unsigned int depth = 0; + const char *cp = begin; + + while (1) + { + if (depth == 0) + { + if (*cp != ',' && *cp != '}' && *cp != '\0') + { + if (*cp == '{') + ++depth; + ++cp; + continue; + } + } + else + { + while (*cp != '\0' && (*cp != '}' || depth > 0)) + { + if (*cp == '}') + --depth; + ++cp; + } + if (*cp == '\0') + /* An incorrectly terminated brace expression. */ + return NULL; + + continue; + } + break; + } + + return cp; +} + +/* Do glob searching for PATTERN, placing results in PGLOB. + The bits defined above may be set in FLAGS. + If a directory cannot be opened or read and ERRFUNC is not nil, + it is called with the pathname that caused the error, and the + `errno' value from the failing call; if it returns non-zero + `glob' returns GLOB_ABORTED; if it returns zero, the error is ignored. + If memory cannot be allocated for PGLOB, GLOB_NOSPACE is returned. + Otherwise, `glob' returns zero. */ +int +glob (pattern, flags, errfunc, pglob) + const char *pattern; + int flags; + int (*errfunc) __P ((const char *, int)); + glob_t *pglob; +{ + const char *filename; + const char *dirname; + size_t dirlen; + int status; + int oldcount; + + if (pattern == NULL || pglob == NULL || (flags & ~__GLOB_FLAGS) != 0) + { + __set_errno (EINVAL); + return -1; + } + + if (flags & GLOB_BRACE) + { + const char *begin = strchr (pattern, '{'); + if (begin != NULL) + { + /* Allocate working buffer large enough for our work. Note that + we have at least an opening and closing brace. */ + int firstc; + char *alt_start; + const char *p; + const char *next; + const char *rest; + size_t rest_len; +#ifdef __GNUC__ + char onealt[strlen (pattern) - 1]; +#else + char *onealt = (char *) malloc (strlen (pattern) - 1); + if (onealt == NULL) + { + if (!(flags & GLOB_APPEND)) + globfree (pglob); + return GLOB_NOSPACE; + } +#endif + + /* We know the prefix for all sub-patterns. */ +#ifdef HAVE_MEMPCPY + alt_start = mempcpy (onealt, pattern, begin - pattern); +#else + memcpy (onealt, pattern, begin - pattern); + alt_start = &onealt[begin - pattern]; +#endif + + /* Find the first sub-pattern and at the same time find the + rest after the closing brace. */ + next = next_brace_sub (begin + 1); + if (next == NULL) + { + /* It is an illegal expression. */ +#ifndef __GNUC__ + free (onealt); +#endif + return glob (pattern, flags & ~GLOB_BRACE, errfunc, pglob); + } + + /* Now find the end of the whole brace expression. */ + rest = next; + while (*rest != '}') + { + rest = next_brace_sub (rest + 1); + if (rest == NULL) + { + /* It is an illegal expression. */ +#ifndef __GNUC__ + free (onealt); +#endif + return glob (pattern, flags & ~GLOB_BRACE, errfunc, pglob); + } + } + /* Please note that we now can be sure the brace expression + is well-formed. */ + rest_len = strlen (++rest) + 1; + + /* We have a brace expression. BEGIN points to the opening {, + NEXT points past the terminator of the first element, and END + points past the final }. We will accumulate result names from + recursive runs for each brace alternative in the buffer using + GLOB_APPEND. */ + + if (!(flags & GLOB_APPEND)) + { + /* This call is to set a new vector, so clear out the + vector so we can append to it. */ + pglob->gl_pathc = 0; + pglob->gl_pathv = NULL; + } + firstc = pglob->gl_pathc; + + p = begin + 1; + while (1) + { + int result; + + /* Construct the new glob expression. */ +#ifdef HAVE_MEMPCPY + mempcpy (mempcpy (alt_start, p, next - p), rest, rest_len); +#else + memcpy (alt_start, p, next - p); + memcpy (&alt_start[next - p], rest, rest_len); +#endif + + result = glob (onealt, + ((flags & ~(GLOB_NOCHECK|GLOB_NOMAGIC)) + | GLOB_APPEND), errfunc, pglob); + + /* If we got an error, return it. */ + if (result && result != GLOB_NOMATCH) + { +#ifndef __GNUC__ + free (onealt); +#endif + if (!(flags & GLOB_APPEND)) + globfree (pglob); + return result; + } + + if (*next == '}') + /* We saw the last entry. */ + break; + + p = next + 1; + next = next_brace_sub (p); + assert (next != NULL); + } + +#ifndef __GNUC__ + free (onealt); +#endif + + if (pglob->gl_pathc != firstc) + /* We found some entries. */ + return 0; + else if (!(flags & (GLOB_NOCHECK|GLOB_NOMAGIC))) + return GLOB_NOMATCH; + } + } + + /* Find the filename. */ + filename = strrchr (pattern, '/'); +#if defined __MSDOS__ || defined WINDOWS32 + /* The case of "d:pattern". Since `:' is not allowed in + file names, we can safely assume that wherever it + happens in pattern, it signals the filename part. This + is so we could some day support patterns like "[a-z]:foo". */ + if (filename == NULL) + filename = strchr (pattern, ':'); +#endif /* __MSDOS__ || WINDOWS32 */ + if (filename == NULL) + { + /* This can mean two things: a simple name or "~name". The later + case is nothing but a notation for a directory. */ + if ((flags & (GLOB_TILDE|GLOB_TILDE_CHECK)) && pattern[0] == '~') + { + dirname = pattern; + dirlen = strlen (pattern); + + /* Set FILENAME to NULL as a special flag. This is ugly but + other solutions would require much more code. We test for + this special case below. */ + filename = NULL; + } + else + { + filename = pattern; +#ifdef _AMIGA + dirname = ""; +#else + dirname = "."; +#endif + dirlen = 0; + } + } + else if (filename == pattern) + { + /* "/pattern". */ + dirname = "/"; + dirlen = 1; + ++filename; + } + else + { + char *newp; + dirlen = filename - pattern; +#if defined __MSDOS__ || defined WINDOWS32 + if (*filename == ':' + || (filename > pattern + 1 && filename[-1] == ':')) + { + char *drive_spec; + + ++dirlen; + drive_spec = (char *) __alloca (dirlen + 1); +#ifdef HAVE_MEMPCPY + *((char *) mempcpy (drive_spec, pattern, dirlen)) = '\0'; +#else + memcpy (drive_spec, pattern, dirlen); + drive_spec[dirlen] = '\0'; +#endif + /* For now, disallow wildcards in the drive spec, to + prevent infinite recursion in glob. */ + if (__glob_pattern_p (drive_spec, !(flags & GLOB_NOESCAPE))) + return GLOB_NOMATCH; + /* If this is "d:pattern", we need to copy `:' to DIRNAME + as well. If it's "d:/pattern", don't remove the slash + from "d:/", since "d:" and "d:/" are not the same.*/ + } +#endif + newp = (char *) __alloca (dirlen + 1); +#ifdef HAVE_MEMPCPY + *((char *) mempcpy (newp, pattern, dirlen)) = '\0'; +#else + memcpy (newp, pattern, dirlen); + newp[dirlen] = '\0'; +#endif + dirname = newp; + ++filename; + + if (filename[0] == '\0' +#if defined __MSDOS__ || defined WINDOWS32 + && dirname[dirlen - 1] != ':' + && (dirlen < 3 || dirname[dirlen - 2] != ':' + || dirname[dirlen - 1] != '/') +#endif + && dirlen > 1) + /* "pattern/". Expand "pattern", appending slashes. */ + { + int val = glob (dirname, flags | GLOB_MARK, errfunc, pglob); + if (val == 0) + pglob->gl_flags = ((pglob->gl_flags & ~GLOB_MARK) + | (flags & GLOB_MARK)); + return val; + } + } + + if (!(flags & GLOB_APPEND)) + { + pglob->gl_pathc = 0; + pglob->gl_pathv = NULL; + } + + oldcount = pglob->gl_pathc; + +#ifndef VMS + if ((flags & (GLOB_TILDE|GLOB_TILDE_CHECK)) && dirname[0] == '~') + { + if (dirname[1] == '\0' || dirname[1] == '/') + { + /* Look up home directory. */ +#ifdef VMS +/* This isn't obvious, RTLs of DECC and VAXC know about "HOME" */ + const char *home_dir = getenv ("SYS$LOGIN"); +#else + const char *home_dir = getenv ("HOME"); +#endif +# ifdef _AMIGA + if (home_dir == NULL || home_dir[0] == '\0') + home_dir = "SYS:"; +# else +# ifdef WINDOWS32 + if (home_dir == NULL || home_dir[0] == '\0') + home_dir = "c:/users/default"; /* poor default */ +# else +# ifdef VMS +/* Again, this isn't obvious, if "HOME" isn't known "SYS$LOGIN" should be set */ + if (home_dir == NULL || home_dir[0] == '\0') + home_dir = "SYS$DISK:[]"; +# else + if (home_dir == NULL || home_dir[0] == '\0') + { + int success; + char *name; +# if defined HAVE_GETLOGIN_R || defined _LIBC + size_t buflen = sysconf (_SC_LOGIN_NAME_MAX) + 1; + + if (buflen == 0) + /* `sysconf' does not support _SC_LOGIN_NAME_MAX. Try + a moderate value. */ + buflen = 20; + name = (char *) __alloca (buflen); + + success = getlogin_r (name, buflen) >= 0; +# else + success = (name = getlogin ()) != NULL; +# endif + if (success) + { + struct passwd *p; +# if defined HAVE_GETPWNAM_R || defined _LIBC + size_t pwbuflen = sysconf (_SC_GETPW_R_SIZE_MAX); + char *pwtmpbuf; + struct passwd pwbuf; + int save = errno; + + if (pwbuflen == -1) + /* `sysconf' does not support _SC_GETPW_R_SIZE_MAX. + Try a moderate value. */ + pwbuflen = 1024; + pwtmpbuf = (char *) __alloca (pwbuflen); + + while (getpwnam_r (name, &pwbuf, pwtmpbuf, pwbuflen, &p) + != 0) + { + if (errno != ERANGE) + { + p = NULL; + break; + } + pwbuflen *= 2; + pwtmpbuf = (char *) __alloca (pwbuflen); + __set_errno (save); + } +# else + p = getpwnam (name); +# endif + if (p != NULL) + home_dir = p->pw_dir; + } + } + if (home_dir == NULL || home_dir[0] == '\0') + { + if (flags & GLOB_TILDE_CHECK) + return GLOB_NOMATCH; + else + home_dir = "~"; /* No luck. */ + } +# endif /* VMS */ +# endif /* WINDOWS32 */ +# endif + /* Now construct the full directory. */ + if (dirname[1] == '\0') + dirname = home_dir; + else + { + char *newp; + size_t home_len = strlen (home_dir); + newp = (char *) __alloca (home_len + dirlen); +# ifdef HAVE_MEMPCPY + mempcpy (mempcpy (newp, home_dir, home_len), + &dirname[1], dirlen); +# else + memcpy (newp, home_dir, home_len); + memcpy (&newp[home_len], &dirname[1], dirlen); +# endif + dirname = newp; + } + } +# if !defined _AMIGA && !defined WINDOWS32 && !defined VMS + else + { + char *end_name = strchr (dirname, '/'); + const char *user_name; + const char *home_dir; + + if (end_name == NULL) + user_name = dirname + 1; + else + { + char *newp; + newp = (char *) __alloca (end_name - dirname); +# ifdef HAVE_MEMPCPY + *((char *) mempcpy (newp, dirname + 1, end_name - dirname)) + = '\0'; +# else + memcpy (newp, dirname + 1, end_name - dirname); + newp[end_name - dirname - 1] = '\0'; +# endif + user_name = newp; + } + + /* Look up specific user's home directory. */ + { + struct passwd *p; +# if defined HAVE_GETPWNAM_R || defined _LIBC + size_t buflen = sysconf (_SC_GETPW_R_SIZE_MAX); + char *pwtmpbuf; + struct passwd pwbuf; + int save = errno; + + if (buflen == -1) + /* `sysconf' does not support _SC_GETPW_R_SIZE_MAX. Try a + moderate value. */ + buflen = 1024; + pwtmpbuf = (char *) __alloca (buflen); + + while (getpwnam_r (user_name, &pwbuf, pwtmpbuf, buflen, &p) != 0) + { + if (errno != ERANGE) + { + p = NULL; + break; + } + buflen *= 2; + pwtmpbuf = __alloca (buflen); + __set_errno (save); + } +# else + p = getpwnam (user_name); +# endif + if (p != NULL) + home_dir = p->pw_dir; + else + home_dir = NULL; + } + /* If we found a home directory use this. */ + if (home_dir != NULL) + { + char *newp; + size_t home_len = strlen (home_dir); + size_t rest_len = end_name == NULL ? 0 : strlen (end_name); + newp = (char *) __alloca (home_len + rest_len + 1); +# ifdef HAVE_MEMPCPY + *((char *) mempcpy (mempcpy (newp, home_dir, home_len), + end_name, rest_len)) = '\0'; +# else + memcpy (newp, home_dir, home_len); + memcpy (&newp[home_len], end_name, rest_len); + newp[home_len + rest_len] = '\0'; +# endif + dirname = newp; + } + else + if (flags & GLOB_TILDE_CHECK) + /* We have to regard it as an error if we cannot find the + home directory. */ + return GLOB_NOMATCH; + } +# endif /* Not Amiga && not WINDOWS32 && not VMS. */ + } +#endif /* Not VMS. */ + + /* Now test whether we looked for "~" or "~NAME". In this case we + can give the answer now. */ + if (filename == NULL) + { + struct stat st; + + /* Return the directory if we don't check for error or if it exists. */ + if ((flags & GLOB_NOCHECK) + || (((flags & GLOB_ALTDIRFUNC) + ? (*pglob->gl_stat) (dirname, &st) + : __stat (dirname, &st)) == 0 + && S_ISDIR (st.st_mode))) + { + pglob->gl_pathv + = (char **) realloc (pglob->gl_pathv, + (pglob->gl_pathc + + ((flags & GLOB_DOOFFS) ? + pglob->gl_offs : 0) + + 1 + 1) * + sizeof (char *)); + if (pglob->gl_pathv == NULL) + return GLOB_NOSPACE; + + if (flags & GLOB_DOOFFS) + while (pglob->gl_pathc < pglob->gl_offs) + pglob->gl_pathv[pglob->gl_pathc++] = NULL; + +#if defined HAVE_STRDUP || defined _LIBC + pglob->gl_pathv[pglob->gl_pathc] = strdup (dirname); +#else + { + size_t len = strlen (dirname) + 1; + char *dircopy = malloc (len); + if (dircopy != NULL) + pglob->gl_pathv[pglob->gl_pathc] = memcpy (dircopy, dirname, + len); + } +#endif + if (pglob->gl_pathv[pglob->gl_pathc] == NULL) + { + free (pglob->gl_pathv); + return GLOB_NOSPACE; + } + pglob->gl_pathv[++pglob->gl_pathc] = NULL; + pglob->gl_flags = flags; + + return 0; + } + + /* Not found. */ + return GLOB_NOMATCH; + } + + if (__glob_pattern_p (dirname, !(flags & GLOB_NOESCAPE))) + { + /* The directory name contains metacharacters, so we + have to glob for the directory, and then glob for + the pattern in each directory found. */ + glob_t dirs; + register int i; + + status = glob (dirname, + ((flags & (GLOB_ERR | GLOB_NOCHECK | GLOB_NOESCAPE)) + | GLOB_NOSORT | GLOB_ONLYDIR), + errfunc, &dirs); + if (status != 0) + return status; + + /* We have successfully globbed the preceding directory name. + For each name we found, call glob_in_dir on it and FILENAME, + appending the results to PGLOB. */ + for (i = 0; i < dirs.gl_pathc; ++i) + { + int old_pathc; + +#ifdef SHELL + { + /* Make globbing interruptible in the bash shell. */ + extern int interrupt_state; + + if (interrupt_state) + { + globfree (&dirs); + globfree (&files); + return GLOB_ABORTED; + } + } +#endif /* SHELL. */ + + old_pathc = pglob->gl_pathc; + status = glob_in_dir (filename, dirs.gl_pathv[i], + ((flags | GLOB_APPEND) + & ~(GLOB_NOCHECK | GLOB_ERR)), + errfunc, pglob); + if (status == GLOB_NOMATCH) + /* No matches in this directory. Try the next. */ + continue; + + if (status != 0) + { + globfree (&dirs); + globfree (pglob); + return status; + } + + /* Stick the directory on the front of each name. */ + if (prefix_array (dirs.gl_pathv[i], + &pglob->gl_pathv[old_pathc], + pglob->gl_pathc - old_pathc)) + { + globfree (&dirs); + globfree (pglob); + return GLOB_NOSPACE; + } + } + + flags |= GLOB_MAGCHAR; + + /* We have ignored the GLOB_NOCHECK flag in the `glob_in_dir' calls. + But if we have not found any matching entry and thie GLOB_NOCHECK + flag was set we must return the list consisting of the disrectory + names followed by the filename. */ + if (pglob->gl_pathc == oldcount) + { + /* No matches. */ + if (flags & GLOB_NOCHECK) + { + size_t filename_len = strlen (filename) + 1; + char **new_pathv; + struct stat st; + + /* This is an pessimistic guess about the size. */ + pglob->gl_pathv + = (char **) realloc (pglob->gl_pathv, + (pglob->gl_pathc + + ((flags & GLOB_DOOFFS) ? + pglob->gl_offs : 0) + + dirs.gl_pathc + 1) * + sizeof (char *)); + if (pglob->gl_pathv == NULL) + { + globfree (&dirs); + return GLOB_NOSPACE; + } + + if (flags & GLOB_DOOFFS) + while (pglob->gl_pathc < pglob->gl_offs) + pglob->gl_pathv[pglob->gl_pathc++] = NULL; + + for (i = 0; i < dirs.gl_pathc; ++i) + { + const char *dir = dirs.gl_pathv[i]; + size_t dir_len = strlen (dir); + + /* First check whether this really is a directory. */ + if (((flags & GLOB_ALTDIRFUNC) + ? (*pglob->gl_stat) (dir, &st) : __stat (dir, &st)) != 0 + || !S_ISDIR (st.st_mode)) + /* No directory, ignore this entry. */ + continue; + + pglob->gl_pathv[pglob->gl_pathc] = malloc (dir_len + 1 + + filename_len); + if (pglob->gl_pathv[pglob->gl_pathc] == NULL) + { + globfree (&dirs); + globfree (pglob); + return GLOB_NOSPACE; + } + +#ifdef HAVE_MEMPCPY + mempcpy (mempcpy (mempcpy (pglob->gl_pathv[pglob->gl_pathc], + dir, dir_len), + "/", 1), + filename, filename_len); +#else + memcpy (pglob->gl_pathv[pglob->gl_pathc], dir, dir_len); + pglob->gl_pathv[pglob->gl_pathc][dir_len] = '/'; + memcpy (&pglob->gl_pathv[pglob->gl_pathc][dir_len + 1], + filename, filename_len); +#endif + ++pglob->gl_pathc; + } + + pglob->gl_pathv[pglob->gl_pathc] = NULL; + pglob->gl_flags = flags; + + /* Now we know how large the gl_pathv vector must be. */ + new_pathv = (char **) realloc (pglob->gl_pathv, + ((pglob->gl_pathc + 1) + * sizeof (char *))); + if (new_pathv != NULL) + pglob->gl_pathv = new_pathv; + } + else + return GLOB_NOMATCH; + } + + globfree (&dirs); + } + else + { + status = glob_in_dir (filename, dirname, flags, errfunc, pglob); + if (status != 0) + return status; + + if (dirlen > 0) + { + /* Stick the directory on the front of each name. */ + int ignore = oldcount; + + if ((flags & GLOB_DOOFFS) && ignore < pglob->gl_offs) + ignore = pglob->gl_offs; + + if (prefix_array (dirname, + &pglob->gl_pathv[ignore], + pglob->gl_pathc - ignore)) + { + globfree (pglob); + return GLOB_NOSPACE; + } + } + } + + if (flags & GLOB_MARK) + { + /* Append slashes to directory names. */ + int i; + struct stat st; + for (i = oldcount; i < pglob->gl_pathc; ++i) + if (((flags & GLOB_ALTDIRFUNC) + ? (*pglob->gl_stat) (pglob->gl_pathv[i], &st) + : __stat (pglob->gl_pathv[i], &st)) == 0 + && S_ISDIR (st.st_mode)) + { + size_t len = strlen (pglob->gl_pathv[i]) + 2; + char *new = realloc (pglob->gl_pathv[i], len); + if (new == NULL) + { + globfree (pglob); + return GLOB_NOSPACE; + } + strcpy (&new[len - 2], "/"); + pglob->gl_pathv[i] = new; + } + } + + if (!(flags & GLOB_NOSORT)) + { + /* Sort the vector. */ + int non_sort = oldcount; + + if ((flags & GLOB_DOOFFS) && pglob->gl_offs > oldcount) + non_sort = pglob->gl_offs; + + qsort ((__ptr_t) &pglob->gl_pathv[non_sort], + pglob->gl_pathc - non_sort, + sizeof (char *), collated_compare); + } + + return 0; +} + + +/* Free storage allocated in PGLOB by a previous `glob' call. */ +void +globfree (pglob) + register glob_t *pglob; +{ + if (pglob->gl_pathv != NULL) + { + register int i; + for (i = 0; i < pglob->gl_pathc; ++i) + if (pglob->gl_pathv[i] != NULL) + free ((__ptr_t) pglob->gl_pathv[i]); + free ((__ptr_t) pglob->gl_pathv); + } +} + + +/* Do a collated comparison of A and B. */ +static int +collated_compare (a, b) + const __ptr_t a; + const __ptr_t b; +{ + const char *const s1 = *(const char *const * const) a; + const char *const s2 = *(const char *const * const) b; + + if (s1 == s2) + return 0; + if (s1 == NULL) + return 1; + if (s2 == NULL) + return -1; + return strcoll (s1, s2); +} + + +/* Prepend DIRNAME to each of N members of ARRAY, replacing ARRAY's + elements in place. Return nonzero if out of memory, zero if successful. + A slash is inserted between DIRNAME and each elt of ARRAY, + unless DIRNAME is just "/". Each old element of ARRAY is freed. */ +static int +prefix_array (dirname, array, n) + const char *dirname; + char **array; + size_t n; +{ + register size_t i; + size_t dirlen = strlen (dirname); +#if defined __MSDOS__ || defined WINDOWS32 + int sep_char = '/'; +# define DIRSEP_CHAR sep_char +#else +# define DIRSEP_CHAR '/' +#endif + + if (dirlen == 1 && dirname[0] == '/') + /* DIRNAME is just "/", so normal prepending would get us "//foo". + We want "/foo" instead, so don't prepend any chars from DIRNAME. */ + dirlen = 0; +#if defined __MSDOS__ || defined WINDOWS32 + else if (dirlen > 1) + { + if (dirname[dirlen - 1] == '/' && dirname[dirlen - 2] == ':') + /* DIRNAME is "d:/". Don't prepend the slash from DIRNAME. */ + --dirlen; + else if (dirname[dirlen - 1] == ':') + { + /* DIRNAME is "d:". Use `:' instead of `/'. */ + --dirlen; + sep_char = ':'; + } + } +#endif + + for (i = 0; i < n; ++i) + { + size_t eltlen = strlen (array[i]) + 1; + char *new = (char *) malloc (dirlen + 1 + eltlen); + if (new == NULL) + { + while (i > 0) + free ((__ptr_t) array[--i]); + return 1; + } + +#ifdef HAVE_MEMPCPY + { + char *endp = (char *) mempcpy (new, dirname, dirlen); + *endp++ = DIRSEP_CHAR; + mempcpy (endp, array[i], eltlen); + } +#else + memcpy (new, dirname, dirlen); + new[dirlen] = DIRSEP_CHAR; + memcpy (&new[dirlen + 1], array[i], eltlen); +#endif + free ((__ptr_t) array[i]); + array[i] = new; + } + + return 0; +} + + +/* We must not compile this function twice. */ +#if !defined _LIBC || !defined NO_GLOB_PATTERN_P +/* Return nonzero if PATTERN contains any metacharacters. + Metacharacters can be quoted with backslashes if QUOTE is nonzero. */ +int +__glob_pattern_p (pattern, quote) + const char *pattern; + int quote; +{ + register const char *p; + int open = 0; + + for (p = pattern; *p != '\0'; ++p) + switch (*p) + { + case '?': + case '*': + return 1; + + case '\\': + if (quote && p[1] != '\0') + ++p; + break; + + case '[': + open = 1; + break; + + case ']': + if (open) + return 1; + break; + } + + return 0; +} +# ifdef _LIBC +weak_alias (__glob_pattern_p, glob_pattern_p) +# endif +#endif + + +/* Like `glob', but PATTERN is a final pathname component, + and matches are searched for in DIRECTORY. + The GLOB_NOSORT bit in FLAGS is ignored. No sorting is ever done. + The GLOB_APPEND flag is assumed to be set (always appends). */ +static int +glob_in_dir (pattern, directory, flags, errfunc, pglob) + const char *pattern; + const char *directory; + int flags; + int (*errfunc) __P ((const char *, int)); + glob_t *pglob; +{ + __ptr_t stream = NULL; + + struct globlink + { + struct globlink *next; + char *name; + }; + struct globlink *names = NULL; + size_t nfound; + int meta; + int save; + +#ifdef VMS + if (*directory == 0) + directory = "[]"; +#endif + meta = __glob_pattern_p (pattern, !(flags & GLOB_NOESCAPE)); + if (meta == 0) + { + if (flags & (GLOB_NOCHECK|GLOB_NOMAGIC)) + /* We need not do any tests. The PATTERN contains no meta + characters and we must not return an error therefore the + result will always contain exactly one name. */ + flags |= GLOB_NOCHECK; + else + { + /* Since we use the normal file functions we can also use stat() + to verify the file is there. */ + struct stat st; + size_t patlen = strlen (pattern); + size_t dirlen = strlen (directory); + char *fullname = (char *) __alloca (dirlen + 1 + patlen + 1); + +# ifdef HAVE_MEMPCPY + mempcpy (mempcpy (mempcpy (fullname, directory, dirlen), + "/", 1), + pattern, patlen + 1); +# else + memcpy (fullname, directory, dirlen); + fullname[dirlen] = '/'; + memcpy (&fullname[dirlen + 1], pattern, patlen + 1); +# endif + if (((flags & GLOB_ALTDIRFUNC) + ? (*pglob->gl_stat) (fullname, &st) + : __stat (fullname, &st)) == 0) + /* We found this file to be existing. Now tell the rest + of the function to copy this name into the result. */ + flags |= GLOB_NOCHECK; + } + + nfound = 0; + } + else + { + if (pattern[0] == '\0') + { + /* This is a special case for matching directories like in + "*a/". */ + names = (struct globlink *) __alloca (sizeof (struct globlink)); + names->name = (char *) malloc (1); + if (names->name == NULL) + goto memory_error; + names->name[0] = '\0'; + names->next = NULL; + nfound = 1; + meta = 0; + } + else + { + stream = ((flags & GLOB_ALTDIRFUNC) + ? (*pglob->gl_opendir) (directory) + : (__ptr_t) opendir (directory)); + if (stream == NULL) + { + if (errno != ENOTDIR + && ((errfunc != NULL && (*errfunc) (directory, errno)) + || (flags & GLOB_ERR))) + return GLOB_ABORTED; + nfound = 0; + meta = 0; + } + else + { + int fnm_flags = ((!(flags & GLOB_PERIOD) ? FNM_PERIOD : 0) + | ((flags & GLOB_NOESCAPE) ? FNM_NOESCAPE : 0) +#if defined _AMIGA || defined VMS + | FNM_CASEFOLD +#endif + ); + nfound = 0; + flags |= GLOB_MAGCHAR; + + while (1) + { + const char *name; + size_t len; + struct dirent *d = ((flags & GLOB_ALTDIRFUNC) + ? (*pglob->gl_readdir) (stream) + : readdir ((DIR *) stream)); + if (d == NULL) + break; + if (! REAL_DIR_ENTRY (d)) + continue; + +#ifdef HAVE_D_TYPE + /* If we shall match only directories use the information + provided by the dirent call if possible. */ + if ((flags & GLOB_ONLYDIR) + && d->d_type != DT_UNKNOWN && d->d_type != DT_DIR) + continue; +#endif + + name = d->d_name; + + if (fnmatch (pattern, name, fnm_flags) == 0) + { + struct globlink *new = (struct globlink *) + __alloca (sizeof (struct globlink)); + len = NAMLEN (d); + new->name = (char *) malloc (len + 1); + if (new->name == NULL) + goto memory_error; +#ifdef HAVE_MEMPCPY + *((char *) mempcpy ((__ptr_t) new->name, name, len)) + = '\0'; +#else + memcpy ((__ptr_t) new->name, name, len); + new->name[len] = '\0'; +#endif + new->next = names; + names = new; + ++nfound; + } + } + } + } + } + + if (nfound == 0 && (flags & GLOB_NOCHECK)) + { + size_t len = strlen (pattern); + nfound = 1; + names = (struct globlink *) __alloca (sizeof (struct globlink)); + names->next = NULL; + names->name = (char *) malloc (len + 1); + if (names->name == NULL) + goto memory_error; +#ifdef HAVE_MEMPCPY + *((char *) mempcpy (names->name, pattern, len)) = '\0'; +#else + memcpy (names->name, pattern, len); + names->name[len] = '\0'; +#endif + } + + if (nfound != 0) + { + pglob->gl_pathv + = (char **) realloc (pglob->gl_pathv, + (pglob->gl_pathc + + ((flags & GLOB_DOOFFS) ? pglob->gl_offs : 0) + + nfound + 1) * + sizeof (char *)); + if (pglob->gl_pathv == NULL) + goto memory_error; + + if (flags & GLOB_DOOFFS) + while (pglob->gl_pathc < pglob->gl_offs) + pglob->gl_pathv[pglob->gl_pathc++] = NULL; + + for (; names != NULL; names = names->next) + pglob->gl_pathv[pglob->gl_pathc++] = names->name; + pglob->gl_pathv[pglob->gl_pathc] = NULL; + + pglob->gl_flags = flags; + } + + save = errno; + if (stream != NULL) + { + if (flags & GLOB_ALTDIRFUNC) + (*pglob->gl_closedir) (stream); + else + closedir ((DIR *) stream); + } + __set_errno (save); + + return nfound == 0 ? GLOB_NOMATCH : 0; + + memory_error: + { + int save = errno; + if (flags & GLOB_ALTDIRFUNC) + (*pglob->gl_closedir) (stream); + else + closedir ((DIR *) stream); + __set_errno (save); + } + while (names != NULL) + { + if (names->name != NULL) + free ((__ptr_t) names->name); + names = names->next; + } + return GLOB_NOSPACE; +} + +#endif /* Not ELIDE_CODE. */ diff --git a/src/mkutil/make/glob/glob.h b/src/mkutil/make/glob/glob.h index ca523f7a..52355f2f 100644 --- a/src/mkutil/make/glob/glob.h +++ b/src/mkutil/make/glob/glob.h @@ -1,209 +1,209 @@ -/* Copyright (C) 1991, 92, 95, 96, 97, 98 Free Software Foundation, Inc. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#ifndef _GLOB_H -#define _GLOB_H 1 - -#ifdef __cplusplus -extern "C" { -#endif - -#undef __ptr_t -#if defined __cplusplus || (defined __STDC__ && __STDC__) || defined WINDOWS32 -# if !defined __GLIBC__ || !defined __P -# undef __P -# undef __PMT -# define __P(protos) protos -# define __PMT(protos) protos -# if !defined __GNUC__ || __GNUC__ < 2 -# undef __const -# define __const const -# endif -# endif -# define __ptr_t void * -#else /* Not C++ or ANSI C. */ -# undef __P -# undef __PMT -# define __P(protos) () -# define __PMT(protos) () -# undef __const -# define __const -# define __ptr_t char * -#endif /* C++ or ANSI C. */ - -/* We need `size_t' for the following definitions. */ -#ifndef __size_t -# if defined __FreeBSD__ -# define __size_t size_t -# else -# if defined __GNUC__ && __GNUC__ >= 2 -typedef __SIZE_TYPE__ __size_t; -# else -/* This is a guess. */ -/*hb - * Conflicts with DECCs aready defined type __size_t. - * Defining an own type with a name beginning with '__' is no good. - * Anyway if DECC is used and __SIZE_T is defined then __size_t is - * already defined (and I hope it's exactly the one we need here). - */ -# if !(defined __DECC && defined __SIZE_T) -typedef unsigned long int __size_t; -# endif -# endif -# endif -#else -/* The GNU CC stddef.h version defines __size_t as empty. We need a real - definition. */ -# undef __size_t -# define __size_t size_t -#endif - -/* Bits set in the FLAGS argument to `glob'. */ -#define GLOB_ERR (1 << 0)/* Return on read errors. */ -#define GLOB_MARK (1 << 1)/* Append a slash to each name. */ -#define GLOB_NOSORT (1 << 2)/* Don't sort the names. */ -#define GLOB_DOOFFS (1 << 3)/* Insert PGLOB->gl_offs NULLs. */ -#define GLOB_NOCHECK (1 << 4)/* If nothing matches, return the pattern. */ -#define GLOB_APPEND (1 << 5)/* Append to results of a previous call. */ -#define GLOB_NOESCAPE (1 << 6)/* Backslashes don't quote metacharacters. */ -#define GLOB_PERIOD (1 << 7)/* Leading `.' can be matched by metachars. */ - -#if (!defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _BSD_SOURCE \ - || defined _GNU_SOURCE) -# define GLOB_MAGCHAR (1 << 8)/* Set in gl_flags if any metachars seen. */ -# define GLOB_ALTDIRFUNC (1 << 9)/* Use gl_opendir et al functions. */ -# define GLOB_BRACE (1 << 10)/* Expand "{a,b}" to "a" "b". */ -# define GLOB_NOMAGIC (1 << 11)/* If no magic chars, return the pattern. */ -# define GLOB_TILDE (1 << 12)/* Expand ~user and ~ to home directories. */ -# define GLOB_ONLYDIR (1 << 13)/* Match only directories. */ -# define GLOB_TILDE_CHECK (1 << 14)/* Like GLOB_TILDE but return an error - if the user name is not available. */ -# define __GLOB_FLAGS (GLOB_ERR|GLOB_MARK|GLOB_NOSORT|GLOB_DOOFFS| \ - GLOB_NOESCAPE|GLOB_NOCHECK|GLOB_APPEND| \ - GLOB_PERIOD|GLOB_ALTDIRFUNC|GLOB_BRACE| \ - GLOB_NOMAGIC|GLOB_TILDE|GLOB_ONLYDIR|GLOB_TILDE_CHECK) -#else -# define __GLOB_FLAGS (GLOB_ERR|GLOB_MARK|GLOB_NOSORT|GLOB_DOOFFS| \ - GLOB_NOESCAPE|GLOB_NOCHECK|GLOB_APPEND| \ - GLOB_PERIOD) -#endif - -/* Error returns from `glob'. */ -#define GLOB_NOSPACE 1 /* Ran out of memory. */ -#define GLOB_ABORTED 2 /* Read error. */ -#define GLOB_NOMATCH 3 /* No matches found. */ -#define GLOB_NOSYS 4 /* Not implemented. */ -#ifdef _GNU_SOURCE -/* Previous versions of this file defined GLOB_ABEND instead of - GLOB_ABORTED. Provide a compatibility definition here. */ -# define GLOB_ABEND GLOB_ABORTED -#endif - -/* Structure describing a globbing run. */ -#if !defined _AMIGA && !defined VMS /* Buggy compiler. */ -struct stat; -#endif -typedef struct - { - __size_t gl_pathc; /* Count of paths matched by the pattern. */ - char **gl_pathv; /* List of matched pathnames. */ - __size_t gl_offs; /* Slots to reserve in `gl_pathv'. */ - int gl_flags; /* Set to FLAGS, maybe | GLOB_MAGCHAR. */ - - /* If the GLOB_ALTDIRFUNC flag is set, the following functions - are used instead of the normal file access functions. */ - void (*gl_closedir) __PMT ((void *)); - struct dirent *(*gl_readdir) __PMT ((void *)); - __ptr_t (*gl_opendir) __PMT ((__const char *)); - int (*gl_lstat) __PMT ((__const char *, struct stat *)); -#if defined(VMS) && defined(__DECC) && !defined(_POSIX_C_SOURCE) - int (*gl_stat) __PMT ((__const char *, struct stat *, ...)); -#else - int (*gl_stat) __PMT ((__const char *, struct stat *)); -#endif - } glob_t; - -#ifdef _LARGEFILE64_SOURCE -struct stat64; -typedef struct - { - __size_t gl_pathc; - char **gl_pathv; - __size_t gl_offs; - int gl_flags; - - /* If the GLOB_ALTDIRFUNC flag is set, the following functions - are used instead of the normal file access functions. */ - void (*gl_closedir) __PMT ((void *)); - struct dirent64 *(*gl_readdir) __PMT ((void *)); - __ptr_t (*gl_opendir) __PMT ((__const char *)); - int (*gl_lstat) __PMT ((__const char *, struct stat64 *)); - int (*gl_stat) __PMT ((__const char *, struct stat64 *)); - } glob64_t; -#endif - -#if _FILE_OFFSET_BITS == 64 && __GNUC__ < 2 -# define glob glob64 -# define globfree globfree64 -#else -# ifdef _LARGEFILE64_SOURCE -extern int glob64 __P ((__const char *__pattern, int __flags, - int (*__errfunc) (__const char *, int), - glob64_t *__pglob)); - -extern void globfree64 __P ((glob64_t *__pglob)); -# endif -#endif - -/* Do glob searching for PATTERN, placing results in PGLOB. - The bits defined above may be set in FLAGS. - If a directory cannot be opened or read and ERRFUNC is not nil, - it is called with the pathname that caused the error, and the - `errno' value from the failing call; if it returns non-zero - `glob' returns GLOB_ABEND; if it returns zero, the error is ignored. - If memory cannot be allocated for PGLOB, GLOB_NOSPACE is returned. - Otherwise, `glob' returns zero. */ -#if _FILE_OFFSET_BITS != 64 || __GNUC__ < 2 -extern int glob __P ((__const char *__pattern, int __flags, - int (*__errfunc) (__const char *, int), - glob_t *__pglob)); - -/* Free storage allocated in PGLOB by a previous `glob' call. */ -extern void globfree __P ((glob_t *__pglob)); -#else -extern int glob __P ((__const char *__pattern, int __flags, - int (*__errfunc) (__const char *, int), - glob_t *__pglob)) __asm__ ("glob64"); - -extern void globfree __P ((glob_t *__pglob)) __asm__ ("globfree64"); -#endif - - -#ifdef _GNU_SOURCE -/* Return nonzero if PATTERN contains any metacharacters. - Metacharacters can be quoted with backslashes if QUOTE is nonzero. - - This function is not part of the interface specified by POSIX.2 - but several programs want to use it. */ -extern int glob_pattern_p __P ((__const char *__pattern, int __quote)); -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* glob.h */ +/* Copyright (C) 1991, 92, 95, 96, 97, 98 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _GLOB_H +#define _GLOB_H 1 + +#ifdef __cplusplus +extern "C" { +#endif + +#undef __ptr_t +#if defined __cplusplus || (defined __STDC__ && __STDC__) || defined WINDOWS32 +# if !defined __GLIBC__ || !defined __P +# undef __P +# undef __PMT +# define __P(protos) protos +# define __PMT(protos) protos +# if !defined __GNUC__ || __GNUC__ < 2 +# undef __const +# define __const const +# endif +# endif +# define __ptr_t void * +#else /* Not C++ or ANSI C. */ +# undef __P +# undef __PMT +# define __P(protos) () +# define __PMT(protos) () +# undef __const +# define __const +# define __ptr_t char * +#endif /* C++ or ANSI C. */ + +/* We need `size_t' for the following definitions. */ +#ifndef __size_t +# if defined __FreeBSD__ +# define __size_t size_t +# else +# if defined __GNUC__ && __GNUC__ >= 2 +typedef __SIZE_TYPE__ __size_t; +# else +/* This is a guess. */ +/*hb + * Conflicts with DECCs aready defined type __size_t. + * Defining an own type with a name beginning with '__' is no good. + * Anyway if DECC is used and __SIZE_T is defined then __size_t is + * already defined (and I hope it's exactly the one we need here). + */ +# if !(defined __DECC && defined __SIZE_T) +typedef unsigned long int __size_t; +# endif +# endif +# endif +#else +/* The GNU CC stddef.h version defines __size_t as empty. We need a real + definition. */ +# undef __size_t +# define __size_t size_t +#endif + +/* Bits set in the FLAGS argument to `glob'. */ +#define GLOB_ERR (1 << 0)/* Return on read errors. */ +#define GLOB_MARK (1 << 1)/* Append a slash to each name. */ +#define GLOB_NOSORT (1 << 2)/* Don't sort the names. */ +#define GLOB_DOOFFS (1 << 3)/* Insert PGLOB->gl_offs NULLs. */ +#define GLOB_NOCHECK (1 << 4)/* If nothing matches, return the pattern. */ +#define GLOB_APPEND (1 << 5)/* Append to results of a previous call. */ +#define GLOB_NOESCAPE (1 << 6)/* Backslashes don't quote metacharacters. */ +#define GLOB_PERIOD (1 << 7)/* Leading `.' can be matched by metachars. */ + +#if (!defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _BSD_SOURCE \ + || defined _GNU_SOURCE) +# define GLOB_MAGCHAR (1 << 8)/* Set in gl_flags if any metachars seen. */ +# define GLOB_ALTDIRFUNC (1 << 9)/* Use gl_opendir et al functions. */ +# define GLOB_BRACE (1 << 10)/* Expand "{a,b}" to "a" "b". */ +# define GLOB_NOMAGIC (1 << 11)/* If no magic chars, return the pattern. */ +# define GLOB_TILDE (1 << 12)/* Expand ~user and ~ to home directories. */ +# define GLOB_ONLYDIR (1 << 13)/* Match only directories. */ +# define GLOB_TILDE_CHECK (1 << 14)/* Like GLOB_TILDE but return an error + if the user name is not available. */ +# define __GLOB_FLAGS (GLOB_ERR|GLOB_MARK|GLOB_NOSORT|GLOB_DOOFFS| \ + GLOB_NOESCAPE|GLOB_NOCHECK|GLOB_APPEND| \ + GLOB_PERIOD|GLOB_ALTDIRFUNC|GLOB_BRACE| \ + GLOB_NOMAGIC|GLOB_TILDE|GLOB_ONLYDIR|GLOB_TILDE_CHECK) +#else +# define __GLOB_FLAGS (GLOB_ERR|GLOB_MARK|GLOB_NOSORT|GLOB_DOOFFS| \ + GLOB_NOESCAPE|GLOB_NOCHECK|GLOB_APPEND| \ + GLOB_PERIOD) +#endif + +/* Error returns from `glob'. */ +#define GLOB_NOSPACE 1 /* Ran out of memory. */ +#define GLOB_ABORTED 2 /* Read error. */ +#define GLOB_NOMATCH 3 /* No matches found. */ +#define GLOB_NOSYS 4 /* Not implemented. */ +#ifdef _GNU_SOURCE +/* Previous versions of this file defined GLOB_ABEND instead of + GLOB_ABORTED. Provide a compatibility definition here. */ +# define GLOB_ABEND GLOB_ABORTED +#endif + +/* Structure describing a globbing run. */ +#if !defined _AMIGA && !defined VMS /* Buggy compiler. */ +struct stat; +#endif +typedef struct + { + __size_t gl_pathc; /* Count of paths matched by the pattern. */ + char **gl_pathv; /* List of matched pathnames. */ + __size_t gl_offs; /* Slots to reserve in `gl_pathv'. */ + int gl_flags; /* Set to FLAGS, maybe | GLOB_MAGCHAR. */ + + /* If the GLOB_ALTDIRFUNC flag is set, the following functions + are used instead of the normal file access functions. */ + void (*gl_closedir) __PMT ((void *)); + struct dirent *(*gl_readdir) __PMT ((void *)); + __ptr_t (*gl_opendir) __PMT ((__const char *)); + int (*gl_lstat) __PMT ((__const char *, struct stat *)); +#if defined(VMS) && defined(__DECC) && !defined(_POSIX_C_SOURCE) + int (*gl_stat) __PMT ((__const char *, struct stat *, ...)); +#else + int (*gl_stat) __PMT ((__const char *, struct stat *)); +#endif + } glob_t; + +#ifdef _LARGEFILE64_SOURCE +struct stat64; +typedef struct + { + __size_t gl_pathc; + char **gl_pathv; + __size_t gl_offs; + int gl_flags; + + /* If the GLOB_ALTDIRFUNC flag is set, the following functions + are used instead of the normal file access functions. */ + void (*gl_closedir) __PMT ((void *)); + struct dirent64 *(*gl_readdir) __PMT ((void *)); + __ptr_t (*gl_opendir) __PMT ((__const char *)); + int (*gl_lstat) __PMT ((__const char *, struct stat64 *)); + int (*gl_stat) __PMT ((__const char *, struct stat64 *)); + } glob64_t; +#endif + +#if _FILE_OFFSET_BITS == 64 && __GNUC__ < 2 +# define glob glob64 +# define globfree globfree64 +#else +# ifdef _LARGEFILE64_SOURCE +extern int glob64 __P ((__const char *__pattern, int __flags, + int (*__errfunc) (__const char *, int), + glob64_t *__pglob)); + +extern void globfree64 __P ((glob64_t *__pglob)); +# endif +#endif + +/* Do glob searching for PATTERN, placing results in PGLOB. + The bits defined above may be set in FLAGS. + If a directory cannot be opened or read and ERRFUNC is not nil, + it is called with the pathname that caused the error, and the + `errno' value from the failing call; if it returns non-zero + `glob' returns GLOB_ABEND; if it returns zero, the error is ignored. + If memory cannot be allocated for PGLOB, GLOB_NOSPACE is returned. + Otherwise, `glob' returns zero. */ +#if _FILE_OFFSET_BITS != 64 || __GNUC__ < 2 +extern int glob __P ((__const char *__pattern, int __flags, + int (*__errfunc) (__const char *, int), + glob_t *__pglob)); + +/* Free storage allocated in PGLOB by a previous `glob' call. */ +extern void globfree __P ((glob_t *__pglob)); +#else +extern int glob __P ((__const char *__pattern, int __flags, + int (*__errfunc) (__const char *, int), + glob_t *__pglob)) __asm__ ("glob64"); + +extern void globfree __P ((glob_t *__pglob)) __asm__ ("globfree64"); +#endif + + +#ifdef _GNU_SOURCE +/* Return nonzero if PATTERN contains any metacharacters. + Metacharacters can be quoted with backslashes if QUOTE is nonzero. + + This function is not part of the interface specified by POSIX.2 + but several programs want to use it. */ +extern int glob_pattern_p __P ((__const char *__pattern, int __quote)); +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* glob.h */ diff --git a/src/mkutil/make/hash.h b/src/mkutil/make/hash.h index 405f1dab..2e2b02f8 100644 --- a/src/mkutil/make/hash.h +++ b/src/mkutil/make/hash.h @@ -1,233 +1,233 @@ -/* hash.h -- decls for hash table - Copyright (C) 1995, 1999, 2002 Free Software Foundation, Inc. - Written by Greg McGary - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifndef _hash_h_ -#define _hash_h_ - -#include -#include - -#if defined __cplusplus || (defined __STDC__ && __STDC__) || defined WINDOWS32 -# if !defined __GLIBC__ || !defined __P -# undef __P -# define __P(protos) protos -# endif -#else /* Not C++ or ANSI C. */ -# undef __P -# define __P(protos) () -/* We can get away without defining `const' here only because in this file - it is used only inside the prototype for `fnmatch', which is elided in - non-ANSI C where `const' is problematical. */ -#endif /* C++ or ANSI C. */ - -typedef unsigned long (*hash_func_t) __P((void const *key)); -typedef int (*hash_cmp_func_t) __P((void const *x, void const *y)); -typedef void (*hash_map_func_t) __P((void const *item)); -typedef void (*hash_map_arg_func_t) __P((void const *item, void *arg)); - -struct hash_table -{ - void **ht_vec; - unsigned long ht_size; /* total number of slots (power of 2) */ - unsigned long ht_capacity; /* usable slots, limited by loading-factor */ - unsigned long ht_fill; /* items in table */ - unsigned long ht_empty_slots; /* empty slots not including deleted slots */ - unsigned long ht_collisions; /* # of failed calls to comparison function */ - unsigned long ht_lookups; /* # of queries */ - unsigned int ht_rehashes; /* # of times we've expanded table */ - hash_func_t ht_hash_1; /* primary hash function */ - hash_func_t ht_hash_2; /* secondary hash function */ - hash_cmp_func_t ht_compare; /* comparison function */ -}; - -typedef int (*qsort_cmp_t) __P((void const *, void const *)); - -void hash_init __P((struct hash_table *ht, unsigned long size, - hash_func_t hash_1, hash_func_t hash_2, hash_cmp_func_t hash_cmp)); -void hash_load __P((struct hash_table *ht, void *item_table, - unsigned long cardinality, unsigned long size)); -void **hash_find_slot __P((struct hash_table *ht, void const *key)); -void *hash_find_item __P((struct hash_table *ht, void const *key)); -void *hash_insert __P((struct hash_table *ht, void *item)); -void *hash_insert_at __P((struct hash_table *ht, void *item, void const *slot)); -void *hash_delete __P((struct hash_table *ht, void const *item)); -void *hash_delete_at __P((struct hash_table *ht, void const *slot)); -void hash_delete_items __P((struct hash_table *ht)); -void hash_free_items __P((struct hash_table *ht)); -void hash_free __P((struct hash_table *ht, int free_items)); -void hash_map __P((struct hash_table *ht, hash_map_func_t map)); -void hash_map_arg __P((struct hash_table *ht, hash_map_arg_func_t map, void *arg)); -void hash_print_stats __P((struct hash_table *ht, FILE *out_FILE)); -void **hash_dump __P((struct hash_table *ht, void **vector_0, qsort_cmp_t compare)); - -extern void *hash_deleted_item; -#define HASH_VACANT(item) ((item) == 0 || (void *) (item) == hash_deleted_item) - - -/* hash and comparison macros for case-sensitive string keys. */ - -#define STRING_HASH_1(KEY, RESULT) do { \ - unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \ - while (*++_key_) \ - (RESULT) += (*_key_ << (_key_[1] & 0xf)); \ -} while (0) -#define return_STRING_HASH_1(KEY) do { \ - unsigned long _result_ = 0; \ - STRING_HASH_1 ((KEY), _result_); \ - return _result_; \ -} while (0) - -#define STRING_HASH_2(KEY, RESULT) do { \ - unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \ - while (*++_key_) \ - (RESULT) += (*_key_ << (_key_[1] & 0x7)); \ -} while (0) -#define return_STRING_HASH_2(KEY) do { \ - unsigned long _result_ = 0; \ - STRING_HASH_2 ((KEY), _result_); \ - return _result_; \ -} while (0) - -#define STRING_COMPARE(X, Y, RESULT) do { \ - RESULT = strcmp ((X), (Y)); \ -} while (0) -#define return_STRING_COMPARE(X, Y) do { \ - return strcmp ((X), (Y)); \ -} while (0) - - -#define STRING_N_HASH_1(KEY, N, RESULT) do { \ - unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \ - int _n_ = (N); \ - if (_n_) \ - while (--_n_ && *++_key_) \ - (RESULT) += (*_key_ << (_key_[1] & 0xf)); \ - (RESULT) += *++_key_; \ -} while (0) -#define return_STRING_N_HASH_1(KEY, N) do { \ - unsigned long _result_ = 0; \ - STRING_N_HASH_1 ((KEY), (N), _result_); \ - return _result_; \ -} while (0) - -#define STRING_N_HASH_2(KEY, N, RESULT) do { \ - unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \ - int _n_ = (N); \ - if (_n_) \ - while (--_n_ && *++_key_) \ - (RESULT) += (*_key_ << (_key_[1] & 0x7)); \ - (RESULT) += *++_key_; \ -} while (0) -#define return_STRING_N_HASH_2(KEY, N) do { \ - unsigned long _result_ = 0; \ - STRING_N_HASH_2 ((KEY), (N), _result_); \ - return _result_; \ -} while (0) - -#define STRING_N_COMPARE(X, Y, N, RESULT) do { \ - RESULT = strncmp ((X), (Y), (N)); \ -} while (0) -#define return_STRING_N_COMPARE(X, Y, N) do { \ - return strncmp ((X), (Y), (N)); \ -} while (0) - -#ifdef HAVE_CASE_INSENSITIVE_FS - -/* hash and comparison macros for case-insensitive string _key_s. */ - -#define ISTRING_HASH_1(KEY, RESULT) do { \ - unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \ - while (*++_key_) \ - (RESULT) += ((isupper (*_key_) ? tolower (*_key_) : *_key_) << (_key_[1] & 0xf)); \ -} while (0) -#define return_ISTRING_HASH_1(KEY) do { \ - unsigned long _result_ = 0; \ - ISTRING_HASH_1 ((KEY), _result_); \ - return _result_; \ -} while (0) - -#define ISTRING_HASH_2(KEY, RESULT) do { \ - unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \ - while (*++_key_) \ - (RESULT) += ((isupper (*_key_) ? tolower (*_key_) : *_key_) << (_key_[1] & 0x7)); \ -} while (0) -#define return_ISTRING_HASH_2(KEY) do { \ - unsigned long _result_ = 0; \ - ISTRING_HASH_2 ((KEY), _result_); \ - return _result_; \ -} while (0) - -#define ISTRING_COMPARE(X, Y, RESULT) do { \ - RESULT = strcmpi ((X), (Y)); \ -} while (0) -#define return_ISTRING_COMPARE(X, Y) do { \ - return strcmpi ((X), (Y)); \ -} while (0) - -#else - -#define ISTRING_HASH_1(KEY, RESULT) STRING_HASH_1 ((KEY), (RESULT)) -#define return_ISTRING_HASH_1(KEY) return_STRING_HASH_1 (KEY) - -#define ISTRING_HASH_2(KEY, RESULT) STRING_HASH_2 ((KEY), (RESULT)) -#define return_ISTRING_HASH_2(KEY) return_STRING_HASH_2 (KEY) - -#define ISTRING_COMPARE(X, Y, RESULT) STRING_COMPARE ((X), (Y), (RESULT)) -#define return_ISTRING_COMPARE(X, Y) return_STRING_COMPARE ((X), (Y)) - -#endif - -/* hash and comparison macros for integer _key_s. */ - -#define INTEGER_HASH_1(KEY, RESULT) do { \ - (RESULT) += ((unsigned long)(KEY)); \ -} while (0) -#define return_INTEGER_HASH_1(KEY) do { \ - unsigned long _result_ = 0; \ - INTEGER_HASH_1 ((KEY), _result_); \ - return _result_; \ -} while (0) - -#define INTEGER_HASH_2(KEY, RESULT) do { \ - (RESULT) += ~((unsigned long)(KEY)); \ -} while (0) -#define return_INTEGER_HASH_2(KEY) do { \ - unsigned long _result_ = 0; \ - INTEGER_HASH_2 ((KEY), _result_); \ - return _result_; \ -} while (0) - -#define INTEGER_COMPARE(X, Y, RESULT) do { \ - (RESULT) = X - Y; \ -} while (0) -#define return_INTEGER_COMPARE(X, Y) do { \ - int _result_; \ - INTEGER_COMPARE (X, Y, _result_); \ - return _result_; \ -} while (0) - -/* hash and comparison macros for address keys. */ - -#define ADDRESS_HASH_1(KEY, RESULT) INTEGER_HASH_1 (((unsigned long)(KEY)) >> 3, (RESULT)) -#define ADDRESS_HASH_2(KEY, RESULT) INTEGER_HASH_2 (((unsigned long)(KEY)) >> 3, (RESULT)) -#define ADDRESS_COMPARE(X, Y, RESULT) INTEGER_COMPARE ((X), (Y), (RESULT)) -#define return_ADDRESS_HASH_1(KEY) return_INTEGER_HASH_1 (((unsigned long)(KEY)) >> 3) -#define return_ADDRESS_HASH_2(KEY) return_INTEGER_HASH_2 (((unsigned long)(KEY)) >> 3) -#define return_ADDRESS_COMPARE(X, Y) return_INTEGER_COMPARE ((X), (Y)) - -#endif /* not _hash_h_ */ +/* hash.h -- decls for hash table + Copyright (C) 1995, 1999, 2002 Free Software Foundation, Inc. + Written by Greg McGary + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifndef _hash_h_ +#define _hash_h_ + +#include +#include + +#if defined __cplusplus || (defined __STDC__ && __STDC__) || defined WINDOWS32 +# if !defined __GLIBC__ || !defined __P +# undef __P +# define __P(protos) protos +# endif +#else /* Not C++ or ANSI C. */ +# undef __P +# define __P(protos) () +/* We can get away without defining `const' here only because in this file + it is used only inside the prototype for `fnmatch', which is elided in + non-ANSI C where `const' is problematical. */ +#endif /* C++ or ANSI C. */ + +typedef unsigned long (*hash_func_t) __P((void const *key)); +typedef int (*hash_cmp_func_t) __P((void const *x, void const *y)); +typedef void (*hash_map_func_t) __P((void const *item)); +typedef void (*hash_map_arg_func_t) __P((void const *item, void *arg)); + +struct hash_table +{ + void **ht_vec; + unsigned long ht_size; /* total number of slots (power of 2) */ + unsigned long ht_capacity; /* usable slots, limited by loading-factor */ + unsigned long ht_fill; /* items in table */ + unsigned long ht_empty_slots; /* empty slots not including deleted slots */ + unsigned long ht_collisions; /* # of failed calls to comparison function */ + unsigned long ht_lookups; /* # of queries */ + unsigned int ht_rehashes; /* # of times we've expanded table */ + hash_func_t ht_hash_1; /* primary hash function */ + hash_func_t ht_hash_2; /* secondary hash function */ + hash_cmp_func_t ht_compare; /* comparison function */ +}; + +typedef int (*qsort_cmp_t) __P((void const *, void const *)); + +void hash_init __P((struct hash_table *ht, unsigned long size, + hash_func_t hash_1, hash_func_t hash_2, hash_cmp_func_t hash_cmp)); +void hash_load __P((struct hash_table *ht, void *item_table, + unsigned long cardinality, unsigned long size)); +void **hash_find_slot __P((struct hash_table *ht, void const *key)); +void *hash_find_item __P((struct hash_table *ht, void const *key)); +void *hash_insert __P((struct hash_table *ht, void *item)); +void *hash_insert_at __P((struct hash_table *ht, void *item, void const *slot)); +void *hash_delete __P((struct hash_table *ht, void const *item)); +void *hash_delete_at __P((struct hash_table *ht, void const *slot)); +void hash_delete_items __P((struct hash_table *ht)); +void hash_free_items __P((struct hash_table *ht)); +void hash_free __P((struct hash_table *ht, int free_items)); +void hash_map __P((struct hash_table *ht, hash_map_func_t map)); +void hash_map_arg __P((struct hash_table *ht, hash_map_arg_func_t map, void *arg)); +void hash_print_stats __P((struct hash_table *ht, FILE *out_FILE)); +void **hash_dump __P((struct hash_table *ht, void **vector_0, qsort_cmp_t compare)); + +extern void *hash_deleted_item; +#define HASH_VACANT(item) ((item) == 0 || (void *) (item) == hash_deleted_item) + + +/* hash and comparison macros for case-sensitive string keys. */ + +#define STRING_HASH_1(KEY, RESULT) do { \ + unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \ + while (*++_key_) \ + (RESULT) += (*_key_ << (_key_[1] & 0xf)); \ +} while (0) +#define return_STRING_HASH_1(KEY) do { \ + unsigned long _result_ = 0; \ + STRING_HASH_1 ((KEY), _result_); \ + return _result_; \ +} while (0) + +#define STRING_HASH_2(KEY, RESULT) do { \ + unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \ + while (*++_key_) \ + (RESULT) += (*_key_ << (_key_[1] & 0x7)); \ +} while (0) +#define return_STRING_HASH_2(KEY) do { \ + unsigned long _result_ = 0; \ + STRING_HASH_2 ((KEY), _result_); \ + return _result_; \ +} while (0) + +#define STRING_COMPARE(X, Y, RESULT) do { \ + RESULT = strcmp ((X), (Y)); \ +} while (0) +#define return_STRING_COMPARE(X, Y) do { \ + return strcmp ((X), (Y)); \ +} while (0) + + +#define STRING_N_HASH_1(KEY, N, RESULT) do { \ + unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \ + int _n_ = (N); \ + if (_n_) \ + while (--_n_ && *++_key_) \ + (RESULT) += (*_key_ << (_key_[1] & 0xf)); \ + (RESULT) += *++_key_; \ +} while (0) +#define return_STRING_N_HASH_1(KEY, N) do { \ + unsigned long _result_ = 0; \ + STRING_N_HASH_1 ((KEY), (N), _result_); \ + return _result_; \ +} while (0) + +#define STRING_N_HASH_2(KEY, N, RESULT) do { \ + unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \ + int _n_ = (N); \ + if (_n_) \ + while (--_n_ && *++_key_) \ + (RESULT) += (*_key_ << (_key_[1] & 0x7)); \ + (RESULT) += *++_key_; \ +} while (0) +#define return_STRING_N_HASH_2(KEY, N) do { \ + unsigned long _result_ = 0; \ + STRING_N_HASH_2 ((KEY), (N), _result_); \ + return _result_; \ +} while (0) + +#define STRING_N_COMPARE(X, Y, N, RESULT) do { \ + RESULT = strncmp ((X), (Y), (N)); \ +} while (0) +#define return_STRING_N_COMPARE(X, Y, N) do { \ + return strncmp ((X), (Y), (N)); \ +} while (0) + +#ifdef HAVE_CASE_INSENSITIVE_FS + +/* hash and comparison macros for case-insensitive string _key_s. */ + +#define ISTRING_HASH_1(KEY, RESULT) do { \ + unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \ + while (*++_key_) \ + (RESULT) += ((isupper (*_key_) ? tolower (*_key_) : *_key_) << (_key_[1] & 0xf)); \ +} while (0) +#define return_ISTRING_HASH_1(KEY) do { \ + unsigned long _result_ = 0; \ + ISTRING_HASH_1 ((KEY), _result_); \ + return _result_; \ +} while (0) + +#define ISTRING_HASH_2(KEY, RESULT) do { \ + unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \ + while (*++_key_) \ + (RESULT) += ((isupper (*_key_) ? tolower (*_key_) : *_key_) << (_key_[1] & 0x7)); \ +} while (0) +#define return_ISTRING_HASH_2(KEY) do { \ + unsigned long _result_ = 0; \ + ISTRING_HASH_2 ((KEY), _result_); \ + return _result_; \ +} while (0) + +#define ISTRING_COMPARE(X, Y, RESULT) do { \ + RESULT = strcmpi ((X), (Y)); \ +} while (0) +#define return_ISTRING_COMPARE(X, Y) do { \ + return strcmpi ((X), (Y)); \ +} while (0) + +#else + +#define ISTRING_HASH_1(KEY, RESULT) STRING_HASH_1 ((KEY), (RESULT)) +#define return_ISTRING_HASH_1(KEY) return_STRING_HASH_1 (KEY) + +#define ISTRING_HASH_2(KEY, RESULT) STRING_HASH_2 ((KEY), (RESULT)) +#define return_ISTRING_HASH_2(KEY) return_STRING_HASH_2 (KEY) + +#define ISTRING_COMPARE(X, Y, RESULT) STRING_COMPARE ((X), (Y), (RESULT)) +#define return_ISTRING_COMPARE(X, Y) return_STRING_COMPARE ((X), (Y)) + +#endif + +/* hash and comparison macros for integer _key_s. */ + +#define INTEGER_HASH_1(KEY, RESULT) do { \ + (RESULT) += ((unsigned long)(KEY)); \ +} while (0) +#define return_INTEGER_HASH_1(KEY) do { \ + unsigned long _result_ = 0; \ + INTEGER_HASH_1 ((KEY), _result_); \ + return _result_; \ +} while (0) + +#define INTEGER_HASH_2(KEY, RESULT) do { \ + (RESULT) += ~((unsigned long)(KEY)); \ +} while (0) +#define return_INTEGER_HASH_2(KEY) do { \ + unsigned long _result_ = 0; \ + INTEGER_HASH_2 ((KEY), _result_); \ + return _result_; \ +} while (0) + +#define INTEGER_COMPARE(X, Y, RESULT) do { \ + (RESULT) = X - Y; \ +} while (0) +#define return_INTEGER_COMPARE(X, Y) do { \ + int _result_; \ + INTEGER_COMPARE (X, Y, _result_); \ + return _result_; \ +} while (0) + +/* hash and comparison macros for address keys. */ + +#define ADDRESS_HASH_1(KEY, RESULT) INTEGER_HASH_1 (((unsigned long)(KEY)) >> 3, (RESULT)) +#define ADDRESS_HASH_2(KEY, RESULT) INTEGER_HASH_2 (((unsigned long)(KEY)) >> 3, (RESULT)) +#define ADDRESS_COMPARE(X, Y, RESULT) INTEGER_COMPARE ((X), (Y), (RESULT)) +#define return_ADDRESS_HASH_1(KEY) return_INTEGER_HASH_1 (((unsigned long)(KEY)) >> 3) +#define return_ADDRESS_HASH_2(KEY) return_INTEGER_HASH_2 (((unsigned long)(KEY)) >> 3) +#define return_ADDRESS_COMPARE(X, Y) return_INTEGER_COMPARE ((X), (Y)) + +#endif /* not _hash_h_ */ diff --git a/src/mkutil/make/i18n/CVS/Entries b/src/mkutil/make/i18n/CVS/Entries deleted file mode 100644 index 17848105..00000000 --- a/src/mkutil/make/i18n/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/src/mkutil/make/i18n/CVS/Repository b/src/mkutil/make/i18n/CVS/Repository deleted file mode 100644 index c90e7f12..00000000 --- a/src/mkutil/make/i18n/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -make/i18n diff --git a/src/mkutil/make/i18n/CVS/Root b/src/mkutil/make/i18n/CVS/Root deleted file mode 100644 index 132093b8..00000000 --- a/src/mkutil/make/i18n/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anoncvs@subversions.gnu.org:/cvsroot/make diff --git a/src/mkutil/make/job.h b/src/mkutil/make/job.h index 85176ea8..59068f14 100644 --- a/src/mkutil/make/job.h +++ b/src/mkutil/make/job.h @@ -1,104 +1,104 @@ -/* Definitions for managing subprocesses in GNU Make. -Copyright (C) 1992, 1993, 1996, 1999 Free Software Foundation, Inc. -This file is part of GNU Make. - -GNU Make is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Make is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Make; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#ifndef SEEN_JOB_H -#define SEEN_JOB_H - -#ifdef HAVE_FCNTL_H -# include -#else -# include -#endif - -/* How to set close-on-exec for a file descriptor. */ - -#if !defined F_SETFD -# define CLOSE_ON_EXEC(_d) -#else -# ifndef FD_CLOEXEC -# define FD_CLOEXEC 1 -# endif -# define CLOSE_ON_EXEC(_d) (void) fcntl ((_d), F_SETFD, FD_CLOEXEC) -#endif - -/* Structure describing a running or dead child process. */ - -struct child - { - struct child *next; /* Link in the chain. */ - - struct file *file; /* File being remade. */ - - char **environment; /* Environment for commands. */ - - char **command_lines; /* Array of variable-expanded cmd lines. */ - unsigned int command_line; /* Index into above. */ - char *command_ptr; /* Ptr into command_lines[command_line]. */ - - pid_t pid; /* Child process's ID number. */ -#ifdef VMS - int efn; /* Completion event flag number */ - int cstatus; /* Completion status */ -#endif - char *sh_batch_file; /* Script file for shell commands */ - unsigned int remote:1; /* Nonzero if executing remotely. */ - - unsigned int noerror:1; /* Nonzero if commands contained a `-'. */ - - unsigned int good_stdin:1; /* Nonzero if this child has a good stdin. */ - unsigned int deleted:1; /* Nonzero if targets have been deleted. */ - }; - -extern struct child *children; - -extern void new_job PARAMS ((struct file *file)); -extern void reap_children PARAMS ((int block, int err)); -extern void start_waiting_jobs PARAMS ((void)); - -extern char **construct_command_argv PARAMS ((char *line, char **restp, struct file *file, char** batch_file)); -#ifdef VMS -extern int child_execute_job PARAMS ((char *argv, struct child *child)); -#elif defined(__EMX__) -extern int child_execute_job PARAMS ((int stdin_fd, int stdout_fd, char **argv, char **envp)); -#else -extern void child_execute_job PARAMS ((int stdin_fd, int stdout_fd, char **argv, char **envp)); -#endif -#ifdef _AMIGA -extern void exec_command PARAMS ((char **argv)); -#elif defined(__EMX__) -extern int exec_command PARAMS ((char **argv, char **envp)); -#else -extern void exec_command PARAMS ((char **argv, char **envp)); -#endif - -extern unsigned int job_slots_used; - -extern void block_sigs PARAMS ((void)); -#ifdef POSIX -extern void unblock_sigs PARAMS ((void)); -#else -#ifdef HAVE_SIGSETMASK -extern int fatal_signal_mask; -#define unblock_sigs() sigsetmask (0) -#else -#define unblock_sigs() -#endif -#endif - -#endif /* SEEN_JOB_H */ +/* Definitions for managing subprocesses in GNU Make. +Copyright (C) 1992, 1993, 1996, 1999 Free Software Foundation, Inc. +This file is part of GNU Make. + +GNU Make is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Make is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Make; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +#ifndef SEEN_JOB_H +#define SEEN_JOB_H + +#ifdef HAVE_FCNTL_H +# include +#else +# include +#endif + +/* How to set close-on-exec for a file descriptor. */ + +#if !defined F_SETFD +# define CLOSE_ON_EXEC(_d) +#else +# ifndef FD_CLOEXEC +# define FD_CLOEXEC 1 +# endif +# define CLOSE_ON_EXEC(_d) (void) fcntl ((_d), F_SETFD, FD_CLOEXEC) +#endif + +/* Structure describing a running or dead child process. */ + +struct child + { + struct child *next; /* Link in the chain. */ + + struct file *file; /* File being remade. */ + + char **environment; /* Environment for commands. */ + + char **command_lines; /* Array of variable-expanded cmd lines. */ + unsigned int command_line; /* Index into above. */ + char *command_ptr; /* Ptr into command_lines[command_line]. */ + + pid_t pid; /* Child process's ID number. */ +#ifdef VMS + int efn; /* Completion event flag number */ + int cstatus; /* Completion status */ +#endif + char *sh_batch_file; /* Script file for shell commands */ + unsigned int remote:1; /* Nonzero if executing remotely. */ + + unsigned int noerror:1; /* Nonzero if commands contained a `-'. */ + + unsigned int good_stdin:1; /* Nonzero if this child has a good stdin. */ + unsigned int deleted:1; /* Nonzero if targets have been deleted. */ + }; + +extern struct child *children; + +extern void new_job PARAMS ((struct file *file)); +extern void reap_children PARAMS ((int block, int err)); +extern void start_waiting_jobs PARAMS ((void)); + +extern char **construct_command_argv PARAMS ((char *line, char **restp, struct file *file, char** batch_file)); +#ifdef VMS +extern int child_execute_job PARAMS ((char *argv, struct child *child)); +#elif defined(__EMX__) +extern int child_execute_job PARAMS ((int stdin_fd, int stdout_fd, char **argv, char **envp)); +#else +extern void child_execute_job PARAMS ((int stdin_fd, int stdout_fd, char **argv, char **envp)); +#endif +#ifdef _AMIGA +extern void exec_command PARAMS ((char **argv)); +#elif defined(__EMX__) +extern int exec_command PARAMS ((char **argv, char **envp)); +#else +extern void exec_command PARAMS ((char **argv, char **envp)); +#endif + +extern unsigned int job_slots_used; + +extern void block_sigs PARAMS ((void)); +#ifdef POSIX +extern void unblock_sigs PARAMS ((void)); +#else +#ifdef HAVE_SIGSETMASK +extern int fatal_signal_mask; +#define unblock_sigs() sigsetmask (0) +#else +#define unblock_sigs() +#endif +#endif + +#endif /* SEEN_JOB_H */ diff --git a/src/mkutil/make/maintMakefile b/src/mkutil/make/maintMakefile index 1c934636..0c6adb90 100644 --- a/src/mkutil/make/maintMakefile +++ b/src/mkutil/make/maintMakefile @@ -1,228 +1,228 @@ -# Maintainer-only makefile segment. This contains things that are relevant -# only if you have the full copy of the GNU make sources from the CVS -# tree, not a dist copy. -# - -# Find the glob source files... this might be dangerous, but we're maintainers! -# -globsrc := $(wildcard glob/*.c) -globhdr := $(wildcard glob/*.h) - -TEMPLATES = README README.DOS README.W32 README.OS2 \ - config.ami configh.dos config.h.W32 config.h-vms -MTEMPLATES = Makefile.DOS SMakefile - -all-am: $(TEMPLATES) $(MTEMPLATES) build.sh.in - -# We need this to ensure that README and build.sh.in are created on time to -# avoid errors by automake. -# -#Makefile.in: README build.sh.in - -# General rule for turning a .template into a regular file. -# -$(TEMPLATES) : % : %.template Makefile - rm -f $@ - sed -e 's@%VERSION%@$(VERSION)@g' \ - -e 's@%PACKAGE%@$(PACKAGE)@g' \ - $< > $@ - chmod a-w $@ - -# Construct Makefiles by adding on dependencies, etc. -# -$(MTEMPLATES) : % : %.template .dep_segment Makefile - rm -f $@ - sed -e 's@%VERSION%@$(VERSION)@g' \ - -e 's@%PROGRAMS%@$(bin_PROGRAMS)@g' \ - -e 's@%SOURCES%@$(filter-out remote-%,$(make_SOURCES)) remote-$$(REMOTE).c@g' \ - -e 's@%OBJECTS%@$(filter-out remote-%,$(make_OBJECTS)) remote-$$(REMOTE).o@g' \ - -e 's@%GLOB_SOURCES%@$(globsrc) $(globhdr)@g' \ - -e 's@%GLOB_OBJECTS%@$(globsrc:glob/%.c=%.o)@g' \ - $< > $@ - echo >>$@; echo '# --------------- DEPENDENCIES' >>$@; echo '#' >>$@; \ - cat $(word 2,$^) >>$@ - chmod a-w $@ - -NMakefile: NMakefile.template .dep_segment Makefile - rm -f $@ - cp $< $@ - echo >>$@; echo '# --------------- DEPENDENCIES' >>$@; echo '#' >>$@; \ - sed 's/^\([^ ]*\)\.o:/$$(OUTDIR)\/\1.obj:/' $(word 2,$^) >>$@ - chmod a-w $@ - -# Construct build.sh.in -# -build.sh.in: build.template Makefile - rm -f $@ - sed -e 's@%objs%@$(patsubst %.o,%.$${OBJEXT},$(filter-out remote-%,$(make_OBJECTS)))@g' \ - -e 's@%globobjs%@$(patsubst %.c,%.$${OBJEXT},$(globsrc)))@g' \ - $< > $@ - chmod a-w+x $@ - - -# Use automake to build a dependency list file, for "foreign" makefiles like -# Makefile.DOS. -# -# Automake used to have a --generate-deps flag, but it's gone now, so we have -# to do it ourselves. -# -.dep_segment: Makefile.am maintMakefile $(DEP_FILES) - cat $(DEP_FILES) \ - | sed -e '/^[^:]*\.[ch] *:/d' \ - -e 's, /usr/[^ ]*,,g' \ - -e 's, $(srcdir)/, ,g' \ - -e '/^ \\$$/d' \ - > $@ - -# Get rid of everything "else". -# -maintFILES = configure aclocal.m4 config.h.in Makefile.in stamp-h.in - -CVS-CLEAN-FILES += $(maintFILES) $(TEMPLATES) $(MTEMPLATES) NMakefile \ - missing build.sh.in .dep_segment po-check-? - -# This rule tries to clean the tree right down to how it looks when you do a -# virgin CVS checkout. - -.PHONY: cvs-clean -cvs-clean: maintainer-clean - -rm -f *~ - -rm -f config/*~ config/Makefile.in config/[a-z]* - -rm -f po/*~ po/Makefile.in.in po/Rules-quot po/[a-z]* - -rm -f doc/*~ doc/Makefile.in doc/fdl.texi doc/make-stds.texi \ - doc/texinfo.tex - -rm -f glob/*~ glob/Makefile.in - -rm -f ABOUT-NLS $(CVS-CLEAN-FILES) - - -# ---------------------------------------------------------------------- -# -# The sections below were stolen from the Makefile.maint used by fileutils, -# sh-utils, textutils, CPPI, Bison, and Autoconf. - - -## ---------------- ## -## Updating files. ## -## ---------------- ## - -WGET = wget --passive-ftp --non-verbose -ftp-gnu = ftp://ftp.gnu.org/gnu - -move_if_change = if test -r $(target) && cmp -s $(target).t $(target); then \ - echo $(target) is unchanged; rm -f $(target).t; \ - else \ - mv $(target).t $(target); \ - fi - -# ------------------- # -# Updating PO files. # -# ------------------- # - -po_repo = http://www.iro.umontreal.ca/contrib/po/maint/$(PACKAGE) -.PHONY: do-po-update po-update -do-po-update: - tmppo=/tmp/$(PACKAGE)-$(VERSION)-po &&\ - rm -rf $$tmppo && \ - mkdir $$tmppo && \ - (cd $$tmppo && $(WGET) -r -l1 -nd --no-parent -A '*.po' $(po_repo)) &&\ - cp $$tmppo/*.po po - cd po && $(MAKE) update-po - $(MAKE) po-check - -po-update: - if test -d "po"; then \ - $(MAKE) do-po-update; \ - fi - -# -------------------------- # -# Updating GNU build tools. # -# -------------------------- # - -# The following pseudo table associates a local directory and a URL -# with each of the files that belongs to some other package and is -# regularly updated from the specified URL. -# $(srcdir)/src/ansi2knr.c - - -wget_files ?= $(srcdir)/config/config.guess $(srcdir)/config/config.sub \ - $(srcdir)/doc/texinfo.tex $(srcdir)/doc/make-stds.texi \ - $(srcdir)/doc/fdl.texi - -wget-targets = $(patsubst %, get-%, $(wget_files)) - -config.guess-url_prefix = $(ftp-gnu)/config/ -config.sub-url_prefix = $(ftp-gnu)/config/ - -ansi2knr.c-url_prefix = ftp://ftp.cs.wisc.edu/ghost/ - -texinfo.tex-url_prefix = $(ftp-gnu)/texinfo/ - -standards.texi-url_prefix = $(ftp-gnu)/GNUinfo/ -make-stds.texi-url_prefix = $(ftp-gnu)/GNUinfo/ -fdl.texi-url_prefix = $(ftp-gnu)/GNUinfo/ - -target = $(patsubst get-%,%,$@) -url = $($(notdir $(target))-url_prefix)$(notdir $(target)) - -.PHONY: $(wget-targets) -$(wget-targets): - @echo $(WGET) $(url) -O $(target) \ - && $(WGET) $(url) -O $(target).t \ - && $(move_if_change) - -.PHONY: wget-update -wget-update: $(wget-targets) - - -# Updating tools via CVS. -cvs_files ?= depcomp missing -cvs-targets = $(patsubst %, get-%, $(cvs_files)) - -automake_repo = :pserver:anoncvs@anoncvs.cygnus.com:/cvs/automake -.PHONY: $(cvs-targets) -$(cvs-targets): - $(CVS) -d $(automake_repo) co -p automake/lib/$(notdir $(target)) \ - >$(target).t \ - && $(move_if_change) - -.PHONY: cvs-update -cvs-update: $(cvs-targets) - - -# --------------------- # -# Updating everything. # -# --------------------- # - -.PHONY: update -update: wget-update po-update - -# cvs-update - - -## --------------- ## -## Sanity checks. ## -## --------------- ## - -# Checks that don't require cvs. Run `changelog-check' last as -# previous test may reveal problems requiring new ChangeLog entries. -local-check: po-check changelog-check - -# copyright-check writable-files - -changelog-check: - if head ChangeLog | grep 'Version $(VERSION)' >/dev/null; then \ - :; \ - else \ - echo "$(VERSION) not in ChangeLog" 1>&2; \ - exit 1; \ - fi - -# Verify that all source files using _() are listed in po/POTFILES.in. -# Ignore make.h; it defines _(). -po-check: - if test -f po/POTFILES.in; then \ - grep -E -v '^(#|$$)' po/POTFILES.in | sort > $@-1; \ - grep -E -l '\b_\(' *.c *.h | grep -v make.h | sort > $@-2; \ - diff -u $@-1 $@-2 || exit 1; \ - rm -f $@-1 $@-2; \ - fi +# Maintainer-only makefile segment. This contains things that are relevant +# only if you have the full copy of the GNU make sources from the CVS +# tree, not a dist copy. +# + +# Find the glob source files... this might be dangerous, but we're maintainers! +# +globsrc := $(wildcard glob/*.c) +globhdr := $(wildcard glob/*.h) + +TEMPLATES = README README.DOS README.W32 README.OS2 \ + config.ami configh.dos config.h.W32 config.h-vms +MTEMPLATES = Makefile.DOS SMakefile + +all-am: $(TEMPLATES) $(MTEMPLATES) build.sh.in + +# We need this to ensure that README and build.sh.in are created on time to +# avoid errors by automake. +# +#Makefile.in: README build.sh.in + +# General rule for turning a .template into a regular file. +# +$(TEMPLATES) : % : %.template Makefile + rm -f $@ + sed -e 's@%VERSION%@$(VERSION)@g' \ + -e 's@%PACKAGE%@$(PACKAGE)@g' \ + $< > $@ + chmod a-w $@ + +# Construct Makefiles by adding on dependencies, etc. +# +$(MTEMPLATES) : % : %.template .dep_segment Makefile + rm -f $@ + sed -e 's@%VERSION%@$(VERSION)@g' \ + -e 's@%PROGRAMS%@$(bin_PROGRAMS)@g' \ + -e 's@%SOURCES%@$(filter-out remote-%,$(make_SOURCES)) remote-$$(REMOTE).c@g' \ + -e 's@%OBJECTS%@$(filter-out remote-%,$(make_OBJECTS)) remote-$$(REMOTE).o@g' \ + -e 's@%GLOB_SOURCES%@$(globsrc) $(globhdr)@g' \ + -e 's@%GLOB_OBJECTS%@$(globsrc:glob/%.c=%.o)@g' \ + $< > $@ + echo >>$@; echo '# --------------- DEPENDENCIES' >>$@; echo '#' >>$@; \ + cat $(word 2,$^) >>$@ + chmod a-w $@ + +NMakefile: NMakefile.template .dep_segment Makefile + rm -f $@ + cp $< $@ + echo >>$@; echo '# --------------- DEPENDENCIES' >>$@; echo '#' >>$@; \ + sed 's/^\([^ ]*\)\.o:/$$(OUTDIR)\/\1.obj:/' $(word 2,$^) >>$@ + chmod a-w $@ + +# Construct build.sh.in +# +build.sh.in: build.template Makefile + rm -f $@ + sed -e 's@%objs%@$(patsubst %.o,%.$${OBJEXT},$(filter-out remote-%,$(make_OBJECTS)))@g' \ + -e 's@%globobjs%@$(patsubst %.c,%.$${OBJEXT},$(globsrc)))@g' \ + $< > $@ + chmod a-w+x $@ + + +# Use automake to build a dependency list file, for "foreign" makefiles like +# Makefile.DOS. +# +# Automake used to have a --generate-deps flag, but it's gone now, so we have +# to do it ourselves. +# +.dep_segment: Makefile.am maintMakefile $(DEP_FILES) + cat $(DEP_FILES) \ + | sed -e '/^[^:]*\.[ch] *:/d' \ + -e 's, /usr/[^ ]*,,g' \ + -e 's, $(srcdir)/, ,g' \ + -e '/^ \\$$/d' \ + > $@ + +# Get rid of everything "else". +# +maintFILES = configure aclocal.m4 config.h.in Makefile.in stamp-h.in + +CVS-CLEAN-FILES += $(maintFILES) $(TEMPLATES) $(MTEMPLATES) NMakefile \ + missing build.sh.in .dep_segment po-check-? + +# This rule tries to clean the tree right down to how it looks when you do a +# virgin CVS checkout. + +.PHONY: cvs-clean +cvs-clean: maintainer-clean + -rm -f *~ + -rm -f config/*~ config/Makefile.in config/[a-z]* + -rm -f po/*~ po/Makefile.in.in po/Rules-quot po/[a-z]* + -rm -f doc/*~ doc/Makefile.in doc/fdl.texi doc/make-stds.texi \ + doc/texinfo.tex + -rm -f glob/*~ glob/Makefile.in + -rm -f ABOUT-NLS $(CVS-CLEAN-FILES) + + +# ---------------------------------------------------------------------- +# +# The sections below were stolen from the Makefile.maint used by fileutils, +# sh-utils, textutils, CPPI, Bison, and Autoconf. + + +## ---------------- ## +## Updating files. ## +## ---------------- ## + +WGET = wget --passive-ftp --non-verbose +ftp-gnu = ftp://ftp.gnu.org/gnu + +move_if_change = if test -r $(target) && cmp -s $(target).t $(target); then \ + echo $(target) is unchanged; rm -f $(target).t; \ + else \ + mv $(target).t $(target); \ + fi + +# ------------------- # +# Updating PO files. # +# ------------------- # + +po_repo = http://www.iro.umontreal.ca/contrib/po/maint/$(PACKAGE) +.PHONY: do-po-update po-update +do-po-update: + tmppo=/tmp/$(PACKAGE)-$(VERSION)-po &&\ + rm -rf $$tmppo && \ + mkdir $$tmppo && \ + (cd $$tmppo && $(WGET) -r -l1 -nd --no-parent -A '*.po' $(po_repo)) &&\ + cp $$tmppo/*.po po + cd po && $(MAKE) update-po + $(MAKE) po-check + +po-update: + if test -d "po"; then \ + $(MAKE) do-po-update; \ + fi + +# -------------------------- # +# Updating GNU build tools. # +# -------------------------- # + +# The following pseudo table associates a local directory and a URL +# with each of the files that belongs to some other package and is +# regularly updated from the specified URL. +# $(srcdir)/src/ansi2knr.c + + +wget_files ?= $(srcdir)/config/config.guess $(srcdir)/config/config.sub \ + $(srcdir)/doc/texinfo.tex $(srcdir)/doc/make-stds.texi \ + $(srcdir)/doc/fdl.texi + +wget-targets = $(patsubst %, get-%, $(wget_files)) + +config.guess-url_prefix = $(ftp-gnu)/config/ +config.sub-url_prefix = $(ftp-gnu)/config/ + +ansi2knr.c-url_prefix = ftp://ftp.cs.wisc.edu/ghost/ + +texinfo.tex-url_prefix = $(ftp-gnu)/texinfo/ + +standards.texi-url_prefix = $(ftp-gnu)/GNUinfo/ +make-stds.texi-url_prefix = $(ftp-gnu)/GNUinfo/ +fdl.texi-url_prefix = $(ftp-gnu)/GNUinfo/ + +target = $(patsubst get-%,%,$@) +url = $($(notdir $(target))-url_prefix)$(notdir $(target)) + +.PHONY: $(wget-targets) +$(wget-targets): + @echo $(WGET) $(url) -O $(target) \ + && $(WGET) $(url) -O $(target).t \ + && $(move_if_change) + +.PHONY: wget-update +wget-update: $(wget-targets) + + +# Updating tools via CVS. +cvs_files ?= depcomp missing +cvs-targets = $(patsubst %, get-%, $(cvs_files)) + +automake_repo = :pserver:anoncvs@anoncvs.cygnus.com:/cvs/automake +.PHONY: $(cvs-targets) +$(cvs-targets): + $(CVS) -d $(automake_repo) co -p automake/lib/$(notdir $(target)) \ + >$(target).t \ + && $(move_if_change) + +.PHONY: cvs-update +cvs-update: $(cvs-targets) + + +# --------------------- # +# Updating everything. # +# --------------------- # + +.PHONY: update +update: wget-update po-update + +# cvs-update + + +## --------------- ## +## Sanity checks. ## +## --------------- ## + +# Checks that don't require cvs. Run `changelog-check' last as +# previous test may reveal problems requiring new ChangeLog entries. +local-check: po-check changelog-check + +# copyright-check writable-files + +changelog-check: + if head ChangeLog | grep 'Version $(VERSION)' >/dev/null; then \ + :; \ + else \ + echo "$(VERSION) not in ChangeLog" 1>&2; \ + exit 1; \ + fi + +# Verify that all source files using _() are listed in po/POTFILES.in. +# Ignore make.h; it defines _(). +po-check: + if test -f po/POTFILES.in; then \ + grep -E -v '^(#|$$)' po/POTFILES.in | sort > $@-1; \ + grep -E -l '\b_\(' *.c *.h | grep -v make.h | sort > $@-2; \ + diff -u $@-1 $@-2 || exit 1; \ + rm -f $@-1 $@-2; \ + fi diff --git a/src/mkutil/make/make.1 b/src/mkutil/make/make.1 index 5b096776..c3007d6e 100644 --- a/src/mkutil/make/make.1 +++ b/src/mkutil/make/make.1 @@ -1,291 +1,291 @@ -.TH MAKE 1L "22 August 1989" "GNU" "LOCAL USER COMMANDS" -.SH NAME -make \- GNU make utility to maintain groups of programs -.SH SYNOPSIS -.B "make " -[ -.B \-f -.I makefile -] [ option ] ... -target ... -.SH WARNING -This man page is an extract of the documentation of -.I GNU make . -It is updated only occasionally, because the GNU project does not use nroff. -For complete, current documentation, refer to the Info file -.B make.info -which is made from the Texinfo source file -.BR make.texinfo . -.SH DESCRIPTION -.LP -The purpose of the -.I make -utility is to determine automatically which -pieces of a large program need to be recompiled, and issue the commands to -recompile them. -The manual describes the GNU implementation of -.IR make , -which was written by Richard Stallman and Roland McGrath. -Our examples show C programs, since they are most common, but you can use -.I make -with any programming language whose compiler can be run with a -shell command. -In fact, -.I make -is not limited to programs. -You can use it to describe any task where some files must be -updated automatically from others whenever the others change. -.LP -To prepare to use -.IR make , -you must write a file called the -.I makefile -that describes the relationships among files in your program, and the -states the commands for updating each file. -In a program, typically the executable file is updated from object -files, which are in turn made by compiling source files. -.LP -Once a suitable makefile exists, each time you change some source files, -this simple shell command: -.sp 1 -.RS -.B make -.RE -.sp 1 -suffices to perform all necessary recompilations. -The -.I make -program uses the makefile data base and the last-modification times -of the files to decide which of the files need to be updated. -For each of those files, it issues the commands recorded in the data base. -.LP -.I make -executes commands in the -.I makefile -to update -one or more target -.IR names , -where -.I name -is typically a program. -If no -.B \-f -option is present, -.I make -will look for the makefiles -.IR GNUmakefile , -.IR makefile , -and -.IR Makefile , -in that order. -.LP -Normally you should call your makefile either -.I makefile -or -.IR Makefile . -(We recommend -.I Makefile -because it appears prominently near the beginning of a directory -listing, right near other important files such as -.IR README .) -The first name checked, -.IR GNUmakefile , -is not recommended for most makefiles. -You should use this name if you have a makefile that is specific to GNU -.IR make , -and will not be understood by other versions of -.IR make . -If -.I makefile -is `\-', the standard input is read. -.LP -.I make -updates a target if it depends on prerequisite files -that have been modified since the target was last modified, -or if the target does not exist. -.SH OPTIONS -.sp 1 -.TP 0.5i -.B \-b -.TP 0.5i -.B \-m -These options are ignored for compatibility with other versions of -.IR make . -.TP 0.5i -.BI "\-C " dir -Change to directory -.I dir -before reading the makefiles or doing anything else. -If multiple -.B \-C -options are specified, each is interpreted relative to the -previous one: -.BR "\-C " / -.BR "\-C " etc -is equivalent to -.BR "\-C " /etc. -This is typically used with recursive invocations of -.IR make . -.TP 0.5i -.B \-d -Print debugging information in addition to normal processing. -The debugging information says which files are being considered for -remaking, which file-times are being compared and with what results, -which files actually need to be remade, which implicit rules are -considered and which are applied---everything interesting about how -.I make -decides what to do. -.TP 0.5i -.B \-e -Give variables taken from the environment precedence -over variables from makefiles. -.TP 0.5i -.BI "\-f " file -Use -.I file -as a makefile. -.TP 0.5i -.B \-i -Ignore all errors in commands executed to remake files. -.TP 0.5i -.BI "\-I " dir -Specifies a directory -.I dir -to search for included makefiles. -If several -.B \-I -options are used to specify several directories, the directories are -searched in the order specified. -Unlike the arguments to other flags of -.IR make , -directories given with -.B \-I -flags may come directly after the flag: -.BI \-I dir -is allowed, as well as -.BI "\-I " dir. -This syntax is allowed for compatibility with the C -preprocessor's -.B \-I -flag. -.TP 0.5i -.BI "\-j " jobs -Specifies the number of jobs (commands) to run simultaneously. -If there is more than one -.B \-j -option, the last one is effective. -If the -.B \-j -option is given without an argument, -.IR make -will not limit the number of jobs that can run simultaneously. -.TP 0.5i -.B \-k -Continue as much as possible after an error. -While the target that failed, and those that depend on it, cannot -be remade, the other dependencies of these targets can be processed -all the same. -.TP 0.5i -.B \-l -.TP 0.5i -.BI "\-l " load -Specifies that no new jobs (commands) should be started if there are -others jobs running and the load average is at least -.I load -(a floating-point number). -With no argument, removes a previous load limit. -.TP 0.5i -.B \-n -Print the commands that would be executed, but do not execute them. -.TP 0.5i -.BI "\-o " file -Do not remake the file -.I file -even if it is older than its dependencies, and do not remake anything -on account of changes in -.IR file . -Essentially the file is treated as very old and its rules are ignored. -.TP 0.5i -.B \-p -Print the data base (rules and variable values) that results from -reading the makefiles; then execute as usual or as otherwise -specified. -This also prints the version information given by the -.B \-v -switch (see below). -To print the data base without trying to remake any files, use -.B make -.B \-p -.BI \-f /dev/null. -.TP 0.5i -.B \-q -``Question mode''. -Do not run any commands, or print anything; just return an exit status -that is zero if the specified targets are already up to date, nonzero -otherwise. -.TP 0.5i -.B \-r -Eliminate use of the built-in implicit rules. -Also clear out the default list of suffixes for suffix rules. -.TP 0.5i -.B \-s -Silent operation; do not print the commands as they are executed. -.TP 0.5i -.B \-S -Cancel the effect of the -.B \-k -option. -This is never necessary except in a recursive -.I make -where -.B \-k -might be inherited from the top-level -.I make -via MAKEFLAGS or if you set -.B \-k -in MAKEFLAGS in your environment. -.TP 0.5i -.B \-t -Touch files (mark them up to date without really changing them) -instead of running their commands. -This is used to pretend that the commands were done, in order to fool -future invocations of -.IR make . -.TP 0.5i -.B \-v -Print the version of the -.I make -program plus a copyright, a list of authors and a notice that there -is no warranty. -.TP 0.5i -.B \-w -Print a message containing the working directory -before and after other processing. -This may be useful for tracking down errors from complicated nests of -recursive -.I make -commands. -.TP 0.5i -.BI "\-W " file -Pretend that the target -.I file -has just been modified. -When used with the -.B \-n -flag, this shows you what would happen if you were to modify that file. -Without -.BR \-n , -it is almost the same as running a -.I touch -command on the given file before running -.IR make , -except that the modification time is changed only in the imagination of -.IR make . -.SH "SEE ALSO" -.I "The GNU Make Manual" -.SH BUGS -See the chapter `Problems and Bugs' in -.I "The GNU Make Manual" . -.SH AUTHOR -This manual page contributed by Dennis Morse of Stanford University. -It has been reworked by Roland McGrath. +.TH MAKE 1L "22 August 1989" "GNU" "LOCAL USER COMMANDS" +.SH NAME +make \- GNU make utility to maintain groups of programs +.SH SYNOPSIS +.B "make " +[ +.B \-f +.I makefile +] [ option ] ... +target ... +.SH WARNING +This man page is an extract of the documentation of +.I GNU make . +It is updated only occasionally, because the GNU project does not use nroff. +For complete, current documentation, refer to the Info file +.B make.info +which is made from the Texinfo source file +.BR make.texinfo . +.SH DESCRIPTION +.LP +The purpose of the +.I make +utility is to determine automatically which +pieces of a large program need to be recompiled, and issue the commands to +recompile them. +The manual describes the GNU implementation of +.IR make , +which was written by Richard Stallman and Roland McGrath. +Our examples show C programs, since they are most common, but you can use +.I make +with any programming language whose compiler can be run with a +shell command. +In fact, +.I make +is not limited to programs. +You can use it to describe any task where some files must be +updated automatically from others whenever the others change. +.LP +To prepare to use +.IR make , +you must write a file called the +.I makefile +that describes the relationships among files in your program, and the +states the commands for updating each file. +In a program, typically the executable file is updated from object +files, which are in turn made by compiling source files. +.LP +Once a suitable makefile exists, each time you change some source files, +this simple shell command: +.sp 1 +.RS +.B make +.RE +.sp 1 +suffices to perform all necessary recompilations. +The +.I make +program uses the makefile data base and the last-modification times +of the files to decide which of the files need to be updated. +For each of those files, it issues the commands recorded in the data base. +.LP +.I make +executes commands in the +.I makefile +to update +one or more target +.IR names , +where +.I name +is typically a program. +If no +.B \-f +option is present, +.I make +will look for the makefiles +.IR GNUmakefile , +.IR makefile , +and +.IR Makefile , +in that order. +.LP +Normally you should call your makefile either +.I makefile +or +.IR Makefile . +(We recommend +.I Makefile +because it appears prominently near the beginning of a directory +listing, right near other important files such as +.IR README .) +The first name checked, +.IR GNUmakefile , +is not recommended for most makefiles. +You should use this name if you have a makefile that is specific to GNU +.IR make , +and will not be understood by other versions of +.IR make . +If +.I makefile +is `\-', the standard input is read. +.LP +.I make +updates a target if it depends on prerequisite files +that have been modified since the target was last modified, +or if the target does not exist. +.SH OPTIONS +.sp 1 +.TP 0.5i +.B \-b +.TP 0.5i +.B \-m +These options are ignored for compatibility with other versions of +.IR make . +.TP 0.5i +.BI "\-C " dir +Change to directory +.I dir +before reading the makefiles or doing anything else. +If multiple +.B \-C +options are specified, each is interpreted relative to the +previous one: +.BR "\-C " / +.BR "\-C " etc +is equivalent to +.BR "\-C " /etc. +This is typically used with recursive invocations of +.IR make . +.TP 0.5i +.B \-d +Print debugging information in addition to normal processing. +The debugging information says which files are being considered for +remaking, which file-times are being compared and with what results, +which files actually need to be remade, which implicit rules are +considered and which are applied---everything interesting about how +.I make +decides what to do. +.TP 0.5i +.B \-e +Give variables taken from the environment precedence +over variables from makefiles. +.TP 0.5i +.BI "\-f " file +Use +.I file +as a makefile. +.TP 0.5i +.B \-i +Ignore all errors in commands executed to remake files. +.TP 0.5i +.BI "\-I " dir +Specifies a directory +.I dir +to search for included makefiles. +If several +.B \-I +options are used to specify several directories, the directories are +searched in the order specified. +Unlike the arguments to other flags of +.IR make , +directories given with +.B \-I +flags may come directly after the flag: +.BI \-I dir +is allowed, as well as +.BI "\-I " dir. +This syntax is allowed for compatibility with the C +preprocessor's +.B \-I +flag. +.TP 0.5i +.BI "\-j " jobs +Specifies the number of jobs (commands) to run simultaneously. +If there is more than one +.B \-j +option, the last one is effective. +If the +.B \-j +option is given without an argument, +.IR make +will not limit the number of jobs that can run simultaneously. +.TP 0.5i +.B \-k +Continue as much as possible after an error. +While the target that failed, and those that depend on it, cannot +be remade, the other dependencies of these targets can be processed +all the same. +.TP 0.5i +.B \-l +.TP 0.5i +.BI "\-l " load +Specifies that no new jobs (commands) should be started if there are +others jobs running and the load average is at least +.I load +(a floating-point number). +With no argument, removes a previous load limit. +.TP 0.5i +.B \-n +Print the commands that would be executed, but do not execute them. +.TP 0.5i +.BI "\-o " file +Do not remake the file +.I file +even if it is older than its dependencies, and do not remake anything +on account of changes in +.IR file . +Essentially the file is treated as very old and its rules are ignored. +.TP 0.5i +.B \-p +Print the data base (rules and variable values) that results from +reading the makefiles; then execute as usual or as otherwise +specified. +This also prints the version information given by the +.B \-v +switch (see below). +To print the data base without trying to remake any files, use +.B make +.B \-p +.BI \-f /dev/null. +.TP 0.5i +.B \-q +``Question mode''. +Do not run any commands, or print anything; just return an exit status +that is zero if the specified targets are already up to date, nonzero +otherwise. +.TP 0.5i +.B \-r +Eliminate use of the built-in implicit rules. +Also clear out the default list of suffixes for suffix rules. +.TP 0.5i +.B \-s +Silent operation; do not print the commands as they are executed. +.TP 0.5i +.B \-S +Cancel the effect of the +.B \-k +option. +This is never necessary except in a recursive +.I make +where +.B \-k +might be inherited from the top-level +.I make +via MAKEFLAGS or if you set +.B \-k +in MAKEFLAGS in your environment. +.TP 0.5i +.B \-t +Touch files (mark them up to date without really changing them) +instead of running their commands. +This is used to pretend that the commands were done, in order to fool +future invocations of +.IR make . +.TP 0.5i +.B \-v +Print the version of the +.I make +program plus a copyright, a list of authors and a notice that there +is no warranty. +.TP 0.5i +.B \-w +Print a message containing the working directory +before and after other processing. +This may be useful for tracking down errors from complicated nests of +recursive +.I make +commands. +.TP 0.5i +.BI "\-W " file +Pretend that the target +.I file +has just been modified. +When used with the +.B \-n +flag, this shows you what would happen if you were to modify that file. +Without +.BR \-n , +it is almost the same as running a +.I touch +command on the given file before running +.IR make , +except that the modification time is changed only in the imagination of +.IR make . +.SH "SEE ALSO" +.I "The GNU Make Manual" +.SH BUGS +See the chapter `Problems and Bugs' in +.I "The GNU Make Manual" . +.SH AUTHOR +This manual page contributed by Dennis Morse of Stanford University. +It has been reworked by Roland McGrath. diff --git a/src/mkutil/make/make.h b/src/mkutil/make/make.h index f7c2ad72..fb5e9eda 100644 --- a/src/mkutil/make/make.h +++ b/src/mkutil/make/make.h @@ -1,593 +1,593 @@ -/* Miscellaneous global declarations and portability cruft for GNU Make. -Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, -2002 Free Software Foundation, Inc. -This file is part of GNU Make. - -GNU Make is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Make is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Make; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* We use instead of "config.h" so that a compilation - using -I. -I$srcdir will use ./config.h rather than $srcdir/config.h - (which it would do because make.h was found in $srcdir). */ -#include -#undef HAVE_CONFIG_H -#define HAVE_CONFIG_H 1 - -/* AIX requires this to be the first thing in the file. */ -#ifndef __GNUC__ -# if HAVE_ALLOCA_H -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); -# endif -# endif -# endif -#endif - - -/* Use prototypes if available. */ -#if defined (__cplusplus) || (defined (__STDC__) && __STDC__) -# undef PARAMS -# define PARAMS(protos) protos -#else /* Not C++ or ANSI C. */ -# undef PARAMS -# define PARAMS(protos) () -#endif /* C++ or ANSI C. */ - -/* Specify we want GNU source code. This must be defined before any - system headers are included. */ - -#define _GNU_SOURCE 1 - - -#ifdef CRAY -/* This must happen before #include so - that the declaration therein is changed. */ -# define signal bsdsignal -#endif - -/* If we're compiling for the dmalloc debugger, turn off string inlining. */ -#if defined(HAVE_DMALLOC_H) && defined(__GNUC__) -# define __NO_STRING_INLINES -#endif - -#include -#include -#include -#include -#include -#ifdef HAVE_SYS_TIMEB_H -/* SCO 3.2 "devsys 4.2" has a prototype for `ftime' in that bombs - unless has been included first. Does every system have a - ? If any does not, configure should check for it. */ -# include -#endif - -#if TIME_WITH_SYS_TIME -# include -# include -#else -# if HAVE_SYS_TIME_H -# include -# else -# include -# endif -#endif - -#include - -#ifndef errno -extern int errno; -#endif - -#ifndef isblank -# define isblank(c) ((c) == ' ' || (c) == '\t') -#endif - -#ifdef HAVE_UNISTD_H -# include -/* Ultrix's unistd.h always defines _POSIX_VERSION, but you only get - POSIX.1 behavior with `cc -YPOSIX', which predefines POSIX itself! */ -# if defined (_POSIX_VERSION) && !defined (ultrix) && !defined (VMS) -# define POSIX 1 -# endif -#endif - -/* Some systems define _POSIX_VERSION but are not really POSIX.1. */ -#if (defined (butterfly) || defined (__arm) || (defined (__mips) && defined (_SYSTYPE_SVR3)) || (defined (sequent) && defined (i386))) -# undef POSIX -#endif - -#if !defined (POSIX) && defined (_AIX) && defined (_POSIX_SOURCE) -# define POSIX 1 -#endif - -#ifndef RETSIGTYPE -# define RETSIGTYPE void -#endif - -#ifndef sigmask -# define sigmask(sig) (1 << ((sig) - 1)) -#endif - -#ifndef HAVE_SA_RESTART -# define SA_RESTART 0 -#endif - -#ifdef HAVE_LIMITS_H -# include -#endif -#ifdef HAVE_SYS_PARAM_H -# include -#endif - -#ifndef PATH_MAX -# ifndef POSIX -# define PATH_MAX MAXPATHLEN -# endif -#endif -#ifndef MAXPATHLEN -# define MAXPATHLEN 1024 -#endif - -#ifdef PATH_MAX -# define GET_PATH_MAX PATH_MAX -# define PATH_VAR(var) char var[PATH_MAX] -#else -# define NEED_GET_PATH_MAX 1 -# define GET_PATH_MAX (get_path_max ()) -# define PATH_VAR(var) char *var = (char *) alloca (GET_PATH_MAX) -extern unsigned int get_path_max PARAMS ((void)); -#endif - -#ifndef CHAR_BIT -# define CHAR_BIT 8 -#endif - -/* Nonzero if the integer type T is signed. */ -#define INTEGER_TYPE_SIGNED(t) ((t) -1 < 0) - -/* The minimum and maximum values for the integer type T. - Use ~ (t) 0, not -1, for portability to 1's complement hosts. */ -#define INTEGER_TYPE_MINIMUM(t) \ - (! INTEGER_TYPE_SIGNED (t) ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)) -#define INTEGER_TYPE_MAXIMUM(t) (~ (t) 0 - INTEGER_TYPE_MINIMUM (t)) - -#ifndef CHAR_MAX -# define CHAR_MAX INTEGER_TYPE_MAXIMUM (char) -#endif - -#ifdef STAT_MACROS_BROKEN -# ifdef S_ISREG -# undef S_ISREG -# endif -# ifdef S_ISDIR -# undef S_ISDIR -# endif -#endif /* STAT_MACROS_BROKEN. */ - -#ifndef S_ISREG -# define S_ISREG(mode) (((mode) & S_IFMT) == S_IFREG) -#endif -#ifndef S_ISDIR -# define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR) -#endif - -#ifdef VMS -# include -# include -# include -# include -/* Needed to use alloca on VMS. */ -# include -#endif - -#ifndef __attribute__ -/* This feature is available in gcc versions 2.5 and later. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__ -# define __attribute__(x) -# endif -/* The __-protected variants of `format' and `printf' attributes - are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) -# define __format__ format -# define __printf__ printf -# endif -#endif - -#if defined (STDC_HEADERS) || defined (__GNU_LIBRARY__) -# include -# include -# define ANSI_STRING 1 -#else /* No standard headers. */ -# ifdef HAVE_STRING_H -# include -# define ANSI_STRING 1 -# else -# include -# endif -# ifdef HAVE_MEMORY_H -# include -# endif -# ifdef HAVE_STDLIB_H -# include -# else -extern char *malloc PARAMS ((int)); -extern char *realloc PARAMS ((char *, int)); -extern void free PARAMS ((char *)); - -extern void abort PARAMS ((void)) __attribute__ ((noreturn)); -extern void exit PARAMS ((int)) __attribute__ ((noreturn)); -# endif /* HAVE_STDLIB_H. */ - -#endif /* Standard headers. */ - -/* These should be in stdlib.h. Make sure we have them. */ -#ifndef EXIT_SUCCESS -# define EXIT_SUCCESS 0 -#endif -#ifndef EXIT_FAILURE -# define EXIT_FAILURE 0 -#endif - -#ifdef ANSI_STRING - -# ifndef bcmp -# define bcmp(s1, s2, n) memcmp ((s1), (s2), (n)) -# endif -# ifndef bzero -# define bzero(s, n) memset ((s), 0, (n)) -# endif -# if defined(HAVE_MEMMOVE) && !defined(bcopy) -# define bcopy(s, d, n) memmove ((d), (s), (n)) -# endif - -#else /* Not ANSI_STRING. */ - -# ifndef HAVE_STRCHR -# define strchr(s, c) index((s), (c)) -# define strrchr(s, c) rindex((s), (c)) -# endif - -# ifndef bcmp -extern int bcmp PARAMS ((const char *, const char *, int)); -# endif -# ifndef bzero -extern void bzero PARAMS ((char *, int)); -#endif -# ifndef bcopy -extern void bcopy PARAMS ((const char *b1, char *b2, int)); -# endif - -#endif /* ANSI_STRING. */ -#undef ANSI_STRING - -/* SCO Xenix has a buggy macro definition in . */ -#undef strerror - -#if !defined(ANSI_STRING) && !defined(__DECC) -extern char *strerror PARAMS ((int errnum)); -#endif - -#if HAVE_INTTYPES_H -# include -#endif -#define FILE_TIMESTAMP uintmax_t - -#if !defined(HAVE_STRSIGNAL) -extern char *strsignal PARAMS ((int signum)); -#endif - -/* ISDIGIT offers the following features: - - Its arg may be any int or unsigned int; it need not be an unsigned char. - - It's guaranteed to evaluate its argument exactly once. - NOTE! Make relies on this behavior, don't change it! - - It's typically faster. - POSIX 1003.2-1992 section 2.5.2.1 page 50 lines 1556-1558 says that - only '0' through '9' are digits. Prefer ISDIGIT to isdigit() unless - it's important to use the locale's definition of `digit' even when the - host does not conform to POSIX. */ -#define ISDIGIT(c) ((unsigned) (c) - '0' <= 9) - -#ifndef iAPX286 -# define streq(a, b) \ - ((a) == (b) || \ - (*(a) == *(b) && (*(a) == '\0' || !strcmp ((a) + 1, (b) + 1)))) -# ifdef HAVE_CASE_INSENSITIVE_FS -/* This is only used on Windows/DOS platforms, so we assume strcmpi(). */ -# define strieq(a, b) \ - ((a) == (b) \ - || (tolower((unsigned char)*(a)) == tolower((unsigned char)*(b)) \ - && (*(a) == '\0' || !strcmpi ((a) + 1, (b) + 1)))) -# else -# define strieq(a, b) streq(a, b) -# endif -#else -/* Buggy compiler can't handle this. */ -# define streq(a, b) (strcmp ((a), (b)) == 0) -# define strieq(a, b) (strcmp ((a), (b)) == 0) -#endif -#define strneq(a, b, l) (strncmp ((a), (b), (l)) == 0) -#ifdef VMS -extern int strcmpi (const char *,const char *); -#endif - -#if defined(__GNUC__) || defined(ENUM_BITFIELDS) -# define ENUM_BITFIELD(bits) :bits -#else -# define ENUM_BITFIELD(bits) -#endif - -/* Handle gettext and locales. */ - -#if HAVE_LOCALE_H -# include -#else -# define setlocale(category, locale) -#endif - -#include - -#define _(msgid) gettext (msgid) -#define N_(msgid) gettext_noop (msgid) -#define S_(msg1,msg2,num) ngettext (msg1,msg2,num) - -/* Handle other OSs. */ -#if defined(HAVE_DOS_PATHS) -# define PATH_SEPARATOR_CHAR ';' -#elif defined(VMS) -# define PATH_SEPARATOR_CHAR ',' -#else -# define PATH_SEPARATOR_CHAR ':' -#endif - -#ifdef WINDOWS32 -# include -# include -# define pipe(p) _pipe(p, 512, O_BINARY) -# define kill(pid,sig) w32_kill(pid,sig) - -extern void sync_Path_environment(void); -extern int kill(int pid, int sig); -extern int safe_stat(char *file, struct stat *sb); -extern char *end_of_token_w32(char *s, char stopchar); -extern int find_and_set_default_shell(char *token); - -/* indicates whether or not we have Bourne shell */ -extern int no_default_sh_exe; - -/* is default_shell unixy? */ -extern int unixy_shell; -#endif /* WINDOWS32 */ - -struct floc - { - char *filenm; - unsigned long lineno; - }; -#define NILF ((struct floc *)0) - -#define STRING_SIZE_TUPLE(_s) (_s), (sizeof (_s)-1) - - -/* Fancy processing for variadic functions in both ANSI and pre-ANSI - compilers. */ -#if defined __STDC__ && __STDC__ -extern void message (int prefix, const char *fmt, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -extern void error (const struct floc *flocp, const char *fmt, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -extern void fatal (const struct floc *flocp, const char *fmt, ...) - __attribute__ ((noreturn, __format__ (__printf__, 2, 3))); -#else -extern void message (); -extern void error (); -extern void fatal (); -#endif - -extern void die PARAMS ((int)) __attribute__ ((noreturn)); -extern void log_working_directory PARAMS ((int)); -extern void pfatal_with_name PARAMS ((const char *)) __attribute__ ((noreturn)); -extern void perror_with_name PARAMS ((const char *, const char *)); -extern char *savestring PARAMS ((const char *, unsigned int)); -extern char *concat PARAMS ((const char *, const char *, const char *)); -extern char *xmalloc PARAMS ((unsigned int)); -extern char *xrealloc PARAMS ((char *, unsigned int)); -extern char *xstrdup PARAMS ((const char *)); -extern char *find_next_token PARAMS ((char **, unsigned int *)); -extern char *next_token PARAMS ((const char *)); -extern char *end_of_token PARAMS ((char *)); -extern void collapse_continuations PARAMS ((char *)); -extern void remove_comments PARAMS((char *)); -extern char *sindex PARAMS ((const char *, unsigned int, \ - const char *, unsigned int)); -extern char *lindex PARAMS ((const char *, const char *, int)); -extern int alpha_compare PARAMS ((const void *, const void *)); -extern void print_spaces PARAMS ((unsigned int)); -extern char *find_char_unquote PARAMS ((char *, int, int, int)); -extern char *find_percent PARAMS ((char *)); -extern FILE *open_tmpfile PARAMS ((char **, const char *)); - -#ifndef NO_ARCHIVES -extern int ar_name PARAMS ((char *)); -extern void ar_parse_name PARAMS ((char *, char **, char **)); -extern int ar_touch PARAMS ((char *)); -extern time_t ar_member_date PARAMS ((char *)); -#endif - -extern int dir_file_exists_p PARAMS ((char *, char *)); -extern int file_exists_p PARAMS ((char *)); -extern int file_impossible_p PARAMS ((char *)); -extern void file_impossible PARAMS ((char *)); -extern char *dir_name PARAMS ((char *)); -extern void hash_init_directories PARAMS ((void)); - -extern void define_default_variables PARAMS ((void)); -extern void set_default_suffixes PARAMS ((void)); -extern void install_default_suffix_rules PARAMS ((void)); -extern void install_default_implicit_rules PARAMS ((void)); - -extern void build_vpath_lists PARAMS ((void)); -extern void construct_vpath_list PARAMS ((char *pattern, char *dirpath)); -extern int vpath_search PARAMS ((char **file, FILE_TIMESTAMP *mtime_ptr)); -extern int gpath_search PARAMS ((char *file, int len)); - -extern void construct_include_path PARAMS ((char **arg_dirs)); - -extern void user_access PARAMS ((void)); -extern void make_access PARAMS ((void)); -extern void child_access PARAMS ((void)); - -#ifdef HAVE_VFORK_H -# include -#endif - -/* We omit these declarations on non-POSIX systems which define _POSIX_VERSION, - because such systems often declare them in header files anyway. */ - -#if !defined (__GNU_LIBRARY__) && !defined (POSIX) && !defined (_POSIX_VERSION) && !defined(WINDOWS32) - -extern long int atol (); -# ifndef VMS -extern long int lseek (); -# endif - -#endif /* Not GNU C library or POSIX. */ - -#ifdef HAVE_GETCWD -# if !defined(VMS) && !defined(__DECC) -extern char *getcwd (); -#endif -#else -extern char *getwd (); -# define getcwd(buf, len) getwd (buf) -#endif - -extern const struct floc *reading_file; - -extern char **environ; - -extern int just_print_flag, silent_flag, ignore_errors_flag, keep_going_flag; -extern int print_data_base_flag, question_flag, touch_flag, always_make_flag; -extern int env_overrides, no_builtin_rules_flag, no_builtin_variables_flag; -extern int print_version_flag, print_directory_flag; -extern int warn_undefined_variables_flag, posix_pedantic, not_parallel; -extern int clock_skew_detected; - -/* can we run commands via 'sh -c xxx' or must we use batch files? */ -extern int batch_mode_shell; - -extern unsigned int job_slots; -extern int job_fds[2]; -extern int job_rfd; -#ifndef NO_FLOAT -extern double max_load_average; -#else -extern int max_load_average; -#endif - -extern char *program; -extern char *starting_directory; -extern unsigned int makelevel; -extern char *version_string, *remote_description; - -extern unsigned int commands_started; - -extern int handling_fatal_signal; - - -#ifndef MIN -#define MIN(_a,_b) ((_a)<(_b)?(_a):(_b)) -#endif -#ifndef MAX -#define MAX(_a,_b) ((_a)>(_b)?(_a):(_b)) -#endif - -#ifdef VMS -# define MAKE_SUCCESS 1 -# define MAKE_TROUBLE 2 -# define MAKE_FAILURE 3 -#else -# define MAKE_SUCCESS 0 -# define MAKE_TROUBLE 1 -# define MAKE_FAILURE 2 -#endif - -/* Set up heap debugging library dmalloc. */ - -#ifdef HAVE_DMALLOC_H -#include -#endif - -#ifndef initialize_main -# ifdef __EMX__ -# define initialize_main(pargc, pargv) \ - { _wildcard(pargc, pargv); _response(pargc, pargv); } -# else -# define initialize_main(pargc, pargv) -# endif -#endif - - -#ifdef __EMX__ -# if !HAVE_STRCASECMP -# define strcasecmp stricmp -# endif - -# if !defined chdir -# define chdir _chdir2 -# endif -# if !defined getcwd -# define getcwd _getcwd2 -# endif - -/* NO_CHDIR2 causes make not to use _chdir2() and _getcwd2() instead of - chdir() and getcwd(). This avoids some error messages for the - make testsuite but restricts the drive letter support. */ -# ifdef NO_CHDIR2 -# warning NO_CHDIR2: usage of drive letters restricted -# undef chdir -# undef getcwd -# endif -#endif - -#ifndef initialize_main -# define initialize_main(pargc, pargv) -#endif - - -/* Some systems (like Solaris, PTX, etc.) do not support the SA_RESTART flag - properly according to POSIX. So, we try to wrap common system calls with - checks for EINTR. Note that there are still plenty of system calls that - can fail with EINTR but this, reportedly, gets the vast majority of - failure cases. If you still experience failures you'll need to either get - a system where SA_RESTART works, or you need to avoid -j. */ - -#define EINTRLOOP(_v,_c) while (((_v)=_c)==-1 && errno==EINTR) - -/* While system calls that return integers are pretty consistent about - returning -1 on failure and setting errno in that case, functions that - return pointers are not always so well behaved. Sometimes they return - NULL for expected behavior: one good example is readdir() which returns - NULL at the end of the directory--and _doesn't_ reset errno. So, we have - to do it ourselves here. */ - -#define ENULLLOOP(_v,_c) do{ errno = 0; \ - while (((_v)=_c)==0 && errno==EINTR); }while(0) - +/* Miscellaneous global declarations and portability cruft for GNU Make. +Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, +2002 Free Software Foundation, Inc. +This file is part of GNU Make. + +GNU Make is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Make is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Make; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +/* We use instead of "config.h" so that a compilation + using -I. -I$srcdir will use ./config.h rather than $srcdir/config.h + (which it would do because make.h was found in $srcdir). */ +#include +#undef HAVE_CONFIG_H +#define HAVE_CONFIG_H 1 + +/* AIX requires this to be the first thing in the file. */ +#ifndef __GNUC__ +# if HAVE_ALLOCA_H +# include +# else +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ +char *alloca (); +# endif +# endif +# endif +#endif + + +/* Use prototypes if available. */ +#if defined (__cplusplus) || (defined (__STDC__) && __STDC__) +# undef PARAMS +# define PARAMS(protos) protos +#else /* Not C++ or ANSI C. */ +# undef PARAMS +# define PARAMS(protos) () +#endif /* C++ or ANSI C. */ + +/* Specify we want GNU source code. This must be defined before any + system headers are included. */ + +#define _GNU_SOURCE 1 + + +#ifdef CRAY +/* This must happen before #include so + that the declaration therein is changed. */ +# define signal bsdsignal +#endif + +/* If we're compiling for the dmalloc debugger, turn off string inlining. */ +#if defined(HAVE_DMALLOC_H) && defined(__GNUC__) +# define __NO_STRING_INLINES +#endif + +#include +#include +#include +#include +#include +#ifdef HAVE_SYS_TIMEB_H +/* SCO 3.2 "devsys 4.2" has a prototype for `ftime' in that bombs + unless has been included first. Does every system have a + ? If any does not, configure should check for it. */ +# include +#endif + +#if TIME_WITH_SYS_TIME +# include +# include +#else +# if HAVE_SYS_TIME_H +# include +# else +# include +# endif +#endif + +#include + +#ifndef errno +extern int errno; +#endif + +#ifndef isblank +# define isblank(c) ((c) == ' ' || (c) == '\t') +#endif + +#ifdef HAVE_UNISTD_H +# include +/* Ultrix's unistd.h always defines _POSIX_VERSION, but you only get + POSIX.1 behavior with `cc -YPOSIX', which predefines POSIX itself! */ +# if defined (_POSIX_VERSION) && !defined (ultrix) && !defined (VMS) +# define POSIX 1 +# endif +#endif + +/* Some systems define _POSIX_VERSION but are not really POSIX.1. */ +#if (defined (butterfly) || defined (__arm) || (defined (__mips) && defined (_SYSTYPE_SVR3)) || (defined (sequent) && defined (i386))) +# undef POSIX +#endif + +#if !defined (POSIX) && defined (_AIX) && defined (_POSIX_SOURCE) +# define POSIX 1 +#endif + +#ifndef RETSIGTYPE +# define RETSIGTYPE void +#endif + +#ifndef sigmask +# define sigmask(sig) (1 << ((sig) - 1)) +#endif + +#ifndef HAVE_SA_RESTART +# define SA_RESTART 0 +#endif + +#ifdef HAVE_LIMITS_H +# include +#endif +#ifdef HAVE_SYS_PARAM_H +# include +#endif + +#ifndef PATH_MAX +# ifndef POSIX +# define PATH_MAX MAXPATHLEN +# endif +#endif +#ifndef MAXPATHLEN +# define MAXPATHLEN 1024 +#endif + +#ifdef PATH_MAX +# define GET_PATH_MAX PATH_MAX +# define PATH_VAR(var) char var[PATH_MAX] +#else +# define NEED_GET_PATH_MAX 1 +# define GET_PATH_MAX (get_path_max ()) +# define PATH_VAR(var) char *var = (char *) alloca (GET_PATH_MAX) +extern unsigned int get_path_max PARAMS ((void)); +#endif + +#ifndef CHAR_BIT +# define CHAR_BIT 8 +#endif + +/* Nonzero if the integer type T is signed. */ +#define INTEGER_TYPE_SIGNED(t) ((t) -1 < 0) + +/* The minimum and maximum values for the integer type T. + Use ~ (t) 0, not -1, for portability to 1's complement hosts. */ +#define INTEGER_TYPE_MINIMUM(t) \ + (! INTEGER_TYPE_SIGNED (t) ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)) +#define INTEGER_TYPE_MAXIMUM(t) (~ (t) 0 - INTEGER_TYPE_MINIMUM (t)) + +#ifndef CHAR_MAX +# define CHAR_MAX INTEGER_TYPE_MAXIMUM (char) +#endif + +#ifdef STAT_MACROS_BROKEN +# ifdef S_ISREG +# undef S_ISREG +# endif +# ifdef S_ISDIR +# undef S_ISDIR +# endif +#endif /* STAT_MACROS_BROKEN. */ + +#ifndef S_ISREG +# define S_ISREG(mode) (((mode) & S_IFMT) == S_IFREG) +#endif +#ifndef S_ISDIR +# define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR) +#endif + +#ifdef VMS +# include +# include +# include +# include +/* Needed to use alloca on VMS. */ +# include +#endif + +#ifndef __attribute__ +/* This feature is available in gcc versions 2.5 and later. */ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__ +# define __attribute__(x) +# endif +/* The __-protected variants of `format' and `printf' attributes + are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) +# define __format__ format +# define __printf__ printf +# endif +#endif + +#if defined (STDC_HEADERS) || defined (__GNU_LIBRARY__) +# include +# include +# define ANSI_STRING 1 +#else /* No standard headers. */ +# ifdef HAVE_STRING_H +# include +# define ANSI_STRING 1 +# else +# include +# endif +# ifdef HAVE_MEMORY_H +# include +# endif +# ifdef HAVE_STDLIB_H +# include +# else +extern char *malloc PARAMS ((int)); +extern char *realloc PARAMS ((char *, int)); +extern void free PARAMS ((char *)); + +extern void abort PARAMS ((void)) __attribute__ ((noreturn)); +extern void exit PARAMS ((int)) __attribute__ ((noreturn)); +# endif /* HAVE_STDLIB_H. */ + +#endif /* Standard headers. */ + +/* These should be in stdlib.h. Make sure we have them. */ +#ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 +#endif +#ifndef EXIT_FAILURE +# define EXIT_FAILURE 0 +#endif + +#ifdef ANSI_STRING + +# ifndef bcmp +# define bcmp(s1, s2, n) memcmp ((s1), (s2), (n)) +# endif +# ifndef bzero +# define bzero(s, n) memset ((s), 0, (n)) +# endif +# if defined(HAVE_MEMMOVE) && !defined(bcopy) +# define bcopy(s, d, n) memmove ((d), (s), (n)) +# endif + +#else /* Not ANSI_STRING. */ + +# ifndef HAVE_STRCHR +# define strchr(s, c) index((s), (c)) +# define strrchr(s, c) rindex((s), (c)) +# endif + +# ifndef bcmp +extern int bcmp PARAMS ((const char *, const char *, int)); +# endif +# ifndef bzero +extern void bzero PARAMS ((char *, int)); +#endif +# ifndef bcopy +extern void bcopy PARAMS ((const char *b1, char *b2, int)); +# endif + +#endif /* ANSI_STRING. */ +#undef ANSI_STRING + +/* SCO Xenix has a buggy macro definition in . */ +#undef strerror + +#if !defined(ANSI_STRING) && !defined(__DECC) +extern char *strerror PARAMS ((int errnum)); +#endif + +#if HAVE_INTTYPES_H +# include +#endif +#define FILE_TIMESTAMP uintmax_t + +#if !defined(HAVE_STRSIGNAL) +extern char *strsignal PARAMS ((int signum)); +#endif + +/* ISDIGIT offers the following features: + - Its arg may be any int or unsigned int; it need not be an unsigned char. + - It's guaranteed to evaluate its argument exactly once. + NOTE! Make relies on this behavior, don't change it! + - It's typically faster. + POSIX 1003.2-1992 section 2.5.2.1 page 50 lines 1556-1558 says that + only '0' through '9' are digits. Prefer ISDIGIT to isdigit() unless + it's important to use the locale's definition of `digit' even when the + host does not conform to POSIX. */ +#define ISDIGIT(c) ((unsigned) (c) - '0' <= 9) + +#ifndef iAPX286 +# define streq(a, b) \ + ((a) == (b) || \ + (*(a) == *(b) && (*(a) == '\0' || !strcmp ((a) + 1, (b) + 1)))) +# ifdef HAVE_CASE_INSENSITIVE_FS +/* This is only used on Windows/DOS platforms, so we assume strcmpi(). */ +# define strieq(a, b) \ + ((a) == (b) \ + || (tolower((unsigned char)*(a)) == tolower((unsigned char)*(b)) \ + && (*(a) == '\0' || !strcmpi ((a) + 1, (b) + 1)))) +# else +# define strieq(a, b) streq(a, b) +# endif +#else +/* Buggy compiler can't handle this. */ +# define streq(a, b) (strcmp ((a), (b)) == 0) +# define strieq(a, b) (strcmp ((a), (b)) == 0) +#endif +#define strneq(a, b, l) (strncmp ((a), (b), (l)) == 0) +#ifdef VMS +extern int strcmpi (const char *,const char *); +#endif + +#if defined(__GNUC__) || defined(ENUM_BITFIELDS) +# define ENUM_BITFIELD(bits) :bits +#else +# define ENUM_BITFIELD(bits) +#endif + +/* Handle gettext and locales. */ + +#if HAVE_LOCALE_H +# include +#else +# define setlocale(category, locale) +#endif + +#include + +#define _(msgid) gettext (msgid) +#define N_(msgid) gettext_noop (msgid) +#define S_(msg1,msg2,num) ngettext (msg1,msg2,num) + +/* Handle other OSs. */ +#if defined(HAVE_DOS_PATHS) +# define PATH_SEPARATOR_CHAR ';' +#elif defined(VMS) +# define PATH_SEPARATOR_CHAR ',' +#else +# define PATH_SEPARATOR_CHAR ':' +#endif + +#ifdef WINDOWS32 +# include +# include +# define pipe(p) _pipe(p, 512, O_BINARY) +# define kill(pid,sig) w32_kill(pid,sig) + +extern void sync_Path_environment(void); +extern int kill(int pid, int sig); +extern int safe_stat(char *file, struct stat *sb); +extern char *end_of_token_w32(char *s, char stopchar); +extern int find_and_set_default_shell(char *token); + +/* indicates whether or not we have Bourne shell */ +extern int no_default_sh_exe; + +/* is default_shell unixy? */ +extern int unixy_shell; +#endif /* WINDOWS32 */ + +struct floc + { + char *filenm; + unsigned long lineno; + }; +#define NILF ((struct floc *)0) + +#define STRING_SIZE_TUPLE(_s) (_s), (sizeof (_s)-1) + + +/* Fancy processing for variadic functions in both ANSI and pre-ANSI + compilers. */ +#if defined __STDC__ && __STDC__ +extern void message (int prefix, const char *fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); +extern void error (const struct floc *flocp, const char *fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); +extern void fatal (const struct floc *flocp, const char *fmt, ...) + __attribute__ ((noreturn, __format__ (__printf__, 2, 3))); +#else +extern void message (); +extern void error (); +extern void fatal (); +#endif + +extern void die PARAMS ((int)) __attribute__ ((noreturn)); +extern void log_working_directory PARAMS ((int)); +extern void pfatal_with_name PARAMS ((const char *)) __attribute__ ((noreturn)); +extern void perror_with_name PARAMS ((const char *, const char *)); +extern char *savestring PARAMS ((const char *, unsigned int)); +extern char *concat PARAMS ((const char *, const char *, const char *)); +extern char *xmalloc PARAMS ((unsigned int)); +extern char *xrealloc PARAMS ((char *, unsigned int)); +extern char *xstrdup PARAMS ((const char *)); +extern char *find_next_token PARAMS ((char **, unsigned int *)); +extern char *next_token PARAMS ((const char *)); +extern char *end_of_token PARAMS ((char *)); +extern void collapse_continuations PARAMS ((char *)); +extern void remove_comments PARAMS((char *)); +extern char *sindex PARAMS ((const char *, unsigned int, \ + const char *, unsigned int)); +extern char *lindex PARAMS ((const char *, const char *, int)); +extern int alpha_compare PARAMS ((const void *, const void *)); +extern void print_spaces PARAMS ((unsigned int)); +extern char *find_char_unquote PARAMS ((char *, int, int, int)); +extern char *find_percent PARAMS ((char *)); +extern FILE *open_tmpfile PARAMS ((char **, const char *)); + +#ifndef NO_ARCHIVES +extern int ar_name PARAMS ((char *)); +extern void ar_parse_name PARAMS ((char *, char **, char **)); +extern int ar_touch PARAMS ((char *)); +extern time_t ar_member_date PARAMS ((char *)); +#endif + +extern int dir_file_exists_p PARAMS ((char *, char *)); +extern int file_exists_p PARAMS ((char *)); +extern int file_impossible_p PARAMS ((char *)); +extern void file_impossible PARAMS ((char *)); +extern char *dir_name PARAMS ((char *)); +extern void hash_init_directories PARAMS ((void)); + +extern void define_default_variables PARAMS ((void)); +extern void set_default_suffixes PARAMS ((void)); +extern void install_default_suffix_rules PARAMS ((void)); +extern void install_default_implicit_rules PARAMS ((void)); + +extern void build_vpath_lists PARAMS ((void)); +extern void construct_vpath_list PARAMS ((char *pattern, char *dirpath)); +extern int vpath_search PARAMS ((char **file, FILE_TIMESTAMP *mtime_ptr)); +extern int gpath_search PARAMS ((char *file, int len)); + +extern void construct_include_path PARAMS ((char **arg_dirs)); + +extern void user_access PARAMS ((void)); +extern void make_access PARAMS ((void)); +extern void child_access PARAMS ((void)); + +#ifdef HAVE_VFORK_H +# include +#endif + +/* We omit these declarations on non-POSIX systems which define _POSIX_VERSION, + because such systems often declare them in header files anyway. */ + +#if !defined (__GNU_LIBRARY__) && !defined (POSIX) && !defined (_POSIX_VERSION) && !defined(WINDOWS32) + +extern long int atol (); +# ifndef VMS +extern long int lseek (); +# endif + +#endif /* Not GNU C library or POSIX. */ + +#ifdef HAVE_GETCWD +# if !defined(VMS) && !defined(__DECC) +extern char *getcwd (); +#endif +#else +extern char *getwd (); +# define getcwd(buf, len) getwd (buf) +#endif + +extern const struct floc *reading_file; + +extern char **environ; + +extern int just_print_flag, silent_flag, ignore_errors_flag, keep_going_flag; +extern int print_data_base_flag, question_flag, touch_flag, always_make_flag; +extern int env_overrides, no_builtin_rules_flag, no_builtin_variables_flag; +extern int print_version_flag, print_directory_flag; +extern int warn_undefined_variables_flag, posix_pedantic, not_parallel; +extern int clock_skew_detected; + +/* can we run commands via 'sh -c xxx' or must we use batch files? */ +extern int batch_mode_shell; + +extern unsigned int job_slots; +extern int job_fds[2]; +extern int job_rfd; +#ifndef NO_FLOAT +extern double max_load_average; +#else +extern int max_load_average; +#endif + +extern char *program; +extern char *starting_directory; +extern unsigned int makelevel; +extern char *version_string, *remote_description; + +extern unsigned int commands_started; + +extern int handling_fatal_signal; + + +#ifndef MIN +#define MIN(_a,_b) ((_a)<(_b)?(_a):(_b)) +#endif +#ifndef MAX +#define MAX(_a,_b) ((_a)>(_b)?(_a):(_b)) +#endif + +#ifdef VMS +# define MAKE_SUCCESS 1 +# define MAKE_TROUBLE 2 +# define MAKE_FAILURE 3 +#else +# define MAKE_SUCCESS 0 +# define MAKE_TROUBLE 1 +# define MAKE_FAILURE 2 +#endif + +/* Set up heap debugging library dmalloc. */ + +#ifdef HAVE_DMALLOC_H +#include +#endif + +#ifndef initialize_main +# ifdef __EMX__ +# define initialize_main(pargc, pargv) \ + { _wildcard(pargc, pargv); _response(pargc, pargv); } +# else +# define initialize_main(pargc, pargv) +# endif +#endif + + +#ifdef __EMX__ +# if !HAVE_STRCASECMP +# define strcasecmp stricmp +# endif + +# if !defined chdir +# define chdir _chdir2 +# endif +# if !defined getcwd +# define getcwd _getcwd2 +# endif + +/* NO_CHDIR2 causes make not to use _chdir2() and _getcwd2() instead of + chdir() and getcwd(). This avoids some error messages for the + make testsuite but restricts the drive letter support. */ +# ifdef NO_CHDIR2 +# warning NO_CHDIR2: usage of drive letters restricted +# undef chdir +# undef getcwd +# endif +#endif + +#ifndef initialize_main +# define initialize_main(pargc, pargv) +#endif + + +/* Some systems (like Solaris, PTX, etc.) do not support the SA_RESTART flag + properly according to POSIX. So, we try to wrap common system calls with + checks for EINTR. Note that there are still plenty of system calls that + can fail with EINTR but this, reportedly, gets the vast majority of + failure cases. If you still experience failures you'll need to either get + a system where SA_RESTART works, or you need to avoid -j. */ + +#define EINTRLOOP(_v,_c) while (((_v)=_c)==-1 && errno==EINTR) + +/* While system calls that return integers are pretty consistent about + returning -1 on failure and setting errno in that case, functions that + return pointers are not always so well behaved. Sometimes they return + NULL for expected behavior: one good example is readdir() which returns + NULL at the end of the directory--and _doesn't_ reset errno. So, we have + to do it ourselves here. */ + +#define ENULLLOOP(_v,_c) do{ errno = 0; \ + while (((_v)=_c)==0 && errno==EINTR); }while(0) + diff --git a/src/mkutil/make/make.lnk b/src/mkutil/make/make.lnk index 8fbbeffd..4ee2bb78 100644 --- a/src/mkutil/make/make.lnk +++ b/src/mkutil/make/make.lnk @@ -1,5 +1,5 @@ -FROM LIB:cres.o "commands.o"+"job.o"+"dir.o"+"file.o"+"misc.o"+"main.o"+"read.o"+"remake.o"+"rule.o"+"implicit.o"+"default.o"+"variable.o"+"expand.o"+"function.o"+"vpath.o"+"version.o"+"ar.o"+"arscan.o"+"signame.o"+"remote-stub.o"+"getopt.o"+"getopt1.o"+"alloca.o"+"amiga.o" -TO "make.new" -LIB glob/glob.lib LIB:sc.lib LIB:amiga.lib -QUIET - +FROM LIB:cres.o "commands.o"+"job.o"+"dir.o"+"file.o"+"misc.o"+"main.o"+"read.o"+"remake.o"+"rule.o"+"implicit.o"+"default.o"+"variable.o"+"expand.o"+"function.o"+"vpath.o"+"version.o"+"ar.o"+"arscan.o"+"signame.o"+"remote-stub.o"+"getopt.o"+"getopt1.o"+"alloca.o"+"amiga.o" +TO "make.new" +LIB glob/glob.lib LIB:sc.lib LIB:amiga.lib +QUIET + diff --git a/src/mkutil/make/makefile.vms b/src/mkutil/make/makefile.vms index 3ada8314..b4ef03b8 100644 --- a/src/mkutil/make/makefile.vms +++ b/src/mkutil/make/makefile.vms @@ -1,147 +1,147 @@ -# Copyright (C) 1988, 1989, 1996, 1997 Free Software Foundation, Inc. -# This file is part of GNU Make. -# -# VMS extensions from GNU Make 3.60 imported by -# Klaus Kämpf (kkaempf@rmi.de) -# Modified for version 3.78.1 by Hartmut.Becker@compaq.com. -# Modified for version 3.80 by zinser@decus.de -# -# GNU Make is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# GNU Make is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Make; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - -CC = cc -CP = copy - -%.obj: %.c - $(CC) $(CFLAGS)/obj=$@ $< -# -# Makefile for GNU Make -# - -ifeq ($(CC),cc) -CFLAGS = $(defines) /include=([],[.glob])/prefix=all/standard=relaxed -else -CFLAGS = $(defines) /include=([],[.glob]) -endif -#LDFLAGS = /deb -LDFLAGS = - -ifeq ($(CC),cc) -defines = /define=("unlink=remove","HAVE_CONFIG_H","VMS","allocated_variable_expand_for_file=alloc_var_expand_for_file") -else -ifeq ($(ARCH),VAX) -defines = /define=("HAVE_CONFIG_H","GCC_IS_NATIVE","VAX") -else -defines = /define=("HAVE_CONFIG_H","GCC_IS_NATIVE") -endif -endif - -LOAD_AVG = /define="NO_LDAV" - -# If you don't want archive support, comment these out. -ARCHIVES = ,ar.obj,arscan.obj -ARCHIVES_SRC = ar.c arscan.c - -# If your system needs extra libraries loaded in, define them here. -# System V probably need -lPW for alloca. -# if on vax, uncomment the following line -#LOADLIBES = ,c.opt/opt -ifeq ($(CC),cc) -#LOADLIBES =,sys$$library:vaxcrtl.olb/lib -CRT0 = -else -LOADLIBES =,gnu_cc_library:libgcc.olb/lib -endif - -# If your system doesn't have alloca, or the one provided is bad, -# get it from the Emacs distribution and define these. -#ALLOCA = ,alloca.obj -#ALLOCASRC = alloca.c - -# If there are remote execution facilities defined, -# enable them with switches here (see remote-*.c). -REMOTE = - -# Any extra object files your system needs. -extras = ,signame.obj,remote-stub.obj,vmsfunctions.obj,vmsify.obj -#,directory.obj -# as an alternative: -glob = ,[.glob]glob.obj,[.glob]fnmatch.obj -getopt = ,getopt.obj,getopt1.obj -# Directory to install `make' in. -bindir = [] -# Directory to install the man page in. -mandir = [] -# Number to put on the man page filename. -manext = 1 - -objs = commands.obj,job.obj,dir.obj,file.obj,misc.obj,hash.obj,\ - main.obj,read.obj,remake.obj,rule.obj,implicit.obj,\ - default.obj,variable.obj,expand.obj,function.obj,\ - vpath.obj,version.obj$(ARCHIVES)$(ALLOCA)$(extras)$(getopt)$(glob) -srcs = commands.c job.c dir.c file.c misc.c hash.c\ - main.c read.c remake.c rule.c implicit.c \ - default.c variable.c expand.c function.c \ - vpath.c version.c vmsfunctions.c vmsify.c $(ARCHIVES_SRC) $(ALLOCASRC) \ - commands.h dep.h filedef.h job.h make.h rule.h variable.h - - -.PHONY: all doc -all: config.h make.exe - -doc: make.info make.dvi - - -make.exe: $(objs) - $(LD)$(LDFLAGS)/exe=$@ $^$(LOADLIBES)$(CRT0) - -.PHONY: clean realclean -clean: - $$ purge [...] - -$(RM) make.exe;,*.obj; - -$(RM) *.opt; - -$(RM) [.glob]*.obj; - -# Automatically generated dependencies. -commands.obj: commands.c make.h dep.h commands.h filedef.h variable.h job.h -job.obj: job.c make.h commands.h job.h filedef.h variable.h -dir.obj: dir.c make.h -file.obj: file.c make.h commands.h dep.h filedef.h variable.h -misc.obj: misc.c make.h dep.h -hash.obj: hash.c make.h hash.h -main.obj: main.c make.h commands.h dep.h filedef.h variable.h job.h -read.obj: read.c make.h commands.h dep.h filedef.h variable.h -remake.obj: remake.c make.h commands.h job.h dep.h filedef.h -rule.obj: rule.c make.h commands.h dep.h filedef.h variable.h rule.h -implicit.obj: implicit.c make.h rule.h dep.h filedef.h -default.obj: default.c make.h rule.h dep.h filedef.h commands.h variable.h -variable.obj: variable.c make.h commands.h variable.h dep.h filedef.h -expand.obj: expand.c make.h commands.h filedef.h variable.h -function.obj: function.c make.h variable.h dep.h commands.h job.h -vpath.obj: vpath.c make.h filedef.h variable.h -version.obj: version.c config.h -arscan.obj: arscan.c -ar.obj: ar.c make.h filedef.h -signame.obj: signame.c -remote-stub.obj: remote-stub.c -[.glob]glob.obj: [.glob]glob.c -[.glob]fnmatch.obj: [.glob]fnmatch.c -getopt.obj: getopt.c -getopt1.obj: getopt1.c -vmsfunctions.obj: vmsfunctions.c make.h vmsdir.h -vmsify.obj: vmsify.c make.h - -config.h: config.h-vms - $(CP) $< $@ +# Copyright (C) 1988, 1989, 1996, 1997 Free Software Foundation, Inc. +# This file is part of GNU Make. +# +# VMS extensions from GNU Make 3.60 imported by +# Klaus Kämpf (kkaempf@rmi.de) +# Modified for version 3.78.1 by Hartmut.Becker@compaq.com. +# Modified for version 3.80 by zinser@decus.de +# +# GNU Make is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# GNU Make is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Make; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +CC = cc +CP = copy + +%.obj: %.c + $(CC) $(CFLAGS)/obj=$@ $< +# +# Makefile for GNU Make +# + +ifeq ($(CC),cc) +CFLAGS = $(defines) /include=([],[.glob])/prefix=all/standard=relaxed +else +CFLAGS = $(defines) /include=([],[.glob]) +endif +#LDFLAGS = /deb +LDFLAGS = + +ifeq ($(CC),cc) +defines = /define=("unlink=remove","HAVE_CONFIG_H","VMS","allocated_variable_expand_for_file=alloc_var_expand_for_file") +else +ifeq ($(ARCH),VAX) +defines = /define=("HAVE_CONFIG_H","GCC_IS_NATIVE","VAX") +else +defines = /define=("HAVE_CONFIG_H","GCC_IS_NATIVE") +endif +endif + +LOAD_AVG = /define="NO_LDAV" + +# If you don't want archive support, comment these out. +ARCHIVES = ,ar.obj,arscan.obj +ARCHIVES_SRC = ar.c arscan.c + +# If your system needs extra libraries loaded in, define them here. +# System V probably need -lPW for alloca. +# if on vax, uncomment the following line +#LOADLIBES = ,c.opt/opt +ifeq ($(CC),cc) +#LOADLIBES =,sys$$library:vaxcrtl.olb/lib +CRT0 = +else +LOADLIBES =,gnu_cc_library:libgcc.olb/lib +endif + +# If your system doesn't have alloca, or the one provided is bad, +# get it from the Emacs distribution and define these. +#ALLOCA = ,alloca.obj +#ALLOCASRC = alloca.c + +# If there are remote execution facilities defined, +# enable them with switches here (see remote-*.c). +REMOTE = + +# Any extra object files your system needs. +extras = ,signame.obj,remote-stub.obj,vmsfunctions.obj,vmsify.obj +#,directory.obj +# as an alternative: +glob = ,[.glob]glob.obj,[.glob]fnmatch.obj +getopt = ,getopt.obj,getopt1.obj +# Directory to install `make' in. +bindir = [] +# Directory to install the man page in. +mandir = [] +# Number to put on the man page filename. +manext = 1 + +objs = commands.obj,job.obj,dir.obj,file.obj,misc.obj,hash.obj,\ + main.obj,read.obj,remake.obj,rule.obj,implicit.obj,\ + default.obj,variable.obj,expand.obj,function.obj,\ + vpath.obj,version.obj$(ARCHIVES)$(ALLOCA)$(extras)$(getopt)$(glob) +srcs = commands.c job.c dir.c file.c misc.c hash.c\ + main.c read.c remake.c rule.c implicit.c \ + default.c variable.c expand.c function.c \ + vpath.c version.c vmsfunctions.c vmsify.c $(ARCHIVES_SRC) $(ALLOCASRC) \ + commands.h dep.h filedef.h job.h make.h rule.h variable.h + + +.PHONY: all doc +all: config.h make.exe + +doc: make.info make.dvi + + +make.exe: $(objs) + $(LD)$(LDFLAGS)/exe=$@ $^$(LOADLIBES)$(CRT0) + +.PHONY: clean realclean +clean: + $$ purge [...] + -$(RM) make.exe;,*.obj; + -$(RM) *.opt; + -$(RM) [.glob]*.obj; + +# Automatically generated dependencies. +commands.obj: commands.c make.h dep.h commands.h filedef.h variable.h job.h +job.obj: job.c make.h commands.h job.h filedef.h variable.h +dir.obj: dir.c make.h +file.obj: file.c make.h commands.h dep.h filedef.h variable.h +misc.obj: misc.c make.h dep.h +hash.obj: hash.c make.h hash.h +main.obj: main.c make.h commands.h dep.h filedef.h variable.h job.h +read.obj: read.c make.h commands.h dep.h filedef.h variable.h +remake.obj: remake.c make.h commands.h job.h dep.h filedef.h +rule.obj: rule.c make.h commands.h dep.h filedef.h variable.h rule.h +implicit.obj: implicit.c make.h rule.h dep.h filedef.h +default.obj: default.c make.h rule.h dep.h filedef.h commands.h variable.h +variable.obj: variable.c make.h commands.h variable.h dep.h filedef.h +expand.obj: expand.c make.h commands.h filedef.h variable.h +function.obj: function.c make.h variable.h dep.h commands.h job.h +vpath.obj: vpath.c make.h filedef.h variable.h +version.obj: version.c config.h +arscan.obj: arscan.c +ar.obj: ar.c make.h filedef.h +signame.obj: signame.c +remote-stub.obj: remote-stub.c +[.glob]glob.obj: [.glob]glob.c +[.glob]fnmatch.obj: [.glob]fnmatch.c +getopt.obj: getopt.c +getopt1.obj: getopt1.c +vmsfunctions.obj: vmsfunctions.c make.h vmsdir.h +vmsify.obj: vmsify.c make.h + +config.h: config.h-vms + $(CP) $< $@ diff --git a/src/mkutil/make/po/.cvsignore b/src/mkutil/make/po/.cvsignore deleted file mode 100644 index d01e6b30..00000000 --- a/src/mkutil/make/po/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -*.gmo *.mo *.pot *.po - -Makefile Makefile.in Makefile.in.in -Rules-quot -*.sed *.sin *.header -POTFILES diff --git a/src/mkutil/make/po/CVS/Entries b/src/mkutil/make/po/CVS/Entries index f4ae012d..2c6b6b1d 100644 --- a/src/mkutil/make/po/CVS/Entries +++ b/src/mkutil/make/po/CVS/Entries @@ -1,6 +1,5 @@ -/.cvsignore/1.3/Wed Sep 11 16:55:45 2002// -/ChangeLog/1.6/Thu Dec 19 14:31:45 2002// -/LINGUAS/1.6/Thu Dec 19 14:31:45 2002// -/Makevars/1.1/Sun Apr 21 23:57:25 2002// -/POTFILES.in/1.5/Sat Oct 5 13:45:48 2002// -D +/ChangeLog/1.1.1.1/Mon Nov 17 19:06:10 2003// +/LINGUAS/1.1.1.1/Mon Nov 17 19:06:10 2003// +/Makevars/1.1.1.1/Mon Nov 17 19:06:10 2003// +/POTFILES.in/1.1.1.1/Mon Nov 17 19:06:10 2003// +D diff --git a/src/mkutil/make/po/CVS/Repository b/src/mkutil/make/po/CVS/Repository index 969c5ad6..0a763f2f 100644 --- a/src/mkutil/make/po/CVS/Repository +++ b/src/mkutil/make/po/CVS/Repository @@ -1 +1 @@ -make/po +uzi/src/mkutil/make/po diff --git a/src/mkutil/make/po/CVS/Root b/src/mkutil/make/po/CVS/Root index 132093b8..933b8194 100644 --- a/src/mkutil/make/po/CVS/Root +++ b/src/mkutil/make/po/CVS/Root @@ -1 +1 @@ -:pserver:anoncvs@subversions.gnu.org:/cvsroot/make +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/make/po/ChangeLog b/src/mkutil/make/po/ChangeLog index 265fa438..c2e8de19 100644 --- a/src/mkutil/make/po/ChangeLog +++ b/src/mkutil/make/po/ChangeLog @@ -1,25 +1,25 @@ -2002-12-19 Paul D. Smith - - * LINGUAS: Added a new translation for Ukrainian (uk). - -2002-10-05 Paul D. Smith - - * POTFILES.in: Add variable.h as it has a translatable string. - -2002-08-08 Paul D. Smith - - * LINGUAS: Add a new translation for Chinese (simplified) (zh_CN). - -2002-08-02 Paul D. Smith - - * LINGUAS: Add a new translation for Swedish (sv). - -2002-04-21 Paul D. Smith - - * LINGUAS, hr.po: Added new translation: Croatian. - - * da.po, de.po, es.po, fr.po, gl.po, he.po, ja.po, ko.po, nl.po, - pl.po, pt_BR.po, ru.po, tr.po: Moved from i18n to here. - * .cvsignore: Moved from i18n to here. - - * POTFILES.in, LINGUAS, Makevars: Created. +2002-12-19 Paul D. Smith + + * LINGUAS: Added a new translation for Ukrainian (uk). + +2002-10-05 Paul D. Smith + + * POTFILES.in: Add variable.h as it has a translatable string. + +2002-08-08 Paul D. Smith + + * LINGUAS: Add a new translation for Chinese (simplified) (zh_CN). + +2002-08-02 Paul D. Smith + + * LINGUAS: Add a new translation for Swedish (sv). + +2002-04-21 Paul D. Smith + + * LINGUAS, hr.po: Added new translation: Croatian. + + * da.po, de.po, es.po, fr.po, gl.po, he.po, ja.po, ko.po, nl.po, + pl.po, pt_BR.po, ru.po, tr.po: Moved from i18n to here. + * .cvsignore: Moved from i18n to here. + + * POTFILES.in, LINGUAS, Makevars: Created. diff --git a/src/mkutil/make/po/LINGUAS b/src/mkutil/make/po/LINGUAS index f2217f3c..8e48d5ac 100644 --- a/src/mkutil/make/po/LINGUAS +++ b/src/mkutil/make/po/LINGUAS @@ -1,5 +1,5 @@ -# Set of available languages: 16 languages - -da de es fr gl he hr ja ko nl pl pt_BR sv ru tr uk zh_CN - -# Can't seem to get en@quot and en@boldquot to build properly? +# Set of available languages: 16 languages + +da de es fr gl he hr ja ko nl pl pt_BR sv ru tr uk zh_CN + +# Can't seem to get en@quot and en@boldquot to build properly? diff --git a/src/mkutil/make/po/Makevars b/src/mkutil/make/po/Makevars index 8b09f53b..25ff3629 100644 --- a/src/mkutil/make/po/Makevars +++ b/src/mkutil/make/po/Makevars @@ -1,25 +1,25 @@ -# Makefile variables for PO directory in any package using GNU gettext. - -# Usually the message domain is the same as the package name. -DOMAIN = $(PACKAGE) - -# These two variables depend on the location of this directory. -subdir = po -top_builddir = .. - -# These options get passed to xgettext. -XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ - -# This is the copyright holder that gets inserted into the header of the -# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding -# package. (Note that the msgstr strings, extracted from the package's -# sources, belong to the copyright holder of the package.) Translators are -# expected to transfer the copyright for their translations to this person -# or entity, or to disclaim their copyright. The empty string stands for -# the public domain; in this case the translators are expected to disclaim -# their copyright. -COPYRIGHT_HOLDER = Free Software Foundation, Inc. - -# This is the list of locale categories, beyond LC_MESSAGES, for which the -# message catalogs shall be used. It is usually empty. -EXTRA_LOCALE_CATEGORIES = +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Free Software Foundation, Inc. + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = diff --git a/src/mkutil/make/po/POTFILES.in b/src/mkutil/make/po/POTFILES.in index 30b7864b..b2d7cbb7 100644 --- a/src/mkutil/make/po/POTFILES.in +++ b/src/mkutil/make/po/POTFILES.in @@ -1,25 +1,25 @@ -# List of source files containing translatable strings. -# Copyright (C) 2002 Free Software Foundation, Inc. - -ar.c -arscan.c -commands.c -dir.c -expand.c -file.c -function.c -getopt.c -hash.c -implicit.c -job.c -main.c -misc.c -read.c -remake.c -remote-cstms.c -rule.c -signame.c -variable.c -variable.h -vmsfunctions.c -vpath.c +# List of source files containing translatable strings. +# Copyright (C) 2002 Free Software Foundation, Inc. + +ar.c +arscan.c +commands.c +dir.c +expand.c +file.c +function.c +getopt.c +hash.c +implicit.c +job.c +main.c +misc.c +read.c +remake.c +remote-cstms.c +rule.c +signame.c +variable.c +variable.h +vmsfunctions.c +vpath.c diff --git a/src/mkutil/make/readme.vms b/src/mkutil/make/readme.vms index d4a9667c..78b252f9 100644 --- a/src/mkutil/make/readme.vms +++ b/src/mkutil/make/readme.vms @@ -1,183 +1,183 @@ -This is the VMS port of GNU Make done by Hartmut.Becker@compaq.com. - -It is based on the specific version 3.77k and on 3.78.1. 3.77k was done -by Klaus Kämpf , the code was based on the VMS port of -GNU Make 3.60 by Mike Moretti. - -It was ported on OpenVMS/Alpha V7.1, DECC V5.7-006. It was re-build and -tested on OpenVMS/Alpha V7.2, OpenVMS/VAX 7.1 and 5.5-2. Different -versions of DECC were used. VAXC was tried: it fails; but it doesn't -seem worth to get it working. There are still some PTRMISMATCH warnings -during the compile. Although perl is working on VMS the test scripts -don't work. The function $shell is still missing. - -There is a known bug in some of the VMS CRTLs. It is in the shipped -versions of VMS V7.2 and V7.2-1 and in the currently (October 1999) -available ECOs for VMS V7.1 and newer versions. It is fixed in versions -shipped with newer VMS versions and all ECO kits after October 1999. It -only shows up during the daylight saving time period (DST): stat() -returns a modification time 1 hour ahead. This results in GNU make -warning messages. For a just created source you will see: - - $ gmake x.exe - gmake.exe;1: *** Warning: File `x.c' has modification time in the future (940582863 > 940579269) - cc /obj=x.obj x.c - link x.obj /exe=x.exe - gmake.exe;1: *** Warning: Clock skew detected. Your build may be incomplete. - - -New in 3.78.1: - -Fix a problem with automatically remaking makefiles. GNU make uses an -execve to restart itself after a successful remake of the makefile. On -UNIX systems execve replaces the running program with a new one and -resets all signal handling to the default. On VMS execve creates a child -process, signal and exit handlers of the parent are still active, and, -unfortunately, corrupt the exit code from the child. Fix in job.c: -ignore SIGCHLD. - -Added some switches to reflect latest features of DECC. Modifications in -makefile.vms. - -Set some definitions to reflect latest features of DECC. Modifications in -config.h-vms (which is copied to config.h). - -Added extern strcmpi declaration to avoid 'implicitly declared' messages. -Modification in make.h. - -Default rule for C++, conditionals for gcc (GCC_IS_NATIVE) or DEC/Digital/ -Compaq c/c++ compilers. Modifications in default.c. - -Usage of opendir() and friends, suppress file version. Modifications in dir.c. - -Added VMS specific code to handle ctrl+c and ctrl+y to abort make. -Modifications in job.c. - -Added support to have case sensitive targets and dependencies but to -still use case blind file names. This is especially useful for Java -makefiles on VMS: - - .SUFFIXES : - .SUFFIXES : .class .java - .java.class : - javac "$< - HelloWorld.class : HelloWorld.java - -A new macro WANT_CASE_SENSITIVE_TARGETS in config.h-vms was introduced. -It needs to be enabled to get this feature; default is disabled. The -macro HAVE_CASE_INSENSITIVE_FS must not be touched: it is still enabled. -Modifications in file.c and config.h-vms. - -Bootstrap make to start building make is still makefile.com, but make -needs to be re-made with a make to make a correct version: ignore all -possible warnings, delete all objects, rename make.exe to a different -name and run it. - -Made some minor modifications to the bootstrap build makefile.com. - -This is the VMS port of GNU Make. - -It is based on the VMS port of GNU Make 3.60 by Mike Moretti. - -This port was done by Klaus Kämpf - -There is first-level support available from proGIS Software, Germany. -Visit their web-site at http://www.progis.de to get information -about other vms software and forthcoming updates to gnu make. - -New for 3.77: - -/bin/sh style I/O redirection is supported. You can now write lines like - mcr sys$disk:[]program.exe < input.txt > output.txt &> error.txt - -Makefile variables are looked up in the current environment. You can set -symbols or logicals in DCL and evaluate them in the Makefile via -$(). Variables defined in the Makefile -override VMS symbols/logicals ! - -Functions for file names are working now. See the GNU Make manual for -$(dir ...) and $(wildcard ...). Unix-style and VMS-style names are -supported as arguments. - -The default rules are set up for GNU C. Building an executable from a -single source file is as easy as 'make file.exe'. - -The variable $(ARCH) is predefined as ALPHA or VAX resp. Makefiles for -different VMS systems can now be written by checking $(ARCH) as in - ifeq ($(ARCH),ALPHA) - $(ECHO) "On the Alpha" - else - $(ECHO) "On the VAX" - endif - -Command lines of excessive length are correctly broken and written to a -batch file in sys$scratch for later execution. There's no limit to the -lengths of commands (and no need for .opt files :-) any more. - -Empty commands are handled correctly and don't end in a new DCL process. - - -New for 3.76: - -John W. Eaton has updated the VMS port to support libraries and VPATH. - - -To build Make, simply type @makefile. This should compile all the -necessary files and link Make. There is also a file called -makefile.vms. If you already have GNU Make built you can just use -Make with this makefile to rebuild. - -Here are some notes about GNU Make for VMS: - -The cd command is supported if it's called as $(CD). This invokes -the 'builtin_cd' command which changes the directory. -Calling 'set def' doesn't do the trick, since a sub-shell is -spawned for this command, the directory is changed *in this sub-shell* -and the sub-shell ends. - -Libraries are not supported. They were in GNU Make 3.60 but somehow I -didn't care porting the code. If there is enough interest, I'll do it at -some later time. - -The variable $^ separates files with commas instead of spaces (It's the -natural thing to do for VMS). - -See defaults.c for VMS default suffixes and my definitions for default -rules and variables. - -The shell function is not implemented yet. - -Load average routines haven't been implemented for VMS yet. - -The default include directory for including other makefiles is -SYS$SYSROOT:[SYSLIB] (I don't remember why I didn't just use -SYS$LIBRARY: instead; maybe it wouldn't work that way). - -The default makefiles make looks for are: makefile.vms, gnumakefile, -makefile., and gnumakefile. . - -The stat() function and handling of time stamps in VMS is broken, so I -replaced it with a hack in vmsfunctions.c. I will provide a full rewrite -somewhere in the future. Be warned, the time resolution inside make is -less than what vms provides. This might be a problem on the faster Alphas. - -You can use a : in a filename only if you preceed it with a backslash ('\'). -E.g.- hobbes\:[bogas.files] - -Make ignores success, informational, or warning errors (-S-, -I-, or --W-). But it will stop on -E- and -F- errors. (unless you do something -to override this in your makefile, or whatever). - -Remote stuff isn't implemented yet. - -Multiple line DCL commands, such as "if" statements, must be put inside -command files. You can run a command file by using \@. - - -VMS changes made for 3.74.3 - -Lots of default settings are adapted for VMS. See default.c. - -Long command lines are now converted to command files. - -Comma (',') as a separator is now allowed. See makefile.vms for an example. +This is the VMS port of GNU Make done by Hartmut.Becker@compaq.com. + +It is based on the specific version 3.77k and on 3.78.1. 3.77k was done +by Klaus Kämpf , the code was based on the VMS port of +GNU Make 3.60 by Mike Moretti. + +It was ported on OpenVMS/Alpha V7.1, DECC V5.7-006. It was re-build and +tested on OpenVMS/Alpha V7.2, OpenVMS/VAX 7.1 and 5.5-2. Different +versions of DECC were used. VAXC was tried: it fails; but it doesn't +seem worth to get it working. There are still some PTRMISMATCH warnings +during the compile. Although perl is working on VMS the test scripts +don't work. The function $shell is still missing. + +There is a known bug in some of the VMS CRTLs. It is in the shipped +versions of VMS V7.2 and V7.2-1 and in the currently (October 1999) +available ECOs for VMS V7.1 and newer versions. It is fixed in versions +shipped with newer VMS versions and all ECO kits after October 1999. It +only shows up during the daylight saving time period (DST): stat() +returns a modification time 1 hour ahead. This results in GNU make +warning messages. For a just created source you will see: + + $ gmake x.exe + gmake.exe;1: *** Warning: File `x.c' has modification time in the future (940582863 > 940579269) + cc /obj=x.obj x.c + link x.obj /exe=x.exe + gmake.exe;1: *** Warning: Clock skew detected. Your build may be incomplete. + + +New in 3.78.1: + +Fix a problem with automatically remaking makefiles. GNU make uses an +execve to restart itself after a successful remake of the makefile. On +UNIX systems execve replaces the running program with a new one and +resets all signal handling to the default. On VMS execve creates a child +process, signal and exit handlers of the parent are still active, and, +unfortunately, corrupt the exit code from the child. Fix in job.c: +ignore SIGCHLD. + +Added some switches to reflect latest features of DECC. Modifications in +makefile.vms. + +Set some definitions to reflect latest features of DECC. Modifications in +config.h-vms (which is copied to config.h). + +Added extern strcmpi declaration to avoid 'implicitly declared' messages. +Modification in make.h. + +Default rule for C++, conditionals for gcc (GCC_IS_NATIVE) or DEC/Digital/ +Compaq c/c++ compilers. Modifications in default.c. + +Usage of opendir() and friends, suppress file version. Modifications in dir.c. + +Added VMS specific code to handle ctrl+c and ctrl+y to abort make. +Modifications in job.c. + +Added support to have case sensitive targets and dependencies but to +still use case blind file names. This is especially useful for Java +makefiles on VMS: + + .SUFFIXES : + .SUFFIXES : .class .java + .java.class : + javac "$< + HelloWorld.class : HelloWorld.java + +A new macro WANT_CASE_SENSITIVE_TARGETS in config.h-vms was introduced. +It needs to be enabled to get this feature; default is disabled. The +macro HAVE_CASE_INSENSITIVE_FS must not be touched: it is still enabled. +Modifications in file.c and config.h-vms. + +Bootstrap make to start building make is still makefile.com, but make +needs to be re-made with a make to make a correct version: ignore all +possible warnings, delete all objects, rename make.exe to a different +name and run it. + +Made some minor modifications to the bootstrap build makefile.com. + +This is the VMS port of GNU Make. + +It is based on the VMS port of GNU Make 3.60 by Mike Moretti. + +This port was done by Klaus Kämpf + +There is first-level support available from proGIS Software, Germany. +Visit their web-site at http://www.progis.de to get information +about other vms software and forthcoming updates to gnu make. + +New for 3.77: + +/bin/sh style I/O redirection is supported. You can now write lines like + mcr sys$disk:[]program.exe < input.txt > output.txt &> error.txt + +Makefile variables are looked up in the current environment. You can set +symbols or logicals in DCL and evaluate them in the Makefile via +$(). Variables defined in the Makefile +override VMS symbols/logicals ! + +Functions for file names are working now. See the GNU Make manual for +$(dir ...) and $(wildcard ...). Unix-style and VMS-style names are +supported as arguments. + +The default rules are set up for GNU C. Building an executable from a +single source file is as easy as 'make file.exe'. + +The variable $(ARCH) is predefined as ALPHA or VAX resp. Makefiles for +different VMS systems can now be written by checking $(ARCH) as in + ifeq ($(ARCH),ALPHA) + $(ECHO) "On the Alpha" + else + $(ECHO) "On the VAX" + endif + +Command lines of excessive length are correctly broken and written to a +batch file in sys$scratch for later execution. There's no limit to the +lengths of commands (and no need for .opt files :-) any more. + +Empty commands are handled correctly and don't end in a new DCL process. + + +New for 3.76: + +John W. Eaton has updated the VMS port to support libraries and VPATH. + + +To build Make, simply type @makefile. This should compile all the +necessary files and link Make. There is also a file called +makefile.vms. If you already have GNU Make built you can just use +Make with this makefile to rebuild. + +Here are some notes about GNU Make for VMS: + +The cd command is supported if it's called as $(CD). This invokes +the 'builtin_cd' command which changes the directory. +Calling 'set def' doesn't do the trick, since a sub-shell is +spawned for this command, the directory is changed *in this sub-shell* +and the sub-shell ends. + +Libraries are not supported. They were in GNU Make 3.60 but somehow I +didn't care porting the code. If there is enough interest, I'll do it at +some later time. + +The variable $^ separates files with commas instead of spaces (It's the +natural thing to do for VMS). + +See defaults.c for VMS default suffixes and my definitions for default +rules and variables. + +The shell function is not implemented yet. + +Load average routines haven't been implemented for VMS yet. + +The default include directory for including other makefiles is +SYS$SYSROOT:[SYSLIB] (I don't remember why I didn't just use +SYS$LIBRARY: instead; maybe it wouldn't work that way). + +The default makefiles make looks for are: makefile.vms, gnumakefile, +makefile., and gnumakefile. . + +The stat() function and handling of time stamps in VMS is broken, so I +replaced it with a hack in vmsfunctions.c. I will provide a full rewrite +somewhere in the future. Be warned, the time resolution inside make is +less than what vms provides. This might be a problem on the faster Alphas. + +You can use a : in a filename only if you preceed it with a backslash ('\'). +E.g.- hobbes\:[bogas.files] + +Make ignores success, informational, or warning errors (-S-, -I-, or +-W-). But it will stop on -E- and -F- errors. (unless you do something +to override this in your makefile, or whatever). + +Remote stuff isn't implemented yet. + +Multiple line DCL commands, such as "if" statements, must be put inside +command files. You can run a command file by using \@. + + +VMS changes made for 3.74.3 + +Lots of default settings are adapted for VMS. See default.c. + +Long command lines are now converted to command files. + +Comma (',') as a separator is now allowed. See makefile.vms for an example. diff --git a/src/mkutil/make/rule.h b/src/mkutil/make/rule.h index 576be9e3..cf679c2d 100644 --- a/src/mkutil/make/rule.h +++ b/src/mkutil/make/rule.h @@ -1,61 +1,61 @@ -/* Definitions for using pattern rules in GNU Make. -Copyright (C) 1988, 1989, 1991, 1992, 1993 Free Software Foundation, Inc. -This file is part of GNU Make. - -GNU Make is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Make is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Make; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* Structure used for pattern rules. */ - -struct rule - { - struct rule *next; - char **targets; /* Targets of the rule. */ - unsigned int *lens; /* Lengths of each target. */ - char **suffixes; /* Suffixes (after `%') of each target. */ - struct dep *deps; /* Dependencies of the rule. */ - struct commands *cmds; /* Commands to execute. */ - char terminal; /* If terminal (double-colon). */ - char in_use; /* If in use by a parent pattern_search. */ - }; - -/* For calling install_pattern_rule. */ -struct pspec - { - char *target, *dep, *commands; - }; - - -extern struct rule *pattern_rules; -extern struct rule *last_pattern_rule; -extern unsigned int num_pattern_rules; - -extern unsigned int max_pattern_deps; -extern unsigned int max_pattern_targets; -extern unsigned int max_pattern_dep_length; - -extern struct file *suffix_file; -extern unsigned int maxsuffix; - - -extern void install_pattern_rule PARAMS ((struct pspec *p, int terminal)); -extern int new_pattern_rule PARAMS ((struct rule *rule, int override)); -extern void count_implicit_rule_limits PARAMS ((void)); -extern void convert_to_pattern PARAMS ((void)); -extern void create_pattern_rule PARAMS ((char **targets, - char **target_percents, int terminal, - struct dep *deps, - struct commands *commands, - int override)); +/* Definitions for using pattern rules in GNU Make. +Copyright (C) 1988, 1989, 1991, 1992, 1993 Free Software Foundation, Inc. +This file is part of GNU Make. + +GNU Make is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Make is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Make; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +/* Structure used for pattern rules. */ + +struct rule + { + struct rule *next; + char **targets; /* Targets of the rule. */ + unsigned int *lens; /* Lengths of each target. */ + char **suffixes; /* Suffixes (after `%') of each target. */ + struct dep *deps; /* Dependencies of the rule. */ + struct commands *cmds; /* Commands to execute. */ + char terminal; /* If terminal (double-colon). */ + char in_use; /* If in use by a parent pattern_search. */ + }; + +/* For calling install_pattern_rule. */ +struct pspec + { + char *target, *dep, *commands; + }; + + +extern struct rule *pattern_rules; +extern struct rule *last_pattern_rule; +extern unsigned int num_pattern_rules; + +extern unsigned int max_pattern_deps; +extern unsigned int max_pattern_targets; +extern unsigned int max_pattern_dep_length; + +extern struct file *suffix_file; +extern unsigned int maxsuffix; + + +extern void install_pattern_rule PARAMS ((struct pspec *p, int terminal)); +extern int new_pattern_rule PARAMS ((struct rule *rule, int override)); +extern void count_implicit_rule_limits PARAMS ((void)); +extern void convert_to_pattern PARAMS ((void)); +extern void create_pattern_rule PARAMS ((char **targets, + char **target_percents, int terminal, + struct dep *deps, + struct commands *commands, + int override)); diff --git a/src/mkutil/make/tests/.cvsignore b/src/mkutil/make/tests/.cvsignore deleted file mode 100644 index b8f99f5b..00000000 --- a/src/mkutil/make/tests/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -work diff --git a/src/mkutil/make/tests/COPYING b/src/mkutil/make/tests/COPYING index a43ea212..92851102 100644 --- a/src/mkutil/make/tests/COPYING +++ b/src/mkutil/make/tests/COPYING @@ -1,339 +1,339 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 675 Mass Ave, Cambridge, MA 02139, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - Appendix: How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) 19yy - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/src/mkutil/make/tests/CVS/Entries b/src/mkutil/make/tests/CVS/Entries index ad7e162f..becb12b9 100644 --- a/src/mkutil/make/tests/CVS/Entries +++ b/src/mkutil/make/tests/CVS/Entries @@ -1,10 +1,9 @@ -/.cvsignore/1.1/Wed Sep 11 16:55:45 2002// -/COPYING/1.1/Tue Sep 14 02:03:29 1999// -/ChangeLog/1.50/Fri May 2 01:45:00 2003// -/NEWS/1.1/Tue Sep 14 02:03:29 1999// -/README/1.2/Wed Sep 15 22:23:49 1999// -/mkshadow/1.1/Tue Sep 14 02:03:30 1999// -/run_make_tests/1.1/Tue Sep 14 02:03:30 1999// -/run_make_tests.pl/1.7/Fri May 2 01:45:00 2003// -/test_driver.pl/1.10/Tue Sep 10 22:39:18 2002// -D +/COPYING/1.1.1.1/Mon Nov 17 19:06:10 2003// +/ChangeLog/1.1.1.1/Mon Nov 17 19:06:10 2003// +/NEWS/1.1.1.1/Mon Nov 17 19:06:10 2003// +/README/1.1.1.1/Mon Nov 17 19:06:10 2003// +/mkshadow/1.1.1.1/Mon Nov 17 19:06:10 2003// +/run_make_tests/1.1.1.1/Mon Nov 17 19:06:10 2003// +/run_make_tests.pl/1.1.1.1/Mon Nov 17 19:06:10 2003// +/test_driver.pl/1.1.1.1/Mon Nov 17 19:06:10 2003// +D/scripts//// diff --git a/src/mkutil/make/tests/CVS/Entries.Log b/src/mkutil/make/tests/CVS/Entries.Log deleted file mode 100644 index d9111b0a..00000000 --- a/src/mkutil/make/tests/CVS/Entries.Log +++ /dev/null @@ -1 +0,0 @@ -A D/scripts//// diff --git a/src/mkutil/make/tests/CVS/Repository b/src/mkutil/make/tests/CVS/Repository index f94ccc8d..f566f572 100644 --- a/src/mkutil/make/tests/CVS/Repository +++ b/src/mkutil/make/tests/CVS/Repository @@ -1 +1 @@ -make/tests +uzi/src/mkutil/make/tests diff --git a/src/mkutil/make/tests/CVS/Root b/src/mkutil/make/tests/CVS/Root index 132093b8..933b8194 100644 --- a/src/mkutil/make/tests/CVS/Root +++ b/src/mkutil/make/tests/CVS/Root @@ -1 +1 @@ -:pserver:anoncvs@subversions.gnu.org:/cvsroot/make +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/make/tests/ChangeLog b/src/mkutil/make/tests/ChangeLog index 3880e8a9..ecda9edd 100644 --- a/src/mkutil/make/tests/ChangeLog +++ b/src/mkutil/make/tests/ChangeLog @@ -1,400 +1,400 @@ -2003-04-19 Paul D. Smith - - * scripts/features/patspecific_vars: Test multiple patterns - matching the same target--Bug #1405. - -2003-04-09 Paul D. Smith - - * run_make_tests.pl (set_more_defaults): A new $port_type of - 'OS/2' for (surprise!) OS/2. Also choose a wait time of 2 seconds - for OS/2. - -2003-03-28 Paul D. Smith - - * scripts/targets/SECONDARY: Test the "global" .SECONDARY (with - not prerequisites)--Bug #2515. - -2003-01-30 Paul D. Smith - - * scripts/features/targetvars: Test very long target-specific - variable definition lines (longer than the default make buffer - length). Tests patch # 1022. - - * scripts/functions/eval: Test very recursive $(eval ...) calls - with simple variable expansion (bug #2238). - - * scripts/functions/word: Test error handling for word and - wordlist functions (bug #2407). - -2003-01-22 Paul D. Smith - - * scripts/functions/call: Test recursive argument masking (bug - #1744). - -2002-10-25 Paul D. Smith - - * scripts/functions/eval: Test using $(eval ...) inside - conditionals (Bug #1516). - -2002-10-14 Paul D. Smith - - * scripts/options/dash-t: Add a test for handling -t on targets - with no commands (Bug #1418). - -2002-10-13 Paul D. Smith - - * scripts/features/targetvars: Add a test for exporting - target-specific vars (Bug #1391). - -2002-10-05 Paul D. Smith - - * scripts/variables/automatic: Add tests for $$(@), $${@}, $${@D}, - and $${@F}. - -2002-09-23 Paul D. Smith - - * scripts/features/escape: Test handling of escaped comment - characters in targets and prerequisites. - -2002-09-18 Paul D. Smith - - * scripts/features/export: Test export/unexport of multiple - variables in a single command. - -2002-09-17 Paul D. Smith - - * scripts/features/targetvars: Tests for Bug #940: test - target-specific and pattern-specific variables in conjunction with - double-colon targets. - -2002-09-10 Paul D. Smith - - * test_driver.pl (compare_output): Match the new format for time - skew error messages. - - * scripts/features/export: Created. Add tests for export/unexport - capabilities, including exporting/unexporting expanded variables. - - * scripts/features/conditionals: Add a test for expanded variables - in ifdef conditionals. - -2002-09-04 Paul D. Smith - - * scripts/features/reinvoke: Change touch/sleep combos to utouch - invocations. - * scripts/features/vpathgpath: Ditto. - * scripts/features/vpathplus: Ditto. - * scripts/options/dash-n: Ditto. - * scripts/targets/INTERMEDIATE: Ditto. - * scripts/targets/SECONDARY: Ditto. - - * scripts/options/dash-t: Added a test for the -t bug fixed by - Henning Makholm. This test was also contributed by Henning. - - * scripts/misc/general4: Add a test suite for obscure algorithmic - features of make. First test: make sure creation subdirectories - as prerequisites of targets works properly. - - * scripts/misc/version: Remove this bogus test. - -2002-08-07 Paul D. Smith - - * scripts/misc/general3: Add a test for makefiles that don't end - in newlines. - - * scripts/variables/special: Create tests for the special - variables (.VARIABLES and .TARGETS). Comment out .TARGETS test - for now as it's not yet supported. - -2002-08-01 Paul D. Smith - - * scripts/options/dash-B: Add a test for the new -B option. - -2002-07-11 Paul D. Smith - - * run_make_tests.pl (valid_option): Add support for Valgrind - . Use -valgrind option to the - test suite. - (set_more_defaults): Set up the file descriptor to capture - Valgrind output. We have to unset its close-on-exec flag; we - hardcode the value for F_SETFD (2) rather than load it; hopefully - this will help us avoid breaking the Windows/DOS test suite. - -2002-07-10 Paul D. Smith - - * scripts/variables/automatic: Add some tests for $$@, $$(@D), and - $$(@F). - - * test_driver.pl (utouch): Create a new function that creates a - file with a specific timestamp offset. Use of this function will - let us avoid lots of annoying sleep() invocations in the tests - just to get proper timestamping, which will make the tests run a - lot faster. So far it's only used in the automatic test suite. - -2002-07-09 Paul D. Smith - - * scripts/variables/automatic: Create a test for automatic variables. - -2002-07-08 Paul D. Smith - - * scripts/features/order_only: Test new order-only prerequisites. - -2002-07-07 Paul D. Smith - - * scripts/functions/eval: Test new function. - * scripts/functions/value: Test new function. - * scripts/variables/MAKEFILE_LIST: Test new variable. - -2002-04-28 Paul D. Smith - - * scripts/functions/call: New test: transitive closure - implementation using $(call ...) to test variable recursion. - -2002-04-21 Paul D. Smith - - * test_driver.pl (compare_dir_tree): Ignore CVS and RCS - directories in the script directories. - -2001-05-02 Paul D. Smith - - * scripts/variables/flavors: Test define/endef scripts where only - one of the command lines is quiet. - -2000-06-22 Paul D. Smith - - * scripts/options/dash-q: New file; test the -q option. Includes - a test for PR/1780. - -2000-06-21 Paul D. Smith - - * scripts/features/targetvars: Added a test for PR/1709: allowing - semicolons in target-specific variable values. - -2000-06-19 Paul D. Smith - - * scripts/functions/addsuffix: Test for an empty final argument. - Actually this bug might have happened for any function, but this - one was handy. - -2000-06-17 Eli Zaretskii - - * scripts/options/general: If parallel jobs are not supported, - expect a warning message from Make. - -2000-06-15 Eli Zaretskii - - * scripts/options/general: Don't try -jN with N != 1 if parallel - jobs are not supported. - -2000-05-24 Paul D. Smith - - * scripts/options/general: Test general option processing (PR/1716). - -2000-04-11 Paul D. Smith - - * scripts/functions/strip: Test empty value to strip (PR/1689). - -2000-04-08 Eli Zaretskii - - * scripts/features/reinvoke: Sleep before updating the target - files in the first test, to ensure its time stamp really gets - newer; otherwise Make might re-exec more than once. - -2000-04-07 Eli Zaretskii - - * scripts/features/double_colon: Don't run the parallel tests if - parallel jobs aren't supported. - -2000-04-04 Paul D. Smith - - * scripts/functions/word: wordlist doesn't swap arguments anymore. - -2000-03-27 Paul D. Smith - - * scripts/features/statipattrules: Test that static pattern rules - whose prerequisite patterns resolve to empty strings throw an - error (instead of dumping core). Fixes PR/1670. - - * scripts/features/reinvoke: Make more robust by touching "b" - first, to ensure it's not newer than "a". - Reported by Marco Franzen . - * scripts/options/dash-n: Ditto. - - * scripts/functions/call: Whoops. The fix to PR/1527 caused - recursive invocations of $(call ...) to break. I can't come up - with any way to get both working at the same time, so I backed out - the fix to 1527 and added a test case for recursive calls. This - also tests the fix for PR/1610. - - * scripts/features/double_colon: Test that circular dependencies - in double-colon rule sets are detected correctly (PR/1671). - -2000-03-26 Paul D. Smith - - * scripts/targets/INTERMEDIATE: Test that make doesn't remove - .INTERMEDIATE files when given on the command line (PR/1669). - -2000-03-08 Paul D. Smith - - * scripts/options/dash-k: Add a test for error detection by - multiple targets depending on the same prerequisite with -k. - For PR/1634. - -2000-02-07 Paul D. Smith - - * scripts/features/escape: Add a test for backslash-escaped spaces - in a target name (PR/1586). - -2000-02-04 Paul D. Smith - - * scripts/features/patspecific_vars: Add a test for pattern-specific - target variables inherited from the parent target (PR/1407). - -2000-02-02 Paul D. Smith - - * run_make_tests.pl (set_more_defaults): Hard-code the LANG to C - to make sure sorting order, etc. is predictable. - Reported by Andreas Jaeger . - - * run_make_tests.pl (set_more_defaults): Set the $wtime variable - depending on the OS. Eli Zaretskii reports - this seems to need to be *4* on DOS/Windows, not just 2. Keep it - 1 for other systems. - * scripts/features/vpathplus (touchfiles): Use the $wtime value - instead of hardcoding 2. - * scripts/targets/SECONDARY: Ditto. - * scripts/targets/INTERMEDIATE: Ditto. - -2000-01-27 Paul D. Smith - - * test_driver.pl (toplevel): Don't try to run test scripts which - are really directories. - -2000-01-23 Paul D. Smith - - * scripts/features/include: Remove a check; the fix caused more - problems than the error, so I removed it and removed the test for - it. - -2000-01-11 Paul D. Smith - - * scripts/functions/call: Add a test for PR/1517 and PR/1527: make - sure $(call ...) doesn't eval its arguments and that you can - invoke foreach from it without looping forever. - -1999-12-15 Paul D. Smith - - * scripts/targets/INTERMEDIATE: Add a test for PR/1423: make sure - .INTERMEDIATE settings on files don't disable them as implicit - intermediate possibilities. - -1999-12-01 Paul D. Smith - - * scripts/features/double_colon: Add a test for PR/1476: Try - double-colon rules as non-goal targets and during parallel builds - to make sure they're handled serially. - -1999-11-17 Paul D. Smith - - * scripts/functions/if: Add a test for PR/1429: put some text - after an if-statement to make sure it works. - - * scripts/features/targetvars: Add a test for PR/1380: handling += - in target-specific variable definitions correctly. - -1999-10-15 Paul D. Smith - - * scripts/variables/MAKEFILES: This was really broken: it didn't - test anything at all, really. Rewrote it, plus added a test for - PR/1394. - -1999-10-13 Paul D. Smith - - * scripts/options/dash-n: Add a test for PR/1379: "-n doesn't - behave properly when used with recursive targets". - -1999-10-08 Paul D. Smith - - * scripts/features/targetvars: Add a check for PR/1378: - "Target-specific vars don't inherit correctly" - -1999-09-29 Paul D. Smith - - * test_driver.pl (get_osname): Change $fancy_file_names to - $short_filenames and reverse the logic. - (run_each_test): Change test of non-existent $port_host to use - $short_filenames--problem reported by Eli Zaretskii. - -1999-09-23 Paul D. Smith - - * scripts/features/parallelism: Add a check to ensure that the - jobserver works when we re-invoke. Also cleaned up the tests a - little, reducing the number of rules we use so the test won't need - as many "sleep" commands. - -1999-09-16 Paul D. Smith - - * scripts/features/reinvoke: Remove invocations of "touch" in - makefiles. See the comments on the touch function rewrite below. - Note that UNIX touch behaves the same way if the file already - exists: it sets the time to the _local_ time. We don't want - this. This is probably a good tip for makefile writers in - general, actually... where practical. - * scripts/options/dash-l: Ditto. - * scripts/options/dash-n: Ditto. - - * test_driver.pl (run_each_test): In retrospect, I don't like the - .lN/.bN/.dN postfix required by DOS. So, for non-DOS systems I - changed it back to use .log, .base, and .diff. - - * run_make_tests.pl (set_more_defaults): Move the check for the - make pathname to here from set_defaults (that's too early since it - happens before the command line processing). - Create a new variable $port_type, calculated from $osname, to - specify what kind of system we're running on. We should integrate - the VOS stuff here, too. - (valid_option): Comment out the workdir/-work stuff so people - won't be fooled into thinking it works... someone needs to fix - this, though! - - * scripts/functions/origin: Use $port_type instead of $osname. - * scripts/functions/foreach: Ditto. - * scripts/features/default_names: Ditto. - -1999-09-15 Paul D. Smith - - * test_driver.pl (touch): Rewrite this function. Previously it - used to use utime() to hard-set the time based on the current - local clock, or, if the file didn't exist, it merely created it. - This mirrors exactly what real UNIX touch does, but it fails badly - on networked filesystems where the FS server clock is skewed from - the local clock: normally modifying a file causes it to get a mod - time based on the _server's_ clock. Hard-setting it based on the - _local_ clock causes gratuitous errors and makes the tests - unreliable except on local filesystems. The new function will - simply modify the file, allowing the filesystem to set the mod - time as it sees fit. - - * scripts/features/parallelism: The second test output could - change depending on how fast some scripts completed; use "sleep" - to force the order we want. - - * test_driver.pl (toplevel): A bug in Perl 5.000 to Perl 5.004 - means that "%ENV = ();" doesn't do the right thing. This worked - in Perl 4 and was fixed in Perl 5.004_01, but use a loop to delete - the environment rather than require specific versions. - - * run_make_tests.pl (set_more_defaults): Don't use Perl 5 s/// - modifier "s", so the tests will run with Perl 4. - (set_more_defaults): Set $pure_log to empty if there's no -logfile - option in PURIFYOPTIONS. - (setup_for_test): Don't remove any logs unless $pure_log is set. - -1999-09-15 Eli Zaretskii - - * scripts/features/reinvoke: Put the SHELL definition in the right - test makefile. - -1999-09-15 Paul D. Smith - - ChangeLog file for the test suite created. +2003-04-19 Paul D. Smith + + * scripts/features/patspecific_vars: Test multiple patterns + matching the same target--Bug #1405. + +2003-04-09 Paul D. Smith + + * run_make_tests.pl (set_more_defaults): A new $port_type of + 'OS/2' for (surprise!) OS/2. Also choose a wait time of 2 seconds + for OS/2. + +2003-03-28 Paul D. Smith + + * scripts/targets/SECONDARY: Test the "global" .SECONDARY (with + not prerequisites)--Bug #2515. + +2003-01-30 Paul D. Smith + + * scripts/features/targetvars: Test very long target-specific + variable definition lines (longer than the default make buffer + length). Tests patch # 1022. + + * scripts/functions/eval: Test very recursive $(eval ...) calls + with simple variable expansion (bug #2238). + + * scripts/functions/word: Test error handling for word and + wordlist functions (bug #2407). + +2003-01-22 Paul D. Smith + + * scripts/functions/call: Test recursive argument masking (bug + #1744). + +2002-10-25 Paul D. Smith + + * scripts/functions/eval: Test using $(eval ...) inside + conditionals (Bug #1516). + +2002-10-14 Paul D. Smith + + * scripts/options/dash-t: Add a test for handling -t on targets + with no commands (Bug #1418). + +2002-10-13 Paul D. Smith + + * scripts/features/targetvars: Add a test for exporting + target-specific vars (Bug #1391). + +2002-10-05 Paul D. Smith + + * scripts/variables/automatic: Add tests for $$(@), $${@}, $${@D}, + and $${@F}. + +2002-09-23 Paul D. Smith + + * scripts/features/escape: Test handling of escaped comment + characters in targets and prerequisites. + +2002-09-18 Paul D. Smith + + * scripts/features/export: Test export/unexport of multiple + variables in a single command. + +2002-09-17 Paul D. Smith + + * scripts/features/targetvars: Tests for Bug #940: test + target-specific and pattern-specific variables in conjunction with + double-colon targets. + +2002-09-10 Paul D. Smith + + * test_driver.pl (compare_output): Match the new format for time + skew error messages. + + * scripts/features/export: Created. Add tests for export/unexport + capabilities, including exporting/unexporting expanded variables. + + * scripts/features/conditionals: Add a test for expanded variables + in ifdef conditionals. + +2002-09-04 Paul D. Smith + + * scripts/features/reinvoke: Change touch/sleep combos to utouch + invocations. + * scripts/features/vpathgpath: Ditto. + * scripts/features/vpathplus: Ditto. + * scripts/options/dash-n: Ditto. + * scripts/targets/INTERMEDIATE: Ditto. + * scripts/targets/SECONDARY: Ditto. + + * scripts/options/dash-t: Added a test for the -t bug fixed by + Henning Makholm. This test was also contributed by Henning. + + * scripts/misc/general4: Add a test suite for obscure algorithmic + features of make. First test: make sure creation subdirectories + as prerequisites of targets works properly. + + * scripts/misc/version: Remove this bogus test. + +2002-08-07 Paul D. Smith + + * scripts/misc/general3: Add a test for makefiles that don't end + in newlines. + + * scripts/variables/special: Create tests for the special + variables (.VARIABLES and .TARGETS). Comment out .TARGETS test + for now as it's not yet supported. + +2002-08-01 Paul D. Smith + + * scripts/options/dash-B: Add a test for the new -B option. + +2002-07-11 Paul D. Smith + + * run_make_tests.pl (valid_option): Add support for Valgrind + . Use -valgrind option to the + test suite. + (set_more_defaults): Set up the file descriptor to capture + Valgrind output. We have to unset its close-on-exec flag; we + hardcode the value for F_SETFD (2) rather than load it; hopefully + this will help us avoid breaking the Windows/DOS test suite. + +2002-07-10 Paul D. Smith + + * scripts/variables/automatic: Add some tests for $$@, $$(@D), and + $$(@F). + + * test_driver.pl (utouch): Create a new function that creates a + file with a specific timestamp offset. Use of this function will + let us avoid lots of annoying sleep() invocations in the tests + just to get proper timestamping, which will make the tests run a + lot faster. So far it's only used in the automatic test suite. + +2002-07-09 Paul D. Smith + + * scripts/variables/automatic: Create a test for automatic variables. + +2002-07-08 Paul D. Smith + + * scripts/features/order_only: Test new order-only prerequisites. + +2002-07-07 Paul D. Smith + + * scripts/functions/eval: Test new function. + * scripts/functions/value: Test new function. + * scripts/variables/MAKEFILE_LIST: Test new variable. + +2002-04-28 Paul D. Smith + + * scripts/functions/call: New test: transitive closure + implementation using $(call ...) to test variable recursion. + +2002-04-21 Paul D. Smith + + * test_driver.pl (compare_dir_tree): Ignore CVS and RCS + directories in the script directories. + +2001-05-02 Paul D. Smith + + * scripts/variables/flavors: Test define/endef scripts where only + one of the command lines is quiet. + +2000-06-22 Paul D. Smith + + * scripts/options/dash-q: New file; test the -q option. Includes + a test for PR/1780. + +2000-06-21 Paul D. Smith + + * scripts/features/targetvars: Added a test for PR/1709: allowing + semicolons in target-specific variable values. + +2000-06-19 Paul D. Smith + + * scripts/functions/addsuffix: Test for an empty final argument. + Actually this bug might have happened for any function, but this + one was handy. + +2000-06-17 Eli Zaretskii + + * scripts/options/general: If parallel jobs are not supported, + expect a warning message from Make. + +2000-06-15 Eli Zaretskii + + * scripts/options/general: Don't try -jN with N != 1 if parallel + jobs are not supported. + +2000-05-24 Paul D. Smith + + * scripts/options/general: Test general option processing (PR/1716). + +2000-04-11 Paul D. Smith + + * scripts/functions/strip: Test empty value to strip (PR/1689). + +2000-04-08 Eli Zaretskii + + * scripts/features/reinvoke: Sleep before updating the target + files in the first test, to ensure its time stamp really gets + newer; otherwise Make might re-exec more than once. + +2000-04-07 Eli Zaretskii + + * scripts/features/double_colon: Don't run the parallel tests if + parallel jobs aren't supported. + +2000-04-04 Paul D. Smith + + * scripts/functions/word: wordlist doesn't swap arguments anymore. + +2000-03-27 Paul D. Smith + + * scripts/features/statipattrules: Test that static pattern rules + whose prerequisite patterns resolve to empty strings throw an + error (instead of dumping core). Fixes PR/1670. + + * scripts/features/reinvoke: Make more robust by touching "b" + first, to ensure it's not newer than "a". + Reported by Marco Franzen . + * scripts/options/dash-n: Ditto. + + * scripts/functions/call: Whoops. The fix to PR/1527 caused + recursive invocations of $(call ...) to break. I can't come up + with any way to get both working at the same time, so I backed out + the fix to 1527 and added a test case for recursive calls. This + also tests the fix for PR/1610. + + * scripts/features/double_colon: Test that circular dependencies + in double-colon rule sets are detected correctly (PR/1671). + +2000-03-26 Paul D. Smith + + * scripts/targets/INTERMEDIATE: Test that make doesn't remove + .INTERMEDIATE files when given on the command line (PR/1669). + +2000-03-08 Paul D. Smith + + * scripts/options/dash-k: Add a test for error detection by + multiple targets depending on the same prerequisite with -k. + For PR/1634. + +2000-02-07 Paul D. Smith + + * scripts/features/escape: Add a test for backslash-escaped spaces + in a target name (PR/1586). + +2000-02-04 Paul D. Smith + + * scripts/features/patspecific_vars: Add a test for pattern-specific + target variables inherited from the parent target (PR/1407). + +2000-02-02 Paul D. Smith + + * run_make_tests.pl (set_more_defaults): Hard-code the LANG to C + to make sure sorting order, etc. is predictable. + Reported by Andreas Jaeger . + + * run_make_tests.pl (set_more_defaults): Set the $wtime variable + depending on the OS. Eli Zaretskii reports + this seems to need to be *4* on DOS/Windows, not just 2. Keep it + 1 for other systems. + * scripts/features/vpathplus (touchfiles): Use the $wtime value + instead of hardcoding 2. + * scripts/targets/SECONDARY: Ditto. + * scripts/targets/INTERMEDIATE: Ditto. + +2000-01-27 Paul D. Smith + + * test_driver.pl (toplevel): Don't try to run test scripts which + are really directories. + +2000-01-23 Paul D. Smith + + * scripts/features/include: Remove a check; the fix caused more + problems than the error, so I removed it and removed the test for + it. + +2000-01-11 Paul D. Smith + + * scripts/functions/call: Add a test for PR/1517 and PR/1527: make + sure $(call ...) doesn't eval its arguments and that you can + invoke foreach from it without looping forever. + +1999-12-15 Paul D. Smith + + * scripts/targets/INTERMEDIATE: Add a test for PR/1423: make sure + .INTERMEDIATE settings on files don't disable them as implicit + intermediate possibilities. + +1999-12-01 Paul D. Smith + + * scripts/features/double_colon: Add a test for PR/1476: Try + double-colon rules as non-goal targets and during parallel builds + to make sure they're handled serially. + +1999-11-17 Paul D. Smith + + * scripts/functions/if: Add a test for PR/1429: put some text + after an if-statement to make sure it works. + + * scripts/features/targetvars: Add a test for PR/1380: handling += + in target-specific variable definitions correctly. + +1999-10-15 Paul D. Smith + + * scripts/variables/MAKEFILES: This was really broken: it didn't + test anything at all, really. Rewrote it, plus added a test for + PR/1394. + +1999-10-13 Paul D. Smith + + * scripts/options/dash-n: Add a test for PR/1379: "-n doesn't + behave properly when used with recursive targets". + +1999-10-08 Paul D. Smith + + * scripts/features/targetvars: Add a check for PR/1378: + "Target-specific vars don't inherit correctly" + +1999-09-29 Paul D. Smith + + * test_driver.pl (get_osname): Change $fancy_file_names to + $short_filenames and reverse the logic. + (run_each_test): Change test of non-existent $port_host to use + $short_filenames--problem reported by Eli Zaretskii. + +1999-09-23 Paul D. Smith + + * scripts/features/parallelism: Add a check to ensure that the + jobserver works when we re-invoke. Also cleaned up the tests a + little, reducing the number of rules we use so the test won't need + as many "sleep" commands. + +1999-09-16 Paul D. Smith + + * scripts/features/reinvoke: Remove invocations of "touch" in + makefiles. See the comments on the touch function rewrite below. + Note that UNIX touch behaves the same way if the file already + exists: it sets the time to the _local_ time. We don't want + this. This is probably a good tip for makefile writers in + general, actually... where practical. + * scripts/options/dash-l: Ditto. + * scripts/options/dash-n: Ditto. + + * test_driver.pl (run_each_test): In retrospect, I don't like the + .lN/.bN/.dN postfix required by DOS. So, for non-DOS systems I + changed it back to use .log, .base, and .diff. + + * run_make_tests.pl (set_more_defaults): Move the check for the + make pathname to here from set_defaults (that's too early since it + happens before the command line processing). + Create a new variable $port_type, calculated from $osname, to + specify what kind of system we're running on. We should integrate + the VOS stuff here, too. + (valid_option): Comment out the workdir/-work stuff so people + won't be fooled into thinking it works... someone needs to fix + this, though! + + * scripts/functions/origin: Use $port_type instead of $osname. + * scripts/functions/foreach: Ditto. + * scripts/features/default_names: Ditto. + +1999-09-15 Paul D. Smith + + * test_driver.pl (touch): Rewrite this function. Previously it + used to use utime() to hard-set the time based on the current + local clock, or, if the file didn't exist, it merely created it. + This mirrors exactly what real UNIX touch does, but it fails badly + on networked filesystems where the FS server clock is skewed from + the local clock: normally modifying a file causes it to get a mod + time based on the _server's_ clock. Hard-setting it based on the + _local_ clock causes gratuitous errors and makes the tests + unreliable except on local filesystems. The new function will + simply modify the file, allowing the filesystem to set the mod + time as it sees fit. + + * scripts/features/parallelism: The second test output could + change depending on how fast some scripts completed; use "sleep" + to force the order we want. + + * test_driver.pl (toplevel): A bug in Perl 5.000 to Perl 5.004 + means that "%ENV = ();" doesn't do the right thing. This worked + in Perl 4 and was fixed in Perl 5.004_01, but use a loop to delete + the environment rather than require specific versions. + + * run_make_tests.pl (set_more_defaults): Don't use Perl 5 s/// + modifier "s", so the tests will run with Perl 4. + (set_more_defaults): Set $pure_log to empty if there's no -logfile + option in PURIFYOPTIONS. + (setup_for_test): Don't remove any logs unless $pure_log is set. + +1999-09-15 Eli Zaretskii + + * scripts/features/reinvoke: Put the SHELL definition in the right + test makefile. + +1999-09-15 Paul D. Smith + + ChangeLog file for the test suite created. diff --git a/src/mkutil/make/tests/NEWS b/src/mkutil/make/tests/NEWS index a9fdaee8..b22adfd1 100644 --- a/src/mkutil/make/tests/NEWS +++ b/src/mkutil/make/tests/NEWS @@ -1,161 +1,161 @@ -Changes from 0.4.9 to 3.78 (Sep 6, 1999): - - Lots of new tests. Renamed to follow the GNU make scheme. Also - added some support for using Purify with make. - - Rob Tulloh contributed some changes to get the test suite running on - NT; I tweaked them a bit (hopefully I didn't break anything!) Note - that NT doesn't grok the self-exec funkiness that Unix shells use, - so instead I broke that out into a separate shell script - "run_make_tests" that invokes perl with the (renamed) script - run_make_tests.pl. - - Eli Zaretski contributed changes to get the test suite running on - DOS with DJGPP. I also meddled in these somewhat. - - If you're on DOS or NT you should run "perl.exe run_make_tests.pl ..." - If you're on Unix, you can continue to run "./run_make_tests ..." as - before. - -Changes from 0.4.8 to 0.4.9 (May 14, 1998): - - Release by Paul D. Smith ; I'm the one to - blame for problems in this version :). - - Add some perl to test_driver.pl to strip out GNU make clock skew - warning messages from the output before comparing it to the - known-good output. - - A new test for escaped :'s in filenames (someone on VMS found this - didn't work anymore in 3.77): scripts/features/escape. - -Changes from 0.4.7 to 0.4.8 (May 14, 1998): - - Release by Paul D. Smith ; I'm the one to - blame for problems in this version :). - - New tests for features to be included in GNU make 3.77. - -Changes from 0.4.6 to 0.4.7 (August 18, 1997): - - Release by Paul D. Smith ; I'm the one to - blame for problems in this version :). - - Reworked some tests to make sure they all work with both perl4 and perl5. - - Work around a bug in perl 5.004 which doesn't clean the environment - correctly in all cases (fixed in at least 5.004_02). - - Updated functions/strip to test for newline stripping. - - Keep a $PURIFYOPTIONS env variable if present. - -Changes from 0.4.5 to 0.4.6 (April 07, 1997): - - Release by Paul D. Smith ; I'm the one to - blame for problems in this version :). - - Updated to work with GNU make 3.76 (and pretests). - - Added new tests and updated existing ones. Note that the new tests - weren't tested with perl 4, however I think they should work. - - Ignore any tests whose filenames end in "~", so that Emacs backup - files aren't run. - -Changes from 0.4.4 to 0.4.5 (April 29, 1995): - - Updated to be compatible with perl 5.001 as well as 4.036. - - Note: the test suite still won't work on 14-char filesystems - (sorry, Kaveh), but I will get to it. - - Also, some tests and stuff still haven't made it in because I - haven't had time to write the test scripts for them. But they, - too, will get in eventually. Contributions of scripts (ie, tests - that I can just drop in) are particularly welcome and will be - incorporated immediately. - -Changes from 0.4.3 to 0.4.4 (March 1995): - - Updated for changes in make 3.72.12, and to ignore CVS directories - (thanks go to Jim Meyering for the patches for this). - - Fixed uname call to not make a mess on BSD/OS 2.0 (whose uname -a - is very verbose). Let me know if this doesn't work correctly on - your system. - - Changed to display test name while it is running, not just when it - finishes. - - Note: the test suite still won't work on 14-char filesystems - (sorry, Kaveh), but I will get to it. - - Also, some tests and stuff still haven't made it in because I - haven't had time to write the test scripts for them. But they, - too, will get in eventually. - -Changes from 0.4 to 0.4.3 (October 1994): - - Fixed bugs (like dependencies on environment variables). - - Caught up with changes in make. - - The load_limit test should now silently ignore a failure due to - make not being able to read /dev/kmem. - - Reorganized tests into subdirs and renamed lots of things so that - those poor souls who still have to deal with 14-char filename - limits won't hate me any more. Thanks very much to Kaveh R. Ghazi - for helping me with the implementation and - testing of these changes, and for putting up with all my whining - about it... - - Added a $| = 1 so that systems that don't seem to automatically - flush their output for some reason will still print all the - output. I'd hate for someone to miss out on the smiley that - you're supposed to get when all the tests pass... :-) - -Changes from 0.3 to 0.4 (August 1993): - - Lost in the mists of time (and my hurry to get it out before I - left my job). - -Changes from 0.2 to 0.3 (9-30-92): - - Several tests fixed to match the fact that MAKELEVEL > 0 or -C now - imply -w. - - parallel_execution test fixed to not use double colon rules any - more since their behavior has changed. - - errors_in_commands test fixed to handle different error messages - and return codes from rm. - - Several tests fixed to handle -make_path with a relative path - and/or a name other than "make" for make. - - dash-e-option test fixed to use $PATH instead of $USER (since the - latter does not exist on some System V systems). This also - removes the dependency on getlogin (which fails under certain - weird conditions). - - test_driver_core changed so that you can give a test name like - scripts/errors_in_commands and it will be handled correctly (handy - if you have a shell with filename completion). - -Changes from 0.1 to 0.2 (5-4-92): - - README corrected to require perl 4.019, not 4.010. - - -make_path replaces -old. - - errors_in_commands test updated for change in format introduced in - make 3.62.6. - - test_driver_core now uses a better way of figuring what OS it is - running on (thanks to meyering@cs.utexas.edu (Jim Meyering) for - suggesting this, as well as discovering the hard way that the old - way (testing for /mnt) fails on his machine). - - Some new tests were added. +Changes from 0.4.9 to 3.78 (Sep 6, 1999): + + Lots of new tests. Renamed to follow the GNU make scheme. Also + added some support for using Purify with make. + + Rob Tulloh contributed some changes to get the test suite running on + NT; I tweaked them a bit (hopefully I didn't break anything!) Note + that NT doesn't grok the self-exec funkiness that Unix shells use, + so instead I broke that out into a separate shell script + "run_make_tests" that invokes perl with the (renamed) script + run_make_tests.pl. + + Eli Zaretski contributed changes to get the test suite running on + DOS with DJGPP. I also meddled in these somewhat. + + If you're on DOS or NT you should run "perl.exe run_make_tests.pl ..." + If you're on Unix, you can continue to run "./run_make_tests ..." as + before. + +Changes from 0.4.8 to 0.4.9 (May 14, 1998): + + Release by Paul D. Smith ; I'm the one to + blame for problems in this version :). + + Add some perl to test_driver.pl to strip out GNU make clock skew + warning messages from the output before comparing it to the + known-good output. + + A new test for escaped :'s in filenames (someone on VMS found this + didn't work anymore in 3.77): scripts/features/escape. + +Changes from 0.4.7 to 0.4.8 (May 14, 1998): + + Release by Paul D. Smith ; I'm the one to + blame for problems in this version :). + + New tests for features to be included in GNU make 3.77. + +Changes from 0.4.6 to 0.4.7 (August 18, 1997): + + Release by Paul D. Smith ; I'm the one to + blame for problems in this version :). + + Reworked some tests to make sure they all work with both perl4 and perl5. + + Work around a bug in perl 5.004 which doesn't clean the environment + correctly in all cases (fixed in at least 5.004_02). + + Updated functions/strip to test for newline stripping. + + Keep a $PURIFYOPTIONS env variable if present. + +Changes from 0.4.5 to 0.4.6 (April 07, 1997): + + Release by Paul D. Smith ; I'm the one to + blame for problems in this version :). + + Updated to work with GNU make 3.76 (and pretests). + + Added new tests and updated existing ones. Note that the new tests + weren't tested with perl 4, however I think they should work. + + Ignore any tests whose filenames end in "~", so that Emacs backup + files aren't run. + +Changes from 0.4.4 to 0.4.5 (April 29, 1995): + + Updated to be compatible with perl 5.001 as well as 4.036. + + Note: the test suite still won't work on 14-char filesystems + (sorry, Kaveh), but I will get to it. + + Also, some tests and stuff still haven't made it in because I + haven't had time to write the test scripts for them. But they, + too, will get in eventually. Contributions of scripts (ie, tests + that I can just drop in) are particularly welcome and will be + incorporated immediately. + +Changes from 0.4.3 to 0.4.4 (March 1995): + + Updated for changes in make 3.72.12, and to ignore CVS directories + (thanks go to Jim Meyering for the patches for this). + + Fixed uname call to not make a mess on BSD/OS 2.0 (whose uname -a + is very verbose). Let me know if this doesn't work correctly on + your system. + + Changed to display test name while it is running, not just when it + finishes. + + Note: the test suite still won't work on 14-char filesystems + (sorry, Kaveh), but I will get to it. + + Also, some tests and stuff still haven't made it in because I + haven't had time to write the test scripts for them. But they, + too, will get in eventually. + +Changes from 0.4 to 0.4.3 (October 1994): + + Fixed bugs (like dependencies on environment variables). + + Caught up with changes in make. + + The load_limit test should now silently ignore a failure due to + make not being able to read /dev/kmem. + + Reorganized tests into subdirs and renamed lots of things so that + those poor souls who still have to deal with 14-char filename + limits won't hate me any more. Thanks very much to Kaveh R. Ghazi + for helping me with the implementation and + testing of these changes, and for putting up with all my whining + about it... + + Added a $| = 1 so that systems that don't seem to automatically + flush their output for some reason will still print all the + output. I'd hate for someone to miss out on the smiley that + you're supposed to get when all the tests pass... :-) + +Changes from 0.3 to 0.4 (August 1993): + + Lost in the mists of time (and my hurry to get it out before I + left my job). + +Changes from 0.2 to 0.3 (9-30-92): + + Several tests fixed to match the fact that MAKELEVEL > 0 or -C now + imply -w. + + parallel_execution test fixed to not use double colon rules any + more since their behavior has changed. + + errors_in_commands test fixed to handle different error messages + and return codes from rm. + + Several tests fixed to handle -make_path with a relative path + and/or a name other than "make" for make. + + dash-e-option test fixed to use $PATH instead of $USER (since the + latter does not exist on some System V systems). This also + removes the dependency on getlogin (which fails under certain + weird conditions). + + test_driver_core changed so that you can give a test name like + scripts/errors_in_commands and it will be handled correctly (handy + if you have a shell with filename completion). + +Changes from 0.1 to 0.2 (5-4-92): + + README corrected to require perl 4.019, not 4.010. + + -make_path replaces -old. + + errors_in_commands test updated for change in format introduced in + make 3.62.6. + + test_driver_core now uses a better way of figuring what OS it is + running on (thanks to meyering@cs.utexas.edu (Jim Meyering) for + suggesting this, as well as discovering the hard way that the old + way (testing for /mnt) fails on his machine). + + Some new tests were added. diff --git a/src/mkutil/make/tests/README b/src/mkutil/make/tests/README index 12fa6983..0693d1ce 100644 --- a/src/mkutil/make/tests/README +++ b/src/mkutil/make/tests/README @@ -1,79 +1,79 @@ -This is release 3.78 (September 6, 1999) of the GNU make test -suite. See the file NEWS for some of the changes since the last -release. - -This release is made by psmith@gnu.org to correspond to GNU make 3.78. -It won't work correctly for versions before that. In addition to some -infrastructure changes I've added a number of new tests. - -Rob Tulloh has contributed changes to get the suite running on NT. - -Eli Zaretskii and Esa A E Peuha have contributed -changes to get the suite running on DJGPP/DOS. - -This package has a number of problems which preclude me from -distributing it with make as a default "make check" test suite. The -most serious of these is that it's not parallelizable: it scribbles all -over its installation directory and so can only test one make at a -time. I simply don't have time to do more with this than I am so far; -I'm very actively interested in finding someone willing to overhaul the -test suite infrastructure. If you're interested, contact me (see below)! - -The test suite thus far has been written by Steve McGee, Chris Arthur, -and Paul D. Smith. It is covered by the GNU General Public License -(Version 2), described in the file COPYING. - -The test suite requires Perl and is known to work with Perl 4.036 and -Perl 5.004 (available from ftp.gnu.org, and portable to many machines). -Earlier or later versions may work; I don't know. It assumes that the -first "diff" it finds is GNU diff, but that only matters if a test -fails. - -To run the test suite on a UNIX system, use "perl ./run_make_tests" -(or just "./run_make_tests" if you have a perl on your PATH). - -To run the test suite on Windows NT or DOS systems, use -"perl.exe ./run_make-tests.pl". - -By default, the test engine picks up the first executable called "make" -that it finds in your path. You may use the -make_path option (ie, -"perl run_make_tests -make_path /usr/local/src/make-3.78/make") if -you want to run a particular copy. This now works correctly with -relative paths and when make is called something other than "make" (like -"gmake"). - -Tests cannot end with a "~" character, as the test suite will ignore any -that do (I was tired of having it run my Emacs backup files as test :) - -If you want to run the tests in parallel, you should use the mkshadow -script included here to create temporary "copies" (via symbolic links) -of the test suite, one for each parallel job. This is a pain and one -day maybe the test suite will be rewritten so it's no longer -necessary--volunteers welcome! - -Also, sometimes the tests may behave strangely on networked -filesystems. You can use mkshadow to create a copy of the test suite in -/tmp or similar, and try again. If the error disappears, it's an issue -with your network or file server, not GNU make (I believe). - -The options/dash-l test will not really test anything if the copy of -make you are using can't obtain the system load. Some systems require -make to be setgid sys or kmem for this; if you don't want to install -make just to test it, make it setgid to kmem or whatever group /dev/kmem -is (ie, "chgrp kmem make;chmod g+s make" as root). In any case, the -options/dash-l test should no longer *fail* because make can't read -/dev/kmem. - -A directory named "work" will be created when the tests are run which -will contain any makefiles and "diff" files of tests that fail so that -you may look at them afterward to see the output of make and the -expected result. - -There is a -help option which will give you more information about the -other possible options for the test suite. - -Any complaints/suggestions/bugs/etc. for the test suite itself (as -opposed to problems in make that the suite finds) should be sent to -psmith@gnu.org. Enjoy! - Paul D. Smith - Chris Arthur +This is release 3.78 (September 6, 1999) of the GNU make test +suite. See the file NEWS for some of the changes since the last +release. + +This release is made by psmith@gnu.org to correspond to GNU make 3.78. +It won't work correctly for versions before that. In addition to some +infrastructure changes I've added a number of new tests. + +Rob Tulloh has contributed changes to get the suite running on NT. + +Eli Zaretskii and Esa A E Peuha have contributed +changes to get the suite running on DJGPP/DOS. + +This package has a number of problems which preclude me from +distributing it with make as a default "make check" test suite. The +most serious of these is that it's not parallelizable: it scribbles all +over its installation directory and so can only test one make at a +time. I simply don't have time to do more with this than I am so far; +I'm very actively interested in finding someone willing to overhaul the +test suite infrastructure. If you're interested, contact me (see below)! + +The test suite thus far has been written by Steve McGee, Chris Arthur, +and Paul D. Smith. It is covered by the GNU General Public License +(Version 2), described in the file COPYING. + +The test suite requires Perl and is known to work with Perl 4.036 and +Perl 5.004 (available from ftp.gnu.org, and portable to many machines). +Earlier or later versions may work; I don't know. It assumes that the +first "diff" it finds is GNU diff, but that only matters if a test +fails. + +To run the test suite on a UNIX system, use "perl ./run_make_tests" +(or just "./run_make_tests" if you have a perl on your PATH). + +To run the test suite on Windows NT or DOS systems, use +"perl.exe ./run_make-tests.pl". + +By default, the test engine picks up the first executable called "make" +that it finds in your path. You may use the -make_path option (ie, +"perl run_make_tests -make_path /usr/local/src/make-3.78/make") if +you want to run a particular copy. This now works correctly with +relative paths and when make is called something other than "make" (like +"gmake"). + +Tests cannot end with a "~" character, as the test suite will ignore any +that do (I was tired of having it run my Emacs backup files as test :) + +If you want to run the tests in parallel, you should use the mkshadow +script included here to create temporary "copies" (via symbolic links) +of the test suite, one for each parallel job. This is a pain and one +day maybe the test suite will be rewritten so it's no longer +necessary--volunteers welcome! + +Also, sometimes the tests may behave strangely on networked +filesystems. You can use mkshadow to create a copy of the test suite in +/tmp or similar, and try again. If the error disappears, it's an issue +with your network or file server, not GNU make (I believe). + +The options/dash-l test will not really test anything if the copy of +make you are using can't obtain the system load. Some systems require +make to be setgid sys or kmem for this; if you don't want to install +make just to test it, make it setgid to kmem or whatever group /dev/kmem +is (ie, "chgrp kmem make;chmod g+s make" as root). In any case, the +options/dash-l test should no longer *fail* because make can't read +/dev/kmem. + +A directory named "work" will be created when the tests are run which +will contain any makefiles and "diff" files of tests that fail so that +you may look at them afterward to see the output of make and the +expected result. + +There is a -help option which will give you more information about the +other possible options for the test suite. + +Any complaints/suggestions/bugs/etc. for the test suite itself (as +opposed to problems in make that the suite finds) should be sent to +psmith@gnu.org. Enjoy! + Paul D. Smith + Chris Arthur diff --git a/src/mkutil/make/tests/mkshadow b/src/mkutil/make/tests/mkshadow index baae8364..9b8c55a1 100644 --- a/src/mkutil/make/tests/mkshadow +++ b/src/mkutil/make/tests/mkshadow @@ -1,42 +1,42 @@ -#!/bin/sh -# -# Simple script to make a "shadow" test directory, using symbolic links. -# Typically you'd put the shadow in /tmp or another local disk -# - -case "$1" in - "") echo 'Usage: mkshadow '; exit 1 ;; -esac - -dest="$1" - -if [ ! -d "$dest" ]; then - echo "Destination directory \`$dest' must exist!" - exit 1 -fi - -if [ ! -f run_make_tests ]; then - echo "The current directory doesn't appear to contain the test suite!" - exit 1 -fi - -suite=`pwd | sed 's%^/tmp_mnt%%'` -name=`basename "$suite"` - -files=`echo *` - -set -e - -mkdir "$dest/$name" -cd "$dest/$name" - -ln -s "$suite" .testdir - -for f in $files; do - ln -s .testdir/$f . -done - -rm -rf work - -echo "Shadow test suite created in \`$dest/$name'." -exit 0 +#!/bin/sh +# +# Simple script to make a "shadow" test directory, using symbolic links. +# Typically you'd put the shadow in /tmp or another local disk +# + +case "$1" in + "") echo 'Usage: mkshadow '; exit 1 ;; +esac + +dest="$1" + +if [ ! -d "$dest" ]; then + echo "Destination directory \`$dest' must exist!" + exit 1 +fi + +if [ ! -f run_make_tests ]; then + echo "The current directory doesn't appear to contain the test suite!" + exit 1 +fi + +suite=`pwd | sed 's%^/tmp_mnt%%'` +name=`basename "$suite"` + +files=`echo *` + +set -e + +mkdir "$dest/$name" +cd "$dest/$name" + +ln -s "$suite" .testdir + +for f in $files; do + ln -s .testdir/$f . +done + +rm -rf work + +echo "Shadow test suite created in \`$dest/$name'." +exit 0 diff --git a/src/mkutil/make/tests/run_make_tests b/src/mkutil/make/tests/run_make_tests index b68b7849..34b7c209 100644 --- a/src/mkutil/make/tests/run_make_tests +++ b/src/mkutil/make/tests/run_make_tests @@ -1,2 +1,2 @@ -#!/bin/sh -exec perl $0.pl ${1+"$@"} +#!/bin/sh +exec perl $0.pl ${1+"$@"} diff --git a/src/mkutil/make/tests/run_make_tests.pl b/src/mkutil/make/tests/run_make_tests.pl index 4389d434..fb82c966 100644 --- a/src/mkutil/make/tests/run_make_tests.pl +++ b/src/mkutil/make/tests/run_make_tests.pl @@ -1,274 +1,274 @@ -#!/usr/local/bin/perl -# -*-perl-*- - -# Test driver for the Make test suite - -# Usage: run_make_tests [testname] -# [-debug] -# [-help] -# [-verbose] -# [-keep] -# [-make ] -# (and others) - -$valgrind = 0; # invoke make with valgrind - -require "test_driver.pl"; - -#$SIG{INT} = sub { print STDERR "Caught a signal!\n"; die @_; }; - -sub valid_option -{ - local($option) = @_; - - if ($option =~ /^-make([-_]?path)?$/) - { - $make_path = shift @argv; - if (!-f $make_path) - { - print "$option $make_path: Not found.\n"; - exit 0; - } - return 1; - } - - if ($option =~ /^-valgrind$/i) { - $valgrind = 1; - return 1; - } - -# This doesn't work--it _should_! Someone needs to fix this badly. -# -# elsif ($option =~ /^-work([-_]?dir)?$/) -# { -# $workdir = shift @argv; -# return 1; -# } - - return 0; -} - -sub run_make_with_options -{ - local ($filename,$options,$logname,$expected_code) = @_; - local($code); - local($command) = $make_path; - - $expected_code = 0 unless defined($expected_code); - - if ($filename) - { - $command .= " -f $filename"; - } - - if ($options) - { - $command .= " $options"; - } - - if ($valgrind) { - print VALGRIND "\n\nExecuting: $command\n"; - } - - $code = &run_command_with_output($logname,$command); - - # Check to see if we have Purify errors. If so, keep the logfile. - # For this to work you need to build with the Purify flag -exit-status=yes - - if ($pure_log && -f $pure_log) { - if ($code & 0x7000) { - $code &= ~0x7000; - - # If we have a purify log, save it - $tn = $pure_testname . ($num_of_logfiles ? ".$num_of_logfiles" : ""); - print("Renaming purify log file to $tn\n") if $debug; - rename($pure_log, "$tn") - || die "Can't rename $log to $tn: $!\n"; - ++$purify_errors; - } - else { - unlink($pure_log); - } - } - - if ($code != $expected_code) - { - print "Error running $make_path ($code): $command\n"; - $test_passed = 0; - # If it's a SIGINT, stop here - if ($code & 127) { - print STDERR "\nCaught signal ".($code & 127)."!\n"; - exit($code); - } - return 0; - } - - if ($profile & $vos) - { - system "add_profile $make_path"; - } -1; -} - -sub print_usage -{ - &print_standard_usage ("run_make_tests", "[-make_path make_pathname]"); -} - -sub print_help -{ - &print_standard_help ("-make_path", - "\tYou may specify the pathname of the copy of make to run."); -} - -sub get_this_pwd { - if ($vos) { - $delete_command = "delete_file"; - $__pwd = `++(current_dir)`; - } - else { - $delete_command = "rm"; - chop ($__pwd = `pwd`); - } - - return $__pwd; -} - -sub set_defaults -{ - # $profile = 1; - $testee = "GNU make"; - $make_path = "make"; - $tmpfilesuffix = "mk"; - $pwd = &get_this_pwd; -} - -sub set_more_defaults -{ - local($string); - local($index); - - # Make sure we're in the C locale for those systems that support it, - # so sorting, etc. is predictable. - # - $ENV{LANG} = 'C'; - - # find the type of the port. We do this up front to have a single - # point of change if it needs to be tweaked. - # - # This is probably not specific enough. - # - if ($osname =~ /Windows/i) { - $port_type = 'W32'; - } - # Bleah, the osname is so variable on DOS. This kind of bites. - # Well, as far as I can tell if we check for some text at the - # beginning of the line with either no spaces or a single space, then - # a D, then either "OS", "os", or "ev" and a space. That should - # match and be pretty specific. - elsif ($osname =~ /^([^ ]*|[^ ]* [^ ]*)D(OS|os|ev) /) { - $port_type = 'DOS'; - } - # Check for OS/2 - elsif ($osname =~ m%OS/2%) { - $port_type = 'OS/2'; - } - # Everything else, right now, is UNIX. Note that we should integrate - # the VOS support into this as well and get rid of $vos; we'll do - # that next time. - else { - $port_type = 'UNIX'; - } - - # On DOS/Windows system the filesystem apparently can't track - # timestamps with second granularity (!!). Change the sleep time - # needed to force a file to be considered "old". - # - $wtime = $port_type eq 'UNIX' ? 1 : $port_type eq 'OS/2' ? 2 : 4; - - # Find the full pathname of Make. For DOS systems this is more - # complicated, so we ask make itself. - - $make_path = `sh -c 'echo "all:;\@echo \\\$(MAKE)" | $make_path -f-'`; - chop $make_path; - print "Make\t= `$make_path'\n" if $debug; - - $string = `$make_path -v -f /dev/null 2> /dev/null`; - - $string =~ /^(GNU Make [^,\n]*)/; - $testee_version = "$1\n"; - - $string = `sh -c "$make_path -f /dev/null 2>&1"`; - if ($string =~ /(.*): \*\*\* No targets\. Stop\./) { - $make_name = $1; - } - else { - if ($make_path =~ /$pathsep([^\n$pathsep]*)$/) { - $make_name = $1; - } - else { - $make_name = $make_path; - } - } - - # prepend pwd if this is a relative path (ie, does not - # start with a slash, but contains one). Thanks for the - # clue, Roland. - - if (index ($make_path, ":") != 1 && index ($make_path, "/") > 0) - { - $mkpath = "$pwd$pathsep$make_path"; - } - else - { - $mkpath = $make_path; - } - - # Get Purify log info--if any. - - $ENV{PURIFYOPTIONS} =~ /.*-logfile=([^ ]+)/; - $pure_log = $1 || ''; - $pure_log =~ s/%v/$make_name/; - $purify_errors = 0; - - $string = `sh -c "$make_path -j 2 -f /dev/null 2>&1"`; - if ($string =~ /not supported/) { - $parallel_jobs = 0; - } - else { - $parallel_jobs = 1; - } - - # Set up for valgrind, if requested. - - if ($valgrind) { -# use POSIX qw(:fcntl_h); -# require Fcntl; - open(VALGRIND, "> valgrind.out") - || die "Cannot open valgrind.out: $!\n"; - # -q --leak-check=yes - $make_path = "valgrind --num-callers=15 --logfile-fd=".fileno(VALGRIND)." $make_path"; - # F_SETFD is 2 - fcntl(VALGRIND, 2, 0) or die "fcntl(setfd) failed: $!\n"; - system("echo Starting on `date` 1>&".fileno(VALGRIND)); - print "Enabled valgrind support.\n"; - } -} - -sub setup_for_test -{ - $makefile = &get_tmpfile; - if (-f $makefile) { - unlink $makefile; - } - - # Get rid of any Purify logs. - if ($pure_log) { - ($pure_testname = $testname) =~ tr,/,_,; - $pure_testname = "$pure_log.$pure_testname"; - system("rm -f $pure_testname*"); - print("Purify testfiles are: $pure_testname*\n") if $debug; - } -} - -exit !&toplevel; +#!/usr/local/bin/perl +# -*-perl-*- + +# Test driver for the Make test suite + +# Usage: run_make_tests [testname] +# [-debug] +# [-help] +# [-verbose] +# [-keep] +# [-make ] +# (and others) + +$valgrind = 0; # invoke make with valgrind + +require "test_driver.pl"; + +#$SIG{INT} = sub { print STDERR "Caught a signal!\n"; die @_; }; + +sub valid_option +{ + local($option) = @_; + + if ($option =~ /^-make([-_]?path)?$/) + { + $make_path = shift @argv; + if (!-f $make_path) + { + print "$option $make_path: Not found.\n"; + exit 0; + } + return 1; + } + + if ($option =~ /^-valgrind$/i) { + $valgrind = 1; + return 1; + } + +# This doesn't work--it _should_! Someone needs to fix this badly. +# +# elsif ($option =~ /^-work([-_]?dir)?$/) +# { +# $workdir = shift @argv; +# return 1; +# } + + return 0; +} + +sub run_make_with_options +{ + local ($filename,$options,$logname,$expected_code) = @_; + local($code); + local($command) = $make_path; + + $expected_code = 0 unless defined($expected_code); + + if ($filename) + { + $command .= " -f $filename"; + } + + if ($options) + { + $command .= " $options"; + } + + if ($valgrind) { + print VALGRIND "\n\nExecuting: $command\n"; + } + + $code = &run_command_with_output($logname,$command); + + # Check to see if we have Purify errors. If so, keep the logfile. + # For this to work you need to build with the Purify flag -exit-status=yes + + if ($pure_log && -f $pure_log) { + if ($code & 0x7000) { + $code &= ~0x7000; + + # If we have a purify log, save it + $tn = $pure_testname . ($num_of_logfiles ? ".$num_of_logfiles" : ""); + print("Renaming purify log file to $tn\n") if $debug; + rename($pure_log, "$tn") + || die "Can't rename $log to $tn: $!\n"; + ++$purify_errors; + } + else { + unlink($pure_log); + } + } + + if ($code != $expected_code) + { + print "Error running $make_path ($code): $command\n"; + $test_passed = 0; + # If it's a SIGINT, stop here + if ($code & 127) { + print STDERR "\nCaught signal ".($code & 127)."!\n"; + exit($code); + } + return 0; + } + + if ($profile & $vos) + { + system "add_profile $make_path"; + } +1; +} + +sub print_usage +{ + &print_standard_usage ("run_make_tests", "[-make_path make_pathname]"); +} + +sub print_help +{ + &print_standard_help ("-make_path", + "\tYou may specify the pathname of the copy of make to run."); +} + +sub get_this_pwd { + if ($vos) { + $delete_command = "delete_file"; + $__pwd = `++(current_dir)`; + } + else { + $delete_command = "rm"; + chop ($__pwd = `pwd`); + } + + return $__pwd; +} + +sub set_defaults +{ + # $profile = 1; + $testee = "GNU make"; + $make_path = "make"; + $tmpfilesuffix = "mk"; + $pwd = &get_this_pwd; +} + +sub set_more_defaults +{ + local($string); + local($index); + + # Make sure we're in the C locale for those systems that support it, + # so sorting, etc. is predictable. + # + $ENV{LANG} = 'C'; + + # find the type of the port. We do this up front to have a single + # point of change if it needs to be tweaked. + # + # This is probably not specific enough. + # + if ($osname =~ /Windows/i) { + $port_type = 'W32'; + } + # Bleah, the osname is so variable on DOS. This kind of bites. + # Well, as far as I can tell if we check for some text at the + # beginning of the line with either no spaces or a single space, then + # a D, then either "OS", "os", or "ev" and a space. That should + # match and be pretty specific. + elsif ($osname =~ /^([^ ]*|[^ ]* [^ ]*)D(OS|os|ev) /) { + $port_type = 'DOS'; + } + # Check for OS/2 + elsif ($osname =~ m%OS/2%) { + $port_type = 'OS/2'; + } + # Everything else, right now, is UNIX. Note that we should integrate + # the VOS support into this as well and get rid of $vos; we'll do + # that next time. + else { + $port_type = 'UNIX'; + } + + # On DOS/Windows system the filesystem apparently can't track + # timestamps with second granularity (!!). Change the sleep time + # needed to force a file to be considered "old". + # + $wtime = $port_type eq 'UNIX' ? 1 : $port_type eq 'OS/2' ? 2 : 4; + + # Find the full pathname of Make. For DOS systems this is more + # complicated, so we ask make itself. + + $make_path = `sh -c 'echo "all:;\@echo \\\$(MAKE)" | $make_path -f-'`; + chop $make_path; + print "Make\t= `$make_path'\n" if $debug; + + $string = `$make_path -v -f /dev/null 2> /dev/null`; + + $string =~ /^(GNU Make [^,\n]*)/; + $testee_version = "$1\n"; + + $string = `sh -c "$make_path -f /dev/null 2>&1"`; + if ($string =~ /(.*): \*\*\* No targets\. Stop\./) { + $make_name = $1; + } + else { + if ($make_path =~ /$pathsep([^\n$pathsep]*)$/) { + $make_name = $1; + } + else { + $make_name = $make_path; + } + } + + # prepend pwd if this is a relative path (ie, does not + # start with a slash, but contains one). Thanks for the + # clue, Roland. + + if (index ($make_path, ":") != 1 && index ($make_path, "/") > 0) + { + $mkpath = "$pwd$pathsep$make_path"; + } + else + { + $mkpath = $make_path; + } + + # Get Purify log info--if any. + + $ENV{PURIFYOPTIONS} =~ /.*-logfile=([^ ]+)/; + $pure_log = $1 || ''; + $pure_log =~ s/%v/$make_name/; + $purify_errors = 0; + + $string = `sh -c "$make_path -j 2 -f /dev/null 2>&1"`; + if ($string =~ /not supported/) { + $parallel_jobs = 0; + } + else { + $parallel_jobs = 1; + } + + # Set up for valgrind, if requested. + + if ($valgrind) { +# use POSIX qw(:fcntl_h); +# require Fcntl; + open(VALGRIND, "> valgrind.out") + || die "Cannot open valgrind.out: $!\n"; + # -q --leak-check=yes + $make_path = "valgrind --num-callers=15 --logfile-fd=".fileno(VALGRIND)." $make_path"; + # F_SETFD is 2 + fcntl(VALGRIND, 2, 0) or die "fcntl(setfd) failed: $!\n"; + system("echo Starting on `date` 1>&".fileno(VALGRIND)); + print "Enabled valgrind support.\n"; + } +} + +sub setup_for_test +{ + $makefile = &get_tmpfile; + if (-f $makefile) { + unlink $makefile; + } + + # Get rid of any Purify logs. + if ($pure_log) { + ($pure_testname = $testname) =~ tr,/,_,; + $pure_testname = "$pure_log.$pure_testname"; + system("rm -f $pure_testname*"); + print("Purify testfiles are: $pure_testname*\n") if $debug; + } +} + +exit !&toplevel; diff --git a/src/mkutil/make/tests/scripts/CVS/Entries b/src/mkutil/make/tests/scripts/CVS/Entries index 38d73c2c..591cc8b2 100644 --- a/src/mkutil/make/tests/scripts/CVS/Entries +++ b/src/mkutil/make/tests/scripts/CVS/Entries @@ -1,2 +1,7 @@ -/test_template/1.1/Tue Sep 14 02:03:32 1999// -D +/test_template/1.1.1.1/Mon Nov 17 19:06:10 2003// +D/features//// +D/functions//// +D/misc//// +D/options//// +D/targets//// +D/variables//// diff --git a/src/mkutil/make/tests/scripts/CVS/Entries.Log b/src/mkutil/make/tests/scripts/CVS/Entries.Log deleted file mode 100644 index d051b1c4..00000000 --- a/src/mkutil/make/tests/scripts/CVS/Entries.Log +++ /dev/null @@ -1,6 +0,0 @@ -A D/features//// -A D/functions//// -A D/misc//// -A D/options//// -A D/targets//// -A D/variables//// diff --git a/src/mkutil/make/tests/scripts/CVS/Repository b/src/mkutil/make/tests/scripts/CVS/Repository index b9a0539c..379a6c98 100644 --- a/src/mkutil/make/tests/scripts/CVS/Repository +++ b/src/mkutil/make/tests/scripts/CVS/Repository @@ -1 +1 @@ -make/tests/scripts +uzi/src/mkutil/make/tests/scripts diff --git a/src/mkutil/make/tests/scripts/CVS/Root b/src/mkutil/make/tests/scripts/CVS/Root index 132093b8..933b8194 100644 --- a/src/mkutil/make/tests/scripts/CVS/Root +++ b/src/mkutil/make/tests/scripts/CVS/Root @@ -1 +1 @@ -:pserver:anoncvs@subversions.gnu.org:/cvsroot/make +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/make/tests/scripts/features/CVS/Entries b/src/mkutil/make/tests/scripts/features/CVS/Entries index 89219ab0..35f1c67f 100644 --- a/src/mkutil/make/tests/scripts/features/CVS/Entries +++ b/src/mkutil/make/tests/scripts/features/CVS/Entries @@ -1,26 +1,26 @@ -/comments/1.1/Tue Sep 14 02:03:34 1999// -/conditionals/1.3/Tue Sep 10 22:23:20 2002// -/default_names/1.2/Fri Sep 17 03:16:03 1999// -/double_colon/1.6/Mon Sep 23 22:16:40 2002// -/echoing/1.1/Tue Sep 14 02:03:35 1999// -/errors/1.1/Tue Sep 14 02:03:35 1999// -/escape/1.3/Mon Sep 23 22:16:40 2002// -/export/1.3/Wed Sep 18 20:51:59 2002// -/include/1.2/Sun Jan 23 07:05:17 2000// -/mult_rules/1.1/Tue Sep 14 02:03:36 1999// -/mult_targets/1.1/Tue Sep 14 02:03:36 1999// -/order_only/1.2/Tue Jul 9 06:35:56 2002// -/override/1.1/Tue Sep 14 02:03:36 1999// -/parallelism/1.3/Thu Sep 23 18:23:53 1999// -/patspecific_vars/1.3/Fri May 2 01:45:00 2003// -/quoting/1.1/Tue Sep 14 02:03:37 1999// -/recursion/1.1/Tue Sep 14 02:03:37 1999// -/reinvoke/1.6/Wed Sep 4 07:26:20 2002// -/statipattrules/1.2/Mon Mar 27 20:53:50 2000// -/targetvars/1.9/Thu Jan 30 07:49:17 2003// -/varnesting/1.1/Tue Sep 14 02:03:38 1999// -/vpath/1.1/Tue Sep 14 02:03:38 1999// -/vpath2/1.1/Tue Sep 14 02:03:38 1999// -/vpathgpath/1.2/Wed Sep 4 07:26:20 2002// -/vpathplus/1.3/Wed Sep 4 07:26:20 2002// -D +/comments/1.1.1.1/Mon Nov 17 19:06:10 2003// +/conditionals/1.1.1.1/Mon Nov 17 19:06:10 2003// +/default_names/1.1.1.1/Mon Nov 17 19:06:10 2003// +/double_colon/1.1.1.1/Mon Nov 17 19:06:10 2003// +/echoing/1.1.1.1/Mon Nov 17 19:06:10 2003// +/errors/1.1.1.1/Mon Nov 17 19:06:10 2003// +/escape/1.1.1.1/Mon Nov 17 19:06:10 2003// +/export/1.1.1.1/Mon Nov 17 19:06:10 2003// +/include/1.1.1.1/Mon Nov 17 19:06:10 2003// +/mult_rules/1.1.1.1/Mon Nov 17 19:06:10 2003// +/mult_targets/1.1.1.1/Mon Nov 17 19:06:10 2003// +/order_only/1.1.1.1/Mon Nov 17 19:06:10 2003// +/override/1.1.1.1/Mon Nov 17 19:06:10 2003// +/parallelism/1.1.1.1/Mon Nov 17 19:06:10 2003// +/patspecific_vars/1.1.1.1/Mon Nov 17 19:06:10 2003// +/quoting/1.1.1.1/Mon Nov 17 19:06:10 2003// +/recursion/1.1.1.1/Mon Nov 17 19:06:10 2003// +/reinvoke/1.1.1.1/Mon Nov 17 19:06:10 2003// +/statipattrules/1.1.1.1/Mon Nov 17 19:06:10 2003// +/targetvars/1.1.1.1/Mon Nov 17 19:06:10 2003// +/varnesting/1.1.1.1/Mon Nov 17 19:06:10 2003// +/vpath/1.1.1.1/Mon Nov 17 19:06:10 2003// +/vpath2/1.1.1.1/Mon Nov 17 19:06:10 2003// +/vpathgpath/1.1.1.1/Mon Nov 17 19:06:10 2003// +/vpathplus/1.1.1.1/Mon Nov 17 19:06:10 2003// +D diff --git a/src/mkutil/make/tests/scripts/features/CVS/Repository b/src/mkutil/make/tests/scripts/features/CVS/Repository index 01f4082e..e58a37b7 100644 --- a/src/mkutil/make/tests/scripts/features/CVS/Repository +++ b/src/mkutil/make/tests/scripts/features/CVS/Repository @@ -1 +1 @@ -make/tests/scripts/features +uzi/src/mkutil/make/tests/scripts/features diff --git a/src/mkutil/make/tests/scripts/features/CVS/Root b/src/mkutil/make/tests/scripts/features/CVS/Root index 132093b8..933b8194 100644 --- a/src/mkutil/make/tests/scripts/features/CVS/Root +++ b/src/mkutil/make/tests/scripts/features/CVS/Root @@ -1 +1 @@ -:pserver:anoncvs@subversions.gnu.org:/cvsroot/make +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/make/tests/scripts/features/comments b/src/mkutil/make/tests/scripts/features/comments index 9257955f..ebd2a208 100644 --- a/src/mkutil/make/tests/scripts/features/comments +++ b/src/mkutil/make/tests/scripts/features/comments @@ -1,35 +1,35 @@ -$description = "The following test creates a makefile to test comments\n" - ."and comment continuation to the next line using a \n" - ."backslash within makefiles."; - -$details = "To test comments within a makefile, a semi-colon was placed \n" - ."after a comment was started. This should not be reported as\n" - ."an error since it is within a comment. We then continue the \n" - ."comment to the next line using a backslash. To test whether\n" - ."the comment really continued, we place an echo command with some\n" - ."text on the line which should never execute since it should be \n" - ."within a comment\n"; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE <<\EOF; -# Test comment vs semicolon parsing and line continuation -target: # this ; is just a comment \ - @echo This is within a comment. - @echo There should be no errors for this makefile. -EOF - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&run_make_with_options($makefile,"",&get_logfile); - -# Create the answer to what should be produced by this Makefile -$answer = "There should be no errors for this makefile.\n"; - -# COMPARE RESULTS - -&compare_output($answer,&get_logfile(1)) +$description = "The following test creates a makefile to test comments\n" + ."and comment continuation to the next line using a \n" + ."backslash within makefiles."; + +$details = "To test comments within a makefile, a semi-colon was placed \n" + ."after a comment was started. This should not be reported as\n" + ."an error since it is within a comment. We then continue the \n" + ."comment to the next line using a backslash. To test whether\n" + ."the comment really continued, we place an echo command with some\n" + ."text on the line which should never execute since it should be \n" + ."within a comment\n"; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE <<\EOF; +# Test comment vs semicolon parsing and line continuation +target: # this ; is just a comment \ + @echo This is within a comment. + @echo There should be no errors for this makefile. +EOF + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&run_make_with_options($makefile,"",&get_logfile); + +# Create the answer to what should be produced by this Makefile +$answer = "There should be no errors for this makefile.\n"; + +# COMPARE RESULTS + +&compare_output($answer,&get_logfile(1)) diff --git a/src/mkutil/make/tests/scripts/features/conditionals b/src/mkutil/make/tests/scripts/features/conditionals index 9aad1d19..a075ba2b 100644 --- a/src/mkutil/make/tests/scripts/features/conditionals +++ b/src/mkutil/make/tests/scripts/features/conditionals @@ -1,100 +1,100 @@ -# -*-perl-*- -$description = "Check GNU make conditionals."; - -$details = "Attempt various different flavors of GNU make conditionals."; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE <<'EOMAKE'; -objects = foo.obj -arg1 = first -arg2 = second -arg3 = third -arg4 = cc -arg5 = second - -all: -ifeq ($(arg1),$(arg2)) - @echo arg1 equals arg2 -else - @echo arg1 NOT equal arg2 -endif - -ifeq '$(arg2)' "$(arg5)" - @echo arg2 equals arg5 -else - @echo arg2 NOT equal arg5 -endif - -ifneq '$(arg3)' '$(arg4)' - @echo arg3 NOT equal arg4 -else - @echo arg3 equal arg4 -endif - -ifndef undefined - @echo variable is undefined -else - @echo variable undefined is defined -endif -ifdef arg4 - @echo arg4 is defined -else - @echo arg4 is NOT defined -endif - -EOMAKE - -close(MAKEFILE); - -&run_make_with_options($makefile,"",&get_logfile,0); - -$answer = "arg1 NOT equal arg2 -arg2 equals arg5 -arg3 NOT equal arg4 -variable is undefined -arg4 is defined -"; - -&compare_output($answer,&get_logfile(1)); - - -# Test expansion of variables inside ifdef. - -$makefile2 = &get_tmpfile; - -open(MAKEFILE, "> $makefile2"); - -print MAKEFILE <<'EOF'; - -foo = 1 - -FOO = foo -F = f - -DEF = no -DEF2 = no - -ifdef $(FOO) -DEF = yes -endif - -ifdef $(F)oo -DEF2 = yes -endif - -all:; @echo DEF=$(DEF) DEF2=$(DEF2) - -EOF - -close(MAKEFILE) - -&run_make_with_options($makefile2,"",&get_logfile,0); -$answer = "DEF=yes DEF2=yes\n"; -&compare_output($answer,&get_logfile(1)); - - -# This tells the test driver that the perl test script executed properly. -1; +# -*-perl-*- +$description = "Check GNU make conditionals."; + +$details = "Attempt various different flavors of GNU make conditionals."; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE <<'EOMAKE'; +objects = foo.obj +arg1 = first +arg2 = second +arg3 = third +arg4 = cc +arg5 = second + +all: +ifeq ($(arg1),$(arg2)) + @echo arg1 equals arg2 +else + @echo arg1 NOT equal arg2 +endif + +ifeq '$(arg2)' "$(arg5)" + @echo arg2 equals arg5 +else + @echo arg2 NOT equal arg5 +endif + +ifneq '$(arg3)' '$(arg4)' + @echo arg3 NOT equal arg4 +else + @echo arg3 equal arg4 +endif + +ifndef undefined + @echo variable is undefined +else + @echo variable undefined is defined +endif +ifdef arg4 + @echo arg4 is defined +else + @echo arg4 is NOT defined +endif + +EOMAKE + +close(MAKEFILE); + +&run_make_with_options($makefile,"",&get_logfile,0); + +$answer = "arg1 NOT equal arg2 +arg2 equals arg5 +arg3 NOT equal arg4 +variable is undefined +arg4 is defined +"; + +&compare_output($answer,&get_logfile(1)); + + +# Test expansion of variables inside ifdef. + +$makefile2 = &get_tmpfile; + +open(MAKEFILE, "> $makefile2"); + +print MAKEFILE <<'EOF'; + +foo = 1 + +FOO = foo +F = f + +DEF = no +DEF2 = no + +ifdef $(FOO) +DEF = yes +endif + +ifdef $(F)oo +DEF2 = yes +endif + +all:; @echo DEF=$(DEF) DEF2=$(DEF2) + +EOF + +close(MAKEFILE) + +&run_make_with_options($makefile2,"",&get_logfile,0); +$answer = "DEF=yes DEF2=yes\n"; +&compare_output($answer,&get_logfile(1)); + + +# This tells the test driver that the perl test script executed properly. +1; diff --git a/src/mkutil/make/tests/scripts/features/default_names b/src/mkutil/make/tests/scripts/features/default_names index 501f1fc9..ed308b9e 100644 --- a/src/mkutil/make/tests/scripts/features/default_names +++ b/src/mkutil/make/tests/scripts/features/default_names @@ -1,65 +1,65 @@ -# -*-perl-*- - -$description = "This script tests to make sure that Make looks for -default makefiles in the correct order (GNUmakefile,makefile,Makefile)"; - -# Create a makefile called "GNUmakefile" -$makefile = "GNUmakefile"; - -open(MAKEFILE,"> $makefile"); - -print MAKEFILE "FIRST: ; \@echo It chose GNUmakefile\n"; - -close(MAKEFILE); - -# DOS/WIN32 platforms preserve case, but Makefile is the same file as makefile. -# Just test what we can here (avoid Makefile versus makefile test). -# -if ($port_type eq 'UNIX') -{ - # Create another makefile called "makefile" - open(MAKEFILE,"> makefile"); - - print MAKEFILE "SECOND: ; \@echo It chose makefile\n"; - - close(MAKEFILE); -} - - -# Create another makefile called "Makefile" -open(MAKEFILE,"> Makefile"); - -print MAKEFILE "THIRD: ; \@echo It chose Makefile\n"; - -close(MAKEFILE); - - -&run_make_with_options("","",&get_logfile); - -# Create the answer to what should be produced by this Makefile -$answer = "It chose GNUmakefile\n"; - -# COMPARE RESULTS - -&compare_output($answer,&get_logfile(1)) || &error("abort"); -unlink $makefile; - -# DOS/WIN32 platforms preserve case, but Makefile is the same file as makefile. -# Just test what we can here (avoid Makefile versus makefile test). -# -if ($port_type eq 'UNIX') -{ - $answer = "It chose makefile\n"; - - &run_make_with_options("","",&get_logfile); - - &compare_output($answer,&get_logfile(1)) || &error("abort"); - unlink "makefile"; -} - -$answer = "It chose Makefile\n"; - -&run_make_with_options("","",&get_logfile); - -&compare_output($answer,&get_logfile(1)) || &error("abort"); -unlink "Makefile"; +# -*-perl-*- + +$description = "This script tests to make sure that Make looks for +default makefiles in the correct order (GNUmakefile,makefile,Makefile)"; + +# Create a makefile called "GNUmakefile" +$makefile = "GNUmakefile"; + +open(MAKEFILE,"> $makefile"); + +print MAKEFILE "FIRST: ; \@echo It chose GNUmakefile\n"; + +close(MAKEFILE); + +# DOS/WIN32 platforms preserve case, but Makefile is the same file as makefile. +# Just test what we can here (avoid Makefile versus makefile test). +# +if ($port_type eq 'UNIX') +{ + # Create another makefile called "makefile" + open(MAKEFILE,"> makefile"); + + print MAKEFILE "SECOND: ; \@echo It chose makefile\n"; + + close(MAKEFILE); +} + + +# Create another makefile called "Makefile" +open(MAKEFILE,"> Makefile"); + +print MAKEFILE "THIRD: ; \@echo It chose Makefile\n"; + +close(MAKEFILE); + + +&run_make_with_options("","",&get_logfile); + +# Create the answer to what should be produced by this Makefile +$answer = "It chose GNUmakefile\n"; + +# COMPARE RESULTS + +&compare_output($answer,&get_logfile(1)) || &error("abort"); +unlink $makefile; + +# DOS/WIN32 platforms preserve case, but Makefile is the same file as makefile. +# Just test what we can here (avoid Makefile versus makefile test). +# +if ($port_type eq 'UNIX') +{ + $answer = "It chose makefile\n"; + + &run_make_with_options("","",&get_logfile); + + &compare_output($answer,&get_logfile(1)) || &error("abort"); + unlink "makefile"; +} + +$answer = "It chose Makefile\n"; + +&run_make_with_options("","",&get_logfile); + +&compare_output($answer,&get_logfile(1)) || &error("abort"); +unlink "Makefile"; diff --git a/src/mkutil/make/tests/scripts/features/double_colon b/src/mkutil/make/tests/scripts/features/double_colon index 082b815a..b5e7f1dd 100644 --- a/src/mkutil/make/tests/scripts/features/double_colon +++ b/src/mkutil/make/tests/scripts/features/double_colon @@ -1,127 +1,127 @@ -# -*-perl-*- -$description = "Test handling of double-colon rules."; - -$details = "\ -We test these features: - - - Multiple commands for the same (double-colon) target - - Different prerequisites for targets: only out-of-date - ones are rebuilt. - - Double-colon targets that aren't the goal target. - -Then we do the same thing for parallel builds: double-colon -targets should always be built serially."; - -# The Contents of the MAKEFILE ... - -open(MAKEFILE,"> $makefile"); - -print MAKEFILE <<'EOF'; - -all: baz - -foo:: f1.h ; @echo foo FIRST -foo:: f2.h ; @echo foo SECOND - -bar:: ; @echo aaa; sleep 1; echo aaa done -bar:: ; @echo bbb - -baz:: ; @echo aaa -baz:: ; @echo bbb - -biz:: ; @echo aaa -biz:: two ; @echo bbb - -two: ; @echo two - -f1.h f2.h: ; @echo $@ - -d :: ; @echo ok -d :: d ; @echo oops - -EOF - -close(MAKEFILE); - -# TEST 0: A simple double-colon rule that isn't the goal target. - -&run_make_with_options($makefile, "all", &get_logfile, 0); -$answer = "aaa\nbbb\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST 1: As above, in parallel - -if ($parallel_jobs) { - &run_make_with_options($makefile, "-j10 all", &get_logfile, 0); - $answer = "aaa\nbbb\n"; - &compare_output($answer, &get_logfile(1)); -} - -# TEST 2: A simple double-colon rule that is the goal target - -&run_make_with_options($makefile, "bar", &get_logfile, 0); -$answer = "aaa\naaa done\nbbb\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST 3: As above, in parallel - -if ($parallel_jobs) { - &run_make_with_options($makefile, "-j10 bar", &get_logfile, 0); - $answer = "aaa\naaa done\nbbb\n"; - &compare_output($answer, &get_logfile(1)); -} - -# TEST 4: Each double-colon rule is supposed to be run individually - -&utouch(-5, 'f2.h'); -&touch('foo'); - -&run_make_with_options($makefile, "foo", &get_logfile, 0); -$answer = "f1.h\nfoo FIRST\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST 5: Again, in parallel. - -if ($parallel_jobs) { - &run_make_with_options($makefile, "-j10 foo", &get_logfile, 0); - $answer = "f1.h\nfoo FIRST\n"; - &compare_output($answer, &get_logfile(1)); -} - -# TEST 6: Each double-colon rule is supposed to be run individually - -&utouch(-5, 'f1.h'); -unlink('f2.h'); -&touch('foo'); - -&run_make_with_options($makefile, "foo", &get_logfile, 0); -$answer = "f2.h\nfoo SECOND\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST 7: Again, in parallel. - -if ($parallel_jobs) { - &run_make_with_options($makefile, "-j10 foo", &get_logfile, 0); - $answer = "f2.h\nfoo SECOND\n"; - &compare_output($answer, &get_logfile(1)); -} - -# TEST 8: Test circular dependency check; PR/1671 - -&run_make_with_options($makefile, "d", &get_logfile, 0); -$answer = "ok\n$make_name: Circular d <- d dependency dropped.\noops\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST 8: I don't grok why this is different than the above, but it is... -# -# Hmm... further testing indicates this might be timing-dependent? -# -#if ($parallel_jobs) { -# &run_make_with_options($makefile, "-j10 biz", &get_logfile, 0); -# $answer = "aaa\ntwo\nbbb\n"; -# &compare_output($answer, &get_logfile(1)); -#} - -unlink('foo','f1.h','f2.h'); - -1; +# -*-perl-*- +$description = "Test handling of double-colon rules."; + +$details = "\ +We test these features: + + - Multiple commands for the same (double-colon) target + - Different prerequisites for targets: only out-of-date + ones are rebuilt. + - Double-colon targets that aren't the goal target. + +Then we do the same thing for parallel builds: double-colon +targets should always be built serially."; + +# The Contents of the MAKEFILE ... + +open(MAKEFILE,"> $makefile"); + +print MAKEFILE <<'EOF'; + +all: baz + +foo:: f1.h ; @echo foo FIRST +foo:: f2.h ; @echo foo SECOND + +bar:: ; @echo aaa; sleep 1; echo aaa done +bar:: ; @echo bbb + +baz:: ; @echo aaa +baz:: ; @echo bbb + +biz:: ; @echo aaa +biz:: two ; @echo bbb + +two: ; @echo two + +f1.h f2.h: ; @echo $@ + +d :: ; @echo ok +d :: d ; @echo oops + +EOF + +close(MAKEFILE); + +# TEST 0: A simple double-colon rule that isn't the goal target. + +&run_make_with_options($makefile, "all", &get_logfile, 0); +$answer = "aaa\nbbb\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST 1: As above, in parallel + +if ($parallel_jobs) { + &run_make_with_options($makefile, "-j10 all", &get_logfile, 0); + $answer = "aaa\nbbb\n"; + &compare_output($answer, &get_logfile(1)); +} + +# TEST 2: A simple double-colon rule that is the goal target + +&run_make_with_options($makefile, "bar", &get_logfile, 0); +$answer = "aaa\naaa done\nbbb\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST 3: As above, in parallel + +if ($parallel_jobs) { + &run_make_with_options($makefile, "-j10 bar", &get_logfile, 0); + $answer = "aaa\naaa done\nbbb\n"; + &compare_output($answer, &get_logfile(1)); +} + +# TEST 4: Each double-colon rule is supposed to be run individually + +&utouch(-5, 'f2.h'); +&touch('foo'); + +&run_make_with_options($makefile, "foo", &get_logfile, 0); +$answer = "f1.h\nfoo FIRST\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST 5: Again, in parallel. + +if ($parallel_jobs) { + &run_make_with_options($makefile, "-j10 foo", &get_logfile, 0); + $answer = "f1.h\nfoo FIRST\n"; + &compare_output($answer, &get_logfile(1)); +} + +# TEST 6: Each double-colon rule is supposed to be run individually + +&utouch(-5, 'f1.h'); +unlink('f2.h'); +&touch('foo'); + +&run_make_with_options($makefile, "foo", &get_logfile, 0); +$answer = "f2.h\nfoo SECOND\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST 7: Again, in parallel. + +if ($parallel_jobs) { + &run_make_with_options($makefile, "-j10 foo", &get_logfile, 0); + $answer = "f2.h\nfoo SECOND\n"; + &compare_output($answer, &get_logfile(1)); +} + +# TEST 8: Test circular dependency check; PR/1671 + +&run_make_with_options($makefile, "d", &get_logfile, 0); +$answer = "ok\n$make_name: Circular d <- d dependency dropped.\noops\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST 8: I don't grok why this is different than the above, but it is... +# +# Hmm... further testing indicates this might be timing-dependent? +# +#if ($parallel_jobs) { +# &run_make_with_options($makefile, "-j10 biz", &get_logfile, 0); +# $answer = "aaa\ntwo\nbbb\n"; +# &compare_output($answer, &get_logfile(1)); +#} + +unlink('foo','f1.h','f2.h'); + +1; diff --git a/src/mkutil/make/tests/scripts/features/echoing b/src/mkutil/make/tests/scripts/features/echoing index ed1e8622..4c8ed76e 100644 --- a/src/mkutil/make/tests/scripts/features/echoing +++ b/src/mkutil/make/tests/scripts/features/echoing @@ -1,90 +1,90 @@ -$description = "The following test creates a makefile to test command \n" - ."echoing. It tests that when a command line starts with \n" - ."a '\@', the echoing of that line is suppressed. It also \n" - ."tests the -n option which tells make to ONLY echo the \n" - ."commands and no execution happens. In this case, even \n" - ."the commands with '\@' are printed. Lastly, it tests the \n" - ."-s flag which tells make to prevent all echoing, as if \n" - ."all commands started with a '\@'."; - -$details = "This test is similar to the 'clean' test except that a '\@' has\n" - ."been placed in front of the delete command line. Four tests \n" - ."are run here. First, make is run normally and the first echo\n" - ."command should be executed. In this case there is no '\@' so \n" - ."we should expect make to display the command AND display the \n" - ."echoed message. Secondly, make is run with the clean target, \n" - ."but since there is a '\@' at the beginning of the command, we\n" - ."expect no output; just the deletion of a file which we check \n" - ."for. Third, we give the clean target again except this time\n" - ."we give make the -n option. We now expect the command to be \n" - ."displayed but not to be executed. In this case we need only \n" - ."to check the output since an error message would be displayed\n" - ."if it actually tried to run the delete command again and the \n" - ."file didn't exist. Lastly, we run the first test again with \n" - ."the -s option and check that make did not echo the echo \n" - ."command before printing the message."; - -$example = "EXAMPLE_FILE"; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "all: \n"; -print MAKEFILE "\techo This makefile did not clean the dir... good\n"; -print MAKEFILE "clean: \n"; -print MAKEFILE "\t\@$delete_command $example\n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&touch($example); - -# TEST #1 -# ------- - -&run_make_with_options($makefile,"",&get_logfile,0); -$answer = "echo This makefile did not clean the dir... good\n" - ."This makefile did not clean the dir... good\n"; -&compare_output($answer,&get_logfile(1)); - - -# TEST #2 -# ------- - -&run_make_with_options($makefile,"clean",&get_logfile,0); -$answer = ""; -&compare_output($answer,&get_logfile(1)); - -if (-f $example) -{ - $test_passed = 0; -} - -# TEST #3 -# ------- - -&run_make_with_options($makefile,"-n clean",&get_logfile,0); -$answer = "$delete_command $example\n"; -&compare_output($answer,&get_logfile(1)); - - -# TEST #4 -# ------- - -&run_make_with_options($makefile,"-s",&get_logfile,0); -$answer = "This makefile did not clean the dir... good\n"; -&compare_output($answer,&get_logfile(1)); - - -1; - - - - - - - - - +$description = "The following test creates a makefile to test command \n" + ."echoing. It tests that when a command line starts with \n" + ."a '\@', the echoing of that line is suppressed. It also \n" + ."tests the -n option which tells make to ONLY echo the \n" + ."commands and no execution happens. In this case, even \n" + ."the commands with '\@' are printed. Lastly, it tests the \n" + ."-s flag which tells make to prevent all echoing, as if \n" + ."all commands started with a '\@'."; + +$details = "This test is similar to the 'clean' test except that a '\@' has\n" + ."been placed in front of the delete command line. Four tests \n" + ."are run here. First, make is run normally and the first echo\n" + ."command should be executed. In this case there is no '\@' so \n" + ."we should expect make to display the command AND display the \n" + ."echoed message. Secondly, make is run with the clean target, \n" + ."but since there is a '\@' at the beginning of the command, we\n" + ."expect no output; just the deletion of a file which we check \n" + ."for. Third, we give the clean target again except this time\n" + ."we give make the -n option. We now expect the command to be \n" + ."displayed but not to be executed. In this case we need only \n" + ."to check the output since an error message would be displayed\n" + ."if it actually tried to run the delete command again and the \n" + ."file didn't exist. Lastly, we run the first test again with \n" + ."the -s option and check that make did not echo the echo \n" + ."command before printing the message."; + +$example = "EXAMPLE_FILE"; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "all: \n"; +print MAKEFILE "\techo This makefile did not clean the dir... good\n"; +print MAKEFILE "clean: \n"; +print MAKEFILE "\t\@$delete_command $example\n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&touch($example); + +# TEST #1 +# ------- + +&run_make_with_options($makefile,"",&get_logfile,0); +$answer = "echo This makefile did not clean the dir... good\n" + ."This makefile did not clean the dir... good\n"; +&compare_output($answer,&get_logfile(1)); + + +# TEST #2 +# ------- + +&run_make_with_options($makefile,"clean",&get_logfile,0); +$answer = ""; +&compare_output($answer,&get_logfile(1)); + +if (-f $example) +{ + $test_passed = 0; +} + +# TEST #3 +# ------- + +&run_make_with_options($makefile,"-n clean",&get_logfile,0); +$answer = "$delete_command $example\n"; +&compare_output($answer,&get_logfile(1)); + + +# TEST #4 +# ------- + +&run_make_with_options($makefile,"-s",&get_logfile,0); +$answer = "This makefile did not clean the dir... good\n"; +&compare_output($answer,&get_logfile(1)); + + +1; + + + + + + + + + diff --git a/src/mkutil/make/tests/scripts/features/errors b/src/mkutil/make/tests/scripts/features/errors index a39064f6..1b9d1868 100644 --- a/src/mkutil/make/tests/scripts/features/errors +++ b/src/mkutil/make/tests/scripts/features/errors @@ -1,93 +1,93 @@ -$description = "The following tests the -i option and the '-' in front of \n" - ."commands to test that make ignores errors in these commands\n" - ."and continues processing."; - -$details = "This test runs two makes. The first runs on a target with a \n" - ."command that has a '-' in front of it (and a command that is \n" - ."intended to fail) and then a delete command after that is \n" - ."intended to succeed. If make ignores the failure of the first\n" - ."command as it is supposed to, then the second command should \n" - ."delete a file and this is what we check for. The second make\n" - ."that is run in this test is identical except that the make \n" - ."command is given with the -i option instead of the '-' in \n" - ."front of the command. They should run the same. "; - -if ($vos) -{ - $delete_command = "delete_file"; -} -else -{ - $delete_command = "rm"; -} - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "clean:\n" - ."\t-$delete_command cleanit\n" - ."\t$delete_command foo\n" - ."clean2: \n" - ."\t$delete_command cleanit\n" - ."\t$delete_command foo\n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&touch("foo"); - -unlink("cleanit"); -$cleanit_error = `sh -c "$delete_command cleanit 2>&1"`; -$delete_error_code = $? >> 8; - -# TEST #1 -# ------- - -$answer = "$delete_command cleanit\n" - . $cleanit_error - ."$make_name: [clean] Error $delete_error_code (ignored)\n" - ."$delete_command foo\n"; - -&run_make_with_options($makefile,"",&get_logfile); - -# The output for this on VOS is too hard to replicate, so we only check it -# on unix. -if (!$vos) -{ - &compare_output($answer,&get_logfile(1)); -} - -# If make acted as planned, it should ignore the error from the first -# command in the target and execute the second which deletes the file "foo" -# This file, therefore, should not exist if the test PASSES. -if (-f "foo") -{ - $test_passed = 0; -} - - -&touch("foo"); - -# TEST #2 -# ------- - -$answer = "$delete_command cleanit\n" - . $cleanit_error - ."$make_name: [clean2] Error $delete_error_code (ignored)\n" - ."$delete_command foo\n"; - -&run_make_with_options($makefile,"clean2 -i",&get_logfile); - -if (!$vos) -{ - &compare_output($answer,&get_logfile(1)); -} - -if (-f "foo") -{ - $test_passed = 0; -} - -1; +$description = "The following tests the -i option and the '-' in front of \n" + ."commands to test that make ignores errors in these commands\n" + ."and continues processing."; + +$details = "This test runs two makes. The first runs on a target with a \n" + ."command that has a '-' in front of it (and a command that is \n" + ."intended to fail) and then a delete command after that is \n" + ."intended to succeed. If make ignores the failure of the first\n" + ."command as it is supposed to, then the second command should \n" + ."delete a file and this is what we check for. The second make\n" + ."that is run in this test is identical except that the make \n" + ."command is given with the -i option instead of the '-' in \n" + ."front of the command. They should run the same. "; + +if ($vos) +{ + $delete_command = "delete_file"; +} +else +{ + $delete_command = "rm"; +} + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "clean:\n" + ."\t-$delete_command cleanit\n" + ."\t$delete_command foo\n" + ."clean2: \n" + ."\t$delete_command cleanit\n" + ."\t$delete_command foo\n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&touch("foo"); + +unlink("cleanit"); +$cleanit_error = `sh -c "$delete_command cleanit 2>&1"`; +$delete_error_code = $? >> 8; + +# TEST #1 +# ------- + +$answer = "$delete_command cleanit\n" + . $cleanit_error + ."$make_name: [clean] Error $delete_error_code (ignored)\n" + ."$delete_command foo\n"; + +&run_make_with_options($makefile,"",&get_logfile); + +# The output for this on VOS is too hard to replicate, so we only check it +# on unix. +if (!$vos) +{ + &compare_output($answer,&get_logfile(1)); +} + +# If make acted as planned, it should ignore the error from the first +# command in the target and execute the second which deletes the file "foo" +# This file, therefore, should not exist if the test PASSES. +if (-f "foo") +{ + $test_passed = 0; +} + + +&touch("foo"); + +# TEST #2 +# ------- + +$answer = "$delete_command cleanit\n" + . $cleanit_error + ."$make_name: [clean2] Error $delete_error_code (ignored)\n" + ."$delete_command foo\n"; + +&run_make_with_options($makefile,"clean2 -i",&get_logfile); + +if (!$vos) +{ + &compare_output($answer,&get_logfile(1)); +} + +if (-f "foo") +{ + $test_passed = 0; +} + +1; diff --git a/src/mkutil/make/tests/scripts/features/escape b/src/mkutil/make/tests/scripts/features/escape index 88b372a0..4fae3792 100644 --- a/src/mkutil/make/tests/scripts/features/escape +++ b/src/mkutil/make/tests/scripts/features/escape @@ -1,60 +1,60 @@ -# -*-perl-*- -$description = "Test various types of escaping in makefiles."; - -$details = "\ -Make sure that escaping of `:' works in target names. -Make sure escaping of whitespace works in target names. -Make sure that escaping of '#' works."; - -open(MAKEFILE,"> $makefile"); - -print MAKEFILE <<'EOF'; -$(path)foo : ; @echo cp $^ $@ - -foo\ bar: ; @echo 'touch "$@"' - -sharp: foo\#bar.ext -foo\#bar.ext: ; @echo foo\#bar.ext = '$@' -EOF - -close(MAKEFILE); - - -# TEST 1 - -&run_make_with_options($makefile, "", &get_logfile); -$answer = "cp foo\n"; -&compare_output($answer,&get_logfile(1)); - -# TEST 2: This one should fail, since the ":" is unquoted. - -&run_make_with_options($makefile, "path=p:", &get_logfile, 512); -$answer = "$makefile:1: *** target pattern contains no `%'. Stop.\n"; -&compare_output($answer,&get_logfile(1)); - -# TEST 3: This one should work, since we escape the ":". - -&run_make_with_options($makefile, "'path=p\\:'", &get_logfile, 0); -$answer = "cp p:foo\n"; -&compare_output($answer,&get_logfile(1)); - -# TEST 4: This one should fail, since the escape char is escaped. - -&run_make_with_options($makefile, "'path=p\\\\:'", &get_logfile, 512); -$answer = "$makefile:1: *** target pattern contains no `%'. Stop.\n"; -&compare_output($answer,&get_logfile(1)); - -# TEST 5: This one should work - -&run_make_with_options($makefile, "'foo bar'", &get_logfile, 0); -$answer = "touch \"foo bar\"\n"; -&compare_output($answer,&get_logfile(1)); - -# TEST 6: Test escaped comments - -&run_make_with_options($makefile, "sharp", &get_logfile, 0); -$answer = "foo#bar.ext = foo#bar.ext\n"; -&compare_output($answer,&get_logfile(1)); - -# This tells the test driver that the perl test script executed properly. -1; +# -*-perl-*- +$description = "Test various types of escaping in makefiles."; + +$details = "\ +Make sure that escaping of `:' works in target names. +Make sure escaping of whitespace works in target names. +Make sure that escaping of '#' works."; + +open(MAKEFILE,"> $makefile"); + +print MAKEFILE <<'EOF'; +$(path)foo : ; @echo cp $^ $@ + +foo\ bar: ; @echo 'touch "$@"' + +sharp: foo\#bar.ext +foo\#bar.ext: ; @echo foo\#bar.ext = '$@' +EOF + +close(MAKEFILE); + + +# TEST 1 + +&run_make_with_options($makefile, "", &get_logfile); +$answer = "cp foo\n"; +&compare_output($answer,&get_logfile(1)); + +# TEST 2: This one should fail, since the ":" is unquoted. + +&run_make_with_options($makefile, "path=p:", &get_logfile, 512); +$answer = "$makefile:1: *** target pattern contains no `%'. Stop.\n"; +&compare_output($answer,&get_logfile(1)); + +# TEST 3: This one should work, since we escape the ":". + +&run_make_with_options($makefile, "'path=p\\:'", &get_logfile, 0); +$answer = "cp p:foo\n"; +&compare_output($answer,&get_logfile(1)); + +# TEST 4: This one should fail, since the escape char is escaped. + +&run_make_with_options($makefile, "'path=p\\\\:'", &get_logfile, 512); +$answer = "$makefile:1: *** target pattern contains no `%'. Stop.\n"; +&compare_output($answer,&get_logfile(1)); + +# TEST 5: This one should work + +&run_make_with_options($makefile, "'foo bar'", &get_logfile, 0); +$answer = "touch \"foo bar\"\n"; +&compare_output($answer,&get_logfile(1)); + +# TEST 6: Test escaped comments + +&run_make_with_options($makefile, "sharp", &get_logfile, 0); +$answer = "foo#bar.ext = foo#bar.ext\n"; +&compare_output($answer,&get_logfile(1)); + +# This tells the test driver that the perl test script executed properly. +1; diff --git a/src/mkutil/make/tests/scripts/features/export b/src/mkutil/make/tests/scripts/features/export index 1690ee80..e114b523 100644 --- a/src/mkutil/make/tests/scripts/features/export +++ b/src/mkutil/make/tests/scripts/features/export @@ -1,250 +1,250 @@ -# -*-perl-*- -$description = "Check GNU make export/unexport commands."; - -$details = ""; - -# The test driver cleans out our environment for us so we don't have to worry -# about that here. - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE <<'EOMAKE'; - -FOO = foo -BAR = bar -BOZ = boz - -export BAZ = baz -export BOZ - -BITZ = bitz -BOTZ = botz - -export BITZ BOTZ -unexport BOTZ - -ifdef EXPORT_ALL -export -endif - -ifdef UNEXPORT_ALL -unexport -endif - -ifdef EXPORT_ALL_PSEUDO -.EXPORT_ALL_VARIABLES: -endif - -all: - @echo "FOO=$(FOO) BAR=$(BAR) BAZ=$(BAZ) BOZ=$(BOZ) BITZ=$(BITZ) BOTZ=$(BOTZ)" - @echo "FOO=$$FOO BAR=$$BAR BAZ=$$BAZ BOZ=$$BOZ BITZ=$$BITZ BOTZ=$$BOTZ" - -EOMAKE - -close(MAKEFILE); - -# TEST 0: basics - -&run_make_with_options($makefile,"",&get_logfile,0); - -$answer = "FOO=foo BAR=bar BAZ=baz BOZ=boz BITZ=bitz BOTZ=botz -FOO= BAR= BAZ=baz BOZ=boz BITZ=bitz BOTZ=\n"; - -&compare_output($answer,&get_logfile(1)); - -# TEST 1: make sure vars inherited from the parent are exported - -$ENV{FOO} = 1; - -&run_make_with_options($makefile,"",&get_logfile,0); - -$answer = "FOO=foo BAR=bar BAZ=baz BOZ=boz BITZ=bitz BOTZ=botz -FOO=foo BAR= BAZ=baz BOZ=boz BITZ=bitz BOTZ=\n"; - -&compare_output($answer,&get_logfile(1)); - -delete $ENV{FOO}; - -# TEST 2: global export. Explicit unexport takes precedence. - -&run_make_with_options($makefile,"EXPORT_ALL=1",&get_logfile,0); - -$answer = "FOO=foo BAR=bar BAZ=baz BOZ=boz BITZ=bitz BOTZ=botz -FOO=foo BAR=bar BAZ=baz BOZ=boz BITZ=bitz BOTZ=\n"; - -&compare_output($answer,&get_logfile(1)); - -# TEST 3: global unexport. Explicit export takes precedence. - -&run_make_with_options($makefile,"UNEXPORT_ALL=1",&get_logfile,0); - -$answer = "FOO=foo BAR=bar BAZ=baz BOZ=boz BITZ=bitz BOTZ=botz -FOO= BAR= BAZ=baz BOZ=boz BITZ=bitz BOTZ=\n"; - -&compare_output($answer,&get_logfile(1)); - -# TEST 4: both: in the above makefile the unexport comes last so that rules. - -&run_make_with_options($makefile,"EXPORT_ALL=1 UNEXPORT_ALL=1",&get_logfile,0); - -$answer = "FOO=foo BAR=bar BAZ=baz BOZ=boz BITZ=bitz BOTZ=botz -FOO= BAR= BAZ=baz BOZ=boz BITZ=bitz BOTZ=\n"; - -&compare_output($answer,&get_logfile(1)); - -# TEST 5: test the pseudo target. - -&run_make_with_options($makefile,"EXPORT_ALL_PSEUDO=1",&get_logfile,0); - -$answer = "FOO=foo BAR=bar BAZ=baz BOZ=boz BITZ=bitz BOTZ=botz -FOO=foo BAR=bar BAZ=baz BOZ=boz BITZ=bitz BOTZ=\n"; - -&compare_output($answer,&get_logfile(1)); - - -# TEST 6: Test the expansion of variables inside export - -$makefile2 = &get_tmpfile; - -open(MAKEFILE, "> $makefile2"); - -print MAKEFILE <<'EOF'; - -foo = f-ok -bar = b-ok - -FOO = foo -F = f - -BAR = bar -B = b - -export $(FOO) -export $(B)ar - -all: - @echo foo=$(foo) bar=$(bar) - @echo foo=$$foo bar=$$bar - -EOF - -close(MAKEFILE); - -&run_make_with_options($makefile2,"",&get_logfile,0); -$answer = "foo=f-ok bar=b-ok\nfoo=f-ok bar=b-ok\n"; -&compare_output($answer,&get_logfile(1)); - - -# TEST 7: Test the expansion of variables inside unexport - -$makefile3 = &get_tmpfile; - -open(MAKEFILE, "> $makefile3"); - -print MAKEFILE <<'EOF'; - -foo = f-ok -bar = b-ok - -FOO = foo -F = f - -BAR = bar -B = b - -export foo bar - -unexport $(FOO) -unexport $(B)ar - -all: - @echo foo=$(foo) bar=$(bar) - @echo foo=$$foo bar=$$bar - -EOF - -close(MAKEFILE); - -&run_make_with_options($makefile3,"",&get_logfile,0); -$answer = "foo=f-ok bar=b-ok\nfoo= bar=\n"; -&compare_output($answer,&get_logfile(1)); - - -# TEST 7: Test exporting multiple variables on the same line - -$makefile4 = &get_tmpfile; - -open(MAKEFILE, "> $makefile4"); - -print MAKEFILE <<'EOF'; - -A = a -B = b -C = c -D = d -E = e -F = f -G = g -H = h -I = i -J = j - -SOME = A B C - -export F G H I J - -export D E $(SOME) - -all: ; @echo A=$$A B=$$B C=$$C D=$$D E=$$E F=$$F G=$$G H=$$H I=$$I J=$$J -EOF - -close(MAKEFILE); - -&run_make_with_options($makefile4,"",&get_logfile,0); -$answer = "A=a B=b C=c D=d E=e F=f G=g H=h I=i J=j\n"; -&compare_output($answer,&get_logfile(1)); - - -# TEST 8: Test unexporting multiple variables on the same line - -$makefile5 = &get_tmpfile; - -open(MAKEFILE, "> $makefile5"); - -print MAKEFILE <<'EOF'; - -A = a -B = b -C = c -D = d -E = e -F = f -G = g -H = h -I = i -J = j - -SOME = A B C - -unexport F G H I J - -unexport D E $(SOME) - -all: ; @echo A=$$A B=$$B C=$$C D=$$D E=$$E F=$$F G=$$G H=$$H I=$$I J=$$J -EOF - -close(MAKEFILE); - -@ENV{qw(A B C D E F G H I J)} = qw(1 2 3 4 5 6 7 8 9 10); - -&run_make_with_options($makefile5,"",&get_logfile,0); -$answer = "A= B= C= D= E= F= G= H= I= J=\n"; -&compare_output($answer,&get_logfile(1)); - -delete @ENV{qw(A B C D E F G H I J)}; - - -# This tells the test driver that the perl test script executed properly. -1; +# -*-perl-*- +$description = "Check GNU make export/unexport commands."; + +$details = ""; + +# The test driver cleans out our environment for us so we don't have to worry +# about that here. + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE <<'EOMAKE'; + +FOO = foo +BAR = bar +BOZ = boz + +export BAZ = baz +export BOZ + +BITZ = bitz +BOTZ = botz + +export BITZ BOTZ +unexport BOTZ + +ifdef EXPORT_ALL +export +endif + +ifdef UNEXPORT_ALL +unexport +endif + +ifdef EXPORT_ALL_PSEUDO +.EXPORT_ALL_VARIABLES: +endif + +all: + @echo "FOO=$(FOO) BAR=$(BAR) BAZ=$(BAZ) BOZ=$(BOZ) BITZ=$(BITZ) BOTZ=$(BOTZ)" + @echo "FOO=$$FOO BAR=$$BAR BAZ=$$BAZ BOZ=$$BOZ BITZ=$$BITZ BOTZ=$$BOTZ" + +EOMAKE + +close(MAKEFILE); + +# TEST 0: basics + +&run_make_with_options($makefile,"",&get_logfile,0); + +$answer = "FOO=foo BAR=bar BAZ=baz BOZ=boz BITZ=bitz BOTZ=botz +FOO= BAR= BAZ=baz BOZ=boz BITZ=bitz BOTZ=\n"; + +&compare_output($answer,&get_logfile(1)); + +# TEST 1: make sure vars inherited from the parent are exported + +$ENV{FOO} = 1; + +&run_make_with_options($makefile,"",&get_logfile,0); + +$answer = "FOO=foo BAR=bar BAZ=baz BOZ=boz BITZ=bitz BOTZ=botz +FOO=foo BAR= BAZ=baz BOZ=boz BITZ=bitz BOTZ=\n"; + +&compare_output($answer,&get_logfile(1)); + +delete $ENV{FOO}; + +# TEST 2: global export. Explicit unexport takes precedence. + +&run_make_with_options($makefile,"EXPORT_ALL=1",&get_logfile,0); + +$answer = "FOO=foo BAR=bar BAZ=baz BOZ=boz BITZ=bitz BOTZ=botz +FOO=foo BAR=bar BAZ=baz BOZ=boz BITZ=bitz BOTZ=\n"; + +&compare_output($answer,&get_logfile(1)); + +# TEST 3: global unexport. Explicit export takes precedence. + +&run_make_with_options($makefile,"UNEXPORT_ALL=1",&get_logfile,0); + +$answer = "FOO=foo BAR=bar BAZ=baz BOZ=boz BITZ=bitz BOTZ=botz +FOO= BAR= BAZ=baz BOZ=boz BITZ=bitz BOTZ=\n"; + +&compare_output($answer,&get_logfile(1)); + +# TEST 4: both: in the above makefile the unexport comes last so that rules. + +&run_make_with_options($makefile,"EXPORT_ALL=1 UNEXPORT_ALL=1",&get_logfile,0); + +$answer = "FOO=foo BAR=bar BAZ=baz BOZ=boz BITZ=bitz BOTZ=botz +FOO= BAR= BAZ=baz BOZ=boz BITZ=bitz BOTZ=\n"; + +&compare_output($answer,&get_logfile(1)); + +# TEST 5: test the pseudo target. + +&run_make_with_options($makefile,"EXPORT_ALL_PSEUDO=1",&get_logfile,0); + +$answer = "FOO=foo BAR=bar BAZ=baz BOZ=boz BITZ=bitz BOTZ=botz +FOO=foo BAR=bar BAZ=baz BOZ=boz BITZ=bitz BOTZ=\n"; + +&compare_output($answer,&get_logfile(1)); + + +# TEST 6: Test the expansion of variables inside export + +$makefile2 = &get_tmpfile; + +open(MAKEFILE, "> $makefile2"); + +print MAKEFILE <<'EOF'; + +foo = f-ok +bar = b-ok + +FOO = foo +F = f + +BAR = bar +B = b + +export $(FOO) +export $(B)ar + +all: + @echo foo=$(foo) bar=$(bar) + @echo foo=$$foo bar=$$bar + +EOF + +close(MAKEFILE); + +&run_make_with_options($makefile2,"",&get_logfile,0); +$answer = "foo=f-ok bar=b-ok\nfoo=f-ok bar=b-ok\n"; +&compare_output($answer,&get_logfile(1)); + + +# TEST 7: Test the expansion of variables inside unexport + +$makefile3 = &get_tmpfile; + +open(MAKEFILE, "> $makefile3"); + +print MAKEFILE <<'EOF'; + +foo = f-ok +bar = b-ok + +FOO = foo +F = f + +BAR = bar +B = b + +export foo bar + +unexport $(FOO) +unexport $(B)ar + +all: + @echo foo=$(foo) bar=$(bar) + @echo foo=$$foo bar=$$bar + +EOF + +close(MAKEFILE); + +&run_make_with_options($makefile3,"",&get_logfile,0); +$answer = "foo=f-ok bar=b-ok\nfoo= bar=\n"; +&compare_output($answer,&get_logfile(1)); + + +# TEST 7: Test exporting multiple variables on the same line + +$makefile4 = &get_tmpfile; + +open(MAKEFILE, "> $makefile4"); + +print MAKEFILE <<'EOF'; + +A = a +B = b +C = c +D = d +E = e +F = f +G = g +H = h +I = i +J = j + +SOME = A B C + +export F G H I J + +export D E $(SOME) + +all: ; @echo A=$$A B=$$B C=$$C D=$$D E=$$E F=$$F G=$$G H=$$H I=$$I J=$$J +EOF + +close(MAKEFILE); + +&run_make_with_options($makefile4,"",&get_logfile,0); +$answer = "A=a B=b C=c D=d E=e F=f G=g H=h I=i J=j\n"; +&compare_output($answer,&get_logfile(1)); + + +# TEST 8: Test unexporting multiple variables on the same line + +$makefile5 = &get_tmpfile; + +open(MAKEFILE, "> $makefile5"); + +print MAKEFILE <<'EOF'; + +A = a +B = b +C = c +D = d +E = e +F = f +G = g +H = h +I = i +J = j + +SOME = A B C + +unexport F G H I J + +unexport D E $(SOME) + +all: ; @echo A=$$A B=$$B C=$$C D=$$D E=$$E F=$$F G=$$G H=$$H I=$$I J=$$J +EOF + +close(MAKEFILE); + +@ENV{qw(A B C D E F G H I J)} = qw(1 2 3 4 5 6 7 8 9 10); + +&run_make_with_options($makefile5,"",&get_logfile,0); +$answer = "A= B= C= D= E= F= G= H= I= J=\n"; +&compare_output($answer,&get_logfile(1)); + +delete @ENV{qw(A B C D E F G H I J)}; + + +# This tells the test driver that the perl test script executed properly. +1; diff --git a/src/mkutil/make/tests/scripts/features/include b/src/mkutil/make/tests/scripts/features/include index 60f4482d..0beacf1b 100644 --- a/src/mkutil/make/tests/scripts/features/include +++ b/src/mkutil/make/tests/scripts/features/include @@ -1,61 +1,61 @@ -# -*-mode: perl; rm-trailing-spaces: nil-*- - -$description = "Test various forms of the GNU make `include' command."; - -$details = "Test include, -include, sinclude and various regressions involving them. -Test extra whitespace at the end of the include, multiple -includes and -sincludes (should not give an error) and make sure that errors are reported -for targets that were also -included."; - -$makefile2 = &get_tmpfile; - -open(MAKEFILE,"> $makefile"); - -# The contents of the Makefile ... - -print MAKEFILE < $makefile2"); - -print MAKEFILE "ANOTHER: ; \@echo This is another included makefile\n"; - -close(MAKEFILE); - -# Create the answer to what should be produced by this Makefile -&run_make_with_options($makefile, "all", &get_logfile); -$answer = "There should be no errors for this makefile.\n"; -&compare_output($answer, &get_logfile(1)); - -&run_make_with_options($makefile, "ANOTHER", &get_logfile); -$answer = "This is another included makefile\n"; -&compare_output($answer, &get_logfile(1)); - -# Try to build the "error" target; this will fail since we don't know -# how to create makeit.mk, but we should also get a message (even though -# the -include suppressed it during the makefile read phase, we should -# see one during the makefile run phase). - -# The fix to this caused more problems than the error, so I removed it. -# pds -- 22 Jan 2000 - -#&run_make_with_options($makefile, "error", &get_logfile, 512); -#$answer = "$make_name: *** No rule to make target `makeit.mk', needed by `error'.\n"; -#&compare_output($answer, &get_logfile(1)); - -1; +# -*-mode: perl; rm-trailing-spaces: nil-*- + +$description = "Test various forms of the GNU make `include' command."; + +$details = "Test include, -include, sinclude and various regressions involving them. +Test extra whitespace at the end of the include, multiple -includes and +sincludes (should not give an error) and make sure that errors are reported +for targets that were also -included."; + +$makefile2 = &get_tmpfile; + +open(MAKEFILE,"> $makefile"); + +# The contents of the Makefile ... + +print MAKEFILE < $makefile2"); + +print MAKEFILE "ANOTHER: ; \@echo This is another included makefile\n"; + +close(MAKEFILE); + +# Create the answer to what should be produced by this Makefile +&run_make_with_options($makefile, "all", &get_logfile); +$answer = "There should be no errors for this makefile.\n"; +&compare_output($answer, &get_logfile(1)); + +&run_make_with_options($makefile, "ANOTHER", &get_logfile); +$answer = "This is another included makefile\n"; +&compare_output($answer, &get_logfile(1)); + +# Try to build the "error" target; this will fail since we don't know +# how to create makeit.mk, but we should also get a message (even though +# the -include suppressed it during the makefile read phase, we should +# see one during the makefile run phase). + +# The fix to this caused more problems than the error, so I removed it. +# pds -- 22 Jan 2000 + +#&run_make_with_options($makefile, "error", &get_logfile, 512); +#$answer = "$make_name: *** No rule to make target `makeit.mk', needed by `error'.\n"; +#&compare_output($answer, &get_logfile(1)); + +1; diff --git a/src/mkutil/make/tests/scripts/features/mult_rules b/src/mkutil/make/tests/scripts/features/mult_rules index 6f120f10..755e410b 100644 --- a/src/mkutil/make/tests/scripts/features/mult_rules +++ b/src/mkutil/make/tests/scripts/features/mult_rules @@ -1,78 +1,78 @@ -$description = "\ -The following test creates a makefile to test the presence -of multiple rules for one target. One file can be the -target of several rules if at most one rule has commands; -the other rules can only have dependencies."; - -$details = "\ -The makefile created in this test contains two hardcoded rules -for foo.o and bar.o. It then gives another multiple target rule -with the same names as above but adding more dependencies. -Additionally, another variable extradeps is listed as a -dependency but is defined to be null. It can however be defined -on the make command line as extradeps=extra.h which adds yet -another dependency to the targets."; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE < $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE < $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "bigoutput littleoutput: test.h\n"; -print MAKEFILE "\t\@echo I am \$(subst output,,\$@)\n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&touch("test.h"); - -&run_make_with_options($makefile,"bigoutput",&get_logfile); - - -# Create the answer to what should be produced by this Makefile -$answer = "I am big\n"; - -&compare_output($answer,&get_logfile(1)); - -&run_make_with_options($makefile,"littleoutput",&get_logfile); -$answer = "I am little\n"; -&compare_output($answer,&get_logfile(1)); - -unlink "test.h"; - -1; - - - - - - +$description = "The following test creates a makefile to test that a \n " + ."rule with multiple targets is equivalent to writing \n" + ."many rules, each with one target, and all identical aside\n" + ."from that."; + +$details = "A makefile is created with one rule and two targets. Make \n" + ."is called twice, once for each target, and the output which \n" + ."contains the target name with \$@ is looked at for the changes.\n" + ."This test also tests the substitute function by replacing \n" + ."the word output with nothing in the target name giving either\n" + ."an output of \"I am little\" or \"I am big\""; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "bigoutput littleoutput: test.h\n"; +print MAKEFILE "\t\@echo I am \$(subst output,,\$@)\n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&touch("test.h"); + +&run_make_with_options($makefile,"bigoutput",&get_logfile); + + +# Create the answer to what should be produced by this Makefile +$answer = "I am big\n"; + +&compare_output($answer,&get_logfile(1)); + +&run_make_with_options($makefile,"littleoutput",&get_logfile); +$answer = "I am little\n"; +&compare_output($answer,&get_logfile(1)); + +unlink "test.h"; + +1; + + + + + + diff --git a/src/mkutil/make/tests/scripts/features/order_only b/src/mkutil/make/tests/scripts/features/order_only index e324d681..b67d923a 100644 --- a/src/mkutil/make/tests/scripts/features/order_only +++ b/src/mkutil/make/tests/scripts/features/order_only @@ -1,112 +1,112 @@ -# -*-perl-*- -$description = "Test order-only prerequisites."; - -$details = "\ -Create makefiles with various combinations of normal and order-only -prerequisites and ensure they behave properly. Test the \$| variable."; - -open(MAKEFILE,"> $makefile"); - -print MAKEFILE <<'EOF'; -foo: bar | baz - @echo '$$^ = $^' - @echo '$$| = $|' - touch $@ - -.PHONY: baz - -bar baz: - touch $@ -EOF - -close(MAKEFILE); - - -# TEST #1 -- just the syntax - -&run_make_with_options($makefile, "", &get_logfile); -$answer = "touch bar\ntouch baz\n\$^ = bar\n\$| = baz\ntouch foo\n"; -&compare_output($answer,&get_logfile(1)); - - -# TEST #2 -- now we do it again: baz is PHONY but foo should _NOT_ be updated - -&run_make_with_options($makefile, "", &get_logfile); -$answer = "touch baz\n"; -&compare_output($answer,&get_logfile(1)); - -unlink(qw(foo bar baz)); - -# Test prereqs that are both order and non-order - -$makefile2 = &get_tmpfile; - -open(MAKEFILE,"> $makefile2"); - -print MAKEFILE <<'EOF'; -foo: bar | baz - @echo '$$^ = $^' - @echo '$$| = $|' - touch $@ - -foo: baz - -.PHONY: baz - -bar baz: - touch $@ -EOF - -close(MAKEFILE); - -# TEST #3 -- Make sure the order-only prereq was promoted to normal. - -&run_make_with_options($makefile2, "", &get_logfile); -$answer = "touch bar\ntouch baz\n\$^ = bar baz\n\$| = \ntouch foo\n"; -&compare_output($answer,&get_logfile(1)); - - -# TEST #4 -- now we do it again - -&run_make_with_options($makefile2, "", &get_logfile); -$answer = "touch baz\n\$^ = bar baz\n\$| = \ntouch foo\n"; -&compare_output($answer,&get_logfile(1)); - -unlink(qw(foo bar baz)); - -# Test empty normal prereqs - -$makefile3 = &get_tmpfile; - -open(MAKEFILE,"> $makefile3"); - -print MAKEFILE <<'EOF'; -foo:| baz - @echo '$$^ = $^' - @echo '$$| = $|' - touch $@ - -.PHONY: baz - -baz: - touch $@ -EOF - -close(MAKEFILE); - -# TEST #5 -- make sure the parser was correct. - -&run_make_with_options($makefile3, "", &get_logfile); -$answer = "touch baz\n\$^ = \n\$| = baz\ntouch foo\n"; -&compare_output($answer,&get_logfile(1)); - - -# TEST #6 -- now we do it again: this time foo won't be built - -&run_make_with_options($makefile3, "", &get_logfile); -$answer = "touch baz\n"; -&compare_output($answer,&get_logfile(1)); - -unlink(qw(foo baz)); - -1; +# -*-perl-*- +$description = "Test order-only prerequisites."; + +$details = "\ +Create makefiles with various combinations of normal and order-only +prerequisites and ensure they behave properly. Test the \$| variable."; + +open(MAKEFILE,"> $makefile"); + +print MAKEFILE <<'EOF'; +foo: bar | baz + @echo '$$^ = $^' + @echo '$$| = $|' + touch $@ + +.PHONY: baz + +bar baz: + touch $@ +EOF + +close(MAKEFILE); + + +# TEST #1 -- just the syntax + +&run_make_with_options($makefile, "", &get_logfile); +$answer = "touch bar\ntouch baz\n\$^ = bar\n\$| = baz\ntouch foo\n"; +&compare_output($answer,&get_logfile(1)); + + +# TEST #2 -- now we do it again: baz is PHONY but foo should _NOT_ be updated + +&run_make_with_options($makefile, "", &get_logfile); +$answer = "touch baz\n"; +&compare_output($answer,&get_logfile(1)); + +unlink(qw(foo bar baz)); + +# Test prereqs that are both order and non-order + +$makefile2 = &get_tmpfile; + +open(MAKEFILE,"> $makefile2"); + +print MAKEFILE <<'EOF'; +foo: bar | baz + @echo '$$^ = $^' + @echo '$$| = $|' + touch $@ + +foo: baz + +.PHONY: baz + +bar baz: + touch $@ +EOF + +close(MAKEFILE); + +# TEST #3 -- Make sure the order-only prereq was promoted to normal. + +&run_make_with_options($makefile2, "", &get_logfile); +$answer = "touch bar\ntouch baz\n\$^ = bar baz\n\$| = \ntouch foo\n"; +&compare_output($answer,&get_logfile(1)); + + +# TEST #4 -- now we do it again + +&run_make_with_options($makefile2, "", &get_logfile); +$answer = "touch baz\n\$^ = bar baz\n\$| = \ntouch foo\n"; +&compare_output($answer,&get_logfile(1)); + +unlink(qw(foo bar baz)); + +# Test empty normal prereqs + +$makefile3 = &get_tmpfile; + +open(MAKEFILE,"> $makefile3"); + +print MAKEFILE <<'EOF'; +foo:| baz + @echo '$$^ = $^' + @echo '$$| = $|' + touch $@ + +.PHONY: baz + +baz: + touch $@ +EOF + +close(MAKEFILE); + +# TEST #5 -- make sure the parser was correct. + +&run_make_with_options($makefile3, "", &get_logfile); +$answer = "touch baz\n\$^ = \n\$| = baz\ntouch foo\n"; +&compare_output($answer,&get_logfile(1)); + + +# TEST #6 -- now we do it again: this time foo won't be built + +&run_make_with_options($makefile3, "", &get_logfile); +$answer = "touch baz\n"; +&compare_output($answer,&get_logfile(1)); + +unlink(qw(foo baz)); + +1; diff --git a/src/mkutil/make/tests/scripts/features/override b/src/mkutil/make/tests/scripts/features/override index 23e4f2b4..f3fcb4eb 100644 --- a/src/mkutil/make/tests/scripts/features/override +++ b/src/mkutil/make/tests/scripts/features/override @@ -1,34 +1,34 @@ -$description = "The following test creates a makefile to ..."; - -$details = ""; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "override define foo\n" - ."\@echo First comes the definition.\n" - ."\@echo Then comes the override.\n" - ."endef\n" - ."all: \n" - ."\t\$(foo)\n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&run_make_with_options($makefile,"foo=Hello",&get_logfile); - -# Create the answer to what should be produced by this Makefile -$answer = "First comes the definition.\n" - ."Then comes the override.\n"; - -&compare_output($answer,&get_logfile(1)); - -1; - - - - - - +$description = "The following test creates a makefile to ..."; + +$details = ""; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "override define foo\n" + ."\@echo First comes the definition.\n" + ."\@echo Then comes the override.\n" + ."endef\n" + ."all: \n" + ."\t\$(foo)\n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&run_make_with_options($makefile,"foo=Hello",&get_logfile); + +# Create the answer to what should be produced by this Makefile +$answer = "First comes the definition.\n" + ."Then comes the override.\n"; + +&compare_output($answer,&get_logfile(1)); + +1; + + + + + + diff --git a/src/mkutil/make/tests/scripts/features/parallelism b/src/mkutil/make/tests/scripts/features/parallelism index cd753928..4be472ea 100644 --- a/src/mkutil/make/tests/scripts/features/parallelism +++ b/src/mkutil/make/tests/scripts/features/parallelism @@ -1,100 +1,100 @@ -# -*-perl-*- - -$description = "Test parallelism (-j) option."; - - -$details = "This test creates a makefile with two double-colon default -rules. The first rule has a series of sleep and echo commands -intended to run in series. The second and third have just an -echo statement. When make is called in this test, it is given -the -j option with a value of 4. This tells make that it may -start up to four jobs simultaneously. In this case, since the -first command is a sleep command, the output of the second -and third commands will appear before the first if indeed -make is running all of these commands in parallel."; - -if (!$parallel_jobs) { - return -1; -} - -if ($vos) { - $delete_command = "delete_file -no_ask"; - $sleep_command = "sleep -seconds"; -} -else { - $delete_command = "rm -f"; - $sleep_command = "sleep"; -} - -open(MAKEFILE,"> $makefile"); - -print MAKEFILE <<"EOF"; -all : def_1 def_2 def_3 -def_1 : ; \@echo ONE; $sleep_command 3 ; echo TWO -def_2 : ; \@$sleep_command 2 ; echo THREE -def_3 : ; \@$sleep_command 1 ; echo FOUR -EOF - -close(MAKEFILE); - -&run_make_with_options($makefile, "-j 4", &get_logfile); -$answer = "ONE\nFOUR\nTHREE\nTWO\n"; -&compare_output($answer, &get_logfile(1)); - - -# Test parallelism with included files. Here we sleep/echo while -# building the included files, to test that they are being built in -# parallel. - -$makefile2 = &get_tmpfile; - -open(MAKEFILE,"> $makefile2"); - -print MAKEFILE <<"EOF"; -all: 1 2; \@echo success - --include 1.inc 2.inc - -1.inc: ; \@echo ONE.inc; $sleep_command 2; echo TWO.inc; echo "1: ; \@echo ONE; $sleep_command 2; echo TWO" > \$\@ -2.inc: ; \@$sleep_command 1; echo THREE.inc; echo "2: ; \@$sleep_command 1; echo THREE" > \$\@ -EOF - -close(MAKEFILE); - -&run_make_with_options("$makefile2", "-j 4", &get_logfile); -$answer = "ONE.inc\nTHREE.inc\nTWO.inc\nONE\nTHREE\nTWO\nsuccess\n"; -&compare_output($answer, &get_logfile(1)); - -unlink('1.inc', '2.inc'); - - -# Test parallelism with included files--this time recurse first and make -# sure the jobserver works. - -$makefile3 = &get_tmpfile; - -open(MAKEFILE,"> $makefile3"); - -print MAKEFILE <<"EOF"; -recurse: ; \@\$(MAKE) --no-print-directory -f $makefile3 INC=yes all - -all: 1 2; \@echo success - -INC = no -ifeq (\$(INC),yes) --include 1.inc 2.inc -endif - -1.inc: ; \@echo ONE.inc; $sleep_command 2; echo TWO.inc; echo "1: ; \@echo ONE; $sleep_command 2; echo TWO" > \$\@ -2.inc: ; \@$sleep_command 1; echo THREE.inc; echo "2: ; \@$sleep_command 1; echo THREE" > \$\@ -EOF - -close(MAKEFILE); - -&run_make_with_options("$makefile3", "-j 4", &get_logfile); -$answer = "ONE.inc\nTHREE.inc\nTWO.inc\nONE\nTHREE\nTWO\nsuccess\n"; -&compare_output($answer, &get_logfile(1)); - -unlink('1.inc', '2.inc'); - -1; +# -*-perl-*- + +$description = "Test parallelism (-j) option."; + + +$details = "This test creates a makefile with two double-colon default +rules. The first rule has a series of sleep and echo commands +intended to run in series. The second and third have just an +echo statement. When make is called in this test, it is given +the -j option with a value of 4. This tells make that it may +start up to four jobs simultaneously. In this case, since the +first command is a sleep command, the output of the second +and third commands will appear before the first if indeed +make is running all of these commands in parallel."; + +if (!$parallel_jobs) { + return -1; +} + +if ($vos) { + $delete_command = "delete_file -no_ask"; + $sleep_command = "sleep -seconds"; +} +else { + $delete_command = "rm -f"; + $sleep_command = "sleep"; +} + +open(MAKEFILE,"> $makefile"); + +print MAKEFILE <<"EOF"; +all : def_1 def_2 def_3 +def_1 : ; \@echo ONE; $sleep_command 3 ; echo TWO +def_2 : ; \@$sleep_command 2 ; echo THREE +def_3 : ; \@$sleep_command 1 ; echo FOUR +EOF + +close(MAKEFILE); + +&run_make_with_options($makefile, "-j 4", &get_logfile); +$answer = "ONE\nFOUR\nTHREE\nTWO\n"; +&compare_output($answer, &get_logfile(1)); + + +# Test parallelism with included files. Here we sleep/echo while +# building the included files, to test that they are being built in +# parallel. + +$makefile2 = &get_tmpfile; + +open(MAKEFILE,"> $makefile2"); + +print MAKEFILE <<"EOF"; +all: 1 2; \@echo success + +-include 1.inc 2.inc + +1.inc: ; \@echo ONE.inc; $sleep_command 2; echo TWO.inc; echo "1: ; \@echo ONE; $sleep_command 2; echo TWO" > \$\@ +2.inc: ; \@$sleep_command 1; echo THREE.inc; echo "2: ; \@$sleep_command 1; echo THREE" > \$\@ +EOF + +close(MAKEFILE); + +&run_make_with_options("$makefile2", "-j 4", &get_logfile); +$answer = "ONE.inc\nTHREE.inc\nTWO.inc\nONE\nTHREE\nTWO\nsuccess\n"; +&compare_output($answer, &get_logfile(1)); + +unlink('1.inc', '2.inc'); + + +# Test parallelism with included files--this time recurse first and make +# sure the jobserver works. + +$makefile3 = &get_tmpfile; + +open(MAKEFILE,"> $makefile3"); + +print MAKEFILE <<"EOF"; +recurse: ; \@\$(MAKE) --no-print-directory -f $makefile3 INC=yes all + +all: 1 2; \@echo success + +INC = no +ifeq (\$(INC),yes) +-include 1.inc 2.inc +endif + +1.inc: ; \@echo ONE.inc; $sleep_command 2; echo TWO.inc; echo "1: ; \@echo ONE; $sleep_command 2; echo TWO" > \$\@ +2.inc: ; \@$sleep_command 1; echo THREE.inc; echo "2: ; \@$sleep_command 1; echo THREE" > \$\@ +EOF + +close(MAKEFILE); + +&run_make_with_options("$makefile3", "-j 4", &get_logfile); +$answer = "ONE.inc\nTHREE.inc\nTWO.inc\nONE\nTHREE\nTWO\nsuccess\n"; +&compare_output($answer, &get_logfile(1)); + +unlink('1.inc', '2.inc'); + +1; diff --git a/src/mkutil/make/tests/scripts/features/patspecific_vars b/src/mkutil/make/tests/scripts/features/patspecific_vars index 9ace5c41..d3bd091e 100644 --- a/src/mkutil/make/tests/scripts/features/patspecific_vars +++ b/src/mkutil/make/tests/scripts/features/patspecific_vars @@ -1,64 +1,64 @@ -# -*-perl-*- -$description = "Test pattern-specific variable settings."; - -$details = "\ -Create a makefile containing various flavors of pattern-specific variable -settings, override and non-override, and using various variable expansion -rules, semicolon interference, etc."; - -open(MAKEFILE,"> $makefile"); - -print MAKEFILE <<'EOF'; -all: one.x two.x three.x -FOO = foo -BAR = bar -BAZ = baz -one.x: override FOO = one -%.x: BAR = two -t%.x: BAR = four -thr% : override BAZ = three -one.x two.x three.x: ; @echo $@: $(FOO) $(BAR) $(BAZ) -four.x: baz ; @echo $@: $(FOO) $(BAR) $(BAZ) -baz: ; @echo $@: $(FOO) $(BAR) $(BAZ) - -# test matching multiple patterns -a%: AAA = aaa -%b: BBB = ccc -a%: BBB += ddd -%b: AAA ?= xxx -%b: AAA += bbb -.PHONY: ab -ab: ; @echo $(AAA); echo $(BBB) -EOF - -close(MAKEFILE); - - -# TEST #1 -- basics - -&run_make_with_options($makefile, "", &get_logfile); -$answer = "one.x: one two baz\ntwo.x: foo four baz\nthree.x: foo four three\n"; -&compare_output($answer,&get_logfile(1)); - - -# TEST #2 -- try the override feature - -&run_make_with_options($makefile, "BAZ=five", &get_logfile); -$answer = "one.x: one two five\ntwo.x: foo four five\nthree.x: foo four three\n"; -&compare_output($answer,&get_logfile(1)); - - -# TEST #3 -- make sure patterns are inherited properly - -&run_make_with_options($makefile, "four.x", &get_logfile); -$answer = "baz: foo two baz\nfour.x: foo two baz\n"; -&compare_output($answer,&get_logfile(1)); - - -# TEST #4 -- test multiple patterns matching the same target - -&run_make_with_options($makefile, "ab", &get_logfile); -$answer = "aaa bbb\nccc ddd\n"; -&compare_output($answer,&get_logfile(1)); - -1; +# -*-perl-*- +$description = "Test pattern-specific variable settings."; + +$details = "\ +Create a makefile containing various flavors of pattern-specific variable +settings, override and non-override, and using various variable expansion +rules, semicolon interference, etc."; + +open(MAKEFILE,"> $makefile"); + +print MAKEFILE <<'EOF'; +all: one.x two.x three.x +FOO = foo +BAR = bar +BAZ = baz +one.x: override FOO = one +%.x: BAR = two +t%.x: BAR = four +thr% : override BAZ = three +one.x two.x three.x: ; @echo $@: $(FOO) $(BAR) $(BAZ) +four.x: baz ; @echo $@: $(FOO) $(BAR) $(BAZ) +baz: ; @echo $@: $(FOO) $(BAR) $(BAZ) + +# test matching multiple patterns +a%: AAA = aaa +%b: BBB = ccc +a%: BBB += ddd +%b: AAA ?= xxx +%b: AAA += bbb +.PHONY: ab +ab: ; @echo $(AAA); echo $(BBB) +EOF + +close(MAKEFILE); + + +# TEST #1 -- basics + +&run_make_with_options($makefile, "", &get_logfile); +$answer = "one.x: one two baz\ntwo.x: foo four baz\nthree.x: foo four three\n"; +&compare_output($answer,&get_logfile(1)); + + +# TEST #2 -- try the override feature + +&run_make_with_options($makefile, "BAZ=five", &get_logfile); +$answer = "one.x: one two five\ntwo.x: foo four five\nthree.x: foo four three\n"; +&compare_output($answer,&get_logfile(1)); + + +# TEST #3 -- make sure patterns are inherited properly + +&run_make_with_options($makefile, "four.x", &get_logfile); +$answer = "baz: foo two baz\nfour.x: foo two baz\n"; +&compare_output($answer,&get_logfile(1)); + + +# TEST #4 -- test multiple patterns matching the same target + +&run_make_with_options($makefile, "ab", &get_logfile); +$answer = "aaa bbb\nccc ddd\n"; +&compare_output($answer,&get_logfile(1)); + +1; diff --git a/src/mkutil/make/tests/scripts/features/quoting b/src/mkutil/make/tests/scripts/features/quoting index 916681c9..a84d677a 100644 --- a/src/mkutil/make/tests/scripts/features/quoting +++ b/src/mkutil/make/tests/scripts/features/quoting @@ -1,32 +1,32 @@ -# -*-perl-*- - -$description = "The following test creates a makefile to test using \n" . - "quotes within makefiles."; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE <<'EOM'; -SHELL = /bin/sh -TEXFONTS = NICEFONT -DEFINES = -DDEFAULT_TFM_PATH=\".:$(TEXFONTS)\" -test: ; @"echo" 'DEFINES = $(DEFINES)' -EOM - -# END of Contents of MAKEFILE - -close(MAKEFILE); - - -&run_make_with_options($makefile,"",&get_logfile); - - -# Create the answer to what should be produced by this Makefile -$answer = 'DEFINES = -DDEFAULT_TFM_PATH=\".:NICEFONT\"' . "\n"; - -# COMPARE RESULTS - -&compare_output($answer,&get_logfile(1)); - -1; +# -*-perl-*- + +$description = "The following test creates a makefile to test using \n" . + "quotes within makefiles."; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE <<'EOM'; +SHELL = /bin/sh +TEXFONTS = NICEFONT +DEFINES = -DDEFAULT_TFM_PATH=\".:$(TEXFONTS)\" +test: ; @"echo" 'DEFINES = $(DEFINES)' +EOM + +# END of Contents of MAKEFILE + +close(MAKEFILE); + + +&run_make_with_options($makefile,"",&get_logfile); + + +# Create the answer to what should be produced by this Makefile +$answer = 'DEFINES = -DDEFAULT_TFM_PATH=\".:NICEFONT\"' . "\n"; + +# COMPARE RESULTS + +&compare_output($answer,&get_logfile(1)); + +1; diff --git a/src/mkutil/make/tests/scripts/features/recursion b/src/mkutil/make/tests/scripts/features/recursion index 444f7ce9..af7db8e3 100644 --- a/src/mkutil/make/tests/scripts/features/recursion +++ b/src/mkutil/make/tests/scripts/features/recursion @@ -1,61 +1,61 @@ -# -*-perl-*- -$description = "The following test creates a makefile to ...\n"; - -$details = "DETAILS"; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "all: \n" - ."\t\$(MAKE) -f $makefile foo \n" - ."foo: \n" - ."\t\@echo \$(MAKE) \n" - ."\t\@echo MAKELEVEL = \$(MAKELEVEL)\n" - ."\t\$(MAKE) -f $makefile last \n" - ."last: \n" - ."\t\@echo \$(MAKE) \n" - ."\t\@echo MAKELEVEL = \$(MAKELEVEL) \n" - ."\t\@echo THE END\n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -if ($vos) -{ - $answer = "$make_name: Entering directory \`$pwd\'\n" - ."make 'CFLAGS=-O' -f $makefile foo \n" - ."make CFLAGS=-O\n" - ."MAKELEVEL = 0\n" - ."make 'CFLAGS=-O' -f $makefile last \n" - ."make CFLAGS=-O\n" - ."MAKELEVEL = 0\n" - ."THE END\n" - ."$make_name: Leaving directory `$pwd'\n"; -} -else -{ - $answer = "$make_name: Entering directory `$pwd'\n" - ."$mkpath -f $makefile foo \n" - ."${make_name}[1]: Entering directory `$pwd'\n" - ."$mkpath\n" - ."MAKELEVEL = 1\n" - ."$mkpath -f $makefile last \n" - ."${make_name}[2]: Entering directory `$pwd'\n" - ."$mkpath\n" - ."MAKELEVEL = 2\n" - ."THE END\n" - ."${make_name}[2]: Leaving directory `$pwd'\n" - ."${make_name}[1]: Leaving directory `$pwd'\n" - ."$make_name: Leaving directory `$pwd'\n"; -} - -$mkoptions = "CFLAGS=-O -w"; -$mkoptions .= " -j 2" if ($parallel_jobs); - -&run_make_with_options($makefile,$mkoptions,&get_logfile,0); - -&compare_output($answer,&get_logfile(1)); - -1; +# -*-perl-*- +$description = "The following test creates a makefile to ...\n"; + +$details = "DETAILS"; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "all: \n" + ."\t\$(MAKE) -f $makefile foo \n" + ."foo: \n" + ."\t\@echo \$(MAKE) \n" + ."\t\@echo MAKELEVEL = \$(MAKELEVEL)\n" + ."\t\$(MAKE) -f $makefile last \n" + ."last: \n" + ."\t\@echo \$(MAKE) \n" + ."\t\@echo MAKELEVEL = \$(MAKELEVEL) \n" + ."\t\@echo THE END\n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +if ($vos) +{ + $answer = "$make_name: Entering directory \`$pwd\'\n" + ."make 'CFLAGS=-O' -f $makefile foo \n" + ."make CFLAGS=-O\n" + ."MAKELEVEL = 0\n" + ."make 'CFLAGS=-O' -f $makefile last \n" + ."make CFLAGS=-O\n" + ."MAKELEVEL = 0\n" + ."THE END\n" + ."$make_name: Leaving directory `$pwd'\n"; +} +else +{ + $answer = "$make_name: Entering directory `$pwd'\n" + ."$mkpath -f $makefile foo \n" + ."${make_name}[1]: Entering directory `$pwd'\n" + ."$mkpath\n" + ."MAKELEVEL = 1\n" + ."$mkpath -f $makefile last \n" + ."${make_name}[2]: Entering directory `$pwd'\n" + ."$mkpath\n" + ."MAKELEVEL = 2\n" + ."THE END\n" + ."${make_name}[2]: Leaving directory `$pwd'\n" + ."${make_name}[1]: Leaving directory `$pwd'\n" + ."$make_name: Leaving directory `$pwd'\n"; +} + +$mkoptions = "CFLAGS=-O -w"; +$mkoptions .= " -j 2" if ($parallel_jobs); + +&run_make_with_options($makefile,$mkoptions,&get_logfile,0); + +&compare_output($answer,&get_logfile(1)); + +1; diff --git a/src/mkutil/make/tests/scripts/features/reinvoke b/src/mkutil/make/tests/scripts/features/reinvoke index a5a475cb..4a0d0975 100644 --- a/src/mkutil/make/tests/scripts/features/reinvoke +++ b/src/mkutil/make/tests/scripts/features/reinvoke @@ -1,86 +1,86 @@ -# -*-mode: perl-*- - -$description = "Test GNU make's auto-reinvocation feature."; - -$details = "\ -If the makefile or one it includes can be rebuilt then it is, and make -is reinvoked. We create a rule to rebuild the makefile from a temp -file, then touch the temp file to make it newer than the makefile."; - -$makefile2 = &get_tmpfile; -$makefile_orig = &get_tmpfile; - -open(MAKEFILE,"> $makefile"); - -print MAKEFILE <> \$\@ - -include $makefile2 - -EOM - -close(MAKEFILE); - -&utouch(-10, $makefile, $makefile2); -&touch($makefile_orig); - -&run_make_with_options($makefile, "", &get_logfile, 0); - -# Create the answer to what should be produced by this Makefile - -$answer = "rebuilding $makefile2.\nrebuilding $makefile.\nrunning rules.\n"; - -&compare_output($answer,&get_logfile(1)) - && unlink "$makefile_orig"; - -# In this test we create an included file that's out-of-date, but then -# the rule doesn't update it. Make shouldn't re-exec. - -$makefile3 = &get_tmpfile; - -open(MAKEFILE, "> $makefile3"); -print MAKEFILE <<'EOM'; -SHELL = /bin/sh - -all: ; @echo hello - -a : b ; echo >> $@ - -b : c ; [ -f $@ ] || echo >> $@ - -c: ; echo >> $@ - -include $(F) -EOM - -close(MAKEFILE); - -&utouch(-20, 'b','a'); -#&utouch(-10, 'a'); -&touch('c'); - -# First try with the file that's not updated "once removed" from the -# file we're including. - -&run_make_with_options($makefile3, "F=a", &get_logfile, 0); - -$answer = "[ -f b ] || echo >> b\nhello\n"; -&compare_output($answer,&get_logfile(1)); - -# Now try with the file we're not updating being the actual file we're -# including: this and the previous one test different parts of the code. - -&run_make_with_options($makefile3, "F=b", &get_logfile, 0); - -$answer = "[ -f b ] || echo >> b\nhello\n"; -&compare_output($answer,&get_logfile(1)); - -unlink('a','b','c'); - -# This tells the test driver that the perl test script executed properly. -1; +# -*-mode: perl-*- + +$description = "Test GNU make's auto-reinvocation feature."; + +$details = "\ +If the makefile or one it includes can be rebuilt then it is, and make +is reinvoked. We create a rule to rebuild the makefile from a temp +file, then touch the temp file to make it newer than the makefile."; + +$makefile2 = &get_tmpfile; +$makefile_orig = &get_tmpfile; + +open(MAKEFILE,"> $makefile"); + +print MAKEFILE <> \$\@ + +include $makefile2 + +EOM + +close(MAKEFILE); + +&utouch(-10, $makefile, $makefile2); +&touch($makefile_orig); + +&run_make_with_options($makefile, "", &get_logfile, 0); + +# Create the answer to what should be produced by this Makefile + +$answer = "rebuilding $makefile2.\nrebuilding $makefile.\nrunning rules.\n"; + +&compare_output($answer,&get_logfile(1)) + && unlink "$makefile_orig"; + +# In this test we create an included file that's out-of-date, but then +# the rule doesn't update it. Make shouldn't re-exec. + +$makefile3 = &get_tmpfile; + +open(MAKEFILE, "> $makefile3"); +print MAKEFILE <<'EOM'; +SHELL = /bin/sh + +all: ; @echo hello + +a : b ; echo >> $@ + +b : c ; [ -f $@ ] || echo >> $@ + +c: ; echo >> $@ + +include $(F) +EOM + +close(MAKEFILE); + +&utouch(-20, 'b','a'); +#&utouch(-10, 'a'); +&touch('c'); + +# First try with the file that's not updated "once removed" from the +# file we're including. + +&run_make_with_options($makefile3, "F=a", &get_logfile, 0); + +$answer = "[ -f b ] || echo >> b\nhello\n"; +&compare_output($answer,&get_logfile(1)); + +# Now try with the file we're not updating being the actual file we're +# including: this and the previous one test different parts of the code. + +&run_make_with_options($makefile3, "F=b", &get_logfile, 0); + +$answer = "[ -f b ] || echo >> b\nhello\n"; +&compare_output($answer,&get_logfile(1)); + +unlink('a','b','c'); + +# This tells the test driver that the perl test script executed properly. +1; diff --git a/src/mkutil/make/tests/scripts/features/statipattrules b/src/mkutil/make/tests/scripts/features/statipattrules index 29a7c08c..4ddf8df2 100644 --- a/src/mkutil/make/tests/scripts/features/statipattrules +++ b/src/mkutil/make/tests/scripts/features/statipattrules @@ -1,72 +1,72 @@ -# -*-perl-*- -$description = "Test handling of static pattern rules."; - -$details = "\ -The makefile created in this test has three targets. The -filter command is used to get those target names ending in -.o and statically creates a compile command with the target -name and the target name with .c. It also does the same thing -for another target filtered with .elc and creates a command -to emacs a .el file"; - -open(MAKEFILE,"> $makefile"); -print MAKEFILE <<'EOF'; -files = foo.elc bar.o lose.o - -$(filter %.o,$(files)): %.o: %.c ; @echo CC -c $(CFLAGS) $< -o $@ - -$(filter %.elc,$(files)): %.elc: %.el ; @echo emacs $< -EOF -close(MAKEFILE); - - -&touch('bar.c', 'lose.c'); - -# TEST #1 -# ------- - -&run_make_with_options($makefile, '', &get_logfile); -$answer = "CC -c bar.c -o bar.o\n"; -&compare_output($answer, &get_logfile(1)); - - -# TEST #2 -# ------- - -&run_make_with_options($makefile, 'lose.o', &get_logfile); -$answer = "CC -c lose.c -o lose.o\n"; -&compare_output($answer, &get_logfile(1)); - - -# TEST #3 -# ------- -&touch("foo.el"); - -&run_make_with_options($makefile, 'foo.elc', &get_logfile); -$answer = "emacs foo.el\n"; -&compare_output($answer, &get_logfile(1)); - - -unlink('foo.el', 'bar.c', 'lose.c'); - - -# TEST #4 -- PR/1670: don't core dump on invalid static pattern rules -# ------- - -$makefile2 = &get_tmpfile; -open(MAKEFILE, "> $makefile2"); -print MAKEFILE "foo: foo%: % ; \@echo $@\n"; -close(MAKEFILE); - -&run_make_with_options($makefile2, '', &get_logfile, 512); -$answer = "$makefile2:1: *** target `foo' leaves prerequisite pattern empty. Stop.\n"; -&compare_output($answer, &get_logfile(1)); - - -1; - - - - - - +# -*-perl-*- +$description = "Test handling of static pattern rules."; + +$details = "\ +The makefile created in this test has three targets. The +filter command is used to get those target names ending in +.o and statically creates a compile command with the target +name and the target name with .c. It also does the same thing +for another target filtered with .elc and creates a command +to emacs a .el file"; + +open(MAKEFILE,"> $makefile"); +print MAKEFILE <<'EOF'; +files = foo.elc bar.o lose.o + +$(filter %.o,$(files)): %.o: %.c ; @echo CC -c $(CFLAGS) $< -o $@ + +$(filter %.elc,$(files)): %.elc: %.el ; @echo emacs $< +EOF +close(MAKEFILE); + + +&touch('bar.c', 'lose.c'); + +# TEST #1 +# ------- + +&run_make_with_options($makefile, '', &get_logfile); +$answer = "CC -c bar.c -o bar.o\n"; +&compare_output($answer, &get_logfile(1)); + + +# TEST #2 +# ------- + +&run_make_with_options($makefile, 'lose.o', &get_logfile); +$answer = "CC -c lose.c -o lose.o\n"; +&compare_output($answer, &get_logfile(1)); + + +# TEST #3 +# ------- +&touch("foo.el"); + +&run_make_with_options($makefile, 'foo.elc', &get_logfile); +$answer = "emacs foo.el\n"; +&compare_output($answer, &get_logfile(1)); + + +unlink('foo.el', 'bar.c', 'lose.c'); + + +# TEST #4 -- PR/1670: don't core dump on invalid static pattern rules +# ------- + +$makefile2 = &get_tmpfile; +open(MAKEFILE, "> $makefile2"); +print MAKEFILE "foo: foo%: % ; \@echo $@\n"; +close(MAKEFILE); + +&run_make_with_options($makefile2, '', &get_logfile, 512); +$answer = "$makefile2:1: *** target `foo' leaves prerequisite pattern empty. Stop.\n"; +&compare_output($answer, &get_logfile(1)); + + +1; + + + + + + diff --git a/src/mkutil/make/tests/scripts/features/targetvars b/src/mkutil/make/tests/scripts/features/targetvars index 3989340c..ab7774f5 100644 --- a/src/mkutil/make/tests/scripts/features/targetvars +++ b/src/mkutil/make/tests/scripts/features/targetvars @@ -1,270 +1,270 @@ -# -*-perl-*- -$description = "Test target-specific variable settings."; - -$details = "\ -Create a makefile containing various flavors of target-specific variable -values, override and non-override, and using various variable expansion -rules, semicolon interference, etc."; - -open(MAKEFILE,"> $makefile"); - -print MAKEFILE <<'EOF'; -SHELL = /bin/sh -export FOO = foo -export BAR = bar -one: override FOO = one -one two: ; @echo $(FOO) $(BAR) -two: BAR = two -three: ; BAR=1000 - @echo $(FOO) $(BAR) -# Some things that shouldn't be target vars -funk : override -funk : override adelic -adelic override : ; echo $@ -# Test per-target recursive variables -four:FOO=x -four:VAR$(FOO)=ok -four: ; @echo '$(FOO) $(VAR$(FOO)) $(VAR) $(VARx)' -five:FOO=x -five six : VAR$(FOO)=good -five six: ;@echo '$(FOO) $(VAR$(FOO)) $(VAR) $(VARx) $(VARfoo)' -# Test per-target variable inheritance -seven: eight -seven eight: ; @echo $@: $(FOO) $(BAR) -seven: BAR = seven -seven: FOO = seven -eight: BAR = eight -# Test the export keyword with per-target variables -nine: ; @echo $(FOO) $(BAR) $$FOO $$BAR -nine: FOO = wallace -nine-a: export BAZ = baz -nine-a: ; @echo $$BAZ -# Test = escaping -EQ = = -ten: one\=two -ten: one \= two -ten one$(EQ)two $(EQ):;@echo $@ -.PHONY: one two three four five six seven eight nine ten $(EQ) one$(EQ)two -# Test target-specific vars with pattern/suffix rules -QVAR = qvar -RVAR = = -%.q : ; @echo $(QVAR) $(RVAR) -foo.q : RVAR += rvar -# Target-specific vars with multiple LHS pattern rules -%.r %.s %.t: ; @echo $(QVAR) $(RVAR) $(SVAR) $(TVAR) -foo.r : RVAR += rvar -foo.t : TVAR := $(QVAR) -EOF - -close(MAKEFILE); - -# TEST #1 - -&run_make_with_options($makefile, "one two three", &get_logfile); -$answer = "one bar\nfoo two\nBAR=1000\nfoo bar\n"; -&compare_output($answer,&get_logfile(1)); - -# TEST #2 - -&run_make_with_options($makefile, "one two FOO=1 BAR=2", &get_logfile); -$answer = "one 2\n1 2\n"; -&compare_output($answer,&get_logfile(1)); - -# TEST #3 - -&run_make_with_options($makefile, "four", &get_logfile); -$answer = "x ok ok\n"; -&compare_output($answer,&get_logfile(1)); - -# TEST #4 - -&run_make_with_options($makefile, "seven", &get_logfile); -$answer = "eight: seven eight\nseven: seven seven\n"; -&compare_output($answer,&get_logfile(1)); - -# TEST #5 - -&run_make_with_options($makefile, "nine", &get_logfile); -$answer = "wallace bar wallace bar\n"; -&compare_output($answer,&get_logfile(1)); - -# TEST #5-a - -&run_make_with_options($makefile, "nine-a", &get_logfile); -$answer = "baz\n"; -&compare_output($answer,&get_logfile(1)); - -# TEST #6 - -&run_make_with_options($makefile, "ten", &get_logfile); -$answer = "one=two\none bar\n=\nfoo two\nten\n"; -&compare_output($answer,&get_logfile(1)); - -# TEST #6 - -&run_make_with_options($makefile, "foo.q bar.q", &get_logfile); -$answer = "qvar = rvar\nqvar =\n"; -&compare_output($answer,&get_logfile(1)); - -# TEST #7 - -&run_make_with_options($makefile, "foo.t bar.s", &get_logfile); -$answer = "qvar = qvar\nqvar =\n"; -&compare_output($answer,&get_logfile(1)); - - -# TEST #8 -# For PR/1378: Target-specific vars don't inherit correctly - -$makefile2 = &get_tmpfile; - -open(MAKEFILE,"> $makefile2"); -print MAKEFILE <<'EOF'; -foo: FOO = foo -bar: BAR = bar -foo: bar -bar: baz -baz: ; @echo $(FOO) $(BAR) -EOF -close(MAKEFILE); - -&run_make_with_options("$makefile2", "", &get_logfile); -$answer = "foo bar\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST #9 -# For PR/1380: Using += assignment in target-specific variables sometimes fails -# Also PR/1831 - -$makefile3 = &get_tmpfile; - -open(MAKEFILE,"> $makefile3"); -print MAKEFILE <<'EOF'; -.PHONY: all one -all: FOO += baz -all: one; @echo $(FOO) - -FOO = bar - -one: FOO += biz -one: FOO += boz -one: ; @echo $(FOO) -EOF -close(MAKEFILE); - -&run_make_with_options("$makefile3", "", &get_logfile); -$answer = "bar baz biz boz\nbar baz\n"; -&compare_output($answer, &get_logfile(1)); - -# Test #10 - -&run_make_with_options("$makefile3", "one", &get_logfile); -$answer = "bar biz boz\n"; -&compare_output($answer, &get_logfile(1)); - -# Test #11 -# PR/1709: Test semicolons in target-specific variable values - -$makefile4 = &get_tmpfile; - -open(MAKEFILE, "> $makefile4"); -print MAKEFILE <<'EOF'; -foo : FOO = ; ok -foo : ; @echo '$(FOO)' -EOF -close(MAKEFILE); - -&run_make_with_options("$makefile4", "", &get_logfile); -$answer = "; ok\n"; -&compare_output($answer, &get_logfile(1)); - -# Test #12 -# PR/2020: More hassles with += target-specific vars. I _really_ think -# I nailed it this time :-/. - -$makefile5 = &get_tmpfile; - -open(MAKEFILE, "> $makefile5"); -print MAKEFILE <<'EOF'; -.PHONY: a - -BLAH := foo -COMMAND = echo $(BLAH) - -a: ; @$(COMMAND) - -a: BLAH := bar -a: COMMAND += snafu $(BLAH) -EOF -close(MAKEFILE); - -&run_make_with_options("$makefile5", "", &get_logfile); -$answer = "bar snafu bar\n"; -&compare_output($answer, &get_logfile(1)); - -# Test #13 -# Test double-colon rules with target-specific variable values - -$makefile6 = &get_tmpfile; - -open(MAKEFILE, "> $makefile6"); -print MAKEFILE <<'EOF'; -W = bad -X = bad -foo: W = ok -foo:: ; @echo $(W) $(X) $(Y) $(Z) -foo:: ; @echo $(W) $(X) $(Y) $(Z) -foo: X = ok - -Y = foo -bar: foo -bar: Y = bar - -Z = nopat -ifdef PATTERN - fo% : Z = pat -endif - -EOF -close(MAKEFILE); - -&run_make_with_options("$makefile6", "foo", &get_logfile); -$answer = "ok ok foo nopat\nok ok foo nopat\n"; -&compare_output($answer, &get_logfile(1)); - -# Test #14 -# Test double-colon rules with target-specific variable values and -# inheritance - -&run_make_with_options("$makefile6", "bar", &get_logfile); -$answer = "ok ok bar nopat\nok ok bar nopat\n"; -&compare_output($answer, &get_logfile(1)); - -# Test #15 -# Test double-colon rules with pattern-specific variable values - -&run_make_with_options("$makefile6", "foo PATTERN=yes", &get_logfile); -$answer = "ok ok foo pat\nok ok foo pat\n"; -&compare_output($answer, &get_logfile(1)); - - -# Test #16 -# Test target-specific variables with very long command line -# (> make default buffer length) - -$makefile7 = &get_tmpfile; - -open(MAKEFILE, "> $makefile7"); -print MAKEFILE <<'EOF'; -base_metals_fmd_reports.sun5 base_metals_fmd_reports CreateRealPositions CreateMarginFunds deals_changed_since : BUILD_OBJ=$(shell if [ -f "build_information.generate" ]; then echo "$(OBJ_DIR)/build_information.o"; else echo "no build information"; fi ) - -deals_changed_since: ; @echo $(BUILD_OBJ) - -EOF -close(MAKEFILE); - -&run_make_with_options("$makefile7", '', &get_logfile); -$answer = "no build information\n"; -&compare_output($answer, &get_logfile(1)); - -1; +# -*-perl-*- +$description = "Test target-specific variable settings."; + +$details = "\ +Create a makefile containing various flavors of target-specific variable +values, override and non-override, and using various variable expansion +rules, semicolon interference, etc."; + +open(MAKEFILE,"> $makefile"); + +print MAKEFILE <<'EOF'; +SHELL = /bin/sh +export FOO = foo +export BAR = bar +one: override FOO = one +one two: ; @echo $(FOO) $(BAR) +two: BAR = two +three: ; BAR=1000 + @echo $(FOO) $(BAR) +# Some things that shouldn't be target vars +funk : override +funk : override adelic +adelic override : ; echo $@ +# Test per-target recursive variables +four:FOO=x +four:VAR$(FOO)=ok +four: ; @echo '$(FOO) $(VAR$(FOO)) $(VAR) $(VARx)' +five:FOO=x +five six : VAR$(FOO)=good +five six: ;@echo '$(FOO) $(VAR$(FOO)) $(VAR) $(VARx) $(VARfoo)' +# Test per-target variable inheritance +seven: eight +seven eight: ; @echo $@: $(FOO) $(BAR) +seven: BAR = seven +seven: FOO = seven +eight: BAR = eight +# Test the export keyword with per-target variables +nine: ; @echo $(FOO) $(BAR) $$FOO $$BAR +nine: FOO = wallace +nine-a: export BAZ = baz +nine-a: ; @echo $$BAZ +# Test = escaping +EQ = = +ten: one\=two +ten: one \= two +ten one$(EQ)two $(EQ):;@echo $@ +.PHONY: one two three four five six seven eight nine ten $(EQ) one$(EQ)two +# Test target-specific vars with pattern/suffix rules +QVAR = qvar +RVAR = = +%.q : ; @echo $(QVAR) $(RVAR) +foo.q : RVAR += rvar +# Target-specific vars with multiple LHS pattern rules +%.r %.s %.t: ; @echo $(QVAR) $(RVAR) $(SVAR) $(TVAR) +foo.r : RVAR += rvar +foo.t : TVAR := $(QVAR) +EOF + +close(MAKEFILE); + +# TEST #1 + +&run_make_with_options($makefile, "one two three", &get_logfile); +$answer = "one bar\nfoo two\nBAR=1000\nfoo bar\n"; +&compare_output($answer,&get_logfile(1)); + +# TEST #2 + +&run_make_with_options($makefile, "one two FOO=1 BAR=2", &get_logfile); +$answer = "one 2\n1 2\n"; +&compare_output($answer,&get_logfile(1)); + +# TEST #3 + +&run_make_with_options($makefile, "four", &get_logfile); +$answer = "x ok ok\n"; +&compare_output($answer,&get_logfile(1)); + +# TEST #4 + +&run_make_with_options($makefile, "seven", &get_logfile); +$answer = "eight: seven eight\nseven: seven seven\n"; +&compare_output($answer,&get_logfile(1)); + +# TEST #5 + +&run_make_with_options($makefile, "nine", &get_logfile); +$answer = "wallace bar wallace bar\n"; +&compare_output($answer,&get_logfile(1)); + +# TEST #5-a + +&run_make_with_options($makefile, "nine-a", &get_logfile); +$answer = "baz\n"; +&compare_output($answer,&get_logfile(1)); + +# TEST #6 + +&run_make_with_options($makefile, "ten", &get_logfile); +$answer = "one=two\none bar\n=\nfoo two\nten\n"; +&compare_output($answer,&get_logfile(1)); + +# TEST #6 + +&run_make_with_options($makefile, "foo.q bar.q", &get_logfile); +$answer = "qvar = rvar\nqvar =\n"; +&compare_output($answer,&get_logfile(1)); + +# TEST #7 + +&run_make_with_options($makefile, "foo.t bar.s", &get_logfile); +$answer = "qvar = qvar\nqvar =\n"; +&compare_output($answer,&get_logfile(1)); + + +# TEST #8 +# For PR/1378: Target-specific vars don't inherit correctly + +$makefile2 = &get_tmpfile; + +open(MAKEFILE,"> $makefile2"); +print MAKEFILE <<'EOF'; +foo: FOO = foo +bar: BAR = bar +foo: bar +bar: baz +baz: ; @echo $(FOO) $(BAR) +EOF +close(MAKEFILE); + +&run_make_with_options("$makefile2", "", &get_logfile); +$answer = "foo bar\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST #9 +# For PR/1380: Using += assignment in target-specific variables sometimes fails +# Also PR/1831 + +$makefile3 = &get_tmpfile; + +open(MAKEFILE,"> $makefile3"); +print MAKEFILE <<'EOF'; +.PHONY: all one +all: FOO += baz +all: one; @echo $(FOO) + +FOO = bar + +one: FOO += biz +one: FOO += boz +one: ; @echo $(FOO) +EOF +close(MAKEFILE); + +&run_make_with_options("$makefile3", "", &get_logfile); +$answer = "bar baz biz boz\nbar baz\n"; +&compare_output($answer, &get_logfile(1)); + +# Test #10 + +&run_make_with_options("$makefile3", "one", &get_logfile); +$answer = "bar biz boz\n"; +&compare_output($answer, &get_logfile(1)); + +# Test #11 +# PR/1709: Test semicolons in target-specific variable values + +$makefile4 = &get_tmpfile; + +open(MAKEFILE, "> $makefile4"); +print MAKEFILE <<'EOF'; +foo : FOO = ; ok +foo : ; @echo '$(FOO)' +EOF +close(MAKEFILE); + +&run_make_with_options("$makefile4", "", &get_logfile); +$answer = "; ok\n"; +&compare_output($answer, &get_logfile(1)); + +# Test #12 +# PR/2020: More hassles with += target-specific vars. I _really_ think +# I nailed it this time :-/. + +$makefile5 = &get_tmpfile; + +open(MAKEFILE, "> $makefile5"); +print MAKEFILE <<'EOF'; +.PHONY: a + +BLAH := foo +COMMAND = echo $(BLAH) + +a: ; @$(COMMAND) + +a: BLAH := bar +a: COMMAND += snafu $(BLAH) +EOF +close(MAKEFILE); + +&run_make_with_options("$makefile5", "", &get_logfile); +$answer = "bar snafu bar\n"; +&compare_output($answer, &get_logfile(1)); + +# Test #13 +# Test double-colon rules with target-specific variable values + +$makefile6 = &get_tmpfile; + +open(MAKEFILE, "> $makefile6"); +print MAKEFILE <<'EOF'; +W = bad +X = bad +foo: W = ok +foo:: ; @echo $(W) $(X) $(Y) $(Z) +foo:: ; @echo $(W) $(X) $(Y) $(Z) +foo: X = ok + +Y = foo +bar: foo +bar: Y = bar + +Z = nopat +ifdef PATTERN + fo% : Z = pat +endif + +EOF +close(MAKEFILE); + +&run_make_with_options("$makefile6", "foo", &get_logfile); +$answer = "ok ok foo nopat\nok ok foo nopat\n"; +&compare_output($answer, &get_logfile(1)); + +# Test #14 +# Test double-colon rules with target-specific variable values and +# inheritance + +&run_make_with_options("$makefile6", "bar", &get_logfile); +$answer = "ok ok bar nopat\nok ok bar nopat\n"; +&compare_output($answer, &get_logfile(1)); + +# Test #15 +# Test double-colon rules with pattern-specific variable values + +&run_make_with_options("$makefile6", "foo PATTERN=yes", &get_logfile); +$answer = "ok ok foo pat\nok ok foo pat\n"; +&compare_output($answer, &get_logfile(1)); + + +# Test #16 +# Test target-specific variables with very long command line +# (> make default buffer length) + +$makefile7 = &get_tmpfile; + +open(MAKEFILE, "> $makefile7"); +print MAKEFILE <<'EOF'; +base_metals_fmd_reports.sun5 base_metals_fmd_reports CreateRealPositions CreateMarginFunds deals_changed_since : BUILD_OBJ=$(shell if [ -f "build_information.generate" ]; then echo "$(OBJ_DIR)/build_information.o"; else echo "no build information"; fi ) + +deals_changed_since: ; @echo $(BUILD_OBJ) + +EOF +close(MAKEFILE); + +&run_make_with_options("$makefile7", '', &get_logfile); +$answer = "no build information\n"; +&compare_output($answer, &get_logfile(1)); + +1; diff --git a/src/mkutil/make/tests/scripts/features/varnesting b/src/mkutil/make/tests/scripts/features/varnesting index 15d50711..9ff91f84 100644 --- a/src/mkutil/make/tests/scripts/features/varnesting +++ b/src/mkutil/make/tests/scripts/features/varnesting @@ -1,34 +1,34 @@ -$description = "The following test creates a makefile to ..."; - -$details = ""; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "x = variable1\n" - ."variable2 := Hello\n" - ."y = \$(subst 1,2,\$(x))\n" - ."z = y\n" - ."a := \$(\$(\$(z)))\n" - ."all: \n" - ."\t\@echo \$(a)\n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&run_make_with_options($makefile,"",&get_logfile); - -# Create the answer to what should be produced by this Makefile -$answer = "Hello\n"; - -&compare_output($answer,&get_logfile(1)); - -1; - - - - - - +$description = "The following test creates a makefile to ..."; + +$details = ""; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "x = variable1\n" + ."variable2 := Hello\n" + ."y = \$(subst 1,2,\$(x))\n" + ."z = y\n" + ."a := \$(\$(\$(z)))\n" + ."all: \n" + ."\t\@echo \$(a)\n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&run_make_with_options($makefile,"",&get_logfile); + +# Create the answer to what should be produced by this Makefile +$answer = "Hello\n"; + +&compare_output($answer,&get_logfile(1)); + +1; + + + + + + diff --git a/src/mkutil/make/tests/scripts/features/vpath b/src/mkutil/make/tests/scripts/features/vpath index 101a25da..1acbb8a3 100644 --- a/src/mkutil/make/tests/scripts/features/vpath +++ b/src/mkutil/make/tests/scripts/features/vpath @@ -1,62 +1,62 @@ -$description = "The following test creates a makefile to test the \n" - ."vpath directive which allows you to specify a search \n" - ."path for a particular class of filenames, those that\n" - ."match a particular pattern."; - -$details = "This tests the vpath directive by specifying search directories\n" - ."for one class of filenames with the form: vpath pattern directories" - ."\nIn this test, we specify the working directory for all files\n" - ."that end in c or h. We also test the variables $@ (which gives\n" - ."target name) and $^ (which is a list of all dependencies \n" - ."including the directories in which they were found). It also\n" - ."uses the function firstword used to extract just the first\n" - ."dependency from the entire list."; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "vpath %.c foo\n"; -print MAKEFILE "vpath %.c $workdir\n"; -print MAKEFILE "vpath %.h $workdir\n"; -print MAKEFILE "objects = main.o kbd.o commands.o display.o insert.o\n"; -print MAKEFILE "edit: \$(objects)\n"; -print MAKEFILE "\t\@echo cc -o \$@ \$^\n"; -print MAKEFILE "main.o : main.c defs.h\n"; -print MAKEFILE "\t\@echo cc -c \$(firstword \$^)\n"; -print MAKEFILE "kbd.o : kbd.c defs.h command.h\n"; -print MAKEFILE "\t\@echo cc -c kbd.c\n"; -print MAKEFILE "commands.o : command.c defs.h command.h\n"; -print MAKEFILE "\t\@echo cc -c commands.c\n"; -print MAKEFILE "display.o : display.c defs.h buffer.h\n"; -print MAKEFILE "\t\@echo cc -c display.c\n"; -print MAKEFILE "insert.o : insert.c defs.h buffer.h\n"; -print MAKEFILE "\t\@echo cc -c insert.c\n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - - -@files_to_touch = ("$workdir${pathsep}main.c","$workdir${pathsep}defs.h", - "$workdir${pathsep}kbd.c","$workdir${pathsep}command.h", - "$workdir${pathsep}commands.c","$workdir${pathsep}display.c", - "$workdir${pathsep}buffer.h","$workdir${pathsep}insert.c", - "$workdir${pathsep}command.c"); - -&touch(@files_to_touch); - -&run_make_with_options($makefile,"",&get_logfile); - -# Create the answer to what should be produced by this Makefile -$answer = "cc -c $workdir${pathsep}main.c\ncc -c kbd.c\ncc -c commands.c\n" - ."cc -c display.c\n" - ."cc -c insert.c\ncc -o edit main.o kbd.o commands.o display.o " - ."insert.o\n"; - -if (&compare_output($answer,&get_logfile(1))) -{ - unlink @files_to_touch; -} - -1; +$description = "The following test creates a makefile to test the \n" + ."vpath directive which allows you to specify a search \n" + ."path for a particular class of filenames, those that\n" + ."match a particular pattern."; + +$details = "This tests the vpath directive by specifying search directories\n" + ."for one class of filenames with the form: vpath pattern directories" + ."\nIn this test, we specify the working directory for all files\n" + ."that end in c or h. We also test the variables $@ (which gives\n" + ."target name) and $^ (which is a list of all dependencies \n" + ."including the directories in which they were found). It also\n" + ."uses the function firstword used to extract just the first\n" + ."dependency from the entire list."; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "vpath %.c foo\n"; +print MAKEFILE "vpath %.c $workdir\n"; +print MAKEFILE "vpath %.h $workdir\n"; +print MAKEFILE "objects = main.o kbd.o commands.o display.o insert.o\n"; +print MAKEFILE "edit: \$(objects)\n"; +print MAKEFILE "\t\@echo cc -o \$@ \$^\n"; +print MAKEFILE "main.o : main.c defs.h\n"; +print MAKEFILE "\t\@echo cc -c \$(firstword \$^)\n"; +print MAKEFILE "kbd.o : kbd.c defs.h command.h\n"; +print MAKEFILE "\t\@echo cc -c kbd.c\n"; +print MAKEFILE "commands.o : command.c defs.h command.h\n"; +print MAKEFILE "\t\@echo cc -c commands.c\n"; +print MAKEFILE "display.o : display.c defs.h buffer.h\n"; +print MAKEFILE "\t\@echo cc -c display.c\n"; +print MAKEFILE "insert.o : insert.c defs.h buffer.h\n"; +print MAKEFILE "\t\@echo cc -c insert.c\n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + + +@files_to_touch = ("$workdir${pathsep}main.c","$workdir${pathsep}defs.h", + "$workdir${pathsep}kbd.c","$workdir${pathsep}command.h", + "$workdir${pathsep}commands.c","$workdir${pathsep}display.c", + "$workdir${pathsep}buffer.h","$workdir${pathsep}insert.c", + "$workdir${pathsep}command.c"); + +&touch(@files_to_touch); + +&run_make_with_options($makefile,"",&get_logfile); + +# Create the answer to what should be produced by this Makefile +$answer = "cc -c $workdir${pathsep}main.c\ncc -c kbd.c\ncc -c commands.c\n" + ."cc -c display.c\n" + ."cc -c insert.c\ncc -o edit main.o kbd.o commands.o display.o " + ."insert.o\n"; + +if (&compare_output($answer,&get_logfile(1))) +{ + unlink @files_to_touch; +} + +1; diff --git a/src/mkutil/make/tests/scripts/features/vpath2 b/src/mkutil/make/tests/scripts/features/vpath2 index 7e970a71..19bb405b 100644 --- a/src/mkutil/make/tests/scripts/features/vpath2 +++ b/src/mkutil/make/tests/scripts/features/vpath2 @@ -1,45 +1,45 @@ -$description = "This is part 2 in a series to test the vpath directive\n" - ."It tests the three forms of the directive:\n" - ." vpath pattern directive\n" - ." vpath pattern (clears path associated with pattern)\n" - ." vpath (clears all paths specified with vpath)\n"; - -$details = "This test simply adds many search paths using various vpath\n" - ."directive forms and clears them afterwards. It has a simple\n" - ."rule to print a message at the end to confirm that the makefile\n" - ."ran with no errors.\n"; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "VPATH = $workdir:$sourcedir\n"; -print MAKEFILE "vpath %.c foo\n"; -print MAKEFILE "vpath %.c $workdir\n"; -print MAKEFILE "vpath %.c $sourcedir\n"; -print MAKEFILE "vpath %.h $workdir\n"; -print MAKEFILE "vpath %.c\n"; -print MAKEFILE "vpath\n"; -print MAKEFILE "all:\n"; -print MAKEFILE "\t\@echo ALL IS WELL\n"; -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&run_make_with_options($makefile,"",&get_logfile); - -# Create the answer to what should be produced by this Makefile -$answer = "ALL IS WELL\n"; - -&compare_output($answer,&get_logfile(1)); - -1; - - - - - - - - - +$description = "This is part 2 in a series to test the vpath directive\n" + ."It tests the three forms of the directive:\n" + ." vpath pattern directive\n" + ." vpath pattern (clears path associated with pattern)\n" + ." vpath (clears all paths specified with vpath)\n"; + +$details = "This test simply adds many search paths using various vpath\n" + ."directive forms and clears them afterwards. It has a simple\n" + ."rule to print a message at the end to confirm that the makefile\n" + ."ran with no errors.\n"; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "VPATH = $workdir:$sourcedir\n"; +print MAKEFILE "vpath %.c foo\n"; +print MAKEFILE "vpath %.c $workdir\n"; +print MAKEFILE "vpath %.c $sourcedir\n"; +print MAKEFILE "vpath %.h $workdir\n"; +print MAKEFILE "vpath %.c\n"; +print MAKEFILE "vpath\n"; +print MAKEFILE "all:\n"; +print MAKEFILE "\t\@echo ALL IS WELL\n"; +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&run_make_with_options($makefile,"",&get_logfile); + +# Create the answer to what should be produced by this Makefile +$answer = "ALL IS WELL\n"; + +&compare_output($answer,&get_logfile(1)); + +1; + + + + + + + + + diff --git a/src/mkutil/make/tests/scripts/features/vpathgpath b/src/mkutil/make/tests/scripts/features/vpathgpath index f7683f52..27edba7b 100644 --- a/src/mkutil/make/tests/scripts/features/vpathgpath +++ b/src/mkutil/make/tests/scripts/features/vpathgpath @@ -1,66 +1,66 @@ -# -*-perl-*- -$description = "Tests VPATH+/GPATH functionality."; - -$details = ""; - -$VP = "$workdir$pathsep"; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "VPATH = $VP\n"; - -print MAKEFILE <<'EOMAKE'; - -GPATH = $(VPATH) - -.SUFFIXES: .a .b .c .d -.PHONY: general rename notarget intermediate - -%.a: -%.b: -%.c: -%.d: - -%.a : %.b ; cat $^ > $@ -%.b : %.c ; cat $^ > $@ -%.c :: %.d ; cat $^ > $@ - -# General testing info: - -general: foo.b -foo.b: foo.c bar.c - -EOMAKE - -close(MAKEFILE); - -@touchedfiles = (); - -$off = -500; - -sub touchfiles { - foreach (@_) { - ($f = $_) =~ s,VP/,$VP,g; - &utouch($off, $f); - $off += 10; - push(@touchedfiles, $f); - } -} - -# Run the general-case test - -&touchfiles("VP/foo.d", "VP/bar.d", "VP/foo.c", "VP/bar.c", "foo.b", "bar.d"); - -&run_make_with_options($makefile,"general",&get_logfile()); - -push(@touchedfiles, "bar.c"); - -$answer = "$make_name: Nothing to be done for `general'.\n"; - -&compare_output($answer,&get_logfile(1)); - -unlink(@touchedfiles) unless $keep; - -1; +# -*-perl-*- +$description = "Tests VPATH+/GPATH functionality."; + +$details = ""; + +$VP = "$workdir$pathsep"; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "VPATH = $VP\n"; + +print MAKEFILE <<'EOMAKE'; + +GPATH = $(VPATH) + +.SUFFIXES: .a .b .c .d +.PHONY: general rename notarget intermediate + +%.a: +%.b: +%.c: +%.d: + +%.a : %.b ; cat $^ > $@ +%.b : %.c ; cat $^ > $@ +%.c :: %.d ; cat $^ > $@ + +# General testing info: + +general: foo.b +foo.b: foo.c bar.c + +EOMAKE + +close(MAKEFILE); + +@touchedfiles = (); + +$off = -500; + +sub touchfiles { + foreach (@_) { + ($f = $_) =~ s,VP/,$VP,g; + &utouch($off, $f); + $off += 10; + push(@touchedfiles, $f); + } +} + +# Run the general-case test + +&touchfiles("VP/foo.d", "VP/bar.d", "VP/foo.c", "VP/bar.c", "foo.b", "bar.d"); + +&run_make_with_options($makefile,"general",&get_logfile()); + +push(@touchedfiles, "bar.c"); + +$answer = "$make_name: Nothing to be done for `general'.\n"; + +&compare_output($answer,&get_logfile(1)); + +unlink(@touchedfiles) unless $keep; + +1; diff --git a/src/mkutil/make/tests/scripts/features/vpathplus b/src/mkutil/make/tests/scripts/features/vpathplus index a37fbedd..cbe5b43d 100644 --- a/src/mkutil/make/tests/scripts/features/vpathplus +++ b/src/mkutil/make/tests/scripts/features/vpathplus @@ -1,128 +1,128 @@ -# -*-perl-*- -$description = "Tests the new VPATH+ functionality added in 3.76."; - -$details = ""; - -$VP = "$workdir$pathsep"; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "VPATH = $VP\n"; - -print MAKEFILE <<'EOMAKE'; - -SHELL = /bin/sh - -.SUFFIXES: .a .b .c .d -.PHONY: general rename notarget intermediate - -%.a: -%.b: -%.c: -%.d: - -%.a : %.b - cat $^ > $@ -%.b : %.c - cat $^ > $@ 2>/dev/null || exit 1 -%.c :: %.d - cat $^ > $@ - -# General testing info: - -general: foo.b -foo.b: foo.c bar.c - -# Rename testing info: - -rename: $(VPATH)/foo.c foo.d - -# Target not made testing info: - -notarget: notarget.b -notarget.c: notarget.d - -@echo "not creating $@ from $^" - -# Intermediate files: - -intermediate: inter.a - -EOMAKE - -close(MAKEFILE); - -@touchedfiles = (); - -$off = -500; - -sub touchfiles { - foreach (@_) { - &utouch($off, $_); - $off += 10; - push(@touchedfiles, $_); - } -} - -# Run the general-case test - -&touchfiles("$VP/foo.d", "$VP/bar.d", "$VP/foo.c", "$VP/bar.c", "foo.b", "bar.d"); - -&run_make_with_options($makefile,"general",&get_logfile); - -push(@touchedfiles, "bar.c"); - -$answer = "cat bar.d > bar.c -cat ${VP}foo.c bar.c > foo.b 2>/dev/null || exit 1 -"; -&compare_output($answer,&get_logfile(1)); - -# Test rules that don't make the target correctly - -&touchfiles("$VP/notarget.c", "notarget.b", "notarget.d"); - -&run_make_with_options($makefile,"notarget",&get_logfile,512); - -$answer = "not creating notarget.c from notarget.d -cat notarget.c > notarget.b 2>/dev/null || exit 1 -$make_name: *** [notarget.b] Error 1 -"; - -&compare_output($answer,&get_logfile(1)); - -# Test intermediate file handling (part 1) - -&touchfiles("$VP/inter.d"); - -&run_make_with_options($makefile,"intermediate",&get_logfile); - -push(@touchedfiles, "inter.a", "inter.b"); - -$answer = "cat ${VP}inter.d > inter.c -cat inter.c > inter.b 2>/dev/null || exit 1 -cat inter.b > inter.a -rm inter.b inter.c -"; -&compare_output($answer,&get_logfile(1)); - -# Test intermediate file handling (part 2) - -&utouch(-20, "inter.a"); -&utouch(-10, "$VP/inter.b"); -&touch("$VP/inter.d"); - -push(@touchedfiles, "$VP/inter.b", "$VP/inter.d"); - -&run_make_with_options($makefile,"intermediate",&get_logfile); - -$answer = "cat ${VP}inter.d > inter.c -cat inter.c > inter.b 2>/dev/null || exit 1 -cat inter.b > inter.a -rm inter.c -"; -&compare_output($answer,&get_logfile(1)); - -unlink @touchedfiles unless $keep; - -1; +# -*-perl-*- +$description = "Tests the new VPATH+ functionality added in 3.76."; + +$details = ""; + +$VP = "$workdir$pathsep"; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "VPATH = $VP\n"; + +print MAKEFILE <<'EOMAKE'; + +SHELL = /bin/sh + +.SUFFIXES: .a .b .c .d +.PHONY: general rename notarget intermediate + +%.a: +%.b: +%.c: +%.d: + +%.a : %.b + cat $^ > $@ +%.b : %.c + cat $^ > $@ 2>/dev/null || exit 1 +%.c :: %.d + cat $^ > $@ + +# General testing info: + +general: foo.b +foo.b: foo.c bar.c + +# Rename testing info: + +rename: $(VPATH)/foo.c foo.d + +# Target not made testing info: + +notarget: notarget.b +notarget.c: notarget.d + -@echo "not creating $@ from $^" + +# Intermediate files: + +intermediate: inter.a + +EOMAKE + +close(MAKEFILE); + +@touchedfiles = (); + +$off = -500; + +sub touchfiles { + foreach (@_) { + &utouch($off, $_); + $off += 10; + push(@touchedfiles, $_); + } +} + +# Run the general-case test + +&touchfiles("$VP/foo.d", "$VP/bar.d", "$VP/foo.c", "$VP/bar.c", "foo.b", "bar.d"); + +&run_make_with_options($makefile,"general",&get_logfile); + +push(@touchedfiles, "bar.c"); + +$answer = "cat bar.d > bar.c +cat ${VP}foo.c bar.c > foo.b 2>/dev/null || exit 1 +"; +&compare_output($answer,&get_logfile(1)); + +# Test rules that don't make the target correctly + +&touchfiles("$VP/notarget.c", "notarget.b", "notarget.d"); + +&run_make_with_options($makefile,"notarget",&get_logfile,512); + +$answer = "not creating notarget.c from notarget.d +cat notarget.c > notarget.b 2>/dev/null || exit 1 +$make_name: *** [notarget.b] Error 1 +"; + +&compare_output($answer,&get_logfile(1)); + +# Test intermediate file handling (part 1) + +&touchfiles("$VP/inter.d"); + +&run_make_with_options($makefile,"intermediate",&get_logfile); + +push(@touchedfiles, "inter.a", "inter.b"); + +$answer = "cat ${VP}inter.d > inter.c +cat inter.c > inter.b 2>/dev/null || exit 1 +cat inter.b > inter.a +rm inter.b inter.c +"; +&compare_output($answer,&get_logfile(1)); + +# Test intermediate file handling (part 2) + +&utouch(-20, "inter.a"); +&utouch(-10, "$VP/inter.b"); +&touch("$VP/inter.d"); + +push(@touchedfiles, "$VP/inter.b", "$VP/inter.d"); + +&run_make_with_options($makefile,"intermediate",&get_logfile); + +$answer = "cat ${VP}inter.d > inter.c +cat inter.c > inter.b 2>/dev/null || exit 1 +cat inter.b > inter.a +rm inter.c +"; +&compare_output($answer,&get_logfile(1)); + +unlink @touchedfiles unless $keep; + +1; diff --git a/src/mkutil/make/tests/scripts/functions/CVS/Entries b/src/mkutil/make/tests/scripts/functions/CVS/Entries index ac8620e6..99b1d430 100644 --- a/src/mkutil/make/tests/scripts/functions/CVS/Entries +++ b/src/mkutil/make/tests/scripts/functions/CVS/Entries @@ -1,23 +1,23 @@ -/addprefix/1.1/Tue Sep 14 02:03:41 1999// -/addsuffix/1.2/Mon Jun 19 21:22:44 2000// -/basename/1.1/Tue Sep 14 02:03:41 1999// -/call/1.6/Thu Jan 30 07:49:17 2003// -/dir/1.1/Tue Sep 14 02:03:42 1999// -/error/1.1/Tue Sep 14 02:03:42 1999// -/eval/1.3/Thu Jan 30 07:49:17 2003// -/filter-out/1.2/Thu Jul 11 06:38:57 2002// -/findstring/1.1/Tue Sep 14 02:03:42 1999// -/foreach/1.2/Fri Sep 17 03:16:06 1999// -/if/1.2/Wed Nov 17 07:34:40 1999// -/join/1.1/Tue Sep 14 02:03:43 1999// -/notdir/1.1/Tue Sep 14 02:03:43 1999// -/origin/1.2/Fri Sep 17 03:16:07 1999// -/sort/1.1/Tue Sep 14 02:03:44 1999// -/strip/1.2/Sat Apr 22 02:11:18 2000// -/substitution/1.1/Tue Sep 14 02:03:44 1999// -/suffix/1.1/Tue Sep 14 02:03:44 1999// -/value/1.1/Mon Jul 8 02:26:48 2002// -/warning/1.1/Tue Sep 14 02:03:44 1999// -/wildcard/1.2/Thu Oct 3 05:46:12 2002// -/word/1.3/Thu Jan 30 06:21:36 2003// -D +/addprefix/1.1.1.1/Mon Nov 17 19:06:10 2003// +/addsuffix/1.1.1.1/Mon Nov 17 19:06:10 2003// +/basename/1.1.1.1/Mon Nov 17 19:06:10 2003/-kb/ +/call/1.1.1.1/Mon Nov 17 19:06:10 2003// +/dir/1.1.1.1/Mon Nov 17 19:06:10 2003// +/error/1.1.1.1/Mon Nov 17 19:06:10 2003// +/eval/1.1.1.1/Mon Nov 17 19:06:10 2003// +/filter-out/1.1.1.1/Mon Nov 17 19:06:10 2003// +/findstring/1.1.1.1/Mon Nov 17 19:06:10 2003// +/foreach/1.1.1.1/Mon Nov 17 19:06:10 2003// +/if/1.1.1.1/Mon Nov 17 19:06:10 2003// +/join/1.1.1.1/Mon Nov 17 19:06:10 2003// +/notdir/1.1.1.1/Mon Nov 17 19:06:10 2003// +/origin/1.1.1.1/Mon Nov 17 19:06:10 2003// +/sort/1.1.1.1/Mon Nov 17 19:06:10 2003/-kb/ +/strip/1.1.1.1/Mon Nov 17 19:06:10 2003// +/substitution/1.1.1.1/Mon Nov 17 19:06:10 2003// +/suffix/1.1.1.1/Mon Nov 17 19:06:10 2003// +/value/1.1.1.1/Mon Nov 17 19:06:10 2003// +/warning/1.1.1.1/Mon Nov 17 19:06:10 2003// +/wildcard/1.1.1.1/Mon Nov 17 19:06:10 2003// +/word/1.1.1.1/Mon Nov 17 19:06:10 2003// +D diff --git a/src/mkutil/make/tests/scripts/functions/CVS/Repository b/src/mkutil/make/tests/scripts/functions/CVS/Repository index 1d02918a..6db937bb 100644 --- a/src/mkutil/make/tests/scripts/functions/CVS/Repository +++ b/src/mkutil/make/tests/scripts/functions/CVS/Repository @@ -1 +1 @@ -make/tests/scripts/functions +uzi/src/mkutil/make/tests/scripts/functions diff --git a/src/mkutil/make/tests/scripts/functions/CVS/Root b/src/mkutil/make/tests/scripts/functions/CVS/Root index 132093b8..933b8194 100644 --- a/src/mkutil/make/tests/scripts/functions/CVS/Root +++ b/src/mkutil/make/tests/scripts/functions/CVS/Root @@ -1 +1 @@ -:pserver:anoncvs@subversions.gnu.org:/cvsroot/make +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/make/tests/scripts/functions/addprefix b/src/mkutil/make/tests/scripts/functions/addprefix index 1845552f..f84f2fe2 100644 --- a/src/mkutil/make/tests/scripts/functions/addprefix +++ b/src/mkutil/make/tests/scripts/functions/addprefix @@ -1,44 +1,44 @@ -$description = "The following test creates a makefile to test the addprefix " - ."function."; - -$details = ""; - -# IF YOU NEED >1 MAKEFILE FOR THIS TEST, USE &get_tmpfile; TO GET -# THE NAME OF THE MAKEFILE. THIS INSURES CONSISTENCY AND KEEPS TRACK OF -# HOW MANY MAKEFILES EXIST FOR EASY DELETION AT THE END. -# EXAMPLE: $makefile2 = &get_tmpfile; - - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "string := \$(addprefix src${pathsep},a.b.z.foo hacks) \n" - ."all: \n" - ."\t\@echo \$(string) \n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&run_make_with_options($makefile,"",&get_logfile,0); - -# Create the answer to what should be produced by this Makefile -$answer = "src${pathsep}a.b.z.foo src${pathsep}hacks\n"; - -# COMPARE RESULTS - -# In this call to compare output, you should use the call &get_logfile(1) -# to send the name of the last logfile created. You may also use -# the special call &get_logfile(1) which returns the same as &get_logfile(1). - -&compare_output($answer,&get_logfile(1)); - -# This tells the test driver that the perl test script executed properly. -1; - - - - - - +$description = "The following test creates a makefile to test the addprefix " + ."function."; + +$details = ""; + +# IF YOU NEED >1 MAKEFILE FOR THIS TEST, USE &get_tmpfile; TO GET +# THE NAME OF THE MAKEFILE. THIS INSURES CONSISTENCY AND KEEPS TRACK OF +# HOW MANY MAKEFILES EXIST FOR EASY DELETION AT THE END. +# EXAMPLE: $makefile2 = &get_tmpfile; + + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "string := \$(addprefix src${pathsep},a.b.z.foo hacks) \n" + ."all: \n" + ."\t\@echo \$(string) \n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&run_make_with_options($makefile,"",&get_logfile,0); + +# Create the answer to what should be produced by this Makefile +$answer = "src${pathsep}a.b.z.foo src${pathsep}hacks\n"; + +# COMPARE RESULTS + +# In this call to compare output, you should use the call &get_logfile(1) +# to send the name of the last logfile created. You may also use +# the special call &get_logfile(1) which returns the same as &get_logfile(1). + +&compare_output($answer,&get_logfile(1)); + +# This tells the test driver that the perl test script executed properly. +1; + + + + + + diff --git a/src/mkutil/make/tests/scripts/functions/addsuffix b/src/mkutil/make/tests/scripts/functions/addsuffix index da4fbb71..fd890ac6 100644 --- a/src/mkutil/make/tests/scripts/functions/addsuffix +++ b/src/mkutil/make/tests/scripts/functions/addsuffix @@ -1,36 +1,36 @@ -# -*-perl-*- -$description = "Test the addsuffix function."; - -$details = ""; - - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE < $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE < $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE <<'EOMAKE'; -# Simple, just reverse two things -# -reverse = $2 $1 - -# A complex `map' function, using recursive `call'. -# -map = $(foreach a,$2,$(call $1,$a)) - -# Test using a builtin; this is silly as it's simpler to do without call -# -my-notdir = $(call notdir,$(1)) - -# Test using non-expanded builtins -# -my-foreach = $(foreach $(1),$(2),$(3)) -my-if = $(if $(1),$(2),$(3)) - -# Test recursive invocations of call with different arguments -# -one = $(1) $(2) $(3) -two = $(call one,$(1),foo,$(2)) - -# Test recursion on the user-defined function. As a special case make -# won't error due to this. -# Implement transitive closure using $(call ...) -# -DEP_foo = bar baz quux -DEP_baz = quux blarp -rest = $(wordlist 2,$(words ${1}),${1}) -tclose = $(if $1,$(firstword $1) \ - $(call tclose,$(sort ${DEP_$(firstword $1)} $(call rest,$1)))) - -all: ; @echo '$(call reverse,bar,foo)'; \ - echo '$(call map,origin,MAKE reverse map)'; \ - echo '$(call my-notdir,a/b c/d e/f)'; \ - echo '$(call my-foreach)'; \ - echo '$(call my-foreach,a,,,)'; \ - echo '$(call my-if,a,b,c)'; \ - echo '$(call two,bar,baz)'; \ - echo '$(call tclose,foo)' - - - -EOMAKE - -# These won't work until/unless PR/1527 is resolved. -# echo '$(call my-foreach,a,x y z,$(a)$(a))'; \ -# echo '$(call my-if,,$(warning don't print this),ok)' -# -# $answer = "xx yy zz\nok\n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&run_make_with_options($makefile, "", &get_logfile); -$answer = "foo bar\ndefault file file\nb d f\n\n\nb\nbar foo baz\nfoo bar baz blarp quux \n"; -&compare_output($answer, &get_logfile(1)); - - -# TEST eclipsing of arguments when invoking sub-calls - -$makefile2 = &get_tmpfile; - -open(MAKEFILE,"> $makefile2"); - -print MAKEFILE <<'EOF'; - -all = $1 $2 $3 $4 $5 $6 $7 $8 $9 - -level1 = $(call all,$1,$2,$3,$4,$5) -level2 = $(call level1,$1,$2,$3) -level3 = $(call level2,$1,$2,$3,$4,$5) - -all: - @echo $(call all,1,2,3,4,5,6,7,8,9,10,11) - @echo $(call level1,1,2,3,4,5,6,7,8) - @echo $(call level2,1,2,3,4,5,6,7,8) - @echo $(call level3,1,2,3,4,5,6,7,8) -EOF - -close(MAKEFILE); - -&run_make_with_options($makefile2, "", &get_logfile); -$answer = "1 2 3 4 5 6 7 8 9\n1 2 3 4 5\n1 2 3\n1 2 3\n"; -&compare_output($answer,&get_logfile(1)); - -1; +# -*-perl-*- +$description = "Test the call function.\n"; + +$details = "Try various uses of call and ensure they all give the correct +results.\n"; + +open(MAKEFILE, "> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE <<'EOMAKE'; +# Simple, just reverse two things +# +reverse = $2 $1 + +# A complex `map' function, using recursive `call'. +# +map = $(foreach a,$2,$(call $1,$a)) + +# Test using a builtin; this is silly as it's simpler to do without call +# +my-notdir = $(call notdir,$(1)) + +# Test using non-expanded builtins +# +my-foreach = $(foreach $(1),$(2),$(3)) +my-if = $(if $(1),$(2),$(3)) + +# Test recursive invocations of call with different arguments +# +one = $(1) $(2) $(3) +two = $(call one,$(1),foo,$(2)) + +# Test recursion on the user-defined function. As a special case make +# won't error due to this. +# Implement transitive closure using $(call ...) +# +DEP_foo = bar baz quux +DEP_baz = quux blarp +rest = $(wordlist 2,$(words ${1}),${1}) +tclose = $(if $1,$(firstword $1) \ + $(call tclose,$(sort ${DEP_$(firstword $1)} $(call rest,$1)))) + +all: ; @echo '$(call reverse,bar,foo)'; \ + echo '$(call map,origin,MAKE reverse map)'; \ + echo '$(call my-notdir,a/b c/d e/f)'; \ + echo '$(call my-foreach)'; \ + echo '$(call my-foreach,a,,,)'; \ + echo '$(call my-if,a,b,c)'; \ + echo '$(call two,bar,baz)'; \ + echo '$(call tclose,foo)' + + + +EOMAKE + +# These won't work until/unless PR/1527 is resolved. +# echo '$(call my-foreach,a,x y z,$(a)$(a))'; \ +# echo '$(call my-if,,$(warning don't print this),ok)' +# +# $answer = "xx yy zz\nok\n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&run_make_with_options($makefile, "", &get_logfile); +$answer = "foo bar\ndefault file file\nb d f\n\n\nb\nbar foo baz\nfoo bar baz blarp quux \n"; +&compare_output($answer, &get_logfile(1)); + + +# TEST eclipsing of arguments when invoking sub-calls + +$makefile2 = &get_tmpfile; + +open(MAKEFILE,"> $makefile2"); + +print MAKEFILE <<'EOF'; + +all = $1 $2 $3 $4 $5 $6 $7 $8 $9 + +level1 = $(call all,$1,$2,$3,$4,$5) +level2 = $(call level1,$1,$2,$3) +level3 = $(call level2,$1,$2,$3,$4,$5) + +all: + @echo $(call all,1,2,3,4,5,6,7,8,9,10,11) + @echo $(call level1,1,2,3,4,5,6,7,8) + @echo $(call level2,1,2,3,4,5,6,7,8) + @echo $(call level3,1,2,3,4,5,6,7,8) +EOF + +close(MAKEFILE); + +&run_make_with_options($makefile2, "", &get_logfile); +$answer = "1 2 3 4 5 6 7 8 9\n1 2 3 4 5\n1 2 3\n1 2 3\n"; +&compare_output($answer,&get_logfile(1)); + +1; diff --git a/src/mkutil/make/tests/scripts/functions/dir b/src/mkutil/make/tests/scripts/functions/dir index f48fb8c0..650e88ab 100644 --- a/src/mkutil/make/tests/scripts/functions/dir +++ b/src/mkutil/make/tests/scripts/functions/dir @@ -1,44 +1,44 @@ -$description = "The following test creates a makefile to test the dir " - ."function."; - -$details = ""; - -# IF YOU NEED >1 MAKEFILE FOR THIS TEST, USE &get_tmpfile; TO GET -# THE NAME OF THE MAKEFILE. THIS INSURES CONSISTENCY AND KEEPS TRACK OF -# HOW MANY MAKEFILES EXIST FOR EASY DELETION AT THE END. -# EXAMPLE: $makefile2 = &get_tmpfile; - - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "string := \$(dir src${pathsep}foo.c hacks) \n" - ."all: \n" - ."\t\@echo \$(string) \n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&run_make_with_options($makefile,"",&get_logfile,0); - -# Create the answer to what should be produced by this Makefile -$answer = "src${pathsep} .${pathsep}\n"; - -# COMPARE RESULTS - -# In this call to compare output, you should use the call &get_logfile(1) -# to send the name of the last logfile created. You may also use -# the special call &get_logfile(1) which returns the same as &get_logfile(1). - -&compare_output($answer,&get_logfile(1)); - -# This tells the test driver that the perl test script executed properly. -1; - - - - - - +$description = "The following test creates a makefile to test the dir " + ."function."; + +$details = ""; + +# IF YOU NEED >1 MAKEFILE FOR THIS TEST, USE &get_tmpfile; TO GET +# THE NAME OF THE MAKEFILE. THIS INSURES CONSISTENCY AND KEEPS TRACK OF +# HOW MANY MAKEFILES EXIST FOR EASY DELETION AT THE END. +# EXAMPLE: $makefile2 = &get_tmpfile; + + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "string := \$(dir src${pathsep}foo.c hacks) \n" + ."all: \n" + ."\t\@echo \$(string) \n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&run_make_with_options($makefile,"",&get_logfile,0); + +# Create the answer to what should be produced by this Makefile +$answer = "src${pathsep} .${pathsep}\n"; + +# COMPARE RESULTS + +# In this call to compare output, you should use the call &get_logfile(1) +# to send the name of the last logfile created. You may also use +# the special call &get_logfile(1) which returns the same as &get_logfile(1). + +&compare_output($answer,&get_logfile(1)); + +# This tells the test driver that the perl test script executed properly. +1; + + + + + + diff --git a/src/mkutil/make/tests/scripts/functions/error b/src/mkutil/make/tests/scripts/functions/error index ca9b4e44..71a044b5 100644 --- a/src/mkutil/make/tests/scripts/functions/error +++ b/src/mkutil/make/tests/scripts/functions/error @@ -1,63 +1,63 @@ -$description = "\ -The following test creates a makefile to test the error function."; - -$details = ""; - -open(MAKEFILE,"> $makefile"); - -print MAKEFILE <<'EOF'; -ifdef ERROR1 -$(error error is $(ERROR1)) -endif - -ifdef ERROR2 -$(error error is $(ERROR2)) -endif - -ifdef ERROR3 -all: some; @echo $(error error is $(ERROR3)) -endif - -ifdef ERROR4 -all: some; @echo error is $(ERROR4) - @echo $(error error is $(ERROR4)) -endif - -some: ; @echo Some stuff - -EOF - -close(MAKEFILE); - -# Test #1 - -&run_make_with_options($makefile, "ERROR1=yes", &get_logfile, 512); -$answer = "$makefile:2: *** error is yes. Stop.\n"; -&compare_output($answer,&get_logfile(1)); - -# Test #2 - -&run_make_with_options($makefile, "ERROR2=no", &get_logfile, 512); -$answer = "$makefile:6: *** error is no. Stop.\n"; -&compare_output($answer,&get_logfile(1)); - -# Test #3 - -&run_make_with_options($makefile, "ERROR3=maybe", &get_logfile, 512); -$answer = "Some stuff\n$makefile:10: *** error is maybe. Stop.\n"; -&compare_output($answer,&get_logfile(1)); - -# Test #4 - -&run_make_with_options($makefile, "ERROR4=definitely", &get_logfile, 512); -$answer = "Some stuff\n$makefile:14: *** error is definitely. Stop.\n"; -&compare_output($answer,&get_logfile(1)); - -# This tells the test driver that the perl test script executed properly. -1; - - - - - - +$description = "\ +The following test creates a makefile to test the error function."; + +$details = ""; + +open(MAKEFILE,"> $makefile"); + +print MAKEFILE <<'EOF'; +ifdef ERROR1 +$(error error is $(ERROR1)) +endif + +ifdef ERROR2 +$(error error is $(ERROR2)) +endif + +ifdef ERROR3 +all: some; @echo $(error error is $(ERROR3)) +endif + +ifdef ERROR4 +all: some; @echo error is $(ERROR4) + @echo $(error error is $(ERROR4)) +endif + +some: ; @echo Some stuff + +EOF + +close(MAKEFILE); + +# Test #1 + +&run_make_with_options($makefile, "ERROR1=yes", &get_logfile, 512); +$answer = "$makefile:2: *** error is yes. Stop.\n"; +&compare_output($answer,&get_logfile(1)); + +# Test #2 + +&run_make_with_options($makefile, "ERROR2=no", &get_logfile, 512); +$answer = "$makefile:6: *** error is no. Stop.\n"; +&compare_output($answer,&get_logfile(1)); + +# Test #3 + +&run_make_with_options($makefile, "ERROR3=maybe", &get_logfile, 512); +$answer = "Some stuff\n$makefile:10: *** error is maybe. Stop.\n"; +&compare_output($answer,&get_logfile(1)); + +# Test #4 + +&run_make_with_options($makefile, "ERROR4=definitely", &get_logfile, 512); +$answer = "Some stuff\n$makefile:14: *** error is definitely. Stop.\n"; +&compare_output($answer,&get_logfile(1)); + +# This tells the test driver that the perl test script executed properly. +1; + + + + + + diff --git a/src/mkutil/make/tests/scripts/functions/eval b/src/mkutil/make/tests/scripts/functions/eval index cfb27b22..69442952 100644 --- a/src/mkutil/make/tests/scripts/functions/eval +++ b/src/mkutil/make/tests/scripts/functions/eval @@ -1,112 +1,112 @@ -# -*-perl-*- - -$description = "Test the eval function."; - -$details = "This is a test of the eval function in GNU make. -This function will evaluate inline makefile syntax and incorporate the -results into its internal database.\n"; - -open(MAKEFILE,"> $makefile"); - -print MAKEFILE <<'EOF'; -define Y - all:: ; @echo $AA - A = B -endef - -X = $(eval $(value Y)) - -$(eval $(shell echo A = A)) -$(eval $(Y)) -$(eval A = C) -$(eval $(X)) -EOF - -close(MAKEFILE); - -&run_make_with_options($makefile, "", &get_logfile); - -# Create the answer to what should be produced by this Makefile -$answer = "AA\nBA\n"; - -&compare_output($answer,&get_logfile(1)); - -# Test to make sure defining variables when we have extra scope pushed works -# as expected. - -$makefile2 = &get_tmpfile; - -open(MAKEFILE,"> $makefile2"); - -print MAKEFILE <<'EOF'; -VARS = A B - -VARSET = $(1) = $(2) - -$(foreach v,$(VARS),$(eval $(call VARSET,$v,$v))) - -all: ; @echo A = $(A) B = $(B) -EOF - -close(MAKEFILE); - -&run_make_with_options($makefile2, "", &get_logfile); - -# Create the answer to what should be produced by this Makefile -$answer = "A = A B = B\n"; - -&compare_output($answer,&get_logfile(1)); - -# Test to make sure eval'ing inside conditionals works properly - -$makefile3 = &get_tmpfile; - -open(MAKEFILE,"> $makefile3"); - -print MAKEFILE <<'EOF'; -FOO = foo - -all:: ; @echo it - -define Y - all:: ; @echo worked -endef - -ifdef BAR -$(eval $(Y)) -endif - -EOF - -close(MAKEFILE); - -&run_make_with_options($makefile3, "", &get_logfile); -$answer = "it\n"; -&compare_output($answer,&get_logfile(1)); - -&run_make_with_options($makefile3, "BAR=1", &get_logfile); -$answer = "it\nworked\n"; -&compare_output($answer,&get_logfile(1)); - - -# TEST very recursive invocation of eval - -$makefile3 = &get_tmpfile; - -open(MAKEFILE,"> $makefile3"); - -print MAKEFILE <<'EOF'; -..9 := 0 1 2 3 4 5 6 7 8 9 -rev=$(eval res:=)$(foreach word,$1,$(eval res:=${word} ${res}))${res} -a:=$(call rev,${..9}) -all: ; @echo '[$(a)]' - -EOF - -close(MAKEFILE); - -&run_make_with_options($makefile3, "", &get_logfile); -$answer = "[ 9 8 7 6 5 4 3 2 1 0 ]\n"; -&compare_output($answer,&get_logfile(1)); - -1; +# -*-perl-*- + +$description = "Test the eval function."; + +$details = "This is a test of the eval function in GNU make. +This function will evaluate inline makefile syntax and incorporate the +results into its internal database.\n"; + +open(MAKEFILE,"> $makefile"); + +print MAKEFILE <<'EOF'; +define Y + all:: ; @echo $AA + A = B +endef + +X = $(eval $(value Y)) + +$(eval $(shell echo A = A)) +$(eval $(Y)) +$(eval A = C) +$(eval $(X)) +EOF + +close(MAKEFILE); + +&run_make_with_options($makefile, "", &get_logfile); + +# Create the answer to what should be produced by this Makefile +$answer = "AA\nBA\n"; + +&compare_output($answer,&get_logfile(1)); + +# Test to make sure defining variables when we have extra scope pushed works +# as expected. + +$makefile2 = &get_tmpfile; + +open(MAKEFILE,"> $makefile2"); + +print MAKEFILE <<'EOF'; +VARS = A B + +VARSET = $(1) = $(2) + +$(foreach v,$(VARS),$(eval $(call VARSET,$v,$v))) + +all: ; @echo A = $(A) B = $(B) +EOF + +close(MAKEFILE); + +&run_make_with_options($makefile2, "", &get_logfile); + +# Create the answer to what should be produced by this Makefile +$answer = "A = A B = B\n"; + +&compare_output($answer,&get_logfile(1)); + +# Test to make sure eval'ing inside conditionals works properly + +$makefile3 = &get_tmpfile; + +open(MAKEFILE,"> $makefile3"); + +print MAKEFILE <<'EOF'; +FOO = foo + +all:: ; @echo it + +define Y + all:: ; @echo worked +endef + +ifdef BAR +$(eval $(Y)) +endif + +EOF + +close(MAKEFILE); + +&run_make_with_options($makefile3, "", &get_logfile); +$answer = "it\n"; +&compare_output($answer,&get_logfile(1)); + +&run_make_with_options($makefile3, "BAR=1", &get_logfile); +$answer = "it\nworked\n"; +&compare_output($answer,&get_logfile(1)); + + +# TEST very recursive invocation of eval + +$makefile3 = &get_tmpfile; + +open(MAKEFILE,"> $makefile3"); + +print MAKEFILE <<'EOF'; +..9 := 0 1 2 3 4 5 6 7 8 9 +rev=$(eval res:=)$(foreach word,$1,$(eval res:=${word} ${res}))${res} +a:=$(call rev,${..9}) +all: ; @echo '[$(a)]' + +EOF + +close(MAKEFILE); + +&run_make_with_options($makefile3, "", &get_logfile); +$answer = "[ 9 8 7 6 5 4 3 2 1 0 ]\n"; +&compare_output($answer,&get_logfile(1)); + +1; diff --git a/src/mkutil/make/tests/scripts/functions/filter-out b/src/mkutil/make/tests/scripts/functions/filter-out index 6c8b27a8..b8fc923c 100644 --- a/src/mkutil/make/tests/scripts/functions/filter-out +++ b/src/mkutil/make/tests/scripts/functions/filter-out @@ -1,28 +1,28 @@ -# -*-perl-*- - -$description = "Test the filter-out function."; - -$details = "The makefile created in this test has two variables. The -filter-out function is first used to discard names ending in -.o with a single simple pattern. The second filter-out function -augments the simple pattern with three literal names, which are -also added to the text argument. This tests an internal hash table -which is only used if there are multiple literals present in both -the pattern and text arguments. The result of both filter-out -functions is the same single .elc name.\n"; - -open(MAKEFILE,"> $makefile"); - -print MAKEFILE <<'EOF'; -files1 := $(filter-out %.o, foo.elc bar.o lose.o) -files2 := $(filter-out foo.i bar.i lose.i %.o, foo.i bar.i lose.i foo.elc bar.o lose.o) -all: ; @echo $(files1) $(files2) -EOF - -close(MAKEFILE); - -&run_make_with_options($makefile, "", &get_logfile, 0); -$answer = "foo.elc foo.elc\n"; -&compare_output($answer,&get_logfile(1)); - -1; +# -*-perl-*- + +$description = "Test the filter-out function."; + +$details = "The makefile created in this test has two variables. The +filter-out function is first used to discard names ending in +.o with a single simple pattern. The second filter-out function +augments the simple pattern with three literal names, which are +also added to the text argument. This tests an internal hash table +which is only used if there are multiple literals present in both +the pattern and text arguments. The result of both filter-out +functions is the same single .elc name.\n"; + +open(MAKEFILE,"> $makefile"); + +print MAKEFILE <<'EOF'; +files1 := $(filter-out %.o, foo.elc bar.o lose.o) +files2 := $(filter-out foo.i bar.i lose.i %.o, foo.i bar.i lose.i foo.elc bar.o lose.o) +all: ; @echo $(files1) $(files2) +EOF + +close(MAKEFILE); + +&run_make_with_options($makefile, "", &get_logfile, 0); +$answer = "foo.elc foo.elc\n"; +&compare_output($answer,&get_logfile(1)); + +1; diff --git a/src/mkutil/make/tests/scripts/functions/findstring b/src/mkutil/make/tests/scripts/functions/findstring index 48abede6..ffcfd937 100644 --- a/src/mkutil/make/tests/scripts/functions/findstring +++ b/src/mkutil/make/tests/scripts/functions/findstring @@ -1,47 +1,47 @@ -$description = "The following test creates a makefile to test the findstring " - ."function."; - -$details = ""; - -# IF YOU NEED >1 MAKEFILE FOR THIS TEST, USE &get_tmpfile; TO GET -# THE NAME OF THE MAKEFILE. THIS INSURES CONSISTENCY AND KEEPS TRACK OF -# HOW MANY MAKEFILES EXIST FOR EASY DELETION AT THE END. -# EXAMPLE: $makefile2 = &get_tmpfile; - - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "string := \$(findstring port, reporter)\n" - ."all: \n" - ."\t\@echo \$(string) \n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&run_make_with_options($makefile, - "", - &get_logfile, - 0); - -# Create the answer to what should be produced by this Makefile -$answer = "port\n"; - -# COMPARE RESULTS - -# In this call to compare output, you should use the call &get_logfile(1) -# to send the name of the last logfile created. You may also use -# the special call &get_logfile(1) which returns the same as &get_logfile(1). - -&compare_output($answer,&get_logfile(1)); - -# This tells the test driver that the perl test script executed properly. -1; - - - - - - +$description = "The following test creates a makefile to test the findstring " + ."function."; + +$details = ""; + +# IF YOU NEED >1 MAKEFILE FOR THIS TEST, USE &get_tmpfile; TO GET +# THE NAME OF THE MAKEFILE. THIS INSURES CONSISTENCY AND KEEPS TRACK OF +# HOW MANY MAKEFILES EXIST FOR EASY DELETION AT THE END. +# EXAMPLE: $makefile2 = &get_tmpfile; + + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "string := \$(findstring port, reporter)\n" + ."all: \n" + ."\t\@echo \$(string) \n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&run_make_with_options($makefile, + "", + &get_logfile, + 0); + +# Create the answer to what should be produced by this Makefile +$answer = "port\n"; + +# COMPARE RESULTS + +# In this call to compare output, you should use the call &get_logfile(1) +# to send the name of the last logfile created. You may also use +# the special call &get_logfile(1) which returns the same as &get_logfile(1). + +&compare_output($answer,&get_logfile(1)); + +# This tells the test driver that the perl test script executed properly. +1; + + + + + + diff --git a/src/mkutil/make/tests/scripts/functions/foreach b/src/mkutil/make/tests/scripts/functions/foreach index b80751b2..41835bdd 100644 --- a/src/mkutil/make/tests/scripts/functions/foreach +++ b/src/mkutil/make/tests/scripts/functions/foreach @@ -1,53 +1,53 @@ -# -*-perl-*- - -# Updated 6.16.93 variable "MAKE" is default was environment override -# For make 3.63 and above - -$description = "The following test creates a makefile to verify -test the foreach function."; - -$details = "This is a test of the foreach function in gnu make. -This function starts with a space separated list of -names and a variable. Each name in the list is subsituted -into the variable and the given text evaluated. The general -form of the command is $(foreach var,$list,$text). Several -types of foreach loops are tested\n"; - - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -# On WIN32 systems, the user's path is found in %Path% ($Path) -# -$pathvar = (($port_type eq 'Windows') ? "Path" : "PATH"); - -print MAKEFILE < $makefile"); + +# The Contents of the MAKEFILE ... + +# On WIN32 systems, the user's path is found in %Path% ($Path) +# +$pathvar = (($port_type eq 'Windows') ? "Path" : "PATH"); + +print MAKEFILE < $makefile"); - -print MAKEFILE < $makefile"); + +print MAKEFILE <1 MAKEFILE FOR THIS TEST, USE &get_tmpfile; TO GET -# THE NAME OF THE MAKEFILE. THIS INSURES CONSISTENCY AND KEEPS TRACK OF -# HOW MANY MAKEFILES EXIST FOR EASY DELETION AT THE END. -# EXAMPLE: $makefile2 = &get_tmpfile; - - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "string := \$(join a b c,foo hacks .pl1) \n" - ."all: \n" - ."\t\@echo \$(string) \n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&run_make_with_options($makefile,"",&get_logfile,0); - -# Create the answer to what should be produced by this Makefile -$answer = "afoo bhacks c.pl1\n"; - -# COMPARE RESULTS - -# In this call to compare output, you should use the call &get_logfile(1) -# to send the name of the last logfile created. You may also use -# the special call &get_logfile(1) which returns the same as &get_logfile(1). - -&compare_output($answer,&get_logfile(1)); - -# This tells the test driver that the perl test script executed properly. -1; - - - - - - +$description = "The following test creates a makefile to test the join " + ."function."; + +$details = ""; + +# IF YOU NEED >1 MAKEFILE FOR THIS TEST, USE &get_tmpfile; TO GET +# THE NAME OF THE MAKEFILE. THIS INSURES CONSISTENCY AND KEEPS TRACK OF +# HOW MANY MAKEFILES EXIST FOR EASY DELETION AT THE END. +# EXAMPLE: $makefile2 = &get_tmpfile; + + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "string := \$(join a b c,foo hacks .pl1) \n" + ."all: \n" + ."\t\@echo \$(string) \n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&run_make_with_options($makefile,"",&get_logfile,0); + +# Create the answer to what should be produced by this Makefile +$answer = "afoo bhacks c.pl1\n"; + +# COMPARE RESULTS + +# In this call to compare output, you should use the call &get_logfile(1) +# to send the name of the last logfile created. You may also use +# the special call &get_logfile(1) which returns the same as &get_logfile(1). + +&compare_output($answer,&get_logfile(1)); + +# This tells the test driver that the perl test script executed properly. +1; + + + + + + diff --git a/src/mkutil/make/tests/scripts/functions/notdir b/src/mkutil/make/tests/scripts/functions/notdir index 4ed8f9c7..147354c7 100644 --- a/src/mkutil/make/tests/scripts/functions/notdir +++ b/src/mkutil/make/tests/scripts/functions/notdir @@ -1,44 +1,44 @@ -$description = "The following test creates a makefile to test the notdir " - ."function."; - -$details = ""; - -# IF YOU NEED >1 MAKEFILE FOR THIS TEST, USE &get_tmpfile; TO GET -# THE NAME OF THE MAKEFILE. THIS INSURES CONSISTENCY AND KEEPS TRACK OF -# HOW MANY MAKEFILES EXIST FOR EASY DELETION AT THE END. -# EXAMPLE: $makefile2 = &get_tmpfile; - - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "string := \$(notdir ${pathsep}src${pathsep}foo.c hacks) \n" - ."all: \n" - ."\t\@echo \$(string) \n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&run_make_with_options($makefile,"",&get_logfile,0); - -# Create the answer to what should be produced by this Makefile -$answer = "foo.c hacks\n"; - -# COMPARE RESULTS - -# In this call to compare output, you should use the call &get_logfile(1) -# to send the name of the last logfile created. You may also use -# the special call &get_logfile(1) which returns the same as &get_logfile(1). - -&compare_output($answer,&get_logfile(1)); - -# This tells the test driver that the perl test script executed properly. -1; - - - - - - +$description = "The following test creates a makefile to test the notdir " + ."function."; + +$details = ""; + +# IF YOU NEED >1 MAKEFILE FOR THIS TEST, USE &get_tmpfile; TO GET +# THE NAME OF THE MAKEFILE. THIS INSURES CONSISTENCY AND KEEPS TRACK OF +# HOW MANY MAKEFILES EXIST FOR EASY DELETION AT THE END. +# EXAMPLE: $makefile2 = &get_tmpfile; + + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "string := \$(notdir ${pathsep}src${pathsep}foo.c hacks) \n" + ."all: \n" + ."\t\@echo \$(string) \n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&run_make_with_options($makefile,"",&get_logfile,0); + +# Create the answer to what should be produced by this Makefile +$answer = "foo.c hacks\n"; + +# COMPARE RESULTS + +# In this call to compare output, you should use the call &get_logfile(1) +# to send the name of the last logfile created. You may also use +# the special call &get_logfile(1) which returns the same as &get_logfile(1). + +&compare_output($answer,&get_logfile(1)); + +# This tells the test driver that the perl test script executed properly. +1; + + + + + + diff --git a/src/mkutil/make/tests/scripts/functions/origin b/src/mkutil/make/tests/scripts/functions/origin index eab2d787..7f450b5c 100644 --- a/src/mkutil/make/tests/scripts/functions/origin +++ b/src/mkutil/make/tests/scripts/functions/origin @@ -1,66 +1,66 @@ -# -*-perl-*- - -$description = "Test the origin function."; - -$details = "This is a test of the origin function in gnu make. -This function will report on where a variable was -defined per the following list: - -'undefined' never defined -'default' default definition -'environment' environment var without -e -'environment override' environment var with -e -'file' defined in makefile -'command line' defined on the command line -'override' defined by override in makefile -'automatic' Automatic variable\n"; - -# On WIN32 systems, HOME is meaningless. SystemRoot should be defined -# though. With DJGPP, HOME is not guaranteed to be defined. Use DJDIR -# instead. -# -$homevar = (($port_type eq 'Windows') ? "SystemRoot" - : (($port_type eq 'DOS') ? "DJDIR" - : "HOME")); - -open(MAKEFILE,"> $makefile"); - -print MAKEFILE < $makefile"); + +print MAKEFILE < $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE <<'EOMAKE'; -TEST1 := "Is this TERMINAL fun? What makes you believe is this terminal fun? JAPAN is a WONDERFUL planet -- I wonder if we will ever reach their level of COMPARATIVE SHOPPING..." -E := -TEST2 := $E try this and this $E - -define TEST3 - -and these test out - - -some -blank lines - - - -endef - -.PHONY: all -all: - @echo '$(strip $(TEST1) )' - @echo '$(strip $(TEST2) )' - @echo '$(strip $(TEST3) )' - -space: ; @echo '$(strip ) $(strip )' - -EOMAKE - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&run_make_with_options($makefile,"",&get_logfile); -$answer = "\"Is this TERMINAL fun? What makes you believe is this terminal fun? JAPAN is a WONDERFUL planet -- I wonder if we will ever reach their level of COMPARATIVE SHOPPING...\" -try this and this -and these test out some blank lines -"; -&compare_output($answer,&get_logfile(1)); - - -&run_make_with_options($makefile,"space",&get_logfile); -$answer = " \n"; -&compare_output($answer,&get_logfile(1)); - -1; +# -*-perl-*- +$description = "The following test creates a makefile to verify +the ability of make to strip white space from lists of object.\n"; + + +$details = "The make file is built with a list of objects that contain white space +These are then run through the strip command to remove it. This is then +verified by echoing the result.\n"; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE <<'EOMAKE'; +TEST1 := "Is this TERMINAL fun? What makes you believe is this terminal fun? JAPAN is a WONDERFUL planet -- I wonder if we will ever reach their level of COMPARATIVE SHOPPING..." +E := +TEST2 := $E try this and this $E + +define TEST3 + +and these test out + + +some +blank lines + + + +endef + +.PHONY: all +all: + @echo '$(strip $(TEST1) )' + @echo '$(strip $(TEST2) )' + @echo '$(strip $(TEST3) )' + +space: ; @echo '$(strip ) $(strip )' + +EOMAKE + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&run_make_with_options($makefile,"",&get_logfile); +$answer = "\"Is this TERMINAL fun? What makes you believe is this terminal fun? JAPAN is a WONDERFUL planet -- I wonder if we will ever reach their level of COMPARATIVE SHOPPING...\" +try this and this +and these test out some blank lines +"; +&compare_output($answer,&get_logfile(1)); + + +&run_make_with_options($makefile,"space",&get_logfile); +$answer = " \n"; +&compare_output($answer,&get_logfile(1)); + +1; diff --git a/src/mkutil/make/tests/scripts/functions/substitution b/src/mkutil/make/tests/scripts/functions/substitution index 9280dbba..b207bc66 100644 --- a/src/mkutil/make/tests/scripts/functions/substitution +++ b/src/mkutil/make/tests/scripts/functions/substitution @@ -1,37 +1,37 @@ -$description = "The following test creates a makefile to ..."; - -$details = ""; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "foo := a.o b.o c.o\n" - ."bar := \$(foo:.o=.c)\n" - ."bar2:= \$(foo:%.o=%.c)\n" - ."bar3:= \$(patsubst %.c,%.o,x.c.c bar.c)\n" - ."all:\n" - ."\t\@echo \$(bar)\n" - ."\t\@echo \$(bar2)\n" - ."\t\@echo \$(bar3)\n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&run_make_with_options($makefile,"",&get_logfile); - -# Create the answer to what should be produced by this Makefile -$answer = "a.c b.c c.c\n" - ."a.c b.c c.c\n" - ."x.c.o bar.o\n"; - -&compare_output($answer,&get_logfile(1)); - -1; - - - - - - +$description = "The following test creates a makefile to ..."; + +$details = ""; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "foo := a.o b.o c.o\n" + ."bar := \$(foo:.o=.c)\n" + ."bar2:= \$(foo:%.o=%.c)\n" + ."bar3:= \$(patsubst %.c,%.o,x.c.c bar.c)\n" + ."all:\n" + ."\t\@echo \$(bar)\n" + ."\t\@echo \$(bar2)\n" + ."\t\@echo \$(bar3)\n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&run_make_with_options($makefile,"",&get_logfile); + +# Create the answer to what should be produced by this Makefile +$answer = "a.c b.c c.c\n" + ."a.c b.c c.c\n" + ."x.c.o bar.o\n"; + +&compare_output($answer,&get_logfile(1)); + +1; + + + + + + diff --git a/src/mkutil/make/tests/scripts/functions/suffix b/src/mkutil/make/tests/scripts/functions/suffix index 0c4f919e..22526da2 100644 --- a/src/mkutil/make/tests/scripts/functions/suffix +++ b/src/mkutil/make/tests/scripts/functions/suffix @@ -1,57 +1,57 @@ -$description = "The following test creates a makefile to test the suffix\n" - ."function. \n"; - -$details = "The suffix function will return the string following the last _._\n" - ."the list provided. It will provide all of the unique suffixes found\n" - ."in the list. The long strings are sorted to remove duplicates.\n"; - -# IF YOU NEED >1 MAKEFILE FOR THIS TEST, USE &get_tmpfile; TO GET -# THE NAME OF THE MAKEFILE. THIS INSURES CONSISTENCY AND KEEPS TRACK OF -# HOW MANY MAKEFILES EXIST FOR EASY DELETION AT THE END. -# EXAMPLE: $makefile2 = &get_tmpfile; - - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "string := word.pl general_test2.pl1 FORCE.pl word.pl3 generic_test.perl /tmp.c/bar foo.baz/bar.c MAKEFILES_variable.c\n" - ."string2 := \$(string) \$(string) \$(string) \$(string) \$(string) \$(string) \$(string)\n" - ."string3 := \$(string2) \$(string2) \$(string2) \$(string2) \$(string2) \$(string2) \$(string2)\n" - ."string4 := \$(string3) \$(string3) \$(string3) \$(string3) \$(string3) \$(string3) \$(string3)\n" - ."all: \n" - ."\t\@echo \$(suffix \$(string)) \n" - ."\t\@echo \$(sort \$(suffix \$(string4))) \n" - ."\t\@echo \$(suffix \$(string) a.out) \n" - ."\t\@echo \$(sort \$(suffix \$(string3))) \n"; - - - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&run_make_with_options($makefile,"",&get_logfile,0); - -# Create the answer to what should be produced by this Makefile - -# COMPARE RESULTS -$answer = ".pl .pl1 .pl .pl3 .perl .c .c\n" - .".c .perl .pl .pl1 .pl3\n" - .".pl .pl1 .pl .pl3 .perl .c .c .out\n" - .".c .perl .pl .pl1 .pl3\n"; - -# In this call to compare output, you should use the call &get_logfile(1) -# to send the name of the last logfile created. You may also use -# the special call &get_logfile(1) which returns the same as &get_logfile(1). - -&compare_output($answer,&get_logfile(1)); - -# This tells the test driver that the perl test script executed properly. -1; - - - - - - +$description = "The following test creates a makefile to test the suffix\n" + ."function. \n"; + +$details = "The suffix function will return the string following the last _._\n" + ."the list provided. It will provide all of the unique suffixes found\n" + ."in the list. The long strings are sorted to remove duplicates.\n"; + +# IF YOU NEED >1 MAKEFILE FOR THIS TEST, USE &get_tmpfile; TO GET +# THE NAME OF THE MAKEFILE. THIS INSURES CONSISTENCY AND KEEPS TRACK OF +# HOW MANY MAKEFILES EXIST FOR EASY DELETION AT THE END. +# EXAMPLE: $makefile2 = &get_tmpfile; + + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "string := word.pl general_test2.pl1 FORCE.pl word.pl3 generic_test.perl /tmp.c/bar foo.baz/bar.c MAKEFILES_variable.c\n" + ."string2 := \$(string) \$(string) \$(string) \$(string) \$(string) \$(string) \$(string)\n" + ."string3 := \$(string2) \$(string2) \$(string2) \$(string2) \$(string2) \$(string2) \$(string2)\n" + ."string4 := \$(string3) \$(string3) \$(string3) \$(string3) \$(string3) \$(string3) \$(string3)\n" + ."all: \n" + ."\t\@echo \$(suffix \$(string)) \n" + ."\t\@echo \$(sort \$(suffix \$(string4))) \n" + ."\t\@echo \$(suffix \$(string) a.out) \n" + ."\t\@echo \$(sort \$(suffix \$(string3))) \n"; + + + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&run_make_with_options($makefile,"",&get_logfile,0); + +# Create the answer to what should be produced by this Makefile + +# COMPARE RESULTS +$answer = ".pl .pl1 .pl .pl3 .perl .c .c\n" + .".c .perl .pl .pl1 .pl3\n" + .".pl .pl1 .pl .pl3 .perl .c .c .out\n" + .".c .perl .pl .pl1 .pl3\n"; + +# In this call to compare output, you should use the call &get_logfile(1) +# to send the name of the last logfile created. You may also use +# the special call &get_logfile(1) which returns the same as &get_logfile(1). + +&compare_output($answer,&get_logfile(1)); + +# This tells the test driver that the perl test script executed properly. +1; + + + + + + diff --git a/src/mkutil/make/tests/scripts/functions/value b/src/mkutil/make/tests/scripts/functions/value index 8e1a6f04..fc5f3a18 100644 --- a/src/mkutil/make/tests/scripts/functions/value +++ b/src/mkutil/make/tests/scripts/functions/value @@ -1,30 +1,30 @@ -# -*-perl-*- - -$description = "Test the value function."; - -$details = "This is a test of the value function in GNU make. -This function will evaluate to the value of the named variable with no -further expansion performed on it.\n"; - -open(MAKEFILE,"> $makefile"); - -print MAKEFILE <<'EOF'; -export FOO = foo - -recurse = FOO = $FOO -static := FOO = $(value FOO) - -all: ; @echo $(recurse) $(value recurse) $(static) $(value static) -EOF - -close(MAKEFILE); - -&run_make_with_options($makefile, "", &get_logfile); - -# Create the answer to what should be produced by this Makefile -$answer = "FOO = OO FOO = foo FOO = foo FOO = foo\n"; - - -&compare_output($answer,&get_logfile(1)); - -1; +# -*-perl-*- + +$description = "Test the value function."; + +$details = "This is a test of the value function in GNU make. +This function will evaluate to the value of the named variable with no +further expansion performed on it.\n"; + +open(MAKEFILE,"> $makefile"); + +print MAKEFILE <<'EOF'; +export FOO = foo + +recurse = FOO = $FOO +static := FOO = $(value FOO) + +all: ; @echo $(recurse) $(value recurse) $(static) $(value static) +EOF + +close(MAKEFILE); + +&run_make_with_options($makefile, "", &get_logfile); + +# Create the answer to what should be produced by this Makefile +$answer = "FOO = OO FOO = foo FOO = foo FOO = foo\n"; + + +&compare_output($answer,&get_logfile(1)); + +1; diff --git a/src/mkutil/make/tests/scripts/functions/warning b/src/mkutil/make/tests/scripts/functions/warning index ac0ad643..41546b10 100644 --- a/src/mkutil/make/tests/scripts/functions/warning +++ b/src/mkutil/make/tests/scripts/functions/warning @@ -1,63 +1,63 @@ -$description = "\ -The following test creates a makefile to test the warning function."; - -$details = ""; - -open(MAKEFILE,"> $makefile"); - -print MAKEFILE <<'EOF'; -ifdef WARNING1 -$(warning warning is $(WARNING1)) -endif - -ifdef WARNING2 -$(warning warning is $(WARNING2)) -endif - -ifdef WARNING3 -all: some; @echo hi $(warning warning is $(WARNING3)) -endif - -ifdef WARNING4 -all: some; @echo hi - @echo there $(warning warning is $(WARNING4)) -endif - -some: ; @echo Some stuff - -EOF - -close(MAKEFILE); - -# Test #1 - -&run_make_with_options($makefile, "WARNING1=yes", &get_logfile, 0); -$answer = "$makefile:2: warning is yes\nSome stuff\n"; -&compare_output($answer,&get_logfile(1)); - -# Test #2 - -&run_make_with_options($makefile, "WARNING2=no", &get_logfile, 0); -$answer = "$makefile:6: warning is no\nSome stuff\n"; -&compare_output($answer,&get_logfile(1)); - -# Test #3 - -&run_make_with_options($makefile, "WARNING3=maybe", &get_logfile, 0); -$answer = "Some stuff\n$makefile:10: warning is maybe\nhi\n"; -&compare_output($answer,&get_logfile(1)); - -# Test #4 - -&run_make_with_options($makefile, "WARNING4=definitely", &get_logfile, 0); -$answer = "Some stuff\n$makefile:14: warning is definitely\nhi\nthere\n"; -&compare_output($answer,&get_logfile(1)); - -# This tells the test driver that the perl test script executed properly. -1; - - - - - - +$description = "\ +The following test creates a makefile to test the warning function."; + +$details = ""; + +open(MAKEFILE,"> $makefile"); + +print MAKEFILE <<'EOF'; +ifdef WARNING1 +$(warning warning is $(WARNING1)) +endif + +ifdef WARNING2 +$(warning warning is $(WARNING2)) +endif + +ifdef WARNING3 +all: some; @echo hi $(warning warning is $(WARNING3)) +endif + +ifdef WARNING4 +all: some; @echo hi + @echo there $(warning warning is $(WARNING4)) +endif + +some: ; @echo Some stuff + +EOF + +close(MAKEFILE); + +# Test #1 + +&run_make_with_options($makefile, "WARNING1=yes", &get_logfile, 0); +$answer = "$makefile:2: warning is yes\nSome stuff\n"; +&compare_output($answer,&get_logfile(1)); + +# Test #2 + +&run_make_with_options($makefile, "WARNING2=no", &get_logfile, 0); +$answer = "$makefile:6: warning is no\nSome stuff\n"; +&compare_output($answer,&get_logfile(1)); + +# Test #3 + +&run_make_with_options($makefile, "WARNING3=maybe", &get_logfile, 0); +$answer = "Some stuff\n$makefile:10: warning is maybe\nhi\n"; +&compare_output($answer,&get_logfile(1)); + +# Test #4 + +&run_make_with_options($makefile, "WARNING4=definitely", &get_logfile, 0); +$answer = "Some stuff\n$makefile:14: warning is definitely\nhi\nthere\n"; +&compare_output($answer,&get_logfile(1)); + +# This tells the test driver that the perl test script executed properly. +1; + + + + + + diff --git a/src/mkutil/make/tests/scripts/functions/wildcard b/src/mkutil/make/tests/scripts/functions/wildcard index 0f79acc4..465fa186 100644 --- a/src/mkutil/make/tests/scripts/functions/wildcard +++ b/src/mkutil/make/tests/scripts/functions/wildcard @@ -1,105 +1,105 @@ -# -*-perl-*- - -$description = "The following test creates a makefile to test wildcard -expansions and the ability to put a command on the same -line as the target name separated by a semi-colon."; - -$details = "\ -This test creates 4 files by the names of 1.example, -two.example and 3.example. We execute three tests. The first -executes the print1 target which tests the '*' wildcard by -echoing all filenames by the name of '*.example'. The second -test echo's all files which match '?.example' and -[a-z0-9].example. Lastly we clean up all of the files using -the '*' wildcard as in the first test"; - -if ($vos) -{ - $delete_command = "delete_file -no_ask"; -} -else -{ - $delete_command = "rm"; -} - - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE < $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE < $makefile"); -print MAKEFILE <<'EOF'; -string := word.pl general_test2.pl FORCE.pl word.pl generic_test.perl MAKEFILES_variable.pl -string2 := $(string) $(string) $(string) $(string) $(string) $(string) $(string) -string3 := $(string2) $(string2) $(string2) $(string2) $(string2) $(string2) $(string2) -string4 := $(string3) $(string3) $(string3) $(string3) $(string3) $(string3) $(string3) -all: - @echo $(words $(string)) - @echo $(words $(string4)) - @echo $(word 1, $(string)) - @echo $(word 100, $(string)) - @echo $(word 1, $(string)) - @echo $(word 1000, $(string3)) - @echo $(wordlist 3, 4, $(string)) - @echo $(wordlist 4, 3, $(string)) - @echo $(wordlist 1, 6, $(string)) - @echo $(wordlist 5, 7, $(string)) - @echo $(wordlist 100, 110, $(string)) - @echo $(wordlist 7, 10, $(string2)) -EOF -close(MAKEFILE); - -&run_make_with_options($makefile, "", &get_logfile); -$answer = "6\n" - ."2058\n" - ."word.pl\n" - ."\n" - ."word.pl\n" - ."\n" - ."FORCE.pl word.pl\n" - ."\n" - ."word.pl general_test2.pl FORCE.pl word.pl generic_test.perl MAKEFILES_variable.pl\n" - ."generic_test.perl MAKEFILES_variable.pl\n" - ."\n" - ."word.pl general_test2.pl FORCE.pl word.pl\n"; -&compare_output($answer, &get_logfile(1)); - - -# Test error conditions - -$makefile2 = &get_tmpfile; - -open(MAKEFILE, "> $makefile2"); -print MAKEFILE <<'EOF'; -FOO = foo bar biz baz - -word-e1: ; @echo $(word ,$(FOO)) -word-e2: ; @echo $(word abc ,$(FOO)) -word-e3: ; @echo $(word 1a,$(FOO)) - -wordlist-e1: ; @echo $(wordlist ,,$(FOO)) -wordlist-e2: ; @echo $(wordlist abc ,,$(FOO)) -wordlist-e3: ; @echo $(wordlist 1, 12a ,$(FOO)) - -EOF - -close(MAKEFILE); - -&run_make_with_options($makefile2, 'word-e1', &get_logfile, 512); -$answer = "$makefile2:3: *** non-numeric first argument to `word' function: ''. Stop.\n"; -&compare_output($answer, &get_logfile(1)); - -&run_make_with_options($makefile2, 'word-e2', &get_logfile, 512); -$answer = "$makefile2:4: *** non-numeric first argument to `word' function: 'abc '. Stop.\n"; -&compare_output($answer, &get_logfile(1)); - -&run_make_with_options($makefile2, 'word-e3', &get_logfile, 512); -$answer = "$makefile2:5: *** non-numeric first argument to `word' function: '1a'. Stop.\n"; -&compare_output($answer, &get_logfile(1)); - -&run_make_with_options($makefile2, 'wordlist-e1', &get_logfile, 512); -$answer = "$makefile2:7: *** non-numeric first argument to `wordlist' function: ''. Stop.\n"; -&compare_output($answer, &get_logfile(1)); - -&run_make_with_options($makefile2, 'wordlist-e2', &get_logfile, 512); -$answer = "$makefile2:8: *** non-numeric first argument to `wordlist' function: 'abc '. Stop.\n"; -&compare_output($answer, &get_logfile(1)); - -&run_make_with_options($makefile2, 'wordlist-e3', &get_logfile, 512); -$answer = "$makefile2:9: *** non-numeric second argument to `wordlist' function: ' 12a '. Stop.\n"; -&compare_output($answer, &get_logfile(1)); - -# This tells the test driver that the perl test script executed properly. -1; +# -*-perl-*- +$description = "Test the word, words, and wordlist functions.\n"; + +$details = "\ +Produce a variable with a large number of words in it, +determine the number of words, and then read each one back.\n"; + +open(MAKEFILE,"> $makefile"); +print MAKEFILE <<'EOF'; +string := word.pl general_test2.pl FORCE.pl word.pl generic_test.perl MAKEFILES_variable.pl +string2 := $(string) $(string) $(string) $(string) $(string) $(string) $(string) +string3 := $(string2) $(string2) $(string2) $(string2) $(string2) $(string2) $(string2) +string4 := $(string3) $(string3) $(string3) $(string3) $(string3) $(string3) $(string3) +all: + @echo $(words $(string)) + @echo $(words $(string4)) + @echo $(word 1, $(string)) + @echo $(word 100, $(string)) + @echo $(word 1, $(string)) + @echo $(word 1000, $(string3)) + @echo $(wordlist 3, 4, $(string)) + @echo $(wordlist 4, 3, $(string)) + @echo $(wordlist 1, 6, $(string)) + @echo $(wordlist 5, 7, $(string)) + @echo $(wordlist 100, 110, $(string)) + @echo $(wordlist 7, 10, $(string2)) +EOF +close(MAKEFILE); + +&run_make_with_options($makefile, "", &get_logfile); +$answer = "6\n" + ."2058\n" + ."word.pl\n" + ."\n" + ."word.pl\n" + ."\n" + ."FORCE.pl word.pl\n" + ."\n" + ."word.pl general_test2.pl FORCE.pl word.pl generic_test.perl MAKEFILES_variable.pl\n" + ."generic_test.perl MAKEFILES_variable.pl\n" + ."\n" + ."word.pl general_test2.pl FORCE.pl word.pl\n"; +&compare_output($answer, &get_logfile(1)); + + +# Test error conditions + +$makefile2 = &get_tmpfile; + +open(MAKEFILE, "> $makefile2"); +print MAKEFILE <<'EOF'; +FOO = foo bar biz baz + +word-e1: ; @echo $(word ,$(FOO)) +word-e2: ; @echo $(word abc ,$(FOO)) +word-e3: ; @echo $(word 1a,$(FOO)) + +wordlist-e1: ; @echo $(wordlist ,,$(FOO)) +wordlist-e2: ; @echo $(wordlist abc ,,$(FOO)) +wordlist-e3: ; @echo $(wordlist 1, 12a ,$(FOO)) + +EOF + +close(MAKEFILE); + +&run_make_with_options($makefile2, 'word-e1', &get_logfile, 512); +$answer = "$makefile2:3: *** non-numeric first argument to `word' function: ''. Stop.\n"; +&compare_output($answer, &get_logfile(1)); + +&run_make_with_options($makefile2, 'word-e2', &get_logfile, 512); +$answer = "$makefile2:4: *** non-numeric first argument to `word' function: 'abc '. Stop.\n"; +&compare_output($answer, &get_logfile(1)); + +&run_make_with_options($makefile2, 'word-e3', &get_logfile, 512); +$answer = "$makefile2:5: *** non-numeric first argument to `word' function: '1a'. Stop.\n"; +&compare_output($answer, &get_logfile(1)); + +&run_make_with_options($makefile2, 'wordlist-e1', &get_logfile, 512); +$answer = "$makefile2:7: *** non-numeric first argument to `wordlist' function: ''. Stop.\n"; +&compare_output($answer, &get_logfile(1)); + +&run_make_with_options($makefile2, 'wordlist-e2', &get_logfile, 512); +$answer = "$makefile2:8: *** non-numeric first argument to `wordlist' function: 'abc '. Stop.\n"; +&compare_output($answer, &get_logfile(1)); + +&run_make_with_options($makefile2, 'wordlist-e3', &get_logfile, 512); +$answer = "$makefile2:9: *** non-numeric second argument to `wordlist' function: ' 12a '. Stop.\n"; +&compare_output($answer, &get_logfile(1)); + +# This tells the test driver that the perl test script executed properly. +1; diff --git a/src/mkutil/make/tests/scripts/misc/CVS/Entries b/src/mkutil/make/tests/scripts/misc/CVS/Entries index 95ccf1b4..ed400d05 100644 --- a/src/mkutil/make/tests/scripts/misc/CVS/Entries +++ b/src/mkutil/make/tests/scripts/misc/CVS/Entries @@ -1,5 +1,5 @@ -/general1/1.1/Tue Sep 14 02:03:46 1999// -/general2/1.1/Tue Sep 14 02:03:46 1999// -/general3/1.2/Thu Aug 8 00:11:19 2002// -/general4/1.1/Wed Sep 4 07:26:20 2002// -D +/general1/1.1.1.1/Mon Nov 17 19:06:10 2003// +/general2/1.1.1.1/Mon Nov 17 19:06:10 2003// +/general3/1.1.1.1/Mon Nov 17 19:06:10 2003// +/general4/1.1.1.1/Mon Nov 17 19:06:10 2003// +D diff --git a/src/mkutil/make/tests/scripts/misc/CVS/Repository b/src/mkutil/make/tests/scripts/misc/CVS/Repository index b964f0e3..36b7ba30 100644 --- a/src/mkutil/make/tests/scripts/misc/CVS/Repository +++ b/src/mkutil/make/tests/scripts/misc/CVS/Repository @@ -1 +1 @@ -make/tests/scripts/misc +uzi/src/mkutil/make/tests/scripts/misc diff --git a/src/mkutil/make/tests/scripts/misc/CVS/Root b/src/mkutil/make/tests/scripts/misc/CVS/Root index 132093b8..933b8194 100644 --- a/src/mkutil/make/tests/scripts/misc/CVS/Root +++ b/src/mkutil/make/tests/scripts/misc/CVS/Root @@ -1 +1 @@ -:pserver:anoncvs@subversions.gnu.org:/cvsroot/make +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/make/tests/scripts/misc/general1 b/src/mkutil/make/tests/scripts/misc/general1 index 352fc6ad..ffdf0b80 100644 --- a/src/mkutil/make/tests/scripts/misc/general1 +++ b/src/mkutil/make/tests/scripts/misc/general1 @@ -1,51 +1,51 @@ -# -*-perl-*- - -$description = "The following test creates a makefile to test the -simple functionality of make. It mimics the -rebuilding of a product with dependencies. -It also tests the simple definition of VPATH."; - -open(MAKEFILE,"> $makefile"); - -print MAKEFILE < $makefile"); + +print MAKEFILE < $makefile"); - -# The contents of the Makefile ... - -print MAKEFILE < $makefile"); + +# The contents of the Makefile ... + +print MAKEFILE < $makefile"); - -# The contents of the Makefile ... - -print MAKEFILE < $makefile2"); -print MAKEFILE "all:;\@echo FOO = \$(FOO)\nFOO = foo"; -close(MAKEFILE); - -&run_make_with_options($makefile2,"",&get_logfile); -$answer = "FOO = foo\n"; -&compare_output($answer,&get_logfile(1)); - - -1; +# -*-perl-*- + +$description = "\ +This tests random features of the parser that need to be supported, and +which have either broken at some point in the past or seem likely to +break."; + +$makefile2 = &get_tmpfile; + +open(MAKEFILE,"> $makefile"); + +# The contents of the Makefile ... + +print MAKEFILE < $makefile2"); +print MAKEFILE "all:;\@echo FOO = \$(FOO)\nFOO = foo"; +close(MAKEFILE); + +&run_make_with_options($makefile2,"",&get_logfile); +$answer = "FOO = foo\n"; +&compare_output($answer,&get_logfile(1)); + + +1; diff --git a/src/mkutil/make/tests/scripts/misc/general4 b/src/mkutil/make/tests/scripts/misc/general4 index dd77f539..1ba08bcd 100644 --- a/src/mkutil/make/tests/scripts/misc/general4 +++ b/src/mkutil/make/tests/scripts/misc/general4 @@ -1,31 +1,31 @@ -# -*-perl-*- - -$description = "\ -This tests random features of make's algorithms, often somewhat obscure, -which have either broken at some point in the past or seem likely to -break."; - -open(MAKEFILE,"> $makefile"); - -# The contents of the Makefile ... - -print MAKEFILE <<'EOF'; -# Make sure that subdirectories built as prerequisites are actually handled -# properly. - -all: dir/subdir/file.a - -dir/subdir: ; @echo mkdir -p dir/subdir - -dir/subdir/file.b: dir/subdir ; @echo touch dir/subdir/file.b - -dir/subdir/%.a: dir/subdir/%.b ; @echo cp $< $@ -EOF - -close(MAKEFILE); - -&run_make_with_options($makefile,"",&get_logfile); -$answer = "mkdir -p dir/subdir\ntouch dir/subdir/file.b\ncp dir/subdir/file.b dir/subdir/file.a\n"; -&compare_output($answer,&get_logfile(1)); - -1; +# -*-perl-*- + +$description = "\ +This tests random features of make's algorithms, often somewhat obscure, +which have either broken at some point in the past or seem likely to +break."; + +open(MAKEFILE,"> $makefile"); + +# The contents of the Makefile ... + +print MAKEFILE <<'EOF'; +# Make sure that subdirectories built as prerequisites are actually handled +# properly. + +all: dir/subdir/file.a + +dir/subdir: ; @echo mkdir -p dir/subdir + +dir/subdir/file.b: dir/subdir ; @echo touch dir/subdir/file.b + +dir/subdir/%.a: dir/subdir/%.b ; @echo cp $< $@ +EOF + +close(MAKEFILE); + +&run_make_with_options($makefile,"",&get_logfile); +$answer = "mkdir -p dir/subdir\ntouch dir/subdir/file.b\ncp dir/subdir/file.b dir/subdir/file.a\n"; +&compare_output($answer,&get_logfile(1)); + +1; diff --git a/src/mkutil/make/tests/scripts/options/CVS/Entries b/src/mkutil/make/tests/scripts/options/CVS/Entries index efe48ed0..1d22b853 100644 --- a/src/mkutil/make/tests/scripts/options/CVS/Entries +++ b/src/mkutil/make/tests/scripts/options/CVS/Entries @@ -1,12 +1,12 @@ -/dash-B/1.2/Tue Sep 10 22:23:20 2002// -/dash-C/1.1/Tue Sep 14 02:03:48 1999// -/dash-I/1.1/Tue Sep 14 02:03:48 1999// -/dash-e/1.1/Tue Sep 14 02:03:48 1999// -/dash-f/1.1/Tue Sep 14 02:03:49 1999// -/dash-k/1.2/Mon Mar 27 06:54:37 2000// -/dash-l/1.2/Fri Sep 17 03:16:09 1999// -/dash-n/1.7/Wed Sep 4 07:26:20 2002// -/dash-q/1.1/Fri Jun 23 15:55:46 2000// -/dash-t/1.2/Tue Mar 25 00:15:25 2003// -/general/1.2/Mon Jun 19 21:22:44 2000// -D +/dash-B/1.1.1.1/Mon Nov 17 19:06:10 2003// +/dash-C/1.1.1.1/Mon Nov 17 19:06:10 2003// +/dash-I/1.1.1.1/Mon Nov 17 19:06:10 2003// +/dash-e/1.1.1.1/Mon Nov 17 19:06:10 2003// +/dash-f/1.1.1.1/Mon Nov 17 19:06:10 2003// +/dash-k/1.1.1.1/Mon Nov 17 19:06:10 2003// +/dash-l/1.1.1.1/Mon Nov 17 19:06:10 2003// +/dash-n/1.1.1.1/Mon Nov 17 19:06:10 2003// +/dash-q/1.1.1.1/Mon Nov 17 19:06:12 2003// +/dash-t/1.1.1.1/Mon Nov 17 19:06:12 2003// +/general/1.1.1.1/Mon Nov 17 19:06:12 2003// +D diff --git a/src/mkutil/make/tests/scripts/options/CVS/Repository b/src/mkutil/make/tests/scripts/options/CVS/Repository index 4eb04f87..132e6392 100644 --- a/src/mkutil/make/tests/scripts/options/CVS/Repository +++ b/src/mkutil/make/tests/scripts/options/CVS/Repository @@ -1 +1 @@ -make/tests/scripts/options +uzi/src/mkutil/make/tests/scripts/options diff --git a/src/mkutil/make/tests/scripts/options/CVS/Root b/src/mkutil/make/tests/scripts/options/CVS/Root index 132093b8..933b8194 100644 --- a/src/mkutil/make/tests/scripts/options/CVS/Root +++ b/src/mkutil/make/tests/scripts/options/CVS/Root @@ -1 +1 @@ -:pserver:anoncvs@subversions.gnu.org:/cvsroot/make +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/make/tests/scripts/options/dash-B b/src/mkutil/make/tests/scripts/options/dash-B index 32992b3c..46877bc3 100644 --- a/src/mkutil/make/tests/scripts/options/dash-B +++ b/src/mkutil/make/tests/scripts/options/dash-B @@ -1,43 +1,43 @@ -# -*-perl-*- - -$description = "Test make -B (always remake) option.\n"; - -$details = "\ -Construct a simple makefile that builds a target. -Invoke make once, so it builds everything. Invoke it again and verify -that nothing is built. Then invoke it with -B and verify that everything -is built again."; - -open(MAKEFILE,"> $makefile"); - -print MAKEFILE <<'EOF'; -.SUFFIXES: - -.PHONY: all -all: foo - -foo: bar.x - @echo cp $< $@ - @echo "" > $@ -EOF - -close(MAKEFILE); - - -&touch('bar.x'); - -&run_make_with_options($makefile, '', &get_logfile); -$answer = "cp bar.x foo\n"; -&compare_output($answer, &get_logfile(1)); - -&run_make_with_options($makefile, '', &get_logfile); -$answer = "$make_name: Nothing to be done for `all'.\n"; -&compare_output($answer, &get_logfile(1)); - -&run_make_with_options($makefile, '-B', &get_logfile); -$answer = "cp bar.x foo\n"; -&compare_output($answer, &get_logfile(1)); - -unlink('bar.x', 'foo') unless $keep; - -1; +# -*-perl-*- + +$description = "Test make -B (always remake) option.\n"; + +$details = "\ +Construct a simple makefile that builds a target. +Invoke make once, so it builds everything. Invoke it again and verify +that nothing is built. Then invoke it with -B and verify that everything +is built again."; + +open(MAKEFILE,"> $makefile"); + +print MAKEFILE <<'EOF'; +.SUFFIXES: + +.PHONY: all +all: foo + +foo: bar.x + @echo cp $< $@ + @echo "" > $@ +EOF + +close(MAKEFILE); + + +&touch('bar.x'); + +&run_make_with_options($makefile, '', &get_logfile); +$answer = "cp bar.x foo\n"; +&compare_output($answer, &get_logfile(1)); + +&run_make_with_options($makefile, '', &get_logfile); +$answer = "$make_name: Nothing to be done for `all'.\n"; +&compare_output($answer, &get_logfile(1)); + +&run_make_with_options($makefile, '-B', &get_logfile); +$answer = "cp bar.x foo\n"; +&compare_output($answer, &get_logfile(1)); + +unlink('bar.x', 'foo') unless $keep; + +1; diff --git a/src/mkutil/make/tests/scripts/options/dash-C b/src/mkutil/make/tests/scripts/options/dash-C index 3f2b3a13..0fb04979 100644 --- a/src/mkutil/make/tests/scripts/options/dash-C +++ b/src/mkutil/make/tests/scripts/options/dash-C @@ -1,48 +1,48 @@ -$description = "The following test creates a makefile to test the -C dir \n" - ."option in make. This option tells make to change to \n" - ."directory dir before reading the makefile."; - -$details = "This test is similar to the clean test except that this test\n" - ."creates the file to delete in the work directory instead of\n" - ."the current directory. Make is called from another directory\n" - ."using the -C workdir option so that it can both find the \n" - ."makefile and the file to delete in the work directory. "; - -$example = $workdir . $pathsep . "EXAMPLE_FILE"; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "all: \n"; -print MAKEFILE "\t\@echo This makefile did not clean the dir ... good\n"; -print MAKEFILE "clean: \n"; -print MAKEFILE "\t$delete_command EXAMPLE_FILE\n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&touch($example); - -&run_make_with_options("${testname}.mk", - "-C $workdir clean", - &get_logfile); - -chdir $workdir; -$wpath = &get_this_pwd; -chdir $pwd; - -# Create the answer to what should be produced by this Makefile -$answer = "$make_name: Entering directory `$wpath'\n" - . "$delete_command EXAMPLE_FILE\n" - . "$make_name: Leaving directory `$wpath'\n"; - -&compare_output($answer,&get_logfile(1)); - -if (-f $example) -{ - $test_passed = 0; -} - -1; +$description = "The following test creates a makefile to test the -C dir \n" + ."option in make. This option tells make to change to \n" + ."directory dir before reading the makefile."; + +$details = "This test is similar to the clean test except that this test\n" + ."creates the file to delete in the work directory instead of\n" + ."the current directory. Make is called from another directory\n" + ."using the -C workdir option so that it can both find the \n" + ."makefile and the file to delete in the work directory. "; + +$example = $workdir . $pathsep . "EXAMPLE_FILE"; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "all: \n"; +print MAKEFILE "\t\@echo This makefile did not clean the dir ... good\n"; +print MAKEFILE "clean: \n"; +print MAKEFILE "\t$delete_command EXAMPLE_FILE\n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&touch($example); + +&run_make_with_options("${testname}.mk", + "-C $workdir clean", + &get_logfile); + +chdir $workdir; +$wpath = &get_this_pwd; +chdir $pwd; + +# Create the answer to what should be produced by this Makefile +$answer = "$make_name: Entering directory `$wpath'\n" + . "$delete_command EXAMPLE_FILE\n" + . "$make_name: Leaving directory `$wpath'\n"; + +&compare_output($answer,&get_logfile(1)); + +if (-f $example) +{ + $test_passed = 0; +} + +1; diff --git a/src/mkutil/make/tests/scripts/options/dash-I b/src/mkutil/make/tests/scripts/options/dash-I index 0be0bd7f..7f401f88 100644 --- a/src/mkutil/make/tests/scripts/options/dash-I +++ b/src/mkutil/make/tests/scripts/options/dash-I @@ -1,57 +1,57 @@ -$description ="The following test creates a makefile to test the -I option."; - -$details = "\ -This test tests the -I option by including a filename in -another directory and giving make that directory name -under -I in the command line. Without this option, the make -would fail to find the included file. It also checks to make -sure that the -I option gets passed to recursive makes."; - -$makefile2 = &get_tmpfile; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -$mf2 = substr ($makefile2, index ($makefile2, $pathsep) + 1); -print MAKEFILE < $makefile2"); - -print MAKEFILE < $makefile"); + +# The Contents of the MAKEFILE ... + +$mf2 = substr ($makefile2, index ($makefile2, $pathsep) + 1); +print MAKEFILE < $makefile2"); + +print MAKEFILE < $makefile"); - -print MAKEFILE <<'EOF'; -GOOGLE = bazzle -all:; @echo "$(GOOGLE)" -EOF - -close(MAKEFILE); - -&run_make_with_options($makefile, '-e' ,&get_logfile); - -$answer = "boggle\n"; - -&compare_output($answer,&get_logfile(1)); - -1; +# -*-perl-*- + +$description = "The following test creates a makefile to ..."; + +$details = ""; + +$ENV{GOOGLE} = 'boggle'; + +open(MAKEFILE,"> $makefile"); + +print MAKEFILE <<'EOF'; +GOOGLE = bazzle +all:; @echo "$(GOOGLE)" +EOF + +close(MAKEFILE); + +&run_make_with_options($makefile, '-e' ,&get_logfile); + +$answer = "boggle\n"; + +&compare_output($answer,&get_logfile(1)); + +1; diff --git a/src/mkutil/make/tests/scripts/options/dash-f b/src/mkutil/make/tests/scripts/options/dash-f index 3aa47460..ee320b0a 100644 --- a/src/mkutil/make/tests/scripts/options/dash-f +++ b/src/mkutil/make/tests/scripts/options/dash-f @@ -1,85 +1,85 @@ -$description = "The following test tests that if you specify greater \n" - ."than one '-f makefilename' on the command line, \n" - ."that make concatenates them. This test creates three \n" - ."makefiles and specifies all of them with the -f option \n" - ."on the command line. To make sure they were concatenated, \n" - ."we then call make with the rules from the concatenated \n" - ."makefiles one at a time. Finally, it calls all three \n" - ."rules in one call to make and checks that the output\n" - ."is in the correct order."; - -$makefile2 = &get_tmpfile; -$makefile3 = &get_tmpfile; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "all: \n"; -print MAKEFILE "\t\@echo This is the output from the original makefile\n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -# Create a second makefile -open(MAKEFILE,"> $makefile2"); -print MAKEFILE "TWO: \n"; -print MAKEFILE "\t\@echo This is the output from makefile 2\n"; -close(MAKEFILE); - -# Create a third makefile -open(MAKEFILE,"> $makefile3"); -print MAKEFILE "THREE: \n"; -print MAKEFILE "\t\@echo This is the output from makefile 3\n"; -close(MAKEFILE); - - -# Create the answer to what should be produced by this Makefile -$answer = "This is the output from the original makefile\n"; - -# Run make to catch the default rule -&run_make_with_options($makefile,"-f $makefile2 -f $makefile3",&get_logfile,0); - -&compare_output($answer,&get_logfile(1)); - - -# Run Make again with the rule from the second makefile: TWO -$answer = "This is the output from makefile 2\n"; - -&run_make_with_options($makefile,"-f $makefile2 -f $makefile3 TWO",&get_logfile,0); - -&compare_output($answer,&get_logfile(1)); - - -# Run Make again with the rule from the third makefile: THREE - -$answer = "This is the output from makefile 3\n"; -&run_make_with_options($makefile, - "-f $makefile2 -f $makefile3 THREE", - &get_logfile, - 0); -&compare_output($answer,&get_logfile(1)); - - -# Run Make again with ALL three rules in the order 2 1 3 to make sure -# that all rules are executed in the proper order - -$answer = "This is the output from makefile 2\n"; -$answer .= "This is the output from the original makefile\n"; -$answer .= "This is the output from makefile 3\n"; -&run_make_with_options($makefile, - "-f $makefile2 -f $makefile3 TWO all THREE", - &get_logfile, - 0); -&compare_output($answer,&get_logfile(1)); - - - - - - - - - - +$description = "The following test tests that if you specify greater \n" + ."than one '-f makefilename' on the command line, \n" + ."that make concatenates them. This test creates three \n" + ."makefiles and specifies all of them with the -f option \n" + ."on the command line. To make sure they were concatenated, \n" + ."we then call make with the rules from the concatenated \n" + ."makefiles one at a time. Finally, it calls all three \n" + ."rules in one call to make and checks that the output\n" + ."is in the correct order."; + +$makefile2 = &get_tmpfile; +$makefile3 = &get_tmpfile; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "all: \n"; +print MAKEFILE "\t\@echo This is the output from the original makefile\n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +# Create a second makefile +open(MAKEFILE,"> $makefile2"); +print MAKEFILE "TWO: \n"; +print MAKEFILE "\t\@echo This is the output from makefile 2\n"; +close(MAKEFILE); + +# Create a third makefile +open(MAKEFILE,"> $makefile3"); +print MAKEFILE "THREE: \n"; +print MAKEFILE "\t\@echo This is the output from makefile 3\n"; +close(MAKEFILE); + + +# Create the answer to what should be produced by this Makefile +$answer = "This is the output from the original makefile\n"; + +# Run make to catch the default rule +&run_make_with_options($makefile,"-f $makefile2 -f $makefile3",&get_logfile,0); + +&compare_output($answer,&get_logfile(1)); + + +# Run Make again with the rule from the second makefile: TWO +$answer = "This is the output from makefile 2\n"; + +&run_make_with_options($makefile,"-f $makefile2 -f $makefile3 TWO",&get_logfile,0); + +&compare_output($answer,&get_logfile(1)); + + +# Run Make again with the rule from the third makefile: THREE + +$answer = "This is the output from makefile 3\n"; +&run_make_with_options($makefile, + "-f $makefile2 -f $makefile3 THREE", + &get_logfile, + 0); +&compare_output($answer,&get_logfile(1)); + + +# Run Make again with ALL three rules in the order 2 1 3 to make sure +# that all rules are executed in the proper order + +$answer = "This is the output from makefile 2\n"; +$answer .= "This is the output from the original makefile\n"; +$answer .= "This is the output from makefile 3\n"; +&run_make_with_options($makefile, + "-f $makefile2 -f $makefile3 TWO all THREE", + &get_logfile, + 0); +&compare_output($answer,&get_logfile(1)); + + + + + + + + + + diff --git a/src/mkutil/make/tests/scripts/options/dash-k b/src/mkutil/make/tests/scripts/options/dash-k index fe5689e3..481653e8 100644 --- a/src/mkutil/make/tests/scripts/options/dash-k +++ b/src/mkutil/make/tests/scripts/options/dash-k @@ -1,100 +1,100 @@ -# -*-perl-*- - -$description = "Test the make -k (don't stop on error) option.\n"; - -$details = "\ -The makefile created in this test is a simulation of building -a small product. However, the trick to this one is that one -of the dependencies of the main target does not exist. -Without the -k option, make would fail immediately and not -build any part of the target. What we are looking for here, -is that make builds the rest of the dependencies even though -it knows that at the end it will fail to rebuild the main target."; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE < $makefile2"); -print MAKEFILE <<'EOF'; -.SUFFIXES: - -all: exe1 exe2; @echo making $@ - -exe1 exe2: lib; @echo cp $^ $@ - -lib: foo.o; @echo cp $^ $@ - -foo.o: ; exit 1 -EOF - -close(MAKEFILE); - -&run_make_with_options($makefile2, "-k", &get_logfile, $error_code); - -$answer = "exit 1 -$make_name: *** [foo.o] Error 1 -$make_name: Target `all' not remade because of errors.\n"; - -&compare_output($answer, &get_logfile(1)); - -1; +# -*-perl-*- + +$description = "Test the make -k (don't stop on error) option.\n"; + +$details = "\ +The makefile created in this test is a simulation of building +a small product. However, the trick to this one is that one +of the dependencies of the main target does not exist. +Without the -k option, make would fail immediately and not +build any part of the target. What we are looking for here, +is that make builds the rest of the dependencies even though +it knows that at the end it will fail to rebuild the main target."; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE < $makefile2"); +print MAKEFILE <<'EOF'; +.SUFFIXES: + +all: exe1 exe2; @echo making $@ + +exe1 exe2: lib; @echo cp $^ $@ + +lib: foo.o; @echo cp $^ $@ + +foo.o: ; exit 1 +EOF + +close(MAKEFILE); + +&run_make_with_options($makefile2, "-k", &get_logfile, $error_code); + +$answer = "exit 1 +$make_name: *** [foo.o] Error 1 +$make_name: Target `all' not remade because of errors.\n"; + +&compare_output($answer, &get_logfile(1)); + +1; diff --git a/src/mkutil/make/tests/scripts/options/dash-l b/src/mkutil/make/tests/scripts/options/dash-l index 58216f9f..f8d2a5de 100644 --- a/src/mkutil/make/tests/scripts/options/dash-l +++ b/src/mkutil/make/tests/scripts/options/dash-l @@ -1,55 +1,55 @@ -# -*-perl-*- -# Date: Tue, 11 Aug 1992 09:34:26 -0400 -# From: pds@lemming.webo.dg.com (Paul D. Smith) - -$description = "Test load balancing (-l) option."; - -$details = "\ -This test creates a makefile where all depends on three rules -which contain the same body. Each rule checks for the existence -of a temporary file; if it exists an error is generated. If it -doesn't exist then it is created, the rule sleeps, then deletes -the temp file again. Thus if any of the rules are run in -parallel the test will fail. When make is called in this test, -it is given the -l option with a value of 0.0001. This ensures -that the load will be above this number and make will therefore -decide that it cannot run more than one job even though -j 4 was -also specified on the command line."; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE <<'EOF'; -SHELL = /bin/sh - -define test -if [ ! -f test-file ]; then \ - echo >> test-file; sleep 2; rm -f test-file; \ -else \ - echo $@ FAILED; \ -fi -endef - -all : ONE TWO THREE -ONE : ; @$(test) -TWO : ; @$(test) -THREE : ; @$(test) -EOF - - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -$mkoptions = "-l 0.0001"; -$mkoptions .= " -j 4" if ($parallel_jobs); - -&run_make_with_options($makefile, $mkoptions, &get_logfile); - -$slurp = &read_file_into_string (&get_logfile(1)); -if ($slurp !~ /cannot enforce load limit/) { - &compare_output("", &get_logfile(1)); -} - -1; +# -*-perl-*- +# Date: Tue, 11 Aug 1992 09:34:26 -0400 +# From: pds@lemming.webo.dg.com (Paul D. Smith) + +$description = "Test load balancing (-l) option."; + +$details = "\ +This test creates a makefile where all depends on three rules +which contain the same body. Each rule checks for the existence +of a temporary file; if it exists an error is generated. If it +doesn't exist then it is created, the rule sleeps, then deletes +the temp file again. Thus if any of the rules are run in +parallel the test will fail. When make is called in this test, +it is given the -l option with a value of 0.0001. This ensures +that the load will be above this number and make will therefore +decide that it cannot run more than one job even though -j 4 was +also specified on the command line."; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE <<'EOF'; +SHELL = /bin/sh + +define test +if [ ! -f test-file ]; then \ + echo >> test-file; sleep 2; rm -f test-file; \ +else \ + echo $@ FAILED; \ +fi +endef + +all : ONE TWO THREE +ONE : ; @$(test) +TWO : ; @$(test) +THREE : ; @$(test) +EOF + + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +$mkoptions = "-l 0.0001"; +$mkoptions .= " -j 4" if ($parallel_jobs); + +&run_make_with_options($makefile, $mkoptions, &get_logfile); + +$slurp = &read_file_into_string (&get_logfile(1)); +if ($slurp !~ /cannot enforce load limit/) { + &compare_output("", &get_logfile(1)); +} + +1; diff --git a/src/mkutil/make/tests/scripts/options/dash-n b/src/mkutil/make/tests/scripts/options/dash-n index de19f42c..f633da84 100644 --- a/src/mkutil/make/tests/scripts/options/dash-n +++ b/src/mkutil/make/tests/scripts/options/dash-n @@ -1,70 +1,70 @@ -# -*-perl-*- -$description = "Test the -n option.\n"; - -$details = "Try various uses of -n and ensure they all give the correct results.\n"; - -open(MAKEFILE, "> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE <<'EOMAKE'; - -final: intermediate ; echo >> $@ -intermediate: orig ; echo >> $@ - -EOMAKE - -close(MAKEFILE); - -&touch('orig'); - -# TEST 0 - -&run_make_with_options($makefile, "", &get_logfile); -$answer = "echo >> intermediate\necho >> final\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST 1 - -&run_make_with_options($makefile, "-Worig -n", &get_logfile); -$answer = "echo >> intermediate\necho >> final\n"; -&compare_output($answer, &get_logfile(1)); - -unlink('orig', 'intermediate', 'final'); - -# We consider the actual updated timestamp of targets with all -# recursive commands, even with -n. - -$makefile2 = &get_tmpfile; - -open(MAKEFILE, "> $makefile2"); - -print MAKEFILE <<'EOF'; -.SUFFIXES: -BAR = # nothing -FOO = +$(BAR) -a: b; echo > $@ -b: c; $(FOO) -EOF - -close(MAKEFILE); - -&utouch(-20, 'b'); -&utouch(-10, 'a'); -&touch('c'); - -# TEST 2 - -&run_make_with_options($makefile2, "", &get_logfile); -$answer = "$make_name: `a' is up to date.\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST 3 - -&run_make_with_options($makefile2, "-n", &get_logfile); -$answer = "$make_name: `a' is up to date.\n"; -&compare_output($answer, &get_logfile(1)); - -unlink('a', 'b', 'c'); - -1; +# -*-perl-*- +$description = "Test the -n option.\n"; + +$details = "Try various uses of -n and ensure they all give the correct results.\n"; + +open(MAKEFILE, "> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE <<'EOMAKE'; + +final: intermediate ; echo >> $@ +intermediate: orig ; echo >> $@ + +EOMAKE + +close(MAKEFILE); + +&touch('orig'); + +# TEST 0 + +&run_make_with_options($makefile, "", &get_logfile); +$answer = "echo >> intermediate\necho >> final\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST 1 + +&run_make_with_options($makefile, "-Worig -n", &get_logfile); +$answer = "echo >> intermediate\necho >> final\n"; +&compare_output($answer, &get_logfile(1)); + +unlink('orig', 'intermediate', 'final'); + +# We consider the actual updated timestamp of targets with all +# recursive commands, even with -n. + +$makefile2 = &get_tmpfile; + +open(MAKEFILE, "> $makefile2"); + +print MAKEFILE <<'EOF'; +.SUFFIXES: +BAR = # nothing +FOO = +$(BAR) +a: b; echo > $@ +b: c; $(FOO) +EOF + +close(MAKEFILE); + +&utouch(-20, 'b'); +&utouch(-10, 'a'); +&touch('c'); + +# TEST 2 + +&run_make_with_options($makefile2, "", &get_logfile); +$answer = "$make_name: `a' is up to date.\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST 3 + +&run_make_with_options($makefile2, "-n", &get_logfile); +$answer = "$make_name: `a' is up to date.\n"; +&compare_output($answer, &get_logfile(1)); + +unlink('a', 'b', 'c'); + +1; diff --git a/src/mkutil/make/tests/scripts/options/dash-q b/src/mkutil/make/tests/scripts/options/dash-q index 923e4c4b..f8b31c4d 100644 --- a/src/mkutil/make/tests/scripts/options/dash-q +++ b/src/mkutil/make/tests/scripts/options/dash-q @@ -1,70 +1,70 @@ -# -*-perl-*- -$description = "Test the -q option.\n"; - -$details = "Try various uses of -q and ensure they all give the correct results.\n"; - -open(MAKEFILE, "> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE <<'EOMAKE'; -one: -two: ; -three: ; : -four: ; $(.XY) -five: ; \ - $(.XY) -six: ; \ - $(.XY) - $(.XY) -seven: ; \ - $(.XY) - : foo - $(.XY) -EOMAKE - -close(MAKEFILE); - -# TEST 0 - -&run_make_with_options($makefile, "-q one", &get_logfile); -$answer = ""; -&compare_output($answer, &get_logfile(1)); - -# TEST 1 - -&run_make_with_options($makefile, "-q two", &get_logfile); -$answer = ""; -&compare_output($answer, &get_logfile(1)); - -# TEST 2 - -&run_make_with_options($makefile, "-q three", &get_logfile, 256); -$answer = ""; -&compare_output($answer, &get_logfile(1)); - -# TEST 3 - -&run_make_with_options($makefile, "-q four", &get_logfile); -$answer = ""; -&compare_output($answer, &get_logfile(1)); - -# TEST 4 - -&run_make_with_options($makefile, "-q five", &get_logfile); -$answer = ""; -&compare_output($answer, &get_logfile(1)); - -# TEST 5 - -&run_make_with_options($makefile, "-q six", &get_logfile); -$answer = ""; -&compare_output($answer, &get_logfile(1)); - -# TEST 6 - -&run_make_with_options($makefile, "-q seven", &get_logfile, 256); -$answer = ""; -&compare_output($answer, &get_logfile(1)); - -1; +# -*-perl-*- +$description = "Test the -q option.\n"; + +$details = "Try various uses of -q and ensure they all give the correct results.\n"; + +open(MAKEFILE, "> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE <<'EOMAKE'; +one: +two: ; +three: ; : +four: ; $(.XY) +five: ; \ + $(.XY) +six: ; \ + $(.XY) + $(.XY) +seven: ; \ + $(.XY) + : foo + $(.XY) +EOMAKE + +close(MAKEFILE); + +# TEST 0 + +&run_make_with_options($makefile, "-q one", &get_logfile); +$answer = ""; +&compare_output($answer, &get_logfile(1)); + +# TEST 1 + +&run_make_with_options($makefile, "-q two", &get_logfile); +$answer = ""; +&compare_output($answer, &get_logfile(1)); + +# TEST 2 + +&run_make_with_options($makefile, "-q three", &get_logfile, 256); +$answer = ""; +&compare_output($answer, &get_logfile(1)); + +# TEST 3 + +&run_make_with_options($makefile, "-q four", &get_logfile); +$answer = ""; +&compare_output($answer, &get_logfile(1)); + +# TEST 4 + +&run_make_with_options($makefile, "-q five", &get_logfile); +$answer = ""; +&compare_output($answer, &get_logfile(1)); + +# TEST 5 + +&run_make_with_options($makefile, "-q six", &get_logfile); +$answer = ""; +&compare_output($answer, &get_logfile(1)); + +# TEST 6 + +&run_make_with_options($makefile, "-q seven", &get_logfile, 256); +$answer = ""; +&compare_output($answer, &get_logfile(1)); + +1; diff --git a/src/mkutil/make/tests/scripts/options/dash-t b/src/mkutil/make/tests/scripts/options/dash-t index ec27d7af..536594ee 100644 --- a/src/mkutil/make/tests/scripts/options/dash-t +++ b/src/mkutil/make/tests/scripts/options/dash-t @@ -1,58 +1,58 @@ -# -*-perl-*- - -$description = "Test the -t option.\n"; - -$details = "Look out for regressions of prior bugs related to -t.\n"; -# That means, nobody has even tried to make the tests below comprehensive - -# TEST 0 -# bug reported by Henning Makholm on 2001-11-03: -# make 3.79.1 touches only interm-[ab] but reports final-[a] as -# 'up to date' without touching them. -# The 'obvious' fix didn't work for double-colon rules, so pay special -# attention to them. - -open(MAKEFILE, "> $makefile"); -print MAKEFILE <<'EOMAKE'; -final-a: interm-a ; echo >> $@ -final-b: interm-b ; echo >> $@ -interm-a:: orig1-a ; echo >> $@ -interm-a:: orig2-a ; echo >> $@ -interm-b:: orig1-b ; echo >> $@ -interm-b:: orig2-b ; echo >> $@ -EOMAKE -close(MAKEFILE); - -&utouch(-30, 'orig1-a','orig2-b'); -&utouch(-20, 'interm-a','interm-b'); -&utouch(-10, 'final-a','final-b'); -&touch('orig2-a','orig1-b'); - -&run_make_with_options($makefile, "-t final-a final-b", &get_logfile); -$answer = "touch interm-a\ntouch final-a\ntouch interm-b\ntouch final-b\n"; -&compare_output($answer, &get_logfile(1)); - -unlink('orig1-a', 'orig2-a', 'interm-a', 'final-a'); -unlink('orig1-b', 'orig2-b', 'interm-b', 'final-b'); - -# TEST 1 -# -t should not touch files with no commands. - -$makefile2 = &get_tmpfile; - -open(MAKEFILE, "> $makefile2"); -print MAKEFILE <<'EOMAKE'; - -PHOOEY: xxx -xxx: ; @: - -EOMAKE -close(MAKEFILE); - -&run_make_with_options($makefile2, "-t", &get_logfile); -$answer = "touch xxx\n"; -&compare_output($answer, &get_logfile(1)); - -unlink('xxx'); - -1; +# -*-perl-*- + +$description = "Test the -t option.\n"; + +$details = "Look out for regressions of prior bugs related to -t.\n"; +# That means, nobody has even tried to make the tests below comprehensive + +# TEST 0 +# bug reported by Henning Makholm on 2001-11-03: +# make 3.79.1 touches only interm-[ab] but reports final-[a] as +# 'up to date' without touching them. +# The 'obvious' fix didn't work for double-colon rules, so pay special +# attention to them. + +open(MAKEFILE, "> $makefile"); +print MAKEFILE <<'EOMAKE'; +final-a: interm-a ; echo >> $@ +final-b: interm-b ; echo >> $@ +interm-a:: orig1-a ; echo >> $@ +interm-a:: orig2-a ; echo >> $@ +interm-b:: orig1-b ; echo >> $@ +interm-b:: orig2-b ; echo >> $@ +EOMAKE +close(MAKEFILE); + +&utouch(-30, 'orig1-a','orig2-b'); +&utouch(-20, 'interm-a','interm-b'); +&utouch(-10, 'final-a','final-b'); +&touch('orig2-a','orig1-b'); + +&run_make_with_options($makefile, "-t final-a final-b", &get_logfile); +$answer = "touch interm-a\ntouch final-a\ntouch interm-b\ntouch final-b\n"; +&compare_output($answer, &get_logfile(1)); + +unlink('orig1-a', 'orig2-a', 'interm-a', 'final-a'); +unlink('orig1-b', 'orig2-b', 'interm-b', 'final-b'); + +# TEST 1 +# -t should not touch files with no commands. + +$makefile2 = &get_tmpfile; + +open(MAKEFILE, "> $makefile2"); +print MAKEFILE <<'EOMAKE'; + +PHOOEY: xxx +xxx: ; @: + +EOMAKE +close(MAKEFILE); + +&run_make_with_options($makefile2, "-t", &get_logfile); +$answer = "touch xxx\n"; +&compare_output($answer, &get_logfile(1)); + +unlink('xxx'); + +1; diff --git a/src/mkutil/make/tests/scripts/options/general b/src/mkutil/make/tests/scripts/options/general index d35bb358..0515accf 100644 --- a/src/mkutil/make/tests/scripts/options/general +++ b/src/mkutil/make/tests/scripts/options/general @@ -1,35 +1,35 @@ -# -*-perl-*- -$description = "Test generic option processing.\n"; - -open(MAKEFILE, "> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "foo 1foo: ; \@echo \$\@\n"; - -close(MAKEFILE); - -# TEST 0 - -&run_make_with_options($makefile, "-j 1foo", &get_logfile); -if (!$parallel_jobs) { - $answer = "$make_name: Parallel jobs (-j) are not supported on this platform.\n$make_name: Resetting to single job (-j1) mode.\n1foo\n"; -} -else { - $answer = "1foo\n"; -} - -# TEST 1 - -# This test prints the usage string; I don't really know a good way to -# test it. I guess I could invoke make with a known-bad option to see -# what the usage looks like, then compare it to what I get here... :( - -# If I were always on UNIX, I could invoke it with 2>/dev/null, then -# just check the error code. - -&run_make_with_options($makefile, "-j1foo 2>/dev/null", &get_logfile, 512); -$answer = ""; -&compare_output($answer, &get_logfile(1)); - -1; +# -*-perl-*- +$description = "Test generic option processing.\n"; + +open(MAKEFILE, "> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "foo 1foo: ; \@echo \$\@\n"; + +close(MAKEFILE); + +# TEST 0 + +&run_make_with_options($makefile, "-j 1foo", &get_logfile); +if (!$parallel_jobs) { + $answer = "$make_name: Parallel jobs (-j) are not supported on this platform.\n$make_name: Resetting to single job (-j1) mode.\n1foo\n"; +} +else { + $answer = "1foo\n"; +} + +# TEST 1 + +# This test prints the usage string; I don't really know a good way to +# test it. I guess I could invoke make with a known-bad option to see +# what the usage looks like, then compare it to what I get here... :( + +# If I were always on UNIX, I could invoke it with 2>/dev/null, then +# just check the error code. + +&run_make_with_options($makefile, "-j1foo 2>/dev/null", &get_logfile, 512); +$answer = ""; +&compare_output($answer, &get_logfile(1)); + +1; diff --git a/src/mkutil/make/tests/scripts/targets/CVS/Entries b/src/mkutil/make/tests/scripts/targets/CVS/Entries index 7e1deed3..910582c5 100644 --- a/src/mkutil/make/tests/scripts/targets/CVS/Entries +++ b/src/mkutil/make/tests/scripts/targets/CVS/Entries @@ -1,8 +1,8 @@ -/DEFAULT/1.1/Tue Sep 14 02:03:50 1999// -/FORCE/1.1/Tue Sep 14 02:03:51 1999// -/INTERMEDIATE/1.6/Wed Sep 4 07:26:20 2002// -/PHONY/1.1/Tue Sep 14 02:03:51 1999// -/SECONDARY/1.4/Fri Mar 28 06:31:45 2003// -/SILENT/1.1/Tue Sep 14 02:03:52 1999// -/clean/1.1/Tue Sep 14 02:03:52 1999// -D +/DEFAULT/1.1.1.1/Mon Nov 17 19:06:12 2003// +/FORCE/1.1.1.1/Mon Nov 17 19:06:12 2003// +/INTERMEDIATE/1.1.1.1/Mon Nov 17 19:06:12 2003// +/PHONY/1.1.1.1/Mon Nov 17 19:06:12 2003// +/SECONDARY/1.1.1.1/Mon Nov 17 19:06:12 2003// +/SILENT/1.1.1.1/Mon Nov 17 19:06:12 2003// +/clean/1.1.1.1/Mon Nov 17 19:06:12 2003// +D diff --git a/src/mkutil/make/tests/scripts/targets/CVS/Repository b/src/mkutil/make/tests/scripts/targets/CVS/Repository index 2abe0d69..acd890ba 100644 --- a/src/mkutil/make/tests/scripts/targets/CVS/Repository +++ b/src/mkutil/make/tests/scripts/targets/CVS/Repository @@ -1 +1 @@ -make/tests/scripts/targets +uzi/src/mkutil/make/tests/scripts/targets diff --git a/src/mkutil/make/tests/scripts/targets/CVS/Root b/src/mkutil/make/tests/scripts/targets/CVS/Root index 132093b8..933b8194 100644 --- a/src/mkutil/make/tests/scripts/targets/CVS/Root +++ b/src/mkutil/make/tests/scripts/targets/CVS/Root @@ -1 +1 @@ -:pserver:anoncvs@subversions.gnu.org:/cvsroot/make +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/make/tests/scripts/targets/DEFAULT b/src/mkutil/make/tests/scripts/targets/DEFAULT index 0cabde94..77711731 100644 --- a/src/mkutil/make/tests/scripts/targets/DEFAULT +++ b/src/mkutil/make/tests/scripts/targets/DEFAULT @@ -1,53 +1,53 @@ -$description = "The following test creates a makefile to override part\n" - ."of one Makefile with Another Makefile with the .DEFAULT\n" - ."rule."; - -$details = "This tests the use of the .DEFAULT special target to say that \n" - ."to remake any target that cannot be made fram the information\n" - ."in the containing makefile, make should look in another makefile\n" - ."This test gives this makefile the target bar which is not \n" - ."defined here but passes the target bar on to another makefile\n" - ."which does have the target bar defined.\n"; - -$makefile2 = &get_tmpfile; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "foo:\n"; -print MAKEFILE "\t\@echo Executing rule FOO\n\n"; -print MAKEFILE ".DEFAULT:\n"; -print MAKEFILE "\t\@\$(MAKE) -f $makefile2 \$\@ \n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - - -open(MAKEFILE,"> $makefile2"); - -print MAKEFILE "bar:\n"; -print MAKEFILE "\t\@echo Executing rule BAR\n\n"; - -close(MAKEFILE); - -&run_make_with_options($makefile,'bar',&get_logfile); - -# Create the answer to what should be produced by this Makefile -$answer = "${make_name}[1]: Entering directory `$pwd'\n" - . "Executing rule BAR\n" - . "${make_name}[1]: Leaving directory `$pwd'\n"; - -# COMPARE RESULTS - -&compare_output($answer,&get_logfile(1)); - -# This tells the test driver that the perl test script executed properly. -1; - - - - - - +$description = "The following test creates a makefile to override part\n" + ."of one Makefile with Another Makefile with the .DEFAULT\n" + ."rule."; + +$details = "This tests the use of the .DEFAULT special target to say that \n" + ."to remake any target that cannot be made fram the information\n" + ."in the containing makefile, make should look in another makefile\n" + ."This test gives this makefile the target bar which is not \n" + ."defined here but passes the target bar on to another makefile\n" + ."which does have the target bar defined.\n"; + +$makefile2 = &get_tmpfile; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "foo:\n"; +print MAKEFILE "\t\@echo Executing rule FOO\n\n"; +print MAKEFILE ".DEFAULT:\n"; +print MAKEFILE "\t\@\$(MAKE) -f $makefile2 \$\@ \n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + + +open(MAKEFILE,"> $makefile2"); + +print MAKEFILE "bar:\n"; +print MAKEFILE "\t\@echo Executing rule BAR\n\n"; + +close(MAKEFILE); + +&run_make_with_options($makefile,'bar',&get_logfile); + +# Create the answer to what should be produced by this Makefile +$answer = "${make_name}[1]: Entering directory `$pwd'\n" + . "Executing rule BAR\n" + . "${make_name}[1]: Leaving directory `$pwd'\n"; + +# COMPARE RESULTS + +&compare_output($answer,&get_logfile(1)); + +# This tells the test driver that the perl test script executed properly. +1; + + + + + + diff --git a/src/mkutil/make/tests/scripts/targets/FORCE b/src/mkutil/make/tests/scripts/targets/FORCE index 90ee48d6..74e8ccd5 100644 --- a/src/mkutil/make/tests/scripts/targets/FORCE +++ b/src/mkutil/make/tests/scripts/targets/FORCE @@ -1,52 +1,52 @@ -$description = "The following tests rules without Commands or Dependencies."; - -$details = "If the rule ...\n"; - -if ($vos) -{ - $delete_command = "delete_file"; -} -else -{ - $delete_command = "rm"; -} - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE ".IGNORE :\n"; -print MAKEFILE "clean: FORCE\n"; -print MAKEFILE "\t$delete_command clean\n"; -print MAKEFILE "FORCE:\n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - - -# Create a file named "clean". This is the same name as the target clean -# and tricks the target into thinking that it is up to date. (Unless you -# use the .PHONY target. -&touch("clean"); - -$answer = "$delete_command clean\n"; -&run_make_with_options($makefile,"clean",&get_logfile); - -&compare_output($answer,&get_logfile(1)); - -if (-f $example) -{ - $test_passed = 0; -} - -1; - - - - - - - - - +$description = "The following tests rules without Commands or Dependencies."; + +$details = "If the rule ...\n"; + +if ($vos) +{ + $delete_command = "delete_file"; +} +else +{ + $delete_command = "rm"; +} + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE ".IGNORE :\n"; +print MAKEFILE "clean: FORCE\n"; +print MAKEFILE "\t$delete_command clean\n"; +print MAKEFILE "FORCE:\n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + + +# Create a file named "clean". This is the same name as the target clean +# and tricks the target into thinking that it is up to date. (Unless you +# use the .PHONY target. +&touch("clean"); + +$answer = "$delete_command clean\n"; +&run_make_with_options($makefile,"clean",&get_logfile); + +&compare_output($answer,&get_logfile(1)); + +if (-f $example) +{ + $test_passed = 0; +} + +1; + + + + + + + + + diff --git a/src/mkutil/make/tests/scripts/targets/INTERMEDIATE b/src/mkutil/make/tests/scripts/targets/INTERMEDIATE index 4fdd7a2a..bf64eb97 100644 --- a/src/mkutil/make/tests/scripts/targets/INTERMEDIATE +++ b/src/mkutil/make/tests/scripts/targets/INTERMEDIATE @@ -1,108 +1,108 @@ -# -*-perl-*- - -$description = "Test the behaviour of the .INTERMEDIATE target."; - -$details = "\ -Test the behavior of the .INTERMEDIATE special target. -Create a makefile where a file would not normally be considered -intermediate, then specify it as .INTERMEDIATE. Build and ensure it's -deleted properly. Rebuild to ensure that it's not created if it doesn't -exist but doesn't need to be built. Change the original and ensure -that the intermediate file and the ultimate target are both rebuilt, and -that the intermediate file is again deleted. - -Try this with implicit rules and explicit rules: both should work.\n"; - -open(MAKEFILE,"> $makefile"); - -print MAKEFILE <<'EOF'; - -.INTERMEDIATE: foo.e bar.e - -# Implicit rule test -%.d : %.e ; cp $< $@ -%.e : %.f ; cp $< $@ - -foo.d: foo.e - -# Explicit rule test -foo.c: foo.e bar.e; cat $^ > $@ -EOF - -close(MAKEFILE); - -# TEST #0 - -&utouch(-20, 'foo.f', 'bar.f'); - -&run_make_with_options($makefile,'foo.d',&get_logfile); -$answer = "cp foo.f foo.e\ncp foo.e foo.d\nrm foo.e\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST #1 - -&run_make_with_options($makefile,'foo.d',&get_logfile); -$answer = "$make_name: `foo.d' is up to date.\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST #2 - -&utouch(-10, 'foo.d'); -&touch('foo.f'); - -&run_make_with_options($makefile,'foo.d',&get_logfile); -$answer = "cp foo.f foo.e\ncp foo.e foo.d\nrm foo.e\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST #3 - -&run_make_with_options($makefile,'foo.c',&get_logfile); -$answer = "cp foo.f foo.e\ncp bar.f bar.e\ncat foo.e bar.e > foo.c\nrm bar.e foo.e\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST #4 - -&run_make_with_options($makefile,'foo.c',&get_logfile); -$answer = "$make_name: `foo.c' is up to date.\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST #5 - -&utouch(-10, 'foo.c'); -&touch('foo.f'); - -&run_make_with_options($makefile,'foo.c',&get_logfile); -$answer = "cp foo.f foo.e\ncp bar.f bar.e\ncat foo.e bar.e > foo.c\nrm bar.e foo.e\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST #6 -- added for PR/1669: don't remove files mentioned on the cmd line. - -&run_make_with_options($makefile,'foo.e',&get_logfile); -$answer = "cp foo.f foo.e\n"; -&compare_output($answer, &get_logfile(1)); - -unlink('foo.f', 'foo.e', 'foo.d', 'foo.c', 'bar.f', 'bar.e', 'bar.d', 'bar.c'); - -# TEST #7 -- added for PR/1423 - -$makefile2 = &get_tmpfile; - -open(MAKEFILE, "> $makefile2"); - -print MAKEFILE <<'EOF'; -all: foo -foo.a: ; touch $@ -%: %.a ; touch $@ -.INTERMEDIATE: foo.a -EOF - -close(MAKEFILE); - -&run_make_with_options($makefile2, '-R', &get_logfile); -$answer = "touch foo.a\ntouch foo\nrm foo.a\n"; -&compare_output($answer, &get_logfile(1)); - -unlink('foo'); - -# This tells the test driver that the perl test script executed properly. -1; +# -*-perl-*- + +$description = "Test the behaviour of the .INTERMEDIATE target."; + +$details = "\ +Test the behavior of the .INTERMEDIATE special target. +Create a makefile where a file would not normally be considered +intermediate, then specify it as .INTERMEDIATE. Build and ensure it's +deleted properly. Rebuild to ensure that it's not created if it doesn't +exist but doesn't need to be built. Change the original and ensure +that the intermediate file and the ultimate target are both rebuilt, and +that the intermediate file is again deleted. + +Try this with implicit rules and explicit rules: both should work.\n"; + +open(MAKEFILE,"> $makefile"); + +print MAKEFILE <<'EOF'; + +.INTERMEDIATE: foo.e bar.e + +# Implicit rule test +%.d : %.e ; cp $< $@ +%.e : %.f ; cp $< $@ + +foo.d: foo.e + +# Explicit rule test +foo.c: foo.e bar.e; cat $^ > $@ +EOF + +close(MAKEFILE); + +# TEST #0 + +&utouch(-20, 'foo.f', 'bar.f'); + +&run_make_with_options($makefile,'foo.d',&get_logfile); +$answer = "cp foo.f foo.e\ncp foo.e foo.d\nrm foo.e\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST #1 + +&run_make_with_options($makefile,'foo.d',&get_logfile); +$answer = "$make_name: `foo.d' is up to date.\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST #2 + +&utouch(-10, 'foo.d'); +&touch('foo.f'); + +&run_make_with_options($makefile,'foo.d',&get_logfile); +$answer = "cp foo.f foo.e\ncp foo.e foo.d\nrm foo.e\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST #3 + +&run_make_with_options($makefile,'foo.c',&get_logfile); +$answer = "cp foo.f foo.e\ncp bar.f bar.e\ncat foo.e bar.e > foo.c\nrm bar.e foo.e\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST #4 + +&run_make_with_options($makefile,'foo.c',&get_logfile); +$answer = "$make_name: `foo.c' is up to date.\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST #5 + +&utouch(-10, 'foo.c'); +&touch('foo.f'); + +&run_make_with_options($makefile,'foo.c',&get_logfile); +$answer = "cp foo.f foo.e\ncp bar.f bar.e\ncat foo.e bar.e > foo.c\nrm bar.e foo.e\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST #6 -- added for PR/1669: don't remove files mentioned on the cmd line. + +&run_make_with_options($makefile,'foo.e',&get_logfile); +$answer = "cp foo.f foo.e\n"; +&compare_output($answer, &get_logfile(1)); + +unlink('foo.f', 'foo.e', 'foo.d', 'foo.c', 'bar.f', 'bar.e', 'bar.d', 'bar.c'); + +# TEST #7 -- added for PR/1423 + +$makefile2 = &get_tmpfile; + +open(MAKEFILE, "> $makefile2"); + +print MAKEFILE <<'EOF'; +all: foo +foo.a: ; touch $@ +%: %.a ; touch $@ +.INTERMEDIATE: foo.a +EOF + +close(MAKEFILE); + +&run_make_with_options($makefile2, '-R', &get_logfile); +$answer = "touch foo.a\ntouch foo\nrm foo.a\n"; +&compare_output($answer, &get_logfile(1)); + +unlink('foo'); + +# This tells the test driver that the perl test script executed properly. +1; diff --git a/src/mkutil/make/tests/scripts/targets/PHONY b/src/mkutil/make/tests/scripts/targets/PHONY index 14d5ae1c..ec46122e 100644 --- a/src/mkutil/make/tests/scripts/targets/PHONY +++ b/src/mkutil/make/tests/scripts/targets/PHONY @@ -1,62 +1,62 @@ -$description = "The following tests the use of a PHONY target. It makes\n" - ."sure that the rules under a target get executed even if\n" - ."a filename of the same name of the target exists in the\n" - ."directory.\n"; - -$details = "This makefile in this test declares the target clean to be a \n" - ."PHONY target. We then create a file named \"clean\" in the \n" - ."directory. Although this file exists, the rule under the target\n" - ."clean should still execute because of it's phony status."; - -if ($vos) -{ - $delete_command = "delete_file"; -} -else -{ - $delete_command = "rm"; -} - -$example = "EXAMPLE_FILE"; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE ".PHONY : clean \n"; -print MAKEFILE "all: \n"; -print MAKEFILE "\t\@echo This makefile did not clean the dir ... good\n"; -print MAKEFILE "clean: \n"; -print MAKEFILE "\t$delete_command $example clean\n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&touch($example); - -# Create a file named "clean". This is the same name as the target clean -# and tricks the target into thinking that it is up to date. (Unless you -# use the .PHONY target. -&touch("clean"); - -$answer = "$delete_command $example clean\n"; -&run_make_with_options($makefile,"clean",&get_logfile); - -&compare_output($answer,&get_logfile(1)); - -if (-f $example) -{ - $test_passed = 0; -} - -1; - - - - - - - - - +$description = "The following tests the use of a PHONY target. It makes\n" + ."sure that the rules under a target get executed even if\n" + ."a filename of the same name of the target exists in the\n" + ."directory.\n"; + +$details = "This makefile in this test declares the target clean to be a \n" + ."PHONY target. We then create a file named \"clean\" in the \n" + ."directory. Although this file exists, the rule under the target\n" + ."clean should still execute because of it's phony status."; + +if ($vos) +{ + $delete_command = "delete_file"; +} +else +{ + $delete_command = "rm"; +} + +$example = "EXAMPLE_FILE"; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE ".PHONY : clean \n"; +print MAKEFILE "all: \n"; +print MAKEFILE "\t\@echo This makefile did not clean the dir ... good\n"; +print MAKEFILE "clean: \n"; +print MAKEFILE "\t$delete_command $example clean\n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&touch($example); + +# Create a file named "clean". This is the same name as the target clean +# and tricks the target into thinking that it is up to date. (Unless you +# use the .PHONY target. +&touch("clean"); + +$answer = "$delete_command $example clean\n"; +&run_make_with_options($makefile,"clean",&get_logfile); + +&compare_output($answer,&get_logfile(1)); + +if (-f $example) +{ + $test_passed = 0; +} + +1; + + + + + + + + + diff --git a/src/mkutil/make/tests/scripts/targets/SECONDARY b/src/mkutil/make/tests/scripts/targets/SECONDARY index a6c5dab6..eb923f70 100644 --- a/src/mkutil/make/tests/scripts/targets/SECONDARY +++ b/src/mkutil/make/tests/scripts/targets/SECONDARY @@ -1,112 +1,112 @@ -#! -*-perl-*- - -$description = "Test the behaviour of the .SECONDARY target."; - -$details = "\ -Test the behavior of the .SECONDARY special target. -Create a makefile where a file would not normally be considered -intermediate, then specify it as .SECONDARY. Build and note that it's -not automatically deleted. Delete the file. Rebuild to ensure that -it's not created if it doesn't exist but doesn't need to be built. -Change the original and ensure that the secondary file and the ultimate -target are both rebuilt, and that the secondary file is not deleted. - -Try this with implicit rules and explicit rules: both should work.\n"; - -open(MAKEFILE,"> $makefile"); - -print MAKEFILE <<'EOF'; - -.SECONDARY: foo.e - -# Implicit rule test -%.d : %.e ; cp $< $@ -%.e : %.f ; cp $< $@ - -foo.d: foo.e - -# Explicit rule test -foo.c: foo.e ; cp $< $@ -EOF - -close(MAKEFILE); - -# TEST #1 - -&utouch(-20, 'foo.f'); - -&run_make_with_options($makefile,'foo.d',&get_logfile); -$answer = "cp foo.f foo.e\ncp foo.e foo.d\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST #2 - -unlink('foo.e'); - -&run_make_with_options($makefile,'foo.d',&get_logfile); -$answer = "$make_name: `foo.d' is up to date.\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST #3 - -&utouch(-10, 'foo.d'); -&touch('foo.f'); - -&run_make_with_options($makefile,'foo.d',&get_logfile); -$answer = "cp foo.f foo.e\ncp foo.e foo.d\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST #4 - -&run_make_with_options($makefile,'foo.c',&get_logfile); -$answer = "cp foo.e foo.c\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST #5 - -unlink('foo.e'); - -&run_make_with_options($makefile,'foo.c',&get_logfile); -$answer = "$make_name: `foo.c' is up to date.\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST #6 - -&utouch(-10, 'foo.c'); -&touch('foo.f'); - -&run_make_with_options($makefile,'foo.c',&get_logfile); -$answer = "cp foo.f foo.e\ncp foo.e foo.c\n"; -&compare_output($answer, &get_logfile(1)); - -unlink('foo.f', 'foo.e', 'foo.d', 'foo.c'); - -# TEST #7 -- test the "global" .SECONDARY, with no targets. - -$makefile2 = &get_tmpfile; - -open(MAKEFILE, "> $makefile2"); - -print MAKEFILE <<'EOF'; -.SECONDARY: - -final: intermediate -intermediate: source - -final intermediate source: - echo $< > $@ -EOF - -close(MAKEFILE); - -&utouch(-10, 'source'); -touch('final'); - -&run_make_with_options($makefile2, '', &get_logfile); -$answer = "$make_name: `final' is up to date.\n"; -&compare_output($answer, &get_logfile(1)); - -unlink('source', 'final', 'intermediate'); - -# This tells the test driver that the perl test script executed properly. -1; +#! -*-perl-*- + +$description = "Test the behaviour of the .SECONDARY target."; + +$details = "\ +Test the behavior of the .SECONDARY special target. +Create a makefile where a file would not normally be considered +intermediate, then specify it as .SECONDARY. Build and note that it's +not automatically deleted. Delete the file. Rebuild to ensure that +it's not created if it doesn't exist but doesn't need to be built. +Change the original and ensure that the secondary file and the ultimate +target are both rebuilt, and that the secondary file is not deleted. + +Try this with implicit rules and explicit rules: both should work.\n"; + +open(MAKEFILE,"> $makefile"); + +print MAKEFILE <<'EOF'; + +.SECONDARY: foo.e + +# Implicit rule test +%.d : %.e ; cp $< $@ +%.e : %.f ; cp $< $@ + +foo.d: foo.e + +# Explicit rule test +foo.c: foo.e ; cp $< $@ +EOF + +close(MAKEFILE); + +# TEST #1 + +&utouch(-20, 'foo.f'); + +&run_make_with_options($makefile,'foo.d',&get_logfile); +$answer = "cp foo.f foo.e\ncp foo.e foo.d\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST #2 + +unlink('foo.e'); + +&run_make_with_options($makefile,'foo.d',&get_logfile); +$answer = "$make_name: `foo.d' is up to date.\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST #3 + +&utouch(-10, 'foo.d'); +&touch('foo.f'); + +&run_make_with_options($makefile,'foo.d',&get_logfile); +$answer = "cp foo.f foo.e\ncp foo.e foo.d\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST #4 + +&run_make_with_options($makefile,'foo.c',&get_logfile); +$answer = "cp foo.e foo.c\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST #5 + +unlink('foo.e'); + +&run_make_with_options($makefile,'foo.c',&get_logfile); +$answer = "$make_name: `foo.c' is up to date.\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST #6 + +&utouch(-10, 'foo.c'); +&touch('foo.f'); + +&run_make_with_options($makefile,'foo.c',&get_logfile); +$answer = "cp foo.f foo.e\ncp foo.e foo.c\n"; +&compare_output($answer, &get_logfile(1)); + +unlink('foo.f', 'foo.e', 'foo.d', 'foo.c'); + +# TEST #7 -- test the "global" .SECONDARY, with no targets. + +$makefile2 = &get_tmpfile; + +open(MAKEFILE, "> $makefile2"); + +print MAKEFILE <<'EOF'; +.SECONDARY: + +final: intermediate +intermediate: source + +final intermediate source: + echo $< > $@ +EOF + +close(MAKEFILE); + +&utouch(-10, 'source'); +touch('final'); + +&run_make_with_options($makefile2, '', &get_logfile); +$answer = "$make_name: `final' is up to date.\n"; +&compare_output($answer, &get_logfile(1)); + +unlink('source', 'final', 'intermediate'); + +# This tells the test driver that the perl test script executed properly. +1; diff --git a/src/mkutil/make/tests/scripts/targets/SILENT b/src/mkutil/make/tests/scripts/targets/SILENT index 375cad49..271327e4 100644 --- a/src/mkutil/make/tests/scripts/targets/SILENT +++ b/src/mkutil/make/tests/scripts/targets/SILENT @@ -1,51 +1,51 @@ -$description = "The following tests the special target .SILENT. By simply\n" - ."mentioning this as a target, it tells make not to print\n" - ."commands before executing them."; - -$details = "This test is the same as the clean test except that it should\n" - ."not echo its command before deleting the specified file.\n"; - -if ($vos) -{ - $delete_command = "delete_file"; -} -else -{ - $delete_command = "rm"; -} - -$example = "EXAMPLE_FILE"; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE ".SILENT : clean\n"; -print MAKEFILE "clean: \n"; -print MAKEFILE "\t$delete_command EXAMPLE_FILE\n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&touch($example); - -$answer = ""; -&run_make_with_options($makefile,"clean",&get_logfile,0); - -&compare_output($answer,&get_logfile(1)); -if (-f $example) -{ - $test_passed = 0; -} - -1; - - - - - - - - - +$description = "The following tests the special target .SILENT. By simply\n" + ."mentioning this as a target, it tells make not to print\n" + ."commands before executing them."; + +$details = "This test is the same as the clean test except that it should\n" + ."not echo its command before deleting the specified file.\n"; + +if ($vos) +{ + $delete_command = "delete_file"; +} +else +{ + $delete_command = "rm"; +} + +$example = "EXAMPLE_FILE"; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE ".SILENT : clean\n"; +print MAKEFILE "clean: \n"; +print MAKEFILE "\t$delete_command EXAMPLE_FILE\n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&touch($example); + +$answer = ""; +&run_make_with_options($makefile,"clean",&get_logfile,0); + +&compare_output($answer,&get_logfile(1)); +if (-f $example) +{ + $test_passed = 0; +} + +1; + + + + + + + + + diff --git a/src/mkutil/make/tests/scripts/targets/clean b/src/mkutil/make/tests/scripts/targets/clean index 69f4fd1b..ccee4c2e 100644 --- a/src/mkutil/make/tests/scripts/targets/clean +++ b/src/mkutil/make/tests/scripts/targets/clean @@ -1,51 +1,51 @@ -# -*-perl-*- - -$description = "The following test creates a makefile to delete a \n" - ."file in the directory. It tests to see if make will \n" - ."NOT execute the command unless the rule is given in \n" - ."the make command line."; - -$example = "EXAMPLE_FILE"; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "all: \n"; -print MAKEFILE "\t\@echo This makefile did not clean the dir... good\n"; -print MAKEFILE "clean: \n"; -print MAKEFILE "\t$delete_command EXAMPLE_FILE\n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -&touch($example); - - -&run_make_with_options($makefile,"",&get_logfile,0); - -# Create the answer to what should be produced by this Makefile -$answer = "This makefile did not clean the dir... good\n"; - -&compare_output($answer,&get_logfile(1)) || &error ("abort"); - - -$answer = "$delete_command $example\n"; -&run_make_with_options($makefile,"clean",&get_logfile,0); - -&compare_output($answer,&get_logfile(1)) || &error ("abort"); -if (-f $example) { - $test_passed = 0; -} - -1; - - - - - - - - - +# -*-perl-*- + +$description = "The following test creates a makefile to delete a \n" + ."file in the directory. It tests to see if make will \n" + ."NOT execute the command unless the rule is given in \n" + ."the make command line."; + +$example = "EXAMPLE_FILE"; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "all: \n"; +print MAKEFILE "\t\@echo This makefile did not clean the dir... good\n"; +print MAKEFILE "clean: \n"; +print MAKEFILE "\t$delete_command EXAMPLE_FILE\n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&touch($example); + + +&run_make_with_options($makefile,"",&get_logfile,0); + +# Create the answer to what should be produced by this Makefile +$answer = "This makefile did not clean the dir... good\n"; + +&compare_output($answer,&get_logfile(1)) || &error ("abort"); + + +$answer = "$delete_command $example\n"; +&run_make_with_options($makefile,"clean",&get_logfile,0); + +&compare_output($answer,&get_logfile(1)) || &error ("abort"); +if (-f $example) { + $test_passed = 0; +} + +1; + + + + + + + + + diff --git a/src/mkutil/make/tests/scripts/test_template b/src/mkutil/make/tests/scripts/test_template index 773ced3d..98f9da5e 100644 --- a/src/mkutil/make/tests/scripts/test_template +++ b/src/mkutil/make/tests/scripts/test_template @@ -1,70 +1,70 @@ -$description = "The following test creates a makefile to ... - "; - -$details = ""; - -# IF YOU NEED >1 MAKEFILE FOR THIS TEST, USE &get_tmpfile; TO GET -# THE NAME OF THE MAKEFILE. THIS INSURES CONSISTENCY AND KEEPS TRACK OF -# HOW MANY MAKEFILES EXIST FOR EASY DELETION AT THE END. -# EXAMPLE: $makefile2 = &get_tmpfile; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE " \n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - - -# Run make. You may specify a makefile, but if you don't want to, just -# insert "" where $make_filename is now. You may also specify specific -# options to run make with, but you also don't have to. (Insert "" where it -# says ), The last field in this subroutine call -# is the code which is returned from make. If you think that make should -# execute with no errors, you may OPTIONALLY put 0; Otherwise put the -# error code that you expect back from make for this test. - -# Every time you run make, you just need to say &get_logfile and that -# subroutine will get a new logfile name for you in incrementing order -# according to how many times you call it within ONE test. It is -# reset to 0 at the beginning of every new test script. - -&run_make_with_options($makefile, - "", - &get_logfile, - 0); - - -# THE REST OF THIS FILE DEPENDS HIGHLY ON WHAT KIND OF TEST YOU ARE -# CREATING, SO IT WILL VARY. BASICALLY, YOU MAY INSERT ANYTHING YOU -# WISH AT THIS POINT TO SEE IF THE TEST WORKED OK. IF THERE ARE -# ADDITIONAL TESTS BESIDES &compare_output, AND IT FAILES, YOU -# MUST *** SET $test_passed = 0 !!! *** - -# Create the answer to what should be produced by this Makefile -$answer = ""; - -# COMPARE RESULTS - -# In this call to compare output, you should use the call &get_logfile(1) -# to send the name of the last logfile created. You may also use -# the special call &get_logfile(1) which returns the same as &get_logfile(1). - -&compare_output($answer,&get_logfile(1)); - -# If you wish to &error ("abort -") if the compare fails, then add a "|| &error ("abort -")" to the -# end of the previous line. - -# This tells the test driver that the perl test script executed properly. -1; - - - - - - +$description = "The following test creates a makefile to ... + "; + +$details = ""; + +# IF YOU NEED >1 MAKEFILE FOR THIS TEST, USE &get_tmpfile; TO GET +# THE NAME OF THE MAKEFILE. THIS INSURES CONSISTENCY AND KEEPS TRACK OF +# HOW MANY MAKEFILES EXIST FOR EASY DELETION AT THE END. +# EXAMPLE: $makefile2 = &get_tmpfile; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE " \n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + + +# Run make. You may specify a makefile, but if you don't want to, just +# insert "" where $make_filename is now. You may also specify specific +# options to run make with, but you also don't have to. (Insert "" where it +# says ), The last field in this subroutine call +# is the code which is returned from make. If you think that make should +# execute with no errors, you may OPTIONALLY put 0; Otherwise put the +# error code that you expect back from make for this test. + +# Every time you run make, you just need to say &get_logfile and that +# subroutine will get a new logfile name for you in incrementing order +# according to how many times you call it within ONE test. It is +# reset to 0 at the beginning of every new test script. + +&run_make_with_options($makefile, + "", + &get_logfile, + 0); + + +# THE REST OF THIS FILE DEPENDS HIGHLY ON WHAT KIND OF TEST YOU ARE +# CREATING, SO IT WILL VARY. BASICALLY, YOU MAY INSERT ANYTHING YOU +# WISH AT THIS POINT TO SEE IF THE TEST WORKED OK. IF THERE ARE +# ADDITIONAL TESTS BESIDES &compare_output, AND IT FAILES, YOU +# MUST *** SET $test_passed = 0 !!! *** + +# Create the answer to what should be produced by this Makefile +$answer = ""; + +# COMPARE RESULTS + +# In this call to compare output, you should use the call &get_logfile(1) +# to send the name of the last logfile created. You may also use +# the special call &get_logfile(1) which returns the same as &get_logfile(1). + +&compare_output($answer,&get_logfile(1)); + +# If you wish to &error ("abort +") if the compare fails, then add a "|| &error ("abort +")" to the +# end of the previous line. + +# This tells the test driver that the perl test script executed properly. +1; + + + + + + diff --git a/src/mkutil/make/tests/scripts/variables/CURDIR b/src/mkutil/make/tests/scripts/variables/CURDIR index ee7cacb1..e41b6ea2 100644 --- a/src/mkutil/make/tests/scripts/variables/CURDIR +++ b/src/mkutil/make/tests/scripts/variables/CURDIR @@ -1,20 +1,20 @@ -# -*-perl-*- - -$description = "This tests the CURDIR varaible."; - -$details = "Echo CURDIR both with and without -C. Also ensure overrides work."; - -open(MAKEFILE,"> $makefile"); -print MAKEFILE "all: ; \@echo \$(CURDIR)\n"; -close(MAKEFILE); - - -# TEST #1 -# ------- - -&run_make_with_options($makefile,"",&get_logfile); -$answer = "$pwd\n"; -&compare_output($answer,&get_logfile(1)); - - -1; +# -*-perl-*- + +$description = "This tests the CURDIR varaible."; + +$details = "Echo CURDIR both with and without -C. Also ensure overrides work."; + +open(MAKEFILE,"> $makefile"); +print MAKEFILE "all: ; \@echo \$(CURDIR)\n"; +close(MAKEFILE); + + +# TEST #1 +# ------- + +&run_make_with_options($makefile,"",&get_logfile); +$answer = "$pwd\n"; +&compare_output($answer,&get_logfile(1)); + + +1; diff --git a/src/mkutil/make/tests/scripts/variables/CVS/Entries b/src/mkutil/make/tests/scripts/variables/CVS/Entries index d4fb14b8..ac911443 100644 --- a/src/mkutil/make/tests/scripts/variables/CVS/Entries +++ b/src/mkutil/make/tests/scripts/variables/CVS/Entries @@ -1,10 +1,10 @@ -/CURDIR/1.2/Fri Oct 15 07:01:17 1999// -/MAKE/1.1/Tue Sep 14 02:03:54 1999// -/MAKECMDGOALS/1.2/Fri Sep 17 03:16:12 1999// -/MAKEFILES/1.2/Fri Oct 15 07:01:18 1999// -/MAKEFILE_LIST/1.1/Mon Jul 8 02:26:48 2002// -/MAKELEVEL/1.1/Tue Sep 14 02:03:54 1999// -/automatic/1.4/Sat Oct 5 13:45:48 2002// -/flavors/1.3/Mon Jul 8 02:26:48 2002// -/special/1.1/Thu Aug 8 00:11:20 2002// -D +/CURDIR/1.1.1.1/Mon Nov 17 19:06:12 2003// +/MAKE/1.1.1.1/Mon Nov 17 19:06:12 2003// +/MAKECMDGOALS/1.1.1.1/Mon Nov 17 19:06:12 2003// +/MAKEFILES/1.1.1.1/Mon Nov 17 19:06:12 2003// +/MAKEFILE_LIST/1.1.1.1/Mon Nov 17 19:06:12 2003// +/MAKELEVEL/1.1.1.1/Mon Nov 17 19:06:12 2003// +/automatic/1.1.1.1/Mon Nov 17 19:06:12 2003// +/flavors/1.1.1.1/Mon Nov 17 19:06:12 2003// +/special/1.1.1.1/Mon Nov 17 19:06:12 2003// +D diff --git a/src/mkutil/make/tests/scripts/variables/CVS/Repository b/src/mkutil/make/tests/scripts/variables/CVS/Repository index 3a5cfca2..70628af7 100644 --- a/src/mkutil/make/tests/scripts/variables/CVS/Repository +++ b/src/mkutil/make/tests/scripts/variables/CVS/Repository @@ -1 +1 @@ -make/tests/scripts/variables +uzi/src/mkutil/make/tests/scripts/variables diff --git a/src/mkutil/make/tests/scripts/variables/CVS/Root b/src/mkutil/make/tests/scripts/variables/CVS/Root index 132093b8..933b8194 100644 --- a/src/mkutil/make/tests/scripts/variables/CVS/Root +++ b/src/mkutil/make/tests/scripts/variables/CVS/Root @@ -1 +1 @@ -:pserver:anoncvs@subversions.gnu.org:/cvsroot/make +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/make/tests/scripts/variables/MAKE b/src/mkutil/make/tests/scripts/variables/MAKE index 7c4cf0a5..b766dbf3 100644 --- a/src/mkutil/make/tests/scripts/variables/MAKE +++ b/src/mkutil/make/tests/scripts/variables/MAKE @@ -1,33 +1,33 @@ -$description = "The following test creates a makefile to test MAKE \n" - ."(very generic)"; - -$details = "DETAILS"; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "TMP := \$(MAKE)\n"; -print MAKEFILE "MAKE := \$(subst X=\$(X),,\$(MAKE))\n\n"; -print MAKEFILE "all:\n"; -print MAKEFILE "\t\@echo \$(TMP)\n"; -print MAKEFILE "\t\$(MAKE) -f $makefile foo\n\n"; -print MAKEFILE "foo:\n"; -print MAKEFILE "\t\@echo \$(MAKE)\n"; - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -# Create the answer to what should be produced by this Makefile -$answer = "$mkpath\n$mkpath -f $makefile foo\n" - . "${make_name}[1]: Entering directory `$pwd'\n" - . "$mkpath\n${make_name}[1]: Leaving directory `$pwd'\n"; - -&run_make_with_options($makefile,"",&get_logfile,0); - -&delete("foo"); -# COMPARE RESULTS -&compare_output($answer,&get_logfile(1)); - -1; +$description = "The following test creates a makefile to test MAKE \n" + ."(very generic)"; + +$details = "DETAILS"; + +open(MAKEFILE,"> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE "TMP := \$(MAKE)\n"; +print MAKEFILE "MAKE := \$(subst X=\$(X),,\$(MAKE))\n\n"; +print MAKEFILE "all:\n"; +print MAKEFILE "\t\@echo \$(TMP)\n"; +print MAKEFILE "\t\$(MAKE) -f $makefile foo\n\n"; +print MAKEFILE "foo:\n"; +print MAKEFILE "\t\@echo \$(MAKE)\n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +# Create the answer to what should be produced by this Makefile +$answer = "$mkpath\n$mkpath -f $makefile foo\n" + . "${make_name}[1]: Entering directory `$pwd'\n" + . "$mkpath\n${make_name}[1]: Leaving directory `$pwd'\n"; + +&run_make_with_options($makefile,"",&get_logfile,0); + +&delete("foo"); +# COMPARE RESULTS +&compare_output($answer,&get_logfile(1)); + +1; diff --git a/src/mkutil/make/tests/scripts/variables/MAKECMDGOALS b/src/mkutil/make/tests/scripts/variables/MAKECMDGOALS index 879283b0..fbf6e3a9 100644 --- a/src/mkutil/make/tests/scripts/variables/MAKECMDGOALS +++ b/src/mkutil/make/tests/scripts/variables/MAKECMDGOALS @@ -1,52 +1,52 @@ -# -*-perl-*- - -$description = "Test the MAKECMDGOALS variable."; - -$details = "\ -We construct a makefile with various targets, all of which print out -\$(MAKECMDGOALS), then call it different ways."; - -open(MAKEFILE,"> $makefile"); -print MAKEFILE "\ -.DEFAULT all: - \@echo \$(MAKECMDGOALS) -"; -close(MAKEFILE); - -# TEST #1 - -&run_make_with_options($makefile, - "", - &get_logfile, - 0); -$answer = "\n"; -&compare_output($answer,&get_logfile(1)); - -# TEST #2 - -&run_make_with_options($makefile, - "all", - &get_logfile, - 0); -$answer = "all\n"; -&compare_output($answer,&get_logfile(1)); - - -# TEST #3 - -&run_make_with_options($makefile, - "foo bar baz yaz", - &get_logfile, - 0); -$answer = "foo bar baz yaz\nfoo bar baz yaz\nfoo bar baz yaz\nfoo bar baz yaz\n"; -&compare_output($answer,&get_logfile(1)); - - -# This tells the test driver that the perl test script executed properly. -1; - - - - - - +# -*-perl-*- + +$description = "Test the MAKECMDGOALS variable."; + +$details = "\ +We construct a makefile with various targets, all of which print out +\$(MAKECMDGOALS), then call it different ways."; + +open(MAKEFILE,"> $makefile"); +print MAKEFILE "\ +.DEFAULT all: + \@echo \$(MAKECMDGOALS) +"; +close(MAKEFILE); + +# TEST #1 + +&run_make_with_options($makefile, + "", + &get_logfile, + 0); +$answer = "\n"; +&compare_output($answer,&get_logfile(1)); + +# TEST #2 + +&run_make_with_options($makefile, + "all", + &get_logfile, + 0); +$answer = "all\n"; +&compare_output($answer,&get_logfile(1)); + + +# TEST #3 + +&run_make_with_options($makefile, + "foo bar baz yaz", + &get_logfile, + 0); +$answer = "foo bar baz yaz\nfoo bar baz yaz\nfoo bar baz yaz\nfoo bar baz yaz\n"; +&compare_output($answer,&get_logfile(1)); + + +# This tells the test driver that the perl test script executed properly. +1; + + + + + + diff --git a/src/mkutil/make/tests/scripts/variables/MAKEFILES b/src/mkutil/make/tests/scripts/variables/MAKEFILES index 3be284b3..168ebbbd 100644 --- a/src/mkutil/make/tests/scripts/variables/MAKEFILES +++ b/src/mkutil/make/tests/scripts/variables/MAKEFILES @@ -1,34 +1,34 @@ -# -*-perl-*- - -$description = "Test the MAKEFILES variable."; - -$makefile2 = &get_tmpfile; -$makefile3 = &get_tmpfile; - -open(MAKEFILE,"> $makefile"); -print MAKEFILE 'all: ; @echo DEFAULT RULE: M2=$(M2) M3=$(M3)', "\n"; -close(MAKEFILE); - - -open(MAKEFILE,"> $makefile2"); -print MAKEFILE < $makefile3"); -print MAKEFILE < $makefile"); +print MAKEFILE 'all: ; @echo DEFAULT RULE: M2=$(M2) M3=$(M3)', "\n"; +close(MAKEFILE); + + +open(MAKEFILE,"> $makefile2"); +print MAKEFILE < $makefile3"); +print MAKEFILE < $makefile"); -print MAKEFILE < $makefile2"); -print MAKEFILE "m2 := \$(MAKEFILE_LIST)\n"; -close(MAKEFILE); - - -&run_make_with_options($makefile, "", &get_logfile); -$answer = "$makefile\n$makefile $makefile2\n$makefile $makefile2\n"; -&compare_output($answer,&get_logfile(1)); - -1; +# -*-perl-*- + +$description = "Test the MAKEFILE_LIST variable."; + +$makefile2 = &get_tmpfile; + +open(MAKEFILE,"> $makefile"); +print MAKEFILE < $makefile2"); +print MAKEFILE "m2 := \$(MAKEFILE_LIST)\n"; +close(MAKEFILE); + + +&run_make_with_options($makefile, "", &get_logfile); +$answer = "$makefile\n$makefile $makefile2\n$makefile $makefile2\n"; +&compare_output($answer,&get_logfile(1)); + +1; diff --git a/src/mkutil/make/tests/scripts/variables/MAKELEVEL b/src/mkutil/make/tests/scripts/variables/MAKELEVEL index 79a184e4..d1cf4d09 100644 --- a/src/mkutil/make/tests/scripts/variables/MAKELEVEL +++ b/src/mkutil/make/tests/scripts/variables/MAKELEVEL @@ -1,34 +1,34 @@ -# -*-perl-mode-*- - -$description = "The following test creates a makefile to test -makelevels in Make. It prints \$(MAKELEVEL) and then -prints the environment variable MAKELEVEL"; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE < $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE < $makefile"); -print MAKEFILE "dir = $dir\n"; -print MAKEFILE <<'EOF'; -.SUFFIXES: -.SUFFIXES: .x .y .z -$(dir)/foo.x : baz.z $(dir)/bar.y baz.z - @echo '$$@ = $@, $$(@D) = $(@D), $$(@F) = $(@F)' - @echo '$$* = $*, $$(*D) = $(*D), $$(*F) = $(*F)' - @echo '$$< = $<, $$( $makefile2"); -print MAKEFILE "dir = $dir\n"; -print MAKEFILE <<'EOF'; -.SUFFIXES: -.DEFAULT: ; @echo '$@' - -$(dir)/foo $(dir)/bar: $@.x $$@.x $$$@.x $$$$@.x $$(@D).x $$(@F).x - -$(dir)/x.z $(dir)/y.z: $(dir)/%.z : $@.% $$@.% $$$@.% $$$$@.% $$(@D).% $$(@F).% - -$(dir)/biz: $$(@).x $${@}.x $${@D}.x $${@F}.x -EOF - -close(MAKEFILE); - -&run_make_with_options($makefile2, "$dir/foo $dir/bar", &get_logfile); -$answer = ".x\n$dir/foo.x\n\$.x\n\$@.x\n$dir.x\nfoo.x\n$dir/bar.x\nbar.x\n"; -&compare_output($answer, &get_logfile(1)); - -&run_make_with_options($makefile2, "$dir/x.z $dir/y.z", &get_logfile); -$answer = ".x\n$dir/x.z.x\n\$.x\n\$@.x\n$dir.x\nx.z.x\n.y\n$dir/y.z.y\n\$.y\n\$@.y\n$dir.y\ny.z.y\n"; -&compare_output($answer, &get_logfile(1)); - -&run_make_with_options($makefile2, "$dir/biz", &get_logfile); -$answer = "$dir/biz.x\n$dir.x\nbiz.x\n"; -&compare_output($answer, &get_logfile(1)); - -1; +# -*-perl-*- + +$description = "Test automatic variable setting."; + +$details = ""; + +use Cwd; + +$dir = cwd; +$dir =~ s,.*/([^/]+)$,../$1,; + +open(MAKEFILE, "> $makefile"); +print MAKEFILE "dir = $dir\n"; +print MAKEFILE <<'EOF'; +.SUFFIXES: +.SUFFIXES: .x .y .z +$(dir)/foo.x : baz.z $(dir)/bar.y baz.z + @echo '$$@ = $@, $$(@D) = $(@D), $$(@F) = $(@F)' + @echo '$$* = $*, $$(*D) = $(*D), $$(*F) = $(*F)' + @echo '$$< = $<, $$( $makefile2"); +print MAKEFILE "dir = $dir\n"; +print MAKEFILE <<'EOF'; +.SUFFIXES: +.DEFAULT: ; @echo '$@' + +$(dir)/foo $(dir)/bar: $@.x $$@.x $$$@.x $$$$@.x $$(@D).x $$(@F).x + +$(dir)/x.z $(dir)/y.z: $(dir)/%.z : $@.% $$@.% $$$@.% $$$$@.% $$(@D).% $$(@F).% + +$(dir)/biz: $$(@).x $${@}.x $${@D}.x $${@F}.x +EOF + +close(MAKEFILE); + +&run_make_with_options($makefile2, "$dir/foo $dir/bar", &get_logfile); +$answer = ".x\n$dir/foo.x\n\$.x\n\$@.x\n$dir.x\nfoo.x\n$dir/bar.x\nbar.x\n"; +&compare_output($answer, &get_logfile(1)); + +&run_make_with_options($makefile2, "$dir/x.z $dir/y.z", &get_logfile); +$answer = ".x\n$dir/x.z.x\n\$.x\n\$@.x\n$dir.x\nx.z.x\n.y\n$dir/y.z.y\n\$.y\n\$@.y\n$dir.y\ny.z.y\n"; +&compare_output($answer, &get_logfile(1)); + +&run_make_with_options($makefile2, "$dir/biz", &get_logfile); +$answer = "$dir/biz.x\n$dir.x\nbiz.x\n"; +&compare_output($answer, &get_logfile(1)); + +1; diff --git a/src/mkutil/make/tests/scripts/variables/flavors b/src/mkutil/make/tests/scripts/variables/flavors index 7c98afd2..a187e9bd 100644 --- a/src/mkutil/make/tests/scripts/variables/flavors +++ b/src/mkutil/make/tests/scripts/variables/flavors @@ -1,85 +1,85 @@ -# -*-perl-*- - -$description = "Test various flavors of make variable setting."; - -$details = ""; - -open(MAKEFILE, "> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE <<'EOF'; -foo = $(bar) -bar = ${ugh} -ugh = Hello - -all: multi ; @echo $(foo) - -multi: ; $(multi) - -x := foo -y := $(x) bar -x := later - -nullstring := -space := $(nullstring) $(nullstring) - -next: ; @echo $x$(space)$y - -define multi -@echo hi -echo there -endef - -ifdef BOGUS -define -@echo error -endef -endif - -define outer - define inner - A = B - endef -endef - -$(eval $(outer)) - -outer: ; @echo $(inner) - -EOF - -# END of Contents of MAKEFILE - -close(MAKEFILE); - -# TEST #1 -# ------- - -&run_make_with_options($makefile, "", &get_logfile); -$answer = "hi\necho there\nthere\nHello\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST #2 -# ------- - -&run_make_with_options($makefile, "next", &get_logfile); -$answer = "later foo bar\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST #3 -# ------- - -&run_make_with_options($makefile, "BOGUS=true", &get_logfile, 512); -$answer = "$makefile:23: *** empty variable name. Stop.\n"; -&compare_output($answer, &get_logfile(1)); - -# TEST #4 -# ------- - -&run_make_with_options($makefile, "outer", &get_logfile); -$answer = "A = B\n"; -&compare_output($answer, &get_logfile(1)); - - -1; +# -*-perl-*- + +$description = "Test various flavors of make variable setting."; + +$details = ""; + +open(MAKEFILE, "> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE <<'EOF'; +foo = $(bar) +bar = ${ugh} +ugh = Hello + +all: multi ; @echo $(foo) + +multi: ; $(multi) + +x := foo +y := $(x) bar +x := later + +nullstring := +space := $(nullstring) $(nullstring) + +next: ; @echo $x$(space)$y + +define multi +@echo hi +echo there +endef + +ifdef BOGUS +define +@echo error +endef +endif + +define outer + define inner + A = B + endef +endef + +$(eval $(outer)) + +outer: ; @echo $(inner) + +EOF + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +# TEST #1 +# ------- + +&run_make_with_options($makefile, "", &get_logfile); +$answer = "hi\necho there\nthere\nHello\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST #2 +# ------- + +&run_make_with_options($makefile, "next", &get_logfile); +$answer = "later foo bar\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST #3 +# ------- + +&run_make_with_options($makefile, "BOGUS=true", &get_logfile, 512); +$answer = "$makefile:23: *** empty variable name. Stop.\n"; +&compare_output($answer, &get_logfile(1)); + +# TEST #4 +# ------- + +&run_make_with_options($makefile, "outer", &get_logfile); +$answer = "A = B\n"; +&compare_output($answer, &get_logfile(1)); + + +1; diff --git a/src/mkutil/make/tests/scripts/variables/special b/src/mkutil/make/tests/scripts/variables/special index 58c86552..b0eb9273 100644 --- a/src/mkutil/make/tests/scripts/variables/special +++ b/src/mkutil/make/tests/scripts/variables/special @@ -1,68 +1,68 @@ -# -*-perl-*- - -$description = "Test special GNU make variables."; - -$details = ""; - -$makefile2 = &get_tmpfile; - - -open(MAKEFILE, "> $makefile"); - -print MAKEFILE <<'EOF'; - -X1 := $(sort $(filter FOO BAR,$(.VARIABLES))) - -FOO := foo - -X2 := $(sort $(filter FOO BAR,$(.VARIABLES))) - -BAR := bar - -all: - @echo X1 = $(X1) - @echo X2 = $(X2) - @echo LAST = $(sort $(filter FOO BAR,$(.VARIABLES))) - -EOF - -close(MAKEFILE); - -# TEST #1 -# ------- - -&run_make_with_options($makefile, "", &get_logfile); -$answer = "X1 =\nX2 = FOO\nLAST = BAR FOO\n"; -&compare_output($answer, &get_logfile(1)); - - - - -# open(MAKEFILE, "> $makefile2"); - -# print MAKEFILE <<'EOF'; - -# X1 := $(sort $(.TARGETS)) - -# all: foo -# @echo X1 = $(X1) -# @echo X2 = $(X2) -# @echo LAST = $(sort $(.TARGETS)) - -# X2 := $(sort $(.TARGETS)) - -# foo: - -# EOF - -# close(MAKEFILE); - -# # TEST #2 -# # ------- - -# &run_make_with_options($makefile2, "", &get_logfile); -# $answer = "X1 =\nX2 = all\nLAST = all foo\n"; -# &compare_output($answer, &get_logfile(1)); - - -1; +# -*-perl-*- + +$description = "Test special GNU make variables."; + +$details = ""; + +$makefile2 = &get_tmpfile; + + +open(MAKEFILE, "> $makefile"); + +print MAKEFILE <<'EOF'; + +X1 := $(sort $(filter FOO BAR,$(.VARIABLES))) + +FOO := foo + +X2 := $(sort $(filter FOO BAR,$(.VARIABLES))) + +BAR := bar + +all: + @echo X1 = $(X1) + @echo X2 = $(X2) + @echo LAST = $(sort $(filter FOO BAR,$(.VARIABLES))) + +EOF + +close(MAKEFILE); + +# TEST #1 +# ------- + +&run_make_with_options($makefile, "", &get_logfile); +$answer = "X1 =\nX2 = FOO\nLAST = BAR FOO\n"; +&compare_output($answer, &get_logfile(1)); + + + + +# open(MAKEFILE, "> $makefile2"); + +# print MAKEFILE <<'EOF'; + +# X1 := $(sort $(.TARGETS)) + +# all: foo +# @echo X1 = $(X1) +# @echo X2 = $(X2) +# @echo LAST = $(sort $(.TARGETS)) + +# X2 := $(sort $(.TARGETS)) + +# foo: + +# EOF + +# close(MAKEFILE); + +# # TEST #2 +# # ------- + +# &run_make_with_options($makefile2, "", &get_logfile); +# $answer = "X1 =\nX2 = all\nLAST = all foo\n"; +# &compare_output($answer, &get_logfile(1)); + + +1; diff --git a/src/mkutil/make/tests/test_driver.pl b/src/mkutil/make/tests/test_driver.pl index 0130605a..21ac1956 100644 --- a/src/mkutil/make/tests/test_driver.pl +++ b/src/mkutil/make/tests/test_driver.pl @@ -1,1113 +1,1113 @@ -#!/usr/local/bin/perl -# -*-perl-*- - -# Modification history: -# Written 91-12-02 through 92-01-01 by Stephen McGee. -# Modified 92-02-11 through 92-02-22 by Chris Arthur to further generalize. -# End of modification history - -# Test driver routines used by a number of test suites, including -# those for SCS, make, roll_dir, and scan_deps (?). - -# this routine controls the whole mess; each test suite sets up a few -# variables and then calls &toplevel, which does all the real work. - -sub toplevel -{ - # Get a clean environment - - %makeENV = (); - - # Pull in benign variables from the user's environment - # - foreach (# UNIX-specific things - 'TZ', 'LANG', 'TMPDIR', 'HOME', 'USER', 'LOGNAME', 'PATH', - # Purify things - 'PURIFYOPTIONS', - # Windows NT-specific stuff - 'Path', 'SystemRoot', - # DJGPP-specific stuff - 'DJDIR', 'DJGPP', 'SHELL', 'COMSPEC', 'HOSTNAME', 'LFN', - 'FNCASE', '387', 'EMU387', 'GROUP' - ) { - $makeENV{$_} = $ENV{$_} if $ENV{$_}; - } - - # Replace the environment with the new one - # - %origENV = %ENV; - - # We used to say "%ENV = ();" but this doesn't work in Perl 5.000 - # through Perl 5.004. It was fixed in Perl 5.004_01, but we don't - # want to require that here, so just delete each one individually. - - foreach $v (keys %ENV) { - delete $ENV{$v}; - } - - %ENV = %makeENV; - - $| = 1; # unbuffered output - - $debug = 0; # debug flag - $profile = 0; # profiling flag - $verbose = 0; # verbose mode flag - $detail = 0; # detailed verbosity - $keep = 0; # keep temp files around - $workdir = "work"; # The directory where the test will start running - $scriptdir = "scripts"; # The directory where we find the test scripts - $tmpfilesuffix = "t"; # the suffix used on tmpfiles - $default_output_stack_level = 0; # used by attach_default_output, etc. - $default_input_stack_level = 0; # used by attach_default_input, etc. - $cwd = "."; # don't we wish we knew - $cwdslash = ""; # $cwd . $pathsep, but "" rather than "./" - - &get_osname; # sets $osname, $vos, $pathsep, and $short_filenames - - &set_defaults; # suite-defined - - &parse_command_line (@ARGV); - - print "OS name = `$osname'\n" if $debug; - - $workpath = "$cwdslash$workdir"; - $scriptpath = "$cwdslash$scriptdir"; - - &set_more_defaults; # suite-defined - - &print_banner; - - if (-d $workpath) - { - print "Clearing $workpath...\n"; - &remove_directory_tree("$workpath/") - || &error ("Couldn't wipe out $workpath\n"); - } - else - { - mkdir ($workpath, 0777) || &error ("Couldn't mkdir $workpath: $!\n"); - } - - if (!-d $scriptpath) - { - &error ("Failed to find $scriptpath containing perl test scripts.\n"); - } - - if (@TESTS) - { - print "Making work dirs...\n"; - foreach $test (@TESTS) - { - if ($test =~ /^([^\/]+)\//) - { - $dir = $1; - push (@rmdirs, $dir); - -d "$workpath/$dir" - || mkdir ("$workpath/$dir", 0777) - || &error ("Couldn't mkdir $workpath/$dir: $!\n"); - } - } - } - else - { - print "Finding tests...\n"; - opendir (SCRIPTDIR, $scriptpath) - || &error ("Couldn't opendir $scriptpath: $!\n"); - @dirs = grep (!/^(\.\.?|CVS|RCS)$/, readdir (SCRIPTDIR) ); - closedir (SCRIPTDIR); - foreach $dir (@dirs) - { - next if ($dir =~ /^\.\.?$/ || $dir eq 'CVS' || $dir eq 'RCS' - || ! -d "$scriptpath/$dir"); - push (@rmdirs, $dir); - mkdir ("$workpath/$dir", 0777) - || &error ("Couldn't mkdir $workpath/$dir: $!\n"); - opendir (SCRIPTDIR, "$scriptpath/$dir") - || &error ("Couldn't opendir $scriptpath/$dir: $!\n"); - @files = grep (!/^(\.\.?|CVS|RCS)$/, readdir (SCRIPTDIR) ); - closedir (SCRIPTDIR); - foreach $test (@files) - { - next if $test =~ /~$/ || -d $test; - push (@TESTS, "$dir/$test"); - } - } - } - - if (@TESTS == 0) - { - &error ("\nNo tests in $scriptpath, and none were specified.\n"); - } - - print "\n"; - - &run_each_test; - - foreach $dir (@rmdirs) - { - rmdir ("$workpath/$dir"); - } - - $| = 1; - - if ($num_failed) - { - print "\n$num_failed Test"; - print "s" unless $num_failed == 1; - print " Failed (See .$diffext files in $workdir dir for details) :-(\n\n"; - return 0; - } - else - { - print "\n$counter Test"; - print "s" unless $counter == 1; - print " Complete ... No Failures :-)\n\n"; - return 1; - } -} - -sub get_osname -{ - # Set up an initial value. In perl5 we can do it the easy way. - # - $osname = defined($^O) ? $^O : ''; - - # See if the filesystem supports long file names with multiple - # dots. DOS doesn't. - $short_filenames = 0; - (open (TOUCHFD, "> fancy.file.name") && close (TOUCHFD)) - || ($short_filenames = 1); - unlink ("fancy.file.name") || ($short_filenames = 1); - - if (! $short_filenames) { - # Thanks go to meyering@cs.utexas.edu (Jim Meyering) for suggesting a - # better way of doing this. (We used to test for existence of a /mnt - # dir, but that apparently fails on an SGI Indigo (whatever that is).) - # Because perl on VOS translates /'s to >'s, we need to test for - # VOSness rather than testing for Unixness (ie, try > instead of /). - - mkdir (".ostest", 0777) || &error ("Couldn't create .ostest: $!\n", 1); - open (TOUCHFD, "> .ostest>ick") && close (TOUCHFD); - chdir (".ostest") || &error ("Couldn't chdir to .ostest: $!\n", 1); - } - - if (! $short_filenames && -f "ick") - { - $osname = "vos"; - $vos = 1; - $pathsep = ">"; - } - else - { - # the following is regrettably knarly, but it seems to be the only way - # to not get ugly error messages if uname can't be found. - # Hmmm, BSD/OS 2.0's uname -a is excessively verbose. Let's try it - # with switches first. - eval "chop (\$osname = `sh -c 'uname -nmsr 2>&1'`)"; - if ($osname =~ /not found/i) - { - $osname = "(something unixy with no uname)"; - } - elsif ($@ ne "" || $?) - { - eval "chop (\$osname = `sh -c 'uname -a 2>&1'`)"; - if ($@ ne "" || $?) - { - $osname = "(something unixy)"; - } - } - $vos = 0; - $pathsep = "/"; - } - - if (! $short_filenames) { - chdir ("..") || &error ("Couldn't chdir to ..: $!\n", 1); - unlink (".ostest>ick"); - rmdir (".ostest") || &error ("Couldn't rmdir .ostest: $!\n", 1); - } -} - -sub parse_command_line -{ - @argv = @_; - - # use @ARGV if no args were passed in - - if (@argv == 0) - { - @argv = @ARGV; - } - - # look at each option; if we don't recognize it, maybe the suite-specific - # command line parsing code will... - - while (@argv) - { - $option = shift @argv; - if ($option =~ /^-debug$/i) - { - print "\nDEBUG ON\n"; - $debug = 1; - } - elsif ($option =~ /^-usage$/i) - { - &print_usage; - exit 0; - } - elsif ($option =~ /^-(h|help)$/i) - { - &print_help; - exit 0; - } - elsif ($option =~ /^-profile$/i) - { - $profile = 1; - } - elsif ($option =~ /^-verbose$/i) - { - $verbose = 1; - } - elsif ($option =~ /^-detail$/i) - { - $detail = 1; - $verbose = 1; - } - elsif ($option =~ /^-keep$/i) - { - $keep = 1; - } - elsif (&valid_option($option)) - { - # The suite-defined subroutine takes care of the option - } - elsif ($option =~ /^-/) - { - print "Invalid option: $option\n"; - &print_usage; - exit 0; - } - else # must be the name of a test - { - $option =~ s/\.pl$//; - push(@TESTS,$option); - } - } -} - -sub max -{ - local($num) = shift @_; - local($newnum); - - while (@_) - { - $newnum = shift @_; - if ($newnum > $num) - { - $num = $newnum; - } - } - - return $num; -} - -sub print_centered -{ - local($width, $string) = @_; - local($pad); - - if (length ($string)) - { - $pad = " " x ( ($width - length ($string) + 1) / 2); - print "$pad$string"; - } -} - -sub print_banner -{ - local($info); - local($line); - local($len); - - $info = "Running tests for $testee on $osname\n"; # $testee is suite-defined - $len = &max (length ($line), length ($testee_version), - length ($banner_info), 73) + 5; - $line = ("-" x $len) . "\n"; - if ($len < 78) - { - $len = 78; - } - - &print_centered ($len, $line); - &print_centered ($len, $info); - &print_centered ($len, $testee_version); # suite-defined - &print_centered ($len, $banner_info); # suite-defined - &print_centered ($len, $line); - print "\n"; -} - -sub run_each_test -{ - $counter = 0; - - foreach $testname (sort @TESTS) - { - $counter++; - $test_passed = 1; # reset by test on failure - $num_of_logfiles = 0; - $num_of_tmpfiles = 0; - $description = ""; - $details = ""; - $testname =~ s/^$scriptpath$pathsep//; - $perl_testname = "$scriptpath$pathsep$testname"; - $testname =~ s/(\.pl|\.perl)$//; - $testpath = "$workpath$pathsep$testname"; - # Leave enough space in the extensions to append a number, even - # though it needs to fit into 8+3 limits. - if ($short_filenames) { - $logext = 'l'; - $diffext = 'd'; - $baseext = 'b'; - $extext = ''; - } - else { - $logext = 'log'; - $diffext = 'diff'; - $baseext = 'base'; - $extext = '.'; - } - $log_filename = "$testpath.$logext"; - $diff_filename = "$testpath.$diffext"; - $base_filename = "$testpath.$baseext"; - $tmp_filename = "$testpath.$tmpfilesuffix"; - - &setup_for_test; # suite-defined - - $output = "........................................................ "; - - substr($output,0,length($testname)) = "$testname "; - - print $output; - - # Run the actual test! - # - $code = do $perl_testname; - if (!defined($code)) - { - $test_passed = 0; - if (length ($@)) - { - warn "\n*** Test died ($testname): $@\n"; - } - else - { - warn "\n*** Couldn't run $perl_testname\n"; - } - } - elsif ($code == -1) { - $test_passed = 0; - } - elsif ($code != 1 && $code != -1) { - $test_passed = 0; - warn "\n*** Test returned $code\n"; - } - - if ($test_passed) { - $status = "ok"; - for ($i = $num_of_tmpfiles; $i; $i--) - { - &delete ($tmp_filename . &num_suffix ($i) ); - } - - for ($i = $num_of_logfiles ? $num_of_logfiles : 1; $i; $i--) - { - &delete ($log_filename . &num_suffix ($i) ); - &delete ($base_filename . &num_suffix ($i) ); - } - } - elsif ($code > 0) { - $status = "FAILED"; - $num_failed++; - } - elsif ($code < 0) { - $status = "N/A"; - --$counter; - } - - # If the verbose option has been specified, then a short description - # of each test is printed before displaying the results of each test - # describing WHAT is being tested. - - if ($verbose) - { - if ($detail) - { - print "\nWHAT IS BEING TESTED\n"; - print "--------------------"; - } - print "\n\n$description\n\n"; - } - - # If the detail option has been specified, then the details of HOW - # the test is testing what it says it is testing in the verbose output - # will be displayed here before the results of the test are displayed. - - if ($detail) - { - print "\nHOW IT IS TESTED\n"; - print "----------------"; - print "\n\n$details\n\n"; - } - - print "$status\n"; - } -} - -# If the keep flag is not set, this subroutine deletes all filenames that -# are sent to it. - -sub delete -{ - local(@files) = @_; - - if (!$keep) - { - return (unlink @files); - } - - return 1; -} - -sub print_standard_usage -{ - local($plname,@moreusage) = @_; - local($line); - - print "Usage: perl $plname [testname] [-verbose] [-detail] [-keep]\n"; - print " [-profile] [-usage] [-help] " - . "[-debug]\n"; - foreach $line (@moreusage) - { - print " $line\n"; - } -} - -sub print_standard_help -{ - local(@morehelp) = @_; - local($line); - local($tline); - local($t) = " "; - - $line = "Test Driver For $testee"; - print "$line\n"; - $line = "=" x length ($line); - print "$line\n"; - - &print_usage; - - print "\ntestname\n" - . "${t}You may, if you wish, run only ONE test if you know the name\n" - . "${t}of that test and specify this name anywhere on the command\n" - . "${t}line. Otherwise ALL existing tests in the scripts directory\n" - . "${t}will be run.\n" - . "-verbose\n" - . "${t}If this option is given, a description of every test is\n" - . "${t}displayed before the test is run. (Not all tests may have\n" - . "${t}descriptions at this time)\n" - . "-detail\n" - . "${t}If this option is given, a detailed description of every\n" - . "${t}test is displayed before the test is run. (Not all tests\n" - . "${t}have descriptions at this time)\n" - . "-profile\n" - . "${t}If this option is given, then the profile file\n" - . "${t}is added to other profiles every time $testee is run.\n" - . "${t}This option only works on VOS at this time.\n" - . "-keep\n" - . "${t}You may give this option if you DO NOT want ANY\n" - . "${t}of the files generated by the tests to be deleted. \n" - . "${t}Without this option, all files generated by the test will\n" - . "${t}be deleted IF THE TEST PASSES.\n" - . "-debug\n" - . "${t}Use this option if you would like to see all of the system\n" - . "${t}calls issued and their return status while running the tests\n" - . "${t}This can be helpful if you're having a problem adding a test\n" - . "${t}to the suite, or if the test fails!\n"; - - foreach $line (@morehelp) - { - $tline = $line; - if (substr ($tline, 0, 1) eq "\t") - { - substr ($tline, 0, 1) = $t; - } - print "$tline\n"; - } -} - -####################################################################### -########### Generic Test Driver Subroutines ########### -####################################################################### - -sub get_caller -{ - local($depth); - local($package); - local($filename); - local($linenum); - - $depth = defined ($_[0]) ? $_[0] : 1; - ($package, $filename, $linenum) = caller ($depth + 1); - return "$filename: $linenum"; -} - -sub error -{ - local($message) = $_[0]; - local($caller) = &get_caller (1); - - if (defined ($_[1])) - { - $caller = &get_caller ($_[1] + 1) . " -> $caller"; - } - - die "$caller: $message"; -} - -sub compare_output -{ - local($answer,$logfile) = @_; - local($slurp); - - if ($debug) - { - print "Comparing Output ........ "; - } - - $slurp = &read_file_into_string ($logfile); - - # For make, get rid of any time skew error before comparing--too bad this - # has to go into the "generic" driver code :-/ - $slurp =~ s/^.*modification time .*in the future.*\n//gm; - $slurp =~ s/^.*Clock skew detected.*\n//gm; - - if ($slurp eq $answer) - { - if ($debug) - { - print "ok\n"; - } - return 1; - } - else - { - if ($debug) - { - print "DIFFERENT OUTPUT\n"; - } - $test_passed = 0; - &create_file (&get_basefile, $answer); - - if ($debug) - { - print "\nCreating Difference File ...\n"; - } - # Create the difference file - local($command) = "diff -c " . &get_basefile . " " . $logfile; - &run_command_with_output(&get_difffile,$command); - - return 0; - } -} - -sub read_file_into_string -{ - local($filename) = @_; - local($oldslash) = $/; - - undef $/; - - open (RFISFILE, $filename) || return ""; - local ($slurp) = ; - close (RFISFILE); - - $/ = $oldslash; - - return $slurp; -} - -sub attach_default_output -{ - local ($filename) = @_; - local ($code); - - if ($vos) - { - $code = system "++attach_default_output_hack $filename"; - $code == -2 || &error ("adoh death\n", 1); - return 1; - } - - open ("SAVEDOS" . $default_output_stack_level . "out", ">&STDOUT") - || &error ("ado: $! duping STDOUT\n", 1); - open ("SAVEDOS" . $default_output_stack_level . "err", ">&STDERR") - || &error ("ado: $! duping STDERR\n", 1); - - open (STDOUT, "> " . $filename) - || &error ("ado: $filename: $!\n", 1); - open (STDERR, ">&STDOUT") - || &error ("ado: $filename: $!\n", 1); - - $default_output_stack_level++; -} - -# close the current stdout/stderr, and restore the previous ones from -# the "stack." - -sub detach_default_output -{ - local ($code); - - if ($vos) - { - $code = system "++detach_default_output_hack"; - $code == -2 || &error ("ddoh death\n", 1); - return 1; - } - - if (--$default_output_stack_level < 0) - { - &error ("default output stack has flown under!\n", 1); - } - - close (STDOUT); - close (STDERR); - - open (STDOUT, ">&SAVEDOS" . $default_output_stack_level . "out") - || &error ("ddo: $! duping STDOUT\n", 1); - open (STDERR, ">&SAVEDOS" . $default_output_stack_level . "err") - || &error ("ddo: $! duping STDERR\n", 1); - - close ("SAVEDOS" . $default_output_stack_level . "out") - || &error ("ddo: $! closing SCSDOSout\n", 1); - close ("SAVEDOS" . $default_output_stack_level . "err") - || &error ("ddo: $! closing SAVEDOSerr\n", 1); -} - -# run one command (passed as a list of arg 0 - n), returning 0 on success -# and nonzero on failure. - -sub run_command -{ - local ($code); - - if ($debug) - { - print "\nrun_command: @_\n"; - $code = system @_; - print "run_command: \"@_\" returned $code.\n"; - return $code; - } - - return system @_; -} - -# run one command (passed as a list of arg 0 - n, with arg 0 being the -# second arg to this routine), returning 0 on success and non-zero on failure. -# The first arg to this routine is a filename to connect to the stdout -# & stderr of the child process. - -sub run_command_with_output -{ - local ($filename) = shift; - local ($code); - - &attach_default_output ($filename); - $code = system @_; - &detach_default_output; - if ($debug) - { - print "run_command_with_output: \"@_\" returned $code.\n"; - } - - return $code; -} - -# performs the equivalent of an "rm -rf" on the first argument. Like -# rm, if the path ends in /, leaves the (now empty) directory; otherwise -# deletes it, too. - -sub remove_directory_tree -{ - local ($targetdir) = @_; - local ($nuketop) = 1; - local ($ch); - - $ch = substr ($targetdir, length ($targetdir) - 1); - if ($ch eq "/" || $ch eq $pathsep) - { - $targetdir = substr ($targetdir, 0, length ($targetdir) - 1); - $nuketop = 0; - } - - if (! -e $targetdir) - { - return 1; - } - - &remove_directory_tree_inner ("RDT00", $targetdir) || return 0; - if ($nuketop) - { - rmdir $targetdir || return 0; - } - - return 1; -} - -sub remove_directory_tree_inner -{ - local ($dirhandle, $targetdir) = @_; - local ($object); - local ($subdirhandle); - - opendir ($dirhandle, $targetdir) || return 0; - $subdirhandle = $dirhandle; - $subdirhandle++; - while ($object = readdir ($dirhandle)) - { - if ($object =~ /^(\.\.?|CVS|RCS)$/) - { - next; - } - - $object = "$targetdir$pathsep$object"; - lstat ($object); - - if (-d _ && &remove_directory_tree_inner ($subdirhandle, $object)) - { - rmdir $object || return 0; - } - else - { - unlink $object || return 0; - } - } - closedir ($dirhandle); - return 1; -} - -# We used to use this behavior for this function: -# -#sub touch -#{ -# local (@filenames) = @_; -# local ($now) = time; -# local ($file); -# -# foreach $file (@filenames) -# { -# utime ($now, $now, $file) -# || (open (TOUCHFD, ">> $file") && close (TOUCHFD)) -# || &error ("Couldn't touch $file: $!\n", 1); -# } -# return 1; -#} -# -# But this behaves badly on networked filesystems where the time is -# skewed, because it sets the time of the file based on the _local_ -# host. Normally when you modify a file, it's the _remote_ host that -# determines the modtime, based on _its_ clock. So, instead, now we open -# the file and write something into it to force the remote host to set -# the modtime correctly according to its clock. -# - -sub touch -{ - local ($file); - - foreach $file (@_) { - (open(T, ">> $file") && print(T "\n") && close(T)) - || &error("Couldn't touch $file: $!\n", 1); - } -} - -# Touch with a time offset. To DTRT, call touch() then use stat() to get the -# access/mod time for each file and apply the offset. - -sub utouch -{ - local ($off) = shift; - local ($file); - - &touch(@_); - - local (@s) = stat($_[0]); - - utime($s[8]+$off, $s[9]+$off, @_); -} - -# open a file, write some stuff to it, and close it. - -sub create_file -{ - local ($filename, @lines) = @_; - - open (CF, "> $filename") || &error ("Couldn't open $filename: $!\n", 1); - foreach $line (@lines) - { - print CF $line; - } - close (CF); -} - -# create a directory tree described by an associative array, wherein each -# key is a relative pathname (using slashes) and its associated value is -# one of: -# DIR indicates a directory -# FILE:contents indicates a file, which should contain contents +\n -# LINK:target indicates a symlink, pointing to $basedir/target -# The first argument is the dir under which the structure will be created -# (the dir will be made and/or cleaned if necessary); the second argument -# is the associative array. - -sub create_dir_tree -{ - local ($basedir, %dirtree) = @_; - local ($path); - - &remove_directory_tree ("$basedir"); - mkdir ($basedir, 0777) || &error ("Couldn't mkdir $basedir: $!\n", 1); - - foreach $path (sort keys (%dirtree)) - { - if ($dirtree {$path} =~ /^DIR$/) - { - mkdir ("$basedir/$path", 0777) - || &error ("Couldn't mkdir $basedir/$path: $!\n", 1); - } - elsif ($dirtree {$path} =~ /^FILE:(.*)$/) - { - &create_file ("$basedir/$path", $1 . "\n"); - } - elsif ($dirtree {$path} =~ /^LINK:(.*)$/) - { - symlink ("$basedir/$1", "$basedir/$path") - || &error ("Couldn't symlink $basedir/$path -> $basedir/$1: $!\n", 1); - } - else - { - &error ("Bogus dirtree type: \"$dirtree{$path}\"\n", 1); - } - } - if ($just_setup_tree) - { - die "Tree is setup...\n"; - } -} - -# compare a directory tree with an associative array in the format used -# by create_dir_tree, above. -# The first argument is the dir under which the structure should be found; -# the second argument is the associative array. - -sub compare_dir_tree -{ - local ($basedir, %dirtree) = @_; - local ($path); - local ($i); - local ($bogus) = 0; - local ($contents); - local ($target); - local ($fulltarget); - local ($found); - local (@files); - local (@allfiles); - - opendir (DIR, $basedir) || &error ("Couldn't open $basedir: $!\n", 1); - @allfiles = grep (!/^(\.\.?|CVS|RCS)$/, readdir (DIR) ); - closedir (DIR); - if ($debug) - { - print "dirtree: (%dirtree)\n$basedir: (@allfiles)\n"; - } - - foreach $path (sort keys (%dirtree)) - { - if ($debug) - { - print "Checking $path ($dirtree{$path}).\n"; - } - - $found = 0; - foreach $i (0 .. $#allfiles) - { - if ($allfiles[$i] eq $path) - { - splice (@allfiles, $i, 1); # delete it - if ($debug) - { - print " Zapped $path; files now (@allfiles).\n"; - } - lstat ("$basedir/$path"); - $found = 1; - last; - } - } - - if (!$found) - { - print "compare_dir_tree: $path does not exist.\n"; - $bogus = 1; - next; - } - - if ($dirtree {$path} =~ /^DIR$/) - { - if (-d _ && opendir (DIR, "$basedir/$path") ) - { - @files = readdir (DIR); - closedir (DIR); - @files = grep (!/^(\.\.?|CVS|RCS)$/ && ($_ = "$path/$_"), @files); - push (@allfiles, @files); - if ($debug) - { - print " Read in $path; new files (@files).\n"; - } - } - else - { - print "compare_dir_tree: $path is not a dir.\n"; - $bogus = 1; - } - } - elsif ($dirtree {$path} =~ /^FILE:(.*)$/) - { - if (-l _ || !-f _) - { - print "compare_dir_tree: $path is not a file.\n"; - $bogus = 1; - next; - } - - if ($1 ne "*") - { - $contents = &read_file_into_string ("$basedir/$path"); - if ($contents ne "$1\n") - { - print "compare_dir_tree: $path contains wrong stuff." - . " Is:\n$contentsShould be:\n$1\n"; - $bogus = 1; - } - } - } - elsif ($dirtree {$path} =~ /^LINK:(.*)$/) - { - $target = $1; - if (!-l _) - { - print "compare_dir_tree: $path is not a link.\n"; - $bogus = 1; - next; - } - - $contents = readlink ("$basedir/$path"); - $contents =~ tr/>/\//; - $fulltarget = "$basedir/$target"; - $fulltarget =~ tr/>/\//; - if (!($contents =~ /$fulltarget$/)) - { - if ($debug) - { - $target = $fulltarget; - } - print "compare_dir_tree: $path should be link to $target, " - . "not $contents.\n"; - $bogus = 1; - } - } - else - { - &error ("Bogus dirtree type: \"$dirtree{$path}\"\n", 1); - } - } - - if ($debug) - { - print "leftovers: (@allfiles).\n"; - } - - foreach $file (@allfiles) - { - print "compare_dir_tree: $file should not exist.\n"; - $bogus = 1; - } - - return !$bogus; -} - -# this subroutine generates the numeric suffix used to keep tmp filenames, -# log filenames, etc., unique. If the number passed in is 1, then a null -# string is returned; otherwise, we return ".n", where n + 1 is the number -# we were given. - -sub num_suffix -{ - local($num) = @_; - - if (--$num > 0) { - return "$extext$num"; - } - - return ""; -} - -# This subroutine returns a log filename with a number appended to -# the end corresponding to how many logfiles have been created in the -# current running test. An optional parameter may be passed (0 or 1). -# If a 1 is passed, then it does NOT increment the logfile counter -# and returns the name of the latest logfile. If either no parameter -# is passed at all or a 0 is passed, then the logfile counter is -# incremented and the new name is returned. - -sub get_logfile -{ - local($no_increment) = @_; - - $num_of_logfiles += !$no_increment; - - return ($log_filename . &num_suffix ($num_of_logfiles)); -} - -# This subroutine returns a base (answer) filename with a number -# appended to the end corresponding to how many logfiles (and thus -# base files) have been created in the current running test. -# NO PARAMETERS ARE PASSED TO THIS SUBROUTINE. - -sub get_basefile -{ - return ($base_filename . &num_suffix ($num_of_logfiles)); -} - -# This subroutine returns a difference filename with a number appended -# to the end corresponding to how many logfiles (and thus diff files) -# have been created in the current running test. - -sub get_difffile -{ - return ($diff_filename . &num_suffix ($num_of_logfiles)); -} - -# just like logfile, only a generic tmp filename for use by the test. -# they are automatically cleaned up unless -keep was used, or the test fails. -# Pass an argument of 1 to return the same filename as the previous call. - -sub get_tmpfile -{ - local($no_increment) = @_; - - $num_of_tmpfiles += !$no_increment; - - return ($tmp_filename . &num_suffix ($num_of_tmpfiles)); -} - -1; +#!/usr/local/bin/perl +# -*-perl-*- + +# Modification history: +# Written 91-12-02 through 92-01-01 by Stephen McGee. +# Modified 92-02-11 through 92-02-22 by Chris Arthur to further generalize. +# End of modification history + +# Test driver routines used by a number of test suites, including +# those for SCS, make, roll_dir, and scan_deps (?). + +# this routine controls the whole mess; each test suite sets up a few +# variables and then calls &toplevel, which does all the real work. + +sub toplevel +{ + # Get a clean environment + + %makeENV = (); + + # Pull in benign variables from the user's environment + # + foreach (# UNIX-specific things + 'TZ', 'LANG', 'TMPDIR', 'HOME', 'USER', 'LOGNAME', 'PATH', + # Purify things + 'PURIFYOPTIONS', + # Windows NT-specific stuff + 'Path', 'SystemRoot', + # DJGPP-specific stuff + 'DJDIR', 'DJGPP', 'SHELL', 'COMSPEC', 'HOSTNAME', 'LFN', + 'FNCASE', '387', 'EMU387', 'GROUP' + ) { + $makeENV{$_} = $ENV{$_} if $ENV{$_}; + } + + # Replace the environment with the new one + # + %origENV = %ENV; + + # We used to say "%ENV = ();" but this doesn't work in Perl 5.000 + # through Perl 5.004. It was fixed in Perl 5.004_01, but we don't + # want to require that here, so just delete each one individually. + + foreach $v (keys %ENV) { + delete $ENV{$v}; + } + + %ENV = %makeENV; + + $| = 1; # unbuffered output + + $debug = 0; # debug flag + $profile = 0; # profiling flag + $verbose = 0; # verbose mode flag + $detail = 0; # detailed verbosity + $keep = 0; # keep temp files around + $workdir = "work"; # The directory where the test will start running + $scriptdir = "scripts"; # The directory where we find the test scripts + $tmpfilesuffix = "t"; # the suffix used on tmpfiles + $default_output_stack_level = 0; # used by attach_default_output, etc. + $default_input_stack_level = 0; # used by attach_default_input, etc. + $cwd = "."; # don't we wish we knew + $cwdslash = ""; # $cwd . $pathsep, but "" rather than "./" + + &get_osname; # sets $osname, $vos, $pathsep, and $short_filenames + + &set_defaults; # suite-defined + + &parse_command_line (@ARGV); + + print "OS name = `$osname'\n" if $debug; + + $workpath = "$cwdslash$workdir"; + $scriptpath = "$cwdslash$scriptdir"; + + &set_more_defaults; # suite-defined + + &print_banner; + + if (-d $workpath) + { + print "Clearing $workpath...\n"; + &remove_directory_tree("$workpath/") + || &error ("Couldn't wipe out $workpath\n"); + } + else + { + mkdir ($workpath, 0777) || &error ("Couldn't mkdir $workpath: $!\n"); + } + + if (!-d $scriptpath) + { + &error ("Failed to find $scriptpath containing perl test scripts.\n"); + } + + if (@TESTS) + { + print "Making work dirs...\n"; + foreach $test (@TESTS) + { + if ($test =~ /^([^\/]+)\//) + { + $dir = $1; + push (@rmdirs, $dir); + -d "$workpath/$dir" + || mkdir ("$workpath/$dir", 0777) + || &error ("Couldn't mkdir $workpath/$dir: $!\n"); + } + } + } + else + { + print "Finding tests...\n"; + opendir (SCRIPTDIR, $scriptpath) + || &error ("Couldn't opendir $scriptpath: $!\n"); + @dirs = grep (!/^(\.\.?|CVS|RCS)$/, readdir (SCRIPTDIR) ); + closedir (SCRIPTDIR); + foreach $dir (@dirs) + { + next if ($dir =~ /^\.\.?$/ || $dir eq 'CVS' || $dir eq 'RCS' + || ! -d "$scriptpath/$dir"); + push (@rmdirs, $dir); + mkdir ("$workpath/$dir", 0777) + || &error ("Couldn't mkdir $workpath/$dir: $!\n"); + opendir (SCRIPTDIR, "$scriptpath/$dir") + || &error ("Couldn't opendir $scriptpath/$dir: $!\n"); + @files = grep (!/^(\.\.?|CVS|RCS)$/, readdir (SCRIPTDIR) ); + closedir (SCRIPTDIR); + foreach $test (@files) + { + next if $test =~ /~$/ || -d $test; + push (@TESTS, "$dir/$test"); + } + } + } + + if (@TESTS == 0) + { + &error ("\nNo tests in $scriptpath, and none were specified.\n"); + } + + print "\n"; + + &run_each_test; + + foreach $dir (@rmdirs) + { + rmdir ("$workpath/$dir"); + } + + $| = 1; + + if ($num_failed) + { + print "\n$num_failed Test"; + print "s" unless $num_failed == 1; + print " Failed (See .$diffext files in $workdir dir for details) :-(\n\n"; + return 0; + } + else + { + print "\n$counter Test"; + print "s" unless $counter == 1; + print " Complete ... No Failures :-)\n\n"; + return 1; + } +} + +sub get_osname +{ + # Set up an initial value. In perl5 we can do it the easy way. + # + $osname = defined($^O) ? $^O : ''; + + # See if the filesystem supports long file names with multiple + # dots. DOS doesn't. + $short_filenames = 0; + (open (TOUCHFD, "> fancy.file.name") && close (TOUCHFD)) + || ($short_filenames = 1); + unlink ("fancy.file.name") || ($short_filenames = 1); + + if (! $short_filenames) { + # Thanks go to meyering@cs.utexas.edu (Jim Meyering) for suggesting a + # better way of doing this. (We used to test for existence of a /mnt + # dir, but that apparently fails on an SGI Indigo (whatever that is).) + # Because perl on VOS translates /'s to >'s, we need to test for + # VOSness rather than testing for Unixness (ie, try > instead of /). + + mkdir (".ostest", 0777) || &error ("Couldn't create .ostest: $!\n", 1); + open (TOUCHFD, "> .ostest>ick") && close (TOUCHFD); + chdir (".ostest") || &error ("Couldn't chdir to .ostest: $!\n", 1); + } + + if (! $short_filenames && -f "ick") + { + $osname = "vos"; + $vos = 1; + $pathsep = ">"; + } + else + { + # the following is regrettably knarly, but it seems to be the only way + # to not get ugly error messages if uname can't be found. + # Hmmm, BSD/OS 2.0's uname -a is excessively verbose. Let's try it + # with switches first. + eval "chop (\$osname = `sh -c 'uname -nmsr 2>&1'`)"; + if ($osname =~ /not found/i) + { + $osname = "(something unixy with no uname)"; + } + elsif ($@ ne "" || $?) + { + eval "chop (\$osname = `sh -c 'uname -a 2>&1'`)"; + if ($@ ne "" || $?) + { + $osname = "(something unixy)"; + } + } + $vos = 0; + $pathsep = "/"; + } + + if (! $short_filenames) { + chdir ("..") || &error ("Couldn't chdir to ..: $!\n", 1); + unlink (".ostest>ick"); + rmdir (".ostest") || &error ("Couldn't rmdir .ostest: $!\n", 1); + } +} + +sub parse_command_line +{ + @argv = @_; + + # use @ARGV if no args were passed in + + if (@argv == 0) + { + @argv = @ARGV; + } + + # look at each option; if we don't recognize it, maybe the suite-specific + # command line parsing code will... + + while (@argv) + { + $option = shift @argv; + if ($option =~ /^-debug$/i) + { + print "\nDEBUG ON\n"; + $debug = 1; + } + elsif ($option =~ /^-usage$/i) + { + &print_usage; + exit 0; + } + elsif ($option =~ /^-(h|help)$/i) + { + &print_help; + exit 0; + } + elsif ($option =~ /^-profile$/i) + { + $profile = 1; + } + elsif ($option =~ /^-verbose$/i) + { + $verbose = 1; + } + elsif ($option =~ /^-detail$/i) + { + $detail = 1; + $verbose = 1; + } + elsif ($option =~ /^-keep$/i) + { + $keep = 1; + } + elsif (&valid_option($option)) + { + # The suite-defined subroutine takes care of the option + } + elsif ($option =~ /^-/) + { + print "Invalid option: $option\n"; + &print_usage; + exit 0; + } + else # must be the name of a test + { + $option =~ s/\.pl$//; + push(@TESTS,$option); + } + } +} + +sub max +{ + local($num) = shift @_; + local($newnum); + + while (@_) + { + $newnum = shift @_; + if ($newnum > $num) + { + $num = $newnum; + } + } + + return $num; +} + +sub print_centered +{ + local($width, $string) = @_; + local($pad); + + if (length ($string)) + { + $pad = " " x ( ($width - length ($string) + 1) / 2); + print "$pad$string"; + } +} + +sub print_banner +{ + local($info); + local($line); + local($len); + + $info = "Running tests for $testee on $osname\n"; # $testee is suite-defined + $len = &max (length ($line), length ($testee_version), + length ($banner_info), 73) + 5; + $line = ("-" x $len) . "\n"; + if ($len < 78) + { + $len = 78; + } + + &print_centered ($len, $line); + &print_centered ($len, $info); + &print_centered ($len, $testee_version); # suite-defined + &print_centered ($len, $banner_info); # suite-defined + &print_centered ($len, $line); + print "\n"; +} + +sub run_each_test +{ + $counter = 0; + + foreach $testname (sort @TESTS) + { + $counter++; + $test_passed = 1; # reset by test on failure + $num_of_logfiles = 0; + $num_of_tmpfiles = 0; + $description = ""; + $details = ""; + $testname =~ s/^$scriptpath$pathsep//; + $perl_testname = "$scriptpath$pathsep$testname"; + $testname =~ s/(\.pl|\.perl)$//; + $testpath = "$workpath$pathsep$testname"; + # Leave enough space in the extensions to append a number, even + # though it needs to fit into 8+3 limits. + if ($short_filenames) { + $logext = 'l'; + $diffext = 'd'; + $baseext = 'b'; + $extext = ''; + } + else { + $logext = 'log'; + $diffext = 'diff'; + $baseext = 'base'; + $extext = '.'; + } + $log_filename = "$testpath.$logext"; + $diff_filename = "$testpath.$diffext"; + $base_filename = "$testpath.$baseext"; + $tmp_filename = "$testpath.$tmpfilesuffix"; + + &setup_for_test; # suite-defined + + $output = "........................................................ "; + + substr($output,0,length($testname)) = "$testname "; + + print $output; + + # Run the actual test! + # + $code = do $perl_testname; + if (!defined($code)) + { + $test_passed = 0; + if (length ($@)) + { + warn "\n*** Test died ($testname): $@\n"; + } + else + { + warn "\n*** Couldn't run $perl_testname\n"; + } + } + elsif ($code == -1) { + $test_passed = 0; + } + elsif ($code != 1 && $code != -1) { + $test_passed = 0; + warn "\n*** Test returned $code\n"; + } + + if ($test_passed) { + $status = "ok"; + for ($i = $num_of_tmpfiles; $i; $i--) + { + &delete ($tmp_filename . &num_suffix ($i) ); + } + + for ($i = $num_of_logfiles ? $num_of_logfiles : 1; $i; $i--) + { + &delete ($log_filename . &num_suffix ($i) ); + &delete ($base_filename . &num_suffix ($i) ); + } + } + elsif ($code > 0) { + $status = "FAILED"; + $num_failed++; + } + elsif ($code < 0) { + $status = "N/A"; + --$counter; + } + + # If the verbose option has been specified, then a short description + # of each test is printed before displaying the results of each test + # describing WHAT is being tested. + + if ($verbose) + { + if ($detail) + { + print "\nWHAT IS BEING TESTED\n"; + print "--------------------"; + } + print "\n\n$description\n\n"; + } + + # If the detail option has been specified, then the details of HOW + # the test is testing what it says it is testing in the verbose output + # will be displayed here before the results of the test are displayed. + + if ($detail) + { + print "\nHOW IT IS TESTED\n"; + print "----------------"; + print "\n\n$details\n\n"; + } + + print "$status\n"; + } +} + +# If the keep flag is not set, this subroutine deletes all filenames that +# are sent to it. + +sub delete +{ + local(@files) = @_; + + if (!$keep) + { + return (unlink @files); + } + + return 1; +} + +sub print_standard_usage +{ + local($plname,@moreusage) = @_; + local($line); + + print "Usage: perl $plname [testname] [-verbose] [-detail] [-keep]\n"; + print " [-profile] [-usage] [-help] " + . "[-debug]\n"; + foreach $line (@moreusage) + { + print " $line\n"; + } +} + +sub print_standard_help +{ + local(@morehelp) = @_; + local($line); + local($tline); + local($t) = " "; + + $line = "Test Driver For $testee"; + print "$line\n"; + $line = "=" x length ($line); + print "$line\n"; + + &print_usage; + + print "\ntestname\n" + . "${t}You may, if you wish, run only ONE test if you know the name\n" + . "${t}of that test and specify this name anywhere on the command\n" + . "${t}line. Otherwise ALL existing tests in the scripts directory\n" + . "${t}will be run.\n" + . "-verbose\n" + . "${t}If this option is given, a description of every test is\n" + . "${t}displayed before the test is run. (Not all tests may have\n" + . "${t}descriptions at this time)\n" + . "-detail\n" + . "${t}If this option is given, a detailed description of every\n" + . "${t}test is displayed before the test is run. (Not all tests\n" + . "${t}have descriptions at this time)\n" + . "-profile\n" + . "${t}If this option is given, then the profile file\n" + . "${t}is added to other profiles every time $testee is run.\n" + . "${t}This option only works on VOS at this time.\n" + . "-keep\n" + . "${t}You may give this option if you DO NOT want ANY\n" + . "${t}of the files generated by the tests to be deleted. \n" + . "${t}Without this option, all files generated by the test will\n" + . "${t}be deleted IF THE TEST PASSES.\n" + . "-debug\n" + . "${t}Use this option if you would like to see all of the system\n" + . "${t}calls issued and their return status while running the tests\n" + . "${t}This can be helpful if you're having a problem adding a test\n" + . "${t}to the suite, or if the test fails!\n"; + + foreach $line (@morehelp) + { + $tline = $line; + if (substr ($tline, 0, 1) eq "\t") + { + substr ($tline, 0, 1) = $t; + } + print "$tline\n"; + } +} + +####################################################################### +########### Generic Test Driver Subroutines ########### +####################################################################### + +sub get_caller +{ + local($depth); + local($package); + local($filename); + local($linenum); + + $depth = defined ($_[0]) ? $_[0] : 1; + ($package, $filename, $linenum) = caller ($depth + 1); + return "$filename: $linenum"; +} + +sub error +{ + local($message) = $_[0]; + local($caller) = &get_caller (1); + + if (defined ($_[1])) + { + $caller = &get_caller ($_[1] + 1) . " -> $caller"; + } + + die "$caller: $message"; +} + +sub compare_output +{ + local($answer,$logfile) = @_; + local($slurp); + + if ($debug) + { + print "Comparing Output ........ "; + } + + $slurp = &read_file_into_string ($logfile); + + # For make, get rid of any time skew error before comparing--too bad this + # has to go into the "generic" driver code :-/ + $slurp =~ s/^.*modification time .*in the future.*\n//gm; + $slurp =~ s/^.*Clock skew detected.*\n//gm; + + if ($slurp eq $answer) + { + if ($debug) + { + print "ok\n"; + } + return 1; + } + else + { + if ($debug) + { + print "DIFFERENT OUTPUT\n"; + } + $test_passed = 0; + &create_file (&get_basefile, $answer); + + if ($debug) + { + print "\nCreating Difference File ...\n"; + } + # Create the difference file + local($command) = "diff -c " . &get_basefile . " " . $logfile; + &run_command_with_output(&get_difffile,$command); + + return 0; + } +} + +sub read_file_into_string +{ + local($filename) = @_; + local($oldslash) = $/; + + undef $/; + + open (RFISFILE, $filename) || return ""; + local ($slurp) = ; + close (RFISFILE); + + $/ = $oldslash; + + return $slurp; +} + +sub attach_default_output +{ + local ($filename) = @_; + local ($code); + + if ($vos) + { + $code = system "++attach_default_output_hack $filename"; + $code == -2 || &error ("adoh death\n", 1); + return 1; + } + + open ("SAVEDOS" . $default_output_stack_level . "out", ">&STDOUT") + || &error ("ado: $! duping STDOUT\n", 1); + open ("SAVEDOS" . $default_output_stack_level . "err", ">&STDERR") + || &error ("ado: $! duping STDERR\n", 1); + + open (STDOUT, "> " . $filename) + || &error ("ado: $filename: $!\n", 1); + open (STDERR, ">&STDOUT") + || &error ("ado: $filename: $!\n", 1); + + $default_output_stack_level++; +} + +# close the current stdout/stderr, and restore the previous ones from +# the "stack." + +sub detach_default_output +{ + local ($code); + + if ($vos) + { + $code = system "++detach_default_output_hack"; + $code == -2 || &error ("ddoh death\n", 1); + return 1; + } + + if (--$default_output_stack_level < 0) + { + &error ("default output stack has flown under!\n", 1); + } + + close (STDOUT); + close (STDERR); + + open (STDOUT, ">&SAVEDOS" . $default_output_stack_level . "out") + || &error ("ddo: $! duping STDOUT\n", 1); + open (STDERR, ">&SAVEDOS" . $default_output_stack_level . "err") + || &error ("ddo: $! duping STDERR\n", 1); + + close ("SAVEDOS" . $default_output_stack_level . "out") + || &error ("ddo: $! closing SCSDOSout\n", 1); + close ("SAVEDOS" . $default_output_stack_level . "err") + || &error ("ddo: $! closing SAVEDOSerr\n", 1); +} + +# run one command (passed as a list of arg 0 - n), returning 0 on success +# and nonzero on failure. + +sub run_command +{ + local ($code); + + if ($debug) + { + print "\nrun_command: @_\n"; + $code = system @_; + print "run_command: \"@_\" returned $code.\n"; + return $code; + } + + return system @_; +} + +# run one command (passed as a list of arg 0 - n, with arg 0 being the +# second arg to this routine), returning 0 on success and non-zero on failure. +# The first arg to this routine is a filename to connect to the stdout +# & stderr of the child process. + +sub run_command_with_output +{ + local ($filename) = shift; + local ($code); + + &attach_default_output ($filename); + $code = system @_; + &detach_default_output; + if ($debug) + { + print "run_command_with_output: \"@_\" returned $code.\n"; + } + + return $code; +} + +# performs the equivalent of an "rm -rf" on the first argument. Like +# rm, if the path ends in /, leaves the (now empty) directory; otherwise +# deletes it, too. + +sub remove_directory_tree +{ + local ($targetdir) = @_; + local ($nuketop) = 1; + local ($ch); + + $ch = substr ($targetdir, length ($targetdir) - 1); + if ($ch eq "/" || $ch eq $pathsep) + { + $targetdir = substr ($targetdir, 0, length ($targetdir) - 1); + $nuketop = 0; + } + + if (! -e $targetdir) + { + return 1; + } + + &remove_directory_tree_inner ("RDT00", $targetdir) || return 0; + if ($nuketop) + { + rmdir $targetdir || return 0; + } + + return 1; +} + +sub remove_directory_tree_inner +{ + local ($dirhandle, $targetdir) = @_; + local ($object); + local ($subdirhandle); + + opendir ($dirhandle, $targetdir) || return 0; + $subdirhandle = $dirhandle; + $subdirhandle++; + while ($object = readdir ($dirhandle)) + { + if ($object =~ /^(\.\.?|CVS|RCS)$/) + { + next; + } + + $object = "$targetdir$pathsep$object"; + lstat ($object); + + if (-d _ && &remove_directory_tree_inner ($subdirhandle, $object)) + { + rmdir $object || return 0; + } + else + { + unlink $object || return 0; + } + } + closedir ($dirhandle); + return 1; +} + +# We used to use this behavior for this function: +# +#sub touch +#{ +# local (@filenames) = @_; +# local ($now) = time; +# local ($file); +# +# foreach $file (@filenames) +# { +# utime ($now, $now, $file) +# || (open (TOUCHFD, ">> $file") && close (TOUCHFD)) +# || &error ("Couldn't touch $file: $!\n", 1); +# } +# return 1; +#} +# +# But this behaves badly on networked filesystems where the time is +# skewed, because it sets the time of the file based on the _local_ +# host. Normally when you modify a file, it's the _remote_ host that +# determines the modtime, based on _its_ clock. So, instead, now we open +# the file and write something into it to force the remote host to set +# the modtime correctly according to its clock. +# + +sub touch +{ + local ($file); + + foreach $file (@_) { + (open(T, ">> $file") && print(T "\n") && close(T)) + || &error("Couldn't touch $file: $!\n", 1); + } +} + +# Touch with a time offset. To DTRT, call touch() then use stat() to get the +# access/mod time for each file and apply the offset. + +sub utouch +{ + local ($off) = shift; + local ($file); + + &touch(@_); + + local (@s) = stat($_[0]); + + utime($s[8]+$off, $s[9]+$off, @_); +} + +# open a file, write some stuff to it, and close it. + +sub create_file +{ + local ($filename, @lines) = @_; + + open (CF, "> $filename") || &error ("Couldn't open $filename: $!\n", 1); + foreach $line (@lines) + { + print CF $line; + } + close (CF); +} + +# create a directory tree described by an associative array, wherein each +# key is a relative pathname (using slashes) and its associated value is +# one of: +# DIR indicates a directory +# FILE:contents indicates a file, which should contain contents +\n +# LINK:target indicates a symlink, pointing to $basedir/target +# The first argument is the dir under which the structure will be created +# (the dir will be made and/or cleaned if necessary); the second argument +# is the associative array. + +sub create_dir_tree +{ + local ($basedir, %dirtree) = @_; + local ($path); + + &remove_directory_tree ("$basedir"); + mkdir ($basedir, 0777) || &error ("Couldn't mkdir $basedir: $!\n", 1); + + foreach $path (sort keys (%dirtree)) + { + if ($dirtree {$path} =~ /^DIR$/) + { + mkdir ("$basedir/$path", 0777) + || &error ("Couldn't mkdir $basedir/$path: $!\n", 1); + } + elsif ($dirtree {$path} =~ /^FILE:(.*)$/) + { + &create_file ("$basedir/$path", $1 . "\n"); + } + elsif ($dirtree {$path} =~ /^LINK:(.*)$/) + { + symlink ("$basedir/$1", "$basedir/$path") + || &error ("Couldn't symlink $basedir/$path -> $basedir/$1: $!\n", 1); + } + else + { + &error ("Bogus dirtree type: \"$dirtree{$path}\"\n", 1); + } + } + if ($just_setup_tree) + { + die "Tree is setup...\n"; + } +} + +# compare a directory tree with an associative array in the format used +# by create_dir_tree, above. +# The first argument is the dir under which the structure should be found; +# the second argument is the associative array. + +sub compare_dir_tree +{ + local ($basedir, %dirtree) = @_; + local ($path); + local ($i); + local ($bogus) = 0; + local ($contents); + local ($target); + local ($fulltarget); + local ($found); + local (@files); + local (@allfiles); + + opendir (DIR, $basedir) || &error ("Couldn't open $basedir: $!\n", 1); + @allfiles = grep (!/^(\.\.?|CVS|RCS)$/, readdir (DIR) ); + closedir (DIR); + if ($debug) + { + print "dirtree: (%dirtree)\n$basedir: (@allfiles)\n"; + } + + foreach $path (sort keys (%dirtree)) + { + if ($debug) + { + print "Checking $path ($dirtree{$path}).\n"; + } + + $found = 0; + foreach $i (0 .. $#allfiles) + { + if ($allfiles[$i] eq $path) + { + splice (@allfiles, $i, 1); # delete it + if ($debug) + { + print " Zapped $path; files now (@allfiles).\n"; + } + lstat ("$basedir/$path"); + $found = 1; + last; + } + } + + if (!$found) + { + print "compare_dir_tree: $path does not exist.\n"; + $bogus = 1; + next; + } + + if ($dirtree {$path} =~ /^DIR$/) + { + if (-d _ && opendir (DIR, "$basedir/$path") ) + { + @files = readdir (DIR); + closedir (DIR); + @files = grep (!/^(\.\.?|CVS|RCS)$/ && ($_ = "$path/$_"), @files); + push (@allfiles, @files); + if ($debug) + { + print " Read in $path; new files (@files).\n"; + } + } + else + { + print "compare_dir_tree: $path is not a dir.\n"; + $bogus = 1; + } + } + elsif ($dirtree {$path} =~ /^FILE:(.*)$/) + { + if (-l _ || !-f _) + { + print "compare_dir_tree: $path is not a file.\n"; + $bogus = 1; + next; + } + + if ($1 ne "*") + { + $contents = &read_file_into_string ("$basedir/$path"); + if ($contents ne "$1\n") + { + print "compare_dir_tree: $path contains wrong stuff." + . " Is:\n$contentsShould be:\n$1\n"; + $bogus = 1; + } + } + } + elsif ($dirtree {$path} =~ /^LINK:(.*)$/) + { + $target = $1; + if (!-l _) + { + print "compare_dir_tree: $path is not a link.\n"; + $bogus = 1; + next; + } + + $contents = readlink ("$basedir/$path"); + $contents =~ tr/>/\//; + $fulltarget = "$basedir/$target"; + $fulltarget =~ tr/>/\//; + if (!($contents =~ /$fulltarget$/)) + { + if ($debug) + { + $target = $fulltarget; + } + print "compare_dir_tree: $path should be link to $target, " + . "not $contents.\n"; + $bogus = 1; + } + } + else + { + &error ("Bogus dirtree type: \"$dirtree{$path}\"\n", 1); + } + } + + if ($debug) + { + print "leftovers: (@allfiles).\n"; + } + + foreach $file (@allfiles) + { + print "compare_dir_tree: $file should not exist.\n"; + $bogus = 1; + } + + return !$bogus; +} + +# this subroutine generates the numeric suffix used to keep tmp filenames, +# log filenames, etc., unique. If the number passed in is 1, then a null +# string is returned; otherwise, we return ".n", where n + 1 is the number +# we were given. + +sub num_suffix +{ + local($num) = @_; + + if (--$num > 0) { + return "$extext$num"; + } + + return ""; +} + +# This subroutine returns a log filename with a number appended to +# the end corresponding to how many logfiles have been created in the +# current running test. An optional parameter may be passed (0 or 1). +# If a 1 is passed, then it does NOT increment the logfile counter +# and returns the name of the latest logfile. If either no parameter +# is passed at all or a 0 is passed, then the logfile counter is +# incremented and the new name is returned. + +sub get_logfile +{ + local($no_increment) = @_; + + $num_of_logfiles += !$no_increment; + + return ($log_filename . &num_suffix ($num_of_logfiles)); +} + +# This subroutine returns a base (answer) filename with a number +# appended to the end corresponding to how many logfiles (and thus +# base files) have been created in the current running test. +# NO PARAMETERS ARE PASSED TO THIS SUBROUTINE. + +sub get_basefile +{ + return ($base_filename . &num_suffix ($num_of_logfiles)); +} + +# This subroutine returns a difference filename with a number appended +# to the end corresponding to how many logfiles (and thus diff files) +# have been created in the current running test. + +sub get_difffile +{ + return ($diff_filename . &num_suffix ($num_of_logfiles)); +} + +# just like logfile, only a generic tmp filename for use by the test. +# they are automatically cleaned up unless -keep was used, or the test fails. +# Pass an argument of 1 to return the same filename as the previous call. + +sub get_tmpfile +{ + local($no_increment) = @_; + + $num_of_tmpfiles += !$no_increment; + + return ($tmp_filename . &num_suffix ($num_of_tmpfiles)); +} + +1; diff --git a/src/mkutil/make/variable.h b/src/mkutil/make/variable.h index 613278a3..14949e1e 100644 --- a/src/mkutil/make/variable.h +++ b/src/mkutil/make/variable.h @@ -1,199 +1,199 @@ -/* Definitions for using variables in GNU Make. -Copyright (C) 1988, 1989, 1990, 1991, 1992, 2002 Free Software Foundation, Inc. -This file is part of GNU Make. - -GNU Make is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Make is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Make; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include "hash.h" - -/* Codes in a variable definition saying where the definition came from. - Increasing numeric values signify less-overridable definitions. */ -enum variable_origin - { - o_default, /* Variable from the default set. */ - o_env, /* Variable from environment. */ - o_file, /* Variable given in a makefile. */ - o_env_override, /* Variable from environment, if -e. */ - o_command, /* Variable given by user. */ - o_override, /* Variable from an `override' directive. */ - o_automatic, /* Automatic variable -- cannot be set. */ - o_invalid /* Core dump time. */ - }; - -enum variable_flavor - { - f_bogus, /* Bogus (error) */ - f_simple, /* Simple definition (:=) */ - f_recursive, /* Recursive definition (=) */ - f_append, /* Appending definition (+=) */ - f_conditional /* Conditional definition (?=) */ - }; - -/* Structure that represents one variable definition. - Each bucket of the hash table is a chain of these, - chained through `next'. */ - -#define EXP_COUNT_BITS 15 /* This gets all the bitfields into 32 bits */ -#define EXP_COUNT_MAX ((1<1, allow this many self-referential - expansions. */ - enum variable_flavor - flavor ENUM_BITFIELD (3); /* Variable flavor. */ - enum variable_origin - origin ENUM_BITFIELD (3); /* Variable origin. */ - enum variable_export - { - v_export, /* Export this variable. */ - v_noexport, /* Don't export this variable. */ - v_ifset, /* Export it if it has a non-default value. */ - v_default /* Decide in target_environment. */ - } export ENUM_BITFIELD (2); - }; - -/* Structure that represents a variable set. */ - -struct variable_set - { - struct hash_table table; /* Hash table of variables. */ - }; - -/* Structure that represents a list of variable sets. */ - -struct variable_set_list - { - struct variable_set_list *next; /* Link in the chain. */ - struct variable_set *set; /* Variable set. */ - }; - -/* Structure used for pattern-specific variables. */ - -struct pattern_var - { - struct pattern_var *next; - char *target; - unsigned int len; - char *suffix; - struct variable variable; - }; - -extern char *variable_buffer; -extern struct variable_set_list *current_variable_set_list; - -/* expand.c */ -extern char *variable_buffer_output PARAMS ((char *ptr, char *string, unsigned int length)); -extern char *variable_expand PARAMS ((char *line)); -extern char *allocated_variable_expand_for_file PARAMS ((char *line, struct file *file)); -#define allocated_variable_expand(line) \ - allocated_variable_expand_for_file (line, (struct file *) 0) -extern char *expand_argument PARAMS ((const char *str, const char *end)); -extern char *variable_expand_string PARAMS ((char *line, char *string, - long length)); -extern void install_variable_buffer PARAMS ((char **bufp, unsigned int *lenp)); -extern void restore_variable_buffer PARAMS ((char *buf, unsigned int len)); - -/* function.c */ -extern int handle_function PARAMS ((char **op, char **stringp)); -extern int pattern_matches PARAMS ((char *pattern, char *percent, char *str)); -extern char *subst_expand PARAMS ((char *o, char *text, char *subst, char *replace, - unsigned int slen, unsigned int rlen, int by_word, int suffix_only)); -extern char *patsubst_expand PARAMS ((char *o, char *text, char *pattern, char *replace, - char *pattern_percent, char *replace_percent)); - -/* expand.c */ -extern char *recursively_expand_for_file PARAMS ((struct variable *v, - struct file *file)); -#define recursively_expand(v) recursively_expand_for_file (v, NULL) - -/* variable.c */ -extern struct variable_set_list *create_new_variable_set PARAMS ((void)); -extern struct variable_set_list *push_new_variable_scope PARAMS ((void)); -extern void pop_variable_scope PARAMS ((void)); -extern void define_automatic_variables PARAMS ((void)); -extern void initialize_file_variables PARAMS ((struct file *file, int read)); -extern void print_file_variables PARAMS ((struct file *file)); -extern void print_variable_set PARAMS ((struct variable_set *set, char *prefix)); -extern void merge_variable_set_lists PARAMS ((struct variable_set_list **to_list, struct variable_set_list *from_list)); -extern struct variable *do_variable_definition PARAMS ((const struct floc *flocp, const char *name, char *value, enum variable_origin origin, enum variable_flavor flavor, int target_var)); -extern struct variable *parse_variable_definition PARAMS ((struct variable *v, char *line)); -extern struct variable *try_variable_definition PARAMS ((const struct floc *flocp, char *line, enum variable_origin origin, int target_var)); -extern void init_hash_global_variable_set PARAMS ((void)); -extern void hash_init_function_table PARAMS ((void)); -extern struct variable *lookup_variable PARAMS ((const char *name, unsigned int length)); -extern struct variable *lookup_variable_in_set PARAMS ((const char *name, - unsigned int length, - const struct variable_set *set)); - -extern struct variable *define_variable_in_set - PARAMS ((const char *name, unsigned int length, char *value, - enum variable_origin origin, int recursive, - struct variable_set *set, const struct floc *flocp)); - -/* Define a variable in the current variable set. */ - -#define define_variable(n,l,v,o,r) \ - define_variable_in_set((n),(l),(v),(o),(r),\ - current_variable_set_list->set,NILF) - -/* Define a variable with a location in the current variable set. */ - -#define define_variable_loc(n,l,v,o,r,f) \ - define_variable_in_set((n),(l),(v),(o),(r),\ - current_variable_set_list->set,(f)) - -/* Define a variable with a location in the global variable set. */ - -#define define_variable_global(n,l,v,o,r,f) \ - define_variable_in_set((n),(l),(v),(o),(r),NULL,(f)) - -/* Define a variable in FILE's variable set. */ - -#define define_variable_for_file(n,l,v,o,r,f) \ - define_variable_in_set((n),(l),(v),(o),(r),(f)->variables->set,NILF) - -/* Warn that NAME is an undefined variable. */ - -#define warn_undefined(n,l) do{\ - if (warn_undefined_variables_flag) \ - error (reading_file, \ - _("warning: undefined variable `%.*s'"), \ - (int)(l), (n)); \ - }while(0) - -extern char **target_environment PARAMS ((struct file *file)); - -extern struct pattern_var *create_pattern_var PARAMS ((char *target, char *suffix)); - -extern int export_all_variables; - -#define MAKELEVEL_NAME "MAKELEVEL" -#define MAKELEVEL_LENGTH (sizeof (MAKELEVEL_NAME) - 1) +/* Definitions for using variables in GNU Make. +Copyright (C) 1988, 1989, 1990, 1991, 1992, 2002 Free Software Foundation, Inc. +This file is part of GNU Make. + +GNU Make is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Make is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Make; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +#include "hash.h" + +/* Codes in a variable definition saying where the definition came from. + Increasing numeric values signify less-overridable definitions. */ +enum variable_origin + { + o_default, /* Variable from the default set. */ + o_env, /* Variable from environment. */ + o_file, /* Variable given in a makefile. */ + o_env_override, /* Variable from environment, if -e. */ + o_command, /* Variable given by user. */ + o_override, /* Variable from an `override' directive. */ + o_automatic, /* Automatic variable -- cannot be set. */ + o_invalid /* Core dump time. */ + }; + +enum variable_flavor + { + f_bogus, /* Bogus (error) */ + f_simple, /* Simple definition (:=) */ + f_recursive, /* Recursive definition (=) */ + f_append, /* Appending definition (+=) */ + f_conditional /* Conditional definition (?=) */ + }; + +/* Structure that represents one variable definition. + Each bucket of the hash table is a chain of these, + chained through `next'. */ + +#define EXP_COUNT_BITS 15 /* This gets all the bitfields into 32 bits */ +#define EXP_COUNT_MAX ((1<1, allow this many self-referential + expansions. */ + enum variable_flavor + flavor ENUM_BITFIELD (3); /* Variable flavor. */ + enum variable_origin + origin ENUM_BITFIELD (3); /* Variable origin. */ + enum variable_export + { + v_export, /* Export this variable. */ + v_noexport, /* Don't export this variable. */ + v_ifset, /* Export it if it has a non-default value. */ + v_default /* Decide in target_environment. */ + } export ENUM_BITFIELD (2); + }; + +/* Structure that represents a variable set. */ + +struct variable_set + { + struct hash_table table; /* Hash table of variables. */ + }; + +/* Structure that represents a list of variable sets. */ + +struct variable_set_list + { + struct variable_set_list *next; /* Link in the chain. */ + struct variable_set *set; /* Variable set. */ + }; + +/* Structure used for pattern-specific variables. */ + +struct pattern_var + { + struct pattern_var *next; + char *target; + unsigned int len; + char *suffix; + struct variable variable; + }; + +extern char *variable_buffer; +extern struct variable_set_list *current_variable_set_list; + +/* expand.c */ +extern char *variable_buffer_output PARAMS ((char *ptr, char *string, unsigned int length)); +extern char *variable_expand PARAMS ((char *line)); +extern char *allocated_variable_expand_for_file PARAMS ((char *line, struct file *file)); +#define allocated_variable_expand(line) \ + allocated_variable_expand_for_file (line, (struct file *) 0) +extern char *expand_argument PARAMS ((const char *str, const char *end)); +extern char *variable_expand_string PARAMS ((char *line, char *string, + long length)); +extern void install_variable_buffer PARAMS ((char **bufp, unsigned int *lenp)); +extern void restore_variable_buffer PARAMS ((char *buf, unsigned int len)); + +/* function.c */ +extern int handle_function PARAMS ((char **op, char **stringp)); +extern int pattern_matches PARAMS ((char *pattern, char *percent, char *str)); +extern char *subst_expand PARAMS ((char *o, char *text, char *subst, char *replace, + unsigned int slen, unsigned int rlen, int by_word, int suffix_only)); +extern char *patsubst_expand PARAMS ((char *o, char *text, char *pattern, char *replace, + char *pattern_percent, char *replace_percent)); + +/* expand.c */ +extern char *recursively_expand_for_file PARAMS ((struct variable *v, + struct file *file)); +#define recursively_expand(v) recursively_expand_for_file (v, NULL) + +/* variable.c */ +extern struct variable_set_list *create_new_variable_set PARAMS ((void)); +extern struct variable_set_list *push_new_variable_scope PARAMS ((void)); +extern void pop_variable_scope PARAMS ((void)); +extern void define_automatic_variables PARAMS ((void)); +extern void initialize_file_variables PARAMS ((struct file *file, int read)); +extern void print_file_variables PARAMS ((struct file *file)); +extern void print_variable_set PARAMS ((struct variable_set *set, char *prefix)); +extern void merge_variable_set_lists PARAMS ((struct variable_set_list **to_list, struct variable_set_list *from_list)); +extern struct variable *do_variable_definition PARAMS ((const struct floc *flocp, const char *name, char *value, enum variable_origin origin, enum variable_flavor flavor, int target_var)); +extern struct variable *parse_variable_definition PARAMS ((struct variable *v, char *line)); +extern struct variable *try_variable_definition PARAMS ((const struct floc *flocp, char *line, enum variable_origin origin, int target_var)); +extern void init_hash_global_variable_set PARAMS ((void)); +extern void hash_init_function_table PARAMS ((void)); +extern struct variable *lookup_variable PARAMS ((const char *name, unsigned int length)); +extern struct variable *lookup_variable_in_set PARAMS ((const char *name, + unsigned int length, + const struct variable_set *set)); + +extern struct variable *define_variable_in_set + PARAMS ((const char *name, unsigned int length, char *value, + enum variable_origin origin, int recursive, + struct variable_set *set, const struct floc *flocp)); + +/* Define a variable in the current variable set. */ + +#define define_variable(n,l,v,o,r) \ + define_variable_in_set((n),(l),(v),(o),(r),\ + current_variable_set_list->set,NILF) + +/* Define a variable with a location in the current variable set. */ + +#define define_variable_loc(n,l,v,o,r,f) \ + define_variable_in_set((n),(l),(v),(o),(r),\ + current_variable_set_list->set,(f)) + +/* Define a variable with a location in the global variable set. */ + +#define define_variable_global(n,l,v,o,r,f) \ + define_variable_in_set((n),(l),(v),(o),(r),NULL,(f)) + +/* Define a variable in FILE's variable set. */ + +#define define_variable_for_file(n,l,v,o,r,f) \ + define_variable_in_set((n),(l),(v),(o),(r),(f)->variables->set,NILF) + +/* Warn that NAME is an undefined variable. */ + +#define warn_undefined(n,l) do{\ + if (warn_undefined_variables_flag) \ + error (reading_file, \ + _("warning: undefined variable `%.*s'"), \ + (int)(l), (n)); \ + }while(0) + +extern char **target_environment PARAMS ((struct file *file)); + +extern struct pattern_var *create_pattern_var PARAMS ((char *target, char *suffix)); + +extern int export_all_variables; + +#define MAKELEVEL_NAME "MAKELEVEL" +#define MAKELEVEL_LENGTH (sizeof (MAKELEVEL_NAME) - 1) diff --git a/src/mkutil/make/vmsdir.h b/src/mkutil/make/vmsdir.h index 59034759..d3ad7a3a 100644 --- a/src/mkutil/make/vmsdir.h +++ b/src/mkutil/make/vmsdir.h @@ -1,61 +1,61 @@ -/* dirent.h for vms */ - -#ifndef VMSDIR_H -#define VMSDIR_H - -#include - -#define MAXNAMLEN 255 - -#ifndef __DECC -#if !defined (__GNUC__) && !defined (__ALPHA) -typedef unsigned long u_long; -typedef unsigned short u_short; -#endif -#endif - -struct direct -{ - off_t d_off; - u_long d_fileno; - u_short d_reclen; - u_short d_namlen; - char d_name[MAXNAMLEN + 1]; -}; - -#undef DIRSIZ -#define DIRSIZ(dp) \ - (((sizeof (struct direct) \ - - (MAXNAMLEN+1) \ - + ((dp)->d_namlen+1)) \ - + 3) & ~3) - -#define d_ino d_fileno /* compatability */ - - -/* - * Definitions for library routines operating on directories. - */ - -typedef struct DIR -{ - struct direct dir; - char d_result[MAXNAMLEN + 1]; -#if defined (__ALPHA) || defined (__DECC) - struct FAB fab; -#else - struct fabdef fab; -#endif -} DIR; - -#ifndef NULL -#define NULL 0 -#endif - -extern DIR *opendir PARAMS (()); -extern struct direct *readdir PARAMS ((DIR *dfd)); -#define rewinddir(dirp) seekdir((dirp), (long)0) -extern int closedir PARAMS ((DIR *dfd)); -extern char *vmsify PARAMS ((char *name, int type)); - -#endif /* VMSDIR_H */ +/* dirent.h for vms */ + +#ifndef VMSDIR_H +#define VMSDIR_H + +#include + +#define MAXNAMLEN 255 + +#ifndef __DECC +#if !defined (__GNUC__) && !defined (__ALPHA) +typedef unsigned long u_long; +typedef unsigned short u_short; +#endif +#endif + +struct direct +{ + off_t d_off; + u_long d_fileno; + u_short d_reclen; + u_short d_namlen; + char d_name[MAXNAMLEN + 1]; +}; + +#undef DIRSIZ +#define DIRSIZ(dp) \ + (((sizeof (struct direct) \ + - (MAXNAMLEN+1) \ + + ((dp)->d_namlen+1)) \ + + 3) & ~3) + +#define d_ino d_fileno /* compatability */ + + +/* + * Definitions for library routines operating on directories. + */ + +typedef struct DIR +{ + struct direct dir; + char d_result[MAXNAMLEN + 1]; +#if defined (__ALPHA) || defined (__DECC) + struct FAB fab; +#else + struct fabdef fab; +#endif +} DIR; + +#ifndef NULL +#define NULL 0 +#endif + +extern DIR *opendir PARAMS (()); +extern struct direct *readdir PARAMS ((DIR *dfd)); +#define rewinddir(dirp) seekdir((dirp), (long)0) +extern int closedir PARAMS ((DIR *dfd)); +extern char *vmsify PARAMS ((char *name, int type)); + +#endif /* VMSDIR_H */ diff --git a/src/mkutil/make/w32/CVS/Entries b/src/mkutil/make/w32/CVS/Entries index 7f872be1..89fef5c1 100644 --- a/src/mkutil/make/w32/CVS/Entries +++ b/src/mkutil/make/w32/CVS/Entries @@ -1,2 +1,4 @@ -/pathstuff.c/1.6/Wed Jun 7 05:43:37 2000// -D +/pathstuff.c/1.1.1.1/Mon Nov 17 19:06:12 2003// +D/compat//// +D/include//// +D/subproc//// diff --git a/src/mkutil/make/w32/CVS/Entries.Log b/src/mkutil/make/w32/CVS/Entries.Log deleted file mode 100644 index 53c16e95..00000000 --- a/src/mkutil/make/w32/CVS/Entries.Log +++ /dev/null @@ -1,3 +0,0 @@ -A D/compat//// -A D/include//// -A D/subproc//// diff --git a/src/mkutil/make/w32/CVS/Repository b/src/mkutil/make/w32/CVS/Repository index 49f79fe4..7599426d 100644 --- a/src/mkutil/make/w32/CVS/Repository +++ b/src/mkutil/make/w32/CVS/Repository @@ -1 +1 @@ -make/w32 +uzi/src/mkutil/make/w32 diff --git a/src/mkutil/make/w32/CVS/Root b/src/mkutil/make/w32/CVS/Root index 132093b8..933b8194 100644 --- a/src/mkutil/make/w32/CVS/Root +++ b/src/mkutil/make/w32/CVS/Root @@ -1 +1 @@ -:pserver:anoncvs@subversions.gnu.org:/cvsroot/make +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/make/w32/compat/CVS/Entries b/src/mkutil/make/w32/compat/CVS/Entries index 85976cfc..a3998145 100644 --- a/src/mkutil/make/w32/compat/CVS/Entries +++ b/src/mkutil/make/w32/compat/CVS/Entries @@ -1,2 +1,2 @@ -/dirent.c/1.4/Wed Aug 27 20:34:12 1997// -D +/dirent.c/1.1.1.1/Mon Nov 17 19:06:12 2003// +D diff --git a/src/mkutil/make/w32/compat/CVS/Repository b/src/mkutil/make/w32/compat/CVS/Repository index 873bac44..145f61ae 100644 --- a/src/mkutil/make/w32/compat/CVS/Repository +++ b/src/mkutil/make/w32/compat/CVS/Repository @@ -1 +1 @@ -make/w32/compat +uzi/src/mkutil/make/w32/compat diff --git a/src/mkutil/make/w32/compat/CVS/Root b/src/mkutil/make/w32/compat/CVS/Root index 132093b8..933b8194 100644 --- a/src/mkutil/make/w32/compat/CVS/Root +++ b/src/mkutil/make/w32/compat/CVS/Root @@ -1 +1 @@ -:pserver:anoncvs@subversions.gnu.org:/cvsroot/make +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/make/w32/include/CVS/Entries b/src/mkutil/make/w32/include/CVS/Entries index e43122c2..ca696788 100644 --- a/src/mkutil/make/w32/include/CVS/Entries +++ b/src/mkutil/make/w32/include/CVS/Entries @@ -1,5 +1,5 @@ -/dirent.h/1.3/Mon Apr 7 07:24:42 1997// -/pathstuff.h/1.4/Mon Apr 7 07:24:45 1997// -/sub_proc.h/1.4/Wed Aug 27 20:34:23 1997// -/w32err.h/1.3/Mon Apr 7 07:24:50 1997// -D +/dirent.h/1.1.1.1/Mon Nov 17 19:06:12 2003// +/pathstuff.h/1.1.1.1/Mon Nov 17 19:06:12 2003// +/sub_proc.h/1.1.1.1/Mon Nov 17 19:06:12 2003// +/w32err.h/1.1.1.1/Mon Nov 17 19:06:12 2003// +D diff --git a/src/mkutil/make/w32/include/CVS/Repository b/src/mkutil/make/w32/include/CVS/Repository index 7ffd49d4..dfe5ce2c 100644 --- a/src/mkutil/make/w32/include/CVS/Repository +++ b/src/mkutil/make/w32/include/CVS/Repository @@ -1 +1 @@ -make/w32/include +uzi/src/mkutil/make/w32/include diff --git a/src/mkutil/make/w32/include/CVS/Root b/src/mkutil/make/w32/include/CVS/Root index 132093b8..933b8194 100644 --- a/src/mkutil/make/w32/include/CVS/Root +++ b/src/mkutil/make/w32/include/CVS/Root @@ -1 +1 @@ -:pserver:anoncvs@subversions.gnu.org:/cvsroot/make +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/make/w32/include/pathstuff.h b/src/mkutil/make/w32/include/pathstuff.h index a036f7b2..d501cff3 100644 --- a/src/mkutil/make/w32/include/pathstuff.h +++ b/src/mkutil/make/w32/include/pathstuff.h @@ -1,9 +1,9 @@ -#ifndef _PATHSTUFF_H -#define _PATHSTUFF_H - -extern char * convert_Path_to_windows32(char *Path, char to_delim); -extern char * convert_vpath_to_windows32(char *Path, char to_delim); -extern char * w32ify(char *file, int resolve); -extern char * getcwd_fs(char *buf, int len); - -#endif +#ifndef _PATHSTUFF_H +#define _PATHSTUFF_H + +extern char * convert_Path_to_windows32(char *Path, char to_delim); +extern char * convert_vpath_to_windows32(char *Path, char to_delim); +extern char * w32ify(char *file, int resolve); +extern char * getcwd_fs(char *buf, int len); + +#endif diff --git a/src/mkutil/make/w32/include/sub_proc.h b/src/mkutil/make/w32/include/sub_proc.h index 9cc54a57..c94edd71 100644 --- a/src/mkutil/make/w32/include/sub_proc.h +++ b/src/mkutil/make/w32/include/sub_proc.h @@ -4,14 +4,14 @@ /* * Component Name: * - * $Date: 1997/08/27 20:34:23 $ + * $Date: 2003/11/17 19:06:11 $ * - * $Source: /cvsroot/make/make/w32/include/sub_proc.h,v $ + * $Source: /home/cvsroot/uzi/src/mkutil/make/w32/include/sub_proc.h,v $ * - * $Revision: 1.4 $ + * $Revision: 1.1.1.1 $ */ -/* $Id: sub_proc.h,v 1.4 1997/08/27 20:34:23 psmith Exp $ */ +/* $Id: sub_proc.h,v 1.1.1.1 2003/11/17 19:06:11 nick Exp $ */ #ifdef WINDOWS32 diff --git a/src/mkutil/make/w32/pathstuff.c b/src/mkutil/make/w32/pathstuff.c index d8f38453..4f02dec3 100644 --- a/src/mkutil/make/w32/pathstuff.c +++ b/src/mkutil/make/w32/pathstuff.c @@ -1,238 +1,238 @@ -#include -#include -#include "make.h" -#include "pathstuff.h" - -/* - * Convert delimiter separated vpath to Canonical format. - */ -char * -convert_vpath_to_windows32(char *Path, char to_delim) -{ - char *etok; /* token separator for old Path */ - - /* - * Convert all spaces to delimiters. Note that pathnames which - * contain blanks get trounced here. Use 8.3 format as a workaround. - */ - for (etok = Path; etok && *etok; etok++) - if (isblank ((unsigned char) *etok)) - *etok = to_delim; - - return (convert_Path_to_windows32(Path, to_delim)); -} - -/* - * Convert delimiter separated path to Canonical format. - */ -char * -convert_Path_to_windows32(char *Path, char to_delim) -{ - char *etok; /* token separator for old Path */ - char *p; /* points to element of old Path */ - - /* is this a multi-element Path ? */ - for (p = Path, etok = strpbrk(p, ":;"); - etok; - etok = strpbrk(p, ":;")) - if ((etok - p) == 1) { - if (*(etok - 1) == ';' || - *(etok - 1) == ':') { - etok[-1] = to_delim; - etok[0] = to_delim; - p = ++etok; - continue; /* ignore empty bucket */ - } else if (!isalpha ((unsigned char) *p)) { - /* found one to count, handle things like '.' */ - *etok = to_delim; - p = ++etok; - } else if ((*etok == ':') && (etok = strpbrk(etok+1, ":;"))) { - /* found one to count, handle drive letter */ - *etok = to_delim; - p = ++etok; - } else - /* all finished, force abort */ - p += strlen(p); - } else { - /* found another one, no drive letter */ - *etok = to_delim; - p = ++etok; - } - - return Path; -} - -/* - * Convert to forward slashes. Resolve to full pathname optionally - */ -char * -w32ify(char *filename, int resolve) -{ - static char w32_path[FILENAME_MAX]; - char *p; - - if (resolve) - _fullpath(w32_path, filename, sizeof (w32_path)); - else - strncpy(w32_path, filename, sizeof (w32_path)); - - for (p = w32_path; p && *p; p++) - if (*p == '\\') - *p = '/'; - - return w32_path; -} - -char * -getcwd_fs(char* buf, int len) -{ - char *p; - - if (p = getcwd(buf, len)) { - char *q = w32ify(buf, 0); - strncpy(buf, q, len); - } - - return p; -} - -#ifdef unused -/* - * Convert delimiter separated pathnames (e.g. PATH) or single file pathname - * (e.g. c:/foo, c:\bar) to NutC format. If we are handed a string that - * _NutPathToNutc() fails to convert, just return the path we were handed - * and assume the caller will know what to do with it (It was probably - * a mistake to try and convert it anyway due to some of the bizarre things - * that might look like pathnames in makefiles). - */ -char * -convert_path_to_nutc(char *path) -{ - int count; /* count of path elements */ - char *nutc_path; /* new NutC path */ - int nutc_path_len; /* length of buffer to allocate for new path */ - char *pathp; /* pointer to nutc_path used to build it */ - char *etok; /* token separator for old path */ - char *p; /* points to element of old path */ - char sep; /* what flavor of separator used in old path */ - char *rval; - - /* is this a multi-element path ? */ - for (p = path, etok = strpbrk(p, ":;"), count = 0; - etok; - etok = strpbrk(p, ":;")) - if ((etok - p) == 1) { - if (*(etok - 1) == ';' || - *(etok - 1) == ':') { - p = ++etok; - continue; /* ignore empty bucket */ - } else if (etok = strpbrk(etok+1, ":;")) - /* found one to count, handle drive letter */ - p = ++etok, count++; - else - /* all finished, force abort */ - p += strlen(p); - } else - /* found another one, no drive letter */ - p = ++etok, count++; - - if (count) { - count++; /* x1;x2;x3 <- need to count x3 */ - - /* - * Hazard a guess on how big the buffer needs to be. - * We have to convert things like c:/foo to /c=/foo. - */ - nutc_path_len = strlen(path) + (count*2) + 1; - nutc_path = xmalloc(nutc_path_len); - pathp = nutc_path; - *pathp = '\0'; - - /* - * Loop through PATH and convert one elemnt of the path at at - * a time. Single file pathnames will fail this and fall - * to the logic below loop. - */ - for (p = path, etok = strpbrk(p, ":;"); - etok; - etok = strpbrk(p, ":;")) { - - /* don't trip up on device specifiers or empty path slots */ - if ((etok - p) == 1) - if (*(etok - 1) == ';' || - *(etok - 1) == ':') { - p = ++etok; - continue; - } else if ((etok = strpbrk(etok+1, ":;")) == NULL) - break; /* thing found was a WINDOWS32 pathname */ - - /* save separator */ - sep = *etok; - - /* terminate the current path element -- temporarily */ - *etok = '\0'; - -#ifdef __NUTC__ - /* convert to NutC format */ - if (_NutPathToNutc(p, pathp, 0) == FALSE) { - free(nutc_path); - rval = savestring(path, strlen(path)); - return rval; - } -#else - *pathp++ = '/'; - *pathp++ = p[0]; - *pathp++ = '='; - *pathp++ = '/'; - strcpy(pathp, &p[2]); -#endif - - pathp += strlen(pathp); - *pathp++ = ':'; /* use Unix style path separtor for new path */ - *pathp = '\0'; /* make sure we are null terminaed */ - - /* restore path separator */ - *etok = sep; - - /* point p to first char of next path element */ - p = ++etok; - - } - } else { - nutc_path_len = strlen(path) + 3; - nutc_path = xmalloc(nutc_path_len); - pathp = nutc_path; - *pathp = '\0'; - p = path; - } - - /* - * OK, here we handle the last element in PATH (e.g. c of a;b;c) - * or the path was a single filename and will be converted - * here. Note, testing p here assures that we don't trip up - * on paths like a;b; which have trailing delimiter followed by - * nothing. - */ - if (*p != '\0') { -#ifdef __NUTC__ - if (_NutPathToNutc(p, pathp, 0) == FALSE) { - free(nutc_path); - rval = savestring(path, strlen(path)); - return rval; - } -#else - *pathp++ = '/'; - *pathp++ = p[0]; - *pathp++ = '='; - *pathp++ = '/'; - strcpy(pathp, &p[2]); -#endif - } else - *(pathp-1) = '\0'; /* we're already done, don't leave trailing : */ - - rval = savestring(nutc_path, strlen(nutc_path)); - free(nutc_path); - return rval; -} - -#endif +#include +#include +#include "make.h" +#include "pathstuff.h" + +/* + * Convert delimiter separated vpath to Canonical format. + */ +char * +convert_vpath_to_windows32(char *Path, char to_delim) +{ + char *etok; /* token separator for old Path */ + + /* + * Convert all spaces to delimiters. Note that pathnames which + * contain blanks get trounced here. Use 8.3 format as a workaround. + */ + for (etok = Path; etok && *etok; etok++) + if (isblank ((unsigned char) *etok)) + *etok = to_delim; + + return (convert_Path_to_windows32(Path, to_delim)); +} + +/* + * Convert delimiter separated path to Canonical format. + */ +char * +convert_Path_to_windows32(char *Path, char to_delim) +{ + char *etok; /* token separator for old Path */ + char *p; /* points to element of old Path */ + + /* is this a multi-element Path ? */ + for (p = Path, etok = strpbrk(p, ":;"); + etok; + etok = strpbrk(p, ":;")) + if ((etok - p) == 1) { + if (*(etok - 1) == ';' || + *(etok - 1) == ':') { + etok[-1] = to_delim; + etok[0] = to_delim; + p = ++etok; + continue; /* ignore empty bucket */ + } else if (!isalpha ((unsigned char) *p)) { + /* found one to count, handle things like '.' */ + *etok = to_delim; + p = ++etok; + } else if ((*etok == ':') && (etok = strpbrk(etok+1, ":;"))) { + /* found one to count, handle drive letter */ + *etok = to_delim; + p = ++etok; + } else + /* all finished, force abort */ + p += strlen(p); + } else { + /* found another one, no drive letter */ + *etok = to_delim; + p = ++etok; + } + + return Path; +} + +/* + * Convert to forward slashes. Resolve to full pathname optionally + */ +char * +w32ify(char *filename, int resolve) +{ + static char w32_path[FILENAME_MAX]; + char *p; + + if (resolve) + _fullpath(w32_path, filename, sizeof (w32_path)); + else + strncpy(w32_path, filename, sizeof (w32_path)); + + for (p = w32_path; p && *p; p++) + if (*p == '\\') + *p = '/'; + + return w32_path; +} + +char * +getcwd_fs(char* buf, int len) +{ + char *p; + + if (p = getcwd(buf, len)) { + char *q = w32ify(buf, 0); + strncpy(buf, q, len); + } + + return p; +} + +#ifdef unused +/* + * Convert delimiter separated pathnames (e.g. PATH) or single file pathname + * (e.g. c:/foo, c:\bar) to NutC format. If we are handed a string that + * _NutPathToNutc() fails to convert, just return the path we were handed + * and assume the caller will know what to do with it (It was probably + * a mistake to try and convert it anyway due to some of the bizarre things + * that might look like pathnames in makefiles). + */ +char * +convert_path_to_nutc(char *path) +{ + int count; /* count of path elements */ + char *nutc_path; /* new NutC path */ + int nutc_path_len; /* length of buffer to allocate for new path */ + char *pathp; /* pointer to nutc_path used to build it */ + char *etok; /* token separator for old path */ + char *p; /* points to element of old path */ + char sep; /* what flavor of separator used in old path */ + char *rval; + + /* is this a multi-element path ? */ + for (p = path, etok = strpbrk(p, ":;"), count = 0; + etok; + etok = strpbrk(p, ":;")) + if ((etok - p) == 1) { + if (*(etok - 1) == ';' || + *(etok - 1) == ':') { + p = ++etok; + continue; /* ignore empty bucket */ + } else if (etok = strpbrk(etok+1, ":;")) + /* found one to count, handle drive letter */ + p = ++etok, count++; + else + /* all finished, force abort */ + p += strlen(p); + } else + /* found another one, no drive letter */ + p = ++etok, count++; + + if (count) { + count++; /* x1;x2;x3 <- need to count x3 */ + + /* + * Hazard a guess on how big the buffer needs to be. + * We have to convert things like c:/foo to /c=/foo. + */ + nutc_path_len = strlen(path) + (count*2) + 1; + nutc_path = xmalloc(nutc_path_len); + pathp = nutc_path; + *pathp = '\0'; + + /* + * Loop through PATH and convert one elemnt of the path at at + * a time. Single file pathnames will fail this and fall + * to the logic below loop. + */ + for (p = path, etok = strpbrk(p, ":;"); + etok; + etok = strpbrk(p, ":;")) { + + /* don't trip up on device specifiers or empty path slots */ + if ((etok - p) == 1) + if (*(etok - 1) == ';' || + *(etok - 1) == ':') { + p = ++etok; + continue; + } else if ((etok = strpbrk(etok+1, ":;")) == NULL) + break; /* thing found was a WINDOWS32 pathname */ + + /* save separator */ + sep = *etok; + + /* terminate the current path element -- temporarily */ + *etok = '\0'; + +#ifdef __NUTC__ + /* convert to NutC format */ + if (_NutPathToNutc(p, pathp, 0) == FALSE) { + free(nutc_path); + rval = savestring(path, strlen(path)); + return rval; + } +#else + *pathp++ = '/'; + *pathp++ = p[0]; + *pathp++ = '='; + *pathp++ = '/'; + strcpy(pathp, &p[2]); +#endif + + pathp += strlen(pathp); + *pathp++ = ':'; /* use Unix style path separtor for new path */ + *pathp = '\0'; /* make sure we are null terminaed */ + + /* restore path separator */ + *etok = sep; + + /* point p to first char of next path element */ + p = ++etok; + + } + } else { + nutc_path_len = strlen(path) + 3; + nutc_path = xmalloc(nutc_path_len); + pathp = nutc_path; + *pathp = '\0'; + p = path; + } + + /* + * OK, here we handle the last element in PATH (e.g. c of a;b;c) + * or the path was a single filename and will be converted + * here. Note, testing p here assures that we don't trip up + * on paths like a;b; which have trailing delimiter followed by + * nothing. + */ + if (*p != '\0') { +#ifdef __NUTC__ + if (_NutPathToNutc(p, pathp, 0) == FALSE) { + free(nutc_path); + rval = savestring(path, strlen(path)); + return rval; + } +#else + *pathp++ = '/'; + *pathp++ = p[0]; + *pathp++ = '='; + *pathp++ = '/'; + strcpy(pathp, &p[2]); +#endif + } else + *(pathp-1) = '\0'; /* we're already done, don't leave trailing : */ + + rval = savestring(nutc_path, strlen(nutc_path)); + free(nutc_path); + return rval; +} + +#endif diff --git a/src/mkutil/make/w32/subproc/CVS/Entries b/src/mkutil/make/w32/subproc/CVS/Entries index e3166f70..b09ae56d 100644 --- a/src/mkutil/make/w32/subproc/CVS/Entries +++ b/src/mkutil/make/w32/subproc/CVS/Entries @@ -1,7 +1,7 @@ -/NMakefile/1.6/Sat Oct 3 05:40:40 1998// -/build.bat/1.5/Thu Jul 30 21:00:14 1998// -/misc.c/1.4/Wed Dec 8 20:14:06 1999// -/proc.h/1.2/Fri Jul 19 21:41:30 1996// -/sub_proc.c/1.8/Sat Apr 22 02:11:18 2000// -/w32err.c/1.3/Mon Apr 7 07:25:06 1997// -D +/NMakefile/1.1.1.1/Mon Nov 17 19:06:12 2003// +/build.bat/1.1.1.1/Mon Nov 17 19:06:12 2003// +/misc.c/1.1.1.1/Mon Nov 17 19:06:12 2003// +/proc.h/1.1.1.1/Mon Nov 17 19:06:12 2003// +/sub_proc.c/1.1.1.1/Mon Nov 17 19:06:12 2003// +/w32err.c/1.1.1.1/Mon Nov 17 19:06:12 2003// +D diff --git a/src/mkutil/make/w32/subproc/CVS/Repository b/src/mkutil/make/w32/subproc/CVS/Repository index 820c4098..bd92aafd 100644 --- a/src/mkutil/make/w32/subproc/CVS/Repository +++ b/src/mkutil/make/w32/subproc/CVS/Repository @@ -1 +1 @@ -make/w32/subproc +uzi/src/mkutil/make/w32/subproc diff --git a/src/mkutil/make/w32/subproc/CVS/Root b/src/mkutil/make/w32/subproc/CVS/Root index 132093b8..933b8194 100644 --- a/src/mkutil/make/w32/subproc/CVS/Root +++ b/src/mkutil/make/w32/subproc/CVS/Root @@ -1 +1 @@ -:pserver:anoncvs@subversions.gnu.org:/cvsroot/make +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/make/w32/subproc/NMakefile b/src/mkutil/make/w32/subproc/NMakefile index 66afe650..6451dfc2 100644 --- a/src/mkutil/make/w32/subproc/NMakefile +++ b/src/mkutil/make/w32/subproc/NMakefile @@ -1,60 +1,60 @@ -# NOTE: If you have no `make' program at all to process this makefile, run -# `build.bat' instead. -# -# Copyright (C) 1988,89,91,92,93,94,95,96,97 Free Software Foundation, Inc -# This file is part of GNU Make. -# -# GNU Make is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# GNU Make is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Make; see the file COPYING. If not, write to -# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - -# -# NMakefile for GNU Make (subproc library) -# -LIB = lib -CC = cl - -OUTDIR=. -MAKEFILE=NMakefile - -CFLAGS_any = /nologo /MT /W3 /GX /Z7 /YX /D WIN32 /D WINDOWS32 /D _WINDOWS -I. -I../include -I../../ -CFLAGS_debug = $(CFLAGS_any) /Od /D _DEBUG /FR.\WinDebug\ /Fp.\WinDebug\subproc.pch /Fo.\WinDebug/ -CFLAGS_release = $(CFLAGS_any) /O2 /FR.\WinRel\ /Fp.\WinRel\subproc.pch /Fo.\WinRel/ - -all: Release Debug - -Release: - $(MAKE) /f $(MAKEFILE) OUTDIR=WinRel CFLAGS="$(CFLAGS_release)" WinRel/subproc.lib -Debug: - $(MAKE) /f $(MAKEFILE) OUTDIR=WinDebug CFLAGS="$(CFLAGS_debug)" WinDebug/subproc.lib - -clean: - rmdir /s /q WinRel WinDebug - erase *.pdb - -$(OUTDIR): - if not exist .\$@\nul mkdir .\$@ - -OBJS = $(OUTDIR)/misc.obj $(OUTDIR)/w32err.obj $(OUTDIR)/sub_proc.obj - -$(OUTDIR)/subproc.lib: $(OUTDIR) $(OBJS) - $(LIB) -out:$@ @<< - $(OBJS) -<< - -.c{$(OUTDIR)}.obj: - $(CC) $(CFLAGS) /c $< - -$(OUTDIR)/misc.obj: misc.c proc.h -$(OUTDIR)/sub_proc.obj: sub_proc.c ../include/sub_proc.h ../include/w32err.h proc.h -$(OUTDIR)/w32err.obj: w32err.c ../include/w32err.h +# NOTE: If you have no `make' program at all to process this makefile, run +# `build.bat' instead. +# +# Copyright (C) 1988,89,91,92,93,94,95,96,97 Free Software Foundation, Inc +# This file is part of GNU Make. +# +# GNU Make is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# GNU Make is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Make; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + +# +# NMakefile for GNU Make (subproc library) +# +LIB = lib +CC = cl + +OUTDIR=. +MAKEFILE=NMakefile + +CFLAGS_any = /nologo /MT /W3 /GX /Z7 /YX /D WIN32 /D WINDOWS32 /D _WINDOWS -I. -I../include -I../../ +CFLAGS_debug = $(CFLAGS_any) /Od /D _DEBUG /FR.\WinDebug\ /Fp.\WinDebug\subproc.pch /Fo.\WinDebug/ +CFLAGS_release = $(CFLAGS_any) /O2 /FR.\WinRel\ /Fp.\WinRel\subproc.pch /Fo.\WinRel/ + +all: Release Debug + +Release: + $(MAKE) /f $(MAKEFILE) OUTDIR=WinRel CFLAGS="$(CFLAGS_release)" WinRel/subproc.lib +Debug: + $(MAKE) /f $(MAKEFILE) OUTDIR=WinDebug CFLAGS="$(CFLAGS_debug)" WinDebug/subproc.lib + +clean: + rmdir /s /q WinRel WinDebug + erase *.pdb + +$(OUTDIR): + if not exist .\$@\nul mkdir .\$@ + +OBJS = $(OUTDIR)/misc.obj $(OUTDIR)/w32err.obj $(OUTDIR)/sub_proc.obj + +$(OUTDIR)/subproc.lib: $(OUTDIR) $(OBJS) + $(LIB) -out:$@ @<< + $(OBJS) +<< + +.c{$(OUTDIR)}.obj: + $(CC) $(CFLAGS) /c $< + +$(OUTDIR)/misc.obj: misc.c proc.h +$(OUTDIR)/sub_proc.obj: sub_proc.c ../include/sub_proc.h ../include/w32err.h proc.h +$(OUTDIR)/w32err.obj: w32err.c ../include/w32err.h diff --git a/src/mkutil/make/w32/subproc/sub_proc.c b/src/mkutil/make/w32/subproc/sub_proc.c index 52f2fa2c..a0964ce8 100644 --- a/src/mkutil/make/w32/subproc/sub_proc.c +++ b/src/mkutil/make/w32/subproc/sub_proc.c @@ -1,1207 +1,1207 @@ -#include -#include -#include /* for msvc _beginthreadex, _endthreadex */ -#include - -#include "sub_proc.h" -#include "proc.h" -#include "w32err.h" -#include "config.h" -#include "debug.h" - -static char *make_command_line(char *shell_name, char *exec_path, char **argv); - -typedef struct sub_process_t { - int sv_stdin[2]; - int sv_stdout[2]; - int sv_stderr[2]; - int using_pipes; - char *inp; - DWORD incnt; - char * volatile outp; - volatile DWORD outcnt; - char * volatile errp; - volatile DWORD errcnt; - int pid; - int exit_code; - int signal; - long last_err; - long lerrno; -} sub_process; - -/* keep track of children so we can implement a waitpid-like routine */ -static sub_process *proc_array[256]; -static int proc_index = 0; -static int fake_exits_pending = 0; - -/* - * When a process has been waited for, adjust the wait state - * array so that we don't wait for it again - */ -static void -process_adjust_wait_state(sub_process* pproc) -{ - int i; - - if (!proc_index) - return; - - for (i = 0; i < proc_index; i++) - if (proc_array[i]->pid == pproc->pid) - break; - - if (i < proc_index) { - proc_index--; - if (i != proc_index) - memmove(&proc_array[i], &proc_array[i+1], - (proc_index-i) * sizeof(sub_process*)); - proc_array[proc_index] = NULL; - } -} - -/* - * Waits for any of the registered child processes to finish. - */ -static sub_process * -process_wait_for_any_private(void) -{ - HANDLE handles[256]; - DWORD retval, which; - int i; - - if (!proc_index) - return NULL; - - /* build array of handles to wait for */ - for (i = 0; i < proc_index; i++) { - handles[i] = (HANDLE) proc_array[i]->pid; - - if (fake_exits_pending && proc_array[i]->exit_code) - break; - } - - /* wait for someone to exit */ - if (!fake_exits_pending) { - retval = WaitForMultipleObjects(proc_index, handles, FALSE, INFINITE); - which = retval - WAIT_OBJECT_0; - } else { - fake_exits_pending--; - retval = !WAIT_FAILED; - which = i; - } - - /* return pointer to process */ - if (retval != WAIT_FAILED) { - sub_process* pproc = proc_array[which]; - process_adjust_wait_state(pproc); - return pproc; - } else - return NULL; -} - -/* - * Terminate a process. - */ -BOOL -process_kill(HANDLE proc, int signal) -{ - sub_process* pproc = (sub_process*) proc; - pproc->signal = signal; - return (TerminateProcess((HANDLE) pproc->pid, signal)); -} - -/* - * Use this function to register processes you wish to wait for by - * calling process_file_io(NULL) or process_wait_any(). This must be done - * because it is possible for callers of this library to reuse the same - * handle for multiple processes launches :-( - */ -void -process_register(HANDLE proc) -{ - proc_array[proc_index++] = (sub_process *) proc; -} - -/* - * Public function which works kind of like waitpid(). Wait for any - * of the children to die and return results. To call this function, - * you must do 1 of things: - * - * x = process_easy(...); - * - * or - * - * x = process_init_fd(); - * process_register(x); - * - * or - * - * x = process_init(); - * process_register(x); - * - * You must NOT then call process_pipe_io() because this function is - * not capable of handling automatic notification of any child - * death. - */ - -HANDLE -process_wait_for_any(void) -{ - sub_process* pproc = process_wait_for_any_private(); - - if (!pproc) - return NULL; - else { - /* - * Ouch! can't tell caller if this fails directly. Caller - * will have to use process_last_err() - */ - (void) process_file_io(pproc); - return ((HANDLE) pproc); - } -} - -long -process_errno(HANDLE proc) -{ - return (((sub_process *)proc)->lerrno); -} - -long -process_signal(HANDLE proc) -{ - return (((sub_process *)proc)->signal); -} - - long -process_last_err(HANDLE proc) -{ - return (((sub_process *)proc)->last_err); -} - - long -process_exit_code(HANDLE proc) -{ - return (((sub_process *)proc)->exit_code); -} - - char * -process_outbuf(HANDLE proc) -{ - return (((sub_process *)proc)->outp); -} - - char * -process_errbuf(HANDLE proc) -{ - return (((sub_process *)proc)->errp); -} - - int -process_outcnt(HANDLE proc) -{ - return (((sub_process *)proc)->outcnt); -} - - int -process_errcnt(HANDLE proc) -{ - return (((sub_process *)proc)->errcnt); -} - - void -process_pipes(HANDLE proc, int pipes[3]) -{ - pipes[0] = ((sub_process *)proc)->sv_stdin[0]; - pipes[1] = ((sub_process *)proc)->sv_stdout[0]; - pipes[2] = ((sub_process *)proc)->sv_stderr[0]; - return; -} - - - HANDLE -process_init() -{ - sub_process *pproc; - /* - * open file descriptors for attaching stdin/stdout/sterr - */ - HANDLE stdin_pipes[2]; - HANDLE stdout_pipes[2]; - HANDLE stderr_pipes[2]; - SECURITY_ATTRIBUTES inherit; - BYTE sd[SECURITY_DESCRIPTOR_MIN_LENGTH]; - - pproc = malloc(sizeof(*pproc)); - memset(pproc, 0, sizeof(*pproc)); - - /* We can't use NULL for lpSecurityDescriptor because that - uses the default security descriptor of the calling process. - Instead we use a security descriptor with no DACL. This - allows nonrestricted access to the associated objects. */ - - if (!InitializeSecurityDescriptor((PSECURITY_DESCRIPTOR)(&sd), - SECURITY_DESCRIPTOR_REVISION)) { - pproc->last_err = GetLastError(); - pproc->lerrno = E_SCALL; - return((HANDLE)pproc); - } - - inherit.nLength = sizeof(inherit); - inherit.lpSecurityDescriptor = (PSECURITY_DESCRIPTOR)(&sd); - inherit.bInheritHandle = TRUE; - - // By convention, parent gets pipe[0], and child gets pipe[1] - // This means the READ side of stdin pipe goes into pipe[1] - // and the WRITE side of the stdout and stderr pipes go into pipe[1] - if (CreatePipe( &stdin_pipes[1], &stdin_pipes[0], &inherit, 0) == FALSE || - CreatePipe( &stdout_pipes[0], &stdout_pipes[1], &inherit, 0) == FALSE || - CreatePipe( &stderr_pipes[0], &stderr_pipes[1], &inherit, 0) == FALSE) { - - pproc->last_err = GetLastError(); - pproc->lerrno = E_SCALL; - return((HANDLE)pproc); - } - - // - // Mark the parent sides of the pipes as non-inheritable - // - if (SetHandleInformation(stdin_pipes[0], - HANDLE_FLAG_INHERIT, 0) == FALSE || - SetHandleInformation(stdout_pipes[0], - HANDLE_FLAG_INHERIT, 0) == FALSE || - SetHandleInformation(stderr_pipes[0], - HANDLE_FLAG_INHERIT, 0) == FALSE) { - - pproc->last_err = GetLastError(); - pproc->lerrno = E_SCALL; - return((HANDLE)pproc); - } - pproc->sv_stdin[0] = (int) stdin_pipes[0]; - pproc->sv_stdin[1] = (int) stdin_pipes[1]; - pproc->sv_stdout[0] = (int) stdout_pipes[0]; - pproc->sv_stdout[1] = (int) stdout_pipes[1]; - pproc->sv_stderr[0] = (int) stderr_pipes[0]; - pproc->sv_stderr[1] = (int) stderr_pipes[1]; - - pproc->using_pipes = 1; - - pproc->lerrno = 0; - - return((HANDLE)pproc); -} - - - HANDLE -process_init_fd(HANDLE stdinh, HANDLE stdouth, HANDLE stderrh) -{ - sub_process *pproc; - - pproc = malloc(sizeof(*pproc)); - memset(pproc, 0, sizeof(*pproc)); - - /* - * Just pass the provided file handles to the 'child side' of the - * pipe, bypassing pipes altogether. - */ - pproc->sv_stdin[1] = (int) stdinh; - pproc->sv_stdout[1] = (int) stdouth; - pproc->sv_stderr[1] = (int) stderrh; - - pproc->last_err = pproc->lerrno = 0; - - return((HANDLE)pproc); -} - - -static HANDLE -find_file(char *exec_path, LPOFSTRUCT file_info) -{ - HANDLE exec_handle; - char *fname; - char *ext; - - fname = malloc(strlen(exec_path) + 5); - strcpy(fname, exec_path); - ext = fname + strlen(fname); - - strcpy(ext, ".exe"); - if ((exec_handle = (HANDLE)OpenFile(fname, file_info, - OF_READ | OF_SHARE_COMPAT)) != (HANDLE)HFILE_ERROR) { - free(fname); - return(exec_handle); - } - - strcpy(ext, ".cmd"); - if ((exec_handle = (HANDLE)OpenFile(fname, file_info, - OF_READ | OF_SHARE_COMPAT)) != (HANDLE)HFILE_ERROR) { - free(fname); - return(exec_handle); - } - - strcpy(ext, ".bat"); - if ((exec_handle = (HANDLE)OpenFile(fname, file_info, - OF_READ | OF_SHARE_COMPAT)) != (HANDLE)HFILE_ERROR) { - free(fname); - return(exec_handle); - } - - /* should .com come before this case? */ - if ((exec_handle = (HANDLE)OpenFile(exec_path, file_info, - OF_READ | OF_SHARE_COMPAT)) != (HANDLE)HFILE_ERROR) { - free(fname); - return(exec_handle); - } - - strcpy(ext, ".com"); - if ((exec_handle = (HANDLE)OpenFile(fname, file_info, - OF_READ | OF_SHARE_COMPAT)) != (HANDLE)HFILE_ERROR) { - free(fname); - return(exec_handle); - } - - free(fname); - return(exec_handle); -} - - -/* - * Description: Create the child process to be helped - * - * Returns: - * - * Notes/Dependencies: - */ -long -process_begin( - HANDLE proc, - char **argv, - char **envp, - char *exec_path, - char *as_user) -{ - sub_process *pproc = (sub_process *)proc; - char *shell_name = 0; - int file_not_found=0; - HANDLE exec_handle; - char buf[256]; - DWORD bytes_returned; - DWORD flags; - char *command_line; - STARTUPINFO startInfo; - PROCESS_INFORMATION procInfo; - char *envblk=NULL; - OFSTRUCT file_info; - - - /* - * Shell script detection... if the exec_path starts with #! then - * we want to exec shell-script-name exec-path, not just exec-path - * NT doesn't recognize #!/bin/sh or #!/etc/Tivoli/bin/perl. We do not - * hard-code the path to the shell or perl or whatever: Instead, we - * assume it's in the path somewhere (generally, the NT tools - * bin directory) - * We use OpenFile here because it is capable of searching the Path. - */ - - exec_handle = find_file(exec_path, &file_info); - - /* - * If we couldn't open the file, just assume that Windows32 will be able - * to find and execute it. - */ - if (exec_handle == (HANDLE)HFILE_ERROR) { - file_not_found++; - } - else { - /* Attempt to read the first line of the file */ - if (ReadFile( exec_handle, - buf, sizeof(buf) - 1, /* leave room for trailing NULL */ - &bytes_returned, 0) == FALSE || bytes_returned < 2) { - - pproc->last_err = GetLastError(); - pproc->lerrno = E_IO; - CloseHandle(exec_handle); - return(-1); - } - if (buf[0] == '#' && buf[1] == '!') { - /* - * This is a shell script... Change the command line from - * exec_path args to shell_name exec_path args - */ - char *p; - - /* Make sure buf is NULL terminated */ - buf[bytes_returned] = 0; - /* - * Depending on the file system type, etc. the first line - * of the shell script may end with newline or newline-carriage-return - * Whatever it ends with, cut it off. - */ - p= strchr(buf, '\n'); - if (p) - *p = 0; - p = strchr(buf, '\r'); - if (p) - *p = 0; - - /* - * Find base name of shell - */ - shell_name = strrchr( buf, '/'); - if (shell_name) { - shell_name++; - } else { - shell_name = &buf[2];/* skipping "#!" */ - } - - } - CloseHandle(exec_handle); - } - - flags = 0; - - if (file_not_found) - command_line = make_command_line( shell_name, exec_path, argv); - else - command_line = make_command_line( shell_name, file_info.szPathName, - argv); - - if ( command_line == NULL ) { - pproc->last_err = 0; - pproc->lerrno = E_NO_MEM; - return(-1); - } - - if (envp) { - if (arr2envblk(envp, &envblk) ==FALSE) { - pproc->last_err = 0; - pproc->lerrno = E_NO_MEM; - free( command_line ); - return(-1); - } - } - - if ((shell_name) || (file_not_found)) { - exec_path = 0; /* Search for the program in %Path% */ - } else { - exec_path = file_info.szPathName; - } - - /* - * Set up inherited stdin, stdout, stderr for child - */ - GetStartupInfo(&startInfo); - startInfo.dwFlags = STARTF_USESTDHANDLES; - startInfo.lpReserved = 0; - startInfo.cbReserved2 = 0; - startInfo.lpReserved2 = 0; - startInfo.lpTitle = shell_name ? shell_name : exec_path; - startInfo.hStdInput = (HANDLE)pproc->sv_stdin[1]; - startInfo.hStdOutput = (HANDLE)pproc->sv_stdout[1]; - startInfo.hStdError = (HANDLE)pproc->sv_stderr[1]; - - if (as_user) { - if (envblk) free(envblk); - return -1; - } else { - DB (DB_JOBS, ("CreateProcess(%s,%s,...)\n", - exec_path ? exec_path : "NULL", - command_line ? command_line : "NULL")); - if (CreateProcess( - exec_path, - command_line, - NULL, - 0, /* default security attributes for thread */ - TRUE, /* inherit handles (e.g. helper pipes, oserv socket) */ - flags, - envblk, - 0, /* default starting directory */ - &startInfo, - &procInfo) == FALSE) { - - pproc->last_err = GetLastError(); - pproc->lerrno = E_FORK; - fprintf(stderr, "process_begin: CreateProcess(%s, %s, ...) failed.\n", exec_path, command_line); - if (envblk) free(envblk); - free( command_line ); - return(-1); - } - } - - pproc->pid = (int)procInfo.hProcess; - /* Close the thread handle -- we'll just watch the process */ - CloseHandle(procInfo.hThread); - - /* Close the halves of the pipes we don't need */ - if (pproc->sv_stdin) { - CloseHandle((HANDLE)pproc->sv_stdin[1]); - (HANDLE)pproc->sv_stdin[1] = 0; - } - if (pproc->sv_stdout) { - CloseHandle((HANDLE)pproc->sv_stdout[1]); - (HANDLE)pproc->sv_stdout[1] = 0; - } - if (pproc->sv_stderr) { - CloseHandle((HANDLE)pproc->sv_stderr[1]); - (HANDLE)pproc->sv_stderr[1] = 0; - } - - free( command_line ); - if (envblk) free(envblk); - pproc->lerrno=0; - return 0; -} - - - -static DWORD -proc_stdin_thread(sub_process *pproc) -{ - DWORD in_done; - for (;;) { - if (WriteFile( (HANDLE) pproc->sv_stdin[0], pproc->inp, pproc->incnt, - &in_done, NULL) == FALSE) - _endthreadex(0); - // This if should never be true for anonymous pipes, but gives - // us a chance to change I/O mechanisms later - if (in_done < pproc->incnt) { - pproc->incnt -= in_done; - pproc->inp += in_done; - } else { - _endthreadex(0); - } - } - return 0; // for compiler warnings only.. not reached -} - -static DWORD -proc_stdout_thread(sub_process *pproc) -{ - DWORD bufsize = 1024; - char c; - DWORD nread; - pproc->outp = malloc(bufsize); - if (pproc->outp == NULL) - _endthreadex(0); - pproc->outcnt = 0; - - for (;;) { - if (ReadFile( (HANDLE)pproc->sv_stdout[0], &c, 1, &nread, NULL) - == FALSE) { -/* map_windows32_error_to_string(GetLastError());*/ - _endthreadex(0); - } - if (nread == 0) - _endthreadex(0); - if (pproc->outcnt + nread > bufsize) { - bufsize += nread + 512; - pproc->outp = realloc(pproc->outp, bufsize); - if (pproc->outp == NULL) { - pproc->outcnt = 0; - _endthreadex(0); - } - } - pproc->outp[pproc->outcnt++] = c; - } - return 0; -} - -static DWORD -proc_stderr_thread(sub_process *pproc) -{ - DWORD bufsize = 1024; - char c; - DWORD nread; - pproc->errp = malloc(bufsize); - if (pproc->errp == NULL) - _endthreadex(0); - pproc->errcnt = 0; - - for (;;) { - if (ReadFile( (HANDLE)pproc->sv_stderr[0], &c, 1, &nread, NULL) == FALSE) { - map_windows32_error_to_string(GetLastError()); - _endthreadex(0); - } - if (nread == 0) - _endthreadex(0); - if (pproc->errcnt + nread > bufsize) { - bufsize += nread + 512; - pproc->errp = realloc(pproc->errp, bufsize); - if (pproc->errp == NULL) { - pproc->errcnt = 0; - _endthreadex(0); - } - } - pproc->errp[pproc->errcnt++] = c; - } - return 0; -} - - -/* - * Purpose: collects output from child process and returns results - * - * Description: - * - * Returns: - * - * Notes/Dependencies: - */ - long -process_pipe_io( - HANDLE proc, - char *stdin_data, - int stdin_data_len) -{ - sub_process *pproc = (sub_process *)proc; - bool_t stdin_eof = FALSE, stdout_eof = FALSE, stderr_eof = FALSE; - HANDLE childhand = (HANDLE) pproc->pid; - HANDLE tStdin, tStdout, tStderr; - DWORD dwStdin, dwStdout, dwStderr; - HANDLE wait_list[4]; - DWORD wait_count; - DWORD wait_return; - HANDLE ready_hand; - bool_t child_dead = FALSE; - - - /* - * Create stdin thread, if needed - */ - pproc->inp = stdin_data; - pproc->incnt = stdin_data_len; - if (!pproc->inp) { - stdin_eof = TRUE; - CloseHandle((HANDLE)pproc->sv_stdin[0]); - (HANDLE)pproc->sv_stdin[0] = 0; - } else { - tStdin = (HANDLE) _beginthreadex( 0, 1024, - (unsigned (__stdcall *) (void *))proc_stdin_thread, pproc, 0, - (unsigned int *) &dwStdin); - if (tStdin == 0) { - pproc->last_err = GetLastError(); - pproc->lerrno = E_SCALL; - goto done; - } - } - - /* - * Assume child will produce stdout and stderr - */ - tStdout = (HANDLE) _beginthreadex( 0, 1024, - (unsigned (__stdcall *) (void *))proc_stdout_thread, pproc, 0, - (unsigned int *) &dwStdout); - tStderr = (HANDLE) _beginthreadex( 0, 1024, - (unsigned (__stdcall *) (void *))proc_stderr_thread, pproc, 0, - (unsigned int *) &dwStderr); - - if (tStdout == 0 || tStderr == 0) { - - pproc->last_err = GetLastError(); - pproc->lerrno = E_SCALL; - goto done; - } - - - /* - * Wait for all I/O to finish and for the child process to exit - */ - - while (!stdin_eof || !stdout_eof || !stderr_eof || !child_dead) { - wait_count = 0; - if (!stdin_eof) { - wait_list[wait_count++] = tStdin; - } - if (!stdout_eof) { - wait_list[wait_count++] = tStdout; - } - if (!stderr_eof) { - wait_list[wait_count++] = tStderr; - } - if (!child_dead) { - wait_list[wait_count++] = childhand; - } - - wait_return = WaitForMultipleObjects(wait_count, wait_list, - FALSE, /* don't wait for all: one ready will do */ - child_dead? 1000 :INFINITE); /* after the child dies, subthreads have - one second to collect all remaining output */ - - if (wait_return == WAIT_FAILED) { -/* map_windows32_error_to_string(GetLastError());*/ - pproc->last_err = GetLastError(); - pproc->lerrno = E_SCALL; - goto done; - } - - ready_hand = wait_list[wait_return - WAIT_OBJECT_0]; - - if (ready_hand == tStdin) { - CloseHandle((HANDLE)pproc->sv_stdin[0]); - (HANDLE)pproc->sv_stdin[0] = 0; - CloseHandle(tStdin); - tStdin = 0; - stdin_eof = TRUE; - - } else if (ready_hand == tStdout) { - - CloseHandle((HANDLE)pproc->sv_stdout[0]); - (HANDLE)pproc->sv_stdout[0] = 0; - CloseHandle(tStdout); - tStdout = 0; - stdout_eof = TRUE; - - } else if (ready_hand == tStderr) { - - CloseHandle((HANDLE)pproc->sv_stderr[0]); - (HANDLE)pproc->sv_stderr[0] = 0; - CloseHandle(tStderr); - tStderr = 0; - stderr_eof = TRUE; - - } else if (ready_hand == childhand) { - - if (GetExitCodeProcess(childhand, &pproc->exit_code) == FALSE) { - pproc->last_err = GetLastError(); - pproc->lerrno = E_SCALL; - goto done; - } - child_dead = TRUE; - - } else { - - /* ?? Got back a handle we didn't query ?? */ - pproc->last_err = 0; - pproc->lerrno = E_FAIL; - goto done; - } - } - - done: - if (tStdin != 0) - CloseHandle(tStdin); - if (tStdout != 0) - CloseHandle(tStdout); - if (tStderr != 0) - CloseHandle(tStderr); - - if (pproc->lerrno) - return(-1); - else - return(0); - -} - -/* - * Purpose: collects output from child process and returns results - * - * Description: - * - * Returns: - * - * Notes/Dependencies: - */ - long -process_file_io( - HANDLE proc) -{ - sub_process *pproc; - HANDLE childhand; - DWORD wait_return; - - if (proc == NULL) - pproc = process_wait_for_any_private(); - else - pproc = (sub_process *)proc; - - /* some sort of internal error */ - if (!pproc) - return -1; - - childhand = (HANDLE) pproc->pid; - - /* - * This function is poorly named, and could also be used just to wait - * for child death if you're doing your own pipe I/O. If that is - * the case, close the pipe handles here. - */ - if (pproc->sv_stdin[0]) { - CloseHandle((HANDLE)pproc->sv_stdin[0]); - pproc->sv_stdin[0] = 0; - } - if (pproc->sv_stdout[0]) { - CloseHandle((HANDLE)pproc->sv_stdout[0]); - pproc->sv_stdout[0] = 0; - } - if (pproc->sv_stderr[0]) { - CloseHandle((HANDLE)pproc->sv_stderr[0]); - pproc->sv_stderr[0] = 0; - } - - /* - * Wait for the child process to exit - */ - - wait_return = WaitForSingleObject(childhand, INFINITE); - - if (wait_return != WAIT_OBJECT_0) { -/* map_windows32_error_to_string(GetLastError());*/ - pproc->last_err = GetLastError(); - pproc->lerrno = E_SCALL; - goto done2; - } - - if (GetExitCodeProcess(childhand, &pproc->exit_code) == FALSE) { - pproc->last_err = GetLastError(); - pproc->lerrno = E_SCALL; - } - -done2: - if (pproc->lerrno) - return(-1); - else - return(0); - -} - -/* - * Description: Clean up any leftover handles, etc. It is up to the - * caller to manage and free the input, ouput, and stderr buffers. - */ - void -process_cleanup( - HANDLE proc) -{ - sub_process *pproc = (sub_process *)proc; - int i; - - if (pproc->using_pipes) { - for (i= 0; i <= 1; i++) { - if ((HANDLE)pproc->sv_stdin[i]) - CloseHandle((HANDLE)pproc->sv_stdin[i]); - if ((HANDLE)pproc->sv_stdout[i]) - CloseHandle((HANDLE)pproc->sv_stdout[i]); - if ((HANDLE)pproc->sv_stderr[i]) - CloseHandle((HANDLE)pproc->sv_stderr[i]); - } - } - if ((HANDLE)pproc->pid) - CloseHandle((HANDLE)pproc->pid); - - free(pproc); -} - - -/* - * Description: - * Create a command line buffer to pass to CreateProcess - * - * Returns: the buffer or NULL for failure - * Shell case: sh_name a:/full/path/to/script argv[1] argv[2] ... - * Otherwise: argv[0] argv[1] argv[2] ... - * - * Notes/Dependencies: - * CreateProcess does not take an argv, so this command creates a - * command line for the executable. - */ - -static char * -make_command_line( char *shell_name, char *full_exec_path, char **argv) -{ - int argc = 0; - char** argvi; - int* enclose_in_quotes = NULL; - int* enclose_in_quotes_i; - unsigned int bytes_required = 0; - char* command_line; - char* command_line_i; - int cygwin_mode = 0; /* HAVE_CYGWIN_SHELL */ - int have_sh = 0; /* HAVE_CYGWIN_SHELL */ - -#ifdef HAVE_CYGWIN_SHELL - have_sh = (shell_name != NULL || strstr(full_exec_path, "sh.exe")); - cygwin_mode = 1; -#endif - - if (shell_name && full_exec_path) { - bytes_required - = strlen(shell_name) + 1 + strlen(full_exec_path); - /* - * Skip argv[0] if any, when shell_name is given. - */ - if (*argv) argv++; - /* - * Add one for the intervening space. - */ - if (*argv) bytes_required++; - } - - argvi = argv; - while (*(argvi++)) argc++; - - if (argc) { - enclose_in_quotes = (int*) calloc(1, argc * sizeof(int)); - - if (!enclose_in_quotes) { - return NULL; - } - } - - /* We have to make one pass through each argv[i] to see if we need - * to enclose it in ", so we might as well figure out how much - * memory we'll need on the same pass. - */ - - argvi = argv; - enclose_in_quotes_i = enclose_in_quotes; - while(*argvi) { - char* p = *argvi; - unsigned int backslash_count = 0; - - /* - * We have to enclose empty arguments in ". - */ - if (!(*p)) *enclose_in_quotes_i = 1; - - while(*p) { - switch (*p) { - case '\"': - /* - * We have to insert a backslash for each " - * and each \ that precedes the ". - */ - bytes_required += (backslash_count + 1); - backslash_count = 0; - break; - -#if !defined(HAVE_MKS_SHELL) && !defined(HAVE_CYGWIN_SHELL) - case '\\': - backslash_count++; - break; -#endif - /* - * At one time we set *enclose_in_quotes_i for '*' or '?' to suppress - * wildcard expansion in programs linked with MSVC's SETARGV.OBJ so - * that argv in always equals argv out. This was removed. Say you have - * such a program named glob.exe. You enter - * glob '*' - * at the sh command prompt. Obviously the intent is to make glob do the - * wildcarding instead of sh. If we set *enclose_in_quotes_i for '*' or '?', - * then the command line that glob would see would be - * glob "*" - * and the _setargv in SETARGV.OBJ would _not_ expand the *. - */ - case ' ': - case '\t': - *enclose_in_quotes_i = 1; - /* fall through */ - - default: - backslash_count = 0; - break; - } - - /* - * Add one for each character in argv[i]. - */ - bytes_required++; - - p++; - } - - if (*enclose_in_quotes_i) { - /* - * Add one for each enclosing ", - * and one for each \ that precedes the - * closing ". - */ - bytes_required += (backslash_count + 2); - } - - /* - * Add one for the intervening space. - */ - if (*(++argvi)) bytes_required++; - enclose_in_quotes_i++; - } - - /* - * Add one for the terminating NULL. - */ - bytes_required++; - - command_line = (char*) malloc(bytes_required); - - if (!command_line) { - if (enclose_in_quotes) free(enclose_in_quotes); - return NULL; - } - - command_line_i = command_line; - - if (shell_name && full_exec_path) { - while(*shell_name) { - *(command_line_i++) = *(shell_name++); - } - - *(command_line_i++) = ' '; - - while(*full_exec_path) { - *(command_line_i++) = *(full_exec_path++); - } - - if (*argv) { - *(command_line_i++) = ' '; - } - } - - argvi = argv; - enclose_in_quotes_i = enclose_in_quotes; - - while(*argvi) { - char* p = *argvi; - unsigned int backslash_count = 0; - - if (*enclose_in_quotes_i) { - *(command_line_i++) = '\"'; - } - - while(*p) { - if (*p == '\"') { - if (cygwin_mode && have_sh) { /* HAVE_CYGWIN_SHELL */ - /* instead of a \", cygwin likes "" */ - *(command_line_i++) = '\"'; - } else { - - /* - * We have to insert a backslash for the " - * and each \ that precedes the ". - */ - backslash_count++; - - while(backslash_count) { - *(command_line_i++) = '\\'; - backslash_count--; - }; - } -#if !defined(HAVE_MKS_SHELL) && !defined(HAVE_CYGWIN_SHELL) - } else if (*p == '\\') { - backslash_count++; - } else { - backslash_count = 0; -#endif - } - - /* - * Copy the character. - */ - *(command_line_i++) = *(p++); - } - - if (*enclose_in_quotes_i) { -#if !defined(HAVE_MKS_SHELL) && !defined(HAVE_CYGWIN_SHELL) - /* - * Add one \ for each \ that precedes the - * closing ". - */ - while(backslash_count--) { - *(command_line_i++) = '\\'; - }; -#endif - *(command_line_i++) = '\"'; - } - - /* - * Append an intervening space. - */ - if (*(++argvi)) { - *(command_line_i++) = ' '; - } - - enclose_in_quotes_i++; - } - - /* - * Append the terminating NULL. - */ - *command_line_i = '\0'; - - if (enclose_in_quotes) free(enclose_in_quotes); - return command_line; -} - -/* - * Description: Given an argv and optional envp, launch the process - * using the default stdin, stdout, and stderr handles. - * Also, register process so that process_wait_for_any_private() - * can be used via process_file_io(NULL) or - * process_wait_for_any(). - * - * Returns: - * - * Notes/Dependencies: - */ -HANDLE -process_easy( - char **argv, - char **envp) -{ - HANDLE hIn; - HANDLE hOut; - HANDLE hErr; - HANDLE hProcess; - - if (DuplicateHandle(GetCurrentProcess(), - GetStdHandle(STD_INPUT_HANDLE), - GetCurrentProcess(), - &hIn, - 0, - TRUE, - DUPLICATE_SAME_ACCESS) == FALSE) { - fprintf(stderr, - "process_easy: DuplicateHandle(In) failed (e=%d)\n", - GetLastError()); - return INVALID_HANDLE_VALUE; - } - if (DuplicateHandle(GetCurrentProcess(), - GetStdHandle(STD_OUTPUT_HANDLE), - GetCurrentProcess(), - &hOut, - 0, - TRUE, - DUPLICATE_SAME_ACCESS) == FALSE) { - fprintf(stderr, - "process_easy: DuplicateHandle(Out) failed (e=%d)\n", - GetLastError()); - return INVALID_HANDLE_VALUE; - } - if (DuplicateHandle(GetCurrentProcess(), - GetStdHandle(STD_ERROR_HANDLE), - GetCurrentProcess(), - &hErr, - 0, - TRUE, - DUPLICATE_SAME_ACCESS) == FALSE) { - fprintf(stderr, - "process_easy: DuplicateHandle(Err) failed (e=%d)\n", - GetLastError()); - return INVALID_HANDLE_VALUE; - } - - hProcess = process_init_fd(hIn, hOut, hErr); - - if (process_begin(hProcess, argv, envp, argv[0], NULL)) { - fake_exits_pending++; - ((sub_process*) hProcess)->exit_code = process_last_err(hProcess); - - /* close up unused handles */ - CloseHandle(hIn); - CloseHandle(hOut); - CloseHandle(hErr); - } - - process_register(hProcess); - - return hProcess; -} +#include +#include +#include /* for msvc _beginthreadex, _endthreadex */ +#include + +#include "sub_proc.h" +#include "proc.h" +#include "w32err.h" +#include "config.h" +#include "debug.h" + +static char *make_command_line(char *shell_name, char *exec_path, char **argv); + +typedef struct sub_process_t { + int sv_stdin[2]; + int sv_stdout[2]; + int sv_stderr[2]; + int using_pipes; + char *inp; + DWORD incnt; + char * volatile outp; + volatile DWORD outcnt; + char * volatile errp; + volatile DWORD errcnt; + int pid; + int exit_code; + int signal; + long last_err; + long lerrno; +} sub_process; + +/* keep track of children so we can implement a waitpid-like routine */ +static sub_process *proc_array[256]; +static int proc_index = 0; +static int fake_exits_pending = 0; + +/* + * When a process has been waited for, adjust the wait state + * array so that we don't wait for it again + */ +static void +process_adjust_wait_state(sub_process* pproc) +{ + int i; + + if (!proc_index) + return; + + for (i = 0; i < proc_index; i++) + if (proc_array[i]->pid == pproc->pid) + break; + + if (i < proc_index) { + proc_index--; + if (i != proc_index) + memmove(&proc_array[i], &proc_array[i+1], + (proc_index-i) * sizeof(sub_process*)); + proc_array[proc_index] = NULL; + } +} + +/* + * Waits for any of the registered child processes to finish. + */ +static sub_process * +process_wait_for_any_private(void) +{ + HANDLE handles[256]; + DWORD retval, which; + int i; + + if (!proc_index) + return NULL; + + /* build array of handles to wait for */ + for (i = 0; i < proc_index; i++) { + handles[i] = (HANDLE) proc_array[i]->pid; + + if (fake_exits_pending && proc_array[i]->exit_code) + break; + } + + /* wait for someone to exit */ + if (!fake_exits_pending) { + retval = WaitForMultipleObjects(proc_index, handles, FALSE, INFINITE); + which = retval - WAIT_OBJECT_0; + } else { + fake_exits_pending--; + retval = !WAIT_FAILED; + which = i; + } + + /* return pointer to process */ + if (retval != WAIT_FAILED) { + sub_process* pproc = proc_array[which]; + process_adjust_wait_state(pproc); + return pproc; + } else + return NULL; +} + +/* + * Terminate a process. + */ +BOOL +process_kill(HANDLE proc, int signal) +{ + sub_process* pproc = (sub_process*) proc; + pproc->signal = signal; + return (TerminateProcess((HANDLE) pproc->pid, signal)); +} + +/* + * Use this function to register processes you wish to wait for by + * calling process_file_io(NULL) or process_wait_any(). This must be done + * because it is possible for callers of this library to reuse the same + * handle for multiple processes launches :-( + */ +void +process_register(HANDLE proc) +{ + proc_array[proc_index++] = (sub_process *) proc; +} + +/* + * Public function which works kind of like waitpid(). Wait for any + * of the children to die and return results. To call this function, + * you must do 1 of things: + * + * x = process_easy(...); + * + * or + * + * x = process_init_fd(); + * process_register(x); + * + * or + * + * x = process_init(); + * process_register(x); + * + * You must NOT then call process_pipe_io() because this function is + * not capable of handling automatic notification of any child + * death. + */ + +HANDLE +process_wait_for_any(void) +{ + sub_process* pproc = process_wait_for_any_private(); + + if (!pproc) + return NULL; + else { + /* + * Ouch! can't tell caller if this fails directly. Caller + * will have to use process_last_err() + */ + (void) process_file_io(pproc); + return ((HANDLE) pproc); + } +} + +long +process_errno(HANDLE proc) +{ + return (((sub_process *)proc)->lerrno); +} + +long +process_signal(HANDLE proc) +{ + return (((sub_process *)proc)->signal); +} + + long +process_last_err(HANDLE proc) +{ + return (((sub_process *)proc)->last_err); +} + + long +process_exit_code(HANDLE proc) +{ + return (((sub_process *)proc)->exit_code); +} + + char * +process_outbuf(HANDLE proc) +{ + return (((sub_process *)proc)->outp); +} + + char * +process_errbuf(HANDLE proc) +{ + return (((sub_process *)proc)->errp); +} + + int +process_outcnt(HANDLE proc) +{ + return (((sub_process *)proc)->outcnt); +} + + int +process_errcnt(HANDLE proc) +{ + return (((sub_process *)proc)->errcnt); +} + + void +process_pipes(HANDLE proc, int pipes[3]) +{ + pipes[0] = ((sub_process *)proc)->sv_stdin[0]; + pipes[1] = ((sub_process *)proc)->sv_stdout[0]; + pipes[2] = ((sub_process *)proc)->sv_stderr[0]; + return; +} + + + HANDLE +process_init() +{ + sub_process *pproc; + /* + * open file descriptors for attaching stdin/stdout/sterr + */ + HANDLE stdin_pipes[2]; + HANDLE stdout_pipes[2]; + HANDLE stderr_pipes[2]; + SECURITY_ATTRIBUTES inherit; + BYTE sd[SECURITY_DESCRIPTOR_MIN_LENGTH]; + + pproc = malloc(sizeof(*pproc)); + memset(pproc, 0, sizeof(*pproc)); + + /* We can't use NULL for lpSecurityDescriptor because that + uses the default security descriptor of the calling process. + Instead we use a security descriptor with no DACL. This + allows nonrestricted access to the associated objects. */ + + if (!InitializeSecurityDescriptor((PSECURITY_DESCRIPTOR)(&sd), + SECURITY_DESCRIPTOR_REVISION)) { + pproc->last_err = GetLastError(); + pproc->lerrno = E_SCALL; + return((HANDLE)pproc); + } + + inherit.nLength = sizeof(inherit); + inherit.lpSecurityDescriptor = (PSECURITY_DESCRIPTOR)(&sd); + inherit.bInheritHandle = TRUE; + + // By convention, parent gets pipe[0], and child gets pipe[1] + // This means the READ side of stdin pipe goes into pipe[1] + // and the WRITE side of the stdout and stderr pipes go into pipe[1] + if (CreatePipe( &stdin_pipes[1], &stdin_pipes[0], &inherit, 0) == FALSE || + CreatePipe( &stdout_pipes[0], &stdout_pipes[1], &inherit, 0) == FALSE || + CreatePipe( &stderr_pipes[0], &stderr_pipes[1], &inherit, 0) == FALSE) { + + pproc->last_err = GetLastError(); + pproc->lerrno = E_SCALL; + return((HANDLE)pproc); + } + + // + // Mark the parent sides of the pipes as non-inheritable + // + if (SetHandleInformation(stdin_pipes[0], + HANDLE_FLAG_INHERIT, 0) == FALSE || + SetHandleInformation(stdout_pipes[0], + HANDLE_FLAG_INHERIT, 0) == FALSE || + SetHandleInformation(stderr_pipes[0], + HANDLE_FLAG_INHERIT, 0) == FALSE) { + + pproc->last_err = GetLastError(); + pproc->lerrno = E_SCALL; + return((HANDLE)pproc); + } + pproc->sv_stdin[0] = (int) stdin_pipes[0]; + pproc->sv_stdin[1] = (int) stdin_pipes[1]; + pproc->sv_stdout[0] = (int) stdout_pipes[0]; + pproc->sv_stdout[1] = (int) stdout_pipes[1]; + pproc->sv_stderr[0] = (int) stderr_pipes[0]; + pproc->sv_stderr[1] = (int) stderr_pipes[1]; + + pproc->using_pipes = 1; + + pproc->lerrno = 0; + + return((HANDLE)pproc); +} + + + HANDLE +process_init_fd(HANDLE stdinh, HANDLE stdouth, HANDLE stderrh) +{ + sub_process *pproc; + + pproc = malloc(sizeof(*pproc)); + memset(pproc, 0, sizeof(*pproc)); + + /* + * Just pass the provided file handles to the 'child side' of the + * pipe, bypassing pipes altogether. + */ + pproc->sv_stdin[1] = (int) stdinh; + pproc->sv_stdout[1] = (int) stdouth; + pproc->sv_stderr[1] = (int) stderrh; + + pproc->last_err = pproc->lerrno = 0; + + return((HANDLE)pproc); +} + + +static HANDLE +find_file(char *exec_path, LPOFSTRUCT file_info) +{ + HANDLE exec_handle; + char *fname; + char *ext; + + fname = malloc(strlen(exec_path) + 5); + strcpy(fname, exec_path); + ext = fname + strlen(fname); + + strcpy(ext, ".exe"); + if ((exec_handle = (HANDLE)OpenFile(fname, file_info, + OF_READ | OF_SHARE_COMPAT)) != (HANDLE)HFILE_ERROR) { + free(fname); + return(exec_handle); + } + + strcpy(ext, ".cmd"); + if ((exec_handle = (HANDLE)OpenFile(fname, file_info, + OF_READ | OF_SHARE_COMPAT)) != (HANDLE)HFILE_ERROR) { + free(fname); + return(exec_handle); + } + + strcpy(ext, ".bat"); + if ((exec_handle = (HANDLE)OpenFile(fname, file_info, + OF_READ | OF_SHARE_COMPAT)) != (HANDLE)HFILE_ERROR) { + free(fname); + return(exec_handle); + } + + /* should .com come before this case? */ + if ((exec_handle = (HANDLE)OpenFile(exec_path, file_info, + OF_READ | OF_SHARE_COMPAT)) != (HANDLE)HFILE_ERROR) { + free(fname); + return(exec_handle); + } + + strcpy(ext, ".com"); + if ((exec_handle = (HANDLE)OpenFile(fname, file_info, + OF_READ | OF_SHARE_COMPAT)) != (HANDLE)HFILE_ERROR) { + free(fname); + return(exec_handle); + } + + free(fname); + return(exec_handle); +} + + +/* + * Description: Create the child process to be helped + * + * Returns: + * + * Notes/Dependencies: + */ +long +process_begin( + HANDLE proc, + char **argv, + char **envp, + char *exec_path, + char *as_user) +{ + sub_process *pproc = (sub_process *)proc; + char *shell_name = 0; + int file_not_found=0; + HANDLE exec_handle; + char buf[256]; + DWORD bytes_returned; + DWORD flags; + char *command_line; + STARTUPINFO startInfo; + PROCESS_INFORMATION procInfo; + char *envblk=NULL; + OFSTRUCT file_info; + + + /* + * Shell script detection... if the exec_path starts with #! then + * we want to exec shell-script-name exec-path, not just exec-path + * NT doesn't recognize #!/bin/sh or #!/etc/Tivoli/bin/perl. We do not + * hard-code the path to the shell or perl or whatever: Instead, we + * assume it's in the path somewhere (generally, the NT tools + * bin directory) + * We use OpenFile here because it is capable of searching the Path. + */ + + exec_handle = find_file(exec_path, &file_info); + + /* + * If we couldn't open the file, just assume that Windows32 will be able + * to find and execute it. + */ + if (exec_handle == (HANDLE)HFILE_ERROR) { + file_not_found++; + } + else { + /* Attempt to read the first line of the file */ + if (ReadFile( exec_handle, + buf, sizeof(buf) - 1, /* leave room for trailing NULL */ + &bytes_returned, 0) == FALSE || bytes_returned < 2) { + + pproc->last_err = GetLastError(); + pproc->lerrno = E_IO; + CloseHandle(exec_handle); + return(-1); + } + if (buf[0] == '#' && buf[1] == '!') { + /* + * This is a shell script... Change the command line from + * exec_path args to shell_name exec_path args + */ + char *p; + + /* Make sure buf is NULL terminated */ + buf[bytes_returned] = 0; + /* + * Depending on the file system type, etc. the first line + * of the shell script may end with newline or newline-carriage-return + * Whatever it ends with, cut it off. + */ + p= strchr(buf, '\n'); + if (p) + *p = 0; + p = strchr(buf, '\r'); + if (p) + *p = 0; + + /* + * Find base name of shell + */ + shell_name = strrchr( buf, '/'); + if (shell_name) { + shell_name++; + } else { + shell_name = &buf[2];/* skipping "#!" */ + } + + } + CloseHandle(exec_handle); + } + + flags = 0; + + if (file_not_found) + command_line = make_command_line( shell_name, exec_path, argv); + else + command_line = make_command_line( shell_name, file_info.szPathName, + argv); + + if ( command_line == NULL ) { + pproc->last_err = 0; + pproc->lerrno = E_NO_MEM; + return(-1); + } + + if (envp) { + if (arr2envblk(envp, &envblk) ==FALSE) { + pproc->last_err = 0; + pproc->lerrno = E_NO_MEM; + free( command_line ); + return(-1); + } + } + + if ((shell_name) || (file_not_found)) { + exec_path = 0; /* Search for the program in %Path% */ + } else { + exec_path = file_info.szPathName; + } + + /* + * Set up inherited stdin, stdout, stderr for child + */ + GetStartupInfo(&startInfo); + startInfo.dwFlags = STARTF_USESTDHANDLES; + startInfo.lpReserved = 0; + startInfo.cbReserved2 = 0; + startInfo.lpReserved2 = 0; + startInfo.lpTitle = shell_name ? shell_name : exec_path; + startInfo.hStdInput = (HANDLE)pproc->sv_stdin[1]; + startInfo.hStdOutput = (HANDLE)pproc->sv_stdout[1]; + startInfo.hStdError = (HANDLE)pproc->sv_stderr[1]; + + if (as_user) { + if (envblk) free(envblk); + return -1; + } else { + DB (DB_JOBS, ("CreateProcess(%s,%s,...)\n", + exec_path ? exec_path : "NULL", + command_line ? command_line : "NULL")); + if (CreateProcess( + exec_path, + command_line, + NULL, + 0, /* default security attributes for thread */ + TRUE, /* inherit handles (e.g. helper pipes, oserv socket) */ + flags, + envblk, + 0, /* default starting directory */ + &startInfo, + &procInfo) == FALSE) { + + pproc->last_err = GetLastError(); + pproc->lerrno = E_FORK; + fprintf(stderr, "process_begin: CreateProcess(%s, %s, ...) failed.\n", exec_path, command_line); + if (envblk) free(envblk); + free( command_line ); + return(-1); + } + } + + pproc->pid = (int)procInfo.hProcess; + /* Close the thread handle -- we'll just watch the process */ + CloseHandle(procInfo.hThread); + + /* Close the halves of the pipes we don't need */ + if (pproc->sv_stdin) { + CloseHandle((HANDLE)pproc->sv_stdin[1]); + (HANDLE)pproc->sv_stdin[1] = 0; + } + if (pproc->sv_stdout) { + CloseHandle((HANDLE)pproc->sv_stdout[1]); + (HANDLE)pproc->sv_stdout[1] = 0; + } + if (pproc->sv_stderr) { + CloseHandle((HANDLE)pproc->sv_stderr[1]); + (HANDLE)pproc->sv_stderr[1] = 0; + } + + free( command_line ); + if (envblk) free(envblk); + pproc->lerrno=0; + return 0; +} + + + +static DWORD +proc_stdin_thread(sub_process *pproc) +{ + DWORD in_done; + for (;;) { + if (WriteFile( (HANDLE) pproc->sv_stdin[0], pproc->inp, pproc->incnt, + &in_done, NULL) == FALSE) + _endthreadex(0); + // This if should never be true for anonymous pipes, but gives + // us a chance to change I/O mechanisms later + if (in_done < pproc->incnt) { + pproc->incnt -= in_done; + pproc->inp += in_done; + } else { + _endthreadex(0); + } + } + return 0; // for compiler warnings only.. not reached +} + +static DWORD +proc_stdout_thread(sub_process *pproc) +{ + DWORD bufsize = 1024; + char c; + DWORD nread; + pproc->outp = malloc(bufsize); + if (pproc->outp == NULL) + _endthreadex(0); + pproc->outcnt = 0; + + for (;;) { + if (ReadFile( (HANDLE)pproc->sv_stdout[0], &c, 1, &nread, NULL) + == FALSE) { +/* map_windows32_error_to_string(GetLastError());*/ + _endthreadex(0); + } + if (nread == 0) + _endthreadex(0); + if (pproc->outcnt + nread > bufsize) { + bufsize += nread + 512; + pproc->outp = realloc(pproc->outp, bufsize); + if (pproc->outp == NULL) { + pproc->outcnt = 0; + _endthreadex(0); + } + } + pproc->outp[pproc->outcnt++] = c; + } + return 0; +} + +static DWORD +proc_stderr_thread(sub_process *pproc) +{ + DWORD bufsize = 1024; + char c; + DWORD nread; + pproc->errp = malloc(bufsize); + if (pproc->errp == NULL) + _endthreadex(0); + pproc->errcnt = 0; + + for (;;) { + if (ReadFile( (HANDLE)pproc->sv_stderr[0], &c, 1, &nread, NULL) == FALSE) { + map_windows32_error_to_string(GetLastError()); + _endthreadex(0); + } + if (nread == 0) + _endthreadex(0); + if (pproc->errcnt + nread > bufsize) { + bufsize += nread + 512; + pproc->errp = realloc(pproc->errp, bufsize); + if (pproc->errp == NULL) { + pproc->errcnt = 0; + _endthreadex(0); + } + } + pproc->errp[pproc->errcnt++] = c; + } + return 0; +} + + +/* + * Purpose: collects output from child process and returns results + * + * Description: + * + * Returns: + * + * Notes/Dependencies: + */ + long +process_pipe_io( + HANDLE proc, + char *stdin_data, + int stdin_data_len) +{ + sub_process *pproc = (sub_process *)proc; + bool_t stdin_eof = FALSE, stdout_eof = FALSE, stderr_eof = FALSE; + HANDLE childhand = (HANDLE) pproc->pid; + HANDLE tStdin, tStdout, tStderr; + DWORD dwStdin, dwStdout, dwStderr; + HANDLE wait_list[4]; + DWORD wait_count; + DWORD wait_return; + HANDLE ready_hand; + bool_t child_dead = FALSE; + + + /* + * Create stdin thread, if needed + */ + pproc->inp = stdin_data; + pproc->incnt = stdin_data_len; + if (!pproc->inp) { + stdin_eof = TRUE; + CloseHandle((HANDLE)pproc->sv_stdin[0]); + (HANDLE)pproc->sv_stdin[0] = 0; + } else { + tStdin = (HANDLE) _beginthreadex( 0, 1024, + (unsigned (__stdcall *) (void *))proc_stdin_thread, pproc, 0, + (unsigned int *) &dwStdin); + if (tStdin == 0) { + pproc->last_err = GetLastError(); + pproc->lerrno = E_SCALL; + goto done; + } + } + + /* + * Assume child will produce stdout and stderr + */ + tStdout = (HANDLE) _beginthreadex( 0, 1024, + (unsigned (__stdcall *) (void *))proc_stdout_thread, pproc, 0, + (unsigned int *) &dwStdout); + tStderr = (HANDLE) _beginthreadex( 0, 1024, + (unsigned (__stdcall *) (void *))proc_stderr_thread, pproc, 0, + (unsigned int *) &dwStderr); + + if (tStdout == 0 || tStderr == 0) { + + pproc->last_err = GetLastError(); + pproc->lerrno = E_SCALL; + goto done; + } + + + /* + * Wait for all I/O to finish and for the child process to exit + */ + + while (!stdin_eof || !stdout_eof || !stderr_eof || !child_dead) { + wait_count = 0; + if (!stdin_eof) { + wait_list[wait_count++] = tStdin; + } + if (!stdout_eof) { + wait_list[wait_count++] = tStdout; + } + if (!stderr_eof) { + wait_list[wait_count++] = tStderr; + } + if (!child_dead) { + wait_list[wait_count++] = childhand; + } + + wait_return = WaitForMultipleObjects(wait_count, wait_list, + FALSE, /* don't wait for all: one ready will do */ + child_dead? 1000 :INFINITE); /* after the child dies, subthreads have + one second to collect all remaining output */ + + if (wait_return == WAIT_FAILED) { +/* map_windows32_error_to_string(GetLastError());*/ + pproc->last_err = GetLastError(); + pproc->lerrno = E_SCALL; + goto done; + } + + ready_hand = wait_list[wait_return - WAIT_OBJECT_0]; + + if (ready_hand == tStdin) { + CloseHandle((HANDLE)pproc->sv_stdin[0]); + (HANDLE)pproc->sv_stdin[0] = 0; + CloseHandle(tStdin); + tStdin = 0; + stdin_eof = TRUE; + + } else if (ready_hand == tStdout) { + + CloseHandle((HANDLE)pproc->sv_stdout[0]); + (HANDLE)pproc->sv_stdout[0] = 0; + CloseHandle(tStdout); + tStdout = 0; + stdout_eof = TRUE; + + } else if (ready_hand == tStderr) { + + CloseHandle((HANDLE)pproc->sv_stderr[0]); + (HANDLE)pproc->sv_stderr[0] = 0; + CloseHandle(tStderr); + tStderr = 0; + stderr_eof = TRUE; + + } else if (ready_hand == childhand) { + + if (GetExitCodeProcess(childhand, &pproc->exit_code) == FALSE) { + pproc->last_err = GetLastError(); + pproc->lerrno = E_SCALL; + goto done; + } + child_dead = TRUE; + + } else { + + /* ?? Got back a handle we didn't query ?? */ + pproc->last_err = 0; + pproc->lerrno = E_FAIL; + goto done; + } + } + + done: + if (tStdin != 0) + CloseHandle(tStdin); + if (tStdout != 0) + CloseHandle(tStdout); + if (tStderr != 0) + CloseHandle(tStderr); + + if (pproc->lerrno) + return(-1); + else + return(0); + +} + +/* + * Purpose: collects output from child process and returns results + * + * Description: + * + * Returns: + * + * Notes/Dependencies: + */ + long +process_file_io( + HANDLE proc) +{ + sub_process *pproc; + HANDLE childhand; + DWORD wait_return; + + if (proc == NULL) + pproc = process_wait_for_any_private(); + else + pproc = (sub_process *)proc; + + /* some sort of internal error */ + if (!pproc) + return -1; + + childhand = (HANDLE) pproc->pid; + + /* + * This function is poorly named, and could also be used just to wait + * for child death if you're doing your own pipe I/O. If that is + * the case, close the pipe handles here. + */ + if (pproc->sv_stdin[0]) { + CloseHandle((HANDLE)pproc->sv_stdin[0]); + pproc->sv_stdin[0] = 0; + } + if (pproc->sv_stdout[0]) { + CloseHandle((HANDLE)pproc->sv_stdout[0]); + pproc->sv_stdout[0] = 0; + } + if (pproc->sv_stderr[0]) { + CloseHandle((HANDLE)pproc->sv_stderr[0]); + pproc->sv_stderr[0] = 0; + } + + /* + * Wait for the child process to exit + */ + + wait_return = WaitForSingleObject(childhand, INFINITE); + + if (wait_return != WAIT_OBJECT_0) { +/* map_windows32_error_to_string(GetLastError());*/ + pproc->last_err = GetLastError(); + pproc->lerrno = E_SCALL; + goto done2; + } + + if (GetExitCodeProcess(childhand, &pproc->exit_code) == FALSE) { + pproc->last_err = GetLastError(); + pproc->lerrno = E_SCALL; + } + +done2: + if (pproc->lerrno) + return(-1); + else + return(0); + +} + +/* + * Description: Clean up any leftover handles, etc. It is up to the + * caller to manage and free the input, ouput, and stderr buffers. + */ + void +process_cleanup( + HANDLE proc) +{ + sub_process *pproc = (sub_process *)proc; + int i; + + if (pproc->using_pipes) { + for (i= 0; i <= 1; i++) { + if ((HANDLE)pproc->sv_stdin[i]) + CloseHandle((HANDLE)pproc->sv_stdin[i]); + if ((HANDLE)pproc->sv_stdout[i]) + CloseHandle((HANDLE)pproc->sv_stdout[i]); + if ((HANDLE)pproc->sv_stderr[i]) + CloseHandle((HANDLE)pproc->sv_stderr[i]); + } + } + if ((HANDLE)pproc->pid) + CloseHandle((HANDLE)pproc->pid); + + free(pproc); +} + + +/* + * Description: + * Create a command line buffer to pass to CreateProcess + * + * Returns: the buffer or NULL for failure + * Shell case: sh_name a:/full/path/to/script argv[1] argv[2] ... + * Otherwise: argv[0] argv[1] argv[2] ... + * + * Notes/Dependencies: + * CreateProcess does not take an argv, so this command creates a + * command line for the executable. + */ + +static char * +make_command_line( char *shell_name, char *full_exec_path, char **argv) +{ + int argc = 0; + char** argvi; + int* enclose_in_quotes = NULL; + int* enclose_in_quotes_i; + unsigned int bytes_required = 0; + char* command_line; + char* command_line_i; + int cygwin_mode = 0; /* HAVE_CYGWIN_SHELL */ + int have_sh = 0; /* HAVE_CYGWIN_SHELL */ + +#ifdef HAVE_CYGWIN_SHELL + have_sh = (shell_name != NULL || strstr(full_exec_path, "sh.exe")); + cygwin_mode = 1; +#endif + + if (shell_name && full_exec_path) { + bytes_required + = strlen(shell_name) + 1 + strlen(full_exec_path); + /* + * Skip argv[0] if any, when shell_name is given. + */ + if (*argv) argv++; + /* + * Add one for the intervening space. + */ + if (*argv) bytes_required++; + } + + argvi = argv; + while (*(argvi++)) argc++; + + if (argc) { + enclose_in_quotes = (int*) calloc(1, argc * sizeof(int)); + + if (!enclose_in_quotes) { + return NULL; + } + } + + /* We have to make one pass through each argv[i] to see if we need + * to enclose it in ", so we might as well figure out how much + * memory we'll need on the same pass. + */ + + argvi = argv; + enclose_in_quotes_i = enclose_in_quotes; + while(*argvi) { + char* p = *argvi; + unsigned int backslash_count = 0; + + /* + * We have to enclose empty arguments in ". + */ + if (!(*p)) *enclose_in_quotes_i = 1; + + while(*p) { + switch (*p) { + case '\"': + /* + * We have to insert a backslash for each " + * and each \ that precedes the ". + */ + bytes_required += (backslash_count + 1); + backslash_count = 0; + break; + +#if !defined(HAVE_MKS_SHELL) && !defined(HAVE_CYGWIN_SHELL) + case '\\': + backslash_count++; + break; +#endif + /* + * At one time we set *enclose_in_quotes_i for '*' or '?' to suppress + * wildcard expansion in programs linked with MSVC's SETARGV.OBJ so + * that argv in always equals argv out. This was removed. Say you have + * such a program named glob.exe. You enter + * glob '*' + * at the sh command prompt. Obviously the intent is to make glob do the + * wildcarding instead of sh. If we set *enclose_in_quotes_i for '*' or '?', + * then the command line that glob would see would be + * glob "*" + * and the _setargv in SETARGV.OBJ would _not_ expand the *. + */ + case ' ': + case '\t': + *enclose_in_quotes_i = 1; + /* fall through */ + + default: + backslash_count = 0; + break; + } + + /* + * Add one for each character in argv[i]. + */ + bytes_required++; + + p++; + } + + if (*enclose_in_quotes_i) { + /* + * Add one for each enclosing ", + * and one for each \ that precedes the + * closing ". + */ + bytes_required += (backslash_count + 2); + } + + /* + * Add one for the intervening space. + */ + if (*(++argvi)) bytes_required++; + enclose_in_quotes_i++; + } + + /* + * Add one for the terminating NULL. + */ + bytes_required++; + + command_line = (char*) malloc(bytes_required); + + if (!command_line) { + if (enclose_in_quotes) free(enclose_in_quotes); + return NULL; + } + + command_line_i = command_line; + + if (shell_name && full_exec_path) { + while(*shell_name) { + *(command_line_i++) = *(shell_name++); + } + + *(command_line_i++) = ' '; + + while(*full_exec_path) { + *(command_line_i++) = *(full_exec_path++); + } + + if (*argv) { + *(command_line_i++) = ' '; + } + } + + argvi = argv; + enclose_in_quotes_i = enclose_in_quotes; + + while(*argvi) { + char* p = *argvi; + unsigned int backslash_count = 0; + + if (*enclose_in_quotes_i) { + *(command_line_i++) = '\"'; + } + + while(*p) { + if (*p == '\"') { + if (cygwin_mode && have_sh) { /* HAVE_CYGWIN_SHELL */ + /* instead of a \", cygwin likes "" */ + *(command_line_i++) = '\"'; + } else { + + /* + * We have to insert a backslash for the " + * and each \ that precedes the ". + */ + backslash_count++; + + while(backslash_count) { + *(command_line_i++) = '\\'; + backslash_count--; + }; + } +#if !defined(HAVE_MKS_SHELL) && !defined(HAVE_CYGWIN_SHELL) + } else if (*p == '\\') { + backslash_count++; + } else { + backslash_count = 0; +#endif + } + + /* + * Copy the character. + */ + *(command_line_i++) = *(p++); + } + + if (*enclose_in_quotes_i) { +#if !defined(HAVE_MKS_SHELL) && !defined(HAVE_CYGWIN_SHELL) + /* + * Add one \ for each \ that precedes the + * closing ". + */ + while(backslash_count--) { + *(command_line_i++) = '\\'; + }; +#endif + *(command_line_i++) = '\"'; + } + + /* + * Append an intervening space. + */ + if (*(++argvi)) { + *(command_line_i++) = ' '; + } + + enclose_in_quotes_i++; + } + + /* + * Append the terminating NULL. + */ + *command_line_i = '\0'; + + if (enclose_in_quotes) free(enclose_in_quotes); + return command_line; +} + +/* + * Description: Given an argv and optional envp, launch the process + * using the default stdin, stdout, and stderr handles. + * Also, register process so that process_wait_for_any_private() + * can be used via process_file_io(NULL) or + * process_wait_for_any(). + * + * Returns: + * + * Notes/Dependencies: + */ +HANDLE +process_easy( + char **argv, + char **envp) +{ + HANDLE hIn; + HANDLE hOut; + HANDLE hErr; + HANDLE hProcess; + + if (DuplicateHandle(GetCurrentProcess(), + GetStdHandle(STD_INPUT_HANDLE), + GetCurrentProcess(), + &hIn, + 0, + TRUE, + DUPLICATE_SAME_ACCESS) == FALSE) { + fprintf(stderr, + "process_easy: DuplicateHandle(In) failed (e=%d)\n", + GetLastError()); + return INVALID_HANDLE_VALUE; + } + if (DuplicateHandle(GetCurrentProcess(), + GetStdHandle(STD_OUTPUT_HANDLE), + GetCurrentProcess(), + &hOut, + 0, + TRUE, + DUPLICATE_SAME_ACCESS) == FALSE) { + fprintf(stderr, + "process_easy: DuplicateHandle(Out) failed (e=%d)\n", + GetLastError()); + return INVALID_HANDLE_VALUE; + } + if (DuplicateHandle(GetCurrentProcess(), + GetStdHandle(STD_ERROR_HANDLE), + GetCurrentProcess(), + &hErr, + 0, + TRUE, + DUPLICATE_SAME_ACCESS) == FALSE) { + fprintf(stderr, + "process_easy: DuplicateHandle(Err) failed (e=%d)\n", + GetLastError()); + return INVALID_HANDLE_VALUE; + } + + hProcess = process_init_fd(hIn, hOut, hErr); + + if (process_begin(hProcess, argv, envp, argv[0], NULL)) { + fake_exits_pending++; + ((sub_process*) hProcess)->exit_code = process_last_err(hProcess); + + /* close up unused handles */ + CloseHandle(hIn); + CloseHandle(hOut); + CloseHandle(hErr); + } + + process_register(hProcess); + + return hProcess; +} diff --git a/src/mkutil/n.bat b/src/mkutil/n.bat index bbe0d42d..ce8a1908 100644 --- a/src/mkutil/n.bat +++ b/src/mkutil/n.bat @@ -1,26 +1,31 @@ copy 4dos.com ..\bin -copy crc.com ..\bin copy crcd.com ..\bin copy mklink-l.bat ..\bin copy mklink-b.bat ..\bin copy mknbat-l.bat ..\bin copy mknbat-b.bat ..\bin -cl -Zi -I. false.c -@if errorlevel 1 goto failure -copy false.exe ..\bin +tasm crc /m3 /l +if errorlevel 1 goto failure +tlink crc /t +if errorlevel 1 goto failure +copy crc.com ..\bin -cl -Zi -I. true.c -@if errorlevel 1 goto failure -copy true.exe ..\bin +rem cl -Zi -I. false.c +rem @if errorlevel 1 goto failure +rem copy false.exe ..\bin + +rem cl -Zi -I. true.c +rem @if errorlevel 1 goto failure +rem copy true.exe ..\bin cl -Zi -I. foster.c @if errorlevel 1 goto failure copy foster.exe ..\bin -cl -Zi -I. loginsh.c -@if errorlevel 1 goto failure -copy loginsh.exe ..\bin +rem cl -Zi -I. loginsh.c +rem @if errorlevel 1 goto failure +rem copy loginsh.exe ..\bin cl -Zi -I. bin2c.c @if errorlevel 1 goto failure @@ -30,21 +35,21 @@ cl -Zi -I. bin2avr.c @if errorlevel 1 goto failure copy bin2avr.exe ..\bin -cl -Zi -I. -DVAX cr.c -@if errorlevel 1 goto failure -copy cr.exe ..\bin +rem cl -Zi -I. -DVAX cr.c +rem @if errorlevel 1 goto failure +rem copy cr.exe ..\bin -cl -Zi -I. -DVAX crc.c -@if errorlevel 1 goto failure +rem cl -Zi -I. -DVAX crc.c +rem @if errorlevel 1 goto failure rem copy crc.exe ..\bin cl -Zi -I. ihex2bin.c @if errorlevel 1 goto failure copy ihex2bin.exe ..\bin -cl -Zi -I. -DVAX touch.c -@if errorlevel 1 goto failure -copy touch.exe ..\bin +rem cl -Zi -I. -DVAX touch.c +rem @if errorlevel 1 goto failure +rem copy touch.exe ..\bin rem cl -Zi -I. -DVAX setfsize.c rem @if errorlevel 1 goto failure diff --git a/src/mkutil/revava-0.3/Avr.o b/src/mkutil/revava-0.3/Avr.o index ad1378f4dc30888bca0486c0f37d84e3c00eee54..44a3cce10859cd8a44fedb3655186aa9d5080b62 100644 GIT binary patch delta 100 zcmbR0H{Wl=btXpM$=8{RIC!}_uk&wn=H2Yi%*M>fyE&BY9HS&J7lT`3Nn(zIYf({t xk(GjKF$e=iCog0Yp1gsHWpf~hGAB@ViQpbKAY~x2gdJ$!6?qjP=ZCy3I{@0g97+HH delta 80 zcmbR5H`Q;$b*9NTn2OlAIBJ|(%E&u8OjrfTsS-A32LNDt6f^(; delta 58 zcmdmDy4G|UVIf0M*~&-o*w0ieeJV delta 69 zcmbQEI!$%MMkW?6)nbOp2bn}BUtnSd<10*-oB5bym_@l5+!9L?a}->Qit>xB6jX~r UcylA0HS6TP+$x(NaqnUS0QfK!_W%F@ diff --git a/src/mkutil/revava-0.3/Main.o b/src/mkutil/revava-0.3/Main.o index 9d293ec21ce0bb8c94ef6cd269d8e59d7cad456e..e0a2e0e4e04ad8357cd5b663a7f3a9bdcf467560 100644 GIT binary patch delta 179 zcmccT_R(#_Y-UE@$+MZ&d3d>k%QH)oGg6DKcqgA>RsssYV|E9UrYy!lGJ_=mNbX>< zRp8}PP|(%QNX;ow0D*v_%)AnXl8nq^1(28??_^%fbK#yqix+ MG%x`ry`)7r0AnyM#{d8T delta 126 zcmez9cF%3YZ05;xnAN$sg3B{Yk~30^ttOvmR+{{Y*?qDVi}B<Y;0#gJcGqF2nITFk|zT0A+NHD8pA!7Z^QF-O6*s3^b4N a$TitpLYkwOg#ipU-;row+8iq_!T|tr-6jkG diff --git a/src/mkutil/revava-0.3/Object.o b/src/mkutil/revava-0.3/Object.o index 5d0aab171f37e522549c892144db607511099612..4a3ebf05a29e60041925e4058d151c04315a8c58 100644 GIT binary patch delta 111 zcmbPkxzut4Cle#@WKJdxAZZ9DBf(@Nm|O`aFM`RROgn&THZtck@@`gO2>@!_T)_5= rQJj~H!7Z^QF-O6*s3^b4N`p)tRSuAN zDn}KNyw70|B;`0A;p};wjX<_MmmZMxMJryBH+S4N|j~8>Hqw zh`pJYhnt0!my5rZV=}*%F;Kuz#fTLs+bFsMNOEhL14%=bnVWBGu`mKDVuBg7d4h2ilQ=IIgIi)rVvd4qQBi)8 zm4a$92=i|KZ_3Tc1(al9Wnf?^H)HD7ee?TLh(6-=v9R1BZTNn zgy=Wk$rByQfkDpUC;$xd%@VF}IDr(4|0#B0aGeWN0dhWtEo26ACP%5LgET^b0s|A6 Uk&G!+z&rVNR1Z*NdUPij09X=(7XSbN delta 602 zcma)zPbhJg1c% zT!g6AWvew)Jm^|!&ZlGo6191y&qDJ0=~NnJnU)*;BEC|%2DJjiUiwE4|cZC z@R0YGaH8ppgJ^S_t{uw0EY9m_{og<4y+@XxUo86~7EK|M+11&k9yW|cBdEJqDvND> zDkmv~)DS|}Fyx>9O%U?uuru%^Y|?(2_I5H%U6eY3M5!}O7GrFIF@v!*V_C*_7%MQg z&)5lLXI0i~CzlMC+2K87&y2k=_6c{PbsQb6=P?m}lW}DHS`=wZtXw~IO=?m`q=60w dV|!M3m~y!)tvNcem^$}|EP*G!g{SeH@(mM|kgEUy diff --git a/src/mkutil/revava-0.3/make_test_source.o b/src/mkutil/revava-0.3/make_test_source.o index e468e96f6bf6047d9c034bfbb033199ac22a2c9e..91655ceb320fb22200f4dc70f574968cf11b376a 100644 GIT binary patch delta 2663 zcmYk+eMntp9Ki8M&+V%7b=}LL=k?xs zdiFzeOA# z>YEco~jay1|{9AWy*=I1A_C zJp39i!rO2O{s`S=yaIoLYw$k&18%`YMDJoXtb+}((WmP_2~FgEuo))dLHHs(1Y6({ z*b3WWhl^A21nh#{uow2j)9?%&fal;~Kso=Yxj?=Mhv5hug_q$NoPbks2F}8{NV(py zdGeyA*BEPlK71vI9@1qW3KMeE;%1C^9o`W>;@{L&8@;huq9FV)&qi%niY4S%Y%^Au z&iiw0u8haizXe-11n40XD)WxDPhN zBuoh(^DkwmAA@(HU+Y&-9q}iP_lVmX{|=)6Eav2;59(o2cxe+F z>xug{CW$X=Y$JAR>?Xdg@q8Fvc@^H*I?B>38m|%;G%gWWG_DhOH2z2QpT6Mgm)f(G z%|HJtyA$*$!){;E=g2Q)If3oaJ*Fd5!#AM*fFv z^7YP@2!pfPL#)-*dRUjX5>IM;gE*k^9pbR1H(UDD0ef_E9qnJp-NHv@ Ti<)ZUA=nE?EvIYC#-0BGbQ}Z}t@EBc6!v@9uKEze(F+_?0>+uMKHR-H@L{^7_#oNgwrwM9QbSR|TL(bz< zm3n^WG-q)!#*d41B-3y%v6%ravKP`yyKGL5XS!E%kAXfWKc)54UeN|=!?Y3FC)zm8 zpX{!GtH)hXX&mlCWoR#|Kv7hQs!W zx>uDrx4(nfgYKeU)Q6sn^o^O}u)Tk0Qrx||C<@49WvF)A12iC-V?A`kB3)<%obQVg zpL>8!BKrWPB71VVNXLwj^Ub$9)t$Uvw7@#s7uq=bg(lD+q~z<_UcDEkp{Xbf8F4rZ z%|p2;AB9j6T8fI%N)$#B6cx>v%ZwZ95V78ghH9jprM1y+(r(cn(_YZt(MD-MX_IDK zWNlq)y1g1h%@EnQFhDC1>HXR6KZ5NH>|ydDT8%k5k!?5|d!B&=lRIg5XisS`X+yLz z+63({ZK^ETyqAW`5!tKHGtY0w#l$tVjkKM#eYC^0I$9&`46TiJm3G@{va!9y5hi}7 z{idlY?y9py_M)?C3u#5PFl`-e2d&I(%dCy9A|7F46YVsuRiv9|EqDI-<#(O?I9)W? RI#fPw8;YTXsB88$&wqP7#J>Ol diff --git a/src/mkutil/revava-0.3/n.bat b/src/mkutil/revava-0.3/n.bat index db589e06..cc890730 100644 --- a/src/mkutil/revava-0.3/n.bat +++ b/src/mkutil/revava-0.3/n.bat @@ -1,2 +1,2 @@ -make CPPFLAGS="-DDEBUG" -copy revava.exe ..\..\bin +make CPPFLAGS="-DDEBUG" +copy revava.exe ..\..\bin diff --git a/src/mkutil/setfsize.exe b/src/mkutil/setfsize.exe deleted file mode 100644 index 19ee48516b08527a1012a5141785f165e86fde30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57390 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

      0+yMh>lKA<&8pE^*EklTv#UECx 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 literal 0 HcmV?d00001 diff --git a/src/mkutil/tavrasm.118/CVS/Entries b/src/mkutil/tavrasm.118/CVS/Entries new file mode 100644 index 00000000..7a5dbb7f --- /dev/null +++ b/src/mkutil/tavrasm.118/CVS/Entries @@ -0,0 +1,3 @@ +/README/1.1.1.1/Mon Nov 17 19:06:12 2003// +/gpl.txt/1.1.1.1/Mon Nov 17 19:06:12 2003// +D/src//// diff --git a/src/mkutil/tavrasm.118/CVS/Repository b/src/mkutil/tavrasm.118/CVS/Repository new file mode 100644 index 00000000..016ef646 --- /dev/null +++ b/src/mkutil/tavrasm.118/CVS/Repository @@ -0,0 +1 @@ +uzi/src/mkutil/tavrasm.118 diff --git a/src/mkutil/tavrasm.118/CVS/Root b/src/mkutil/tavrasm.118/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/mkutil/tavrasm.118/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/tavrasm.118/README b/src/mkutil/tavrasm.118/README index 22b0b461..2c9c53dd 100644 --- a/src/mkutil/tavrasm.118/README +++ b/src/mkutil/tavrasm.118/README @@ -1,320 +1,320 @@ - - Toms AVR macro assembler - tavrasm 1.18 - ============================================================================= - - tavrasm - A GNU/Linux assembler for the Atmel AVR series of - micro-controllers. Copyright (C) 1999-2003 Tom Mortensen - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at - your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA. - - Introduction - ============================================================================= - - tavrasm is an assembler for the Atmel AVR family of micro-controllers. - It uses a syntax similar to the one found in the Atmel AVR DOS assembler. - Some of the features includes: - - - Super-set of Atmel AVR assembler. - - Macros in macros. - - Save Intel HEX, Motorola S-record, Generic and binary output. - - More than 100 warning/error messages. - - Atmel object files compatible with Atmel's AVR Studio. - - C escape characters in char/string literals. - - Runs on (win)DOS, Linux, OS/2, Solaris, ... - - Free software released under GPL. - - Installation - ============================================================================= - - Copy the tavrasm executable (tavrasm.exe for OS/2 and DOS) to a - directory in your path. - - Running - ============================================================================= - - Just type 'tavrasm file.asm'. This will generate an Intel HEX output file - ('file.hex'). To get help, type 'tavrasm' with no arguments. - - Compiling - ============================================================================= - - tavrasm should compile on most systems that are supported by gcc. - I haven't check for endianes, so this might be a problem if - anybody wants to compile it on non-i386 systems (mail me, and I will - fix this). - - Check the makefile for additional information. - - Systems supported - ============================================================================= - - Linux/x86: I wrote parts of tavrasm on a Linux/x86. - - Linux/PPC: Andreas Bogk reports that he has successfully compiled - tavrasm on a LinuxPPC machine. - - Linux/Alpha: Now works (after a little bug fix). - - FreeBSD: Lots of people runs tavrasm on FreeBSD. - - Sparc: I have received reports from serveral people running - tavrasm on a Sparc station. - - OS/2: I wrote the initial version of tavrasm on OS/2 (using emx) - - Note: On non-x86 machines remove -m486 from the makefile :) - - Bugs/Suggestions/Patches - ============================================================================= - - Please send any bug-reports/suggestions/patches to me (tom@tavrasm.org). - - History - ============================================================================= - - 1.18 - Added support for specifying unsigned integer values [0; 2^32-1] - - Thanks to Richard Gerrits for pointing out the problem. - - Added support for specifying Z/Y/Z for adiw, sbiw and movw. - - Thanks to Richard Barrington for suggesting this. - - Added support for a bunch of Mega devices. - - Thanks to Andreas Schwarz for supplying a patch with these. - - Fixed problems compiling with GCC 3.2 - - Several people supplied patches, but I was just too busy - integrating them. - - Thanks to Patrick Dreker for supplying the final patch. - - 1.17 - Added support for the BYTE1 (same as LOW) function. - - Thanks to Timothy Lee for supplying this patch. - - Fixed path delimiter problem in include path. I used - DOS style '\' causing problems on *NIX. - - Thanks to Timothy Lee for reporting this. - - 1.16 - Fixed problem with long macro names. - - Thanks to Richard Gerrits for reporting this. - - Increased maximum identifier length to 64 (and no, this was - not the fix to the problem above :). - - Added support for using DOS (\13\10) files on *NIX systems. - - Change URL to www.tavrasm.org in help/README/... - - 1.15 - Added support for multiple include path. Use '-I' to specify - additional include paths. - - Thanks to Brian Rhodefer for adding this. - - Added option to omit address extension record in Intel HEX files. - Use '-h' to omit address extension record. - - Released November 2000 - - 1.14 - Added support for forward .org statements. Use '-f' to supress - warnings. - - Thanks to Brian Rhodefer for suggesting this. - - Not released - - 1.13 - Some overall clean up and german translations. - - Added support for local labels. Use _ as the first charcter of a - label to give it local scope between two non-local labels. - - Specify -x to enable local labels. - - Changed range checking code to allow negative numbers in some cases. - - Thanks to Kurt Stege for implementing local labels and cleaning up - the code. - - Not released - - 1.12 - Added the 'spm' instruction (forgot the first time around) - - Thanks to Jochen Pernsteiner for pointing this out. - - Released December 1999 - - 1.11 - Now the Alpha problem is fixed (I forgot to move fix from test to - release source). - - Fixed promlem with detecting supported instructions (Introduced in - 1.10) - Thanks to Mark V. Vaysman for reporting this. - - Removed carriage returns from source, so it will compile under - *NIX without problems. Thanks to Todd M. Squires for reporting this. - - Released December 1999 - - 1.10 - Added the new instructions: 'eijmp', 'eicall', 'espm', 'mulsu', - 'fmul', 'fmuls', 'fmulsu', 'muls', 'movw', 'elpm'. - - Changed behaviour of 'lpm' according to Atmel specs. - - Added spanish translation - Thanks to Lluis Ballester for supplying - the Spanish translation. - - Fixed .endm problem (it had to be lower case) - It was reported - on comp.arch.embedded by Ben Cantrick. - - Released December 1999 - - 1.09 - Fixed problem with BRBC/BRBS (they did not work). I used the status - bit number for both source and destination operand (word of advise - - don't use variable names like 'values' and 'valued' in the same - context :) - - Fixed problem when compiling on Alpha's - - Thanks to Todd M. Squires for reporting these (and supplying a patch - for the Alpha problem). - - Released December 1999 - - - 1.08 - Fixed problem with SBR (Set Bits in Register). This is the same - as ORI, but the SBR version had a bug (one of those that generates - faulty code), bit 0 was always set. - - Thanks to Dean Huxley for reporting this (and supplying a patch). - - Added support for AT90S4433 (similar to 4414/4434). - - Released July 1999 - - - 1.07 - Added support for using PC as program counter (i.e. rjmp PC+4), - EC as eeprom counter and DC as data counter. - - Thanks to Adam Dybkowski for suggesting this. - - Released May 1999 - - - 1.06 - Added support for wrapping branches and relative call/jumps - Use the '-a' switch to enable this feature. - - Thanks to Jochen Pernsteiner for suggesting this. - - Restored the generic hex format. The generic hex format - disappeared in version 1.03 (when the default file format was - changed to Intel Hex). Use the '-g' switch to generate - generic hex (files that looks like this: "000021:f7f0"). - - Released May 1999 - - - 1.05 - Fixed problem with detection of binary numbers like '0b010101'. - This was bug was introduced by the new hex detection feature in - V. 1.04 :( - - Thanks to Randy Ott for reporting this. - - Fixed problem with memset of context stack that caused the winDOS - version to crash on some systems (strange that Linux/NT did not - detect this obvious memory violation). - - Thanks to Steve Maddigan for reporting this, and to my friend - Henning for finding the bug. - - Released May 1999 - - - 1.04 - Fixed problem with tabs after include filename, thanks to - Andreas Bogk for reporting this. - - Added support for specifying hex values like 1AB without '$' or '0x' - thanks to Andreas Bogk for suggesting this. - - Changed distribution format, so source i now located in a - sub-directory. - - Released April 1999 - - - 1.03 - Modified to support Intel hex as the default. - - Now automatically determines the output file name. - - Exits with a count of the number of errors (for make). - - Thanks to Jim Dowling for supplying these patches. - - Released March 1999 - - - 1.02 - Added support for German - Thanks to Uwe Bonnes for supplying - the German translation. - - Released February 1999 - - - 1.01 - Fixed alignment problem with forward references to .db in CSEG - ,thanks to Rob Penny for reporting this. - - Added a -d option to list supported devices. - - Updated the device information. - - Released January 1999 - - - 1.00 - Initial release September 1998 - - - TODO - None of these are critical, but would be nice :-) - ============================================================================= - - - Write some documentation !!! - - - Change source to new {} style (they finally convinced me :-) - - - Change handling of code/ROM buffers. - - - Make more language versions (French/Italian) (find someone to help me) - - - 0m01010101 Set mask - - - .def PowerStatus = Autoreg high = reset, monitor - - - opcode aliases med SBCI / SUBI = 255-ADCI/ADBI - - - Sinw / Cosw / Sinb / Cosb - - - define macros - - ============================================================================= - - Copenhagen, March 2003 - Tom Mortensen - - E-mail : tom@tavrasm.org - WWW : http://www.tavrasm.org - - ============================================================================= + + Toms AVR macro assembler - tavrasm 1.18 + ============================================================================= + + tavrasm - A GNU/Linux assembler for the Atmel AVR series of + micro-controllers. Copyright (C) 1999-2003 Tom Mortensen + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at + your option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. + + Introduction + ============================================================================= + + tavrasm is an assembler for the Atmel AVR family of micro-controllers. + It uses a syntax similar to the one found in the Atmel AVR DOS assembler. + Some of the features includes: + + - Super-set of Atmel AVR assembler. + - Macros in macros. + - Save Intel HEX, Motorola S-record, Generic and binary output. + - More than 100 warning/error messages. + - Atmel object files compatible with Atmel's AVR Studio. + - C escape characters in char/string literals. + - Runs on (win)DOS, Linux, OS/2, Solaris, ... + - Free software released under GPL. + + Installation + ============================================================================= + + Copy the tavrasm executable (tavrasm.exe for OS/2 and DOS) to a + directory in your path. + + Running + ============================================================================= + + Just type 'tavrasm file.asm'. This will generate an Intel HEX output file + ('file.hex'). To get help, type 'tavrasm' with no arguments. + + Compiling + ============================================================================= + + tavrasm should compile on most systems that are supported by gcc. + I haven't check for endianes, so this might be a problem if + anybody wants to compile it on non-i386 systems (mail me, and I will + fix this). + + Check the makefile for additional information. + + Systems supported + ============================================================================= + + Linux/x86: I wrote parts of tavrasm on a Linux/x86. + + Linux/PPC: Andreas Bogk reports that he has successfully compiled + tavrasm on a LinuxPPC machine. + + Linux/Alpha: Now works (after a little bug fix). + + FreeBSD: Lots of people runs tavrasm on FreeBSD. + + Sparc: I have received reports from serveral people running + tavrasm on a Sparc station. + + OS/2: I wrote the initial version of tavrasm on OS/2 (using emx) + + Note: On non-x86 machines remove -m486 from the makefile :) + + Bugs/Suggestions/Patches + ============================================================================= + + Please send any bug-reports/suggestions/patches to me (tom@tavrasm.org). + + History + ============================================================================= + + 1.18 - Added support for specifying unsigned integer values [0; 2^32-1] + + Thanks to Richard Gerrits for pointing out the problem. + + Added support for specifying Z/Y/Z for adiw, sbiw and movw. + + Thanks to Richard Barrington for suggesting this. + + Added support for a bunch of Mega devices. + + Thanks to Andreas Schwarz for supplying a patch with these. + + Fixed problems compiling with GCC 3.2 + + Several people supplied patches, but I was just too busy + integrating them. + + Thanks to Patrick Dreker for supplying the final patch. + + 1.17 - Added support for the BYTE1 (same as LOW) function. + + Thanks to Timothy Lee for supplying this patch. + + Fixed path delimiter problem in include path. I used + DOS style '\' causing problems on *NIX. + + Thanks to Timothy Lee for reporting this. + + 1.16 - Fixed problem with long macro names. + + Thanks to Richard Gerrits for reporting this. + + Increased maximum identifier length to 64 (and no, this was + not the fix to the problem above :). + + Added support for using DOS (\13\10) files on *NIX systems. + + Change URL to www.tavrasm.org in help/README/... + + 1.15 - Added support for multiple include path. Use '-I' to specify + additional include paths. + + Thanks to Brian Rhodefer for adding this. + + Added option to omit address extension record in Intel HEX files. + Use '-h' to omit address extension record. + + Released November 2000 + + 1.14 - Added support for forward .org statements. Use '-f' to supress + warnings. + + Thanks to Brian Rhodefer for suggesting this. + + Not released + + 1.13 - Some overall clean up and german translations. + + Added support for local labels. Use _ as the first charcter of a + label to give it local scope between two non-local labels. + + Specify -x to enable local labels. + + Changed range checking code to allow negative numbers in some cases. + + Thanks to Kurt Stege for implementing local labels and cleaning up + the code. + + Not released + + 1.12 - Added the 'spm' instruction (forgot the first time around) + + Thanks to Jochen Pernsteiner for pointing this out. + + Released December 1999 + + 1.11 - Now the Alpha problem is fixed (I forgot to move fix from test to + release source). + + Fixed promlem with detecting supported instructions (Introduced in + 1.10) - Thanks to Mark V. Vaysman for reporting this. + + Removed carriage returns from source, so it will compile under + *NIX without problems. Thanks to Todd M. Squires for reporting this. + + Released December 1999 + + 1.10 - Added the new instructions: 'eijmp', 'eicall', 'espm', 'mulsu', + 'fmul', 'fmuls', 'fmulsu', 'muls', 'movw', 'elpm'. + + Changed behaviour of 'lpm' according to Atmel specs. + + Added spanish translation - Thanks to Lluis Ballester for supplying + the Spanish translation. + + Fixed .endm problem (it had to be lower case) - It was reported + on comp.arch.embedded by Ben Cantrick. + + Released December 1999 + + 1.09 - Fixed problem with BRBC/BRBS (they did not work). I used the status + bit number for both source and destination operand (word of advise - + don't use variable names like 'values' and 'valued' in the same + context :) + + Fixed problem when compiling on Alpha's + + Thanks to Todd M. Squires for reporting these (and supplying a patch + for the Alpha problem). + + Released December 1999 + + + 1.08 - Fixed problem with SBR (Set Bits in Register). This is the same + as ORI, but the SBR version had a bug (one of those that generates + faulty code), bit 0 was always set. + + Thanks to Dean Huxley for reporting this (and supplying a patch). + + Added support for AT90S4433 (similar to 4414/4434). + + Released July 1999 + + + 1.07 - Added support for using PC as program counter (i.e. rjmp PC+4), + EC as eeprom counter and DC as data counter. + + Thanks to Adam Dybkowski for suggesting this. + + Released May 1999 + + + 1.06 - Added support for wrapping branches and relative call/jumps + Use the '-a' switch to enable this feature. + + Thanks to Jochen Pernsteiner for suggesting this. + + Restored the generic hex format. The generic hex format + disappeared in version 1.03 (when the default file format was + changed to Intel Hex). Use the '-g' switch to generate + generic hex (files that looks like this: "000021:f7f0"). + + Released May 1999 + + + 1.05 - Fixed problem with detection of binary numbers like '0b010101'. + This was bug was introduced by the new hex detection feature in + V. 1.04 :( + + Thanks to Randy Ott for reporting this. + + Fixed problem with memset of context stack that caused the winDOS + version to crash on some systems (strange that Linux/NT did not + detect this obvious memory violation). + + Thanks to Steve Maddigan for reporting this, and to my friend + Henning for finding the bug. + + Released May 1999 + + + 1.04 - Fixed problem with tabs after include filename, thanks to + Andreas Bogk for reporting this. + + Added support for specifying hex values like 1AB without '$' or '0x' + thanks to Andreas Bogk for suggesting this. + + Changed distribution format, so source i now located in a + sub-directory. + + Released April 1999 + + + 1.03 - Modified to support Intel hex as the default. + + Now automatically determines the output file name. + + Exits with a count of the number of errors (for make). + + Thanks to Jim Dowling for supplying these patches. + + Released March 1999 + + + 1.02 - Added support for German - Thanks to Uwe Bonnes for supplying + the German translation. + + Released February 1999 + + + 1.01 - Fixed alignment problem with forward references to .db in CSEG + ,thanks to Rob Penny for reporting this. + + Added a -d option to list supported devices. + + Updated the device information. + + Released January 1999 + + + 1.00 - Initial release September 1998 + + + TODO - None of these are critical, but would be nice :-) + ============================================================================= + + - Write some documentation !!! + + - Change source to new {} style (they finally convinced me :-) + + - Change handling of code/ROM buffers. + + - Make more language versions (French/Italian) (find someone to help me) + + - 0m01010101 Set mask + + - .def PowerStatus = Autoreg high = reset, monitor + + - opcode aliases med SBCI / SUBI = 255-ADCI/ADBI + + - Sinw / Cosw / Sinb / Cosb + + - define macros + + ============================================================================= + + Copenhagen, March 2003 + Tom Mortensen + + E-mail : tom@tavrasm.org + WWW : http://www.tavrasm.org + + ============================================================================= diff --git a/src/mkutil/tavrasm.118/gpl.txt b/src/mkutil/tavrasm.118/gpl.txt index 3cd95613..e302cd47 100644 --- a/src/mkutil/tavrasm.118/gpl.txt +++ b/src/mkutil/tavrasm.118/gpl.txt @@ -1,285 +1,285 @@ -GNU GENERAL PUBLIC LICENSE - -Version 2, June 1991 - -Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA - -Everyone is permitted to copy and distribute verbatim copies of this -license document, but changing it is not allowed. - -Preamble - -The licenses for most software are designed to take away your freedom -to share and change it. By contrast, the GNU General Public License is -intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - -When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - -To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the software, or if you modify it. - -For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - -We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - -Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, -we want its recipients to know that what they have is not the -original, so that any problems introduced by others will not reflect -on the original authors' reputations. - -Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at -all. - -The precise terms and conditions for copying, distribution and -modification follow. - -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - -0. This License applies to any program or other work which contains a -notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the Program -(independent of having been made by running the Program). Whether -that is true depends on what the Program does. - -1. You may copy and distribute verbatim copies of the Program's source -code as you receive it, in any medium, provided that you conspicuously -and appropriately publish on each copy an appropriate copyright notice -and disclaimer of warranty; keep intact all the notices that refer to -this License and to the absence of any warranty; and give any other -recipients of the Program a copy of this License along with the -Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a -fee. - -2. You may modify your copy or copies of the Program or any portion of -it, thus forming a work based on the Program, and copy and distribute -such modifications or work under the terms of Section 1 above, -provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that - in whole or in part contains or is derived from the Program or - any part thereof, to be licensed as a whole at no charge to all - third parties under the terms of this License. - - c) If the modified program normally reads commands - interactively when run, you must cause it, when started running - for such interactive use in the most ordinary way, to print or - display an announcement including an appropriate copyright - notice and a notice that there is no warranty (or else, saying - that you provide a warranty) and that users may redistribute - the program under these conditions, and telling the user how to - view a copy of this License. (Exception: if the Program itself - is interactive but does not normally print such an - announcement, your work based on the Program is not required to - print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - -3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding - machine-readable source code, which must be distributed under - the terms of Sections 1 and 2 above on a medium customarily - used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a - medium customarily used for software interchange; or, - - c) Accompany it with the information you received as to the - offer to distribute corresponding source code. (This - alternative is allowed only for noncommercial distribution and - only if you received the program in object code or executable - form with such an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - -4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt otherwise -to copy, modify, sublicense or distribute the Program is void, and -will automatically terminate your rights under this License. However, -parties who have received copies, or rights, from you under this -License will not have their licenses terminated so long as such -parties remain in full compliance. - -5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - -6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted -herein. You are not responsible for enforcing compliance by third -parties to this License. - -7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - -8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - -9. The Free Software Foundation may publish revised and/or new -versions of the General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Program does not specify a -version number of this License, you may choose any version ever -published by the Free Software Foundation. - -10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the -author to ask for permission. For software which is copyrighted by the -Free Software Foundation, write to the Free Software Foundation; we -sometimes make exceptions for this. Our decision will be guided by the -two goals of preserving the free status of all derivatives of our free -software and of promoting the sharing and reuse of software generally. - -NO WARRANTY - -11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE -LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS -AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF -ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - -12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. +GNU GENERAL PUBLIC LICENSE + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple +Place - Suite 330, Boston, MA 02111-1307, USA + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom +to share and change it. By contrast, the GNU General Public License is +intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + +To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the software, or if you modify it. + +For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + +We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + +Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, +we want its recipients to know that what they have is not the +original, so that any problems introduced by others will not reflect +on the original authors' reputations. + +Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at +all. + +The precise terms and conditions for copying, distribution and +modification follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a +notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the Program +(independent of having been made by running the Program). Whether +that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source +code as you receive it, in any medium, provided that you conspicuously +and appropriately publish on each copy an appropriate copyright notice +and disclaimer of warranty; keep intact all the notices that refer to +this License and to the absence of any warranty; and give any other +recipients of the Program a copy of this License along with the +Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a +fee. + +2. You may modify your copy or copies of the Program or any portion of +it, thus forming a work based on the Program, and copy and distribute +such modifications or work under the terms of Section 1 above, +provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that + in whole or in part contains or is derived from the Program or + any part thereof, to be licensed as a whole at no charge to all + third parties under the terms of this License. + + c) If the modified program normally reads commands + interactively when run, you must cause it, when started running + for such interactive use in the most ordinary way, to print or + display an announcement including an appropriate copyright + notice and a notice that there is no warranty (or else, saying + that you provide a warranty) and that users may redistribute + the program under these conditions, and telling the user how to + view a copy of this License. (Exception: if the Program itself + is interactive but does not normally print such an + announcement, your work based on the Program is not required to + print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + +3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding + machine-readable source code, which must be distributed under + the terms of Sections 1 and 2 above on a medium customarily + used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a + medium customarily used for software interchange; or, + + c) Accompany it with the information you received as to the + offer to distribute corresponding source code. (This + alternative is allowed only for noncommercial distribution and + only if you received the program in object code or executable + form with such an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt otherwise +to copy, modify, sublicense or distribute the Program is void, and +will automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance. + +5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted +herein. You are not responsible for enforcing compliance by third +parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + +9. The Free Software Foundation may publish revised and/or new +versions of the General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Program does not specify a +version number of this License, you may choose any version ever +published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the +author to ask for permission. For software which is copyrighted by the +Free Software Foundation, write to the Free Software Foundation; we +sometimes make exceptions for this. Our decision will be guided by the +two goals of preserving the free status of all derivatives of our free +software and of promoting the sharing and reuse of software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE +LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS +AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF +ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. diff --git a/src/mkutil/tavrasm.118/src/CVS/Entries b/src/mkutil/tavrasm.118/src/CVS/Entries new file mode 100644 index 00000000..eee570bd --- /dev/null +++ b/src/mkutil/tavrasm.118/src/CVS/Entries @@ -0,0 +1,33 @@ +/8535def.inc/1.1.1.1/Mon Nov 17 19:06:12 2003// +/TSV4.HEX/1.1.1.1/Mon Nov 17 19:06:12 2003// +/a_tavr.bat/1.1.1.1/Mon Nov 17 19:06:12 2003// +/apits.inc/1.1.1.1/Mon Nov 17 19:06:12 2003// +/avrasm.cc/1.1.1.1/Mon Nov 17 19:06:12 2003// +/avrasm.hh/1.1.1.1/Mon Nov 17 19:06:12 2003// +/avrlex.cc/1.1.1.1/Mon Nov 17 19:06:12 2003// +/avrlex.l/1.1.1.1/Mon Nov 17 19:06:12 2003// +/avrlex0.inc/1.1.1.1/Mon Nov 17 19:06:12 2003// +/avrlex1.inc/1.1.1.1/Mon Nov 17 19:06:12 2003// +/avrparse.cc/1.1.1.1/Mon Nov 17 19:06:12 2003// +/avrparse.hh/1.1.1.1/Mon Nov 17 19:06:12 2003// +/avrparse.y/1.1.1.1/Mon Nov 17 19:06:12 2003// +/devices.hh/1.1.1.1/Mon Nov 17 19:06:12 2003// +/mac.inc/1.1.1.1/Mon Nov 17 19:06:12 2003// +/makefile/1.1.1.1/Mon Nov 17 19:06:12 2003// +/messages.hh/1.1.1.1/Mon Nov 17 19:06:12 2003// +/msg_de.hh/1.1.1.1/Mon Nov 17 19:06:12 2003// +/msg_sp.hh/1.1.1.1/Mon Nov 17 19:06:12 2003// +/msg_us.hh/1.1.1.1/Mon Nov 17 19:06:12 2003// +/n.bat/1.1.1.1/Mon Nov 17 19:06:12 2003// +/opcodes.hh/1.1.1.1/Mon Nov 17 19:06:12 2003// +/semantic.cc/1.1.1.1/Mon Nov 17 19:06:12 2003// +/semantic.hh/1.1.1.1/Mon Nov 17 19:06:12 2003// +/symbol.cc/1.1.1.1/Mon Nov 17 19:06:12 2003// +/symbol.hh/1.1.1.1/Mon Nov 17 19:06:12 2003// +/t.bat/1.1.1.1/Mon Nov 17 19:06:12 2003// +/t.lnk/1.1.1.1/Mon Nov 17 19:06:12 2003// +/tavrasm.exe/1.1.1.1/Mon Nov 17 19:06:12 2003/-kb/ +/tsv4.asm/1.1.1.1/Mon Nov 17 19:06:12 2003// +/utils.cc/1.1.1.1/Mon Nov 17 19:06:12 2003// +/utils.hh/1.1.1.1/Mon Nov 17 19:06:12 2003// +D diff --git a/src/mkutil/tavrasm.118/src/CVS/Repository b/src/mkutil/tavrasm.118/src/CVS/Repository new file mode 100644 index 00000000..84936f04 --- /dev/null +++ b/src/mkutil/tavrasm.118/src/CVS/Repository @@ -0,0 +1 @@ +uzi/src/mkutil/tavrasm.118/src diff --git a/src/mkutil/tavrasm.118/src/CVS/Root b/src/mkutil/tavrasm.118/src/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/mkutil/tavrasm.118/src/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/mkutil/tavrasm.118/src/avrlex.cc b/src/mkutil/tavrasm.118/src/avrlex.cc index b4f3abc9..e2a9bcc7 100644 --- a/src/mkutil/tavrasm.118/src/avrlex.cc +++ b/src/mkutil/tavrasm.118/src/avrlex.cc @@ -2,7 +2,7 @@ /* A lexical scanner generated by flex */ /* Scanner skeleton version: - * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $ + * $Header: /home/cvsroot/uzi/src/mkutil/tavrasm.118/src/avrlex.cc,v 1.1.1.1 2003/11/17 19:06:12 nick Exp $ */ #define FLEX_SCANNER diff --git a/src/mkutil/tavrasm.118/src/avrparse.y b/src/mkutil/tavrasm.118/src/avrparse.y index 613377e9..489acc5d 100644 --- a/src/mkutil/tavrasm.118/src/avrparse.y +++ b/src/mkutil/tavrasm.118/src/avrparse.y @@ -1,543 +1,543 @@ -////////////////////////////////////////////////////////////////////////////// -// -// File : avrparse.y -// -// Author : Tom Mortensen - Copyright (C) 1999 -// -// Description : This module implements the grammar file for AVRASM -// -// History -// ======================================================================== -// -// 980902 : Tom - File created. -// 990124 : Tom - Added GPL notice. -// -//////////////////////////////////////////////////////// Tom did this //////// -// -// Copyright notice: -// -// tavrasm - A GNU/Linux assembler for the Atmel AVR series -// of microcontrollers. Copyright (C) 1999 Tom Mortensen -// -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// -// Tom Mortensen -// -// E-mail : tom@tavrasm.org -// WWW : http://www.tavrasm.org -// -////////////////////////////////////////////////////////////////////////////// - -%{ - -/// Include ////////////////////////////////////////////////////////////////// - -#include -#include -#include -#include "avrasm.hh" -#include "symbol.hh" -#include "semantic.hh" -#include "utils.hh" - -/// Extern /////////////////////////////////////////////////////////////////// - -GLOBALS(extern); -extern char *yytext; - -/// Prototypes /////////////////////////////////////////////////////////////// - -int yylex(); - -/// yyerror ////////////////////////////////////////////////////////////////// - -void yyerror(char *s) -{ - s = s; // Used for debugging purposes -} - -/// Start of grammar ///////////////////////////////////////////////////////// - -%} - -/// Attribute union ////////////////////////////////////////////////////////// - -%union -{ - regSA regid; - instSA inst; - opcodeSA opcode; - valueSA val; - nameSA name; - symbolSA symb; - indirectSA indi; - functionSA func; - stringSA string; -} - -/// Terminal symbols that synthesizes default value ////////////////////////// - -%token STAR DIV MOD -%token LS RS -%token LE GE LESS GREAT EQ NE -%token OR XOR AND -%token OROR ANDAND -%token LPAR RPAR -%token COLON COMMA DOT EQUAL PLUS MINUS WAVE NOT -%token EOL RESTART ENDOFFILE -%token DEF EQU DB DW ORG CSEG DSEG ESEG -%token BYTE SET DEVICE STRING MACRODEF - -/// Attributes for terminal symbols ////////////////////////////////////////// - -%token REGISTER -%token REGXYZ -%token SYMBOL -%token INTEGER -%token COUNTER -%token FUNCTION -%token IREGREG -%token IIMMIMM -%token IREGIMM -%token IIMMREG -%token IREG -%token IIMM -%token INOARGS -%token IINDIRC -%token ILPM -%token STRING - -/// Attributes for non-terminal symbols ////////////////////////////////////// - -%type instruction -%type lpminst -%type expr -%type indirectaddr -%type registername -%type unary_expr -%type primary_expr -%type mult_expr -%type additive_expr -%type shift_expr -%type relational_expr -%type equality_expr -%type AND_expression -%type exclusive_OR -%type inclusive_OR -%type logical_AND -%type logical_OR -%type composite_expr - -/// Expect 4 shift/reduce conflicts ////////////////////////////////////////// - -%expect 4 - -/// The goal symbol ////////////////////////////////////////////////////////// - -%start program - -%% // Start of grammar /////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////// - // - // program : programlist RESTART programlist - // - // e : - // - //////////////////////////////////////////////////////////////////////////// - // - // We start by defining the goal symbol 'program'. There is only one - // production that can reduce the input to 'program': - // - // - 'programlist' RESTART 'programlist' - // - // with one 'programlist' for each pass. - // - // The symbol 'e' (or epsilon) is also defined. It should be considered - // a terminal symbol, and is only used to increase readability. - // - //////////////////////////////////////////////////////////////////////////// - -program : programlist RESTART programlist - ; - -e : - ; - - //////////////////////////////////////////////////////////////////////////// - // - // programlist := programlist programelement | programelement - // - //////////////////////////////////////////////////////////////////////////// - // - // 'programlist' is a left recursive list production, that parses one or - // more 'programelement's. - // - //////////////////////////////////////////////////////////////////////////// - -programlist : programlist programelement - | programelement - ; - - //////////////////////////////////////////////////////////////////////////// - // - // programelement := label instruction | label EOL | label directive | EOL - // - //////////////////////////////////////////////////////////////////////////// - // - // All instructions / defines are limited to a single line - // - //////////////////////////////////////////////////////////////////////////// - -programelement : label instruction { tolog(); } - | label EOL { tolog(); } - | label directive { tolog(); } - | EOL { tolog(); } - - /// Error recovery ////////////////////////////////////////// - - | error EOL { error(E_UNKNOWN_OPCODE); tolog(); } - ; - - //////////////////////////////////////////////////////////////////////////// - // - // instruction := IREGREG registername COMMA registername EOL - // | IREGIMM registername COMMA expr EOL - // | IIMMREG expr COMMA registername EOL - // | IIMMIMM expr COMMA expr EOL - // | IIMM expr EOL - // | IREG registername EOL - // | INOARGS EOL - // | IINDIRC registername COMMA indirectaddr EOL - // | IINDIRC indirectaddr COMMA registername EOL - // - //////////////////////////////////////////////////////////////////////////// - // - // There are nine different forms of 'instruction' : - // - // MOV r1, r1 ; Register / Register - // MOV r1, 0x10 ; Register / expr - // OUT 0x10, r1 ; expr / Register - // BRBS 6, bitfound ; expr / expr - // JMP 0x1000 ; expr - // CLR r29 ; Register - // CLI ; Noargs - // LD r2, -Y ; Indirect - // ST Y+, r2 ; Indirect - // - // Notice: LPM/ELPM are special, since they can be specified with or - // without arguments (arrgh). - // - //////////////////////////////////////////////////////////////////////////// - -instruction : IREGREG registername COMMA registername EOL - {genRegReg($1, $2, $4);} - | IREGIMM registername COMMA expr EOL - {genRegImm($1, $2, &$4);} - | IIMMREG expr COMMA registername EOL - {genImmReg($1, &$2, $4);} - | IIMMIMM expr COMMA expr EOL - {genImmImm($1, &$2, &$4);} - | IIMM expr EOL - {genImmedi($1, &$2);} - | IREG registername EOL - {genRegist($1, $2);} - | INOARGS EOL - {genNoargs($1);} - | IINDIRC registername COMMA indirectaddr EOL - {genIndirc($1, &$4, $2,TRUE);} - | IINDIRC indirectaddr COMMA registername EOL - {genIndirc($1, &$2, $4);} - - | lpminst - - /// Error recovery ////////////////////////////////////////// - - | IREGREG error EOL { error(E_REGISTER_EXPECTED); } - | IREGIMM error EOL { error(E_INVALID_REGIMM_SPEC); } - | IIMMREG error EOL { error(E_INVALID_REGIMM_SPEC); } - | IIMMIMM error EOL { error(E_INVALID_IMMEDIATE_SPEC); } - | IIMM error EOL { error(E_INVALID_IMMEDIATE_SPEC); } - | IREG error EOL { error(E_INVALID_REGISTER_SPEC); } - | INOARGS error EOL { error(E_NOARGS_EXPECTED_SPEC); } - | IINDIRC error EOL { error(E_INVALID_REGISTER_SPEC); } - ; - - //////////////////////////////////////////////////////////////////////////// - // - // lpminst := ILPM EOL | ILPM registername COMMA indirectaddr - // - //////////////////////////////////////////////////////////////////////////// - // - // Handles LPM and ELPM instructions - // - //////////////////////////////////////////////////////////////////////////// - -lpminst : ILPM EOL - { genLpm($1, 0, NULL, FALSE); } - | ILPM registername COMMA indirectaddr EOL - { genLpm($1, $2, &$4, TRUE); } - - /// Error recovery ////////////////////////////////////////// - - | ILPM error EOL { error(E_INVALID_REGISTER_SPEC); } - ; - - //////////////////////////////////////////////////////////////////////////// - // - // registername := REGISTER | SYMBOL - // - //////////////////////////////////////////////////////////////////////////// - // - // Handle registers: r0 - r31 - // - //////////////////////////////////////////////////////////////////////////// - -registername : REGISTER - | SYMBOL - { if($1->isdefine) - $$=$1->reg; - else - { - $$=-1; - errorin(E_INVALID_REGISTER_SPEC); - } - } - ; - - //////////////////////////////////////////////////////////////////////////// - // - // lable := SYMBOL COLON - // | e - // - //////////////////////////////////////////////////////////////////////////// - // - // SYMBOL COLON = Create new label - // - //////////////////////////////////////////////////////////////////////////// - -label : SYMBOL COLON { doLab($1); } - | e - ; - - //////////////////////////////////////////////////////////////////////////// - // - // directive := DEF SYMBOL EQUAL REGISTER EOL - // | DEF SYMBOL EQUAL SYMBOL EOL - // | EQU SYMBOL EQUAL expr EOL - // | DB {doAdb();} byteexprlist EOL - // | DW {doAdw();} wordexprlist EOL - // | ORG expr EOL - // | CSEG EOL - // | DSEG EOL - // | ESEG EOL - // | BYTE expr EOL - // | SET SYMBOL EQUAL expr EOL - // | MACRODEF - // | DEVICE SYMBOL EOL - // - //////////////////////////////////////////////////////////////////////////// - // - // 'directive' insert assembler directives - // - //////////////////////////////////////////////////////////////////////////// - -directive : DEF SYMBOL EQUAL REGISTER EOL {doDef($2,$4);} - | DEF SYMBOL EQUAL SYMBOL EOL {doDef($2,$4); } - | EQU SYMBOL EQUAL expr EOL {doEqu($2,&$4); } - | DB {doAdb();} byteexprlist EOL {/*XXX*/ } - | DW {doAdw();} wordexprlist EOL { } - | ORG expr EOL {doOrg(&$2); } - | CSEG EOL { } - | DSEG EOL { } - | ESEG EOL { } - | BYTE expr EOL {doByt(&$2); } - | SET SYMBOL EQUAL expr EOL {doSet($2,&$4); } - | MACRODEF { } - | DEVICE SYMBOL EOL {doDev($2); } - - /// Error recovery ////////////////////////////////////////// - - | DEF error EOL { error(E_EXPECTED_ID_REG); } - | EQU error EOL { error(E_EXPECTED_ID_EXPR); } - | DB error EOL { error(E_EXPECTED_VALLIST); } - | DW error EOL { error(E_EXPECTED_VALLIST); } - | ORG error EOL { error(E_EXPECTED_VAL_LABEL); } - | CSEG error EOL { error(E_EXPECTED_NOARGS); } - | DSEG error EOL { error(E_EXPECTED_NOARGS); } - | ESEG error EOL { error(E_EXPECTED_NOARGS); } - | BYTE error EOL { error(E_EXPECTED_VAL_LABEL); } - | SET error EOL { error(E_EXPECTED_ID_EXPR); } - | DEVICE error EOL { error(E_EXPECTED_DEVICE); } - ; - - //////////////////////////////////////////////////////////////////////////// - // - // indirectaddr := MINUS REGXYZ - // | REGXYZ - // | REGXYZ PLUS - // | REGXYZ PLUS expr - // - //////////////////////////////////////////////////////////////////////////// - // - // There are 4 different forms of indirect addressing: - // - // "-Z", "Z", "Z+" and "Z+offset" - // - //////////////////////////////////////////////////////////////////////////// - -indirectaddr : MINUS REGXYZ - {$$.regno=$2;$$.plus=2;$$.disp=0;} - | REGXYZ - {$$.regno=$1;$$.plus=0;$$.disp=0;} - | REGXYZ PLUS - {$$.regno=$1;$$.plus=1;$$.disp=0;} - | REGXYZ PLUS expr - { $$.regno = $1; - $$.plus=1;$$.disp=1;$$.offset=$3;} - ; - - //////////////////////////////////////////////////////////////////////////// - // - // byteexprlist := byteexprlist COMMA expr - // | expr - // - // wordexprlist := wordexprlist COMMA expr - // | expr - // - //////////////////////////////////////////////////////////////////////////// - // - // List of bytes and words for .db and .dw respectively - // - //////////////////////////////////////////////////////////////////////////// - -byteexprlist : byteexprlist COMMA byteelement - | byteelement - ; - -byteelement : STRING {doAdb($1); } - | expr {doAdb(&$1);} - ; - -wordexprlist : wordexprlist COMMA expr {doAdw(&$3);} - | expr {doAdw(&$1);} - ; - - //////////////////////////////////////////////////////////////////////////// - // - // expr := ... - // - //////////////////////////////////////////////////////////////////////////// - // - // Constant expressions with 'C' precedence - // - //////////////////////////////////////////////////////////////////////////// - -expr : composite_expr - ; - -primary_expr : INTEGER - | COUNTER - | SYMBOL - {$$.valid=$1->valid; - $$.value=$1->value - +$1->islabel*$1->macrolabel* - (yyoffset *($1->segment==SEGMENT_CODE)) - +$1->islabel*$1->macrolabel* - (yydataoffset*($1->segment==SEGMENT_DATA)) - +$1->islabel*$1->macrolabel* - (yyeromoffset*($1->segment==SEGMENT_EEPROM));} - | LPAR expr RPAR - { $$=$2; } - | FUNCTION LPAR expr RPAR - { genFun($1, &$3, &$$); } - ; - -unary_expr : MINUS unary_expr { oprUna(OP_MINUS, &$2, &$$); } - | WAVE unary_expr { oprUna(OP_WAVE , &$2, &$$); } - | NOT unary_expr { oprUna(OP_NOT , &$2, &$$); } - | primary_expr - ; - -mult_expr : unary_expr - | mult_expr STAR unary_expr - { oprBin(&$1,OP_STAR , &$3, &$$); } - | mult_expr DIV unary_expr - { oprBin(&$1,OP_DIV , &$3, &$$); } - | mult_expr MOD unary_expr - { oprBin(&$1,OP_MOD , &$3, &$$); } - ; - -additive_expr : mult_expr - | additive_expr PLUS mult_expr - { oprBin(&$1,OP_PLUS , &$3, &$$); } - | additive_expr MINUS mult_expr - { oprBin(&$1,OP_MINUS , &$3, &$$); } - ; - -shift_expr : additive_expr - | shift_expr LS additive_expr - { oprBin(&$1,OP_LS , &$3, &$$); } - | shift_expr RS additive_expr - { oprBin(&$1,OP_RS , &$3, &$$); } - ; - -relational_expr : shift_expr - | relational_expr LESS shift_expr - { oprBin(&$1,OP_LESS , &$3, &$$); } - | relational_expr GREAT shift_expr - { oprBin(&$1,OP_GREAT , &$3, &$$); } - | relational_expr LE shift_expr - { oprBin(&$1,OP_LE , &$3, &$$); } - | relational_expr GE shift_expr - { oprBin(&$1,OP_GE , &$3, &$$); } - ; - -equality_expr : relational_expr - | equality_expr EQ relational_expr - { oprBin(&$1,OP_EQ , &$3, &$$); } - | equality_expr NE relational_expr - { oprBin(&$1,OP_NE , &$3, &$$); } - ; - -AND_expression : equality_expr - | AND_expression AND equality_expr - { oprBin(&$1,OP_AND , &$3, &$$); } - ; - -exclusive_OR : AND_expression - | exclusive_OR XOR AND_expression - { oprBin(&$1,OP_XOR , &$3, &$$); } - ; - -inclusive_OR : exclusive_OR - | inclusive_OR OR exclusive_OR - { oprBin(&$1,OP_OR , &$3, &$$); } - ; - -logical_AND : inclusive_OR - | logical_AND ANDAND inclusive_OR - { oprBin(&$1,OP_ANDAND, &$3, &$$); } - ; - -logical_OR : logical_AND - | logical_OR OROR logical_AND - { oprBin(&$1,OP_OROR , &$3, &$$); } - ; - -composite_expr : logical_OR - ; - -/// END OF FILE ////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////// +// +// File : avrparse.y +// +// Author : Tom Mortensen - Copyright (C) 1999 +// +// Description : This module implements the grammar file for AVRASM +// +// History +// ======================================================================== +// +// 980902 : Tom - File created. +// 990124 : Tom - Added GPL notice. +// +//////////////////////////////////////////////////////// Tom did this //////// +// +// Copyright notice: +// +// tavrasm - A GNU/Linux assembler for the Atmel AVR series +// of microcontrollers. Copyright (C) 1999 Tom Mortensen +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// +// Tom Mortensen +// +// E-mail : tom@tavrasm.org +// WWW : http://www.tavrasm.org +// +////////////////////////////////////////////////////////////////////////////// + +%{ + +/// Include ////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include "avrasm.hh" +#include "symbol.hh" +#include "semantic.hh" +#include "utils.hh" + +/// Extern /////////////////////////////////////////////////////////////////// + +GLOBALS(extern); +extern char *yytext; + +/// Prototypes /////////////////////////////////////////////////////////////// + +int yylex(); + +/// yyerror ////////////////////////////////////////////////////////////////// + +void yyerror(char *s) +{ + s = s; // Used for debugging purposes +} + +/// Start of grammar ///////////////////////////////////////////////////////// + +%} + +/// Attribute union ////////////////////////////////////////////////////////// + +%union +{ + regSA regid; + instSA inst; + opcodeSA opcode; + valueSA val; + nameSA name; + symbolSA symb; + indirectSA indi; + functionSA func; + stringSA string; +} + +/// Terminal symbols that synthesizes default value ////////////////////////// + +%token STAR DIV MOD +%token LS RS +%token LE GE LESS GREAT EQ NE +%token OR XOR AND +%token OROR ANDAND +%token LPAR RPAR +%token COLON COMMA DOT EQUAL PLUS MINUS WAVE NOT +%token EOL RESTART ENDOFFILE +%token DEF EQU DB DW ORG CSEG DSEG ESEG +%token BYTE SET DEVICE STRING MACRODEF + +/// Attributes for terminal symbols ////////////////////////////////////////// + +%token REGISTER +%token REGXYZ +%token SYMBOL +%token INTEGER +%token COUNTER +%token FUNCTION +%token IREGREG +%token IIMMIMM +%token IREGIMM +%token IIMMREG +%token IREG +%token IIMM +%token INOARGS +%token IINDIRC +%token ILPM +%token STRING + +/// Attributes for non-terminal symbols ////////////////////////////////////// + +%type instruction +%type lpminst +%type expr +%type indirectaddr +%type registername +%type unary_expr +%type primary_expr +%type mult_expr +%type additive_expr +%type shift_expr +%type relational_expr +%type equality_expr +%type AND_expression +%type exclusive_OR +%type inclusive_OR +%type logical_AND +%type logical_OR +%type composite_expr + +/// Expect 4 shift/reduce conflicts ////////////////////////////////////////// + +%expect 4 + +/// The goal symbol ////////////////////////////////////////////////////////// + +%start program + +%% // Start of grammar /////////////////////////////////////////////////////// + + //////////////////////////////////////////////////////////////////////////// + // + // program : programlist RESTART programlist + // + // e : + // + //////////////////////////////////////////////////////////////////////////// + // + // We start by defining the goal symbol 'program'. There is only one + // production that can reduce the input to 'program': + // + // - 'programlist' RESTART 'programlist' + // + // with one 'programlist' for each pass. + // + // The symbol 'e' (or epsilon) is also defined. It should be considered + // a terminal symbol, and is only used to increase readability. + // + //////////////////////////////////////////////////////////////////////////// + +program : programlist RESTART programlist + ; + +e : + ; + + //////////////////////////////////////////////////////////////////////////// + // + // programlist := programlist programelement | programelement + // + //////////////////////////////////////////////////////////////////////////// + // + // 'programlist' is a left recursive list production, that parses one or + // more 'programelement's. + // + //////////////////////////////////////////////////////////////////////////// + +programlist : programlist programelement + | programelement + ; + + //////////////////////////////////////////////////////////////////////////// + // + // programelement := label instruction | label EOL | label directive | EOL + // + //////////////////////////////////////////////////////////////////////////// + // + // All instructions / defines are limited to a single line + // + //////////////////////////////////////////////////////////////////////////// + +programelement : label instruction { tolog(); } + | label EOL { tolog(); } + | label directive { tolog(); } + | EOL { tolog(); } + + /// Error recovery ////////////////////////////////////////// + + | error EOL { error(E_UNKNOWN_OPCODE); tolog(); } + ; + + //////////////////////////////////////////////////////////////////////////// + // + // instruction := IREGREG registername COMMA registername EOL + // | IREGIMM registername COMMA expr EOL + // | IIMMREG expr COMMA registername EOL + // | IIMMIMM expr COMMA expr EOL + // | IIMM expr EOL + // | IREG registername EOL + // | INOARGS EOL + // | IINDIRC registername COMMA indirectaddr EOL + // | IINDIRC indirectaddr COMMA registername EOL + // + //////////////////////////////////////////////////////////////////////////// + // + // There are nine different forms of 'instruction' : + // + // MOV r1, r1 ; Register / Register + // MOV r1, 0x10 ; Register / expr + // OUT 0x10, r1 ; expr / Register + // BRBS 6, bitfound ; expr / expr + // JMP 0x1000 ; expr + // CLR r29 ; Register + // CLI ; Noargs + // LD r2, -Y ; Indirect + // ST Y+, r2 ; Indirect + // + // Notice: LPM/ELPM are special, since they can be specified with or + // without arguments (arrgh). + // + //////////////////////////////////////////////////////////////////////////// + +instruction : IREGREG registername COMMA registername EOL + {genRegReg($1, $2, $4);} + | IREGIMM registername COMMA expr EOL + {genRegImm($1, $2, &$4);} + | IIMMREG expr COMMA registername EOL + {genImmReg($1, &$2, $4);} + | IIMMIMM expr COMMA expr EOL + {genImmImm($1, &$2, &$4);} + | IIMM expr EOL + {genImmedi($1, &$2);} + | IREG registername EOL + {genRegist($1, $2);} + | INOARGS EOL + {genNoargs($1);} + | IINDIRC registername COMMA indirectaddr EOL + {genIndirc($1, &$4, $2,TRUE);} + | IINDIRC indirectaddr COMMA registername EOL + {genIndirc($1, &$2, $4);} + + | lpminst + + /// Error recovery ////////////////////////////////////////// + + | IREGREG error EOL { error(E_REGISTER_EXPECTED); } + | IREGIMM error EOL { error(E_INVALID_REGIMM_SPEC); } + | IIMMREG error EOL { error(E_INVALID_REGIMM_SPEC); } + | IIMMIMM error EOL { error(E_INVALID_IMMEDIATE_SPEC); } + | IIMM error EOL { error(E_INVALID_IMMEDIATE_SPEC); } + | IREG error EOL { error(E_INVALID_REGISTER_SPEC); } + | INOARGS error EOL { error(E_NOARGS_EXPECTED_SPEC); } + | IINDIRC error EOL { error(E_INVALID_REGISTER_SPEC); } + ; + + //////////////////////////////////////////////////////////////////////////// + // + // lpminst := ILPM EOL | ILPM registername COMMA indirectaddr + // + //////////////////////////////////////////////////////////////////////////// + // + // Handles LPM and ELPM instructions + // + //////////////////////////////////////////////////////////////////////////// + +lpminst : ILPM EOL + { genLpm($1, 0, NULL, FALSE); } + | ILPM registername COMMA indirectaddr EOL + { genLpm($1, $2, &$4, TRUE); } + + /// Error recovery ////////////////////////////////////////// + + | ILPM error EOL { error(E_INVALID_REGISTER_SPEC); } + ; + + //////////////////////////////////////////////////////////////////////////// + // + // registername := REGISTER | SYMBOL + // + //////////////////////////////////////////////////////////////////////////// + // + // Handle registers: r0 - r31 + // + //////////////////////////////////////////////////////////////////////////// + +registername : REGISTER + | SYMBOL + { if($1->isdefine) + $$=$1->reg; + else + { + $$=-1; + errorin(E_INVALID_REGISTER_SPEC); + } + } + ; + + //////////////////////////////////////////////////////////////////////////// + // + // lable := SYMBOL COLON + // | e + // + //////////////////////////////////////////////////////////////////////////// + // + // SYMBOL COLON = Create new label + // + //////////////////////////////////////////////////////////////////////////// + +label : SYMBOL COLON { doLab($1); } + | e + ; + + //////////////////////////////////////////////////////////////////////////// + // + // directive := DEF SYMBOL EQUAL REGISTER EOL + // | DEF SYMBOL EQUAL SYMBOL EOL + // | EQU SYMBOL EQUAL expr EOL + // | DB {doAdb();} byteexprlist EOL + // | DW {doAdw();} wordexprlist EOL + // | ORG expr EOL + // | CSEG EOL + // | DSEG EOL + // | ESEG EOL + // | BYTE expr EOL + // | SET SYMBOL EQUAL expr EOL + // | MACRODEF + // | DEVICE SYMBOL EOL + // + //////////////////////////////////////////////////////////////////////////// + // + // 'directive' insert assembler directives + // + //////////////////////////////////////////////////////////////////////////// + +directive : DEF SYMBOL EQUAL REGISTER EOL {doDef($2,$4);} + | DEF SYMBOL EQUAL SYMBOL EOL {doDef($2,$4); } + | EQU SYMBOL EQUAL expr EOL {doEqu($2,&$4); } + | DB {doAdb();} byteexprlist EOL {/*XXX*/ } + | DW {doAdw();} wordexprlist EOL { } + | ORG expr EOL {doOrg(&$2); } + | CSEG EOL { } + | DSEG EOL { } + | ESEG EOL { } + | BYTE expr EOL {doByt(&$2); } + | SET SYMBOL EQUAL expr EOL {doSet($2,&$4); } + | MACRODEF { } + | DEVICE SYMBOL EOL {doDev($2); } + + /// Error recovery ////////////////////////////////////////// + + | DEF error EOL { error(E_EXPECTED_ID_REG); } + | EQU error EOL { error(E_EXPECTED_ID_EXPR); } + | DB error EOL { error(E_EXPECTED_VALLIST); } + | DW error EOL { error(E_EXPECTED_VALLIST); } + | ORG error EOL { error(E_EXPECTED_VAL_LABEL); } + | CSEG error EOL { error(E_EXPECTED_NOARGS); } + | DSEG error EOL { error(E_EXPECTED_NOARGS); } + | ESEG error EOL { error(E_EXPECTED_NOARGS); } + | BYTE error EOL { error(E_EXPECTED_VAL_LABEL); } + | SET error EOL { error(E_EXPECTED_ID_EXPR); } + | DEVICE error EOL { error(E_EXPECTED_DEVICE); } + ; + + //////////////////////////////////////////////////////////////////////////// + // + // indirectaddr := MINUS REGXYZ + // | REGXYZ + // | REGXYZ PLUS + // | REGXYZ PLUS expr + // + //////////////////////////////////////////////////////////////////////////// + // + // There are 4 different forms of indirect addressing: + // + // "-Z", "Z", "Z+" and "Z+offset" + // + //////////////////////////////////////////////////////////////////////////// + +indirectaddr : MINUS REGXYZ + {$$.regno=$2;$$.plus=2;$$.disp=0;} + | REGXYZ + {$$.regno=$1;$$.plus=0;$$.disp=0;} + | REGXYZ PLUS + {$$.regno=$1;$$.plus=1;$$.disp=0;} + | REGXYZ PLUS expr + { $$.regno = $1; + $$.plus=1;$$.disp=1;$$.offset=$3;} + ; + + //////////////////////////////////////////////////////////////////////////// + // + // byteexprlist := byteexprlist COMMA expr + // | expr + // + // wordexprlist := wordexprlist COMMA expr + // | expr + // + //////////////////////////////////////////////////////////////////////////// + // + // List of bytes and words for .db and .dw respectively + // + //////////////////////////////////////////////////////////////////////////// + +byteexprlist : byteexprlist COMMA byteelement + | byteelement + ; + +byteelement : STRING {doAdb($1); } + | expr {doAdb(&$1);} + ; + +wordexprlist : wordexprlist COMMA expr {doAdw(&$3);} + | expr {doAdw(&$1);} + ; + + //////////////////////////////////////////////////////////////////////////// + // + // expr := ... + // + //////////////////////////////////////////////////////////////////////////// + // + // Constant expressions with 'C' precedence + // + //////////////////////////////////////////////////////////////////////////// + +expr : composite_expr + ; + +primary_expr : INTEGER + | COUNTER + | SYMBOL + {$$.valid=$1->valid; + $$.value=$1->value + +$1->islabel*$1->macrolabel* + (yyoffset *($1->segment==SEGMENT_CODE)) + +$1->islabel*$1->macrolabel* + (yydataoffset*($1->segment==SEGMENT_DATA)) + +$1->islabel*$1->macrolabel* + (yyeromoffset*($1->segment==SEGMENT_EEPROM));} + | LPAR expr RPAR + { $$=$2; } + | FUNCTION LPAR expr RPAR + { genFun($1, &$3, &$$); } + ; + +unary_expr : MINUS unary_expr { oprUna(OP_MINUS, &$2, &$$); } + | WAVE unary_expr { oprUna(OP_WAVE , &$2, &$$); } + | NOT unary_expr { oprUna(OP_NOT , &$2, &$$); } + | primary_expr + ; + +mult_expr : unary_expr + | mult_expr STAR unary_expr + { oprBin(&$1,OP_STAR , &$3, &$$); } + | mult_expr DIV unary_expr + { oprBin(&$1,OP_DIV , &$3, &$$); } + | mult_expr MOD unary_expr + { oprBin(&$1,OP_MOD , &$3, &$$); } + ; + +additive_expr : mult_expr + | additive_expr PLUS mult_expr + { oprBin(&$1,OP_PLUS , &$3, &$$); } + | additive_expr MINUS mult_expr + { oprBin(&$1,OP_MINUS , &$3, &$$); } + ; + +shift_expr : additive_expr + | shift_expr LS additive_expr + { oprBin(&$1,OP_LS , &$3, &$$); } + | shift_expr RS additive_expr + { oprBin(&$1,OP_RS , &$3, &$$); } + ; + +relational_expr : shift_expr + | relational_expr LESS shift_expr + { oprBin(&$1,OP_LESS , &$3, &$$); } + | relational_expr GREAT shift_expr + { oprBin(&$1,OP_GREAT , &$3, &$$); } + | relational_expr LE shift_expr + { oprBin(&$1,OP_LE , &$3, &$$); } + | relational_expr GE shift_expr + { oprBin(&$1,OP_GE , &$3, &$$); } + ; + +equality_expr : relational_expr + | equality_expr EQ relational_expr + { oprBin(&$1,OP_EQ , &$3, &$$); } + | equality_expr NE relational_expr + { oprBin(&$1,OP_NE , &$3, &$$); } + ; + +AND_expression : equality_expr + | AND_expression AND equality_expr + { oprBin(&$1,OP_AND , &$3, &$$); } + ; + +exclusive_OR : AND_expression + | exclusive_OR XOR AND_expression + { oprBin(&$1,OP_XOR , &$3, &$$); } + ; + +inclusive_OR : exclusive_OR + | inclusive_OR OR exclusive_OR + { oprBin(&$1,OP_OR , &$3, &$$); } + ; + +logical_AND : inclusive_OR + | logical_AND ANDAND inclusive_OR + { oprBin(&$1,OP_ANDAND, &$3, &$$); } + ; + +logical_OR : logical_AND + | logical_OR OROR logical_AND + { oprBin(&$1,OP_OROR , &$3, &$$); } + ; + +composite_expr : logical_OR + ; + +/// END OF FILE ////////////////////////////////////////////////////////////// diff --git a/src/mkutil/tavrasm.118/src/makefile b/src/mkutil/tavrasm.118/src/makefile index c61830cd..f4539e62 100644 --- a/src/mkutil/tavrasm.118/src/makefile +++ b/src/mkutil/tavrasm.118/src/makefile @@ -1,117 +1,117 @@ -############################################################################# -# -# Title : TAVRASM Makefile -# -# Author : Tom Mortensen - (C) 1998 -# -# Create : 980902 -# -# Notice : Select compiler as appropriate (egcs or gcc) -# -# rm/mv : Versions of rm (remove/delete) and mv (move) that supports -# "Unix" style parameters must be available. -# -############################################################################# - -### Program name ############################################################ - -EXENAME = tavrasm - -### Language : US, DE ####################################################### - -LANGUAGE = US -VERSION = 117 - -### Compiler options ######################################################### - -CC = gcc -CFLAGS = -O2 -Wall -DAVRLANG=LANGUAGE_$(LANGUAGE) -CPPFLAGS = -CCFLAGS = $(CFLAGS) $(CPPFLAGS) -LINK = -lm -lstdc++ -OBJS = avrparse.o avrlex.o avrasm.o symbol.o semantic.o utils.o - -### Defaul CC files ######################################################### - -.cc.o: - $(CC) -c $(CCFLAGS) $< - -### Executable ############################################################## - -$(EXENAME): $(OBJS) - $(CC) $(CCFLAGS) $(OBJS) $(LINK) -o $@ - -### Parser file ############################################################# - -avrparse.cc: avrparse.y avrasm.hh symbol.hh semantic.hh opcodes.hh - bison -d -o avrparse avrparse.y - mv avrparse avrparse.cc - mv avrparse.h avrparse.hh - -### Scanner file ############################################################ - -avrlex.cc: avrparse.cc avrlex.l symbol.hh semantic.hh avrparse.hh \ - opcodes.hh avrasm.hh messages.hh - flex -o$@ avrlex.l - -### Dependencies ############################################################ - -avrlex.o: avrlex.l -avrparse.o: avrparse.y -avrasm.o: avrasm.cc avrasm.hh symbol.hh devices.hh messages.hh -symbol.o: symbol.cc symbol.hh avrasm.hh -utils.o: utils.cc utils.hh avrasm.hh messages.hh msg_us.hh msg_de.hh msg_sp.hh -semantic.o: semantic.cc semantic.hh symbol.hh opcodes.hh avrasm.hh \ - messages.hh - -### Clean ################################################################### - -clean: - rm -rf *.o - rm -rf *.O - rm -rf avrparse.cc - rm -rf avrparse.hh - rm -rf avrlex.cc - rm -rf core *~ - rm -rf *.output - rm -rf $(EXENAME) - rm -rf $(EXENAME).EXE - rm -rf *.obj - rm -rf *.out - -### Distribution ############################################################ - -dist: - rm -rf tavrasm$(VERSION) - mkdir tavrasm$(VERSION) - mkdir tavrasm$(VERSION)/src - cp *.cc tavrasm$(VERSION)/src/. - cp *.hh tavrasm$(VERSION)/src/. - cp *.l tavrasm$(VERSION)/src/. - cp *.y tavrasm$(VERSION)/src/. - cp makefile tavrasm$(VERSION)/src/. - cp gpl.txt tavrasm$(VERSION)/. - cp README tavrasm$(VERSION)/. - -dist2: clean dist $(EXENAME) - cp $(EXENAME) tavrasm$(VERSION)/. - tar cvfz tavrasm.tar.gz tavrasm$(VERSION) - -distribution: dist2 - rm -rf *.o - rm -rf avrparse.cc - rm -rf avrparse.hh - rm -rf avrlex.cc - rm -rf core *~ - rm -rf *.output - rm -rf $(EXENAME) - rm -rf $(EXENAME).EXE - rm -rf *.obj - rm -rf *.out - rm -rf tavrasm$(VERSION) - -### END OF FILE ############################################################# - - - - +############################################################################# +# +# Title : TAVRASM Makefile +# +# Author : Tom Mortensen - (C) 1998 +# +# Create : 980902 +# +# Notice : Select compiler as appropriate (egcs or gcc) +# +# rm/mv : Versions of rm (remove/delete) and mv (move) that supports +# "Unix" style parameters must be available. +# +############################################################################# + +### Program name ############################################################ + +EXENAME = tavrasm + +### Language : US, DE ####################################################### + +LANGUAGE = US +VERSION = 117 + +### Compiler options ######################################################### + +CC = gcc +CFLAGS = -O2 -Wall -DAVRLANG=LANGUAGE_$(LANGUAGE) +CPPFLAGS = +CCFLAGS = $(CFLAGS) $(CPPFLAGS) +LINK = -lm -lstdc++ +OBJS = avrparse.o avrlex.o avrasm.o symbol.o semantic.o utils.o + +### Defaul CC files ######################################################### + +.cc.o: + $(CC) -c $(CCFLAGS) $< + +### Executable ############################################################## + +$(EXENAME): $(OBJS) + $(CC) $(CCFLAGS) $(OBJS) $(LINK) -o $@ + +### Parser file ############################################################# + +avrparse.cc: avrparse.y avrasm.hh symbol.hh semantic.hh opcodes.hh + bison -d -o avrparse avrparse.y + mv avrparse avrparse.cc + mv avrparse.h avrparse.hh + +### Scanner file ############################################################ + +avrlex.cc: avrparse.cc avrlex.l symbol.hh semantic.hh avrparse.hh \ + opcodes.hh avrasm.hh messages.hh + flex -o$@ avrlex.l + +### Dependencies ############################################################ + +avrlex.o: avrlex.l +avrparse.o: avrparse.y +avrasm.o: avrasm.cc avrasm.hh symbol.hh devices.hh messages.hh +symbol.o: symbol.cc symbol.hh avrasm.hh +utils.o: utils.cc utils.hh avrasm.hh messages.hh msg_us.hh msg_de.hh msg_sp.hh +semantic.o: semantic.cc semantic.hh symbol.hh opcodes.hh avrasm.hh \ + messages.hh + +### Clean ################################################################### + +clean: + rm -rf *.o + rm -rf *.O + rm -rf avrparse.cc + rm -rf avrparse.hh + rm -rf avrlex.cc + rm -rf core *~ + rm -rf *.output + rm -rf $(EXENAME) + rm -rf $(EXENAME).EXE + rm -rf *.obj + rm -rf *.out + +### Distribution ############################################################ + +dist: + rm -rf tavrasm$(VERSION) + mkdir tavrasm$(VERSION) + mkdir tavrasm$(VERSION)/src + cp *.cc tavrasm$(VERSION)/src/. + cp *.hh tavrasm$(VERSION)/src/. + cp *.l tavrasm$(VERSION)/src/. + cp *.y tavrasm$(VERSION)/src/. + cp makefile tavrasm$(VERSION)/src/. + cp gpl.txt tavrasm$(VERSION)/. + cp README tavrasm$(VERSION)/. + +dist2: clean dist $(EXENAME) + cp $(EXENAME) tavrasm$(VERSION)/. + tar cvfz tavrasm.tar.gz tavrasm$(VERSION) + +distribution: dist2 + rm -rf *.o + rm -rf avrparse.cc + rm -rf avrparse.hh + rm -rf avrlex.cc + rm -rf core *~ + rm -rf *.output + rm -rf $(EXENAME) + rm -rf $(EXENAME).EXE + rm -rf *.obj + rm -rf *.out + rm -rf tavrasm$(VERSION) + +### END OF FILE ############################################################# + + + + diff --git a/src/mkutil/tavrasm.118/src/msg_de.hh b/src/mkutil/tavrasm.118/src/msg_de.hh index 658431d9..e9c20d08 100644 --- a/src/mkutil/tavrasm.118/src/msg_de.hh +++ b/src/mkutil/tavrasm.118/src/msg_de.hh @@ -109,7 +109,7 @@ char messages[MESSAGE_COUNT][MESSAGES_LEN]= "Oktaler Escapewert außerhalb des Bereichs", "Illegale Character Konstante", "Flash Speichergröße um %i word(s) überschritten", - "Macro name too long", + "Macro name too long", /// Error messages ///////////////////////////////////////////////////////// diff --git a/src/mkutil/tlink.exe b/src/mkutil/tlink.exe new file mode 100644 index 0000000000000000000000000000000000000000..33eed060d6d85892509af993e04076f8754e1b04 GIT binary patch literal 53510 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 literal 0 HcmV?d00001 diff --git a/src/mkutil/touch.exe b/src/mkutil/touch.exe deleted file mode 100644 index 283fc3c364dce4937fd63627630968e0df96cfe4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73779 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 !!soBYO_!xMuhEz160i2+ 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 - 0003:000015c4 ___sbh_indGroupDefer 0040c5c4 - 0003:000015c8 ___sbh_pHeaderScan 0040c5c8 - 0003:000015cc ___sbh_pHeaderDefer 0040c5cc - 0003:000015d0 ___sbh_cntHeaderList 0040c5d0 - 0003:000015d4 ___sbh_pHeaderList 0040c5d4 - 0003:000015d8 ___mbcodepage 0040c5d8 - 0003:00001650 ___mbulinfo 0040c650 - 0003:0000165c ___ismbcodepage 0040c65c - 0003:00001660 __mbcasemap 0040c660 - 0003:00001760 __mbctype 0040c760 - 0003:00001864 ___mblcid 0040c864 - 0003:00001868 __crtheap 0040c868 - 0003:00001880 ___pioinfo 0040c880 - 0003:000019bc __nhandle 0040c9bc - 0003:000019c0 __acmdln 0040c9c0 - 0003:000019cc ___env_initialized 0040c9cc - 0003:000019dc ___mbctype_initialized 0040c9dc - 0003:000019e0 ___onexitend 0040c9e0 - 0003:000019e4 ___onexitbegin 0040c9e4 - 0003:000019e8 __FPinit 0040c9e8 - 0004:00000000 __IMPORT_DESCRIPTOR_KERNEL32 0040d000 kernel32:KERNEL32.dll - 0004:00000014 __NULL_IMPORT_DESCRIPTOR 0040d014 kernel32:KERNEL32.dll - 0004:00000174 __imp__HeapReAlloc@16 0040d174 kernel32:KERNEL32.dll - 0004:00000178 __imp__GetSystemTime@4 0040d178 kernel32:KERNEL32.dll - 0004:0000017c __imp__GetLocalTime@4 0040d17c kernel32:KERNEL32.dll - 0004:00000180 __imp__ExitProcess@4 0040d180 kernel32:KERNEL32.dll - 0004:00000184 __imp__TerminateProcess@8 0040d184 kernel32:KERNEL32.dll - 0004:00000188 __imp__GetCurrentProcess@0 0040d188 kernel32:KERNEL32.dll - 0004:0000018c __imp__GetCommandLineA@0 0040d18c kernel32:KERNEL32.dll - 0004:00000190 __imp__GetVersion@0 0040d190 kernel32:KERNEL32.dll - 0004:00000194 __imp__UnhandledExceptionFilter@4 0040d194 kernel32:KERNEL32.dll - 0004:00000198 __imp__GetModuleFileNameA@12 0040d198 kernel32:KERNEL32.dll - 0004:0000019c __imp__FreeEnvironmentStringsA@4 0040d19c kernel32:KERNEL32.dll - 0004:000001a0 __imp__FreeEnvironmentStringsW@4 0040d1a0 kernel32:KERNEL32.dll - 0004:000001a4 __imp__WideCharToMultiByte@32 0040d1a4 kernel32:KERNEL32.dll - 0004:000001a8 __imp__GetEnvironmentStrings@0 0040d1a8 kernel32:KERNEL32.dll - 0004:000001ac __imp__GetEnvironmentStringsW@0 0040d1ac kernel32:KERNEL32.dll - 0004:000001b0 __imp__SetHandleCount@4 0040d1b0 kernel32:KERNEL32.dll - 0004:000001b4 __imp__GetStdHandle@4 0040d1b4 kernel32:KERNEL32.dll - 0004:000001b8 __imp__GetFileType@4 0040d1b8 kernel32:KERNEL32.dll - 0004:000001bc __imp__GetStartupInfoA@4 0040d1bc kernel32:KERNEL32.dll - 0004:000001c0 __imp__HeapDestroy@4 0040d1c0 kernel32:KERNEL32.dll - 0004:000001c4 __imp__HeapCreate@12 0040d1c4 kernel32:KERNEL32.dll - 0004:000001c8 __imp__VirtualFree@12 0040d1c8 kernel32:KERNEL32.dll - 0004:000001cc __imp__HeapFree@12 0040d1cc kernel32:KERNEL32.dll - 0004:000001d0 __imp__RtlUnwind@16 0040d1d0 kernel32:KERNEL32.dll - 0004:000001d4 __imp__WriteFile@20 0040d1d4 kernel32:KERNEL32.dll - 0004:000001d8 __imp__HeapAlloc@12 0040d1d8 kernel32:KERNEL32.dll - 0004:000001dc __imp__GetCPInfo@8 0040d1dc kernel32:KERNEL32.dll - 0004:000001e0 __imp__GetACP@0 0040d1e0 kernel32:KERNEL32.dll - 0004:000001e4 __imp__GetOEMCP@0 0040d1e4 kernel32:KERNEL32.dll - 0004:000001e8 __imp__VirtualAlloc@16 0040d1e8 kernel32:KERNEL32.dll - 0004:000001ec __imp__GetTimeZoneInformation@4 0040d1ec kernel32:KERNEL32.dll - 0004:000001f0 __imp__IsBadWritePtr@8 0040d1f0 kernel32:KERNEL32.dll - 0004:000001f4 __imp__GetProcAddress@8 0040d1f4 kernel32:KERNEL32.dll - 0004:000001f8 __imp__LoadLibraryA@4 0040d1f8 kernel32:KERNEL32.dll - 0004:000001fc __imp__MultiByteToWideChar@24 0040d1fc kernel32:KERNEL32.dll - 0004:00000200 __imp__LCMapStringA@24 0040d200 kernel32:KERNEL32.dll - 0004:00000204 __imp__LCMapStringW@24 0040d204 kernel32:KERNEL32.dll - 0004:00000208 __imp__GetStringTypeA@20 0040d208 kernel32:KERNEL32.dll - 0004:0000020c __imp__GetStringTypeW@16 0040d20c kernel32:KERNEL32.dll - 0004:00000210 __imp__CompareStringA@24 0040d210 kernel32:KERNEL32.dll - 0004:00000214 __imp__CompareStringW@24 0040d214 kernel32:KERNEL32.dll - 0004:00000218 __imp__SetEnvironmentVariableA@8 0040d218 kernel32:KERNEL32.dll - 0004:0000021c __imp__GetLastError@0 0040d21c kernel32:KERNEL32.dll - 0004:00000220 __imp__SetFileTime@16 0040d220 kernel32:KERNEL32.dll - 0004:00000224 __imp__LocalFileTimeToFileTime@8 0040d224 kernel32:KERNEL32.dll - 0004:00000228 __imp__SystemTimeToFileTime@8 0040d228 kernel32:KERNEL32.dll - 0004:0000022c __imp__FindClose@4 0040d22c kernel32:KERNEL32.dll - 0004:00000230 __imp__FileTimeToSystemTime@8 0040d230 kernel32:KERNEL32.dll - 0004:00000234 __imp__FileTimeToLocalFileTime@8 0040d234 kernel32:KERNEL32.dll - 0004:00000238 __imp__GetDriveTypeA@4 0040d238 kernel32:KERNEL32.dll - 0004:0000023c __imp__FindFirstFileA@8 0040d23c kernel32:KERNEL32.dll - 0004:00000240 __imp__CloseHandle@4 0040d240 kernel32:KERNEL32.dll - 0004:00000244 __imp__CreateFileA@28 0040d244 kernel32:KERNEL32.dll - 0004:00000248 __imp__SetFilePointer@16 0040d248 kernel32:KERNEL32.dll - 0004:0000024c __imp__SetStdHandle@8 0040d24c kernel32:KERNEL32.dll - 0004:00000250 __imp__GetFullPathNameA@16 0040d250 kernel32:KERNEL32.dll - 0004:00000254 __imp__GetCurrentDirectoryA@8 0040d254 kernel32:KERNEL32.dll - 0004:00000258 __imp__SetCurrentDirectoryA@4 0040d258 kernel32:KERNEL32.dll - 0004:0000025c __imp__SetEndOfFile@4 0040d25c kernel32:KERNEL32.dll - 0004:00000260 __imp__ReadFile@20 0040d260 kernel32:KERNEL32.dll - 0004:00000264 \177KERNEL32_NULL_THUNK_DATA 0040d264 kernel32:KERNEL32.dll - - entry point at 0001:000005c7 - diff --git a/src/mkutil/touch.obj b/src/mkutil/touch.obj deleted file mode 100644 index 8d2e11aab37f1927aa48fc961232c0e34ae45ac0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3262 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 M^%e(ohx$wZ0%0Vp+W-In diff --git a/src/mkutil/tradcpp/cppdefault.obj b/src/mkutil/tradcpp/cppdefault.obj deleted file mode 100644 index 94549a960235a745a496819a06710d6a41859a1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8836 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 REq+6A;)7)J_|F!M{{neS?d|{o diff --git a/src/mkutil/tradcpp/defaults.h b/src/mkutil/tradcpp/defaults.h index c6f8a43d..5799fc21 100644 --- a/src/mkutil/tradcpp/defaults.h +++ b/src/mkutil/tradcpp/defaults.h @@ -1,471 +1,471 @@ -/* Definitions of various defaults for tm.h macros. - Copyright (C) 1992, 1996, 1997, 1998, 1999, 2000, 2001, 2002 - Free Software Foundation, Inc. - Contributed by Ron Guilmette (rfg@monkeys.com) - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING. If not, write to the Free -Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. */ - -#ifndef GCC_DEFAULTS_H -#define GCC_DEFAULTS_H - -/* Define default standard character escape sequences. */ -#ifndef TARGET_BELL -# define TARGET_BELL 007 -# define TARGET_BS 010 -# define TARGET_TAB 011 -# define TARGET_NEWLINE 012 -# define TARGET_VT 013 -# define TARGET_FF 014 -# define TARGET_CR 015 -# define TARGET_ESC 033 -#endif - -/* Store in OUTPUT a string (made with alloca) containing - an assembler-name for a local static variable or function named NAME. - LABELNO is an integer which is different for each call. */ - -#ifndef ASM_FORMAT_PRIVATE_NAME -#define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \ - do { \ - int len = strlen (NAME); \ - char *temp = (char *) alloca (len + 3); \ - temp[0] = 'L'; \ - strcpy (&temp[1], (NAME)); \ - temp[len + 1] = '.'; \ - temp[len + 2] = 0; \ - (OUTPUT) = (char *) alloca (strlen (NAME) + 11); \ - ASM_GENERATE_INTERNAL_LABEL (OUTPUT, temp, LABELNO); \ - } while (0) -#endif - -#ifndef ASM_STABD_OP -#define ASM_STABD_OP "\t.stabd\t" -#endif - -/* This is how to output an element of a case-vector that is absolute. - Some targets don't use this, but we have to define it anyway. */ - -#ifndef ASM_OUTPUT_ADDR_VEC_ELT -#define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) \ -do { fputs (integer_asm_op (POINTER_SIZE / UNITS_PER_WORD, TRUE), FILE); \ - ASM_OUTPUT_INTERNAL_LABEL (FILE, "L", (VALUE)); \ - fputc ('\n', FILE); \ - } while (0) -#endif - -/* Provide default for ASM_OUTPUT_ALTERNATE_LABEL_NAME. */ -#ifndef ASM_OUTPUT_ALTERNATE_LABEL_NAME -#define ASM_OUTPUT_ALTERNATE_LABEL_NAME(FILE,INSN) \ -do { ASM_OUTPUT_LABEL(FILE,LABEL_ALTERNATE_NAME (INSN)); } while (0) -#endif - -/* choose a reasonable default for ASM_OUTPUT_ASCII. */ - -#ifndef ASM_OUTPUT_ASCII -#define ASM_OUTPUT_ASCII(MYFILE, MYSTRING, MYLENGTH) \ - do { \ - FILE *_hide_asm_out_file = (MYFILE); \ - const unsigned char *_hide_p = (const unsigned char *) (MYSTRING); \ - int _hide_thissize = (MYLENGTH); \ - { \ - FILE *asm_out_file = _hide_asm_out_file; \ - const unsigned char *p = _hide_p; \ - int thissize = _hide_thissize; \ - int i; \ - fprintf (asm_out_file, "\t.ascii \""); \ - \ - for (i = 0; i < thissize; i++) \ - { \ - int c = p[i]; \ - if (c == '\"' || c == '\\') \ - putc ('\\', asm_out_file); \ - if (ISPRINT(c)) \ - putc (c, asm_out_file); \ - else \ - { \ - fprintf (asm_out_file, "\\%o", c); \ - /* After an octal-escape, if a digit follows, \ - terminate one string constant and start another. \ - The VAX assembler fails to stop reading the escape \ - after three digits, so this is the only way we \ - can get it to parse the data properly. */ \ - if (i < thissize - 1 && ISDIGIT(p[i + 1])) \ - fprintf (asm_out_file, "\"\n\t.ascii \""); \ - } \ - } \ - fprintf (asm_out_file, "\"\n"); \ - } \ - } \ - while (0) -#endif - -/* This is how we tell the assembler to equate two values. */ -#ifdef SET_ASM_OP -#ifndef ASM_OUTPUT_DEF -#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \ - do { fprintf ((FILE), "%s", SET_ASM_OP); \ - assemble_name (FILE, LABEL1); \ - fprintf (FILE, ","); \ - assemble_name (FILE, LABEL2); \ - fprintf (FILE, "\n"); \ - } while (0) -#endif -#endif - -/* This is how to output a reference to a user-level label named NAME. */ - -#ifndef ASM_OUTPUT_LABELREF -#define ASM_OUTPUT_LABELREF(FILE,NAME) asm_fprintf ((FILE), "%U%s", (NAME)) -#endif - -/* Allow target to print debug info labels specially. This is useful for - VLIW targets, since debug info labels should go into the middle of - instruction bundles instead of breaking them. */ - -#ifndef ASM_OUTPUT_DEBUG_LABEL -#define ASM_OUTPUT_DEBUG_LABEL(FILE, PREFIX, NUM) \ - ASM_OUTPUT_INTERNAL_LABEL (FILE, PREFIX, NUM) -#endif - -/* This is how we tell the assembler that a symbol is weak. */ -#ifndef ASM_OUTPUT_WEAK_ALIAS -#if defined (ASM_WEAKEN_LABEL) && defined (ASM_OUTPUT_DEF) -#define ASM_OUTPUT_WEAK_ALIAS(STREAM, NAME, VALUE) \ - do \ - { \ - ASM_WEAKEN_LABEL (STREAM, NAME); \ - if (VALUE) \ - ASM_OUTPUT_DEF (STREAM, NAME, VALUE); \ - } \ - while (0) -#endif -#endif - -/* This determines whether or not we support weak symbols. */ -#ifndef SUPPORTS_WEAK -#if defined (ASM_WEAKEN_LABEL) || defined (ASM_WEAKEN_DECL) -#define SUPPORTS_WEAK 1 -#else -#define SUPPORTS_WEAK 0 -#endif -#endif - -/* This determines whether or not we support link-once semantics. */ -#ifndef SUPPORTS_ONE_ONLY -#ifdef MAKE_DECL_ONE_ONLY -#define SUPPORTS_ONE_ONLY 1 -#else -#define SUPPORTS_ONE_ONLY 0 -#endif -#endif - -/* If the target supports weak symbols, define TARGET_ATTRIBUTE_WEAK to - provide a weak attribute. Else define it to nothing. - - This would normally belong in ansidecl.h, but SUPPORTS_WEAK is - not available at that time. - - Note, this is only for use by target files which we know are to be - compiled by GCC. */ -#ifndef TARGET_ATTRIBUTE_WEAK -# if SUPPORTS_WEAK -# define TARGET_ATTRIBUTE_WEAK __attribute__ ((weak)) -# else -# define TARGET_ATTRIBUTE_WEAK -# endif -#endif - -/* If the target supports init_priority C++ attribute, give - SUPPORTS_INIT_PRIORITY a nonzero value. */ -#ifndef SUPPORTS_INIT_PRIORITY -#define SUPPORTS_INIT_PRIORITY 1 -#endif /* SUPPORTS_INIT_PRIORITY */ - -/* If duplicate library search directories can be removed from a - linker command without changing the linker's semantics, give this - symbol a nonzero. */ -#ifndef LINK_ELIMINATE_DUPLICATE_LDIRECTORIES -#define LINK_ELIMINATE_DUPLICATE_LDIRECTORIES 0 -#endif /* LINK_ELIMINATE_DUPLICATE_LDIRECTORIES */ - -/* If we have a definition of INCOMING_RETURN_ADDR_RTX, assume that - the rest of the DWARF 2 frame unwind support is also provided. */ -#if !defined (DWARF2_UNWIND_INFO) && defined (INCOMING_RETURN_ADDR_RTX) -#define DWARF2_UNWIND_INFO 1 -#endif - -/* If we have named sections, and we're using crtstuff to run ctors, - use them for registering eh frame information. */ -#if defined (TARGET_ASM_NAMED_SECTION) && !defined(EH_FRAME_IN_DATA_SECTION) -#ifndef EH_FRAME_SECTION_NAME -#define EH_FRAME_SECTION_NAME ".eh_frame" -#endif -#endif - -/* If we have named section and we support weak symbols, then use the - .jcr section for recording java classes which need to be registered - at program start-up time. */ -#if defined (TARGET_ASM_NAMED_SECTION) && SUPPORTS_WEAK -#ifndef JCR_SECTION_NAME -#define JCR_SECTION_NAME ".jcr" -#endif -#endif - -/* If we have no definition for UNIQUE_SECTION, but do have the - ability to generate arbitrary sections, construct something - reasonable. */ -#ifndef UNIQUE_SECTION -#define UNIQUE_SECTION(DECL,RELOC) \ -do { \ - int len; \ - const char *name; \ - char *string; \ - \ - name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (DECL)); \ - /* Strip off any encoding in name. */ \ - STRIP_NAME_ENCODING (name, name); \ - \ - len = strlen (name) + 1; \ - string = alloca (len + 1); \ - sprintf (string, ".%s", name); \ - \ - DECL_SECTION_NAME (DECL) = build_string (len, string); \ -} while (0) -#endif - -/* By default, we generate a label at the beginning and end of the - text section, and compute the size of the text section by - subtracting the two. However, on some platforms that doesn't - work, and we use the section itself, rather than a label at the - beginning of it, to indicate the start of the section. On such - platforms, define this to zero. */ -#ifndef DWARF2_GENERATE_TEXT_SECTION_LABEL -#define DWARF2_GENERATE_TEXT_SECTION_LABEL 1 -#endif - -/* Supply a default definition for PROMOTE_PROTOTYPES. */ -#ifndef PROMOTE_PROTOTYPES -#define PROMOTE_PROTOTYPES 0 -#endif - -/* Number of hardware registers that go into the DWARF-2 unwind info. - If not defined, equals FIRST_PSEUDO_REGISTER */ - -#ifndef DWARF_FRAME_REGISTERS -#define DWARF_FRAME_REGISTERS FIRST_PSEUDO_REGISTER -#endif - -/* How to renumber registers for dbx and gdb. If not defined, assume - no renumbering is necessary. */ - -#ifndef DBX_REGISTER_NUMBER -#define DBX_REGISTER_NUMBER(REGNO) (REGNO) -#endif - -/* Default sizes for base C types. If the sizes are different for - your target, you should override these values by defining the - appropriate symbols in your tm.h file. */ - -#ifndef CHAR_TYPE_SIZE -#define CHAR_TYPE_SIZE BITS_PER_UNIT -#endif - -#ifndef BOOL_TYPE_SIZE -/* `bool' has size and alignment `1', on almost all platforms. */ -#define BOOL_TYPE_SIZE CHAR_TYPE_SIZE -#endif - -#ifndef SHORT_TYPE_SIZE -#define SHORT_TYPE_SIZE (BITS_PER_UNIT * MIN ((UNITS_PER_WORD + 1) / 2, 2)) -#endif - -#ifndef INT_TYPE_SIZE -#define INT_TYPE_SIZE BITS_PER_WORD -#endif - -#ifndef LONG_TYPE_SIZE -#define LONG_TYPE_SIZE BITS_PER_WORD -#endif - -#ifndef LONG_LONG_TYPE_SIZE -#define LONG_LONG_TYPE_SIZE (BITS_PER_WORD * 2) -#endif - -#ifndef WCHAR_TYPE_SIZE -#define WCHAR_TYPE_SIZE INT_TYPE_SIZE -#endif - -#ifndef WCHAR_UNSIGNED -#define WCHAR_UNSIGNED 0 -#endif - -#ifndef FLOAT_TYPE_SIZE -#define FLOAT_TYPE_SIZE BITS_PER_WORD -#endif - -#ifndef DOUBLE_TYPE_SIZE -#define DOUBLE_TYPE_SIZE (BITS_PER_WORD * 2) -#endif - -#ifndef LONG_DOUBLE_TYPE_SIZE -#define LONG_DOUBLE_TYPE_SIZE (BITS_PER_WORD * 2) -#endif - -#ifndef BUILD_VA_LIST_TYPE -#define BUILD_VA_LIST_TYPE(X) ((X) = ptr_type_node) -#endif - -#ifndef PIC_OFFSET_TABLE_REGNUM -#define PIC_OFFSET_TABLE_REGNUM INVALID_REGNUM -#endif - -/* Type used by GCOV counters. Use 64bit data type if target supports - it. */ -#if LONG_TYPE_SIZE >= 64 -#define GCOV_TYPE_SIZE LONG_TYPE_SIZE -#else -#define GCOV_TYPE_SIZE LONG_LONG_TYPE_SIZE -#endif - - -/* By default, the preprocessor should be invoked the same way in C++ - as in C. */ -#ifndef CPLUSPLUS_CPP_SPEC -#ifdef CPP_SPEC -#define CPLUSPLUS_CPP_SPEC CPP_SPEC -#endif -#endif - -#ifndef ACCUMULATE_OUTGOING_ARGS -#define ACCUMULATE_OUTGOING_ARGS 0 -#endif - -/* Supply a default definition for PUSH_ARGS. */ -#ifndef PUSH_ARGS -#ifdef PUSH_ROUNDING -#define PUSH_ARGS !ACCUMULATE_OUTGOING_ARGS -#else -#define PUSH_ARGS 0 -#endif -#endif - -/* If PREFERRED_STACK_BOUNDARY is not defined, set it to STACK_BOUNDARY. - STACK_BOUNDARY is required. */ -#ifndef PREFERRED_STACK_BOUNDARY -#define PREFERRED_STACK_BOUNDARY STACK_BOUNDARY -#endif - -/* By default, the C++ compiler will use function addresses in the - vtable entries. Setting this non-zero tells the compiler to use - function descriptors instead. The value of this macro says how - many words wide the descriptor is (normally 2). It is assumed - that the address of a function descriptor may be treated as a - pointer to a function. */ -#ifndef TARGET_VTABLE_USES_DESCRIPTORS -#define TARGET_VTABLE_USES_DESCRIPTORS 0 -#endif - -/* Select a format to encode pointers in exception handling data. We - prefer those that result in fewer dynamic relocations. Assume no - special support here and encode direct references. */ -#ifndef ASM_PREFERRED_EH_DATA_FORMAT -#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) DW_EH_PE_absptr -#endif - -/* By default, the C++ compiler will use the lowest bit of the pointer - to function to indicate a pointer-to-member-function points to a - virtual member function. However, if FUNCTION_BOUNDARY indicates - function addresses aren't always even, the lowest bit of the delta - field will be used. */ -#ifndef TARGET_PTRMEMFUNC_VBIT_LOCATION -#define TARGET_PTRMEMFUNC_VBIT_LOCATION \ - (FUNCTION_BOUNDARY >= 2 * BITS_PER_UNIT \ - ? ptrmemfunc_vbit_in_pfn : ptrmemfunc_vbit_in_delta) -#endif - -/* True if it is possible to profile code that does not have a frame - pointer. */ - -#ifndef TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER -#define TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER true -#endif - -#ifndef DEFAULT_GDB_EXTENSIONS -#define DEFAULT_GDB_EXTENSIONS 1 -#endif - -/* If more than one debugging type is supported, you must define - PREFERRED_DEBUGGING_TYPE to choose a format in a system-dependent way. - - This is one long line cause VAXC can't handle a \-newline. */ -#if 1 < (defined (DBX_DEBUGGING_INFO) + defined (SDB_DEBUGGING_INFO) + defined (DWARF_DEBUGGING_INFO) + defined (DWARF2_DEBUGGING_INFO) + defined (XCOFF_DEBUGGING_INFO) + defined (VMS_DEBUGGING_INFO)) -#ifndef PREFERRED_DEBUGGING_TYPE -You Lose! You must define PREFERRED_DEBUGGING_TYPE! -#endif /* no PREFERRED_DEBUGGING_TYPE */ -#else /* Only one debugging format supported. Define PREFERRED_DEBUGGING_TYPE - so other code needn't care. */ -#ifdef DBX_DEBUGGING_INFO -#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG -#endif -#ifdef SDB_DEBUGGING_INFO -#define PREFERRED_DEBUGGING_TYPE SDB_DEBUG -#endif -#ifdef DWARF_DEBUGGING_INFO -#define PREFERRED_DEBUGGING_TYPE DWARF_DEBUG -#endif -#ifdef DWARF2_DEBUGGING_INFO -#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG -#endif -#ifdef VMS_DEBUGGING_INFO -#define PREFERRED_DEBUGGING_TYPE VMS_AND_DWARF2_DEBUG -#endif -#ifdef XCOFF_DEBUGGING_INFO -#define PREFERRED_DEBUGGING_TYPE XCOFF_DEBUG -#endif -#endif /* More than one debugger format enabled. */ - -/* If still not defined, must have been because no debugging formats - are supported. */ -#ifndef PREFERRED_DEBUGGING_TYPE -#define PREFERRED_DEBUGGING_TYPE NO_DEBUG -#endif - -/* This is set to 1 if BYTES_BIG_ENDIAN is defined but the target uses a - little-endian method of passing and returning structures in registers. - On the HP-UX IA64 and PA64 platforms structures are aligned differently - then integral values and setting this value to 1 will allow for the - special handling of structure arguments and return values in regs. */ - -#ifndef FUNCTION_ARG_REG_LITTLE_ENDIAN -#define FUNCTION_ARG_REG_LITTLE_ENDIAN 0 -#endif - -/* Determine the register class for registers suitable to be the base - address register in a MEM. Allow the choice to be dependent upon - the mode of the memory access. */ -#ifndef MODE_BASE_REG_CLASS -#define MODE_BASE_REG_CLASS(MODE) BASE_REG_CLASS -#endif - -/* Determine whether __cxa_atexit, rather than atexit, is used to - register C++ destructors for local statics and global objects. */ -#ifndef DEFAULT_USE_CXA_ATEXIT -#define DEFAULT_USE_CXA_ATEXIT 0 -#endif - -#endif /* ! GCC_DEFAULTS_H */ +/* Definitions of various defaults for tm.h macros. + Copyright (C) 1992, 1996, 1997, 1998, 1999, 2000, 2001, 2002 + Free Software Foundation, Inc. + Contributed by Ron Guilmette (rfg@monkeys.com) + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING. If not, write to the Free +Software Foundation, 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. */ + +#ifndef GCC_DEFAULTS_H +#define GCC_DEFAULTS_H + +/* Define default standard character escape sequences. */ +#ifndef TARGET_BELL +# define TARGET_BELL 007 +# define TARGET_BS 010 +# define TARGET_TAB 011 +# define TARGET_NEWLINE 012 +# define TARGET_VT 013 +# define TARGET_FF 014 +# define TARGET_CR 015 +# define TARGET_ESC 033 +#endif + +/* Store in OUTPUT a string (made with alloca) containing + an assembler-name for a local static variable or function named NAME. + LABELNO is an integer which is different for each call. */ + +#ifndef ASM_FORMAT_PRIVATE_NAME +#define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \ + do { \ + int len = strlen (NAME); \ + char *temp = (char *) alloca (len + 3); \ + temp[0] = 'L'; \ + strcpy (&temp[1], (NAME)); \ + temp[len + 1] = '.'; \ + temp[len + 2] = 0; \ + (OUTPUT) = (char *) alloca (strlen (NAME) + 11); \ + ASM_GENERATE_INTERNAL_LABEL (OUTPUT, temp, LABELNO); \ + } while (0) +#endif + +#ifndef ASM_STABD_OP +#define ASM_STABD_OP "\t.stabd\t" +#endif + +/* This is how to output an element of a case-vector that is absolute. + Some targets don't use this, but we have to define it anyway. */ + +#ifndef ASM_OUTPUT_ADDR_VEC_ELT +#define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) \ +do { fputs (integer_asm_op (POINTER_SIZE / UNITS_PER_WORD, TRUE), FILE); \ + ASM_OUTPUT_INTERNAL_LABEL (FILE, "L", (VALUE)); \ + fputc ('\n', FILE); \ + } while (0) +#endif + +/* Provide default for ASM_OUTPUT_ALTERNATE_LABEL_NAME. */ +#ifndef ASM_OUTPUT_ALTERNATE_LABEL_NAME +#define ASM_OUTPUT_ALTERNATE_LABEL_NAME(FILE,INSN) \ +do { ASM_OUTPUT_LABEL(FILE,LABEL_ALTERNATE_NAME (INSN)); } while (0) +#endif + +/* choose a reasonable default for ASM_OUTPUT_ASCII. */ + +#ifndef ASM_OUTPUT_ASCII +#define ASM_OUTPUT_ASCII(MYFILE, MYSTRING, MYLENGTH) \ + do { \ + FILE *_hide_asm_out_file = (MYFILE); \ + const unsigned char *_hide_p = (const unsigned char *) (MYSTRING); \ + int _hide_thissize = (MYLENGTH); \ + { \ + FILE *asm_out_file = _hide_asm_out_file; \ + const unsigned char *p = _hide_p; \ + int thissize = _hide_thissize; \ + int i; \ + fprintf (asm_out_file, "\t.ascii \""); \ + \ + for (i = 0; i < thissize; i++) \ + { \ + int c = p[i]; \ + if (c == '\"' || c == '\\') \ + putc ('\\', asm_out_file); \ + if (ISPRINT(c)) \ + putc (c, asm_out_file); \ + else \ + { \ + fprintf (asm_out_file, "\\%o", c); \ + /* After an octal-escape, if a digit follows, \ + terminate one string constant and start another. \ + The VAX assembler fails to stop reading the escape \ + after three digits, so this is the only way we \ + can get it to parse the data properly. */ \ + if (i < thissize - 1 && ISDIGIT(p[i + 1])) \ + fprintf (asm_out_file, "\"\n\t.ascii \""); \ + } \ + } \ + fprintf (asm_out_file, "\"\n"); \ + } \ + } \ + while (0) +#endif + +/* This is how we tell the assembler to equate two values. */ +#ifdef SET_ASM_OP +#ifndef ASM_OUTPUT_DEF +#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \ + do { fprintf ((FILE), "%s", SET_ASM_OP); \ + assemble_name (FILE, LABEL1); \ + fprintf (FILE, ","); \ + assemble_name (FILE, LABEL2); \ + fprintf (FILE, "\n"); \ + } while (0) +#endif +#endif + +/* This is how to output a reference to a user-level label named NAME. */ + +#ifndef ASM_OUTPUT_LABELREF +#define ASM_OUTPUT_LABELREF(FILE,NAME) asm_fprintf ((FILE), "%U%s", (NAME)) +#endif + +/* Allow target to print debug info labels specially. This is useful for + VLIW targets, since debug info labels should go into the middle of + instruction bundles instead of breaking them. */ + +#ifndef ASM_OUTPUT_DEBUG_LABEL +#define ASM_OUTPUT_DEBUG_LABEL(FILE, PREFIX, NUM) \ + ASM_OUTPUT_INTERNAL_LABEL (FILE, PREFIX, NUM) +#endif + +/* This is how we tell the assembler that a symbol is weak. */ +#ifndef ASM_OUTPUT_WEAK_ALIAS +#if defined (ASM_WEAKEN_LABEL) && defined (ASM_OUTPUT_DEF) +#define ASM_OUTPUT_WEAK_ALIAS(STREAM, NAME, VALUE) \ + do \ + { \ + ASM_WEAKEN_LABEL (STREAM, NAME); \ + if (VALUE) \ + ASM_OUTPUT_DEF (STREAM, NAME, VALUE); \ + } \ + while (0) +#endif +#endif + +/* This determines whether or not we support weak symbols. */ +#ifndef SUPPORTS_WEAK +#if defined (ASM_WEAKEN_LABEL) || defined (ASM_WEAKEN_DECL) +#define SUPPORTS_WEAK 1 +#else +#define SUPPORTS_WEAK 0 +#endif +#endif + +/* This determines whether or not we support link-once semantics. */ +#ifndef SUPPORTS_ONE_ONLY +#ifdef MAKE_DECL_ONE_ONLY +#define SUPPORTS_ONE_ONLY 1 +#else +#define SUPPORTS_ONE_ONLY 0 +#endif +#endif + +/* If the target supports weak symbols, define TARGET_ATTRIBUTE_WEAK to + provide a weak attribute. Else define it to nothing. + + This would normally belong in ansidecl.h, but SUPPORTS_WEAK is + not available at that time. + + Note, this is only for use by target files which we know are to be + compiled by GCC. */ +#ifndef TARGET_ATTRIBUTE_WEAK +# if SUPPORTS_WEAK +# define TARGET_ATTRIBUTE_WEAK __attribute__ ((weak)) +# else +# define TARGET_ATTRIBUTE_WEAK +# endif +#endif + +/* If the target supports init_priority C++ attribute, give + SUPPORTS_INIT_PRIORITY a nonzero value. */ +#ifndef SUPPORTS_INIT_PRIORITY +#define SUPPORTS_INIT_PRIORITY 1 +#endif /* SUPPORTS_INIT_PRIORITY */ + +/* If duplicate library search directories can be removed from a + linker command without changing the linker's semantics, give this + symbol a nonzero. */ +#ifndef LINK_ELIMINATE_DUPLICATE_LDIRECTORIES +#define LINK_ELIMINATE_DUPLICATE_LDIRECTORIES 0 +#endif /* LINK_ELIMINATE_DUPLICATE_LDIRECTORIES */ + +/* If we have a definition of INCOMING_RETURN_ADDR_RTX, assume that + the rest of the DWARF 2 frame unwind support is also provided. */ +#if !defined (DWARF2_UNWIND_INFO) && defined (INCOMING_RETURN_ADDR_RTX) +#define DWARF2_UNWIND_INFO 1 +#endif + +/* If we have named sections, and we're using crtstuff to run ctors, + use them for registering eh frame information. */ +#if defined (TARGET_ASM_NAMED_SECTION) && !defined(EH_FRAME_IN_DATA_SECTION) +#ifndef EH_FRAME_SECTION_NAME +#define EH_FRAME_SECTION_NAME ".eh_frame" +#endif +#endif + +/* If we have named section and we support weak symbols, then use the + .jcr section for recording java classes which need to be registered + at program start-up time. */ +#if defined (TARGET_ASM_NAMED_SECTION) && SUPPORTS_WEAK +#ifndef JCR_SECTION_NAME +#define JCR_SECTION_NAME ".jcr" +#endif +#endif + +/* If we have no definition for UNIQUE_SECTION, but do have the + ability to generate arbitrary sections, construct something + reasonable. */ +#ifndef UNIQUE_SECTION +#define UNIQUE_SECTION(DECL,RELOC) \ +do { \ + int len; \ + const char *name; \ + char *string; \ + \ + name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (DECL)); \ + /* Strip off any encoding in name. */ \ + STRIP_NAME_ENCODING (name, name); \ + \ + len = strlen (name) + 1; \ + string = alloca (len + 1); \ + sprintf (string, ".%s", name); \ + \ + DECL_SECTION_NAME (DECL) = build_string (len, string); \ +} while (0) +#endif + +/* By default, we generate a label at the beginning and end of the + text section, and compute the size of the text section by + subtracting the two. However, on some platforms that doesn't + work, and we use the section itself, rather than a label at the + beginning of it, to indicate the start of the section. On such + platforms, define this to zero. */ +#ifndef DWARF2_GENERATE_TEXT_SECTION_LABEL +#define DWARF2_GENERATE_TEXT_SECTION_LABEL 1 +#endif + +/* Supply a default definition for PROMOTE_PROTOTYPES. */ +#ifndef PROMOTE_PROTOTYPES +#define PROMOTE_PROTOTYPES 0 +#endif + +/* Number of hardware registers that go into the DWARF-2 unwind info. + If not defined, equals FIRST_PSEUDO_REGISTER */ + +#ifndef DWARF_FRAME_REGISTERS +#define DWARF_FRAME_REGISTERS FIRST_PSEUDO_REGISTER +#endif + +/* How to renumber registers for dbx and gdb. If not defined, assume + no renumbering is necessary. */ + +#ifndef DBX_REGISTER_NUMBER +#define DBX_REGISTER_NUMBER(REGNO) (REGNO) +#endif + +/* Default sizes for base C types. If the sizes are different for + your target, you should override these values by defining the + appropriate symbols in your tm.h file. */ + +#ifndef CHAR_TYPE_SIZE +#define CHAR_TYPE_SIZE BITS_PER_UNIT +#endif + +#ifndef BOOL_TYPE_SIZE +/* `bool' has size and alignment `1', on almost all platforms. */ +#define BOOL_TYPE_SIZE CHAR_TYPE_SIZE +#endif + +#ifndef SHORT_TYPE_SIZE +#define SHORT_TYPE_SIZE (BITS_PER_UNIT * MIN ((UNITS_PER_WORD + 1) / 2, 2)) +#endif + +#ifndef INT_TYPE_SIZE +#define INT_TYPE_SIZE BITS_PER_WORD +#endif + +#ifndef LONG_TYPE_SIZE +#define LONG_TYPE_SIZE BITS_PER_WORD +#endif + +#ifndef LONG_LONG_TYPE_SIZE +#define LONG_LONG_TYPE_SIZE (BITS_PER_WORD * 2) +#endif + +#ifndef WCHAR_TYPE_SIZE +#define WCHAR_TYPE_SIZE INT_TYPE_SIZE +#endif + +#ifndef WCHAR_UNSIGNED +#define WCHAR_UNSIGNED 0 +#endif + +#ifndef FLOAT_TYPE_SIZE +#define FLOAT_TYPE_SIZE BITS_PER_WORD +#endif + +#ifndef DOUBLE_TYPE_SIZE +#define DOUBLE_TYPE_SIZE (BITS_PER_WORD * 2) +#endif + +#ifndef LONG_DOUBLE_TYPE_SIZE +#define LONG_DOUBLE_TYPE_SIZE (BITS_PER_WORD * 2) +#endif + +#ifndef BUILD_VA_LIST_TYPE +#define BUILD_VA_LIST_TYPE(X) ((X) = ptr_type_node) +#endif + +#ifndef PIC_OFFSET_TABLE_REGNUM +#define PIC_OFFSET_TABLE_REGNUM INVALID_REGNUM +#endif + +/* Type used by GCOV counters. Use 64bit data type if target supports + it. */ +#if LONG_TYPE_SIZE >= 64 +#define GCOV_TYPE_SIZE LONG_TYPE_SIZE +#else +#define GCOV_TYPE_SIZE LONG_LONG_TYPE_SIZE +#endif + + +/* By default, the preprocessor should be invoked the same way in C++ + as in C. */ +#ifndef CPLUSPLUS_CPP_SPEC +#ifdef CPP_SPEC +#define CPLUSPLUS_CPP_SPEC CPP_SPEC +#endif +#endif + +#ifndef ACCUMULATE_OUTGOING_ARGS +#define ACCUMULATE_OUTGOING_ARGS 0 +#endif + +/* Supply a default definition for PUSH_ARGS. */ +#ifndef PUSH_ARGS +#ifdef PUSH_ROUNDING +#define PUSH_ARGS !ACCUMULATE_OUTGOING_ARGS +#else +#define PUSH_ARGS 0 +#endif +#endif + +/* If PREFERRED_STACK_BOUNDARY is not defined, set it to STACK_BOUNDARY. + STACK_BOUNDARY is required. */ +#ifndef PREFERRED_STACK_BOUNDARY +#define PREFERRED_STACK_BOUNDARY STACK_BOUNDARY +#endif + +/* By default, the C++ compiler will use function addresses in the + vtable entries. Setting this non-zero tells the compiler to use + function descriptors instead. The value of this macro says how + many words wide the descriptor is (normally 2). It is assumed + that the address of a function descriptor may be treated as a + pointer to a function. */ +#ifndef TARGET_VTABLE_USES_DESCRIPTORS +#define TARGET_VTABLE_USES_DESCRIPTORS 0 +#endif + +/* Select a format to encode pointers in exception handling data. We + prefer those that result in fewer dynamic relocations. Assume no + special support here and encode direct references. */ +#ifndef ASM_PREFERRED_EH_DATA_FORMAT +#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) DW_EH_PE_absptr +#endif + +/* By default, the C++ compiler will use the lowest bit of the pointer + to function to indicate a pointer-to-member-function points to a + virtual member function. However, if FUNCTION_BOUNDARY indicates + function addresses aren't always even, the lowest bit of the delta + field will be used. */ +#ifndef TARGET_PTRMEMFUNC_VBIT_LOCATION +#define TARGET_PTRMEMFUNC_VBIT_LOCATION \ + (FUNCTION_BOUNDARY >= 2 * BITS_PER_UNIT \ + ? ptrmemfunc_vbit_in_pfn : ptrmemfunc_vbit_in_delta) +#endif + +/* True if it is possible to profile code that does not have a frame + pointer. */ + +#ifndef TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER +#define TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER true +#endif + +#ifndef DEFAULT_GDB_EXTENSIONS +#define DEFAULT_GDB_EXTENSIONS 1 +#endif + +/* If more than one debugging type is supported, you must define + PREFERRED_DEBUGGING_TYPE to choose a format in a system-dependent way. + + This is one long line cause VAXC can't handle a \-newline. */ +#if 1 < (defined (DBX_DEBUGGING_INFO) + defined (SDB_DEBUGGING_INFO) + defined (DWARF_DEBUGGING_INFO) + defined (DWARF2_DEBUGGING_INFO) + defined (XCOFF_DEBUGGING_INFO) + defined (VMS_DEBUGGING_INFO)) +#ifndef PREFERRED_DEBUGGING_TYPE +You Lose! You must define PREFERRED_DEBUGGING_TYPE! +#endif /* no PREFERRED_DEBUGGING_TYPE */ +#else /* Only one debugging format supported. Define PREFERRED_DEBUGGING_TYPE + so other code needn't care. */ +#ifdef DBX_DEBUGGING_INFO +#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG +#endif +#ifdef SDB_DEBUGGING_INFO +#define PREFERRED_DEBUGGING_TYPE SDB_DEBUG +#endif +#ifdef DWARF_DEBUGGING_INFO +#define PREFERRED_DEBUGGING_TYPE DWARF_DEBUG +#endif +#ifdef DWARF2_DEBUGGING_INFO +#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG +#endif +#ifdef VMS_DEBUGGING_INFO +#define PREFERRED_DEBUGGING_TYPE VMS_AND_DWARF2_DEBUG +#endif +#ifdef XCOFF_DEBUGGING_INFO +#define PREFERRED_DEBUGGING_TYPE XCOFF_DEBUG +#endif +#endif /* More than one debugger format enabled. */ + +/* If still not defined, must have been because no debugging formats + are supported. */ +#ifndef PREFERRED_DEBUGGING_TYPE +#define PREFERRED_DEBUGGING_TYPE NO_DEBUG +#endif + +/* This is set to 1 if BYTES_BIG_ENDIAN is defined but the target uses a + little-endian method of passing and returning structures in registers. + On the HP-UX IA64 and PA64 platforms structures are aligned differently + then integral values and setting this value to 1 will allow for the + special handling of structure arguments and return values in regs. */ + +#ifndef FUNCTION_ARG_REG_LITTLE_ENDIAN +#define FUNCTION_ARG_REG_LITTLE_ENDIAN 0 +#endif + +/* Determine the register class for registers suitable to be the base + address register in a MEM. Allow the choice to be dependent upon + the mode of the memory access. */ +#ifndef MODE_BASE_REG_CLASS +#define MODE_BASE_REG_CLASS(MODE) BASE_REG_CLASS +#endif + +/* Determine whether __cxa_atexit, rather than atexit, is used to + register C++ destructors for local statics and global objects. */ +#ifndef DEFAULT_USE_CXA_ATEXIT +#define DEFAULT_USE_CXA_ATEXIT 0 +#endif + +#endif /* ! GCC_DEFAULTS_H */ diff --git a/src/mkutil/tradcpp/hex.c b/src/mkutil/tradcpp/hex.c index 3ba04ba8..8c77e1ec 100644 --- a/src/mkutil/tradcpp/hex.c +++ b/src/mkutil/tradcpp/hex.c @@ -1,111 +1,111 @@ -/* Hex character manipulation support. - Copyright (C) 1995, 2001 Free Software Foundation, Inc. - -This file is part of the libiberty library. -Libiberty is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -Libiberty is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with libiberty; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include /* for EOF */ -#include "libiberty.h" - -/* Provided for ABI compatibility. */ -void -hex_init () -{ -} - -/* Are we ASCII? */ -#if '\n' == 0x0A && ' ' == 0x20 && '0' == 0x30 \ - && 'A' == 0x41 && 'a' == 0x61 && '!' == 0x21 \ - && EOF == -1 - -const char _hex_value[_hex_array_size] = -{ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* NUL SOH STX ETX */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* EOT ENQ ACK BEL */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* BS HT LF VT */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* FF CR SO SI */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* DLE DC1 DC2 DC3 */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* DC4 NAK SYN ETB */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* CAN EM SUB ESC */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* FS GS RS US */ - - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* SP ! " # */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* $ % & ' */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* ( ) * + */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* , - . / */ - 0, 1, 2, 3, /* 0 1 2 3 */ - 4, 5, 6, 7, /* 4 5 6 7 */ - 8, 9, _hex_bad, _hex_bad, /* 8 9 : ; */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* < = > ? */ - - _hex_bad, 10, 11, 12, /* @ A B C */ - 13, 14, 15, _hex_bad, /* D E F G */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* H I J K */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* L M N O */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* P Q R S */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* T U V W */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* X Y Z [ */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* \ ] ^ _ */ - - _hex_bad, 10, 11, 12, /* ` a b c */ - 13, 14, 15, _hex_bad, /* d e f g */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* h i j k */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* l m n o */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* p q r s */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* t u v w */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* x y z { */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* | } ~ DEL */ - - /* The high half of unsigned char, all values are _hex_bad. */ - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, - _hex_bad, _hex_bad, _hex_bad, _hex_bad, -}; -#else - #error "Unsupported host character set" -#endif /* not ASCII */ +/* Hex character manipulation support. + Copyright (C) 1995, 2001 Free Software Foundation, Inc. + +This file is part of the libiberty library. +Libiberty is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +Libiberty is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with libiberty; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +#include /* for EOF */ +#include "libiberty.h" + +/* Provided for ABI compatibility. */ +void +hex_init () +{ +} + +/* Are we ASCII? */ +#if '\n' == 0x0A && ' ' == 0x20 && '0' == 0x30 \ + && 'A' == 0x41 && 'a' == 0x61 && '!' == 0x21 \ + && EOF == -1 + +const char _hex_value[_hex_array_size] = +{ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* NUL SOH STX ETX */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* EOT ENQ ACK BEL */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* BS HT LF VT */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* FF CR SO SI */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* DLE DC1 DC2 DC3 */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* DC4 NAK SYN ETB */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* CAN EM SUB ESC */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* FS GS RS US */ + + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* SP ! " # */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* $ % & ' */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* ( ) * + */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* , - . / */ + 0, 1, 2, 3, /* 0 1 2 3 */ + 4, 5, 6, 7, /* 4 5 6 7 */ + 8, 9, _hex_bad, _hex_bad, /* 8 9 : ; */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* < = > ? */ + + _hex_bad, 10, 11, 12, /* @ A B C */ + 13, 14, 15, _hex_bad, /* D E F G */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* H I J K */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* L M N O */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* P Q R S */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* T U V W */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* X Y Z [ */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* \ ] ^ _ */ + + _hex_bad, 10, 11, 12, /* ` a b c */ + 13, 14, 15, _hex_bad, /* d e f g */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* h i j k */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* l m n o */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* p q r s */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* t u v w */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* x y z { */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* | } ~ DEL */ + + /* The high half of unsigned char, all values are _hex_bad. */ + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, + _hex_bad, _hex_bad, _hex_bad, _hex_bad, +}; +#else + #error "Unsupported host character set" +#endif /* not ASCII */ diff --git a/src/mkutil/tradcpp/hex.obj b/src/mkutil/tradcpp/hex.obj deleted file mode 100644 index 6187acbf83a23a5c7d41665b21bad79004c2f615..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1295 zcmcgs&2G~`5FXq4YyKJ)0TKu>s6s&K;ucg@xg<0o@sm7%yJLI4Z74~&vRJ6T(Ev_ED9rL~Q;hA% zg{x?MiJe$yOTa9<8}yfV;!sHeP;o7(VI+a-0hBhGXLUp;MxjPbCBnqf8W=Su>;n-8 zP$zL!urHFT)GFxk^ksDJ^DqNopz%1u#W6Z}#j<;yz!47bRvHgC>-ub9yK(Qy-L3mO zIyJHk3$pNnS!o3m-ts-OHFzBe?zBwTZSC0yY}9@A2pgxK>Ra6OM*gTL^lQ(q>$lfd zx?Je>TlI2T-*yEb@ChIG_4;Vwa>w@cUEA~dXsEBQF~eXRtLq!gV2~@ty^^MV=@n=- ze`S;m9^K|cE>uXtS;&;$E+IflwoSQl#|i8LXr;>-OzrcbXbW;rk=t`ee&`0|`g~%y zMKJ=W_szYI7y2&#s`R+icDOIzBQ%dI2OlFV3x{aY7s|n>$jXBGj{=ISC6cLhW+5uf z=JJK&;>o-GEq`+5f5|l8eSPtnJ`~8GrT`7n4LAeM@A>K-v@ia7n8xP1!Cb5RjrDLk zs2t_TF+g9TIWxmR^sJdUM2uTUm$Gn-7!64`B`5L-G==CnFSEp?t~7' to - separate the different components of a file specification. It's a - bit of a stretch to call ':', ']' and '>' directory separators, so - just define the test to find the file name component. */ -#ifdef VMS -# define IS_DIR_SEPARATOR(ch) ((ch) == ':' || (ch) == ']' || (ch) == '>') -#else -# ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -# else -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -# endif -#endif - -const char * -lbasename (name) - const char *name; -{ - const char *base; - -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - /* Skip over a possible disk name. */ - if (ISALPHA (name[0]) && name[1] == ':') - name += 2; -#endif - - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; - - return base; -} +/* Libiberty basename. Like basename, but is not overridden by the + system C library. + Copyright (C) 2001 Free Software Foundation, Inc. + +This file is part of the libiberty library. +Libiberty is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +Libiberty is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with libiberty; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +/* + +@deftypefn Replacement {const char*} lbasename (const char *@var{name}) + +Given a pointer to a string containing a typical pathname +(@samp{/usr/src/cmd/ls/ls.c} for example), returns a pointer to the +last component of the pathname (@samp{ls.c} in this case). The +returned pointer is guaranteed to lie within the original +string. This latter fact is not true of many vendor C +libraries, which return special strings or modify the passed +strings for particular input. + +In particular, the empty string returns the same empty string, +and a path ending in @code{/} returns the empty string after it. + +@end deftypefn + +*/ + +#include "ansidecl.h" +#include "libiberty.h" +#include "safe-ctype.h" + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) \ + || defined (__DJGPP__) || defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +#endif + +/* Define IS_DIR_SEPARATOR. VMS uses '::', ':', '[...]' and '<...>' to + separate the different components of a file specification. It's a + bit of a stretch to call ':', ']' and '>' directory separators, so + just define the test to find the file name component. */ +#ifdef VMS +# define IS_DIR_SEPARATOR(ch) ((ch) == ':' || (ch) == ']' || (ch) == '>') +#else +# ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +# else +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +# endif +#endif + +const char * +lbasename (name) + const char *name; +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over a possible disk name. */ + if (ISALPHA (name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + + return base; +} diff --git a/src/mkutil/tradcpp/lbasename.obj b/src/mkutil/tradcpp/lbasename.obj deleted file mode 100644 index 330de8aa6f17f6a8b2f8ebc0aa58b71b37ea3023..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1128 zcmZuw&1(};5TDJqag#LN)M~+lx}u0$`kJ;_YA)5Lfm#}?)`*8l%x*Sy>!u0Wmr{b4 z5(so~L*OkU)X!_uBbxbzGw;yhFQ}DBoC4&u1$pHw`tmbagJSc!A}m`D<5_i4}zc zFF?QvKCQ*lm8y}p%38Ycpu!C^t(8h?Q_WiXdbXgmqPn(-b@ZcmJZWgZ5mP_0y7*%6^Rf!i1CBxLq%5A-D8O3#FVvoeQzh4_P4ulM=*Z~kH6hCda!<=A@IW`}4*iJ!;%}}B-9|9Yh2gS>4Q58} z$H^eH&_~2^@2v$*xG2zK93<~bP*tKpOF@4!?BAPreZA`-IzBWWv;>nsAAfRvh*K1i zh|A#<22dhDT9_WmJrQ4lsrjx>nRO}?7P}Y;%yfNd+8iHXx{FZuUeq0O?vi&ksV-5V Rz8s|EsAjqk2^sHr!ari>&>8>$ diff --git a/src/mkutil/tradcpp/mkdeps.c b/src/mkutil/tradcpp/mkdeps.c index 2c300631..18de116b 100644 --- a/src/mkutil/tradcpp/mkdeps.c +++ b/src/mkutil/tradcpp/mkdeps.c @@ -1,291 +1,291 @@ -/* Dependency generator for Makefile fragments. - Copyright (C) 2000, 2001 Free Software Foundation, Inc. - Contributed by Zack Weinberg, Mar 2000 - -This program is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2, or (at your option) any -later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - - In other words, you are welcome to use, share and improve this program. - You are forbidden to forbid anyone else to use, share and improve - what you give them. Help stamp out software-hoarding! */ - -#include "config.h" -#include "system.h" -#include "mkdeps.h" - -/* Keep this structure local to this file, so clients don't find it - easy to start making assumptions. */ -struct deps -{ - const char **targetv; - unsigned int ntargets; /* number of slots actually occupied */ - unsigned int targets_size; /* amt of allocated space - in words */ - - const char **depv; - unsigned int ndeps; - unsigned int deps_size; -}; - -static const char *munge PARAMS ((const char *)); - -/* Given a filename, quote characters in that filename which are - significant to Make. Note that it's not possible to quote all such - characters - e.g. \n, %, *, ?, [, \ (in some contexts), and ~ are - not properly handled. It isn't possible to get this right in any - current version of Make. (??? Still true? Old comment referred to - 3.76.1.) */ - -static const char * -munge (filename) - const char *filename; -{ - int len; - const char *p, *q; - char *dst, *buffer; - - for (p = filename, len = 0; *p; p++, len++) - { - switch (*p) - { - case ' ': - case '\t': - /* GNU make uses a weird quoting scheme for white space. - A space or tab preceded by 2N+1 backslashes represents - N backslashes followed by space; a space or tab - preceded by 2N backslashes represents N backslashes at - the end of a file name; and backslashes in other - contexts should not be doubled. */ - for (q = p - 1; filename <= q && *q == '\\'; q--) - len++; - len++; - break; - - case '$': - /* '$' is quoted by doubling it. */ - len++; - break; - } - } - - /* Now we know how big to make the buffer. */ - buffer = xmalloc (len + 1); - - for (p = filename, dst = buffer; *p; p++, dst++) - { - switch (*p) - { - case ' ': - case '\t': - for (q = p - 1; filename <= q && *q == '\\'; q--) - *dst++ = '\\'; - *dst++ = '\\'; - break; - - case '$': - *dst++ = '$'; - break; - - default: - /* nothing */; - } - *dst = *p; - } - - *dst = '\0'; - return buffer; -} - -/* Public routines. */ - -struct deps * -deps_init () -{ - struct deps *d = (struct deps *) xmalloc (sizeof (struct deps)); - - /* Allocate space for the vectors only if we need it. */ - - d->targetv = 0; - d->depv = 0; - - d->ntargets = 0; - d->targets_size = 0; - d->ndeps = 0; - d->deps_size = 0; - - return d; -} - -void -deps_free (d) - struct deps *d; -{ - unsigned int i; - - if (d->targetv) - { - for (i = 0; i < d->ntargets; i++) - free ((PTR) d->targetv[i]); - free (d->targetv); - } - - if (d->depv) - { - for (i = 0; i < d->ndeps; i++) - free ((PTR) d->depv[i]); - free (d->depv); - } - - free (d); -} - -/* Adds a target T. We make a copy, so it need not be a permanent - string. QUOTE is true if the string should be quoted. */ -void -deps_add_target (d, t, quote) - struct deps *d; - const char *t; - int quote; -{ - if (d->ntargets == d->targets_size) - { - d->targets_size = d->targets_size * 2 + 4; - d->targetv = (const char **) xrealloc (d->targetv, - d->targets_size * sizeof (const char *)); - } - - if (quote) - t = munge (t); /* Also makes permanent copy. */ - else - t = xstrdup (t); - - d->targetv[d->ntargets++] = t; -} - -/* Sets the default target if none has been given already. An empty - string as the default target in interpreted as stdin. The string - is quoted for MAKE. */ -void -deps_add_default_target (d, tgt) - struct deps *d; - const char *tgt; -{ - /* Only if we have no targets. */ - if (d->ntargets) - return; - - if (tgt[0] == '\0') - deps_add_target (d, "-", 1); - else - { -#ifndef TARGET_OBJECT_SUFFIX -# define TARGET_OBJECT_SUFFIX ".o" -#endif - const char *start = lbasename (tgt); - char *o = (char *) alloca (strlen (start) + strlen (TARGET_OBJECT_SUFFIX) + 1); - char *suffix; - - strcpy (o, start); - - suffix = strrchr (o, '.'); - if (!suffix) - suffix = o + strlen (o); - strcpy (suffix, TARGET_OBJECT_SUFFIX); - - deps_add_target (d, o, 1); - } -} - -void -deps_add_dep (d, t) - struct deps *d; - const char *t; -{ - t = munge (t); /* Also makes permanent copy. */ - - if (d->ndeps == d->deps_size) - { - d->deps_size = d->deps_size * 2 + 8; - d->depv = (const char **) - xrealloc (d->depv, d->deps_size * sizeof (const char *)); - } - d->depv[d->ndeps++] = t; -} - -void -deps_write (d, fp, colmax) - const struct deps *d; - FILE *fp; - unsigned int colmax; -{ - unsigned int size, i, column; - - column = 0; - if (colmax && colmax < 34) - colmax = 34; - - for (i = 0; i < d->ntargets; i++) - { - size = strlen (d->targetv[i]); - column += size; - if (colmax && column > colmax) - { - fputs (" \\\n ", fp); - column = 1 + size; - } - if (i) - { - putc (' ', fp); - column++; - } - fputs (d->targetv[i], fp); - } - - putc (':', fp); - putc (' ', fp); - column += 2; - - for (i = 0; i < d->ndeps; i++) - { - size = strlen (d->depv[i]); - column += size; - if (colmax && column > colmax) - { - fputs (" \\\n ", fp); - column = 1 + size; - } - if (i) - { - putc (' ', fp); - column++; - } - fputs (d->depv[i], fp); - } - putc ('\n', fp); -} - -void -deps_phony_targets (d, fp) - const struct deps *d; - FILE *fp; -{ - unsigned int i; - - for (i = 1; i < d->ndeps; i++) - { - putc ('\n', fp); - fputs (d->depv[i], fp); - putc (':', fp); - putc ('\n', fp); - } -} +/* Dependency generator for Makefile fragments. + Copyright (C) 2000, 2001 Free Software Foundation, Inc. + Contributed by Zack Weinberg, Mar 2000 + +This program is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 2, or (at your option) any +later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + In other words, you are welcome to use, share and improve this program. + You are forbidden to forbid anyone else to use, share and improve + what you give them. Help stamp out software-hoarding! */ + +#include "config.h" +#include "system.h" +#include "mkdeps.h" + +/* Keep this structure local to this file, so clients don't find it + easy to start making assumptions. */ +struct deps +{ + const char **targetv; + unsigned int ntargets; /* number of slots actually occupied */ + unsigned int targets_size; /* amt of allocated space - in words */ + + const char **depv; + unsigned int ndeps; + unsigned int deps_size; +}; + +static const char *munge PARAMS ((const char *)); + +/* Given a filename, quote characters in that filename which are + significant to Make. Note that it's not possible to quote all such + characters - e.g. \n, %, *, ?, [, \ (in some contexts), and ~ are + not properly handled. It isn't possible to get this right in any + current version of Make. (??? Still true? Old comment referred to + 3.76.1.) */ + +static const char * +munge (filename) + const char *filename; +{ + int len; + const char *p, *q; + char *dst, *buffer; + + for (p = filename, len = 0; *p; p++, len++) + { + switch (*p) + { + case ' ': + case '\t': + /* GNU make uses a weird quoting scheme for white space. + A space or tab preceded by 2N+1 backslashes represents + N backslashes followed by space; a space or tab + preceded by 2N backslashes represents N backslashes at + the end of a file name; and backslashes in other + contexts should not be doubled. */ + for (q = p - 1; filename <= q && *q == '\\'; q--) + len++; + len++; + break; + + case '$': + /* '$' is quoted by doubling it. */ + len++; + break; + } + } + + /* Now we know how big to make the buffer. */ + buffer = xmalloc (len + 1); + + for (p = filename, dst = buffer; *p; p++, dst++) + { + switch (*p) + { + case ' ': + case '\t': + for (q = p - 1; filename <= q && *q == '\\'; q--) + *dst++ = '\\'; + *dst++ = '\\'; + break; + + case '$': + *dst++ = '$'; + break; + + default: + /* nothing */; + } + *dst = *p; + } + + *dst = '\0'; + return buffer; +} + +/* Public routines. */ + +struct deps * +deps_init () +{ + struct deps *d = (struct deps *) xmalloc (sizeof (struct deps)); + + /* Allocate space for the vectors only if we need it. */ + + d->targetv = 0; + d->depv = 0; + + d->ntargets = 0; + d->targets_size = 0; + d->ndeps = 0; + d->deps_size = 0; + + return d; +} + +void +deps_free (d) + struct deps *d; +{ + unsigned int i; + + if (d->targetv) + { + for (i = 0; i < d->ntargets; i++) + free ((PTR) d->targetv[i]); + free (d->targetv); + } + + if (d->depv) + { + for (i = 0; i < d->ndeps; i++) + free ((PTR) d->depv[i]); + free (d->depv); + } + + free (d); +} + +/* Adds a target T. We make a copy, so it need not be a permanent + string. QUOTE is true if the string should be quoted. */ +void +deps_add_target (d, t, quote) + struct deps *d; + const char *t; + int quote; +{ + if (d->ntargets == d->targets_size) + { + d->targets_size = d->targets_size * 2 + 4; + d->targetv = (const char **) xrealloc (d->targetv, + d->targets_size * sizeof (const char *)); + } + + if (quote) + t = munge (t); /* Also makes permanent copy. */ + else + t = xstrdup (t); + + d->targetv[d->ntargets++] = t; +} + +/* Sets the default target if none has been given already. An empty + string as the default target in interpreted as stdin. The string + is quoted for MAKE. */ +void +deps_add_default_target (d, tgt) + struct deps *d; + const char *tgt; +{ + /* Only if we have no targets. */ + if (d->ntargets) + return; + + if (tgt[0] == '\0') + deps_add_target (d, "-", 1); + else + { +#ifndef TARGET_OBJECT_SUFFIX +# define TARGET_OBJECT_SUFFIX ".o" +#endif + const char *start = lbasename (tgt); + char *o = (char *) alloca (strlen (start) + strlen (TARGET_OBJECT_SUFFIX) + 1); + char *suffix; + + strcpy (o, start); + + suffix = strrchr (o, '.'); + if (!suffix) + suffix = o + strlen (o); + strcpy (suffix, TARGET_OBJECT_SUFFIX); + + deps_add_target (d, o, 1); + } +} + +void +deps_add_dep (d, t) + struct deps *d; + const char *t; +{ + t = munge (t); /* Also makes permanent copy. */ + + if (d->ndeps == d->deps_size) + { + d->deps_size = d->deps_size * 2 + 8; + d->depv = (const char **) + xrealloc (d->depv, d->deps_size * sizeof (const char *)); + } + d->depv[d->ndeps++] = t; +} + +void +deps_write (d, fp, colmax) + const struct deps *d; + FILE *fp; + unsigned int colmax; +{ + unsigned int size, i, column; + + column = 0; + if (colmax && colmax < 34) + colmax = 34; + + for (i = 0; i < d->ntargets; i++) + { + size = strlen (d->targetv[i]); + column += size; + if (colmax && column > colmax) + { + fputs (" \\\n ", fp); + column = 1 + size; + } + if (i) + { + putc (' ', fp); + column++; + } + fputs (d->targetv[i], fp); + } + + putc (':', fp); + putc (' ', fp); + column += 2; + + for (i = 0; i < d->ndeps; i++) + { + size = strlen (d->depv[i]); + column += size; + if (colmax && column > colmax) + { + fputs (" \\\n ", fp); + column = 1 + size; + } + if (i) + { + putc (' ', fp); + column++; + } + fputs (d->depv[i], fp); + } + putc ('\n', fp); +} + +void +deps_phony_targets (d, fp) + const struct deps *d; + FILE *fp; +{ + unsigned int i; + + for (i = 1; i < d->ndeps; i++) + { + putc ('\n', fp); + fputs (d->depv[i], fp); + putc (':', fp); + putc ('\n', fp); + } +} diff --git a/src/mkutil/tradcpp/mkdeps.h b/src/mkutil/tradcpp/mkdeps.h index fa79b865..ef6be493 100644 --- a/src/mkutil/tradcpp/mkdeps.h +++ b/src/mkutil/tradcpp/mkdeps.h @@ -1,62 +1,62 @@ -/* Dependency generator for Makefile fragments. - Copyright (C) 2000, 2001 Free Software Foundation, Inc. - Contributed by Zack Weinberg, Mar 2000 - -This program is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2, or (at your option) any -later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - - In other words, you are welcome to use, share and improve this program. - You are forbidden to forbid anyone else to use, share and improve - what you give them. Help stamp out software-hoarding! */ - -#ifndef GCC_MKDEPS_H -#define GCC_MKDEPS_H - -/* This is the data structure used by all the functions in mkdeps.c. - It's quite straightforward, but should be treated as opaque. */ - -struct deps; - -/* Create a deps buffer. */ -extern struct deps *deps_init PARAMS ((void)); - -/* Destroy a deps buffer. */ -extern void deps_free PARAMS ((struct deps *)); - -/* Add a target (appears on left side of the colon) to the deps list. Takes - a boolean indicating whether to quote the target for MAKE. */ -extern void deps_add_target PARAMS ((struct deps *, const char *, int)); - -/* Sets the default target if none has been given already. An empty - string as the default target in interpreted as stdin. */ -extern void deps_add_default_target PARAMS ((struct deps *, const char *)); - -/* Add a dependency (appears on the right side of the colon) to the - deps list. Dependencies will be printed in the order that they - were entered with this function. By convention, the first - dependency entered should be the primary source file. */ -extern void deps_add_dep PARAMS ((struct deps *, const char *)); - -/* Write out a deps buffer to a specified file. The third argument - is the number of columns to word-wrap at (0 means don't wrap). */ -extern void deps_write PARAMS ((const struct deps *, FILE *, - unsigned int)); - -/* For each dependency *except the first*, emit a dummy rule for that - file, causing it to depend on nothing. This is used to work around - the intermediate-file deletion misfeature in Make, in some - automatic dependency schemes. */ -extern void deps_phony_targets PARAMS ((const struct deps *, FILE *)); - -#endif /* ! GCC_MKDEPS_H */ +/* Dependency generator for Makefile fragments. + Copyright (C) 2000, 2001 Free Software Foundation, Inc. + Contributed by Zack Weinberg, Mar 2000 + +This program is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 2, or (at your option) any +later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + In other words, you are welcome to use, share and improve this program. + You are forbidden to forbid anyone else to use, share and improve + what you give them. Help stamp out software-hoarding! */ + +#ifndef GCC_MKDEPS_H +#define GCC_MKDEPS_H + +/* This is the data structure used by all the functions in mkdeps.c. + It's quite straightforward, but should be treated as opaque. */ + +struct deps; + +/* Create a deps buffer. */ +extern struct deps *deps_init PARAMS ((void)); + +/* Destroy a deps buffer. */ +extern void deps_free PARAMS ((struct deps *)); + +/* Add a target (appears on left side of the colon) to the deps list. Takes + a boolean indicating whether to quote the target for MAKE. */ +extern void deps_add_target PARAMS ((struct deps *, const char *, int)); + +/* Sets the default target if none has been given already. An empty + string as the default target in interpreted as stdin. */ +extern void deps_add_default_target PARAMS ((struct deps *, const char *)); + +/* Add a dependency (appears on the right side of the colon) to the + deps list. Dependencies will be printed in the order that they + were entered with this function. By convention, the first + dependency entered should be the primary source file. */ +extern void deps_add_dep PARAMS ((struct deps *, const char *)); + +/* Write out a deps buffer to a specified file. The third argument + is the number of columns to word-wrap at (0 means don't wrap). */ +extern void deps_write PARAMS ((const struct deps *, FILE *, + unsigned int)); + +/* For each dependency *except the first*, emit a dummy rule for that + file, causing it to depend on nothing. This is used to work around + the intermediate-file deletion misfeature in Make, in some + automatic dependency schemes. */ +extern void deps_phony_targets PARAMS ((const struct deps *, FILE *)); + +#endif /* ! GCC_MKDEPS_H */ diff --git a/src/mkutil/tradcpp/mkdeps.obj b/src/mkutil/tradcpp/mkdeps.obj deleted file mode 100644 index 9053de7f893fd64031d956759ebe14f65caa922e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14251 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 diff --git a/src/mkutil/tradcpp/safe-ctype.obj b/src/mkutil/tradcpp/safe-ctype.obj deleted file mode 100644 index 04afc83214507d30e90a249951a8075019149b9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1931 zcmeZaWML@g<+V>_V_@K8fB?OeqSWM)vQ#LSK@G^*0^`7FE&&F;l+>isbd_M3kTfF$ z!!01^E06{Oppgt73<6GiMJb6TiC`fJ!NR~`$b`fPG94HU9H8cfz+?=73`3A1NC0G> zZc1ueVrfoEPG*vokEfHf0XlFEWqz5JvsF9t>iR-kfc-^}Eq{Nnty5(SMQO$B2k-K5MC1!sL{ zZEXerf|AVK%&N@1bOq=9+=9%U)FOqj)S}|d{5%CiBRvBHJqtrK3q1o#1`dJcf-raU z#1|)L#Ag%w@iH(AC;~OHm1pLa#Fv1$!XR#1 zL4GlWTMFV9XI7=gm+(OqvzI4lBo;yV1;9XOFH4Ni0Xm}YMsksy-wh=DQOv5 zIe7&|C1n*=HFXV5Eo~iLJ$(a1BV!X&Gjj_|D{C8DJ9~%3q-0?JP0z^8%FfBn%P%M_ zDlRE4E3c@mijIkmi%-BUUtLpMSKrXs)ZEhA*51+C)!ozE*FRz6q{&mJPMbbs=B(Ls z=FXeHVBw<0OO`HMzGCI7)oa$STfbrBrp;TnZri?N=dRs*_U_w%;NYRdM~)sle&Xb* z(`U|}JAdKgrOQ{YUb}wd=B?Xz?%uoq;NhdkPo6$|{^I4U*Kgjwd;j6%r_W!$e*6C8 z=da&?{{H*VK&k&7ot#}<-P}Dqy}W&V{rm$0gMvds!@?sXqagmrEk7vy56S^r3}OtS zKY8py1+*OYqO~m9%s{UoCF!GH8nBRrW)fiNF{CphmAc6g35R50S*n+r@IdX1W=2p21gbBrgP*>Js70=Nn89iofaM?v9M`GPg0Mg& zSP-ZHqz015!6h`1i4ai$DFgzD2y$fw(#^~W3Jp}C2js?s%YJA959fi)bSMv6FE9WA D7z@43 diff --git a/src/mkutil/tradcpp/tradcif.obj b/src/mkutil/tradcpp/tradcif.obj deleted file mode 100644 index ee39e067a084e3bf15a7e6a55679352c3d08bba9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29547 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 C#J{Bg diff --git a/src/mkutil/tradcpp/version.c b/src/mkutil/tradcpp/version.c index bbf96700..a3336ad7 100644 --- a/src/mkutil/tradcpp/version.c +++ b/src/mkutil/tradcpp/version.c @@ -1,4 +1,4 @@ -#include "ansidecl.h" -#include "version.h" - -const char *const version_string = "3.2 20020927 (prerelease)"; +#include "ansidecl.h" +#include "version.h" + +const char *const version_string = "3.2 20020927 (prerelease)"; diff --git a/src/mkutil/tradcpp/version.obj b/src/mkutil/tradcpp/version.obj deleted file mode 100644 index 0128b5a52127f0bd2536de2c3e7d55ed51aa6864..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 807 zcmZ`%v2N5r5FMX61eXx5Kq-O*ixi;?Q8pW&6hfK{F^GUJMB;$TQgpWWP7A)+TKiI@ zq@bjY((nfq)HM7F7_(u7=xMvaDpEhri2}6ZgU;?i@t%(at+sS$oX!0KfD45>d5tXRix8A9TcqfW{I`El~5JT zU-g%l* zre@%?jT-1nn?-jW+T3HF5T1DAJ!Y*;ODz-G&*hSN_(w1g@BYqq+Q_~4pKC?yf@g8~ zhYzqvoBR9%VCYmgjx34;its92#lP=2-~u@=j{j07^!lztLYcNniO@s4ju8n)U)_$q z`lLKu!y$oOnI|HIk`bqd)h{(ge_V&;LN>GTg&qiPvG=0wm7zIJJsZgy>ChNmhr}~& LcW}EuJq-8<)~<*+ diff --git a/src/mkutil/tradcpp/xexit.obj b/src/mkutil/tradcpp/xexit.obj deleted file mode 100644 index b9e9a5cb06b4c5106574eb79a55cd4dbc015024a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1070 zcmZuwO>fgc5FN*964Itb5a58+E>aZ%QMXAERaJxv4MBhsT2aa=$RzeAEI6?hZ_+5- z=&^r*1N;Gwh!aOZT=)n4f*!bV$N7*LX?EWmzg@3)p37Pkyi{uYQv@IbL2#=h zOw|)33Rwi7LlVx(G;mAQyUmsTu(YB9{6cbyGes2h0i<`h5`E=Yf`Q?b#rNIEv@ms; z0|t99M*BStrFjHz@%ePneyf&f)Vj8^WqqssaHq(o3%liekMCAW`-~Q5;f%j{+1#pj z2eRsQ%xdd(S4q2Sx^A^E`ciSH{^}8Ecm{xCMVcMQa~g_WeR7T6SYNG6#fodiT#oI! zO19)cwwtWzv|MS64tpj#o^;x*u+H;&zFFAV9TMkm#68nASNQ{Ltq7m!E}L zI)Meco~Y?qA_6hE42iTDD;Eu4X_&UCwYzQ#^z;=}#|~v%8H(t6q7B#a0@@|&$$>D` z;z%4nG+)*_0e7)2@m|farKjGZG>JJ6??)&JUlGOq+K&-R!ol(Hqua>vpt0cvnvY9~ zy%PdQ-=ojJ(cRIS7%Yy_B}5CD8UGEz9cX?f0`zgZeVJ3xuO4+2r$d0I7PQd}O8$7q#13(3oh&C|h#DQeI`K5wQ`gAVvoY;wI+d=G zqshe|KHe%#v{a#_h`_YFsn5E`Xhc6%zWjWH5F=<|fOYhGL`xxInB@N;3^HR#NCUjy x7<1ZL;AsE~;~D{O2O8>tuK_NC3JWX#s+-6rG5x2}m*^V(YqOC-YRq~M{sHmbr2_x} diff --git a/src/mkutil/tradcpp/xmalloc.obj b/src/mkutil/tradcpp/xmalloc.obj deleted file mode 100644 index 733a9255168fb24aad81f8a1a0cff2f035f61bfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3074 zcmZ`*U2GIp6h714&Q7P>c554hKj83FQXn15UqOt5)D5C7wEP$!mJItdTL$;fomr>^ z5@IC=HzCo8i9VPZ@x=#BjEN5>#zcgu55D+j!h=ym0uLB{A*s~w+mXVW zyE`$d=|%G*rS{l`Y>*9&&<>-Xi4$E$<-*jvY4kfg=lepTpflQ0@;SB(+}R*9HU@$# z;Q9j--qMLuw2Ca6I;Q+P9GZ?on8H4zh5Z{TxW#Ov6qLN&&WU|{#;vI0z{CstpPx)0 zvamUL-X$il%v*m25RL$Gf+=-X4EB1eU(#zMYezh1_ z!w1({TQ-m6yucdYIKE+nb)Xh_W$(0CnX$&J<(gM=>((o7-S?^$Ytv?XbkyFlX>5l* z`W$tqqCWSa!y)cQy|_4{EmO-oz8g5TdUd9rEjyKL*-et3GGN;QTg~qvownY`cmSjP zFkS!;SvXhdQ#`9M8uz`^E>n%%NA)xhqHaSy+M-G*ss}jwK{~&%un@x} zz2crKyXA+`PAb}cXq_l+UW7aqajmoBmfSM)CSlCZ>TZeMU1BNwz8&y+;T=q&W?M@c zvvpUj#WWmF;c>N8fXBS6a4`{?C6?+ZBek&~b47_eUNzTGi4=brrQ+|^L$TCK^z~C- zC2#`nE{BEA=8YnE2Y9qttNL=Z!Cl^=6ZERNiBtLG*}Cl4u$#omtW)y*;3Js!p?1^9 zN;2s-q(_DBj*?8;jyttl=$=uMNf#k)5W4r2WYS$oTZHaEC7CpVtMa(eO)1GF2NK_% zZptgkM2~2vMPv^7L;iTSQmF=(h;TM=t)WuG%DoY|zO>`$>U5-eyO}mV<%vhXM`!vI z7W=+6&i@#6T~E(*?^Z$y%_GLaW_o_A$@hh(k24k8BPhLnH&B^36JEG$lb<|}y-s|ZrDQ=`E_CaFPYP)}P>ymY zctYs*0Qp<$v={go>L5)6mkFs391_yoKt4l*^bK%CNWU)X?m?1v0|*U24TCfcNzUN& zC|@*9ylDxcC*q6JPy2xb^eS*roJgW$kYiK?#;FYKq%%OB-UKG-BCw0z1)Act5`73c zMxO!W^d(TIAAkw^8EDXNK$C6&yTwT+`U`SQ+=@8;1G$s#0(Ih3ksuRj&~jiGtp=L3 z5tyXSz#hWkruFdu$lc^Fj>3wEXNr^gu~EBL$o*{>@v_2>%e@7n87)jAd8q{M&Lcb6 zUg73bCN01whRoZ_&{&pY8t3Tt63x!+RZQdj%sIJLqM11cbxa!uGUHdj{PeH16DdTB zSXrzd$GM~Gp#Zk#(n%I|XnY3v z{&HUD(?VqD_{+<}JTALSVGLJ@0lOq^*k55owktKv)tXfj)=}X3(uP;(9_Pjnu=;9Y z=FGaYULZsOY{)6r>UgJ>Q$oWJb!dXNgE$&vh=zfljG@qMm9dfW5gI(DvM1yGFrQyn z%xgs(?v!V>?=%x?M10PxS+a4|A(J+|Q)c7TeMOgVJhH6(nNjn2Ut#3incq;T>& bzB{9BdT1(Ea}b_l3gh diff --git a/src/mkutil/tradcpp/xstrdup.obj b/src/mkutil/tradcpp/xstrdup.obj deleted file mode 100644 index 5c72a601d11ae54071058d457b53bdfe84ebf3ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1050 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 diff --git a/src/mkutil/true.obj b/src/mkutil/true.obj deleted file mode 100644 index 4dbf66801aec5881af49824fc06a5abd8c22af1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 813 zcmZ`%J8u&~5T5m!pxBK?LA?=Cl!vmI1X(0aNX{q^*#sp(bqI2I>tn;&XPx)*s_D{4 z5e4*gk@x{fR7m^+dO8|t(h+8M@32$wNxL)q?dn-{slyGf8ZB1x-qzz-Yn<&n6n-4}hz~RZO+~3o} z^gb#Vxn04Lzxhyh_Oe*V%3p46uDN`a*lsl+ueKlUa{7H5#?8Zt^<^(Ojt*7N%TAOx zNCU6?CeteRbec(#`1@PH;0D^dZ55=+An9m6y)(lX7v_DXxqH{0o8#Mkt-9(&^&;*j z-M)%t%Ad=0ppqWHw;<|u@nEUZ5cOH8){1yZQoar@^3VR=uyS`#^-3@X?~tcBtMES8 zD)8*|=i=uVUu^jF*oId!MHO%xzP)a)5I+(9FSUc9Q5XHt|NTpJFjllB{J8>%m`OXZ zjNKmwn37Q8*qsVop^by>9gYEY!C^EA*D*Q*RB(sU5Rf*+X!|K*hfzW3hp)$%XGVpW zR12#j&!NPscp^JHAao`C4haMDBh6@#HiU?+jrj*@2|`+?Xo7u3tr%i-@XAO#j7IM| Gi2n=8lYIyP diff --git a/src/nos/CVS/Entries b/src/nos/CVS/Entries new file mode 100644 index 00000000..db146a37 --- /dev/null +++ b/src/nos/CVS/Entries @@ -0,0 +1,35 @@ +/auto.mk/1.2/Wed Nov 26 04:16:50 2003// +/c.sh/1.2/Tue Dec 2 07:41:10 2003// +/clean.sh/1.2/Tue Dec 2 07:41:10 2003// +/g.sh/1.2/Tue Dec 2 07:41:10 2003// +/ipsec_mk/1.1.1.1/Mon Nov 17 19:06:14 2003// +/makefile/1.1.1.1/Mon Nov 17 19:06:14 2003// +/rate.bas/1.1.1.1/Mon Nov 17 19:06:14 2003// +D/ax25//// +D/bin//// +D/clients//// +D/crt//// +D/doc//// +D/drivers//// +D/dump//// +D/filesys//// +D/gboot//// +D/iar//// +D/include//// +D/internet//// +D/intl//// +D/kernel//// +D/lib//// +D/main//// +D/make.d//// +D/mkutil//// +D/net//// +D/netrom//// +D/pmm//// +D/po//// +D/ppp//// +D/servers//// +D/sys//// +D/turboc//// +D/x86//// +D/z80//// diff --git a/src/nos/CVS/Repository b/src/nos/CVS/Repository new file mode 100644 index 00000000..3417e3b2 --- /dev/null +++ b/src/nos/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos diff --git a/src/nos/CVS/Root b/src/nos/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/auto.mk b/src/nos/auto.mk index ea855f11..7d2839de 100644 --- a/src/nos/auto.mk +++ b/src/nos/auto.mk @@ -2,7 +2,7 @@ # ----------------------------------------------------------------------------- -SUBDIRS= po clients dump filesys internet net ppp servers \ +SUBDIRS= po clients crt dump filesys internet net ppp servers \ $(ARCH) iar intl main #ax25 netrom @@ -29,7 +29,7 @@ servers_SOURCES= \ $(ARCH)_SOURCES= \ po -main_SOURCES= po dump internet net ppp filesys $(ARCH) iar intl +main_SOURCES= po crt dump internet net ppp filesys $(ARCH) iar intl #ax25 clients netrom servers # ----------------------------------------------------------------------------- diff --git a/src/nos/ax25/CVS/Entries b/src/nos/ax25/CVS/Entries new file mode 100644 index 00000000..a198d7c7 --- /dev/null +++ b/src/nos/ax25/CVS/Entries @@ -0,0 +1,14 @@ +/auto.mk/1.1.1.1/Mon Nov 17 19:06:14 2003// +/ax25.c/1.1.1.1/Mon Nov 17 19:06:14 2003// +/ax25cmd.c/1.1.1.1/Mon Nov 17 19:06:14 2003// +/ax25hdr.c/1.1.1.1/Mon Nov 17 19:06:14 2003// +/ax25mail.c/1.1.1.1/Mon Nov 17 19:06:14 2003// +/ax25subr.c/1.1.1.1/Mon Nov 17 19:06:14 2003// +/ax25user.c/1.1.1.1/Mon Nov 17 19:06:14 2003// +/axheard.c/1.1.1.1/Mon Nov 17 19:06:14 2003// +/axsock.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/kiss.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/lapb.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/lapbtime.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/makefile/1.1.1.1/Mon Nov 17 19:06:16 2003// +D diff --git a/src/nos/ax25/CVS/Repository b/src/nos/ax25/CVS/Repository new file mode 100644 index 00000000..2a22002a --- /dev/null +++ b/src/nos/ax25/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/ax25 diff --git a/src/nos/ax25/CVS/Root b/src/nos/ax25/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/ax25/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/ax25/ax25.i b/src/nos/ax25/ax25.i new file mode 100644 index 00000000..2126b4d3 --- /dev/null +++ b/src/nos/ax25/ax25.i @@ -0,0 +1,4621 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +enum arp_opcode { + ARP_REQUEST=1, + ARP_REPLY, + REVARP_REQUEST, + REVARP_REPLY +}; + +enum arp_hwtype { + ARP_NETROM=0, + ARP_ETHER, + ARP_EETHER, + ARP_AX25, + ARP_PRONET, + ARP_CHAOS, + ARP_IEEE802, + ARP_ARCNET, + ARP_APPLETALK +}; +extern char *Arptypes[]; + + + +struct arp_type { + uint16 hwalen; + uint16 iptype; + uint16 arptype; + uint16 pendtime; + uint8 *bdcst; + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + +}; +extern struct arp_type Arp_type[]; + + +struct arp { + enum arp_hwtype hardware; + uint16 protocol; + uint8 hwalen; + uint8 pralen; + enum arp_opcode opcode; + uint8 shwaddr[20 ]; + int32 sprotaddr; + uint8 thwaddr[20 ]; + int32 tprotaddr; +}; + + +struct arp_tab { + struct arp_tab *next; + struct arp_tab *prev; + struct timer timer; + struct mbuf *pending; + int32 ip_addr; + enum arp_hwtype hardware; + enum { + ARP_PENDING, + ARP_VALID + } state; + uint8 *hw_addr; + unsigned int pub:1; +}; +extern struct arp_tab *Arp_tab[]; + +struct arp_stat { + unsigned recv; + unsigned badtype; + unsigned badlen; + unsigned badaddr; + unsigned inreq; + unsigned replies; + unsigned outreq; +}; +extern struct arp_stat Arp_stat; + + +struct arp_tab *arp_add(int32 ipaddr,enum arp_hwtype hardware,uint8 *hw_addr, + int pub); +void arp_drop(void *p); +int arp_init(unsigned int hwtype,int hwalen,int iptype,int arptype, + int pendtime,uint8 *bdcst,char *(*format)(char *,uint8 *), + int (*scan)(uint8 *,char *) ); +void arp_input(struct iface *iface,struct mbuf **bpp); +struct arp_tab *arp_lookup(enum arp_hwtype hardware,int32 ipaddr); +uint8 *res_arp(struct iface *iface,enum arp_hwtype hardware,int32 target,struct mbuf **bpp); + + +struct mbuf *htonarp(struct arp *arp); +int ntoharp(struct arp *arp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct tcp { + uint16 source; + uint16 dest; + int32 seq; + int32 ack; + uint16 wnd; + uint16 checksum; + uint16 up; + uint16 mss; + uint8 wsopt; + uint32 tsval; + uint32 tsecr; + struct { + unsigned int congest:1; + unsigned int urg:1; + unsigned int ack:1; + unsigned int psh:1; + unsigned int rst:1; + unsigned int syn:1; + unsigned int fin:1; + unsigned int mss:1; + unsigned int wscale:1; + unsigned int tstamp:1; + } flags; + + + + + + + + + + char optlen; + char options[40 ]; + +}; + + + + + + + + + + + +struct reseq { + struct reseq *next; + struct tcp seg; + struct mbuf *bp; + uint16 length; + char tos; +}; + +enum tcp_state { + TCP_CLOSED=1, + TCP_LISTEN, + TCP_SYN_SENT, + TCP_SYN_RECEIVED, + TCP_ESTABLISHED, + TCP_FINWAIT1, + TCP_FINWAIT2, + TCP_CLOSE_WAIT, + TCP_LAST_ACK, + TCP_CLOSING, + TCP_TIME_WAIT +}; + + +struct tcb { + struct tcb *next; + + struct connection conn; + + enum tcp_state state; + + char reason; + + + + + + + uint8 type; + uint8 code; + + + struct { + int32 una; + int32 nxt; + int32 ptr; + int32 wl1; + int32 wl2; + int32 wnd; + uint16 up; + uint8 wind_scale; + } snd; + int32 iss; + int32 resent; + int32 cwind; + int32 ssthresh; + int dupacks; + + + struct { + int32 nxt; + int32 wnd; + uint16 up; + uint8 wind_scale; + } rcv; + int32 last_ack_sent; + int32 ts_recent; + + int32 irs; + int32 rerecv; + int32 mss; + + int32 window; + int32 limit; + + void (*r_upcall)(struct tcb *tcb,int32 cnt); + + void (*t_upcall)(struct tcb *tcb,int32 cnt); + + void (*s_upcall)(struct tcb *tcb,int old,int new); + + struct { + unsigned int force:1; + unsigned int clone:1; + unsigned int retran:1; + unsigned int active:1; + unsigned int synack:1; + unsigned int rtt_run:1; + unsigned int congest:1; + int ts_ok:1; + int ws_ok:1; + } flags; + char tos; + int backoff; + + struct mbuf *rcvq; + struct mbuf *sndq; + int32 rcvcnt; + int32 sndcnt; + + + + + struct reseq *reseq; + struct timer timer; + int32 rtt_time; + int32 rttseq; + int32 rttack; + int32 srtt; + int32 mdev; + int32 rtt; + + int user; + + + int32 quench; + int32 unreach; + int32 timeouts; + int32 lastack; + int32 txbw; + int32 lastrx; + int32 rxbw; +}; + +struct tcp_rtt { + int32 addr; + int32 srtt; + int32 mdev; +}; +extern struct tcp_rtt Tcp_rtt[]; +extern int (*Kicklist[])(); + + +struct tcp_stat { + uint16 runt; + uint16 checksum; + uint16 conout; + uint16 conin; + uint16 resets; + uint16 bdcsts; +}; +extern struct mib_entry Tcp_mib[]; + + + + + + + + + + + + + + + + +extern struct tcb *Tcbs; +extern char *Tcpstates[]; +extern char *Tcpreasons[]; + + +extern int Tcp_tstamps; +extern int32 Tcp_irtt; +extern uint16 Tcp_limit; +extern uint16 Tcp_mss; +extern int Tcp_syndata; +extern int Tcp_trace; +extern uint16 Tcp_window; + +void st_tcp(struct tcb *tcb); + + +void htontcp(struct tcp *tcph,struct mbuf **data, + int32 ipsrc,int32 ipdest); +int ntohtcp(struct tcp *tcph,struct mbuf **bpp); + + +void reset(struct ip *ip,struct tcp *seg); +void send_syn(struct tcb *tcb); +void tcp_input(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast,int32 said); +void tcp_icmp(int32 icsource,int32 source,int32 dest, + uint8 type,uint8 code,struct mbuf **bpp); + + +void close_self(struct tcb *tcb,int reason); +struct tcb *create_tcb(struct connection *conn); +struct tcb *lookup_tcb(struct connection *conn); +void rtt_add(int32 addr,int32 rtt); +struct tcp_rtt *rtt_get(int32 addr); +int seq_ge(int32 x,int32 y); +int seq_gt(int32 x,int32 y); +int seq_le(int32 x,int32 y); +int seq_lt(int32 x,int32 y); +int seq_within(int32 x,int32 low,int32 high); +void settcpstate(struct tcb *tcb,enum tcp_state newstate); +void tcp_garbage(int red); + + +void tcp_output(struct tcb *tcb); + + +int32 backoff(int n); +void tcp_timeout(void *p); + + +int close_tcp(struct tcb *tcb); +int del_tcp(struct tcb *tcb); +int kick(int32 addr); +int kick_tcp(struct tcb *tcb); +struct tcb *open_tcp(struct socket *lsocket,struct socket *fsocket, + int mode,uint16 window, + void (*r_upcall)(struct tcb *tcb,int32 cnt), + void (*t_upcall)(struct tcb *tcb,int32 cnt), + void (*s_upcall)(struct tcb *tcb,int old,int new), + int tos,int user); +int32 recv_tcp(struct tcb *tcb,struct mbuf **bpp,int32 cnt); +void reset_all(void); +void reset_tcp(struct tcb *tcb); +long send_tcp(struct tcb *tcb,struct mbuf **bpp); +char *tcp_port(uint16 n); +int tcpval(struct tcb *tcb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct cstate { + byte_t this; + struct cstate *next; + struct ip cs_ip; + struct tcp cs_tcp; +}; + + + + +struct slcompress { + struct cstate *tstate; + struct cstate *rstate; + + byte_t tslot_limit; + byte_t rslot_limit; + + byte_t xmit_oldest; + byte_t xmit_current; + byte_t recv_current; + + byte_t flags; + + + int32 sls_o_nontcp; + int32 sls_o_tcp; + int32 sls_o_uncompressed; + int32 sls_o_compressed; + int32 sls_o_searches; + int32 sls_o_misses; + + int32 sls_i_uncompressed; + int32 sls_i_compressed; + int32 sls_i_error; + int32 sls_i_tossed; +}; + + +struct slcompress *slhc_init(int rslots, int tslots); +void slhc_free(struct slcompress *comp); + +int slhc_compress(struct slcompress *comp, + struct mbuf **bpp, int compress_cid); +int slhc_uncompress(struct slcompress *comp, + struct mbuf **bpp); +int slhc_remember(struct slcompress *comp, + struct mbuf **bpp); +int slhc_toss(struct slcompress *comp); + +void slhc_i_status(struct slcompress *comp); +void slhc_o_status(struct slcompress *comp); + + + + + + + + + + + + + + + + + + + +struct slip { + struct iface *iface; + uint8 escaped; + + + struct mbuf *rbp_head; + struct mbuf *rbp_tail; + uint8 *rcp; + uint16 rcnt; + struct mbuf *tbp; + uint16 errors; + int type; + int (*send)(int,struct mbuf **); + int (*get)(int); + struct slcompress *slcomp; +}; + + +extern struct slip Slip[]; + +void asytxdone(int dev); +int slip_free(struct iface *ifp); +int slip_init(struct iface *ifp); +int slip_raw(struct iface *iface,struct mbuf **data); +void slip_rx(int xdev,void *p1,void *p2); +int slip_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int vjslip_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +void slip_status(struct iface *iface); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct ax25_cb { + struct ax25_cb *next; + + struct iface *iface; + + struct mbuf *txq; + struct mbuf *rxasm; + struct mbuf *rxq; + + uint8 local[7 ]; + uint8 remote[7 ]; + + struct { + unsigned int rejsent:1; + unsigned int remotebusy:1; + unsigned int rtt_run:1; + unsigned int retrans:1; + unsigned int clone:1; + } flags; + + uint8 reason; + + + + + uint8 response; + uint8 vs; + uint8 vr; + uint8 unack; + int maxframe; + uint16 paclen; + uint16 window; + enum { + V1=1, + V2 + } proto; + uint16 pthresh; + unsigned retries; + unsigned n2; + enum { + LAPB_DISCONNECTED=1, + LAPB_LISTEN, + LAPB_SETUP, + LAPB_DISCPENDING, + LAPB_CONNECTED, + LAPB_RECOVERY + } state; + struct timer t1; + struct timer t3; + int32 rtt_time; + int rtt_seq; + int32 srt; + int32 mdev; + + void (*r_upcall)(struct ax25_cb *,int); + void (*t_upcall)(struct ax25_cb *,int); + void (*s_upcall)(struct ax25_cb *,int,int); + + int user; + + int segremain; +}; + +struct axlink { + int pid; + void (*funct)(struct iface *,struct ax25_cb *,uint8 *, uint8 *, + struct mbuf **,int); +}; +extern struct axlink Axlink[]; + + + + + + +extern struct ax25_cb Ax25default,*Ax25_cb; +extern char *Ax25states[],*Axreasons[]; +extern int32 Axirtt,T3init,Blimit; +extern uint16 N2,Maxframe,Paclen,Pthresh,Axwindow,Axversion; + + +void st_ax25(struct ax25_cb *axp); + + +struct ax25_cb *cr_ax25(uint8 *addr); +void del_ax25(struct ax25_cb *axp); +struct ax25_cb *find_ax25(uint8 *); + + +int ax25val(struct ax25_cb *axp); +int disc_ax25(struct ax25_cb *axp); +int kick_ax25(struct ax25_cb *axp); +struct ax25_cb *open_ax25(struct iface *,uint8 *,uint8 *, + int,uint16, + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int,int), + int user); +struct mbuf *recv_ax25(struct ax25_cb *axp,uint16 cnt); +int reset_ax25(struct ax25_cb *axp); +int send_ax25(struct ax25_cb *axp,struct mbuf **bp,int pid); + + +void est_link(struct ax25_cb *axp); +void lapbstate(struct ax25_cb *axp,int s); +int lapb_input(struct ax25_cb *axp,int cmdrsp,struct mbuf **bp); +int lapb_output(struct ax25_cb *axp); +struct mbuf *segmenter(struct mbuf **bp,uint16 ssize); +int sendctl(struct ax25_cb *axp,int cmdrsp,int cmd); +int sendframe(struct ax25_cb *axp,int cmdrsp,int ctl,struct mbuf **data); +void axnl3(struct iface *iface,struct ax25_cb *axp,uint8 *src, + uint8 *dest,struct mbuf **bp,int mcast); + + +void pollthem(void *p); +void recover(void *p); + + +uint16 ftype(int control); +void lapb_garbage(int drastic); + + +void s_arcall(struct ax25_cb *axp,int cnt); +void s_ascall(struct ax25_cb *axp,int old,int new); +void s_atcall(struct ax25_cb *axp,int cnt); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct nr4hdr { + uint8 opcode ; + uint8 yourindex ; + uint8 yourid ; + + union { + + struct { + uint8 family ; + uint8 proto ; + } pid ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + uint8 user[7 ] ; + uint8 node[7 ] ; + } conreq ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + } conack ; + + struct { + uint8 txseq ; + uint8 rxseq ; + } info ; + + struct { + uint8 rxseq ; + } ack ; + + } u ; + +} ; + + + +struct nr4txbuf { + struct timer tretry ; + unsigned retries ; + struct mbuf *data ; +} ; + + + +struct nr4rxbuf { + uint8 occupied ; + struct mbuf *data ; +} ; + + +struct nr4_addr { + uint8 user[7 ]; + uint8 node[7 ]; +}; + +struct sockaddr_nr { + short nr_family; + struct nr4_addr nr_addr; +}; + + + +struct nr4cb { + unsigned mynum ; + unsigned myid ; + unsigned yournum ; + unsigned yourid ; + struct nr4_addr remote ; + struct nr4_addr local ; + + unsigned window ; + + + + long srtt ; + long mdev ; + unsigned blevel ; + unsigned txmax ; + + + + + + + + char clone ; + char choked ; + char qfull ; + + char naksent ; + + + + struct nr4txbuf *txbufs ; + uint8 nextosend ; + uint8 ackxpected ; + unsigned nbuffered ; + struct mbuf *txq ; + + + + struct nr4rxbuf *rxbufs ; + uint8 rxpected ; + uint8 rxpastwin ; + struct mbuf *rxq ; + + + + int state ; + + + + + + + int dreason ; + + + + + + + + + struct timer tchoke ; + struct timer tack ; + + struct timer tcd ; + unsigned cdtries ; + + void (*r_upcall)(struct nr4cb *,uint16); + + void (*t_upcall)(struct nr4cb *,uint16); + + void (*s_upcall)(struct nr4cb *,int,int); + + int user ; +} ; + + + +struct nr4circp { + uint8 cid ; + + struct nr4cb *ccb ; + +} ; + + + +extern struct nr4circp Nr4circuits[20 ] ; + + + +extern unsigned short Nr4window ; +extern long Nr4irtt ; +extern unsigned short Nr4retries ; +extern long Nr4acktime ; +extern char *Nr4states[] ; +extern char *Nr4reasons[] ; +extern unsigned short Nr4qlimit ; +extern long Nr4choketime ; +extern uint8 Nr4user[7 ]; + + + + +int ntohnr4(struct nr4hdr *, struct mbuf **); +struct mbuf *htonnr4(struct nr4hdr *); + + +void free_n4circ(struct nr4cb *); +struct nr4cb *get_n4circ(int, int); +int init_nr4window(struct nr4cb *, unsigned); +int nr4between(unsigned, unsigned, unsigned); +struct nr4cb *match_n4circ(int, int,uint8 *,uint8 *); +struct nr4cb *new_n4circ(void); +void nr4defaults(struct nr4cb *); +int nr4valcb(struct nr4cb *); +void nr_garbage(int red); + + +void nr4input(struct nr4hdr *hdr,struct mbuf **bp); +int nr4output(struct nr4cb *); +void nr4sbuf(struct nr4cb *, unsigned); +void nr4sframe(uint8 *, struct nr4hdr *, struct mbuf **); +void nr4state(struct nr4cb *, int); + + +void nr4ackit(void *); +void nr4cdtimeout(void *); +void nr4txtimeout(void *); +void nr4unchoke(void *); + + +void disc_nr4(struct nr4cb *); +int kick_nr4(struct nr4cb *); +struct nr4cb *open_nr4(struct nr4_addr *, struct nr4_addr *, int, + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,int,int),int); +struct mbuf *recv_nr4(struct nr4cb *, uint16); +void reset_nr4(struct nr4cb *); +int send_nr4(struct nr4cb *, struct mbuf **); + + +void nr4_state(struct nr4cb *, int, int); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct nr3hdr { + uint8 source[7 ] ; + uint8 dest[7 ] ; + unsigned ttl ; +} ; + + + +struct nr3dest { + uint8 dest[7 ] ; + char alias[7 ] ; + uint8 neighbor[7 ] ; + unsigned quality ; +} ; + + + +struct nriface { + struct iface *iface ; + char alias[7 ] ; + + unsigned quality ; +} ; + + +struct nrnbr_tab { + struct nrnbr_tab *next ; + struct nrnbr_tab *prev ; + uint8 call[7 ] ; + unsigned iface ; + + unsigned refcnt ; +} ; + + + + + + +struct nr_bind { + struct nr_bind *next ; + struct nr_bind *prev ; + unsigned quality ; + unsigned obsocnt ; + unsigned flags ; + + + struct nrnbr_tab *via ; +} ; + + + +struct nrroute_tab { + struct nrroute_tab *next ; + struct nrroute_tab *prev ; + char alias[7 ] ; + uint8 call[7 ] ; + unsigned num_routes ; + struct nr_bind *routes ; + +} ; + + +struct nrnf_tab { + struct nrnf_tab *next ; + struct nrnf_tab *prev ; + uint8 neighbor[7 ] ; + unsigned iface ; +} ; + + +struct raw_nr { + struct raw_nr *prev; + struct raw_nr *next; + + struct mbuf *rcvq; + uint8 protocol; +}; + + +extern struct nriface Nrifaces[10 ] ; + + +extern unsigned Nr_numiface ; + + +extern struct nrnbr_tab *Nrnbr_tab[17 ] ; + + +extern struct nrroute_tab *Nrroute_tab[17 ] ; + + +extern struct nrnf_tab *Nrnf_tab[17 ] ; + +extern uint8 Nr_nodebc[7 ]; + + + + + + + +extern unsigned Nr_nfmode ; + + +extern unsigned short Nr_ttl ; + + +extern unsigned Obso_init ; + + +extern unsigned Obso_minbc ; + + + +extern unsigned Nr_autofloor ; + + + + +extern int Nr_verbose ; + + + + + +extern unsigned Nr_maxroutes ; + + +extern struct iface *Nr_iface ; + + + + +void del_rnr(struct raw_nr *rpp); +uint8 *find_nralias(char *); +struct nrroute_tab *find_nrroute(uint8 *); +void nr_bcnodes(unsigned ifno); +void nr_nodercv(struct iface *iface,uint8 *source,struct mbuf **bpp); +int nr_nfadd(uint8 *, unsigned); +int nr_nfdrop(uint8 *, unsigned); +void nr_route(struct mbuf **bp,struct ax25_cb *iaxp); +int nr_routeadd(char *, uint8 *, unsigned, + unsigned, uint8 *, unsigned, unsigned); +int nr_routedrop(uint8 *, uint8 *, unsigned); +int nr_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +void nr_sendraw(uint8 *dest,unsigned family,unsigned proto, + struct mbuf **data); +void nr3output(uint8 *dest,struct mbuf **data); +uint16 nrhash(uint8 *s); +struct raw_nr *raw_nr(uint8); + + +void donrdump(struct nr4cb *cb); +int doroutedump(void); +int dorouteinfo(int argc,char *argv[],void *p); +int putalias(char *to, char *from,int complain); + + +struct mbuf *htonnr3(struct nr3hdr *); +struct mbuf *htonnrdest(struct nr3dest *); +int ntohnr3(struct nr3hdr *, struct mbuf **); +int ntohnrdest(struct nr3dest *ds,struct mbuf **bpp); + + + + + + + + + + + +enum devparam { + PARAM_DATA, + PARAM_TXDELAY, + PARAM_PERSIST, + PARAM_SLOTTIME, + PARAM_TXTAIL, + PARAM_FULLDUP, + PARAM_HW, + PARAM_MUTE, + PARAM_DTR, + PARAM_RTS, + PARAM_SPEED, + PARAM_ENDDELAY, + PARAM_GROUP, + PARAM_IDLE, + PARAM_MIN, + PARAM_MAXKEY, + PARAM_WAIT, + + PARAM_CLOSE, + PARAM_OPEN, + PARAM_LISTEN, + PARAM_DOWN=0x81, + PARAM_UP=0x82, + + PARAM_BLIND=0x83, + PARAM_RETURN=0xff +}; + + +int devparam(char *s); +char *parmname(int n); + + + + + + + + + + + + +extern unsigned char __ctype[]; + + + + + + + + + + + + +extern int toupper (int); +extern int tolower (int); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +uint8 Ax25multi[][7 ] = { + 'Q'<<1, 'S'<<1, 'T'<<1, ' '<<1, ' '<<1, ' '<<1, '0'<<1, + 'M'<<1, 'A'<<1, 'I'<<1, 'L'<<1, ' '<<1, ' '<<1, '0'<<1, + 'N'<<1, 'O'<<1, 'D'<<1, 'E'<<1, 'S'<<1, ' '<<1, '0'<<1, + 'I'<<1, 'D'<<1, ' '<<1, ' '<<1, ' '<<1, ' '<<1, '0'<<1, + 'O'<<1, 'P'<<1, 'E'<<1, 'N'<<1, ' '<<1, ' '<<1, '0'<<1, + 'C'<<1, 'Q'<<1, ' '<<1, ' '<<1, ' '<<1, ' '<<1, '0'<<1, + 'B'<<1, 'E'<<1, 'A'<<1, 'C'<<1, 'O'<<1, 'N'<<1, '0'<<1, + 'R'<<1, 'M'<<1, 'N'<<1, 'C'<<1, ' '<<1, ' '<<1, '0'<<1, + 'A'<<1, 'L'<<1, 'L'<<1, ' '<<1, ' '<<1, ' '<<1, '0'<<1, + '\0', +}; +uint8 Mycall[7 ]; +struct ax_route *Ax_routes; +int Digipeat = 1; + +int +axi_send( +struct mbuf **bpp, +struct iface *iface, +int32 gateway, +uint8 tos +){ + return axui_send(bpp,iface,gateway,tos); +} + + +int +axui_send( +struct mbuf **bpp, +struct iface *iface, +int32 gateway, +uint8 tos +){ + struct mbuf *tbp; + uint8 *hw_addr; + struct ax25_cb *axp; + + if((hw_addr = res_arp(iface,ARP_AX25,gateway,bpp)) == 0) + return 0; + + + + + + + + + if((tos & 0x1c ) == 0x10 + || ((tos & 0x1c ) != 0x04 && (iface->send == axui_send)) + || addreq(hw_addr,Ax25multi[0])){ + + return (*iface->output)(iface,hw_addr,iface->hwaddr,0xcc ,bpp); + } + + if((axp = find_ax25(hw_addr)) == 0){ + + axp = open_ax25(iface,iface->hwaddr,hw_addr, + 1,Axwindow,s_arcall,s_atcall,s_ascall,-1); + if(axp == 0){ + free_p(bpp); + return -1; + } + } + if(axp->state == LAPB_DISCONNECTED){ + est_link(axp); + lapbstate(axp,LAPB_SETUP); + } + + pushdown(bpp,0,1); + (*bpp)->data[0] = 0xcc ; + if((tbp = segmenter(bpp,axp->paclen)) == 0){ + free_p(bpp); + return -1; + } + return send_ax25(axp,&tbp,-1); +} + + + + +int +ax_output( +struct iface *iface, +uint8 *dest, +uint8 *source, +uint16 pid, +struct mbuf **bpp +){ + + pushdown(bpp,0,1); + (*bpp)->data[0] = (uint8)pid; + return axsend(iface,dest,source,LAPB_COMMAND,0x03 ,bpp); +} + +int +axsend( +struct iface *iface, +uint8 *dest, +uint8 *source, +int cmdrsp, +int ctl, +struct mbuf **bpp +){ + struct ax25 addr; + struct ax_route *axr; + uint8 *idest; + int rval; + + + if(source[0] == '\0') + source = iface->hwaddr; + + + axr = ax_lookup(dest); + + memcpy(addr.dest,dest,7 ); + memcpy(addr.source,source,7 ); + addr.cmdrsp = cmdrsp; + + if(axr != 0){ + memcpy(addr.digis,axr->digis,axr->ndigis*7 ); + addr.ndigis = axr->ndigis; + idest = addr.digis[0]; + } else { + addr.ndigis = 0; + idest = dest; + } + addr.nextdigi = 0; + + + pushdown(bpp,0,1); + (*bpp)->data[0] = ctl; + + htonax25(&addr,bpp); + + + + if(iface->forw != 0){ + logsrc(iface->forw,iface->forw->hwaddr); + logdest(iface->forw,idest); + rval = (*iface->forw->raw)(iface->forw,bpp); + } else { + logsrc(iface,iface->hwaddr); + logdest(iface,idest); + rval = (*iface->raw)(iface,bpp); + } + return rval; +} + + + + + +void +ax_recv( +struct iface *iface, +struct mbuf **bpp +){ + uint8 control; + struct ax25 hdr; + struct ax25_cb *axp; + struct ax_route *axr; + uint8 (*mpp)[7 ]; + int mcast; + uint8 *isrc,*idest; + + + if(ntohax25(&hdr,bpp) < 0){ + + free_p(bpp); + return; + } + + + + + if(hdr.ndigis != 0 && hdr.nextdigi != 0) + isrc = hdr.digis[hdr.nextdigi-1]; + else + isrc = hdr.source; + + + + + + if(hdr.ndigis != 0 && hdr.nextdigi != hdr.ndigis) + idest = hdr.digis[hdr.nextdigi]; + else + idest = hdr.dest; + + + + + if(!addreq(isrc,iface->hwaddr)){ + logsrc(iface,isrc); + logdest(iface,idest); + } + + mcast = 0; + for(mpp = Ax25multi;(*mpp)[0] != '\0';mpp++){ + if(addreq(idest,*mpp)){ + mcast = 1; + break; + } + } + if(!mcast && !addreq(idest,iface->hwaddr)){ + + + + + if(iface->ioctl != 0) + (*iface->ioctl)(iface,PARAM_MUTE,1,-1); + free_p(bpp); + return; + } + if(!mcast && iface->ioctl != 0){ + + (*iface->ioctl)(iface,PARAM_MUTE,1,0); + } + + + + if(hdr.nextdigi < hdr.ndigis){ + + if(Digipeat && !mcast){ + + + + hdr.nextdigi++; + htonax25(&hdr,bpp); + if(iface->forw != 0){ + logsrc(iface->forw,iface->forw->hwaddr); + logdest(iface->forw,hdr.digis[hdr.nextdigi]); + (*iface->forw->raw)(iface->forw,bpp); + } else { + logsrc(iface,iface->hwaddr); + logdest(iface,hdr.digis[hdr.nextdigi]); + (*iface->raw)(iface,bpp); + } + } + free_p(bpp); + return; + } + + + + if(*bpp == 0) + return; + + + + + + if(((axr = ax_lookup(hdr.source)) == 0 || axr->type == AX_AUTO) + && hdr.ndigis > 0){ + uint8 digis[7 ][7 ]; + int i,j; + + + for(i=hdr.ndigis-1,j=0;i >= 0;i--,j++){ + memcpy(digis[j],hdr.digis[i],7 ); + digis[j][6 ] &= ~(0x01 |0x80 ); + } + ax_add(hdr.source,AX_AUTO,digis,hdr.ndigis); + } + + + + + + control = *(*bpp)->data & ~0x10 ; + + if(control == 0x03 ){ + int pid; + struct axlink *ipp; + + (void) pull8(((bpp))); + if((pid = pull8(((bpp)))) == -1) + return; + + for(ipp = Axlink;ipp->funct != 0;ipp++){ + if(ipp->pid == pid) + break; + } + if(ipp->funct != 0) + (*ipp->funct)(iface,0,hdr.source,hdr.dest,bpp,mcast); + else + free_p(bpp); + return; + } + + + + if(mcast){ + free_p(bpp); + return; + } + + if((axp = find_ax25(hdr.source)) == 0){ + + + + + if((axp = cr_ax25(hdr.source)) == 0){ + free_p(bpp); + return; + } + + memcpy(axp->remote,hdr.source,7 ); + memcpy(axp->local,hdr.dest,7 ); + axp->iface = iface; + } + if(hdr.cmdrsp == LAPB_UNKNOWN) + axp->proto = V1; + + lapb_input(axp,hdr.cmdrsp,bpp); +} + +struct ax_route * +ax_lookup( +uint8 *target +){ + register struct ax_route *axr; + struct ax_route *axlast = 0; + + for(axr = Ax_routes; axr != 0; axlast=axr,axr = axr->next){ + if(addreq(axr->target,target)){ + if(axr != Ax_routes){ + + + + axlast->next = axr->next; + axr->next = Ax_routes; + Ax_routes = axr; + + } + return axr; + } + } + return axr; +} + +struct ax_route * +ax_add( +uint8 *target, +int type, +uint8 digis[][7 ], +int ndigis +){ + register struct ax_route *axr; + + if(ndigis < 0 || ndigis > 7 ) + return 0; + + if((axr = ax_lookup(target)) == 0){ + axr = (struct ax_route *)callocw(1,sizeof(struct ax_route)); + axr->next = Ax_routes; + Ax_routes = axr; + memcpy(axr->target,target,7 ); + axr->ndigis = ndigis; + } + axr->type = type; + if(axr->ndigis != ndigis) + axr->ndigis = ndigis; + + memcpy(axr->digis,digis[0],ndigis*7 ); + return axr; +} +int +ax_drop( +uint8 *target +){ + register struct ax_route *axr; + struct ax_route *axlast = 0; + + for(axr = Ax_routes;axr != 0;axlast=axr,axr=axr->next) + if(memcmp(axr->target,target,7 ) == 0) + break; + if(axr == 0) + return -1; + if(axlast != 0) + axlast->next = axr->next; + else + Ax_routes = axr->next; + + free(axr); + return 0; +} diff --git a/src/nos/ax25/ax25cmd.i b/src/nos/ax25/ax25cmd.i new file mode 100644 index 00000000..20e61e2f --- /dev/null +++ b/src/nos/ax25/ax25cmd.i @@ -0,0 +1,4345 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct ax25_cb { + struct ax25_cb *next; + + struct iface *iface; + + struct mbuf *txq; + struct mbuf *rxasm; + struct mbuf *rxq; + + uint8 local[7 ]; + uint8 remote[7 ]; + + struct { + unsigned int rejsent:1; + unsigned int remotebusy:1; + unsigned int rtt_run:1; + unsigned int retrans:1; + unsigned int clone:1; + } flags; + + uint8 reason; + + + + + uint8 response; + uint8 vs; + uint8 vr; + uint8 unack; + int maxframe; + uint16 paclen; + uint16 window; + enum { + V1=1, + V2 + } proto; + uint16 pthresh; + unsigned retries; + unsigned n2; + enum { + LAPB_DISCONNECTED=1, + LAPB_LISTEN, + LAPB_SETUP, + LAPB_DISCPENDING, + LAPB_CONNECTED, + LAPB_RECOVERY + } state; + struct timer t1; + struct timer t3; + int32 rtt_time; + int rtt_seq; + int32 srt; + int32 mdev; + + void (*r_upcall)(struct ax25_cb *,int); + void (*t_upcall)(struct ax25_cb *,int); + void (*s_upcall)(struct ax25_cb *,int,int); + + int user; + + int segremain; +}; + +struct axlink { + int pid; + void (*funct)(struct iface *,struct ax25_cb *,uint8 *, uint8 *, + struct mbuf **,int); +}; +extern struct axlink Axlink[]; + + + + + + +extern struct ax25_cb Ax25default,*Ax25_cb; +extern char *Ax25states[],*Axreasons[]; +extern int32 Axirtt,T3init,Blimit; +extern uint16 N2,Maxframe,Paclen,Pthresh,Axwindow,Axversion; + + +void st_ax25(struct ax25_cb *axp); + + +struct ax25_cb *cr_ax25(uint8 *addr); +void del_ax25(struct ax25_cb *axp); +struct ax25_cb *find_ax25(uint8 *); + + +int ax25val(struct ax25_cb *axp); +int disc_ax25(struct ax25_cb *axp); +int kick_ax25(struct ax25_cb *axp); +struct ax25_cb *open_ax25(struct iface *,uint8 *,uint8 *, + int,uint16, + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int,int), + int user); +struct mbuf *recv_ax25(struct ax25_cb *axp,uint16 cnt); +int reset_ax25(struct ax25_cb *axp); +int send_ax25(struct ax25_cb *axp,struct mbuf **bp,int pid); + + +void est_link(struct ax25_cb *axp); +void lapbstate(struct ax25_cb *axp,int s); +int lapb_input(struct ax25_cb *axp,int cmdrsp,struct mbuf **bp); +int lapb_output(struct ax25_cb *axp); +struct mbuf *segmenter(struct mbuf **bp,uint16 ssize); +int sendctl(struct ax25_cb *axp,int cmdrsp,int cmd); +int sendframe(struct ax25_cb *axp,int cmdrsp,int ctl,struct mbuf **data); +void axnl3(struct iface *iface,struct ax25_cb *axp,uint8 *src, + uint8 *dest,struct mbuf **bp,int mcast); + + +void pollthem(void *p); +void recover(void *p); + + +uint16 ftype(int control); +void lapb_garbage(int drastic); + + +void s_arcall(struct ax25_cb *axp,int cnt); +void s_ascall(struct ax25_cb *axp,int old,int new); +void s_atcall(struct ax25_cb *axp,int cnt); + + + + + + + + + + + + +struct cmds { + _char *name; + int (*func)(int argc,char *argv[],void *p); + + int stksize; + int argcmin; + _char *argc_errmsg; +}; +extern struct cmds Cmds[],Startcmds[],Stopcmds[],Attab[]; + + +int cmdparse(struct cmds cmds[], char *line, void *p); +int subcmd(struct cmds tab[], int argc, char *argv[], void *p); +int setbool(int *var, _char *label, int argc, char *argv[]); +int bit16cmd(uint16 *bits, uint16 mask, _char *label, int argc, char *argv[]); +int setint(int *var, _char *label, int argc, char *argv[]); +int setlong(int32 *var, _char *label, int argc, char *argv[]); +int setshort(unsigned short *var, _char *label, int argc, char *argv[]); +int setuns(unsigned *var, _char *label, int argc, char *argv[]); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + + + + + + + + +struct let { + long start; + long size; + int status; +}; + + +struct mbx { + int state ; + + + + + + + + char name[20] ; + char *to ; + char *origto ; + char *tofrom ; + char *tomsgid ; + FILE *tfile ; + + char line[128 +1] ; + int mbnum ; + int sid ; + + + + + + + + + + + + char stype ; + int type ; + FILE *user; + char escape; + int privs; + + + + + + char *path; + char *startmsg; + + int current; + int nmsgs; + int newmsgs; + int change; + int anyread; + FILE *mfile; + char area[64]; + long mboxsize; + long mysize; + struct let *mbox; + char *stdinbuf; + char *stdoutbuf; +} ; + + +struct gwalarm { + FILE *s1; + FILE *s2; + struct timer t; +}; + + +extern struct mbx *Mbox[10 ] ; +extern char Noperm[]; +extern char Nosock[]; +extern void (*Listusers)(FILE *network); + +int dombescape(int argc,char *argv[],void *p); +int mbxrecvline(FILE *network,char *buf,int len,int escape); +int gw_connect(struct mbx *m,int s,struct sockaddr *fsocket,int len); + +void mbx_incom(int s,void *t,void *p); +int domboxdisplay(int argc,char *argv[],void *p); +struct mbx *newmbx(void); +void exitbbs(struct mbx *m); +int domboxbye(int argc,char *argv[],void *p); +int mbx_parse(struct mbx *m); +void changearea(struct mbx *m,char *area); +char *rewrite_address(char *addr); +void listusers(FILE *network); + + +int dorevfwd(int argc,char *argv[],void *p); +int dombtimer(int argc,char *argv[],void *p); +int dombkick(int argc,char *argv[],void *p); + + +extern unsigned Tiptimeout; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + + + + + + + + + + +enum ftp_type { + ASCII_TYPE, + IMAGE_TYPE, + LOGICAL_TYPE +}; + + +enum verb_level { + V_QUIET, + V_SHORT, + V_NORMAL, + V_HASH, + V_STAT +}; + +long sendfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +long recvfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +int isbinary(FILE *fp); +int md5hash(FILE *fp,uint8 hash[16],int ascii); + + + + + + + + + + + +struct ftpcli { + FILE *control; + FILE *data; + + char state; + + + + + uint16 verbose; + int batch; + int abort; + int update; + char type; + char typesent; + int logbsize; + FILE *fp; + + char buf[256 ]; + char line[256 ]; + struct session *session; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct telnet { + char local[6]; + char remote[6]; + struct session *session; + char eolmode; +}; + +extern int Refuse_echo; +extern int Tn_cr_mode; + + +int tel_connect(struct session *sp,struct sockaddr *fsocket,int len); +void tel_output(int unused,void *p1,void *p2); +void tnrecv(struct telnet *tn); +void doopt(struct telnet *tn,int opt); +void dontopt(struct telnet *tn,int opt); +void willopt(struct telnet *tn,int opt); +void wontopt(struct telnet *tn,int opt); +void answer(struct telnet *tn,int r1,int r2); + + +void ttylhandle(int s,void *unused,void *p); + + + + +struct ttystate { + uint8 *line; + uint8 *lp; + unsigned int echo:1; + unsigned int edit:1; + unsigned int crnl:1; +}; + + +struct session { + unsigned strchr; + enum { + TELNET, + FTP, + AX25TNC, + FINGER, + PING, + NRSESSION, + COMMAND, + VIEW, + HOP, + TIP, + PPPPASS, + DIAL, + DQUERY, + DCLIST, + ITRACE, + REPEAT, + FAX + } type; + + char *name; + union { + struct ftpcli *ftp; + struct telnet *telnet; + void *p; + } cb; + struct proc *proc; + struct proc *proc1; + struct proc *proc2; + FILE *network; + FILE *record; + FILE *upload; + struct ttystate ttystate; + FILE *input; + FILE *output; + int (*ctlproc)(int); + int (*inproc)(int); + struct session *parent; + enum { + SCROLL_INBAND, + SCROLL_LOCAL + } scrollmode; +}; +extern char *Sestypes[]; +extern unsigned Nsessions; +extern long Sfsize; + +extern struct session *Sessions[]; + + + +extern struct session *Current; +extern struct session *Lastcurr; +extern struct session *Command; +extern char *Cmdline; + + +void freesession(struct session *sp); +int keywait(char *prompt,int flush); +struct session *sessptr(char *cp); +struct session *newsession(char *name,int type,int makecur); +void sesflush(void); +void upload(int unused,void *sp1,void *p); + +extern uint16 Lport; + + + + + + + + + + + + + + + +int ttydriv(struct session *sp,uint8 c); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct nr4hdr { + uint8 opcode ; + uint8 yourindex ; + uint8 yourid ; + + union { + + struct { + uint8 family ; + uint8 proto ; + } pid ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + uint8 user[7 ] ; + uint8 node[7 ] ; + } conreq ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + } conack ; + + struct { + uint8 txseq ; + uint8 rxseq ; + } info ; + + struct { + uint8 rxseq ; + } ack ; + + } u ; + +} ; + + + +struct nr4txbuf { + struct timer tretry ; + unsigned retries ; + struct mbuf *data ; +} ; + + + +struct nr4rxbuf { + uint8 occupied ; + struct mbuf *data ; +} ; + + +struct nr4_addr { + uint8 user[7 ]; + uint8 node[7 ]; +}; + +struct sockaddr_nr { + short nr_family; + struct nr4_addr nr_addr; +}; + + + +struct nr4cb { + unsigned mynum ; + unsigned myid ; + unsigned yournum ; + unsigned yourid ; + struct nr4_addr remote ; + struct nr4_addr local ; + + unsigned window ; + + + + long srtt ; + long mdev ; + unsigned blevel ; + unsigned txmax ; + + + + + + + + char clone ; + char choked ; + char qfull ; + + char naksent ; + + + + struct nr4txbuf *txbufs ; + uint8 nextosend ; + uint8 ackxpected ; + unsigned nbuffered ; + struct mbuf *txq ; + + + + struct nr4rxbuf *rxbufs ; + uint8 rxpected ; + uint8 rxpastwin ; + struct mbuf *rxq ; + + + + int state ; + + + + + + + int dreason ; + + + + + + + + + struct timer tchoke ; + struct timer tack ; + + struct timer tcd ; + unsigned cdtries ; + + void (*r_upcall)(struct nr4cb *,uint16); + + void (*t_upcall)(struct nr4cb *,uint16); + + void (*s_upcall)(struct nr4cb *,int,int); + + int user ; +} ; + + + +struct nr4circp { + uint8 cid ; + + struct nr4cb *ccb ; + +} ; + + + +extern struct nr4circp Nr4circuits[20 ] ; + + + +extern unsigned short Nr4window ; +extern long Nr4irtt ; +extern unsigned short Nr4retries ; +extern long Nr4acktime ; +extern char *Nr4states[] ; +extern char *Nr4reasons[] ; +extern unsigned short Nr4qlimit ; +extern long Nr4choketime ; +extern uint8 Nr4user[7 ]; + + + + +int ntohnr4(struct nr4hdr *, struct mbuf **); +struct mbuf *htonnr4(struct nr4hdr *); + + +void free_n4circ(struct nr4cb *); +struct nr4cb *get_n4circ(int, int); +int init_nr4window(struct nr4cb *, unsigned); +int nr4between(unsigned, unsigned, unsigned); +struct nr4cb *match_n4circ(int, int,uint8 *,uint8 *); +struct nr4cb *new_n4circ(void); +void nr4defaults(struct nr4cb *); +int nr4valcb(struct nr4cb *); +void nr_garbage(int red); + + +void nr4input(struct nr4hdr *hdr,struct mbuf **bp); +int nr4output(struct nr4cb *); +void nr4sbuf(struct nr4cb *, unsigned); +void nr4sframe(uint8 *, struct nr4hdr *, struct mbuf **); +void nr4state(struct nr4cb *, int); + + +void nr4ackit(void *); +void nr4cdtimeout(void *); +void nr4txtimeout(void *); +void nr4unchoke(void *); + + +void disc_nr4(struct nr4cb *); +int kick_nr4(struct nr4cb *); +struct nr4cb *open_nr4(struct nr4_addr *, struct nr4_addr *, int, + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,int,int),int); +struct mbuf *recv_nr4(struct nr4cb *, uint16); +void reset_nr4(struct nr4cb *); +int send_nr4(struct nr4cb *, struct mbuf **); + + +void nr4_state(struct nr4cb *, int, int); + + + + + + +int doasystat(int argc,char *argv[],void *p); +int fp_attach (int argc,char *argv[],void *p); + + +int domem(int argc,char *argv[],void *p); + + +int doamiga(int argc,char *argv[],void *p); + + +int doarp(int argc,char *argv[],void *p); + + +int asy_attach(int argc,char *argv[],void *p); + + +int doax25(int argc,char *argv[],void *p); +int doaxheard(int argc,char *argv[],void *p); +int doaxdest(int argc,char *argv[],void *p); +int doconnect(int argc,char *argv[],void *p); + + +int dobootp(int argc,char *argv[],void *p); + + +int bootpdcmd(int argc,char *argv[],void *p); + + +int dodialer(int argc,char *argv[],void *p); + + +int docd(int argc,char *argv[],void *p); +int dodir(int argc,char *argv[],void *p); +int domkd(int argc,char *argv[],void *p); +int dormd(int argc,char *argv[],void *p); + + +int dodomain(int argc,char *argv[],void *p); + + +int dodrstat(int argc,char *argv[],void *p); +int dr_attach(int argc,char *argv[],void *p); +int dodr(int argc,char *argv[],void *p); + + +int eg_attach(int argc,char *argv[],void *p); +int doegstat(int argc,char *argv[],void *p); + + +int doetherstat(int argc,char *argv[],void *p); +int ec_attach(int argc,char *argv[],void *p); + + +int dofax(int argc,char *argv[],void *p); +int fax1(int argc,char *argv[],void *p); +int fax0(int argc,char *argv[],void *p); + + +int dofinger(int argc,char *argv[],void *p); + + +int finstart(int argc,char *argv[],void *p); +int fin0(int argc,char *argv[],void *p); + + +int doftp(int argc,char *argv[],void *p); +int doabort(int argc,char *argv[],void *p); + + +int ftpstart(int argc,char *argv[],void *p); +int ftp0(int argc,char *argv[],void *p); + + +int dohapnstat(int argc,char *argv[],void *p); +int hapn_attach(int argc,char *argv[],void *p); + + +int dohop(int argc,char *argv[],void *p); + + +int dohs(int argc,char *argv[],void *p); +int hs_attach(int argc,char *argv[],void *p); + + +int doicmp(int argc,char *argv[],void *p); + + +int doifconfig(int argc,char *argv[],void *p); +int dodetach(int argc,char *argv[],void *p); + + +int doip(int argc,char *argv[],void *p); +int doroute(int argc,char *argv[],void *p); + + +int dosec(int argc,char *argv[],void *p); + + +int doksp(int argc,char *argv[],void *p); + + +int ps(int argc,char *argv[],void *p); + + +int dolterm(int argc,char *argv[],void *p); + + +int dodelete(int argc,char *argv[],void *p); +int dorename(int argc,char *argv[],void *p); +int doexit(int argc,char *argv[],void *p); +int dohostname(int argc,char *argv[],void *p); +int dolog(int argc,char *argv[],void *p); +int dohelp(int argc,char *argv[],void *p); +int doattach(int argc,char *argv[],void *p); +int doparam(int argc,char *argv[],void *p); +int dopage(int argc,char *argv[],void *p); +int domode(int argc,char *argv[],void *p); +int donothing(int argc,char *argv[],void *p); +int donrstat(int argc,char *argv[],void *p); +int doescape(int argc,char *argv[],void *p); +int doremote(int argc,char *argv[],void *p); +int doboot(int argc,char *argv[],void *p); +int dorepeat(int argc,char *argv[],void *p); +int dostacktest(int argc,char *argv[],void *p); +int dosysdebug(int argc,char *argv[],void *p); +int dosystrace(int argc,char *argv[],void *p); +int dowipe(int argc,char *argv[],void *p); + + +int dombox(int argc,char *argv[],void *p); + + +int donntp(int argc,char *argv[],void *p); + + +int donetrom(int argc,char *argv[],void *p); +int nr_attach(int argc,char *argv[],void *p); + + +int doshell(int argc,char *argv[],void *p); +int doisat(int argc,char *argv[],void *p); + + +int pc_attach(int argc,char *argv[],void *p); + + +int pk_attach(int argc,char *argv[],void *p); + + +int pi_attach(int argc,char *argv[],void *p); +int dopistat(int argc,char *argv[],void *p); + + +int doping(int argc,char *argv[],void *p); + + +int dopop(int argc,char *argv[],void *p); + + +int pop1(int argc,char *argv[],void *p); +int pop0(int argc,char *argv[],void *p); + + +int doqtso(int argc,char *argv[],void *p); + + +int dorarp(int argc,char *argv[],void *p); + + +int dorip(int argc,char *argv[],void *p); + + +int doaddrefuse(int argc,char *argv[],void *p); +int dodroprefuse(int argc,char *argv[],void *p); +int dorip(int argc,char *argv[],void *p); +int doripadd(int argc,char *argv[],void *p); +int doripdrop(int argc,char *argv[],void *p); +int doripinit(int argc,char *argv[],void *p); +int doripmerge(int argc,char *argv[],void *p); +int doripreq(int argc,char *argv[],void *p); +int doripstat(int argc,char *argv[],void *p); +int doripstop(int argc,char *argv[],void *p); +int doriptrace(int argc,char *argv[],void *p); + + +int dosound(int argc,char *argv[],void *p); + + +int escc_attach(int argc,char *argv[],void *p); +int doesccstat(int argc,char *argv[],void *p); + + +int dosession(int argc,char *argv[],void *p); +int go(int argc,char *argv[],void *p); +int doclose(int argc,char *argv[],void *p); +int doreset(int argc,char *argv[],void *p); +int dokick(int argc,char *argv[],void *p); +int dorecord(int argc,char *argv[],void *p); +int dosfsize(int argc,char *argv[],void *p); +int doupload(int argc,char *argv[],void *p); + + +int dis1(int argc,char *argv[],void *p); +int dis0(int argc,char *argv[],void *p); +int echo1(int argc,char *argv[],void *p); +int echo0(int argc,char *argv[],void *p); +int rem1(int argc,char *argv[],void *p); +int rem0(int argc,char *argv[],void *p); +int term1(int argc,char *argv[],void *p); +int term0(int argc,char *argv[],void *p); +int bsr1(int argc,char *argv[],void *p); +int bsr0(int argc,char *argv[],void *p); + + +int dosmtp(int argc,char *argv[],void *p); + + +int smtp1(int argc,char *argv[],void *p); +int smtp0(int argc,char *argv[],void *p); + + +int dosock(int argc,char *argv[],void *p); + + +int dofiles(int argc,char *argv[],void *p); + + +int doswatch(int argc,char *argv[],void *p); + + +int dotcp(int argc,char *argv[],void *p); + + +int doecho(int argc,char *argv[],void *p); +int doeol(int argc,char *argv[],void *p); +int dotelnet(int argc,char *argv[],void *p); +int dotopt(int argc,char *argv[],void *p); + + +int dotip(int argc,char *argv[],void *p); + + +int ttylstart(int argc,char *argv[],void *p); +int ttyl0(int argc,char *argv[],void *p); + + +int dotrace(int argc,char *argv[],void *p); + + +int doudp(int argc,char *argv[],void *p); + + +int doview(int argc,char *argv[],void *p); +void view(int,void *,void *); + + + + + + + + +static int axdest(struct iface *ifp); +static int axheard(struct iface *ifp); +static void axflush(struct iface *ifp); +static int doaxflush(int argc,char *argv[],void *p); +static int doaxirtt(int argc,char *argv[],void *p); +static int doaxkick(int argc,char *argv[],void *p); +static int doaxreset(int argc,char *argv[],void *p); +static int doaxroute(int argc,char *argv[],void *p); +static int doaxstat(int argc,char *argv[],void *p); +static int doaxwindow(int argc,char *argv[],void *p); +static int doblimit(int argc,char *argv[],void *p); +static int dodigipeat(int argc,char *argv[],void *p); +static int domaxframe(int argc,char *argv[],void *p); +static int domycall(int argc,char *argv[],void *p); +static int don2(int argc,char *argv[],void *p); +static int dopaclen(int argc,char *argv[],void *p); +static int dopthresh(int argc,char *argv[],void *p); +static int dot3(int argc,char *argv[],void *p); +static int doversion(int argc,char *argv[],void *p); + +char *Ax25states[] = { + "", + "Disconn", + "Listening", + "Conn pend", + "Disc pend", + "Connected", + "Recovery", +}; + + + + +char *Axreasons[] = { + "Normal", + "DM received", + "Timeout" +}; + +static struct cmds Axcmds[] = { + N_("blimit"), doblimit, 0, 0, 0, + N_("destlist"), doaxdest, 0, 0, 0, + N_("digipeat"), dodigipeat, 0, 0, 0, + N_("flush"), doaxflush, 0, 0, 0, + N_("heard"), doaxheard, 0, 0, 0, + N_("irtt"), doaxirtt, 0, 0, 0, + N_("kick"), doaxkick, 0, 2, N_("ax25 kick "), + N_("maxframe"), domaxframe, 0, 0, 0, + N_("mycall"), domycall, 0, 0, 0, + N_("paclen"), dopaclen, 0, 0, 0, + N_("pthresh"), dopthresh, 0, 0, 0, + N_("reset"), doaxreset, 0, 2, N_("ax25 reset "), + N_("retry"), don2, 0, 0, 0, + N_("route"), doaxroute, 0, 0, 0, + N_("status"), doaxstat, 0, 0, 0, + N_("t3"), dot3, 0, 0, 0, + N_("version"), doversion, 0, 0, 0, + N_("window"), doaxwindow, 0, 0, 0, + 0, +}; +static int keychar(int c); + + + +int +doax25(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return subcmd(Axcmds,argc,argv,p); +} + +int +doaxheard(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct iface *ifp; + + if(argc > 1){ + if((ifp = if_lookup(argv[1])) == 0){ + _printf(_("Interface %s unknown\n"),argv[1]); + return 1; + } + if(ifp->output != ax_output){ + _printf(_("Interface %s not AX.25\n"),argv[1]); + return 1; + } + axheard(ifp); + return 0; + } + for(ifp = Ifaces;ifp != 0;ifp = ifp->next){ + if(ifp->output != ax_output) + continue; + if(axheard(ifp) == (-1)) + break; + } + return 0; +} +static int +axheard(ifp) +struct iface *ifp; +{ + struct lq *lp; + char tmp[10 ]; + + if(ifp->hwaddr == 0) + return 0; + _printf(_("%s:\n"),ifp->name); + _printf(_("Station Last heard Pkts\n")); + for(lp = Lq;lp != 0;lp = lp->next){ + if(lp->iface != ifp) + continue; + _printf(_("%-10s%-17s%8lu\n"),pax25(tmp,lp->addr), + tformat(secclock() - lp->time),lp->currxcnt); + } + return 0; +} +int +doaxdest(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct iface *ifp; + + if(argc > 1){ + if((ifp = if_lookup(argv[1])) == 0){ + _printf(_("Interface %s unknown\n"),argv[1]); + return 1; + } + if(ifp->output != ax_output){ + _printf(_("Interface %s not AX.25\n"),argv[1]); + return 1; + } + axdest(ifp); + return 0; + } + for(ifp = Ifaces;ifp != 0;ifp = ifp->next){ + if(ifp->output != ax_output) + continue; + if(axdest(ifp) == (-1)) + break; + } + return 0; +} +static int +axdest(ifp) +struct iface *ifp; +{ + struct ld *lp; + struct lq *lq; + char tmp[10 ]; + + if(ifp->hwaddr == 0) + return 0; + _printf(_("%s:\n"),ifp->name); + _printf(_("Station Last ref Last heard Pkts\n")); + for(lp = Ld;lp != 0;lp = lp->next){ + if(lp->iface != ifp) + continue; + + _printf(_("%-10s%-17s"), + pax25(tmp,lp->addr),tformat(secclock() - lp->time)); + + if(addreq(lp->addr,ifp->hwaddr)){ + + _printf(_("%-17s"),tformat(secclock() - ifp->lastsent)); + } else if((lq = al_lookup(ifp,lp->addr,0)) == 0){ + _printf(_("%-17s"),""); + } else { + _printf(_("%-17s"),tformat(secclock() - lq->time)); + } + _printf(_("%8lu\n"),lp->currxcnt); + } + return 0; +} +static int +doaxflush(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct iface *ifp; + + for(ifp = Ifaces;ifp != 0;ifp = ifp->next){ + if(ifp->output != ax_output) + continue; + axflush(ifp); + } + return 0; +} +static void +axflush(ifp) +struct iface *ifp; +{ + struct lq *lp,*lp1; + struct ld *ld,*ld1; + + ifp->rawsndcnt = 0; + for(lp = Lq;lp != 0;lp = lp1){ + lp1 = lp->next; + free(lp); + } + Lq = 0; + for(ld = Ld;ld != 0;ld = ld1){ + ld1 = ld->next; + free(ld); + } + Ld = 0; +} + +static +doaxreset(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct ax25_cb *axp; + + axp = (struct ax25_cb *)ltop(htol(argv[1])); + if(!ax25val(axp)){ + printf(Notval); + return 1; + } + reset_ax25(axp); + return 0; +} + + +static +doaxstat(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct ax25_cb *axp; + char tmp[10 ]; + + if(argc < 2){ + _printf(_("&AXB Snd-Q Rcv-Q Remote State\n")); + for(axp = Ax25_cb;axp != 0; axp = axp->next){ + _printf(_("%9p %-8d%-8d%-10s%s\n"), + axp, + len_q(axp->txq),len_p(axp->rxq), + pax25(tmp,axp->remote), + Ax25states[axp->state]); + } + return 0; + } + axp = (struct ax25_cb *)ltop(htol(argv[1])); + if(!ax25val(axp)){ + printf(Notval); + return 1; + } + st_ax25(axp); + return 0; +} + +void +st_ax25(axp) +register struct ax25_cb *axp; +{ + char tmp[10 ]; + + if(axp == 0) + return; + _printf(_(" &AXB Remote RB V(S) V(R) Unack P Retry State\n")); + + _printf(_("%9p %-9s%c%c"),axp,pax25(tmp,axp->remote), + axp->flags.rejsent ? 'R' : ' ', + axp->flags.remotebusy ? 'B' : ' '); + _printf(_(" %4d %4d"),axp->vs,axp->vr); + _printf(_(" %02u/%02u %u"),axp->unack,axp->maxframe,axp->proto); + _printf(_(" %02u/%02u"),axp->retries,axp->n2); + _printf(_(" %s\n"),Ax25states[axp->state]); + + _printf(_("srtt = %lu mdev = %lu "),axp->srt,axp->mdev); + _printf(_("T1: ")); + if(((&axp->t1)->state == 1)) + _printf(_("%lu"),read_timer(&axp->t1)); + else + _printf(_("stop")); + _printf(_("/%lu ms; "),((&axp->t1)->duration*55 )); + + _printf(_("T3: ")); + if(((&axp->t3)->state == 1)) + _printf(_("%lu"),read_timer(&axp->t3)); + else + _printf(_("stop")); + _printf(_("/%lu ms\n"),((&axp->t3)->duration*55 )); + +} + + +static +domycall(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + char tmp[10 ]; + + if(argc < 2){ + _printf(_("%s\n"),pax25(tmp,Mycall)); + return 0; + } + if(setcall(Mycall,argv[1]) == -1) + return -1; + return 0; +} + + +static +dodigipeat(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setbool(&Digipeat, _("Digipeat"), argc, argv); +} + +static +doblimit(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setlong(&Blimit, _("blimit"), argc, argv); +} +static +doversion(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setshort(&Axversion, _("AX25 version"), argc, argv); +} + +static +doaxirtt(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setlong(&Axirtt, _("Initial RTT (ms)"), argc, argv); +} + + +static +dot3(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setlong(&T3init, _("Idle poll timer (ms)"), argc, argv); +} + + +static +don2(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setshort(&N2, _("Retry limit"), argc, argv); +} + +static +doaxkick(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct ax25_cb *axp; + + axp = (struct ax25_cb *)ltop(htol(argv[1])); + if(!ax25val(axp)){ + printf(Notval); + return 1; + } + kick_ax25(axp); + return 0; +} + +static +domaxframe(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setshort(&Maxframe, _("Window size (frames)"), argc, argv); +} + + +static +dopaclen(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setshort(&Paclen, _("Max frame length (bytes)"), argc, argv); +} + +static +dopthresh(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setshort(&Pthresh, _("Poll threshold (bytes)"), argc, argv); +} + + +static +doaxwindow(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setshort(&Axwindow, _("AX25 receive window (bytes)"), + argc, argv); +} + + + +int +doconnect(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct sockaddr_ax fsocket; + struct session *sp; + int ndigis,i,s; + uint8 digis[7 ][7 ]; + uint8 target[7 ]; + + + if(argc > 3){ + setcall(target,argv[2]); + ndigis = argc - 3; + if(ndigis > 7 ){ + _printf(_("Too many digipeaters\n")); + return 1; + } + for(i=0;iinproc = keychar; + if((s = socket(1,0,0)) == -1){ + _printf(_("Can't create socket\n")); + freesession(sp); + keywait(0,1); + return 1; + } + fsocket.sax_family = 1; + setcall(fsocket.ax25_addr,argv[2]); + strncpy(fsocket.iface,argv[1],(sizeof(struct sockaddr) - sizeof(short) - 7 )); + sp->network = fdopen(s,"r+t"); + setvbuf(sp->network,0,_IOLBF,128 ); + if((Curproc->flags.sset=1, + Curproc->signo = (107),setjmp(Curproc->sig))){ + keywait(0,1); + freesession(sp); + return 1; + } + return tel_connect(sp, (struct sockaddr *)&fsocket, sizeof(struct sockaddr_ax)); +} + + +static int +doaxroute(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + char tmp[10 ]; + int i,ndigis; + register struct ax_route *axr; + uint8 target[7 ],digis[7 ][7 ]; + + if(argc < 2){ + _printf(_("Target Type Digipeaters\n")); + for(axr = Ax_routes;axr != 0;axr = axr->next){ + _printf(_("%-10s%-6s"),pax25(tmp,axr->target), + axr->type == AX_LOCAL ? "Local":"Auto"); + for(i=0;indigis;i++){ + _printf(_(" %s"),pax25(tmp,axr->digis[i])); + } + _printf(_("\n")); + } + return 0; + } + if(argc < 3){ + _printf(_("Usage: ax25 route add [digis...]\n")); + _printf(_(" ax25 route drop \n")); + return 1; + } + if(setcall(target,argv[2]) == -1){ + _printf(_("Bad target %s\n"),argv[2]); + return 1; + } + switch(argv[1][0]){ + case 'a': + if(argc < 3){ + _printf(_("Usage: ax25 route add [digis...]\n")); + return 1; + } + ndigis = argc - 3; + if(ndigis > 7 ){ + _printf(_("Too many digipeaters\n")); + return 1; + } + for(i=0;ioutput, _("^C\n")); + alert(Current->proc,107); + return 0; +} + diff --git a/src/nos/ax25/ax25hdr.i b/src/nos/ax25/ax25hdr.i new file mode 100644 index 00000000..276ccfc4 --- /dev/null +++ b/src/nos/ax25/ax25hdr.i @@ -0,0 +1,2511 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + +void +htonax25( +struct ax25 *hdr, +struct mbuf **bpp +){ + register uint8 *cp; + register uint16 i; + + if(hdr == (struct ax25 *)0 || hdr->ndigis > 7 || bpp == 0) + return; + + + i = 7 * (2 + hdr->ndigis); + pushdown(bpp,0,i); + + + cp = (*bpp)->data; + + + memcpy(cp,hdr->dest,7 ); + if(hdr->cmdrsp == LAPB_COMMAND) + cp[6 ] |= 0x80 ; + else + cp[6 ] &= ~0x80 ; + cp[6 ] &= ~0x01 ; + + cp += 7 ; + + + memcpy(cp,hdr->source,7 ); + if(hdr->cmdrsp == LAPB_RESPONSE) + cp[6 ] |= 0x80 ; + else + cp[6 ] &= ~0x80 ; + + if(hdr->ndigis == 0){ + cp[6 ] |= 0x01 ; + return; + } + + cp += 7 ; + + + for(i=0; i < hdr->ndigis; i++){ + memcpy(cp,hdr->digis[i],7 ); + if(i < hdr->ndigis - 1) + cp[6 ] &= ~0x01 ; + else + cp[6 ] |= 0x01 ; + if(i < hdr->nextdigi) + cp[6 ] |= 0x80 ; + else + cp[6 ] &= ~0x80 ; + cp += 7 ; + } +} + + + +int +ntohax25( + struct ax25 *hdr, +struct mbuf **bpp +){ + register uint8 *axp; + + if(pullup(bpp,hdr->dest,7 ) < 7 ) + return -1; + + if(pullup(bpp,hdr->source,7 ) < 7 ) + return -1; + + + if((hdr->source[6 ] & 0x80 ) == (hdr->dest[6 ] & 0x80 )) + hdr->cmdrsp = LAPB_UNKNOWN; + else if(hdr->source[6 ] & 0x80 ) + hdr->cmdrsp = LAPB_RESPONSE; + else + hdr->cmdrsp = LAPB_COMMAND; + + hdr->ndigis = 0; + hdr->nextdigi = 0; + if(hdr->source[6 ] & 0x01 ) + return 2; + + + axp = hdr->digis[0]; + while(hdr->ndigis < 7 && pullup(bpp,axp,7 ) == 7 ){ + hdr->ndigis++; + if(axp[6 ] & 0x80 ) + hdr->nextdigi++; + if(axp[6 ] & 0x01 ) + return hdr->ndigis + 2; + axp += 7 ; + } + return -1; +} + diff --git a/src/nos/ax25/ax25mail.i b/src/nos/ax25/ax25mail.i new file mode 100644 index 00000000..a8042063 --- /dev/null +++ b/src/nos/ax25/ax25mail.i @@ -0,0 +1,3122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + + + + + + + + + + +enum ftp_type { + ASCII_TYPE, + IMAGE_TYPE, + LOGICAL_TYPE +}; + + +enum verb_level { + V_QUIET, + V_SHORT, + V_NORMAL, + V_HASH, + V_STAT +}; + +long sendfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +long recvfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +int isbinary(FILE *fp); +int md5hash(FILE *fp,uint8 hash[16],int ascii); + + + + + + + + + + + +struct ftpcli { + FILE *control; + FILE *data; + + char state; + + + + + uint16 verbose; + int batch; + int abort; + int update; + char type; + char typesent; + int logbsize; + FILE *fp; + + char buf[256 ]; + char line[256 ]; + struct session *session; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct telnet { + char local[6]; + char remote[6]; + struct session *session; + char eolmode; +}; + +extern int Refuse_echo; +extern int Tn_cr_mode; + + +int tel_connect(struct session *sp,struct sockaddr *fsocket,int len); +void tel_output(int unused,void *p1,void *p2); +void tnrecv(struct telnet *tn); +void doopt(struct telnet *tn,int opt); +void dontopt(struct telnet *tn,int opt); +void willopt(struct telnet *tn,int opt); +void wontopt(struct telnet *tn,int opt); +void answer(struct telnet *tn,int r1,int r2); + + +void ttylhandle(int s,void *unused,void *p); + + + + +struct ttystate { + uint8 *line; + uint8 *lp; + unsigned int echo:1; + unsigned int edit:1; + unsigned int crnl:1; +}; + + +struct session { + unsigned strchr; + enum { + TELNET, + FTP, + AX25TNC, + FINGER, + PING, + NRSESSION, + COMMAND, + VIEW, + HOP, + TIP, + PPPPASS, + DIAL, + DQUERY, + DCLIST, + ITRACE, + REPEAT, + FAX + } type; + + char *name; + union { + struct ftpcli *ftp; + struct telnet *telnet; + void *p; + } cb; + struct proc *proc; + struct proc *proc1; + struct proc *proc2; + FILE *network; + FILE *record; + FILE *upload; + struct ttystate ttystate; + FILE *input; + FILE *output; + int (*ctlproc)(int); + int (*inproc)(int); + struct session *parent; + enum { + SCROLL_INBAND, + SCROLL_LOCAL + } scrollmode; +}; +extern char *Sestypes[]; +extern unsigned Nsessions; +extern long Sfsize; + +extern struct session *Sessions[]; + + + +extern struct session *Current; +extern struct session *Lastcurr; +extern struct session *Command; +extern char *Cmdline; + + +void freesession(struct session *sp); +int keywait(char *prompt,int flush); +struct session *sessptr(char *cp); +struct session *newsession(char *name,int type,int makecur); +void sesflush(void); +void upload(int unused,void *sp1,void *p); + +extern uint16 Lport; + + + + + + + + + + + + + + + + +struct let { + long start; + long size; + int status; +}; + + +struct mbx { + int state ; + + + + + + + + char name[20] ; + char *to ; + char *origto ; + char *tofrom ; + char *tomsgid ; + FILE *tfile ; + + char line[128 +1] ; + int mbnum ; + int sid ; + + + + + + + + + + + + char stype ; + int type ; + FILE *user; + char escape; + int privs; + + + + + + char *path; + char *startmsg; + + int current; + int nmsgs; + int newmsgs; + int change; + int anyread; + FILE *mfile; + char area[64]; + long mboxsize; + long mysize; + struct let *mbox; + char *stdinbuf; + char *stdoutbuf; +} ; + + +struct gwalarm { + FILE *s1; + FILE *s2; + struct timer t; +}; + + +extern struct mbx *Mbox[10 ] ; +extern char Noperm[]; +extern char Nosock[]; +extern void (*Listusers)(FILE *network); + +int dombescape(int argc,char *argv[],void *p); +int mbxrecvline(FILE *network,char *buf,int len,int escape); +int gw_connect(struct mbx *m,int s,struct sockaddr *fsocket,int len); + +void mbx_incom(int s,void *t,void *p); +int domboxdisplay(int argc,char *argv[],void *p); +struct mbx *newmbx(void); +void exitbbs(struct mbx *m); +int domboxbye(int argc,char *argv[],void *p); +int mbx_parse(struct mbx *m); +void changearea(struct mbx *m,char *area); +char *rewrite_address(char *addr); +void listusers(FILE *network); + + +int dorevfwd(int argc,char *argv[],void *p); +int dombtimer(int argc,char *argv[],void *p); +int dombkick(int argc,char *argv[],void *p); + + +extern unsigned Tiptimeout; + + + +int ax250(int argc,char *argv[],void *p); +int ax25start(int argc,char *argv[],void *p); +int dogateway(int argc,char *argv[],void *p); + + + + + + + + + +int +ax25start(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + int s,type,c; + FILE *network; + + if (Axi_sock != -1) + return 0; + + ksignal(Curproc,0); + chname(Curproc,"AX25 listener"); + Axi_sock = socket(1,0,0); + + if(listen(Axi_sock,1) == -1){ + close_s(Axi_sock); + return -1; + } + for(;;){ + if((s = accept(Axi_sock,0,0)) == -1) + break; + + type = AX25TNC; + + + + network = fdopen(s,"r+t"); + while((c = (fgetc((network)))) != '\n' && c != (-1)) + ; + newproc("mbox",2048,mbx_incom,s,(void *)type,(void *)network,0); + } + close_s(Axi_sock); + Axi_sock = -1; + return 0; +} +int +ax250(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + close_s(Axi_sock); + Axi_sock = -1; + return 0; +} + + +int +dogateway(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct mbx *m; + struct sockaddr_ax fsocket; + int ndigis,i,s; + uint8 digis[7 ][7 ]; + uint8 target[7 ]; + + m = (struct mbx *)p; + if(!(m->privs & 8 )){ + printf(Noperm); + return 0; + } + + if(argc > 3){ + setcall(target,argv[2]); + ndigis = argc - 3; + if(ndigis > 7 ){ + _printf(_("Too many digipeaters\n")); + return 1; + } + for(i=0;istartmsg = mallocw(80); + sprintf(m->startmsg,"*** LINKED to %s\n",m->name); + return gw_connect(m,s,(struct sockaddr *)&fsocket, sizeof(struct sockaddr_ax)); +} diff --git a/src/nos/ax25/ax25subr.i b/src/nos/ax25/ax25subr.i new file mode 100644 index 00000000..2458fed1 --- /dev/null +++ b/src/nos/ax25/ax25subr.i @@ -0,0 +1,2882 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct ax25_cb { + struct ax25_cb *next; + + struct iface *iface; + + struct mbuf *txq; + struct mbuf *rxasm; + struct mbuf *rxq; + + uint8 local[7 ]; + uint8 remote[7 ]; + + struct { + unsigned int rejsent:1; + unsigned int remotebusy:1; + unsigned int rtt_run:1; + unsigned int retrans:1; + unsigned int clone:1; + } flags; + + uint8 reason; + + + + + uint8 response; + uint8 vs; + uint8 vr; + uint8 unack; + int maxframe; + uint16 paclen; + uint16 window; + enum { + V1=1, + V2 + } proto; + uint16 pthresh; + unsigned retries; + unsigned n2; + enum { + LAPB_DISCONNECTED=1, + LAPB_LISTEN, + LAPB_SETUP, + LAPB_DISCPENDING, + LAPB_CONNECTED, + LAPB_RECOVERY + } state; + struct timer t1; + struct timer t3; + int32 rtt_time; + int rtt_seq; + int32 srt; + int32 mdev; + + void (*r_upcall)(struct ax25_cb *,int); + void (*t_upcall)(struct ax25_cb *,int); + void (*s_upcall)(struct ax25_cb *,int,int); + + int user; + + int segremain; +}; + +struct axlink { + int pid; + void (*funct)(struct iface *,struct ax25_cb *,uint8 *, uint8 *, + struct mbuf **,int); +}; +extern struct axlink Axlink[]; + + + + + + +extern struct ax25_cb Ax25default,*Ax25_cb; +extern char *Ax25states[],*Axreasons[]; +extern int32 Axirtt,T3init,Blimit; +extern uint16 N2,Maxframe,Paclen,Pthresh,Axwindow,Axversion; + + +void st_ax25(struct ax25_cb *axp); + + +struct ax25_cb *cr_ax25(uint8 *addr); +void del_ax25(struct ax25_cb *axp); +struct ax25_cb *find_ax25(uint8 *); + + +int ax25val(struct ax25_cb *axp); +int disc_ax25(struct ax25_cb *axp); +int kick_ax25(struct ax25_cb *axp); +struct ax25_cb *open_ax25(struct iface *,uint8 *,uint8 *, + int,uint16, + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int,int), + int user); +struct mbuf *recv_ax25(struct ax25_cb *axp,uint16 cnt); +int reset_ax25(struct ax25_cb *axp); +int send_ax25(struct ax25_cb *axp,struct mbuf **bp,int pid); + + +void est_link(struct ax25_cb *axp); +void lapbstate(struct ax25_cb *axp,int s); +int lapb_input(struct ax25_cb *axp,int cmdrsp,struct mbuf **bp); +int lapb_output(struct ax25_cb *axp); +struct mbuf *segmenter(struct mbuf **bp,uint16 ssize); +int sendctl(struct ax25_cb *axp,int cmdrsp,int cmd); +int sendframe(struct ax25_cb *axp,int cmdrsp,int ctl,struct mbuf **data); +void axnl3(struct iface *iface,struct ax25_cb *axp,uint8 *src, + uint8 *dest,struct mbuf **bp,int mcast); + + +void pollthem(void *p); +void recover(void *p); + + +uint16 ftype(int control); +void lapb_garbage(int drastic); + + +void s_arcall(struct ax25_cb *axp,int cnt); +void s_ascall(struct ax25_cb *axp,int old,int new); +void s_atcall(struct ax25_cb *axp,int cnt); + + + + + + + + + + + +extern unsigned char __ctype[]; + + + + + + + + + + + + +extern int toupper (int); +extern int tolower (int); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct ax25_cb *Ax25_cb; + + +int32 T3init = 0; +uint16 Maxframe = 1; +uint16 N2 = 10; +uint16 Axwindow = 2048; +uint16 Paclen = 256; +uint16 Pthresh = 128; +int32 Axirtt = 5000; +uint16 Axversion = V1; +int32 Blimit = 30; + + +struct ax25_cb * +find_ax25(addr) +register uint8 *addr; +{ + register struct ax25_cb *axp; + struct ax25_cb *axlast = 0; + + + for(axp = Ax25_cb; axp != 0; axlast=axp,axp = axp->next){ + if(addreq(axp->remote,addr)){ + if(axlast != 0){ + + + + axlast->next = axp->next; + axp->next = Ax25_cb; + Ax25_cb = axp; + } + return axp; + } + } + return 0; +} + + +void +del_ax25(conn) +struct ax25_cb *conn; +{ + register struct ax25_cb *axp; + struct ax25_cb *axlast = 0; + + for(axp = Ax25_cb; axp != 0; axlast=axp,axp = axp->next){ + if(axp == conn) + break; + } + if(axp == 0) + return; + + + if(axlast != 0) + axlast->next = axp->next; + else + Ax25_cb = axp->next; + + + stop_timer(&axp->t1); + stop_timer(&axp->t3); + + + free_q(&axp->txq); + free_q(&axp->rxasm); + free_q(&axp->rxq); + free(axp); +} + + + + + +struct ax25_cb * +cr_ax25(addr) +uint8 *addr; +{ + register struct ax25_cb *axp; + + if(addr == 0) + return 0; + + if((axp = find_ax25(addr)) == 0){ + + + + axp = (struct ax25_cb *)callocw(1,sizeof(struct ax25_cb)); + axp->next = Ax25_cb; + Ax25_cb = axp; + } + axp->user = -1; + axp->state = LAPB_DISCONNECTED; + axp->maxframe = Maxframe; + axp->window = Axwindow; + axp->paclen = Paclen; + axp->proto = Axversion; + axp->pthresh = Pthresh; + axp->n2 = N2; + axp->srt = Axirtt; + set_timer(&axp->t1,2*axp->srt); + axp->t1.func = recover; + axp->t1.arg = axp; + + set_timer(&axp->t3,T3init); + axp->t3.func = pollthem; + axp->t3.arg = axp; + + + axp->r_upcall = s_arcall; + axp->s_upcall = s_ascall; + + return axp; +} + + + + + + + +int +setcall(out,call) +uint8 *out; +char *call; +{ + int csize; + unsigned ssid; + register int i; + register char *dp; + char c; + + if(out == 0 || call == 0 || *call == '\0') + return -1; + + + + + + dp = strchr(call,'-'); + if(dp == 0) + csize = strlen(call); + else + csize = dp - call; + if(csize > 6 ) + return -1; + + if(dp != 0){ + dp++; + ssid = atoi(dp); + if(ssid > 15) + return -1; + } else + ssid = 0; + + for(i=0;i> 1) & 0x7f; + if(c != ' ') + *cp++ = c; + } + if((*addr & 0x1e ) != 0) + sprintf(cp,"-%d",(*addr >> 1) & 0xf); + else + *cp = '\0'; + return e; +} + + + + + +uint16 +ftype(control) +register int control; +{ + if((control & 1) == 0) + return 0x00 ; + if(control & 2) + return (uint16)control & ~0x10 ; + else + return (uint16)control & 0xf; +} + +void +lapb_garbage(red) +int red; +{ + register struct ax25_cb *axp; + + for(axp=Ax25_cb;axp != 0;axp = axp->next){ + mbuf_crunch(&axp->rxq); + mbuf_crunch(&axp->rxasm); + } +} + diff --git a/src/nos/ax25/ax25user.i b/src/nos/ax25/ax25user.i new file mode 100644 index 00000000..f4cdb381 --- /dev/null +++ b/src/nos/ax25/ax25user.i @@ -0,0 +1,2856 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct ax25_cb { + struct ax25_cb *next; + + struct iface *iface; + + struct mbuf *txq; + struct mbuf *rxasm; + struct mbuf *rxq; + + uint8 local[7 ]; + uint8 remote[7 ]; + + struct { + unsigned int rejsent:1; + unsigned int remotebusy:1; + unsigned int rtt_run:1; + unsigned int retrans:1; + unsigned int clone:1; + } flags; + + uint8 reason; + + + + + uint8 response; + uint8 vs; + uint8 vr; + uint8 unack; + int maxframe; + uint16 paclen; + uint16 window; + enum { + V1=1, + V2 + } proto; + uint16 pthresh; + unsigned retries; + unsigned n2; + enum { + LAPB_DISCONNECTED=1, + LAPB_LISTEN, + LAPB_SETUP, + LAPB_DISCPENDING, + LAPB_CONNECTED, + LAPB_RECOVERY + } state; + struct timer t1; + struct timer t3; + int32 rtt_time; + int rtt_seq; + int32 srt; + int32 mdev; + + void (*r_upcall)(struct ax25_cb *,int); + void (*t_upcall)(struct ax25_cb *,int); + void (*s_upcall)(struct ax25_cb *,int,int); + + int user; + + int segremain; +}; + +struct axlink { + int pid; + void (*funct)(struct iface *,struct ax25_cb *,uint8 *, uint8 *, + struct mbuf **,int); +}; +extern struct axlink Axlink[]; + + + + + + +extern struct ax25_cb Ax25default,*Ax25_cb; +extern char *Ax25states[],*Axreasons[]; +extern int32 Axirtt,T3init,Blimit; +extern uint16 N2,Maxframe,Paclen,Pthresh,Axwindow,Axversion; + + +void st_ax25(struct ax25_cb *axp); + + +struct ax25_cb *cr_ax25(uint8 *addr); +void del_ax25(struct ax25_cb *axp); +struct ax25_cb *find_ax25(uint8 *); + + +int ax25val(struct ax25_cb *axp); +int disc_ax25(struct ax25_cb *axp); +int kick_ax25(struct ax25_cb *axp); +struct ax25_cb *open_ax25(struct iface *,uint8 *,uint8 *, + int,uint16, + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int,int), + int user); +struct mbuf *recv_ax25(struct ax25_cb *axp,uint16 cnt); +int reset_ax25(struct ax25_cb *axp); +int send_ax25(struct ax25_cb *axp,struct mbuf **bp,int pid); + + +void est_link(struct ax25_cb *axp); +void lapbstate(struct ax25_cb *axp,int s); +int lapb_input(struct ax25_cb *axp,int cmdrsp,struct mbuf **bp); +int lapb_output(struct ax25_cb *axp); +struct mbuf *segmenter(struct mbuf **bp,uint16 ssize); +int sendctl(struct ax25_cb *axp,int cmdrsp,int cmd); +int sendframe(struct ax25_cb *axp,int cmdrsp,int ctl,struct mbuf **data); +void axnl3(struct iface *iface,struct ax25_cb *axp,uint8 *src, + uint8 *dest,struct mbuf **bp,int mcast); + + +void pollthem(void *p); +void recover(void *p); + + +uint16 ftype(int control); +void lapb_garbage(int drastic); + + +void s_arcall(struct ax25_cb *axp,int cnt); +void s_ascall(struct ax25_cb *axp,int old,int new); +void s_atcall(struct ax25_cb *axp,int cnt); + + + + + + + + + + + + + +extern unsigned char __ctype[]; + + + + + + + + + + + + +extern int toupper (int); +extern int tolower (int); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct ax25_cb * +open_ax25(iface,local,remote,mode,window,r_upcall,t_upcall,s_upcall,user) +struct iface *iface; +uint8 *local; +uint8 *remote; +int mode; +uint16 window; +void (*r_upcall)(); +void (*t_upcall)(); +void (*s_upcall)(); +int user; +{ + struct ax25_cb *axp; + uint8 remtmp[7 ]; + + if(remote == 0){ + remote = remtmp; + setcall(remote," "); + } + if((axp = find_ax25(remote)) != 0 && axp->state != LAPB_DISCONNECTED) + return 0; + if(axp == 0 && (axp = cr_ax25(remote)) == 0) + return 0; + memcpy(axp->remote,remote,7 ); + memcpy(axp->local,local,7 ); + axp->iface = iface; + axp->window = window; + axp->r_upcall = r_upcall; + axp->t_upcall = t_upcall; + axp->s_upcall = s_upcall; + axp->user = user; + + switch(mode){ + case 2 : + axp->flags.clone = 1; + case 0: + axp->state = LAPB_LISTEN; + return axp; + case 1: + break; + } + switch(axp->state){ + case LAPB_DISCONNECTED: + est_link(axp); + lapbstate(axp,LAPB_SETUP); + break; + case LAPB_SETUP: + free_q(&axp->txq); + break; + case LAPB_DISCPENDING: + break; + case LAPB_RECOVERY: + case LAPB_CONNECTED: + free_q(&axp->txq); + est_link(axp); + lapbstate(axp,LAPB_SETUP); + break; + } + return axp; +} + + + + + + + + + +int +send_ax25( +struct ax25_cb *axp, +struct mbuf **bpp, +int pid +){ + struct mbuf *bp1; + uint16 offset,len,size; + + if(axp == 0 || bpp == 0 || *bpp == 0){ + free_p(bpp); + return -1; + } + if(pid != -1){ + offset = 0; + len = len_p(*bpp); + + + + + + while(len != 0){ + size = ((len)<(axp->paclen)?(len):(axp->paclen)) ; + dup_p(&bp1,*bpp,offset,size); + len -= size; + offset += size; + pushdown(&bp1,0,1); + bp1->data[0] = pid; + enqueue(&axp->txq,&bp1); + } + free_p(bpp); + } else { + enqueue(&axp->txq,bpp); + } + return lapb_output(axp); +} + + +struct mbuf * +recv_ax25(axp,cnt) +struct ax25_cb *axp; +uint16 cnt; +{ + struct mbuf *bp; + + if(axp->rxq == 0) + return 0; + + if(cnt == 0){ + + bp = axp->rxq; + axp->rxq = 0; + } else { + bp = ambufw(cnt); + bp->cnt = pullup(&axp->rxq,bp->data,cnt); + } + + if(len_p(axp->rxq) < axp->window + && (len_p(axp->rxq) + bp->cnt) >= axp->window) + sendctl(axp,LAPB_RESPONSE,0x01 ); + + return bp; +} + + +int +disc_ax25(axp) +struct ax25_cb *axp; +{ + if(axp == 0) + return -1; + switch(axp->state){ + case LAPB_DISCONNECTED: + break; + case LAPB_LISTEN: + del_ax25(axp); + break; + case LAPB_DISCPENDING: + lapbstate(axp,LAPB_DISCONNECTED); + break; + case LAPB_CONNECTED: + case LAPB_RECOVERY: + free_q(&axp->txq); + axp->retries = 0; + sendctl(axp,LAPB_COMMAND,0x43 |0x10 ); + stop_timer(&axp->t3); + start_timer(&axp->t1); + lapbstate(axp,LAPB_DISCPENDING); + break; + } + return 0; +} + + +int +ax25val(axp) +struct ax25_cb *axp; +{ + register struct ax25_cb *axp1; + + if(axp == 0) + return 0; + for(axp1 = Ax25_cb;axp1 != 0; axp1 = axp1->next) + if(axp1 == axp) + return 1; + return 0; +} + + +int +kick_ax25(axp) +struct ax25_cb *axp; +{ + if(!ax25val(axp)) + return -1; + recover(axp); + return 0; +} + + +int +reset_ax25(axp) +struct ax25_cb *axp; +{ + void (*upcall)(); + + if(axp == 0) + return -1; + upcall = axp->s_upcall; + lapbstate(axp,LAPB_DISCONNECTED); + + if(upcall != s_ascall) + del_ax25(axp); + return 0; +} diff --git a/src/nos/ax25/axheard.i b/src/nos/ax25/axheard.i new file mode 100644 index 00000000..d2f6914c --- /dev/null +++ b/src/nos/ax25/axheard.i @@ -0,0 +1,2821 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + +static struct lq *al_create(struct iface *ifp,uint8 *addr); +static struct ld *ad_lookup(struct iface *ifp,uint8 *addr,int sort); +static struct ld *ad_create(struct iface *ifp,uint8 *addr); +struct lq *Lq; +struct ld *Ld; + + + + +void +logsrc(ifp,addr) +struct iface *ifp; +uint8 *addr; +{ + register struct lq *lp; + + if((lp = al_lookup(ifp,addr,1)) == 0 + && (lp = al_create(ifp,addr)) == 0) + return; + lp->currxcnt++; + lp->time = secclock(); +} + +void +logdest(ifp,addr) +struct iface *ifp; +uint8 *addr; +{ + register struct ld *lp; + + if((lp = ad_lookup(ifp,addr,1)) == 0 + && (lp = ad_create(ifp,addr)) == 0) + return; + lp->currxcnt++; + lp->time = secclock(); +} + +struct lq * +al_lookup(ifp,addr,sort) +struct iface *ifp; +uint8 *addr; +int sort; +{ + register struct lq *lp; + struct lq *lplast = 0; + + for(lp = Lq;lp != 0;lplast = lp,lp = lp->next){ + if(addreq(lp->addr,addr) && lp->iface == ifp){ + if(sort && lplast != 0){ + + lplast->next = lp->next; + lp->next = Lq; + Lq = lp; + } + return lp; + } + } + return 0; +} + +static struct lq * +al_create(ifp,addr) +struct iface *ifp; +uint8 *addr; +{ + register struct lq *lp; + + lp = (struct lq *)callocw(1,sizeof(struct lq)); + memcpy(lp->addr,addr,7 ); + lp->next = Lq; + Lq = lp; + lp->iface = ifp; + + return lp; +} + +static struct ld * +ad_lookup(ifp,addr,sort) +struct iface *ifp; +uint8 *addr; +int sort; +{ + register struct ld *lp; + struct ld *lplast = 0; + + for(lp = Ld;lp != 0;lplast = lp,lp = lp->next){ + if(lp->iface == ifp && addreq(lp->addr,addr)){ + if(sort && lplast != 0){ + + lplast->next = lp->next; + lp->next = Ld; + Ld = lp; + } + return lp; + } + } + return 0; +} + +static struct ld * +ad_create(ifp,addr) +struct iface *ifp; +uint8 *addr; +{ + register struct ld *lp; + + lp = (struct ld *)callocw(1,sizeof(struct ld)); + memcpy(lp->addr,addr,7 ); + lp->next = Ld; + Ld = lp; + lp->iface = ifp; + + return lp; +} + diff --git a/src/nos/ax25/axsock.i b/src/nos/ax25/axsock.i new file mode 100644 index 00000000..b432d17c --- /dev/null +++ b/src/nos/ax25/axsock.i @@ -0,0 +1,4826 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int sys_nerr; + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *strerror (int _errno); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct ax25_cb { + struct ax25_cb *next; + + struct iface *iface; + + struct mbuf *txq; + struct mbuf *rxasm; + struct mbuf *rxq; + + uint8 local[7 ]; + uint8 remote[7 ]; + + struct { + unsigned int rejsent:1; + unsigned int remotebusy:1; + unsigned int rtt_run:1; + unsigned int retrans:1; + unsigned int clone:1; + } flags; + + uint8 reason; + + + + + uint8 response; + uint8 vs; + uint8 vr; + uint8 unack; + int maxframe; + uint16 paclen; + uint16 window; + enum { + V1=1, + V2 + } proto; + uint16 pthresh; + unsigned retries; + unsigned n2; + enum { + LAPB_DISCONNECTED=1, + LAPB_LISTEN, + LAPB_SETUP, + LAPB_DISCPENDING, + LAPB_CONNECTED, + LAPB_RECOVERY + } state; + struct timer t1; + struct timer t3; + int32 rtt_time; + int rtt_seq; + int32 srt; + int32 mdev; + + void (*r_upcall)(struct ax25_cb *,int); + void (*t_upcall)(struct ax25_cb *,int); + void (*s_upcall)(struct ax25_cb *,int,int); + + int user; + + int segremain; +}; + +struct axlink { + int pid; + void (*funct)(struct iface *,struct ax25_cb *,uint8 *, uint8 *, + struct mbuf **,int); +}; +extern struct axlink Axlink[]; + + + + + + +extern struct ax25_cb Ax25default,*Ax25_cb; +extern char *Ax25states[],*Axreasons[]; +extern int32 Axirtt,T3init,Blimit; +extern uint16 N2,Maxframe,Paclen,Pthresh,Axwindow,Axversion; + + +void st_ax25(struct ax25_cb *axp); + + +struct ax25_cb *cr_ax25(uint8 *addr); +void del_ax25(struct ax25_cb *axp); +struct ax25_cb *find_ax25(uint8 *); + + +int ax25val(struct ax25_cb *axp); +int disc_ax25(struct ax25_cb *axp); +int kick_ax25(struct ax25_cb *axp); +struct ax25_cb *open_ax25(struct iface *,uint8 *,uint8 *, + int,uint16, + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int,int), + int user); +struct mbuf *recv_ax25(struct ax25_cb *axp,uint16 cnt); +int reset_ax25(struct ax25_cb *axp); +int send_ax25(struct ax25_cb *axp,struct mbuf **bp,int pid); + + +void est_link(struct ax25_cb *axp); +void lapbstate(struct ax25_cb *axp,int s); +int lapb_input(struct ax25_cb *axp,int cmdrsp,struct mbuf **bp); +int lapb_output(struct ax25_cb *axp); +struct mbuf *segmenter(struct mbuf **bp,uint16 ssize); +int sendctl(struct ax25_cb *axp,int cmdrsp,int cmd); +int sendframe(struct ax25_cb *axp,int cmdrsp,int ctl,struct mbuf **data); +void axnl3(struct iface *iface,struct ax25_cb *axp,uint8 *src, + uint8 *dest,struct mbuf **bp,int mcast); + + +void pollthem(void *p); +void recover(void *p); + + +uint16 ftype(int control); +void lapb_garbage(int drastic); + + +void s_arcall(struct ax25_cb *axp,int cnt); +void s_ascall(struct ax25_cb *axp,int old,int new); +void s_atcall(struct ax25_cb *axp,int cnt); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + + + + + + + +struct zentry { + uint16 code; + char data; +}; +struct zfast { + uint16 owncode; + uint16 code; + char data; +}; + + + +struct lzw { + uint16 codebits; + int maxbits; + + int32 prefix; + char mode; + + + union { + struct zentry **tbl; + + struct mbuf **bpp; + + void *p; + } tu; + int nextbit; + int version; + + int32 cnt; + int32 code; + int32 next; + int flushbit; + + struct mbuf *buf; +}; + +struct usock; +void lzwencode(int s,char c); +void lzwinit(int s,int bits,int mode); +void lzwfree(struct usock *up); +void lzwflush(struct usock *up); +int lzwdecode(struct usock *up); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct tcp { + uint16 source; + uint16 dest; + int32 seq; + int32 ack; + uint16 wnd; + uint16 checksum; + uint16 up; + uint16 mss; + uint8 wsopt; + uint32 tsval; + uint32 tsecr; + struct { + unsigned int congest:1; + unsigned int urg:1; + unsigned int ack:1; + unsigned int psh:1; + unsigned int rst:1; + unsigned int syn:1; + unsigned int fin:1; + unsigned int mss:1; + unsigned int wscale:1; + unsigned int tstamp:1; + } flags; + + + + + + + + + + char optlen; + char options[40 ]; + +}; + + + + + + + + + + + +struct reseq { + struct reseq *next; + struct tcp seg; + struct mbuf *bp; + uint16 length; + char tos; +}; + +enum tcp_state { + TCP_CLOSED=1, + TCP_LISTEN, + TCP_SYN_SENT, + TCP_SYN_RECEIVED, + TCP_ESTABLISHED, + TCP_FINWAIT1, + TCP_FINWAIT2, + TCP_CLOSE_WAIT, + TCP_LAST_ACK, + TCP_CLOSING, + TCP_TIME_WAIT +}; + + +struct tcb { + struct tcb *next; + + struct connection conn; + + enum tcp_state state; + + char reason; + + + + + + + uint8 type; + uint8 code; + + + struct { + int32 una; + int32 nxt; + int32 ptr; + int32 wl1; + int32 wl2; + int32 wnd; + uint16 up; + uint8 wind_scale; + } snd; + int32 iss; + int32 resent; + int32 cwind; + int32 ssthresh; + int dupacks; + + + struct { + int32 nxt; + int32 wnd; + uint16 up; + uint8 wind_scale; + } rcv; + int32 last_ack_sent; + int32 ts_recent; + + int32 irs; + int32 rerecv; + int32 mss; + + int32 window; + int32 limit; + + void (*r_upcall)(struct tcb *tcb,int32 cnt); + + void (*t_upcall)(struct tcb *tcb,int32 cnt); + + void (*s_upcall)(struct tcb *tcb,int old,int new); + + struct { + unsigned int force:1; + unsigned int clone:1; + unsigned int retran:1; + unsigned int active:1; + unsigned int synack:1; + unsigned int rtt_run:1; + unsigned int congest:1; + int ts_ok:1; + int ws_ok:1; + } flags; + char tos; + int backoff; + + struct mbuf *rcvq; + struct mbuf *sndq; + int32 rcvcnt; + int32 sndcnt; + + + + + struct reseq *reseq; + struct timer timer; + int32 rtt_time; + int32 rttseq; + int32 rttack; + int32 srtt; + int32 mdev; + int32 rtt; + + int user; + + + int32 quench; + int32 unreach; + int32 timeouts; + int32 lastack; + int32 txbw; + int32 lastrx; + int32 rxbw; +}; + +struct tcp_rtt { + int32 addr; + int32 srtt; + int32 mdev; +}; +extern struct tcp_rtt Tcp_rtt[]; +extern int (*Kicklist[])(); + + +struct tcp_stat { + uint16 runt; + uint16 checksum; + uint16 conout; + uint16 conin; + uint16 resets; + uint16 bdcsts; +}; +extern struct mib_entry Tcp_mib[]; + + + + + + + + + + + + + + + + +extern struct tcb *Tcbs; +extern char *Tcpstates[]; +extern char *Tcpreasons[]; + + +extern int Tcp_tstamps; +extern int32 Tcp_irtt; +extern uint16 Tcp_limit; +extern uint16 Tcp_mss; +extern int Tcp_syndata; +extern int Tcp_trace; +extern uint16 Tcp_window; + +void st_tcp(struct tcb *tcb); + + +void htontcp(struct tcp *tcph,struct mbuf **data, + int32 ipsrc,int32 ipdest); +int ntohtcp(struct tcp *tcph,struct mbuf **bpp); + + +void reset(struct ip *ip,struct tcp *seg); +void send_syn(struct tcb *tcb); +void tcp_input(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast,int32 said); +void tcp_icmp(int32 icsource,int32 source,int32 dest, + uint8 type,uint8 code,struct mbuf **bpp); + + +void close_self(struct tcb *tcb,int reason); +struct tcb *create_tcb(struct connection *conn); +struct tcb *lookup_tcb(struct connection *conn); +void rtt_add(int32 addr,int32 rtt); +struct tcp_rtt *rtt_get(int32 addr); +int seq_ge(int32 x,int32 y); +int seq_gt(int32 x,int32 y); +int seq_le(int32 x,int32 y); +int seq_lt(int32 x,int32 y); +int seq_within(int32 x,int32 low,int32 high); +void settcpstate(struct tcb *tcb,enum tcp_state newstate); +void tcp_garbage(int red); + + +void tcp_output(struct tcb *tcb); + + +int32 backoff(int n); +void tcp_timeout(void *p); + + +int close_tcp(struct tcb *tcb); +int del_tcp(struct tcb *tcb); +int kick(int32 addr); +int kick_tcp(struct tcb *tcb); +struct tcb *open_tcp(struct socket *lsocket,struct socket *fsocket, + int mode,uint16 window, + void (*r_upcall)(struct tcb *tcb,int32 cnt), + void (*t_upcall)(struct tcb *tcb,int32 cnt), + void (*s_upcall)(struct tcb *tcb,int old,int new), + int tos,int user); +int32 recv_tcp(struct tcb *tcb,struct mbuf **bpp,int32 cnt); +void reset_all(void); +void reset_tcp(struct tcb *tcb); +long send_tcp(struct tcb *tcb,struct mbuf **bpp); +char *tcp_port(uint16 n); +int tcpval(struct tcb *tcb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern struct mib_entry Udp_mib[]; + + + + + + + + + +struct udp { + uint16 source; + uint16 dest; + uint16 length; + uint16 checksum; +}; + + + + + + +struct udp_cb { + struct udp_cb *next; + struct socket socket; + void (*r_upcall)(struct iface *iface,struct udp_cb *,int); + + struct mbuf *rcvq; + int rcvcnt; + int user; +}; +extern struct udp_cb *Udps; + + + + +int del_udp(struct udp_cb *up); +struct udp_cb *open_udp(struct socket *lsocket, + void (*r_upcall)(struct iface *iface,struct udp_cb *,int)); +int recv_udp(struct udp_cb *up,struct socket *fsocket,struct mbuf **bp); +int send_udp(struct socket *lsocket,struct socket *fsocket,char tos, + char ttl,struct mbuf **data,uint16 length,uint16 id,char df); +void udp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +void udp_garbage(int drastic); + + + + + + + + + + +int st_udp(struct udp_cb *udp,int n); + + +void htonudp(struct udp *udp,struct mbuf **data,struct pseudo_header *ph); +int ntohudp(struct udp *udp,struct mbuf **bpp); +uint16 udpcksum(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct nr4hdr { + uint8 opcode ; + uint8 yourindex ; + uint8 yourid ; + + union { + + struct { + uint8 family ; + uint8 proto ; + } pid ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + uint8 user[7 ] ; + uint8 node[7 ] ; + } conreq ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + } conack ; + + struct { + uint8 txseq ; + uint8 rxseq ; + } info ; + + struct { + uint8 rxseq ; + } ack ; + + } u ; + +} ; + + + +struct nr4txbuf { + struct timer tretry ; + unsigned retries ; + struct mbuf *data ; +} ; + + + +struct nr4rxbuf { + uint8 occupied ; + struct mbuf *data ; +} ; + + +struct nr4_addr { + uint8 user[7 ]; + uint8 node[7 ]; +}; + +struct sockaddr_nr { + short nr_family; + struct nr4_addr nr_addr; +}; + + + +struct nr4cb { + unsigned mynum ; + unsigned myid ; + unsigned yournum ; + unsigned yourid ; + struct nr4_addr remote ; + struct nr4_addr local ; + + unsigned window ; + + + + long srtt ; + long mdev ; + unsigned blevel ; + unsigned txmax ; + + + + + + + + char clone ; + char choked ; + char qfull ; + + char naksent ; + + + + struct nr4txbuf *txbufs ; + uint8 nextosend ; + uint8 ackxpected ; + unsigned nbuffered ; + struct mbuf *txq ; + + + + struct nr4rxbuf *rxbufs ; + uint8 rxpected ; + uint8 rxpastwin ; + struct mbuf *rxq ; + + + + int state ; + + + + + + + int dreason ; + + + + + + + + + struct timer tchoke ; + struct timer tack ; + + struct timer tcd ; + unsigned cdtries ; + + void (*r_upcall)(struct nr4cb *,uint16); + + void (*t_upcall)(struct nr4cb *,uint16); + + void (*s_upcall)(struct nr4cb *,int,int); + + int user ; +} ; + + + +struct nr4circp { + uint8 cid ; + + struct nr4cb *ccb ; + +} ; + + + +extern struct nr4circp Nr4circuits[20 ] ; + + + +extern unsigned short Nr4window ; +extern long Nr4irtt ; +extern unsigned short Nr4retries ; +extern long Nr4acktime ; +extern char *Nr4states[] ; +extern char *Nr4reasons[] ; +extern unsigned short Nr4qlimit ; +extern long Nr4choketime ; +extern uint8 Nr4user[7 ]; + + + + +int ntohnr4(struct nr4hdr *, struct mbuf **); +struct mbuf *htonnr4(struct nr4hdr *); + + +void free_n4circ(struct nr4cb *); +struct nr4cb *get_n4circ(int, int); +int init_nr4window(struct nr4cb *, unsigned); +int nr4between(unsigned, unsigned, unsigned); +struct nr4cb *match_n4circ(int, int,uint8 *,uint8 *); +struct nr4cb *new_n4circ(void); +void nr4defaults(struct nr4cb *); +int nr4valcb(struct nr4cb *); +void nr_garbage(int red); + + +void nr4input(struct nr4hdr *hdr,struct mbuf **bp); +int nr4output(struct nr4cb *); +void nr4sbuf(struct nr4cb *, unsigned); +void nr4sframe(uint8 *, struct nr4hdr *, struct mbuf **); +void nr4state(struct nr4cb *, int); + + +void nr4ackit(void *); +void nr4cdtimeout(void *); +void nr4txtimeout(void *); +void nr4unchoke(void *); + + +void disc_nr4(struct nr4cb *); +int kick_nr4(struct nr4cb *); +struct nr4cb *open_nr4(struct nr4_addr *, struct nr4_addr *, int, + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,int,int),int); +struct mbuf *recv_nr4(struct nr4cb *, uint16); +void reset_nr4(struct nr4cb *); +int send_nr4(struct nr4cb *, struct mbuf **); + + +void nr4_state(struct nr4cb *, int, int); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct nr3hdr { + uint8 source[7 ] ; + uint8 dest[7 ] ; + unsigned ttl ; +} ; + + + +struct nr3dest { + uint8 dest[7 ] ; + char alias[7 ] ; + uint8 neighbor[7 ] ; + unsigned quality ; +} ; + + + +struct nriface { + struct iface *iface ; + char alias[7 ] ; + + unsigned quality ; +} ; + + +struct nrnbr_tab { + struct nrnbr_tab *next ; + struct nrnbr_tab *prev ; + uint8 call[7 ] ; + unsigned iface ; + + unsigned refcnt ; +} ; + + + + + + +struct nr_bind { + struct nr_bind *next ; + struct nr_bind *prev ; + unsigned quality ; + unsigned obsocnt ; + unsigned flags ; + + + struct nrnbr_tab *via ; +} ; + + + +struct nrroute_tab { + struct nrroute_tab *next ; + struct nrroute_tab *prev ; + char alias[7 ] ; + uint8 call[7 ] ; + unsigned num_routes ; + struct nr_bind *routes ; + +} ; + + +struct nrnf_tab { + struct nrnf_tab *next ; + struct nrnf_tab *prev ; + uint8 neighbor[7 ] ; + unsigned iface ; +} ; + + +struct raw_nr { + struct raw_nr *prev; + struct raw_nr *next; + + struct mbuf *rcvq; + uint8 protocol; +}; + + +extern struct nriface Nrifaces[10 ] ; + + +extern unsigned Nr_numiface ; + + +extern struct nrnbr_tab *Nrnbr_tab[17 ] ; + + +extern struct nrroute_tab *Nrroute_tab[17 ] ; + + +extern struct nrnf_tab *Nrnf_tab[17 ] ; + +extern uint8 Nr_nodebc[7 ]; + + + + + + + +extern unsigned Nr_nfmode ; + + +extern unsigned short Nr_ttl ; + + +extern unsigned Obso_init ; + + +extern unsigned Obso_minbc ; + + + +extern unsigned Nr_autofloor ; + + + + +extern int Nr_verbose ; + + + + + +extern unsigned Nr_maxroutes ; + + +extern struct iface *Nr_iface ; + + + + +void del_rnr(struct raw_nr *rpp); +uint8 *find_nralias(char *); +struct nrroute_tab *find_nrroute(uint8 *); +void nr_bcnodes(unsigned ifno); +void nr_nodercv(struct iface *iface,uint8 *source,struct mbuf **bpp); +int nr_nfadd(uint8 *, unsigned); +int nr_nfdrop(uint8 *, unsigned); +void nr_route(struct mbuf **bp,struct ax25_cb *iaxp); +int nr_routeadd(char *, uint8 *, unsigned, + unsigned, uint8 *, unsigned, unsigned); +int nr_routedrop(uint8 *, uint8 *, unsigned); +int nr_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +void nr_sendraw(uint8 *dest,unsigned family,unsigned proto, + struct mbuf **data); +void nr3output(uint8 *dest,struct mbuf **data); +uint16 nrhash(uint8 *s); +struct raw_nr *raw_nr(uint8); + + +void donrdump(struct nr4cb *cb); +int doroutedump(void); +int dorouteinfo(int argc,char *argv[],void *p); +int putalias(char *to, char *from,int complain); + + +struct mbuf *htonnr3(struct nr3hdr *); +struct mbuf *htonnrdest(struct nr3dest *); +int ntohnr3(struct nr3hdr *, struct mbuf **); +int ntohnrdest(struct nr3dest *ds,struct mbuf **bpp); + + + + + + + + +struct loc { + struct usock *peer; + struct mbuf *q; + int hiwat; + int flags; + +}; + + + + +union sp { + struct sockaddr *sa; + struct sockaddr_in *in; + struct sockaddr_ax *ax; + struct sockaddr_nr *nr; +}; +struct socklink { + int type; + int (*socket)(struct usock *,int); + int (*bind)(struct usock *); + int (*listen)(struct usock *,int); + int (*connect)(struct usock *); + int accept; + int (*recv)(struct usock *,struct mbuf **,struct sockaddr *,int *); + int (*send)(struct usock *,struct mbuf **,struct sockaddr *); + int (*qlen)(struct usock *,int); + int (*kick)(struct usock *); + int (*shut)(struct usock *,int); + int (*close)(struct usock *); + int (*check)(struct sockaddr *,int); + char **error; + char *(*state)(struct usock *); + int (*status)(struct usock *); + char *eol; +}; +extern struct socklink Socklink[]; +union cb { + struct tcb *tcb; + struct ax25_cb *ax25; + struct udp_cb *udp; + struct raw_ip *rip; + struct raw_nr *rnr; + struct nr4cb *nr4; + struct loc *local; + void *p; +}; + +struct usock { + unsigned strchr; + struct proc *owner; + int refcnt; + char noblock; + enum { + NOTUSED, + TYPE_TCP, + TYPE_UDP, + TYPE_AX25I, + TYPE_AX25UI, + TYPE_RAW, + TYPE_NETROML3, + TYPE_NETROML4, + TYPE_LOCAL_STREAM, + TYPE_LOCAL_DGRAM + } type; + struct socklink *sp; + int rdysock; + union cb cb; + struct sockaddr *name; + int namelen; + struct sockaddr *peername; + int peernamelen; + uint8 errcodes[4]; + uint8 tos; + int flag; +}; +extern char *(*Psock[])(struct sockaddr *); +extern char Badsocket[]; +extern char *Socktypes[]; +extern struct usock **Usock; +extern unsigned Nsock; +extern uint16 Lport; + +struct usock *itop(int s); +void st_garbage(int red); + + +int so_ax_sock(struct usock *up,int protocol); +int so_ax_bind(struct usock *up); +int so_ax_listen(struct usock *up,int backlog); +int so_ax_conn(struct usock *up); +int so_ax_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_ax_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_ax_qlen(struct usock *up,int rtx); +int so_ax_kick(struct usock *up); +int so_ax_shut(struct usock *up,int how); +int so_ax_close(struct usock *up); +int checkaxaddr(struct sockaddr *name,int namelen); +int so_axui_sock(struct usock *up,int protocol); +int so_axui_bind(struct usock *up); +int so_axui_conn(struct usock *up); +int so_axui_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_axui_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_axui_qlen(struct usock *up,int rtx); +int so_axui_shut(struct usock *up,int how); +int so_axui_close(struct usock *up); +char *axpsocket(struct sockaddr *p); +char *axstate(struct usock *up); +int so_ax_stat(struct usock *up); + + + +int so_ip_sock(struct usock *up,int protocol); +int so_ip_conn(struct usock *up); +int so_ip_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_ip_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_ip_qlen(struct usock *up,int rtx); +int so_ip_close(struct usock *up); +int checkipaddr(struct sockaddr *name,int namelen); +char *ippsocket(struct sockaddr *p); + + +int so_los(struct usock *up,int protocol); +int so_lod(struct usock *up,int protocol); +int so_lo_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_los_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_lod_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_lod_qlen(struct usock *up,int rtx); +int so_los_qlen(struct usock *up,int rtx); +int so_loc_shut(struct usock *up,int how); +int so_loc_close(struct usock *up); +char *lopsocket(struct sockaddr *p); +int so_loc_stat(struct usock *up); + + +int so_n3_sock(struct usock *up,int protocol); +int so_n4_sock(struct usock *up,int protocol); +int so_n4_listen(struct usock *up,int backlog); +int so_n3_conn(struct usock *up); +int so_n4_conn(struct usock *up); +int so_n3_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_n4_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_n3_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_n4_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_n3_qlen(struct usock *up,int rtx); +int so_n4_qlen(struct usock *up,int rtx); +int so_n4_kick(struct usock *up); +int so_n4_shut(struct usock *up,int how); +int so_n3_close(struct usock *up); +int so_n4_close(struct usock *up); +int checknraddr(struct sockaddr *name,int namelen); +char *nrpsocket(struct sockaddr *p); +char *nrstate(struct usock *up); +int so_n4_stat(struct usock *up); + + +int so_tcp(struct usock *up,int protocol); +int so_tcp_listen(struct usock *up,int backlog); +int so_tcp_conn(struct usock *up); +int so_tcp_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_tcp_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_tcp_qlen(struct usock *up,int rtx); +int so_tcp_kick(struct usock *up); +int so_tcp_shut(struct usock *up,int how); +int so_tcp_close(struct usock *up); +char *tcpstate(struct usock *up); +int so_tcp_stat(struct usock *up); + + +int so_udp(struct usock *up,int protocol); +int so_udp_bind(struct usock *up); +int so_udp_conn(struct usock *up); +int so_udp_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_udp_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_udp_qlen(struct usock *up,int rtx); +int so_udp_shut(struct usock *up,int how); +int so_udp_close(struct usock *up); +int so_udp_stat(struct usock *up); + + + +char Ax25_eol[] = "\r"; + +static void autobind(struct usock *up); + + + + +int Axi_sock = -1; +static int Axui_sock = -1; +static struct mbuf *Bcq; + + +void +beac_input( +struct iface *iface, +uint8 *src, +struct mbuf **bpp +){ + struct mbuf *hdr; + struct sockaddr_ax *sax; + + if(Axui_sock == -1){ + + free_p(bpp); + } else { + pushdown(&hdr,0,sizeof(struct sockaddr_ax)); + sax = (struct sockaddr_ax *)hdr->data; + sax->sax_family = 1; + memcpy(sax->ax25_addr,src,7 ); + strncpy(sax->iface,iface->name,(sizeof(struct sockaddr) - sizeof(short) - 7 )); + hdr->next = (*bpp); + *bpp = 0; + enqueue(&Bcq,&hdr); + } +} +int +so_ax_sock( +struct usock *up, +int protocol +){ + return 0; +} +int +so_axui_sock( +struct usock *up, +int protocol +){ + return 0; +} + +int +so_axui_bind( +struct usock *up +){ + if(Axui_sock != -1){ + (Curproc->p_errno) = 111; + return -1; + } + Axui_sock = up->strchr; + return 0; +} +int +so_ax_listen( +struct usock *up, +int backlog +){ + struct sockaddr_ax *local; + + if(up->name == 0) + autobind(up); + if(up != itop(Axi_sock)){ + (Curproc->p_errno) = 105; + return -1; + } + local = (struct sockaddr_ax *)up->name; + up->cb.ax25 = open_ax25(0,local->ax25_addr,0, + backlog ? 2 :0,0, + s_arcall,s_atcall,s_ascall,Axi_sock); + return 0; +} +int +so_ax_conn( +struct usock *up +){ + struct sockaddr_ax *local,*remote,localtmp; + struct ax25_cb *ax25; + struct iface *iface; + int s; + + s = up->strchr; + remote = (struct sockaddr_ax *)up->peername; + if((iface = if_lookup(remote->iface)) == 0){ + (Curproc->p_errno) = 22 ; + return -1; + } + local = (struct sockaddr_ax *)up->name; + if(local == 0){ + + + + localtmp.sax_family = 1; + memcpy(localtmp.ax25_addr,iface->hwaddr,7 ); + memcpy(localtmp.iface,remote->iface,(sizeof(struct sockaddr) - sizeof(short) - 7 )); + bind(s,(struct sockaddr *)&localtmp,sizeof(localtmp)); + local = (struct sockaddr_ax *)up->name; + } + + if((up->cb.ax25 = find_ax25(remote->ax25_addr)) != 0 + && up->cb.ax25->state != LAPB_DISCONNECTED && + up->cb.ax25->user == -1) { + up->cb.ax25->user = s; + up->cb.ax25->r_upcall = s_arcall; + up->cb.ax25->t_upcall = s_atcall; + up->cb.ax25->s_upcall = s_ascall; + if(up->cb.ax25->state == LAPB_CONNECTED + || up->cb.ax25->state == LAPB_RECOVERY) + return 0; + } else { + up->cb.ax25 = open_ax25(iface,local->ax25_addr, + remote->ax25_addr,1, + Axwindow,s_arcall,s_atcall,s_ascall,s); + } + + while((ax25 = up->cb.ax25) != 0 && ax25->state != LAPB_CONNECTED){ + if(up->noblock){ + (Curproc->p_errno) = 100; + return -1; + } else if(((Curproc->p_errno) = kwait(up)) != 0){ + return -1; + } + } + if(ax25 == 0){ + + free(up->peername); + up->peername = 0; + (Curproc->p_errno) = 109; + return -1; + } + return 0; +} +int +so_axui_conn( +struct usock *up +){ + if(up->name == 0) + autobind(up); + return 0; +} + +int +so_ax_recv( +struct usock *up, +struct mbuf **bpp, +struct sockaddr *from, +int *fromlen +){ + struct ax25_cb *ax25; + int cnt; + + while((ax25 = up->cb.ax25) != 0 + && (*bpp = recv_ax25(ax25,(uint16)0)) == 0){ + if(up->noblock){ + (Curproc->p_errno) = 100; + return -1; + } else if(((Curproc->p_errno) = kwait(up)) != 0){ + return -1; + } + } + if(ax25 == 0){ + + (Curproc->p_errno) = 101; + return -1; + } + cnt = (*bpp)->cnt; + return cnt; +} +int +so_axui_recv( +struct usock *up, +struct mbuf **bpp, +struct sockaddr *from, +int *fromlen +){ + int s; + + s = up->strchr; + + while(s == Axui_sock && Bcq == 0){ + if(up->noblock){ + (Curproc->p_errno) = 100; + return -1; + } else if(((Curproc->p_errno) = kwait(&Bcq)) != 0){ + return -1; + } + } + if(s != Axui_sock){ + (Curproc->p_errno) = 101; + return -1; + } + *bpp = dequeue(&Bcq); + + if(from != 0 && fromlen != 0 + && *fromlen >= sizeof(struct sockaddr_ax)){ + pullup(bpp,from,sizeof(struct sockaddr_ax)); + *fromlen = sizeof(struct sockaddr_ax); + } else { + pullup(bpp,0,sizeof(struct sockaddr_ax)); + } + return len_p(*bpp); +} +int +so_ax_send( +struct usock *up, +struct mbuf **bpp, +struct sockaddr *to +){ + struct ax25_cb *ax25; + + if((ax25 = up->cb.ax25) == 0){ + free_p(bpp); + (Curproc->p_errno) = 101; + return -1; + } + send_ax25(ax25,bpp,0xf0 ); + + while((ax25 = up->cb.ax25) != 0 && + len_q(ax25->txq) * ax25->paclen > ax25->window){ + if(up->noblock){ + (Curproc->p_errno) = 100; + return -1; + } else if(((Curproc->p_errno) = kwait(up)) != 0){ + return -1; + } + } + if(ax25 == 0){ + (Curproc->p_errno) = 9 ; + return -1; + } + return 0; +} +int +so_axui_send( +struct usock *up, +struct mbuf **bpp, +struct sockaddr *to +){ + struct sockaddr_ax *local,*remote; + + local = (struct sockaddr_ax *)up->name; + if(to != 0) + remote = (struct sockaddr_ax *)to; + else if(up->peername != 0){ + remote = (struct sockaddr_ax *)up->peername; + } else { + free_p(bpp); + (Curproc->p_errno) = 101; + return -1; + } + ax_output(if_lookup(remote->iface),remote->ax25_addr, + local->ax25_addr,0xf0 ,bpp); + return 0; +} + +int +so_ax_qlen( +struct usock *up, +int rtx +){ + int len; + + if(up->cb.ax25 == 0){ + (Curproc->p_errno) = 101; + return -1; + } + switch(rtx){ + case 0: + len = len_p(up->cb.ax25->rxq); + break; + case 1: + len = len_q(up->cb.ax25->txq); + } + return len; +} +int +so_axui_qlen( +struct usock *up, +int rtx +){ + int len; + + switch(rtx){ + case 0: + len = len_q(Bcq); + break; + case 1: + len = 0; + break; + } + return len; +} +int +so_ax_kick( +struct usock *up +){ + if(up->cb.ax25 != 0) + kick_ax25(up->cb.ax25); + return 0; +} +int +so_ax_shut( +struct usock *up, +int how +){ + if(up->cb.ax25 == 0) + return 0; + switch(how){ + case 0: + case 1: + disc_ax25(up->cb.ax25); + break; + case 2: + reset_ax25(up->cb.ax25); + up->cb.ax25 = 0; + break; + } + return 0; +} +int +so_ax_close( +struct usock *up +){ + if(up->cb.ax25 != 0){ + + up->cb.ax25->user = -1; + disc_ax25(up->cb.ax25); + } + return 0; +} +int +so_axui_close( +struct usock *up +){ + Axui_sock = -1; + free_q(&Bcq); + ksignal(&Bcq,0); + return 0; +} + +void +s_arcall( +struct ax25_cb *axp, +int cnt +){ + int ns; + struct usock *up,*nup,*oup; + union sp sp; + + up = itop(axp->user); + + + + + if (Axi_sock != -1 && axp->user == -1) { + oup = up = itop(Axi_sock); + + axp->t_upcall = up->cb.ax25->t_upcall; + axp->r_upcall = up->cb.ax25->r_upcall; + axp->s_upcall = up->cb.ax25->s_upcall; + if (up->cb.ax25->flags.clone) { + + ns = socket(1,0,0); + nup = itop(ns); + ((*nup) = (*up)); + axp->user = ns; + nup->cb.ax25 = axp; + + nup->name = mallocw(sizeof(struct sockaddr_ax)); + nup->peername = mallocw(sizeof(struct sockaddr_ax)); + + up->rdysock = ns; + up = nup; + } else { + axp->user = Axi_sock; + del_ax25(up->cb.ax25); + up->cb.ax25 = axp; + + up->peername = mallocw(sizeof(struct sockaddr_ax)); + + up->rdysock = Axi_sock; + } + + + + sp.ax = (struct sockaddr_ax *)up->name; + sp.ax->sax_family = 1; + memcpy(sp.ax->ax25_addr,axp->local,7 ); + memcpy(sp.ax->iface,axp->iface->name,(sizeof(struct sockaddr) - sizeof(short) - 7 )); + up->namelen = sizeof(struct sockaddr_ax); + + sp.ax = (struct sockaddr_ax *)up->peername; + sp.ax->sax_family = 1; + memcpy(sp.ax->ax25_addr,axp->remote,7 ); + memcpy(sp.ax->iface,axp->iface->name,(sizeof(struct sockaddr) - sizeof(short) - 7 )); + up->peernamelen = sizeof(struct sockaddr_ax); + + ksignal(oup,1); + kwait(0); + return; + } + + ksignal(up,1); + kwait(0); +} + +void +s_atcall( +struct ax25_cb *axp, +int cnt +){ + + ksignal(itop(axp->user),1); + kwait(0); +} + +void +s_ascall( + struct ax25_cb *axp, +int old, +int new +){ + int s; + struct usock *up; + + s = axp->user; + up = itop(s); + + switch(new){ + case LAPB_DISCONNECTED: + + + + + + + + + if(up != 0){ + up->errcodes[0] = axp->reason; + up->cb.ax25 = 0; + } + del_ax25(axp); + break; + default: + break; + } + ksignal(up,0); +} + + +static void +autobind( +struct usock *up +){ + struct sockaddr_ax local; + int s; + + s = up->strchr; + local.sax_family = 1; + memcpy(local.ax25_addr,Mycall,7 ); + bind(s,(struct sockaddr *)&local,sizeof(struct sockaddr_ax)); +} +int +checkaxaddr( +struct sockaddr *name, +int namelen +){ + struct sockaddr_ax *sock; + + sock = (struct sockaddr_ax *)name; + if(sock->sax_family != 1 || namelen != sizeof(struct sockaddr_ax)) + return -1; + return 0; +} +char * +axpsocket( +struct sockaddr *p +){ + struct sockaddr_ax *axp; + static char buf[30]; + char tmp[11]; + + axp = (struct sockaddr_ax *)p; + pax25(tmp,axp->ax25_addr); + if(strlen(axp->iface) != 0) + sprintf(buf,"%s on %s",tmp,axp->iface); + else + strcpy(buf,tmp); + return buf; +} +char * +axstate( +struct usock *up +){ + return Ax25states[up->cb.ax25->state]; +} +so_ax_stat( +struct usock *up +){ + st_ax25(up->cb.ax25); + return 0; +} diff --git a/src/nos/ax25/kiss.i b/src/nos/ax25/kiss.i new file mode 100644 index 00000000..85c35b42 --- /dev/null +++ b/src/nos/ax25/kiss.i @@ -0,0 +1,3630 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + +int kiss_free(struct iface *ifp); +int kiss_raw(struct iface *iface,struct mbuf **data); +void kiss_recv(struct iface *iface,struct mbuf **bp); +int kiss_init(struct iface *ifp); +int32 kiss_ioctl(struct iface *iface,int cmd,int set,int32 val); +void kiss_recv(struct iface *iface,struct mbuf **bp); + + + + + + + + + + +enum devparam { + PARAM_DATA, + PARAM_TXDELAY, + PARAM_PERSIST, + PARAM_SLOTTIME, + PARAM_TXTAIL, + PARAM_FULLDUP, + PARAM_HW, + PARAM_MUTE, + PARAM_DTR, + PARAM_RTS, + PARAM_SPEED, + PARAM_ENDDELAY, + PARAM_GROUP, + PARAM_IDLE, + PARAM_MIN, + PARAM_MAXKEY, + PARAM_WAIT, + + PARAM_CLOSE, + PARAM_OPEN, + PARAM_LISTEN, + PARAM_DOWN=0x81, + PARAM_UP=0x82, + + PARAM_BLIND=0x83, + PARAM_RETURN=0xff +}; + + +int devparam(char *s); +char *parmname(int n); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct tcp { + uint16 source; + uint16 dest; + int32 seq; + int32 ack; + uint16 wnd; + uint16 checksum; + uint16 up; + uint16 mss; + uint8 wsopt; + uint32 tsval; + uint32 tsecr; + struct { + unsigned int congest:1; + unsigned int urg:1; + unsigned int ack:1; + unsigned int psh:1; + unsigned int rst:1; + unsigned int syn:1; + unsigned int fin:1; + unsigned int mss:1; + unsigned int wscale:1; + unsigned int tstamp:1; + } flags; + + + + + + + + + + char optlen; + char options[40 ]; + +}; + + + + + + + + + + + +struct reseq { + struct reseq *next; + struct tcp seg; + struct mbuf *bp; + uint16 length; + char tos; +}; + +enum tcp_state { + TCP_CLOSED=1, + TCP_LISTEN, + TCP_SYN_SENT, + TCP_SYN_RECEIVED, + TCP_ESTABLISHED, + TCP_FINWAIT1, + TCP_FINWAIT2, + TCP_CLOSE_WAIT, + TCP_LAST_ACK, + TCP_CLOSING, + TCP_TIME_WAIT +}; + + +struct tcb { + struct tcb *next; + + struct connection conn; + + enum tcp_state state; + + char reason; + + + + + + + uint8 type; + uint8 code; + + + struct { + int32 una; + int32 nxt; + int32 ptr; + int32 wl1; + int32 wl2; + int32 wnd; + uint16 up; + uint8 wind_scale; + } snd; + int32 iss; + int32 resent; + int32 cwind; + int32 ssthresh; + int dupacks; + + + struct { + int32 nxt; + int32 wnd; + uint16 up; + uint8 wind_scale; + } rcv; + int32 last_ack_sent; + int32 ts_recent; + + int32 irs; + int32 rerecv; + int32 mss; + + int32 window; + int32 limit; + + void (*r_upcall)(struct tcb *tcb,int32 cnt); + + void (*t_upcall)(struct tcb *tcb,int32 cnt); + + void (*s_upcall)(struct tcb *tcb,int old,int new); + + struct { + unsigned int force:1; + unsigned int clone:1; + unsigned int retran:1; + unsigned int active:1; + unsigned int synack:1; + unsigned int rtt_run:1; + unsigned int congest:1; + int ts_ok:1; + int ws_ok:1; + } flags; + char tos; + int backoff; + + struct mbuf *rcvq; + struct mbuf *sndq; + int32 rcvcnt; + int32 sndcnt; + + + + + struct reseq *reseq; + struct timer timer; + int32 rtt_time; + int32 rttseq; + int32 rttack; + int32 srtt; + int32 mdev; + int32 rtt; + + int user; + + + int32 quench; + int32 unreach; + int32 timeouts; + int32 lastack; + int32 txbw; + int32 lastrx; + int32 rxbw; +}; + +struct tcp_rtt { + int32 addr; + int32 srtt; + int32 mdev; +}; +extern struct tcp_rtt Tcp_rtt[]; +extern int (*Kicklist[])(); + + +struct tcp_stat { + uint16 runt; + uint16 checksum; + uint16 conout; + uint16 conin; + uint16 resets; + uint16 bdcsts; +}; +extern struct mib_entry Tcp_mib[]; + + + + + + + + + + + + + + + + +extern struct tcb *Tcbs; +extern char *Tcpstates[]; +extern char *Tcpreasons[]; + + +extern int Tcp_tstamps; +extern int32 Tcp_irtt; +extern uint16 Tcp_limit; +extern uint16 Tcp_mss; +extern int Tcp_syndata; +extern int Tcp_trace; +extern uint16 Tcp_window; + +void st_tcp(struct tcb *tcb); + + +void htontcp(struct tcp *tcph,struct mbuf **data, + int32 ipsrc,int32 ipdest); +int ntohtcp(struct tcp *tcph,struct mbuf **bpp); + + +void reset(struct ip *ip,struct tcp *seg); +void send_syn(struct tcb *tcb); +void tcp_input(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast,int32 said); +void tcp_icmp(int32 icsource,int32 source,int32 dest, + uint8 type,uint8 code,struct mbuf **bpp); + + +void close_self(struct tcb *tcb,int reason); +struct tcb *create_tcb(struct connection *conn); +struct tcb *lookup_tcb(struct connection *conn); +void rtt_add(int32 addr,int32 rtt); +struct tcp_rtt *rtt_get(int32 addr); +int seq_ge(int32 x,int32 y); +int seq_gt(int32 x,int32 y); +int seq_le(int32 x,int32 y); +int seq_lt(int32 x,int32 y); +int seq_within(int32 x,int32 low,int32 high); +void settcpstate(struct tcb *tcb,enum tcp_state newstate); +void tcp_garbage(int red); + + +void tcp_output(struct tcb *tcb); + + +int32 backoff(int n); +void tcp_timeout(void *p); + + +int close_tcp(struct tcb *tcb); +int del_tcp(struct tcb *tcb); +int kick(int32 addr); +int kick_tcp(struct tcb *tcb); +struct tcb *open_tcp(struct socket *lsocket,struct socket *fsocket, + int mode,uint16 window, + void (*r_upcall)(struct tcb *tcb,int32 cnt), + void (*t_upcall)(struct tcb *tcb,int32 cnt), + void (*s_upcall)(struct tcb *tcb,int old,int new), + int tos,int user); +int32 recv_tcp(struct tcb *tcb,struct mbuf **bpp,int32 cnt); +void reset_all(void); +void reset_tcp(struct tcb *tcb); +long send_tcp(struct tcb *tcb,struct mbuf **bpp); +char *tcp_port(uint16 n); +int tcpval(struct tcb *tcb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct cstate { + byte_t this; + struct cstate *next; + struct ip cs_ip; + struct tcp cs_tcp; +}; + + + + +struct slcompress { + struct cstate *tstate; + struct cstate *rstate; + + byte_t tslot_limit; + byte_t rslot_limit; + + byte_t xmit_oldest; + byte_t xmit_current; + byte_t recv_current; + + byte_t flags; + + + int32 sls_o_nontcp; + int32 sls_o_tcp; + int32 sls_o_uncompressed; + int32 sls_o_compressed; + int32 sls_o_searches; + int32 sls_o_misses; + + int32 sls_i_uncompressed; + int32 sls_i_compressed; + int32 sls_i_error; + int32 sls_i_tossed; +}; + + +struct slcompress *slhc_init(int rslots, int tslots); +void slhc_free(struct slcompress *comp); + +int slhc_compress(struct slcompress *comp, + struct mbuf **bpp, int compress_cid); +int slhc_uncompress(struct slcompress *comp, + struct mbuf **bpp); +int slhc_remember(struct slcompress *comp, + struct mbuf **bpp); +int slhc_toss(struct slcompress *comp); + +void slhc_i_status(struct slcompress *comp); +void slhc_o_status(struct slcompress *comp); + + + + + + + + + + + + + + + + + + + +struct slip { + struct iface *iface; + uint8 escaped; + + + struct mbuf *rbp_head; + struct mbuf *rbp_tail; + uint8 *rcp; + uint16 rcnt; + struct mbuf *tbp; + uint16 errors; + int type; + int (*send)(int,struct mbuf **); + int (*get)(int); + struct slcompress *slcomp; +}; + + +extern struct slip Slip[]; + +void asytxdone(int dev); +int slip_free(struct iface *ifp); +int slip_init(struct iface *ifp); +int slip_raw(struct iface *iface,struct mbuf **data); +void slip_rx(int xdev,void *p1,void *p2); +int slip_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int vjslip_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +void slip_status(struct iface *iface); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct asymode { + char *name; + int trigchar; + int (*init)(struct iface *); + int (*free)(struct iface *); +}; +extern struct asymode Asymode[]; + + +int asy_init(int dev,struct iface *ifp,int base,int irq, + uint16 bufsize,int trigchar,long speed,int cts,int rlsd,int chain); +int32 asy_ioctl(struct iface *ifp,int cmd,int set,int32 val); +int asy_read(int dev,void *buf,unsigned short cnt); +int asy_open(char *name); +int asy_close(int dev); +int asy_speed(int dev,long bps); +int asy_send(int dev,struct mbuf **bpp); +int asy_stop(struct iface *ifp); +int asy_write(int dev,void *buf,unsigned short cnt); +int get_rlsd_asy(int dev, int new_rlsd); +int get_asy(int dev); +void fp_stop(void); + + +void asy0vec(void); +void asy1vec(void); +void asy2vec(void); +void asy3vec(void); +void asy4vec(void); +void asy5vec(void); + + +void fp0vec(void); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int +kiss_init( +struct iface *ifp +){ + int xdev; + struct slip *sp; + char *ifn; + + for(xdev = 0;xdev < 6 ;xdev++){ + sp = &Slip[xdev]; + if(sp->iface == 0) + break; + } + if(xdev >= 6 ) { + _printf(_("Too many slip devices\n")); + return -1; + } + ifp->ioctl = kiss_ioctl; + ifp->raw = kiss_raw; + ifp->show = slip_status; + + if(ifp->hwaddr == 0) + ifp->hwaddr = mallocw(7 ); + memcpy(ifp->hwaddr,Mycall,7 ); + ifp->xdev = xdev; + + sp->iface = ifp; + sp->send = asy_send; + sp->get = get_asy; + sp->type = 10; + ifp->rxproc = newproc( ifn = if_name( ifp, " rx" ), + 256,slip_rx,xdev,0,0,0); + free(ifn); + return 0; +} +int +kiss_free( +struct iface *ifp +){ + if(Slip[ifp->xdev].iface == ifp) + Slip[ifp->xdev].iface = 0; + return 0; +} + +int +kiss_raw( +struct iface *iface, +struct mbuf **bpp +){ + + pushdown(bpp,0,1); + (*bpp)->data[0] = PARAM_DATA; + + slip_raw(iface,bpp); + return 0; +} + + +void +kiss_recv( +struct iface *iface, +struct mbuf **bpp +){ + char kisstype; + + kisstype = pull8(((bpp))); + switch(kisstype & 0xf){ + case PARAM_DATA: + ax_recv(iface,bpp); + break; + default: + free_p(bpp); + break; + } +} + +int32 +kiss_ioctl( +struct iface *iface, +int cmd, +int set, +int32 val +){ + struct mbuf *hbp; + uint8 *cp; + int rval = 0; + + + + + + switch(cmd){ + case PARAM_RETURN: + set = 1; + case PARAM_TXDELAY: + case PARAM_PERSIST: + case PARAM_SLOTTIME: + case PARAM_TXTAIL: + case PARAM_FULLDUP: + case PARAM_HW: + if(!set){ + rval = -1; + break; + } + + if((hbp = alloc_mbuf(2)) == 0){ + free_p(&hbp); + rval = -1; + break; + } + cp = hbp->data; + *cp++ = cmd; + *cp = val; + hbp->cnt = 2; + slip_raw(iface,&hbp); + rval = val; + break; + case PARAM_SPEED: + case PARAM_DTR: + case PARAM_RTS: + rval = asy_ioctl(iface,cmd,set,val); + break; + default: + rval = -1; + break; + } + return rval; +} diff --git a/src/nos/ax25/lapb.i b/src/nos/ax25/lapb.i new file mode 100644 index 00000000..82d6651a --- /dev/null +++ b/src/nos/ax25/lapb.i @@ -0,0 +1,4055 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct ax25_cb { + struct ax25_cb *next; + + struct iface *iface; + + struct mbuf *txq; + struct mbuf *rxasm; + struct mbuf *rxq; + + uint8 local[7 ]; + uint8 remote[7 ]; + + struct { + unsigned int rejsent:1; + unsigned int remotebusy:1; + unsigned int rtt_run:1; + unsigned int retrans:1; + unsigned int clone:1; + } flags; + + uint8 reason; + + + + + uint8 response; + uint8 vs; + uint8 vr; + uint8 unack; + int maxframe; + uint16 paclen; + uint16 window; + enum { + V1=1, + V2 + } proto; + uint16 pthresh; + unsigned retries; + unsigned n2; + enum { + LAPB_DISCONNECTED=1, + LAPB_LISTEN, + LAPB_SETUP, + LAPB_DISCPENDING, + LAPB_CONNECTED, + LAPB_RECOVERY + } state; + struct timer t1; + struct timer t3; + int32 rtt_time; + int rtt_seq; + int32 srt; + int32 mdev; + + void (*r_upcall)(struct ax25_cb *,int); + void (*t_upcall)(struct ax25_cb *,int); + void (*s_upcall)(struct ax25_cb *,int,int); + + int user; + + int segremain; +}; + +struct axlink { + int pid; + void (*funct)(struct iface *,struct ax25_cb *,uint8 *, uint8 *, + struct mbuf **,int); +}; +extern struct axlink Axlink[]; + + + + + + +extern struct ax25_cb Ax25default,*Ax25_cb; +extern char *Ax25states[],*Axreasons[]; +extern int32 Axirtt,T3init,Blimit; +extern uint16 N2,Maxframe,Paclen,Pthresh,Axwindow,Axversion; + + +void st_ax25(struct ax25_cb *axp); + + +struct ax25_cb *cr_ax25(uint8 *addr); +void del_ax25(struct ax25_cb *axp); +struct ax25_cb *find_ax25(uint8 *); + + +int ax25val(struct ax25_cb *axp); +int disc_ax25(struct ax25_cb *axp); +int kick_ax25(struct ax25_cb *axp); +struct ax25_cb *open_ax25(struct iface *,uint8 *,uint8 *, + int,uint16, + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int,int), + int user); +struct mbuf *recv_ax25(struct ax25_cb *axp,uint16 cnt); +int reset_ax25(struct ax25_cb *axp); +int send_ax25(struct ax25_cb *axp,struct mbuf **bp,int pid); + + +void est_link(struct ax25_cb *axp); +void lapbstate(struct ax25_cb *axp,int s); +int lapb_input(struct ax25_cb *axp,int cmdrsp,struct mbuf **bp); +int lapb_output(struct ax25_cb *axp); +struct mbuf *segmenter(struct mbuf **bp,uint16 ssize); +int sendctl(struct ax25_cb *axp,int cmdrsp,int cmd); +int sendframe(struct ax25_cb *axp,int cmdrsp,int ctl,struct mbuf **data); +void axnl3(struct iface *iface,struct ax25_cb *axp,uint8 *src, + uint8 *dest,struct mbuf **bp,int mcast); + + +void pollthem(void *p); +void recover(void *p); + + +uint16 ftype(int control); +void lapb_garbage(int drastic); + + +void s_arcall(struct ax25_cb *axp,int cnt); +void s_ascall(struct ax25_cb *axp,int old,int new); +void s_atcall(struct ax25_cb *axp,int cnt); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct nr4hdr { + uint8 opcode ; + uint8 yourindex ; + uint8 yourid ; + + union { + + struct { + uint8 family ; + uint8 proto ; + } pid ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + uint8 user[7 ] ; + uint8 node[7 ] ; + } conreq ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + } conack ; + + struct { + uint8 txseq ; + uint8 rxseq ; + } info ; + + struct { + uint8 rxseq ; + } ack ; + + } u ; + +} ; + + + +struct nr4txbuf { + struct timer tretry ; + unsigned retries ; + struct mbuf *data ; +} ; + + + +struct nr4rxbuf { + uint8 occupied ; + struct mbuf *data ; +} ; + + +struct nr4_addr { + uint8 user[7 ]; + uint8 node[7 ]; +}; + +struct sockaddr_nr { + short nr_family; + struct nr4_addr nr_addr; +}; + + + +struct nr4cb { + unsigned mynum ; + unsigned myid ; + unsigned yournum ; + unsigned yourid ; + struct nr4_addr remote ; + struct nr4_addr local ; + + unsigned window ; + + + + long srtt ; + long mdev ; + unsigned blevel ; + unsigned txmax ; + + + + + + + + char clone ; + char choked ; + char qfull ; + + char naksent ; + + + + struct nr4txbuf *txbufs ; + uint8 nextosend ; + uint8 ackxpected ; + unsigned nbuffered ; + struct mbuf *txq ; + + + + struct nr4rxbuf *rxbufs ; + uint8 rxpected ; + uint8 rxpastwin ; + struct mbuf *rxq ; + + + + int state ; + + + + + + + int dreason ; + + + + + + + + + struct timer tchoke ; + struct timer tack ; + + struct timer tcd ; + unsigned cdtries ; + + void (*r_upcall)(struct nr4cb *,uint16); + + void (*t_upcall)(struct nr4cb *,uint16); + + void (*s_upcall)(struct nr4cb *,int,int); + + int user ; +} ; + + + +struct nr4circp { + uint8 cid ; + + struct nr4cb *ccb ; + +} ; + + + +extern struct nr4circp Nr4circuits[20 ] ; + + + +extern unsigned short Nr4window ; +extern long Nr4irtt ; +extern unsigned short Nr4retries ; +extern long Nr4acktime ; +extern char *Nr4states[] ; +extern char *Nr4reasons[] ; +extern unsigned short Nr4qlimit ; +extern long Nr4choketime ; +extern uint8 Nr4user[7 ]; + + + + +int ntohnr4(struct nr4hdr *, struct mbuf **); +struct mbuf *htonnr4(struct nr4hdr *); + + +void free_n4circ(struct nr4cb *); +struct nr4cb *get_n4circ(int, int); +int init_nr4window(struct nr4cb *, unsigned); +int nr4between(unsigned, unsigned, unsigned); +struct nr4cb *match_n4circ(int, int,uint8 *,uint8 *); +struct nr4cb *new_n4circ(void); +void nr4defaults(struct nr4cb *); +int nr4valcb(struct nr4cb *); +void nr_garbage(int red); + + +void nr4input(struct nr4hdr *hdr,struct mbuf **bp); +int nr4output(struct nr4cb *); +void nr4sbuf(struct nr4cb *, unsigned); +void nr4sframe(uint8 *, struct nr4hdr *, struct mbuf **); +void nr4state(struct nr4cb *, int); + + +void nr4ackit(void *); +void nr4cdtimeout(void *); +void nr4txtimeout(void *); +void nr4unchoke(void *); + + +void disc_nr4(struct nr4cb *); +int kick_nr4(struct nr4cb *); +struct nr4cb *open_nr4(struct nr4_addr *, struct nr4_addr *, int, + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,int,int),int); +struct mbuf *recv_nr4(struct nr4cb *, uint16); +void reset_nr4(struct nr4cb *); +int send_nr4(struct nr4cb *, struct mbuf **); + + +void nr4_state(struct nr4cb *, int, int); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct nr3hdr { + uint8 source[7 ] ; + uint8 dest[7 ] ; + unsigned ttl ; +} ; + + + +struct nr3dest { + uint8 dest[7 ] ; + char alias[7 ] ; + uint8 neighbor[7 ] ; + unsigned quality ; +} ; + + + +struct nriface { + struct iface *iface ; + char alias[7 ] ; + + unsigned quality ; +} ; + + +struct nrnbr_tab { + struct nrnbr_tab *next ; + struct nrnbr_tab *prev ; + uint8 call[7 ] ; + unsigned iface ; + + unsigned refcnt ; +} ; + + + + + + +struct nr_bind { + struct nr_bind *next ; + struct nr_bind *prev ; + unsigned quality ; + unsigned obsocnt ; + unsigned flags ; + + + struct nrnbr_tab *via ; +} ; + + + +struct nrroute_tab { + struct nrroute_tab *next ; + struct nrroute_tab *prev ; + char alias[7 ] ; + uint8 call[7 ] ; + unsigned num_routes ; + struct nr_bind *routes ; + +} ; + + +struct nrnf_tab { + struct nrnf_tab *next ; + struct nrnf_tab *prev ; + uint8 neighbor[7 ] ; + unsigned iface ; +} ; + + +struct raw_nr { + struct raw_nr *prev; + struct raw_nr *next; + + struct mbuf *rcvq; + uint8 protocol; +}; + + +extern struct nriface Nrifaces[10 ] ; + + +extern unsigned Nr_numiface ; + + +extern struct nrnbr_tab *Nrnbr_tab[17 ] ; + + +extern struct nrroute_tab *Nrroute_tab[17 ] ; + + +extern struct nrnf_tab *Nrnf_tab[17 ] ; + +extern uint8 Nr_nodebc[7 ]; + + + + + + + +extern unsigned Nr_nfmode ; + + +extern unsigned short Nr_ttl ; + + +extern unsigned Obso_init ; + + +extern unsigned Obso_minbc ; + + + +extern unsigned Nr_autofloor ; + + + + +extern int Nr_verbose ; + + + + + +extern unsigned Nr_maxroutes ; + + +extern struct iface *Nr_iface ; + + + + +void del_rnr(struct raw_nr *rpp); +uint8 *find_nralias(char *); +struct nrroute_tab *find_nrroute(uint8 *); +void nr_bcnodes(unsigned ifno); +void nr_nodercv(struct iface *iface,uint8 *source,struct mbuf **bpp); +int nr_nfadd(uint8 *, unsigned); +int nr_nfdrop(uint8 *, unsigned); +void nr_route(struct mbuf **bp,struct ax25_cb *iaxp); +int nr_routeadd(char *, uint8 *, unsigned, + unsigned, uint8 *, unsigned, unsigned); +int nr_routedrop(uint8 *, uint8 *, unsigned); +int nr_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +void nr_sendraw(uint8 *dest,unsigned family,unsigned proto, + struct mbuf **data); +void nr3output(uint8 *dest,struct mbuf **data); +uint16 nrhash(uint8 *s); +struct raw_nr *raw_nr(uint8); + + +void donrdump(struct nr4cb *cb); +int doroutedump(void); +int dorouteinfo(int argc,char *argv[],void *p); +int putalias(char *to, char *from,int complain); + + +struct mbuf *htonnr3(struct nr3hdr *); +struct mbuf *htonnrdest(struct nr3dest *); +int ntohnr3(struct nr3hdr *, struct mbuf **); +int ntohnrdest(struct nr3dest *ds,struct mbuf **bpp); + + + +static void handleit(struct ax25_cb *axp,int pid,struct mbuf **bp); +static void procdata(struct ax25_cb *axp,struct mbuf **bp); +static int ackours(struct ax25_cb *axp,uint16 n); +static void clr_ex(struct ax25_cb *axp); +static void enq_resp(struct ax25_cb *axp); +static void inv_rex(struct ax25_cb *axp); + + +int +lapb_input( +struct ax25_cb *axp, +int cmdrsp, +struct mbuf **bpp +){ + int control; + int class; + uint16 type; + char pf; + char poll = 0; + char final = 0; + uint16 nr; + uint16 ns; + uint16 tmp; + + if(bpp == 0 || *bpp == 0 || axp == 0){ + free_p(bpp); + return -1; + } + + + if((control = pull8(((bpp)))) == -1){ + free_p(bpp); + return -1; + } + type = ftype(control); + class = type & 0x3; + pf = control & 0x10 ; + + if(pf){ + switch(cmdrsp){ + case LAPB_COMMAND: + poll = 1; + break; + case LAPB_RESPONSE: + final = 1; + break; + } + } + + switch(class){ + case 0x00 : + case 0x00 +2: + ns = (control >> 1) & 7 ; + case 0x01 : + nr = (control >> 5) & 7 ; + break; + } + + switch(axp->state){ + case LAPB_DISCONNECTED: + switch(type){ + case 0x2f : + sendctl(axp,LAPB_RESPONSE,0x63 |pf); + clr_ex(axp); + axp->unack = axp->vr = axp->vs = 0; + lapbstate(axp,LAPB_CONNECTED); + axp->srt = Axirtt; + axp->mdev = 0; + set_timer(&axp->t1,2*axp->srt); + start_timer(&axp->t3); + break; + case 0x0f : + break; + default: + if(poll) + sendctl(axp,LAPB_RESPONSE,0x0f |pf); + break; + } + break; + case LAPB_SETUP: + switch(type){ + case 0x2f : + sendctl(axp,LAPB_RESPONSE,0x63 |pf); + break; + case 0x43 : + sendctl(axp,LAPB_RESPONSE,0x0f |pf); + break; + case 0x63 : + + stop_timer(&axp->t1); + start_timer(&axp->t3); + axp->unack = axp->vr = axp->vs = 0; + lapbstate(axp,LAPB_CONNECTED); + break; + case 0x0f : + free_q(&axp->txq); + stop_timer(&axp->t1); + axp->reason = 1 ; + lapbstate(axp,LAPB_DISCONNECTED); + break; + default: + break; + } + break; + case LAPB_DISCPENDING: + switch(type){ + case 0x2f : + sendctl(axp,LAPB_RESPONSE,0x0f |pf); + break; + case 0x43 : + sendctl(axp,LAPB_RESPONSE,0x63 |pf); + break; + case 0x63 : + case 0x0f : + stop_timer(&axp->t1); + lapbstate(axp,LAPB_DISCONNECTED); + break; + default: + if(poll) + sendctl(axp,LAPB_RESPONSE,0x0f |pf); + break; + } + break; + case LAPB_CONNECTED: + switch(type){ + case 0x2f : + sendctl(axp,LAPB_RESPONSE,0x63 |pf); + clr_ex(axp); + free_q(&axp->txq); + stop_timer(&axp->t1); + start_timer(&axp->t3); + axp->unack = axp->vr = axp->vs = 0; + lapbstate(axp,LAPB_CONNECTED); + break; + case 0x43 : + free_q(&axp->txq); + sendctl(axp,LAPB_RESPONSE,0x63 |pf); + stop_timer(&axp->t1); + stop_timer(&axp->t3); + axp->reason = 0 ; + lapbstate(axp,LAPB_DISCONNECTED); + break; + case 0x0f : + axp->reason = 1 ; + lapbstate(axp,LAPB_DISCONNECTED); + break; + case 0x63 : + est_link(axp); + lapbstate(axp,LAPB_SETUP); + break; + case 0x87 : + est_link(axp); + lapbstate(axp,LAPB_SETUP); + break; + case 0x01 : + case 0x05 : + axp->flags.remotebusy = (control == 0x05 ) ? 1 : 0; + if(poll) + enq_resp(axp); + ackours(axp,nr); + break; + case 0x09 : + axp->flags.remotebusy = 0; + if(poll) + enq_resp(axp); + ackours(axp,nr); + stop_timer(&axp->t1); + start_timer(&axp->t3); + + + + + inv_rex(axp); + break; + case 0x00 : + ackours(axp,nr); + if(len_p(axp->rxq) >= axp->window){ + + + + + + if(poll) + sendctl(axp,LAPB_RESPONSE,0x05 |pf); + free_p(bpp); + break; + } + + if(ns != axp->vr){ + if(axp->proto == V1 || !axp->flags.rejsent){ + axp->flags.rejsent = 1; + sendctl(axp,LAPB_RESPONSE,0x09 | pf); + } else if(poll) + enq_resp(axp); + axp->response = 0; + break; + } + axp->flags.rejsent = 0; + axp->vr = (axp->vr+1) & 7 ; + tmp = len_p(axp->rxq) >= axp->window ? 0x05 : 0x01 ; + if(poll){ + sendctl(axp,LAPB_RESPONSE,tmp|0x10 ); + } else { + axp->response = tmp; + } + procdata(axp,bpp); + break; + default: + break; + } + break; + case LAPB_RECOVERY: + switch(type){ + case 0x2f : + sendctl(axp,LAPB_RESPONSE,0x63 |pf); + clr_ex(axp); + stop_timer(&axp->t1); + start_timer(&axp->t3); + axp->unack = axp->vr = axp->vs = 0; + lapbstate(axp,LAPB_CONNECTED); + break; + case 0x43 : + free_q(&axp->txq); + sendctl(axp,LAPB_RESPONSE,0x63 |pf); + stop_timer(&axp->t1); + stop_timer(&axp->t3); + axp->response = 0x63 ; + axp->reason = 0 ; + lapbstate(axp,LAPB_DISCONNECTED); + break; + case 0x0f : + axp->reason = 1 ; + lapbstate(axp,LAPB_DISCONNECTED); + break; + case 0x63 : + est_link(axp); + lapbstate(axp,LAPB_SETUP); + break; + case 0x87 : + est_link(axp); + lapbstate(axp,LAPB_SETUP); + break; + case 0x01 : + case 0x05 : + axp->flags.remotebusy = (control == 0x05 ) ? 1 : 0; + if(axp->proto == V1 || final){ + stop_timer(&axp->t1); + ackours(axp,nr); + if(axp->unack != 0){ + inv_rex(axp); + } else { + start_timer(&axp->t3); + lapbstate(axp,LAPB_CONNECTED); + } + } else { + if(poll) + enq_resp(axp); + ackours(axp,nr); + + + + if(!((&axp->t1)->state == 1)) + start_timer(&axp->t1); + } + break; + case 0x09 : + axp->flags.remotebusy = 0; + + if(axp->proto == V1 || final){ + stop_timer(&axp->t1); + ackours(axp,nr); + if(axp->unack != 0){ + inv_rex(axp); + } else { + start_timer(&axp->t3); + lapbstate(axp,LAPB_CONNECTED); + } + } else { + if(poll) + enq_resp(axp); + ackours(axp,nr); + if(axp->unack != 0){ + + inv_rex(axp); + } + + + + + if(!((&axp->t1)->state == 1)) + start_timer(&axp->t1); + } + break; + case 0x00 : + ackours(axp,nr); + + + + if(!((&axp->t1)->state == 1)) + start_timer(&axp->t1); + if(len_p(axp->rxq) >= axp->window){ + + + + + + sendctl(axp,LAPB_RESPONSE,0x05 | pf); + free_p(bpp); + break; + } + + if(ns != axp->vr){ + if(axp->proto == V1 || !axp->flags.rejsent){ + axp->flags.rejsent = 1; + sendctl(axp,LAPB_RESPONSE,0x09 | pf); + } else if(poll) + enq_resp(axp); + + axp->response = 0; + break; + } + axp->flags.rejsent = 0; + axp->vr = (axp->vr+1) & 7 ; + tmp = len_p(axp->rxq) >= axp->window ? 0x05 : 0x01 ; + if(poll){ + sendctl(axp,LAPB_RESPONSE,tmp|0x10 ); + } else { + axp->response = tmp; + } + procdata(axp,bpp); + break; + default: + break; + } + break; + } + free_p(bpp); + + + + + lapb_output(axp); + if(axp->response != 0){ + sendctl(axp,LAPB_RESPONSE,axp->response); + axp->response = 0; + } + return 0; +} + + + + +static int +ackours( +struct ax25_cb *axp, +uint16 n +){ + struct mbuf *bp; + int acked = 0; + uint16 oldest; + int32 rtt,abserr; + + + + + + + + oldest = (axp->vs - axp->unack) & 7 ; + while(axp->unack != 0 && oldest != n){ + if((bp = dequeue(&axp->txq)) == 0){ + + return -1; + } + free_p(&bp); + axp->unack--; + acked++; + if(axp->flags.rtt_run && axp->rtt_seq == oldest){ + + axp->flags.rtt_run = 0; + + if(!axp->flags.retrans){ + rtt = msclock() - axp->rtt_time; + abserr = (rtt > axp->srt) ? rtt - axp->srt : + axp->srt - rtt; + + + axp->srt = ((axp->srt * 7) + rtt + 4) >> 3; + axp->mdev = ((axp->mdev*3) + abserr + 2) >> 2; + + set_timer(&axp->t1,4*axp->mdev+axp->srt); + } + } + axp->flags.retrans = 0; + axp->retries = 0; + oldest = (oldest + 1) & 7 ; + } + if(axp->unack == 0){ + + stop_timer(&axp->t1); + start_timer(&axp->t3); + } else if(acked != 0) { + + start_timer(&axp->t1); + } + if(acked != 0){ + + + + if(axp->t_upcall != 0) + (*axp->t_upcall)(axp,axp->paclen * (axp->maxframe - axp->unack)); + } + return 0; +} + + +void +est_link(axp) +struct ax25_cb *axp; +{ + clr_ex(axp); + axp->retries = 0; + sendctl(axp,LAPB_COMMAND,0x2f |0x10 ); + stop_timer(&axp->t3); + start_timer(&axp->t1); +} + +static void +clr_ex(axp) +struct ax25_cb *axp; +{ + axp->flags.remotebusy = 0; + axp->flags.rejsent = 0; + axp->response = 0; + stop_timer(&axp->t3); +} + +static void +enq_resp(axp) +struct ax25_cb *axp; +{ + char ctl; + + ctl = len_p(axp->rxq) >= axp->window ? 0x05 |0x10 : 0x01 |0x10 ; + sendctl(axp,LAPB_RESPONSE,ctl); + axp->response = 0; + stop_timer(&axp->t3); +} + +static void +inv_rex(axp) +struct ax25_cb *axp; +{ + axp->vs -= axp->unack; + axp->vs &= 7 ; + axp->unack = 0; +} + +int +sendctl(axp,cmdrsp,cmd) +struct ax25_cb *axp; +int cmdrsp; +int cmd; +{ + if((ftype((char)cmd) & 0x3) == 0x01 ) + cmd |= (axp->vr << 5); + return sendframe(axp,cmdrsp,cmd,0); +} + + + +int +lapb_output(axp) +register struct ax25_cb *axp; +{ + register struct mbuf *bp; + struct mbuf *tbp; + char control; + int sent = 0; + int i; + + if(axp == 0 + || (axp->state != LAPB_RECOVERY && axp->state != LAPB_CONNECTED) + || axp->flags.remotebusy) + return 0; + + + bp = axp->txq; + for(i = 0; i < axp->unack; i++){ + if(bp == 0) + break; + bp = bp->anext; + } + + + + + while(bp != 0 && axp->unack < axp->maxframe){ + control = 0x00 | (axp->vs++ << 1) | (axp->vr << 5); + axp->vs &= 7 ; + dup_p(&tbp,bp,0,len_p(bp)); + if(tbp == 0) + return sent; + sendframe(axp,LAPB_COMMAND,control,&tbp); + axp->unack++; + + + + axp->response = 0; + if(!((&axp->t1)->state == 1)){ + stop_timer(&axp->t3); + start_timer(&axp->t1); + } + sent++; + bp = bp->anext; + if(!axp->flags.rtt_run){ + + axp->rtt_seq = (control >> 1) & 7 ; + axp->rtt_time = msclock(); + axp->flags.rtt_run = 1; + } + } + return sent; +} + +int +sendframe( +struct ax25_cb *axp, +int cmdrsp, +int ctl, +struct mbuf **data +){ + return axsend(axp->iface,axp->remote,axp->local,cmdrsp,ctl,data); +} + +void +lapbstate( +struct ax25_cb *axp, +int s +){ + int oldstate; + + oldstate = axp->state; + axp->state = s; + if(s == LAPB_DISCONNECTED){ + stop_timer(&axp->t1); + stop_timer(&axp->t3); + free_q(&axp->txq); + } + + if(oldstate != s && axp->s_upcall != 0) + (*axp->s_upcall)(axp,oldstate,s); +} + +static void +procdata( +struct ax25_cb *axp, +struct mbuf **bpp +){ + int pid; + int seq; + + + if((pid = pull8(((bpp)))) == -1) + return; + + if(axp->segremain != 0){ + + seq = pull8(((bpp))); + if(pid == 0x08 + && (seq & 0x7f ) == axp->segremain - 1){ + + append(&axp->rxasm,bpp); + if((axp->segremain = (seq & 0x7f )) == 0){ + + *bpp = axp->rxasm; + axp->rxasm = 0; + pid = pull8(((bpp))); + handleit(axp,pid,bpp); + } + } else { + + free_p(&axp->rxasm); + axp->rxasm = 0; + axp->segremain = 0; + free_p(bpp); + } + } else { + + if(pid == 0x08 ){ + + seq = pull8(((bpp))); + if(!(seq & 0x80 )){ + free_p(bpp); + } else { + + axp->segremain = seq & 0x7f ; + axp->rxasm = (*bpp); + *bpp = 0; + } + } else { + + handleit(axp,pid,bpp); + } + } +} + + + +struct mbuf * +segmenter( +struct mbuf **bpp, +uint16 ssize +){ + struct mbuf *result = 0; + struct mbuf *bptmp; + uint16 len,offset; + int segments; + + + + + len = len_p(*bpp); + if(len <= ssize+1){ + result = *bpp; + *bpp = 0; + return result; + } + ssize -= 2; + segments = 1 + (len - 1) / ssize; + offset = 0; + + while(segments != 0){ + offset += dup_p(&bptmp,*bpp,offset,ssize); + if(bptmp == 0){ + free_q(&result); + break; + } + + pushdown(&bptmp,0,2); + bptmp->data[0] = 0x08 ; + bptmp->data[1] = --segments; + if(offset == ssize) + bptmp->data[1] |= 0x80 ; + enqueue(&result,&bptmp); + } + free_p(bpp); + return result; +} + +static void +handleit( +struct ax25_cb *axp, +int pid, +struct mbuf **bpp +){ + struct axlink *ipp; + + for(ipp = Axlink;ipp->funct != 0;ipp++){ + if(ipp->pid == pid) + break; + } + if(ipp->funct != 0) + (*ipp->funct)(axp->iface,axp,0,0,bpp,0); + else + free_p(bpp); +} + +void +axnl3( +struct iface *iface, +struct ax25_cb *axp, +uint8 *src, +uint8 *dest, +struct mbuf **bpp, +int mcast +){ + if(axp == 0){ + beac_input(iface,src,bpp); + } else { + append(&axp->rxq,bpp); + if(axp->r_upcall != 0) + (*axp->r_upcall)(axp,len_p(axp->rxq)); + } +} + diff --git a/src/nos/ax25/lapbtime.i b/src/nos/ax25/lapbtime.i new file mode 100644 index 00000000..1355f405 --- /dev/null +++ b/src/nos/ax25/lapbtime.i @@ -0,0 +1,2696 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct ax25_cb { + struct ax25_cb *next; + + struct iface *iface; + + struct mbuf *txq; + struct mbuf *rxasm; + struct mbuf *rxq; + + uint8 local[7 ]; + uint8 remote[7 ]; + + struct { + unsigned int rejsent:1; + unsigned int remotebusy:1; + unsigned int rtt_run:1; + unsigned int retrans:1; + unsigned int clone:1; + } flags; + + uint8 reason; + + + + + uint8 response; + uint8 vs; + uint8 vr; + uint8 unack; + int maxframe; + uint16 paclen; + uint16 window; + enum { + V1=1, + V2 + } proto; + uint16 pthresh; + unsigned retries; + unsigned n2; + enum { + LAPB_DISCONNECTED=1, + LAPB_LISTEN, + LAPB_SETUP, + LAPB_DISCPENDING, + LAPB_CONNECTED, + LAPB_RECOVERY + } state; + struct timer t1; + struct timer t3; + int32 rtt_time; + int rtt_seq; + int32 srt; + int32 mdev; + + void (*r_upcall)(struct ax25_cb *,int); + void (*t_upcall)(struct ax25_cb *,int); + void (*s_upcall)(struct ax25_cb *,int,int); + + int user; + + int segremain; +}; + +struct axlink { + int pid; + void (*funct)(struct iface *,struct ax25_cb *,uint8 *, uint8 *, + struct mbuf **,int); +}; +extern struct axlink Axlink[]; + + + + + + +extern struct ax25_cb Ax25default,*Ax25_cb; +extern char *Ax25states[],*Axreasons[]; +extern int32 Axirtt,T3init,Blimit; +extern uint16 N2,Maxframe,Paclen,Pthresh,Axwindow,Axversion; + + +void st_ax25(struct ax25_cb *axp); + + +struct ax25_cb *cr_ax25(uint8 *addr); +void del_ax25(struct ax25_cb *axp); +struct ax25_cb *find_ax25(uint8 *); + + +int ax25val(struct ax25_cb *axp); +int disc_ax25(struct ax25_cb *axp); +int kick_ax25(struct ax25_cb *axp); +struct ax25_cb *open_ax25(struct iface *,uint8 *,uint8 *, + int,uint16, + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int,int), + int user); +struct mbuf *recv_ax25(struct ax25_cb *axp,uint16 cnt); +int reset_ax25(struct ax25_cb *axp); +int send_ax25(struct ax25_cb *axp,struct mbuf **bp,int pid); + + +void est_link(struct ax25_cb *axp); +void lapbstate(struct ax25_cb *axp,int s); +int lapb_input(struct ax25_cb *axp,int cmdrsp,struct mbuf **bp); +int lapb_output(struct ax25_cb *axp); +struct mbuf *segmenter(struct mbuf **bp,uint16 ssize); +int sendctl(struct ax25_cb *axp,int cmdrsp,int cmd); +int sendframe(struct ax25_cb *axp,int cmdrsp,int ctl,struct mbuf **data); +void axnl3(struct iface *iface,struct ax25_cb *axp,uint8 *src, + uint8 *dest,struct mbuf **bp,int mcast); + + +void pollthem(void *p); +void recover(void *p); + + +uint16 ftype(int control); +void lapb_garbage(int drastic); + + +void s_arcall(struct ax25_cb *axp,int cnt); +void s_ascall(struct ax25_cb *axp,int old,int new); +void s_atcall(struct ax25_cb *axp,int cnt); + + + +static void tx_enq(struct ax25_cb *axp); + + +void +recover(p) +void *p; +{ + register struct ax25_cb *axp = (struct ax25_cb *)p; + + axp->flags.retrans = 1; + axp->retries++; + if((1L << axp->retries) < Blimit) + + set_timer(&axp->t1,((&axp->t1)->duration*55 )*2); + + switch(axp->state){ + case LAPB_SETUP: + if(axp->n2 != 0 && axp->retries > axp->n2){ + free_q(&axp->txq); + axp->reason = 2 ; + lapbstate(axp,LAPB_DISCONNECTED); + } else { + sendctl(axp,LAPB_COMMAND,0x2f |0x10 ); + start_timer(&axp->t1); + } + break; + case LAPB_DISCPENDING: + if(axp->n2 != 0 && axp->retries > axp->n2){ + axp->reason = 2 ; + lapbstate(axp,LAPB_DISCONNECTED); + } else { + sendctl(axp,LAPB_COMMAND,0x43 |0x10 ); + start_timer(&axp->t1); + } + break; + case LAPB_CONNECTED: + case LAPB_RECOVERY: + if(axp->n2 != 0 && axp->retries > axp->n2){ + + sendctl(axp,LAPB_RESPONSE,0x0f |0x10 ); + free_q(&axp->txq); + axp->reason = 2 ; + lapbstate(axp,LAPB_DISCONNECTED); + } else { + + tx_enq(axp); + lapbstate(axp,LAPB_RECOVERY); + } + break; + } +} + + + +void +pollthem(p) +void *p; +{ + register struct ax25_cb *axp; + + axp = (struct ax25_cb *)p; + if(axp->proto == V1) + return; + switch(axp->state){ + case LAPB_CONNECTED: + axp->retries = 0; + tx_enq(axp); + lapbstate(axp,LAPB_RECOVERY); + break; + } +} + +static void +tx_enq(axp) +register struct ax25_cb *axp; +{ + char ctl; + struct mbuf *bp; + + + + + + + + if(axp->txq != 0 + && (len_p(axp->txq) < axp->pthresh || axp->proto == V1)){ + + dup_p(&bp,axp->txq,0,len_p(axp->txq)); + ctl = 0x10 | 0x00 | (((axp->vs - axp->unack) & 7 ) << 1) + | (axp->vr << 5); + sendframe(axp,LAPB_COMMAND,ctl,&bp); + } else { + ctl = len_p(axp->rxq) >= axp->window ? 0x05 |0x10 : 0x01 |0x10 ; + sendctl(axp,LAPB_COMMAND,ctl); + } + axp->response = 0; + stop_timer(&axp->t3); + start_timer(&axp->t1); +} diff --git a/src/nos/bin/CVS/Entries b/src/nos/bin/CVS/Entries new file mode 100644 index 00000000..bd0964dc --- /dev/null +++ b/src/nos/bin/CVS/Entries @@ -0,0 +1,3 @@ +/boot.bin/1.2/Tue Dec 2 07:41:10 2003/-kb/ +/net.bin/1.3/Tue Dec 2 07:41:10 2003/-kb/ +D diff --git a/src/nos/bin/CVS/Repository b/src/nos/bin/CVS/Repository new file mode 100644 index 00000000..67dc8029 --- /dev/null +++ b/src/nos/bin/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/bin diff --git a/src/nos/bin/CVS/Root b/src/nos/bin/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/bin/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/bin/boot.bin b/src/nos/bin/boot.bin index 462c85bc3f5b70c210c904a5ca03db04dcf1e1c4..c1cc854efafc0bbce17cd4da0a4a4c6b325f2866 100644 GIT binary patch delta 1120 zcmYjQT})I*6rOwc?##k6m%V|QT^iv2Xx)rb7erxED67_{X%t%<8oNmi;FeM;B(^~b zr4VflA%=pNAZ_1_>4Q&OYr;d*5<;-u*lB_Z4c!u2Vj*$Y*?@vgjo6+GjqQDy`^}v1 z`{tZEGrhiEpMOv2U`1$mX=zzSs4TR%yu1|ocoyN>kpHb7MV&D&AvIUTCm2@$(n?Su z&5(L!Dj~w*niUbQs_ONLaOFKsK}M4BDTO78cB^zuysjT*bHwZ;Y@V3?g#Av;OC-To zsh0Q>qCfC@sj=ad9y|GdLvu@0m5%%+>=D&m=>Nf?mBQTxm}?l=r`lWEn)L>~sWsNn zrZ={?e@L^PJ+)tn^tZJ4x`=BCVP$H@NZJu;OHLVXc1YknS!Op$JEVyHsnq(?6RPDS zzs6)$M4wW>2g(vrS)#uvH~!sj_o;KPDJr5F${$LAAX%WW%m&C% z_J9V!4nwGy#H2>WES{4<$$LCmw!bgo1zgAje^Lj3PjIVouo!LM5CKT$ZZjh6T5C# z-G0vZnDvtiP!zB}5=cY$hm~#H6wJ%;P93EuskF#{Qx?}3-drehO-8UYTVL4XIyo7! z=auR=vQ>XhfUhb=itO57s6Q4_kLo0lPKYR0**+35_Yvbo!eee$4U=kOoNy*am`Ei^ z#1owtcAP!eZ=JP{T8BI1`f|ePu-o0mH6nV^sZX~8<|hQ&pcofOxq)f}=0#$h2iQS) z#j-vNcn^(CSfo`)+(%11n6PrLK-B6x<&a(bFaF#kj1gHqLb`%ky|nu2Sx{i%<5 zG45W=g^vgE%2MvF!RAf6;IV+#D{PW4Qiq? zlsP8Cq4lh}Z*bP!xAuFu*u9Ac@UfzMc*1+`EB)cb%biQPLA_3dp8xSP{EYkrA1>5U j4k|Ne9|$$H*6UoOu5MCG?JP delta 1144 zcmYjQU1$_n6uz@NxyQ}!Om^59c2i8|$Die@u=%msgt%;Dx>Ab9){;^eD)}Qy)lgd+ zLz*Vim$uYum|BrwC4}}tD6Uq>Q)^=y+r{33LLd*KEV?PWTrt>f*o19*CMmY_F!SAW zzVEx|+%tE?KjIJWsNEHf)J3ATH8s)tNNs%$@pBb;#c1%raG5%5d`{Fdk(y$fTF~l9 zD960&xtX+RY>X|4#-^qbzi5m;(qv*}fzQY+3);<^N%6YAm;C{z4eSw^XMyFwJO^pE zqG;)FG5afTmpVJT^`3)AJ9-ayHR&X{ok^4E^Mf)ro4h8ySwl3v0lAH?>f@c zaZK;*>w8}*b@tTeL0XYsyd+W@Ayl53HL~_gQiZR9_BteVo^G(aq^(lIJ}n)28C0#D z1U06pBI!|s>#!}6RMY@&yQej6o(KNDTk@l^!kgW5mPnols#=vl>W?SGB>{iFa#AF- zcHC88{x0y4OaI0AVD)<)b;gSQiEG=&^{N?A`E@tH=N`Hij&UjvUJbu8I1l<;ETFz; z9kCPhn*5`0CyC=mORPF$<`U1P|*2wDcvKH^3Aw$*N- zQ<{x~mi1yZ8u%}2WIgEbw1b-VhyRMk*F@tenn01$6^fomouVdIMH6d8tSyVjN!_=a zZoS}NVrQWN6_w0}P!6a6rMzjAhw=uxO((f&MauH~a<-UxGgIZBPEco6%v87!PABYp z^3FHbt3h9g|0!3=E_d?=eMuw(s#8ENEs~nb;t(?9V6+17DPb+RXaS?!Sr{>p>WE0C z2R`1~f8sN%-`Z;>22%Rdv~kkzE2$oi)zo(40ggIN>Q=}+4LA$g_yXz;5)YZ9V4OmD z5_rQ?eGc&so|1|<83XT#+b5M1o}l~&;r9t&l4gq;jriW_!q_Z#xpKFirTZ#Daur;n1nh?dyvsP8oojgun;k`M0m>bMhihNSo~#1WS+ORor=~J3^R!0LK0SL0+6M diff --git a/src/nos/bin/net.bin b/src/nos/bin/net.bin index 77e7bf57457e4be84c0e35ca45141ea41a8d507c..42ffcdfab201c6f77d22d6dd4f49cb39880a6677 100644 GIT binary patch literal 349333 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

      |PaO_BIa6R3B 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

      $2Eq{(wAvJu(>C&E&_mrMQaZ{}W_%eKxbIcN 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 literal 341185 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 diff --git a/src/nos/c.sh b/src/nos/c.sh index 6d867d73..a473a2c5 100644 --- a/src/nos/c.sh +++ b/src/nos/c.sh @@ -1,6 +1,7 @@ #!/bin/sh grep "$1" ax25/*.c grep "$1" clients/*.c +grep "$1" crt/*.c grep "$1" drivers/*.c grep "$1" dump/*.c grep "$1" filesys/*.c diff --git a/src/nos/clean.sh b/src/nos/clean.sh index d5356641..44dd9696 100644 --- a/src/nos/clean.sh +++ b/src/nos/clean.sh @@ -1,5 +1,7 @@ #!/bin/sh -rm -frv po/build lib/messages.lib lib/messages_lib +rm -frv lib/crt0_banked.asm lib/crt0_banked.lst lib/crt0_banked.rel +rm -frv crt/build lib/crt_banked.lib lib/crt_banked_lib +rm -frv po/messages.po po/build lib/messages.lib lib/messages_lib rm -frv ax25/build lib/ax25.lib lib/ax25_lib rm -frv clients/build lib/clients.lib lib/clients_lib rm -frv drivers/build lib/drivers.lib lib/drivers_lib diff --git a/src/nos/clients/CVS/Entries b/src/nos/clients/CVS/Entries new file mode 100644 index 00000000..35d630fc --- /dev/null +++ b/src/nos/clients/CVS/Entries @@ -0,0 +1,12 @@ +/auto.mk/1.1.1.1/Mon Nov 17 19:06:16 2003// +/bootp.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/finger.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/ftpcli.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/lterm.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/makefile/1.1.1.1/Mon Nov 17 19:06:16 2003// +/nntpcli.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/popcli.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/smtpcli.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/telnet.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/tip.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +D diff --git a/src/nos/clients/CVS/Repository b/src/nos/clients/CVS/Repository new file mode 100644 index 00000000..0186e91a --- /dev/null +++ b/src/nos/clients/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/clients diff --git a/src/nos/clients/CVS/Root b/src/nos/clients/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/clients/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/clients/bootp.i b/src/nos/clients/bootp.i new file mode 100644 index 00000000..3555ea85 --- /dev/null +++ b/src/nos/clients/bootp.i @@ -0,0 +1,3595 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long clock_t; + + +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +}; + +struct timezone { + int tz_minuteswest; + int tz_dsttime; +}; + + + + +extern char *tzname[2]; +extern int daylight; +extern long timezone; + +extern long clock (void); +extern time_t mktime (struct tm * __tp); +extern long difftime (time_t *__time2, time_t *__time1); + +extern time_t time (time_t *tvec); + +extern void __tm_conv (struct tm *tmbuf, time_t *t, int offset); +extern void __asctime (char *, struct tm *); +extern char *asctime (struct tm * __tp); +extern char *ctime (time_t * __tp); +extern void tzset (void); + +extern struct tm *gmtime (time_t *__tp); +extern struct tm *localtime (time_t * __tp); +extern unsigned long convtime (time_t *time_field); + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + +extern struct mib_entry Udp_mib[]; + + + + + + + + + +struct udp { + uint16 source; + uint16 dest; + uint16 length; + uint16 checksum; +}; + + + + + + +struct udp_cb { + struct udp_cb *next; + struct socket socket; + void (*r_upcall)(struct iface *iface,struct udp_cb *,int); + + struct mbuf *rcvq; + int rcvcnt; + int user; +}; +extern struct udp_cb *Udps; + + + + +int del_udp(struct udp_cb *up); +struct udp_cb *open_udp(struct socket *lsocket, + void (*r_upcall)(struct iface *iface,struct udp_cb *,int)); +int recv_udp(struct udp_cb *up,struct socket *fsocket,struct mbuf **bp); +int send_udp(struct socket *lsocket,struct socket *fsocket,char tos, + char ttl,struct mbuf **data,uint16 length,uint16 id,char df); +void udp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +void udp_garbage(int drastic); + + + + + + + + + + +int st_udp(struct udp_cb *udp,int n); + + +void htonudp(struct udp *udp,struct mbuf **data,struct pseudo_header *ph); +int ntohudp(struct udp *udp,struct mbuf **bpp); +uint16 udpcksum(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct dserver { + struct dserver *prev; + struct dserver *next; + + int32 address; + int32 timeout; + int32 srtt; + int32 mdev; + int32 queries; + int32 responses; +}; +extern struct dserver *Dlist; +extern int Dsocket; + + + + + + + + +struct dhdr { + uint16 id; + uint8 qr; + + + uint8 opcode; + + uint8 aa; + uint8 tc; + uint8 rd; + uint8 ra; + uint8 rcode; + + + + + + + uint16 qdcount; + uint16 ancount; + uint16 nscount; + uint16 arcount; + struct rr *questions; + struct rr *answers; + struct rr *authority; + struct rr *additional; +}; + +struct mx { + uint16 pref; + char *exch; +}; + +struct hinfo { + char *cpu; + char *os; +}; + +struct soa { + char *mname; + char *rname; + int32 serial; + int32 refresh; + int32 retry; + int32 expire; + int32 minimum; +}; + +struct rr { + struct rr *last; + struct rr *next; + uint8 source; + + + + + + + + + + char *comment; + char *name; + int32 ttl; + + uint16 class; + + uint16 type; + + uint16 rdlength; + union { + int32 addr; + struct soa soa; + struct mx mx; + struct hinfo hinfo; + char *name; + char *data; + } rdata; +}; +extern struct proc *Dfile_updater; + + +int add_nameserver(int32 address); +void free_rr(struct rr *rrlp); +struct rr *inverse_a(int32 ip_address); +struct rr *resolve_rr(char *dname,uint16 dtype); +char *resolve_a(int32 ip_address, int shorten); +struct rr *resolve_mailb(char *name); + + +int ntohdomain(struct dhdr *dhdr,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +enum ripcmd { + RIPCMD_REQUEST=1, + RIPCMD_RESPONSE, + RIPCMD_MAX +}; + + + + +struct rip_list { + struct rip_list *prev; + struct rip_list *next; + + + + + + int32 dest; + + + int32 interval; + + struct timer rip_time; + + + struct iface *iface; + + + struct { + unsigned int rip_split:1; + unsigned int rip_us:1; + } flags; +}; + + +struct rip_route { + uint16 addr_fam; + int32 target; + int32 metric; +}; + + + + + +struct rip_stat { + int32 output; + int32 rcvd; + int32 request; + int32 response; + int32 unknown; + int32 version; + int32 addr_family; + int32 refusals; + +}; + +struct rip_refuse { + struct rip_refuse *prev; + struct rip_refuse *next; + int32 target; +}; + + +int rip_init(void); +void rt_timeout(void *s); +void rip_trigger(void); +int rip_add(int32 dest,int32 interval,int split,int us); +int riprefadd(int32 gateway); +int riprefdrop(int32 gateway); +int ripreq(int32 dest,uint16 replyport); +int rip_drop(int32 dest); +int nbits(int32 target); +void pullentry(struct rip_route *ep,struct mbuf **bpp); + + +extern uint16 Rip_trace; +extern int Rip_merge; +extern struct rip_stat Rip_stat; +extern struct rip_list *Rip_list; +extern struct rip_refuse *Rip_refuse; +extern struct udp_cb *Rip_cb; + + + + + + + + + + + + + +struct cmds { + _char *name; + int (*func)(int argc,char *argv[],void *p); + + int stksize; + int argcmin; + _char *argc_errmsg; +}; +extern struct cmds Cmds[],Startcmds[],Stopcmds[],Attab[]; + + +int cmdparse(struct cmds cmds[], char *line, void *p); +int subcmd(struct cmds tab[], int argc, char *argv[], void *p); +int setbool(int *var, _char *label, int argc, char *argv[]); +int bit16cmd(uint16 *bits, uint16 mask, _char *label, int argc, char *argv[]); +int setint(int *var, _char *label, int argc, char *argv[]); +int setlong(int32 *var, _char *label, int argc, char *argv[]); +int setshort(unsigned short *var, _char *label, int argc, char *argv[]); +int setuns(unsigned *var, _char *label, int argc, char *argv[]); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct bootp { + uint8 op; + uint8 htype; + uint8 hlen; + uint8 hops; + int32 xid; + uint16 secs; + uint16 unused; + struct in_addr ciaddr; + struct in_addr yiaddr; + struct in_addr siaddr; + struct in_addr giaddr; + uint8 chaddr[16]; + char sname[64]; + char file[128]; + uint8 vend[64]; +}; + + + + + + + + + + + + + + + + + + + + +struct vend { + uint8 v_magic[4]; + unsigned long v_flags; + uint8 v_unused[56]; +}; + + + + + + + +extern int WantBootp; +extern char bp_ascii[]; + +void bootp_print_packet(struct bootp *bp); +int bootp_validPacket(struct ip *ip,struct mbuf *bp); + + + + + + + + +static int bootp_rx(struct iface *ifp,struct mbuf *bp); +static void ntoh_bootp(struct mbuf **bpp,struct bootp *bootpp); +static int mask2width(int32 mask); + + + + +int WantBootp = 0; +static int SilentStartup = 0; + +int +dobootp(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct iface *ifp = 0; + struct socket lsock, fsock; + struct mbuf *bp; + struct udp_cb *bootp_cb; + register uint8 *cp; + time_t now, + starttime, + lastsendtime; + int i; + + if(argc < 2) + ifp = Ifaces; + else { + for(i = 1; i != argc; ++i){ + + if((ifp = if_lookup(argv[i])) != 0) + continue; + else if(strncmp(argv[i], "silent", strlen(argv[i])) == 0) + SilentStartup = 1; + else if(strncmp(argv[i], "noisy", strlen(argv[i])) == 0) + SilentStartup = 0; + else { + _printf(_("bootp [net_name] [silent] [noisy]\n")); + return 1; + } + } + } + + if(ifp == 0) + return 0; + + lsock.address = ifp->addr; + lsock.port = 68; + + bootp_cb = open_udp(&lsock,0); + + fsock.address = ifp->broadcast; + fsock.port = 67; + + + time(&starttime); + lastsendtime = 0; + + + + for(;;){ + + + WantBootp = 1; + + + time(&now); + + + if(now - starttime >= 30 ){ + _printf(_("bootp: timed out, values not set\n")); + break; + } + + + if(now - lastsendtime > 5 ){ + if(!SilentStartup) _printf(_("Requesting...\n")); + + + if((bp = alloc_mbuf(sizeof(struct bootp))) == 0) + break; + + cp = bp->data; + *cp++ = 1; + *cp++ = ifp->iftype->type; + *cp++ = ifp->iftype->hwalen; + *cp++ = 0; + cp = put32(cp,(int32) now); + cp = put16(cp, now - starttime); + cp = put16(cp, 0); + cp = put32(cp, ifp->addr); + cp = put32(cp, 0L); + cp = put32(cp, 0L); + cp = put32(cp, 0L); + memcpy(cp, ifp->hwaddr, ifp->iftype->hwalen); + cp += 16; + memset(cp, 0, 64); + cp += 64; + memset(cp, 0, 128); + cp += 128; + memset(cp, 0, 64); + cp += 64; + bp->cnt = cp - bp->data; + + + + send_udp(&lsock, &fsock,0,0,&bp,bp->cnt,0,0); + + lastsendtime = now; + } + + + kwait(0); + + + if(recv_udp(bootp_cb, &fsock, &bp) > -1){ + if(bootp_rx(ifp,bp)) + break; + } else if(Net_error != 5 ){ + _printf(_("bootp: Net_error %d, no values set\n"), + Net_error); + break; + } + } + + WantBootp = 0; + del_udp(bootp_cb); + return 0; +} + + +static int +bootp_rx(ifp,bp) +struct iface *ifp; +struct mbuf *bp; +{ + int ch; + int count; + int32 gateway = 0; + int32 nameserver = 0; + int32 broadcast, netmask; + struct route *rp; + struct bootp reply; + uint8 *cp; + + if(len_p(bp) != sizeof(struct bootp)){ + free_p(&bp); + return 0; + } + ntoh_bootp(&bp, &reply); + free_p(&bp); + + if(reply.op != 2) + return 0; + + if(!SilentStartup) + _printf(_("Network %s configured:\n"), ifp->name); + + if(ifp->addr == 0){ + Ip_addr = (int) reply.yiaddr.s_addr; + ifp->addr = reply.yiaddr.s_addr; + if(!SilentStartup) + _printf(_(" IP address: %s\n"), + inet_ntoa(ifp->addr)); + } + + + + cp = reply.vend; + if(get32(cp) != 0x63825363L){ + _printf(_("Invalid magic cookie.\n")); + return(0); + } + + cp += 4; + while(((ch = *cp) != 0xff) && (++cp < (reply.vend + 64))) + switch(ch){ + case 0: + continue; + case 1: + cp++; + + + + netmask = get32(cp); + cp += 4; + + rp = rt_blookup(ifp->addr & ifp->netmask,mask2width(ifp->netmask)); + if(rp != 0) + rt_drop(rp->target,rp->bits); + ifp->netmask = netmask; + rt_add(ifp->addr,mask2width(ifp->netmask),0L,ifp,0L,0L,0); + + if(!SilentStartup) + _printf(_(" Subnet mask: %s\n"), inet_ntoa(netmask)); + + + broadcast = ifp->addr | ~(ifp->netmask); + rp = rt_blookup(ifp->broadcast,32); + if(rp != 0 && rp->iface == ifp) + rt_drop(ifp->broadcast,32); + ifp->broadcast = broadcast; + rt_add(ifp->broadcast,32,0L,ifp,1L,0L,1); + + if(!SilentStartup) + _printf(_(" Broadcast: %s\n"), inet_ntoa(broadcast)); + + break; + case 12: + count = (int) *cp; + cp++; + + if(Hostname != 0) + free(Hostname); + Hostname = mallocw(count); + strncpy(Hostname, (char *)cp, count); + cp += count; + + if(!SilentStartup) + _printf(_(" Hostname: %s\n"), Hostname); + break; + case 6: + count = (int) *cp; + cp++; + + while(count){ + nameserver = get32(cp); + add_nameserver(nameserver); + if(!SilentStartup) + _printf(_(" Nameserver: %s\n"), inet_ntoa(nameserver)); + cp += 4; + count -= 4; + } + break; + case 3: + count = (int) *cp; + cp++; + + gateway = get32(cp); + + + rt_add(0,0,gateway,ifp,1,0,0); + + if(!SilentStartup) + _printf(_(" Default gateway: %s\n"), inet_ntoa(gateway)); + cp += count; + break; + default: + count = (int) *cp; + cp++; + + cp += count; + break; + } + + rt_add(ifp->addr,mask2width(ifp->netmask),0L,ifp,1,0,0); + + return(1); +} + + +static void +ntoh_bootp(bpp, bootpp) +struct mbuf **bpp; +struct bootp *bootpp; +{ + bootpp->op = pull8((bpp)); + bootpp->htype = pull8((bpp)); + bootpp->hlen = pull8((bpp)); + bootpp->hops = pull8((bpp)); + bootpp->xid = pull32(bpp); + bootpp->secs = pull16(bpp); + bootpp->unused = pull16(bpp); + bootpp->ciaddr.s_addr = pull32(bpp); + bootpp->yiaddr.s_addr = pull32(bpp); + bootpp->siaddr.s_addr = pull32(bpp); + bootpp->giaddr.s_addr = pull32(bpp); + pullup(bpp, bootpp->chaddr, 16); + pullup(bpp, bootpp->sname, 64); + pullup(bpp, bootpp->file, 128); + pullup(bpp, bootpp->vend, 64); +} + + + + +int +bootp_validPacket( +struct ip *ip, +struct mbuf *bp +){ + struct udp udp; + struct mbuf *bp1; + + + if(ip->protocol != 17 ) + return 0; + + + if(len_p(bp) != (sizeof(struct udp) + sizeof(struct bootp))) + return 0; + + + dup_p(&bp1,bp,0,len_p(bp)); + ntohudp(&udp, &bp); + free_p(&bp); + + return (udp.dest == 68) ? 1 : 0; +} + + + + +static int +mask2width(mask) +int32 mask; +{ + int width,i; + + width = 0; + for(i = 31;i >= 0;i--){ + if(!(mask & (1L << i))) + break; + width++; + } + return width; +} + diff --git a/src/nos/clients/finger.i b/src/nos/clients/finger.i new file mode 100644 index 00000000..e449375c --- /dev/null +++ b/src/nos/clients/finger.i @@ -0,0 +1,2995 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + + + + + + + + + + +enum ftp_type { + ASCII_TYPE, + IMAGE_TYPE, + LOGICAL_TYPE +}; + + +enum verb_level { + V_QUIET, + V_SHORT, + V_NORMAL, + V_HASH, + V_STAT +}; + +long sendfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +long recvfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +int isbinary(FILE *fp); +int md5hash(FILE *fp,uint8 hash[16],int ascii); + + + + + + + + + + + +struct ftpcli { + FILE *control; + FILE *data; + + char state; + + + + + uint16 verbose; + int batch; + int abort; + int update; + char type; + char typesent; + int logbsize; + FILE *fp; + + char buf[256 ]; + char line[256 ]; + struct session *session; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct telnet { + char local[6]; + char remote[6]; + struct session *session; + char eolmode; +}; + +extern int Refuse_echo; +extern int Tn_cr_mode; + + +int tel_connect(struct session *sp,struct sockaddr *fsocket,int len); +void tel_output(int unused,void *p1,void *p2); +void tnrecv(struct telnet *tn); +void doopt(struct telnet *tn,int opt); +void dontopt(struct telnet *tn,int opt); +void willopt(struct telnet *tn,int opt); +void wontopt(struct telnet *tn,int opt); +void answer(struct telnet *tn,int r1,int r2); + + +void ttylhandle(int s,void *unused,void *p); + + + + +struct ttystate { + uint8 *line; + uint8 *lp; + unsigned int echo:1; + unsigned int edit:1; + unsigned int crnl:1; +}; + + +struct session { + unsigned strchr; + enum { + TELNET, + FTP, + AX25TNC, + FINGER, + PING, + NRSESSION, + COMMAND, + VIEW, + HOP, + TIP, + PPPPASS, + DIAL, + DQUERY, + DCLIST, + ITRACE, + REPEAT, + FAX + } type; + + char *name; + union { + struct ftpcli *ftp; + struct telnet *telnet; + void *p; + } cb; + struct proc *proc; + struct proc *proc1; + struct proc *proc2; + FILE *network; + FILE *record; + FILE *upload; + struct ttystate ttystate; + FILE *input; + FILE *output; + int (*ctlproc)(int); + int (*inproc)(int); + struct session *parent; + enum { + SCROLL_INBAND, + SCROLL_LOCAL + } scrollmode; +}; +extern char *Sestypes[]; +extern unsigned Nsessions; +extern long Sfsize; + +extern struct session *Sessions[]; + + + +extern struct session *Current; +extern struct session *Lastcurr; +extern struct session *Command; +extern char *Cmdline; + + +void freesession(struct session *sp); +int keywait(char *prompt,int flush); +struct session *sessptr(char *cp); +struct session *newsession(char *name,int type,int makecur); +void sesflush(void); +void upload(int unused,void *sp1,void *p); + +extern uint16 Lport; + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + +int doasystat(int argc,char *argv[],void *p); +int fp_attach (int argc,char *argv[],void *p); + + +int domem(int argc,char *argv[],void *p); + + +int doamiga(int argc,char *argv[],void *p); + + +int doarp(int argc,char *argv[],void *p); + + +int asy_attach(int argc,char *argv[],void *p); + + +int doax25(int argc,char *argv[],void *p); +int doaxheard(int argc,char *argv[],void *p); +int doaxdest(int argc,char *argv[],void *p); +int doconnect(int argc,char *argv[],void *p); + + +int dobootp(int argc,char *argv[],void *p); + + +int bootpdcmd(int argc,char *argv[],void *p); + + +int dodialer(int argc,char *argv[],void *p); + + +int docd(int argc,char *argv[],void *p); +int dodir(int argc,char *argv[],void *p); +int domkd(int argc,char *argv[],void *p); +int dormd(int argc,char *argv[],void *p); + + +int dodomain(int argc,char *argv[],void *p); + + +int dodrstat(int argc,char *argv[],void *p); +int dr_attach(int argc,char *argv[],void *p); +int dodr(int argc,char *argv[],void *p); + + +int eg_attach(int argc,char *argv[],void *p); +int doegstat(int argc,char *argv[],void *p); + + +int doetherstat(int argc,char *argv[],void *p); +int ec_attach(int argc,char *argv[],void *p); + + +int dofax(int argc,char *argv[],void *p); +int fax1(int argc,char *argv[],void *p); +int fax0(int argc,char *argv[],void *p); + + +int dofinger(int argc,char *argv[],void *p); + + +int finstart(int argc,char *argv[],void *p); +int fin0(int argc,char *argv[],void *p); + + +int doftp(int argc,char *argv[],void *p); +int doabort(int argc,char *argv[],void *p); + + +int ftpstart(int argc,char *argv[],void *p); +int ftp0(int argc,char *argv[],void *p); + + +int dohapnstat(int argc,char *argv[],void *p); +int hapn_attach(int argc,char *argv[],void *p); + + +int dohop(int argc,char *argv[],void *p); + + +int dohs(int argc,char *argv[],void *p); +int hs_attach(int argc,char *argv[],void *p); + + +int doicmp(int argc,char *argv[],void *p); + + +int doifconfig(int argc,char *argv[],void *p); +int dodetach(int argc,char *argv[],void *p); + + +int doip(int argc,char *argv[],void *p); +int doroute(int argc,char *argv[],void *p); + + +int dosec(int argc,char *argv[],void *p); + + +int doksp(int argc,char *argv[],void *p); + + +int ps(int argc,char *argv[],void *p); + + +int dolterm(int argc,char *argv[],void *p); + + +int dodelete(int argc,char *argv[],void *p); +int dorename(int argc,char *argv[],void *p); +int doexit(int argc,char *argv[],void *p); +int dohostname(int argc,char *argv[],void *p); +int dolog(int argc,char *argv[],void *p); +int dohelp(int argc,char *argv[],void *p); +int doattach(int argc,char *argv[],void *p); +int doparam(int argc,char *argv[],void *p); +int dopage(int argc,char *argv[],void *p); +int domode(int argc,char *argv[],void *p); +int donothing(int argc,char *argv[],void *p); +int donrstat(int argc,char *argv[],void *p); +int doescape(int argc,char *argv[],void *p); +int doremote(int argc,char *argv[],void *p); +int doboot(int argc,char *argv[],void *p); +int dorepeat(int argc,char *argv[],void *p); +int dostacktest(int argc,char *argv[],void *p); +int dosysdebug(int argc,char *argv[],void *p); +int dosystrace(int argc,char *argv[],void *p); +int dowipe(int argc,char *argv[],void *p); + + +int dombox(int argc,char *argv[],void *p); + + +int donntp(int argc,char *argv[],void *p); + + +int donetrom(int argc,char *argv[],void *p); +int nr_attach(int argc,char *argv[],void *p); + + +int doshell(int argc,char *argv[],void *p); +int doisat(int argc,char *argv[],void *p); + + +int pc_attach(int argc,char *argv[],void *p); + + +int pk_attach(int argc,char *argv[],void *p); + + +int pi_attach(int argc,char *argv[],void *p); +int dopistat(int argc,char *argv[],void *p); + + +int doping(int argc,char *argv[],void *p); + + +int dopop(int argc,char *argv[],void *p); + + +int pop1(int argc,char *argv[],void *p); +int pop0(int argc,char *argv[],void *p); + + +int doqtso(int argc,char *argv[],void *p); + + +int dorarp(int argc,char *argv[],void *p); + + +int dorip(int argc,char *argv[],void *p); + + +int doaddrefuse(int argc,char *argv[],void *p); +int dodroprefuse(int argc,char *argv[],void *p); +int dorip(int argc,char *argv[],void *p); +int doripadd(int argc,char *argv[],void *p); +int doripdrop(int argc,char *argv[],void *p); +int doripinit(int argc,char *argv[],void *p); +int doripmerge(int argc,char *argv[],void *p); +int doripreq(int argc,char *argv[],void *p); +int doripstat(int argc,char *argv[],void *p); +int doripstop(int argc,char *argv[],void *p); +int doriptrace(int argc,char *argv[],void *p); + + +int dosound(int argc,char *argv[],void *p); + + +int escc_attach(int argc,char *argv[],void *p); +int doesccstat(int argc,char *argv[],void *p); + + +int dosession(int argc,char *argv[],void *p); +int go(int argc,char *argv[],void *p); +int doclose(int argc,char *argv[],void *p); +int doreset(int argc,char *argv[],void *p); +int dokick(int argc,char *argv[],void *p); +int dorecord(int argc,char *argv[],void *p); +int dosfsize(int argc,char *argv[],void *p); +int doupload(int argc,char *argv[],void *p); + + +int dis1(int argc,char *argv[],void *p); +int dis0(int argc,char *argv[],void *p); +int echo1(int argc,char *argv[],void *p); +int echo0(int argc,char *argv[],void *p); +int rem1(int argc,char *argv[],void *p); +int rem0(int argc,char *argv[],void *p); +int term1(int argc,char *argv[],void *p); +int term0(int argc,char *argv[],void *p); +int bsr1(int argc,char *argv[],void *p); +int bsr0(int argc,char *argv[],void *p); + + +int dosmtp(int argc,char *argv[],void *p); + + +int smtp1(int argc,char *argv[],void *p); +int smtp0(int argc,char *argv[],void *p); + + +int dosock(int argc,char *argv[],void *p); + + +int dofiles(int argc,char *argv[],void *p); + + +int doswatch(int argc,char *argv[],void *p); + + +int dotcp(int argc,char *argv[],void *p); + + +int doecho(int argc,char *argv[],void *p); +int doeol(int argc,char *argv[],void *p); +int dotelnet(int argc,char *argv[],void *p); +int dotopt(int argc,char *argv[],void *p); + + +int dotip(int argc,char *argv[],void *p); + + +int ttylstart(int argc,char *argv[],void *p); +int ttyl0(int argc,char *argv[],void *p); + + +int dotrace(int argc,char *argv[],void *p); + + +int doudp(int argc,char *argv[],void *p); + + +int doview(int argc,char *argv[],void *p); +void view(int,void *,void *); + + + + + + + + + + + + + + +int ttydriv(struct session *sp,uint8 c); + + + + + + + +static int keychar(int c); + +int +dofinger(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct sockaddr_in sock; + char *cp; + int s,i; + int c; + struct session *sp; + FILE *network; + + + if((sp = newsession(Cmdline,FINGER,1)) == 0){ + _printf(_("Too many sessions\n")); + keywait(0,1); + return 1; + } + sp->inproc = keychar; + sp->ttystate.echo = sp->ttystate.edit = 0; + sock.sin_family = 0; + sock.sin_port = 79 ; + for(i=1;inetwork = network = fdopen(s,"r+t"); + _fprintf(network, _("%s\n"),argv[i]); + fflush(Curproc->output); + while((c = (fgetc((network)))) != (-1)) + ((fputc(((c)),(Curproc->output)))); + + fclose(network); + sp->network = 0; + } + keywait(0,1); + freesession(sp); + return 0; +} +static int +keychar(c) +int c; +{ + if(c != 0x3) + return 1; + + _fprintf(Current->output, _("^C\n")); + alert(Current->proc,107); + return 0; +} + diff --git a/src/nos/clients/ftpcli.i b/src/nos/clients/ftpcli.i new file mode 100644 index 00000000..83038810 --- /dev/null +++ b/src/nos/clients/ftpcli.i @@ -0,0 +1,4527 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int sys_nerr; + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *strerror (int _errno); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + + + + + + + + + + +enum ftp_type { + ASCII_TYPE, + IMAGE_TYPE, + LOGICAL_TYPE +}; + + +enum verb_level { + V_QUIET, + V_SHORT, + V_NORMAL, + V_HASH, + V_STAT +}; + +long sendfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +long recvfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +int isbinary(FILE *fp); +int md5hash(FILE *fp,uint8 hash[16],int ascii); + + + + + + + + + + + +struct ftpcli { + FILE *control; + FILE *data; + + char state; + + + + + uint16 verbose; + int batch; + int abort; + int update; + char type; + char typesent; + int logbsize; + FILE *fp; + + char buf[256 ]; + char line[256 ]; + struct session *session; +}; + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + +struct telnet { + char local[6]; + char remote[6]; + struct session *session; + char eolmode; +}; + +extern int Refuse_echo; +extern int Tn_cr_mode; + + +int tel_connect(struct session *sp,struct sockaddr *fsocket,int len); +void tel_output(int unused,void *p1,void *p2); +void tnrecv(struct telnet *tn); +void doopt(struct telnet *tn,int opt); +void dontopt(struct telnet *tn,int opt); +void willopt(struct telnet *tn,int opt); +void wontopt(struct telnet *tn,int opt); +void answer(struct telnet *tn,int r1,int r2); + + +void ttylhandle(int s,void *unused,void *p); + + + + +struct ttystate { + uint8 *line; + uint8 *lp; + unsigned int echo:1; + unsigned int edit:1; + unsigned int crnl:1; +}; + + +struct session { + unsigned strchr; + enum { + TELNET, + FTP, + AX25TNC, + FINGER, + PING, + NRSESSION, + COMMAND, + VIEW, + HOP, + TIP, + PPPPASS, + DIAL, + DQUERY, + DCLIST, + ITRACE, + REPEAT, + FAX + } type; + + char *name; + union { + struct ftpcli *ftp; + struct telnet *telnet; + void *p; + } cb; + struct proc *proc; + struct proc *proc1; + struct proc *proc2; + FILE *network; + FILE *record; + FILE *upload; + struct ttystate ttystate; + FILE *input; + FILE *output; + int (*ctlproc)(int); + int (*inproc)(int); + struct session *parent; + enum { + SCROLL_INBAND, + SCROLL_LOCAL + } scrollmode; +}; +extern char *Sestypes[]; +extern unsigned Nsessions; +extern long Sfsize; + +extern struct session *Sessions[]; + + + +extern struct session *Current; +extern struct session *Lastcurr; +extern struct session *Command; +extern char *Cmdline; + + +void freesession(struct session *sp); +int keywait(char *prompt,int flush); +struct session *sessptr(char *cp); +struct session *newsession(char *name,int type,int makecur); +void sesflush(void); +void upload(int unused,void *sp1,void *p); + +extern uint16 Lport; + + + + + + + + + + + + + +struct cmds { + _char *name; + int (*func)(int argc,char *argv[],void *p); + + int stksize; + int argcmin; + _char *argc_errmsg; +}; +extern struct cmds Cmds[],Startcmds[],Stopcmds[],Attab[]; + + +int cmdparse(struct cmds cmds[], char *line, void *p); +int subcmd(struct cmds tab[], int argc, char *argv[], void *p); +int setbool(int *var, _char *label, int argc, char *argv[]); +int bit16cmd(uint16 *bits, uint16 mask, _char *label, int argc, char *argv[]); +int setint(int *var, _char *label, int argc, char *argv[]); +int setlong(int32 *var, _char *label, int argc, char *argv[]); +int setshort(unsigned short *var, _char *label, int argc, char *argv[]); +int setuns(unsigned *var, _char *label, int argc, char *argv[]); + + + + + + + + + + + + + + + +int ttydriv(struct session *sp,uint8 c); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + +int doasystat(int argc,char *argv[],void *p); +int fp_attach (int argc,char *argv[],void *p); + + +int domem(int argc,char *argv[],void *p); + + +int doamiga(int argc,char *argv[],void *p); + + +int doarp(int argc,char *argv[],void *p); + + +int asy_attach(int argc,char *argv[],void *p); + + +int doax25(int argc,char *argv[],void *p); +int doaxheard(int argc,char *argv[],void *p); +int doaxdest(int argc,char *argv[],void *p); +int doconnect(int argc,char *argv[],void *p); + + +int dobootp(int argc,char *argv[],void *p); + + +int bootpdcmd(int argc,char *argv[],void *p); + + +int dodialer(int argc,char *argv[],void *p); + + +int docd(int argc,char *argv[],void *p); +int dodir(int argc,char *argv[],void *p); +int domkd(int argc,char *argv[],void *p); +int dormd(int argc,char *argv[],void *p); + + +int dodomain(int argc,char *argv[],void *p); + + +int dodrstat(int argc,char *argv[],void *p); +int dr_attach(int argc,char *argv[],void *p); +int dodr(int argc,char *argv[],void *p); + + +int eg_attach(int argc,char *argv[],void *p); +int doegstat(int argc,char *argv[],void *p); + + +int doetherstat(int argc,char *argv[],void *p); +int ec_attach(int argc,char *argv[],void *p); + + +int dofax(int argc,char *argv[],void *p); +int fax1(int argc,char *argv[],void *p); +int fax0(int argc,char *argv[],void *p); + + +int dofinger(int argc,char *argv[],void *p); + + +int finstart(int argc,char *argv[],void *p); +int fin0(int argc,char *argv[],void *p); + + +int doftp(int argc,char *argv[],void *p); +int doabort(int argc,char *argv[],void *p); + + +int ftpstart(int argc,char *argv[],void *p); +int ftp0(int argc,char *argv[],void *p); + + +int dohapnstat(int argc,char *argv[],void *p); +int hapn_attach(int argc,char *argv[],void *p); + + +int dohop(int argc,char *argv[],void *p); + + +int dohs(int argc,char *argv[],void *p); +int hs_attach(int argc,char *argv[],void *p); + + +int doicmp(int argc,char *argv[],void *p); + + +int doifconfig(int argc,char *argv[],void *p); +int dodetach(int argc,char *argv[],void *p); + + +int doip(int argc,char *argv[],void *p); +int doroute(int argc,char *argv[],void *p); + + +int dosec(int argc,char *argv[],void *p); + + +int doksp(int argc,char *argv[],void *p); + + +int ps(int argc,char *argv[],void *p); + + +int dolterm(int argc,char *argv[],void *p); + + +int dodelete(int argc,char *argv[],void *p); +int dorename(int argc,char *argv[],void *p); +int doexit(int argc,char *argv[],void *p); +int dohostname(int argc,char *argv[],void *p); +int dolog(int argc,char *argv[],void *p); +int dohelp(int argc,char *argv[],void *p); +int doattach(int argc,char *argv[],void *p); +int doparam(int argc,char *argv[],void *p); +int dopage(int argc,char *argv[],void *p); +int domode(int argc,char *argv[],void *p); +int donothing(int argc,char *argv[],void *p); +int donrstat(int argc,char *argv[],void *p); +int doescape(int argc,char *argv[],void *p); +int doremote(int argc,char *argv[],void *p); +int doboot(int argc,char *argv[],void *p); +int dorepeat(int argc,char *argv[],void *p); +int dostacktest(int argc,char *argv[],void *p); +int dosysdebug(int argc,char *argv[],void *p); +int dosystrace(int argc,char *argv[],void *p); +int dowipe(int argc,char *argv[],void *p); + + +int dombox(int argc,char *argv[],void *p); + + +int donntp(int argc,char *argv[],void *p); + + +int donetrom(int argc,char *argv[],void *p); +int nr_attach(int argc,char *argv[],void *p); + + +int doshell(int argc,char *argv[],void *p); +int doisat(int argc,char *argv[],void *p); + + +int pc_attach(int argc,char *argv[],void *p); + + +int pk_attach(int argc,char *argv[],void *p); + + +int pi_attach(int argc,char *argv[],void *p); +int dopistat(int argc,char *argv[],void *p); + + +int doping(int argc,char *argv[],void *p); + + +int dopop(int argc,char *argv[],void *p); + + +int pop1(int argc,char *argv[],void *p); +int pop0(int argc,char *argv[],void *p); + + +int doqtso(int argc,char *argv[],void *p); + + +int dorarp(int argc,char *argv[],void *p); + + +int dorip(int argc,char *argv[],void *p); + + +int doaddrefuse(int argc,char *argv[],void *p); +int dodroprefuse(int argc,char *argv[],void *p); +int dorip(int argc,char *argv[],void *p); +int doripadd(int argc,char *argv[],void *p); +int doripdrop(int argc,char *argv[],void *p); +int doripinit(int argc,char *argv[],void *p); +int doripmerge(int argc,char *argv[],void *p); +int doripreq(int argc,char *argv[],void *p); +int doripstat(int argc,char *argv[],void *p); +int doripstop(int argc,char *argv[],void *p); +int doriptrace(int argc,char *argv[],void *p); + + +int dosound(int argc,char *argv[],void *p); + + +int escc_attach(int argc,char *argv[],void *p); +int doesccstat(int argc,char *argv[],void *p); + + +int dosession(int argc,char *argv[],void *p); +int go(int argc,char *argv[],void *p); +int doclose(int argc,char *argv[],void *p); +int doreset(int argc,char *argv[],void *p); +int dokick(int argc,char *argv[],void *p); +int dorecord(int argc,char *argv[],void *p); +int dosfsize(int argc,char *argv[],void *p); +int doupload(int argc,char *argv[],void *p); + + +int dis1(int argc,char *argv[],void *p); +int dis0(int argc,char *argv[],void *p); +int echo1(int argc,char *argv[],void *p); +int echo0(int argc,char *argv[],void *p); +int rem1(int argc,char *argv[],void *p); +int rem0(int argc,char *argv[],void *p); +int term1(int argc,char *argv[],void *p); +int term0(int argc,char *argv[],void *p); +int bsr1(int argc,char *argv[],void *p); +int bsr0(int argc,char *argv[],void *p); + + +int dosmtp(int argc,char *argv[],void *p); + + +int smtp1(int argc,char *argv[],void *p); +int smtp0(int argc,char *argv[],void *p); + + +int dosock(int argc,char *argv[],void *p); + + +int dofiles(int argc,char *argv[],void *p); + + +int doswatch(int argc,char *argv[],void *p); + + +int dotcp(int argc,char *argv[],void *p); + + +int doecho(int argc,char *argv[],void *p); +int doeol(int argc,char *argv[],void *p); +int dotelnet(int argc,char *argv[],void *p); +int dotopt(int argc,char *argv[],void *p); + + +int dotip(int argc,char *argv[],void *p); + + +int ttylstart(int argc,char *argv[],void *p); +int ttyl0(int argc,char *argv[],void *p); + + +int dotrace(int argc,char *argv[],void *p); + + +int doudp(int argc,char *argv[],void *p); + + +int doview(int argc,char *argv[],void *p); +void view(int,void *,void *); + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + +FILE *dir(char *path,int full); +int filedir(char *name,int times,char *ret_str); +int getdir(char *path,int full,FILE *file); + + +char *pathname(char *cd,char *path); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +static int doascii(int argc,char *argv[],void *p); +static int dobatch(int argc,char *argv[],void *p); +static int dobinary(int argc,char *argv[],void *p); +static int docompare(int argc,char *argv[],void *p); +static int doftpcd(int argc,char *argv[],void *p); +static int doget(int argc,char *argv[],void *p); +static int dohash(int argc,char *argv[],void *p); +static int doverbose(int argc,char *argv[],void *p); +static int dolist(int argc,char *argv[],void *p); +static int dols(int argc,char *argv[],void *p); +static int domd5(int argc,char *argv[],void *p); +static int domkdir(int argc,char *argv[],void *p); +static int domcompare(int argc,char *argv[],void *p); +static int domget(int argc,char *argv[],void *p); +static int domput(int argc,char *argv[],void *p); +static int doput(int argc,char *argv[],void *p); +static int doquit(int argc,char *argv[],void *p); +static int doread(int argc,char *argv[],void *p); +static int dormdir(int argc,char *argv[],void *p); +static int dotype(int argc,char *argv[],void *p); +static int doupdate(int argc,char *argv[],void *p); +static int getline(struct session *sp,char *prompt,char *buf,int n); +static int getresp(struct ftpcli *ftp,int mincode); +static long getsub(struct ftpcli *ftp,char *command,char *remotename, + FILE *fp); +static long putsub(struct ftpcli *ftp,char *remotename,char *localname); +static int compsub(struct ftpcli *ftp,char *localname,char *remotename); +static void sendport(FILE *fp,struct sockaddr_in *socket); +static int keychar(int c); + + +static _char *Notsess = N_("Not an FTP session!\n"); + + + +static struct cmds Ftpcmds[] = { + N_(""), donothing, 0, 0, 0, + N_("ascii"), doascii, 0, 0, 0, + N_("batch"), dobatch, 0, 0, 0, + N_("binary"), dobinary, 0, 0, 0, + N_("cd"), doftpcd, 0, 2, N_("cd "), + N_("compare"), docompare, 0, 2, N_("compare []"), + N_("dir"), dolist, 0, 0, 0, + N_("list"), dolist, 0, 0, 0, + N_("get"), doget, 0, 2, N_("get "), + N_("hash"), dohash, 0, 0, 0, + N_("ls"), dols, 0, 0, 0, + N_("mcompare"), domcompare, 0, 2, N_("mcompare [ ...]"), + N_("md5"), domd5, 0, 2, N_("md5 "), + N_("mget"), domget, 0, 2, N_("mget [ ...]"), + N_("mkdir"), domkdir, 0, 2, N_("mkdir "), + N_("mput"), domput, 0, 2, N_("mput [ ...]"), + N_("nlst"), dols, 0, 0, 0, + N_("quit"), doquit, 0, 0, 0, + N_("read"), doread, 0, 2, N_("read "), + N_("rmdir"), dormdir, 0, 2, N_("rmdir "), + N_("put"), doput, 0, 2, N_("put "), + N_("type"), dotype, 0, 0, 0, + N_("update"), doupdate, 0, 0, 0, + N_("verbose"), doverbose, 0, 0, 0, + 0, 0, 0, 0, 0, +}; + + + + +int +doftp(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct session *sp; + struct ftpcli ftp; + struct sockaddr_in fsocket; + int resp,vsave; + char *bufsav,*cp; + FILE *control; + int s; + + + if((sp = newsession(Cmdline,FTP,1)) == 0){ + _printf(_("Too many sessions\n")); + return 1; + } + sp->inproc = keychar; + memset(&ftp,0,sizeof(ftp)); + ftp.control = ftp.data = 0; + ftp.verbose = V_NORMAL; + + sp->cb.ftp = &ftp; + ftp.session = sp; + + fsocket.sin_family = 0; + if(argc < 3) + fsocket.sin_port = 21 ; + else + fsocket.sin_port = atoi(argv[2]); + + if((Curproc->flags.sset=1, + Curproc->signo = (107),setjmp(Curproc->sig))){ + keywait(0,1); + freesession(sp); + return 1; + } + _printf(_("Resolving %s...\n"),argv[1]); + if((fsocket.sin_addr.s_addr = resolve(argv[1])) == 0){ + printf(Badhost,argv[1]); + keywait(0,1); + freesession(sp); + return 1; + } + + if((s = socket(0,0,0)) == -1){ + _printf(_("Can't create socket\n")); + keywait(0,1); + freesession(sp); + return 1; + } + if((Curproc->flags.sset=1, + Curproc->signo = (107),setjmp(Curproc->sig))){ + goto quit; + } + sp->network = control = ftp.control = fdopen(s,"r+t"); + settos(s,0x10); + _printf(_("Trying %s...\n"),psocket(&fsocket)); + if(connect(s,(struct sockaddr *)&fsocket,sizeof(fsocket)) == -1){ + perror("Connect failed"); + goto quit; + } + _printf(_("Connected\n")); + + + resp = getresp(&ftp,200); + + if(resp >= 400) + goto quit; + + + if((Curproc->flags.sset=1, + Curproc->signo = (107),setjmp(Curproc->sig))){ + + resp = 200; + } + while(resp != -1){ + switch(resp){ + case 220: + + getline(sp,"Enter user name: ",ftp.buf,256 ); + + + + if(ftp.buf[0] != '\n'){ + _fprintf(control, _("USER %s"),ftp.buf); + resp = getresp(&ftp,200); + } else + resp = 200; + break; + case 331: + + sp->ttystate.echo = 0; + getline(sp,"Password: ",ftp.buf,256 ); + _printf(_("\n")); + + sp->ttystate.echo = 1; + + + + if(ftp.buf[0] != '\n'){ + _fprintf(control, _("PASS %s"),ftp.buf); + resp = getresp(&ftp,200); + } else + resp = 200; + break; + case 230: + + _printf(_("ftp> syst\n")); + _fprintf(control, _("SYST\n")); + resp = getresp(&ftp,200); + break; + case 215: + + cp = strchr(ftp.line,' '); + if(cp != 0 && strnicmp(cp+1,System,strlen(System)) == 0){ + ftp.type = IMAGE_TYPE; + _printf(_("Defaulting to binary mode\n")); + } + resp = 200; + break; + default: + + if(sockstate(((control) != 0 ? (control)->fd : -1)) == 0){ + resp = -1; + break; + } + getline(sp,"ftp> ",ftp.buf,256 ); + + + bufsav = strdupw(ftp.buf); + if((resp = cmdparse(Ftpcmds,ftp.buf,&ftp)) != -1){ + + {free(bufsav); bufsav = 0;}; + } else { + + fputs(bufsav,control); + {free(bufsav); bufsav = 0;}; + + + vsave = ftp.verbose; + ftp.verbose = V_NORMAL; + resp = getresp(&ftp,200); + ftp.verbose = vsave; + } + } + } +quit: cp = sockerr(((control) != 0 ? (control)->fd : -1)); + _printf(_("Closed: %s\n"),cp != 0 ? cp : "EOF"); + + if(ftp.fp != 0 && ftp.fp != Curproc->output) + fclose(ftp.fp); + if(ftp.data != 0) + fclose(ftp.data); + if(ftp.control != 0){ + fclose(ftp.control); + ftp.control = 0; + sp->network = 0; + } + keywait(0,1); + if(ftp.session != 0) + freesession(ftp.session); + return 0; +} + + + + + +static int +doverbose(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct ftpcli *ftp; + + if((ftp = (struct ftpcli *)p) == 0) + return -1; + return setshort(&ftp->verbose, _("Verbose"), argc, argv); +} + + + + + +static int +dobatch(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct ftpcli *ftp; + + if((ftp = (struct ftpcli *)p) == 0) + return -1; + return setbool(&ftp->batch, _("Command batching"), argc, argv); +} + + + + +static int +doupdate(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct ftpcli *ftp; + + if((ftp = (struct ftpcli *)p) == 0) + return -1; + return setbool(&ftp->update, _("Update with MD5"), argc, argv); +} + + + + +static int +dohash(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct ftpcli *ftp; + + if((ftp = (struct ftpcli *)p) == 0) + return -1; + ftp->verbose = V_HASH; + return 0; +} + + + + + +static int +doquit(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct ftpcli *ftp; + + ftp = (struct ftpcli *)p; + if(ftp == 0) + return -1; + _fprintf(ftp->control, _("QUIT\n")); + getresp(ftp,200); + getresp(ftp,200); + return -1; +} + + + + + +static int +doftpcd(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct ftpcli *ftp; + + ftp = (struct ftpcli *)p; + if(ftp == 0) + return -1; + _fprintf(ftp->control, _("CWD %s\n"),argv[1]); + return getresp(ftp,200); +} + + + + +static int +domkdir(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct ftpcli *ftp; + + ftp = (struct ftpcli *)p; + if(ftp == 0) + return -1; + _fprintf(ftp->control, _("XMKD %s\n"),argv[1]); + return getresp(ftp,200); +} + + + + +static int +dormdir(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct ftpcli *ftp; + + ftp = (struct ftpcli *)p; + if(ftp == 0) + return -1; + _fprintf(ftp->control, _("XRMD %s\n"),argv[1]); + return getresp(ftp,200); +} + + + +static int +dobinary(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + char *args[2]; + + args[1] = "I"; + return dotype(2,args,p); +} + + + +static int +doascii(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + char *args[2]; + + args[1] = "A"; + return dotype(2,args,p); +} + + + + + +static int +dotype(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct ftpcli *ftp; + + ftp = (struct ftpcli *)p; + if(ftp == 0) + return -1; + if(argc < 2){ + switch(ftp->type){ + case IMAGE_TYPE: + _printf(_("Image\n")); + break; + case ASCII_TYPE: + _printf(_("Ascii\n")); + break; + case LOGICAL_TYPE: + _printf(_("Logical bytesize %u\n"),ftp->logbsize); + break; + } + return 0; + } + switch(*argv[1]){ + case 'i': + case 'I': + case 'b': + case 'B': + ftp->type = IMAGE_TYPE; + break; + case 'a': + case 'A': + ftp->type = ASCII_TYPE; + break; + case 'L': + case 'l': + ftp->type = LOGICAL_TYPE; + ftp->logbsize = atoi(argv[2]); + break; + default: + _printf(_("Invalid type %s\n"),argv[1]); + return 1; + } + return 0; +} + + + + +static int +doget(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + char *remotename,*localname; + register struct ftpcli *ftp; + FILE *fp; + char *mode; + + ftp = (struct ftpcli *)p; + if(ftp == 0){ + _printf(Notsess); + return 1; + } + remotename = argv[1]; + if(argc < 3) + localname = remotename; + else + localname = argv[2]; + + switch(ftp->type){ + case IMAGE_TYPE: + case LOGICAL_TYPE: + mode = "w+" ; + break; + case ASCII_TYPE: + mode = "w+t" ; + break; + } + if((fp = (freopen((localname),(mode),0))) == 0){ + _printf(_("Can't write %s"),localname); + perror(""); + return 1; + } + getsub(ftp,"RETR",remotename,fp); + fclose(fp); + return 0; +} + + + + +static int +doread(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct ftpcli *ftp; + + if((ftp = (struct ftpcli *)p) == 0){ + _printf(Notsess); + return 1; + } + getsub(ftp,"RETR",argv[1],Curproc->output); + return 0; +} + + + + +static int +domget(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct ftpcli *ftp; + FILE *files,*fp; + char *buf,*mode; + int i; + long r; + + if((ftp = (struct ftpcli *)p) == 0){ + _printf(Notsess); + return 1; + } + switch(ftp->type){ + case IMAGE_TYPE: + case LOGICAL_TYPE: + mode = "w+" ; + break; + case ASCII_TYPE: + mode = "w+t" ; + break; + } + buf = mallocw(256); + ftp->state = 2 ; + for(i=1;iabort) + break; + if(r == -1){ + _printf(_("Can't NLST %s\n"),argv[i]); + continue; + } + + + + ((void)fseek((files),0L,0),(((files))->flags.eof = ((files))->flags.err = 0)); + while(fgets(buf,256,files) != 0){ + rip(buf); + if(!ftp->update || compsub(ftp,buf,buf) != 0){ + if((fp = (freopen((buf),(mode),0))) == 0){ + _printf(_("Can't write %s"),buf); + perror(""); + continue; + } + getsub(ftp,"RETR",buf,fp); + fclose(fp); + } + if(ftp->abort){ + + ftp->abort = 0; + fclose(files); + free(buf); + ftp->state = 0 ; + return 1; + } + } + fclose(files); + } + free(buf); + ftp->state = 0 ; + ftp->abort = 0; + return 0; +} + + + + +static int +dolist(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct ftpcli *ftp; + FILE *fp; + + ftp = (struct ftpcli *)p; + if(ftp == 0){ + _printf(Notsess); + return 1; + } + + if(argc > 2) + fp = (freopen((argv[2]),("w+t" ),0)); + + else + fp = Curproc->output; + + if(fp == 0){ + _printf(_("Can't write local file")); + perror(""); + return 1; + } + + getsub(ftp,"LIST",argv[1],fp); + return 0; +} + + + + +static int +dols(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct ftpcli *ftp; + FILE *fp; + + if((ftp = (struct ftpcli *)p) == 0){ + _printf(Notsess); + return 1; + } + if(argc > 2) + fp = (freopen((argv[2]),("w+t" ),0)); + + else + fp = Curproc->output; + + if(fp == 0){ + _printf(_("Can't write local file")); + perror(""); + return 1; + } + getsub(ftp,"NLST",argv[1],fp); + return 0; +} + + + +static int +domd5(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + char *remotename; + register struct ftpcli *ftp; + FILE *control; + int resp; + int typewait = 0; + + ftp = (struct ftpcli *)p; + if(ftp == 0){ + _printf(Notsess); + return 1; + } + control = ftp->control; + remotename = argv[1]; + if(ftp->typesent != ftp->type){ + switch(ftp->type){ + case ASCII_TYPE: + _fprintf(control, _("TYPE A\n")); + break; + case IMAGE_TYPE: + _fprintf(control, _("TYPE I\n")); + break; + case LOGICAL_TYPE: + _fprintf(control, _("TYPE L %d\n"),ftp->logbsize); + break; + } + ftp->typesent = ftp->type; + if(!ftp->batch){ + resp = getresp(ftp,200); + if(resp == -1 || resp > 299) + goto failure; + } else + typewait = 1; + + } + _fprintf(control, _("XMD5 %s\n"),remotename); + if(typewait) + (void)getresp(ftp,200); + (void)getresp(ftp,200); +failure:; + return 0; +} + + + +static int +docompare(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + char *remotename,*localname; + register struct ftpcli *ftp; + + ftp = (struct ftpcli *)p; + if(ftp == 0){ + _printf(Notsess); + return 1; + } + remotename = argv[1]; + if(argc > 2) + localname = argv[2]; + else + localname = remotename; + + if(compsub(ftp,localname,remotename) == 0) + _printf(_("Same\n")); + else + _printf(_("Different\n")); + return 0; +} + + + + +static int +domcompare(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct ftpcli *ftp; + FILE *files; + char *buf; + int i; + long r; + + if((ftp = (struct ftpcli *)p) == 0){ + _printf(Notsess); + return 1; + } + buf = mallocw(256); + ftp->state = 2 ; + for(i=1;iabort) + break; + if(r == -1){ + _printf(_("Can't NLST %s\n"),argv[i]); + continue; + } + + + + ((void)fseek((files),0L,0),(((files))->flags.eof = ((files))->flags.err = 0)); + while(fgets(buf,256,files) != 0){ + rip(buf); + if(compsub(ftp,buf,buf) == 0) + _printf(_("%s - Same\n"),buf); + else + _printf(_("%s - Different\n"),buf); + + if(ftp->abort){ + + ftp->abort = 0; + fclose(files); + free(buf); + ftp->state = 0 ; + return 1; + } + } + fclose(files); + } + free(buf); + ftp->state = 0 ; + ftp->abort = 0; + return 0; +} + + + + + + +static int +compsub(ftp,localname,remotename) +struct ftpcli *ftp; +char *localname; +char *remotename; +{ + char *mode,*cp; + FILE *control,*fp; + int resp,i; + int typewait = 0; + uint8 remhash[16]; + uint8 lochash[16]; + + control = ftp->control; + + switch(ftp->type){ + case IMAGE_TYPE: + case LOGICAL_TYPE: + mode = "r"; + break; + case ASCII_TYPE: + mode = "rt" ; + break; + } + if((fp = (freopen((localname),(mode),0))) == 0){ + _printf(_("Can't read local file %s\n"),localname); + return 1; + } + if(ftp->typesent != ftp->type){ + switch(ftp->type){ + case ASCII_TYPE: + _fprintf(control, _("TYPE A\n")); + break; + case IMAGE_TYPE: + _fprintf(control, _("TYPE I\n")); + break; + case LOGICAL_TYPE: + _fprintf(control, _("TYPE L %d\n"),ftp->logbsize); + break; + } + ftp->typesent = ftp->type; + if(!ftp->batch){ + resp = getresp(ftp,200); + if(resp == -1 || resp > 299) + goto failure; + } else + typewait = 1; + } + _fprintf(control, _("XMD5 %s\n"),remotename); + + md5hash(fp,lochash,ftp->type == ASCII_TYPE); + fclose(fp); + if(typewait && (resp = getresp(ftp,200)) > 299) + goto failure; + if((resp = getresp(ftp,200)) > 299){ + if(resp == 500) + ftp->update = 0; + goto failure; + } + if((cp = strchr(ftp->line,' ')) == 0){ + _printf(_("Error in response\n")); + goto failure; + } + + readhex(remhash,cp,sizeof(remhash)); + if(ftp->verbose > 1){ + _printf(_("Loc ")); + for(i=0;itype; + control = ftp->control; + + + d = socket(0,0,0); + listen(d,0); + + switch(ftp->type){ + case IMAGE_TYPE: + case LOGICAL_TYPE: + ftp->data = fdopen(d,"r+b"); + break; + case ASCII_TYPE: + ftp->data = fdopen(d,"r+t"); + break; + } + prevstate = ftp->state; + ftp->state = 2 ; + + + if(strcmp(command,"LIST") == 0 || strcmp(command,"NLST") == 0){ + + ftp->type = ASCII_TYPE; + } + if(ftp->typesent != ftp->type){ + switch(ftp->type){ + case ASCII_TYPE: + _fprintf(control, _("TYPE A\n")); + break; + case IMAGE_TYPE: + _fprintf(control, _("TYPE I\n")); + break; + case LOGICAL_TYPE: + _fprintf(control, _("TYPE L %d\n"),ftp->logbsize); + break; + } + ftp->typesent = ftp->type; + if(!ftp->batch){ + resp = getresp(ftp,200); + if(resp == -1 || resp > 299) + goto failure; + } else + typewait = 1; + } + + + + i = (sizeof(struct sockaddr)); + getsockname(d,(struct sockaddr *)&lsocket,&i); + i = (sizeof(struct sockaddr)); + getsockname(((ftp->control) != 0 ? (ftp->control)->fd : -1),(struct sockaddr *)&lcsocket,&i); + lsocket.sin_addr.s_addr = lcsocket.sin_addr.s_addr; + sendport(control,&lsocket); + if(!ftp->batch){ + + resp = getresp(ftp,200); + if(resp == -1 || resp > 299) + goto failure; + } + + + if(remotename != 0) + _fprintf(control, _("%s %s\n"),command,remotename); + else + _fprintf(control, _("%s\n"),command); + + if(ftp->batch){ + + if(typewait){ + resp = getresp(ftp,200); + if(resp == -1 || resp > 299) + goto failure; + } + + resp = getresp(ftp,200); + if(resp == -1 || resp > 299) + goto failure; + } + + resp = getresp(ftp,100); + if(resp == -1 || resp >= 400) + goto failure; + + + cnt = 0; + d = accept(d,0,&cnt); + startclk = msclock(); + + + vsave = ftp->verbose; + if(vsave >= V_HASH && fp == 0) + ftp->verbose = V_NORMAL; + total = recvfile(fp,ftp->data,ftp->type,ftp->verbose); + + + + + fclose(ftp->data); + ftp->data = 0; + + + + + + if(remotename == 0) + remotename = ""; + if(total == -1){ + _printf(_("%s %s: Error/abort during data transfer\n"),command,remotename); + } else if(ftp->verbose >= V_SHORT){ + startclk = msclock() - startclk; + rate = 0; + if(startclk != 0){ + if(total < 4294967L) { + rate = (total*1000)/startclk; + } else { + rate = total/(startclk/1000); + } + } + _printf(_("%s %s: %lu bytes in %lu sec (%lu/sec)\n"), + command,remotename, total,startclk/1000,rate); + } + + getresp(ftp,200); + + ftp->state = prevstate; + ftp->verbose = vsave; + ftp->type = savmode; + return total; + +failure: + + if(fp != 0 && fp != Curproc->output) + fclose(fp); + fclose(ftp->data); + ftp->data = 0; + ftp->state = prevstate; + ftp->type = savmode; + return -1; +} + + + + +static int +doput(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct ftpcli *ftp; + char *remotename,*localname; + + if((ftp = (struct ftpcli *)p) == 0){ + _printf(Notsess); + return 1; + } + localname = argv[1]; + if(argc < 3) + remotename = localname; + else + remotename = argv[2]; + + putsub(ftp,remotename,localname); + return 0; +} + + + + +static int +domput(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct ftpcli *ftp; + FILE *files; + int i; + char *buf; + + if((ftp = (struct ftpcli *)p) == 0){ + _printf(Notsess); + return 1; + } + if((files = tmpfile()) == 0){ + _printf(_("Can't list local files\n")); + return 1; + } + for(i=1;iflags.eof = ((files))->flags.err = 0)); + buf = mallocw(256); + ftp->state = 1 ; + while(fgets(buf,256,files) != 0){ + rip(buf); + if(!ftp->update || compsub(ftp,buf,buf) != 0) + putsub(ftp,buf,buf); + if(ftp->abort) + break; + } + fclose(files); + free(buf); + ftp->state = 0 ; + ftp->abort = 0; + return 0; +} + + + + + + + +static long +putsub(ftp,remotename,localname) +register struct ftpcli *ftp; +char *remotename,*localname; +{ + char *mode; + int i,resp,d; + unsigned long total; + FILE *fp,*control; + struct sockaddr_in lsocket,lcsocket; + int32 startclk,rate; + int typewait = 0; + int prevstate; + + control = ftp->control; + if(ftp->type == IMAGE_TYPE) + mode = "r"; + else + mode = "rt" ; + + + if((fp = (freopen((localname),(mode),0))) == 0){ + + _printf(_("Can't read %s: %s\n"),localname,strerror((Curproc->p_errno))); + + + + return -1; + } + if(ftp->type == ASCII_TYPE && isbinary(fp)){ + _printf(_("Warning: type is ASCII and %s appears to be binary\n"),localname); + } + + d = socket(0,0,0); + ftp->data = fdopen(d,"w+"); + listen(d,0); + prevstate = ftp->state; + ftp->state = 1 ; + + + if(ftp->typesent != ftp->type){ + switch(ftp->type){ + case ASCII_TYPE: + _fprintf(control, _("TYPE A\n")); + break; + case IMAGE_TYPE: + _fprintf(control, _("TYPE I\n")); + break; + case LOGICAL_TYPE: + _fprintf(control, _("TYPE L %d\n"),ftp->logbsize); + break; + } + ftp->typesent = ftp->type; + + + if(!ftp->batch){ + resp = getresp(ftp,200); + if(resp == -1 || resp > 299){ + goto failure; + } + } else + typewait = 1; + } + + + + i = (sizeof(struct sockaddr)); + getsockname(d,(struct sockaddr *)&lsocket,&i); + i = (sizeof(struct sockaddr)); + getsockname(((ftp->control) != 0 ? (ftp->control)->fd : -1),(struct sockaddr *)&lcsocket,&i); + lsocket.sin_addr.s_addr = lcsocket.sin_addr.s_addr; + sendport(control,&lsocket); + if(!ftp->batch){ + + resp = getresp(ftp,200); + if(resp == -1 || resp > 299){ + goto failure; + } + } + + _fprintf(control, _("STOR %s\n"),remotename); + + if(ftp->batch){ + + if(typewait){ + resp = getresp(ftp,200); + if(resp == -1 || resp > 299){ + goto failure; + } + } + + resp = getresp(ftp,200); + if(resp == -1 || resp > 299){ + goto failure; + } + } + + resp = getresp(ftp,100); + if(resp == -1 || resp >= 400){ + goto failure; + } + + + + + + accept(d,0,(int *)0); + + startclk = msclock(); + + total = sendfile(fp,ftp->data,ftp->type,ftp->verbose); + fflush(ftp->data); + shutdown(((ftp->data) != 0 ? (ftp->data)->fd : -1),1); + fclose(fp); + + + + + getresp(ftp,200); + fclose(ftp->data); + ftp->data = 0; + + if(total == -1){ + _printf(_("STOR %s: Error/abort during data transfer\n"),remotename); + } else if(ftp->verbose >= V_SHORT){ + startclk = msclock() - startclk; + rate = 0; + if(startclk != 0){ + if(total < 4294967L) { + rate = (total*1000)/startclk; + } else { + rate = total/(startclk/1000); + } + } + _printf(_("STOR %s: %lu bytes in %lu sec (%lu/sec)\n"), + remotename,total,startclk/1000,rate); + } + ftp->state = prevstate; + return total; + +failure: + + fclose(fp); + fclose(ftp->data); + ftp->data = 0; + ftp->state = prevstate; + return -1; +} + + + + +static void +sendport(fp,socket) +FILE *fp; +struct sockaddr_in *socket; +{ + + _fprintf(fp, _("PORT %u,%u,%u,%u,%u,%u\n"), + ((unsigned char)((((uint16)((socket->sin_addr.s_addr) >> 16))) >> 8)), + ((unsigned char)(((uint16)((socket->sin_addr.s_addr) >> 16)))), + ((unsigned char)((((uint16)(socket->sin_addr.s_addr))) >> 8)), + ((unsigned char)(((uint16)(socket->sin_addr.s_addr)))), + ((unsigned char)((socket->sin_port) >> 8)), + ((unsigned char)(socket->sin_port))); +} + + + + + + +static int +getresp(ftp,mincode) +struct ftpcli *ftp; +int mincode; +{ + int rval; + + fflush(ftp->control); + for(;;){ + + if(fgets(ftp->line,256 ,ftp->control) == 0){ + rval = -1; + break; + } + rip(ftp->line); + rval = atoi(ftp->line); + if(rval >= 400 || ftp->verbose >= V_NORMAL) + _printf(_("%s\n"),ftp->line); + + + if(ftp->line[3] != '-' && rval >= mincode) + break; + } + return rval; +} + + + + + +static int +getline(sp,prompt,buf,n) +struct session *sp; +char *prompt; +char *buf; +int n; +{ + printf(prompt); + fflush(Curproc->output); + fgets(buf,n,Curproc->input); + return strlen(buf); +} + + + +static int +keychar(c) +int c; +{ + struct ftpcli *ftp; + + if(c != 0x3) + return 1; + + _fprintf(Current->output, _("^C\n")); + ftp = Current->cb.ftp; + switch(ftp->state){ + case 0 : + alert(Current->proc,107); + break; + case 1 : + + + + + + shutdown(((ftp->data) != 0 ? (ftp->data)->fd : -1),1); + ftp->abort = 1; + break; + case 2 : + + shutdown(((ftp->data) != 0 ? (ftp->data)->fd : -1),2); + ftp->abort = 1; + break; + } + return 0; +} + diff --git a/src/nos/clients/lterm.i b/src/nos/clients/lterm.i new file mode 100644 index 00000000..0c4a70a9 --- /dev/null +++ b/src/nos/clients/lterm.i @@ -0,0 +1,3248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + + + + + + + + + + +enum ftp_type { + ASCII_TYPE, + IMAGE_TYPE, + LOGICAL_TYPE +}; + + +enum verb_level { + V_QUIET, + V_SHORT, + V_NORMAL, + V_HASH, + V_STAT +}; + +long sendfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +long recvfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +int isbinary(FILE *fp); +int md5hash(FILE *fp,uint8 hash[16],int ascii); + + + + + + + + + + + +struct ftpcli { + FILE *control; + FILE *data; + + char state; + + + + + uint16 verbose; + int batch; + int abort; + int update; + char type; + char typesent; + int logbsize; + FILE *fp; + + char buf[256 ]; + char line[256 ]; + struct session *session; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct telnet { + char local[6]; + char remote[6]; + struct session *session; + char eolmode; +}; + +extern int Refuse_echo; +extern int Tn_cr_mode; + + +int tel_connect(struct session *sp,struct sockaddr *fsocket,int len); +void tel_output(int unused,void *p1,void *p2); +void tnrecv(struct telnet *tn); +void doopt(struct telnet *tn,int opt); +void dontopt(struct telnet *tn,int opt); +void willopt(struct telnet *tn,int opt); +void wontopt(struct telnet *tn,int opt); +void answer(struct telnet *tn,int r1,int r2); + + +void ttylhandle(int s,void *unused,void *p); + + + + +struct ttystate { + uint8 *line; + uint8 *lp; + unsigned int echo:1; + unsigned int edit:1; + unsigned int crnl:1; +}; + + +struct session { + unsigned strchr; + enum { + TELNET, + FTP, + AX25TNC, + FINGER, + PING, + NRSESSION, + COMMAND, + VIEW, + HOP, + TIP, + PPPPASS, + DIAL, + DQUERY, + DCLIST, + ITRACE, + REPEAT, + FAX + } type; + + char *name; + union { + struct ftpcli *ftp; + struct telnet *telnet; + void *p; + } cb; + struct proc *proc; + struct proc *proc1; + struct proc *proc2; + FILE *network; + FILE *record; + FILE *upload; + struct ttystate ttystate; + FILE *input; + FILE *output; + int (*ctlproc)(int); + int (*inproc)(int); + struct session *parent; + enum { + SCROLL_INBAND, + SCROLL_LOCAL + } scrollmode; +}; +extern char *Sestypes[]; +extern unsigned Nsessions; +extern long Sfsize; + +extern struct session *Sessions[]; + + + +extern struct session *Current; +extern struct session *Lastcurr; +extern struct session *Command; +extern char *Cmdline; + + +void freesession(struct session *sp); +int keywait(char *prompt,int flush); +struct session *sessptr(char *cp); +struct session *newsession(char *name,int type,int makecur); +void sesflush(void); +void upload(int unused,void *sp1,void *p); + +extern uint16 Lport; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + +struct dma { + uint8 *data; + unsigned short cnt; + volatile uint8 busy; +}; + + +struct fifo { + uint8 *buf; + unsigned bufsize; + uint8 *wp; + uint8 *rp; + volatile unsigned short cnt; + unsigned short hiwat; + long overrun; +}; + + +struct asy { + struct iface *iface; + struct fifo fifo; + int trigchar; + + struct dma dma; + + unsigned addr; + int vec; + long speed; + + struct { + void (*vec)(void); + + uint8 mask; + + + + uint8 cntla; + uint8 stat; + + + + uint8 cntlb; + + + + } save; + + + + + + uint8 cntla; + uint8 stat; + + uint8 cntlb; + uint8 cts; + uint8 rlsd; + uint8 chain; + + long fifotimeouts; + long rxints; + long txints; + long rxchar; + long overrun; + long txchar; + long rxhiwat; + long msint_count; + long txto; + long cdchanges; + + int suspend_count; + int trigchar_save; + +}; + +extern int Nasy; +extern struct asy Asy[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void asci0vec(void); +void asci1vec(void); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct asymode { + char *name; + int trigchar; + int (*init)(struct iface *); + int (*free)(struct iface *); +}; +extern struct asymode Asymode[]; + + +int asy_init(int dev,struct iface *ifp,int base,int irq, + uint16 bufsize,int trigchar,long speed,int cts,int rlsd,int chain); +int32 asy_ioctl(struct iface *ifp,int cmd,int set,int32 val); +int asy_read(int dev,void *buf,unsigned short cnt); +int asy_open(char *name); +int asy_close(int dev); +int asy_speed(int dev,long bps); +int asy_send(int dev,struct mbuf **bpp); +int asy_stop(struct iface *ifp); +int asy_write(int dev,void *buf,unsigned short cnt); +int get_rlsd_asy(int dev, int new_rlsd); +int get_asy(int dev); +void fp_stop(void); + + +void asy0vec(void); +void asy1vec(void); +void asy2vec(void); +void asy3vec(void); +void asy4vec(void); +void asy5vec(void); + + +void fp0vec(void); + + + + + + + +static void lterm_rx(int,void *,void *); + +int +dolterm(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + FILE *network = 0; + struct iface *ifp; + int (*rawsave)(struct iface *,struct mbuf **); + int s; + struct sockaddr_in fsocket; + struct session *sp; + int c; + int otrigchar; + + if((ifp = if_lookup(argv[1])) == 0){ + _printf(_("Interface %s unknown\n"),argv[1]); + return 1; + } + if(ifp->dev >= 2 || Asy[ifp->dev].iface != ifp ){ + _printf(_("Interface %s not asy port\n"),argv[1]); + return 1; + } + if(ifp->raw == bitbucket){ + _printf(_("tip or dialer session already active on %s\n"),argv[1]); + return 1; + } + fsocket.sin_family = 0; + if((fsocket.sin_addr.s_addr = resolve(argv[2])) == 0){ + printf(Badhost,argv[2]); + keywait(0,1); + freesession(sp); + return 1; + } + if(argc > 3) + fsocket.sin_port = atoi(argv[3]); + else + fsocket.sin_port = 23 ; + + + if((sp = newsession(Cmdline,TIP,1)) == 0){ + _printf(_("Too many sessions\n")); + return 1; + } + + rawsave = ifp->raw; + ifp->raw = bitbucket; + + + + + suspend(ifp->rxproc); + + + otrigchar = Asy[ifp->dev].trigchar; + Asy[ifp->dev].trigchar = -1; + + + + + + if((s = socket(0,0,0)) == -1){ + _printf(_("Can't create socket\n")); + keywait(0,1); + freesession(sp); + goto cleanup; + } + settos(s,0x10); + network = fdopen(s,"r+b"); + setvbuf(network,0,_IONBF,0); + if(connect(s,(struct sockaddr *)&fsocket,(sizeof(struct sockaddr))) == -1){ + perror("connect failed"); + keywait(0,1); + freesession(sp); + goto cleanup; + } + + sp->proc1 = newproc("lterm",512,lterm_rx,ifp->dev,(void *)network,0,0); + + + while((c = get_asy(ifp->dev)) != -1){ + ((fputc(((c)),(Curproc->output)))); + (fputc((c),(network))); + fflush(network); + } +cleanup: + killproc(sp->proc1); + sp->proc1 = 0; + ifp->raw = rawsave; + resume(ifp->rxproc); + keywait(0,1); + freesession(sp); + return 0; +} + +static void +lterm_rx(dev,n1,n2) +int dev; +void *n1,*n2; +{ + int c; + char c1; + FILE *network = (FILE *)n1; + + while((c = fgetc(network)) != (-1)){ + c1 = c; + ((fputc(((c1)),(Curproc->output)))); + asy_write(dev,(uint8 *)&c1,1); + Asy[dev].iface->lastsent = secclock(); + } +} + diff --git a/src/nos/clients/nntpcli.i b/src/nos/clients/nntpcli.i new file mode 100644 index 00000000..19c90133 --- /dev/null +++ b/src/nos/clients/nntpcli.i @@ -0,0 +1,5529 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + + + + + + + + +typedef long clock_t; + + +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +}; + +struct timezone { + int tz_minuteswest; + int tz_dsttime; +}; + + + + +extern char *tzname[2]; +extern int daylight; +extern long timezone; + +extern long clock (void); +extern time_t mktime (struct tm * __tp); +extern long difftime (time_t *__time2, time_t *__time1); + +extern time_t time (time_t *tvec); + +extern void __tm_conv (struct tm *tmbuf, time_t *t, int offset); +extern void __asctime (char *, struct tm *); +extern char *asctime (struct tm * __tp); +extern char *ctime (time_t * __tp); +extern void tzset (void); + +extern struct tm *gmtime (time_t *__tp); +extern struct tm *localtime (time_t * __tp); +extern unsigned long convtime (time_t *time_field); + + + + + + + +struct timeb + { + time_t time; + unsigned short millitm; + short timezone; + short dstflag; + }; + +int ftime(struct timeb *); + + + + + + + + + + + + +extern unsigned char __ctype[]; + + + + + + + + + + + + +extern int toupper (int); +extern int tolower (int); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + +struct cmds { + _char *name; + int (*func)(int argc,char *argv[],void *p); + + int stksize; + int argcmin; + _char *argc_errmsg; +}; +extern struct cmds Cmds[],Startcmds[],Stopcmds[],Attab[]; + + +int cmdparse(struct cmds cmds[], char *line, void *p); +int subcmd(struct cmds tab[], int argc, char *argv[], void *p); +int setbool(int *var, _char *label, int argc, char *argv[]); +int bit16cmd(uint16 *bits, uint16 mask, _char *label, int argc, char *argv[]); +int setint(int *var, _char *label, int argc, char *argv[]); +int setlong(int32 *var, _char *label, int argc, char *argv[]); +int setshort(unsigned short *var, _char *label, int argc, char *argv[]); +int setuns(unsigned *var, _char *label, int argc, char *argv[]); + + + + + + +int doasystat(int argc,char *argv[],void *p); +int fp_attach (int argc,char *argv[],void *p); + + +int domem(int argc,char *argv[],void *p); + + +int doamiga(int argc,char *argv[],void *p); + + +int doarp(int argc,char *argv[],void *p); + + +int asy_attach(int argc,char *argv[],void *p); + + +int doax25(int argc,char *argv[],void *p); +int doaxheard(int argc,char *argv[],void *p); +int doaxdest(int argc,char *argv[],void *p); +int doconnect(int argc,char *argv[],void *p); + + +int dobootp(int argc,char *argv[],void *p); + + +int bootpdcmd(int argc,char *argv[],void *p); + + +int dodialer(int argc,char *argv[],void *p); + + +int docd(int argc,char *argv[],void *p); +int dodir(int argc,char *argv[],void *p); +int domkd(int argc,char *argv[],void *p); +int dormd(int argc,char *argv[],void *p); + + +int dodomain(int argc,char *argv[],void *p); + + +int dodrstat(int argc,char *argv[],void *p); +int dr_attach(int argc,char *argv[],void *p); +int dodr(int argc,char *argv[],void *p); + + +int eg_attach(int argc,char *argv[],void *p); +int doegstat(int argc,char *argv[],void *p); + + +int doetherstat(int argc,char *argv[],void *p); +int ec_attach(int argc,char *argv[],void *p); + + +int dofax(int argc,char *argv[],void *p); +int fax1(int argc,char *argv[],void *p); +int fax0(int argc,char *argv[],void *p); + + +int dofinger(int argc,char *argv[],void *p); + + +int finstart(int argc,char *argv[],void *p); +int fin0(int argc,char *argv[],void *p); + + +int doftp(int argc,char *argv[],void *p); +int doabort(int argc,char *argv[],void *p); + + +int ftpstart(int argc,char *argv[],void *p); +int ftp0(int argc,char *argv[],void *p); + + +int dohapnstat(int argc,char *argv[],void *p); +int hapn_attach(int argc,char *argv[],void *p); + + +int dohop(int argc,char *argv[],void *p); + + +int dohs(int argc,char *argv[],void *p); +int hs_attach(int argc,char *argv[],void *p); + + +int doicmp(int argc,char *argv[],void *p); + + +int doifconfig(int argc,char *argv[],void *p); +int dodetach(int argc,char *argv[],void *p); + + +int doip(int argc,char *argv[],void *p); +int doroute(int argc,char *argv[],void *p); + + +int dosec(int argc,char *argv[],void *p); + + +int doksp(int argc,char *argv[],void *p); + + +int ps(int argc,char *argv[],void *p); + + +int dolterm(int argc,char *argv[],void *p); + + +int dodelete(int argc,char *argv[],void *p); +int dorename(int argc,char *argv[],void *p); +int doexit(int argc,char *argv[],void *p); +int dohostname(int argc,char *argv[],void *p); +int dolog(int argc,char *argv[],void *p); +int dohelp(int argc,char *argv[],void *p); +int doattach(int argc,char *argv[],void *p); +int doparam(int argc,char *argv[],void *p); +int dopage(int argc,char *argv[],void *p); +int domode(int argc,char *argv[],void *p); +int donothing(int argc,char *argv[],void *p); +int donrstat(int argc,char *argv[],void *p); +int doescape(int argc,char *argv[],void *p); +int doremote(int argc,char *argv[],void *p); +int doboot(int argc,char *argv[],void *p); +int dorepeat(int argc,char *argv[],void *p); +int dostacktest(int argc,char *argv[],void *p); +int dosysdebug(int argc,char *argv[],void *p); +int dosystrace(int argc,char *argv[],void *p); +int dowipe(int argc,char *argv[],void *p); + + +int dombox(int argc,char *argv[],void *p); + + +int donntp(int argc,char *argv[],void *p); + + +int donetrom(int argc,char *argv[],void *p); +int nr_attach(int argc,char *argv[],void *p); + + +int doshell(int argc,char *argv[],void *p); +int doisat(int argc,char *argv[],void *p); + + +int pc_attach(int argc,char *argv[],void *p); + + +int pk_attach(int argc,char *argv[],void *p); + + +int pi_attach(int argc,char *argv[],void *p); +int dopistat(int argc,char *argv[],void *p); + + +int doping(int argc,char *argv[],void *p); + + +int dopop(int argc,char *argv[],void *p); + + +int pop1(int argc,char *argv[],void *p); +int pop0(int argc,char *argv[],void *p); + + +int doqtso(int argc,char *argv[],void *p); + + +int dorarp(int argc,char *argv[],void *p); + + +int dorip(int argc,char *argv[],void *p); + + +int doaddrefuse(int argc,char *argv[],void *p); +int dodroprefuse(int argc,char *argv[],void *p); +int dorip(int argc,char *argv[],void *p); +int doripadd(int argc,char *argv[],void *p); +int doripdrop(int argc,char *argv[],void *p); +int doripinit(int argc,char *argv[],void *p); +int doripmerge(int argc,char *argv[],void *p); +int doripreq(int argc,char *argv[],void *p); +int doripstat(int argc,char *argv[],void *p); +int doripstop(int argc,char *argv[],void *p); +int doriptrace(int argc,char *argv[],void *p); + + +int dosound(int argc,char *argv[],void *p); + + +int escc_attach(int argc,char *argv[],void *p); +int doesccstat(int argc,char *argv[],void *p); + + +int dosession(int argc,char *argv[],void *p); +int go(int argc,char *argv[],void *p); +int doclose(int argc,char *argv[],void *p); +int doreset(int argc,char *argv[],void *p); +int dokick(int argc,char *argv[],void *p); +int dorecord(int argc,char *argv[],void *p); +int dosfsize(int argc,char *argv[],void *p); +int doupload(int argc,char *argv[],void *p); + + +int dis1(int argc,char *argv[],void *p); +int dis0(int argc,char *argv[],void *p); +int echo1(int argc,char *argv[],void *p); +int echo0(int argc,char *argv[],void *p); +int rem1(int argc,char *argv[],void *p); +int rem0(int argc,char *argv[],void *p); +int term1(int argc,char *argv[],void *p); +int term0(int argc,char *argv[],void *p); +int bsr1(int argc,char *argv[],void *p); +int bsr0(int argc,char *argv[],void *p); + + +int dosmtp(int argc,char *argv[],void *p); + + +int smtp1(int argc,char *argv[],void *p); +int smtp0(int argc,char *argv[],void *p); + + +int dosock(int argc,char *argv[],void *p); + + +int dofiles(int argc,char *argv[],void *p); + + +int doswatch(int argc,char *argv[],void *p); + + +int dotcp(int argc,char *argv[],void *p); + + +int doecho(int argc,char *argv[],void *p); +int doeol(int argc,char *argv[],void *p); +int dotelnet(int argc,char *argv[],void *p); +int dotopt(int argc,char *argv[],void *p); + + +int dotip(int argc,char *argv[],void *p); + + +int ttylstart(int argc,char *argv[],void *p); +int ttyl0(int argc,char *argv[],void *p); + + +int dotrace(int argc,char *argv[],void *p); + + +int doudp(int argc,char *argv[],void *p); + + +int doview(int argc,char *argv[],void *p); +void view(int,void *,void *); + + + + + + + + + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + + + + + + + +struct zentry { + uint16 code; + char data; +}; +struct zfast { + uint16 owncode; + uint16 code; + char data; +}; + + + +struct lzw { + uint16 codebits; + int maxbits; + + int32 prefix; + char mode; + + + union { + struct zentry **tbl; + + struct mbuf **bpp; + + void *p; + } tu; + int nextbit; + int version; + + int32 cnt; + int32 code; + int32 next; + int flushbit; + + struct mbuf *buf; +}; + +struct usock; +void lzwencode(int s,char c); +void lzwinit(int s,int bits,int mode); +void lzwfree(struct usock *up); +void lzwflush(struct usock *up); +int lzwdecode(struct usock *up); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct tcp { + uint16 source; + uint16 dest; + int32 seq; + int32 ack; + uint16 wnd; + uint16 checksum; + uint16 up; + uint16 mss; + uint8 wsopt; + uint32 tsval; + uint32 tsecr; + struct { + unsigned int congest:1; + unsigned int urg:1; + unsigned int ack:1; + unsigned int psh:1; + unsigned int rst:1; + unsigned int syn:1; + unsigned int fin:1; + unsigned int mss:1; + unsigned int wscale:1; + unsigned int tstamp:1; + } flags; + + + + + + + + + + char optlen; + char options[40 ]; + +}; + + + + + + + + + + + +struct reseq { + struct reseq *next; + struct tcp seg; + struct mbuf *bp; + uint16 length; + char tos; +}; + +enum tcp_state { + TCP_CLOSED=1, + TCP_LISTEN, + TCP_SYN_SENT, + TCP_SYN_RECEIVED, + TCP_ESTABLISHED, + TCP_FINWAIT1, + TCP_FINWAIT2, + TCP_CLOSE_WAIT, + TCP_LAST_ACK, + TCP_CLOSING, + TCP_TIME_WAIT +}; + + +struct tcb { + struct tcb *next; + + struct connection conn; + + enum tcp_state state; + + char reason; + + + + + + + uint8 type; + uint8 code; + + + struct { + int32 una; + int32 nxt; + int32 ptr; + int32 wl1; + int32 wl2; + int32 wnd; + uint16 up; + uint8 wind_scale; + } snd; + int32 iss; + int32 resent; + int32 cwind; + int32 ssthresh; + int dupacks; + + + struct { + int32 nxt; + int32 wnd; + uint16 up; + uint8 wind_scale; + } rcv; + int32 last_ack_sent; + int32 ts_recent; + + int32 irs; + int32 rerecv; + int32 mss; + + int32 window; + int32 limit; + + void (*r_upcall)(struct tcb *tcb,int32 cnt); + + void (*t_upcall)(struct tcb *tcb,int32 cnt); + + void (*s_upcall)(struct tcb *tcb,int old,int new); + + struct { + unsigned int force:1; + unsigned int clone:1; + unsigned int retran:1; + unsigned int active:1; + unsigned int synack:1; + unsigned int rtt_run:1; + unsigned int congest:1; + int ts_ok:1; + int ws_ok:1; + } flags; + char tos; + int backoff; + + struct mbuf *rcvq; + struct mbuf *sndq; + int32 rcvcnt; + int32 sndcnt; + + + + + struct reseq *reseq; + struct timer timer; + int32 rtt_time; + int32 rttseq; + int32 rttack; + int32 srtt; + int32 mdev; + int32 rtt; + + int user; + + + int32 quench; + int32 unreach; + int32 timeouts; + int32 lastack; + int32 txbw; + int32 lastrx; + int32 rxbw; +}; + +struct tcp_rtt { + int32 addr; + int32 srtt; + int32 mdev; +}; +extern struct tcp_rtt Tcp_rtt[]; +extern int (*Kicklist[])(); + + +struct tcp_stat { + uint16 runt; + uint16 checksum; + uint16 conout; + uint16 conin; + uint16 resets; + uint16 bdcsts; +}; +extern struct mib_entry Tcp_mib[]; + + + + + + + + + + + + + + + + +extern struct tcb *Tcbs; +extern char *Tcpstates[]; +extern char *Tcpreasons[]; + + +extern int Tcp_tstamps; +extern int32 Tcp_irtt; +extern uint16 Tcp_limit; +extern uint16 Tcp_mss; +extern int Tcp_syndata; +extern int Tcp_trace; +extern uint16 Tcp_window; + +void st_tcp(struct tcb *tcb); + + +void htontcp(struct tcp *tcph,struct mbuf **data, + int32 ipsrc,int32 ipdest); +int ntohtcp(struct tcp *tcph,struct mbuf **bpp); + + +void reset(struct ip *ip,struct tcp *seg); +void send_syn(struct tcb *tcb); +void tcp_input(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast,int32 said); +void tcp_icmp(int32 icsource,int32 source,int32 dest, + uint8 type,uint8 code,struct mbuf **bpp); + + +void close_self(struct tcb *tcb,int reason); +struct tcb *create_tcb(struct connection *conn); +struct tcb *lookup_tcb(struct connection *conn); +void rtt_add(int32 addr,int32 rtt); +struct tcp_rtt *rtt_get(int32 addr); +int seq_ge(int32 x,int32 y); +int seq_gt(int32 x,int32 y); +int seq_le(int32 x,int32 y); +int seq_lt(int32 x,int32 y); +int seq_within(int32 x,int32 low,int32 high); +void settcpstate(struct tcb *tcb,enum tcp_state newstate); +void tcp_garbage(int red); + + +void tcp_output(struct tcb *tcb); + + +int32 backoff(int n); +void tcp_timeout(void *p); + + +int close_tcp(struct tcb *tcb); +int del_tcp(struct tcb *tcb); +int kick(int32 addr); +int kick_tcp(struct tcb *tcb); +struct tcb *open_tcp(struct socket *lsocket,struct socket *fsocket, + int mode,uint16 window, + void (*r_upcall)(struct tcb *tcb,int32 cnt), + void (*t_upcall)(struct tcb *tcb,int32 cnt), + void (*s_upcall)(struct tcb *tcb,int old,int new), + int tos,int user); +int32 recv_tcp(struct tcb *tcb,struct mbuf **bpp,int32 cnt); +void reset_all(void); +void reset_tcp(struct tcb *tcb); +long send_tcp(struct tcb *tcb,struct mbuf **bpp); +char *tcp_port(uint16 n); +int tcpval(struct tcb *tcb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern struct mib_entry Udp_mib[]; + + + + + + + + + +struct udp { + uint16 source; + uint16 dest; + uint16 length; + uint16 checksum; +}; + + + + + + +struct udp_cb { + struct udp_cb *next; + struct socket socket; + void (*r_upcall)(struct iface *iface,struct udp_cb *,int); + + struct mbuf *rcvq; + int rcvcnt; + int user; +}; +extern struct udp_cb *Udps; + + + + +int del_udp(struct udp_cb *up); +struct udp_cb *open_udp(struct socket *lsocket, + void (*r_upcall)(struct iface *iface,struct udp_cb *,int)); +int recv_udp(struct udp_cb *up,struct socket *fsocket,struct mbuf **bp); +int send_udp(struct socket *lsocket,struct socket *fsocket,char tos, + char ttl,struct mbuf **data,uint16 length,uint16 id,char df); +void udp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +void udp_garbage(int drastic); + + + + + + + + + + +int st_udp(struct udp_cb *udp,int n); + + +void htonudp(struct udp *udp,struct mbuf **data,struct pseudo_header *ph); +int ntohudp(struct udp *udp,struct mbuf **bpp); +uint16 udpcksum(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct ax25_cb { + struct ax25_cb *next; + + struct iface *iface; + + struct mbuf *txq; + struct mbuf *rxasm; + struct mbuf *rxq; + + uint8 local[7 ]; + uint8 remote[7 ]; + + struct { + unsigned int rejsent:1; + unsigned int remotebusy:1; + unsigned int rtt_run:1; + unsigned int retrans:1; + unsigned int clone:1; + } flags; + + uint8 reason; + + + + + uint8 response; + uint8 vs; + uint8 vr; + uint8 unack; + int maxframe; + uint16 paclen; + uint16 window; + enum { + V1=1, + V2 + } proto; + uint16 pthresh; + unsigned retries; + unsigned n2; + enum { + LAPB_DISCONNECTED=1, + LAPB_LISTEN, + LAPB_SETUP, + LAPB_DISCPENDING, + LAPB_CONNECTED, + LAPB_RECOVERY + } state; + struct timer t1; + struct timer t3; + int32 rtt_time; + int rtt_seq; + int32 srt; + int32 mdev; + + void (*r_upcall)(struct ax25_cb *,int); + void (*t_upcall)(struct ax25_cb *,int); + void (*s_upcall)(struct ax25_cb *,int,int); + + int user; + + int segremain; +}; + +struct axlink { + int pid; + void (*funct)(struct iface *,struct ax25_cb *,uint8 *, uint8 *, + struct mbuf **,int); +}; +extern struct axlink Axlink[]; + + + + + + +extern struct ax25_cb Ax25default,*Ax25_cb; +extern char *Ax25states[],*Axreasons[]; +extern int32 Axirtt,T3init,Blimit; +extern uint16 N2,Maxframe,Paclen,Pthresh,Axwindow,Axversion; + + +void st_ax25(struct ax25_cb *axp); + + +struct ax25_cb *cr_ax25(uint8 *addr); +void del_ax25(struct ax25_cb *axp); +struct ax25_cb *find_ax25(uint8 *); + + +int ax25val(struct ax25_cb *axp); +int disc_ax25(struct ax25_cb *axp); +int kick_ax25(struct ax25_cb *axp); +struct ax25_cb *open_ax25(struct iface *,uint8 *,uint8 *, + int,uint16, + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int,int), + int user); +struct mbuf *recv_ax25(struct ax25_cb *axp,uint16 cnt); +int reset_ax25(struct ax25_cb *axp); +int send_ax25(struct ax25_cb *axp,struct mbuf **bp,int pid); + + +void est_link(struct ax25_cb *axp); +void lapbstate(struct ax25_cb *axp,int s); +int lapb_input(struct ax25_cb *axp,int cmdrsp,struct mbuf **bp); +int lapb_output(struct ax25_cb *axp); +struct mbuf *segmenter(struct mbuf **bp,uint16 ssize); +int sendctl(struct ax25_cb *axp,int cmdrsp,int cmd); +int sendframe(struct ax25_cb *axp,int cmdrsp,int ctl,struct mbuf **data); +void axnl3(struct iface *iface,struct ax25_cb *axp,uint8 *src, + uint8 *dest,struct mbuf **bp,int mcast); + + +void pollthem(void *p); +void recover(void *p); + + +uint16 ftype(int control); +void lapb_garbage(int drastic); + + +void s_arcall(struct ax25_cb *axp,int cnt); +void s_ascall(struct ax25_cb *axp,int old,int new); +void s_atcall(struct ax25_cb *axp,int cnt); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct nr4hdr { + uint8 opcode ; + uint8 yourindex ; + uint8 yourid ; + + union { + + struct { + uint8 family ; + uint8 proto ; + } pid ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + uint8 user[7 ] ; + uint8 node[7 ] ; + } conreq ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + } conack ; + + struct { + uint8 txseq ; + uint8 rxseq ; + } info ; + + struct { + uint8 rxseq ; + } ack ; + + } u ; + +} ; + + + +struct nr4txbuf { + struct timer tretry ; + unsigned retries ; + struct mbuf *data ; +} ; + + + +struct nr4rxbuf { + uint8 occupied ; + struct mbuf *data ; +} ; + + +struct nr4_addr { + uint8 user[7 ]; + uint8 node[7 ]; +}; + +struct sockaddr_nr { + short nr_family; + struct nr4_addr nr_addr; +}; + + + +struct nr4cb { + unsigned mynum ; + unsigned myid ; + unsigned yournum ; + unsigned yourid ; + struct nr4_addr remote ; + struct nr4_addr local ; + + unsigned window ; + + + + long srtt ; + long mdev ; + unsigned blevel ; + unsigned txmax ; + + + + + + + + char clone ; + char choked ; + char qfull ; + + char naksent ; + + + + struct nr4txbuf *txbufs ; + uint8 nextosend ; + uint8 ackxpected ; + unsigned nbuffered ; + struct mbuf *txq ; + + + + struct nr4rxbuf *rxbufs ; + uint8 rxpected ; + uint8 rxpastwin ; + struct mbuf *rxq ; + + + + int state ; + + + + + + + int dreason ; + + + + + + + + + struct timer tchoke ; + struct timer tack ; + + struct timer tcd ; + unsigned cdtries ; + + void (*r_upcall)(struct nr4cb *,uint16); + + void (*t_upcall)(struct nr4cb *,uint16); + + void (*s_upcall)(struct nr4cb *,int,int); + + int user ; +} ; + + + +struct nr4circp { + uint8 cid ; + + struct nr4cb *ccb ; + +} ; + + + +extern struct nr4circp Nr4circuits[20 ] ; + + + +extern unsigned short Nr4window ; +extern long Nr4irtt ; +extern unsigned short Nr4retries ; +extern long Nr4acktime ; +extern char *Nr4states[] ; +extern char *Nr4reasons[] ; +extern unsigned short Nr4qlimit ; +extern long Nr4choketime ; +extern uint8 Nr4user[7 ]; + + + + +int ntohnr4(struct nr4hdr *, struct mbuf **); +struct mbuf *htonnr4(struct nr4hdr *); + + +void free_n4circ(struct nr4cb *); +struct nr4cb *get_n4circ(int, int); +int init_nr4window(struct nr4cb *, unsigned); +int nr4between(unsigned, unsigned, unsigned); +struct nr4cb *match_n4circ(int, int,uint8 *,uint8 *); +struct nr4cb *new_n4circ(void); +void nr4defaults(struct nr4cb *); +int nr4valcb(struct nr4cb *); +void nr_garbage(int red); + + +void nr4input(struct nr4hdr *hdr,struct mbuf **bp); +int nr4output(struct nr4cb *); +void nr4sbuf(struct nr4cb *, unsigned); +void nr4sframe(uint8 *, struct nr4hdr *, struct mbuf **); +void nr4state(struct nr4cb *, int); + + +void nr4ackit(void *); +void nr4cdtimeout(void *); +void nr4txtimeout(void *); +void nr4unchoke(void *); + + +void disc_nr4(struct nr4cb *); +int kick_nr4(struct nr4cb *); +struct nr4cb *open_nr4(struct nr4_addr *, struct nr4_addr *, int, + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,int,int),int); +struct mbuf *recv_nr4(struct nr4cb *, uint16); +void reset_nr4(struct nr4cb *); +int send_nr4(struct nr4cb *, struct mbuf **); + + +void nr4_state(struct nr4cb *, int, int); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct nr3hdr { + uint8 source[7 ] ; + uint8 dest[7 ] ; + unsigned ttl ; +} ; + + + +struct nr3dest { + uint8 dest[7 ] ; + char alias[7 ] ; + uint8 neighbor[7 ] ; + unsigned quality ; +} ; + + + +struct nriface { + struct iface *iface ; + char alias[7 ] ; + + unsigned quality ; +} ; + + +struct nrnbr_tab { + struct nrnbr_tab *next ; + struct nrnbr_tab *prev ; + uint8 call[7 ] ; + unsigned iface ; + + unsigned refcnt ; +} ; + + + + + + +struct nr_bind { + struct nr_bind *next ; + struct nr_bind *prev ; + unsigned quality ; + unsigned obsocnt ; + unsigned flags ; + + + struct nrnbr_tab *via ; +} ; + + + +struct nrroute_tab { + struct nrroute_tab *next ; + struct nrroute_tab *prev ; + char alias[7 ] ; + uint8 call[7 ] ; + unsigned num_routes ; + struct nr_bind *routes ; + +} ; + + +struct nrnf_tab { + struct nrnf_tab *next ; + struct nrnf_tab *prev ; + uint8 neighbor[7 ] ; + unsigned iface ; +} ; + + +struct raw_nr { + struct raw_nr *prev; + struct raw_nr *next; + + struct mbuf *rcvq; + uint8 protocol; +}; + + +extern struct nriface Nrifaces[10 ] ; + + +extern unsigned Nr_numiface ; + + +extern struct nrnbr_tab *Nrnbr_tab[17 ] ; + + +extern struct nrroute_tab *Nrroute_tab[17 ] ; + + +extern struct nrnf_tab *Nrnf_tab[17 ] ; + +extern uint8 Nr_nodebc[7 ]; + + + + + + + +extern unsigned Nr_nfmode ; + + +extern unsigned short Nr_ttl ; + + +extern unsigned Obso_init ; + + +extern unsigned Obso_minbc ; + + + +extern unsigned Nr_autofloor ; + + + + +extern int Nr_verbose ; + + + + + +extern unsigned Nr_maxroutes ; + + +extern struct iface *Nr_iface ; + + + + +void del_rnr(struct raw_nr *rpp); +uint8 *find_nralias(char *); +struct nrroute_tab *find_nrroute(uint8 *); +void nr_bcnodes(unsigned ifno); +void nr_nodercv(struct iface *iface,uint8 *source,struct mbuf **bpp); +int nr_nfadd(uint8 *, unsigned); +int nr_nfdrop(uint8 *, unsigned); +void nr_route(struct mbuf **bp,struct ax25_cb *iaxp); +int nr_routeadd(char *, uint8 *, unsigned, + unsigned, uint8 *, unsigned, unsigned); +int nr_routedrop(uint8 *, uint8 *, unsigned); +int nr_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +void nr_sendraw(uint8 *dest,unsigned family,unsigned proto, + struct mbuf **data); +void nr3output(uint8 *dest,struct mbuf **data); +uint16 nrhash(uint8 *s); +struct raw_nr *raw_nr(uint8); + + +void donrdump(struct nr4cb *cb); +int doroutedump(void); +int dorouteinfo(int argc,char *argv[],void *p); +int putalias(char *to, char *from,int complain); + + +struct mbuf *htonnr3(struct nr3hdr *); +struct mbuf *htonnrdest(struct nr3dest *); +int ntohnr3(struct nr3hdr *, struct mbuf **); +int ntohnrdest(struct nr3dest *ds,struct mbuf **bpp); + + + + + + + + +struct loc { + struct usock *peer; + struct mbuf *q; + int hiwat; + int flags; + +}; + + + + +union sp { + struct sockaddr *sa; + struct sockaddr_in *in; + struct sockaddr_ax *ax; + struct sockaddr_nr *nr; +}; +struct socklink { + int type; + int (*socket)(struct usock *,int); + int (*bind)(struct usock *); + int (*listen)(struct usock *,int); + int (*connect)(struct usock *); + int accept; + int (*recv)(struct usock *,struct mbuf **,struct sockaddr *,int *); + int (*send)(struct usock *,struct mbuf **,struct sockaddr *); + int (*qlen)(struct usock *,int); + int (*kick)(struct usock *); + int (*shut)(struct usock *,int); + int (*close)(struct usock *); + int (*check)(struct sockaddr *,int); + char **error; + char *(*state)(struct usock *); + int (*status)(struct usock *); + char *eol; +}; +extern struct socklink Socklink[]; +union cb { + struct tcb *tcb; + struct ax25_cb *ax25; + struct udp_cb *udp; + struct raw_ip *rip; + struct raw_nr *rnr; + struct nr4cb *nr4; + struct loc *local; + void *p; +}; + +struct usock { + unsigned strchr; + struct proc *owner; + int refcnt; + char noblock; + enum { + NOTUSED, + TYPE_TCP, + TYPE_UDP, + TYPE_AX25I, + TYPE_AX25UI, + TYPE_RAW, + TYPE_NETROML3, + TYPE_NETROML4, + TYPE_LOCAL_STREAM, + TYPE_LOCAL_DGRAM + } type; + struct socklink *sp; + int rdysock; + union cb cb; + struct sockaddr *name; + int namelen; + struct sockaddr *peername; + int peernamelen; + uint8 errcodes[4]; + uint8 tos; + int flag; +}; +extern char *(*Psock[])(struct sockaddr *); +extern char Badsocket[]; +extern char *Socktypes[]; +extern struct usock **Usock; +extern unsigned Nsock; +extern uint16 Lport; + +struct usock *itop(int s); +void st_garbage(int red); + + +int so_ax_sock(struct usock *up,int protocol); +int so_ax_bind(struct usock *up); +int so_ax_listen(struct usock *up,int backlog); +int so_ax_conn(struct usock *up); +int so_ax_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_ax_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_ax_qlen(struct usock *up,int rtx); +int so_ax_kick(struct usock *up); +int so_ax_shut(struct usock *up,int how); +int so_ax_close(struct usock *up); +int checkaxaddr(struct sockaddr *name,int namelen); +int so_axui_sock(struct usock *up,int protocol); +int so_axui_bind(struct usock *up); +int so_axui_conn(struct usock *up); +int so_axui_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_axui_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_axui_qlen(struct usock *up,int rtx); +int so_axui_shut(struct usock *up,int how); +int so_axui_close(struct usock *up); +char *axpsocket(struct sockaddr *p); +char *axstate(struct usock *up); +int so_ax_stat(struct usock *up); + + + +int so_ip_sock(struct usock *up,int protocol); +int so_ip_conn(struct usock *up); +int so_ip_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_ip_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_ip_qlen(struct usock *up,int rtx); +int so_ip_close(struct usock *up); +int checkipaddr(struct sockaddr *name,int namelen); +char *ippsocket(struct sockaddr *p); + + +int so_los(struct usock *up,int protocol); +int so_lod(struct usock *up,int protocol); +int so_lo_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_los_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_lod_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_lod_qlen(struct usock *up,int rtx); +int so_los_qlen(struct usock *up,int rtx); +int so_loc_shut(struct usock *up,int how); +int so_loc_close(struct usock *up); +char *lopsocket(struct sockaddr *p); +int so_loc_stat(struct usock *up); + + +int so_n3_sock(struct usock *up,int protocol); +int so_n4_sock(struct usock *up,int protocol); +int so_n4_listen(struct usock *up,int backlog); +int so_n3_conn(struct usock *up); +int so_n4_conn(struct usock *up); +int so_n3_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_n4_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_n3_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_n4_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_n3_qlen(struct usock *up,int rtx); +int so_n4_qlen(struct usock *up,int rtx); +int so_n4_kick(struct usock *up); +int so_n4_shut(struct usock *up,int how); +int so_n3_close(struct usock *up); +int so_n4_close(struct usock *up); +int checknraddr(struct sockaddr *name,int namelen); +char *nrpsocket(struct sockaddr *p); +char *nrstate(struct usock *up); +int so_n4_stat(struct usock *up); + + +int so_tcp(struct usock *up,int protocol); +int so_tcp_listen(struct usock *up,int backlog); +int so_tcp_conn(struct usock *up); +int so_tcp_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_tcp_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_tcp_qlen(struct usock *up,int rtx); +int so_tcp_kick(struct usock *up); +int so_tcp_shut(struct usock *up,int how); +int so_tcp_close(struct usock *up); +char *tcpstate(struct usock *up); +int so_tcp_stat(struct usock *up); + + +int so_udp(struct usock *up,int protocol); +int so_udp_bind(struct usock *up); +int so_udp_conn(struct usock *up); +int so_udp_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_udp_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_udp_qlen(struct usock *up,int rtx); +int so_udp_shut(struct usock *up,int how); +int so_udp_close(struct usock *up); +int so_udp_stat(struct usock *up); + + + + + + + + + + + + + + + + + + + + +struct list { + struct list *next; + char *val; + char type; +}; + + +struct smtpsv { + FILE *network; + char *system; + char *from; + struct list *to; + FILE *data; +}; + + +struct smtp_job { + struct smtp_job *next; + char jobname[9]; + char *from; + struct list *to; +}; + + +struct smtpcli { + FILE *network; + int32 ipdest; + char *destname; + char *wname; + char *tname; + char buf[256]; + char cnt; + FILE *tfile; + struct smtp_job *jobq; + struct list *errlog; + int lock; +}; + + + + +extern int Smtpmode; +extern char *Mailspool; +extern char *Maillog; +extern char *Mailqdir; +extern char *Routeqdir; +extern char *Mailqueue; +extern char *Maillock; +extern char *Alias; + + + +char *ptime(time_t *t); + + + +long get_msgid(void); +char *getname(char *cp); +int validate_address(char *s); +int queuejob(FILE *dfile,char *host,struct list *to,char *from); +struct list *addlist(struct list **head,char *val,int type); +int mdaemon(FILE *data,char *to,struct list *lp,int bounce); + + +int smtptick(int32 target); +int mlock(char *dir,char *id); +int rmlock(char *dir,char *id); +void del_list(struct list *lp); +int32 mailroute(char *dest); + + + + + + + + + + + + + + + + + + + + + + +extern char *Startup; +extern char *Userfile; +extern char *Maillog; +extern char *Mailspool; +extern char *Mailqdir; +extern char *Mailqueue; +extern char *Routeqdir; +extern char *Alias; +extern char *Dfile; +extern char *Fdir; +extern char *Arealist; +extern char *Helpdir; +extern char *Rewritefile; +extern char *Newsdir; +extern char *Popusers; +extern char *Signature; +extern char *Forwardfile; +extern char *Historyfile; + +void initroot(char *root); +char *rootdircat(char *filename); +int userlogin(char *name,char *pass,char **path,int len,int *pwdignore); +char *userlookup(char *username, char **password, char **directory, + int *permission, int32 *ip_address); +void usercvt(void); + + + + + + + + + + + + + + +void logmsg(int s, _char *fmt, ...); + + + + + + +struct nntpservers { + struct timer nntpcli_t; + char *name; + char *groups; + int lowtime, hightime; + struct nntpservers *next; +}; + + + +static struct grouploc { + char *prefix; + char *directory; + } groupdirs[10] = { 0, 0 }; + +struct nntpservers *Nntpservers = 0; +static char *Nntpgroups = 0; +static unsigned short nntptrace = 1; + +static char *validchars = "abcdefghijklmnopqrstuvwxyz0123456789-_"; + +static void nntptick(void *tp); +static void nntp_job(int i1,void *tp,void *v1); +static int gettxt(FILE *network,FILE *fp); +static int getreply(FILE *network); +static int getarticle(FILE *network,char *msgid); +static int dogroups(int argc,char *argv[],void *p); +static int doadds(int argc,char *argv[],void *p); +static int dodrops(int argc,char *argv[],void *p); +static int dokicks(int argc,char *argv[],void *p); +static int dolists(int argc,char *argv[],void *p); +static int donntrace(int argc,char *argv[],void *p); +static int dondir(int argc,char *argv[],void *p); + + + + + + + + + +static struct cmds Nntpcmds[] = { + N_("addserver"), doadds, 0, 3, + N_("nntp addserver "), + N_("directory"), dondir, 0, 0, 0, + N_("dropserver"), dodrops, 0, 2, + N_("nntp dropserver "), + N_("groups"), dogroups, 0, 0, 0, + N_("kick"), dokicks, 0, 2, + N_("nntp kick "), + N_("listservers"), dolists, 0, 0, 0, + N_("trace"), donntrace, 0, 0, 0, + 0, +}; + +int +donntp(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return subcmd(Nntpcmds,argc,argv,p); +} + +static int +doadds(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct nntpservers *np; + for(np = Nntpservers; np != 0; np = np->next) + if(stricmp(np->name,argv[1]) == 0) + break; + if (np == 0) { + np = (struct nntpservers *) callocw(1,sizeof(struct nntpservers)); + np->name = strdupw(argv[1]); + np->next = Nntpservers; + Nntpservers = np; + np->groups = 0; + np->lowtime = np->hightime = -1; + np->nntpcli_t.func = nntptick; + np->nntpcli_t.arg = (void *)np; + } + if (argc > 3) { + int i; + if (np->groups == 0) { + np->groups = mallocw(512); + *np->groups = '\0'; + } + for (i = 3; i < argc; ++i) { + if ((!!((__ctype[(unsigned char)(*argv[i])])&0x08 ))) { + int lh, ll, hh, hl; + sscanf(argv[i], "%d:%d-%d:%d", &lh, &ll, &hh, &hl); + np->lowtime = lh * 100 + ll; + np->hightime = hh * 100 + hl; + } else if ((strlen(np->groups)+strlen(argv[i])+2) >= 512) + _printf(_("Group list too long! Group '%s' ignored!\n"), argv[i]); + else { + if (*np->groups != '\0') + strcat(np->groups, ","); + strcat(np->groups, argv[i]); + } + } + if (*np->groups == '\0') { + free(np->groups); + np->groups = 0; + } + } + + set_timer(&np->nntpcli_t,atol(argv[2])*1000L); + start_timer(&np->nntpcli_t); + return 0; +} + +static int +dodrops(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct nntpservers *np, *npprev = 0; + for(np = Nntpservers; np != 0; npprev = np, np = np->next) + if(stricmp(np->name,argv[1]) == 0) { + stop_timer(&np->nntpcli_t); + free(np->name); + if (np->groups) + free(np->groups); + if(npprev != 0) + npprev->next = np->next; + else + Nntpservers = np->next; + free(np); + return 0; + } + _printf(_("No such server enabled.\n")); + return 0; +} + +static int +dolists(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct nntpservers *np; + for(np = Nntpservers; np != 0; np = np->next) { + char tbuf[80]; + if (np->lowtime != -1 && np->hightime != -1) + sprintf(tbuf, " -- %02d:%02d-%02d:%02d", np->lowtime/100, np->lowtime%100, np->hightime/100, np->hightime%100); + else + tbuf[0] = '\0'; + _printf(_("%-32s (%lu/%lu%s) %s\n"), np->name, + read_timer(&np->nntpcli_t) /1000L, + ((&np->nntpcli_t)->duration*55 ) /1000L, + tbuf, np->groups ? np->groups : ""); + } + return 0; +} + +static int donntrace(argc, argv, p) +int argc; +char *argv[]; +void *p; +{ + return setshort(&nntptrace, _("NNTP tracing"), argc, argv); +} + +static char *News_spool = 0; +static int np_all = 0; + +static int dondir(argc, argv, p) +int argc; +char *argv[]; +void *p; +{ + if (argc < 2) { + int i; + _printf(_("spool: %s\n"), News_spool ? News_spool : Mailspool); + _printf(_("control: %s\n"), Newsdir); + for (i = 0; i < 10; ++i) + if (groupdirs[i].prefix) + _printf(_("%-10.10s %s\n"), groupdirs[i].prefix, groupdirs[i].directory); + } else { + char *p; + if ((p = strchr(argv[1], '=')) != 0) { + int i; + *p++ = '\0'; + for (i = 0; i < 10; ++i) + if (groupdirs[i].prefix) + if (!strnicmp(groupdirs[i].prefix, argv[1], strlen(argv[1]))) { + if (groupdirs[i].directory) { + free(groupdirs[i].directory); + groupdirs[i].directory = 0; + } + if (*p == '\0') { + free(groupdirs[i].prefix); + groupdirs[i].prefix = 0; + } else + groupdirs[i].directory = strdupw(p); + return 0; + } + if (*p == '\0') + return 0; + for (i = 0; i < 10; ++i){ + if (groupdirs[i].prefix == 0) { + groupdirs[i].prefix = strdupw(argv[1]); + if (groupdirs[i].directory) { + free(groupdirs[i].directory); + groupdirs[i].directory = 0; + } + groupdirs[i].directory = strdupw(p); + return 0; + } + } + _printf(_("Directory table full\n")); + } + else { + if (News_spool) + free(News_spool); + News_spool = strdupw(argv[1]); + } + if (argc > 2) { + if (np_all) + free(Newsdir); + Newsdir = strdupw(argv[2]); + np_all = 1; + } + } + return 0; +} + +static int +dokicks(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct nntpservers *np; + for(np = Nntpservers; np != 0; np = np->next) + if(stricmp(np->name,argv[1]) == 0) { + + + + if(((&np->nntpcli_t)->state == 1)) { + stop_timer(&np->nntpcli_t); + nntptick((void *)np); + } + return 0; + } + _printf(_("No such server enabled.\n")); + return 0; +} + +static int +dogroups(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + int i; + if(argc < 2) { + if(Nntpgroups == 0 || (Nntpgroups != 0 && strcmp(Nntpgroups,"*") == 0)) + _printf(_("All groups are currently enabled.\n")); + else + _printf(_("Currently enabled newsgroups:\n%s\n"),Nntpgroups); + return 0; + } + if(Nntpgroups == 0) + Nntpgroups = mallocw(512); + *Nntpgroups = '\0'; + for(i=1; i < argc; ++i) { + if(i > 1) + strcat(Nntpgroups,","); + strcat(Nntpgroups,argv[i]); + } + return 0; +} + + + + +static void +nntptick(tp) +void *tp; +{ + newproc("NNTP client", 3072, nntp_job, 0, tp, 0,0); +} + +static void +nntp_job(i1,tp,v1) +int i1; +void *tp, *v1; +{ + FILE *fp, *tmpf; + int s = -1, i; + FILE *network; + + struct tm *ltm; + time_t t; + int now; + struct nntpservers *np = (struct nntpservers *) tp; + struct sockaddr_in fsocket; + char tbuf[512], buf[512], *cp, *lastdate = 0; + if (nntptrace >= 3) + _printf(_("NNTP daemon entered, target = %s\n"),np->name); + if(availmem() != 0){ + if (nntptrace >= 2) + _printf(_("NNTP daemon quit -- low memory\n")); + + start_timer(&np->nntpcli_t); + return; + } + + time(&t); + ltm = localtime(&t); + now = ltm->tm_hour * 100 + ltm->tm_min; + if (np->lowtime < np->hightime) { + if (now < np->lowtime || now >= np->hightime) { + if (nntptrace >= 3) + _printf(_("NNTP window to '%s' not open\n"), np->name); + start_timer(&np->nntpcli_t); + return; + } + } else { + if (now < np->lowtime && now >= np->hightime) { + if (nntptrace >= 3) + _printf(_("NNTP window to '%s' not open\n"), np->name); + start_timer(&np->nntpcli_t); + return; + } + } + + fsocket.sin_addr.s_addr = resolve(np->name); + if(fsocket.sin_addr.s_addr == 0) { + if (nntptrace >= 2) + _printf(_("NNTP can't resolve host '%s'\n"), np->name); + + start_timer(&np->nntpcli_t); + return; + } + fsocket.sin_family = 0; + fsocket.sin_port = 119 ; + + s = socket(0,0,0); + if(connect(s,(struct sockaddr *)&fsocket,(sizeof(struct sockaddr))) == -1){ + cp = sockerr(s); + logmsg(s, _("NNTP %s Connect failed: %s"),psocket(&fsocket), + cp != 0 ? cp : ""); + if (nntptrace >= 2) + _printf(_("NNTP %s Connect failed: %s\n"),psocket(&fsocket), + cp != 0 ? cp : ""); + goto quit; + } + network = fdopen(s,"r+t"); + + + i = getreply(network); + if(i == -1 || i >= 400) { + logmsg(((network) != 0 ? (network)->fd : -1), _("NNTP %s bad reply on banner (response was %d)"), psocket(&fsocket),i); + if (nntptrace >= 1) + _printf(_("NNTP %s bad reply on banner (response was %d)\n"),psocket(&fsocket),i); + goto quit; + } + + if (mlock(Newsdir, "nntp")) { + if (nntptrace >= 2) + _printf(_("NNTP %s Connect failed: cannot lock nntp.dat\n"), psocket(&fsocket)); + goto quit; + } + sprintf(buf,"%s/nntp.dat",Newsdir); + if((fp = (freopen((buf),("at+" ),0))) == 0) { + logmsg(((network) != 0 ? (network)->fd : -1), _("NNTP %s Connect failed: Cannot open %s"), psocket(&fsocket), + buf); + if (nntptrace >= 1) + _printf(_("NNTP %s Connect failed: Cannot open %s\n"),psocket(&fsocket), buf); + rmlock(Newsdir, "nntp"); + goto quit; + } + ((void)fseek((fp),0L,0),(((fp))->flags.eof = ((fp))->flags.err = 0)); + + for(; fgets(buf,512,fp) != 0;) { + if((cp = strchr(buf,' ')) == 0) + continue; + *cp = '\0'; + if(stricmp(buf,np->name) == 0) { + rip(cp+1); + lastdate = strdupw(cp+1); + break; + } + } + fclose(fp); + rmlock(Newsdir, "nntp"); + + if(lastdate == 0) + lastdate = strdupw("700101 000000"); + + time(&t); + ltm = localtime(&t); + + + if (np->groups) { + if (nntptrace >= 3) + _printf(_("==>NEWNEWS %s %s\n"), np->groups, lastdate); + _fprintf(network, _("NEWNEWS %s %s\n"), np->groups, lastdate); + } else { + if (nntptrace >= 3) + _printf(_("==>NEWNEWS %s %s\n"), Nntpgroups != 0 ? Nntpgroups : "*", lastdate); + _fprintf(network, _("NEWNEWS %s %s\n"),Nntpgroups != 0 ? Nntpgroups : "*", lastdate); + } + free(lastdate); + + if((i = getreply(network)) != 230) { + logmsg(((network) != 0 ? (network)->fd : -1), _("NNTP %s protocol error (response was %d)"), psocket(&fsocket),i); + if (nntptrace >= 1) + _printf(_("NNTP %s protocol error (response was %d)\n"),psocket(&fsocket),i); + goto quit; + } + if((tmpf = tmpfile()) == 0) { + if (nntptrace >= 1) + _printf(_("NNTP %s Cannot open temp file\n"), psocket(&fsocket)); + goto quit; + } + if(gettxt(network,tmpf) == -1) { + logmsg(((network) != 0 ? (network)->fd : -1), _("NNTP %s giving up: gettxt() failure"), psocket(&fsocket)); + if (nntptrace >= 1) + _printf(_("NNTP %s giving up: gettxt() failure\n"),psocket(&fsocket)); + fclose(tmpf); + goto quit; + } + + + if (mlock(Newsdir, "history")) { + if (nntptrace >= 1) + _printf(_("NNTP %s giving up: couldn't lock history file\n"), psocket(&fsocket)); + fclose(tmpf); + goto quit; + } + sprintf(buf,"%s/history",Newsdir); + if((fp = (freopen((buf),("at+" ),0))) == 0) { + logmsg(((network) != 0 ? (network)->fd : -1), _("NNTP %s Connect failed: Cannot open %s"), psocket(&fsocket), buf); + if (nntptrace >= 1) + _printf(_("NNTP %s Connect failed: Cannot open %s\n"),psocket(&fsocket), buf); + fclose(tmpf); + goto quit; + } + + ((void)fseek((tmpf),0L,0),(((tmpf))->flags.eof = ((tmpf))->flags.err = 0)); + while(fgets(tbuf,512,tmpf) != 0) { + i = 0; + ((void)fseek((fp),0L,0),(((fp))->flags.eof = ((fp))->flags.err = 0)); + while(fgets(buf,512,fp) != 0) { + if(stricmp(buf,tbuf) == 0) { + i = 1; + break; + } + kwait(0); + } + if(i == 0) { + if(getarticle(network,tbuf) == -1) { + logmsg(((network) != 0 ? (network)->fd : -1), _("NNTP %s Giving up: could not get article"), psocket(&fsocket)); + if (nntptrace >= 2) + _printf(_("NNTP %s Giving up: could not get article\n"),psocket(&fsocket)); + fclose(fp); + rmlock(Newsdir, "history"); + fclose(tmpf); + goto quit; + } + _fprintf(fp, _("%s"),tbuf); + } + } + fclose(fp); + rmlock(Newsdir, "history"); + fclose(tmpf); + if (nntptrace >= 3) + _printf(_("==>QUIT\n")); + _fprintf(network, _("QUIT\n")); + + getreply(network); + + if (mlock(Newsdir, "nntp")) { + if (nntptrace >= 2) + _printf(_("NNTP %s Could not lock nntp.dat for update\n"), psocket(&fsocket)); + goto quit; + } + sprintf(buf,"%s/nntp.dat",Newsdir); + fp = (freopen((buf),("rt" ),0)); + sprintf(buf, "%s/nntp.tmp",Newsdir); + if ((tmpf = (freopen((buf),( "w+t" ),0))) == 0) + if (nntptrace >= 1) + _printf(_("NNTP %s Cannot create temp file '%s'\n"), psocket(&fsocket), buf); + if (fp == 0 || tmpf == 0) { + logmsg(((network) != 0 ? (network)->fd : -1), _("NNTP %s Could not update %s"), psocket(&fsocket), buf); + if (nntptrace >= 2) + _printf(_("NNTP %s Could not update %s\n"),psocket(&fsocket), buf); + if (fp) + fclose(fp); + if (tmpf) + fclose(tmpf); + rmlock(Newsdir, "nntp"); + goto quit; + } + while (fgets(tbuf, sizeof(tbuf), fp)) + if (strnicmp(tbuf, np->name, strlen(np->name))) + fputs(tbuf, tmpf); + _fprintf(tmpf, _("%s %02d%02d%02d %02d%02d%02d\n"),np->name,ltm->tm_year%100,ltm->tm_mon+1, + ltm->tm_mday,ltm->tm_hour,ltm->tm_min,ltm->tm_sec); + fclose(fp); + fclose(tmpf); + sprintf(buf, "%s/nntp.dat", Newsdir); + sprintf(tbuf, "%s/nntp.tmp", Newsdir); + unlink(buf); + rename(tbuf, buf); + rmlock(Newsdir, "nntp"); +quit: + if (nntptrace >= 3) + _printf(_("NNTP daemon exiting\n")); + fclose(network); + + start_timer(&np->nntpcli_t); + return; +} + +static int +gettxt(network,fp) +FILE *network; +FILE *fp; +{ + char buf[512]; + int nlines; + for (nlines = 0; fgets(buf,512,network) != 0; ++nlines) { + if (nntptrace >= 4) + _printf(_("<==%s"), buf); + if(strcmp(buf,".\n") == 0) { + if (nntptrace >= 3) + _printf(_("NNTP received %d lines\n"), nlines); + return 0; + } + + if(strcmp(buf,"..\n") == 0) + _fputs(_(".\n"),fp); + else + fputs(buf,fp); + } + if (nntptrace >= 1) + _printf(_("NNTP receive error after %d lines\n"), nlines); + return -1; +} + +static int +getreply(network) +FILE *network; +{ + char buf[512]; + int response; + while(fgets(buf,512,network) != 0) { + + if(buf[0] == '\0' || buf[0] == '1') + continue; + sscanf(buf,"%d",&response); + if (nntptrace >= 3) + _printf(_("<==%s\n"), buf); + return response; + } + if (nntptrace >= 3) + _printf(_("==No response\n")); + return -1; +} + +static int +getarticle(network,msgid) +FILE *network; +char *msgid; +{ + char buf[512], froml[512], newgl[512]; + FILE *fp, *tmpf; + int r; + char *cp; + extern int Smtpquiet; + + if (nntptrace >= 3) + _printf(_("==>ARTICLE %s"), msgid); + _fprintf(network, _("ARTICLE %s"), msgid); + r = getreply(network); + if(r == -1 || r >= 500) + return -1; + if(r >= 400) + return 0; + if((tmpf = tmpfile()) == 0) { + if (nntptrace >= 1) + _printf(_("NNTP Cannot open temp file for article\n")); + return -1; + } + if(gettxt(network,tmpf) == -1) { + fclose(tmpf); + return -1; + } + + ((void)fseek((tmpf),0L,0),(((tmpf))->flags.eof = ((tmpf))->flags.err = 0)); + froml[0] = '\0'; + newgl[0] = '\0'; + while(fgets(buf,512,tmpf) != 0) { + if(strncmp(buf,"From: ",6) == 0) { + struct timeb t; + ftime(&t); + rip(&buf[6]); + sprintf(froml,"From %s %ld\n",&buf[6], t.time); + if(newgl[0] != '\0') + break; + } + if(strncmp(buf,"Newsgroups: ",12) == 0) { + strcpy(newgl,&buf[12]); + if(froml[0] != '\0') + break; + } + + if(strcmp(buf,"\n") == 0 && (froml[0] == '\0' || newgl[0] == '\0')) { + + fclose(tmpf); + return 0; + } + } + sprintf(buf,"%s/",News_spool ? News_spool : Mailspool); + for(cp=newgl;;++cp) { + if(*cp == '.') { + + + + mkdir(buf,0755); + + strcat(buf,"/"); + continue; + } + if(*cp == ',' || *cp == '\n') { + char tempdir[80], prefix[20], *p; + strcpy(tempdir, buf); + if ((p = strrchr(tempdir, '/')) != 0) { + *p++ = '\0'; + strcpy(prefix, p); + } + if (mlock(tempdir, prefix)) { + if (nntptrace >= 2) + _printf(_("NNTP group '%s' is locked\n"), buf); + return -1; + } + strcat(buf,".txt"); + + if (nntptrace >= 3) + _printf(_("Writing article to '%s'\n"), buf); + if((fp = (freopen((buf),("at+" ),0))) != 0) { + fputs(froml,fp); + ((void)fseek((tmpf),0L,0),(((tmpf))->flags.eof = ((tmpf))->flags.err = 0)); + while(fgets(buf,512,tmpf) != 0) { + + if(strncmp(buf,"From ",5) == 0) + (fputc(('>'),(fp))); + fputs(buf,fp); + } + (fputc(('\n'),(fp))); + fclose(fp); + } + rmlock(tempdir, prefix); + if (*cp == '\n') + break; + else + sprintf(buf,"%s/",News_spool ? News_spool : Mailspool); + continue; + } + buf[strlen(buf)+1] = '\0'; + buf[strlen(buf)] = strchr(validchars, tolower(*cp)) ? *cp : '_'; + } + fclose(tmpf); + strcpy(buf,msgid); + rip(buf); + rip(newgl); + + + + _printf(_("New news arrived: %s, article %s\n"),newgl,buf); + + return 0; +} diff --git a/src/nos/clients/popcli.i b/src/nos/clients/popcli.i new file mode 100644 index 00000000..21c490be --- /dev/null +++ b/src/nos/clients/popcli.i @@ -0,0 +1,2960 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int ioctl (int fd, int request, ...); +extern int open (const char *name, int flag, ...); + + + + + + + + + + + + + + + + + + + + + + +typedef long clock_t; + + +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +}; + +struct timezone { + int tz_minuteswest; + int tz_dsttime; +}; + + + + +extern char *tzname[2]; +extern int daylight; +extern long timezone; + +extern long clock (void); +extern time_t mktime (struct tm * __tp); +extern long difftime (time_t *__time2, time_t *__time1); + +extern time_t time (time_t *tvec); + +extern void __tm_conv (struct tm *tmbuf, time_t *t, int offset); +extern void __asctime (char *, struct tm *); +extern char *asctime (struct tm * __tp); +extern char *ctime (time_t * __tp); +extern void tzset (void); + +extern struct tm *gmtime (time_t *__tp); +extern struct tm *localtime (time_t * __tp); +extern unsigned long convtime (time_t *time_field); + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + +struct cmds { + _char *name; + int (*func)(int argc,char *argv[],void *p); + + int stksize; + int argcmin; + _char *argc_errmsg; +}; +extern struct cmds Cmds[],Startcmds[],Stopcmds[],Attab[]; + + +int cmdparse(struct cmds cmds[], char *line, void *p); +int subcmd(struct cmds tab[], int argc, char *argv[], void *p); +int setbool(int *var, _char *label, int argc, char *argv[]); +int bit16cmd(uint16 *bits, uint16 mask, _char *label, int argc, char *argv[]); +int setint(int *var, _char *label, int argc, char *argv[]); +int setlong(int32 *var, _char *label, int argc, char *argv[]); +int setshort(unsigned short *var, _char *label, int argc, char *argv[]); +int setuns(unsigned *var, _char *label, int argc, char *argv[]); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + +FILE *dir(char *path,int full); +int filedir(char *name,int times,char *ret_str); +int getdir(char *path,int full,FILE *file); + + +char *pathname(char *cd,char *path); + + + + + + + + + + + + + + + + + + + + + + +extern char *Startup; +extern char *Userfile; +extern char *Maillog; +extern char *Mailspool; +extern char *Mailqdir; +extern char *Mailqueue; +extern char *Routeqdir; +extern char *Alias; +extern char *Dfile; +extern char *Fdir; +extern char *Arealist; +extern char *Helpdir; +extern char *Rewritefile; +extern char *Newsdir; +extern char *Popusers; +extern char *Signature; +extern char *Forwardfile; +extern char *Historyfile; + +void initroot(char *root); +char *rootdircat(char *filename); +int userlogin(char *name,char *pass,char **path,int len,int *pwdignore); +char *userlookup(char *username, char **password, char **directory, + int *permission, int32 *ip_address); +void usercvt(void); + + + + + + + + + + + + + + +void logmsg(int s, _char *fmt, ...); + + + + +extern char Badhost[]; + + + + + +struct pop_ccb { + FILE *network; + char state; + + + + + + char buf[257], + count; + int folder_len; + long msg_len; + int msg_num; +} *ccb; + +static int Popquiet = 0; + +static struct timer popcli_t; +static int32 mailhost; +static char mailbox_name[10], + mailbox_pathname[257], + username[20], + password[20], + Workfile_name[] ="mbox.pop"; + +static int domailbox(int argc,char *argv[],void *p); +static int domailhost(int argc,char *argv[],void *p); +static int douserdata(int argc,char *argv[],void *p); +static int doquiet(int argc,char *argv[],void *p); +static int dotimer(int argc,char *argv[],void *p); +static struct pop_ccb *new_ccb(void); +static void delete_ccb(void); +static void pop_send(int unused,void *cb1,void *p); +static int popkick(int argc,char *argv[],void *p); + + +int poptick(void); + +static struct cmds Popcmds[] = { + N_("mailbox"), domailbox, 0, 0, 0, + N_("mailhost"), domailhost, 0, 0, 0, + N_("kick"), popkick, 0, 0, 0, + N_("quiet"), doquiet, 0, 0, 0, + N_("timer"), dotimer, 0, 0, 0, + N_("userdata"), douserdata, 0, 0, 0, + 0, +}; + + + + +static char ackd_cmd[] = "ACKD\n", + + + + login_cmd[] = "HELO %s %s\n", + + quit_cmd[] = "QUIT\n", + read_cur_cmd[] = "READ\n", + retr_cmd[] = "RETR\n"; + + + +static char *greeting_rsp = "+ POP2 "; + +FILE *fd; + +int +dopop(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return subcmd(Popcmds,argc,argv,p); +} + +static int +domailbox(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + if(argc < 2) { + if(mailbox_name[0] == '\0') + _printf(_("maibox name not set yet\n")); + else + _printf(_("%s\n"),mailbox_name); + } else { + strncpy(mailbox_name,argv[1],10); + } + + return 0; +} + +static int +domailhost(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + int32 n; + + if(argc < 2) { + _printf(_("%s\n"),inet_ntoa(mailhost)); + } else + if((n = resolve(argv[1])) == 0) { + printf(Badhost,argv[1]); + return 1; + } else + mailhost = n; + + return 0; +} + +static int +doquiet(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setbool(&Popquiet, _("POP quiet"), argc, argv); +} + +static int +douserdata(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + if (argc < 2) + _printf(_("%s\n"),username); + else if (argc != 3) { + _printf(_("Usage: pop userdata \n")); + return 1; + } else { + sscanf(argv[1],"%18s",username); + sscanf(argv[2],"%18s",password); + } + + return 0; +} + + + +static int +dotimer(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + if(argc < 2) { + _printf(_("%lu/%lu\n"), + read_timer(&popcli_t) /1000L, + ((&popcli_t)->duration*55 )/ 1000L); + return 0; + } + + popcli_t.func = (void (*)())poptick; + popcli_t.arg = 0; + set_timer(&popcli_t, atol(argv[1])*1000L); + start_timer(&popcli_t); + return 0; +} + +static int +popkick(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + poptick(); + return 0; +} + +int +poptick() +{ + if (ccb == 0) { + + + + if (mailhost == 0) { + _printf(_("mailhost not defined yet.(pop mailhost )\n")); + return 0; + } + + if (mailbox_name[0] == '\0') { + _printf(_("mailbox name not defined yet.(pop mailbox )\n")); + return 0; + } + + if (username[0] == '\0') { + _printf(_("username not defined yet. (pop user )\n")); + return 0; + } + + if (password[0] == '\0') { + _printf(_(" Unknown password\n")); + return 0; + } + + if ((ccb = new_ccb()) == 0) { + _fprintf(Curproc->output, _("*** Unable to allocate CCB")); + return 0; + } + + newproc("Auto-POP Client",1024,pop_send,0,ccb,0,0); + } + + + + start_timer(&popcli_t); + return 0; +} + + + + +static void +pop_send(unused,cb1,p) +int unused; +void *cb1; +void *p; +{ + char *cp; + struct sockaddr_in fsocket; + struct pop_ccb *ccb; + void pop_csm(struct pop_ccb *); + void quit_session(struct pop_ccb *); + int s; + + ccb = (struct pop_ccb *)cb1; + fsocket.sin_family = 0; + fsocket.sin_addr.s_addr = mailhost; + fsocket.sin_port = 109 ; + + s = socket(0,0,0); + + ccb->state = 0; + + if (connect(s,(struct sockaddr *)&fsocket,(sizeof(struct sockaddr))) == 0) { + logmsg(s, _("Connected to mailhost %s"), inet_ntoa(mailhost)); + ccb->network = fdopen(s,"r+t"); + } else { + cp = sockerr(s); + logmsg(s, _("Connect to mailhost %s failed: %s"), inet_ntoa(mailhost), + (cp != 0)? cp: ""); + } + + while(1) { + if (fgets(ccb->buf,257,ccb->network) == 0) + goto quit; + + rip(ccb->buf); + pop_csm(ccb); + if (ccb->state == 10) + goto quit; + } +quit: + logmsg(s, _("Connection closed to mailhost %s"), inet_ntoa(mailhost)); + fclose(ccb->network); + if (fd != 0) + fclose(fd); + delete_ccb(); +} + + + +static void +delete_ccb() +{ + if (ccb == 0) + return; + + free(ccb); + ccb = 0; +} + + + +static struct +pop_ccb *new_ccb() +{ + register struct pop_ccb *ccb; + + if ((ccb = (struct pop_ccb *) callocw(1,sizeof(struct pop_ccb))) == 0) + return(0); + return(ccb); +} + + + +void +pop_csm(ccb) +struct pop_ccb *ccb; +{ + FILE *mf; + + int mlock (char *,char *); + int rmlock (char * ,char *); + void quit_session(struct pop_ccb *); + + + + + switch(ccb->state) { + case 0: + if (strncmp(ccb->buf,greeting_rsp,strlen(greeting_rsp)) == 0) { + fprintf(ccb->network, login_cmd,username,password); + ccb->state = 3; + } else + (void) quit_session(ccb); + break; + + case 3: + + switch (ccb->buf[0]) { + case '#': + if ((fd = (freopen((Workfile_name),("a+"),0))) == 0) { + perror("Unable to open work file"); + quit_session(ccb); + return; + } + + fseek(fd,0,0); + ccb->folder_len = atoi(&(ccb->buf[1])); + fprintf(ccb->network, read_cur_cmd); + ccb->state = 5; + break; + + case '+': + + + + + + + default: + quit_session(ccb); + break; + } + break; + + case 5: + if (ccb->buf[0] == '=') { + ccb->msg_len = atol(&(ccb->buf[1])); + if (ccb->msg_len > 0) { + fprintf(ccb->network, retr_cmd); + + ccb->state = 8; + } else { + logmsg(((ccb->network) != 0 ? (ccb->network)->fd : -1), _("POP client retrieved %d messages"), + ccb->folder_len); + + + + if (mlock(Mailspool,mailbox_name)) { + _printf(_("\n*** Local mailbox locked, new mail in file %s\n"), + Workfile_name); + quit_session(ccb); + return; + } + + sprintf(mailbox_pathname,"%s/%s.txt",Mailspool, + mailbox_name); + if ((mf = (freopen((mailbox_pathname),("a+"),0))) == 0) { + _printf(_("\n*** Unable to open local mailbox, new mail in file %s\n"), + Workfile_name); + quit_session(ccb); + return; + } + + fseek(fd,0,0); + + while (!((fd)->flags.eof)) { + if(fgets(ccb->buf,257,fd) != 0) { + fputs(ccb->buf,mf); + } + } + fclose(mf); + fclose(fd); + fd = 0; + _printf(_("New mail arrived for %s from mailhost <%s>%c\n"), + mailbox_name, inet_ntoa(mailhost), + Popquiet ? ' ' : '\007'); + rmlock(Mailspool,mailbox_name); + unlink(Workfile_name); + quit_session(ccb); + } + } else + quit_session(ccb); + break; + + case 8: + _fprintf(fd, _("%s\n"),ccb->buf); + + ccb->msg_len -= (long)(strlen(ccb->buf)+2); + + if (ccb->msg_len > 0) + return; + + fprintf(ccb->network, ackd_cmd); + + ccb->msg_num++; + ccb->state = 5; + break; + + case 10: + if (fd != 0) + fclose(fd); + break; + + default: + break; + } +} + +void +quit_session(ccb) +struct pop_ccb *ccb; +{ + fprintf(ccb->network, quit_cmd); + + ccb->state = 10; +} diff --git a/src/nos/clients/smtpcli.i b/src/nos/clients/smtpcli.i new file mode 100644 index 00000000..3f3fbdd3 --- /dev/null +++ b/src/nos/clients/smtpcli.i @@ -0,0 +1,4256 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int sys_nerr; + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *strerror (int _errno); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int ioctl (int fd, int request, ...); +extern int open (const char *name, int flag, ...); + + + + + + + + + + + + + + + + + + + + + + +typedef long clock_t; + + +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +}; + +struct timezone { + int tz_minuteswest; + int tz_dsttime; +}; + + + + +extern char *tzname[2]; +extern int daylight; +extern long timezone; + +extern long clock (void); +extern time_t mktime (struct tm * __tp); +extern long difftime (time_t *__time2, time_t *__time1); + +extern time_t time (time_t *tvec); + +extern void __tm_conv (struct tm *tmbuf, time_t *t, int offset); +extern void __asctime (char *, struct tm *); +extern char *asctime (struct tm * __tp); +extern char *ctime (time_t * __tp); +extern void tzset (void); + +extern struct tm *gmtime (time_t *__tp); +extern struct tm *localtime (time_t * __tp); +extern unsigned long convtime (time_t *time_field); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct cmds { + _char *name; + int (*func)(int argc,char *argv[],void *p); + + int stksize; + int argcmin; + _char *argc_errmsg; +}; +extern struct cmds Cmds[],Startcmds[],Stopcmds[],Attab[]; + + +int cmdparse(struct cmds cmds[], char *line, void *p); +int subcmd(struct cmds tab[], int argc, char *argv[], void *p); +int setbool(int *var, _char *label, int argc, char *argv[]); +int bit16cmd(uint16 *bits, uint16 mask, _char *label, int argc, char *argv[]); +int setint(int *var, _char *label, int argc, char *argv[]); +int setlong(int32 *var, _char *label, int argc, char *argv[]); +int setshort(unsigned short *var, _char *label, int argc, char *argv[]); +int setuns(unsigned *var, _char *label, int argc, char *argv[]); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + +struct list { + struct list *next; + char *val; + char type; +}; + + +struct smtpsv { + FILE *network; + char *system; + char *from; + struct list *to; + FILE *data; +}; + + +struct smtp_job { + struct smtp_job *next; + char jobname[9]; + char *from; + struct list *to; +}; + + +struct smtpcli { + FILE *network; + int32 ipdest; + char *destname; + char *wname; + char *tname; + char buf[256]; + char cnt; + FILE *tfile; + struct smtp_job *jobq; + struct list *errlog; + int lock; +}; + + + + +extern int Smtpmode; +extern char *Mailspool; +extern char *Maillog; +extern char *Mailqdir; +extern char *Routeqdir; +extern char *Mailqueue; +extern char *Maillock; +extern char *Alias; + + + +char *ptime(time_t *t); + + + +long get_msgid(void); +char *getname(char *cp); +int validate_address(char *s); +int queuejob(FILE *dfile,char *host,struct list *to,char *from); +struct list *addlist(struct list **head,char *val,int type); +int mdaemon(FILE *data,char *to,struct list *lp,int bounce); + + +int smtptick(int32 target); +int mlock(char *dir,char *id); +int rmlock(char *dir,char *id); +void del_list(struct list *lp); +int32 mailroute(char *dest); + + + + + + + + + + + +FILE *dir(char *path,int full); +int filedir(char *name,int times,char *ret_str); +int getdir(char *path,int full,FILE *file); + + +char *pathname(char *cd,char *path); + + + + + + + +int doasystat(int argc,char *argv[],void *p); +int fp_attach (int argc,char *argv[],void *p); + + +int domem(int argc,char *argv[],void *p); + + +int doamiga(int argc,char *argv[],void *p); + + +int doarp(int argc,char *argv[],void *p); + + +int asy_attach(int argc,char *argv[],void *p); + + +int doax25(int argc,char *argv[],void *p); +int doaxheard(int argc,char *argv[],void *p); +int doaxdest(int argc,char *argv[],void *p); +int doconnect(int argc,char *argv[],void *p); + + +int dobootp(int argc,char *argv[],void *p); + + +int bootpdcmd(int argc,char *argv[],void *p); + + +int dodialer(int argc,char *argv[],void *p); + + +int docd(int argc,char *argv[],void *p); +int dodir(int argc,char *argv[],void *p); +int domkd(int argc,char *argv[],void *p); +int dormd(int argc,char *argv[],void *p); + + +int dodomain(int argc,char *argv[],void *p); + + +int dodrstat(int argc,char *argv[],void *p); +int dr_attach(int argc,char *argv[],void *p); +int dodr(int argc,char *argv[],void *p); + + +int eg_attach(int argc,char *argv[],void *p); +int doegstat(int argc,char *argv[],void *p); + + +int doetherstat(int argc,char *argv[],void *p); +int ec_attach(int argc,char *argv[],void *p); + + +int dofax(int argc,char *argv[],void *p); +int fax1(int argc,char *argv[],void *p); +int fax0(int argc,char *argv[],void *p); + + +int dofinger(int argc,char *argv[],void *p); + + +int finstart(int argc,char *argv[],void *p); +int fin0(int argc,char *argv[],void *p); + + +int doftp(int argc,char *argv[],void *p); +int doabort(int argc,char *argv[],void *p); + + +int ftpstart(int argc,char *argv[],void *p); +int ftp0(int argc,char *argv[],void *p); + + +int dohapnstat(int argc,char *argv[],void *p); +int hapn_attach(int argc,char *argv[],void *p); + + +int dohop(int argc,char *argv[],void *p); + + +int dohs(int argc,char *argv[],void *p); +int hs_attach(int argc,char *argv[],void *p); + + +int doicmp(int argc,char *argv[],void *p); + + +int doifconfig(int argc,char *argv[],void *p); +int dodetach(int argc,char *argv[],void *p); + + +int doip(int argc,char *argv[],void *p); +int doroute(int argc,char *argv[],void *p); + + +int dosec(int argc,char *argv[],void *p); + + +int doksp(int argc,char *argv[],void *p); + + +int ps(int argc,char *argv[],void *p); + + +int dolterm(int argc,char *argv[],void *p); + + +int dodelete(int argc,char *argv[],void *p); +int dorename(int argc,char *argv[],void *p); +int doexit(int argc,char *argv[],void *p); +int dohostname(int argc,char *argv[],void *p); +int dolog(int argc,char *argv[],void *p); +int dohelp(int argc,char *argv[],void *p); +int doattach(int argc,char *argv[],void *p); +int doparam(int argc,char *argv[],void *p); +int dopage(int argc,char *argv[],void *p); +int domode(int argc,char *argv[],void *p); +int donothing(int argc,char *argv[],void *p); +int donrstat(int argc,char *argv[],void *p); +int doescape(int argc,char *argv[],void *p); +int doremote(int argc,char *argv[],void *p); +int doboot(int argc,char *argv[],void *p); +int dorepeat(int argc,char *argv[],void *p); +int dostacktest(int argc,char *argv[],void *p); +int dosysdebug(int argc,char *argv[],void *p); +int dosystrace(int argc,char *argv[],void *p); +int dowipe(int argc,char *argv[],void *p); + + +int dombox(int argc,char *argv[],void *p); + + +int donntp(int argc,char *argv[],void *p); + + +int donetrom(int argc,char *argv[],void *p); +int nr_attach(int argc,char *argv[],void *p); + + +int doshell(int argc,char *argv[],void *p); +int doisat(int argc,char *argv[],void *p); + + +int pc_attach(int argc,char *argv[],void *p); + + +int pk_attach(int argc,char *argv[],void *p); + + +int pi_attach(int argc,char *argv[],void *p); +int dopistat(int argc,char *argv[],void *p); + + +int doping(int argc,char *argv[],void *p); + + +int dopop(int argc,char *argv[],void *p); + + +int pop1(int argc,char *argv[],void *p); +int pop0(int argc,char *argv[],void *p); + + +int doqtso(int argc,char *argv[],void *p); + + +int dorarp(int argc,char *argv[],void *p); + + +int dorip(int argc,char *argv[],void *p); + + +int doaddrefuse(int argc,char *argv[],void *p); +int dodroprefuse(int argc,char *argv[],void *p); +int dorip(int argc,char *argv[],void *p); +int doripadd(int argc,char *argv[],void *p); +int doripdrop(int argc,char *argv[],void *p); +int doripinit(int argc,char *argv[],void *p); +int doripmerge(int argc,char *argv[],void *p); +int doripreq(int argc,char *argv[],void *p); +int doripstat(int argc,char *argv[],void *p); +int doripstop(int argc,char *argv[],void *p); +int doriptrace(int argc,char *argv[],void *p); + + +int dosound(int argc,char *argv[],void *p); + + +int escc_attach(int argc,char *argv[],void *p); +int doesccstat(int argc,char *argv[],void *p); + + +int dosession(int argc,char *argv[],void *p); +int go(int argc,char *argv[],void *p); +int doclose(int argc,char *argv[],void *p); +int doreset(int argc,char *argv[],void *p); +int dokick(int argc,char *argv[],void *p); +int dorecord(int argc,char *argv[],void *p); +int dosfsize(int argc,char *argv[],void *p); +int doupload(int argc,char *argv[],void *p); + + +int dis1(int argc,char *argv[],void *p); +int dis0(int argc,char *argv[],void *p); +int echo1(int argc,char *argv[],void *p); +int echo0(int argc,char *argv[],void *p); +int rem1(int argc,char *argv[],void *p); +int rem0(int argc,char *argv[],void *p); +int term1(int argc,char *argv[],void *p); +int term0(int argc,char *argv[],void *p); +int bsr1(int argc,char *argv[],void *p); +int bsr0(int argc,char *argv[],void *p); + + +int dosmtp(int argc,char *argv[],void *p); + + +int smtp1(int argc,char *argv[],void *p); +int smtp0(int argc,char *argv[],void *p); + + +int dosock(int argc,char *argv[],void *p); + + +int dofiles(int argc,char *argv[],void *p); + + +int doswatch(int argc,char *argv[],void *p); + + +int dotcp(int argc,char *argv[],void *p); + + +int doecho(int argc,char *argv[],void *p); +int doeol(int argc,char *argv[],void *p); +int dotelnet(int argc,char *argv[],void *p); +int dotopt(int argc,char *argv[],void *p); + + +int dotip(int argc,char *argv[],void *p); + + +int ttylstart(int argc,char *argv[],void *p); +int ttyl0(int argc,char *argv[],void *p); + + +int dotrace(int argc,char *argv[],void *p); + + +int doudp(int argc,char *argv[],void *p); + + +int doview(int argc,char *argv[],void *p); +void view(int,void *,void *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + + + + + + + + + + +enum ftp_type { + ASCII_TYPE, + IMAGE_TYPE, + LOGICAL_TYPE +}; + + +enum verb_level { + V_QUIET, + V_SHORT, + V_NORMAL, + V_HASH, + V_STAT +}; + +long sendfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +long recvfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +int isbinary(FILE *fp); +int md5hash(FILE *fp,uint8 hash[16],int ascii); + + + + + + + + + + + +struct ftpcli { + FILE *control; + FILE *data; + + char state; + + + + + uint16 verbose; + int batch; + int abort; + int update; + char type; + char typesent; + int logbsize; + FILE *fp; + + char buf[256 ]; + char line[256 ]; + struct session *session; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct telnet { + char local[6]; + char remote[6]; + struct session *session; + char eolmode; +}; + +extern int Refuse_echo; +extern int Tn_cr_mode; + + +int tel_connect(struct session *sp,struct sockaddr *fsocket,int len); +void tel_output(int unused,void *p1,void *p2); +void tnrecv(struct telnet *tn); +void doopt(struct telnet *tn,int opt); +void dontopt(struct telnet *tn,int opt); +void willopt(struct telnet *tn,int opt); +void wontopt(struct telnet *tn,int opt); +void answer(struct telnet *tn,int r1,int r2); + + +void ttylhandle(int s,void *unused,void *p); + + + + +struct ttystate { + uint8 *line; + uint8 *lp; + unsigned int echo:1; + unsigned int edit:1; + unsigned int crnl:1; +}; + + +struct session { + unsigned strchr; + enum { + TELNET, + FTP, + AX25TNC, + FINGER, + PING, + NRSESSION, + COMMAND, + VIEW, + HOP, + TIP, + PPPPASS, + DIAL, + DQUERY, + DCLIST, + ITRACE, + REPEAT, + FAX + } type; + + char *name; + union { + struct ftpcli *ftp; + struct telnet *telnet; + void *p; + } cb; + struct proc *proc; + struct proc *proc1; + struct proc *proc2; + FILE *network; + FILE *record; + FILE *upload; + struct ttystate ttystate; + FILE *input; + FILE *output; + int (*ctlproc)(int); + int (*inproc)(int); + struct session *parent; + enum { + SCROLL_INBAND, + SCROLL_LOCAL + } scrollmode; +}; +extern char *Sestypes[]; +extern unsigned Nsessions; +extern long Sfsize; + +extern struct session *Sessions[]; + + + +extern struct session *Current; +extern struct session *Lastcurr; +extern struct session *Command; +extern char *Cmdline; + + +void freesession(struct session *sp); +int keywait(char *prompt,int flush); +struct session *sessptr(char *cp); +struct session *newsession(char *name,int type,int makecur); +void sesflush(void); +void upload(int unused,void *sp1,void *p); + +extern uint16 Lport; + + + + + + + + + + + + + + + +void logmsg(int s, _char *fmt, ...); + + + + +static struct timer Smtpcli_t; +static int32 Gateway; + + +static unsigned short Smtptrace = 0; +static int dosmtptrace(int argc,char *argv[],void *p); + + +static unsigned short Smtpmaxcli = 10 ; +static int Smtpsessions = 0; + +static int Smtpbatch; +int Smtpmode = 0; + +static struct smtpcli *cli_session[10 ]; + +static void del_job(struct smtp_job *jp); +static void del_session(struct smtpcli *cb); +static int dogateway(int argc,char *argv[],void *p); +static int dosmtpmaxcli(int argc,char *argv[],void *p); +static int dotimer(int argc,char *argv[],void *p); +static int dosmtpkill(int argc,char *argv[],void *p); +static int dosmtplist(int argc,char *argv[],void *p); +static int dobatch(int argc,char *argv[],void *p); +static void execjobs(void); +static int getresp(struct smtpcli *ftp,int mincode); +static void logerr(struct smtpcli *cb,char *line); +static struct smtpcli *lookup(int32 destaddr); +static struct smtpcli *newcb(void); +static int next_job(struct smtpcli *cb); +static void retmail(struct smtpcli *cb); +static void sendcmd(struct smtpcli *cb,char *fmt,...); +static int smtpsendfile(struct smtpcli *cb); +static int setsmtpmode(int argc,char *argv[],void *p); +static struct smtp_job *setupjob(struct smtpcli *cb,char *id,char *from); +static void smtp_send(int unused,void *cb1,void *p); +static int smtpkick(int argc,char *argv[],void *p); + +static struct cmds Smtpcmds[] = { + N_("batch"), dobatch, 0, 0, 0, + N_("gateway"), dogateway, 0, 0, 0, + N_("mode"), setsmtpmode, 0, 0, 0, + N_("kick"), smtpkick, 0, 0, 0, + N_("kill"), dosmtpkill, 0, 2, N_("kill "), + N_("list"), dosmtplist, 0, 0, 0, + N_("maxclients"), dosmtpmaxcli, 0, 0, 0, + N_("timer"), dotimer, 0, 0, 0, + + N_("trace"), dosmtptrace, 0, 0, 0, + + 0, +}; + +int +dosmtp(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return subcmd(Smtpcmds,argc,argv,p); +} + +static int +dobatch(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setbool(&Smtpbatch, _("SMTP batching"), argc, argv); +} +static int +dosmtpmaxcli(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setshort(&Smtpmaxcli, _("Max clients"), argc, argv); +} + +static int +setsmtpmode(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + if (argc < 2) { + _printf(_("smtp mode: %s\n"), + (Smtpmode & 1) ? "queue" : "route"); + } else { + switch(*argv[1]) { + case 'q': + Smtpmode |= 1; + break; + case 'r': + Smtpmode &= ~1; + break; + default: + _printf(_("Usage: smtp mode [queue | route]\n")); + break; + } + } + return 0; +} +static int +dogateway(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + int32 n; + + if(argc < 2){ + _printf(_("%s\n"),inet_ntoa(Gateway)); + } else if((n = resolve(argv[1])) == 0){ + printf(Badhost,argv[1]); + return 1; + } else + Gateway = n; + return 0; +} + + +static int +dosmtptrace(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setshort(&Smtptrace, _("SMTP tracing"), argc, argv); +} + + + +static int +dosmtplist(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + char tstring[80]; + char line[20]; + char host[256 ]; + char to[256 ]; + char from[256 ]; + char *cp; + char status; + struct stat stbuf; + struct tm *tminfo, *localtime(); + FILE *fp; + + _printf(_("S Job Size Date Time Host From\n")); + filedir(Mailqueue,0,line); + while(line[0] != '\0') { + sprintf(tstring,"%s/%s",Mailqdir,line); + if ((fp = (freopen((tstring),("rt" ),0))) == 0) { + + _printf(_("Can't open %s: %s\n"),tstring,strerror((Curproc->p_errno))); + + + + continue; + } + if ((cp = strrchr(line,'.')) != 0) + *cp = '\0'; + sprintf(tstring,"%s/%s.lck",Mailqdir,line); + if (access(tstring,0)) + status = ' '; + else + status = 'L'; + sprintf(tstring,"%s/%s.txt",Mailqdir,line); + stat(tstring,&stbuf); + tminfo = localtime(&stbuf.st_ctime); + fgets(host,sizeof(host),fp); + rip(host); + fgets(from,sizeof(from),fp); + rip(from); + _printf(_("%c %7s %7ld %02d/%02d %02d:%02d %-20s %s\n "), + status, line, stbuf.st_size, + tminfo->tm_mon+1, + tminfo->tm_mday, + tminfo->tm_hour, + tminfo->tm_min, + host,from); + while (fgets(to,sizeof(to),fp) != 0) { + rip(to); + _printf(_("%s "),to); + } + _printf(_("\n")); + (void) fclose(fp); + kwait(0); + filedir(Mailqueue,1,line); + } + return 0; +} + + +static int +dosmtpkill(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + char s[64]; + char *cp,c; + sprintf(s,"%s/%s.lck",Mailqdir,argv[1]); + cp = strrchr(s,'.'); + if (!access(s,0)) { + Current->ttystate.echo = Current->ttystate.edit = 0; + c = keywait("Warning, the job is locked by SMTP. Remove (y/n)? ",0); + Current->ttystate.echo = Current->ttystate.edit = 1; + if (c != 'y') + return 0; + (void) unlink(s); + } + strcpy(cp,".wrk"); + if (unlink(s)) + _printf(_("Job id %s not found\n"),argv[1]); + strcpy(cp,".txt"); + (void) unlink(s); + return 0; +} + + +static int +dotimer(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + if(argc < 2){ + _printf(_("%lu/%lu\n"), + read_timer(&Smtpcli_t) /1000L, + ((&Smtpcli_t)->duration*55 )/ 1000L); + return 0; + } + Smtpcli_t.func = (void (*)())smtptick; + Smtpcli_t.arg = 0; + set_timer(&Smtpcli_t,atol(argv[1])*1000L); + start_timer(&Smtpcli_t); + return 0; +} + +static int +smtpkick(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + int32 addr = 0; + if(argc > 1 && (addr = resolve(argv[1])) == 0){ + printf(Badhost,argv[1]); + return 1; + } + smtptick(addr); + return 0; +} + + + + + + +int +smtptick(target) +int32 target; +{ + register struct smtpcli *cb; + struct smtp_job *jp; + struct list *ap; + char tmpstring[256 ], wfilename[13], prefix[9]; + char from[256 ], to[256 ]; + char *cp, *cp1; + int32 destaddr; + FILE *wfile; + + + if (Smtptrace > 5) + _printf(_("smtp daemon entered, target = %s\n"),inet_ntoa(target)); + + if(availmem() != 0){ + + + start_timer(&Smtpcli_t); + return 0; + } + for(filedir(Mailqueue,0,wfilename);wfilename[0] != '\0'; + filedir(Mailqueue,1,wfilename)){ + + + cp = wfilename; + cp1 = prefix; + while (*cp && *cp != '.') + *cp1++ = *cp++; + *cp1 = '\0'; + + + if (mlock(Mailqdir,prefix)) + continue; + + sprintf(tmpstring,"%s/%s",Mailqdir,wfilename); + if ((wfile = (freopen((tmpstring),("rt" ),0))) == 0) { + + (void) rmlock(Mailqdir,prefix); + + + continue; + } + + (void) fgets(tmpstring,256 ,wfile); + rip(tmpstring); + + if ((destaddr = mailroute(tmpstring)) == 0) { + fclose(wfile); + _printf(_("** smtp: Unknown address %s\n"),tmpstring); + (void) rmlock(Mailqdir,prefix); + continue; + } + if(target != 0 && destaddr != target){ + fclose(wfile); + (void) rmlock(Mailqdir,prefix); + continue; + } + if ((cb = lookup(destaddr)) == 0) { + + if (Smtpsessions >= Smtpmaxcli) { + + if (Smtptrace) { + _printf(_("smtp daemon: too many processes\n")); + } + + fclose(wfile); + (void) rmlock(Mailqdir,prefix); + break; + } + if ((cb = newcb()) == 0) { + fclose(wfile); + (void) rmlock(Mailqdir,prefix); + break; + } + cb->ipdest = destaddr; + cb->destname = strdupw(tmpstring); + } else { + if(cb->lock){ + + + + fclose(wfile); + (void) rmlock(Mailqdir,prefix); + continue; + } + } + + (void) fgets(from,256 ,wfile); + rip(from); + if ((jp = setupjob(cb,prefix,from)) == 0) { + fclose(wfile); + (void) rmlock(Mailqdir,prefix); + del_session(cb); + break; + } + while (fgets(to,256 ,wfile) != 0) { + rip(to); + if (addlist(&jp->to,to,2) == 0) { + fclose(wfile); + del_session(cb); + } + } + fclose(wfile); + + if (Smtptrace > 1) { + _printf(_("queue job %s From: %s To:"),prefix,from); + for (ap = jp->to; ap != 0; ap = ap->next) + _printf(_(" %s"),ap->val); + _printf(_("\n")); + } + + } + + + execjobs(); + + + start_timer(&Smtpcli_t); + return 0; +} + + + + + + + + + +static void +smtp_send(unused,cb1,p) +int unused; +void *cb1; +void *p; +{ + register struct smtpcli *cb; + register struct list *tp; + struct sockaddr_in fsocket; + char *cp; + int rcode; + int rcpts; + int goodrcpt; + int i,s; + int init = 1; + + cb = (struct smtpcli *)cb1; + cb->lock = 1; + fsocket.sin_family = 0; + fsocket.sin_addr.s_addr = cb->ipdest; + fsocket.sin_port = 25 ; + + s = socket(0,0,0); + + if (Smtptrace) + _printf(_("SMTP client Trying...\n")); + + if(connect(s,(struct sockaddr *)&fsocket,(sizeof(struct sockaddr))) == 0){ + cb->network = fdopen(s,"r+t"); + + if (Smtptrace) + _printf(_("Connected\n")); + + } else { + cp = sockerr(s); + + if (Smtptrace) + _printf(_("Connect failed: %s\n"),cp != 0 ? cp : ""); + + logmsg(s, _("SMTP %s Connect failed: %s"), psocket(&fsocket), + cp != 0 ? cp : ""); + } + if(!Smtpbatch){ + rcode = getresp(cb,200); + if(rcode == -1 || rcode >= 400) + goto quit; + } + + sendcmd(cb,"HELO %s\n",Hostname); + if(!Smtpbatch){ + rcode = getresp(cb,200); + if(rcode == -1 || rcode >= 400) + goto quit; + } + do { + + + if ((cb->tfile = (freopen((cb->tname),("rt" ),0))) == 0) + continue; + + + sendcmd(cb,"MAIL FROM:<%s>\n",cb->jobq->from); + if(!Smtpbatch){ + rcode = getresp(cb,200); + if(rcode == -1 || rcode >= 400) + goto quit; + } + rcpts = 0; + goodrcpt = 0; + for (tp = cb->jobq->to; tp != 0; tp = tp->next){ + sendcmd(cb,"RCPT TO:<%s>\n",tp->val); + if(!Smtpbatch){ + rcode = getresp(cb,200); + if(rcode == -1) + goto quit; + if(rcode < 400) + goodrcpt = 1; + } + rcpts++; + } + + sendcmd(cb,"DATA\n"); + if(!Smtpbatch){ + rcode = getresp(cb,200); + if(rcode == -1 || rcode >= 400) + goto quit; + } + if(Smtpbatch){ + + + + + + for(i= init ? 3 : 1;i > 0;i--){ + rcode = getresp(cb,200); + if(rcode == -1 || rcode >= 400) + goto quit; + } + init = 0; + + + for(i=rcpts;i!=0;i--){ + rcode = getresp(cb,200); + if(rcode == -1) + goto quit; + if(rcode < 400) + goodrcpt = 1; + } + + + + + rcode = getresp(cb,200); + if(rcode == -1 || rcode >= 400) + goto quit; + + + if (goodrcpt == 0){ + sendcmd(cb,".\n"); + goto quit; + } + } + + smtpsendfile(cb); + + + rcode = getresp(cb,200); + if(rcode == -1) + goto quit; + if((rcode >= 200 && rcode < 300) || rcode >= 500){ + + + if (cb->errlog != 0) + retmail(cb); + + (void) unlink(cb->tname); + (void) unlink(cb->wname); + logmsg(s, _("SMTP sent job %s To: %s From: %s"), + cb->jobq->jobname,cb->jobq->to->val,cb->jobq->from); + } + } while(next_job(cb)); +quit: + sendcmd(cb,"QUIT\n"); + if (cb->errlog != 0){ + retmail(cb); + (void) unlink(cb->wname); + (void) unlink(cb->tname); + } + (void) fclose(cb->network); + if(cb->tfile != 0) + fclose(cb->tfile); + cb->lock = 0; + del_session(cb); +} + + + +int +mlock(dir,id) +char *dir,*id; +{ + char lockname[256 ]; + int fd; + struct stat statbuf; + + + + + + + + + + sprintf(lockname,"%s/%s.lck",dir,id); + + + + + + + + fd = open(lockname, 1|0x4000 |0x0100 ,0600); + if(fd != -1){ + + close(fd); + return 0; + } + + if(stat(dir,&statbuf) == -1 || (statbuf.st_mode & 0170000 ) != 0040000 ){ + _printf(_("Lock directory %s missing\n"),dir); + fflush(Curproc->output); + return 0; + } + return -1; +} + + +int +rmlock(dir,id) +char *dir,*id; +{ + char lockname[256 ]; + + + + + + + + sprintf(lockname,"%s/%s.lck",dir,id); + return(unlink(lockname)); +} + + +static void +del_session(cb) +register struct smtpcli *cb; +{ + register struct smtp_job *jp,*tp; + register int i; + + if (cb == 0) + return; + for(i=0; i<10 ; i++) + if(cli_session[i] == cb) { + cli_session[i] = 0; + break; + } + + free(cb->wname); + free(cb->tname); + free(cb->destname); + for (jp = cb->jobq; jp != 0;jp = tp) { + tp = jp->next; + del_job(jp); + } + del_list(cb->errlog); + free(cb); + Smtpsessions--; +} + +static void +del_job(jp) +register struct smtp_job *jp; +{ + if ( *jp->jobname != '\0') + (void) rmlock(Mailqdir,jp->jobname); + free(jp->from); + del_list(jp->to); + free(jp); +} + + +void +del_list(lp) +struct list *lp; +{ + register struct list *tp, *tp1; + for (tp = lp; tp != 0; tp = tp1) { + tp1 = tp->next; + free(tp->val); + free(tp); + } +} + + +static void +retmail(cb) +struct smtpcli *cb; +{ + FILE *infile; + + if (Smtptrace > 5) { + _printf(_("smtp job %s returned to sender\n"),cb->wname); + } + + if ((infile = (freopen((cb->tname),("rt" ),0))) == 0) + return; + mdaemon(infile,cb->jobq->from,cb->errlog,1); + fclose(infile); +} + + +static struct smtpcli * +lookup(destaddr) +int32 destaddr; +{ + register int i; + + for(i=0; i<10 ; i++) { + if (cli_session[i] == 0) + continue; + if(cli_session[i]->ipdest == destaddr) + return cli_session[i]; + } + return 0; +} + + +static struct smtpcli * +newcb() +{ + register int i; + register struct smtpcli *cb; + + for(i=0; i<10 ; i++) { + if(cli_session[i] == 0) { + cb = (struct smtpcli *)callocw(1,sizeof(struct smtpcli)); + cb->wname = mallocw((unsigned)strlen(Mailqdir)+13 ); + cb->tname = mallocw((unsigned)strlen(Mailqdir)+13 ); + cli_session[i] = cb; + Smtpsessions++; + return(cb); + } + } + return 0; +} + +static void +execjobs() +{ + register struct smtpcli *cb; + register int i; + + for(i=0; i<10 ; i++) { + cb = cli_session[i]; + if (cb == 0) + continue; + if(cb->lock) + continue; + + sprintf(cb->tname,"%s/%s.txt",Mailqdir,cb->jobq->jobname); + sprintf(cb->wname,"%s/%s.wrk",Mailqdir,cb->jobq->jobname); + + newproc("smtp_send", 1024, smtp_send, 0, cb,0,0); + + + if (Smtptrace) + _printf(_("Trying Connection to %s\n"),inet_ntoa(cb->ipdest)); + + + + } +} + + +static struct smtp_job * +setupjob(cb,id,from) +struct smtpcli *cb; +char *id,*from; +{ + register struct smtp_job *p1,*p2; + + p1 = (struct smtp_job *)callocw(1,sizeof(struct smtp_job)); + p1->from = strdupw(from); + strcpy(p1->jobname,id); + + if ((p2 = cb->jobq) == 0) + cb->jobq = p1; + else { + while(p2->next != 0) + p2 = p2->next; + p2->next = p1; + } + return p1; +} + + +static int +next_job(cb) +register struct smtpcli *cb; +{ + register struct smtp_job *jp; + + jp = cb->jobq->next; + del_job(cb->jobq); + + del_list(cb->errlog); + cb->errlog = 0; + cb->jobq = jp; + if (jp == 0) + return 0; + sprintf(cb->tname,"%s/%s.txt",Mailqdir,jp->jobname); + sprintf(cb->wname,"%s/%s.wrk",Mailqdir,jp->jobname); + + if (Smtptrace > 5) { + _printf(_("sending job %s\n"),jp->jobname); + } + + return 1; + +} + + + +int32 +mailroute(dest) +char *dest; +{ + int32 destaddr; + + + destaddr = resolve_mx(dest); + if (destaddr == 0 && (destaddr = resolve(dest)) == 0) + if (Gateway != 0) + destaddr = Gateway; + return destaddr; + +} + + +static void +logerr(cb,line) +struct smtpcli *cb; +char *line; +{ + register struct list *lp,*tp; + tp = (struct list *)callocw(1,sizeof(struct list)); + tp->val = strdupw(line); + + if ((lp = cb->errlog) == 0) + cb->errlog = tp; + else { + while(lp->next != 0) + lp = lp->next; + lp->next = tp; + } +} + +static int +smtpsendfile(cb) +register struct smtpcli *cb; +{ + int error = 0; + + strcpy(cb->buf,"\n"); + while(fgets(cb->buf,sizeof(cb->buf),cb->tfile) != 0) { + + if(strcmp(cb->buf,".\n") == 0) + (fputc(('.'),(cb->network))); + fputs(cb->buf,cb->network); + } + fclose(cb->tfile); + cb->tfile = 0; + + if(cb->buf[strlen(cb->buf)-1] == '\n') + sendcmd(cb,".\n"); + else + sendcmd(cb,"\n.\n"); + return error; +} + +static void +sendcmd(struct smtpcli *cb,char *fmt, ...) +{ + va_list args; + + ((args) = (char *)&(fmt) + ((sizeof(fmt) + (2 - 1)) & ~(2 - 1))); + + if(Smtptrace){ + _printf(_("smtp sent: ")); + vprintf(fmt,args); + } + + vsprintf(cb->buf,fmt,args); + fputs(cb->buf,cb->network); + ; +} + + +static int +getresp(cb,mincode) +struct smtpcli *cb; +int mincode; +{ + int rval; + char line[256 ]; + + fflush(cb->network); + for(;;){ + + if(fgets(line,256 ,cb->network) == 0){ + rval = -1; + break; + } + rip(line); + rval = atoi(line); + + if(Smtptrace) + _printf(_("smtp recv: %s\n"),line); + + if(rval >= 500) { + char tmp[256 ]; + if(cb->errlog == 0) { + sprintf(tmp,"While talking to %s:", + cb->destname); + logerr(cb,tmp); + } + if(cb->buf[0] != '\0') { + rip(cb->buf); + sprintf(tmp,">>> %s",cb->buf); + logerr(cb,tmp); + cb->buf[0] = '\0'; + } + sprintf(tmp,"<<< %s",line); + logerr(cb,tmp); + } + + if(line[3] != '-' && rval >= mincode) + break; + } + return rval; +} diff --git a/src/nos/clients/telnet.i b/src/nos/clients/telnet.i new file mode 100644 index 00000000..92ee85cb --- /dev/null +++ b/src/nos/clients/telnet.i @@ -0,0 +1,3426 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + + + + + + + + + + +enum ftp_type { + ASCII_TYPE, + IMAGE_TYPE, + LOGICAL_TYPE +}; + + +enum verb_level { + V_QUIET, + V_SHORT, + V_NORMAL, + V_HASH, + V_STAT +}; + +long sendfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +long recvfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +int isbinary(FILE *fp); +int md5hash(FILE *fp,uint8 hash[16],int ascii); + + + + + + + + + + + +struct ftpcli { + FILE *control; + FILE *data; + + char state; + + + + + uint16 verbose; + int batch; + int abort; + int update; + char type; + char typesent; + int logbsize; + FILE *fp; + + char buf[256 ]; + char line[256 ]; + struct session *session; +}; + + + + + + + +struct ttystate { + uint8 *line; + uint8 *lp; + unsigned int echo:1; + unsigned int edit:1; + unsigned int crnl:1; +}; + + +struct session { + unsigned strchr; + enum { + TELNET, + FTP, + AX25TNC, + FINGER, + PING, + NRSESSION, + COMMAND, + VIEW, + HOP, + TIP, + PPPPASS, + DIAL, + DQUERY, + DCLIST, + ITRACE, + REPEAT, + FAX + } type; + + char *name; + union { + struct ftpcli *ftp; + struct telnet *telnet; + void *p; + } cb; + struct proc *proc; + struct proc *proc1; + struct proc *proc2; + FILE *network; + FILE *record; + FILE *upload; + struct ttystate ttystate; + FILE *input; + FILE *output; + int (*ctlproc)(int); + int (*inproc)(int); + struct session *parent; + enum { + SCROLL_INBAND, + SCROLL_LOCAL + } scrollmode; +}; +extern char *Sestypes[]; +extern unsigned Nsessions; +extern long Sfsize; + +extern struct session *Sessions[]; + + + +extern struct session *Current; +extern struct session *Lastcurr; +extern struct session *Command; +extern char *Cmdline; + + +void freesession(struct session *sp); +int keywait(char *prompt,int flush); +struct session *sessptr(char *cp); +struct session *newsession(char *name,int type,int makecur); +void sesflush(void); +void upload(int unused,void *sp1,void *p); + +extern uint16 Lport; + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct telnet { + char local[6]; + char remote[6]; + struct session *session; + char eolmode; +}; + +extern int Refuse_echo; +extern int Tn_cr_mode; + + +int tel_connect(struct session *sp,struct sockaddr *fsocket,int len); +void tel_output(int unused,void *p1,void *p2); +void tnrecv(struct telnet *tn); +void doopt(struct telnet *tn,int opt); +void dontopt(struct telnet *tn,int opt); +void willopt(struct telnet *tn,int opt); +void wontopt(struct telnet *tn,int opt); +void answer(struct telnet *tn,int r1,int r2); + + +void ttylhandle(int s,void *unused,void *p); + + + + + + + + + + + + + + + + +int ttydriv(struct session *sp,uint8 c); + + + + + + +int doasystat(int argc,char *argv[],void *p); +int fp_attach (int argc,char *argv[],void *p); + + +int domem(int argc,char *argv[],void *p); + + +int doamiga(int argc,char *argv[],void *p); + + +int doarp(int argc,char *argv[],void *p); + + +int asy_attach(int argc,char *argv[],void *p); + + +int doax25(int argc,char *argv[],void *p); +int doaxheard(int argc,char *argv[],void *p); +int doaxdest(int argc,char *argv[],void *p); +int doconnect(int argc,char *argv[],void *p); + + +int dobootp(int argc,char *argv[],void *p); + + +int bootpdcmd(int argc,char *argv[],void *p); + + +int dodialer(int argc,char *argv[],void *p); + + +int docd(int argc,char *argv[],void *p); +int dodir(int argc,char *argv[],void *p); +int domkd(int argc,char *argv[],void *p); +int dormd(int argc,char *argv[],void *p); + + +int dodomain(int argc,char *argv[],void *p); + + +int dodrstat(int argc,char *argv[],void *p); +int dr_attach(int argc,char *argv[],void *p); +int dodr(int argc,char *argv[],void *p); + + +int eg_attach(int argc,char *argv[],void *p); +int doegstat(int argc,char *argv[],void *p); + + +int doetherstat(int argc,char *argv[],void *p); +int ec_attach(int argc,char *argv[],void *p); + + +int dofax(int argc,char *argv[],void *p); +int fax1(int argc,char *argv[],void *p); +int fax0(int argc,char *argv[],void *p); + + +int dofinger(int argc,char *argv[],void *p); + + +int finstart(int argc,char *argv[],void *p); +int fin0(int argc,char *argv[],void *p); + + +int doftp(int argc,char *argv[],void *p); +int doabort(int argc,char *argv[],void *p); + + +int ftpstart(int argc,char *argv[],void *p); +int ftp0(int argc,char *argv[],void *p); + + +int dohapnstat(int argc,char *argv[],void *p); +int hapn_attach(int argc,char *argv[],void *p); + + +int dohop(int argc,char *argv[],void *p); + + +int dohs(int argc,char *argv[],void *p); +int hs_attach(int argc,char *argv[],void *p); + + +int doicmp(int argc,char *argv[],void *p); + + +int doifconfig(int argc,char *argv[],void *p); +int dodetach(int argc,char *argv[],void *p); + + +int doip(int argc,char *argv[],void *p); +int doroute(int argc,char *argv[],void *p); + + +int dosec(int argc,char *argv[],void *p); + + +int doksp(int argc,char *argv[],void *p); + + +int ps(int argc,char *argv[],void *p); + + +int dolterm(int argc,char *argv[],void *p); + + +int dodelete(int argc,char *argv[],void *p); +int dorename(int argc,char *argv[],void *p); +int doexit(int argc,char *argv[],void *p); +int dohostname(int argc,char *argv[],void *p); +int dolog(int argc,char *argv[],void *p); +int dohelp(int argc,char *argv[],void *p); +int doattach(int argc,char *argv[],void *p); +int doparam(int argc,char *argv[],void *p); +int dopage(int argc,char *argv[],void *p); +int domode(int argc,char *argv[],void *p); +int donothing(int argc,char *argv[],void *p); +int donrstat(int argc,char *argv[],void *p); +int doescape(int argc,char *argv[],void *p); +int doremote(int argc,char *argv[],void *p); +int doboot(int argc,char *argv[],void *p); +int dorepeat(int argc,char *argv[],void *p); +int dostacktest(int argc,char *argv[],void *p); +int dosysdebug(int argc,char *argv[],void *p); +int dosystrace(int argc,char *argv[],void *p); +int dowipe(int argc,char *argv[],void *p); + + +int dombox(int argc,char *argv[],void *p); + + +int donntp(int argc,char *argv[],void *p); + + +int donetrom(int argc,char *argv[],void *p); +int nr_attach(int argc,char *argv[],void *p); + + +int doshell(int argc,char *argv[],void *p); +int doisat(int argc,char *argv[],void *p); + + +int pc_attach(int argc,char *argv[],void *p); + + +int pk_attach(int argc,char *argv[],void *p); + + +int pi_attach(int argc,char *argv[],void *p); +int dopistat(int argc,char *argv[],void *p); + + +int doping(int argc,char *argv[],void *p); + + +int dopop(int argc,char *argv[],void *p); + + +int pop1(int argc,char *argv[],void *p); +int pop0(int argc,char *argv[],void *p); + + +int doqtso(int argc,char *argv[],void *p); + + +int dorarp(int argc,char *argv[],void *p); + + +int dorip(int argc,char *argv[],void *p); + + +int doaddrefuse(int argc,char *argv[],void *p); +int dodroprefuse(int argc,char *argv[],void *p); +int dorip(int argc,char *argv[],void *p); +int doripadd(int argc,char *argv[],void *p); +int doripdrop(int argc,char *argv[],void *p); +int doripinit(int argc,char *argv[],void *p); +int doripmerge(int argc,char *argv[],void *p); +int doripreq(int argc,char *argv[],void *p); +int doripstat(int argc,char *argv[],void *p); +int doripstop(int argc,char *argv[],void *p); +int doriptrace(int argc,char *argv[],void *p); + + +int dosound(int argc,char *argv[],void *p); + + +int escc_attach(int argc,char *argv[],void *p); +int doesccstat(int argc,char *argv[],void *p); + + +int dosession(int argc,char *argv[],void *p); +int go(int argc,char *argv[],void *p); +int doclose(int argc,char *argv[],void *p); +int doreset(int argc,char *argv[],void *p); +int dokick(int argc,char *argv[],void *p); +int dorecord(int argc,char *argv[],void *p); +int dosfsize(int argc,char *argv[],void *p); +int doupload(int argc,char *argv[],void *p); + + +int dis1(int argc,char *argv[],void *p); +int dis0(int argc,char *argv[],void *p); +int echo1(int argc,char *argv[],void *p); +int echo0(int argc,char *argv[],void *p); +int rem1(int argc,char *argv[],void *p); +int rem0(int argc,char *argv[],void *p); +int term1(int argc,char *argv[],void *p); +int term0(int argc,char *argv[],void *p); +int bsr1(int argc,char *argv[],void *p); +int bsr0(int argc,char *argv[],void *p); + + +int dosmtp(int argc,char *argv[],void *p); + + +int smtp1(int argc,char *argv[],void *p); +int smtp0(int argc,char *argv[],void *p); + + +int dosock(int argc,char *argv[],void *p); + + +int dofiles(int argc,char *argv[],void *p); + + +int doswatch(int argc,char *argv[],void *p); + + +int dotcp(int argc,char *argv[],void *p); + + +int doecho(int argc,char *argv[],void *p); +int doeol(int argc,char *argv[],void *p); +int dotelnet(int argc,char *argv[],void *p); +int dotopt(int argc,char *argv[],void *p); + + +int dotip(int argc,char *argv[],void *p); + + +int ttylstart(int argc,char *argv[],void *p); +int ttyl0(int argc,char *argv[],void *p); + + +int dotrace(int argc,char *argv[],void *p); + + +int doudp(int argc,char *argv[],void *p); + + +int doview(int argc,char *argv[],void *p); +void view(int,void *,void *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + +struct cmds { + _char *name; + int (*func)(int argc,char *argv[],void *p); + + int stksize; + int argcmin; + _char *argc_errmsg; +}; +extern struct cmds Cmds[],Startcmds[],Stopcmds[],Attab[]; + + +int cmdparse(struct cmds cmds[], char *line, void *p); +int subcmd(struct cmds tab[], int argc, char *argv[], void *p); +int setbool(int *var, _char *label, int argc, char *argv[]); +int bit16cmd(uint16 *bits, uint16 mask, _char *label, int argc, char *argv[]); +int setint(int *var, _char *label, int argc, char *argv[]); +int setlong(int32 *var, _char *label, int argc, char *argv[]); +int setshort(unsigned short *var, _char *label, int argc, char *argv[]); +int setuns(unsigned *var, _char *label, int argc, char *argv[]); + + + + + + + +int Refuse_echo = 0; +int Tn_cr_mode = 0; +int Topt = 0; + +char *T_options[] = { + "Transmit Binary", + "Echo", + "", + "Suppress Go Ahead", + "", + "Status", + "Timing Mark" +}; + +static int keychar(int c); + +int +dotopt(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + setbool(&Topt, _("Telnet option tracing"), argc, argv); + return 0; +} + +int +dotelnet(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct session *sp; + struct sockaddr_in fsocket; + int s; + + + if((sp = newsession(Cmdline,TELNET,1)) == 0){ + _printf(_("Too many sessions\n")); + return 1; + } + sp->inproc = keychar; + fsocket.sin_family = 0; + if(argc < 3) + fsocket.sin_port = 23 ; + else + fsocket.sin_port = atoi(argv[2]); + + if((Curproc->flags.sset=1, + Curproc->signo = (107),setjmp(Curproc->sig))){ + keywait(0,1); + freesession(sp); + return 1; + } + _printf(_("Resolving %s...\n"),argv[1]); + if((fsocket.sin_addr.s_addr = resolve(argv[1])) == 0){ + printf(Badhost,argv[1]); + keywait(0,1); + freesession(sp); + return 1; + } + if((s = socket(0,0,0)) == -1){ + _printf(_("Can't create socket\n")); + keywait(0,1); + freesession(sp); + return 1; + } + settos(s,0x10); + sp->network = fdopen(s,"r+t"); + setvbuf(sp->network,0,_IOLBF,128 ); + return tel_connect(sp,(struct sockaddr *)&fsocket,(sizeof(struct sockaddr))); +} + +int +tel_connect(sp,fsocket,len) +struct session *sp; +struct sockaddr *fsocket; +int len; +{ + struct telnet tn; + + memset(&tn,0,sizeof(tn)); + tn.eolmode = Tn_cr_mode; + tn.session = sp; + sp->cb.telnet = &tn; + + _printf(_("Trying %s...\n"),psocket(fsocket)); + if(connect(((sp->network) != 0 ? (sp->network)->fd : -1),fsocket,len) == -1){ + perror("connect failed"); + keywait(0,1); + freesession(sp); + return 1; + } + _printf(_("Connected\n")); + sp->inproc = 0; + tnrecv(&tn); + return 0; +} + + +void +tnrecv(tn) +struct telnet *tn; +{ + int c; + struct session *sp; + char *cp; + FILE *network; + + sp = tn->session; + network = sp->network; + + + sp->proc1 = newproc("tel_out",1024,tel_output,0,tn,0,0); + + + while((c = (fgetc((network)))) != (-1)){ + if(c != 255 ){ + + ((fputc((((char)c)),(Curproc->output)))); + if(sp->record != 0) + (fputc((c),(sp->record))); + continue; + } + + c = (fgetc((network))); + switch(c){ + case 251: + c = (fgetc((network))); + willopt(tn,c); + break; + case 252: + c = (fgetc((network))); + wontopt(tn,c); + break; + case 253: + c = (fgetc((network))); + doopt(tn,c); + break; + case 254: + c = (fgetc((network))); + dontopt(tn,c); + break; + case 255 : + ((fputc(((255 )),(Curproc->output)))); + if(sp->record != 0) + (fputc((255 ),(sp->record))); + break; + } + } +quit: + + + + fmode(sp->output,1); + setvbuf(sp->output,0,_IOLBF,128 ); + cp = sockerr(((network) != 0 ? (network)->fd : -1)); + _printf(_("Closed: %s\n"), cp != 0 ? cp : "EOF"); + killproc(sp->proc1); + sp->proc1 = 0; + fclose(sp->network); + sp->network = 0; + keywait(0,1); + freesession(sp); +} + + +void +tel_output(unused,tn1,p) +int unused; +void *tn1; +void *p; +{ + struct session *sp; + int c; + struct telnet *tn; + + tn = (struct telnet *)tn1; + sp = tn->session; + + + while((c = (fgetc((sp->input)))) != (-1)){ + (fputc((c),(sp->network))); + if(!tn->remote[1] && sp->record != 0) + (fputc((c),(sp->record))); + + + + + + + if(c == '\r' && tn->eolmode) + (fputc(('\0'),(sp->network))); + + if(tn->remote[1]) + fflush(sp->network); + } + + sp->proc1 = 0; +} +int +doecho(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + if(argc < 2){ + if(Refuse_echo) + _printf(_("Refuse\n")); + else + _printf(_("Accept\n")); + } else { + if(argv[1][0] == 'r') + Refuse_echo = 1; + else if(argv[1][0] == 'a') + Refuse_echo = 0; + else + return -1; + } + return 0; +} + +int +doeol(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + if(argc < 2){ + if(Tn_cr_mode) + _printf(_("null\n")); + else + _printf(_("standard\n")); + } else { + if(argv[1][0] == 'n') + Tn_cr_mode = 1; + else if(argv[1][0] == 's') + Tn_cr_mode = 0; + else { + _printf(_("Usage: %s [standard|null]\n"),argv[0]); + return -1; + } + } + return 0; +} + + +void +willopt(tn,opt) +struct telnet *tn; +int opt; +{ + int ack; + + if(Topt){ + _printf(_("recv: will ")); + if(opt <= 6) + _printf(_("%s\n"),T_options[opt]); + else + _printf(_("%u\n"),opt); + } + switch(opt){ + case 0: + case 1: + case 3: + if(tn->remote[opt] == 1) + return; + if(opt == 1){ + if(Refuse_echo){ + + ack = 254; + break; + } else { + + tn->session->ttystate.edit = 0; + tn->session->ttystate.echo = 0; + fmode(tn->session->network,0); + setvbuf(tn->session->network,0,_IONBF,0); + fmode(Curproc->output,0); + setvbuf(Curproc->output,0,_IONBF,0); + } + } + tn->remote[opt] = 1; + ack = 253; + break; + default: + ack = 254; + } + answer(tn,ack,opt); +} +void +wontopt(tn,opt) +struct telnet *tn; +int opt; +{ + if(Topt){ + _printf(_("recv: wont ")); + if(opt <= 6) + _printf(_("%s\n"),T_options[opt]); + else + _printf(_("%u\n"),opt); + } + if(opt <= 6){ + if(tn->remote[opt] == 0) + return; + tn->remote[opt] = 0; + if(opt == 1){ + + tn->session->ttystate.edit = 1; + tn->session->ttystate.echo = 1; + fmode(tn->session->network,1); + setvbuf(tn->session->network,0,_IOLBF,128 ); + fmode(Curproc->output,1); + setvbuf(Curproc->output,0,_IOLBF,128 ); + } + } + answer(tn,254,opt); +} +void +doopt(tn,opt) +struct telnet *tn; +int opt; +{ + int ack; + + if(Topt){ + _printf(_("recv: do ")); + if(opt <= 6) + _printf(_("%s\n"),T_options[opt]); + else + _printf(_("%u\n"),opt); + } + switch(opt){ + case 3: + if(tn->local[opt] == 1) + return; + tn->local[opt] = 1; + ack = 251; + break; + default: + ack = 252; + } + answer(tn,ack,opt); +} +void +dontopt(tn,opt) +struct telnet *tn; +int opt; +{ + if(Topt){ + _printf(_("recv: dont ")); + if(opt <= 6) + _printf(_("%s\n"),T_options[opt]); + else + _printf(_("%u\n"),opt); + } + if(opt <= 6){ + if(tn->local[opt] == 0){ + + return; + } + tn->local[opt] = 0; + } + answer(tn,252,opt); +} +void +answer(tn,r1,r2) +struct telnet *tn; +int r1,r2; +{ + if(Topt){ + switch(r1){ + case 251: + _printf(_("sent: will ")); + break; + case 252: + _printf(_("sent: wont ")); + break; + case 253: + _printf(_("sent: do ")); + break; + case 254: + _printf(_("sent: dont ")); + break; + } + if(r2 <= 6) + _printf(_("%s\n"),T_options[r2]); + else + _printf(_("%u\n"),r2); + } + _fprintf(tn->session->network, _("%c%c%c"),255 ,r1,r2); + fflush(tn->session->network); +} +static int +keychar(c) +int c; +{ + if(c != 0x3) + return 1; + + _fprintf(Current->output, _("^C\n")); + alert(Current->proc,107); + return 0; +} diff --git a/src/nos/clients/tip.i b/src/nos/clients/tip.i new file mode 100644 index 00000000..d243b32c --- /dev/null +++ b/src/nos/clients/tip.i @@ -0,0 +1,3193 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct asymode { + char *name; + int trigchar; + int (*init)(struct iface *); + int (*free)(struct iface *); +}; +extern struct asymode Asymode[]; + + +int asy_init(int dev,struct iface *ifp,int base,int irq, + uint16 bufsize,int trigchar,long speed,int cts,int rlsd,int chain); +int32 asy_ioctl(struct iface *ifp,int cmd,int set,int32 val); +int asy_read(int dev,void *buf,unsigned short cnt); +int asy_open(char *name); +int asy_close(int dev); +int asy_speed(int dev,long bps); +int asy_send(int dev,struct mbuf **bpp); +int asy_stop(struct iface *ifp); +int asy_write(int dev,void *buf,unsigned short cnt); +int get_rlsd_asy(int dev, int new_rlsd); +int get_asy(int dev); +void fp_stop(void); + + +void asy0vec(void); +void asy1vec(void); +void asy2vec(void); +void asy3vec(void); +void asy4vec(void); +void asy5vec(void); + + +void fp0vec(void); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + + + + + + + + + + +enum ftp_type { + ASCII_TYPE, + IMAGE_TYPE, + LOGICAL_TYPE +}; + + +enum verb_level { + V_QUIET, + V_SHORT, + V_NORMAL, + V_HASH, + V_STAT +}; + +long sendfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +long recvfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +int isbinary(FILE *fp); +int md5hash(FILE *fp,uint8 hash[16],int ascii); + + + + + + + + + + + +struct ftpcli { + FILE *control; + FILE *data; + + char state; + + + + + uint16 verbose; + int batch; + int abort; + int update; + char type; + char typesent; + int logbsize; + FILE *fp; + + char buf[256 ]; + char line[256 ]; + struct session *session; +}; + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + +struct telnet { + char local[6]; + char remote[6]; + struct session *session; + char eolmode; +}; + +extern int Refuse_echo; +extern int Tn_cr_mode; + + +int tel_connect(struct session *sp,struct sockaddr *fsocket,int len); +void tel_output(int unused,void *p1,void *p2); +void tnrecv(struct telnet *tn); +void doopt(struct telnet *tn,int opt); +void dontopt(struct telnet *tn,int opt); +void willopt(struct telnet *tn,int opt); +void wontopt(struct telnet *tn,int opt); +void answer(struct telnet *tn,int r1,int r2); + + +void ttylhandle(int s,void *unused,void *p); + + + + +struct ttystate { + uint8 *line; + uint8 *lp; + unsigned int echo:1; + unsigned int edit:1; + unsigned int crnl:1; +}; + + +struct session { + unsigned strchr; + enum { + TELNET, + FTP, + AX25TNC, + FINGER, + PING, + NRSESSION, + COMMAND, + VIEW, + HOP, + TIP, + PPPPASS, + DIAL, + DQUERY, + DCLIST, + ITRACE, + REPEAT, + FAX + } type; + + char *name; + union { + struct ftpcli *ftp; + struct telnet *telnet; + void *p; + } cb; + struct proc *proc; + struct proc *proc1; + struct proc *proc2; + FILE *network; + FILE *record; + FILE *upload; + struct ttystate ttystate; + FILE *input; + FILE *output; + int (*ctlproc)(int); + int (*inproc)(int); + struct session *parent; + enum { + SCROLL_INBAND, + SCROLL_LOCAL + } scrollmode; +}; +extern char *Sestypes[]; +extern unsigned Nsessions; +extern long Sfsize; + +extern struct session *Sessions[]; + + + +extern struct session *Current; +extern struct session *Lastcurr; +extern struct session *Command; +extern char *Cmdline; + + +void freesession(struct session *sp); +int keywait(char *prompt,int flush); +struct session *sessptr(char *cp); +struct session *newsession(char *name,int type,int makecur); +void sesflush(void); +void upload(int unused,void *sp1,void *p); + +extern uint16 Lport; + + + + + + +int ttydriv(struct session *sp,uint8 c); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + +int doasystat(int argc,char *argv[],void *p); +int fp_attach (int argc,char *argv[],void *p); + + +int domem(int argc,char *argv[],void *p); + + +int doamiga(int argc,char *argv[],void *p); + + +int doarp(int argc,char *argv[],void *p); + + +int asy_attach(int argc,char *argv[],void *p); + + +int doax25(int argc,char *argv[],void *p); +int doaxheard(int argc,char *argv[],void *p); +int doaxdest(int argc,char *argv[],void *p); +int doconnect(int argc,char *argv[],void *p); + + +int dobootp(int argc,char *argv[],void *p); + + +int bootpdcmd(int argc,char *argv[],void *p); + + +int dodialer(int argc,char *argv[],void *p); + + +int docd(int argc,char *argv[],void *p); +int dodir(int argc,char *argv[],void *p); +int domkd(int argc,char *argv[],void *p); +int dormd(int argc,char *argv[],void *p); + + +int dodomain(int argc,char *argv[],void *p); + + +int dodrstat(int argc,char *argv[],void *p); +int dr_attach(int argc,char *argv[],void *p); +int dodr(int argc,char *argv[],void *p); + + +int eg_attach(int argc,char *argv[],void *p); +int doegstat(int argc,char *argv[],void *p); + + +int doetherstat(int argc,char *argv[],void *p); +int ec_attach(int argc,char *argv[],void *p); + + +int dofax(int argc,char *argv[],void *p); +int fax1(int argc,char *argv[],void *p); +int fax0(int argc,char *argv[],void *p); + + +int dofinger(int argc,char *argv[],void *p); + + +int finstart(int argc,char *argv[],void *p); +int fin0(int argc,char *argv[],void *p); + + +int doftp(int argc,char *argv[],void *p); +int doabort(int argc,char *argv[],void *p); + + +int ftpstart(int argc,char *argv[],void *p); +int ftp0(int argc,char *argv[],void *p); + + +int dohapnstat(int argc,char *argv[],void *p); +int hapn_attach(int argc,char *argv[],void *p); + + +int dohop(int argc,char *argv[],void *p); + + +int dohs(int argc,char *argv[],void *p); +int hs_attach(int argc,char *argv[],void *p); + + +int doicmp(int argc,char *argv[],void *p); + + +int doifconfig(int argc,char *argv[],void *p); +int dodetach(int argc,char *argv[],void *p); + + +int doip(int argc,char *argv[],void *p); +int doroute(int argc,char *argv[],void *p); + + +int dosec(int argc,char *argv[],void *p); + + +int doksp(int argc,char *argv[],void *p); + + +int ps(int argc,char *argv[],void *p); + + +int dolterm(int argc,char *argv[],void *p); + + +int dodelete(int argc,char *argv[],void *p); +int dorename(int argc,char *argv[],void *p); +int doexit(int argc,char *argv[],void *p); +int dohostname(int argc,char *argv[],void *p); +int dolog(int argc,char *argv[],void *p); +int dohelp(int argc,char *argv[],void *p); +int doattach(int argc,char *argv[],void *p); +int doparam(int argc,char *argv[],void *p); +int dopage(int argc,char *argv[],void *p); +int domode(int argc,char *argv[],void *p); +int donothing(int argc,char *argv[],void *p); +int donrstat(int argc,char *argv[],void *p); +int doescape(int argc,char *argv[],void *p); +int doremote(int argc,char *argv[],void *p); +int doboot(int argc,char *argv[],void *p); +int dorepeat(int argc,char *argv[],void *p); +int dostacktest(int argc,char *argv[],void *p); +int dosysdebug(int argc,char *argv[],void *p); +int dosystrace(int argc,char *argv[],void *p); +int dowipe(int argc,char *argv[],void *p); + + +int dombox(int argc,char *argv[],void *p); + + +int donntp(int argc,char *argv[],void *p); + + +int donetrom(int argc,char *argv[],void *p); +int nr_attach(int argc,char *argv[],void *p); + + +int doshell(int argc,char *argv[],void *p); +int doisat(int argc,char *argv[],void *p); + + +int pc_attach(int argc,char *argv[],void *p); + + +int pk_attach(int argc,char *argv[],void *p); + + +int pi_attach(int argc,char *argv[],void *p); +int dopistat(int argc,char *argv[],void *p); + + +int doping(int argc,char *argv[],void *p); + + +int dopop(int argc,char *argv[],void *p); + + +int pop1(int argc,char *argv[],void *p); +int pop0(int argc,char *argv[],void *p); + + +int doqtso(int argc,char *argv[],void *p); + + +int dorarp(int argc,char *argv[],void *p); + + +int dorip(int argc,char *argv[],void *p); + + +int doaddrefuse(int argc,char *argv[],void *p); +int dodroprefuse(int argc,char *argv[],void *p); +int dorip(int argc,char *argv[],void *p); +int doripadd(int argc,char *argv[],void *p); +int doripdrop(int argc,char *argv[],void *p); +int doripinit(int argc,char *argv[],void *p); +int doripmerge(int argc,char *argv[],void *p); +int doripreq(int argc,char *argv[],void *p); +int doripstat(int argc,char *argv[],void *p); +int doripstop(int argc,char *argv[],void *p); +int doriptrace(int argc,char *argv[],void *p); + + +int dosound(int argc,char *argv[],void *p); + + +int escc_attach(int argc,char *argv[],void *p); +int doesccstat(int argc,char *argv[],void *p); + + +int dosession(int argc,char *argv[],void *p); +int go(int argc,char *argv[],void *p); +int doclose(int argc,char *argv[],void *p); +int doreset(int argc,char *argv[],void *p); +int dokick(int argc,char *argv[],void *p); +int dorecord(int argc,char *argv[],void *p); +int dosfsize(int argc,char *argv[],void *p); +int doupload(int argc,char *argv[],void *p); + + +int dis1(int argc,char *argv[],void *p); +int dis0(int argc,char *argv[],void *p); +int echo1(int argc,char *argv[],void *p); +int echo0(int argc,char *argv[],void *p); +int rem1(int argc,char *argv[],void *p); +int rem0(int argc,char *argv[],void *p); +int term1(int argc,char *argv[],void *p); +int term0(int argc,char *argv[],void *p); +int bsr1(int argc,char *argv[],void *p); +int bsr0(int argc,char *argv[],void *p); + + +int dosmtp(int argc,char *argv[],void *p); + + +int smtp1(int argc,char *argv[],void *p); +int smtp0(int argc,char *argv[],void *p); + + +int dosock(int argc,char *argv[],void *p); + + +int dofiles(int argc,char *argv[],void *p); + + +int doswatch(int argc,char *argv[],void *p); + + +int dotcp(int argc,char *argv[],void *p); + + +int doecho(int argc,char *argv[],void *p); +int doeol(int argc,char *argv[],void *p); +int dotelnet(int argc,char *argv[],void *p); +int dotopt(int argc,char *argv[],void *p); + + +int dotip(int argc,char *argv[],void *p); + + +int ttylstart(int argc,char *argv[],void *p); +int ttyl0(int argc,char *argv[],void *p); + + +int dotrace(int argc,char *argv[],void *p); + + +int doudp(int argc,char *argv[],void *p); + + +int doview(int argc,char *argv[],void *p); +void view(int,void *,void *); + + + + + + + + + + +enum devparam { + PARAM_DATA, + PARAM_TXDELAY, + PARAM_PERSIST, + PARAM_SLOTTIME, + PARAM_TXTAIL, + PARAM_FULLDUP, + PARAM_HW, + PARAM_MUTE, + PARAM_DTR, + PARAM_RTS, + PARAM_SPEED, + PARAM_ENDDELAY, + PARAM_GROUP, + PARAM_IDLE, + PARAM_MIN, + PARAM_MAXKEY, + PARAM_WAIT, + + PARAM_CLOSE, + PARAM_OPEN, + PARAM_LISTEN, + PARAM_DOWN=0x81, + PARAM_UP=0x82, + + PARAM_BLIND=0x83, + PARAM_RETURN=0xff +}; + + +int devparam(char *s); +char *parmname(int n); + + + + + + + + + +static void tip_out(int i,void *n1,void *n2); + + + +int +dotip(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct session *sp; + char *ifn; + int c; + FILE *asy; + + if((asy = asyopen(argv[1],"r+b")) == 0){ + _printf(_("Can't open %s\n"),argv[1]); + return 1; + } + setvbuf(asy,0,_IONBF,0); + + if((sp = newsession(Cmdline,TIP,1)) == 0){ + _printf(_("Too many sessions\n")); + return 1; + } + + sp->ttystate.echo = 0; + sp->ttystate.edit = 0; + fmode(Curproc->input,0); + fmode(Curproc->output,0); + + + ifn = malloc(strlen(argv[1]) + 10); + sprintf(ifn,"%s tip out",argv[1]); + sp->proc1 = newproc(ifn,256,tip_out,0,asy,0,0); + free( ifn ); + + ifn = malloc(strlen(argv[1]) + 10); + sprintf(ifn,"%s tip in",argv[1]); + chname( Curproc, ifn ); + free( ifn ); + + while((c = fgetc(asy)) != (-1)){ + ((fputc(((c)),(Curproc->output)))); + if(sp->record != 0) + (fputc((c),(sp->record))); + } + fflush(Curproc->output); + + killproc(sp->proc1); + sp->proc1 = 0; + fclose(asy); + keywait(0,1); + freesession(sp); + return 0; +} + + + +static void +tip_out(i,n1,n2) +int i; +void *n1,*n2; +{ + int c; + FILE *asy = (FILE *)n1; + + while((c = ((fgetc((Curproc->input))))) != (-1)){ + fputc(c,asy); + } +} + + diff --git a/src/nos/crt/CVS/Entries b/src/nos/crt/CVS/Entries new file mode 100644 index 00000000..6526d2a8 --- /dev/null +++ b/src/nos/crt/CVS/Entries @@ -0,0 +1,182 @@ +/!readme!/1.1.1.1/Mon Nov 17 19:06:16 2003// +/N9.PMM/1.1.1.1/Mon Nov 17 19:06:18 2003// +/abort.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/alloca-l.h/1.1.1.1/Mon Nov 17 19:06:16 2003// +/alloca.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/asctime.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/assert.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/atexit.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/atoi.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/atol.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/auto.mk/1.2/Mon Nov 17 19:15:20 2003// +/bsearch.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/build-b.ban/1.1.1.1/Mon Nov 17 19:06:16 2003// +/build-l.ban/1.1.1.1/Mon Nov 17 19:06:16 2003// +/calloc.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/clock.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/closedir.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/convtime.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/crt0_banked.S/1.1.1.1/Mon Nov 17 19:06:16 2003// +/crt0_large.S/1.1.1.1/Mon Nov 17 19:06:16 2003// +/crt_banked.lbr/1.1.1.1/Mon Nov 17 19:06:16 2003// +/crt_large.lbr/1.1.1.1/Mon Nov 17 19:06:16 2003// +/crypt.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/ctime.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/ctype.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/cvt.h/1.1.1.1/Mon Nov 17 19:06:16 2003// +/difftime.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/environ.h/1.1.1.1/Mon Nov 17 19:06:16 2003// +/error.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/etime.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/exec.h/1.1.1.1/Mon Nov 17 19:06:16 2003// +/execl.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/execle.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/execlp.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/execlpe.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/exect.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/execv.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/execvp.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/execvpe.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/exit.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/fclose.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/fflush.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/fgetc.c/1.1.1.1/Mon Nov 17 19:06:16 2003// +/fgetgren.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/fgetpwen.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/fgets.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/fopen.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/fprintf.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/fputc.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/fputs.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/fputter.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/fread.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/free.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/free.c$/1.1.1.1/Mon Nov 17 19:06:18 2003// +/fscanf.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/ftell.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/fwrite.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/getcwd.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/getenv.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/getgrent.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/getgrgid.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/getgrnam.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/getopt.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/getpass.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/getpw.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/getpwent.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/getpwnam.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/getpwuid.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/gets.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/gmtime.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/grp-l.h/1.1.1.1/Mon Nov 17 19:06:18 2003// +/initgrup.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/io64180.inc/1.1.1.1/Mon Nov 17 19:06:18 2003// +/isatty.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/itoa.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/liberror.src/1.1.1.1/Mon Nov 17 19:06:18 2003// +/localtim.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/longjmp_banked.S/1.1.1.1/Mon Nov 17 19:06:18 2003// +/longjmp_large.S/1.1.1.1/Mon Nov 17 19:06:18 2003// +/lsearch.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/lseek.c$/1.1.1.1/Mon Nov 17 19:06:18 2003// +/lstat.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/ltoa.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/ltostr.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/makefile/1.1.1.1/Mon Nov 17 19:06:18 2003// +/malloc-l.h/1.1.1.1/Mon Nov 17 19:06:18 2003// +/malloc-l.h$/1.1.1.1/Mon Nov 17 19:06:18 2003// +/malloc.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/malloc.c$/1.1.1.1/Mon Nov 17 19:06:18 2003// +/mem-l.h/1.1.1.1/Mon Nov 17 19:06:18 2003// +/memccpy.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/memchr.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/memcmp.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/memcpy.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/memmove.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/memset.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/mkdir.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/mktime.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/n.bat/1.1.1.1/Mon Nov 17 19:06:18 2003// +/n.xlb/1.1.1.1/Mon Nov 17 19:06:18 2003// +/opendir.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/passwd.h/1.1.1.1/Mon Nov 17 19:06:18 2003// +/perror.asm/1.1.1.1/Mon Nov 17 19:06:18 2003// +/perror.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/popen.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/printf.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/printf.h/1.1.1.1/Mon Nov 17 19:06:18 2003// +/putenv.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/putgetch.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/putpwent.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/qsort.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/rand.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/readdir.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/readlink.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/realloc.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/realloc.c$/1.1.1.1/Mon Nov 17 19:06:18 2003// +/regerror.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/regexp.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/regsub.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/rename.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/rewind.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/rewindir.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/rmdir.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/scanf.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/scanf.h/1.1.1.1/Mon Nov 17 19:06:18 2003// +/setbuff.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/setenv.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/setgrent.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/setjmp_banked.S/1.1.1.1/Mon Nov 17 19:06:18 2003// +/setjmp_large.S/1.1.1.1/Mon Nov 17 19:06:18 2003// +/setpwent.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/setvbuff.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/sleep.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/sprintf.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/sputter.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/sscanf.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/stdio-l.h/1.1.1.1/Mon Nov 17 19:06:18 2003// +/stdio0.c/1.2/Tue Dec 2 07:41:10 2003// +/strcat.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/strchr.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/strcmp.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/strcpy.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/strcspn.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/strdup.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/stricmp.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/string-l.h/1.1.1.1/Mon Nov 17 19:06:18 2003// +/strlen.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/strncat.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/strncmp.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/strncpy.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/strnicmp.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/strpbrk.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/strrchr.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/strsep.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/strspn.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/strstr.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/strtod.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/strtok.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/strtol.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/strtoul.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/system.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/termcap.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/termcap.src/1.1.1.1/Mon Nov 17 19:06:18 2003// +/time-l.h/1.1.1.1/Mon Nov 17 19:06:18 2003// +/tmpnam.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/tparam.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/ttyname.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/tzset.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/ultoa.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/ungetc.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/unix.h$/1.1.1.1/Mon Nov 17 19:06:18 2003// +/utsname.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/vfprintf.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/vfscanf.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/vprinter.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/vprintf.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/vscanf.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/vsprintf.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/vsscanf.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/xitoa.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +/xltoa.c/1.1.1.1/Mon Nov 17 19:06:18 2003// +D diff --git a/src/nos/crt/CVS/Repository b/src/nos/crt/CVS/Repository new file mode 100644 index 00000000..6ac606a3 --- /dev/null +++ b/src/nos/crt/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/crt diff --git a/src/nos/crt/CVS/Root b/src/nos/crt/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/crt/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/crt/auto.mk b/src/nos/crt/auto.mk new file mode 100644 index 00000000..c8c23ed8 --- /dev/null +++ b/src/nos/crt/auto.mk @@ -0,0 +1,53 @@ +# auto.mk by Nick for Hytech NOS/UZI project + +# ----------------------------------------------------------------------------- + +SUBDIRS= + +# we don't need crt0_banked.* yet, because main provides crt0_kernel.* +OUTPUTS= crt_banked.$(LIBEXT) +#OUTPUTS= ../lib/crt0_banked.$(OBJEXT) crt_banked.$(LIBEXT) +# +#___lib_crt0_banked_$(OBJEXT)_SOURCES= \ +# crt0_banked.S + +# this should be phased out by editing the files eg. alloca-l.h +crt_banked_$(LIBEXT)_DEFINES= \ + $(DEFINES) MAKE_ALL + +# this should be phased out by removing $(NOSINCDIR)/nos from $(INCDIRS), +# see host.mk, normally $(NOSINCDIR)/nos is searched before $(NOSINCDIR), +# but this causes problems because nos/stdio.h is found before stdio.h... +# for now we solve this problem by putting an extra $(NOSINCDIR) in front +crt_banked_$(LIBEXT)_INCDIRS= \ + $(NOSINCDIR) $(INCDIRS) + +crt_banked_$(LIBEXT)_SOURCES= \ + abort.c alloca.c asctime.c assert.c atexit.c atoi.c atol.c \ + bsearch.c calloc.c clock.c closedir.c convtime.c crypt.c \ + ctime.c ctype.c difftime.c error.c etime.c execl.c execle.c \ + execlp.c execlpe.c exect.c execv.c execvp.c execvpe.c exit.c \ + fclose.c fflush.c fgetc.c fgetgren.c fgetpwen.c fgets.c \ + fopen.c fprintf.c fputc.c fputs.c fputter.c fread.c free.c \ + fscanf.c ftell.c fwrite.c getcwd.c getenv.c getgrent.c \ + getgrgid.c getgrnam.c getopt.c getpass.c getpw.c getpwent.c \ + getpwnam.c getpwuid.c gets.c gmtime.c initgrup.c isatty.c \ + itoa.c localtim.c longjmp_banked.S lsearch.c lstat.c ltoa.c \ + ltostr.c malloc.c memccpy.c memchr.c memcmp.c memcpy.c \ + memmove.c memset.c mkdir.c mktime.c opendir.c perror.c \ + popen.c printf.c putenv.c putgetch.c putpwent.c qsort.c \ + rand.c readdir.c readlink.c realloc.c regerror.c regexp.c \ + regsub.c rename.c rewind.c rewindir.c rmdir.c scanf.c \ + setbuff.c setenv.c setgrent.c setjmp_banked.S setpwent.c \ + setvbuff.c sleep.c sprintf.c sputter.c sscanf.c stdio0.c \ + strcat.c strchr.c strcmp.c strcpy.c strcspn.c strdup.c \ + stricmp.c strlen.c strncat.c strncmp.c strncpy.c strnicmp.c \ + strpbrk.c strrchr.c strsep.c strspn.c strstr.c \ + strtok.c strtol.c strtoul.c system.c termcap.c tmpnam.c \ + tparam.c ttyname.c tzset.c ultoa.c ungetc.c utsname.c \ + vfprintf.c vfscanf.c vprinter.c vprintf.c vscanf.c vsprintf.c \ + vsscanf.c xitoa.c xltoa.c +# strtod.c + +# ----------------------------------------------------------------------------- + diff --git a/src/nos/crt/build-b.ban b/src/nos/crt/build-b.ban index 9a602176..2d6cea44 100644 --- a/src/nos/crt/build-b.ban +++ b/src/nos/crt/build-b.ban @@ -1,15 +1,15 @@ -tradcpp -I../../include ../crt0b.S crt0_banked.asm +tradcpp -I../../include ../crt0_banked.S crt0_banked.asm as-z80 -l -o -z crt0_banked.asm @if errorlevel 1 goto failure copy crt0_banked.rel ..\..\lib copy crt0_banked.lst ..\..\lib -tradcpp -I../../include ../setjmpb.S setjmp.asm -as-z80 -l -o -z setjmp.asm +tradcpp -I../../include ../setjmp_banked.S setjmp_banked.asm +as-z80 -l -o -z setjmp_banked.asm @if errorlevel 1 goto failure -tradcpp -I../../include ../longjmpb.S longjmp.asm -as-z80 -l -o -z longjmp.asm +tradcpp -I../../include ../longjmp_banked.S longjmp_banked.asm +as-z80 -l -o -z longjmp_banked.asm @if errorlevel 1 goto failure iccz80 -S -w -mb -v1 -z -A -I..\..\include\ -I..\..\..\kernel\uzi\ -DMAKE_ALL -H_abort ..\abort diff --git a/src/nos/crt/crt0b.S b/src/nos/crt/crt0_banked.S similarity index 100% rename from src/nos/crt/crt0b.S rename to src/nos/crt/crt0_banked.S diff --git a/src/nos/crt/crt0l.S b/src/nos/crt/crt0_large.S similarity index 100% rename from src/nos/crt/crt0l.S rename to src/nos/crt/crt0_large.S diff --git a/src/nos/crt/crt_banked.lbr b/src/nos/crt/crt_banked.lbr index 5dc9d118..2f4d7aeb 100644 --- a/src/nos/crt/crt_banked.lbr +++ b/src/nos/crt/crt_banked.lbr @@ -59,7 +59,7 @@ initgrup isatty itoa localtim -longjmp +longjmp_banked lsearch lstat ltoa @@ -96,7 +96,7 @@ scanf setbuff setenv setgrent -setjmp +setjmp_banked setpwent setvbuff sleep diff --git a/src/nos/crt/crt_large.lbr b/src/nos/crt/crt_large.lbr index 94eada53..7b8efa1d 100644 --- a/src/nos/crt/crt_large.lbr +++ b/src/nos/crt/crt_large.lbr @@ -59,7 +59,7 @@ initgrup isatty itoa localtim -longjmp +longjmp_large lsearch lstat ltoa @@ -96,7 +96,7 @@ scanf setbuff setenv setgrent -setjmp +setjmp_large setpwent setvbuff sleep diff --git a/src/nos/crt/etime.c b/src/nos/crt/etime.c index 6290aad0..022fc4a8 100644 --- a/src/nos/crt/etime.c +++ b/src/nos/crt/etime.c @@ -1,12 +1,15 @@ /* etime.c added by Nick from UZI280 clib, since not included in UZIX1.0 */ #include /* also types.h */ +#if 0 /* Nick has moved TICKSPERSEC from unix.h into time.h */ #include /* for the HZ definition */ +#endif #define HZ TICKSPERSEC /* due to change in nomenclature */ /* Convert date to string */ static char *s; +static dout(int n); /* Nick added forward reference to help the compiler */ #if 0 /* Nick... see ctime.c, it is more advanced and has GMT conversion */ char * diff --git a/src/nos/crt/getcwd.c b/src/nos/crt/getcwd.c index 7ed9b19c..7e47892a 100644 --- a/src/nos/crt/getcwd.c +++ b/src/nos/crt/getcwd.c @@ -90,6 +90,7 @@ static char *recurser() { if (this_dev == root_dev && this_ino == root_ino) { #else if (this_dev == (uint)root_dev && this_ino == (uint)root_ino) { +#endif /*RPB*/ strcpy(path_buf, "/"); return path_buf; diff --git a/src/nos/crt/getopt.c b/src/nos/crt/getopt.c index f27fcfce..46cb1c9e 100644 --- a/src/nos/crt/getopt.c +++ b/src/nos/crt/getopt.c @@ -1,7 +1,7 @@ /* * getopt - parse command-line options */ -/* $Header: getopt.c,v 1.1 89/12/18 14:39:31 eck Exp $ */ +/* $Header: /home/cvsroot/uzi/src/nos/crt/getopt.c,v 1.1.1.1 2003/11/17 19:06:17 nick Exp $ */ #include #include diff --git a/src/nos/crt/io64180.inc b/src/nos/crt/io64180.inc index 01380ae1..07ef7d73 100644 --- a/src/nos/crt/io64180.inc +++ b/src/nos/crt/io64180.inc @@ -3,7 +3,7 @@ ; This files defines the internal register addresses ; for HD64180 ; -; File version: $Revision: 1.4 $ +; File version: $Revision: 1.1.1.1 $ ; ; */ ; diff --git a/src/nos/crt/longjmp_banked.S b/src/nos/crt/longjmp_banked.S new file mode 100644 index 00000000..ff9ffe59 --- /dev/null +++ b/src/nos/crt/longjmp_banked.S @@ -0,0 +1,104 @@ +; longjmp_banked.S +; Nick's reverse engineered subset of the IAR banked 'C' library + +; ----------------------------------------------------------------------------- + + module _longjmp_banked + + .if 1 ; virtual memory + extrn leave_entry + .else + extrn ?BANK_FAST_LEAVE_L08 + .endif + +#include "z80/asm.h" + +; ----------------------------------------------------------------------------- + + rseg CODE + + public _longjmp +_longjmp: + .if 1 + ld a,b + or c + jr nz,ok_return + inc bc +ok_return: + ex de,hl + ld e,(hl) + inc hl + ld d,(hl) + inc hl + ex de,hl + ; need to disable interrupts here for proper bank switching + ld sp,hl + ex de,hl + .if 1 ; virtual memory + ld e,(hl) + inc hl + ld d,(hl) ; de = BBR_REFERENCE at time of setjmp + inc hl + ex de,hl + ld a,(hl) + ; note: this won't work if the BBR value is actually being changed + out0 (BBR),a + inc hl + ld a,(hl) + ; note: this won't work if the CBAR value is actually being changed + out0 (CBAR),a + ex de,hl + .endif + push bc ; bc = integer value passed to longjmp + ld c,(hl) + inc hl + ld b,(hl) ; bc = bc value at time of setjmp + inc hl + ld e,(hl) + inc hl + ld d,(hl) + inc hl + push de + pop ix + ld e,(hl) + inc hl + ld d,(hl) + inc hl + push de + pop iy + ld e,(hl) + inc hl + ld d,(hl) ; de = return addr from call to setjmp + inc hl + .if 1 ; virtual memory + ex de,hl ; hl = return addr from call to setjmp + ex (sp),hl ; hl = integer value passed to longjmp + push hl ; stack them both in correct order + ex de,hl + ld e,(hl) + inc hl + ld d,(hl) + ex de,hl ; hl = CBR_REFERENCE at time of setjmp + jp leave_entry ; ?BANK_FAST_LEAVE_L08 ex (sp),hl skip + .else + ld a,(hl) + pop hl + push de + push af + jp ?BANK_FAST_LEAVE_L08 + .endif + .else + defb 078h,0B1h,020h,001h,003h,0EBh,05Eh + defb 023h,056h,023h,0EBh,0F9h,0EBh,0C5h + defb 04Eh,023h,046h,023h,05Eh,023h,056h + defb 023h,0D5h,0DDh,0E1h,05Eh,023h,056h + defb 023h,0D5h,0FDh,0E1h,05Eh,023h,056h + defb 023h,07Eh,0E1h,0D5h,0F5h,0C3h + defw LWRD ?BANK_FAST_LEAVE_L08 + .endif + + endmod + +; ----------------------------------------------------------------------------- + + end diff --git a/src/nos/crt/longjmp_large.S b/src/nos/crt/longjmp_large.S new file mode 100644 index 00000000..90d51f42 --- /dev/null +++ b/src/nos/crt/longjmp_large.S @@ -0,0 +1,23 @@ +; longjmp_large.S +; Nick's reverse engineered subset of the IAR large 'C' library + +; ----------------------------------------------------------------------------- + + module _longjmp_large + + rseg CODE + + public _longjmp + +_longjmp: defb 078h,0B1h,020h,001h,003h,0EBh,05Eh + defb 023h,056h,023h,0EBh,0F9h,0EBh,0C5h + defb 04Eh,023h,046h,023h,05Eh,023h,056h + defb 023h,0D5h,0DDh,0E1h,05Eh,023h,056h + defb 023h,0D5h,0FDh,0E1h,05Eh,023h,056h + defb 0E1h,0D5h,0C9h + + endmod + +; ----------------------------------------------------------------------------- + + END diff --git a/src/nos/crt/longjmpb.S b/src/nos/crt/longjmpb.S deleted file mode 100644 index a5eac1c3..00000000 --- a/src/nos/crt/longjmpb.S +++ /dev/null @@ -1,104 +0,0 @@ -; longjmpb.asm -; Nick's reverse engineered subset of the IAR banked 'C' library - -; ----------------------------------------------------------------------------- - - module _longjmpb - - .if 1 ; virtual memory - extrn leave_entry - .else - extrn ?BANK_FAST_LEAVE_L08 - .endif - -#include "z80/asm.h" - -; ----------------------------------------------------------------------------- - - rseg CODE - - public _longjmp -_longjmp: - .if 1 - ld a,b - or c - jr nz,ok_return - inc bc -ok_return: - ex de,hl - ld e,(hl) - inc hl - ld d,(hl) - inc hl - ex de,hl - ; need to disable interrupts here for proper bank switching - ld sp,hl - ex de,hl - .if 1 ; virtual memory - ld e,(hl) - inc hl - ld d,(hl) ; de = BBR_REFERENCE at time of setjmp - inc hl - ex de,hl - ld a,(hl) - ; note: this won't work if the BBR value is actually being changed - out0 (BBR),a - inc hl - ld a,(hl) - ; note: this won't work if the CBAR value is actually being changed - out0 (CBAR),a - ex de,hl - .endif - push bc ; bc = integer value passed to longjmp - ld c,(hl) - inc hl - ld b,(hl) ; bc = bc value at time of setjmp - inc hl - ld e,(hl) - inc hl - ld d,(hl) - inc hl - push de - pop ix - ld e,(hl) - inc hl - ld d,(hl) - inc hl - push de - pop iy - ld e,(hl) - inc hl - ld d,(hl) ; de = return addr from call to setjmp - inc hl - .if 1 ; virtual memory - ex de,hl ; hl = return addr from call to setjmp - ex (sp),hl ; hl = integer value passed to longjmp - push hl ; stack them both in correct order - ex de,hl - ld e,(hl) - inc hl - ld d,(hl) - ex de,hl ; hl = CBR_REFERENCE at time of setjmp - jp leave_entry ; ?BANK_FAST_LEAVE_L08 ex (sp),hl skip - .else - ld a,(hl) - pop hl - push de - push af - jp ?BANK_FAST_LEAVE_L08 - .endif - .else - defb 078h,0B1h,020h,001h,003h,0EBh,05Eh - defb 023h,056h,023h,0EBh,0F9h,0EBh,0C5h - defb 04Eh,023h,046h,023h,05Eh,023h,056h - defb 023h,0D5h,0DDh,0E1h,05Eh,023h,056h - defb 023h,0D5h,0FDh,0E1h,05Eh,023h,056h - defb 023h,07Eh,0E1h,0D5h,0F5h,0C3h - defw LWRD ?BANK_FAST_LEAVE_L08 - .endif - - endmod - -; ----------------------------------------------------------------------------- - - end diff --git a/src/nos/crt/longjmpl.S b/src/nos/crt/longjmpl.S deleted file mode 100644 index e32d6e69..00000000 --- a/src/nos/crt/longjmpl.S +++ /dev/null @@ -1,19 +0,0 @@ -; longjmpl.asm -; Nick's reverse engineered subset of the IAR large 'C' library - -; ----------------------------------------------------------------------------- - - module _longjmpl - rseg CODE - public _longjmp -_longjmp: defb 078h,0B1h,020h,001h,003h,0EBh,05Eh - defb 023h,056h,023h,0EBh,0F9h,0EBh,0C5h - defb 04Eh,023h,046h,023h,05Eh,023h,056h - defb 023h,0D5h,0DDh,0E1h,05Eh,023h,056h - defb 023h,0D5h,0FDh,0E1h,05Eh,023h,056h - defb 0E1h,0D5h,0C9h - endmod - -; ----------------------------------------------------------------------------- - - END diff --git a/src/nos/crt/makefile b/src/nos/crt/makefile new file mode 100644 index 00000000..89c3988f --- /dev/null +++ b/src/nos/crt/makefile @@ -0,0 +1,10 @@ +# makefile by Nick for Hytech NOS/UZI project + +# ----------------------------------------------------------------------------- + +include ../make.d/host.mk +include auto.mk +$(GENERATE) + +# ----------------------------------------------------------------------------- + diff --git a/src/nos/crt/malloc-l.h b/src/nos/crt/malloc-l.h index 389cc7d5..12104438 100644 --- a/src/nos/crt/malloc-l.h +++ b/src/nos/crt/malloc-l.h @@ -18,7 +18,9 @@ typedef struct freelist { struct freelist *f_chain; } FREE; +#ifndef NULL /* Nick */ #define NULL (FREE *)0 +#endif #define GRAIN 1024 void *realloc(void *area, size_t size); diff --git a/src/nos/crt/n.baty b/src/nos/crt/n.baty deleted file mode 100644 index fda184d3..00000000 --- a/src/nos/crt/n.baty +++ /dev/null @@ -1,12 +0,0 @@ -md build-l -cd build-l -copy ..\build-l.ban n.bat -call n -cd .. - -md build-b -cd build-b -copy ..\build-b.ban n.bat -call n -cd .. - diff --git a/src/nos/crt/perror.c b/src/nos/crt/perror.c index cf29b04a..b715ca6e 100644 --- a/src/nos/crt/perror.c +++ b/src/nos/crt/perror.c @@ -24,7 +24,7 @@ static void wr2(str) } void perror(str) - register char *str; + register const char *str; /* Nick added const */ { if (!str) str = "error"; diff --git a/src/nos/crt/qsort.c b/src/nos/crt/qsort.c index 1ddff4d6..c8784dae 100644 --- a/src/nos/crt/qsort.c +++ b/src/nos/crt/qsort.c @@ -2,7 +2,7 @@ * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. * See the copyright notice in the ACK home directory, in the file "Copyright". */ -/* $Header: qsort.c,v 1.3 90/08/28 14:03:24 eck Exp $ */ +/* $Header: /home/cvsroot/uzi/src/nos/crt/qsort.c,v 1.1.1.1 2003/11/17 19:06:17 nick Exp $ */ #include @@ -13,7 +13,7 @@ static void qexchange(char *, char *, size_t); static void q3exchange(char *, char *, char *, size_t); static void -qsort1(char *a1, char *a2, register size_t width) +qsort1(char *a1, char *a2, /* Nick register */ size_t width) { register char *left, *right; register char *lefteq, *righteq; @@ -103,8 +103,8 @@ again: } static void -qexchange(register char *p, register char *q, - register size_t n) +qexchange(/* Nick register */ char *p, /* Nick register */ char *q, + /* Nick register */ size_t n) { register int c; @@ -116,8 +116,8 @@ qexchange(register char *p, register char *q, } static void -q3exchange(register char *p, register char *q, register char *r, - register size_t n) +q3exchange(/* Nick register */ char *p, /* Nick register */ char *q, + /* Nick register */ char *r, /* Nick register */ size_t n) { register int c; diff --git a/src/nos/crt/rename.c b/src/nos/crt/rename.c index 41c1b746..7128f619 100644 --- a/src/nos/crt/rename.c +++ b/src/nos/crt/rename.c @@ -4,8 +4,8 @@ #include int rename(oldname, newname) - char *oldname; - char *newname; + const char *oldname; /* Nick added const */ + const char *newname; /* Nick added const */ { int error = link(oldname, newname); diff --git a/src/nos/crt/setjmp.c$ b/src/nos/crt/setjmp.c$ deleted file mode 100644 index ea41a8c7..00000000 --- a/src/nos/crt/setjmp.c$ +++ /dev/null @@ -1,48 +0,0 @@ -/* - * setjmp.c for UZIX - * by A&L Software, 08/07/99 - */ -#include - -static int _lngjmprv = 1; - -#ifdef __TURBOC__ - -int setjmp (env) - jmp_buf env; -{ - env[0].di = _DI; - env[0].si = _SI; - env[0].bp = _BP; - env[0].sp = _SP; - __emit__(0x58); /* pop ax */ - __emit__(0x50); /* push ax */ - env[0].pc = _AX; - return 0; -} - -#if 1 -int longjmp(env, rv) /* Nick */ -#else -void longjmp(env, rv) -#endif - jmp_buf env; - int rv; -{ - _SP = env[0].sp; - _DI = env[0].di; - _SI = env[0].si; - _BP = env[0].bp; - __emit__(0x58); /* pop ax */ /* discards return from longjmp */ - _AX = env[0].pc; - __emit__(0x50); /* push ax */ /* now return is as it was from setjmp */ - if (rv) - return rv; - return 1; -} -#endif - -#ifdef HI_TECH_C -#include "setjmp.msx" -#endif - \ No newline at end of file diff --git a/src/nos/crt/setjmp.msx b/src/nos/crt/setjmp.msx deleted file mode 100644 index a842354b..00000000 --- a/src/nos/crt/setjmp.msx +++ /dev/null @@ -1,126 +0,0 @@ -/* - * setjmp.msx for UZIX - * by A&L Software, 08/07/99 - */ -#ifdef HI_TECH_C - -int setjmp (env) - jmp_buf env; /* int jmp_buf[7] */ -{ -#asm - ; DE = env - ; don't use stack here! - - defb 0FDh,07Dh ; LD A,IYl - saves IY - ld (de),a - inc de - defb 0FDh,07Ch ; LD A,IYh - ld (de),a - inc de - defb 0DDh,07Dh ; LD A,IXl - saves IX - ld (de),a - inc de - defb 0DDh,07Ch ; LD A,IXh - ld (de),a - inc de - ld a,c ; - saves BC - ld (de),a - inc de - ld a,b - ld (de),a - inc de - ld a,e ; - saves DE - ld (de),a - inc de - ld a,d - ld (de),a - inc de - ld a,l ; - saves HL - ld (de),a - inc de - ld a,h - ld (de),a - inc de - ld hl,0 - add hl,sp ; HL = SP - inc hl ; skip return address to after setjmp call - inc hl ; (it is saved below) - ld a,l ; - saves SP - ld (de),a - inc de - ld a,h - ld (de),a - inc de - pop hl ; HL = return address after setjmp call - push hl - ld a,l ; - saves PC - ld (de),a - inc de - ld a,h - ld (de),a - ld hl,0 - ret -#endasm -} - -void longjmp (env, rv) - jmp_buf env; - int rv; -{ -#asm - ; BC = rv, DE = env - ; don't use stack here! - global __lngjmprv - - ld (__lngjmprv),bc - ld hl,12 - add hl,de - ld b,(hl) - dec hl - ld c,(hl) ; BC = return address after setjmp call - dec hl - ld a,(hl) - dec hl - ld l,(hl) - ld h,a ; HL = saved SP in env - ld sp,hl ; - restores SP - push bc ; put return address in stack - ld a,(de) - defb 0FDh,06Fh ; LD IYl,A - restores IY - inc de - ld a,(de) - defb 0FDh,067h ; LD IYh,A - inc de - ld a,(de) - defb 0DDh,06Fh ; LD IXl,A - restores IX - inc de - ld a,(de) - defb 0DDh,067h ; LD IXh,A - inc de - ld a,(de) - ld c,a ; - restores BC - inc de - ld a,(de) - ld b,a - inc de - ld a,(de) - ;ld e,a ; - restores DE - inc de - ;ld a,(de) - ;ld d,a ; DE is the pointer, it can't be restored. - inc de ; anyway, it doesn't matter for lonjmp/setjmp - ;ld a,(de) - ;ld l,a ; - restores HL - inc de - ;ld a,(de) ; HL is the return value, it don't need to be - ;ld h,a ; restored, because it will be overwritten. - ld hl,(__lngjmprv) ; return value - ld a,h ; zero? - or l - ret nz ; return it if not - ld hl,1 - ret ; else return 1 -#endasm -} -#endif - diff --git a/src/nos/crt/setjmp_banked.S b/src/nos/crt/setjmp_banked.S new file mode 100644 index 00000000..c02a203a --- /dev/null +++ b/src/nos/crt/setjmp_banked.S @@ -0,0 +1,99 @@ +; setjmp_banked.S +; Nick's reverse engineered subset of the IAR banked 'C' library + +; ----------------------------------------------------------------------------- + + module _setjmp_banked + + .if 1 ; virtual memory + extrn leave_entry + .else + extern ?BANK_FAST_LEAVE_L08 + .endif + +#include "z80/asm.h" + +; ----------------------------------------------------------------------------- + + rseg CODE + + public _setjmp +_setjmp: + .if 1 + ld hl,4 + add hl,sp + ex de,hl + ld (hl),e + inc hl + ld (hl),d + inc hl + .if 1 ; virtual memory + ld a,(BBR_REFERENCE) + ld (hl),a + inc hl + ld (hl),#KRNL_TABLE >> 8 ; high word of BBR_REFERENCE value + inc hl + .endif + ld (hl),c + inc hl + ld (hl),b + inc hl + push ix + pop de + ld (hl),e + inc hl + ld (hl),d + inc hl + push iy + pop de + ld (hl),e + inc hl + ld (hl),d + inc hl + .if 1 ; virtual memory + ex de,hl + pop hl ; hl = CBR_REFERENCE at time of setjmp + ex (sp),hl ; hl = return addr from call to setjmp + ex de,hl + ld (hl),e + inc hl + ld (hl),d + inc hl + ex de,hl + ex (sp),hl ; hl = CBR_REFERENCE at time of setjmp + ex de,hl + ld (hl),e + inc hl + ld (hl),d + ld hl,0 ; hl = return value for call to setjmp + push hl + ex de,hl ; hl = CBR_REFERENCE at time of setjmp + jp leave_entry ; ?BANK_FAST_LEAVE_L08 ex (sp),hl skip + .else + pop af + pop de + push de + push af + ld (hl),e + inc hl + ld (hl),d + inc hl + ld (hl),a + ld hl,0 + jp ?BANK_FAST_LEAVE_L08 + .endif + .else + defb 021h,004h,000h,039h,0EBh,073h,023h + defb 072h,023h,071h,023h,070h,023h,0DDh + defb 0E5h,0D1h,073h,023h,072h,023h,0FDh + defb 0E5h,0D1h,073h,023h,072h,023h,0F1h + defb 0D1h,0D5h,0F5h,073h,023h,072h,023h + defb 077h,021h,000h,000h,0C3h + defw LWRD ?BANK_FAST_LEAVE_L08 + .endif + + endmod + +; ----------------------------------------------------------------------------- + + end diff --git a/src/nos/crt/setjmp_large.S b/src/nos/crt/setjmp_large.S new file mode 100644 index 00000000..159c1207 --- /dev/null +++ b/src/nos/crt/setjmp_large.S @@ -0,0 +1,23 @@ +; setjmp_large.S +; Nick's reverse engineered subset of the IAR large 'C' library + +; ----------------------------------------------------------------------------- + + module _setjmp_large + + rseg CODE + + public _setjmp + +_setjmp: defb 021h,002h,000h,039h,0EBh,073h,023h + defb 072h,023h,071h,023h,070h,023h,0DDh + defb 0E5h,0D1h,073h,023h,072h,023h,0FDh + defb 0E5h,0D1h,073h,023h,072h,023h,0D1h + defb 0D5h,073h,023h,072h,021h,000h,000h + defb 0C9h + + endmod + +; ----------------------------------------------------------------------------- + + END diff --git a/src/nos/crt/setjmpb.S b/src/nos/crt/setjmpb.S deleted file mode 100644 index e03e8fcc..00000000 --- a/src/nos/crt/setjmpb.S +++ /dev/null @@ -1,99 +0,0 @@ -; setjmpb.asm -; Nick's reverse engineered subset of the IAR banked 'C' library - -; ----------------------------------------------------------------------------- - - module _setjmpb - - .if 1 ; virtual memory - extrn leave_entry - .else - extern ?BANK_FAST_LEAVE_L08 - .endif - -#include "z80/asm.h" - -; ----------------------------------------------------------------------------- - - rseg CODE - - public _setjmp -_setjmp: - .if 1 - ld hl,4 - add hl,sp - ex de,hl - ld (hl),e - inc hl - ld (hl),d - inc hl - .if 1 ; virtual memory - ld a,(BBR_REFERENCE) - ld (hl),a - inc hl - ld (hl),#KRNL_TABLE >> 8 ; high word of BBR_REFERENCE value - inc hl - .endif - ld (hl),c - inc hl - ld (hl),b - inc hl - push ix - pop de - ld (hl),e - inc hl - ld (hl),d - inc hl - push iy - pop de - ld (hl),e - inc hl - ld (hl),d - inc hl - .if 1 ; virtual memory - ex de,hl - pop hl ; hl = CBR_REFERENCE at time of setjmp - ex (sp),hl ; hl = return addr from call to setjmp - ex de,hl - ld (hl),e - inc hl - ld (hl),d - inc hl - ex de,hl - ex (sp),hl ; hl = CBR_REFERENCE at time of setjmp - ex de,hl - ld (hl),e - inc hl - ld (hl),d - ld hl,0 ; hl = return value for call to setjmp - push hl - ex de,hl ; hl = CBR_REFERENCE at time of setjmp - jp leave_entry ; ?BANK_FAST_LEAVE_L08 ex (sp),hl skip - .else - pop af - pop de - push de - push af - ld (hl),e - inc hl - ld (hl),d - inc hl - ld (hl),a - ld hl,0 - jp ?BANK_FAST_LEAVE_L08 - .endif - .else - defb 021h,004h,000h,039h,0EBh,073h,023h - defb 072h,023h,071h,023h,070h,023h,0DDh - defb 0E5h,0D1h,073h,023h,072h,023h,0FDh - defb 0E5h,0D1h,073h,023h,072h,023h,0F1h - defb 0D1h,0D5h,0F5h,073h,023h,072h,023h - defb 077h,021h,000h,000h,0C3h - defw LWRD ?BANK_FAST_LEAVE_L08 - .endif - - endmod - -; ----------------------------------------------------------------------------- - - end diff --git a/src/nos/crt/setjmpl.S b/src/nos/crt/setjmpl.S deleted file mode 100644 index 49b0eaae..00000000 --- a/src/nos/crt/setjmpl.S +++ /dev/null @@ -1,19 +0,0 @@ -; setjmpl.asm -; Nick's reverse engineered subset of the IAR large 'C' library - -; ----------------------------------------------------------------------------- - - module _setjmpl - rseg CODE - public _setjmp -_setjmp: defb 021h,002h,000h,039h,0EBh,073h,023h - defb 072h,023h,071h,023h,070h,023h,0DDh - defb 0E5h,0D1h,073h,023h,072h,023h,0FDh - defb 0E5h,0D1h,073h,023h,072h,023h,0D1h - defb 0D5h,073h,023h,072h,021h,000h,000h - defb 0C9h - endmod - -; ----------------------------------------------------------------------------- - - END diff --git a/src/nos/crt/stdio0.c b/src/nos/crt/stdio0.c index a7dd9dcd..5a655bf4 100644 --- a/src/nos/crt/stdio0.c +++ b/src/nos/crt/stdio0.c @@ -24,16 +24,19 @@ static unsigned char bufout[BUFSIZ]; static unsigned char buferr[BUFSIZ]; #endif +#undef stdin /* Nick, see errno.h and nos/proc.h */ FILE stdin[1] = { {bufin, bufin, bufin, bufin, bufin + sizeof(bufin), 0, _IOFBF | __MODE_READ | __MODE_IOTRAN} }; +#undef stdout /* Nick, see errno.h and nos/proc.h */ FILE stdout[1] = { {bufout, bufout, bufout, bufout, bufout + sizeof(bufout), 1, _IOFBF | __MODE_WRITE | __MODE_IOTRAN} }; +#undef stderr /* Nick, see errno.h and nos/proc.h */ FILE stderr[1] = { {buferr, buferr, buferr, buferr, buferr + sizeof(buferr), 2, _IONBF | __MODE_WRITE | __MODE_IOTRAN} diff --git a/src/nos/crt/termcap.c b/src/nos/crt/termcap.c index bc437e90..914e85ef 100644 --- a/src/nos/crt/termcap.c +++ b/src/nos/crt/termcap.c @@ -139,7 +139,11 @@ char *tgetstr(cap, area) */ static char esctab[] = /* @ a b c d e f g h i j k l m n o p q r s t u v w x y z */ +#if 1 /* Nick fixes an IAR compiler warning */ + " \a\b \033\f \n \r \v "; +#else "\ \a\b\ \ \033\f\ \ \ \ \ \ \ \n\ \ \ \r\ \ \ \v\ \ \ \ "; +#endif /* PTR points to a string value inside a termcap entry. Copy that value, processing \ and ^ abbreviations, diff --git a/src/nos/crt/tparam.c b/src/nos/crt/tparam.c index f724861f..08688405 100644 --- a/src/nos/crt/tparam.c +++ b/src/nos/crt/tparam.c @@ -66,7 +66,7 @@ char *tparam(string, outstring, len, arg0, arg1, arg2, arg3) arg[3] = arg3; return tparam1(string, outstring, len, NULL, NULL, arg); #else - (void)arg1; (void)arg2; (void)arg3; + /* Nick (void)arg1; (void)arg2; (void)arg3; */ return tparam1(string, outstring, len, NULL, NULL, &arg0); #endif } diff --git a/src/nos/crt/utsname.c b/src/nos/crt/utsname.c index 1c1fb9aa..292812f0 100644 --- a/src/nos/crt/utsname.c +++ b/src/nos/crt/utsname.c @@ -8,12 +8,16 @@ #include #include #include +#if 1 /* Nick for GI_KDAT etc */ +#include +#else #ifdef __TURBOC__ #include <..\kernel\unix.h> /* Nick #endif */ #else /* Nick #ifdef HI_TECH_C */ #include #endif +#endif int uname (__utsbuf) struct utsname *__utsbuf; diff --git a/src/nos/doc/CVS/Entries b/src/nos/doc/CVS/Entries new file mode 100644 index 00000000..bfdc7c04 --- /dev/null +++ b/src/nos/doc/CVS/Entries @@ -0,0 +1,12 @@ +/bmexe332.zip/1.1.1.1/Mon Nov 17 19:06:18 2003/-kb/ +/bmpgp01.zip/1.1.1.1/Mon Nov 17 19:06:18 2003/-kb/ +/intronos.zip/1.1.1.1/Mon Nov 17 19:06:18 2003/-kb/ +/ka9qbgn.zip/1.1.1.1/Mon Nov 17 19:06:18 2003/-kb/ +/man_9106.zip/1.1.1.1/Mon Nov 17 19:06:18 2003/-kb/ +/rurtcp.zip/1.1.1.1/Mon Nov 17 19:06:18 2003/-kb/ +D/bmexe332//// +D/bmpgp01//// +D/intronos//// +D/ka9qbgn//// +D/man_9106//// +D/rurtcp//// diff --git a/src/nos/doc/CVS/Repository b/src/nos/doc/CVS/Repository new file mode 100644 index 00000000..6d0e9988 --- /dev/null +++ b/src/nos/doc/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/doc diff --git a/src/nos/doc/CVS/Root b/src/nos/doc/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/doc/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/doc/bmexe332/BM.MM b/src/nos/doc/bmexe332/BM.MM index 61699e54..8c4cf260 100644 --- a/src/nos/doc/bmexe332/BM.MM +++ b/src/nos/doc/bmexe332/BM.MM @@ -158,7 +158,7 @@ This file is created by \f3BM\f1. The timezone used in mail headers is obtained from the DOS environment variable TZ. An example TZ setting is: .DS I -set TZ=EDT4 +set TZ=EDT4 .DE It is set in your AUTOEXEC.BAT file. The first 3 characters are the timezone and the fourth character is the number of hours diff --git a/src/nos/doc/bmexe332/CVS/Entries b/src/nos/doc/bmexe332/CVS/Entries new file mode 100644 index 00000000..0e4a9dfe --- /dev/null +++ b/src/nos/doc/bmexe332/CVS/Entries @@ -0,0 +1,4 @@ +/BM.DOC/1.1.1.1/Mon Nov 17 19:06:18 2003// +/BM.EXE/1.1.1.1/Mon Nov 17 19:06:18 2003/-kb/ +/BM.MM/1.1.1.1/Mon Nov 17 19:06:18 2003// +D diff --git a/src/nos/doc/bmexe332/CVS/Repository b/src/nos/doc/bmexe332/CVS/Repository new file mode 100644 index 00000000..062ad11a --- /dev/null +++ b/src/nos/doc/bmexe332/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/doc/bmexe332 diff --git a/src/nos/doc/bmexe332/CVS/Root b/src/nos/doc/bmexe332/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/doc/bmexe332/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/doc/bmpgp01/CVS/Entries b/src/nos/doc/bmpgp01/CVS/Entries new file mode 100644 index 00000000..f373b9de --- /dev/null +++ b/src/nos/doc/bmpgp01/CVS/Entries @@ -0,0 +1,17 @@ +/BM.DOC/1.1.1.1/Mon Nov 17 19:06:18 2003// +/BM.EXE/1.1.1.1/Mon Nov 17 19:06:18 2003/-kb/ +/BM.H/1.1.1.1/Mon Nov 17 19:06:18 2003// +/BM.RC/1.1.1.1/Mon Nov 17 19:06:18 2003// +/BMUTIL.C/1.1.1.1/Mon Nov 17 19:06:18 2003// +/FILE_ID.DIZ/1.1.1.1/Mon Nov 17 19:06:18 2003// +/GETOPT.C/1.1.1.1/Mon Nov 17 19:06:18 2003// +/HEADER.C/1.1.1.1/Mon Nov 17 19:06:18 2003// +/HEADER.H/1.1.1.1/Mon Nov 17 19:06:18 2003// +/MAIN.C/1.1.1.1/Mon Nov 17 19:06:18 2003// +/MAKEFILE/1.1.1.1/Mon Nov 17 19:06:18 2003// +/PC.C/1.1.1.1/Mon Nov 17 19:06:18 2003// +/PGP.C/1.1.1.1/Mon Nov 17 19:06:18 2003// +/SEND.C/1.1.1.1/Mon Nov 17 19:06:18 2003// +/SIGNATUR.SIG/1.1.1.1/Mon Nov 17 19:06:18 2003// +/WILDMAT.C/1.1.1.1/Mon Nov 17 19:06:18 2003// +D diff --git a/src/nos/doc/bmpgp01/CVS/Repository b/src/nos/doc/bmpgp01/CVS/Repository new file mode 100644 index 00000000..e6f46e91 --- /dev/null +++ b/src/nos/doc/bmpgp01/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/doc/bmpgp01 diff --git a/src/nos/doc/bmpgp01/CVS/Root b/src/nos/doc/bmpgp01/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/doc/bmpgp01/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/doc/bmpgp01/PGP.C b/src/nos/doc/bmpgp01/PGP.C index e43903a5..7c5d7a66 100644 --- a/src/nos/doc/bmpgp01/PGP.C +++ b/src/nos/doc/bmpgp01/PGP.C @@ -1,221 +1,221 @@ -#include -#include -#include -#include -#include -#include "bm.h" - -char tpgpin[LINELEN]; -char tpgpout[LINELEN]; - -void -pgp_ini( void ) -{ - strcpy( tpgpin, tmpdir ); - strcat( tpgpin, "\\pgpin.$$$" ); - strcpy( tpgpout, tmpdir ); - strcat( tpgpout, "\\pgpout.$$$" ); -} - -void -pgp_err( int pgperr ) -{ - char *s; - - if ( pgperr == 0 ) - return; - if ( pgperr == -1 ) - { - switch ( errno ) - { - case E2BIG: - s = "Argument list or environment list too big"; - case EINVAL: - s = "Invalid 'modeflag' argument"; - case ENOENT: - s = "PGP.EXE not found or PGPPATH variable not set"; - case ENOEXEC: - s = "PGP.EXE is not an executable file"; - case ENOMEM: - s = "Not enough memory to run PGP"; - } - printf( "\r\n%s\r\n", s ); - } - else - { - switch ( pgperr ) - { - case 0: - s = "exit ok"; - case 1: - s = "invalid file"; - case 2: - s = "file not found"; - case 3: - s = "unknown file"; - case 4: - s = "no batch"; - case 5: - s = "bad argument"; - case 6: - s = "interrupt"; - case 7: - s = "out of memory"; -/* keyring errors: base value = 10 */ - case 10: - s = "key generation"; - case 11: - s = "nonexist key"; - case 12: - s = "keyring add"; - case 13: - s = "keyring extract"; - case 14: - s = "keyring edit"; - case 15: - s = "keyring view"; - case 16: - s = "keyring remove"; - case 17: - s = "keyring check"; - case 18: - s = "key signature"; - case 19: - s = "keysig remove"; -/* encode errors: base value = 20 */ - case 20: - s = "signature"; - case 21: - s = "RSA encryption"; - case 22: - s = "encrypt"; - case 23: - s = "compress"; -/* decode errors: base value = 30 */ - case 30: - s = "signature check"; - case 31: - s = "RSA decryption"; - case 32: - s = "decrypt"; - case 33: - s = "decompress"; - default: - s = "unknown"; - } - printf( "\r\nPGP has returned a %s error\r\n", s ); - } - printf( "No encryption/decryption done... press any key\r\n" ); - getch( ); -} - -int -send_pgp( char *ln, FILE * fin, FILE * fout, char *user ) -{ - FILE *fpgp; - char *to_pgp_usr, *s; - int pgperr; - - if ( strncmp( ln, "[pgp on", 7 ) == 0 ) - { - s = ln + 7; - while ( *s == ' ' || *s == '\t' ) - s++; - if ( *s == ']' || *s == '\n' ) - to_pgp_usr = strdupw( user ); - else - { - to_pgp_usr = strdupw( s ); - s = to_pgp_usr; - while ( *s != ' ' && *s != '\t' && *s != ']' && *s != '\n' ) - s++; - *s = '\0'; - } - if ( ( fpgp = fopen( tpgpin, "wt" ) ) != NULLFILE ) - { - while ( ( fgets( ln, XLINELEN, fin ) ) != NULLCHAR ) - if ( strncmp( ln, "[pgp of", 7 ) != 0 ) - fputs( ln, fpgp ); - else - break; - fclose( fpgp ); - strcpy( ln, getenv( "PGPPATH" ) ); - strcat( ln, "\\pgp.exe" ); - pgperr = spawnl( P_WAIT, ln, "pgp", "-esat", - "-o", tpgpout, tpgpin, to_pgp_usr, NULL ); - free( to_pgp_usr ); - if ( pgperr || ( fpgp = fopen( tpgpout, "rt" ) ) == NULLFILE ) - fpgp = fopen( tpgpin, "rt" ); - while ( ( fgets( ln, XLINELEN, fpgp ) ) != NULLCHAR ) - fputs( ln, fout ); - fclose( fpgp ); - pgp_err( pgperr ); - unlink( tpgpin ); - unlink( tpgpout ); - } - } - else if ( fputs( ln, fout ) == EOF ) - return 1; - return 0; -} - -int -recv_pgp( char *ln, FILE * fin, FILE * fout, struct let * cmsg ) -{ - FILE *fpgp; - int pgperr; - char lstr[LINELEN]; - char *s; - - if ( strncmp( ln, "-----BEGIN PGP", 14 ) == 0 ) - { - if ( ( fpgp = fopen( tpgpin, "wt" ) ) != NULLFILE ) - { - fputs( ln, fpgp ); - do - { - if ( fgets( ln, LINELEN, fin ) == NULLCHAR ) - break; - fputs( ln, fpgp ); - } while ( strncmp( ln, "-----END PGP", 12 ) != 0 ); - fclose( fpgp ); - strcpy( lstr, getenv( "PGPPATH" ) ); - strcat( lstr, "\\pgp.exe" ); - pgperr = spawnl( P_WAIT, lstr, "pgp", "-p", - "-o", tpgpout, tpgpin, NULL ); - if ( pgperr || ( fpgp = fopen( tpgpout, "rt" ) ) == NULLFILE ) - fpgp = fopen( tpgpin, "rt" ); - if ( !pgperr ) - { - s = "[pgp on]\n"; - cmsg->size += strlen( s ); - fputs( s, fout ); - } - while ( fgets( ln, LINELEN, fpgp ) != NULLCHAR ) - { - cmsg->size += strlen( ln ); - fputs( ln, fout ); - } - if ( !pgperr ) - { - s = "[pgp off]\n"; - cmsg->size += strlen( s ); - fputs( s, fout ); - } - fclose( fpgp ); - change = 1; - unlink( tpgpin ); - unlink( tpgpout ); - pgp_err( pgperr ); - } - else - { - printf( "Unable to create PGP tmp file\r\n" ); - printf( "Message left encrypted... press any key\r\n" ); - getch( ); - } - return 1; - } - else - return 0; -} +#include +#include +#include +#include +#include +#include "bm.h" + +char tpgpin[LINELEN]; +char tpgpout[LINELEN]; + +void +pgp_ini( void ) +{ + strcpy( tpgpin, tmpdir ); + strcat( tpgpin, "\\pgpin.$$$" ); + strcpy( tpgpout, tmpdir ); + strcat( tpgpout, "\\pgpout.$$$" ); +} + +void +pgp_err( int pgperr ) +{ + char *s; + + if ( pgperr == 0 ) + return; + if ( pgperr == -1 ) + { + switch ( errno ) + { + case E2BIG: + s = "Argument list or environment list too big"; + case EINVAL: + s = "Invalid 'modeflag' argument"; + case ENOENT: + s = "PGP.EXE not found or PGPPATH variable not set"; + case ENOEXEC: + s = "PGP.EXE is not an executable file"; + case ENOMEM: + s = "Not enough memory to run PGP"; + } + printf( "\r\n%s\r\n", s ); + } + else + { + switch ( pgperr ) + { + case 0: + s = "exit ok"; + case 1: + s = "invalid file"; + case 2: + s = "file not found"; + case 3: + s = "unknown file"; + case 4: + s = "no batch"; + case 5: + s = "bad argument"; + case 6: + s = "interrupt"; + case 7: + s = "out of memory"; +/* keyring errors: base value = 10 */ + case 10: + s = "key generation"; + case 11: + s = "nonexist key"; + case 12: + s = "keyring add"; + case 13: + s = "keyring extract"; + case 14: + s = "keyring edit"; + case 15: + s = "keyring view"; + case 16: + s = "keyring remove"; + case 17: + s = "keyring check"; + case 18: + s = "key signature"; + case 19: + s = "keysig remove"; +/* encode errors: base value = 20 */ + case 20: + s = "signature"; + case 21: + s = "RSA encryption"; + case 22: + s = "encrypt"; + case 23: + s = "compress"; +/* decode errors: base value = 30 */ + case 30: + s = "signature check"; + case 31: + s = "RSA decryption"; + case 32: + s = "decrypt"; + case 33: + s = "decompress"; + default: + s = "unknown"; + } + printf( "\r\nPGP has returned a %s error\r\n", s ); + } + printf( "No encryption/decryption done... press any key\r\n" ); + getch( ); +} + +int +send_pgp( char *ln, FILE * fin, FILE * fout, char *user ) +{ + FILE *fpgp; + char *to_pgp_usr, *s; + int pgperr; + + if ( strncmp( ln, "[pgp on", 7 ) == 0 ) + { + s = ln + 7; + while ( *s == ' ' || *s == '\t' ) + s++; + if ( *s == ']' || *s == '\n' ) + to_pgp_usr = strdupw( user ); + else + { + to_pgp_usr = strdupw( s ); + s = to_pgp_usr; + while ( *s != ' ' && *s != '\t' && *s != ']' && *s != '\n' ) + s++; + *s = '\0'; + } + if ( ( fpgp = fopen( tpgpin, "wt" ) ) != NULLFILE ) + { + while ( ( fgets( ln, XLINELEN, fin ) ) != NULLCHAR ) + if ( strncmp( ln, "[pgp of", 7 ) != 0 ) + fputs( ln, fpgp ); + else + break; + fclose( fpgp ); + strcpy( ln, getenv( "PGPPATH" ) ); + strcat( ln, "\\pgp.exe" ); + pgperr = spawnl( P_WAIT, ln, "pgp", "-esat", + "-o", tpgpout, tpgpin, to_pgp_usr, NULL ); + free( to_pgp_usr ); + if ( pgperr || ( fpgp = fopen( tpgpout, "rt" ) ) == NULLFILE ) + fpgp = fopen( tpgpin, "rt" ); + while ( ( fgets( ln, XLINELEN, fpgp ) ) != NULLCHAR ) + fputs( ln, fout ); + fclose( fpgp ); + pgp_err( pgperr ); + unlink( tpgpin ); + unlink( tpgpout ); + } + } + else if ( fputs( ln, fout ) == EOF ) + return 1; + return 0; +} + +int +recv_pgp( char *ln, FILE * fin, FILE * fout, struct let * cmsg ) +{ + FILE *fpgp; + int pgperr; + char lstr[LINELEN]; + char *s; + + if ( strncmp( ln, "-----BEGIN PGP", 14 ) == 0 ) + { + if ( ( fpgp = fopen( tpgpin, "wt" ) ) != NULLFILE ) + { + fputs( ln, fpgp ); + do + { + if ( fgets( ln, LINELEN, fin ) == NULLCHAR ) + break; + fputs( ln, fpgp ); + } while ( strncmp( ln, "-----END PGP", 12 ) != 0 ); + fclose( fpgp ); + strcpy( lstr, getenv( "PGPPATH" ) ); + strcat( lstr, "\\pgp.exe" ); + pgperr = spawnl( P_WAIT, lstr, "pgp", "-p", + "-o", tpgpout, tpgpin, NULL ); + if ( pgperr || ( fpgp = fopen( tpgpout, "rt" ) ) == NULLFILE ) + fpgp = fopen( tpgpin, "rt" ); + if ( !pgperr ) + { + s = "[pgp on]\n"; + cmsg->size += strlen( s ); + fputs( s, fout ); + } + while ( fgets( ln, LINELEN, fpgp ) != NULLCHAR ) + { + cmsg->size += strlen( ln ); + fputs( ln, fout ); + } + if ( !pgperr ) + { + s = "[pgp off]\n"; + cmsg->size += strlen( s ); + fputs( s, fout ); + } + fclose( fpgp ); + change = 1; + unlink( tpgpin ); + unlink( tpgpout ); + pgp_err( pgperr ); + } + else + { + printf( "Unable to create PGP tmp file\r\n" ); + printf( "Message left encrypted... press any key\r\n" ); + getch( ); + } + return 1; + } + else + return 0; +} diff --git a/src/nos/doc/intronos/CVS/Entries b/src/nos/doc/intronos/CVS/Entries new file mode 100644 index 00000000..c172e27c --- /dev/null +++ b/src/nos/doc/intronos/CVS/Entries @@ -0,0 +1,3 @@ +/INTRONOS.TXT/1.1.1.1/Mon Nov 17 19:06:20 2003// +/README.NOW/1.1.1.1/Mon Nov 17 19:06:20 2003// +D diff --git a/src/nos/doc/intronos/CVS/Repository b/src/nos/doc/intronos/CVS/Repository new file mode 100644 index 00000000..106b68bd --- /dev/null +++ b/src/nos/doc/intronos/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/doc/intronos diff --git a/src/nos/doc/intronos/CVS/Root b/src/nos/doc/intronos/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/doc/intronos/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/doc/ka9qbgn/BM.TXT b/src/nos/doc/ka9qbgn/BM.TXT index c1d6e342..1310e485 100644 --- a/src/nos/doc/ka9qbgn/BM.TXT +++ b/src/nos/doc/ka9qbgn/BM.TXT @@ -1,586 +1,586 @@ - - - - BM User Manual - - Dave Trulli, NN2Z - - - - - 1. What is BM? - - BM is designed to serve as the mail user-interface for the - KA9Q TCP/IP inter-networking package. It provides a full - set of mail services to the user which allows the sending - and receipt of electronic mail. - - - - 2. BM Installation - - To install BM requires the modification of the supplied - configuration files and the creation of the proper - directory structure. The following sections describe the - file and directory structure used by BM and SMTP. - - - 2.1 Directory Structure - - \spool\mqueue This directory holds the outbound mail - jobs for SMTP. Each job consists of 2 - files a xxxx.txt and xxxx.wrk file where - xxxx is a unique numerical prefix. The - format of the files are described in a - later section. - - - \spool\rqueue This directory is used by SMTP for jobs - that have been received and will be - processed by a user defined mail routing - program. This directory is not used - directly by BM. - - - \spool\mail This directory holds the individual - mailboxes for each user name on your - system. The extension .txt is add to the - user name to form the mailbox name. Mail - received by the SMTP server is appended to - the mailbox file. - - - 2.2 Configuration Files - - - - - - - - - - - - - - - - - - 2 - - - - - 2.2.1 The\bm.rc file The \bm.rc file provides BM with - the configuration needed for the operation of the mailer. - - The format for the \bm.rc file is: - - variable value - - - The following variables are valid in the bm.rc file: - - - smtp - - defines the path to the directory containing the mailbox - files. The default directory is \spool\mail on the - current drive. - - - host - - Is used to set the local hostname for use in the RFC822 - mail headers. This is a required field. - - - user - - Defines the user name of the person who is sending mail. - This is also used as the default mailbox for reading mail. - On the AMPRNET this is usually set to your call. There is - a DOS limit of 8 characters for the user name. - - - edit - - Defines the name of your favorite editor which can be used - to construct and edit the text of outgoing messages. The - use of edit is optional. - - - fullname - - Is used to provide your full name to the mailer for use in - the comment portion of "From:" header line. The use of - fullname is optional. - - - - - - - - - - - - - - - - - - - - 3 - - - - - reply - - Defines the address where you wish to receive replies to - messages sent. This option is useful if you are operating - your pc on a local area network and would like your mail - replies sent to a more "well known host". The address - specified by reply is used to generate a "Reply-To:" - header in outbound mail. The "Reply-To:" header overrides - the "From:" header which is the address normally used to - reply to mail. This field is optional. - - - maxlet - - defines the maximum number of messages that can be - processed by BM in one mailbox file. The default value of - maxlet is 100. - - - mbox - - Specifies the default file to be used for the "save" - command. This file is in the same format as a mailbox and - may later be viewed using the -f option of BM. If this - option is not used then the default is set to mbox. - - - record - - If defined a copy of each message sent will be saved in - . - - - folder - - If defined folder contains the path used by the save - command. - - - screen [bios|direct] - - In the Turboc compiled version of BM, screen sets the - display output mode to use either direct writes to screen - memory or the ROM BIOS. The default is direct which - provides the fastest output mode. If you are using a - windowing system such as Desqview you should set the mode - to bios. - - Here is a sample bm.rc file. - - - - - - - - - - - - - - - 4 - - - - - host nn2z.ampr - user nn2z - fullname Dave Trulli - # send my replies to the Sun - reply nn2z@ka9q.bellcore.com - screen direct - edit /bin/vi - mbox c:/folder/mbox - record c:/folder/outmail - folder c:/folder - maxlet 200 - - - - 2.13.1 The\alias file The alias file provides an easy - way to maintain mailing lists. An alias can be any string - of characters not containing the "@" symbol. The format - for the alias file is: - - alias recip1 recip2 recip3 - recip4 - - Note that a long list of aliases can be continued on an - additional line by placing a tab or space on the - continuation line. - - Some examples aliases are: - - dave nn2z@nn2z.ampr - - phil karn@ka9q.bellcore.com - - # mail to local nnj users - nnj wb2cop@wb2cop.ampr karn@ka9q.bellcore.com - wb0mpq@home.wb0mpq.ampr w2kb@w2kb.ampr - ka2tsm@ka2tsm.ampr - - In the above example, when specifying nnj as the - recipient, BM will expand the alias into the list of - recipients from the alias file. At this time an alias may - not contain any other aliases. - - - 2.13.2 \spool\mqueue\sequence.seq The sequence file - maintains a message counter which is used by BM and SMTP - to generate message ids and unique filenames. This file - is created by BM. - - - - - - - - - - - - - - - - - - 5 - - - - - 2.14 Environment - - The timezone used in mail headers is obtained from the DOS - environment variable TZ. An example TZ setting is: - - set TZ=EDT4 - - It is set in your AUTOEXEC.BAT file. The first 3 - characters are the timezone and the fourth character is - the number of hours from GMT time. If TZ is not set, GMT - is assumed. - - - - 3. Commands - - All BM commands are single letters followed by optional - arguments. The command list has been designed to make - those familiar with Berkeley mailers comfortable with BM. - - - 3.1 Main menu commands - - m [userlist] - - The mail command is used to send a message to one or more - recipients. All local recipient names ( those which don't - contain an '@' ) are checked for possible aliases. If no - arguments are supplied you will be prompted for a - recipient list. While entering a message into the text - buffer several commands are available such as: invoking an - editor, and reading in text from other messages or files. - See the section below for a description of these commands. - To end a message enter a line containing a single period. - - It is important to remember that the input line buffer has - a 128 character limit. You should format your text by - entering a carriage return at the end of each line. Typing - excessively long lines may cause data loss due to - truncation when passing the message through other hosts. - Keeping lines less than 80 characters is always a good - idea. - - - d [msglist] - - Mark messages for deletion. Messages marked for deletion - are removed when exiting BM via the q command or when - changing to an alternate mailbox with the n command. - - - - - - - - - - - - - - - 6 - - - - - h - - Display message headers. The message headers contain the - message number, the status indicating whether it has been - read or deleted, the sender, size, date, and subject. - - - u [msglist] - - Undelete a message that is marked for deletion. The status - of a message can be determined by looking at the status - field of the message using the h command. - - - n [mailbox] - - Display or change mailbox. The n command with no arguments - will display a list of mailboxes containing mail. If an - argument is supplied, then the current mailbox is closed - and a new mailbox is opened. - - - !cmd - - Run a DOS command from inside BM. An error message will - result if there is not enough memory available to load the - command. - - - ? - - Print a help menu for BM commands. - - - s [msglist] [file] - - The s command is used to save messages in a file. If no - filename is given the default from the mbox variable in - \bm.rc is used. If no message number is supplied then the - current message is saved. The message is stored in the - same format as a mailbox file with all mail headers left - intact. - - - p [msglist] - - The p command is used to send messages to the printer. - This command uses the DOS device PRN for output. This - command is equivalent to: - - - - - - - - - - - - - - - 7 - - - - - s [ msglist ] PRN - - - - w [msglist] file - - The w command is used to save messages in a file. Only the - message body is saved. All mail headers are removed. If - no message number is supplied then the current message is - saved. - - - f [msg] - - The f command is used to forward a mail message to another - recipient. If no message number is supplied the current - message is used. The user is prompted for the recipients - and a subject. The RFC822 header is added to the message - text while retaining the complete original message in the - body. Also see the ~m command. - - - b [msg] - - Bounce a message. Bounce is similar to forwarding but - instead of your user information, the original sender - information is maintained. If no message number is - supplied the current message is used. - - - r [msg] - - Reply to a message. Reply reads the header information in - order to construct a reply to the sender. The destination - information is taken from the "From:" or the "Reply- - To:"header, if included. If no message number is supplied - the current message is used. - - - msg # - - Entering a message number from the header listing will - cause the message text to be displayed. - - - l - - List outbound messages. The job number, the sender, and - the destination for each message is displayed. A status of - "L" will appear if the SMTP sender has the file locked. - - - - - - - - - - - - - - 8 - - - - - k [msglist] - - Remove an outbound message from the mqueue. A message can - be removed from the send queue by specifying the job - number obtained by the l command. If the message is - locked you will be warned that you may be removing a file - that is currently being sent by SMTP. You will asked if - this job should still be killed. - - - - $ - - Update the mailbox. This command updates the mailbox, - deleting messages marked for deletion and reading in any - new mail that may have arrived since entering BM. - - - x - - Exit to DOS without changing the data in the mailbox. - - - q - - Quit to DOS updating the mailbox. - - - 3.21 Text input commands - - The following commands are available while entering - message text into the message buffer. - - ~r read into the message buffer. - - ~m read into the message buffer. - - ~p display the text in the message buffer. - - ~e invoke the editor defined in \bm.rc with a - temporary file containing the text in the - message buffer. - - ~q Abort the current message. No data is sent. - - ~~ Insert a single tilda character into the - message. - - ~? Display help menu of tilda escape commands. - - - - - - - - - - - - - - - 9 - - - - - 4. Mailer Operation - - 4.1 Command Line Options - - BM may be invoked as follows: - - To send mail: - bm [ -s subject ] recip1 .. .. recipN - - To read mail: - bm [ -u mailbox | -f file ] - - -s subject This option sets the subject to the text on - the command line. - - - -u mailbox Specify which mailbox to read. This - overides the default from the bm.rc. - - - -f file Read message from "file" instead of a - mailbox. - - - 6. BugReports - - Please send any comments, suggestions or bug reports to: - - Dave Trulli - Usenet: nn2z@ka9q.bellcore.com - packet: nn2z@nn2z - AMPRNET: nn2z@nn2z.ampr [44.64.0.10] - - - - - - - - - - - - - - - - - - + + + + BM User Manual + + Dave Trulli, NN2Z + + + + + 1. What is BM? + + BM is designed to serve as the mail user-interface for the + KA9Q TCP/IP inter-networking package. It provides a full + set of mail services to the user which allows the sending + and receipt of electronic mail. + + + + 2. BM Installation + + To install BM requires the modification of the supplied + configuration files and the creation of the proper + directory structure. The following sections describe the + file and directory structure used by BM and SMTP. + + + 2.1 Directory Structure + + \spool\mqueue This directory holds the outbound mail + jobs for SMTP. Each job consists of 2 + files a xxxx.txt and xxxx.wrk file where + xxxx is a unique numerical prefix. The + format of the files are described in a + later section. + + + \spool\rqueue This directory is used by SMTP for jobs + that have been received and will be + processed by a user defined mail routing + program. This directory is not used + directly by BM. + + + \spool\mail This directory holds the individual + mailboxes for each user name on your + system. The extension .txt is add to the + user name to form the mailbox name. Mail + received by the SMTP server is appended to + the mailbox file. + + + 2.2 Configuration Files + + + + + + + + + + + + + + + + + - 2 - + + + + 2.2.1 The\bm.rc file The \bm.rc file provides BM with + the configuration needed for the operation of the mailer. + + The format for the \bm.rc file is: + + variable value + + + The following variables are valid in the bm.rc file: + + + smtp + + defines the path to the directory containing the mailbox + files. The default directory is \spool\mail on the + current drive. + + + host + + Is used to set the local hostname for use in the RFC822 + mail headers. This is a required field. + + + user + + Defines the user name of the person who is sending mail. + This is also used as the default mailbox for reading mail. + On the AMPRNET this is usually set to your call. There is + a DOS limit of 8 characters for the user name. + + + edit + + Defines the name of your favorite editor which can be used + to construct and edit the text of outgoing messages. The + use of edit is optional. + + + fullname + + Is used to provide your full name to the mailer for use in + the comment portion of "From:" header line. The use of + fullname is optional. + + + + + + + + + + + + + + + + + + + - 3 - + + + + reply + + Defines the address where you wish to receive replies to + messages sent. This option is useful if you are operating + your pc on a local area network and would like your mail + replies sent to a more "well known host". The address + specified by reply is used to generate a "Reply-To:" + header in outbound mail. The "Reply-To:" header overrides + the "From:" header which is the address normally used to + reply to mail. This field is optional. + + + maxlet + + defines the maximum number of messages that can be + processed by BM in one mailbox file. The default value of + maxlet is 100. + + + mbox + + Specifies the default file to be used for the "save" + command. This file is in the same format as a mailbox and + may later be viewed using the -f option of BM. If this + option is not used then the default is set to mbox. + + + record + + If defined a copy of each message sent will be saved in + . + + + folder + + If defined folder contains the path used by the save + command. + + + screen [bios|direct] + + In the Turboc compiled version of BM, screen sets the + display output mode to use either direct writes to screen + memory or the ROM BIOS. The default is direct which + provides the fastest output mode. If you are using a + windowing system such as Desqview you should set the mode + to bios. + + Here is a sample bm.rc file. + + + + + + + + + + + + + + - 4 - + + + + host nn2z.ampr + user nn2z + fullname Dave Trulli + # send my replies to the Sun + reply nn2z@ka9q.bellcore.com + screen direct + edit /bin/vi + mbox c:/folder/mbox + record c:/folder/outmail + folder c:/folder + maxlet 200 + + + + 2.13.1 The\alias file The alias file provides an easy + way to maintain mailing lists. An alias can be any string + of characters not containing the "@" symbol. The format + for the alias file is: + + alias recip1 recip2 recip3 + recip4 + + Note that a long list of aliases can be continued on an + additional line by placing a tab or space on the + continuation line. + + Some examples aliases are: + + dave nn2z@nn2z.ampr + + phil karn@ka9q.bellcore.com + + # mail to local nnj users + nnj wb2cop@wb2cop.ampr karn@ka9q.bellcore.com + wb0mpq@home.wb0mpq.ampr w2kb@w2kb.ampr + ka2tsm@ka2tsm.ampr + + In the above example, when specifying nnj as the + recipient, BM will expand the alias into the list of + recipients from the alias file. At this time an alias may + not contain any other aliases. + + + 2.13.2 \spool\mqueue\sequence.seq The sequence file + maintains a message counter which is used by BM and SMTP + to generate message ids and unique filenames. This file + is created by BM. + + + + + + + + + + + + + + + + + - 5 - + + + + 2.14 Environment + + The timezone used in mail headers is obtained from the DOS + environment variable TZ. An example TZ setting is: + + set TZ=EDT4 + + It is set in your AUTOEXEC.BAT file. The first 3 + characters are the timezone and the fourth character is + the number of hours from GMT time. If TZ is not set, GMT + is assumed. + + + + 3. Commands + + All BM commands are single letters followed by optional + arguments. The command list has been designed to make + those familiar with Berkeley mailers comfortable with BM. + + + 3.1 Main menu commands + + m [userlist] + + The mail command is used to send a message to one or more + recipients. All local recipient names ( those which don't + contain an '@' ) are checked for possible aliases. If no + arguments are supplied you will be prompted for a + recipient list. While entering a message into the text + buffer several commands are available such as: invoking an + editor, and reading in text from other messages or files. + See the section below for a description of these commands. + To end a message enter a line containing a single period. + + It is important to remember that the input line buffer has + a 128 character limit. You should format your text by + entering a carriage return at the end of each line. Typing + excessively long lines may cause data loss due to + truncation when passing the message through other hosts. + Keeping lines less than 80 characters is always a good + idea. + + + d [msglist] + + Mark messages for deletion. Messages marked for deletion + are removed when exiting BM via the q command or when + changing to an alternate mailbox with the n command. + + + + + + + + + + + + + + - 6 - + + + + h + + Display message headers. The message headers contain the + message number, the status indicating whether it has been + read or deleted, the sender, size, date, and subject. + + + u [msglist] + + Undelete a message that is marked for deletion. The status + of a message can be determined by looking at the status + field of the message using the h command. + + + n [mailbox] + + Display or change mailbox. The n command with no arguments + will display a list of mailboxes containing mail. If an + argument is supplied, then the current mailbox is closed + and a new mailbox is opened. + + + !cmd + + Run a DOS command from inside BM. An error message will + result if there is not enough memory available to load the + command. + + + ? + + Print a help menu for BM commands. + + + s [msglist] [file] + + The s command is used to save messages in a file. If no + filename is given the default from the mbox variable in + \bm.rc is used. If no message number is supplied then the + current message is saved. The message is stored in the + same format as a mailbox file with all mail headers left + intact. + + + p [msglist] + + The p command is used to send messages to the printer. + This command uses the DOS device PRN for output. This + command is equivalent to: + + + + + + + + + + + + + + - 7 - + + + + s [ msglist ] PRN + + + + w [msglist] file + + The w command is used to save messages in a file. Only the + message body is saved. All mail headers are removed. If + no message number is supplied then the current message is + saved. + + + f [msg] + + The f command is used to forward a mail message to another + recipient. If no message number is supplied the current + message is used. The user is prompted for the recipients + and a subject. The RFC822 header is added to the message + text while retaining the complete original message in the + body. Also see the ~m command. + + + b [msg] + + Bounce a message. Bounce is similar to forwarding but + instead of your user information, the original sender + information is maintained. If no message number is + supplied the current message is used. + + + r [msg] + + Reply to a message. Reply reads the header information in + order to construct a reply to the sender. The destination + information is taken from the "From:" or the "Reply- + To:"header, if included. If no message number is supplied + the current message is used. + + + msg # + + Entering a message number from the header listing will + cause the message text to be displayed. + + + l + + List outbound messages. The job number, the sender, and + the destination for each message is displayed. A status of + "L" will appear if the SMTP sender has the file locked. + + + + + + + + + + + + + - 8 - + + + + k [msglist] + + Remove an outbound message from the mqueue. A message can + be removed from the send queue by specifying the job + number obtained by the l command. If the message is + locked you will be warned that you may be removing a file + that is currently being sent by SMTP. You will asked if + this job should still be killed. + + + + $ + + Update the mailbox. This command updates the mailbox, + deleting messages marked for deletion and reading in any + new mail that may have arrived since entering BM. + + + x + + Exit to DOS without changing the data in the mailbox. + + + q + + Quit to DOS updating the mailbox. + + + 3.21 Text input commands + + The following commands are available while entering + message text into the message buffer. + + ~r read into the message buffer. + + ~m read into the message buffer. + + ~p display the text in the message buffer. + + ~e invoke the editor defined in \bm.rc with a + temporary file containing the text in the + message buffer. + + ~q Abort the current message. No data is sent. + + ~~ Insert a single tilda character into the + message. + + ~? Display help menu of tilda escape commands. + + + + + + + + + + + + + + - 9 - + + + + 4. Mailer Operation + + 4.1 Command Line Options + + BM may be invoked as follows: + + To send mail: + bm [ -s subject ] recip1 .. .. recipN + + To read mail: + bm [ -u mailbox | -f file ] + + -s subject This option sets the subject to the text on + the command line. + + + -u mailbox Specify which mailbox to read. This + overides the default from the bm.rc. + + + -f file Read message from "file" instead of a + mailbox. + + + 6. BugReports + + Please send any comments, suggestions or bug reports to: + + Dave Trulli + Usenet: nn2z@ka9q.bellcore.com + packet: nn2z@nn2z + AMPRNET: nn2z@nn2z.ampr [44.64.0.10] + + + + + + + + + + + + + + + + + + diff --git a/src/nos/doc/ka9qbgn/CHANGES.LOG b/src/nos/doc/ka9qbgn/CHANGES.LOG index 38d647ad..8b16e97f 100644 --- a/src/nos/doc/ka9qbgn/CHANGES.LOG +++ b/src/nos/doc/ka9qbgn/CHANGES.LOG @@ -1,21 +1,21 @@ - -* 01-Jan-1991 - - v1.1 : Added W9NKs NET/ROM Support Paper nrman.txt - - -* 26-Feb-1991 - - v1.2 : Added NOS Mailbox Documentation mailbox.txt - Added RSPF Defining Document rspf.txt - -* 04-Apr-1991 - - v1.3 : Added TCP/IP Command Set Reference noscmd16.txt - - -* 27-Apr-1991 - - v1.4 : Updated KA9Q NOS User Manual added. userman.txt - BM User manual added. bm.txt - + +* 01-Jan-1991 + + v1.1 : Added W9NKs NET/ROM Support Paper nrman.txt + + +* 26-Feb-1991 + + v1.2 : Added NOS Mailbox Documentation mailbox.txt + Added RSPF Defining Document rspf.txt + +* 04-Apr-1991 + + v1.3 : Added TCP/IP Command Set Reference noscmd16.txt + + +* 27-Apr-1991 + + v1.4 : Updated KA9Q NOS User Manual added. userman.txt + BM User manual added. bm.txt + diff --git a/src/nos/doc/ka9qbgn/CVS/Entries b/src/nos/doc/ka9qbgn/CVS/Entries new file mode 100644 index 00000000..50052556 --- /dev/null +++ b/src/nos/doc/ka9qbgn/CVS/Entries @@ -0,0 +1,13 @@ +/BM.TXT/1.1.1.1/Mon Nov 17 19:06:20 2003// +/CHANGES.LOG/1.1.1.1/Mon Nov 17 19:06:20 2003// +/IPAX25.TXT/1.1.1.1/Mon Nov 17 19:06:20 2003// +/KISS.TXT/1.1.1.1/Mon Nov 17 19:06:20 2003// +/MAILBOX.TXT/1.1.1.1/Mon Nov 17 19:06:20 2003// +/NEWUSER.TXT/1.1.1.1/Mon Nov 17 19:06:20 2003// +/NOSCMD16.TXT/1.1.1.1/Mon Nov 17 19:06:20 2003// +/NRMAN.TXT/1.1.1.1/Mon Nov 17 19:06:20 2003// +/README/1.1.1.1/Mon Nov 17 19:06:20 2003// +/RSPF.TXT/1.1.1.1/Mon Nov 17 19:06:20 2003// +/TUTORIAL.TXT/1.1.1.1/Mon Nov 17 19:06:20 2003// +/USERMAN.TXT/1.1.1.1/Mon Nov 17 19:06:20 2003// +D diff --git a/src/nos/doc/ka9qbgn/CVS/Repository b/src/nos/doc/ka9qbgn/CVS/Repository new file mode 100644 index 00000000..24654940 --- /dev/null +++ b/src/nos/doc/ka9qbgn/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/doc/ka9qbgn diff --git a/src/nos/doc/ka9qbgn/CVS/Root b/src/nos/doc/ka9qbgn/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/doc/ka9qbgn/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/doc/ka9qbgn/README b/src/nos/doc/ka9qbgn/README index 25d52bc0..5d302574 100644 --- a/src/nos/doc/ka9qbgn/README +++ b/src/nos/doc/ka9qbgn/README @@ -1,184 +1,184 @@ - - KA9Q Internet Protocol Documentation Package - - - Collated by - - Mike Chace G6DHU - - - Version 1.4 - April 1991 - - - Copyright G6DHU 1991 - - This package may be reproduced in whole or in - part for any amateur radio and non-profit - purpose so long as credit is given to the - authors of the documents herein and myself - as the distibutor and collator of this package. - Please also note that some documents herein may - be subject to other copy restrictions. - - -This disk contains a number of documents that provide useful information -before embarking upon amateur TCP/IP using the software developed by Phil -Karn (KA9Q). A short description of each follows :- - - - 1) The NOS User Guide by Phil Karn (KA9Q) - - This is the definitive user manual for the NOS variant of the - TCP/IP NET program. NOS currently runs under MSDOS on all PC - clones and on the Commodore Amiga. - - This file has been updated (v1.4) from Phil's original by Bill - Simpson in early 1991. - - File : userman.txt - - - 2) The NET Guide by Gary Ford (N6GF) - - A quick tour of the last of the NET programs from which NOS - grew. Very much a beginners guide, it explains the setting - up of the NET and the mailer BM programs and leaves you in - a state ready to understand the basics of TCP/IP and the - NET program. It also gives a good introduction to the bascis - of the NOS program. - - File : newuser.txt - - - 3) The KISS TNC Protocol by Phil Karn (KA9Q) - - The defining document of the host-TNC protocol used by - most operators of the NET/NOS programs. - - File : kiss.txt - - - - 4) The Transmission of IP Datagrams Over NET/ROM by Dan Frank (W9NK) - - A paper originally submitted to one of the ARRL Computer - Networking Conferences. It explains in simple terms, how - the NET/ROM (and TheNet) node system is used to route IP - packets. - - File : ipax25.txt - - - - 5) The Internet Protocols by Charles Hedricks. - - This is a classic paper written at the time when TCP and IP - were still being developed. It explains in simple terms IP - and TCP and TCP services eg FTP, SMTP, Telnet. It then moves - onto more complex services such as ARP and the domain naming - system. - - Most things you will ever need to know about TCP and IP - will be here. - - File : tutorial.txt - - - 6) NET/ROM User Manual for the KA9Q Software by W9NK - - This short paper describes the NET/ROM code is it was originally - implemented in the KA9Q NET program. It is still a good guide to - setting up the NET/ROM facilities in either NOS or NET, although - there are changes that have been made to these packages since. - - File : nrman.txt - - - 7) NOS Mailbox Documentation (SM0RGV/G4AMJ/NQ0I) - - This document applies to newer versions of NOS only, specifically - ones that implement the 'mbox kick' and 'mbox timer' commands. - - It describes how you can arrange for mail to be delivered from - SMTP to AX25 systems such as PBBSs, PMSs and standard NTS - Mailboxes. - - File: mailbox.txt - - - 8) The Radio Shortest Path First (RSPF) Protocol (K1IO) - - Describes the RSPF Protocol which is implemented in NOS systems. - - RSPF provides a method by which NOS IP nodes can automatically - broadcast routing information and so provide a more flexible - local IP network. NET nodes cannot send such broadcasts but - they nevertheless participate in the protocol by replying to - the RSPF messages. - - !NB! This feature is for advanced users only but please do - read it if you are a beginner since it will help you - understand a most useful feature of the Internet System. - - Read Charles Hedrick's TCP/IP Paper first! - - File: rspf.txt - - - 9) The TCP/IP Command Set Reference - Ian Wade (G3NRW) - - This document provides a complete command reference for the - variants of TCP/IP NOS Software developed by G1EMM and PA0GRI. - - It gives a complete synopsis of all commands together with - their command line options. - - NB: Most of the commands are more fully described in Phil - Karn (KA9Q)s NOS User Guide (see above). - - File: noscmd16.txt - - - 10) BM (Bdale's Mailer) User Manual - Dave Trulli (NN2Z) - - A brief synopsis of the standard TCP/IP mailer, popular - since 1988. - - Includes details of setting up, machine environment - and commands. - - Please note that some versions of NOS are being - distributed with a new mailer (PCelm) loosely based - on BM - but to confuse things, the executable is - still named BM. You'll have to start your 'bm.exe' - to find out which you have! This manual will not - apply to PCelm. - - File: bm.txt - - - -Please DO read these documents before you go on the air if you are unfamiliar -with the workings of TCP, IP, NET/ROM and AX.25. - -They will help you to build up a good knowledge of the way the packet -network functions, not only in terms of running TCP/IP. They will also -show you how to be more channel friendly and how NET/ROM and AX.25 work. - -I can recommend switching on 'trace' in the NET/NOS program and watching the -network set up connections, pass data, close connections and so on, if -you are a new user. Get a feel for what all those packets are doing. - - -73 & Happy Reading! - -Mike - - -AMPRNET : g6dhu@g6dhu.ampr.org [44.131.20.3] -NTS BBS : G6DHU @ GB7IMB -Internet: mikec@praxis.co.uk - - -Telephone: Day : Bath (0225) 444700 - Evening : Bath (0225) 336838 + + KA9Q Internet Protocol Documentation Package + + + Collated by + + Mike Chace G6DHU + + + Version 1.4 - April 1991 + + + Copyright G6DHU 1991 + + This package may be reproduced in whole or in + part for any amateur radio and non-profit + purpose so long as credit is given to the + authors of the documents herein and myself + as the distibutor and collator of this package. + Please also note that some documents herein may + be subject to other copy restrictions. + + +This disk contains a number of documents that provide useful information +before embarking upon amateur TCP/IP using the software developed by Phil +Karn (KA9Q). A short description of each follows :- + + + 1) The NOS User Guide by Phil Karn (KA9Q) + + This is the definitive user manual for the NOS variant of the + TCP/IP NET program. NOS currently runs under MSDOS on all PC + clones and on the Commodore Amiga. + + This file has been updated (v1.4) from Phil's original by Bill + Simpson in early 1991. + + File : userman.txt + + + 2) The NET Guide by Gary Ford (N6GF) + + A quick tour of the last of the NET programs from which NOS + grew. Very much a beginners guide, it explains the setting + up of the NET and the mailer BM programs and leaves you in + a state ready to understand the basics of TCP/IP and the + NET program. It also gives a good introduction to the bascis + of the NOS program. + + File : newuser.txt + + + 3) The KISS TNC Protocol by Phil Karn (KA9Q) + + The defining document of the host-TNC protocol used by + most operators of the NET/NOS programs. + + File : kiss.txt + + + + 4) The Transmission of IP Datagrams Over NET/ROM by Dan Frank (W9NK) + + A paper originally submitted to one of the ARRL Computer + Networking Conferences. It explains in simple terms, how + the NET/ROM (and TheNet) node system is used to route IP + packets. + + File : ipax25.txt + + + + 5) The Internet Protocols by Charles Hedricks. + + This is a classic paper written at the time when TCP and IP + were still being developed. It explains in simple terms IP + and TCP and TCP services eg FTP, SMTP, Telnet. It then moves + onto more complex services such as ARP and the domain naming + system. + + Most things you will ever need to know about TCP and IP + will be here. + + File : tutorial.txt + + + 6) NET/ROM User Manual for the KA9Q Software by W9NK + + This short paper describes the NET/ROM code is it was originally + implemented in the KA9Q NET program. It is still a good guide to + setting up the NET/ROM facilities in either NOS or NET, although + there are changes that have been made to these packages since. + + File : nrman.txt + + + 7) NOS Mailbox Documentation (SM0RGV/G4AMJ/NQ0I) + + This document applies to newer versions of NOS only, specifically + ones that implement the 'mbox kick' and 'mbox timer' commands. + + It describes how you can arrange for mail to be delivered from + SMTP to AX25 systems such as PBBSs, PMSs and standard NTS + Mailboxes. + + File: mailbox.txt + + + 8) The Radio Shortest Path First (RSPF) Protocol (K1IO) + + Describes the RSPF Protocol which is implemented in NOS systems. + + RSPF provides a method by which NOS IP nodes can automatically + broadcast routing information and so provide a more flexible + local IP network. NET nodes cannot send such broadcasts but + they nevertheless participate in the protocol by replying to + the RSPF messages. + + !NB! This feature is for advanced users only but please do + read it if you are a beginner since it will help you + understand a most useful feature of the Internet System. + + Read Charles Hedrick's TCP/IP Paper first! + + File: rspf.txt + + + 9) The TCP/IP Command Set Reference - Ian Wade (G3NRW) + + This document provides a complete command reference for the + variants of TCP/IP NOS Software developed by G1EMM and PA0GRI. + + It gives a complete synopsis of all commands together with + their command line options. + + NB: Most of the commands are more fully described in Phil + Karn (KA9Q)s NOS User Guide (see above). + + File: noscmd16.txt + + + 10) BM (Bdale's Mailer) User Manual - Dave Trulli (NN2Z) + + A brief synopsis of the standard TCP/IP mailer, popular + since 1988. + + Includes details of setting up, machine environment + and commands. + + Please note that some versions of NOS are being + distributed with a new mailer (PCelm) loosely based + on BM - but to confuse things, the executable is + still named BM. You'll have to start your 'bm.exe' + to find out which you have! This manual will not + apply to PCelm. + + File: bm.txt + + + +Please DO read these documents before you go on the air if you are unfamiliar +with the workings of TCP, IP, NET/ROM and AX.25. + +They will help you to build up a good knowledge of the way the packet +network functions, not only in terms of running TCP/IP. They will also +show you how to be more channel friendly and how NET/ROM and AX.25 work. + +I can recommend switching on 'trace' in the NET/NOS program and watching the +network set up connections, pass data, close connections and so on, if +you are a new user. Get a feel for what all those packets are doing. + + +73 & Happy Reading! + +Mike + + +AMPRNET : g6dhu@g6dhu.ampr.org [44.131.20.3] +NTS BBS : G6DHU @ GB7IMB +Internet: mikec@praxis.co.uk + + +Telephone: Day : Bath (0225) 444700 + Evening : Bath (0225) 336838 diff --git a/src/nos/doc/ka9qbgn/RSPF.TXT b/src/nos/doc/ka9qbgn/RSPF.TXT index 48951d58..2d1ec4aa 100644 --- a/src/nos/doc/ka9qbgn/RSPF.TXT +++ b/src/nos/doc/ka9qbgn/RSPF.TXT @@ -1,1174 +1,1174 @@ - Fred Goldstein k1io - goldstein@carafe.enet.dec.com - Version 2.1 2-oct-1989 - - The Radio Shortest Path First (RSPF) Routing Protocol - For DDN Internet Protocol over Amateur Packet Radio - - ** DRAFT ARCHITECTURE -- FOR COMMENT ** - ** changes in V2.1 are noted by "**" and - should be edited out before final release** - -CONTENTS - -I. Introduction and Version Notes -II. Acquisition of router-router adjacencies -III. Acquisition of end node adjacencies -IV. Link state propagation -V. The Shortest Path First Spanning Tree -Appendix: Router Parameters - - -I. Introduction - -Amateur packet radio use of the Internet Protocol does not yet provide -all of the capabilities of other IP networks. One particular example -of this is IP packet routing. Most existing versions of the AMPR IP code -make use of a static routing table. This requires human intervention -every time a new backbone path is added, and adds geographic constraints -to address assignment which do not exist on the ARPA Internet. Some -implementations make use of automatic routing protocols (interior -gateway protocols, or IGPs) using distance vector routing. These IGPs -were originally written for wireline networks and tend to scale poorly -to the amateur packet radio environment. - -Many IP and other networks have implemented link state routing based upon -Dijkstra's "SPF" (shortest path first) spanning tree algorithm. A -wireline implementation of SPF for IP is being standardized as the -Open SPF Interior Gateway Protocol (OSPF), and an SPF procedure is -being considered by ISO as the standard "IS-IS" routing protocol for -OSI connectionless networks. A similar (and derivative) procedure can -be applied to AMPRnet (Net 44). It is called Radio Shortest Packet -First (RSPF); this document outlines the RSPF protocol. - -RSPF occupies the role traditionally referred to in TCP/IP networks as -an "Interior Gateway Protocol" (IGP), where "Gateway" means "router". -It makes use of the services of the Internet Protocol. It is not -inconceivable that a router could use both RSPF and another IGP, or -communicate with another network using the Exterior Gateway Protocol -(EGP). However these are not described in this document. - -RSPF is intended to be implemented on routers, and need not be -implemented on end nodes for the end nodes to take advantage of -routing services. Any IP station may be an end node giving no further -consideration to routing. - - -I.1. Elements of RSPF - -The RSPF protocol is designed for use by internet-layer routing nodes (IP -Gateways) in a packet radio network using the DDN Internet Protocol. -It is comprised of four major functions: - - 1) Acquisition of router-router adjacencies - 2) Acquisition of end node adjacencies - 3) Link state propogation - 4) Spanning tree route decision making. - -Its net result is the automatic maintenance of a least-cost routing -table for use by IP Routing. RSPF is optimized for the geographically -heirarchical addressing used in AMPRnet, but does not depend upon it. - -RSPF is simpler than OSPF and IS-IS, as it is designed for PC -implementation within the Amateur Radio Service. It also adds -procedures to take advantage of packet radio's "semi-broadcast" -nature. - - -I.2. Addressing convention - -When an RSPF router communicates with an end node, it will typically -deal with a 32 bit IP address. Routers themselves, however, also -support node group addressing (fewer than 32 bits need match). This -follows the convention in the KA9Q IP routing program, which permits a -crude form of heirarchical addressing as well as allowing portable -operations to override the defaults. RSPF looks for the match (node or -node group) with the greatest number of matching bits. Only if the -number of bits matched is equal, then the lower cost path will be used. - -Thus a match to a full node address will override a "cheaper" path that -matches its "class C net" of 24 bits, which overrides a "class B net", -etc., noting that AMPRnet does not follow strict 8-bit address -classification, and is a single Class A net. In every case, a greater -number of bits matched is considered a superior path to a destination -than one that matches fewer bits, regardless of the value of the routing -metric ("cost"). - - -I.3. Connection-oriented vs. connectionless lower layers - -IP is a datagram network protocol, and supports both connection- -oriented and connectionless lower layers (subnets). In a network with -a high packet loss rate, the local retransmission provided by a -connection-oriented datalink will substantially improve overall -throughput. However, in a high-speed dedicated backbone, particularly -one implemented using full-duplex radio or wireline links, -connectionless links may provide better overall performance. The -choice of which to use is a local matter; RSPF will work with both. -The reliability of the routing information, however, may be somewhat -greater with connection-oriented datalink procedures, since these will -give more rapid indication of a physical link failure. - - -I.4. Relationship to other protocols - -The reliability of the network depends upon reasonably reliable -transmission of the routing update; hence, for non-broadcast procedures, -connected-mode AX.25, or another reliable data link layer. (In any case -connected-AX.25 may be more useful than connectionless for backbone -links due to its local error correction ability.) - -**CHECK THIS OUT FOR VALIDITY WITH ANDERS** -All packets specific to RSPF shall be exchanged inside IP packets using -a protocol identifier which, pending formal assignment of one, shall -be 73. (How is this formally assigned?) Such IP packets shall be -sent with a time to live (TTL) value of 1. If broadcast procedures -are used, connectionless AX.25 UI frames shall be sent, with a -multicast address "QST-0" in the AX.25 address and an IP address of -44.255.255.255. (A router can also "read the mail" on passing radio -packets not addressed to it; such procedures are for further study.) - -Note that in this document, "subnetwork" and "data link" are synonymous, -and refer to the layer over which IP packets are exchanged. - - -I.5. Version 2.1 changes. - -RSPF draft 2.0 was released in June, 1988, as the first nearly- -implementable version. It was first implemented in September, 1989 by -Anders Klemets. This version 2.1 reflects changes whose need was -discovered during this implementation. These changes are both -editorial and, in a few cases, substantive. - -The format of the Routing Update packet has been slightly modified. -In order to prevent fragments of two or more different routing update -messages from being erroneously merged, an Envelope ID is added to -each such packet, with the same Envelope ID on all fragments of a -multi-packet message. The term for such a message is now "envelope"; -it contains one or more "bulletins", each of which originated from a -single router. - -There are no longer separate packet types for Full Routing Update and -Partial Routing Update. Instead, they are distinguished by the value -of the subsequence number, which is always 0 for Full Routing Updates -and is never 0 for Partial Routing Updates. A given envelope may -contain both types of bulletin. - -Cost is now set on the basis of receiver instead of transmitter. This -permits the automatic link quality adjustment to operate on the basis -of locally-received traffic. - -The remaining horizon is stored in the links table. This is needed -for consistency within the specification and was erroneously left out -of 2.0. - -It is now explicitly stated that upon creation of a new router-router -adjacency, the routers exchage full routing information. This allows -routers to initialize themselves with a reasonably complete map of the -network. - - -II. Acquisition of router-router adjacencies - -For RSPF to operate correctly, all routers must remain reasonably -current as to the state of the network at large. This is handled by -the propagation of "bulletin" messages among routers. End nodes need -not concern themselves with this; they will normally communicate -through one "designated" router at any given time, for all -(non-adjacent) destinations (not seen by ARP or other lower-layer -procedures). End nodes can also, of course, connect to each other -directly, bypassing RSPF. - -Each router maintains an adjacencies table. Each router's adjacency -table lists the following information for all other nodes, both -routers and end nodes, from which it directly receives packets over a -subnetwork: - - Adjacent node IP address (i.e., 44.56.0.44) - Adjacent node datalink (AX.25) address (i.e., K1IO-0) - Datalink used (i.e., AX0) - Datalink cost (i.e., 4) - Number of packets heard since last RRH update (i.e., 50) - Packet sequence number in last RRH update (i.e., 12593) - Time of last RRH update (i.e., 2130). - - -II.1. Router-router hello - -For the backbone to create its topology automatically, there must be a -way for routers to discover each other with minimal overhead. For -this purpose, a router-router hello (RRH) message is provided. -Periodically (as an initial suggestion, shortly before beginning to -propogate the periodic links state bulletin to known adjacencies), the -router sends out the RRH message to the layer 2 multicast address and IP -multicast address. RSPF makes no assumption of reciprocity (that -links are bidirectional), so receipt of an RRH packet provides the -receiver with information about a one-way (received) adjacency. - - -II.2. Connection-oriented procedure - -If a router uses connection-oriented subnet procedures to its own -adjacencies, then when a router receives this RRH packet, it checks to -see if it already has a link to that packet's originator in its own -links table. If not, it waits a random period of time (initial -suggestion: within the range of 0 to 10 times the link's value of T1, -DWAIT or SLOTTIME, and in any case much longer than the timers used -within a CSMA or Aloha subnet such as AX.25) and then attempts to -establish an AX.25 connection with the usual SABM; the router responds -with the usual UA (link established) or DM (link rejected). - -If a two-way connection has been established, then both routers add the -link to their adjacency tables. While the existence of this route is -set reciprocally, the cost of each side of the route is set separately -for each side of the connection. Cost is propagated in the routing -update (link state) packet. Thus the adjacency between two routers is -not actually used for real traffic until the first routing update -packet exchange has taken place. - -Loss of an adjacency may then be noted by the loss of the subnet -connection. When this occurs, the router removes the adjacency from -its adjacency table and follows the "bad news" procedures outlined -below for link state propagation. - - -II.3. Connectionless procedure - -If a router uses connectionless datalink procedures to its own -adjacencies (suitable to low-loss links), then when a router receives an -RRH packet, it checks to see if this adjacency is already in its -adjacency table. If not, then it is added. It also sends RRH packets -with the same frequency as with connection-oriented subnets. - -Loss of an adjacency may be noted by timeout; if no RRH message is -received, and no frames have been received from the adjacent router for -a period of time (initial suggestion: slightly over twice the maximum -interval between RRH messages), then the adjacency becomes suspect. -The router should attempt (**a settable number of times**) to exchange a -packet (ICMP echo) with the suspect adjacency; if unsuccessful (after -the usual number of retries), the route is marked lost. It may also -be marked lost if other attempts to send data through that router -fail, such that the implementation determines that there is a high -probability that the link is lost. - - -Table II-1. Coding of the RRH PDU. - - 1 2 - |0 |8 |6 |4 | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | RSPF Version #| Type (RRH) | Checksum | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Full IP Address of sending router | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | last packet sent seq. # | flags | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | plaintext |... - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -Parameters-- - - An RSPF Router-Router Hello packet is sent within IP with a type - of . Each RRH packet contains the following - fields: - - RSPF Version Number: Version number of this protocol (initially 1). - - Type: Value of 3 for RRH. - - Checksum: IP-style checksum - - Address: Full IP address of sending router - - Last packet sent sequence number: An integer (mod 65535) - incremented by 1 for every frame sent by the datalink layer across - this interface. This value allows receiving entities using - connectionless procedures to use the automatic link quality - measurement technique described in II.4. - - Flags: The low-order bit is 1 if connectionless datalink is - preferred; 0 if connection-oriented is preferred. (Set by - system management based upon anticipated link quality.) - Other bits are reserved (sent 0). - - Plaintext: An optional text message (length may be up to maximum - size remaining in datalink PDU). This might serve, for example, - to "broadcast" the router's existence to persons who might be - "reading the mail" (monitoring a radio channel promiscuously). - - -II.4. Automatic link quality measurement - -A connectionless link or subnetwork may have very reliable, or very -sporadic, performance. Since there is no procedure for ensuring the -reliability of packets sent over a connectionless link, a high rate of -packet loss may occur without being detected by the routers. If this -loss is high enough, another route may become a better choice; a high -enough packet loss rate may be enough to mark a link as "down". The -automatic link quality measurement procedure allows links which are -not yet "down", but whose performance is substandard, to be noted. - -Every router shall maintain, for each link, a count of all packets -sent over each link. Every time an RRH message is sent, it includes -the current value of this counter (modulo 65536). Every router also -maintains, in its adjacency table, a count of the total number of -packets received from said adjacency since the last RRH message, and -the value of that counter as received in the last RRH message. - -Upon receipt of an RRH message, the recipient router compares the value -of the received packet counter with the last received value in the -adjacency table. The difference (taking into account wrap-around at the -modulus) is compared with the number of packets received since the last -RRH message. (This works even if an RRH message is lost.) This packet -loss ratio is then maintained as a guideline to determine link quality. -If link quality falls below a settable threshhold, the link is -suspect. Timestamp can also be used to compute packet arrival rate. - -Connection-oriented data links presumably deliver 100% of attempted -packets. A high-quality connectionless link, such as Ethernet/LLC1, will -come close to this. However, single-frequency packet radio links are -prone to packet loss for several reasons, including hidden transmitters, -lack of collision detection, and rf interference. The packet loss ratio -is useful in setting link cost, and may also be used to determine -whether a link should use connectionless or connection-oriented -procedures. - -If a router reports, in its link update packets, that a given link has a -cost of _n_, then its adjacencies (and only its adjacencies) may apply -the packet loss ratio to adjust the cost which they maintain in their -link state tables. These adjusted costs, rather than the received -costs, may then be propagated to other routers. - -Such procedures should be applied sparingly, as each change must be -propagated and could, if used too frequently, result in network-wide -instability. A suggested (experimental) algorithm is as follows: A -percentage threshhold x is set, as is a cost-adjustment factor y. If -fewer than x% of packets are received during a measurement interval, -the cost of that adjacency is multipled by y. For example, if x is 80 and -y is 1.5, then an adjacency with a nominal assigned cost of 4 will be -up-costed to 6 if only 70% of packets are received, but will be -restored to 4 if 80% or more are received during the next measurement -interval. The measurement interval is the time between RRH messages, -which precede routing update messages. - - -III. Acquisition of end node adjacencies - -Three possible means of determining adjacencies to end nodes are the use -of connected-mode AX.25 links, the use of ARP, and the use of a -"wiretap" algorithm (see RFC981). Unless a connection mode Data Link -layer (with keepalive timers) is used, adjacent nodes may need to send -each other messages at regular intervals (ping) to ensure that the -link is still usable. A procedure is outlined below for routers and -end nodes to acquire knowledge of each other. - -It is assumed that RSPF will not be activated in end nodes; this -permits them to use simple version of the IP software. A node that -has RSPF support in its software but operates as an end node can also -use the router-router connection procedures and simply broadcast its -adjacency to the router in a one-entry bulletin with a horizon of one. -Such a node may also be simultaneously homed on two or more other -routers, unlike true end nodes whose traffic either bypasses RSPF -(using ARP) or arrives by way of its associated router. - -There is no "redirect" function provided in RSPF. Since radio does -not provide a true "broadcast" topology subnetwork, a router cannot -presume that if both end nodes can hear it, that both end nodes can -hear each other. - -If an end node knows the IP address of the router which will connect -it to the network at large, it may establish a connected-mode AX.25 -(or other subnet) connection to the router; the presence of this -connection indicates that the node is reachable from that router, -which then adds it to its links table and subsequent bulletins. This -may, of course, require an ARP exchange in order to acquire the AX.25 -(or other data link layer or subnet) address. - -Alternately, the end node can simply use ARP and use connectionless -link procedures. In this case the router should assume that the end node -is available until either a rather lengthy timer expires, or the router -is unable to make an ARP contact after the ARP timer expires. (A loss -of reachability should not be inferred from the ARP timeout.) - -Routers should periodically broadcast their availability (suggested -interval: every 15 minutes) with an AX.25 UI frame sent to QST-0 (the -AX.25 broadcast address). A human-readable "unproto" message may go -here, allowing individual operators to recognize routers and connect -as appropriate. (No specific PDU coding is provided, as the end -nodes do not use RSPF, and thus this is not really an RSPF packet.) - -A router may also choose to use "Promiscuous ARP" to provide service to -an end node which is attempting to connect with an IP address reachable -by the router. In such a case the router should wait an extra interval -after receiving the ARP request because the desired destination may -actually be directly reachable; ARP procedures may need to be modified -to provide this. - -Another potential approach is for routers to simply listen to AX.25 -traffic on the link and determine who is adjacent to whom. This is the -gist of the "wiretap" algorithm in RFC981, which also finds non-adjacent -nodes by taking advantage of the source routing found in AX.25 frames. -Integration of wiretap into RSPF is for further study. - - - -IV. Link state propagation - -Link state information is propagated between routers within bulletin -envelopes, which are sequences of packets containing partial or full -copies of the sending node's link state table. Both point-to-point -and broadcast procedures are provided. - -IV.1. Optional multicast/broadcast - -Packet radio is inherently a broadcast medium. Packet radio networks, -however, may be viewed as a collection of individual links which happen -to use a broadcast physical medium. It is also possible to exploit the -broadcast nature of the medium. RSPF link state propagation procedures -allow but do not require such multicasting. If the link uses -connectionless procedures for user data packet exchange, then broadcast -procedures should be used for link state packet exchange. The converse -may not necessarily be true: The threshhold of loss that militates -against connectionless transmission of user data may be more stringent -than that which call for non-broadcast transmission of link state -packets. (Optimal parameters are for further study.) - - -IV.2. Routing update bulletins - -Routing updates are passed along from router to router via routing -update bulletins, which are broadcast within routing update envelopes. -Bulletin propagation is designed to make it extremely likely that -every node within a given "horizon" receives every routing update -message sent out by a given node. - -Every router originates information about changes in its own adjacencies, -as well as periodic retranmissions of its entire list of adjacencies. -These bulletins are then propagated among other routers. The router whose -adjacency information is being broadcast is called the _reporting -router_; this may be some hops away from the routers which forward it to -their own adjacencies. Each reporting router's bulletins (adjacency -updates) contain a sequence number (and in some cases, a subsequence -number). These sequence and subsequence numbers are generated by the -reporting router and propagated; they are not changed when a bulletin -is relayed. They are incrememted by 1 (modulo 65536) every time a new -one is generated. - -Bulletins may also carry change information incremental to previous -bulletins. These carry the same sequence number as the full routing -update bulletin to which they are reporting incremental changes; each -such partial routing update bulletin has a subsequence number. The -subsequence number is zero for a full routing update bulletin. - -Every bulletin also has a horizon value, set by the reporting router, -associated with each of its constituent links. (A given reporting -router may have more than one constituent link, if it is a multi-port -router.) Every time a bulletin is propagated, each horizon value is -decremented by 1. When it hits zero, the bulletin is not propagated -further. Note that for horizon purposes, a bulletin's individual -constituent links may have separate horizons; when a link's horizon hits -zero, other links' adjacency information from the same reporting router -may continue to be propogated. - -It should also be noted that if a given link has adjacencies with -different horizons, these must be treated as separate links, since -horizon is reported as a characteristic of link. Such a circumstance -may occur, for example, when a router serves a node group. -Adjacencies within the node group are typically propagated with short -horizons, since they are only of local interest (i.e., to other nodes -in or near that node group). Similarly, the node group itself is -propagated with a long horizon, across a backbone. However, -adjacencies outside the node group may be propagated with long -horizons, as they would not otherwise be reached across a backbone -dependent upon node groups for long-haul routing. - -Every router maintains within memory a routers table containing one -tuple for every other router on the network. This tuple contains the -following elements: - - IP Address - Last received bulletin sequence number - Last received bulletin subsequence number - Timestamp for when the data was received. - Horizon remaining in bulletin when received **NEW IN 2.1** - -This table is used to coordinate the receipt and transmission of -bulletins, using either broadcast or non-broadcast procedures. - - -IV.3. Flooding without congestion - -Upon initialization of adjacencies - -Bulletins are forwarded in a routing update envelope which may contain -one or more reporting routers' bulletins (adjacency lists), which are -flooded to the network. A bulletin envelope may actually concatenate -multiple reporting routers' bulletins; this is in fact the typical -case, when routing update packets are exchange on schedule, **and when a -given router acquires a new adjacency**. However, partial routing -updates (good news and bad news) may be sent at any time. - -The first time an adjacency is acquired, the two routers perform a -full routing update with each other, exchanging their complete link -lists. Once this is complete, the routers perform the SPF algorithm -and compute new routing tables. - -Preventing loops and retransmissions - -A bulletin from reporting router X (which lists all of X's -adjacencies) is sent, initially by X, to every adjacent (to X) router -A. This router A passes it along to all of its own adjacencies B, -etc.. This flooding is controlled such that no reporting router's -adjacency update is sent more than once between the same pair of -routers. - -After router A sends its bulletin envelope to B, the recipient router -B then looks at the sequence number of each reporting router X's -adjacency bulletin within that envelope, and for each reporting -router's bulletin, compares the sequence number of the just-received -adjacency bulletin with the highest sequence number previously -originated from X. If the just-received bulletin is newer (higher -number), then it sends a positive acknowledgement to A, and joins in -the flooding to its own adjacencies. The horizon is, of course, -decremented. ** HOW IS IT POSITIVELY ACKED? NEED WE? ** - -If the bulletin from X has the same number as was stored in B, B checks -the horizon left in the received bulletin against the horizon left -when it previously received the bulletin. In the event that the -latest bulletin received had a shorter (lower number) horizon left -than the earlier one, it simply acknowledges the (redundant) message. -But if the reporting router X's horizon left is greater for the new -copy of the bulletin, router B propagates it as if it were a new -bulletin. This way, if the bulletin happened to first arrive via a -roundabout path, it won't accidentally fail to reach the intended end -of its range. (Summary: Newer or longer-horizon bulletins are both -passed along. Same age or older (by sequence number) or same or lower -horizon will not be propagated.) - -If any router B receives from router A a bulletin (from any reporting -router X) that contains a lower sequence number than one that had -previously arrived at B from said X, then it can be presumed that A -has "obsolete" information. B replies by sending a bulletin to A with -the latest link state information for that node X. As a corrolary, a -router may poll for information about a given reporting router by -sending a routing update bulletin for that reporting router with a -sequence number that is lower than the latest one it actually has -received. Said bulletin may contain zero links' information. (Note -that since the sequence number is modular, a value of 0 is not correct -for this function as 0 is higher than 65535; the "poll" number should -be only slightly lower.) - - -IV.4. Non-broadcast bulletin envelope exchange - -A router may acquire routing information from adjacent routers via -point-to-point procedures which treat every adjacency as a separate -logical data link. (Such a procedure also works, of course, over -point-to-point links such as wirelines.) This tends to have the highest -reliability, since connection-oriented data link control procedures can -be used to ensure the accuracy and completeness of the data passed over -the link. It has the disadvantage of requiring separate transmission of -the same data to different adjacent nodes on the same radio channel. - -Bulletin envelopes are thus exchanged (when connection-oriented is -selected) periodically (based upon timers) and when new information is -received (over a new adjacency, and when good and bad news arrive). -Delivery of these bulletins is considered to be gnerally reliable. - - -IV.5. Broadcast bulletin propagation - -When a router is adjacent to several other routers via the same -broadcast (i.e., packet radio) channel, retransmission of routing -bulletins to each adjacency makes additional use of bandwidth, which may -be a scarce resource. A broadcast procedure may be used to pass the -bulletin along that link. Note that broadcast propagation of bulletins -may be combined with non-broadcast propagation, on a link by link basis. -Although packet radio is a broadcast medium, it is not a perfect one: -The reliability of multicast packets is not as high as for wireline LANs. -This leads to the need for a unique broadcast "flooding" technique. - -A routing update bulletin is broadcast to the Layer 2 multicast AX.25 -address using the IP multicast address. Individual recipient routers -may or may not receive the entire bulletin, since there is no -acknowledgement provided. - -In the previously described case of a non-broadcast message sent via a -connection-oriented datalink, the entire routing update bulletin can -be assumed to have been received intact. Thus, if a given reporting -router has originated a new complete list of its adjacencies (new -sequence numbers, subsequence numbers are 0), then any adjacency not -included is presumed to have ceased to exist. Such a presumption is -not always possible when a bulletin was received via unacknowledged -broadcast, as the message might have been received in part. This -should not make the partially received bulletin unusable. - -A bulletin envelope is transmitted in one or more packets, each of -which constitutes a numbered fragment of the whole bulletin envelope. -Within the transmitted bulletin envelope, each individual reporting -router's bulletin begins with a node-header which contains the number -of links being reported on. Within each bulletin, each link is -identified by a link header, each of which specifies the number of -adjacencies being reported on (for that link). Since each IP packet -that makes up a bulletin contains a fragment number, it is also -possible to determine whether or not a fragment was lost. Each packet -also contains an envelope-ID, which prevents accidental mis-assembly -of different bulletins that may arrive close in time. **NEW IN 2.1** - -In connection-oriented non-broadcast procedures, a routing update -bulletin (not a partial one with a subsequence numbers >0) provides a -complete list of adjacencies known to the sending node, except where the -horizon is exceeded. Absence of a previouly-known adjacency then -implies that the adjacency has been lost. However, that assumption does -not apply to fragmented bulletins received in part, which can occur with -broadcast procedures: If a fragment was lost before reaching the end of -a given reporting router's bulletin within the bulletin envelope, then -the absence of a previously-known adjacency in the received bulletin -does not mean that the adjacency was lost. - -RSPF procedures dictate that routing update bulletins with a subsequence -number of zero are presumed to be complete lists of adjacencies from -their originators; higher subsequence numbers represent incremental -changes only. In the broadcast procedures, a routing update bulletin -with a subsequence number of zero, if received only in part, is -treated as a partial routing update bulletin. If it received in full, -it is treated as a full routing update bulletin. - -Thus, the recipient compares the sequence number with the previously -received sequence number from that reporting router. If it is higher -than the previously received one, then its adjacencies are used. If -it was received in full, and had a subsequence number of 0, then its -previous adjacencies are replaced (removed if not contained in the -latest full routing update bulletin). If it was not received in full, -or if its subsequence number was not zero, then its previous -adjacencies are left intact unless explicitly changed by the received -bulletin. - -If a bulletin is received in full, then the routers table is updated -with the latest sequence and/or subsequence number, horizon **NEW 2.1** -and timestamp. If it is received in part, then these entries are not -updated. After the bulletin has been completely transmitted, a -recipient node which has received a partial update from a reporting -node may poll for that node's latest information, by using the (now -known to be obsolete) sequence number for that router in its router -table in a bulletin, with zero links for that reporting router. (This -is the same polling procedure used for non-broadcast links.) - -Note that if a fragment is lost, a reporting router whose node-header is -in the lost fragment will of course remain unchanged in the recipient's -data base. Furthermore, any data received in subsequent fragments, -prior to a node-header, will also be meaningless. The last adjacency -of the last link in a reporting router's bulletin will have the Last -flag set to 1, signaling that following the address, a node header -follows. Note also that the first node-header within an envelope is -pointed to by the sync byte in the envelope header. The last flag and -sync byte should match or an error should be noted. - - -IV.6. Routing update bulletin packets - -A routing update bulletin envelope (Table IV.1) may contain several -different reporting routers' updated link state information, -concatenated into one message, with a different sequence number for each -source (reporting router). One of the sources, of course, may be the -local router. Each router's link state information is further broken -down by link, which allows its backbone routing information to be -propogated separately from its local end node adjacency information. - -Incremental changes (good news and bad news) - -Bulletins that only report changes in state come in two flavors. Good -News bulletins inform other routers that an adjacency has been noted. -Bad News bulletins inform them that an adjacency has been lost. If an -end node establishes a connection with a router whose node group default -addresses (based on the significant bit count) already include that end -station, however, no bulletin need be sent out, as packets to that end -station will already be routed correctly. Theoretically, a router could -send out a new full routing update bulletin every time it gained or lost -an adjacency. However, the use of shorter Good News and Bad News -packets, which do not contain a full routing update, allow the network -to remain relatively current with less transmitted traffic. - -Good news and bad news packets are propogated like other packets, -but are not originated by the same rules. While full routing bulletins -are originated based upon a timer, good news packets are transmitted -immediately upon receipt and initiated immediately after an adjacency -is initialized. This enables new links to be useful quickly. Bad news, -however, should not travel as fast: A node should cache any bad -news message for a time (initial recommendation for this timer: 60 -seconds) while waiting for the link to come back up. This helps keep -the network stable; if the node receives a packet destined for the -lost destination, it may send an ICMP "host unreachable" message -to the originator of the packet, unless it can reroute the packet -itself (as may happen with the loss of a backbone link when others -still exist). - -Because good news and bad news messages represent changes to the last -full link state bulletin propogated, but do not purport to completely -represent a node's link states, they carry bulletin subsequence -numbers. These use the last bulletin sequence number originated by the -reporting router, but the sub-sequence value increments from 1. (A full -link state packet has a sub-sequence value of 0, and resets the -subsequence counter.) - -Routes to nearby destinations - -Sometimes more than one router will serve the same area (determined by -the significant bits' matching), and they will need to know which one has -the better path to a given station. These adjacency messages may only -require a short horizon, as will Good News and Bad News packets which -refer to end nodes going on and off the air. Higher horizons are -needed for backbone routers. - - -Table IV.1. Routing update (link state packet) bulletin envelope: - - 1 2 - |0 |8 |6 |4 | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---- - | RSPF Version #| Type | fragment # | fragment total| packet - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -hdr - | Checksum | sync byte | # nodes below | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Envelope-ID | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---- - | Reporting node #1 full IP Router-Address | node - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -hdr - | Node 1 bulletin sequence # | sub-sequence #| # links | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---- - | horizon left | ERP factor | link cost | #adjacencies | link - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ _-hdr_ - |significant bits| - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Adjacent node(s) 1,1,1 IP address | adj. - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- - |significant bits| - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Adjacent node(s) 1,1,2 IP address | adj. - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- - ... - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - |significant bits| - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Adjacent node(s) 1,1,n IP address | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- - | horizon left | ERP factor | link cost | #adjacencies | link - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- - |significant bits| - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Adjacent node(s) 1,2,1 IP address | adj. - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- - ... - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - |significant bits| - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Adjacent node(s) 1,2,n IP address | adj. - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- - | Reporting node #2 full IP Address | node - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Node 2 bulletin sequence # | sub-sequence #| # links | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- - | horizon left | ERP factor | link cost | #adjacencies | link - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- - |significant bits| - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ adj. - | Adjacent node(s) 2,1,1 IP address | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- - |significant bits| - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Adjacent node(s) 2,1,2 IP address | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - ... - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | horizon left | ERP factor | link cost | #adjacencies | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - |significant bits| - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Adjacent node(s) 2,2,1 IP address | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - ... - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - |significant bits| - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Adjacent node(s) 2,2,n IP address | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - ... - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Reporting node #n full IP address | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Node n bulletin sequence # | sub-sequence #| # links | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - etc. - -Parameters-- - - An RSPF bulletin packet is sent within IP with a type of . Each routing update envelope - contains an envelope packet header that contains: - - RSPF Version Number: Version number of the protocol (initially 1). - Type: (Value 1 for Routing Update Bulletin Envelope) - - Fragment Number: States which fragment, in a segmented message, - this is, beginning at 1. Non-fragmented messages use 1. - - Fragment total: Total number of fragments in message; 1 if not - fragmented. - - Checksum: IP-style checksum. - - Sync byte: Which octet in this packet (counting from this - byte as byte 0) is the beginning of the first node-header. If 0, - this fragment has no node-header. Non-fragmented messages - use a value of 4 (because 3 bytes follow in packet header). - **NOTE CHANGE IN 2.1** - - Number of nodes reporting: The number of reporting routers in the - messages that follows (this packet or a sequence of packets forming - the envelope). - - - The node-header (for each reporting router) contains 8 octets: - - Reporting router #n full IP router address: The IP address of - the router whose adjacencies are being reported below. (Note - that if a router uses separate IP addresses on its links, it - should still adopt a single one as its router address.) - - Bulletin sequence number: When a bulletin is passed along, this - number is NOT changed; every new bulletin from a given Reporting - router has a value 1 higher than the previous bulletin from that - reporting router. (Note: This is modulo 65536, so implementations - must cope with the "wrap around" and consider values below, say, - 100, to be "higher" than values above, say, 65400. Between 100 - and 65400, modular arithmetic is NOT used.) - - Sub-sequence number: Good news and bad news packets representing - incremental changes from the last full report increment this value - by 1; it is 0 for full bulletins. - - # links: The number of different cost-horizon values (typically, - but not necessarily, representing different types of link in a - mulitiport gateway) being reported below; the following four octets - are the header for each link. - - [For each reporting router, adjacencies are reported separately by - link cost. This is the received cost value for that data link, after - any adjustment that may be based upon packet loss ratio. Adjacencies - are also reported separately by horizon, even if the cost is the same. - It does not matter at this point if there are multiple RF or other - links if their cost and horizon are the same. Likewise, separate - received costs or horizons on one link will be treated separately - and such adjacencies will be grouped under separate link headers:] - - Horizon left: This number is decremented every time a routing update - bulletin is passed along; when it reaches 0, it is not passed further. - - Link cost: A "figure of merit" for each link, rising with - slower/poorer links. This is the number whose total is minimized - by SPF. The range is 1-127. As a starting point, a 56000 bps fdx - backbone link might have a value of 2, a 4800bps hdx link a value - of 5, a 1200bps hdx link a value of 10 and a 300 bps hf "wormhole" - a value of 20. An Ethernet or high-speed (1 Mbps+) link might - then have a value of 1. A value of 255 denotes the loss of a - link; this is found in Bad News packets. These values should be - coordinated network-wide; adjusting them will change the way - packets are routed by RSPF. - - Number of adjacencies: The number of adjacencies to be listed for that - reporting node. - - ERP Factor: Used for "approximating" a route; contains the number of - significant bits for which a given node can be presumed to be a valid - router, even if it doesn't report in detail. A low factor = wider - coverage area; thus ERP of 16 means that if NO other match is found for - a given address, this router will try to handle it if it matches 16 - bits. Basically a handle for future enhancements; its use will not - be required in the initial release of RSPF. - - For each adjacency of the given link cost, the following is provided: - - Significant bits: The number of bits used for node group routing - purposes. Usually 32 but may be lower if a given link purports to - serve all end nodes in an area defined using the most-matched-bits - node group convention. Higher numbers of bits matched take a higher - priority than least cost. This uses the low-order 5 bits of the - octet. - - Last-flag: If this is the last adjacency in the list for this - reporting router, this value is 1; otherwise it is 0. (This - occupies the high-order bit of the significant bits octet.) - - Full IP address: The full IP address for this node. - -Note that the n,n,n vector within the bulletin has three fields in the -above representation: Reporting router within bulletin envelope, link -cost/horizon within reporting router's bulletin, and reporting adjacency -with that link cost/horizon. - - -IV.7. Fragmentation - -In a moderate to large network, a full routing update can easily exceed -the maximum size of an AX.25 frame or IP packet. The RSPF Routing -Update message, however, may be sent in fragments. The IP -fragmentation function is not used for this; bulletins are not assumed -to be terminated by a packet boundary. Each fragment is, however, -numbered in the packet header, along with an indication of the number -of the total number of fragments in that envelope. - -In order to permit parsing of the incoming fragments by routers who -are using unacknowledged broadcast information (with the high -likelihood of lost fragments), every bulletin's packet header contains a -sync byte indicator. This indicates which byte, where the next byte in -the header is byte 1, is the beginning of a node header. If a previous -fragment was lost, the receiver should ignore the number of bytes -indicated in the sync byte before resuming parsing of the packet. (If -the fragment does not exceed 255 bytes, this will always be sufficient. -It is recognized that long packets may not be able to use this mechanism -reliably, and a value of "0" should be used to indicate that no sync is -possible within this fragment.) - -Each routing update bulletin envelope takes the form of a three- -dimensional list, with the dimensions being reporting router, link and -adjacency. A given bulletin envelope may report on link state from one -or more remote nodes, as well as from the sending node. Each node may -have one or more links; each link may have one or more adjacencies. - -Packets may not be fragmented within adjacencies, but may be -fragmented after an adjacency's address and before the next adjacency's -significant bits field. (This presents a 5-octet field that should -not be fragmented.) The next fragment, in a new packet, simply begins -where the last one left off; the receiver knows how much more to -expect based upon the node and link count in the respective -node-header and link-header. - -A router may not start sending a new Routing Update message of any kind -to any given IP address until all fragments of a previous message to -that address have been transmitted. This applies both to point to -point (non-multicast address) and multicast procedures. - - -IV.8. Bulletin Timers - -The timers used for bulletin updates must be a compromise between -maintaing the network's current state and the traffic required to do -so. An initial suggestion: Good news messages should be initiated -within a few seconds and bad news messages should be initiated within -one minute, with relatively short horizons on the bulletins (i.e., the -routers within the region). Full routing updates with normal horizons -should be sent out every 30 minutes. If the network is small, more -frequent updates may be possible; too frequent updates risk choking -the network with update traffic. - - - - -V. The Shortest Path First spanning tree algorithm - -As a routing node comes onto the network, it acquires over time a -complete list of adjacencies between other nodes on the network except -as limited by the "horizon". Each adjacency (point to point link) -within the entire known network has a "cost" associated with it. It -should be noted that adjacencies, for the purposes of this algorithm, -are "logical" and not necessarily physical; if a subnetwork link -occurs below IP (as in AX.25 digipieating or NET/ROM), the two ends of -the link are still adjacent. (Adjacency at the IP internet layer is -based upon subnetworks, which may contain their own links.) - -Cost is set for the receive (** Changed in 2.1 to facilitate automatic -link quality adjustment **) side of each link. If the receiver and -transmitter do not agree on cost, the network shall apply different -routes for packets going in opposite directions between the same two -end nodes. (This is not a problem. In a radio environment, one -should NOT assume reciprocity across a link.) - -V.1. Tables - -Each router builds a _link state table_ that lists, for every known -link in the network (from every reporting router), the two ends and -the cost of that end of the link. The ends are listed by an IP router -address and, for the destination IP router address, a number of -significant bits. This is what's updated by the bulletins and by good -news/bad news messages. - - Source IP address Dest. IP addr/bits Cost - - 44.56.0.44 44.56.0.128/32 5 - 44.56.0.44 44.56.0.12/25 10 - -The goal of the SPF algorithm is to build a _paths table_ which lists, -for every reachable node (or node group approximation of fewer than 32 -bits) on the network, that node address (or node group address and -number of significant bits), the adjacent node used to get there -(i.e., where you blast the packets to next), and the total cost of the -path. (This feeds the Route table in the IP Route module in NET.) -This is done by building a spanning tree with the router doing the -computation (the home router) as the root of the tree. The paths -table thus lists the best way across the tree from the home router to -all known destinations. - -Every router contains, for the purposes of building the tree, a -_trial table_ that has three entries: Destination address/bits, -adjacent node, and cost of this path. The paths table additionally -has one more entry, the _parent_ node, which is the last hop -before the destination. Thus in a path A -> B -> C -> D -> E, home -router A views E as the destination, D as the parent, and B as the -adjacency. Note that in the path from A to B, A is the parent node. - -Begin building the paths table by using the home router as the first -node on the paths table. The cost to reach yourself is always 0, so -make the first entry on the paths table as follows: Source=self, -destination=self, parent=self, and cost=0. From here on in, parent -is always (by definition of the SPF spanning tree) the node most -recently added to the paths table. - - Destination Adjacent Parent Cost - - 44.56.0.128 44.56.0.128 44.56.0.44 5 - 44.56.0.131 44.56.0.128 44.56.0.128 10 - 44.56.0.200 44.56.0.128 44.56.0.131 15 - - Paths Table showing relationship between - destination, parent and adjacent nodes, where the home - node is 44.56.0.44 and 44.56.0.200 is three hops away; - all hops here have a cost of 5. - -V.2. Scanning the links - -The home router now scans its links table looking for all nodes (routers -and end nodes) that are adjacent to the current parent node, except -for links to nodes which are already on the paths table. (It is -generally fastest to build the paths table by scanning the links table -in order of increasing link cost.) Each of these new nodes is added -to the trial table, except for the parent node (which is already on -the paths table, so it can't possibly have a shorter path). The value -of cost placed on the trial table is the cost of the link from the -parent to the destination plus the cost from home to the parent node -(which value is already on the paths table). - -A node may only appear once in the trial table at any given time. If -an adjacency is found to a node that is already on the trial table, a -new entry replaces the existing entry if and only if the new total -cost is lower. If the cost is higher, it is ignored. (If the costs -are equal, then a "tiebreaker" is determined by treating the -lower-numbered IP address as the lower cost. This will simply make -the spanning tree more deterministic in case of tie.) Thus the trial -table always contains the lowest cost path to each destination found so -far. - -Once all of the links from the parent node have had their chance to go -onto the trial table, scan the entire trial table for the _one_ entry -with the lowest total cost. This not need be a link from that parent -node! In case of tie, pick the lower IP address (again just to be -deterministic). Move this node to the paths table; guaranteed, -there'll be no cheaper path to that node! The adjacency used for that -node in the paths table is the adjacency to its parent node. Note -that the parent _must_ already be on the paths table since that's the -source of the parent; you're working your way outward. - -This new addition to the paths table becomes the new parent node. -Repeat the procedure above (from the beginning of V.2) until there are -no nodes left on the trial table. This means you've completed the -spanning tree and have found the least-cost path to every other node. - -One of the router parameters is maximum_cost. If the cost to a given -parent node exceeds this value, the procedure stops, since all -subsequent entries in the route table will have a higher cost. This -value has some semblane to the time-to-live parameter of the IP -packet: It makes little sense to compute a routing table to nodes -that cannot be reached within time-to-live. (Ideally, ttl will be -implemented using a timer rather than a node counter, but this is -difficult to do with some of the packet radio data link controller -implementations; vis., TNCs.) - -A router should recalculate its routes periodically based upon the -current links table. How frequently depends upon the CPU load involved. -Initial estimates are that it should be recalculated after receipt of -every routing update bulletin: Partial calculations do not save -enough CPU time to make them worthwhile. - - -V.3. Filling in the routing table - -The route table in NOS and NET (the KA9Q et al implementations of IP) -contains, for each entry, the destination address, number of bits, -interface, gateway and metric. This is essentially left intact, -except that metric is filled in by cost and the routing decision looks -for the least cost of all matches. The route table is filled in from -the paths table. - -Since the routing table will be periodically recalculated from -scratch, implementation may require two route tables, one "in -progress" and one "in service". When the route calculation is -complete, the "in progress" table becomes "in service" and the old one -is cleared for reuse. This allows packet forwarding to continue while -the completed paths table is being converted into the route table. - -A manual route table may also be maintained. This should be overriden -by RSPF-generated entries. Manual routes are useful defaults before -RSPF generates routing entries, for destinations not reported on by -RSPF, and for interworking with other routing protocols. - - - - -Appendix I. Router parameters - -Every router must set a number of parameters in order to properly -operate. While RSPF builds its routing matrix automatically, overall -network efficiency and stability may require some fine-tuning based -upon experience. These include parameters set for each data link -or subnetwork layer entity (i.e., each radio channel) and for the -router in general. - -Link/subnet settings: - - Set Link cost: This is the cost parameter based upon the link speed - and type. Since the overall cost of the end-to-end path is - minimized by the RSPF spanning tree, link cost should be set to - arrive at the best overall network performance. The legal range - is 1-127. This is sent in routing update bulletins. - -Node settings: - - Add/Delete Node group: [IPaddr]/bits {cost}. This allows a node to - announce its ability to serve a group of nodes, identified using - the standard NET convention of address/significant bits. Thus a - node group setting of [44.56.0.1]/25 will match all nodes from - [44.56.0.1] to [44.56.0.127]. Cost is optional; if set, this - cost to will be propogated to reach such nodes; otherwise, the - link's default is used. - - Set horizon link: This sets the horizon value for the node's - routing bulletins apropos 32-bit addresses of other connected - routers. This should be high enough to propogate across the - backbone. - - Set horizon group: This sets the horizon value for the node's - routing bulletins apropos node group addresses (fewer than 32 - bits matched). Usually matches the horizon link value. - - Set horizon local: This sets the horizon vaue for the node's - routing bulletins apropos full link addresses (32 bits) **to - non-routers** within the router's node group area. This is set to - a low value so that only other routers serving the same or overlapping - node group(s) will receive these messages. - - Set horizon portable: This sets the horizon value for the - node's routing bulletins apropos full link addresses (32 bits) - not within a node group. This allows portable end nodes to - have their location in the network propogated farther than - the local horizon; this is usually set the same as horizon group. - - Set broadcast timer: This sets the time, in seconds, between - router-router hello (RRH) broadcasts. Initial suggestion: 900. - - Set suspect timer: This sets the time, in seconds, after which - an adjacency is "suspect" if no packets are received from it. - An ICMP echo is then issued. Initial suggestion: 900. - - Set suspect count: This sets the number of times an ICMP echo - (ping) should be sent after a node is suspect, before it is - removed from the adjacency list. + Fred Goldstein k1io + goldstein@carafe.enet.dec.com + Version 2.1 2-oct-1989 + + The Radio Shortest Path First (RSPF) Routing Protocol + For DDN Internet Protocol over Amateur Packet Radio + + ** DRAFT ARCHITECTURE -- FOR COMMENT ** + ** changes in V2.1 are noted by "**" and + should be edited out before final release** + +CONTENTS + +I. Introduction and Version Notes +II. Acquisition of router-router adjacencies +III. Acquisition of end node adjacencies +IV. Link state propagation +V. The Shortest Path First Spanning Tree +Appendix: Router Parameters + + +I. Introduction + +Amateur packet radio use of the Internet Protocol does not yet provide +all of the capabilities of other IP networks. One particular example +of this is IP packet routing. Most existing versions of the AMPR IP code +make use of a static routing table. This requires human intervention +every time a new backbone path is added, and adds geographic constraints +to address assignment which do not exist on the ARPA Internet. Some +implementations make use of automatic routing protocols (interior +gateway protocols, or IGPs) using distance vector routing. These IGPs +were originally written for wireline networks and tend to scale poorly +to the amateur packet radio environment. + +Many IP and other networks have implemented link state routing based upon +Dijkstra's "SPF" (shortest path first) spanning tree algorithm. A +wireline implementation of SPF for IP is being standardized as the +Open SPF Interior Gateway Protocol (OSPF), and an SPF procedure is +being considered by ISO as the standard "IS-IS" routing protocol for +OSI connectionless networks. A similar (and derivative) procedure can +be applied to AMPRnet (Net 44). It is called Radio Shortest Packet +First (RSPF); this document outlines the RSPF protocol. + +RSPF occupies the role traditionally referred to in TCP/IP networks as +an "Interior Gateway Protocol" (IGP), where "Gateway" means "router". +It makes use of the services of the Internet Protocol. It is not +inconceivable that a router could use both RSPF and another IGP, or +communicate with another network using the Exterior Gateway Protocol +(EGP). However these are not described in this document. + +RSPF is intended to be implemented on routers, and need not be +implemented on end nodes for the end nodes to take advantage of +routing services. Any IP station may be an end node giving no further +consideration to routing. + + +I.1. Elements of RSPF + +The RSPF protocol is designed for use by internet-layer routing nodes (IP +Gateways) in a packet radio network using the DDN Internet Protocol. +It is comprised of four major functions: + + 1) Acquisition of router-router adjacencies + 2) Acquisition of end node adjacencies + 3) Link state propogation + 4) Spanning tree route decision making. + +Its net result is the automatic maintenance of a least-cost routing +table for use by IP Routing. RSPF is optimized for the geographically +heirarchical addressing used in AMPRnet, but does not depend upon it. + +RSPF is simpler than OSPF and IS-IS, as it is designed for PC +implementation within the Amateur Radio Service. It also adds +procedures to take advantage of packet radio's "semi-broadcast" +nature. + + +I.2. Addressing convention + +When an RSPF router communicates with an end node, it will typically +deal with a 32 bit IP address. Routers themselves, however, also +support node group addressing (fewer than 32 bits need match). This +follows the convention in the KA9Q IP routing program, which permits a +crude form of heirarchical addressing as well as allowing portable +operations to override the defaults. RSPF looks for the match (node or +node group) with the greatest number of matching bits. Only if the +number of bits matched is equal, then the lower cost path will be used. + +Thus a match to a full node address will override a "cheaper" path that +matches its "class C net" of 24 bits, which overrides a "class B net", +etc., noting that AMPRnet does not follow strict 8-bit address +classification, and is a single Class A net. In every case, a greater +number of bits matched is considered a superior path to a destination +than one that matches fewer bits, regardless of the value of the routing +metric ("cost"). + + +I.3. Connection-oriented vs. connectionless lower layers + +IP is a datagram network protocol, and supports both connection- +oriented and connectionless lower layers (subnets). In a network with +a high packet loss rate, the local retransmission provided by a +connection-oriented datalink will substantially improve overall +throughput. However, in a high-speed dedicated backbone, particularly +one implemented using full-duplex radio or wireline links, +connectionless links may provide better overall performance. The +choice of which to use is a local matter; RSPF will work with both. +The reliability of the routing information, however, may be somewhat +greater with connection-oriented datalink procedures, since these will +give more rapid indication of a physical link failure. + + +I.4. Relationship to other protocols + +The reliability of the network depends upon reasonably reliable +transmission of the routing update; hence, for non-broadcast procedures, +connected-mode AX.25, or another reliable data link layer. (In any case +connected-AX.25 may be more useful than connectionless for backbone +links due to its local error correction ability.) + +**CHECK THIS OUT FOR VALIDITY WITH ANDERS** +All packets specific to RSPF shall be exchanged inside IP packets using +a protocol identifier which, pending formal assignment of one, shall +be 73. (How is this formally assigned?) Such IP packets shall be +sent with a time to live (TTL) value of 1. If broadcast procedures +are used, connectionless AX.25 UI frames shall be sent, with a +multicast address "QST-0" in the AX.25 address and an IP address of +44.255.255.255. (A router can also "read the mail" on passing radio +packets not addressed to it; such procedures are for further study.) + +Note that in this document, "subnetwork" and "data link" are synonymous, +and refer to the layer over which IP packets are exchanged. + + +I.5. Version 2.1 changes. + +RSPF draft 2.0 was released in June, 1988, as the first nearly- +implementable version. It was first implemented in September, 1989 by +Anders Klemets. This version 2.1 reflects changes whose need was +discovered during this implementation. These changes are both +editorial and, in a few cases, substantive. + +The format of the Routing Update packet has been slightly modified. +In order to prevent fragments of two or more different routing update +messages from being erroneously merged, an Envelope ID is added to +each such packet, with the same Envelope ID on all fragments of a +multi-packet message. The term for such a message is now "envelope"; +it contains one or more "bulletins", each of which originated from a +single router. + +There are no longer separate packet types for Full Routing Update and +Partial Routing Update. Instead, they are distinguished by the value +of the subsequence number, which is always 0 for Full Routing Updates +and is never 0 for Partial Routing Updates. A given envelope may +contain both types of bulletin. + +Cost is now set on the basis of receiver instead of transmitter. This +permits the automatic link quality adjustment to operate on the basis +of locally-received traffic. + +The remaining horizon is stored in the links table. This is needed +for consistency within the specification and was erroneously left out +of 2.0. + +It is now explicitly stated that upon creation of a new router-router +adjacency, the routers exchage full routing information. This allows +routers to initialize themselves with a reasonably complete map of the +network. + + +II. Acquisition of router-router adjacencies + +For RSPF to operate correctly, all routers must remain reasonably +current as to the state of the network at large. This is handled by +the propagation of "bulletin" messages among routers. End nodes need +not concern themselves with this; they will normally communicate +through one "designated" router at any given time, for all +(non-adjacent) destinations (not seen by ARP or other lower-layer +procedures). End nodes can also, of course, connect to each other +directly, bypassing RSPF. + +Each router maintains an adjacencies table. Each router's adjacency +table lists the following information for all other nodes, both +routers and end nodes, from which it directly receives packets over a +subnetwork: + + Adjacent node IP address (i.e., 44.56.0.44) + Adjacent node datalink (AX.25) address (i.e., K1IO-0) + Datalink used (i.e., AX0) + Datalink cost (i.e., 4) + Number of packets heard since last RRH update (i.e., 50) + Packet sequence number in last RRH update (i.e., 12593) + Time of last RRH update (i.e., 2130). + + +II.1. Router-router hello + +For the backbone to create its topology automatically, there must be a +way for routers to discover each other with minimal overhead. For +this purpose, a router-router hello (RRH) message is provided. +Periodically (as an initial suggestion, shortly before beginning to +propogate the periodic links state bulletin to known adjacencies), the +router sends out the RRH message to the layer 2 multicast address and IP +multicast address. RSPF makes no assumption of reciprocity (that +links are bidirectional), so receipt of an RRH packet provides the +receiver with information about a one-way (received) adjacency. + + +II.2. Connection-oriented procedure + +If a router uses connection-oriented subnet procedures to its own +adjacencies, then when a router receives this RRH packet, it checks to +see if it already has a link to that packet's originator in its own +links table. If not, it waits a random period of time (initial +suggestion: within the range of 0 to 10 times the link's value of T1, +DWAIT or SLOTTIME, and in any case much longer than the timers used +within a CSMA or Aloha subnet such as AX.25) and then attempts to +establish an AX.25 connection with the usual SABM; the router responds +with the usual UA (link established) or DM (link rejected). + +If a two-way connection has been established, then both routers add the +link to their adjacency tables. While the existence of this route is +set reciprocally, the cost of each side of the route is set separately +for each side of the connection. Cost is propagated in the routing +update (link state) packet. Thus the adjacency between two routers is +not actually used for real traffic until the first routing update +packet exchange has taken place. + +Loss of an adjacency may then be noted by the loss of the subnet +connection. When this occurs, the router removes the adjacency from +its adjacency table and follows the "bad news" procedures outlined +below for link state propagation. + + +II.3. Connectionless procedure + +If a router uses connectionless datalink procedures to its own +adjacencies (suitable to low-loss links), then when a router receives an +RRH packet, it checks to see if this adjacency is already in its +adjacency table. If not, then it is added. It also sends RRH packets +with the same frequency as with connection-oriented subnets. + +Loss of an adjacency may be noted by timeout; if no RRH message is +received, and no frames have been received from the adjacent router for +a period of time (initial suggestion: slightly over twice the maximum +interval between RRH messages), then the adjacency becomes suspect. +The router should attempt (**a settable number of times**) to exchange a +packet (ICMP echo) with the suspect adjacency; if unsuccessful (after +the usual number of retries), the route is marked lost. It may also +be marked lost if other attempts to send data through that router +fail, such that the implementation determines that there is a high +probability that the link is lost. + + +Table II-1. Coding of the RRH PDU. + + 1 2 + |0 |8 |6 |4 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | RSPF Version #| Type (RRH) | Checksum | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Full IP Address of sending router | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | last packet sent seq. # | flags | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | plaintext |... + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + +Parameters-- + + An RSPF Router-Router Hello packet is sent within IP with a type + of . Each RRH packet contains the following + fields: + + RSPF Version Number: Version number of this protocol (initially 1). + + Type: Value of 3 for RRH. + + Checksum: IP-style checksum + + Address: Full IP address of sending router + + Last packet sent sequence number: An integer (mod 65535) + incremented by 1 for every frame sent by the datalink layer across + this interface. This value allows receiving entities using + connectionless procedures to use the automatic link quality + measurement technique described in II.4. + + Flags: The low-order bit is 1 if connectionless datalink is + preferred; 0 if connection-oriented is preferred. (Set by + system management based upon anticipated link quality.) + Other bits are reserved (sent 0). + + Plaintext: An optional text message (length may be up to maximum + size remaining in datalink PDU). This might serve, for example, + to "broadcast" the router's existence to persons who might be + "reading the mail" (monitoring a radio channel promiscuously). + + +II.4. Automatic link quality measurement + +A connectionless link or subnetwork may have very reliable, or very +sporadic, performance. Since there is no procedure for ensuring the +reliability of packets sent over a connectionless link, a high rate of +packet loss may occur without being detected by the routers. If this +loss is high enough, another route may become a better choice; a high +enough packet loss rate may be enough to mark a link as "down". The +automatic link quality measurement procedure allows links which are +not yet "down", but whose performance is substandard, to be noted. + +Every router shall maintain, for each link, a count of all packets +sent over each link. Every time an RRH message is sent, it includes +the current value of this counter (modulo 65536). Every router also +maintains, in its adjacency table, a count of the total number of +packets received from said adjacency since the last RRH message, and +the value of that counter as received in the last RRH message. + +Upon receipt of an RRH message, the recipient router compares the value +of the received packet counter with the last received value in the +adjacency table. The difference (taking into account wrap-around at the +modulus) is compared with the number of packets received since the last +RRH message. (This works even if an RRH message is lost.) This packet +loss ratio is then maintained as a guideline to determine link quality. +If link quality falls below a settable threshhold, the link is +suspect. Timestamp can also be used to compute packet arrival rate. + +Connection-oriented data links presumably deliver 100% of attempted +packets. A high-quality connectionless link, such as Ethernet/LLC1, will +come close to this. However, single-frequency packet radio links are +prone to packet loss for several reasons, including hidden transmitters, +lack of collision detection, and rf interference. The packet loss ratio +is useful in setting link cost, and may also be used to determine +whether a link should use connectionless or connection-oriented +procedures. + +If a router reports, in its link update packets, that a given link has a +cost of _n_, then its adjacencies (and only its adjacencies) may apply +the packet loss ratio to adjust the cost which they maintain in their +link state tables. These adjusted costs, rather than the received +costs, may then be propagated to other routers. + +Such procedures should be applied sparingly, as each change must be +propagated and could, if used too frequently, result in network-wide +instability. A suggested (experimental) algorithm is as follows: A +percentage threshhold x is set, as is a cost-adjustment factor y. If +fewer than x% of packets are received during a measurement interval, +the cost of that adjacency is multipled by y. For example, if x is 80 and +y is 1.5, then an adjacency with a nominal assigned cost of 4 will be +up-costed to 6 if only 70% of packets are received, but will be +restored to 4 if 80% or more are received during the next measurement +interval. The measurement interval is the time between RRH messages, +which precede routing update messages. + + +III. Acquisition of end node adjacencies + +Three possible means of determining adjacencies to end nodes are the use +of connected-mode AX.25 links, the use of ARP, and the use of a +"wiretap" algorithm (see RFC981). Unless a connection mode Data Link +layer (with keepalive timers) is used, adjacent nodes may need to send +each other messages at regular intervals (ping) to ensure that the +link is still usable. A procedure is outlined below for routers and +end nodes to acquire knowledge of each other. + +It is assumed that RSPF will not be activated in end nodes; this +permits them to use simple version of the IP software. A node that +has RSPF support in its software but operates as an end node can also +use the router-router connection procedures and simply broadcast its +adjacency to the router in a one-entry bulletin with a horizon of one. +Such a node may also be simultaneously homed on two or more other +routers, unlike true end nodes whose traffic either bypasses RSPF +(using ARP) or arrives by way of its associated router. + +There is no "redirect" function provided in RSPF. Since radio does +not provide a true "broadcast" topology subnetwork, a router cannot +presume that if both end nodes can hear it, that both end nodes can +hear each other. + +If an end node knows the IP address of the router which will connect +it to the network at large, it may establish a connected-mode AX.25 +(or other subnet) connection to the router; the presence of this +connection indicates that the node is reachable from that router, +which then adds it to its links table and subsequent bulletins. This +may, of course, require an ARP exchange in order to acquire the AX.25 +(or other data link layer or subnet) address. + +Alternately, the end node can simply use ARP and use connectionless +link procedures. In this case the router should assume that the end node +is available until either a rather lengthy timer expires, or the router +is unable to make an ARP contact after the ARP timer expires. (A loss +of reachability should not be inferred from the ARP timeout.) + +Routers should periodically broadcast their availability (suggested +interval: every 15 minutes) with an AX.25 UI frame sent to QST-0 (the +AX.25 broadcast address). A human-readable "unproto" message may go +here, allowing individual operators to recognize routers and connect +as appropriate. (No specific PDU coding is provided, as the end +nodes do not use RSPF, and thus this is not really an RSPF packet.) + +A router may also choose to use "Promiscuous ARP" to provide service to +an end node which is attempting to connect with an IP address reachable +by the router. In such a case the router should wait an extra interval +after receiving the ARP request because the desired destination may +actually be directly reachable; ARP procedures may need to be modified +to provide this. + +Another potential approach is for routers to simply listen to AX.25 +traffic on the link and determine who is adjacent to whom. This is the +gist of the "wiretap" algorithm in RFC981, which also finds non-adjacent +nodes by taking advantage of the source routing found in AX.25 frames. +Integration of wiretap into RSPF is for further study. + + + +IV. Link state propagation + +Link state information is propagated between routers within bulletin +envelopes, which are sequences of packets containing partial or full +copies of the sending node's link state table. Both point-to-point +and broadcast procedures are provided. + +IV.1. Optional multicast/broadcast + +Packet radio is inherently a broadcast medium. Packet radio networks, +however, may be viewed as a collection of individual links which happen +to use a broadcast physical medium. It is also possible to exploit the +broadcast nature of the medium. RSPF link state propagation procedures +allow but do not require such multicasting. If the link uses +connectionless procedures for user data packet exchange, then broadcast +procedures should be used for link state packet exchange. The converse +may not necessarily be true: The threshhold of loss that militates +against connectionless transmission of user data may be more stringent +than that which call for non-broadcast transmission of link state +packets. (Optimal parameters are for further study.) + + +IV.2. Routing update bulletins + +Routing updates are passed along from router to router via routing +update bulletins, which are broadcast within routing update envelopes. +Bulletin propagation is designed to make it extremely likely that +every node within a given "horizon" receives every routing update +message sent out by a given node. + +Every router originates information about changes in its own adjacencies, +as well as periodic retranmissions of its entire list of adjacencies. +These bulletins are then propagated among other routers. The router whose +adjacency information is being broadcast is called the _reporting +router_; this may be some hops away from the routers which forward it to +their own adjacencies. Each reporting router's bulletins (adjacency +updates) contain a sequence number (and in some cases, a subsequence +number). These sequence and subsequence numbers are generated by the +reporting router and propagated; they are not changed when a bulletin +is relayed. They are incrememted by 1 (modulo 65536) every time a new +one is generated. + +Bulletins may also carry change information incremental to previous +bulletins. These carry the same sequence number as the full routing +update bulletin to which they are reporting incremental changes; each +such partial routing update bulletin has a subsequence number. The +subsequence number is zero for a full routing update bulletin. + +Every bulletin also has a horizon value, set by the reporting router, +associated with each of its constituent links. (A given reporting +router may have more than one constituent link, if it is a multi-port +router.) Every time a bulletin is propagated, each horizon value is +decremented by 1. When it hits zero, the bulletin is not propagated +further. Note that for horizon purposes, a bulletin's individual +constituent links may have separate horizons; when a link's horizon hits +zero, other links' adjacency information from the same reporting router +may continue to be propogated. + +It should also be noted that if a given link has adjacencies with +different horizons, these must be treated as separate links, since +horizon is reported as a characteristic of link. Such a circumstance +may occur, for example, when a router serves a node group. +Adjacencies within the node group are typically propagated with short +horizons, since they are only of local interest (i.e., to other nodes +in or near that node group). Similarly, the node group itself is +propagated with a long horizon, across a backbone. However, +adjacencies outside the node group may be propagated with long +horizons, as they would not otherwise be reached across a backbone +dependent upon node groups for long-haul routing. + +Every router maintains within memory a routers table containing one +tuple for every other router on the network. This tuple contains the +following elements: + + IP Address + Last received bulletin sequence number + Last received bulletin subsequence number + Timestamp for when the data was received. + Horizon remaining in bulletin when received **NEW IN 2.1** + +This table is used to coordinate the receipt and transmission of +bulletins, using either broadcast or non-broadcast procedures. + + +IV.3. Flooding without congestion + +Upon initialization of adjacencies + +Bulletins are forwarded in a routing update envelope which may contain +one or more reporting routers' bulletins (adjacency lists), which are +flooded to the network. A bulletin envelope may actually concatenate +multiple reporting routers' bulletins; this is in fact the typical +case, when routing update packets are exchange on schedule, **and when a +given router acquires a new adjacency**. However, partial routing +updates (good news and bad news) may be sent at any time. + +The first time an adjacency is acquired, the two routers perform a +full routing update with each other, exchanging their complete link +lists. Once this is complete, the routers perform the SPF algorithm +and compute new routing tables. + +Preventing loops and retransmissions + +A bulletin from reporting router X (which lists all of X's +adjacencies) is sent, initially by X, to every adjacent (to X) router +A. This router A passes it along to all of its own adjacencies B, +etc.. This flooding is controlled such that no reporting router's +adjacency update is sent more than once between the same pair of +routers. + +After router A sends its bulletin envelope to B, the recipient router +B then looks at the sequence number of each reporting router X's +adjacency bulletin within that envelope, and for each reporting +router's bulletin, compares the sequence number of the just-received +adjacency bulletin with the highest sequence number previously +originated from X. If the just-received bulletin is newer (higher +number), then it sends a positive acknowledgement to A, and joins in +the flooding to its own adjacencies. The horizon is, of course, +decremented. ** HOW IS IT POSITIVELY ACKED? NEED WE? ** + +If the bulletin from X has the same number as was stored in B, B checks +the horizon left in the received bulletin against the horizon left +when it previously received the bulletin. In the event that the +latest bulletin received had a shorter (lower number) horizon left +than the earlier one, it simply acknowledges the (redundant) message. +But if the reporting router X's horizon left is greater for the new +copy of the bulletin, router B propagates it as if it were a new +bulletin. This way, if the bulletin happened to first arrive via a +roundabout path, it won't accidentally fail to reach the intended end +of its range. (Summary: Newer or longer-horizon bulletins are both +passed along. Same age or older (by sequence number) or same or lower +horizon will not be propagated.) + +If any router B receives from router A a bulletin (from any reporting +router X) that contains a lower sequence number than one that had +previously arrived at B from said X, then it can be presumed that A +has "obsolete" information. B replies by sending a bulletin to A with +the latest link state information for that node X. As a corrolary, a +router may poll for information about a given reporting router by +sending a routing update bulletin for that reporting router with a +sequence number that is lower than the latest one it actually has +received. Said bulletin may contain zero links' information. (Note +that since the sequence number is modular, a value of 0 is not correct +for this function as 0 is higher than 65535; the "poll" number should +be only slightly lower.) + + +IV.4. Non-broadcast bulletin envelope exchange + +A router may acquire routing information from adjacent routers via +point-to-point procedures which treat every adjacency as a separate +logical data link. (Such a procedure also works, of course, over +point-to-point links such as wirelines.) This tends to have the highest +reliability, since connection-oriented data link control procedures can +be used to ensure the accuracy and completeness of the data passed over +the link. It has the disadvantage of requiring separate transmission of +the same data to different adjacent nodes on the same radio channel. + +Bulletin envelopes are thus exchanged (when connection-oriented is +selected) periodically (based upon timers) and when new information is +received (over a new adjacency, and when good and bad news arrive). +Delivery of these bulletins is considered to be gnerally reliable. + + +IV.5. Broadcast bulletin propagation + +When a router is adjacent to several other routers via the same +broadcast (i.e., packet radio) channel, retransmission of routing +bulletins to each adjacency makes additional use of bandwidth, which may +be a scarce resource. A broadcast procedure may be used to pass the +bulletin along that link. Note that broadcast propagation of bulletins +may be combined with non-broadcast propagation, on a link by link basis. +Although packet radio is a broadcast medium, it is not a perfect one: +The reliability of multicast packets is not as high as for wireline LANs. +This leads to the need for a unique broadcast "flooding" technique. + +A routing update bulletin is broadcast to the Layer 2 multicast AX.25 +address using the IP multicast address. Individual recipient routers +may or may not receive the entire bulletin, since there is no +acknowledgement provided. + +In the previously described case of a non-broadcast message sent via a +connection-oriented datalink, the entire routing update bulletin can +be assumed to have been received intact. Thus, if a given reporting +router has originated a new complete list of its adjacencies (new +sequence numbers, subsequence numbers are 0), then any adjacency not +included is presumed to have ceased to exist. Such a presumption is +not always possible when a bulletin was received via unacknowledged +broadcast, as the message might have been received in part. This +should not make the partially received bulletin unusable. + +A bulletin envelope is transmitted in one or more packets, each of +which constitutes a numbered fragment of the whole bulletin envelope. +Within the transmitted bulletin envelope, each individual reporting +router's bulletin begins with a node-header which contains the number +of links being reported on. Within each bulletin, each link is +identified by a link header, each of which specifies the number of +adjacencies being reported on (for that link). Since each IP packet +that makes up a bulletin contains a fragment number, it is also +possible to determine whether or not a fragment was lost. Each packet +also contains an envelope-ID, which prevents accidental mis-assembly +of different bulletins that may arrive close in time. **NEW IN 2.1** + +In connection-oriented non-broadcast procedures, a routing update +bulletin (not a partial one with a subsequence numbers >0) provides a +complete list of adjacencies known to the sending node, except where the +horizon is exceeded. Absence of a previouly-known adjacency then +implies that the adjacency has been lost. However, that assumption does +not apply to fragmented bulletins received in part, which can occur with +broadcast procedures: If a fragment was lost before reaching the end of +a given reporting router's bulletin within the bulletin envelope, then +the absence of a previously-known adjacency in the received bulletin +does not mean that the adjacency was lost. + +RSPF procedures dictate that routing update bulletins with a subsequence +number of zero are presumed to be complete lists of adjacencies from +their originators; higher subsequence numbers represent incremental +changes only. In the broadcast procedures, a routing update bulletin +with a subsequence number of zero, if received only in part, is +treated as a partial routing update bulletin. If it received in full, +it is treated as a full routing update bulletin. + +Thus, the recipient compares the sequence number with the previously +received sequence number from that reporting router. If it is higher +than the previously received one, then its adjacencies are used. If +it was received in full, and had a subsequence number of 0, then its +previous adjacencies are replaced (removed if not contained in the +latest full routing update bulletin). If it was not received in full, +or if its subsequence number was not zero, then its previous +adjacencies are left intact unless explicitly changed by the received +bulletin. + +If a bulletin is received in full, then the routers table is updated +with the latest sequence and/or subsequence number, horizon **NEW 2.1** +and timestamp. If it is received in part, then these entries are not +updated. After the bulletin has been completely transmitted, a +recipient node which has received a partial update from a reporting +node may poll for that node's latest information, by using the (now +known to be obsolete) sequence number for that router in its router +table in a bulletin, with zero links for that reporting router. (This +is the same polling procedure used for non-broadcast links.) + +Note that if a fragment is lost, a reporting router whose node-header is +in the lost fragment will of course remain unchanged in the recipient's +data base. Furthermore, any data received in subsequent fragments, +prior to a node-header, will also be meaningless. The last adjacency +of the last link in a reporting router's bulletin will have the Last +flag set to 1, signaling that following the address, a node header +follows. Note also that the first node-header within an envelope is +pointed to by the sync byte in the envelope header. The last flag and +sync byte should match or an error should be noted. + + +IV.6. Routing update bulletin packets + +A routing update bulletin envelope (Table IV.1) may contain several +different reporting routers' updated link state information, +concatenated into one message, with a different sequence number for each +source (reporting router). One of the sources, of course, may be the +local router. Each router's link state information is further broken +down by link, which allows its backbone routing information to be +propogated separately from its local end node adjacency information. + +Incremental changes (good news and bad news) + +Bulletins that only report changes in state come in two flavors. Good +News bulletins inform other routers that an adjacency has been noted. +Bad News bulletins inform them that an adjacency has been lost. If an +end node establishes a connection with a router whose node group default +addresses (based on the significant bit count) already include that end +station, however, no bulletin need be sent out, as packets to that end +station will already be routed correctly. Theoretically, a router could +send out a new full routing update bulletin every time it gained or lost +an adjacency. However, the use of shorter Good News and Bad News +packets, which do not contain a full routing update, allow the network +to remain relatively current with less transmitted traffic. + +Good news and bad news packets are propogated like other packets, +but are not originated by the same rules. While full routing bulletins +are originated based upon a timer, good news packets are transmitted +immediately upon receipt and initiated immediately after an adjacency +is initialized. This enables new links to be useful quickly. Bad news, +however, should not travel as fast: A node should cache any bad +news message for a time (initial recommendation for this timer: 60 +seconds) while waiting for the link to come back up. This helps keep +the network stable; if the node receives a packet destined for the +lost destination, it may send an ICMP "host unreachable" message +to the originator of the packet, unless it can reroute the packet +itself (as may happen with the loss of a backbone link when others +still exist). + +Because good news and bad news messages represent changes to the last +full link state bulletin propogated, but do not purport to completely +represent a node's link states, they carry bulletin subsequence +numbers. These use the last bulletin sequence number originated by the +reporting router, but the sub-sequence value increments from 1. (A full +link state packet has a sub-sequence value of 0, and resets the +subsequence counter.) + +Routes to nearby destinations + +Sometimes more than one router will serve the same area (determined by +the significant bits' matching), and they will need to know which one has +the better path to a given station. These adjacency messages may only +require a short horizon, as will Good News and Bad News packets which +refer to end nodes going on and off the air. Higher horizons are +needed for backbone routers. + + +Table IV.1. Routing update (link state packet) bulletin envelope: + + 1 2 + |0 |8 |6 |4 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---- + | RSPF Version #| Type | fragment # | fragment total| packet + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -hdr + | Checksum | sync byte | # nodes below | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Envelope-ID | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---- + | Reporting node #1 full IP Router-Address | node + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -hdr + | Node 1 bulletin sequence # | sub-sequence #| # links | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---- + | horizon left | ERP factor | link cost | #adjacencies | link + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ _-hdr_ + |significant bits| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Adjacent node(s) 1,1,1 IP address | adj. + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- + |significant bits| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Adjacent node(s) 1,1,2 IP address | adj. + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- + ... + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |significant bits| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Adjacent node(s) 1,1,n IP address | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- + | horizon left | ERP factor | link cost | #adjacencies | link + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- + |significant bits| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Adjacent node(s) 1,2,1 IP address | adj. + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- + ... + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |significant bits| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Adjacent node(s) 1,2,n IP address | adj. + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- + | Reporting node #2 full IP Address | node + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Node 2 bulletin sequence # | sub-sequence #| # links | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- + | horizon left | ERP factor | link cost | #adjacencies | link + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- + |significant bits| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ adj. + | Adjacent node(s) 2,1,1 IP address | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- + |significant bits| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Adjacent node(s) 2,1,2 IP address | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + ... + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | horizon left | ERP factor | link cost | #adjacencies | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |significant bits| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Adjacent node(s) 2,2,1 IP address | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + ... + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |significant bits| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Adjacent node(s) 2,2,n IP address | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + ... + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Reporting node #n full IP address | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Node n bulletin sequence # | sub-sequence #| # links | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + etc. + +Parameters-- + + An RSPF bulletin packet is sent within IP with a type of . Each routing update envelope + contains an envelope packet header that contains: + + RSPF Version Number: Version number of the protocol (initially 1). + Type: (Value 1 for Routing Update Bulletin Envelope) + + Fragment Number: States which fragment, in a segmented message, + this is, beginning at 1. Non-fragmented messages use 1. + + Fragment total: Total number of fragments in message; 1 if not + fragmented. + + Checksum: IP-style checksum. + + Sync byte: Which octet in this packet (counting from this + byte as byte 0) is the beginning of the first node-header. If 0, + this fragment has no node-header. Non-fragmented messages + use a value of 4 (because 3 bytes follow in packet header). + **NOTE CHANGE IN 2.1** + + Number of nodes reporting: The number of reporting routers in the + messages that follows (this packet or a sequence of packets forming + the envelope). + + + The node-header (for each reporting router) contains 8 octets: + + Reporting router #n full IP router address: The IP address of + the router whose adjacencies are being reported below. (Note + that if a router uses separate IP addresses on its links, it + should still adopt a single one as its router address.) + + Bulletin sequence number: When a bulletin is passed along, this + number is NOT changed; every new bulletin from a given Reporting + router has a value 1 higher than the previous bulletin from that + reporting router. (Note: This is modulo 65536, so implementations + must cope with the "wrap around" and consider values below, say, + 100, to be "higher" than values above, say, 65400. Between 100 + and 65400, modular arithmetic is NOT used.) + + Sub-sequence number: Good news and bad news packets representing + incremental changes from the last full report increment this value + by 1; it is 0 for full bulletins. + + # links: The number of different cost-horizon values (typically, + but not necessarily, representing different types of link in a + mulitiport gateway) being reported below; the following four octets + are the header for each link. + + [For each reporting router, adjacencies are reported separately by + link cost. This is the received cost value for that data link, after + any adjustment that may be based upon packet loss ratio. Adjacencies + are also reported separately by horizon, even if the cost is the same. + It does not matter at this point if there are multiple RF or other + links if their cost and horizon are the same. Likewise, separate + received costs or horizons on one link will be treated separately + and such adjacencies will be grouped under separate link headers:] + + Horizon left: This number is decremented every time a routing update + bulletin is passed along; when it reaches 0, it is not passed further. + + Link cost: A "figure of merit" for each link, rising with + slower/poorer links. This is the number whose total is minimized + by SPF. The range is 1-127. As a starting point, a 56000 bps fdx + backbone link might have a value of 2, a 4800bps hdx link a value + of 5, a 1200bps hdx link a value of 10 and a 300 bps hf "wormhole" + a value of 20. An Ethernet or high-speed (1 Mbps+) link might + then have a value of 1. A value of 255 denotes the loss of a + link; this is found in Bad News packets. These values should be + coordinated network-wide; adjusting them will change the way + packets are routed by RSPF. + + Number of adjacencies: The number of adjacencies to be listed for that + reporting node. + + ERP Factor: Used for "approximating" a route; contains the number of + significant bits for which a given node can be presumed to be a valid + router, even if it doesn't report in detail. A low factor = wider + coverage area; thus ERP of 16 means that if NO other match is found for + a given address, this router will try to handle it if it matches 16 + bits. Basically a handle for future enhancements; its use will not + be required in the initial release of RSPF. + + For each adjacency of the given link cost, the following is provided: + + Significant bits: The number of bits used for node group routing + purposes. Usually 32 but may be lower if a given link purports to + serve all end nodes in an area defined using the most-matched-bits + node group convention. Higher numbers of bits matched take a higher + priority than least cost. This uses the low-order 5 bits of the + octet. + + Last-flag: If this is the last adjacency in the list for this + reporting router, this value is 1; otherwise it is 0. (This + occupies the high-order bit of the significant bits octet.) + + Full IP address: The full IP address for this node. + +Note that the n,n,n vector within the bulletin has three fields in the +above representation: Reporting router within bulletin envelope, link +cost/horizon within reporting router's bulletin, and reporting adjacency +with that link cost/horizon. + + +IV.7. Fragmentation + +In a moderate to large network, a full routing update can easily exceed +the maximum size of an AX.25 frame or IP packet. The RSPF Routing +Update message, however, may be sent in fragments. The IP +fragmentation function is not used for this; bulletins are not assumed +to be terminated by a packet boundary. Each fragment is, however, +numbered in the packet header, along with an indication of the number +of the total number of fragments in that envelope. + +In order to permit parsing of the incoming fragments by routers who +are using unacknowledged broadcast information (with the high +likelihood of lost fragments), every bulletin's packet header contains a +sync byte indicator. This indicates which byte, where the next byte in +the header is byte 1, is the beginning of a node header. If a previous +fragment was lost, the receiver should ignore the number of bytes +indicated in the sync byte before resuming parsing of the packet. (If +the fragment does not exceed 255 bytes, this will always be sufficient. +It is recognized that long packets may not be able to use this mechanism +reliably, and a value of "0" should be used to indicate that no sync is +possible within this fragment.) + +Each routing update bulletin envelope takes the form of a three- +dimensional list, with the dimensions being reporting router, link and +adjacency. A given bulletin envelope may report on link state from one +or more remote nodes, as well as from the sending node. Each node may +have one or more links; each link may have one or more adjacencies. + +Packets may not be fragmented within adjacencies, but may be +fragmented after an adjacency's address and before the next adjacency's +significant bits field. (This presents a 5-octet field that should +not be fragmented.) The next fragment, in a new packet, simply begins +where the last one left off; the receiver knows how much more to +expect based upon the node and link count in the respective +node-header and link-header. + +A router may not start sending a new Routing Update message of any kind +to any given IP address until all fragments of a previous message to +that address have been transmitted. This applies both to point to +point (non-multicast address) and multicast procedures. + + +IV.8. Bulletin Timers + +The timers used for bulletin updates must be a compromise between +maintaing the network's current state and the traffic required to do +so. An initial suggestion: Good news messages should be initiated +within a few seconds and bad news messages should be initiated within +one minute, with relatively short horizons on the bulletins (i.e., the +routers within the region). Full routing updates with normal horizons +should be sent out every 30 minutes. If the network is small, more +frequent updates may be possible; too frequent updates risk choking +the network with update traffic. + + + + +V. The Shortest Path First spanning tree algorithm + +As a routing node comes onto the network, it acquires over time a +complete list of adjacencies between other nodes on the network except +as limited by the "horizon". Each adjacency (point to point link) +within the entire known network has a "cost" associated with it. It +should be noted that adjacencies, for the purposes of this algorithm, +are "logical" and not necessarily physical; if a subnetwork link +occurs below IP (as in AX.25 digipieating or NET/ROM), the two ends of +the link are still adjacent. (Adjacency at the IP internet layer is +based upon subnetworks, which may contain their own links.) + +Cost is set for the receive (** Changed in 2.1 to facilitate automatic +link quality adjustment **) side of each link. If the receiver and +transmitter do not agree on cost, the network shall apply different +routes for packets going in opposite directions between the same two +end nodes. (This is not a problem. In a radio environment, one +should NOT assume reciprocity across a link.) + +V.1. Tables + +Each router builds a _link state table_ that lists, for every known +link in the network (from every reporting router), the two ends and +the cost of that end of the link. The ends are listed by an IP router +address and, for the destination IP router address, a number of +significant bits. This is what's updated by the bulletins and by good +news/bad news messages. + + Source IP address Dest. IP addr/bits Cost + + 44.56.0.44 44.56.0.128/32 5 + 44.56.0.44 44.56.0.12/25 10 + +The goal of the SPF algorithm is to build a _paths table_ which lists, +for every reachable node (or node group approximation of fewer than 32 +bits) on the network, that node address (or node group address and +number of significant bits), the adjacent node used to get there +(i.e., where you blast the packets to next), and the total cost of the +path. (This feeds the Route table in the IP Route module in NET.) +This is done by building a spanning tree with the router doing the +computation (the home router) as the root of the tree. The paths +table thus lists the best way across the tree from the home router to +all known destinations. + +Every router contains, for the purposes of building the tree, a +_trial table_ that has three entries: Destination address/bits, +adjacent node, and cost of this path. The paths table additionally +has one more entry, the _parent_ node, which is the last hop +before the destination. Thus in a path A -> B -> C -> D -> E, home +router A views E as the destination, D as the parent, and B as the +adjacency. Note that in the path from A to B, A is the parent node. + +Begin building the paths table by using the home router as the first +node on the paths table. The cost to reach yourself is always 0, so +make the first entry on the paths table as follows: Source=self, +destination=self, parent=self, and cost=0. From here on in, parent +is always (by definition of the SPF spanning tree) the node most +recently added to the paths table. + + Destination Adjacent Parent Cost + + 44.56.0.128 44.56.0.128 44.56.0.44 5 + 44.56.0.131 44.56.0.128 44.56.0.128 10 + 44.56.0.200 44.56.0.128 44.56.0.131 15 + + Paths Table showing relationship between + destination, parent and adjacent nodes, where the home + node is 44.56.0.44 and 44.56.0.200 is three hops away; + all hops here have a cost of 5. + +V.2. Scanning the links + +The home router now scans its links table looking for all nodes (routers +and end nodes) that are adjacent to the current parent node, except +for links to nodes which are already on the paths table. (It is +generally fastest to build the paths table by scanning the links table +in order of increasing link cost.) Each of these new nodes is added +to the trial table, except for the parent node (which is already on +the paths table, so it can't possibly have a shorter path). The value +of cost placed on the trial table is the cost of the link from the +parent to the destination plus the cost from home to the parent node +(which value is already on the paths table). + +A node may only appear once in the trial table at any given time. If +an adjacency is found to a node that is already on the trial table, a +new entry replaces the existing entry if and only if the new total +cost is lower. If the cost is higher, it is ignored. (If the costs +are equal, then a "tiebreaker" is determined by treating the +lower-numbered IP address as the lower cost. This will simply make +the spanning tree more deterministic in case of tie.) Thus the trial +table always contains the lowest cost path to each destination found so +far. + +Once all of the links from the parent node have had their chance to go +onto the trial table, scan the entire trial table for the _one_ entry +with the lowest total cost. This not need be a link from that parent +node! In case of tie, pick the lower IP address (again just to be +deterministic). Move this node to the paths table; guaranteed, +there'll be no cheaper path to that node! The adjacency used for that +node in the paths table is the adjacency to its parent node. Note +that the parent _must_ already be on the paths table since that's the +source of the parent; you're working your way outward. + +This new addition to the paths table becomes the new parent node. +Repeat the procedure above (from the beginning of V.2) until there are +no nodes left on the trial table. This means you've completed the +spanning tree and have found the least-cost path to every other node. + +One of the router parameters is maximum_cost. If the cost to a given +parent node exceeds this value, the procedure stops, since all +subsequent entries in the route table will have a higher cost. This +value has some semblane to the time-to-live parameter of the IP +packet: It makes little sense to compute a routing table to nodes +that cannot be reached within time-to-live. (Ideally, ttl will be +implemented using a timer rather than a node counter, but this is +difficult to do with some of the packet radio data link controller +implementations; vis., TNCs.) + +A router should recalculate its routes periodically based upon the +current links table. How frequently depends upon the CPU load involved. +Initial estimates are that it should be recalculated after receipt of +every routing update bulletin: Partial calculations do not save +enough CPU time to make them worthwhile. + + +V.3. Filling in the routing table + +The route table in NOS and NET (the KA9Q et al implementations of IP) +contains, for each entry, the destination address, number of bits, +interface, gateway and metric. This is essentially left intact, +except that metric is filled in by cost and the routing decision looks +for the least cost of all matches. The route table is filled in from +the paths table. + +Since the routing table will be periodically recalculated from +scratch, implementation may require two route tables, one "in +progress" and one "in service". When the route calculation is +complete, the "in progress" table becomes "in service" and the old one +is cleared for reuse. This allows packet forwarding to continue while +the completed paths table is being converted into the route table. + +A manual route table may also be maintained. This should be overriden +by RSPF-generated entries. Manual routes are useful defaults before +RSPF generates routing entries, for destinations not reported on by +RSPF, and for interworking with other routing protocols. + + + + +Appendix I. Router parameters + +Every router must set a number of parameters in order to properly +operate. While RSPF builds its routing matrix automatically, overall +network efficiency and stability may require some fine-tuning based +upon experience. These include parameters set for each data link +or subnetwork layer entity (i.e., each radio channel) and for the +router in general. + +Link/subnet settings: + + Set Link cost: This is the cost parameter based upon the link speed + and type. Since the overall cost of the end-to-end path is + minimized by the RSPF spanning tree, link cost should be set to + arrive at the best overall network performance. The legal range + is 1-127. This is sent in routing update bulletins. + +Node settings: + + Add/Delete Node group: [IPaddr]/bits {cost}. This allows a node to + announce its ability to serve a group of nodes, identified using + the standard NET convention of address/significant bits. Thus a + node group setting of [44.56.0.1]/25 will match all nodes from + [44.56.0.1] to [44.56.0.127]. Cost is optional; if set, this + cost to will be propogated to reach such nodes; otherwise, the + link's default is used. + + Set horizon link: This sets the horizon value for the node's + routing bulletins apropos 32-bit addresses of other connected + routers. This should be high enough to propogate across the + backbone. + + Set horizon group: This sets the horizon value for the node's + routing bulletins apropos node group addresses (fewer than 32 + bits matched). Usually matches the horizon link value. + + Set horizon local: This sets the horizon vaue for the node's + routing bulletins apropos full link addresses (32 bits) **to + non-routers** within the router's node group area. This is set to + a low value so that only other routers serving the same or overlapping + node group(s) will receive these messages. + + Set horizon portable: This sets the horizon value for the + node's routing bulletins apropos full link addresses (32 bits) + not within a node group. This allows portable end nodes to + have their location in the network propogated farther than + the local horizon; this is usually set the same as horizon group. + + Set broadcast timer: This sets the time, in seconds, between + router-router hello (RRH) broadcasts. Initial suggestion: 900. + + Set suspect timer: This sets the time, in seconds, after which + an adjacency is "suspect" if no packets are received from it. + An ICMP echo is then issued. Initial suggestion: 900. + + Set suspect count: This sets the number of times an ICMP echo + (ping) should be sent after a node is suspect, before it is + removed from the adjacency list. diff --git a/src/nos/doc/ka9qbgn/USERMAN.TXT b/src/nos/doc/ka9qbgn/USERMAN.TXT index f3af48a5..420b8698 100644 --- a/src/nos/doc/ka9qbgn/USERMAN.TXT +++ b/src/nos/doc/ka9qbgn/USERMAN.TXT @@ -1,3420 +1,3420 @@ - - - - - - - - - - NET User Reference Manual (NOS Version) - - - Phil Karn, KA9Q - - - - - - -1. The NET.EXE Program - -The MS-DOS executable file net.exe provides Internet (TCP/IP), -NET/ROM and AX.25 facilities. Because it has an internal multi- -tasking operating system, net.exe can act simultaneously as a -client, a server and a packet switch for all three sets of proto- -cols. That is, while a local user accesses remote services, the -system can also provide those same services to remote users while -also switching IP, NET/ROM and AX.25 packets and frames between -other client and server nodes. - -The keyboard and display is used by the local operator to control -both host and gateway level functions, for which a number of com- -mands are provided. - -1.1. Installation - -Net.exe uses the following directory structure: - - /net - /net/spool - /net/spool/help - /net/spool/mail - /net/spool/mqueue - /net/spool/rqueue - /net/spool/news - - -The "/net" directory is not strictly necessary, and defaults to -the root of the current drive. Any name may be chosen using the --d command-line option (described below). The alias, -autoexec.net, dialer, domain.txt and ftpusers configuration files -are located here. - -The "/spool" directory and its sub-directories are used by the -bbs, SMTP and NNTP services. The areas, forward.bbs, history, -mail.log, rewrite and signatur configuration files are located -here. - -The alias, forward.bbs and rewrite files are described in the -document "maildoc", which should be found at the same location as - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 2 - - - -this file. - -1.2. net [-b] [-s ] [-d ] [] - -1.2.1. -b - -The -b option specifies the use of BIOS for console output; the -default is to write directly to the video display buffer. Use -this option if you are running under a windowing package and have -trouble with output "bleeding through" on top of other windows. - -1.2.2. -s - -The -s option specifies the size of the socket array to be allo- -cated within net.exe. This limits the number of network connec- -tions that may exist simultaneously. The default is 40. - -1.2.3. -d - -The -d option allows the user to specify a directory for the con- -figuration and spool files; it defaults to the root directory of -the system. - -1.2.4. Startup file - -After all command-line options, the name of a startup file may be -specified. If no startup file is specified, net.exe attempts to -open a file named autoexec.net in the configuration directory of -the current drive. If the file exists, it is read and executed as -though its contents were typed on the console as commands. (See -the Commands chapter.) This feature is useful for attaching com- -munication interfaces, configuring network addresses, and start- -ing the various services. - - - - - - - - - - - - - - - - - - - - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 3 - - - -2. Console modes - -The console may be in one of two modes: command mode and converse -mode. In command mode, the prompt net> is displayed and any of -the commands described in the Commands chapter may be entered. In -converse mode, keyboard input is processed according to the -current session. - -Sessions come in many types, including Telnet, FTP, AX25, NETROM, -Ping, More, Hopcheck and Tip. In a Telnet, AX25, NETROM, or Tip -session, keyboard input is sent to the remote system and any out- -put from the remote system is displayed on the console. In a FTP -session, keyboard input is first examined to see if it is a known -local command; if so it is executed locally. If not, it is -"passed through" to the remote FTP server. (See the FTP Subcom- -mands chapter). In a Ping session the user may test the path to a -remote site, and in a More session, the user may examine a local -file. A Hopcheck session is used to trace the path taken by pack- -ets to reach a specified destination. - -The keyboard also has cooked and raw states. In cooked state, -input is line-at-a-time; the user may use the line editing char- -acters ^U, ^R and backspace to erase the line, redisplay the line -and erase the last character, respectively. Hitting either -return or line feed passes the complete line up to the applica- -tion. In raw state, each character is immediately passed to the -application as it is typed. - -The keyboard is always in cooked state in command mode. It is -also cooked in converse mode on an AX25, FTP or NET/ROM session. -In a Telnet session it depends on whether the remote end has -issued (and the local end has accepted) the Telnet WILL ECHO -option (see the echo command). - -On the IBM-PC, the user may escape back to command mode by hit- -ting the F10 key. On other systems, the user must enter the -escape character, which is by default control-] (hex 1d, ASCII -GS). (Note that this is distinct from the ASCII character of the -same name). The escape character can be changed (see the escape -command). - -In the IBM PC version, each session (including the command "ses- -sion") has its own screen. When a new session is created, the -command display is saved in memory and the screen is cleared. -When the command escape key (usually F10) is hit, the current -session screen is saved and the command screen is restored. When -a session is resumed, its screen is restored exactly as it -appeared when it was last current. - - - - - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 4 - - - -3. Commands - -This chapter describes the commands recognized in command mode, -or within a startup file such as autoexec.net. These are given in -the following notation: - - command - command literalparameter - command subcommand - command [] - command a | b - - -Many commands take subcommands or parameters, which may be -optional or required. In general, if a required subcommand or -parameter is omitted, an error message will summarize the avail- -able subcommands or required parameters. (Giving a '?' in place -of the subcommand will also generate the message. This is useful -when the command word alone is a valid command.) If a command -takes an optional value parameter, issuing the command without -the parameter generally displays the current value of the vari- -able. (Exceptions to this rule are noted in the individual com- -mand descriptions.) - -Two or more parameters separated by vertical bar(s) denote a -choice between the specified values. Optional parameters are -shown enclosed in [brackets], and a parameter enclosed in should be replaced with an actual value or string. For -example, the notation denotes an actual host or gateway, -which may be specified in one of two ways: as a numeric IP -address in dotted decimal notation (eg. 44.0.0.1), or as a sym- -bolic name listed in the file domain.txt. - -All commands and many subcommands may be abbreviated. You only -need type enough of a command's name to distinguish it from oth- -ers that begin with the same series of letters. Parameters, how- -ever, must be typed in full. - -Certain FTP subcommands (eg. put, get, dir, etc) are recognized -only in converse mode with the appropriate FTP session; they are -not recognized in command mode. (See the FTP Subcommands -chapter.) - -3.1. - -Entering a carriage return (empty line) while in command mode -puts you in converse mode with the current session. If there is -no current session, net.exe remains in command mode. - -3.2. ! - -An alias for the shell command. - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 5 - - - -3.3. # - -Commands starting with the hash mark (#) are ignored. This is -mainly useful for comments in the autoexec.net file. - -3.4. abort [] - -Abort a FTP get, put or dir operation in progress. If issued -without an argument, the current session is aborted. (This com- -mand works only on FTP sessions.) When receiving a file, abort -simply resets the data connection; the next incoming data packet -will generate a TCP RST (reset) response to clear the remote -server. When sending a file, abort sends a premature end-of- -file. Note that in both cases abort will leave a partial copy of -the file on the destination machine, which must be removed manu- -ally if it is unwanted. - -3.5. arp - -Display the Address Resolution Protocol table that maps IP -addresses to their subnet (link) addresses on subnetworks capable -of broadcasting. For each IP address entry the subnet type (eg. -Ethernet, AX.25), subnet address and time to expiration is shown. -If the link address is currently unknown, the number of IP -datagrams awaiting resolution is also shown. - -3.5.1. arp add ethernet | ax25 | - - -Add a permanent entry to the table. It will not time out as will -an automatically-created entry, but must be removed with the arp -drop command. - -3.5.2. arp publish ethernet | ax25 | - - -This command is similar to the arp add command, but system will -also respond to any ARP request it sees on the network that seeks -the specified address. (Use this feature with great care.) - -3.5.3. arp drop ax25 | ethernet - -Remove the specified entry from the ARP table. - -3.5.4. arp flush - -Drop all automatically-created entries in the ARP table; per- -manent entries are not affected. - -3.6. asystat - -Display statistics on attached asynchronous communications inter- -faces (8250 or 16550A), if any. The display for each port con- -sists of three lines. The first line gives the port label and the - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 6 - - - -configuration flags; these indicate whether the port is a 16550A -chip, the trigger character if any, whether CTS flow control is -enabled, whether RLSD (carrier detect) line control is enabled, -and the speed in bits per second. (Receiving the trigger charac- -ter causes the driver to signal upper layer software that data is -ready; it is automatically set to the appropriate frame end char- -acter for SLIP, PPP and NRS lines.) - -The second line of the status display shows receiver (RX) event -counts: the total number of receive interrupts, received charac- -ters, receiver overruns (lost characters) and the receiver high -water mark. The high water mark is the maximum number of charac- -ters ever read from the device during a single interrupt. This is -useful for monitoring system interrupt latency margins as it -shows how close the port hardware has come to overflowing due to -the inability of the CPU to respond to a receiver interrupt in -time. 8250 chips have no FIFO, so the high water mark cannot go -higher than 2 before overruns occur. The 16550A chip, however, -has a 16-byte receive FIFO which the software programs to inter- -rupt the CPU when the FIFO is one-quarter full. The high water -mark should typically be 4 or 5 when a 16550A is used; higher -values indicate that the CPU has at least once been slow to -respond to a receiver interrupt. - -When the 16550A is used, a count of FIFO timeouts is also -displayed on the RX status line. These are generated automati- -cally by the 16550A when three character intervals go by with -more than 0 but less than 4 characters in the FIFO. Since the -characters that make up a SLIP or NRS frame are normally sent at -full line speed, this count will usually be a lower bound on the -number of frames received on the port, as only the last fragment -of a frame generally results in a timeout (and then only when the -frame is not a multiple of 4 bytes long.) - -Finally, the software fifo overruns and high water mark are -displayed. These indicate whether the parameter on the -attach command needs to be adjusted (see the Attach Commands -chapter). - -The third line shows transmit (TX) statistics, including a total -count of transmit interrupts, transmitted characters, the length -of the transmit queue in bytes, the number of status interrupts, -and the number of THRE timeouts. The status interrupt count will -be zero unless CTS flow control or RLSD line control has been -enabled. The THRE timeout is a stopgap measure to catch lost -transmit interrupts, which seem to happen when there is a lot of -activity (ideally, this will be zero). - -3.7. attach ... - -Configure and attach a hardware interface to the system. Detailed -instructions for each driver are in the Attach Commands chapter. -An easy way to obtain a summary of the parameters required for a -given device is to issue a partial attach command (eg. attach - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 7 - - - -packet). This produces a usage message giving the complete com- -mand format. - -3.8. ax25 ... - -These commands are used for AX25 interfaces. - -3.8.1. ax25 blimit [] - -Display or set the AX25 retransmission backoff limit. Normally -each successive AX25 retransmission is delayed by twice the value -of the previous interval; this is called binary exponential back- -off. When the backoff reaches the blimit setting it is held at -that value, which defaults to 30. To prevent the possibility of -"congestive collapse" on a loaded channel, blimit should be set -at least as high as the number of stations sharing the channel. -Note that this is applicable only on actual AX25 connections; UI -frames will never be retransmitted by the AX25 layer. - -3.8.2. ax25 digipeat [on | off] - -Display or set the digipeater enable flag. - -3.8.3. ax25 flush - -Clear the AX.25 "heard" list (see ax25 heard). - -3.8.4. ax25 heard - -Display the AX.25 "heard" list. For each interface that is con- -figured to use AX.25, a list of all callsigns heard through that -interface is shown, along with a count of the number of packets -heard from each station and the interval, in hr:min:sec format, -since each station was last heard. The local station always -appears first in the listing; the packet count actually reflects -the number of packets transmitted. This entry is always present -even if no packets have been sent. - -3.8.5. ax25 irtt [] - -Display or set the initial value of smoothed round trip time to -be used when a new AX25 connection is created. The value is in -milliseconds. The actual round trip time will be learned by meas- -urement once the connection has been established. - -3.8.6. ax25 kick - -Force a retransmission on the specified AX.25 control block. - -3.8.7. ax25 maxframe [] - -Establish the maximum number of frames that will be allowed to -remain unacknowledged at one time on new AX.25 connections. This -number cannot be greater than 7. - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 8 - - - -3.8.8. ax25 mycall [] - -Display or set the local AX.25 address. The standard format is -used (eg. KA9Q-0 or WB6RQN-5). This command must be given before -any attach commands using AX.25 mode are given. - -3.8.9. ax25 paclen [] - -Limit the size of I-fields on new AX.25 connections. If IP -datagrams or fragments larger than this are transmitted, they -will be transparently fragmented at the AX.25 level, sent as a -series of I frames, and reassembled back into a complete IP -datagram or fragment at the other end of the link. To have any -effect on IP datagrams, this parameter should be less than or -equal to the MTU of the associated interface. - -3.8.10. ax25 pthresh [] - -Display or set the poll threshold to be used for new AX.25 Ver- -sion 2 connections. The poll threshold controls retransmission -behavior as follows. If the oldest unacknowledged I-frame size is -less than the poll threshold, it will be sent with the poll (P) -bit set if a timeout occurs. If the oldest unacked I-frame size -is equal to or greater than the threshold, then a RR or RNR -frame, as appropriate, with the poll bit set will be sent if a -timeout occurs. - -The idea behind the poll threshold is that the extra time needed -to send a "small" I-frame instead of a supervisory frame when -polling after a timeout is small, and since there's a good chance -the I-frame will have to be sent anyway (i.e., if it were lost -previously) then you might as well send it as the poll. But if -the I-frame is large, send a supervisory (RR/RNR) poll instead to -determine first if retransmitting the oldest unacknowledged I- -frame is necessary; the timeout might have been caused by a lost -acknowledgement. This is obviously a tradeoff, so experiment -with the poll threshold setting. The default is 128 bytes, one -half the default value of paclen. - -3.8.11. ax25 reset - -Delete the AX.25 connection control block at the specified -address. - -3.8.12. ax25 retry [] - -Limit the number of successive unsuccessful retransmission -attempts on new AX.25 connections. If this limit is exceeded, -link re-establishment is attempted. If this fails retry times, -then the connection is abandoned and all queued data is deleted. - -3.8.13. ax25 route - -Display the AX.25 routing table that specifies the digipeaters to - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 9 - - - -be used in reaching a given station. - -3.8.13.1. ax25 route add [digis ... ] - -Add an entry to the AX.25 routing table. An automatic ax25 route -add is executed if digipeaters are specified in an AX25 connect -command, or if a connection is received from a remote station via -digipeaters. Such automatic routing table entries won't override -locally created entries, however. - -3.8.13.2. ax25 route drop - -Drop an entry from the AX.25 routing table. - -3.8.14. ax25 status [] - -Without an argument, display a one-line summary of each AX.25 -control block. If the address of a particular control block is -specified, the contents of that control block are dumped in more -detail. Note that the send queue units are frames, while the -receive queue units are bytes. - -3.8.15. ax25 t3 [] - -Display or set the AX.25 idle "keep alive" timer. Value is in -milliseconds. - -3.8.16. ax25 version [1 | 2] - -Display or set the version of the AX.25 protocol to attempt to -use on new connections. The default is 1 (the version that does -not use the poll/final bits). - -3.8.17. ax25 window [] - -Set the number of bytes that can be pending on an AX.25 receive -queue beyond which I frames will be answered with RNR (Receiver -Not Ready) responses. This presently applies only to suspended -interactive AX.25 sessions, since incoming I-frames containing -network (IP, NET/ROM) packets are always processed immediately -and are not placed on the receive queue. However, when an AX.25 -connection carries both interactive and network packet traffic, -an RNR generated because of backlogged interactive traffic will -also stop network packet traffic from being sent. - -3.9. cd [] - -Change the current working directory, and display the new set- -ting. Without an argument, cd simply displays the current direc- -tory without change. The pwd command is an alias for cd. - -3.10. close [] - -Close the specified session; without an argument, close the - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 10 - - - -current session. On an AX.25 session, this command initiates a -disconnect. On a FTP or Telnet session, this command sends a FIN -(i.e., initiates a close) on the session's TCP connection. This -is an alternative to asking the remote server to initiate a close -(QUIT to FTP, or the logout command appropriate for the remote -system in the case of Telnet). When either FTP or Telnet sees -the incoming half of a TCP connection close, it automatically -responds by closing the outgoing half of the connection. Close -is more graceful than the reset command, in that it is less -likely to leave the remote TCP in a "half-open" state. - -3.11. connect [ ... ] - -Initiate a "vanilla" AX.25 session to the specified call sign -using the specified interface. Data sent on this session goes out -in conventional AX.25 packets with no upper layer protocol. The -de-facto presentation standard format is used, in that each -packet holds one line of text, terminated by a carriage return. -A single AX.25 connection may be used for terminal-to-terminal, -IP and NET/ROM traffic. The three types of data are automatically -separated by their AX.25 Level 3 Protocol IDs. - -Up to 7 optional digipeaters may be given; note that the word via -is NOT needed. If digipeaters are specified, they are automati- -cally added to the AX25 routing table as though the ax25 route -add command had been given before issuing the connect command. - -3.12. delete - -Delete a filename in the current working directory. - -3.13. detach - -Detach a previously attached interface from the system. All IP -routing table entries referring to this interface are deleted, -and forwarding references by any other interface to this inter- -face are removed. - -3.14. dialer - -Setup an autodialer session for the interface. Whenever the -interface is idle for the interval in , the autodialer -will ping the . If there is no answer after -attempts, the autodialer will execute the special commands con- -tained in the . - -If the interval in is zero, a previous dialer command -process will be removed. If the number of is zero, the - will be executed without pinging the . - -The file may have any valid name, and must be located in the con- -figuration directory (see the Installion section). The commands -in the file are described in the Dialer Subcommands chapter. - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 11 - - - -3.15. dir [] - -List the contents of the specified directory on the console. If -no argument is given, the current directory is listed. Note that -this command works by first listing the directory into a tem- -porary file, and then creating a more session to display it. -After this completes, the temporary file is deleted. - -3.16. disconnect [] - -An alias for the close command (for the benefit of AX.25 users). - -3.17. domain ... - -These commands are used for access to the Domain Name Service. - -3.17.1. domain addserver - -Add one or more domain name server(s) to the list of name -servers. - -3.17.2. domain dropserver - -Remove one or more domain name server(s) from the list of name -servers. - -3.17.3. domain listservers - -List the currently configured domain name servers, along with -statistics on how many queries and replies have been exchanged -with each one, response times, etc. - -3.17.4. domain query - -Send a query to a domain server asking for all resource records -associated with this , and list the records. - -3.17.5. domain retry [] - -Display or set the number of attempts to reach each server on the -list during one call to the resolver. If this count is exceeded, -a failure indication is returned. If set to 0, the list will -cycle forever; this may be useful for unattended operation. The -default is 3. - -3.17.6. domain suffix [] - -Display or specify the default domain name suffix to be appended -to a host name when it contains no periods. For example, if the -suffix is set to ampr.org and the user enters telnet ka9q, the -domain resolver will attempt to find ka9q.ampr.org. If the host -name being sought contains one or more periods, however, the -default suffix is NOT applied (eg. telnet foo.bar would NOT be -turned into foo.bar.ampr.org). - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 12 - - - -3.17.7. domain trace [on | off] - -Display or set the flag controlling the tracing of domain server -requests and responses. Trace messages will be seen only if a -domain name being sought is not found in the local cache file, -domain.txt. - -3.17.8. domain cache ... - -These commands are used for the use of the resource record file -domain.txt, and the local memory cache. - -3.17.8.1. domain cache clean [on | off] - -Display or set the flag controlling the removal of resource -records from the domain.txt file whose time-to-live has reached -zero. - -When clean is off (the default), expired records will be -retained; if no replacement can be obtained from another domain -name server, these records will continue to be used. - -When clean is on, expired records will be removed from the file -whenever any new record is added to the file. - -3.17.8.2. domain cache list - -List the current contents of the local memory cache. - -3.17.8.3. domain cache size [] - -Display or set the nominal maximum size of the local memory -cache. The default is 20. - -(Note: The cache may be temporarily larger when waiting for new -records to be written to the domain.txt file.) - -3.17.8.4. domain cache wait [] - -Display or set the interval in seconds to wait for additional -activity before updating the domain.txt file. The default is 300 -seconds (5 minutes). - -3.18. echo [accept | refuse] - -Display or set the flag controlling client Telnet's response to a -remote WILL ECHO offer. - -The Telnet presentation protocol specifies that in the absence of -a negotiated agreement to the contrary, neither end echoes data -received from the other. In this mode, a Telnet client session -echoes keyboard input locally and nothing is actually sent until -a carriage return is typed. Local line editing is also performed: -backspace deletes the last character typed, while control-U - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 13 - - - -deletes the entire line. - -When communicating from keyboard to keyboard the standard local -echo mode is used, so the setting of this parameter has no -effect. However, many timesharing systems (eg. UNIX) prefer to do -their own echoing of typed input. (This makes screen editors work -right, among other things). Such systems send a Telnet WILL ECHO -offer immediately upon receiving an incoming Telnet connection -request. If echo accept is in effect, a client Telnet session -will automatically return a DO ECHO response. In this mode, local -echoing and editing is turned off and each key stroke is sent -immediately (subject to the Nagle tinygram algorithm in TCP). -While this mode is just fine across an Ethernet, it is clearly -inefficient and painful across slow paths like packet radio chan- -nels. Specifying echo refuse causes an incoming WILL ECHO offer -to be answered with a DONT ECHO; the client Telnet session -remains in the local echo mode. Sessions already in the remote -echo mode are unaffected. (Note: Berkeley Unix has a bug in that -it will still echo input even after the client has refused the -WILL ECHO offer. To get around this problem, enter the stty -echo -command to the shell once you have logged in.) - -3.19. eol [unix | standard] - -Display or set Telnet's end-of-line behavior when in remote echo -mode. In standard mode, each key is sent as-is. In unix mode, -carriage returns are translated to line feeds. This command is -not necessary with all UNIX systems; use it only when you find -that a particular system responds to line feeds but not carriage -returns. Only SunOS release 3.2 seems to exhibit this behavior; -later releases are fixed. - -3.20. escape [] - -Display or set the current command-mode escape character in hex. -(This command is not provided on the IBM-PC; on the PC, the -escape char is always F10.) - -3.21. etherstat - -Display 3-Com Ethernet controller statistics (if configured). - -3.22. exit - -Exit the net.exe program and return to MS-DOS. - -3.23. finger [ ...] - -Issue a network finger request for user user at host hostid. This -creates a client session which may be interrupted, resumed, -reset, etc, just like a Telnet client session. - - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 14 - - - -3.24. ftp - -Open an FTP control channel to the specified remote host and -enter converse mode on the new session. Responses from the -remote server are displayed directly on the screen. See the FTP -Subcommands chapter for descriptions of the commands available in -a FTP session. - -3.25. help - -Display a brief summary of top-level commands. - -3.26. hop ... - -These commands are used to test the connectivity of the network. - -3.26.1. hop check - -Initiate a hopcheck session to the specified host. This uses a -series of UDP "probe" packets with increasing IP TTL fields to -determine the sequence of gateways in the path to the specified -destination. This function is patterned after the UNIX traceroute -facility. - -ICMP message tracing should be turned off before this command is -executed (see the icmp trace command). - -3.26.2. hop maxttl [] - -Display or set the maximum TTL value to be used in hop check ses- -sions. This effectively bounds the radius of the search. - -3.26.3. hop maxwait [] - -Display or set the maximum interval that a hopcheck session will -wait for responses at each stage of the trace. The default is 5 -seconds. - -3.26.4. hop queries [] - -Display or set the number of UDP probes that will be sent at each -stage of the trace. The default is 3. - -3.26.5. hop trace [on | off] - -Display or set the flag that controls the display of additional -information during a hop check session. - -3.27. hostname [] - -Display or set the local host's name. By convention this should -be the same as the host's primary domain name. This string is -used only in the greeting messages of the various network -servers; note that it does NOT set the system's IP address. - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 15 - - - -If is the same as an (see the Attach commands -chapter), this command will search for a CNAME domain resource -record which corresponds to the IP address of the . - -3.28. hs - -Display statistics about the HS high speed HDLC driver (if con- -figured and active). - -3.29. icmp ... - -These commands are used for the Internet Control Message Protocol -service. - -3.29.1. icmp echo [on | off] - -Display or set the flag controlling the asynchronous display of -ICMP Echo Reply packets. This flag must be on for one-shot pings -to work (see the ping command.) - -3.29.2. icmp status - -Display statistics about the Internet Control Message Protocol -(ICMP), including the number of ICMP messages of each type sent -or received. - -3.29.3. icmp trace [on | off] - -Display or set the flag controlling the display of ICMP error -messages. These informational messages are generated by Internet -routers in response to routing, protocol or congestion problems. -This option should be turned off before using the hop check -facility because it relies on ICMP Time Exceeded messages, and -the asynchronous display of these messages will be mingled with -hop check command output. - -3.30. ifconfig - -Display a list of interfaces, with a short status for each. - -3.30.1. ifconfig - -Display an extended status of the interface. - -3.30.2. ifconfig broadcast

      - -Set the broadcast address for the interface. The
      takes -the form of an IP address with 1's in the host part of the -address. This is related to the netmask sub-command. See also the -arp command. - -3.30.3. ifconfig encapsulation - -Not fully implemented. - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 16 - - - -3.30.4. ifconfig forward - -Set a forwarding interface for multiple channel interfaces. To -remove the forward, set to . - -3.30.5. ifconfig ipaddress - -Set the IP address for this interface. It is standard Internet -practice that each interface has its own address. For hosts with -only one interface, the interface address is usually the same as -the host address. See also the hostname and ip address commands. - -3.30.6. ifconfig linkaddress - -Set the hardware dependant address for this interface. - -3.30.7. ifconfig mtu - -Set the MTU for this interface. See the Setting ... MTU, MSS and -Window chapter for more information. - -3.30.8. ifconfig netmask
      - -Set the sub-net mask for this interface. The
      takes the -form of an IP address with 1's in the network and subnet parts of -the address, and 0's in the host part of the address. This is -related to the broadcast sub-command. See also the route command. - -3.30.9. ifconfig rxbuf - -Not yet implemented. - -3.31. ip ... - -These commands are used for the Internet Protocol service. - -3.31.1. ip address [] - -Display or set the default local IP address. This command must be -given before an attach command if it is to be used as the default -IP address for the interface. - -3.31.2. ip rtimer [] - -Display or set the IP reassembly timeout. The default is 30 -seconds. - -3.31.3. ip status - -Display Internet Protocol (IP) statistics, such as total packet -counts and error counters of various types. - - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 17 - - - -3.31.4. ip ttl [] - -Display or set the time-to-live value placed in each outgoing IP -datagram. This limits the number of switch hops the datagram will -be allowed to take. The idea is to bound the lifetime of the -packet should it become caught in a routing loop, so make the -value slightly larger than the number of hops across the network -you expect to transit packets. The default is set at compilation -time to the official recommended value for the Internet. - -3.32. isat [on | off] - -Display or set the AT flag. Currently, there is no sure-fire way -to determine the type of clock-chip being used. If an AT type -clock is in use, this command will allow measurement of time in -milliseconds, rather than clock ticks (55 milliseconds per clock -tick). - -3.32.1. kick [] - -Kick all sockets associated with a session; if no argument is -given, kick the current session. Performs the same function as -the ax25 kick and tcp kick commands, but is easier to type. - -3.33. log [stop | ] - -Display or set the filename for logging server sessions. If stop -is given as the argument, logging is terminated (the servers -themselves are unaffected). If a file name is given as an argu- -ment, server session log entries will be appended to it. - -3.34. mbox - -Display the status of the mailbox server system (if configured). - -3.35. memory ... - -These commands are used for memory allocation. - -3.35.1. memory free - -Display the storage allocator free list. Each entry consists of a -starting address, in hex, and a size, in decimal bytes. - -3.35.2. memory sizes - -Display a histogram of storage allocator request sizes. Each his- -togram bin is a binary order of magnitude (i.e., a factor of 2). - -3.35.3. memory status - -Display a summary of storage allocator statistics. The first line -shows the base address of the heap, its total size, the amount of -heap memory available in bytes and as a percentage of the total - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 18 - - - -heap size, and the amount of memory left over (i.e., not placed -on the heap at startup) and therefore available for shell subcom- -mands. - -The second line shows the total number of calls to allocate and -free blocks of memory, the difference of these two values (i.e., -the number of allocated blocks outstanding), the number of allo- -cation requests that were denied due to lack of memory, and the -number of calls to free() that attempted to free garbage (eg. by -freeing the same block twice or freeing a garbled pointer). - -The third line shows the number of calls to malloc and free that -occurred with interrupts off. In normal situations these values -should be zero. The fourth line shows statistics for the special -pool of fixed-size buffers used to satisfy requests for memory at -interrupt time. The variables shown are the number of buffers -currently in the pool, their size, and the number of requests -that failed due to exhaustion of the pool. - -3.36. mkdir - -Create a sub-directory in the current working directory. - -3.37. mode [vc | datagram] - -Control the default transmission mode on the specified AX.25 -interface. In datagram mode, IP packets are encapsulated in AX.25 -UI frames and transmitted without any other link level mechan- -isms, such as connections or acknowledgements. - -In vc (virtual circuit) mode, IP packets are encapsulated in -AX.25 I frames and are acknowledged at the link level according -to the AX.25 protocol. Link level connections are opened if -necessary. - -In both modes, ARP is used to map IP to AX.25 addresses. The -defaults can be overridden with the type-of-service (TOS) bits in -the IP header. Turning on the "reliability" bit causes I frames -to be used, while turning on the "low delay" bit uses UI frames. -(The effect of turning on both bits is undefined and subject to -change). - -In both modes, IP-level fragmentation is done if the datagram is -larger than the interface MTU. In virtual circuit mode, how- -ever, the resulting datagram (or fragments) is further fragmented -at the AX.25 layer if it (or they) are still larger than the -AX.25 paclen parameter. In AX.25 fragmentation, datagrams are -broken into several I frames and reassembled at the receiving end -before being passed to IP. This is preferable to IP fragmentation -whenever possible because of decreased overhead (the IP header -isn't repeated in each fragment) and increased robustness (a lost -fragment is immediately retransmitted by the link layer). - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 19 - - - -3.38. more [ ...] - -Display the specified file(s) a screen at a time. To proceed to -the next screen, press the space bar; to cancel the display, hit -the 'q' key. The more command creates a session that you can -suspend and resume just like any other session. - -3.39. param [ ...] - -Invoke a device-specific control routine. On a KISS TNC inter- -face, this sends control packets to the TNC. Data bytes are -treated as decimal. For example, param ax0 1 255 will set the -keyup timer (type field = 1) on the KISS TNC configured as ax0 to -2.55 seconds (255 x .01 sec). On a SLIP interface, the param -command allows the baud rate to be read (without arguments) or -set. The implementation of this command for the various inter- -face drivers is incomplete and subject to change. - -3.40. ping [ [ []]] - -Ping (send ICMP Echo Request packets to) the specified host. By -default the data field contains only a small timestamp to aid in -determining round trip time; if the optional length argument is -given, the appropriate number of data bytes (consisting of hex -55) are added to the ping packets. - -If interval is specified, pings will be repeated indefinitely at -the specified number of seconds; otherwise a single, "one shot" -ping is done. Responses to one-shot pings appear asynchronously -on the command screen, while repeated pings create a session that -may be suspended and resumed. Pinging continues until the session -is manually reset. - -The incflag option causes a repeated ping to increment the target -IP address for each ping; it is an experimental feature for -searching blocks of IP addresses for active hosts. - -3.41. ppp ... - -These commands are used for Point to Point Protocol interfaces. - -This implementation of PPP is designed to be as complete as pos- -sible. Because of this, the number of options can be rather -daunting. However, a typical PPP configuration might include the -following commands: - - - - - - - - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 20 - - - - - attach asy 0x3f8 4 ppp pp0 4096 1500 9600 - dial pp0 30 3 dialer.pp0 - # - ppp pp0 lcp local accm 0 - ppp pp0 lcp local compress address on - ppp pp0 lcp local compress protocol on - ppp pp0 lcp local magic on - ppp pp0 lcp open active - # - ppp pp0 ipcp local compress tcp 16 1 - ppp pp0 ipcp open active - # - route add default pp0 - - -3.41.1. ppp - -Display the status of the PPP interface. - -3.41.2. ppp lcp ... - -These commands are used for the LCP [Link Control Protocol] con- -figuration. - -3.41.2.1. ppp lcp close - -Shutdown the PPP interface. - -3.41.2.2. ppp lcp local ... - -These commands control the configuration of the local side of the -link. If an option is specified, the parameters will be used as -the initial values in configuration requests. If not specified, -that option will not be requested. - -For each of these options, the allow parameter will permit the -remote to include that option in its response, even when the -option is not included in the request. By default, all options -are allowed. - -3.41.2.2.1. ppp lcp local accm [ | allow [on | -off] ] - -Display or set the Async Control Character Map. The default is -0xffffffff. - -3.41.2.2.2. ppp lcp local authenticate [ pap | none | -allow [on | off] ] - -Display or set the authentication protocol. The default is none. - - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 21 - - - -3.41.2.2.3. ppp lcp local cfor hardware interrupt events will turn off this flag; this is -done to avoid critical sections and missed interrupts. The W flag -indicates that the process is waiting for an event; the event -column will be non-blank. Note that although there may be several -runnable processes at any time (shown in the ps listing as those -without the W flag and with blank event fields) only one process -is actually running at any one instant (The Refrigerator Light -Effect says that the ps command is always the one running when -this display is generated.) - -3.43. pwd [] - -An alias for the cd command. - -3.44. record [off | ] - -Append to filename all data received on the current session. -Data sent on the current session is also written into the file -except for Telnet sessions in remote echo mode. The command -record off stops recording and closes the file. - -3.45. remote [-p ] [-k ] [-a ] -exit | reset | kick - -Send a UDP packet to the specified host commanding it to exit the -net.exe program, reset the processor, or force a retransmission -on TCP connections. For this command to be accepted, the remote -system must be running the remote server and the port number -specified in the remote command must match the port number given -when the server was started on the remote system. If the port -numbers do not match, or if the remote server is not running on -the target system, the command packet is ignored. Even if the -command is accepted there is no acknowledgement. - -The kick command forces a retransmission timeout on all TCP con- -nections that the remote node may have with the local node. If -the -a option is used, connections to the specified host are -kicked instead. No key is required for the kick subcommand. - -The exit and reset subcommands are mainly useful for restarting -the net.exe program on a remote unattended system after the con- -figuration file has been updated. The remote system should - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 25 - - - -invoke the net.exe program automatically upon booting, preferably -in an infinite loop. For example, under MS-DOS the boot disk -should contain the following in autoexec.net: - - :loop - net - goto :loop - - - -3.46. remote -s - -The exit and reset subcommands of remote require a password. The -password is set on a given system with the -s option, and it is -specified in a command to a remote system with the -k option. If -no password is set with the -s option, then the exit and reset -subcommands are disabled. - -Note that remote is an experimental feature in NOS; it is not yet -supported by any other TCP/IP implementation. - -3.47. rename - -Rename oldfilename to newfilename. - -3.48. reset [] - -Reset the specified session; if no argument is given, reset the -current session. This command should be used with caution since -it does not reliably inform the remote end that the connection no -longer exists. (In TCP a reset (RST) message will be automati- -cally generated should the remote TCP send anything after a local -reset has been done. In AX.25 the DM message performs a similar -role. Both are used to get rid of a lingering half-open connec- -tion after a remote system has crashed.) - -3.49. rip ... - -These commands are used for the RIP service. - -3.49.1. rip accept - -Remove the specified gateway from the RIP filter table, allowing -future broadcasts from that gateway to be accepted. - -3.49.2. rip add [] - -Add an entry to the RIP broadcast table. The IP routing table -will be sent to hostid every interval seconds. If flags is speci- -fied as 1, then "split horizon" processing will be performed for -this destination. That is, any IP routing table entries pointing -to the interface that will be used to send this update will be -removed from the update. If split horizon processing is not -specified, then all routing table entries except those marked - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 26 - - - -"private" will be sent in each update. (Private entries are never -sent in RIP packets). - -Triggered updates are always done. That is, any change in the -routing table that causes a previously reachable destination to -become unreachable will trigger an update that advertises the -destination with metric 15, defined to mean "infinity". - -Note that for RIP packets to be sent properly to a broadcast -address, there must exist correct IP routing and ARP table -entries that will first steer the broadcast to the correct inter- -face and then place the correct link-level broadcast address in -the link-level destination field. If a standard IP broadcast -address convention is used (eg. 128.96.0.0 or 128.96.255.255) -then chances are you already have the necessary IP routing table -entry, but unusual subnet or cluster-addressed networks may -require special attention. However, an arp add command will be -required to translate this address to the appropriate link level -broadcast address. For example, - - -arp add 128.96.0.0 ethernet ff:ff:ff:ff:ff:ff - - -for an Ethernet network, and - - -arp add 44.255.255.255 ax25 qst-0 - - -for an AX25 packet radio channel. - -3.49.3. rip drop - -Remove an entry from the RIP broadcast table. - -3.49.4. rip merge [on | off] - -This flag controls an experimental feature for consolidating -redundant entries in the IP routing table. When rip merging is -enabled, the table is scanned after processing each RIP update. -An entry is considered redundant if the target(s) it covers would -be routed identically by a less "specific" entry already in the -table. That is, the target address(es) specified by the entry in -question must also match the target addresses of the less -specific entry and the two entries must have the same interface -and gateway fields. For example, if the routing table contains - - -Dest Len Interface Gateway Metric P Timer Use -1.2.3.4 32 ethernet0 128.96.1.2 1 0 0 0 -1.2.3 24 ethernet0 128.96.1.2 1 0 0 0 - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 27 - - - -then the first entry would be deleted as redundant since packets -sent to 1.2.3.4 will still be routed correctly by the second -entry. Note that the relative metrics of the entries are ignored. - -3.49.5. rip refuse - -Refuse to accept RIP updates from the specified gateway by adding -the gateway to the RIP filter table. It may be later removed with -the rip accept command. - -3.49.6. rip request - -Send a RIP Request packet to the specified gateway, causing it to -reply with a RIP Response packet containing its routing table. - -3.49.7. rip status - -Display RIP status, including a count of the number of packets -sent and received, the number of requests and responses, the -number of unknown RIP packet types, and the number of refused RIP -updates from hosts in the filter table. A list of the addresses -and intervals to which periodic RIP updates are being sent is -also shown, along with the contents of the filter table. - -3.49.8. rip trace [0 | 1 | 2] - -This variable controls the tracing of incoming and outgoing RIP -packets. Setting it to 0 disables all RIP tracing. A value of 1 -causes changes in the routing table to be displayed, while pack- -ets that cause no changes cause no output. Setting the variable -to 2 produces maximum output, including tracing of RIP packets -that cause no change in the routing table. - -3.50. rmdir - -Remove a sub-directory from the current working directory. - -3.51. route - -With no arguments, route displays the IP routing table. - -3.51.1. route add [/bits] | default -[ []] - -This command adds an entry to the routing table. It requires at -least two more arguments, the hostid of the target destination -and the name of the interface to which its packets should be -sent. If the destination is not local, the gateway's hostid -should also be specified. (If the interface is a point-to-point -link, then gatewayhostid may be omitted even if the target is -non-local because this field is only used to determine the -gateway's link level address, if any. If the destination is -directly reachable, gatewayhostid is also unnecessary since the -destination address is used to determine the interface link - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 28 - - - -address). - -The optional /bits suffix to the destination host id specifies -how many leading bits in the host id are to be considered signi- -ficant in the routing comparisons. If not specified, 32 bits -(i.e., full significance) is assumed. With this option, a single -routing table entry may refer to many hosts all sharing a common -bit string prefix in their IP addresses. For example, ARPA Class -A, B and C networks would use suffixes of /8, /16 and /24 respec- -tively; the command - -route add 44/8 sl0 44.64.0.2 - - -causes any IP addresses beginning with "44" in the first 8 bits -to be routed to 44.64.0.2; the remaining 24 bits are "don't- -cares". - -When an IP address to be routed matches more than one entry in -the routing table, the entry with largest bits parameter (i.e., -the "best" match) is used. This allows individual hosts or blocks -of hosts to be exceptions to a more general rule for a larger -block of hosts. - -The special destination default is used to route datagrams to -addresses not matched by any other entries in the routing table; -it is equivalent to specifying a /bits suffix of /0 to any desti- -nation hostid. Care must be taken with default entries since two -nodes with default entries pointing at each other will route -packets to unknown addresses back and forth in a loop until their -time-to-live (TTL) fields expire. (Routing loops for specific -addresses can also be created, but this is less likely to occur -accidentally). - -Here are some examples of the route command: - -# Route datagrams to IP address 44.0.0.3 to SLIP line #0. -# No gateway is needed because SLIP is point-to point. -route add 44.0.0.3 sl0 - -# Route all default traffic to the gateway on the local Ethernet -# with IP address 44.0.0.1 -route add default ec0 44.0.0.1 - -# The local Ethernet has an ARPA Class-C address assignment; -# route all IP addresses beginning with 192.4.8 to it -route add 192.4.8/24 ec0 - -# The station with IP address 44.0.0.10 is on the local AX.25 channel -route add 44.0.0.10 ax0 - - - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 29 - - - -3.51.2. route addprivate [/bits] | default -[ []] - -This command is identical to route add except that it also marks -the new entry as private; it will never be included in outgoing -RIP updates. - -3.51.3. route drop - -route drop deletes an entry from the table. If a packet arrives -for the deleted address and a default route is in effect, it will -be used. - -3.52. session [] - -Without arguments, displays the list of current sessions, includ- -ing session number, remote TCP or AX.25 address and the address -of the TCP or AX.25 control block. An asterisk (*) is shown next -to the current session; entering a blank line at this point puts -you in converse mode with that session. Entering a session -number as an argument to the session command will put you in con- -verse mode with that session. If the Telnet server is enabled, -the user is notified of an incoming request and a session number -is automatically assigned. The user may then select the session -normally to converse with the remote user as though the session -had been locally initiated. - -3.53. shell - -Suspends net.exe and executes a sub-shell ("command processor" -under MS-DOS). When the sub-shell exits, net.exe resumes (under -MS-DOS, enter the exit command). Background activity (FTP -servers, etc) is also suspended while the subshell executes. Note -that this will fail unless there is sufficient unused memory for -the sub-shell and whatever command the user tries to run. - -3.54. smtp ... - -These commands are used for the Simple Message Transport Protocol -service (that is, mail). - -3.54.1. smtp gateway [] - -Displays or sets the host to be used as a "smart" mail relay. Any -mail sent to a host not in the host table will instead be sent to -the gateway for forwarding. - -3.54.2. smtp kick - -Run through the outgoing mail queue and attempt to deliver any -pending mail. This command allows the user to "kick" the mail -system manually. Normally, this command is periodically invoked -by a timer whenever net.exe is running. - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 30 - - - -3.54.3. smtp maxclients [] - -Displays or sets the maximum number of simultaneous outgoing SMTP -sessions that will be allowed. The default is 10; reduce it if -network congestion is a problem. - -3.54.4. smtp timer [] - -Displays or sets the interval between scans of the outbound mail -queue. For example, smtp timer 600 will cause the system to check -for outgoing mail every 10 minutes and attempt to deliver any- -thing it finds, subject of course to the smtp maxclients limit. -Setting a value of zero disables queue scanning altogether, note -that this is the default! This value is recommended for stand -alone IP gateways that never handle mail, since it saves wear and -tear on the floppy disk drive. - -3.54.5. smtp trace [] - -Displays or sets the trace flag in the SMTP client, allowing you -to watch SMTP's conversations as it delivers mail. Zero (the -default) disables tracing. - -3.55. socket [] - -Without an argument, displays all active sockets, giving their -index and type, the address of the associated protocol control -block and the and owner process ID and name. If the index to an -active socket is supplied, the status display for the appropriate -protocol is called. For example, if the socket refers to a TCP -connection, the display will be that given by the tcp status com- -mand with the protocol control block address. - -3.56. start ax25 | discard | echo | ftp | netrom | remote | smtp -| telnet | ttylink - -Start the specified Internet server, allowing remote connection -requests. - -3.57. stop ax25 | discard | echo | ftp | netrom | remote | smtp -| telnet | ttylink - -Stop the specified Internet server, rejecting any further remote -connect requests. Existing connections are allowed to complete -normally. - -3.58. tcp ... - -These commands are used for the Transmission Control Protocol -service. - -3.58.1. tcp irtt [] - -Display or set the initial round trip time estimate, in - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 31 - - - -milliseconds, to be used for new TCP connections until they can -measure and adapt to the actual value. The default is 5000 mil- -liseconds (5 seconds). Increasing this when operating over slow -channels will avoid the flurry of retransmissions that would oth- -erwise occur as the smoothed estimate settles down at the correct -value. Note that this command should be given before servers are -started in order for it to have effect on incoming connections. - -TCP also keeps a cache of measured round trip times and mean -deviations (MDEV) for current and recent destinations. Whenever a -new TCP connection is opened, the system first looks in this -cache. If the destination is found, the cached IRTT and MDEV -values are used. If not, the default IRTT value mentioned above -is used, along with a MDEV of 0. This feature is fully automatic, -and it can improve performance greatly when a series of connec- -tions are opened and closed to a given destination (eg. a series -of FTP file transfers or directory listings). - -3.58.2. tcp kick - -If there is unacknowledged data on the send queue of the speci- -fied TCB, this command forces an immediate retransmission. - -3.58.3. tcp mss [] - -Display or set the TCP Maximum Segment Size in bytes that will be -sent on all outgoing TCP connect request (SYN segments). This -tells the remote end the size of the largest segment (packet) it -may send. Changing MSS affects only future connections; existing -connections are unaffected. - -3.58.4. tcp reset - -Deletes the TCP control block at the specified address. - -3.58.5. tcp rtt - -Replaces the automatically computed round trip time in the speci- -fied TCB with the rtt in milliseconds. This command is useful to -speed up recovery from a series of lost packets since it provides -a manual bypass around the normal backoff retransmission timing -mechanisms. - -3.58.6. tcp status [] - -Without arguments, displays several TCP-level statistics, plus a -summary of all existing TCP connections, including TCB address, -send and receive queue sizes, local and remote sockets, and con- -nection state. If tcbaddr is specified, a more detailed dump of -the specified TCB is generated, including send and receive -sequence numbers and timer information. - - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 32 - - - -3.58.7. tcp window [] - -Displays or sets the default receive window size in bytes to be -used by TCP when creating new connections. Existing connections -are unaffected. - -3.59. telnet - -Creates a Telnet session to the specified host and enters con- -verse mode. - -3.60. tip - -Creates a tip session that connects to the specified interface in -"dumb terminal" mode. The interface must have already been -attached with the attach command. Any packet traffic (IP -datagrams, etc) routed to the interface while this session exists -will be discarded. To close a tip session, use the reset command. -It will then revert to normal slip, nrs or kiss mode operation. - -This feature is primarily useful for manually establishing SLIP -connections. At present, only the built-in "com" ports can be -used with this command. - -3.61. trace [ [off | []]] - -Controls packet tracing by the interface drivers. Specific bits -enable tracing of the various interfaces and the amount of infor- -mation produced. Tracing is controlled on a per-interface basis; -without arguments, trace gives a list of all defined interfaces -and their tracing status. Output can be limited to a single -interface by specifying it, and the control flags can be change -by specifying them as well. The flags are given as a hexadecimal -number which is interpreted as follows: - - O - Enable tracing of output packets if 1, disable if 0 - I - Enable tracing of input packets if 1, disable if 0 - T - Controls type of tracing: - 0 - Protocol headers are decoded, but data is not displayed - 1 - Protocol headers are decoded, and data (but not the - headers themselves) are displayed as ASCII characters, - 64 characters/line. Unprintable characters are displayed - as periods. - 2 - Protocol headers are decoded, and the entire packet - (headers AND data) is also displayed in hexadecimal - and ASCII, 16 characters per line. - B - Broadcast filter flag. If set, only packets specifically addressed - to this node will be traced; broadcast packets will not be displayed. - -If tracefile is not specified, tracing will be to the console. - -3.62. udp status - -Displays the status of all UDP receive queues. - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 33 - - - -3.63. upload [] - -Opens filename and sends it on the current session as though it -were typed on the terminal. - -3.64. watch - -Displays the current software stopwatch values, with min and max -readings for each. This facility allows a programmer to measure -the execution time of critical sections of code with microsecond -resolution. This command is supported only on the IBM PC, and the -meaning of each stopwatch value depends on where the calls have -been inserted for test purposes; the distribution copy of net.exe -usually has no stopwatch calls. - -3.65. ? - -Same as the help command. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 34 - - - -4. Attach Commands - -This chapter details the attach commands for the various hardware -interface drivers. Not all of these drivers may be configured -into every net.exe binary; a list of the available types may be -obtained by entering the command attach ?. - -Some parameters are accepted by several drivers. They are: - -4.0.1. - -For asynchronous devices (eg. COM ports operating in SLIP or NRS -mode) this parameter specifies the size of the receiver's ring -buffer. It should be large enough to hold incoming data at full -line speed for the longest time that the system may be busy in -MS-DOS or the BIOS doing a slow I/O operation (eg. to a floppy -disk). A kilobyte is usually more than sufficient. - -For synchronous devices (eg. the scc, hs, pc100, hapn and drsi -interfaces operating in HDLC mode), the bufsize parameter speci- -fies the largest packet that may be received on the interface. -This should be set by mutual agreement among stations sharing the -channel. For standard AX.25 with a maximum I-frame data size of -256 bytes, a value of 325 should provide an adequate safety mar- -gin. On higher speed channels (eg. 56kb/s) larger values (eg. 2K -bytes) will provide much better performance and allow full-sized -Ethernet packets to be carried without fragmentation. - -4.0.2. - -The base address of the interface's control registers, in hex. - -4.0.3. - -The interface's hardware interrupt (IRQ) vector, in hex. - -4.0.4. - -The name (an arbitrary character string) to be assigned to this -interface. It is used to refer to the interface in ifconfig and -route commands and in trace output. - -4.0.5. - -The Maximum Transmission Unit size, in bytes. Datagrams larger -than this limit will be fragmented at the IP layer into smaller -pieces. For AX.25 UI frames, this limits the size of the informa- -tion field. For AX.25 I frames, however, the ax25 paclen parame- -ter is also relevant. If the datagram or fragment is still -larger than paclen, it is also fragmented at the AX.25 level (as -opposed to the IP level) before transmission. (See the ax25 -paclen command for further information). - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 35 - - - -4.0.6. - -The speed in bits per second (eg. 2400). - -4.1. attach 3c500 arpa -[] - -Attach a 3Com 3C501 Ethernet interface. qlen is the maximum -allowable transmit queue length. If the ipaddr parameter is not -given, the value associated with a prior ip address command will -be used. - -The use of this driver is not recommended; use the packet driver -interface with the loadable 3C501 packet driver instead. - -4.2. attach asy ax25 | nrs | ppp | slip - [] - -Attach a standard PC "com port" (asynchronous serial port), using -the National 8250 or 16550A chip. Standard values on the IBM PC -and clones for ioaddr and vector are 0x3f8 and 4 for COM1, and -0x2f8 and 3 for COM2. If the port uses a 16550A chip, it will be -detected automatically and the FIFOs enabled. - -4.2.1. ax25 - -Similar to slip, except that an AX.25 header and a KISS TNC con- -trol header are added to the front of the datagram before SLIP -encoding. Either UI (connectionless) or I (connection-oriented) -AX.25 frames can be used; see the mode command for details. - -4.2.2. nrs - -Use the NET/ROM asynchronous framing technique for communication -with a local NET/ROM TNC. - -4.2.3. ppp - -Point-to-Point-Protocol. Encapsulates datagrams in an HDLC-like -frame. This is a new Internet standard for point-to-point commun- -ication, compatible with CCITT standards. - -4.2.4. slip - -Serial Line Internet Protocol. Encapsulates IP datagrams directly -in SLIP frames without a link header. This is for operation on -point-to-point lines and is compatible with 4.2BSD UNIX SLIP. - -4.2.5. - -The optional flags are a string of characters "crv": c enables -RTS/CTS detection, r enables RLSD (Carrier Detect) physical line -sensing, v enables Van Jacobson TCP/IP Header Compression, and is -valid only for SLIP. - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 36 - - - -4.3. attach drsi ax25 - - -N6TTO driver for the Digital Radio Systems PCPA 8530 card. Since -there are two channels on the board, two interfaces are attached. -They will be named iface with 'a' and 'b' appended. bufsize is -the receiver buffer size in bytes; it must be larger than the -largest frame to be received. chaspeed and chbspeed are the -speeds, in bits/sec, for the A and B channels, respectively. - -4.4. attach eagle ax25 - - -WA3CVG/NG6Q driver for the Eagle Computer card (Zilog 8530). - -4.5. attach hapn ax25 -csma | full - -KE3Z driver for the Hamilton Amateur Packet Network adapter -(Intel 8273). The csma | full parameter specifies whether the -port should operate in carrier sense multiple access (CSMA) mode -or in full duplex. - -4.6. attach hs ax25 -

      - -Attach a DRSI PCPA or Eagle Computer interface card using a spe- -cial "high speed" 8530 driver. This driver uses busy-wait loops -to send and receive each byte instead of interrupts, making it -usable with high speed modems (such as the WA4DSY 56kb/s modem) -on slow systems. This does have the side effect of "freezing" the -system whenever the modem transmitter or receiver is active. This -driver can operate only in CSMA mode, and it is recommended that -no other interfaces requiring small interrupt latencies be -attached to the same machine. - -The keyupdelay parameter specifies the transmitter keyup delay -in byte time intervals. The p value specifies the transmitter -persistence value in the range 1-255; the corresponding slot time -is fixed at one hardware clock tick, about 55 ms on the PC. - -As with the other 8530 drivers, this driver actually attaches two -interfaces, one for each 8530 channel. - -4.7. attach packet - -Driver for use with separate software "packet drivers" meeting -the FTP Software, Inc, Software Packet Driver specification. The -driver must have already been installed before the attach command -is given. Packet drivers in the Ethernet, ARCNET, SLIP, SLFP, and -KISS/AX25 classes are supported. - -intvec is the software interrupt vector used for communication to -the packet driver, and txqlen is the maximum number of packets - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 37 - - - -that will be allowed on the transmit queue. - -4.8. attach pc100 ax25 - - -Driver for the PACCOMM PC-100 (Zilog 8530) card. Only AX.25 -operation is supported. - -4.9. attach scc init - [p|r] [] [] - -PE1CHL driver to initialize a generic SCC (8530) interface board -prior to actually attaching it. The parameters are as follows: - -4.9.1. - -The number of SCC chips to support. - -4.9.2. - -The base address of the first SCC chip (hex). - -4.9.3. - -The spacing between the SCC chip base addresses. - -4.9.4. - -The offset from a chip's base address to its channel A control -register. - -4.9.5. - -The offset from a chip's base address to its channel B control -register. - -4.9.6. - -The offset from each channel's control register to its data -register. - -4.9.7. - -The address of the INTACK/Read Vector port. If none, specify 0 to -read from RR3A/RR2B. - -4.9.8. - -The CPU interrupt vector for all connected SCCs. - -4.9.9. - -The clock frequency (PCLK/RTxC) of all SCCs in hertz. Prefix with -'p' for PCLK, 'r' for RTxC clock (for baudrate gen). - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 38 - - - -4.9.10. - -Optional hardware type. The following values are currently sup- -ported: 1 - Eagle card, 2 - PACCOMM PC-100, 4 - PRIMUS-PC card -(DG9BL), 8 - DRSI PCPA card. - -4.9.11. - -Optional extra parameter. At present, this is used only with the -PC-100 and PRIMUS-PC cards to set the modem mode. The value 0x22 -is used with the PC-100 and 0x2 is used with the PRIMUS-PC card. - -The attach scc ... init command must be given before the inter- -faces are actually attached with the following command. - -4.10. attach scc slip | kiss | nrs | ax25 - [] - -Attach an initialized SCC port to the system. The parameters are -as follows: - -4.10.1. - -The SCC channel number to attach, 0 or 1 for the first chip's A -or B port, 2 or 3 for the second chip's A or B port, etc. - -4.10.2. slip | kiss | nrs | ax25 - -The operating mode of the interface. slip, kiss and nrs all -operate the port hardware in asynchronous mode; slip is -Internet-standard serial line IP mode, kiss generates SLIP frames -containing KISS TNC commands and AX.25 packets and nrs uses -NET/ROM local serial link framing conventions to carry NET/ROM -packets. Selecting ax25 mode puts the interface into synchronous -HDLC mode that is suitable for direct connection to a half duplex -radio modem. - -4.10.3. - -The interface speed in bits per second (eg. 1200). Prefix with -'d' when an external divider is available to generate the TX -clock. When the clock source is PCLK, this can be a /32 divider -between TRxC and RTxC. When the clock is at RTxC, the TX rate -must be supplied at TRxC. This is needed only for full duplex -synchronous operation. When this arg is given as 'ext', the -transmit and receive clocks are external, and the internal baud -rate generator (BRG) and digital phase locked loop (DPLL) are not -used. - -4.11. Attach Examples - -Here are some examples of the attach command: - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 39 - - - - -# Attach a 3Com Ethernet controller using the standard 3Com address and -# vector (i.e., as it comes out of the box) to use ARPA-standard encapsulation. -# The receive queue is limited to 5 packets, and outgoing packets larger -# than 1500 bytes will be fragmented -attach 3c500 0x300 3 arpa ec0 5 1500 - -# Attach the PC asynch card normally known as "com1" (the first controller) -# to operate in point-to-point slip mode at 9600 baud, calling it "sl0". -# A 1024 byte receiver ring buffer is allocated. Outgoing packets larger -# than 256 bytes are fragmented. -attach asy 0x3f8 4 slip sl0 1024 256 9600 - -# Attach the secondary PC asynch card ("com2") to operate in AX.25 mode -# with an MTU of 576 bytes at 9600 baud with a KISS TNC, calling it "ax0". -# By default, IP datagrams are sent in UI frames -attach asy 0x2f8 3 ax25 ax0 1024 576 9600 - -# Attach the packet driver loaded at interrupt 0x7e -# The packet driver is for an Ethernet interface -attach packet 0x7e ethernet 8 1500 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 40 - - - -5. FTP Subcommands - -During converse mode with an FTP server, everything typed on the -console is first examined to see if it is a locally-known com- -mand. If not, the line is passed intact to the remote server on -the control channel. If it is one of the following commands, how- -ever, it is executed locally. (Note that this generally involves -other commands being sent to the remote server on the control -channel.) - -5.1. dir [ | []] - -Without arguments, dir requests that a full directory listing of -the remote server's current directory be sent to the terminal. -If one argument is given, this is passed along in the LIST com- -mand; this can be a specific file or subdirectory that is mean- -ingful to the remote file system. If two arguments are given, the -second is taken as the local file into which the directory list- -ing should be put (instead of being sent to the console). The -PORT command is used before the LIST command is sent. - -5.2. get [] - -Asks the remote server to send the file specified in the first -argument. The second argument, if given, will be the name of the -file on the local machine; otherwise it will have the same name -as on the remote machine. The PORT and RETR commands are sent on -the control channel. - -5.3. hash - -A synonym for the verbose 3 command. - -5.4. ls [ | []] - -ls is identical to the dir command except that the "NLST" command -is sent to the server instead of the "LIST" command. This results -in an abbreviated directory listing, i.e., one showing only the -file names themselves without any other information. - -5.5. mget [ ...] - -Fetch a collection of files from the server. File names may -include wild card characters; they will be interpreted and -expanded into a list of files by the remote system using the NLST -command. The files will have the same name on the local system -that they had on the server. - -5.6. mkdir - -Creates a directory on the remote machine. - - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 41 - - - -5.7. mput [ ...] - -Send a collection of files to the server. File names may include -wild card characters; they will be expanded locally into a list -of files to be sent. The files will have the same name on the -server as on the local system. - -5.8. put [] - -Asks the remote server to accept data, creating the file named in -the first argument. The second argument, if given, will be the -name of the file on the remote machine; otherwise it will have -the same name as on the local machine. The PORT and STOR com- -mands are sent on the control channel. - -5.9. rmdir - -Deletes a directory on the remote machine. - -5.10. type [a | i | l ] - -Tells both the local client and remote server the type of file -that is to be transferred. The default is 'a', which means ASCII -(i.e., a text file). Type 'i' means image, i.e., binary. In -ASCII mode, files are sent as varying length lines of text in -ASCII separated by cr/lf sequences; in IMAGE mode, files are sent -exactly as they appear in the file system. ASCII mode should be -used whenever transferring text between dissimilar systems (eg. -UNIX and MS-DOS) because of their different end-of-line and/or -end-of-file conventions. When exchanging text files between -machines of the same type, either mode will work but IMAGE mode -is usually faster. Naturally, when exchanging raw binary files -(executables, compressed archives, etc) IMAGE mode must be used. -Type 'l' (logical byte size) is used when exchanging binary files -with remote servers having oddball word sizes (eg. DECSYSTEM-10s -and 20s). Locally it works exactly like IMAGE, except that it -notifies the remote system how large the byte size is. bytesize -is typically 8. The type command sets the local transfer mode and -generates the TYPE command on the control channel. - -5.11. verbose [0 | 1 | 2 | 3] - -Set or display the level of message output in file transfers. -Verbose 0 gives the least output, and verbose 3 the most, as fol- -lows: - -0 - Display error messages only. -1 - Display error messages plus a one-line summary after each transfer - giving the name of the file, its size, and the transfer time and rate. -2 - Display error and summary messages plus the progress messages generated - by the remote FTP server. (This setting is the default.) -3 - Display all messages. In addition, a "hash mark" (#) is displayed for - every 1,000 bytes sent or received. - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 42 - - - -If a command is sent to the remote server because it is not -recognized locally, the response is always displayed, regardless -of the setting of verbose. This is necessary for commands like -pwd (display working directory), which would otherwise produce no -message at all if verbose were set to 0 or 1. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 43 - - - -6. Dialer Subcommands - -Each dialer command may (should) have a different dialer file. -The file resides in the configuration directory, as specified in -the Installation section (see chapter 1). A typical dialer file -might be: - - # Set the speed, and toggle DTR to ensure modem is in command mode. - control down - wait 3000 - speed 2400 - control up - wait 3000 - # Dial, and wait for connection - send "atdt555-12127" - wait 45000 "CONNECT " speed - wait 2000 - # PAD specific initialization - send "7" - wait 15000 "Terminal =" - send "ppp7" - wait 10000 "70 - - -6.0.1. control down | up - -Control asy interface. The down option drops DTR and RTS. The up -option asserts DTR and RTS. - -6.0.2. send "string" - -This dialer command will write the specified string to the inter- -face. The string quote marks are required, and the string may not -contain embedded control characters. However, the standard C -string escape sequences are recognized (\0 should not be used). - -6.0.3. speed [ 9600 | 4800 | 2400 | 1200 | 300 ] - -This dialer command will set the speed of the interface to one of -the available speeds. If the speed is missing, the speed will be -displayed in the dialer session window. - -6.0.4. wait [ "test string" ] [ speed ] - -If only the time is specified, the dialer pauses for the desired -number of milliseconds. - -Otherwise, the dialer reads until the test string is detected on -the interface. If the string is not detected within the desired -time, the autodialer will reset. The string quote marks are -required, and the string may not contain embedded control charac- -ters. However, the standard C string escape sequences are recog- -nized (\0 should not be used). - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 44 - - - -Finally, if the speed parameter is specified, the dialer will -continue to read characters until a non-digit is detected. The -string read is converted to an integer, and used to set the -interface speed. If the trailing non-digit is not detected within -the desired time, or the integer value is not a valid speed, the -autodialer will reset. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 45 - - - -7. The /ftpusers File - -Since MS-DOS is a single-user operating system (some might say it -is a glorified bootstrap loader), it provides no access control; -all files can be read, written or deleted by the local user. It -is usually undesirable to give such open access to a system to -remote network users. Net.exe therefore provides its own access -control mechanisms. - -The file /ftpusers controls remote FTP and mailbox access. The -FTP default is no access; if this file does not exist, the FTP -server will be unusable. A remote user must first "log in" to -the system with the USER and PASS commands, giving a valid name -and password listed in /ftpusers, before he or she can transfer -files. - -Each entry in /ftpusers consists of a single line of the form - -username password /path permissions - - -There must be exactly four fields, and there must be exactly one -space between each field. Comments may be added after the last -field. Comment lines begin with '#' in column one. - -username is the user's login name. - -password is the required password. Note that this is in plain -text; therefore it is not a good idea to give general read per- -mission to the root directory. A password of '*' (a single -asterisk) means that any password is acceptable. - -/path is the allowable prefix on accessible files. Before any -file or directory operation, the current directory and the user- -specified file name are joined to form an absolute path name in -"canonical" form (i.e., a full path name starting at the root, -with "./" and "../" references, as well as redundant /'s, recog- -nized and removed). The result MUST begin with the allowable path -prefix; if not, the operation is denied. This field must always -begin with a "/", i.e., at the root directory. - -permissions is a decimal number granting permission for read, -create and write operations. If the low order bit (0x1) is set, -the user is allowed to read a file subject to the path name pre- -fix restriction. If the next bit (0x2) is set, the user is -allowed to create a new file if it does not overwrite an existing -file. If the third bit (0x4) is set, the user is allowed to -write a file even if it overwrites an existing file, and in addi- -tion he may delete files. Again, all operations are allowed sub- -ject to the path name prefix restrictions. Permissions may be -combined by adding bits, for example, 0x3 (= 0x2 + 0x1) means -that the user is given read and create permission, but not -overwrite/delete permission. - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 46 - - - -For example, suppose /ftpusers on machine pc.ka9q.ampr.org con- -tains the line - -friendly test /testdir 7 - - -A session using this account would look like this: - -net> ftp pc.ka9q.ampr.org -Resolving pc.ka9q.ampr.org... Trying 128.96.160.1... -FTP session 1 connected to pc.ka9q.ampr.org -220 pc.ka9q.ampr.org FTP version 900418 ready at Mon May 7 16:27:18 1990 -Enter user name: friendly -331 Enter PASS command -Password: test [not echoed] -230 Logged in -ftp> - - -The user now has read, write, overwrite and delete privileges for -any file under /testdir; he may not access any other files. - -Here are some more sample entries in /ftpusers: - -karn foobar / 7 # User "karn" with password "foobar" may read, - # write, overwrite and delete any file on the - # system. - -guest bletch /g/bogus 3 # User "guest" with password "bletch" may read - # any file under /g/bogus and its subdirectories, - # and may create a new file as long as it does - # not overwrite an existing file. He may NOT - # delete any files. - -anonymous * /public 1 # User "anonymous" (any password) may read files - # under /public and its subdirectories; he may - # not create, overwrite or delete any files. - - -This last entry is the standard convention for keeping a reposi- -tory of public files; in particular, the username "anonymous" is -an established ARPA convention. - - - - - - - - - - - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 47 - - - -8. The domain.txt File - -Net.exe translates domain names (eg. "pc.ka9q.ampr.org") to IP -addresses (eg. 128.96.160.3) through the use of an Internet -Domain Name resolver and a local "cache" file, domain.txt. When- -ever the user specifies a domain name, the local cache is -searched for the desired entry. If it is present, it is used; if -not, and if domain name server(s) have been configured, a query -is sent over the network to the current server. If the server -responds, the answer is added to the domain.txt file for future -use. If the server does not respond, any additional servers on -the list are tried in a round-robin fashion until one responds, -or the retry limit is reached (see the domain retry command). If -domain.txt does not contain the desired entry and there are no -configured domain name servers, then the request immediately -fails. - -If a domain name server is available, and if all references to -host-ids in your /autoexec.net file are in IP address format, -then it is possible to start with a completely empty domain.txt -file and have net.exe build it for you. However, you may wish to -add your own entries to domain.txt, either because you prefer to -use symbolic domain names in your /autoexec.net file or you don't -have access to a domain server and you need to create entries for -all of the hosts you may wish to access. - -Each entry takes one line, and the fields are separated by any -combination of tabs or spaces. For example: - -pc.ka9q.ampr.org. IN A 128.96.160.3 - -IN is the class of the record. It means Internet, and it will be -found in all entries. A is the type of the record, and it means -that this is an address record. Domain name pc.ka9q.ampr.org -therefore has Internet address 128.96.160.3. - -Another possible entry is the CNAME (Canonical Name) record. For -example: - -ka9q.ampr.org. IN CNAME pc.ka9q.ampr.org. - -This says that domain name "ka9q.ampr.org" is actually an alias -for the system with (primary, or canonical) domain name -"pc.ka9q.ampr.org." When a domain name having a CNAME record is -given to net.exe, the system automatically follows the reference -to the canonical name and returns the IP address associated with -that entry. - -Entries added automatically by net.exe will have an additional -field between the domain name and the class (IN) field. For -example: - -pc.ka9q.ampr.org. 3600 IN A 128.96.160.3 - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 48 - - - -This is the time-to-live value, in seconds, associated with the -record received from the server. Clients (such as net.exe) cach- -ing these records are supposed to delete them after the time-to- -live interval has expired, allowing for the possibility that the -information in the record may become out of date. - -This implementation of net.exe will decrement the TTL to zero, -but will not delete the record unless the "clean" flag is on (see -the domain cache clean command). When a remote server is not -available, the old entry will be used. - -When the TTL value is missing (as in the examples above), the -record will never expire, and must be managed by hand. Since -domain.txt is a plain text file, it may be easily edited by the -user to add, change or delete records. - -Additional types of records, include NS (name server) and SOA -(start of authority) may appear in domain.txt from remote server -responses. These are not currently used by net.exe but are -retained for future development (such as the incorporation of a -domain name server into net.exe itself). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 49 - - - -9. Setting Bufsize, Paclen, Maxframe, MTU, MSS and Window - -Many net.exe users are confused by these parameters and do not -know how to set them properly. This chapter will first review -these parameters and then discuss how to choose values for them. -Special emphasis is given to avoiding interoperability problems -that may appear when communicating with non-net.exe implementa- -tions of AX.25. - -9.1. Hardware Parameters - - -9.1.1. Bufsize - -This parameter is required by most of net.exe's built-in HDLC -drivers (eg. those for the DRSI PCPA and the Paccomm PC-100). It -specifies the size of the buffer to be allocated for each -receiver port. HDLC frames larger than this value cannot be -received. - -There is no default bufsize; it must be specified in the attach -command for the interface. - -9.2. AX25 Parameters - -9.2.1. Paclen - -Paclen limits the size of the data field in an AX.25 I-frame. -This value does not include the AX.25 protocol header (source, -destination and digipeater addresses). - -Since unconnected-mode (datagram) AX.25 uses UI frames, this -parameter has no effect in unconnected mode. - -The default value of paclen is 256 bytes. - -9.2.2. Maxframe - -This parameter controls the number of I-frames that net.exe may -send on an AX.25 connection before it must stop and wait for an -acknowledgement. Since the AX.25/LAPB sequence number field is 3 -bits wide, this number cannot be larger than 7. - -Since unconnected-mode (datagram) AX.25 uses UI frames that do -not have sequence numbers, this parameter does not apply to -unconnected mode. - -The default value of maxframe in net.exe is 1 frame. - -9.3. IP and TCP Parameters - -9.3.1. MTU - -The MTU (Maximum Transmission Unit) is an interface parameter - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 50 - - - -that limits the size of the largest IP datagram that it may han- -dle. IP datagrams routed to an interface that are larger than -its MTU are each split into two or more fragments. Each fragment -has its own IP header and is handled by the network as if it were -a distinct IP datagram, but when it arrives at the destination it -is held by the IP layer until all of the other fragments belong- -ing to the original datagram have arrived. Then they are reassem- -bled back into the complete, original IP datagram. The minimum -acceptable interface MTU is 28 bytes: 20 bytes for the IP (frag- -ment) header, plus 8 bytes of data. - -There is no default MTU in net.exe; it must be explicitly speci- -fied for each interface as part of the attach command. - -9.3.2. MSS - -MSS (Maximum Segment Size) is a TCP-level parameter that limits -the amount of data that the remote TCP will send in a single TCP -packet. MSS values are exchanged in the SYN (connection request) -packets that open a TCP connection. In the net.exe implementation -of TCP, the MSS actually used by TCP is further reduced in order -to avoid fragmentation at the local IP interface. That is, the -local TCP asks IP for the MTU of the interface that will be used -to reach the destination. It then subtracts 40 from the MTU value -to allow for the overhead of the TCP and IP headers. If the -result is less than the MSS received from the remote TCP, it is -used instead. - -The default value of MSS is 512 bytes. - -9.3.3. Window - -This is a TCP-level parameter that controls how much data the -local TCP will allow the remote TCP to send before it must stop -and wait for an acknowledgement. The actual window value used by -TCP when deciding how much more data to send is referred to as -the effective window. This is the smaller of two values: the win- -dow advertised by the remote TCP minus the unacknowledged data in -flight, and the congestion window, an automatically computed -time-varying estimate of how much data the network can handle. - -The default value of Window is 2048 bytes. - -9.4. Discussion - - -9.4.1. IP Fragmentation vs AX.25 Segmentation - -IP-level fragmentation often makes it possible to interconnect -two dissimilar networks, but it is best avoided whenever possi- -ble. One reason is that when a single IP fragment is lost, all -other fragments belonging to the same datagram are effectively -also lost and the entire datagram must be retransmitted by the -source. Even without loss, fragments require the allocation of - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 51 - - - -temporary buffer memory at the destination, and it is never easy -to decide how long to wait for missing fragments before giving up -and discarding those that have already arrived. A reassembly -timer controls this process. In net.exe it is (re)initialized -with the ip rtimer parameter (default 30 seconds) whenever pro- -gress is made in reassembling a datagram (i.e., a new fragment is -received). It is not necessary that all of the fragments belong- -ing to a datagram arrive within a single timeout interval, only -that the interval between fragments be less than the timeout. - -Most subnetworks that carry IP have MTUs of 576 bytes or more, so -interconnecting them with subnetworks having smaller values can -result in considerable fragmentation. For this reason, IP imple- -mentors working with links or subnets having unusually small -packet size limits are encouraged to use transparent fragmenta- -tion, that is, to devise schemes to break up large IP datagrams -into a sequence of link or subnet frames that are immediately -reassembled on the other end of the link or subnet into the ori- -ginal, whole IP datagram without the use of IP-level fragmenta- -tion. Such a scheme is provided in AX.25 Version 2.1. It can -break a large IP or NET/ROM datagram into a series of paclen- -sized AX.25 segments (not to be confused with TCP segments), one -per AX.25 I-frame, for transmission and reassemble them into a -single datagram at the other end of the link before handing it up -to the IP or NET/ROM module. Unfortunately, the segmentation -procedure is a new feature in AX.25 and is not yet widely imple- -mented; in fact, net.exe is so far the only known implementation. -This creates some interoperability problems between net.exe and -non-net.exe nodes, in particular, standard NET/ROM nodes being -used to carry IP datagrams. This problem is discussed further in -the section on setting the MTU. - -9.4.2. Setting paclen and bufsize - -The more data you put into an AX.25 I frame, the smaller the -AX.25 headers are in relation to the total frame size. In other -words, by increasing paclen, you lower the AX.25 protocol over- -head. Also, large data packets reduce the overhead of keying up a -transmitter, and this can be an important factor with higher -speed modems. On the other hand, large frames make bigger targets -for noise and interference. Each link has an optimum value of -paclen that is best discovered by experiment. - -Another thing to remember when setting paclen is that the AX.25 -version 2.0 specification limits it to 256 bytes. Although -net.exe can handle much larger values, some other AX.25 implemen- -tations (including digipeaters) cannot and this may cause intero- -perability problems. Even net.exe may have trouble with certain -KISS TNCs because of fixed-size buffers. The original KISS TNC -code for the TNC-2 by K3MC can handle frames limited in size only -by the RAM in the TNC, but some other KISS TNCs cannot. - -Net.exe's built-in HDLC drivers (SCC, PC-100, DRSI, etc) allocate -receive buffers according to the maximum expected frame size, so - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 52 - - - -it is important that these devices be configured with the correct -bufsize. To do this, you must know the size of the largest possi- -ble frame that can be received. The paclen parameter controls -only the size of the data field in an I-frame and not the total -size of the frame as it appears on the air. The AX.25 spec allows -up to 8 digipeaters, so the largest possible frame is (paclen + -72) bytes. So you should make bufsize at least this large. - -Another important consideration is that the more recent versions -of NOS improve interrupt response by maintaining a special pool -of buffers for use by the receive routines. These buffers are -currently fixed in size to 2048 bytes and this can be changed -only by editing config.h and recompiling NOS. This limits buf- -size; in fact, attempting to set a larger value may cause the -driver not to work at all. This situation can be detected by run- -ning the memory status command and looking for a non-zero count -of Ibuffail events, although these events can also occur occa- -sionally during normal operation. - -One of the drawbacks of AX.25 that there is no way for one sta- -tion to tell another how large a packet it is willing to accept. -This requires the stations sharing a channel to agree beforehand -on a maximum packet size. TCP is different, as we shall see. - -9.4.3. Setting Maxframe - -For best performance on a half-duplex radio channel, maxframe -should always be set to 1. The reasons are explained in the paper -Link Level Protocols Revisited by Brian Lloyd and Phil Karn, -which appeared in the proceedings of the ARRL 5th Computer Net- -working Conference in 1986. - -9.4.4. Setting MTU - -TCP/IP header overhead considerations similar to those of the -AX.25 layer when setting paclen apply when choosing an MTU. How- -ever, certain subnetwork types supported by net.exe have well- -established MTUs, and these should always be used unless you know -what you're doing: 1500 bytes for Ethernet, and 508 bytes for -ARCNET. The MTU for PPP is automatically negotiated, and defaults -to 1500. Other subnet types, including SLIP and AX.25, are not as -well standardized. - -SLIP has no official MTU, but the most common implementation (for -BSD UNIX) uses an MTU of 1006 bytes. Although net.exe has no -hard wired limit on the size of a received SLIP frame, this is -not true for other systems. Interoperability problems may there- -fore result if larger MTUs are used in net.exe. - -Choosing an MTU for an AX.25 interface is more complex. When the -interface operates in datagram (UI-frame) mode, the paclen param- -eter does not apply. The MTU effectively becomes the paclen of -the link. However, as mentioned earlier, large packets sent on -AX.25 connections are automatically segmented into I-frames no - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 53 - - - -larger than paclen bytes. Unfortunately, as also mentioned ear- -lier, net.exe is so far the only known implementation of the new -AX.25 segmentation procedure. This is fine as long as all of the -NET/ROM nodes along a path are running net.exe, but since the -main reason net.exe supports NET/ROM is to allow use of existing -NET/ROM networks, this is unlikely. - -So it is usually important to avoid AX.25 segmentation when run- -ning IP over NET/ROM. The way to do this is to make sure that -packets larger than paclen are never handed to AX.25. A NET/ROM -transport header is 5 bytes long and a NET/ROM network header -takes 15 bytes, so 20 bytes must be added to the size of an IP -datagram when figuring the size of the AX.25 I-frame data field. -If paclen is 256, this leaves 236 bytes for the IP datagram. This -is the default MTU of the netrom pseudo-interface, so as long as -paclen is at least 256 bytes, AX.25 segmentation can't happen. -But if smaller values of paclen are used, the netrom MTU must -also be reduced with the ifconfig command. - -On the other hand, if you're running IP directly on top of AX.25, -chances are all of the nodes are running net.exe and support -AX.25 segmentation. In this case there is no reason not to use a -larger MTU and let AX.25 segmentation do its thing. If you choose -an MTU on the order of 1000-1500 bytes, you can largely avoid -IP-level fragmentation and reduce TCP/IP-level header overhead on -file transfers to a very low level. And you are still free to -pick whatever paclen value is appropriate for the link. - -9.4.5. Setting MSS - -The setting of this TCP-level parameter is somewhat less critical -than the IP and AX.25 level parameters already discussed, mainly -because it is automatically lowered according to the MTU of the -local interface when a connection is created. Although this is, -strictly speaking, a protocol layering violation (TCP is not sup- -posed to have any knowledge of the workings of lower layers) this -technique does work well in practice. However, it can be fooled; -for example, if a routing change occurs after the connection has -been opened and the new local interface has a smaller MTU than -the previous one, IP fragmentation may occur in the local system. - -The only drawback to setting a large MSS is that it might cause -avoidable fragmentation at some other point within the network -path if it includes a "bottleneck" subnet with an MTU smaller -than that of the local interface. (Unfortunately, there is -presently no way to know when this is the case. There is ongoing -work within the Internet Engineering Task Force on a "MTU -Discovery" procedure to determine the largest datagram that may -be sent over a given path without fragmentation, but it is not -yet complete.) Also, since the MSS you specify is sent to the -remote system, and not all other TCPs do the MSS-lowering pro- -cedure yet, this might cause the remote system to generate IP -fragments unnecessarily. - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 54 - - - -On the other hand, a too-small MSS can result in a considerable -performance loss, especially when operating over fast LANs and -networks that can handle larger packets. So the best value for -MSS is probably 40 less than the largest MTU on your system, with -the 40-byte margin allowing for the TCP and IP headers. For exam- -ple, if you have a SLIP interface with a 1006 byte MTU and an -Ethernet interface with a 1500 byte MTU, set MSS to 1460 bytes. -This allows you to receive maximum-sized Ethernet packets, assum- -ing the path to your system does not have any bottleneck subnets -with smaller MTUs. - -9.4.6. Setting Window - -A sliding window protocol like TCP cannot transfer more than one -window's worth of data per round trip time interval. So this -TCP-level parameter controls the ability of the remote TCP to -keep a long "pipe" full. That is, when operating over a path with -many hops, offering a large TCP window will help keep all those -hops busy when you're receiving data. On the other hand, offering -too large a window can congest the network if it cannot buffer -all that data. Fortunately, new algorithms for dynamic control- -ling the effective TCP flow control window have been developed -over the past few years and are now widely deployed. Net.exe -includes them, and you can watch them in action with the tcp -status or socket commands. Look at the cwind -(congestion window) value. - -In most cases it is safe to set the TCP window to a small integer -multiple of the MSS (eg. 4 times), or larger if necessary to -fully utilize a high bandwidth*delay product path. One thing to -keep in mind, however, is that advertising a certain TCP window -value declares that the system has that much buffer space avail- -able for incoming data. Net.exe does not actually preallocate -this space; it keeps it in a common pool and may well "overbook" -it, exploiting the fact that many TCP connections are idle for -long periods and gambling that most applications will read incom- -ing data from an active connection as soon as it arrives, thereby -quickly freeing the buffer memory. However, it is possible to run -net.exe out of memory if excessive TCP window sizes are adver- -tised and either the applications go to sleep indefinitely (eg. -suspended Telnet sessions) or a lot of out-of-sequence data -arrives. It is wise to keep an eye on the amount of available -memory and to decrease the TCP window size (or limit the number -of simultaneous connections) if it gets too low. - -Depending on the channel access method and link level protocol, -the use of a window setting that exceeds the MSS may cause an -increase in channel collisions. In particular, collisions between -data packets and returning acknowledgements during a bulk file -transfer may become common. Although this is, strictly speaking, -not TCP's fault, it is possible to work around the problem at the -TCP level by decreasing the window so that the protocol operates -in stop-and-wait mode. This is done by making the window value -equal to the MSS. - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - - - - - - 55 - - - -9.5. Summary - -In most cases, the default values provided by net.exe for each of -these parameters will work correctly and give reasonable perfor- -mance. Only in special circumstances such as operation over a -very poor link or experimentation with high speed modems should -it be necessary to change them. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -updated by Bill Simpson April 15, 1991 March 3, 1991 - - + + + + + + + + + + NET User Reference Manual (NOS Version) + + + Phil Karn, KA9Q + + + + + + +1. The NET.EXE Program + +The MS-DOS executable file net.exe provides Internet (TCP/IP), +NET/ROM and AX.25 facilities. Because it has an internal multi- +tasking operating system, net.exe can act simultaneously as a +client, a server and a packet switch for all three sets of proto- +cols. That is, while a local user accesses remote services, the +system can also provide those same services to remote users while +also switching IP, NET/ROM and AX.25 packets and frames between +other client and server nodes. + +The keyboard and display is used by the local operator to control +both host and gateway level functions, for which a number of com- +mands are provided. + +1.1. Installation + +Net.exe uses the following directory structure: + + /net + /net/spool + /net/spool/help + /net/spool/mail + /net/spool/mqueue + /net/spool/rqueue + /net/spool/news + + +The "/net" directory is not strictly necessary, and defaults to +the root of the current drive. Any name may be chosen using the +-d command-line option (described below). The alias, +autoexec.net, dialer, domain.txt and ftpusers configuration files +are located here. + +The "/spool" directory and its sub-directories are used by the +bbs, SMTP and NNTP services. The areas, forward.bbs, history, +mail.log, rewrite and signatur configuration files are located +here. + +The alias, forward.bbs and rewrite files are described in the +document "maildoc", which should be found at the same location as + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 2 - + + +this file. + +1.2. net [-b] [-s ] [-d ] [] + +1.2.1. -b + +The -b option specifies the use of BIOS for console output; the +default is to write directly to the video display buffer. Use +this option if you are running under a windowing package and have +trouble with output "bleeding through" on top of other windows. + +1.2.2. -s + +The -s option specifies the size of the socket array to be allo- +cated within net.exe. This limits the number of network connec- +tions that may exist simultaneously. The default is 40. + +1.2.3. -d + +The -d option allows the user to specify a directory for the con- +figuration and spool files; it defaults to the root directory of +the system. + +1.2.4. Startup file + +After all command-line options, the name of a startup file may be +specified. If no startup file is specified, net.exe attempts to +open a file named autoexec.net in the configuration directory of +the current drive. If the file exists, it is read and executed as +though its contents were typed on the console as commands. (See +the Commands chapter.) This feature is useful for attaching com- +munication interfaces, configuring network addresses, and start- +ing the various services. + + + + + + + + + + + + + + + + + + + + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 3 - + + +2. Console modes + +The console may be in one of two modes: command mode and converse +mode. In command mode, the prompt net> is displayed and any of +the commands described in the Commands chapter may be entered. In +converse mode, keyboard input is processed according to the +current session. + +Sessions come in many types, including Telnet, FTP, AX25, NETROM, +Ping, More, Hopcheck and Tip. In a Telnet, AX25, NETROM, or Tip +session, keyboard input is sent to the remote system and any out- +put from the remote system is displayed on the console. In a FTP +session, keyboard input is first examined to see if it is a known +local command; if so it is executed locally. If not, it is +"passed through" to the remote FTP server. (See the FTP Subcom- +mands chapter). In a Ping session the user may test the path to a +remote site, and in a More session, the user may examine a local +file. A Hopcheck session is used to trace the path taken by pack- +ets to reach a specified destination. + +The keyboard also has cooked and raw states. In cooked state, +input is line-at-a-time; the user may use the line editing char- +acters ^U, ^R and backspace to erase the line, redisplay the line +and erase the last character, respectively. Hitting either +return or line feed passes the complete line up to the applica- +tion. In raw state, each character is immediately passed to the +application as it is typed. + +The keyboard is always in cooked state in command mode. It is +also cooked in converse mode on an AX25, FTP or NET/ROM session. +In a Telnet session it depends on whether the remote end has +issued (and the local end has accepted) the Telnet WILL ECHO +option (see the echo command). + +On the IBM-PC, the user may escape back to command mode by hit- +ting the F10 key. On other systems, the user must enter the +escape character, which is by default control-] (hex 1d, ASCII +GS). (Note that this is distinct from the ASCII character of the +same name). The escape character can be changed (see the escape +command). + +In the IBM PC version, each session (including the command "ses- +sion") has its own screen. When a new session is created, the +command display is saved in memory and the screen is cleared. +When the command escape key (usually F10) is hit, the current +session screen is saved and the command screen is restored. When +a session is resumed, its screen is restored exactly as it +appeared when it was last current. + + + + + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 4 - + + +3. Commands + +This chapter describes the commands recognized in command mode, +or within a startup file such as autoexec.net. These are given in +the following notation: + + command + command literalparameter + command subcommand + command [] + command a | b + + +Many commands take subcommands or parameters, which may be +optional or required. In general, if a required subcommand or +parameter is omitted, an error message will summarize the avail- +able subcommands or required parameters. (Giving a '?' in place +of the subcommand will also generate the message. This is useful +when the command word alone is a valid command.) If a command +takes an optional value parameter, issuing the command without +the parameter generally displays the current value of the vari- +able. (Exceptions to this rule are noted in the individual com- +mand descriptions.) + +Two or more parameters separated by vertical bar(s) denote a +choice between the specified values. Optional parameters are +shown enclosed in [brackets], and a parameter enclosed in should be replaced with an actual value or string. For +example, the notation denotes an actual host or gateway, +which may be specified in one of two ways: as a numeric IP +address in dotted decimal notation (eg. 44.0.0.1), or as a sym- +bolic name listed in the file domain.txt. + +All commands and many subcommands may be abbreviated. You only +need type enough of a command's name to distinguish it from oth- +ers that begin with the same series of letters. Parameters, how- +ever, must be typed in full. + +Certain FTP subcommands (eg. put, get, dir, etc) are recognized +only in converse mode with the appropriate FTP session; they are +not recognized in command mode. (See the FTP Subcommands +chapter.) + +3.1. + +Entering a carriage return (empty line) while in command mode +puts you in converse mode with the current session. If there is +no current session, net.exe remains in command mode. + +3.2. ! + +An alias for the shell command. + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 5 - + + +3.3. # + +Commands starting with the hash mark (#) are ignored. This is +mainly useful for comments in the autoexec.net file. + +3.4. abort [] + +Abort a FTP get, put or dir operation in progress. If issued +without an argument, the current session is aborted. (This com- +mand works only on FTP sessions.) When receiving a file, abort +simply resets the data connection; the next incoming data packet +will generate a TCP RST (reset) response to clear the remote +server. When sending a file, abort sends a premature end-of- +file. Note that in both cases abort will leave a partial copy of +the file on the destination machine, which must be removed manu- +ally if it is unwanted. + +3.5. arp + +Display the Address Resolution Protocol table that maps IP +addresses to their subnet (link) addresses on subnetworks capable +of broadcasting. For each IP address entry the subnet type (eg. +Ethernet, AX.25), subnet address and time to expiration is shown. +If the link address is currently unknown, the number of IP +datagrams awaiting resolution is also shown. + +3.5.1. arp add ethernet | ax25 | + + +Add a permanent entry to the table. It will not time out as will +an automatically-created entry, but must be removed with the arp +drop command. + +3.5.2. arp publish ethernet | ax25 | + + +This command is similar to the arp add command, but system will +also respond to any ARP request it sees on the network that seeks +the specified address. (Use this feature with great care.) + +3.5.3. arp drop ax25 | ethernet + +Remove the specified entry from the ARP table. + +3.5.4. arp flush + +Drop all automatically-created entries in the ARP table; per- +manent entries are not affected. + +3.6. asystat + +Display statistics on attached asynchronous communications inter- +faces (8250 or 16550A), if any. The display for each port con- +sists of three lines. The first line gives the port label and the + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 6 - + + +configuration flags; these indicate whether the port is a 16550A +chip, the trigger character if any, whether CTS flow control is +enabled, whether RLSD (carrier detect) line control is enabled, +and the speed in bits per second. (Receiving the trigger charac- +ter causes the driver to signal upper layer software that data is +ready; it is automatically set to the appropriate frame end char- +acter for SLIP, PPP and NRS lines.) + +The second line of the status display shows receiver (RX) event +counts: the total number of receive interrupts, received charac- +ters, receiver overruns (lost characters) and the receiver high +water mark. The high water mark is the maximum number of charac- +ters ever read from the device during a single interrupt. This is +useful for monitoring system interrupt latency margins as it +shows how close the port hardware has come to overflowing due to +the inability of the CPU to respond to a receiver interrupt in +time. 8250 chips have no FIFO, so the high water mark cannot go +higher than 2 before overruns occur. The 16550A chip, however, +has a 16-byte receive FIFO which the software programs to inter- +rupt the CPU when the FIFO is one-quarter full. The high water +mark should typically be 4 or 5 when a 16550A is used; higher +values indicate that the CPU has at least once been slow to +respond to a receiver interrupt. + +When the 16550A is used, a count of FIFO timeouts is also +displayed on the RX status line. These are generated automati- +cally by the 16550A when three character intervals go by with +more than 0 but less than 4 characters in the FIFO. Since the +characters that make up a SLIP or NRS frame are normally sent at +full line speed, this count will usually be a lower bound on the +number of frames received on the port, as only the last fragment +of a frame generally results in a timeout (and then only when the +frame is not a multiple of 4 bytes long.) + +Finally, the software fifo overruns and high water mark are +displayed. These indicate whether the parameter on the +attach command needs to be adjusted (see the Attach Commands +chapter). + +The third line shows transmit (TX) statistics, including a total +count of transmit interrupts, transmitted characters, the length +of the transmit queue in bytes, the number of status interrupts, +and the number of THRE timeouts. The status interrupt count will +be zero unless CTS flow control or RLSD line control has been +enabled. The THRE timeout is a stopgap measure to catch lost +transmit interrupts, which seem to happen when there is a lot of +activity (ideally, this will be zero). + +3.7. attach ... + +Configure and attach a hardware interface to the system. Detailed +instructions for each driver are in the Attach Commands chapter. +An easy way to obtain a summary of the parameters required for a +given device is to issue a partial attach command (eg. attach + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 7 - + + +packet). This produces a usage message giving the complete com- +mand format. + +3.8. ax25 ... + +These commands are used for AX25 interfaces. + +3.8.1. ax25 blimit [] + +Display or set the AX25 retransmission backoff limit. Normally +each successive AX25 retransmission is delayed by twice the value +of the previous interval; this is called binary exponential back- +off. When the backoff reaches the blimit setting it is held at +that value, which defaults to 30. To prevent the possibility of +"congestive collapse" on a loaded channel, blimit should be set +at least as high as the number of stations sharing the channel. +Note that this is applicable only on actual AX25 connections; UI +frames will never be retransmitted by the AX25 layer. + +3.8.2. ax25 digipeat [on | off] + +Display or set the digipeater enable flag. + +3.8.3. ax25 flush + +Clear the AX.25 "heard" list (see ax25 heard). + +3.8.4. ax25 heard + +Display the AX.25 "heard" list. For each interface that is con- +figured to use AX.25, a list of all callsigns heard through that +interface is shown, along with a count of the number of packets +heard from each station and the interval, in hr:min:sec format, +since each station was last heard. The local station always +appears first in the listing; the packet count actually reflects +the number of packets transmitted. This entry is always present +even if no packets have been sent. + +3.8.5. ax25 irtt [] + +Display or set the initial value of smoothed round trip time to +be used when a new AX25 connection is created. The value is in +milliseconds. The actual round trip time will be learned by meas- +urement once the connection has been established. + +3.8.6. ax25 kick + +Force a retransmission on the specified AX.25 control block. + +3.8.7. ax25 maxframe [] + +Establish the maximum number of frames that will be allowed to +remain unacknowledged at one time on new AX.25 connections. This +number cannot be greater than 7. + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 8 - + + +3.8.8. ax25 mycall [] + +Display or set the local AX.25 address. The standard format is +used (eg. KA9Q-0 or WB6RQN-5). This command must be given before +any attach commands using AX.25 mode are given. + +3.8.9. ax25 paclen [] + +Limit the size of I-fields on new AX.25 connections. If IP +datagrams or fragments larger than this are transmitted, they +will be transparently fragmented at the AX.25 level, sent as a +series of I frames, and reassembled back into a complete IP +datagram or fragment at the other end of the link. To have any +effect on IP datagrams, this parameter should be less than or +equal to the MTU of the associated interface. + +3.8.10. ax25 pthresh [] + +Display or set the poll threshold to be used for new AX.25 Ver- +sion 2 connections. The poll threshold controls retransmission +behavior as follows. If the oldest unacknowledged I-frame size is +less than the poll threshold, it will be sent with the poll (P) +bit set if a timeout occurs. If the oldest unacked I-frame size +is equal to or greater than the threshold, then a RR or RNR +frame, as appropriate, with the poll bit set will be sent if a +timeout occurs. + +The idea behind the poll threshold is that the extra time needed +to send a "small" I-frame instead of a supervisory frame when +polling after a timeout is small, and since there's a good chance +the I-frame will have to be sent anyway (i.e., if it were lost +previously) then you might as well send it as the poll. But if +the I-frame is large, send a supervisory (RR/RNR) poll instead to +determine first if retransmitting the oldest unacknowledged I- +frame is necessary; the timeout might have been caused by a lost +acknowledgement. This is obviously a tradeoff, so experiment +with the poll threshold setting. The default is 128 bytes, one +half the default value of paclen. + +3.8.11. ax25 reset + +Delete the AX.25 connection control block at the specified +address. + +3.8.12. ax25 retry [] + +Limit the number of successive unsuccessful retransmission +attempts on new AX.25 connections. If this limit is exceeded, +link re-establishment is attempted. If this fails retry times, +then the connection is abandoned and all queued data is deleted. + +3.8.13. ax25 route + +Display the AX.25 routing table that specifies the digipeaters to + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 9 - + + +be used in reaching a given station. + +3.8.13.1. ax25 route add [digis ... ] + +Add an entry to the AX.25 routing table. An automatic ax25 route +add is executed if digipeaters are specified in an AX25 connect +command, or if a connection is received from a remote station via +digipeaters. Such automatic routing table entries won't override +locally created entries, however. + +3.8.13.2. ax25 route drop + +Drop an entry from the AX.25 routing table. + +3.8.14. ax25 status [] + +Without an argument, display a one-line summary of each AX.25 +control block. If the address of a particular control block is +specified, the contents of that control block are dumped in more +detail. Note that the send queue units are frames, while the +receive queue units are bytes. + +3.8.15. ax25 t3 [] + +Display or set the AX.25 idle "keep alive" timer. Value is in +milliseconds. + +3.8.16. ax25 version [1 | 2] + +Display or set the version of the AX.25 protocol to attempt to +use on new connections. The default is 1 (the version that does +not use the poll/final bits). + +3.8.17. ax25 window [] + +Set the number of bytes that can be pending on an AX.25 receive +queue beyond which I frames will be answered with RNR (Receiver +Not Ready) responses. This presently applies only to suspended +interactive AX.25 sessions, since incoming I-frames containing +network (IP, NET/ROM) packets are always processed immediately +and are not placed on the receive queue. However, when an AX.25 +connection carries both interactive and network packet traffic, +an RNR generated because of backlogged interactive traffic will +also stop network packet traffic from being sent. + +3.9. cd [] + +Change the current working directory, and display the new set- +ting. Without an argument, cd simply displays the current direc- +tory without change. The pwd command is an alias for cd. + +3.10. close [] + +Close the specified session; without an argument, close the + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 10 - + + +current session. On an AX.25 session, this command initiates a +disconnect. On a FTP or Telnet session, this command sends a FIN +(i.e., initiates a close) on the session's TCP connection. This +is an alternative to asking the remote server to initiate a close +(QUIT to FTP, or the logout command appropriate for the remote +system in the case of Telnet). When either FTP or Telnet sees +the incoming half of a TCP connection close, it automatically +responds by closing the outgoing half of the connection. Close +is more graceful than the reset command, in that it is less +likely to leave the remote TCP in a "half-open" state. + +3.11. connect [ ... ] + +Initiate a "vanilla" AX.25 session to the specified call sign +using the specified interface. Data sent on this session goes out +in conventional AX.25 packets with no upper layer protocol. The +de-facto presentation standard format is used, in that each +packet holds one line of text, terminated by a carriage return. +A single AX.25 connection may be used for terminal-to-terminal, +IP and NET/ROM traffic. The three types of data are automatically +separated by their AX.25 Level 3 Protocol IDs. + +Up to 7 optional digipeaters may be given; note that the word via +is NOT needed. If digipeaters are specified, they are automati- +cally added to the AX25 routing table as though the ax25 route +add command had been given before issuing the connect command. + +3.12. delete + +Delete a filename in the current working directory. + +3.13. detach + +Detach a previously attached interface from the system. All IP +routing table entries referring to this interface are deleted, +and forwarding references by any other interface to this inter- +face are removed. + +3.14. dialer + +Setup an autodialer session for the interface. Whenever the +interface is idle for the interval in , the autodialer +will ping the . If there is no answer after +attempts, the autodialer will execute the special commands con- +tained in the . + +If the interval in is zero, a previous dialer command +process will be removed. If the number of is zero, the + will be executed without pinging the . + +The file may have any valid name, and must be located in the con- +figuration directory (see the Installion section). The commands +in the file are described in the Dialer Subcommands chapter. + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 11 - + + +3.15. dir [] + +List the contents of the specified directory on the console. If +no argument is given, the current directory is listed. Note that +this command works by first listing the directory into a tem- +porary file, and then creating a more session to display it. +After this completes, the temporary file is deleted. + +3.16. disconnect [] + +An alias for the close command (for the benefit of AX.25 users). + +3.17. domain ... + +These commands are used for access to the Domain Name Service. + +3.17.1. domain addserver + +Add one or more domain name server(s) to the list of name +servers. + +3.17.2. domain dropserver + +Remove one or more domain name server(s) from the list of name +servers. + +3.17.3. domain listservers + +List the currently configured domain name servers, along with +statistics on how many queries and replies have been exchanged +with each one, response times, etc. + +3.17.4. domain query + +Send a query to a domain server asking for all resource records +associated with this , and list the records. + +3.17.5. domain retry [] + +Display or set the number of attempts to reach each server on the +list during one call to the resolver. If this count is exceeded, +a failure indication is returned. If set to 0, the list will +cycle forever; this may be useful for unattended operation. The +default is 3. + +3.17.6. domain suffix [] + +Display or specify the default domain name suffix to be appended +to a host name when it contains no periods. For example, if the +suffix is set to ampr.org and the user enters telnet ka9q, the +domain resolver will attempt to find ka9q.ampr.org. If the host +name being sought contains one or more periods, however, the +default suffix is NOT applied (eg. telnet foo.bar would NOT be +turned into foo.bar.ampr.org). + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 12 - + + +3.17.7. domain trace [on | off] + +Display or set the flag controlling the tracing of domain server +requests and responses. Trace messages will be seen only if a +domain name being sought is not found in the local cache file, +domain.txt. + +3.17.8. domain cache ... + +These commands are used for the use of the resource record file +domain.txt, and the local memory cache. + +3.17.8.1. domain cache clean [on | off] + +Display or set the flag controlling the removal of resource +records from the domain.txt file whose time-to-live has reached +zero. + +When clean is off (the default), expired records will be +retained; if no replacement can be obtained from another domain +name server, these records will continue to be used. + +When clean is on, expired records will be removed from the file +whenever any new record is added to the file. + +3.17.8.2. domain cache list + +List the current contents of the local memory cache. + +3.17.8.3. domain cache size [] + +Display or set the nominal maximum size of the local memory +cache. The default is 20. + +(Note: The cache may be temporarily larger when waiting for new +records to be written to the domain.txt file.) + +3.17.8.4. domain cache wait [] + +Display or set the interval in seconds to wait for additional +activity before updating the domain.txt file. The default is 300 +seconds (5 minutes). + +3.18. echo [accept | refuse] + +Display or set the flag controlling client Telnet's response to a +remote WILL ECHO offer. + +The Telnet presentation protocol specifies that in the absence of +a negotiated agreement to the contrary, neither end echoes data +received from the other. In this mode, a Telnet client session +echoes keyboard input locally and nothing is actually sent until +a carriage return is typed. Local line editing is also performed: +backspace deletes the last character typed, while control-U + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 13 - + + +deletes the entire line. + +When communicating from keyboard to keyboard the standard local +echo mode is used, so the setting of this parameter has no +effect. However, many timesharing systems (eg. UNIX) prefer to do +their own echoing of typed input. (This makes screen editors work +right, among other things). Such systems send a Telnet WILL ECHO +offer immediately upon receiving an incoming Telnet connection +request. If echo accept is in effect, a client Telnet session +will automatically return a DO ECHO response. In this mode, local +echoing and editing is turned off and each key stroke is sent +immediately (subject to the Nagle tinygram algorithm in TCP). +While this mode is just fine across an Ethernet, it is clearly +inefficient and painful across slow paths like packet radio chan- +nels. Specifying echo refuse causes an incoming WILL ECHO offer +to be answered with a DONT ECHO; the client Telnet session +remains in the local echo mode. Sessions already in the remote +echo mode are unaffected. (Note: Berkeley Unix has a bug in that +it will still echo input even after the client has refused the +WILL ECHO offer. To get around this problem, enter the stty -echo +command to the shell once you have logged in.) + +3.19. eol [unix | standard] + +Display or set Telnet's end-of-line behavior when in remote echo +mode. In standard mode, each key is sent as-is. In unix mode, +carriage returns are translated to line feeds. This command is +not necessary with all UNIX systems; use it only when you find +that a particular system responds to line feeds but not carriage +returns. Only SunOS release 3.2 seems to exhibit this behavior; +later releases are fixed. + +3.20. escape [] + +Display or set the current command-mode escape character in hex. +(This command is not provided on the IBM-PC; on the PC, the +escape char is always F10.) + +3.21. etherstat + +Display 3-Com Ethernet controller statistics (if configured). + +3.22. exit + +Exit the net.exe program and return to MS-DOS. + +3.23. finger [ ...] + +Issue a network finger request for user user at host hostid. This +creates a client session which may be interrupted, resumed, +reset, etc, just like a Telnet client session. + + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 14 - + + +3.24. ftp + +Open an FTP control channel to the specified remote host and +enter converse mode on the new session. Responses from the +remote server are displayed directly on the screen. See the FTP +Subcommands chapter for descriptions of the commands available in +a FTP session. + +3.25. help + +Display a brief summary of top-level commands. + +3.26. hop ... + +These commands are used to test the connectivity of the network. + +3.26.1. hop check + +Initiate a hopcheck session to the specified host. This uses a +series of UDP "probe" packets with increasing IP TTL fields to +determine the sequence of gateways in the path to the specified +destination. This function is patterned after the UNIX traceroute +facility. + +ICMP message tracing should be turned off before this command is +executed (see the icmp trace command). + +3.26.2. hop maxttl [] + +Display or set the maximum TTL value to be used in hop check ses- +sions. This effectively bounds the radius of the search. + +3.26.3. hop maxwait [] + +Display or set the maximum interval that a hopcheck session will +wait for responses at each stage of the trace. The default is 5 +seconds. + +3.26.4. hop queries [] + +Display or set the number of UDP probes that will be sent at each +stage of the trace. The default is 3. + +3.26.5. hop trace [on | off] + +Display or set the flag that controls the display of additional +information during a hop check session. + +3.27. hostname [] + +Display or set the local host's name. By convention this should +be the same as the host's primary domain name. This string is +used only in the greeting messages of the various network +servers; note that it does NOT set the system's IP address. + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 15 - + + +If is the same as an (see the Attach commands +chapter), this command will search for a CNAME domain resource +record which corresponds to the IP address of the . + +3.28. hs + +Display statistics about the HS high speed HDLC driver (if con- +figured and active). + +3.29. icmp ... + +These commands are used for the Internet Control Message Protocol +service. + +3.29.1. icmp echo [on | off] + +Display or set the flag controlling the asynchronous display of +ICMP Echo Reply packets. This flag must be on for one-shot pings +to work (see the ping command.) + +3.29.2. icmp status + +Display statistics about the Internet Control Message Protocol +(ICMP), including the number of ICMP messages of each type sent +or received. + +3.29.3. icmp trace [on | off] + +Display or set the flag controlling the display of ICMP error +messages. These informational messages are generated by Internet +routers in response to routing, protocol or congestion problems. +This option should be turned off before using the hop check +facility because it relies on ICMP Time Exceeded messages, and +the asynchronous display of these messages will be mingled with +hop check command output. + +3.30. ifconfig + +Display a list of interfaces, with a short status for each. + +3.30.1. ifconfig + +Display an extended status of the interface. + +3.30.2. ifconfig broadcast

      + +Set the broadcast address for the interface. The
      takes +the form of an IP address with 1's in the host part of the +address. This is related to the netmask sub-command. See also the +arp command. + +3.30.3. ifconfig encapsulation + +Not fully implemented. + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 16 - + + +3.30.4. ifconfig forward + +Set a forwarding interface for multiple channel interfaces. To +remove the forward, set to . + +3.30.5. ifconfig ipaddress + +Set the IP address for this interface. It is standard Internet +practice that each interface has its own address. For hosts with +only one interface, the interface address is usually the same as +the host address. See also the hostname and ip address commands. + +3.30.6. ifconfig linkaddress + +Set the hardware dependant address for this interface. + +3.30.7. ifconfig mtu + +Set the MTU for this interface. See the Setting ... MTU, MSS and +Window chapter for more information. + +3.30.8. ifconfig netmask
      + +Set the sub-net mask for this interface. The
      takes the +form of an IP address with 1's in the network and subnet parts of +the address, and 0's in the host part of the address. This is +related to the broadcast sub-command. See also the route command. + +3.30.9. ifconfig rxbuf + +Not yet implemented. + +3.31. ip ... + +These commands are used for the Internet Protocol service. + +3.31.1. ip address [] + +Display or set the default local IP address. This command must be +given before an attach command if it is to be used as the default +IP address for the interface. + +3.31.2. ip rtimer [] + +Display or set the IP reassembly timeout. The default is 30 +seconds. + +3.31.3. ip status + +Display Internet Protocol (IP) statistics, such as total packet +counts and error counters of various types. + + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 17 - + + +3.31.4. ip ttl [] + +Display or set the time-to-live value placed in each outgoing IP +datagram. This limits the number of switch hops the datagram will +be allowed to take. The idea is to bound the lifetime of the +packet should it become caught in a routing loop, so make the +value slightly larger than the number of hops across the network +you expect to transit packets. The default is set at compilation +time to the official recommended value for the Internet. + +3.32. isat [on | off] + +Display or set the AT flag. Currently, there is no sure-fire way +to determine the type of clock-chip being used. If an AT type +clock is in use, this command will allow measurement of time in +milliseconds, rather than clock ticks (55 milliseconds per clock +tick). + +3.32.1. kick [] + +Kick all sockets associated with a session; if no argument is +given, kick the current session. Performs the same function as +the ax25 kick and tcp kick commands, but is easier to type. + +3.33. log [stop | ] + +Display or set the filename for logging server sessions. If stop +is given as the argument, logging is terminated (the servers +themselves are unaffected). If a file name is given as an argu- +ment, server session log entries will be appended to it. + +3.34. mbox + +Display the status of the mailbox server system (if configured). + +3.35. memory ... + +These commands are used for memory allocation. + +3.35.1. memory free + +Display the storage allocator free list. Each entry consists of a +starting address, in hex, and a size, in decimal bytes. + +3.35.2. memory sizes + +Display a histogram of storage allocator request sizes. Each his- +togram bin is a binary order of magnitude (i.e., a factor of 2). + +3.35.3. memory status + +Display a summary of storage allocator statistics. The first line +shows the base address of the heap, its total size, the amount of +heap memory available in bytes and as a percentage of the total + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 18 - + + +heap size, and the amount of memory left over (i.e., not placed +on the heap at startup) and therefore available for shell subcom- +mands. + +The second line shows the total number of calls to allocate and +free blocks of memory, the difference of these two values (i.e., +the number of allocated blocks outstanding), the number of allo- +cation requests that were denied due to lack of memory, and the +number of calls to free() that attempted to free garbage (eg. by +freeing the same block twice or freeing a garbled pointer). + +The third line shows the number of calls to malloc and free that +occurred with interrupts off. In normal situations these values +should be zero. The fourth line shows statistics for the special +pool of fixed-size buffers used to satisfy requests for memory at +interrupt time. The variables shown are the number of buffers +currently in the pool, their size, and the number of requests +that failed due to exhaustion of the pool. + +3.36. mkdir + +Create a sub-directory in the current working directory. + +3.37. mode [vc | datagram] + +Control the default transmission mode on the specified AX.25 +interface. In datagram mode, IP packets are encapsulated in AX.25 +UI frames and transmitted without any other link level mechan- +isms, such as connections or acknowledgements. + +In vc (virtual circuit) mode, IP packets are encapsulated in +AX.25 I frames and are acknowledged at the link level according +to the AX.25 protocol. Link level connections are opened if +necessary. + +In both modes, ARP is used to map IP to AX.25 addresses. The +defaults can be overridden with the type-of-service (TOS) bits in +the IP header. Turning on the "reliability" bit causes I frames +to be used, while turning on the "low delay" bit uses UI frames. +(The effect of turning on both bits is undefined and subject to +change). + +In both modes, IP-level fragmentation is done if the datagram is +larger than the interface MTU. In virtual circuit mode, how- +ever, the resulting datagram (or fragments) is further fragmented +at the AX.25 layer if it (or they) are still larger than the +AX.25 paclen parameter. In AX.25 fragmentation, datagrams are +broken into several I frames and reassembled at the receiving end +before being passed to IP. This is preferable to IP fragmentation +whenever possible because of decreased overhead (the IP header +isn't repeated in each fragment) and increased robustness (a lost +fragment is immediately retransmitted by the link layer). + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 19 - + + +3.38. more [ ...] + +Display the specified file(s) a screen at a time. To proceed to +the next screen, press the space bar; to cancel the display, hit +the 'q' key. The more command creates a session that you can +suspend and resume just like any other session. + +3.39. param [ ...] + +Invoke a device-specific control routine. On a KISS TNC inter- +face, this sends control packets to the TNC. Data bytes are +treated as decimal. For example, param ax0 1 255 will set the +keyup timer (type field = 1) on the KISS TNC configured as ax0 to +2.55 seconds (255 x .01 sec). On a SLIP interface, the param +command allows the baud rate to be read (without arguments) or +set. The implementation of this command for the various inter- +face drivers is incomplete and subject to change. + +3.40. ping [ [ []]] + +Ping (send ICMP Echo Request packets to) the specified host. By +default the data field contains only a small timestamp to aid in +determining round trip time; if the optional length argument is +given, the appropriate number of data bytes (consisting of hex +55) are added to the ping packets. + +If interval is specified, pings will be repeated indefinitely at +the specified number of seconds; otherwise a single, "one shot" +ping is done. Responses to one-shot pings appear asynchronously +on the command screen, while repeated pings create a session that +may be suspended and resumed. Pinging continues until the session +is manually reset. + +The incflag option causes a repeated ping to increment the target +IP address for each ping; it is an experimental feature for +searching blocks of IP addresses for active hosts. + +3.41. ppp ... + +These commands are used for Point to Point Protocol interfaces. + +This implementation of PPP is designed to be as complete as pos- +sible. Because of this, the number of options can be rather +daunting. However, a typical PPP configuration might include the +following commands: + + + + + + + + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 20 - + + + + attach asy 0x3f8 4 ppp pp0 4096 1500 9600 + dial pp0 30 3 dialer.pp0 + # + ppp pp0 lcp local accm 0 + ppp pp0 lcp local compress address on + ppp pp0 lcp local compress protocol on + ppp pp0 lcp local magic on + ppp pp0 lcp open active + # + ppp pp0 ipcp local compress tcp 16 1 + ppp pp0 ipcp open active + # + route add default pp0 + + +3.41.1. ppp + +Display the status of the PPP interface. + +3.41.2. ppp lcp ... + +These commands are used for the LCP [Link Control Protocol] con- +figuration. + +3.41.2.1. ppp lcp close + +Shutdown the PPP interface. + +3.41.2.2. ppp lcp local ... + +These commands control the configuration of the local side of the +link. If an option is specified, the parameters will be used as +the initial values in configuration requests. If not specified, +that option will not be requested. + +For each of these options, the allow parameter will permit the +remote to include that option in its response, even when the +option is not included in the request. By default, all options +are allowed. + +3.41.2.2.1. ppp lcp local accm [ | allow [on | +off] ] + +Display or set the Async Control Character Map. The default is +0xffffffff. + +3.41.2.2.2. ppp lcp local authenticate [ pap | none | +allow [on | off] ] + +Display or set the authentication protocol. The default is none. + + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 21 - + + +3.41.2.2.3. ppp lcp local cfor hardware interrupt events will turn off this flag; this is +done to avoid critical sections and missed interrupts. The W flag +indicates that the process is waiting for an event; the event +column will be non-blank. Note that although there may be several +runnable processes at any time (shown in the ps listing as those +without the W flag and with blank event fields) only one process +is actually running at any one instant (The Refrigerator Light +Effect says that the ps command is always the one running when +this display is generated.) + +3.43. pwd [] + +An alias for the cd command. + +3.44. record [off | ] + +Append to filename all data received on the current session. +Data sent on the current session is also written into the file +except for Telnet sessions in remote echo mode. The command +record off stops recording and closes the file. + +3.45. remote [-p ] [-k ] [-a ] +exit | reset | kick + +Send a UDP packet to the specified host commanding it to exit the +net.exe program, reset the processor, or force a retransmission +on TCP connections. For this command to be accepted, the remote +system must be running the remote server and the port number +specified in the remote command must match the port number given +when the server was started on the remote system. If the port +numbers do not match, or if the remote server is not running on +the target system, the command packet is ignored. Even if the +command is accepted there is no acknowledgement. + +The kick command forces a retransmission timeout on all TCP con- +nections that the remote node may have with the local node. If +the -a option is used, connections to the specified host are +kicked instead. No key is required for the kick subcommand. + +The exit and reset subcommands are mainly useful for restarting +the net.exe program on a remote unattended system after the con- +figuration file has been updated. The remote system should + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 25 - + + +invoke the net.exe program automatically upon booting, preferably +in an infinite loop. For example, under MS-DOS the boot disk +should contain the following in autoexec.net: + + :loop + net + goto :loop + + + +3.46. remote -s + +The exit and reset subcommands of remote require a password. The +password is set on a given system with the -s option, and it is +specified in a command to a remote system with the -k option. If +no password is set with the -s option, then the exit and reset +subcommands are disabled. + +Note that remote is an experimental feature in NOS; it is not yet +supported by any other TCP/IP implementation. + +3.47. rename + +Rename oldfilename to newfilename. + +3.48. reset [] + +Reset the specified session; if no argument is given, reset the +current session. This command should be used with caution since +it does not reliably inform the remote end that the connection no +longer exists. (In TCP a reset (RST) message will be automati- +cally generated should the remote TCP send anything after a local +reset has been done. In AX.25 the DM message performs a similar +role. Both are used to get rid of a lingering half-open connec- +tion after a remote system has crashed.) + +3.49. rip ... + +These commands are used for the RIP service. + +3.49.1. rip accept + +Remove the specified gateway from the RIP filter table, allowing +future broadcasts from that gateway to be accepted. + +3.49.2. rip add [] + +Add an entry to the RIP broadcast table. The IP routing table +will be sent to hostid every interval seconds. If flags is speci- +fied as 1, then "split horizon" processing will be performed for +this destination. That is, any IP routing table entries pointing +to the interface that will be used to send this update will be +removed from the update. If split horizon processing is not +specified, then all routing table entries except those marked + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 26 - + + +"private" will be sent in each update. (Private entries are never +sent in RIP packets). + +Triggered updates are always done. That is, any change in the +routing table that causes a previously reachable destination to +become unreachable will trigger an update that advertises the +destination with metric 15, defined to mean "infinity". + +Note that for RIP packets to be sent properly to a broadcast +address, there must exist correct IP routing and ARP table +entries that will first steer the broadcast to the correct inter- +face and then place the correct link-level broadcast address in +the link-level destination field. If a standard IP broadcast +address convention is used (eg. 128.96.0.0 or 128.96.255.255) +then chances are you already have the necessary IP routing table +entry, but unusual subnet or cluster-addressed networks may +require special attention. However, an arp add command will be +required to translate this address to the appropriate link level +broadcast address. For example, + + +arp add 128.96.0.0 ethernet ff:ff:ff:ff:ff:ff + + +for an Ethernet network, and + + +arp add 44.255.255.255 ax25 qst-0 + + +for an AX25 packet radio channel. + +3.49.3. rip drop + +Remove an entry from the RIP broadcast table. + +3.49.4. rip merge [on | off] + +This flag controls an experimental feature for consolidating +redundant entries in the IP routing table. When rip merging is +enabled, the table is scanned after processing each RIP update. +An entry is considered redundant if the target(s) it covers would +be routed identically by a less "specific" entry already in the +table. That is, the target address(es) specified by the entry in +question must also match the target addresses of the less +specific entry and the two entries must have the same interface +and gateway fields. For example, if the routing table contains + + +Dest Len Interface Gateway Metric P Timer Use +1.2.3.4 32 ethernet0 128.96.1.2 1 0 0 0 +1.2.3 24 ethernet0 128.96.1.2 1 0 0 0 + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 27 - + + +then the first entry would be deleted as redundant since packets +sent to 1.2.3.4 will still be routed correctly by the second +entry. Note that the relative metrics of the entries are ignored. + +3.49.5. rip refuse + +Refuse to accept RIP updates from the specified gateway by adding +the gateway to the RIP filter table. It may be later removed with +the rip accept command. + +3.49.6. rip request + +Send a RIP Request packet to the specified gateway, causing it to +reply with a RIP Response packet containing its routing table. + +3.49.7. rip status + +Display RIP status, including a count of the number of packets +sent and received, the number of requests and responses, the +number of unknown RIP packet types, and the number of refused RIP +updates from hosts in the filter table. A list of the addresses +and intervals to which periodic RIP updates are being sent is +also shown, along with the contents of the filter table. + +3.49.8. rip trace [0 | 1 | 2] + +This variable controls the tracing of incoming and outgoing RIP +packets. Setting it to 0 disables all RIP tracing. A value of 1 +causes changes in the routing table to be displayed, while pack- +ets that cause no changes cause no output. Setting the variable +to 2 produces maximum output, including tracing of RIP packets +that cause no change in the routing table. + +3.50. rmdir + +Remove a sub-directory from the current working directory. + +3.51. route + +With no arguments, route displays the IP routing table. + +3.51.1. route add [/bits] | default +[ []] + +This command adds an entry to the routing table. It requires at +least two more arguments, the hostid of the target destination +and the name of the interface to which its packets should be +sent. If the destination is not local, the gateway's hostid +should also be specified. (If the interface is a point-to-point +link, then gatewayhostid may be omitted even if the target is +non-local because this field is only used to determine the +gateway's link level address, if any. If the destination is +directly reachable, gatewayhostid is also unnecessary since the +destination address is used to determine the interface link + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 28 - + + +address). + +The optional /bits suffix to the destination host id specifies +how many leading bits in the host id are to be considered signi- +ficant in the routing comparisons. If not specified, 32 bits +(i.e., full significance) is assumed. With this option, a single +routing table entry may refer to many hosts all sharing a common +bit string prefix in their IP addresses. For example, ARPA Class +A, B and C networks would use suffixes of /8, /16 and /24 respec- +tively; the command + +route add 44/8 sl0 44.64.0.2 + + +causes any IP addresses beginning with "44" in the first 8 bits +to be routed to 44.64.0.2; the remaining 24 bits are "don't- +cares". + +When an IP address to be routed matches more than one entry in +the routing table, the entry with largest bits parameter (i.e., +the "best" match) is used. This allows individual hosts or blocks +of hosts to be exceptions to a more general rule for a larger +block of hosts. + +The special destination default is used to route datagrams to +addresses not matched by any other entries in the routing table; +it is equivalent to specifying a /bits suffix of /0 to any desti- +nation hostid. Care must be taken with default entries since two +nodes with default entries pointing at each other will route +packets to unknown addresses back and forth in a loop until their +time-to-live (TTL) fields expire. (Routing loops for specific +addresses can also be created, but this is less likely to occur +accidentally). + +Here are some examples of the route command: + +# Route datagrams to IP address 44.0.0.3 to SLIP line #0. +# No gateway is needed because SLIP is point-to point. +route add 44.0.0.3 sl0 + +# Route all default traffic to the gateway on the local Ethernet +# with IP address 44.0.0.1 +route add default ec0 44.0.0.1 + +# The local Ethernet has an ARPA Class-C address assignment; +# route all IP addresses beginning with 192.4.8 to it +route add 192.4.8/24 ec0 + +# The station with IP address 44.0.0.10 is on the local AX.25 channel +route add 44.0.0.10 ax0 + + + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 29 - + + +3.51.2. route addprivate [/bits] | default +[ []] + +This command is identical to route add except that it also marks +the new entry as private; it will never be included in outgoing +RIP updates. + +3.51.3. route drop + +route drop deletes an entry from the table. If a packet arrives +for the deleted address and a default route is in effect, it will +be used. + +3.52. session [] + +Without arguments, displays the list of current sessions, includ- +ing session number, remote TCP or AX.25 address and the address +of the TCP or AX.25 control block. An asterisk (*) is shown next +to the current session; entering a blank line at this point puts +you in converse mode with that session. Entering a session +number as an argument to the session command will put you in con- +verse mode with that session. If the Telnet server is enabled, +the user is notified of an incoming request and a session number +is automatically assigned. The user may then select the session +normally to converse with the remote user as though the session +had been locally initiated. + +3.53. shell + +Suspends net.exe and executes a sub-shell ("command processor" +under MS-DOS). When the sub-shell exits, net.exe resumes (under +MS-DOS, enter the exit command). Background activity (FTP +servers, etc) is also suspended while the subshell executes. Note +that this will fail unless there is sufficient unused memory for +the sub-shell and whatever command the user tries to run. + +3.54. smtp ... + +These commands are used for the Simple Message Transport Protocol +service (that is, mail). + +3.54.1. smtp gateway [] + +Displays or sets the host to be used as a "smart" mail relay. Any +mail sent to a host not in the host table will instead be sent to +the gateway for forwarding. + +3.54.2. smtp kick + +Run through the outgoing mail queue and attempt to deliver any +pending mail. This command allows the user to "kick" the mail +system manually. Normally, this command is periodically invoked +by a timer whenever net.exe is running. + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 30 - + + +3.54.3. smtp maxclients [] + +Displays or sets the maximum number of simultaneous outgoing SMTP +sessions that will be allowed. The default is 10; reduce it if +network congestion is a problem. + +3.54.4. smtp timer [] + +Displays or sets the interval between scans of the outbound mail +queue. For example, smtp timer 600 will cause the system to check +for outgoing mail every 10 minutes and attempt to deliver any- +thing it finds, subject of course to the smtp maxclients limit. +Setting a value of zero disables queue scanning altogether, note +that this is the default! This value is recommended for stand +alone IP gateways that never handle mail, since it saves wear and +tear on the floppy disk drive. + +3.54.5. smtp trace [] + +Displays or sets the trace flag in the SMTP client, allowing you +to watch SMTP's conversations as it delivers mail. Zero (the +default) disables tracing. + +3.55. socket [] + +Without an argument, displays all active sockets, giving their +index and type, the address of the associated protocol control +block and the and owner process ID and name. If the index to an +active socket is supplied, the status display for the appropriate +protocol is called. For example, if the socket refers to a TCP +connection, the display will be that given by the tcp status com- +mand with the protocol control block address. + +3.56. start ax25 | discard | echo | ftp | netrom | remote | smtp +| telnet | ttylink + +Start the specified Internet server, allowing remote connection +requests. + +3.57. stop ax25 | discard | echo | ftp | netrom | remote | smtp +| telnet | ttylink + +Stop the specified Internet server, rejecting any further remote +connect requests. Existing connections are allowed to complete +normally. + +3.58. tcp ... + +These commands are used for the Transmission Control Protocol +service. + +3.58.1. tcp irtt [] + +Display or set the initial round trip time estimate, in + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 31 - + + +milliseconds, to be used for new TCP connections until they can +measure and adapt to the actual value. The default is 5000 mil- +liseconds (5 seconds). Increasing this when operating over slow +channels will avoid the flurry of retransmissions that would oth- +erwise occur as the smoothed estimate settles down at the correct +value. Note that this command should be given before servers are +started in order for it to have effect on incoming connections. + +TCP also keeps a cache of measured round trip times and mean +deviations (MDEV) for current and recent destinations. Whenever a +new TCP connection is opened, the system first looks in this +cache. If the destination is found, the cached IRTT and MDEV +values are used. If not, the default IRTT value mentioned above +is used, along with a MDEV of 0. This feature is fully automatic, +and it can improve performance greatly when a series of connec- +tions are opened and closed to a given destination (eg. a series +of FTP file transfers or directory listings). + +3.58.2. tcp kick + +If there is unacknowledged data on the send queue of the speci- +fied TCB, this command forces an immediate retransmission. + +3.58.3. tcp mss [] + +Display or set the TCP Maximum Segment Size in bytes that will be +sent on all outgoing TCP connect request (SYN segments). This +tells the remote end the size of the largest segment (packet) it +may send. Changing MSS affects only future connections; existing +connections are unaffected. + +3.58.4. tcp reset + +Deletes the TCP control block at the specified address. + +3.58.5. tcp rtt + +Replaces the automatically computed round trip time in the speci- +fied TCB with the rtt in milliseconds. This command is useful to +speed up recovery from a series of lost packets since it provides +a manual bypass around the normal backoff retransmission timing +mechanisms. + +3.58.6. tcp status [] + +Without arguments, displays several TCP-level statistics, plus a +summary of all existing TCP connections, including TCB address, +send and receive queue sizes, local and remote sockets, and con- +nection state. If tcbaddr is specified, a more detailed dump of +the specified TCB is generated, including send and receive +sequence numbers and timer information. + + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 32 - + + +3.58.7. tcp window [] + +Displays or sets the default receive window size in bytes to be +used by TCP when creating new connections. Existing connections +are unaffected. + +3.59. telnet + +Creates a Telnet session to the specified host and enters con- +verse mode. + +3.60. tip + +Creates a tip session that connects to the specified interface in +"dumb terminal" mode. The interface must have already been +attached with the attach command. Any packet traffic (IP +datagrams, etc) routed to the interface while this session exists +will be discarded. To close a tip session, use the reset command. +It will then revert to normal slip, nrs or kiss mode operation. + +This feature is primarily useful for manually establishing SLIP +connections. At present, only the built-in "com" ports can be +used with this command. + +3.61. trace [ [off | []]] + +Controls packet tracing by the interface drivers. Specific bits +enable tracing of the various interfaces and the amount of infor- +mation produced. Tracing is controlled on a per-interface basis; +without arguments, trace gives a list of all defined interfaces +and their tracing status. Output can be limited to a single +interface by specifying it, and the control flags can be change +by specifying them as well. The flags are given as a hexadecimal +number which is interpreted as follows: + + O - Enable tracing of output packets if 1, disable if 0 + I - Enable tracing of input packets if 1, disable if 0 + T - Controls type of tracing: + 0 - Protocol headers are decoded, but data is not displayed + 1 - Protocol headers are decoded, and data (but not the + headers themselves) are displayed as ASCII characters, + 64 characters/line. Unprintable characters are displayed + as periods. + 2 - Protocol headers are decoded, and the entire packet + (headers AND data) is also displayed in hexadecimal + and ASCII, 16 characters per line. + B - Broadcast filter flag. If set, only packets specifically addressed + to this node will be traced; broadcast packets will not be displayed. + +If tracefile is not specified, tracing will be to the console. + +3.62. udp status + +Displays the status of all UDP receive queues. + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 33 - + + +3.63. upload [] + +Opens filename and sends it on the current session as though it +were typed on the terminal. + +3.64. watch + +Displays the current software stopwatch values, with min and max +readings for each. This facility allows a programmer to measure +the execution time of critical sections of code with microsecond +resolution. This command is supported only on the IBM PC, and the +meaning of each stopwatch value depends on where the calls have +been inserted for test purposes; the distribution copy of net.exe +usually has no stopwatch calls. + +3.65. ? + +Same as the help command. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 34 - + + +4. Attach Commands + +This chapter details the attach commands for the various hardware +interface drivers. Not all of these drivers may be configured +into every net.exe binary; a list of the available types may be +obtained by entering the command attach ?. + +Some parameters are accepted by several drivers. They are: + +4.0.1. + +For asynchronous devices (eg. COM ports operating in SLIP or NRS +mode) this parameter specifies the size of the receiver's ring +buffer. It should be large enough to hold incoming data at full +line speed for the longest time that the system may be busy in +MS-DOS or the BIOS doing a slow I/O operation (eg. to a floppy +disk). A kilobyte is usually more than sufficient. + +For synchronous devices (eg. the scc, hs, pc100, hapn and drsi +interfaces operating in HDLC mode), the bufsize parameter speci- +fies the largest packet that may be received on the interface. +This should be set by mutual agreement among stations sharing the +channel. For standard AX.25 with a maximum I-frame data size of +256 bytes, a value of 325 should provide an adequate safety mar- +gin. On higher speed channels (eg. 56kb/s) larger values (eg. 2K +bytes) will provide much better performance and allow full-sized +Ethernet packets to be carried without fragmentation. + +4.0.2. + +The base address of the interface's control registers, in hex. + +4.0.3. + +The interface's hardware interrupt (IRQ) vector, in hex. + +4.0.4. + +The name (an arbitrary character string) to be assigned to this +interface. It is used to refer to the interface in ifconfig and +route commands and in trace output. + +4.0.5. + +The Maximum Transmission Unit size, in bytes. Datagrams larger +than this limit will be fragmented at the IP layer into smaller +pieces. For AX.25 UI frames, this limits the size of the informa- +tion field. For AX.25 I frames, however, the ax25 paclen parame- +ter is also relevant. If the datagram or fragment is still +larger than paclen, it is also fragmented at the AX.25 level (as +opposed to the IP level) before transmission. (See the ax25 +paclen command for further information). + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 35 - + + +4.0.6. + +The speed in bits per second (eg. 2400). + +4.1. attach 3c500 arpa +[] + +Attach a 3Com 3C501 Ethernet interface. qlen is the maximum +allowable transmit queue length. If the ipaddr parameter is not +given, the value associated with a prior ip address command will +be used. + +The use of this driver is not recommended; use the packet driver +interface with the loadable 3C501 packet driver instead. + +4.2. attach asy ax25 | nrs | ppp | slip + [] + +Attach a standard PC "com port" (asynchronous serial port), using +the National 8250 or 16550A chip. Standard values on the IBM PC +and clones for ioaddr and vector are 0x3f8 and 4 for COM1, and +0x2f8 and 3 for COM2. If the port uses a 16550A chip, it will be +detected automatically and the FIFOs enabled. + +4.2.1. ax25 + +Similar to slip, except that an AX.25 header and a KISS TNC con- +trol header are added to the front of the datagram before SLIP +encoding. Either UI (connectionless) or I (connection-oriented) +AX.25 frames can be used; see the mode command for details. + +4.2.2. nrs + +Use the NET/ROM asynchronous framing technique for communication +with a local NET/ROM TNC. + +4.2.3. ppp + +Point-to-Point-Protocol. Encapsulates datagrams in an HDLC-like +frame. This is a new Internet standard for point-to-point commun- +ication, compatible with CCITT standards. + +4.2.4. slip + +Serial Line Internet Protocol. Encapsulates IP datagrams directly +in SLIP frames without a link header. This is for operation on +point-to-point lines and is compatible with 4.2BSD UNIX SLIP. + +4.2.5. + +The optional flags are a string of characters "crv": c enables +RTS/CTS detection, r enables RLSD (Carrier Detect) physical line +sensing, v enables Van Jacobson TCP/IP Header Compression, and is +valid only for SLIP. + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 36 - + + +4.3. attach drsi ax25 + + +N6TTO driver for the Digital Radio Systems PCPA 8530 card. Since +there are two channels on the board, two interfaces are attached. +They will be named iface with 'a' and 'b' appended. bufsize is +the receiver buffer size in bytes; it must be larger than the +largest frame to be received. chaspeed and chbspeed are the +speeds, in bits/sec, for the A and B channels, respectively. + +4.4. attach eagle ax25 + + +WA3CVG/NG6Q driver for the Eagle Computer card (Zilog 8530). + +4.5. attach hapn ax25 +csma | full + +KE3Z driver for the Hamilton Amateur Packet Network adapter +(Intel 8273). The csma | full parameter specifies whether the +port should operate in carrier sense multiple access (CSMA) mode +or in full duplex. + +4.6. attach hs ax25 +

      + +Attach a DRSI PCPA or Eagle Computer interface card using a spe- +cial "high speed" 8530 driver. This driver uses busy-wait loops +to send and receive each byte instead of interrupts, making it +usable with high speed modems (such as the WA4DSY 56kb/s modem) +on slow systems. This does have the side effect of "freezing" the +system whenever the modem transmitter or receiver is active. This +driver can operate only in CSMA mode, and it is recommended that +no other interfaces requiring small interrupt latencies be +attached to the same machine. + +The keyupdelay parameter specifies the transmitter keyup delay +in byte time intervals. The p value specifies the transmitter +persistence value in the range 1-255; the corresponding slot time +is fixed at one hardware clock tick, about 55 ms on the PC. + +As with the other 8530 drivers, this driver actually attaches two +interfaces, one for each 8530 channel. + +4.7. attach packet + +Driver for use with separate software "packet drivers" meeting +the FTP Software, Inc, Software Packet Driver specification. The +driver must have already been installed before the attach command +is given. Packet drivers in the Ethernet, ARCNET, SLIP, SLFP, and +KISS/AX25 classes are supported. + +intvec is the software interrupt vector used for communication to +the packet driver, and txqlen is the maximum number of packets + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 37 - + + +that will be allowed on the transmit queue. + +4.8. attach pc100 ax25 + + +Driver for the PACCOMM PC-100 (Zilog 8530) card. Only AX.25 +operation is supported. + +4.9. attach scc init + [p|r] [] [] + +PE1CHL driver to initialize a generic SCC (8530) interface board +prior to actually attaching it. The parameters are as follows: + +4.9.1. + +The number of SCC chips to support. + +4.9.2. + +The base address of the first SCC chip (hex). + +4.9.3. + +The spacing between the SCC chip base addresses. + +4.9.4. + +The offset from a chip's base address to its channel A control +register. + +4.9.5. + +The offset from a chip's base address to its channel B control +register. + +4.9.6. + +The offset from each channel's control register to its data +register. + +4.9.7. + +The address of the INTACK/Read Vector port. If none, specify 0 to +read from RR3A/RR2B. + +4.9.8. + +The CPU interrupt vector for all connected SCCs. + +4.9.9. + +The clock frequency (PCLK/RTxC) of all SCCs in hertz. Prefix with +'p' for PCLK, 'r' for RTxC clock (for baudrate gen). + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 38 - + + +4.9.10. + +Optional hardware type. The following values are currently sup- +ported: 1 - Eagle card, 2 - PACCOMM PC-100, 4 - PRIMUS-PC card +(DG9BL), 8 - DRSI PCPA card. + +4.9.11. + +Optional extra parameter. At present, this is used only with the +PC-100 and PRIMUS-PC cards to set the modem mode. The value 0x22 +is used with the PC-100 and 0x2 is used with the PRIMUS-PC card. + +The attach scc ... init command must be given before the inter- +faces are actually attached with the following command. + +4.10. attach scc slip | kiss | nrs | ax25 + [] + +Attach an initialized SCC port to the system. The parameters are +as follows: + +4.10.1. + +The SCC channel number to attach, 0 or 1 for the first chip's A +or B port, 2 or 3 for the second chip's A or B port, etc. + +4.10.2. slip | kiss | nrs | ax25 + +The operating mode of the interface. slip, kiss and nrs all +operate the port hardware in asynchronous mode; slip is +Internet-standard serial line IP mode, kiss generates SLIP frames +containing KISS TNC commands and AX.25 packets and nrs uses +NET/ROM local serial link framing conventions to carry NET/ROM +packets. Selecting ax25 mode puts the interface into synchronous +HDLC mode that is suitable for direct connection to a half duplex +radio modem. + +4.10.3. + +The interface speed in bits per second (eg. 1200). Prefix with +'d' when an external divider is available to generate the TX +clock. When the clock source is PCLK, this can be a /32 divider +between TRxC and RTxC. When the clock is at RTxC, the TX rate +must be supplied at TRxC. This is needed only for full duplex +synchronous operation. When this arg is given as 'ext', the +transmit and receive clocks are external, and the internal baud +rate generator (BRG) and digital phase locked loop (DPLL) are not +used. + +4.11. Attach Examples + +Here are some examples of the attach command: + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 39 - + + + +# Attach a 3Com Ethernet controller using the standard 3Com address and +# vector (i.e., as it comes out of the box) to use ARPA-standard encapsulation. +# The receive queue is limited to 5 packets, and outgoing packets larger +# than 1500 bytes will be fragmented +attach 3c500 0x300 3 arpa ec0 5 1500 + +# Attach the PC asynch card normally known as "com1" (the first controller) +# to operate in point-to-point slip mode at 9600 baud, calling it "sl0". +# A 1024 byte receiver ring buffer is allocated. Outgoing packets larger +# than 256 bytes are fragmented. +attach asy 0x3f8 4 slip sl0 1024 256 9600 + +# Attach the secondary PC asynch card ("com2") to operate in AX.25 mode +# with an MTU of 576 bytes at 9600 baud with a KISS TNC, calling it "ax0". +# By default, IP datagrams are sent in UI frames +attach asy 0x2f8 3 ax25 ax0 1024 576 9600 + +# Attach the packet driver loaded at interrupt 0x7e +# The packet driver is for an Ethernet interface +attach packet 0x7e ethernet 8 1500 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 40 - + + +5. FTP Subcommands + +During converse mode with an FTP server, everything typed on the +console is first examined to see if it is a locally-known com- +mand. If not, the line is passed intact to the remote server on +the control channel. If it is one of the following commands, how- +ever, it is executed locally. (Note that this generally involves +other commands being sent to the remote server on the control +channel.) + +5.1. dir [ | []] + +Without arguments, dir requests that a full directory listing of +the remote server's current directory be sent to the terminal. +If one argument is given, this is passed along in the LIST com- +mand; this can be a specific file or subdirectory that is mean- +ingful to the remote file system. If two arguments are given, the +second is taken as the local file into which the directory list- +ing should be put (instead of being sent to the console). The +PORT command is used before the LIST command is sent. + +5.2. get [] + +Asks the remote server to send the file specified in the first +argument. The second argument, if given, will be the name of the +file on the local machine; otherwise it will have the same name +as on the remote machine. The PORT and RETR commands are sent on +the control channel. + +5.3. hash + +A synonym for the verbose 3 command. + +5.4. ls [ | []] + +ls is identical to the dir command except that the "NLST" command +is sent to the server instead of the "LIST" command. This results +in an abbreviated directory listing, i.e., one showing only the +file names themselves without any other information. + +5.5. mget [ ...] + +Fetch a collection of files from the server. File names may +include wild card characters; they will be interpreted and +expanded into a list of files by the remote system using the NLST +command. The files will have the same name on the local system +that they had on the server. + +5.6. mkdir + +Creates a directory on the remote machine. + + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 41 - + + +5.7. mput [ ...] + +Send a collection of files to the server. File names may include +wild card characters; they will be expanded locally into a list +of files to be sent. The files will have the same name on the +server as on the local system. + +5.8. put [] + +Asks the remote server to accept data, creating the file named in +the first argument. The second argument, if given, will be the +name of the file on the remote machine; otherwise it will have +the same name as on the local machine. The PORT and STOR com- +mands are sent on the control channel. + +5.9. rmdir + +Deletes a directory on the remote machine. + +5.10. type [a | i | l ] + +Tells both the local client and remote server the type of file +that is to be transferred. The default is 'a', which means ASCII +(i.e., a text file). Type 'i' means image, i.e., binary. In +ASCII mode, files are sent as varying length lines of text in +ASCII separated by cr/lf sequences; in IMAGE mode, files are sent +exactly as they appear in the file system. ASCII mode should be +used whenever transferring text between dissimilar systems (eg. +UNIX and MS-DOS) because of their different end-of-line and/or +end-of-file conventions. When exchanging text files between +machines of the same type, either mode will work but IMAGE mode +is usually faster. Naturally, when exchanging raw binary files +(executables, compressed archives, etc) IMAGE mode must be used. +Type 'l' (logical byte size) is used when exchanging binary files +with remote servers having oddball word sizes (eg. DECSYSTEM-10s +and 20s). Locally it works exactly like IMAGE, except that it +notifies the remote system how large the byte size is. bytesize +is typically 8. The type command sets the local transfer mode and +generates the TYPE command on the control channel. + +5.11. verbose [0 | 1 | 2 | 3] + +Set or display the level of message output in file transfers. +Verbose 0 gives the least output, and verbose 3 the most, as fol- +lows: + +0 - Display error messages only. +1 - Display error messages plus a one-line summary after each transfer + giving the name of the file, its size, and the transfer time and rate. +2 - Display error and summary messages plus the progress messages generated + by the remote FTP server. (This setting is the default.) +3 - Display all messages. In addition, a "hash mark" (#) is displayed for + every 1,000 bytes sent or received. + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 42 - + + +If a command is sent to the remote server because it is not +recognized locally, the response is always displayed, regardless +of the setting of verbose. This is necessary for commands like +pwd (display working directory), which would otherwise produce no +message at all if verbose were set to 0 or 1. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 43 - + + +6. Dialer Subcommands + +Each dialer command may (should) have a different dialer file. +The file resides in the configuration directory, as specified in +the Installation section (see chapter 1). A typical dialer file +might be: + + # Set the speed, and toggle DTR to ensure modem is in command mode. + control down + wait 3000 + speed 2400 + control up + wait 3000 + # Dial, and wait for connection + send "atdt555-12127" + wait 45000 "CONNECT " speed + wait 2000 + # PAD specific initialization + send "7" + wait 15000 "Terminal =" + send "ppp7" + wait 10000 "70 + + +6.0.1. control down | up + +Control asy interface. The down option drops DTR and RTS. The up +option asserts DTR and RTS. + +6.0.2. send "string" + +This dialer command will write the specified string to the inter- +face. The string quote marks are required, and the string may not +contain embedded control characters. However, the standard C +string escape sequences are recognized (\0 should not be used). + +6.0.3. speed [ 9600 | 4800 | 2400 | 1200 | 300 ] + +This dialer command will set the speed of the interface to one of +the available speeds. If the speed is missing, the speed will be +displayed in the dialer session window. + +6.0.4. wait [ "test string" ] [ speed ] + +If only the time is specified, the dialer pauses for the desired +number of milliseconds. + +Otherwise, the dialer reads until the test string is detected on +the interface. If the string is not detected within the desired +time, the autodialer will reset. The string quote marks are +required, and the string may not contain embedded control charac- +ters. However, the standard C string escape sequences are recog- +nized (\0 should not be used). + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 44 - + + +Finally, if the speed parameter is specified, the dialer will +continue to read characters until a non-digit is detected. The +string read is converted to an integer, and used to set the +interface speed. If the trailing non-digit is not detected within +the desired time, or the integer value is not a valid speed, the +autodialer will reset. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 45 - + + +7. The /ftpusers File + +Since MS-DOS is a single-user operating system (some might say it +is a glorified bootstrap loader), it provides no access control; +all files can be read, written or deleted by the local user. It +is usually undesirable to give such open access to a system to +remote network users. Net.exe therefore provides its own access +control mechanisms. + +The file /ftpusers controls remote FTP and mailbox access. The +FTP default is no access; if this file does not exist, the FTP +server will be unusable. A remote user must first "log in" to +the system with the USER and PASS commands, giving a valid name +and password listed in /ftpusers, before he or she can transfer +files. + +Each entry in /ftpusers consists of a single line of the form + +username password /path permissions + + +There must be exactly four fields, and there must be exactly one +space between each field. Comments may be added after the last +field. Comment lines begin with '#' in column one. + +username is the user's login name. + +password is the required password. Note that this is in plain +text; therefore it is not a good idea to give general read per- +mission to the root directory. A password of '*' (a single +asterisk) means that any password is acceptable. + +/path is the allowable prefix on accessible files. Before any +file or directory operation, the current directory and the user- +specified file name are joined to form an absolute path name in +"canonical" form (i.e., a full path name starting at the root, +with "./" and "../" references, as well as redundant /'s, recog- +nized and removed). The result MUST begin with the allowable path +prefix; if not, the operation is denied. This field must always +begin with a "/", i.e., at the root directory. + +permissions is a decimal number granting permission for read, +create and write operations. If the low order bit (0x1) is set, +the user is allowed to read a file subject to the path name pre- +fix restriction. If the next bit (0x2) is set, the user is +allowed to create a new file if it does not overwrite an existing +file. If the third bit (0x4) is set, the user is allowed to +write a file even if it overwrites an existing file, and in addi- +tion he may delete files. Again, all operations are allowed sub- +ject to the path name prefix restrictions. Permissions may be +combined by adding bits, for example, 0x3 (= 0x2 + 0x1) means +that the user is given read and create permission, but not +overwrite/delete permission. + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 46 - + + +For example, suppose /ftpusers on machine pc.ka9q.ampr.org con- +tains the line + +friendly test /testdir 7 + + +A session using this account would look like this: + +net> ftp pc.ka9q.ampr.org +Resolving pc.ka9q.ampr.org... Trying 128.96.160.1... +FTP session 1 connected to pc.ka9q.ampr.org +220 pc.ka9q.ampr.org FTP version 900418 ready at Mon May 7 16:27:18 1990 +Enter user name: friendly +331 Enter PASS command +Password: test [not echoed] +230 Logged in +ftp> + + +The user now has read, write, overwrite and delete privileges for +any file under /testdir; he may not access any other files. + +Here are some more sample entries in /ftpusers: + +karn foobar / 7 # User "karn" with password "foobar" may read, + # write, overwrite and delete any file on the + # system. + +guest bletch /g/bogus 3 # User "guest" with password "bletch" may read + # any file under /g/bogus and its subdirectories, + # and may create a new file as long as it does + # not overwrite an existing file. He may NOT + # delete any files. + +anonymous * /public 1 # User "anonymous" (any password) may read files + # under /public and its subdirectories; he may + # not create, overwrite or delete any files. + + +This last entry is the standard convention for keeping a reposi- +tory of public files; in particular, the username "anonymous" is +an established ARPA convention. + + + + + + + + + + + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 47 - + + +8. The domain.txt File + +Net.exe translates domain names (eg. "pc.ka9q.ampr.org") to IP +addresses (eg. 128.96.160.3) through the use of an Internet +Domain Name resolver and a local "cache" file, domain.txt. When- +ever the user specifies a domain name, the local cache is +searched for the desired entry. If it is present, it is used; if +not, and if domain name server(s) have been configured, a query +is sent over the network to the current server. If the server +responds, the answer is added to the domain.txt file for future +use. If the server does not respond, any additional servers on +the list are tried in a round-robin fashion until one responds, +or the retry limit is reached (see the domain retry command). If +domain.txt does not contain the desired entry and there are no +configured domain name servers, then the request immediately +fails. + +If a domain name server is available, and if all references to +host-ids in your /autoexec.net file are in IP address format, +then it is possible to start with a completely empty domain.txt +file and have net.exe build it for you. However, you may wish to +add your own entries to domain.txt, either because you prefer to +use symbolic domain names in your /autoexec.net file or you don't +have access to a domain server and you need to create entries for +all of the hosts you may wish to access. + +Each entry takes one line, and the fields are separated by any +combination of tabs or spaces. For example: + +pc.ka9q.ampr.org. IN A 128.96.160.3 + +IN is the class of the record. It means Internet, and it will be +found in all entries. A is the type of the record, and it means +that this is an address record. Domain name pc.ka9q.ampr.org +therefore has Internet address 128.96.160.3. + +Another possible entry is the CNAME (Canonical Name) record. For +example: + +ka9q.ampr.org. IN CNAME pc.ka9q.ampr.org. + +This says that domain name "ka9q.ampr.org" is actually an alias +for the system with (primary, or canonical) domain name +"pc.ka9q.ampr.org." When a domain name having a CNAME record is +given to net.exe, the system automatically follows the reference +to the canonical name and returns the IP address associated with +that entry. + +Entries added automatically by net.exe will have an additional +field between the domain name and the class (IN) field. For +example: + +pc.ka9q.ampr.org. 3600 IN A 128.96.160.3 + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 48 - + + +This is the time-to-live value, in seconds, associated with the +record received from the server. Clients (such as net.exe) cach- +ing these records are supposed to delete them after the time-to- +live interval has expired, allowing for the possibility that the +information in the record may become out of date. + +This implementation of net.exe will decrement the TTL to zero, +but will not delete the record unless the "clean" flag is on (see +the domain cache clean command). When a remote server is not +available, the old entry will be used. + +When the TTL value is missing (as in the examples above), the +record will never expire, and must be managed by hand. Since +domain.txt is a plain text file, it may be easily edited by the +user to add, change or delete records. + +Additional types of records, include NS (name server) and SOA +(start of authority) may appear in domain.txt from remote server +responses. These are not currently used by net.exe but are +retained for future development (such as the incorporation of a +domain name server into net.exe itself). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 49 - + + +9. Setting Bufsize, Paclen, Maxframe, MTU, MSS and Window + +Many net.exe users are confused by these parameters and do not +know how to set them properly. This chapter will first review +these parameters and then discuss how to choose values for them. +Special emphasis is given to avoiding interoperability problems +that may appear when communicating with non-net.exe implementa- +tions of AX.25. + +9.1. Hardware Parameters + + +9.1.1. Bufsize + +This parameter is required by most of net.exe's built-in HDLC +drivers (eg. those for the DRSI PCPA and the Paccomm PC-100). It +specifies the size of the buffer to be allocated for each +receiver port. HDLC frames larger than this value cannot be +received. + +There is no default bufsize; it must be specified in the attach +command for the interface. + +9.2. AX25 Parameters + +9.2.1. Paclen + +Paclen limits the size of the data field in an AX.25 I-frame. +This value does not include the AX.25 protocol header (source, +destination and digipeater addresses). + +Since unconnected-mode (datagram) AX.25 uses UI frames, this +parameter has no effect in unconnected mode. + +The default value of paclen is 256 bytes. + +9.2.2. Maxframe + +This parameter controls the number of I-frames that net.exe may +send on an AX.25 connection before it must stop and wait for an +acknowledgement. Since the AX.25/LAPB sequence number field is 3 +bits wide, this number cannot be larger than 7. + +Since unconnected-mode (datagram) AX.25 uses UI frames that do +not have sequence numbers, this parameter does not apply to +unconnected mode. + +The default value of maxframe in net.exe is 1 frame. + +9.3. IP and TCP Parameters + +9.3.1. MTU + +The MTU (Maximum Transmission Unit) is an interface parameter + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 50 - + + +that limits the size of the largest IP datagram that it may han- +dle. IP datagrams routed to an interface that are larger than +its MTU are each split into two or more fragments. Each fragment +has its own IP header and is handled by the network as if it were +a distinct IP datagram, but when it arrives at the destination it +is held by the IP layer until all of the other fragments belong- +ing to the original datagram have arrived. Then they are reassem- +bled back into the complete, original IP datagram. The minimum +acceptable interface MTU is 28 bytes: 20 bytes for the IP (frag- +ment) header, plus 8 bytes of data. + +There is no default MTU in net.exe; it must be explicitly speci- +fied for each interface as part of the attach command. + +9.3.2. MSS + +MSS (Maximum Segment Size) is a TCP-level parameter that limits +the amount of data that the remote TCP will send in a single TCP +packet. MSS values are exchanged in the SYN (connection request) +packets that open a TCP connection. In the net.exe implementation +of TCP, the MSS actually used by TCP is further reduced in order +to avoid fragmentation at the local IP interface. That is, the +local TCP asks IP for the MTU of the interface that will be used +to reach the destination. It then subtracts 40 from the MTU value +to allow for the overhead of the TCP and IP headers. If the +result is less than the MSS received from the remote TCP, it is +used instead. + +The default value of MSS is 512 bytes. + +9.3.3. Window + +This is a TCP-level parameter that controls how much data the +local TCP will allow the remote TCP to send before it must stop +and wait for an acknowledgement. The actual window value used by +TCP when deciding how much more data to send is referred to as +the effective window. This is the smaller of two values: the win- +dow advertised by the remote TCP minus the unacknowledged data in +flight, and the congestion window, an automatically computed +time-varying estimate of how much data the network can handle. + +The default value of Window is 2048 bytes. + +9.4. Discussion + + +9.4.1. IP Fragmentation vs AX.25 Segmentation + +IP-level fragmentation often makes it possible to interconnect +two dissimilar networks, but it is best avoided whenever possi- +ble. One reason is that when a single IP fragment is lost, all +other fragments belonging to the same datagram are effectively +also lost and the entire datagram must be retransmitted by the +source. Even without loss, fragments require the allocation of + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 51 - + + +temporary buffer memory at the destination, and it is never easy +to decide how long to wait for missing fragments before giving up +and discarding those that have already arrived. A reassembly +timer controls this process. In net.exe it is (re)initialized +with the ip rtimer parameter (default 30 seconds) whenever pro- +gress is made in reassembling a datagram (i.e., a new fragment is +received). It is not necessary that all of the fragments belong- +ing to a datagram arrive within a single timeout interval, only +that the interval between fragments be less than the timeout. + +Most subnetworks that carry IP have MTUs of 576 bytes or more, so +interconnecting them with subnetworks having smaller values can +result in considerable fragmentation. For this reason, IP imple- +mentors working with links or subnets having unusually small +packet size limits are encouraged to use transparent fragmenta- +tion, that is, to devise schemes to break up large IP datagrams +into a sequence of link or subnet frames that are immediately +reassembled on the other end of the link or subnet into the ori- +ginal, whole IP datagram without the use of IP-level fragmenta- +tion. Such a scheme is provided in AX.25 Version 2.1. It can +break a large IP or NET/ROM datagram into a series of paclen- +sized AX.25 segments (not to be confused with TCP segments), one +per AX.25 I-frame, for transmission and reassemble them into a +single datagram at the other end of the link before handing it up +to the IP or NET/ROM module. Unfortunately, the segmentation +procedure is a new feature in AX.25 and is not yet widely imple- +mented; in fact, net.exe is so far the only known implementation. +This creates some interoperability problems between net.exe and +non-net.exe nodes, in particular, standard NET/ROM nodes being +used to carry IP datagrams. This problem is discussed further in +the section on setting the MTU. + +9.4.2. Setting paclen and bufsize + +The more data you put into an AX.25 I frame, the smaller the +AX.25 headers are in relation to the total frame size. In other +words, by increasing paclen, you lower the AX.25 protocol over- +head. Also, large data packets reduce the overhead of keying up a +transmitter, and this can be an important factor with higher +speed modems. On the other hand, large frames make bigger targets +for noise and interference. Each link has an optimum value of +paclen that is best discovered by experiment. + +Another thing to remember when setting paclen is that the AX.25 +version 2.0 specification limits it to 256 bytes. Although +net.exe can handle much larger values, some other AX.25 implemen- +tations (including digipeaters) cannot and this may cause intero- +perability problems. Even net.exe may have trouble with certain +KISS TNCs because of fixed-size buffers. The original KISS TNC +code for the TNC-2 by K3MC can handle frames limited in size only +by the RAM in the TNC, but some other KISS TNCs cannot. + +Net.exe's built-in HDLC drivers (SCC, PC-100, DRSI, etc) allocate +receive buffers according to the maximum expected frame size, so + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 52 - + + +it is important that these devices be configured with the correct +bufsize. To do this, you must know the size of the largest possi- +ble frame that can be received. The paclen parameter controls +only the size of the data field in an I-frame and not the total +size of the frame as it appears on the air. The AX.25 spec allows +up to 8 digipeaters, so the largest possible frame is (paclen + +72) bytes. So you should make bufsize at least this large. + +Another important consideration is that the more recent versions +of NOS improve interrupt response by maintaining a special pool +of buffers for use by the receive routines. These buffers are +currently fixed in size to 2048 bytes and this can be changed +only by editing config.h and recompiling NOS. This limits buf- +size; in fact, attempting to set a larger value may cause the +driver not to work at all. This situation can be detected by run- +ning the memory status command and looking for a non-zero count +of Ibuffail events, although these events can also occur occa- +sionally during normal operation. + +One of the drawbacks of AX.25 that there is no way for one sta- +tion to tell another how large a packet it is willing to accept. +This requires the stations sharing a channel to agree beforehand +on a maximum packet size. TCP is different, as we shall see. + +9.4.3. Setting Maxframe + +For best performance on a half-duplex radio channel, maxframe +should always be set to 1. The reasons are explained in the paper +Link Level Protocols Revisited by Brian Lloyd and Phil Karn, +which appeared in the proceedings of the ARRL 5th Computer Net- +working Conference in 1986. + +9.4.4. Setting MTU + +TCP/IP header overhead considerations similar to those of the +AX.25 layer when setting paclen apply when choosing an MTU. How- +ever, certain subnetwork types supported by net.exe have well- +established MTUs, and these should always be used unless you know +what you're doing: 1500 bytes for Ethernet, and 508 bytes for +ARCNET. The MTU for PPP is automatically negotiated, and defaults +to 1500. Other subnet types, including SLIP and AX.25, are not as +well standardized. + +SLIP has no official MTU, but the most common implementation (for +BSD UNIX) uses an MTU of 1006 bytes. Although net.exe has no +hard wired limit on the size of a received SLIP frame, this is +not true for other systems. Interoperability problems may there- +fore result if larger MTUs are used in net.exe. + +Choosing an MTU for an AX.25 interface is more complex. When the +interface operates in datagram (UI-frame) mode, the paclen param- +eter does not apply. The MTU effectively becomes the paclen of +the link. However, as mentioned earlier, large packets sent on +AX.25 connections are automatically segmented into I-frames no + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 53 - + + +larger than paclen bytes. Unfortunately, as also mentioned ear- +lier, net.exe is so far the only known implementation of the new +AX.25 segmentation procedure. This is fine as long as all of the +NET/ROM nodes along a path are running net.exe, but since the +main reason net.exe supports NET/ROM is to allow use of existing +NET/ROM networks, this is unlikely. + +So it is usually important to avoid AX.25 segmentation when run- +ning IP over NET/ROM. The way to do this is to make sure that +packets larger than paclen are never handed to AX.25. A NET/ROM +transport header is 5 bytes long and a NET/ROM network header +takes 15 bytes, so 20 bytes must be added to the size of an IP +datagram when figuring the size of the AX.25 I-frame data field. +If paclen is 256, this leaves 236 bytes for the IP datagram. This +is the default MTU of the netrom pseudo-interface, so as long as +paclen is at least 256 bytes, AX.25 segmentation can't happen. +But if smaller values of paclen are used, the netrom MTU must +also be reduced with the ifconfig command. + +On the other hand, if you're running IP directly on top of AX.25, +chances are all of the nodes are running net.exe and support +AX.25 segmentation. In this case there is no reason not to use a +larger MTU and let AX.25 segmentation do its thing. If you choose +an MTU on the order of 1000-1500 bytes, you can largely avoid +IP-level fragmentation and reduce TCP/IP-level header overhead on +file transfers to a very low level. And you are still free to +pick whatever paclen value is appropriate for the link. + +9.4.5. Setting MSS + +The setting of this TCP-level parameter is somewhat less critical +than the IP and AX.25 level parameters already discussed, mainly +because it is automatically lowered according to the MTU of the +local interface when a connection is created. Although this is, +strictly speaking, a protocol layering violation (TCP is not sup- +posed to have any knowledge of the workings of lower layers) this +technique does work well in practice. However, it can be fooled; +for example, if a routing change occurs after the connection has +been opened and the new local interface has a smaller MTU than +the previous one, IP fragmentation may occur in the local system. + +The only drawback to setting a large MSS is that it might cause +avoidable fragmentation at some other point within the network +path if it includes a "bottleneck" subnet with an MTU smaller +than that of the local interface. (Unfortunately, there is +presently no way to know when this is the case. There is ongoing +work within the Internet Engineering Task Force on a "MTU +Discovery" procedure to determine the largest datagram that may +be sent over a given path without fragmentation, but it is not +yet complete.) Also, since the MSS you specify is sent to the +remote system, and not all other TCPs do the MSS-lowering pro- +cedure yet, this might cause the remote system to generate IP +fragments unnecessarily. + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 54 - + + +On the other hand, a too-small MSS can result in a considerable +performance loss, especially when operating over fast LANs and +networks that can handle larger packets. So the best value for +MSS is probably 40 less than the largest MTU on your system, with +the 40-byte margin allowing for the TCP and IP headers. For exam- +ple, if you have a SLIP interface with a 1006 byte MTU and an +Ethernet interface with a 1500 byte MTU, set MSS to 1460 bytes. +This allows you to receive maximum-sized Ethernet packets, assum- +ing the path to your system does not have any bottleneck subnets +with smaller MTUs. + +9.4.6. Setting Window + +A sliding window protocol like TCP cannot transfer more than one +window's worth of data per round trip time interval. So this +TCP-level parameter controls the ability of the remote TCP to +keep a long "pipe" full. That is, when operating over a path with +many hops, offering a large TCP window will help keep all those +hops busy when you're receiving data. On the other hand, offering +too large a window can congest the network if it cannot buffer +all that data. Fortunately, new algorithms for dynamic control- +ling the effective TCP flow control window have been developed +over the past few years and are now widely deployed. Net.exe +includes them, and you can watch them in action with the tcp +status or socket commands. Look at the cwind +(congestion window) value. + +In most cases it is safe to set the TCP window to a small integer +multiple of the MSS (eg. 4 times), or larger if necessary to +fully utilize a high bandwidth*delay product path. One thing to +keep in mind, however, is that advertising a certain TCP window +value declares that the system has that much buffer space avail- +able for incoming data. Net.exe does not actually preallocate +this space; it keeps it in a common pool and may well "overbook" +it, exploiting the fact that many TCP connections are idle for +long periods and gambling that most applications will read incom- +ing data from an active connection as soon as it arrives, thereby +quickly freeing the buffer memory. However, it is possible to run +net.exe out of memory if excessive TCP window sizes are adver- +tised and either the applications go to sleep indefinitely (eg. +suspended Telnet sessions) or a lot of out-of-sequence data +arrives. It is wise to keep an eye on the amount of available +memory and to decrease the TCP window size (or limit the number +of simultaneous connections) if it gets too low. + +Depending on the channel access method and link level protocol, +the use of a window setting that exceeds the MSS may cause an +increase in channel collisions. In particular, collisions between +data packets and returning acknowledgements during a bulk file +transfer may become common. Although this is, strictly speaking, +not TCP's fault, it is possible to work around the problem at the +TCP level by decreasing the window so that the protocol operates +in stop-and-wait mode. This is done by making the window value +equal to the MSS. + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + + + + + - 55 - + + +9.5. Summary + +In most cases, the default values provided by net.exe for each of +these parameters will work correctly and give reasonable perfor- +mance. Only in special circumstances such as operation over a +very poor link or experimentation with high speed modems should +it be necessary to change them. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +updated by Bill Simpson April 15, 1991 March 3, 1991 + + diff --git a/src/nos/doc/man_9106/CVS/Entries b/src/nos/doc/man_9106/CVS/Entries new file mode 100644 index 00000000..a7a87f2b --- /dev/null +++ b/src/nos/doc/man_9106/CVS/Entries @@ -0,0 +1,2 @@ +/KA9QNOS.TXT/1.1.1.1/Mon Nov 17 19:06:20 2003// +D diff --git a/src/nos/doc/man_9106/CVS/Repository b/src/nos/doc/man_9106/CVS/Repository new file mode 100644 index 00000000..dec6a560 --- /dev/null +++ b/src/nos/doc/man_9106/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/doc/man_9106 diff --git a/src/nos/doc/man_9106/CVS/Root b/src/nos/doc/man_9106/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/doc/man_9106/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/doc/rurtcp/CVS/Entries b/src/nos/doc/rurtcp/CVS/Entries new file mode 100644 index 00000000..c44822e0 --- /dev/null +++ b/src/nos/doc/rurtcp/CVS/Entries @@ -0,0 +1,3 @@ +/FILE_ID.DIZ/1.1.1.1/Mon Nov 17 19:06:20 2003// +/RURTCPP.ZIP/1.1.1.1/Mon Nov 17 19:06:20 2003/-kb/ +D/rurtcpp//// diff --git a/src/nos/doc/rurtcp/CVS/Repository b/src/nos/doc/rurtcp/CVS/Repository new file mode 100644 index 00000000..e8d8e4e1 --- /dev/null +++ b/src/nos/doc/rurtcp/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/doc/rurtcp diff --git a/src/nos/doc/rurtcp/CVS/Root b/src/nos/doc/rurtcp/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/doc/rurtcp/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/doc/rurtcp/rurtcpp/CVS/Entries b/src/nos/doc/rurtcp/rurtcpp/CVS/Entries new file mode 100644 index 00000000..5e3a26ca --- /dev/null +++ b/src/nos/doc/rurtcp/rurtcpp/CVS/Entries @@ -0,0 +1,2 @@ +/RURTCP.EXE/1.1.1.1/Mon Nov 17 19:06:20 2003/-kb/ +D diff --git a/src/nos/doc/rurtcp/rurtcpp/CVS/Repository b/src/nos/doc/rurtcp/rurtcpp/CVS/Repository new file mode 100644 index 00000000..753258eb --- /dev/null +++ b/src/nos/doc/rurtcp/rurtcpp/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/doc/rurtcp/rurtcpp diff --git a/src/nos/doc/rurtcp/rurtcpp/CVS/Root b/src/nos/doc/rurtcp/rurtcpp/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/doc/rurtcp/rurtcpp/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/drivers/CVS/Entries b/src/nos/drivers/CVS/Entries new file mode 100644 index 00000000..e6e22d5c --- /dev/null +++ b/src/nos/drivers/CVS/Entries @@ -0,0 +1,11 @@ +/arcnet.c/1.1.1.1/Mon Nov 17 19:06:20 2003// +/dma.c/1.1.1.1/Mon Nov 17 19:06:20 2003// +/drsi.c/1.1.1.1/Mon Nov 17 19:06:20 2003// +/eagle.c/1.1.1.1/Mon Nov 17 19:06:20 2003// +/enet.c/1.1.1.1/Mon Nov 17 19:06:20 2003// +/hapn.c/1.1.1.1/Mon Nov 17 19:06:20 2003// +/hs.c/1.1.1.1/Mon Nov 17 19:06:20 2003// +/pc100.c/1.1.1.1/Mon Nov 17 19:06:20 2003// +/pi.c/1.1.1.1/Mon Nov 17 19:06:20 2003// +/pktdrvr.c/1.1.1.1/Mon Nov 17 19:06:20 2003// +D diff --git a/src/nos/drivers/CVS/Repository b/src/nos/drivers/CVS/Repository new file mode 100644 index 00000000..830c9914 --- /dev/null +++ b/src/nos/drivers/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/drivers diff --git a/src/nos/drivers/CVS/Root b/src/nos/drivers/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/drivers/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/drivers/arcnet.i b/src/nos/drivers/arcnet.i new file mode 100644 index 00000000..b366bded --- /dev/null +++ b/src/nos/drivers/arcnet.i @@ -0,0 +1,2778 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +enum arp_opcode { + ARP_REQUEST=1, + ARP_REPLY, + REVARP_REQUEST, + REVARP_REPLY +}; + +enum arp_hwtype { + ARP_NETROM=0, + ARP_ETHER, + ARP_EETHER, + ARP_AX25, + ARP_PRONET, + ARP_CHAOS, + ARP_IEEE802, + ARP_ARCNET, + ARP_APPLETALK +}; +extern char *Arptypes[]; + + + +struct arp_type { + uint16 hwalen; + uint16 iptype; + uint16 arptype; + uint16 pendtime; + uint8 *bdcst; + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + +}; +extern struct arp_type Arp_type[]; + + +struct arp { + enum arp_hwtype hardware; + uint16 protocol; + uint8 hwalen; + uint8 pralen; + enum arp_opcode opcode; + uint8 shwaddr[20 ]; + int32 sprotaddr; + uint8 thwaddr[20 ]; + int32 tprotaddr; +}; + + +struct arp_tab { + struct arp_tab *next; + struct arp_tab *prev; + struct timer timer; + struct mbuf *pending; + int32 ip_addr; + enum arp_hwtype hardware; + enum { + ARP_PENDING, + ARP_VALID + } state; + uint8 *hw_addr; + unsigned int pub:1; +}; +extern struct arp_tab *Arp_tab[]; + +struct arp_stat { + unsigned recv; + unsigned badtype; + unsigned badlen; + unsigned badaddr; + unsigned inreq; + unsigned replies; + unsigned outreq; +}; +extern struct arp_stat Arp_stat; + + +struct arp_tab *arp_add(int32 ipaddr,enum arp_hwtype hardware,uint8 *hw_addr, + int pub); +void arp_drop(void *p); +int arp_init(unsigned int hwtype,int hwalen,int iptype,int arptype, + int pendtime,uint8 *bdcst,char *(*format)(char *,uint8 *), + int (*scan)(uint8 *,char *) ); +void arp_input(struct iface *iface,struct mbuf **bpp); +struct arp_tab *arp_lookup(enum arp_hwtype hardware,int32 ipaddr); +uint8 *res_arp(struct iface *iface,enum arp_hwtype hardware,int32 target,struct mbuf **bpp); + + +struct mbuf *htonarp(struct arp *arp); +int ntoharp(struct arp *arp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + +struct arc { + uint8 source[1]; + uint8 dest[1]; + uint8 type; +}; + + + +extern uint8 ARC_bdcst[]; + + + + + + +void htonarc(struct arc *arc,struct mbuf **data); +int ntoharc(struct arc *arc,struct mbuf **bpp); +char *parc(char *out,uint8 *addr); +int garc(uint8 *out,char *cp); +int anet_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int anet_output(struct iface *iface,uint8 dest[],uint8 source[],uint16 type, + struct mbuf **data); +void aproc(struct iface *iface,struct mbuf **bp); + + + +uint8 ARC_bdcst[] = { 0 }; + + +void +htonarc( +struct arc *arc, +struct mbuf **bpp +){ + register uint8 *cp; + + pushdown(bpp,0,3); + + cp = (*bpp)->data; + + memcpy(cp,arc->source,1); + cp += 1; + memcpy(cp,arc->dest,1); + cp += 1; + *cp++ = arc->type; +} + +int +ntoharc(arc,bpp) +struct arc *arc; +struct mbuf **bpp; +{ + pullup(bpp,arc->source,1); + pullup(bpp,arc->dest,1); + arc->type = pull8(((bpp))); + return 3; +} + + +char * +parc(out,addr) +char *out; +uint8 *addr; +{ + sprintf(out,"%02x", addr[0]); + return out; +} + + +int +garc(out,cp) +register uint8 *out; +register char *cp; +{ + *out = htoi(cp); + return 0; +} + +int +anet_send( +struct mbuf **bpp, +struct iface *iface, +int32 gateway, +uint8 tos +){ + uint8 *agate; + + agate = res_arp(iface,ARP_ARCNET,gateway,bpp); + if(agate != 0) + return (*iface->output)(iface,agate,iface->hwaddr,0xf0 ,bpp); + return 0; +} + +int +anet_output( +struct iface *iface, +uint8 *dest, +uint8 *source, +uint16 type, +struct mbuf **data +){ + struct arc ap; + + memcpy(ap.dest,dest,1); + memcpy(ap.source,source,1); + ap.type = type; + htonarc(&ap,data); + return (*iface->raw)(iface,data); +} + +void +aproc( +struct iface *iface, +struct mbuf **bpp +){ + struct arc hdr; + + + ntoharc(&hdr,bpp); + switch(hdr.type){ + case 0xf1 : + arp_input(iface,bpp); + break; + case 0xf0 : + ip_route(iface,bpp,0); + break; + default: + free_p(bpp); + break; + } +} + diff --git a/src/nos/drivers/dma.i b/src/nos/drivers/dma.i new file mode 100644 index 00000000..7e093b00 --- /dev/null +++ b/src/nos/drivers/dma.i @@ -0,0 +1,1550 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + +int setup_dma(int chan, int32 physaddr, uint16 length,int mode); +uint16 dma_cnt(int chan); +int dma_disable(int chan); +int dma_enable(int chan); +void *dma_malloc(int32 *,unsigned short); +int dis_dmaxl(int); +int ena_dmaxl(int); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + +static uint16 Page_regs[] = { + 0x87,0x83,0x81,0x82,0x8f,0x8b,0x89,0x8a +}; + + + + + + + + + + + +struct dds { + unsigned long rsize; + unsigned long offset; + unsigned short seg; + unsigned short buf_id; + unsigned long physaddr; +}; + + + + +struct dma { + struct dma *next; + struct dma *prev; + void *p; + unsigned short len; + void *aux; + unsigned long physaddr; +}; + +struct dma *Dma; + + +void * +dma_malloc(physaddr,len) +int32 *physaddr; +unsigned short len; +{ + void *bufs[20],*aux; + int i,tries; + + for(tries=0;tries<20;tries++){ + if((aux = bufs[tries] = malloc(len)) == 0) + break; + if((*physaddr = dmalock(aux,len)) != 0) + break; + if((*physaddr >> 24) == 0){ + + + + dmaunlock(*physaddr,len); + *physaddr = 0; + } + } + + + + for(i=0;ip = p; + dmap->len = len; + dmap->next = Dma; + if(Dma->next != 0) + Dma->next->prev = dmap; + Dma = dmap; + + if((physaddr = dmalock(p,len)) != 0){ + dmap->physaddr = physaddr; + return physaddr; + } + + + + for(tries=0;tries<20;tries++){ + if((aux = bufs[tries] = malloc(len)) == 0) + break; + if((physaddr = dmalock(aux,len)) != 0) + break; + } + + + + for(i=0;inext != 0) + dmap->next->prev = dmap->prev; + if(dmap->prev != 0) + dmap->prev->next = dmap->next; + else + Dma = dmap->next; + free(dmap); + return 0; + } + + if(copy) + memcpy(aux,p,len); + + dmap->aux = aux; + dmap->physaddr = physaddr; + return physaddr; +} + + + + +void +dma_unmap(p,copy) +void *p; +int copy; +{ + struct dma *dmap; + + for(dmap = Dma;dmap != (struct dma *)0;dmap = dmap->next){ + if(dmap->p == p) + break; + } + if(dmap == (struct dma *)0) + return; + + + + + + + + if(dmap->aux != 0){ + if(copy) + memcpy(dmap->p,dmap->aux,dmap->len); + free(dmap->aux); + } + + if(dmap->next != (struct dma *)0) + dmap->next->prev = dmap->prev; + if(dmap->prev != (struct dma *)0) + dmap->prev->next = dmap->next; + else + Dma = dmap->next; + free(dmap); +} + + + + + + + + + + + + + +unsigned long +dmalock(p,len) +void *p; +unsigned short len; +{ + + return (unsigned long)p; + +} + +unsigned long +dmaunlock(physaddr,len) +unsigned long physaddr; +unsigned short len; +{ + + + return 0; +} + +int +dis_dmaxl(chan) +int chan; +{ + + + return 0; +} + + +int +ena_dmaxl(chan) +int chan; +{ + + + return 0; +} + + +int +setup_dma(chan,physaddr,length,mode) +int chan; +int32 physaddr; +uint16 length; +int mode; +{ + + return 0; +} + + +uint16 +dma_cnt(chan) +int chan; +{ + + return 0; + +} + + +int +dma_disable(chan) +int chan; +{ + + + + + + + + return 0; +} + +int +dma_enable(chan) +int chan; +{ + + + + + + + + return 0; +} diff --git a/src/nos/drivers/drsi.i b/src/nos/drivers/drsi.i new file mode 100644 index 00000000..8765669f --- /dev/null +++ b/src/nos/drivers/drsi.i @@ -0,0 +1,4356 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long clock_t; + + +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +}; + +struct timezone { + int tz_minuteswest; + int tz_dsttime; +}; + + + + +extern char *tzname[2]; +extern int daylight; +extern long timezone; + +extern long clock (void); +extern time_t mktime (struct tm * __tp); +extern long difftime (time_t *__time2, time_t *__time1); + +extern time_t time (time_t *tvec); + +extern void __tm_conv (struct tm *tmbuf, time_t *t, int offset); +extern void __asctime (char *, struct tm *); +extern char *asctime (struct tm * __tp); +extern char *ctime (time_t * __tp); +extern void tzset (void); + +extern struct tm *gmtime (time_t *__tp); +extern struct tm *localtime (time_t * __tp); +extern unsigned long convtime (time_t *time_field); + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + +struct DRTAB { + + void (*oldvec)(void); + uint16 addr; + uint16 vec; + long ints; + uint8 chain; +}; +extern struct DRTAB Drsi[]; +extern uint16 Drnbr; + + + + + + + + + + + + + + + + + + +struct dr_wakeup { + void (*wcall)(struct drchan *hp); + int wakecnt; +}; + + + +struct drchan { + long rxints; + long txints; + long exints; + long spints; + + long enqueued; + long rxframes; + long toobig; + long crcerr; + long aborts; + long rovers; + long txdefers; + long txppersist; + long nomem; + uint8 status; + struct mbuf *rcvbuf; + uint16 bufsiz; + uint8 *rcp; + + struct mbuf *sndq; + uint16 sndcnt; + struct mbuf *sndbuf; + uint16 drtx_cnt; + uint8 *drtx_buffer; + uint8 *drtx_tcp; + struct dr_wakeup w[2]; + + void (*tx_state)(struct drchan *hp); + + void (*rx_state)(struct drchan *hp); + uint8 tstate; + + + + + + + + + uint8 rstate; + + + + + + uint16 dev; + uint16 base; + uint16 stata; + uint16 statb; + uint16 dmactrl; + uint16 speed; + int txdelay; + int persist; + int slotime; + int squeldelay; + int enddelay; + struct iface *iface; +}; +extern struct drchan drchan[]; + + +void ( *(drint)(int dev))(); + + +void dr0vec(void); + + + + + + + + + + + + + + + + + + + +struct baudrate { + uint16 speed; + uint8 val; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + + + +void write_scc(uint16 ctl,uint8 reg,uint8 val); +uint8 read_scc(uint16 ctl,uint8 reg); +int rx8530(uint16 ctl,uint16 data,void *buf,uint16 bufsize); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +enum devparam { + PARAM_DATA, + PARAM_TXDELAY, + PARAM_PERSIST, + PARAM_SLOTTIME, + PARAM_TXTAIL, + PARAM_FULLDUP, + PARAM_HW, + PARAM_MUTE, + PARAM_DTR, + PARAM_RTS, + PARAM_SPEED, + PARAM_ENDDELAY, + PARAM_GROUP, + PARAM_IDLE, + PARAM_MIN, + PARAM_MAXKEY, + PARAM_WAIT, + + PARAM_CLOSE, + PARAM_OPEN, + PARAM_LISTEN, + PARAM_DOWN=0x81, + PARAM_UP=0x82, + + PARAM_BLIND=0x83, + PARAM_RETURN=0xff +}; + + +int devparam(char *s); +char *parmname(int n); + + + + + + + + +static int32 dr_ctl(struct iface *iface,int cmd,int set,int32 val); +static int dr_raw(struct iface *iface,struct mbuf **bpp); +static int dr_stop(struct iface *iface); +static void dr_wake(struct drchan *hp,int rx_or_tx, + void (*routine)(struct drchan *),int ticks); +static int drchanparam(struct drchan *hp); +static void drexint(struct drchan *hp); +static void drinitctc(unsigned port); +static void drrx_active(struct drchan *hp); +static void drrx_enable(struct drchan *hp); +static void drtx_active(struct drchan *hp); +static void drtx_defer(struct drchan *hp); +static void drtx_downtx(struct drchan *hp); +static void drtx_flagout(struct drchan *hp); +static void drtx_idle(struct drchan *hp); +static void drtx_rrts(struct drchan *hp); +static void drtx_tfirst(struct drchan *hp); +static char read_ctc(unsigned port,uint8 reg); +static void rx_fsm(struct drchan *hp); +static void tx_fsm(struct drchan *hp); +static void write_ctc(uint16 port,uint8 reg,uint8 val); + +struct DRTAB Drsi[1 ]; +void (*Drhandle[])(void) = { dr0vec }; +struct drchan Drchan[2*1 ]; +uint16 Drnbr; + + + + +static void +dr_wake(hp, rx_or_tx, routine, ticks) +struct drchan *hp; +int rx_or_tx; +void (*routine)(struct drchan *); +int ticks; +{ + hp->w[rx_or_tx].wcall = routine; + hp->w[rx_or_tx].wakecnt = ticks; +} + + + + +void ( *(drint)(dev))() +int dev; +{ + register char st; + register uint16 pcbase, i; + struct drchan *hpa,*hpb; + struct DRTAB *dp; + + dp = &Drsi[dev]; + dp->ints++; + pcbase = dp->addr; + hpa = &Drchan[2 * dev]; + hpb = &Drchan[(2 * dev)+1]; + +yuk: + + st = read_ctc(pcbase, 0x0c ); + if(st & 0x20 ){ + + write_ctc(pcbase, 0x0c , 0x20 |0x04 ); + for(i=0;i<=1;i++){ + if(hpa->w[i].wakecnt){ + if(--hpa->w[i].wakecnt == 0){ + (hpa->w[i].wcall)(hpa); + } + } + if(hpb->w[i].wakecnt){ + if(--hpb->w[i].wakecnt == 0){ + (hpb->w[i].wcall)(hpb); + } + } + } + } + + + + while((st = read_escc(pcbase+2 +0,3)) != 0){ + + + + if(st & 0x20 ){ + + rx_fsm(hpa); + } + if(st & 0x4 ){ + + rx_fsm(hpb); + } + if(st & 0x10 ){ + + tx_fsm(hpa); + } + if(st & 0x2 ){ + + tx_fsm(hpb); + } + if(st & 0x8 ){ + + drexint(hpa); + } + if(st & 0x1 ){ + + drexint(hpb); + } + + write_escc(hpa->base+0,0 ,0x38 ); + + } + if(read_ctc(pcbase, 0x0c ) & 0x20 ) + goto yuk; + return dp->chain ? dp->oldvec : 0; +} + + + + + + + + + +static void +drexint(hp) + struct drchan *hp; +{ + register int base = hp->base; + char st; + int i_state; + + i_state = dirps(); + hp->exints++; + + st = read_escc(base+0,0 ); + + + + + + + + if((hp->tstate != 4 ) && (hp->rstate==0) && (st & 0x40 )){ + if(hp->tstate != 2 ){ + + + + + + + write_escc(base, 5, 0x60 |0x80 ); + write_escc(base, 1, 0); + write_escc(base, 0 , 0x28 ); + write_escc(base, 0 , 0x30 ); + write_escc(base, 0 , 0xC0 ); + free_p(&hp->sndbuf); + hp->tstate = 0 ; + hp->tx_state = drtx_idle; + dr_wake(hp, 1 , tx_fsm, hp->slotime); + hp->rstate = 5 ; + hp->rx_state = drrx_enable; + drrx_enable(hp); + } + } + + + + + + if((hp->rstate != 0 ) && (st & 0x80 )){ + if(hp->rcvbuf != 0){ + hp->rcp = hp->rcvbuf->data; + hp->rcvbuf->cnt = 0; + } + while(read_escc(base,0 ) & 0x1 ) + (void) inportb(base+1); + hp->aborts++; + hp->rstate = 1 ; + write_escc(base, 0 , 0x30 ); + } + + write_escc(base,0 ,0x10 ); + restore(i_state); +} + + +static void +rx_fsm(hp) +struct drchan *hp; +{ + int i_state; + + i_state = dirps(); + hp->rxints++; + (*hp->rx_state)(hp); + restore(i_state); +} + + + + +static void +drrx_enable(hp) +struct drchan *hp; +{ + register uint16 base = hp->base; + + write_escc(base, 1, 0x10 |0x1 ); + write_escc(base, 15, 0x80 ); + write_escc(base, 14, 2 |1 |0x20 ); + + write_escc(base, 3, 0x10 |0x1 |0x8 |0xc0 ); + + if(hp->rcvbuf != 0){ + hp->rcvbuf->cnt = 0; + hp->rcp = hp->rcvbuf->data; + } + hp->rstate = 1 ; + hp->rx_state = drrx_active; +} + + + + +static void +drrx_active(hp) +struct drchan *hp; +{ + register uint16 base = hp->base; + unsigned char rse,st; + struct mbuf *bp; + + + if(hp->rcvbuf == 0){ + bp = hp->rcvbuf = alloc_mbuf(hp->bufsiz); + if(bp == 0){ + + write_escc(base, 3, 0x10 |0x1 |0x8 |0xc0 ); + + (void) inportb(base+1); + return; + } + hp->rcvbuf->cnt = 0; + hp->rcp = hp->rcvbuf->data; + } + + st = read_escc(base, 0 ); + rse = read_escc(base,1); + + if(st & 0x1 ){ + + + + + if(rse & 0x20 ){ + + hp->rcp = hp->rcvbuf->data; + hp->rcvbuf->cnt = 0; + hp->rstate = 2 ; + hp->rovers++; + } else if(hp->rcvbuf->cnt >= hp->bufsiz){ + + hp->toobig++; + hp->rcp = hp->rcvbuf->data; + hp->rcvbuf->cnt = 0; + hp->rstate = 4 ; + } + + if((hp->rstate == 1 ) && ((st & 0x80 ) == 0)){ + *hp->rcp++ = inportb(base+1); + hp->rcvbuf->cnt++; + } else { + + (void) inportb(base+1); + hp->rcp = hp->rcvbuf->data; + hp->rcvbuf->cnt = 0; + hp->rstate = 3 ; + write_escc(base,0 ,0x30 ); + } + } + + + + + if(rse & 0x80 ){ + hp->rxframes++; + + if(hp->rcvbuf->cnt > 0){ + + + + if((rse & 0x40 ) || (hp->rstate > 1 ) || + (hp->rcvbuf->cnt < 10) || (st & 0x80 )){ + + if(rse & 0x40 ) + hp->crcerr++; + hp->rcp = hp->rcvbuf->data; + hp->rcvbuf->cnt = 0; + hp->rstate = 1 ; + } else { + + hp->rcvbuf->cnt -= 2; + + net_route(hp->iface,&hp->rcvbuf); + hp->enqueued++; + + hp->rcvbuf = 0; + } + } + } +} + + + + +static void +tx_fsm(hp) +struct drchan *hp; +{ + int i_state; + + i_state = dirps(); + if(hp->tstate != 4 && hp->tstate) + hp->txints++; + (*hp->tx_state)(hp); + restore(i_state); +} + + + + +static void +drtx_idle(hp) +struct drchan *hp; +{ + register uint16 base; + + + if((hp->sndbuf = dequeue(&hp->sndq)) == 0){ + + + + + + + + base = hp->base; + write_escc(base, 5, 0x60 |0x80 ); + write_escc(base, 0 , 0x30 ); + + + hp->rstate = 5 ; + hp->rx_state = drrx_enable; + dr_wake(hp, 0 , rx_fsm, hp->squeldelay); + } else { + + hp->tstate = 4 ; + hp->tx_state = drtx_defer; + drtx_defer(hp); + } +} + + + + +static void +drtx_defer(hp) +struct drchan *hp; +{ + register uint16 base = hp->base; + + + + + + + + + + if((read_escc(base+0, 0 ) & 0x8 ) > 0){ + + hp->txdefers++; + dr_wake(hp, 1 , tx_fsm, 10); + + + + return; + } + + + + + + + + + + + if (hp->persist <= read_ctc(base,0x15 )) { + + + + hp->txppersist++; + dr_wake (hp, 1 , tx_fsm, hp->slotime); + return; + } + + write_escc(base, 1, 0); + write_escc(base, 3, 0xc0 ); + hp->rstate = 0 ; + hp->tstate = 5 ; + hp->tx_state = drtx_rrts; + + + + write_escc(base, 9, 0); + write_escc(base,5,0x2 |0x60 |0x80 ); + dr_wake(hp, 1 , tx_fsm, 10); +} + + + + +static void +drtx_rrts(hp) +struct drchan *hp; +{ + register uint16 base = hp->base; + + write_escc(base, 9, 0); + write_escc(base,5,0x1 |0x2 |0x8 |0x60 |0x80 ); + hp->tstate = 6 ; + hp->tx_state = drtx_tfirst; + + + + + dr_wake(hp, 1 , tx_fsm, hp->txdelay); +} + + + + +static void +drtx_tfirst(hp) +struct drchan *hp; +{ + register uint16 base = hp->base; + char c; + + + + + hp->drtx_cnt = len_p(hp->sndbuf); + hp->drtx_tcp = hp->drtx_buffer; + + pullup(&hp->sndbuf, hp->drtx_tcp, hp->drtx_cnt); + + + c = *hp->drtx_tcp++; + hp->drtx_cnt--; + + write_escc(base, 0 , 0x80 ); + write_escc(base, 0 , 0xC0 ); + outportb(base+1, c); + write_escc(base, 15, 0x40 ); + write_escc(base, 1, 0x2 |0x1 ); + write_escc(base, 9, 8 |2 ); + hp->tstate = 1 ; + hp->tx_state = drtx_active; +} + + + + +static void +drtx_active(hp) +struct drchan *hp; +{ + if(hp->drtx_cnt-- > 0){ + + outportb(hp->base+1, *hp->drtx_tcp++); + } else { + + hp->tstate = 2 ; + hp->tx_state = drtx_flagout; + free_p(&hp->sndbuf); + write_escc(hp->base, 0 , 0xC0 ); + write_escc(hp->base, 0 , 0x28 ); + } +} + + + + +static void +drtx_flagout(hp) +struct drchan *hp; +{ + + + + + hp->tstate = 2 ; + hp->tx_state = drtx_downtx; + write_escc(hp->base, 9, 0); + write_escc(hp->base, 0 , 0x28 ); + dr_wake(hp, 1 , tx_fsm, hp->enddelay); +} + + + + +static void +drtx_downtx(hp) +struct drchan *hp; +{ + register int base = hp->base; + + + if((hp->sndbuf = dequeue(&hp->sndq)) == 0){ + + write_escc(base, 5, 0x60 |0x80 ); + write_escc(base, 0 , 0x30 ); + hp->tstate = 0 ; + hp->tx_state = drtx_idle; + hp->rstate = 5 ; + hp->rx_state = drrx_enable; + drrx_enable(hp); + } else + drtx_tfirst(hp); + +} + + +static void +write_ctc(base, reg, val) +uint16 base; +uint8 reg,val; +{ + int i_state; + + i_state = dirps(); + + outportb(base+7 ,reg); + outportb(base+7 ,val); + restore(i_state); +} + + + + + + +static char read_ctc(unsigned base,uint8 reg) +{ + uint8 c; + uint16 i; + int i_state; + + i_state = dirps(); + + outportb(base+7 ,reg); + + for(i=0;i<100;i++) + ; + c = inportb(base+7 ); + restore(i_state); + return(c); +} + + +static int +drchanparam(hp) + struct drchan *hp; +{ + uint16 tc; + long br; + register uint16 base; + int i_state; + + + base = hp->base; + i_state = dirps(); + + switch(base & 2){ + case 2: + write_escc(base,9,0x80 ); + break; + case 0: + write_escc(base,9,0x40 ); + break; + } + + write_escc(base,1,0); + + + write_escc(base,15,0); + + + write_escc(base,4,0x20 |0x0 ); + + + + write_escc(base,10,0x80 |0x20 ); + + + + write_escc(base,11,0x60 |0 |4 |2 ); + + + write_escc(base,6,0); + + + write_escc(base,7,0x7e); + + + + write_escc(base,5,0x60 |0x80 ); + + + write_escc(base,3,0xc0 ); + + + write_escc(base,14,2 ); + + + + br = hp->speed; + tc = ((((long) 4915200/2) /32)/br)-2; + + write_escc(base,12,tc); + write_escc(base,13,(tc>>8)); + + + + + + + + + + + + drrx_enable(hp); + + + write_escc(hp->base,14,2 |0x80 ); + + write_escc(hp->base,14,2 |0x20 ); + + write_escc(hp->base,14,2 |1 ); + + + + write_escc(hp->base,1,(0x10 |0x1 )); + write_escc(hp->base,15,0x80 ); + write_escc(hp->base,9,8 |2 ); + + + + write_escc(hp->base,3,0x1 |0x8 |0xc0 ); + + restore(i_state); + return 0; +} + + + + + + + + + + + + + + + +static void +drinitctc(port) +unsigned port; +{ + long i; + + + + + + (void) read_ctc(port, 0x00 ); + + write_ctc(port, 0x00 , 0x01); + for(i=0;i < 1000L; i++) + ; + write_ctc(port, 0x00 , 0x00); + + + while((read_ctc(port, 0x00 )) != 0x02) + ; + + write_ctc(port, 0x00 , 0xa6); + write_ctc(port, 0x01 , 0xf4); + + write_ctc(port, 0x1c , 0xe2); + write_ctc(port, 0x1d , 0xe2); + write_ctc(port, 0x1e , 0x80); + write_ctc(port, 0x16 , 0x00); + write_ctc(port, 0x17 , 0x10); + write_ctc(port, 0x18 , 0x00); + write_ctc(port, 0x19 , 0x10); + write_ctc(port, 0x1a , 0x60); + write_ctc(port, 0x1b , 0x00); + + write_ctc(port, 0x04 , 0x06); + + + + + + write_ctc(port, 0x23 , 0x22); + write_ctc(port, 0x2b , 0x22); + + write_ctc(port, 0x0a , 0x04 |0x02 ); + write_ctc(port, 0x0b , 0x04 |0x02 ); + write_ctc(port, 0x0c , 0xc0 |0x04 |0x02 ); +} + + + + + + + + + + + + + + +int +dr_attach(argc,argv) +int argc; +char *argv[]; +{ + register struct iface *if_pca,*if_pcb; + struct drchan *hp; + int dev; + char *cp; + + + if(setencap(0,argv[3]) == -1){ + _printf(_("Mode %s unknown for interface %s\n"), + argv[3],argv[4]); + return -1; + } + if(if_lookup(argv[4]) != 0){ + _printf(_("Interface %s already exists\n"), argv[4]); + return -1; + } + if(Mycall[0] == '\0'){ + _printf(_("set mycall first\n")); + return -1; + } + + + + if(Drnbr >= 1 ){ + _printf(_("Only %d DRSI controller(s) supported right now!\n"),1 ); + return -1; + } + dev = Drnbr++; + + + Drsi[dev].addr = htoi(argv[1]); + Drsi[dev].vec = atoi(argv[2]); + if(strchr(argv[2],'c') != 0) + Drsi[dev].chain = 1; + else + Drsi[dev].chain = 0; + + + Drsi[dev].oldvec = getirq(Drsi[dev].vec); + + + if(setirq(Drsi[dev].vec,Drhandle[dev]) == -1){ + _printf(_("IRQ %u out of range\n"),Drsi[dev].vec); + Drnbr--; + } + + drinitctc(Drsi[dev].addr); + + + if_pca = (struct iface *)callocw(1,sizeof(struct iface)); + if_pcb = (struct iface *)callocw(1,sizeof(struct iface)); + + if_pca->addr = if_pcb->addr = Ip_addr; + if(argc > 9) + if_pca->addr = resolve(argv[9]); + if(argc > 10) + if_pcb->addr = resolve(argv[10]); + if(if_pca->addr == 0 || if_pcb->addr == 0){ + printf(Noipaddr); + free(if_pca); + free(if_pcb); + return -1; + } + + if_pca->name = mallocw((unsigned)strlen(argv[4])+2); + strcpy(if_pca->name,argv[4]); + strcat(if_pca->name,"a"); + + + if_pcb->name = mallocw((unsigned)strlen(argv[4])+2); + strcpy(if_pcb->name,argv[4]); + strcat(if_pcb->name,"b"); + + if_pcb->mtu = if_pca->mtu = atoi(argv[6]); + if_pcb->ioctl = if_pca->ioctl = dr_ctl; + if_pca->dev = 2*dev; + if_pcb->dev = 2*dev + 1; + if_pcb->stop = if_pca->stop = dr_stop; + if_pcb->raw = if_pca->raw = dr_raw; + + setencap(if_pca,argv[3]); + setencap(if_pcb,argv[3]); + if(if_pcb->hwaddr == 0) + if_pcb->hwaddr = mallocw(sizeof(Mycall)); + memcpy(if_pcb->hwaddr,&Mycall,sizeof(Mycall)); + if(if_pca->hwaddr == 0) + if_pca->hwaddr = mallocw(sizeof(Mycall)); + memcpy(if_pca->hwaddr,&Mycall,sizeof(Mycall)); + + if_pca->next = if_pcb; + if_pcb->next = Ifaces; + Ifaces = if_pca; + + + + hp = &Drchan[2*dev+1]; + hp->iface = if_pcb; + hp->stata = Drsi[dev].addr + 2 + 0; + hp->statb = Drsi[dev].addr + 0 + 0; + if(argc > 8){ + + hp->speed = (uint16)atoi(argv[8]); + } else { + + hp->speed = (uint16)atoi(argv[7]); + } + hp->base = Drsi[dev].addr + 0 ; + hp->bufsiz = atoi(argv[5]); + hp->drtx_buffer = mallocw(if_pcb->mtu+100); + hp->tstate = 0 ; + hp->tx_state = drtx_idle; + hp->w[0 ].wcall = 0; + hp->w[0 ].wakecnt = 0; + hp->w[1 ].wcall = 0; + hp->w[1 ].wakecnt = 0; + + hp->txdelay = 25; + hp->persist = 64; + hp->slotime = 10; + hp->squeldelay = 20; + hp->enddelay = 10; + + write_escc(hp->stata,9,0xc0 ); + + + write_escc(hp->stata,9,0); + + drchanparam(hp); + + + hp->rcvbuf = 0; + hp->rcvbuf->cnt = 0; + hp->sndq = 0; + + + hp = &Drchan[2*dev]; + hp->iface = if_pca; + hp->speed = (uint16)atoi(argv[7]); + hp->base = Drsi[dev].addr + 2 ; + hp->bufsiz = atoi(argv[5]); + hp->drtx_buffer = mallocw(if_pca->mtu+100); + hp->tstate = 0 ; + hp->tx_state = drtx_idle; + hp->w[0 ].wcall = 0; + hp->w[0 ].wakecnt = 0; + hp->w[1 ].wcall = 0; + hp->w[1 ].wakecnt = 0; + + hp->txdelay = 30; + hp->persist = 64; + hp->slotime = 10; + hp->squeldelay = 20; + hp->enddelay = 10; + + drchanparam(hp); + + + hp->rcvbuf = 0; + hp->rcvbuf->cnt = 0; + hp->sndq = 0; + + write_escc(hp->base,9,8 |2 ); + + + maskon(Drsi[dev].vec); + + cp = if_name(if_pca," tx"); + if_pca->txproc = newproc(cp,512,if_tx,0,if_pca,0,0); + free(cp); + cp = if_name(if_pcb," tx"); + if_pcb->txproc = newproc(cp,512,if_tx,0,if_pcb,0,0); + free(cp); + return 0; +} + + +static int +dr_stop(iface) +struct iface *iface; +{ + uint16 dev; + + dev = iface->dev; + if(dev & 1) + return 0; + dev >>= 1; + + + maskoff(Drsi[dev].vec); + + + setirq(Drsi[dev].vec, Drsi[dev].oldvec); + Drnbr--; + + + write_escc(Drsi[dev].addr + 2 + 0,9,0xc0 ); + + (void) read_ctc(Drsi[dev].addr, 0x00 ); + write_ctc(Drsi[dev].addr, 0x00 , 0x01); + return 0; +} + + +static int +dr_raw( +struct iface *iface, +struct mbuf **bpp +){ + char kickflag; + struct drchan *hp; + int i_state; + + dump(iface,0x01 ,*bpp); + iface->rawsndcnt++; + iface->lastsent = secclock(); + + hp = &Drchan[iface->dev]; + i_state = dirps(); + kickflag = (hp->sndq == 0) & (hp->sndbuf == 0); + + enqueue(&hp->sndq,bpp); + + if(kickflag) + tx_fsm(hp); + + restore(i_state); + return 0; +} + + +int +dodrstat(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct drchan *hp0, *hp1; + int i; + + for(i=0; i<1 ; i++){ + hp0 = &Drchan[i]; + hp1 = &Drchan[i+1]; + i = Drchan[i].base; + _printf(_("DRSI Board Statistics - N6TTO 112790.0\n")); + _printf(_("--------------------------------------\n")); + _printf(_("Channel - %s\n"), hp0->iface->name); + _printf(_("Rxints - %8ld Txints - %8ld Exints - %8ld\n"), + hp0->rxints, hp0->txints, hp0->exints); + _printf(_("Enqued - %8ld Crcerr - %8ld Aborts - %8ld\n"), + hp0->enqueued, hp0->crcerr, hp0->aborts); + _printf(_("RFrames - %8ld Rxovers - %8ld TooBig - %8ld\n"), + hp0->rxframes, hp0->rovers, hp0->toobig); + _printf(_("Txdefer - %8ld Txppers - %8ld Nomem - %8ld\n"), + hp0->txdefers, hp0->txppersist, hp0->nomem); + _printf(_("Tx state %8d Rx state %8d\n\n"),hp0->tstate,hp0->rstate); + _printf(_("Channel - %s\n"), hp1->iface->name); + _printf(_("Rxints - %8ld Txints - %8ld Exints - %8ld\n"), + hp1->rxints, hp1->txints, hp1->exints); + _printf(_("Enqued - %8ld Crcerr - %8ld Aborts - %8ld\n"), + hp1->enqueued, hp1->crcerr, hp1->aborts); + _printf(_("RFrames - %8ld Rxovers - %8ld TooBig - %8ld\n"), + hp1->rxframes, hp1->rovers, hp1->toobig); + _printf(_("Txdefer - %8ld Txppers - %8ld Nomem - %8ld\n"), + hp1->txdefers, hp1->txppersist, hp1->nomem); + _printf(_("Tx state %8d Rx state %8d\n"),hp1->tstate,hp1->rstate); + } + return 0; +} + + +static int32 +dr_ctl(iface,cmd,set,val) +struct iface *iface; +int cmd; +int set; +int32 val; +{ + struct drchan *hp; + hp = &Drchan[iface->dev]; + + switch(cmd){ + case PARAM_TXDELAY: + if(set) + hp->txdelay = val; + return hp->txdelay; + case PARAM_PERSIST: + if(set) + hp->persist = val; + return hp->persist; + case PARAM_SLOTTIME: + if(set) + hp->slotime = val; + return hp->slotime; + case PARAM_TXTAIL: + if(set) + hp->squeldelay = val; + return hp->squeldelay; + case PARAM_ENDDELAY: + if(set) + hp->enddelay = val; + return hp->enddelay; + case PARAM_SPEED: + return hp->speed; + } + return -1; +} diff --git a/src/nos/drivers/eagle.i b/src/nos/drivers/eagle.i new file mode 100644 index 00000000..3dcff001 --- /dev/null +++ b/src/nos/drivers/eagle.i @@ -0,0 +1,4036 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + +struct EGTAB { + void (*oldvec)(void); + uint16 addr; + unsigned vec; + long ints; + uint8 chain; +}; +extern struct EGTAB Eagle[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct egchan { + long rxints; + long txints; + long exints; + long spints; + + int enqueued; + int rxframes; + int toobig; + int crcerr; + int aborts; + int rovers; + + uint8 status; + struct mbuf *rcvbuf; + uint16 bufsiz; + uint8 *rcp; + + struct mbuf *sndq; + uint16 sndcnt; + struct mbuf *sndbuf; + uint8 tstate; + + + + + + uint8 rstate; + + + + + int dev; + uint16 base; + uint16 stata; + uint16 statb; + uint16 dmactrl; + uint16 speed; + uint8 txdelay; + uint8 persist; + uint8 slotime; + uint8 squeldelay; + struct iface *iface; +}; +extern struct egchan Egchan[]; + + + + + + + + + + + + + + + + + + +struct baudrate { + uint16 speed; + uint8 val; +}; + + +void ( *(egint)(int dev))(); + + +void eg0vec(void); + + + + + + + + + + +void write_scc(uint16 ctl,uint8 reg,uint8 val); +uint8 read_scc(uint16 ctl,uint8 reg); +int rx8530(uint16 ctl,uint16 data,void *buf,uint16 bufsize); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + + + +enum devparam { + PARAM_DATA, + PARAM_TXDELAY, + PARAM_PERSIST, + PARAM_SLOTTIME, + PARAM_TXTAIL, + PARAM_FULLDUP, + PARAM_HW, + PARAM_MUTE, + PARAM_DTR, + PARAM_RTS, + PARAM_SPEED, + PARAM_ENDDELAY, + PARAM_GROUP, + PARAM_IDLE, + PARAM_MIN, + PARAM_MAXKEY, + PARAM_WAIT, + + PARAM_CLOSE, + PARAM_OPEN, + PARAM_LISTEN, + PARAM_DOWN=0x81, + PARAM_UP=0x82, + + PARAM_BLIND=0x83, + PARAM_RETURN=0xff +}; + + +int devparam(char *s); +char *parmname(int n); + + + + + + + + + + + + + + + + + + + + + + +typedef long clock_t; + + +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +}; + +struct timezone { + int tz_minuteswest; + int tz_dsttime; +}; + + + + +extern char *tzname[2]; +extern int daylight; +extern long timezone; + +extern long clock (void); +extern time_t mktime (struct tm * __tp); +extern long difftime (time_t *__time2, time_t *__time1); + +extern time_t time (time_t *tvec); + +extern void __tm_conv (struct tm *tmbuf, time_t *t, int offset); +extern void __asctime (char *, struct tm *); +extern char *asctime (struct tm * __tp); +extern char *ctime (time_t * __tp); +extern void tzset (void); + +extern struct tm *gmtime (time_t *__tp); +extern struct tm *localtime (time_t * __tp); +extern unsigned long convtime (time_t *time_field); + + + + + + + +static int32 eg_ctl(struct iface *iface,int cmd,int set,int32 val); +static int eg_raw(struct iface *iface,struct mbuf **bpp); +static int eg_stop(struct iface *iface); +static void egchanparam(struct egchan *hp); +static void egexint(struct egchan *hp); +static void egrxint(struct egchan *hp); +static void egtxint(struct egchan *hp); +static void rts(struct egchan *hp,uint16 x); +static void waitmsec(int n); + + struct EGTAB Eagle[1 ]; +static void (*eghandle[])() = { + eg0vec, +}; + struct egchan Egchan[2*1 ]; +static uint16 Egnbr; + + + + +void ( *(egint)(dev))() +int dev; +{ + register char st; + register uint16 pcbase; + struct egchan *hp; + struct EGTAB *ep; + + ep = &Eagle[dev]; + ep->ints++; + pcbase = ep->addr; + + + while((st = read_scc(pcbase+2 +0,3)) != 0) { + + + + if (st & 0x20 ) { + + hp = &Egchan[2 * dev]; + egrxint(hp); + } else if (st & 0x10 ) { + + hp = &Egchan[2 * dev]; + egtxint(hp); + } else if (st & 0x8 ) { + + hp = &Egchan[2 * dev]; + egexint(hp); + } else if (st & 0x4 ) { + + hp = &Egchan[(2 * dev)+1]; + egrxint(hp); + } else if (st & 0x2 ) { + + hp = &Egchan[(2 * dev)+1]; + egtxint(hp); + } else if (st & 0x1 ) { + + hp = &Egchan[(2 * dev)+1]; + egexint(hp); + } + + write_scc(hp->base+0,0 ,0x38 ); + } + return ep->chain ? ep->oldvec : 0; +} + + + + + + + + +static void +egexint(hp) +register struct egchan *hp; +{ + char st; + int i_state; + + i_state = dirps(); + hp->exints++; + st = read_scc(hp->base+0,0 ); + + + if((hp->rstate==0) && (st & 0x40 )) { + + + + + + + + + + + + if(hp->tstate == 2 ) + hp->tstate = 3 ; + + + } + + + + + + + if((hp->rstate == 1 ) && (st & 0x80 )) { + hp->rcp = hp->rcvbuf->data; + hp->rcvbuf->cnt = 0; + hp->aborts++; + } + + + write_scc(0+hp->base,0 ,0x10 ); + + restore(i_state); +} + + + + + + +static void +egrxint(hp) +register struct egchan *hp; +{ + register uint16 base; + char rse; + int i_state; + + i_state = dirps(); + hp->rxints++; + base = hp->base; + + if ((read_scc(base+0,0 )) & 0x1 ) { + + + + rse = read_scc(hp->base+0,1); + if(rse & 0x20 ) { + + hp->rcp = hp->rcvbuf->data; + hp->rcvbuf->cnt = 0; + hp->rstate = 2 ; + hp->rovers++; + } else if(hp->rcvbuf->cnt >= hp->bufsiz) { + + hp->toobig++; + hp->rcp = hp->rcvbuf->data; + hp->rcvbuf->cnt = 0; + hp->rstate = 4 ; + } + + if(hp->rstate == 1 ) { + *hp->rcp++ = inportb(base+1); + hp->rcvbuf->cnt++; + } else { + + (void) inportb(base+1); + write_scc(hp->base+0,0 ,0x30 ); + hp->rstate = 1 ; + } + } + + + + rse = read_scc(hp->base+0,1); + + + + + + if(rse & 0x80 ) { + hp->rxframes++; + + if(hp->rcvbuf->cnt > 0) { + + + + if((rse & 0x40 ) || (hp->rstate > 1 ) || (hp->rcvbuf->cnt < 10)) { + + if(rse & 0x40 ) + hp->crcerr++; + if(hp->rstate == 2 ) + hp->rovers++; + + + + hp->rcp = hp->rcvbuf->data; + hp->rcvbuf->cnt = 0; + } else { + + hp->rcvbuf->cnt -= 2; + net_route(hp->iface,&hp->rcvbuf); + + hp->rcvbuf = alloc_mbuf(hp->bufsiz); + hp->rcp = hp->rcvbuf->data; + hp->rcvbuf->cnt = 0; + if(hp->rcvbuf == 0) { + + restore(i_state); + _printf(_("DISASTER! Out of Memory for Receive!\n")); + write_scc(0+base,3,0xc0 ); + return; + } + } + } + hp->rstate = 1 ; + } + restore(i_state); +} + + + + + + +static void +egtxint(hp) +register struct egchan *hp; +{ + register uint16 base; + int c; + int i_state; + + i_state = dirps(); + + if(hp->tstate != 4 && hp->tstate) + hp->txints++; + base = hp->base; + + switch(hp->tstate) { + case 3 : + + + + + hp->tstate = 0 ; + waitmsec(10); + + + + + + + + + + + case 0 : + + if((hp->sndbuf = dequeue(&hp->sndq)) == 0) { + + + + rts(hp,0); + restore(i_state); + return; + } + + case 4 : + + + + + if(hp->persist >= peekb(0x40,0x6c)) + waitmsec(hp->slotime); + + + + + + if((read_scc(base+0,0 ) & 0x8 ) > 0) { + hp->tstate = 4 ; + + restore(i_state); + return; + } + + rts(hp,1); + + + + c = pull8(((&hp->sndbuf))); + write_scc(0+base,0 ,0x80 ); + outportb(base+1,c); + + + + write_scc(0+base,15,0x40 ); + write_scc(0+base,1,0x2 |0x1 ); + write_scc(0+base,9,8 |2 ); + + outportb(hp->dmactrl,8 ); + + hp->tstate = 1 ; + restore(i_state); + return; + + case 1 : + + if((c = pull8(((&hp->sndbuf)))) != -1){ + outportb(hp->base+1,c); + + } else { + + hp->tstate = 2 ; + free_p(&hp->sndbuf); + + write_scc(0+base,0 ,0xC0 ); + write_scc(0+hp->base,0 ,0x28 ); + } + restore(i_state); + return; + + case 2 : + + + + + + + + + + break; + } + restore(i_state); +} + + + + +static void +rts(hp,x) +register struct egchan *hp; +uint16 x; +{ +uint16 tc; +long br; + + + if(x == 1) { + write_scc(0+hp->base,3,0xc0 ); + waitmsec(50); + hp->rstate = 0 ; + write_scc(0+hp->base,9,0); + br = hp->speed; + tc = (((long) 3686400/2) /br)-2; + write_scc(0+hp->base,12,tc&0xFF); + write_scc(0+hp->base,13,(tc>>8)&0xFF); + + write_scc(0+hp->base,5,0x1 |0x2 |0x8 |0x60 |0x80 ); + + write_scc(0+hp->base,0 ,0x80 ); + waitmsec(hp->txdelay); + } else { + hp->tstate = 0 ; + write_scc(0+hp->base,5,0x60 |0x80 ); + write_scc(0+hp->base,0 ,0x30 ); + + write_scc(0+hp->base,1,(0x10 |0x1 )); + write_scc(0+hp->base,15,0x80 ); + + + waitmsec(hp->squeldelay); + + + write_scc(0+hp->base,14,2 ); + br = hp->speed; + tc = ((((long) 3686400/2) /32)/br)-2; + write_scc(0+hp->base,12,tc&0xFF); + write_scc(0+hp->base,13,(tc>>8)&0xFF); + write_scc(0+hp->base,14,2 |0x20 ); + write_scc(0+hp->base,14,2 |1 ); + + + write_scc(0+hp->base,3,0x1 |0x8 |0xc0 ); + hp->rstate = 1 ; + } +} + + +static void +egchanparam(hp) +register struct egchan *hp; +{ + uint16 tc; + long br; + register uint16 base; + int i_state; + + + + base = hp->base; + + + + i_state = dirps(); + + switch(base & 2){ + case 2: + write_scc(0+base,9,0x80 ); + break; + case 0: + write_scc(0+base,9,0x40 ); + break; + } + + + write_scc(0+base,1,0); + + + write_scc(0+base,15,0); + + + write_scc(0+base,4,0x20 |0x0 ); + + + + write_scc(0+base,10,0x80 |0x20 ); + + + + write_scc(0+base,11,0x10 |0x60 |3 |4 ); + + + write_scc(0+base,6,0); + + + write_scc(0+base,7,0x7e); + + + + write_scc(0+base,5,0x60 |0x80 ); + + + write_scc(0+base,3,0xc0 ); + + + write_scc(0+hp->base,14,2 ); + + + + br = hp->speed; + tc = ((((long) 3686400/2) /32)/br)-2; + + write_scc(0+hp->base,12,tc&0xFF); + write_scc(0+hp->base,13,(tc>>8)&0xFF); + + + + + + + + + + rts(hp,0); + + write_scc(0+hp->base,14,2 |0x80 ); + write_scc(0+hp->base,14,2 |0x20 ); + + write_scc(0+hp->base,14,2 |1 ); + + + + write_scc(0+hp->base,1,(0x10 |0x1 )); + write_scc(0+hp->base,15,0x80 ); + write_scc(0+hp->base,9,8 |2 ); + + + outportb(hp->dmactrl,8 ); + + + write_scc(0+hp->base,3,0x1 |0x8 |0xc0 ); + + restore(i_state); +} + + + + + + + + + + + + + + +int +eg_attach(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct iface *if_pca,*if_pcb; + struct egchan *hp; + int dev; + char *cp; + + + if(strcmp(argv[3],"ax25") != 0){ + _printf(_("Mode %s unknown for interface %s\n"), + argv[3],argv[4]); + return -1; + } + if(if_lookup(argv[4]) != 0){ + _printf(_("Interface %s already exists\n"),argv[4]); + return -1; + } + if(Mycall[0] == '\0'){ + _printf(_("set mycall first\n")); + return -1; + } + + + + + if(Egnbr >= 1 ) { + _printf(_("Only 1 EAGLE controller supported right now!\n")); + return -1; + } + if(setencap(0,argv[3]) == -1){ + _printf(_("Unknown encapsulation %s\n"),argv[3]); + return -1; + } + dev = Egnbr++; + + + Eagle[dev].addr = htoi(argv[1]); + Eagle[dev].vec = atoi(argv[2]); + if(strchr(argv[2],'c') != 0) + Eagle[dev].chain = 1; + else + Eagle[dev].chain = 0; + + + + Eagle[dev].oldvec = getirq(Eagle[dev].vec); + + + if(setirq(Eagle[dev].vec,eghandle[dev]) == -1){ + _printf(_("IRQ %u out of range\n"),Eagle[dev].vec); + Egnbr--; + return -1; + } + + if_pca = (struct iface *)callocw(1,sizeof(struct iface)); + if_pcb = (struct iface *)callocw(1,sizeof(struct iface)); + + if_pca->addr = if_pcb->addr = Ip_addr; + if(argc > 8) + if_pca->addr = resolve(argv[8]); + if(argc > 9) + if_pcb->addr = resolve(argv[9]); + + if(if_pca->addr == 0 || if_pcb->addr == 0){ + printf(Noipaddr); + free(if_pca); + free(if_pcb); + return -1; + } + + if_pca->name = mallocw((unsigned)strlen(argv[4])+2); + strcpy(if_pca->name,argv[4]); + strcat(if_pca->name,"a"); + + if_pcb->name = mallocw((unsigned)strlen(argv[4])+2); + strcpy(if_pcb->name,argv[4]); + strcat(if_pcb->name,"b"); + + if_pcb->mtu = if_pca->mtu = atoi(argv[6]); + if_pcb->ioctl = if_pca->ioctl = eg_ctl; + if_pca->dev = 2*dev; + if_pcb->dev = 2*dev + 1; + if_pcb->stop = if_pca->stop = eg_stop; + if_pcb->raw = if_pca->raw = eg_raw; + + + setencap(if_pca,argv[3]); + setencap(if_pcb,argv[3]); + if(if_pcb->hwaddr == 0) + if_pcb->hwaddr = mallocw(7 ); + memcpy(if_pcb->hwaddr,Mycall,7 ); + if(if_pca->hwaddr == 0) + if_pca->hwaddr = mallocw(7 ); + memcpy(if_pca->hwaddr,Mycall,7 ); + + + if_pca->next = if_pcb; + if_pcb->next = Ifaces; + Ifaces = if_pca; + + + + hp = &Egchan[2*dev+1]; + hp->iface = if_pcb; + hp->stata = Eagle[dev].addr + 2 + 0; + hp->statb = Eagle[dev].addr + 0 + 0; + hp->dmactrl = Eagle[dev].addr + 4 ; + hp->speed = (uint16)atoi(argv[7]); + hp->base = Eagle[dev].addr + 0 ; + hp->bufsiz = atoi(argv[5]); + hp->tstate = 0 ; + + hp->txdelay = 25; + hp->persist = 64; + hp->slotime = 10; + hp->squeldelay = 20; + + write_scc(0+hp->stata,9,0xc0 ); + + + write_scc(0+hp->stata,9,0); + + egchanparam(hp); + + + hp->rcvbuf = alloc_mbuf(hp->bufsiz); + if(hp->rcvbuf == 0) { + + _printf(_("EGATTACH: No memory available for Receive buffers\n")); + + setirq(Eagle[dev].vec,Eagle[dev].oldvec); + Egnbr--; + return(-1); + } + hp->rcp = hp->rcvbuf->data; + hp->rcvbuf->cnt = 0; + hp->sndq = 0; + + + hp = &Egchan[2*dev]; + hp->iface = if_pca; + hp->speed = (uint16)atoi(argv[7]); + hp->base = Eagle[dev].addr + 2 ; + hp->bufsiz = atoi(argv[5]); + hp->tstate = 0 ; + + hp->txdelay = 25; + hp->persist = 64; + hp->slotime = 10; + hp->squeldelay = 20; + + egchanparam(hp); + + + hp->rcvbuf = alloc_mbuf(hp->bufsiz); + if(hp->rcvbuf == 0) { + + _printf(_("EGATTACH: No memory available for Receive buffers\n")); + + setirq(Eagle[dev].vec,Eagle[dev].oldvec); + Egnbr--; + return -1; + } + hp->rcp = hp->rcvbuf->data; + hp->rcvbuf->cnt = 0; + hp->sndq = 0; + + write_scc(0+hp->base,9,8 |2 ); + + + outportb(hp->dmactrl,8 ); + + + maskon(Eagle[dev].vec); + + cp = if_name(if_pca," tx"); + if_pca->txproc = newproc(cp,512,if_tx,0,if_pca,0,0); + free(cp); + cp = if_name(if_pcb," tx"); + if_pcb->txproc = newproc(cp,512,if_tx,0,if_pcb,0,0); + free(cp); + + return 0; +} + + + +static int +eg_stop(iface) +struct iface *iface; +{ + int dev; + + dev = iface->dev; + if(dev & 1) + return 0; + dev >>= 1; + + + maskoff(Eagle[dev].vec); + + + setirq(Eagle[dev].vec,Eagle[dev].oldvec); + + + write_scc(0+Eagle[dev].addr + 2 ,9,0xc0 ); + + + outportb(Eagle[dev].addr+4 ,0); + return 0; +} + + +static int +eg_raw( +struct iface *iface, +struct mbuf **bpp +){ + char kickflag; + struct egchan *hp; + + dump(iface,0x01 ,*bpp); + iface->rawsndcnt++; + iface->lastsent = secclock(); + hp = &Egchan[iface->dev]; + kickflag = (hp->sndq == 0) & (hp->sndbuf == 0); + enqueue(&hp->sndq,bpp); + if(kickflag) + egtxint(hp); + return 0; +} + + + + +static void +waitmsec(n) +int n; +{ + long i; + + for(i=0L; i < (200L*n); i++) + ; +} + + +int +doegstat(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct egchan *hp0, *hp1; + int i; + + for(i=0; i<1 ; i++) { + hp0 = &Egchan[i]; + hp1 = &Egchan[i+1]; + + _printf(_("EAGLE Board Statistics:\n\n")); + _printf(_("Base Addr\tRxints\tTxints\tExints\tEnqued\tCrcerr\tAborts\tRxOvers\tRFrames\n")); + _printf(_("---------\t------\t------\t------\t------\t------\t------\t-------\t-------\n")); + _printf(_("0x%x\t\t%ld\t%ld\t%ld\t%d\t%d\t%d\t%d\t%d\nRcv State=%s\n"), hp0->base, hp0->rxints, + hp0->txints, hp0->exints, hp0->enqueued, hp0->crcerr, hp0->aborts, + hp0->rovers,hp0->rxframes, + hp0->rstate==0?"IDLE":hp0->rstate==1?"ACTIVE":hp0->rstate==2?"RXERROR":hp0->rstate==3?"RXABORT":"TOOBIG"); + + _printf(_("0x%x\t\t%ld\t%ld\t%ld\t%d\t%d\t%d\t%d\t%d\nRcv State=%s\n\n"), hp1->base, hp1->rxints, + hp1->txints, hp1->exints, hp1->enqueued, hp1->crcerr, hp1->aborts, + hp1->rovers,hp1->rxframes, + hp1->rstate==0?"IDLE":hp1->rstate==1?"ACTIVE":hp1->rstate==2?"RXERROR":hp1->rstate==3?"RXABORT":"TOOBIG"); + } + return 0; +} + + +static int32 +eg_ctl(iface,cmd,set,val) +struct iface *iface; +int cmd; +int set; +int32 val; +{ + struct egchan *hp; + + hp = &Egchan[iface->dev]; + switch(cmd){ + case PARAM_TXDELAY: + if(set) + hp->txdelay = val; + return hp->txdelay; + case PARAM_PERSIST: + if(set) + hp->persist = val; + return hp->persist; + case PARAM_SLOTTIME: + if(set) + hp->slotime = val; + return hp->slotime; + case PARAM_TXTAIL: + if(set) + hp->squeldelay = val; + return hp->squeldelay; + } + return -1; +} diff --git a/src/nos/drivers/enet.i b/src/nos/drivers/enet.i new file mode 100644 index 00000000..5773f5f6 --- /dev/null +++ b/src/nos/drivers/enet.i @@ -0,0 +1,2794 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +enum arp_opcode { + ARP_REQUEST=1, + ARP_REPLY, + REVARP_REQUEST, + REVARP_REPLY +}; + +enum arp_hwtype { + ARP_NETROM=0, + ARP_ETHER, + ARP_EETHER, + ARP_AX25, + ARP_PRONET, + ARP_CHAOS, + ARP_IEEE802, + ARP_ARCNET, + ARP_APPLETALK +}; +extern char *Arptypes[]; + + + +struct arp_type { + uint16 hwalen; + uint16 iptype; + uint16 arptype; + uint16 pendtime; + uint8 *bdcst; + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + +}; +extern struct arp_type Arp_type[]; + + +struct arp { + enum arp_hwtype hardware; + uint16 protocol; + uint8 hwalen; + uint8 pralen; + enum arp_opcode opcode; + uint8 shwaddr[20 ]; + int32 sprotaddr; + uint8 thwaddr[20 ]; + int32 tprotaddr; +}; + + +struct arp_tab { + struct arp_tab *next; + struct arp_tab *prev; + struct timer timer; + struct mbuf *pending; + int32 ip_addr; + enum arp_hwtype hardware; + enum { + ARP_PENDING, + ARP_VALID + } state; + uint8 *hw_addr; + unsigned int pub:1; +}; +extern struct arp_tab *Arp_tab[]; + +struct arp_stat { + unsigned recv; + unsigned badtype; + unsigned badlen; + unsigned badaddr; + unsigned inreq; + unsigned replies; + unsigned outreq; +}; +extern struct arp_stat Arp_stat; + + +struct arp_tab *arp_add(int32 ipaddr,enum arp_hwtype hardware,uint8 *hw_addr, + int pub); +void arp_drop(void *p); +int arp_init(unsigned int hwtype,int hwalen,int iptype,int arptype, + int pendtime,uint8 *bdcst,char *(*format)(char *,uint8 *), + int (*scan)(uint8 *,char *) ); +void arp_input(struct iface *iface,struct mbuf **bpp); +struct arp_tab *arp_lookup(enum arp_hwtype hardware,int32 ipaddr); +uint8 *res_arp(struct iface *iface,enum arp_hwtype hardware,int32 target,struct mbuf **bpp); + + +struct mbuf *htonarp(struct arp *arp); +int ntoharp(struct arp *arp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + +struct ether { + uint8 dest[6]; + uint8 source[6]; + uint16 type; +}; + + + +extern uint8 Ether_bdcst[]; + + + + + + + + + + + + +char *pether(char *out,uint8 *addr); +int gether(uint8 *out,char *cp); +int enet_send(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +int enet_output(struct iface *iface,uint8 dest[],uint8 source[],uint16 type, + struct mbuf **bpp); +void eproc(struct iface *iface,struct mbuf **bpp); + + +void htonether(struct ether *ether,struct mbuf **data); +int ntohether(struct ether *ether,struct mbuf **bpp); + + + +uint8 Ether_bdcst[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; + + +void +htonether( +struct ether *ether, +struct mbuf **bpp +){ + register uint8 *cp; + + if(bpp == 0) + return; + pushdown(bpp,0,14); + cp = (*bpp)->data; + memcpy(cp,ether->dest,6); + cp += 6; + memcpy(cp,ether->source,6); + cp += 6; + put16(cp,ether->type); +} + +int +ntohether( +struct ether *ether, +struct mbuf **bpp +){ + pullup(bpp,ether->dest,6); + pullup(bpp,ether->source,6); + ether->type = pull16(bpp); + return 14; +} + + +char * +pether( +char *out, +uint8 *addr +){ + sprintf(out,"%02x:%02x:%02x:%02x:%02x:%02x", + addr[0],addr[1],addr[2],addr[3],addr[4],addr[5]); + return out; +} + + +int +gether( + uint8 *out, + char *cp +){ + register int i; + + for(i=6; i!=0; i--){ + *out++ = htoi(cp); + if((cp = strchr(cp,':')) == 0) + break; + cp++; + } + return i; +} + +int +enet_send( +struct mbuf **bpp, +struct iface *iface, +int32 gateway, +uint8 tos +){ + uint8 *egate; + + egate = res_arp(iface,ARP_ETHER,gateway,bpp); + if(egate != 0) + return (*iface->output)(iface,egate,iface->hwaddr,0x800 ,bpp); + return 0; +} + +int +enet_output( +struct iface *iface, +uint8 *dest, +uint8 *source, +uint16 type, +struct mbuf **bpp +){ + struct ether ep; + + memcpy(ep.dest,dest,6); + memcpy(ep.source,source,6); + ep.type = type; + htonether(&ep,bpp); + return (*iface->raw)(iface,bpp); +} + +void +eproc( +struct iface *iface, +struct mbuf **bpp +){ + struct ether hdr; + + + ntohether(&hdr,bpp); + + switch(hdr.type){ + case 0x8035 : + case 0x806 : + arp_input(iface,bpp); + break; + case 0x800 : + ip_route(iface,bpp,hdr.dest[0] & 1); + break; + default: + free_p(bpp); + break; + } +} + diff --git a/src/nos/drivers/hapn.i b/src/nos/drivers/hapn.i new file mode 100644 index 00000000..1d3f25ab --- /dev/null +++ b/src/nos/drivers/hapn.i @@ -0,0 +1,3393 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct hapn { + struct iface *iface; + + long rxints; + long txints; + + int badint; + int crcerr; + int aborts; + int dmaorun; + int toobig; + int rframes; + int cdloss; + int rxorun; + int nomem; + int t_urun; + int ctsloss; + int taborts; + int tframes; + + struct mbuf *rcvbuf; + uint16 bufsiz; + uint8 *rcp; + + struct mbuf *sndq; + uint16 sndcnt; + struct mbuf *sndbuf; + int tstate; + + + + struct timer defer; + int mode; + + + uint16 base; + unsigned vec; + void (*oldvec)(void); + uint8 chain; +}; + +extern struct hapn Hapn[]; + + + + +void ( *(haint)(int dev))(); + + +void ha0vec(void); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + +static void cmd_8273(uint16 base,uint8 cmd,int np,...); +static int hapn_init(struct hapn *hp); +static int hapn_raw(struct iface *iface,struct mbuf **bpp); +static int hapn_stop(struct iface *iface); +static int hcdchk(uint16 base); +static void hrxint(struct hapn *hp); +static void hrxgo(struct hapn *hp); +static void htxint(void *p); + + struct hapn Hapn[1]; +static void (*H_handle[])() = { ha0vec }; +static uint16 Nhapn; + + + + + + + +static void +cmd_8273(uint16 base, uint8 cmd, int np, ...) +{ + int p; + va_list ap; + + while(inportb(base+0) & 0x80) + ; + outportb(base+0, cmd); + + ((ap) = (char *)&(np) + ((sizeof(np) + (2 - 1)) & ~(2 - 1))); + while(np--){ + while(inportb(base+0) & 0x20) + ; + p = (*(int *)((*(char **)&(ap) += ((sizeof(int) + (2 - 1)) & ~(2 - 1))) - ((sizeof(int) + (2 - 1)) & ~(2 - 1)))); + outportb(base+1, p); + } + ; +} + +static void +hrxgo(hp) +register struct hapn *hp; +{ + cmd_8273(hp->base, 0xc0, 2, hp->bufsiz & 0xff, hp->bufsiz >> 8); +} + + + + + + +void ( *(haint)(dev))() +int dev; +{ + register struct hapn *hp; + register uint16 base; + char flag = 0; + + hp = &Hapn[dev]; + base = hp->base; + + + if(inportb(base+0) & 4){ + flag = 1; + htxint(hp); + } + + if(inportb(base+0) & 8){ + flag = 1; + hrxint(hp); + } + + if(!flag){ + hp->badint++; + hapn_init(hp); + } + return hp->chain ? hp->oldvec : 0; +} + + + + +static void +hrxint(hp) +register struct hapn *hp; +{ + struct mbuf *bp; + register uint16 base; + unsigned char results[10]; + + hp->rxints++; + base = hp->base; + + if(inportb(base+0) & 2){ + + + + + + + if((results[0]=(inportb(base + 3))) == 0xe0){ + + while((inportb(base + 0) & 2) == 0) + ; + + results[1] = inportb(base + 3); + + while((inportb(base + 0) & 2) == 0) + ; + results[2] = inportb(base + 3); + + + net_route(hp->iface,&hp->rcvbuf); + hp->rframes++; + } else { + + + + + switch(results[0]){ + case 3: + hp->crcerr++; + break; + case 4: + hp->aborts++; + break; + case 8: + hp->dmaorun++; + break; + case 9: + hp->toobig++; + break; + case 0xa: + hp->cdloss++; + hapn_init(hp); + break; + case 0xb: + hp->rxorun++; + break; + } + + hp->rcp = hp->rcvbuf->data; + hp->rcvbuf->cnt = 0; + } + + cmd_8273(base,0xc5,0); + hrxgo(hp); + } else { + + if((bp = hp->rcvbuf) == 0){ + bp = hp->rcvbuf = alloc_mbuf(hp->bufsiz); + if(bp == 0){ + + hp->nomem++; + cmd_8273(base, 0xc5, 0); + hrxgo(hp); + return; + } + + hp->rcp = hp->rcvbuf->data; + } + + + + if(bp->cnt++ >= hp->bufsiz){ + hp->toobig++; + cmd_8273(base, 0xc5, 0); + hrxgo(hp); + free_p(&bp); + hp->rcvbuf = 0; + return; + } + + *hp->rcp++ = inportb(base+8); + } +} + + + + +static int +hcdchk(base) +uint16 base; +{ + int i_state; + + i_state = dirps(); + cmd_8273(base, 0x22, 0); + while(!(inportb(base+0) & 0x10)) + ; + restore(i_state); + return((inportb(base+1) & 2) != 0); +} + + + + + +static void +htxint(p) +void *p; +{ + register struct hapn *hp; + register uint16 base; + uint16 len; + int c; + int i_state; + + hp = (struct hapn *)p; + hp->txints++; + base = hp->base; + + c = 0; + i_state = dirps(); + if(inportb(base+0) & 1){ + hp->tstate = 0; + free_p(&hp->sndbuf); + hp->sndbuf = 0; + + + while((inportb(base+0) & (4 | 1)) != (4 | 1)) + ; + c = inportb(base+2); + + + switch(c & 0x1f){ + case 0xe: + hp->t_urun++; + break; + case 0xf: + hp->ctsloss++; + break; + case 0x10: + hp->taborts++; + break; + } + } + switch(hp->tstate){ + case 0: + if((hp->sndbuf = dequeue(&hp->sndq)) == 0) + break; + + case 1: + if(hp->mode == 0 && (c & 0x1f) != 0xc){ + if(hcdchk(base)){ + hp->tstate = 1; + start_timer(&hp->defer); + break; + } + } + + stop_timer(&hp->defer); + len = len_p(hp->sndbuf); + cmd_8273(base, 0xc8, 2, len & 0xff, len >> 8); + hp->tstate = 2; + hp->tframes++; + break; + case 2: + if((c = pull8(((&hp->sndbuf)))) == -1){ + cmd_8273(base, 0xcc, 0); + hp->tstate = 0; + } else + outportb(base+4, c); + break; + } + restore(i_state); +} + + + + + + + + + + + + +int +hapn_attach(argc, argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct iface *if_h; + struct hapn *hp; + int dev, i; + static struct { + char *str; + char type; + } ch_access [] = { "csma", 0, "full", 1 }; + char *cp; + int i_state; + + if(Nhapn >= 1){ + _printf(_("Too many HAPN adaptors\n")); + return -1; + } + if(if_lookup(argv[4]) != 0){ + _printf(_("Interface %s already exists\n"),argv[4]); + return -1; + } + if(setencap(0,argv[3]) == -1){ + _printf(_("Mode %s unknown for interface %s\n"), argv[3], argv[4]); + return -1; + } + if(Mycall[0] == '\0'){ + _printf(_("set mycall first\n")); + return -1; + } + + if_h = (struct iface *) callocw(1,sizeof(struct iface)); + + + if_h->addr = Ip_addr; + if(argc > 8) + if_h->addr = resolve(argv[8]); + if(if_h->addr == 0){ + printf(Noipaddr); + free(if_h); + return -1; + } + dev = Nhapn++; + hp = &Hapn[dev]; + + + hp->base = htoi(argv[1]); + hp->vec = atoi(argv[2]); + if(strchr(argv[2],'c') != 0) + hp->chain = 1; + else + hp->chain = 0; + + + hp->oldvec = getirq(Hapn[dev].vec); + + + setirq(hp->vec, H_handle[dev]); + + + if_h->name = strdupw(argv[4]); + if_h->mtu = atoi(argv[6]); + if_h->dev = dev; + if_h->stop = hapn_stop; + if_h->raw = hapn_raw; + hp->iface = if_h; + + setencap(if_h,argv[3]); + if(if_h->hwaddr == 0) + if_h->hwaddr = mallocw(7 ); + memcpy(if_h->hwaddr,Mycall,7 ); + + if_h->next = Ifaces; + Ifaces = if_h; + + + hp->bufsiz = atoi(argv[5]); + for(i = 0; i < (sizeof ch_access / sizeof ch_access[0]); i++) + if(!strcmp(argv[7], ch_access[i].str)) + hp->mode = ch_access[i].type; + + + i_state = dirps(); + hapn_init(hp); + + + set_timer(&hp->defer,55 ); + hp->defer.func = htxint; + hp->defer.arg = hp; + + + maskon(hp->vec); + + restore(i_state); + cp = if_name(if_h," tx"); + if_h->txproc = newproc(cp,512,if_tx,0,if_h,0,0); + free(cp); + return 0; +} + + +static int +hapn_init(hp) +register struct hapn *hp; +{ + register uint16 base; + int i_state; + + i_state = dirps(); + base = hp->base; + + + outportb(base+1, 1); + outportb(base+1, 0); + inportb(base+2); + inportb(base+3); + + + cmd_8273(base, 0x97, 1, 1); + cmd_8273(base, 0x91, 1, 0x20 | 0x8 | 2 | 1); + cmd_8273(base, 0xa0, 1, 1); + cmd_8273(base, 0xa3, 1, 8 | 1); + cmd_8273(base, 0x63, 1, 0xff ^ 1); + hrxgo(hp); + restore(i_state); + return 0; +} + + +static int +hapn_stop(iface) +struct iface *iface; +{ + int dev; + uint16 base; + struct hapn *hp; + + dev = iface->dev; + hp = &Hapn[dev]; + base = hp->base; + + + maskoff(hp->vec); + + + setirq(hp->vec,hp->oldvec); + + + outportb(base+1, 1); + outportb(base+1, 0); + return 0; +} + + +int +dohapnstat(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct hapn *hp; + int i; + + if(Nhapn == 0){ + _printf(_("No HAPN adaptor attached\n")); + return 1; + } + for(i = 0; i < Nhapn; i++){ + hp = &Hapn[i]; + _printf(_("HAPN %d: rxints: %ld txints: %ld badint: %-5d\n"), i, + hp->rxints,hp->txints,hp->badint); + _printf(_(" receive - frames: %-5d crcerrs: %-5d aborts: %-5d dmaorun: %-5d\n"), + hp->rframes,hp->crcerr, hp->aborts, hp->dmaorun); + _printf(_(" - toobig: %-5d dcdloss: %-5d rxorun: %-5d\n"), + hp->toobig,hp->cdloss,hp->rxorun); + _printf(_(" transmit - frames: %-5d aborts : %-5d uruns : %-5d ctsloss: %-5d\n"), + hp->tframes,hp->taborts, hp->t_urun, hp->ctsloss); + } + return 0; +} + + +static int +hapn_raw( +struct iface *iface, +struct mbuf **bpp +){ + struct hapn *hp; + + hp = &Hapn[iface->dev]; + enqueue(&hp->sndq, bpp); + + + if(hp->tstate == 0) + htxint(hp); + return 0; +} diff --git a/src/nos/drivers/hs.i b/src/nos/drivers/hs.i new file mode 100644 index 00000000..b68af8d1 --- /dev/null +++ b/src/nos/drivers/hs.i @@ -0,0 +1,3752 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + +struct hs { + struct { + void (*vec)(void); + } save; + + uint16 addr; + uint16 vec; + long ints; + uint8 chain; +}; +extern struct hs Hs[]; + + + + + + + + + + + + +struct hdlc { + long rxints; + long txints; + long exints; + long spints; + long rxbytes; + long nomem; + long toobig; + long crcerr; + long aborts; + long good; + long txpkts; + long overrun; + + uint16 bufsiz; + + int dev; + int clkrev; + uint16 ctl; + uint16 data; + uint16 speed; + long txdelay; + uint8 p; + struct mbuf *txq; + + struct iface *iface; + int32 deftime; +}; + + + + + +struct baudrate { + uint16 speed; + uint8 val; +}; + +void ( *(hsint)(int dev))(); + + +void hs0vec(int dev); + + + + + + + + + + +void write_scc(uint16 ctl,uint8 reg,uint8 val); +uint8 read_scc(uint16 ctl,uint8 reg); +int rx8530(uint16 ctl,uint16 data,void *buf,uint16 bufsize); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + + + + +enum devparam { + PARAM_DATA, + PARAM_TXDELAY, + PARAM_PERSIST, + PARAM_SLOTTIME, + PARAM_TXTAIL, + PARAM_FULLDUP, + PARAM_HW, + PARAM_MUTE, + PARAM_DTR, + PARAM_RTS, + PARAM_SPEED, + PARAM_ENDDELAY, + PARAM_GROUP, + PARAM_IDLE, + PARAM_MIN, + PARAM_MAXKEY, + PARAM_WAIT, + + PARAM_CLOSE, + PARAM_OPEN, + PARAM_LISTEN, + PARAM_DOWN=0x81, + PARAM_UP=0x82, + + PARAM_BLIND=0x83, + PARAM_RETURN=0xff +}; + + +int devparam(char *s); +char *parmname(int n); + + + + + + + + +static void flushrx(uint16 data); +static void hdlcparam(struct hdlc *hp); +static void hexint(struct hdlc *hp); +static void hrxint(struct hdlc *hp); +static int hs_stop(struct iface *iface); +static int hs_raw(struct iface *iface,struct mbuf **bpp); +static int32 hs_ctl(struct iface *,int cmd,int set,int32 val); +static void hstxoff(struct hdlc *hp); +static void hstxon(struct hdlc *hp); +static void htxint(struct hdlc *hp); +static void init_delay(void); +static void msdelay(void); + + struct hs Hs[1 ]; +static void (*Hshandle[])() = { hs0vec }; +static struct hdlc Hdlc[2*1 ]; +static uint16 Nhs; + + + + +void ( *(hsint)(dev))() +int dev; +{ + register char iv; + uint16 hsbase; + struct hs *hsp; + register struct hdlc *hp; + + hsp = &Hs[dev]; + hsp->ints++; + hsbase = hsp->addr; + + + + + + + + + while((iv = read_escc(hsbase+2 +0,3)) != 0){ + if(iv & 0x20 ){ + + hp = &Hdlc[2*dev]; + hrxint(hp); + } else if(iv & 0x10 ){ + + hp = &Hdlc[2*dev]; + htxint(hp); + } else if(iv & 0x8 ){ + + hp = &Hdlc[2*dev]; + hexint(hp); + } else if(iv & 0x4 ){ + + hp = &Hdlc[(2*dev)+1]; + hrxint(hp); + } else if(iv & 0x2 ){ + + hp = &Hdlc[(2*dev)+1]; + htxint(hp); + } else if(iv & 0x1 ){ + + hp = &Hdlc[(2*dev)+1]; + hexint(hp); + } + + write_escc(hp->ctl,0 ,0x38 ); + outportb(hsbase+2 +0,0); + outportb(hsbase+0 +0,0); + } + outportb(hsbase+2 +0,0); + outportb(hsbase+0 +0,0); + return hsp->chain ? hsp->save.vec : 0; +} + + + +static void +hexint(hp) +register struct hdlc *hp; +{ + struct mbuf *rcvbuf; + char *cp; + int cnt,data; + register int ctl; + + ctl = hp->ctl; + data = hp->data; + hp->exints++; + + + if((rcvbuf = alloc_mbuf(hp->bufsiz+sizeof(struct iface *))) == 0){ + + hp->nomem++; + write_escc(ctl,3,0x10 |0x1 |0x8 |0xc0 ); + write_escc(ctl,0 ,0x10 ); + return; + } + + rcvbuf->data += sizeof(struct iface *); + cnt = 0; + + + write_escc(ctl,15,0); + + write_escc(ctl,3,0x10 |0x1 |0x8 |0xc0 ); + flushrx(data); + while((cnt = rx8530(ctl,data,cp,hp->bufsiz)) != -1){ + if(cnt > 4){ + + hp->good++; + + rcvbuf->cnt = cnt - 1; + net_route(hp->iface,&rcvbuf); + + rcvbuf = alloc_mbuf(hp->bufsiz + sizeof(struct iface *)); + } + + if(rcvbuf == 0) + break; + rcvbuf->data += sizeof(struct iface *); + } + write_escc(ctl,0 ,0x10 ); + write_escc(ctl,15,8 ); + write_escc(ctl,3,0x10 |0x1 |0x8 |0xc0 ); + + + free_p(&rcvbuf); +} +static void +flushrx(data) +register uint16 data; +{ + register int i = 5; + while(i-- != 0) + (void)inportb(data); +} + + + +static void +hrxint(hp) +register struct hdlc *hp; +{ +} + + + +static void +htxint(hp) +register struct hdlc *hp; +{ +} + + +static void +hdlcparam(hp) +register struct hdlc *hp; +{ + register uint16 ctl; + int i_state; + + + ctl = hp->ctl; + i_state = dirps(); + + + + + write_escc(ctl,1,0); + write_escc(ctl,15,0); + + + write_escc(ctl,4,0x0 | 0x20 | 0 ); + + + + + write_escc(ctl,10,0x80 |0 ); + + + + + + + if(!hp->clkrev) + write_escc(ctl,11,0 | 8 ); + else + write_escc(ctl,11,0x20 | 0 ); + + + + + write_escc(ctl,6,0); + + + write_escc(ctl,7,0x7e); + + + + + write_escc(ctl,5,0x80 |0x60 |0x8 |0x1 ); + + + + + + write_escc(ctl,3,0x1 |0x8 |0xc0 ); + + + + + write_escc(ctl,2,0); + + + + + write_escc(ctl,1,0x1 ); + + + write_escc(ctl,15,8 ); + + + + + write_escc(ctl,9,8 |2 ); + + restore(i_state); +} + + + + + + + + + + + + +int +hs_attach(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct iface *if_hsa,*if_hsb; + struct hdlc *hp; + int dev; + char *cp; + + if(Nhs >= 1 ){ + _printf(_("Too many hs controllers\n")); + return -1; + } + if(if_lookup(argv[4]) != 0){ + _printf(_("Interface %s already exists\n"),argv[4]); + return -1; + } + if(setencap(0,argv[3]) == -1){ + _printf(_("Unknown encapsulation %s\n"),argv[3]); + return -1; + } + if(Mycall[0] == '\0'){ + _printf(_("set mycall first\n")); + return -1; + } + dev = Nhs++; + + + Hs[dev].addr = htoi(argv[1]); + Hs[dev].vec = atoi(argv[2]); + if(strchr(argv[2],'c') != 0) + Hs[dev].chain = 1; + else + Hs[dev].chain = 0; + + + Hs[dev].save.vec = getirq(Hs[dev].vec); + + if(setirq(Hs[dev].vec,Hshandle[dev]) == -1){ + _printf(_("IRQ %u out of range\n"),Hs[dev].vec); + Nhs--; + return -1; + } + + if_hsa = (struct iface *)callocw(1,sizeof(struct iface)); + if_hsb = (struct iface *)callocw(1,sizeof(struct iface)); + + if_hsa->addr = if_hsb->addr = Ip_addr; + if_hsa->name = mallocw(strlen(argv[4])+2); + strcpy(if_hsa->name,argv[4]); + strcat(if_hsa->name,"a"); + if_hsb->name = mallocw(strlen(argv[4])+2); + strcpy(if_hsb->name,argv[4]); + strcat(if_hsb->name,"b"); + if_hsb->mtu = if_hsa->mtu = atoi(argv[6]); + if_hsa->dev = 2*dev; + if_hsb->dev = 2*dev + 1; + if_hsb->stop = if_hsa->stop = hs_stop; + if_hsb->raw = if_hsa->raw = hs_raw; + if_hsa->ioctl = if_hsb->ioctl = hs_ctl; + + setencap(if_hsa,argv[3]); + setencap(if_hsb,argv[3]); + if(if_hsb->hwaddr == 0) + if_hsb->hwaddr = mallocw(7 ); + memcpy(if_hsb->hwaddr,Mycall,7 ); + if(if_hsa->hwaddr == 0) + if_hsa->hwaddr = mallocw(7 ); + memcpy(if_hsa->hwaddr,Mycall,7 ); + if_hsa->next = if_hsb; + if_hsb->next = Ifaces; + Ifaces = if_hsa; + + write_escc(Hs[dev].addr+2 +0,9,0xc0 ); + hp = &Hdlc[2*dev+1]; + hp->ctl = Hs[dev].addr + 0 + 0; + hp->data = Hs[dev].addr + 0 + 1; + hp->bufsiz = atoi(argv[5]); + if(argc > 7) + hp->txdelay = atol(argv[7]); + else + hp->txdelay = 15L; + if(argc > 8) + hp->p = atoi(argv[8]); + else + hp->p = 64; + if(argc > 9 && argv[9][0] == 'r') + hp->clkrev = 1; + else + hp->clkrev = 0; + hp->iface = if_hsb; + hdlcparam(hp); + + hp = &Hdlc[2*dev]; + hp->ctl = Hs[dev].addr + 2 + 0; + hp->data = Hs[dev].addr + 2 + 1; + hp->bufsiz = atoi(argv[5]); + hp->txdelay = Hdlc[2*dev+1].txdelay; + hp->p = Hdlc[2*dev+1].p; + if(argc > 9 && argv[9][0] == 'r') + hp->clkrev = 1; + else + hp->clkrev = 0; + hp->iface = if_hsa; + hdlcparam(hp); + + outportb(Hs[dev].addr + 4,0x08); + + maskon(Hs[dev].vec); + + + init_delay(); + cp = if_name(if_hsa," tx"); + if_hsa->txproc = newproc(cp,512,if_tx,0,if_hsa,0,0); + free(cp); + cp = if_name(if_hsb," tx"); + if_hsb->txproc = newproc(cp,512,if_tx,0,if_hsb,0,0); + free(cp); + return 0; +} +static int +hs_stop(iface) +struct iface *iface; +{ + int dev; + + dev = iface->dev; + if(dev & 1) + return -1; + dev >>= 1; + + + maskoff(Hs[dev].vec); + + + setirq(Hs[dev].vec,Hs[dev].save.vec); + + + write_escc(Hs[dev].addr + 2 +0,9,0xc0 ); + return 0; +} + +static int +hs_raw( +struct iface *iface, +struct mbuf **bpp +){ + + struct hdlc *hp; + struct mbuf *nbp; + register uint16 cnt; + register uint8 *cp; + uint16 ctl,data; + + dump(iface,0x01 ,*bpp); + iface->rawsndcnt++; + iface->lastsent = secclock(); + hp = &Hdlc[iface->dev]; + hp->txpkts++; + + ctl = hp->ctl; + data = hp->data; + + cnt = len_p(*bpp); + + + + if((*bpp)->next != 0){ + if((nbp = copy_p(*bpp,cnt)) == 0){ + hp->nomem++; + free_p(bpp); + return -1; + } + free_p(bpp); + *bpp = nbp; + } + cp = (*bpp)->data; + + hstxon(hp); + + write_escc(ctl,0 ,0x80 ); + for(;;){ + + while(!(inportb(ctl) & 0x4 )) + ; + if(cnt-- == 0) + break; + outportb(data,*cp++); + } + write_escc(ctl,0 ,0xC0 ); + + + + + + while(!(inportb(ctl) & 0x40 )) + ; + + free_p(bpp); + hstxoff(hp); + + + + hp->deftime = msclock() + hp->txdelay + 500; + return 0; +} + + + + + +static void +hstxon(hp) +struct hdlc *hp; +{ + uint16 ctl; + int i; + long ca; + int32 t; + + ctl = hp->ctl; + + + + + + + for(;;){ + t = msclock(); + ca = hp->deftime - t; + if(ca > 0){ + ppause(ca); + continue; + } + hp->deftime = t; + if((rand() & 0xff) > hp->p){ + ppause((long)55 ); + continue; + } + break; + } + + + + + + + write_escc(ctl,9,0); + disable(); + + + write_escc(ctl,5,0x1 | 0x2 | 0x8 | 0x60 | 0x80 ); + + + for(i=hp->txdelay;i != 0;i--) + msdelay(); + +} + +static void +hstxoff(hp) +struct hdlc *hp; +{ + int cnt; + uint16 ctl,data; + + ctl = hp->ctl; + data = hp->data; + + + + for(cnt=5;cnt != 0;cnt--){ + while(!(inportb(ctl) & 0x4 )) + ; + outportb(data,0); + } + write_escc(ctl,0 ,0x18 ); + + + write_escc(ctl,5,0x1 | 0x60 | 0x80 ); + + write_escc(ctl,9,8 |2 ); + enable(); +} + +int +dohs(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register int i; + register struct hdlc *hp; + + for(i=0;i<2*Nhs;i++){ + hp = &Hdlc[i]; + _printf(_("port %d: txpkts %lu ints %lu rxpkts %lu rxbytes %lu nomem %lu toobig %lu crcerr %lu aborts %lu overrun %lu\n"), + i,hp->txpkts,hp->exints,hp->good,hp->rxbytes, + hp->nomem,hp->toobig,hp->crcerr,hp->aborts, + hp->overrun); + } + return 0; +} +static int32 +hs_ctl(iface,cmd,set,val) +struct iface *iface; +int cmd; +int set; +int32 val; +{ + register struct hdlc *hp; + int32 t,ca; + + hp = &Hdlc[iface->dev]; + switch(cmd){ + case PARAM_TXDELAY: + if(set) + hp->txdelay = val; + return hp->txdelay; + case PARAM_PERSIST: + if(set) + hp->p = val; + return hp->p; + case PARAM_MUTE: + + if(set){ + if(val == -1){ + + val = hp->txdelay + 500; + } + hp->deftime = msclock() + val; + } + t = msclock(); + ca = hp->deftime - t; + if(ca < 0){ + hp->deftime = t; + ca = 0; + } + return ca; + } + return -1; +} + + +static int32 Del_const; + + + + +static void +init_delay() +{ + int32 start,delay; + register int i,j; + int success = 0; + + + Del_const = 10; + _printf(_("Del_const = %lu\n"),Del_const); + + for(i=0;i<5;i++){ + start = msclock(); + for(j=0;j<1000;j++) + msdelay(); + delay = msclock()-start; + _printf(_("delay %lu\n"),delay); + if(delay == 0){ + + Del_const *= 10; + _printf(_("Del_const = %lu\n"),Del_const); + continue; + } + Del_const = (Del_const * 1000)/delay; + _printf(_("Del_const = %lu\n"),Del_const); + if(delay > 950 && delay < 1050){ + success = 1; + break; + } + } + if(!success) + _printf(_("HS: Warning: auto delay set failed\n")); +} + +static void +msdelay() +{ + int32 i; + + for(i=Del_const;i !=0;i--) + ; +} diff --git a/src/nos/drivers/pc100.i b/src/nos/drivers/pc100.i new file mode 100644 index 00000000..f608088b --- /dev/null +++ b/src/nos/drivers/pc100.i @@ -0,0 +1,3579 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pc100 { + void (*oldvec)(void); + uint16 addr; + unsigned vec; + long ints; + uint8 chain; +}; +extern struct pc100 Pc100[]; + + + + + + + + + + + + + + + + + + +struct hdlc { + long rxints; + long txints; + long exints; + long spints; + + int nomem; + int toobig; + int crcerr; + int aborts; + + uint8 status; + struct mbuf *rcvq; + uint16 rcvcnt; + struct mbuf *rcvbuf; + uint16 bufsiz; + uint8 *rcp; + + struct mbuf *sndq; + uint16 sndcnt; + struct mbuf *sndbuf; + int tstate; + + + + + + + + int mode; + + + + int dev; + uint16 base; + uint16 speed; +}; + + + + + + + + + +struct baudrate { + uint16 speed; + uint8 val; +}; + + +void ( *(pcint)(int dev))(); + + +void pc0vec(void); + + + + + + + + + + +void write_scc(uint16 ctl,uint8 reg,uint8 val); +uint8 read_scc(uint16 ctl,uint8 reg); +int rx8530(uint16 ctl,uint16 data,void *buf,uint16 bufsize); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + +static void hspint(struct hdlc *hp); +static void hexint(struct hdlc *hp); +static void hrxint(struct hdlc *hp); +static void htxint( struct hdlc *hp); +static void rts(uint16 base,int x); +static void hdlcparam(struct hdlc *hp); +static int pc_raw(struct iface *iface,struct mbuf **bpp); +static int pc_stop(struct iface *iface); + + struct pc100 Pc100[1 ]; +static void (*Pchandle[])() = { pc0vec }; +static struct hdlc Hdlc[2*1 ]; +static uint16 Npc; + + +static void (*Svec[])(struct hdlc *hp) = { + htxint, hexint, hrxint, hspint +}; + + + + +void ( *(pcint)(dev))() +int dev; +{ + register char iv; + register uint16 pcbase; + struct hdlc *hp; + struct pc100 *pcp; + + pcp = &Pc100[dev]; + pcp->ints++; + pcbase = pcp->addr; + + + iv = read_escc(1+pcbase+6 ,2); + + hp = &Hdlc[2 * dev + ((iv & 0x80)? 0 : 1)]; + + + (*Svec[(iv>>1) & 0x3])(hp); + + + write_escc(1+pcbase+4 ,0 ,0x38 ); + + + inportb(pcbase+8 ); + + return pcp->chain ? pcp->oldvec : 0; +} + + + + +static void +hspint(hp) + struct hdlc *hp; +{ + register char c; + + hp->spints++; + c = read_escc(1+hp->base,1); + + if((c & (0x80 |0x40 )) == 0x80 && hp->rcvbuf != 0 + && hp->rcvbuf->cnt > 1){ + + hp->rcvbuf->cnt--; + enqueue(&hp->rcvq,&hp->rcvbuf); + hp->rcvbuf = 0; + hp->rcvcnt++; + } else { + + hp->crcerr++; + if(hp->rcvbuf != 0){ + hp->rcp = hp->rcvbuf->data; + hp->rcvbuf->cnt = 0; + } + } + write_escc(1+hp->base,0 ,0x30 ); +} + + + + + +static void +hexint(hp) + struct hdlc *hp; +{ + hp->exints++; + hp->status = read_escc(1+hp->base,0 ); + if((hp->status & 0x80 ) && hp->rcvbuf != 0){ + hp->aborts++; + + hp->rcp = hp->rcvbuf->data; + hp->rcvbuf->cnt = 0; + } + write_escc(1+hp->base,0 ,0x10 ); + write_escc(1+hp->base,0 ,0x38 ); + + htxint(hp); +} + + + +static void +hrxint(hp) + struct hdlc *hp; +{ + struct mbuf *bp; + register uint16 base; + + hp->rxints++; + base = hp->base; + + if((bp = hp->rcvbuf) == 0){ + bp = hp->rcvbuf = alloc_mbuf(hp->bufsiz); + if(bp == 0){ + + hp->nomem++; + write_escc(1+base,3,0x10 |0x1 |0x8 |0xc0 ); + (void) inportb(base+0); + return; + } + hp->rcp = hp->rcvbuf->data; + } + while(read_escc(1+base,0 ) & 0x1 ){ + if(bp->cnt++ >= hp->bufsiz){ + + hp->toobig++; + write_escc(1+base,3,0x10 |0x1 |0x8 |0xc0 ); + (void) inportb(base+0); + free_p(&bp); + hp->rcvbuf = 0; + break; + } + + *hp->rcp++ = inportb(base+0); + } +} +static int ctswait; + + + + + +static void +htxint(hp) + struct hdlc *hp; +{ + register uint16 base; + int c; + int i_state; + + hp->txints++; + base = hp->base; + i_state = dirps(); + while(read_escc(1+base,0 ) & 0x4 ){ + switch(hp->tstate){ + + case 3 : + if((c = pull8(((&hp->sndbuf)))) != -1){ + outportb(base+0,c); + } else { + + write_escc(1+base,0 ,0x28 ); + if((hp->sndbuf = dequeue(&hp->sndq)) == 0){ + switch(hp->mode){ + case 0 : + + hp->tstate = 4 ; + break; + case 1 : + hp->tstate = 0 ; + break; + } + } + } + continue; + case 0 : + + if((hp->sndbuf = dequeue(&hp->sndq)) == 0) + goto ret; + + case 1 : + if(hp->mode == 0 && (hp->status & 0x8 )){ + hp->tstate = 1 ; + goto ret; + } + rts(base,1); + case 2 : + if((hp->status & 0x20 ) == 0){ + ctswait++; + hp->tstate = 2 ; + goto ret; + } + write_escc(1+base,0 ,0x80 ); + c = pull8(((&hp->sndbuf))); + outportb(hp->base+0,c); + hp->tstate = 3 ; + write_escc(1+base,0 ,0xC0 ); + continue; + case 4 : + outportb(hp->base+0,0); + hp->tstate = 5 ; + continue; + case 5 : + write_escc(1+base,0 ,0x18 ); + hp->tstate = 0 ; + rts(base,0); + write_escc(1+base,0 ,0x28 ); + continue; + } + } +ret: restore(i_state); +} + + +static void +rts(base,x) +uint16 base; +int x; +{ + uint16 cmd; + + if(x) + cmd = 0x1 | 0x2 | 0x8 | 0x60 | 0x80 ; + else + cmd = 0x1 | 0x8 | 0x60 | 0x80 ; + write_escc(1+base,5,cmd); +} + +static void +hdlcparam(hp) + struct hdlc *hp; +{ + uint16 tc; + register uint16 base; + int i_state; + + + base = hp->base; + i_state = dirps(); + + switch(base & 2){ + case 0: + write_escc(1+base,9,0x80 ); + break; + case 2: + write_escc(1+base,9,0x40 ); + break; + } + + + + write_escc(1+base,1,0x10 | 0x2 | 0x1 ); + + + + + write_escc(1+base,2,0); + + + + + write_escc(1+base,3,0xc0 |0x8 |0x1 ); + + + + + + write_escc(1+base,4,0x0 | 0x20 | 0 ); + + + + + write_escc(1+base,5,0x80 |0x60 |0x8 |0x1 ); + + + write_escc(1+base,7,0x7e); + + + + + write_escc(1+base,9,8 |2 |1 ); + + + + write_escc(1+base,10,0x80 |0x20 ); + + + + + + + + + + + + + write_escc(1+base,11,2 |4 |0 |0x60 ); + + + + + + tc = ((unsigned)76797) /(hp->speed) - 2; + write_escc(1+base,12,tc); + write_escc(1+base,13,tc >> 8); + + write_escc(1+base,14,0xe0 ); + write_escc(1+base,14,0x80 ); + write_escc(1+base,14,0x20 ); + + write_escc(1+base,14,1 |2 ); + + + + + write_escc(1+base,15,0x80 |0x40 |0x20 |8 ); + + restore(i_state); + if(hp->mode == 1 ){ + rts(base,1); + } else if(hp->tstate == 0 ){ + rts(base,0); + } +} + + + + + + + + + + + + + + +int +pc_attach(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct iface *if_pca,*if_pcb; + struct hdlc *hp; + int dev; + char *cp; + + if(Npc >= 1 ){ + _printf(_("Too many pc100 controllers\n")); + return -1; + } + if(if_lookup(argv[4]) != 0){ + _printf(_("Interface %s already exists\n"),argv[4]); + return -1; + } + if(setencap(0,argv[3]) == -1){ + _printf(_("Mode %s unknown for interface %s\n"), + argv[3],argv[4]); + return -1; + } + if(Mycall[0] == '\0'){ + _printf(_("set mycall first\n")); + return -1; + } + dev = Npc++; + + + Pc100[dev].addr = htoi(argv[1]); + Pc100[dev].vec = atoi(argv[2]); + if(strchr(argv[2],'c') != 0) + Pc100[dev].chain = 1; + else + Pc100[dev].chain = 0; + + + outportb(Pc100[dev].addr + 0 ,0x22); + + + Pc100[dev].oldvec = getirq(Pc100[dev].vec); + + if(setirq(Pc100[dev].vec,Pchandle[dev]) == -1){ + _printf(_("IRQ %u out of range\n"),Pc100[dev].vec); + Npc--; + return -1; + } + + if_pca = (struct iface *)callocw(1,sizeof(struct iface)); + if_pcb = (struct iface *)callocw(1,sizeof(struct iface)); + + if_pca->addr = if_pcb->addr = Ip_addr; + if(argc > 8) + if_pca->addr = resolve(argv[8]); + + if(argc > 9) + if_pcb->addr = resolve(argv[9]); + if(if_pca->addr == 0 || if_pcb->addr == 0){ + printf(Noipaddr); + free(if_pca); + free(if_pcb); + return -1; + } + if_pca->name = strdupw(argv[4]); + if_pcb->name = strdupw(argv[4]); + if_pcb->name[strlen(argv[4]) - 1]++; + if_pcb->mtu = if_pca->mtu = atoi(argv[6]); + if_pca->dev = 2*dev; + if_pcb->dev = 2*dev + 1; + if_pcb->stop = if_pca->stop = pc_stop; + if_pcb->raw = pc_raw; + + setencap(if_pca,argv[3]); + setencap(if_pcb,argv[3]); + if(if_pcb->hwaddr == 0) + if_pcb->hwaddr = mallocw(7 ); + memcpy(if_pcb->hwaddr,Mycall,7 ); + + if_pca->next = if_pcb; + if_pcb->next = Ifaces; + Ifaces = if_pca; + + hp = &Hdlc[2*dev+1]; + hp->speed = (uint16)atoi(argv[7]); + hp->base = Pc100[dev].addr + 6 ; + hp->bufsiz = atoi(argv[5]); + hdlcparam(hp); + + hp = &Hdlc[2*dev]; + hp->speed = (uint16)atoi(argv[7]); + hp->base = Pc100[dev].addr + 4 ; + hp->bufsiz = atoi(argv[5]); + hdlcparam(hp); + + + clrbit(0x21 ,(char)(1<txproc = newproc(cp,512,if_tx,0,if_pca,0,0); + free(cp); + cp = if_name(if_pcb," tx"); + if_pcb->txproc = newproc(cp,512,if_tx,0,if_pcb,0,0); + free(cp); + + return 0; +} +static int +pc_stop(iface) +struct iface *iface; +{ + int dev; + + dev = iface->dev; + if(dev & 1) + return 0; + dev >>= 1; + + maskoff(Pc100[dev].vec); + + + setirq(Pc100[dev].vec,Pc100[dev].oldvec); + + + write_escc(1+Pc100[dev].addr + 4 ,9,0xc0 ); + return 0; +} + + +static int +pc_raw( +struct iface *iface, +struct mbuf **bpp +){ + char kickflag; + struct hdlc *hp; + + dump(iface,0x01 ,*bpp); + iface->rawsndcnt++; + iface->lastsent = secclock(); + hp = &Hdlc[iface->dev]; + kickflag = (hp->sndq == 0); + enqueue(&hp->sndq,bpp); + if(kickflag) + htxint(&Hdlc[iface->dev]); + return 0; +} diff --git a/src/nos/drivers/pi.i b/src/nos/drivers/pi.i new file mode 100644 index 00000000..d69c59e7 --- /dev/null +++ b/src/nos/drivers/pi.i @@ -0,0 +1,5328 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long clock_t; + + +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +}; + +struct timezone { + int tz_minuteswest; + int tz_dsttime; +}; + + + + +extern char *tzname[2]; +extern int daylight; +extern long timezone; + +extern long clock (void); +extern time_t mktime (struct tm * __tp); +extern long difftime (time_t *__time2, time_t *__time1); + +extern time_t time (time_t *tvec); + +extern void __tm_conv (struct tm *tmbuf, time_t *t, int offset); +extern void __asctime (char *, struct tm *); +extern char *asctime (struct tm * __tp); +extern char *ctime (time_t * __tp); +extern void tzset (void); + +extern struct tm *gmtime (time_t *__tp); +extern struct tm *localtime (time_t * __tp); +extern unsigned long convtime (time_t *time_field); + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + +struct PITAB { + void (*oldvec)(void); + uint16 addr; + unsigned vec; + long ints; + uint8 chain; +}; +extern struct PITAB Pi[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pichan { + long rxints; + long txints; + long exints; + + int enqueued; + int rxframes; + int crcerr; + int rovers; + int tunders; + + uint8 *rcvbuf; + int32 rcvphys; + uint8 *rcp; + uint16 bufsiz; + uint16 rxcnt; + + struct mbuf *sndq; + uint16 sndcnt; + uint8 *sndbuf; + uint8 *tcp; + uint16 txcnt; + int32 sndphys; + uint8 tstate; + + + + + + + + uint8 rstate; + + + + + uint16 dev; + uint16 base; + uint16 cardbase; + uint16 stata; + uint16 statb; + uint16 speed; + uint16 txdelay; + uint8 persist; + uint16 slotime; + uint16 squeldelay; + struct iface *iface; + uint8 dmachan; + int32 deftime; +}; +extern struct pichan Pichan[]; + + + + + + + + +void ( *(piint)(int dev))(); + + +void mloop(void); +void wrtscc(uint16 cbase,uint16 ctl,uint16 reg,uint16 word); +uint8 rdscc(uint16 cbase,uint16 word,uint8 byte); +void pi0vec(void); +void pi1vec(void); +void pi2vec(void); + + + + + + + + + + +void write_scc(uint16 ctl,uint8 reg,uint8 val); +uint8 read_scc(uint16 ctl,uint8 reg); +int rx8530(uint16 ctl,uint16 data,void *buf,uint16 bufsize); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +enum ftp_type { + ASCII_TYPE, + IMAGE_TYPE, + LOGICAL_TYPE +}; + + +enum verb_level { + V_QUIET, + V_SHORT, + V_NORMAL, + V_HASH, + V_STAT +}; + +long sendfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +long recvfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +int isbinary(FILE *fp); +int md5hash(FILE *fp,uint8 hash[16],int ascii); + + + + + + + + + + + +struct ftpcli { + FILE *control; + FILE *data; + + char state; + + + + + uint16 verbose; + int batch; + int abort; + int update; + char type; + char typesent; + int logbsize; + FILE *fp; + + char buf[256 ]; + char line[256 ]; + struct session *session; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct telnet { + char local[6]; + char remote[6]; + struct session *session; + char eolmode; +}; + +extern int Refuse_echo; +extern int Tn_cr_mode; + + +int tel_connect(struct session *sp,struct sockaddr *fsocket,int len); +void tel_output(int unused,void *p1,void *p2); +void tnrecv(struct telnet *tn); +void doopt(struct telnet *tn,int opt); +void dontopt(struct telnet *tn,int opt); +void willopt(struct telnet *tn,int opt); +void wontopt(struct telnet *tn,int opt); +void answer(struct telnet *tn,int r1,int r2); + + +void ttylhandle(int s,void *unused,void *p); + + + + +struct ttystate { + uint8 *line; + uint8 *lp; + unsigned int echo:1; + unsigned int edit:1; + unsigned int crnl:1; +}; + + +struct session { + unsigned strchr; + enum { + TELNET, + FTP, + AX25TNC, + FINGER, + PING, + NRSESSION, + COMMAND, + VIEW, + HOP, + TIP, + PPPPASS, + DIAL, + DQUERY, + DCLIST, + ITRACE, + REPEAT, + FAX + } type; + + char *name; + union { + struct ftpcli *ftp; + struct telnet *telnet; + void *p; + } cb; + struct proc *proc; + struct proc *proc1; + struct proc *proc2; + FILE *network; + FILE *record; + FILE *upload; + struct ttystate ttystate; + FILE *input; + FILE *output; + int (*ctlproc)(int); + int (*inproc)(int); + struct session *parent; + enum { + SCROLL_INBAND, + SCROLL_LOCAL + } scrollmode; +}; +extern char *Sestypes[]; +extern unsigned Nsessions; +extern long Sfsize; + +extern struct session *Sessions[]; + + + +extern struct session *Current; +extern struct session *Lastcurr; +extern struct session *Command; +extern char *Cmdline; + + +void freesession(struct session *sp); +int keywait(char *prompt,int flush); +struct session *sessptr(char *cp); +struct session *newsession(char *name,int type,int makecur); +void sesflush(void); +void upload(int unused,void *sp1,void *p); + +extern uint16 Lport; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct ax25_cb { + struct ax25_cb *next; + + struct iface *iface; + + struct mbuf *txq; + struct mbuf *rxasm; + struct mbuf *rxq; + + uint8 local[7 ]; + uint8 remote[7 ]; + + struct { + unsigned int rejsent:1; + unsigned int remotebusy:1; + unsigned int rtt_run:1; + unsigned int retrans:1; + unsigned int clone:1; + } flags; + + uint8 reason; + + + + + uint8 response; + uint8 vs; + uint8 vr; + uint8 unack; + int maxframe; + uint16 paclen; + uint16 window; + enum { + V1=1, + V2 + } proto; + uint16 pthresh; + unsigned retries; + unsigned n2; + enum { + LAPB_DISCONNECTED=1, + LAPB_LISTEN, + LAPB_SETUP, + LAPB_DISCPENDING, + LAPB_CONNECTED, + LAPB_RECOVERY + } state; + struct timer t1; + struct timer t3; + int32 rtt_time; + int rtt_seq; + int32 srt; + int32 mdev; + + void (*r_upcall)(struct ax25_cb *,int); + void (*t_upcall)(struct ax25_cb *,int); + void (*s_upcall)(struct ax25_cb *,int,int); + + int user; + + int segremain; +}; + +struct axlink { + int pid; + void (*funct)(struct iface *,struct ax25_cb *,uint8 *, uint8 *, + struct mbuf **,int); +}; +extern struct axlink Axlink[]; + + + + + + +extern struct ax25_cb Ax25default,*Ax25_cb; +extern char *Ax25states[],*Axreasons[]; +extern int32 Axirtt,T3init,Blimit; +extern uint16 N2,Maxframe,Paclen,Pthresh,Axwindow,Axversion; + + +void st_ax25(struct ax25_cb *axp); + + +struct ax25_cb *cr_ax25(uint8 *addr); +void del_ax25(struct ax25_cb *axp); +struct ax25_cb *find_ax25(uint8 *); + + +int ax25val(struct ax25_cb *axp); +int disc_ax25(struct ax25_cb *axp); +int kick_ax25(struct ax25_cb *axp); +struct ax25_cb *open_ax25(struct iface *,uint8 *,uint8 *, + int,uint16, + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int,int), + int user); +struct mbuf *recv_ax25(struct ax25_cb *axp,uint16 cnt); +int reset_ax25(struct ax25_cb *axp); +int send_ax25(struct ax25_cb *axp,struct mbuf **bp,int pid); + + +void est_link(struct ax25_cb *axp); +void lapbstate(struct ax25_cb *axp,int s); +int lapb_input(struct ax25_cb *axp,int cmdrsp,struct mbuf **bp); +int lapb_output(struct ax25_cb *axp); +struct mbuf *segmenter(struct mbuf **bp,uint16 ssize); +int sendctl(struct ax25_cb *axp,int cmdrsp,int cmd); +int sendframe(struct ax25_cb *axp,int cmdrsp,int ctl,struct mbuf **data); +void axnl3(struct iface *iface,struct ax25_cb *axp,uint8 *src, + uint8 *dest,struct mbuf **bp,int mcast); + + +void pollthem(void *p); +void recover(void *p); + + +uint16 ftype(int control); +void lapb_garbage(int drastic); + + +void s_arcall(struct ax25_cb *axp,int cnt); +void s_ascall(struct ax25_cb *axp,int old,int new); +void s_atcall(struct ax25_cb *axp,int cnt); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + +enum devparam { + PARAM_DATA, + PARAM_TXDELAY, + PARAM_PERSIST, + PARAM_SLOTTIME, + PARAM_TXTAIL, + PARAM_FULLDUP, + PARAM_HW, + PARAM_MUTE, + PARAM_DTR, + PARAM_RTS, + PARAM_SPEED, + PARAM_ENDDELAY, + PARAM_GROUP, + PARAM_IDLE, + PARAM_MIN, + PARAM_MAXKEY, + PARAM_WAIT, + + PARAM_CLOSE, + PARAM_OPEN, + PARAM_LISTEN, + PARAM_DOWN=0x81, + PARAM_UP=0x82, + + PARAM_BLIND=0x83, + PARAM_RETURN=0xff +}; + + +int devparam(char *s); +char *parmname(int n); + + + + + + + + + + + + + + + +void b_rxint(struct pichan *); +void b_txint(struct pichan *); +void b_exint(struct pichan *); +void a_rxint(struct pichan *); +void a_txint(struct pichan *); +void a_exint(struct pichan *); + +static void xwrite_escc(struct pichan *hp,uint16 ctl,uint16 reg, + uint16 val ); +static char xread_escc(struct pichan *hp, uint16 ctl, char reg); +static int32 pi_ctl(struct iface *iface,int cmd,int set,int32 val); +static int pi_raw(struct iface *iface,struct mbuf **bpp); +static int pi_stop(struct iface *iface); +static void rts(struct pichan *hp, uint16 x); +void setup_rx_dma(struct pichan *hp); +void setup_tx_dma(struct pichan *hp); +static void set_acc_delay(void); +static void tdelay( struct pichan *hp,unsigned int time); +static int escc_init( struct pichan *hp); + + struct PITAB Pi[3 ]; +static void (*pihandle[])() = { + pi0vec, + pi1vec, + pi2vec +}; +static uint16 Page_regs[] = { + 0x87,0x83,0x81,0x82,0,0x8b,0x89,0x8a +}; + struct pichan Pichan[2*3 ]; +static uint16 pinbr; + +extern uint16 acc_delay; + + + + + + + +static void +set_acc_delay() +{ + long starttime, endtime; + int n; + int ticks; + + starttime = bioscnt(); + for(n = 0; n < 10; n++) + mloop(); + endtime = bioscnt(); + ticks = (int) (endtime - starttime); + if(ticks == 0) + ticks = 1; + acc_delay = 61/ticks; + if(acc_delay == 0) + acc_delay = 1; + fflush(Curproc->output); +} + + +static void +xwrite_escc(hp,ctl,reg,val) + struct pichan *hp; + uint16 ctl; +uint16 reg,val; +{ + wrtescc(hp->cardbase,ctl,reg,val); +} + + +static char +xread_escc(hp,ctl,reg) + struct pichan *hp; + uint16 ctl; +char reg; +{ + return(rdescc(hp->cardbase,ctl,reg)); +} + + +static void +tdelay(hp,time) + struct pichan *hp; +unsigned int time; +{ + int n,port; + unsigned int t1; + unsigned char sc; + + if(hp->base & 2){ + sc = 0x40 ; + t1 = time; + port = hp->cardbase+0x9 ; + } else { + sc = 0x80 ; + t1 = 10 * time; + port = hp->cardbase+0xA ; + } + + + outportb(hp->cardbase+0xB , sc|0x30 |0x00 ); + + + for(n=0; n<5;n++) + ; + + outportb(port, (t1 << 1) & 0xFF); + + + for(n=0; n<5;n++) + ; + outportb(port, (t1 >> 7) & 0xFF); + + + xwrite_escc(hp,hp->base+0,15,0x20 ); + xwrite_escc(hp,hp->base+0,1,0x1 ); + xwrite_escc(hp,hp->base+0,0 ,0x10 ); +} + + + + +void ( *(piint)(dev))() +int dev; +{ + register char st; + register uint16 pcbase; + struct pichan *hp; + struct PITAB *pip; + + pip = &Pi[dev]; + pip->ints++; + pcbase = pip->addr; + + + + + hp = &Pichan[2 * dev]; + while((st = xread_escc(hp,pcbase+2 +0,3)) != 0){ + if(st & 0x20 ){ + + hp = &Pichan[2 * dev]; + a_rxint(hp); + } else if(st & 0x10 ){ + + hp = &Pichan[2 * dev]; + a_txint(hp); + } else if(st & 0x8 ){ + + hp = &Pichan[2 * dev]; + a_exint(hp); + } else if(st & 0x4 ){ + + hp = &Pichan[(2 * dev)+1]; + b_rxint(hp); + } else if(st & 0x2 ){ + + hp = &Pichan[(2 * dev)+1]; + b_txint(hp); + } else if(st & 0x1 ){ + + hp = &Pichan[(2 * dev)+1]; + b_exint(hp); + } + + xwrite_escc(hp,hp->base+0,0 ,0x38 ); + } + return pip->chain ? pip->oldvec : 0; +} + + void +a_exint(hp) + struct pichan *hp; +{ + register uint16 cmd; + char st; + int32 t,ca; + struct mbuf *bp; + int i_state; + + i_state = dirps(); + + st = xread_escc(hp,hp->base+0,0 ); + + + xwrite_escc(hp,0+hp->base,0 ,0x10 ); + cmd = hp->base+0; + hp->exints++; + + if((hp->rstate >= 1 ) && (st & 0x80 )){ + setup_rx_dma(hp); + hp->rstate = 1 ; + } + switch(hp->tstate){ + case 1 : + hp->tstate = 3 ; + tdelay(hp,hp->squeldelay); + break; + case 3 : + if((bp = dequeue(&hp->sndq)) == 0){ + + hp->tstate = 0 ; + rts(hp,0); + restore(i_state); + return; + } + + hp->txcnt = pullup(&bp,hp->sndbuf,hp->bufsiz); + free_p(&bp); + + + case 5 : + + outportb(10 , (0x04) |hp->dmachan); + + + xwrite_escc(hp,cmd,1,0x40 |0x1 ); + + + setup_tx_dma(hp); + + + + outportb(10 ,(0x00) |hp->dmachan); + + + xwrite_escc(hp,cmd,0 ,0x80 |0x28 ); + + + xwrite_escc(hp,cmd,15,0x40 ); + + + xwrite_escc(hp,cmd,1,0x80 |0x40 |0x1 ); + + + xwrite_escc(hp,cmd,0 ,0xC0 ); + + + hp->tstate = 1 ; + break; + case 4 : + + + + xwrite_escc(hp,cmd,0 ,0x10 ); + xwrite_escc(hp,cmd,0 ,0x10 ); + if((xread_escc(hp,cmd,0 ) & 0x8 ) != 0){ + hp->tstate = 4 ; + tdelay(hp,100); + + xwrite_escc(hp,0+hp->base,15,0x20 |8 ); + restore(i_state); + return; + } + + + + + + t = msclock(); + ca = hp->deftime - t; + if(ca > 0){ + hp->tstate = 4 ; + tdelay(hp,ca); + restore(i_state); + return; + } + hp->deftime = t; + if((rand() & 0xff) > hp->persist){ + hp->tstate = 4 ; + tdelay(hp,hp->slotime); + restore(i_state); + return; + } + + xwrite_escc(hp,cmd,5,0x1 |0x2 |0x60 ); + rts(hp,1); + hp->tstate = 5 ; + tdelay(hp,hp->txdelay); + restore(i_state); + return; + } + + restore(i_state); +} + + + + void +a_rxint(hp) + struct pichan *hp; +{ + register uint16 cmd; + register uint16 bytecount; + char rse; + struct mbuf *bp; + int i_state; + + hp->rxints++; + cmd = hp->base+0; + + i_state = dirps(); + rse = xread_escc(hp,cmd,1); + if(rse & 0x20 ){ + + hp->rovers++; + hp->rstate = 2 ; + } + + if(rse & 0x80 ){ + + + outportb(12 ,0); + bytecount = inportb(0 +2*hp->dmachan+1); + bytecount += inportb(0 +2*hp->dmachan+1) << 8; + bytecount = hp->bufsiz - 1 - bytecount; + + if((rse & 0x40 )||(hp->rstate > 1 )||(bytecount < 10)){ + if((bytecount >= 10) && (rse & 0x40 )) + hp->crcerr++; + + + hp->rstate = 1 ; + setup_rx_dma(hp); + } else { + + + + bytecount -= 2; + if((bp = alloc_mbuf(bytecount+sizeof(struct iface *))) + != 0){ + bp->data += sizeof(struct iface *); + bp->cnt = bytecount; + memcpy(bp->data,hp->rcvbuf,bytecount); + net_route(hp->iface,&bp); + hp->rxcnt = 0; + hp->rxframes++; + } + + setup_rx_dma(hp); + } + } + + xwrite_escc(hp,hp->base+0,0 ,0x30 ); + restore(i_state); +} + +void +a_txint(hp) + struct pichan *hp; +{ + register uint16 cmd; + int32 t,ca; + struct mbuf *bp; + int i_state; + + cmd = 0+hp->base; + + i_state = dirps(); + switch(hp->tstate){ + case 0 : + + if((bp = dequeue(&hp->sndq)) == 0){ + rts(hp,0); + restore(i_state); + return; + } + + hp->txcnt = pullup(&bp,hp->sndbuf,hp->bufsiz); + free_p(&bp); + hp->tcp = hp->sndbuf; + case 4 : + + + + + xwrite_escc(hp,cmd,0 ,0x10 ); + xwrite_escc(hp,cmd,0 ,0x10 ); + if((xread_escc(hp,cmd,0 ) & 0x8 ) != 0){ + hp->tstate = 4 ; + tdelay(hp,100); + + xwrite_escc(hp,cmd,15,0x20 |8 ); + restore(i_state); + return; + } + + + + + + t = msclock(); + ca = hp->deftime - t; + if(ca > 0){ + hp->tstate = 4 ; + tdelay(hp,ca); + restore(i_state); + return; + } + hp->deftime = t; + if((rand() & 0xff) > hp->persist){ + hp->tstate = 4 ; + tdelay(hp,hp->slotime); + restore(i_state); + return; + } + + + xwrite_escc(hp,cmd,5,0x1 |0x2 |0x60 ); + rts(hp,1); + hp->tstate = 5 ; + tdelay(hp,hp->txdelay); + restore(i_state); + return; + default: + break; + } + + restore(i_state); +} + + void +b_rxint(hp) + struct pichan *hp; +{ + register uint16 cmd; + char rse; + struct mbuf *bp; + int i_state; + + hp->rxints++; + cmd = 0+hp->base; + + i_state = dirps(); + if((xread_escc(hp,cmd,0 )) & 0x1 ){ + + + + rse = xread_escc(hp,cmd,1); + if(rse & 0x20 ){ + + + hp->rcp = hp->rcvbuf; + hp->rxcnt = 0; + hp->rstate = 2 ; + hp->rovers++; + } else if(hp->rxcnt >= hp->bufsiz){ + + + hp->rcp = hp->rcvbuf; + hp->rxcnt = 0; + hp->rstate = 4 ; + } + + if(hp->rstate == 1 ){ + *hp->rcp++ = xread_escc(hp,cmd,8); + hp->rxcnt++; + } else { + + (void) xread_escc(hp,cmd,8); + xwrite_escc(hp,cmd,0 ,0x30 ); + hp->rstate = 1 ; + } + } + + if(rse & 0x80 ){ + + if(hp->rxcnt > 0){ + if((rse & 0x40 )||(hp->rstate > 1 )||(hp->rxcnt < 10)){ + if((hp->rxcnt >= 10) && (rse & 0x40 )) + hp->crcerr++; + + hp->rcp = hp->rcvbuf; + hp->rxcnt = 0; + } else { + + hp->rxcnt -= 2; + if((bp = alloc_mbuf(hp->rxcnt+sizeof(struct iface *))) + != 0){ + bp->data += sizeof(struct iface *); + bp->cnt = hp->rxcnt; + memcpy(bp->data,hp->rcvbuf,hp->rxcnt); + net_route(hp->iface,&bp); + hp->rxframes++; + } + + hp->rcp = hp->rcvbuf; + hp->rxcnt = 0; + } + } + hp->rstate = 1 ; + } + + restore(i_state); +} + + void +b_txint(hp) + struct pichan *hp; +{ + register uint16 cmd; + char c; + struct mbuf *bp; + int i_state; + + cmd = 0+hp->base; + + i_state = dirps(); + if(hp->tstate != 4 && hp->tstate) + hp->txints++; + + switch(hp->tstate){ + case 6: + hp->tstate = 3 ; + tdelay(hp,hp->squeldelay); + restore(i_state); + return; + case 0 : + + if((bp = dequeue(&hp->sndq)) == 0){ + + + + rts(hp,0); + restore(i_state); + return; + } + hp->txcnt = pullup(&bp,hp->sndbuf,hp->bufsiz); + free_p(&bp); + + case 4 : + + + xwrite_escc(hp,cmd,0 ,0x10 ); + xwrite_escc(hp,cmd,0 ,0x10 ); + if((xread_escc(hp,cmd,0 ) & 0x8 ) != 0){ + hp->tstate = 4 ; + tdelay(hp,100); + + xwrite_escc(hp,cmd,15,0x20 |8 ); + restore(i_state); + return; + } + + if(inportb(hp->cardbase+0x8 ) > hp->persist){ + inportb(hp->cardbase+0x8 ); + hp->tstate = 4 ; + tdelay(hp,hp->slotime); + restore(i_state); + return; + } + inportb(hp->cardbase+0x8 ); + + rts(hp,1); + hp->tstate = 5 ; + tdelay(hp,hp->txdelay); + restore(i_state); + return; + + case 1 : + + if(hp->txcnt-- != 0){ + c = *hp->tcp++; + + xwrite_escc(hp,cmd,8,c); + + } else { + + if((xread_escc(hp,cmd,0 ) & 0x40)){ + + + hp->tunders++; + xwrite_escc(hp,cmd,0 ,0x18 ); + hp->tstate = 3 ; + tdelay(hp,hp->squeldelay); + restore(i_state); + return; + } + hp->tstate = 2 ; + + if(hp->speed){ + xwrite_escc(hp,cmd,10,0x80 |0x20 ); + } else { + xwrite_escc(hp,cmd,10,0x80 ); + } + xwrite_escc(hp,cmd,0 ,0x28 ); + } + restore(i_state); + return; + } + restore(i_state); +} + + + + + + + + + void +b_exint(hp) + struct pichan *hp; +{ + char st; + register uint16 cmd; + char c; + struct mbuf *bp; + int i_state; + + cmd = 0+hp->base; + hp->exints++; + i_state = dirps(); + st = xread_escc(hp,cmd,0 ); + + xwrite_escc(hp,cmd,0 ,0x10 ); + + switch(hp->tstate){ + case 1 : + xwrite_escc(hp,cmd,0 ,0x18 ); + hp->tstate = 3 ; + hp->tunders++; + tdelay(hp,hp->squeldelay); + restore(i_state); + return; + case 2 : + hp->tstate = 6; + restore(i_state); + return; + case 3 : + + if((bp = dequeue(&hp->sndq)) == 0){ + + + + rts(hp,0); + hp->tstate = 0 ; + restore(i_state); + return; + } + hp->txcnt = pullup(&bp,hp->sndbuf,hp->bufsiz); + free_p(&bp); + hp->tcp = hp->sndbuf; + + + c = *hp->tcp++; + hp->txcnt--; + xwrite_escc(hp,cmd,0 ,0x80 ); + + + if(hp->speed){ + xwrite_escc(hp,cmd,10,0x80 |0x20 |4 ); + } else { + xwrite_escc(hp,cmd,10,0x80 |4 ); + } + + xwrite_escc(hp,cmd,8,c); + xwrite_escc(hp,cmd,0 ,0xC0 ); + + + + xwrite_escc(hp,cmd,15,0x40 ); + xwrite_escc(hp,cmd,0 ,0x10 ); + xwrite_escc(hp,cmd,1,0x2 |0x1 ); + + hp->tstate = 1 ; + restore(i_state); + return; + + case 4 : + + + + xwrite_escc(hp,cmd,0 ,0x10 ); + xwrite_escc(hp,cmd,0 ,0x10 ); + if((xread_escc(hp,cmd,0 ) & 0x8 ) != 0){ + hp->tstate = 4 ; + tdelay(hp,100); + + xwrite_escc(hp,cmd,15,0x20 |8 ); + restore(i_state); + return; + } + + if(inportb(hp->cardbase+0x8 ) > hp->persist){ + inportb(hp->cardbase+0x8 ); + hp->tstate = 4 ; + tdelay(hp,hp->slotime); + restore(i_state); + return; + } + inportb(hp->cardbase+0x8 ); + + rts(hp,1); + hp->tstate = 5 ; + tdelay(hp,hp->txdelay); + restore(i_state); + return; + + case 5 : + + + c = *hp->tcp++; + hp->txcnt--; + xwrite_escc(hp,cmd,0 ,0x80 ); + + + if(hp->speed){ + xwrite_escc(hp,cmd,10,0x80 |0x20 |4 ); + } else { + xwrite_escc(hp,cmd,10,0x80 |4 ); + } + + xwrite_escc(hp,cmd,8,c); + xwrite_escc(hp,cmd,0 ,0xC0 ); + + + + xwrite_escc(hp,cmd,15,0x40 ); + xwrite_escc(hp,cmd,0 ,0x10 ); + + xwrite_escc(hp,cmd,1,0x2 |0x1 ); + + hp->tstate = 1 ; + restore(i_state); + return; + } + + + + + + + if((hp->rstate == 1 ) && (st & 0x80 )){ + (void) xread_escc(hp,cmd,8); + (void) xread_escc(hp,cmd,8); + (void) xread_escc(hp,cmd,8); + hp->rcp = hp->rcvbuf; + hp->rxcnt = 0; + } + restore(i_state); +} + + + + +static void +rts(hp,x) + struct pichan *hp; +uint16 x; +{ + uint16 tc; + long br; + uint16 cmd; + + cmd = 0+hp->base; + + + if(x == 1){ + + xwrite_escc(hp,cmd,15,0); + xwrite_escc(hp,cmd,3,0xc0 ); + hp->rstate = 0 ; + if(cmd & 2){ + + xwrite_escc(hp,cmd,1,0x40 |0x1 ); + } else { + xwrite_escc(hp,cmd,1,0); + } + if(hp->speed){ + br = hp->speed; + tc = (((long)3686400/2) /br)-2; + xwrite_escc(hp,cmd,12,tc&0xFF); + xwrite_escc(hp,cmd,13,(tc>>8)&0xFF); + } + xwrite_escc(hp,cmd,5,0x1 |0x2 |0x8 |0x60 |0x80 ); + + } else { + hp->tstate = 0 ; + xwrite_escc(hp,cmd,5,0x60 |0x80 ); + + if(hp->speed){ + + + xwrite_escc(hp,cmd,14,2 ); + br = hp->speed; + + tc = ((((long)3686400/2) /32)/br)-2; + xwrite_escc(hp,cmd,12,tc&0xFF); + xwrite_escc(hp,cmd,13,(tc>>8)&0xFF); + + xwrite_escc(hp,cmd,14,2 |0x20 ); + + xwrite_escc(hp,cmd,14,2 |1 ); + } + + xwrite_escc(hp,cmd,3,0x1 |0x8 |0xc0 ); + hp->rstate = 1 ; + + if(cmd & 2){ + setup_rx_dma(hp); + } else { + + + + hp->rcp = hp->rcvbuf; + hp->rxcnt = 0; + xwrite_escc(hp,cmd,1,(0x10 |0x1 )); + } + xwrite_escc(hp,cmd,15,0x80 ); + + hp->deftime = msclock() + hp->txdelay + 500; + } +} + +void +setup_rx_dma(hp) + struct pichan *hp; +{ + int cmd; + int dmaport; + int i_state; + + cmd = hp->base+0; + dmaport = 0 +2*hp->dmachan; + + i_state = dirps(); + if(!hp->rcvbuf){ + + restore(i_state); + return; + } + + + xwrite_escc(hp,cmd,1,0x40 |0x20 |0x18 |0x1 ); + outportb(10 , (0x04) |hp->dmachan); + + + + outportb(11 ,(0x54)|hp->dmachan); + + outportb(Page_regs[hp->dmachan],hp->rcvphys >> 16); + outportb(12 ,0); + + outportb(dmaport,hp->rcvphys); + outportb(dmaport,hp->rcvphys >> 8); + + dmaport++; + outportb(dmaport,hp->bufsiz - 1); + outportb(dmaport, (hp->bufsiz - 1) >> 8); + + outportb(10 , (0x00) |hp->dmachan); + + + + + xwrite_escc(hp,cmd,0 ,0x40 ); + + + xwrite_escc(hp,cmd,1,0x80 |0x40 |0x20 |0x18 |0x1 ); + + restore(i_state); +} + +void +setup_tx_dma(hp) +struct pichan *hp; +{ + int dmaport; + uint16 length; + int i_state; + + length = hp->txcnt - 1; + dmaport = 0 + 2*hp->dmachan; + i_state = dirps(); + + outportb(10 , (0x04) |hp->dmachan); + + + + outportb(11 ,(0x48)|hp->dmachan); + + outportb(Page_regs[hp->dmachan],hp->sndphys >> 16); + outportb(12 ,0); + outportb(dmaport,hp->sndphys); + outportb(dmaport,hp->sndphys >> 8); + + dmaport++; + outportb(dmaport,length); + outportb(dmaport, length >> 8); + + restore(i_state); +} + + +static int +escc_init(hp) + struct pichan *hp; +{ + uint16 tc; + long br; + register uint16 cmd; + int i_state; + + + + cmd = 0+hp->base; + + + + i_state = dirps(); + + switch(cmd & 2){ + case 2: + xwrite_escc(hp,cmd,9,0x80 ); + xwrite_escc(hp,cmd,2,0xff); + break; + case 0: + xwrite_escc(hp,cmd,9,0x40 ); + break; + } + + + xwrite_escc(hp,cmd,1,0); + + + xwrite_escc(hp,cmd,15,0); + + + xwrite_escc(hp,cmd,4,0x20 |0x0 ); + + + + if(hp->speed){ + xwrite_escc(hp,cmd,10,0x80 |0x20 ); + + xwrite_escc(hp,cmd,11,0x10 |0x60 |3 |4 ); + } else { + xwrite_escc(hp,cmd,10,0x80 ); + + xwrite_escc(hp,cmd,11,8 ); + } + + + xwrite_escc(hp,cmd,6,0); + + + xwrite_escc(hp,cmd,7,0x7e); + + + + + xwrite_escc(hp,cmd,5,0x60 |0x80 ); + + + xwrite_escc(hp,cmd,3,0xc0 ); + + + xwrite_escc(hp,cmd,14,2 ); + + + + if(hp->speed){ + br = hp->speed; + tc = ((((long)3686400/2) /32)/br)-2; + } else { + tc = 14; + } + + xwrite_escc(hp,cmd,12,tc&0xFF); + xwrite_escc(hp,cmd,13,(tc>>8)&0xFF); + + + rts(hp,0); + + if(hp->speed){ + + xwrite_escc(hp,cmd,14,2 |0x80 ); + } else { + + xwrite_escc(hp,cmd,14,2 |0xa0 ); + } + xwrite_escc(hp,cmd,14,2 |0x20 ); + xwrite_escc(hp,cmd,14,2 |1 ); + + if(!(cmd & 2)) + xwrite_escc(hp,cmd,1,(0x10 |0x1 )); + + xwrite_escc(hp,cmd,15,0x80 ); + + + xwrite_escc(hp,cmd,3,0x1 |0x8 |0xc0 ); + + restore(i_state); + return 0; +} + + + + + + + + + + + + + + + + + +int +pi_attach(argc,argv) +int argc; +char *argv[]; +{ + register struct iface *if_pca,*if_pcb; + struct pichan *hp; + int dev; + int n; + char *cp; + + if(acc_delay == 0){ + + set_acc_delay(); + } + + if(setencap(0,argv[4]) == -1){ + _printf(_("PI: Mode %s unknown for interface %s\n"), + argv[4],argv[5]); + return -1; + } + if(if_lookup(argv[5]) != 0){ + _printf(_("PI: Interface %s already exists\n"),argv[5]); + return -1; + } + if(Mycall[0] == '\0'){ + _printf(_("PI: Set mycall first\n")); + return -1; + } + + + if(pinbr >= 3 ){ + _printf(_("PI: Maximum of %d PI cards supported\n"),3 ); + return -1; + } + dev = pinbr++; + + + Pi[dev].addr = htoi(argv[1]); + Pi[dev].vec = atoi(argv[2]); + if(strchr(argv[2],'c') != 0) + Pi[dev].chain = 1; + else + Pi[dev].chain = 0; + + + + outportb(Pi[dev].addr+0xB , 0x00 |0x30 |0x06 ); + for(n=0; n<5;n++) + ; + outportb(Pi[dev].addr+0x8 , 922 & 0xFF); + for(n=0; n<5;n++) + ; + outportb(Pi[dev].addr+0x8 , 922 >> 8); + for(n=0; n<5;n++) + ; + + + Pi[dev].oldvec = getirq(Pi[dev].vec); + + + if(setirq(Pi[dev].vec,pihandle[dev]) == -1){ + _printf(_("PI: IRQ %u out of range\n"),Pi[dev].vec); + pinbr--; + return -1; + } + + if((atoi(argv[3]) < 1) || (atoi(argv[3]) > 3)){ + _printf(_("PI: DMA %d out of range\n"),atoi(argv[3])); + pinbr--; + return -1; + } + + + hp = &Pichan[2*dev+1]; + hp->dmachan = 0; + hp->cardbase = Pi[dev].addr; + hp->stata = Pi[dev].addr + 2 + 0; + hp->statb = Pi[dev].addr + 0 + 0; + hp->speed = (uint16)atoi(argv[9]); + hp->base = Pi[dev].addr + 0 ; + hp->bufsiz = atoi(argv[6]); + hp->tstate = 0 ; + + hp->txdelay = 30; + hp->persist = 128; + hp->slotime = 30; + hp->squeldelay = 3; + + xwrite_escc(hp,0+hp->stata,9,0xc0 ); + + + xwrite_escc(hp,0+hp->stata,9,0); + + escc_init(hp); + + + hp->rcvbuf = dma_malloc(&hp->rcvphys,hp->bufsiz); + if(hp->rcvbuf == 0){ + + _printf(_("PI: No memory available for receive buffer\n")); + + setirq(Pi[dev].vec,Pi[dev].oldvec); + pinbr--; + return -1; + } + + hp->sndbuf = dma_malloc(&hp->sndphys,hp->bufsiz); + if(hp->sndbuf == 0){ + + _printf(_("PI: No memory available for transmit buffer\n")); + + setirq(Pi[dev].vec,Pi[dev].oldvec); + pinbr--; + free(hp->rcvbuf); + return -1; + } + hp->sndq = 0; + + + hp = &Pichan[2*dev]; + hp->dmachan = (unsigned char)atoi(argv[3]); + + if(hp->dmachan >= 8){ + _printf(_("PI: DMA channel %d out of range\n"),hp->dmachan); + free(hp->rcvbuf); + free(hp->sndbuf); + + setirq(Pi[dev].vec,Pi[dev].oldvec); + pinbr--; + return -1; + } + hp->cardbase = Pi[dev].addr; + hp->speed = (uint16)atoi(argv[8]); + hp->base = Pi[dev].addr + 2 ; + hp->bufsiz = atoi(argv[6]); + hp->tstate = 0 ; + + hp->txdelay = 15; + hp->persist = 128; + hp->slotime = 15; + hp->squeldelay = 1; + + + hp->rcvbuf = dma_malloc(&hp->rcvphys,hp->bufsiz); + if(hp->rcvbuf == 0){ + + _printf(_("PI: No memory available for receive buffers\n")); + + setirq(Pi[dev].vec,Pi[dev].oldvec); + pinbr--; + return -1; + } + hp->sndq = 0; + + + hp->sndbuf = dma_malloc(&hp->sndphys,hp->bufsiz); + if(hp->sndbuf == 0){ + _printf(_("PI: No memory available for transmit buffer")); + + setirq(Pi[dev].vec,Pi[dev].oldvec); + pinbr--; + free(hp->rcvbuf); + return -1; + } + + if_pca = (struct iface *)callocw(1,sizeof(struct iface)); + if_pcb = (struct iface *)callocw(1,sizeof(struct iface)); + + if_pca->addr = if_pcb->addr = Ip_addr; + if(argc > 10) + if_pca->addr = resolve(argv[10]); + if(argc > 11) + if_pcb->addr = resolve(argv[11]); + + if(if_pca->addr == 0 || if_pcb->addr == 0) + _printf(_("PI: No IP address!\n")); + + + if_pca->name = malloc((unsigned)strlen(argv[5])+2); + strcpy(if_pca->name,argv[5]); + strcat(if_pca->name,"a"); + + if_pcb->name = malloc((unsigned)strlen(argv[5])+2); + strcpy(if_pcb->name,argv[5]); + strcat(if_pcb->name,"b"); + + if_pcb->mtu = if_pca->mtu = atoi(argv[7]); + if_pcb->ioctl = if_pca->ioctl = pi_ctl; + if_pca->dev = 2*dev; + if_pcb->dev = 2*dev + 1; + if_pcb->stop = if_pca->stop = pi_stop; + if_pcb->raw = if_pca->raw = pi_raw; + + + setencap(if_pca,argv[4]); + setencap(if_pcb,argv[4]); + + if(if_pcb->hwaddr == 0) + if_pcb->hwaddr = mallocw(7 ); + memcpy(if_pcb->hwaddr,Mycall,7 ); + if(if_pca->hwaddr == 0) + if_pca->hwaddr = mallocw(7 ); + memcpy(if_pca->hwaddr,Mycall,7 ); + + Pichan[2*dev].iface = if_pca; + Pichan[2*dev+1].iface = if_pcb; + + + if_pca->next = if_pcb; + if_pcb->next = Ifaces; + Ifaces = if_pca; + + escc_init(hp); + + xwrite_escc(hp,0+hp->base,9,8 |2 ); + + + maskon(Pi[dev].vec); + + cp = if_name(if_pca," tx"); + if_pca->txproc = newproc(cp,512,if_tx,0,if_pca,0,0); + free(cp); + cp = if_name(if_pcb," tx"); + if_pcb->txproc = newproc(cp,512,if_tx,0,if_pcb,0,0); + free(cp); + return 0; +} + + +int +pi_stop(iface) +struct iface *iface; +{ + uint16 dev; + struct pichan *hp; + + dev = iface->dev; + if(dev & 1) + return 0; + dev >>= 1; + hp = &Pichan[2*dev]; + + outportb(10 , (0x04) |hp->dmachan); + + + maskoff(Pi[dev].vec); + + + setirq(Pi[dev].vec,Pi[dev].oldvec); + + + xwrite_escc(&Pichan[2*dev],0+Pi[dev].addr + 2 ,9,0xc0 ); + + return 0; +} + + +int +pi_raw( +struct iface *iface, +struct mbuf **bpp +){ + char kickflag; + struct pichan *hp; + int i_state; + + dump(iface,0x01 ,*bpp); + iface->rawsndcnt++; + iface->lastsent = secclock(); + + hp = &Pichan[iface->dev]; + kickflag = (hp->sndq == 0) & (hp->sndbuf == 0); + enqueue(&hp->sndq,bpp); + hp->enqueued++; + if(kickflag){ + + switch(hp->base & 2){ + case 2: + a_txint(hp); + break; + case 0: + i_state = dirps(); + if(hp->tstate == 0 ) + b_txint(hp); + restore(i_state); + break; + } + } + return 0; +} + + +int +dopistat() +{ + struct pichan *hp; + int i; + + _printf(_("PI Board Statistics:\n\n")); + _printf(_("Base Addr Rxints Txints Exints TxFrms RxFrms Crcerr RxOvrs TxUndr \n")); + _printf(_("--------- ------ ------ ------ ------ ------ ------ ------ ------ \n")); + for(i=0; ibase, hp->rxints, hp->txints, hp->exints, hp->enqueued, + hp->rxframes, hp->crcerr, hp->rovers, hp->tunders, + hp->rstate==0 ? + "IDLE" : hp->rstate==1 ? + "ACTIVE" : hp->rstate==2 ? + "RXERROR" : hp->rstate==3 ? + "RXABORT":"TOOBIG" + ); + + _printf(_("Tstate = %s\n"), + hp->tstate == 0 ? + "IDLE" : hp->tstate == 1 ? + "ACTIVE" : hp->tstate == 2 ? + "UNDERRUN" : hp->tstate == 3 ? + "FLAGOUT" : hp->tstate == 4 ? + "DEFER" : hp->tstate == 5 ? + "TXDELAY" : "CRCOUT" + ); + } + return 0; +} + + +int32 +pi_ctl(iface,cmd,set,val) +struct iface *iface; +int cmd; +int set; +int32 val; +{ + struct pichan *hp; + int32 t,ca; + + hp = &Pichan[iface->dev]; + switch(cmd){ + case PARAM_TXDELAY: + if(set) + hp->txdelay = val; + return hp->txdelay; + case PARAM_PERSIST: + if(set) + hp->persist = val; + return hp->persist; + case PARAM_SLOTTIME: + if(set) + hp->slotime = val; + return hp->slotime; + case PARAM_TXTAIL: + if(set) + hp->squeldelay = val; + return hp->squeldelay; + case PARAM_MUTE: + if(set){ + if(val == -1){ + + val = hp->txdelay + 500; + } + hp->deftime = msclock() + val; + } + t = msclock(); + ca = hp->deftime - t; + if(ca < 0){ + hp->deftime = t; + ca = 0; + } + return ca; + } + return -1; +} diff --git a/src/nos/drivers/pktdrvr.i b/src/nos/drivers/pktdrvr.i new file mode 100644 index 00000000..dbbeb18c --- /dev/null +++ b/src/nos/drivers/pktdrvr.i @@ -0,0 +1,4294 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + +struct ether { + uint8 dest[6]; + uint8 source[6]; + uint16 type; +}; + + + +extern uint8 Ether_bdcst[]; + + + + + + + + + + + + +char *pether(char *out,uint8 *addr); +int gether(uint8 *out,char *cp); +int enet_send(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +int enet_output(struct iface *iface,uint8 dest[],uint8 source[],uint16 type, + struct mbuf **bpp); +void eproc(struct iface *iface,struct mbuf **bpp); + + +void htonether(struct ether *ether,struct mbuf **data); +int ntohether(struct ether *ether,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + +struct arc { + uint8 source[1]; + uint8 dest[1]; + uint8 type; +}; + + + +extern uint8 ARC_bdcst[]; + + + + + + +void htonarc(struct arc *arc,struct mbuf **data); +int ntoharc(struct arc *arc,struct mbuf **bpp); +char *parc(char *out,uint8 *addr); +int garc(uint8 *out,char *cp); +int anet_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int anet_output(struct iface *iface,uint8 dest[],uint8 source[],uint16 type, + struct mbuf **data); +void aproc(struct iface *iface,struct mbuf **bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct tcp { + uint16 source; + uint16 dest; + int32 seq; + int32 ack; + uint16 wnd; + uint16 checksum; + uint16 up; + uint16 mss; + uint8 wsopt; + uint32 tsval; + uint32 tsecr; + struct { + unsigned int congest:1; + unsigned int urg:1; + unsigned int ack:1; + unsigned int psh:1; + unsigned int rst:1; + unsigned int syn:1; + unsigned int fin:1; + unsigned int mss:1; + unsigned int wscale:1; + unsigned int tstamp:1; + } flags; + + + + + + + + + + char optlen; + char options[40 ]; + +}; + + + + + + + + + + + +struct reseq { + struct reseq *next; + struct tcp seg; + struct mbuf *bp; + uint16 length; + char tos; +}; + +enum tcp_state { + TCP_CLOSED=1, + TCP_LISTEN, + TCP_SYN_SENT, + TCP_SYN_RECEIVED, + TCP_ESTABLISHED, + TCP_FINWAIT1, + TCP_FINWAIT2, + TCP_CLOSE_WAIT, + TCP_LAST_ACK, + TCP_CLOSING, + TCP_TIME_WAIT +}; + + +struct tcb { + struct tcb *next; + + struct connection conn; + + enum tcp_state state; + + char reason; + + + + + + + uint8 type; + uint8 code; + + + struct { + int32 una; + int32 nxt; + int32 ptr; + int32 wl1; + int32 wl2; + int32 wnd; + uint16 up; + uint8 wind_scale; + } snd; + int32 iss; + int32 resent; + int32 cwind; + int32 ssthresh; + int dupacks; + + + struct { + int32 nxt; + int32 wnd; + uint16 up; + uint8 wind_scale; + } rcv; + int32 last_ack_sent; + int32 ts_recent; + + int32 irs; + int32 rerecv; + int32 mss; + + int32 window; + int32 limit; + + void (*r_upcall)(struct tcb *tcb,int32 cnt); + + void (*t_upcall)(struct tcb *tcb,int32 cnt); + + void (*s_upcall)(struct tcb *tcb,int old,int new); + + struct { + unsigned int force:1; + unsigned int clone:1; + unsigned int retran:1; + unsigned int active:1; + unsigned int synack:1; + unsigned int rtt_run:1; + unsigned int congest:1; + int ts_ok:1; + int ws_ok:1; + } flags; + char tos; + int backoff; + + struct mbuf *rcvq; + struct mbuf *sndq; + int32 rcvcnt; + int32 sndcnt; + + + + + struct reseq *reseq; + struct timer timer; + int32 rtt_time; + int32 rttseq; + int32 rttack; + int32 srtt; + int32 mdev; + int32 rtt; + + int user; + + + int32 quench; + int32 unreach; + int32 timeouts; + int32 lastack; + int32 txbw; + int32 lastrx; + int32 rxbw; +}; + +struct tcp_rtt { + int32 addr; + int32 srtt; + int32 mdev; +}; +extern struct tcp_rtt Tcp_rtt[]; +extern int (*Kicklist[])(); + + +struct tcp_stat { + uint16 runt; + uint16 checksum; + uint16 conout; + uint16 conin; + uint16 resets; + uint16 bdcsts; +}; +extern struct mib_entry Tcp_mib[]; + + + + + + + + + + + + + + + + +extern struct tcb *Tcbs; +extern char *Tcpstates[]; +extern char *Tcpreasons[]; + + +extern int Tcp_tstamps; +extern int32 Tcp_irtt; +extern uint16 Tcp_limit; +extern uint16 Tcp_mss; +extern int Tcp_syndata; +extern int Tcp_trace; +extern uint16 Tcp_window; + +void st_tcp(struct tcb *tcb); + + +void htontcp(struct tcp *tcph,struct mbuf **data, + int32 ipsrc,int32 ipdest); +int ntohtcp(struct tcp *tcph,struct mbuf **bpp); + + +void reset(struct ip *ip,struct tcp *seg); +void send_syn(struct tcb *tcb); +void tcp_input(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast,int32 said); +void tcp_icmp(int32 icsource,int32 source,int32 dest, + uint8 type,uint8 code,struct mbuf **bpp); + + +void close_self(struct tcb *tcb,int reason); +struct tcb *create_tcb(struct connection *conn); +struct tcb *lookup_tcb(struct connection *conn); +void rtt_add(int32 addr,int32 rtt); +struct tcp_rtt *rtt_get(int32 addr); +int seq_ge(int32 x,int32 y); +int seq_gt(int32 x,int32 y); +int seq_le(int32 x,int32 y); +int seq_lt(int32 x,int32 y); +int seq_within(int32 x,int32 low,int32 high); +void settcpstate(struct tcb *tcb,enum tcp_state newstate); +void tcp_garbage(int red); + + +void tcp_output(struct tcb *tcb); + + +int32 backoff(int n); +void tcp_timeout(void *p); + + +int close_tcp(struct tcb *tcb); +int del_tcp(struct tcb *tcb); +int kick(int32 addr); +int kick_tcp(struct tcb *tcb); +struct tcb *open_tcp(struct socket *lsocket,struct socket *fsocket, + int mode,uint16 window, + void (*r_upcall)(struct tcb *tcb,int32 cnt), + void (*t_upcall)(struct tcb *tcb,int32 cnt), + void (*s_upcall)(struct tcb *tcb,int old,int new), + int tos,int user); +int32 recv_tcp(struct tcb *tcb,struct mbuf **bpp,int32 cnt); +void reset_all(void); +void reset_tcp(struct tcb *tcb); +long send_tcp(struct tcb *tcb,struct mbuf **bpp); +char *tcp_port(uint16 n); +int tcpval(struct tcb *tcb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct cstate { + byte_t this; + struct cstate *next; + struct ip cs_ip; + struct tcp cs_tcp; +}; + + + + +struct slcompress { + struct cstate *tstate; + struct cstate *rstate; + + byte_t tslot_limit; + byte_t rslot_limit; + + byte_t xmit_oldest; + byte_t xmit_current; + byte_t recv_current; + + byte_t flags; + + + int32 sls_o_nontcp; + int32 sls_o_tcp; + int32 sls_o_uncompressed; + int32 sls_o_compressed; + int32 sls_o_searches; + int32 sls_o_misses; + + int32 sls_i_uncompressed; + int32 sls_i_compressed; + int32 sls_i_error; + int32 sls_i_tossed; +}; + + +struct slcompress *slhc_init(int rslots, int tslots); +void slhc_free(struct slcompress *comp); + +int slhc_compress(struct slcompress *comp, + struct mbuf **bpp, int compress_cid); +int slhc_uncompress(struct slcompress *comp, + struct mbuf **bpp); +int slhc_remember(struct slcompress *comp, + struct mbuf **bpp); +int slhc_toss(struct slcompress *comp); + +void slhc_i_status(struct slcompress *comp); +void slhc_o_status(struct slcompress *comp); + + + + + + + + + + + + + + + + + + + +struct slip { + struct iface *iface; + uint8 escaped; + + + struct mbuf *rbp_head; + struct mbuf *rbp_tail; + uint8 *rcp; + uint16 rcnt; + struct mbuf *tbp; + uint16 errors; + int type; + int (*send)(int,struct mbuf **); + int (*get)(int); + struct slcompress *slcomp; +}; + + +extern struct slip Slip[]; + +void asytxdone(int dev); +int slip_free(struct iface *ifp); +int slip_init(struct iface *ifp); +int slip_raw(struct iface *iface,struct mbuf **data); +void slip_rx(int xdev,void *p1,void *p2); +int slip_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int vjslip_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +void slip_status(struct iface *iface); + + + + + + + + + + + + + + +int kiss_free(struct iface *ifp); +int kiss_raw(struct iface *iface,struct mbuf **data); +void kiss_recv(struct iface *iface,struct mbuf **bp); +int kiss_init(struct iface *ifp); +int32 kiss_ioctl(struct iface *iface,int cmd,int set,int32 val); +void kiss_recv(struct iface *iface,struct mbuf **bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +enum arp_opcode { + ARP_REQUEST=1, + ARP_REPLY, + REVARP_REQUEST, + REVARP_REPLY +}; + +enum arp_hwtype { + ARP_NETROM=0, + ARP_ETHER, + ARP_EETHER, + ARP_AX25, + ARP_PRONET, + ARP_CHAOS, + ARP_IEEE802, + ARP_ARCNET, + ARP_APPLETALK +}; +extern char *Arptypes[]; + + + +struct arp_type { + uint16 hwalen; + uint16 iptype; + uint16 arptype; + uint16 pendtime; + uint8 *bdcst; + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + +}; +extern struct arp_type Arp_type[]; + + +struct arp { + enum arp_hwtype hardware; + uint16 protocol; + uint8 hwalen; + uint8 pralen; + enum arp_opcode opcode; + uint8 shwaddr[20 ]; + int32 sprotaddr; + uint8 thwaddr[20 ]; + int32 tprotaddr; +}; + + +struct arp_tab { + struct arp_tab *next; + struct arp_tab *prev; + struct timer timer; + struct mbuf *pending; + int32 ip_addr; + enum arp_hwtype hardware; + enum { + ARP_PENDING, + ARP_VALID + } state; + uint8 *hw_addr; + unsigned int pub:1; +}; +extern struct arp_tab *Arp_tab[]; + +struct arp_stat { + unsigned recv; + unsigned badtype; + unsigned badlen; + unsigned badaddr; + unsigned inreq; + unsigned replies; + unsigned outreq; +}; +extern struct arp_stat Arp_stat; + + +struct arp_tab *arp_add(int32 ipaddr,enum arp_hwtype hardware,uint8 *hw_addr, + int pub); +void arp_drop(void *p); +int arp_init(unsigned int hwtype,int hwalen,int iptype,int arptype, + int pendtime,uint8 *bdcst,char *(*format)(char *,uint8 *), + int (*scan)(uint8 *,char *) ); +void arp_input(struct iface *iface,struct mbuf **bpp); +struct arp_tab *arp_lookup(enum arp_hwtype hardware,int32 ipaddr); +uint8 *res_arp(struct iface *iface,enum arp_hwtype hardware,int32 target,struct mbuf **bpp); + + +struct mbuf *htonarp(struct arp *arp); +int ntoharp(struct arp *arp,struct mbuf **bpp); + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +enum devparam { + PARAM_DATA, + PARAM_TXDELAY, + PARAM_PERSIST, + PARAM_SLOTTIME, + PARAM_TXTAIL, + PARAM_FULLDUP, + PARAM_HW, + PARAM_MUTE, + PARAM_DTR, + PARAM_RTS, + PARAM_SPEED, + PARAM_ENDDELAY, + PARAM_GROUP, + PARAM_IDLE, + PARAM_MIN, + PARAM_MAXKEY, + PARAM_WAIT, + + PARAM_CLOSE, + PARAM_OPEN, + PARAM_LISTEN, + PARAM_DOWN=0x81, + PARAM_UP=0x82, + + PARAM_BLIND=0x83, + PARAM_RETURN=0xff +}; + + +int devparam(char *s); +char *parmname(int n); + + + + + + + + +static long access_type(int intno,int if_class,int if_type, + int if_number, uint8 *type,unsigned typelen, + void (*receiver)(void) ); +static int driver_info(int intno,int handle,int *version, + int *class,int *type,int *number,int *basic); +static int release_type(int intno,int handle); +static int get_address(int intno,int handle,uint8 *buf,int len); +static int set_rcv_mode(int intno,int handle,int mode); +static int pk_raw(struct iface *iface,struct mbuf **bpp); +static int pk_stop(struct iface *iface); +static int send_pkt(int intno,uint8 *buffer,unsigned length); + + +static void (*Pkvec[])() = { pkvec0,pkvec1,pkvec2 }; +static struct pktdrvr Pktdrvr[3 ]; +static int Derr; +char Pkt_sig[] = "PKT DRVR"; + + + + + +int +pk_send( +struct mbuf **bpp, +struct iface *iface, +int32 gateway, +uint8 tos +){ + if(iface == 0){ + free_p(bpp); + return -1; + } + return (*iface->raw)(iface,bpp); +} + + +static int +pk_raw( +struct iface *iface, +struct mbuf **bpp +){ + register struct pktdrvr *pp; + uint16 size; + struct mbuf *bp1; + + iface->rawsndcnt++; + iface->lastsent = secclock(); + + dump(iface,0x01 ,*bpp); + pp = &Pktdrvr[iface->dev]; + size = len_p(*bpp); + + + switch(pp->class){ + case 1: + if(size < 60 ){ + + + size = 60 ; + } + break; + case 10: + + + + pushdown(bpp,0,1); + (*bpp)->data[0] = PARAM_DATA; + size++; + break; + } + if((*bpp)->next != 0){ + + bp1 = copy_p(*bpp,size); + free_p(bpp); + *bpp = bp1; + if(*bpp == 0) + return -1; + } + send_pkt(pp->intno,(*bpp)->data,size); + free_p(bpp); + return 0; +} + + + + + + + + + + + + + + +uint8 * +pkint( +int dev, +unsigned short cx, +unsigned short ax +){ + register struct pktdrvr *pp; + uint8 *retval = 0; + + if(dev < 0 || dev >= 3 ) + return 0; + pp = &Pktdrvr[dev]; + if(pp->iface == 0) + return 0; + switch(ax){ + case 0: + if((pp->buffer = alloc_mbuf(cx+sizeof(struct iface *))) != 0){ + pp->buffer->data += sizeof(struct iface *); + pp->buffer->cnt = cx; + retval = pp->buffer->data; + } + break; + case 1: + net_route(pp->iface,&pp->buffer); + break; + default: + break; + } + return retval; +} + + +static int +pk_stop( +struct iface *iface +){ + struct pktdrvr *pp; + + pp = &Pktdrvr[iface->dev]; + + if(release_type(pp->intno,pp->handle1) == -1) + _printf(_("%s: release_type error code %u\n"),iface->name,Derr); + + if(pp->class == 1 || pp->class == 8){ + release_type(pp->intno,pp->handle2); + release_type(pp->intno,pp->handle3); + } + pp->iface = 0; + return 0; +} + + + + + + + + +int +pk_attach( +int argc, +char *argv[], +void *p +){ + register struct iface *if_pk; + int class,type; + unsigned int intno; + static uint8 iptype[] = {0x800 >> 8,0x800 }; + static uint8 arptype[] = {0x806 >> 8,0x806 }; + static uint8 revarptype[] = {0x8035 >> 8, 0x8035 }; + long handle; + int i; + + + + + + long drvvec; + char sig[8]; + register struct pktdrvr *pp; + char tmp[25]; + char *cp; + + for(i=0;i<3 ;i++){ + if(Pktdrvr[i].iface == 0) + break; + } + if(i >= 3 ){ + _printf(_("Too many packet drivers\n")); + return -1; + } + if(if_lookup(argv[2]) != 0){ + _printf(_("Interface %s already exists\n"),argv[2]); + return -1; + } + + intno = htoi(argv[1]); + + + + drvvec = (long)getvect(intno); + movblock(((int)(drvvec))+3, ((int)(((unsigned long)(drvvec)) >> 16)), + ((int)(sig)),((int)(((unsigned long)(sig)) >> 16)),strlen(Pkt_sig)); + if(strncmp(sig,Pkt_sig,strlen(Pkt_sig)) != 0){ + _printf(_("No packet driver loaded at int 0x%x\n"),intno); + return -1; + } + if_pk = (struct iface *)callocw(1,sizeof(struct iface)); + if_pk->name = strdupw(argv[2]); + if(argc > 5) + if_pk->addr = resolve(argv[5]); + else + if_pk->addr = Ip_addr; + pp = &Pktdrvr[i]; + if_pk->mtu = atoi(argv[4]); + if_pk->dev = i; + if_pk->raw = pk_raw; + if_pk->stop = pk_stop; + pp->intno = intno; + pp->iface = if_pk; + + + + + + if(driver_info(intno,-1,0,&class,&type,0,0) < 0){ + + for(class=1;class<=19;class++){ + + + + handle = access_type(intno,class,ANYTYPE,0,iptype,2, + Pkvec[if_pk->dev]); + if(handle != -1 || Derr == TYPE_INUSE){ + pp->handle1 = handle; + break; + } + } + + + + release_type(intno,pp->handle1); + } + switch(class){ + case 1: + pp->handle1 = access_type(intno,class,ANYTYPE,0,iptype,2, + Pkvec[if_pk->dev]); + pp->handle2 = access_type(intno,class,ANYTYPE,0,arptype,2, + Pkvec[if_pk->dev]); + pp->handle3 = access_type(intno,class,ANYTYPE,0,revarptype,2, + Pkvec[if_pk->dev]); + setencap(if_pk,"Ethernet"); + + + + + + + if_pk->hwaddr = mallocw(6); + get_address(intno,pp->handle1,if_pk->hwaddr,6); + if(if_pk->hwaddr[0] & 1){ + _printf(_("Warning! Interface '%s' has a multicast address:"), + if_pk->name); + _printf(_(" (%s)\n"), + (*if_pk->iftype->format)(tmp,if_pk->hwaddr)); + } + break; + + case 6: + pp->handle1 = access_type(intno,class,ANYTYPE,0,0,0, + Pkvec[if_pk->dev]); + setencap(if_pk,"SLIP"); + break; + + case 15: + pp->handle1 = access_type(intno,class,ANYTYPE,0,0,0, + Pkvec[if_pk->dev]); + setencap(if_pk,"SLFP"); + get_address(intno,pp->handle1,(uint8 *)&if_pk->addr,4); + break; + default: + _printf(_("Packet driver has unsupported class %u\n"),class); + free(if_pk->name); + free(if_pk); + return -1; + } + pp->class = class; + if_pk->next = Ifaces; + Ifaces = if_pk; + cp = if_name(if_pk," tx"); + if_pk->txproc = newproc(cp,768,if_tx,if_pk->dev,if_pk,0,0); + free(cp); + + return 0; +} +static long +access_type( +int intno, +int if_class, +int if_type, +int if_number, +uint8 *type, +unsigned typelen, +void (*receiver)() +){ + union REGS regs; + struct SREGS sregs; + + segread(&sregs); + regs.h.dl = if_number; + sregs.ds = ((int)(((unsigned long)(type)) >> 16)); + regs.x.si = ((int)(type)); + regs.x.cx = typelen; + sregs.es = ((int)(((unsigned long)(receiver)) >> 16)); + regs.x.di = ((int)(receiver)); + regs.x.bx = if_type; + regs.h.ah = ACCESS_TYPE; + regs.h.al = if_class; + int86x(intno,®s,®s,&sregs); + if(regs.x.cflag){ + Derr = regs.h.dh; + return -1; + } else + return regs.x.ax; +} +static int +release_type( +int intno, +int handle +){ + union REGS regs; + + regs.x.bx = handle; + regs.h.ah = RELEASE_TYPE; + int86(intno,®s,®s); + if(regs.x.cflag){ + Derr = regs.h.dh; + return -1; + } else + return 0; +} +static int +send_pkt( +int intno, +uint8 *buffer, +unsigned length +){ + union REGS regs; + struct SREGS sregs; + + segread(&sregs); + sregs.ds = ((int)(((unsigned long)(buffer)) >> 16)); + sregs.es = ((int)(((unsigned long)(buffer)) >> 16)); + regs.x.si = ((int)(buffer)); + regs.x.cx = length; + regs.h.ah = SEND_PKT; + int86x(intno,®s,®s,&sregs); + if(regs.x.cflag){ + Derr = regs.h.dh; + return -1; + } else + return 0; +} +static int +driver_info( +int intno, +int handle, +int *version, +int *class, +int *type, +int *number, +int *basic +){ + union REGS regs; + + regs.x.bx = handle; + regs.h.ah = DRIVER_INFO; + regs.h.al = 0xff; + int86(intno,®s,®s); + if(regs.x.cflag){ + Derr = regs.h.dh; + return -1; + } + if(version != 0) + *version = regs.x.bx; + if(class != 0) + *class = regs.h.ch; + if(type != 0) + *type = regs.x.dx; + if(number != 0) + *number = regs.h.cl; + if(basic != 0) + *basic = regs.h.al; + return 0; +} +static int +get_address( +int intno, +int handle, +uint8 *buf, +int len +){ + union REGS regs; + struct SREGS sregs; + + segread(&sregs); + sregs.es = ((int)(((unsigned long)(buf)) >> 16)); + regs.x.di = ((int)(buf)); + regs.x.cx = len; + regs.x.bx = handle; + regs.h.ah = GET_ADDRESS; + int86x(intno,®s,®s,&sregs); + if(regs.x.cflag){ + Derr = regs.h.dh; + return -1; + } + return 0; +} +static int +set_rcv_mode( +int intno, +int handle, +int mode +){ + union REGS regs; + struct SREGS sregs; + + segread(&sregs); + regs.x.cx = mode; + regs.x.bx = handle; + regs.h.ah = SET_RCV_MODE; + int86x(intno,®s,®s,&sregs); + if(regs.x.cflag){ + Derr = regs.h.dh; + return -1; + } + return 0; +} + diff --git a/src/nos/dump/CVS/Entries b/src/nos/dump/CVS/Entries new file mode 100644 index 00000000..d698b66d --- /dev/null +++ b/src/nos/dump/CVS/Entries @@ -0,0 +1,15 @@ +/arcdump.c/1.1.1.1/Mon Nov 17 19:06:20 2003// +/arpdump.c/1.1.1.1/Mon Nov 17 19:06:20 2003// +/auto.mk/1.1.1.1/Mon Nov 17 19:06:20 2003// +/ax25dump.c/1.1.1.1/Mon Nov 17 19:06:20 2003// +/enetdump.c/1.1.1.1/Mon Nov 17 19:06:20 2003// +/icmpdump.c/1.1.1.1/Mon Nov 17 19:06:20 2003// +/ipdump.c/1.1.1.1/Mon Nov 17 19:06:22 2003// +/kissdump.c/1.1.1.1/Mon Nov 17 19:06:22 2003// +/makefile/1.1.1.1/Mon Nov 17 19:06:22 2003// +/nrdump.c/1.1.1.1/Mon Nov 17 19:06:22 2003// +/ripdump.c/1.1.1.1/Mon Nov 17 19:06:22 2003// +/tcpdump.c/1.1.1.1/Mon Nov 17 19:06:22 2003// +/trace.c/1.2/Tue Feb 10 09:46:50 2004// +/udpdump.c/1.1.1.1/Mon Nov 17 19:06:22 2003// +D diff --git a/src/nos/dump/CVS/Repository b/src/nos/dump/CVS/Repository new file mode 100644 index 00000000..5607b0ec --- /dev/null +++ b/src/nos/dump/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/dump diff --git a/src/nos/dump/CVS/Root b/src/nos/dump/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/dump/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/dump/arcdump.i b/src/nos/dump/arcdump.i new file mode 100644 index 00000000..2b68ec3c --- /dev/null +++ b/src/nos/dump/arcdump.i @@ -0,0 +1,2384 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + +struct arc { + uint8 source[1]; + uint8 dest[1]; + uint8 type; +}; + + + +extern uint8 ARC_bdcst[]; + + + + + + +void htonarc(struct arc *arc,struct mbuf **data); +int ntoharc(struct arc *arc,struct mbuf **bpp); +char *parc(char *out,uint8 *addr); +int garc(uint8 *out,char *cp); +int anet_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int anet_output(struct iface *iface,uint8 dest[],uint8 source[],uint16 type, + struct mbuf **data); +void aproc(struct iface *iface,struct mbuf **bp); + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + +void +arc_dump(fp,bpp,check) +FILE *fp; +struct mbuf **bpp; +int check; +{ + struct arc ahdr; + char s[20],d[20]; + + ntoharc(&ahdr,bpp); + parc(s,ahdr.source); + parc(d,ahdr.dest); + _fprintf(fp, _("Arcnet: len %u %s->%s"),3 + len_p(*bpp),s,d); + + switch(ahdr.type){ + case 0xf0 : + _fprintf(fp, _(" type IP\n")); + ip_dump(fp,bpp,1); + break; + case 0xf1 : + _fprintf(fp, _(" type ARP\n")); + arp_dump(fp,bpp); + break; + default: + _fprintf(fp, _(" type 0x%x\n"),ahdr.type); + break; + } +} +int +arc_forus(iface,bp) +struct iface *iface; +struct mbuf *bp; +{ + return 1; +} diff --git a/src/nos/dump/arpdump.i b/src/nos/dump/arpdump.i new file mode 100644 index 00000000..5735a22c --- /dev/null +++ b/src/nos/dump/arpdump.i @@ -0,0 +1,2549 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + +enum arp_opcode { + ARP_REQUEST=1, + ARP_REPLY, + REVARP_REQUEST, + REVARP_REPLY +}; + +enum arp_hwtype { + ARP_NETROM=0, + ARP_ETHER, + ARP_EETHER, + ARP_AX25, + ARP_PRONET, + ARP_CHAOS, + ARP_IEEE802, + ARP_ARCNET, + ARP_APPLETALK +}; +extern char *Arptypes[]; + + + +struct arp_type { + uint16 hwalen; + uint16 iptype; + uint16 arptype; + uint16 pendtime; + uint8 *bdcst; + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + +}; +extern struct arp_type Arp_type[]; + + +struct arp { + enum arp_hwtype hardware; + uint16 protocol; + uint8 hwalen; + uint8 pralen; + enum arp_opcode opcode; + uint8 shwaddr[20 ]; + int32 sprotaddr; + uint8 thwaddr[20 ]; + int32 tprotaddr; +}; + + +struct arp_tab { + struct arp_tab *next; + struct arp_tab *prev; + struct timer timer; + struct mbuf *pending; + int32 ip_addr; + enum arp_hwtype hardware; + enum { + ARP_PENDING, + ARP_VALID + } state; + uint8 *hw_addr; + unsigned int pub:1; +}; +extern struct arp_tab *Arp_tab[]; + +struct arp_stat { + unsigned recv; + unsigned badtype; + unsigned badlen; + unsigned badaddr; + unsigned inreq; + unsigned replies; + unsigned outreq; +}; +extern struct arp_stat Arp_stat; + + +struct arp_tab *arp_add(int32 ipaddr,enum arp_hwtype hardware,uint8 *hw_addr, + int pub); +void arp_drop(void *p); +int arp_init(unsigned int hwtype,int hwalen,int iptype,int arptype, + int pendtime,uint8 *bdcst,char *(*format)(char *,uint8 *), + int (*scan)(uint8 *,char *) ); +void arp_input(struct iface *iface,struct mbuf **bpp); +struct arp_tab *arp_lookup(enum arp_hwtype hardware,int32 ipaddr); +uint8 *res_arp(struct iface *iface,enum arp_hwtype hardware,int32 target,struct mbuf **bpp); + + +struct mbuf *htonarp(struct arp *arp); +int ntoharp(struct arp *arp,struct mbuf **bpp); + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + +void +arp_dump(fp,bpp) +FILE *fp; +struct mbuf **bpp; +{ + struct arp arp; + struct arp_type *at; + int is_ip = 0; + char tmp[25]; + + if(bpp == 0 || *bpp == 0) + return; + _fprintf(fp, _("ARP: len %d"),len_p(*bpp)); + if(ntoharp(&arp,bpp) == -1){ + _fprintf(fp, _(" bad packet\n")); + return; + } + if(arp.hardware < 9) + at = &Arp_type[arp.hardware]; + else + at = 0; + + + _fprintf(fp, _(" hwtype %s"),smsg(Arptypes,9,arp.hardware)); + + + + + if(at == 0 || arp.hwalen != at->hwalen) + _fprintf(fp, _(" hwlen %u"),arp.hwalen); + + + if(at != 0 && arp.protocol == at->iptype){ + _fprintf(fp, _(" prot IP")); + is_ip = 1; + } else { + _fprintf(fp, _(" prot 0x%x prlen %u"),arp.protocol,arp.pralen); + } + switch(arp.opcode){ + case ARP_REQUEST: + _fprintf(fp, _(" op REQUEST")); + break; + case ARP_REPLY: + _fprintf(fp, _(" op REPLY")); + break; + case REVARP_REQUEST: + _fprintf(fp, _(" op REVERSE REQUEST")); + break; + case REVARP_REPLY: + _fprintf(fp, _(" op REVERSE REPLY")); + break; + default: + _fprintf(fp, _(" op %u"),arp.opcode); + break; + } + _fprintf(fp, _("\n")); + _fprintf(fp, _("sender")); + if(is_ip) + _fprintf(fp, _(" IPaddr %s"),inet_ntoa(arp.sprotaddr)); + _fprintf(fp, _(" hwaddr %s\n"),at->format(tmp,arp.shwaddr)); + + _fprintf(fp, _("target")); + if(is_ip) + _fprintf(fp, _(" IPaddr %s"),inet_ntoa(arp.tprotaddr)); + _fprintf(fp, _(" hwaddr %s\n"),at->format(tmp,arp.thwaddr)); +} diff --git a/src/nos/dump/ax25dump.i b/src/nos/dump/ax25dump.i new file mode 100644 index 00000000..149c043b --- /dev/null +++ b/src/nos/dump/ax25dump.i @@ -0,0 +1,2987 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct ax25_cb { + struct ax25_cb *next; + + struct iface *iface; + + struct mbuf *txq; + struct mbuf *rxasm; + struct mbuf *rxq; + + uint8 local[7 ]; + uint8 remote[7 ]; + + struct { + unsigned int rejsent:1; + unsigned int remotebusy:1; + unsigned int rtt_run:1; + unsigned int retrans:1; + unsigned int clone:1; + } flags; + + uint8 reason; + + + + + uint8 response; + uint8 vs; + uint8 vr; + uint8 unack; + int maxframe; + uint16 paclen; + uint16 window; + enum { + V1=1, + V2 + } proto; + uint16 pthresh; + unsigned retries; + unsigned n2; + enum { + LAPB_DISCONNECTED=1, + LAPB_LISTEN, + LAPB_SETUP, + LAPB_DISCPENDING, + LAPB_CONNECTED, + LAPB_RECOVERY + } state; + struct timer t1; + struct timer t3; + int32 rtt_time; + int rtt_seq; + int32 srt; + int32 mdev; + + void (*r_upcall)(struct ax25_cb *,int); + void (*t_upcall)(struct ax25_cb *,int); + void (*s_upcall)(struct ax25_cb *,int,int); + + int user; + + int segremain; +}; + +struct axlink { + int pid; + void (*funct)(struct iface *,struct ax25_cb *,uint8 *, uint8 *, + struct mbuf **,int); +}; +extern struct axlink Axlink[]; + + + + + + +extern struct ax25_cb Ax25default,*Ax25_cb; +extern char *Ax25states[],*Axreasons[]; +extern int32 Axirtt,T3init,Blimit; +extern uint16 N2,Maxframe,Paclen,Pthresh,Axwindow,Axversion; + + +void st_ax25(struct ax25_cb *axp); + + +struct ax25_cb *cr_ax25(uint8 *addr); +void del_ax25(struct ax25_cb *axp); +struct ax25_cb *find_ax25(uint8 *); + + +int ax25val(struct ax25_cb *axp); +int disc_ax25(struct ax25_cb *axp); +int kick_ax25(struct ax25_cb *axp); +struct ax25_cb *open_ax25(struct iface *,uint8 *,uint8 *, + int,uint16, + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int,int), + int user); +struct mbuf *recv_ax25(struct ax25_cb *axp,uint16 cnt); +int reset_ax25(struct ax25_cb *axp); +int send_ax25(struct ax25_cb *axp,struct mbuf **bp,int pid); + + +void est_link(struct ax25_cb *axp); +void lapbstate(struct ax25_cb *axp,int s); +int lapb_input(struct ax25_cb *axp,int cmdrsp,struct mbuf **bp); +int lapb_output(struct ax25_cb *axp); +struct mbuf *segmenter(struct mbuf **bp,uint16 ssize); +int sendctl(struct ax25_cb *axp,int cmdrsp,int cmd); +int sendframe(struct ax25_cb *axp,int cmdrsp,int ctl,struct mbuf **data); +void axnl3(struct iface *iface,struct ax25_cb *axp,uint8 *src, + uint8 *dest,struct mbuf **bp,int mcast); + + +void pollthem(void *p); +void recover(void *p); + + +uint16 ftype(int control); +void lapb_garbage(int drastic); + + +void s_arcall(struct ax25_cb *axp,int cnt); +void s_ascall(struct ax25_cb *axp,int old,int new); +void s_atcall(struct ax25_cb *axp,int cnt); + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + +static char *decode_type(uint16 type); + + +void +ax25_dump(fp,bpp,check) +FILE *fp; +struct mbuf **bpp; +int check; +{ + char tmp[10 ]; + char frmr[3]; + int control,pid,seg; + uint16 type; + int unsegmented; + struct ax25 hdr; + uint8 *hp; + + _fprintf(fp, _("AX25: ")); + + if(ntohax25(&hdr,bpp) < 0){ + + _fprintf(fp, _(" bad header!\n")); + return; + } + _fprintf(fp, _("%s"),pax25(tmp,hdr.source)); + _fprintf(fp, _("->%s"),pax25(tmp,hdr.dest)); + if(hdr.ndigis > 0){ + _fprintf(fp, _(" v")); + for(hp = hdr.digis[0]; hp < &hdr.digis[hdr.ndigis][0]; + hp += 7 ){ + + _fprintf(fp, _(" %s%s"),pax25(tmp,hp), + (hp[6 ] & 0x80 ) ? "*":""); + } + } + if((control = pull8(((bpp)))) == -1) + return; + + (fputc((' '),(fp))); + type = ftype(control); + _fprintf(fp, _("%s"),decode_type(type)); + + if(control & 0x10 ){ + switch(hdr.cmdrsp){ + case LAPB_COMMAND: + _fprintf(fp, _("(P)")); + break; + case LAPB_RESPONSE: + _fprintf(fp, _("(F)")); + break; + default: + _fprintf(fp, _("(P/F)")); + break; + } + } + + if((type & 0x3) != 0x03 ) + _fprintf(fp, _(" NR=%d"),(control>>5)&7); + if(type == 0x00 || type == 0x03 ){ + if(type == 0x00 ) + _fprintf(fp, _(" NS=%d"),(control>>1)&7); + + if((pid = pull8(((bpp)))) != -1){ + if(pid == 0x08 ){ + unsegmented = 0; + seg = pull8(((bpp))); + _fprintf(fp, _("%s remain %u"),seg & 0x80 ? + " First seg;" : "",seg & 0x7f ); + if(seg & 0x80 ) + pid = pull8(((bpp))); + } else + unsegmented = 1; + + switch(pid){ + case 0x08 : + (fputc(('\n'),(fp))); + break; + case 0xcd : + _fprintf(fp, _(" pid=ARP\n")); + arp_dump(fp,bpp); + break; + case 0xcf : + _fprintf(fp, _(" pid=NET/ROM\n")); + + netrom_dump(fp,bpp,unsegmented); + break; + case 0xcc : + _fprintf(fp, _(" pid=IP\n")); + + ip_dump(fp,bpp,unsegmented); + break; + case 0x01 : + _fprintf(fp, _(" pid=X.25\n")); + break; + case 0xc3 : + _fprintf(fp, _(" pid=TEXNET\n")); + break; + case 0xf0 : + _fprintf(fp, _(" pid=Text\n")); + break; + default: + _fprintf(fp, _(" pid=0x%x\n"),pid); + } + } + } else if(type == 0x87 && pullup(bpp,frmr,3) == 3){ + _fprintf(fp, _(": %s"),decode_type(ftype(frmr[0]))); + _fprintf(fp, _(" Vr = %d Vs = %d"),(frmr[1] >> 5) & 7 , + (frmr[1] >> 1) & 7 ); + if(frmr[2] & 1 ) + _fprintf(fp, _(" Invalid control field")); + if(frmr[2] & 2 ) + _fprintf(fp, _(" Illegal I-field")); + if(frmr[2] & 4 ) + _fprintf(fp, _(" Too-long I-field")); + if(frmr[2] & 8 ) + _fprintf(fp, _(" Invalid seq number")); + (fputc(('\n'),(fp))); + } else + (fputc(('\n'),(fp))); + +} +static char * +decode_type(type) +uint16 type; +{ + switch(type){ + case 0x00 : + return "I"; + case 0x2f : + return "SABM"; + case 0x43 : + return "DISC"; + case 0x0f : + return "DM"; + case 0x63 : + return "UA"; + case 0x01 : + return "RR"; + case 0x05 : + return "RNR"; + case 0x09 : + return "REJ"; + case 0x87 : + return "FRMR"; + case 0x03 : + return "UI"; + default: + return "[invalid]"; + } +} + + + + +int +ax_forus(iface,bp) +struct iface *iface; +struct mbuf *bp; +{ + struct mbuf *bpp; + uint8 dest[7 ]; + + + if(dup_p(&bpp,bp,0,7 ) != 7 ){ + free_p(&bpp); + return 0; + } + if(pullup(&bpp,dest,7 ) < 7 ) + return 0; + if(addreq(dest,iface->hwaddr)) + return 1; + else + return 0; +} + diff --git a/src/nos/dump/enetdump.i b/src/nos/dump/enetdump.i new file mode 100644 index 00000000..c484151c --- /dev/null +++ b/src/nos/dump/enetdump.i @@ -0,0 +1,2397 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + +struct ether { + uint8 dest[6]; + uint8 source[6]; + uint16 type; +}; + + + +extern uint8 Ether_bdcst[]; + + + + + + + + + + + + +char *pether(char *out,uint8 *addr); +int gether(uint8 *out,char *cp); +int enet_send(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +int enet_output(struct iface *iface,uint8 dest[],uint8 source[],uint16 type, + struct mbuf **bpp); +void eproc(struct iface *iface,struct mbuf **bpp); + + +void htonether(struct ether *ether,struct mbuf **data); +int ntohether(struct ether *ether,struct mbuf **bpp); + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + +void +ether_dump( +FILE *fp, +struct mbuf **bpp, +int check +){ + struct ether ehdr; + char s[20],d[20]; + + ntohether(&ehdr,bpp); + pether(s,ehdr.source); + pether(d,ehdr.dest); + _fprintf(fp, _("Ether: len %u %s->%s"),14 + len_p(*bpp),s,d); + + switch(ehdr.type){ + case 0x800 : + _fprintf(fp, _(" type IP\n")); + ip_dump(fp,bpp,1); + break; + case 0x8035 : + _fprintf(fp, _(" type REVARP\n")); + arp_dump(fp,bpp); + break; + case 0x806 : + _fprintf(fp, _(" type ARP\n")); + arp_dump(fp,bpp); + break; + default: + _fprintf(fp, _(" type 0x%x\n"),ehdr.type); + break; + } +} +int +ether_forus(struct iface *iface,struct mbuf *bp) +{ + + + if(bp->data[0] & 1) + return 0; + else + return 1; +} diff --git a/src/nos/dump/icmpdump.i b/src/nos/dump/icmpdump.i new file mode 100644 index 00000000..a5d028b2 --- /dev/null +++ b/src/nos/dump/icmpdump.i @@ -0,0 +1,2853 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + +extern struct mib_entry Icmp_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct icmp { + uint8 type; + uint8 code; + union icmp_args { + uint16 mtu; + int32 unused; + uint8 pointer; + int32 address; + struct { + uint16 id; + uint16 seq; + } echo; + } args; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int Icmp_trace; +extern int Icmp_echo; + + +extern char *Icmptypes[],*Unreach[],*Exceed[],*Redirect[],*Said_icmp[]; + +struct icmplink { + uint8 proto; + void (*funct)(int32,int32,int32,uint8,uint8,struct mbuf **); +}; +extern struct icmplink Icmplink[]; + + +void icmp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int icmp_output(struct ip *ip,struct mbuf *data,uint8 type,uint8 code, + union icmp_args *args); + + +void htonicmp(struct icmp *icmp,struct mbuf **data); +int ntohicmp(struct icmp *icmp,struct mbuf **bpp); + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + + + +void +icmp_dump(fp,bpp,source,dest,check) +FILE *fp; +struct mbuf **bpp; +int32 source,dest; +int check; +{ + struct icmp icmp; + uint16 csum; + + if(bpp == 0 || *bpp == 0) + return; + csum = cksum(0,*bpp,len_p(*bpp)); + + ntohicmp(&icmp,bpp); + + _fprintf(fp, _("ICMP: type %s"),smsg(Icmptypes,20,icmp.type)); + + switch(icmp.type){ + case 3 : + _fprintf(fp, _(" code %s"),smsg(Unreach,14,icmp.code)); + break; + case 5 : + _fprintf(fp, _(" code %s"),smsg(Redirect,3,icmp.code)); + _fprintf(fp, _(" new gateway %s"),inet_ntoa(icmp.args.address)); + break; + case 11 : + _fprintf(fp, _(" code %s"),smsg(Exceed,2,icmp.code)); + break; + case 12 : + _fprintf(fp, _(" pointer %u"),icmp.args.pointer); + break; + case 8 : + case 0 : + case 15 : + case 16 : + case 13 : + case 14 : + _fprintf(fp, _(" id %u seq %u"),icmp.args.echo.id,icmp.args.echo.seq); + break; + case 19 : + _fprintf(fp, _(" %s"),smsg(Said_icmp,3,icmp.code)); + break; + } + if(check && csum != 0){ + _fprintf(fp, _(" CHECKSUM ERROR (%u)"),csum); + } + (fputc(('\n'),(fp))); + + switch(icmp.type){ + case 3 : + case 11 : + case 12 : + case 4 : + case 5 : + case 19 : + _fprintf(fp, _("Returned ")); + ip_dump(fp,bpp,0); + } +} + diff --git a/src/nos/dump/ipdump.i b/src/nos/dump/ipdump.i new file mode 100644 index 00000000..2e986030 --- /dev/null +++ b/src/nos/dump/ipdump.i @@ -0,0 +1,3150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + + + + + + + + + + +enum ftp_type { + ASCII_TYPE, + IMAGE_TYPE, + LOGICAL_TYPE +}; + + +enum verb_level { + V_QUIET, + V_SHORT, + V_NORMAL, + V_HASH, + V_STAT +}; + +long sendfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +long recvfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +int isbinary(FILE *fp); +int md5hash(FILE *fp,uint8 hash[16],int ascii); + + + + + + + + + + + +struct ftpcli { + FILE *control; + FILE *data; + + char state; + + + + + uint16 verbose; + int batch; + int abort; + int update; + char type; + char typesent; + int logbsize; + FILE *fp; + + char buf[256 ]; + char line[256 ]; + struct session *session; +}; + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + +struct telnet { + char local[6]; + char remote[6]; + struct session *session; + char eolmode; +}; + +extern int Refuse_echo; +extern int Tn_cr_mode; + + +int tel_connect(struct session *sp,struct sockaddr *fsocket,int len); +void tel_output(int unused,void *p1,void *p2); +void tnrecv(struct telnet *tn); +void doopt(struct telnet *tn,int opt); +void dontopt(struct telnet *tn,int opt); +void willopt(struct telnet *tn,int opt); +void wontopt(struct telnet *tn,int opt); +void answer(struct telnet *tn,int r1,int r2); + + +void ttylhandle(int s,void *unused,void *p); + + + + +struct ttystate { + uint8 *line; + uint8 *lp; + unsigned int echo:1; + unsigned int edit:1; + unsigned int crnl:1; +}; + + +struct session { + unsigned strchr; + enum { + TELNET, + FTP, + AX25TNC, + FINGER, + PING, + NRSESSION, + COMMAND, + VIEW, + HOP, + TIP, + PPPPASS, + DIAL, + DQUERY, + DCLIST, + ITRACE, + REPEAT, + FAX + } type; + + char *name; + union { + struct ftpcli *ftp; + struct telnet *telnet; + void *p; + } cb; + struct proc *proc; + struct proc *proc1; + struct proc *proc2; + FILE *network; + FILE *record; + FILE *upload; + struct ttystate ttystate; + FILE *input; + FILE *output; + int (*ctlproc)(int); + int (*inproc)(int); + struct session *parent; + enum { + SCROLL_INBAND, + SCROLL_LOCAL + } scrollmode; +}; +extern char *Sestypes[]; +extern unsigned Nsessions; +extern long Sfsize; + +extern struct session *Sessions[]; + + + +extern struct session *Current; +extern struct session *Lastcurr; +extern struct session *Command; +extern char *Cmdline; + + +void freesession(struct session *sp); +int keywait(char *prompt,int flush); +struct session *sessptr(char *cp); +struct session *newsession(char *name,int type,int makecur); +void sesflush(void); +void upload(int unused,void *sp1,void *p); + +extern uint16 Lport; + + + + + + + + +void ipldump(FILE *fp,struct ip *ip,struct mbuf **bpp,int check); + +void +ip_dump( +FILE *fp, +struct mbuf **bpp, +int check +){ + struct ip ip; + uint16 ip_len; + uint16 csum; + + if(bpp == 0 || *bpp == 0) + return; + + + ip_len = ((*bpp)->data[0] & 0xf) << 2; + if(ip_len < 20 ){ + _fprintf(fp, _("IP: bad header\n")); + return; + } + if(check && cksum(0,*bpp,ip_len) != 0) + _fprintf(fp, _("IP: CHECKSUM ERROR (%u)"),csum); + + ntohip(&ip,bpp); + ipldump(fp,&ip,bpp,check); +} +void +ipip_dump( +FILE *fp, +struct mbuf **bpp, +int32 source, +int32 dest, +int check +){ + ip_dump(fp,bpp,check); +} +void +ipldump(fp,ip,bpp,check) +FILE *fp; +struct ip *ip; +struct mbuf **bpp; +int check; +{ + uint16 length; + int i; + + + length = ip->length - (20 + ip->optlen); + trim_mbuf(bpp,length); + _fprintf(fp, _("IP: len %u"),ip->length); + _fprintf(fp, _(" %s"),inet_ntoa(ip->source)); + _fprintf(fp, _("->%s ihl %u ttl %u"), + inet_ntoa(ip->dest),20 + ip->optlen,ip->ttl); + if(ip->tos != 0) + _fprintf(fp, _(" tos %u"),ip->tos); + if(ip->offset != 0 || ip->flags.mf) + _fprintf(fp, _(" id %u offs %u"),ip->id,ip->offset); + if(ip->flags.df) + _fprintf(fp, _(" DF")); + if(ip->flags.mf){ + _fprintf(fp, _(" MF")); + check = 0; + } + if(ip->flags.congest){ + _fprintf(fp, _(" CE")); + } + if(ip->offset != 0){ + (fputc(('\n'),(fp))); + return; + } + for(i=0;Iplink[i].proto != 0;i++){ + if(Iplink[i].proto == ip->protocol){ + _fprintf(fp, _(" prot %s\n"),Iplink[i].name); + (*Iplink[i].dump)(fp,bpp,ip->source,ip->dest,check); + return; + } + } + _fprintf(fp, _(" prot %u\n"),ip->protocol); +} + +void +dumpip(iface,ip,bp,spi) +struct iface *iface; +struct ip *ip; +struct mbuf *bp; +int32 spi; +{ + struct mbuf *bpp; + + if(iface != 0){ + _fprintf(Command->output, _("ip_recv(%s)"),iface->name); + if(spi != 0) + _fprintf(Command->output, _(" spi %lx"),spi); + _fprintf(Command->output, _("\n")); + } else + _fprintf(Command->output, _("ip_send\n")); + + dup_p(&bpp,bp,0,len_p(bp)); + ipldump(Command->output,ip,&bpp,1); + free_p(&bpp); + _fprintf(Command->output, _("\n")); +} + diff --git a/src/nos/dump/kissdump.i b/src/nos/dump/kissdump.i new file mode 100644 index 00000000..1568ac1a --- /dev/null +++ b/src/nos/dump/kissdump.i @@ -0,0 +1,2628 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + +int kiss_free(struct iface *ifp); +int kiss_raw(struct iface *iface,struct mbuf **data); +void kiss_recv(struct iface *iface,struct mbuf **bp); +int kiss_init(struct iface *ifp); +int32 kiss_ioctl(struct iface *iface,int cmd,int set,int32 val); +void kiss_recv(struct iface *iface,struct mbuf **bp); + + + + + + + + + + +enum devparam { + PARAM_DATA, + PARAM_TXDELAY, + PARAM_PERSIST, + PARAM_SLOTTIME, + PARAM_TXTAIL, + PARAM_FULLDUP, + PARAM_HW, + PARAM_MUTE, + PARAM_DTR, + PARAM_RTS, + PARAM_SPEED, + PARAM_ENDDELAY, + PARAM_GROUP, + PARAM_IDLE, + PARAM_MIN, + PARAM_MAXKEY, + PARAM_WAIT, + + PARAM_CLOSE, + PARAM_OPEN, + PARAM_LISTEN, + PARAM_DOWN=0x81, + PARAM_UP=0x82, + + PARAM_BLIND=0x83, + PARAM_RETURN=0xff +}; + + +int devparam(char *s); +char *parmname(int n); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + +void +ki_dump(fp,bpp,check) +FILE *fp; +struct mbuf **bpp; +int check; +{ + int type; + int val; + + _fprintf(fp, _("KISS: ")); + type = pull8(((bpp))); + if(type == PARAM_DATA){ + _fprintf(fp, _("Data\n")); + ax25_dump(fp,bpp,check); + return; + } + val = pull8(((bpp))); + switch(type){ + case PARAM_TXDELAY: + _fprintf(fp, _("TX Delay: %lu ms\n"),val * 10L); + break; + case PARAM_PERSIST: + _fprintf(fp, _("Persistence: %u/256\n"),val + 1); + break; + case PARAM_SLOTTIME: + _fprintf(fp, _("Slot time: %lu ms\n"),val * 10L); + break; + case PARAM_TXTAIL: + _fprintf(fp, _("TX Tail time: %lu ms\n"),val * 10L); + break; + case PARAM_FULLDUP: + _fprintf(fp, _("Duplex: %s\n"),val == 0 ? "Half" : "Full"); + break; + case PARAM_HW: + _fprintf(fp, _("Hardware %u\n"),val); + break; + case PARAM_RETURN: + _fprintf(fp, _("RETURN\n")); + break; + default: + _fprintf(fp, _("code %u arg %u\n"),type,val); + break; + } +} + +int +ki_forus(iface,bp) +struct iface *iface; +struct mbuf *bp; +{ + struct mbuf *bpp; + int i; + + if(bp->data[0] != PARAM_DATA) + return 0; + dup_p(&bpp,bp,1,7 ); + i = ax_forus(iface,bpp); + free_p(&bpp); + return i; +} diff --git a/src/nos/dump/nrdump.i b/src/nos/dump/nrdump.i new file mode 100644 index 00000000..be6fa564 --- /dev/null +++ b/src/nos/dump/nrdump.i @@ -0,0 +1,3273 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct ax25_cb { + struct ax25_cb *next; + + struct iface *iface; + + struct mbuf *txq; + struct mbuf *rxasm; + struct mbuf *rxq; + + uint8 local[7 ]; + uint8 remote[7 ]; + + struct { + unsigned int rejsent:1; + unsigned int remotebusy:1; + unsigned int rtt_run:1; + unsigned int retrans:1; + unsigned int clone:1; + } flags; + + uint8 reason; + + + + + uint8 response; + uint8 vs; + uint8 vr; + uint8 unack; + int maxframe; + uint16 paclen; + uint16 window; + enum { + V1=1, + V2 + } proto; + uint16 pthresh; + unsigned retries; + unsigned n2; + enum { + LAPB_DISCONNECTED=1, + LAPB_LISTEN, + LAPB_SETUP, + LAPB_DISCPENDING, + LAPB_CONNECTED, + LAPB_RECOVERY + } state; + struct timer t1; + struct timer t3; + int32 rtt_time; + int rtt_seq; + int32 srt; + int32 mdev; + + void (*r_upcall)(struct ax25_cb *,int); + void (*t_upcall)(struct ax25_cb *,int); + void (*s_upcall)(struct ax25_cb *,int,int); + + int user; + + int segremain; +}; + +struct axlink { + int pid; + void (*funct)(struct iface *,struct ax25_cb *,uint8 *, uint8 *, + struct mbuf **,int); +}; +extern struct axlink Axlink[]; + + + + + + +extern struct ax25_cb Ax25default,*Ax25_cb; +extern char *Ax25states[],*Axreasons[]; +extern int32 Axirtt,T3init,Blimit; +extern uint16 N2,Maxframe,Paclen,Pthresh,Axwindow,Axversion; + + +void st_ax25(struct ax25_cb *axp); + + +struct ax25_cb *cr_ax25(uint8 *addr); +void del_ax25(struct ax25_cb *axp); +struct ax25_cb *find_ax25(uint8 *); + + +int ax25val(struct ax25_cb *axp); +int disc_ax25(struct ax25_cb *axp); +int kick_ax25(struct ax25_cb *axp); +struct ax25_cb *open_ax25(struct iface *,uint8 *,uint8 *, + int,uint16, + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int,int), + int user); +struct mbuf *recv_ax25(struct ax25_cb *axp,uint16 cnt); +int reset_ax25(struct ax25_cb *axp); +int send_ax25(struct ax25_cb *axp,struct mbuf **bp,int pid); + + +void est_link(struct ax25_cb *axp); +void lapbstate(struct ax25_cb *axp,int s); +int lapb_input(struct ax25_cb *axp,int cmdrsp,struct mbuf **bp); +int lapb_output(struct ax25_cb *axp); +struct mbuf *segmenter(struct mbuf **bp,uint16 ssize); +int sendctl(struct ax25_cb *axp,int cmdrsp,int cmd); +int sendframe(struct ax25_cb *axp,int cmdrsp,int ctl,struct mbuf **data); +void axnl3(struct iface *iface,struct ax25_cb *axp,uint8 *src, + uint8 *dest,struct mbuf **bp,int mcast); + + +void pollthem(void *p); +void recover(void *p); + + +uint16 ftype(int control); +void lapb_garbage(int drastic); + + +void s_arcall(struct ax25_cb *axp,int cnt); +void s_ascall(struct ax25_cb *axp,int old,int new); +void s_atcall(struct ax25_cb *axp,int cnt); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct nr4hdr { + uint8 opcode ; + uint8 yourindex ; + uint8 yourid ; + + union { + + struct { + uint8 family ; + uint8 proto ; + } pid ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + uint8 user[7 ] ; + uint8 node[7 ] ; + } conreq ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + } conack ; + + struct { + uint8 txseq ; + uint8 rxseq ; + } info ; + + struct { + uint8 rxseq ; + } ack ; + + } u ; + +} ; + + + +struct nr4txbuf { + struct timer tretry ; + unsigned retries ; + struct mbuf *data ; +} ; + + + +struct nr4rxbuf { + uint8 occupied ; + struct mbuf *data ; +} ; + + +struct nr4_addr { + uint8 user[7 ]; + uint8 node[7 ]; +}; + +struct sockaddr_nr { + short nr_family; + struct nr4_addr nr_addr; +}; + + + +struct nr4cb { + unsigned mynum ; + unsigned myid ; + unsigned yournum ; + unsigned yourid ; + struct nr4_addr remote ; + struct nr4_addr local ; + + unsigned window ; + + + + long srtt ; + long mdev ; + unsigned blevel ; + unsigned txmax ; + + + + + + + + char clone ; + char choked ; + char qfull ; + + char naksent ; + + + + struct nr4txbuf *txbufs ; + uint8 nextosend ; + uint8 ackxpected ; + unsigned nbuffered ; + struct mbuf *txq ; + + + + struct nr4rxbuf *rxbufs ; + uint8 rxpected ; + uint8 rxpastwin ; + struct mbuf *rxq ; + + + + int state ; + + + + + + + int dreason ; + + + + + + + + + struct timer tchoke ; + struct timer tack ; + + struct timer tcd ; + unsigned cdtries ; + + void (*r_upcall)(struct nr4cb *,uint16); + + void (*t_upcall)(struct nr4cb *,uint16); + + void (*s_upcall)(struct nr4cb *,int,int); + + int user ; +} ; + + + +struct nr4circp { + uint8 cid ; + + struct nr4cb *ccb ; + +} ; + + + +extern struct nr4circp Nr4circuits[20 ] ; + + + +extern unsigned short Nr4window ; +extern long Nr4irtt ; +extern unsigned short Nr4retries ; +extern long Nr4acktime ; +extern char *Nr4states[] ; +extern char *Nr4reasons[] ; +extern unsigned short Nr4qlimit ; +extern long Nr4choketime ; +extern uint8 Nr4user[7 ]; + + + + +int ntohnr4(struct nr4hdr *, struct mbuf **); +struct mbuf *htonnr4(struct nr4hdr *); + + +void free_n4circ(struct nr4cb *); +struct nr4cb *get_n4circ(int, int); +int init_nr4window(struct nr4cb *, unsigned); +int nr4between(unsigned, unsigned, unsigned); +struct nr4cb *match_n4circ(int, int,uint8 *,uint8 *); +struct nr4cb *new_n4circ(void); +void nr4defaults(struct nr4cb *); +int nr4valcb(struct nr4cb *); +void nr_garbage(int red); + + +void nr4input(struct nr4hdr *hdr,struct mbuf **bp); +int nr4output(struct nr4cb *); +void nr4sbuf(struct nr4cb *, unsigned); +void nr4sframe(uint8 *, struct nr4hdr *, struct mbuf **); +void nr4state(struct nr4cb *, int); + + +void nr4ackit(void *); +void nr4cdtimeout(void *); +void nr4txtimeout(void *); +void nr4unchoke(void *); + + +void disc_nr4(struct nr4cb *); +int kick_nr4(struct nr4cb *); +struct nr4cb *open_nr4(struct nr4_addr *, struct nr4_addr *, int, + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,int,int),int); +struct mbuf *recv_nr4(struct nr4cb *, uint16); +void reset_nr4(struct nr4cb *); +int send_nr4(struct nr4cb *, struct mbuf **); + + +void nr4_state(struct nr4cb *, int, int); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct nr3hdr { + uint8 source[7 ] ; + uint8 dest[7 ] ; + unsigned ttl ; +} ; + + + +struct nr3dest { + uint8 dest[7 ] ; + char alias[7 ] ; + uint8 neighbor[7 ] ; + unsigned quality ; +} ; + + + +struct nriface { + struct iface *iface ; + char alias[7 ] ; + + unsigned quality ; +} ; + + +struct nrnbr_tab { + struct nrnbr_tab *next ; + struct nrnbr_tab *prev ; + uint8 call[7 ] ; + unsigned iface ; + + unsigned refcnt ; +} ; + + + + + + +struct nr_bind { + struct nr_bind *next ; + struct nr_bind *prev ; + unsigned quality ; + unsigned obsocnt ; + unsigned flags ; + + + struct nrnbr_tab *via ; +} ; + + + +struct nrroute_tab { + struct nrroute_tab *next ; + struct nrroute_tab *prev ; + char alias[7 ] ; + uint8 call[7 ] ; + unsigned num_routes ; + struct nr_bind *routes ; + +} ; + + +struct nrnf_tab { + struct nrnf_tab *next ; + struct nrnf_tab *prev ; + uint8 neighbor[7 ] ; + unsigned iface ; +} ; + + +struct raw_nr { + struct raw_nr *prev; + struct raw_nr *next; + + struct mbuf *rcvq; + uint8 protocol; +}; + + +extern struct nriface Nrifaces[10 ] ; + + +extern unsigned Nr_numiface ; + + +extern struct nrnbr_tab *Nrnbr_tab[17 ] ; + + +extern struct nrroute_tab *Nrroute_tab[17 ] ; + + +extern struct nrnf_tab *Nrnf_tab[17 ] ; + +extern uint8 Nr_nodebc[7 ]; + + + + + + + +extern unsigned Nr_nfmode ; + + +extern unsigned short Nr_ttl ; + + +extern unsigned Obso_init ; + + +extern unsigned Obso_minbc ; + + + +extern unsigned Nr_autofloor ; + + + + +extern int Nr_verbose ; + + + + + +extern unsigned Nr_maxroutes ; + + +extern struct iface *Nr_iface ; + + + + +void del_rnr(struct raw_nr *rpp); +uint8 *find_nralias(char *); +struct nrroute_tab *find_nrroute(uint8 *); +void nr_bcnodes(unsigned ifno); +void nr_nodercv(struct iface *iface,uint8 *source,struct mbuf **bpp); +int nr_nfadd(uint8 *, unsigned); +int nr_nfdrop(uint8 *, unsigned); +void nr_route(struct mbuf **bp,struct ax25_cb *iaxp); +int nr_routeadd(char *, uint8 *, unsigned, + unsigned, uint8 *, unsigned, unsigned); +int nr_routedrop(uint8 *, uint8 *, unsigned); +int nr_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +void nr_sendraw(uint8 *dest,unsigned family,unsigned proto, + struct mbuf **data); +void nr3output(uint8 *dest,struct mbuf **data); +uint16 nrhash(uint8 *s); +struct raw_nr *raw_nr(uint8); + + +void donrdump(struct nr4cb *cb); +int doroutedump(void); +int dorouteinfo(int argc,char *argv[],void *p); +int putalias(char *to, char *from,int complain); + + +struct mbuf *htonnr3(struct nr3hdr *); +struct mbuf *htonnrdest(struct nr3dest *); +int ntohnr3(struct nr3hdr *, struct mbuf **); +int ntohnrdest(struct nr3dest *ds,struct mbuf **bpp); + + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + + +void +netrom_dump(fp,bpp,check) +FILE *fp; +struct mbuf **bpp; +int check; +{ + uint8 src[7 ],dest[7 ]; + char tmp[10 ]; + uint8 thdr[5]; + register i; + + if(bpp == 0 || *bpp == 0) + return; + + if((*(*bpp)->data) == 0xff ) { + (void)pull8(((bpp))); + pullup(bpp,tmp,6 ); + tmp[6 ] = '\0'; + _fprintf(fp, _("NET/ROM Routing: %s\n"),tmp); + for(i = 0;i < 11 ;i++) { + if (pullup(bpp,src,7 ) < 7 ) + break; + _fprintf(fp, _(" %12s"),pax25(tmp,src)); + pullup(bpp,tmp,6 ); + tmp[6 ] = '\0'; + _fprintf(fp, _("%8s"),tmp); + pullup(bpp,src,7 ); + _fprintf(fp, _(" %12s"),pax25(tmp,src)); + tmp[0] = pull8(((bpp))); + _fprintf(fp, _(" %3u\n"),(tmp[0])); + } + return; + } + + pullup(bpp,src,7 ); + _fprintf(fp, _("NET/ROM: %s"),pax25(tmp,src)); + + pullup(bpp,dest,7 ); + _fprintf(fp, _("->%s"),pax25(tmp,dest)); + + i = pull8(((bpp))); + _fprintf(fp, _(" ttl %d\n"),i); + + + pullup(bpp,thdr,5); + switch(thdr[4] & 0x0f){ + case 0 : + if (thdr[0] == 0x0c && thdr[1] == 0x0c) { + ip_dump(fp,bpp,check) ; + return; + } + else + _fprintf(fp, _(" protocol family %x, proto %x"), + thdr[0], thdr[1]) ; + break ; + case 1 : + _fprintf(fp, _(" conn rqst: ckt %d/%d"),(thdr[0]),(thdr[1])); + i = pull8(((bpp))); + _fprintf(fp, _(" wnd %d"),i); + pullup(bpp,src,7 ); + _fprintf(fp, _(" %s"),pax25(tmp,src)); + pullup(bpp,dest,7 ); + _fprintf(fp, _("@%s"),pax25(tmp,dest)); + break; + case 2 : + _fprintf(fp, _(" conn ack: ur ckt %d/%d my ckt %d/%d"), + thdr[0], thdr[1], thdr[2],thdr[3]); + i = pull8(((bpp))); + _fprintf(fp, _(" wnd %d"),i); + break; + case 3 : + _fprintf(fp, _(" disc: ckt %d/%d"), + thdr[0],thdr[1]); + break; + case 4 : + _fprintf(fp, _(" disc ack: ckt %d/%d"), + thdr[0],thdr[1]); + break; + case 5 : + _fprintf(fp, _(" info: ckt %d/%d"), + thdr[0],thdr[1]); + _fprintf(fp, _(" txseq %d rxseq %d"), + thdr[2],thdr[3]); + break; + case 6 : + _fprintf(fp, _(" info ack: ckt %d/%d"), + thdr[0],thdr[1]); + _fprintf(fp, _(" txseq %d rxseq %d"),thdr[2],thdr[3]); + break; + default: + _fprintf(fp, _(" unknown transport type %d"), + thdr[4] & 0x0f) ; + break; + } + if(thdr[4] & 0x80) + _fprintf(fp, _(" CHOKE")); + if(thdr[4] & 0x40) + _fprintf(fp, _(" NAK")); + if(thdr[4] & 0x20 ) + _fprintf(fp, _(" MORE")); + (fputc(('\n'),(fp))); +} + diff --git a/src/nos/dump/ripdump.i b/src/nos/dump/ripdump.i new file mode 100644 index 00000000..83f8c63f --- /dev/null +++ b/src/nos/dump/ripdump.i @@ -0,0 +1,2906 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + +extern struct mib_entry Udp_mib[]; + + + + + + + + + +struct udp { + uint16 source; + uint16 dest; + uint16 length; + uint16 checksum; +}; + + + + + + +struct udp_cb { + struct udp_cb *next; + struct socket socket; + void (*r_upcall)(struct iface *iface,struct udp_cb *,int); + + struct mbuf *rcvq; + int rcvcnt; + int user; +}; +extern struct udp_cb *Udps; + + + + +int del_udp(struct udp_cb *up); +struct udp_cb *open_udp(struct socket *lsocket, + void (*r_upcall)(struct iface *iface,struct udp_cb *,int)); +int recv_udp(struct udp_cb *up,struct socket *fsocket,struct mbuf **bp); +int send_udp(struct socket *lsocket,struct socket *fsocket,char tos, + char ttl,struct mbuf **data,uint16 length,uint16 id,char df); +void udp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +void udp_garbage(int drastic); + + + + + + + + + + +int st_udp(struct udp_cb *udp,int n); + + +void htonudp(struct udp *udp,struct mbuf **data,struct pseudo_header *ph); +int ntohudp(struct udp *udp,struct mbuf **bpp); +uint16 udpcksum(struct mbuf *bp); + + + + + + + + + + + + + +enum ripcmd { + RIPCMD_REQUEST=1, + RIPCMD_RESPONSE, + RIPCMD_MAX +}; + + + + +struct rip_list { + struct rip_list *prev; + struct rip_list *next; + + + + + + int32 dest; + + + int32 interval; + + struct timer rip_time; + + + struct iface *iface; + + + struct { + unsigned int rip_split:1; + unsigned int rip_us:1; + } flags; +}; + + +struct rip_route { + uint16 addr_fam; + int32 target; + int32 metric; +}; + + + + + +struct rip_stat { + int32 output; + int32 rcvd; + int32 request; + int32 response; + int32 unknown; + int32 version; + int32 addr_family; + int32 refusals; + +}; + +struct rip_refuse { + struct rip_refuse *prev; + struct rip_refuse *next; + int32 target; +}; + + +int rip_init(void); +void rt_timeout(void *s); +void rip_trigger(void); +int rip_add(int32 dest,int32 interval,int split,int us); +int riprefadd(int32 gateway); +int riprefdrop(int32 gateway); +int ripreq(int32 dest,uint16 replyport); +int rip_drop(int32 dest); +int nbits(int32 target); +void pullentry(struct rip_route *ep,struct mbuf **bpp); + + +extern uint16 Rip_trace; +extern int Rip_merge; +extern struct rip_stat Rip_stat; +extern struct rip_list *Rip_list; +extern struct rip_refuse *Rip_refuse; +extern struct udp_cb *Rip_cb; + + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + +void +rip_dump(fp,bpp) +FILE *fp; +struct mbuf **bpp; +{ + struct rip_route entry; + int i; + int cmd,version; + uint16 len; + + _fprintf(fp, _("RIP: ")); + cmd = pull8(((bpp))); + version = pull8(((bpp))); + switch(cmd){ + case RIPCMD_REQUEST: + _fprintf(fp, _("REQUEST")); + break; + case RIPCMD_RESPONSE: + _fprintf(fp, _("RESPONSE")); + break; + default: + _fprintf(fp, _(" cmd %u"),cmd); + break; + } + + pull16(bpp); + + len = len_p(*bpp); + _fprintf(fp, _(" vers %u entries %u:\n"),version,len / 20 ); + + i = 0; + while(len >= 20 ){ + + pullentry(&entry,bpp); + len -= 20 ; + + if(entry.addr_fam != 2) { + + continue; + } + _fprintf(fp, _("%-16s%-3u "),inet_ntoa(entry.target),entry.metric); + if((++i % 3) == 0){ + (fputc(('\n'),(fp))); + } + } + if((i % 3) != 0) + (fputc(('\n'),(fp))); +} diff --git a/src/nos/dump/tcpdump.i b/src/nos/dump/tcpdump.i new file mode 100644 index 00000000..f404e29e --- /dev/null +++ b/src/nos/dump/tcpdump.i @@ -0,0 +1,3055 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct tcp { + uint16 source; + uint16 dest; + int32 seq; + int32 ack; + uint16 wnd; + uint16 checksum; + uint16 up; + uint16 mss; + uint8 wsopt; + uint32 tsval; + uint32 tsecr; + struct { + unsigned int congest:1; + unsigned int urg:1; + unsigned int ack:1; + unsigned int psh:1; + unsigned int rst:1; + unsigned int syn:1; + unsigned int fin:1; + unsigned int mss:1; + unsigned int wscale:1; + unsigned int tstamp:1; + } flags; + + + + + + + + + + char optlen; + char options[40 ]; + +}; + + + + + + + + + + + +struct reseq { + struct reseq *next; + struct tcp seg; + struct mbuf *bp; + uint16 length; + char tos; +}; + +enum tcp_state { + TCP_CLOSED=1, + TCP_LISTEN, + TCP_SYN_SENT, + TCP_SYN_RECEIVED, + TCP_ESTABLISHED, + TCP_FINWAIT1, + TCP_FINWAIT2, + TCP_CLOSE_WAIT, + TCP_LAST_ACK, + TCP_CLOSING, + TCP_TIME_WAIT +}; + + +struct tcb { + struct tcb *next; + + struct connection conn; + + enum tcp_state state; + + char reason; + + + + + + + uint8 type; + uint8 code; + + + struct { + int32 una; + int32 nxt; + int32 ptr; + int32 wl1; + int32 wl2; + int32 wnd; + uint16 up; + uint8 wind_scale; + } snd; + int32 iss; + int32 resent; + int32 cwind; + int32 ssthresh; + int dupacks; + + + struct { + int32 nxt; + int32 wnd; + uint16 up; + uint8 wind_scale; + } rcv; + int32 last_ack_sent; + int32 ts_recent; + + int32 irs; + int32 rerecv; + int32 mss; + + int32 window; + int32 limit; + + void (*r_upcall)(struct tcb *tcb,int32 cnt); + + void (*t_upcall)(struct tcb *tcb,int32 cnt); + + void (*s_upcall)(struct tcb *tcb,int old,int new); + + struct { + unsigned int force:1; + unsigned int clone:1; + unsigned int retran:1; + unsigned int active:1; + unsigned int synack:1; + unsigned int rtt_run:1; + unsigned int congest:1; + int ts_ok:1; + int ws_ok:1; + } flags; + char tos; + int backoff; + + struct mbuf *rcvq; + struct mbuf *sndq; + int32 rcvcnt; + int32 sndcnt; + + + + + struct reseq *reseq; + struct timer timer; + int32 rtt_time; + int32 rttseq; + int32 rttack; + int32 srtt; + int32 mdev; + int32 rtt; + + int user; + + + int32 quench; + int32 unreach; + int32 timeouts; + int32 lastack; + int32 txbw; + int32 lastrx; + int32 rxbw; +}; + +struct tcp_rtt { + int32 addr; + int32 srtt; + int32 mdev; +}; +extern struct tcp_rtt Tcp_rtt[]; +extern int (*Kicklist[])(); + + +struct tcp_stat { + uint16 runt; + uint16 checksum; + uint16 conout; + uint16 conin; + uint16 resets; + uint16 bdcsts; +}; +extern struct mib_entry Tcp_mib[]; + + + + + + + + + + + + + + + + +extern struct tcb *Tcbs; +extern char *Tcpstates[]; +extern char *Tcpreasons[]; + + +extern int Tcp_tstamps; +extern int32 Tcp_irtt; +extern uint16 Tcp_limit; +extern uint16 Tcp_mss; +extern int Tcp_syndata; +extern int Tcp_trace; +extern uint16 Tcp_window; + +void st_tcp(struct tcb *tcb); + + +void htontcp(struct tcp *tcph,struct mbuf **data, + int32 ipsrc,int32 ipdest); +int ntohtcp(struct tcp *tcph,struct mbuf **bpp); + + +void reset(struct ip *ip,struct tcp *seg); +void send_syn(struct tcb *tcb); +void tcp_input(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast,int32 said); +void tcp_icmp(int32 icsource,int32 source,int32 dest, + uint8 type,uint8 code,struct mbuf **bpp); + + +void close_self(struct tcb *tcb,int reason); +struct tcb *create_tcb(struct connection *conn); +struct tcb *lookup_tcb(struct connection *conn); +void rtt_add(int32 addr,int32 rtt); +struct tcp_rtt *rtt_get(int32 addr); +int seq_ge(int32 x,int32 y); +int seq_gt(int32 x,int32 y); +int seq_le(int32 x,int32 y); +int seq_lt(int32 x,int32 y); +int seq_within(int32 x,int32 low,int32 high); +void settcpstate(struct tcb *tcb,enum tcp_state newstate); +void tcp_garbage(int red); + + +void tcp_output(struct tcb *tcb); + + +int32 backoff(int n); +void tcp_timeout(void *p); + + +int close_tcp(struct tcb *tcb); +int del_tcp(struct tcb *tcb); +int kick(int32 addr); +int kick_tcp(struct tcb *tcb); +struct tcb *open_tcp(struct socket *lsocket,struct socket *fsocket, + int mode,uint16 window, + void (*r_upcall)(struct tcb *tcb,int32 cnt), + void (*t_upcall)(struct tcb *tcb,int32 cnt), + void (*s_upcall)(struct tcb *tcb,int old,int new), + int tos,int user); +int32 recv_tcp(struct tcb *tcb,struct mbuf **bpp,int32 cnt); +void reset_all(void); +void reset_tcp(struct tcb *tcb); +long send_tcp(struct tcb *tcb,struct mbuf **bpp); +char *tcp_port(uint16 n); +int tcpval(struct tcb *tcb); + + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + + +static char *Tcpflags[] = { + "FIN", + "SYN", + "RST", + "PSH", + "ACK", + "URG", + "CE" +}; + + +void +tcp_dump(fp,bpp,source,dest,check) +FILE *fp; +struct mbuf **bpp; +int32 source,dest; +int check; +{ + struct tcp seg; + struct pseudo_header ph; + uint16 csum; + uint16 dlen; + + if(bpp == 0 || *bpp == 0) + return; + + + ph.source = source; + ph.dest = dest; + ph.protocol = 6 ; + ph.length = len_p(*bpp); + csum = cksum(&ph,*bpp,ph.length); + + ntohtcp(&seg,bpp); + + _fprintf(fp, _("TCP: %u->%u Seq x%lx"),seg.source,seg.dest,seg.seq,seg.ack); + if(seg.flags.ack) + _fprintf(fp, _(" Ack x%lx"),seg.ack); + if(seg.flags.congest) + _fprintf(fp, _(" %s"),Tcpflags[6]); + if(seg.flags.urg) + _fprintf(fp, _(" %s"),Tcpflags[5]); + if(seg.flags.ack) + _fprintf(fp, _(" %s"),Tcpflags[4]); + if(seg.flags.psh) + _fprintf(fp, _(" %s"),Tcpflags[3]); + if(seg.flags.rst) + _fprintf(fp, _(" %s"),Tcpflags[2]); + if(seg.flags.syn) + _fprintf(fp, _(" %s"),Tcpflags[1]); + if(seg.flags.fin) + _fprintf(fp, _(" %s"),Tcpflags[0]); + + _fprintf(fp, _(" Wnd %u"),seg.wnd); + if(seg.flags.urg) + _fprintf(fp, _(" UP x%x"),seg.up); + + if(seg.flags.mss) + _fprintf(fp, _(" MSS %u"),seg.mss); + if(seg.flags.wscale) + _fprintf(fp, _(" WSCALE %u"),seg.wsopt); + if(seg.flags.tstamp) + _fprintf(fp, _(" TSTAMP %lu TSECHO %lu"),seg.tsval,seg.tsecr); + if((dlen = len_p(*bpp)) != 0) + _fprintf(fp, _(" Data %u"),dlen); + if(check && csum != 0) + _fprintf(fp, _(" CHECKSUM ERROR (%u)"),csum); + (fputc(('\n'),(fp))); +} + diff --git a/src/nos/dump/trace.c b/src/nos/dump/trace.c index 6068ca86..641043c4 100644 --- a/src/nos/dump/trace.c +++ b/src/nos/dump/trace.c @@ -320,9 +320,10 @@ shuttrace() /* Log messages of the form * Tue Jan 31 00:00:00 1987 44.64.0.7:1003 open FTP + * RPB: intl version */ void -trace_log(struct iface *ifp,char *fmt, ...) +_trace_log(struct iface *ifp,_char *fmt, ...) { va_list ap; char *cp; @@ -340,7 +341,7 @@ trace_log(struct iface *ifp,char *fmt, ...) rip(cp); _fprintf(fp, _("%s - "),cp); va_start(ap,fmt); - vfprintf(fp, fmt,ap); + _vfprintf(fp, fmt,ap); va_end(ap); _fprintf(fp, _("\n")); } diff --git a/src/nos/dump/trace.i b/src/nos/dump/trace.i new file mode 100644 index 00000000..1cddbba1 --- /dev/null +++ b/src/nos/dump/trace.i @@ -0,0 +1,3460 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + +extern unsigned char __ctype[]; + + + + + + + + + + + + +extern int toupper (int); +extern int tolower (int); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long clock_t; + + +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +}; + +struct timezone { + int tz_minuteswest; + int tz_dsttime; +}; + + + + +extern char *tzname[2]; +extern int daylight; +extern long timezone; + +extern long clock (void); +extern time_t mktime (struct tm * __tp); +extern long difftime (time_t *__time2, time_t *__time1); + +extern time_t time (time_t *tvec); + +extern void __tm_conv (struct tm *tmbuf, time_t *t, int offset); +extern void __asctime (char *, struct tm *); +extern char *asctime (struct tm * __tp); +extern char *ctime (time_t * __tp); +extern void tzset (void); + +extern struct tm *gmtime (time_t *__tp); +extern struct tm *localtime (time_t * __tp); +extern unsigned long convtime (time_t *time_field); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int doasystat(int argc,char *argv[],void *p); +int fp_attach (int argc,char *argv[],void *p); + + +int domem(int argc,char *argv[],void *p); + + +int doamiga(int argc,char *argv[],void *p); + + +int doarp(int argc,char *argv[],void *p); + + +int asy_attach(int argc,char *argv[],void *p); + + +int doax25(int argc,char *argv[],void *p); +int doaxheard(int argc,char *argv[],void *p); +int doaxdest(int argc,char *argv[],void *p); +int doconnect(int argc,char *argv[],void *p); + + +int dobootp(int argc,char *argv[],void *p); + + +int bootpdcmd(int argc,char *argv[],void *p); + + +int dodialer(int argc,char *argv[],void *p); + + +int docd(int argc,char *argv[],void *p); +int dodir(int argc,char *argv[],void *p); +int domkd(int argc,char *argv[],void *p); +int dormd(int argc,char *argv[],void *p); + + +int dodomain(int argc,char *argv[],void *p); + + +int dodrstat(int argc,char *argv[],void *p); +int dr_attach(int argc,char *argv[],void *p); +int dodr(int argc,char *argv[],void *p); + + +int eg_attach(int argc,char *argv[],void *p); +int doegstat(int argc,char *argv[],void *p); + + +int doetherstat(int argc,char *argv[],void *p); +int ec_attach(int argc,char *argv[],void *p); + + +int dofax(int argc,char *argv[],void *p); +int fax1(int argc,char *argv[],void *p); +int fax0(int argc,char *argv[],void *p); + + +int dofinger(int argc,char *argv[],void *p); + + +int finstart(int argc,char *argv[],void *p); +int fin0(int argc,char *argv[],void *p); + + +int doftp(int argc,char *argv[],void *p); +int doabort(int argc,char *argv[],void *p); + + +int ftpstart(int argc,char *argv[],void *p); +int ftp0(int argc,char *argv[],void *p); + + +int dohapnstat(int argc,char *argv[],void *p); +int hapn_attach(int argc,char *argv[],void *p); + + +int dohop(int argc,char *argv[],void *p); + + +int dohs(int argc,char *argv[],void *p); +int hs_attach(int argc,char *argv[],void *p); + + +int doicmp(int argc,char *argv[],void *p); + + +int doifconfig(int argc,char *argv[],void *p); +int dodetach(int argc,char *argv[],void *p); + + +int doip(int argc,char *argv[],void *p); +int doroute(int argc,char *argv[],void *p); + + +int dosec(int argc,char *argv[],void *p); + + +int doksp(int argc,char *argv[],void *p); + + +int ps(int argc,char *argv[],void *p); + + +int dolterm(int argc,char *argv[],void *p); + + +int dodelete(int argc,char *argv[],void *p); +int dorename(int argc,char *argv[],void *p); +int doexit(int argc,char *argv[],void *p); +int dohostname(int argc,char *argv[],void *p); +int dolog(int argc,char *argv[],void *p); +int dohelp(int argc,char *argv[],void *p); +int doattach(int argc,char *argv[],void *p); +int doparam(int argc,char *argv[],void *p); +int dopage(int argc,char *argv[],void *p); +int domode(int argc,char *argv[],void *p); +int donothing(int argc,char *argv[],void *p); +int donrstat(int argc,char *argv[],void *p); +int doescape(int argc,char *argv[],void *p); +int doremote(int argc,char *argv[],void *p); +int doboot(int argc,char *argv[],void *p); +int dorepeat(int argc,char *argv[],void *p); +int dostacktest(int argc,char *argv[],void *p); +int dosysdebug(int argc,char *argv[],void *p); +int dosystrace(int argc,char *argv[],void *p); +int dowipe(int argc,char *argv[],void *p); + + +int dombox(int argc,char *argv[],void *p); + + +int donntp(int argc,char *argv[],void *p); + + +int donetrom(int argc,char *argv[],void *p); +int nr_attach(int argc,char *argv[],void *p); + + +int doshell(int argc,char *argv[],void *p); +int doisat(int argc,char *argv[],void *p); + + +int pc_attach(int argc,char *argv[],void *p); + + +int pk_attach(int argc,char *argv[],void *p); + + +int pi_attach(int argc,char *argv[],void *p); +int dopistat(int argc,char *argv[],void *p); + + +int doping(int argc,char *argv[],void *p); + + +int dopop(int argc,char *argv[],void *p); + + +int pop1(int argc,char *argv[],void *p); +int pop0(int argc,char *argv[],void *p); + + +int doqtso(int argc,char *argv[],void *p); + + +int dorarp(int argc,char *argv[],void *p); + + +int dorip(int argc,char *argv[],void *p); + + +int doaddrefuse(int argc,char *argv[],void *p); +int dodroprefuse(int argc,char *argv[],void *p); +int dorip(int argc,char *argv[],void *p); +int doripadd(int argc,char *argv[],void *p); +int doripdrop(int argc,char *argv[],void *p); +int doripinit(int argc,char *argv[],void *p); +int doripmerge(int argc,char *argv[],void *p); +int doripreq(int argc,char *argv[],void *p); +int doripstat(int argc,char *argv[],void *p); +int doripstop(int argc,char *argv[],void *p); +int doriptrace(int argc,char *argv[],void *p); + + +int dosound(int argc,char *argv[],void *p); + + +int escc_attach(int argc,char *argv[],void *p); +int doesccstat(int argc,char *argv[],void *p); + + +int dosession(int argc,char *argv[],void *p); +int go(int argc,char *argv[],void *p); +int doclose(int argc,char *argv[],void *p); +int doreset(int argc,char *argv[],void *p); +int dokick(int argc,char *argv[],void *p); +int dorecord(int argc,char *argv[],void *p); +int dosfsize(int argc,char *argv[],void *p); +int doupload(int argc,char *argv[],void *p); + + +int dis1(int argc,char *argv[],void *p); +int dis0(int argc,char *argv[],void *p); +int echo1(int argc,char *argv[],void *p); +int echo0(int argc,char *argv[],void *p); +int rem1(int argc,char *argv[],void *p); +int rem0(int argc,char *argv[],void *p); +int term1(int argc,char *argv[],void *p); +int term0(int argc,char *argv[],void *p); +int bsr1(int argc,char *argv[],void *p); +int bsr0(int argc,char *argv[],void *p); + + +int dosmtp(int argc,char *argv[],void *p); + + +int smtp1(int argc,char *argv[],void *p); +int smtp0(int argc,char *argv[],void *p); + + +int dosock(int argc,char *argv[],void *p); + + +int dofiles(int argc,char *argv[],void *p); + + +int doswatch(int argc,char *argv[],void *p); + + +int dotcp(int argc,char *argv[],void *p); + + +int doecho(int argc,char *argv[],void *p); +int doeol(int argc,char *argv[],void *p); +int dotelnet(int argc,char *argv[],void *p); +int dotopt(int argc,char *argv[],void *p); + + +int dotip(int argc,char *argv[],void *p); + + +int ttylstart(int argc,char *argv[],void *p); +int ttyl0(int argc,char *argv[],void *p); + + +int dotrace(int argc,char *argv[],void *p); + + +int doudp(int argc,char *argv[],void *p); + + +int doview(int argc,char *argv[],void *p); +void view(int,void *,void *); + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + + + + + + + + + + +enum ftp_type { + ASCII_TYPE, + IMAGE_TYPE, + LOGICAL_TYPE +}; + + +enum verb_level { + V_QUIET, + V_SHORT, + V_NORMAL, + V_HASH, + V_STAT +}; + +long sendfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +long recvfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +int isbinary(FILE *fp); +int md5hash(FILE *fp,uint8 hash[16],int ascii); + + + + + + + + + + + +struct ftpcli { + FILE *control; + FILE *data; + + char state; + + + + + uint16 verbose; + int batch; + int abort; + int update; + char type; + char typesent; + int logbsize; + FILE *fp; + + char buf[256 ]; + char line[256 ]; + struct session *session; +}; + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + +struct telnet { + char local[6]; + char remote[6]; + struct session *session; + char eolmode; +}; + +extern int Refuse_echo; +extern int Tn_cr_mode; + + +int tel_connect(struct session *sp,struct sockaddr *fsocket,int len); +void tel_output(int unused,void *p1,void *p2); +void tnrecv(struct telnet *tn); +void doopt(struct telnet *tn,int opt); +void dontopt(struct telnet *tn,int opt); +void willopt(struct telnet *tn,int opt); +void wontopt(struct telnet *tn,int opt); +void answer(struct telnet *tn,int r1,int r2); + + +void ttylhandle(int s,void *unused,void *p); + + + + +struct ttystate { + uint8 *line; + uint8 *lp; + unsigned int echo:1; + unsigned int edit:1; + unsigned int crnl:1; +}; + + +struct session { + unsigned strchr; + enum { + TELNET, + FTP, + AX25TNC, + FINGER, + PING, + NRSESSION, + COMMAND, + VIEW, + HOP, + TIP, + PPPPASS, + DIAL, + DQUERY, + DCLIST, + ITRACE, + REPEAT, + FAX + } type; + + char *name; + union { + struct ftpcli *ftp; + struct telnet *telnet; + void *p; + } cb; + struct proc *proc; + struct proc *proc1; + struct proc *proc2; + FILE *network; + FILE *record; + FILE *upload; + struct ttystate ttystate; + FILE *input; + FILE *output; + int (*ctlproc)(int); + int (*inproc)(int); + struct session *parent; + enum { + SCROLL_INBAND, + SCROLL_LOCAL + } scrollmode; +}; +extern char *Sestypes[]; +extern unsigned Nsessions; +extern long Sfsize; + +extern struct session *Sessions[]; + + + +extern struct session *Current; +extern struct session *Lastcurr; +extern struct session *Command; +extern char *Cmdline; + + +void freesession(struct session *sp); +int keywait(char *prompt,int flush); +struct session *sessptr(char *cp); +struct session *newsession(char *name,int type,int makecur); +void sesflush(void); +void upload(int unused,void *sp1,void *p); + +extern uint16 Lport; + + + + + + + + +static void ascii_dump(FILE *fp,struct mbuf **bpp); +static void ctohex(char *buf,uint16 c); +static void fmtline(FILE *fp,uint16 addr,uint8 *buf,uint16 len); +void hex_dump(FILE *fp,struct mbuf **bpp); +static void showtrace(struct iface *ifp); + + + + +static char nospace[] = "No space!!\n"; + +struct tracecmd Tracecmd[] = { + "input", 0x10 , 0x10 , + "-input", 0, 0x10 , + "output", 0x01 , 0x01 , + "-output", 0, 0x01 , + "broadcast", 0, 0x1000 , + "-broadcast", 0x1000 , 0x1000 , + "raw", 0x2000 , 0x2000 , + "-raw", 0, 0x2000 , + "ascii", 0x100 , 0x100 |0x200 , + "-ascii", 0, 0x100 |0x200 , + "hex", 0x200 , 0x100 |0x200 , + "-hex", 0x100 , 0x100 |0x200 , + "off", 0, 0xffff, + 0, 0, 0 +}; + + +void +dump( +struct iface *ifp, +int direction, +struct mbuf *bp +){ + struct mbuf *tbp; + uint16 size; + time_t timer; + char *cp; + struct iftype *ift; + FILE *fp; + + if(ifp == 0 || (ifp->trace & direction) == 0 + || (fp = ifp->trfp) == 0) + return; + + ift = ifp->iftype; + switch(direction){ + case 0x10 : + if((ifp->trace & 0x1000 ) + && ift != 0 + && (ift->addrtest != 0) + && (*ift->addrtest)(ifp,bp) == 0) + return; + time(&timer); + cp = ctime(&timer); + cp[24] = '\0'; + _fprintf(fp, _("\n%s - %s recv:\n"),cp,ifp->name); + break; + case 0x01 : + time(&timer); + cp = ctime(&timer); + cp[24] = '\0'; + _fprintf(fp, _("\n%s - %s sent:\n"),cp,ifp->name); + break; + } + if(bp == 0 || (size = len_p(bp)) == 0){ + _fprintf(fp, _("empty packet!!\n")); + return; + } + dup_p(&tbp,bp,0,size); + if(tbp == 0){ + fprintf(fp, nospace); + return; + } + if(ift != 0 && ift->trace != 0) + (*ift->trace)(fp,&tbp,1); + if(ifp->trace & 0x100 ){ + + ascii_dump(fp,&tbp); + } else if(ifp->trace & 0x200 ){ + + free_p(&tbp); + dup_p(&tbp,bp,0,len_p(bp)); + if(tbp != 0) + hex_dump(fp,&tbp); + else + fprintf(fp, nospace); + } + free_p(&tbp); +} + + +void +raw_dump(ifp,direction,bp) +struct iface *ifp; +int direction; +struct mbuf *bp; +{ + struct mbuf *tbp; + FILE *fp; + + if((fp = ifp->trfp) == 0) + return; + _fprintf(fp, _("\n******* raw packet dump (%s)\n"), + ((direction & 0x01 ) ? "send" : "recv")); + dup_p(&tbp,bp,0,len_p(bp)); + if(tbp != 0) + hex_dump(fp,&tbp); + else + fprintf(fp, nospace); + _fprintf(fp, _("*******\n")); + free_p(&tbp); +} + + +void +hex_dump(fp,bpp) +FILE *fp; +register struct mbuf **bpp; +{ + uint16 n; + uint16 address; + uint8 buf[16]; + + if(bpp == 0 || *bpp == 0 || fp == 0) + return; + + address = 0; + while((n = pullup(bpp,buf,sizeof(buf))) != 0){ + fmtline(fp,address,buf,n); + address += n; + } +} + +static void +ascii_dump(fp,bpp) +FILE *fp; +register struct mbuf **bpp; +{ + int c; + register uint16 tot; + + if(bpp == 0 || *bpp == 0 || fp == 0) + return; + + tot = 0; + while((c = pull8(((bpp)))) != -1){ + if((tot % 64) == 0) + _fprintf(fp, _("%04x "),tot); + (fputc(((! ((__ctype[(unsigned char)(c)])&0x01 )) ? c : '.'),(fp))); + if((++tot % 64) == 0) + _fprintf(fp, _("\n")); + } + if((tot % 64) != 0) + _fprintf(fp, _("\n")); +} + + + + +static void +fmtline(fp,addr,buf,len) +FILE *fp; +uint16 addr; +uint8 *buf; +uint16 len; +{ + char line[80]; + char *aptr,*cptr; + uint8 c; + + memset(line,' ',sizeof(line)); + ctohex(line,(uint16)((unsigned char)((addr) >> 8))); + ctohex(line+2,(uint16)((unsigned char)(addr))); + aptr = &line[6]; + cptr = &line[55]; + while(len-- != 0){ + c = *buf++; + ctohex(aptr,(uint16)c); + aptr += 3; + *cptr++ = (! ((__ctype[(unsigned char)(c)])&0x01 )) ? c : '.'; + } + *cptr++ = '\n'; + fwrite(line,1,(unsigned)(cptr-line),fp); +} + +static void +ctohex(buf,c) +register char *buf; +register uint16 c; +{ + static char hex[] = "0123456789abcdef"; + + *buf++ = hex[(((c) >> 4) & 0xf)]; + *buf = hex[((c) & 0xf)]; +} + + +int +dotrace(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct iface *ifp; + struct tracecmd *tp; + struct session *sp; + + if(argc < 2){ + for(ifp = Ifaces; ifp != 0; ifp = ifp->next) + showtrace(ifp); + return 0; + } + if((ifp = if_lookup(argv[1])) == 0){ + _printf(_("Interface %s unknown\n"),argv[1]); + return 1; + } + if(argc == 2){ + showtrace(ifp); + return 0; + } + + if(argc >= 3){ + for(tp = Tracecmd;tp->name != 0;tp++) + if(strncmp(tp->name,argv[2],strlen(argv[2])) == 0) + break; + if(tp->name != 0) + ifp->trace = (ifp->trace & ~tp->mask) | tp->val; + else + ifp->trace = htoi(argv[2]); + } + if(ifp->trfp != 0){ + + fclose(ifp->trfp); + ifp->trfp = 0; + } + if(argc >= 4){ + if((ifp->trfp = (freopen((argv[3]),("at+" ),0))) == 0){ + _printf(_("Can't write to %s\n"),argv[3]); + } + } else if(ifp->trace != 0){ + + sp = newsession(Cmdline,ITRACE,1); + sp->cb.p = 0; + sp->proc = sp->proc1 = sp->proc2 = 0; + ifp->trfp = sp->output; + showtrace(ifp); + ((fgetc((Curproc->input)))); + ifp->trace = 0; + ifp->trfp = 0; + freesession(sp); + } + return 0; +} + +static void +showtrace(ifp) +register struct iface *ifp; +{ + char *cp; + + if(ifp == 0) + return; + _printf(_("%s:"),ifp->name); + if(ifp->trace & (0x10 | 0x01 | 0x2000 )){ + if(ifp->trace & 0x10 ) + _printf(_(" input")); + if(ifp->trace & 0x01 ) + _printf(_(" output")); + + if(ifp->trace & 0x1000 ) + _printf(_(" - no broadcasts")); + + if(ifp->trace & 0x200 ) + _printf(_(" (Hex/ASCII dump)")); + else if(ifp->trace & 0x100 ) + _printf(_(" (ASCII dump)")); + else + _printf(_(" (headers only)")); + + if(ifp->trace & 0x2000 ) + _printf(_(" Raw output")); + + if(ifp->trfp != 0 && (cp = fpname(ifp->trfp)) != 0) + _printf(_(" trace file: %s"),cp); + _printf(_("\n")); + } else + _printf(_(" tracing off\n")); +} + + +void +shuttrace() +{ + struct iface *ifp; + + for(ifp = Ifaces; ifp != 0; ifp = ifp->next){ + fclose(ifp->trfp); + ifp->trfp = 0; + } +} + + + + + +void +_trace_log(struct iface *ifp,_char *fmt, ...) +{ + va_list ap; + char *cp; + + time_t t; + + + + FILE *fp; + + if((fp = ifp->trfp) == 0) + return; + time(&t); + cp = ctime(&t); + rip(cp); + _fprintf(fp, _("%s - "),cp); + ((ap) = (char *)&(fmt) + ((sizeof(fmt) + (2 - 1)) & ~(2 - 1))); + _vfprintf(fp, fmt,ap); + ; + _fprintf(fp, _("\n")); +} +int +tprintf(struct iface *ifp,char *fmt, ...) +{ + va_list ap; + int ret = 0; + + if(ifp->trfp == 0) + return -1; + ((ap) = (char *)&(fmt) + ((sizeof(fmt) + (2 - 1)) & ~(2 - 1))); + ret = vfprintf(ifp->trfp, fmt,ap); + ; + return ret; +} diff --git a/src/nos/dump/udpdump.i b/src/nos/dump/udpdump.i new file mode 100644 index 00000000..5048d70f --- /dev/null +++ b/src/nos/dump/udpdump.i @@ -0,0 +1,2942 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + +extern struct mib_entry Udp_mib[]; + + + + + + + + + +struct udp { + uint16 source; + uint16 dest; + uint16 length; + uint16 checksum; +}; + + + + + + +struct udp_cb { + struct udp_cb *next; + struct socket socket; + void (*r_upcall)(struct iface *iface,struct udp_cb *,int); + + struct mbuf *rcvq; + int rcvcnt; + int user; +}; +extern struct udp_cb *Udps; + + + + +int del_udp(struct udp_cb *up); +struct udp_cb *open_udp(struct socket *lsocket, + void (*r_upcall)(struct iface *iface,struct udp_cb *,int)); +int recv_udp(struct udp_cb *up,struct socket *fsocket,struct mbuf **bp); +int send_udp(struct socket *lsocket,struct socket *fsocket,char tos, + char ttl,struct mbuf **data,uint16 length,uint16 id,char df); +void udp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +void udp_garbage(int drastic); + + + + + + + + + + +int st_udp(struct udp_cb *udp,int n); + + +void htonudp(struct udp *udp,struct mbuf **data,struct pseudo_header *ph); +int ntohudp(struct udp *udp,struct mbuf **bpp); +uint16 udpcksum(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + + +void +udp_dump(fp,bpp,source,dest,check) +FILE *fp; +struct mbuf **bpp; +int32 source,dest; +int check; +{ + struct udp udp; + struct pseudo_header ph; + uint16 csum; + + if(bpp == 0 || *bpp == 0) + return; + + _fprintf(fp, _("UDP:")); + + + ph.source = source; + ph.dest = dest; + ph.protocol = 17 ; + ph.length = len_p(*bpp); + if((csum = cksum(&ph,*bpp,ph.length)) == 0) + check = 0; + + ntohudp(&udp,bpp); + + _fprintf(fp, _(" len %u"),udp.length); + _fprintf(fp, _(" %u->%u"),udp.source,udp.dest); + if(udp.length > 8 ) + _fprintf(fp, _(" Data %u"),udp.length - 8 ); + if(udp.checksum == 0) + check = 0; + if(check) + _fprintf(fp, _(" CHECKSUM ERROR (%u)"),csum); + + (fputc(('\n'),(fp))); + + + + + + + +} + diff --git a/src/nos/filesys/CVS/Entries b/src/nos/filesys/CVS/Entries new file mode 100644 index 00000000..fc8dcf38 --- /dev/null +++ b/src/nos/filesys/CVS/Entries @@ -0,0 +1,15 @@ +/auto.mk/1.2/Tue Dec 2 07:41:10 2003// +/devio.c/1.2/Tue Dec 2 07:41:10 2003// +/execve.c/1.2/Tue Dec 2 07:41:10 2003// +/filesys.c/1.2/Tue Dec 2 07:41:10 2003// +/makefile/1.1.1.1/Mon Nov 17 19:06:22 2003// +/maxmin.c/1.1.1.1/Mon Nov 17 19:06:22 2003// +/process.c/1.2/Tue Dec 2 07:41:10 2003// +/rtc.c/1.2/Tue Dec 2 07:41:10 2003// +/scall1.c/1.2/Tue Dec 2 07:41:10 2003// +/scall2.c/1.2/Tue Dec 2 07:41:10 2003// +/systrace.c/1.2/Tue Dec 2 07:41:10 2003// +/usrmem.c/1.2/Tue Dec 2 07:41:10 2003// +/xfs.c/1.2/Tue Dec 2 07:41:10 2003// +/xip.c/1.2/Tue Dec 2 07:41:10 2003// +D diff --git a/src/nos/filesys/CVS/Repository b/src/nos/filesys/CVS/Repository new file mode 100644 index 00000000..079ebe30 --- /dev/null +++ b/src/nos/filesys/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/filesys diff --git a/src/nos/filesys/CVS/Root b/src/nos/filesys/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/filesys/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/filesys/auto.mk b/src/nos/filesys/auto.mk index 759301b7..14239687 100644 --- a/src/nos/filesys/auto.mk +++ b/src/nos/filesys/auto.mk @@ -12,10 +12,10 @@ filesys_$(LIBEXT)_SOURCES= \ $(sys_phony_SOURCES) $(_sys_phony_SOURCES) xip.c devio_c_MODULES= \ - Bufpool Devtab bufclock buf_hits buf_miss buf_flsh bufinit \ - bread bfree zerobuf bufsync bfind freebuf bufdump validdev \ + Bufpool Devtab bufclock buf_hits buf_miss buf_flsh bread \ + bfree zerobuf bufsync bfind freebuf bufdump validdev \ bdreadwrite cdreadwrite d_openclose d_ioctl d_init ok ok_rdwr \ - nogood nogood_rdwr nogood_ioctl + nogood nogood_rdwr nogood_ioctl bufpool_garbage execve_c_MODULES= \ sys_execve wargs rargs @@ -24,17 +24,19 @@ filesys_c_MODULES= \ root_dev root_ino Fstab Inotab Oftab dirty_mask Badinomsg \ Baddevmsg Badfsmsg Refstoinode Gtinobadoft fs_init findfs \ getfs wr_inode i_ref i_deref i_free _namei namei srch_dir \ - srch_mt i_init i_open ch_link filename namecomp newfile \ + srch_mt i_open ch_link filename namecomp newfile \ filesys_doclose i_alloc blk_alloc blk_free oft_alloc \ oft_deref uf_alloc isdevice freeblk f_trunc bmap validblk \ - getinode getperm setftim fmount magic i_sync fs_sync + getinode getperm setftim fmount magic i_sync fs_sync \ + inotab_garbage oftab_garbage maxmin_c_MODULES= \ max_int max_long max_uint max_ulong \ min_int min_long min_uint min_ulong process_c_MODULES= \ - Ptab p_init panic _panic valadr dprintf vdprintf + Ptab mainptab newptab delptab findprocess forkprocess \ + allocatepid panic _panic valadr dprintf vdprintf ptab_garbage #dputter rtc_c_MODULES= rdtime sttime @@ -48,7 +50,7 @@ scall1_c_MODULES= \ readwritei rwsetup scall1_getfsys scall2_c_MODULES= \ - findprocess filldesc sys_pipe sys_stime sys_times sys_brk \ + filldesc sys_pipe sys_stime sys_times sys_brk \ sys_sbrk sys_waitpid sys__exit doexit sys_fork sys_pause \ sys_signal sys_kill sys_alarm sys_reboot sys_getset diff --git a/src/nos/filesys/devio.c b/src/nos/filesys/devio.c index 003dc452..ea660421 100644 --- a/src/nos/filesys/devio.c +++ b/src/nos/filesys/devio.c @@ -21,16 +21,8 @@ **********************************************************/ #include -#include -#include -#include -#include "z80/asm.h" -#include "uzi/devio.h" -#include "uzi/rtc.h" -#include "uzi/filesys.h" -#include "uzi/process.h" +#include "uzi/process.h" /* this includes "uzi/devio.h" */ #include "nos/global.h" /* for ksignal() and kwait() */ -#include #include #include "po/messages.h" @@ -45,7 +37,6 @@ #define MODULE_buf_hits #define MODULE_buf_miss #define MODULE_buf_flsh -#define MODULE_bufinit #define MODULE_bread #define MODULE_bfree #define MODULE_zerobuf @@ -64,6 +55,7 @@ #define MODULE_nogood #define MODULE_nogood_rdwr #define MODULE_nogood_ioctl +#define MODULE_bufpool_garbage #endif #ifdef MODULE_Bufpool @@ -117,75 +109,6 @@ extern char *baddevmsg; * pointer to the data. This is very important. */ -/* new initialisation routine by Nick as Bufpool is now a sparse array */ -#ifdef MODULE_bufinit -void -bufinit(void) - { -#if 0 - blkbuf_t **bpp, *bp; - - /* original UZI: */ - /* memset(Bufpool, 0, NBLKBUFS * sizeof(blkbuf_t *)); */ - - for (bpp = Bufpool; bpp < Bufpool + NBLKBUFS; bpp++) - { - bp = calloc(sizeof(blkbuf_t), 1); - if (bp == NULL) - { - _panic(_("bufinit()")); - } - *bpp = bp; - } -#endif - } - -/* DEVIO garbage collection - called by storage allocator when free space - * runs low. Non-dirty buffers are discarded. If the situation is red, - * dirty buffers are flushed to disk, and then discarded also. - */ -void -devio_garbage(red) -int red; -{ - blkbuf_t **bpp, *bp; - - for (bpp = Bufpool; bpp < Bufpool + NBLKBUFS; bpp++) - { - bp = *bpp; - if (bp && bp->bf_busy == 0 && bp->bf_prio == 0) - { - if (bp->bf_dirty) - { - if (red == 0) - { - continue; - } - if (bp->bf_dev == NULLDEV) - { - _panic(_("attempt to write-back zerobuf")); - } - ++buf_flsh; -#if 0 /*DEBUG >= 5*/ - if (bp->bf_dev == 0 && bp->bf_blk == 222) - { - _dprintf(5, _("wri1 0x%04x 0x%02x\n"), bp, bp->bf_data[0x3f]); - } -#endif - if (bdwrite(bp) < 0) - { - _dprintf(0, _("devio_garbage: WARNING! I/O error\n")); - continue; - } - /*bp->bf_dirty = 0;*/ - } - free(bp); - *bpp = NULL; - } - } -} -#endif - /* read block blk from device dev, return buffer with this block */ #ifdef MODULE_bread void * @@ -818,3 +741,50 @@ nogood_ioctl(unsigned char minor, int req, void *data) } #endif +#ifdef MODULE_bufpool_garbage +/* bufpool garbage collection - called by storage allocator when free + * space runs low. Non-dirty buffers are discarded. If the situation + * is red, dirty buffers are flushed to disk, and then discarded also. + */ +void +bufpool_garbage(int red) + { + register blkbuf_t **bpp, *bp; + + for (bpp = Bufpool; bpp < Bufpool + NBLKBUFS; bpp++) + { + bp = *bpp; + if (bp && bp->bf_busy == 0 && bp->bf_prio == 0) + { + if (bp->bf_dirty) + { + if (red == 0) + { + continue; + } + if (bp->bf_dev == NULLDEV) + { + + _panic(_("attempt to write-back zerobuf")); + } + buf_flsh++; +#if 0 /*DEBUG >= 5*/ + if (bp->bf_dev == 0 && bp->bf_blk == 222) + { + _dprintf(5, _("wri1 0x%04x 0x%02x\n"), bp, bp->bf_data[0x3f]); + } +#endif + if (bdwrite(bp) < 0) + { + _dprintf(0, _("devio_garbage: WARNING! I/O error\n")); + continue; + } + /*bp->bf_dirty = 0;*/ + } + *bpp = NULL; + free(bp); + } + } + } +#endif + diff --git a/src/nos/filesys/devio.i b/src/nos/filesys/devio.i new file mode 100644 index 00000000..3769fc42 --- /dev/null +++ b/src/nos/filesys/devio.i @@ -0,0 +1,2918 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int sys_nerr; + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *strerror (int _errno); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +blkbuf_t *Bufpool[3 ]; + + + +devsw_t *Devtab[3 ]; + + + +unsigned int bufclock; + + + +unsigned int buf_hits; + + +unsigned int buf_miss; + + +unsigned int buf_flsh; + + +extern char *baddevmsg; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void * +bread(dev_t dev, blkno_t blk, unsigned char rewrite) +{ + register blkbuf_t *bp; + + + _dprintf(3, _("bread(%u, %u, %u) starting\n"), dev, blk, rewrite); + + + bp = bfind(dev, blk); + if (bp) + { + if (bp->bf_busy) + _panic(_("want busy block 0x%x device 0x%x"), blk, dev); + ++buf_hits; + + + + + + + goto Done; + } + ++buf_miss; + + if ((bp = freebuf(1)) == 0) goto Err; + bp->bf_dev = dev; + bp->bf_blk = blk; + + + + if (rewrite == 0) { + if (bdreadwrite(bp, 0) < 0) { + if (((udata_t *)Curproc->p_udata)->u_error == 0) + ((udata_t *)Curproc->p_udata)->u_error = 5 ; +Err: + + _dprintf(3, _("bread() returning NULL, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return 0; + } + + + + + + + } +Done: if (rewrite > 1) + { + memset(bp->bf_data, 0, 0x200 ); + + + + + + + } + bp->bf_busy++; + bp->bf_time = ++bufclock; + + _dprintf(3, _("bread() returning 0x%x, success\n"), bp); + + return (bp->bf_data); +} + + + + + +int +bfree(blkbuf_t *bp, unsigned char dirty) +{ + + _dprintf(3, _("bfree(0x%x, %u) starting\n"), bp, dirty); + + + bp->bf_dirty |= dirty; + bp->bf_busy = 0; + if (bp->bf_dirty && bp->bf_dev == ((dev_t)-1)) + _panic(_("attempt to write-back zerobuf")); + + + if (bp->bf_dirty >= 2) { + + + + + + + + + + if (bdreadwrite(bp, 1) < 0) { + ((udata_t *)Curproc->p_udata)->u_error = 5 ; + + _dprintf(3, _("bfree() returning -1, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return (-1); + } + bp->bf_prio = bp->bf_dirty = 0; + } + + if (!bp->bf_prio) + ksignal(Bufpool, 0); + + _dprintf(3, _("bfree() returning 0, success\n")); + + return 0; +} + + + + + + + + +void * +zerobuf(unsigned char waitfor) +{ + static int blk = 0; + register blkbuf_t *bp; + + + _dprintf(3, _("zerobuf(%u) starting\n"), waitfor); + + + bp = freebuf(waitfor); + + if (bp) { + bp->bf_dev = ((dev_t)-1); + bp->bf_blk = ++blk; + bp->bf_busy = 1; + bp->bf_time = ++bufclock; + memset(bp->bf_data, 0, 0x200 ); + + _dprintf(3, _("zerobuf() returning 0x%x, found\n"), bp); + + return bp->bf_data; + } + + _dprintf(3, _("zerobuf() returning NULL, not found\n")); + + return 0; +} + + + + + +void +bufsync(void) +{ + register blkbuf_t **bpp, *bp; + + + + + _dprintf(3, _("bufsync() starting\n")); + + + + + + + for (bpp = Bufpool; bpp < Bufpool + 3 ; bpp++) + { + bp = *bpp; + if (bp && bp->bf_dev != ((dev_t)-1) && + bp->bf_dirty && + !bp->bf_prio) + { + + + + + + + if (!bdreadwrite(bp, 1)) + { + bp->bf_dirty = 0; + } + } + } + + _dprintf(3, _("bufsync() returning\n")); + +} + + + + +blkbuf_t * +bfind(int dev, blkno_t blk) +{ + register blkbuf_t **bpp, *bp; + + + _dprintf(3, _("bfind(%u, %u) starting\n"), dev, blk); + + + for (bpp = Bufpool; bpp < Bufpool + 3 ; bpp++) + { + bp = *bpp; + if (bp && bp->bf_dev == dev && bp->bf_blk == blk) + { + + _dprintf(3, _("bfind() returning 0x%x, found (index %u)\n"), bp, bpp - Bufpool); + + return bp; + } + } + + _dprintf(3, _("bfind() returning NULL, not found\n")); + + return 0; +} + + + + + + + +blkbuf_t * +freebuf(unsigned char waitfor) +{ + unsigned int diff; + register blkbuf_t **bpp, *bp; + register blkbuf_t *oldest = 0; + register unsigned int oldtime = 0; + + + _dprintf(3, _("freebuf(%u) starting\n"), waitfor); + + + + + + while (1) + { + + for (bpp = Bufpool; bpp < Bufpool + 3 ; bpp++) + { + bp = *bpp; + if (bp && !bp->bf_busy && !bp->bf_prio && + !bp->bf_dirty) + { + diff = bufclock - bp->bf_time; + if (diff >= oldtime) + { + oldest = bp; + oldtime = diff; + } + } + } + if (oldest) + { + break; + } + + for (bpp = Bufpool; bpp < Bufpool + 3 ; bpp++) + { + bp = *bpp; + if (bp && !bp->bf_busy && !bp->bf_prio) + { + diff = bufclock - bp->bf_time; + if (diff >= oldtime) + { + oldest = bp; + oldtime = diff; + } + } + } + if (oldest) + { + break; + } + + for (bpp = Bufpool; bpp < Bufpool + 3 ; bpp++) + { + bp = *bpp; + if (bp == 0) + { + oldest = calloc(sizeof(blkbuf_t), 1); + *bpp = oldest; + goto found; + } + } + if (!waitfor) + { + goto Err; + } + kwait(Bufpool); + } +found: + if (oldest->bf_dirty) + { + + if (oldest->bf_dev == ((dev_t)-1)) + { + _panic(_("attempt to write-back zerobuf")); + } + + ++buf_flsh; + + + + + + + if (bdreadwrite(oldest, 1) < 0) + { + ((udata_t *)Curproc->p_udata)->u_error = 5 ; +Err: return 0; + } + oldest->bf_dirty = 0; + } + + + _dprintf(3, _("freebuf() returning 0x%x, found\n"), oldest); + + return oldest; +} + + + + + +void +bufdump(void) +{ + register blkbuf_t **bpp, *bp; + + _printf(_("Buf hits/miss/flsh: %u/%u/%u\n" + "Buffs:\tdev\tblock\tDBP\ttime\t(clock=%d)\n"), + buf_hits, buf_miss, buf_flsh, bufclock); + for (bpp = Bufpool; bpp < Bufpool + 3 ; bpp++) + { + bp = *bpp; + if (bp) + { + _printf(_("\t%p\t%u\t%c%c%c\t%u\n"), + bp->bf_dev, bp->bf_blk, + bp->bf_dirty ? 'd' : '-', + bp->bf_busy ? 'b' : '-', + bp->bf_prio ? 'p' : '-', + bp->bf_time); + } + } + buf_miss = buf_hits = buf_flsh = 0; +} + + + + + +devsw_t * +validdev(dev_t dev, char *msg) +{ + unsigned char major; + register devsw_t *dt; + + major = ((uchar)((dev) >> 8)); + if (major < 3 ) + { + dt = Devtab[major]; + if (((uchar)(dev)) < dt->minors) + { + return dt; + } + } + + if (msg) + { + _panic(Baddevmsg, msg, (int)major); + } + + ((udata_t *)Curproc->p_udata)->u_error = 19 ; + return 0; +} + + + + + + + + + + + + + + + + + + + + + + + + +int +bdreadwrite(blkbuf_t *bp, unsigned char write) +{ + register dev_t dev = bp->bf_dev; + register devsw_t *dt = validdev(dev, !write ? "bdread" : "bdwrite"); + + ((udata_t *)Curproc->p_udata)->u_buf = bp; + if (write) + return (dt->dev_write)(((uchar)(dev)), 0); + return (dt->dev_read)(((uchar)(dev)), 0); +} + + + + + +int +cdreadwrite(dev_t dev, unsigned char write) +{ + register devsw_t *dt = validdev(dev, !write ? "cdread" : "cdwrite"); + + if (write) + return (dt->dev_write)(((uchar)(dev)), 1); + return (dt->dev_read)(((uchar)(dev)), 1); +} + + + + +int +d_openclose(dev_t dev, unsigned char open) +{ + register devsw_t *dt = validdev(dev, open ? 0 : "d_close"); + + if (dt == 0) + return (-1); + if (open) + return (dt->dev_open)(((uchar)(dev))); + return (dt->dev_close)(((uchar)(dev))); +} + + + + + +int +d_ioctl(dev_t dev, int request, void *data) +{ + register devsw_t *dt = validdev(dev, 0); + + if (dt == 0) { + ((udata_t *)Curproc->p_udata)->u_error = 6 ; + goto Err; + } + if ((dt->dev_ioctl)(((uchar)(dev)), request, data)) { + ((udata_t *)Curproc->p_udata)->u_error = 22 ; +Err: return (-1); + } + return 0; +} + + + + + +static int +ramdrive_read(unsigned char minor, unsigned char rawflag) + { + blkno_t block; + unsigned long dptr, sptr; + + block = ((udata_t *)Curproc->p_udata)->u_buf->bf_blk; + if (block >= 0x600 ) + { + return -1; + } + + sptr = ((unsigned long)(block + 0x200 )) << 9 ; + dptr = (unsigned long)((udata_t *)Curproc->p_udata)->u_buf->bf_data; + copyr(sptr, dptr, 0x200 ); + + return 0; + } + +static int +ramdrive_write(unsigned char minor, unsigned char rawflag) + { + blkno_t block; + unsigned long dptr, sptr; + + block = ((udata_t *)Curproc->p_udata)->u_buf->bf_blk; + if (block >= 0x600 ) + { + return -1; + } + + sptr = (unsigned long)((udata_t *)Curproc->p_udata)->u_buf->bf_data; + dptr = ((unsigned long)(block + 0x200 )) << 9 ; + copyr(sptr, dptr, 0x200 ); + + return 0; + } + + +void +d_init(void) +{ + register devsw_t **dtp, *dt; + unsigned char minor; + + for (dtp = Devtab; dtp < Devtab + 3 ; dtp++) + { + dt = calloc(sizeof(devsw_t), 1); + if (dt == 0) + { + _panic(_("d_init()")); + } + dt->dev_init = nogood; + dt->dev_open = nogood; + dt->dev_close = nogood; + dt->dev_read = nogood_rdwr; + dt->dev_write = nogood_rdwr; + dt->dev_ioctl = nogood_ioctl; + *dtp = dt; + } + + dt = Devtab[0]; + dt->minors = 1; + dt->dev_init = ok; + dt->dev_open = ok; + dt->dev_close = ok; + dt->dev_read = ramdrive_read; + dt->dev_write = ramdrive_write; + + for (dtp = Devtab; dtp < Devtab + 3 ; dtp++) + { + dt = *dtp; + for (minor = 0; minor < dt->minors; minor++) + { + if ((dt->dev_init)(minor)) + { + _panic(_("d_init() major %d minor %d"), + dtp - Devtab, minor); + } + } + } +} + + + + + +int +ok(unsigned char minor) +{ + + return 0; +} + + + + + +int +ok_rdwr(unsigned char minor, unsigned char rawflag) +{ + + + return 0; +} + + + + + +int +nogood(unsigned char minor) +{ + + return -1; +} + + + + + +int +nogood_rdwr(unsigned char minor, unsigned char rawflag) +{ + + + return -1; +} + + + + + +int +nogood_ioctl(unsigned char minor, int req, void *data) +{ + + + + return -1; +} + + + + + + + +void +bufpool_garbage(int red) + { + register blkbuf_t **bpp, *bp; + + for (bpp = Bufpool; bpp < Bufpool + 3 ; bpp++) + { + bp = *bpp; + if (bp && bp->bf_busy == 0 && bp->bf_prio == 0) + { + if (bp->bf_dirty) + { + if (red == 0) + { + continue; + } + if (bp->bf_dev == ((dev_t)-1)) + { + + _panic(_("attempt to write-back zerobuf")); + } + buf_flsh++; + + + + + + + if (bdreadwrite(bp, 1) < 0) + { + _dprintf(0, _("devio_garbage: WARNING! I/O error\n")); + continue; + } + + } + *bpp = 0; + free(bp); + } + } + } + + diff --git a/src/nos/filesys/execve.c b/src/nos/filesys/execve.c index 22085bb4..b5fa4cd7 100644 --- a/src/nos/filesys/execve.c +++ b/src/nos/filesys/execve.c @@ -21,13 +21,7 @@ **********************************************************/ #include -#include -#include -#include -#include "z80/asm.h" -#include "uzi/devio.h" -#include "uzi/rtc.h" -#include "uzi/filesys.h" +#include /* for S_IOEXEC and others */ #include "uzi/xip.h" #include "uzi/process.h" #include "uzi/maxmin.h" diff --git a/src/nos/filesys/execve.i b/src/nos/filesys/execve.i new file mode 100644 index 00000000..e0922abb --- /dev/null +++ b/src/nos/filesys/execve.i @@ -0,0 +1,2753 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int sys_nerr; + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *strerror (int _errno); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int xip_align(cinode_t *ino, off_t size); +int xip_ualign(cinode_t *ino, off_t size); +blkno_t *xip_examine(filesys_t *dev, cinode_t *ino, off_t size, + blkno_t *regioncount, blkno_t *blockcount); +blkno_t xip_align_chase(filesys_t *dev, cinode_t *ino, blkno_t blk, + blkno_t pos, blkno_t *region, blkno_t regions, blkno_t blocks); +blkno_t xip_align_bmap(cinode_t *ino, blkno_t newno, blkno_t pos); +blkno_t xip_align_reverse(blkno_t blk, + blkno_t *region, blkno_t regions, blkno_t blocks); +blkno_t xip_align_recurse(filesys_t *dev, cinode_t *ino, int exclude, + blkno_t *parent, char *dirty, + int indirection, blkno_t *region, + blkno_t regions, blkno_t blocks); +blkno_t xip_search(dev_t devno, int size, blkno_t start, blkno_t final); +int xip_reserve(dev_t devno, blkno_t blk, int size, int flag, + blkno_t start, blkno_t final); +blkno_t xip_find(dev_t devno, blkno_t blk, int flag, int toggle, + blkno_t start, blkno_t final); +int xip_get(dev_t devno, blkno_t blk, blkno_t start, blkno_t final); +int xip_set(dev_t devno, blkno_t blk, int flag, + blkno_t start, blkno_t final); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void *usrget(void *dest, const void *src, size_t count); +int usrget_int(const void *src); +void *usrget_str(void *dest, const void *src, size_t count); +void *usrput(void *dest, const void *src, size_t count); +void usrput_int(void *dest, int value); + + + + + + + + + + + + +typedef struct + { + int a_argc; + int a_arglen; + int a_envc; + char a_buf[512-3*sizeof(int)]; + } argblk_t; + + + + + + + +typedef struct + { + unsigned short e_magic; + unsigned short e_format; + off_t e_size; + unsigned short e_hsize; + unsigned short e_idata; + unsigned short e_entry; + unsigned short e_udata; + unsigned short e_stack; + unsigned short e_break; + } exehdr_t; + +int sys_execve(void); +int wargs(char **argv, argblk_t *argbuf); +char *rargs(char *ptr, argblk_t *argbuf, int *cnt); + + + + + + + + + + + + + + + + + + + + + + + + + + +int +sys_execve(void) + { + int argc; + register cinode_t *ino; + char *buf; + blkno_t bmap(); + blkno_t blk; + char **nargv, **nenvp; + argblk_t *abuf, *ebuf; + int (**sigp)(); + char *progptr; + unsigned int entry, count, remain, offset; + filesys_t *dev; + dev_t devno; + blkno_t i, pos, *region = 0, regions, blocks; + + ino = namei((char *)((udata_t *)Curproc->p_udata)->u_argn0, 0, 1); + if (ino == 0) + { + return -1; + } + + if ((getperm(ino) & 0001 ) == 0 || + (ino->c_node.i_mode & + (0100 | 0001 | 0010 )) == 0) + { + ((udata_t *)Curproc->p_udata)->u_error = 13 ; + goto nogood; + } + + if (((((ino->c_node.i_mode) & 0170000 ) == 0100000 ) || (((ino->c_node.i_mode) & 0170000 ) == 0120000 )) == 0) + { + ((udata_t *)Curproc->p_udata)->u_error = 45 ; + goto nogood; + } + + + + setftim (ino, 1); + + + + buf = bread(ino->c_dev, bmap(ino, 0, 1), 0); + + + switch (((exehdr_t *)buf)->e_magic) + { + case 0xa6c9: + break; + case 0x2123: + ((udata_t *)Curproc->p_udata)->u_error = 41 ; + goto nogood2; + default: + ((udata_t *)Curproc->p_udata)->u_error = 8 ; + goto nogood2; + } + + entry = ((exehdr_t *)buf)->e_format; + switch (entry) + { + case 1: + break; + case 2: + + devno = ino->c_dev; + dev = getfs(devno); + + + region = xip_examine(dev, ino, ino->c_node.i_size, + ®ions, &blocks); + if (region == 0) + { + goto nogood2; + } + break; + default: + ((udata_t *)Curproc->p_udata)->u_error = 8 ; + goto nogood2; + } + + + + if (((exehdr_t *)buf)->e_size > ino->c_node.i_size) + { + ((udata_t *)Curproc->p_udata)->u_error = 44 ; + goto nogood2; + } + + + if (((exehdr_t *)buf)->e_hsize >= 0x200 ) + { + ((udata_t *)Curproc->p_udata)->u_error = 8 ; + goto nogood2; + } + + + + + + + + + + + + + abuf = (argblk_t *)zerobuf(1); ; + ebuf = (argblk_t *)zerobuf(1); ; + + + if (wargs((char **)((udata_t *)Curproc->p_udata)->u_argn1, abuf) || wargs((char **)((udata_t *)Curproc->p_udata)->u_argn2, ebuf)) + { + goto nogood3; + } + + + di(); + + + if (ino->c_node.i_mode & 04000 ) + { + ((udata_t *)Curproc->p_udata)->u_ptab->p_euid = ino->c_node.i_uid; + } + + if (ino->c_node.i_mode & 02000 ) + { + ((udata_t *)Curproc->p_udata)->u_ptab->p_egid = ino->c_node.i_gid; + } + + + + + + + + + + + + + nargv = (char **)((exehdr_t *)buf)->e_break; + + + nenvp = (char **)rargs((char *)nargv, abuf, &argc); + bfree((blkbuf_t *)abuf, 0); + + + ((udata_t *)Curproc->p_udata)->u_ptab->p_break = (unsigned int)rargs((char *)nenvp, ebuf, 0); + + + progptr = (char *)((exehdr_t *)buf)->e_udata; + remain = (unsigned int)nargv - ((exehdr_t *)buf)->e_udata; + + memset(ebuf, 0, 0x200 ); + ((void)usrput( (void *)0x1000, ebuf, 0x100), 0); + + while (remain) + { + count = min_int(remain, 0x200 ); + ((void)usrput( progptr, ebuf, count), 0); + + progptr += count; + remain -= count; + } + + bfree((blkbuf_t *)ebuf, 0); + + + (usrput_int( nargv - 3, argc), 0); + (usrput_int( nargv - 2, (unsigned int)nargv), 0); + (usrput_int( nargv - 1, (unsigned int)nenvp), 0); + + + ((udata_t *)Curproc->p_udata)->u_ptab->p_isp = (char *)(nargv - 3); + + + if (entry == 2) + { + + progptr = (char *)0x8000; + + for (i = 0; i < regions; i++) + { + + uputc(0x40 + (region[i] >> (12 -9 )) - 4, + progptr++); + } + + if (bfree((blkbuf_t *)region, 0) < 0) + { + + } + + } + + + entry = ((exehdr_t *)buf)->e_entry; + + + + progptr = (char *)((exehdr_t *)buf)->e_idata; + offset = ((exehdr_t *)buf)->e_hsize; + remain = ((exehdr_t *)buf)->e_udata - (unsigned int)progptr; + + if (remain) + { + count = min_int(remain, 0x200 - offset); + ((void)usrput( progptr, buf + offset, count), 0); + + progptr += count; + remain -= count; + } + bfree((blkbuf_t *)buf, 0); + + blk = 1; + while (remain) + { + buf = bread(ino->c_dev, bmap(ino, blk++, 1), 0); + + count = min_int(remain, 0x200 ); + ((void)usrput( progptr, buf, count), 0); + + progptr += count; + remain -= count; + + bfree((blkbuf_t *)buf, 0); + } + + i_deref(ino); + + + for (sigp = ((udata_t *)Curproc->p_udata)->u_ptab->p_sigvec; sigp < (((udata_t *)Curproc->p_udata)->u_ptab->p_sigvec + 16 ); sigp++) + { + if (((long)*sigp) != ((sig_t)1) ) + { + *sigp = (void (*)(signal_t))((sig_t)0) ; + } + } + + + + + + + + + + + + enable(); + + doexec((int *)((udata_t *)Curproc->p_udata)->u_ptab->p_isp, entry); + +nogood3: + bfree((blkbuf_t *)abuf, 0); + bfree((blkbuf_t *)ebuf, 0); +nogood2: + if (region) + { + bfree((blkbuf_t *)region, 0); + } + bfree((blkbuf_t *)buf, 0); +nogood: + i_deref(ino); + return -1; + } + + + + + + + + + + + +int +wargs(char **argv, argblk_t *argbuf) +{ + register char *ptr; + int c; + register char *bufp; + + char ugetc(); + + + argbuf->a_argc = 0; + bufp = argbuf->a_buf; + + while (ptr = (char *)usrget_int(argv++)) + { + + ++(argbuf->a_argc); + do + { + *bufp++ = c = ugetc (ptr++); + if (bufp > argbuf->a_buf+500) + { + ((udata_t *)Curproc->p_udata)->u_error = 7 ; + return (1); + } + } + while (c); + } + argbuf->a_arglen = bufp - argbuf->a_buf; + return (0); +} + + + + +char * +rargs(char *ptr, argblk_t *argbuf, int *cnt) +{ + int argc; + char **argv; + char *sptr; + + sptr = argbuf->a_buf; + + + argc = argbuf->a_argc; + argv = (char **)ptr; + ptr += (argc + 1) * sizeof(char *); + + + + + + + + if (argbuf->a_arglen) + ((void)usrput( ptr, sptr, argbuf->a_arglen), 0); + + + if (cnt) + + + *cnt = argc; + + + + while (argc--) + { + + + + + (usrput_int( argv++, (unsigned int)ptr), 0); + + do + ++ptr; + while (*sptr++); + } + + + + + + (usrput_int( argv, 0), 0); + + return ptr; +} + + + diff --git a/src/nos/filesys/filesys.c b/src/nos/filesys/filesys.c index c988ed1d..c3dca6a8 100644 --- a/src/nos/filesys/filesys.c +++ b/src/nos/filesys/filesys.c @@ -21,17 +21,9 @@ **********************************************************/ #include -#include -#include -#include -#include -#include -#include "z80/asm.h" -#include "uzi/devio.h" -#include "uzi/rtc.h" -#include "uzi/filesys.h" +#include /* for S_IFMT and others */ #include "uzi/xip.h" -#include "uzi/process.h" +#include "uzi/process.h" /* this includes "uzi/filesys.h" */ #include "uzi/scall1.h" /* for readi() and writei() macros */ #include "uzi/usrmem.h" #include "nos/global.h" /* for ksignal() */ @@ -97,6 +89,7 @@ extern _char *Gtinobadoft; #define MODULE_magic #define MODULE_i_sync #define MODULE_fs_sync +#define MODULE_inotab_garbage #endif #ifdef MODULE_root_dev @@ -680,50 +673,6 @@ srch_mt(cinode_t *ino) } #endif -/* new initialisation routine by Nick as Inotab is now a sparse array */ -#ifdef MODULE_i_init -void -i_init(void) - { -#if 0 - cinode_t **ipp, *ip; - - /* original UZI: */ - /* memset(Inotab, 0, NINODES * sizeof(cinode_t *)); */ - - for (ipp = Inotab; ipp < Inotab + NINODES; ipp++) - { - ip = calloc(sizeof(cinode_t), 1); - if (ip == NULL) - { - _panic(_("i_init()")); - } - *ipp = ip; - } -#endif - } - -/* FILESYS garbage collection - called by storage allocator when free space - * runs low. Non-referenced (cached) inodes are discarded. They will never - * be dirty, because they will have been synced when released earlier. - */ -void -filesys_garbage(red) -int red; -{ - register cinode_t **inopp, *ino; - - for (inopp = Inotab; inopp < Inotab + NINODES; inopp++) - { - ino = *inopp; - if (ino && ino->c_refs == 0) - { - free(ino); - } - } -} -#endif - /* I_open() is given an inode number and a device number, and makes an entry * in the inode table for them, or increases it reference count if it is * already there. @@ -807,7 +756,7 @@ i_open(dev_t devno, ino_t ino) } if (nindex == NULL) { /* No unrefed slots in inode table, or no memory */ - udata->u_error = ENFILE; + udata->u_error = ENOMEM; /* Nick see oft_alloc() ENFILE; */ goto Err; } /* _dprintf(2, _("reading(%u, %u) "), inodeblock(dev, ino), inodeoffset(ino)); */ @@ -1515,7 +1464,7 @@ oft_deref(unsigned char of) if (--(op->o_refs) == 0 && op->o_inode) { i_deref(op->o_inode); -#if 1 /* Nick, as Oftab is now a sparse array */ +#if 0 /* Nick, as Oftab is now a sparse array (reversed, see oftab_garbage) */ free(op); Oftab[of] = NULL; #if DEBUG >= 4 @@ -1557,9 +1506,9 @@ uf_alloc(void) ++p; } - udata->u_error = ENFILE; + udata->u_error = EMFILE; /* Nick see gnu "man open" ENFILE; */ #if DEBUG >= 4 - _dprintf(4, _("uf_alloc() returning -1, error %u\n"), ENFILE); + _dprintf(4, _("uf_alloc() returning -1, error %u\n"), EMFILE); /* ENFILE); */ #endif return -1; } @@ -2048,3 +1997,46 @@ fs_sync(void) } #endif +#ifdef MODULE_inotab_garbage +/* Inotab garbage collection - called by storage allocator when free space + * runs low. Non-referenced (cached) inodes are discarded. They will never + * be dirty, because they will have been synced when released earlier. + */ +void +inotab_garbage(int red) + { + register cinode_t **inopp, *ino; + + for (inopp = Inotab; inopp < Inotab + NINODES; inopp++) + { + ino = *inopp; + if (ino && ino->c_refs == 0) + { + *inopp = NULL; + free(ino); + } + } + } +#endif + +#ifdef MODULE_oftab_garbage +/* Oftab garbage collection - called by storage allocator when free space + * runs low. Zaps open file table entries with 0 reference count. + */ +void +oftab_garbage(int red) + { + register oft_t **otp, *op; + + for (otp = Oftab; otp < Oftab + NOPENFILES; otp++) + { + op = *otp; + if (op && op->o_refs == 0) + { + *otp = NULL; + free(op); + } + } + } +#endif + diff --git a/src/nos/filesys/filesys.i b/src/nos/filesys/filesys.i new file mode 100644 index 00000000..1e160cd8 --- /dev/null +++ b/src/nos/filesys/filesys.i @@ -0,0 +1,4330 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int sys_nerr; + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *strerror (int _errno); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int xip_align(cinode_t *ino, off_t size); +int xip_ualign(cinode_t *ino, off_t size); +blkno_t *xip_examine(filesys_t *dev, cinode_t *ino, off_t size, + blkno_t *regioncount, blkno_t *blockcount); +blkno_t xip_align_chase(filesys_t *dev, cinode_t *ino, blkno_t blk, + blkno_t pos, blkno_t *region, blkno_t regions, blkno_t blocks); +blkno_t xip_align_bmap(cinode_t *ino, blkno_t newno, blkno_t pos); +blkno_t xip_align_reverse(blkno_t blk, + blkno_t *region, blkno_t regions, blkno_t blocks); +blkno_t xip_align_recurse(filesys_t *dev, cinode_t *ino, int exclude, + blkno_t *parent, char *dirty, + int indirection, blkno_t *region, + blkno_t regions, blkno_t blocks); +blkno_t xip_search(dev_t devno, int size, blkno_t start, blkno_t final); +int xip_reserve(dev_t devno, blkno_t blk, int size, int flag, + blkno_t start, blkno_t final); +blkno_t xip_find(dev_t devno, blkno_t blk, int flag, int toggle, + blkno_t start, blkno_t final); +int xip_get(dev_t devno, blkno_t blk, blkno_t start, blkno_t final); +int xip_set(dev_t devno, blkno_t blk, int flag, + blkno_t start, blkno_t final); + + + + + + + + + + + + + + + + + +typedef struct s_pdata { + int u_pid; + void *u_ptab; + unsigned char u_name[14 ]; + + + unsigned char u_insys; + unsigned char u_callno; + unsigned char u_traceme; + + + unsigned char u_uid; + unsigned char u_gid; + unsigned char u_euid; + unsigned char u_egid; + time_t u_time; + + + signal_t u_cursig; + + + time_t u_utime; + time_t u_stime; +}; + + +typedef struct s_kdata { + unsigned char k_name[14]; + unsigned char k_version[8]; + unsigned char k_release[8]; + + unsigned char k_host[14]; + unsigned char k_machine[8]; + + int k_tmem; + int k_kmem; +}; + + +typedef enum { + GI_PTAB = -1, + GI_ITAB = -2, + GI_BTAB = -3, + GI_FTAB = -4, + GI_UDAT = -5, + GI_UTAB = -6, + GI_PDAT = -7, + GI_KDAT = -8 +} getinfo_t; + + + + + + + + + + + +struct swap_mmread { + unsigned char mm[2]; + unsigned int offset; + unsigned int size; + unsigned char *buf; +}; + +typedef struct { + getinfo_t req; + size_t size; + void *ptr; +} info_t; + + + + + + + + + + + + + + + +typedef struct + { + unsigned char k_name[14]; + unsigned char k_version[8]; + unsigned char k_release[8]; + + unsigned char k_host[14]; + unsigned char k_machine[8]; + + unsigned int k_tmem; + unsigned int k_kmem; + } kdata_t; + + + + + +int sys_sync(void); +int sys_utime(void); +int sys_close(void); +void truncateto0(cinode_t *ino); +int sys_open(void); +int sys_link(void); +int sys_symlink(void); +int sys_unlink(void); +int sys_readwrite(void); +off_t sys_lseek(void); +int sys_chdir(void); +int sys_chroot(void); +int sys_mknod(void); +int sys_access(void); +int sys_chmod(void); +int sys_chown(void); + +int sys_statfstat(void); +int sys_falign(void); +int sys_dup(void); +int sys_dup2(void); +int sys_getfsys(void); +int sys_ioctl(void); +int sys_mountumount(void); +time_t sys_time(void); + +void readwritei(char write, cinode_t *ino); +cinode_t *rwsetup(unsigned char fd, void *base, + unsigned int cnt, unsigned char rdflag); +int pdat(struct s_pdata *ubuf); +int scall1_getfsys(dev_t devno, info_t *buf); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void *usrget(void *dest, const void *src, size_t count); +int usrget_int(const void *src); +void *usrget_str(void *dest, const void *src, size_t count); +void *usrput(void *dest, const void *src, size_t count); +void usrput_int(void *dest, int value); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +dev_t root_dev; + + +cinode_t *root_ino; + + + +filesys_t *Fstab[1 ]; + + +cinode_t *Inotab[5 ]; + + +oft_t *Oftab[15 ]; + + + + +static unsigned char dirty_mask; + + + + +static _char *Badinomsg = N_("%s: bad inode number %u\n"); + + +_char *Baddevmsg = N_("%s: bad dev %u"); + + +static _char *Badfsmsg = N_("%s: fs of dev %u marked as bad\n"); + + +static _char *Refstoinode = N_("%s refs to inode %u\n"); + + +static _char *Gtinobadoft = N_("getinode: bad oft %u%s %u\n"); + + + + + + + + + + +void +fs_init(void) + { + filesys_t **fspp, *fsp; + + + + + for (fspp = Fstab; fspp < Fstab + 1 ; fspp++) + { + fsp = calloc(sizeof(filesys_t), 1); + if (fsp == 0) + { + _panic(_("fs_init()")); + } + *fspp = fsp; + } + } + + + + + +filesys_t * +findfs(dev_t devno) +{ + register filesys_t **fspp, *fsp; + + for (fspp = Fstab; fspp < Fstab + 1 ; fspp++) + { + fsp = *fspp; + + _dprintf(3, _("fsp 0x%x s_mounted 0x%x s_dev %d\n"), fsp, fsp->s_mounted, fsp->s_dev); + + if (fsp->s_mounted && fsp->s_dev == devno) + { + return fsp; + } + } + return 0; +} + + + + + + + + +filesys_t * +getfs(dev_t devno) +{ + filesys_t *dev = findfs(devno); + + if (dev == 0) + _panic(Baddevmsg, "getfs", devno); + rdtime(&dev->s_time); + dev->s_fmod = 1; + return dev; +} + + + + + + + + +int +wr_inode(cinode_t *ino) +{ + dinode_t *buf; + + + _dprintf(3, _("wr_inode(0x%x) starting\n"), ino); + + + magic(ino, "wr_inode"); + if (ino->c_dirty && !ino->c_ro) { + if ((buf = (dinode_t *)bread(ino->c_dev, + ((( + ino->c_num) >> 3 ) + +(findfs(ino->c_dev))->s_reserv), 0)) == 0) + { +Err: + + _dprintf(3, _("wr_inode() returning -1, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return -1; + } + memcpy( &buf[((ino->c_num) & (8 -1))], &ino->c_node, + sizeof(dinode_t)); + + + if (bfree((blkbuf_t *)buf, dirty_mask ? 1 : 2) < 0) + + + + goto Err; + } + ino->c_dirty = 0; + + _dprintf(3, _("wr_inode() returning 0, success\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return 0; +} + + + + + + +void +i_ref(cinode_t *ino) +{ + + + + + magic(ino, "i_ref"); + if (++ino->c_refs >= 12 * 5 ) + _panic(Refstoinode, "too many", ino); + + + +} + + + + + + + + +void +i_deref(cinode_t *ino) +{ + + + + + magic(ino, "i_deref"); + if (ino->c_refs == 0) + _panic(Refstoinode, "no", ino); + if (((((ino)->c_node.i_mode) & 0170000 )) == 0010000 ) + ksignal(ino, 0); + + + + if (--ino->c_refs == 0) { + if (ino->c_node.i_nlink == 0) { + ino->c_node.i_size = 0; + f_trunc(ino); + + ino->c_node.i_mode = 0; + i_free(ino->c_dev, ino->c_num); + } + + if (ino->c_dirty) + wr_inode(ino); + } + + + +} + + + + + + + + +void +i_free(dev_t devno, ino_t ino) +{ + register filesys_t *dev = getfs(devno); + + + + + + if (ino <= 1 || ino >= (((dev)->s_isize) << 3 )) + _panic(Badinomsg, "i_free", ino); + + + + + + if (xip_set(devno, ino, 0, dev->s_bitmap_inode, + dev->s_bitmap_block) != 1) + { + + + + return; + } + + ++dev->s_tinode; + + + + + + + + + + + + + + + + + +} + + + + + + + + + + +cinode_t * +_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent) +{ + cinode_t *temp; + register cinode_t *ninode; + register cinode_t *wd; + + + + + + ninode = wd = strt; + i_ref(wd); + i_ref(ninode); + for (;;) { + if (ninode != 0) { + magic(ninode, "_namei"); + + ninode = srch_mt(ninode); + } + while (*name == '/') + ++name; + if (*name == 0) + break; + if (ninode == 0) { + ((udata_t *)Curproc->p_udata)->u_error = 2 ; + goto Err; + } + if (((((ninode)->c_node.i_mode) & 0170000 )) == 0110000 ) + break; + i_deref(wd); + wd = ninode; + + if (((((wd)->c_node.i_mode) & 0170000 )) != 0040000 ) { + ((udata_t *)Curproc->p_udata)->u_error = 20 ; + goto Err; + } + + if ((getperm(wd) & 0001 ) == 0) { + ((udata_t *)Curproc->p_udata)->u_error = 1 ; + goto Err; + } + + if (wd->c_num == 1 && + wd->c_dev != root_dev && + name[1] == '.') { + + temp = findfs(wd->c_dev)->s_mntpt; + i_deref(wd); + i_ref(wd = temp); + } + + if ((ninode = srch_dir(wd, (char *)name)) == (cinode_t *)-1) + goto Err; + while (*name != 0 && *name != '/') + ++name; + } + *parent = wd; + + + + + *rest = name; + + + + + + return ninode; + +Err: *parent = 0; + + + + i_deref(wd); + + + + return 0; +} + + + + + + + + + + + + +cinode_t * +namei(char *uname, cinode_t **parent, unsigned char follow) +{ + register cinode_t *ino; + cinode_t *parent1, *strt; + unsigned char *buf = 0, *buf1 = 0, *rest, *s; + unsigned char cnt = 0; + + char *tb; + char *name; + + + + + + + + name = tb = (char *)zerobuf(1); ; + + + + + + + + (usrget_str( name, uname, 512) == 0 ? 1 : 0); + + + ((udata_t *)Curproc->p_udata)->u_error = 0; + + + + + + + + strt = (*name == '/') ? ((udata_t *)Curproc->p_udata)->u_ptab->p_root : ((udata_t *)Curproc->p_udata)->u_ptab->p_cwd; + while ((ino = _namei((unsigned char *)name, &rest, strt, &parent1)) != + 0) { + if (((((ino)->c_node.i_mode) & 0170000 )) != 0110000 || (*rest == 0 && !follow)) { + if (parent != 0) + *parent = parent1; + else i_deref(parent1); + goto Ret; + } + + if (!(getperm(ino) & 0004 )) { + ((udata_t *)Curproc->p_udata)->u_error = 1 ; +Err: i_deref(parent1); + i_deref(ino); + ino = 0; + goto Ret; + } + + + + + if (!buf) if ((buf = (unsigned char *)zerobuf(1)) == 0) + goto Err1; + + if (*rest) { + + + + if (!buf1) buf1 = (unsigned char *)zerobuf(0); + + if (!buf1) { +Err1: ((udata_t *)Curproc->p_udata)->u_error = 12 ; + goto Ret; + } + s = buf1; + while ('\0' != (*s++ = *rest++)) + ; + rest = buf1; + } + else rest = (unsigned char *)""; + + + ((udata_t *)Curproc->p_udata)->u_count = 0x200 ; + ((udata_t *)Curproc->p_udata)->u_base = (unsigned char *)buf; + ((udata_t *)Curproc->p_udata)->u_offset = 0; + + ((udata_t *)Curproc->p_udata)->u_sysio = 1; + + readwritei(0, ino); + + s = rest; + while (*s++ != '\0') + ; + if (((udata_t *)Curproc->p_udata)->u_count + (s - rest) >= 0x200 -1) { + ((udata_t *)Curproc->p_udata)->u_error = 12 ; + goto Err; + } + + s = buf+((udata_t *)Curproc->p_udata)->u_count; + if (*rest) + *s++ = '/'; + while ((*s++ = *rest++) != '\0') + ; + name = (char *)buf; + strt = (*name == '/') ? root_ino : parent1; + if (++cnt == 13) { + ((udata_t *)Curproc->p_udata)->u_error = 40 ; + goto Err; + } + i_deref(parent1); + i_deref(ino); + } + + if (parent != 0) + *parent = parent1; + else { + if (parent1) + i_deref(parent1); + if (((udata_t *)Curproc->p_udata)->u_error == 0) + ((udata_t *)Curproc->p_udata)->u_error = 2 ; + } +Ret: if (buf) if (bfree((blkbuf_t *)buf, 0) < 0) ino=0; + if (buf1) if (bfree((blkbuf_t *)buf1, 0) < 0) ino=0; + + bfree((blkbuf_t *)tb, 0); + + return ino; +} + + + + + + + + + + + + +cinode_t * +srch_dir(cinode_t *wd, char *name) +{ + ino_t ino; + blkno_t db; + unsigned int cb, ce, nblocks; + register direct_t *bp, *buf; + + nblocks = (unsigned int)(wd->c_node.i_size >> 9 ); + if ((unsigned int)wd->c_node.i_size & (0x200 -1)) + ++nblocks; + cb = 0; + while (cb != nblocks) { + + if ((db = bmap(wd, cb, 1)) == ((blkno_t)-1)) + break; + if ((buf = bp = (direct_t *)bread(wd->c_dev, db, 0)) == 0) +Err1: return (cinode_t *)-1; + ce = 0; + while (ce < (0x200 / sizeof(direct_t))) { + if (namecomp((unsigned char *)name, bp->d_name)) { + + ino = bp->d_ino; + if (bfree((blkbuf_t *)buf, 0) < 0) goto Err1; + + return i_open(wd->c_dev, ino); + } + ++ce; + ++bp; + } + if (bfree((blkbuf_t *)buf, 0) < 0) + goto Err1; + ++cb; + } + + return 0; +} + + + + + + + + +cinode_t * +srch_mt(cinode_t *ino) +{ + register filesys_t **fspp, *fsp; + + for (fspp = Fstab; fspp < Fstab + 1 ; fspp++) + { + fsp = *fspp; + if (fsp->s_mounted && fsp->s_mntpt == ino) + { + i_deref(ino); + ino = i_open(fsp->s_dev, 1 ); + + break; + } + } + return ino; +} + + + + + + + + + + +cinode_t * +i_open(dev_t devno, ino_t ino) +{ + filesys_t *dev; + dinode_t *buf; + cinode_t *ip, *nindex; + unsigned char i, newn, mode0; + + unsigned char refs0; + + static cinode_t **nextipp = Inotab; + + + _dprintf(3, _("i_open(%u, %u) starting\n"), devno, ino); + + + if ((dev = findfs(devno)) == 0) + _panic(Baddevmsg, "i_open", devno); + newn = 0; + if (ino == ((ino_t)0)) { + if ((ino = i_alloc(devno)) == ((ino_t)0)) + goto Err; + ++newn; + } + + + + + + if (ino < 1 || ino >= (((dev)->s_isize) << 3 )) { + _dprintf(0, Badinomsg, "i_open", ino); + goto Err; + } + + nindex = 0; + i = 0; + + for (i = 0; i < 5 ; i++) + { + ip = *nextipp++; + if (nextipp >= Inotab + 5 ) + { + nextipp = Inotab; + + } + if (ip) + { + if (ip->c_refs == 0) + { + nindex = ip; + } + if (ip->c_dev == devno && ip->c_num == ino) + { + nindex = ip; + + goto found; + } + } + } + + + if (nindex == 0) + { + for (i = 0; i < 5 ; i++) + { + if (Inotab[i] == 0) + { + nindex = calloc(sizeof(cinode_t), 1); + Inotab[i] = nindex; + break; + } + } + } + if (nindex == 0) + { + ((udata_t *)Curproc->p_udata)->u_error = 12 ; + goto Err; + } + + + buf = (dinode_t *)bread(devno, ((( ino) >> 3 ) + +(dev)->s_reserv), 0); + if (buf == 0) goto Err; + memcpy( &nindex->c_node, &buf[((ino) & (8 -1))], sizeof(dinode_t)); + if (bfree((blkbuf_t *)buf, 0) < 0) goto Err; + + nindex->c_magic = 24721 ; + nindex->c_dev = devno; + nindex->c_num = ino; + nindex->c_ro = dev->s_ronly; +found: + + mode0 = (((((nindex)->c_node.i_mode) & 0170000 )) == 0); + + + refs0 = (nindex->c_refs == 0) && (nindex->c_node.i_nlink == 0); + + if (newn) { + + + if (!refs0 || !mode0) + + + + goto badino; + } + + else if (refs0 || mode0) + + + + goto badino; + i_ref(nindex); + + _dprintf(3, _("i_open() returning 0x%x, success\n"), nindex); + + return nindex; + +badino: _dprintf(0, Badinomsg, "i_open (disk)", ino); +Err: + + _dprintf(3, _("i_open() returning NULL, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return 0; +} + + + + + + + + + + + + + + + +int +ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex) +{ + direct_t curentry; + int i; + + + _dprintf(3, _("ch_link(0x%x, \"%s\", \"%s\", 0x%x) starting\n"), + wd, oldname, newname, nindex); + + + + if ((getperm(wd) & 0002 ) == 0) { + ((udata_t *)Curproc->p_udata)->u_error = 1 ; + goto Err; + } + + ((udata_t *)Curproc->p_udata)->u_offset = 0; + for (;;) { + ((udata_t *)Curproc->p_udata)->u_base = (unsigned char *)&curentry; + ((udata_t *)Curproc->p_udata)->u_count = sizeof(curentry); + + ((udata_t *)Curproc->p_udata)->u_sysio = 1; + + readwritei(0, wd); + + + if (((udata_t *)Curproc->p_udata)->u_count == 0 || + namecomp((unsigned char *)oldname, curentry.d_name)) + break; + } + if (((udata_t *)Curproc->p_udata)->u_count == 0 && *oldname) + + { + ((udata_t *)Curproc->p_udata)->u_error = 2 ; + goto Err; + } + + + + oldname = (char *)curentry.d_name; + i = sizeof(curentry.d_name); + while (--i >= 0) { + if ('\0' != (*oldname++ = *newname)) + ++newname; + } + curentry.d_ino = nindex ? nindex->c_num : 0; + + + + if (((udata_t *)Curproc->p_udata)->u_count > 0) + ((udata_t *)Curproc->p_udata)->u_offset -= ((udata_t *)Curproc->p_udata)->u_count; + ((udata_t *)Curproc->p_udata)->u_base = (unsigned char *)&curentry; + ((udata_t *)Curproc->p_udata)->u_count = sizeof(curentry); + ((udata_t *)Curproc->p_udata)->u_error = 0; + + ((udata_t *)Curproc->p_udata)->u_sysio = 1; + + readwritei(1, wd); + if (((udata_t *)Curproc->p_udata)->u_error) + { +Err: + + _dprintf(3, _("ch_link() returning 0, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return 0; + } + + if ((unsigned int)wd->c_node.i_size & (0x200 -1)) { + wd->c_node.i_size &= ~(0x200 -1); + wd->c_node.i_size += 0x200 ; + } + setftim(wd, 1 | 2 | 4); + + _dprintf(3, _("ch_link() returning 1, success\n")); + + return 1; +} + + + + + + + + +void +filename(char *upath, char *name) +{ + char *buf; + register char *ptr; + + + + buf = (char *)zerobuf(1); ; + if ((usrget_str( buf, upath, 512) == 0 ? 1 : 0)) + { + bfree((blkbuf_t *)buf, 0); + *name = '\0'; + return; + } + ptr = buf; + while (*ptr) + ++ptr; + + while (*ptr != '/' && ptr-- > buf) + ; + ptr++; + memcpy( name, ptr, 14 ); + bfree((blkbuf_t *)buf, 0); +} + + + + + + + + +int +namecomp(unsigned char *n1, unsigned char *n2) +{ + unsigned char n = 14 ; + + + + + + + if (strcmp(n1, "*") == 0 || + strcmp(n1, "*.*") == 0) + return 1; + + + while (*n1 && *n1 != '/') { + if (*n1++ != *n2++) + goto NotEq; + if (--n == 0) + { + + + + return (-1); + } + } + if (*n2 == '\0' || *n2 == '/') + { + + + + return 1; + } +NotEq: + + + + return 0; +} + + + + + + + + + + + + + + +cinode_t * +newfile(cinode_t *pino, char *name) +{ + register cinode_t *nindex; + + + _dprintf(3, _("newfile(0x%x, \"%s\") starting\n"), pino, name); + + + if ((getperm(pino) & 0002 ) == 0) { + ((udata_t *)Curproc->p_udata)->u_error = 1 ; + + _dprintf(3, _("newfile() returning NULL, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return 0; + } + if ((nindex = i_open(pino->c_dev, ((ino_t)0))) == 0) + { + + _dprintf(3, _("newfile() returning NULL, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + goto Ret; + } + + memset(&nindex->c_node, 0, sizeof(dinode_t)); + nindex->c_node.i_mode = 0100000 ; + nindex->c_node.i_nlink = 1; + nindex->c_node.i_uid = ((udata_t *)Curproc->p_udata)->u_ptab->p_euid; + nindex->c_node.i_gid = ((udata_t *)Curproc->p_udata)->u_ptab->p_egid; + nindex->c_dirty = 1; + wr_inode(nindex); + + if (ch_link(pino, "", name, nindex) == 0) { + + + + i_deref(nindex); + nindex = 0; + + _dprintf(3, _("newfile() returning NULL, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + } + + else + { + _dprintf(3, _("newfile() returning 0x%x, success\n"), nindex); + } + +Ret: i_deref(pino); + return nindex; +} + + + + + + +int +filesys_doclose(unsigned int fd) +{ + register cinode_t *ino = getinode(fd); + unsigned char oftindex; + + + _dprintf(3, _("filesys_doclose(%u) starting\n"), (unsigned int)fd); + + + if (ino == 0) + { + + _dprintf(3, _("filesys_doclose() returning -1, error\n")); + + return -1; + } + oftindex = ((udata_t *)Curproc->p_udata)->u_ptab->p_files[fd]; + if (isdevice(ino) && ino->c_refs == 1 && Oftab[oftindex]->o_refs == 1) + { + d_openclose(((dev_t)((ino)->c_node.i_addr[0])), 0); + } + ((udata_t *)Curproc->p_udata)->u_ptab->p_files[fd] = (unsigned char)-1; + oft_deref(oftindex); + + _dprintf(3, _("filesys_doclose() returning 0, success\n")); + + return 0; +} + + + + + + + +ino_t +i_alloc(dev_t devno) +{ + ino_t ino; + blkno_t blk; + register unsigned char j, k; + dinode_t *buf, *bp; + filesys_t *dev = getfs(devno); + + + + + + if (dev->s_ronly) { + ((udata_t *)Curproc->p_udata)->u_error = 30 ; + goto Err1; + } + + + + + + ino = xip_find(devno, 0, 0, 1, dev->s_bitmap_inode, + dev->s_bitmap_block); + if (ino <= 1 || ino >= (((dev)->s_isize) << 3 )) + { + goto Err; + } + + if (dev->s_tinode == 0) + { + goto Corrupt; + } + + + + + + + + if (ino <= 1 || ino >= (((dev)->s_isize) << 3 )) + goto Corrupt; + --dev->s_tinode; + + + + return ino; + + +Corrupt: + _dprintf(0, Badfsmsg, "i_alloc", devno); + dev->s_mounted = ~12742 ; +Err: ((udata_t *)Curproc->p_udata)->u_error = 28 ; +Err1: + + + + return ((ino_t)0); +} + + + + + + + + + + +blkno_t +blk_alloc(dev_t devno, unsigned char dirty) +{ + + char *buf; + blkno_t newno; + + + + + register filesys_t *dev = getfs(devno); + + + + + + + if (dev->s_ronly) { + ((udata_t *)Curproc->p_udata)->u_error = 30 ; + goto Err1; + } + + + + + + newno = xip_find(devno, 0, 0, 1, dev->s_bitmap_block, + dev->s_bitmap_immov); + if (newno < (dev->s_reserv + dev->s_isize) || + newno >= dev->s_fsize) + { + goto Err; + } + + + + + + + + validblk(devno, newno); + if (dev->s_tfree == 0) + + + goto Corrupt; + + --dev->s_tfree; + + if ((buf = bread(devno, newno, 2)) == 0) + goto Err; + + if (bfree((blkbuf_t *)buf, dirty) < 0) + + + + goto Err; + + + + return newno; + +Corrupt: + _dprintf(0, Badfsmsg, "blk_alloc", devno); + dev->s_mounted = ~12742 ; +Err: ((udata_t *)Curproc->p_udata)->u_error = 28 ; +Err1: + + _dprintf(3, _("blk_alloc() returning 0, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return 0; +} + + + + + + + +void +blk_free(dev_t devno, blkno_t blk) +{ + + blkno_t j; + char *buf, *p; + + + + register filesys_t *dev = getfs(devno); + + + + + + if (dev->s_ronly || blk == 0) + { +End: + + + + return; + } + validblk(devno, blk); + + + + + + if (xip_set(devno, blk, 0, dev->s_bitmap_block, + dev->s_bitmap_immov) != 1) + { + goto End; + } + + + if (xip_set(devno, blk, 0, dev->s_bitmap_immov, + dev->s_bitmap_final) == -1) + { + goto End; + } + + + ++dev->s_tfree; + + + + + + + + + + + + +} + + + + + + +unsigned char +oft_alloc(void) +{ + register oft_t *op; + register unsigned char j; + + + + + + for (j = 0; j < 15 ; j++) + { + op = Oftab[j]; + if (op && op->o_refs == 0) + { + memset(op, 0, sizeof(oft_t)); + op->o_refs++; + + + + return j; + } + } + + for (j = 0; j < 15 ; j++) + { + op = Oftab[j]; + if (op == 0) + { + op = callocw(sizeof(oft_t), 1); + op->o_refs++; + Oftab[j] = op; + + + + return j; + } + } + + ((udata_t *)Curproc->p_udata)->u_error = 23 ; + + + + return -1; +} + + + + + + + +void +oft_deref(unsigned char of) +{ + register oft_t *op; + + + + + + op = Oftab[of]; + if (--(op->o_refs) == 0 && op->o_inode) + { + i_deref(op->o_inode); + + + + + + + + + op->o_inode = 0; + + } + + + +} + + + + + + +unsigned char +uf_alloc(void) +{ + register unsigned char j, *p = ((udata_t *)Curproc->p_udata)->u_ptab->p_files; + + + + + + for (j = 0; j < 10 ; j++) + { + if (((*p) & 0x80)) + { + + + + return j; + } + ++p; + } + + ((udata_t *)Curproc->p_udata)->u_error = 24 ; + + + + return -1; +} + + + + + + + + +unsigned char +isdevice(cinode_t *ino) +{ + + return ((((ino->c_node.i_mode) & 0170000 ) == 0020000 ) || (((ino->c_node.i_mode) & 0170000 ) == 0060000 )); + + + +} + + + + + + +void +freeblk(dev_t dev, blkno_t blk, unsigned char level) +{ + + _dprintf(3, _("freeblk(%u, %u, %u) starting\n"), dev, blk, (unsigned int)level); + + + if (blk != 0) { + if (level != 0) { + register blkno_t *buf = (blkno_t *)bread(dev, blk, 0); + unsigned int j; + + --level; + if ((buf) != 0) { + j = 0x200 /sizeof(blkno_t); + while (j != 0) + freeblk(dev, buf[--j], level); + bfree((blkbuf_t *)buf, 0); + } + } + blk_free(dev, blk); + + _dprintf(3, _("freeblk() returning, success\n")); + + } + + else + { + _dprintf(3, _("freeblk() returning, error\n")); + } + +} + + + + + + + + +void +f_trunc(cinode_t *ino) +{ + dinode_t *ip = &ino->c_node; + blkno_t *blk = ip->i_addr; + register unsigned char j; + + + _dprintf(3, _("f_trunc(0x%x) starting\n"), ino); + + + + freeblk(ino->c_dev, blk[(18 +1 +1 )-1], 2); + + freeblk(ino->c_dev, blk[(18 +1 +1 )-1-1 ], 1); + + j = 0; + while (j != 18 ) { + freeblk(ino->c_dev, *blk++, 0); + ++j; + } + memset(ip->i_addr, 0, sizeof(blkno_t)*(18 +1 +1 )); + ino->c_dirty = 1; + ip->i_size = 0; + + _dprintf(3, _("f_trunc() returning\n")); + +} + + + + + + + + + + +blkno_t +bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg) +{ + dev_t dev; + register unsigned int i, j, sh; + register blkno_t *bp, nb; + + + _dprintf(3, _("bmap(0x%x, %u, %u) starting\n"), ip, bn, (unsigned int)rdflg); + + + + if (isdevice(ip)) + { + + _dprintf(3, _("bmap() returning %u, direct\n"), bn); + + return bn; + } + dev = ip->c_dev; + + if (bn < 18 ) { + bp = &ip->c_node.i_addr[bn]; + if (0 == (nb = *bp)) { + + if (rdflg || (nb = blk_alloc(dev, 1)) == 0) + goto Err; + *bp = nb; + ip->c_dirty = 1; + } + goto Ok; + } + + + + + bn -= 18 ; + sh = 0; + j = 1 +1 ; + if (bn >= 0x200 /sizeof(blkno_t)) { + sh = 8; + bn -= 0x200 /sizeof(blkno_t); + j -= 1 ; + } + + + + bp = &ip->c_node.i_addr[(18 +1 +1 ) - j]; + if ((nb = *bp) == 0) { + if (rdflg || 0 == (nb = blk_alloc(dev, 2))) + goto Err; + *bp = nb; + ip->c_dirty = 1; + } + + while (j <= 1 +1 ) { + if ((bp = (blkno_t *)bread(dev, nb, 0)) == 0) + { +Err: + + _dprintf(3, _("bmap() returning NULLBLK, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return ((blkno_t)-1); + } + i = (bn >> sh) & (0x200 /sizeof(blkno_t)-1); + if ((nb = bp[i]) != 0) { + if (bfree((blkbuf_t *)bp, 0) < 0) + goto Err; + } else { + if (rdflg || 0 == (nb = blk_alloc(dev, + + (j == 1 +1 ) ? + 1 : 2 + + + + ))) { + bfree((blkbuf_t *)bp, 0); + goto Err; + } + bp[i] = nb; + if (bfree((blkbuf_t *)bp, 1) < 0) + goto Err; + } + sh -= 8; + ++j; + } +Ok: + + _dprintf(3, _("bmap() returning %u, success\n"), nb); + + return nb; +} + + + + + + + +void +validblk(dev_t devno, blkno_t num) +{ + register filesys_t *dev = findfs(devno); + + if (dev == 0) + _panic(_("validblk: dev 0x%x not mounted"), dev); + if (num < dev->s_isize + dev->s_reserv || num >= dev->s_fsize) + _panic(_("validblk: invalid block %u"), num); +} + + + + + + + + +cinode_t * +getinode(unsigned int uindex) +{ + register cinode_t *inoindex; + unsigned char oftindex; + + if (uindex >= 10 ) + { + goto Err; + } + oftindex = ((udata_t *)Curproc->p_udata)->u_ptab->p_files[uindex]; + if (oftindex >= 15 ) + { + _panic(Gtinobadoft, oftindex, " for", uindex); + } + if (((oftindex) & 0x80)) + { +Err: ((udata_t *)Curproc->p_udata)->u_error = 9 ; + return 0; + } + inoindex = Oftab[oftindex]->o_inode; + + + + + + + magic(inoindex, "getinode"); + return inoindex; +} + + + + + + + +int +getperm(cinode_t *ino) +{ + mode_t mode = ino->c_node.i_mode; + + if ((((udata_t *)Curproc->p_udata)->u_ptab->p_euid == 0)) + mode |= ((((mode) & 0170000 ) == 0020000 ) || (((mode) & 0170000 ) == 0060000 )) ? (mode >> 3) | (mode >> 6) : 07; + else { + if (ino->c_node.i_uid == ((udata_t *)Curproc->p_udata)->u_ptab->p_euid) mode >>= 6; + else if (ino->c_node.i_gid == ((udata_t *)Curproc->p_udata)->u_ptab->p_egid) mode >>= 3; + } + return (mode & 07); +} + + + + + + +void +setftim(cinode_t *ino, unsigned char flag) +{ + static time_t t; + + rdtime(&t); + if (flag & 1) ino->c_node.i_atime = t; + if (flag & 2) ino->c_node.i_mtime = t; + if (flag & 4) ino->c_node.i_ctime = t; + ino->c_dirty = 1; +} + + + + + + +int +fmount(dev_t dev, cinode_t *ino, bool_t roflag) +{ + char *buf; + register filesys_t **fspp, *fsp; + + + _dprintf(3, _("fmount(%d, 0x%x, %d) starting\n"), dev, ino, roflag); + + + + + + if (!validdev(dev,0)) { + + ((udata_t *)Curproc->p_udata)->u_error = 19 ; + goto Err1; + } + if (((uchar)((dev) >> 8)) >= 2 ) + goto Err; + + for (fspp = Fstab; fspp < Fstab + 1 ; fspp++) + { + fsp = *fspp; + if (fsp->s_mounted && fsp->s_dev == dev) + { + ((udata_t *)Curproc->p_udata)->u_error = 16 ; + goto Err1; + } + } + for (fspp = Fstab; fspp < Fstab + 1 ; fspp++) + { + fsp = *fspp; + if (fsp->s_mounted == 0) + { + goto Ok; + } + } + ((udata_t *)Curproc->p_udata)->u_error = 12 ; + goto Err1; + +Ok: + fsp->s_mounted = ~12742 ; + fsp->s_dev = dev; + + + + if (d_openclose(dev, 1) != 0) + _panic(_("fmount: can't open fs on 0x%x"), dev); + + + + + + buf = (char *)bread(dev, 4 , 0); + + + + if (buf == 0) goto Err1; + memcpy( fsp, buf, sizeof(filesys_t)); + + + + + fsp->s_ronly = roflag; + fsp->s_dev = dev; + fsp->s_fmod = 0; + + + + if (bfree((blkbuf_t *)buf, 0) < 0) goto Err1; + + + + + if (fsp->s_mounted != 12742 || fsp->s_isize >= fsp->s_fsize) { + fsp->s_mounted = 0; +Err: ((udata_t *)Curproc->p_udata)->u_error = 15 ; +Err1: + + _dprintf(3, _("fmount() returning -1, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return (-1); + } + + + + if ((fsp->s_mntpt = ino) != 0) + i_ref(ino); + + + _dprintf(3, _("fmount() returning 0, success\n"), ((udata_t *)Curproc->p_udata)->u_error); + + + + + return 0; +} + + + + + + +void +magic(cinode_t *ino, char *who) +{ + if (ino->c_magic != 24721 ) + _panic(_("%s: corrupted inode 0x%x"), who, ino); +} + + + + + + +void +i_sync(void) +{ + register cinode_t **inopp, *ino; + + + ++dirty_mask; + for (inopp = Inotab; inopp < Inotab + 5 ; inopp++) + { + ino = *inopp; + if (ino && ino->c_magic == 24721 && ino->c_dirty && + ino->c_refs > 0) + { + wr_inode(ino); + } + } + + --dirty_mask; + + bufsync(); +} + + + + + + +void +fs_sync(void) +{ + register filesys_t **fspp, *fsp; + register blkbuf_t *buf; + + + + + + for (fspp = Fstab; fspp < Fstab + 1 ; fspp++) + { + fsp = *fspp; + if (fsp->s_mounted && fsp->s_fmod) + { + + + buf = (blkbuf_t *)bread(fsp->s_dev, 4 , 0); + + + + if (buf) + { + fsp->s_fmod = 0; + memcpy( buf, fsp, sizeof(*fsp)); + if (bfree(buf, 1) < 0) + fsp->s_fmod = 1; + } + } + } + + bufsync(); +} + + + + + + + +void +inotab_garbage(int red) + { + register cinode_t **inopp, *ino; + + for (inopp = Inotab; inopp < Inotab + 5 ; inopp++) + { + ino = *inopp; + if (ino && ino->c_refs == 0) + { + *inopp = 0; + free(ino); + } + } + } + + + + diff --git a/src/nos/filesys/maxmin.i b/src/nos/filesys/maxmin.i new file mode 100644 index 00000000..03b13aff --- /dev/null +++ b/src/nos/filesys/maxmin.i @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + +int +max_int(a, b) + int a; + int b; +{ + return (a > b) ? a : b; +} + + + +long +max_long(a, b) + long a; + long b; +{ + return (a > b) ? a : b; +} + + + +unsigned int +max_uint(a, b) + unsigned int a; + unsigned int b; +{ + return (a > b) ? a : b; +} + + + +unsigned long +max_ulong(a, b) + unsigned long a; + unsigned long b; +{ + return (a > b) ? a : b; +} + + + +int +min_int(a, b) + int a; + int b; +{ + return (a < b) ? a : b; +} + + + +long +min_long(a, b) + long a; + long b; +{ + return (a < b) ? a : b; +} + + + +unsigned int +min_uint(a, b) + unsigned int a; + unsigned int b; +{ + return (a < b) ? a : b; +} + + + +unsigned long +min_ulong(a, b) + unsigned long a; + unsigned long b; +{ + return (a < b) ? a : b; +} + + diff --git a/src/nos/filesys/process.c b/src/nos/filesys/process.c index 183b8291..23c944dd 100644 --- a/src/nos/filesys/process.c +++ b/src/nos/filesys/process.c @@ -22,15 +22,7 @@ **********************************************************/ #include -#include -#include -#include -#include -#include "z80/asm.h" -#include "uzi/devio.h" -#include "uzi/rtc.h" -#include "uzi/filesys.h" -#include "uzi/xip.h" +#include #include "uzi/process.h" #include #include "po/messages.h" @@ -42,13 +34,19 @@ #ifndef MODULE #define MODULE_Ptab #define MODULE_udata -#define MODULE_p_init +#define MODULE_mainptab +#define MODULE_newptab +#define MODULE_delptab +#define MODULE_findprocess +#define MODULE_forkprocess +#define MODULE_allocatepid #define MODULE_panic #define MODULE__panic #define MODULE_valadr #define MODULE_dprintf #define MODULE_vdprintf #define MODULE_dputter +#define MODULE_ptab_garbage #endif #ifdef MODULE_Ptab @@ -56,44 +54,288 @@ ptab_t *Ptab[NPROGRAMS]; #endif /*RPB*/ -#if 0 -#ifdef MODULE_udata +#if 0 /*def MODULE_udata*/ udata_t *udata_p; #endif -#endif /*RPB*/ -/* new initialisation routine by Nick as Bufpool is now a sparse array */ -#ifdef MODULE_p_init +/* new initialisation routine by Nick */ +#ifdef MODULE_mainptab void -p_init(void) +mainptab(void) { - ptab_t **ptp, *pp; + ptab_t temp; + int i_state; - /* original UZI: */ - /* memset(Ptab, 0, NPROGRAMS * sizeof(ptab_t *)); */ + memset(&temp, 0, sizeof(ptab_t)); + Curptab = &temp; /* so that Curptab->p_debug == 0 */ - for (ptp = Ptab; ptp < Ptab + NPROGRAMS; ptp++) + temp.p_pptr = forkprocess(&temp); + if (temp.p_pptr == NULL) + { + _panic(_("mainptab()")); /* with Curptab == &temp */ + } + + Curptab = temp.p_pptr; /* will definitely succeed now */ + Curptab->p_pptr = Curptab; /* root process owns itself */ + + Curptab->p_cprio = MAXTICKS; + Curptab->p_umask = 022; + + memset(Curptab->p_files, -1, NUSERFILES); + + Curptab->p_pid = 1; + Curptab->p_status = P_RUNNING; + } +#endif + +/* new forking routines by Nick */ +#ifdef MODULE_newptab +ptab_t * +newptab(void) + { + ptab_t *pp; + int i, j; + static int nextpid; + int i_state; + +#if DEBUG >= 3 + _dprintf(3, _("newptab() starting\n")); +#endif + + pp = forkprocess(Curptab); + if (pp == NULL) { - pp = calloc(sizeof(ptab_t), 1); - if (pp == NULL) +#if DEBUG >= 3 + _dprintf(3, _("newptab() returning NULL, error %u\n"), udata->u_error); +#endif + return NULL; + } + + allocatepid(pp); /* search for an unused pid value */ + rdtime(&pp->p_time); /* record start time for process */ + + pp->p_utime = 0; + pp->p_stime = 0; + pp->p_cutime = 0; + pp->p_cstime = 0; /* clear tick counters */ + pp->p_pending = 0; /* don't process signals twice */ + + if (pp->p_root) + { + i_ref(pp->p_root); /* clone process's root */ + } + if (pp->p_cwd) + { + i_ref(pp->p_cwd); /* clone process's cwd */ + } + + for (i = 0; i < NUSERFILES; i++) + { + j = pp->p_files[i]; + if (freefileentry(j) == 0) { - _panic(_("p_init()")); + ++Oftab[j]->o_refs; /* clone an open fd */ } - *ptp = pp; } - pp = Ptab[0]; pp->p_status = P_RUNNING; -#if 0 - pp->p_pptr = pp; /* seems to have been NULL in the original */ - pp->p_fork_inf = udata->u_page; /* set for use in execve */ +#if DEBUG >= 3 + _dprintf(3, _("newptab() returning 0x%x, success\n"), pp); +#endif + return pp; + } #endif - pp->p_cprio = MAXTICKS; - pp->p_umask = 022; - /* User's file table */ - memset(pp->p_files, -1, NUSERFILES); +#ifdef MODULE_delptab +void +delptab(ptab_t *pp) + { + int i, j; + +#if DEBUG >= 3 + _dprintf(3, _("delptab() starting\n")); +#endif + if (pp->p_root) + { + i_deref(pp->p_root); /* free process's root */ + } + if (pp->p_cwd) + { + i_deref(pp->p_cwd); /* free process's cwd */ + } + + for (i = 0; i < NUSERFILES; i++) + { + j = pp->p_files[i]; + if (freefileentry(j) == 0) + { + oft_deref(j); /* free an open fd */ + } + } + + pp->p_status = P_EMPTY; +#if DEBUG >= 3 + _dprintf(3, _("delptab() returning, success\n")); +#endif + } +#endif + +#ifdef MODULE_findprocess +ptab_t * +findprocess(int pid) + { + register ptab_t **ptp, *pp; + int i_state; + +#if DEBUG >= 3 + _dprintf(3, _("findprocess(%d) starting\n"), pid); +#endif + + for (ptp = Ptab; ptp < Ptab + NPROGRAMS; ptp++) + { + i_state = dirps(); + pp = *ptp; + if (pp->p_pid == pid) + { + if (pp->p_uid == Curptab->p_uid || super()) + { + restore(i_state); +#if DEBUG >= 3 + _dprintf(3, _("findprocess() returning 0x%x, success\n"), pp); +#endif + return pp; + } + else + { + restore(i_state); + udata->u_error = EPERM; +#if DEBUG >= 3 + _dprintf(3, _("findprocess() returning NULL, error %u\n"), udata->u_error); +#endif + return NULL; + } + } + restore(i_state); + } + + udata->u_error = EINVAL; +#if DEBUG >= 3 + _dprintf(3, _("findprocess() returning NULL, error %u\n"), udata->u_error); +#endif + return NULL; + } +#endif + +#ifdef MODULE_forkprocess +ptab_t * +forkprocess(ptab_t *parent) + { + register ptab_t **ptp, *pp; + int i_state; + +#if DEBUG >= 3 + _dprintf(3, _("forkprocess(0x%x) starting\n"), parent); +#endif + + for (ptp = Ptab; ptp < Ptab + NPROGRAMS; ptp++) + { + i_state = dirps(); + pp = *ptp; + if (pp && pp->p_status == P_EMPTY) + { + goto found; + } + restore(i_state); + } + + pp = malloc(sizeof(ptab_t)); + if (pp == NULL) + { +/* abyte('a'); */ + goto error; + } + + for (ptp = Ptab; ptp < Ptab + NPROGRAMS; ptp++) + { + i_state = dirps(); + if (*ptp == NULL) + { + *ptp = pp; + goto found; + } + restore(i_state); + } + + free(pp); + +/* abyte('b'); */ +error: + /*udata->u_error = ENOMEM;*/ +#if DEBUG >= 3 + _dprintf(3, _("forkprocess() returning NULL, error %u\n"), udata->u_error); +#endif + return NULL; + +found: + memcpy(pp, parent, sizeof(ptab_t)); + pp->p_pptr = parent; /* just a shortcut to save work for caller */ + pp->p_threads = 1; /* just a shortcut to save work for caller */ + + pp->p_status == P_FORKING; /* means process shouldn't run yet */ + pp->p_pid = 0; /* invalid pid value means none allocated yet */ + + restore(i_state); +#if DEBUG >= 3 + _dprintf(3, _("forkprocess() returning 0x%x, success\n"), pp); +#endif + return pp; + } +#endif + +#ifdef MODULE_allocatepid +void +allocatepid(ptab_t *child) + { + static int nextpid = 0; + register ptab_t **ptp, *pp; + int i_state; + +#if DEBUG >= 3 + _dprintf(3, _("allocatepid(0x%x) starting\n"), child); +#endif + + while (1) /* loop until we find a unique pid */ + { + i_state = dirps(); + nextpid++; + if (nextpid >= 30000) + { + nextpid = 1; + } + child->p_pid = nextpid; /* publish our proposed new pid */ + restore(i_state); + + for (ptp = Ptab; ptp < Ptab + NPROGRAMS; ptp++) + { + i_state = dirps(); + pp = *ptp; + if (pp && pp != child && pp->p_pid == child->p_pid) + { + restore(i_state); + goto retry; + } + restore(i_state); + } + +#if DEBUG >= 3 + _dprintf(3, _("allocatepid() returning, success\n")); +#endif + return; /* the proposed pid was unique */ + + retry: + ; + } } #endif @@ -167,7 +409,7 @@ dprintf(int level, const char *format, ...) /* ahexw((unsigned int)udata_p); */ /* abyte(' '); */ - if (Ptab[0]->p_debugme < level) + if (Curptab->p_debugme < level) { return 0; } @@ -193,7 +435,7 @@ vdprintf(int level, const char *format, va_list arguments) chkstk(); } - if (Ptab[0]->p_debugme < level) + if (Curptab->p_debugme < level) { return 0; } @@ -232,3 +474,24 @@ dputter(void *ptr, unsigned int n, FILE *fp) } #endif +#ifdef MODULE_ptab_garbage +/* Ptab garbage collection - called by storage allocator when free space + * runs low. Zaps process table entries with 0 reference count (P_EMPTY). + */ +void +ptab_garbage(int red) + { + register ptab_t **ptp, *pp; + + for (ptp = Ptab; ptp < Ptab + NPROGRAMS; ptp++) + { + pp = *ptp; + if (pp && pp->p_status == P_EMPTY) + { + *ptp = NULL; + free(pp); + } + } + } +#endif + diff --git a/src/nos/filesys/process.i b/src/nos/filesys/process.i new file mode 100644 index 00000000..febbe9f5 --- /dev/null +++ b/src/nos/filesys/process.i @@ -0,0 +1,2641 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int sys_nerr; + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *strerror (int _errno); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ptab_t *Ptab[20 ]; + + + + + + + + + + +void +mainptab(void) + { + ptab_t temp; + int i_state; + + memset(&temp, 0, sizeof(ptab_t)); + Curptab = &temp; + + temp.p_pptr = forkprocess(&temp); + if (temp.p_pptr == 0) + { + _panic(_("mainptab()")); + } + + Curptab = temp.p_pptr; + Curptab->p_pptr = Curptab; + + Curptab->p_cprio = 4 ; + Curptab->p_umask = 022; + + memset(Curptab->p_files, -1, 10 ); + + Curptab->p_pid = 1; + Curptab->p_status = 3 ; + } + + + + +ptab_t * +newptab(void) + { + ptab_t *pp; + int i, j; + static int nextpid; + int i_state; + + + _dprintf(3, _("newptab() starting\n")); + + + pp = forkprocess(Curptab); + if (pp == 0) + { + + _dprintf(3, _("newptab() returning NULL, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return 0; + } + + allocatepid(pp); + rdtime(&pp->p_time); + + pp->p_utime = 0; + pp->p_stime = 0; + pp->p_cutime = 0; + pp->p_cstime = 0; + pp->p_pending = 0; + + if (pp->p_root) + { + i_ref(pp->p_root); + } + if (pp->p_cwd) + { + i_ref(pp->p_cwd); + } + + for (i = 0; i < 10 ; i++) + { + j = pp->p_files[i]; + if (((j) & 0x80) == 0) + { + ++Oftab[j]->o_refs; + } + } + + pp->p_status = 3 ; + + _dprintf(3, _("newptab() returning 0x%x, success\n"), pp); + + return pp; + } + + + +void +delptab(ptab_t *pp) + { + int i, j; + + + _dprintf(3, _("delptab() starting\n")); + + if (pp->p_root) + { + i_deref(pp->p_root); + } + if (pp->p_cwd) + { + i_deref(pp->p_cwd); + } + + for (i = 0; i < 10 ; i++) + { + j = pp->p_files[i]; + if (((j) & 0x80) == 0) + { + oft_deref(j); + } + } + + pp->p_status = 0 ; + + _dprintf(3, _("delptab() returning, success\n")); + + } + + + +ptab_t * +findprocess(int pid) + { + register ptab_t **ptp, *pp; + int i_state; + + + _dprintf(3, _("findprocess(%d) starting\n"), pid); + + + for (ptp = Ptab; ptp < Ptab + 20 ; ptp++) + { + i_state = dirps(); + pp = *ptp; + if (pp->p_pid == pid) + { + if (pp->p_uid == Curptab->p_uid || (((udata_t *)Curproc->p_udata)->u_ptab->p_euid == 0)) + { + restore(i_state); + + _dprintf(3, _("findprocess() returning 0x%x, success\n"), pp); + + return pp; + } + else + { + restore(i_state); + ((udata_t *)Curproc->p_udata)->u_error = 1 ; + + _dprintf(3, _("findprocess() returning NULL, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return 0; + } + } + restore(i_state); + } + + ((udata_t *)Curproc->p_udata)->u_error = 22 ; + + _dprintf(3, _("findprocess() returning NULL, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return 0; + } + + + +ptab_t * +forkprocess(ptab_t *parent) + { + register ptab_t **ptp, *pp; + int i_state; + + + _dprintf(3, _("forkprocess(0x%x) starting\n"), parent); + + + for (ptp = Ptab; ptp < Ptab + 20 ; ptp++) + { + i_state = dirps(); + pp = *ptp; + if (pp && pp->p_status == 0 ) + { + goto found; + } + restore(i_state); + } + + pp = malloc(sizeof(ptab_t)); + if (pp == 0) + { + + goto error; + } + + for (ptp = Ptab; ptp < Ptab + 20 ; ptp++) + { + i_state = dirps(); + if (*ptp == 0) + { + *ptp = pp; + goto found; + } + restore(i_state); + } + + free(pp); + + +error: + + + _dprintf(3, _("forkprocess() returning NULL, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return 0; + +found: + memcpy(pp, parent, sizeof(ptab_t)); + pp->p_pptr = parent; + pp->p_threads = 1; + + pp->p_status == 2 ; + pp->p_pid = 0; + + restore(i_state); + + _dprintf(3, _("forkprocess() returning 0x%x, success\n"), pp); + + return pp; + } + + + +void +allocatepid(ptab_t *child) + { + static int nextpid = 0; + register ptab_t **ptp, *pp; + int i_state; + + + _dprintf(3, _("allocatepid(0x%x) starting\n"), child); + + + while (1) + { + i_state = dirps(); + nextpid++; + if (nextpid >= 30000) + { + nextpid = 1; + } + child->p_pid = nextpid; + restore(i_state); + + for (ptp = Ptab; ptp < Ptab + 20 ; ptp++) + { + i_state = dirps(); + pp = *ptp; + if (pp && pp != child && pp->p_pid == child->p_pid) + { + restore(i_state); + goto retry; + } + restore(i_state); + } + + + _dprintf(3, _("allocatepid() returning, success\n")); + + return; + + retry: + ; + } + } + + + +int +panic(char *message, ...) +{ + va_list arguments; + + _dprintf(0, _("\npanic: ")); + ((arguments) = (char *)&( message) + ((sizeof( message) + (2 - 1)) & ~(2 - 1))); + vdprintf(0, message, arguments); + ; + exit(1); + } + + + +int +_panic(_char *message, ...) +{ + va_list arguments; + + _dprintf(0, _("\npanic: ")); + ((arguments) = (char *)&( message) + ((sizeof( message) + (2 - 1)) & ~(2 - 1))); + _vdprintf(0, message, arguments); + ; + exit(1); + } + + + +int +valadr(void *base, size_t size) +{ + + void *limit; + + if (base < (void *)(0x1000+0x100)) + { + goto Err; + } + + limit = (void *)((size_t)base + size); + if (limit < base || limit > (void *)0xf000) + { +Err: ((udata_t *)Curproc->p_udata)->u_error = 14 ; + return 0; + } + + + return 1; + } + + + +extern int systrace_limit; + +int +dprintf(int level, const char *format, ...) + { + va_list arguments; + int result; + + if (Stkchk) + { + chkstk(); + } + + + + + + if (Curptab->p_debugme < level) + { + return 0; + } + + ((arguments) = (char *)&( format) + ((sizeof( format) + (2 - 1)) & ~(2 - 1))); + result = __vprinter(dputter, 0, (char *)format, arguments); + + ; + + + + + return result; + } + + + +int +vdprintf(int level, const char *format, va_list arguments) + { + if (Stkchk) + { + chkstk(); + } + + if (Curptab->p_debugme < level) + { + return 0; + } + + return __vprinter(dputter, 0, (char *)format, arguments); + + } + + + + +unsigned int +dputter(void *ptr, unsigned int n, FILE *fp) + { + unsigned char ch, *p, *q; + + if (Stkchk) + { + chkstk(); + } + + q = (unsigned char *)ptr + n; + for (p = (unsigned char *)ptr; p < q; p++) + { + ch = *p; + if (ch == '\n') + { + acrlf(); + } + else + { + abyte(ch); + } + } + return n; + } + + + + + + +void +ptab_garbage(int red) + { + register ptab_t **ptp, *pp; + + for (ptp = Ptab; ptp < Ptab + 20 ; ptp++) + { + pp = *ptp; + if (pp && pp->p_status == 0 ) + { + *ptp = 0; + free(pp); + } + } + } + + diff --git a/src/nos/filesys/rtc.c b/src/nos/filesys/rtc.c index febf9a99..cae4462f 100644 --- a/src/nos/filesys/rtc.c +++ b/src/nos/filesys/rtc.c @@ -21,9 +21,6 @@ Real time clock I/O routines **********************************************************/ -#include -#include -#include "z80/asm.h" #include "uzi/rtc.h" #include "nos/global.h" diff --git a/src/nos/filesys/rtc.i b/src/nos/filesys/rtc.i new file mode 100644 index 00000000..72f65c2a --- /dev/null +++ b/src/nos/filesys/rtc.i @@ -0,0 +1,962 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + +void +rdtime(rtctime_t *tvec) + { + *tvec = Clock; + } + + + +void +sttime(rtctime_t *tvec) + { + Clock = *tvec; + } + + diff --git a/src/nos/filesys/scall1.c b/src/nos/filesys/scall1.c index de18c6fb..ec12d244 100644 --- a/src/nos/filesys/scall1.c +++ b/src/nos/filesys/scall1.c @@ -21,16 +21,8 @@ **********************************************************/ #include -#include -#include -#include -#include -#include -#include -#include "z80/asm.h" -#include "uzi/devio.h" -#include "uzi/rtc.h" -#include "uzi/filesys.h" +#include /* for O_RDWR and others */ +#include /* for S_IFMT and others */ #include "uzi/xip.h" #include "uzi/process.h" #include "uzi/maxmin.h" @@ -1564,7 +1556,7 @@ scall1_getfsys(dev_t devno, info_t *buf) case GI_FTAB: cnt = NMOUNTS; ptr = Fstab; break; case GI_ITAB: cnt = NINODES; ptr = Inotab; break; case GI_BTAB: cnt = NBLKBUFS; ptr = Bufpool; break; - case GI_PTAB: cnt = NPROGRAMS; ptr = Ptab; break; + case GI_PTAB: cnt = NPROGRAMS; ptr = NULL; /*Ptab;*/ break; case GI_UDAT: cnt = 1; ptr = udata; break; case GI_UTAB: cnt = 1; ptr = udata->u_ptab; break; #if 0 /* FIX THIS! */ diff --git a/src/nos/filesys/scall1.i b/src/nos/filesys/scall1.i new file mode 100644 index 00000000..fbc28355 --- /dev/null +++ b/src/nos/filesys/scall1.i @@ -0,0 +1,4015 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int sys_nerr; + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *strerror (int _errno); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int ioctl (int fd, int request, ...); +extern int open (const char *name, int flag, ...); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int xip_align(cinode_t *ino, off_t size); +int xip_ualign(cinode_t *ino, off_t size); +blkno_t *xip_examine(filesys_t *dev, cinode_t *ino, off_t size, + blkno_t *regioncount, blkno_t *blockcount); +blkno_t xip_align_chase(filesys_t *dev, cinode_t *ino, blkno_t blk, + blkno_t pos, blkno_t *region, blkno_t regions, blkno_t blocks); +blkno_t xip_align_bmap(cinode_t *ino, blkno_t newno, blkno_t pos); +blkno_t xip_align_reverse(blkno_t blk, + blkno_t *region, blkno_t regions, blkno_t blocks); +blkno_t xip_align_recurse(filesys_t *dev, cinode_t *ino, int exclude, + blkno_t *parent, char *dirty, + int indirection, blkno_t *region, + blkno_t regions, blkno_t blocks); +blkno_t xip_search(dev_t devno, int size, blkno_t start, blkno_t final); +int xip_reserve(dev_t devno, blkno_t blk, int size, int flag, + blkno_t start, blkno_t final); +blkno_t xip_find(dev_t devno, blkno_t blk, int flag, int toggle, + blkno_t start, blkno_t final); +int xip_get(dev_t devno, blkno_t blk, blkno_t start, blkno_t final); +int xip_set(dev_t devno, blkno_t blk, int flag, + blkno_t start, blkno_t final); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void *usrget(void *dest, const void *src, size_t count); +int usrget_int(const void *src); +void *usrget_str(void *dest, const void *src, size_t count); +void *usrput(void *dest, const void *src, size_t count); +void usrput_int(void *dest, int value); + + + + + + + + + + + + +typedef struct s_pdata { + int u_pid; + void *u_ptab; + unsigned char u_name[14 ]; + + + unsigned char u_insys; + unsigned char u_callno; + unsigned char u_traceme; + + + unsigned char u_uid; + unsigned char u_gid; + unsigned char u_euid; + unsigned char u_egid; + time_t u_time; + + + signal_t u_cursig; + + + time_t u_utime; + time_t u_stime; +}; + + +typedef struct s_kdata { + unsigned char k_name[14]; + unsigned char k_version[8]; + unsigned char k_release[8]; + + unsigned char k_host[14]; + unsigned char k_machine[8]; + + int k_tmem; + int k_kmem; +}; + + +typedef enum { + GI_PTAB = -1, + GI_ITAB = -2, + GI_BTAB = -3, + GI_FTAB = -4, + GI_UDAT = -5, + GI_UTAB = -6, + GI_PDAT = -7, + GI_KDAT = -8 +} getinfo_t; + + + + + + + + + + + +struct swap_mmread { + unsigned char mm[2]; + unsigned int offset; + unsigned int size; + unsigned char *buf; +}; + +typedef struct { + getinfo_t req; + size_t size; + void *ptr; +} info_t; + + + + + + + + + + + + + + + +typedef struct + { + unsigned char k_name[14]; + unsigned char k_version[8]; + unsigned char k_release[8]; + + unsigned char k_host[14]; + unsigned char k_machine[8]; + + unsigned int k_tmem; + unsigned int k_kmem; + } kdata_t; + + + + + +int sys_sync(void); +int sys_utime(void); +int sys_close(void); +void truncateto0(cinode_t *ino); +int sys_open(void); +int sys_link(void); +int sys_symlink(void); +int sys_unlink(void); +int sys_readwrite(void); +off_t sys_lseek(void); +int sys_chdir(void); +int sys_chroot(void); +int sys_mknod(void); +int sys_access(void); +int sys_chmod(void); +int sys_chown(void); + +int sys_statfstat(void); +int sys_falign(void); +int sys_dup(void); +int sys_dup2(void); +int sys_getfsys(void); +int sys_ioctl(void); +int sys_mountumount(void); +time_t sys_time(void); + +void readwritei(char write, cinode_t *ino); +cinode_t *rwsetup(unsigned char fd, void *base, + unsigned int cnt, unsigned char rdflag); +int pdat(struct s_pdata *ubuf); +int scall1_getfsys(dev_t devno, info_t *buf); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +static info_t ibuf; + + +static kdata_t kbuf; + + +static int chany(char *path, int val1, int val2, unsigned char mode); +static void stcpy(cinode_t *ino, struct stat *buf); +static cinode_t *n_creat(char *name, unsigned char new, mode_t mode); + + + + + + +int +sys_NONE(void) +{ + ((udata_t *)Curproc->p_udata)->u_error = 38 ; + return -1; +} + + + + + + + +int +sys_sync(void) +{ + i_sync(); + fs_sync(); + + return 0; +} + + + + + + + + +int +sys_utime(void) +{ + struct utimbuf lcl, *bufp = ((struct utimbuf *)((udata_t *)Curproc->p_udata)->u_argn1); + register cinode_t *ino; + + if ((char *)((udata_t *)Curproc->p_udata)->u_argn0 == 0) { + ((udata_t *)Curproc->p_udata)->u_error = 14 ; +Err: return -1; + } + if (bufp == 0) { + bufp = &lcl; + rdtime(&bufp->actime); + memcpy( &bufp->modtime, &bufp->actime, sizeof(time_t)); + } + + else + { + ((void)usrget( (char *)&lcl, (char *)bufp, sizeof(struct utimbuf)), 0); + bufp = &lcl; + } + + if ((ino = namei((char *)((udata_t *)Curproc->p_udata)->u_argn0, 0, 1)) == 0) + goto Err; + if (ino->c_node.i_uid != ((udata_t *)Curproc->p_udata)->u_ptab->p_euid && !(((udata_t *)Curproc->p_udata)->u_ptab->p_euid == 0)) { + ((udata_t *)Curproc->p_udata)->u_error = 1 ; + goto Err1; + } + if (ino->c_ro) { + ((udata_t *)Curproc->p_udata)->u_error = 30 ; +Err1: i_deref(ino); + goto Err; + } + memcpy( &ino->c_node.i_atime, &bufp->actime, sizeof(time_t)); + memcpy( &ino->c_node.i_mtime, &bufp->modtime, sizeof(time_t)); + ino->c_dirty=1; + i_deref(ino); + return 0; +} + + + + + + + + + +int +sys_close(void) +{ + return filesys_doclose((unsigned int)((udata_t *)Curproc->p_udata)->u_argn0); +} + + + + + + +void +truncateto0(cinode_t *ino) + { + register oft_t **opp, *op; + + + if (((((ino->c_node.i_mode) & 0170000 ) == 0100000 ) || (((ino->c_node.i_mode) & 0170000 ) == 0120000 ))) + + + + { + + ino->c_node.i_size = 0; + f_trunc(ino); + + for (opp = Oftab; opp < Oftab + 15 ; opp++) + { + op = *opp; + if (op->o_inode == ino) + op->o_ptr = 0; + } + } + } + + + + + + + + + +int +sys_open(void) +{ + oft_t *of; + off_t *op; + register cinode_t *ino; + register int spf = (int)((udata_t *)Curproc->p_udata)->u_argn1; + unsigned char perm, oftindex, uindex; + + if (((int)((udata_t *)Curproc->p_udata)->u_argn1 &= 0xFF) > 2) { + ((udata_t *)Curproc->p_udata)->u_error = 22 ; + goto Err1; + } + if (spf & 0x0800 ) + spf = 0x0800 ; + if ((uindex = uf_alloc()) == (unsigned char)-1 || + (oftindex = oft_alloc()) == (unsigned char)-1) + goto Err1; + if ((spf & 0x0400 ) || + (ino = namei((char *)((udata_t *)Curproc->p_udata)->u_argn0, 0, !(spf & 0x0800 ))) == 0) { + if (!(spf & 0x0100 )) + goto Err; + ((udata_t *)Curproc->p_udata)->u_argn2 = (0100000 | (((udata_t *)Curproc->p_udata)->u_argn2 & 07777 & ~((udata_t *)Curproc->p_udata)->u_ptab->p_umask)); + ((udata_t *)Curproc->p_udata)->u_error = 0; + if ((ino = n_creat((char *)((udata_t *)Curproc->p_udata)->u_argn0, (spf & 0x0400 ) != 0, ((udata_t *)Curproc->p_udata)->u_argn2)) == 0) + + + + + + + goto Err; + + } + + + + + + + of = Oftab[oftindex]; + + + + + + + + + + + of->o_inode = ino; + perm = getperm(ino); + if (((((unsigned char)(int)((udata_t *)Curproc->p_udata)->u_argn1 == 0) || + (unsigned char)(int)((udata_t *)Curproc->p_udata)->u_argn1 == 2) && + !((unsigned char)perm & 0004 )) || + (((unsigned char)(int)((udata_t *)Curproc->p_udata)->u_argn1 == 1 || + (unsigned char)(int)((udata_t *)Curproc->p_udata)->u_argn1 == 2) && + !((unsigned char)perm & 0002 ))) { + ((udata_t *)Curproc->p_udata)->u_error = 1 ; + goto Err; + } + if (((unsigned char)(int)((udata_t *)Curproc->p_udata)->u_argn1 == 1 || + (unsigned char)(int)((udata_t *)Curproc->p_udata)->u_argn1 == 2) && + (ino->c_ro)) { + ((udata_t *)Curproc->p_udata)->u_error = 30 ; + goto Err; + } + if ((spf & 0x0800 ) && ((((ino)->c_node.i_mode) & 0170000 )) != 0110000 ) { + ((udata_t *)Curproc->p_udata)->u_error = 3 ; + goto Err; + } + if (((((ino)->c_node.i_mode) & 0170000 )) == 0040000 && + (int)((udata_t *)Curproc->p_udata)->u_argn1 != 0) { + ((udata_t *)Curproc->p_udata)->u_error = 21 ; + goto Err; + } + if (isdevice(ino) && + + ino->c_refs == 1 && + + + d_openclose(((dev_t)((ino)->c_node.i_addr[0])), 1) != 0) { + ((udata_t *)Curproc->p_udata)->u_error = 6 ; + goto Err; + } + ((udata_t *)Curproc->p_udata)->u_ptab->p_files[uindex] = oftindex; + op = &(of->o_ptr); + if (spf & 0x2000 ) + *op = ino->c_node.i_size; + else *op = 0; + + if ((spf & (0x0100 |0x0200 )) == (0x0100 |0x0200 )) truncateto0(ino); + of->o_access = (int)((udata_t *)Curproc->p_udata)->u_argn1; + if (((((ino)->c_node.i_mode) & 0170000 )) == 0010000 && of->o_refs == 1) + kwait(ino); + return uindex; + +Err: oft_deref(oftindex); +Err1: return (-1); +} + + + + + + + + + + + +int +sys_link(void) +{ + register cinode_t *ino, *ino2; + cinode_t *parent2 = 0; + int ret = -1; + + char fname[15]; + + + if ((ino = namei((char *)((udata_t *)Curproc->p_udata)->u_argn0, 0, 1)) == 0) + goto Err1; + if (!(getperm(ino) & 0002 )) { + ((udata_t *)Curproc->p_udata)->u_error = 1 ; + goto Err; + } + + if ((ino2 = namei((char *)((udata_t *)Curproc->p_udata)->u_argn1, &parent2, 1)) != 0) { + i_deref(ino2); + ((udata_t *)Curproc->p_udata)->u_error = 17 ; + goto Err; + } + if (parent2 == 0) + goto Err; + if (ino->c_dev != parent2->c_dev) { + ((udata_t *)Curproc->p_udata)->u_error = 18 ; + goto Err; + } + + filename((char *)((udata_t *)Curproc->p_udata)->u_argn1, fname); + if (ch_link(parent2, "", fname, ino) == 0) + + + + goto Err; + + ++ino->c_node.i_nlink; + if (wr_inode(ino) < 0) goto Err; + setftim(ino, 4); + ret = 0; +Err: if (parent2 != 0) + i_deref(parent2); + i_deref(ino); +Err1: return ret; +} + + + + + + + + + + +int +sys_symlink(void) +{ + register cinode_t *ino = 0; + int ret = -1; + mode_t mode = 0100000 | (0666 & ~((udata_t *)Curproc->p_udata)->u_ptab->p_umask); + + char *p; + + + + if ((ino = n_creat((char *)((udata_t *)Curproc->p_udata)->u_argn1, 1, mode)) == 0) + goto Ret; + + ((udata_t *)Curproc->p_udata)->u_offset = 0; + ((udata_t *)Curproc->p_udata)->u_count = 0; + ((udata_t *)Curproc->p_udata)->u_base = (unsigned char *)(char *)((udata_t *)Curproc->p_udata)->u_argn0; + + p = (char *)((udata_t *)Curproc->p_udata)->u_argn0; + while ((usrget_int(p) & 0xff)) + { + p++; + ((udata_t *)Curproc->p_udata)->u_count++; + } + + + + + + ((udata_t *)Curproc->p_udata)->u_sysio = 0; + + readwritei(1, ino); + + ino->c_node.i_mode = (mode & 07777 ) | 0110000 ; + if (wr_inode(ino) < 0) goto Ret; + ret = 0; +Ret: if (ino != 0) i_deref(ino); + return ret; +} + + + + + + + + + +int +sys_unlink(void) +{ + cinode_t *pino; + register cinode_t *ino = namei((char *)((udata_t *)Curproc->p_udata)->u_argn0, &pino, 0); + int ret = -1; + + char fname[15]; + + + if (pino == 0 || ino == 0) { + ((udata_t *)Curproc->p_udata)->u_error = 2 ; + goto Ret; + } + if (!(getperm(ino) & 0002 )) { + ((udata_t *)Curproc->p_udata)->u_error = 1 ; + goto Ret; + } + + + filename((char *)((udata_t *)Curproc->p_udata)->u_argn0, fname); + if (ch_link(pino, fname, "", 0) == 0) + + + + goto Ret; + + if (ino->c_node.i_nlink-- == 0) + _printf(_("_unlink: bad nlink %d"),ino->c_node.i_nlink += 2); + setftim(ino, 4); + ret = 0; +Ret: if (pino) i_deref(pino); + if (ino) i_deref(ino); + return ret; +} + + + + + + + + + + + + +int +sys_readwrite(void) +{ + register cinode_t *ino; + + + if ((ino = rwsetup((unsigned int)((udata_t *)Curproc->p_udata)->u_argn0, (void *)((udata_t *)Curproc->p_udata)->u_argn1, (unsigned int)((udata_t *)Curproc->p_udata)->u_argn2, (((udata_t *)Curproc->p_udata)->u_callno == 23))) == 0) + return (-1); + if ((unsigned int)((udata_t *)Curproc->p_udata)->u_argn2) + if ((((udata_t *)Curproc->p_udata)->u_callno == 23)) readwritei(0, ino); else readwritei(1, ino); + Oftab[((udata_t *)Curproc->p_udata)->u_ptab->p_files[(unsigned int)((udata_t *)Curproc->p_udata)->u_argn0]]->o_ptr = ((udata_t *)Curproc->p_udata)->u_offset; + return ((udata_t *)Curproc->p_udata)->u_count; +} + + + + + + + + + + + + +off_t +sys_lseek(void) +{ + register off_t* offp; + register cinode_t *ino; + + if ((ino = getinode((unsigned char)((udata_t *)Curproc->p_udata)->u_argn0)) == 0) { +Err1: ((udata_t *)Curproc->p_udata)->u_retval1 = (-1); + return (-1); + } + if (((((ino)->c_node.i_mode) & 0170000 )) == 0010000 ) { + ((udata_t *)Curproc->p_udata)->u_error = 29 ; + goto Err1; + } + offp = &Oftab[((udata_t *)Curproc->p_udata)->u_ptab->p_files[(unsigned char)((udata_t *)Curproc->p_udata)->u_argn0]]->o_ptr; + switch ((int)((udata_t *)Curproc->p_udata)->u_argn3) { + case 0: *offp = *((off_t *)&((udata_t *)Curproc->p_udata)->u_argn1); break; + case 1: *offp += *((off_t *)&((udata_t *)Curproc->p_udata)->u_argn1); break; + case 2: *offp = ino->c_node.i_size + *((off_t *)&((udata_t *)Curproc->p_udata)->u_argn1); break; + default: + ((udata_t *)Curproc->p_udata)->u_error = 22 ; + goto Err1; + } + ((udata_t *)Curproc->p_udata)->u_retval1 = ((unsigned int *)offp)[1]; + return *offp; +} + + + + + + + + + + +int +sys_chdir(void) +{ + register cinode_t *newcwd; + + if ((newcwd = namei((char *)((udata_t *)Curproc->p_udata)->u_argn0, 0, 1)) == 0) +Err1: return (-1); + if (((((newcwd)->c_node.i_mode) & 0170000 )) != 0040000 ) { + i_deref(newcwd); + ((udata_t *)Curproc->p_udata)->u_error = 20 ; + goto Err1; + } + if (!(getperm(newcwd) & 0001 )) { + ((udata_t *)Curproc->p_udata)->u_error = 1 ; + goto Err1; + } + i_deref(((udata_t *)Curproc->p_udata)->u_ptab->p_cwd); + ((udata_t *)Curproc->p_udata)->u_ptab->p_cwd = newcwd; + return 0; +} + + + + + + + + +int +sys_chroot(void) +{ + if (sys_chdir() == 0) { + i_deref(((udata_t *)Curproc->p_udata)->u_ptab->p_root); + ((udata_t *)Curproc->p_udata)->u_ptab->p_root = ((udata_t *)Curproc->p_udata)->u_ptab->p_cwd; + i_ref(((udata_t *)Curproc->p_udata)->u_ptab->p_root); + return 0; + } + return -1; +} + + + + + + + + + + +int +sys_mknod(void) +{ + register cinode_t *ino; + + (int)((udata_t *)Curproc->p_udata)->u_argn1 &= ((~((udata_t *)Curproc->p_udata)->u_ptab->p_umask & 07777 ) | 0170000 ); + if ((((((int)((udata_t *)Curproc->p_udata)->u_argn1) & 0170000 ) == 0020000 ) || ((((int)((udata_t *)Curproc->p_udata)->u_argn1) & 0170000 ) == 0060000 )) && !(((udata_t *)Curproc->p_udata)->u_ptab->p_euid == 0)) { + ((udata_t *)Curproc->p_udata)->u_error = 1 ; +Err1: return -1; + } + if ((ino = n_creat((char *)((udata_t *)Curproc->p_udata)->u_argn0, 1, (int)((udata_t *)Curproc->p_udata)->u_argn1)) == 0) + goto Err1; + + if (isdevice(ino)) { + ((dev_t)((ino)->c_node.i_addr[0])) = (dev_t)((udata_t *)Curproc->p_udata)->u_argn2; + ino->c_dirty = 1; + } + if (wr_inode(ino) < 0) { + i_deref(ino); + goto Err1; + } + i_deref(ino); + return 0; +} + + + + + + + + + +int +sys_access(void) +{ + register cinode_t *ino; + register int retval = -1; + unsigned char euid, egid; + + + + + if (((int)((udata_t *)Curproc->p_udata)->u_argn1 &= 07) != 0 && (usrget_int((char *)((udata_t *)Curproc->p_udata)->u_argn0) & 0xff) == 0) { + + + + ((udata_t *)Curproc->p_udata)->u_error = 2 ; + goto Err1; + } + + euid = ((udata_t *)Curproc->p_udata)->u_ptab->p_euid; + egid = ((udata_t *)Curproc->p_udata)->u_ptab->p_egid; + ((udata_t *)Curproc->p_udata)->u_ptab->p_euid = ((udata_t *)Curproc->p_udata)->u_ptab->p_uid; + ((udata_t *)Curproc->p_udata)->u_ptab->p_egid = ((udata_t *)Curproc->p_udata)->u_ptab->p_gid; + + if ((ino = namei((char *)((udata_t *)Curproc->p_udata)->u_argn0, 0, 1)) == 0) + goto Err; + retval = 0; + if ((~getperm(ino) & (int)((udata_t *)Curproc->p_udata)->u_argn1) != 0) { + ((udata_t *)Curproc->p_udata)->u_error = 1 ; + retval = -1; + } + i_deref(ino); +Err: ((udata_t *)Curproc->p_udata)->u_ptab->p_euid = euid; + ((udata_t *)Curproc->p_udata)->u_ptab->p_egid = egid; +Err1: return retval; +} + + + + + + +static int +chany(char *path, int val1, int val2, unsigned char mode) +{ + register cinode_t *ino; + + if ((ino = namei(path, 0, 1)) == 0) + goto Err1; + if (ino->c_node.i_uid != ((udata_t *)Curproc->p_udata)->u_ptab->p_euid && !(((udata_t *)Curproc->p_udata)->u_ptab->p_euid == 0)) { + i_deref(ino); + ((udata_t *)Curproc->p_udata)->u_error = 1 ; +Err1: return (-1); + } + if (mode) { + + ino->c_node.i_mode &= 0170000 ; + ino->c_node.i_mode = (ino->c_node.i_mode | + ((mode_t)val1 & 07777 )); + } + else { + ino->c_node.i_uid = val1; + ino->c_node.i_gid = val2; + } + setftim(ino, 4); + i_deref(ino); + return 0; +} + + + + + + + + +int +sys_chmod(void) +{ + return chany((char *)((udata_t *)Curproc->p_udata)->u_argn0, (int)(mode_t)((udata_t *)Curproc->p_udata)->u_argn1, 0, 1); +} + + + + + + + + + + + +int +sys_chown(void) +{ + return chany((char *)((udata_t *)Curproc->p_udata)->u_argn0, (unsigned char)((udata_t *)Curproc->p_udata)->u_argn1, (unsigned char)((udata_t *)Curproc->p_udata)->u_argn2, 0); +} + + + + + + + + + +static void +stcpy(cinode_t *ino, struct stat *buf) +{ + + if (((udata_t *)Curproc->p_udata)->u_insys) + { + buf->st_dev = ino->c_dev; + buf->st_ino = ino->c_num; + buf->st_mode = ino->c_node.i_mode; + buf->st_nlink = ino->c_node.i_nlink; + buf->st_uid = ino->c_node.i_uid; + buf->st_gid = ino->c_node.i_gid; + buf->st_rdev = ((dev_t)((ino)->c_node.i_addr[0])); + buf->st_size = ino->c_node.i_size; + memcpy(&buf->st_atime, &ino->c_node.i_atime, + 3 * sizeof(unsigned long)); + } + else + { + (usrput_int( &buf->st_dev, ino->c_dev), 0); + (usrput_int( &buf->st_ino, ino->c_num), 0); + (usrput_int( &buf->st_mode, ino->c_node.i_mode), 0); + (usrput_int( &buf->st_nlink, ino->c_node.i_nlink), 0); + (usrput_int( &buf->st_uid, ino->c_node.i_uid), 0); + (usrput_int( &buf->st_gid, ino->c_node.i_gid), 0); + (usrput_int( &buf->st_rdev, ((dev_t)((ino)->c_node.i_addr[0]))), 0); + ((void)usrput( &buf->st_size, &ino->c_node.i_size, sizeof(off_t)), 0); + ((void)usrput( &buf->st_atime, &ino->c_node.i_atime, + 3 * sizeof(unsigned long)), 0); + } +} + + + + + + + + + + + +int +sys_statfstat(void) +{ + register cinode_t *ino; + + + + + + + + + + if (!valadr((char *)((udata_t *)Curproc->p_udata)->u_argn1, sizeof(struct stat))) + { + + goto Err; + } + + + + + + + if ((((udata_t *)Curproc->p_udata)->u_callno == 27)) + { + if ((ino = namei((char *)((udata_t *)Curproc->p_udata)->u_argn0, 0, 1)) == 0) + { + + goto Err; + } + } + else if ((ino = getinode((unsigned char)((udata_t *)Curproc->p_udata)->u_argn0)) == 0) + { + + + + + + + + + +Err: + + + + + + ((udata_t *)Curproc->p_udata)->u_error = 2 ; + + return -1; + } + stcpy(ino, (struct stat *)(char *)((udata_t *)Curproc->p_udata)->u_argn1); + if ((((udata_t *)Curproc->p_udata)->u_callno == 27)) i_deref(ino); + + + + + return (0); +} + + + + + + + + + + +int +sys_falign(void) +{ + cinode_t *ino; + + ino = getinode((unsigned char)((udata_t *)Curproc->p_udata)->u_argn0); + if (ino == 0) + { + return -1; + } + + switch ((int)((udata_t *)Curproc->p_udata)->u_argn1) + { + case 0: + return bitmap_align(ino, ino->c_node.i_size); + + case 1: + return bitmap_ualign(ino, ino->c_node.i_size); + } + + return -1; +} + + + + + + + + + +int +sys_dup(void) +{ + register unsigned char newd, oftindex; + + if (getinode((unsigned char)((udata_t *)Curproc->p_udata)->u_argn0) == 0 || + (newd = uf_alloc()) == (unsigned char)-1) + return (-1); + oftindex = ((udata_t *)Curproc->p_udata)->u_ptab->p_files[(unsigned char)((udata_t *)Curproc->p_udata)->u_argn0]; + ((udata_t *)Curproc->p_udata)->u_ptab->p_files[newd] = oftindex; + ++Oftab[oftindex]->o_refs; + return newd; +} + + + + + + + + + +int +sys_dup2(void) +{ + if (getinode((unsigned char)((udata_t *)Curproc->p_udata)->u_argn0) == 0) + goto Err1; + if ((unsigned char)((udata_t *)Curproc->p_udata)->u_argn1 >= 10 ) { + ((udata_t *)Curproc->p_udata)->u_error = 9 ; +Err1: return (-1); + } + if (!((((udata_t *)Curproc->p_udata)->u_ptab->p_files[(unsigned char)((udata_t *)Curproc->p_udata)->u_argn1]) & 0x80)) + filesys_doclose((unsigned char)((udata_t *)Curproc->p_udata)->u_argn1); + ((udata_t *)Curproc->p_udata)->u_ptab->p_files[(unsigned char)((udata_t *)Curproc->p_udata)->u_argn1] = ((udata_t *)Curproc->p_udata)->u_ptab->p_files[(unsigned char)((udata_t *)Curproc->p_udata)->u_argn0]; + ++Oftab[((udata_t *)Curproc->p_udata)->u_ptab->p_files[(unsigned char)((udata_t *)Curproc->p_udata)->u_argn0]]->o_refs; + return 0; +} + + + + + + + + + + + + + +int +sys_getfsys(void) + { + info_t buf; + + if (scall1_getfsys(((dev_t)((udata_t *)Curproc->p_udata)->u_argn0), &buf)) + { + return -1; + } + + if (!valadr(((char *)((udata_t *)Curproc->p_udata)->u_argn1), buf.size)) + { + return -1; + } + + ((void)usrput( ((char *)((udata_t *)Curproc->p_udata)->u_argn1), (char *)buf.ptr, buf.size), 0); + return 0; + } + + + + + + + + + + + +int +sys_ioctl(void) +{ + register cinode_t *ino; + + if ((ino = getinode((unsigned char)((udata_t *)Curproc->p_udata)->u_argn0)) == 0) + ((udata_t *)Curproc->p_udata)->u_error = 9 ; + else if (!isdevice(ino)) + ((udata_t *)Curproc->p_udata)->u_error = 19 ; + else if ((getperm(ino) & 0002 ) == 0) + ((udata_t *)Curproc->p_udata)->u_error = 1 ; + else if (!d_ioctl(((dev_t)((ino)->c_node.i_addr[0])), (int)((udata_t *)Curproc->p_udata)->u_argn1, (void *)((udata_t *)Curproc->p_udata)->u_argn2)) + return 0; + return -1; +} + + + + + + + + + + + + + + +int +sys_mountumount(void) +{ + register cinode_t *sino, *dino, **dinopp; + register dev_t dev; + int sts = -1; + filesys_t *fp; + + if (!(((udata_t *)Curproc->p_udata)->u_ptab->p_euid == 0)) + { + ((udata_t *)Curproc->p_udata)->u_error = 1 ; + goto Err1; + } + if ((sino = namei((char *)((udata_t *)Curproc->p_udata)->u_argn0, 0, 1)) == 0) + { + goto Err1; + } + if ((((udata_t *)Curproc->p_udata)->u_callno == 19)) if ((dino = namei((char *)((udata_t *)Curproc->p_udata)->u_argn1, 0, 1)) == 0) + { + i_deref(sino); + goto Err1; + } + if (((((sino)->c_node.i_mode) & 0170000 )) != 0060000 ) + { + ((udata_t *)Curproc->p_udata)->u_error = 15 ; + goto Err; + } + if (!(((udata_t *)Curproc->p_udata)->u_callno == 19)) + { + + + + if (!validdev(dev = ((dev_t)((sino)->c_node.i_addr[0])),0)) goto ErrIO; + + } + else + { + if (((((dino)->c_node.i_mode) & 0170000 )) != 0040000 ) + { + ((udata_t *)Curproc->p_udata)->u_error = 20 ; + goto Err; + } + if (d_openclose(dev = ((dev_t)((sino)->c_node.i_addr[0])), 1)) + { +ErrIO: ((udata_t *)Curproc->p_udata)->u_error = 6 ; + goto Err; + } + d_openclose(dev, 0); + } + fp = findfs(dev); + if (!(((udata_t *)Curproc->p_udata)->u_callno == 19)) + { + if (!fp || !fp->s_mounted) + { + ((udata_t *)Curproc->p_udata)->u_error = 22 ; + goto Err; + } + for (dinopp = Inotab; dinopp < Inotab + 5 ; dinopp++) + { + dino = *dinopp; + if (dino->c_refs > 0 && dino->c_dev == dev) + { + goto ErrBusy; + } + } + } + else + { + if (fp || dino->c_refs != 1 || dino->c_num == 1 ) + { +ErrBusy: ((udata_t *)Curproc->p_udata)->u_error = 16 ; + goto Err; + } + } + sys_sync(); + if (!(((udata_t *)Curproc->p_udata)->u_callno == 19)) + { + fp->s_mounted = 0; + i_deref(fp->s_mntpt); + sts = 0; + } + else + { + if (!fmount(dev, dino, (int)((udata_t *)Curproc->p_udata)->u_argn2)) + { + sts = 0; + } + else + { + goto ErrBusy; + } + } +Err: if ((((udata_t *)Curproc->p_udata)->u_callno == 19)) i_deref(dino); + i_deref(sino); +Err1: return sts; +} + + + + + + + + + + +time_t +sys_time(void) +{ + rtctime_t buf; + + rdtime(&buf); + ((void)usrput( (time_t *)((udata_t *)Curproc->p_udata)->u_argn0, &buf, sizeof(rtctime_t)), 0); + return buf; +} + + + + + + + + + + +static cinode_t * +n_creat(char *name, unsigned char new, mode_t mode) +{ + register cinode_t *ino; + cinode_t *parent = 0; + + char fname[15]; + + + char *buf; + + buf = zerobuf(1); ; + (usrget_str( buf, name, 512) == 0 ? 1 : 0); + _dprintf(3, _("n_creat(\"%s\", %d, 0%o)\n"), buf, new, mode); + bfree((blkbuf_t *)buf, 0); + + + if ((ino = namei(name, &parent, 1)) != 0) { + + if (new) { + ((udata_t *)Curproc->p_udata)->u_error = 17 ; + goto Err1; + } + i_deref(parent); + if (((((ino)->c_node.i_mode) & 0170000 )) == 0040000 ) { + ((udata_t *)Curproc->p_udata)->u_error = 21 ; + goto Err; + } + + if ((getperm(ino) & 0002 ) == 0) { + ((udata_t *)Curproc->p_udata)->u_error = 13 ; + goto Err; + } + truncateto0(ino); + } + else { + if (parent == 0) + + + + + + + goto Err; + + + filename(name, fname); + if ((ino = newfile(parent, fname)) == 0) + + + + + + + + + + + goto Err; + + ino->c_node.i_mode = mode; + setftim(ino, 1 | 2 | 4); + + if (((mode) & 0170000 ) == 0040000 ) { + if (ch_link(ino, "", ".", ino) == 0 || + ch_link(ino, "", "..", parent) == 0) + goto Err1; + ino->c_node.i_size = 2*sizeof(direct_t); + ino->c_node.i_nlink++; + parent->c_node.i_nlink++; + parent->c_dirty = 1; + } + } + if (wr_inode(ino) < 0) + + + + + + + goto Err; + + + _dprintf(3, _("n_creat() returning 0x%x, success\n"), ino); + + return ino; + +Err1: i_deref(parent); +Err: if (ino) + i_deref(ino); + + _dprintf(3, _("n_creat() returning NULL, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return 0; +} + + + + + + + + +void +readwritei(char write, cinode_t *ino) +{ + register unsigned int amount, todo, ublk, uoff, tdo = 0; + register char *bp; + register blkno_t pblk; + dev_t dev = ino->c_dev; + unsigned char ispipe = 0; + + + _dprintf(3, _("readwritei(%u, 0x%x) starting\n"), (unsigned int)write, ino); + + + if (write && ino->c_ro) { + ((udata_t *)Curproc->p_udata)->u_error = 30 ; + + _dprintf(3, _("readwritei() returning, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return; + } + switch (((((ino)->c_node.i_mode) & 0170000 ))) { + case 0020000 : + ((udata_t *)Curproc->p_udata)->u_count = write ? cdreadwrite(((dev_t)((ino)->c_node.i_addr[0])), 1) : cdreadwrite(((dev_t)((ino)->c_node.i_addr[0])), 0); + if ((int)((udata_t *)Curproc->p_udata)->u_count != -1) + ((udata_t *)Curproc->p_udata)->u_offset += ((udata_t *)Curproc->p_udata)->u_count; + + + _dprintf(3, _("readwritei() returning from getmode(ino)=0x%x, error %u\n"), ((((ino)->c_node.i_mode) & 0170000 )), ((udata_t *)Curproc->p_udata)->u_error); + + return; + case 0110000 : + if (write) goto error; + case 0040000 : + case 0100000 : + + case 0120000 : + + todo = ((udata_t *)Curproc->p_udata)->u_count; + if (!write) { + + if ((unsigned long)((udata_t *)Curproc->p_udata)->u_offset >= + (unsigned long)ino->c_node.i_size) { + ((udata_t *)Curproc->p_udata)->u_count = 0; + + + _dprintf(3, _("readwritei() returning from getmode(ino)=0x%x, error %u\n"), ((((ino)->c_node.i_mode) & 0170000 )), ((udata_t *)Curproc->p_udata)->u_error); + + + + + + + return; + } + + if (((udata_t *)Curproc->p_udata)->u_offset + todo > ino->c_node.i_size) + { + todo = (unsigned int)(ino->c_node.i_size - + ((udata_t *)Curproc->p_udata)->u_offset); + } + ((udata_t *)Curproc->p_udata)->u_count = todo; + } + goto loop; + + case 0010000 : + ++ispipe; + if (write) { + while ((todo = ((udata_t *)Curproc->p_udata)->u_count) > + (18 * 0x200 ) - + (unsigned int)ino->c_node.i_size) { + if (ino->c_refs == 1) { + + ((udata_t *)Curproc->p_udata)->u_count = -1; + ((udata_t *)Curproc->p_udata)->u_error = 32 ; + + + + + + _dprintf(3, _("readwritei() returning from getmode(ino)=0x%x, error %u\n"), ((((ino)->c_node.i_mode) & 0170000 )), ((udata_t *)Curproc->p_udata)->u_error); + + + return; + } + + kwait(ino); + } + goto loop; + } else { + while ((unsigned int)ino->c_node.i_size == 0) { + if (ino->c_refs == 1) + break; + + kwait(ino); + } + + todo = min_int(((udata_t *)Curproc->p_udata)->u_count, + (unsigned int)ino->c_node.i_size); + ((udata_t *)Curproc->p_udata)->u_count = todo; + goto loop; + } + + case 0060000 : + dev = ((dev_t)((ino)->c_node.i_addr[0])); + todo = ((udata_t *)Curproc->p_udata)->u_count; + +loop: while (todo) { + ublk = (unsigned int)(((udata_t *)Curproc->p_udata)->u_offset >> 9 ); + uoff = (unsigned int)((udata_t *)Curproc->p_udata)->u_offset & (0x200 - 1); + pblk = bmap(ino, ublk, write ? 0 : 1); + if (!write) { + + + + + + + bp = (pblk == ((blkno_t)-1) && isdevice(ino) == 0) ? + zerobuf(1): bread(dev, pblk, 0); + + if (bp == 0) { + + + if (((udata_t *)Curproc->p_udata)->u_error == 14 ) + ((udata_t *)Curproc->p_udata)->u_error = 0; + + + _dprintf(3, _("readwritei() returning from getmode(ino)=0x%x, error %u\n"), ((((ino)->c_node.i_mode) & 0170000 )), ((udata_t *)Curproc->p_udata)->u_error); + + + return; + } + } + + amount = min_int(todo, 0x200 - uoff); + if (write) { + if (pblk == ((blkno_t)-1) && isdevice(ino) == 0) + return; + + + + bp = bread(dev, pblk, (amount == 0x200 )); + if (bp == 0) + { + + + _dprintf(3, _("readwritei() returning from getmode(ino)=0x%x, error %u\n"), ((((ino)->c_node.i_mode) & 0170000 )), ((udata_t *)Curproc->p_udata)->u_error); + + + return; + } + + + + + + if (((udata_t *)Curproc->p_udata)->u_sysio || (((udata_t *)Curproc->p_udata)->u_base < (char *)0x8000)) + memcpy( bp + uoff, ((udata_t *)Curproc->p_udata)->u_base, amount); + else + ((void)usrget( bp + uoff, ((udata_t *)Curproc->p_udata)->u_base, amount), 0); + + + + if (bfree((blkbuf_t *)bp, 2) < 0) + { + + + _dprintf(3, _("readwritei() returning from getmode(ino)=0x%x, error %u\n"), ((((ino)->c_node.i_mode) & 0170000 )), ((udata_t *)Curproc->p_udata)->u_error); + + + return; + } + } else { + + + + + + if (((udata_t *)Curproc->p_udata)->u_sysio || (((udata_t *)Curproc->p_udata)->u_base < (char *)0x8000)) + memcpy( ((udata_t *)Curproc->p_udata)->u_base, bp + uoff, amount); + else + ((void)usrput( ((udata_t *)Curproc->p_udata)->u_base, bp + uoff, amount), 0); + + + + if (bfree((blkbuf_t *)bp, 0) < 0) + { + + + _dprintf(3, _("readwritei() returning from getmode(ino)=0x%x, error %u\n"), ((((ino)->c_node.i_mode) & 0170000 )), ((udata_t *)Curproc->p_udata)->u_error); + + + return; + } + } + ((udata_t *)Curproc->p_udata)->u_base = (unsigned char *)((udata_t *)Curproc->p_udata)->u_base + amount; + + tdo += amount; + ((udata_t *)Curproc->p_udata)->u_offset += amount; + todo -= amount; + + if (ispipe) { + if (ublk >= 18 ) + ((udata_t *)Curproc->p_udata)->u_offset &= (0x200 - 1); + ino->c_node.i_size += write ? amount : -amount; + + ksignal(ino, 0); + } + + } + ((udata_t *)Curproc->p_udata)->u_count = tdo; + + if (write && !ispipe) { + if (((udata_t *)Curproc->p_udata)->u_offset > ino->c_node.i_size) { + ino->c_node.i_size = ((udata_t *)Curproc->p_udata)->u_offset; + ino->c_dirty = 1; + } + } + + _dprintf(3, _("readwritei() returning, success\n")); + + return; + default: +error: ((udata_t *)Curproc->p_udata)->u_error = 19 ; + if (!write) + ((udata_t *)Curproc->p_udata)->u_count = -1; + + _dprintf(3, _("readwritei() returning, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return; + } +} + + + + + +cinode_t * +rwsetup(unsigned char fd, void *base, + unsigned int cnt, unsigned char rdflag) +{ + register cinode_t *ino; + register oft_t *oftp; + + + _dprintf(3, _("rwsetup(%u, 0x%x, %u, %u) starting\n"), + (unsigned int)fd, base, cnt, (unsigned int)rdflag); + + + if ((ino = getinode(fd)) == 0) + { +Err1: + + _dprintf(3, _("rwsetup() returning NULL, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return 0; + } + oftp = Oftab[((udata_t *)Curproc->p_udata)->u_ptab->p_files[fd]]; + if (oftp->o_access == (rdflag ? 1 : 0)) { + ((udata_t *)Curproc->p_udata)->u_error = 13 ; + goto Err1; + } + setftim(ino, rdflag ? 1 : (1 | 2)); + + ((udata_t *)Curproc->p_udata)->u_offset = oftp->o_ptr; + ((udata_t *)Curproc->p_udata)->u_base = (unsigned char *)base; + ((udata_t *)Curproc->p_udata)->u_count = cnt; + + ((udata_t *)Curproc->p_udata)->u_sysio = 0; + + + _dprintf(3, _("rwsetup() returning 0x%x, success\n"), ino); + + return ino; +} + + + + + + + +int +scall1_getfsys(dev_t devno, info_t *buf) + { + filesys_t *dev = findfs(devno); + register void *ptr = dev; + int cnt = sizeof(filesys_t); + + if (dev == 0) + { + switch (devno) + { + case GI_FTAB: cnt = 1 ; ptr = Fstab; break; + case GI_ITAB: cnt = 5 ; ptr = Inotab; break; + case GI_BTAB: cnt = 3 ; ptr = Bufpool; break; + case GI_PTAB: cnt = 20 ; ptr = 0; break; + case GI_UDAT: cnt = 1; ptr = ((udata_t *)Curproc->p_udata); break; + case GI_UTAB: cnt = 1; ptr = ((udata_t *)Curproc->p_udata)->u_ptab; break; + + + + + case GI_KDAT: memcpy( kbuf.k_name, "UZIX", 14); + memcpy( kbuf.k_version, "VERSION", 8); + memcpy( kbuf.k_release, "RELEASE", 8); + + memcpy( kbuf.k_host, "HOST", 14); + memcpy( kbuf.k_machine, "MACHINE", 8); + + kbuf.k_tmem = 256; + kbuf.k_kmem = 56; + + cnt = sizeof(kbuf); + ptr = &kbuf; + goto getfsys_done; + + default: + ((udata_t *)Curproc->p_udata)->u_error = 6 ; + return (-1); + } + + ibuf.size = cnt; + ibuf.ptr = ptr; + cnt = sizeof(ibuf); + ptr = &ibuf; + } + +getfsys_done: + buf->size = cnt; + buf->ptr = ptr; + return 0; + } + + + + diff --git a/src/nos/filesys/scall2.c b/src/nos/filesys/scall2.c index 1e2334f9..7616e75c 100644 --- a/src/nos/filesys/scall2.c +++ b/src/nos/filesys/scall2.c @@ -21,14 +21,8 @@ **********************************************************/ #include -#include -#include -#include -#include -#include "z80/asm.h" -#include "uzi/devio.h" -#include "uzi/rtc.h" -#include "uzi/filesys.h" +#include /* for O_RDWR and others */ +#include /* for S_IFMT and others */ #include "uzi/xip.h" #include "uzi/process.h" #include "uzi/maxmin.h" @@ -47,7 +41,6 @@ /* return a pointer to p_tab of process pid only */ /* user must own process pid or be the superuser */ #ifndef MODULE -#define MODULE_findprocess #define MODULE_filldesc #define MODULE_sys_pipe #define MODULE_sys_stime @@ -66,38 +59,6 @@ #define MODULE_sys_getset #endif -#ifdef MODULE_findprocess -ptab_t * -findprocess(int pid) -{ - register ptab_t **ptp, *pt; - - for (ptp = Ptab; ptp < Ptab + NPROGRAMS; ptp++) - { - pt = *ptp; - disable(); - if (pt->p_pid == pid) - { - if (udata->u_ptab->p_uid == pt->p_uid || super()) - { - enable(); - return pt; - } - else - { - enable(); - udata->u_error = EPERM; - goto Err; - } - } - enable(); - } - - udata->u_error = EINVAL; -Err: return NULL; -} -#endif - /******************************************** SYSCALL pipe(int fildes[2]); *******************************************/ diff --git a/src/nos/filesys/scall2.i b/src/nos/filesys/scall2.i new file mode 100644 index 00000000..1757033b --- /dev/null +++ b/src/nos/filesys/scall2.i @@ -0,0 +1,2975 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int sys_nerr; + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *strerror (int _errno); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int ioctl (int fd, int request, ...); +extern int open (const char *name, int flag, ...); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int xip_align(cinode_t *ino, off_t size); +int xip_ualign(cinode_t *ino, off_t size); +blkno_t *xip_examine(filesys_t *dev, cinode_t *ino, off_t size, + blkno_t *regioncount, blkno_t *blockcount); +blkno_t xip_align_chase(filesys_t *dev, cinode_t *ino, blkno_t blk, + blkno_t pos, blkno_t *region, blkno_t regions, blkno_t blocks); +blkno_t xip_align_bmap(cinode_t *ino, blkno_t newno, blkno_t pos); +blkno_t xip_align_reverse(blkno_t blk, + blkno_t *region, blkno_t regions, blkno_t blocks); +blkno_t xip_align_recurse(filesys_t *dev, cinode_t *ino, int exclude, + blkno_t *parent, char *dirty, + int indirection, blkno_t *region, + blkno_t regions, blkno_t blocks); +blkno_t xip_search(dev_t devno, int size, blkno_t start, blkno_t final); +int xip_reserve(dev_t devno, blkno_t blk, int size, int flag, + blkno_t start, blkno_t final); +blkno_t xip_find(dev_t devno, blkno_t blk, int flag, int toggle, + blkno_t start, blkno_t final); +int xip_get(dev_t devno, blkno_t blk, blkno_t start, blkno_t final); +int xip_set(dev_t devno, blkno_t blk, int flag, + blkno_t start, blkno_t final); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void *usrget(void *dest, const void *src, size_t count); +int usrget_int(const void *src); +void *usrget_str(void *dest, const void *src, size_t count); +void *usrput(void *dest, const void *src, size_t count); +void usrput_int(void *dest, int value); + + + + + + + + + + + + + + + + + + + + + + + + + + + +void filldesc(unsigned char oft, unsigned char access, cinode_t *ino); +int sys_pipe(void); +int sys_stime(void); +int sys_times(void); +int sys_brk(void); +int sys_sbrk(void); +int sys_waitpid(void); +int sys__exit(void); +void doexit(int val, int val2); +int sys_fork(void); +int sys_pause(void); +unsigned long sys_signal(void); +int sys_kill(void); +int sys_alarm(void); +int sys_reboot(void); +int sys_getset(void); +int sys_getset(void); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void +filldesc(unsigned char oft, unsigned char access, cinode_t *ino) +{ + oft_t *op; + + op = Oftab[oft]; + op->o_ptr = 0; + op->o_inode = ino; + op->o_access = access; +} + + + + + +int +sys_pipe(void) +{ + unsigned char u1, u2; + unsigned char oft1 = (unsigned char)-1, oft2 = (unsigned char)-1; + cinode_t *ino; + + + + + + + if ((ino = i_open(root_dev, ((ino_t)0))) == 0) { + ((udata_t *)Curproc->p_udata)->u_error = 12 ; + goto Err; + } + if ((u1 = uf_alloc()) == (unsigned char)-1 || + (oft1 = oft_alloc()) == (unsigned char)-1) { + ((udata_t *)Curproc->p_udata)->u_error = 2 ; + goto Err1; + } + ((udata_t *)Curproc->p_udata)->u_ptab->p_files[u1] = oft1; + filldesc(oft1, 0, ino); + + if ((u2 = uf_alloc()) == (unsigned char)-1 || + (oft2 = oft_alloc()) == (unsigned char)-1) { + ((udata_t *)Curproc->p_udata)->u_ptab->p_files[u1] = -1; + ((udata_t *)Curproc->p_udata)->u_error = 2 ; + goto Err2; + } + + ((udata_t *)Curproc->p_udata)->u_ptab->p_files[u2] = oft2; + filldesc(oft2, 1, ino); + + + ino->c_node.i_mode = 0010000 | 0777; + ino->c_node.i_nlink = 0; + ++ino->c_refs; + + + (usrput_int( &((unsigned int *)((udata_t *)Curproc->p_udata)->u_argn0)[0], u1), 0); + (usrput_int( &((unsigned int *)((udata_t *)Curproc->p_udata)->u_argn0)[1], u2), 0); + + + + + + return 0; + +Err2: if (oft2 != (unsigned char)-1) oft_deref(oft2); +Err1: if (oft1 != (unsigned char)-1) oft_deref(oft1); +Err: return -1; +} + + + + + + + + +int +sys_stime(void) +{ + rtctime_t buf; + + if ((((udata_t *)Curproc->p_udata)->u_ptab->p_euid == 0) == 0) + { + ((udata_t *)Curproc->p_udata)->u_error = 1 ; + return -1; + } + + ((void)usrget( &buf, (time_t *)((udata_t *)Curproc->p_udata)->u_argn0, sizeof(rtctime_t)), 0); + sttime(&buf); + return 0; +} + + + + + + + + +int +sys_times(void) +{ + if (valadr(((struct tms *)((udata_t *)Curproc->p_udata)->u_argn0), sizeof(struct tms))) { + disable(); + if (((udata_t *)Curproc->p_udata)->u_insys) + { + memcpy( ((struct tms *)((udata_t *)Curproc->p_udata)->u_argn0), &((udata_t *)Curproc->p_udata)->u_ptab->p_utime, 4 * sizeof(unsigned long)); + memcpy( &((struct tms *)((udata_t *)Curproc->p_udata)->u_argn0)->tms_etime, &Clock, sizeof(unsigned long)); + } + else + { + ((void)usrput( ((struct tms *)((udata_t *)Curproc->p_udata)->u_argn0), &((udata_t *)Curproc->p_udata)->u_ptab->p_utime, 4 * sizeof(unsigned long)), 0); + ((void)usrput( &((struct tms *)((udata_t *)Curproc->p_udata)->u_argn0)->tms_etime, &Clock, sizeof(unsigned long)), 0); + } + enable(); + return 0; + } + return -1; +} + + + + + + + + +int +sys_brk(void) +{ + if ((unsigned int)((char *)((udata_t *)Curproc->p_udata)->u_argn0) < (unsigned int)(0x1000+0x100) +) + { + ((udata_t *)Curproc->p_udata)->u_error = 12 ; + return -1; + } + + ((udata_t *)Curproc->p_udata)->u_ptab->p_break = (unsigned int)((char *)((udata_t *)Curproc->p_udata)->u_argn0); + return 0; +} + + + + + + + + +int +sys_sbrk(void) +{ + register unsigned int oldbrk = ((udata_t *)Curproc->p_udata)->u_ptab->p_break; + + if (*(unsigned int *)&((udata_t *)Curproc->p_udata)->u_argn0) + { + *(unsigned int *)&((udata_t *)Curproc->p_udata)->u_argn0 += oldbrk; + if (*(unsigned int *)&((udata_t *)Curproc->p_udata)->u_argn0 < oldbrk || sys_brk()) + { + return -1; + } + } + return (int)oldbrk; +} + + + + + + + + + + +int +sys_waitpid(void) +{ + register ptab_t **ptp, *pt; + + if (!valadr((char *)(int *)((udata_t *)Curproc->p_udata)->u_argn1, sizeof(int))) + { + ((udata_t *)Curproc->p_udata)->u_error = 14 ; + goto Err; + } + + + disable(); + for (ptp = Ptab; ptp < Ptab + 20 ; ptp++) + { + pt = *ptp; + if ((unsigned char)(pt->p_status) != 0 && + pt->p_pptr == ((udata_t *)Curproc->p_udata)->u_ptab && + pt != ((udata_t *)Curproc->p_udata)->u_ptab) + { + enable(); + return dowait(); + } + } + enable(); + + ((udata_t *)Curproc->p_udata)->u_error = 10 ; +Err: return -1; +} + + + + + + + + + + +int +sys__exit(void) +{ + doexit((int)((udata_t *)Curproc->p_udata)->u_argn0, 0); + return -1; +} + + + + + + + +void +doexit(int val, int val2) +{ + register short j; + register ptab_t **ptp, *pt; + + + _dprintf(2, _("process %d exiting\n"), ((udata_t *)Curproc->p_udata)->u_ptab->p_pid); + + + for (j = 0; j < 10 ; j++) + { + if (((((udata_t *)Curproc->p_udata)->u_ptab->p_files[j]) & 0x80) == 0) + { + filesys_doclose(j); + } + } + + sys_sync(); + + ((udata_t *)Curproc->p_udata)->u_ptab->p_exitval = (val<<8) | (val2 & 0xff); + + i_deref(((udata_t *)Curproc->p_udata)->u_ptab->p_root); + i_deref(((udata_t *)Curproc->p_udata)->u_ptab->p_cwd); + + + + + addtick(&((udata_t *)Curproc->p_udata)->u_ptab->p_utime, &((udata_t *)Curproc->p_udata)->u_ptab->p_cutime); + addtick(&((udata_t *)Curproc->p_udata)->u_ptab->p_stime, &((udata_t *)Curproc->p_udata)->u_ptab->p_cstime); + memcpy( ((udata_t *)Curproc->p_udata)->u_ptab->p_zombie, &((udata_t *)Curproc->p_udata)->u_ptab->p_utime, + 2 * sizeof(unsigned long)); + + + disable(); + for (ptp = Ptab; ptp < Ptab + 20 ; ptp++) + { + pt = *ptp; + if (pt->p_status && pt->p_pptr == ((udata_t *)Curproc->p_udata)->u_ptab && + pt != ((udata_t *)Curproc->p_udata)->u_ptab) + { + pt->p_pptr = ((udata_t *)Curproc->p_udata)->u_ptab->p_pptr; + } + } + enable(); + + + + + + + ((udata_t *)Curproc->p_udata)->u_ptab->p_status = 1 ; + + swapin(getproc()); + _panic(_("doexit: won't exit")); +} + + + + + + + + +int +sys_fork(void) +{ + return dofork(); +} + + + + + + + +int +sys_pause(void) +{ + kwait(0); + ((udata_t *)Curproc->p_udata)->u_error = 4 ; + return -1; +} + + + + + + + + +unsigned long +sys_signal(void) +{ + long retval = -1; + + signal_t mysig; + void (*myfunc)(signal_t); + void (**myvec)(signal_t); + + + disable(); + + if ((signal_t)((udata_t *)Curproc->p_udata)->u_argn0 == 0 || + (signal_t)((udata_t *)Curproc->p_udata)->u_argn0 == 9 || + ((unsigned)(signal_t)((udata_t *)Curproc->p_udata)->u_argn0) > 16 ) { + ((udata_t *)Curproc->p_udata)->u_error = 22 ; + goto Err; + } + if (*((unsigned long *)&((udata_t *)Curproc->p_udata)->u_argn1) == ((sig_t)1) ) + ((udata_t *)Curproc->p_udata)->u_ptab->p_ignored |= (1<<(((signal_t)((udata_t *)Curproc->p_udata)->u_argn0)-1)) ; + else { + + + + + + + ((udata_t *)Curproc->p_udata)->u_ptab->p_ignored &= ~((1<<(((signal_t)((udata_t *)Curproc->p_udata)->u_argn0)-1)) ); + } + retval = (long)((udata_t *)Curproc->p_udata)->u_ptab->p_sigvec[(signal_t)((udata_t *)Curproc->p_udata)->u_argn0-1]; + + mysig = (signal_t)((udata_t *)Curproc->p_udata)->u_argn0; + myvec = ((udata_t *)Curproc->p_udata)->u_ptab->p_sigvec + (mysig - 1); + myfunc = (void (*)(signal_t))*((unsigned long *)&((udata_t *)Curproc->p_udata)->u_argn1); + *myvec = myfunc; + + + +Err: enable(); + ((udata_t *)Curproc->p_udata)->u_retval1 = ((int *)&retval)[1]; + return retval; +} + + + + + + + + + + +int +sys_kill(void) +{ + register ptab_t *pt; + + if ((int)((udata_t *)Curproc->p_udata)->u_argn1 == 0 || (unsigned char)(int)((udata_t *)Curproc->p_udata)->u_argn1 >= 16 || (int)((udata_t *)Curproc->p_udata)->u_argn0 <= 1) { + ((udata_t *)Curproc->p_udata)->u_error = 22 ; + return -1; + } + + pt = findprocess((int)((udata_t *)Curproc->p_udata)->u_argn0); + if (pt == 0) + { + return -1; + } + + sendsig(pt, (int)((udata_t *)Curproc->p_udata)->u_argn1); + return 0; +} + + + + + + + + + +int +sys_alarm(void) +{ + register int retval; + + disable(); + retval = ((udata_t *)Curproc->p_udata)->u_ptab->p_alarm; + ((udata_t *)Curproc->p_udata)->u_ptab->p_alarm = (unsigned int)((udata_t *)Curproc->p_udata)->u_argn0; + enable(); + return retval; +} + + + + + + + + + +int +sys_reboot(void) +{ + if ((((udata_t *)Curproc->p_udata)->u_ptab->p_euid == 0) == 0) + { + ((udata_t *)Curproc->p_udata)->u_error = 1 ; + return -1; + } + + if ((char)((udata_t *)Curproc->p_udata)->u_argn0 == 'm' && (char)((udata_t *)Curproc->p_udata)->u_argn1 == 'e') + { + + + + + abort(); + } + + ((udata_t *)Curproc->p_udata)->u_error = 22 ; + return -1; +} + + + + + + + + + + + +int +sys_getset(void) +{ + register int old; + register ptab_t *pt; + register signed char nice; + + switch ((int)((udata_t *)Curproc->p_udata)->u_argn0) { + case 0 : + return ((udata_t *)Curproc->p_udata)->u_ptab->p_pid; + case 1 : + return ((udata_t *)Curproc->p_udata)->u_ptab->p_pptr->p_pid; + case 2 : + return ((udata_t *)Curproc->p_udata)->u_ptab->p_uid; + case 3 : + if ((((udata_t *)Curproc->p_udata)->u_ptab->p_euid == 0) || ((udata_t *)Curproc->p_udata)->u_ptab->p_uid == (int)((udata_t *)Curproc->p_udata)->u_argn1) { + ((udata_t *)Curproc->p_udata)->u_ptab->p_uid = (int)((udata_t *)Curproc->p_udata)->u_argn1; + ((udata_t *)Curproc->p_udata)->u_ptab->p_euid = (int)((udata_t *)Curproc->p_udata)->u_argn1; + goto Ok; + } + break; + case 4 : + return ((udata_t *)Curproc->p_udata)->u_ptab->p_euid; + case 5 : + return ((udata_t *)Curproc->p_udata)->u_ptab->p_gid; + case 9 : + + pt = findprocess((int)((udata_t *)Curproc->p_udata)->u_argn1); + if (pt == 0) + { + goto Err; + } + nice = min_int((int)(int)((udata_t *)Curproc->p_udata)->u_argn2, 19); + if (nice < -20) nice = -20; + if (!(((udata_t *)Curproc->p_udata)->u_ptab->p_euid == 0)) + { + if (nice < 0) + { + nice = 0; + } + } + pt->p_nice = nice; + pt->p_cprio = (nice < 1) ? + (((-nice)*(50 - 4 )) / + (- -20)) + 4 : + 1 + (((19 - nice) * 4 ) / + 19); + goto Ok; + case 7 : + return ((udata_t *)Curproc->p_udata)->u_ptab->p_egid; + case 8 : + return ((udata_t *)Curproc->p_udata)->u_ptab->p_cprio; + case 6 : + if ((((udata_t *)Curproc->p_udata)->u_ptab->p_euid == 0) || ((udata_t *)Curproc->p_udata)->u_ptab->p_gid == (int)((udata_t *)Curproc->p_udata)->u_argn1) { + ((udata_t *)Curproc->p_udata)->u_ptab->p_gid = (int)((udata_t *)Curproc->p_udata)->u_argn1; + ((udata_t *)Curproc->p_udata)->u_ptab->p_egid = (int)((udata_t *)Curproc->p_udata)->u_argn1; + goto Ok; + } + break; + case 10 : + old = ((udata_t *)Curproc->p_udata)->u_ptab->p_umask; + ((udata_t *)Curproc->p_udata)->u_ptab->p_umask = (int)((udata_t *)Curproc->p_udata)->u_argn1 & 07777 ; + return old; + case 11 : + + old = ((udata_t *)Curproc->p_udata)->u_ptab->p_traceme; + ((udata_t *)Curproc->p_udata)->u_ptab->p_traceme = (int)((udata_t *)Curproc->p_udata)->u_argn1; + return old; + + + + case 12 : + + old = ((udata_t *)Curproc->p_udata)->u_ptab->p_debugme; + ((udata_t *)Curproc->p_udata)->u_ptab->p_debugme = (int)((udata_t *)Curproc->p_udata)->u_argn1; + return old; + + + + } + ((udata_t *)Curproc->p_udata)->u_error = 1 ; +Err: return -1; +Ok: return 0; +} + + + + + + diff --git a/src/nos/filesys/systrace.c b/src/nos/filesys/systrace.c index 34e9f7d1..b16f65ab 100644 --- a/src/nos/filesys/systrace.c +++ b/src/nos/filesys/systrace.c @@ -1,16 +1,5 @@ /* systrace.c by Nick for UZI180 */ -#include -#include -#include -#include -#include -#include -#include "z80/asm.h" -#include "uzi/devio.h" -#include "uzi/rtc.h" -#include "uzi/filesys.h" -#include "uzi/xip.h" #include "uzi/process.h" #include "uzi/usrmem.h" #include "uzi/systrace.h" diff --git a/src/nos/filesys/systrace.i b/src/nos/filesys/systrace.i new file mode 100644 index 00000000..e6c2727c --- /dev/null +++ b/src/nos/filesys/systrace.i @@ -0,0 +1,2473 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void *usrget(void *dest, const void *src, size_t count); +int usrget_int(const void *src); +void *usrget_str(void *dest, const void *src, size_t count); +void *usrput(void *dest, const void *src, size_t count); +void usrput_int(void *dest, int value); + + + + + + + + + + + + + +void systrace_entry(void); +void systrace_exit(void); +void systrace_dump(unsigned int value, unsigned int count, unsigned char type); + + + + + + + + + + + + +struct systrace_entry + { + char return_type; + _char *function_name; + char argument_type[4]; + }; + + + + + + + + + + + + + + + + + +static struct systrace_entry systrace_table[] = + { + { 4, N_("access"), { 2, 3, 0, 0 } }, + { 4, N_("alarm"), { 4, 0, 0, 0 } }, + { 5, N_("brk"), { 5, 0, 0, 0 } }, + { 4, N_("chdir"), { 2, 0, 0, 0 } }, + { 4, N_("chmod"), { 2, 3, 0, 0 } }, + { 4, N_("chown"), { 2, 4, 4, 0 } }, + { 4, N_("close"), { 4, 0, 0, 0 } }, + { 4, N_("getset"), { 5, 5, 5, 0 } }, + { 4, N_("dup"), { 4, 0, 0, 0 } }, + { 4, N_("dup2"), { 4, 4, 0, 0 } }, + { 4, N_("execve"), { 2, 5, 5, 0 } }, + { 4, N_("_exit"), { 4, 0, 0, 0 } }, + { 4, N_("fork"), { 0, 0, 0, 0 } }, + { 4, N_("fstat"), { 4, 5, 0, 0 } }, + { 4, N_("getfsys"), { 5, 5, 0, 0 } }, + { 5, N_("ioctl"), { 4, 5, 5, 0 } }, + { 4, N_("kill"), { 4, 4, 0, 0 } }, + { 4, N_("link"), { 2, 2, 0, 0 } }, + { 4, N_("mknod"), { 2, 3, 0, 0 } }, + { 4, N_("mount"), { 2, 2, 0, 0 } }, + { 4, N_("open"), { 2, 5, 3, 0 } }, + { 4, N_("pause"), { 0, 0, 0, 0 } }, + { 4, N_("pipe"), { 5, 0, 0, 0 } }, + { 5, N_("read"), { 4, 5, 5, 0 } }, + { 5, N_("sbrk"), { 5, 0, 0, 0 } }, + { 5, N_("lseek"), { 4, 5, 5, 4 } }, + { 5, N_("signal"), { 4, 5, 5, 0 } }, + { 4, N_("stat"), { 2, 5, 0, 0 } }, + { 4, N_("stime"), { 5, 0, 0, 0 } }, + { 4, N_("sync"), { 0, 0, 0, 0 } }, + { 5, N_("time"), { 5, 0, 0, 0 } }, + { 4, N_("times"), { 5, 0, 0, 0 } }, + { 4, N_("umount"), { 2, 0, 0, 0 } }, + { 4, N_("unlink"), { 2, 0, 0, 0 } }, + { 4, N_("utime"), { 2, 5, 0, 0 } }, + { 4, N_("waitpid"), { 4, 5, 5, 0 } }, + { 5, N_("write"), { 4, 1, 5, 0 } }, + { 4, N_("reboot"), { 5, 5, 0, 0 } }, + { 4, N_("symlink"), { 2, 2, 0, 0 } }, + { 4, N_("chroot"), { 2, 0, 0, 0 } }, + { 4, N_("falign"), { 4, 4, 0, 0 } } + }; + +static int systrace_limit = + sizeof(systrace_table) / sizeof(systrace_table[0]); + + + +static _char *syserror_table[] = + { + N_(""), + N_("EPERM"), + N_("ENOENT"), + N_("ESRCH"), + N_("EINTR"), + N_("EIO"), + N_("ENXIO"), + N_("E2BIG"), + N_("ENOEXEC"), + N_("EBADF"), + N_("ECHILD"), + N_("EAGAIN"), + N_("ENOMEM"), + N_("EACCES"), + N_("EFAULT"), + N_("ENOTBLK"), + N_("EBUSY"), + N_("EEXIST"), + N_("EXDEV"), + N_("ENODEV"), + N_("ENOTDIR"), + N_("EISDIR"), + N_("EINVAL"), + N_("ENFILE"), + N_("EMFILE"), + N_("ENOTTY"), + N_("ETXTBSY"), + N_("EFBIG"), + N_("ENOSPC"), + N_("ESPIPE"), + N_("EROFS"), + N_("EMLINK"), + N_("EPIPE"), + N_("EDOM"), + N_("ERANGE"), + N_("EDEADLK"), + N_("ENAMETOOLONG"), + N_("ENOLCK"), + N_("EINVFNC"), + N_("ENOTEMPTY"), + N_("ELOOP"), + N_("ESHELL") + }; + +static int syserror_limit = + sizeof(syserror_table) / sizeof(syserror_table[0]); + + + +void +systrace_entry(void) + { + int *u_argn_ptr; + register unsigned char i; + unsigned int value; + unsigned char type; + + + + + + + if (((udata_t *)Curproc->p_udata)->u_ptab->p_traceme == 0) + { + return; + } + + + _dprintf(0, _("\tpid %d, call %d"), + ((udata_t *)Curproc->p_udata)->u_ptab->p_pid, ((udata_t *)Curproc->p_udata)->u_callno); + + if ( ((udata_t *)Curproc->p_udata)->u_callno >= systrace_limit) + { + _panic(_("can't trace invalid syscall index")); + } + + abyte(','); + abyte(' '); + _dprintf(0, systrace_table[((udata_t *)Curproc->p_udata)->u_callno].function_name); + abyte('('); + + u_argn_ptr = &((udata_t *)Curproc->p_udata)->u_argn0; + for (i = 0; i < 4; i++) + { + type = systrace_table[((udata_t *)Curproc->p_udata)->u_callno].argument_type[i]; + if (type == 0) + { + break; + } + + if (i) + { + abyte(','); + abyte(' '); + } + + value = *u_argn_ptr++; + systrace_dump(value, ((udata_t *)Curproc->p_udata)->u_argn2, type); + } + + abyte(')'); + acrlf(); + } + + + + +void +systrace_exit(void) + { + register unsigned char type; + + + + + if (((udata_t *)Curproc->p_udata)->u_ptab->p_traceme == 0) + { + return; + } + + + _dprintf(0, _("\t\tpid %d, call %d, ret "), + ((udata_t *)Curproc->p_udata)->u_ptab->p_pid, ((udata_t *)Curproc->p_udata)->u_callno); + + if (((udata_t *)Curproc->p_udata)->u_callno == 23 && ((udata_t *)Curproc->p_udata)->u_error == 0) + { + systrace_dump(((udata_t *)Curproc->p_udata)->u_argn1, ((udata_t *)Curproc->p_udata)->u_retval, 1); + abyte(','); + abyte(' '); + } + + type = systrace_table[((udata_t *)Curproc->p_udata)->u_callno].return_type; + systrace_dump(((udata_t *)Curproc->p_udata)->u_retval, 0, type); + + + if ((((udata_t *)Curproc->p_udata)->u_callno == 25 || + ((udata_t *)Curproc->p_udata)->u_callno == 26 || + ((udata_t *)Curproc->p_udata)->u_callno == 30) && ((udata_t *)Curproc->p_udata)->u_error == 0) + { + abyte(','); + abyte(' '); + systrace_dump(((udata_t *)Curproc->p_udata)->u_retval1, 0, type); + } + + _dprintf(0, _(", err %d"), ((udata_t *)Curproc->p_udata)->u_error); + if (((udata_t *)Curproc->p_udata)->u_error > 0 && ((udata_t *)Curproc->p_udata)->u_error < syserror_limit) + { + abyte(' '); + abyte('('); + _dprintf(0, syserror_table[((udata_t *)Curproc->p_udata)->u_error]); + abyte(')'); + } + + acrlf(); + + } + + + +static void +systrace_dump(unsigned int value, unsigned int count, unsigned char type) + { + register unsigned char j, c; + unsigned char max, flag, *data; + + max = 32; + flag = 1; + + switch (type) + { + + case 1: + max = 8; + if (count <= 8) + { + max = count; + flag = 0; + } + + + case 2: + abyte('"'); + + data = (unsigned char *)value; + for (j = 0; j < max; j++) + { + c = (usrget_int(data++) & 0xff); + if (c == 0 && max > 16) + { + flag = 0; + break; + } + if (c < 0x20 || c >= 0x80) + { + abyte('\\'); + switch (c) + { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + abyte('0' + c); + break; + case 9: + abyte('t'); + break; + case 0xa: + abyte('n'); + break; + case 0xd: + abyte('r'); + break; + default: + _dprintf(0, _("x%x"), (int)c); + break; + } + } + else + { + if (c == '\\' || c == '"') + { + abyte('\\'); + } + abyte(c); + } + } + + if (flag) + { + abyte('.'); + abyte('.'); + abyte('.'); + } + + abyte('"'); + break; + + case 3: + if (value < 8) + { + abyte('0' + value); + } + else + { + _dprintf(0, _("0%o"), value); + } + break; + + case 4: + _dprintf(0, _("%d"), value); + break; + + case 5: + if (value < 10) + { + abyte('0' + value); + } + else + { + _dprintf(0, _("0x%x"), value); + } + break; + } + } + + diff --git a/src/nos/filesys/usrmem.c b/src/nos/filesys/usrmem.c index 7ad9d9d9..a8415410 100644 --- a/src/nos/filesys/usrmem.c +++ b/src/nos/filesys/usrmem.c @@ -22,7 +22,6 @@ **********************************************************/ #include -#include #include "uzi/usrmem.h" #ifndef MODULE diff --git a/src/nos/filesys/usrmem.i b/src/nos/filesys/usrmem.i new file mode 100644 index 00000000..6f822413 --- /dev/null +++ b/src/nos/filesys/usrmem.i @@ -0,0 +1,333 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void *usrget(void *dest, const void *src, size_t count); +int usrget_int(const void *src); +void *usrget_str(void *dest, const void *src, size_t count); +void *usrput(void *dest, const void *src, size_t count); +void usrput_int(void *dest, int value); + + + + + + + + + + + + +void *usrget(void *dest, const void *src, size_t count) + { + return memcpy(dest, src, count); + } + + + +void *usrget_str(void *dest, const void *src, size_t count) + { + return memccpy(dest, src, 0, count); + } + + + +int usrget_int(const void *src) + { + int value; + + usrget(&value, src, sizeof(value)); + return value; + } + + + +void *usrput(void *dest, const void *src, size_t count) + { + return memcpy(dest, src, count); + } + + + +void usrput_int(void *dest, int value) + { + usrput(dest, &value, sizeof(value)); + } + + diff --git a/src/nos/filesys/xfs.c b/src/nos/filesys/xfs.c index 23a2563e..dd01675d 100644 --- a/src/nos/filesys/xfs.c +++ b/src/nos/filesys/xfs.c @@ -83,23 +83,16 @@ #endif #include -#include -#include +#include /* for O_CREAT */ #include -#include -#include -#include -#include "z80/asm.h" -#include "uzi/devio.h" -#include "uzi/rtc.h" -#include "uzi/filesys.h" #include "uzi/xip.h" #include "uzi/process.h" #include "uzi/scall1.h" #include "uzi/scall2.h" #include "uzi/systrace.h" #include "uzi/xfs.h" -#include +#include "nos/proc.h" /* for Curptab */ +/*#include */ #include #include "po/messages.h" @@ -147,12 +140,8 @@ xfs_init(boot_dev) memset(&rq, 0, sizeof(rq)); udata_p = &rq; /* for fmount(), i_open() and i_ref() */ -/* abyte('c'); */ - bufinit(); -/* abyte('d'); */ - d_init(); /* abyte('e'); */ - i_init(); /* Nick */ + d_init(); /* abyte('f'); */ fs_init(); /* Nick */ /* abyte('g'); */ @@ -193,12 +182,12 @@ xfs_init(boot_dev) _panic(_("no root")); } - Ptab[0]->p_cwd = root_ino; - Ptab[0]->p_root = root_ino; + Curptab->p_cwd = root_ino; + Curptab->p_root = root_ino; i_ref(root_ino); } - rdtime(&Ptab[0]->p_time); /* this could be changed to time() */ + rdtime(&Curptab->p_time); /* this could be changed to time() */ udata_p = NULL; } #endif @@ -238,7 +227,7 @@ xfs_open(const char *name, int flag, ...) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)name; udata->u_argn1 = (unsigned int)flag; @@ -277,7 +266,7 @@ xfs_close(uindex) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = uindex; udata->u_callno = 6; /* only needed for systrace */ @@ -306,7 +295,7 @@ xfs_creat(name, mode) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)name; /*RPB*/ @@ -335,15 +324,15 @@ xfs_creat(name, mode) #ifdef MODULE_xfs_link int xfs_link(name1, name2) - char *name1; - char *name2; + const char *name1; + const char *name2; { udata_t rq; int result; memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)name1; udata->u_argn1 = (unsigned int)name2; @@ -373,7 +362,7 @@ xfs_symlink(name1, name2) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)name1; udata->u_argn1 = (unsigned int)name2; @@ -401,7 +390,7 @@ xfs_unlink(const char *path) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)path; udata->u_callno = 33; /* only needed for systrace */ @@ -431,7 +420,7 @@ xfs_read(d, buf, nbytes) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)d; udata->u_argn1 = (unsigned int)buf; @@ -463,7 +452,7 @@ xfs_write(d, buf, nbytes) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)d; udata->u_argn1 = (unsigned int)buf; @@ -495,7 +484,7 @@ xfs_lseek(file, offset, flag) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)file; udata->u_argn1 = (unsigned int)offset; @@ -526,7 +515,7 @@ xfs_chdir(dir) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)dir; udata->u_callno = 3; /* only needed for systrace */ @@ -556,7 +545,7 @@ xfs_mknod(name, mode, dev) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)name; udata->u_argn1 = (unsigned int)mode; @@ -585,7 +574,7 @@ xfs_sync() memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_callno = 29; /* only needed for systrace */ systrace_entry(); @@ -611,7 +600,7 @@ xfs_access(path, mode) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)path; udata->u_argn1 = (unsigned int)mode; @@ -641,7 +630,7 @@ xfs_chmod(path, mode) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)path; udata->u_argn1 = (unsigned int)mode; @@ -672,7 +661,7 @@ xfs_chown(path, owner, group) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)path; udata->u_argn1 = (unsigned int)owner; @@ -703,7 +692,7 @@ xfs_stat(path, buf) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)path; udata->u_argn1 = (unsigned int)buf; @@ -733,7 +722,7 @@ xfs_fstat(fd, buf) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)fd; udata->u_argn1 = (unsigned int)buf; @@ -764,7 +753,7 @@ xfs_falign(fd, parm) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)fd; udata->u_argn1 = (unsigned int)parm; @@ -794,7 +783,7 @@ xfs_dup(oldd) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)oldd; udata->u_callno = 8; /* only needed for systrace */ @@ -823,7 +812,7 @@ xfs_dup2(oldd, newd) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)oldd; udata->u_argn1 = (unsigned int)newd; @@ -852,7 +841,7 @@ xfs_umask(mask) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)SET_UMASK; udata->u_argn1 = (unsigned int)mask; @@ -881,7 +870,7 @@ xfs_sysdebug(level) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)SET_DEBUG; udata->u_argn1 = (unsigned int)level; @@ -910,7 +899,7 @@ xfs_systrace(level) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)SET_TRACE; udata->u_argn1 = (unsigned int)level; @@ -940,7 +929,7 @@ xfs_getfsys(dev, buf) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)dev; udata->u_argn1 = (unsigned int)buf; @@ -969,7 +958,7 @@ xfs_ioctl(int fd, int request, ...) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)fd; udata->u_argn1 = (unsigned int)request; @@ -1003,7 +992,7 @@ xfs_mount(spec, dir, rwflag) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)spec; udata->u_argn1 = (unsigned int)dir; @@ -1033,7 +1022,7 @@ xfs_umount(spec) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)spec; udata->u_callno = 32; @@ -1061,7 +1050,7 @@ xfs_time(tvec) memset(&rq, 0, sizeof(rq)); udata_p = &rq; - udata->u_ptab = Ptab[0]; + udata->u_ptab = Curptab; udata->u_insys = 1; udata->u_argn0 = (unsigned int)tvec; udata->u_callno = 30; /* only needed for systrace */ diff --git a/src/nos/filesys/xfs.i b/src/nos/filesys/xfs.i new file mode 100644 index 00000000..09880bed --- /dev/null +++ b/src/nos/filesys/xfs.i @@ -0,0 +1,3577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int sys_nerr; + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *strerror (int _errno); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int ioctl (int fd, int request, ...); +extern int open (const char *name, int flag, ...); + + + + + + + + + + + + + + + +int xip_align(cinode_t *ino, off_t size); +int xip_ualign(cinode_t *ino, off_t size); +blkno_t *xip_examine(filesys_t *dev, cinode_t *ino, off_t size, + blkno_t *regioncount, blkno_t *blockcount); +blkno_t xip_align_chase(filesys_t *dev, cinode_t *ino, blkno_t blk, + blkno_t pos, blkno_t *region, blkno_t regions, blkno_t blocks); +blkno_t xip_align_bmap(cinode_t *ino, blkno_t newno, blkno_t pos); +blkno_t xip_align_reverse(blkno_t blk, + blkno_t *region, blkno_t regions, blkno_t blocks); +blkno_t xip_align_recurse(filesys_t *dev, cinode_t *ino, int exclude, + blkno_t *parent, char *dirty, + int indirection, blkno_t *region, + blkno_t regions, blkno_t blocks); +blkno_t xip_search(dev_t devno, int size, blkno_t start, blkno_t final); +int xip_reserve(dev_t devno, blkno_t blk, int size, int flag, + blkno_t start, blkno_t final); +blkno_t xip_find(dev_t devno, blkno_t blk, int flag, int toggle, + blkno_t start, blkno_t final); +int xip_get(dev_t devno, blkno_t blk, blkno_t start, blkno_t final); +int xip_set(dev_t devno, blkno_t blk, int flag, + blkno_t start, blkno_t final); + + + + + + + + + + + + + + + + + +typedef struct s_pdata { + int u_pid; + void *u_ptab; + unsigned char u_name[14 ]; + + + unsigned char u_insys; + unsigned char u_callno; + unsigned char u_traceme; + + + unsigned char u_uid; + unsigned char u_gid; + unsigned char u_euid; + unsigned char u_egid; + time_t u_time; + + + signal_t u_cursig; + + + time_t u_utime; + time_t u_stime; +}; + + +typedef struct s_kdata { + unsigned char k_name[14]; + unsigned char k_version[8]; + unsigned char k_release[8]; + + unsigned char k_host[14]; + unsigned char k_machine[8]; + + int k_tmem; + int k_kmem; +}; + + +typedef enum { + GI_PTAB = -1, + GI_ITAB = -2, + GI_BTAB = -3, + GI_FTAB = -4, + GI_UDAT = -5, + GI_UTAB = -6, + GI_PDAT = -7, + GI_KDAT = -8 +} getinfo_t; + + + + + + + + + + + +struct swap_mmread { + unsigned char mm[2]; + unsigned int offset; + unsigned int size; + unsigned char *buf; +}; + +typedef struct { + getinfo_t req; + size_t size; + void *ptr; +} info_t; + + + + + + + + + + + + + + + +typedef struct + { + unsigned char k_name[14]; + unsigned char k_version[8]; + unsigned char k_release[8]; + + unsigned char k_host[14]; + unsigned char k_machine[8]; + + unsigned int k_tmem; + unsigned int k_kmem; + } kdata_t; + + + + + +int sys_sync(void); +int sys_utime(void); +int sys_close(void); +void truncateto0(cinode_t *ino); +int sys_open(void); +int sys_link(void); +int sys_symlink(void); +int sys_unlink(void); +int sys_readwrite(void); +off_t sys_lseek(void); +int sys_chdir(void); +int sys_chroot(void); +int sys_mknod(void); +int sys_access(void); +int sys_chmod(void); +int sys_chown(void); + +int sys_statfstat(void); +int sys_falign(void); +int sys_dup(void); +int sys_dup2(void); +int sys_getfsys(void); +int sys_ioctl(void); +int sys_mountumount(void); +time_t sys_time(void); + +void readwritei(char write, cinode_t *ino); +cinode_t *rwsetup(unsigned char fd, void *base, + unsigned int cnt, unsigned char rdflag); +int pdat(struct s_pdata *ubuf); +int scall1_getfsys(dev_t devno, info_t *buf); + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void filldesc(unsigned char oft, unsigned char access, cinode_t *ino); +int sys_pipe(void); +int sys_stime(void); +int sys_times(void); +int sys_brk(void); +int sys_sbrk(void); +int sys_waitpid(void); +int sys__exit(void); +void doexit(int val, int val2); +int sys_fork(void); +int sys_pause(void); +unsigned long sys_signal(void); +int sys_kill(void); +int sys_alarm(void); +int sys_reboot(void); +int sys_getset(void); +int sys_getset(void); + + + + + + + + + + + + + + +void systrace_entry(void); +void systrace_exit(void); +void systrace_dump(unsigned int value, unsigned int count, unsigned char type); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void xfs_init(dev_t boot_dev); +void xfs_end(void); +int xfs_open(const char *name, int flag, ...); +int xfs_close(int uindex); +int xfs_creat(const char *name, mode_t mode); +int xfs_link(const char *name1, const char *name2); +int xfs_symlink(char *name1, char *name2); +int xfs_unlink(const char *path); +int xfs_read(int d, void *buf, size_t nbytes); +int xfs_write(int d, const void *buf, size_t nbytes); +int xfs_seek(int file, unsigned int offset, int flag); +int xfs_chdir(char *dir); +int xfs_mknod(char *name, mode_t mode, int dev); +void xfs_sync(void); +int xfs_access(char *path, int mode); +int xfs_chmod(char *path, mode_t mode); +int xfs_chown(char *path, int owner, int group); +int xfs_stat(char *path, struct stat *buf); +int xfs_fstat(int fd, struct stat *buf); +int xfs_falign(int fd, int parm); +int xfs_dup(int oldd); +int xfs_dup2(int oldd, int newd); +int xfs_umask(int mask); +int xfs_sysdebug(int level); +int xfs_systrace(int level); +int xfs_ioctl(int fd, int request, ...); +int xfs_mount(char *spec, char *dir, int rwflag); +int xfs_umount(char *spec); +time_t xfs_time(time_t *tvec); +int xfs_getfsys(int dev, void *buf); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void +xfs_init(boot_dev) + dev_t boot_dev; +{ + udata_t rq; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + + + d_init(); + + fs_init(); + + + + + + + + + + + root_dev = boot_dev; + if (root_dev != ((dev_t)-1)) + { + + + + + + + + + + + + if (fmount(root_dev, 0, 0)) + { + + _panic(_("no filesys")); + } + + + root_ino = i_open(root_dev, 1 ); + + if (root_ino == 0) + { + _panic(_("no root")); + } + + Curptab->p_cwd = root_ino; + Curptab->p_root = root_ino; + i_ref(root_ino); + } + + rdtime(&Curptab->p_time); + ((udata_t *)Curproc->p_udata) = 0; +} + + + + +void +xfs_end(void) +{ + udata_t rq; + register int j; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + + for (j = 0; j < 10 ; j++) + { + if (!((((udata_t *)Curproc->p_udata)->u_ptab->p_files[j]) & 0x80)) + { + filesys_doclose(j); + } + } + + xfs_sync(); + +} + + + + +int +xfs_open(const char *name, int flag, ...) +{ + int result; + va_list arguments; + udata_t rq; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)name; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)flag; + if (flag & 0x0100 ) + { + ((arguments) = (char *)&( flag) + ((sizeof( flag) + (2 - 1)) & ~(2 - 1))); + ((udata_t *)Curproc->p_udata)->u_argn2 = (unsigned int)(*( mode_t *)((*(char **)&(arguments) += ((sizeof( mode_t) + (2 - 1)) & ~(2 - 1))) - ((sizeof( mode_t) + (2 - 1)) & ~(2 - 1)))); + ; + } + else + { + ((udata_t *)Curproc->p_udata)->u_argn2 = 0; + } + ((udata_t *)Curproc->p_udata)->u_callno = 20; + systrace_entry(); + result = sys_open(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_close(uindex) + int uindex; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = uindex; + ((udata_t *)Curproc->p_udata)->u_callno = 6; + systrace_entry(); + result = sys_close(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_creat(name, mode) + const char *name; + mode_t mode; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)name; + + + + + ((udata_t *)Curproc->p_udata)->u_argn1 = 0x0100 |2|0x0200 ; + + + ((udata_t *)Curproc->p_udata)->u_argn2 = (unsigned int)mode; + ((udata_t *)Curproc->p_udata)->u_callno = 20; + systrace_entry(); + result = sys_open(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_link(name1, name2) + const char *name1; + const char *name2; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)name1; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)name2; + ((udata_t *)Curproc->p_udata)->u_callno = 17; + systrace_entry(); + result = sys_link(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_symlink(name1, name2) + char *name1; + char *name2; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)name1; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)name2; + ((udata_t *)Curproc->p_udata)->u_callno = 38; + systrace_entry(); + result = sys_symlink(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_unlink(const char *path) +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)path; + ((udata_t *)Curproc->p_udata)->u_callno = 33; + systrace_entry(); + result = sys_unlink(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_read(d, buf, nbytes) + int d; + void *buf; + size_t nbytes; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)d; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)buf; + ((udata_t *)Curproc->p_udata)->u_argn2 = (unsigned int)nbytes; + ((udata_t *)Curproc->p_udata)->u_callno = 23; + systrace_entry(); + result = sys_readwrite(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_write(d, buf, nbytes) + int d; + const void *buf; + size_t nbytes; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)d; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)buf; + ((udata_t *)Curproc->p_udata)->u_argn2 = (unsigned int)nbytes; + ((udata_t *)Curproc->p_udata)->u_callno = 36; + systrace_entry(); + result = sys_readwrite(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +off_t +xfs_lseek(file, offset, flag) + int file; + off_t offset; + int flag; +{ + udata_t rq; + off_t result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)file; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)offset; + ((udata_t *)Curproc->p_udata)->u_argn2 = (unsigned int)(offset >> 16); + ((udata_t *)Curproc->p_udata)->u_argn3 = (unsigned int)flag; + ((udata_t *)Curproc->p_udata)->u_callno = 25; + systrace_entry(); + result = sys_lseek(); + ((udata_t *)Curproc->p_udata)->u_retval = (int)result; + systrace_exit(); + if (result == (off_t)-1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_chdir(dir) + char *dir; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)dir; + ((udata_t *)Curproc->p_udata)->u_callno = 3; + systrace_entry(); + result = sys_chdir(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_mknod(name, mode, dev) + char *name; + mode_t mode; + int dev; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)name; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)mode; + ((udata_t *)Curproc->p_udata)->u_argn2 = (unsigned int)dev; + ((udata_t *)Curproc->p_udata)->u_callno = 18; + systrace_entry(); + result = sys_mknod(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +void +xfs_sync() +{ + + udata_t rq; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_callno = 29; + systrace_entry(); + + sys_sync(); + + ((udata_t *)Curproc->p_udata)->u_retval = 0; + systrace_exit(); + + ((udata_t *)Curproc->p_udata) = 0; +} + + + + +int +xfs_access(path, mode) + char *path; + int mode; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)path; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)mode; + + systrace_entry(); + result = sys_access(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_chmod(path, mode) + char *path; + mode_t mode; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)path; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)mode; + ((udata_t *)Curproc->p_udata)->u_callno = 4; + systrace_entry(); + result = sys_chmod(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_chown(path, owner, group) + char *path; + int owner; + int group; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)path; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)owner; + ((udata_t *)Curproc->p_udata)->u_argn2 = (unsigned int)group; + ((udata_t *)Curproc->p_udata)->u_callno = 5; + systrace_entry(); + result = sys_chown(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_stat(path, buf) + char *path; + struct stat *buf; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)path; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)buf; + ((udata_t *)Curproc->p_udata)->u_callno = 27; + systrace_entry(); + result = sys_statfstat(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_fstat(fd, buf) + int fd; + struct stat *buf; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)fd; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)buf; + ((udata_t *)Curproc->p_udata)->u_callno = 13; + systrace_entry(); + result = sys_statfstat(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + + +int +xfs_falign(fd, parm) + int fd; + int parm; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)fd; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)parm; + ((udata_t *)Curproc->p_udata)->u_callno = 40; + systrace_entry(); + result = sys_falign(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + + +int +xfs_dup(oldd) + int oldd; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)oldd; + ((udata_t *)Curproc->p_udata)->u_callno = 8; + systrace_entry(); + result = sys_dup(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_dup2(oldd, newd) + int oldd; + int newd; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)oldd; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)newd; + ((udata_t *)Curproc->p_udata)->u_callno = 9; + systrace_entry(); + result = sys_dup2(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_umask(mask) + int mask; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)10 ; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)mask; + ((udata_t *)Curproc->p_udata)->u_callno = 7; + systrace_entry(); + result = sys_getset(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_sysdebug(level) + int level; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)12 ; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)level; + ((udata_t *)Curproc->p_udata)->u_callno = 7; + systrace_entry(); + result = sys_getset(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_systrace(level) + int level; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)11 ; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)level; + ((udata_t *)Curproc->p_udata)->u_callno = 7; + systrace_entry(); + result = sys_getset(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_getfsys(dev, buf) + int dev; + void *buf; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)dev; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)buf; + ((udata_t *)Curproc->p_udata)->u_callno = 14; + systrace_entry(); + result = sys_getfsys(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_ioctl(int fd, int request, ...) +{ + int result; + va_list arguments; + udata_t rq; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)fd; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)request; + ((arguments) = (char *)&( request) + ((sizeof( request) + (2 - 1)) & ~(2 - 1))); + ((udata_t *)Curproc->p_udata)->u_argn2 = (unsigned int)(*( void * *)((*(char **)&(arguments) += ((sizeof( void *) + (2 - 1)) & ~(2 - 1))) - ((sizeof( void *) + (2 - 1)) & ~(2 - 1)))); + ; + ((udata_t *)Curproc->p_udata)->u_callno = 15; + systrace_entry(); + result = sys_ioctl(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_mount(spec, dir, rwflag) + char *spec; + char *dir; + int rwflag; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)spec; + ((udata_t *)Curproc->p_udata)->u_argn1 = (unsigned int)dir; + ((udata_t *)Curproc->p_udata)->u_argn2 = (unsigned int)rwflag; + ((udata_t *)Curproc->p_udata)->u_callno = 19; + systrace_entry(); + result = sys_mountumount(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +int +xfs_umount(spec) + char *spec; +{ + udata_t rq; + int result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)spec; + ((udata_t *)Curproc->p_udata)->u_callno = 32; + systrace_entry(); + result = sys_mountumount(); + ((udata_t *)Curproc->p_udata)->u_retval = result; + systrace_exit(); + if (result == -1) + { + (Curproc->p_errno) = ((udata_t *)Curproc->p_udata)->u_error; + } + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + + + +time_t +xfs_time(tvec) + time_t *tvec; +{ + udata_t rq; + time_t result; + + memset(&rq, 0, sizeof(rq)); + ((udata_t *)Curproc->p_udata) = &rq; + ((udata_t *)Curproc->p_udata)->u_ptab = Curptab; + ((udata_t *)Curproc->p_udata)->u_insys = 1; + ((udata_t *)Curproc->p_udata)->u_argn0 = (unsigned int)tvec; + ((udata_t *)Curproc->p_udata)->u_callno = 30; + systrace_entry(); + result = sys_time(); + ((udata_t *)Curproc->p_udata)->u_retval = (int)result; + systrace_exit(); + + + + + + + + + ((udata_t *)Curproc->p_udata) = 0; + return result; +} + + diff --git a/src/nos/filesys/xip.c b/src/nos/filesys/xip.c index fef22248..2c5819ba 100644 --- a/src/nos/filesys/xip.c +++ b/src/nos/filesys/xip.c @@ -22,13 +22,7 @@ **********************************************************/ #include -#include -#include -#include -#include "z80/asm.h" -#include "uzi/devio.h" -#include "uzi/rtc.h" -#include "uzi/filesys.h" +#include /* for S_IFMT and others */ #include "uzi/xip.h" #include "uzi/process.h" #include "uzi/maxmin.h" diff --git a/src/nos/filesys/xip.i b/src/nos/filesys/xip.i new file mode 100644 index 00000000..6f91c029 --- /dev/null +++ b/src/nos/filesys/xip.i @@ -0,0 +1,3754 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int sys_nerr; + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *strerror (int _errno); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int xip_align(cinode_t *ino, off_t size); +int xip_ualign(cinode_t *ino, off_t size); +blkno_t *xip_examine(filesys_t *dev, cinode_t *ino, off_t size, + blkno_t *regioncount, blkno_t *blockcount); +blkno_t xip_align_chase(filesys_t *dev, cinode_t *ino, blkno_t blk, + blkno_t pos, blkno_t *region, blkno_t regions, blkno_t blocks); +blkno_t xip_align_bmap(cinode_t *ino, blkno_t newno, blkno_t pos); +blkno_t xip_align_reverse(blkno_t blk, + blkno_t *region, blkno_t regions, blkno_t blocks); +blkno_t xip_align_recurse(filesys_t *dev, cinode_t *ino, int exclude, + blkno_t *parent, char *dirty, + int indirection, blkno_t *region, + blkno_t regions, blkno_t blocks); +blkno_t xip_search(dev_t devno, int size, blkno_t start, blkno_t final); +int xip_reserve(dev_t devno, blkno_t blk, int size, int flag, + blkno_t start, blkno_t final); +blkno_t xip_find(dev_t devno, blkno_t blk, int flag, int toggle, + blkno_t start, blkno_t final); +int xip_get(dev_t devno, blkno_t blk, blkno_t start, blkno_t final); +int xip_set(dev_t devno, blkno_t blk, int flag, + blkno_t start, blkno_t final); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int +xip_align(cinode_t *ino, off_t size) + { + blkno_t i, j, k; + blkno_t blk, pos, newno; + blkno_t *region, regions, blocks; + filesys_t *dev; + dev_t devno; + cinode_t *other; + int flag, exclude, indirection; + + + _dprintf(3, _("xip_align(0x%x, %ld) starting\n"), ino, size); + + + + + + devno = ino->c_dev; + dev = getfs(devno); + if (dev->s_bitmap_immov >= dev->s_bitmap_final) + { + ((udata_t *)Curproc->p_udata)->u_error = 46 ; + + _dprintf(3, _("xip_align() returning -1 a\n")); + + return -1; + } + + + if ((ino->c_node.i_mode & 0170000 ) == 0120000 ) + { + ((udata_t *)Curproc->p_udata)->u_error = 42 ; + return -1; + } + if ((ino->c_node.i_mode & 0170000 ) != 0100000 ) + { + ((udata_t *)Curproc->p_udata)->u_error = 45 ; + + _dprintf(3, _("xip_ualign() returning -1 b\n")); + + return -1; + } + + + regions = (size + (1<<14 ) - 1) >> 14 ; + if (regions > (0x200 / sizeof(blkno_t))) + { + ((udata_t *)Curproc->p_udata)->u_error = 28 ; + + _dprintf(3, _("xip_align() returning -1 c\n")); + + return -1; + } + + + region = (blkno_t *)zerobuf(1); ; + + + blocks = (size + 0x200 - 1) >> 9 ; + + + pos = 0; + for (i = 0; i < regions; i++) + { + + k = min_int(blocks - pos, ((1<<14 )/0x200 )); + + + j = xip_search(devno, k, dev->s_bitmap_immov, + dev->s_bitmap_final); + if (j == (blkno_t)-1) + { + + ((udata_t *)Curproc->p_udata)->u_error = 28 ; + + regions = i; + goto xip_align_error; + } + + + region[i] = j; + if (xip_reserve(devno, j, k, 1, dev->s_bitmap_immov, + dev->s_bitmap_final)) + { + + ; + + regions = i; + goto xip_align_error; + } + + + pos += ((1<<14 )/0x200 ); + } + + + _dprintf(2, _("processing my inode %d\n"), ino->c_num); + + + + pos = 0; + for (i = 0; i < regions; i++) + { + + k = min_int(blocks - pos, ((1<<14 )/0x200 )); + + + blk = region[i]; + for (j = 0; j < k; j++) + { + + flag = xip_set(devno, blk, 1, dev->s_bitmap_block, + dev->s_bitmap_immov); + if (flag == -1) + { + + + + goto xip_align_error; + } + + if (flag == 0) + { + + newno = xip_align_chase(dev, ino, blk, pos, + region, regions, blocks); + if (newno == (blkno_t)-1) + { + + + + goto xip_align_error; + } + + + if (xip_set(devno, newno, 0, + dev->s_bitmap_block, + dev->s_bitmap_immov) != 1) + { + + + + goto xip_align_error; + } + } + + blk++; + pos++; + } + } + + + + k = (((dev)->s_isize) << 3 ); + for (j = 1 ; j < k; j++) + { + + j = xip_find(devno, j, 1, 0, dev->s_bitmap_inode, + dev->s_bitmap_block); + if (j == (blkno_t)-1) + { + + + + goto xip_align_error; + } + + if (j < 1 || j >= k) + { + break; + } + + other = i_open(devno, j); + if (other == ((ino_t)0)) + { + + + + goto xip_align_error; + } + + + _dprintf(2, _("processing other inode %d\n"), other->c_num); + + + + + + + + + + + flag = other->c_node.i_mode & 0170000 ; + if (flag != 0120000 && + flag != 0100000 && + flag != 0040000 && + flag != 0110000 && + flag != 0060000 && + flag != 0020000 ) + { + i_deref(other); + continue; + } + + + if (flag == 0120000 || flag == 0100000 || + flag == 0040000 || flag == 0110000 ) + { + + + indirection = 0; + exclude = (ino == other) ? 2 : (flag == 0120000 ); + + for (i = ((exclude == 1) ? 18 : 0); + + + + i <= 18 +1 ; i++) + { + if (i == 18 ) + { + + indirection = 1; + } + else if (i == 18 +1 ) + { + + indirection = 2; + } + blk = other->c_node.i_addr[i]; + + if (blk) + { + pos = xip_align_recurse(dev, + ino, exclude, + &other->c_node.i_addr[i], + &other->c_dirty, indirection, + region, regions, blocks); + + + if (pos != (blkno_t)-1) + { + blk = xip_align_chase( + dev, ino, + blk, pos, + region, regions, blocks); + + if (blk == (blkno_t)-1) + { + + + + break; + } + + + if (xip_set(devno, blk, 0, + dev->s_bitmap_block, + dev->s_bitmap_immov) + != 1) + { + + + + break; + } + } + } + + } + } + + i_deref(other); + } + + if (bfree((blkbuf_t *)region, 0) < 0) + { + + +xip_align_error: + + for (i = 0; i < regions; i++) + { + + xip_reserve(devno, region[i], + ((1<<14 )/0x200 ), 0, + dev->s_bitmap_immov, + dev->s_bitmap_final); + } + + + _dprintf(3, _("xip_align() returning -1 d\n")); + + return -1; + } + + ino->c_node.i_mode = (ino->c_node.i_mode & ~0170000 ) | 0120000 ; + ino->c_dirty = 1; + i_sync(); + + + _dprintf(3, _("xip_align() returning 0, success\n")); + + return 0; + } + + + + +int +xip_ualign(cinode_t *ino, off_t size) + { + blkno_t i, j, pos; + blkno_t *region, regions, blocks; + filesys_t *dev; + dev_t devno; + + + _dprintf(3, _("xip_ualign(0x%x, %ld) starting\n"), ino, size); + + + + devno = ino->c_dev; + dev = getfs(devno); + + + region = xip_examine(dev, ino, size, ®ions, &blocks); + if (region == 0) + { + + _dprintf(3, _("xip_ualign() returning -1 a\n")); + + return -1; + } + + + pos = 0; + for (i = 0; i < regions; i++) + { + + j = min_int(blocks - pos, ((1<<14 )/0x200 )); + + + if (xip_reserve(devno, region[i], j, 0, + dev->s_bitmap_immov, + dev->s_bitmap_final)) + { + + ; + + _dprintf(3, _("xip_ualign() returning -1 f\n")); + + return -1; + } + + pos += ((1<<14 )/0x200 ); + } + + if (bfree((blkbuf_t *)region, 0) < 0) + { + + } + + ino->c_node.i_mode = (ino->c_node.i_mode & ~0170000 ) | 0100000 ; + ino->c_dirty = 1; + i_sync(); + + + _dprintf(3, _("xip_ualign() returning 0\n")); + + return 0; + } + + + + +blkno_t * +xip_examine(filesys_t *dev, cinode_t *ino, off_t size, + blkno_t *regioncount, blkno_t *blockcount) + { + blkno_t i, j, k; + blkno_t blk, pos, newno; + blkno_t *region, regions, blocks; + + + _dprintf(3, _("xip_examine(0x%x, 0x%x, %ld, 0x%x, 0x%x) starting\n"), + dev, ino, size, regioncount, blockcount); + + + if (dev->s_bitmap_immov >= dev->s_bitmap_final) + { + ((udata_t *)Curproc->p_udata)->u_error = 46 ; + + _dprintf(3, _("xip_examine() returning NULL, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return 0; + } + + + if ((ino->c_node.i_mode & 0170000 ) == 0100000 ) + { + ((udata_t *)Curproc->p_udata)->u_error = 43 ; + + _dprintf(3, _("xip_examine() returning NULL, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return 0; + } + if ((ino->c_node.i_mode & 0170000 ) != 0120000 ) + { + ((udata_t *)Curproc->p_udata)->u_error = 45 ; + + _dprintf(3, _("xip_examine() returning NULL, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return 0; + } + + + regions = (size + (1<<14 ) - 1) >> 14 ; + if (regions > (0x200 / sizeof(blkno_t))) + { + ((udata_t *)Curproc->p_udata)->u_error = 28 ; + + _dprintf(3, _("xip_examine() returning NULL, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return 0; + } + + + region = (blkno_t *)zerobuf(1); ; + + + blocks = (size + 0x200 - 1) >> 9 ; + + + pos = 0; + for (i = 0; i < regions; i++) + { + + k = min_int(blocks - pos, ((1<<14 )/0x200 )); + + + blk = bmap(ino, pos, 1); + if ((blk & (((1<<12 )/0x200 )-1)) || blk == ((blkno_t)-1)) + { + ((udata_t *)Curproc->p_udata)->u_error = 43 ; + + _dprintf(3, _("xip_examine() returning NULL, error %u a\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return 0; + } + region[i] = blk; + pos++; + + + for (j = 1; j < k; j++) + { + blk++; + newno = bmap(ino, pos, 1); + if (newno != blk) + { + ((udata_t *)Curproc->p_udata)->u_error = 43 ; + + _dprintf(3, _("xip_examine() returning NULL, error %u b\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return 0; + } + pos++; + } + } + + *regioncount = regions; + *blockcount = blocks; + + _dprintf(3, _("xip_examine() returning 0x%x (%d, %d)\n"), region, regions, blocks); + + return region; + } + + + + +blkno_t +xip_align_chase(filesys_t *dev, cinode_t *ino, blkno_t blk, blkno_t pos, + blkno_t *region, blkno_t regions, + blkno_t blocks) + { + int i, occupied; + blkbuf_t *buf, *other; + + + _dprintf(3, _("xip_align_chase(0x%x, 0x%x, %d, %d, 0x%x, %d, %d) starting\n"), + dev, ino, blk, pos, region, regions, blocks); + + + + if (blk < (dev->s_reserv + dev->s_isize) || blk >= dev->s_fsize) + { + ((udata_t *)Curproc->p_udata)->u_error = 47 ; + + _dprintf(1, _("xip_align_chase() 1 ino = %d, blk = %d, pos = %d\n"), + ino->c_num, blk, pos); + + return (blkno_t)-1; + } + + + while (1) + { + + blk = xip_align_bmap(ino, blk, pos); + if (blk == (blkno_t)-1) + { + + return (blkno_t)-1; + } + + + if (blk < (dev->s_reserv + dev->s_isize) || + blk >= dev->s_fsize) + { + ((udata_t *)Curproc->p_udata)->u_error = 47 ; + + _dprintf(1, _("xip_align_chase() 2 ino = %d, blk = %d, pos = %d\n"), + ino->c_num, blk, pos); + + + _dprintf(3, _("xip_align_chase() returning -1, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return (blkno_t)-1; + } + + + pos = xip_align_reverse(blk, region, regions, blocks); + if (pos == (blkno_t)-1) + { + + _dprintf(3, _("xip_align_chase() returning %d, ok\n"), blk); + + return blk; + } + + + } + } + + + + +blkno_t +xip_align_bmap(cinode_t *ino, blkno_t newno, blkno_t pos) + { + dev_t devno; + int i, j, sh; + blkno_t blk; + blkbuf_t *buf, *other; + + + _dprintf(3, _("xip_align_bmap(0x%x, %u) starting\n"), ino, pos); + + + devno = ino->c_dev; + + if (pos < 18 ) + { + blk = ino->c_node.i_addr[pos]; + if (blk == 0) + { + goto Err; + } + ino->c_node.i_addr[pos] = newno; + ino->c_dirty = 1; + goto Ok; + } + + + + + pos -= 18 ; + sh = 0; + j = 1 +1 ; + if (pos >= 0x200 / sizeof(blkno_t)) + { + sh = 8; + pos -= 0x200 / sizeof(blkno_t); + j -= 1 ; + } + + + + blk = ino->c_node.i_addr[(18 +1 +1 ) - j]; + if (blk == 0) + { + ((udata_t *)Curproc->p_udata)->u_error = 44 ; + goto Err; + } + + while (j < 1 +1 ) + { + buf = (blkbuf_t *)bread(devno, blk, 0); + if (buf == 0) + { + goto Err; + } + i = (pos >> sh) & (0x200 / sizeof(blkno_t) - 1); + blk = ((blkno_t *)buf)[i]; + if (bfree(buf, 0) < 0) + { + goto Err; + } + if (blk == 0) + { + ((udata_t *)Curproc->p_udata)->u_error = 44 ; + goto Err; + } + sh -= 8; + ++j; + } + + buf = (blkbuf_t *)bread(devno, blk, 0); + if (buf == 0) + { +Err: + + _dprintf(3, _("xip_align_bmap() returning -1, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return (blkno_t)-1; + } + i = (pos >> sh) & (0x200 / sizeof(blkno_t) - 1); + blk = ((blkno_t *)buf)[i]; + if (blk == 0) + { + ((udata_t *)Curproc->p_udata)->u_error = 44 ; + bfree(buf, 0); + goto Err; + } + ((blkno_t *)buf)[i] = newno; + if (bfree(buf, 1) < 0) + { + goto Err; + } +Ok: + + buf = (blkbuf_t *)bread(devno, blk, 0); + if (buf == 0) + { + goto Err; + } + + + _dprintf(2, _("getting block %d -> %d, errno = %d\n"), blk, newno, ((udata_t *)Curproc->p_udata)->u_error); + + + + other = (blkbuf_t *)bfind(devno, newno); + if (other) + { + + other->bf_blk = blk; + other->bf_dirty = 0; + } + + + buf->bf_blk = newno; + + if (bfree(buf, 1) < 0) + { + goto Err; + } + + + _dprintf(3, _("xip_align_bmap() returning %u, success\n"), blk); + + return blk; +} + + + + +blkno_t +xip_align_reverse(blkno_t blk, + blkno_t *region, blkno_t regions, blkno_t blocks) + { + blkno_t i, k; + blkno_t pos; + + + + + + + pos = 0; + for (i = 0; i < regions; i++) + { + + k = min_int(blocks - pos, ((1<<14 )/0x200 )); + + + if (blk >= region[i] && blk < (region[i] + k)) + { + + pos += blk - region[i]; + + + + return pos; + } + + + pos += ((1<<14 )/0x200 ); + } + + + + + + return -1; + } + + + + +blkno_t +xip_align_recurse(filesys_t *dev, cinode_t *ino, int exclude, + blkno_t *parent, char *dirty, + int indirection, blkno_t *region, + blkno_t regions, blkno_t blocks) + { + dev_t devno; + int i, reserved; + blkno_t blk, newno; + blkbuf_t *buf, *other; + int moveable; + blkno_t tempblk; + char tempdirty; + blkno_t pos, chase; + + + + + + + + + + blk = *parent; + if (blk < (dev->s_reserv + dev->s_isize) || blk >= dev->s_fsize) + { + + ((udata_t *)Curproc->p_udata)->u_error = 47 ; + + _dprintf(1, _("xip_align_recurse() ino = %d, blk = %d, ind = %d, par = 0x%04x\n"), + ino->c_num, blk, indirection, parent); + + + _dprintf(3, _("xip_align_recurse() returning -1, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return (blkno_t)-1; + } + + + + + + + + + + + + { + chase = xip_align_reverse(blk, region, regions, blocks); + moveable = (chase != (blkno_t)-1); + } + + + if (moveable == 0 && indirection == 0) + { + + + + + return (blkno_t)-1; + } + + + devno = dev->s_dev; + buf = (blkbuf_t *)bread(devno, blk, 0); + if (buf == 0) + { + + _dprintf(3, _("xip_align_recurse() returning -1, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return (blkno_t)-1; + } + + + + if (indirection && (exclude != 1 || indirection > 1)) + + + + { + + for (i = 0; i < 0x200 / sizeof(blkno_t); i++) + { + newno = ((blkno_t *)buf)[i]; + + if (newno) + { + if (exclude == 2) + { + tempblk = newno; + tempdirty = 0; + + if (bfree(buf, buf->bf_dirty) < 0) + { + + _dprintf(3, _("xip_align_recurse() returning -1, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return (blkno_t)-1; + } + + pos = xip_align_recurse(dev, + ino, exclude, + &tempblk, &tempdirty, + indirection-1, + region, regions, blocks); + + buf = (blkbuf_t *)bread(devno, blk, 0); + if (buf == 0) + { + + _dprintf(3, _("xip_align_recurse() returning -1, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return (blkno_t)-1; + } + + if (tempdirty) + { + ((blkno_t *)buf)[i] = tempblk; + buf->bf_dirty = tempdirty; + } + } + else + { + pos = xip_align_recurse(dev, + ino, exclude, + &((blkno_t *)buf)[i], + &buf->bf_dirty, indirection-1, + region, regions, blocks); + } + + + if (pos != (blkno_t)-1) + { + if (exclude == 2) + { + if (bfree(buf, buf->bf_dirty) < 0) + { + + _dprintf(3, _("xip_align_recurse() returning -1, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return (blkno_t)-1; + } + } + + newno = xip_align_chase(dev, ino, + newno, pos, + region, regions, blocks); + + if (exclude == 2) + { + buf = (blkbuf_t *)bread(devno, blk, 0); + if (buf == 0) + { + + _dprintf(3, _("xip_align_recurse() returning -1, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return (blkno_t)-1; + } + } + + if (newno == (blkno_t)-1) + { + + _dprintf(3, _("xip_align_recurse() returning -1, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return (blkno_t)-1; + } + + + if (xip_set(devno, newno, 0, + dev->s_bitmap_block, + dev->s_bitmap_immov) != 1) + { + + + _dprintf(3, _("xip_align_recurse() returning -1, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return (blkno_t)-1; + } + } + } + + } + } + + + if (moveable) + { + + newno = xip_find(devno, 0, 0, 1, dev->s_bitmap_block, + dev->s_bitmap_immov); + if (newno < (dev->s_reserv + dev->s_isize) || + newno >= dev->s_fsize) + { + ((udata_t *)Curproc->p_udata)->u_error = 28 ; + + _dprintf(3, _("xip_align_recurse() returning -1, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return (blkno_t)-1; + } + + + *parent = newno; + + + *dirty = 1; + + + _dprintf(2, _("putting block %d -> %d, errno = %d\n"), blk, newno, ((udata_t *)Curproc->p_udata)->u_error); + + + + other = (blkbuf_t *)bfind(devno, newno); + if (other) + { + + other->bf_blk = blk; + other->bf_dirty = 0; + } + + + + buf->bf_blk = newno; + if (bfree(buf, 2) < 0) + { + + _dprintf(3, _("xip_align_recurse() returning -1, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return (blkno_t)-1; + } + + + + + return chase; + } + else + { + if (bfree(buf, buf->bf_dirty) < 0) + { + + _dprintf(3, _("xip_align_recurse() returning -1, error %u\n"), ((udata_t *)Curproc->p_udata)->u_error); + + return (blkno_t)-1; + } + } + + + + + return (blkno_t)-1; + } + + + + +blkno_t +xip_search(dev_t devno, int size, blkno_t start, blkno_t final) + { + char *buf, *p; + blkno_t i, j, lm, blk; + unsigned long bits, mask; + + + _dprintf(3, _("xip_search(%u, %d, %u, %u) starting\n"), + devno, size, start, final); + + + + + if (size < 1 || size > 32) + { + return (blkno_t)-1; + } + + + if (size < 32) + { + mask = (1L << size) - 1; + } + else + { + mask = (unsigned long)-1; + } + + + + bits = (unsigned long)-1; + + + j = start; + while (j < final) + { + + lm = min_int((j + 0x200 ) & ~(0x200 - 1), final); + + + buf = bread(devno, j >> 9 , 0); + if (buf == 0) + { + + _dprintf(3, _("xip_search() returning -1, i/o error\n")); + + return (blkno_t)-1; + } + p = buf + (j & (0x200 - 1)); + + + for (i = j; i < lm; i += (((1<<12 )/0x200 ) >> 3)) + { + bits = (bits >> ((1<<12 )/0x200 )) | + (((unsigned long)*p) << (32 - ((1<<12 )/0x200 ))); + + if ((bits & mask) == 0) + { + + + + blk = ((i - start) << 3) - (32 - ((1<<12 )/0x200 )); + + + if (bfree((blkbuf_t *)buf, 0) < 0) + { + + _dprintf(3, _("xip_search() returning -1, i/o error\n")); + + return (blkno_t)-1; + } + + + _dprintf(3, _("xip_search() returning %u, success\n"), blk); + + return blk; + } + + p += ((1<<12 )/0x200 ) >> 3; + } + + + if (bfree((blkbuf_t *)buf, 0) < 0) + { + + _dprintf(3, _("xip_search() returning -1, i/o error\n")); + + return (blkno_t)-1; + } + + + j = lm; + } + + + + _dprintf(3, _("xip_search() returning -1, bitmap full\n")); + + return (blkno_t)-1; + } + + + + +int +xip_reserve(dev_t devno, blkno_t blk, int size, int flag, + blkno_t start, blkno_t final) + { + blkno_t i, j, lm; + char *buf, *p, mask; + + + _dprintf(3, _("xip_reserve(%u, %u, %d, %d, %u, %u) starting\n"), + devno, blk, size, flag, start, final); + + + + j = start + (blk >> 3); + if (j >= final) + { + + _dprintf(3, _("xip_reserve() returning -1, out of range\n")); + + return -1; + } + + + buf = bread(devno, j >> 9 , 0); + if (buf == 0) + { + + _dprintf(3, _("xip_reserve() returning -1, i/o error\n")); + + return -1; + } + p = buf + (j & (0x200 - 1)); + + + lm = min_int((j + 0x200 ) & ~(0x200 - 1), final); + + + mask = flag ? 0xff : 0; + while (size > 8) + { + *p++ = mask; + + j++; + if (j >= lm) + { + + if (j >= final) + { + + _dprintf(3, _("xip_reserve() returning -1, out of range\n")); + + return -1; + } + + + if (bfree((blkbuf_t *)buf, 1) < 0) + { + + _dprintf(3, _("xip_reserve() returning -1, i/o error\n")); + + return -1; + } + + + buf = bread(devno, j >> 9 , 0); + if (buf == 0) + { + + _dprintf(3, _("xip_reserve() returning -1, i/o error\n")); + + return -1; + } + p = buf; + + + lm = min_int((j + 0x200 ) & ~(0x200 - 1), final); + } + + size -= 8; + } + + + mask = (1 << size) - 1; + if (flag) + { + *p |= mask; + } + else + { + *p &= ~mask; + } + + + if (bfree((blkbuf_t *)buf, 1) < 0) + { + + _dprintf(3, _("xip_reserve() returning -1, i/o error\n")); + + return -1; + } + + + _dprintf(3, _("xip_reserve() returning 0, success\n")); + + return 0; + } + + + + +blkno_t +xip_find(dev_t devno, blkno_t blk, int flag, int toggle, + blkno_t start, blkno_t final) + { + char c, first; + char *buf, *p, mask; + blkno_t i, j, lm; + + + _dprintf(3, _("xip_find(%u, %u, %d, %d, %u, %u) starting\n"), + devno, blk, flag, toggle, start, final); + + + + mask = flag ? 0 : 0xff; + + + first = ~((1 << (blk & 7)) - 1); + + + j = start + (blk >> 3); + while (j < final) + { + + lm = min_int((j + 0x200 ) & ~(0x200 - 1), final); + + + buf = bread(devno, j >> 9 , 0); + if (buf == 0) + { + + _dprintf(3, _("xip_find() returning -1, i/o error\n")); + + return (blkno_t)-1; + } + p = buf + (j & (0x200 - 1)); + + + for (i = j; i < lm; i++) + { + c = (*p ^ mask) & first; + first = 0xff; + + if (c) + { + + + + blk = (i - start) << 3; + for (i = 0; i < 7; i++) + { + if (c & (1 << i)) + { + break; + } + } + blk += i; + + if (toggle) + { + + *p ^= 1 << i; + if (bfree((blkbuf_t *)buf, 1) < 0) + { + + _dprintf(3, _("xip_find() returning -1, i/o error\n")); + + return (blkno_t)-1; + } + } + else + { + if (bfree((blkbuf_t *)buf, 0) < 0) + { + + _dprintf(3, _("xip_find() returning -1, i/o error\n")); + + return (blkno_t)-1; + } + } + + + _dprintf(3, _("xip_find() returning %u, success\n"), blk); + + return blk; + } + + p++; + } + + + if (bfree((blkbuf_t *)buf, 0) < 0) + { + + _dprintf(3, _("xip_find() returning -1, i/o error\n")); + + return (blkno_t)-1; + } + + + j = lm; + } + + + blk = (j - start) << 3; + + _dprintf(3, _("xip_find() returning %u, bitmap full\n"), blk); + + return blk; + } + + + + +int +xip_get(dev_t devno, blkno_t blk, blkno_t start, blkno_t final) + { + blkno_t i, j; + char *buf, *p; + + + _dprintf(3, _("xip_get(%u, %u, %u, %u) starting\n"), devno, blk, start, final); + + + + j = start + (blk >> 3); + if (j >= final) + { + + _dprintf(3, _("xip_get() returning -1, out of range\n")); + + return -1; + } + i = 1 << (blk & 7); + + + buf = bread(devno, j >> 9 , 0); + if (buf == 0) + { + + _dprintf(3, _("xip_get() returning -1, i/o error\n")); + + return -1; + } + p = buf + (j & (0x200 - 1)); + + + i = ((*p & i) != 0); + + if (bfree((blkbuf_t *)buf, 0) < 0) + { + + _dprintf(3, _("xip_get() returning -1, i/o error\n")); + + return -1; + } + + + _dprintf(3, _("xip_get() returning %d, success\n"), i); + + return i; + } + + + + +int +xip_set(dev_t devno, blkno_t blk, int flag, + blkno_t start, blkno_t final) + { + blkno_t i, j; + char *buf, *p, mask; + + + _dprintf(3, _("xip_set(%u, %u, %d, %u, %u) starting\n"), + devno, blk, flag, start, final); + + + + j = start + (blk >> 3); + if (j >= final) + { + + _dprintf(3, _("xip_set() returning -1, out of range\n")); + + return -1; + } + mask = 1 << (blk & 7); + + + buf = bread(devno, j >> 9 , 0); + if (buf == 0) + { + + _dprintf(3, _("xip_set() returning -1, i/o error\n")); + + return -1; + } + p = buf + (j & (0x200 - 1)); + + + i = (flag != 0); + j = ((*p & mask) != 0); + + + if (i != j) + { + *p ^= mask; + if (bfree((blkbuf_t *)buf, 1) < 0) + { + + _dprintf(3, _("xip_set() returning -1, i/o error\n")); + + return -1; + } + } + else + { + if (bfree((blkbuf_t *)buf, 0) < 0) + { + + _dprintf(3, _("xip_set() returning -1, i/o error\n")); + + return -1; + } + } + + + _dprintf(3, _("xip_set() returning %d, success\n"), j); + + return j; + } + + diff --git a/src/nos/g.sh b/src/nos/g.sh index 076c44bd..353f1adf 100644 --- a/src/nos/g.sh +++ b/src/nos/g.sh @@ -1,6 +1,7 @@ #!/bin/sh grep "$1" ax25/* grep "$1" clients/* +grep "$1" crt/* grep "$1" drivers/* grep "$1" dump/* grep "$1" filesys/* diff --git a/src/nos/gboot/CVS/Entries b/src/nos/gboot/CVS/Entries new file mode 100644 index 00000000..62f0f4c6 --- /dev/null +++ b/src/nos/gboot/CVS/Entries @@ -0,0 +1,18 @@ +/build.ban/1.1.1.1/Mon Nov 17 19:06:22 2003// +/checksum.dat/1.1.1.1/Mon Nov 17 19:06:22 2003/-kb/ +/clears.inc/1.1.1.1/Mon Nov 17 19:06:22 2003// +/copyr.inc/1.1.1.1/Mon Nov 17 19:06:22 2003// +/diag.inc/1.1.1.1/Mon Nov 17 19:06:22 2003// +/gboot.S/1.2/Tue Dec 2 07:41:10 2003// +/gboot.lnk/1.1.1.1/Mon Nov 17 19:06:22 2003// +/gboot.sav/1.1.1.1/Mon Nov 17 19:06:24 2003// +/io64180.inc/1.1.1.1/Mon Nov 17 19:06:24 2003// +/n.ba%/1.1.1.1/Mon Nov 17 19:06:24 2003// +/n.sh/1.1.1.1/Mon Nov 17 19:06:24 2003// +/s.sh/1.1.1.1/Mon Nov 17 19:06:24 2003// +/uzboot.asm/1.1.1.1/Mon Nov 17 19:06:24 2003// +/uzboot.lnk/1.1.1.1/Mon Nov 17 19:06:24 2003// +/uzdata.asm/1.1.1.1/Mon Nov 17 19:06:24 2003// +/uzfile.asm/1.1.1.1/Mon Nov 17 19:06:24 2003// +/uzmain.asm/1.1.1.1/Mon Nov 17 19:06:24 2003// +D diff --git a/src/nos/gboot/CVS/Repository b/src/nos/gboot/CVS/Repository new file mode 100644 index 00000000..1fcfe895 --- /dev/null +++ b/src/nos/gboot/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/gboot diff --git a/src/nos/gboot/CVS/Root b/src/nos/gboot/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/gboot/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/gboot/gboot.S b/src/nos/gboot/gboot.S index 5a632549..192e3c92 100644 --- a/src/nos/gboot/gboot.S +++ b/src/nos/gboot/gboot.S @@ -1104,8 +1104,10 @@ initial_boot: call gmess defb 'loading A:KERNEL.BIN',0dh,0ah,0 +#ifdef OLD_LAYOUT ld a,'1' ld (argument_1+7),a ; so kernel will use /dev/hd1 as root +#endif loop: ld de,(LDMAX) or a @@ -1214,7 +1216,12 @@ arguments: defw argument_0-parameters defw argument_1-parameters defw 0 ; terminates the argument list argument_0: defb '/boot/kernel.bin',0 -argument_1: defb 'root=hd0',0 +argument_1: +#ifdef OLD_LAYOUT + defb 'root=hd0',0 +#else + defb '-v',0 +#endif environment: defw environment_0-parameters defw 0 ; terminates the environment list environment_0: defb 'SN=00000',0 diff --git a/src/nos/gboot/io64180.inc b/src/nos/gboot/io64180.inc index 01380ae1..07ef7d73 100644 --- a/src/nos/gboot/io64180.inc +++ b/src/nos/gboot/io64180.inc @@ -3,7 +3,7 @@ ; This files defines the internal register addresses ; for HD64180 ; -; File version: $Revision: 1.4 $ +; File version: $Revision: 1.1.1.1 $ ; ; */ ; diff --git a/src/nos/iar/CVS/Entries b/src/nos/iar/CVS/Entries new file mode 100644 index 00000000..afee8259 --- /dev/null +++ b/src/nos/iar/CVS/Entries @@ -0,0 +1,204 @@ +/BANKCALLDIRECT!.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BANKCALLDIRECT.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BANKCALLDIRECTEXAF!.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BANKCALLDIRECTEXAF.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BANKLEAVE32!.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BANKLEAVE32.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BANKLEAVEDIRECT!.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BANKLEAVEDIRECT.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFCANDASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFCLSHASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFCMULASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFCORASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFCRETVAL.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFCSHIFTUP.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFCXORASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFMASKEDLD.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFMASKEDST.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSADDASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSANDASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSCDIVASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSCEXT.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSCLDSHIFTDOWN.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSCMODASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSCRSHASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSLSHASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSMULASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSNEGASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSORASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSPOSTDEC.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSPOSTINC.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSPREDEC.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSPREINC.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSRETVAL.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSSDIVASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSSEXT.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSSHIFTUP.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSSLDSHIFTDOWN.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSSMODASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSSRSHASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSSUBASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFSXORASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFUCDIVASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFUCLDSHIFTDOWN.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFUCMODASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFUCRSHASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFUSDIVASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFUSLDSHIFTDOWN.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFUSMODASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/BFUSRSHASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/CALLIND.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/CDIVMOD.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/CFINDSIGN.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/CLSH.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/CLSHASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/CMUL.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/CMULASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/CSSWITCH.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/CVSWITCH.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ENTAUTODIRECT.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ENTPARMDIRECT.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/FADDASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/FADDSUB.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/FCMP.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/FDEC.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/FDECASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/FDIV.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/FDIVASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/FENDASG2.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/FINC.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/FINCASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/FMUL.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/FMULASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/FNEGASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/FPACK.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/FROUND.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/FSUBASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/FTOL.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/FUNPACK.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/L/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LADDASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LAND.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LANDASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LDEC.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LDECASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LDIVMOD.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LEAVE32.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LEAVEDIRECT.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LENDASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LENDMULDIVASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LFINDSIGN.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LIBVERSION.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LINC.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LINCASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LLSH.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LLSHASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LMUL.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LMULASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LNEG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LNEGASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LNOT.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LNOTASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LOR.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LORASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LSSWITCH.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LSUBASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LTOF.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LVSWITCH.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LXOR.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/LXORASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/MEMCMP.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/MEMSET.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/MONITORBANKLEAVE.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/MONITORBANKLEAVE32.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/MONITORBANKLEAVEIX.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/MONITORBANKLEAVEPOP.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/MONITORLEAVE.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/MONITORLEAVE32.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/MONITORLEAVEIX.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/MONITORLEAVEIXPA.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/MONITORLEAVEPA.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/MONITORLEAVEPOP.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SCDIV.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SCMOD.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SCRSH.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SCRSHASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SDIVMOD.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SFINDSIGN.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SLCMP.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SLDIV.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SLDIVASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SLMOD.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SLMODASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SLRSH.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SLRSHASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SLSH.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SLSHASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SLSHASGBCprim.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SLSHASGDEprim.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SMUL.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SMULASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SMULASGBCprim.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SMULASGDEprim.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SMULASGIX.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SMULASGIY.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSCMP.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSDIV.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSDIVASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSDIVASGBCprim.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSDIVASGDEprim.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSDIVASGIX.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSDIVASGIY.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSMOD.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSMODASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSMODASGBCprim.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSMODASGDEprim.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSMODASGIX.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSMODASGIY.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSRSH.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSRSHASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSRSHASGBCprim.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSRSHASGDEprim.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSRSHASGIX.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSRSHASGIY.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSSWITCH.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SSWITCHEND.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/STRCAT.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/STRCHR.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/STRCMP.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/STRCPY.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/STRLEN.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/SVSWITCH.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/UCDIV.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/UCMOD.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/UCRSH.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/UCRSHASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ULDIV.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ULDIVASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ULMOD.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ULMODASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ULRSH.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ULRSHASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/USDIV.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/USDIVASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/USDIVASGBCprim.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/USDIVASGDEprim.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/USDIVASGIX.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/USDIVASGIY.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/USMOD.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/USMODASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/USMODASGBCprim.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/USMODASGDEprim.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/USMODASGIX.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/USMODASGIY.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/USRSH.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/USRSHASG.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/USRSHASGBCprim.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/USRSHASGDEprim.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/USRSHASGIX.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/USRSHASGIY.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/VSWITCHEND.S/1.1.1.1/Mon Nov 17 19:06:24 2003// +/auto.mk/1.1.1.1/Mon Nov 17 19:06:24 2003// +/iar_defs.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/makefile/1.1.1.1/Mon Nov 17 19:06:24 2003// +D diff --git a/src/nos/iar/CVS/Repository b/src/nos/iar/CVS/Repository new file mode 100644 index 00000000..dc5dc603 --- /dev/null +++ b/src/nos/iar/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/iar diff --git a/src/nos/iar/CVS/Root b/src/nos/iar/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/iar/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/include/CVS/Entries b/src/nos/include/CVS/Entries new file mode 100644 index 00000000..4f65395d --- /dev/null +++ b/src/nos/include/CVS/Entries @@ -0,0 +1,58 @@ +/!readme!/1.1.1.1/Mon Nov 17 19:06:24 2003// +/alloc.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ar.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/assert.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ctype.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ctype.h%/1.1.1.1/Mon Nov 17 19:06:24 2003// +/curses.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/dirent.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/errno.h/1.2/Tue Nov 25 06:46:12 2003// +/errno.h%/1.1.1.1/Mon Nov 17 19:06:24 2003// +/fcntl.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/features.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/float.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/getopt.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/grp.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/intrz80.h$/1.1.1.1/Mon Nov 17 19:06:24 2003// +/libintl.h/1.2/Tue Feb 10 10:10:26 2004// +/limits.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/malloc.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/math.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/mem.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/memory.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ncurses.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/paths.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/pwd.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/regexp.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/regmagic.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/search.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/setjmp.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/setjmp.h$/1.1.1.1/Mon Nov 17 19:06:24 2003// +/setjmp.h%/1.1.1.1/Mon Nov 17 19:06:24 2003// +/sgtty.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/signal.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/stdarg.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/stdarg.h%/1.1.1.1/Mon Nov 17 19:06:24 2003// +/stddef.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/stdio.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/stdlib.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/string.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/strings.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/syscalls.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/sysmac.h%/1.1.1.1/Mon Nov 17 19:06:24 2003// +/tcpip.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/termcap.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/termio.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/termios.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/time.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/unistd.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/utime.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/utmp.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/utsname.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/varargs.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/vendor.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +D/nos//// +D/po//// +D/sys//// +D/uzi//// +D/z80//// diff --git a/src/nos/include/CVS/Repository b/src/nos/include/CVS/Repository new file mode 100644 index 00000000..db7785b4 --- /dev/null +++ b/src/nos/include/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/include diff --git a/src/nos/include/CVS/Root b/src/nos/include/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/include/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/include/ctype.h% b/src/nos/include/ctype.h% index 6fbe01ee..1ef0615b 100644 --- a/src/nos/include/ctype.h% +++ b/src/nos/include/ctype.h% @@ -4,7 +4,7 @@ Note: 7-bit ASCII or 8-bit ASCII may be supported by these functions. - $Name: V3_34K V3_34J V3_34I V3_34H V3_34G $ + $Name: $ Copyright 1986 - 1999 IAR Systems. All rights reserved. */ @@ -18,7 +18,7 @@ Defines system macros to maintain source compatibility with different IAR compilers. - $Name: V3_34K V3_34J V3_34I V3_34H $ + $Name: $ Copyright 1986 - 1999 IAR Systems. All rights reserved. */ diff --git a/src/nos/include/errno.h b/src/nos/include/errno.h index c1d37262..0af3809a 100644 --- a/src/nos/include/errno.h +++ b/src/nos/include/errno.h @@ -72,6 +72,7 @@ extern char *sys_errlist[]; #if 0 extern int errno; #else +#include "nos/proc.h" /* Nick */ #define errno (Curproc->p_errno) #endif /*RPB*/ diff --git a/src/nos/include/libintl.h b/src/nos/include/libintl.h index bfd93d16..d2b5853c 100644 --- a/src/nos/include/libintl.h +++ b/src/nos/include/libintl.h @@ -21,8 +21,14 @@ int _puts(_char *string); char *_strcpy(char *buffer, _char *string); int _strlen(_char *string); #define _strdup(string) ((char *)_gettext(string)) +/*RPB*/ +#define _strdupw(string) ((char *)_gettext(string)) /* Will do for now */ +/*RPB*/ int _strncmp(const char *buffer, _char *string, size_t count); char *_strncpy(char *buffer, _char *string, size_t count); +/*RPB*/ +int _stricmp(const char *buffer, _char *string); +/*RPB*/ #else diff --git a/src/nos/include/nos/CVS/Entries b/src/nos/include/nos/CVS/Entries new file mode 100644 index 00000000..c5269ac3 --- /dev/null +++ b/src/nos/include/nos/CVS/Entries @@ -0,0 +1,89 @@ +/ahdlc.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/arcnet.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/arp.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/asci.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/asmglobl.x86/1.1.1.1/Mon Nov 17 19:06:24 2003// +/asy.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ax25.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ax25mail.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/bm.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/bootp.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/bootpd.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/cmdparse.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/commands.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/config.h/1.3/Fri Jan 23 12:48:36 2004// +/conv.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/crc.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/daemon.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/devparam.h/1.2/Wed Feb 4 13:34:18 2004// +/dialer.h/1.2/Fri Jan 23 12:48:36 2004// +/dirutil.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/display.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/dma.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/domain.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/drsi.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/eagle.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/enet.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/escc.h/1.2/Fri Jan 23 12:48:36 2004// +/esccgen.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/files.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ftp.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ftpcli.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ftpserv.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/global.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/hapn.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/hardware.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/hs.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/icmp.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/iface.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/internet.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ip.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/kiss.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/lapb.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/logmsg.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/lzw.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/mailbox.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/main.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/mbuf.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/md5.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/n8250.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/netrom.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/netuser.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/nospc.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/nospc.h%/1.1.1.1/Mon Nov 17 19:06:24 2003// +/nr4.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/nr4mail.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/nrs.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/pc100.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/pi.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ping.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/pktdrvr.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/pop.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ppp.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/pppfsm.h/1.2/Tue Feb 10 09:51:20 2004// +/pppipcp.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ppplcp.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/ppppap.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/proc.h/1.2/Tue Dec 2 07:41:10 2003// +/remote.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/rip.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/sb.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/session.h/1.1.1.1/Mon Nov 17 19:06:24 2003// +/slhc.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/slip.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/smtp.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/sockaddr.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/socket.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/sppp.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/stdio.h/1.2/Tue Dec 2 07:41:10 2003// +/sync.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/tcp.h/1.2/Fri Jan 23 12:49:24 2004// +/telnet.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/timer.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/tipmail.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/trace.h/1.2/Mon Feb 23 09:18:36 2004// +/tty.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/udp.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/usock.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/z8536.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +D diff --git a/src/nos/include/nos/CVS/Repository b/src/nos/include/nos/CVS/Repository new file mode 100644 index 00000000..f6ab1b40 --- /dev/null +++ b/src/nos/include/nos/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/include/nos diff --git a/src/nos/include/nos/CVS/Root b/src/nos/include/nos/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/include/nos/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/include/nos/config.h b/src/nos/include/nos/config.h index 9ff33501..f0835b3f 100644 --- a/src/nos/include/nos/config.h +++ b/src/nos/include/nos/config.h @@ -35,7 +35,13 @@ #endif /*RPB*/ #define NSESSIONS 5 /* Number of interactive clients */ +/*RPB*/ +#if 0 #define DEFNSOCK 32 /* Default number of sockets */ +#else +#define DEFNSOCK 16 /* Default number of sockets */ +#endif +/*RPB*/ /* I don't think this is really referenced: */ #define DEFNFILES 32 /* Default number of open files */ #else diff --git a/src/nos/include/nos/devparam.h b/src/nos/include/nos/devparam.h index b32ed48a..abc2e7c4 100644 --- a/src/nos/include/nos/devparam.h +++ b/src/nos/include/nos/devparam.h @@ -24,8 +24,13 @@ enum devparam { PARAM_MIN, PARAM_MAXKEY, PARAM_WAIT, - PARAM_DOWN=0x81, - PARAM_UP=0x82, +/*RPB*/ + PARAM_CLOSE, /* LLC control: Close data link */ + PARAM_OPEN, /* LLC control: Actively open data link */ + PARAM_LISTEN, /* LLC control: Passively open data link */ + PARAM_DOWN=0x81, /* MAC control: disable physical interface */ + PARAM_UP=0x82, /* MAC control: enable physical interface */ +/*RPB*/ PARAM_BLIND=0x83, /* should be vertigo, can't tell down/up? */ PARAM_RETURN=0xff }; diff --git a/src/nos/include/nos/dialer.h b/src/nos/include/nos/dialer.h index 357ae0a8..45b5a9d9 100644 --- a/src/nos/include/nos/dialer.h +++ b/src/nos/include/nos/dialer.h @@ -1,5 +1,8 @@ /* Dynamic dialup params */ struct asydialer { +/*RPB*/ + char *initfile; /* Script to initialize modem */ +/*RPB*/ char *actfile; /* Script to activate line */ char *dropfile; /* Script to drop line */ char *ansfile; /* Script to answer incoming call */ diff --git a/src/nos/include/nos/escc.h b/src/nos/include/nos/escc.h index fc92e798..2439aee8 100644 --- a/src/nos/include/nos/escc.h +++ b/src/nos/include/nos/escc.h @@ -11,6 +11,8 @@ * 5 Aug 91, Tom Jennings, Cygnus Support (tomj@cygnus.com). See comments * in ESCC.C * + * Dec 2003: RPB: added modem control + * */ #ifndef _MBUF_H @@ -154,11 +156,20 @@ struct esccchan { char tx_inhibit; /* Transmit is not allowed when set */ char dum; /* filler (keep addr even for speed) */ +/*RPB*/ + /* modem control settings */ + unsigned char cts; /* obey CTS lead for xmit flow control */ + unsigned char rlsd; /* obey DCD lead for line state */ +/*RPB*/ + /* statistic information on this channel */ long rxints; /* Receiver interrupts */ long txints; /* Transmitter interrupts */ long exints; /* External/status interrupts */ long spints; /* Special receiver interrupts */ +/*RPB*/ + long cdchanges; /* Count of CD changes */ +/*RPB*/ long enqueued; /* Packets actually forwarded */ long rxframes; /* Number of Frames Actally Received */ diff --git a/src/nos/include/nos/pppfsm.h b/src/nos/include/nos/pppfsm.h index 84123ddb..2fe008b4 100644 --- a/src/nos/include/nos/pppfsm.h +++ b/src/nos/include/nos/pppfsm.h @@ -22,8 +22,11 @@ /* 02: state machine messages */ #define PPP_DEBUG_RAW #define PPP_DEBUG_OPTIONS 0x08 -#define PPP_DEBUG_CHECKS(x) if(PPPtrace & 0x40) trace_log(PPPiface,x); -#define PPP_DEBUG_ROUTINES(x) if(PPPtrace & 0x80) trace_log(PPPiface,x); + +/*RPB*/ +#define PPP_DEBUG_CHECKS(x) if(PPPtrace & 0x40) _trace_log(PPPiface,x); +#define PPP_DEBUG_ROUTINES(x) if(PPPtrace & 0x80) _trace_log(PPPiface,x); +/*RPB*/ /* config packet header */ struct config_hdr { @@ -188,8 +191,10 @@ struct ppp_s { uint16 InMemory; /* # alloc failures */ }; -extern char *fsmStates[]; -extern char *fsmCodes[]; +/*RPB*/ +extern _char *fsmStates[]; +extern _char *fsmCodes[]; +/*RPB*/ void htoncnf(struct config_hdr *cnf, struct mbuf **data); int ntohcnf(struct config_hdr *cnf, struct mbuf **bpp); @@ -200,7 +205,9 @@ int fsm_no_check(struct fsm_s *fsm_p, struct config_hdr *hdr, struct mbuf **bp); -void fsm_log(struct fsm_s *fsm_p, char *comment); +/*RPB*/ +void _fsm_log(struct fsm_s *fsm_p, _char *comment); +/*RPB*/ void fsm_timer(struct fsm_s *fsm_p); int fsm_send(struct fsm_s *fsm_p, byte_t code, diff --git a/src/nos/include/nos/proc.h b/src/nos/include/nos/proc.h index 4f5f5298..73e78679 100644 --- a/src/nos/include/nos/proc.h +++ b/src/nos/include/nos/proc.h @@ -2,6 +2,7 @@ #define _PROC_H #include +#include "uzi/process.h" /* for udata_t (Nick) */ #ifndef _MBUF_H #include "nos/mbuf.h" @@ -43,15 +44,20 @@ struct proc { #if 1 /* Nick see ksubr.c */ void (*startp)(int i, void * p, void *u); /* Copy of initial pc */ #endif +#if 1 /* Nick see kernel.c */ + ptab_t *p_ptab; /* Enclosing process for the thread */ +#endif /*RPB*/ - void *p_udata; /* Process' private udata */ - int p_errno; /* Process' errno */ + udata_t *p_udata; /* Process' private udata (Nick udata_t) */ + int p_errno; /* Process' private errno */ /*RPB*/ - }; extern struct proc *Waittab[]; /* Head of wait list */ extern struct proc *Rdytab; /* Head of ready list */ -extern struct proc *Curproc; /* Currently running process */ +extern struct proc *Curproc; /* Currently running thread (prev. process) */ +#if 1 /* Nick see kernel.c */ +extern ptab_t *Curptab; /* Enclosing process for the thread */ +#endif extern struct proc *Susptab; /* Suspended processes */ extern int Stkchk; /* Stack checking flag */ extern int Kdebug; /* Control display of current task on screen */ @@ -94,11 +100,7 @@ void alert(struct proc *pp,int val); void chname(struct proc *pp,char *newname); void killproc(struct proc *pp); void killself(void); -#if 0 /* Nick */ -struct proc *mainproc(struct proc *pp, char *name); -#else -struct proc *mainproc(char *name); -#endif +void mainproc(void); struct proc *newproc(char *name,unsigned int stksize, void (*pc)(int,void *,void *), int iarg,void *parg1,void *parg2,int freeargs); @@ -130,4 +132,10 @@ void init_psetup(struct proc *pp); /* Value stashed in location 0 to detect null pointer dereferences */ #define NULLPAT 0xdead +#if 1 /* this has been moved into proc.h by Nick to avoid endless recursion */ +#define stdout Curproc->output +#define stdin Curproc->input +#define stderr Curproc->output +#endif + #endif /* _PROC_H */ diff --git a/src/nos/include/nos/slhc.h b/src/nos/include/nos/slhc.h index a39a0678..ffb9d8ed 100644 --- a/src/nos/include/nos/slhc.h +++ b/src/nos/include/nos/slhc.h @@ -3,7 +3,7 @@ /* * Definitions for tcp compression routines. * - * $Header: c:/internet/src/RCS/slhc.h 1.4 1994/01/02 09:54:16 karn Exp $ + * $Header: /home/cvsroot/uzi/src/nos/include/nos/slhc.h,v 1.1.1.1 2003/11/17 19:06:25 nick Exp $ * * Copyright (c) 1989 Regents of the University of California. * All rights reserved. diff --git a/src/nos/include/nos/stdio.h b/src/nos/include/nos/stdio.h index 3069808f..b967705d 100644 --- a/src/nos/include/nos/stdio.h +++ b/src/nos/include/nos/stdio.h @@ -79,6 +79,7 @@ typedef unsigned size_t; #define SEEK_END 2 #endif +#if 0 /* this has been moved into proc.h by Nick to avoid endless recursion */ #ifndef _PROC_H #include "proc.h" #endif @@ -86,6 +87,7 @@ typedef unsigned size_t; #define stdout Curproc->output #define stdin Curproc->input #define stderr Curproc->output +#endif #define STREAM_BINARY 0 #define STREAM_ASCII 1 diff --git a/src/nos/include/nos/tcp.h b/src/nos/include/nos/tcp.h index 58dc21a5..dd321e09 100644 --- a/src/nos/include/nos/tcp.h +++ b/src/nos/include/nos/tcp.h @@ -2,6 +2,9 @@ #define _TCP_H /* TCP implementation. Follows RFC 793 as closely as possible */ +/* + * Dec 2003: RPB: changes for TCP "flat options" processing + */ #ifndef _GLOBAL_H #include "global.h" #endif @@ -81,6 +84,18 @@ struct tcp { unsigned int wscale:1; /* Window scale option present */ unsigned int tstamp:1; /* Timestamp option present */ } flags; +/*RPB*/ + /* + * For now, as an intermediate solution to the VJ compression + * problems experienced with the original NOS code, the below option + * area is solely used for this purpose (enables store and restore + * of options in a transparant way). + * Ultimately, the above options flags should be removed in favour of + * the option area below. + */ + char optlen; /* Length of options field, bytes */ + char options[TCP_MAXOPT]; /* Options field */ +/*RPB*/ }; /* TCP options */ #define EOL_KIND 0 diff --git a/src/nos/include/nos/trace.h b/src/nos/include/nos/trace.h index 7cc670d4..e8fb3444 100644 --- a/src/nos/include/nos/trace.h +++ b/src/nos/include/nos/trace.h @@ -32,7 +32,7 @@ extern struct trace Tracef[]; /* In trace.c: */ void dump(struct iface *ifp,int direction,struct mbuf *bp); void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); -void trace_log(struct iface *ifp,char *fmt, ...); +void _trace_log(struct iface *ifp,_char *fmt, ...); /*RPB*/ void shuttrace(void); int tprintf(struct iface *ifp,char *fmt,...); void hex_dump(FILE *fp,struct mbuf **bpp); diff --git a/src/nos/include/po/.cvsignore b/src/nos/include/po/.cvsignore new file mode 100644 index 00000000..6bbae865 --- /dev/null +++ b/src/nos/include/po/.cvsignore @@ -0,0 +1 @@ +messages.h diff --git a/src/nos/include/po/CVS/Entries b/src/nos/include/po/CVS/Entries new file mode 100644 index 00000000..6810323d --- /dev/null +++ b/src/nos/include/po/CVS/Entries @@ -0,0 +1,2 @@ +/.cvsignore/1.1/Tue Dec 2 05:18:58 2003// +D diff --git a/src/nos/include/po/CVS/Repository b/src/nos/include/po/CVS/Repository new file mode 100644 index 00000000..eed4d8e1 --- /dev/null +++ b/src/nos/include/po/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/include/po diff --git a/src/nos/include/po/CVS/Root b/src/nos/include/po/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/include/po/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/include/po/messages.h b/src/nos/include/po/messages.h index 7d225550..5a350667 100644 --- a/src/nos/include/po/messages.h +++ b/src/nos/include/po/messages.h @@ -23,1609 +23,1832 @@ void __0010_7e01__09_28open_20for_20(void); void __0011_d62d__09_3c_25u_3e(void); void __0012_9f29__09IN(void); void __0013_53f6__09Local_3a_09(void); -void __0014_a684__09Remote_3a_09(void); -void __0015_e0e0__09Urgent_20pointer(void); -void __0016_c0f0__09changes_3a_200x_(void); -void __0017_6a8d__09connection_200x_(void); -void __0018_a28a__09connection_20ID_(void); -void __0019_cf72__09delta_20ACK_20an(void); -void __001a_8077__09delta_20ACK_3a_2(void); -void __001b_4a2b__09delta_20ID_3a_20(void); -void __001c_7710__09delta_20SEQ_20im(void); -void __001d_a966__09delta_20SEQ_3a_2(void); -void __001e_f05a__09delta_20WINDOW_3(void); -void __001f_ad18__09increment_20ID_0(void); -void __0020_13bc__09local_20IP_20add(void); -void __0021_efeb__09pid_20_25d_2c_20(void); -void __0022_a0dd__0a(void); -void __0023_f279__0a_20_20_20_20(void); -void __0024_f170__0a_20_20_20_20_20_(void); -void __0025_da94__0a_25s_20_2d_20_25(void); -void __0026_e088__0a_25s_20_2d_20_25(void); -void __0027_c061__0a_2a_2a_2a_20Loca(void); -void __0028_932c__0a_2a_2a_2a_20Unab(void); -void __0029_2592__0a_2a_2a_2a_2a_2a_(void); -void __002a_0887__0aCurrent_20remote(void); -void __002b_ebd8__0aReclaimation_20a(void); -void __002c_c546__0aUsed_20address_2(void); -void __002d_e8fc__0apanic_3a_20(void); -void __002e_2e85__20(void); -void __002f_4403__20_0aend_0asize_20(void); -void __0030_f289__20_20(void); -void __0031_3839__20_20_20(void); -void __0032_8d78__20_20_20_20(void); -void __0033_de40__20_20_20_20_20(void); -void __0034_3e02__20_20_20_20_20_20_(void); -void __0035_0534__20_20_20_20_20_20_(void); -void __0036_3fef__20_20_20_20_20_20_(void); -void __0037_3164__20_20_20_20_20_20_(void); -void __0038_c6d7__20_20_20_20_20_20_(void); -void __0039_9d57__20_20_20_20_20_20_(void); -void __003a_d46e__20_20_20_20_20_20_(void); -void __003b_f37c__20_20_20_20_20_20_(void); -void __003c_5dd1__20_20_20_20_20_20_(void); -void __003d_0406__20_20_20_20_20_20_(void); -void __003e_da67__20_20_20_20_20_20_(void); -void __003f_f638__20_20_20_20_20_20_(void); -void __0040_74c7__20_20_20_20_20_20_(void); -void __0041_f10d__20_20_20_20_20_20_(void); -void __0042_d02b__20_20_20_20_20_20_(void); -void __0043_0105__20_20_20_20_20_20_(void); -void __0044_c46d__20_20_20_20_20_20_(void); -void __0045_3a28__20_20_20_20_20_20_(void); -void __0046_48df__20_20_20_20_20_20_(void); -void __0047_da1e__20_20_20_20_20_20s(void); -void __0048_3800__20_20_20_20_20_26A(void); -void __0049_0e60__20_20_20_20_20_28_(void); -void __004a_d7d4__20_20_20_20_20Broa(void); -void __004b_f5a8__20_20_20_20_20Defa(void); -void __004c_de7b__20_20_20_20_20Host(void); -void __004d_a271__20_20_20_20_20INF(void); -void __004e_1775__20_20_20_20_20IP_2(void); -void __004f_7765__20_20_20_20_20Name(void); -void __0050_6879__20_20_20_20_20Subn(void); -void __0051_dac6__20_20_20_20_25_2d4(void); -void __0052_b576__20_20_20_20_2512s(void); -void __0053_e5e6__20_20_20_20_253u_0(void); -void __0054_ed50__20_20_20_20_25s_20(void); -void __0055_3528__20_20_20_20_25s_20(void); -void __0056_cbdf__20_20_20_20_25s_20(void); -void __0057_f7f3__20_20_20_20_26UCB_(void); -void __0058_9bd9__20_20_20_20In_09TC(void); -void __0059_7788__20_20_20_20Out_09T(void); -void __005a_8f4d__20_20_20_20Record_(void); -void __005b_eacd__20_20_20_20Upload_(void); -void __005c_2da2__20_20_20_25s_0a(void); -void __005d_ad66__20_20_20PUSH(void); -void __005e_9f3a__20_20_20TCP_20chec(void); -void __005f_5946__20_20_20connection(void); -void __0060_f01f__20_20_3d_3d_3d_3d_(void); -void __0061_cfff__20_20_3d_3d_3d_3d_(void); -void __0062_8181__20_20SR_20_5bnumbe(void); -void __0063_1149__20_20S_5bF_5d_20na(void); -void __0064_47af__20_20remote_20IP_2(void); -void __0065_ccb1__20_20seq_20x_25lx_(void); -void __0066_c997__20_21_3f(void); -void __0067_536e__20_21A(void); -void __0068_27d1__20_21F(void); -void __0069_ceaf__20_21H(void); -void __006a_ab99__20_21N(void); -void __006b_5266__20_21P(void); -void __006c_60fd__20_21S(void); -void __006d_bac3__20_23_20_20S_23_20(void); -void __006e_9a7d__20_25_2d15s(void); -void __006f_85f4__20_25_2d3d_20(void); -void __0070_a413__20_2502u_2f_2502u(void); -void __0071_d8f4__20_2502u_2f_2502u_(void); -void __0072_4d6e__20_2502x(void); -void __0073_cad1__20_2510lu_2510lu_2(void); -void __0074_43b6__20_254d_20_254d(void); -void __0075_78a4__20_258s_20_20_20_2(void); -void __0076_6904__20_25lu_20bps_0a(void); -void __0077_269f__20_25s(void); -void __0078_c302__20_25s_0a(void); -void __0079_10eb__20_25s_20_25s_20_2(void); -void __007a_c236__20_25s_25s(void); -void __007b_3c84__20_25s_2b_25x(void); -void __007c_97d2__20_25u_0a(void); -void __007d_5984__20_25u_2d_3e_25u(void); -void __007e_98a5__20_28_25ld_20ms_29(void); -void __007f_9556__20_28_25s_20seek_3(void); -void __0080_6268__20_28_25s_29_0a(void); -void __0081_3f71__20_28ASCII_20dump_(void); -void __0082_05b3__20_28Hex_2fASCII_2(void); -void __0083_0cd7__20_28S_29(void); -void __0084_ef5f__20_28headers_20onl(void); -void __0085_c04d__20_28published_29(void); -void __0086_ac28__20_2a_2a_2a(void); -void __0087_8841__20_2d_20(void); -void __0088_ace7__20_2d_20no_20broad(void); -void __0089_01a0__20APND(void); -void __008a_2da0__20Ack_20x_25lx(void); -void __008b_f35d__20BUSY(void); -void __008c_43af__20CE(void); -void __008d_d667__20CHECKSUM_20ERROR(void); -void __008e_5947__20CHOKE(void); -void __008f_3c3c__20DF(void); -void __0090_26b0__20Data_20_25u(void); -void __0091_5125__20EOF(void); -void __0092_2269__20ERR(void); -void __0093_869e__20IPaddr_20_25s(void); -void __0094_d267__20Illegal_20I_2dfi(void); -void __0095_d316__20Invalid_20contro(void); -void __0096_1e4f__20Invalid_20seq_20(void); -void __0097_fd02__20MC_3a_20int_20_2(void); -void __0098_eb24__20MF(void); -void __0099_747e__20MORE(void); -void __009a_c5ed__20MSS_20_25u(void); -void __009b_3976__20NAK(void); -void __009c_c092__20NR_3d_25d(void); -void __009d_dc29__20NS_3d_25d(void); -void __009e_df24__20RX_3a_20int_20_2(void); -void __009f_78a4__20Raw_20output(void); -void __00a0_a393__20Remote_3a_20_25s(void); -void __00a1_d7c2__20Retry(void); -void __00a2_42ba__20ST_3a_20int_20_2(void); -void __00a3_d322__20State_3a_20_25s_(void); -void __00a4_c86b__20TMP(void); -void __00a5_2dcc__20TSTAMP_20_25lu_2(void); -void __00a6_e8c1__20TX_3a_20int_20_2(void); -void __00a7_d70d__20Too_2dlong_20I_2(void); -void __00a8_5a85__20UP_20x_25x(void); -void __00a9_2210__20Unack_3a_20_25_2(void); -void __00aa_3a68__20Unknown_20passwo(void); -void __00ab_23f3__20Vr_20_3d_20_25d_(void); -void __00ac_a984__20WSCALE_20_25u(void); -void __00ad_1d25__20Wnd_20_25u(void); -void __00ae_e77d__20_5b_25s_5d_20_25(void); -void __00af_7762__20_5bcts_20flow_20(void); -void __00b0_2f4d__20_5brlsd_20line_2(void); -void __00b1_db59__20_5btrigger_200x_(void); -void __00b2_bc24__20asy_20(void); -void __00b3_c96a__20bad_20header_21_(void); -void __00b4_0acc__20bad_20packet_0a(void); -void __00b5_d795__20cmd_20_25u(void); -void __00b6_1813__20code_20_25s(void); -void __00b7_ad83__20dest_20_25s(void); -void __00b8_e3a3__20dest_20_25s_20_2(void); -void __00b9_4976__20diag(void); -void __00ba_e36a__20file(void); -void __00bb_5e9d__20full(void); -void __00bc_4c62__20hwaddr_20_25s_0a(void); -void __00bd_ed56__20hwlen_20_25u(void); -void __00be_2971__20hwtype_20_25s(void); -void __00bf_3119__20id_20_25u_20offs(void); -void __00c0_8f2f__20id_20_25u_20pctl(void); -void __00c1_20f7__20id_20_25u_20seq_(void); -void __00c2_8c07__20idle_20timer_20_(void); -void __00c3_7166__20input(void); -void __00c4_6c92__20len_20_25u(void); -void __00c5_0c74__20line(void); -void __00c6_2537__20new_20gateway_20(void); -void __00c7_ea43__20new_20gateway_20(void); -void __00c8_e3db__20none(void); -void __00c9_826b__20offset_20_25u_20(void); -void __00ca_6680__20op_20_25u(void); -void __00cb_f7d5__20op_20REPLY(void); -void __00cc_5e3d__20op_20REQUEST(void); -void __00cd_9500__20op_20REVERSE_20R(void); -void __00ce_3faa__20op_20REVERSE_20R(void); -void __00cf_8a3d__20output(void); -void __00d0_5896__20pid_3d0x_25x_0a(void); -void __00d1_aba6__20pid_3dARP_0a(void); -void __00d2_d4e9__20pid_3dIP_0a(void); -void __00d3_a349__20pid_3dNET_2fROM_(void); -void __00d4_932f__20pid_3dTEXNET_0a(void); -void __00d5_4927__20pid_3dText_0a(void); -void __00d6_c207__20pid_3dX_2e25_0a(void); -void __00d7_5760__20pipe(void); -void __00d8_ac0a__20pointer_20_25u(void); -void __00d9_5557__20prot_20_25s_0a(void); -void __00da_0187__20prot_20_25u_0a(void); -void __00db_75a2__20prot_200x_25x_20(void); -void __00dc_3541__20prot_20IP(void); -void __00dd_1888__20receive_20_20_2d(void); -void __00de_f2f3__20sock(void); -void __00df_c067__20spi_20_25lx(void); -void __00e0_2902__20sw_20over_20_25l(void); -void __00e1_0bfc__20tos_20_25u(void); -void __00e2_e1c5__20trace_20file_3a_(void); -void __00e3_ca97__20tracing_20off_0a(void); -void __00e4_be19__20transmit_20_2d_2(void); -void __00e5_afd2__20ttl_20_25d_0a(void); -void __00e6_6f53__20txseq_20_25d_20r(void); -void __00e7_c8f3__20type_200x_25x_0a(void); -void __00e8_6772__20type_20ARP_0a(void); -void __00e9_5c83__20type_20IP_0a(void); -void __00ea_f937__20type_20REVARP_0a(void); -void __00eb_c53a__20v(void); -void __00ec_9158__20vers_20_25u_20en(void); -void __00ed_994d__20wnd_20_25d(void); -void __00ee_426e__20_7c_20(void); -void __00ef_3f0c__21(void); -void __00f0_f9eb__21_21_20_25s_20_25(void); -void __00f1_ef2d__21_21_20maximum_20(void); -void __00f2_55d7__22_25s_22_20_2d_20(void); -void __00f3_60ae__23_20queries_20eac(void); -void __00f4_1acc__23_20secs_20to_20w(void); -void __00f5_fb95__25_2d10_2e10s_20_2(void); -void __00f6_3035__25_2d10s_20IP_20ad(void); -void __00f7_01be__25_2d10s_25_2d17s(void); -void __00f8_4da0__25_2d10s_25_2d17s_(void); -void __00f9_ff4a__25_2d10s_25_2d6s(void); -void __00fa_e1c2__25_2d11s_25_2d9s_2(void); -void __00fb_7335__25_2d13s(void); -void __00fc_27e5__25_2d15s(void); -void __00fd_0d8d__25_2d16s(void); -void __00fe_e560__25_2d16s_20_20(void); -void __00ff_f903__25_2d16s_25_2d3u_2(void); -void __0100_2609__25_2d16s_25_2d9lu_(void); -void __0101_1455__25_2d17s(void); -void __0102_e920__25_2d20s_258lu_258(void); -void __0103_8589__25_2d22s(void); -void __0104_b616__25_2d22s_0a(void); -void __0105_9c51__25_2d23s(void); -void __0106_bf59__25_2d2u(void); -void __0107_6601__25_2d32s_20_28_25l(void); -void __0108_a681__25_2d3u(void); -void __0109_ea81__25_2d4d(void); -void __010a_6f94__25_2d4d_255d_20_25(void); -void __010b_eb89__25_2d4u(void); -void __010c_2455__25_2d5ld(void); -void __010d_90e5__25_2d7lu(void); -void __010e_8982__25_2d7s_20_25_2d8s(void); -void __010f_da22__25_2d8lu(void); -void __0110_d1e2__25_2ds(void); -void __0111_1e56__2502x(void); -void __0112_3773__2504x_20_20(void); -void __0113_6df9__2504x_20_20_2504x_(void); -void __0114_aa0a__2504x_3a_2504x(void); -void __0115_83ad__2510lu_20In_2c_20_(void); -void __0116_cbd3__2510lu_20Out_2c_20(void); -void __0117_2875__2510lu_2510lu_255l(void); -void __0118_a689__251s_20_253d_20_20(void); -void __0119_e9b8__252d_20_25_2d6s_20(void); -void __011a_b620__252d_20_25_2d6s_20(void); -void __011b_1703__253d_3a(void); -void __011c_b932__254d_20_25_2d8s_25(void); -void __011d_936b__254s(void); -void __011e_4a96__258lu(void); -void __011f_5eaf__258lu_0a(void); -void __0120_3acb__258s(void); -void __0121_3341__258u_2510u_2511lu_(void); -void __0122_fd73__259p_20_20_20_253d(void); -void __0123_b8a6__259p_20_25_2d8d_25(void); -void __0124_1719__259p_20_25_2d9s_25(void); -void __0125_1260__259p_256u_20_20_25(void); -void __0126_482b__259p_256u_256u_20_(void); -void __0127_fcae__25c(void); -void __0128_6d8a__25c_20(void); -void __0129_3d14__25c_20_257s_20_257(void); -void __012a_22d3__25c_25c_25c(void); -void __012b_4b6e__25c_25c_25c_0a(void); -void __012c_2970__25c_25c_25c_253d_2(void); -void __012d_8514__25c_25s_0a(void); -void __012e_086d__25c_5b2J(void); -void __012f_8811__25d(void); -void __0130_aeda__25d_0a(void); -void __0131_cd50__25d_20message_25s_(void); -void __0132_ea62__25ld(void); -void __0133_eb6a__25lu(void); -void __0134_63ed__25lu_0a(void); -void __0135_f325__25lu_2f_25lu_0a(void); -void __0136_d273__25p_20(void); -void __0137_1c93__25p_20_256lu(void); -void __0138_ec2f__25s(void); -void __0139_7643__25s_0a(void); -void __013a_0276__25s_0a_25s_0a(void); -void __013b_f81b__25s_20(void); -void __013c_8b7d__25s_20_2502d_2502d(void); -void __013d_7be3__25s_20_25p_0a(void); -void __013e_518b__25s_20_25s_0a(void); -void __013f_ca49__25s_20_25s_3a_20_2(void); -void __0140_43c6__25s_20_25s_3a_20Er(void); -void __0141_b8b7__25s_20_2d_20(void); -void __0142_1170__25s_20_2d_20Differ(void); -void __0143_d4cc__25s_20_2d_20Remote(void); -void __0144_4968__25s_20_2d_20Same_0(void); -void __0145_ace2__25s_20dialer_3a_20(void); -void __0146_933b__25s_20errno_20_25d(void); -void __0147_f768__25s_20file_25s_2e_(void); -void __0148_c691__25s_20is_20unreach(void); -void __0149_a4a4__25s_20logged_20in(void); -void __014a_a64e__25s_20logged_20in_(void); -void __014b_b314__25s_20refs_20to_20(void); -void __014c_bd91__25s_20remain_20_25(void); -void __014d_bf9e__25s_20thru_20(void); -void __014e_243b__25s_20type_20_25s_(void); -void __014f_7d69__25s_25_25_25s_2ebb(void); -void __0150_d324__25s_25c_0a(void); -void __0151_ce9c__25s_25c_25c_25c(void); -void __0152_910e__25s_25s(void); -void __0153_46b5__25s_25s_0a(void); -void __0154_4d3a__25s_25s_0a_0a(void); -void __0155_47c0__25s_3a(void); -void __0156_6911__25s_3a_0a(void); -void __0157_e749__25s_3a_20(void); -void __0158_650d__25s_3a_20_25d_20me(void); -void __0159_86f5__25s_3a_20_25ld_0a(void); -void __015a_7189__25s_3a_20_25s_0a(void); -void __015b_35bd__25s_3a_20_25s_2c(void); -void __015c_adab__25s_3a_20Interface(void); -void __015d_5f8a__25s_3a_20PPP_2fPAP(void); -void __015e_0cde__25s_3a_20bad_20dev(void); -void __015f_5351__25s_3a_20bad_20ino(void); -void __0160_8c96__25s_3a_20corrupted(void); -void __0161_d157__25s_3a_20fs_20of_2(void); -void __0162_1d98__25s_3a_20local_20n(void); -void __0163_bba5__25s_3a_20mode_20_2(void); -void __0164_60cc__25s_3a_20not_20a_2(void); -void __0165_4ed5__25s_3a_20release_5(void); -void __0166_04ae__25s_3a_20rtt_20_25(void); -void __0167_db35__25s_3a_20srtt_20_2(void); -void __0168_65f3__25s_3c_25ld_40_25s(void); -void __0169_6e45__25s_3e_20_25s_20_2(void); -void __016a_205d__25s_3e_20Invalid_2(void); -void __016b_c86f__25s_40_25s_0a(void); -void __016c_82c1__25s_40_25s_3a_0a(void); -void __016d_9fa6__25sMAILER_2dDAEMON(void); -void __016e_c284__25sR_0a(void); -void __016f_2293__25u_0a(void); -void __0170_c0bd__25u_20additional_3(void); -void __0171_7db0__25u_20answers_3a_0(void); -void __0172_7c48__25u_20authority_3a(void); -void __0173_b843__25u_20questions_3a(void); -void __0174_af86__25u_3a_20calls_20_(void); -void __0175_52fc__25x(void); -void __0176_b099__26AXB_20_20_20_20_(void); -void __0177_7bf6__26CB_20_20_20_20_2(void); -void __0178_c497__26TCB_20_20_20_20_(void); -void __0179_f73b__26UCB_20_20_20_20_(void); -void __017a_aa89__27_25c_27_0a(void); -void __017b_a2cd__28(void); -void __017c_ba4c__28_252u_29_25_2d20(void); -void __017d_52bf__28F_29(void); -void __017e_93fe__28P_29(void); -void __017f_38a6__28P_2fF_29(void); -void __0180_7b70__28compressed_20ALL(void); -void __0181_c1c3__28hopcheck_29_20IC(void); -void __0182_565f__28missing_20UI_21_(void); -void __0183_f935__28not_20odd_21_29_(void); -void __0184_abc9__29_0a(void); -void __0185_bfa2__2a_2a_20smtp_3a_20(void); -void __0186_1969__2a_2a_2a(void); -void __0187_a448__2a_2a_2a_20Done_0a(void); -void __0188_c993__2a_2a_2a_20Unable_(void); -void __0189_b489__2a_2a_2a_2a_2a_2a_(void); -void __018a_5b29__2c_20(void); -void __018b_1a71__2c_20err_20_25d(void); -void __018c_099c__2d_2d_2d_2d_2d_20E(void); -void __018d_01ea__2d_2d_2d_2d_2d_20F(void); -void __018e_04ae__2d_2d_2d_2d_2d_2d_(void); -void __018f_1b54__2d_2d_2d_2d_2d_2d_(void); -void __0190_3d1a__2d_2d_2d_2d_2d_2d_(void); -void __0191_8ddf__2d_3e_25s(void); -void __0192_589d__2d_3e_25s_20ihl_20(void); -void __0193_e6c1__2e_0a(void); -void __0194_ed84__2f_25lu_20ms(void); -void __0195_6d9b__2f_25lu_20ms_0a(void); -void __0196_a44f__2f_25lu_20ms_3b_20(void); -void __0197_096e__2f_25u(void); -void __0198_96dc__2fEX(void); -void __0199_79e7_0_25o(void); -void __019a_8157_007Incoming_20_25s_(void); -void __019b_b04e_0x_2503x_20_20_20_2(void); -void __019c_3f3a_0x_2504x_0a(void); -void __019d_8308_0x_2508lx_0a(void); -void __019e_ab8d_0x_25x(void); -void __019f_6f63_0x_25x_09_09_25ld_0(void); -void __01a0_fea8_0x_25x_09_09_25ld_0(void); -void __01a1_f01c_0x_25x_0a(void); -void __01a2_d635_100_20Warning_3a_20(void); -void __01a3_3f47_150_20Opening_20dat(void); -void __01a4_67ab_200_20(void); -void __01a5_cc8d_200_20MKD_20ok_0a(void); -void __01a6_6c3a_200_20Ok_0a(void); -void __01a7_ba32_200_20Port_20comman(void); -void __01a8_1db7_200_20Type_20_25s_2(void); -void __01a9_1192_215_20_25s_20Type_3(void); -void __01aa_01fe_220_20_25s_20FTP_20(void); -void __01ab_7804_221_20Goodbye_21_0a(void); -void __01ac_3f54_226_20File_20receiv(void); -void __01ad_caea_226_20File_20sent_2(void); -void __01ae_9fe8_230_20Logged_20in_0(void); -void __01af_55db_250_20_25s_0a(void); -void __01b0_c720_250_20File_20delete(void); -void __01b1_de54_250_2d_25s_0a(void); -void __01b2_9400_257_20_22_25s_22_20(void); -void __01b3_24f1_331_20Enter_20PASS_(void); -void __01b4_273f_421_20System_20over(void); -void __01b5_e43d_425_20Data_20connec(void); -void __01b6_7e66_500_20Unknown_20com(void); -void __01b7_3d39_500_20Unsupported_2(void); -void __01b8_fe7e_501_20Bad_20port_20(void); -void __01b9_065e_501_20Only_20logica(void); -void __01ba_a2bf_501_20Unknown_20typ(void); -void __01bb_41cf_502_20Command_20not(void); -void __01bc_f576_503_20Login_20with_(void); -void __01bd_7dc2_530_20Please_20log_(void); -void __01be_c53a_550_20Can_27t_20rea(void); -void __01bf_4770_550_20Delete_20fail(void); -void __01c0_38c3_550_20Permission_20(void); -void __01c1_95c1_552_20Write_20error(void); -void __01c2_7eaf_553_20Can_27t_20cre(void); -void __01c3_f0b2_553_20Can_27t_20rea(void); -void __01c4_b04b__3a_20_25d_0a(void); -void __01c5_6aba__3a_20_25ld_0a(void); -void __01c6_8cd1__3a_20_25s(void); -void __01c7_68d2__3a_20_25s_0a(void); -void __01c8_3c02__3a_20_25u_0a(void); -void __01c9_6692__3b_20Tries_3a_20_2(void); -void __01ca_697b__3c_25ld_40_25s_3e_(void); -void __01cb_2587__3c_25s_40_25s_2ebb(void); -void __01cc_3152__3c_3d_3d_25s(void); -void __01cd_defc__3c_3d_3d_25s_0a(void); -void __01ce_016b__3d_3d_3eARTICLE_20(void); -void __01cf_c133__3d_3d_3eNEWNEWS_20(void); -void __01d0_696c__3d_3d_3eQUIT_0a(void); -void __01d1_396e__3d_3dNo_20response(void); -void __01d2_c6f3__3f(void); -void __01d3_4d83__40(void); -void __01d4_23d2__40_25s(void); -void __01d5_7f61_ARP_3a_20len_20_25d(void); -void __01d6_124c_ARTICLE_20_25s(void); -void __01d7_109d_AX25_20receive_20wi(void); -void __01d8_f4e0_AX25_20version(void); -void __01d9_818f_AX25_3a_20(void); -void __01da_f05c_Abort_0d_0a(void); -void __01db_6caf_Aborted_2e(void); -void __01dc_f2cb_Aborted_2e_0a(void); -void __01dd_537a_Accept_0a(void); -void __01de_b988_Ack_20delay_20time_(void); -void __01df_fccc_Active_20RIP_20outp(void); -void __01e0_e216_Address_2fControl_2(void); -void __01e1_1fbc_All_20groups_20are_(void); -void __01e2_4a0c_Allow_20ACCM(void); -void __01e3_8e02_Allow_20Address(void); -void __01e4_7b21_Allow_20Address_2fC(void); -void __01e5_5003_Allow_20Authenticat(void); -void __01e6_081e_Allow_20Compression(void); -void __01e7_14d8_Allow_20MRU(void); -void __01e8_5c94_Allow_20Magic_20Num(void); -void __01e9_33ea_Allow_20Protocol_20(void); -void __01ea_a5f9_Already_20have_20_2(void); -void __01eb_8eaf_Arcnet_3a_20len_20_(void); -void __01ec_52c7_Argument_20missing_(void); -void __01ed_3ed8_Ascii_0a(void); -void __01ee_7cb2_Attach_20device_20f(void); -void __01ef_ec38_Attach_20netrom_20i(void); -void __01f0_ee22_Attended_20flag(void); -void __01f1_0443_Available_20areas_2(void); -void __01f2_6999_Backoff_20Level_20_(void); -void __01f3_9716_Bad_20digipeater_20(void); -void __01f4_0b9f_Bad_20syntax_2e_0a(void); -void __01f5_e884_Bad_20target_20_25s(void); -void __01f6_822a_Bad_20user_20or_20h(void); -void __01f7_61f7_Base_20Addr_09Rxint(void); -void __01f8_929a_Base_20Addr_20_20Rx(void); -void __01f9_de82_Buf_20hits_2fmiss_2(void); -void __01fa_ae0c_CTRL_2d_25c_0a(void); -void __01fb_6c46_CWD_20_25s_0a(void); -void __01fc_0e64_Calls_20originated_(void); -void __01fd_9777_Calls_20timed_20out(void); -void __01fe_e911_Can_27t_20NLST_20_2(void); -void __01ff_daf3_Can_27t_20add_20rou(void); -void __0200_6db7_Can_27t_20attach_20(void); -void __0201_79e8_Can_27t_20change_20(void); -void __0202_3bb8_Can_27t_20create_20(void); -void __0203_0003_Can_27t_20create_20(void); -void __0204_ef8c_Can_27t_20create_20(void); -void __0205_28e0_Can_27t_20create_20(void); -void __0206_d5bc_Can_27t_20create_20(void); -void __0207_c7fb_Can_27t_20delete_20(void); -void __0208_d5d6_Can_27t_20detach_20(void); -void __0209_5d65_Can_27t_20find_20he(void); -void __020a_3eee_Can_27t_20list_20lo(void); -void __020b_c1c1_Can_27t_20open_20_2(void); -void __020c_fedd_Can_27t_20open_20_2(void); -void __020d_fb2a_Can_27t_20open_20_2(void); -void __020e_d8a5_Can_27t_20open_20in(void); -void __020f_0616_Can_27t_20read_20_2(void); -void __0210_4a10_Can_27t_20read_20_2(void); -void __0211_8468_Can_27t_20read_20co(void); -void __0212_4327_Can_27t_20read_20di(void); -void __0213_5fb2_Can_27t_20read_20lo(void); -void __0214_36d4_Can_27t_20read_20pa(void); -void __0215_5e43_Can_27t_20rename_20(void); -void __0216_4bfe_Can_27t_20rewrite_2(void); -void __0217_24ca_Can_27t_20set_20lin(void); -void __0218_5e82_Can_27t_20write_20_(void); -void __0219_988b_Can_27t_20write_20l(void); -void __021a_c0f9_Can_27t_20write_20t(void); -void __021b_5055_Ch_20Iface_20_20_20(void); -void __021c_eff3_Channel_20_2d_20_25(void); -void __021d_1b09_Choke_20timeout_20_(void); -void __021e_f95c_Closed_3a_20_25s_0a(void); -void __021f_e508_Command_20batching(void); -void __0220_b471_Connect_20failed_0a(void); -void __0221_bb2f_Connect_20failed_3a(void); -void __0222_85e9_Connect_20to_20mail(void); -void __0223_6930_Connected_0a(void); -void __0224_5189_Connected_20to_20_2(void); -void __0225_771a_Connected_20to_20ma(void); -void __0226_0e16_Connected_2e(void); -void __0227_3e79_Connection_20closed(void); -void __0228_faa9_Connection_20failed(void); -void __0229_3676_Could_20not_20creat(void); -void __022a_d95b_Couldn_27t_20queue_(void); -void __022b_68a6_Current_20message_2(void); -void __022c_23ad_Currently_20enabled(void); -void __022d_1cf7_DELE_20_25s(void); -void __022e_5fad_DISASTER_21_20Out_2(void); -void __022f_7ce2_DRSI_20Board_20Stat(void); -void __0230_2f52_D_5bU_5d_20filename(void); -void __0231_698b_Data_0a(void); -void __0232_cb1c_Data_20outside_20he(void); -void __0233_01be_Data_20pointer_20_2(void); -void __0234_3cbb_Data_20pointer_20be(void); -void __0235_bd70_Defaulting_20to_20b(void); -void __0236_2d19_Del_5fconst_20_3d_2(void); -void __0237_6255_Dest_20Addr_20_20_2(void); -void __0238_3894_Dialing_20not_20sup(void); -void __0239_26a3_Different_0a(void); -void __023a_ae33_Digipeat(void); -void __023b_af35_Directory_20table_2(void); -void __023c_c1bb_Disconnected_20(void); -void __023d_2cc5_Disconnecting_2e(void); -void __023e_b7f4_Dup_20acks_20_20_20(void); -void __023f_3ed4_Duplex_3a_20_25s_0a(void); -void __0240_b671_E2BIG(void); -void __0241_56e8_EACCES(void); -void __0242_f378_EAGAIN(void); -void __0243_0483_EAGLE_20Board_20Sta(void); -void __0244_a2a1_EBADF(void); -void __0245_74ba_EBUSY(void); -void __0246_4029_ECHILD(void); -void __0247_cd2b_EDEADLK(void); -void __0248_4299_EDOM(void); -void __0249_bec8_EEXIST(void); -void __024a_afa9_EFAULT(void); -void __024b_9ed8_EFBIG(void); -void __024c_28f7_EGATTACH_3a_20No_20(void); -void __024d_eb47_EINTR(void); -void __024e_b479_EINVAL(void); -void __024f_21d8_EINVFNC(void); -void __0250_2d75_EIO(void); -void __0251_fb45_EISDIR(void); -void __0252_8de7_ELOOP(void); -void __0253_9e5a_EMFILE(void); -void __0254_983a_EMLINK(void); -void __0255_0607_ENAMETOOLONG(void); -void __0256_8396_ENFILE(void); -void __0257_7088_ENODEV(void); -void __0258_edee_ENOENT(void); -void __0259_a107_ENOEXEC(void); -void __025a_29fe_ENOLCK(void); -void __025b_42c4_ENOMEM(void); -void __025c_d51d_ENOSPC(void); -void __025d_d3a2_ENOTBLK(void); -void __025e_f683_ENOTDIR(void); -void __025f_83de_ENOTEMPTY(void); -void __0260_81a3_ENOTTY(void); -void __0261_01a7_ENXIO(void); -void __0262_4485_EPERM(void); -void __0263_5ede_EPIPE(void); -void __0264_7f6a_ERANGE(void); -void __0265_0587_EROFS(void); -void __0266_6b3a_ESCC_20channel_20_2(void); -void __0267_6d38_ESCC_20channel_20_2(void); -void __0268_0a8a_ESCC_20driver_20alr(void); -void __0269_d89e_ESCC_20driver_20not(void); -void __026a_dd82_ESHELL(void); -void __026b_ffa8_ESPIPE(void); -void __026c_b33c_ESRCH(void); -void __026d_194a_ETXTBSY(void); -void __026e_8d4a_EXDEV(void); -void __026f_4f54_Encapsulation_20mod(void); -void __0270_0f4a_Enqued_20_20_2d_20_(void); -void __0271_de30_Enter_20message_2e_(void); -void __0272_3a50_Error_20in_20respon(void); -void __0273_d568_Error_20updating_20(void); -void __0274_69fc_Error_20writing_20m(void); -void __0275_9664_Escape_20character_(void); -void __0276_8c2d_Ether_3a_20len_20_2(void); -void __0277_3af3_F_3e(void); -void __0278_0046_Failed_0a(void); -void __0279_4a7b_First_20init_20ESCC(void); -void __027a_0954_Forwarding_20timer_(void); -void __027b_95bb_Free_20address_20qu(void); -void __027c_fee7_Free_20cache_3a_20s(void); -void __027d_8dc1_Free_20memory_20thr(void); -void __027e_1be2_From_20_25s_20_25s(void); -void __027f_d837_From_3a_20_25s_0a(void); -void __0280_b9a0_Garbage_20bp_20_25l(void); -void __0281_7731_Group_20list_20too_(void); -void __0282_ccdf_HAPN_20_25d_3a_20_2(void); -void __0283_9570_HOPCHECK_20start_20(void); -void __0284_8ef4_HOPCHECK_20to_20_25(void); -void __0285_c794_HOPCHECK_20tracing(void); -void __0286_4952_HS_3a_20Warning_3a_(void); -void __0287_10ba_Hardware_20_25u_0a(void); -void __0288_32e9_Heap_20debugging(void); -void __0289_9144_Host_20_25s_20_28_2(void); -void __028a_862c_Host_20_25s_20unkno(void); -void __028b_f216_Hostname_20set_20to(void); -void __028c_267d_Hytech_20KA9Q_20NOS(void); -void __028d_df4f_ICMP_20echo_20respo(void); -void __028e_db6d_ICMP_20from_20_25s_(void); -void __028f_abbc_ICMP_20tracing(void); -void __0290_6b85_ICMP_3a_20type_20_2(void); -void __0291_dff6_IP_0a(void); -void __0292_5812_IP_20Time_2dto_2dli(void); -void __0293_0e41_IP_20addr_20_20_20_(void); -void __0294_8cdb_IP_20reasm_20timeou(void); -void __0295_5f88_IP_20rx_20tracing(void); -void __0296_88e0_IP_3a_20CHECKSUM_20(void); -void __0297_03a7_IP_3a_20bad_20heade(void); -void __0298_4543_IP_3a_20len_20_25u(void); -void __0299_e067_IPCP_0a(void); -void __029a_7c5c_IPCP_20_25s_0a(void); -void __029b_a490_IRQ_20_25u_20out_20(void); -void __029c_925d_Idle_20poll_20timer(void); -void __029d_4ab5_Image_0a(void); -void __029e_7e58_Initial_20RTT_20_28(void); -void __029f_bd38_Inqlen_3a_20_25d_20(void); -void __02a0_c7f6_Insufficient_20args(void); -void __02a1_fcf9_Interface_20_20_20R(void); -void __02a2_b903_Interface_20_22_25s(void); -void __02a3_4daf_Interface_20_22_25s(void); -void __02a4_42ac_Interface_20_22_25s(void); -void __02a5_5a50_Interface_20_25s_20(void); -void __02a6_1298_Interface_20_25s_20(void); -void __02a7_24cb_Interface_20_25s_20(void); -void __02a8_c749_Interface_20_25s_20(void); -void __02a9_63a0_Interface_20_25s_20(void); -void __02aa_8880_Interface_20_25s_20(void); -void __02ab_6e91_Interface_20_25s_20(void); -void __02ac_103c_Interface_20address(void); -void __02ad_c429_Interface_3a_20(void); -void __02ae_d726_Invalid_20magic_20c(void); -void __02af_42d9_Invalid_20range_2e_(void); -void __02b0_89c0_Invalid_20type_20_2(void); -void __02b1_62ed_Invalid_20user_20na(void); -void __02b2_be0b_Job_20id_20_25s_20n(void); -void __02b3_87a9_K_20numbers(void); -void __02b4_414e_KISS_3a_20(void); -void __02b5_1668_Known_20users_20on_(void); -void __02b6_171d_LCP_0a(void); -void __02b7_befe_LCP_20_25s_0a(void); -void __02b8_1d45_Last_20message_0a(void); -void __02b9_a317_Loc_20(void); -void __02ba_5ce5_Local_3a_20_25s(void); -void __02bb_0926_Local_3a_20_25s_20_(void); -void __02bc_6210_Lock_20directory_20(void); -void __02bd_f59a_Logging_20off_0a(void); -void __02be_1bd9_Logging_20to_20_25s(void); -void __02bf_4a5a_Logical_20bytesize_(void); -void __02c0_4f93_Login_20incorrect_0(void); -void __02c1_8ac2_MBOX_20Zap_3a_20_25(void); -void __02c2_1dc7_MBOX_20bbs_20mail_2(void); -void __02c3_37c2_MBOX_20bbs_20mail_2(void); -void __02c4_f88f_MBOX_20forward_20fa(void); -void __02c5_9bd4_MBOX_20forwarding_2(void); -void __02c6_d1e8_MBOX_20login_3a_20_(void); -void __02c7_dd2e_MBOX_20login_3a_20_(void); -void __02c8_e920_MBOX_20sysop_3a_20_(void); -void __02c9_a30c_MBOX_20upload_3a_20(void); -void __02ca_c247_MKD_20_25s(void); -void __02cb_53a6_MRU_20_25s_20_28_25(void); -void __02cc_f9a6_Magic_20Number(void); -void __02cd_d070_Mail_20area_3a_20_2(void); -void __02ce_0103_Mail_20box_20full_3(void); -void __02cf_523a_Main_20commands_3a_(void); -void __02d0_dcca_Max_20attempts_20to(void); -void __02d1_0279_Max_20clients(void); -void __02d2_3cd5_Max_20frame_20lengt(void); -void __02d3_d96d_Maximum_20messages_(void); -void __02d4_488d_Mbuf_20sizes_3a_0a(void); -void __02d5_ee8f_Message_20_23_25d_2(void); -void __02d6_b5f9_Mode_20_25s_20unkno(void); -void __02d7_aa15_Mode_20_25s_20unkno(void); -void __02d8_ac3e_Msg_20_25d_20Killed(void); -void __02d9_9a86_Must_20be_20_200_20(void); -void __02da_362b_Must_20be_20_200_20(void); -void __02db_2da0_Must_20be_20_3e_3d_(void); -void __02dc_06a9_Must_20set_20_27r_2(void); -void __02dd_d814_N_3e_3d_255u_3a_257(void); -void __02de_7868_NET_2fROM_20Routing(void); -void __02df_ae07_NET_2fROM_20not_20a(void); -void __02e0_d0e9_NET_2fROM_3a_20_25s(void); -void __02e1_73b0_NEWNEWS_20_25s_20_2(void); -void __02e2_c191_NNTP_20_25s_20Canno(void); -void __02e3_7ed2_NNTP_20_25s_20Canno(void); -void __02e4_bcd0_NNTP_20_25s_20Conne(void); -void __02e5_796b_NNTP_20_25s_20Conne(void); -void __02e6_4193_NNTP_20_25s_20Conne(void); -void __02e7_0909_NNTP_20_25s_20Conne(void); -void __02e8_3814_NNTP_20_25s_20Conne(void); -void __02e9_b5ec_NNTP_20_25s_20Could(void); -void __02ea_8531_NNTP_20_25s_20Could(void); -void __02eb_8fd5_NNTP_20_25s_20Could(void); -void __02ec_0d83_NNTP_20_25s_20Givin(void); -void __02ed_19c4_NNTP_20_25s_20Givin(void); -void __02ee_213a_NNTP_20_25s_20bad_2(void); -void __02ef_31a2_NNTP_20_25s_20bad_2(void); -void __02f0_df3f_NNTP_20_25s_20givin(void); -void __02f1_791c_NNTP_20_25s_20givin(void); -void __02f2_75ce_NNTP_20_25s_20givin(void); -void __02f3_7eb6_NNTP_20_25s_20proto(void); -void __02f4_7f99_NNTP_20_25s_20proto(void); -void __02f5_a517_NNTP_20Cannot_20ope(void); -void __02f6_fc8f_NNTP_20can_27t_20re(void); -void __02f7_2c2a_NNTP_20daemon_20ent(void); -void __02f8_f2a9_NNTP_20daemon_20exi(void); -void __02f9_cbc7_NNTP_20daemon_20qui(void); -void __02fa_0fa8_NNTP_20group_20_27_(void); -void __02fb_0e76_NNTP_20receive_20er(void); -void __02fc_a47f_NNTP_20received_20_(void); -void __02fd_0916_NNTP_20tracing(void); -void __02fe_b065_NNTP_20window_20to_(void); -void __02ff_852e_NO_20_2d_20(void); -void __0300_e182_NO_20_2d_20bad_20ad(void); -void __0301_7ccb_NO_20_2d_20syntax_2(void); -void __0302_2df6_NOS_20log_20closed(void); -void __0303_e1c8_NOS_20was_20started(void); -void __0304_cfbe_NOS_20was_20stopped(void); -void __0305_998c_NULL_20BUFFER_0a(void); -void __0306_89a8_Net_3e_20(void); -void __0307_e0c6_Network_20_25s_20co(void); -void __0308_4009_New_20mail_20arrive(void); -void __0309_fbfc_New_20mail_20arrive(void); -void __030a_d0a7_New_20news_20arrive(void); -void __030b_e9a0_No_20HAPN_20adaptor(void); -void __030c_87bb_No_20current_20sess(void); -void __030d_7f27_No_20dialer_20activ(void); -void __030e_cd1f_No_20finger_20infor(void); -void __030f_2a2e_No_20help_20availab(void); -void __0310_7cc9_No_20packet_20drive(void); -void __0311_4e0c_No_20such_20message(void); -void __0312_2a80_No_20such_20server_(void); -void __0313_0cda_Nodetimer_20_25lu_2(void); -void __0314_3fb0_None(void); -void __0315_1aee_None_0a(void); -void __0316_f8e2_Not_20a_20valid_20s(void); -void __0317_b4ba_Not_20an_20FTP_20se(void); -void __0318_ee7e_Not_20found_0a(void); -void __0319_533e_Not_20in_20table_0a(void); -void __031a_c7b9_Not_20supported_0a(void); -void __031b_9692_Obsotimer_20_25lu_2(void); -void __031c_ff96_Oh_2c_20hello_20_25(void); -void __031d_0948_Only_20_25d_20DRSI_(void); -void __031e_8edb_Only_20_25d_20net_2(void); -void __031f_f9f0_Only_201_20EAGLE_20(void); -void __0320_1514_Outqlen_3a_20_25d_2(void); -void __0321_5b48_PANIC_3a_20Timer_20(void); -void __0322_281b_PANIC_3a_20buffer_2(void); -void __0323_f630_PAP_0a(void); -void __0324_b2fb_PAP_20_25s_0a(void); -void __0325_8063_PASS_20_25s(void); -void __0326_2320_PI_20Board_20Statis(void); -void __0327_73f1_PI_3a_20DMA_20_25d_(void); -void __0328_5841_PI_3a_20DMA_20chann(void); -void __0329_3992_PI_3a_20IRQ_20_25u_(void); -void __032a_4ca4_PI_3a_20Interface_2(void); -void __032b_d856_PI_3a_20Maximum_20o(void); -void __032c_9098_PI_3a_20Mode_20_25s(void); -void __032d_de39_PI_3a_20No_20IP_20a(void); -void __032e_02ea_PI_3a_20No_20memory(void); -void __032f_c0d0_PI_3a_20No_20memory(void); -void __0330_94ca_PI_3a_20No_20memory(void); -void __0331_c698_PI_3a_20No_20memory(void); -void __0332_d61f_PI_3a_20Set_20mycal(void); -void __0333_68d4_PID_20_20_20CS_3aIP(void); -void __0334_3c62_POP_20access_20DENI(void); -void __0335_f3cf_POP_20access_20gran(void); -void __0336_639f_POP_20client_20retr(void); -void __0337_e9bb_POP_20quiet(void); -void __0338_1231_POP_20users_20file_(void); -void __0339_e126_PORT_20_25u_2c_25u_(void); -void __033a_b459_PPP_20tracing(void); -void __033b_b660_PPP_3a_20len_20_253(void); -void __033c_8c73_Packet_20driver_20h(void); -void __033d_d638_Pap_0a(void); -void __033e_8165_Parameter_20_25s_20(void); -void __033f_85d2_Password_3a_20(void); -void __0340_cb37_Password_3a_20_25c_(void); -void __0341_6310_Path_3a_20(void); -void __0342_f75b_Persistence_3a_20_2(void); -void __0343_7bc8_Pinging_20_25s_0a(void); -void __0344_94a5_Pinging_20resumed_0(void); -void __0345_7fa9_Pinging_20suspended(void); -void __0346_220f_Please_20hang_20up_(void); -void __0347_4304_Poll_20threshold_20(void); -void __0348_f8a0_Pool_20count_20_25s(void); -void __0349_dd4d_Protocol_20Field_20(void); -void __034a_744a_QUIT_0a(void); -void __034b_43c0_Quality_20cannot_20(void); -void __034c_b523_Queue_20limit_20_28(void); -void __034d_4a0a_R_20numbers(void); -void __034e_db0e_R_3a_25s_20_40_25s_(void); -void __034f_373f_REQUEST(void); -void __0350_19a4_RESPONSE(void); -void __0351_8b13_RETR_20_25s(void); -void __0352_86e9_RETURN_0a(void); -void __0353_bbdb_RFrames_20_2d_20_25(void); -void __0354_f9d6_RIP_20merging(void); -void __0355_3211_RIP_20refused_20fro(void); -void __0356_8827_RIP_20tracing(void); -void __0357_5585_RIP_3a_20(void); -void __0358_fd1d_RIP_3a_20sent_20_25(void); -void __0359_6b7c_RIPCMD_3a_20Unknown(void); -void __035a_5f5f_RIPCMD_5fREQUEST_0a(void); -void __035b_07f6_RIPCMD_5fRESPONSE_2(void); -void __035c_eb71_RIP_5frx_3a_20Not_2(void); -void __035d_86e6_RMD_20_25s(void); -void __035e_8005_Range_20for_20inter(void); -void __035f_1ee5_Reassembly_20fragme(void); -void __0360_fbe9_Reassembly_20queue_(void); -void __0361_5eb3_Received_3a_20(void); -void __0362_9fbc_Recording_20into_20(void); -void __0363_aa80_Recording_20off_0a(void); -void __0364_2a15_Recv_3a_20_20_20_20(void); -void __0365_d0ff_Refuse_0a(void); -void __0366_42c0_Refusing_20announce(void); -void __0367_6bd1_Requesting_2e_2e_2e(void); -void __0368_4784_Resolver_20_25s_20u(void); -void __0369_ae52_Resolving_20_25s_2e(void); -void __036a_200a_Resolving_20_25s_2e(void); -void __036b_cacc_Retry_20limit(void); -void __036c_0cd3_Returned_20(void); -void __036d_85af_Route_20add_20faile(void); -void __036e_9b70_Routing_20lookups_3(void); -void __036f_9c01_Rxints_20_20_2d_20_(void); -void __0370_ccf6_S_20_20_20_20_20Job(void); -void __0371_df6d_S_20command_20synta(void); -void __0372_4fbb_S_23_20_20_20Type_2(void); -void __0373_bf54_SMTP_20_25s_20Conne(void); -void __0374_cbb7_SMTP_20batching(void); -void __0375_e45f_SMTP_20client_20Try(void); -void __0376_797a_SMTP_20sent_20job_2(void); -void __0377_68b2_SMTP_20tracing(void); -void __0378_e7a4_SP_20_3d_20_25p_2c_(void); -void __0379_a1f1_STOR_20_25s(void); -void __037a_49fd_STOR_20_25s_0a(void); -void __037b_38ea_STOR_20_25s_3a_20_2(void); -void __037c_12cc_STOR_20_25s_3a_20Er(void); -void __037d_cfe9_SUBCMD_20_2d_20Don_(void); -void __037e_0319_SYST_0a(void); -void __037f_93fc_Same_0a(void); -void __0380_3c55_Scroll_20file_20siz(void); -void __0381_e255_Send_20file_2c_20_2(void); -void __0382_c1d8_Send_3a_20_2508lx_2(void); -void __0383_afab_Server_20address_20(void); -void __0384_36ef_Session_20_25s_20no(void); -void __0385_0845_Slot_20time_3a_20_2(void); -void __0386_6556_Socket_20not_20in_2(void); -void __0387_a061_Sorry_20_2d_20the_2(void); -void __0388_8034_Stack_20violation_2(void); -void __0389_6414_Station_20_20_20Las(void); -void __038a_5bef_Station_20_20_20Las(void); -void __038b_9aef_Subject_3a_20_25s_0(void); -void __038c_0cac_System_20is_20overl(void); -void __038d_63e9_T_20hostname(void); -void __038e_1279_T1_3a_20(void); -void __038f_a7c1_T3_3a_20(void); -void __0390_e4a1_TACK_3a_20(void); -void __0391_7f7b_TCB_20_25p_20_25s_2(void); -void __0392_5447_TCD_3a_20(void); -void __0393_fa23_TCP_20MSS(void); -void __0394_70e7_TCP_20default_20irt(void); -void __0395_5ac7_TCP_20header_20comp(void); -void __0396_c668_TCP_20state_20traci(void); -void __0397_b0d7_TCP_20syn_2bdata_20(void); -void __0398_43bd_TCP_20timestamps(void); -void __0399_5b74_TCP_20window(void); -void __039a_7267_TCP_3a_20_25u_2d_3e(void); -void __039b_59c4_TChoke_3a_20(void); -void __039c_2ced_TX_20Delay_3a_20_25(void); -void __039d_6a23_TX_20Tail_20time_3a(void); -void __039e_d175_TX_20queue_20limit(void); -void __039f_f579_TYPE_20A_0a(void); -void __03a0_3bb9_TYPE_20I_0a(void); -void __03a1_a616_TYPE_20L_20_25d_0a(void); -void __03a2_f6fb_Target_20_20_20_20T(void); -void __03a3_950b_Telnet_20option_20t(void); -void __03a4_4517_Thank_20you_20_25s_(void); -void __03a5_70f0_The_20escape_20char(void); -void __03a6_6de0_Time_20for_201000_2(void); -void __03a7_601a_Time_20to_20live(void); -void __03a8_e505_Timeout_20value_20_(void); -void __03a9_1db3_Timer_20_20_20_20_2(void); -void __03aa_d78a_Tip_20connection_20(void); -void __03ab_c093_Tip_20session_20alr(void); -void __03ac_8c54_To_3a_20_25s_0a(void); -void __03ad_2a55_Too_20many_20HAPN_2(void); -void __03ae_76b7_Too_20many_20asynch(void); -void __03af_58f2_Too_20many_20digipe(void); -void __03b0_2d53_Too_20many_20hs_20c(void); -void __03b1_286c_Too_20many_20mailbo(void); -void __03b2_4c9a_Too_20many_20nrs_20(void); -void __03b3_7103_Too_20many_20packet(void); -void __03b4_d8c3_Too_20many_20pc100_(void); -void __03b5_2057_Too_20many_20sessio(void); -void __03b6_447c_Too_20many_20slip_2(void); -void __03b7_0d8c_Try_20to_20bounce_2(void); -void __03b8_2030_Trying_20_25s_2e_2e(void); -void __03b9_cee2_Trying_20_25s_2e_2e(void); -void __03ba_be29_Trying_20Connection(void); -void __03bb_9c56_Tstate_20_3d_20_25s(void); -void __03bc_6afe_Turn_20off_20local_(void); -void __03bd_c801_Tx_20state_20_20_25(void); -void __03be_be1b_Tx_20state_20_20_25(void); -void __03bf_e1f6_TxBuffers_3a_20_20S(void); -void __03c0_5cfe_Txdefer_20_2d_20_25(void); -void __03c1_e733_U_20filename(void); -void __03c2_9059_UDP_3a(void); -void __03c3_a945_USER_20_25s(void); -void __03c4_41aa_Unknown_20command(void); -void __03c5_e21a_Unknown_20command_2(void); -void __03c6_b975_Unknown_20command_3(void); -void __03c7_d2a4_Unknown_20encapsula(void); -void __03c8_8cf4_Unknown_20parameter(void); -void __03c9_eb24_Update_20with_20MD5(void); -void __03ca_7d7d_Uploading_20_25s_0a(void); -void __03cb_bd81_Uploading_20off_0a(void); -void __03cc_6d70_Uptime_20_25s_20Sta(void); -void __03cd_0a8d_Usage_3a_20(void); -void __03ce_125c_Usage_3a_20_25s_20_(void); -void __03cf_6ae1_Usage_3a_20F_20user(void); -void __03d0_7dd1_Usage_3a_20ax25_20r(void); -void __03d1_f8b8_Usage_3a_20dial_20_(void); -void __03d2_a375_Usage_3a_20mbox_20m(void); -void __03d3_8cfb_Usage_3a_20pop_20us(void); -void __03d4_a2c0_Usage_3a_20smtp_20m(void); -void __03d5_9654_Use_20the_20ax25_20(void); -void __03d6_4893_User_20_20_20_20_20(void); -void __03d7_633f_User_20_25s_20not_2(void); -void __03d8_75ef_V_20numbers(void); -void __03d9_4b9d_VJ_20Compressed_20T(void); -void __03da_2be9_VJ_20Uncompressed_2(void); -void __03db_3d32_Valid_20options_3a(void); -void __03dc_8007_Value_20_25s_20_28_(void); -void __03dd_c8df_Verbose(void); -void __03de_32ff_Verbose_20flag(void); -void __03df_b110_WARNING_3a_20Locati(void); -void __03e0_eddf_Warning_21_20Interf(void); -void __03e1_4457_Warning_3a_20type_2(void); -void __03e2_85a8_Window_20_28frames_(void); -void __03e3_9331_Window_20size_20_28(void); -void __03e4_613d_Window_3a_20_25_2d5(void); -void __03e5_25a6_Wink_20DTR_3f_20(void); -void __03e6_75b2_Writing_20article_2(void); -void __03e7_3999_XMD5_20_25s(void); -void __03e8_a62b_XMD5_20_25s_0a(void); -void __03e9_8515_XMKD_20_25s_0a(void); -void __03ea_31d2_XRMD_20_25s_0a(void); -void __03eb_71c6_You_20have_20(void); -void __03ec_1e66_You_20have_20new_20(void); -void __03ed_4583_You_27re_20using_20(void); -void __03ee_4aef_Z_20filename(void); -void __03ef_5fd7_Zap_20failed_3a_20_(void); -void __03f0_e3d1__5b(void); -void __03f1_9d9c__5bNET_2dHMR_24_5d(void); -void __03f2_f8e4__5bunknown_5d(void); -void __03f3_699f__5eC_0a(void); -void __03f4_e5d6__5eR_0a(void); -void __03f5_1951__5fexit(void); -void __03f6_a314__5ffcreat_3a_20WARN(void); -void __03f7_79de__5funlink_3a_20bad_(void); -void __03f8_722b_accept(void); -void __03f9_30f9_accept_0a(void); -void __03fa_2cfc_access(void); -void __03fb_9b89_accm(void); -void __03fc_16c9_acct(void); -void __03fd_0c4f_acfc(void); -void __03fe_7530_acktime(void); -void __03ff_41b5_add(void); -void __0400_d8a3_add_20_3chostid_3e(void); -void __0401_6783_addprivate(void); -void __0402_9712_address(void); -void __0403_2c42_addserver(void); -void __0404_b0a9_alarm(void); -void __0405_9965_allocs_20_25lu_20fr(void); -void __0406_8e82_allow_20pap_20none_(void); -void __0407_ba08_allow_20tcp_20none_(void); -void __0408_94f6_anext_20pointer_20o(void); -void __0409_c2a0_answer_20script_3a_(void); -void __040a_da7c_area(void); -void __040b_1dde_arp_20add_20_3chost(void); -void __040c_96ce_arp_20drop_20_3chos(void); -void __040d_0018_arp_20publish_20_3c(void); -void __040e_5838_asci(void); -void __040f_4354_ascii(void); -void __0410_3914_ascistat(void); -void __0411_6442_attach(void); -void __0412_39bc_attach_20_3chardwar(void); -void __0413_fe98_attach_20asci_20_3c(void); -void __0414_342d_attach_20escc_20_3c(void); -void __0415_7943_attempt_20to_20writ(void); -void __0416_7d37_attend(void); -void __0417_c133_authenticate(void); -void __0418_fd47_ax25_20kick_20_3cax(void); -void __0419_0003_ax25_20reset_20_3ca(void); -void __041a_ca0a_bad_20destination_2(void); -void __041b_60d3_bad_20internet_20ad(void); -void __041c_0a79_bad_20neighbor_20ca(void); -void __041d_4126_batch(void); -void __041e_bcb6_bcnodes(void); -void __041f_0c93_begin_20_2503o_20_2(void); -void __0420_50c4_bfind_28_25u_2c_20_(void); -void __0421_0a46_bfind_28_29_20retur(void); -void __0422_f1cc_bfind_28_29_20retur(void); -void __0423_e2d4_bfree_28_29_20retur(void); -void __0424_e703_bfree_28_29_20retur(void); -void __0425_4466_bfree_280x_25x_2c_2(void); -void __0426_3245_binary(void); -void __0427_4c4f_blimit(void); -void __0428_c307_blk_5falloc_28_29_2(void); -void __0429_b0c8_bmap_28_29_20return(void); -void __042a_bbcb_bmap_28_29_20return(void); -void __042b_46ee_bmap_28_29_20return(void); -void __042c_7681_bmap_280x_25x_2c_20(void); -void __042d_ff8d_bootp_20_5bnet_5fna(void); -void __042e_0e8f_bootp_3a_20Net_5fer(void); -void __042f_f5d9_bootp_3a_20timed_20(void); -void __0430_72d6_bp_20_25lx_20tot_20(void); -void __0431_88ea_bread_28_25u_2c_20_(void); -void __0432_89e2_bread_28_29_20retur(void); -void __0433_7a66_bread_28_29_20retur(void); -void __0434_9767_brk(void); -void __0435_f951_broadcast(void); -void __0436_03ff_bsr(void); -void __0437_d194_bufsync_28_29_20ret(void); -void __0438_606b_bufsync_28_29_20sta(void); -void __0439_83e6_by_20_25s_20_28_25s(void); -void __043a_69f3_by_20_25s_20with_20(void); -void __043b_9ab1_bye(void); -void __043c_7cbf_cache(void); -void __043d_a3a9_can_27t_20read_20_2(void); -void __043e_f4b4_can_27t_20trace_20i(void); -void __043f_9aa7_cd(void); -void __0440_42c2_cd_20_3cdirectory_3(void); -void __0441_8b51_ch_5flink_28_29_20r(void); -void __0442_30ce_ch_5flink_28_29_20r(void); -void __0443_7c72_ch_5flink_280x_25x_(void); -void __0444_35a9_chat(void); -void __0445_743f_chdir(void); -void __0446_5ed3_check(void); -void __0447_40b3_check_20_3chost_3e(void); -void __0448_c946_chmod(void); -void __0449_b786_choketime(void); -void __044a_88f5_chown(void); -void __044b_87a8_chroot(void); -void __044c_4822_clean(void); -void __044d_23aa_close(void); -void __044e_2b22_close_20FTP(void); -void __044f_f93d_close_20Finger(void); -void __0450_0957_close_20POP(void); -void __0451_b85c_close_20POP_20_2d_2(void); -void __0452_83a3_close_20SMTP(void); -void __0453_b949_close_20SMTP_20_2d_(void); -void __0454_423c_close_20discard(void); -void __0455_419d_close_20echo(void); -void __0456_03ad_close_20term(void); -void __0457_83dc_code_20_25u_20arg_2(void); -void __0458_ea90_compare(void); -void __0459_a613_compare_20_3cremote(void); -void __045a_fbc2_compress(void); -void __045b_3845_compressed_20(void); -void __045c_26b1_configure(void); -void __045d_749f_connect(void); -void __045e_5769_control(void); -void __045f_941e_control_20up_20_7c_(void); -void __0460_2aba_control_3a_20_25s_0(void); -void __0461_4bf4_cwd(void); -void __0462_62af_d_5finit_28_29(void); -void __0463_5a9b_d_5finit_28_29_20ma(void); -void __0464_62a8_debug(void); -void __0465_740d_default(void); -void __0466_db45_defaultfile(void); -void __0467_818b_delay_20_25lu_0a(void); -void __0468_2c87_dele(void); -void __0469_89a5_delete(void); -void __046a_3919_delete_20_3cfile_3e(void); -void __046b_6466_destlist(void); -void __046c_cfc1_detach(void); -void __046d_26f3_detach_20_3cinterfa(void); -void __046e_3f12_devio_5fgarbage_3a_(void); -void __046f_0f61_dfile_5fsearch_3a_2(void); -void __0470_4eba_dfile_5fupdate_3a_2(void); -void __0471_5b47_dfile_5fupdate_3a_2(void); -void __0472_ef06_dfile_5fupdate_3a_2(void); -void __0473_0173_dialer(void); -void __0474_8d0b_dialer_20_3ciface_3(void); -void __0475_18c3_digipeat(void); -void __0476_bdc7_dir(void); -void __0477_5c0a_directory(void); -void __0478_176f_discard(void); -void __0479_684a_discard_20expired_2(void); -void __047a_f701_disconnect(void); -void __047b_e146_dns(void); -void __047c_8f79_dns_5fquery_3a_20qu(void); -void __047d_6da5_dns_5fquery_3a_20re(void); -void __047e_041c_doexit_3a_20won_27t(void); -void __047f_21ed_domain(void); -void __0480_e0fd_down_20script_3a_20(void); -void __0481_050c_download(void); -void __0482_4853_drop(void); -void __0483_0532_drop_20_3chostid_3e(void); -void __0484_e7cf_dropserver(void); -void __0485_a2e4_dup(void); -void __0486_b319_dup2(void); -void __0487_cb91_dynip(void); -void __0488_2edf_echo(void); -void __0489_7366_empty_20packet_21_2(void); -void __048a_48fd_encapsulation(void); -void __048b_4a34_eol(void); -void __048c_b4ae_escape(void); -void __048d_858e_escc(void); -void __048e_d50a_escc_25d_3a_20No_20(void); -void __048f_6362_esccstat(void); -void __0490_59b0_execve(void); -void __0491_3566_exit(void); -void __0492_bd2b_expired(void); -void __0493_bf9b_f_5ftrunc_28_29_20r(void); -void __0494_687d_f_5ftrunc_280x_25x_(void); -void __0495_bce0_failure(void); -void __0496_086a_falign(void); -void __0497_303b_files(void); -void __0498_d461_filesys_5fdoclose_2(void); -void __0499_661c_filesys_5fdoclose_2(void); -void __049a_8db4_filesys_5fdoclose_2(void); -void __049b_d6a7_filter_20mode_20is_(void); -void __049c_927a_finger(void); -void __049d_8ea1_finger_20name_40hos(void); -void __049e_28f4_flush(void); -void __049f_db22_fmount_28_25d_2c_20(void); -void __04a0_9479_fmount_28_29_20retu(void); -void __04a1_d221_fmount_28_29_20retu(void); -void __04a2_dc8b_fmount_3a_20can_27t(void); -void __04a3_8074_fork(void); -void __04a4_8227_forward(void); -void __04a5_c066_fp_20_20_20_20_20_2(void); -void __04a6_9a2a_free_3a_20WARNING_2(void); -void __04a7_13ec_freeblk_28_25u_2c_2(void); -void __04a8_bc64_freeblk_28_29_20ret(void); -void __04a9_3018_freeblk_28_29_20ret(void); -void __04aa_4c13_freebuf_28_25u_29_2(void); -void __04ab_0c86_freebuf_28_29_20ret(void); -void __04ac_f896_freelist(void); -void __04ad_bd4f_from_20_25s_20(void); -void __04ae_5b02_from_20_25s_2ebbs_2(void); -void __04af_2208_fs_5finit_28_29(void); -void __04b0_88d9_fsp_200x_25x_20s_5f(void); -void __04b1_7fbc_fstat(void); -void __04b2_0e84_ftp(void); -void __04b3_bafd_ftp_20_3caddress_3e(void); -void __04b4_f999_ftp_3e_20syst_0a(void); -void __04b5_51ba_garbage_20collectio(void); -void __04b6_c2ce_gateway(void); -void __04b7_9e35_get(void); -void __04b8_c7c0_get_20_3cremotefile(void); -void __04b9_60c5_getfsys(void); -void __04ba_631b_getinode_3a_20bad_2(void); -void __04bb_7dac_getset(void); -void __04bc_74d1_getting_20block_20_(void); -void __04bd_b3cb_groups(void); -void __04be_156e_hash(void); -void __04bf_5bc8_heap_20size_20_25lu(void); -void __04c0_856f_heard(void); -void __04c1_fc9f_help(void); -void __04c2_1d5e_homedir(void); -void __04c3_6fa6_hop(void); -void __04c4_df98_host(void); -void __04c5_476e_hostname(void); -void __04c6_001d_i_5fopen_28_25u_2c_(void); -void __04c7_e51c_i_5fopen_28_29_20re(void); -void __04c8_64fb_i_5fopen_28_29_20re(void); -void __04c9_2f25_icmp(void); -void __04ca_dd41_ident(void); -void __04cb_fe83_ifconfig(void); -void __04cc_6196_ignored_20_28hold_2(void); -void __04cd_dc84_info(void); -void __04ce_0500_input_20line_3a_20_(void); -void __04cf_9677_interface(void); -void __04d0_3fa5_ioctl(void); -void __04d1_3172_ip(void); -void __04d2_d229_ip_5frecv_28_25s_29(void); -void __04d3_289f_ip_5fsend_0a(void); -void __04d4_0191_ipaddress(void); -void __04d5_dfc4_ipcp(void); -void __04d6_f4c1_irtt(void); -void __04d7_516b_kick(void); -void __04d8_a61c_kill(void); -void __04d9_ff9f_kill_20_3cjobnumber(void); -void __04da_5e27_ksigs_20_25lu_20que(void); -void __04db_1bbe_kwaits_20_25lu_20no(void); -void __04dc_a567_lcp(void); -void __04dd_b632_link(void); -void __04de_dfe4_linkaddress(void); -void __04df_7bad_list(void); -void __04e0_4346_listen(void); -void __04e1_a5dd_listservers(void); -void __04e2_f2d8_local(void); -void __04e3_68f9_log(void); -void __04e4_feb4_logfile(void); -void __04e5_52c6_login_3a_20(void); -void __04e6_a516_logscreen(void); -void __04e7_8f77_lookup(void); -void __04e8_7d51_ls(void); -void __04e9_634b_lseek(void); -void __04ea_0288_magic(void); -void __04eb_868b_maibox_20name_20not(void); -void __04ec_2d7f_mailbox(void); -void __04ed_2084_mailbox_20name_20no(void); -void __04ee_86f8_mailhost(void); -void __04ef_63b8_mailhost_20not_20de(void); -void __04f0_139d_maxclients(void); -void __04f1_8d56_maxframe(void); -void __04f2_d5aa_maximum_20route_20q(void); -void __04f3_9853_maxmsg(void); -void __04f4_7203_maxttl(void); -void __04f5_e017_maxwait(void); -void __04f6_e57a_mbuf_20allocs_20_25(void); -void __04f7_8c4f_mcompare(void); -void __04f8_f47e_mcompare_20_3cfile_(void); -void __04f9_a71a_md5(void); -void __04fa_cc78_md5_20_3cfile_3e(void); -void __04fb_4d2a_memory(void); -void __04fc_69ba_memory_20cache_20si(void); -void __04fd_336a_merge(void); -void __04fe_649e_merge_20_25s_20_25d(void); -void __04ff_460c_metric_20better_3a_(void); -void __0500_3694_metric_20change_3a_(void); -void __0501_44b0_metric_20not_20bett(void); -void __0502_b64c_mget(void); -void __0503_8d01_mget_20_3cfile_3e_2(void); -void __0504_1e96_mkd_20(void); -void __0505_304a_mkdir(void); -void __0506_7d04_mkdir_20_3cdirector(void); -void __0507_6257_mknod(void); -void __0508_685e_mode(void); -void __0509_9335_modes_20are_3a_20no(void); -void __050a_a91f_more(void); -void __050b_5384_more_20_3cfilename_(void); -void __050c_ec46_motd(void); -void __050d_b5d1_mount(void); -void __050e_2a4d_mput(void); -void __050f_312f_mput_20_3cfile_3e_2(void); -void __0510_245f_mru(void); -void __0511_58b1_mss(void); -void __0512_708f_mtu(void); -void __0513_78ae_mycall(void); -void __0514_e112_n_5fcreat_28_22_25s(void); -void __0515_fa1b_n_5fcreat_28_29_20r(void); -void __0516_105b_n_5fcreat_28_29_20r(void); -void __0517_8a90_name(void); -void __0518_b07d_netmask(void); -void __0519_4d2c_netrom_20bcnodes_20(void); -void __051a_c5dc_netrom_20connect_20(void); -void __051b_925a_netrom_20interface_(void); -void __051c_a510_netrom_20interface_(void); -void __051d_b271_netrom_20kick_20_3c(void); -void __051e_5334_netrom_20nodefilter(void); -void __051f_6bfe_netrom_20nodefilter(void); -void __0520_328e_netrom_20reset_20_3(void); -void __0521_18c8_netrom_20route_20ad(void); -void __0522_fff3_netrom_20route_20dr(void); -void __0523_e8da_netrom_20route_20in(void); -void __0524_9094_newfile_28_29_20ret(void); -void __0525_6cce_newfile_28_29_20ret(void); -void __0526_147d_newfile_280x_25x_2c(void); -void __0527_2254_newproc_20_22_25s_2(void); -void __0528_4db6_newsession_3a_20WAR(void); -void __0529_5ab5_newsession_3a_20WAR(void); -void __052a_7718_next_20pointer_20ou(void); -void __052b_7b66_nlst(void); -void __052c_0ca7_nntp_20addserver_20(void); -void __052d_fea0_nntp_20dropserver_2(void); -void __052e_a821_nntp_20kick_20_3cnn(void); -void __052f_a7f6_no_20filesys(void); -void __0530_7405_no_20root(void); -void __0531_b518_no_20such_20route_0(void); -void __0532_3fb4_nodefilter(void); -void __0533_bac4_nodefilter_20subcom(void); -void __0534_e743_nodes(void); -void __0535_57cf_nodetimer(void); -void __0536_7a7f_none_0a(void); -void __0537_29c2_normal_20_28_25s_20(void); -void __0538_07d0_null_0a(void); -void __0539_fb30_obsotimer(void); -void __053a_3971_open(void); -void __053b_a412_open_20_25s(void); -void __053c_e5a0_open_20FTP(void); -void __053d_10d3_open_20Finger(void); -void __053e_fe22_open_20MBOX(void); -void __053f_c7d5_open_20POP(void); -void __0540_2477_open_20SMTP(void); -void __0541_4ca5_open_20discard(void); -void __0542_e649_open_20echo(void); -void __0543_a479_open_20term(void); -void __0544_2f09_p_5finit_28_29(void); -void __0545_76ec_packet_20delayed_20(void); -void __0546_8504_packet_20duped_0a(void); -void __0547_a8e1_packet_20lost_0a(void); -void __0548_ead4_paclen(void); -void __0549_1a03_page(void); -void __054a_dd11_page_20_3ccommand_3(void); -void __054b_b6e1_pap(void); -void __054c_512a_param(void); -void __054d_d362_param_20_3cinterfac(void); -void __054e_9d45_pass(void); -void __054f_f746_pause(void); -void __0550_d9f3_pfc(void); -void __0551_28cb_ping(void); -void __0552_d85a_ping_20_3chostid_3e(void); -void __0553_0458_pipe(void); -void __0554_5919_pool(void); -void __0555_e039_port(void); -void __0556_a9d2_port_20_25d_3a_20tx(void); -void __0557_3aa8_ppp(void); -void __0558_8304_ppp_5fproc_3a_20mis(void); -void __0559_4b37_process_20_25d_20ex(void); -void __055a_8848_processing_20my_20i(void); -void __055b_e384_processing_20other_(void); -void __055c_3dc2_protocol_3a_20(void); -void __055d_4160_ps(void); -void __055e_26dc_pthresh(void); -void __055f_a61f_publish(void); -void __0560_274c_pushdown_20calls_20(void); -void __0561_0234_put(void); -void __0562_8f3b_put_20_3clocalfile_(void); -void __0563_b16b_putting_20block_20_(void); -void __0564_2105_pwd(void); -void __0565_0282_qlimit(void); -void __0566_0be6_queries(void); -void __0567_0bef_query(void); -void __0568_6646_query_20_3chostid_3(void); -void __0569_27c8_queue_20job_20_25s_(void); -void __056a_1196_quick(void); -void __056b_ad30_quiet(void); -void __056c_7b54_quit(void); -void __056d_054d_read(void); -void __056e_c7a9_read_20_3cremotefil(void); -void __056f_19fa_readwritei_28_25u_2(void); -void __0570_79be_readwritei_28_29_20(void); -void __0571_94aa_readwritei_28_29_20(void); -void __0572_67b0_readwritei_28_29_20(void); -void __0573_7ee6_reboot(void); -void __0574_1c64_received_20_25u_20b(void); -void __0575_5735_record(void); -void __0576_18c5_recv_3a_20do_20(void); -void __0577_8810_recv_3a_20dont_20(void); -void __0578_84ef_recv_3a_20will_20(void); -void __0579_219c_recv_3a_20wont_20(void); -void __057a_c7dc_refuse(void); -void __057b_0e31_reject_0a(void); -void __057c_bc2e_remote(void); -void __057d_4ff0_remote_20_5b_2dp_20(void); -void __057e_cb71_rename(void); -void __057f_a493_rename_20_3coldfile(void); -void __0580_6d5b_repeat(void); -void __0581_01b9_repeat_20_3cinterva(void); -void __0582_3f14_request(void); -void __0583_85b2_reset(void); -void __0584_c3ce_response_20id_20_25(void); -void __0585_9bd3_retr(void); -void __0586_5e3c_retries(void); -void __0587_0acb_retry(void); -void __0588_7f96_rip_20accept_20_3cg(void); -void __0589_764e_rip_20add_20_3cdest(void); -void __058a_3030_rip_20drop_20_3cdes(void); -void __058b_8661_rip_20refuse_20_3cg(void); -void __058c_b917_rmd_20(void); -void __058d_a56c_rmdir(void); -void __058e_b9e3_rmdir_20_3cdirector(void); -void __058f_c459_rmhost(void); -void __0590_0284_route(void); -void __0591_ea02_route_20add_20_3cde(void); -void __0592_f461_route_20add_20_5b_2(void); -void __0593_d581_route_20addprivate_(void); -void __0594_bbd2_route_20drop_20_3cd(void); -void __0595_103e_route_20drop_20_5b_(void); -void __0596_a5ec_route_20lookup_20_3(void); -void __0597_ae23_route_20to_20self_3(void); -void __0598_2c09_rtimer(void); -void __0599_ae54_rtt(void); -void __059a_02fc_running(void); -void __059b_de1b_rwsetup_28_25u_2c_2(void); -void __059c_7f24_rwsetup_28_29_20ret(void); -void __059d_d9aa_rwsetup_28_29_20ret(void); -void __059e_b4d7_rxbuf(void); -void __059f_d2fd_sbrk(void); -void __05a0_3365_scrollback(void); -void __05a1_9a3e_send(void); -void __05a2_e397_send_20_22string_22(void); -void __05a3_5c19_sender(void); -void __05a4_efea_sending_20job_20_25(void); -void __05a5_7321_sent_3a_20do_20(void); -void __05a6_db3c_sent_3a_20dont_20(void); -void __05a7_d7c3_sent_3a_20will_20(void); -void __05a8_72b0_sent_3a_20wont_20(void); -void __05a9_2d5d_serial_20line_20IP_(void); -void __05aa_f33e_serial_20line_20VJ_(void); -void __05ab_6f7f_serial_20line_20VJ_(void); -void __05ac_6f48_server_20retries(void); -void __05ad_f0af_server_20trace(void); -void __05ae_db9a_session(void); -void __05af_3031_set_20mycall_20firs(void); -void __05b0_1de4_shell(void); -void __05b1_3faf_signal(void); -void __05b2_dce5_size(void); -void __05b3_f163_sizes(void); -void __05b4_4046_smtp_20daemon_20ent(void); -void __05b5_8e2a_smtp_20daemon_3a_20(void); -void __05b6_23e1_smtp_20job_20_25s_2(void); -void __05b7_ed89_smtp_20mode_3a_20_2(void); -void __05b8_2b33_smtp_20recv_3a_20_2(void); -void __05b9_928b_smtp_20sent_3a_20(void); -void __05ba_b4cf_socket(void); -void __05bb_6b20_some_20strange_2c_2(void); -void __05bc_60cd_speed(void); -void __05bd_9785_speed_20_3cbps_3e(void); -void __05be_1861_spool_3a_20_25s_0a(void); -void __05bf_61f2_src_20_25s(void); -void __05c0_4e06_srtt_20_3d_20_25lu_(void); -void __05c1_795f_stack_20test(void); -void __05c2_45e3_stacktest(void); -void __05c3_be0b_stacktest_20_5bon_7(void); -void __05c4_fcc6_standard_0a(void); -void __05c5_b958_start(void); -void __05c6_4b5d_start_20_3cserverna(void); -void __05c7_9324_start_20bsr_20_3cin(void); -void __05c8_d63e_stat(void); -void __05c9_5069_status(void); -void __05ca_7dfc_status_20up_20_7c_2(void); -void __05cb_68cb_stime(void); -void __05cc_4875_stktrace_20from_20p(void); -void __05cd_0a0a_stop(void); -void __05ce_6ec0_stop_20_3cservernam(void); -void __05cf_301d_stopped(void); -void __05d0_2918_stor(void); -void __05d1_784e_stru(void); -void __05d2_bec3_suffix(void); -void __05d3_420b_symlink(void); -void __05d4_ceb7_sync(void); -void __05d5_bb66_syndata(void); -void __05d6_b50c_sysdebug(void); -void __05d7_be35_sysdebug_20_5bon_7c(void); -void __05d8_8f60_syst(void); -void __05d9_f3f3_system_20call_20tra(void); -void __05da_a612_system_20kernel_20d(void); -void __05db_98fb_systrace(void); -void __05dc_71e3_systrace_20_5bon_7c(void); -void __05dd_6404_t3(void); -void __05de_b31f_target(void); -void __05df_e630_tcp(void); -void __05e0_e483_tcp_20kick_20_3ctcb(void); -void __05e1_a12c_tcp_20reset_20_3ctc(void); -void __05e2_bb94_tcp_20rtt_20_3ctcb_(void); -void __05e3_f363_tcp_20stat_20_3ctcb(void); -void __05e4_6ff2_telnet(void); -void __05e5_2114_telnet_20_3caddress(void); -void __05e6_6cef_term(void); -void __05e7_7425_terminate(void); -void __05e8_4c6f_thresh(void); -void __05e9_535d_time(void); -void __05ea_43a3_time_20before_20fil(void); -void __05eb_7156_timeout(void); -void __05ec_d9a6_timer(void); -void __05ed_d29c_timer_3a_20ints_20w(void); -void __05ee_c82f_times(void); -void __05ef_223a_timestamps(void); -void __05f0_004c_tip_20or_20dialer_2(void); -void __05f1_aa4a_tiptimeout(void); -void __05f2_aa76_tmp_20file_20wiping(void); -void __05f3_2645_tmp_20file_3a_20_25(void); -void __05f4_a165_topt(void); -void __05f5_4f5f_trace(void); -void __05f6_3bce_traceroute_20done_3(void); -void __05f7_f7b8_try(void); -void __05f8_e444_ttl(void); -void __05f9_299c_ttylink(void); -void __05fa_e58b_txqlen(void); -void __05fb_f321_type(void); -void __05fc_f1e4_udp(void); -void __05fd_5caf_umount(void); -void __05fe_5c70_unknown_0a(void); -void __05ff_bc4f_unknown_200x_2504x_(void); -void __0600_5194_unknown_20hardware_(void); -void __0601_acee_unlink(void); -void __0602_f303_up_20script_3a_20_2(void); -void __0603_db93_update(void); -void __0604_5c27_update_20Domain_2et(void); -void __0605_0b09_update_20Domain_2et(void); -void __0606_c5a3_update_20Domain_2et(void); -void __0607_d4f0_upload(void); -void __0608_13f7_user(void); -void __0609_6f25_user_20abort_0a(void); -void __060a_1b49_userdata(void); -void __060b_3967_username_20not_20de(void); -void __060c_c23f_users(void); -void __060d_5353_utime(void); -void __060e_d261_valid_20subcommands(void); -void __060f_a0e5_validblk_3a_20dev_2(void); -void __0610_74cf_validblk_3a_20inval(void); -void __0611_ab5c_verbose(void); -void __0612_207d_version(void); -void __0613_9778_view(void); -void __0614_23f1_view_20_3cfilename_(void); -void __0615_d63a_wait(void); -void __0616_2887_wait_20_3cmilliseco(void); -void __0617_e988_waitpid(void); -void __0618_674e_want_20busy_20block(void); -void __0619_84e4_what(void); -void __061a_9158_window(void); -void __061b_5379_wipe(void); -void __061c_bd9d_wr_5finode_28_29_20(void); -void __061d_68b2_wr_5finode_28_29_20(void); -void __061e_7708_wr_5finode_280x_25x(void); -void __061f_4cc8_write(void); -void __0620_dd6d_x_25x(void); -void __0621_ce7b_xcwd(void); -void __0622_511f_xip_5falign_28_29_2(void); -void __0623_62af_xip_5falign_28_29_2(void); -void __0624_2fa7_xip_5falign_28_29_2(void); -void __0625_6211_xip_5falign_28_29_2(void); -void __0626_dc6f_xip_5falign_280x_25(void); -void __0627_d854_xip_5falign_5fbmap_(void); -void __0628_4a41_xip_5falign_5fbmap_(void); -void __0629_f051_xip_5falign_5fbmap_(void); -void __062a_39ef_xip_5falign_5fchase(void); -void __062b_7ea2_xip_5falign_5fchase(void); -void __062c_f19c_xip_5falign_5fchase(void); -void __062d_fcac_xip_5falign_5fchase(void); -void __062e_d6ef_xip_5falign_5fchase(void); -void __062f_0fcd_xip_5falign_5frecur(void); -void __0630_ceee_xip_5falign_5frecur(void); -void __0631_346b_xip_5fexamine_28_29(void); -void __0632_fa8e_xip_5fexamine_28_29(void); -void __0633_ed9f_xip_5fexamine_28_29(void); -void __0634_c7f7_xip_5fexamine_28_29(void); -void __0635_04e3_xip_5fexamine_280x_(void); -void __0636_ffc4_xip_5ffind_28_25u_2(void); -void __0637_cb3b_xip_5ffind_28_29_20(void); -void __0638_5d23_xip_5ffind_28_29_20(void); -void __0639_1764_xip_5ffind_28_29_20(void); -void __063a_0ce2_xip_5fget_28_25u_2c(void); -void __063b_db94_xip_5fget_28_29_20r(void); -void __063c_de41_xip_5fget_28_29_20r(void); -void __063d_192a_xip_5fget_28_29_20r(void); -void __063e_2347_xip_5freserve_28_25(void); -void __063f_acf4_xip_5freserve_28_29(void); -void __0640_69a1_xip_5freserve_28_29(void); -void __0641_4bfa_xip_5freserve_28_29(void); -void __0642_3192_xip_5fsearch_28_25u(void); -void __0643_83fc_xip_5fsearch_28_29_(void); -void __0644_fd61_xip_5fsearch_28_29_(void); -void __0645_f464_xip_5fsearch_28_29_(void); -void __0646_ef25_xip_5fset_28_25u_2c(void); -void __0647_7af3_xip_5fset_28_29_20r(void); -void __0648_429f_xip_5fset_28_29_20r(void); -void __0649_36c3_xip_5fset_28_29_20r(void); -void __064a_3cda_xip_5fualign_28_29_(void); -void __064b_16b2_xip_5fualign_28_29_(void); -void __064c_71d2_xip_5fualign_28_29_(void); -void __064d_c58e_xip_5fualign_28_29_(void); -void __064e_3a65_xip_5fualign_280x_2(void); -void __064f_2295_xmd5(void); -void __0650_e251_xmkd(void); -void __0651_a48a_xpwd(void); -void __0652_79d3_xrmd(void); -void __0653_c59b_zap(void); -void __0654_4749_zerobuf_28_25u_29_2(void); -void __0655_ba0e_zerobuf_28_29_20ret(void); -void __0656_1fe8_zerobuf_28_29_20ret(void); +void __0014_b8da__09Message_3a_20_27(void); +void __0015_a684__09Remote_3a_09(void); +void __0016_e0e0__09Urgent_20pointer(void); +void __0017_c0f0__09changes_3a_200x_(void); +void __0018_6a8d__09connection_200x_(void); +void __0019_a28a__09connection_20ID_(void); +void __001a_cf72__09delta_20ACK_20an(void); +void __001b_8077__09delta_20ACK_3a_2(void); +void __001c_4a2b__09delta_20ID_3a_20(void); +void __001d_7710__09delta_20SEQ_20im(void); +void __001e_a966__09delta_20SEQ_3a_2(void); +void __001f_f05a__09delta_20WINDOW_3(void); +void __0020_ad18__09increment_20ID_0(void); +void __0021_13bc__09local_20IP_20add(void); +void __0022_efeb__09pid_20_25d_2c_20(void); +void __0023_a0dd__0a(void); +void __0024_f279__0a_20_20_20_20(void); +void __0025_f170__0a_20_20_20_20_20_(void); +void __0026_da94__0a_25s_20_2d_20_25(void); +void __0027_e088__0a_25s_20_2d_20_25(void); +void __0028_c061__0a_2a_2a_2a_20Loca(void); +void __0029_932c__0a_2a_2a_2a_20Unab(void); +void __002a_2592__0a_2a_2a_2a_2a_2a_(void); +void __002b_0887__0aCurrent_20remote(void); +void __002c_ebd8__0aReclaimation_20a(void); +void __002d_c546__0aUsed_20address_2(void); +void __002e_e8fc__0apanic_3a_20(void); +void __002f_2e85__20(void); +void __0030_4403__20_0aend_0asize_20(void); +void __0031_f289__20_20(void); +void __0032_3839__20_20_20(void); +void __0033_8d78__20_20_20_20(void); +void __0034_de40__20_20_20_20_20(void); +void __0035_3e02__20_20_20_20_20_20_(void); +void __0036_0534__20_20_20_20_20_20_(void); +void __0037_3fef__20_20_20_20_20_20_(void); +void __0038_3164__20_20_20_20_20_20_(void); +void __0039_c6d7__20_20_20_20_20_20_(void); +void __003a_9d57__20_20_20_20_20_20_(void); +void __003b_d46e__20_20_20_20_20_20_(void); +void __003c_f37c__20_20_20_20_20_20_(void); +void __003d_5dd1__20_20_20_20_20_20_(void); +void __003e_0406__20_20_20_20_20_20_(void); +void __003f_da67__20_20_20_20_20_20_(void); +void __0040_f638__20_20_20_20_20_20_(void); +void __0041_74c7__20_20_20_20_20_20_(void); +void __0042_f10d__20_20_20_20_20_20_(void); +void __0043_d02b__20_20_20_20_20_20_(void); +void __0044_0105__20_20_20_20_20_20_(void); +void __0045_c46d__20_20_20_20_20_20_(void); +void __0046_3a28__20_20_20_20_20_20_(void); +void __0047_48df__20_20_20_20_20_20_(void); +void __0048_da1e__20_20_20_20_20_20s(void); +void __0049_3800__20_20_20_20_20_26A(void); +void __004a_0e60__20_20_20_20_20_28_(void); +void __004b_d7d4__20_20_20_20_20Broa(void); +void __004c_f5a8__20_20_20_20_20Defa(void); +void __004d_de7b__20_20_20_20_20Host(void); +void __004e_a271__20_20_20_20_20INF(void); +void __004f_1775__20_20_20_20_20IP_2(void); +void __0050_7765__20_20_20_20_20Name(void); +void __0051_6879__20_20_20_20_20Subn(void); +void __0052_dac6__20_20_20_20_25_2d4(void); +void __0053_b576__20_20_20_20_2512s(void); +void __0054_e5e6__20_20_20_20_253u_0(void); +void __0055_ed50__20_20_20_20_25s_20(void); +void __0056_3528__20_20_20_20_25s_20(void); +void __0057_cbdf__20_20_20_20_25s_20(void); +void __0058_f7f3__20_20_20_20_26UCB_(void); +void __0059_9bd9__20_20_20_20In_09TC(void); +void __005a_7788__20_20_20_20Out_09T(void); +void __005b_8f4d__20_20_20_20Record_(void); +void __005c_9578__20_20_20_20Set_20n(void); +void __005d_eacd__20_20_20_20Upload_(void); +void __005e_94e3__20_20_20_20checkin(void); +void __005f_14a8__20_20_20_20checkin(void); +void __0060_9d66__20_20_20_20checkin(void); +void __0061_49a9__20_20_20_20checkin(void); +void __0062_19af__20_20_20_20checkin(void); +void __0063_edc5__20_20_20_20checkin(void); +void __0064_4df8__20_20_20_20checkin(void); +void __0065_0ca6__20_20_20_20checkin(void); +void __0066_a6cb__20_20_20_20checkin(void); +void __0067_c499__20_20_20_20checkin(void); +void __0068_232a__20_20_20_20checkin(void); +void __0069_4125__20_20_20_20making_(void); +void __006a_5c3a__20_20_20_20making_(void); +void __006b_2ab5__20_20_20_20making_(void); +void __006c_fe7a__20_20_20_20making_(void); +void __006d_c25d__20_20_20_20making_(void); +void __006e_5a16__20_20_20_20making_(void); +void __006f_6c96__20_20_20_20making_(void); +void __0070_bb75__20_20_20_20making_(void); +void __0071_ee59__20_20_20_20making_(void); +void __0072_fa1f__20_20_20_20making_(void); +void __0073_6383__20_20_20_20making_(void); +void __0074_6fd3__20_20_20_20with_20(void); +void __0075_2da2__20_20_20_25s_0a(void); +void __0076_ad66__20_20_20PUSH(void); +void __0077_9f3a__20_20_20TCP_20chec(void); +void __0078_5946__20_20_20connection(void); +void __0079_f01f__20_20_3d_3d_3d_3d_(void); +void __007a_cfff__20_20_3d_3d_3d_3d_(void); +void __007b_8181__20_20SR_20_5bnumbe(void); +void __007c_1149__20_20S_5bF_5d_20na(void); +void __007d_47af__20_20remote_20IP_2(void); +void __007e_ccb1__20_20seq_20x_25lx_(void); +void __007f_c997__20_21_3f(void); +void __0080_536e__20_21A(void); +void __0081_27d1__20_21F(void); +void __0082_ceaf__20_21H(void); +void __0083_ab99__20_21N(void); +void __0084_5266__20_21P(void); +void __0085_60fd__20_21S(void); +void __0086_bac3__20_23_20_20S_23_20(void); +void __0087_9a7d__20_25_2d15s(void); +void __0088_85f4__20_25_2d3d_20(void); +void __0089_a413__20_2502u_2f_2502u(void); +void __008a_d8f4__20_2502u_2f_2502u_(void); +void __008b_4d6e__20_2502x(void); +void __008c_cad1__20_2510lu_2510lu_2(void); +void __008d_43b6__20_254d_20_254d(void); +void __008e_78a4__20_258s_20_20_20_2(void); +void __008f_6904__20_25lu_20bps_0a(void); +void __0090_269f__20_25s(void); +void __0091_c302__20_25s_0a(void); +void __0092_10eb__20_25s_20_25s_20_2(void); +void __0093_c236__20_25s_25s(void); +void __0094_3c84__20_25s_2b_25x(void); +void __0095_97d2__20_25u_0a(void); +void __0096_5984__20_25u_2d_3e_25u(void); +void __0097_98a5__20_28_25ld_20ms_29(void); +void __0098_9556__20_28_25s_20seek_3(void); +void __0099_6268__20_28_25s_29_0a(void); +void __009a_3f71__20_28ASCII_20dump_(void); +void __009b_05b3__20_28Hex_2fASCII_2(void); +void __009c_0cd7__20_28S_29(void); +void __009d_ef5f__20_28headers_20onl(void); +void __009e_c04d__20_28published_29(void); +void __009f_ac28__20_2a_2a_2a(void); +void __00a0_8841__20_2d_20(void); +void __00a1_ace7__20_2d_20no_20broad(void); +void __00a2_01a0__20APND(void); +void __00a3_2da0__20Ack_20x_25lx(void); +void __00a4_f35d__20BUSY(void); +void __00a5_43af__20CE(void); +void __00a6_d667__20CHECKSUM_20ERROR(void); +void __00a7_5947__20CHOKE(void); +void __00a8_3c3c__20DF(void); +void __00a9_26b0__20Data_20_25u(void); +void __00aa_5125__20EOF(void); +void __00ab_2269__20ERR(void); +void __00ac_869e__20IPaddr_20_25s(void); +void __00ad_d267__20Illegal_20I_2dfi(void); +void __00ae_d316__20Invalid_20contro(void); +void __00af_1e4f__20Invalid_20seq_20(void); +void __00b0_fd02__20MC_3a_20int_20_2(void); +void __00b1_eb24__20MF(void); +void __00b2_747e__20MORE(void); +void __00b3_c5ed__20MSS_20_25u(void); +void __00b4_3976__20NAK(void); +void __00b5_c092__20NR_3d_25d(void); +void __00b6_dc29__20NS_3d_25d(void); +void __00b7_df24__20RX_3a_20int_20_2(void); +void __00b8_78a4__20Raw_20output(void); +void __00b9_a393__20Remote_3a_20_25s(void); +void __00ba_d7c2__20Retry(void); +void __00bb_42ba__20ST_3a_20int_20_2(void); +void __00bc_d322__20State_3a_20_25s_(void); +void __00bd_c86b__20TMP(void); +void __00be_2dcc__20TSTAMP_20_25lu_2(void); +void __00bf_e8c1__20TX_3a_20int_20_2(void); +void __00c0_d70d__20Too_2dlong_20I_2(void); +void __00c1_5a85__20UP_20x_25x(void); +void __00c2_2210__20Unack_3a_20_25_2(void); +void __00c3_3a68__20Unknown_20passwo(void); +void __00c4_23f3__20Vr_20_3d_20_25d_(void); +void __00c5_a984__20WSCALE_20_25u(void); +void __00c6_1d25__20Wnd_20_25u(void); +void __00c7_e77d__20_5b_25s_5d_20_25(void); +void __00c8_7762__20_5bcts_20flow_20(void); +void __00c9_2f4d__20_5brlsd_20line_2(void); +void __00ca_db59__20_5btrigger_200x_(void); +void __00cb_bc24__20asy_20(void); +void __00cc_c96a__20bad_20header_21_(void); +void __00cd_0acc__20bad_20packet_0a(void); +void __00ce_d795__20cmd_20_25u(void); +void __00cf_1813__20code_20_25s(void); +void __00d0_ad83__20dest_20_25s(void); +void __00d1_e3a3__20dest_20_25s_20_2(void); +void __00d2_4976__20diag(void); +void __00d3_e36a__20file(void); +void __00d4_5e9d__20full(void); +void __00d5_4c62__20hwaddr_20_25s_0a(void); +void __00d6_ed56__20hwlen_20_25u(void); +void __00d7_2971__20hwtype_20_25s(void); +void __00d8_3119__20id_20_25u_20offs(void); +void __00d9_8f2f__20id_20_25u_20pctl(void); +void __00da_20f7__20id_20_25u_20seq_(void); +void __00db_8c07__20idle_20timer_20_(void); +void __00dc_7166__20input(void); +void __00dd_6c92__20len_20_25u(void); +void __00de_0c74__20line(void); +void __00df_2537__20new_20gateway_20(void); +void __00e0_ea43__20new_20gateway_20(void); +void __00e1_e3db__20none(void); +void __00e2_826b__20offset_20_25u_20(void); +void __00e3_6680__20op_20_25u(void); +void __00e4_f7d5__20op_20REPLY(void); +void __00e5_5e3d__20op_20REQUEST(void); +void __00e6_9500__20op_20REVERSE_20R(void); +void __00e7_3faa__20op_20REVERSE_20R(void); +void __00e8_8a3d__20output(void); +void __00e9_5896__20pid_3d0x_25x_0a(void); +void __00ea_aba6__20pid_3dARP_0a(void); +void __00eb_d4e9__20pid_3dIP_0a(void); +void __00ec_a349__20pid_3dNET_2fROM_(void); +void __00ed_932f__20pid_3dTEXNET_0a(void); +void __00ee_4927__20pid_3dText_0a(void); +void __00ef_c207__20pid_3dX_2e25_0a(void); +void __00f0_5760__20pipe(void); +void __00f1_ac0a__20pointer_20_25u(void); +void __00f2_5557__20prot_20_25s_0a(void); +void __00f3_0187__20prot_20_25u_0a(void); +void __00f4_75a2__20prot_200x_25x_20(void); +void __00f5_3541__20prot_20IP(void); +void __00f6_1888__20receive_20_20_2d(void); +void __00f7_f2f3__20sock(void); +void __00f8_c067__20spi_20_25lx(void); +void __00f9_2902__20sw_20over_20_25l(void); +void __00fa_0bfc__20tos_20_25u(void); +void __00fb_e1c5__20trace_20file_3a_(void); +void __00fc_ca97__20tracing_20off_0a(void); +void __00fd_be19__20transmit_20_2d_2(void); +void __00fe_afd2__20ttl_20_25d_0a(void); +void __00ff_6f53__20txseq_20_25d_20r(void); +void __0100_c8f3__20type_200x_25x_0a(void); +void __0101_6772__20type_20ARP_0a(void); +void __0102_5c83__20type_20IP_0a(void); +void __0103_f937__20type_20REVARP_0a(void); +void __0104_c53a__20v(void); +void __0105_9158__20vers_20_25u_20en(void); +void __0106_994d__20wnd_20_25d(void); +void __0107_426e__20_7c_20(void); +void __0108_3f0c__21(void); +void __0109_f9eb__21_21_20_25s_20_25(void); +void __010a_ef2d__21_21_20maximum_20(void); +void __010b_55d7__22_25s_22_20_2d_20(void); +void __010c_60ae__23_20queries_20eac(void); +void __010d_1acc__23_20secs_20to_20w(void); +void __010e_fb95__25_2d10_2e10s_20_2(void); +void __010f_3035__25_2d10s_20IP_20ad(void); +void __0110_01be__25_2d10s_25_2d17s(void); +void __0111_4da0__25_2d10s_25_2d17s_(void); +void __0112_ff4a__25_2d10s_25_2d6s(void); +void __0113_e1c2__25_2d11s_25_2d9s_2(void); +void __0114_7335__25_2d13s(void); +void __0115_27e5__25_2d15s(void); +void __0116_0d8d__25_2d16s(void); +void __0117_e560__25_2d16s_20_20(void); +void __0118_f903__25_2d16s_25_2d3u_2(void); +void __0119_2609__25_2d16s_25_2d9lu_(void); +void __011a_1455__25_2d17s(void); +void __011b_e920__25_2d20s_258lu_258(void); +void __011c_8589__25_2d22s(void); +void __011d_b616__25_2d22s_0a(void); +void __011e_9c51__25_2d23s(void); +void __011f_bf59__25_2d2u(void); +void __0120_6601__25_2d32s_20_28_25l(void); +void __0121_a681__25_2d3u(void); +void __0122_ea81__25_2d4d(void); +void __0123_6f94__25_2d4d_255d_20_25(void); +void __0124_eb89__25_2d4u(void); +void __0125_2455__25_2d5ld(void); +void __0126_90e5__25_2d7lu(void); +void __0127_8982__25_2d7s_20_25_2d8s(void); +void __0128_da22__25_2d8lu(void); +void __0129_d1e2__25_2ds(void); +void __012a_1e56__2502x(void); +void __012b_3773__2504x_20_20(void); +void __012c_6df9__2504x_20_20_2504x_(void); +void __012d_aa0a__2504x_3a_2504x(void); +void __012e_83ad__2510lu_20In_2c_20_(void); +void __012f_cbd3__2510lu_20Out_2c_20(void); +void __0130_2875__2510lu_2510lu_255l(void); +void __0131_a689__251s_20_253d_20_20(void); +void __0132_e9b8__252d_20_25_2d6s_20(void); +void __0133_374a__252d_20_25_2d6s_20(void); +void __0134_b620__252d_20_25_2d6s_20(void); +void __0135_1703__253d_3a(void); +void __0136_981e__254d_09(void); +void __0137_b932__254d_20_25_2d8s_25(void); +void __0138_936b__254s(void); +void __0139_4a96__258lu(void); +void __013a_5eaf__258lu_0a(void); +void __013b_3acb__258s(void); +void __013c_3341__258u_2510u_2511lu_(void); +void __013d_fd73__259p_20_20_20_253d(void); +void __013e_b8a6__259p_20_25_2d8d_25(void); +void __013f_1719__259p_20_25_2d9s_25(void); +void __0140_1260__259p_256u_20_20_25(void); +void __0141_482b__259p_256u_256u_20_(void); +void __0142_fcae__25c(void); +void __0143_6d8a__25c_20(void); +void __0144_3d14__25c_20_257s_20_257(void); +void __0145_22d3__25c_25c_25c(void); +void __0146_4b6e__25c_25c_25c_0a(void); +void __0147_2970__25c_25c_25c_253d_2(void); +void __0148_8514__25c_25s_0a(void); +void __0149_086d__25c_5b2J(void); +void __014a_8811__25d(void); +void __014b_aeda__25d_0a(void); +void __014c_cd50__25d_20message_25s_(void); +void __014d_ea62__25ld(void); +void __014e_eb6a__25lu(void); +void __014f_63ed__25lu_0a(void); +void __0150_f325__25lu_2f_25lu_0a(void); +void __0151_d273__25p_20(void); +void __0152_1c93__25p_20_256lu(void); +void __0153_ec2f__25s(void); +void __0154_7643__25s_0a(void); +void __0155_0276__25s_0a_25s_0a(void); +void __0156_f81b__25s_20(void); +void __0157_8b7d__25s_20_2502d_2502d(void); +void __0158_7be3__25s_20_25p_0a(void); +void __0159_518b__25s_20_25s_0a(void); +void __015a_ca49__25s_20_25s_3a_20_2(void); +void __015b_43c6__25s_20_25s_3a_20Er(void); +void __015c_b8b7__25s_20_2d_20(void); +void __015d_1170__25s_20_2d_20Differ(void); +void __015e_d4cc__25s_20_2d_20Remote(void); +void __015f_4968__25s_20_2d_20Same_0(void); +void __0160_55aa__25s_20PPP_20_25s(void); +void __0161_7a48__25s_20PPP_20Unknow(void); +void __0162_136e__25s_20PPP_2f_25s_2(void); +void __0163_8479__25s_20PPP_2f_25s_2(void); +void __0164_0e2f__25s_20PPP_2f_25s_2(void); +void __0165_3c0d__25s_20PPP_2f_25s_2(void); +void __0166_9bc7__25s_20PPP_2f_25s_2(void); +void __0167_991e__25s_20PPP_2f_25s_2(void); +void __0168_8bd6__25s_20PPP_2f_25s_2(void); +void __0169_5f30__25s_20PPP_2f_25s_2(void); +void __016a_252c__25s_20PPP_2fIPCP_2(void); +void __016b_375d__25s_20PPP_2fIPCP_2(void); +void __016c_a652__25s_20PPP_2fPAP_20(void); +void __016d_a115__25s_20PPP_2fPap_20(void); +void __016e_ace2__25s_20dialer_3a_20(void); +void __016f_933b__25s_20errno_20_25d(void); +void __0170_f768__25s_20file_25s_2e_(void); +void __0171_c691__25s_20is_20unreach(void); +void __0172_a4a4__25s_20logged_20in(void); +void __0173_a64e__25s_20logged_20in_(void); +void __0174_b314__25s_20refs_20to_20(void); +void __0175_bd91__25s_20remain_20_25(void); +void __0176_bf9e__25s_20thru_20(void); +void __0177_243b__25s_20type_20_25s_(void); +void __0178_7d69__25s_25_25_25s_2ebb(void); +void __0179_d324__25s_25c_0a(void); +void __017a_ce9c__25s_25c_25c_25c(void); +void __017b_910e__25s_25s(void); +void __017c_46b5__25s_25s_0a(void); +void __017d_4d3a__25s_25s_0a_0a(void); +void __017e_47c0__25s_3a(void); +void __017f_6911__25s_3a_0a(void); +void __0180_e749__25s_3a_20(void); +void __0181_650d__25s_3a_20_25d_20me(void); +void __0182_86f5__25s_3a_20_25ld_0a(void); +void __0183_7189__25s_3a_20_25s_0a(void); +void __0184_35bd__25s_3a_20_25s_2c(void); +void __0185_adab__25s_3a_20Interface(void); +void __0186_5fe2__25s_3a_20PPP_2fPAP(void); +void __0187_5f8a__25s_3a_20PPP_2fPAP(void); +void __0188_53bc__25s_3a_20PPP_2fPAP(void); +void __0189_990e__25s_3a_20PPP_2fPAP(void); +void __018a_0cde__25s_3a_20bad_20dev(void); +void __018b_5351__25s_3a_20bad_20ino(void); +void __018c_8c96__25s_3a_20corrupted(void); +void __018d_d157__25s_3a_20fs_20of_2(void); +void __018e_1d98__25s_3a_20local_20n(void); +void __018f_bba5__25s_3a_20mode_20_2(void); +void __0190_60cc__25s_3a_20not_20a_2(void); +void __0191_4ed5__25s_3a_20release_5(void); +void __0192_04ae__25s_3a_20rtt_20_25(void); +void __0193_db35__25s_3a_20srtt_20_2(void); +void __0194_65f3__25s_3c_25ld_40_25s(void); +void __0195_6e45__25s_3e_20_25s_20_2(void); +void __0196_205d__25s_3e_20Invalid_2(void); +void __0197_c86f__25s_40_25s_0a(void); +void __0198_82c1__25s_40_25s_3a_0a(void); +void __0199_9fa6__25sMAILER_2dDAEMON(void); +void __019a_c284__25sR_0a(void); +void __019b_2293__25u_0a(void); +void __019c_c0bd__25u_20additional_3(void); +void __019d_7db0__25u_20answers_3a_0(void); +void __019e_7c48__25u_20authority_3a(void); +void __019f_b843__25u_20questions_3a(void); +void __01a0_af86__25u_3a_20calls_20_(void); +void __01a1_52fc__25x(void); +void __01a2_b099__26AXB_20_20_20_20_(void); +void __01a3_7bf6__26CB_20_20_20_20_2(void); +void __01a4_c497__26TCB_20_20_20_20_(void); +void __01a5_f73b__26UCB_20_20_20_20_(void); +void __01a6_aa89__27_25c_27_0a(void); +void __01a7_a2cd__28(void); +void __01a8_ba4c__28_252u_29_25_2d20(void); +void __01a9_52bf__28F_29(void); +void __01aa_93fe__28P_29(void); +void __01ab_38a6__28P_2fF_29(void); +void __01ac_7b70__28compressed_20ALL(void); +void __01ad_c1c3__28hopcheck_29_20IC(void); +void __01ae_565f__28missing_20UI_21_(void); +void __01af_f935__28not_20odd_21_29_(void); +void __01b0_abc9__29_0a(void); +void __01b1_bfa2__2a_2a_20smtp_3a_20(void); +void __01b2_1969__2a_2a_2a(void); +void __01b3_a448__2a_2a_2a_20Done_0a(void); +void __01b4_c993__2a_2a_2a_20Unable_(void); +void __01b5_b489__2a_2a_2a_2a_2a_2a_(void); +void __01b6_5b29__2c_20(void); +void __01b7_1a71__2c_20err_20_25d(void); +void __01b8_099c__2d_2d_2d_2d_2d_20E(void); +void __01b9_01ea__2d_2d_2d_2d_2d_20F(void); +void __01ba_04ae__2d_2d_2d_2d_2d_2d_(void); +void __01bb_1b54__2d_2d_2d_2d_2d_2d_(void); +void __01bc_3d1a__2d_2d_2d_2d_2d_2d_(void); +void __01bd_8ddf__2d_3e_25s(void); +void __01be_589d__2d_3e_25s_20ihl_20(void); +void __01bf_e6c1__2e_0a(void); +void __01c0_ed84__2f_25lu_20ms(void); +void __01c1_6d9b__2f_25lu_20ms_0a(void); +void __01c2_a44f__2f_25lu_20ms_3b_20(void); +void __01c3_096e__2f_25u(void); +void __01c4_96dc__2fEX(void); +void __01c5_79e7_0_25o(void); +void __01c6_8157_007Incoming_20_25s_(void); +void __01c7_b04e_0x_2503x_20_20_20_2(void); +void __01c8_0da1_0x_2504x_09(void); +void __01c9_3f3a_0x_2504x_0a(void); +void __01ca_b193_0x_2508lx_09(void); +void __01cb_8308_0x_2508lx_0a(void); +void __01cc_ab8d_0x_25x(void); +void __01cd_6f63_0x_25x_09_09_25ld_0(void); +void __01ce_fea8_0x_25x_09_09_25ld_0(void); +void __01cf_f01c_0x_25x_0a(void); +void __01d0_d635_100_20Warning_3a_20(void); +void __01d1_3f47_150_20Opening_20dat(void); +void __01d2_67ab_200_20(void); +void __01d3_cc8d_200_20MKD_20ok_0a(void); +void __01d4_6c3a_200_20Ok_0a(void); +void __01d5_ba32_200_20Port_20comman(void); +void __01d6_1db7_200_20Type_20_25s_2(void); +void __01d7_1192_215_20_25s_20Type_3(void); +void __01d8_01fe_220_20_25s_20FTP_20(void); +void __01d9_7804_221_20Goodbye_21_0a(void); +void __01da_3f54_226_20File_20receiv(void); +void __01db_caea_226_20File_20sent_2(void); +void __01dc_9fe8_230_20Logged_20in_0(void); +void __01dd_55db_250_20_25s_0a(void); +void __01de_c720_250_20File_20delete(void); +void __01df_de54_250_2d_25s_0a(void); +void __01e0_9400_257_20_22_25s_22_20(void); +void __01e1_24f1_331_20Enter_20PASS_(void); +void __01e2_273f_421_20System_20over(void); +void __01e3_e43d_425_20Data_20connec(void); +void __01e4_7e66_500_20Unknown_20com(void); +void __01e5_3d39_500_20Unsupported_2(void); +void __01e6_fe7e_501_20Bad_20port_20(void); +void __01e7_065e_501_20Only_20logica(void); +void __01e8_a2bf_501_20Unknown_20typ(void); +void __01e9_41cf_502_20Command_20not(void); +void __01ea_f576_503_20Login_20with_(void); +void __01eb_7dc2_530_20Please_20log_(void); +void __01ec_c53a_550_20Can_27t_20rea(void); +void __01ed_4770_550_20Delete_20fail(void); +void __01ee_38c3_550_20Permission_20(void); +void __01ef_95c1_552_20Write_20error(void); +void __01f0_7eaf_553_20Can_27t_20cre(void); +void __01f1_f0b2_553_20Can_27t_20rea(void); +void __01f2_b04b__3a_20_25d_0a(void); +void __01f3_6aba__3a_20_25ld_0a(void); +void __01f4_8cd1__3a_20_25s(void); +void __01f5_68d2__3a_20_25s_0a(void); +void __01f6_3c02__3a_20_25u_0a(void); +void __01f7_6692__3b_20Tries_3a_20_2(void); +void __01f8_697b__3c_25ld_40_25s_3e_(void); +void __01f9_2587__3c_25s_40_25s_2ebb(void); +void __01fa_3152__3c_3d_3d_25s(void); +void __01fb_defc__3c_3d_3d_25s_0a(void); +void __01fc_016b__3d_3d_3eARTICLE_20(void); +void __01fd_c133__3d_3d_3eNEWNEWS_20(void); +void __01fe_696c__3d_3d_3eQUIT_0a(void); +void __01ff_396e__3d_3dNo_20response(void); +void __0200_c6f3__3f(void); +void __0201_4d83__40(void); +void __0202_23d2__40_25s(void); +void __0203_7f61_ARP_3a_20len_20_25d(void); +void __0204_124c_ARTICLE_20_25s(void); +void __0205_109d_AX25_20receive_20wi(void); +void __0206_f4e0_AX25_20version(void); +void __0207_818f_AX25_3a_20(void); +void __0208_f05c_Abort_0d_0a(void); +void __0209_6caf_Aborted_2e(void); +void __020a_f2cb_Aborted_2e_0a(void); +void __020b_537a_Accept_0a(void); +void __020c_d953_Ack_20Rcvd(void); +void __020d_58e1_Ack_20Sent(void); +void __020e_b988_Ack_20delay_20time_(void); +void __020f_fccc_Active_20RIP_20outp(void); +void __0210_fb01_Actively_20opening_(void); +void __0211_e216_Address_2fControl_2(void); +void __0212_1fbc_All_20groups_20are_(void); +void __0213_4a0c_Allow_20ACCM(void); +void __0214_8e02_Allow_20Address(void); +void __0215_7b21_Allow_20Address_2fC(void); +void __0216_5003_Allow_20Authenticat(void); +void __0217_081e_Allow_20Compression(void); +void __0218_14d8_Allow_20MRU(void); +void __0219_5c94_Allow_20Magic_20Num(void); +void __021a_33ea_Allow_20Protocol_20(void); +void __021b_a5f9_Already_20have_20_2(void); +void __021c_8eaf_Arcnet_3a_20len_20_(void); +void __021d_52c7_Argument_20missing_(void); +void __021e_3ed8_Ascii_0a(void); +void __021f_7cb2_Attach_20device_20f(void); +void __0220_ec38_Attach_20netrom_20i(void); +void __0221_ee22_Attended_20flag(void); +void __0222_b76d_Authentication_20Ph(void); +void __0223_0443_Available_20areas_2(void); +void __0224_6999_Backoff_20Level_20_(void); +void __0225_9716_Bad_20digipeater_20(void); +void __0226_0b9f_Bad_20syntax_2e_0a(void); +void __0227_e884_Bad_20target_20_25s(void); +void __0228_822a_Bad_20user_20or_20h(void); +void __0229_61f7_Base_20Addr_09Rxint(void); +void __022a_929a_Base_20Addr_20_20Rx(void); +void __022b_de82_Buf_20hits_2fmiss_2(void); +void __022c_ae0c_CTRL_2d_25c_0a(void); +void __022d_6c46_CWD_20_25s_0a(void); +void __022e_0e64_Calls_20originated_(void); +void __022f_9777_Calls_20timed_20out(void); +void __0230_e911_Can_27t_20NLST_20_2(void); +void __0231_daf3_Can_27t_20add_20rou(void); +void __0232_6db7_Can_27t_20attach_20(void); +void __0233_79e8_Can_27t_20change_20(void); +void __0234_3bb8_Can_27t_20create_20(void); +void __0235_0003_Can_27t_20create_20(void); +void __0236_ef8c_Can_27t_20create_20(void); +void __0237_28e0_Can_27t_20create_20(void); +void __0238_d5bc_Can_27t_20create_20(void); +void __0239_c7fb_Can_27t_20delete_20(void); +void __023a_d5d6_Can_27t_20detach_20(void); +void __023b_5d65_Can_27t_20find_20he(void); +void __023c_3eee_Can_27t_20list_20lo(void); +void __023d_c1c1_Can_27t_20open_20_2(void); +void __023e_fedd_Can_27t_20open_20_2(void); +void __023f_fb2a_Can_27t_20open_20_2(void); +void __0240_d8a5_Can_27t_20open_20in(void); +void __0241_8131_Can_27t_20read_20(void); +void __0242_4a10_Can_27t_20read_20_2(void); +void __0243_8468_Can_27t_20read_20co(void); +void __0244_4327_Can_27t_20read_20di(void); +void __0245_5fb2_Can_27t_20read_20lo(void); +void __0246_36d4_Can_27t_20read_20pa(void); +void __0247_5e43_Can_27t_20rename_20(void); +void __0248_4bfe_Can_27t_20rewrite_2(void); +void __0249_24ca_Can_27t_20set_20lin(void); +void __024a_5e82_Can_27t_20write_20_(void); +void __024b_988b_Can_27t_20write_20l(void); +void __024c_c0f9_Can_27t_20write_20t(void); +void __024d_5055_Ch_20Iface_20_20_20(void); +void __024e_95d8_Ch_20Iface_20_20CTS(void); +void __024f_eff3_Channel_20_2d_20_25(void); +void __0250_1b09_Choke_20timeout_20_(void); +void __0251_433b_Close(void); +void __0252_aa31_Closed(void); +void __0253_f95c_Closed_3a_20_25s_0a(void); +void __0254_253f_Closing_20PPP(void); +void __0255_5627_Code_20Reject(void); +void __0256_e508_Command_20batching(void); +void __0257_6fb2_Compressed_20TCP_2f(void); +void __0258_242d_Compressed_20TCP_2f(void); +void __0259_531f_Config_20Ack(void); +void __025a_2a68_Config_20Nak(void); +void __025b_194d_Config_20Reject(void); +void __025c_d2e5_Config_20Req(void); +void __025d_b471_Connect_20failed_0a(void); +void __025e_bb2f_Connect_20failed_3a(void); +void __025f_85e9_Connect_20to_20mail(void); +void __0260_6930_Connected_0a(void); +void __0261_5189_Connected_20to_20_2(void); +void __0262_771a_Connected_20to_20ma(void); +void __0263_0e16_Connected_2e(void); +void __0264_3e79_Connection_20closed(void); +void __0265_faa9_Connection_20failed(void); +void __0266_3676_Could_20not_20creat(void); +void __0267_d95b_Couldn_27t_20queue_(void); +void __0268_68a6_Current_20message_2(void); +void __0269_23ad_Currently_20enabled(void); +void __026a_1cf7_DELE_20_25s(void); +void __026b_5fad_DISASTER_21_20Out_2(void); +void __026c_7ce2_DRSI_20Board_20Stat(void); +void __026d_2f52_D_5bU_5d_20filename(void); +void __026e_698b_Data_0a(void); +void __026f_cb1c_Data_20outside_20he(void); +void __0270_01be_Data_20pointer_20_2(void); +void __0271_3cbb_Data_20pointer_20be(void); +void __0272_bd70_Defaulting_20to_20b(void); +void __0273_2d19_Del_5fconst_20_3d_2(void); +void __0274_6255_Dest_20Addr_20_20_2(void); +void __0275_3894_Dialing_20not_20sup(void); +void __0276_26a3_Different_0a(void); +void __0277_ae33_Digipeat(void); +void __0278_af35_Directory_20table_2(void); +void __0279_c453_Discard_20Request(void); +void __027a_c1bb_Disconnected_20(void); +void __027b_2cc5_Disconnecting_2e(void); +void __027c_1f44_Down(void); +void __027d_b7f4_Dup_20acks_20_20_20(void); +void __027e_3ed4_Duplex_3a_20_25s_0a(void); +void __027f_b671_E2BIG(void); +void __0280_56e8_EACCES(void); +void __0281_f378_EAGAIN(void); +void __0282_0483_EAGLE_20Board_20Sta(void); +void __0283_a2a1_EBADF(void); +void __0284_74ba_EBUSY(void); +void __0285_4029_ECHILD(void); +void __0286_cd2b_EDEADLK(void); +void __0287_4299_EDOM(void); +void __0288_bec8_EEXIST(void); +void __0289_afa9_EFAULT(void); +void __028a_9ed8_EFBIG(void); +void __028b_28f7_EGATTACH_3a_20No_20(void); +void __028c_eb47_EINTR(void); +void __028d_b479_EINVAL(void); +void __028e_21d8_EINVFNC(void); +void __028f_2d75_EIO(void); +void __0290_fb45_EISDIR(void); +void __0291_8de7_ELOOP(void); +void __0292_9e5a_EMFILE(void); +void __0293_983a_EMLINK(void); +void __0294_0607_ENAMETOOLONG(void); +void __0295_8396_ENFILE(void); +void __0296_7088_ENODEV(void); +void __0297_edee_ENOENT(void); +void __0298_a107_ENOEXEC(void); +void __0299_29fe_ENOLCK(void); +void __029a_42c4_ENOMEM(void); +void __029b_d51d_ENOSPC(void); +void __029c_d3a2_ENOTBLK(void); +void __029d_f683_ENOTDIR(void); +void __029e_83de_ENOTEMPTY(void); +void __029f_81a3_ENOTTY(void); +void __02a0_01a7_ENXIO(void); +void __02a1_4485_EPERM(void); +void __02a2_5ede_EPIPE(void); +void __02a3_7f6a_ERANGE(void); +void __02a4_0587_EROFS(void); +void __02a5_6b3a_ESCC_20channel_20_2(void); +void __02a6_6d38_ESCC_20channel_20_2(void); +void __02a7_0a8a_ESCC_20driver_20alr(void); +void __02a8_d89e_ESCC_20driver_20not(void); +void __02a9_dd82_ESHELL(void); +void __02aa_ffa8_ESPIPE(void); +void __02ab_b33c_ESRCH(void); +void __02ac_194a_ETXTBSY(void); +void __02ad_8d4a_EXDEV(void); +void __02ae_6684_Echo_20Reply(void); +void __02af_1323_Echo_20Request(void); +void __02b0_4f54_Encapsulation_20mod(void); +void __02b1_0f4a_Enqued_20_20_2d_20_(void); +void __02b2_de30_Enter_20message_2e_(void); +void __02b3_3a50_Error_20in_20respon(void); +void __02b4_d568_Error_20updating_20(void); +void __02b5_69fc_Error_20writing_20m(void); +void __02b6_9664_Escape_20character_(void); +void __02b7_bdca_Establishment_20Pha(void); +void __02b8_8c2d_Ether_3a_20len_20_2(void); +void __02b9_3af3_F_3e(void); +void __02ba_0046_Failed_0a(void); +void __02bb_8931_Failed_3b_20close_2(void); +void __02bc_4a7b_First_20init_20ESCC(void); +void __02bd_0954_Forwarding_20timer_(void); +void __02be_95bb_Free_20address_20qu(void); +void __02bf_fee7_Free_20cache_3a_20s(void); +void __02c0_8dc1_Free_20memory_20thr(void); +void __02c1_1be2_From_20_25s_20_25s(void); +void __02c2_d837_From_3a_20_25s_0a(void); +void __02c3_b9a0_Garbage_20bp_20_25l(void); +void __02c4_7731_Group_20list_20too_(void); +void __02c5_ccdf_HAPN_20_25d_3a_20_2(void); +void __02c6_9570_HOPCHECK_20start_20(void); +void __02c7_8ef4_HOPCHECK_20to_20_25(void); +void __02c8_c794_HOPCHECK_20tracing(void); +void __02c9_4952_HS_3a_20Warning_3a_(void); +void __02ca_10ba_Hardware_20_25u_0a(void); +void __02cb_32e9_Heap_20debugging(void); +void __02cc_9144_Host_20_25s_20_28_2(void); +void __02cd_862c_Host_20_25s_20unkno(void); +void __02ce_f216_Hostname_20set_20to(void); +void __02cf_267d_Hytech_20KA9Q_20NOS(void); +void __02d0_df4f_ICMP_20echo_20respo(void); +void __02d1_db6d_ICMP_20from_20_25s_(void); +void __02d2_abbc_ICMP_20tracing(void); +void __02d3_6b85_ICMP_3a_20type_20_2(void); +void __02d4_dff6_IP_0a(void); +void __02d5_5812_IP_20Time_2dto_2dli(void); +void __02d6_0e41_IP_20addr_20_20_20_(void); +void __02d7_8cdb_IP_20reasm_20timeou(void); +void __02d8_5f88_IP_20rx_20tracing(void); +void __02d9_88e0_IP_3a_20CHECKSUM_20(void); +void __02da_03a7_IP_3a_20bad_20heade(void); +void __02db_4543_IP_3a_20len_20_25u(void); +void __02dc_e067_IPCP_0a(void); +void __02dd_6e3f_IPCP_20(void); +void __02de_9f0e_IPCP_20ACK_3a_20buf(void); +void __02df_7bbb_IPCP_20ACK_3a_20dat(void); +void __02e0_b0d9_IPCP_20ACK_3a_20val(void); +void __02e1_3a6e_IPCP_20ACK_3a_20wro(void); +void __02e2_678b_IPCP_20NAK_3a_20bad(void); +void __02e3_4d9e_IPCP_20NAK_3a_20opt(void); +void __02e4_4732_IPCP_20NAK_3a_20opt(void); +void __02e5_3eb8_IPCP_20NAK_3a_20ran(void); +void __02e6_86ff_IPCP_20NAK_3a_20val(void); +void __02e7_0dfe_IPCP_20NAK_3a_20wro(void); +void __02e8_77fc_IPCP_20REJ_3a_20bad(void); +void __02e9_e0d3_IPCP_20REJ_3a_20opt(void); +void __02ea_ea7f_IPCP_20REJ_3a_20opt(void); +void __02eb_a959_IPCP_20REJ_3a_20ran(void); +void __02ec_3342_IPCP_20REJ_3a_20val(void); +void __02ed_3c15_IPCP_20REJ_3a_20wro(void); +void __02ee_497c_IPCP_20REQ_3a_20bad(void); +void __02ef_a1a1_IPCP_20REQ_3a_20ran(void); +void __02f0_4065_IPCP_20REQ_3a_20res(void); +void __02f1_a490_IRQ_20_25u_20out_20(void); +void __02f2_925d_Idle_20poll_20timer(void); +void __02f3_4ab5_Image_0a(void); +void __02f4_7e58_Initial_20RTT_20_28(void); +void __02f5_bd38_Inqlen_3a_20_25d_20(void); +void __02f6_c7f6_Insufficient_20args(void); +void __02f7_fcf9_Interface_20_20_20R(void); +void __02f8_b903_Interface_20_22_25s(void); +void __02f9_4daf_Interface_20_22_25s(void); +void __02fa_42ac_Interface_20_22_25s(void); +void __02fb_5a50_Interface_20_25s_20(void); +void __02fc_1298_Interface_20_25s_20(void); +void __02fd_24cb_Interface_20_25s_20(void); +void __02fe_c749_Interface_20_25s_20(void); +void __02ff_63a0_Interface_20_25s_20(void); +void __0300_c292_Interface_20_25s_20(void); +void __0301_8880_Interface_20_25s_20(void); +void __0302_6e91_Interface_20_25s_20(void); +void __0303_103c_Interface_20address(void); +void __0304_c429_Interface_3a_20(void); +void __0305_d726_Invalid_20magic_20c(void); +void __0306_42d9_Invalid_20range_2e_(void); +void __0307_89c0_Invalid_20type_20_2(void); +void __0308_62ed_Invalid_20user_20na(void); +void __0309_be0b_Job_20id_20_25s_20n(void); +void __030a_87a9_K_20numbers(void); +void __030b_414e_KISS_3a_20(void); +void __030c_1668_Known_20users_20on_(void); +void __030d_171d_LCP_0a(void); +void __030e_9945_LCP_20(void); +void __030f_7a27_LCP_20ACK_3a_20buff(void); +void __0310_a126_LCP_20ACK_3a_20data(void); +void __0311_6dd9_LCP_20ACK_3a_20vali(void); +void __0312_d52d_LCP_20ACK_3a_20wron(void); +void __0313_febe_LCP_20NAK_3a_20bad_(void); +void __0314_8ccc_LCP_20NAK_3a_20opti(void); +void __0315_8660_LCP_20NAK_3a_20opti(void); +void __0316_ee4a_LCP_20NAK_3a_20ran_(void); +void __0317_5bff_LCP_20NAK_3a_20vali(void); +void __0318_e2bd_LCP_20NAK_3a_20wron(void); +void __0319_eec9_LCP_20REJ_3a_20bad_(void); +void __031a_2181_LCP_20REJ_3a_20opti(void); +void __031b_2b2d_LCP_20REJ_3a_20opti(void); +void __031c_79ab_LCP_20REJ_3a_20ran_(void); +void __031d_ee42_LCP_20REJ_3a_20vali(void); +void __031e_d356_LCP_20REJ_3a_20wron(void); +void __031f_d049_LCP_20REQ_3a_20bad_(void); +void __0320_7153_LCP_20REQ_3a_20ran_(void); +void __0321_0ae9_LCP_20REQ_3a_20resu(void); +void __0322_1d45_Last_20message_0a(void); +void __0323_c626_Listen(void); +void __0324_f6d8_Listening_20_2d_2d_(void); +void __0325_a317_Loc_20(void); +void __0326_5ce5_Local_3a_20_25s(void); +void __0327_0926_Local_3a_20_25s_20_(void); +void __0328_6210_Lock_20directory_20(void); +void __0329_f59a_Logging_20off_0a(void); +void __032a_1bd9_Logging_20to_20_25s(void); +void __032b_4a5a_Logical_20bytesize_(void); +void __032c_4f93_Login_20incorrect_0(void); +void __032d_8ac2_MBOX_20Zap_3a_20_25(void); +void __032e_1dc7_MBOX_20bbs_20mail_2(void); +void __032f_37c2_MBOX_20bbs_20mail_2(void); +void __0330_f88f_MBOX_20forward_20fa(void); +void __0331_9bd4_MBOX_20forwarding_2(void); +void __0332_d1e8_MBOX_20login_3a_20_(void); +void __0333_dd2e_MBOX_20login_3a_20_(void); +void __0334_e920_MBOX_20sysop_3a_20_(void); +void __0335_a30c_MBOX_20upload_3a_20(void); +void __0336_c247_MKD_20_25s(void); +void __0337_53a6_MRU_20_25s_20_28_25(void); +void __0338_f9a6_Magic_20Number(void); +void __0339_d070_Mail_20area_3a_20_2(void); +void __033a_0103_Mail_20box_20full_3(void); +void __033b_523a_Main_20commands_3a_(void); +void __033c_dcca_Max_20attempts_20to(void); +void __033d_0279_Max_20clients(void); +void __033e_3cd5_Max_20frame_20lengt(void); +void __033f_d96d_Maximum_20messages_(void); +void __0340_488d_Mbuf_20sizes_3a_0a(void); +void __0341_ee8f_Message_20_23_25d_2(void); +void __0342_b5f9_Mode_20_25s_20unkno(void); +void __0343_aa15_Mode_20_25s_20unkno(void); +void __0344_ac3e_Msg_20_25d_20Killed(void); +void __0345_9a86_Must_20be_20_200_20(void); +void __0346_362b_Must_20be_20_200_20(void); +void __0347_2da0_Must_20be_20_3e_3d_(void); +void __0348_06a9_Must_20set_20_27r_2(void); +void __0349_d814_N_3e_3d_255u_3a_257(void); +void __034a_7868_NET_2fROM_20Routing(void); +void __034b_ae07_NET_2fROM_20not_20a(void); +void __034c_d0e9_NET_2fROM_3a_20_25s(void); +void __034d_73b0_NEWNEWS_20_25s_20_2(void); +void __034e_c191_NNTP_20_25s_20Canno(void); +void __034f_7ed2_NNTP_20_25s_20Canno(void); +void __0350_bcd0_NNTP_20_25s_20Conne(void); +void __0351_796b_NNTP_20_25s_20Conne(void); +void __0352_4193_NNTP_20_25s_20Conne(void); +void __0353_0909_NNTP_20_25s_20Conne(void); +void __0354_3814_NNTP_20_25s_20Conne(void); +void __0355_b5ec_NNTP_20_25s_20Could(void); +void __0356_8531_NNTP_20_25s_20Could(void); +void __0357_8fd5_NNTP_20_25s_20Could(void); +void __0358_0d83_NNTP_20_25s_20Givin(void); +void __0359_19c4_NNTP_20_25s_20Givin(void); +void __035a_213a_NNTP_20_25s_20bad_2(void); +void __035b_31a2_NNTP_20_25s_20bad_2(void); +void __035c_df3f_NNTP_20_25s_20givin(void); +void __035d_791c_NNTP_20_25s_20givin(void); +void __035e_75ce_NNTP_20_25s_20givin(void); +void __035f_7eb6_NNTP_20_25s_20proto(void); +void __0360_7f99_NNTP_20_25s_20proto(void); +void __0361_a517_NNTP_20Cannot_20ope(void); +void __0362_fc8f_NNTP_20can_27t_20re(void); +void __0363_2c2a_NNTP_20daemon_20ent(void); +void __0364_f2a9_NNTP_20daemon_20exi(void); +void __0365_cbc7_NNTP_20daemon_20qui(void); +void __0366_0fa8_NNTP_20group_20_27_(void); +void __0367_0e76_NNTP_20receive_20er(void); +void __0368_a47f_NNTP_20received_20_(void); +void __0369_0916_NNTP_20tracing(void); +void __036a_b065_NNTP_20window_20to_(void); +void __036b_852e_NO_20_2d_20(void); +void __036c_e182_NO_20_2d_20bad_20ad(void); +void __036d_7ccb_NO_20_2d_20syntax_2(void); +void __036e_2df6_NOS_20log_20closed(void); +void __036f_e1c8_NOS_20was_20started(void); +void __0370_cfbe_NOS_20was_20stopped(void); +void __0371_998c_NULL_20BUFFER_0a(void); +void __0372_f664_NULL_20username_20o(void); +void __0373_89a8_Net_3e_20(void); +void __0374_e0c6_Network_20_25s_20co(void); +void __0375_41e1_Network_20Protocol_(void); +void __0376_4009_New_20mail_20arrive(void); +void __0377_fbfc_New_20mail_20arrive(void); +void __0378_d0a7_New_20news_20arrive(void); +void __0379_f66f_No_20_20(void); +void __037a_e9a0_No_20HAPN_20adaptor(void); +void __037b_87bb_No_20current_20sess(void); +void __037c_7f27_No_20dialer_20activ(void); +void __037d_cd1f_No_20finger_20infor(void); +void __037e_2a2e_No_20help_20availab(void); +void __037f_7cc9_No_20packet_20drive(void); +void __0380_c43d_No_20space_21_21_0a(void); +void __0381_4e0c_No_20such_20message(void); +void __0382_2a80_No_20such_20server_(void); +void __0383_0cda_Nodetimer_20_25lu_2(void); +void __0384_3fb0_None(void); +void __0385_2875_None_09(void); +void __0386_1aee_None_0a(void); +void __0387_f8e2_Not_20a_20valid_20s(void); +void __0388_b4ba_Not_20an_20FTP_20se(void); +void __0389_ae74_Not_20enough_20memo(void); +void __038a_ee7e_Not_20found_0a(void); +void __038b_533e_Not_20in_20table_0a(void); +void __038c_c7b9_Not_20supported_0a(void); +void __038d_9692_Obsotimer_20_25lu_2(void); +void __038e_ff96_Oh_2c_20hello_20_25(void); +void __038f_0948_Only_20_25d_20DRSI_(void); +void __0390_8edb_Only_20_25d_20net_2(void); +void __0391_f9f0_Only_201_20EAGLE_20(void); +void __0392_b622_Open(void); +void __0393_fef1_Opened(void); +void __0394_1514_Outqlen_3a_20_25d_2(void); +void __0395_5b48_PANIC_3a_20Timer_20(void); +void __0396_281b_PANIC_3a_20buffer_2(void); +void __0397_f630_PAP_0a(void); +void __0398_7868_PAP_20(void); +void __0399_4af6_PAP_3a_20missing_20(void); +void __039a_e6d7_PAP_3a_20no_20permi(void); +void __039b_02ce_PAP_3a_20username_2(void); +void __039c_cf4a_PAP_3a_20wrong_20ID(void); +void __039d_8063_PASS_20_25s(void); +void __039e_2320_PI_20Board_20Statis(void); +void __039f_73f1_PI_3a_20DMA_20_25d_(void); +void __03a0_5841_PI_3a_20DMA_20chann(void); +void __03a1_3992_PI_3a_20IRQ_20_25u_(void); +void __03a2_4ca4_PI_3a_20Interface_2(void); +void __03a3_d856_PI_3a_20Maximum_20o(void); +void __03a4_9098_PI_3a_20Mode_20_25s(void); +void __03a5_de39_PI_3a_20No_20IP_20a(void); +void __03a6_02ea_PI_3a_20No_20memory(void); +void __03a7_c0d0_PI_3a_20No_20memory(void); +void __03a8_94ca_PI_3a_20No_20memory(void); +void __03a9_c698_PI_3a_20No_20memory(void); +void __03aa_d61f_PI_3a_20Set_20mycal(void); +void __03ab_68d4_PID_20_20_20CS_3aIP(void); +void __03ac_3c62_POP_20access_20DENI(void); +void __03ad_f3cf_POP_20access_20gran(void); +void __03ae_639f_POP_20client_20retr(void); +void __03af_e9bb_POP_20quiet(void); +void __03b0_1231_POP_20users_20file_(void); +void __03b1_e126_PORT_20_25u_2c_25u_(void); +void __03b2_b459_PPP_20tracing(void); +void __03b3_b660_PPP_3a_20len_20_253(void); +void __03b4_8c73_Packet_20driver_20h(void); +void __03b5_e4a3_Pap_09(void); +void __03b6_d638_Pap_0a(void); +void __03b7_8165_Parameter_20_25s_20(void); +void __03b8_d275_Passively_20opening(void); +void __03b9_85d2_Password_3a_20(void); +void __03ba_cb37_Password_3a_20_25c_(void); +void __03bb_6310_Path_3a_20(void); +void __03bc_2890_Peer_20requested_20(void); +void __03bd_f75b_Persistence_3a_20_2(void); +void __03be_63e4_Physical_20Line_20D(void); +void __03bf_48f5_Physical_20layer_20(void); +void __03c0_caac_Physical_20layer_20(void); +void __03c1_7bc8_Pinging_20_25s_0a(void); +void __03c2_94a5_Pinging_20resumed_0(void); +void __03c3_7fa9_Pinging_20suspended(void); +void __03c4_220f_Please_20hang_20up_(void); +void __03c5_4304_Poll_20threshold_20(void); +void __03c6_f8a0_Pool_20count_20_25s(void); +void __03c7_dd4d_Protocol_20Field_20(void); +void __03c8_c251_Protocol_20Reject(void); +void __03c9_744a_QUIT_0a(void); +void __03ca_43c0_Quality_20cannot_20(void); +void __03cb_b523_Queue_20limit_20_28(void); +void __03cc_4a0a_R_20numbers(void); +void __03cd_db0e_R_3a_25s_20_40_25s_(void); +void __03ce_373f_REQUEST(void); +void __03cf_19a4_RESPONSE(void); +void __03d0_8b13_RETR_20_25s(void); +void __03d1_86e9_RETURN_0a(void); +void __03d2_bbdb_RFrames_20_2d_20_25(void); +void __03d3_f9d6_RIP_20merging(void); +void __03d4_3211_RIP_20refused_20fro(void); +void __03d5_8827_RIP_20tracing(void); +void __03d6_5585_RIP_3a_20(void); +void __03d7_fd1d_RIP_3a_20sent_20_25(void); +void __03d8_6b7c_RIPCMD_3a_20Unknown(void); +void __03d9_5f5f_RIPCMD_5fREQUEST_0a(void); +void __03da_07f6_RIPCMD_5fRESPONSE_2(void); +void __03db_eb71_RIP_5frx_3a_20Not_2(void); +void __03dc_86e6_RMD_20_25s(void); +void __03dd_8005_Range_20for_20inter(void); +void __03de_1ee5_Reassembly_20fragme(void); +void __03df_fbe9_Reassembly_20queue_(void); +void __03e0_5eb3_Received_3a_20(void); +void __03e1_9fbc_Recording_20into_20(void); +void __03e2_aa80_Recording_20off_0a(void); +void __03e3_2a15_Recv_3a_20_20_20_20(void); +void __03e4_d0ff_Refuse_0a(void); +void __03e5_42c0_Refusing_20announce(void); +void __03e6_3602_Remote_20host_20acc(void); +void __03e7_ba3a_Req_20Sent(void); +void __03e8_8d50_Request_20retry_20e(void); +void __03e9_7be8_Request_20timeout(void); +void __03ea_6bd1_Requesting_2e_2e_2e(void); +void __03eb_4784_Resolver_20_25s_20u(void); +void __03ec_ae52_Resolving_20_25s_2e(void); +void __03ed_200a_Resolving_20_25s_2e(void); +void __03ee_cacc_Retry_20limit(void); +void __03ef_0cd3_Returned_20(void); +void __03f0_85af_Route_20add_20faile(void); +void __03f1_9b70_Routing_20lookups_3(void); +void __03f2_9c01_Rxints_20_20_2d_20_(void); +void __03f3_ccf6_S_20_20_20_20_20Job(void); +void __03f4_df6d_S_20command_20synta(void); +void __03f5_4fbb_S_23_20_20_20Type_2(void); +void __03f6_bf54_SMTP_20_25s_20Conne(void); +void __03f7_cbb7_SMTP_20batching(void); +void __03f8_e45f_SMTP_20client_20Try(void); +void __03f9_797a_SMTP_20sent_20job_2(void); +void __03fa_68b2_SMTP_20tracing(void); +void __03fb_e7a4_SP_20_3d_20_25p_2c_(void); +void __03fc_a1f1_STOR_20_25s(void); +void __03fd_49fd_STOR_20_25s_0a(void); +void __03fe_38ea_STOR_20_25s_3a_20_2(void); +void __03ff_12cc_STOR_20_25s_3a_20Er(void); +void __0400_cfe9_SUBCMD_20_2d_20Don_(void); +void __0401_0319_SYST_0a(void); +void __0402_93fc_Same_0a(void); +void __0403_3c55_Scroll_20file_20siz(void); +void __0404_e255_Send_20file_2c_20_2(void); +void __0405_c1d8_Send_3a_20_2508lx_2(void); +void __0406_afab_Server_20address_20(void); +void __0407_36ef_Session_20_25s_20no(void); +void __0408_0845_Slot_20time_3a_20_2(void); +void __0409_6556_Socket_20not_20in_2(void); +void __040a_a061_Sorry_20_2d_20the_2(void); +void __040b_8034_Stack_20violation_2(void); +void __040c_d9c9_Start(void); +void __040d_0d1f_Starting_20configur(void); +void __040e_6414_Station_20_20_20Las(void); +void __040f_5bef_Station_20_20_20Las(void); +void __0410_9aef_Subject_3a_20_25s_0(void); +void __0411_0cac_System_20is_20overl(void); +void __0412_63e9_T_20hostname(void); +void __0413_1279_T1_3a_20(void); +void __0414_a7c1_T3_3a_20(void); +void __0415_e4a1_TACK_3a_20(void); +void __0416_7f7b_TCB_20_25p_20_25s_2(void); +void __0417_5447_TCD_3a_20(void); +void __0418_fa23_TCP_20MSS(void); +void __0419_70e7_TCP_20default_20irt(void); +void __041a_5ac7_TCP_20header_20comp(void); +void __041b_c668_TCP_20state_20traci(void); +void __041c_b0d7_TCP_20syn_2bdata_20(void); +void __041d_43bd_TCP_20timestamps(void); +void __041e_5b74_TCP_20window(void); +void __041f_7267_TCP_3a_20_25u_2d_3e(void); +void __0420_59c4_TChoke_3a_20(void); +void __0421_2ced_TX_20Delay_3a_20_25(void); +void __0422_6a23_TX_20Tail_20time_3a(void); +void __0423_d175_TX_20queue_20limit(void); +void __0424_f579_TYPE_20A_0a(void); +void __0425_3bb9_TYPE_20I_0a(void); +void __0426_a616_TYPE_20L_20_25d_0a(void); +void __0427_f6fb_Target_20_20_20_20T(void); +void __0428_950b_Telnet_20option_20t(void); +void __0429_16a0_TermSent(void); +void __042a_e674_Termin_20Ack(void); +void __042b_678e_Termin_20Req(void); +void __042c_3a66_Terminate_20request(void); +void __042d_b7ab_Terminate_20retry_2(void); +void __042e_ff4c_Terminated(void); +void __042f_206b_Terminated_20unexpe(void); +void __0430_73f9_Termination_20Phase(void); +void __0431_4517_Thank_20you_20_25s_(void); +void __0432_70f0_The_20escape_20char(void); +void __0433_6de0_Time_20for_201000_2(void); +void __0434_601a_Time_20to_20live(void); +void __0435_12d5_Timeout(void); +void __0436_e505_Timeout_20value_20_(void); +void __0437_1db3_Timer_20_20_20_20_2(void); +void __0438_d78a_Tip_20connection_20(void); +void __0439_c093_Tip_20session_20alr(void); +void __043a_8c54_To_3a_20_25s_0a(void); +void __043b_a093_Too_20few_20argumen(void); +void __043c_2a55_Too_20many_20HAPN_2(void); +void __043d_76b7_Too_20many_20asynch(void); +void __043e_58f2_Too_20many_20digipe(void); +void __043f_2d53_Too_20many_20hs_20c(void); +void __0440_286c_Too_20many_20mailbo(void); +void __0441_4c9a_Too_20many_20nrs_20(void); +void __0442_7103_Too_20many_20packet(void); +void __0443_d8c3_Too_20many_20pc100_(void); +void __0444_2057_Too_20many_20sessio(void); +void __0445_447c_Too_20many_20slip_2(void); +void __0446_0d8c_Try_20to_20bounce_2(void); +void __0447_2030_Trying_20_25s_2e_2e(void); +void __0448_cee2_Trying_20_25s_2e_2e(void); +void __0449_be29_Trying_20Connection(void); +void __044a_9c56_Tstate_20_3d_20_25s(void); +void __044b_6afe_Turn_20off_20local_(void); +void __044c_c801_Tx_20state_20_20_25(void); +void __044d_be1b_Tx_20state_20_20_25(void); +void __044e_e1f6_TxBuffers_3a_20_20S(void); +void __044f_5cfe_Txdefer_20_2d_20_25(void); +void __0450_e733_U_20filename(void); +void __0451_9059_UDP_3a(void); +void __0452_a945_USER_20_25s(void); +void __0453_790d_Uncompressed_20TCP_(void); +void __0454_6947_Uncompressed_20TCP_(void); +void __0455_41aa_Unknown_20command(void); +void __0456_e21a_Unknown_20command_2(void); +void __0457_b975_Unknown_20command_3(void); +void __0458_d2a4_Unknown_20encapsula(void); +void __0459_8cf4_Unknown_20parameter(void); +void __045a_eb24_Update_20with_20MD5(void); +void __045b_7d7d_Uploading_20_25s_0a(void); +void __045c_bd81_Uploading_20off_0a(void); +void __045d_6d70_Uptime_20_25s_20Sta(void); +void __045e_0a8d_Usage_3a_20(void); +void __045f_125c_Usage_3a_20_25s_20_(void); +void __0460_6ae1_Usage_3a_20F_20user(void); +void __0461_7dd1_Usage_3a_20ax25_20r(void); +void __0462_685b_Usage_3a_20dial_20_(void); +void __0463_a375_Usage_3a_20mbox_20m(void); +void __0464_8cfb_Usage_3a_20pop_20us(void); +void __0465_a2c0_Usage_3a_20smtp_20m(void); +void __0466_9654_Use_20the_20ax25_20(void); +void __0467_4893_User_20_20_20_20_20(void); +void __0468_633f_User_20_25s_20not_2(void); +void __0469_75ef_V_20numbers(void); +void __046a_4b9d_VJ_20Compressed_20T(void); +void __046b_2be9_VJ_20Uncompressed_2(void); +void __046c_3d32_Valid_20options_3a(void); +void __046d_8007_Value_20_25s_20_28_(void); +void __046e_c8df_Verbose(void); +void __046f_32ff_Verbose_20flag(void); +void __0470_b110_WARNING_3a_20Locati(void); +void __0471_eddf_Warning_21_20Interf(void); +void __0472_4457_Warning_3a_20type_2(void); +void __0473_5d14_We_20accepted_20rem(void); +void __0474_85a8_Window_20_28frames_(void); +void __0475_9331_Window_20size_20_28(void); +void __0476_613d_Window_3a_20_25_2d5(void); +void __0477_25a6_Wink_20DTR_3f_20(void); +void __0478_75b2_Writing_20article_2(void); +void __0479_3999_XMD5_20_25s(void); +void __047a_a62b_XMD5_20_25s_0a(void); +void __047b_8515_XMKD_20_25s_0a(void); +void __047c_31d2_XRMD_20_25s_0a(void); +void __047d_e80a_Yes_20(void); +void __047e_71c6_You_20have_20(void); +void __047f_1e66_You_20have_20new_20(void); +void __0480_4583_You_27re_20using_20(void); +void __0481_4aef_Z_20filename(void); +void __0482_5fd7_Zap_20failed_3a_20_(void); +void __0483_e3d1__5b(void); +void __0484_9d9c__5bNET_2dHMR_24_5d(void); +void __0485_f8e4__5bunknown_5d(void); +void __0486_699f__5eC_0a(void); +void __0487_e5d6__5eR_0a(void); +void __0488_1951__5fexit(void); +void __0489_a314__5ffcreat_3a_20WARN(void); +void __048a_79de__5funlink_3a_20bad_(void); +void __048b_722b_accept(void); +void __048c_30f9_accept_0a(void); +void __048d_2cfc_access(void); +void __048e_9b89_accm(void); +void __048f_16c9_acct(void); +void __0490_0c4f_acfc(void); +void __0491_7530_acktime(void); +void __0492_41b5_add(void); +void __0493_d8a3_add_20_3chostid_3e(void); +void __0494_6783_addprivate(void); +void __0495_9712_address(void); +void __0496_2c42_addserver(void); +void __0497_b0a9_alarm(void); +void __0498_4d36_allocatepid_28_29_2(void); +void __0499_7b67_allocatepid_280x_25(void); +void __049a_9965_allocs_20_25lu_20fr(void); +void __049b_d5e4_allow(void); +void __049c_8e82_allow_20pap_20none_(void); +void __049d_ba08_allow_20tcp_20none_(void); +void __049e_94f6_anext_20pointer_20o(void); +void __049f_c2a0_answer_20script_3a_(void); +void __04a0_da7c_area(void); +void __04a1_1dde_arp_20add_20_3chost(void); +void __04a2_96ce_arp_20drop_20_3chos(void); +void __04a3_0018_arp_20publish_20_3c(void); +void __04a4_5838_asci(void); +void __04a5_4354_ascii(void); +void __04a6_3914_ascistat(void); +void __04a7_6442_attach(void); +void __04a8_39bc_attach_20_3chardwar(void); +void __04a9_fe98_attach_20asci_20_3c(void); +void __04aa_093e_attach_20escc_20_3c(void); +void __04ab_7943_attempt_20to_20writ(void); +void __04ac_7d37_attend(void); +void __04ad_c133_authenticate(void); +void __04ae_fd47_ax25_20kick_20_3cax(void); +void __04af_0003_ax25_20reset_20_3ca(void); +void __04b0_9171_bad_20IP_20packet(void); +void __04b1_ca0a_bad_20destination_2(void); +void __04b2_60d3_bad_20internet_20ad(void); +void __04b3_0a79_bad_20neighbor_20ca(void); +void __04b4_4126_batch(void); +void __04b5_bcb6_bcnodes(void); +void __04b6_0c93_begin_20_2503o_20_2(void); +void __04b7_50c4_bfind_28_25u_2c_20_(void); +void __04b8_0a46_bfind_28_29_20retur(void); +void __04b9_f1cc_bfind_28_29_20retur(void); +void __04ba_e2d4_bfree_28_29_20retur(void); +void __04bb_e703_bfree_28_29_20retur(void); +void __04bc_4466_bfree_280x_25x_2c_2(void); +void __04bd_3245_binary(void); +void __04be_4c4f_blimit(void); +void __04bf_c307_blk_5falloc_28_29_2(void); +void __04c0_b0c8_bmap_28_29_20return(void); +void __04c1_bbcb_bmap_28_29_20return(void); +void __04c2_46ee_bmap_28_29_20return(void); +void __04c3_7681_bmap_280x_25x_2c_20(void); +void __04c4_ff8d_bootp_20_5bnet_5fna(void); +void __04c5_0e8f_bootp_3a_20Net_5fer(void); +void __04c6_f5d9_bootp_3a_20timed_20(void); +void __04c7_72d6_bp_20_25lx_20tot_20(void); +void __04c8_88ea_bread_28_25u_2c_20_(void); +void __04c9_89e2_bread_28_29_20retur(void); +void __04ca_7a66_bread_28_29_20retur(void); +void __04cb_9767_brk(void); +void __04cc_f951_broadcast(void); +void __04cd_03ff_bsr(void); +void __04ce_d194_bufsync_28_29_20ret(void); +void __04cf_606b_bufsync_28_29_20sta(void); +void __04d0_83e6_by_20_25s_20_28_25s(void); +void __04d1_69f3_by_20_25s_20with_20(void); +void __04d2_9ab1_bye(void); +void __04d3_7cbf_cache(void); +void __04d4_a3a9_can_27t_20read_20_2(void); +void __04d5_f4b4_can_27t_20trace_20i(void); +void __04d6_9aa7_cd(void); +void __04d7_42c2_cd_20_3cdirectory_3(void); +void __04d8_8b51_ch_5flink_28_29_20r(void); +void __04d9_30ce_ch_5flink_28_29_20r(void); +void __04da_7c72_ch_5flink_280x_25x_(void); +void __04db_35a9_chat(void); +void __04dc_743f_chdir(void); +void __04dd_5ed3_check(void); +void __04de_40b3_check_20_3chost_3e(void); +void __04df_4a64_checksum_20error(void); +void __04e0_c946_chmod(void); +void __04e1_b786_choketime(void); +void __04e2_88f5_chown(void); +void __04e3_87a8_chroot(void); +void __04e4_4822_clean(void); +void __04e5_23aa_close(void); +void __04e6_2b22_close_20FTP(void); +void __04e7_f93d_close_20Finger(void); +void __04e8_0957_close_20POP(void); +void __04e9_b85c_close_20POP_20_2d_2(void); +void __04ea_83a3_close_20SMTP(void); +void __04eb_b949_close_20SMTP_20_2d_(void); +void __04ec_423c_close_20discard(void); +void __04ed_419d_close_20echo(void); +void __04ee_03ad_close_20term(void); +void __04ef_83dc_code_20_25u_20arg_2(void); +void __04f0_ea90_compare(void); +void __04f1_a613_compare_20_3cremote(void); +void __04f2_fbc2_compress(void); +void __04f3_3845_compressed_20(void); +void __04f4_26b1_configure(void); +void __04f5_749f_connect(void); +void __04f6_5769_control(void); +void __04f7_a93e_control_20up_7cdown(void); +void __04f8_2aba_control_3a_20_25s_0(void); +void __04f9_4bf4_cwd(void); +void __04fa_62af_d_5finit_28_29(void); +void __04fb_5a9b_d_5finit_28_29_20ma(void); +void __04fc_62a8_debug(void); +void __04fd_740d_default(void); +void __04fe_db45_defaultfile(void); +void __04ff_818b_delay_20_25lu_0a(void); +void __0500_2c87_dele(void); +void __0501_89a5_delete(void); +void __0502_3919_delete_20_3cfile_3e(void); +void __0503_3d2c_deliberate_20cancel(void); +void __0504_f9d2_delptab_28_29_20ret(void); +void __0505_748e_delptab_28_29_20sta(void); +void __0506_6466_destlist(void); +void __0507_cfc1_detach(void); +void __0508_26f3_detach_20_3cinterfa(void); +void __0509_3f12_devio_5fgarbage_3a_(void); +void __050a_0f61_dfile_5fsearch_3a_2(void); +void __050b_4eba_dfile_5fupdate_3a_2(void); +void __050c_5b47_dfile_5fupdate_3a_2(void); +void __050d_ef06_dfile_5fupdate_3a_2(void); +void __050e_0173_dialer(void); +void __050f_8d0b_dialer_20_3ciface_3(void); +void __0510_18c3_digipeat(void); +void __0511_bdc7_dir(void); +void __0512_5c0a_directory(void); +void __0513_176f_discard(void); +void __0514_684a_discard_20expired_2(void); +void __0515_f701_disconnect(void); +void __0516_e146_dns(void); +void __0517_8f79_dns_5fquery_3a_20qu(void); +void __0518_6da5_dns_5fquery_3a_20re(void); +void __0519_041c_doexit_3a_20won_27t(void); +void __051a_21ed_domain(void); +void __051b_e0fd_down_20script_3a_20(void); +void __051c_050c_download(void); +void __051d_4853_drop(void); +void __051e_0532_drop_20_3chostid_3e(void); +void __051f_e7cf_dropserver(void); +void __0520_a2e4_dup(void); +void __0521_b319_dup2(void); +void __0522_cb91_dynip(void); +void __0523_2edf_echo(void); +void __0524_7366_empty_20packet_21_2(void); +void __0525_48fd_encapsulation(void); +void __0526_4a34_eol(void); +void __0527_b4ae_escape(void); +void __0528_858e_escc(void); +void __0529_d50a_escc_25d_3a_20No_20(void); +void __052a_6362_esccstat(void); +void __052b_59b0_execve(void); +void __052c_3566_exit(void); +void __052d_bd2b_expired(void); +void __052e_bf9b_f_5ftrunc_28_29_20r(void); +void __052f_687d_f_5ftrunc_280x_25x_(void); +void __0530_bce0_failure(void); +void __0531_086a_falign(void); +void __0532_303b_files(void); +void __0533_d461_filesys_5fdoclose_2(void); +void __0534_661c_filesys_5fdoclose_2(void); +void __0535_8db4_filesys_5fdoclose_2(void); +void __0536_d6a7_filter_20mode_20is_(void); +void __0537_e04d_findprocess_28_25d_(void); +void __0538_1164_findprocess_28_29_2(void); +void __0539_9bc0_findprocess_28_29_2(void); +void __053a_927a_finger(void); +void __053b_8ea1_finger_20name_40hos(void); +void __053c_28f4_flush(void); +void __053d_db22_fmount_28_25d_2c_20(void); +void __053e_9479_fmount_28_29_20retu(void); +void __053f_d221_fmount_28_29_20retu(void); +void __0540_dc8b_fmount_3a_20can_27t(void); +void __0541_cf48_force(void); +void __0542_7349_force_20up_7cdown(void); +void __0543_8074_fork(void); +void __0544_a19b_forkprocess_28_29_2(void); +void __0545_9408_forkprocess_28_29_2(void); +void __0546_9eb7_forkprocess_280x_25(void); +void __0547_8227_forward(void); +void __0548_c066_fp_20_20_20_20_20_2(void); +void __0549_9a2a_free_3a_20WARNING_2(void); +void __054a_13ec_freeblk_28_25u_2c_2(void); +void __054b_bc64_freeblk_28_29_20ret(void); +void __054c_3018_freeblk_28_29_20ret(void); +void __054d_4c13_freebuf_28_25u_29_2(void); +void __054e_0c86_freebuf_28_29_20ret(void); +void __054f_f896_freelist(void); +void __0550_bd4f_from_20_25s_20(void); +void __0551_5b02_from_20_25s_2ebbs_2(void); +void __0552_2208_fs_5finit_28_29(void); +void __0553_0372_fsm_5finit_28_29(void); +void __0554_914a_fsm_5fno_5faction_2(void); +void __0555_f286_fsm_5fno_5fcheck_28(void); +void __0556_1a51_fsm_5freset_28_29(void); +void __0557_1515_fsm_5fsendreq_28_29(void); +void __0558_5109_fsm_5fsendtermack_2(void); +void __0559_45f0_fsm_5fsendtermreq_2(void); +void __055a_7049_fsm_5ftimer_28_29(void); +void __055b_88d9_fsp_200x_25x_20s_5f(void); +void __055c_7fbc_fstat(void); +void __055d_0e84_ftp(void); +void __055e_bafd_ftp_20_3caddress_3e(void); +void __055f_f999_ftp_3e_20syst_0a(void); +void __0560_51ba_garbage_20collectio(void); +void __0561_c2ce_gateway(void); +void __0562_9e35_get(void); +void __0563_c7c0_get_20_3cremotefile(void); +void __0564_60c5_getfsys(void); +void __0565_631b_getinode_3a_20bad_2(void); +void __0566_7dac_getset(void); +void __0567_74d1_getting_20block_20_(void); +void __0568_b3cb_groups(void); +void __0569_156e_hash(void); +void __056a_5bc8_heap_20size_20_25lu(void); +void __056b_856f_heard(void); +void __056c_fc9f_help(void); +void __056d_1d5e_homedir(void); +void __056e_6fa6_hop(void); +void __056f_df98_host(void); +void __0570_476e_hostname(void); +void __0571_001d_i_5fopen_28_25u_2c_(void); +void __0572_e51c_i_5fopen_28_29_20re(void); +void __0573_64fb_i_5fopen_28_29_20re(void); +void __0574_2f25_icmp(void); +void __0575_6bae_id_20mismatch_20hdr(void); +void __0576_dd41_ident(void); +void __0577_fe83_ifconfig(void); +void __0578_6196_ignored_20_28hold_2(void); +void __0579_dc84_info(void); +void __057a_155a_init_20script_3a_20(void); +void __057b_0500_input_20line_3a_20_(void); +void __057c_9677_interface(void); +void __057d_3fa5_ioctl(void); +void __057e_3172_ip(void); +void __057f_d229_ip_5frecv_28_25s_29(void); +void __0580_289f_ip_5fsend_0a(void); +void __0581_0191_ipaddress(void); +void __0582_dfc4_ipcp(void); +void __0583_94f9_ipcp_5fack_28_29(void); +void __0584_8ddb_ipcp_5finit_28_29(void); +void __0585_fa2c_ipcp_5fmakeoptions_(void); +void __0586_5617_ipcp_5fmakereq_28_2(void); +void __0587_c773_ipcp_5fnak_28_29(void); +void __0588_269f_ipcp_5freject_28_29(void); +void __0589_0241_ipcp_5frequest_28_2(void); +void __058a_2214_ipcp_5freset_28_29(void); +void __058b_1977_ipcp_5fstarting_28_(void); +void __058c_0e6d_ipcp_5fstopping_28_(void); +void __058d_f4c1_irtt(void); +void __058e_516b_kick(void); +void __058f_a61c_kill(void); +void __0590_ff9f_kill_20_3cjobnumber(void); +void __0591_5e27_ksigs_20_25lu_20que(void); +void __0592_1bbe_kwaits_20_25lu_20no(void); +void __0593_a567_lcp(void); +void __0594_411d_lcp_5fack_28_29(void); +void __0595_2c24_lcp_5finit_28_29(void); +void __0596_f060_lcp_5fmakeoptions_2(void); +void __0597_26c3_lcp_5fmakereq_28_29(void); +void __0598_1297_lcp_5fnak_28_29(void); +void __0599_6ddc_lcp_5freject_28_29(void); +void __059a_7295_lcp_5frequest_28_29(void); +void __059b_2dcd_lcp_5freset_28_29(void); +void __059c_89ae_lcp_5fstarting_28_2(void); +void __059d_9eb4_lcp_5fstopping_28_2(void); +void __059e_cbc2_line_20not_20up(void); +void __059f_b632_link(void); +void __05a0_01ce_link_20header_20mis(void); +void __05a1_dfe4_linkaddress(void); +void __05a2_7bad_list(void); +void __05a3_4346_listen(void); +void __05a4_a5dd_listservers(void); +void __05a5_f2d8_local(void); +void __05a6_68f9_log(void); +void __05a7_feb4_logfile(void); +void __05a8_52c6_login_3a_20(void); +void __05a9_a516_logscreen(void); +void __05aa_8f77_lookup(void); +void __05ab_7d51_ls(void); +void __05ac_634b_lseek(void); +void __05ad_0288_magic(void); +void __05ae_868b_maibox_20name_20not(void); +void __05af_2d7f_mailbox(void); +void __05b0_2084_mailbox_20name_20no(void); +void __05b1_86f8_mailhost(void); +void __05b2_63b8_mailhost_20not_20de(void); +void __05b3_c3a4_mainproc_28_29(void); +void __05b4_0ca2_mainptab_28_29(void); +void __05b5_139d_maxclients(void); +void __05b6_8d56_maxframe(void); +void __05b7_d5aa_maximum_20route_20q(void); +void __05b8_9853_maxmsg(void); +void __05b9_7203_maxttl(void); +void __05ba_e017_maxwait(void); +void __05bb_e57a_mbuf_20allocs_20_25(void); +void __05bc_8c4f_mcompare(void); +void __05bd_f47e_mcompare_20_3cfile_(void); +void __05be_a71a_md5(void); +void __05bf_cc78_md5_20_3cfile_3e(void); +void __05c0_4d2a_memory(void); +void __05c1_69ba_memory_20cache_20si(void); +void __05c2_336a_merge(void); +void __05c3_649e_merge_20_25s_20_25d(void); +void __05c4_460c_metric_20better_3a_(void); +void __05c5_3694_metric_20change_3a_(void); +void __05c6_44b0_metric_20not_20bett(void); +void __05c7_b64c_mget(void); +void __05c8_8d01_mget_20_3cfile_3e_2(void); +void __05c9_f789_missing_20ALL_20add(void); +void __05ca_d180_missing_20UI(void); +void __05cb_0135_missing_20lower_20p(void); +void __05cc_d703_missing_20upper_20p(void); +void __05cd_1e96_mkd_20(void); +void __05ce_304a_mkdir(void); +void __05cf_7d04_mkdir_20_3cdirector(void); +void __05d0_6257_mknod(void); +void __05d1_685e_mode(void); +void __05d2_9335_modes_20are_3a_20no(void); +void __05d3_a91f_more(void); +void __05d4_5384_more_20_3cfilename_(void); +void __05d5_ec46_motd(void); +void __05d6_b5d1_mount(void); +void __05d7_2a4d_mput(void); +void __05d8_312f_mput_20_3cfile_3e_2(void); +void __05d9_245f_mru(void); +void __05da_58b1_mss(void); +void __05db_708f_mtu(void); +void __05dc_78ae_mycall(void); +void __05dd_e112_n_5fcreat_28_22_25s(void); +void __05de_fa1b_n_5fcreat_28_29_20r(void); +void __05df_105b_n_5fcreat_28_29_20r(void); +void __05e0_8a90_name(void); +void __05e1_b07d_netmask(void); +void __05e2_4d2c_netrom_20bcnodes_20(void); +void __05e3_c5dc_netrom_20connect_20(void); +void __05e4_925a_netrom_20interface_(void); +void __05e5_a510_netrom_20interface_(void); +void __05e6_b271_netrom_20kick_20_3c(void); +void __05e7_5334_netrom_20nodefilter(void); +void __05e8_6bfe_netrom_20nodefilter(void); +void __05e9_328e_netrom_20reset_20_3(void); +void __05ea_18c8_netrom_20route_20ad(void); +void __05eb_fff3_netrom_20route_20dr(void); +void __05ec_e8da_netrom_20route_20in(void); +void __05ed_9094_newfile_28_29_20ret(void); +void __05ee_6cce_newfile_28_29_20ret(void); +void __05ef_147d_newfile_280x_25x_2c(void); +void __05f0_2254_newproc_20_22_25s_2(void); +void __05f1_1067_newptab_28_29_20ret(void); +void __05f2_a95a_newptab_28_29_20ret(void); +void __05f3_5889_newptab_28_29_20sta(void); +void __05f4_4db6_newsession_3a_20WAR(void); +void __05f5_5ab5_newsession_3a_20WAR(void); +void __05f6_7718_next_20pointer_20ou(void); +void __05f7_7b66_nlst(void); +void __05f8_0ca7_nntp_20addserver_20(void); +void __05f9_fea0_nntp_20dropserver_2(void); +void __05fa_a821_nntp_20kick_20_3cnn(void); +void __05fb_a7f6_no_20filesys(void); +void __05fc_7405_no_20root(void); +void __05fd_b518_no_20such_20route_0(void); +void __05fe_3fb4_nodefilter(void); +void __05ff_bac4_nodefilter_20subcom(void); +void __0600_e743_nodes(void); +void __0601_57cf_nodetimer(void); +void __0602_b0e3_none(void); +void __0603_7a7f_none_0a(void); +void __0604_29c2_normal_20_28_25s_20(void); +void __0605_6504_not_20open_20for_20(void); +void __0606_6274_not_20open_20for_20(void); +void __0607_7cd1_not_20open_20for_20(void); +void __0608_a01b_not_20ready_20for_2(void); +void __0609_f235_not_20ready_20for_2(void); +void __060a_07d0_null_0a(void); +void __060b_fb30_obsotimer(void); +void __060c_3971_open(void); +void __060d_a412_open_20_25s(void); +void __060e_e5a0_open_20FTP(void); +void __060f_10d3_open_20Finger(void); +void __0610_fe22_open_20MBOX(void); +void __0611_c7d5_open_20POP(void); +void __0612_2477_open_20SMTP(void); +void __0613_4ca5_open_20discard(void); +void __0614_e649_open_20echo(void); +void __0615_a479_open_20term(void); +void __0616_76ec_packet_20delayed_20(void); +void __0617_8504_packet_20duped_0a(void); +void __0618_a8e1_packet_20lost_0a(void); +void __0619_ead4_paclen(void); +void __061a_1a03_page(void); +void __061b_dd11_page_20_3ccommand_3(void); +void __061c_b6e1_pap(void); +void __061d_f2ea_pap_5fcheck_28_29(void); +void __061e_bc39_pap_5finit_28_29(void); +void __061f_7924_pap_5flocal_28_29(void); +void __0620_4574_pap_5fmakereq_28_29(void); +void __0621_c70c_pap_5fremote_28_29(void); +void __0622_1122_pap_5frequest_28_29(void); +void __0623_3ddd_pap_5fshutdown_28_2(void); +void __0624_512a_param(void); +void __0625_d362_param_20_3cinterfac(void); +void __0626_9d45_pass(void); +void __0627_f746_pause(void); +void __0628_d9f3_pfc(void); +void __0629_28cb_ping(void); +void __062a_d85a_ping_20_3chostid_3e(void); +void __062b_0458_pipe(void); +void __062c_5919_pool(void); +void __062d_e039_port(void); +void __062e_a9d2_port_20_25d_3a_20tx(void); +void __062f_3aa8_ppp(void); +void __0630_d86b_ppp_20_3ciface_3e_2(void); +void __0631_fc07_ppp_5fproc_3a_20mis(void); +void __0632_8304_ppp_5fproc_3a_20mis(void); +void __0633_4b37_process_20_25d_20ex(void); +void __0634_8848_processing_20my_20i(void); +void __0635_e384_processing_20other_(void); +void __0636_3dc2_protocol_3a_20(void); +void __0637_4160_ps(void); +void __0638_26dc_pthresh(void); +void __0639_a61f_publish(void); +void __063a_274c_pushdown_20calls_20(void); +void __063b_0234_put(void); +void __063c_8f3b_put_20_3clocalfile_(void); +void __063d_b16b_putting_20block_20_(void); +void __063e_2105_pwd(void); +void __063f_0282_qlimit(void); +void __0640_0be6_queries(void); +void __0641_0bef_query(void); +void __0642_6646_query_20_3chostid_3(void); +void __0643_27c8_queue_20job_20_25s_(void); +void __0644_1196_quick(void); +void __0645_ad30_quiet(void); +void __0646_7b54_quit(void); +void __0647_054d_read(void); +void __0648_c7a9_read_20_3cremotefil(void); +void __0649_19fa_readwritei_28_25u_2(void); +void __064a_79be_readwritei_28_29_20(void); +void __064b_94aa_readwritei_28_29_20(void); +void __064c_67b0_readwritei_28_29_20(void); +void __064d_7ee6_reboot(void); +void __064e_1c64_received_20_25u_20b(void); +void __064f_5735_record(void); +void __0650_18c5_recv_3a_20do_20(void); +void __0651_8810_recv_3a_20dont_20(void); +void __0652_84ef_recv_3a_20will_20(void); +void __0653_219c_recv_3a_20wont_20(void); +void __0654_c7dc_refuse(void); +void __0655_0e31_reject_0a(void); +void __0656_bc2e_remote(void); +void __0657_4ff0_remote_20_5b_2dp_20(void); +void __0658_cb71_rename(void); +void __0659_a493_rename_20_3coldfile(void); +void __065a_6d5b_repeat(void); +void __065b_01b9_repeat_20_3cinterva(void); +void __065c_3f14_request(void); +void __065d_85b2_reset(void); +void __065e_c3ce_response_20id_20_25(void); +void __065f_9bd3_retr(void); +void __0660_5e3c_retries(void); +void __0661_0acb_retry(void); +void __0662_7f96_rip_20accept_20_3cg(void); +void __0663_764e_rip_20add_20_3cdest(void); +void __0664_3030_rip_20drop_20_3cdes(void); +void __0665_8661_rip_20refuse_20_3cg(void); +void __0666_b917_rmd_20(void); +void __0667_a56c_rmdir(void); +void __0668_b9e3_rmdir_20_3cdirector(void); +void __0669_c459_rmhost(void); +void __066a_0284_route(void); +void __066b_ea02_route_20add_20_3cde(void); +void __066c_f461_route_20add_20_5b_2(void); +void __066d_d581_route_20addprivate_(void); +void __066e_bbd2_route_20drop_20_3cd(void); +void __066f_103e_route_20drop_20_5b_(void); +void __0670_a5ec_route_20lookup_20_3(void); +void __0671_ae23_route_20to_20self_3(void); +void __0672_2c09_rtimer(void); +void __0673_ae54_rtt(void); +void __0674_02fc_running(void); +void __0675_de1b_rwsetup_28_25u_2c_2(void); +void __0676_7f24_rwsetup_28_29_20ret(void); +void __0677_d9aa_rwsetup_28_29_20ret(void); +void __0678_b4d7_rxbuf(void); +void __0679_d2fd_sbrk(void); +void __067a_3365_scrollback(void); +void __067b_9a3e_send(void); +void __067c_e397_send_20_22string_22(void); +void __067d_5c19_sender(void); +void __067e_efea_sending_20job_20_25(void); +void __067f_7321_sent_3a_20do_20(void); +void __0680_db3c_sent_3a_20dont_20(void); +void __0681_d7c3_sent_3a_20will_20(void); +void __0682_72b0_sent_3a_20wont_20(void); +void __0683_2d5d_serial_20line_20IP_(void); +void __0684_f33e_serial_20line_20VJ_(void); +void __0685_6f7f_serial_20line_20VJ_(void); +void __0686_6f48_server_20retries(void); +void __0687_f0af_server_20trace(void); +void __0688_db9a_session(void); +void __0689_3031_set_20mycall_20firs(void); +void __068a_1de4_shell(void); +void __068b_ed19_short_20authenticat(void); +void __068c_cfaf_short_20configurati(void); +void __068d_3faf_signal(void); +void __068e_dce5_size(void); +void __068f_f163_sizes(void); +void __0690_675f_slots_20must_20be_2(void); +void __0691_4046_smtp_20daemon_20ent(void); +void __0692_8e2a_smtp_20daemon_3a_20(void); +void __0693_23e1_smtp_20job_20_25s_2(void); +void __0694_ed89_smtp_20mode_3a_20_2(void); +void __0695_2b33_smtp_20recv_3a_20_2(void); +void __0696_928b_smtp_20sent_3a_20(void); +void __0697_b4cf_socket(void); +void __0698_6b20_some_20strange_2c_2(void); +void __0699_60cd_speed(void); +void __069a_9785_speed_20_3cbps_3e(void); +void __069b_1861_spool_3a_20_25s_0a(void); +void __069c_61f2_src_20_25s(void); +void __069d_4e06_srtt_20_3d_20_25lu_(void); +void __069e_795f_stack_20test(void); +void __069f_45e3_stacktest(void); +void __06a0_be0b_stacktest_20_5bon_7(void); +void __06a1_fcc6_standard_0a(void); +void __06a2_b958_start(void); +void __06a3_4b5d_start_20_3cserverna(void); +void __06a4_9324_start_20bsr_20_3cin(void); +void __06a5_d63e_stat(void); +void __06a6_5069_status(void); +void __06a7_a95a_status_20up_7cdown_(void); +void __06a8_68cb_stime(void); +void __06a9_4875_stktrace_20from_20p(void); +void __06aa_0a0a_stop(void); +void __06ab_6ec0_stop_20_3cservernam(void); +void __06ac_301d_stopped(void); +void __06ad_2918_stor(void); +void __06ae_784e_stru(void); +void __06af_bec3_suffix(void); +void __06b0_420b_symlink(void); +void __06b1_ceb7_sync(void); +void __06b2_bb66_syndata(void); +void __06b3_b50c_sysdebug(void); +void __06b4_be35_sysdebug_20_5bon_7c(void); +void __06b5_8f60_syst(void); +void __06b6_f3f3_system_20call_20tra(void); +void __06b7_a612_system_20kernel_20d(void); +void __06b8_98fb_systrace(void); +void __06b9_71e3_systrace_20_5bon_7c(void); +void __06ba_6404_t3(void); +void __06bb_b31f_target(void); +void __06bc_e630_tcp(void); +void __06bd_e483_tcp_20kick_20_3ctcb(void); +void __06be_a12c_tcp_20reset_20_3ctc(void); +void __06bf_bb94_tcp_20rtt_20_3ctcb_(void); +void __06c0_f363_tcp_20stat_20_3ctcb(void); +void __06c1_6ff2_telnet(void); +void __06c2_2114_telnet_20_3caddress(void); +void __06c3_6cef_term(void); +void __06c4_7425_terminate(void); +void __06c5_4c6f_thresh(void); +void __06c6_535d_time(void); +void __06c7_43a3_time_20before_20fil(void); +void __06c8_7156_timeout(void); +void __06c9_d9a6_timer(void); +void __06ca_d29c_timer_3a_20ints_20w(void); +void __06cb_c82f_times(void); +void __06cc_223a_timestamps(void); +void __06cd_004c_tip_20or_20dialer_2(void); +void __06ce_aa4a_tiptimeout(void); +void __06cf_aa76_tmp_20file_20wiping(void); +void __06d0_2645_tmp_20file_3a_20_25(void); +void __06d1_a165_topt(void); +void __06d2_4f5f_trace(void); +void __06d3_3bce_traceroute_20done_3(void); +void __06d4_f7b8_try(void); +void __06d5_e444_ttl(void); +void __06d6_299c_ttylink(void); +void __06d7_e58b_txqlen(void); +void __06d8_f321_type(void); +void __06d9_f1e4_udp(void); +void __06da_5caf_umount(void); +void __06db_5c70_unknown_0a(void); +void __06dc_bc4f_unknown_200x_2504x_(void); +void __06dd_5194_unknown_20hardware_(void); +void __06de_acee_unlink(void); +void __06df_f1c3_unused_0a(void); +void __06e0_f303_up_20script_3a_20_2(void); +void __06e1_db93_update(void); +void __06e2_5c27_update_20Domain_2et(void); +void __06e3_0b09_update_20Domain_2et(void); +void __06e4_c5a3_update_20Domain_2et(void); +void __06e5_d4f0_upload(void); +void __06e6_13f7_user(void); +void __06e7_6f25_user_20abort_0a(void); +void __06e8_1b49_userdata(void); +void __06e9_3967_username_20not_20de(void); +void __06ea_c23f_users(void); +void __06eb_5353_utime(void); +void __06ec_d261_valid_20subcommands(void); +void __06ed_a0e5_validblk_3a_20dev_2(void); +void __06ee_74cf_validblk_3a_20inval(void); +void __06ef_ab5c_verbose(void); +void __06f0_207d_version(void); +void __06f1_9778_view(void); +void __06f2_23f1_view_20_3cfilename_(void); +void __06f3_98f0_vj(void); +void __06f4_d63a_wait(void); +void __06f5_2887_wait_20_3cmilliseco(void); +void __06f6_e988_waitpid(void); +void __06f7_674e_want_20busy_20block(void); +void __06f8_84e4_what(void); +void __06f9_9158_window(void); +void __06fa_5379_wipe(void); +void __06fb_bd9d_wr_5finode_28_29_20(void); +void __06fc_68b2_wr_5finode_28_29_20(void); +void __06fd_7708_wr_5finode_280x_25x(void); +void __06fe_4cc8_write(void); +void __06ff_dd6d_x_25x(void); +void __0700_ce7b_xcwd(void); +void __0701_511f_xip_5falign_28_29_2(void); +void __0702_62af_xip_5falign_28_29_2(void); +void __0703_2fa7_xip_5falign_28_29_2(void); +void __0704_6211_xip_5falign_28_29_2(void); +void __0705_dc6f_xip_5falign_280x_25(void); +void __0706_d854_xip_5falign_5fbmap_(void); +void __0707_4a41_xip_5falign_5fbmap_(void); +void __0708_f051_xip_5falign_5fbmap_(void); +void __0709_39ef_xip_5falign_5fchase(void); +void __070a_7ea2_xip_5falign_5fchase(void); +void __070b_f19c_xip_5falign_5fchase(void); +void __070c_fcac_xip_5falign_5fchase(void); +void __070d_d6ef_xip_5falign_5fchase(void); +void __070e_0fcd_xip_5falign_5frecur(void); +void __070f_ceee_xip_5falign_5frecur(void); +void __0710_346b_xip_5fexamine_28_29(void); +void __0711_fa8e_xip_5fexamine_28_29(void); +void __0712_ed9f_xip_5fexamine_28_29(void); +void __0713_c7f7_xip_5fexamine_28_29(void); +void __0714_04e3_xip_5fexamine_280x_(void); +void __0715_ffc4_xip_5ffind_28_25u_2(void); +void __0716_cb3b_xip_5ffind_28_29_20(void); +void __0717_5d23_xip_5ffind_28_29_20(void); +void __0718_1764_xip_5ffind_28_29_20(void); +void __0719_0ce2_xip_5fget_28_25u_2c(void); +void __071a_db94_xip_5fget_28_29_20r(void); +void __071b_de41_xip_5fget_28_29_20r(void); +void __071c_192a_xip_5fget_28_29_20r(void); +void __071d_2347_xip_5freserve_28_25(void); +void __071e_acf4_xip_5freserve_28_29(void); +void __071f_69a1_xip_5freserve_28_29(void); +void __0720_4bfa_xip_5freserve_28_29(void); +void __0721_3192_xip_5fsearch_28_25u(void); +void __0722_83fc_xip_5fsearch_28_29_(void); +void __0723_fd61_xip_5fsearch_28_29_(void); +void __0724_f464_xip_5fsearch_28_29_(void); +void __0725_ef25_xip_5fset_28_25u_2c(void); +void __0726_7af3_xip_5fset_28_29_20r(void); +void __0727_429f_xip_5fset_28_29_20r(void); +void __0728_36c3_xip_5fset_28_29_20r(void); +void __0729_3cda_xip_5fualign_28_29_(void); +void __072a_16b2_xip_5fualign_28_29_(void); +void __072b_71d2_xip_5fualign_28_29_(void); +void __072c_c58e_xip_5fualign_28_29_(void); +void __072d_3a65_xip_5fualign_280x_2(void); +void __072e_2295_xmd5(void); +void __072f_e251_xmkd(void); +void __0730_a48a_xpwd(void); +void __0731_79d3_xrmd(void); +void __0732_c59b_zap(void); +void __0733_4749_zerobuf_28_25u_29_2(void); +void __0734_ba0e_zerobuf_28_29_20ret(void); +void __0735_1fe8_zerobuf_28_29_20ret(void); #endif /* __MESSAGES_H */ diff --git a/src/nos/include/setjmp.h% b/src/nos/include/setjmp.h% index 7a606308..1972d027 100644 --- a/src/nos/include/setjmp.h% +++ b/src/nos/include/setjmp.h% @@ -2,7 +2,7 @@ The ANSI "setjmp" and "longjmp" function declarations. - $Name: V3_34K V3_34J $ + $Name: $ Copyright 1986 - 1999 IAR Systems. All rights reserved. */ @@ -16,7 +16,7 @@ Defines system macros to maintain source compatibility with different IAR compilers. - $Name: V3_34K V3_34J V3_34I V3_34H $ + $Name: $ Copyright 1986 - 1999 IAR Systems. All rights reserved. */ diff --git a/src/nos/include/stdarg.h% b/src/nos/include/stdarg.h% index 2b7c2aea..7a643d93 100644 --- a/src/nos/include/stdarg.h% +++ b/src/nos/include/stdarg.h% @@ -1,7 +1,7 @@ /* - STDARG.H - The ANSI macros for reading variable argument lists (...). - $Name: V3_34K V3_34J V3_34I V3_34H $ + $Name: $ Copyright 1986 - 1999 IAR Systems. All rights reserved. */ @@ -15,7 +15,7 @@ Defines system macros to maintain source compatibility with different IAR compilers. - $Name: V3_34K V3_34J V3_34I V3_34H $ + $Name: $ Copyright 1986 - 1999 IAR Systems. All rights reserved. */ diff --git a/src/nos/include/stdio.h b/src/nos/include/stdio.h index 59bcaa4a..187d25af 100644 --- a/src/nos/include/stdio.h +++ b/src/nos/include/stdio.h @@ -154,12 +154,12 @@ extern int vscanf __P((char*, va_list)); extern int vfscanf __P((FILE*, char*, va_list)); extern int vsscanf __P((char*, char*, va_list)); -extern void perror __P((char *__s)); +extern void perror __P((const char *__s)); extern char *strerror __P((int __errno)); extern char *tmpnam __P((char *buf)); -extern int rename __P((char *oldname, char *newname)); +extern int rename __P((const char *oldname, const char *newname)); extern void rewind __P((FILE *fp)); extern FILE *popen __P((char *, char *)); extern int pclose __P((FILE *)); diff --git a/src/nos/include/sys/CVS/Entries b/src/nos/include/sys/CVS/Entries new file mode 100644 index 00000000..18001179 --- /dev/null +++ b/src/nos/include/sys/CVS/Entries @@ -0,0 +1,14 @@ +/cdefs.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/exec.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/ioctl.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/mount.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/poll.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/seek.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/select.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/socket.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/stat.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/timeb.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/types.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/utsname.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/wait.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +D diff --git a/src/nos/include/sys/CVS/Repository b/src/nos/include/sys/CVS/Repository new file mode 100644 index 00000000..266142e4 --- /dev/null +++ b/src/nos/include/sys/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/include/sys diff --git a/src/nos/include/sys/CVS/Root b/src/nos/include/sys/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/include/sys/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/include/sys/ioctl.h b/src/nos/include/sys/ioctl.h index c1d308c9..5a5c80ff 100644 --- a/src/nos/include/sys/ioctl.h +++ b/src/nos/include/sys/ioctl.h @@ -1,6 +1,47 @@ #ifndef _SYS_IOCTL_H #define _SYS_IOCTL_H +#if 1 /* Nick moved this here from unix.h to make crt/utsname.c compile */ +/* Info about a specific process, returned by sys_getfsys */ +typedef struct s_pdata { + int u_pid; /* Process PID */ + void/*ptab_t*/ *u_ptab; /* Process table pointer */ + unsigned char u_name[DIRNAMELEN]; /* Name invoked with */ + + /* syscall's interface */ + unsigned char u_insys; /* True if in kernel now */ + unsigned char u_callno; /* syscall being executed */ + unsigned char u_traceme; /* Process tracing flag */ + + /* filesystem/user info */ + unsigned char u_uid; /* user id */ + unsigned char u_gid; /* group id */ + unsigned char u_euid; /* effective user id */ + unsigned char u_egid; /* group user id */ + /*uzi*/time_t u_time; /* Start time */ + + /* process flow info */ + signal_t u_cursig; /* Signal currently being caught */ + + /* time info */ + /*uzi*/time_t u_utime; /* Elapsed ticks in user mode */ + /*uzi*/time_t u_stime; /* Ticks in system mode */ +}; + +/* Info about kernel, returned by sys_getfsys */ +typedef struct s_kdata { + unsigned char k_name[14]; /* OS name */ + unsigned char k_version[8]; /* OS version */ + unsigned char k_release[8]; /* OS release */ + + unsigned char k_host[14]; /* Host name */ + unsigned char k_machine[8]; /* Host machine */ + + int k_tmem; /* System memory, in kbytes */ + int k_kmem; /* Kernel memory, in kbytes */ +}; +#endif + typedef enum { GI_PTAB = -1, /* processes table */ GI_ITAB = -2, /* inodes table */ @@ -23,10 +64,10 @@ typedef enum { #endif struct swap_mmread { - uchar mm[2]; - uint offset; - uint size; - uchar *buf; + unsigned char mm[2]; + unsigned int offset; + unsigned int size; + unsigned char *buf; }; typedef struct { @@ -34,5 +75,5 @@ typedef struct { size_t size; void *ptr; } info_t; - #endif + diff --git a/src/nos/include/syscalls.h b/src/nos/include/syscalls.h index 69cef96b..71c6a0bd 100644 --- a/src/nos/include/syscalls.h +++ b/src/nos/include/syscalls.h @@ -54,7 +54,7 @@ extern int getprio __P((void)); extern int ioctl __P((int fd, int request, ...)); #endif extern int kill __P((int pid, int sig)); -extern int link __P((char *oldname, char *newname)); +extern int link __P((const char *oldname, const char *newname)); extern int symlink __P((char *oldname, char *newname)); extern int mknod __P((char *name, mode_t mode, int dev)); extern int mkfifo __P((char *name, mode_t mode)); @@ -117,7 +117,7 @@ extern int _getprio __P((void)); extern int _ioctl __P((int fd, int request, ...)); #endif extern int _kill __P((int pid, int sig)); -extern int _link __P((char *oldname, char *newname)); +extern int _link __P((const char *oldname, const char *newname)); extern int _symlink __P((char *oldname, char *newname)); extern int _mknod __P((char *name, mode_t mode, int dev)); extern int _mkfifo __P((char *name, mode_t mode)); @@ -183,7 +183,7 @@ extern int geteuid(void); extern int getegid(void); extern int getprio(void); extern int kill(int pid, int sig); -extern int link(char *name1, char *name2); +extern int link(const char *name1, const char *name2); extern int mknod(char *name, mode_t mode, int dev); extern int mount(char *spec, char *dir, int rwflag); extern int pause(void); diff --git a/src/nos/include/sysmac.h% b/src/nos/include/sysmac.h% index 76932c8c..cbc70a1d 100644 --- a/src/nos/include/sysmac.h% +++ b/src/nos/include/sysmac.h% @@ -3,7 +3,7 @@ Defines system macros to maintain source compatibility with different IAR compilers. - $Name: V3_34K V3_34J V3_34I V3_34H $ + $Name: $ Copyright 1986 - 1999 IAR Systems. All rights reserved. */ diff --git a/src/nos/include/termcap.h b/src/nos/include/termcap.h index ec80bd86..8bc878f7 100644 --- a/src/nos/include/termcap.h +++ b/src/nos/include/termcap.h @@ -1,21 +1,21 @@ -#ifndef __TERMCAP_H -#define __TERMCAP_H -#ifndef __TYPES_H -#include -#endif - -extern char PC; -extern char *UP; -extern char *BC; -extern int ospeed; - -extern int tgetent __P((char *, char *)); -extern int tgetflag __P((char *)); -extern int tgetnum __P((char *)); -extern char *tgetstr __P((char *, char **)); - -extern void tputs __P((char *, int, int (*)(int))); -extern char *tgoto __P((char *, int, int)); -extern char *tparam(); /* VARARGS */ - -#endif /* _TERMCAP_H */ +#ifndef __TERMCAP_H +#define __TERMCAP_H +#ifndef __TYPES_H +#include +#endif + +extern char PC; +extern char *UP; +extern char *BC; +extern int ospeed; + +extern int tgetent __P((char *, char *)); +extern int tgetflag __P((char *)); +extern int tgetnum __P((char *)); +extern char *tgetstr __P((char *, char **)); + +extern void tputs __P((char *, int, int (*)(int))); +extern char *tgoto __P((char *, int, int)); +extern char *tparam(); /* VARARGS */ + +#endif /* _TERMCAP_H */ diff --git a/src/nos/include/termios.h b/src/nos/include/termios.h index dd1f359e..0333b7e0 100644 --- a/src/nos/include/termios.h +++ b/src/nos/include/termios.h @@ -1,23 +1,23 @@ -#ifndef __TERMIOS_H -#define __TERMIOS_H -#ifndef __TYPES_H -#include -#endif - -extern int cfgetispeed __P ((struct termios *__termios_p)); -extern int cfgetospeed __P ((struct termios *__termios_p)); -extern int cfsetispeed __P ((struct termios *__termios_p, int __speed)); -extern int cfsetospeed __P ((struct termios *__termios_p, int __speed)); - -extern void cfmakeraw __P ((struct termios *__t)); - -extern int tcsetattr __P ((int __fd, int __opt, struct termios *__termios_p)); -extern int tcgetattr __P ((int __fildes, struct termios *__termios_p)); -extern int tcdrain __P ((int __fildes)); -extern int tcflow __P ((int __fildes, int __action)); -extern int tcflush __P ((int __fildes, int __queue_selector)); -extern int tcsendbreak __P ((int __fildes, int __duration)); -extern int tcgetpgrp __P ((int __fildes)); -extern int tcsetpgrp __P ((int __fildes, int __pgrp_id)); - -#endif +#ifndef __TERMIOS_H +#define __TERMIOS_H +#ifndef __TYPES_H +#include +#endif + +extern int cfgetispeed __P ((struct termios *__termios_p)); +extern int cfgetospeed __P ((struct termios *__termios_p)); +extern int cfsetispeed __P ((struct termios *__termios_p, int __speed)); +extern int cfsetospeed __P ((struct termios *__termios_p, int __speed)); + +extern void cfmakeraw __P ((struct termios *__t)); + +extern int tcsetattr __P ((int __fd, int __opt, struct termios *__termios_p)); +extern int tcgetattr __P ((int __fildes, struct termios *__termios_p)); +extern int tcdrain __P ((int __fildes)); +extern int tcflow __P ((int __fildes, int __action)); +extern int tcflush __P ((int __fildes, int __queue_selector)); +extern int tcsendbreak __P ((int __fildes, int __duration)); +extern int tcgetpgrp __P ((int __fildes)); +extern int tcsetpgrp __P ((int __fildes, int __pgrp_id)); + +#endif diff --git a/src/nos/include/time.h b/src/nos/include/time.h index 0063c545..7ce59958 100644 --- a/src/nos/include/time.h +++ b/src/nos/include/time.h @@ -5,6 +5,8 @@ #endif #include +#define TICKSPERSEC 50 /* Nick added for NOS CRT formerly in unix.h */ + #if (defined(MSX) || defined(MSX_UZIX_TARGET)) #define CLOCKS_PER_SEC *(uchar *)63220 /* Must agree with kernel EXTERN.H */ #define CLK_TCK *(uchar *)63220 /* That must be the same as HZ ???? */ diff --git a/src/nos/include/unistd.h b/src/nos/include/unistd.h index 773e17c8..d35c0cb6 100644 --- a/src/nos/include/unistd.h +++ b/src/nos/include/unistd.h @@ -1,58 +1,58 @@ -#ifndef __UNISTD_H -#define __UNISTD_H -#ifndef __TYPES_H -#include -#endif -#include - -#ifndef SEEK_SET -#define SEEK_SET 0 -#define SEEK_CUR 1 -#define SEEK_END 2 -#endif - -#define STDIN_FILENO 0 -#define STDOUT_FILENO 1 -#define STDERR_FILENO 2 - -extern int mkdir __P((char *, mode_t)); -extern int rmdir __P((char *)); - -extern long tell __P((int)); -extern off_t lseek __P((int, off_t, int)); - -extern int isatty __P((int)); - -extern int lstat __P((char *, void *)); -extern int readlink __P((char *, char *, int)); - -extern char **environ; - -extern char * _findPath __P((char *pathname)); -extern int execl __P((char *pathname, char *arg0, ...)); -extern int execle __P((char *pathname, char *arg0, ...)); -extern int execlp __P((char *pathname, char *arg0, ...)); -extern int execlpe __P((char *pathname, char *arg0, ...)); -extern int execv __P((char *pathname, char *argv[])); -extern int exect __P((char *pathname, char *argv[], char *envp[])); -extern int execvp __P((char *pathname, char *argv[])); -extern int execvpe __P((char *pathname, char *argv[], char *envp[])); - -extern char *ttyname __P((int)); -extern int system __P((char *)); -extern int pause __P((void)); -extern int fork __P((void)); -extern char *getcwd __P((char *, int)); - -#ifndef __STDLIB_H -extern void exit __P((int)); -#endif - -#ifndef R_OK -#define R_OK 4 /* Test for read permission. */ -#define W_OK 2 /* Test for write permission. */ -#define X_OK 1 /* Test for execute permission. */ -#define F_OK 0 /* Test for existence. */ -#endif - -#endif /* __UNISTD_H */ +#ifndef __UNISTD_H +#define __UNISTD_H +#ifndef __TYPES_H +#include +#endif +#include + +#ifndef SEEK_SET +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 +#endif + +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 + +extern int mkdir __P((char *, mode_t)); +extern int rmdir __P((char *)); + +extern long tell __P((int)); +extern off_t lseek __P((int, off_t, int)); + +extern int isatty __P((int)); + +extern int lstat __P((char *, void *)); +extern int readlink __P((char *, char *, int)); + +extern char **environ; + +extern char * _findPath __P((char *pathname)); +extern int execl __P((char *pathname, char *arg0, ...)); +extern int execle __P((char *pathname, char *arg0, ...)); +extern int execlp __P((char *pathname, char *arg0, ...)); +extern int execlpe __P((char *pathname, char *arg0, ...)); +extern int execv __P((char *pathname, char *argv[])); +extern int exect __P((char *pathname, char *argv[], char *envp[])); +extern int execvp __P((char *pathname, char *argv[])); +extern int execvpe __P((char *pathname, char *argv[], char *envp[])); + +extern char *ttyname __P((int)); +extern int system __P((char *)); +extern int pause __P((void)); +extern int fork __P((void)); +extern char *getcwd __P((char *, int)); + +#ifndef __STDLIB_H +extern void exit __P((int)); +#endif + +#ifndef R_OK +#define R_OK 4 /* Test for read permission. */ +#define W_OK 2 /* Test for write permission. */ +#define X_OK 1 /* Test for execute permission. */ +#define F_OK 0 /* Test for existence. */ +#endif + +#endif /* __UNISTD_H */ diff --git a/src/nos/include/utime.h b/src/nos/include/utime.h index b9cbd2a6..e800c14d 100644 --- a/src/nos/include/utime.h +++ b/src/nos/include/utime.h @@ -1,9 +1,9 @@ -#ifndef __UTIME_H -#define __UTIME_H -#ifndef __TYPES_H -#include -#endif - -extern int utime __P ((char *__filename, struct utimbuf *__utimebuf)); - -#endif +#ifndef __UTIME_H +#define __UTIME_H +#ifndef __TYPES_H +#include +#endif + +extern int utime __P ((char *__filename, struct utimbuf *__utimebuf)); + +#endif diff --git a/src/nos/include/utmp.h b/src/nos/include/utmp.h index 6506fb12..7a470ce4 100644 --- a/src/nos/include/utmp.h +++ b/src/nos/include/utmp.h @@ -1,45 +1,45 @@ -#ifndef __UTMP_H -#define __UTMP_H -#ifndef __TYPES_H -#include -#endif -#include -#include - -#define UT_UNKNOWN 0 -#define UT_LINESIZE 12 -#define UT_NAMESIZE 8 -#define UT_HOSTSIZE 16 - -#define RUN_LVL 1 -#define BOOT_TIME 2 -#define NEW_TIME 3 -#define OLD_TIME 4 - -#define INIT_PROCESS 5 -#define LOGIN_PROCESS 6 -#define USER_PROCESS 7 -#define DEAD_PROCESS 8 - -struct utmp { - short ut_type; /* type of login */ - int ut_pid; /* pid of login-process */ - char ut_line[UT_LINESIZE]; /* devicename of tty -"/dev/", null-term */ - char ut_id[2]; /* abbrev. ttyname, as 01, s1 etc. */ - time_t ut_time; /* login time */ - char ut_user[UT_NAMESIZE]; /* username, not null-term */ - char ut_host[UT_HOSTSIZE]; /* hostname for remote login... */ - long ut_addr; /* IP addr of remote host */ -}; - -extern void setutent __P((void)); -extern void utmpname __P((char *)); -extern struct utmp * getutent __P((void)); -extern struct utmp * getutid __P((struct utmp *)); -extern struct utmp * getutline __P((struct utmp *)); -extern struct utmp * pututline __P((struct utmp *)); -extern void endutent __P((void)); - -struct utmp * __getutent __P((int)); - -#endif /* __UTMP_H */ +#ifndef __UTMP_H +#define __UTMP_H +#ifndef __TYPES_H +#include +#endif +#include +#include + +#define UT_UNKNOWN 0 +#define UT_LINESIZE 12 +#define UT_NAMESIZE 8 +#define UT_HOSTSIZE 16 + +#define RUN_LVL 1 +#define BOOT_TIME 2 +#define NEW_TIME 3 +#define OLD_TIME 4 + +#define INIT_PROCESS 5 +#define LOGIN_PROCESS 6 +#define USER_PROCESS 7 +#define DEAD_PROCESS 8 + +struct utmp { + short ut_type; /* type of login */ + int ut_pid; /* pid of login-process */ + char ut_line[UT_LINESIZE]; /* devicename of tty -"/dev/", null-term */ + char ut_id[2]; /* abbrev. ttyname, as 01, s1 etc. */ + time_t ut_time; /* login time */ + char ut_user[UT_NAMESIZE]; /* username, not null-term */ + char ut_host[UT_HOSTSIZE]; /* hostname for remote login... */ + long ut_addr; /* IP addr of remote host */ +}; + +extern void setutent __P((void)); +extern void utmpname __P((char *)); +extern struct utmp * getutent __P((void)); +extern struct utmp * getutid __P((struct utmp *)); +extern struct utmp * getutline __P((struct utmp *)); +extern struct utmp * pututline __P((struct utmp *)); +extern void endutent __P((void)); + +struct utmp * __getutent __P((int)); + +#endif /* __UTMP_H */ diff --git a/src/nos/include/utsname.h b/src/nos/include/utsname.h index 35e57851..08f6d29f 100644 --- a/src/nos/include/utsname.h +++ b/src/nos/include/utsname.h @@ -1,18 +1,18 @@ -#ifndef __UTSNAME_H -#define __UTSNAME_H -#ifndef __TYPES_H -#include -#endif - -struct utsname { - char sysname[14]; - char nodename[14]; - char release[8]; - char version[8]; - char machine[8]; - char domainname[14]; -}; - -extern int uname __P ((struct utsname * __utsbuf)); - -#endif +#ifndef __UTSNAME_H +#define __UTSNAME_H +#ifndef __TYPES_H +#include +#endif + +struct utsname { + char sysname[14]; + char nodename[14]; + char release[8]; + char version[8]; + char machine[8]; + char domainname[14]; +}; + +extern int uname __P ((struct utsname * __utsbuf)); + +#endif diff --git a/src/nos/include/uzi/CVS/Entries b/src/nos/include/uzi/CVS/Entries new file mode 100644 index 00000000..a308fd9a --- /dev/null +++ b/src/nos/include/uzi/CVS/Entries @@ -0,0 +1,14 @@ +/devio.h/1.2/Tue Dec 2 07:41:10 2003// +/execve.h/1.2/Tue Dec 2 07:41:10 2003// +/filesys.h/1.2/Tue Dec 2 07:41:10 2003// +/maxmin.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/process.h/1.2/Tue Dec 2 07:41:10 2003// +/rtc.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/scall1.h/1.2/Tue Dec 2 07:41:10 2003// +/scall2.h/1.2/Tue Dec 2 07:41:10 2003// +/systrace.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +/unix.h%/1.1.1.1/Mon Nov 17 19:06:26 2003// +/usrmem.h/1.2/Tue Dec 2 07:41:10 2003// +/xfs.h/1.2/Tue Dec 2 07:41:10 2003// +/xip.h/1.2/Tue Dec 2 07:41:10 2003// +D diff --git a/src/nos/include/uzi/CVS/Repository b/src/nos/include/uzi/CVS/Repository new file mode 100644 index 00000000..1aea60e8 --- /dev/null +++ b/src/nos/include/uzi/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/include/uzi diff --git a/src/nos/include/uzi/CVS/Root b/src/nos/include/uzi/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/include/uzi/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/include/uzi/devio.h b/src/nos/include/uzi/devio.h index 7b82516d..bc9aade8 100644 --- a/src/nos/include/uzi/devio.h +++ b/src/nos/include/uzi/devio.h @@ -3,6 +3,8 @@ #ifndef __DEVIO_H #define __DEVIO_H +#include "asm.h" /* "z80/asm.h" but we now rely on tradcpp -I../include/z80 */ + /* BUFSIZE has been defined already by the C runtime library */ typedef unsigned short ino_t; /* Can have 65536 inodes in fs */ typedef unsigned short blkno_t; /* Can have 65536 BUFSIZE-byte blocks in fs */ @@ -78,8 +80,6 @@ extern unsigned int buf_flsh; /* buffer pool flushes */ /* shortcuts for access to buffer pool by clients */ #define tmpbuf() zerobuf(1); /* not allowed to return NULL */ -void bufinit(void); -void devio_garbage(int red); void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); int bfree(blkbuf_t *bp, unsigned char dirty); void *zerobuf(unsigned char waitfor); @@ -98,6 +98,7 @@ int ok_rdwr(unsigned char minor, unsigned char rawflag); int nogood(unsigned char minor); int nogood_rdwr(unsigned char minor, unsigned char rawflag); int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); #endif /* __DEVIO_H */ diff --git a/src/nos/include/uzi/execve.h b/src/nos/include/uzi/execve.h index be8aa0df..733c9ae2 100644 --- a/src/nos/include/uzi/execve.h +++ b/src/nos/include/uzi/execve.h @@ -3,6 +3,8 @@ #ifndef __EXECVE_H #define __EXECVE_H +#include /* for off_t */ + #if 1 /* Nick please look into this */ /* Struct to hold arguments temporarily in execve */ diff --git a/src/nos/include/uzi/filesys.h b/src/nos/include/uzi/filesys.h index cf520800..b6767259 100644 --- a/src/nos/include/uzi/filesys.h +++ b/src/nos/include/uzi/filesys.h @@ -3,6 +3,9 @@ #ifndef __FILESYS_H #define __FILESYS_H +#include /* for off_t */ +#include "uzi/devio.h" +#include "uzi/rtc.h" #include /* for _char... ZILOG only (Nick) */ #define NMOUNTS 1 /*3*/ /* maximum number of filesystems */ @@ -129,7 +132,6 @@ cinode_t *_namei(unsigned char *name, unsigned char **rest, cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); cinode_t *srch_dir(cinode_t *wd, char *name); cinode_t *srch_mt(cinode_t *ino); -void i_init(void); cinode_t *i_open(dev_t devno, ino_t ino); int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); void filename(char *upath, char *name); /* char *filename(char *path); */ @@ -154,6 +156,8 @@ int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); void magic(cinode_t *ino, char *who); void i_sync(void); void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); #endif /* __FILESYS_H */ diff --git a/src/nos/include/uzi/process.h b/src/nos/include/uzi/process.h index b19f75db..3b676556 100644 --- a/src/nos/include/uzi/process.h +++ b/src/nos/include/uzi/process.h @@ -3,9 +3,11 @@ #ifndef __PROCESS_H #define __PROCESS_H +#include /* for NSIGS */ +#include "uzi/filesys.h" /* this includes size_t */ #include /* for _char... ZILOG only (Nick) */ -#define NPROGRAMS 1 +#define NPROGRAMS 20 /* later we might change Ptab[] to use a linklist */ #define PRIO_MAX 19 #define PRIO_MIN -20 @@ -65,7 +67,10 @@ struct ptab_s unsigned char p_intr; /* !0 if awakened by signal */ #endif -#if 1 /* these have been moved from udata into the ptab */ +/* everything below here is new since the integration with NOS */ + unsigned int p_threads; /* Reference count for this ptab entry */ + +/* everything below here has been moved from udata into the ptab */ int p_gid; int p_euid; int p_egid; @@ -95,7 +100,6 @@ struct ptab_s unsigned int p_debugme; /* added by Nick, used only ifdef DEBUG */ unsigned char p_files[NUSERFILES]; /* Process file table */ -#endif }; extern ptab_t *Ptab[NPROGRAMS]; @@ -160,10 +164,15 @@ extern udata_t *udata_p; /* Super() returns true if we are the superuser */ #define super() (udata->u_ptab->p_euid == 0) -void p_init(void); +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); int panic(char *message, ...); int _panic(_char *message, ...); int valadr(void *base, size_t size); +void ptab_garbage(int red); #endif /* __PROCESS_H */ diff --git a/src/nos/include/uzi/scall1.h b/src/nos/include/uzi/scall1.h index 4acb10f9..2a21ecda 100644 --- a/src/nos/include/uzi/scall1.h +++ b/src/nos/include/uzi/scall1.h @@ -3,6 +3,9 @@ #ifndef __SCALL1_H #define __SCALL1_H +#include /* for info_t */ +#include "uzi/filesys.h" /* for cinode_t and others */ + /* placeholders until we decide to make them informative */ #define UZIX "UZIX" #define HOST "HOST" diff --git a/src/nos/include/uzi/scall2.h b/src/nos/include/uzi/scall2.h index 1a868ddf..90f323fa 100644 --- a/src/nos/include/uzi/scall2.h +++ b/src/nos/include/uzi/scall2.h @@ -3,6 +3,8 @@ #ifndef __SCALL2_H #define __SCALL2_H +#include "uzi/filesys.h" /* for cinode_t and others */ + /* sys_getset() commands */ #define GET_PID 0 /* get process id */ #define GET_PPID 1 /* get parent process id */ @@ -18,7 +20,6 @@ #define SET_TRACE 11 /* set trace flag */ #define SET_DEBUG 12 /* set debug flag */ -ptab_t *findprocess(int pid); void filldesc(unsigned char oft, unsigned char access, cinode_t *ino); int sys_pipe(void); int sys_stime(void); diff --git a/src/nos/include/uzi/usrmem.h b/src/nos/include/uzi/usrmem.h index 5fad570f..7c38e183 100644 --- a/src/nos/include/uzi/usrmem.h +++ b/src/nos/include/uzi/usrmem.h @@ -3,6 +3,8 @@ #ifndef __USRMEM_H #define __USRMEM_H +#include /* for size_t */ + #define bcopy(s, d, c) memcpy(d, s, c) #define bfill(d, v, c) memset(d, v, c) #define bzero(d, c) memset(d, 0, c) diff --git a/src/nos/include/uzi/xfs.h b/src/nos/include/uzi/xfs.h index 9e6b7f30..93f1d161 100644 --- a/src/nos/include/uzi/xfs.h +++ b/src/nos/include/uzi/xfs.h @@ -23,12 +23,16 @@ #ifndef _XFS_H #define _XFS_H +#include /* for struct stat */ +#include /* for mode_t, size_t, time_t */ +#include "uzi/devio.h" /* for dev_t */ + void xfs_init(dev_t boot_dev); void xfs_end(void); int xfs_open(const char *name, int flag, ...); int xfs_close(int uindex); int xfs_creat(const char *name, mode_t mode); -int xfs_link(char *name1, char *name2); +int xfs_link(const char *name1, const char *name2); int xfs_symlink(char *name1, char *name2); int xfs_unlink(const char *path); int xfs_read(int d, void *buf, size_t nbytes); diff --git a/src/nos/include/uzi/xip.h b/src/nos/include/uzi/xip.h index 1aa7da4f..c0d51266 100644 --- a/src/nos/include/uzi/xip.h +++ b/src/nos/include/uzi/xip.h @@ -3,6 +3,8 @@ #ifndef __XIP_H #define __XIP_H +#include "uzi/filesys.h" /* for cinode_t and others */ + int xip_align(cinode_t *ino, off_t size); int xip_ualign(cinode_t *ino, off_t size); blkno_t *xip_examine(filesys_t *dev, cinode_t *ino, off_t size, diff --git a/src/nos/include/z80/CVS/Entries b/src/nos/include/z80/CVS/Entries new file mode 100644 index 00000000..ce65d02a --- /dev/null +++ b/src/nos/include/z80/CVS/Entries @@ -0,0 +1,2 @@ +/asm.h/1.1.1.1/Mon Nov 17 19:06:26 2003// +D diff --git a/src/nos/include/z80/CVS/Repository b/src/nos/include/z80/CVS/Repository new file mode 100644 index 00000000..b84b6c1c --- /dev/null +++ b/src/nos/include/z80/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/include/z80 diff --git a/src/nos/include/z80/CVS/Root b/src/nos/include/z80/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/include/z80/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/internet/CVS/Entries b/src/nos/internet/CVS/Entries new file mode 100644 index 00000000..a570a681 --- /dev/null +++ b/src/nos/internet/CVS/Entries @@ -0,0 +1,35 @@ +/arp.c/1.1.1.1/Mon Nov 17 19:06:26 2003// +/arpcmd.c/1.1.1.1/Mon Nov 17 19:06:26 2003// +/arphdr.c/1.1.1.1/Mon Nov 17 19:06:26 2003// +/auto.mk/1.1.1.1/Mon Nov 17 19:06:26 2003// +/domain.c/1.1.1.1/Mon Nov 17 19:06:26 2003// +/domhdr.c/1.1.1.1/Mon Nov 17 19:06:26 2003// +/hop.c/1.1.1.1/Mon Nov 17 19:06:26 2003// +/icmp.c/1.2/Wed Nov 26 04:16:50 2003// +/icmpcmd.c/1.1.1.1/Mon Nov 17 19:06:26 2003// +/icmphdr.c/1.1.1.1/Mon Nov 17 19:06:26 2003// +/icmpmsg.c/1.1.1.1/Mon Nov 17 19:06:26 2003// +/ip.c/1.3/Fri Jan 23 12:48:36 2004// +/ipcmd.c/1.1.1.1/Mon Nov 17 19:06:26 2003// +/iphdr.c/1.1.1.1/Mon Nov 17 19:06:26 2003// +/iproute.c/1.1.1.1/Mon Nov 17 19:06:26 2003// +/ipsock.c/1.1.1.1/Mon Nov 17 19:06:28 2003// +/makefile/1.1.1.1/Mon Nov 17 19:06:28 2003// +/netuser.c/1.1.1.1/Mon Nov 17 19:06:28 2003// +/ping.c/1.2/Wed Nov 26 04:16:50 2003// +/rip.c/1.1.1.1/Mon Nov 17 19:06:28 2003// +/ripcmd.c/1.1.1.1/Mon Nov 17 19:06:28 2003// +/sim.c/1.1.1.1/Mon Nov 17 19:06:28 2003// +/tcpcmd.c/1.1.1.1/Mon Nov 17 19:06:28 2003// +/tcphdr.c/1.2/Fri Jan 23 12:49:24 2004// +/tcpin.c/1.2/Fri Jan 23 12:49:24 2004// +/tcpout.c/1.1.1.1/Mon Nov 17 19:06:28 2003// +/tcpsock.c/1.2/Tue Dec 2 07:41:10 2003// +/tcpsubr.c/1.1.1.1/Mon Nov 17 19:06:28 2003// +/tcptimer.c/1.1.1.1/Mon Nov 17 19:06:28 2003// +/tcpuser.c/1.2/Wed Nov 26 04:16:50 2003// +/udp.c/1.1.1.1/Mon Nov 17 19:06:28 2003// +/udpcmd.c/1.1.1.1/Mon Nov 17 19:06:28 2003// +/udphdr.c/1.1.1.1/Mon Nov 17 19:06:28 2003// +/udpsock.c/1.1.1.1/Mon Nov 17 19:06:28 2003// +D diff --git a/src/nos/internet/CVS/Repository b/src/nos/internet/CVS/Repository new file mode 100644 index 00000000..17c8bc3e --- /dev/null +++ b/src/nos/internet/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/internet diff --git a/src/nos/internet/CVS/Root b/src/nos/internet/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/internet/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/internet/arp.i b/src/nos/internet/arp.i new file mode 100644 index 00000000..aa3aa868 --- /dev/null +++ b/src/nos/internet/arp.i @@ -0,0 +1,3312 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + +struct ether { + uint8 dest[6]; + uint8 source[6]; + uint16 type; +}; + + + +extern uint8 Ether_bdcst[]; + + + + + + + + + + + + +char *pether(char *out,uint8 *addr); +int gether(uint8 *out,char *cp); +int enet_send(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +int enet_output(struct iface *iface,uint8 dest[],uint8 source[],uint16 type, + struct mbuf **bpp); +void eproc(struct iface *iface,struct mbuf **bpp); + + +void htonether(struct ether *ether,struct mbuf **data); +int ntohether(struct ether *ether,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + +extern struct mib_entry Icmp_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct icmp { + uint8 type; + uint8 code; + union icmp_args { + uint16 mtu; + int32 unused; + uint8 pointer; + int32 address; + struct { + uint16 id; + uint16 seq; + } echo; + } args; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int Icmp_trace; +extern int Icmp_echo; + + +extern char *Icmptypes[],*Unreach[],*Exceed[],*Redirect[],*Said_icmp[]; + +struct icmplink { + uint8 proto; + void (*funct)(int32,int32,int32,uint8,uint8,struct mbuf **); +}; +extern struct icmplink Icmplink[]; + + +void icmp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int icmp_output(struct ip *ip,struct mbuf *data,uint8 type,uint8 code, + union icmp_args *args); + + +void htonicmp(struct icmp *icmp,struct mbuf **data); +int ntohicmp(struct icmp *icmp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +enum arp_opcode { + ARP_REQUEST=1, + ARP_REPLY, + REVARP_REQUEST, + REVARP_REPLY +}; + +enum arp_hwtype { + ARP_NETROM=0, + ARP_ETHER, + ARP_EETHER, + ARP_AX25, + ARP_PRONET, + ARP_CHAOS, + ARP_IEEE802, + ARP_ARCNET, + ARP_APPLETALK +}; +extern char *Arptypes[]; + + + +struct arp_type { + uint16 hwalen; + uint16 iptype; + uint16 arptype; + uint16 pendtime; + uint8 *bdcst; + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + +}; +extern struct arp_type Arp_type[]; + + +struct arp { + enum arp_hwtype hardware; + uint16 protocol; + uint8 hwalen; + uint8 pralen; + enum arp_opcode opcode; + uint8 shwaddr[20 ]; + int32 sprotaddr; + uint8 thwaddr[20 ]; + int32 tprotaddr; +}; + + +struct arp_tab { + struct arp_tab *next; + struct arp_tab *prev; + struct timer timer; + struct mbuf *pending; + int32 ip_addr; + enum arp_hwtype hardware; + enum { + ARP_PENDING, + ARP_VALID + } state; + uint8 *hw_addr; + unsigned int pub:1; +}; +extern struct arp_tab *Arp_tab[]; + +struct arp_stat { + unsigned recv; + unsigned badtype; + unsigned badlen; + unsigned badaddr; + unsigned inreq; + unsigned replies; + unsigned outreq; +}; +extern struct arp_stat Arp_stat; + + +struct arp_tab *arp_add(int32 ipaddr,enum arp_hwtype hardware,uint8 *hw_addr, + int pub); +void arp_drop(void *p); +int arp_init(unsigned int hwtype,int hwalen,int iptype,int arptype, + int pendtime,uint8 *bdcst,char *(*format)(char *,uint8 *), + int (*scan)(uint8 *,char *) ); +void arp_input(struct iface *iface,struct mbuf **bpp); +struct arp_tab *arp_lookup(enum arp_hwtype hardware,int32 ipaddr); +uint8 *res_arp(struct iface *iface,enum arp_hwtype hardware,int32 target,struct mbuf **bpp); + + +struct mbuf *htonarp(struct arp *arp); +int ntoharp(struct arp *arp,struct mbuf **bpp); + + + + +static void arp_output(struct iface *iface,enum arp_hwtype hardware,int32 target); + + +struct arp_tab *Arp_tab[7 ]; + +struct arp_stat Arp_stat; + + + + + + + +uint8 * +res_arp( +struct iface *iface, +enum arp_hwtype hardware, +int32 target, +struct mbuf **bpp +){ + register struct arp_tab *arp; + struct ip ip; + + if((arp = arp_lookup(hardware,target)) != 0 && arp->state == ARP_VALID) + return arp->hw_addr; + if(arp != 0){ + + + + ntohip(&ip,bpp); + icmp_output(&ip,*bpp,4 ,0,0); + free_p(bpp); + } else { + + + + arp = arp_add(target,hardware,0,0); + enqueue(&arp->pending,bpp); + arp_output(iface,hardware,target); + } + return 0; +} + + + + + + + + +void +arp_input( +struct iface *iface, +struct mbuf **bpp +){ + struct arp arp; + struct arp_tab *ap; + struct arp_type *at; + int i; + + Arp_stat.recv++; + if(ntoharp(&arp,bpp) == -1) + return; + if(arp.hardware >= 9){ + + Arp_stat.badtype++; + return; + } + at = &Arp_type[arp.hardware]; + if(arp.protocol != at->iptype){ + + Arp_stat.badtype++; + return; + } + if(arp.hwalen > 20 || arp.pralen != sizeof(int32)){ + + + + Arp_stat.badlen++; + return; + } + if(memcmp(arp.shwaddr,at->bdcst,at->hwalen) == 0){ + + Arp_stat.badaddr++; + return; + } + + + + ap = 0; + if((ap = arp_lookup(arp.hardware,arp.sprotaddr)) != 0 + && ((&ap->timer)->duration*55 ) != 0){ + ap = arp_add(arp.sprotaddr,arp.hardware,arp.shwaddr,0); + } + + if(ismyaddr(arp.tprotaddr) != 0){ + if(ap == 0) + arp_add(arp.sprotaddr,arp.hardware,arp.shwaddr,0); + + if(arp.opcode == ARP_REQUEST){ + + + + memcpy(arp.thwaddr,arp.shwaddr,(uint16)arp.hwalen); + + + + if(arp.hardware == ARP_AX25) + arp.thwaddr[arp.hwalen-1] |= 0x01 ; + + memcpy(arp.shwaddr,iface->hwaddr,at->hwalen); + arp.tprotaddr = arp.sprotaddr; + arp.sprotaddr = iface->addr; + arp.opcode = ARP_REPLY; + if((*bpp = htonarp(&arp)) == 0) + return; + + if(iface->forw != 0) + (*iface->forw->output)(iface->forw, + arp.thwaddr,iface->forw->hwaddr,at->arptype,bpp); + else + (*iface->output)(iface,arp.thwaddr, + iface->hwaddr,at->arptype,bpp); + Arp_stat.inreq++; + } else { + Arp_stat.replies++; + } + } else if(arp.opcode == ARP_REQUEST + && (ap = arp_lookup(arp.hardware,arp.tprotaddr)) != 0 + && ap->pub){ + + + + memcpy(arp.thwaddr,arp.shwaddr,(uint16)arp.hwalen); + memcpy(arp.shwaddr,ap->hw_addr,at->hwalen); + arp.tprotaddr = arp.sprotaddr; + arp.sprotaddr = ap->ip_addr; + arp.opcode = ARP_REPLY; + if((*bpp = htonarp(&arp)) == 0) + return; + if(iface->forw != 0) + (*iface->forw->output)(iface->forw, + arp.thwaddr,iface->forw->hwaddr,at->arptype,bpp); + else + (*iface->output)(iface,arp.thwaddr, + iface->hwaddr,at->arptype,bpp); + Arp_stat.inreq++; + } else if(arp.opcode == REVARP_REQUEST){ + for(i=0;i<7 ;i++) + for(ap = Arp_tab[i];ap != 0;ap = ap->next) + if(memcmp(ap->hw_addr,arp.thwaddr,at->hwalen) == 0) + goto found; + found: if(ap != 0 && ap->pub){ + memcpy(arp.shwaddr,iface->hwaddr,at->hwalen); + arp.tprotaddr = ap->ip_addr; + arp.sprotaddr = iface->addr; + arp.opcode = REVARP_REPLY; + if((*bpp = htonarp(&arp)) == 0) + return; + if(iface->forw != 0) + (*iface->forw->output)(iface->forw, + arp.thwaddr,iface->forw->hwaddr,0x8035 ,bpp); + else + (*iface->output)(iface,arp.thwaddr, + iface->hwaddr,0x8035 ,bpp); + Arp_stat.inreq++; + } + } +} + +struct arp_tab * +arp_add(ipaddr,hardware,hw_addr,pub) +int32 ipaddr; +enum arp_hwtype hardware; +uint8 *hw_addr; +int pub; +{ + struct mbuf *bp; + register struct arp_tab *ap; + struct arp_type *at; + unsigned hashval; + + if(hardware >=9) + return 0; + at = &Arp_type[hardware]; + + if((ap = arp_lookup(hardware,ipaddr)) == 0){ + + ap = (struct arp_tab *)callocw(1,sizeof(struct arp_tab)); + ap->hw_addr = mallocw(at->hwalen); + ap->timer.func = arp_drop; + ap->timer.arg = ap; + ap->hardware = hardware; + ap->ip_addr = ipaddr; + + + hashval = hash_ip(ipaddr); + ap->prev = 0; + ap->next = Arp_tab[hashval]; + Arp_tab[hashval] = ap; + if(ap->next != 0){ + ap->next->prev = ap; + } + } + if(hw_addr == 0){ + + ap->state = ARP_PENDING; + set_timer(&ap->timer,Arp_type[hardware].pendtime * 1000L); + } else { + + ap->state = ARP_VALID; + set_timer(&ap->timer,900 *1000L); + memcpy(ap->hw_addr,hw_addr,at->hwalen); + ap->pub = pub; + while((bp = dequeue(&ap->pending)) != 0) + ip_route(0,&bp,0); + } + start_timer(&ap->timer); + return ap; +} + + +void +arp_drop(p) +void *p; +{ + register struct arp_tab *ap; + + ap = (struct arp_tab *)p; + if(ap == 0) + return; + stop_timer(&ap->timer); + if(ap->next != 0) + ap->next->prev = ap->prev; + if(ap->prev != 0) + ap->prev->next = ap->next; + else + Arp_tab[hash_ip(ap->ip_addr)] = ap->next; + free_q(&ap->pending); + free(ap->hw_addr); + free(ap); +} + + +struct arp_tab * +arp_lookup(hardware,ipaddr) +enum arp_hwtype hardware; +int32 ipaddr; +{ + register struct arp_tab *ap; + + for(ap = Arp_tab[hash_ip(ipaddr)]; ap != 0; ap = ap->next){ + if(ap->ip_addr == ipaddr && ap->hardware == hardware) + break; + } + return ap; +} + +static void +arp_output(iface,hardware,target) +struct iface *iface; +enum arp_hwtype hardware; +int32 target; +{ + struct arp arp; + struct mbuf *bp; + struct arp_type *at; + + at = &Arp_type[hardware]; + if(iface->output == 0) + return; + + arp.hardware = hardware; + arp.protocol = at->iptype; + arp.hwalen = at->hwalen; + arp.pralen = sizeof(int32); + arp.opcode = ARP_REQUEST; + memcpy(arp.shwaddr,iface->hwaddr,at->hwalen); + arp.sprotaddr = iface->addr; + memset(arp.thwaddr,0,at->hwalen); + arp.tprotaddr = target; + if((bp = htonarp(&arp)) == 0) + return; + (*iface->output)(iface,at->bdcst, + iface->hwaddr,at->arptype,&bp); + Arp_stat.outreq++; +} + diff --git a/src/nos/internet/arpcmd.i b/src/nos/internet/arpcmd.i new file mode 100644 index 00000000..de452387 --- /dev/null +++ b/src/nos/internet/arpcmd.i @@ -0,0 +1,3209 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + +extern unsigned char __ctype[]; + + + + + + + + + + + + +extern int toupper (int); +extern int tolower (int); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + +struct ether { + uint8 dest[6]; + uint8 source[6]; + uint16 type; +}; + + + +extern uint8 Ether_bdcst[]; + + + + + + + + + + + + +char *pether(char *out,uint8 *addr); +int gether(uint8 *out,char *cp); +int enet_send(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +int enet_output(struct iface *iface,uint8 dest[],uint8 source[],uint16 type, + struct mbuf **bpp); +void eproc(struct iface *iface,struct mbuf **bpp); + + +void htonether(struct ether *ether,struct mbuf **data); +int ntohether(struct ether *ether,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +enum arp_opcode { + ARP_REQUEST=1, + ARP_REPLY, + REVARP_REQUEST, + REVARP_REPLY +}; + +enum arp_hwtype { + ARP_NETROM=0, + ARP_ETHER, + ARP_EETHER, + ARP_AX25, + ARP_PRONET, + ARP_CHAOS, + ARP_IEEE802, + ARP_ARCNET, + ARP_APPLETALK +}; +extern char *Arptypes[]; + + + +struct arp_type { + uint16 hwalen; + uint16 iptype; + uint16 arptype; + uint16 pendtime; + uint8 *bdcst; + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + +}; +extern struct arp_type Arp_type[]; + + +struct arp { + enum arp_hwtype hardware; + uint16 protocol; + uint8 hwalen; + uint8 pralen; + enum arp_opcode opcode; + uint8 shwaddr[20 ]; + int32 sprotaddr; + uint8 thwaddr[20 ]; + int32 tprotaddr; +}; + + +struct arp_tab { + struct arp_tab *next; + struct arp_tab *prev; + struct timer timer; + struct mbuf *pending; + int32 ip_addr; + enum arp_hwtype hardware; + enum { + ARP_PENDING, + ARP_VALID + } state; + uint8 *hw_addr; + unsigned int pub:1; +}; +extern struct arp_tab *Arp_tab[]; + +struct arp_stat { + unsigned recv; + unsigned badtype; + unsigned badlen; + unsigned badaddr; + unsigned inreq; + unsigned replies; + unsigned outreq; +}; +extern struct arp_stat Arp_stat; + + +struct arp_tab *arp_add(int32 ipaddr,enum arp_hwtype hardware,uint8 *hw_addr, + int pub); +void arp_drop(void *p); +int arp_init(unsigned int hwtype,int hwalen,int iptype,int arptype, + int pendtime,uint8 *bdcst,char *(*format)(char *,uint8 *), + int (*scan)(uint8 *,char *) ); +void arp_input(struct iface *iface,struct mbuf **bpp); +struct arp_tab *arp_lookup(enum arp_hwtype hardware,int32 ipaddr); +uint8 *res_arp(struct iface *iface,enum arp_hwtype hardware,int32 target,struct mbuf **bpp); + + +struct mbuf *htonarp(struct arp *arp); +int ntoharp(struct arp *arp,struct mbuf **bpp); + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + +struct cmds { + _char *name; + int (*func)(int argc,char *argv[],void *p); + + int stksize; + int argcmin; + _char *argc_errmsg; +}; +extern struct cmds Cmds[],Startcmds[],Stopcmds[],Attab[]; + + +int cmdparse(struct cmds cmds[], char *line, void *p); +int subcmd(struct cmds tab[], int argc, char *argv[], void *p); +int setbool(int *var, _char *label, int argc, char *argv[]); +int bit16cmd(uint16 *bits, uint16 mask, _char *label, int argc, char *argv[]); +int setint(int *var, _char *label, int argc, char *argv[]); +int setlong(int32 *var, _char *label, int argc, char *argv[]); +int setshort(unsigned short *var, _char *label, int argc, char *argv[]); +int setuns(unsigned *var, _char *label, int argc, char *argv[]); + + + + + + +int doasystat(int argc,char *argv[],void *p); +int fp_attach (int argc,char *argv[],void *p); + + +int domem(int argc,char *argv[],void *p); + + +int doamiga(int argc,char *argv[],void *p); + + +int doarp(int argc,char *argv[],void *p); + + +int asy_attach(int argc,char *argv[],void *p); + + +int doax25(int argc,char *argv[],void *p); +int doaxheard(int argc,char *argv[],void *p); +int doaxdest(int argc,char *argv[],void *p); +int doconnect(int argc,char *argv[],void *p); + + +int dobootp(int argc,char *argv[],void *p); + + +int bootpdcmd(int argc,char *argv[],void *p); + + +int dodialer(int argc,char *argv[],void *p); + + +int docd(int argc,char *argv[],void *p); +int dodir(int argc,char *argv[],void *p); +int domkd(int argc,char *argv[],void *p); +int dormd(int argc,char *argv[],void *p); + + +int dodomain(int argc,char *argv[],void *p); + + +int dodrstat(int argc,char *argv[],void *p); +int dr_attach(int argc,char *argv[],void *p); +int dodr(int argc,char *argv[],void *p); + + +int eg_attach(int argc,char *argv[],void *p); +int doegstat(int argc,char *argv[],void *p); + + +int doetherstat(int argc,char *argv[],void *p); +int ec_attach(int argc,char *argv[],void *p); + + +int dofax(int argc,char *argv[],void *p); +int fax1(int argc,char *argv[],void *p); +int fax0(int argc,char *argv[],void *p); + + +int dofinger(int argc,char *argv[],void *p); + + +int finstart(int argc,char *argv[],void *p); +int fin0(int argc,char *argv[],void *p); + + +int doftp(int argc,char *argv[],void *p); +int doabort(int argc,char *argv[],void *p); + + +int ftpstart(int argc,char *argv[],void *p); +int ftp0(int argc,char *argv[],void *p); + + +int dohapnstat(int argc,char *argv[],void *p); +int hapn_attach(int argc,char *argv[],void *p); + + +int dohop(int argc,char *argv[],void *p); + + +int dohs(int argc,char *argv[],void *p); +int hs_attach(int argc,char *argv[],void *p); + + +int doicmp(int argc,char *argv[],void *p); + + +int doifconfig(int argc,char *argv[],void *p); +int dodetach(int argc,char *argv[],void *p); + + +int doip(int argc,char *argv[],void *p); +int doroute(int argc,char *argv[],void *p); + + +int dosec(int argc,char *argv[],void *p); + + +int doksp(int argc,char *argv[],void *p); + + +int ps(int argc,char *argv[],void *p); + + +int dolterm(int argc,char *argv[],void *p); + + +int dodelete(int argc,char *argv[],void *p); +int dorename(int argc,char *argv[],void *p); +int doexit(int argc,char *argv[],void *p); +int dohostname(int argc,char *argv[],void *p); +int dolog(int argc,char *argv[],void *p); +int dohelp(int argc,char *argv[],void *p); +int doattach(int argc,char *argv[],void *p); +int doparam(int argc,char *argv[],void *p); +int dopage(int argc,char *argv[],void *p); +int domode(int argc,char *argv[],void *p); +int donothing(int argc,char *argv[],void *p); +int donrstat(int argc,char *argv[],void *p); +int doescape(int argc,char *argv[],void *p); +int doremote(int argc,char *argv[],void *p); +int doboot(int argc,char *argv[],void *p); +int dorepeat(int argc,char *argv[],void *p); +int dostacktest(int argc,char *argv[],void *p); +int dosysdebug(int argc,char *argv[],void *p); +int dosystrace(int argc,char *argv[],void *p); +int dowipe(int argc,char *argv[],void *p); + + +int dombox(int argc,char *argv[],void *p); + + +int donntp(int argc,char *argv[],void *p); + + +int donetrom(int argc,char *argv[],void *p); +int nr_attach(int argc,char *argv[],void *p); + + +int doshell(int argc,char *argv[],void *p); +int doisat(int argc,char *argv[],void *p); + + +int pc_attach(int argc,char *argv[],void *p); + + +int pk_attach(int argc,char *argv[],void *p); + + +int pi_attach(int argc,char *argv[],void *p); +int dopistat(int argc,char *argv[],void *p); + + +int doping(int argc,char *argv[],void *p); + + +int dopop(int argc,char *argv[],void *p); + + +int pop1(int argc,char *argv[],void *p); +int pop0(int argc,char *argv[],void *p); + + +int doqtso(int argc,char *argv[],void *p); + + +int dorarp(int argc,char *argv[],void *p); + + +int dorip(int argc,char *argv[],void *p); + + +int doaddrefuse(int argc,char *argv[],void *p); +int dodroprefuse(int argc,char *argv[],void *p); +int dorip(int argc,char *argv[],void *p); +int doripadd(int argc,char *argv[],void *p); +int doripdrop(int argc,char *argv[],void *p); +int doripinit(int argc,char *argv[],void *p); +int doripmerge(int argc,char *argv[],void *p); +int doripreq(int argc,char *argv[],void *p); +int doripstat(int argc,char *argv[],void *p); +int doripstop(int argc,char *argv[],void *p); +int doriptrace(int argc,char *argv[],void *p); + + +int dosound(int argc,char *argv[],void *p); + + +int escc_attach(int argc,char *argv[],void *p); +int doesccstat(int argc,char *argv[],void *p); + + +int dosession(int argc,char *argv[],void *p); +int go(int argc,char *argv[],void *p); +int doclose(int argc,char *argv[],void *p); +int doreset(int argc,char *argv[],void *p); +int dokick(int argc,char *argv[],void *p); +int dorecord(int argc,char *argv[],void *p); +int dosfsize(int argc,char *argv[],void *p); +int doupload(int argc,char *argv[],void *p); + + +int dis1(int argc,char *argv[],void *p); +int dis0(int argc,char *argv[],void *p); +int echo1(int argc,char *argv[],void *p); +int echo0(int argc,char *argv[],void *p); +int rem1(int argc,char *argv[],void *p); +int rem0(int argc,char *argv[],void *p); +int term1(int argc,char *argv[],void *p); +int term0(int argc,char *argv[],void *p); +int bsr1(int argc,char *argv[],void *p); +int bsr0(int argc,char *argv[],void *p); + + +int dosmtp(int argc,char *argv[],void *p); + + +int smtp1(int argc,char *argv[],void *p); +int smtp0(int argc,char *argv[],void *p); + + +int dosock(int argc,char *argv[],void *p); + + +int dofiles(int argc,char *argv[],void *p); + + +int doswatch(int argc,char *argv[],void *p); + + +int dotcp(int argc,char *argv[],void *p); + + +int doecho(int argc,char *argv[],void *p); +int doeol(int argc,char *argv[],void *p); +int dotelnet(int argc,char *argv[],void *p); +int dotopt(int argc,char *argv[],void *p); + + +int dotip(int argc,char *argv[],void *p); + + +int ttylstart(int argc,char *argv[],void *p); +int ttyl0(int argc,char *argv[],void *p); + + +int dotrace(int argc,char *argv[],void *p); + + +int doudp(int argc,char *argv[],void *p); + + +int doview(int argc,char *argv[],void *p); +void view(int,void *,void *); + + + + + + + +static int doarpadd(int argc,char *argv[],void *p); +static int doarpdrop(int argc,char *argv[],void *p); +static int doarpflush(int argc,char *argv[],void *p); +static void dumparp(void); + +static struct cmds Arpcmds[] = { + N_("add"), doarpadd, 0, 4, + N_("arp add ether|ax25|netrom|arcnet "), + + N_("drop"), doarpdrop, 0, 3, + N_("arp drop ether|ax25|netrom|arcnet"), + + N_("flush"), doarpflush, 0, 0, + 0, + + N_("publish"), doarpadd, 0, 4, + N_("arp publish ether|ax25|netrom|arcnet "), + + 0, +}; +char *Arptypes[] = { + "NET/ROM", + "10 Mb Ethernet", + "3 Mb Ethernet", + "AX.25", + "Pronet", + "Chaos", + "", + "Arcnet", + "Appletalk" +}; + +int +doarp(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + if(argc < 2){ + dumparp(); + return 0; + } + return subcmd(Arpcmds,argc,argv,p); +} +static +doarpadd(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + uint16 hardware; + int32 addr; + uint8 *hwaddr; + struct arp_tab *ap; + struct arp_type *at; + int pub = 0; + + if(argv[0][0] == 'p') + pub = 1; + if((addr = resolve(argv[1])) == 0){ + printf(Badhost,argv[1]); + return 1; + } + + switch(tolower(argv[2][0])){ + case 'n': + hardware = ARP_NETROM; + break; + case 'e': + hardware = ARP_ETHER; + break; + case 'a': + switch(tolower(argv[2][1])) { + case 'x': + hardware = ARP_AX25; + break; + case 'r': + hardware = ARP_ARCNET; + break; + default: + _printf(_("unknown hardware type \"%s\"\n"),argv[2]); + return -1; + } + break; + case 'm': + hardware = ARP_APPLETALK; + break; + default: + _printf(_("unknown hardware type \"%s\"\n"),argv[2]); + return -1; + } + + if((ap = arp_lookup(hardware,addr)) != 0) + arp_drop(ap); + + at = &Arp_type[hardware]; + if(at->scan == 0){ + _printf(_("Attach device first\n")); + return 1; + } + + hwaddr = mallocw(at->hwalen); + + (*at->scan)(hwaddr,argv[3]); + ap = arp_add(addr,hardware,hwaddr,pub); + free(hwaddr); + stop_timer(&ap->timer); + set_timer(&ap->timer,0L); + return 0; +} + +static +doarpdrop(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + uint16 hardware; + int32 addr; + struct arp_tab *ap; + + if((addr = resolve(argv[1])) == 0){ + printf(Badhost,argv[1]); + return 1; + } + + switch(tolower(argv[2][0])){ + case 'n': + hardware = ARP_NETROM; + break; + case 'e': + hardware = ARP_ETHER; + break; + case 'a': + switch(tolower(argv[2][1])) { + case 'x': + hardware = ARP_AX25; + break; + case 'r': + hardware = ARP_ARCNET; + break; + default: + hardware = 0; + break; + } + break; + case 'm': + hardware = ARP_APPLETALK; + break; + default: + hardware = 0; + break; + } + if((ap = arp_lookup(hardware,addr)) == 0) + return -1; + arp_drop(ap); + return 0; +} + +static int +doarpflush(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct arp_tab *ap; + struct arp_tab *aptmp; + int i; + + for(i=0;i<7 ;i++){ + for(ap = Arp_tab[i];ap != 0;ap = aptmp){ + aptmp = ap->next; + if(((&ap->timer)->duration*55 ) != 0) + arp_drop(ap); + } + } + return 0; +} + + +static void +dumparp() +{ + register int i; + register struct arp_tab *ap; + char e[128]; + + _printf(_("received %u badtype %u bogus addr %u reqst in %u replies %u reqst out %u\n"), + Arp_stat.recv,Arp_stat.badtype,Arp_stat.badaddr,Arp_stat.inreq, + Arp_stat.replies,Arp_stat.outreq); + + _printf(_("IP addr Type Time Q Addr\n")); + for(i=0;i<7 ;i++){ + for(ap = Arp_tab[i];ap != (struct arp_tab *)0;ap = ap->next){ + _printf(_("%-16s"),inet_ntoa(ap->ip_addr)); + _printf(_("%-15s"),smsg(Arptypes,9,ap->hardware)); + _printf(_("%-5ld"),read_timer(&ap->timer)/1000L); + if(ap->state == ARP_PENDING) + _printf(_("%-2u"),len_q(ap->pending)); + else + _printf(_(" ")); + if(ap->state == ARP_VALID){ + if(Arp_type[ap->hardware].format != 0){ + (*Arp_type[ap->hardware].format)(e,ap->hw_addr); + } else { + e[0] = '\0'; + } + _printf(_("%s"),e); + } else { + _printf(_("[unknown]")); + } + if(ap->pub) + _printf(_(" (published)")); + _printf(_("\n")); + } + } +} diff --git a/src/nos/internet/arphdr.i b/src/nos/internet/arphdr.i new file mode 100644 index 00000000..b16d3ec1 --- /dev/null +++ b/src/nos/internet/arphdr.i @@ -0,0 +1,2388 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + +enum arp_opcode { + ARP_REQUEST=1, + ARP_REPLY, + REVARP_REQUEST, + REVARP_REPLY +}; + +enum arp_hwtype { + ARP_NETROM=0, + ARP_ETHER, + ARP_EETHER, + ARP_AX25, + ARP_PRONET, + ARP_CHAOS, + ARP_IEEE802, + ARP_ARCNET, + ARP_APPLETALK +}; +extern char *Arptypes[]; + + + +struct arp_type { + uint16 hwalen; + uint16 iptype; + uint16 arptype; + uint16 pendtime; + uint8 *bdcst; + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + +}; +extern struct arp_type Arp_type[]; + + +struct arp { + enum arp_hwtype hardware; + uint16 protocol; + uint8 hwalen; + uint8 pralen; + enum arp_opcode opcode; + uint8 shwaddr[20 ]; + int32 sprotaddr; + uint8 thwaddr[20 ]; + int32 tprotaddr; +}; + + +struct arp_tab { + struct arp_tab *next; + struct arp_tab *prev; + struct timer timer; + struct mbuf *pending; + int32 ip_addr; + enum arp_hwtype hardware; + enum { + ARP_PENDING, + ARP_VALID + } state; + uint8 *hw_addr; + unsigned int pub:1; +}; +extern struct arp_tab *Arp_tab[]; + +struct arp_stat { + unsigned recv; + unsigned badtype; + unsigned badlen; + unsigned badaddr; + unsigned inreq; + unsigned replies; + unsigned outreq; +}; +extern struct arp_stat Arp_stat; + + +struct arp_tab *arp_add(int32 ipaddr,enum arp_hwtype hardware,uint8 *hw_addr, + int pub); +void arp_drop(void *p); +int arp_init(unsigned int hwtype,int hwalen,int iptype,int arptype, + int pendtime,uint8 *bdcst,char *(*format)(char *,uint8 *), + int (*scan)(uint8 *,char *) ); +void arp_input(struct iface *iface,struct mbuf **bpp); +struct arp_tab *arp_lookup(enum arp_hwtype hardware,int32 ipaddr); +uint8 *res_arp(struct iface *iface,enum arp_hwtype hardware,int32 target,struct mbuf **bpp); + + +struct mbuf *htonarp(struct arp *arp); +int ntoharp(struct arp *arp,struct mbuf **bpp); + + + + +struct mbuf * +htonarp(arp) +register struct arp *arp; +{ + struct mbuf *bp; + register uint8 *buf; + + if(arp == (struct arp *)0) + return 0; + + bp = ambufw(16 + 2 * arp->hwalen); + buf = bp->data; + + buf = put16(buf,arp->hardware); + buf = put16(buf,arp->protocol); + *buf++ = arp->hwalen; + *buf++ = arp->pralen; + buf = put16(buf,arp->opcode); + memcpy(buf,arp->shwaddr,(uint16)arp->hwalen); + buf += arp->hwalen; + buf = put32(buf,arp->sprotaddr); + memcpy(buf,arp->thwaddr,(uint16)arp->hwalen); + buf += arp->hwalen; + buf = put32(buf,arp->tprotaddr); + + bp->cnt = buf - bp->data; + return bp; +} + +int +ntoharp( +struct arp *arp, +struct mbuf **bpp +){ + if(arp == (struct arp *)0 || bpp == 0) + return -1; + + arp->hardware = pull16(bpp); + arp->protocol = pull16(bpp); + arp->hwalen = pull8(((bpp))); + arp->pralen = pull8(((bpp))); + arp->opcode = pull16(bpp); + pullup(bpp,arp->shwaddr,(uint16)arp->hwalen); + arp->sprotaddr = pull32(bpp); + pullup(bpp,arp->thwaddr,(uint16)arp->hwalen); + arp->tprotaddr = pull32(bpp); + + + free_p(bpp); + return 0; +} + diff --git a/src/nos/internet/domain.i b/src/nos/internet/domain.i new file mode 100644 index 00000000..1310242d --- /dev/null +++ b/src/nos/internet/domain.i @@ -0,0 +1,5904 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int sys_nerr; + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *strerror (int _errno); + + + + + + + + + + + +extern unsigned char __ctype[]; + + + + + + + + + + + + +extern int toupper (int); +extern int tolower (int); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long clock_t; + + +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +}; + +struct timezone { + int tz_minuteswest; + int tz_dsttime; +}; + + + + +extern char *tzname[2]; +extern int daylight; +extern long timezone; + +extern long clock (void); +extern time_t mktime (struct tm * __tp); +extern long difftime (time_t *__time2, time_t *__time1); + +extern time_t time (time_t *tvec); + +extern void __tm_conv (struct tm *tmbuf, time_t *t, int offset); +extern void __asctime (char *, struct tm *); +extern char *asctime (struct tm * __tp); +extern char *ctime (time_t * __tp); +extern void tzset (void); + +extern struct tm *gmtime (time_t *__tp); +extern struct tm *localtime (time_t * __tp); +extern unsigned long convtime (time_t *time_field); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + + + + + + + + + + +enum ftp_type { + ASCII_TYPE, + IMAGE_TYPE, + LOGICAL_TYPE +}; + + +enum verb_level { + V_QUIET, + V_SHORT, + V_NORMAL, + V_HASH, + V_STAT +}; + +long sendfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +long recvfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +int isbinary(FILE *fp); +int md5hash(FILE *fp,uint8 hash[16],int ascii); + + + + + + + + + + + +struct ftpcli { + FILE *control; + FILE *data; + + char state; + + + + + uint16 verbose; + int batch; + int abort; + int update; + char type; + char typesent; + int logbsize; + FILE *fp; + + char buf[256 ]; + char line[256 ]; + struct session *session; +}; + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + +struct telnet { + char local[6]; + char remote[6]; + struct session *session; + char eolmode; +}; + +extern int Refuse_echo; +extern int Tn_cr_mode; + + +int tel_connect(struct session *sp,struct sockaddr *fsocket,int len); +void tel_output(int unused,void *p1,void *p2); +void tnrecv(struct telnet *tn); +void doopt(struct telnet *tn,int opt); +void dontopt(struct telnet *tn,int opt); +void willopt(struct telnet *tn,int opt); +void wontopt(struct telnet *tn,int opt); +void answer(struct telnet *tn,int r1,int r2); + + +void ttylhandle(int s,void *unused,void *p); + + + + +struct ttystate { + uint8 *line; + uint8 *lp; + unsigned int echo:1; + unsigned int edit:1; + unsigned int crnl:1; +}; + + +struct session { + unsigned strchr; + enum { + TELNET, + FTP, + AX25TNC, + FINGER, + PING, + NRSESSION, + COMMAND, + VIEW, + HOP, + TIP, + PPPPASS, + DIAL, + DQUERY, + DCLIST, + ITRACE, + REPEAT, + FAX + } type; + + char *name; + union { + struct ftpcli *ftp; + struct telnet *telnet; + void *p; + } cb; + struct proc *proc; + struct proc *proc1; + struct proc *proc2; + FILE *network; + FILE *record; + FILE *upload; + struct ttystate ttystate; + FILE *input; + FILE *output; + int (*ctlproc)(int); + int (*inproc)(int); + struct session *parent; + enum { + SCROLL_INBAND, + SCROLL_LOCAL + } scrollmode; +}; +extern char *Sestypes[]; +extern unsigned Nsessions; +extern long Sfsize; + +extern struct session *Sessions[]; + + + +extern struct session *Current; +extern struct session *Lastcurr; +extern struct session *Command; +extern char *Cmdline; + + +void freesession(struct session *sp); +int keywait(char *prompt,int flush); +struct session *sessptr(char *cp); +struct session *newsession(char *name,int type,int makecur); +void sesflush(void); +void upload(int unused,void *sp1,void *p); + +extern uint16 Lport; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + + + + + +struct cmds { + _char *name; + int (*func)(int argc,char *argv[],void *p); + + int stksize; + int argcmin; + _char *argc_errmsg; +}; +extern struct cmds Cmds[],Startcmds[],Stopcmds[],Attab[]; + + +int cmdparse(struct cmds cmds[], char *line, void *p); +int subcmd(struct cmds tab[], int argc, char *argv[], void *p); +int setbool(int *var, _char *label, int argc, char *argv[]); +int bit16cmd(uint16 *bits, uint16 mask, _char *label, int argc, char *argv[]); +int setint(int *var, _char *label, int argc, char *argv[]); +int setlong(int32 *var, _char *label, int argc, char *argv[]); +int setshort(unsigned short *var, _char *label, int argc, char *argv[]); +int setuns(unsigned *var, _char *label, int argc, char *argv[]); + + + + + + +int doasystat(int argc,char *argv[],void *p); +int fp_attach (int argc,char *argv[],void *p); + + +int domem(int argc,char *argv[],void *p); + + +int doamiga(int argc,char *argv[],void *p); + + +int doarp(int argc,char *argv[],void *p); + + +int asy_attach(int argc,char *argv[],void *p); + + +int doax25(int argc,char *argv[],void *p); +int doaxheard(int argc,char *argv[],void *p); +int doaxdest(int argc,char *argv[],void *p); +int doconnect(int argc,char *argv[],void *p); + + +int dobootp(int argc,char *argv[],void *p); + + +int bootpdcmd(int argc,char *argv[],void *p); + + +int dodialer(int argc,char *argv[],void *p); + + +int docd(int argc,char *argv[],void *p); +int dodir(int argc,char *argv[],void *p); +int domkd(int argc,char *argv[],void *p); +int dormd(int argc,char *argv[],void *p); + + +int dodomain(int argc,char *argv[],void *p); + + +int dodrstat(int argc,char *argv[],void *p); +int dr_attach(int argc,char *argv[],void *p); +int dodr(int argc,char *argv[],void *p); + + +int eg_attach(int argc,char *argv[],void *p); +int doegstat(int argc,char *argv[],void *p); + + +int doetherstat(int argc,char *argv[],void *p); +int ec_attach(int argc,char *argv[],void *p); + + +int dofax(int argc,char *argv[],void *p); +int fax1(int argc,char *argv[],void *p); +int fax0(int argc,char *argv[],void *p); + + +int dofinger(int argc,char *argv[],void *p); + + +int finstart(int argc,char *argv[],void *p); +int fin0(int argc,char *argv[],void *p); + + +int doftp(int argc,char *argv[],void *p); +int doabort(int argc,char *argv[],void *p); + + +int ftpstart(int argc,char *argv[],void *p); +int ftp0(int argc,char *argv[],void *p); + + +int dohapnstat(int argc,char *argv[],void *p); +int hapn_attach(int argc,char *argv[],void *p); + + +int dohop(int argc,char *argv[],void *p); + + +int dohs(int argc,char *argv[],void *p); +int hs_attach(int argc,char *argv[],void *p); + + +int doicmp(int argc,char *argv[],void *p); + + +int doifconfig(int argc,char *argv[],void *p); +int dodetach(int argc,char *argv[],void *p); + + +int doip(int argc,char *argv[],void *p); +int doroute(int argc,char *argv[],void *p); + + +int dosec(int argc,char *argv[],void *p); + + +int doksp(int argc,char *argv[],void *p); + + +int ps(int argc,char *argv[],void *p); + + +int dolterm(int argc,char *argv[],void *p); + + +int dodelete(int argc,char *argv[],void *p); +int dorename(int argc,char *argv[],void *p); +int doexit(int argc,char *argv[],void *p); +int dohostname(int argc,char *argv[],void *p); +int dolog(int argc,char *argv[],void *p); +int dohelp(int argc,char *argv[],void *p); +int doattach(int argc,char *argv[],void *p); +int doparam(int argc,char *argv[],void *p); +int dopage(int argc,char *argv[],void *p); +int domode(int argc,char *argv[],void *p); +int donothing(int argc,char *argv[],void *p); +int donrstat(int argc,char *argv[],void *p); +int doescape(int argc,char *argv[],void *p); +int doremote(int argc,char *argv[],void *p); +int doboot(int argc,char *argv[],void *p); +int dorepeat(int argc,char *argv[],void *p); +int dostacktest(int argc,char *argv[],void *p); +int dosysdebug(int argc,char *argv[],void *p); +int dosystrace(int argc,char *argv[],void *p); +int dowipe(int argc,char *argv[],void *p); + + +int dombox(int argc,char *argv[],void *p); + + +int donntp(int argc,char *argv[],void *p); + + +int donetrom(int argc,char *argv[],void *p); +int nr_attach(int argc,char *argv[],void *p); + + +int doshell(int argc,char *argv[],void *p); +int doisat(int argc,char *argv[],void *p); + + +int pc_attach(int argc,char *argv[],void *p); + + +int pk_attach(int argc,char *argv[],void *p); + + +int pi_attach(int argc,char *argv[],void *p); +int dopistat(int argc,char *argv[],void *p); + + +int doping(int argc,char *argv[],void *p); + + +int dopop(int argc,char *argv[],void *p); + + +int pop1(int argc,char *argv[],void *p); +int pop0(int argc,char *argv[],void *p); + + +int doqtso(int argc,char *argv[],void *p); + + +int dorarp(int argc,char *argv[],void *p); + + +int dorip(int argc,char *argv[],void *p); + + +int doaddrefuse(int argc,char *argv[],void *p); +int dodroprefuse(int argc,char *argv[],void *p); +int dorip(int argc,char *argv[],void *p); +int doripadd(int argc,char *argv[],void *p); +int doripdrop(int argc,char *argv[],void *p); +int doripinit(int argc,char *argv[],void *p); +int doripmerge(int argc,char *argv[],void *p); +int doripreq(int argc,char *argv[],void *p); +int doripstat(int argc,char *argv[],void *p); +int doripstop(int argc,char *argv[],void *p); +int doriptrace(int argc,char *argv[],void *p); + + +int dosound(int argc,char *argv[],void *p); + + +int escc_attach(int argc,char *argv[],void *p); +int doesccstat(int argc,char *argv[],void *p); + + +int dosession(int argc,char *argv[],void *p); +int go(int argc,char *argv[],void *p); +int doclose(int argc,char *argv[],void *p); +int doreset(int argc,char *argv[],void *p); +int dokick(int argc,char *argv[],void *p); +int dorecord(int argc,char *argv[],void *p); +int dosfsize(int argc,char *argv[],void *p); +int doupload(int argc,char *argv[],void *p); + + +int dis1(int argc,char *argv[],void *p); +int dis0(int argc,char *argv[],void *p); +int echo1(int argc,char *argv[],void *p); +int echo0(int argc,char *argv[],void *p); +int rem1(int argc,char *argv[],void *p); +int rem0(int argc,char *argv[],void *p); +int term1(int argc,char *argv[],void *p); +int term0(int argc,char *argv[],void *p); +int bsr1(int argc,char *argv[],void *p); +int bsr0(int argc,char *argv[],void *p); + + +int dosmtp(int argc,char *argv[],void *p); + + +int smtp1(int argc,char *argv[],void *p); +int smtp0(int argc,char *argv[],void *p); + + +int dosock(int argc,char *argv[],void *p); + + +int dofiles(int argc,char *argv[],void *p); + + +int doswatch(int argc,char *argv[],void *p); + + +int dotcp(int argc,char *argv[],void *p); + + +int doecho(int argc,char *argv[],void *p); +int doeol(int argc,char *argv[],void *p); +int dotelnet(int argc,char *argv[],void *p); +int dotopt(int argc,char *argv[],void *p); + + +int dotip(int argc,char *argv[],void *p); + + +int ttylstart(int argc,char *argv[],void *p); +int ttyl0(int argc,char *argv[],void *p); + + +int dotrace(int argc,char *argv[],void *p); + + +int doudp(int argc,char *argv[],void *p); + + +int doview(int argc,char *argv[],void *p); +void view(int,void *,void *); + + + + + + + + + + + + + + + + + + + + + +extern char *Startup; +extern char *Userfile; +extern char *Maillog; +extern char *Mailspool; +extern char *Mailqdir; +extern char *Mailqueue; +extern char *Routeqdir; +extern char *Alias; +extern char *Dfile; +extern char *Fdir; +extern char *Arealist; +extern char *Helpdir; +extern char *Rewritefile; +extern char *Newsdir; +extern char *Popusers; +extern char *Signature; +extern char *Forwardfile; +extern char *Historyfile; + +void initroot(char *root); +char *rootdircat(char *filename); +int userlogin(char *name,char *pass,char **path,int len,int *pwdignore); +char *userlookup(char *username, char **password, char **directory, + int *permission, int32 *ip_address); +void usercvt(void); + + + + + + + + + +extern char Badhost[]; +extern char *Hostname; +extern char Nospace[]; + +extern struct proc *Cmdpp; +extern struct proc *Display; +extern int main_exit; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct dserver { + struct dserver *prev; + struct dserver *next; + + int32 address; + int32 timeout; + int32 srtt; + int32 mdev; + int32 queries; + int32 responses; +}; +extern struct dserver *Dlist; +extern int Dsocket; + + + + + + + + +struct dhdr { + uint16 id; + uint8 qr; + + + uint8 opcode; + + uint8 aa; + uint8 tc; + uint8 rd; + uint8 ra; + uint8 rcode; + + + + + + + uint16 qdcount; + uint16 ancount; + uint16 nscount; + uint16 arcount; + struct rr *questions; + struct rr *answers; + struct rr *authority; + struct rr *additional; +}; + +struct mx { + uint16 pref; + char *exch; +}; + +struct hinfo { + char *cpu; + char *os; +}; + +struct soa { + char *mname; + char *rname; + int32 serial; + int32 refresh; + int32 retry; + int32 expire; + int32 minimum; +}; + +struct rr { + struct rr *last; + struct rr *next; + uint8 source; + + + + + + + + + + char *comment; + char *name; + int32 ttl; + + uint16 class; + + uint16 type; + + uint16 rdlength; + union { + int32 addr; + struct soa soa; + struct mx mx; + struct hinfo hinfo; + char *name; + char *data; + } rdata; +}; +extern struct proc *Dfile_updater; + + +int add_nameserver(int32 address); +void free_rr(struct rr *rrlp); +struct rr *inverse_a(int32 ip_address); +struct rr *resolve_rr(char *dname,uint16 dtype); +char *resolve_a(int32 ip_address, int shorten); +struct rr *resolve_mailb(char *name); + + +int ntohdomain(struct dhdr *dhdr,struct mbuf **bpp); + + + + + + + + + + + + + + +void logmsg(int s, _char *fmt, ...); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +static struct rr *Dcache = 0; + + +static int Dcache_size = 20; + + +static time_t Dcache_time = 0L; + + + +static int Dfile_clean = 0; + + +static int Dfile_reading = 0; + + +static int Dfile_writing = 0; + + + +struct proc *Dfile_updater = 0; + + +static int32 Dfile_wait_absolute = 0L; + + +static int Dfile_wait_relative = 300; + + + +static struct dserver *Dservers = 0; + + +static int Dserver_retries = 2; + + + +static char *Dsuffix = 0; + + +static int Dtrace = 0; + + +static char *Dtypes[] = { + "", + "A", + "NS", + "MD", + "MF", + "CNAME", + "SOA", + "MB", + "MG", + "MR", + "NULL", + "WKS", + "PTR", + "HINFO", + "MINFO", + "MX", + "TXT" +}; + + +static int Ndtypes = 17; + + +static char delim[] = " \t\r\n"; + + +static int docache(int argc,char *argv[],void *p); +static int dosuffix(int argc,char *argv[],void *p); + +static int docacheclean(int argc,char *argv[],void *p); +static int docachelist(int argc,char *argv[],void *p); +static int docachesize(int argc,char *argv[],void *p); +static int docachewait(int argc,char *argv[],void *p); + +static void dlist_add(struct dserver *dp); +static void dlist_drop(struct dserver *dp); +static int dodnsadd(int argc,char *argv[],void *p); +static int dodnsdrop(int argc,char *argv[],void *p); +static int dodnslist(int argc,char *argv[],void *p); +static int dodnsquery(int argc,char *argv[],void *p); +static int dodnsretry(int argc,char *argv[],void *p); +static int dodnstrace(int argc,char *argv[],void *p); + +static char * dtype(int value); +static int check_ttl(struct rr *rrlp); +static int compare_rr(struct rr *search_rrp,struct rr *target_rrp); +static int compare_rr_list(struct rr *rrlp,struct rr *target_rrp); +static struct rr *copy_rr(struct rr *rrp); +static struct rr *copy_rr_list(struct rr *rrlp); +static struct rr *make_rr(int source, + char *dname,uint16 class,uint16 type,int32 ttl,uint16 rdl,void *data); + +static void dcache_add(struct rr *rrlp); +static void dcache_drop(struct rr *rrp); +static struct rr *dcache_search(struct rr *rrlp); +static void dcache_update(struct rr *rrlp); + +static struct rr *get_rr(FILE *fp, struct rr *lastrrp); +static void put_rr(FILE *fp,struct rr *rrp); +static struct rr *dfile_search(struct rr *rrlp); +static void dfile_update(int s,void *unused,void *p); + +static void dumpdomain(struct dhdr *dhp,int32 rtt); +static int dns_makequery(uint16 op,struct rr *rrp, + uint8 *buffer,uint16 buflen); +static int dns_query(struct rr *rrlp); + +static int isaddr(char *s); +static char *checksuffix(char *dname); +static struct rr *resolver(struct rr *rrlp); + + + + + + + +static struct cmds Dcmds[] = { + N_("addserver"), dodnsadd, 0, 2, N_("add "), + N_("dropserver"), dodnsdrop, 0, 2, N_("drop "), + N_("list"), dodnslist, 0, 0, 0, + N_("query"), dodnsquery, 512, 2, N_("query "), + N_("retry"), dodnsretry, 0, 0, 0, + N_("suffix"), dosuffix, 0, 0, 0, + N_("trace"), dodnstrace, 0, 0, 0, + N_("cache"), docache, 0, 0, 0, + 0, +}; + + + +static struct cmds Dcachecmds[] = { + N_("clean"), docacheclean, 0, 0, 0, + N_("list"), docachelist, 512, 0, 0, + N_("size"), docachesize, 0, 0, 0, + N_("wait"), docachewait, 0, 0, 0, + 0, +}; + + + +int +dodomain(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return subcmd(Dcmds,argc,argv,p); +} + + + +static int +docache(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return subcmd(Dcachecmds,argc,argv,p); +} + + + +static int +dosuffix(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + if(argc < 2){ + if(Dsuffix != 0) + _printf(_("%s\n"),Dsuffix); + return 0; + } + free(Dsuffix); + Dsuffix = strdupw(argv[1]); + return 0; +} + + + +static int +docacheclean(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setbool(&Dfile_clean, _("discard expired records"), argc, argv); +} + + + +static int +docachelist(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct rr *rrp; + struct session *sp; + int row = 25; + + if((sp = newsession(Cmdline,DCLIST,1)) == 0){ + return -1; + } + + (void)dcache_search(0); + + + sp->ttystate.echo = sp->ttystate.edit = 0; + + for(rrp=Dcache;rrp!=0;rrp=rrp->next) + { + put_rr(Curproc->output,rrp); + if(--row == 0){ + row = keywait("--More--",0); + switch(row){ + case -1: + case 'q': + case 'Q': + rrp = 0; + break; + case '\n': + case '\r': + row = 1; + break; + case ' ': + default: + row = 25; + }; + } + } + fflush(Curproc->output); + keywait(0,1); + freesession(sp); + return 0; +} + + + +static int +docachesize(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + int newsize; + int oldsize; + int result; + + newsize = oldsize = Dcache_size; + result = setint(&newsize, _("memory cache size"), argc, argv); + + if(newsize > 0){ + Dcache_size = newsize; + if(newsize < oldsize){ + (void)dcache_search(0); + } + } + return result; +} + + + +static int +docachewait(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setint(&Dfile_wait_relative, + _("time before file update (seconds)"), argc,argv ); +} + + + +static void +dlist_add(dp) +register struct dserver *dp; +{ + dp->prev = 0; + dp->next = Dservers; + if(Dservers != 0) + Dservers->prev = dp; + Dservers = dp; +} + + + +static void +dlist_drop(dp) +register struct dserver *dp; +{ + if(dp->prev != 0) + dp->prev->next = dp->next; + else + Dservers = dp->next; + if(dp->next != 0) + dp->next->prev = dp->prev; +} + + + +static int +dodnsadd(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + int32 address; + + if((address = resolve(argv[1])) == 0L){ + _printf(_("Resolver %s unknown\n"),argv[1]); + return 1; + } + return add_nameserver(address); +} + + + +int +add_nameserver(address) +int32 address; +{ + struct dserver *dp; + + dp = (struct dserver *)callocw(1,sizeof(struct dserver)); + dp->address = address; + dp->srtt = 2000L ; + dp->mdev = 0; + dp->timeout = 2 * dp->mdev + dp->srtt + 3; + dlist_add(dp); + return 0; +} + + + +static int +dodnsdrop(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct dserver *dp; + int32 addr; + + addr = resolve(argv[1]); + for(dp = Dservers;dp != 0;dp = dp->next) + if(addr == dp->address) + break; + + if(dp == 0){ + _printf(_("Not found\n")); + return 1; + } + + dlist_drop(dp); + free(dp); + return 0; +} + + + +static int +dodnslist(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct dserver *dp; + + _printf(_("Server address srtt mdev timeout queries responses\n")); + for(dp = Dservers;dp != 0;dp = dp->next){ + _printf(_("%-20s%8lu%8lu%10lu%10lu%10lu\n"), + inet_ntoa(dp->address), + dp->srtt,dp->mdev,dp->timeout, + dp->queries,dp->responses); + } + return 0; +} + + + +static int +dodnsquery(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct rr *rrp; + struct rr *result_rrlp; + char *sname; + struct session *sp; + int row = 25; + + if((sp = newsession(Cmdline,DQUERY,1)) == 0){ + return -1; + } + + if ( isaddr( argv[1] ) ) { + result_rrlp = inverse_a( aton( argv[1] ) ); + } else { + sname = checksuffix( argv[1] ); + rrp = make_rr(8 ,sname,1 ,255 ,0,0,0); + {free(sname); sname = 0;}; + + dns_query(rrp); + result_rrlp = dcache_search(rrp); + free_rr(rrp); + } + + + sp->ttystate.echo = sp->ttystate.edit = 0; + + for( rrp=result_rrlp; rrp!=0; rrp=rrp->next) + { + put_rr(Curproc->output,rrp); + if(--row == 0){ + row = keywait("--More--",0); + switch(row){ + case -1: + case 'q': + case 'Q': + rrp = 0; + break; + case '\n': + case '\r': + row = 1; + break; + case ' ': + default: + row = 25; + }; + } + } + fflush(Curproc->output); + free_rr(result_rrlp); + keywait(0,1); + freesession(sp); + return 0; +} + + + +static int +dodnsretry(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setint(&Dserver_retries, _("server retries"), argc, argv); +} + + + +static int +dodnstrace(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setbool(&Dtrace, _("server trace"), argc, argv); +} + + + + + + + + +static char * +dtype(value) +int value; +{ + static char buf[10]; + + if (value < Ndtypes) + return Dtypes[value]; + + sprintf( buf, "{%d}", value); + return buf; +} + + + + + + +static int +check_ttl(rrlp) +register struct rr *rrlp; +{ + int count = 0; + + while(rrlp != 0){ + if(rrlp->ttl == 0L) + count++; + rrlp = rrlp->next; + } + return count; +} + + + + + + + +static int +compare_rr(search_rrp,target_rrp) +register struct rr *search_rrp,*target_rrp; +{ + int i; + + if(search_rrp == 0 || target_rrp == 0) + return -32765; + + if(search_rrp->class != target_rrp->class) + return -32763; + + if(search_rrp->type != 255 + && search_rrp->type != target_rrp->type + && (search_rrp->source != 8 + || (target_rrp->type != 5 + && target_rrp->type != 12 ))) + return -32761; + + if(search_rrp->source != 9 ){ + if((i = strlen(search_rrp->name)) != strlen(target_rrp->name)) + return -32759; + if((i = strnicmp(search_rrp->name,target_rrp->name,i)) != 0) + return i; + + + if(target_rrp->rdlength == 0) + return 0; + } + + + if(search_rrp->source == 8 ) + return 0; + + + if(search_rrp->rdlength == 0) + return -32757; + + + if(search_rrp->source != 9 ){ + if(target_rrp->ttl == 0L) + return 0; + } + + + + + + + switch(search_rrp->type){ + case 1 : + i = search_rrp->rdata.addr != target_rrp->rdata.addr; + break; + case 5 : + case 7 : + case 8 : + case 9 : + case 2 : + case 12 : + case 16 : + i = stricmp(search_rrp->rdata.data,target_rrp->rdata.data); + break; + case 13 : + i = strcmp(search_rrp->rdata.hinfo.cpu,target_rrp->rdata.hinfo.cpu) || + strcmp(search_rrp->rdata.hinfo.os,target_rrp->rdata.hinfo.os); + break; + case 15 : + i = stricmp(search_rrp->rdata.mx.exch,target_rrp->rdata.mx.exch); + break; + case 6 : + i = search_rrp->rdata.soa.serial != target_rrp->rdata.soa.serial; + break; + default: + i = -32755; + } + return i; +} + + + +static int +compare_rr_list(rrlp,target_rrp) +register struct rr *rrlp,*target_rrp; +{ + while(rrlp != 0){ + if(compare_rr(rrlp,target_rrp) == 0) + return 0; + + + + + + + rrlp = rrlp->next; + } + return -32767; +} + + + + + +static struct rr * +copy_rr(rrp) +register struct rr *rrp; +{ + register struct rr *newrr; + + if(rrp == 0) + return 0; + + newrr = (struct rr *)callocw(1,sizeof(struct rr)); + newrr->source = rrp->source; + newrr->name = strdupw(rrp->name); + newrr->type = rrp->type; + newrr->class = rrp->class; + newrr->ttl = rrp->ttl; + if((newrr->rdlength = rrp->rdlength) == 0) + return newrr; + + switch(rrp->type){ + case 1 : + newrr->rdata.addr = rrp->rdata.addr; + break; + case 5 : + case 7 : + case 8 : + case 9 : + case 2 : + case 12 : + case 16 : + newrr->rdata.name = strdupw(rrp->rdata.name); + break; + case 13 : + newrr->rdata.hinfo.cpu = strdupw(rrp->rdata.hinfo.cpu); + newrr->rdata.hinfo.os = strdupw(rrp->rdata.hinfo.os); + break; + case 15 : + newrr->rdata.mx.pref = rrp->rdata.mx.pref; + newrr->rdata.mx.exch = strdupw(rrp->rdata.mx.exch); + break; + case 6 : + newrr->rdata.soa.mname = strdupw(rrp->rdata.soa.mname); + newrr->rdata.soa.rname = strdupw(rrp->rdata.soa.rname); + newrr->rdata.soa.serial = rrp->rdata.soa.serial; + newrr->rdata.soa.refresh = rrp->rdata.soa.refresh; + newrr->rdata.soa.retry = rrp->rdata.soa.retry; + newrr->rdata.soa.expire = rrp->rdata.soa.expire; + newrr->rdata.soa.minimum = rrp->rdata.soa.minimum; + break; + } + return newrr; +} + + + +static struct rr * +copy_rr_list(rrlp) +register struct rr *rrlp; +{ + register struct rr **rrpp; + struct rr *result_rrlp; + + rrpp = &result_rrlp; + while(rrlp != 0){ + *rrpp = copy_rr(rrlp); + rrpp = &(*rrpp)->next; + rrlp = rrlp->next; + } + *rrpp = 0; + return result_rrlp; +} + + + + + +void +free_rr(rrlp) +register struct rr *rrlp; +{ + register struct rr *rrp; + + while((rrp = rrlp) != 0){ + rrlp = rrlp->next; + + free(rrp->comment); + free(rrp->name); + if(rrp->rdlength > 0){ + switch(rrp->type){ + case 1 : + break; + case 5 : + case 7 : + case 8 : + case 9 : + case 2 : + case 12 : + case 16 : + free(rrp->rdata.name); + break; + case 13 : + free(rrp->rdata.hinfo.cpu); + free(rrp->rdata.hinfo.os); + break; + case 15 : + free(rrp->rdata.mx.exch); + break; + case 6 : + free(rrp->rdata.soa.mname); + free(rrp->rdata.soa.rname); + break; + } + } + free(rrp); + } +} + + + +static struct rr * +make_rr(source,dname,dclass,dtype,ttl,rdl,data) +int source; +char *dname; +uint16 dclass; +uint16 dtype; +int32 ttl; +uint16 rdl; +void *data; +{ + register struct rr *newrr; + + newrr = (struct rr *)callocw(1,sizeof(struct rr)); + newrr->source = source; + newrr->name = strdupw(dname); + newrr->class = dclass; + newrr->type = dtype; + newrr->ttl = ttl; + if((newrr->rdlength = rdl) == 0) + return newrr; + + switch(dtype){ + case 1 : + { + register int32 *ap = (int32 *)data; + newrr->rdata.addr = *ap; + break; + } + case 5 : + case 7 : + case 8 : + case 9 : + case 2 : + case 12 : + case 16 : + { + newrr->rdata.name = strdupw((char *)data); + break; + } + case 13 : + { + register struct hinfo *hinfop = (struct hinfo *)data; + newrr->rdata.hinfo.cpu = strdupw(hinfop->cpu); + newrr->rdata.hinfo.os = strdupw(hinfop->os); + break; + } + case 15 : + { + register struct mx *mxp = (struct mx *)data; + newrr->rdata.mx.pref = mxp->pref; + newrr->rdata.mx.exch = strdupw(mxp->exch); + break; + } + case 6 : + { + register struct soa *soap = (struct soa *)data; + newrr->rdata.soa.mname = strdupw(soap->mname); + newrr->rdata.soa.rname = strdupw(soap->rname); + newrr->rdata.soa.serial = soap->serial; + newrr->rdata.soa.refresh = soap->refresh; + newrr->rdata.soa.retry = soap->retry; + newrr->rdata.soa.expire = soap->expire; + newrr->rdata.soa.minimum = soap->minimum; + break; + } + } + return newrr; +} + + + + + + + + +static void +dcache_add(rrlp) +register struct rr *rrlp; +{ + register struct rr *last_rrp; + struct rr *save_rrp; + + if(rrlp == 0) + return; + + save_rrp = rrlp; + last_rrp = 0; + while(rrlp != 0){ + rrlp->last = last_rrp; + last_rrp = rrlp; + rrlp = rrlp->next; + } + last_rrp->next = Dcache; + if(Dcache != 0) + Dcache->last = last_rrp; + Dcache = save_rrp; +} + + + +static void +dcache_drop(rrp) +register struct rr *rrp; +{ + if(rrp->last != 0) + rrp->last->next = rrp->next; + else + Dcache = rrp->next; + if(rrp->next != 0) + rrp->next->last = rrp->last; + rrp->last = + rrp->next = 0; +} + + + + + + + + + + +static struct rr * +dcache_search(rrlp) +struct rr *rrlp; +{ + register struct rr *rrp, *test_rrp; + struct rr **rrpp, *result_rrlp; + int32 elapsed; + time_t now; + int count = 0; + + + + + + + + elapsed = (int32)(time(&now) - Dcache_time); + Dcache_time = now; + + rrpp = &result_rrlp; + for(rrp = Dcache; (test_rrp = rrp) != 0;){ + rrp = rrp->next; + + if(test_rrp->ttl > 0L + && (test_rrp->ttl -= elapsed) <= 0L) + test_rrp->ttl = 0L; + + if(compare_rr_list(rrlp,test_rrp) == 0){ + dcache_drop( *rrpp = test_rrp ); + rrpp = &(*rrpp)->next; + } else if(test_rrp->source == 1 && ++count > Dcache_size){ + dcache_drop(test_rrp); + free_rr(test_rrp); + } + } + *rrpp = 0; + return result_rrlp; +} + + + + + +static void +dcache_update(rrlp) +register struct rr *rrlp; +{ + if(rrlp == 0) + return; + + free_rr(dcache_search(rrlp)); + dcache_add(rrlp); +} + + + + + + + + +static struct rr * +get_rr(fp,lastrrp) +FILE *fp; +struct rr *lastrrp; +{ + char *line,*lp,*strtok(); + struct rr *rrp; + char *name,*ttl,*class,*type,*data; + int i; + + line = mallocw(256); + if(fgets(line,256,fp) == 0){ + free(line); + return 0; + } + + rrp = (struct rr *)callocw(1,sizeof(struct rr)); + rrp->source = 1 ; + + if(line[0] == '\0' || line[0] == '#' || line[0] == ';'){ + rrp->comment = line; + return rrp; + } + + if(!(!!((__ctype[(unsigned char)(line[0])])&0x10 )) || lastrrp == 0){ + name = strtok(line,delim); + lp = 0; + } else { + name = lastrrp->name; + lp = line; + } + if(name == 0 || (i = strlen(name)) == 0){ + rrp->comment = strdupw("\n"); + free(line); + return rrp; + } + + if(name[i-1] != '.'){ + + + rrp->name = mallocw(i+2); + strcpy(rrp->name,name); + strcat(rrp->name,"."); + } else + rrp->name = strdupw(name); + + ttl = strtok(lp,delim); + + if(ttl == 0 || (!(!!((__ctype[(unsigned char)(ttl[0])])&0x08 )) && ttl[0] != '-')){ + + rrp->ttl = 0x80000000L; + class = ttl; + } else { + rrp->ttl = atol(ttl); + class = strtok(0,delim); + } + + if(class == 0){ + + rrp->class = 0; + type = class; + } else if(class[0] == '<'){ + rrp->class = atoi(&class[1]); + type = strtok(0,delim); + } else if(stricmp(class,"IN") == 0){ + rrp->class = 1 ; + type = strtok(0,delim); + } else { + + rrp->class = 1 ; + type = class; + } + + if(type == 0){ + + rrp->type = 0; + data = type; + } else if(type[0] == '{'){ + rrp->type = atoi(&class[1]); + data = strtok(0,delim); + } else { + rrp->type = 0; + for(i=1;itype = i; + data = strtok(0,delim); + break; + } + } + } + + if(rrp->type == 0){ + data = 0; + } + + if(data == 0){ + + free(line); + return rrp; + } + switch(rrp->type){ + case 1 : + rrp->rdlength = 4; + rrp->rdata.addr = aton(data); + break; + case 5 : + case 7 : + case 8 : + case 9 : + case 2 : + case 12 : + case 16 : + rrp->rdlength = strlen(data); + rrp->rdata.name = strdupw(data); + break; + case 13 : + rrp->rdlength = strlen(data); + rrp->rdata.hinfo.cpu = strdupw(data); + if((data = strtok(0,delim)) != 0){ + rrp->rdlength += strlen(data); + rrp->rdata.hinfo.os = strdupw(data); + } + break; + case 15 : + rrp->rdata.mx.pref = atoi(data); + rrp->rdlength = 2; + + + if((data = strtok(0,delim)) != 0){ + rrp->rdlength += strlen(data); + rrp->rdata.mx.exch = strdupw(data); + } + break; + case 6 : + + rrp->rdlength = strlen(data); + rrp->rdata.soa.mname = strdupw(data); + + + if((data = strtok(0,delim)) != 0){ + rrp->rdata.soa.rname = strdupw(data); + rrp->rdlength += strlen(data); + } + data = strtok(0,delim); + rrp->rdata.soa.serial = atol(data); + data = strtok(0,delim); + rrp->rdata.soa.refresh = atol(data); + data = strtok(0,delim); + rrp->rdata.soa.retry = atol(data); + data = strtok(0,delim); + rrp->rdata.soa.expire = atol(data); + data = strtok(0,delim); + rrp->rdata.soa.minimum = atol(data); + rrp->rdlength += 20; + break; + } + + + free(line); + return rrp; +} + + + + + +static void +put_rr(fp,rrp) +FILE *fp; +struct rr *rrp; +{ + char * stuff; + + if(fp == 0 || rrp == 0) + return; + + if(rrp->name == 0 && rrp->comment != 0){ + _fprintf(fp, _("%s"),rrp->comment); + return; + } + + _fprintf(fp, _("%s"),rrp->name); + if(rrp->ttl != 0x80000000L) + _fprintf(fp, _("\t%ld"),rrp->ttl); + if(rrp->class == 1 ) + _fprintf(fp, _("\tIN")); + else + _fprintf(fp, _("\t<%u>"),rrp->class); + + stuff = dtype(rrp->type); + _fprintf(fp, _("\t%s"),stuff); + if(rrp->rdlength == 0){ + + + + _fprintf(fp, _("\n")); + return; + } + switch(rrp->type){ + case 1 : + _fprintf(fp, _("\t%s\n"),inet_ntoa(rrp->rdata.addr)); + break; + case 5 : + case 7 : + case 8 : + case 9 : + case 2 : + case 12 : + case 16 : + + _fprintf(fp, _("\t%s\n"),rrp->rdata.data); + break; + case 13 : + _fprintf(fp, _("\t%s\t%s\n"), + rrp->rdata.hinfo.cpu, + rrp->rdata.hinfo.os); + break; + case 15 : + _fprintf(fp, _("\t%u\t%s\n"), + rrp->rdata.mx.pref, + rrp->rdata.mx.exch); + break; + case 6 : + _fprintf(fp, _("\t%s\t%s\t%lu\t%lu\t%lu\t%lu\t%lu\n"), + rrp->rdata.soa.mname,rrp->rdata.soa.rname, + rrp->rdata.soa.serial,rrp->rdata.soa.refresh, + rrp->rdata.soa.retry,rrp->rdata.soa.expire, + rrp->rdata.soa.minimum); + break; + default: + _fprintf(fp, _("\n")); + break; + } +} + + + + + + + +static struct rr * +dfile_search(rrlp) +struct rr *rrlp; +{ + register struct rr *frrp; + struct rr **rrpp, *result_rrlp, *oldrrp; + int32 elapsed; + FILE *dbase; + struct stat dstat; + + + + + + + + while(Dfile_writing > 0) + kwait(&Dfile_reading); + Dfile_reading++; + + if((dbase = (freopen((Dfile),("rt" ),0))) == 0){ + Dfile_reading--; + return 0; + } + if(fstat(((dbase) != 0 ? (dbase)->fd : -1),&dstat) != 0){ + _printf(_("dfile_search: can't get file status\n")); + fclose(dbase); + Dfile_reading--; + return 0; + } + if((elapsed = (int32)(Dcache_time - (time_t)dstat.st_ctime)) < 0L) + elapsed = -elapsed; + + result_rrlp = 0; + oldrrp = 0; + rrpp = &result_rrlp; + while((frrp = get_rr(dbase,oldrrp)) != 0){ + free_rr(oldrrp); + if(frrp->type != 0 + && frrp->rdlength > 0 + && compare_rr_list(rrlp,frrp) == 0){ + if(frrp->ttl > 0L + && (frrp->ttl -= elapsed) <= 0L) + frrp->ttl = 0L; + *rrpp = frrp; + rrpp = &(*rrpp)->next; + oldrrp = copy_rr(frrp); + } else { + oldrrp = frrp; + + + + + + + if(rrlp->type != 255 + && rrlp->next == 0 + && result_rrlp != 0) + break; + } + if(!main_exit) + kwait(0); + } + free_rr(oldrrp); + *rrpp = 0; + + fclose(dbase); + + if(--Dfile_reading <= 0){ + Dfile_reading = 0; + ksignal(&Dfile_writing,0); + } + + return result_rrlp; +} + + + + + + + +static void +dfile_update(s,unused,p) +int s; +void *unused; +void *p; +{ + struct rr **rrpp, *rrlp, *oldrrp; + char *newname; + FILE *old_fp, *new_fp; + struct stat old_stat, new_stat; + + logmsg(-1, _("update Domain.txt initiated")); + + + + + fclose(Curproc->input); + Curproc->input = fdup(Cmdpp->input); + fclose(Curproc->output); + Curproc->output = fdup(Cmdpp->output); + + newname = strdupw(Dfile); + strcpy(&newname[strlen(newname)-3],"tmp"); + + while(Dfile_wait_absolute != 0L && !main_exit){ + register struct rr *frrp; + int32 elapsed; + + while(Dfile_wait_absolute != 0L){ + elapsed = Dfile_wait_absolute - secclock(); + Dfile_wait_absolute = 0L; + if(elapsed > 0L && !main_exit){ + kalarm(elapsed*1000L); + kwait(&Dfile_wait_absolute); + kalarm(0L); + } + } + + logmsg(-1, _("update Domain.txt")); + + + if((new_fp = (freopen((newname),("w+t" ),0))) == 0){ + _printf(_("dfile_update: can't create %s!\n"),newname); + break; + } + if(fstat(((new_fp) != 0 ? (new_fp)->fd : -1),&new_stat) != 0){ + _printf(_("dfile_update: can't get new_file status!\n")); + fclose(new_fp); + break; + } + + kwait(0); + + + (void)dcache_search(0); + + + + rrpp = &rrlp; + for(frrp = Dcache; frrp != 0; frrp = frrp->next ){ + switch(frrp->source){ + case 4 : + case 5 : + case 6 : + case 7 : + *rrpp = copy_rr(frrp); + if(frrp->type != 0 + && frrp->rdlength > 0) + put_rr(new_fp,frrp); + rrpp = &(*rrpp)->next; + frrp->source = 1 ; + break; + } + } + *rrpp = 0; + + + if((old_fp = (freopen((Dfile),("rt" ),0))) == 0){ + + fclose(new_fp); + rename(newname,Dfile); + free_rr(rrlp); + break; + } + if(fstat(((old_fp) != 0 ? (old_fp)->fd : -1),&old_stat) != 0){ + _printf(_("dfile_update: can't get old_file status!\n")); + fclose(new_fp); + fclose(old_fp); + free_rr(rrlp); + break; + } + if((elapsed = (int32)(new_stat.st_ctime - old_stat.st_ctime)) < 0L) + elapsed = -elapsed; + + + oldrrp = 0; + while((frrp = get_rr(old_fp,oldrrp)) != 0){ + free_rr(oldrrp); + if(frrp->name == 0 + && frrp->comment != 0) + put_rr(new_fp,frrp); + if(frrp->type != 0 + && frrp->rdlength > 0 + && compare_rr_list(rrlp,frrp) != 0){ + if(frrp->ttl > 0L + && (frrp->ttl -= elapsed) <= 0L) + frrp->ttl = 0L; + if(frrp->ttl != 0 || !Dfile_clean) + put_rr(new_fp,frrp); + } + oldrrp = frrp; + if(!main_exit) + kwait(0); + } + free_rr(oldrrp); + fclose(new_fp); + fclose(old_fp); + free_rr(rrlp); + + + Dfile_writing++; + while(Dfile_reading > 0) + kwait(&Dfile_writing); + + unlink(Dfile); + rename(newname,Dfile); + + Dfile_writing = 0; + ksignal(&Dfile_reading,0); + } + free(newname); + + logmsg(-1, _("update Domain.txt finished")); + Dfile_updater = 0; +} + + + + + + + + +static void +dumpdomain(dhp,rtt) +struct dhdr *dhp; +int32 rtt; +{ + struct rr *rrp; + char * stuff; + + _printf(_("response id %u (rtt %lu sec) qr %u opcode %u aa %u tc %u rd %u ra %u rcode %u\n"), + dhp->id,(long)rtt / 1000L, + dhp->qr,dhp->opcode,dhp->aa,dhp->tc,dhp->rd, + dhp->ra,dhp->rcode); + _printf(_("%u questions:\n"),dhp->qdcount); + for(rrp = dhp->questions; rrp != 0; rrp = rrp->next){ + stuff = dtype(rrp->type); + _printf(_("%s type %s class %u\n"),rrp->name, + stuff,rrp->class); + } + _printf(_("%u answers:\n"),dhp->ancount); + for(rrp = dhp->answers; rrp != 0; rrp = rrp->next){ + put_rr(Curproc->output,rrp); + } + _printf(_("%u authority:\n"),dhp->nscount); + for(rrp = dhp->authority; rrp != 0; rrp = rrp->next){ + put_rr(Curproc->output,rrp); + } + _printf(_("%u additional:\n"),dhp->arcount); + for(rrp = dhp->additional; rrp != 0; rrp = rrp->next){ + put_rr(Curproc->output,rrp); + } + fflush(Curproc->output); +} + + + +static int +dns_makequery(op,srrp,buffer,buflen) +uint16 op; +struct rr *srrp; +uint8 *buffer; +uint16 buflen; +{ + uint8 *cp; + char *cp1; + char *dname, *sname; + uint16 parameter; + uint16 dlen,len; + + cp = buffer; + + cp = put16(cp,(uint16)msclock()); + parameter = (op << 11) + | 0x0100; + cp = put16(cp,parameter); + cp = put16(cp,1); + cp = put16(cp,0); + cp = put16(cp,0); + cp = put16(cp,0); + + sname = strdupw(srrp->name); + dname = sname; + dlen = strlen(dname); + for(;;){ + + cp1 = strchr(dname,'.'); + if(cp1 != 0) + len = cp1-dname; + else + len = dlen; + *cp++ = len; + if(len == 0) + break; + + strncpy((char *)cp,dname,len); + cp += len; + if(cp1 == 0){ + *cp++ = 0; + break; + } + dname += len+1; + dlen -= len+1; + } + free(sname); + cp = put16(cp,srrp->type); + cp = put16(cp,srrp->class); + return cp - buffer; +} + + + + + + + + + + + +static int +dns_query(rrlp) +struct rr *rrlp; +{ + struct mbuf *bp; + struct dhdr *dhp; + struct dserver *dp; + int32 rtt,abserr; + int tried = 0; + + if((dp = Dservers) == 0) + return -1; + + for(;;){ + uint8 *buf; + int len; + struct sockaddr_in server_in; + int s; + int rval; + + dp->queries++; + + s = socket(0,1,0); + server_in.sin_family = 0; + server_in.sin_port = 53; + server_in.sin_addr.s_addr = dp->address; + + if(Dtrace){ + _printf(_("dns_query: querying server %s for %s\n"), + inet_ntoa(dp->address),rrlp->name); + } + + buf = mallocw(512); + len = dns_makequery(0,rrlp,buf,512); + if(sendto(s,buf,len,0,(struct sockaddr *)&server_in,sizeof(server_in)) == -1) + perror("domain sendto"); + {free(buf); buf = 0;}; + kalarm(((dp->timeout)>(100)?(dp->timeout):(100)) ); + + rval = recv_mbuf(s,&bp,0,0,0); + kalarm(0L); + close_s(s); + + if(Dtrace){ + if((Curproc->p_errno) == 0) + _printf(_("dns_query: received message length %d\n"),rval); + else + perror("dns_query"); + } + + if(rval > 0) + break; + + if((Curproc->p_errno) == 107) + return -1; + + + dp->timeout <<= 1; + if((dp = dp->next) == 0){ + dp = Dservers; + if(Dserver_retries > 0 && ++tried > Dserver_retries) + return -1; + } + } + + + dp->responses++; + dhp = (struct dhdr *) mallocw(sizeof(struct dhdr)); + ntohdomain(dhp,&bp); + + + rtt = (int32) ((uint16)msclock() - dhp->id); + abserr = rtt > dp->srtt ? rtt - dp->srtt : dp->srtt - rtt; + dp->srtt = ((8 -1) * dp->srtt + rtt + (8 /2)) >> 3 ; + dp->mdev = ((4 -1) * dp->mdev + abserr + (4 /2)) >> 2 ; + dp->timeout = 4 * dp->mdev + dp->srtt; + + + if(dp->prev != 0){ + dlist_drop(dp); + dlist_add(dp); + } + + if(Dtrace) + dumpdomain(dhp,rtt); + + + + + if(dhp->aa && (dhp->rcode == 3 || dhp->ancount == 0)){ + register struct rr *rrp; + long ttl = 600L; + + + for(rrp = dhp->authority; rrp != 0; rrp = rrp->next){ + if(rrp->type == 6 ) + ttl = rrp->ttl; + } + + + for(rrp = dhp->questions; rrp != 0; rrp = rrp->next) + rrp->ttl = ttl; + } else { + free_rr(dhp->questions); + dhp->questions = 0; + } + + + dcache_update(dhp->additional); + dcache_update(dhp->authority); + dcache_update(dhp->answers); + dcache_update(dhp->questions); + + Dfile_wait_absolute = secclock() + Dfile_wait_relative; + if(Dfile_updater == 0){ + Dfile_updater = newproc("domain update", + 512,dfile_update,0,0,0,0); + } + + + + + + free(dhp); + return 0; +} + + + + + + + + + + + +static int +isaddr(s) +register char *s; +{ + char c; + + if(s == 0) + return 1; + + while((c = *s++) != '\0'){ + if(c != '[' && c != ']' && !(!!((__ctype[(unsigned char)(c)])&0x08 )) && c != '.') + return 0; + } + return 1; +} + + + + + + +static char * +checksuffix(dname) +char *dname; +{ + char *sname, *tname; + + sname = strdupw(dname); + if(strchr(sname,'.') == 0 && Dsuffix != 0){ + + tname = mallocw(strlen(sname)+strlen(Dsuffix)+2); + sprintf(tname,"%s.%s",sname,Dsuffix); + free(sname); + sname = tname; + } + if(sname[strlen(sname)-1] != '.'){ + + tname = mallocw(strlen(sname)+2); + sprintf(tname,"%s.",sname); + free(sname); + sname = tname; + } + return sname; +} + + + + + + + +static struct rr * +resolver(rrlp) +register struct rr *rrlp; +{ + register struct rr *result_rrlp; + + if((result_rrlp = dcache_search(rrlp)) == 0){ + result_rrlp = dfile_search(rrlp); + } + if(result_rrlp == 0 || check_ttl(result_rrlp) != 0){ + dcache_add(result_rrlp); + if(dns_query(rrlp) == -1) + return 0; + result_rrlp = dcache_search(rrlp); + } + dcache_add(copy_rr_list(result_rrlp)); + return result_rrlp; +} + + + + + + + +struct rr * +inverse_a(ip_address) +int32 ip_address; +{ + struct rr *prrp; + struct rr *result_rrlp; + char pname[30]; + + if(ip_address == 0L) + return 0; + + sprintf( pname, "%u.%u.%u.%u.IN-ADDR.ARPA.", + ((unsigned char)(((uint16)(ip_address)))), + ((unsigned char)((((uint16)(ip_address))) >> 8)), + ((unsigned char)(((uint16)((ip_address) >> 16)))), + ((unsigned char)((((uint16)((ip_address) >> 16))) >> 8)) ); + + prrp = make_rr(8 ,pname,1 ,12 ,0,0,0); + + prrp->next = + make_rr(9 ,0,1 ,1 ,0,4,&ip_address); + + result_rrlp = resolver(prrp); + + free_rr(prrp); + return result_rrlp; +} + + + + + + +struct rr * +resolve_rr(dname,dtype) +char *dname; +uint16 dtype; +{ + struct rr *qrrp; + struct rr *result_rrlp; + char *sname; + int looping = 10 ; + + if(dname == 0) + return 0; + + sname = checksuffix(dname); + qrrp = make_rr(8 ,sname,1 ,dtype,0,0,0); + {free(sname); sname = 0;}; + + while(looping > 0){ + if((result_rrlp=resolver(qrrp)) == 0 + || result_rrlp->type == dtype) + break; + + + + + + + free(qrrp->name); + qrrp->name = strdupw(result_rrlp->rdata.name); + free_rr(result_rrlp); + result_rrlp = 0; + looping--; + } + free_rr(qrrp); + return result_rrlp; +} + + + + + + + +char * +resolve_a(ip_address,shorten) +int32 ip_address; +int shorten; +{ + struct rr *save_rrlp, *rrlp; + char *result = 0; + + for( rrlp = save_rrlp = inverse_a(ip_address); + rrlp != 0 && result == 0; + rrlp = rrlp->next ){ + if(rrlp->rdlength > 0){ + switch(rrlp->type){ + case 12 : + result = strdupw(rrlp->rdata.name); + break; + case 1 : + result = strdupw(rrlp->name); + break; + } + } + } + free_rr(save_rrlp); + + if(result != 0 && shorten){ + int dot; + char *shortened; + + if((dot = strcspn(result, ".")) == 0){ + shortened = mallocw(dot+1); + strncpy(shortened, result, dot); + shortened[dot] = '\0'; + free(result); + result = shortened; + } + } + return result; +} + + + + + + + +int32 +resolve(name) +char *name; +{ + register struct rr *rrlp; + int32 ip_address = 0; + + if(name == 0) + return 0; + + if(isaddr(name)) + return aton(name); + + if((rrlp = resolve_rr(name,1 )) != 0 + && rrlp->rdlength > 0) + ip_address = rrlp->rdata.addr; + + + if(rrlp != 0 && rrlp->next != 0) { + register struct rr *rrp; + register struct route *rp; + uint16 cost = 0xffff ; + rrp = rrlp; + + while(rrp != 0) { + if(rrp->rdlength > 0 + && (rp = rt_lookup(rrp->rdata.addr)) != 0 + && rp->metric <= cost) { + ip_address = rrp->rdata.addr; + cost = rp->metric; + } + rrp = rrp->next; + } + } + + free_rr(rrlp); + return ip_address; +} + + + + + + + +int32 +resolve_mx(name) +char *name; +{ + register struct rr *rrp, *arrp; + char *sname, *tmp, *cp; + int32 addr, ip_address = 0; + uint16 pref = 0xffff ; + + if(name == 0) + return 0; + + if(isaddr(name)){ + if((sname = resolve_a(aton(name),0)) == 0) + return 0; + } + else + sname = strdupw(name); + + cp = sname; + while(1){ + rrp = arrp = resolve_rr(sname,15 ); + + while(rrp != 0){ + if(rrp->rdlength > 0 && rrp->rdata.mx.pref <= pref && + (addr = resolve(rrp->rdata.mx.exch)) != 0L){ + pref = rrp->rdata.mx.pref; + ip_address = addr; + } + rrp = rrp->next; + } + free_rr(arrp); + if(ip_address != 0) + break; + + if((cp = strchr(cp,'.')) == 0) + break; + tmp = mallocw(strlen(cp)+2); + sprintf(tmp,"*%s",cp); + free(sname); + sname = tmp; + cp = sname + 2; + } + free(sname); + return ip_address; +} + + + + + + + +struct rr * +resolve_mailb(name) +char *name; +{ + register struct rr *result_rrlp; + struct rr *rrlp; + char *sname; + + + sname = mallocw(strlen(name)+2); + sprintf(sname,"%s.",name); + rrlp = make_rr(8 ,sname,1 ,7 ,0,0,0); + rrlp->next = make_rr(8 ,sname,1 ,8 ,0,0,0); + rrlp->next->next = make_rr(8 ,sname,1 ,9 ,0,0,0); + {free(sname); sname = 0;}; + if((result_rrlp = dcache_search(rrlp)) == 0){ + result_rrlp = dfile_search(rrlp); + } + free_rr(rrlp); + if(Dsuffix != 0){ + rrlp = result_rrlp; + while(rrlp != 0){ + if(rrlp->rdlength > 0 && + rrlp->rdata.name[rrlp->rdlength-1] != '.'){ + sname = mallocw(rrlp->rdlength + + strlen(Dsuffix)+2); + sprintf(sname,"%s.%s",rrlp->rdata.name,Dsuffix); + free(rrlp->rdata.name); + rrlp->rdata.name = sname; + rrlp->rdlength = strlen(sname); + } + rrlp = rrlp->next; + } + } + dcache_add(copy_rr_list(result_rrlp)); + return result_rrlp; +} + diff --git a/src/nos/internet/domhdr.c b/src/nos/internet/domhdr.c index c5cf891f..cb421ff9 100644 --- a/src/nos/internet/domhdr.c +++ b/src/nos/internet/domhdr.c @@ -1,297 +1,297 @@ -/* Domain header conversion routines - * Copyright 1991 Phil Karn, KA9Q - */ -#include "global.h" -#include "mbuf.h" -#include "domain.h" - -static int dn_expand(uint8 *msg,uint8 *eom,uint8 *compressed,char *full, - int fullen); -static uint8 *getq(struct rr **rrpp,uint8 *msg,uint8 *cp); -static uint8 *ntohrr(struct rr **rrpp,uint8 *msg,uint8 *cp); - -int -ntohdomain(dhdr,bpp) -register struct dhdr *dhdr; -struct mbuf **bpp; -{ - uint16 tmp,len; - register uint16 i; - uint8 *msg,*cp; - struct rr **rrpp; - - len = len_p(*bpp); - msg = mallocw(len); - pullup(bpp,msg,len); - memset(dhdr,0,sizeof(*dhdr)); - - dhdr->id = get16(&msg[0]); - tmp = get16(&msg[2]); - if(tmp & 0x8000) - dhdr->qr = 1; - dhdr->opcode = (tmp >> 11) & 0xf; - if(tmp & 0x0400) - dhdr->aa = 1; - if(tmp & 0x0200) - dhdr->tc = 1; - if(tmp & 0x0100) - dhdr->rd = 1; - if(tmp & 0x0080) - dhdr->ra = 1; - dhdr->rcode = tmp & 0xf; - dhdr->qdcount = get16(&msg[4]); - dhdr->ancount = get16(&msg[6]); - dhdr->nscount = get16(&msg[8]); - dhdr->arcount = get16(&msg[10]); - - /* Now parse the variable length sections */ - cp = &msg[12]; - - /* Question section */ - rrpp = &dhdr->questions; - for(i=0;iqdcount;i++){ - if((cp = getq(rrpp,msg,cp)) == NULL){ - free(msg); - return -1; - } - (*rrpp)->source = RR_QUESTION; - rrpp = &(*rrpp)->next; - } - *rrpp = NULL; - - /* Answer section */ - rrpp = &dhdr->answers; - for(i=0;iancount;i++){ - if((cp = ntohrr(rrpp,msg,cp)) == NULL){ - free(msg); - return -1; - } - (*rrpp)->source = RR_ANSWER; - rrpp = &(*rrpp)->next; - } - *rrpp = NULL; - - /* Name server (authority) section */ - rrpp = &dhdr->authority; - for(i=0;inscount;i++){ - if((cp = ntohrr(rrpp,msg,cp)) == NULL){ - free(msg); - return -1; - } - (*rrpp)->source = RR_AUTHORITY; - rrpp = &(*rrpp)->next; - } - *rrpp = NULL; - - /* Additional section */ - rrpp = &dhdr->additional; - for(i=0;iarcount;i++){ - if((cp = ntohrr(rrpp,msg,cp)) == NULL){ - free(msg); - return -1; - } - (*rrpp)->source = RR_ADDITIONAL; - rrpp = &(*rrpp)->next; - } - *rrpp = NULL; - free(msg); - return 0; -} -static uint8 * -getq(rrpp,msg,cp) -struct rr **rrpp; -uint8 *msg; -uint8 *cp; -{ - register struct rr *rrp; - int len; - char *name; - - *rrpp = rrp = (struct rr *)callocw(1,sizeof(struct rr)); - name = mallocw(512); - len = dn_expand(msg,NULL,cp,name,512); - if(len == -1){ - free(name); - return NULL; - } - cp += len; - rrp->name = strdupw(name); - rrp->type = get16(cp); - cp += 2; - rrp->class = get16(cp); - cp += 2; - rrp->ttl = 0; - rrp->rdlength = 0; - free(name); - return cp; -} -/* Read a resource record from a domain message into a host structure */ -static uint8 * -ntohrr(rrpp,msg,cp) -struct rr **rrpp; /* Where to allocate resource record structure */ -uint8 *msg; /* Pointer to beginning of domain message */ -uint8 *cp; /* Pointer to start of encoded RR record */ -{ - register struct rr *rrp; - int len; - char *name; - - *rrpp = rrp = (struct rr *)callocw(1,sizeof(struct rr)); - name = mallocw(512); - if((len = dn_expand(msg,NULL,cp,name,512)) == -1){ - free(name); - return NULL; - } - cp += len; - rrp->name = strdupw(name); - rrp->type = get16(cp); - cp += 2; - rrp->class = get16(cp); - cp+= 2; - rrp->ttl = get32(cp); - cp += 4; - rrp->rdlength = get16(cp); - cp += 2; - switch(rrp->type){ - case TYPE_A: - /* Just read the address directly into the structure */ - rrp->rdata.addr = get32(cp); - cp += 4; - break; - case TYPE_CNAME: - case TYPE_MB: - case TYPE_MG: - case TYPE_MR: - case TYPE_NS: - case TYPE_PTR: - /* These types all consist of a single domain name; - * convert it to ascii format - */ - len = dn_expand(msg,NULL,cp,name,512); - if(len == -1){ - free(name); - return NULL; - } - rrp->rdata.name = strdupw(name); - rrp->rdlength = strlen(name); - cp += len; - break; - case TYPE_HINFO: - len = *cp++; - rrp->rdata.hinfo.cpu = mallocw(len+1); - strncpy(rrp->rdata.hinfo.cpu,(char *)cp,len); - cp += len; - - len = *cp++; - rrp->rdata.hinfo.os = mallocw(len+1); - strncpy(rrp->rdata.hinfo.os,(char *)cp,len); - cp += len; - break; - case TYPE_MX: - rrp->rdata.mx.pref = get16(cp); - cp += 2; - /* Get domain name of exchanger */ - len = dn_expand(msg,NULL,cp,name,512); - if(len == -1){ - free(name); - return NULL; - } - rrp->rdata.mx.exch = strdupw(name); - cp += len; - break; - case TYPE_SOA: - /* Get domain name of name server */ - len = dn_expand(msg,NULL,cp,name,512); - if(len == -1){ - free(name); - return NULL; - } - rrp->rdata.soa.mname = strdupw(name); - cp += len; - - /* Get domain name of responsible person */ - len = dn_expand(msg,NULL,cp,name,512); - if(len == -1){ - free(name); - return NULL; - } - rrp->rdata.soa.rname = strdupw(name); - cp += len; - - rrp->rdata.soa.serial = get32(cp); - cp += 4; - rrp->rdata.soa.refresh = get32(cp); - cp += 4; - rrp->rdata.soa.retry = get32(cp); - cp += 4; - rrp->rdata.soa.expire = get32(cp); - cp += 4; - rrp->rdata.soa.minimum = get32(cp); - cp += 4; - break; - case TYPE_TXT: - /* Just stash */ - rrp->rdata.data = mallocw(rrp->rdlength); - memcpy(rrp->rdata.data,cp,rrp->rdlength); - cp += rrp->rdlength; - break; - default: - /* Ignore */ - cp += rrp->rdlength; - break; - } - free(name); - return cp; -} - -/* Convert a compressed domain name to the human-readable form */ -static int -dn_expand(msg,eom,compressed,full,fullen) -uint8 *msg; /* Complete domain message */ -uint8 *eom; -uint8 *compressed; /* Pointer to compressed name */ -char *full; /* Pointer to result buffer */ -int fullen; /* Length of same */ -{ - unsigned int slen; /* Length of current segment */ - register uint8 *cp; - int clen = 0; /* Total length of compressed name */ - int indirect = 0; /* Set if indirection encountered */ - int nseg = 0; /* Total number of segments in name */ - - cp = compressed; - for(;;){ - slen = *cp++; /* Length of this segment */ - if(!indirect) - clen++; - if((slen & 0xc0) == 0xc0){ - if(!indirect) - clen++; - indirect = 1; - /* Follow indirection */ - cp = &msg[((slen & 0x3f)<<8) + *cp]; - slen = *cp++; - } - if(slen == 0) /* zero length == all done */ - break; - fullen -= slen + 1; - if(fullen < 0) - return -1; - if(!indirect) - clen += slen; - while(slen-- != 0) - *full++ = (char)*cp++; - *full++ = '.'; - nseg++; - } - if(nseg == 0){ - /* Root name; represent as single dot */ - *full++ = '.'; - fullen--; - } - *full++ = '\0'; - fullen--; - return clen; /* Length of compressed message */ -} - - +/* Domain header conversion routines + * Copyright 1991 Phil Karn, KA9Q + */ +#include "global.h" +#include "mbuf.h" +#include "domain.h" + +static int dn_expand(uint8 *msg,uint8 *eom,uint8 *compressed,char *full, + int fullen); +static uint8 *getq(struct rr **rrpp,uint8 *msg,uint8 *cp); +static uint8 *ntohrr(struct rr **rrpp,uint8 *msg,uint8 *cp); + +int +ntohdomain(dhdr,bpp) +register struct dhdr *dhdr; +struct mbuf **bpp; +{ + uint16 tmp,len; + register uint16 i; + uint8 *msg,*cp; + struct rr **rrpp; + + len = len_p(*bpp); + msg = mallocw(len); + pullup(bpp,msg,len); + memset(dhdr,0,sizeof(*dhdr)); + + dhdr->id = get16(&msg[0]); + tmp = get16(&msg[2]); + if(tmp & 0x8000) + dhdr->qr = 1; + dhdr->opcode = (tmp >> 11) & 0xf; + if(tmp & 0x0400) + dhdr->aa = 1; + if(tmp & 0x0200) + dhdr->tc = 1; + if(tmp & 0x0100) + dhdr->rd = 1; + if(tmp & 0x0080) + dhdr->ra = 1; + dhdr->rcode = tmp & 0xf; + dhdr->qdcount = get16(&msg[4]); + dhdr->ancount = get16(&msg[6]); + dhdr->nscount = get16(&msg[8]); + dhdr->arcount = get16(&msg[10]); + + /* Now parse the variable length sections */ + cp = &msg[12]; + + /* Question section */ + rrpp = &dhdr->questions; + for(i=0;iqdcount;i++){ + if((cp = getq(rrpp,msg,cp)) == NULL){ + free(msg); + return -1; + } + (*rrpp)->source = RR_QUESTION; + rrpp = &(*rrpp)->next; + } + *rrpp = NULL; + + /* Answer section */ + rrpp = &dhdr->answers; + for(i=0;iancount;i++){ + if((cp = ntohrr(rrpp,msg,cp)) == NULL){ + free(msg); + return -1; + } + (*rrpp)->source = RR_ANSWER; + rrpp = &(*rrpp)->next; + } + *rrpp = NULL; + + /* Name server (authority) section */ + rrpp = &dhdr->authority; + for(i=0;inscount;i++){ + if((cp = ntohrr(rrpp,msg,cp)) == NULL){ + free(msg); + return -1; + } + (*rrpp)->source = RR_AUTHORITY; + rrpp = &(*rrpp)->next; + } + *rrpp = NULL; + + /* Additional section */ + rrpp = &dhdr->additional; + for(i=0;iarcount;i++){ + if((cp = ntohrr(rrpp,msg,cp)) == NULL){ + free(msg); + return -1; + } + (*rrpp)->source = RR_ADDITIONAL; + rrpp = &(*rrpp)->next; + } + *rrpp = NULL; + free(msg); + return 0; +} +static uint8 * +getq(rrpp,msg,cp) +struct rr **rrpp; +uint8 *msg; +uint8 *cp; +{ + register struct rr *rrp; + int len; + char *name; + + *rrpp = rrp = (struct rr *)callocw(1,sizeof(struct rr)); + name = mallocw(512); + len = dn_expand(msg,NULL,cp,name,512); + if(len == -1){ + free(name); + return NULL; + } + cp += len; + rrp->name = strdupw(name); + rrp->type = get16(cp); + cp += 2; + rrp->class = get16(cp); + cp += 2; + rrp->ttl = 0; + rrp->rdlength = 0; + free(name); + return cp; +} +/* Read a resource record from a domain message into a host structure */ +static uint8 * +ntohrr(rrpp,msg,cp) +struct rr **rrpp; /* Where to allocate resource record structure */ +uint8 *msg; /* Pointer to beginning of domain message */ +uint8 *cp; /* Pointer to start of encoded RR record */ +{ + register struct rr *rrp; + int len; + char *name; + + *rrpp = rrp = (struct rr *)callocw(1,sizeof(struct rr)); + name = mallocw(512); + if((len = dn_expand(msg,NULL,cp,name,512)) == -1){ + free(name); + return NULL; + } + cp += len; + rrp->name = strdupw(name); + rrp->type = get16(cp); + cp += 2; + rrp->class = get16(cp); + cp+= 2; + rrp->ttl = get32(cp); + cp += 4; + rrp->rdlength = get16(cp); + cp += 2; + switch(rrp->type){ + case TYPE_A: + /* Just read the address directly into the structure */ + rrp->rdata.addr = get32(cp); + cp += 4; + break; + case TYPE_CNAME: + case TYPE_MB: + case TYPE_MG: + case TYPE_MR: + case TYPE_NS: + case TYPE_PTR: + /* These types all consist of a single domain name; + * convert it to ascii format + */ + len = dn_expand(msg,NULL,cp,name,512); + if(len == -1){ + free(name); + return NULL; + } + rrp->rdata.name = strdupw(name); + rrp->rdlength = strlen(name); + cp += len; + break; + case TYPE_HINFO: + len = *cp++; + rrp->rdata.hinfo.cpu = mallocw(len+1); + strncpy(rrp->rdata.hinfo.cpu,(char *)cp,len); + cp += len; + + len = *cp++; + rrp->rdata.hinfo.os = mallocw(len+1); + strncpy(rrp->rdata.hinfo.os,(char *)cp,len); + cp += len; + break; + case TYPE_MX: + rrp->rdata.mx.pref = get16(cp); + cp += 2; + /* Get domain name of exchanger */ + len = dn_expand(msg,NULL,cp,name,512); + if(len == -1){ + free(name); + return NULL; + } + rrp->rdata.mx.exch = strdupw(name); + cp += len; + break; + case TYPE_SOA: + /* Get domain name of name server */ + len = dn_expand(msg,NULL,cp,name,512); + if(len == -1){ + free(name); + return NULL; + } + rrp->rdata.soa.mname = strdupw(name); + cp += len; + + /* Get domain name of responsible person */ + len = dn_expand(msg,NULL,cp,name,512); + if(len == -1){ + free(name); + return NULL; + } + rrp->rdata.soa.rname = strdupw(name); + cp += len; + + rrp->rdata.soa.serial = get32(cp); + cp += 4; + rrp->rdata.soa.refresh = get32(cp); + cp += 4; + rrp->rdata.soa.retry = get32(cp); + cp += 4; + rrp->rdata.soa.expire = get32(cp); + cp += 4; + rrp->rdata.soa.minimum = get32(cp); + cp += 4; + break; + case TYPE_TXT: + /* Just stash */ + rrp->rdata.data = mallocw(rrp->rdlength); + memcpy(rrp->rdata.data,cp,rrp->rdlength); + cp += rrp->rdlength; + break; + default: + /* Ignore */ + cp += rrp->rdlength; + break; + } + free(name); + return cp; +} + +/* Convert a compressed domain name to the human-readable form */ +static int +dn_expand(msg,eom,compressed,full,fullen) +uint8 *msg; /* Complete domain message */ +uint8 *eom; +uint8 *compressed; /* Pointer to compressed name */ +char *full; /* Pointer to result buffer */ +int fullen; /* Length of same */ +{ + unsigned int slen; /* Length of current segment */ + register uint8 *cp; + int clen = 0; /* Total length of compressed name */ + int indirect = 0; /* Set if indirection encountered */ + int nseg = 0; /* Total number of segments in name */ + + cp = compressed; + for(;;){ + slen = *cp++; /* Length of this segment */ + if(!indirect) + clen++; + if((slen & 0xc0) == 0xc0){ + if(!indirect) + clen++; + indirect = 1; + /* Follow indirection */ + cp = &msg[((slen & 0x3f)<<8) + *cp]; + slen = *cp++; + } + if(slen == 0) /* zero length == all done */ + break; + fullen -= slen + 1; + if(fullen < 0) + return -1; + if(!indirect) + clen += slen; + while(slen-- != 0) + *full++ = (char)*cp++; + *full++ = '.'; + nseg++; + } + if(nseg == 0){ + /* Root name; represent as single dot */ + *full++ = '.'; + fullen--; + } + *full++ = '\0'; + fullen--; + return clen; /* Length of compressed message */ +} + + diff --git a/src/nos/internet/domhdr.i b/src/nos/internet/domhdr.i new file mode 100644 index 00000000..b9708eaf --- /dev/null +++ b/src/nos/internet/domhdr.i @@ -0,0 +1,2506 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct dserver { + struct dserver *prev; + struct dserver *next; + + int32 address; + int32 timeout; + int32 srtt; + int32 mdev; + int32 queries; + int32 responses; +}; +extern struct dserver *Dlist; +extern int Dsocket; + + + + + + + + +struct dhdr { + uint16 id; + uint8 qr; + + + uint8 opcode; + + uint8 aa; + uint8 tc; + uint8 rd; + uint8 ra; + uint8 rcode; + + + + + + + uint16 qdcount; + uint16 ancount; + uint16 nscount; + uint16 arcount; + struct rr *questions; + struct rr *answers; + struct rr *authority; + struct rr *additional; +}; + +struct mx { + uint16 pref; + char *exch; +}; + +struct hinfo { + char *cpu; + char *os; +}; + +struct soa { + char *mname; + char *rname; + int32 serial; + int32 refresh; + int32 retry; + int32 expire; + int32 minimum; +}; + +struct rr { + struct rr *last; + struct rr *next; + uint8 source; + + + + + + + + + + char *comment; + char *name; + int32 ttl; + + uint16 class; + + uint16 type; + + uint16 rdlength; + union { + int32 addr; + struct soa soa; + struct mx mx; + struct hinfo hinfo; + char *name; + char *data; + } rdata; +}; +extern struct proc *Dfile_updater; + + +int add_nameserver(int32 address); +void free_rr(struct rr *rrlp); +struct rr *inverse_a(int32 ip_address); +struct rr *resolve_rr(char *dname,uint16 dtype); +char *resolve_a(int32 ip_address, int shorten); +struct rr *resolve_mailb(char *name); + + +int ntohdomain(struct dhdr *dhdr,struct mbuf **bpp); + + + +static int dn_expand(uint8 *msg,uint8 *eom,uint8 *compressed,char *full, + int fullen); +static uint8 *getq(struct rr **rrpp,uint8 *msg,uint8 *cp); +static uint8 *ntohrr(struct rr **rrpp,uint8 *msg,uint8 *cp); + +int +ntohdomain(dhdr,bpp) +register struct dhdr *dhdr; +struct mbuf **bpp; +{ + uint16 tmp,len; + register uint16 i; + uint8 *msg,*cp; + struct rr **rrpp; + + len = len_p(*bpp); + msg = mallocw(len); + pullup(bpp,msg,len); + memset(dhdr,0,sizeof(*dhdr)); + + dhdr->id = get16(&msg[0]); + tmp = get16(&msg[2]); + if(tmp & 0x8000) + dhdr->qr = 1; + dhdr->opcode = (tmp >> 11) & 0xf; + if(tmp & 0x0400) + dhdr->aa = 1; + if(tmp & 0x0200) + dhdr->tc = 1; + if(tmp & 0x0100) + dhdr->rd = 1; + if(tmp & 0x0080) + dhdr->ra = 1; + dhdr->rcode = tmp & 0xf; + dhdr->qdcount = get16(&msg[4]); + dhdr->ancount = get16(&msg[6]); + dhdr->nscount = get16(&msg[8]); + dhdr->arcount = get16(&msg[10]); + + + cp = &msg[12]; + + + rrpp = &dhdr->questions; + for(i=0;iqdcount;i++){ + if((cp = getq(rrpp,msg,cp)) == 0){ + free(msg); + return -1; + } + (*rrpp)->source = 4 ; + rrpp = &(*rrpp)->next; + } + *rrpp = 0; + + + rrpp = &dhdr->answers; + for(i=0;iancount;i++){ + if((cp = ntohrr(rrpp,msg,cp)) == 0){ + free(msg); + return -1; + } + (*rrpp)->source = 5 ; + rrpp = &(*rrpp)->next; + } + *rrpp = 0; + + + rrpp = &dhdr->authority; + for(i=0;inscount;i++){ + if((cp = ntohrr(rrpp,msg,cp)) == 0){ + free(msg); + return -1; + } + (*rrpp)->source = 6 ; + rrpp = &(*rrpp)->next; + } + *rrpp = 0; + + + rrpp = &dhdr->additional; + for(i=0;iarcount;i++){ + if((cp = ntohrr(rrpp,msg,cp)) == 0){ + free(msg); + return -1; + } + (*rrpp)->source = 7 ; + rrpp = &(*rrpp)->next; + } + *rrpp = 0; + free(msg); + return 0; +} +static uint8 * +getq(rrpp,msg,cp) +struct rr **rrpp; +uint8 *msg; +uint8 *cp; +{ + register struct rr *rrp; + int len; + char *name; + + *rrpp = rrp = (struct rr *)callocw(1,sizeof(struct rr)); + name = mallocw(512); + len = dn_expand(msg,0,cp,name,512); + if(len == -1){ + free(name); + return 0; + } + cp += len; + rrp->name = strdupw(name); + rrp->type = get16(cp); + cp += 2; + rrp->class = get16(cp); + cp += 2; + rrp->ttl = 0; + rrp->rdlength = 0; + free(name); + return cp; +} + +static uint8 * +ntohrr(rrpp,msg,cp) +struct rr **rrpp; +uint8 *msg; +uint8 *cp; +{ + register struct rr *rrp; + int len; + char *name; + + *rrpp = rrp = (struct rr *)callocw(1,sizeof(struct rr)); + name = mallocw(512); + if((len = dn_expand(msg,0,cp,name,512)) == -1){ + free(name); + return 0; + } + cp += len; + rrp->name = strdupw(name); + rrp->type = get16(cp); + cp += 2; + rrp->class = get16(cp); + cp+= 2; + rrp->ttl = get32(cp); + cp += 4; + rrp->rdlength = get16(cp); + cp += 2; + switch(rrp->type){ + case 1 : + + rrp->rdata.addr = get32(cp); + cp += 4; + break; + case 5 : + case 7 : + case 8 : + case 9 : + case 2 : + case 12 : + + + + len = dn_expand(msg,0,cp,name,512); + if(len == -1){ + free(name); + return 0; + } + rrp->rdata.name = strdupw(name); + rrp->rdlength = strlen(name); + cp += len; + break; + case 13 : + len = *cp++; + rrp->rdata.hinfo.cpu = mallocw(len+1); + strncpy(rrp->rdata.hinfo.cpu,(char *)cp,len); + cp += len; + + len = *cp++; + rrp->rdata.hinfo.os = mallocw(len+1); + strncpy(rrp->rdata.hinfo.os,(char *)cp,len); + cp += len; + break; + case 15 : + rrp->rdata.mx.pref = get16(cp); + cp += 2; + + len = dn_expand(msg,0,cp,name,512); + if(len == -1){ + free(name); + return 0; + } + rrp->rdata.mx.exch = strdupw(name); + cp += len; + break; + case 6 : + + len = dn_expand(msg,0,cp,name,512); + if(len == -1){ + free(name); + return 0; + } + rrp->rdata.soa.mname = strdupw(name); + cp += len; + + + len = dn_expand(msg,0,cp,name,512); + if(len == -1){ + free(name); + return 0; + } + rrp->rdata.soa.rname = strdupw(name); + cp += len; + + rrp->rdata.soa.serial = get32(cp); + cp += 4; + rrp->rdata.soa.refresh = get32(cp); + cp += 4; + rrp->rdata.soa.retry = get32(cp); + cp += 4; + rrp->rdata.soa.expire = get32(cp); + cp += 4; + rrp->rdata.soa.minimum = get32(cp); + cp += 4; + break; + case 16 : + + rrp->rdata.data = mallocw(rrp->rdlength); + memcpy(rrp->rdata.data,cp,rrp->rdlength); + cp += rrp->rdlength; + break; + default: + + cp += rrp->rdlength; + break; + } + free(name); + return cp; +} + + +static int +dn_expand(msg,eom,compressed,full,fullen) +uint8 *msg; +uint8 *eom; +uint8 *compressed; +char *full; +int fullen; +{ + unsigned int slen; + register uint8 *cp; + int clen = 0; + int indirect = 0; + int nseg = 0; + + cp = compressed; + for(;;){ + slen = *cp++; + if(!indirect) + clen++; + if((slen & 0xc0) == 0xc0){ + if(!indirect) + clen++; + indirect = 1; + + cp = &msg[((slen & 0x3f)<<8) + *cp]; + slen = *cp++; + } + if(slen == 0) + break; + fullen -= slen + 1; + if(fullen < 0) + return -1; + if(!indirect) + clen += slen; + while(slen-- != 0) + *full++ = (char)*cp++; + *full++ = '.'; + nseg++; + } + if(nseg == 0){ + + *full++ = '.'; + fullen--; + } + *full++ = '\0'; + fullen--; + return clen; +} + + diff --git a/src/nos/internet/hop.i b/src/nos/internet/hop.i new file mode 100644 index 00000000..acdf53a4 --- /dev/null +++ b/src/nos/internet/hop.i @@ -0,0 +1,5728 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int sys_nerr; + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *strerror (int _errno); + + + + + + + + + + + + + + + + + +struct zentry { + uint16 code; + char data; +}; +struct zfast { + uint16 owncode; + uint16 code; + char data; +}; + + + +struct lzw { + uint16 codebits; + int maxbits; + + int32 prefix; + char mode; + + + union { + struct zentry **tbl; + + struct mbuf **bpp; + + void *p; + } tu; + int nextbit; + int version; + + int32 cnt; + int32 code; + int32 next; + int flushbit; + + struct mbuf *buf; +}; + +struct usock; +void lzwencode(int s,char c); +void lzwinit(int s,int bits,int mode); +void lzwfree(struct usock *up); +void lzwflush(struct usock *up); +int lzwdecode(struct usock *up); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct tcp { + uint16 source; + uint16 dest; + int32 seq; + int32 ack; + uint16 wnd; + uint16 checksum; + uint16 up; + uint16 mss; + uint8 wsopt; + uint32 tsval; + uint32 tsecr; + struct { + unsigned int congest:1; + unsigned int urg:1; + unsigned int ack:1; + unsigned int psh:1; + unsigned int rst:1; + unsigned int syn:1; + unsigned int fin:1; + unsigned int mss:1; + unsigned int wscale:1; + unsigned int tstamp:1; + } flags; + + + + + + + + + + char optlen; + char options[40 ]; + +}; + + + + + + + + + + + +struct reseq { + struct reseq *next; + struct tcp seg; + struct mbuf *bp; + uint16 length; + char tos; +}; + +enum tcp_state { + TCP_CLOSED=1, + TCP_LISTEN, + TCP_SYN_SENT, + TCP_SYN_RECEIVED, + TCP_ESTABLISHED, + TCP_FINWAIT1, + TCP_FINWAIT2, + TCP_CLOSE_WAIT, + TCP_LAST_ACK, + TCP_CLOSING, + TCP_TIME_WAIT +}; + + +struct tcb { + struct tcb *next; + + struct connection conn; + + enum tcp_state state; + + char reason; + + + + + + + uint8 type; + uint8 code; + + + struct { + int32 una; + int32 nxt; + int32 ptr; + int32 wl1; + int32 wl2; + int32 wnd; + uint16 up; + uint8 wind_scale; + } snd; + int32 iss; + int32 resent; + int32 cwind; + int32 ssthresh; + int dupacks; + + + struct { + int32 nxt; + int32 wnd; + uint16 up; + uint8 wind_scale; + } rcv; + int32 last_ack_sent; + int32 ts_recent; + + int32 irs; + int32 rerecv; + int32 mss; + + int32 window; + int32 limit; + + void (*r_upcall)(struct tcb *tcb,int32 cnt); + + void (*t_upcall)(struct tcb *tcb,int32 cnt); + + void (*s_upcall)(struct tcb *tcb,int old,int new); + + struct { + unsigned int force:1; + unsigned int clone:1; + unsigned int retran:1; + unsigned int active:1; + unsigned int synack:1; + unsigned int rtt_run:1; + unsigned int congest:1; + int ts_ok:1; + int ws_ok:1; + } flags; + char tos; + int backoff; + + struct mbuf *rcvq; + struct mbuf *sndq; + int32 rcvcnt; + int32 sndcnt; + + + + + struct reseq *reseq; + struct timer timer; + int32 rtt_time; + int32 rttseq; + int32 rttack; + int32 srtt; + int32 mdev; + int32 rtt; + + int user; + + + int32 quench; + int32 unreach; + int32 timeouts; + int32 lastack; + int32 txbw; + int32 lastrx; + int32 rxbw; +}; + +struct tcp_rtt { + int32 addr; + int32 srtt; + int32 mdev; +}; +extern struct tcp_rtt Tcp_rtt[]; +extern int (*Kicklist[])(); + + +struct tcp_stat { + uint16 runt; + uint16 checksum; + uint16 conout; + uint16 conin; + uint16 resets; + uint16 bdcsts; +}; +extern struct mib_entry Tcp_mib[]; + + + + + + + + + + + + + + + + +extern struct tcb *Tcbs; +extern char *Tcpstates[]; +extern char *Tcpreasons[]; + + +extern int Tcp_tstamps; +extern int32 Tcp_irtt; +extern uint16 Tcp_limit; +extern uint16 Tcp_mss; +extern int Tcp_syndata; +extern int Tcp_trace; +extern uint16 Tcp_window; + +void st_tcp(struct tcb *tcb); + + +void htontcp(struct tcp *tcph,struct mbuf **data, + int32 ipsrc,int32 ipdest); +int ntohtcp(struct tcp *tcph,struct mbuf **bpp); + + +void reset(struct ip *ip,struct tcp *seg); +void send_syn(struct tcb *tcb); +void tcp_input(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast,int32 said); +void tcp_icmp(int32 icsource,int32 source,int32 dest, + uint8 type,uint8 code,struct mbuf **bpp); + + +void close_self(struct tcb *tcb,int reason); +struct tcb *create_tcb(struct connection *conn); +struct tcb *lookup_tcb(struct connection *conn); +void rtt_add(int32 addr,int32 rtt); +struct tcp_rtt *rtt_get(int32 addr); +int seq_ge(int32 x,int32 y); +int seq_gt(int32 x,int32 y); +int seq_le(int32 x,int32 y); +int seq_lt(int32 x,int32 y); +int seq_within(int32 x,int32 low,int32 high); +void settcpstate(struct tcb *tcb,enum tcp_state newstate); +void tcp_garbage(int red); + + +void tcp_output(struct tcb *tcb); + + +int32 backoff(int n); +void tcp_timeout(void *p); + + +int close_tcp(struct tcb *tcb); +int del_tcp(struct tcb *tcb); +int kick(int32 addr); +int kick_tcp(struct tcb *tcb); +struct tcb *open_tcp(struct socket *lsocket,struct socket *fsocket, + int mode,uint16 window, + void (*r_upcall)(struct tcb *tcb,int32 cnt), + void (*t_upcall)(struct tcb *tcb,int32 cnt), + void (*s_upcall)(struct tcb *tcb,int old,int new), + int tos,int user); +int32 recv_tcp(struct tcb *tcb,struct mbuf **bpp,int32 cnt); +void reset_all(void); +void reset_tcp(struct tcb *tcb); +long send_tcp(struct tcb *tcb,struct mbuf **bpp); +char *tcp_port(uint16 n); +int tcpval(struct tcb *tcb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern struct mib_entry Udp_mib[]; + + + + + + + + + +struct udp { + uint16 source; + uint16 dest; + uint16 length; + uint16 checksum; +}; + + + + + + +struct udp_cb { + struct udp_cb *next; + struct socket socket; + void (*r_upcall)(struct iface *iface,struct udp_cb *,int); + + struct mbuf *rcvq; + int rcvcnt; + int user; +}; +extern struct udp_cb *Udps; + + + + +int del_udp(struct udp_cb *up); +struct udp_cb *open_udp(struct socket *lsocket, + void (*r_upcall)(struct iface *iface,struct udp_cb *,int)); +int recv_udp(struct udp_cb *up,struct socket *fsocket,struct mbuf **bp); +int send_udp(struct socket *lsocket,struct socket *fsocket,char tos, + char ttl,struct mbuf **data,uint16 length,uint16 id,char df); +void udp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +void udp_garbage(int drastic); + + + + + + + + + + +int st_udp(struct udp_cb *udp,int n); + + +void htonudp(struct udp *udp,struct mbuf **data,struct pseudo_header *ph); +int ntohudp(struct udp *udp,struct mbuf **bpp); +uint16 udpcksum(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct ax25_cb { + struct ax25_cb *next; + + struct iface *iface; + + struct mbuf *txq; + struct mbuf *rxasm; + struct mbuf *rxq; + + uint8 local[7 ]; + uint8 remote[7 ]; + + struct { + unsigned int rejsent:1; + unsigned int remotebusy:1; + unsigned int rtt_run:1; + unsigned int retrans:1; + unsigned int clone:1; + } flags; + + uint8 reason; + + + + + uint8 response; + uint8 vs; + uint8 vr; + uint8 unack; + int maxframe; + uint16 paclen; + uint16 window; + enum { + V1=1, + V2 + } proto; + uint16 pthresh; + unsigned retries; + unsigned n2; + enum { + LAPB_DISCONNECTED=1, + LAPB_LISTEN, + LAPB_SETUP, + LAPB_DISCPENDING, + LAPB_CONNECTED, + LAPB_RECOVERY + } state; + struct timer t1; + struct timer t3; + int32 rtt_time; + int rtt_seq; + int32 srt; + int32 mdev; + + void (*r_upcall)(struct ax25_cb *,int); + void (*t_upcall)(struct ax25_cb *,int); + void (*s_upcall)(struct ax25_cb *,int,int); + + int user; + + int segremain; +}; + +struct axlink { + int pid; + void (*funct)(struct iface *,struct ax25_cb *,uint8 *, uint8 *, + struct mbuf **,int); +}; +extern struct axlink Axlink[]; + + + + + + +extern struct ax25_cb Ax25default,*Ax25_cb; +extern char *Ax25states[],*Axreasons[]; +extern int32 Axirtt,T3init,Blimit; +extern uint16 N2,Maxframe,Paclen,Pthresh,Axwindow,Axversion; + + +void st_ax25(struct ax25_cb *axp); + + +struct ax25_cb *cr_ax25(uint8 *addr); +void del_ax25(struct ax25_cb *axp); +struct ax25_cb *find_ax25(uint8 *); + + +int ax25val(struct ax25_cb *axp); +int disc_ax25(struct ax25_cb *axp); +int kick_ax25(struct ax25_cb *axp); +struct ax25_cb *open_ax25(struct iface *,uint8 *,uint8 *, + int,uint16, + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int,int), + int user); +struct mbuf *recv_ax25(struct ax25_cb *axp,uint16 cnt); +int reset_ax25(struct ax25_cb *axp); +int send_ax25(struct ax25_cb *axp,struct mbuf **bp,int pid); + + +void est_link(struct ax25_cb *axp); +void lapbstate(struct ax25_cb *axp,int s); +int lapb_input(struct ax25_cb *axp,int cmdrsp,struct mbuf **bp); +int lapb_output(struct ax25_cb *axp); +struct mbuf *segmenter(struct mbuf **bp,uint16 ssize); +int sendctl(struct ax25_cb *axp,int cmdrsp,int cmd); +int sendframe(struct ax25_cb *axp,int cmdrsp,int ctl,struct mbuf **data); +void axnl3(struct iface *iface,struct ax25_cb *axp,uint8 *src, + uint8 *dest,struct mbuf **bp,int mcast); + + +void pollthem(void *p); +void recover(void *p); + + +uint16 ftype(int control); +void lapb_garbage(int drastic); + + +void s_arcall(struct ax25_cb *axp,int cnt); +void s_ascall(struct ax25_cb *axp,int old,int new); +void s_atcall(struct ax25_cb *axp,int cnt); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct nr4hdr { + uint8 opcode ; + uint8 yourindex ; + uint8 yourid ; + + union { + + struct { + uint8 family ; + uint8 proto ; + } pid ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + uint8 user[7 ] ; + uint8 node[7 ] ; + } conreq ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + } conack ; + + struct { + uint8 txseq ; + uint8 rxseq ; + } info ; + + struct { + uint8 rxseq ; + } ack ; + + } u ; + +} ; + + + +struct nr4txbuf { + struct timer tretry ; + unsigned retries ; + struct mbuf *data ; +} ; + + + +struct nr4rxbuf { + uint8 occupied ; + struct mbuf *data ; +} ; + + +struct nr4_addr { + uint8 user[7 ]; + uint8 node[7 ]; +}; + +struct sockaddr_nr { + short nr_family; + struct nr4_addr nr_addr; +}; + + + +struct nr4cb { + unsigned mynum ; + unsigned myid ; + unsigned yournum ; + unsigned yourid ; + struct nr4_addr remote ; + struct nr4_addr local ; + + unsigned window ; + + + + long srtt ; + long mdev ; + unsigned blevel ; + unsigned txmax ; + + + + + + + + char clone ; + char choked ; + char qfull ; + + char naksent ; + + + + struct nr4txbuf *txbufs ; + uint8 nextosend ; + uint8 ackxpected ; + unsigned nbuffered ; + struct mbuf *txq ; + + + + struct nr4rxbuf *rxbufs ; + uint8 rxpected ; + uint8 rxpastwin ; + struct mbuf *rxq ; + + + + int state ; + + + + + + + int dreason ; + + + + + + + + + struct timer tchoke ; + struct timer tack ; + + struct timer tcd ; + unsigned cdtries ; + + void (*r_upcall)(struct nr4cb *,uint16); + + void (*t_upcall)(struct nr4cb *,uint16); + + void (*s_upcall)(struct nr4cb *,int,int); + + int user ; +} ; + + + +struct nr4circp { + uint8 cid ; + + struct nr4cb *ccb ; + +} ; + + + +extern struct nr4circp Nr4circuits[20 ] ; + + + +extern unsigned short Nr4window ; +extern long Nr4irtt ; +extern unsigned short Nr4retries ; +extern long Nr4acktime ; +extern char *Nr4states[] ; +extern char *Nr4reasons[] ; +extern unsigned short Nr4qlimit ; +extern long Nr4choketime ; +extern uint8 Nr4user[7 ]; + + + + +int ntohnr4(struct nr4hdr *, struct mbuf **); +struct mbuf *htonnr4(struct nr4hdr *); + + +void free_n4circ(struct nr4cb *); +struct nr4cb *get_n4circ(int, int); +int init_nr4window(struct nr4cb *, unsigned); +int nr4between(unsigned, unsigned, unsigned); +struct nr4cb *match_n4circ(int, int,uint8 *,uint8 *); +struct nr4cb *new_n4circ(void); +void nr4defaults(struct nr4cb *); +int nr4valcb(struct nr4cb *); +void nr_garbage(int red); + + +void nr4input(struct nr4hdr *hdr,struct mbuf **bp); +int nr4output(struct nr4cb *); +void nr4sbuf(struct nr4cb *, unsigned); +void nr4sframe(uint8 *, struct nr4hdr *, struct mbuf **); +void nr4state(struct nr4cb *, int); + + +void nr4ackit(void *); +void nr4cdtimeout(void *); +void nr4txtimeout(void *); +void nr4unchoke(void *); + + +void disc_nr4(struct nr4cb *); +int kick_nr4(struct nr4cb *); +struct nr4cb *open_nr4(struct nr4_addr *, struct nr4_addr *, int, + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,int,int),int); +struct mbuf *recv_nr4(struct nr4cb *, uint16); +void reset_nr4(struct nr4cb *); +int send_nr4(struct nr4cb *, struct mbuf **); + + +void nr4_state(struct nr4cb *, int, int); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct nr3hdr { + uint8 source[7 ] ; + uint8 dest[7 ] ; + unsigned ttl ; +} ; + + + +struct nr3dest { + uint8 dest[7 ] ; + char alias[7 ] ; + uint8 neighbor[7 ] ; + unsigned quality ; +} ; + + + +struct nriface { + struct iface *iface ; + char alias[7 ] ; + + unsigned quality ; +} ; + + +struct nrnbr_tab { + struct nrnbr_tab *next ; + struct nrnbr_tab *prev ; + uint8 call[7 ] ; + unsigned iface ; + + unsigned refcnt ; +} ; + + + + + + +struct nr_bind { + struct nr_bind *next ; + struct nr_bind *prev ; + unsigned quality ; + unsigned obsocnt ; + unsigned flags ; + + + struct nrnbr_tab *via ; +} ; + + + +struct nrroute_tab { + struct nrroute_tab *next ; + struct nrroute_tab *prev ; + char alias[7 ] ; + uint8 call[7 ] ; + unsigned num_routes ; + struct nr_bind *routes ; + +} ; + + +struct nrnf_tab { + struct nrnf_tab *next ; + struct nrnf_tab *prev ; + uint8 neighbor[7 ] ; + unsigned iface ; +} ; + + +struct raw_nr { + struct raw_nr *prev; + struct raw_nr *next; + + struct mbuf *rcvq; + uint8 protocol; +}; + + +extern struct nriface Nrifaces[10 ] ; + + +extern unsigned Nr_numiface ; + + +extern struct nrnbr_tab *Nrnbr_tab[17 ] ; + + +extern struct nrroute_tab *Nrroute_tab[17 ] ; + + +extern struct nrnf_tab *Nrnf_tab[17 ] ; + +extern uint8 Nr_nodebc[7 ]; + + + + + + + +extern unsigned Nr_nfmode ; + + +extern unsigned short Nr_ttl ; + + +extern unsigned Obso_init ; + + +extern unsigned Obso_minbc ; + + + +extern unsigned Nr_autofloor ; + + + + +extern int Nr_verbose ; + + + + + +extern unsigned Nr_maxroutes ; + + +extern struct iface *Nr_iface ; + + + + +void del_rnr(struct raw_nr *rpp); +uint8 *find_nralias(char *); +struct nrroute_tab *find_nrroute(uint8 *); +void nr_bcnodes(unsigned ifno); +void nr_nodercv(struct iface *iface,uint8 *source,struct mbuf **bpp); +int nr_nfadd(uint8 *, unsigned); +int nr_nfdrop(uint8 *, unsigned); +void nr_route(struct mbuf **bp,struct ax25_cb *iaxp); +int nr_routeadd(char *, uint8 *, unsigned, + unsigned, uint8 *, unsigned, unsigned); +int nr_routedrop(uint8 *, uint8 *, unsigned); +int nr_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +void nr_sendraw(uint8 *dest,unsigned family,unsigned proto, + struct mbuf **data); +void nr3output(uint8 *dest,struct mbuf **data); +uint16 nrhash(uint8 *s); +struct raw_nr *raw_nr(uint8); + + +void donrdump(struct nr4cb *cb); +int doroutedump(void); +int dorouteinfo(int argc,char *argv[],void *p); +int putalias(char *to, char *from,int complain); + + +struct mbuf *htonnr3(struct nr3hdr *); +struct mbuf *htonnrdest(struct nr3dest *); +int ntohnr3(struct nr3hdr *, struct mbuf **); +int ntohnrdest(struct nr3dest *ds,struct mbuf **bpp); + + + + + + + + +struct loc { + struct usock *peer; + struct mbuf *q; + int hiwat; + int flags; + +}; + + + + +union sp { + struct sockaddr *sa; + struct sockaddr_in *in; + struct sockaddr_ax *ax; + struct sockaddr_nr *nr; +}; +struct socklink { + int type; + int (*socket)(struct usock *,int); + int (*bind)(struct usock *); + int (*listen)(struct usock *,int); + int (*connect)(struct usock *); + int accept; + int (*recv)(struct usock *,struct mbuf **,struct sockaddr *,int *); + int (*send)(struct usock *,struct mbuf **,struct sockaddr *); + int (*qlen)(struct usock *,int); + int (*kick)(struct usock *); + int (*shut)(struct usock *,int); + int (*close)(struct usock *); + int (*check)(struct sockaddr *,int); + char **error; + char *(*state)(struct usock *); + int (*status)(struct usock *); + char *eol; +}; +extern struct socklink Socklink[]; +union cb { + struct tcb *tcb; + struct ax25_cb *ax25; + struct udp_cb *udp; + struct raw_ip *rip; + struct raw_nr *rnr; + struct nr4cb *nr4; + struct loc *local; + void *p; +}; + +struct usock { + unsigned strchr; + struct proc *owner; + int refcnt; + char noblock; + enum { + NOTUSED, + TYPE_TCP, + TYPE_UDP, + TYPE_AX25I, + TYPE_AX25UI, + TYPE_RAW, + TYPE_NETROML3, + TYPE_NETROML4, + TYPE_LOCAL_STREAM, + TYPE_LOCAL_DGRAM + } type; + struct socklink *sp; + int rdysock; + union cb cb; + struct sockaddr *name; + int namelen; + struct sockaddr *peername; + int peernamelen; + uint8 errcodes[4]; + uint8 tos; + int flag; +}; +extern char *(*Psock[])(struct sockaddr *); +extern char Badsocket[]; +extern char *Socktypes[]; +extern struct usock **Usock; +extern unsigned Nsock; +extern uint16 Lport; + +struct usock *itop(int s); +void st_garbage(int red); + + +int so_ax_sock(struct usock *up,int protocol); +int so_ax_bind(struct usock *up); +int so_ax_listen(struct usock *up,int backlog); +int so_ax_conn(struct usock *up); +int so_ax_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_ax_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_ax_qlen(struct usock *up,int rtx); +int so_ax_kick(struct usock *up); +int so_ax_shut(struct usock *up,int how); +int so_ax_close(struct usock *up); +int checkaxaddr(struct sockaddr *name,int namelen); +int so_axui_sock(struct usock *up,int protocol); +int so_axui_bind(struct usock *up); +int so_axui_conn(struct usock *up); +int so_axui_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_axui_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_axui_qlen(struct usock *up,int rtx); +int so_axui_shut(struct usock *up,int how); +int so_axui_close(struct usock *up); +char *axpsocket(struct sockaddr *p); +char *axstate(struct usock *up); +int so_ax_stat(struct usock *up); + + + +int so_ip_sock(struct usock *up,int protocol); +int so_ip_conn(struct usock *up); +int so_ip_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_ip_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_ip_qlen(struct usock *up,int rtx); +int so_ip_close(struct usock *up); +int checkipaddr(struct sockaddr *name,int namelen); +char *ippsocket(struct sockaddr *p); + + +int so_los(struct usock *up,int protocol); +int so_lod(struct usock *up,int protocol); +int so_lo_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_los_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_lod_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_lod_qlen(struct usock *up,int rtx); +int so_los_qlen(struct usock *up,int rtx); +int so_loc_shut(struct usock *up,int how); +int so_loc_close(struct usock *up); +char *lopsocket(struct sockaddr *p); +int so_loc_stat(struct usock *up); + + +int so_n3_sock(struct usock *up,int protocol); +int so_n4_sock(struct usock *up,int protocol); +int so_n4_listen(struct usock *up,int backlog); +int so_n3_conn(struct usock *up); +int so_n4_conn(struct usock *up); +int so_n3_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_n4_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_n3_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_n4_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_n3_qlen(struct usock *up,int rtx); +int so_n4_qlen(struct usock *up,int rtx); +int so_n4_kick(struct usock *up); +int so_n4_shut(struct usock *up,int how); +int so_n3_close(struct usock *up); +int so_n4_close(struct usock *up); +int checknraddr(struct sockaddr *name,int namelen); +char *nrpsocket(struct sockaddr *p); +char *nrstate(struct usock *up); +int so_n4_stat(struct usock *up); + + +int so_tcp(struct usock *up,int protocol); +int so_tcp_listen(struct usock *up,int backlog); +int so_tcp_conn(struct usock *up); +int so_tcp_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_tcp_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_tcp_qlen(struct usock *up,int rtx); +int so_tcp_kick(struct usock *up); +int so_tcp_shut(struct usock *up,int how); +int so_tcp_close(struct usock *up); +char *tcpstate(struct usock *up); +int so_tcp_stat(struct usock *up); + + +int so_udp(struct usock *up,int protocol); +int so_udp_bind(struct usock *up); +int so_udp_conn(struct usock *up); +int so_udp_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_udp_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_udp_qlen(struct usock *up,int rtx); +int so_udp_shut(struct usock *up,int how); +int so_udp_close(struct usock *up); +int so_udp_stat(struct usock *up); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + + + + + + + + + + +enum ftp_type { + ASCII_TYPE, + IMAGE_TYPE, + LOGICAL_TYPE +}; + + +enum verb_level { + V_QUIET, + V_SHORT, + V_NORMAL, + V_HASH, + V_STAT +}; + +long sendfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +long recvfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +int isbinary(FILE *fp); +int md5hash(FILE *fp,uint8 hash[16],int ascii); + + + + + + + + + + + +struct ftpcli { + FILE *control; + FILE *data; + + char state; + + + + + uint16 verbose; + int batch; + int abort; + int update; + char type; + char typesent; + int logbsize; + FILE *fp; + + char buf[256 ]; + char line[256 ]; + struct session *session; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct telnet { + char local[6]; + char remote[6]; + struct session *session; + char eolmode; +}; + +extern int Refuse_echo; +extern int Tn_cr_mode; + + +int tel_connect(struct session *sp,struct sockaddr *fsocket,int len); +void tel_output(int unused,void *p1,void *p2); +void tnrecv(struct telnet *tn); +void doopt(struct telnet *tn,int opt); +void dontopt(struct telnet *tn,int opt); +void willopt(struct telnet *tn,int opt); +void wontopt(struct telnet *tn,int opt); +void answer(struct telnet *tn,int r1,int r2); + + +void ttylhandle(int s,void *unused,void *p); + + + + +struct ttystate { + uint8 *line; + uint8 *lp; + unsigned int echo:1; + unsigned int edit:1; + unsigned int crnl:1; +}; + + +struct session { + unsigned strchr; + enum { + TELNET, + FTP, + AX25TNC, + FINGER, + PING, + NRSESSION, + COMMAND, + VIEW, + HOP, + TIP, + PPPPASS, + DIAL, + DQUERY, + DCLIST, + ITRACE, + REPEAT, + FAX + } type; + + char *name; + union { + struct ftpcli *ftp; + struct telnet *telnet; + void *p; + } cb; + struct proc *proc; + struct proc *proc1; + struct proc *proc2; + FILE *network; + FILE *record; + FILE *upload; + struct ttystate ttystate; + FILE *input; + FILE *output; + int (*ctlproc)(int); + int (*inproc)(int); + struct session *parent; + enum { + SCROLL_INBAND, + SCROLL_LOCAL + } scrollmode; +}; +extern char *Sestypes[]; +extern unsigned Nsessions; +extern long Sfsize; + +extern struct session *Sessions[]; + + + +extern struct session *Current; +extern struct session *Lastcurr; +extern struct session *Command; +extern char *Cmdline; + + +void freesession(struct session *sp); +int keywait(char *prompt,int flush); +struct session *sessptr(char *cp); +struct session *newsession(char *name,int type,int makecur); +void sesflush(void); +void upload(int unused,void *sp1,void *p); + +extern uint16 Lport; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct dserver { + struct dserver *prev; + struct dserver *next; + + int32 address; + int32 timeout; + int32 srtt; + int32 mdev; + int32 queries; + int32 responses; +}; +extern struct dserver *Dlist; +extern int Dsocket; + + + + + + + + +struct dhdr { + uint16 id; + uint8 qr; + + + uint8 opcode; + + uint8 aa; + uint8 tc; + uint8 rd; + uint8 ra; + uint8 rcode; + + + + + + + uint16 qdcount; + uint16 ancount; + uint16 nscount; + uint16 arcount; + struct rr *questions; + struct rr *answers; + struct rr *authority; + struct rr *additional; +}; + +struct mx { + uint16 pref; + char *exch; +}; + +struct hinfo { + char *cpu; + char *os; +}; + +struct soa { + char *mname; + char *rname; + int32 serial; + int32 refresh; + int32 retry; + int32 expire; + int32 minimum; +}; + +struct rr { + struct rr *last; + struct rr *next; + uint8 source; + + + + + + + + + + char *comment; + char *name; + int32 ttl; + + uint16 class; + + uint16 type; + + uint16 rdlength; + union { + int32 addr; + struct soa soa; + struct mx mx; + struct hinfo hinfo; + char *name; + char *data; + } rdata; +}; +extern struct proc *Dfile_updater; + + +int add_nameserver(int32 address); +void free_rr(struct rr *rrlp); +struct rr *inverse_a(int32 ip_address); +struct rr *resolve_rr(char *dname,uint16 dtype); +char *resolve_a(int32 ip_address, int shorten); +struct rr *resolve_mailb(char *name); + + +int ntohdomain(struct dhdr *dhdr,struct mbuf **bpp); + + + + + + +int doasystat(int argc,char *argv[],void *p); +int fp_attach (int argc,char *argv[],void *p); + + +int domem(int argc,char *argv[],void *p); + + +int doamiga(int argc,char *argv[],void *p); + + +int doarp(int argc,char *argv[],void *p); + + +int asy_attach(int argc,char *argv[],void *p); + + +int doax25(int argc,char *argv[],void *p); +int doaxheard(int argc,char *argv[],void *p); +int doaxdest(int argc,char *argv[],void *p); +int doconnect(int argc,char *argv[],void *p); + + +int dobootp(int argc,char *argv[],void *p); + + +int bootpdcmd(int argc,char *argv[],void *p); + + +int dodialer(int argc,char *argv[],void *p); + + +int docd(int argc,char *argv[],void *p); +int dodir(int argc,char *argv[],void *p); +int domkd(int argc,char *argv[],void *p); +int dormd(int argc,char *argv[],void *p); + + +int dodomain(int argc,char *argv[],void *p); + + +int dodrstat(int argc,char *argv[],void *p); +int dr_attach(int argc,char *argv[],void *p); +int dodr(int argc,char *argv[],void *p); + + +int eg_attach(int argc,char *argv[],void *p); +int doegstat(int argc,char *argv[],void *p); + + +int doetherstat(int argc,char *argv[],void *p); +int ec_attach(int argc,char *argv[],void *p); + + +int dofax(int argc,char *argv[],void *p); +int fax1(int argc,char *argv[],void *p); +int fax0(int argc,char *argv[],void *p); + + +int dofinger(int argc,char *argv[],void *p); + + +int finstart(int argc,char *argv[],void *p); +int fin0(int argc,char *argv[],void *p); + + +int doftp(int argc,char *argv[],void *p); +int doabort(int argc,char *argv[],void *p); + + +int ftpstart(int argc,char *argv[],void *p); +int ftp0(int argc,char *argv[],void *p); + + +int dohapnstat(int argc,char *argv[],void *p); +int hapn_attach(int argc,char *argv[],void *p); + + +int dohop(int argc,char *argv[],void *p); + + +int dohs(int argc,char *argv[],void *p); +int hs_attach(int argc,char *argv[],void *p); + + +int doicmp(int argc,char *argv[],void *p); + + +int doifconfig(int argc,char *argv[],void *p); +int dodetach(int argc,char *argv[],void *p); + + +int doip(int argc,char *argv[],void *p); +int doroute(int argc,char *argv[],void *p); + + +int dosec(int argc,char *argv[],void *p); + + +int doksp(int argc,char *argv[],void *p); + + +int ps(int argc,char *argv[],void *p); + + +int dolterm(int argc,char *argv[],void *p); + + +int dodelete(int argc,char *argv[],void *p); +int dorename(int argc,char *argv[],void *p); +int doexit(int argc,char *argv[],void *p); +int dohostname(int argc,char *argv[],void *p); +int dolog(int argc,char *argv[],void *p); +int dohelp(int argc,char *argv[],void *p); +int doattach(int argc,char *argv[],void *p); +int doparam(int argc,char *argv[],void *p); +int dopage(int argc,char *argv[],void *p); +int domode(int argc,char *argv[],void *p); +int donothing(int argc,char *argv[],void *p); +int donrstat(int argc,char *argv[],void *p); +int doescape(int argc,char *argv[],void *p); +int doremote(int argc,char *argv[],void *p); +int doboot(int argc,char *argv[],void *p); +int dorepeat(int argc,char *argv[],void *p); +int dostacktest(int argc,char *argv[],void *p); +int dosysdebug(int argc,char *argv[],void *p); +int dosystrace(int argc,char *argv[],void *p); +int dowipe(int argc,char *argv[],void *p); + + +int dombox(int argc,char *argv[],void *p); + + +int donntp(int argc,char *argv[],void *p); + + +int donetrom(int argc,char *argv[],void *p); +int nr_attach(int argc,char *argv[],void *p); + + +int doshell(int argc,char *argv[],void *p); +int doisat(int argc,char *argv[],void *p); + + +int pc_attach(int argc,char *argv[],void *p); + + +int pk_attach(int argc,char *argv[],void *p); + + +int pi_attach(int argc,char *argv[],void *p); +int dopistat(int argc,char *argv[],void *p); + + +int doping(int argc,char *argv[],void *p); + + +int dopop(int argc,char *argv[],void *p); + + +int pop1(int argc,char *argv[],void *p); +int pop0(int argc,char *argv[],void *p); + + +int doqtso(int argc,char *argv[],void *p); + + +int dorarp(int argc,char *argv[],void *p); + + +int dorip(int argc,char *argv[],void *p); + + +int doaddrefuse(int argc,char *argv[],void *p); +int dodroprefuse(int argc,char *argv[],void *p); +int dorip(int argc,char *argv[],void *p); +int doripadd(int argc,char *argv[],void *p); +int doripdrop(int argc,char *argv[],void *p); +int doripinit(int argc,char *argv[],void *p); +int doripmerge(int argc,char *argv[],void *p); +int doripreq(int argc,char *argv[],void *p); +int doripstat(int argc,char *argv[],void *p); +int doripstop(int argc,char *argv[],void *p); +int doriptrace(int argc,char *argv[],void *p); + + +int dosound(int argc,char *argv[],void *p); + + +int escc_attach(int argc,char *argv[],void *p); +int doesccstat(int argc,char *argv[],void *p); + + +int dosession(int argc,char *argv[],void *p); +int go(int argc,char *argv[],void *p); +int doclose(int argc,char *argv[],void *p); +int doreset(int argc,char *argv[],void *p); +int dokick(int argc,char *argv[],void *p); +int dorecord(int argc,char *argv[],void *p); +int dosfsize(int argc,char *argv[],void *p); +int doupload(int argc,char *argv[],void *p); + + +int dis1(int argc,char *argv[],void *p); +int dis0(int argc,char *argv[],void *p); +int echo1(int argc,char *argv[],void *p); +int echo0(int argc,char *argv[],void *p); +int rem1(int argc,char *argv[],void *p); +int rem0(int argc,char *argv[],void *p); +int term1(int argc,char *argv[],void *p); +int term0(int argc,char *argv[],void *p); +int bsr1(int argc,char *argv[],void *p); +int bsr0(int argc,char *argv[],void *p); + + +int dosmtp(int argc,char *argv[],void *p); + + +int smtp1(int argc,char *argv[],void *p); +int smtp0(int argc,char *argv[],void *p); + + +int dosock(int argc,char *argv[],void *p); + + +int dofiles(int argc,char *argv[],void *p); + + +int doswatch(int argc,char *argv[],void *p); + + +int dotcp(int argc,char *argv[],void *p); + + +int doecho(int argc,char *argv[],void *p); +int doeol(int argc,char *argv[],void *p); +int dotelnet(int argc,char *argv[],void *p); +int dotopt(int argc,char *argv[],void *p); + + +int dotip(int argc,char *argv[],void *p); + + +int ttylstart(int argc,char *argv[],void *p); +int ttyl0(int argc,char *argv[],void *p); + + +int dotrace(int argc,char *argv[],void *p); + + +int doudp(int argc,char *argv[],void *p); + + +int doview(int argc,char *argv[],void *p); +void view(int,void *,void *); + + + + + + + + + + + + + + +int ttydriv(struct session *sp,uint8 c); + + + + + + + + + + + + +struct cmds { + _char *name; + int (*func)(int argc,char *argv[],void *p); + + int stksize; + int argcmin; + _char *argc_errmsg; +}; +extern struct cmds Cmds[],Startcmds[],Stopcmds[],Attab[]; + + +int cmdparse(struct cmds cmds[], char *line, void *p); +int subcmd(struct cmds tab[], int argc, char *argv[], void *p); +int setbool(int *var, _char *label, int argc, char *argv[]); +int bit16cmd(uint16 *bits, uint16 mask, _char *label, int argc, char *argv[]); +int setint(int *var, _char *label, int argc, char *argv[]); +int setlong(int32 *var, _char *label, int argc, char *argv[]); +int setshort(unsigned short *var, _char *label, int argc, char *argv[]); +int setuns(unsigned *var, _char *label, int argc, char *argv[]); + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern struct mib_entry Icmp_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct icmp { + uint8 type; + uint8 code; + union icmp_args { + uint16 mtu; + int32 unused; + uint8 pointer; + int32 address; + struct { + uint16 id; + uint16 seq; + } echo; + } args; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int Icmp_trace; +extern int Icmp_echo; + + +extern char *Icmptypes[],*Unreach[],*Exceed[],*Redirect[],*Said_icmp[]; + +struct icmplink { + uint8 proto; + void (*funct)(int32,int32,int32,uint8,uint8,struct mbuf **); +}; +extern struct icmplink Icmplink[]; + + +void icmp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int icmp_output(struct ip *ip,struct mbuf *data,uint8 type,uint8 code, + union icmp_args *args); + + +void htonicmp(struct icmp *icmp,struct mbuf **data); +int ntohicmp(struct icmp *icmp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + +void logmsg(int s, _char *fmt, ...); + + + + + +static uint16 Hoprport = 32768+666; + + + + + +static int Hoptrace = 0; +static int hoptrace(int argc,char *argv[],void *p); + + + +static unsigned short Hopmaxttl = 30; +static unsigned short Hopmaxwait = 5; +static unsigned short Hopquery = 3; + +static int hopcheck(int argc,char *argv[],void *p); +static int hopttl(int argc,char *argv[],void *p); +static int hokwait(int argc,char *argv[],void *p); +static int hopnum(int argc,char *argv[],void *p); +static int geticmp(int s,uint16 lport,uint16 fport, + int32 *sender,char *type,char *code); +static int keychar(int c); + +static struct cmds Hopcmds[] = { + N_("check"), hopcheck, 2048, 2, N_("check "), + N_("maxttl"), hopttl, 0, 0, 0, + N_("maxwait"), hokwait, 0, 0, 0, + N_("queries"), hopnum, 0, 0, 0, + + N_("trace"), hoptrace, 0, 0, 0, + + 0, +}; + + +int +dohop(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return subcmd(Hopcmds,argc,argv,p); +} + + +static int +hopnum(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + uint16 r; + uint16 x = Hopquery; + r = setshort(&x, _("# queries each attempt"), argc, argv); + if ((x <= 0)||(x > 5 )) { + _printf(_("Must be 0 < x <= %d\n"),5 ); + return 0; + } else { + Hopquery = x; + } + return (int)r; +} + + +static int +hoptrace(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setbool(&Hoptrace, _("HOPCHECK tracing"), argc, argv); +} + + +static int +hopttl(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + uint16 r; + uint16 x = Hopmaxttl; + r = setshort(&x, _("Max attempts to reach host"), argc, argv); + if ((x <= 0)||(x > 255)) { + _printf(_("Must be 0 < x <= 255\n")); + return 0; + } else { + Hopmaxttl = x; + } + return (int)r; +} + +static int +hokwait(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + uint16 r; + uint16 x = Hopmaxwait; + r = setshort(&x, _("# secs to wait for reply to query"), argc, argv); + if (x <= 0) { + _printf(_("Must be >= 0\n")); + return 0; + } else { + Hopmaxwait = x; + } + return (int)r; +} + + +static int +hopcheck(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct session *sp; + int s; + int s1; + struct socket lsocket; + struct socket rsocket; + int32 cticks; + int32 icsource; + char ictype; + char iccode; + int32 lastaddr; + struct sockaddr_in sock; + register struct usock *usp; + register struct sockaddr_in *sinp; + unsigned char sndttl, q; + int tracedone = 0; + int ilookup = 1; + int c; + extern int optind; + char *hostname; + int save_trace; + int user_reset = 0; + + optind = 1; + while((c = getopt(argc,argv,"n")) != (-1)){ + switch(c){ + case 'n': + ilookup = 0; + break; + } + } + hostname = argv[optind]; + + if((sp = newsession(Cmdline,HOP,1)) == 0){ + _printf(_("Too many sessions\n")); + keywait(0,1); + return 1; + } + sp->inproc = keychar; + s = -1; + + + sock.sin_family = 0; + sock.sin_port = Hoprport; + _printf(_("Resolving %s... "),hostname); + if((sock.sin_addr.s_addr = resolve(hostname)) == 0){ + _printf(_("unknown\n"),hostname); + keywait(0,1); + freesession(sp); + return 1; + } + + + _printf(_("%s "),psocket((struct sockaddr *)&sock)); + if((s = socket(0,1,0)) == -1){ + _printf(_("Can't create udp socket\n")); + keywait(0,1); + freesession(sp); + return 1; + } + if(connect(s,(struct sockaddr *)&sock,sizeof(sock)) == -1){ + _printf(_("Connect failed\n")); + keywait(0,1); + freesession(sp); + return 1; + } + if((s1 = socket(0,2,1 )) == -1){ + _printf(_("Can't create raw socket\n")); + keywait(0,1); + close(s); + freesession(sp); + return 1; + } + _printf(_("\n")); + + save_trace = Icmp_trace; + Icmp_trace = 0; + + + + usp = itop(s); + sinp = (struct sockaddr_in *)usp->name; + lsocket.address = sinp->sin_addr.s_addr; + lsocket.port = sinp->sin_port; + sinp = (struct sockaddr_in *)usp->peername; + rsocket.address = sinp->sin_addr.s_addr; + + + if (Hoptrace) + logmsg(s, _("HOPCHECK start trace to %s\n"), sp->name); + for (sndttl=1; (sndttl < Hopmaxttl); ++sndttl, sinp->sin_port++) { + + rsocket.port = sinp->sin_port; + _printf(_("%3d:"),sndttl); + lastaddr = (int32)0; + + for (q=0; (q < Hopquery); ++q) { + struct mbuf *bp; + bp = ambufw(0); + send_udp(&lsocket,&rsocket,0,sndttl,&bp,0,0,0); + cticks = msclock(); + kalarm( ((long)Hopmaxwait*1000L) ); + + + if(geticmp(s1,lsocket.port,rsocket.port, + &icsource,&ictype,&iccode) == -1){ + if((Curproc->p_errno) != 106){ + user_reset = 1; + goto done; + } + + _printf(_(" ***")); + continue; + } + + cticks = msclock() - cticks; + + if (icsource != lastaddr) { + struct rr *save_rrlp, *rrlp; + + if(lastaddr != (int32)0) + _printf(_("\n ")); + _printf(_(" %-15s"),inet_ntoa(icsource)); + if(ilookup){ + for(rrlp = save_rrlp = inverse_a(icsource); + rrlp != 0; + rrlp = rrlp->next){ + if(rrlp->rdlength > 0){ + switch(rrlp->type){ + case 12 : + _printf(_(" %s"), rrlp->rdata.name); + goto got_name; + case 1 : + _printf(_(" %s"), rrlp->name); + goto got_name; + } + + + + + } + } + got_name: ; + free_rr(save_rrlp); + + } + lastaddr = icsource; + } + _printf(_(" (%ld ms)"),cticks); + + if (Hoptrace) + logmsg(s, _( + "(hopcheck) ICMP from %s (%ldms) %s %s"), + inet_ntoa(icsource), + cticks, + Icmptypes[ictype], + ((ictype == 11 )?Exceed[iccode]:Unreach[iccode])); + + + + if (ictype == 11 ) + continue; + + switch(iccode) { + case 3 : + ++tracedone; + break; + case 0 : + ++tracedone; + _printf(_(" !N")); + break; + case 1 : + ++tracedone; + _printf(_(" !H")); + break; + case 2 : + ++tracedone; + _printf(_(" !P")); + break; + case 4 : + ++tracedone; + _printf(_(" !F")); + break; + case 5 : + ++tracedone; + _printf(_(" !S")); + break; + case 13 : + ++tracedone; + _printf(_(" !A")); + break; + default: + _printf(_(" !?")); + break; + } + } + + kalarm((long)0); + _printf(_("\n")); + + if (tracedone != 0) + break; + } + + +done: close(s); + s = -1; + close(s1); + if(user_reset) + _printf(_("\n")); + _printf(_("traceroute done: ")); + Icmp_trace = save_trace; + if(user_reset){ + _printf(_("user abort\n")); + } else if (sndttl >= Hopmaxttl) { + _printf(_("!! maximum TTL exceeded\n")); + } else if ((icsource == rsocket.address) + &&(iccode == 3 )) { + _printf(_("normal (%s %s)\n"), + Icmptypes[ictype],Unreach[iccode]); + } else { + _printf(_("!! %s %s\n"), + Icmptypes[ictype],Unreach[iccode]); + } + + if (Hoptrace) + logmsg(s, _("HOPCHECK to %s done"), sp->name); + + keywait(0,1); + freesession(sp); + return 0; +} + + +static int +keychar(c) +int c; +{ + switch(c){ + case 0x3: + alert(Current->proc,107); + return 0; + } + return 1; +} + + + + +static int +geticmp(s,lport,fport,sender,type,code) +int s; +uint16 lport; +uint16 fport; +int32 *sender; +char *type,*code; +{ + int size; + struct icmp icmphdr; + struct ip iphdr; + struct udp udphdr; + struct mbuf *bp; + struct sockaddr_in sock; + + for(;;){ + size = sizeof(sock); + if(recv_mbuf(s,&bp,0,(struct sockaddr *)&sock,&size) == -1) + return -1; + + ntohicmp(&icmphdr,&bp); + if((icmphdr.type != 11 || + icmphdr.code != 0 ) + && icmphdr.type != 3 ){ + + free_p(&bp); + continue; + } + ntohip(&iphdr,&bp); + if(iphdr.protocol != 17 ){ + + free_p(&bp); + continue; + } + ntohudp(&udphdr,&bp); + if(udphdr.dest != fport || udphdr.source != lport){ + + free_p(&bp); + continue; + } + + *sender = sock.sin_addr.s_addr; + *type = icmphdr.type; + *code = icmphdr.code; + free_p(&bp); + return 0; + } +} diff --git a/src/nos/internet/icmp.i b/src/nos/internet/icmp.i new file mode 100644 index 00000000..f5aaa32f --- /dev/null +++ b/src/nos/internet/icmp.i @@ -0,0 +1,3379 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern struct mib_entry Icmp_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct icmp { + uint8 type; + uint8 code; + union icmp_args { + uint16 mtu; + int32 unused; + uint8 pointer; + int32 address; + struct { + uint16 id; + uint16 seq; + } echo; + } args; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int Icmp_trace; +extern int Icmp_echo; + + +extern char *Icmptypes[],*Unreach[],*Exceed[],*Redirect[],*Said_icmp[]; + +struct icmplink { + uint8 proto; + void (*funct)(int32,int32,int32,uint8,uint8,struct mbuf **); +}; +extern struct icmplink Icmplink[]; + + +void icmp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int icmp_output(struct ip *ip,struct mbuf *data,uint8 type,uint8 code, + union icmp_args *args); + + +void htonicmp(struct icmp *icmp,struct mbuf **data); +int ntohicmp(struct icmp *icmp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + + + + + + + + + + +enum ftp_type { + ASCII_TYPE, + IMAGE_TYPE, + LOGICAL_TYPE +}; + + +enum verb_level { + V_QUIET, + V_SHORT, + V_NORMAL, + V_HASH, + V_STAT +}; + +long sendfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +long recvfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +int isbinary(FILE *fp); +int md5hash(FILE *fp,uint8 hash[16],int ascii); + + + + + + + + + + + +struct ftpcli { + FILE *control; + FILE *data; + + char state; + + + + + uint16 verbose; + int batch; + int abort; + int update; + char type; + char typesent; + int logbsize; + FILE *fp; + + char buf[256 ]; + char line[256 ]; + struct session *session; +}; + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + +struct telnet { + char local[6]; + char remote[6]; + struct session *session; + char eolmode; +}; + +extern int Refuse_echo; +extern int Tn_cr_mode; + + +int tel_connect(struct session *sp,struct sockaddr *fsocket,int len); +void tel_output(int unused,void *p1,void *p2); +void tnrecv(struct telnet *tn); +void doopt(struct telnet *tn,int opt); +void dontopt(struct telnet *tn,int opt); +void willopt(struct telnet *tn,int opt); +void wontopt(struct telnet *tn,int opt); +void answer(struct telnet *tn,int r1,int r2); + + +void ttylhandle(int s,void *unused,void *p); + + + + +struct ttystate { + uint8 *line; + uint8 *lp; + unsigned int echo:1; + unsigned int edit:1; + unsigned int crnl:1; +}; + + +struct session { + unsigned strchr; + enum { + TELNET, + FTP, + AX25TNC, + FINGER, + PING, + NRSESSION, + COMMAND, + VIEW, + HOP, + TIP, + PPPPASS, + DIAL, + DQUERY, + DCLIST, + ITRACE, + REPEAT, + FAX + } type; + + char *name; + union { + struct ftpcli *ftp; + struct telnet *telnet; + void *p; + } cb; + struct proc *proc; + struct proc *proc1; + struct proc *proc2; + FILE *network; + FILE *record; + FILE *upload; + struct ttystate ttystate; + FILE *input; + FILE *output; + int (*ctlproc)(int); + int (*inproc)(int); + struct session *parent; + enum { + SCROLL_INBAND, + SCROLL_LOCAL + } scrollmode; +}; +extern char *Sestypes[]; +extern unsigned Nsessions; +extern long Sfsize; + +extern struct session *Sessions[]; + + + +extern struct session *Current; +extern struct session *Lastcurr; +extern struct session *Command; +extern char *Cmdline; + + +void freesession(struct session *sp); +int keywait(char *prompt,int flush); +struct session *sessptr(char *cp); +struct session *newsession(char *name,int type,int makecur); +void sesflush(void); +void upload(int unused,void *sp1,void *p); + +extern uint16 Lport; + + + + + +struct ping { + struct session *sp; + int s; + int32 target; + int incflag; + int32 sent; + int32 srtt; + int32 mdev; + int32 maxrtt; + int32 minrtt; + int32 responses; + int32 interval; + uint16 len; +}; + + +void echo_proc(int32 source,int32 dest,struct icmp *icmp,struct mbuf **bpp); +int pingem(int s,int32 target,uint16 seq,uint16 id,uint16 len); + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + +struct mib_entry Icmp_mib[] = { + "", 0, + "icmpInMsgs", 0, + "icmpInErrors", 0, + "icmpInDestUnreachs", 0, + "icmpInTimeExcds", 0, + "icmpInParmProbs", 0, + "icmpInSrcQuenchs", 0, + "icmpInRedirects", 0, + "icmpInEchos", 0, + "icmpInEchoReps", 0, + "icmpInTimestamps", 0, + "icmpInTimestampReps", 0, + "icmpInAddrMasks", 0, + "icmpInAddrMaskReps", 0, + "icmpOutMsgs", 0, + "icmpOutErrors", 0, + "icmpOutDestUnreachs", 0, + "icmpOutTimeExcds", 0, + "icmpOutParmProbs", 0, + "icmpOutSrcQuenchs", 0, + "icmpOutRedirects", 0, + "icmpOutEchos", 0, + "icmpOutEchoReps", 0, + "icmpOutTimestamps", 0, + "icmpOutTimestampReps", 0, + "icmpOutAddrMasks", 0, + "icmpOutAddrMaskReps", 0, +}; + + +void +icmp_input( +struct iface *iface, +struct ip *ip, +struct mbuf **bpp, +int rxbroadcast, +int32 said +){ + struct icmplink *ipp; + struct icmp icmp; + struct ip oip; + uint16 type; + uint16 length; + + Icmp_mib[1].value.integer++; + if(rxbroadcast){ + + Icmp_mib[2].value.integer++; + free_p(bpp); + return; + } + length = ip->length - 20 - ip->optlen; + if(cksum(0,*bpp,length) != 0){ + + Icmp_mib[2].value.integer++; + free_p(bpp); + return; + } + ntohicmp(&icmp,bpp); + + + + + type = icmp.type; + + switch(type){ + case 11 : + case 3 : + case 4 : + case 19 : + switch(type){ + case 11 : + Icmp_mib[4].value.integer++; + break; + case 3 : + Icmp_mib[3].value.integer++; + break; + case 4 : + Icmp_mib[6].value.integer++; + break; + } + ntohip(&oip,bpp); + if(Icmp_trace){ + _printf(_("ICMP from %s:"),inet_ntoa(ip->source)); + _printf(_(" dest %s %s"),inet_ntoa(oip.dest), + smsg(Icmptypes,20,type)); + switch(type){ + case 11 : + _printf(_(" %s\n"), + smsg(Exceed,2,icmp.code)); + break; + case 3 : + _printf(_(" %s\n"), + smsg(Unreach,14,icmp.code)); + break; + case 19 : + _printf(_(" %s\n"),smsg(Said_icmp,3,icmp.code)); + break; + default: + _printf(_(" %u\n"),icmp.code); + break; + } + } + for(ipp = Icmplink;ipp->funct != 0;ipp++) + if(ipp->proto == oip.protocol) + break; + if(ipp->funct != 0){ + (*ipp->funct)(ip->source,oip.source,oip.dest,icmp.type, + icmp.code,bpp); + } + break; + case 8 : + + + + Icmp_mib[8].value.integer++; + icmp.type = 0 ; + htonicmp(&icmp,bpp); + Icmp_mib[22].value.integer++; + + ip_send(ip->dest,ip->source,1 ,ip->tos,0,bpp,length,0,0); + return; + case 5 : + Icmp_mib[7].value.integer++; + ntohip(&oip,bpp); + if(Icmp_trace){ + _printf(_("ICMP from %s:"),inet_ntoa(ip->source)); + _printf(_(" dest %s %s"),inet_ntoa(oip.dest), + smsg(Icmptypes,20,type)); + _printf(_(" new gateway %s\n"),inet_ntoa(icmp.args.address)); + } + break; + case 12 : + Icmp_mib[5].value.integer++; + break; + case 0 : + Icmp_mib[9].value.integer++; + echo_proc(ip->source,ip->dest,&icmp,bpp); + break; + case 13 : + Icmp_mib[10].value.integer++; + break; + case 14 : + Icmp_mib[11].value.integer++; + break; + case 15 : + break; + case 16 : + break; + } + free_p(bpp); +} + + + +int +icmp_output( +struct ip *ip, +struct mbuf *data, +uint8 type, +uint8 code, +union icmp_args *args +){ + struct mbuf *bp; + struct icmp icmp; + uint16 dlen; + uint16 length; + + if(ip == 0) + return -1; + if(ip->protocol == 1 ){ + + + + switch(data->data[0]){ + case 0 : + case 8 : + case 13 : + case 14 : + case 15 : + case 16 : + break; + default: + + + + return -1; + } + } + + + + dlen = ((8)<(len_p(data))?(8):(len_p(data))) ; + length = dlen + 8 + 20 + ip->optlen; + + if(data != 0 && dup_p(&bp,data,0,dlen) == 0) + return -1; + + + htonip(ip,&bp,0 ); + icmp.type = type; + icmp.code = code; + icmp.args.unused = 0; + switch(icmp.type){ + case 12 : + Icmp_mib[18].value.integer++; + icmp.args.pointer = args->pointer; + break; + case 5 : + Icmp_mib[20].value.integer++; + icmp.args.address = args->address; + break; + case 8 : + Icmp_mib[21].value.integer++; + break; + case 0 : + Icmp_mib[22].value.integer++; + break; + case 15 : + break; + case 16 : + break; + case 13 : + Icmp_mib[23].value.integer++; + break; + case 14 : + Icmp_mib[24].value.integer++; + icmp.args.echo.id = args->echo.id; + icmp.args.echo.seq = args->echo.seq; + break; + case 17 : + Icmp_mib[25].value.integer++; + break; + case 18 : + Icmp_mib[26].value.integer++; + break; + case 3 : + if(icmp.code == 4 ) + icmp.args.mtu = args->mtu; + Icmp_mib[16].value.integer++; + break; + case 11 : + Icmp_mib[17].value.integer++; + break; + case 4 : + Icmp_mib[19].value.integer++; + break; + } + Icmp_mib[14].value.integer++; + + htonicmp(&icmp,&bp); + return ip_send(0x0L,ip->source,1 ,ip->tos,0,&bp,length,0,0); +} diff --git a/src/nos/internet/icmpcmd.i b/src/nos/internet/icmpcmd.i new file mode 100644 index 00000000..34f73463 --- /dev/null +++ b/src/nos/internet/icmpcmd.i @@ -0,0 +1,3211 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + +extern struct mib_entry Icmp_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct icmp { + uint8 type; + uint8 code; + union icmp_args { + uint16 mtu; + int32 unused; + uint8 pointer; + int32 address; + struct { + uint16 id; + uint16 seq; + } echo; + } args; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int Icmp_trace; +extern int Icmp_echo; + + +extern char *Icmptypes[],*Unreach[],*Exceed[],*Redirect[],*Said_icmp[]; + +struct icmplink { + uint8 proto; + void (*funct)(int32,int32,int32,uint8,uint8,struct mbuf **); +}; +extern struct icmplink Icmplink[]; + + +void icmp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int icmp_output(struct ip *ip,struct mbuf *data,uint8 type,uint8 code, + union icmp_args *args); + + +void htonicmp(struct icmp *icmp,struct mbuf **data); +int ntohicmp(struct icmp *icmp,struct mbuf **bpp); + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + + + + + + +struct cmds { + _char *name; + int (*func)(int argc,char *argv[],void *p); + + int stksize; + int argcmin; + _char *argc_errmsg; +}; +extern struct cmds Cmds[],Startcmds[],Stopcmds[],Attab[]; + + +int cmdparse(struct cmds cmds[], char *line, void *p); +int subcmd(struct cmds tab[], int argc, char *argv[], void *p); +int setbool(int *var, _char *label, int argc, char *argv[]); +int bit16cmd(uint16 *bits, uint16 mask, _char *label, int argc, char *argv[]); +int setint(int *var, _char *label, int argc, char *argv[]); +int setlong(int32 *var, _char *label, int argc, char *argv[]); +int setshort(unsigned short *var, _char *label, int argc, char *argv[]); +int setuns(unsigned *var, _char *label, int argc, char *argv[]); + + + + + + +int doasystat(int argc,char *argv[],void *p); +int fp_attach (int argc,char *argv[],void *p); + + +int domem(int argc,char *argv[],void *p); + + +int doamiga(int argc,char *argv[],void *p); + + +int doarp(int argc,char *argv[],void *p); + + +int asy_attach(int argc,char *argv[],void *p); + + +int doax25(int argc,char *argv[],void *p); +int doaxheard(int argc,char *argv[],void *p); +int doaxdest(int argc,char *argv[],void *p); +int doconnect(int argc,char *argv[],void *p); + + +int dobootp(int argc,char *argv[],void *p); + + +int bootpdcmd(int argc,char *argv[],void *p); + + +int dodialer(int argc,char *argv[],void *p); + + +int docd(int argc,char *argv[],void *p); +int dodir(int argc,char *argv[],void *p); +int domkd(int argc,char *argv[],void *p); +int dormd(int argc,char *argv[],void *p); + + +int dodomain(int argc,char *argv[],void *p); + + +int dodrstat(int argc,char *argv[],void *p); +int dr_attach(int argc,char *argv[],void *p); +int dodr(int argc,char *argv[],void *p); + + +int eg_attach(int argc,char *argv[],void *p); +int doegstat(int argc,char *argv[],void *p); + + +int doetherstat(int argc,char *argv[],void *p); +int ec_attach(int argc,char *argv[],void *p); + + +int dofax(int argc,char *argv[],void *p); +int fax1(int argc,char *argv[],void *p); +int fax0(int argc,char *argv[],void *p); + + +int dofinger(int argc,char *argv[],void *p); + + +int finstart(int argc,char *argv[],void *p); +int fin0(int argc,char *argv[],void *p); + + +int doftp(int argc,char *argv[],void *p); +int doabort(int argc,char *argv[],void *p); + + +int ftpstart(int argc,char *argv[],void *p); +int ftp0(int argc,char *argv[],void *p); + + +int dohapnstat(int argc,char *argv[],void *p); +int hapn_attach(int argc,char *argv[],void *p); + + +int dohop(int argc,char *argv[],void *p); + + +int dohs(int argc,char *argv[],void *p); +int hs_attach(int argc,char *argv[],void *p); + + +int doicmp(int argc,char *argv[],void *p); + + +int doifconfig(int argc,char *argv[],void *p); +int dodetach(int argc,char *argv[],void *p); + + +int doip(int argc,char *argv[],void *p); +int doroute(int argc,char *argv[],void *p); + + +int dosec(int argc,char *argv[],void *p); + + +int doksp(int argc,char *argv[],void *p); + + +int ps(int argc,char *argv[],void *p); + + +int dolterm(int argc,char *argv[],void *p); + + +int dodelete(int argc,char *argv[],void *p); +int dorename(int argc,char *argv[],void *p); +int doexit(int argc,char *argv[],void *p); +int dohostname(int argc,char *argv[],void *p); +int dolog(int argc,char *argv[],void *p); +int dohelp(int argc,char *argv[],void *p); +int doattach(int argc,char *argv[],void *p); +int doparam(int argc,char *argv[],void *p); +int dopage(int argc,char *argv[],void *p); +int domode(int argc,char *argv[],void *p); +int donothing(int argc,char *argv[],void *p); +int donrstat(int argc,char *argv[],void *p); +int doescape(int argc,char *argv[],void *p); +int doremote(int argc,char *argv[],void *p); +int doboot(int argc,char *argv[],void *p); +int dorepeat(int argc,char *argv[],void *p); +int dostacktest(int argc,char *argv[],void *p); +int dosysdebug(int argc,char *argv[],void *p); +int dosystrace(int argc,char *argv[],void *p); +int dowipe(int argc,char *argv[],void *p); + + +int dombox(int argc,char *argv[],void *p); + + +int donntp(int argc,char *argv[],void *p); + + +int donetrom(int argc,char *argv[],void *p); +int nr_attach(int argc,char *argv[],void *p); + + +int doshell(int argc,char *argv[],void *p); +int doisat(int argc,char *argv[],void *p); + + +int pc_attach(int argc,char *argv[],void *p); + + +int pk_attach(int argc,char *argv[],void *p); + + +int pi_attach(int argc,char *argv[],void *p); +int dopistat(int argc,char *argv[],void *p); + + +int doping(int argc,char *argv[],void *p); + + +int dopop(int argc,char *argv[],void *p); + + +int pop1(int argc,char *argv[],void *p); +int pop0(int argc,char *argv[],void *p); + + +int doqtso(int argc,char *argv[],void *p); + + +int dorarp(int argc,char *argv[],void *p); + + +int dorip(int argc,char *argv[],void *p); + + +int doaddrefuse(int argc,char *argv[],void *p); +int dodroprefuse(int argc,char *argv[],void *p); +int dorip(int argc,char *argv[],void *p); +int doripadd(int argc,char *argv[],void *p); +int doripdrop(int argc,char *argv[],void *p); +int doripinit(int argc,char *argv[],void *p); +int doripmerge(int argc,char *argv[],void *p); +int doripreq(int argc,char *argv[],void *p); +int doripstat(int argc,char *argv[],void *p); +int doripstop(int argc,char *argv[],void *p); +int doriptrace(int argc,char *argv[],void *p); + + +int dosound(int argc,char *argv[],void *p); + + +int escc_attach(int argc,char *argv[],void *p); +int doesccstat(int argc,char *argv[],void *p); + + +int dosession(int argc,char *argv[],void *p); +int go(int argc,char *argv[],void *p); +int doclose(int argc,char *argv[],void *p); +int doreset(int argc,char *argv[],void *p); +int dokick(int argc,char *argv[],void *p); +int dorecord(int argc,char *argv[],void *p); +int dosfsize(int argc,char *argv[],void *p); +int doupload(int argc,char *argv[],void *p); + + +int dis1(int argc,char *argv[],void *p); +int dis0(int argc,char *argv[],void *p); +int echo1(int argc,char *argv[],void *p); +int echo0(int argc,char *argv[],void *p); +int rem1(int argc,char *argv[],void *p); +int rem0(int argc,char *argv[],void *p); +int term1(int argc,char *argv[],void *p); +int term0(int argc,char *argv[],void *p); +int bsr1(int argc,char *argv[],void *p); +int bsr0(int argc,char *argv[],void *p); + + +int dosmtp(int argc,char *argv[],void *p); + + +int smtp1(int argc,char *argv[],void *p); +int smtp0(int argc,char *argv[],void *p); + + +int dosock(int argc,char *argv[],void *p); + + +int dofiles(int argc,char *argv[],void *p); + + +int doswatch(int argc,char *argv[],void *p); + + +int dotcp(int argc,char *argv[],void *p); + + +int doecho(int argc,char *argv[],void *p); +int doeol(int argc,char *argv[],void *p); +int dotelnet(int argc,char *argv[],void *p); +int dotopt(int argc,char *argv[],void *p); + + +int dotip(int argc,char *argv[],void *p); + + +int ttylstart(int argc,char *argv[],void *p); +int ttyl0(int argc,char *argv[],void *p); + + +int dotrace(int argc,char *argv[],void *p); + + +int doudp(int argc,char *argv[],void *p); + + +int doview(int argc,char *argv[],void *p); +void view(int,void *,void *); + + + + + + + +static int doicmpec(int argc, char *argv[],void *p); +static int doicmpstat(int argc, char *argv[],void *p); +static int doicmptr(int argc, char *argv[],void *p); + +static struct cmds Icmpcmds[] = { + N_("echo"), doicmpec, 0, 0, 0, + N_("status"), doicmpstat, 0, 0, 0, + N_("trace"), doicmptr, 0, 0, 0, + 0 +}; + +int Icmp_trace; +int Icmp_echo = 1; + +int +doicmp(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return subcmd(Icmpcmds,argc,argv,p); +} + +static int +doicmpstat(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register int i; + int lim; + + + + + lim = 26/2; + for(i=1;i<=lim;i++){ + _printf(_("(%2u)%-20s%10lu"),i,Icmp_mib[i].name, + Icmp_mib[i].value.integer); + _printf(_(" (%2u)%-20s%10lu\n"),i+lim,Icmp_mib[i+lim].name, + Icmp_mib[i+lim].value.integer); + } + return 0; +} +static int +doicmptr(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setbool(&Icmp_trace, _("ICMP tracing"), argc, argv); +} +static int +doicmpec(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setbool(&Icmp_echo, _("ICMP echo response accept"), argc, argv); +} diff --git a/src/nos/internet/icmphdr.i b/src/nos/internet/icmphdr.i new file mode 100644 index 00000000..bd4061a4 --- /dev/null +++ b/src/nos/internet/icmphdr.i @@ -0,0 +1,2732 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern struct mib_entry Icmp_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct icmp { + uint8 type; + uint8 code; + union icmp_args { + uint16 mtu; + int32 unused; + uint8 pointer; + int32 address; + struct { + uint16 id; + uint16 seq; + } echo; + } args; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int Icmp_trace; +extern int Icmp_echo; + + +extern char *Icmptypes[],*Unreach[],*Exceed[],*Redirect[],*Said_icmp[]; + +struct icmplink { + uint8 proto; + void (*funct)(int32,int32,int32,uint8,uint8,struct mbuf **); +}; +extern struct icmplink Icmplink[]; + + +void icmp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int icmp_output(struct ip *ip,struct mbuf *data,uint8 type,uint8 code, + union icmp_args *args); + + +void htonicmp(struct icmp *icmp,struct mbuf **data); +int ntohicmp(struct icmp *icmp,struct mbuf **bpp); + + + + +void +htonicmp( +struct icmp *icmp, +struct mbuf **bpp +){ + register uint8 *cp; + uint16 checksum; + + pushdown(bpp,0,8 ); + cp = (*bpp)->data; + + *cp++ = icmp->type; + *cp++ = icmp->code; + cp = put16(cp,0); + switch(icmp->type){ + case 3 : + if(icmp->code == 4 ){ + + cp = put16(cp,0); + cp = put16(cp,icmp->args.mtu); + } else + cp = put32(cp,0L); + break; + case 12 : + *cp++ = icmp->args.pointer; + *cp++ = 0; + cp = put16(cp,0); + break; + case 5 : + cp = put32(cp,icmp->args.address); + break; + case 8 : + case 0 : + case 13 : + case 14 : + case 15 : + case 16 : + cp = put16(cp,icmp->args.echo.id); + cp = put16(cp,icmp->args.echo.seq); + break; + default: + cp = put32(cp,0L); + break; + } + + checksum = cksum(0,*bpp,len_p(*bpp)); + cp = &(*bpp)->data[2]; + cp = put16(cp,checksum); +} + +int +ntohicmp(icmp,bpp) +struct icmp *icmp; +struct mbuf **bpp; +{ + uint8 icmpbuf[8]; + + if(icmp == (struct icmp *)0) + return -1; + if(pullup(bpp,icmpbuf,8) != 8) + return -1; + icmp->type = icmpbuf[0]; + icmp->code = icmpbuf[1]; + switch(icmp->type){ + case 3 : + + if(icmp->code == 4 ) + icmp->args.mtu = get16(&icmpbuf[6]); + break; + case 12 : + icmp->args.pointer = icmpbuf[4]; + break; + case 5 : + icmp->args.address = get32(&icmpbuf[4]); + break; + case 8 : + case 0 : + case 13 : + case 14 : + case 15 : + case 16 : + icmp->args.echo.id = get16(&icmpbuf[4]); + icmp->args.echo.seq = get16(&icmpbuf[6]); + break; + } + return 0; +} + diff --git a/src/nos/internet/icmpmsg.i b/src/nos/internet/icmpmsg.i new file mode 100644 index 00000000..af501651 --- /dev/null +++ b/src/nos/internet/icmpmsg.i @@ -0,0 +1,965 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + +char *Icmptypes[] = { + "Echo Reply", + 0, + 0, + "Unreachable", + "Source Quench", + "Redirect", + 0, + 0, + "Echo Request", + 0, + 0, + "Time Exceeded", + "Parameter Problem", + "Timestamp", + "Timestamp Reply", + "Information Request", + "Information Reply", + "Address mask request", + "Address mask reply", + "Security Association" +}; + + +char *Unreach[] = { + "Network", + "Host", + "Protocol", + "Port", + "Fragmentation", + "Source route", + "Dest net unknown", + "Dest host unknown", + "Source host isolated", + "Net prohibited", + "Host prohibited", + "Net TOS", + "Host TOS", + "Administratively Prohibited" +}; + +char *Exceed[] = { + "Time-to-live", + "Fragment reassembly" +}; + + +char *Redirect[] = { + "Network", + "Host", + "TOS & Network", + "TOS & Host" +}; + +char *Said_icmp[] = { + "Unknown SAID", + "Authentication failed", + "Decryption failed" +}; + diff --git a/src/nos/internet/ip.c b/src/nos/internet/ip.c index 2813024f..464667f2 100644 --- a/src/nos/internet/ip.c +++ b/src/nos/internet/ip.c @@ -192,8 +192,6 @@ int32 spi /* Security association, if any */ if(Ip_trace) dumpip(iface,ip,*bpp,spi); -/*RPB*/ -#if 1 for(rp = Rawip;rp != NULL;rp = rp->next){ if(rp->protocol != ip->protocol) continue; @@ -201,13 +199,6 @@ int32 spi /* Security association, if any */ /* Duplicate the data portion, and put the header back on */ dup_p(&bp1,*bpp,0,len_p(*bpp)); if(bp1 != NULL){ -/*RPB*/ -/* abyte('|'); */ -/* ahexw((unsigned int)rp->r_upcall); */ -/* abyte('|'); */ -/* ahexw((unsigned int)rp->user); */ -/* abyte('|'); */ -/*RPB*/ htonip(ip,&bp1,IP_CS_OLD); enqueue(&rp->rcvq,&bp1); if(rp->r_upcall != NULL) @@ -216,8 +207,6 @@ int32 spi /* Security association, if any */ free_p(&bp1); } } -#endif -/*RPB*/ /* Look it up in the transport protocol table */ for(ipp = Iplink;ipp->funct != NULL;ipp++){ if(ipp->proto == ip->protocol) diff --git a/src/nos/internet/ip.i b/src/nos/internet/ip.i new file mode 100644 index 00000000..024739be --- /dev/null +++ b/src/nos/internet/ip.i @@ -0,0 +1,3434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern struct mib_entry Icmp_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct icmp { + uint8 type; + uint8 code; + union icmp_args { + uint16 mtu; + int32 unused; + uint8 pointer; + int32 address; + struct { + uint16 id; + uint16 seq; + } echo; + } args; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int Icmp_trace; +extern int Icmp_echo; + + +extern char *Icmptypes[],*Unreach[],*Exceed[],*Redirect[],*Said_icmp[]; + +struct icmplink { + uint8 proto; + void (*funct)(int32,int32,int32,uint8,uint8,struct mbuf **); +}; +extern struct icmplink Icmplink[]; + + +void icmp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int icmp_output(struct ip *ip,struct mbuf *data,uint8 type,uint8 code, + union icmp_args *args); + + +void htonicmp(struct icmp *icmp,struct mbuf **data); +int ntohicmp(struct icmp *icmp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +static int fraghandle(struct ip *ip,struct mbuf **bpp); +static void ip_timeout(void *arg); +static void free_reasm(struct reasm *rp); +static void freefrag(struct frag *fp); +static struct reasm *lookup_reasm(struct ip *ip); +static struct reasm *creat_reasm(struct ip *ip); +static struct frag *newfrag(uint16 offset,uint16 last,struct mbuf **bpp); +void ttldec(struct iface *ifp); + + +struct mib_entry Ip_mib[20] = { + "", 0, + "ipForwarding", 1, + "ipDefaultTTL", 255 , + "ipInReceives", 0, + "ipInHdrErrors", 0, + "ipInAddrErrors", 0, + "ipForwDatagrams", 0, + "ipInUnknownProtos", 0, + "ipInDiscards", 0, + "ipInDelivers", 0, + "ipOutRequests", 0, + "ipOutDiscards", 0, + "ipOutNoRoutes", 0, + "ipReasmTimeout", 30 , + "ipReasmReqds", 0, + "ipReasmOKs", 0, + "ipReasmFails", 0, + "ipFragOKs", 0, + "ipFragFails", 0, + "ipFragCreates", 0, +}; + + + +struct reasm *Reasmq; + + +uint16 Id_cntr = 0; + + + + struct raw_ip *Rawip; + + +int Ip_trace = 0; + + + + + + + + + + +int +ip_send( +int32 source, +int32 dest, +char protocol, +char tos, +char ttl, +struct mbuf **bpp, +uint16 length, +uint16 id, +char df +){ + struct ip ip; + + Ip_mib[10].value.integer++; + + if(bpp == 0) + return -1; + if(source == 0x0L) + source = locaddr(dest); + if(length == 0 && *bpp != 0) + length = len_p(*bpp); + if(id == 0) + id = Id_cntr++; + if(ttl == 0) + ttl = Ip_mib[2].value.integer; + + + ip.version = 4; + ip.tos = tos; + ip.length = 20 + length; + ip.id = id; + ip.offset = 0; + ip.flags.mf = 0; + ip.flags.df = df; + ip.flags.congest = 0; + ip.ttl = ttl; + ip.protocol = protocol; + ip.source = source; + ip.dest = dest; + ip.optlen = 0; + if(Ip_trace) + dumpip(0,&ip,*bpp,0); + + htonip(&ip,bpp,0 ); + if(ismyaddr(ip.dest)){ + + + + + + + net_route(&Loopback,bpp); + + Loopback.ipsndcnt++; + Loopback.rawsndcnt++; + Loopback.lastsent = secclock(); + } else + net_route(0,bpp); + return 0; +} + + + + + + + +void +ip_recv( +struct iface *iface, +struct ip *ip, +struct mbuf **bpp, +int rxbroadcast, +int32 spi +){ + + register struct raw_ip *rp; + struct mbuf *bp1; + int rxcnt = 0; + register struct iplink *ipp; + + + + + + if(bpp == 0 || fraghandle(ip,bpp) == -1) + return; + + + trim_mbuf(bpp,ip->length - (20 + ip->optlen)); + + Ip_mib[9].value.integer++; + if(Ip_trace) + dumpip(iface,ip,*bpp,spi); + + for(rp = Rawip;rp != 0;rp = rp->next){ + if(rp->protocol != ip->protocol) + continue; + rxcnt++; + + dup_p(&bp1,*bpp,0,len_p(*bpp)); + if(bp1 != 0){ + htonip(ip,&bp1,1 ); + enqueue(&rp->rcvq,&bp1); + if(rp->r_upcall != 0) + (*rp->r_upcall)(rp); + } else { + free_p(&bp1); + } + } + + for(ipp = Iplink;ipp->funct != 0;ipp++){ + if(ipp->proto == ip->protocol) + break; + } + if(ipp->funct != 0){ + + (*ipp->funct)(iface,ip,bpp,rxbroadcast,spi); + } else { + + if(rxcnt == 0){ + + Ip_mib[7].value.integer++; + + if(!rxbroadcast){ + icmp_output(ip,*bpp,3 , + 2 ,0); + } + } + free_p(bpp); + } +} + + + + +void +ipip_recv( +struct iface *iface, +struct ip *ip, +struct mbuf **bpp, +int rxbroadcast, +int32 spi +){ + net_route(&Encap,bpp); +} + + + + + + + + +static int +fraghandle( +struct ip *ip, +struct mbuf **bpp +){ + register struct reasm *rp; + struct frag *lastfrag,*nextfrag,*tfp; + struct mbuf *tbp; + uint16 i; + uint16 last; + + last = ip->offset + ip->length - (20 + ip->optlen); + + rp = lookup_reasm(ip); + if(ip->offset == 0 && !ip->flags.mf){ + + if(rp != 0){ + free_reasm(rp); + Ip_mib[15].value.integer++; + } + return ip->length; + } + Ip_mib[14].value.integer++; + if(rp == 0){ + + if((rp = creat_reasm(ip)) == 0){ + + Ip_mib[16].value.integer++; + free_p(bpp); + return -1; + } + } + + stop_timer(&rp->timer); + start_timer(&rp->timer); + + + + + if(!ip->flags.mf) + rp->length = last; + + + + + lastfrag = 0; + for(nextfrag = rp->fraglist;nextfrag != 0;nextfrag = nextfrag->next){ + if(nextfrag->offset > ip->offset) + break; + lastfrag = nextfrag; + } + + if(lastfrag != 0 && ip->offset < lastfrag->last){ + + i = lastfrag->last - ip->offset; + pullup(bpp,0,i); + if(*bpp == 0) + return -1; + ip->offset += i; + } + + for(; nextfrag != 0; nextfrag = tfp){ + tfp = nextfrag->next; + + if(nextfrag->offset >= last) + break; + + + + i = last - nextfrag->offset; + pullup(&nextfrag->buf,0,i); + if(nextfrag->buf == 0){ + + if(nextfrag->prev != 0) + nextfrag->prev->next = nextfrag->next; + else + rp->fraglist = nextfrag->next; + if(tfp->next != 0) + nextfrag->next->prev = nextfrag->prev; + freefrag(nextfrag); + } else + nextfrag->offset = last; + } + + + + + i = 0; + if(lastfrag != 0 && lastfrag->last == ip->offset) + i |= 1; + if(nextfrag != 0 && nextfrag->offset == last) + i |= 2; + switch(i){ + case 0: + tfp = newfrag(ip->offset,last,bpp); + tfp->prev = lastfrag; + tfp->next = nextfrag; + if(lastfrag != 0) + lastfrag->next = tfp; + else + rp->fraglist = tfp; + if(nextfrag != 0) + nextfrag->prev = tfp; + break; + case 1: + append(&lastfrag->buf,bpp); + lastfrag->last = last; + break; + case 2: + tbp = nextfrag->buf; + nextfrag->buf = *bpp; + bpp = 0; + append(&nextfrag->buf,&tbp); + nextfrag->offset = ip->offset; + break; + case (1|2): + + + + append(&lastfrag->buf,bpp); + append(&lastfrag->buf,&nextfrag->buf); + nextfrag->buf = 0; + lastfrag->last = nextfrag->last; + + + lastfrag->next = nextfrag->next; + if(nextfrag->next != 0) + nextfrag->next->prev = lastfrag; + freefrag(nextfrag); + break; + } + if(rp->fraglist->offset == 0 && rp->fraglist->next == 0 + && rp->length != 0){ + + + + + *bpp = rp->fraglist->buf; + rp->fraglist->buf = 0; + + ip->length = rp->length + (20 + ip->optlen); + free_reasm(rp); + Ip_mib[15].value.integer++; + ip->offset = 0; + ip->flags.mf = 0; + return ip->length; + } else + return -1; +} + + + + +struct raw_ip * +raw_ip( +int protocol, +void (*r_upcall)() +){ + register struct raw_ip *rp; + + rp = (struct raw_ip *)callocw(1,sizeof(struct raw_ip)); + rp->protocol = protocol; + rp->r_upcall = r_upcall; + rp->next = Rawip; + Rawip = rp; + return rp; +} + + + + +void +del_ip( +struct raw_ip *rpp +){ + struct raw_ip *rplast = 0; + register struct raw_ip *rp; + + + for(rp = Rawip;rp != 0;rplast=rp,rp = rp->next) + if(rp == rpp) + break; + if(rp == 0) + return; + + + if(rplast != 0) + rplast->next = rp->next; + else + Rawip = rp->next; + + free_q(&rp->rcvq); + free(rp); +} + + + + +static struct reasm * +lookup_reasm( +struct ip *ip +){ + register struct reasm *rp; + struct reasm *rplast = 0; + + for(rp = Reasmq;rp != 0;rplast=rp,rp = rp->next){ + if(ip->id == rp->id && ip->source == rp->source + && ip->dest == rp->dest && ip->protocol == rp->protocol){ + if(rplast != 0){ + + rplast->next = rp->next; + rp->next = Reasmq; + Reasmq = rp; + } + return rp; + } + + } + return 0; +} + + + + + + +static struct reasm * +creat_reasm( +struct ip *ip +){ + register struct reasm *rp; + + if((rp = (struct reasm *)calloc(1,sizeof(struct reasm))) == 0) + return rp; + rp->source = ip->source; + rp->dest = ip->dest; + rp->id = ip->id; + rp->protocol = ip->protocol; + set_timer(&rp->timer,Ip_mib[13].value.integer * 1000L); + rp->timer.func = ip_timeout; + rp->timer.arg = rp; + + rp->next = Reasmq; + Reasmq = rp; + return rp; +} + + + + + +static void +free_reasm( +struct reasm *r +){ + register struct reasm *rp; + struct reasm *rplast = 0; + register struct frag *fp; + + for(rp = Reasmq;rp != 0;rplast = rp,rp=rp->next) + if(r == rp) + break; + if(rp == 0) + return; + + stop_timer(&rp->timer); + + if(rplast != 0) + rplast->next = rp->next; + else + Reasmq = rp->next; + + + while((fp = rp->fraglist) != 0){ + rp->fraglist = fp->next; + free_p(&fp->buf); + free(fp); + } + free(rp); +} + + + + + +static void +ip_timeout( +void *arg +){ + free_reasm((struct reasm *)arg); + Ip_mib[16].value.integer++; +} + + + + +static struct frag * +newfrag( +uint16 offset, +uint16 last, +struct mbuf **bpp +){ + struct frag *fp; + + if((fp = (struct frag *)calloc(1,sizeof(struct frag))) == 0){ + + free_p(bpp); + return 0; + } + fp->buf = *bpp; + *bpp = 0; + fp->offset = offset; + fp->last = last; + return fp; +} + + + + +static void +freefrag( +struct frag *fp +){ + free_p(&fp->buf); + free(fp); +} + + + + + + + +void +ip_garbage( +int red +){ + struct reasm *rp,*rp1; + struct frag *fp; + struct raw_ip *rwp; + struct iface *ifp; + + + for(rp = Reasmq;rp != 0;rp = rp1){ + rp1 = rp->next; + if(red){ + free_reasm(rp); + } else { + for(fp = rp->fraglist;fp != 0;fp = fp->next){ + mbuf_crunch(&fp->buf); + } + } + } + + for(rwp = Rawip;rwp != 0;rwp = rwp->next) + mbuf_crunch(&rwp->rcvq); + + + + + + + + + + + + for(ifp=Ifaces;ifp != 0;ifp = ifp->next){ + ttldec(ifp); + rquench(ifp,red); + } +} + + + + + + +void +ttldec( +struct iface *ifp +){ + struct mbuf *bp,*bpprev,*bpnext; + struct qhdr qhdr; + struct ip ip; + + bpprev = 0; + for(bp = ifp->outq; bp != 0;bpprev = bp,bp = bpnext){ + bpnext = bp->anext; + pullup(&bp,&qhdr,sizeof(qhdr)); + ntohip(&ip,&bp); + if(--ip.ttl == 0){ + + icmp_output(&ip,bp,11 ,0,0); + if(bpprev == 0) + ifp->outq = bpnext; + else + bpprev->anext = bpnext; + free_p(&bp); + bp = bpprev; + continue; + } + + htonip(&ip,&bp,0); + pushdown(&bp,&qhdr,sizeof(qhdr)); + if(bpprev == 0) + ifp->outq = bp; + else + bpprev->anext = bp; + bp->anext = bpnext; + } +} + + + + + +void +rquench( +struct iface *ifp, +int drop +){ + struct mbuf *bp,*bplast; + int i; + struct qhdr qhdr; + struct ip ip; + struct mbuf *bpdup; + + if((i = len_q(ifp->outq)) == 0) + return; + + i = urandom(i); + + + bplast = 0; + for(bp = ifp->outq;bp != 0 && i>0;i--,bplast=bp,bp=bp->anext) + ; + if(bp == 0) + return; + + + dup_p(&bpdup,bp,0,len_p(bp)); + pullup(&bpdup,&qhdr,sizeof(qhdr)); + ntohip(&ip,&bpdup); + icmp_output(&ip,bpdup,4 ,0,0); + free_p(&bpdup); + if(!drop) + return; + + + if(bplast != 0) + bplast->anext = bp->anext; + else + ifp->outq = bp->anext; + free_p(&bp); +} + diff --git a/src/nos/internet/ipcmd.i b/src/nos/internet/ipcmd.i new file mode 100644 index 00000000..98382220 --- /dev/null +++ b/src/nos/internet/ipcmd.i @@ -0,0 +1,3399 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + +struct cmds { + _char *name; + int (*func)(int argc,char *argv[],void *p); + + int stksize; + int argcmin; + _char *argc_errmsg; +}; +extern struct cmds Cmds[],Startcmds[],Stopcmds[],Attab[]; + + +int cmdparse(struct cmds cmds[], char *line, void *p); +int subcmd(struct cmds tab[], int argc, char *argv[], void *p); +int setbool(int *var, _char *label, int argc, char *argv[]); +int bit16cmd(uint16 *bits, uint16 mask, _char *label, int argc, char *argv[]); +int setint(int *var, _char *label, int argc, char *argv[]); +int setlong(int32 *var, _char *label, int argc, char *argv[]); +int setshort(unsigned short *var, _char *label, int argc, char *argv[]); +int setuns(unsigned *var, _char *label, int argc, char *argv[]); + + + + + + +int doasystat(int argc,char *argv[],void *p); +int fp_attach (int argc,char *argv[],void *p); + + +int domem(int argc,char *argv[],void *p); + + +int doamiga(int argc,char *argv[],void *p); + + +int doarp(int argc,char *argv[],void *p); + + +int asy_attach(int argc,char *argv[],void *p); + + +int doax25(int argc,char *argv[],void *p); +int doaxheard(int argc,char *argv[],void *p); +int doaxdest(int argc,char *argv[],void *p); +int doconnect(int argc,char *argv[],void *p); + + +int dobootp(int argc,char *argv[],void *p); + + +int bootpdcmd(int argc,char *argv[],void *p); + + +int dodialer(int argc,char *argv[],void *p); + + +int docd(int argc,char *argv[],void *p); +int dodir(int argc,char *argv[],void *p); +int domkd(int argc,char *argv[],void *p); +int dormd(int argc,char *argv[],void *p); + + +int dodomain(int argc,char *argv[],void *p); + + +int dodrstat(int argc,char *argv[],void *p); +int dr_attach(int argc,char *argv[],void *p); +int dodr(int argc,char *argv[],void *p); + + +int eg_attach(int argc,char *argv[],void *p); +int doegstat(int argc,char *argv[],void *p); + + +int doetherstat(int argc,char *argv[],void *p); +int ec_attach(int argc,char *argv[],void *p); + + +int dofax(int argc,char *argv[],void *p); +int fax1(int argc,char *argv[],void *p); +int fax0(int argc,char *argv[],void *p); + + +int dofinger(int argc,char *argv[],void *p); + + +int finstart(int argc,char *argv[],void *p); +int fin0(int argc,char *argv[],void *p); + + +int doftp(int argc,char *argv[],void *p); +int doabort(int argc,char *argv[],void *p); + + +int ftpstart(int argc,char *argv[],void *p); +int ftp0(int argc,char *argv[],void *p); + + +int dohapnstat(int argc,char *argv[],void *p); +int hapn_attach(int argc,char *argv[],void *p); + + +int dohop(int argc,char *argv[],void *p); + + +int dohs(int argc,char *argv[],void *p); +int hs_attach(int argc,char *argv[],void *p); + + +int doicmp(int argc,char *argv[],void *p); + + +int doifconfig(int argc,char *argv[],void *p); +int dodetach(int argc,char *argv[],void *p); + + +int doip(int argc,char *argv[],void *p); +int doroute(int argc,char *argv[],void *p); + + +int dosec(int argc,char *argv[],void *p); + + +int doksp(int argc,char *argv[],void *p); + + +int ps(int argc,char *argv[],void *p); + + +int dolterm(int argc,char *argv[],void *p); + + +int dodelete(int argc,char *argv[],void *p); +int dorename(int argc,char *argv[],void *p); +int doexit(int argc,char *argv[],void *p); +int dohostname(int argc,char *argv[],void *p); +int dolog(int argc,char *argv[],void *p); +int dohelp(int argc,char *argv[],void *p); +int doattach(int argc,char *argv[],void *p); +int doparam(int argc,char *argv[],void *p); +int dopage(int argc,char *argv[],void *p); +int domode(int argc,char *argv[],void *p); +int donothing(int argc,char *argv[],void *p); +int donrstat(int argc,char *argv[],void *p); +int doescape(int argc,char *argv[],void *p); +int doremote(int argc,char *argv[],void *p); +int doboot(int argc,char *argv[],void *p); +int dorepeat(int argc,char *argv[],void *p); +int dostacktest(int argc,char *argv[],void *p); +int dosysdebug(int argc,char *argv[],void *p); +int dosystrace(int argc,char *argv[],void *p); +int dowipe(int argc,char *argv[],void *p); + + +int dombox(int argc,char *argv[],void *p); + + +int donntp(int argc,char *argv[],void *p); + + +int donetrom(int argc,char *argv[],void *p); +int nr_attach(int argc,char *argv[],void *p); + + +int doshell(int argc,char *argv[],void *p); +int doisat(int argc,char *argv[],void *p); + + +int pc_attach(int argc,char *argv[],void *p); + + +int pk_attach(int argc,char *argv[],void *p); + + +int pi_attach(int argc,char *argv[],void *p); +int dopistat(int argc,char *argv[],void *p); + + +int doping(int argc,char *argv[],void *p); + + +int dopop(int argc,char *argv[],void *p); + + +int pop1(int argc,char *argv[],void *p); +int pop0(int argc,char *argv[],void *p); + + +int doqtso(int argc,char *argv[],void *p); + + +int dorarp(int argc,char *argv[],void *p); + + +int dorip(int argc,char *argv[],void *p); + + +int doaddrefuse(int argc,char *argv[],void *p); +int dodroprefuse(int argc,char *argv[],void *p); +int dorip(int argc,char *argv[],void *p); +int doripadd(int argc,char *argv[],void *p); +int doripdrop(int argc,char *argv[],void *p); +int doripinit(int argc,char *argv[],void *p); +int doripmerge(int argc,char *argv[],void *p); +int doripreq(int argc,char *argv[],void *p); +int doripstat(int argc,char *argv[],void *p); +int doripstop(int argc,char *argv[],void *p); +int doriptrace(int argc,char *argv[],void *p); + + +int dosound(int argc,char *argv[],void *p); + + +int escc_attach(int argc,char *argv[],void *p); +int doesccstat(int argc,char *argv[],void *p); + + +int dosession(int argc,char *argv[],void *p); +int go(int argc,char *argv[],void *p); +int doclose(int argc,char *argv[],void *p); +int doreset(int argc,char *argv[],void *p); +int dokick(int argc,char *argv[],void *p); +int dorecord(int argc,char *argv[],void *p); +int dosfsize(int argc,char *argv[],void *p); +int doupload(int argc,char *argv[],void *p); + + +int dis1(int argc,char *argv[],void *p); +int dis0(int argc,char *argv[],void *p); +int echo1(int argc,char *argv[],void *p); +int echo0(int argc,char *argv[],void *p); +int rem1(int argc,char *argv[],void *p); +int rem0(int argc,char *argv[],void *p); +int term1(int argc,char *argv[],void *p); +int term0(int argc,char *argv[],void *p); +int bsr1(int argc,char *argv[],void *p); +int bsr0(int argc,char *argv[],void *p); + + +int dosmtp(int argc,char *argv[],void *p); + + +int smtp1(int argc,char *argv[],void *p); +int smtp0(int argc,char *argv[],void *p); + + +int dosock(int argc,char *argv[],void *p); + + +int dofiles(int argc,char *argv[],void *p); + + +int doswatch(int argc,char *argv[],void *p); + + +int dotcp(int argc,char *argv[],void *p); + + +int doecho(int argc,char *argv[],void *p); +int doeol(int argc,char *argv[],void *p); +int dotelnet(int argc,char *argv[],void *p); +int dotopt(int argc,char *argv[],void *p); + + +int dotip(int argc,char *argv[],void *p); + + +int ttylstart(int argc,char *argv[],void *p); +int ttyl0(int argc,char *argv[],void *p); + + +int dotrace(int argc,char *argv[],void *p); + + +int doudp(int argc,char *argv[],void *p); + + +int doview(int argc,char *argv[],void *p); +void view(int,void *,void *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern struct mib_entry Udp_mib[]; + + + + + + + + + +struct udp { + uint16 source; + uint16 dest; + uint16 length; + uint16 checksum; +}; + + + + + + +struct udp_cb { + struct udp_cb *next; + struct socket socket; + void (*r_upcall)(struct iface *iface,struct udp_cb *,int); + + struct mbuf *rcvq; + int rcvcnt; + int user; +}; +extern struct udp_cb *Udps; + + + + +int del_udp(struct udp_cb *up); +struct udp_cb *open_udp(struct socket *lsocket, + void (*r_upcall)(struct iface *iface,struct udp_cb *,int)); +int recv_udp(struct udp_cb *up,struct socket *fsocket,struct mbuf **bp); +int send_udp(struct socket *lsocket,struct socket *fsocket,char tos, + char ttl,struct mbuf **data,uint16 length,uint16 id,char df); +void udp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +void udp_garbage(int drastic); + + + + + + + + + + +int st_udp(struct udp_cb *udp,int n); + + +void htonudp(struct udp *udp,struct mbuf **data,struct pseudo_header *ph); +int ntohudp(struct udp *udp,struct mbuf **bpp); +uint16 udpcksum(struct mbuf *bp); + + + + + + + + + + + + + +enum ripcmd { + RIPCMD_REQUEST=1, + RIPCMD_RESPONSE, + RIPCMD_MAX +}; + + + + +struct rip_list { + struct rip_list *prev; + struct rip_list *next; + + + + + + int32 dest; + + + int32 interval; + + struct timer rip_time; + + + struct iface *iface; + + + struct { + unsigned int rip_split:1; + unsigned int rip_us:1; + } flags; +}; + + +struct rip_route { + uint16 addr_fam; + int32 target; + int32 metric; +}; + + + + + +struct rip_stat { + int32 output; + int32 rcvd; + int32 request; + int32 response; + int32 unknown; + int32 version; + int32 addr_family; + int32 refusals; + +}; + +struct rip_refuse { + struct rip_refuse *prev; + struct rip_refuse *next; + int32 target; +}; + + +int rip_init(void); +void rt_timeout(void *s); +void rip_trigger(void); +int rip_add(int32 dest,int32 interval,int split,int us); +int riprefadd(int32 gateway); +int riprefdrop(int32 gateway); +int ripreq(int32 dest,uint16 replyport); +int rip_drop(int32 dest); +int nbits(int32 target); +void pullentry(struct rip_route *ep,struct mbuf **bpp); + + +extern uint16 Rip_trace; +extern int Rip_merge; +extern struct rip_stat Rip_stat; +extern struct rip_list *Rip_list; +extern struct rip_refuse *Rip_refuse; +extern struct udp_cb *Rip_cb; + + + + + + + + +int32 Ip_addr; + +static int doadd(int argc,char *argv[],void *p); +static int dodrop(int argc,char *argv[],void *p); +static int doflush(int argc,char *argv[],void *p); +static int doipaddr(int argc,char *argv[],void *p); +static int doipstat(int argc,char *argv[],void *p); +static int dolook(int argc,char *argv[],void *p); +static int dortimer(int argc,char *argv[],void *p); +static int dottl(int argc,char *argv[],void *p); +static int doiptrace(int argc,char *argv[],void *p); +static int dumproute(struct route *rp); + +static struct cmds Ipcmds[] = { + N_("address"), doipaddr, 0, 0, 0, + N_("rtimer"), dortimer, 0, 0, 0, + N_("status"), doipstat, 0, 0, 0, + N_("trace"), doiptrace, 0, 0, 0, + N_("ttl"), dottl, 0, 0, 0, + 0, +}; + +static struct cmds Rtcmds[] = { + N_("add"), doadd, 0, 3, + N_("route add [/] [gateway] [metric]"), + + N_("addprivate"), doadd, 0, 3, + N_("route addprivate [/] [gateway] [metric]"), + + N_("drop"), dodrop, 0, 2, + N_("route drop [/]"), + + N_("flush"), doflush, 0, 0, + 0, + + N_("lookup"), dolook, 0, 2, + N_("route lookup "), + + 0, +}; + +int +doip(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return subcmd(Ipcmds,argc,argv,p); +} +static int +doiptrace(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setbool(&Ip_trace, _("IP rx tracing"), argc, argv); +} + +static int +doipaddr(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + int32 n; + + if(argc < 2) { + _printf(_("%s\n"),inet_ntoa(Ip_addr)); + } else if((n = resolve(argv[1])) == 0){ + printf(Badhost,argv[1]); + return 1; + } else + Ip_addr = n; + return 0; +} +static int +dortimer(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setlong(&Ip_mib[13].value.integer, _("IP reasm timeout (sec)"), + argc, argv); +} +static int +dottl(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setlong(&Ip_mib[2].value.integer, _("IP Time-to-live"), argc, argv); +} + + + +int +doroute(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register int i,bits; + register struct route *rp; + + if(argc >= 2) + return subcmd(Rtcmds,argc,argv,p); + + + + + + printf( +"Dest Len Interface Gateway Metric P Timer Use\n"); + + for(bits=31;bits>=0;bits--){ + for(i=0;i<7 ;i++){ + for(rp = Routes[bits][i];rp != 0;rp = rp->next){ + if(dumproute(rp) == (-1)) + return 0; + } + } + } + if(R_default.iface != 0) + dumproute(&R_default); + + return 0; +} + + + +static int +doadd(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct iface *ifp; + int32 dest,gateway; + unsigned bits; + char *bitp; + int32 metric; + char private; + + if(strncmp(argv[0],"addp",4) == 0) + private = 1; + else + private = 0; + if(strcmp(argv[1],"default") == 0){ + dest = 0; + bits = 0; + } else { + + + + + if((bitp = strchr(argv[1],'/')) != 0){ + + *bitp++ = '\0'; + bits = atoi(bitp); + } else + bits = 32; + + if((dest = resolve(argv[1])) == 0){ + printf(Badhost,argv[1]); + return 1; + } + } + if((ifp = if_lookup(argv[2])) == 0){ + _printf(_("Interface \"%s\" unknown\n"),argv[2]); + return 1; + } + if(argc > 3){ + if((gateway = resolve(argv[3])) == 0){ + printf(Badhost,argv[3]); + return 1; + } + } else { + gateway = 0; + } + if (argc > 4) + metric = atol(argv[4]); + else + metric = 1; + + if(rt_add(dest,bits,gateway,ifp,metric,0,private) == 0) + _printf(_("Can't add route\n")); + return 0; +} + + + +static int +dodrop(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + char *bitp; + unsigned bits; + int32 n; + + if(strcmp(argv[1],"default") == 0){ + n = 0; + bits = 0; + } else { + + + + if((bitp = strchr(argv[1],'/')) != 0){ + + *bitp++ = '\0'; + bits = atoi(bitp); + } else + bits = 32; + + if((n = resolve(argv[1])) == 0){ + printf(Badhost,argv[1]); + return 1; + } + } + return rt_drop(n,bits); +} + +static int +doflush(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct route *rp; + struct route *rptmp; + int i,j; + + if(R_default.timer.state == 1){ + rt_drop(0,0); + } + for(i=0;i<7 ;i++){ + for(j=0;j<32;j++){ + for(rp = Routes[j][i];rp != 0;rp = rptmp){ + rptmp = rp->next; + if(rp->timer.state == 1){ + rt_drop(rp->target,rp->bits); + } + } + } + } + return 0; +} + +static int +dumproute(rp) +register struct route *rp; +{ + char *cp; + + if(rp->target != 0) + cp = inet_ntoa(rp->target); + else + cp = "default"; + _printf(_("%-16s"),cp); + _printf(_("%-4u"),rp->bits); + _printf(_("%-13s"),rp->iface->name); + if(rp->gateway != 0) + cp = inet_ntoa(rp->gateway); + else + cp = ""; + _printf(_("%-17s"),cp); + _printf(_("%-8lu"),rp->metric); + _printf(_("%c "),rp->flags.rtprivate ? 'P' : ' '); + _printf(_("%-7lu"), + read_timer(&rp->timer) / 1000L); + return _printf(_("%lu\n"),rp->uses); +} + +static int +dolook(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct route *rp; + int32 addr; + + addr = resolve(argv[1]); + if(addr == 0){ + _printf(_("Host %s unknown\n"),argv[1]); + return 1; + } + if((rp = rt_lookup(addr)) == 0){ + _printf(_("Host %s (%s) unreachable\n"),argv[1],inet_ntoa(addr)); + return 1; + } + dumproute(rp); + return 0; +} + +static int +doipstat(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct reasm *rp; + register struct frag *fp; + int i; + + for(i=1;i<=19;i++){ + _printf(_("(%2u)%-20s%10lu"),i, + Ip_mib[i].name,Ip_mib[i].value.integer); + if(i % 2) + _printf(_(" ")); + else + _printf(_("\n")); + } + if((i % 2) == 0) + _printf(_("\n")); + _printf(_("Routing lookups: %lu, cache hits %lu (%lu%%)\n"), + Rtlookups,Rtchits, + Rtlookups != 0 ? (Rtchits*100 + Rtlookups/2)/Rtlookups: 0); + + if(Reasmq != 0) + _printf(_("Reassembly fragments:\n")); + for(rp = Reasmq;rp != 0;rp = rp->next){ + _printf(_("src %s"),inet_ntoa(rp->source)); + _printf(_(" dest %s"),inet_ntoa(rp->dest)); + _printf(_(" id %u pctl %u time %lu len %u\n"), + rp->id,rp->protocol,read_timer(&rp->timer), + rp->length); + for(fp = rp->fraglist;fp != 0;fp = fp->next){ + _printf(_(" offset %u last %u\n"),fp->offset, + fp->last); + } + } + return 0; +} diff --git a/src/nos/internet/iphdr.i b/src/nos/internet/iphdr.i new file mode 100644 index 00000000..12bb7ef9 --- /dev/null +++ b/src/nos/internet/iphdr.i @@ -0,0 +1,2670 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + +void +htonip( +struct ip *ip, +struct mbuf **bpp, +int cflag +){ + uint16 hdr_len; + register uint8 *cp; + uint16 fl_offs; + + if(bpp == 0) + return; + hdr_len = 20 + ip->optlen; + if(hdr_len > 20 + 40 ) + hdr_len = 20 + 40 ; + pushdown(bpp,0,hdr_len); + cp = (*bpp)->data; + + *cp++ = (ip->version << 4) | (hdr_len >> 2); + *cp++ = ip->tos; + cp = put16(cp,ip->length); + cp = put16(cp,ip->id); + fl_offs = ip->offset >> 3; + if(ip->flags.congest) + fl_offs |= 0x8000; + if(ip->flags.df) + fl_offs |= 0x4000; + if(ip->flags.mf) + fl_offs |= 0x2000; + + cp = put16(cp,fl_offs); + *cp++ = ip->ttl; + *cp++ = ip->protocol; + if(cflag){ + + cp = put16(cp,ip->checksum); + } else { + + *cp++ = 0; + *cp++ = 0; + } + cp = put32(cp,ip->source); + cp = put32(cp,ip->dest); + if(ip->optlen != 0) + memcpy(cp,ip->options,((ip->optlen)<(40 )?(ip->optlen):(40 )) ); + + + if(!cflag) + put16(&(*bpp)->data[10],cksum(0,*bpp,hdr_len)); +} + +int +ntohip( +struct ip *ip, +struct mbuf **bpp +){ + int ihl; + uint16 fl_offs; + uint8 ipbuf[20 ]; + + if(pullup(bpp,ipbuf,20 ) != 20 ) + return -1; + + ip->version = (ipbuf[0] >> 4) & 0xf; + ip->tos = ipbuf[1]; + ip->length = get16(&ipbuf[2]); + ip->id = get16(&ipbuf[4]); + fl_offs = get16(&ipbuf[6]); + ip->offset = (fl_offs & 0x1fff) << 3; + ip->flags.mf = (fl_offs & 0x2000) ? 1 : 0; + ip->flags.df = (fl_offs & 0x4000) ? 1 : 0; + ip->flags.congest = (fl_offs & 0x8000) ? 1 : 0; + ip->ttl = ipbuf[8]; + ip->protocol = ipbuf[9]; + ip->checksum = get16(&ipbuf[10]); + ip->source = get32(&ipbuf[12]); + ip->dest = get32(&ipbuf[16]); + + ihl = (ipbuf[0] & 0xf) << 2; + if(ihl < 20 ){ + + ip->optlen = 0; + return -1; + } + if ( (ip->optlen = ihl - 20 ) != 0 ) { + if ( pullup(bpp,ip->options,ip->optlen) < ip->optlen ) + return -1; + } + return ihl; +} + +uint16 +eac( +int32 sum +){ + register uint16 csum; + + while((csum = sum >> 16) != 0) + sum = csum + (sum & 0xffffL); + return (uint16) (sum & 0xffffl); +} + +uint16 +cksum( +struct pseudo_header *ph, +struct mbuf *m, +uint16 len +){ + register uint16 cnt, total; + register int32 sum, csum; + register uint8 *up; + uint16 csum1; + int swap = 0; + + sum = 0l; + + + if(ph != 0){ + sum = ((uint16)((ph->source) >> 16)); + sum += ((uint16)(ph->source)); + sum += ((uint16)((ph->dest) >> 16)); + sum += ((uint16)(ph->dest)); + sum += ph->protocol; + sum += ph->length; + } + + for(total = 0; m != 0 && total < len; m = m->next) { + cnt = ((m->cnt)<( len - total)?(m->cnt):( len - total)) ; + up = m->data; + csum = 0; + + if(((long)up) & 1){ + + if(swap) + csum = *up++; + else + csum = (uint16)*up++ << 8; + cnt--; + swap = !swap; + } + if(cnt > 1){ + + + + + csum1 = lcsum((unsigned short *)up, (uint16)(cnt >> 1)); + if(swap) + csum1 = (csum1 << 8) | (csum1 >> 8); + csum += csum1; + } + + if(cnt & 1){ + if(swap) + csum += up[--cnt]; + else + csum += (uint16)up[--cnt] << 8; + swap = !swap; + } + sum += csum; + total += m->cnt; + } + + return (uint16)(~eac(sum) & 0xffff); +} + diff --git a/src/nos/internet/iproute.i b/src/nos/internet/iproute.i new file mode 100644 index 00000000..33265f08 --- /dev/null +++ b/src/nos/internet/iproute.i @@ -0,0 +1,4569 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct tcp { + uint16 source; + uint16 dest; + int32 seq; + int32 ack; + uint16 wnd; + uint16 checksum; + uint16 up; + uint16 mss; + uint8 wsopt; + uint32 tsval; + uint32 tsecr; + struct { + unsigned int congest:1; + unsigned int urg:1; + unsigned int ack:1; + unsigned int psh:1; + unsigned int rst:1; + unsigned int syn:1; + unsigned int fin:1; + unsigned int mss:1; + unsigned int wscale:1; + unsigned int tstamp:1; + } flags; + + + + + + + + + + char optlen; + char options[40 ]; + +}; + + + + + + + + + + + +struct reseq { + struct reseq *next; + struct tcp seg; + struct mbuf *bp; + uint16 length; + char tos; +}; + +enum tcp_state { + TCP_CLOSED=1, + TCP_LISTEN, + TCP_SYN_SENT, + TCP_SYN_RECEIVED, + TCP_ESTABLISHED, + TCP_FINWAIT1, + TCP_FINWAIT2, + TCP_CLOSE_WAIT, + TCP_LAST_ACK, + TCP_CLOSING, + TCP_TIME_WAIT +}; + + +struct tcb { + struct tcb *next; + + struct connection conn; + + enum tcp_state state; + + char reason; + + + + + + + uint8 type; + uint8 code; + + + struct { + int32 una; + int32 nxt; + int32 ptr; + int32 wl1; + int32 wl2; + int32 wnd; + uint16 up; + uint8 wind_scale; + } snd; + int32 iss; + int32 resent; + int32 cwind; + int32 ssthresh; + int dupacks; + + + struct { + int32 nxt; + int32 wnd; + uint16 up; + uint8 wind_scale; + } rcv; + int32 last_ack_sent; + int32 ts_recent; + + int32 irs; + int32 rerecv; + int32 mss; + + int32 window; + int32 limit; + + void (*r_upcall)(struct tcb *tcb,int32 cnt); + + void (*t_upcall)(struct tcb *tcb,int32 cnt); + + void (*s_upcall)(struct tcb *tcb,int old,int new); + + struct { + unsigned int force:1; + unsigned int clone:1; + unsigned int retran:1; + unsigned int active:1; + unsigned int synack:1; + unsigned int rtt_run:1; + unsigned int congest:1; + int ts_ok:1; + int ws_ok:1; + } flags; + char tos; + int backoff; + + struct mbuf *rcvq; + struct mbuf *sndq; + int32 rcvcnt; + int32 sndcnt; + + + + + struct reseq *reseq; + struct timer timer; + int32 rtt_time; + int32 rttseq; + int32 rttack; + int32 srtt; + int32 mdev; + int32 rtt; + + int user; + + + int32 quench; + int32 unreach; + int32 timeouts; + int32 lastack; + int32 txbw; + int32 lastrx; + int32 rxbw; +}; + +struct tcp_rtt { + int32 addr; + int32 srtt; + int32 mdev; +}; +extern struct tcp_rtt Tcp_rtt[]; +extern int (*Kicklist[])(); + + +struct tcp_stat { + uint16 runt; + uint16 checksum; + uint16 conout; + uint16 conin; + uint16 resets; + uint16 bdcsts; +}; +extern struct mib_entry Tcp_mib[]; + + + + + + + + + + + + + + + + +extern struct tcb *Tcbs; +extern char *Tcpstates[]; +extern char *Tcpreasons[]; + + +extern int Tcp_tstamps; +extern int32 Tcp_irtt; +extern uint16 Tcp_limit; +extern uint16 Tcp_mss; +extern int Tcp_syndata; +extern int Tcp_trace; +extern uint16 Tcp_window; + +void st_tcp(struct tcb *tcb); + + +void htontcp(struct tcp *tcph,struct mbuf **data, + int32 ipsrc,int32 ipdest); +int ntohtcp(struct tcp *tcph,struct mbuf **bpp); + + +void reset(struct ip *ip,struct tcp *seg); +void send_syn(struct tcb *tcb); +void tcp_input(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast,int32 said); +void tcp_icmp(int32 icsource,int32 source,int32 dest, + uint8 type,uint8 code,struct mbuf **bpp); + + +void close_self(struct tcb *tcb,int reason); +struct tcb *create_tcb(struct connection *conn); +struct tcb *lookup_tcb(struct connection *conn); +void rtt_add(int32 addr,int32 rtt); +struct tcp_rtt *rtt_get(int32 addr); +int seq_ge(int32 x,int32 y); +int seq_gt(int32 x,int32 y); +int seq_le(int32 x,int32 y); +int seq_lt(int32 x,int32 y); +int seq_within(int32 x,int32 low,int32 high); +void settcpstate(struct tcb *tcb,enum tcp_state newstate); +void tcp_garbage(int red); + + +void tcp_output(struct tcb *tcb); + + +int32 backoff(int n); +void tcp_timeout(void *p); + + +int close_tcp(struct tcb *tcb); +int del_tcp(struct tcb *tcb); +int kick(int32 addr); +int kick_tcp(struct tcb *tcb); +struct tcb *open_tcp(struct socket *lsocket,struct socket *fsocket, + int mode,uint16 window, + void (*r_upcall)(struct tcb *tcb,int32 cnt), + void (*t_upcall)(struct tcb *tcb,int32 cnt), + void (*s_upcall)(struct tcb *tcb,int old,int new), + int tos,int user); +int32 recv_tcp(struct tcb *tcb,struct mbuf **bpp,int32 cnt); +void reset_all(void); +void reset_tcp(struct tcb *tcb); +long send_tcp(struct tcb *tcb,struct mbuf **bpp); +char *tcp_port(uint16 n); +int tcpval(struct tcb *tcb); + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern struct mib_entry Icmp_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct icmp { + uint8 type; + uint8 code; + union icmp_args { + uint16 mtu; + int32 unused; + uint8 pointer; + int32 address; + struct { + uint16 id; + uint16 seq; + } echo; + } args; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int Icmp_trace; +extern int Icmp_echo; + + +extern char *Icmptypes[],*Unreach[],*Exceed[],*Redirect[],*Said_icmp[]; + +struct icmplink { + uint8 proto; + void (*funct)(int32,int32,int32,uint8,uint8,struct mbuf **); +}; +extern struct icmplink Icmplink[]; + + +void icmp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int icmp_output(struct ip *ip,struct mbuf *data,uint8 type,uint8 code, + union icmp_args *args); + + +void htonicmp(struct icmp *icmp,struct mbuf **data); +int ntohicmp(struct icmp *icmp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern struct mib_entry Udp_mib[]; + + + + + + + + + +struct udp { + uint16 source; + uint16 dest; + uint16 length; + uint16 checksum; +}; + + + + + + +struct udp_cb { + struct udp_cb *next; + struct socket socket; + void (*r_upcall)(struct iface *iface,struct udp_cb *,int); + + struct mbuf *rcvq; + int rcvcnt; + int user; +}; +extern struct udp_cb *Udps; + + + + +int del_udp(struct udp_cb *up); +struct udp_cb *open_udp(struct socket *lsocket, + void (*r_upcall)(struct iface *iface,struct udp_cb *,int)); +int recv_udp(struct udp_cb *up,struct socket *fsocket,struct mbuf **bp); +int send_udp(struct socket *lsocket,struct socket *fsocket,char tos, + char ttl,struct mbuf **data,uint16 length,uint16 id,char df); +void udp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +void udp_garbage(int drastic); + + +void udp_icmp(int32 icsource, int32 ipsource,int32 ipdest, + char ictype,char iccode,struct mbuf **bpp); + +void hop_icmp(struct udp_cb *ucb, int32 icsource, int32 ipdest, + uint16 udpdest, char ictype, char iccode); + + + +int st_udp(struct udp_cb *udp,int n); + + +void htonudp(struct udp *udp,struct mbuf **data,struct pseudo_header *ph); +int ntohudp(struct udp *udp,struct mbuf **bpp); +uint16 udpcksum(struct mbuf *bp); + + + + + + + + + + + + + +enum ripcmd { + RIPCMD_REQUEST=1, + RIPCMD_RESPONSE, + RIPCMD_MAX +}; + + + + +struct rip_list { + struct rip_list *prev; + struct rip_list *next; + + + + + + int32 dest; + + + int32 interval; + + struct timer rip_time; + + + struct iface *iface; + + + struct { + unsigned int rip_split:1; + unsigned int rip_us:1; + } flags; +}; + + +struct rip_route { + uint16 addr_fam; + int32 target; + int32 metric; +}; + + + + + +struct rip_stat { + int32 output; + int32 rcvd; + int32 request; + int32 response; + int32 unknown; + int32 version; + int32 addr_family; + int32 refusals; + +}; + +struct rip_refuse { + struct rip_refuse *prev; + struct rip_refuse *next; + int32 target; +}; + + +int rip_init(void); +void rt_timeout(void *s); +void rip_trigger(void); +int rip_add(int32 dest,int32 interval,int split,int us); +int riprefadd(int32 gateway); +int riprefdrop(int32 gateway); +int ripreq(int32 dest,uint16 replyport); +int rip_drop(int32 dest); +int nbits(int32 target); +void pullentry(struct rip_route *ep,struct mbuf **bpp); + + +extern uint16 Rip_trace; +extern int Rip_merge; +extern struct rip_stat Rip_stat; +extern struct rip_list *Rip_list; +extern struct rip_refuse *Rip_refuse; +extern struct udp_cb *Rip_cb; + + + + + + + + + + + + + + + + + +struct tracecmd { + char *name; + int val; + int mask; +}; +extern struct tracecmd Tracecmd[]; + + + + +struct trace { + int (*addrtest)(struct iface *iface,struct mbuf *bp); + void (*tracef)(FILE *,struct mbuf **,int); +}; + +extern struct trace Tracef[]; + + +void dump(struct iface *ifp,int direction,struct mbuf *bp); +void raw_dump(struct iface *ifp,int direction, struct mbuf *bp); +void _trace_log(struct iface *ifp,_char *fmt, ...); +void shuttrace(void); +int tprintf(struct iface *ifp,char *fmt,...); +void hex_dump(FILE *fp,struct mbuf **bpp); + + +void arc_dump(FILE *fp,struct mbuf **bpp,int check); +int arc_forus(struct iface *iface,struct mbuf *bp); + + +void arp_dump(FILE *fp,struct mbuf **bpp); + + +void ax25_dump(FILE *fp,struct mbuf **bpp,int check); +int ax_forus(struct iface *iface,struct mbuf *bp); + + +void ether_dump(FILE *fp,struct mbuf **bpp,int check); +int ether_forus(struct iface *iface,struct mbuf *bp); + + +void icmp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void ipip_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ip_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ki_dump(FILE *fp,struct mbuf **bpp,int check); +int ki_forus(struct iface *iface,struct mbuf *bp); + + +void netrom_dump(FILE *fp,struct mbuf **bpp,int check); + + +void ppp_dump(FILE *fp,struct mbuf **bpp,int check); + + +void rip_dump(FILE *fp,struct mbuf **bpp); + + +void esp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); +void ah_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void sl_dump(FILE *fp,struct mbuf **bpp,int check); +void vjcomp_dump(FILE *fp,struct mbuf **bpp,int unused); + + +void tcp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + +void udp_dump(FILE *fp,struct mbuf **bpp,int32 source,int32 dest,int check); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + +struct bootp { + uint8 op; + uint8 htype; + uint8 hlen; + uint8 hops; + int32 xid; + uint16 secs; + uint16 unused; + struct in_addr ciaddr; + struct in_addr yiaddr; + struct in_addr siaddr; + struct in_addr giaddr; + uint8 chaddr[16]; + char sname[64]; + char file[128]; + uint8 vend[64]; +}; + + + + + + + + + + + + + + + + + + + + +struct vend { + uint8 v_magic[4]; + unsigned long v_flags; + uint8 v_unused[56]; +}; + + + + + + + +extern int WantBootp; +extern char bp_ascii[]; + +void bootp_print_packet(struct bootp *bp); +int bootp_validPacket(struct ip *ip,struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct route *Routes[32][7 ]; + + +struct route R_default = { + 0, 0, + 0,0,0, + 16 +}; + + + + struct rt_cache Rt_cache[7 ]; + + +int32 Rtlookups; + + +int32 Rtchits; + + +static int q_pkt(struct iface *iface,int32 gateway,struct ip *ip, + struct mbuf **bpp,int ckgood); + + + + +void +ipinit(void) +{ + int i; + + for(i=0;i<256;i++) + Hashtab[i] = i % 7 ; +} + + + + + + + + + + + +int +ip_route( +struct iface *i_iface, +struct mbuf **bpp, +int rxbroadcast +){ + struct ip ip; + uint16 ip_len; + uint16 length; + int32 gateway; + register struct route *rp; + struct iface *iface; + uint16 offset; + uint16 mf_flag; + int strict = 0; + uint16 opt_len; + uint8 *opt; + int i; + int ckgood = 1 ; + int pointer; + + if(i_iface != 0){ + Ip_mib[3].value.integer++; + i_iface->iprecvcnt++; + } + if(len_p(*bpp) < 20 ){ + + Ip_mib[4].value.integer++; + free_p(bpp); + return -1; + } + + ip_len = ((*bpp)->data[0] & 0xf) << 2; + if(ip_len < 20 ){ + + Ip_mib[4].value.integer++; + free_p(bpp); + return -1; + } + if(cksum(0,*bpp,ip_len) != 0){ + + Ip_mib[4].value.integer++; + free_p(bpp); + return -1; + } + + ntohip(&ip,bpp); + + if(ip.version != 4){ + + Ip_mib[4].value.integer++; + free_p(bpp); + return -1; + } + + if(!rxbroadcast && availmem() != 0) + icmp_output(&ip,*bpp,4 ,0,0); + + + + + strict = 0; + for(i=0;i opt_len) + break; + + + + + + ip.dest = get32(&opt[pointer]); + put32(&opt[pointer],locaddr(ip.dest)); + opt[2] += 4; + ckgood = 0 ; + break; + case 7 : + if(opt_len < 3){ + + + + if(!rxbroadcast){ + union icmp_args icmp_args; + + icmp_args.pointer = 20 + i; + icmp_output(&ip,*bpp,12 ,0,&icmp_args); + } + free_p(bpp); + return -1; + } + pointer = opt[2]; + if(pointer + 4 > opt_len){ + + if(!rxbroadcast){ + union icmp_args icmp_args; + + icmp_args.pointer = 20 + i; + icmp_output(&ip,*bpp,12 ,0,&icmp_args); + } + + if(pointer != opt_len){ + free_p(bpp); + return -1; + } + } else { + + + + put32(&opt[pointer],locaddr(ip.dest)); + opt[2] += 4; + ckgood = 0 ; + } + break; + } + } +no_opt: + + + if(ismyaddr(ip.dest) != 0 || rxbroadcast || + (WantBootp && bootp_validPacket(&ip, *bpp))){ + + + + + + + + + ip_recv(i_iface,&ip,bpp,rxbroadcast,0); + + return 0; + } + + + + if(i_iface != 0) + Ip_mib[6].value.integer++; + + + ip.checksum += 0x100; + if((ip.checksum & 0xff00) == 0) + ip.checksum++; + + + + + if(--ip.ttl == 0){ + + icmp_output(&ip,*bpp,11 ,0,0); + Ip_mib[4].value.integer++; + free_p(bpp); + return -1; + } + + if((rp = rt_lookup(ip.dest)) == 0){ + + + + icmp_output(&ip,*bpp,3 ,1 ,0); + free_p(bpp); + Ip_mib[12].value.integer++; + return -1; + } + rp->uses++; + + + iface = rp->iface; + if(iface->forw != 0) + iface = iface->forw; + + + if(rp->gateway == 0) + gateway = ip.dest; + else + gateway = rp->gateway; + + if(strict && gateway != ip.dest){ + + + + icmp_output(&ip,*bpp,3 ,5 ,0); + free_p(bpp); + Ip_mib[12].value.integer++; + return -1; + } + + + + + + + if(ip.length <= iface->mtu){ + + + + return q_pkt(iface,gateway,&ip,bpp,ckgood); + } + + if(ip.flags.df){ + + union icmp_args icmp_args; + + icmp_args.mtu = iface->mtu; + icmp_output(&ip,*bpp,3 ,4 ,&icmp_args); + free_p(bpp); + Ip_mib[18].value.integer++; + return -1; + } + + offset = ip.offset; + mf_flag = ip.flags.mf; + length = ip.length - ip_len; + while(length != 0){ + uint16 fragsize; + struct mbuf *f_data; + + + + + if(length + ip_len <= iface->mtu){ + + fragsize = length; + ip.flags.mf = mf_flag; + } else { + + fragsize = (iface->mtu - ip_len) & 0xfff8; + ip.flags.mf = 1; + } + ip.length = fragsize + ip_len; + + + dup_p(&f_data,*bpp,ip.offset-offset,fragsize); + if(f_data == 0){ + free_p(bpp); + Ip_mib[18].value.integer++; + return -1; + } + if(q_pkt(iface,gateway,&ip,&f_data,0 ) == -1){ + free_p(bpp); + Ip_mib[18].value.integer++; + return -1; + } + Ip_mib[19].value.integer++; + ip.offset += fragsize; + length -= fragsize; + } + Ip_mib[17].value.integer++; + free_p(bpp); + return 0; +} + + + + + + + + + +static int +q_pkt( +struct iface *iface, +int32 gateway, +struct ip *ip, +struct mbuf **bpp, +int ckgood +){ + struct mbuf *tlast,*tbp; + struct tcp tcp; + struct qhdr qhdr,qtmp; + int i; + + iface->ipsndcnt++; + htonip(ip,bpp,ckgood); + + + + + + qhdr.tos = (ip->tos & 0xfc); + qhdr.gateway = gateway; + + if(iface->outq == 0){ + + + + + pushdown(bpp,&qhdr,sizeof(qhdr)); + iface->outq = *bpp; + *bpp = 0; + } else { + + if(ip->protocol == 6 && ip->offset == 0){ + + if(dup_p(&tbp,*bpp,sizeof(struct qhdr)+20 + + ip->optlen,20 +40 ) >= 20 ){ + ntohtcp(&tcp,&tbp); + + for(i=0;Tcp_interact[i] != -1;i++){ + if(tcp.source == Tcp_interact[i] + || tcp.dest == Tcp_interact[i]){ + qhdr.tos |= 1; + break; + } + } + } + free_p(&tbp); + } + pushdown(bpp,&qhdr,sizeof(qhdr)); + + + + tlast = 0; + for(tbp = iface->outq;tbp != 0;tlast=tbp,tbp = tbp->anext){ + memcpy(&qtmp,tbp->data,sizeof(qtmp)); + if(qhdr.tos > qtmp.tos){ + break; + } + } + (*bpp)->anext = tbp; + if(tlast == 0){ + + iface->outq = *bpp; + } else { + tlast->anext = *bpp; + } + *bpp = 0; + } + ksignal(&iface->outq,1); + if(iface->outlim != 0 && len_q(iface->outq) >= iface->outlim){ + + + + rquench(iface,0); + } + return 0; +} + + + + +void +ip_proc( +struct iface *iface, +struct mbuf **bpp +){ + ip_route(iface,bpp,0); +} + + + +int +ip_encap( +struct mbuf **bpp, +struct iface *iface, +int32 gateway, +uint8 tos +){ + struct ip ip; + + dump(iface,0x01 ,*bpp); + iface->rawsndcnt++; + iface->lastsent = secclock(); + if(gateway == 0L){ + + ntohip(&ip,bpp); + icmp_output(&ip,*bpp,3 ,1 ,0); + free_p(bpp); + Ip_mib[12].value.integer++; + return -1; + } + + + + + + + + return ip_send(Encap.addr,gateway,94 ,tos,0,bpp,0,0,0); +} + + + + +struct route * +rt_add( +int32 target, +unsigned int bits, +int32 gateway, +struct iface *iface, +int32 metric, +int32 ttl, +uint8 private +){ + struct route *rp,**hp; + int i; + + if(iface == 0) + return 0; + + if(bits > 32) + bits = 32; + + if(bits == 32 && ismyaddr(target)) + return 0; + + + target &= ~0L << (32-bits); + + + + + if(iface == &Encap && (gateway == 0 || ismyaddr(gateway))) + return 0; + + for(i=0;i<7 ;i++) + Rt_cache[i].route = 0; + + + if(bits == 0){ + rp = &R_default; + } else { + rp = rt_blookup(target,bits); + } + if(rp == 0){ + + + + rp = (struct route *)callocw(1,sizeof(struct route)); + + rp->prev = 0; + hp = &Routes[bits-1][hash_ip(target)]; + rp->next = *hp; + if(rp->next != 0) + rp->next->prev = rp; + *hp = rp; + rp->uses = 0; + } + rp->target = target; + rp->bits = bits; + rp->gateway = gateway; + rp->metric = metric; + rp->iface = iface; + rp->flags.rtprivate = private; + rp->timer.func = rt_timeout; + rp->timer.arg = (void *)rp; + set_timer(&rp->timer,ttl*1000L); + stop_timer(&rp->timer); + start_timer(&rp->timer); + + return rp; +} + + + + + + + +int +rt_drop( +int32 target, +unsigned int bits +){ + register struct route *rp; + int i; + + for(i=0;i<7 ;i++) + Rt_cache[i].route = 0; + + if(bits == 0){ + + stop_timer(&R_default.timer); + R_default.iface = 0; + return 0; + } + if(bits > 32) + bits = 32; + + + target &= ~0L << (32-bits); + + + for(rp = Routes[bits-1][hash_ip(target)];rp != 0;rp = rp->next){ + if(rp->target == target) + break; + } + if(rp == 0) + return -1; + + stop_timer(&rp->timer); + if(rp->next != 0) + rp->next->prev = rp->prev; + if(rp->prev != 0) + rp->prev->next = rp->next; + else + Routes[bits-1][hash_ip(target)] = rp->next; + + free(rp); + return 0; +} + + + + + + + + + + + +uint16 +ip_mtu( +int32 addr +){ + register struct route *rp; + struct iface *iface; + + rp = rt_lookup(addr); + if(rp == 0 || rp->iface == 0) + return 0; + if(rp->iface == &Encap){ + + return ip_mtu(rp->gateway) - 20 ; + } + iface = rp->iface; + + + + + + + if(iface->forw != 0) + return iface->forw->mtu; + else + return iface->mtu; + +} + + + + + + + + +int32 +locaddr(addr) +int32 addr; +{ + register struct route *rp; + struct iface *ifp; + + if(ismyaddr(addr) != 0) + return addr; + + if((rp = rt_lookup(addr)) != 0) + ifp = rp->iface; + else + ifp = 0; + + if(ifp == &Encap){ + if((rp = rt_lookup(rp->gateway)) != 0) + ifp = rp->iface; + else + ifp = 0; + } + if(ifp == 0){ + + + + for(ifp = Ifaces;ifp != 0;ifp = ifp->next){ + if(ifp != &Loopback && ifp != &Encap) + break; + } + } + if(ifp == 0 || ifp == &Loopback) + return 0; + + if(ifp->forw != 0) + return ifp->forw->addr; + else + return ifp->addr; +} + + + + + + + + + +struct route * +rt_lookup(target) +int32 target; +{ + register struct route *rp; + int bits; + int32 tsave; + int32 mask; + struct rt_cache *rcp; + + Rtlookups++; + + rcp = &Rt_cache[hash_ip(target)]; + if(target == rcp->target && (rp = rcp->route) != 0){ + Rtchits++; + return rp; + } + tsave = target; + + mask = ~0; + for(bits = 31;bits >= 0; bits--){ + target &= mask; + for(rp = Routes[bits][hash_ip(target)];rp != 0;rp = rp->next){ + if(rp->target != target + || (rp->iface == &Encap && rp->gateway == tsave)) + continue; + + rcp->target = tsave; + rcp->route = rp; + return rp; + } + mask <<= 1; + } + if(R_default.iface != 0){ + rcp->target = tsave; + rcp->route = &R_default; + return &R_default; + } else + return 0; +} + + + + +struct route * +rt_blookup(target,bits) +int32 target; +unsigned int bits; +{ + register struct route *rp; + + if(bits == 0){ + if(R_default.iface != 0) + return &R_default; + else + return 0; + } + + target &= ~0L << (32-bits); + + for(rp = Routes[bits-1][hash_ip(target)];rp != 0;rp = rp->next){ + if(rp->target == target){ + return rp; + } + } + return 0; +} + + + + + + + + +void +rt_merge( +int trace +){ + int bits,i,j; + struct route *rp,*rpnext,*rp1; + + for(bits=32;bits>0;bits--){ + for(i = 0;i<7 ;i++){ + for(rp = Routes[bits-1][i];rp != 0;rp = rpnext){ + rpnext = rp->next; + for(j=bits-1;j >= 0;j--){ + if((rp1 = rt_blookup(rp->target,j)) != 0 + && rp1->iface == rp->iface + && rp1->gateway == rp->gateway){ + if(trace > 1) + _printf(_("merge %s %d\n"), + inet_ntoa(rp->target), + rp->bits); + rt_drop(rp->target,rp->bits); + break; + } + } + } + } + } +} + + + + + + + +void +rt_timeout(s) +void *s; +{ + register struct route *rp = (struct route *)s; + + stop_timer(&rp->timer); + if(rp->metric < 16){ + rp->metric = 16; + if(((&rp->timer)->duration*55 ) == 0) + set_timer(&rp->timer,240 *1000L); + + set_timer(&rp->timer,((&rp->timer)->duration*55 )*2/3); + rp->timer.func = rt_timeout; + rp->timer.arg = (void *)rp; + start_timer(&rp->timer); + + rp->flags.rttrig = 1; + + + + } else { + rt_drop(rp->target,rp->bits); + } +} + diff --git a/src/nos/internet/ipsock.i b/src/nos/internet/ipsock.i new file mode 100644 index 00000000..aa371c1e --- /dev/null +++ b/src/nos/internet/ipsock.i @@ -0,0 +1,4477 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int sys_nerr; + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *strerror (int _errno); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + +struct zentry { + uint16 code; + char data; +}; +struct zfast { + uint16 owncode; + uint16 code; + char data; +}; + + + +struct lzw { + uint16 codebits; + int maxbits; + + int32 prefix; + char mode; + + + union { + struct zentry **tbl; + + struct mbuf **bpp; + + void *p; + } tu; + int nextbit; + int version; + + int32 cnt; + int32 code; + int32 next; + int flushbit; + + struct mbuf *buf; +}; + +struct usock; +void lzwencode(int s,char c); +void lzwinit(int s,int bits,int mode); +void lzwfree(struct usock *up); +void lzwflush(struct usock *up); +int lzwdecode(struct usock *up); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct tcp { + uint16 source; + uint16 dest; + int32 seq; + int32 ack; + uint16 wnd; + uint16 checksum; + uint16 up; + uint16 mss; + uint8 wsopt; + uint32 tsval; + uint32 tsecr; + struct { + unsigned int congest:1; + unsigned int urg:1; + unsigned int ack:1; + unsigned int psh:1; + unsigned int rst:1; + unsigned int syn:1; + unsigned int fin:1; + unsigned int mss:1; + unsigned int wscale:1; + unsigned int tstamp:1; + } flags; + + + + + + + + + + char optlen; + char options[40 ]; + +}; + + + + + + + + + + + +struct reseq { + struct reseq *next; + struct tcp seg; + struct mbuf *bp; + uint16 length; + char tos; +}; + +enum tcp_state { + TCP_CLOSED=1, + TCP_LISTEN, + TCP_SYN_SENT, + TCP_SYN_RECEIVED, + TCP_ESTABLISHED, + TCP_FINWAIT1, + TCP_FINWAIT2, + TCP_CLOSE_WAIT, + TCP_LAST_ACK, + TCP_CLOSING, + TCP_TIME_WAIT +}; + + +struct tcb { + struct tcb *next; + + struct connection conn; + + enum tcp_state state; + + char reason; + + + + + + + uint8 type; + uint8 code; + + + struct { + int32 una; + int32 nxt; + int32 ptr; + int32 wl1; + int32 wl2; + int32 wnd; + uint16 up; + uint8 wind_scale; + } snd; + int32 iss; + int32 resent; + int32 cwind; + int32 ssthresh; + int dupacks; + + + struct { + int32 nxt; + int32 wnd; + uint16 up; + uint8 wind_scale; + } rcv; + int32 last_ack_sent; + int32 ts_recent; + + int32 irs; + int32 rerecv; + int32 mss; + + int32 window; + int32 limit; + + void (*r_upcall)(struct tcb *tcb,int32 cnt); + + void (*t_upcall)(struct tcb *tcb,int32 cnt); + + void (*s_upcall)(struct tcb *tcb,int old,int new); + + struct { + unsigned int force:1; + unsigned int clone:1; + unsigned int retran:1; + unsigned int active:1; + unsigned int synack:1; + unsigned int rtt_run:1; + unsigned int congest:1; + int ts_ok:1; + int ws_ok:1; + } flags; + char tos; + int backoff; + + struct mbuf *rcvq; + struct mbuf *sndq; + int32 rcvcnt; + int32 sndcnt; + + + + + struct reseq *reseq; + struct timer timer; + int32 rtt_time; + int32 rttseq; + int32 rttack; + int32 srtt; + int32 mdev; + int32 rtt; + + int user; + + + int32 quench; + int32 unreach; + int32 timeouts; + int32 lastack; + int32 txbw; + int32 lastrx; + int32 rxbw; +}; + +struct tcp_rtt { + int32 addr; + int32 srtt; + int32 mdev; +}; +extern struct tcp_rtt Tcp_rtt[]; +extern int (*Kicklist[])(); + + +struct tcp_stat { + uint16 runt; + uint16 checksum; + uint16 conout; + uint16 conin; + uint16 resets; + uint16 bdcsts; +}; +extern struct mib_entry Tcp_mib[]; + + + + + + + + + + + + + + + + +extern struct tcb *Tcbs; +extern char *Tcpstates[]; +extern char *Tcpreasons[]; + + +extern int Tcp_tstamps; +extern int32 Tcp_irtt; +extern uint16 Tcp_limit; +extern uint16 Tcp_mss; +extern int Tcp_syndata; +extern int Tcp_trace; +extern uint16 Tcp_window; + +void st_tcp(struct tcb *tcb); + + +void htontcp(struct tcp *tcph,struct mbuf **data, + int32 ipsrc,int32 ipdest); +int ntohtcp(struct tcp *tcph,struct mbuf **bpp); + + +void reset(struct ip *ip,struct tcp *seg); +void send_syn(struct tcb *tcb); +void tcp_input(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast,int32 said); +void tcp_icmp(int32 icsource,int32 source,int32 dest, + uint8 type,uint8 code,struct mbuf **bpp); + + +void close_self(struct tcb *tcb,int reason); +struct tcb *create_tcb(struct connection *conn); +struct tcb *lookup_tcb(struct connection *conn); +void rtt_add(int32 addr,int32 rtt); +struct tcp_rtt *rtt_get(int32 addr); +int seq_ge(int32 x,int32 y); +int seq_gt(int32 x,int32 y); +int seq_le(int32 x,int32 y); +int seq_lt(int32 x,int32 y); +int seq_within(int32 x,int32 low,int32 high); +void settcpstate(struct tcb *tcb,enum tcp_state newstate); +void tcp_garbage(int red); + + +void tcp_output(struct tcb *tcb); + + +int32 backoff(int n); +void tcp_timeout(void *p); + + +int close_tcp(struct tcb *tcb); +int del_tcp(struct tcb *tcb); +int kick(int32 addr); +int kick_tcp(struct tcb *tcb); +struct tcb *open_tcp(struct socket *lsocket,struct socket *fsocket, + int mode,uint16 window, + void (*r_upcall)(struct tcb *tcb,int32 cnt), + void (*t_upcall)(struct tcb *tcb,int32 cnt), + void (*s_upcall)(struct tcb *tcb,int old,int new), + int tos,int user); +int32 recv_tcp(struct tcb *tcb,struct mbuf **bpp,int32 cnt); +void reset_all(void); +void reset_tcp(struct tcb *tcb); +long send_tcp(struct tcb *tcb,struct mbuf **bpp); +char *tcp_port(uint16 n); +int tcpval(struct tcb *tcb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern struct mib_entry Udp_mib[]; + + + + + + + + + +struct udp { + uint16 source; + uint16 dest; + uint16 length; + uint16 checksum; +}; + + + + + + +struct udp_cb { + struct udp_cb *next; + struct socket socket; + void (*r_upcall)(struct iface *iface,struct udp_cb *,int); + + struct mbuf *rcvq; + int rcvcnt; + int user; +}; +extern struct udp_cb *Udps; + + + + +int del_udp(struct udp_cb *up); +struct udp_cb *open_udp(struct socket *lsocket, + void (*r_upcall)(struct iface *iface,struct udp_cb *,int)); +int recv_udp(struct udp_cb *up,struct socket *fsocket,struct mbuf **bp); +int send_udp(struct socket *lsocket,struct socket *fsocket,char tos, + char ttl,struct mbuf **data,uint16 length,uint16 id,char df); +void udp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +void udp_garbage(int drastic); + + + + + + + + + + +int st_udp(struct udp_cb *udp,int n); + + +void htonudp(struct udp *udp,struct mbuf **data,struct pseudo_header *ph); +int ntohudp(struct udp *udp,struct mbuf **bpp); +uint16 udpcksum(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct ax25_cb { + struct ax25_cb *next; + + struct iface *iface; + + struct mbuf *txq; + struct mbuf *rxasm; + struct mbuf *rxq; + + uint8 local[7 ]; + uint8 remote[7 ]; + + struct { + unsigned int rejsent:1; + unsigned int remotebusy:1; + unsigned int rtt_run:1; + unsigned int retrans:1; + unsigned int clone:1; + } flags; + + uint8 reason; + + + + + uint8 response; + uint8 vs; + uint8 vr; + uint8 unack; + int maxframe; + uint16 paclen; + uint16 window; + enum { + V1=1, + V2 + } proto; + uint16 pthresh; + unsigned retries; + unsigned n2; + enum { + LAPB_DISCONNECTED=1, + LAPB_LISTEN, + LAPB_SETUP, + LAPB_DISCPENDING, + LAPB_CONNECTED, + LAPB_RECOVERY + } state; + struct timer t1; + struct timer t3; + int32 rtt_time; + int rtt_seq; + int32 srt; + int32 mdev; + + void (*r_upcall)(struct ax25_cb *,int); + void (*t_upcall)(struct ax25_cb *,int); + void (*s_upcall)(struct ax25_cb *,int,int); + + int user; + + int segremain; +}; + +struct axlink { + int pid; + void (*funct)(struct iface *,struct ax25_cb *,uint8 *, uint8 *, + struct mbuf **,int); +}; +extern struct axlink Axlink[]; + + + + + + +extern struct ax25_cb Ax25default,*Ax25_cb; +extern char *Ax25states[],*Axreasons[]; +extern int32 Axirtt,T3init,Blimit; +extern uint16 N2,Maxframe,Paclen,Pthresh,Axwindow,Axversion; + + +void st_ax25(struct ax25_cb *axp); + + +struct ax25_cb *cr_ax25(uint8 *addr); +void del_ax25(struct ax25_cb *axp); +struct ax25_cb *find_ax25(uint8 *); + + +int ax25val(struct ax25_cb *axp); +int disc_ax25(struct ax25_cb *axp); +int kick_ax25(struct ax25_cb *axp); +struct ax25_cb *open_ax25(struct iface *,uint8 *,uint8 *, + int,uint16, + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int,int), + int user); +struct mbuf *recv_ax25(struct ax25_cb *axp,uint16 cnt); +int reset_ax25(struct ax25_cb *axp); +int send_ax25(struct ax25_cb *axp,struct mbuf **bp,int pid); + + +void est_link(struct ax25_cb *axp); +void lapbstate(struct ax25_cb *axp,int s); +int lapb_input(struct ax25_cb *axp,int cmdrsp,struct mbuf **bp); +int lapb_output(struct ax25_cb *axp); +struct mbuf *segmenter(struct mbuf **bp,uint16 ssize); +int sendctl(struct ax25_cb *axp,int cmdrsp,int cmd); +int sendframe(struct ax25_cb *axp,int cmdrsp,int ctl,struct mbuf **data); +void axnl3(struct iface *iface,struct ax25_cb *axp,uint8 *src, + uint8 *dest,struct mbuf **bp,int mcast); + + +void pollthem(void *p); +void recover(void *p); + + +uint16 ftype(int control); +void lapb_garbage(int drastic); + + +void s_arcall(struct ax25_cb *axp,int cnt); +void s_ascall(struct ax25_cb *axp,int old,int new); +void s_atcall(struct ax25_cb *axp,int cnt); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct nr4hdr { + uint8 opcode ; + uint8 yourindex ; + uint8 yourid ; + + union { + + struct { + uint8 family ; + uint8 proto ; + } pid ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + uint8 user[7 ] ; + uint8 node[7 ] ; + } conreq ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + } conack ; + + struct { + uint8 txseq ; + uint8 rxseq ; + } info ; + + struct { + uint8 rxseq ; + } ack ; + + } u ; + +} ; + + + +struct nr4txbuf { + struct timer tretry ; + unsigned retries ; + struct mbuf *data ; +} ; + + + +struct nr4rxbuf { + uint8 occupied ; + struct mbuf *data ; +} ; + + +struct nr4_addr { + uint8 user[7 ]; + uint8 node[7 ]; +}; + +struct sockaddr_nr { + short nr_family; + struct nr4_addr nr_addr; +}; + + + +struct nr4cb { + unsigned mynum ; + unsigned myid ; + unsigned yournum ; + unsigned yourid ; + struct nr4_addr remote ; + struct nr4_addr local ; + + unsigned window ; + + + + long srtt ; + long mdev ; + unsigned blevel ; + unsigned txmax ; + + + + + + + + char clone ; + char choked ; + char qfull ; + + char naksent ; + + + + struct nr4txbuf *txbufs ; + uint8 nextosend ; + uint8 ackxpected ; + unsigned nbuffered ; + struct mbuf *txq ; + + + + struct nr4rxbuf *rxbufs ; + uint8 rxpected ; + uint8 rxpastwin ; + struct mbuf *rxq ; + + + + int state ; + + + + + + + int dreason ; + + + + + + + + + struct timer tchoke ; + struct timer tack ; + + struct timer tcd ; + unsigned cdtries ; + + void (*r_upcall)(struct nr4cb *,uint16); + + void (*t_upcall)(struct nr4cb *,uint16); + + void (*s_upcall)(struct nr4cb *,int,int); + + int user ; +} ; + + + +struct nr4circp { + uint8 cid ; + + struct nr4cb *ccb ; + +} ; + + + +extern struct nr4circp Nr4circuits[20 ] ; + + + +extern unsigned short Nr4window ; +extern long Nr4irtt ; +extern unsigned short Nr4retries ; +extern long Nr4acktime ; +extern char *Nr4states[] ; +extern char *Nr4reasons[] ; +extern unsigned short Nr4qlimit ; +extern long Nr4choketime ; +extern uint8 Nr4user[7 ]; + + + + +int ntohnr4(struct nr4hdr *, struct mbuf **); +struct mbuf *htonnr4(struct nr4hdr *); + + +void free_n4circ(struct nr4cb *); +struct nr4cb *get_n4circ(int, int); +int init_nr4window(struct nr4cb *, unsigned); +int nr4between(unsigned, unsigned, unsigned); +struct nr4cb *match_n4circ(int, int,uint8 *,uint8 *); +struct nr4cb *new_n4circ(void); +void nr4defaults(struct nr4cb *); +int nr4valcb(struct nr4cb *); +void nr_garbage(int red); + + +void nr4input(struct nr4hdr *hdr,struct mbuf **bp); +int nr4output(struct nr4cb *); +void nr4sbuf(struct nr4cb *, unsigned); +void nr4sframe(uint8 *, struct nr4hdr *, struct mbuf **); +void nr4state(struct nr4cb *, int); + + +void nr4ackit(void *); +void nr4cdtimeout(void *); +void nr4txtimeout(void *); +void nr4unchoke(void *); + + +void disc_nr4(struct nr4cb *); +int kick_nr4(struct nr4cb *); +struct nr4cb *open_nr4(struct nr4_addr *, struct nr4_addr *, int, + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,int,int),int); +struct mbuf *recv_nr4(struct nr4cb *, uint16); +void reset_nr4(struct nr4cb *); +int send_nr4(struct nr4cb *, struct mbuf **); + + +void nr4_state(struct nr4cb *, int, int); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct nr3hdr { + uint8 source[7 ] ; + uint8 dest[7 ] ; + unsigned ttl ; +} ; + + + +struct nr3dest { + uint8 dest[7 ] ; + char alias[7 ] ; + uint8 neighbor[7 ] ; + unsigned quality ; +} ; + + + +struct nriface { + struct iface *iface ; + char alias[7 ] ; + + unsigned quality ; +} ; + + +struct nrnbr_tab { + struct nrnbr_tab *next ; + struct nrnbr_tab *prev ; + uint8 call[7 ] ; + unsigned iface ; + + unsigned refcnt ; +} ; + + + + + + +struct nr_bind { + struct nr_bind *next ; + struct nr_bind *prev ; + unsigned quality ; + unsigned obsocnt ; + unsigned flags ; + + + struct nrnbr_tab *via ; +} ; + + + +struct nrroute_tab { + struct nrroute_tab *next ; + struct nrroute_tab *prev ; + char alias[7 ] ; + uint8 call[7 ] ; + unsigned num_routes ; + struct nr_bind *routes ; + +} ; + + +struct nrnf_tab { + struct nrnf_tab *next ; + struct nrnf_tab *prev ; + uint8 neighbor[7 ] ; + unsigned iface ; +} ; + + +struct raw_nr { + struct raw_nr *prev; + struct raw_nr *next; + + struct mbuf *rcvq; + uint8 protocol; +}; + + +extern struct nriface Nrifaces[10 ] ; + + +extern unsigned Nr_numiface ; + + +extern struct nrnbr_tab *Nrnbr_tab[17 ] ; + + +extern struct nrroute_tab *Nrroute_tab[17 ] ; + + +extern struct nrnf_tab *Nrnf_tab[17 ] ; + +extern uint8 Nr_nodebc[7 ]; + + + + + + + +extern unsigned Nr_nfmode ; + + +extern unsigned short Nr_ttl ; + + +extern unsigned Obso_init ; + + +extern unsigned Obso_minbc ; + + + +extern unsigned Nr_autofloor ; + + + + +extern int Nr_verbose ; + + + + + +extern unsigned Nr_maxroutes ; + + +extern struct iface *Nr_iface ; + + + + +void del_rnr(struct raw_nr *rpp); +uint8 *find_nralias(char *); +struct nrroute_tab *find_nrroute(uint8 *); +void nr_bcnodes(unsigned ifno); +void nr_nodercv(struct iface *iface,uint8 *source,struct mbuf **bpp); +int nr_nfadd(uint8 *, unsigned); +int nr_nfdrop(uint8 *, unsigned); +void nr_route(struct mbuf **bp,struct ax25_cb *iaxp); +int nr_routeadd(char *, uint8 *, unsigned, + unsigned, uint8 *, unsigned, unsigned); +int nr_routedrop(uint8 *, uint8 *, unsigned); +int nr_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +void nr_sendraw(uint8 *dest,unsigned family,unsigned proto, + struct mbuf **data); +void nr3output(uint8 *dest,struct mbuf **data); +uint16 nrhash(uint8 *s); +struct raw_nr *raw_nr(uint8); + + +void donrdump(struct nr4cb *cb); +int doroutedump(void); +int dorouteinfo(int argc,char *argv[],void *p); +int putalias(char *to, char *from,int complain); + + +struct mbuf *htonnr3(struct nr3hdr *); +struct mbuf *htonnrdest(struct nr3dest *); +int ntohnr3(struct nr3hdr *, struct mbuf **); +int ntohnrdest(struct nr3dest *ds,struct mbuf **bpp); + + + + + + + + +struct loc { + struct usock *peer; + struct mbuf *q; + int hiwat; + int flags; + +}; + + + + +union sp { + struct sockaddr *sa; + struct sockaddr_in *in; + struct sockaddr_ax *ax; + struct sockaddr_nr *nr; +}; +struct socklink { + int type; + int (*socket)(struct usock *,int); + int (*bind)(struct usock *); + int (*listen)(struct usock *,int); + int (*connect)(struct usock *); + int accept; + int (*recv)(struct usock *,struct mbuf **,struct sockaddr *,int *); + int (*send)(struct usock *,struct mbuf **,struct sockaddr *); + int (*qlen)(struct usock *,int); + int (*kick)(struct usock *); + int (*shut)(struct usock *,int); + int (*close)(struct usock *); + int (*check)(struct sockaddr *,int); + char **error; + char *(*state)(struct usock *); + int (*status)(struct usock *); + char *eol; +}; +extern struct socklink Socklink[]; +union cb { + struct tcb *tcb; + struct ax25_cb *ax25; + struct udp_cb *udp; + struct raw_ip *rip; + struct raw_nr *rnr; + struct nr4cb *nr4; + struct loc *local; + void *p; +}; + +struct usock { + unsigned strchr; + struct proc *owner; + int refcnt; + char noblock; + enum { + NOTUSED, + TYPE_TCP, + TYPE_UDP, + TYPE_AX25I, + TYPE_AX25UI, + TYPE_RAW, + TYPE_NETROML3, + TYPE_NETROML4, + TYPE_LOCAL_STREAM, + TYPE_LOCAL_DGRAM + } type; + struct socklink *sp; + int rdysock; + union cb cb; + struct sockaddr *name; + int namelen; + struct sockaddr *peername; + int peernamelen; + uint8 errcodes[4]; + uint8 tos; + int flag; +}; +extern char *(*Psock[])(struct sockaddr *); +extern char Badsocket[]; +extern char *Socktypes[]; +extern struct usock **Usock; +extern unsigned Nsock; +extern uint16 Lport; + +struct usock *itop(int s); +void st_garbage(int red); + + +int so_ax_sock(struct usock *up,int protocol); +int so_ax_bind(struct usock *up); +int so_ax_listen(struct usock *up,int backlog); +int so_ax_conn(struct usock *up); +int so_ax_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_ax_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_ax_qlen(struct usock *up,int rtx); +int so_ax_kick(struct usock *up); +int so_ax_shut(struct usock *up,int how); +int so_ax_close(struct usock *up); +int checkaxaddr(struct sockaddr *name,int namelen); +int so_axui_sock(struct usock *up,int protocol); +int so_axui_bind(struct usock *up); +int so_axui_conn(struct usock *up); +int so_axui_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_axui_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_axui_qlen(struct usock *up,int rtx); +int so_axui_shut(struct usock *up,int how); +int so_axui_close(struct usock *up); +char *axpsocket(struct sockaddr *p); +char *axstate(struct usock *up); +int so_ax_stat(struct usock *up); + + + +int so_ip_sock(struct usock *up,int protocol); +int so_ip_conn(struct usock *up); +int so_ip_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_ip_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_ip_qlen(struct usock *up,int rtx); +int so_ip_close(struct usock *up); +int checkipaddr(struct sockaddr *name,int namelen); +char *ippsocket(struct sockaddr *p); + + +int so_los(struct usock *up,int protocol); +int so_lod(struct usock *up,int protocol); +int so_lo_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_los_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_lod_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_lod_qlen(struct usock *up,int rtx); +int so_los_qlen(struct usock *up,int rtx); +int so_loc_shut(struct usock *up,int how); +int so_loc_close(struct usock *up); +char *lopsocket(struct sockaddr *p); +int so_loc_stat(struct usock *up); + + +int so_n3_sock(struct usock *up,int protocol); +int so_n4_sock(struct usock *up,int protocol); +int so_n4_listen(struct usock *up,int backlog); +int so_n3_conn(struct usock *up); +int so_n4_conn(struct usock *up); +int so_n3_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_n4_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_n3_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_n4_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_n3_qlen(struct usock *up,int rtx); +int so_n4_qlen(struct usock *up,int rtx); +int so_n4_kick(struct usock *up); +int so_n4_shut(struct usock *up,int how); +int so_n3_close(struct usock *up); +int so_n4_close(struct usock *up); +int checknraddr(struct sockaddr *name,int namelen); +char *nrpsocket(struct sockaddr *p); +char *nrstate(struct usock *up); +int so_n4_stat(struct usock *up); + + +int so_tcp(struct usock *up,int protocol); +int so_tcp_listen(struct usock *up,int backlog); +int so_tcp_conn(struct usock *up); +int so_tcp_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_tcp_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_tcp_qlen(struct usock *up,int rtx); +int so_tcp_kick(struct usock *up); +int so_tcp_shut(struct usock *up,int how); +int so_tcp_close(struct usock *up); +char *tcpstate(struct usock *up); +int so_tcp_stat(struct usock *up); + + +int so_udp(struct usock *up,int protocol); +int so_udp_bind(struct usock *up); +int so_udp_conn(struct usock *up); +int so_udp_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_udp_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_udp_qlen(struct usock *up,int rtx); +int so_udp_shut(struct usock *up,int how); +int so_udp_close(struct usock *up); +int so_udp_stat(struct usock *up); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + +char Inet_eol[] = "\r\n"; + +static void rip_recv(struct raw_ip *rp); +static void autobind(struct usock *up); + +int +so_ip_sock(up,protocol) +struct usock *up; +int protocol; +{ + int s; + + s = up->strchr; + up->cb.rip = raw_ip(protocol,rip_recv); + up->cb.rip->user = s; + return 0; +} +int +so_ip_conn(up) +struct usock *up; +{ + if(up->name == 0) + autobind(up); + return 0; +} +int +so_ip_recv(up,bpp,from,fromlen) +struct usock *up; +struct mbuf **bpp; +struct sockaddr *from; +int *fromlen; +{ + struct raw_ip *rip; + struct sockaddr_in *remote; + struct ip ip; + int cnt; + + while((rip = up->cb.rip) != 0 && rip->rcvq == 0){ + if(up->noblock){ + (Curproc->p_errno) = 100; + return -1; + } else if(((Curproc->p_errno) = kwait(up)) != 0){ + return -1; + } + } + if(rip == 0){ + + (Curproc->p_errno) = 101; + return -1; + } + *bpp = dequeue(&rip->rcvq); + ntohip(&ip,bpp); + + cnt = len_p(*bpp); + if(from != 0 && fromlen != (int *)0 && *fromlen >= (sizeof(struct sockaddr))){ + remote = (struct sockaddr_in *)from; + remote->sin_family = 0; + remote->sin_addr.s_addr = ip.source; + remote->sin_port = 0; + *fromlen = (sizeof(struct sockaddr)); + } + return cnt; +} +int +so_ip_send( +struct usock *up, +struct mbuf **bpp, +struct sockaddr *to +){ + struct sockaddr_in *local,*remote; + + if(up->name == 0) + autobind(up); + local = (struct sockaddr_in *)up->name; + if(to != 0){ + remote = (struct sockaddr_in *)to; + } else if(up->peername != 0) { + remote = (struct sockaddr_in *)up->peername; + } else { + free_p(bpp); + (Curproc->p_errno) = 101; + return -1; + } + ip_send(local->sin_addr.s_addr,remote->sin_addr.s_addr, + (char)up->cb.rip->protocol,0,0,bpp,0,0,0); + return 0; +} +int +so_ip_qlen(up,rtx) +struct usock *up; +int rtx; +{ + int len; + + switch(rtx){ + case 0: + len = len_q(up->cb.rip->rcvq); + break; + case 1: + len = 0; + break; + } + return len; +} +int +so_ip_close(up) +struct usock *up; +{ + del_ip(up->cb.rip); + return 0; +} +int +checkipaddr(name,namelen) +struct sockaddr *name; +int namelen; +{ + struct sockaddr_in *sock; + + sock = (struct sockaddr_in *)name; + if(sock->sin_family != 0 || namelen != sizeof(struct sockaddr_in)) + return -1; + return 0; +} + + +static void +rip_recv(rp) +struct raw_ip *rp; +{ + ksignal(itop(rp->user),1); + kwait(0); +} + +static void +autobind(up) +struct usock *up; +{ + struct sockaddr_in local; + int s; + + s = up->strchr; + local.sin_family = 0; + local.sin_addr.s_addr = 0x0L; + local.sin_port = Lport++; + bind(s,(struct sockaddr *)&local,sizeof(struct sockaddr_in)); +} +char * +ippsocket(p) +struct sockaddr *p; +{ + struct sockaddr_in *sp; + struct socket socket; + static char buf[30]; + + sp = (struct sockaddr_in *)p; + socket.address = sp->sin_addr.s_addr; + socket.port = sp->sin_port; + strcpy(buf,pinet(&socket)); + + return buf; +} diff --git a/src/nos/internet/netuser.i b/src/nos/internet/netuser.i new file mode 100644 index 00000000..aa245d4f --- /dev/null +++ b/src/nos/internet/netuser.i @@ -0,0 +1,1274 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern unsigned char __ctype[]; + + + + + + + + + + + + +extern int toupper (int); +extern int tolower (int); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + +int Net_error; + + + + +int32 +aton(s) +register char *s; +{ + int32 n; + + register int i; + + n = 0; + if(s == 0) + return 0; + for(i=24;i>=0;i -= 8){ + + while(*s != '\0' && !(!!((__ctype[(unsigned char)(*s)])&0x08 ))) + s++; + if(*s == '\0') + break; + n |= (int32)atoi(s) << i; + if((s = strchr(s,'.')) == 0) + break; + s++; + } + return n; +} + + + +char * +inet_ntoa(a) +int32 a; +{ + static char buf[16]; + + sprintf(buf,"%u.%u.%u.%u", + ((unsigned char)((((uint16)((a) >> 16))) >> 8)), + ((unsigned char)(((uint16)((a) >> 16)))), + ((unsigned char)((((uint16)(a))) >> 8)), + ((unsigned char)(((uint16)(a)))) ); + return buf; +} + +long +htol(s) +char *s; +{ + long ret; + char c; + + ret = 0; + while((c = *s++) != '\0'){ + if(c == 'x') + continue; + if(c >= '0' && c <= '9') + ret = ret*16 + (c - '0'); + else if(c >= 'a' && c <= 'f') + ret = ret*16 + (10 + c - 'a'); + else if(c >= 'A' && c <= 'F') + ret = ret*16 + (10 + c - 'A'); + else + break; + } + return ret; +} +char * +pinet(s) +struct socket *s; +{ + static char buf[30]; + + sprintf(buf,"%s:%u",inet_ntoa(s->address),s->port); + return buf; +} + diff --git a/src/nos/internet/ping.i b/src/nos/internet/ping.i new file mode 100644 index 00000000..ed9cf92a --- /dev/null +++ b/src/nos/internet/ping.i @@ -0,0 +1,3827 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + +extern struct mib_entry Icmp_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct icmp { + uint8 type; + uint8 code; + union icmp_args { + uint16 mtu; + int32 unused; + uint8 pointer; + int32 address; + struct { + uint16 id; + uint16 seq; + } echo; + } args; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int Icmp_trace; +extern int Icmp_echo; + + +extern char *Icmptypes[],*Unreach[],*Exceed[],*Redirect[],*Said_icmp[]; + +struct icmplink { + uint8 proto; + void (*funct)(int32,int32,int32,uint8,uint8,struct mbuf **); +}; +extern struct icmplink Icmplink[]; + + +void icmp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int icmp_output(struct ip *ip,struct mbuf *data,uint8 type,uint8 code, + union icmp_args *args); + + +void htonicmp(struct icmp *icmp,struct mbuf **data); +int ntohicmp(struct icmp *icmp,struct mbuf **bpp); + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + + + + + + + + + + +enum ftp_type { + ASCII_TYPE, + IMAGE_TYPE, + LOGICAL_TYPE +}; + + +enum verb_level { + V_QUIET, + V_SHORT, + V_NORMAL, + V_HASH, + V_STAT +}; + +long sendfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +long recvfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +int isbinary(FILE *fp); +int md5hash(FILE *fp,uint8 hash[16],int ascii); + + + + + + + + + + + +struct ftpcli { + FILE *control; + FILE *data; + + char state; + + + + + uint16 verbose; + int batch; + int abort; + int update; + char type; + char typesent; + int logbsize; + FILE *fp; + + char buf[256 ]; + char line[256 ]; + struct session *session; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct telnet { + char local[6]; + char remote[6]; + struct session *session; + char eolmode; +}; + +extern int Refuse_echo; +extern int Tn_cr_mode; + + +int tel_connect(struct session *sp,struct sockaddr *fsocket,int len); +void tel_output(int unused,void *p1,void *p2); +void tnrecv(struct telnet *tn); +void doopt(struct telnet *tn,int opt); +void dontopt(struct telnet *tn,int opt); +void willopt(struct telnet *tn,int opt); +void wontopt(struct telnet *tn,int opt); +void answer(struct telnet *tn,int r1,int r2); + + +void ttylhandle(int s,void *unused,void *p); + + + + +struct ttystate { + uint8 *line; + uint8 *lp; + unsigned int echo:1; + unsigned int edit:1; + unsigned int crnl:1; +}; + + +struct session { + unsigned strchr; + enum { + TELNET, + FTP, + AX25TNC, + FINGER, + PING, + NRSESSION, + COMMAND, + VIEW, + HOP, + TIP, + PPPPASS, + DIAL, + DQUERY, + DCLIST, + ITRACE, + REPEAT, + FAX + } type; + + char *name; + union { + struct ftpcli *ftp; + struct telnet *telnet; + void *p; + } cb; + struct proc *proc; + struct proc *proc1; + struct proc *proc2; + FILE *network; + FILE *record; + FILE *upload; + struct ttystate ttystate; + FILE *input; + FILE *output; + int (*ctlproc)(int); + int (*inproc)(int); + struct session *parent; + enum { + SCROLL_INBAND, + SCROLL_LOCAL + } scrollmode; +}; +extern char *Sestypes[]; +extern unsigned Nsessions; +extern long Sfsize; + +extern struct session *Sessions[]; + + + +extern struct session *Current; +extern struct session *Lastcurr; +extern struct session *Command; +extern char *Cmdline; + + +void freesession(struct session *sp); +int keywait(char *prompt,int flush); +struct session *sessptr(char *cp); +struct session *newsession(char *name,int type,int makecur); +void sesflush(void); +void upload(int unused,void *sp1,void *p); + +extern uint16 Lport; + + + + + + + +int doasystat(int argc,char *argv[],void *p); +int fp_attach (int argc,char *argv[],void *p); + + +int domem(int argc,char *argv[],void *p); + + +int doamiga(int argc,char *argv[],void *p); + + +int doarp(int argc,char *argv[],void *p); + + +int asy_attach(int argc,char *argv[],void *p); + + +int doax25(int argc,char *argv[],void *p); +int doaxheard(int argc,char *argv[],void *p); +int doaxdest(int argc,char *argv[],void *p); +int doconnect(int argc,char *argv[],void *p); + + +int dobootp(int argc,char *argv[],void *p); + + +int bootpdcmd(int argc,char *argv[],void *p); + + +int dodialer(int argc,char *argv[],void *p); + + +int docd(int argc,char *argv[],void *p); +int dodir(int argc,char *argv[],void *p); +int domkd(int argc,char *argv[],void *p); +int dormd(int argc,char *argv[],void *p); + + +int dodomain(int argc,char *argv[],void *p); + + +int dodrstat(int argc,char *argv[],void *p); +int dr_attach(int argc,char *argv[],void *p); +int dodr(int argc,char *argv[],void *p); + + +int eg_attach(int argc,char *argv[],void *p); +int doegstat(int argc,char *argv[],void *p); + + +int doetherstat(int argc,char *argv[],void *p); +int ec_attach(int argc,char *argv[],void *p); + + +int dofax(int argc,char *argv[],void *p); +int fax1(int argc,char *argv[],void *p); +int fax0(int argc,char *argv[],void *p); + + +int dofinger(int argc,char *argv[],void *p); + + +int finstart(int argc,char *argv[],void *p); +int fin0(int argc,char *argv[],void *p); + + +int doftp(int argc,char *argv[],void *p); +int doabort(int argc,char *argv[],void *p); + + +int ftpstart(int argc,char *argv[],void *p); +int ftp0(int argc,char *argv[],void *p); + + +int dohapnstat(int argc,char *argv[],void *p); +int hapn_attach(int argc,char *argv[],void *p); + + +int dohop(int argc,char *argv[],void *p); + + +int dohs(int argc,char *argv[],void *p); +int hs_attach(int argc,char *argv[],void *p); + + +int doicmp(int argc,char *argv[],void *p); + + +int doifconfig(int argc,char *argv[],void *p); +int dodetach(int argc,char *argv[],void *p); + + +int doip(int argc,char *argv[],void *p); +int doroute(int argc,char *argv[],void *p); + + +int dosec(int argc,char *argv[],void *p); + + +int doksp(int argc,char *argv[],void *p); + + +int ps(int argc,char *argv[],void *p); + + +int dolterm(int argc,char *argv[],void *p); + + +int dodelete(int argc,char *argv[],void *p); +int dorename(int argc,char *argv[],void *p); +int doexit(int argc,char *argv[],void *p); +int dohostname(int argc,char *argv[],void *p); +int dolog(int argc,char *argv[],void *p); +int dohelp(int argc,char *argv[],void *p); +int doattach(int argc,char *argv[],void *p); +int doparam(int argc,char *argv[],void *p); +int dopage(int argc,char *argv[],void *p); +int domode(int argc,char *argv[],void *p); +int donothing(int argc,char *argv[],void *p); +int donrstat(int argc,char *argv[],void *p); +int doescape(int argc,char *argv[],void *p); +int doremote(int argc,char *argv[],void *p); +int doboot(int argc,char *argv[],void *p); +int dorepeat(int argc,char *argv[],void *p); +int dostacktest(int argc,char *argv[],void *p); +int dosysdebug(int argc,char *argv[],void *p); +int dosystrace(int argc,char *argv[],void *p); +int dowipe(int argc,char *argv[],void *p); + + +int dombox(int argc,char *argv[],void *p); + + +int donntp(int argc,char *argv[],void *p); + + +int donetrom(int argc,char *argv[],void *p); +int nr_attach(int argc,char *argv[],void *p); + + +int doshell(int argc,char *argv[],void *p); +int doisat(int argc,char *argv[],void *p); + + +int pc_attach(int argc,char *argv[],void *p); + + +int pk_attach(int argc,char *argv[],void *p); + + +int pi_attach(int argc,char *argv[],void *p); +int dopistat(int argc,char *argv[],void *p); + + +int doping(int argc,char *argv[],void *p); + + +int dopop(int argc,char *argv[],void *p); + + +int pop1(int argc,char *argv[],void *p); +int pop0(int argc,char *argv[],void *p); + + +int doqtso(int argc,char *argv[],void *p); + + +int dorarp(int argc,char *argv[],void *p); + + +int dorip(int argc,char *argv[],void *p); + + +int doaddrefuse(int argc,char *argv[],void *p); +int dodroprefuse(int argc,char *argv[],void *p); +int dorip(int argc,char *argv[],void *p); +int doripadd(int argc,char *argv[],void *p); +int doripdrop(int argc,char *argv[],void *p); +int doripinit(int argc,char *argv[],void *p); +int doripmerge(int argc,char *argv[],void *p); +int doripreq(int argc,char *argv[],void *p); +int doripstat(int argc,char *argv[],void *p); +int doripstop(int argc,char *argv[],void *p); +int doriptrace(int argc,char *argv[],void *p); + + +int dosound(int argc,char *argv[],void *p); + + +int escc_attach(int argc,char *argv[],void *p); +int doesccstat(int argc,char *argv[],void *p); + + +int dosession(int argc,char *argv[],void *p); +int go(int argc,char *argv[],void *p); +int doclose(int argc,char *argv[],void *p); +int doreset(int argc,char *argv[],void *p); +int dokick(int argc,char *argv[],void *p); +int dorecord(int argc,char *argv[],void *p); +int dosfsize(int argc,char *argv[],void *p); +int doupload(int argc,char *argv[],void *p); + + +int dis1(int argc,char *argv[],void *p); +int dis0(int argc,char *argv[],void *p); +int echo1(int argc,char *argv[],void *p); +int echo0(int argc,char *argv[],void *p); +int rem1(int argc,char *argv[],void *p); +int rem0(int argc,char *argv[],void *p); +int term1(int argc,char *argv[],void *p); +int term0(int argc,char *argv[],void *p); +int bsr1(int argc,char *argv[],void *p); +int bsr0(int argc,char *argv[],void *p); + + +int dosmtp(int argc,char *argv[],void *p); + + +int smtp1(int argc,char *argv[],void *p); +int smtp0(int argc,char *argv[],void *p); + + +int dosock(int argc,char *argv[],void *p); + + +int dofiles(int argc,char *argv[],void *p); + + +int doswatch(int argc,char *argv[],void *p); + + +int dotcp(int argc,char *argv[],void *p); + + +int doecho(int argc,char *argv[],void *p); +int doeol(int argc,char *argv[],void *p); +int dotelnet(int argc,char *argv[],void *p); +int dotopt(int argc,char *argv[],void *p); + + +int dotip(int argc,char *argv[],void *p); + + +int ttylstart(int argc,char *argv[],void *p); +int ttyl0(int argc,char *argv[],void *p); + + +int dotrace(int argc,char *argv[],void *p); + + +int doudp(int argc,char *argv[],void *p); + + +int doview(int argc,char *argv[],void *p); +void view(int,void *,void *); + + + + + + + + + +struct ping { + struct session *sp; + int s; + int32 target; + int incflag; + int32 sent; + int32 srtt; + int32 mdev; + int32 maxrtt; + int32 minrtt; + int32 responses; + int32 interval; + uint16 len; +}; + + +void echo_proc(int32 source,int32 dest,struct icmp *icmp,struct mbuf **bpp); +int pingem(int s,int32 target,uint16 seq,uint16 id,uint16 len); + + + + + + + + + + +extern char Badhost[]; +extern char *Hostname; +extern char Nospace[]; + +extern struct proc *Cmdpp; +extern struct proc *Display; +extern int main_exit; + + + + + + + +static void pingtx(int s,void *ping1,void *p); +static void pinghdr(struct session *sp,struct ping *ping); +static int pingproc(int c); +static int keychar(int c); + + +int +doping(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct sockaddr_in from; + struct icmp icmp; + struct mbuf *bp; + int32 timestamp,rtt,abserr; + int s,fromlen; + struct ping ping; + struct session *sp; + + memset(&ping,0,sizeof(ping)); + + if((sp = ping.sp = newsession(Cmdline,PING,1)) == 0){ + _printf(_("Too many sessions\n")); + return 1; + } + if((ping.s = s = socket(0,2,1 )) == -1){ + _printf(_("Can't create socket\n")); + keywait(0,1); + freesession(sp); + return 1; + } + sp->inproc = keychar; + if((Curproc->flags.sset=1, + Curproc->signo = (107),setjmp(Curproc->sig))){ + + + + + + close(s); + + keywait(0,1); + freesession(sp); + return 1; + } + _printf(_("Resolving %s...\n"),argv[1]); + if((ping.target = resolve(argv[1])) == 0){ + _printf(_("unknown\n")); + + + close(s); + + keywait(0,1); + freesession(sp); + return 1; + } + _printf(_("Pinging %s\n"),inet_ntoa(ping.target)); + sp->cb.p = &ping; + if(argc > 2) + ping.len = atoi(argv[2]); + + if(argc > 3) + ping.interval = atol(argv[3]); + + + if(argc > 4) + ping.incflag = 1; + + if(ping.interval != 0){ + sp->proc1 = newproc("pingtx",300,pingtx,s,&ping,0,0); + } else { + + + + + pingem(s,ping.target,0,0xffff ,ping.len); + close(s); + + kwait((void *)64); + + freesession(sp); + return 0; + } + sp->inproc = pingproc; + + pinghdr(sp,&ping); + for(;;){ + fromlen = sizeof(from); + if(recv_mbuf(s,&bp,0,(struct sockaddr *)&from,&fromlen) == -1) + break; + ntohicmp(&icmp,&bp); + if(icmp.type != 0 || icmp.args.echo.id != s){ + + free_p(&bp); + continue; + } + + if(pullup(&bp,×tamp,sizeof(timestamp)) + != sizeof(timestamp)){ + + free_p(&bp); + continue; + } + free_p(&bp); + + ping.responses++; + + + rtt = msclock() - timestamp; + abserr = (rtt > ping.srtt) ? (rtt-ping.srtt) : (ping.srtt-rtt); + + if(ping.responses == 1){ + + ping.srtt = rtt; + ping.mdev = 0; + ping.maxrtt = ping.minrtt = rtt; + } else { + ping.srtt = (7*ping.srtt + rtt + 4) >> 3; + ping.mdev = (3*ping.mdev + abserr + 2) >> 2; + if(rtt > ping.maxrtt) + ping.maxrtt = rtt; + if(rtt < ping.minrtt) + ping.minrtt = rtt; + } + if((ping.responses % 20) == 0) + pinghdr(sp,&ping); + _printf(_("%10lu%10lu%5lu%8lu%8lu%8lu%8lu%8lu\n"), + ping.sent,ping.responses, + (ping.responses*100 + ping.sent/2)/ping.sent, + rtt,ping.srtt,ping.mdev,ping.maxrtt,ping.minrtt); + } + if(sp->proc1 != 0){ + killproc(sp->proc1); + sp->proc1 = 0; + } + + + + close(s); + keywait(0,1); + freesession(sp); + return 0; +} +static int +keychar(c) +int c; +{ + if(c != 0x3) + return 1; + + _fprintf(Current->output, _("^C\n")); + alert(Current->proc,107); + return 0; +} +static void +pinghdr(sp,ping) +struct session *sp; +struct ping *ping; +{ + _printf(_(" sent rcvd % rtt avg mdev max min\n")); +} + +void +echo_proc( +int32 source, +int32 dest, +struct icmp *icmp, +struct mbuf **bpp +){ + int32 timestamp,rtt; + + if(Icmp_echo && icmp->args.echo.id == 0xffff + && pullup(bpp,×tamp,sizeof(timestamp)) + == sizeof(timestamp)){ + + rtt = msclock() - timestamp; + _printf(_("%s: rtt %lu\n"),inet_ntoa(source),rtt); + } + free_p(bpp); + + ksignal((void *)64, 0); + +} + +static void +pingtx(s,ping1,p) +int s; +void *ping1; +void *p; +{ + struct ping *ping; + + ping = (struct ping *)ping1; + if(ping->incflag){ + for(;;){ + pingem(s,ping->target++,0,0xffff ,ping->len); + ping->sent++; + ppause(ping->interval); + } + } else { + for(;;){ + pingem(s,ping->target,(uint16)ping->sent++,(uint16)s,ping->len); + ppause(ping->interval); + } + } +} + + + +int +pingem(s,target,seq,id,len) +int s; +int32 target; +uint16 seq; +uint16 id; +uint16 len; +{ + struct mbuf *data; + struct icmp icmp; + struct sockaddr_in to; + int32 clock; + int i; + uint8 *cp; + + clock = msclock(); + data = ambufw((uint16)(len+sizeof(clock))); + data->cnt = len+sizeof(clock); + + + + + + + + + + + + + + cp = data->data+sizeof(clock); + i = 0; + while(len-- != 0) + *cp++ = i++; + + + + + memcpy(data->data,&clock,sizeof(clock)); + Icmp_mib[21].value.integer++; + Icmp_mib[14].value.integer++; + icmp.type = 8 ; + icmp.code = 0; + icmp.args.echo.seq = seq; + icmp.args.echo.id = id; + htonicmp(&icmp,&data); + to.sin_family = 0; + to.sin_addr.s_addr = target; + send_mbuf(s,&data,0,(struct sockaddr *)&to,sizeof(to)); + return 0; +} +static int +pingproc(c) +int c; +{ + struct ping *p; + struct session *sp; + + sp = Current; + p = (struct ping *)sp->cb.p; + + if(p->s == -1) + return 1; + switch(c){ + case '\033': + case 'Q': + case 'q': + case 3: + alert(sp->proc,107); + if(Current->proc1 != 0){ + killproc(sp->proc1); + sp->proc1 = 0; + } + shutdown(p->s,2); + p->s = -1; + break; + case ' ': + if(sp->proc1 != 0){ + killproc(sp->proc1); + sp->proc1 = 0; + _fprintf(sp->output, _("Pinging suspended, %lu sent\n"),p->sent); + } else { + p->sent = p->responses = 0; + sp->proc1 = newproc("pingtx",300,pingtx,p->s,p,0,0); + _fprintf(sp->output, _("Pinging resumed\n")); + } + break; + } + return 0; +} + diff --git a/src/nos/internet/rip.i b/src/nos/internet/rip.i new file mode 100644 index 00000000..7f13167b --- /dev/null +++ b/src/nos/internet/rip.i @@ -0,0 +1,3545 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + +extern struct mib_entry Udp_mib[]; + + + + + + + + + +struct udp { + uint16 source; + uint16 dest; + uint16 length; + uint16 checksum; +}; + + + + + + +struct udp_cb { + struct udp_cb *next; + struct socket socket; + void (*r_upcall)(struct iface *iface,struct udp_cb *,int); + + struct mbuf *rcvq; + int rcvcnt; + int user; +}; +extern struct udp_cb *Udps; + + + + +int del_udp(struct udp_cb *up); +struct udp_cb *open_udp(struct socket *lsocket, + void (*r_upcall)(struct iface *iface,struct udp_cb *,int)); +int recv_udp(struct udp_cb *up,struct socket *fsocket,struct mbuf **bp); +int send_udp(struct socket *lsocket,struct socket *fsocket,char tos, + char ttl,struct mbuf **data,uint16 length,uint16 id,char df); +void udp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +void udp_garbage(int drastic); + + + + + + + + + + +int st_udp(struct udp_cb *udp,int n); + + +void htonudp(struct udp *udp,struct mbuf **data,struct pseudo_header *ph); +int ntohudp(struct udp *udp,struct mbuf **bpp); +uint16 udpcksum(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +enum ripcmd { + RIPCMD_REQUEST=1, + RIPCMD_RESPONSE, + RIPCMD_MAX +}; + + + + +struct rip_list { + struct rip_list *prev; + struct rip_list *next; + + + + + + int32 dest; + + + int32 interval; + + struct timer rip_time; + + + struct iface *iface; + + + struct { + unsigned int rip_split:1; + unsigned int rip_us:1; + } flags; +}; + + +struct rip_route { + uint16 addr_fam; + int32 target; + int32 metric; +}; + + + + + +struct rip_stat { + int32 output; + int32 rcvd; + int32 request; + int32 response; + int32 unknown; + int32 version; + int32 addr_family; + int32 refusals; + +}; + +struct rip_refuse { + struct rip_refuse *prev; + struct rip_refuse *next; + int32 target; +}; + + +int rip_init(void); +void rt_timeout(void *s); +void rip_trigger(void); +int rip_add(int32 dest,int32 interval,int split,int us); +int riprefadd(int32 gateway); +int riprefdrop(int32 gateway); +int ripreq(int32 dest,uint16 replyport); +int rip_drop(int32 dest); +int nbits(int32 target); +void pullentry(struct rip_route *ep,struct mbuf **bpp); + + +extern uint16 Rip_trace; +extern int Rip_merge; +extern struct rip_stat Rip_stat; +extern struct rip_list *Rip_list; +extern struct rip_refuse *Rip_refuse; +extern struct udp_cb *Rip_cb; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +enum arp_opcode { + ARP_REQUEST=1, + ARP_REPLY, + REVARP_REQUEST, + REVARP_REPLY +}; + +enum arp_hwtype { + ARP_NETROM=0, + ARP_ETHER, + ARP_EETHER, + ARP_AX25, + ARP_PRONET, + ARP_CHAOS, + ARP_IEEE802, + ARP_ARCNET, + ARP_APPLETALK +}; +extern char *Arptypes[]; + + + +struct arp_type { + uint16 hwalen; + uint16 iptype; + uint16 arptype; + uint16 pendtime; + uint8 *bdcst; + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + +}; +extern struct arp_type Arp_type[]; + + +struct arp { + enum arp_hwtype hardware; + uint16 protocol; + uint8 hwalen; + uint8 pralen; + enum arp_opcode opcode; + uint8 shwaddr[20 ]; + int32 sprotaddr; + uint8 thwaddr[20 ]; + int32 tprotaddr; +}; + + +struct arp_tab { + struct arp_tab *next; + struct arp_tab *prev; + struct timer timer; + struct mbuf *pending; + int32 ip_addr; + enum arp_hwtype hardware; + enum { + ARP_PENDING, + ARP_VALID + } state; + uint8 *hw_addr; + unsigned int pub:1; +}; +extern struct arp_tab *Arp_tab[]; + +struct arp_stat { + unsigned recv; + unsigned badtype; + unsigned badlen; + unsigned badaddr; + unsigned inreq; + unsigned replies; + unsigned outreq; +}; +extern struct arp_stat Arp_stat; + + +struct arp_tab *arp_add(int32 ipaddr,enum arp_hwtype hardware,uint8 *hw_addr, + int pub); +void arp_drop(void *p); +int arp_init(unsigned int hwtype,int hwalen,int iptype,int arptype, + int pendtime,uint8 *bdcst,char *(*format)(char *,uint8 *), + int (*scan)(uint8 *,char *) ); +void arp_input(struct iface *iface,struct mbuf **bpp); +struct arp_tab *arp_lookup(enum arp_hwtype hardware,int32 ipaddr); +uint8 *res_arp(struct iface *iface,enum arp_hwtype hardware,int32 target,struct mbuf **bpp); + + +struct mbuf *htonarp(struct arp *arp); +int ntoharp(struct arp *arp,struct mbuf **bpp); + + + + + + + +struct rip_stat Rip_stat; +uint16 Rip_trace; +int Rip_merge; +struct rip_list *Rip_list; +struct udp_cb *Rip_cb; + +struct rip_refuse *Rip_refuse; + +static void rip_rx(struct iface *iface,struct udp_cb *sock,int cnt); +static void proc_rip(struct iface *iface,int32 gateway, + struct rip_route *ep,int32 ttl); +static uint8 *putheader(uint8 *cp,enum ripcmd command,uint8 version); +static uint8 *putentry(uint8 *cp,uint16 fam,int32 target,int32 metric); +static void rip_shout(void *p); +static void send_routes(int32 dest,uint16 port,int split,int trig, + int us); + + +static void +rip_shout(p) +void *p; +{ + register struct rip_list *rl; + + rl = (struct rip_list *)p; + stop_timer(&rl->rip_time); + send_routes(rl->dest,520,rl->flags.rip_split,0,rl->flags.rip_us); + set_timer(&rl->rip_time,rl->interval*1000L); + start_timer(&rl->rip_time); +} + + +static void +send_routes(dest,port,split,trig,us) +int32 dest; +uint16 port; +int split; +int trig; +int us; +{ + uint8 *cp; + int i,bits,numroutes,maxroutes; + uint16 pktsize; + struct mbuf *bp; + struct route *rp; + struct socket lsock,fsock; + struct iface *iface; + + if((rp = rt_lookup(dest)) == 0) + return; + iface = rp->iface; + + + pktsize = ip_mtu(dest) - 20 ; + pktsize = ((pktsize)<(4 + (25 *20 ))?(pktsize):(4 + (25 *20 ))) ; + maxroutes = (pktsize - 4 ) / 20 ; + + lsock.address = 0x0L; + lsock.port = 520; + fsock.address = dest; + fsock.port = port; + + + if((bp = alloc_mbuf(pktsize)) == 0) + return; + numroutes = 0; + cp = putheader(bp->data,RIPCMD_RESPONSE,1); + + + if(us){ + cp = putentry(cp,2,iface->addr,1); + numroutes++; + } + + if(R_default.iface != 0 && !R_default.flags.rtprivate + && (!trig || R_default.flags.rttrig)){ + if(!split || iface != R_default.iface){ + cp = putentry(cp,2,0,R_default.metric); + numroutes++; + } else if(trig){ + cp = putentry(cp,2,0,16); + numroutes++; + } + } + for(bits=0;bits<32;bits++){ + for(i=0;i<7 ;i++){ + for(rp = Routes[bits][i];rp != 0;rp=rp->next){ + if(rp->flags.rtprivate + || (trig && !rp->flags.rttrig)) + continue; + + if(numroutes >= maxroutes){ + + bp->cnt = 4 + numroutes * 20 ; + send_udp(&lsock,&fsock,0,0,&bp,bp->cnt,0,0); + Rip_stat.output++; + if((bp = alloc_mbuf(pktsize)) == 0) + return; + numroutes = 0; + cp = putheader(bp->data,RIPCMD_RESPONSE,1); + } + if(!split || iface != rp->iface){ + cp = putentry(cp,2,rp->target,rp->metric+1); + numroutes++; + } else if(trig){ + cp = putentry(cp,2,rp->target,16); + numroutes++; + } + } + } + } + if(numroutes != 0){ + bp->cnt = 4 + numroutes * 20 ; + send_udp(&lsock,&fsock,0,0,&bp,bp->cnt,0,0); + Rip_stat.output++; + } else { + free_p(&bp); + } +} + +int +rip_add(dest,interval,split,us) +int32 dest; +int32 interval; +int split,us; +{ + register struct rip_list *rl; + struct route *rp; + + if((rp = rt_lookup(dest)) == 0){ + _printf(_("%s is unreachable\n"),inet_ntoa(dest)); + return 1; + } + for(rl = Rip_list; rl != 0; rl = rl->next) + if(rl->dest == dest) + break; + + if(rl == 0){ + + rl = (struct rip_list *)callocw(1,sizeof(struct rip_list)); + + + rl->next = Rip_list; + if(rl->next != 0) + rl->next->prev = rl; + Rip_list = rl; + rl->dest = dest; + } + + rl->iface = rp->iface; + rl->interval = interval; + rl->flags.rip_split = split; + rl->flags.rip_us = us; + + + rl->rip_time.func = rip_shout; + rl->rip_time.arg = rl; + + rip_shout(rl); + return 0; +} + + + + +int +riprefadd(gateway) +int32 gateway; +{ + register struct rip_refuse *rl; + + for(rl = Rip_refuse; rl != 0; rl = rl->next) + if(rl->target == gateway) + return 0; + + + + rl = (struct rip_refuse *)callocw(1,sizeof(struct rip_refuse)); + + + rl->next = Rip_refuse; + if(rl->next != 0) + rl->next->prev = rl; + Rip_refuse = rl; + + + rl->target = gateway; + return 0; +} + + +int +rip_drop(dest) +int32 dest; +{ + register struct rip_list *rl; + + for(rl = Rip_list; rl != 0; rl = rl->next) + if(rl->dest == dest) + break; + + + if(rl == 0) + return 0; + + + stop_timer(&rl->rip_time); + + + if(rl->next != 0) + rl->next->prev = rl->prev; + if(rl->prev != 0) + rl->prev->next = rl->next; + else + Rip_list = rl->next; + + + free(rl); + return 0; +} + + +int +riprefdrop(gateway) +int32 gateway; +{ + register struct rip_refuse *rl; + + for(rl = Rip_refuse; rl != 0; rl = rl->next) + if(rl->target == gateway) + break; + + + if(rl == 0) + return 0; + + + if(rl->next != 0) + rl->next->prev = rl->prev; + if(rl->prev != 0) + rl->prev->next = rl->next; + else + Rip_refuse = rl->next; + + + free(rl); + return 0; +} + + +void +rip_trigger() +{ + register struct rip_list *rl; + int bits,i; + struct route *rp; + + for(rl=Rip_list;rl != 0;rl = rl->next){ + send_routes(rl->dest,520,rl->flags.rip_split,1,0); + } + + R_default.flags.rttrig = 0; + for(bits=0;bits<32;bits++){ + for(i=0;i<7 ;i++){ + for(rp = Routes[bits][i];rp != 0;rp = rp->next){ + rp->flags.rttrig = 0; + } + } + } +} + + +int +rip_init() +{ + struct socket lsock; + + lsock.address = 0x0L; + lsock.port = 520; + + if(Rip_cb == 0) + Rip_cb = open_udp(&lsock,rip_rx); + + return 0; +} + + +static void +rip_rx(iface,sock,cnt) +struct iface *iface; +struct udp_cb *sock; +int cnt; +{ + struct mbuf *bp; + struct socket fsock; + enum ripcmd cmd; + register struct rip_refuse *rfl; + struct rip_route entry; + struct route *rp; + struct rip_list *rl; + int32 ttl; + + + recv_udp(sock,&fsock,&bp); + + + Rip_stat.rcvd++; + + + + + for(rfl=Rip_refuse;rfl != 0;rfl = rfl->next){ + if(fsock.address == rfl->target){ + Rip_stat.refusals++; + if(Rip_trace > 1) + _printf(_("RIP refused from %s\n"), + inet_ntoa(fsock.address)); + free_p(&bp); + return; + } + } + cmd = pull8(((&bp))); + + if(pull8(((&bp))) != 1){ + free_p(&bp); + Rip_stat.version++; + return; + } + switch(cmd){ + case RIPCMD_RESPONSE: + if(Rip_trace > 1) + _printf(_("RIPCMD_RESPONSE from %s \n"),inet_ntoa(fsock.address)); + + Rip_stat.response++; + + + + + ttl = 240 ; + for(rl=Rip_list; rl != 0; rl = rl->next){ + if(rl->iface == iface){ + ttl = rl->interval * 4; + break; + } + } + (void)pull16(&bp); + while(len_p(bp) >= 20 ){ + pullentry(&entry,&bp); + proc_rip(iface,fsock.address,&entry,ttl); + } + + + + + if((rp = rt_blookup(fsock.address,32)) != 0){ + + start_timer(&rp->timer); + } else if((rp = rt_lookup(fsock.address)) == 0 + || rp->iface != iface){ + entry.addr_fam = 2; + entry.target = fsock.address; + entry.metric = 0; + proc_rip(iface,fsock.address,&entry,ttl); + } + if(Rip_merge) + rt_merge(Rip_trace); + rip_trigger(); + break; + case RIPCMD_REQUEST: + if(Rip_trace > 1) + _printf(_("RIPCMD_REQUEST\n")); + + Rip_stat.request++; + + + + + + + if(fsock.port == 520) + send_routes(fsock.address,fsock.port,1,0,1); + else + send_routes(fsock.address,fsock.port,0,0,1); + break; + default: + if(Rip_trace > 1) + _printf(_("RIPCMD: Unknown Type\n")); + + Rip_stat.unknown++; + break; + } + free_p(&bp); +} + + + + +int +nbits(target) +int32 target; +{ + int bits; + + if(target == 0) + return 0; + + + + + + + + switch (((unsigned char)((((uint16)((target) >> 16))) >> 8)) >> 6) { + case 3: + + + + if(target & 0xff) + bits = 32; + else + bits = 24; + break; + case 2: + if(target & 0xff) + bits = 32; + else if(target & 0xff00) + bits = 24; + else + bits = 16; + break; + case 0: + case 1: + if(target & 0xff) + bits = 32; + else if(target & 0xff00) + bits = 24; + else if(target & 0xff0000) + bits = 16; + else + bits = 8; + } + + return bits; +} + +static void +proc_rip(iface,gateway,ep,ttl) +struct iface *iface; +int32 gateway; +register struct rip_route *ep; +int32 ttl; +{ + unsigned int bits; + register struct route *rp; + int add = 0; + int drop = 0; + int trigger = 0; + + if(ep->addr_fam != 2) { + + if(Rip_trace > 1) + _printf(_("RIP_rx: Not an IP RIP packet !\n")); + Rip_stat.addr_family++; + return; + } + + bits = nbits(ep->target); + + + if(bits == 32 && ismyaddr(ep->target) != 0){ + if(Rip_trace > 1){ + _printf(_("route to self: %s %ld\n"), + inet_ntoa(ep->target),ep->metric); + } + return; + } + + rp = rt_blookup(ep->target,bits); + + + if(rp != 0 && rp->flags.rtprivate) + return; + + if(rp == 0){ + if(ep->metric < 16){ + + add++; + trigger++; + } + } else if(rp->metric == 16){ + + if(Rip_trace > 0){ + _printf(_("ignored (hold-down): %s %lu\n"), + inet_ntoa(ep->target),ep->metric); + } + } else if(rp->gateway == gateway && rp->iface == iface){ + + + + set_timer(&rp->timer,ttl*1000L); + start_timer(&rp->timer); + if(rp->metric != ep->metric){ + + + + + if(Rip_trace){ + _printf(_("metric change: %s %lu -> %lu\n"), + inet_ntoa(ep->target),rp->metric,ep->metric); + } + if(ep->metric == 16) + rt_timeout(rp); + else + rp->metric = ep->metric; + trigger++; + } + } else { + + if(ep->metric < rp->metric){ + + if(Rip_trace > 0){ + _printf(_("metric better: %s %lu\n"), + inet_ntoa(ep->target),ep->metric); + } + drop++; + add++; + trigger++; + } else { + + if(Rip_trace > 1){ + _printf(_("metric not better: %s %lu\n"), + inet_ntoa(ep->target),ep->metric); + } + } + } + if(drop){ + + if(Rip_trace){ + _printf(_("route drop [%s]/%u"), + inet_ntoa(ep->target),bits); + if(rp != 0) + _printf(_(" %s %s %lu"),rp->iface->name, + inet_ntoa(rp->gateway),rp->metric); + _printf(_("\n")); + } + rt_drop(ep->target,bits); + } + if(add){ + + if(Rip_trace > 0){ + _printf(_("route add [%s]/%u %s"),inet_ntoa(ep->target), + bits,iface->name); + _printf(_(" [%s] %u\n"),inet_ntoa(gateway), + (int)ep->metric); + } + rp = rt_add(ep->target,(unsigned) bits,gateway,iface, + (int) ep->metric,ttl,0); + } + + if(trigger){ + rp->flags.rttrig = 1; + } +} + +int +ripreq(dest,replyport) +int32 dest; +uint16 replyport; +{ + struct mbuf *bp; + struct socket lsock,fsock; + uint8 *cp; + + lsock.address = 0x0L; + lsock.port = replyport; + + + + + if(dest == 0) + return 0; + + fsock.address = dest; + fsock.port = 520; + + + if((bp = alloc_mbuf(4 + 20 )) == 0) + return -1; + + cp = putheader(bp->data,RIPCMD_REQUEST,1); + cp = putentry(cp,0,0L,16); + bp->cnt = 4 + 20 ; + send_udp(&lsock, &fsock,0,0,&bp,bp->cnt,0,0); + Rip_stat.output++; + return 0; +} +void +pullentry(ep,bpp) +register struct rip_route *ep; +struct mbuf **bpp; +{ + ep->addr_fam = pull16(bpp); + (void)pull16(bpp); + ep->target = pull32(bpp); + (void)pull32(bpp); + (void)pull32(bpp); + ep->metric = pull32(bpp); +} + + +static uint8 * +putheader(cp,command,version) +register uint8 *cp; +enum ripcmd command; +uint8 version; +{ + *cp++ = command; + *cp++ = version; + return put16(cp,0); +} + + +static uint8 * +putentry(cp,fam,target,metric) +register uint8 *cp; +uint16 fam; +int32 target; +int32 metric; +{ + cp = put16(cp,fam); + cp = put16(cp,0); + cp = put32(cp,target); + cp = put32(cp,0L); + cp = put32(cp,0L); + return put32(cp,metric); +} + + diff --git a/src/nos/internet/ripcmd.i b/src/nos/internet/ripcmd.i new file mode 100644 index 00000000..0828fa1c --- /dev/null +++ b/src/nos/internet/ripcmd.i @@ -0,0 +1,3217 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + +struct cmds { + _char *name; + int (*func)(int argc,char *argv[],void *p); + + int stksize; + int argcmin; + _char *argc_errmsg; +}; +extern struct cmds Cmds[],Startcmds[],Stopcmds[],Attab[]; + + +int cmdparse(struct cmds cmds[], char *line, void *p); +int subcmd(struct cmds tab[], int argc, char *argv[], void *p); +int setbool(int *var, _char *label, int argc, char *argv[]); +int bit16cmd(uint16 *bits, uint16 mask, _char *label, int argc, char *argv[]); +int setint(int *var, _char *label, int argc, char *argv[]); +int setlong(int32 *var, _char *label, int argc, char *argv[]); +int setshort(unsigned short *var, _char *label, int argc, char *argv[]); +int setuns(unsigned *var, _char *label, int argc, char *argv[]); + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + +extern struct mib_entry Udp_mib[]; + + + + + + + + + +struct udp { + uint16 source; + uint16 dest; + uint16 length; + uint16 checksum; +}; + + + + + + +struct udp_cb { + struct udp_cb *next; + struct socket socket; + void (*r_upcall)(struct iface *iface,struct udp_cb *,int); + + struct mbuf *rcvq; + int rcvcnt; + int user; +}; +extern struct udp_cb *Udps; + + + + +int del_udp(struct udp_cb *up); +struct udp_cb *open_udp(struct socket *lsocket, + void (*r_upcall)(struct iface *iface,struct udp_cb *,int)); +int recv_udp(struct udp_cb *up,struct socket *fsocket,struct mbuf **bp); +int send_udp(struct socket *lsocket,struct socket *fsocket,char tos, + char ttl,struct mbuf **data,uint16 length,uint16 id,char df); +void udp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +void udp_garbage(int drastic); + + + + + + + + + + +int st_udp(struct udp_cb *udp,int n); + + +void htonudp(struct udp *udp,struct mbuf **data,struct pseudo_header *ph); +int ntohudp(struct udp *udp,struct mbuf **bpp); +uint16 udpcksum(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +enum ripcmd { + RIPCMD_REQUEST=1, + RIPCMD_RESPONSE, + RIPCMD_MAX +}; + + + + +struct rip_list { + struct rip_list *prev; + struct rip_list *next; + + + + + + int32 dest; + + + int32 interval; + + struct timer rip_time; + + + struct iface *iface; + + + struct { + unsigned int rip_split:1; + unsigned int rip_us:1; + } flags; +}; + + +struct rip_route { + uint16 addr_fam; + int32 target; + int32 metric; +}; + + + + + +struct rip_stat { + int32 output; + int32 rcvd; + int32 request; + int32 response; + int32 unknown; + int32 version; + int32 addr_family; + int32 refusals; + +}; + +struct rip_refuse { + struct rip_refuse *prev; + struct rip_refuse *next; + int32 target; +}; + + +int rip_init(void); +void rt_timeout(void *s); +void rip_trigger(void); +int rip_add(int32 dest,int32 interval,int split,int us); +int riprefadd(int32 gateway); +int riprefdrop(int32 gateway); +int ripreq(int32 dest,uint16 replyport); +int rip_drop(int32 dest); +int nbits(int32 target); +void pullentry(struct rip_route *ep,struct mbuf **bpp); + + +extern uint16 Rip_trace; +extern int Rip_merge; +extern struct rip_stat Rip_stat; +extern struct rip_list *Rip_list; +extern struct rip_refuse *Rip_refuse; +extern struct udp_cb *Rip_cb; + + + + + + + +int doasystat(int argc,char *argv[],void *p); +int fp_attach (int argc,char *argv[],void *p); + + +int domem(int argc,char *argv[],void *p); + + +int doamiga(int argc,char *argv[],void *p); + + +int doarp(int argc,char *argv[],void *p); + + +int asy_attach(int argc,char *argv[],void *p); + + +int doax25(int argc,char *argv[],void *p); +int doaxheard(int argc,char *argv[],void *p); +int doaxdest(int argc,char *argv[],void *p); +int doconnect(int argc,char *argv[],void *p); + + +int dobootp(int argc,char *argv[],void *p); + + +int bootpdcmd(int argc,char *argv[],void *p); + + +int dodialer(int argc,char *argv[],void *p); + + +int docd(int argc,char *argv[],void *p); +int dodir(int argc,char *argv[],void *p); +int domkd(int argc,char *argv[],void *p); +int dormd(int argc,char *argv[],void *p); + + +int dodomain(int argc,char *argv[],void *p); + + +int dodrstat(int argc,char *argv[],void *p); +int dr_attach(int argc,char *argv[],void *p); +int dodr(int argc,char *argv[],void *p); + + +int eg_attach(int argc,char *argv[],void *p); +int doegstat(int argc,char *argv[],void *p); + + +int doetherstat(int argc,char *argv[],void *p); +int ec_attach(int argc,char *argv[],void *p); + + +int dofax(int argc,char *argv[],void *p); +int fax1(int argc,char *argv[],void *p); +int fax0(int argc,char *argv[],void *p); + + +int dofinger(int argc,char *argv[],void *p); + + +int finstart(int argc,char *argv[],void *p); +int fin0(int argc,char *argv[],void *p); + + +int doftp(int argc,char *argv[],void *p); +int doabort(int argc,char *argv[],void *p); + + +int ftpstart(int argc,char *argv[],void *p); +int ftp0(int argc,char *argv[],void *p); + + +int dohapnstat(int argc,char *argv[],void *p); +int hapn_attach(int argc,char *argv[],void *p); + + +int dohop(int argc,char *argv[],void *p); + + +int dohs(int argc,char *argv[],void *p); +int hs_attach(int argc,char *argv[],void *p); + + +int doicmp(int argc,char *argv[],void *p); + + +int doifconfig(int argc,char *argv[],void *p); +int dodetach(int argc,char *argv[],void *p); + + +int doip(int argc,char *argv[],void *p); +int doroute(int argc,char *argv[],void *p); + + +int dosec(int argc,char *argv[],void *p); + + +int doksp(int argc,char *argv[],void *p); + + +int ps(int argc,char *argv[],void *p); + + +int dolterm(int argc,char *argv[],void *p); + + +int dodelete(int argc,char *argv[],void *p); +int dorename(int argc,char *argv[],void *p); +int doexit(int argc,char *argv[],void *p); +int dohostname(int argc,char *argv[],void *p); +int dolog(int argc,char *argv[],void *p); +int dohelp(int argc,char *argv[],void *p); +int doattach(int argc,char *argv[],void *p); +int doparam(int argc,char *argv[],void *p); +int dopage(int argc,char *argv[],void *p); +int domode(int argc,char *argv[],void *p); +int donothing(int argc,char *argv[],void *p); +int donrstat(int argc,char *argv[],void *p); +int doescape(int argc,char *argv[],void *p); +int doremote(int argc,char *argv[],void *p); +int doboot(int argc,char *argv[],void *p); +int dorepeat(int argc,char *argv[],void *p); +int dostacktest(int argc,char *argv[],void *p); +int dosysdebug(int argc,char *argv[],void *p); +int dosystrace(int argc,char *argv[],void *p); +int dowipe(int argc,char *argv[],void *p); + + +int dombox(int argc,char *argv[],void *p); + + +int donntp(int argc,char *argv[],void *p); + + +int donetrom(int argc,char *argv[],void *p); +int nr_attach(int argc,char *argv[],void *p); + + +int doshell(int argc,char *argv[],void *p); +int doisat(int argc,char *argv[],void *p); + + +int pc_attach(int argc,char *argv[],void *p); + + +int pk_attach(int argc,char *argv[],void *p); + + +int pi_attach(int argc,char *argv[],void *p); +int dopistat(int argc,char *argv[],void *p); + + +int doping(int argc,char *argv[],void *p); + + +int dopop(int argc,char *argv[],void *p); + + +int pop1(int argc,char *argv[],void *p); +int pop0(int argc,char *argv[],void *p); + + +int doqtso(int argc,char *argv[],void *p); + + +int dorarp(int argc,char *argv[],void *p); + + +int dorip(int argc,char *argv[],void *p); + + +int doaddrefuse(int argc,char *argv[],void *p); +int dodroprefuse(int argc,char *argv[],void *p); +int dorip(int argc,char *argv[],void *p); +int doripadd(int argc,char *argv[],void *p); +int doripdrop(int argc,char *argv[],void *p); +int doripinit(int argc,char *argv[],void *p); +int doripmerge(int argc,char *argv[],void *p); +int doripreq(int argc,char *argv[],void *p); +int doripstat(int argc,char *argv[],void *p); +int doripstop(int argc,char *argv[],void *p); +int doriptrace(int argc,char *argv[],void *p); + + +int dosound(int argc,char *argv[],void *p); + + +int escc_attach(int argc,char *argv[],void *p); +int doesccstat(int argc,char *argv[],void *p); + + +int dosession(int argc,char *argv[],void *p); +int go(int argc,char *argv[],void *p); +int doclose(int argc,char *argv[],void *p); +int doreset(int argc,char *argv[],void *p); +int dokick(int argc,char *argv[],void *p); +int dorecord(int argc,char *argv[],void *p); +int dosfsize(int argc,char *argv[],void *p); +int doupload(int argc,char *argv[],void *p); + + +int dis1(int argc,char *argv[],void *p); +int dis0(int argc,char *argv[],void *p); +int echo1(int argc,char *argv[],void *p); +int echo0(int argc,char *argv[],void *p); +int rem1(int argc,char *argv[],void *p); +int rem0(int argc,char *argv[],void *p); +int term1(int argc,char *argv[],void *p); +int term0(int argc,char *argv[],void *p); +int bsr1(int argc,char *argv[],void *p); +int bsr0(int argc,char *argv[],void *p); + + +int dosmtp(int argc,char *argv[],void *p); + + +int smtp1(int argc,char *argv[],void *p); +int smtp0(int argc,char *argv[],void *p); + + +int dosock(int argc,char *argv[],void *p); + + +int dofiles(int argc,char *argv[],void *p); + + +int doswatch(int argc,char *argv[],void *p); + + +int dotcp(int argc,char *argv[],void *p); + + +int doecho(int argc,char *argv[],void *p); +int doeol(int argc,char *argv[],void *p); +int dotelnet(int argc,char *argv[],void *p); +int dotopt(int argc,char *argv[],void *p); + + +int dotip(int argc,char *argv[],void *p); + + +int ttylstart(int argc,char *argv[],void *p); +int ttyl0(int argc,char *argv[],void *p); + + +int dotrace(int argc,char *argv[],void *p); + + +int doudp(int argc,char *argv[],void *p); + + +int doview(int argc,char *argv[],void *p); +void view(int,void *,void *); + + + + + + + +struct cmds Ripcmds[] = { + _("accept"), dodroprefuse, 0, 2, + _("rip accept "), + _("add"), doripadd, 0, 3, + _("rip add []"), + _("drop"), doripdrop, 0, 2, + _("rip drop "), + _("merge"), doripmerge, 0, 0, 0, + _("refuse"), doaddrefuse, 0, 2, + _("rip refuse "), + _("request"), doripreq, 0, 2, 0, + _("status"), doripstat, 0, 0, 0, + _("trace"), doriptrace, 0, 0, 0, + 0, +}; + +int +dorip(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return subcmd(Ripcmds,argc,argv,p); +} + + +int +doripadd(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + int split = 1; + int us = 0; + + if(argc > 3) + split = atoi(argv[3]); + if(argc > 4) + us = atoi(argv[4]); + + return rip_add(resolve(argv[1]),atol(argv[2]),split,us); +} + + +int +doaddrefuse(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return riprefadd(resolve(argv[1])); +} + + +int +doripdrop(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return rip_drop(resolve(argv[1])); +} + + +int +dodroprefuse(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return riprefdrop(resolve(argv[1])); +} + + +int +doripinit(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return rip_init(); +} +int +doripstop(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + del_udp(Rip_cb); + Rip_cb = 0; + return 0; +} +int +doripreq(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + uint16 replyport; + + if(argc > 2) + replyport = atoi(argv[2]); + else + replyport = 520; + return ripreq(resolve(argv[1]),replyport); +} + +int +doripstat(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct rip_list *rl; + struct rip_refuse *rfl; + + _printf(_("RIP: sent %lu rcvd %lu reqst %lu resp %lu unk %lu refused %lu\n"), + Rip_stat.output, Rip_stat.rcvd, Rip_stat.request, Rip_stat.response, + Rip_stat.unknown,Rip_stat.refusals); + if(Rip_list != 0){ + _printf(_("Active RIP output interfaces:\n")); + _printf(_("Dest Addr Interval Split\n")); + for(rl=Rip_list; rl != 0; rl = rl->next){ + _printf(_("%-16s%-9lu%-6u\n"),inet_ntoa(rl->dest), + rl->interval,rl->flags.rip_split); + } + } + if(Rip_refuse != 0){ + _printf(_("Refusing announcements from gateways:\n")); + for(rfl=Rip_refuse; rfl != 0;rfl = rfl->next){ + _printf(_("%s\n"),inet_ntoa(rfl->target)); + } + } + return 0; +} + +int +doriptrace(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setshort(&Rip_trace, _("RIP tracing"), argc, argv); +} +int +doripmerge(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setbool(&Rip_merge, _("RIP merging"), argc, argv); +} diff --git a/src/nos/internet/sim.i b/src/nos/internet/sim.i new file mode 100644 index 00000000..aa6ce8b4 --- /dev/null +++ b/src/nos/internet/sim.i @@ -0,0 +1,2583 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + +static void simfunc(void *p); + +struct pkt { + struct timer timer; + struct mbuf *bp; +}; + +struct { + int32 fixed; + int32 xmit; + int32 maxq; + int pdup; + int ploss; +} Simctl = { + 0,0,1000,0,0 }; +int +dosim(argc,argv,p) +int argc; +char *argv; +void *p; +{ + return 0; +} + +void +net_sim(bp) +struct mbuf *bp; +{ + struct pkt *pkt; + int32 delay; + + if(urandom(1000) < Simctl.ploss){ + if(Loopback.trfp) + _fprintf(Loopback.trfp, _("packet lost\n")); + free_p(&bp); + return; + } + if(urandom(1000) < Simctl.pdup){ + struct mbuf *dbp; + if(Loopback.trfp) + _fprintf(Loopback.trfp, _("packet duped\n")); + dup_p(&dbp,bp,0,len_p(bp)); + net_sim(dbp); + } + + + + + + delay = Simctl.fixed + len_p(bp)*Simctl.xmit + urandom(Simctl.maxq); + if(Loopback.trfp) + _fprintf(Loopback.trfp, _("packet delayed %ld ms\n"),delay); + if(delay == 0){ + + net_route(&Loopback,&bp); + return; + } + pkt = (struct pkt *)mallocw(sizeof(struct pkt)); + pkt->bp = bp; + set_timer(&pkt->timer,delay); + pkt->timer.func = simfunc; + pkt->timer.arg = pkt; + start_timer(&pkt->timer); +} + +static void +simfunc(p) +void *p; +{ + struct pkt *pkt = (struct pkt *)p; + struct mbuf *bp = pkt->bp; + + stop_timer(&pkt->timer); + net_route(&Loopback,&bp); + free(pkt); +} diff --git a/src/nos/internet/tcpcmd.i b/src/nos/internet/tcpcmd.i new file mode 100644 index 00000000..fd05f000 --- /dev/null +++ b/src/nos/internet/tcpcmd.i @@ -0,0 +1,4130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct tcp { + uint16 source; + uint16 dest; + int32 seq; + int32 ack; + uint16 wnd; + uint16 checksum; + uint16 up; + uint16 mss; + uint8 wsopt; + uint32 tsval; + uint32 tsecr; + struct { + unsigned int congest:1; + unsigned int urg:1; + unsigned int ack:1; + unsigned int psh:1; + unsigned int rst:1; + unsigned int syn:1; + unsigned int fin:1; + unsigned int mss:1; + unsigned int wscale:1; + unsigned int tstamp:1; + } flags; + + + + + + + + + + char optlen; + char options[40 ]; + +}; + + + + + + + + + + + +struct reseq { + struct reseq *next; + struct tcp seg; + struct mbuf *bp; + uint16 length; + char tos; +}; + +enum tcp_state { + TCP_CLOSED=1, + TCP_LISTEN, + TCP_SYN_SENT, + TCP_SYN_RECEIVED, + TCP_ESTABLISHED, + TCP_FINWAIT1, + TCP_FINWAIT2, + TCP_CLOSE_WAIT, + TCP_LAST_ACK, + TCP_CLOSING, + TCP_TIME_WAIT +}; + + +struct tcb { + struct tcb *next; + + struct connection conn; + + enum tcp_state state; + + char reason; + + + + + + + uint8 type; + uint8 code; + + + struct { + int32 una; + int32 nxt; + int32 ptr; + int32 wl1; + int32 wl2; + int32 wnd; + uint16 up; + uint8 wind_scale; + } snd; + int32 iss; + int32 resent; + int32 cwind; + int32 ssthresh; + int dupacks; + + + struct { + int32 nxt; + int32 wnd; + uint16 up; + uint8 wind_scale; + } rcv; + int32 last_ack_sent; + int32 ts_recent; + + int32 irs; + int32 rerecv; + int32 mss; + + int32 window; + int32 limit; + + void (*r_upcall)(struct tcb *tcb,int32 cnt); + + void (*t_upcall)(struct tcb *tcb,int32 cnt); + + void (*s_upcall)(struct tcb *tcb,int old,int new); + + struct { + unsigned int force:1; + unsigned int clone:1; + unsigned int retran:1; + unsigned int active:1; + unsigned int synack:1; + unsigned int rtt_run:1; + unsigned int congest:1; + int ts_ok:1; + int ws_ok:1; + } flags; + char tos; + int backoff; + + struct mbuf *rcvq; + struct mbuf *sndq; + int32 rcvcnt; + int32 sndcnt; + + + + + struct reseq *reseq; + struct timer timer; + int32 rtt_time; + int32 rttseq; + int32 rttack; + int32 srtt; + int32 mdev; + int32 rtt; + + int user; + + + int32 quench; + int32 unreach; + int32 timeouts; + int32 lastack; + int32 txbw; + int32 lastrx; + int32 rxbw; +}; + +struct tcp_rtt { + int32 addr; + int32 srtt; + int32 mdev; +}; +extern struct tcp_rtt Tcp_rtt[]; +extern int (*Kicklist[])(); + + +struct tcp_stat { + uint16 runt; + uint16 checksum; + uint16 conout; + uint16 conin; + uint16 resets; + uint16 bdcsts; +}; +extern struct mib_entry Tcp_mib[]; + + + + + + + + + + + + + + + + +extern struct tcb *Tcbs; +extern char *Tcpstates[]; +extern char *Tcpreasons[]; + + +extern int Tcp_tstamps; +extern int32 Tcp_irtt; +extern uint16 Tcp_limit; +extern uint16 Tcp_mss; +extern int Tcp_syndata; +extern int Tcp_trace; +extern uint16 Tcp_window; + +void st_tcp(struct tcb *tcb); + + +void htontcp(struct tcp *tcph,struct mbuf **data, + int32 ipsrc,int32 ipdest); +int ntohtcp(struct tcp *tcph,struct mbuf **bpp); + + +void reset(struct ip *ip,struct tcp *seg); +void send_syn(struct tcb *tcb); +void tcp_input(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast,int32 said); +void tcp_icmp(int32 icsource,int32 source,int32 dest, + uint8 type,uint8 code,struct mbuf **bpp); + + +void close_self(struct tcb *tcb,int reason); +struct tcb *create_tcb(struct connection *conn); +struct tcb *lookup_tcb(struct connection *conn); +void rtt_add(int32 addr,int32 rtt); +struct tcp_rtt *rtt_get(int32 addr); +int seq_ge(int32 x,int32 y); +int seq_gt(int32 x,int32 y); +int seq_le(int32 x,int32 y); +int seq_lt(int32 x,int32 y); +int seq_within(int32 x,int32 low,int32 high); +void settcpstate(struct tcb *tcb,enum tcp_state newstate); +void tcp_garbage(int red); + + +void tcp_output(struct tcb *tcb); + + +int32 backoff(int n); +void tcp_timeout(void *p); + + +int close_tcp(struct tcb *tcb); +int del_tcp(struct tcb *tcb); +int kick(int32 addr); +int kick_tcp(struct tcb *tcb); +struct tcb *open_tcp(struct socket *lsocket,struct socket *fsocket, + int mode,uint16 window, + void (*r_upcall)(struct tcb *tcb,int32 cnt), + void (*t_upcall)(struct tcb *tcb,int32 cnt), + void (*s_upcall)(struct tcb *tcb,int old,int new), + int tos,int user); +int32 recv_tcp(struct tcb *tcb,struct mbuf **bpp,int32 cnt); +void reset_all(void); +void reset_tcp(struct tcb *tcb); +long send_tcp(struct tcb *tcb,struct mbuf **bpp); +char *tcp_port(uint16 n); +int tcpval(struct tcb *tcb); + + + + + + + + + + + + +struct cmds { + _char *name; + int (*func)(int argc,char *argv[],void *p); + + int stksize; + int argcmin; + _char *argc_errmsg; +}; +extern struct cmds Cmds[],Startcmds[],Stopcmds[],Attab[]; + + +int cmdparse(struct cmds cmds[], char *line, void *p); +int subcmd(struct cmds tab[], int argc, char *argv[], void *p); +int setbool(int *var, _char *label, int argc, char *argv[]); +int bit16cmd(uint16 *bits, uint16 mask, _char *label, int argc, char *argv[]); +int setint(int *var, _char *label, int argc, char *argv[]); +int setlong(int32 *var, _char *label, int argc, char *argv[]); +int setshort(unsigned short *var, _char *label, int argc, char *argv[]); +int setuns(unsigned *var, _char *label, int argc, char *argv[]); + + + + + + +int doasystat(int argc,char *argv[],void *p); +int fp_attach (int argc,char *argv[],void *p); + + +int domem(int argc,char *argv[],void *p); + + +int doamiga(int argc,char *argv[],void *p); + + +int doarp(int argc,char *argv[],void *p); + + +int asy_attach(int argc,char *argv[],void *p); + + +int doax25(int argc,char *argv[],void *p); +int doaxheard(int argc,char *argv[],void *p); +int doaxdest(int argc,char *argv[],void *p); +int doconnect(int argc,char *argv[],void *p); + + +int dobootp(int argc,char *argv[],void *p); + + +int bootpdcmd(int argc,char *argv[],void *p); + + +int dodialer(int argc,char *argv[],void *p); + + +int docd(int argc,char *argv[],void *p); +int dodir(int argc,char *argv[],void *p); +int domkd(int argc,char *argv[],void *p); +int dormd(int argc,char *argv[],void *p); + + +int dodomain(int argc,char *argv[],void *p); + + +int dodrstat(int argc,char *argv[],void *p); +int dr_attach(int argc,char *argv[],void *p); +int dodr(int argc,char *argv[],void *p); + + +int eg_attach(int argc,char *argv[],void *p); +int doegstat(int argc,char *argv[],void *p); + + +int doetherstat(int argc,char *argv[],void *p); +int ec_attach(int argc,char *argv[],void *p); + + +int dofax(int argc,char *argv[],void *p); +int fax1(int argc,char *argv[],void *p); +int fax0(int argc,char *argv[],void *p); + + +int dofinger(int argc,char *argv[],void *p); + + +int finstart(int argc,char *argv[],void *p); +int fin0(int argc,char *argv[],void *p); + + +int doftp(int argc,char *argv[],void *p); +int doabort(int argc,char *argv[],void *p); + + +int ftpstart(int argc,char *argv[],void *p); +int ftp0(int argc,char *argv[],void *p); + + +int dohapnstat(int argc,char *argv[],void *p); +int hapn_attach(int argc,char *argv[],void *p); + + +int dohop(int argc,char *argv[],void *p); + + +int dohs(int argc,char *argv[],void *p); +int hs_attach(int argc,char *argv[],void *p); + + +int doicmp(int argc,char *argv[],void *p); + + +int doifconfig(int argc,char *argv[],void *p); +int dodetach(int argc,char *argv[],void *p); + + +int doip(int argc,char *argv[],void *p); +int doroute(int argc,char *argv[],void *p); + + +int dosec(int argc,char *argv[],void *p); + + +int doksp(int argc,char *argv[],void *p); + + +int ps(int argc,char *argv[],void *p); + + +int dolterm(int argc,char *argv[],void *p); + + +int dodelete(int argc,char *argv[],void *p); +int dorename(int argc,char *argv[],void *p); +int doexit(int argc,char *argv[],void *p); +int dohostname(int argc,char *argv[],void *p); +int dolog(int argc,char *argv[],void *p); +int dohelp(int argc,char *argv[],void *p); +int doattach(int argc,char *argv[],void *p); +int doparam(int argc,char *argv[],void *p); +int dopage(int argc,char *argv[],void *p); +int domode(int argc,char *argv[],void *p); +int donothing(int argc,char *argv[],void *p); +int donrstat(int argc,char *argv[],void *p); +int doescape(int argc,char *argv[],void *p); +int doremote(int argc,char *argv[],void *p); +int doboot(int argc,char *argv[],void *p); +int dorepeat(int argc,char *argv[],void *p); +int dostacktest(int argc,char *argv[],void *p); +int dosysdebug(int argc,char *argv[],void *p); +int dosystrace(int argc,char *argv[],void *p); +int dowipe(int argc,char *argv[],void *p); + + +int dombox(int argc,char *argv[],void *p); + + +int donntp(int argc,char *argv[],void *p); + + +int donetrom(int argc,char *argv[],void *p); +int nr_attach(int argc,char *argv[],void *p); + + +int doshell(int argc,char *argv[],void *p); +int doisat(int argc,char *argv[],void *p); + + +int pc_attach(int argc,char *argv[],void *p); + + +int pk_attach(int argc,char *argv[],void *p); + + +int pi_attach(int argc,char *argv[],void *p); +int dopistat(int argc,char *argv[],void *p); + + +int doping(int argc,char *argv[],void *p); + + +int dopop(int argc,char *argv[],void *p); + + +int pop1(int argc,char *argv[],void *p); +int pop0(int argc,char *argv[],void *p); + + +int doqtso(int argc,char *argv[],void *p); + + +int dorarp(int argc,char *argv[],void *p); + + +int dorip(int argc,char *argv[],void *p); + + +int doaddrefuse(int argc,char *argv[],void *p); +int dodroprefuse(int argc,char *argv[],void *p); +int dorip(int argc,char *argv[],void *p); +int doripadd(int argc,char *argv[],void *p); +int doripdrop(int argc,char *argv[],void *p); +int doripinit(int argc,char *argv[],void *p); +int doripmerge(int argc,char *argv[],void *p); +int doripreq(int argc,char *argv[],void *p); +int doripstat(int argc,char *argv[],void *p); +int doripstop(int argc,char *argv[],void *p); +int doriptrace(int argc,char *argv[],void *p); + + +int dosound(int argc,char *argv[],void *p); + + +int escc_attach(int argc,char *argv[],void *p); +int doesccstat(int argc,char *argv[],void *p); + + +int dosession(int argc,char *argv[],void *p); +int go(int argc,char *argv[],void *p); +int doclose(int argc,char *argv[],void *p); +int doreset(int argc,char *argv[],void *p); +int dokick(int argc,char *argv[],void *p); +int dorecord(int argc,char *argv[],void *p); +int dosfsize(int argc,char *argv[],void *p); +int doupload(int argc,char *argv[],void *p); + + +int dis1(int argc,char *argv[],void *p); +int dis0(int argc,char *argv[],void *p); +int echo1(int argc,char *argv[],void *p); +int echo0(int argc,char *argv[],void *p); +int rem1(int argc,char *argv[],void *p); +int rem0(int argc,char *argv[],void *p); +int term1(int argc,char *argv[],void *p); +int term0(int argc,char *argv[],void *p); +int bsr1(int argc,char *argv[],void *p); +int bsr0(int argc,char *argv[],void *p); + + +int dosmtp(int argc,char *argv[],void *p); + + +int smtp1(int argc,char *argv[],void *p); +int smtp0(int argc,char *argv[],void *p); + + +int dosock(int argc,char *argv[],void *p); + + +int dofiles(int argc,char *argv[],void *p); + + +int doswatch(int argc,char *argv[],void *p); + + +int dotcp(int argc,char *argv[],void *p); + + +int doecho(int argc,char *argv[],void *p); +int doeol(int argc,char *argv[],void *p); +int dotelnet(int argc,char *argv[],void *p); +int dotopt(int argc,char *argv[],void *p); + + +int dotip(int argc,char *argv[],void *p); + + +int ttylstart(int argc,char *argv[],void *p); +int ttyl0(int argc,char *argv[],void *p); + + +int dotrace(int argc,char *argv[],void *p); + + +int doudp(int argc,char *argv[],void *p); + + +int doview(int argc,char *argv[],void *p); +void view(int,void *,void *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct stopwatch { + long calls; + uint16 maxval; + uint16 minval; + int32 totval; +}; +extern struct stopwatch Sw[]; +extern uint16 Intstk[]; +extern uint16 Stktop[]; +extern void (*Shutdown[])(); +extern int Mtasker; + + +void asytimer(void); + + +extern unsigned *Refcnt; +int _creat(const char *file, mode_t mode); +int _open(const char *file, int flag, ...); +int dup(int fd); +int _close(int fd); +int _read(int fd, void *buf, size_t cnt); +int _write(int fd, const void *buf, size_t cnt); +long _lseek(int fd, long offset, int whence); + + +unsigned long dma_map(void *p,unsigned short len,int copy); +void dma_unmap(void *p,int copy); +int dis_dmaxl(int chan); +int ena_dmaxl(int chan); +unsigned long dmalock(void *p,unsigned short len); +unsigned long dmaunlock(unsigned long physaddr,unsigned short len); +void *dma_malloc(int32 *physaddr,unsigned short len); + + +void rtype(uint16 c); + + +void escctimer(void); +void esccstop(void); + + +long bioscnt(void); +void clrbit(unsigned port,char bits); +void ctick(void); +int32 divrem(int32 dividend,uint16 divisor); +void (*getirq(unsigned int))(void); +int getmask(unsigned irq); +int intcontext(void); +void ioinit(void); +void iostop(void); +void kbsave(int c); +int kbread(void); +int maskoff(unsigned irq); +int maskon(unsigned irq); +void pctick(void); +void setbit(unsigned port,char bits); +int setirq(unsigned irq,void (*handler)(void)); +void sysreset(void); +void systick(void); +void writebit(unsigned port,char mask,int val); + + + +void hwtick(void); + + + + +void chktasker(void); +void chtimer(void (*)()); +int32 divrem(int32 dividend,uint16 divisor); +uint16 getss(void); +void giveup(void); +uint16 kbraw(void); +uint16 longdiv(uint16 divisor,int n,uint16 *dividend); +uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand); +void nullvec(void); +void kbint(void); +void uchtimer(void); +uint16 clockbits(void); + + +void swstart(void); +uint16 stopval(void); + + +void swstop(int n); + + + + + + + + + + + + + + + + + + +enum ftp_type { + ASCII_TYPE, + IMAGE_TYPE, + LOGICAL_TYPE +}; + + +enum verb_level { + V_QUIET, + V_SHORT, + V_NORMAL, + V_HASH, + V_STAT +}; + +long sendfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +long recvfile(FILE *fp,FILE *network,enum ftp_type mode,enum verb_level verb); +int isbinary(FILE *fp); +int md5hash(FILE *fp,uint8 hash[16],int ascii); + + + + + + + + + + + +struct ftpcli { + FILE *control; + FILE *data; + + char state; + + + + + uint16 verbose; + int batch; + int abort; + int update; + char type; + char typesent; + int logbsize; + FILE *fp; + + char buf[256 ]; + char line[256 ]; + struct session *session; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct telnet { + char local[6]; + char remote[6]; + struct session *session; + char eolmode; +}; + +extern int Refuse_echo; +extern int Tn_cr_mode; + + +int tel_connect(struct session *sp,struct sockaddr *fsocket,int len); +void tel_output(int unused,void *p1,void *p2); +void tnrecv(struct telnet *tn); +void doopt(struct telnet *tn,int opt); +void dontopt(struct telnet *tn,int opt); +void willopt(struct telnet *tn,int opt); +void wontopt(struct telnet *tn,int opt); +void answer(struct telnet *tn,int r1,int r2); + + +void ttylhandle(int s,void *unused,void *p); + + + + +struct ttystate { + uint8 *line; + uint8 *lp; + unsigned int echo:1; + unsigned int edit:1; + unsigned int crnl:1; +}; + + +struct session { + unsigned strchr; + enum { + TELNET, + FTP, + AX25TNC, + FINGER, + PING, + NRSESSION, + COMMAND, + VIEW, + HOP, + TIP, + PPPPASS, + DIAL, + DQUERY, + DCLIST, + ITRACE, + REPEAT, + FAX + } type; + + char *name; + union { + struct ftpcli *ftp; + struct telnet *telnet; + void *p; + } cb; + struct proc *proc; + struct proc *proc1; + struct proc *proc2; + FILE *network; + FILE *record; + FILE *upload; + struct ttystate ttystate; + FILE *input; + FILE *output; + int (*ctlproc)(int); + int (*inproc)(int); + struct session *parent; + enum { + SCROLL_INBAND, + SCROLL_LOCAL + } scrollmode; +}; +extern char *Sestypes[]; +extern unsigned Nsessions; +extern long Sfsize; + +extern struct session *Sessions[]; + + + +extern struct session *Current; +extern struct session *Lastcurr; +extern struct session *Command; +extern char *Cmdline; + + +void freesession(struct session *sp); +int keywait(char *prompt,int flush); +struct session *sessptr(char *cp); +struct session *newsession(char *name,int type,int makecur); +void sesflush(void); +void upload(int unused,void *sp1,void *p); + +extern uint16 Lport; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int Tcp_tstamps = 1; + + +static int doirtt(int argc,char *argv[],void *p); +static int domss(int argc,char *argv[],void *p); +static int dortt(int argc,char *argv[],void *p); +static int dotcpkick(int argc,char *argv[],void *p); +static int dotcpreset(int argc,char *argv[],void *p); +static int dotcpstat(int argc,char *argv[],void *p); +static int dotcptr(int argc,char *argv[],void *p); +static int dowindow(int argc,char *argv[],void *p); +static int dosyndata(int argc,char *argv[],void *p); +static int dotimestamps(int argc,char *argv[],void *p); +static int tstat(void); +static int keychar(int c); +static void tcprepstat(int interval,void *p1,void *p2); + + + +static struct cmds Tcpcmds[] = { + N_("irtt"), doirtt, 0, 0, 0, + N_("kick"), dotcpkick, 0, 2, N_("tcp kick "), + N_("mss"), domss, 0, 0, 0, + N_("reset"), dotcpreset, 0, 2, N_("tcp reset "), + N_("rtt"), dortt, 0, 3, N_("tcp rtt "), + N_("status"), dotcpstat, 0, 0, N_("tcp stat []"), + N_("syndata"), dosyndata, 0, 0, 0, + N_("timestamps"), dotimestamps, 0, 0, 0, + N_("trace"), dotcptr, 0, 0, 0, + N_("window"), dowindow, 0, 0, 0, + 0, +}; + + + +int +dotcp(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return subcmd(Tcpcmds,argc,argv,p); +} + + + +static int +dotcptr(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setbool(&Tcp_trace, _("TCP state tracing"), argc, argv); +} + + + +static int +dotimestamps(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setbool(&Tcp_tstamps, _("TCP timestamps"), argc, argv); +} + + + + + +static int +dotcpreset(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct tcb *tcb; + + tcb = (struct tcb *)ltop(htol(argv[1])); + if(!tcpval(tcb)){ + printf(Notval); + return 1; + } + reset_tcp(tcb); + return 0; +} + + + + + +static int +doirtt(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + struct tcp_rtt *tp; + + setlong(&Tcp_irtt, _("TCP default irtt"), argc, argv); + if(argc < 2){ + for(tp = &Tcp_rtt[0];tp < &Tcp_rtt[16 ];tp++){ + if(tp->addr != 0){ + _printf(_("%s: srtt %lu mdev %lu\n"), + inet_ntoa(tp->addr), + tp->srtt,tp->mdev); + } + } + } + return 0; +} + + + + + +static int +dortt(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct tcb *tcb; + + tcb = (struct tcb *)ltop(htol(argv[1])); + if(!tcpval(tcb)){ + printf(Notval); + return 1; + } + tcb->srtt = atol(argv[2]); + return 0; +} + + + + + +static int +dotcpkick(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct tcb *tcb; + + tcb = (struct tcb *)ltop(htol(argv[1])); + if(kick_tcp(tcb) == -1){ + printf(Notval); + return 1; + } + return 0; +} + + + + + +static int +domss(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setshort(&Tcp_mss, _("TCP MSS"), argc, argv); +} + + + + + +static int +dowindow(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setshort(&Tcp_window, _("TCP window"), argc, argv); +} + + + + +static int +dosyndata(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return setbool(&Tcp_syndata, _("TCP syn+data piggybacking"), + argc, argv); +} + + + + + + +static int +dotcpstat(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct tcb *tcb; + int32 interval = 0; + + if(argc < 2){ + tstat(); + return 0; + } + if(argc > 2) + interval = atol(argv[2]); + + tcb = (struct tcb *)ltop(htol(argv[1])); + if(!tcpval(tcb)){ + printf(Notval); + return 1; + } + if(interval == 0){ + st_tcp(tcb); + return 0; + } + newproc("rep tcp stat",512,tcprepstat,interval,(void *)tcb,0,0); + return 0; +} + + + + +static void +tcprepstat(interval,p1,p2) +int interval; +void *p1; +void *p2; +{ + struct tcb *tcb = (struct tcb *)p1; + struct session *sp; + + if((sp = newsession(Cmdline,REPEAT,1)) == 0){ + _printf(_("Too many sessions\n")); + return; + } + sp->inproc = keychar; + while(sp->inproc == keychar){ + _printf(_("%c[2J"),0x1b); + st_tcp(tcb); + if(tcb->state == TCP_CLOSED || ppause(interval) == -1) + break; + } + keywait(0,1); + freesession(sp); +} + + + + + + + + +static int +tstat() +{ + register int i; + register struct tcb *tcb; + int j; + + for(j=i=1;i<=15;i++){ + if(Tcp_mib[i].name == 0) + continue; + _printf(_("(%2u)%-20s%10lu"),i,Tcp_mib[i].name, + Tcp_mib[i].value.integer); + if(j++ % 2) + _printf(_(" ")); + else + _printf(_("\n")); + } + if((j % 2) == 0) + _printf(_("\n")); + + _printf(_("&TCB Rcv-Q Snd-Q Local socket Remote socket State\n")); + for(tcb=Tcbs;tcb != 0;tcb = tcb->next){ + _printf(_("%9p%6u%6u "),tcb,tcb->rcvcnt,tcb->sndcnt); + _printf(_("%-23s"),pinet(&tcb->conn.local)); + _printf(_("%-23s"),pinet(&tcb->conn.remote)); + _printf(_("%-s"),Tcpstates[tcb->state]); + if(tcb->state == TCP_LISTEN && tcb->flags.clone) + _printf(_(" (S)")); + _printf(_("\n")); + } + return 0; +} + + + + +void +st_tcp(tcb) +struct tcb *tcb; +{ + int32 sent,recvd; + + if(tcb == 0) + return; + + sent = tcb->snd.una - tcb->iss; + recvd = tcb->rcv.nxt - tcb->irs; + switch(tcb->state){ + case TCP_LISTEN: + case TCP_SYN_SENT: + sent = recvd = 0; + break; + case TCP_SYN_RECEIVED: + recvd--; + sent = 0; + break; + case TCP_ESTABLISHED: + case TCP_FINWAIT1: + sent--; + recvd--; + break; + case TCP_FINWAIT2: + sent -= 2; + recvd--; + break; + case TCP_CLOSE_WAIT: + case TCP_CLOSING: + case TCP_LAST_ACK: + sent--; + recvd -= 2; + break; + case TCP_TIME_WAIT: + sent -= 2; + recvd -= 2; + break; + } + _printf(_("Local: %s"),pinet(&tcb->conn.local)); + _printf(_(" Remote: %s"),pinet(&tcb->conn.remote)); + _printf(_(" State: %s\n"),Tcpstates[tcb->state]); + _printf(_(" Unack Next Resent CWind Thrsh Wind MSS Queue Thruput Total\n")); + _printf(_("Send: %08lx %08lx%7lu%6lu%6lu%6lu%5lu%6lu%9lu%11lu\n"), + tcb->snd.una,tcb->snd.nxt,tcb->resent,tcb->cwind,tcb->ssthresh, + tcb->snd.wnd,tcb->mss,tcb->sndcnt,tcb->txbw,sent); + + _printf(_("Recv: %08lx%7lu %6lu %6lu%9lu%11lu\n"), + tcb->rcv.nxt,tcb->rerecv,tcb->rcv.wnd,tcb->rcvcnt,tcb->rxbw,recvd); + + _printf(_("Dup acks Backoff Timeouts Source Quench Unreachables Power\n")); + _printf(_("%8u%10u%11lu%16lu%15lu"),tcb->dupacks,tcb->backoff,tcb->timeouts, + tcb->quench,tcb->unreach); + if(tcb->srtt != 0) + _printf(_("%8lu"),1000*tcb->txbw/tcb->srtt); + else + _printf(_(" INF")); + if(tcb->flags.retran) + _printf(_(" Retry")); + _printf(_("\n")); + + _printf(_("Timer Count Duration Last RTT SRTT Mdev Method\n")); + switch(tcb->timer.state){ + case 0: + _printf(_("stopped")); + break; + case 1: + _printf(_("running")); + break; + case 2: + _printf(_("expired")); + break; + } + _printf(_(" %10lu%10lu%10lu%10lu%10lu"),(long)read_timer(&tcb->timer), + (long)((&tcb->timer)->duration*55 ),tcb->rtt,tcb->srtt,tcb->mdev); + _printf(_(" %s\n"),tcb->flags.ts_ok ? "timestamps":"standard"); + + if(tcb->reseq != (struct reseq *)0){ + register struct reseq *rp; + + _printf(_("Reassembly queue:\n")); + for(rp = tcb->reseq;rp != (struct reseq *)0; rp = rp->next){ + _printf(_(" seq x%lx %u bytes\n"),rp->seg.seq,rp->length); + } + } +} + + + +static int +keychar(c) +int c; +{ + if(c != 0x3) + return 1; + + _fprintf(Current->output, _("^C\n")); + alert(Current->proc,107); + Current->inproc = 0; + return 0; +} + + diff --git a/src/nos/internet/tcphdr.c b/src/nos/internet/tcphdr.c index 012ab880..dababf04 100644 --- a/src/nos/internet/tcphdr.c +++ b/src/nos/internet/tcphdr.c @@ -1,5 +1,7 @@ /* TCP header conversion routines * Copyright 1991 Phil Karn, KA9Q + * Dec 2003: RPB: added "flat" option-list processing for transparant + * options processing (BUG in original NOS code) */ #include "global.h" #include "mbuf.h" @@ -26,12 +28,29 @@ int32 ipdest if(bpp == NULL) return; hdrlen = TCPLEN; +/*RPB*/ +#if 0 if(tcph->flags.mss) hdrlen += MSS_LENGTH; if(tcph->flags.tstamp) hdrlen += TSTAMP_LENGTH; if(tcph->flags.wscale) hdrlen += WSCALE_LENGTH; +#else + if (tcph->optlen > 0 && tcph->optlen <= TCP_MAXOPT) + /* Use the "flat" options list */ + hdrlen += tcph->optlen; + else + { + if(tcph->flags.mss) + hdrlen += MSS_LENGTH; + if(tcph->flags.tstamp) + hdrlen += TSTAMP_LENGTH; + if(tcph->flags.wscale) + hdrlen += WSCALE_LENGTH; + } +#endif +/*RPB*/ hdrlen = (hdrlen + 3) & 0xfc; /* Round up to multiple of 4 */ pushdown(bpp,NULL,hdrlen); @@ -63,6 +82,8 @@ int32 ipdest cp = put16(cp,tcph->up); /* Write options, if any */ +/*RPB*/ +#if 0 if(tcph->flags.mss){ *cp++ = MSS_KIND; *cp++ = MSS_LENGTH; @@ -79,6 +100,32 @@ int32 ipdest *cp++ = WSCALE_LENGTH; *cp++ = tcph->wsopt; } +#else + if (tcph->optlen > 0 && tcph->optlen <= TCP_MAXOPT) + /* Use "flat" options list - network byte order assumed! */ + memcpy(cp,tcph->options,tcph->optlen); + else + { + if(tcph->flags.mss){ + *cp++ = MSS_KIND; + *cp++ = MSS_LENGTH; + cp = put16(cp,tcph->mss); + } + if(tcph->flags.tstamp){ + *cp++ = TSTAMP_KIND; + *cp++ = TSTAMP_LENGTH; + cp = put32(cp,tcph->tsval); + cp = put32(cp,tcph->tsecr); + } + if(tcph->flags.wscale){ + *cp++ = WSCALE_KIND; + *cp++ = WSCALE_LENGTH; + *cp++ = tcph->wsopt; + } + } +#endif +/*RPB*/ + if(tcph->checksum == 0){ /* Recompute header checksum */ struct pseudo_header ph; @@ -96,10 +143,20 @@ ntohtcp( struct tcp *tcph, struct mbuf **bpp ){ +/*RPB*/ +#if 0 int hdrlen,i,optlen,kind; +#else + int hdrlen,i,kind; +#endif +/*RPB*/ register int flags; uint8 hdrbuf[TCPLEN],*cp; +/*RPB*/ +#if 0 uint8 options[TCP_MAXOPT]; +#endif +/*RPB*/ memset(tcph,0,sizeof(struct tcp)); i = pullup(bpp,hdrbuf,TCPLEN); @@ -123,6 +180,8 @@ struct mbuf **bpp tcph->wnd = get16(&hdrbuf[14]); tcph->checksum = get16(&hdrbuf[16]); tcph->up = get16(&hdrbuf[18]); +/*RPB*/ +#if 0 optlen = hdrlen - TCPLEN; /* Check for option field */ @@ -176,5 +235,64 @@ struct mbuf **bpp i -= optlen; cp += optlen - 2; } +#else + /* This part simultaneously fills the "flat" options list */ + tcph->optlen = hdrlen - TCPLEN; + + /* Check for option field */ + if(i < TCPLEN || hdrlen < TCPLEN) + return -1; /* Header smaller than legal minimum */ + if(tcph->optlen == 0) + return (int)hdrlen; /* No options, all done */ + + if(tcph->optlen > len_p(*bpp)){ + /* Remainder too short for options length specified */ + return -1; + } + pullup(bpp,tcph->options,tcph->optlen); /* "Can't fail" */ + /* Process options */ + for(cp=tcph->options,i=tcph->optlen; i > 0;){ + int optlen; + + kind = *cp++; + i--; + /* Process single-byte options */ + switch(kind){ + case EOL_KIND: + return (int)hdrlen; /* End of options list */ + case NOOP_KIND: + continue; /* Go look for next option */ + } + /* All other options have a length field */ + optlen = *cp++; + + /* Process valid multi-byte options */ + switch(kind){ + case MSS_KIND: + if(optlen == MSS_LENGTH){ + tcph->mss = get16(cp); + tcph->flags.mss = 1; + } + break; + case WSCALE_KIND: + if(optlen == WSCALE_LENGTH){ + tcph->wsopt = *cp; + tcph->flags.wscale = 1; + } + break; + case TSTAMP_KIND: + if(optlen == TSTAMP_LENGTH){ + tcph->tsval = get32(cp); + tcph->tsecr = get32(cp+4); + tcph->flags.tstamp = 1; + } + break; + } + optlen = max(2,optlen); /* Enforce legal minimum */ + i -= optlen; + cp += optlen - 2; + } +#endif +/*RPB*/ return (int)hdrlen; } diff --git a/src/nos/internet/tcphdr.i b/src/nos/internet/tcphdr.i new file mode 100644 index 00000000..f5e68767 --- /dev/null +++ b/src/nos/internet/tcphdr.i @@ -0,0 +1,3107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct tcp { + uint16 source; + uint16 dest; + int32 seq; + int32 ack; + uint16 wnd; + uint16 checksum; + uint16 up; + uint16 mss; + uint8 wsopt; + uint32 tsval; + uint32 tsecr; + struct { + unsigned int congest:1; + unsigned int urg:1; + unsigned int ack:1; + unsigned int psh:1; + unsigned int rst:1; + unsigned int syn:1; + unsigned int fin:1; + unsigned int mss:1; + unsigned int wscale:1; + unsigned int tstamp:1; + } flags; + + + + + + + + + + char optlen; + char options[40 ]; + +}; + + + + + + + + + + + +struct reseq { + struct reseq *next; + struct tcp seg; + struct mbuf *bp; + uint16 length; + char tos; +}; + +enum tcp_state { + TCP_CLOSED=1, + TCP_LISTEN, + TCP_SYN_SENT, + TCP_SYN_RECEIVED, + TCP_ESTABLISHED, + TCP_FINWAIT1, + TCP_FINWAIT2, + TCP_CLOSE_WAIT, + TCP_LAST_ACK, + TCP_CLOSING, + TCP_TIME_WAIT +}; + + +struct tcb { + struct tcb *next; + + struct connection conn; + + enum tcp_state state; + + char reason; + + + + + + + uint8 type; + uint8 code; + + + struct { + int32 una; + int32 nxt; + int32 ptr; + int32 wl1; + int32 wl2; + int32 wnd; + uint16 up; + uint8 wind_scale; + } snd; + int32 iss; + int32 resent; + int32 cwind; + int32 ssthresh; + int dupacks; + + + struct { + int32 nxt; + int32 wnd; + uint16 up; + uint8 wind_scale; + } rcv; + int32 last_ack_sent; + int32 ts_recent; + + int32 irs; + int32 rerecv; + int32 mss; + + int32 window; + int32 limit; + + void (*r_upcall)(struct tcb *tcb,int32 cnt); + + void (*t_upcall)(struct tcb *tcb,int32 cnt); + + void (*s_upcall)(struct tcb *tcb,int old,int new); + + struct { + unsigned int force:1; + unsigned int clone:1; + unsigned int retran:1; + unsigned int active:1; + unsigned int synack:1; + unsigned int rtt_run:1; + unsigned int congest:1; + int ts_ok:1; + int ws_ok:1; + } flags; + char tos; + int backoff; + + struct mbuf *rcvq; + struct mbuf *sndq; + int32 rcvcnt; + int32 sndcnt; + + + + + struct reseq *reseq; + struct timer timer; + int32 rtt_time; + int32 rttseq; + int32 rttack; + int32 srtt; + int32 mdev; + int32 rtt; + + int user; + + + int32 quench; + int32 unreach; + int32 timeouts; + int32 lastack; + int32 txbw; + int32 lastrx; + int32 rxbw; +}; + +struct tcp_rtt { + int32 addr; + int32 srtt; + int32 mdev; +}; +extern struct tcp_rtt Tcp_rtt[]; +extern int (*Kicklist[])(); + + +struct tcp_stat { + uint16 runt; + uint16 checksum; + uint16 conout; + uint16 conin; + uint16 resets; + uint16 bdcsts; +}; +extern struct mib_entry Tcp_mib[]; + + + + + + + + + + + + + + + + +extern struct tcb *Tcbs; +extern char *Tcpstates[]; +extern char *Tcpreasons[]; + + +extern int Tcp_tstamps; +extern int32 Tcp_irtt; +extern uint16 Tcp_limit; +extern uint16 Tcp_mss; +extern int Tcp_syndata; +extern int Tcp_trace; +extern uint16 Tcp_window; + +void st_tcp(struct tcb *tcb); + + +void htontcp(struct tcp *tcph,struct mbuf **data, + int32 ipsrc,int32 ipdest); +int ntohtcp(struct tcp *tcph,struct mbuf **bpp); + + +void reset(struct ip *ip,struct tcp *seg); +void send_syn(struct tcb *tcb); +void tcp_input(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast,int32 said); +void tcp_icmp(int32 icsource,int32 source,int32 dest, + uint8 type,uint8 code,struct mbuf **bpp); + + +void close_self(struct tcb *tcb,int reason); +struct tcb *create_tcb(struct connection *conn); +struct tcb *lookup_tcb(struct connection *conn); +void rtt_add(int32 addr,int32 rtt); +struct tcp_rtt *rtt_get(int32 addr); +int seq_ge(int32 x,int32 y); +int seq_gt(int32 x,int32 y); +int seq_le(int32 x,int32 y); +int seq_lt(int32 x,int32 y); +int seq_within(int32 x,int32 low,int32 high); +void settcpstate(struct tcb *tcb,enum tcp_state newstate); +void tcp_garbage(int red); + + +void tcp_output(struct tcb *tcb); + + +int32 backoff(int n); +void tcp_timeout(void *p); + + +int close_tcp(struct tcb *tcb); +int del_tcp(struct tcb *tcb); +int kick(int32 addr); +int kick_tcp(struct tcb *tcb); +struct tcb *open_tcp(struct socket *lsocket,struct socket *fsocket, + int mode,uint16 window, + void (*r_upcall)(struct tcb *tcb,int32 cnt), + void (*t_upcall)(struct tcb *tcb,int32 cnt), + void (*s_upcall)(struct tcb *tcb,int old,int new), + int tos,int user); +int32 recv_tcp(struct tcb *tcb,struct mbuf **bpp,int32 cnt); +void reset_all(void); +void reset_tcp(struct tcb *tcb); +long send_tcp(struct tcb *tcb,struct mbuf **bpp); +char *tcp_port(uint16 n); +int tcpval(struct tcb *tcb); + + + + + + + + + + + +void +htontcp( +struct tcp *tcph, +struct mbuf **bpp, +int32 ipsrc, +int32 ipdest +){ + uint16 hdrlen; + register uint8 *cp; + + if(bpp == 0) + return; + hdrlen = 20 ; + + + + + + + + + + if (tcph->optlen > 0 && tcph->optlen <= 40 ) + + hdrlen += tcph->optlen; + else + { + if(tcph->flags.mss) + hdrlen += 4; + if(tcph->flags.tstamp) + hdrlen += 10; + if(tcph->flags.wscale) + hdrlen += 3; + } + + + + hdrlen = (hdrlen + 3) & 0xfc; + pushdown(bpp,0,hdrlen); + cp = (*bpp)->data; + memset(cp,0,hdrlen); + cp = put16(cp,tcph->source); + cp = put16(cp,tcph->dest); + cp = put32(cp,tcph->seq); + cp = put32(cp,tcph->ack); + *cp++ = hdrlen << 2; + *cp = 0; + if(tcph->flags.congest) + *cp |= 64; + if(tcph->flags.urg) + *cp |= 32; + if(tcph->flags.ack) + *cp |= 16; + if(tcph->flags.psh) + *cp |= 8; + if(tcph->flags.rst) + *cp |= 4; + if(tcph->flags.syn) + *cp |= 2; + if(tcph->flags.fin) + *cp |= 1; + cp++; + cp = put16(cp,tcph->wnd); + cp = put16(cp,tcph->checksum); + cp = put16(cp,tcph->up); + + + + + if (tcph->optlen > 0 && tcph->optlen <= 40 ) + + memcpy(cp,tcph->options,tcph->optlen); + else + { + if(tcph->flags.mss){ + *cp++ = 2; + *cp++ = 4; + cp = put16(cp,tcph->mss); + } + if(tcph->flags.tstamp){ + *cp++ = 8; + *cp++ = 10; + cp = put32(cp,tcph->tsval); + cp = put32(cp,tcph->tsecr); + } + if(tcph->flags.wscale){ + *cp++ = 3; + *cp++ = 3; + *cp++ = tcph->wsopt; + } + } + + + + if(tcph->checksum == 0){ + + struct pseudo_header ph; + + ph.source = ipsrc; + ph.dest = ipdest; + ph.protocol = 6 ; + ph.length = len_p(*bpp); + put16(&(*bpp)->data[16],cksum(&ph,*bpp,ph.length)); + } +} + +int +ntohtcp( +struct tcp *tcph, +struct mbuf **bpp +){ + + + + + int hdrlen,i,kind; + + + register int flags; + uint8 hdrbuf[20 ],*cp; + + + + + + + memset(tcph,0,sizeof(struct tcp)); + i = pullup(bpp,hdrbuf,20 ); + + + + + tcph->source = get16(&hdrbuf[0]); + tcph->dest = get16(&hdrbuf[2]); + tcph->seq = get32(&hdrbuf[4]); + tcph->ack = get32(&hdrbuf[8]); + hdrlen = (hdrbuf[12] & 0xf0) >> 2; + flags = hdrbuf[13]; + tcph->flags.congest = (flags & 64) ? 1 : 0; + tcph->flags.urg = (flags & 32) ? 1 : 0; + tcph->flags.ack = (flags & 16) ? 1 : 0; + tcph->flags.psh = (flags & 8) ? 1 : 0; + tcph->flags.rst = (flags & 4) ? 1 : 0; + tcph->flags.syn = (flags & 2) ? 1 : 0; + tcph->flags.fin = (flags & 1) ? 1 : 0; + tcph->wnd = get16(&hdrbuf[14]); + tcph->checksum = get16(&hdrbuf[16]); + tcph->up = get16(&hdrbuf[18]); + + + + tcph->optlen = hdrlen - 20 ; + + + if(i < 20 || hdrlen < 20 ) + return -1; + if(tcph->optlen == 0) + return (int)hdrlen; + + if(tcph->optlen > len_p(*bpp)){ + + return -1; + } + pullup(bpp,tcph->options,tcph->optlen); + + for(cp=tcph->options,i=tcph->optlen; i > 0;){ + int optlen; + + kind = *cp++; + i--; + + switch(kind){ + case 0: + return (int)hdrlen; + case 1: + continue; + } + + optlen = *cp++; + + + switch(kind){ + case 2: + if(optlen == 4){ + tcph->mss = get16(cp); + tcph->flags.mss = 1; + } + break; + case 3: + if(optlen == 3){ + tcph->wsopt = *cp; + tcph->flags.wscale = 1; + } + break; + case 8: + if(optlen == 10){ + tcph->tsval = get32(cp); + tcph->tsecr = get32(cp+4); + tcph->flags.tstamp = 1; + } + break; + } + optlen = ((2)>(optlen)?(2):(optlen)) ; + i -= optlen; + cp += optlen - 2; + } + + + return (int)hdrlen; +} diff --git a/src/nos/internet/tcpin.c b/src/nos/internet/tcpin.c index dd308ce6..2bd0f457 100644 --- a/src/nos/internet/tcpin.c +++ b/src/nos/internet/tcpin.c @@ -2,6 +2,8 @@ * the TCP specification. * * Copyright 1991 Phil Karn, KA9Q + * + * Dec 2003: RPB: changes for TCP "flat options" processing */ #include "global.h" #include "timer.h" @@ -77,12 +79,64 @@ int32 said /* Authenticated packet */ ph.dest = ip->dest; ph.protocol = ip->protocol; ph.length = length; +/*RPB*/ +/* Enable: outputs the checksum and the length of the received TCP packet */ +#if 0 +abyte('='); +ahexb((unsigned char)(*bpp)->data[16]); +ahexb((unsigned char)(*bpp)->data[17]); +abyte('='); +ahexw((unsigned int)length); +abyte('='); +{ + int i; + for (i = 0; i < length; i++) + ahexb((*bpp)->data[i]); +} +abyte('='); +#endif +/*RPB*/ +/*RPB*/ +/* Enable: outputs the complete TCP pseudo-header */ +#if 0 +ahexb(((unsigned char *)&ph.source)[0]); +ahexb(((unsigned char *)&ph.source)[1]); +ahexb(((unsigned char *)&ph.source)[2]); +ahexb(((unsigned char *)&ph.source)[3]); +ahexb(((unsigned char *)&ph.dest)[0]); +ahexb(((unsigned char *)&ph.dest)[1]); +ahexb(((unsigned char *)&ph.dest)[2]); +ahexb(((unsigned char *)&ph.dest)[3]); +ahexb((unsigned char)ph.protocol); +ahexw((unsigned int)ph.length); +abyte('='); +#endif +/*RPB*/ if(cksum(&ph,*bpp,length) != 0){ /* Checksum failed, ignore segment completely */ +/*RPB*/ +/* Enable: outputs the calculated checksum for this TCP packet */ +#if 1 +(*bpp)->data[16] = 0; +(*bpp)->data[17] = 0; +abyte('!'); +ahexw((unsigned int)cksum(&ph,*bpp,length)); +abyte('!'); +#endif +/*RPB*/ tcpInErrs++; free_p(bpp); return; } +/*RPB*/ +#if 0 +(*bpp)->data[16] = 0; +(*bpp)->data[17] = 0; +abyte('!'); +ahexw((unsigned int)cksum(&ph,*bpp,length)); +abyte('!'); +#endif +/*RPB*/ /* Form local copy of TCP header in host byte order */ if((hdrlen = ntohtcp(&seg,bpp)) < 0){ /* TCP header is too small */ @@ -527,6 +581,9 @@ struct ip *ip; /* Offending IP header */ seg->flags.mss = 0; seg->flags.wscale = 0; seg->flags.tstamp = 0; +/*RPB*/ + seg->optlen = 0; +/*RPB*/ seg->wnd = 0; seg->up = 0; seg->checksum = 0; /* force recomputation */ diff --git a/src/nos/internet/tcpin.i b/src/nos/internet/tcpin.i new file mode 100644 index 00000000..548f7222 --- /dev/null +++ b/src/nos/internet/tcpin.i @@ -0,0 +1,4037 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct tcp { + uint16 source; + uint16 dest; + int32 seq; + int32 ack; + uint16 wnd; + uint16 checksum; + uint16 up; + uint16 mss; + uint8 wsopt; + uint32 tsval; + uint32 tsecr; + struct { + unsigned int congest:1; + unsigned int urg:1; + unsigned int ack:1; + unsigned int psh:1; + unsigned int rst:1; + unsigned int syn:1; + unsigned int fin:1; + unsigned int mss:1; + unsigned int wscale:1; + unsigned int tstamp:1; + } flags; + + + + + + + + + + char optlen; + char options[40 ]; + +}; + + + + + + + + + + + +struct reseq { + struct reseq *next; + struct tcp seg; + struct mbuf *bp; + uint16 length; + char tos; +}; + +enum tcp_state { + TCP_CLOSED=1, + TCP_LISTEN, + TCP_SYN_SENT, + TCP_SYN_RECEIVED, + TCP_ESTABLISHED, + TCP_FINWAIT1, + TCP_FINWAIT2, + TCP_CLOSE_WAIT, + TCP_LAST_ACK, + TCP_CLOSING, + TCP_TIME_WAIT +}; + + +struct tcb { + struct tcb *next; + + struct connection conn; + + enum tcp_state state; + + char reason; + + + + + + + uint8 type; + uint8 code; + + + struct { + int32 una; + int32 nxt; + int32 ptr; + int32 wl1; + int32 wl2; + int32 wnd; + uint16 up; + uint8 wind_scale; + } snd; + int32 iss; + int32 resent; + int32 cwind; + int32 ssthresh; + int dupacks; + + + struct { + int32 nxt; + int32 wnd; + uint16 up; + uint8 wind_scale; + } rcv; + int32 last_ack_sent; + int32 ts_recent; + + int32 irs; + int32 rerecv; + int32 mss; + + int32 window; + int32 limit; + + void (*r_upcall)(struct tcb *tcb,int32 cnt); + + void (*t_upcall)(struct tcb *tcb,int32 cnt); + + void (*s_upcall)(struct tcb *tcb,int old,int new); + + struct { + unsigned int force:1; + unsigned int clone:1; + unsigned int retran:1; + unsigned int active:1; + unsigned int synack:1; + unsigned int rtt_run:1; + unsigned int congest:1; + int ts_ok:1; + int ws_ok:1; + } flags; + char tos; + int backoff; + + struct mbuf *rcvq; + struct mbuf *sndq; + int32 rcvcnt; + int32 sndcnt; + + + + + struct reseq *reseq; + struct timer timer; + int32 rtt_time; + int32 rttseq; + int32 rttack; + int32 srtt; + int32 mdev; + int32 rtt; + + int user; + + + int32 quench; + int32 unreach; + int32 timeouts; + int32 lastack; + int32 txbw; + int32 lastrx; + int32 rxbw; +}; + +struct tcp_rtt { + int32 addr; + int32 srtt; + int32 mdev; +}; +extern struct tcp_rtt Tcp_rtt[]; +extern int (*Kicklist[])(); + + +struct tcp_stat { + uint16 runt; + uint16 checksum; + uint16 conout; + uint16 conin; + uint16 resets; + uint16 bdcsts; +}; +extern struct mib_entry Tcp_mib[]; + + + + + + + + + + + + + + + + +extern struct tcb *Tcbs; +extern char *Tcpstates[]; +extern char *Tcpreasons[]; + + +extern int Tcp_tstamps; +extern int32 Tcp_irtt; +extern uint16 Tcp_limit; +extern uint16 Tcp_mss; +extern int Tcp_syndata; +extern int Tcp_trace; +extern uint16 Tcp_window; + +void st_tcp(struct tcb *tcb); + + +void htontcp(struct tcp *tcph,struct mbuf **data, + int32 ipsrc,int32 ipdest); +int ntohtcp(struct tcp *tcph,struct mbuf **bpp); + + +void reset(struct ip *ip,struct tcp *seg); +void send_syn(struct tcb *tcb); +void tcp_input(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast,int32 said); +void tcp_icmp(int32 icsource,int32 source,int32 dest, + uint8 type,uint8 code,struct mbuf **bpp); + + +void close_self(struct tcb *tcb,int reason); +struct tcb *create_tcb(struct connection *conn); +struct tcb *lookup_tcb(struct connection *conn); +void rtt_add(int32 addr,int32 rtt); +struct tcp_rtt *rtt_get(int32 addr); +int seq_ge(int32 x,int32 y); +int seq_gt(int32 x,int32 y); +int seq_le(int32 x,int32 y); +int seq_lt(int32 x,int32 y); +int seq_within(int32 x,int32 low,int32 high); +void settcpstate(struct tcb *tcb,enum tcp_state newstate); +void tcp_garbage(int red); + + +void tcp_output(struct tcb *tcb); + + +int32 backoff(int n); +void tcp_timeout(void *p); + + +int close_tcp(struct tcb *tcb); +int del_tcp(struct tcb *tcb); +int kick(int32 addr); +int kick_tcp(struct tcb *tcb); +struct tcb *open_tcp(struct socket *lsocket,struct socket *fsocket, + int mode,uint16 window, + void (*r_upcall)(struct tcb *tcb,int32 cnt), + void (*t_upcall)(struct tcb *tcb,int32 cnt), + void (*s_upcall)(struct tcb *tcb,int old,int new), + int tos,int user); +int32 recv_tcp(struct tcb *tcb,struct mbuf **bpp,int32 cnt); +void reset_all(void); +void reset_tcp(struct tcb *tcb); +long send_tcp(struct tcb *tcb,struct mbuf **bpp); +char *tcp_port(uint16 n); +int tcpval(struct tcb *tcb); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern struct mib_entry Icmp_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct icmp { + uint8 type; + uint8 code; + union icmp_args { + uint16 mtu; + int32 unused; + uint8 pointer; + int32 address; + struct { + uint16 id; + uint16 seq; + } echo; + } args; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int Icmp_trace; +extern int Icmp_echo; + + +extern char *Icmptypes[],*Unreach[],*Exceed[],*Redirect[],*Said_icmp[]; + +struct icmplink { + uint8 proto; + void (*funct)(int32,int32,int32,uint8,uint8,struct mbuf **); +}; +extern struct icmplink Icmplink[]; + + +void icmp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int icmp_output(struct ip *ip,struct mbuf *data,uint8 type,uint8 code, + union icmp_args *args); + + +void htonicmp(struct icmp *icmp,struct mbuf **data); +int ntohicmp(struct icmp *icmp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + +static void update(struct tcb *tcb,struct tcp *seg,uint16 length); +static void proc_syn(struct tcb *tcb,uint8 tos,struct tcp *seg); +static void add_reseq(struct tcb *tcb,uint8 tos,struct tcp *seg, + struct mbuf **bp,uint16 length); +static void get_reseq(struct tcb *tcb,uint8 *tos,struct tcp *seq, + struct mbuf **bp,uint16 *length); +static int trim(struct tcb *tcb,struct tcp *seg,struct mbuf **bpp, + uint16 *length); +static int in_window(struct tcb *tcb,int32 seq); + + + + + + +void +tcp_input( +struct iface *iface, +struct ip *ip, +struct mbuf **bpp, +int rxbroadcast, +int32 said +){ + struct tcb *ntcb; + register struct tcb *tcb; + struct tcp seg; + struct connection conn; + struct pseudo_header ph; + int hdrlen; + uint16 length; + int32 t; + + if(bpp == 0 || *bpp == 0) + return; + + Tcp_mib[10].value.integer++; + if(rxbroadcast){ + + + + free_p(bpp); + return; + } + length = ip->length - 20 - ip->optlen; + ph.source = ip->source; + ph.dest = ip->dest; + ph.protocol = ip->protocol; + ph.length = length; + + + + + + + + + if(cksum(&ph,*bpp,length) != 0){ + + + + +(*bpp)->data[16] = 0; +(*bpp)->data[17] = 0; +abyte('!'); +ahexw((unsigned int)cksum(&ph,*bpp,length)); +abyte('!'); + + + Tcp_mib[14].value.integer++; + free_p(bpp); + return; + } + + + + + + + + + + + if((hdrlen = ntohtcp(&seg,bpp)) < 0){ + + free_p(bpp); + return; + } + length -= hdrlen; + + + conn.local.address = ip->dest; + conn.local.port = seg.dest; + conn.remote.address = ip->source; + conn.remote.port = seg.source; + + if((tcb = lookup_tcb(&conn)) == 0){ + + if(!seg.flags.syn){ + free_p(bpp); + reset(ip,&seg); + return; + } + + + + conn.remote.address = 0; + conn.remote.port = 0; + if((tcb = lookup_tcb(&conn)) == 0){ + + conn.local.address = 0; + if((tcb = lookup_tcb(&conn)) == 0){ + + free_p(bpp); + reset(ip,&seg); + return; + } + } + + if(tcb->flags.clone){ + ntcb = (struct tcb *)mallocw(sizeof (struct tcb)); + ((*ntcb) = (*tcb)); + tcb = ntcb; + tcb->timer.arg = tcb; + + tcb->next = Tcbs; + Tcbs = tcb; + } + + tcb->conn.local.address = ip->dest; + tcb->conn.remote.address = ip->source; + tcb->conn.remote.port = seg.source; + } + tcb->flags.congest = ip->flags.congest; + + switch(tcb->state){ + case TCP_CLOSED: + free_p(bpp); + reset(ip,&seg); + return; + case TCP_LISTEN: + if(seg.flags.rst){ + free_p(bpp); + return; + } + if(seg.flags.ack){ + free_p(bpp); + reset(ip,&seg); + return; + } + if(seg.flags.syn){ + + + proc_syn(tcb,ip->tos,&seg); + send_syn(tcb); + settcpstate(tcb,TCP_SYN_RECEIVED); + if(length != 0 || seg.flags.fin) { + + break; + } + tcp_output(tcb); + } + free_p(bpp); + return; + case TCP_SYN_SENT: + if(seg.flags.ack){ + if(!seq_within(seg.ack,tcb->iss+1,tcb->snd.nxt)){ + free_p(bpp); + reset(ip,&seg); + return; + } + } + if(seg.flags.rst){ + if(seg.flags.ack){ + + + + close_self(tcb,1 ); + } + free_p(bpp); + return; + } + + + + + + + + + + if(seg.flags.syn){ + proc_syn(tcb,ip->tos,&seg); + if(seg.flags.ack){ + + + + update(tcb,&seg,length); + settcpstate(tcb,TCP_ESTABLISHED); + } else { + settcpstate(tcb,TCP_SYN_RECEIVED); + } + if(length != 0 || seg.flags.fin) { + break; + } + tcp_output(tcb); + } else { + free_p(bpp); + } + return; + } + + + + + + + if(trim(tcb,&seg,bpp,&length) == -1){ + + if(!seg.flags.rst){ + + + + if(tcb->state == TCP_SYN_RECEIVED) + tcb->snd.ptr = tcb->snd.una; + tcb->flags.force = 1; + tcp_output(tcb); + } + return; + } + + + + + + if(seg.seq != tcb->rcv.nxt + && (length != 0 || seg.flags.syn || seg.flags.fin)){ + add_reseq(tcb,ip->tos,&seg,bpp,length); + if(seg.flags.ack && !seg.flags.rst) + tcb->flags.force = 1; + seg.flags.syn = seg.flags.fin = 0; + length = 0; + } + + + + for(;;){ + + + + + + if(seg.flags.rst){ + if(tcb->state == TCP_SYN_RECEIVED + && !tcb->flags.clone && !tcb->flags.active){ + + + + settcpstate(tcb,TCP_LISTEN); + } else { + close_self(tcb,1 ); + } + free_p(bpp); + return; + } + + + + + + + + + + + if(seg.flags.syn){ + free_p(bpp); + reset(ip,&seg); + return; + } + + if(seg.flags.tstamp + && seq_within(tcb->last_ack_sent,seg.seq,seg.seq+length)) + tcb->ts_recent = seg.tsval; + + if(!seg.flags.ack){ + free_p(bpp); + return; + } + + switch(tcb->state){ + case TCP_SYN_RECEIVED: + if(seq_within(seg.ack,tcb->snd.una+1,tcb->snd.nxt)){ + update(tcb,&seg,length); + settcpstate(tcb,TCP_ESTABLISHED); + } else { + free_p(bpp); + reset(ip,&seg); + return; + } + break; + case TCP_ESTABLISHED: + case TCP_CLOSE_WAIT: + case TCP_FINWAIT2: + update(tcb,&seg,length); + break; + case TCP_FINWAIT1: + update(tcb,&seg,length); + if(tcb->sndcnt == 0){ + + settcpstate(tcb,TCP_FINWAIT2); + } + break; + case TCP_CLOSING: + update(tcb,&seg,length); + if(tcb->sndcnt == 0){ + + settcpstate(tcb,TCP_TIME_WAIT); + set_timer(&tcb->timer,30 *1000L); + start_timer(&tcb->timer); + } + break; + case TCP_LAST_ACK: + update(tcb,&seg,length); + if(tcb->sndcnt == 0){ + + close_self(tcb,0 ); + return; + } + break; + case TCP_TIME_WAIT: + start_timer(&tcb->timer); + break; + } + + + + + if(length != 0){ + switch(tcb->state){ + case TCP_SYN_RECEIVED: + case TCP_ESTABLISHED: + case TCP_FINWAIT1: + case TCP_FINWAIT2: + + t = msclock(); + if(t > tcb->lastrx){ + tcb->rxbw = 1000L*length / (t - tcb->lastrx); + tcb->lastrx = t; + } + append(&tcb->rcvq,bpp); + tcb->rcvcnt += length; + tcb->rcv.nxt += length; + tcb->rcv.wnd -= length; + tcb->flags.force = 1; + + if(tcb->r_upcall) + (*tcb->r_upcall)(tcb,tcb->rcvcnt); + break; + default: + + free_p(bpp); + break; + } + } + + if(seg.flags.fin){ + tcb->flags.force = 1; + + switch(tcb->state){ + case TCP_SYN_RECEIVED: + case TCP_ESTABLISHED: + tcb->rcv.nxt++; + settcpstate(tcb,TCP_CLOSE_WAIT); + break; + case TCP_FINWAIT1: + tcb->rcv.nxt++; + if(tcb->sndcnt == 0){ + + settcpstate(tcb,TCP_TIME_WAIT); + set_timer(&tcb->timer,30 *1000L); + start_timer(&tcb->timer); + } else { + settcpstate(tcb,TCP_CLOSING); + } + break; + case TCP_FINWAIT2: + tcb->rcv.nxt++; + settcpstate(tcb,TCP_TIME_WAIT); + set_timer(&tcb->timer,30 *1000L); + start_timer(&tcb->timer); + break; + case TCP_CLOSE_WAIT: + case TCP_CLOSING: + case TCP_LAST_ACK: + break; + case TCP_TIME_WAIT: + start_timer(&tcb->timer); + break; + } + + if(tcb->r_upcall) + (*tcb->r_upcall)(tcb,tcb->rcvcnt); + } + + + + while(tcb->reseq != 0 && seq_ge(tcb->rcv.nxt,tcb->reseq->seg.seq)){ + get_reseq(tcb,&ip->tos,&seg,bpp,&length); + if(trim(tcb,&seg,bpp,&length) == 0) + goto gotone; + + } + break; +gotone: ; + } + tcp_output(tcb); +} + + + + +void +tcp_icmp( +int32 icsource, +int32 source, +int32 dest, +uint8 type, +uint8 code, +struct mbuf **bpp +){ + struct tcp seg; + struct connection conn; + register struct tcb *tcb; + + + + + + ntohtcp(&seg,bpp); + conn.local.port = seg.source; + conn.remote.port = seg.dest; + conn.local.address = source; + conn.remote.address = dest; + if((tcb = lookup_tcb(&conn)) == 0) + return; + + + + + + if(!seq_within(seg.seq,tcb->snd.una,tcb->snd.nxt)) + return; + + + + + switch(type){ + case 3 : + case 11 : + tcb->type = type; + tcb->code = code; + tcb->unreach++; + break; + case 4 : + + + + tcb->ssthresh = tcb->cwind / 2; + tcb->ssthresh = ((tcb->ssthresh)>(tcb->mss)?(tcb->ssthresh):(tcb->mss)) ; + + tcb->cwind = tcb->mss; + tcb->quench++; + break; + } +} + + + + + + + +void +reset(ip,seg) +struct ip *ip; + struct tcp *seg; +{ + struct mbuf *hbp; + uint16 tmp; + + if(seg->flags.rst) + return; + + + tmp = seg->source; + seg->source = seg->dest; + seg->dest = tmp; + + if(seg->flags.ack){ + + + + + seg->flags.ack = 0; + seg->seq = seg->ack; + seg->ack = 0; + } else { + + + + seg->flags.ack = 1; + seg->ack = seg->seq; + seg->seq = 0; + if(seg->flags.syn) + seg->ack++; + } + + seg->flags.urg = 0; + seg->flags.psh = 0; + seg->flags.rst = 1; + seg->flags.syn = 0; + seg->flags.fin = 0; + seg->flags.mss = 0; + seg->flags.wscale = 0; + seg->flags.tstamp = 0; + + seg->optlen = 0; + + seg->wnd = 0; + seg->up = 0; + seg->checksum = 0; + + hbp = ambufw(70 ); + hbp->data += 70 ; + htontcp(seg,&hbp,ip->dest,ip->source); + + ip_send(ip->dest,ip->source,6 ,ip->tos,0,&hbp,len_p(hbp),0,0); + Tcp_mib[15].value.integer++; +} + + + + + + + +static void +update(tcb,seg,length) + struct tcb *tcb; + struct tcp *seg; +uint16 length; +{ + int32 acked; + int winupd = 0; + int32 swind; + long rtt; + int32 abserr; + + acked = 0; + if(seq_gt(seg->ack,tcb->snd.nxt)){ + tcb->flags.force = 1; + return; + } + + + + + + if(seq_gt(seg->seq,tcb->snd.wl1) || ((seg->seq == tcb->snd.wl1) + && seq_ge(seg->ack,tcb->snd.wl2))){ + if(seg->flags.syn || !tcb->flags.ws_ok) + swind = seg->wnd; + else + swind = seg->wnd << tcb->snd.wind_scale; + if(swind > tcb->snd.wnd){ + winupd = 1; + + + + + + if(tcb->snd.wnd == 0) + tcb->snd.ptr = tcb->snd.una; + } + + tcb->snd.wnd = swind; + tcb->snd.wl1 = seg->seq; + tcb->snd.wl2 = seg->ack; + } + + if(seq_lt(seg->ack,tcb->snd.una)) + return; + + if(seg->ack == tcb->snd.una){ + + if(tcb->sndcnt == 0 || winupd || length != 0 || seg->flags.syn || seg->flags.fin){ + + + + + + return; + } + + if(++tcb->dupacks == 3){ + + + + + + int32 ptrsave; + + + + + + tcb->ssthresh = tcb->cwind/2; + tcb->ssthresh = ((tcb->ssthresh)>(tcb->mss)?(tcb->ssthresh):(tcb->mss)) ; + + + + + ptrsave = tcb->snd.ptr; + tcb->snd.ptr = tcb->snd.una; + tcb->cwind = tcb->mss; + tcp_output(tcb); + tcb->snd.ptr = ptrsave; + + + + + + tcb->cwind = tcb->ssthresh + 3*tcb->mss; + } else if(tcb->dupacks > 3){ + + + + tcb->cwind += tcb->mss; + } + + + + + + + tcb->cwind = ((tcb->cwind)<(tcb->sndcnt)?(tcb->cwind):(tcb->sndcnt)) ; + tcb->cwind = ((tcb->cwind)>(tcb->mss)?(tcb->cwind):(tcb->mss)) ; + return; + } + + if(tcb->dupacks >= 3 && tcb->cwind > tcb->ssthresh){ + + + + + + tcb->cwind = tcb->ssthresh; + } + tcb->dupacks = 0; + acked = seg->ack - tcb->snd.una; + + + + + if(tcb->cwind < tcb->snd.wnd && !tcb->flags.retran){ + if(tcb->cwind < tcb->ssthresh){ + + tcb->cwind += ((acked)<(tcb->mss)?(acked):(tcb->mss)) ; + } else { + + tcb->cwind += ((long)tcb->mss * tcb->mss) / tcb->cwind; + } + + if(tcb->cwind > tcb->snd.wnd) + tcb->cwind = tcb->snd.wnd; + } + tcb->cwind = ((tcb->cwind)<(tcb->sndcnt)?(tcb->cwind):(tcb->sndcnt)) ; + tcb->cwind = ((tcb->cwind)>(tcb->mss)?(tcb->cwind):(tcb->mss)) ; + + + rtt = -1; + if(tcb->flags.ts_ok && seg->flags.tstamp){ + + rtt = msclock() - seg->tsecr; + } else if(tcb->flags.rtt_run && seq_ge(seg->ack,tcb->rttseq)){ + + + tcb->flags.rtt_run = 0; + if(!(tcb->flags.retran)){ + + + + rtt = msclock() - tcb->rtt_time; + } + } + if(rtt >= 0){ + tcb->rtt = rtt; + + abserr = (rtt > tcb->srtt) ? rtt - tcb->srtt : tcb->srtt - rtt; + + tcb->srtt = ((8 -1)*tcb->srtt + rtt + (8 /2)) >> 3 ; + tcb->mdev = ((4 -1)*tcb->mdev + abserr + (4 /2)) >> 2 ; + + rtt_add(tcb->conn.remote.address,rtt); + + tcb->backoff = 0; + + + if(rtt != 0) + tcb->txbw = 1000*(seg->ack - tcb->rttack)/rtt; + } + tcb->sndcnt -= acked; + tcb->snd.una = seg->ack; + + + if(!(tcb->flags.synack)){ + tcb->flags.synack = 1; + acked--; + } + + + + + + pullup(&tcb->sndq,0,(uint16)acked); + + + + + stop_timer(&tcb->timer); + if(tcb->snd.una != tcb->snd.nxt) + start_timer(&tcb->timer); + + + + + if(seq_lt(tcb->snd.ptr,tcb->snd.una)) + tcb->snd.ptr = tcb->snd.una; + + + + + + tcb->flags.retran = 0; + + + + + if(acked != 0 && tcb->t_upcall + && (tcb->state == TCP_ESTABLISHED || tcb->state == TCP_CLOSE_WAIT)){ + (*tcb->t_upcall)(tcb,tcb->window - tcb->sndcnt); + } +} + + + + + + + +static +int +in_window(tcb,seq) +struct tcb *tcb; +int32 seq; +{ + return seq_within(seq,tcb->rcv.nxt,(int32)(tcb->rcv.nxt+tcb->rcv.wnd-1)); +} + + + + + +static void +proc_syn(tcb,tos,seg) + struct tcb *tcb; +uint8 tos; +struct tcp *seg; +{ + uint16 mtu; + struct tcp_rtt *tp; + + tcb->flags.force = 1; + + + + + + + + if((((tos)>>5) & 0x7) > (((tcb->tos)>>5) & 0x7)) + tcb->tos = tos; + tcb->rcv.nxt = seg->seq + 1; + tcb->snd.wl1 = tcb->irs = seg->seq; + tcb->snd.wnd = seg->wnd; + if(seg->flags.mss) + tcb->mss = seg->mss; + if(seg->flags.wscale){ + tcb->snd.wind_scale = seg->wsopt; + tcb->rcv.wind_scale = 0 ; + tcb->flags.ws_ok = 1; + } + if(seg->flags.tstamp && Tcp_tstamps){ + tcb->flags.ts_ok = 1; + tcb->ts_recent = seg->tsval; + } + + + + if((mtu = ip_mtu(tcb->conn.remote.address)) != 0){ + + if(tcb->flags.ts_ok) + mtu -= (10 + 20 + 20 + 3) & ~3; + else + mtu -= 20 + 20 ; + tcb->cwind = tcb->mss = ((mtu)<(tcb->mss)?(mtu):(tcb->mss)) ; + } + + if((tp = rtt_get(tcb->conn.remote.address)) != 0){ + tcb->srtt = tp->srtt; + tcb->mdev = tp->mdev; + } +} + + + + +void +send_syn(tcb) + struct tcb *tcb; +{ + tcb->iss = ((int32)msclock() << 12) ; + tcb->rttseq = tcb->snd.wl2 = tcb->snd.una = tcb->iss; + tcb->snd.ptr = tcb->snd.nxt = tcb->rttseq; + tcb->sndcnt++; + tcb->flags.force = 1; +} + + + + +static void +add_reseq( +struct tcb *tcb, +uint8 tos, +struct tcp *seg, +struct mbuf **bpp, +uint16 length +){ + register struct reseq *rp,*rp1; + + + if((rp = (struct reseq *)malloc(sizeof (struct reseq))) == 0){ + + free_p(bpp); + return; + } + ((rp->seg) = (*seg)); + rp->tos = tos; + rp->bp = (*bpp); + *bpp = 0; + rp->length = length; + + + rp1 = tcb->reseq; + if(rp1 == 0 || seq_lt(seg->seq,rp1->seg.seq)){ + + + + rp->next = rp1; + tcb->reseq = rp; + } else { + + for(;;){ + if(rp1->next == 0 || seq_lt(seg->seq,rp1->next->seg.seq)){ + + rp->next = rp1->next; + rp1->next = rp; + break; + } + rp1 = rp1->next; + } + } +} + + + + +static void +get_reseq( + struct tcb *tcb, +uint8 *tos, +struct tcp *seg, +struct mbuf **bp, +uint16 *length +){ + register struct reseq *rp; + + if((rp = tcb->reseq) == 0) + return; + + tcb->reseq = rp->next; + + *tos = rp->tos; + ((*seg) = (rp->seg)); + *bp = rp->bp; + *length = rp->length; + free(rp); +} + + + + + + +static int +trim( + struct tcb *tcb, + struct tcp *seg, +struct mbuf **bpp, +uint16 *length +){ + long dupcnt,excess; + uint16 len; + char accept = 0; + + len = *length; + if(seg->flags.syn) + len++; + if(seg->flags.fin) + len++; + + + if(tcb->rcv.wnd == 0){ + + + + + if(len == 0 && seq_within(seg->seq,tcb->rcv.nxt,tcb->rcv.nxt+tcb->window)) + return 0; + return -1; + } + if(tcb->rcv.wnd > 0){ + + if(in_window(tcb,seg->seq)){ + accept++; + } else if(len != 0){ + if(in_window(tcb,(int32)(seg->seq+len-1)) || + seq_within(tcb->rcv.nxt,seg->seq,(int32)(seg->seq+len-1))){ + accept++; + } + } + } + if(!accept){ + tcb->rerecv += len; + free_p(bpp); + return -1; + } + if((dupcnt = tcb->rcv.nxt - seg->seq) > 0){ + tcb->rerecv += dupcnt; + + if(seg->flags.syn){ + + seg->flags.syn = 0; + seg->seq++; + dupcnt--; + } + if(dupcnt > 0){ + pullup(bpp,0,(uint16)dupcnt); + seg->seq += dupcnt; + *length -= dupcnt; + } + } + if((excess = seg->seq + *length - (tcb->rcv.nxt + tcb->rcv.wnd)) > 0){ + tcb->rerecv += excess; + + *length -= excess; + trim_mbuf(bpp,*length); + seg->flags.fin = 0; + } + return 0; +} + diff --git a/src/nos/internet/tcpout.i b/src/nos/internet/tcpout.i new file mode 100644 index 00000000..3b2c6621 --- /dev/null +++ b/src/nos/internet/tcpout.i @@ -0,0 +1,3104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct tcp { + uint16 source; + uint16 dest; + int32 seq; + int32 ack; + uint16 wnd; + uint16 checksum; + uint16 up; + uint16 mss; + uint8 wsopt; + uint32 tsval; + uint32 tsecr; + struct { + unsigned int congest:1; + unsigned int urg:1; + unsigned int ack:1; + unsigned int psh:1; + unsigned int rst:1; + unsigned int syn:1; + unsigned int fin:1; + unsigned int mss:1; + unsigned int wscale:1; + unsigned int tstamp:1; + } flags; + + + + + + + + + + char optlen; + char options[40 ]; + +}; + + + + + + + + + + + +struct reseq { + struct reseq *next; + struct tcp seg; + struct mbuf *bp; + uint16 length; + char tos; +}; + +enum tcp_state { + TCP_CLOSED=1, + TCP_LISTEN, + TCP_SYN_SENT, + TCP_SYN_RECEIVED, + TCP_ESTABLISHED, + TCP_FINWAIT1, + TCP_FINWAIT2, + TCP_CLOSE_WAIT, + TCP_LAST_ACK, + TCP_CLOSING, + TCP_TIME_WAIT +}; + + +struct tcb { + struct tcb *next; + + struct connection conn; + + enum tcp_state state; + + char reason; + + + + + + + uint8 type; + uint8 code; + + + struct { + int32 una; + int32 nxt; + int32 ptr; + int32 wl1; + int32 wl2; + int32 wnd; + uint16 up; + uint8 wind_scale; + } snd; + int32 iss; + int32 resent; + int32 cwind; + int32 ssthresh; + int dupacks; + + + struct { + int32 nxt; + int32 wnd; + uint16 up; + uint8 wind_scale; + } rcv; + int32 last_ack_sent; + int32 ts_recent; + + int32 irs; + int32 rerecv; + int32 mss; + + int32 window; + int32 limit; + + void (*r_upcall)(struct tcb *tcb,int32 cnt); + + void (*t_upcall)(struct tcb *tcb,int32 cnt); + + void (*s_upcall)(struct tcb *tcb,int old,int new); + + struct { + unsigned int force:1; + unsigned int clone:1; + unsigned int retran:1; + unsigned int active:1; + unsigned int synack:1; + unsigned int rtt_run:1; + unsigned int congest:1; + int ts_ok:1; + int ws_ok:1; + } flags; + char tos; + int backoff; + + struct mbuf *rcvq; + struct mbuf *sndq; + int32 rcvcnt; + int32 sndcnt; + + + + + struct reseq *reseq; + struct timer timer; + int32 rtt_time; + int32 rttseq; + int32 rttack; + int32 srtt; + int32 mdev; + int32 rtt; + + int user; + + + int32 quench; + int32 unreach; + int32 timeouts; + int32 lastack; + int32 txbw; + int32 lastrx; + int32 rxbw; +}; + +struct tcp_rtt { + int32 addr; + int32 srtt; + int32 mdev; +}; +extern struct tcp_rtt Tcp_rtt[]; +extern int (*Kicklist[])(); + + +struct tcp_stat { + uint16 runt; + uint16 checksum; + uint16 conout; + uint16 conin; + uint16 resets; + uint16 bdcsts; +}; +extern struct mib_entry Tcp_mib[]; + + + + + + + + + + + + + + + + +extern struct tcb *Tcbs; +extern char *Tcpstates[]; +extern char *Tcpreasons[]; + + +extern int Tcp_tstamps; +extern int32 Tcp_irtt; +extern uint16 Tcp_limit; +extern uint16 Tcp_mss; +extern int Tcp_syndata; +extern int Tcp_trace; +extern uint16 Tcp_window; + +void st_tcp(struct tcb *tcb); + + +void htontcp(struct tcp *tcph,struct mbuf **data, + int32 ipsrc,int32 ipdest); +int ntohtcp(struct tcp *tcph,struct mbuf **bpp); + + +void reset(struct ip *ip,struct tcp *seg); +void send_syn(struct tcb *tcb); +void tcp_input(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast,int32 said); +void tcp_icmp(int32 icsource,int32 source,int32 dest, + uint8 type,uint8 code,struct mbuf **bpp); + + +void close_self(struct tcb *tcb,int reason); +struct tcb *create_tcb(struct connection *conn); +struct tcb *lookup_tcb(struct connection *conn); +void rtt_add(int32 addr,int32 rtt); +struct tcp_rtt *rtt_get(int32 addr); +int seq_ge(int32 x,int32 y); +int seq_gt(int32 x,int32 y); +int seq_le(int32 x,int32 y); +int seq_lt(int32 x,int32 y); +int seq_within(int32 x,int32 low,int32 high); +void settcpstate(struct tcb *tcb,enum tcp_state newstate); +void tcp_garbage(int red); + + +void tcp_output(struct tcb *tcb); + + +int32 backoff(int n); +void tcp_timeout(void *p); + + +int close_tcp(struct tcb *tcb); +int del_tcp(struct tcb *tcb); +int kick(int32 addr); +int kick_tcp(struct tcb *tcb); +struct tcb *open_tcp(struct socket *lsocket,struct socket *fsocket, + int mode,uint16 window, + void (*r_upcall)(struct tcb *tcb,int32 cnt), + void (*t_upcall)(struct tcb *tcb,int32 cnt), + void (*s_upcall)(struct tcb *tcb,int old,int new), + int tos,int user); +int32 recv_tcp(struct tcb *tcb,struct mbuf **bpp,int32 cnt); +void reset_all(void); +void reset_tcp(struct tcb *tcb); +long send_tcp(struct tcb *tcb,struct mbuf **bpp); +char *tcp_port(uint16 n); +int tcpval(struct tcb *tcb); + + + + + + + +void +tcp_output(tcb) +register struct tcb *tcb; +{ + struct mbuf *dbp; + struct tcp seg; + uint16 ssize; + + uint16 dsize; + int32 usable; + int32 sent; + + int32 rto; + + if(tcb == 0) + return; + + switch(tcb->state){ + case TCP_LISTEN: + case TCP_CLOSED: + return; + } + for(;;){ + memset(&seg,0,sizeof(seg)); + + sent = tcb->snd.ptr - tcb->snd.una; + + + + + + + usable = ((tcb->snd.wnd)<(tcb->cwind)?(tcb->snd.wnd):(tcb->cwind)) ; + if(usable > sent) + usable -= sent; + else if(usable == 0 && sent == 0) + usable = 1; + else + usable = 0; + + + + + + ssize = ((tcb->sndcnt - sent)<(usable)?(tcb->sndcnt - sent):(usable)) ; + ssize = ((ssize)<(tcb->mss)?(ssize):(tcb->mss)) ; + + + + + + + + + if(!tcb->flags.force && sent != 0 && ssize < tcb->mss + && !(tcb->state == TCP_FINWAIT1 && ssize == tcb->sndcnt-sent)){ + ssize = 0; + } + + + + + if(!tcb->flags.synack && !Tcp_syndata){ + if(tcb->snd.ptr == tcb->iss) + ssize = ((1)<(ssize)?(1):(ssize)) ; + else + ssize = 0; + } + + + + + + if(tcb->flags.force && tcb->snd.ptr != tcb->snd.nxt) + ssize = 0; + if(ssize == 0 && !tcb->flags.force) + break; + + tcb->flags.force = 0; + + seg.source = tcb->conn.local.port; + seg.dest = tcb->conn.remote.port; + + + + + + + + seg.flags.ack = 1; + seg.flags.congest = tcb->flags.congest; + + if(tcb->state == TCP_SYN_SENT) + seg.flags.ack = 0; + + dsize = ssize; + if(!tcb->flags.synack && tcb->snd.ptr == tcb->iss){ + + seg.flags.syn = 1; + dsize--; + + seg.mss = Tcp_mss; + seg.flags.mss = 1; + seg.wsopt = 0 ; + seg.flags.wscale = 1; + if(Tcp_tstamps){ + seg.flags.tstamp = 1; + seg.tsval = msclock(); + } + } + + + + if(ssize == 0) + seg.seq = tcb->snd.nxt; + else + seg.seq = tcb->snd.ptr; + tcb->last_ack_sent = seg.ack = tcb->rcv.nxt; + if(seg.flags.syn || !tcb->flags.ws_ok) + seg.wnd = tcb->rcv.wnd; + else + seg.wnd = tcb->rcv.wnd >> tcb->rcv.wind_scale; + + + + + + + dbp = ambufw(70 +dsize); + dbp->data += 70 ; + if(dsize != 0){ + int32 offset; + + + + + offset = sent; + if(!tcb->flags.synack && sent != 0) + offset--; + + dbp->cnt = extract(tcb->sndq,(uint16)offset,dbp->data,dsize); + if(dbp->cnt != dsize){ + + + + seg.flags.fin = 1; + dsize--; + } + } + + + + if(dsize != 0 && sent + ssize == tcb->sndcnt) + seg.flags.psh = 1; + + + + + + if(tcb->snd.ptr < tcb->snd.nxt) + + tcb->resent += min_uint(tcb->snd.nxt - tcb->snd.ptr,ssize); + + + + + tcb->snd.ptr += ssize; + + + + + if(seq_gt(tcb->snd.ptr,tcb->snd.nxt)) + tcb->snd.nxt = tcb->snd.ptr; + + if(tcb->flags.ts_ok && seg.flags.ack){ + seg.flags.tstamp = 1; + seg.tsval = msclock(); + seg.tsecr = tcb->ts_recent; + } + + htontcp(&seg,&dbp,tcb->conn.local.address, + tcb->conn.remote.address); + + + + + if(ssize != 0){ + + rto = backoff(tcb->backoff) * (4 * tcb->mdev + tcb->srtt); + set_timer(&tcb->timer,((500L )>(rto)?(500L ):(rto)) ); + if(!((&tcb->timer)->state == 1)) + start_timer(&tcb->timer); + + + if(tcb->flags.ts_ok || !tcb->flags.rtt_run){ + tcb->flags.rtt_run = 1; + tcb->rtt_time = msclock(); + tcb->rttseq = tcb->snd.ptr; + tcb->rttack = tcb->snd.una; + } + } + if(tcb->flags.retran) + Tcp_mib[12].value.integer++; + else + Tcp_mib[11].value.integer++; + + ip_send(tcb->conn.local.address,tcb->conn.remote.address, + 6 ,tcb->tos,0,&dbp,len_p(dbp),0,0); + } +} diff --git a/src/nos/internet/tcpsock.c b/src/nos/internet/tcpsock.c index 3d9ccc4a..830510aa 100644 --- a/src/nos/internet/tcpsock.c +++ b/src/nos/internet/tcpsock.c @@ -1,436 +1,475 @@ -/* tcpsock.c */ - -#include /* Nick */ -#include "global.h" -#include "tcp.h" -#include "socket.h" -#include "usock.h" - -static void s_trcall(struct tcb *tcb,int32 cnt); -static void s_tscall(struct tcb *tcb,int old,int new); -static void s_ttcall(struct tcb *tcb,int32 cnt); -static void trdiscard(struct tcb *tcb,int32 cnt); -static void autobind(struct usock *up); - -uint16 Lport = 1024; - -int -so_tcp(struct usock *up,int protocol) -{ - up->type = TYPE_TCP; - return 0; -} -int -so_tcp_listen(struct usock *up,int backlog) -{ - struct sockaddr_in *local; - struct socket lsock; - - if(up->name == NULL) - autobind(up); - - local = (struct sockaddr_in *)up->name; - lsock.address = local->sin_addr.s_addr; - lsock.port = local->sin_port; - up->cb.tcb = open_tcp(&lsock,NULL, - backlog ? TCP_SERVER:TCP_PASSIVE,0, - s_trcall,s_ttcall,s_tscall,up->tos,up->index); - return 0; -} -int -so_tcp_conn(struct usock *up) -{ - int s; - struct tcb *tcb; - struct socket lsock,fsock; - struct sockaddr_in *local,*remote; - - if(up->name == NULL){ - autobind(up); - } - - if(checkipaddr(up->peername,up->peernamelen) == -1){ - errno = EAFNOSUPPORT; - return -1; - } - s = up->index; - /* Construct the TCP-style ports from the sockaddr structs */ - local = (struct sockaddr_in *)up->name; - remote = (struct sockaddr_in *)up->peername; - - if(local->sin_addr.s_addr == INADDR_ANY) - /* Choose a local address */ - local->sin_addr.s_addr = locaddr(remote->sin_addr.s_addr); - - lsock.address = local->sin_addr.s_addr; - lsock.port = local->sin_port; - fsock.address = remote->sin_addr.s_addr; - fsock.port = remote->sin_port; - - /* Open the TCB in active mode */ - up->cb.tcb = open_tcp(&lsock,&fsock,TCP_ACTIVE,0, - s_trcall,s_ttcall,s_tscall,up->tos,s); - - /* Wait for the connection to complete */ - while((tcb = up->cb.tcb) != NULL && tcb->state != TCP_ESTABLISHED){ - if(up->noblock){ - errno = EWOULDBLOCK; - return -1; - } else if((errno = kwait(up)) != 0){ - return -1; - } - } - if(tcb == NULL){ - /* Probably got refused */ - FREE(up->peername); - errno = ECONNREFUSED; - return -1; - } - return 0; -} -int -so_tcp_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, - int *fromlen) -{ - long cnt; - struct tcb *tcb; - - while((tcb = up->cb.tcb) != NULL && tcb->r_upcall != trdiscard - && (cnt = recv_tcp(tcb,bpp,0)) == -1){ - if(up->noblock){ - errno = EWOULDBLOCK; - return -1; - } else if((errno = kwait(up)) != 0){ - return -1; - } - } - if(tcb == NULL){ - /* Connection went away */ - errno = ENOTCONN; - return -1; - } else if(tcb->r_upcall == trdiscard){ - /* Receive shutdown has been done */ - errno = ENOTCONN; /* CHANGE */ - return -1; - } - return cnt; -} -int -so_tcp_send(struct usock *up,struct mbuf **bpp,struct sockaddr *to) -{ - struct tcb *tcb; - long cnt; - - if((tcb = up->cb.tcb) == NULL){ - free_p(bpp); - errno = ENOTCONN; - return -1; - } - cnt = send_tcp(tcb,bpp); - - while((tcb = up->cb.tcb) != NULL && - tcb->sndcnt > tcb->window){ - /* Send queue is full */ - if(up->noblock){ - errno = EWOULDBLOCK; - return -1; - } else if((errno = kwait(up)) != 0){ - return -1; - } - } - if(tcb == NULL){ - errno = ENOTCONN; - return -1; - } - return cnt; -} -int -so_tcp_qlen(struct usock *up,int rtx) -{ - int len; - - switch(rtx){ - case 0: - len = up->cb.tcb->rcvcnt; - break; - case 1: - len = up->cb.tcb->sndcnt; - break; - } - return len; -} -int -so_tcp_kick(struct usock *up) -{ - kick_tcp(up->cb.tcb); - return 0; -} -int -so_tcp_shut(struct usock *up,int how) -{ - switch(how){ - case 0: /* No more receives -- replace upcall */ - up->cb.tcb->r_upcall = trdiscard; - break; - case 1: /* Send EOF */ - close_tcp(up->cb.tcb); - break; - case 2: /* Blow away TCB */ - reset_tcp(up->cb.tcb); - up->cb.tcb = NULL; - break; - } - return 0; -} -int -so_tcp_close(struct usock *up) -{ - if(up->cb.tcb != NULL){ /* In case it's been reset */ - up->cb.tcb->r_upcall = trdiscard; - /* Tell the TCP_CLOSED upcall there's no more socket */ - up->cb.tcb->user = -1; - close_tcp(up->cb.tcb); - } - return 0; -} -/* TCP receive upcall routine */ -static void -s_trcall(struct tcb *tcb,int32 cnt) -{ - /* Wake up anybody waiting for data, and let them run */ - ksignal(itop(tcb->user),1); - kwait(NULL); -} -/* TCP transmit upcall routine */ -static void -s_ttcall(struct tcb *tcb,int32 cnt) -{ - /* Wake up anybody waiting to send data, and let them run */ - ksignal(itop(tcb->user),1); - kwait(NULL); -} -/* TCP state change upcall routine */ -static void -s_tscall(struct tcb *tcb,int old,int new) -{ - int s,ns; - struct usock *up,*nup,*oup; - union sp sp; - - s = tcb->user; - oup = up = itop(s); - - switch(new){ - case TCP_CLOSED: - /* Clean up. If the user has already closed the socket, - * then up will be null (s was set to -1 by the close routine). - * If not, then this is an abnormal close (e.g., a reset) - * and clearing out the pointer in the socket structure will - * prevent any further operations on what will be a freed - * control block. Also wake up anybody waiting on events - * related to this tcb so they will notice it disappearing. - */ - if(up != NULL){ - up->cb.tcb = NULL; - up->errcodes[0] = tcb->reason; - up->errcodes[1] = tcb->type; - up->errcodes[2] = tcb->code; - ksignal(up,0); /* Wake up anybody waiting */ - } - del_tcp(tcb); - break; - case TCP_SYN_RECEIVED: - /* Handle an incoming connection. If this is a server TCB, - * then we're being handed a "clone" TCB and we need to - * create a new socket structure for it. In either case, - * find out who we're talking to and wake up the guy waiting - * for the connection. - */ - if(tcb->flags.clone){ - /* Clone the socket */ - ns = socket(AF_INET,SOCK_STREAM,0); - nup = itop(ns); - ASSIGN(*nup,*up); - tcb->user = ns; - nup->cb.tcb = tcb; - /* Allocate new memory for the name areas */ - nup->name = mallocw(SOCKSIZE); - nup->peername = mallocw(SOCKSIZE); - nup->index = ns; - /* Store the new socket # in the old one */ - up->rdysock = ns; - up = nup; - s = ns; - } else { - /* Allocate space for the peer's name */ - up->peername = mallocw(SOCKSIZE); - /* Store the old socket # in the old socket */ - up->rdysock = s; - } - /* Load the addresses. Memory for the name has already - * been allocated, either above or in the original bind. - */ - sp.sa = up->name; - sp.in->sin_family = AF_INET; - sp.in->sin_addr.s_addr = up->cb.tcb->conn.local.address; - sp.in->sin_port = up->cb.tcb->conn.local.port; - up->namelen = SOCKSIZE; - - sp.sa = up->peername; - sp.in->sin_family = AF_INET; - sp.in->sin_addr.s_addr = up->cb.tcb->conn.remote.address; - sp.in->sin_port = up->cb.tcb->conn.remote.port; - up->peernamelen = SOCKSIZE; - - /* Wake up the guy accepting it, and let him run */ - ksignal(oup,1); - kwait(NULL); - break; - default: /* Ignore all other state transitions */ - break; - } - ksignal(up,0); /* In case anybody's waiting */ -} -/* Discard data received on a TCP connection. Used after a receive shutdown or - * close_s until the TCB disappears. - */ -static void -trdiscard(struct tcb *tcb,int32 cnt) -{ - struct mbuf *bp; - - recv_tcp(tcb,&bp,cnt); - free_p(&bp); -} - -/* Issue an automatic bind of a local address */ -static void -autobind(struct usock *up) -{ - struct sockaddr_in local; - - local.sin_family = AF_INET; - local.sin_addr.s_addr = INADDR_ANY; - local.sin_port = Lport++; - bind(up->index,(struct sockaddr *)&local,sizeof(struct sockaddr_in)); -} -char * -tcpstate(struct usock *up) -{ - if(up->cb.tcb == NULL) - return NULL; - return Tcpstates[up->cb.tcb->state]; -} -int -so_tcp_stat(struct usock *up) -{ - st_tcp(up->cb.tcb); - return 0; -} - -struct inet { - struct inet *next; - struct tcb *tcb; - char *name; - int stack; - void (*task)(int,void *,void *); -}; -#define NULLINET (struct inet *)0 -struct inet *Inet_list; - -static void i_upcall(struct tcb *tcb,int oldstate,int newstate); - - -/* Start a TCP server. Create TCB in listen state and post upcall for - * when a connection comes in - */ -int -start_tcp(uint16 port,char *name,void (*task)(int,void *,void *),int stack) -{ - struct inet *in; - struct socket lsocket; - - in = (struct inet *)calloc(1,sizeof(struct inet)); - lsocket.address = INADDR_ANY; - lsocket.port = port; - in->tcb = open_tcp(&lsocket,NULL,TCP_SERVER,0,NULL,NULL,i_upcall,0,-1); - if(in->tcb == NULL){ - free(in); - return -1; - } - in->stack = stack; - in->task = task; - in->name = strdupw(name); - in->next = Inet_list; - Inet_list = in; - return 0; -} - -/* State change upcall that takes incoming TCP connections */ -static void -i_upcall(struct tcb *tcb,int oldstate,int newstate) -{ - struct inet *in; - struct sockaddr_in sock; - struct usock *up; - int s; - - if(oldstate != TCP_LISTEN) - return; /* "can't happen" */ - if(newstate == TCP_CLOSED){ - /* Called when server is shut down */ - del_tcp(tcb); - return; - } - for(in = Inet_list;in != NULLINET;in = in->next) - if(in->tcb->conn.local.port == tcb->conn.local.port) - break; - if(in == NULLINET) - return; /* not in table - "can't happen" */ - - /* Create a socket, hook it up with the TCB */ - s = socket(AF_INET,SOCK_STREAM,0); - up = itop(s); - sock.sin_family = AF_INET; - sock.sin_addr.s_addr = tcb->conn.local.address; - sock.sin_port = tcb->conn.local.port; - bind(s,(struct sockaddr *)&sock,SOCKSIZE); - - sock.sin_addr.s_addr = tcb->conn.remote.address; - sock.sin_port = tcb->conn.remote.port; - up->peernamelen = SOCKSIZE; - up->peername = mallocw(up->peernamelen); - memcpy(up->peername,&sock,SOCKSIZE); - up->cb.tcb = tcb; - tcb->user = s; - - /* Set the normal upcalls */ - tcb->r_upcall = s_trcall; - tcb->t_upcall = s_ttcall; - tcb->s_upcall = s_tscall; - - /* And spawn the server task */ - newproc(in->name,in->stack,in->task,s,NULL,NULL,0); -} -/* Close down a TCP server created earlier by inet_start */ -int -stop_tcp(uint16 port) -{ - struct inet *in,*inprev; - - inprev = NULLINET; - for(in = Inet_list;in != NULLINET;inprev=in,in = in->next) - if(in->tcb->conn.local.port == port) - break; - if(in == NULLINET) - return -1; - close_tcp(in->tcb); - free(in->name); - if(inprev != NULLINET) - inprev->next = in->next; - else - Inet_list = in->next; - free(in); - return 0; -} - +/* tcpsock.c */ + +#include /* Nick */ +#include "global.h" +#include "tcp.h" +#include "socket.h" +#include "usock.h" + +static void s_trcall(struct tcb *tcb,int32 cnt); +static void s_tscall(struct tcb *tcb,int old,int new); +static void s_ttcall(struct tcb *tcb,int32 cnt); +static void trdiscard(struct tcb *tcb,int32 cnt); +static void autobind(struct usock *up); + +uint16 Lport = 1024; + +int +so_tcp(struct usock *up,int protocol) +{ + up->type = TYPE_TCP; + return 0; +} +int +so_tcp_listen(struct usock *up,int backlog) +{ + struct sockaddr_in *local; + struct socket lsock; + + if(up->name == NULL) + autobind(up); + + local = (struct sockaddr_in *)up->name; + lsock.address = local->sin_addr.s_addr; + lsock.port = local->sin_port; + up->cb.tcb = open_tcp(&lsock,NULL, + backlog ? TCP_SERVER:TCP_PASSIVE,0, + s_trcall,s_ttcall,s_tscall,up->tos,up->index); + return 0; +} +int +so_tcp_conn(struct usock *up) +{ + int s; + struct tcb *tcb; + struct socket lsock,fsock; + struct sockaddr_in *local,*remote; + + if(up->name == NULL){ + autobind(up); + } + + if(checkipaddr(up->peername,up->peernamelen) == -1){ + errno = EAFNOSUPPORT; + return -1; + } + s = up->index; + /* Construct the TCP-style ports from the sockaddr structs */ + local = (struct sockaddr_in *)up->name; + remote = (struct sockaddr_in *)up->peername; + + if(local->sin_addr.s_addr == INADDR_ANY) + /* Choose a local address */ + local->sin_addr.s_addr = locaddr(remote->sin_addr.s_addr); + + lsock.address = local->sin_addr.s_addr; + lsock.port = local->sin_port; + fsock.address = remote->sin_addr.s_addr; + fsock.port = remote->sin_port; + + /* Open the TCB in active mode */ + up->cb.tcb = open_tcp(&lsock,&fsock,TCP_ACTIVE,0, + s_trcall,s_ttcall,s_tscall,up->tos,s); + + /* Wait for the connection to complete */ + while((tcb = up->cb.tcb) != NULL && tcb->state != TCP_ESTABLISHED){ + if(up->noblock){ + errno = EWOULDBLOCK; + return -1; + } else if((errno = kwait(up)) != 0){ + return -1; + } + } + if(tcb == NULL){ + /* Probably got refused */ + FREE(up->peername); + errno = ECONNREFUSED; + return -1; + } + return 0; +} +int +so_tcp_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen) +{ + long cnt; + struct tcb *tcb; + + while((tcb = up->cb.tcb) != NULL && tcb->r_upcall != trdiscard + && (cnt = recv_tcp(tcb,bpp,0)) == -1){ + if(up->noblock){ + errno = EWOULDBLOCK; + return -1; + } else if((errno = kwait(up)) != 0){ + return -1; + } + } + if(tcb == NULL){ + /* Connection went away */ + errno = ENOTCONN; + return -1; + } else if(tcb->r_upcall == trdiscard){ + /* Receive shutdown has been done */ + errno = ENOTCONN; /* CHANGE */ + return -1; + } + return cnt; +} +int +so_tcp_send(struct usock *up,struct mbuf **bpp,struct sockaddr *to) +{ + struct tcb *tcb; + long cnt; + + if((tcb = up->cb.tcb) == NULL){ + free_p(bpp); + errno = ENOTCONN; + return -1; + } + cnt = send_tcp(tcb,bpp); + + while((tcb = up->cb.tcb) != NULL && + tcb->sndcnt > tcb->window){ + /* Send queue is full */ + if(up->noblock){ + errno = EWOULDBLOCK; + return -1; + } else if((errno = kwait(up)) != 0){ + return -1; + } + } + if(tcb == NULL){ + errno = ENOTCONN; + return -1; + } + return cnt; +} +int +so_tcp_qlen(struct usock *up,int rtx) +{ + int len; + + switch(rtx){ + case 0: + len = up->cb.tcb->rcvcnt; + break; + case 1: + len = up->cb.tcb->sndcnt; + break; + } + return len; +} +int +so_tcp_kick(struct usock *up) +{ + kick_tcp(up->cb.tcb); + return 0; +} +int +so_tcp_shut(struct usock *up,int how) +{ + switch(how){ + case 0: /* No more receives -- replace upcall */ + up->cb.tcb->r_upcall = trdiscard; + break; + case 1: /* Send EOF */ + close_tcp(up->cb.tcb); + break; + case 2: /* Blow away TCB */ + reset_tcp(up->cb.tcb); + up->cb.tcb = NULL; + break; + } + return 0; +} +int +so_tcp_close(struct usock *up) +{ + if(up->cb.tcb != NULL){ /* In case it's been reset */ + up->cb.tcb->r_upcall = trdiscard; + /* Tell the TCP_CLOSED upcall there's no more socket */ + up->cb.tcb->user = -1; + close_tcp(up->cb.tcb); + } + return 0; +} +/* TCP receive upcall routine */ +static void +s_trcall(struct tcb *tcb,int32 cnt) +{ + /* Wake up anybody waiting for data, and let them run */ + ksignal(itop(tcb->user),1); + kwait(NULL); +} +/* TCP transmit upcall routine */ +static void +s_ttcall(struct tcb *tcb,int32 cnt) +{ + /* Wake up anybody waiting to send data, and let them run */ + ksignal(itop(tcb->user),1); + kwait(NULL); +} +/* TCP state change upcall routine */ +static void +s_tscall(struct tcb *tcb,int old,int new) +{ + int s,ns; + struct usock *up,*nup,*oup; + union sp sp; + + s = tcb->user; + oup = up = itop(s); + + switch(new){ + case TCP_CLOSED: + /* Clean up. If the user has already closed the socket, + * then up will be null (s was set to -1 by the close routine). + * If not, then this is an abnormal close (e.g., a reset) + * and clearing out the pointer in the socket structure will + * prevent any further operations on what will be a freed + * control block. Also wake up anybody waiting on events + * related to this tcb so they will notice it disappearing. + */ + if(up != NULL){ + up->cb.tcb = NULL; + up->errcodes[0] = tcb->reason; + up->errcodes[1] = tcb->type; + up->errcodes[2] = tcb->code; + ksignal(up,0); /* Wake up anybody waiting */ + } + del_tcp(tcb); + break; + case TCP_SYN_RECEIVED: + /* Handle an incoming connection. If this is a server TCB, + * then we're being handed a "clone" TCB and we need to + * create a new socket structure for it. In either case, + * find out who we're talking to and wake up the guy waiting + * for the connection. + */ + if(tcb->flags.clone){ + /* Clone the socket */ + ns = socket(AF_INET,SOCK_STREAM,0); + nup = itop(ns); + ASSIGN(*nup,*up); + tcb->user = ns; + nup->cb.tcb = tcb; + /* Allocate new memory for the name areas */ + nup->name = mallocw(SOCKSIZE); + nup->peername = mallocw(SOCKSIZE); + nup->index = ns; + /* Store the new socket # in the old one */ + up->rdysock = ns; + up = nup; + s = ns; + } else { + /* Allocate space for the peer's name */ + up->peername = mallocw(SOCKSIZE); + /* Store the old socket # in the old socket */ + up->rdysock = s; + } + /* Load the addresses. Memory for the name has already + * been allocated, either above or in the original bind. + */ + sp.sa = up->name; + sp.in->sin_family = AF_INET; + sp.in->sin_addr.s_addr = up->cb.tcb->conn.local.address; + sp.in->sin_port = up->cb.tcb->conn.local.port; + up->namelen = SOCKSIZE; + + sp.sa = up->peername; + sp.in->sin_family = AF_INET; + sp.in->sin_addr.s_addr = up->cb.tcb->conn.remote.address; + sp.in->sin_port = up->cb.tcb->conn.remote.port; + up->peernamelen = SOCKSIZE; + + /* Wake up the guy accepting it, and let him run */ + ksignal(oup,1); + kwait(NULL); + break; + default: /* Ignore all other state transitions */ + break; + } + ksignal(up,0); /* In case anybody's waiting */ +} +/* Discard data received on a TCP connection. Used after a receive shutdown or + * close_s until the TCB disappears. + */ +static void +trdiscard(struct tcb *tcb,int32 cnt) +{ + struct mbuf *bp; + + recv_tcp(tcb,&bp,cnt); + free_p(&bp); +} + +/* Issue an automatic bind of a local address */ +static void +autobind(struct usock *up) +{ + struct sockaddr_in local; + + local.sin_family = AF_INET; + local.sin_addr.s_addr = INADDR_ANY; + local.sin_port = Lport++; + bind(up->index,(struct sockaddr *)&local,sizeof(struct sockaddr_in)); +} +char * +tcpstate(struct usock *up) +{ + if(up->cb.tcb == NULL) + return NULL; + return Tcpstates[up->cb.tcb->state]; +} +int +so_tcp_stat(struct usock *up) +{ + st_tcp(up->cb.tcb); + return 0; +} + +struct inet { + struct inet *next; + struct tcb *tcb; + char *name; + int stack; + void (*task)(int,void *,void *); +}; +#define NULLINET (struct inet *)0 +struct inet *Inet_list; + +static void i_upcall(struct tcb *tcb,int oldstate,int newstate); + + +/* Start a TCP server. Create TCB in listen state and post upcall for + * when a connection comes in + */ +int +start_tcp(uint16 port,char *name,void (*task)(int,void *,void *),int stack) +{ + struct inet *in; + struct socket lsocket; + + in = (struct inet *)calloc(1,sizeof(struct inet)); +#if 1 /* Nick */ + if (in == NULL) + { + goto error; + } + in->name = strdup(name); + if (in->name == NULL) + { + goto error1; + } +#endif + lsocket.address = INADDR_ANY; + lsocket.port = port; + in->tcb = open_tcp(&lsocket,NULL,TCP_SERVER,0,NULL,NULL,i_upcall,0,-1); + if(in->tcb == NULL){ +#if 1 /* Nick */ + free(in->name); + error1: +#endif + free(in); +#if 1 /* Nick */ + error: +#endif + return -1; + } + in->stack = stack; + in->task = task; +#if 0 /* Nick */ + in->name = strdupw(name); +#endif + in->next = Inet_list; + Inet_list = in; + return 0; +} + +/* State change upcall that takes incoming TCP connections */ +static void +i_upcall(struct tcb *tcb,int oldstate,int newstate) +{ + struct inet *in; + struct sockaddr_in sock; + struct usock *up; + int s; + + if(oldstate != TCP_LISTEN) + return; /* "can't happen" */ + if(newstate == TCP_CLOSED){ + /* Called when server is shut down */ + del_tcp(tcb); + return; + } + for(in = Inet_list;in != NULLINET;in = in->next) + if(in->tcb->conn.local.port == tcb->conn.local.port) + break; + if(in == NULLINET) + return; /* not in table - "can't happen" */ + + /* Create a socket, hook it up with the TCB */ + s = socket(AF_INET,SOCK_STREAM,0); + up = itop(s); + sock.sin_family = AF_INET; + sock.sin_addr.s_addr = tcb->conn.local.address; + sock.sin_port = tcb->conn.local.port; + bind(s,(struct sockaddr *)&sock,SOCKSIZE); + + sock.sin_addr.s_addr = tcb->conn.remote.address; + sock.sin_port = tcb->conn.remote.port; +#if 0 /* Nick */ + up->peernamelen = SOCKSIZE; + up->peername = mallocw(up->peernamelen); + memcpy(up->peername,&sock,SOCKSIZE); +#endif + up->cb.tcb = tcb; + tcb->user = s; + + /* Set the normal upcalls */ + tcb->r_upcall = s_trcall; + tcb->t_upcall = s_ttcall; + tcb->s_upcall = s_tscall; + +#if 1 /* Nick */ + up->peername = malloc(SOCKSIZE); + if (up->peername == NULL) + { + goto error; + } + memcpy(up->peername,&sock,SOCKSIZE); + up->peernamelen = SOCKSIZE; + + /* And spawn the server task */ + if (newproc(in->name,in->stack,in->task,s,NULL,NULL,0) == NULL) + { + error: + close_s(s); + } +#else + /* And spawn the server task */ + newproc(in->name,in->stack,in->task,s,NULL,NULL,0); +#endif +} +/* Close down a TCP server created earlier by inet_start */ +int +stop_tcp(uint16 port) +{ + struct inet *in,*inprev; + + inprev = NULLINET; + for(in = Inet_list;in != NULLINET;inprev=in,in = in->next) + if(in->tcb->conn.local.port == port) + break; + if(in == NULLINET) + return -1; + close_tcp(in->tcb); + free(in->name); + if(inprev != NULLINET) + inprev->next = in->next; + else + Inet_list = in->next; + free(in); + return 0; +} + diff --git a/src/nos/internet/tcpsock.i b/src/nos/internet/tcpsock.i new file mode 100644 index 00000000..4eaaedb6 --- /dev/null +++ b/src/nos/internet/tcpsock.i @@ -0,0 +1,4782 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int sys_nerr; + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *strerror (int _errno); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct tcp { + uint16 source; + uint16 dest; + int32 seq; + int32 ack; + uint16 wnd; + uint16 checksum; + uint16 up; + uint16 mss; + uint8 wsopt; + uint32 tsval; + uint32 tsecr; + struct { + unsigned int congest:1; + unsigned int urg:1; + unsigned int ack:1; + unsigned int psh:1; + unsigned int rst:1; + unsigned int syn:1; + unsigned int fin:1; + unsigned int mss:1; + unsigned int wscale:1; + unsigned int tstamp:1; + } flags; + + + + + + + + + + char optlen; + char options[40 ]; + +}; + + + + + + + + + + + +struct reseq { + struct reseq *next; + struct tcp seg; + struct mbuf *bp; + uint16 length; + char tos; +}; + +enum tcp_state { + TCP_CLOSED=1, + TCP_LISTEN, + TCP_SYN_SENT, + TCP_SYN_RECEIVED, + TCP_ESTABLISHED, + TCP_FINWAIT1, + TCP_FINWAIT2, + TCP_CLOSE_WAIT, + TCP_LAST_ACK, + TCP_CLOSING, + TCP_TIME_WAIT +}; + + +struct tcb { + struct tcb *next; + + struct connection conn; + + enum tcp_state state; + + char reason; + + + + + + + uint8 type; + uint8 code; + + + struct { + int32 una; + int32 nxt; + int32 ptr; + int32 wl1; + int32 wl2; + int32 wnd; + uint16 up; + uint8 wind_scale; + } snd; + int32 iss; + int32 resent; + int32 cwind; + int32 ssthresh; + int dupacks; + + + struct { + int32 nxt; + int32 wnd; + uint16 up; + uint8 wind_scale; + } rcv; + int32 last_ack_sent; + int32 ts_recent; + + int32 irs; + int32 rerecv; + int32 mss; + + int32 window; + int32 limit; + + void (*r_upcall)(struct tcb *tcb,int32 cnt); + + void (*t_upcall)(struct tcb *tcb,int32 cnt); + + void (*s_upcall)(struct tcb *tcb,int old,int new); + + struct { + unsigned int force:1; + unsigned int clone:1; + unsigned int retran:1; + unsigned int active:1; + unsigned int synack:1; + unsigned int rtt_run:1; + unsigned int congest:1; + int ts_ok:1; + int ws_ok:1; + } flags; + char tos; + int backoff; + + struct mbuf *rcvq; + struct mbuf *sndq; + int32 rcvcnt; + int32 sndcnt; + + + + + struct reseq *reseq; + struct timer timer; + int32 rtt_time; + int32 rttseq; + int32 rttack; + int32 srtt; + int32 mdev; + int32 rtt; + + int user; + + + int32 quench; + int32 unreach; + int32 timeouts; + int32 lastack; + int32 txbw; + int32 lastrx; + int32 rxbw; +}; + +struct tcp_rtt { + int32 addr; + int32 srtt; + int32 mdev; +}; +extern struct tcp_rtt Tcp_rtt[]; +extern int (*Kicklist[])(); + + +struct tcp_stat { + uint16 runt; + uint16 checksum; + uint16 conout; + uint16 conin; + uint16 resets; + uint16 bdcsts; +}; +extern struct mib_entry Tcp_mib[]; + + + + + + + + + + + + + + + + +extern struct tcb *Tcbs; +extern char *Tcpstates[]; +extern char *Tcpreasons[]; + + +extern int Tcp_tstamps; +extern int32 Tcp_irtt; +extern uint16 Tcp_limit; +extern uint16 Tcp_mss; +extern int Tcp_syndata; +extern int Tcp_trace; +extern uint16 Tcp_window; + +void st_tcp(struct tcb *tcb); + + +void htontcp(struct tcp *tcph,struct mbuf **data, + int32 ipsrc,int32 ipdest); +int ntohtcp(struct tcp *tcph,struct mbuf **bpp); + + +void reset(struct ip *ip,struct tcp *seg); +void send_syn(struct tcb *tcb); +void tcp_input(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast,int32 said); +void tcp_icmp(int32 icsource,int32 source,int32 dest, + uint8 type,uint8 code,struct mbuf **bpp); + + +void close_self(struct tcb *tcb,int reason); +struct tcb *create_tcb(struct connection *conn); +struct tcb *lookup_tcb(struct connection *conn); +void rtt_add(int32 addr,int32 rtt); +struct tcp_rtt *rtt_get(int32 addr); +int seq_ge(int32 x,int32 y); +int seq_gt(int32 x,int32 y); +int seq_le(int32 x,int32 y); +int seq_lt(int32 x,int32 y); +int seq_within(int32 x,int32 low,int32 high); +void settcpstate(struct tcb *tcb,enum tcp_state newstate); +void tcp_garbage(int red); + + +void tcp_output(struct tcb *tcb); + + +int32 backoff(int n); +void tcp_timeout(void *p); + + +int close_tcp(struct tcb *tcb); +int del_tcp(struct tcb *tcb); +int kick(int32 addr); +int kick_tcp(struct tcb *tcb); +struct tcb *open_tcp(struct socket *lsocket,struct socket *fsocket, + int mode,uint16 window, + void (*r_upcall)(struct tcb *tcb,int32 cnt), + void (*t_upcall)(struct tcb *tcb,int32 cnt), + void (*s_upcall)(struct tcb *tcb,int old,int new), + int tos,int user); +int32 recv_tcp(struct tcb *tcb,struct mbuf **bpp,int32 cnt); +void reset_all(void); +void reset_tcp(struct tcb *tcb); +long send_tcp(struct tcb *tcb,struct mbuf **bpp); +char *tcp_port(uint16 n); +int tcpval(struct tcb *tcb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + + + + + + + +struct zentry { + uint16 code; + char data; +}; +struct zfast { + uint16 owncode; + uint16 code; + char data; +}; + + + +struct lzw { + uint16 codebits; + int maxbits; + + int32 prefix; + char mode; + + + union { + struct zentry **tbl; + + struct mbuf **bpp; + + void *p; + } tu; + int nextbit; + int version; + + int32 cnt; + int32 code; + int32 next; + int flushbit; + + struct mbuf *buf; +}; + +struct usock; +void lzwencode(int s,char c); +void lzwinit(int s,int bits,int mode); +void lzwfree(struct usock *up); +void lzwflush(struct usock *up); +int lzwdecode(struct usock *up); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern struct mib_entry Udp_mib[]; + + + + + + + + + +struct udp { + uint16 source; + uint16 dest; + uint16 length; + uint16 checksum; +}; + + + + + + +struct udp_cb { + struct udp_cb *next; + struct socket socket; + void (*r_upcall)(struct iface *iface,struct udp_cb *,int); + + struct mbuf *rcvq; + int rcvcnt; + int user; +}; +extern struct udp_cb *Udps; + + + + +int del_udp(struct udp_cb *up); +struct udp_cb *open_udp(struct socket *lsocket, + void (*r_upcall)(struct iface *iface,struct udp_cb *,int)); +int recv_udp(struct udp_cb *up,struct socket *fsocket,struct mbuf **bp); +int send_udp(struct socket *lsocket,struct socket *fsocket,char tos, + char ttl,struct mbuf **data,uint16 length,uint16 id,char df); +void udp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +void udp_garbage(int drastic); + + + + + + + + + + +int st_udp(struct udp_cb *udp,int n); + + +void htonudp(struct udp *udp,struct mbuf **data,struct pseudo_header *ph); +int ntohudp(struct udp *udp,struct mbuf **bpp); +uint16 udpcksum(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct ax25_cb { + struct ax25_cb *next; + + struct iface *iface; + + struct mbuf *txq; + struct mbuf *rxasm; + struct mbuf *rxq; + + uint8 local[7 ]; + uint8 remote[7 ]; + + struct { + unsigned int rejsent:1; + unsigned int remotebusy:1; + unsigned int rtt_run:1; + unsigned int retrans:1; + unsigned int clone:1; + } flags; + + uint8 reason; + + + + + uint8 response; + uint8 vs; + uint8 vr; + uint8 unack; + int maxframe; + uint16 paclen; + uint16 window; + enum { + V1=1, + V2 + } proto; + uint16 pthresh; + unsigned retries; + unsigned n2; + enum { + LAPB_DISCONNECTED=1, + LAPB_LISTEN, + LAPB_SETUP, + LAPB_DISCPENDING, + LAPB_CONNECTED, + LAPB_RECOVERY + } state; + struct timer t1; + struct timer t3; + int32 rtt_time; + int rtt_seq; + int32 srt; + int32 mdev; + + void (*r_upcall)(struct ax25_cb *,int); + void (*t_upcall)(struct ax25_cb *,int); + void (*s_upcall)(struct ax25_cb *,int,int); + + int user; + + int segremain; +}; + +struct axlink { + int pid; + void (*funct)(struct iface *,struct ax25_cb *,uint8 *, uint8 *, + struct mbuf **,int); +}; +extern struct axlink Axlink[]; + + + + + + +extern struct ax25_cb Ax25default,*Ax25_cb; +extern char *Ax25states[],*Axreasons[]; +extern int32 Axirtt,T3init,Blimit; +extern uint16 N2,Maxframe,Paclen,Pthresh,Axwindow,Axversion; + + +void st_ax25(struct ax25_cb *axp); + + +struct ax25_cb *cr_ax25(uint8 *addr); +void del_ax25(struct ax25_cb *axp); +struct ax25_cb *find_ax25(uint8 *); + + +int ax25val(struct ax25_cb *axp); +int disc_ax25(struct ax25_cb *axp); +int kick_ax25(struct ax25_cb *axp); +struct ax25_cb *open_ax25(struct iface *,uint8 *,uint8 *, + int,uint16, + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int,int), + int user); +struct mbuf *recv_ax25(struct ax25_cb *axp,uint16 cnt); +int reset_ax25(struct ax25_cb *axp); +int send_ax25(struct ax25_cb *axp,struct mbuf **bp,int pid); + + +void est_link(struct ax25_cb *axp); +void lapbstate(struct ax25_cb *axp,int s); +int lapb_input(struct ax25_cb *axp,int cmdrsp,struct mbuf **bp); +int lapb_output(struct ax25_cb *axp); +struct mbuf *segmenter(struct mbuf **bp,uint16 ssize); +int sendctl(struct ax25_cb *axp,int cmdrsp,int cmd); +int sendframe(struct ax25_cb *axp,int cmdrsp,int ctl,struct mbuf **data); +void axnl3(struct iface *iface,struct ax25_cb *axp,uint8 *src, + uint8 *dest,struct mbuf **bp,int mcast); + + +void pollthem(void *p); +void recover(void *p); + + +uint16 ftype(int control); +void lapb_garbage(int drastic); + + +void s_arcall(struct ax25_cb *axp,int cnt); +void s_ascall(struct ax25_cb *axp,int old,int new); +void s_atcall(struct ax25_cb *axp,int cnt); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct nr4hdr { + uint8 opcode ; + uint8 yourindex ; + uint8 yourid ; + + union { + + struct { + uint8 family ; + uint8 proto ; + } pid ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + uint8 user[7 ] ; + uint8 node[7 ] ; + } conreq ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + } conack ; + + struct { + uint8 txseq ; + uint8 rxseq ; + } info ; + + struct { + uint8 rxseq ; + } ack ; + + } u ; + +} ; + + + +struct nr4txbuf { + struct timer tretry ; + unsigned retries ; + struct mbuf *data ; +} ; + + + +struct nr4rxbuf { + uint8 occupied ; + struct mbuf *data ; +} ; + + +struct nr4_addr { + uint8 user[7 ]; + uint8 node[7 ]; +}; + +struct sockaddr_nr { + short nr_family; + struct nr4_addr nr_addr; +}; + + + +struct nr4cb { + unsigned mynum ; + unsigned myid ; + unsigned yournum ; + unsigned yourid ; + struct nr4_addr remote ; + struct nr4_addr local ; + + unsigned window ; + + + + long srtt ; + long mdev ; + unsigned blevel ; + unsigned txmax ; + + + + + + + + char clone ; + char choked ; + char qfull ; + + char naksent ; + + + + struct nr4txbuf *txbufs ; + uint8 nextosend ; + uint8 ackxpected ; + unsigned nbuffered ; + struct mbuf *txq ; + + + + struct nr4rxbuf *rxbufs ; + uint8 rxpected ; + uint8 rxpastwin ; + struct mbuf *rxq ; + + + + int state ; + + + + + + + int dreason ; + + + + + + + + + struct timer tchoke ; + struct timer tack ; + + struct timer tcd ; + unsigned cdtries ; + + void (*r_upcall)(struct nr4cb *,uint16); + + void (*t_upcall)(struct nr4cb *,uint16); + + void (*s_upcall)(struct nr4cb *,int,int); + + int user ; +} ; + + + +struct nr4circp { + uint8 cid ; + + struct nr4cb *ccb ; + +} ; + + + +extern struct nr4circp Nr4circuits[20 ] ; + + + +extern unsigned short Nr4window ; +extern long Nr4irtt ; +extern unsigned short Nr4retries ; +extern long Nr4acktime ; +extern char *Nr4states[] ; +extern char *Nr4reasons[] ; +extern unsigned short Nr4qlimit ; +extern long Nr4choketime ; +extern uint8 Nr4user[7 ]; + + + + +int ntohnr4(struct nr4hdr *, struct mbuf **); +struct mbuf *htonnr4(struct nr4hdr *); + + +void free_n4circ(struct nr4cb *); +struct nr4cb *get_n4circ(int, int); +int init_nr4window(struct nr4cb *, unsigned); +int nr4between(unsigned, unsigned, unsigned); +struct nr4cb *match_n4circ(int, int,uint8 *,uint8 *); +struct nr4cb *new_n4circ(void); +void nr4defaults(struct nr4cb *); +int nr4valcb(struct nr4cb *); +void nr_garbage(int red); + + +void nr4input(struct nr4hdr *hdr,struct mbuf **bp); +int nr4output(struct nr4cb *); +void nr4sbuf(struct nr4cb *, unsigned); +void nr4sframe(uint8 *, struct nr4hdr *, struct mbuf **); +void nr4state(struct nr4cb *, int); + + +void nr4ackit(void *); +void nr4cdtimeout(void *); +void nr4txtimeout(void *); +void nr4unchoke(void *); + + +void disc_nr4(struct nr4cb *); +int kick_nr4(struct nr4cb *); +struct nr4cb *open_nr4(struct nr4_addr *, struct nr4_addr *, int, + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,int,int),int); +struct mbuf *recv_nr4(struct nr4cb *, uint16); +void reset_nr4(struct nr4cb *); +int send_nr4(struct nr4cb *, struct mbuf **); + + +void nr4_state(struct nr4cb *, int, int); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct nr3hdr { + uint8 source[7 ] ; + uint8 dest[7 ] ; + unsigned ttl ; +} ; + + + +struct nr3dest { + uint8 dest[7 ] ; + char alias[7 ] ; + uint8 neighbor[7 ] ; + unsigned quality ; +} ; + + + +struct nriface { + struct iface *iface ; + char alias[7 ] ; + + unsigned quality ; +} ; + + +struct nrnbr_tab { + struct nrnbr_tab *next ; + struct nrnbr_tab *prev ; + uint8 call[7 ] ; + unsigned iface ; + + unsigned refcnt ; +} ; + + + + + + +struct nr_bind { + struct nr_bind *next ; + struct nr_bind *prev ; + unsigned quality ; + unsigned obsocnt ; + unsigned flags ; + + + struct nrnbr_tab *via ; +} ; + + + +struct nrroute_tab { + struct nrroute_tab *next ; + struct nrroute_tab *prev ; + char alias[7 ] ; + uint8 call[7 ] ; + unsigned num_routes ; + struct nr_bind *routes ; + +} ; + + +struct nrnf_tab { + struct nrnf_tab *next ; + struct nrnf_tab *prev ; + uint8 neighbor[7 ] ; + unsigned iface ; +} ; + + +struct raw_nr { + struct raw_nr *prev; + struct raw_nr *next; + + struct mbuf *rcvq; + uint8 protocol; +}; + + +extern struct nriface Nrifaces[10 ] ; + + +extern unsigned Nr_numiface ; + + +extern struct nrnbr_tab *Nrnbr_tab[17 ] ; + + +extern struct nrroute_tab *Nrroute_tab[17 ] ; + + +extern struct nrnf_tab *Nrnf_tab[17 ] ; + +extern uint8 Nr_nodebc[7 ]; + + + + + + + +extern unsigned Nr_nfmode ; + + +extern unsigned short Nr_ttl ; + + +extern unsigned Obso_init ; + + +extern unsigned Obso_minbc ; + + + +extern unsigned Nr_autofloor ; + + + + +extern int Nr_verbose ; + + + + + +extern unsigned Nr_maxroutes ; + + +extern struct iface *Nr_iface ; + + + + +void del_rnr(struct raw_nr *rpp); +uint8 *find_nralias(char *); +struct nrroute_tab *find_nrroute(uint8 *); +void nr_bcnodes(unsigned ifno); +void nr_nodercv(struct iface *iface,uint8 *source,struct mbuf **bpp); +int nr_nfadd(uint8 *, unsigned); +int nr_nfdrop(uint8 *, unsigned); +void nr_route(struct mbuf **bp,struct ax25_cb *iaxp); +int nr_routeadd(char *, uint8 *, unsigned, + unsigned, uint8 *, unsigned, unsigned); +int nr_routedrop(uint8 *, uint8 *, unsigned); +int nr_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +void nr_sendraw(uint8 *dest,unsigned family,unsigned proto, + struct mbuf **data); +void nr3output(uint8 *dest,struct mbuf **data); +uint16 nrhash(uint8 *s); +struct raw_nr *raw_nr(uint8); + + +void donrdump(struct nr4cb *cb); +int doroutedump(void); +int dorouteinfo(int argc,char *argv[],void *p); +int putalias(char *to, char *from,int complain); + + +struct mbuf *htonnr3(struct nr3hdr *); +struct mbuf *htonnrdest(struct nr3dest *); +int ntohnr3(struct nr3hdr *, struct mbuf **); +int ntohnrdest(struct nr3dest *ds,struct mbuf **bpp); + + + + + + + + +struct loc { + struct usock *peer; + struct mbuf *q; + int hiwat; + int flags; + +}; + + + + +union sp { + struct sockaddr *sa; + struct sockaddr_in *in; + struct sockaddr_ax *ax; + struct sockaddr_nr *nr; +}; +struct socklink { + int type; + int (*socket)(struct usock *,int); + int (*bind)(struct usock *); + int (*listen)(struct usock *,int); + int (*connect)(struct usock *); + int accept; + int (*recv)(struct usock *,struct mbuf **,struct sockaddr *,int *); + int (*send)(struct usock *,struct mbuf **,struct sockaddr *); + int (*qlen)(struct usock *,int); + int (*kick)(struct usock *); + int (*shut)(struct usock *,int); + int (*close)(struct usock *); + int (*check)(struct sockaddr *,int); + char **error; + char *(*state)(struct usock *); + int (*status)(struct usock *); + char *eol; +}; +extern struct socklink Socklink[]; +union cb { + struct tcb *tcb; + struct ax25_cb *ax25; + struct udp_cb *udp; + struct raw_ip *rip; + struct raw_nr *rnr; + struct nr4cb *nr4; + struct loc *local; + void *p; +}; + +struct usock { + unsigned strchr; + struct proc *owner; + int refcnt; + char noblock; + enum { + NOTUSED, + TYPE_TCP, + TYPE_UDP, + TYPE_AX25I, + TYPE_AX25UI, + TYPE_RAW, + TYPE_NETROML3, + TYPE_NETROML4, + TYPE_LOCAL_STREAM, + TYPE_LOCAL_DGRAM + } type; + struct socklink *sp; + int rdysock; + union cb cb; + struct sockaddr *name; + int namelen; + struct sockaddr *peername; + int peernamelen; + uint8 errcodes[4]; + uint8 tos; + int flag; +}; +extern char *(*Psock[])(struct sockaddr *); +extern char Badsocket[]; +extern char *Socktypes[]; +extern struct usock **Usock; +extern unsigned Nsock; +extern uint16 Lport; + +struct usock *itop(int s); +void st_garbage(int red); + + +int so_ax_sock(struct usock *up,int protocol); +int so_ax_bind(struct usock *up); +int so_ax_listen(struct usock *up,int backlog); +int so_ax_conn(struct usock *up); +int so_ax_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_ax_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_ax_qlen(struct usock *up,int rtx); +int so_ax_kick(struct usock *up); +int so_ax_shut(struct usock *up,int how); +int so_ax_close(struct usock *up); +int checkaxaddr(struct sockaddr *name,int namelen); +int so_axui_sock(struct usock *up,int protocol); +int so_axui_bind(struct usock *up); +int so_axui_conn(struct usock *up); +int so_axui_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_axui_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_axui_qlen(struct usock *up,int rtx); +int so_axui_shut(struct usock *up,int how); +int so_axui_close(struct usock *up); +char *axpsocket(struct sockaddr *p); +char *axstate(struct usock *up); +int so_ax_stat(struct usock *up); + + + +int so_ip_sock(struct usock *up,int protocol); +int so_ip_conn(struct usock *up); +int so_ip_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_ip_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_ip_qlen(struct usock *up,int rtx); +int so_ip_close(struct usock *up); +int checkipaddr(struct sockaddr *name,int namelen); +char *ippsocket(struct sockaddr *p); + + +int so_los(struct usock *up,int protocol); +int so_lod(struct usock *up,int protocol); +int so_lo_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_los_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_lod_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_lod_qlen(struct usock *up,int rtx); +int so_los_qlen(struct usock *up,int rtx); +int so_loc_shut(struct usock *up,int how); +int so_loc_close(struct usock *up); +char *lopsocket(struct sockaddr *p); +int so_loc_stat(struct usock *up); + + +int so_n3_sock(struct usock *up,int protocol); +int so_n4_sock(struct usock *up,int protocol); +int so_n4_listen(struct usock *up,int backlog); +int so_n3_conn(struct usock *up); +int so_n4_conn(struct usock *up); +int so_n3_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_n4_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_n3_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_n4_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_n3_qlen(struct usock *up,int rtx); +int so_n4_qlen(struct usock *up,int rtx); +int so_n4_kick(struct usock *up); +int so_n4_shut(struct usock *up,int how); +int so_n3_close(struct usock *up); +int so_n4_close(struct usock *up); +int checknraddr(struct sockaddr *name,int namelen); +char *nrpsocket(struct sockaddr *p); +char *nrstate(struct usock *up); +int so_n4_stat(struct usock *up); + + +int so_tcp(struct usock *up,int protocol); +int so_tcp_listen(struct usock *up,int backlog); +int so_tcp_conn(struct usock *up); +int so_tcp_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_tcp_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_tcp_qlen(struct usock *up,int rtx); +int so_tcp_kick(struct usock *up); +int so_tcp_shut(struct usock *up,int how); +int so_tcp_close(struct usock *up); +char *tcpstate(struct usock *up); +int so_tcp_stat(struct usock *up); + + +int so_udp(struct usock *up,int protocol); +int so_udp_bind(struct usock *up); +int so_udp_conn(struct usock *up); +int so_udp_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_udp_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_udp_qlen(struct usock *up,int rtx); +int so_udp_shut(struct usock *up,int how); +int so_udp_close(struct usock *up); +int so_udp_stat(struct usock *up); + + + +static void s_trcall(struct tcb *tcb,int32 cnt); +static void s_tscall(struct tcb *tcb,int old,int new); +static void s_ttcall(struct tcb *tcb,int32 cnt); +static void trdiscard(struct tcb *tcb,int32 cnt); +static void autobind(struct usock *up); + +uint16 Lport = 1024; + +int +so_tcp(struct usock *up,int protocol) +{ + up->type = TYPE_TCP; + return 0; +} +int +so_tcp_listen(struct usock *up,int backlog) +{ + struct sockaddr_in *local; + struct socket lsock; + + if(up->name == 0) + autobind(up); + + local = (struct sockaddr_in *)up->name; + lsock.address = local->sin_addr.s_addr; + lsock.port = local->sin_port; + up->cb.tcb = open_tcp(&lsock,0, + backlog ? 2 :0,0, + s_trcall,s_ttcall,s_tscall,up->tos,up->strchr); + return 0; +} +int +so_tcp_conn(struct usock *up) +{ + int s; + struct tcb *tcb; + struct socket lsock,fsock; + struct sockaddr_in *local,*remote; + + if(up->name == 0){ + autobind(up); + } + + if(checkipaddr(up->peername,up->peernamelen) == -1){ + (Curproc->p_errno) = 103; + return -1; + } + s = up->strchr; + + local = (struct sockaddr_in *)up->name; + remote = (struct sockaddr_in *)up->peername; + + if(local->sin_addr.s_addr == 0x0L) + + local->sin_addr.s_addr = locaddr(remote->sin_addr.s_addr); + + lsock.address = local->sin_addr.s_addr; + lsock.port = local->sin_port; + fsock.address = remote->sin_addr.s_addr; + fsock.port = remote->sin_port; + + + up->cb.tcb = open_tcp(&lsock,&fsock,1,0, + s_trcall,s_ttcall,s_tscall,up->tos,s); + + + while((tcb = up->cb.tcb) != 0 && tcb->state != TCP_ESTABLISHED){ + if(up->noblock){ + (Curproc->p_errno) = 100; + return -1; + } else if(((Curproc->p_errno) = kwait(up)) != 0){ + return -1; + } + } + if(tcb == 0){ + + {free(up->peername); up->peername = 0;}; + (Curproc->p_errno) = 109; + return -1; + } + return 0; +} +int +so_tcp_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen) +{ + long cnt; + struct tcb *tcb; + + while((tcb = up->cb.tcb) != 0 && tcb->r_upcall != trdiscard + && (cnt = recv_tcp(tcb,bpp,0)) == -1){ + if(up->noblock){ + (Curproc->p_errno) = 100; + return -1; + } else if(((Curproc->p_errno) = kwait(up)) != 0){ + return -1; + } + } + if(tcb == 0){ + + (Curproc->p_errno) = 101; + return -1; + } else if(tcb->r_upcall == trdiscard){ + + (Curproc->p_errno) = 101; + return -1; + } + return cnt; +} +int +so_tcp_send(struct usock *up,struct mbuf **bpp,struct sockaddr *to) +{ + struct tcb *tcb; + long cnt; + + if((tcb = up->cb.tcb) == 0){ + free_p(bpp); + (Curproc->p_errno) = 101; + return -1; + } + cnt = send_tcp(tcb,bpp); + + while((tcb = up->cb.tcb) != 0 && + tcb->sndcnt > tcb->window){ + + if(up->noblock){ + (Curproc->p_errno) = 100; + return -1; + } else if(((Curproc->p_errno) = kwait(up)) != 0){ + return -1; + } + } + if(tcb == 0){ + (Curproc->p_errno) = 101; + return -1; + } + return cnt; +} +int +so_tcp_qlen(struct usock *up,int rtx) +{ + int len; + + switch(rtx){ + case 0: + len = up->cb.tcb->rcvcnt; + break; + case 1: + len = up->cb.tcb->sndcnt; + break; + } + return len; +} +int +so_tcp_kick(struct usock *up) +{ + kick_tcp(up->cb.tcb); + return 0; +} +int +so_tcp_shut(struct usock *up,int how) +{ + switch(how){ + case 0: + up->cb.tcb->r_upcall = trdiscard; + break; + case 1: + close_tcp(up->cb.tcb); + break; + case 2: + reset_tcp(up->cb.tcb); + up->cb.tcb = 0; + break; + } + return 0; +} +int +so_tcp_close(struct usock *up) +{ + if(up->cb.tcb != 0){ + up->cb.tcb->r_upcall = trdiscard; + + up->cb.tcb->user = -1; + close_tcp(up->cb.tcb); + } + return 0; +} + +static void +s_trcall(struct tcb *tcb,int32 cnt) +{ + + ksignal(itop(tcb->user),1); + kwait(0); +} + +static void +s_ttcall(struct tcb *tcb,int32 cnt) +{ + + ksignal(itop(tcb->user),1); + kwait(0); +} + +static void +s_tscall(struct tcb *tcb,int old,int new) +{ + int s,ns; + struct usock *up,*nup,*oup; + union sp sp; + + s = tcb->user; + oup = up = itop(s); + + switch(new){ + case TCP_CLOSED: + + + + + + + + + if(up != 0){ + up->cb.tcb = 0; + up->errcodes[0] = tcb->reason; + up->errcodes[1] = tcb->type; + up->errcodes[2] = tcb->code; + ksignal(up,0); + } + del_tcp(tcb); + break; + case TCP_SYN_RECEIVED: + + + + + + + if(tcb->flags.clone){ + + ns = socket(0,0,0); + nup = itop(ns); + ((*nup) = (*up)); + tcb->user = ns; + nup->cb.tcb = tcb; + + nup->name = mallocw((sizeof(struct sockaddr))); + nup->peername = mallocw((sizeof(struct sockaddr))); + nup->strchr = ns; + + up->rdysock = ns; + up = nup; + s = ns; + } else { + + up->peername = mallocw((sizeof(struct sockaddr))); + + up->rdysock = s; + } + + + + sp.sa = up->name; + sp.in->sin_family = 0; + sp.in->sin_addr.s_addr = up->cb.tcb->conn.local.address; + sp.in->sin_port = up->cb.tcb->conn.local.port; + up->namelen = (sizeof(struct sockaddr)); + + sp.sa = up->peername; + sp.in->sin_family = 0; + sp.in->sin_addr.s_addr = up->cb.tcb->conn.remote.address; + sp.in->sin_port = up->cb.tcb->conn.remote.port; + up->peernamelen = (sizeof(struct sockaddr)); + + + ksignal(oup,1); + kwait(0); + break; + default: + break; + } + ksignal(up,0); +} + + + +static void +trdiscard(struct tcb *tcb,int32 cnt) +{ + struct mbuf *bp; + + recv_tcp(tcb,&bp,cnt); + free_p(&bp); +} + + +static void +autobind(struct usock *up) +{ + struct sockaddr_in local; + + local.sin_family = 0; + local.sin_addr.s_addr = 0x0L; + local.sin_port = Lport++; + bind(up->strchr,(struct sockaddr *)&local,sizeof(struct sockaddr_in)); +} +char * +tcpstate(struct usock *up) +{ + if(up->cb.tcb == 0) + return 0; + return Tcpstates[up->cb.tcb->state]; +} +int +so_tcp_stat(struct usock *up) +{ + st_tcp(up->cb.tcb); + return 0; +} + +struct inet { + struct inet *next; + struct tcb *tcb; + char *name; + int stack; + void (*task)(int,void *,void *); +}; + +struct inet *Inet_list; + +static void i_upcall(struct tcb *tcb,int oldstate,int newstate); + + + + + +int +start_tcp(uint16 port,char *name,void (*task)(int,void *,void *),int stack) +{ + struct inet *in; + struct socket lsocket; + + in = (struct inet *)calloc(1,sizeof(struct inet)); + + if (in == 0) + { + goto error; + } + in->name = strdup(name); + if (in->name == 0) + { + goto error1; + } + + lsocket.address = 0x0L; + lsocket.port = port; + in->tcb = open_tcp(&lsocket,0,2 ,0,0,0,i_upcall,0,-1); + if(in->tcb == 0){ + + free(in->name); + error1: + + free(in); + + error: + + return -1; + } + in->stack = stack; + in->task = task; + + + + in->next = Inet_list; + Inet_list = in; + return 0; +} + + +static void +i_upcall(struct tcb *tcb,int oldstate,int newstate) +{ + struct inet *in; + struct sockaddr_in sock; + struct usock *up; + int s; + + if(oldstate != TCP_LISTEN) + return; + if(newstate == TCP_CLOSED){ + + del_tcp(tcb); + return; + } + for(in = Inet_list;in != (struct inet *)0;in = in->next) + if(in->tcb->conn.local.port == tcb->conn.local.port) + break; + if(in == (struct inet *)0) + return; + + + s = socket(0,0,0); + up = itop(s); + sock.sin_family = 0; + sock.sin_addr.s_addr = tcb->conn.local.address; + sock.sin_port = tcb->conn.local.port; + bind(s,(struct sockaddr *)&sock,(sizeof(struct sockaddr))); + + sock.sin_addr.s_addr = tcb->conn.remote.address; + sock.sin_port = tcb->conn.remote.port; + + + + + + up->cb.tcb = tcb; + tcb->user = s; + + + tcb->r_upcall = s_trcall; + tcb->t_upcall = s_ttcall; + tcb->s_upcall = s_tscall; + + + up->peername = malloc((sizeof(struct sockaddr))); + if (up->peername == 0) + { + goto error; + } + memcpy(up->peername,&sock,(sizeof(struct sockaddr))); + up->peernamelen = (sizeof(struct sockaddr)); + + + if (newproc(in->name,in->stack,in->task,s,0,0,0) == 0) + { + error: + close_s(s); + } + + + + +} + +int +stop_tcp(uint16 port) +{ + struct inet *in,*inprev; + + inprev = (struct inet *)0; + for(in = Inet_list;in != (struct inet *)0;inprev=in,in = in->next) + if(in->tcb->conn.local.port == port) + break; + if(in == (struct inet *)0) + return -1; + close_tcp(in->tcb); + free(in->name); + if(inprev != (struct inet *)0) + inprev->next = in->next; + else + Inet_list = in->next; + free(in); + return 0; +} + diff --git a/src/nos/internet/tcpsubr.i b/src/nos/internet/tcpsubr.i new file mode 100644 index 00000000..52968257 --- /dev/null +++ b/src/nos/internet/tcpsubr.i @@ -0,0 +1,3215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct tcp { + uint16 source; + uint16 dest; + int32 seq; + int32 ack; + uint16 wnd; + uint16 checksum; + uint16 up; + uint16 mss; + uint8 wsopt; + uint32 tsval; + uint32 tsecr; + struct { + unsigned int congest:1; + unsigned int urg:1; + unsigned int ack:1; + unsigned int psh:1; + unsigned int rst:1; + unsigned int syn:1; + unsigned int fin:1; + unsigned int mss:1; + unsigned int wscale:1; + unsigned int tstamp:1; + } flags; + + + + + + + + + + char optlen; + char options[40 ]; + +}; + + + + + + + + + + + +struct reseq { + struct reseq *next; + struct tcp seg; + struct mbuf *bp; + uint16 length; + char tos; +}; + +enum tcp_state { + TCP_CLOSED=1, + TCP_LISTEN, + TCP_SYN_SENT, + TCP_SYN_RECEIVED, + TCP_ESTABLISHED, + TCP_FINWAIT1, + TCP_FINWAIT2, + TCP_CLOSE_WAIT, + TCP_LAST_ACK, + TCP_CLOSING, + TCP_TIME_WAIT +}; + + +struct tcb { + struct tcb *next; + + struct connection conn; + + enum tcp_state state; + + char reason; + + + + + + + uint8 type; + uint8 code; + + + struct { + int32 una; + int32 nxt; + int32 ptr; + int32 wl1; + int32 wl2; + int32 wnd; + uint16 up; + uint8 wind_scale; + } snd; + int32 iss; + int32 resent; + int32 cwind; + int32 ssthresh; + int dupacks; + + + struct { + int32 nxt; + int32 wnd; + uint16 up; + uint8 wind_scale; + } rcv; + int32 last_ack_sent; + int32 ts_recent; + + int32 irs; + int32 rerecv; + int32 mss; + + int32 window; + int32 limit; + + void (*r_upcall)(struct tcb *tcb,int32 cnt); + + void (*t_upcall)(struct tcb *tcb,int32 cnt); + + void (*s_upcall)(struct tcb *tcb,int old,int new); + + struct { + unsigned int force:1; + unsigned int clone:1; + unsigned int retran:1; + unsigned int active:1; + unsigned int synack:1; + unsigned int rtt_run:1; + unsigned int congest:1; + int ts_ok:1; + int ws_ok:1; + } flags; + char tos; + int backoff; + + struct mbuf *rcvq; + struct mbuf *sndq; + int32 rcvcnt; + int32 sndcnt; + + + + + struct reseq *reseq; + struct timer timer; + int32 rtt_time; + int32 rttseq; + int32 rttack; + int32 srtt; + int32 mdev; + int32 rtt; + + int user; + + + int32 quench; + int32 unreach; + int32 timeouts; + int32 lastack; + int32 txbw; + int32 lastrx; + int32 rxbw; +}; + +struct tcp_rtt { + int32 addr; + int32 srtt; + int32 mdev; +}; +extern struct tcp_rtt Tcp_rtt[]; +extern int (*Kicklist[])(); + + +struct tcp_stat { + uint16 runt; + uint16 checksum; + uint16 conout; + uint16 conin; + uint16 resets; + uint16 bdcsts; +}; +extern struct mib_entry Tcp_mib[]; + + + + + + + + + + + + + + + + +extern struct tcb *Tcbs; +extern char *Tcpstates[]; +extern char *Tcpreasons[]; + + +extern int Tcp_tstamps; +extern int32 Tcp_irtt; +extern uint16 Tcp_limit; +extern uint16 Tcp_mss; +extern int Tcp_syndata; +extern int Tcp_trace; +extern uint16 Tcp_window; + +void st_tcp(struct tcb *tcb); + + +void htontcp(struct tcp *tcph,struct mbuf **data, + int32 ipsrc,int32 ipdest); +int ntohtcp(struct tcp *tcph,struct mbuf **bpp); + + +void reset(struct ip *ip,struct tcp *seg); +void send_syn(struct tcb *tcb); +void tcp_input(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast,int32 said); +void tcp_icmp(int32 icsource,int32 source,int32 dest, + uint8 type,uint8 code,struct mbuf **bpp); + + +void close_self(struct tcb *tcb,int reason); +struct tcb *create_tcb(struct connection *conn); +struct tcb *lookup_tcb(struct connection *conn); +void rtt_add(int32 addr,int32 rtt); +struct tcp_rtt *rtt_get(int32 addr); +int seq_ge(int32 x,int32 y); +int seq_gt(int32 x,int32 y); +int seq_le(int32 x,int32 y); +int seq_lt(int32 x,int32 y); +int seq_within(int32 x,int32 low,int32 high); +void settcpstate(struct tcb *tcb,enum tcp_state newstate); +void tcp_garbage(int red); + + +void tcp_output(struct tcb *tcb); + + +int32 backoff(int n); +void tcp_timeout(void *p); + + +int close_tcp(struct tcb *tcb); +int del_tcp(struct tcb *tcb); +int kick(int32 addr); +int kick_tcp(struct tcb *tcb); +struct tcb *open_tcp(struct socket *lsocket,struct socket *fsocket, + int mode,uint16 window, + void (*r_upcall)(struct tcb *tcb,int32 cnt), + void (*t_upcall)(struct tcb *tcb,int32 cnt), + void (*s_upcall)(struct tcb *tcb,int old,int new), + int tos,int user); +int32 recv_tcp(struct tcb *tcb,struct mbuf **bpp,int32 cnt); +void reset_all(void); +void reset_tcp(struct tcb *tcb); +long send_tcp(struct tcb *tcb,struct mbuf **bpp); +char *tcp_port(uint16 n); +int tcpval(struct tcb *tcb); + + + + + + + + + +char *Tcpstates[] = { + "", + "Closed", + "Listen", + "SYN sent", + "SYN recv", + "Estab", + "FINwait1", + "FINwait2", + "Closewait", + "Last ACK", + "Closing", + "Timewait" +}; + + +char *Tcpreasons[] = { + "Normal", + "Reset/Refused", + "Timeout", + "ICMP" +}; +struct tcb *Tcbs; +uint16 Tcp_mss = 512 ; +int32 Tcp_irtt = 5000 ; +int Tcp_trace; +int Tcp_syndata; +struct tcp_rtt Tcp_rtt[16 ]; +struct mib_entry Tcp_mib[] = { + 0, 0, + "tcpRtoAlgorithm", 4, + "tcpRtoMin", 0, + "tcpRtoMax", 0xffffffff , + "tcpMaxConn", -1L, + "tcpActiveOpens", 0, + "tcpPassiveOpens", 0, + "tcpAttemptFails", 0, + "tcpEstabResets", 0, + "tcpCurrEstab", 0, + "tcpInSegs", 0, + "tcpOutSegs", 0, + "tcpRetransSegs", 0, + 0, 0, + "tcpInErrs", 0, + "tcpOutRsts", 0, +}; + + + + + + +struct tcb * +lookup_tcb(conn) +register struct connection *conn; +{ + register struct tcb *tcb; + struct tcb *tcblast = 0; + + for(tcb=Tcbs;tcb != 0;tcblast = tcb,tcb = tcb->next){ + + if(conn->remote.port == tcb->conn.remote.port + && conn->local.port == tcb->conn.local.port + && conn->remote.address == tcb->conn.remote.address + && conn->local.address == tcb->conn.local.address){ + if(tcblast != 0){ + + tcblast->next = tcb->next; + tcb->next = Tcbs; + Tcbs = tcb; + } + return tcb; + } + + } + return 0; +} + + +struct tcb * +create_tcb(conn) +struct connection *conn; +{ + register struct tcb *tcb; + struct tcp_rtt *tp; + + if((tcb = lookup_tcb(conn)) != 0) + return tcb; + tcb = (struct tcb *)callocw(1,sizeof (struct tcb)); + ((tcb->conn) = (*conn)); + + tcb->state = TCP_CLOSED; + tcb->cwind = tcb->mss = Tcp_mss; + tcb->ssthresh = 65535; + if((tp = rtt_get(tcb->conn.remote.address)) != 0){ + tcb->srtt = tp->srtt; + tcb->mdev = tp->mdev; + } else { + tcb->srtt = Tcp_irtt; + } + + set_timer(&tcb->timer,tcb->srtt); + tcb->timer.func = tcp_timeout; + tcb->timer.arg = tcb; + + tcb->next = Tcbs; + Tcbs = tcb; + return tcb; +} + + +void +close_self(tcb,reason) +register struct tcb *tcb; +int reason; +{ + struct reseq *rp1; + register struct reseq *rp; + + if(tcb == 0) + return; + + stop_timer(&tcb->timer); + tcb->reason = reason; + + + for(rp = tcb->reseq;rp != 0;rp = rp1){ + rp1 = rp->next; + free_p(&rp->bp); + free(rp); + } + tcb->reseq = 0; + settcpstate(tcb,TCP_CLOSED); +} + + + + + +int +seq_within(x,low,high) +register int32 x,low,high; +{ + if(low <= high){ + if(low <= x && x <= high) + return 1; + } else { + if(low >= x && x >= high) + return 1; + } + return 0; +} +int +seq_lt(x,y) +register int32 x,y; +{ + return (long)(x-y) < 0; +} + + + + + + + + +int +seq_gt(x,y) +register int32 x,y; +{ + return (long)(x-y) > 0; +} +int +seq_ge(x,y) +register int32 x,y; +{ + return (long)(x-y) >= 0; +} + +void +settcpstate(tcb,newstate) +register struct tcb *tcb; +enum tcp_state newstate; +{ + enum tcp_state oldstate; + + oldstate = tcb->state; + tcb->state = newstate; + if(Tcp_trace) + _printf(_("TCB %p %s -> %s\n"),tcb, + Tcpstates[oldstate],Tcpstates[newstate]); + + + switch(oldstate){ + case TCP_CLOSED: + if(newstate == TCP_SYN_SENT) + Tcp_mib[5].value.integer++; + break; + case TCP_LISTEN: + if(newstate == TCP_SYN_RECEIVED) + Tcp_mib[6].value.integer++; + break; + case TCP_SYN_SENT: + if(newstate == TCP_CLOSED) + Tcp_mib[7].value.integer++; + break; + case TCP_SYN_RECEIVED: + switch(newstate){ + case TCP_CLOSED: + case TCP_LISTEN: + Tcp_mib[7].value.integer++; + break; + } + break; + case TCP_ESTABLISHED: + case TCP_CLOSE_WAIT: + switch(newstate){ + case TCP_CLOSED: + case TCP_LISTEN: + Tcp_mib[8].value.integer++; + break; + } + Tcp_mib[9].value.integer--; + break; + } + if(newstate == TCP_ESTABLISHED || newstate == TCP_CLOSE_WAIT) + Tcp_mib[9].value.integer++; + + if(tcb->s_upcall) + (*tcb->s_upcall)(tcb,oldstate,newstate); + + switch(newstate){ + case TCP_SYN_RECEIVED: + case TCP_ESTABLISHED: + + if(tcb->t_upcall) + (*tcb->t_upcall)(tcb,tcb->window - tcb->sndcnt); + break; + } +} + + + + + + + +void +rtt_add(addr,rtt) +int32 addr; +int32 rtt; +{ + register struct tcp_rtt *tp; + int32 abserr; + + if(addr == 0) + return; + tp = &Tcp_rtt[(unsigned short)addr % 16 ]; + if(tp->addr != addr){ + + tp->addr = addr; + tp->srtt = rtt; + tp->mdev = 0; + } else { + + abserr = (rtt > tp->srtt) ? rtt - tp->srtt : tp->srtt - rtt; + tp->srtt = ((8 -1)*tp->srtt + rtt + (8 /2)) >> 3 ; + tp->mdev = ((4 -1)*tp->mdev + abserr + (4 /2)) >> 2 ; + } +} +struct tcp_rtt * +rtt_get(addr) +int32 addr; +{ + register struct tcp_rtt *tp; + + if(addr == 0) + return 0; + tp = &Tcp_rtt[(unsigned short)addr % 16 ]; + if(tp->addr != addr) + return 0; + return tp; +} + + + + + + +void +tcp_garbage(red) +int red; +{ + register struct tcb *tcb; + struct reseq *rp,*rp1; + + for(tcb = Tcbs;tcb != 0;tcb = tcb->next){ + mbuf_crunch(&tcb->rcvq); + mbuf_crunch(&tcb->sndq); + for(rp = tcb->reseq;rp != 0;rp = rp1){ + rp1 = rp->next; + if(red){ + free_p(&rp->bp); + free(rp); + } else { + mbuf_crunch(&rp->bp); + } + } + if(red) + tcb->reseq = 0; + } +} diff --git a/src/nos/internet/tcptimer.i b/src/nos/internet/tcptimer.i new file mode 100644 index 00000000..a9e49cd9 --- /dev/null +++ b/src/nos/internet/tcptimer.i @@ -0,0 +1,2937 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct tcp { + uint16 source; + uint16 dest; + int32 seq; + int32 ack; + uint16 wnd; + uint16 checksum; + uint16 up; + uint16 mss; + uint8 wsopt; + uint32 tsval; + uint32 tsecr; + struct { + unsigned int congest:1; + unsigned int urg:1; + unsigned int ack:1; + unsigned int psh:1; + unsigned int rst:1; + unsigned int syn:1; + unsigned int fin:1; + unsigned int mss:1; + unsigned int wscale:1; + unsigned int tstamp:1; + } flags; + + + + + + + + + + char optlen; + char options[40 ]; + +}; + + + + + + + + + + + +struct reseq { + struct reseq *next; + struct tcp seg; + struct mbuf *bp; + uint16 length; + char tos; +}; + +enum tcp_state { + TCP_CLOSED=1, + TCP_LISTEN, + TCP_SYN_SENT, + TCP_SYN_RECEIVED, + TCP_ESTABLISHED, + TCP_FINWAIT1, + TCP_FINWAIT2, + TCP_CLOSE_WAIT, + TCP_LAST_ACK, + TCP_CLOSING, + TCP_TIME_WAIT +}; + + +struct tcb { + struct tcb *next; + + struct connection conn; + + enum tcp_state state; + + char reason; + + + + + + + uint8 type; + uint8 code; + + + struct { + int32 una; + int32 nxt; + int32 ptr; + int32 wl1; + int32 wl2; + int32 wnd; + uint16 up; + uint8 wind_scale; + } snd; + int32 iss; + int32 resent; + int32 cwind; + int32 ssthresh; + int dupacks; + + + struct { + int32 nxt; + int32 wnd; + uint16 up; + uint8 wind_scale; + } rcv; + int32 last_ack_sent; + int32 ts_recent; + + int32 irs; + int32 rerecv; + int32 mss; + + int32 window; + int32 limit; + + void (*r_upcall)(struct tcb *tcb,int32 cnt); + + void (*t_upcall)(struct tcb *tcb,int32 cnt); + + void (*s_upcall)(struct tcb *tcb,int old,int new); + + struct { + unsigned int force:1; + unsigned int clone:1; + unsigned int retran:1; + unsigned int active:1; + unsigned int synack:1; + unsigned int rtt_run:1; + unsigned int congest:1; + int ts_ok:1; + int ws_ok:1; + } flags; + char tos; + int backoff; + + struct mbuf *rcvq; + struct mbuf *sndq; + int32 rcvcnt; + int32 sndcnt; + + + + + struct reseq *reseq; + struct timer timer; + int32 rtt_time; + int32 rttseq; + int32 rttack; + int32 srtt; + int32 mdev; + int32 rtt; + + int user; + + + int32 quench; + int32 unreach; + int32 timeouts; + int32 lastack; + int32 txbw; + int32 lastrx; + int32 rxbw; +}; + +struct tcp_rtt { + int32 addr; + int32 srtt; + int32 mdev; +}; +extern struct tcp_rtt Tcp_rtt[]; +extern int (*Kicklist[])(); + + +struct tcp_stat { + uint16 runt; + uint16 checksum; + uint16 conout; + uint16 conin; + uint16 resets; + uint16 bdcsts; +}; +extern struct mib_entry Tcp_mib[]; + + + + + + + + + + + + + + + + +extern struct tcb *Tcbs; +extern char *Tcpstates[]; +extern char *Tcpreasons[]; + + +extern int Tcp_tstamps; +extern int32 Tcp_irtt; +extern uint16 Tcp_limit; +extern uint16 Tcp_mss; +extern int Tcp_syndata; +extern int Tcp_trace; +extern uint16 Tcp_window; + +void st_tcp(struct tcb *tcb); + + +void htontcp(struct tcp *tcph,struct mbuf **data, + int32 ipsrc,int32 ipdest); +int ntohtcp(struct tcp *tcph,struct mbuf **bpp); + + +void reset(struct ip *ip,struct tcp *seg); +void send_syn(struct tcb *tcb); +void tcp_input(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast,int32 said); +void tcp_icmp(int32 icsource,int32 source,int32 dest, + uint8 type,uint8 code,struct mbuf **bpp); + + +void close_self(struct tcb *tcb,int reason); +struct tcb *create_tcb(struct connection *conn); +struct tcb *lookup_tcb(struct connection *conn); +void rtt_add(int32 addr,int32 rtt); +struct tcp_rtt *rtt_get(int32 addr); +int seq_ge(int32 x,int32 y); +int seq_gt(int32 x,int32 y); +int seq_le(int32 x,int32 y); +int seq_lt(int32 x,int32 y); +int seq_within(int32 x,int32 low,int32 high); +void settcpstate(struct tcb *tcb,enum tcp_state newstate); +void tcp_garbage(int red); + + +void tcp_output(struct tcb *tcb); + + +int32 backoff(int n); +void tcp_timeout(void *p); + + +int close_tcp(struct tcb *tcb); +int del_tcp(struct tcb *tcb); +int kick(int32 addr); +int kick_tcp(struct tcb *tcb); +struct tcb *open_tcp(struct socket *lsocket,struct socket *fsocket, + int mode,uint16 window, + void (*r_upcall)(struct tcb *tcb,int32 cnt), + void (*t_upcall)(struct tcb *tcb,int32 cnt), + void (*s_upcall)(struct tcb *tcb,int old,int new), + int tos,int user); +int32 recv_tcp(struct tcb *tcb,struct mbuf **bpp,int32 cnt); +void reset_all(void); +void reset_tcp(struct tcb *tcb); +long send_tcp(struct tcb *tcb,struct mbuf **bpp); +char *tcp_port(uint16 n); +int tcpval(struct tcb *tcb); + + + + +void +tcp_timeout(p) +void *p; +{ + register struct tcb *tcb; + int32 ptrsave; + + tcb = p; + if(tcb == 0) + return; + + + stop_timer(&tcb->timer); + + switch(tcb->state){ + case TCP_TIME_WAIT: + close_self(tcb,0 ); + break; + default: + tcb->timeouts++; + tcb->flags.retran = 1; + tcb->backoff++; + + tcb->ssthresh = tcb->cwind / 2; + tcb->ssthresh = ((tcb->ssthresh)>(tcb->mss)?(tcb->ssthresh):(tcb->mss)) ; + + tcb->cwind = tcb->mss; + + ptrsave = tcb->snd.ptr; + tcb->snd.ptr = tcb->snd.una; + tcp_output(tcb); + tcb->snd.ptr = ptrsave; + } +} + +int32 +backoff(n) +int n; +{ + if(n > 31) + n = 31; + + return 1L << n; +} + diff --git a/src/nos/internet/tcpuser.i b/src/nos/internet/tcpuser.i new file mode 100644 index 00000000..2d40e2f9 --- /dev/null +++ b/src/nos/internet/tcpuser.i @@ -0,0 +1,3536 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct tcp { + uint16 source; + uint16 dest; + int32 seq; + int32 ack; + uint16 wnd; + uint16 checksum; + uint16 up; + uint16 mss; + uint8 wsopt; + uint32 tsval; + uint32 tsecr; + struct { + unsigned int congest:1; + unsigned int urg:1; + unsigned int ack:1; + unsigned int psh:1; + unsigned int rst:1; + unsigned int syn:1; + unsigned int fin:1; + unsigned int mss:1; + unsigned int wscale:1; + unsigned int tstamp:1; + } flags; + + + + + + + + + + char optlen; + char options[40 ]; + +}; + + + + + + + + + + + +struct reseq { + struct reseq *next; + struct tcp seg; + struct mbuf *bp; + uint16 length; + char tos; +}; + +enum tcp_state { + TCP_CLOSED=1, + TCP_LISTEN, + TCP_SYN_SENT, + TCP_SYN_RECEIVED, + TCP_ESTABLISHED, + TCP_FINWAIT1, + TCP_FINWAIT2, + TCP_CLOSE_WAIT, + TCP_LAST_ACK, + TCP_CLOSING, + TCP_TIME_WAIT +}; + + +struct tcb { + struct tcb *next; + + struct connection conn; + + enum tcp_state state; + + char reason; + + + + + + + uint8 type; + uint8 code; + + + struct { + int32 una; + int32 nxt; + int32 ptr; + int32 wl1; + int32 wl2; + int32 wnd; + uint16 up; + uint8 wind_scale; + } snd; + int32 iss; + int32 resent; + int32 cwind; + int32 ssthresh; + int dupacks; + + + struct { + int32 nxt; + int32 wnd; + uint16 up; + uint8 wind_scale; + } rcv; + int32 last_ack_sent; + int32 ts_recent; + + int32 irs; + int32 rerecv; + int32 mss; + + int32 window; + int32 limit; + + void (*r_upcall)(struct tcb *tcb,int32 cnt); + + void (*t_upcall)(struct tcb *tcb,int32 cnt); + + void (*s_upcall)(struct tcb *tcb,int old,int new); + + struct { + unsigned int force:1; + unsigned int clone:1; + unsigned int retran:1; + unsigned int active:1; + unsigned int synack:1; + unsigned int rtt_run:1; + unsigned int congest:1; + int ts_ok:1; + int ws_ok:1; + } flags; + char tos; + int backoff; + + struct mbuf *rcvq; + struct mbuf *sndq; + int32 rcvcnt; + int32 sndcnt; + + + + + struct reseq *reseq; + struct timer timer; + int32 rtt_time; + int32 rttseq; + int32 rttack; + int32 srtt; + int32 mdev; + int32 rtt; + + int user; + + + int32 quench; + int32 unreach; + int32 timeouts; + int32 lastack; + int32 txbw; + int32 lastrx; + int32 rxbw; +}; + +struct tcp_rtt { + int32 addr; + int32 srtt; + int32 mdev; +}; +extern struct tcp_rtt Tcp_rtt[]; +extern int (*Kicklist[])(); + + +struct tcp_stat { + uint16 runt; + uint16 checksum; + uint16 conout; + uint16 conin; + uint16 resets; + uint16 bdcsts; +}; +extern struct mib_entry Tcp_mib[]; + + + + + + + + + + + + + + + + +extern struct tcb *Tcbs; +extern char *Tcpstates[]; +extern char *Tcpreasons[]; + + +extern int Tcp_tstamps; +extern int32 Tcp_irtt; +extern uint16 Tcp_limit; +extern uint16 Tcp_mss; +extern int Tcp_syndata; +extern int Tcp_trace; +extern uint16 Tcp_window; + +void st_tcp(struct tcb *tcb); + + +void htontcp(struct tcp *tcph,struct mbuf **data, + int32 ipsrc,int32 ipdest); +int ntohtcp(struct tcp *tcph,struct mbuf **bpp); + + +void reset(struct ip *ip,struct tcp *seg); +void send_syn(struct tcb *tcb); +void tcp_input(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast,int32 said); +void tcp_icmp(int32 icsource,int32 source,int32 dest, + uint8 type,uint8 code,struct mbuf **bpp); + + +void close_self(struct tcb *tcb,int reason); +struct tcb *create_tcb(struct connection *conn); +struct tcb *lookup_tcb(struct connection *conn); +void rtt_add(int32 addr,int32 rtt); +struct tcp_rtt *rtt_get(int32 addr); +int seq_ge(int32 x,int32 y); +int seq_gt(int32 x,int32 y); +int seq_le(int32 x,int32 y); +int seq_lt(int32 x,int32 y); +int seq_within(int32 x,int32 low,int32 high); +void settcpstate(struct tcb *tcb,enum tcp_state newstate); +void tcp_garbage(int red); + + +void tcp_output(struct tcb *tcb); + + +int32 backoff(int n); +void tcp_timeout(void *p); + + +int close_tcp(struct tcb *tcb); +int del_tcp(struct tcb *tcb); +int kick(int32 addr); +int kick_tcp(struct tcb *tcb); +struct tcb *open_tcp(struct socket *lsocket,struct socket *fsocket, + int mode,uint16 window, + void (*r_upcall)(struct tcb *tcb,int32 cnt), + void (*t_upcall)(struct tcb *tcb,int32 cnt), + void (*s_upcall)(struct tcb *tcb,int old,int new), + int tos,int user); +int32 recv_tcp(struct tcb *tcb,struct mbuf **bpp,int32 cnt); +void reset_all(void); +void reset_tcp(struct tcb *tcb); +long send_tcp(struct tcb *tcb,struct mbuf **bpp); +char *tcp_port(uint16 n); +int tcpval(struct tcb *tcb); + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern struct mib_entry Icmp_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct icmp { + uint8 type; + uint8 code; + union icmp_args { + uint16 mtu; + int32 unused; + uint8 pointer; + int32 address; + struct { + uint16 id; + uint16 seq; + } echo; + } args; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int Icmp_trace; +extern int Icmp_echo; + + +extern char *Icmptypes[],*Unreach[],*Exceed[],*Redirect[],*Said_icmp[]; + +struct icmplink { + uint8 proto; + void (*funct)(int32,int32,int32,uint8,uint8,struct mbuf **); +}; +extern struct icmplink Icmplink[]; + + +void icmp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int icmp_output(struct ip *ip,struct mbuf *data,uint8 type,uint8 code, + union icmp_args *args); + + +void htonicmp(struct icmp *icmp,struct mbuf **data); +int ntohicmp(struct icmp *icmp,struct mbuf **bpp); + + + + +uint16 Tcp_window = 2048 ; + +struct tcb * +open_tcp(lsocket,fsocket,mode,window,r_upcall,t_upcall,s_upcall,tos,user) +struct socket *lsocket; +struct socket *fsocket; +int mode; +uint16 window; +void (*r_upcall)(); +void (*t_upcall)(); +void (*s_upcall)(); +int tos; +int user; +{ + struct connection conn; + register struct tcb *tcb; + + if(lsocket == 0){ + Net_error = 7 ; + return 0; + } + conn.local.address = lsocket->address; + conn.local.port = lsocket->port; + if(fsocket != 0){ + conn.remote.address = fsocket->address; + conn.remote.port = fsocket->port; + } else { + conn.remote.address = 0; + conn.remote.port = 0; + } + if((tcb = lookup_tcb(&conn)) == 0){ + if((tcb = create_tcb(&conn)) == 0){ + Net_error = 4 ; + return 0; + } + } else if(tcb->state != TCP_LISTEN){ + Net_error = 1 ; + return 0; + } + tcb->user = user; + if(window != 0) + tcb->window = tcb->rcv.wnd = window; + else + tcb->window = tcb->rcv.wnd = Tcp_window; + tcb->snd.wnd = 1; + tcb->r_upcall = r_upcall; + tcb->t_upcall = t_upcall; + tcb->s_upcall = s_upcall; + tcb->tos = tos; + switch(mode){ + case 2 : + tcb->flags.clone = 1; + case 0: + settcpstate(tcb,TCP_LISTEN); + break; + case 1: + + tcb->flags.active = 1; + send_syn(tcb); + settcpstate(tcb,TCP_SYN_SENT); + tcp_output(tcb); + break; + } + return tcb; +} + +long +send_tcp(tcb,bpp) +register struct tcb *tcb; +struct mbuf **bpp; +{ + int32 cnt; + + if(tcb == 0 || bpp == 0 || *bpp == 0){ + free_p(bpp); + Net_error = 7 ; + return -1; + } + cnt = len_p(*bpp); + switch(tcb->state){ + case TCP_CLOSED: + free_p(bpp); + Net_error = 2 ; + return -1; + case TCP_LISTEN: + if(tcb->conn.remote.address == 0 && tcb->conn.remote.port == 0){ + + append(&tcb->sndq,bpp); + tcb->sndcnt += cnt; + break; + } + + tcb->flags.active = 1; + send_syn(tcb); + settcpstate(tcb,TCP_SYN_SENT); + case TCP_SYN_SENT: + case TCP_SYN_RECEIVED: + case TCP_ESTABLISHED: + case TCP_CLOSE_WAIT: + append(&tcb->sndq,bpp); + tcb->sndcnt += cnt; + tcp_output(tcb); + break; + case TCP_FINWAIT1: + case TCP_FINWAIT2: + case TCP_CLOSING: + case TCP_LAST_ACK: + case TCP_TIME_WAIT: + free_p(bpp); + Net_error = 3 ; + return -1; + } + return (long)cnt; +} + +int32 +recv_tcp(tcb,bpp,cnt) +register struct tcb *tcb; +struct mbuf **bpp; +int32 cnt; +{ + if(tcb == 0 || bpp == (struct mbuf **)0){ + Net_error = 7 ; + return -1; + } + if(tcb->rcvcnt == 0){ + + + + + + switch(tcb->state){ + case TCP_LISTEN: + case TCP_SYN_SENT: + case TCP_SYN_RECEIVED: + case TCP_ESTABLISHED: + case TCP_FINWAIT1: + case TCP_FINWAIT2: + Net_error = 5 ; + return -1; + case TCP_CLOSED: + case TCP_CLOSE_WAIT: + case TCP_CLOSING: + case TCP_LAST_ACK: + case TCP_TIME_WAIT: + *bpp = 0; + return 0; + } + } + + if(cnt == 0) + cnt = tcb->rcvcnt; + + if(tcb->rcvcnt <= cnt){ + cnt = tcb->rcvcnt; + *bpp = tcb->rcvq; + tcb->rcvq = 0; + } else { + *bpp = ambufw(cnt); + pullup(&tcb->rcvq,(*bpp)->data,cnt); + (*bpp)->cnt = cnt; + } + tcb->rcvcnt -= cnt; + tcb->rcv.wnd += cnt; + + if(tcb->rcv.wnd > tcb->mss && tcb->rcv.wnd - cnt < tcb->mss){ + tcb->flags.force = 1; + tcp_output(tcb); + } + return (int)cnt; +} + + + + +int +close_tcp(tcb) +register struct tcb *tcb; +{ + if(tcb == 0){ + Net_error = 7 ; + return -1; + } + switch(tcb->state){ + case TCP_CLOSED: + return 0; + case TCP_LISTEN: + case TCP_SYN_SENT: + close_self(tcb,0 ); + return 0; + case TCP_SYN_RECEIVED: + case TCP_ESTABLISHED: + tcb->sndcnt++; + tcb->snd.nxt++; + settcpstate(tcb,TCP_FINWAIT1); + tcp_output(tcb); + return 0; + case TCP_CLOSE_WAIT: + tcb->sndcnt++; + tcb->snd.nxt++; + settcpstate(tcb,TCP_LAST_ACK); + tcp_output(tcb); + return 0; + case TCP_FINWAIT1: + case TCP_FINWAIT2: + case TCP_CLOSING: + case TCP_LAST_ACK: + case TCP_TIME_WAIT: + Net_error = 3 ; + return -1; + } + return -1; +} + + + + +int +del_tcp(conn) +struct tcb *conn; +{ + register struct tcb *tcb; + struct tcb *tcblast = 0; + struct reseq *rp,*rp1; + + + + + + + + + + + + for(tcb=Tcbs;tcb != 0;tcblast = tcb,tcb = tcb->next) + if(tcb == conn) + break; + if(tcb == 0){ + Net_error = 7 ; + return -1; + } + if(tcblast != 0) + tcblast->next = tcb->next; + else + Tcbs = tcb->next; + + stop_timer(&tcb->timer); + for(rp = tcb->reseq;rp != 0;rp = rp1){ + rp1 = rp->next; + free_p(&rp->bp); + free(rp); + } + tcb->reseq = 0; + free_p(&tcb->rcvq); + free_p(&tcb->sndq); + free(tcb); + return 0; +} + +int +tcpval(tcb) +struct tcb *tcb; +{ + register struct tcb *tcb1; + + if(tcb == 0) + return 0; + for(tcb1=Tcbs;tcb1 != 0;tcb1 = tcb1->next){ + if(tcb1 == tcb) + return 1; + } + return 0; +} + +int +kick_tcp(tcb) +register struct tcb *tcb; +{ + if(!tcpval(tcb)) + return -1; + tcb->flags.force = 1; + tcb->backoff = 0; + tcp_timeout(tcb); + return 0; +} + +int +kick(addr) +int32 addr; +{ + register struct tcb *tcb; + int cnt = 0; + + for(tcb=Tcbs;tcb != 0;tcb = tcb->next){ + if(tcb->conn.remote.address == addr){ + kick_tcp(tcb); + cnt++; + } + } + return cnt; +} + +void +reset_all() +{ + register struct tcb *tcb,*tcbnext; + + for(tcb=Tcbs;tcb != 0;tcb = tcbnext){ + tcbnext = tcb->next; + reset_tcp(tcb); + } + kwait(0); +} +void +reset_tcp(tcb) +register struct tcb *tcb; +{ + struct tcp fakeseg; + struct ip fakeip; + + if(tcb == 0) + return; + if(tcb->state != TCP_LISTEN){ + + + + memset(&fakeseg,0,sizeof(fakeseg)); + memset(&fakeip,0,sizeof(fakeip)); + fakeseg.dest = tcb->conn.local.port; + fakeseg.source = tcb->conn.remote.port; + fakeseg.flags.ack = 1; + + + + fakeseg.ack = tcb->snd.nxt + tcb->snd.wnd - 1; + fakeip.dest = tcb->conn.local.address; + fakeip.source = tcb->conn.remote.address; + fakeip.tos = tcb->tos; + reset(&fakeip,&fakeseg); + } + close_self(tcb,1 ); +} + + diff --git a/src/nos/internet/udp.i b/src/nos/internet/udp.i new file mode 100644 index 00000000..b5f8f737 --- /dev/null +++ b/src/nos/internet/udp.i @@ -0,0 +1,3057 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + +extern struct mib_entry Udp_mib[]; + + + + + + + + + +struct udp { + uint16 source; + uint16 dest; + uint16 length; + uint16 checksum; +}; + + + + + + +struct udp_cb { + struct udp_cb *next; + struct socket socket; + void (*r_upcall)(struct iface *iface,struct udp_cb *,int); + + struct mbuf *rcvq; + int rcvcnt; + int user; +}; +extern struct udp_cb *Udps; + + + + +int del_udp(struct udp_cb *up); +struct udp_cb *open_udp(struct socket *lsocket, + void (*r_upcall)(struct iface *iface,struct udp_cb *,int)); +int recv_udp(struct udp_cb *up,struct socket *fsocket,struct mbuf **bp); +int send_udp(struct socket *lsocket,struct socket *fsocket,char tos, + char ttl,struct mbuf **data,uint16 length,uint16 id,char df); +void udp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +void udp_garbage(int drastic); + + + + + + + + + + +int st_udp(struct udp_cb *udp,int n); + + +void htonudp(struct udp *udp,struct mbuf **data,struct pseudo_header *ph); +int ntohudp(struct udp *udp,struct mbuf **bpp); +uint16 udpcksum(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern struct mib_entry Icmp_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct icmp { + uint8 type; + uint8 code; + union icmp_args { + uint16 mtu; + int32 unused; + uint8 pointer; + int32 address; + struct { + uint16 id; + uint16 seq; + } echo; + } args; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int Icmp_trace; +extern int Icmp_echo; + + +extern char *Icmptypes[],*Unreach[],*Exceed[],*Redirect[],*Said_icmp[]; + +struct icmplink { + uint8 proto; + void (*funct)(int32,int32,int32,uint8,uint8,struct mbuf **); +}; +extern struct icmplink Icmplink[]; + + +void icmp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int icmp_output(struct ip *ip,struct mbuf *data,uint8 type,uint8 code, + union icmp_args *args); + + +void htonicmp(struct icmp *icmp,struct mbuf **data); +int ntohicmp(struct icmp *icmp,struct mbuf **bpp); + + + +static struct udp_cb *lookup_udp(struct socket *socket); + +struct mib_entry Udp_mib[] = { + "", 0, + "udpInDatagrams", 0, + "udpNoPorts", 0, + "udpInErrors", 0, + "udpOutDatagrams", 0, +}; + + +struct udp_cb *Udps; + + + + +struct udp_cb * +open_udp(lsocket,r_upcall) +struct socket *lsocket; +void (*r_upcall)(); +{ + register struct udp_cb *up; + + if((up = lookup_udp(lsocket)) != 0){ + + Net_error = 1 ; + return 0; + } + up = (struct udp_cb *)callocw(1,sizeof (struct udp_cb)); + up->socket.address = lsocket->address; + up->socket.port = lsocket->port; + up->r_upcall = r_upcall; + + up->next = Udps; + Udps = up; + return up; +} + + +int +send_udp( +struct socket *lsocket, +struct socket *fsocket, +char tos, +char ttl, +struct mbuf **bpp, +uint16 length, +uint16 id, +char df +){ + struct pseudo_header ph; + struct udp udp; + int32 laddr; + + if(bpp == 0) + return -1; + if(length != 0 && *bpp != 0) + trim_mbuf(bpp,length); + else + length = len_p(*bpp); + + length += 8 ; + + laddr = lsocket->address; + if(laddr == 0x0L) + laddr = locaddr(fsocket->address); + + udp.source = lsocket->port; + udp.dest = fsocket->port; + udp.length = length; + + + ph.length = length; + ph.source = laddr; + ph.dest = fsocket->address; + ph.protocol = 17 ; + + htonudp(&udp,bpp,&ph); + Udp_mib[4].value.integer++; + ip_send(laddr,fsocket->address,17 ,tos,ttl,bpp,length,id,df); + return (int)length; +} + +int +recv_udp(up,fsocket,bp) +register struct udp_cb *up; +struct socket *fsocket; +struct mbuf **bp; +{ + struct socket sp; + struct mbuf *buf; + uint16 length; + + if(up == 0){ + Net_error = 2 ; + return -1; + } + if(up->rcvcnt == 0){ + Net_error = 5 ; + return -1; + } + buf = dequeue(&up->rcvq); + up->rcvcnt--; + + + pullup(&buf,&sp,sizeof(struct socket)); + + + if(fsocket != 0){ + fsocket->address = sp.address; + fsocket->port = sp.port; + } + + length = len_p(buf); + if(bp != 0) + *bp = buf; + else + free_p(&buf); + return (int)length; +} + +int +del_udp(conn) +struct udp_cb *conn; +{ + struct mbuf *bp; + register struct udp_cb *up; + struct udp_cb *udplast = 0; + + for(up = Udps;up != 0;udplast = up,up = up->next){ + if(up == conn) + break; + } + if(up == 0){ + + Net_error = 7 ; + return -1; + } + + while(up->rcvcnt != 0){ + bp = up->rcvq; + up->rcvq = up->rcvq->anext; + free_p(&bp); + up->rcvcnt--; + } + + if(udplast != 0) + udplast->next = up->next; + else + Udps = up->next; + + free(up); + return 0; +} + +void +udp_input( +struct iface *iface, +struct ip *ip, +struct mbuf **bpp, +int rxbroadcast, +int32 said +){ + struct pseudo_header ph; + struct udp udp; + struct udp_cb *up; + struct socket lsocket; + struct socket fsocket; + uint16 length; + + if(bpp == 0 || *bpp == 0) + return; + + + ph.source = ip->source; + ph.dest = ip->dest; + ph.protocol = ip->protocol; + length = ip->length - 20 - ip->optlen; + ph.length = length; + + + + + + udp.checksum = udpcksum(*bpp); + if(udp.checksum != 0 && cksum(&ph,*bpp,length) != 0){ + + Udp_mib[3].value.integer++; + free_p(bpp); + return; + } + + if(ntohudp(&udp,bpp) != 0){ + + Udp_mib[3].value.integer++; + free_p(bpp); + return; + } + + if(rxbroadcast){ + lsocket.address = iface->addr; + } else + lsocket.address = ip->dest; + + lsocket.port = udp.dest; + + if((up = lookup_udp(&lsocket)) == 0){ + + if(!rxbroadcast){ + htonudp(&udp,bpp,&ph); + icmp_output(ip,*bpp,3 ,3 ,0); + } + Udp_mib[2].value.integer++; + free_p(bpp); + return; + } + + fsocket.address = ip->source; + fsocket.port = udp.source; + pushdown(bpp,&fsocket,sizeof(fsocket)); + + + enqueue(&up->rcvq,bpp); + up->rcvcnt++; + Udp_mib[1].value.integer++; + if(up->r_upcall) + (*up->r_upcall)(iface,up,up->rcvcnt); +} + + + + + +static struct udp_cb * +lookup_udp(socket) +struct socket *socket; +{ + register struct udp_cb *up; + struct udp_cb *uplast = 0; + + for(up = Udps;up != 0;uplast = up,up = up->next){ + if(socket->port == up->socket.port + && (socket->address == up->socket.address + || up->socket.address == 0x0L)){ + if(uplast != 0){ + + uplast->next = up->next; + up->next = Udps; + Udps = up; + } + return up; + } + } + return 0; +} + + +void +udp_garbage(red) +int red; +{ + register struct udp_cb *udp; + + for(udp = Udps;udp != 0; udp = udp->next){ + mbuf_crunch(&udp->rcvq); + } +} + diff --git a/src/nos/internet/udpcmd.i b/src/nos/internet/udpcmd.i new file mode 100644 index 00000000..6c081de1 --- /dev/null +++ b/src/nos/internet/udpcmd.i @@ -0,0 +1,2994 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + +extern struct mib_entry Udp_mib[]; + + + + + + + + + +struct udp { + uint16 source; + uint16 dest; + uint16 length; + uint16 checksum; +}; + + + + + + +struct udp_cb { + struct udp_cb *next; + struct socket socket; + void (*r_upcall)(struct iface *iface,struct udp_cb *,int); + + struct mbuf *rcvq; + int rcvcnt; + int user; +}; +extern struct udp_cb *Udps; + + + + +int del_udp(struct udp_cb *up); +struct udp_cb *open_udp(struct socket *lsocket, + void (*r_upcall)(struct iface *iface,struct udp_cb *,int)); +int recv_udp(struct udp_cb *up,struct socket *fsocket,struct mbuf **bp); +int send_udp(struct socket *lsocket,struct socket *fsocket,char tos, + char ttl,struct mbuf **data,uint16 length,uint16 id,char df); +void udp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +void udp_garbage(int drastic); + + + + + + + + + + +int st_udp(struct udp_cb *udp,int n); + + +void htonudp(struct udp *udp,struct mbuf **data,struct pseudo_header *ph); +int ntohudp(struct udp *udp,struct mbuf **bpp); +uint16 udpcksum(struct mbuf *bp); + + + + + + + + + + + + + +struct cmds { + _char *name; + int (*func)(int argc,char *argv[],void *p); + + int stksize; + int argcmin; + _char *argc_errmsg; +}; +extern struct cmds Cmds[],Startcmds[],Stopcmds[],Attab[]; + + +int cmdparse(struct cmds cmds[], char *line, void *p); +int subcmd(struct cmds tab[], int argc, char *argv[], void *p); +int setbool(int *var, _char *label, int argc, char *argv[]); +int bit16cmd(uint16 *bits, uint16 mask, _char *label, int argc, char *argv[]); +int setint(int *var, _char *label, int argc, char *argv[]); +int setlong(int32 *var, _char *label, int argc, char *argv[]); +int setshort(unsigned short *var, _char *label, int argc, char *argv[]); +int setuns(unsigned *var, _char *label, int argc, char *argv[]); + + + + + + +int doasystat(int argc,char *argv[],void *p); +int fp_attach (int argc,char *argv[],void *p); + + +int domem(int argc,char *argv[],void *p); + + +int doamiga(int argc,char *argv[],void *p); + + +int doarp(int argc,char *argv[],void *p); + + +int asy_attach(int argc,char *argv[],void *p); + + +int doax25(int argc,char *argv[],void *p); +int doaxheard(int argc,char *argv[],void *p); +int doaxdest(int argc,char *argv[],void *p); +int doconnect(int argc,char *argv[],void *p); + + +int dobootp(int argc,char *argv[],void *p); + + +int bootpdcmd(int argc,char *argv[],void *p); + + +int dodialer(int argc,char *argv[],void *p); + + +int docd(int argc,char *argv[],void *p); +int dodir(int argc,char *argv[],void *p); +int domkd(int argc,char *argv[],void *p); +int dormd(int argc,char *argv[],void *p); + + +int dodomain(int argc,char *argv[],void *p); + + +int dodrstat(int argc,char *argv[],void *p); +int dr_attach(int argc,char *argv[],void *p); +int dodr(int argc,char *argv[],void *p); + + +int eg_attach(int argc,char *argv[],void *p); +int doegstat(int argc,char *argv[],void *p); + + +int doetherstat(int argc,char *argv[],void *p); +int ec_attach(int argc,char *argv[],void *p); + + +int dofax(int argc,char *argv[],void *p); +int fax1(int argc,char *argv[],void *p); +int fax0(int argc,char *argv[],void *p); + + +int dofinger(int argc,char *argv[],void *p); + + +int finstart(int argc,char *argv[],void *p); +int fin0(int argc,char *argv[],void *p); + + +int doftp(int argc,char *argv[],void *p); +int doabort(int argc,char *argv[],void *p); + + +int ftpstart(int argc,char *argv[],void *p); +int ftp0(int argc,char *argv[],void *p); + + +int dohapnstat(int argc,char *argv[],void *p); +int hapn_attach(int argc,char *argv[],void *p); + + +int dohop(int argc,char *argv[],void *p); + + +int dohs(int argc,char *argv[],void *p); +int hs_attach(int argc,char *argv[],void *p); + + +int doicmp(int argc,char *argv[],void *p); + + +int doifconfig(int argc,char *argv[],void *p); +int dodetach(int argc,char *argv[],void *p); + + +int doip(int argc,char *argv[],void *p); +int doroute(int argc,char *argv[],void *p); + + +int dosec(int argc,char *argv[],void *p); + + +int doksp(int argc,char *argv[],void *p); + + +int ps(int argc,char *argv[],void *p); + + +int dolterm(int argc,char *argv[],void *p); + + +int dodelete(int argc,char *argv[],void *p); +int dorename(int argc,char *argv[],void *p); +int doexit(int argc,char *argv[],void *p); +int dohostname(int argc,char *argv[],void *p); +int dolog(int argc,char *argv[],void *p); +int dohelp(int argc,char *argv[],void *p); +int doattach(int argc,char *argv[],void *p); +int doparam(int argc,char *argv[],void *p); +int dopage(int argc,char *argv[],void *p); +int domode(int argc,char *argv[],void *p); +int donothing(int argc,char *argv[],void *p); +int donrstat(int argc,char *argv[],void *p); +int doescape(int argc,char *argv[],void *p); +int doremote(int argc,char *argv[],void *p); +int doboot(int argc,char *argv[],void *p); +int dorepeat(int argc,char *argv[],void *p); +int dostacktest(int argc,char *argv[],void *p); +int dosysdebug(int argc,char *argv[],void *p); +int dosystrace(int argc,char *argv[],void *p); +int dowipe(int argc,char *argv[],void *p); + + +int dombox(int argc,char *argv[],void *p); + + +int donntp(int argc,char *argv[],void *p); + + +int donetrom(int argc,char *argv[],void *p); +int nr_attach(int argc,char *argv[],void *p); + + +int doshell(int argc,char *argv[],void *p); +int doisat(int argc,char *argv[],void *p); + + +int pc_attach(int argc,char *argv[],void *p); + + +int pk_attach(int argc,char *argv[],void *p); + + +int pi_attach(int argc,char *argv[],void *p); +int dopistat(int argc,char *argv[],void *p); + + +int doping(int argc,char *argv[],void *p); + + +int dopop(int argc,char *argv[],void *p); + + +int pop1(int argc,char *argv[],void *p); +int pop0(int argc,char *argv[],void *p); + + +int doqtso(int argc,char *argv[],void *p); + + +int dorarp(int argc,char *argv[],void *p); + + +int dorip(int argc,char *argv[],void *p); + + +int doaddrefuse(int argc,char *argv[],void *p); +int dodroprefuse(int argc,char *argv[],void *p); +int dorip(int argc,char *argv[],void *p); +int doripadd(int argc,char *argv[],void *p); +int doripdrop(int argc,char *argv[],void *p); +int doripinit(int argc,char *argv[],void *p); +int doripmerge(int argc,char *argv[],void *p); +int doripreq(int argc,char *argv[],void *p); +int doripstat(int argc,char *argv[],void *p); +int doripstop(int argc,char *argv[],void *p); +int doriptrace(int argc,char *argv[],void *p); + + +int dosound(int argc,char *argv[],void *p); + + +int escc_attach(int argc,char *argv[],void *p); +int doesccstat(int argc,char *argv[],void *p); + + +int dosession(int argc,char *argv[],void *p); +int go(int argc,char *argv[],void *p); +int doclose(int argc,char *argv[],void *p); +int doreset(int argc,char *argv[],void *p); +int dokick(int argc,char *argv[],void *p); +int dorecord(int argc,char *argv[],void *p); +int dosfsize(int argc,char *argv[],void *p); +int doupload(int argc,char *argv[],void *p); + + +int dis1(int argc,char *argv[],void *p); +int dis0(int argc,char *argv[],void *p); +int echo1(int argc,char *argv[],void *p); +int echo0(int argc,char *argv[],void *p); +int rem1(int argc,char *argv[],void *p); +int rem0(int argc,char *argv[],void *p); +int term1(int argc,char *argv[],void *p); +int term0(int argc,char *argv[],void *p); +int bsr1(int argc,char *argv[],void *p); +int bsr0(int argc,char *argv[],void *p); + + +int dosmtp(int argc,char *argv[],void *p); + + +int smtp1(int argc,char *argv[],void *p); +int smtp0(int argc,char *argv[],void *p); + + +int dosock(int argc,char *argv[],void *p); + + +int dofiles(int argc,char *argv[],void *p); + + +int doswatch(int argc,char *argv[],void *p); + + +int dotcp(int argc,char *argv[],void *p); + + +int doecho(int argc,char *argv[],void *p); +int doeol(int argc,char *argv[],void *p); +int dotelnet(int argc,char *argv[],void *p); +int dotopt(int argc,char *argv[],void *p); + + +int dotip(int argc,char *argv[],void *p); + + +int ttylstart(int argc,char *argv[],void *p); +int ttyl0(int argc,char *argv[],void *p); + + +int dotrace(int argc,char *argv[],void *p); + + +int doudp(int argc,char *argv[],void *p); + + +int doview(int argc,char *argv[],void *p); +void view(int,void *,void *); + + + + + + + +static int doudpstat(int argc,char *argv[],void *p); + +static struct cmds Udpcmds[] = { + _("status"), doudpstat, 0, 0, 0, + 0, +}; +int +doudp(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + return subcmd(Udpcmds,argc,argv,p); +} +int +st_udp(udp,n) +struct udp_cb *udp; +int n; +{ + if(n == 0) + _printf(_("&UCB Rcv-Q Local socket\n")); + + return _printf(_("%9p%6u %s\n"),udp,udp->rcvcnt,pinet(&udp->socket)); +} + + +static int +doudpstat(argc,argv,p) +int argc; +char *argv[]; +void *p; +{ + register struct udp_cb *udp; + register int i; + + for(i=1;i<=4;i++){ + _printf(_("(%2u)%-20s%10lu"),i, + Udp_mib[i].name,Udp_mib[i].value.integer); + if(i % 2) + _printf(_(" ")); + else + _printf(_("\n")); + } + if((i % 2) == 0) + _printf(_("\n")); + + _printf(_(" &UCB Rcv-Q Local socket\n")); + for(udp = Udps;udp != 0; udp = udp->next){ + if(st_udp(udp,1) == (-1)) + return 0; + } + return 0; +} diff --git a/src/nos/internet/udphdr.i b/src/nos/internet/udphdr.i new file mode 100644 index 00000000..48f520a5 --- /dev/null +++ b/src/nos/internet/udphdr.i @@ -0,0 +1,2702 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + +extern struct mib_entry Udp_mib[]; + + + + + + + + + +struct udp { + uint16 source; + uint16 dest; + uint16 length; + uint16 checksum; +}; + + + + + + +struct udp_cb { + struct udp_cb *next; + struct socket socket; + void (*r_upcall)(struct iface *iface,struct udp_cb *,int); + + struct mbuf *rcvq; + int rcvcnt; + int user; +}; +extern struct udp_cb *Udps; + + + + +int del_udp(struct udp_cb *up); +struct udp_cb *open_udp(struct socket *lsocket, + void (*r_upcall)(struct iface *iface,struct udp_cb *,int)); +int recv_udp(struct udp_cb *up,struct socket *fsocket,struct mbuf **bp); +int send_udp(struct socket *lsocket,struct socket *fsocket,char tos, + char ttl,struct mbuf **data,uint16 length,uint16 id,char df); +void udp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +void udp_garbage(int drastic); + + + + + + + + + + +int st_udp(struct udp_cb *udp,int n); + + +void htonudp(struct udp *udp,struct mbuf **data,struct pseudo_header *ph); +int ntohudp(struct udp *udp,struct mbuf **bpp); +uint16 udpcksum(struct mbuf *bp); + + + + +void +htonudp( +struct udp *udp, +struct mbuf **bpp, +struct pseudo_header *ph +){ + register uint8 *cp; + uint16 checksum; + + + pushdown(bpp,0,8 ); + cp = (*bpp)->data; + cp = put16(cp,udp->source); + cp = put16(cp,udp->dest); + cp = put16(cp,udp->length); + *cp++ = 0; + *cp-- = 0; + + + + + + if((checksum = cksum(ph,*bpp,ph->length)) == 0) + checksum = 0xffff; + put16(cp,checksum); +} + +int +ntohudp( +struct udp *udp, +struct mbuf **bpp +){ + uint8 udpbuf[8 ]; + + if(pullup(bpp,udpbuf,8 ) != 8 ) + return -1; + udp->source = get16(&udpbuf[0]); + udp->dest = get16(&udpbuf[2]); + udp->length = get16(&udpbuf[4]); + udp->checksum = get16(&udpbuf[6]); + return 0; +} + + + +uint16 +udpcksum( +struct mbuf *bp +){ + struct mbuf *dup; + + if(dup_p(&dup,bp,6,2) != 2) + return 0; + return pull16(&dup); +} + diff --git a/src/nos/internet/udpsock.i b/src/nos/internet/udpsock.i new file mode 100644 index 00000000..c5c79c5c --- /dev/null +++ b/src/nos/internet/udpsock.i @@ -0,0 +1,4481 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned char uchar; +typedef unsigned int uint; + + +typedef uchar bool_t; +typedef uint count_t; + + +typedef uint size_t; + + + +typedef int ssize_t; + + +typedef unsigned int mode_t; + + + + + + +typedef long off_t; + + + +typedef struct s_time { + uint t_time; + uint t_date; +} dostime_t; + +typedef unsigned long time_t; + + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; + time_t tms_etime; +}; + + + + +struct utimbuf { + time_t actime; + time_t modtime; +}; + + + +struct stat { + uint st_dev; + uint st_ino; + mode_t st_mode; + uint st_nlink; + uint st_uid; + uint st_gid; + uint st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + + + + +typedef struct direct { + unsigned int d_ino; + uchar d_name[14]; +} direct_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int sys_nerr; + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct { + unsigned int j_sp; + unsigned int j_ss; + unsigned int j_bc; + unsigned int j_ix; + unsigned int j_iy; + unsigned int j_ip; + unsigned int j_cs; +} jmp_buf[1]; + +void longjmp(jmp_buf jmpb, int retval); +int setjmp(jmp_buf jmpb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef int signal_t; + + + + + + + + +typedef uint sigset_t; + + + +typedef long sig_t; + + + + + + + + + + + + + + + + + +extern char *sys_siglist[]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef unsigned short ino_t; +typedef unsigned short blkno_t; +typedef unsigned short dev_t; + + + + + + + + + + +typedef struct blkbuf_s blkbuf_t; + + +struct blkbuf_s + { + unsigned char bf_data[0x200 ]; + dev_t bf_dev; + blkno_t bf_blk; + unsigned char bf_dirty; + unsigned char bf_busy; + unsigned char bf_prio; + unsigned int bf_time; + + }; + + +typedef struct + { + unsigned char minors; + int (*dev_init)(unsigned char minor); + int (*dev_open)(unsigned char minor); + int (*dev_close)(unsigned char minor); + int (*dev_read)(unsigned char minor, unsigned char rawflag); + int (*dev_write)(unsigned char minor, unsigned char rawflag); + int (*dev_ioctl)(unsigned char minor, int cmd, void *data); + } devsw_t; + + + + + +extern blkbuf_t *Bufpool[3 ]; +extern devsw_t *Devtab[3 ]; + +extern unsigned int bufclock; + +extern unsigned int buf_hits; +extern unsigned int buf_miss; +extern unsigned int buf_flsh; + + + + + + + + + + + + + + + + + + + + + + +void *bread(dev_t dev, blkno_t blk, unsigned char rewrite); +int bfree(blkbuf_t *bp, unsigned char dirty); +void *zerobuf(unsigned char waitfor); +void bufsync(void); +blkbuf_t *bfind(int dev, blkno_t blk); +blkbuf_t *freebuf(unsigned char waitfor); +void bufdump(void); +devsw_t *validdev(dev_t dev, char *msg); +int bdreadwrite(blkbuf_t *bp, unsigned char write); +int cdreadwrite(dev_t dev, unsigned char write); +int d_openclose(dev_t dev, unsigned char open); +int d_ioctl(dev_t dev, int request, void *data); +void d_init(void); +int ok(unsigned char minor); +int ok_rdwr(unsigned char minor, unsigned char rawflag); +int nogood(unsigned char minor); +int nogood_rdwr(unsigned char minor, unsigned char rawflag); +int nogood_ioctl(unsigned char minor, int req, void *data); +void bufpool_garbage(int red); + + + + + + + + + + +typedef unsigned long rtctime_t; + +void rdtime(rtctime_t *tvec); +void sttime(rtctime_t *tvec); + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern void free (void *); +extern void *malloc (size_t); +extern void *realloc (void *, size_t); +extern void *calloc (size_t, size_t); +extern void *alloca (size_t); + + + + + + + + + +typedef struct { + int quot; + int rem; +} div_t; + + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + + + + + +extern void _exit (int); +extern void exit (int); +extern void abort (void); + +extern unsigned int sleep (unsigned int seconds); + +extern int rand (void); +extern void srand (uint seed); + +extern char *__longtoa (unsigned long, char *, int, char, char); +extern char *itoa (int value, char *strP, int radix); +extern char *ultoa (unsigned long value, char *strP, int radix); +extern char *ltoa (long value, char *strP, int radix); + +extern int atoi (char *str); +extern long atol (char *strP); + +extern char *_itoa (int value); +extern char *_ltoa (long value); +extern char *_ultoa (unsigned long value); + +extern char *ultostr (unsigned long value, int radix); +extern char *ltostr (long value, int radix); + +extern long strtol (char * nptr, char ** endptr, int base); +extern unsigned long strtoul (char * nptr, + char ** endptr, int base); + +extern double strtod (char * nptr, char ** endptr); + + +extern char **environ; +extern char *getenv (char *); +extern int putenv (char *); +extern int setenv (char *, char *, int); +extern void unsetenv (char *); + +typedef void (*atexit_t) (int); +typedef void (*onexit_t) (int, void *); +extern int atexit (atexit_t); +extern int on_exit (onexit_t, void *arg); +extern onexit_t __cleanup; + +extern char *crypt (char *__key, char *__salt); + +typedef int (*cmp_func_t) (void *, void *); + +extern int _bsearch; +extern void *bsearch (void *key, void *base, size_t num, size_t size, cmp_func_t cmp); +extern void *lfind (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *lsearch (void *key, void *base, size_t *num, size_t size, cmp_func_t cmp); +extern void *_qbuf; +extern void qsort (void *base, size_t num, size_t size, cmp_func_t cmp); + +extern int opterr; +extern int optind; +extern char *optarg; +extern int getopt (int argc, char *argv[], char *optstring); + +extern char *getpass(char *prompt); + +extern int _argc; +extern char **_argv; + + + + + + + + + + + + + + + + + + + + + + + + +extern size_t strlen (const char * __str); + +extern char * strcat (char *, const char *); +extern char * strcpy (char *, const char *); +extern int strcmp (const char *, const char *); + +extern char * strncat (char *, const char *, size_t); +extern char * strncpy (char *, const char *, size_t); +extern int strncmp (const char *, const char *, size_t); + +extern int stricmp (const char *, const char *); +extern strnicmp (const char *, const char *, size_t); + +extern char * strchr (const char *, int); +extern char * strrchr (const char *, int); +extern char * strdup (const char *); + + +extern void * memcpy (void *, const void *, size_t); +extern void * memccpy (void *, const void *, int, size_t); +extern void * memchr (const void *, int, size_t); +extern void * memset (void *, int, size_t); +extern int memcmp (const void *, const void *, size_t); + +extern void * memmove (void *, const void *, size_t); + + + + + + + + +char *strpbrk (const char *, const char *); +char *strsep (char **, const char *); +char *strstr (const char *, const char *); +char *strtok (char *, const char *); +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef long int32; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char byte_t; +typedef unsigned char uint8; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int availmem(void); +void *callocw(unsigned nelem,unsigned size); +int32 clock(); +int dirps(void); +void free(void *); + +int getopt(int argc,char *argv[],char *opts); +void getrand(unsigned char *buf,int len); +int htob(char c); +int htoi(char *); +int readhex(uint8 *,char *,int); +long htol(char *); +char *inbuf(uint16 port,char *buf,uint16 cnt); +uint16 hash_ip(int32 addr); +int istate(void); + + + + +int ilog2(uint16 x); +void *ltop(long); +void *malloc(size_t nb); +void *mallocw(size_t nb); +int memcnt(uint8 *buf,uint8 c,int size); +void memxor(uint8 *,uint8 *,unsigned int); +char *outbuf(uint16 port,char *buf,uint16 cnt); +int32 rdclock(void); +void restore(int); +void rip(char *); +char *smsg(char *msgs[],unsigned nmsgs,unsigned n); +void stktrace(unsigned short dummy_parameter); + +char *strdupw(const char *); + +int urandom(unsigned int n); +int wildmat(char *s,char *p,char **argv); + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int optind; +extern char *optarg; + + +extern int32 Memthresh; + + +extern int32 Clock; + + +extern char Badhost[]; +extern char Nospace[]; +extern char Notval[]; +extern char *Hostname; +extern char Version[]; +extern char Whitespace[]; + + +extern char Eol[]; + + +extern char System[]; + + +extern char *Tmpdir; + +extern unsigned Nfiles; +extern unsigned Nsock; + +extern void (*Gcollect[])(); + + + +unsigned char inportb(unsigned short port); +void outportb(unsigned short port, unsigned char value); +unsigned char read_escc(unsigned short port, unsigned char strchr); +void write_escc(unsigned short port, unsigned char strchr, unsigned char value); +void enable(void); +void disable(void); +void abyte(char data); +void acrlf(void); +void ahexw(int data); +void amess(char *ptr); +void copyr(unsigned long src, unsigned long dest, size_t count); +int diag_open(int dev); +int diag_close(int dev); +int diag_write(int dev, const char *buffer, size_t count); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern int access (char *path, int mode); +extern int alarm (uint secs); +extern int brk (char *addr); +extern int chdir (char *dir); +extern int chroot (char *dir); +extern int chmod (char *path, mode_t mode); +extern int chown (char *path, int owner, int group); +extern int close (int uindex); +extern int creat (const char *name, mode_t mode); +extern int dup (int oldd); +extern int dup2 (int oldd, int newd); +extern int execve (char *name, char *argv[], char *envp[]); +extern int fork (void); +extern int fstat (int fd, struct stat *buf); + +extern int falign (int fd, int parm); + +extern int getfsys (int dev, void *buf); +extern int getgid (void); +extern int getpid (void); +extern int getppid (void); +extern int getuid (void); +extern int geteuid (void); +extern int getegid (void); +extern int getprio (void); + +extern int ioctl (int fd, int request, ...); + +extern int kill (int pid, int sig); +extern int link (const char *oldname, const char *newname); +extern int symlink (char *oldname, char *newname); +extern int mknod (char *name, mode_t mode, int dev); +extern int mkfifo (char *name, mode_t mode); +extern int mount (char *spec, char *dir, int rwflag); + +extern int open (const char *name, int flag, ...); + +extern int pause (void); +extern int pipe (int fildes[2]); +extern int read (int d, void *buf, size_t nbytes); +extern int sbrk (uint incr); +extern off_t lseek (int file, off_t offset, int whence); +extern int setgid (int gid); +extern int setuid (int uid); +extern int setprio (int pid, char prio); +extern sig_t signal (signal_t sig, sig_t func); +extern int stat (char *path, struct stat *buf); +extern int stime (time_t *tvec); +extern void sync (void); +extern time_t time (time_t *tvec); +extern int times (struct tms *buf); +extern int utime (char *path, struct utimbuf *buf); +extern int umask (int mask); +extern int umount (char *spec); +extern int unlink (const char *path); +extern int wait (int *statloc); +extern int write (int d, const void *buf, size_t nbytes); +extern int reboot (char p1, char p2); +extern int systrace (int onoff); + +extern int sysdebug (int onoff); + + +extern int _access (char *path, int mode); +extern int _alarm (uint secs); +extern int _brk (char *addr); +extern int _chdir (char *dir); +extern int _chroot (char *dir); +extern int _chmod (char *path, mode_t mode); +extern int _chown (char *path, int owner, int group); +extern int _close (int uindex); +extern int _creat (const char *name, mode_t mode); +extern int _dup (int oldd); +extern int _dup2 (int oldd, int newd); +extern int _execve (char *name, char *argv[], char *envp[]); +extern int _fork (void); +extern int _fstat (int fd, struct stat *buf); + +extern int _falign (int fd, int parm); + +extern int _getfsys (int dev, void *buf); +extern int _getgid (void); +extern int _getpid (void); +extern int _getppid (void); +extern int _getuid (void); +extern int _geteuid (void); +extern int _getegid (void); +extern int _getprio (void); + +extern int _ioctl (int fd, int request, ...); + +extern int _kill (int pid, int sig); +extern int _link (const char *oldname, const char *newname); +extern int _symlink (char *oldname, char *newname); +extern int _mknod (char *name, mode_t mode, int dev); +extern int _mkfifo (char *name, mode_t mode); +extern int _mount (char *spec, char *dir, int rwflag); + +extern int _open (const char *name, int flag, ...); + +extern int _pause (void); +extern int _pipe (int fildes[2]); +extern int _read (int d, void *buf, size_t nbytes); +extern int _sbrk (uint incr); +extern off_t _lseek (int file, off_t offset, int whence); +extern int _setgid (int gid); +extern int _setuid (int uid); +extern int _setprio (int pid, char prio); +extern sig_t _signal (signal_t sig, sig_t func); +extern int _stat (char *path, struct stat *buf); +extern int _stime (time_t *tvec); +extern void _sync (void); +extern time_t _time (time_t *tvec); +extern int _times (struct tms *buf); +extern int _utime (char *path, struct utimbuf *buf); +extern int _umask (int mask); +extern int _umount (char *spec); +extern int _unlink (const char *path); +extern int _wait (int *statloc); +extern int _write (int d, const void *buf, size_t nbytes); +extern int _reboot (char p1, char p2); +extern int _systrace (int onoff); + +extern int _sysdebug (int onoff); + + +extern int unix (int callno, ...); +extern long unix_long (int callno, ...); + + + + + + + + + + + + + + + + + + + + + + +extern int mkdir (char *, mode_t); +extern int rmdir (char *); + +extern long tell (int); +extern off_t lseek (int, off_t, int); + +extern int isatty (int); + +extern int lstat (char *, void *); +extern int readlink (char *, char *, int); + +extern char **environ; + +extern char * _findPath (char *pathname); +extern int execl (char *pathname, char *arg0, ...); +extern int execle (char *pathname, char *arg0, ...); +extern int execlp (char *pathname, char *arg0, ...); +extern int execlpe (char *pathname, char *arg0, ...); +extern int execv (char *pathname, char *argv[]); +extern int exect (char *pathname, char *argv[], char *envp[]); +extern int execvp (char *pathname, char *argv[]); +extern int execvpe (char *pathname, char *argv[], char *envp[]); + +extern char *ttyname (int); +extern int system (char *); +extern int pause (void); +extern int fork (void); +extern char *getcwd (char *, int); + + + + + + + + + + + + + + + + + + +int max_int(int a, int b); +long max_long(long a, long b); +unsigned int max_uint(unsigned int a, unsigned int b); +unsigned long max_ulong(unsigned long a, unsigned long b); +int min_int(int a, int b); +long min_long(long a, long b); +unsigned int min_uint(unsigned int a, unsigned int b); +unsigned long min_ulong(unsigned long a, unsigned long b); + + + + + + + + + + + + +struct _file{ + unsigned cookie; + + int refcnt; + struct _file *prev; + struct _file *next; + + int fd; + long offset; + + enum { + _FL_FILE, + _FL_SOCK, + _FL_ASY, + + _FL_DIAG, + + _FL_DISPLAY, + _FL_PIPE + } type; + + enum { + _IOFBF=1, + _IOLBF, + _IONBF + } bufmode; + + struct { + unsigned int err:1; + unsigned int eof:1; + unsigned int ascii:1; + unsigned int append:1; + unsigned int tmp:1; + unsigned int partread:1; + } flags; + struct mbuf *obuf; + struct mbuf *ibuf; + char eol[3]; + int bufsize; + void *ptr; +}; + +typedef struct _file FILE; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FILE *asyopen(char *name,char *mode); + +FILE *diagopen(int dev, char *mode); + +int close(int fd); +FILE *displayopen(char *mode,int noscrol,int sfsize); +int fblock(FILE *fp,int mode); +int fclose(FILE *fp); +void fcloseall(void); +FILE *fdopen(int handle,char *mode); +FILE *fdup(FILE *fp); +int fflush(FILE *fp); +int fgetc(FILE *fp); +int _fgetc(FILE *fp); +char *fgets(char *buf,int len,FILE *fp); +void flushall(void); +int fmode (FILE *fp,int mode); +char *fpname(FILE *fp); +int fprintf(FILE *fp,char *fmt,...); +int fputc(int c,FILE *fp); +int fputs(char *buf,FILE *fp); +size_t fread(void *ptr,size_t size,size_t n,FILE *fp); +FILE *freopen(char *name,char *mode,FILE *fp); +int fseek(FILE *fp,long offset,int whence); +long ftell(FILE *fp); +size_t fwrite(void *ptr,size_t size,size_t n,FILE *fp); +char *gets(char *s); +void perror(const char *s); +FILE *pipeopen(void); +int printf(char *fmt,...); +int puts(char *s); +int rename(const char *,const char *); +void setbuf(FILE *fp,char *buf); +int seteol(FILE *fp,char *seq); +int setvbuf(FILE *fp,char *buf,int type,int size); +int sprintf(char *,char *, ...); +int sscanf(char *,char *,...); +FILE *tmpfile(void); +char *tmpnam(char *); +int ungetc(int c,FILE *fp); +int unlink(const char *); +int vfprintf(FILE *fp,char *fmt, void *args); +int vprintf(char *fmt, void *args); +int vsprintf(char *,char *,void *); + +extern int _clrtmp; + + + + + + + + + + + + + + + + + + + + + +typedef void *va_list; + + + + + + + + + + + + + + + + + + + + + + +int dprintf(int level, const char *format, ...); +int vdprintf(int level, const char *format, va_list arguments); +unsigned int dputter(void *ptr, unsigned int n, FILE *fp); + + + + + + +typedef void _char(void); + +int _dprintf(int level, _char *format, ...); +int _vdprintf(int level, _char *format, va_list arguments); +int _fprintf(FILE *stream, _char *format, ...); +int _vfprintf(FILE *stream, _char *format, va_list arguments); +int _fputs(_char *string, FILE *stream); +int _printf(_char *format, ...); +int _vprintf(_char *format, va_list arguments); +int _puts(_char *string); +char *_strcpy(char *buffer, _char *string); +int _strlen(_char *string); + + + + +int _strncmp(const char *buffer, _char *string, size_t count); +char *_strncpy(char *buffer, _char *string, size_t count); + +int _stricmp(const char *buffer, _char *string); + + + + +const char *_gettext(_char *string); + + + + + + + + + + + + + + + + + + + + + + +typedef struct + { + unsigned short i_mode; + unsigned short i_nlink; + unsigned short i_uid; + unsigned short i_gid; + off_t i_size; + rtctime_t i_atime; + rtctime_t i_mtime; + rtctime_t i_ctime; + blkno_t i_addr[(18 +1 +1 )]; + } dinode_t; + + + + +typedef struct + { + unsigned short c_magic; + unsigned char c_dirty; + dev_t c_dev; + ino_t c_num; + unsigned short c_refs; + unsigned char c_ro; + dinode_t c_node; + } cinode_t; + + + + +typedef struct + { + off_t o_ptr; + cinode_t *o_inode; + unsigned char o_access; + unsigned char o_refs; + } oft_t; + + + + + + + + + + +typedef struct + { + unsigned short s_mounted; + unsigned short s_reserv; + unsigned short s_isize; + unsigned short s_fsize; + + blkno_t s_tfree; + + + + + + ino_t s_tinode; + + + + + + rtctime_t s_time; + + + blkno_t s_bitmap_inode; + blkno_t s_bitmap_block; + blkno_t s_bitmap_immov; + blkno_t s_bitmap_final; + + + + unsigned char s_fmod; + unsigned char s_ronly; + cinode_t *s_mntpt; + dev_t s_dev; + } filesys_t; + +extern dev_t root_dev; +extern cinode_t *root_ino; + +extern filesys_t *Fstab[1 ]; +extern cinode_t *Inotab[5 ]; +extern oft_t *Oftab[15 ]; + +extern _char *Baddevmsg; + + + + +void fs_init(void); +filesys_t *findfs(dev_t devno); +filesys_t *getfs(dev_t devno); +int wr_inode(cinode_t *ino); +void i_ref(cinode_t *ino); +void i_deref(cinode_t *ino); +void i_free(dev_t devno, ino_t ino); +cinode_t *_namei(unsigned char *name, unsigned char **rest, + cinode_t *strt, cinode_t **parent); +cinode_t *namei(char *uname, cinode_t **parent, unsigned char follow); +cinode_t *srch_dir(cinode_t *wd, char *name); +cinode_t *srch_mt(cinode_t *ino); +cinode_t *i_open(dev_t devno, ino_t ino); +int ch_link(cinode_t *wd, char *oldname, char *newname, cinode_t *nindex); +void filename(char *upath, char *name); +int namecomp(unsigned char *n1, unsigned char *n2); +cinode_t *newfile(cinode_t *pino, char *name); +int filesys_doclose(unsigned int fd); +ino_t i_alloc(dev_t devno); +blkno_t blk_alloc(dev_t devno, unsigned char dirty); +void blk_free(dev_t devno, blkno_t blk); +unsigned char oft_alloc(void); +void oft_deref(unsigned char of); +unsigned char uf_alloc(void); +unsigned char isdevice(cinode_t *ino); +void freeblk(dev_t dev, blkno_t blk, unsigned char level); +void f_trunc(cinode_t *ino); +blkno_t bmap(cinode_t *ip, blkno_t bn, unsigned char rdflg); +void validblk(dev_t devno, blkno_t num); +cinode_t *getinode(unsigned int uindex); +int getperm(cinode_t *ino); +void setftim(cinode_t *ino, unsigned char flag); +int fmount(dev_t dev, cinode_t *ino, unsigned char roflag); +void magic(cinode_t *ino, char *who); +void i_sync(void); +void fs_sync(void); +void inotab_garbage(int red); +void oftab_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +typedef struct ptab_s ptab_t; + + +struct ptab_s + { + char p_status; + + + + int p_pid; + int p_uid; + ptab_t *p_pptr; + unsigned int p_alarm; + unsigned int p_exitval; + + + unsigned long p_zombie[2]; + + + + + + unsigned char p_cprio; + signed char p_nice; + unsigned short p_pending; + unsigned short p_ignored; + + + + + + + unsigned int p_break; + + + + + + unsigned int p_threads; + + + int p_gid; + int p_euid; + int p_egid; + int p_umask; + rtctime_t p_time; + + cinode_t *p_cwd; + + + + + void *p_isp; + int (*p_sigvec[16 ])(); + + + + unsigned long p_utime; + unsigned long p_stime; + unsigned long p_cutime; + unsigned long p_cstime; + + + + cinode_t *p_root; + + int p_traceme; + unsigned int p_debugme; + + unsigned char p_files[10 ]; + }; + +extern ptab_t *Ptab[20 ]; + + +typedef struct + { + ptab_t *u_ptab; + + unsigned char u_insys; + unsigned char u_callno; + + + + int u_retval; + int u_retval1; + int u_error; + + + + + + int u_argn0; + int u_argn1; + int u_argn2; + int u_argn3; + + void *u_base; + unsigned int u_count; + off_t u_offset; + blkbuf_t *u_buf; + unsigned char u_sysio; + } udata_t; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void mainptab(void); +ptab_t *newptab(void); +ptab_t *findprocess(int pid); +ptab_t *forkprocess(ptab_t *parent); +void allocatepid(ptab_t *child); +int panic(char *message, ...); +int _panic(_char *message, ...); +int valadr(void *base, size_t size); +void ptab_garbage(int red); + + + + + + + + + + + + + + +extern unsigned Ibufsize; +extern int Nibufs; +extern long Pushdowns; +extern long Pushalloc; + + +struct mbuf { + struct mbuf *next; + struct mbuf *anext; + uint16 size; + int refcnt; + struct mbuf *dup; + uint8 *data; + uint16 cnt; +}; + + + + + + + + + + + + +struct mbuf *alloc_mbuf(uint16 size); +struct mbuf *free_mbuf(struct mbuf **bpp); + +struct mbuf *ambufw(uint16 size); +struct mbuf *copy_p(struct mbuf *bp,uint16 cnt); +uint16 dup_p(struct mbuf **hp,struct mbuf *bp,uint16 offset,uint16 cnt); +uint16 extract(struct mbuf *bp,uint16 offset,void *buf,uint16 len); +struct mbuf *free_p(struct mbuf **bpp); +uint16 len_p(struct mbuf *bp); +void trim_mbuf(struct mbuf **bpp,uint16 length); +int write_p(FILE *fp,struct mbuf *bp); + +struct mbuf *dequeue(struct mbuf **q); +void enqueue(struct mbuf **q,struct mbuf **bpp); +void free_q(struct mbuf **q); +uint16 len_q(struct mbuf *bp); + +struct mbuf *qdata(void *data,uint16 cnt); +uint16 dqdata(struct mbuf *bp,void *buf,unsigned cnt); + +void append(struct mbuf **bph,struct mbuf **bpp); +void pushdown(struct mbuf **bpp,void *buf,uint16 size); +uint16 pullup(struct mbuf **bph,void *buf,uint16 cnt); + + + + + + +int pull8(struct mbuf **bpp); +long pull16(struct mbuf **bpp); +int32 pull32(struct mbuf **bpp); + +uint16 get16(uint8 *cp); +int32 get32(uint8 *cp); +uint8 *put16(uint8 *cp,uint16 x); +uint8 *put32(uint8 *cp,int32 x); + +void iqstat(void); +void refiq(void); +void mbuf_crunch(struct mbuf **bpp); + +void mbufsizes(void); +void mbufstat(void); +void mbuf_garbage(int red); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct timer { + struct timer *next; + int32 duration; + int32 expiration; + void (*func)(void *); + void *arg; + char state; + + + +}; + + + + + + + + + + + +extern int Tick; +extern void (*Cfunc[])(); + + +void kalarm(int32 ms); +int ppause(int32 ms); +int32 read_timer(struct timer *t); +void set_timer(struct timer *t,int32 x); +void start_timer(struct timer *t); +void stop_timer(struct timer *timer); +char *tformat(int32 t); + + +int32 msclock(void); +int32 secclock(void); +int32 usclock(void); + + + + + + + + +struct proc { + struct proc *prev; + struct proc *next; + + struct { + unsigned int suspend:1; + unsigned int waiting:1; + unsigned int istate:1; + unsigned int sset:1; + unsigned int freeargs:1; + } flags; + jmp_buf env; + jmp_buf sig; + int signo; + void *event; + uint16 *stack; + unsigned stksize; + char *name; + int retval; + struct timer alarm; + FILE *input; + FILE *output; + int iarg; + void *parg1; + void *parg2; + + void (*startp)(int i, void * p, void *u); + + + ptab_t *p_ptab; + + + udata_t *p_udata; + int p_errno; + +}; +extern struct proc *Waittab[]; +extern struct proc *Rdytab; +extern struct proc *Curproc; + +extern ptab_t *Curptab; + +extern struct proc *Susptab; +extern int Stkchk; +extern int Kdebug; + +struct sigentry { + void *event; + int n; +}; +struct ksig { + struct sigentry entry[200 ]; + struct sigentry *wp; + struct sigentry *rp; + volatile int nentries; + int maxentries; + int32 duksigs; + int lostsigs; + int32 ksigs; + int32 ksigwakes; + int32 ksignops; + int32 ksigsqueued; + int32 kwaits; + int32 kwaitnops; + int32 kwaitints; +}; +extern struct ksig Ksig; + + + + + + + + + + + + + +void alert(struct proc *pp,int val); +void chname(struct proc *pp,char *newname); +void killproc(struct proc *pp); +void killself(void); +void mainproc(void); +struct proc *newproc(char *name,unsigned int stksize, + void (*pc)(int,void *,void *), + int iarg,void *parg1,void *parg2,int freeargs); +void ksignal(void *event,int n); +int kwait(void *event); +void resume(struct proc *pp); +int setsig(int val); +void suspend(struct proc *pp); + + +void chkstk(void); +void kinit(void); +unsigned phash(void *event); + +void psetup(struct proc *pp); + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *strerror (int _errno); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct iface; +struct iftype { + char *name; + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + char *(*format)(char *,uint8 *); + + int (*scan)(uint8 *,char *); + + int type; + int hwalen; + void (*rcvf)(struct iface *,struct mbuf **); + + int (*addrtest)(struct iface *,struct mbuf *); + + void (*trace)(FILE *,struct mbuf **,int); + + int (*dinit)(struct iface *,int32,int,char **); + + int (*dstat)(struct iface *); + +}; +extern struct iftype Iftypes[]; + + + +struct iface { + struct iface *next; + char *name; + + int32 addr; + int32 broadcast; + int32 netmask; + + uint16 mtu; + + uint16 trace; + + + + + + + FILE *trfp; + + struct iface *forw; + + struct proc *rxproc; + struct proc *txproc; + struct proc *supv; + + struct mbuf *outq; + int outlim; + int txbusy; + + void *dstate; + int (*dtickle)(struct iface *); + + void (*dstatus)(struct iface *); + + + + int dev; + + int32 (*ioctl)(struct iface *,int cmd,int set,int32 val); + + int (*iostatus)(struct iface *,int cmd,int32 val); + + int (*stop)(struct iface *); + uint8 *hwaddr; + + + void *edv; + int xdev; + struct iftype *iftype; + + + int (*send)(struct mbuf **,struct iface *,int32,uint8); + + int (*output)(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); + + int (*raw)(struct iface *,struct mbuf **); + + void (*show)(struct iface *); + + int (*discard)(struct iface *,struct mbuf **); + int (*echo)(struct iface *,struct mbuf **); + + + int32 ipsndcnt; + int32 rawsndcnt; + int32 iprecvcnt; + int32 rawrecvcnt; + int32 lastsent; + int32 lastrecv; +}; +extern struct iface *Ifaces; +extern struct iface Loopback; +extern struct iface Encap; + + +struct qhdr { + uint8 tos; + int32 gateway; +}; + +extern char Noipaddr[]; +extern struct mbuf *Hopper; + + +int bitbucket(struct iface *ifp,struct mbuf **bp); +int if_detach(struct iface *ifp); +struct iface *if_lookup(char *name); +char *if_name(struct iface *ifp,char *comment); +void if_tx(int dev,void *arg1,void *unused); +struct iface *ismyaddr(int32 addr); +void network(int i,void *v1,void *v2); +int nu_send(struct mbuf **bpp,struct iface *ifp,int32 gateway,uint8 tos); +int nu_output(struct iface *,uint8 *,uint8 *,uint16,struct mbuf **); +int setencap(struct iface *ifp,char *mode); + + +int net_route(struct iface *ifp,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct pseudo_header { + int32 source; + int32 dest; + char protocol; + uint16 length; +}; + + +struct mib_entry { + char *name; + union { + int32 integer; + } value; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Hashtab[]; + + +extern struct mib_entry Ip_mib[]; + + + + + + + + + + + + + + + + + + + + + + + + + +struct ip { + int32 source; + int32 dest; + uint16 length; + uint16 id; + uint16 offset; + uint16 checksum; + + struct { + unsigned int congest:1; + unsigned int df:1; + unsigned int mf:1; + } flags; + + uint8 version; + uint8 tos; + uint8 ttl; + uint8 protocol; + uint8 optlen; + uint8 options[40 ]; +}; + + + + + + + + + + + + + + + + + + + + + +struct route { + struct route *prev; + struct route *next; + int32 target; + unsigned int bits; + int32 gateway; + int32 metric; + struct iface *iface; + struct { + unsigned int rtprivate:1; + unsigned int rttrig:1; + } flags; + struct timer timer; + int32 uses; +}; +extern struct route *Routes[32][7 ]; +extern struct route R_default; + + + + +struct rt_cache { + int32 target; + struct route *route; +}; +extern struct rt_cache Rt_cache[]; +extern int32 Rtlookups; +extern int32 Rtchits; + +extern uint16 Id_cntr; + + +struct reasm { + struct reasm *next; + struct timer timer; + struct frag *fraglist; + uint16 length; + int32 source; + int32 dest; + uint16 id; + char protocol; +}; + + +struct frag { + struct frag *prev; + struct frag *next; + struct mbuf *buf; + uint16 offset; + uint16 last; +}; + +extern struct reasm *Reasmq; + + +struct raw_ip { + struct raw_ip *next; + + struct mbuf *rcvq; + void (*r_upcall)(struct raw_ip *); + int protocol; + int user; +}; + + +extern struct raw_ip *Rawip; + + +struct iplink { + char proto; + char *name; + void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32); + void (*dump)(FILE *,struct mbuf **,int32,int32,int); +}; +extern struct iplink Iplink[]; + + +extern int Tcp_interact[]; + +extern int Ip_trace; + + +void ip_garbage(int drastic); +void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast, int32 said); +void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl, + struct mbuf **bpp,uint16 length,uint16 id,char df); +struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) ); +void del_ip(struct raw_ip *rrp); +void rquench(struct iface *ifp,int drop); + + +void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi); + + +void ipinit(void); +uint16 ip_mtu(int32 addr); +void encap_tx(int dev,void *arg1,void *unused); +int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos); +void ip_proc(struct iface *iface,struct mbuf **bpp); +int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast); +int32 locaddr(int32 addr); +void rt_merge(int trace); +struct route *rt_add(int32 target,unsigned int bits,int32 gateway, + struct iface *iface,int32 metric,int32 ttl,uint8 private); +int rt_drop(int32 target,unsigned int bits); +struct route *rt_lookup(int32 target); +struct route *rt_blookup(int32 target,unsigned int bits); + + +uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len); +uint16 eac(int32 sum); +void htonip(struct ip *ip,struct mbuf **data,int cflag); +int ntohip(struct ip *ip,struct mbuf **bpp); + + +uint16 lcsum(uint16 *wp,uint16 len); + + +void net_sim(struct mbuf *bp); + + + + + + + + + + + + + + + + +extern int32 Ip_addr; +extern int Net_error; +extern char Inet_eol[]; + + + + + + + + + + + + + + + + + + + +struct socket { + int32 address; + uint16 port; +}; + + +struct connection { + struct socket local; + struct socket remote; +}; + +int32 resolve(char *name); +int32 resolve_mx(char *name); +char *resolve_a(int32 ip_address, int shorten); + + +int32 aton(char *s); +char *inet_ntoa(int32 a); +char *pinet(struct socket *s); + + + + + +extern struct mib_entry Udp_mib[]; + + + + + + + + + +struct udp { + uint16 source; + uint16 dest; + uint16 length; + uint16 checksum; +}; + + + + + + +struct udp_cb { + struct udp_cb *next; + struct socket socket; + void (*r_upcall)(struct iface *iface,struct udp_cb *,int); + + struct mbuf *rcvq; + int rcvcnt; + int user; +}; +extern struct udp_cb *Udps; + + + + +int del_udp(struct udp_cb *up); +struct udp_cb *open_udp(struct socket *lsocket, + void (*r_upcall)(struct iface *iface,struct udp_cb *,int)); +int recv_udp(struct udp_cb *up,struct socket *fsocket,struct mbuf **bp); +int send_udp(struct socket *lsocket,struct socket *fsocket,char tos, + char ttl,struct mbuf **data,uint16 length,uint16 id,char df); +void udp_input(struct iface *iface,struct ip *ip,struct mbuf **bp, + int rxbroadcast,int32 said); +void udp_garbage(int drastic); + + + + + + + + + + +int st_udp(struct udp_cb *udp,int n); + + +void htonudp(struct udp *udp,struct mbuf **data,struct pseudo_header *ph); +int ntohudp(struct udp *udp,struct mbuf **bpp); +uint16 udpcksum(struct mbuf *bp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct sockaddr { + short sa_family; + char sa_data[14]; +}; + + +struct in_addr { + unsigned long s_addr; +}; + + +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char *Sock_errlist[]; + + +extern int Axi_sock; + +int accept(int s,struct sockaddr *peername,int *peernamelen); +int bind(int s,struct sockaddr *name,int namelen); +int close_s(int s); +int connect(int s,struct sockaddr *peername,int peernamelen); +char *eolseq(int s); +void freesock(struct proc *pp); +int getpeername(int s,struct sockaddr *peername,int *peernamelen); +int getsockname(int s,struct sockaddr *name,int *namelen); +int listen(int s,int backlog); +int recv_mbuf(int s,struct mbuf **bpp,int flags,struct sockaddr *from,int *fromlen); +int send_mbuf(int s,struct mbuf **bp,int flags,struct sockaddr *to,int tolen); +int settos(int s,int tos); +int shutdown(int s,int how); +int socket(int af,int type,int protocol); +void sockinit(void); +int sockkick(int s); +int socklen(int s,int rtx); +struct proc *sockowner(int s,struct proc *newowner); +int usesock(int s); +int socketpair(int af,int type,int protocol,int sv[]); + + +void flushsocks(void); +int recv(int s,void *buf,int len,int flags); +int recvfrom(int s,void *buf,int len,int flags,struct sockaddr *from,int *fromlen); +int send(int s,void *buf,int len,int flags); +int sendto(int s,void *buf,int len,int flags,struct sockaddr *to,int tolen); + + +char *psocket(void *p); +char *sockerr(int s); +char *sockstate(int s); + + +int start_tcp(uint16 port,char *name,void (*task)(),int stack); +int stop_tcp(uint16 port); + + + + + + + + + + + + + + +struct zentry { + uint16 code; + char data; +}; +struct zfast { + uint16 owncode; + uint16 code; + char data; +}; + + + +struct lzw { + uint16 codebits; + int maxbits; + + int32 prefix; + char mode; + + + union { + struct zentry **tbl; + + struct mbuf **bpp; + + void *p; + } tu; + int nextbit; + int version; + + int32 cnt; + int32 code; + int32 next; + int flushbit; + + struct mbuf *buf; +}; + +struct usock; +void lzwencode(int s,char c); +void lzwinit(int s,int bits,int mode); +void lzwfree(struct usock *up); +void lzwflush(struct usock *up); +int lzwdecode(struct usock *up); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct tcp { + uint16 source; + uint16 dest; + int32 seq; + int32 ack; + uint16 wnd; + uint16 checksum; + uint16 up; + uint16 mss; + uint8 wsopt; + uint32 tsval; + uint32 tsecr; + struct { + unsigned int congest:1; + unsigned int urg:1; + unsigned int ack:1; + unsigned int psh:1; + unsigned int rst:1; + unsigned int syn:1; + unsigned int fin:1; + unsigned int mss:1; + unsigned int wscale:1; + unsigned int tstamp:1; + } flags; + + + + + + + + + + char optlen; + char options[40 ]; + +}; + + + + + + + + + + + +struct reseq { + struct reseq *next; + struct tcp seg; + struct mbuf *bp; + uint16 length; + char tos; +}; + +enum tcp_state { + TCP_CLOSED=1, + TCP_LISTEN, + TCP_SYN_SENT, + TCP_SYN_RECEIVED, + TCP_ESTABLISHED, + TCP_FINWAIT1, + TCP_FINWAIT2, + TCP_CLOSE_WAIT, + TCP_LAST_ACK, + TCP_CLOSING, + TCP_TIME_WAIT +}; + + +struct tcb { + struct tcb *next; + + struct connection conn; + + enum tcp_state state; + + char reason; + + + + + + + uint8 type; + uint8 code; + + + struct { + int32 una; + int32 nxt; + int32 ptr; + int32 wl1; + int32 wl2; + int32 wnd; + uint16 up; + uint8 wind_scale; + } snd; + int32 iss; + int32 resent; + int32 cwind; + int32 ssthresh; + int dupacks; + + + struct { + int32 nxt; + int32 wnd; + uint16 up; + uint8 wind_scale; + } rcv; + int32 last_ack_sent; + int32 ts_recent; + + int32 irs; + int32 rerecv; + int32 mss; + + int32 window; + int32 limit; + + void (*r_upcall)(struct tcb *tcb,int32 cnt); + + void (*t_upcall)(struct tcb *tcb,int32 cnt); + + void (*s_upcall)(struct tcb *tcb,int old,int new); + + struct { + unsigned int force:1; + unsigned int clone:1; + unsigned int retran:1; + unsigned int active:1; + unsigned int synack:1; + unsigned int rtt_run:1; + unsigned int congest:1; + int ts_ok:1; + int ws_ok:1; + } flags; + char tos; + int backoff; + + struct mbuf *rcvq; + struct mbuf *sndq; + int32 rcvcnt; + int32 sndcnt; + + + + + struct reseq *reseq; + struct timer timer; + int32 rtt_time; + int32 rttseq; + int32 rttack; + int32 srtt; + int32 mdev; + int32 rtt; + + int user; + + + int32 quench; + int32 unreach; + int32 timeouts; + int32 lastack; + int32 txbw; + int32 lastrx; + int32 rxbw; +}; + +struct tcp_rtt { + int32 addr; + int32 srtt; + int32 mdev; +}; +extern struct tcp_rtt Tcp_rtt[]; +extern int (*Kicklist[])(); + + +struct tcp_stat { + uint16 runt; + uint16 checksum; + uint16 conout; + uint16 conin; + uint16 resets; + uint16 bdcsts; +}; +extern struct mib_entry Tcp_mib[]; + + + + + + + + + + + + + + + + +extern struct tcb *Tcbs; +extern char *Tcpstates[]; +extern char *Tcpreasons[]; + + +extern int Tcp_tstamps; +extern int32 Tcp_irtt; +extern uint16 Tcp_limit; +extern uint16 Tcp_mss; +extern int Tcp_syndata; +extern int Tcp_trace; +extern uint16 Tcp_window; + +void st_tcp(struct tcb *tcb); + + +void htontcp(struct tcp *tcph,struct mbuf **data, + int32 ipsrc,int32 ipdest); +int ntohtcp(struct tcp *tcph,struct mbuf **bpp); + + +void reset(struct ip *ip,struct tcp *seg); +void send_syn(struct tcb *tcb); +void tcp_input(struct iface *iface,struct ip *ip,struct mbuf **bpp, + int rxbroadcast,int32 said); +void tcp_icmp(int32 icsource,int32 source,int32 dest, + uint8 type,uint8 code,struct mbuf **bpp); + + +void close_self(struct tcb *tcb,int reason); +struct tcb *create_tcb(struct connection *conn); +struct tcb *lookup_tcb(struct connection *conn); +void rtt_add(int32 addr,int32 rtt); +struct tcp_rtt *rtt_get(int32 addr); +int seq_ge(int32 x,int32 y); +int seq_gt(int32 x,int32 y); +int seq_le(int32 x,int32 y); +int seq_lt(int32 x,int32 y); +int seq_within(int32 x,int32 low,int32 high); +void settcpstate(struct tcb *tcb,enum tcp_state newstate); +void tcp_garbage(int red); + + +void tcp_output(struct tcb *tcb); + + +int32 backoff(int n); +void tcp_timeout(void *p); + + +int close_tcp(struct tcb *tcb); +int del_tcp(struct tcb *tcb); +int kick(int32 addr); +int kick_tcp(struct tcb *tcb); +struct tcb *open_tcp(struct socket *lsocket,struct socket *fsocket, + int mode,uint16 window, + void (*r_upcall)(struct tcb *tcb,int32 cnt), + void (*t_upcall)(struct tcb *tcb,int32 cnt), + void (*s_upcall)(struct tcb *tcb,int old,int new), + int tos,int user); +int32 recv_tcp(struct tcb *tcb,struct mbuf **bpp,int32 cnt); +void reset_all(void); +void reset_tcp(struct tcb *tcb); +long send_tcp(struct tcb *tcb,struct mbuf **bpp); +char *tcp_port(uint16 n); +int tcpval(struct tcb *tcb); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern char Ax25_eol[]; + + + + + + + + + + + + + + + +extern uint8 Mycall[7 ]; + + +extern uint8 Ax25multi[][7 ]; + +extern int Digipeat; +extern int Ax25mbox; + + + + + + + +struct sockaddr_ax { + short sax_family; + uint8 ax25_addr[7 ]; + char iface[(sizeof(struct sockaddr) - sizeof(short) - 7 )]; +}; + + +struct ax25 { + uint8 dest[7 ]; + uint8 source[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + int nextdigi; + enum { + LAPB_UNKNOWN, + LAPB_COMMAND, + LAPB_RESPONSE + } cmdrsp; +}; + + +struct ax_route { + struct ax_route *next; + uint8 target[7 ]; + uint8 digis[7 ][7 ]; + int ndigis; + enum { + AX_LOCAL, + AX_AUTO + } type; +}; + +extern struct ax_route *Ax_routes; +extern struct ax_route Ax_default; + + + + + + + + + + + + + + +struct lqhdr { + uint16 version; + + int32 ip_addr; +}; + + +struct lqentry { + uint8 addr[7 ]; + int32 count; +}; + + + + + +struct lq { + struct lq *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; + + +}; + +extern struct lq *Lq; + + +struct ld { + struct ld *next; + uint8 addr[7 ]; + struct iface *iface; + int32 time; + int32 currxcnt; +}; + +extern struct ld *Ld; + + +struct ax_route *ax_add(uint8 *,int,uint8 digis[][7 ],int); +int ax_drop(uint8 *); +struct ax_route *ax_lookup(uint8 *); +void ax_recv(struct iface *,struct mbuf **); +int axui_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int axi_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +int ax_output(struct iface *iface,uint8 *dest,uint8 *source,uint16 pid, + struct mbuf **data); +int axsend(struct iface *iface,uint8 *dest,uint8 *source, + int cmdrsp,int ctl,struct mbuf **data); + + +void htonax25(struct ax25 *hdr,struct mbuf **data); +int ntohax25(struct ax25 *hdr,struct mbuf **bpp); + + +void getlqentry(struct lqentry *ep,struct mbuf **bpp); +void getlqhdr(struct lqhdr *hp,struct mbuf **bpp); +void logsrc(struct iface *iface,uint8 *addr); +void logdest(struct iface *iface,uint8 *addr); +char *putlqentry(char *cp,uint8 *addr,int32 count); +char *putlqhdr(char *cp,uint16 version,int32 ip_addr); +struct lq *al_lookup(struct iface *ifp,uint8 *addr,int sort); + + +int addreq(uint8 *a,uint8 *b); +char *pax25(char *e,uint8 *addr); +int setcall(uint8 *out,char *call); + +void beac_input(struct iface *iface,uint8 *src,struct mbuf **bpp); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct ax25_cb { + struct ax25_cb *next; + + struct iface *iface; + + struct mbuf *txq; + struct mbuf *rxasm; + struct mbuf *rxq; + + uint8 local[7 ]; + uint8 remote[7 ]; + + struct { + unsigned int rejsent:1; + unsigned int remotebusy:1; + unsigned int rtt_run:1; + unsigned int retrans:1; + unsigned int clone:1; + } flags; + + uint8 reason; + + + + + uint8 response; + uint8 vs; + uint8 vr; + uint8 unack; + int maxframe; + uint16 paclen; + uint16 window; + enum { + V1=1, + V2 + } proto; + uint16 pthresh; + unsigned retries; + unsigned n2; + enum { + LAPB_DISCONNECTED=1, + LAPB_LISTEN, + LAPB_SETUP, + LAPB_DISCPENDING, + LAPB_CONNECTED, + LAPB_RECOVERY + } state; + struct timer t1; + struct timer t3; + int32 rtt_time; + int rtt_seq; + int32 srt; + int32 mdev; + + void (*r_upcall)(struct ax25_cb *,int); + void (*t_upcall)(struct ax25_cb *,int); + void (*s_upcall)(struct ax25_cb *,int,int); + + int user; + + int segremain; +}; + +struct axlink { + int pid; + void (*funct)(struct iface *,struct ax25_cb *,uint8 *, uint8 *, + struct mbuf **,int); +}; +extern struct axlink Axlink[]; + + + + + + +extern struct ax25_cb Ax25default,*Ax25_cb; +extern char *Ax25states[],*Axreasons[]; +extern int32 Axirtt,T3init,Blimit; +extern uint16 N2,Maxframe,Paclen,Pthresh,Axwindow,Axversion; + + +void st_ax25(struct ax25_cb *axp); + + +struct ax25_cb *cr_ax25(uint8 *addr); +void del_ax25(struct ax25_cb *axp); +struct ax25_cb *find_ax25(uint8 *); + + +int ax25val(struct ax25_cb *axp); +int disc_ax25(struct ax25_cb *axp); +int kick_ax25(struct ax25_cb *axp); +struct ax25_cb *open_ax25(struct iface *,uint8 *,uint8 *, + int,uint16, + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int), + void (*)(struct ax25_cb *,int,int), + int user); +struct mbuf *recv_ax25(struct ax25_cb *axp,uint16 cnt); +int reset_ax25(struct ax25_cb *axp); +int send_ax25(struct ax25_cb *axp,struct mbuf **bp,int pid); + + +void est_link(struct ax25_cb *axp); +void lapbstate(struct ax25_cb *axp,int s); +int lapb_input(struct ax25_cb *axp,int cmdrsp,struct mbuf **bp); +int lapb_output(struct ax25_cb *axp); +struct mbuf *segmenter(struct mbuf **bp,uint16 ssize); +int sendctl(struct ax25_cb *axp,int cmdrsp,int cmd); +int sendframe(struct ax25_cb *axp,int cmdrsp,int ctl,struct mbuf **data); +void axnl3(struct iface *iface,struct ax25_cb *axp,uint8 *src, + uint8 *dest,struct mbuf **bp,int mcast); + + +void pollthem(void *p); +void recover(void *p); + + +uint16 ftype(int control); +void lapb_garbage(int drastic); + + +void s_arcall(struct ax25_cb *axp,int cnt); +void s_ascall(struct ax25_cb *axp,int old,int new); +void s_atcall(struct ax25_cb *axp,int cnt); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct nr4hdr { + uint8 opcode ; + uint8 yourindex ; + uint8 yourid ; + + union { + + struct { + uint8 family ; + uint8 proto ; + } pid ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + uint8 user[7 ] ; + uint8 node[7 ] ; + } conreq ; + + struct { + uint8 myindex ; + uint8 myid ; + uint8 window ; + } conack ; + + struct { + uint8 txseq ; + uint8 rxseq ; + } info ; + + struct { + uint8 rxseq ; + } ack ; + + } u ; + +} ; + + + +struct nr4txbuf { + struct timer tretry ; + unsigned retries ; + struct mbuf *data ; +} ; + + + +struct nr4rxbuf { + uint8 occupied ; + struct mbuf *data ; +} ; + + +struct nr4_addr { + uint8 user[7 ]; + uint8 node[7 ]; +}; + +struct sockaddr_nr { + short nr_family; + struct nr4_addr nr_addr; +}; + + + +struct nr4cb { + unsigned mynum ; + unsigned myid ; + unsigned yournum ; + unsigned yourid ; + struct nr4_addr remote ; + struct nr4_addr local ; + + unsigned window ; + + + + long srtt ; + long mdev ; + unsigned blevel ; + unsigned txmax ; + + + + + + + + char clone ; + char choked ; + char qfull ; + + char naksent ; + + + + struct nr4txbuf *txbufs ; + uint8 nextosend ; + uint8 ackxpected ; + unsigned nbuffered ; + struct mbuf *txq ; + + + + struct nr4rxbuf *rxbufs ; + uint8 rxpected ; + uint8 rxpastwin ; + struct mbuf *rxq ; + + + + int state ; + + + + + + + int dreason ; + + + + + + + + + struct timer tchoke ; + struct timer tack ; + + struct timer tcd ; + unsigned cdtries ; + + void (*r_upcall)(struct nr4cb *,uint16); + + void (*t_upcall)(struct nr4cb *,uint16); + + void (*s_upcall)(struct nr4cb *,int,int); + + int user ; +} ; + + + +struct nr4circp { + uint8 cid ; + + struct nr4cb *ccb ; + +} ; + + + +extern struct nr4circp Nr4circuits[20 ] ; + + + +extern unsigned short Nr4window ; +extern long Nr4irtt ; +extern unsigned short Nr4retries ; +extern long Nr4acktime ; +extern char *Nr4states[] ; +extern char *Nr4reasons[] ; +extern unsigned short Nr4qlimit ; +extern long Nr4choketime ; +extern uint8 Nr4user[7 ]; + + + + +int ntohnr4(struct nr4hdr *, struct mbuf **); +struct mbuf *htonnr4(struct nr4hdr *); + + +void free_n4circ(struct nr4cb *); +struct nr4cb *get_n4circ(int, int); +int init_nr4window(struct nr4cb *, unsigned); +int nr4between(unsigned, unsigned, unsigned); +struct nr4cb *match_n4circ(int, int,uint8 *,uint8 *); +struct nr4cb *new_n4circ(void); +void nr4defaults(struct nr4cb *); +int nr4valcb(struct nr4cb *); +void nr_garbage(int red); + + +void nr4input(struct nr4hdr *hdr,struct mbuf **bp); +int nr4output(struct nr4cb *); +void nr4sbuf(struct nr4cb *, unsigned); +void nr4sframe(uint8 *, struct nr4hdr *, struct mbuf **); +void nr4state(struct nr4cb *, int); + + +void nr4ackit(void *); +void nr4cdtimeout(void *); +void nr4txtimeout(void *); +void nr4unchoke(void *); + + +void disc_nr4(struct nr4cb *); +int kick_nr4(struct nr4cb *); +struct nr4cb *open_nr4(struct nr4_addr *, struct nr4_addr *, int, + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,uint16), + void (*)(struct nr4cb *,int,int),int); +struct mbuf *recv_nr4(struct nr4cb *, uint16); +void reset_nr4(struct nr4cb *); +int send_nr4(struct nr4cb *, struct mbuf **); + + +void nr4_state(struct nr4cb *, int, int); + + + + + + + + + + + + + + + + + + + + + + + + + + + +struct nr3hdr { + uint8 source[7 ] ; + uint8 dest[7 ] ; + unsigned ttl ; +} ; + + + +struct nr3dest { + uint8 dest[7 ] ; + char alias[7 ] ; + uint8 neighbor[7 ] ; + unsigned quality ; +} ; + + + +struct nriface { + struct iface *iface ; + char alias[7 ] ; + + unsigned quality ; +} ; + + +struct nrnbr_tab { + struct nrnbr_tab *next ; + struct nrnbr_tab *prev ; + uint8 call[7 ] ; + unsigned iface ; + + unsigned refcnt ; +} ; + + + + + + +struct nr_bind { + struct nr_bind *next ; + struct nr_bind *prev ; + unsigned quality ; + unsigned obsocnt ; + unsigned flags ; + + + struct nrnbr_tab *via ; +} ; + + + +struct nrroute_tab { + struct nrroute_tab *next ; + struct nrroute_tab *prev ; + char alias[7 ] ; + uint8 call[7 ] ; + unsigned num_routes ; + struct nr_bind *routes ; + +} ; + + +struct nrnf_tab { + struct nrnf_tab *next ; + struct nrnf_tab *prev ; + uint8 neighbor[7 ] ; + unsigned iface ; +} ; + + +struct raw_nr { + struct raw_nr *prev; + struct raw_nr *next; + + struct mbuf *rcvq; + uint8 protocol; +}; + + +extern struct nriface Nrifaces[10 ] ; + + +extern unsigned Nr_numiface ; + + +extern struct nrnbr_tab *Nrnbr_tab[17 ] ; + + +extern struct nrroute_tab *Nrroute_tab[17 ] ; + + +extern struct nrnf_tab *Nrnf_tab[17 ] ; + +extern uint8 Nr_nodebc[7 ]; + + + + + + + +extern unsigned Nr_nfmode ; + + +extern unsigned short Nr_ttl ; + + +extern unsigned Obso_init ; + + +extern unsigned Obso_minbc ; + + + +extern unsigned Nr_autofloor ; + + + + +extern int Nr_verbose ; + + + + + +extern unsigned Nr_maxroutes ; + + +extern struct iface *Nr_iface ; + + + + +void del_rnr(struct raw_nr *rpp); +uint8 *find_nralias(char *); +struct nrroute_tab *find_nrroute(uint8 *); +void nr_bcnodes(unsigned ifno); +void nr_nodercv(struct iface *iface,uint8 *source,struct mbuf **bpp); +int nr_nfadd(uint8 *, unsigned); +int nr_nfdrop(uint8 *, unsigned); +void nr_route(struct mbuf **bp,struct ax25_cb *iaxp); +int nr_routeadd(char *, uint8 *, unsigned, + unsigned, uint8 *, unsigned, unsigned); +int nr_routedrop(uint8 *, uint8 *, unsigned); +int nr_send(struct mbuf **bp,struct iface *iface,int32 gateway,uint8 tos); +void nr_sendraw(uint8 *dest,unsigned family,unsigned proto, + struct mbuf **data); +void nr3output(uint8 *dest,struct mbuf **data); +uint16 nrhash(uint8 *s); +struct raw_nr *raw_nr(uint8); + + +void donrdump(struct nr4cb *cb); +int doroutedump(void); +int dorouteinfo(int argc,char *argv[],void *p); +int putalias(char *to, char *from,int complain); + + +struct mbuf *htonnr3(struct nr3hdr *); +struct mbuf *htonnrdest(struct nr3dest *); +int ntohnr3(struct nr3hdr *, struct mbuf **); +int ntohnrdest(struct nr3dest *ds,struct mbuf **bpp); + + + + + + + + +struct loc { + struct usock *peer; + struct mbuf *q; + int hiwat; + int flags; + +}; + + + + +union sp { + struct sockaddr *sa; + struct sockaddr_in *in; + struct sockaddr_ax *ax; + struct sockaddr_nr *nr; +}; +struct socklink { + int type; + int (*socket)(struct usock *,int); + int (*bind)(struct usock *); + int (*listen)(struct usock *,int); + int (*connect)(struct usock *); + int accept; + int (*recv)(struct usock *,struct mbuf **,struct sockaddr *,int *); + int (*send)(struct usock *,struct mbuf **,struct sockaddr *); + int (*qlen)(struct usock *,int); + int (*kick)(struct usock *); + int (*shut)(struct usock *,int); + int (*close)(struct usock *); + int (*check)(struct sockaddr *,int); + char **error; + char *(*state)(struct usock *); + int (*status)(struct usock *); + char *eol; +}; +extern struct socklink Socklink[]; +union cb { + struct tcb *tcb; + struct ax25_cb *ax25; + struct udp_cb *udp; + struct raw_ip *rip; + struct raw_nr *rnr; + struct nr4cb *nr4; + struct loc *local; + void *p; +}; + +struct usock { + unsigned strchr; + struct proc *owner; + int refcnt; + char noblock; + enum { + NOTUSED, + TYPE_TCP, + TYPE_UDP, + TYPE_AX25I, + TYPE_AX25UI, + TYPE_RAW, + TYPE_NETROML3, + TYPE_NETROML4, + TYPE_LOCAL_STREAM, + TYPE_LOCAL_DGRAM + } type; + struct socklink *sp; + int rdysock; + union cb cb; + struct sockaddr *name; + int namelen; + struct sockaddr *peername; + int peernamelen; + uint8 errcodes[4]; + uint8 tos; + int flag; +}; +extern char *(*Psock[])(struct sockaddr *); +extern char Badsocket[]; +extern char *Socktypes[]; +extern struct usock **Usock; +extern unsigned Nsock; +extern uint16 Lport; + +struct usock *itop(int s); +void st_garbage(int red); + + +int so_ax_sock(struct usock *up,int protocol); +int so_ax_bind(struct usock *up); +int so_ax_listen(struct usock *up,int backlog); +int so_ax_conn(struct usock *up); +int so_ax_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_ax_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_ax_qlen(struct usock *up,int rtx); +int so_ax_kick(struct usock *up); +int so_ax_shut(struct usock *up,int how); +int so_ax_close(struct usock *up); +int checkaxaddr(struct sockaddr *name,int namelen); +int so_axui_sock(struct usock *up,int protocol); +int so_axui_bind(struct usock *up); +int so_axui_conn(struct usock *up); +int so_axui_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_axui_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_axui_qlen(struct usock *up,int rtx); +int so_axui_shut(struct usock *up,int how); +int so_axui_close(struct usock *up); +char *axpsocket(struct sockaddr *p); +char *axstate(struct usock *up); +int so_ax_stat(struct usock *up); + + + +int so_ip_sock(struct usock *up,int protocol); +int so_ip_conn(struct usock *up); +int so_ip_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_ip_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_ip_qlen(struct usock *up,int rtx); +int so_ip_close(struct usock *up); +int checkipaddr(struct sockaddr *name,int namelen); +char *ippsocket(struct sockaddr *p); + + +int so_los(struct usock *up,int protocol); +int so_lod(struct usock *up,int protocol); +int so_lo_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_los_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_lod_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_lod_qlen(struct usock *up,int rtx); +int so_los_qlen(struct usock *up,int rtx); +int so_loc_shut(struct usock *up,int how); +int so_loc_close(struct usock *up); +char *lopsocket(struct sockaddr *p); +int so_loc_stat(struct usock *up); + + +int so_n3_sock(struct usock *up,int protocol); +int so_n4_sock(struct usock *up,int protocol); +int so_n4_listen(struct usock *up,int backlog); +int so_n3_conn(struct usock *up); +int so_n4_conn(struct usock *up); +int so_n3_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_n4_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_n3_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_n4_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_n3_qlen(struct usock *up,int rtx); +int so_n4_qlen(struct usock *up,int rtx); +int so_n4_kick(struct usock *up); +int so_n4_shut(struct usock *up,int how); +int so_n3_close(struct usock *up); +int so_n4_close(struct usock *up); +int checknraddr(struct sockaddr *name,int namelen); +char *nrpsocket(struct sockaddr *p); +char *nrstate(struct usock *up); +int so_n4_stat(struct usock *up); + + +int so_tcp(struct usock *up,int protocol); +int so_tcp_listen(struct usock *up,int backlog); +int so_tcp_conn(struct usock *up); +int so_tcp_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_tcp_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_tcp_qlen(struct usock *up,int rtx); +int so_tcp_kick(struct usock *up); +int so_tcp_shut(struct usock *up,int how); +int so_tcp_close(struct usock *up); +char *tcpstate(struct usock *up); +int so_tcp_stat(struct usock *up); + + +int so_udp(struct usock *up,int protocol); +int so_udp_bind(struct usock *up); +int so_udp_conn(struct usock *up); +int so_udp_recv(struct usock *up,struct mbuf **bpp,struct sockaddr *from, + int *fromlen); +int so_udp_send(struct usock *up,struct mbuf **bp,struct sockaddr *to); +int so_udp_qlen(struct usock *up,int rtx); +int so_udp_shut(struct usock *up,int how); +int so_udp_close(struct usock *up); +int so_udp_stat(struct usock *up); + + + +static void s_urcall(struct iface *iface,struct udp_cb *udp,int cnt); +static void autobind(struct usock *up); + +int +so_udp(up,protocol) +struct usock *up; +int protocol; +{ + return 0; +} +int +so_udp_bind(up) +struct usock *up; +{ + int s; + struct sockaddr_in *sp; + struct socket lsock; + + s = up->strchr; + sp = (struct sockaddr_in *)up->name; + lsock.address = sp->sin_addr.s_addr; + lsock.port = sp->sin_port; + up->cb.udp = open_udp(&lsock,s_urcall); + up->cb.udp->user = s; + return 0; +} +int +so_udp_conn(up) +struct usock *up; +{ + if(up->name == 0){ + autobind(up); + } + return 0; +} +int +so_udp_recv(up,bpp,from,fromlen) +struct usock *up; +struct mbuf **bpp; +struct sockaddr *from; +int *fromlen; +{ + int cnt; + struct udp_cb *udp; + struct sockaddr_in *remote; + struct socket fsocket; + + while((udp = up->cb.udp) != 0 + && (cnt = recv_udp(udp,&fsocket,bpp)) == -1){ + if(up->noblock){ + (Curproc->p_errno) = 100; + return -1; + } else if(((Curproc->p_errno) = kwait(up)) != 0){ + return -1; + } + } + if(udp == 0){ + + (Curproc->p_errno) = 101; + return -1; + } + if(from != 0 && fromlen != (int *)0 && *fromlen >= (sizeof(struct sockaddr))){ + remote = (struct sockaddr_in *)from; + remote->sin_family = 0; + remote->sin_addr.s_addr = fsocket.address; + remote->sin_port = fsocket.port; + *fromlen = (sizeof(struct sockaddr)); + } + return cnt; +} +int +so_udp_send( +struct usock *up, +struct mbuf **bpp, +struct sockaddr *to +){ + struct sockaddr_in *local,*remote; + struct socket lsock,fsock; + + if(up->name == 0) + autobind(up); + local = (struct sockaddr_in *)up->name; + lsock.address = local->sin_addr.s_addr; + lsock.port = local->sin_port; + if(to != 0) { + remote = (struct sockaddr_in *)to; + } else if(up->peername != 0){ + remote = (struct sockaddr_in *)up->peername; + } else { + free_p(bpp); + (Curproc->p_errno) = 101; + return -1; + } + fsock.address = remote->sin_addr.s_addr; + fsock.port = remote->sin_port; + send_udp(&lsock,&fsock,up->tos,0,bpp,0,0,0); + return 0; +} +int +so_udp_qlen(up,rtx) +struct usock *up; +int rtx; +{ + int len; + + switch(rtx){ + case 0: + len = up->cb.udp->rcvcnt; + break; + case 1: + len = 0; + break; + } + return len; +} +int +so_udp_close(up) +struct usock *up; +{ + if(up->cb.udp != 0){ + del_udp(up->cb.udp); + } + return 0; +} +int +so_udp_shut(up,how) +struct usock *up; +int how; +{ + int s; + + s = up->strchr; + close_s(s); + return 0; +} +static void +s_urcall(iface,udp,cnt) +struct iface *iface; +struct udp_cb *udp; +int cnt; +{ + ksignal(itop(udp->user),1); + kwait(0); +} + + +static void +autobind(up) +struct usock *up; +{ + struct sockaddr_in local; + int s; + + s = up->strchr; + local.sin_family = 0; + local.sin_addr.s_addr = 0x0L; + local.sin_port = Lport++; + bind(s,(struct sockaddr *)&local,sizeof(struct sockaddr_in)); +} +int +so_udp_stat(up) +struct usock *up; +{ + st_udp(up->cb.udp,0); + return 0; +} diff --git a/src/nos/intl/CVS/Entries b/src/nos/intl/CVS/Entries new file mode 100644 index 00000000..b61af953 --- /dev/null +++ b/src/nos/intl/CVS/Entries @@ -0,0 +1,5 @@ +/auto.mk/1.2/Tue Feb 10 10:12:06 2004// +/gettext.S/1.1.1.1/Mon Nov 17 19:06:28 2003// +/intl.c/1.3/Tue Feb 10 10:11:14 2004// +/makefile/1.1.1.1/Mon Nov 17 19:06:50 2003// +D diff --git a/src/nos/intl/CVS/Repository b/src/nos/intl/CVS/Repository new file mode 100644 index 00000000..25fee61b --- /dev/null +++ b/src/nos/intl/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/intl diff --git a/src/nos/intl/CVS/Root b/src/nos/intl/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/intl/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/intl/auto.mk b/src/nos/intl/auto.mk index ff667e92..019ad651 100644 --- a/src/nos/intl/auto.mk +++ b/src/nos/intl/auto.mk @@ -11,7 +11,7 @@ intl_$(LIBEXT)_SOURCES= \ intl_c_MODULES= __failtext __dgetfail __fgetfail __getfail _dprintf _vdprintf \ _fprintf _vfprintf _fputs _printf _vprintf _puts _strcpy \ - _strlen _strncmp _strncpy + _strlen _strncmp _strncpy _stricmp # ----------------------------------------------------------------------------- diff --git a/src/nos/intl/intl.c b/src/nos/intl/intl.c index eff789ee..dd37065b 100644 --- a/src/nos/intl/intl.c +++ b/src/nos/intl/intl.c @@ -34,6 +34,9 @@ extern char __failtext[]; #define MODULE__strlen #define MODULE__strncmp #define MODULE__strncpy +/*RPB*/ +#define MODULE__stricmp +/*RPB*/ #endif STATIC int __fgetfail(FILE *stream, void (*address)(void)); @@ -313,5 +316,29 @@ char *_strncpy(char *buffer, _char *string, size_t count) } #endif +/*RPB*/ +#ifdef MODULE__stricmp +int _stricmp(const char *buffer, _char *string) +{ + int result; + char *duptext; + + duptext = _strdup(string); + if (duptext == NULL) + { + __getfail(string); + + /* attempt to continue with a null string */ + return *buffer ? 1 : 0; + } + + result = stricmp(buffer, duptext); + + free(duptext); + return result; +} +#endif +/*RPB*/ + /* ------------------------------------------------------------------------- */ diff --git a/src/nos/kernel/CVS/Entries b/src/nos/kernel/CVS/Entries new file mode 100644 index 00000000..3f0496f3 --- /dev/null +++ b/src/nos/kernel/CVS/Entries @@ -0,0 +1 @@ +D diff --git a/src/nos/kernel/CVS/Repository b/src/nos/kernel/CVS/Repository new file mode 100644 index 00000000..b8f7b8bf --- /dev/null +++ b/src/nos/kernel/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/kernel diff --git a/src/nos/kernel/CVS/Root b/src/nos/kernel/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/kernel/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/lib/.cvsignore b/src/nos/lib/.cvsignore new file mode 100644 index 00000000..8038b052 --- /dev/null +++ b/src/nos/lib/.cvsignore @@ -0,0 +1,12 @@ +clients_lib +crt_banked_lib +dump_lib +filesys_lib +iar_lib +internet_lib +intl_lib +messages_lib +net_lib +ppp_lib +servers_lib +z80_lib diff --git a/src/nos/lib/CVS/Entries b/src/nos/lib/CVS/Entries new file mode 100644 index 00000000..05caf22c --- /dev/null +++ b/src/nos/lib/CVS/Entries @@ -0,0 +1,2 @@ +/.cvsignore/1.1/Tue Dec 2 05:22:22 2003// +D diff --git a/src/nos/lib/CVS/Repository b/src/nos/lib/CVS/Repository new file mode 100644 index 00000000..4dcd02d5 --- /dev/null +++ b/src/nos/lib/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/lib diff --git a/src/nos/lib/CVS/Root b/src/nos/lib/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/lib/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/lib/clients_lib/Ftpcmds.rel b/src/nos/lib/clients_lib/Ftpcmds.rel index f10b58e7..c14894db 100644 --- a/src/nos/lib/clients_lib/Ftpcmds.rel +++ b/src/nos/lib/clients_lib/Ftpcmds.rel @@ -1,64 +1,64 @@ XL4 H 4 areas 3C global symbols S _domget Ref00000000 -S ___04df_7bad_list Ref00000000 -S ___041d_4126_batch Ref00000000 -S ___04f7_8c4f_mcompare Ref00000000 +S ___063c_8f3b_put_20_3clocalfile_ Ref00000000 +S ___05f7_7b66_nlst Ref00000000 +S ___05c8_8d01_mget_20_3cfile_3e_2 Ref00000000 +S ___05ab_7d51_ls Ref00000000 +S ___04b4_4126_batch Ref00000000 S _doverbose Ref00000000 -S ___056e_c7a9_read_20_3cremotefil Ref00000000 -S ___04b8_c7c0_get_20_3cremotefile Ref00000000 S _donothing Ref00000000 -S ___058d_a56c_rmdir Ref00000000 -S ___0503_8d01_mget_20_3cfile_3e_2 Ref00000000 -S ___04be_156e_hash Ref00000000 +S ___04f0_ea90_compare Ref00000000 +S ___05a2_7bad_list Ref00000000 S _dolist Ref00000000 -S ___040f_4354_ascii Ref00000000 +S ___0562_9e35_get Ref00000000 +S ___04a5_4354_ascii Ref00000000 +S ___0646_7b54_quit Ref00000000 +S ___05cf_7d04_mkdir_20_3cdirector Ref00000000 S _doget Ref00000000 -S ___056d_054d_read Ref00000000 S ___0000_ffff_ Ref00000000 S _dotype Ref00000000 S _dobatch Ref00000000 -S ___0611_ab5c_verbose Ref00000000 -S ___0562_8f3b_put_20_3clocalfile_ Ref00000000 -S ___0505_304a_mkdir Ref00000000 S _doupdate Ref00000000 S _doquit Ref00000000 -S ___050f_312f_mput_20_3cfile_3e_2 Ref00000000 +S ___05c7_b64c_mget Ref00000000 S _dobinary Ref00000000 +S ___05be_a71a_md5 Ref00000000 S _domput Ref00000000 S _domd5 Ref00000000 -S ___0426_3245_binary Ref00000000 +S ___063b_0234_put Ref00000000 +S ___0563_c7c0_get_20_3cremotefile Ref00000000 +S ___04d7_42c2_cd_20_3cdirectory_3 Ref00000000 +S ___0648_c7a9_read_20_3cremotefil Ref00000000 +S ___04f1_a613_compare_20_3cremote Ref00000000 S _doascii Ref00000000 -S ___04e8_7d51_ls Ref00000000 +S ___0667_a56c_rmdir Ref00000000 +S ___05d8_312f_mput_20_3cfile_3e_2 Ref00000000 S .__.ABS. Def00000000 -S ___0502_b64c_mget Ref00000000 -S ___058e_b9e3_rmdir_20_3cdirector Ref00000000 -S ___0458_ea90_compare Ref00000000 -S ___0440_42c2_cd_20_3cdirectory_3 Ref00000000 +S ___0511_bdc7_dir Ref00000000 S _doftpcd Ref00000000 +S ___0647_054d_read Ref00000000 +S ___05bd_f47e_mcompare_20_3cfile_ Ref00000000 S _domcompare Ref00000000 -S ___05fb_f321_type Ref00000000 -S ___050e_2a4d_mput Ref00000000 S _domkdir Ref00000000 -S ___0561_0234_put Ref00000000 S _doput Ref00000000 -S ___0476_bdc7_dir Ref00000000 +S ___06e1_db93_update Ref00000000 +S ___05d7_2a4d_mput Ref00000000 S _doread Ref00000000 -S ___0506_7d04_mkdir_20_3cdirector Ref00000000 -S ___04fa_cc78_md5_20_3cfile_3e Ref00000000 -S ___04f9_a71a_md5 Ref00000000 +S ___05bc_8c4f_mcompare Ref00000000 S _dormdir Ref00000000 +S ___05bf_cc78_md5_20_3cfile_3e Ref00000000 S _dols Ref00000000 -S ___0459_a613_compare_20_3cremote Ref00000000 -S ___043f_9aa7_cd Ref00000000 +S ___0668_b9e3_rmdir_20_3cdirector Ref00000000 +S ___04d6_9aa7_cd Ref00000000 +S ___0569_156e_hash Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _dohash Ref00000000 +S ___05ce_304a_mkdir Ref00000000 +S ___04bd_3245_binary Ref00000000 S _docompare Ref00000000 -S ___0603_db93_update Ref00000000 -S ___052b_7b66_nlst Ref00000000 -S ___04f8_f47e_mcompare_20_3cfile_ Ref00000000 -S ___056c_7b54_quit Ref00000000 -S ___04b7_9e35_get Ref00000000 +S ___06d8_f321_type Ref00000000 +S ___06ef_ab5c_verbose Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 A IDATA0 size 145 flags 0 @@ -69,87 +69,87 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 0F 00 4A 08 07 00 +R 00 00 03 00 4A 04 10 00 4A 08 07 00 T 08 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 4A 09 0C 00 T 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 1C 00 +R 00 00 03 00 4A 04 1F 00 T 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 02 00 4A 08 11 00 +R 00 00 03 00 4A 04 05 00 4A 08 12 00 T 22 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 1B 00 +R 00 00 03 00 4A 09 37 00 T 2A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 18 00 +R 00 00 03 00 4A 04 16 00 T 34 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 32 00 4A 08 23 00 +R 00 00 03 00 4A 04 32 00 4A 08 24 00 T 3C 00 00 00 02 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 06 22 00 4A 0A 21 00 +R 00 00 03 00 4A 06 1C 00 4A 0A 08 00 T 44 00 00 00 00 00 00 00 00 00 02 00 -R 00 00 03 00 4A 04 35 00 +R 00 00 03 00 4A 04 38 00 T 4B 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 31 00 4A 08 2A 00 +R 00 00 03 00 4A 04 1E 00 4A 08 23 00 T 51 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 0B 00 +R 00 00 03 00 4A 04 0A 00 T 5B 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 01 00 4A 08 0B 00 +R 00 00 03 00 4A 04 09 00 4A 08 0A 00 T 63 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 3A 00 +R 00 00 03 00 4A 09 0B 00 T 6B 00 00 00 00 00 00 00 00 00 02 00 -R 00 00 03 00 4A 04 0D 00 +R 00 00 03 00 4A 04 0F 00 T 72 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 06 00 4A 08 0A 00 +R 00 00 03 00 4A 04 1B 00 4A 08 33 00 T 78 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 34 00 +R 00 00 03 00 4A 04 35 00 T 82 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 1D 00 4A 08 30 00 +R 00 00 03 00 4A 04 04 00 4A 08 30 00 T 8A 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 03 00 +R 00 00 03 00 4A 09 2D 00 T 92 00 00 00 00 00 00 00 00 00 02 00 -R 00 00 03 00 4A 04 24 00 +R 00 00 03 00 4A 04 27 00 T 99 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 38 00 4A 08 2E 00 +R 00 00 03 00 4A 04 26 00 4A 08 17 00 T 9F 00 00 00 00 00 00 00 00 00 02 00 -R 00 00 03 00 4A 04 1A 00 +R 00 00 03 00 4A 04 19 00 T A6 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 2D 00 4A 08 1F 00 +R 00 00 03 00 4A 04 2F 00 4A 08 15 00 T AC 00 00 00 00 00 00 00 00 00 02 00 R 00 00 03 00 4A 04 00 00 T B3 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 09 00 4A 08 14 00 +R 00 00 03 00 4A 04 03 00 4A 08 36 00 T B9 00 00 00 00 00 00 00 00 00 02 00 -R 00 00 03 00 4A 04 27 00 +R 00 00 03 00 4A 04 28 00 T C0 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 2C 00 4A 08 26 00 +R 00 00 03 00 4A 04 0E 00 4A 08 2B 00 T C6 00 00 00 00 00 00 00 00 00 02 00 -R 00 00 03 00 4A 04 19 00 +R 00 00 03 00 4A 04 18 00 T CD 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 17 00 4A 08 37 00 +R 00 00 03 00 4A 04 21 00 4A 08 02 00 T D3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 4A 04 30 00 T DD 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 39 00 4A 08 16 00 +R 00 00 03 00 4A 04 0D 00 4A 08 14 00 T E5 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 0E 00 +R 00 00 03 00 4A 09 25 00 T ED 00 00 00 00 00 00 00 00 00 02 00 -R 00 00 03 00 4A 04 2B 00 +R 00 00 03 00 4A 04 2C 00 T F4 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 05 00 4A 08 08 00 +R 00 00 03 00 4A 04 1D 00 4A 08 20 00 T FA 00 00 00 00 00 00 00 00 00 02 00 -R 00 00 03 00 4A 04 2F 00 +R 00 00 03 00 4A 04 2E 00 T 01 01 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 20 00 4A 08 28 00 +R 00 00 03 00 4A 04 31 00 4A 08 1A 00 T 07 01 00 00 00 00 00 00 00 00 02 00 R 00 00 03 00 4A 04 29 00 T 0E 01 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 13 00 4A 08 25 00 +R 00 00 03 00 4A 04 01 00 4A 08 39 00 T 14 01 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 10 00 +R 00 00 03 00 4A 04 11 00 T 1E 01 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 36 00 4A 08 15 00 +R 00 00 03 00 4A 04 2A 00 4A 08 13 00 T 26 01 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 12 00 +R 00 00 03 00 4A 09 3A 00 T 2E 01 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 04 00 +R 00 00 03 00 4A 04 06 00 T 38 01 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 T 42 01 00 00 00 00 00 diff --git a/src/nos/lib/clients_lib/Notsess.rel b/src/nos/lib/clients_lib/Notsess.rel index dca095ee..cc21e558 100644 --- a/src/nos/lib/clients_lib/Notsess.rel +++ b/src/nos/lib/clients_lib/Notsess.rel @@ -1,7 +1,7 @@ XL4 H 4 areas 4 global symbols S .__.ABS. Def00000000 -S ___0317_b4ba_Not_20an_20FTP_20se Ref00000000 +S ___0388_b4ba_Not_20an_20FTP_20se Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 diff --git a/src/nos/lib/clients_lib/bootp.rel b/src/nos/lib/clients_lib/bootp.rel index 640d5c95..f8bc03f6 100644 --- a/src/nos/lib/clients_lib/bootp.rel +++ b/src/nos/lib/clients_lib/bootp.rel @@ -5,12 +5,11 @@ S _add_nameserver Ref00000000 S _rt_blookup Ref00000000 S _inet_ntoa Ref00000000 S _ntohudp Ref00000000 -S ___0367_6bd1_Requesting_2e_2e_2e Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _strncmp Ref00000000 S _if_lookup Ref00000000 S ?S_V_SWITCH_L06 Ref00000000 -S ___042d_ff8d_bootp_20_5bnet_5fna Ref00000000 +S ___04c4_ff8d_bootp_20_5bnet_5fna Ref00000000 S ?L_AND_L03 Ref00000000 S _memset Ref00000000 S _memcpy Ref00000000 @@ -20,20 +19,20 @@ S _send_udp Ref00000000 S _strncpy Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _alloc_mbuf Ref00000000 -S ___02ae_d726_Invalid_20magic_20c Ref00000000 -S ___004f_7765__20_20_20_20_20Name Ref00000000 S _strlen Ref00000000 S _recv_udp Ref00000000 S _dup_p Ref00000000 S ?L_OR_L03 Ref00000000 S ?LEAVE_DIRECT_L09 Ref00000000 S _open_udp Ref00000000 -S ___004b_f5a8__20_20_20_20_20Defa Ref00000000 -S ___042f_f5d9_bootp_3a_20timed_20 Ref00000000 +S ___03ea_6bd1_Requesting_2e_2e_2e Ref00000000 +S ___004c_f5a8__20_20_20_20_20Defa Ref00000000 S _del_udp Ref00000000 +S ___04c6_f5d9_bootp_3a_20timed_20 Ref00000000 S .__.ABS. Def00000000 S ?L_LSH_L03 Ref00000000 S _kwait Ref00000000 +S ___0050_7765__20_20_20_20_20Name Ref00000000 S _pullup Ref00000000 S _pull32 Ref00000000 S _free Ref00000000 @@ -41,24 +40,25 @@ S ?ENT_PARM_DIRECT_L09 Ref00000000 S _pull16 Ref00000000 S _get32 Ref00000000 S ?L_NOT_L03 Ref00000000 -S ___0307_e0c6_Network_20_25s_20co Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___004a_d7d4__20_20_20_20_20Broa Ref00000000 S _rt_add Ref00000000 +S ___004b_d7d4__20_20_20_20_20Broa Ref00000000 S _time Ref00000000 S _mallocw Ref00000000 +S ___0374_e0c6_Network_20_25s_20co Ref00000000 S _Net_error Ref00000000 S ?SS_CMP_L02 Ref00000000 S _free_p Ref00000000 S __printf Ref00000000 S _Ip_addr Ref00000000 +S ___0305_d726_Invalid_20magic_20c Ref00000000 S _pull8 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___004e_1775__20_20_20_20_20IP_2 Ref00000000 -S ___004c_de7b__20_20_20_20_20Host Ref00000000 +S ___004f_1775__20_20_20_20_20IP_2 Ref00000000 +S ___004d_de7b__20_20_20_20_20Host Ref00000000 S _rt_drop Ref00000000 -S ___042e_0e8f_bootp_3a_20Net_5fer Ref00000000 -S ___0050_6879__20_20_20_20_20Subn Ref00000000 +S ___04c5_0e8f_bootp_3a_20Net_5fer Ref00000000 +S ___0051_6879__20_20_20_20_20Subn Ref00000000 S _put32 Ref00000000 S _Hostname Ref00000000 A _DEFAULT size 0 flags 0 @@ -72,7 +72,7 @@ A CDATA0 size 4 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 DE FF AF DD 77 DE -R 00 00 01 00 02 05 2A 00 +R 00 00 01 00 02 05 28 00 T 09 00 00 00 DD 77 DF 11 02 80 DD 6E 02 DD 66 R 00 00 01 00 T 14 00 00 00 03 3E 80 AC 67 ED 52 30 0C @@ -80,7 +80,7 @@ R 00 00 01 00 T 1D 00 00 00 R 00 00 01 00 T 1D 00 00 00 2A 00 00 00 00 DD 75 DE DD 74 DF -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0D 00 T 26 00 00 00 C3 11 01 00 00 R 00 00 01 00 00 05 01 00 T 29 00 00 00 @@ -98,9 +98,9 @@ R 00 00 01 00 T 43 00 00 00 DD 6E FE DD 66 FF 29 DD 4E 04 DD R 00 00 01 00 T 4E 00 00 00 46 05 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 08 00 +R 00 00 01 00 2B 0B 07 00 T 56 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 08 00 02 0A 06 00 +R 00 00 01 00 02 05 07 00 02 0A 05 00 T 5D 00 00 00 75 DE DD 74 DF 7D B4 28 03 R 00 00 01 00 T 66 00 00 00 @@ -112,17 +112,17 @@ R 00 00 01 00 T 69 00 00 00 DD 6E FE DD 66 FF 29 DD 4E 04 DD R 00 00 01 00 T 74 00 00 00 46 05 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 16 00 +R 00 00 01 00 2B 0B 13 00 T 7C 00 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 16 00 02 0A 06 00 +R 00 00 01 00 02 05 13 00 02 0A 05 00 T 83 00 00 00 01 00 00 00 00 DD 6E FE DD 66 FF R 00 00 01 00 00 05 02 00 T 8C 00 00 00 29 DD 5E 04 DD 56 05 19 5E 23 56 R 00 00 01 00 T 97 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 +R 00 00 01 00 2B 05 06 00 02 0A 06 00 T 9D 00 00 00 00 00 00 00 F1 7D B4 20 08 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T A4 00 00 00 R 00 00 01 00 T A4 00 00 00 21 01 00 22 02 00 00 00 18 5A @@ -132,17 +132,17 @@ R 00 00 01 00 T AC 00 00 00 DD 6E FE DD 66 FF 29 DD 4E 04 DD R 00 00 01 00 T B7 00 00 00 46 05 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 16 00 +R 00 00 01 00 2B 0B 13 00 T BF 00 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 16 00 02 0A 06 00 +R 00 00 01 00 02 05 13 00 02 0A 05 00 T C6 00 00 00 01 07 00 00 00 DD 6E FE DD 66 FF R 00 00 01 00 00 05 02 00 T CF 00 00 00 29 DD 5E 04 DD 56 05 19 5E 23 56 R 00 00 01 00 T DA 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 +R 00 00 01 00 2B 05 06 00 02 0A 06 00 T E0 00 00 00 00 00 00 00 F1 7D B4 20 08 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T E7 00 00 00 R 00 00 01 00 T E7 00 00 00 21 00 00 22 02 00 00 00 18 17 @@ -150,11 +150,11 @@ R 00 00 01 00 00 08 03 00 T EF 00 00 00 R 00 00 01 00 T EF 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 T F5 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 32 00 02 0B 32 00 +R 00 00 01 00 2B 06 31 00 02 0B 31 00 T FB 00 00 00 CD 00 00 00 00 F1 F1 21 01 00 C3 -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 05 00 T 04 01 00 00 2A 05 00 00 R 00 00 01 00 00 04 01 00 T 06 01 00 00 @@ -192,9 +192,9 @@ R 00 00 01 00 T 4A 01 00 00 00 00 E5 21 06 00 39 5D 54 3E R 00 00 01 00 T 54 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1B 00 02 09 1B 00 +R 00 00 01 00 2B 04 18 00 02 09 18 00 T 59 01 00 00 00 00 00 00 F1 F1 DD 75 EE DD 74 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 62 01 00 00 EF 21 08 00 DD 4E DE DD 46 DF 09 R 00 00 01 00 T 6D 01 00 00 5E 23 56 23 4E 23 46 EB DD 75 E6 @@ -204,9 +204,9 @@ R 00 00 01 00 T 83 01 00 00 EA 43 DD 36 EB 00 21 18 00 39 5D R 00 00 01 00 T 8E 01 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2D 00 02 0B 2D 00 +R 00 00 01 00 2B 06 2B 00 02 0B 2B 00 T 94 01 00 00 CD 00 00 00 00 AF DD 77 FA DD 77 -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 05 00 T 9D 01 00 00 FB DD 77 FC DD 77 FD R 00 00 01 00 T A4 01 00 00 @@ -214,9 +214,9 @@ R 00 00 01 00 T A4 01 00 00 21 01 00 22 00 00 00 00 21 14 00 R 00 00 01 00 00 08 03 00 T AD 01 00 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 2D 00 +R 00 00 01 00 2B 08 2B 00 T B3 01 00 00 00 00 00 00 CD 00 00 00 00 A7 DD -R 00 00 01 00 02 04 2D 00 02 09 06 00 +R 00 00 01 00 02 04 2B 00 02 09 05 00 T BA 01 00 00 6E F2 DD 66 F3 DD 4E F6 DD 46 F7 R 00 00 01 00 T C5 01 00 00 ED 42 EB DD 6E F4 DD 66 F5 DD 4E @@ -228,11 +228,11 @@ R 00 00 01 00 T E5 01 00 00 R 00 00 01 00 T E5 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1D 00 02 0B 1D 00 +R 00 00 01 00 2B 05 1C 00 02 0B 1C 00 T EB 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 32 00 02 0B 32 00 +R 00 00 01 00 2B 06 31 00 02 0B 31 00 T F1 01 00 00 CD 00 00 00 00 F1 F1 C3 -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 05 00 T F7 01 00 00 13 05 00 00 R 00 00 01 00 00 04 01 00 T F9 01 00 00 @@ -254,17 +254,17 @@ R 00 00 01 00 00 05 03 00 T 30 02 00 00 R 00 00 01 00 T 30 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 05 00 02 0B 05 00 +R 00 00 01 00 2B 05 19 00 02 0B 19 00 T 36 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 32 00 02 0B 32 00 +R 00 00 01 00 2B 06 31 00 02 0B 31 00 T 3C 02 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 05 00 T 41 02 00 00 R 00 00 01 00 T 41 02 00 00 11 2C 01 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 13 00 +R 00 00 01 00 2B 08 12 00 T 47 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 13 00 02 09 06 00 +R 00 00 01 00 02 04 12 00 02 09 05 00 T 4E 02 00 00 EC DD 74 ED 7D B4 20 03 R 00 00 01 00 T 56 02 00 00 @@ -300,7 +300,7 @@ R 00 00 01 00 T DA 02 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 3B 00 02 09 3B 00 T DF 02 00 00 00 00 00 00 F1 F1 DD 75 F0 DD 74 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T E8 02 00 00 F1 DD 5E F6 DD 56 F7 DD 6E F2 DD R 00 00 01 00 T F3 02 00 00 66 F3 A7 ED 52 4D 44 DD 5E F0 DD @@ -308,13 +308,13 @@ R 00 00 01 00 T FE 02 00 00 56 F1 3E 00 00 00 00 21 R 00 00 01 00 2B 07 00 00 T 03 03 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 00 00 02 09 06 00 +R 00 00 01 00 02 04 00 00 02 09 05 00 T 0A 03 00 00 F0 DD 74 F1 01 00 00 EB 3E R 00 00 01 00 T 13 03 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 00 00 02 09 00 00 T 18 03 00 00 00 00 00 00 DD 75 F0 DD 74 F1 21 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 21 03 00 00 04 00 DD 4E DE DD 46 DF 09 5E 23 R 00 00 01 00 T 2C 03 00 00 56 23 4E 23 46 C5 D5 DD 5E F0 DD @@ -322,25 +322,25 @@ R 00 00 01 00 T 37 03 00 00 56 F1 3E 00 00 00 00 21 R 00 00 01 00 2B 07 3B 00 T 3C 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 3B 00 02 09 06 00 +R 00 00 01 00 02 04 3B 00 02 09 05 00 T 43 03 00 00 DD 75 F0 DD 74 F1 01 00 00 C5 01 R 00 00 01 00 T 4E 03 00 00 00 00 C5 EB 3E 00 00 00 00 21 R 00 00 01 00 2B 09 3B 00 T 55 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 3B 00 02 09 06 00 +R 00 00 01 00 02 04 3B 00 02 09 05 00 T 5C 03 00 00 DD 75 F0 DD 74 F1 01 00 00 C5 01 R 00 00 01 00 T 67 03 00 00 00 00 C5 EB 3E 00 00 00 00 21 R 00 00 01 00 2B 09 3B 00 T 6E 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 3B 00 02 09 06 00 +R 00 00 01 00 02 04 3B 00 02 09 05 00 T 75 03 00 00 DD 75 F0 DD 74 F1 01 00 00 C5 01 R 00 00 01 00 T 80 03 00 00 00 00 C5 EB 3E 00 00 00 00 21 R 00 00 01 00 2B 09 3B 00 T 87 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 3B 00 02 09 06 00 +R 00 00 01 00 02 04 3B 00 02 09 05 00 T 8E 03 00 00 DD 75 F0 DD 74 F1 21 3D 00 DD 4E R 00 00 01 00 T 99 03 00 00 DE DD 46 DF 09 56 23 66 6A 11 @@ -350,33 +350,33 @@ R 00 00 01 00 T AE 03 00 00 4E 23 46 DD 5E F0 DD 56 F1 3E R 00 00 01 00 T B8 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0D 00 02 09 0D 00 +R 00 00 01 00 2B 04 0C 00 02 09 0C 00 T BD 03 00 00 00 00 00 00 F1 21 12 00 39 7E C6 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T C6 03 00 00 10 77 23 7E CE 00 77 21 40 00 E5 R 00 00 01 00 T D1 03 00 00 01 00 00 DD 5E F0 DD 56 F1 3E R 00 00 01 00 T DB 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T E0 03 00 00 00 00 00 00 F1 21 12 00 39 7E C6 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T E9 03 00 00 40 77 23 7E CE 00 77 21 80 00 E5 R 00 00 01 00 T F4 03 00 00 01 00 00 DD 5E F0 DD 56 F1 3E R 00 00 01 00 T FE 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 03 04 00 00 00 00 00 00 F1 21 12 00 39 7E C6 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 0C 04 00 00 80 77 23 7E CE 00 77 21 40 00 E5 R 00 00 01 00 T 17 04 00 00 01 00 00 DD 5E F0 DD 56 F1 3E R 00 00 01 00 T 21 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 26 04 00 00 00 00 00 00 F1 21 12 00 39 7E C6 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 2F 04 00 00 40 77 23 7E CE 00 77 21 0C 00 DD R 00 00 01 00 T 3A 04 00 00 4E EC DD 46 ED 09 E5 21 0A 00 09 @@ -394,9 +394,9 @@ R 00 00 01 00 T 7B 04 00 00 44 21 0E 00 39 5D 54 3E R 00 00 01 00 T 83 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 10 00 02 09 10 00 +R 00 00 01 00 2B 04 0F 00 02 09 0F 00 T 88 04 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 91 04 00 00 DD 4E F4 DD 46 F5 DD 6E F2 DD 66 R 00 00 01 00 T 9C 04 00 00 F3 DD 75 FA DD 74 FB DD 71 FC DD @@ -406,17 +406,17 @@ R 00 00 01 00 T A9 04 00 00 R 00 00 01 00 T A9 04 00 00 11 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 21 00 +R 00 00 01 00 2B 08 1F 00 T AF 04 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 21 00 02 09 06 00 +R 00 00 01 00 02 04 1F 00 02 09 05 00 T B5 04 00 00 0E 00 39 E5 21 0A 00 39 4D 44 DD R 00 00 01 00 T C0 04 00 00 5E EE DD 56 EF 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 17 00 +R 00 00 01 00 2B 0A 14 00 T C8 04 00 00 00 00 00 00 CD 00 00 00 00 F1 4D -R 00 00 01 00 02 04 17 00 02 09 06 00 +R 00 00 01 00 02 04 14 00 02 09 05 00 T CF 04 00 00 44 21 FF FF CD 00 00 00 00 30 17 -R 00 00 01 00 02 09 30 00 +R 00 00 01 00 02 09 2F 00 T D8 04 00 00 R 00 00 01 00 T D8 04 00 00 DD 4E EC DD 46 ED DD 5E DE DD 56 @@ -434,17 +434,17 @@ R 00 00 01 00 T EF 04 00 00 R 00 00 01 00 T EF 04 00 00 2A 00 00 00 00 3E 05 AD B4 28 18 -R 00 00 01 00 02 05 2F 00 +R 00 00 01 00 02 05 2E 00 T F8 04 00 00 R 00 00 01 00 T F8 04 00 00 2A 00 00 00 00 E5 0E 00 00 00 00 -R 00 00 01 00 02 05 2F 00 2B 0B 39 00 +R 00 00 01 00 02 05 2E 00 2B 0B 39 00 T FE 04 00 00 C5 21 00 00 00 00 E5 3E R 00 00 01 00 02 06 39 00 T 04 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 32 00 02 09 32 00 +R 00 00 01 00 2B 04 31 00 02 09 31 00 T 09 05 00 00 00 00 00 00 F1 F1 F1 18 03 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 10 05 00 00 R 00 00 01 00 T 10 05 00 00 @@ -456,35 +456,35 @@ R 00 00 01 00 T 13 05 00 00 21 00 00 22 00 00 00 00 DD 5E EE R 00 00 01 00 00 08 03 00 T 1C 05 00 00 DD 56 EF 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 1E 00 +R 00 00 01 00 2B 08 1B 00 T 22 05 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 1E 00 02 09 06 00 +R 00 00 01 00 02 04 1B 00 02 09 05 00 T 28 05 00 00 00 00 R 00 00 01 00 T 2A 05 00 00 R 00 00 01 00 T 2A 05 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 12 00 +R 00 00 01 00 02 05 11 00 T 2D 05 00 00 R 00 00 01 00 T 2D 05 00 00 CD 00 00 00 00 BC FE 21 04 00 39 -R 00 00 01 00 02 05 2A 00 +R 00 00 01 00 02 05 28 00 T 36 05 00 00 AF 77 23 77 23 77 23 77 21 08 00 R 00 00 01 00 T 41 05 00 00 39 AF 77 23 77 23 77 23 77 59 50 R 00 00 01 00 T 4C 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0F 00 02 0A 0F 00 +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T 52 05 00 00 00 00 00 00 01 2C 01 A7 ED 42 28 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 5B 05 00 00 14 R 00 00 01 00 T 5C 05 00 00 R 00 00 01 00 T 5C 05 00 00 21 48 01 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 31 00 +R 00 00 01 00 2B 0B 30 00 T 64 05 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 31 00 02 0A 06 00 +R 00 00 01 00 02 05 30 00 02 0A 05 00 T 6B 05 00 00 00 00 C3 E8 0B 00 00 R 00 00 01 00 00 07 01 00 T 70 05 00 00 @@ -494,9 +494,9 @@ R 00 00 01 00 T 7B 05 00 00 54 CD EB 0B 00 00 21 48 01 39 5D R 00 00 01 00 00 06 01 00 T 84 05 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 31 00 02 0B 31 00 +R 00 00 01 00 2B 06 30 00 02 0B 30 00 T 8A 05 00 00 CD 00 00 00 00 21 16 00 39 46 05 -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 05 00 T 93 05 00 00 05 28 06 R 00 00 01 00 T 96 05 00 00 @@ -512,11 +512,11 @@ R 00 00 01 00 T A3 05 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 R 00 00 01 00 T AE 05 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 29 00 +R 00 00 01 00 2B 06 2D 00 T B3 05 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 29 00 2B 0A 32 00 +R 00 00 01 00 02 04 2D 00 2B 0A 31 00 T B9 05 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 32 00 02 09 06 00 +R 00 00 01 00 02 04 31 00 02 09 05 00 T C0 05 00 00 F1 R 00 00 01 00 T C1 05 00 00 @@ -530,9 +530,9 @@ R 00 00 01 00 T D4 05 00 00 21 26 00 39 5E 23 56 23 4E 23 46 R 00 00 01 00 T DF 05 00 00 EB 7C 07 9F 4F 41 22 00 00 00 00 -R 00 00 01 00 02 0B 33 00 +R 00 00 01 00 02 0B 32 00 T E8 05 00 00 ED 43 02 00 00 00 21 04 00 DD 4E -R 00 00 01 00 02 06 33 00 +R 00 00 01 00 02 06 32 00 T F1 05 00 00 02 DD 46 03 09 E5 21 28 00 39 5E R 00 00 01 00 T FC 05 00 00 23 56 23 4E 23 46 E1 73 23 72 23 @@ -548,13 +548,13 @@ R 00 00 01 00 T 1C 06 00 00 23 56 23 4E 23 46 3E 00 00 00 00 R 00 00 01 00 2B 0B 03 00 T 24 06 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 03 00 02 0A 06 00 +R 00 00 01 00 02 05 03 00 02 0A 05 00 T 2B 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 36 00 02 0B 36 00 T 31 06 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 32 00 02 0B 32 00 +R 00 00 01 00 2B 06 31 00 02 0B 31 00 T 37 06 00 00 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 05 00 T 3D 06 00 00 R 00 00 01 00 T 3D 06 00 00 @@ -562,9 +562,9 @@ R 00 00 01 00 T 3D 06 00 00 21 16 00 39 01 EC 00 09 DD 75 FE R 00 00 01 00 T 48 06 00 00 DD 74 FF EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 27 00 +R 00 00 01 00 2B 09 26 00 T 4F 06 00 00 00 00 00 00 CD 00 00 00 00 59 50 -R 00 00 01 00 02 04 27 00 02 09 06 00 +R 00 00 01 00 02 04 26 00 02 09 05 00 T 56 06 00 00 01 63 53 A7 ED 42 20 08 EB 01 R 00 00 01 00 T 60 06 00 00 82 63 ED 42 28 17 @@ -574,11 +574,11 @@ R 00 00 01 00 T 66 06 00 00 R 00 00 01 00 T 66 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 14 00 02 0B 14 00 +R 00 00 01 00 2B 05 33 00 02 0B 33 00 T 6C 06 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 32 00 02 0B 32 00 +R 00 00 01 00 2B 06 31 00 02 0B 31 00 T 72 06 00 00 CD 00 00 00 00 F1 F1 21 00 00 C3 -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 05 00 T 7B 06 00 00 E8 0B 00 00 R 00 00 01 00 00 04 01 00 T 7D 06 00 00 @@ -610,7 +610,7 @@ R 00 00 01 00 T C0 06 00 00 21 00 00 39 5E 23 56 CD R 00 00 01 00 T C8 06 00 00 00 00 00 00 05 00 00 00 01 00 -R 00 00 01 00 02 04 09 00 +R 00 00 01 00 02 04 08 00 T D0 06 00 00 03 00 06 00 0C 00 5B 0B 00 00 R 00 00 01 00 00 0A 01 00 T D8 06 00 00 78 09 00 00 06 0A 00 00 @@ -630,9 +630,9 @@ R 00 00 01 00 T EC 06 00 00 R 00 00 01 00 T EC 06 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 27 00 +R 00 00 01 00 2B 0B 26 00 T F4 06 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 27 00 02 0A 06 00 +R 00 00 01 00 02 05 26 00 02 0A 05 00 T FB 06 00 00 21 12 00 39 D1 73 23 72 23 71 23 R 00 00 01 00 T 06 07 00 00 70 21 42 01 39 7E C6 04 77 23 7E @@ -650,11 +650,11 @@ R 00 00 01 00 T 45 07 00 00 4E 02 DD 46 03 09 5E 23 56 23 4E R 00 00 01 00 T 50 07 00 00 23 46 EB CD 00 00 00 00 EB 3E -R 00 00 01 00 02 08 0B 00 +R 00 00 01 00 02 08 0A 00 T 58 07 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 02 00 02 09 02 00 T 5D 07 00 00 00 00 00 00 F1 4D 44 E1 71 23 70 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 66 07 00 00 21 14 00 39 7E 23 B6 28 2E R 00 00 01 00 T 6F 07 00 00 @@ -668,7 +668,7 @@ R 00 00 01 00 T 90 07 00 00 23 4E 23 46 3E 00 00 00 00 21 R 00 00 01 00 2B 09 38 00 T 97 07 00 00 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 04 38 00 02 09 06 00 +R 00 00 01 00 02 04 38 00 02 09 05 00 T 9D 07 00 00 R 00 00 01 00 T 9D 07 00 00 21 0C 00 DD 4E 02 DD 46 03 09 E5 @@ -690,9 +690,9 @@ R 00 00 01 00 00 0A 01 00 T F2 07 00 00 21 04 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 T FD 07 00 00 23 56 23 4E 23 46 3E 00 00 00 00 -R 00 00 01 00 2B 0B 2C 00 +R 00 00 01 00 2B 0B 29 00 T 05 08 00 00 21 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 2C 00 02 0A 06 00 +R 00 00 01 00 02 05 29 00 02 0A 05 00 T 0C 08 00 00 21 12 00 39 F9 EB 2A 02 00 00 00 R 00 00 01 00 00 0B 03 00 T 15 08 00 00 7D B4 20 26 @@ -704,11 +704,11 @@ R 00 00 01 00 T 24 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 03 00 02 0A 03 00 T 2A 08 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 06 00 2B 0A 3A 00 +R 00 00 01 00 02 04 05 00 2B 0A 3A 00 T 30 08 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 3A 00 2B 0B 32 00 +R 00 00 01 00 02 05 3A 00 2B 0B 31 00 T 36 08 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 32 00 02 0A 06 00 +R 00 00 01 00 02 05 31 00 02 0A 05 00 T 3D 08 00 00 F1 F1 R 00 00 01 00 T 3F 08 00 00 @@ -718,11 +718,11 @@ R 00 00 01 00 T 4A 08 00 00 23 56 23 4E 23 46 EB CD R 00 00 01 00 T 52 08 00 00 00 00 00 00 C5 E5 21 04 00 DD 4E -R 00 00 01 00 02 04 28 00 +R 00 00 01 00 02 04 27 00 T 5B 08 00 00 02 DD 46 03 09 5E 23 56 23 4E 23 R 00 00 01 00 T 66 08 00 00 46 EB CD 00 00 00 00 E5 21 0E 00 -R 00 00 01 00 02 07 19 00 +R 00 00 01 00 02 07 16 00 T 6F 08 00 00 39 D1 73 23 72 23 71 23 70 21 R 00 00 01 00 T 79 08 00 00 14 00 39 E5 01 20 00 C5 21 08 00 @@ -732,7 +732,7 @@ R 00 00 01 00 T 8F 08 00 00 4E 23 46 3E 00 00 00 00 21 R 00 00 01 00 2B 08 02 00 T 95 08 00 00 00 00 00 00 CD 00 00 00 00 F1 4D -R 00 00 01 00 02 04 02 00 02 09 06 00 +R 00 00 01 00 02 04 02 00 02 09 05 00 T 9C 08 00 00 44 E1 71 23 70 21 14 00 39 7E 23 R 00 00 01 00 T A7 08 00 00 B6 28 3A 21 12 00 E5 21 16 00 39 @@ -754,7 +754,7 @@ R 00 00 01 00 T DC 08 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 38 00 02 09 38 00 T E1 08 00 00 00 00 00 00 F1 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T E4 08 00 00 R 00 00 01 00 T E4 08 00 00 21 08 00 DD 4E 02 DD 46 03 09 E5 @@ -774,9 +774,9 @@ R 00 00 01 00 T 30 09 00 00 03 09 5E 23 56 23 4E 23 46 3E R 00 00 01 00 T 3A 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2C 00 02 09 2C 00 +R 00 00 01 00 2B 04 29 00 02 09 29 00 T 3F 09 00 00 00 00 00 00 EB 21 12 00 39 F9 EB -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 48 09 00 00 2A 02 00 00 00 7D B4 20 26 R 00 00 01 00 00 05 03 00 T 4F 09 00 00 @@ -786,11 +786,11 @@ R 00 00 01 00 T 5A 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 03 00 02 0A 03 00 T 60 09 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 06 00 2B 0A 2B 00 +R 00 00 01 00 02 04 05 00 2B 0A 2A 00 T 66 09 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 2B 00 2B 0B 32 00 +R 00 00 01 00 02 05 2A 00 2B 0B 31 00 T 6C 09 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 32 00 02 0A 06 00 +R 00 00 01 00 02 05 31 00 02 0A 05 00 T 73 09 00 00 F1 F1 R 00 00 01 00 T 75 09 00 00 @@ -812,25 +812,25 @@ R 00 00 01 00 02 05 3C 00 T 99 09 00 00 R 00 00 01 00 T 99 09 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 02 06 3C 00 2B 0B 24 00 +R 00 00 01 00 02 06 3C 00 2B 0B 23 00 T 9F 09 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 24 00 02 0A 06 00 +R 00 00 01 00 02 05 23 00 02 0A 05 00 T A5 09 00 00 R 00 00 01 00 T A5 09 00 00 21 02 00 39 5E 23 56 3E R 00 00 01 00 T AD 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2E 00 02 09 2E 00 +R 00 00 01 00 2B 04 2C 00 02 09 2C 00 T B2 09 00 00 00 00 00 00 22 00 00 00 00 21 -R 00 00 01 00 02 04 06 00 02 09 3C 00 +R 00 00 01 00 02 04 05 00 02 09 3C 00 T B8 09 00 00 02 00 39 4E 23 46 C5 DD 4E FE DD R 00 00 01 00 T C3 09 00 00 46 FF ED 5B 00 00 00 00 3E R 00 00 01 00 02 08 3C 00 T CA 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 11 00 02 09 11 00 +R 00 00 01 00 2B 04 10 00 02 09 10 00 T CF 09 00 00 00 00 00 00 F1 21 42 01 39 E5 21 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T D8 09 00 00 04 00 39 4E 23 46 E1 7E 81 77 23 R 00 00 01 00 T E3 09 00 00 7E 88 77 2A 02 00 00 00 7D B4 20 @@ -844,9 +844,9 @@ R 00 00 01 00 02 05 3C 00 2B 0B 37 00 T F3 09 00 00 C5 21 00 00 00 00 E5 3E R 00 00 01 00 02 06 37 00 T F9 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 32 00 02 09 32 00 +R 00 00 01 00 2B 04 31 00 02 09 31 00 T FE 09 00 00 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 03 0A 00 00 R 00 00 01 00 T 03 0A 00 00 C3 8B 0B 00 00 @@ -868,9 +868,9 @@ R 00 00 01 00 T 29 0A 00 00 R 00 00 01 00 T 29 0A 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 27 00 +R 00 00 01 00 2B 0B 26 00 T 31 0A 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 27 00 02 0A 06 00 +R 00 00 01 00 02 05 26 00 02 0A 05 00 T 38 0A 00 00 21 0A 00 39 D1 73 23 72 23 71 23 R 00 00 01 00 T 43 0A 00 00 70 21 08 00 39 5E 23 56 23 4E 23 @@ -878,7 +878,7 @@ R 00 00 01 00 T 4E 0A 00 00 46 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 01 00 02 0B 01 00 T 54 0A 00 00 CD 00 00 00 00 2A 02 00 00 00 7D -R 00 00 01 00 02 05 06 00 00 0A 03 00 +R 00 00 01 00 02 05 05 00 00 0A 03 00 T 5B 0A 00 00 B4 20 26 R 00 00 01 00 T 5E 0A 00 00 @@ -888,11 +888,11 @@ R 00 00 01 00 T 69 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 03 00 02 0A 03 00 T 6F 0A 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 06 00 2B 0A 15 00 +R 00 00 01 00 02 04 05 00 2B 0A 20 00 T 75 0A 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 15 00 2B 0B 32 00 +R 00 00 01 00 02 05 20 00 2B 0B 31 00 T 7B 0A 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 32 00 02 0A 06 00 +R 00 00 01 00 02 05 31 00 02 0A 05 00 T 82 0A 00 00 F1 F1 R 00 00 01 00 T 84 0A 00 00 @@ -918,9 +918,9 @@ R 00 00 01 00 T BD 0A 00 00 R 00 00 01 00 T BD 0A 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 27 00 +R 00 00 01 00 2B 0B 26 00 T C5 0A 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 27 00 02 0A 06 00 +R 00 00 01 00 02 05 26 00 02 0A 05 00 T CC 0A 00 00 21 06 00 39 D1 73 23 72 23 71 23 R 00 00 01 00 T D7 0A 00 00 70 2E 00 E5 21 00 00 E5 21 00 00 @@ -932,9 +932,9 @@ R 00 00 01 00 T F8 0A 00 00 46 23 5E 23 56 D5 C5 21 00 00 E5 R 00 00 01 00 T 03 0B 00 00 01 00 00 11 00 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 2C 00 +R 00 00 01 00 2B 0B 29 00 T 0B 0B 00 00 21 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 2C 00 02 0A 06 00 +R 00 00 01 00 02 05 29 00 02 0A 05 00 T 12 0B 00 00 21 12 00 39 F9 EB 2A 02 00 00 00 R 00 00 01 00 00 0B 03 00 T 1B 0B 00 00 7D B4 20 26 @@ -946,11 +946,11 @@ R 00 00 01 00 T 2A 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 03 00 02 0A 03 00 T 30 0B 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 06 00 2B 0A 1C 00 +R 00 00 01 00 02 04 05 00 2B 0A 1A 00 T 36 0B 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 1C 00 2B 0B 32 00 +R 00 00 01 00 02 05 1A 00 2B 0B 31 00 T 3C 0B 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 32 00 02 0A 06 00 +R 00 00 01 00 02 05 31 00 02 0A 05 00 T 43 0B 00 00 F1 F1 R 00 00 01 00 T 45 0B 00 00 @@ -994,45 +994,45 @@ R 00 00 01 00 00 04 01 00 T CB 0B 00 00 DD 46 03 09 5E 23 56 23 4E 23 46 R 00 00 01 00 T D6 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2C 00 02 0A 2C 00 +R 00 00 01 00 2B 05 29 00 02 0A 29 00 T DC 0B 00 00 00 00 00 00 EB 21 12 00 39 F9 EB -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T E5 0B 00 00 21 01 00 R 00 00 01 00 T E8 0B 00 00 R 00 00 01 00 T E8 0B 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 1A 00 +R 00 00 01 00 02 05 17 00 T EB 0B 00 00 R 00 00 01 00 T EB 0B 00 00 CD 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 25 00 2B 0A 34 00 +R 00 00 01 00 02 05 24 00 2B 0A 34 00 T F1 0B 00 00 00 00 00 00 CD 00 00 00 00 E5 69 -R 00 00 01 00 02 04 34 00 02 09 06 00 +R 00 00 01 00 02 04 34 00 02 09 05 00 T F8 0B 00 00 60 C1 71 DD 5E 02 DD 56 03 3E R 00 00 01 00 T 02 0C 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 34 00 02 09 34 00 T 07 0C 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 10 0C 00 00 23 C1 71 DD 5E 02 DD 56 03 3E R 00 00 01 00 T 1A 0C 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 34 00 02 09 34 00 T 1F 0C 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 28 0C 00 00 23 23 C1 71 DD 5E 02 DD 56 03 3E R 00 00 01 00 T 33 0C 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 34 00 02 09 34 00 T 38 0C 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 41 0C 00 00 23 23 23 C1 71 DD 5E 02 DD 56 03 R 00 00 01 00 T 4C 0C 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 23 00 02 0A 23 00 +R 00 00 01 00 2B 05 22 00 02 0A 22 00 T 52 0C 00 00 00 00 00 00 E5 21 04 00 DD 5E 04 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 5B 0C 00 00 DD 56 05 19 D1 73 23 72 23 71 23 R 00 00 01 00 T 66 0C 00 00 70 21 08 00 DD 4E 04 DD 46 05 09 @@ -1040,45 +1040,45 @@ R 00 00 01 00 T 71 0C 00 00 E5 DD 5E 02 DD 56 03 3E R 00 00 01 00 T 79 0C 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 26 00 02 09 26 00 +R 00 00 01 00 2B 04 25 00 02 09 25 00 T 7E 0C 00 00 00 00 00 00 EB E1 73 23 72 21 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 86 0C 00 00 0A 00 DD 4E 04 DD 46 05 09 E5 DD R 00 00 01 00 T 91 0C 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 26 00 +R 00 00 01 00 2B 0A 25 00 T 99 0C 00 00 00 00 00 00 CD 00 00 00 00 EB E1 -R 00 00 01 00 02 04 26 00 02 09 06 00 +R 00 00 01 00 02 04 25 00 02 09 05 00 T A0 0C 00 00 73 23 72 DD 5E 02 DD 56 03 3E R 00 00 01 00 T AA 0C 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 23 00 02 09 23 00 +R 00 00 01 00 2B 04 22 00 02 09 22 00 T AF 0C 00 00 00 00 00 00 E5 21 0C 00 DD 5E 04 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T B8 0C 00 00 DD 56 05 19 D1 73 23 72 23 71 23 R 00 00 01 00 T C3 0C 00 00 70 DD 5E 02 DD 56 03 3E R 00 00 01 00 T CB 0C 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 23 00 02 09 23 00 +R 00 00 01 00 2B 04 22 00 02 09 22 00 T D0 0C 00 00 00 00 00 00 E5 21 10 00 DD 5E 04 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T D9 0C 00 00 DD 56 05 19 D1 73 23 72 23 71 23 R 00 00 01 00 T E4 0C 00 00 70 DD 5E 02 DD 56 03 3E R 00 00 01 00 T EC 0C 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 23 00 02 09 23 00 +R 00 00 01 00 2B 04 22 00 02 09 22 00 T F1 0C 00 00 00 00 00 00 E5 21 14 00 DD 5E 04 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T FA 0C 00 00 DD 56 05 19 D1 73 23 72 23 71 23 R 00 00 01 00 T 05 0D 00 00 70 DD 5E 02 DD 56 03 3E R 00 00 01 00 T 0D 0D 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 23 00 02 09 23 00 +R 00 00 01 00 2B 04 22 00 02 09 22 00 T 12 0D 00 00 00 00 00 00 E5 21 18 00 DD 5E 04 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 1B 0D 00 00 DD 56 05 19 D1 73 23 72 23 71 23 R 00 00 01 00 T 26 0D 00 00 70 21 10 00 E5 21 1C 00 DD 4E 04 @@ -1086,35 +1086,35 @@ R 00 00 01 00 T 31 0D 00 00 DD 46 05 09 4D 44 DD 5E 02 DD 56 R 00 00 01 00 T 3C 0D 00 00 03 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 22 00 02 0B 22 00 +R 00 00 01 00 2B 06 21 00 02 0B 21 00 T 42 0D 00 00 CD 00 00 00 00 F1 21 40 00 E5 21 -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 05 00 T 4B 0D 00 00 2C 00 DD 4E 04 DD 46 05 09 4D 44 R 00 00 01 00 T 56 0D 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 22 00 +R 00 00 01 00 2B 0B 21 00 T 5E 0D 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 22 00 02 0A 06 00 +R 00 00 01 00 02 05 21 00 02 0A 05 00 T 65 0D 00 00 21 80 00 E5 21 6C 00 DD 4E 04 DD R 00 00 01 00 T 70 0D 00 00 46 05 09 4D 44 DD 5E 02 DD 56 03 R 00 00 01 00 T 7B 0D 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 22 00 02 0A 22 00 +R 00 00 01 00 2B 05 21 00 02 0A 21 00 T 81 0D 00 00 00 00 00 00 F1 21 40 00 E5 21 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 89 0D 00 00 EC 00 DD 4E 04 DD 46 05 09 4D 44 R 00 00 01 00 T 94 0D 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 22 00 +R 00 00 01 00 2B 0B 21 00 T 9C 0D 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 22 00 02 0A 06 00 +R 00 00 01 00 02 05 21 00 02 0A 05 00 T A3 0D 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 1A 00 +R 00 00 01 00 02 05 17 00 T A6 0D 00 00 R 00 00 01 00 T A6 0D 00 00 CD 00 00 00 00 F6 FF 21 15 00 DD -R 00 00 01 00 02 05 2A 00 +R 00 00 01 00 02 05 28 00 T AF 0D 00 00 5E 02 DD 56 03 19 7E FE 11 28 05 R 00 00 01 00 T BA 0D 00 00 @@ -1124,9 +1124,9 @@ R 00 00 01 00 T BF 0D 00 00 R 00 00 01 00 T BF 0D 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0F 00 +R 00 00 01 00 2B 0B 0E 00 T C7 0D 00 00 21 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 05 0F 00 02 0A 06 00 +R 00 00 01 00 02 05 0E 00 02 0A 05 00 T CE 0D 00 00 34 01 A7 ED 42 28 05 R 00 00 01 00 T D5 0D 00 00 @@ -1136,25 +1136,25 @@ R 00 00 01 00 T DA 0D 00 00 R 00 00 01 00 T DA 0D 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0F 00 +R 00 00 01 00 2B 0B 0E 00 T E2 0D 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 0F 00 02 0A 06 00 +R 00 00 01 00 02 05 0E 00 02 0A 05 00 T E9 0D 00 00 21 00 00 E5 DD 4E 04 DD 46 05 21 R 00 00 01 00 T F4 0D 00 00 0C 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 18 00 +R 00 00 01 00 2B 0A 15 00 T FC 0D 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 18 00 02 09 06 00 +R 00 00 01 00 02 04 15 00 02 09 05 00 T 03 0E 00 00 21 0E 00 39 4D 44 21 00 00 39 5D R 00 00 01 00 T 0E 0E 00 00 54 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 04 00 02 0B 04 00 T 14 0E 00 00 CD 00 00 00 00 21 0E 00 39 5D 54 -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 05 00 T 1D 0E 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 31 00 02 0A 31 00 +R 00 00 01 00 2B 05 30 00 02 0A 30 00 T 23 0E 00 00 00 00 00 00 3E 44 DD AE F8 DD B6 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 2C 0E 00 00 F9 20 05 21 01 00 18 03 R 00 00 01 00 T 34 0E 00 00 @@ -1166,11 +1166,11 @@ R 00 00 01 00 T 37 0E 00 00 R 00 00 01 00 T 37 0E 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 12 00 +R 00 00 01 00 02 05 11 00 T 3A 0E 00 00 R 00 00 01 00 T 3A 0E 00 00 CD 00 00 00 00 FC FF AF DD 77 FC -R 00 00 01 00 02 05 2A 00 +R 00 00 01 00 02 05 28 00 T 43 0E 00 00 DD 77 FD DD 36 FE 1F DD 36 FF 00 R 00 00 01 00 T 4E 0E 00 00 @@ -1184,9 +1184,9 @@ R 00 00 01 00 T 5F 0E 00 00 66 03 E5 DD 7E FE 01 00 00 21 R 00 00 01 00 T 69 0E 00 00 01 00 CD 00 00 00 00 CD -R 00 00 01 00 02 07 20 00 +R 00 00 01 00 02 07 1E 00 T 6F 0E 00 00 00 00 00 00 7D B4 B1 B0 20 02 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0A 00 T 77 0E 00 00 R 00 00 01 00 T 77 0E 00 00 18 17 @@ -1204,7 +1204,7 @@ R 00 00 01 00 T 90 0E 00 00 R 00 00 01 00 T 90 0E 00 00 DD 6E FC DD 66 FD C3 00 00 00 00 -R 00 00 01 00 02 0B 1A 00 +R 00 00 01 00 02 0B 17 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 73 69 6C 65 6E 74 00 diff --git a/src/nos/lib/clients_lib/compsub.rel b/src/nos/lib/clients_lib/compsub.rel index 1de6e4e2..42cc30cc 100644 --- a/src/nos/lib/clients_lib/compsub.rel +++ b/src/nos/lib/clients_lib/compsub.rel @@ -1,28 +1,28 @@ XL4 H 3 areas 19 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0424_f579_TYPE_20A_0a Ref00000000 +S ___012a_1e56__2502x Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___02b9_a317_Loc_20 Ref00000000 S _strchr Ref00000000 S __fprintf Ref00000000 -S ___03a1_a616_TYPE_20L_20_25d_0a Ref00000000 -S ___03a0_3bb9_TYPE_20I_0a Ref00000000 S .__.ABS. Def00000000 -S ___0111_1e56__2502x Ref00000000 S _readhex Ref00000000 +S ___0325_a317_Loc_20 Ref00000000 +S ___02b3_3a50_Error_20in_20respon Ref00000000 +S ___0091_c302__20_25s_0a Ref00000000 S _md5hash Ref00000000 +S ___047a_a62b_XMD5_20_25s_0a Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___0078_c302__20_25s_0a Ref00000000 S _freopen Ref00000000 -S ___03e8_a62b_XMD5_20_25s_0a Ref00000000 +S ___0426_a616_TYPE_20L_20_25d_0a Ref00000000 S ?SS_CMP_L02 Ref00000000 S __printf Ref00000000 +S ___0425_3bb9_TYPE_20I_0a Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0213_5fb2_Can_27t_20read_20lo Ref00000000 S _getresp Ref00000000 -S ___0272_3a50_Error_20in_20respon Ref00000000 S _fclose Ref00000000 -S ___039f_f579_TYPE_20A_0a Ref00000000 +S ___0245_5fb2_Can_27t_20read_20lo Ref00000000 S _memcmp Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 327 flags 0 @@ -31,7 +31,7 @@ A CSTR size 5 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 D2 FF AF DD 77 DE -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0D 00 T 09 00 00 00 DD 77 DF DD 6E 02 DD 66 03 56 23 R 00 00 01 00 T 14 00 00 00 66 6A DD 75 D6 DD 74 D7 21 0D 00 @@ -57,9 +57,9 @@ R 00 00 01 00 T 47 00 00 00 21 00 00 E5 DD 4E D2 DD 46 D3 DD R 00 00 01 00 T 52 00 00 00 5E 04 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0D 00 +R 00 00 01 00 2B 0A 0E 00 T 5A 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 0D 00 02 09 00 00 +R 00 00 01 00 02 04 0E 00 02 09 00 00 T 61 00 00 00 75 D8 DD 74 D9 7D B4 20 1F R 00 00 01 00 T 6A 00 00 00 @@ -67,9 +67,9 @@ R 00 00 01 00 T 6A 00 00 00 DD 6E 04 DD 66 05 E5 0E R 00 00 01 00 T 72 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 12 00 02 0A 12 00 +R 00 00 01 00 2B 04 16 00 02 0A 16 00 T 78 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 10 00 02 0A 10 00 +R 00 00 01 00 2B 05 11 00 02 0A 11 00 T 7E 00 00 00 00 00 00 00 F1 F1 F1 21 01 00 C3 R 00 00 01 00 02 04 00 00 T 87 00 00 00 24 03 00 00 @@ -91,21 +91,21 @@ R 00 00 01 00 T AD 00 00 00 R 00 00 01 00 T AD 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 16 00 02 0B 16 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 T B3 00 00 00 E5 DD 6E D6 DD 66 D7 E5 3E R 00 00 01 00 T BC 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T C1 00 00 00 00 00 00 00 F1 F1 F1 18 4D R 00 00 01 00 02 04 00 00 T C8 00 00 00 R 00 00 01 00 T C8 00 00 00 FE 01 20 1B 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 06 00 +R 00 00 01 00 2B 09 12 00 T D0 00 00 00 00 00 00 00 E5 DD 6E D6 DD 66 D7 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 12 00 T D9 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 04 00 02 0B 04 00 +R 00 00 01 00 2B 06 05 00 02 0B 05 00 T DF 00 00 00 CD 00 00 00 00 F1 F1 F1 18 2E R 00 00 01 00 02 05 00 00 T E7 00 00 00 @@ -115,11 +115,11 @@ R 00 00 01 00 T F2 00 00 00 46 03 09 4E 23 46 C5 0E R 00 00 01 00 T FA 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 +R 00 00 01 00 2B 04 0F 00 02 0A 0F 00 T 00 01 00 00 DD 6E D6 DD 66 D7 E5 3E R 00 00 01 00 T 08 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T 0D 01 00 00 00 00 00 00 F1 F1 F1 F1 18 00 R 00 00 01 00 02 04 00 00 T 15 01 00 00 @@ -135,13 +135,13 @@ R 00 00 01 00 T 2E 01 00 00 01 C8 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 T 38 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 13 00 02 09 13 00 +R 00 00 01 00 2B 04 14 00 02 09 14 00 T 3D 01 00 00 00 00 00 00 DD 75 DA DD 74 DB 7D R 00 00 01 00 02 04 00 00 T 46 01 00 00 A4 3C 28 0E DD 4E DA DD 46 DB 21 R 00 00 01 00 T 51 01 00 00 2B 01 CD 00 00 00 00 30 03 -R 00 00 01 00 02 07 0F 00 +R 00 00 01 00 02 07 10 00 T 58 01 00 00 R 00 00 01 00 T 58 01 00 00 @@ -165,11 +165,11 @@ R 00 00 01 00 T 65 01 00 00 DD 6E 0A DD 66 0B E5 0E R 00 00 01 00 T 6D 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0E 00 02 0A 0E 00 +R 00 00 01 00 2B 04 0C 00 02 0A 0C 00 T 73 01 00 00 DD 6E D6 DD 66 D7 E5 3E R 00 00 01 00 T 7B 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T 80 01 00 00 00 00 00 00 F1 F1 F1 F1 21 0D 00 R 00 00 01 00 02 04 00 00 T 89 01 00 00 DD 4E 02 DD 46 03 09 7E B7 20 04 @@ -185,9 +185,9 @@ R 00 00 01 00 T 9A 01 00 00 06 00 C5 21 20 00 39 4D 44 DD 5E R 00 00 01 00 T A5 01 00 00 D8 DD 56 D9 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0A 00 +R 00 00 01 00 2B 09 0B 00 T AC 01 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 0A 00 02 09 00 00 +R 00 00 01 00 02 04 0B 00 02 09 00 00 T B3 01 00 00 5E D8 DD 56 D9 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 15 00 T BB 01 00 00 00 00 00 00 CD 00 00 00 00 DD 7E @@ -195,13 +195,13 @@ R 00 00 01 00 02 04 15 00 02 09 00 00 T C2 01 00 00 DE DD B6 DF 28 24 01 C8 00 DD 5E R 00 00 01 00 T CD 01 00 00 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 13 00 +R 00 00 01 00 2B 09 14 00 T D4 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 13 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T DB 01 00 00 DA DD 74 DB 4D 44 21 2B 01 CD R 00 00 01 00 T E5 01 00 00 00 00 00 00 30 03 -R 00 00 01 00 02 04 0F 00 +R 00 00 01 00 02 04 10 00 T E9 01 00 00 R 00 00 01 00 T E9 01 00 00 @@ -215,11 +215,11 @@ R 00 00 01 00 T EC 01 00 00 01 C8 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 T F6 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 13 00 02 09 13 00 +R 00 00 01 00 2B 04 14 00 02 09 14 00 T FB 01 00 00 00 00 00 00 DD 75 DA DD 74 DB 4D R 00 00 01 00 02 04 00 00 T 04 02 00 00 44 21 2B 01 CD 00 00 00 00 30 1F -R 00 00 01 00 02 09 0F 00 +R 00 00 01 00 02 09 10 00 T 0D 02 00 00 R 00 00 01 00 T 0D 02 00 00 21 F4 01 DD 4E DA DD 46 DB A7 ED @@ -241,17 +241,17 @@ R 00 00 01 00 T 2C 02 00 00 01 20 00 21 13 01 DD 5E 02 DD 56 R 00 00 01 00 T 37 02 00 00 03 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 03 00 +R 00 00 01 00 2B 08 04 00 T 3D 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 03 00 02 09 00 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T 44 02 00 00 D4 DD 74 D5 7D B4 20 14 R 00 00 01 00 T 4C 02 00 00 R 00 00 01 00 T 4C 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 14 00 02 0B 14 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 T 52 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 10 00 02 0B 10 00 +R 00 00 01 00 2B 06 11 00 02 0B 11 00 T 58 02 00 00 CD 00 00 00 00 F1 F1 C3 R 00 00 01 00 02 05 00 00 T 5E 02 00 00 21 03 00 00 @@ -261,9 +261,9 @@ R 00 00 01 00 T 60 02 00 00 21 10 00 E5 DD 4E D4 DD 46 D5 21 R 00 00 01 00 T 6B 02 00 00 10 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 09 00 +R 00 00 01 00 2B 0A 07 00 T 73 02 00 00 00 00 00 00 CD 00 00 00 00 F1 21 -R 00 00 01 00 02 04 09 00 02 09 00 00 +R 00 00 01 00 02 04 07 00 02 09 00 00 T 7A 02 00 00 05 00 DD 4E 02 DD 46 03 09 4E 23 R 00 00 01 00 T 85 02 00 00 46 21 01 00 A7 ED 42 30 6C @@ -271,9 +271,9 @@ R 00 00 01 00 T 8E 02 00 00 R 00 00 01 00 T 8E 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 02 00 02 0B 02 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 T 94 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 10 00 02 0B 10 00 +R 00 00 01 00 2B 06 11 00 02 0B 11 00 T 9A 02 00 00 CD 00 00 00 00 F1 F1 AF DD 77 DC R 00 00 01 00 02 05 00 00 T A3 02 00 00 DD 77 DD @@ -289,11 +289,11 @@ R 00 00 01 00 T B7 02 00 00 21 1E 00 39 DD 4E DC DD 46 DD 09 R 00 00 01 00 T C2 02 00 00 5E 16 00 D5 1E 00 00 00 00 D5 21 -R 00 00 01 00 2B 09 08 00 +R 00 00 01 00 2B 09 02 00 T CA 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 08 00 2B 0A 10 00 +R 00 00 01 00 02 04 02 00 2B 0A 11 00 T D0 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 10 00 02 09 00 00 +R 00 00 01 00 02 04 11 00 02 09 00 00 T D7 02 00 00 F1 03 DD 71 DC DD 70 DD 18 C5 R 00 00 01 00 T E1 02 00 00 @@ -301,9 +301,9 @@ R 00 00 01 00 T E1 02 00 00 DD 6E 04 DD 66 05 E5 0E R 00 00 01 00 T E9 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0C 00 02 0A 0C 00 +R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 T EF 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 10 00 02 0A 10 00 +R 00 00 01 00 2B 05 11 00 02 0A 11 00 T F5 02 00 00 00 00 00 00 F1 F1 F1 R 00 00 01 00 02 04 00 00 T FA 02 00 00 @@ -331,7 +331,7 @@ R 00 00 01 00 T 24 03 00 00 R 00 00 01 00 T 24 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 03 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 72 00 diff --git a/src/nos/lib/clients_lib/dobatch.rel b/src/nos/lib/clients_lib/dobatch.rel index b16ba9e9..4b2a20d8 100644 --- a/src/nos/lib/clients_lib/dobatch.rel +++ b/src/nos/lib/clients_lib/dobatch.rel @@ -1,11 +1,11 @@ XL4 H 2 areas 8 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0256_e508_Command_20batching Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___021f_e508_Command_20batching Ref00000000 S _setbool Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 49 flags 0 @@ -13,7 +13,7 @@ S _dobatch Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 0A DD -R 00 00 01 00 02 05 03 00 +R 00 00 01 00 02 05 04 00 T 09 00 00 00 66 0B DD 75 FE DD 74 FF 7D B4 20 R 00 00 01 00 T 14 00 00 00 05 @@ -27,9 +27,9 @@ R 00 00 01 00 T 1A 00 00 00 DD 6E 04 DD 66 05 E5 DD 6E 02 DD R 00 00 01 00 T 25 00 00 00 66 03 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 05 00 +R 00 00 01 00 2B 08 01 00 T 2C 00 00 00 00 00 00 00 E5 21 07 00 DD 4E FE -R 00 00 01 00 02 04 05 00 +R 00 00 01 00 02 04 01 00 T 35 00 00 00 DD 46 FF 09 EB 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 06 00 T 3D 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 @@ -39,4 +39,4 @@ R 00 00 01 00 T 46 00 00 00 R 00 00 01 00 T 46 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/clients_lib/docompare.rel b/src/nos/lib/clients_lib/docompare.rel index d163bde7..18e02852 100644 --- a/src/nos/lib/clients_lib/docompare.rel +++ b/src/nos/lib/clients_lib/docompare.rel @@ -1,11 +1,11 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0239_26a3_Different_0a Ref00000000 +S ___0276_26a3_Different_0a Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 -S ___037f_93fc_Same_0a Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ___0402_93fc_Same_0a Ref00000000 S _Notsess Ref00000000 S ?SS_CMP_L02 Ref00000000 S __printf Ref00000000 @@ -17,7 +17,7 @@ S _docompare Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF DD 6E 0A DD -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 04 00 T 09 00 00 00 66 0B DD 75 FE DD 74 FF 7D B4 20 R 00 00 01 00 T 14 00 00 00 19 @@ -67,7 +67,7 @@ R 00 00 01 00 02 04 00 00 T 90 00 00 00 R 00 00 01 00 T 90 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 04 00 02 0B 04 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 T 96 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 08 00 02 0B 08 00 T 9C 00 00 00 CD 00 00 00 00 F1 F1 18 11 diff --git a/src/nos/lib/clients_lib/doftp.rel b/src/nos/lib/clients_lib/doftp.rel index 32f6738b..7d782fd9 100644 --- a/src/nos/lib/clients_lib/doftp.rel +++ b/src/nos/lib/clients_lib/doftp.rel @@ -2,47 +2,45 @@ XL4 H 3 areas 35 global symbols S _resolve Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___03b5_2057_Too_20many_20sessio Ref00000000 +S ___0452_a945_USER_20_25s Ref00000000 S _System Ref00000000 S _Badhost Ref00000000 -S ___0325_8063_PASS_20_25s Ref00000000 S ?S_V_SWITCH_L06 Ref00000000 S _socket Ref00000000 -S ___0022_a0dd__0a Ref00000000 +S ___0023_a0dd__0a Ref00000000 S _memset Ref00000000 -S ___037e_0319_SYST_0a Ref00000000 -S ___04b4_f999_ftp_3e_20syst_0a Ref00000000 S _newsession Ref00000000 S _cmdparse Ref00000000 S _sockstate Ref00000000 +S ___0401_0319_SYST_0a Ref00000000 S _Ftpcmds Ref00000000 +S ___055f_f999_ftp_3e_20syst_0a Ref00000000 S _setjmp Ref00000000 S _printf Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___0444_2057_Too_20many_20sessio Ref00000000 S _strchr Ref00000000 S _strlen Ref00000000 S __fprintf Ref00000000 -S ___0223_6930_Connected_0a Ref00000000 S _strdupw Ref00000000 +S ___0260_6930_Connected_0a Ref00000000 S _perror Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S ___03b8_2030_Trying_20_25s_2e_2e Ref00000000 S _settos Ref00000000 S _free Ref00000000 -S ___021e_f95c_Closed_3a_20_25s_0a Ref00000000 -S ___0369_ae52_Resolving_20_25s_2e Ref00000000 S _freesession Ref00000000 S _keychar Ref00000000 S _getline Ref00000000 S _connect Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___0204_ef8c_Can_27t_20create_20 Ref00000000 S _atoi Ref00000000 S _strnicmp Ref00000000 -S ___03c3_a945_USER_20_25s Ref00000000 +S ___0236_ef8c_Can_27t_20create_20 Ref00000000 S _fputs Ref00000000 S __printf Ref00000000 +S ___0447_2030_Trying_20_25s_2e_2e Ref00000000 +S ___0253_f95c_Closed_3a_20_25s_0a Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _sockerr Ref00000000 S _psocket Ref00000000 @@ -50,8 +48,10 @@ S _getresp Ref00000000 S _fdopen Ref00000000 S _fclose Ref00000000 S _Cmdline Ref00000000 -S ___0235_bd70_Defaulting_20to_20b Ref00000000 +S ___03ec_ae52_Resolving_20_25s_2e Ref00000000 S _keywait Ref00000000 +S ___039d_8063_PASS_20_25s Ref00000000 +S ___0272_bd70_Defaulting_20to_20b Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 737 flags 0 S _doftp Def00000000 @@ -59,21 +59,21 @@ A CSTR size 3A flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 CC FD 21 00 00 39 -R 00 00 01 00 02 05 24 00 +R 00 00 01 00 02 05 21 00 T 09 00 00 00 E5 11 01 00 D5 01 01 00 ED 5B R 00 00 01 00 T 13 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 31 00 2B 09 0C 00 +R 00 00 01 00 02 04 2F 00 2B 09 09 00 T 18 00 00 00 00 00 00 00 CD 00 00 00 00 F1 4D -R 00 00 01 00 02 04 0C 00 02 09 01 00 +R 00 00 01 00 02 04 09 00 02 09 01 00 T 1F 00 00 00 44 E1 71 23 70 79 B0 20 17 R 00 00 01 00 T 28 00 00 00 R 00 00 01 00 T 28 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 02 00 02 0B 02 00 +R 00 00 01 00 2B 05 12 00 02 0B 12 00 T 2E 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 +R 00 00 01 00 2B 06 26 00 02 0B 26 00 T 34 00 00 00 CD 00 00 00 00 F1 F1 21 01 00 C3 R 00 00 01 00 02 05 01 00 T 3D 00 00 00 34 07 00 00 @@ -83,13 +83,13 @@ R 00 00 01 00 T 3F 00 00 00 21 20 00 E5 21 02 00 39 4E 23 46 R 00 00 01 00 T 4A 00 00 00 E1 09 36 00 00 00 00 23 36 -R 00 00 01 00 0B 07 21 00 +R 00 00 01 00 0B 07 1E 00 T 50 00 00 00 00 00 00 00 23 36 00 00 00 00 21 -R 00 00 01 00 8B 04 21 00 2B 0A 21 00 +R 00 00 01 00 8B 04 1E 00 2B 0A 1E 00 T 55 00 00 00 15 02 E5 01 00 00 21 04 00 39 5D R 00 00 01 00 T 60 00 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 +R 00 00 01 00 2B 06 08 00 02 0B 08 00 T 66 00 00 00 CD 00 00 00 00 F1 21 02 00 39 E5 R 00 00 01 00 02 05 01 00 T 6F 00 00 00 21 06 00 39 AF 77 23 77 E1 AF 77 @@ -117,9 +117,9 @@ R 00 00 01 00 T CD 00 00 00 21 04 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 T D8 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 26 00 +R 00 00 01 00 2B 07 22 00 T DD 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 26 00 02 09 01 00 +R 00 00 01 00 02 04 22 00 02 09 01 00 T E4 00 00 00 E5 DD 74 E6 R 00 00 01 00 T E8 00 00 00 @@ -133,19 +133,19 @@ R 00 00 01 00 02 06 19 00 T 05 01 00 00 00 21 14 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 19 00 T 0E 01 00 00 EB 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 10 00 02 0B 10 00 +R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 T 14 01 00 00 CD 00 00 00 00 7D B4 28 23 R 00 00 01 00 02 05 01 00 T 1B 01 00 00 R 00 00 01 00 T 1B 01 00 00 01 01 00 11 00 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 33 00 +R 00 00 01 00 2B 0B 31 00 T 23 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 33 00 02 0A 01 00 +R 00 00 01 00 02 05 31 00 02 0A 01 00 T 2A 01 00 00 00 00 39 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 20 00 +R 00 00 01 00 2B 0B 1D 00 T 32 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 20 00 02 0A 01 00 +R 00 00 01 00 02 05 1D 00 02 0A 01 00 T 39 01 00 00 01 00 C3 34 07 00 00 R 00 00 01 00 00 07 01 00 T 3E 01 00 00 @@ -153,11 +153,11 @@ R 00 00 01 00 T 3E 01 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T 49 01 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 1F 00 +R 00 00 01 00 2B 06 30 00 T 4E 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 1F 00 2B 0A 2A 00 +R 00 00 01 00 02 04 30 00 2B 0A 26 00 T 54 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 2A 00 02 09 01 00 +R 00 00 01 00 02 04 26 00 02 09 01 00 T 5B 01 00 00 F1 DD 6E 04 DD 66 05 23 23 5E 23 R 00 00 01 00 T 66 01 00 00 56 3E 00 00 00 00 21 00 00 00 00 @@ -175,17 +175,17 @@ R 00 00 01 00 T 8C 01 00 00 C5 21 00 00 00 00 E5 3E R 00 00 01 00 02 06 04 00 T 92 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 11 00 02 09 11 00 +R 00 00 01 00 2B 04 10 00 02 09 10 00 T 97 01 00 00 00 00 00 00 F1 F1 01 01 00 11 R 00 00 01 00 02 04 01 00 T 9F 01 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 33 00 +R 00 00 01 00 2B 07 31 00 T A4 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 33 00 02 09 01 00 +R 00 00 01 00 02 04 31 00 02 09 01 00 T AA 01 00 00 00 00 39 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 20 00 +R 00 00 01 00 2B 0B 1D 00 T B2 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 20 00 02 0A 01 00 +R 00 00 01 00 02 05 1D 00 02 0A 01 00 T B9 01 00 00 01 00 C3 34 07 00 00 R 00 00 01 00 00 07 01 00 T BE 01 00 00 @@ -193,7 +193,7 @@ R 00 00 01 00 T BE 01 00 00 21 00 00 E5 01 00 00 11 00 00 3E R 00 00 01 00 T C9 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 +R 00 00 01 00 2B 04 06 00 02 09 06 00 T CE 01 00 00 00 00 00 00 F1 DD 75 FD DD 74 FE R 00 00 01 00 02 04 01 00 T D7 01 00 00 7D A4 3C 20 34 @@ -201,19 +201,19 @@ R 00 00 01 00 T DC 01 00 00 R 00 00 01 00 T DC 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 25 00 02 0B 25 00 +R 00 00 01 00 2B 05 24 00 02 0B 24 00 T E2 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 +R 00 00 01 00 2B 06 26 00 02 0B 26 00 T E8 01 00 00 CD 00 00 00 00 F1 F1 01 01 00 11 R 00 00 01 00 02 05 01 00 T F1 01 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 33 00 +R 00 00 01 00 2B 07 31 00 T F6 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 33 00 02 09 01 00 +R 00 00 01 00 02 04 31 00 02 09 01 00 T FC 01 00 00 00 00 39 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 20 00 +R 00 00 01 00 2B 0B 1D 00 T 04 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 20 00 02 0A 01 00 +R 00 00 01 00 02 05 1D 00 02 0A 01 00 T 0B 02 00 00 01 00 C3 34 07 00 00 R 00 00 01 00 00 07 01 00 T 10 02 00 00 @@ -227,7 +227,7 @@ R 00 00 01 00 02 06 19 00 T 2D 02 00 00 00 21 14 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 19 00 T 36 02 00 00 EB 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 10 00 02 0B 10 00 +R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 T 3C 02 00 00 CD 00 00 00 00 7D B4 28 03 R 00 00 01 00 02 05 01 00 T 43 02 00 00 @@ -243,7 +243,7 @@ R 00 00 01 00 T 5A 02 00 00 00 00 00 00 DD 5E FD DD 56 FE 3E R 00 00 01 00 00 04 02 00 T 63 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2F 00 02 09 2F 00 +R 00 00 01 00 2B 04 2D 00 02 09 2D 00 T 68 02 00 00 00 00 00 00 4D 44 E1 71 23 70 DD R 00 00 01 00 02 04 01 00 T 71 02 00 00 71 FB DD 70 FC E1 71 23 70 01 @@ -251,23 +251,23 @@ R 00 00 01 00 T 7B 02 00 00 10 00 DD 5E FD DD 56 FE 3E R 00 00 01 00 T 84 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1C 00 02 09 1C 00 +R 00 00 01 00 2B 04 1B 00 02 09 1B 00 T 89 02 00 00 00 00 00 00 21 17 02 39 5D 54 3E R 00 00 01 00 02 04 01 00 T 92 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2D 00 02 09 2D 00 +R 00 00 01 00 2B 04 2B 00 02 09 2B 00 T 97 02 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 01 00 2B 0A 1B 00 +R 00 00 01 00 02 04 01 00 2B 0A 27 00 T 9D 02 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 1B 00 2B 0B 2A 00 +R 00 00 01 00 02 05 27 00 2B 0B 26 00 T A3 02 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 2A 00 02 0A 01 00 +R 00 00 01 00 02 05 26 00 02 0A 01 00 T AA 02 00 00 F1 F1 21 10 00 E5 21 19 02 39 4D R 00 00 01 00 T B5 02 00 00 44 DD 5E FD DD 56 FE 3E R 00 00 01 00 T BD 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 23 00 02 09 23 00 +R 00 00 01 00 2B 04 20 00 02 09 20 00 T C2 02 00 00 00 00 00 00 F1 7D A4 3C 20 0E R 00 00 01 00 02 04 01 00 T CA 02 00 00 @@ -281,15 +281,15 @@ R 00 00 01 00 00 04 01 00 T D8 02 00 00 R 00 00 01 00 T D8 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 16 00 02 0B 16 00 +R 00 00 01 00 2B 05 17 00 02 0B 17 00 T DE 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 +R 00 00 01 00 2B 06 26 00 02 0B 26 00 T E4 02 00 00 CD 00 00 00 00 F1 F1 01 C8 00 21 R 00 00 01 00 02 05 01 00 T ED 02 00 00 02 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 2E 00 +R 00 00 01 00 2B 0A 2C 00 T F5 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 2E 00 02 09 01 00 +R 00 00 01 00 02 04 2C 00 02 09 01 00 T FC 02 00 00 F3 DD 74 F4 01 90 81 3E 80 AC 67 R 00 00 01 00 T 07 03 00 00 ED 42 38 03 @@ -309,7 +309,7 @@ R 00 00 01 00 02 06 19 00 T 2B 03 00 00 00 21 14 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 19 00 T 34 03 00 00 EB 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 10 00 02 0B 10 00 +R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 T 3A 03 00 00 CD 00 00 00 00 7D B4 28 08 R 00 00 01 00 02 05 01 00 T 41 03 00 00 @@ -327,7 +327,7 @@ R 00 00 01 00 00 04 01 00 T 53 03 00 00 R 00 00 01 00 T 53 03 00 00 DD 5E F3 DD 56 F4 CD 00 00 00 00 -R 00 00 01 00 02 0B 06 00 +R 00 00 01 00 02 0B 05 00 T 5C 03 00 00 04 00 D7 00 DC 00 E6 00 4B 01 R 00 00 01 00 T 66 03 00 00 36 05 00 00 E1 03 00 00 @@ -343,9 +343,9 @@ R 00 00 01 00 T 7B 03 00 00 09 E5 01 13 00 00 00 21 04 00 39 R 00 00 01 00 00 07 02 00 T 84 03 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 22 00 +R 00 00 01 00 2B 08 1F 00 T 8A 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 22 00 02 09 01 00 +R 00 00 01 00 02 04 1F 00 02 09 01 00 T 91 03 00 00 21 15 00 39 7E FE 0A 28 3C R 00 00 01 00 T 9A 03 00 00 @@ -353,7 +353,7 @@ R 00 00 01 00 T 9A 03 00 00 21 02 00 39 01 13 00 09 E5 0E R 00 00 01 00 T A4 03 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 28 00 02 0A 28 00 +R 00 00 01 00 2B 04 02 00 02 0A 02 00 T AA 03 00 00 DD 6E FB DD 66 FC E5 3E R 00 00 01 00 T B2 03 00 00 00 00 00 00 21 00 00 00 00 CD @@ -361,9 +361,9 @@ R 00 00 01 00 2B 04 15 00 02 09 15 00 T B7 03 00 00 00 00 00 00 F1 F1 F1 F1 01 C8 00 R 00 00 01 00 02 04 01 00 T C0 03 00 00 21 02 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 2E 00 +R 00 00 01 00 2B 0B 2C 00 T C8 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 2E 00 02 0A 01 00 +R 00 00 01 00 02 05 2C 00 02 0A 01 00 T CF 03 00 00 75 F3 DD 74 F4 18 08 R 00 00 01 00 T D6 03 00 00 @@ -385,13 +385,13 @@ R 00 00 01 00 T 02 04 00 00 09 E5 01 25 00 00 00 21 04 00 39 R 00 00 01 00 00 07 02 00 T 0B 04 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 22 00 +R 00 00 01 00 2B 08 1F 00 T 11 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 22 00 02 09 01 00 +R 00 00 01 00 02 04 1F 00 02 09 01 00 T 18 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 08 00 02 0B 08 00 +R 00 00 01 00 2B 05 07 00 02 0B 07 00 T 1E 04 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 +R 00 00 01 00 2B 06 26 00 02 0B 26 00 T 24 04 00 00 CD 00 00 00 00 F1 F1 21 17 00 E5 R 00 00 01 00 02 05 01 00 T 2D 04 00 00 21 02 00 39 4E 23 46 E1 09 7E F6 @@ -405,7 +405,7 @@ R 00 00 01 00 T 48 04 00 00 21 02 00 39 01 13 00 09 E5 0E R 00 00 01 00 T 52 04 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 +R 00 00 01 00 2B 04 32 00 02 0A 32 00 T 58 04 00 00 DD 6E FB DD 66 FC E5 3E R 00 00 01 00 T 60 04 00 00 00 00 00 00 21 00 00 00 00 CD @@ -413,9 +413,9 @@ R 00 00 01 00 2B 04 15 00 02 09 15 00 T 65 04 00 00 00 00 00 00 F1 F1 F1 F1 01 C8 00 R 00 00 01 00 02 04 01 00 T 6E 04 00 00 21 02 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 2E 00 +R 00 00 01 00 2B 0B 2C 00 T 76 04 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 2E 00 02 0A 01 00 +R 00 00 01 00 02 05 2C 00 02 0A 01 00 T 7D 04 00 00 75 F3 DD 74 F4 18 08 R 00 00 01 00 T 84 04 00 00 @@ -429,13 +429,13 @@ R 00 00 01 00 00 05 01 00 T 8F 04 00 00 R 00 00 01 00 T 8F 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 +R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 T 95 04 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 +R 00 00 01 00 2B 06 26 00 02 0B 26 00 T 9B 04 00 00 CD 00 00 00 00 F1 F1 0E R 00 00 01 00 02 05 01 00 T A1 04 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 +R 00 00 01 00 2B 04 0C 00 02 0A 0C 00 T A7 04 00 00 DD 6E FB DD 66 FC E5 3E R 00 00 01 00 T AF 04 00 00 00 00 00 00 21 00 00 00 00 CD @@ -443,9 +443,9 @@ R 00 00 01 00 2B 04 15 00 02 09 15 00 T B4 04 00 00 00 00 00 00 F1 F1 F1 01 C8 00 21 R 00 00 01 00 02 04 01 00 T BD 04 00 00 02 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 2E 00 +R 00 00 01 00 2B 0A 2C 00 T C5 04 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 2E 00 02 09 01 00 +R 00 00 01 00 02 04 2C 00 02 09 01 00 T CC 04 00 00 F3 DD 74 F4 C3 40 06 00 00 R 00 00 01 00 00 09 01 00 T D3 04 00 00 @@ -463,9 +463,9 @@ R 00 00 01 00 2B 04 14 00 02 09 14 00 T FA 04 00 00 00 00 00 00 E5 01 00 00 00 00 DD R 00 00 01 00 02 04 01 00 02 0A 03 00 T 01 05 00 00 5E F9 DD 56 FA 13 3E 00 00 00 00 -R 00 00 01 00 2B 0B 27 00 +R 00 00 01 00 2B 0B 23 00 T 09 05 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 27 00 02 0A 01 00 +R 00 00 01 00 02 05 23 00 02 0A 01 00 T 10 05 00 00 7D B4 20 17 R 00 00 01 00 T 14 05 00 00 @@ -475,11 +475,11 @@ R 00 00 01 00 T 14 05 00 00 R 00 00 01 00 T 14 05 00 00 21 0F 00 39 36 01 0E 00 00 00 00 -R 00 00 01 00 2B 0B 32 00 +R 00 00 01 00 2B 0B 33 00 T 1C 05 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 32 00 +R 00 00 01 00 02 06 33 00 T 22 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2A 00 02 09 2A 00 +R 00 00 01 00 2B 04 26 00 02 09 26 00 T 27 05 00 00 00 00 00 00 F1 F1 R 00 00 01 00 02 04 01 00 T 2B 05 00 00 @@ -503,7 +503,7 @@ R 00 00 01 00 T 50 05 00 00 R 00 00 01 00 T 50 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 +R 00 00 01 00 2B 05 0B 00 02 0A 0B 00 T 56 05 00 00 00 00 00 00 7D B4 20 0B R 00 00 01 00 02 04 01 00 T 5C 05 00 00 @@ -519,21 +519,21 @@ R 00 00 01 00 T 72 05 00 00 09 E5 01 30 00 00 00 21 04 00 39 R 00 00 01 00 00 07 02 00 T 7B 05 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 22 00 +R 00 00 01 00 2B 08 1F 00 T 81 05 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 22 00 02 09 01 00 +R 00 00 01 00 02 04 1F 00 02 09 01 00 T 88 05 00 00 21 02 00 39 01 13 00 09 EB 3E R 00 00 01 00 T 92 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 17 00 02 09 17 00 +R 00 00 01 00 2B 04 16 00 02 09 16 00 T 97 05 00 00 00 00 00 00 DD 75 F7 DD 74 F8 21 R 00 00 01 00 02 04 01 00 T A0 05 00 00 02 00 39 E5 21 04 00 39 01 13 00 R 00 00 01 00 T AB 05 00 00 09 4D 44 11 00 00 00 00 3E -R 00 00 01 00 02 08 0F 00 +R 00 00 01 00 02 08 0D 00 T B2 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0D 00 02 09 0D 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T B7 05 00 00 00 00 00 00 F1 DD 75 F3 DD 74 F4 R 00 00 01 00 02 04 01 00 T C0 05 00 00 7D A4 3C 28 17 @@ -541,9 +541,9 @@ R 00 00 01 00 T C5 05 00 00 R 00 00 01 00 T C5 05 00 00 DD 5E F7 DD 56 F8 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1D 00 +R 00 00 01 00 2B 0B 1C 00 T CD 05 00 00 21 00 00 00 00 CD 00 00 00 00 AF -R 00 00 01 00 02 05 1D 00 02 0A 01 00 +R 00 00 01 00 02 05 1C 00 02 0A 01 00 T D4 05 00 00 DD 77 F7 DD 77 F8 18 64 R 00 00 01 00 T DC 05 00 00 @@ -551,11 +551,11 @@ R 00 00 01 00 T DC 05 00 00 DD 4E FB DD 46 FC DD 5E F7 DD 56 R 00 00 01 00 T E7 05 00 00 F8 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 29 00 02 0B 29 00 +R 00 00 01 00 2B 06 25 00 02 0B 25 00 T ED 05 00 00 CD 00 00 00 00 DD 5E F7 DD 56 F8 R 00 00 01 00 02 05 01 00 T F6 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1D 00 02 0A 1D 00 +R 00 00 01 00 2B 05 1C 00 02 0A 1C 00 T FC 05 00 00 00 00 00 00 AF DD 77 F7 DD 77 F8 R 00 00 01 00 02 04 01 00 T 05 06 00 00 21 07 00 39 46 23 66 68 DD 75 F5 @@ -565,7 +565,7 @@ R 00 00 01 00 T 1B 06 00 00 00 01 C8 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 26 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2E 00 02 09 2E 00 +R 00 00 01 00 2B 04 2C 00 02 09 2C 00 T 2B 06 00 00 00 00 00 00 DD 75 F3 DD 74 F4 21 R 00 00 01 00 02 04 01 00 T 34 06 00 00 07 00 39 DD 4E F5 DD 46 F6 71 23 @@ -595,7 +595,7 @@ R 00 00 01 00 T 5D 06 00 00 R 00 00 01 00 T 5D 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2C 00 02 0A 2C 00 +R 00 00 01 00 2B 05 2A 00 02 0A 2A 00 T 63 06 00 00 00 00 00 00 DD 75 F9 DD 74 FA 7D R 00 00 01 00 02 04 01 00 T 6C 06 00 00 B4 28 02 18 03 @@ -607,11 +607,11 @@ R 00 00 01 00 00 05 02 00 T 74 06 00 00 R 00 00 01 00 T 74 06 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 1E 00 +R 00 00 01 00 2B 06 28 00 T 79 06 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 1E 00 2B 0A 2A 00 +R 00 00 01 00 02 04 28 00 2B 0A 26 00 T 7F 06 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 2A 00 02 09 01 00 +R 00 00 01 00 02 04 26 00 02 09 01 00 T 86 06 00 00 F1 21 13 00 39 46 23 66 68 7D B4 R 00 00 01 00 T 91 06 00 00 28 29 21 40 00 ED 4B 00 00 00 00 @@ -629,7 +629,7 @@ R 00 00 01 00 T AD 06 00 00 21 13 00 39 5E 23 56 3E R 00 00 01 00 T B5 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 30 00 02 09 30 00 +R 00 00 01 00 2B 04 2E 00 02 09 2E 00 T BA 06 00 00 00 00 00 00 R 00 00 01 00 02 04 01 00 T BC 06 00 00 @@ -643,7 +643,7 @@ R 00 00 01 00 T C8 06 00 00 21 04 00 39 5E 23 56 3E R 00 00 01 00 T D0 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 30 00 02 09 30 00 +R 00 00 01 00 2B 04 2E 00 02 09 2E 00 T D5 06 00 00 00 00 00 00 R 00 00 01 00 02 04 01 00 T D7 06 00 00 @@ -657,7 +657,7 @@ R 00 00 01 00 T E3 06 00 00 21 02 00 39 5E 23 56 3E R 00 00 01 00 T EB 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 30 00 02 09 30 00 +R 00 00 01 00 2B 04 2E 00 02 09 2E 00 T F0 06 00 00 00 00 00 00 21 02 00 39 AF 77 23 R 00 00 01 00 02 04 01 00 T F9 06 00 00 77 21 0D 00 E5 21 02 00 39 4E 23 @@ -667,17 +667,17 @@ R 00 00 01 00 T 0B 07 00 00 R 00 00 01 00 T 0B 07 00 00 01 01 00 11 00 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 33 00 +R 00 00 01 00 2B 0B 31 00 T 13 07 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 33 00 02 0A 01 00 +R 00 00 01 00 02 05 31 00 02 0A 01 00 T 1A 07 00 00 6E E1 DD 66 E2 7D B4 28 0E R 00 00 01 00 T 23 07 00 00 R 00 00 01 00 T 23 07 00 00 DD 5E E1 DD 56 E2 3E 00 00 00 00 -R 00 00 01 00 2B 0B 20 00 +R 00 00 01 00 2B 0B 1D 00 T 2B 07 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 20 00 02 0A 01 00 +R 00 00 01 00 02 05 1D 00 02 0A 01 00 T 31 07 00 00 R 00 00 01 00 T 31 07 00 00 21 00 00 @@ -685,7 +685,7 @@ R 00 00 01 00 T 34 07 00 00 R 00 00 01 00 T 34 07 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 12 00 +R 00 00 01 00 02 05 11 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 72 2B 74 00 diff --git a/src/nos/lib/clients_lib/doftpcd.rel b/src/nos/lib/clients_lib/doftpcd.rel index a8bd2242..f7bfb4b2 100644 --- a/src/nos/lib/clients_lib/doftpcd.rel +++ b/src/nos/lib/clients_lib/doftpcd.rel @@ -5,9 +5,9 @@ S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __fprintf Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___01fb_6c46_CWD_20_25s_0a Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _getresp Ref00000000 +S ___022d_6c46_CWD_20_25s_0a Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 57 flags 0 S _doftpcd Def00000000 @@ -28,9 +28,9 @@ R 00 00 01 00 T 1A 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T 25 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 05 00 +R 00 00 01 00 2B 06 07 00 T 2A 00 00 00 00 00 00 00 E5 DD 6E FE DD 66 FF -R 00 00 01 00 02 04 05 00 +R 00 00 01 00 02 04 07 00 T 33 00 00 00 4E 23 46 C5 3E 00 00 00 00 21 R 00 00 01 00 2B 09 02 00 T 3A 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 @@ -38,7 +38,7 @@ R 00 00 01 00 02 04 02 00 02 09 00 00 T 41 00 00 00 F1 F1 01 C8 00 DD 5E FE DD 56 FF R 00 00 01 00 T 4C 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 +R 00 00 01 00 2B 05 06 00 02 0A 06 00 T 52 00 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 T 54 00 00 00 diff --git a/src/nos/lib/clients_lib/doget.rel b/src/nos/lib/clients_lib/doget.rel index f25eb3f3..aae3c8e6 100644 --- a/src/nos/lib/clients_lib/doget.rel +++ b/src/nos/lib/clients_lib/doget.rel @@ -2,10 +2,10 @@ XL4 H 3 areas D global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _getsub Ref00000000 +S ___024a_5e82_Can_27t_20write_20_ Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _perror Ref00000000 S .__.ABS. Def00000000 -S ___0218_5e82_Can_27t_20write_20_ Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _freopen Ref00000000 S _Notsess Ref00000000 @@ -89,15 +89,15 @@ R 00 00 01 00 T C1 00 00 00 DD 6E F8 DD 66 F9 E5 0E R 00 00 01 00 T C9 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 +R 00 00 01 00 2B 04 02 00 02 0A 02 00 T CF 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 09 00 02 0A 09 00 T D5 00 00 00 00 00 00 00 F1 F1 F1 11 R 00 00 01 00 02 04 00 00 T DB 00 00 00 07 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 2B 09 03 00 +R 00 00 01 00 00 04 02 00 2B 09 04 00 T E0 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 03 00 02 09 00 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T E6 00 00 00 01 00 18 32 R 00 00 01 00 T EA 00 00 00 @@ -119,7 +119,7 @@ R 00 00 01 00 T 1C 01 00 00 R 00 00 01 00 T 1C 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 03 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 77 2B 00 diff --git a/src/nos/lib/clients_lib/dolist.rel b/src/nos/lib/clients_lib/dolist.rel index ee5b3e1f..9df0b690 100644 --- a/src/nos/lib/clients_lib/dolist.rel +++ b/src/nos/lib/clients_lib/dolist.rel @@ -6,13 +6,13 @@ S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _perror Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 +S ___024b_988b_Can_27t_20write_20l Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _freopen Ref00000000 S _Notsess Ref00000000 S ?SS_CMP_L02 Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0219_988b_Can_27t_20write_20l Ref00000000 A _DEFAULT size 0 flags 0 A CODE size C8 flags 0 S _dolist Def00000000 @@ -20,7 +20,7 @@ A CSTR size A flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 0A DD -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 07 00 T 09 00 00 00 66 0B DD 75 FC DD 74 FD 7D B4 20 R 00 00 01 00 T 14 00 00 00 19 @@ -28,11 +28,11 @@ R 00 00 01 00 T 15 00 00 00 R 00 00 01 00 T 15 00 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 09 00 T 1B 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 08 00 2B 0A 0A 00 +R 00 00 01 00 02 04 09 00 2B 0A 0B 00 T 21 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0A 00 02 09 00 00 +R 00 00 01 00 02 04 0B 00 02 09 00 00 T 28 00 00 00 21 01 00 C3 C5 00 00 00 R 00 00 01 00 00 08 01 00 T 2E 00 00 00 @@ -40,7 +40,7 @@ R 00 00 01 00 T 2E 00 00 00 DD 4E 02 DD 46 03 21 02 00 CD R 00 00 01 00 T 38 00 00 00 00 00 00 00 30 25 -R 00 00 01 00 02 04 09 00 +R 00 00 01 00 02 04 0A 00 T 3C 00 00 00 R 00 00 01 00 T 3C 00 00 00 21 00 00 E5 01 00 00 00 00 21 @@ -48,7 +48,7 @@ R 00 00 01 00 00 09 02 00 T 44 00 00 00 04 00 DD 5E 04 DD 56 05 19 5E 23 R 00 00 01 00 T 4F 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 07 00 02 0B 07 00 +R 00 00 01 00 2B 06 08 00 02 0B 08 00 T 55 00 00 00 CD 00 00 00 00 F1 DD 75 FE DD 74 R 00 00 01 00 02 05 00 00 T 5E 00 00 00 FF 18 12 @@ -66,9 +66,9 @@ R 00 00 01 00 T 7B 00 00 00 R 00 00 01 00 T 7B 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 T 81 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 +R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 T 87 00 00 00 CD 00 00 00 00 F1 F1 11 R 00 00 01 00 02 05 00 00 T 8D 00 00 00 04 00 00 00 3E 00 00 00 00 21 diff --git a/src/nos/lib/clients_lib/dols.rel b/src/nos/lib/clients_lib/dols.rel index 525023f2..2ecc8b5e 100644 --- a/src/nos/lib/clients_lib/dols.rel +++ b/src/nos/lib/clients_lib/dols.rel @@ -6,13 +6,13 @@ S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _perror Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 +S ___024b_988b_Can_27t_20write_20l Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _freopen Ref00000000 S _Notsess Ref00000000 S ?SS_CMP_L02 Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0219_988b_Can_27t_20write_20l Ref00000000 A _DEFAULT size 0 flags 0 A CODE size C8 flags 0 S _dols Def00000000 @@ -20,7 +20,7 @@ A CSTR size A flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 0A DD -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 07 00 T 09 00 00 00 66 0B DD 75 FC DD 74 FD 7D B4 20 R 00 00 01 00 T 14 00 00 00 19 @@ -28,11 +28,11 @@ R 00 00 01 00 T 15 00 00 00 R 00 00 01 00 T 15 00 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 09 00 T 1B 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 08 00 2B 0A 0A 00 +R 00 00 01 00 02 04 09 00 2B 0A 0B 00 T 21 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0A 00 02 09 00 00 +R 00 00 01 00 02 04 0B 00 02 09 00 00 T 28 00 00 00 21 01 00 C3 C5 00 00 00 R 00 00 01 00 00 08 01 00 T 2E 00 00 00 @@ -40,7 +40,7 @@ R 00 00 01 00 T 2E 00 00 00 DD 4E 02 DD 46 03 21 02 00 CD R 00 00 01 00 T 38 00 00 00 00 00 00 00 30 25 -R 00 00 01 00 02 04 09 00 +R 00 00 01 00 02 04 0A 00 T 3C 00 00 00 R 00 00 01 00 T 3C 00 00 00 21 00 00 E5 01 00 00 00 00 21 @@ -48,7 +48,7 @@ R 00 00 01 00 00 09 02 00 T 44 00 00 00 04 00 DD 5E 04 DD 56 05 19 5E 23 R 00 00 01 00 T 4F 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 07 00 02 0B 07 00 +R 00 00 01 00 2B 06 08 00 02 0B 08 00 T 55 00 00 00 CD 00 00 00 00 F1 DD 75 FE DD 74 R 00 00 01 00 02 05 00 00 T 5E 00 00 00 FF 18 12 @@ -66,9 +66,9 @@ R 00 00 01 00 T 7B 00 00 00 R 00 00 01 00 T 7B 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 T 81 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 +R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 T 87 00 00 00 CD 00 00 00 00 F1 F1 11 R 00 00 01 00 02 05 00 00 T 8D 00 00 00 04 00 00 00 3E 00 00 00 00 21 diff --git a/src/nos/lib/clients_lib/domcompare.rel b/src/nos/lib/clients_lib/domcompare.rel index 65aa28f5..59ea2596 100644 --- a/src/nos/lib/clients_lib/domcompare.rel +++ b/src/nos/lib/clients_lib/domcompare.rel @@ -2,15 +2,14 @@ XL4 H 3 areas 15 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _getsub Ref00000000 -S ___01fe_e911_Can_27t_20NLST_20_2 Ref00000000 S _rip Ref00000000 -S ___0142_1170__25s_20_2d_20Differ Ref00000000 S _fseek Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___015f_4968__25s_20_2d_20Same_0 Ref00000000 S _fgets Ref00000000 S .__.ABS. Def00000000 S _free Ref00000000 -S ___0144_4968__25s_20_2d_20Same_0 Ref00000000 +S ___0230_e911_Can_27t_20NLST_20_2 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _mallocw Ref00000000 S _Notsess Ref00000000 @@ -20,6 +19,7 @@ S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _compsub Ref00000000 S _fclose Ref00000000 +S ___015d_1170__25s_20_2d_20Differ Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 224 flags 0 S _domcompare Def00000000 @@ -27,7 +27,7 @@ A CSTR size 5 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F4 FF DD 6E 0A DD -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0A 00 T 09 00 00 00 66 0B DD 75 F4 DD 74 F5 7D B4 20 R 00 00 01 00 T 14 00 00 00 19 @@ -35,19 +35,19 @@ R 00 00 01 00 T 15 00 00 00 R 00 00 01 00 T 15 00 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0C 00 T 1B 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0D 00 2B 0A 10 00 +R 00 00 01 00 02 04 0C 00 2B 0A 0F 00 T 21 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 10 00 02 09 00 00 +R 00 00 01 00 02 04 0F 00 02 09 00 00 T 28 00 00 00 21 01 00 C3 21 02 00 00 R 00 00 01 00 00 08 01 00 T 2E 00 00 00 R 00 00 01 00 T 2E 00 00 00 11 00 01 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0C 00 +R 00 00 01 00 2B 08 0B 00 T 34 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 0C 00 02 09 00 00 +R 00 00 01 00 02 04 0B 00 02 09 00 00 T 3B 00 00 00 F8 DD 74 F9 21 04 00 DD 4E F4 DD R 00 00 01 00 T 46 00 00 00 46 F5 09 36 02 DD 36 FA 01 DD 36 @@ -59,11 +59,11 @@ R 00 00 01 00 T 53 00 00 00 DD 4E 02 DD 46 03 DD 6E FA DD 66 R 00 00 01 00 T 5E 00 00 00 FB CD 00 00 00 00 D2 FC 01 00 00 -R 00 00 01 00 02 06 0E 00 00 0B 01 00 +R 00 00 01 00 02 06 0D 00 00 0B 01 00 T 65 00 00 00 R 00 00 01 00 T 65 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0F 00 02 0A 0F 00 +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T 6B 00 00 00 00 00 00 00 DD 75 F6 DD 74 F7 E5 R 00 00 01 00 02 04 00 00 T 74 00 00 00 DD 6E FA DD 66 FB 29 DD 4E 04 DD @@ -97,9 +97,9 @@ R 00 00 01 00 T D1 00 00 00 46 05 09 4E 23 46 C5 0E R 00 00 01 00 T D9 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 02 00 02 0A 02 00 +R 00 00 01 00 2B 04 09 00 02 0A 09 00 T DF 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 10 00 02 0A 10 00 +R 00 00 01 00 2B 05 0F 00 02 0A 0F 00 T E5 00 00 00 00 00 00 00 F1 F1 F1 C3 R 00 00 01 00 02 04 00 00 T EB 00 00 00 F1 01 00 00 @@ -111,7 +111,7 @@ R 00 00 01 00 T F8 00 00 00 E5 DD 5E F6 DD 56 F7 3E R 00 00 01 00 T 00 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T 05 01 00 00 00 00 00 00 F1 F1 F1 21 10 00 DD R 00 00 01 00 02 04 00 00 T 0E 01 00 00 4E F6 DD 46 F7 09 CB 86 21 10 00 @@ -123,23 +123,23 @@ R 00 00 01 00 T 1C 01 00 00 DD 6E F6 DD 66 F7 E5 01 00 01 DD R 00 00 01 00 T 27 01 00 00 5E F8 DD 56 F9 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 07 00 +R 00 00 01 00 2B 0A 06 00 T 2F 01 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 07 00 02 09 00 00 +R 00 00 01 00 02 04 06 00 02 09 00 00 T 36 01 00 00 B4 CA E3 01 00 00 R 00 00 01 00 00 06 01 00 T 3A 01 00 00 R 00 00 01 00 T 3A 01 00 00 DD 5E F8 DD 56 F9 3E 00 00 00 00 -R 00 00 01 00 2B 0B 03 00 +R 00 00 01 00 2B 0B 02 00 T 42 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 03 00 02 0A 00 00 +R 00 00 01 00 02 05 02 00 02 0A 00 00 T 49 01 00 00 6E F8 DD 66 F9 E5 DD 4E F8 DD 46 R 00 00 01 00 T 54 01 00 00 F9 DD 5E F4 DD 56 F5 3E R 00 00 01 00 T 5C 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 +R 00 00 01 00 2B 04 11 00 02 09 11 00 T 61 01 00 00 00 00 00 00 F1 7D B4 20 1B R 00 00 01 00 02 04 00 00 T 68 01 00 00 @@ -147,9 +147,9 @@ R 00 00 01 00 T 68 01 00 00 DD 6E F8 DD 66 F9 E5 0E R 00 00 01 00 T 70 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 +R 00 00 01 00 2B 04 05 00 02 0A 05 00 T 76 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 10 00 02 0A 10 00 +R 00 00 01 00 2B 05 0F 00 02 0A 0F 00 T 7C 01 00 00 00 00 00 00 F1 F1 F1 18 19 R 00 00 01 00 02 04 00 00 T 83 01 00 00 @@ -157,9 +157,9 @@ R 00 00 01 00 T 83 01 00 00 DD 6E F8 DD 66 F9 E5 0E R 00 00 01 00 T 8B 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 04 00 02 0A 04 00 +R 00 00 01 00 2B 04 13 00 02 0A 13 00 T 91 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 10 00 02 0A 10 00 +R 00 00 01 00 2B 05 0F 00 02 0A 0F 00 T 97 01 00 00 00 00 00 00 F1 F1 F1 R 00 00 01 00 02 04 00 00 T 9C 01 00 00 @@ -175,11 +175,11 @@ R 00 00 01 00 T B6 01 00 00 77 23 77 DD 5E F6 DD 56 F7 3E R 00 00 01 00 T C0 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 13 00 02 09 13 00 +R 00 00 01 00 2B 04 12 00 02 09 12 00 T C5 01 00 00 00 00 00 00 DD 5E F8 DD 56 F9 3E R 00 00 01 00 02 04 00 00 T CE 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 +R 00 00 01 00 2B 04 08 00 02 09 08 00 T D3 01 00 00 00 00 00 00 21 04 00 09 36 00 21 R 00 00 01 00 02 04 00 00 T DC 01 00 00 01 00 18 41 @@ -191,9 +191,9 @@ R 00 00 01 00 00 05 01 00 T E3 01 00 00 R 00 00 01 00 T E3 01 00 00 DD 5E F6 DD 56 F7 3E 00 00 00 00 -R 00 00 01 00 2B 0B 13 00 +R 00 00 01 00 2B 0B 12 00 T EB 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 13 00 02 0A 00 00 +R 00 00 01 00 02 05 12 00 02 0A 00 00 T F1 01 00 00 R 00 00 01 00 T F1 01 00 00 DD 34 FA 20 03 DD 34 FB @@ -205,9 +205,9 @@ R 00 00 01 00 00 05 01 00 T FC 01 00 00 R 00 00 01 00 T FC 01 00 00 DD 5E F8 DD 56 F9 3E 00 00 00 00 -R 00 00 01 00 2B 0B 09 00 +R 00 00 01 00 2B 0B 08 00 T 04 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 09 00 02 0A 00 00 +R 00 00 01 00 02 05 08 00 02 0A 00 00 T 0B 02 00 00 04 00 DD 4E F4 DD 46 F5 09 36 00 R 00 00 01 00 T 16 02 00 00 21 09 00 09 AF 77 23 77 21 00 00 @@ -215,7 +215,7 @@ R 00 00 01 00 T 21 02 00 00 R 00 00 01 00 T 21 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 04 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 4E 4C 53 54 00 diff --git a/src/nos/lib/clients_lib/domd5.rel b/src/nos/lib/clients_lib/domd5.rel index fd5d0478..211e6247 100644 --- a/src/nos/lib/clients_lib/domd5.rel +++ b/src/nos/lib/clients_lib/domd5.rel @@ -1,19 +1,19 @@ XL4 H 2 areas F global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0424_f579_TYPE_20A_0a Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __fprintf Ref00000000 -S ___03a1_a616_TYPE_20L_20_25d_0a Ref00000000 -S ___03a0_3bb9_TYPE_20I_0a Ref00000000 S .__.ABS. Def00000000 +S ___047a_a62b_XMD5_20_25s_0a Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___03e8_a62b_XMD5_20_25s_0a Ref00000000 S _Notsess Ref00000000 +S ___0426_a616_TYPE_20L_20_25d_0a Ref00000000 S ?SS_CMP_L02 Ref00000000 S __printf Ref00000000 +S ___0425_3bb9_TYPE_20I_0a Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _getresp Ref00000000 -S ___039f_f579_TYPE_20A_0a Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 183 flags 0 S _domd5 Def00000000 @@ -28,9 +28,9 @@ R 00 00 01 00 T 1C 00 00 00 R 00 00 01 00 T 1C 00 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 07 00 T 22 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 08 00 2B 0A 0A 00 +R 00 00 01 00 02 04 07 00 2B 0A 0A 00 T 28 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 0A 00 02 09 00 00 T 2F 00 00 00 21 01 00 C3 80 01 00 00 @@ -58,21 +58,21 @@ R 00 00 01 00 T 7B 00 00 00 R 00 00 01 00 T 7B 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 T 81 00 00 00 E5 DD 6E FA DD 66 FB E5 3E R 00 00 01 00 T 8A 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T 8F 00 00 00 00 00 00 00 F1 F1 F1 18 4D R 00 00 01 00 02 04 00 00 T 96 00 00 00 R 00 00 01 00 T 96 00 00 00 FE 01 20 1B 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 04 00 +R 00 00 01 00 2B 09 0B 00 T 9E 00 00 00 00 00 00 00 E5 DD 6E FA DD 66 FB -R 00 00 01 00 02 04 04 00 +R 00 00 01 00 02 04 0B 00 T A7 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 02 00 02 0B 02 00 +R 00 00 01 00 2B 06 03 00 02 0B 03 00 T AD 00 00 00 CD 00 00 00 00 F1 F1 F1 18 2E R 00 00 01 00 02 05 00 00 T B5 00 00 00 @@ -82,11 +82,11 @@ R 00 00 01 00 T C0 00 00 00 46 F9 09 4E 23 46 C5 0E R 00 00 01 00 T C8 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 03 00 02 0A 03 00 +R 00 00 01 00 2B 04 08 00 02 0A 08 00 T CE 00 00 00 DD 6E FA DD 66 FB E5 3E R 00 00 01 00 T D6 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T DB 00 00 00 00 00 00 00 F1 F1 F1 F1 18 00 R 00 00 01 00 02 04 00 00 T E3 00 00 00 @@ -102,7 +102,7 @@ R 00 00 01 00 T FC 00 00 00 01 C8 00 DD 5E F8 DD 56 F9 3E R 00 00 01 00 T 06 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 0B 01 00 00 00 00 00 00 DD 75 FC DD 74 FD 7D R 00 00 01 00 02 04 00 00 T 14 01 00 00 A4 3C 28 0E DD 4E FC DD 46 FD 21 @@ -132,11 +132,11 @@ R 00 00 01 00 T 32 01 00 00 DD 6E F6 DD 66 F7 E5 0E R 00 00 01 00 T 3A 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 07 00 02 0A 07 00 +R 00 00 01 00 2B 04 05 00 02 0A 05 00 T 40 01 00 00 DD 6E FA DD 66 FB E5 3E R 00 00 01 00 T 48 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T 4D 01 00 00 00 00 00 00 F1 F1 F1 F1 DD 7E FE R 00 00 01 00 02 04 00 00 T 56 01 00 00 DD B6 FF 28 11 @@ -146,7 +146,7 @@ R 00 00 01 00 T 5B 01 00 00 01 C8 00 DD 5E F8 DD 56 F9 3E R 00 00 01 00 T 65 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 6A 01 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 T 6C 01 00 00 @@ -154,7 +154,7 @@ R 00 00 01 00 T 6C 01 00 00 01 C8 00 DD 5E F8 DD 56 F9 3E R 00 00 01 00 T 76 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 7B 01 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 T 7D 01 00 00 @@ -164,4 +164,4 @@ R 00 00 01 00 T 80 01 00 00 R 00 00 01 00 T 80 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/clients_lib/domget.rel b/src/nos/lib/clients_lib/domget.rel index 7daac6cb..7fde316b 100644 --- a/src/nos/lib/clients_lib/domget.rel +++ b/src/nos/lib/clients_lib/domget.rel @@ -2,15 +2,15 @@ XL4 H 3 areas 16 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _getsub Ref00000000 -S ___01fe_e911_Can_27t_20NLST_20_2 Ref00000000 S _rip Ref00000000 S _fseek Ref00000000 +S ___024a_5e82_Can_27t_20write_20_ Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _fgets Ref00000000 S _perror Ref00000000 S .__.ABS. Def00000000 S _free Ref00000000 -S ___0218_5e82_Can_27t_20write_20_ Ref00000000 +S ___0230_e911_Can_27t_20NLST_20_2 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _mallocw Ref00000000 S _freopen Ref00000000 @@ -116,7 +116,7 @@ R 00 00 01 00 T FC 00 00 00 46 05 09 4E 23 46 C5 0E R 00 00 01 00 T 04 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 02 00 02 0A 02 00 +R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 T 0A 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 11 00 02 0A 11 00 T 10 01 00 00 00 00 00 00 F1 F1 F1 C3 @@ -130,7 +130,7 @@ R 00 00 01 00 T 23 01 00 00 E5 DD 5E F2 DD 56 F3 3E R 00 00 01 00 T 2B 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T 30 01 00 00 00 00 00 00 F1 F1 F1 21 10 00 DD R 00 00 01 00 02 04 00 00 T 39 01 00 00 4E F2 DD 46 F3 09 CB 86 21 10 00 @@ -150,9 +150,9 @@ R 00 00 01 00 00 06 01 00 T 65 01 00 00 R 00 00 01 00 T 65 01 00 00 DD 5E F6 DD 56 F7 3E 00 00 00 00 -R 00 00 01 00 2B 0B 03 00 +R 00 00 01 00 2B 0B 02 00 T 6D 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 03 00 02 0A 00 00 +R 00 00 01 00 02 05 02 00 02 0A 00 00 T 74 01 00 00 0B 00 DD 4E F0 DD 46 F1 09 7E 23 R 00 00 01 00 T 7F 01 00 00 B6 28 20 DD 6E F6 DD 66 F7 E5 DD @@ -182,7 +182,7 @@ R 00 00 01 00 T C5 01 00 00 DD 6E F6 DD 66 F7 E5 0E R 00 00 01 00 T CD 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 +R 00 00 01 00 2B 04 04 00 02 0A 04 00 T D3 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 11 00 02 0A 11 00 T D9 01 00 00 00 00 00 00 F1 F1 F1 11 diff --git a/src/nos/lib/clients_lib/domkdir.rel b/src/nos/lib/clients_lib/domkdir.rel index af185a2b..c006e2cc 100644 --- a/src/nos/lib/clients_lib/domkdir.rel +++ b/src/nos/lib/clients_lib/domkdir.rel @@ -4,8 +4,8 @@ S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __fprintf Ref00000000 S .__.ABS. Def00000000 +S ___047b_8515_XMKD_20_25s_0a Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___03e9_8515_XMKD_20_25s_0a Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _getresp Ref00000000 A _DEFAULT size 0 flags 0 @@ -14,7 +14,7 @@ S _domkdir Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 0A DD -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T 09 00 00 00 66 0B DD 75 FE DD 74 FF 7D B4 20 R 00 00 01 00 T 14 00 00 00 05 @@ -28,9 +28,9 @@ R 00 00 01 00 T 1A 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T 25 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 05 00 +R 00 00 01 00 2B 06 04 00 T 2A 00 00 00 00 00 00 00 E5 DD 6E FE DD 66 FF -R 00 00 01 00 02 04 05 00 +R 00 00 01 00 02 04 04 00 T 33 00 00 00 4E 23 46 C5 3E 00 00 00 00 21 R 00 00 01 00 2B 09 02 00 T 3A 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 diff --git a/src/nos/lib/clients_lib/domput.rel b/src/nos/lib/clients_lib/domput.rel index 5fb50edf..ccc88e6e 100644 --- a/src/nos/lib/clients_lib/domput.rel +++ b/src/nos/lib/clients_lib/domput.rel @@ -15,9 +15,9 @@ S ?SS_CMP_L02 Ref00000000 S _tmpfile Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___020a_3eee_Can_27t_20list_20lo Ref00000000 S _compsub Ref00000000 S _fclose Ref00000000 +S ___023c_3eee_Can_27t_20list_20lo Ref00000000 S _getdir Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 1AA flags 0 @@ -51,7 +51,7 @@ R 00 00 01 00 T 40 00 00 00 R 00 00 01 00 T 40 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 05 11 00 02 0B 11 00 T 46 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 T 4C 00 00 00 CD 00 00 00 00 F1 F1 21 01 00 C3 @@ -127,7 +127,7 @@ R 00 00 01 00 T 2C 01 00 00 4E FE DD 46 FF DD 5E F8 DD 56 F9 R 00 00 01 00 T 37 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 10 00 02 0A 10 00 +R 00 00 01 00 2B 05 0F 00 02 0A 0F 00 T 3D 01 00 00 00 00 00 00 F1 7D B4 28 1C R 00 00 01 00 02 04 00 00 T 44 01 00 00 @@ -161,9 +161,9 @@ R 00 00 01 00 00 05 01 00 T 74 01 00 00 R 00 00 01 00 T 74 01 00 00 DD 5E FA DD 56 FB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 11 00 +R 00 00 01 00 2B 0B 10 00 T 7C 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 11 00 02 0A 00 00 +R 00 00 01 00 02 05 10 00 02 0A 00 00 T 83 01 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 06 00 T 8B 01 00 00 00 00 00 00 CD 00 00 00 00 21 diff --git a/src/nos/lib/clients_lib/doquit.rel b/src/nos/lib/clients_lib/doquit.rel index b67c55b9..6aec9c4f 100644 --- a/src/nos/lib/clients_lib/doquit.rel +++ b/src/nos/lib/clients_lib/doquit.rel @@ -4,8 +4,8 @@ S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __fprintf Ref00000000 S .__.ABS. Def00000000 -S ___034a_744a_QUIT_0a Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ___03c9_744a_QUIT_0a Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _getresp Ref00000000 A _DEFAULT size 0 flags 0 @@ -14,7 +14,7 @@ S _doquit Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 0A DD -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 04 00 T 09 00 00 00 66 0B DD 75 FE DD 74 FF 7D B4 20 R 00 00 01 00 T 14 00 00 00 05 @@ -26,7 +26,7 @@ R 00 00 01 00 T 1A 00 00 00 R 00 00 01 00 T 1A 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 04 00 02 0B 04 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 T 20 00 00 00 E5 DD 6E FE DD 66 FF 4E 23 46 C5 R 00 00 01 00 T 2B 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD diff --git a/src/nos/lib/clients_lib/dormdir.rel b/src/nos/lib/clients_lib/dormdir.rel index 9e802499..586e65d5 100644 --- a/src/nos/lib/clients_lib/dormdir.rel +++ b/src/nos/lib/clients_lib/dormdir.rel @@ -1,9 +1,9 @@ XL4 H 2 areas 9 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___03ea_31d2_XRMD_20_25s_0a Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __fprintf Ref00000000 +S ___047c_31d2_XRMD_20_25s_0a Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 @@ -28,13 +28,13 @@ R 00 00 01 00 T 1A 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T 25 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 01 00 +R 00 00 01 00 2B 06 03 00 T 2A 00 00 00 00 00 00 00 E5 DD 6E FE DD 66 FF -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 03 00 T 33 00 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 03 00 +R 00 00 01 00 2B 09 02 00 T 3A 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 02 09 00 00 +R 00 00 01 00 02 04 02 00 02 09 00 00 T 41 00 00 00 F1 F1 01 C8 00 DD 5E FE DD 56 FF R 00 00 01 00 T 4C 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD @@ -44,4 +44,4 @@ R 00 00 01 00 02 04 00 00 T 54 00 00 00 R 00 00 01 00 T 54 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/clients_lib/dotype.rel b/src/nos/lib/clients_lib/dotype.rel index e1db93e8..7a9d2086 100644 --- a/src/nos/lib/clients_lib/dotype.rel +++ b/src/nos/lib/clients_lib/dotype.rel @@ -1,24 +1,24 @@ XL4 H 2 areas D global symbols +S ___021e_3ed8_Ascii_0a Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___02b0_89c0_Invalid_20type_20_2 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___02bf_4a5a_Logical_20bytesize_ Ref00000000 S .__.ABS. Def00000000 +S ___0307_89c0_Invalid_20type_20_2 Ref00000000 +S ___032b_4a5a_Logical_20bytesize_ Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _atoi Ref00000000 S __printf Ref00000000 -S ___01ed_3ed8_Ascii_0a Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___02f3_4ab5_Image_0a Ref00000000 S ?C_V_SWITCH_L06 Ref00000000 -S ___029d_4ab5_Image_0a Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 130 flags 0 S _dotype Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 0A DD -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 06 00 T 09 00 00 00 66 0B DD 75 FE DD 74 FF 7D B4 20 R 00 00 01 00 T 14 00 00 00 06 @@ -42,19 +42,19 @@ R 00 00 01 00 T 3B 00 00 00 R 00 00 01 00 T 3B 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 +R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 T 41 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 07 00 02 0B 07 00 +R 00 00 01 00 2B 06 08 00 02 0B 08 00 T 47 00 00 00 CD 00 00 00 00 F1 F1 18 3D -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T 4E 00 00 00 R 00 00 01 00 T 4E 00 00 00 FE 00 20 13 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 08 00 +R 00 00 01 00 2B 09 00 00 T 56 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 08 00 2B 0A 07 00 +R 00 00 01 00 02 04 00 00 2B 0A 08 00 T 5C 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 07 00 02 09 00 00 +R 00 00 01 00 02 04 08 00 02 09 01 00 T 63 00 00 00 18 26 R 00 00 01 00 T 65 00 00 00 @@ -64,11 +64,11 @@ R 00 00 01 00 T 70 00 00 00 46 FF 09 4E 23 46 C5 0E R 00 00 01 00 T 78 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 03 00 02 0A 03 00 +R 00 00 01 00 2B 04 05 00 02 0A 05 00 T 7E 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 +R 00 00 01 00 2B 05 08 00 02 0A 08 00 T 84 00 00 00 00 00 00 00 F1 F1 F1 18 00 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 8B 00 00 00 R 00 00 01 00 T 8B 00 00 00 21 00 00 C3 2D 01 00 00 @@ -78,7 +78,7 @@ R 00 00 01 00 T 91 00 00 00 DD 6E 04 DD 66 05 23 23 7E 23 66 R 00 00 01 00 T 9C 00 00 00 6F 5E CD 00 00 00 00 08 00 41 42 -R 00 00 01 00 02 07 0A 00 +R 00 00 01 00 02 07 0B 00 T A5 00 00 00 49 4C 61 62 69 6C 07 01 00 00 R 00 00 01 00 00 0A 01 00 T AD 00 00 00 D9 00 00 00 BD 00 00 00 @@ -110,9 +110,9 @@ R 00 00 01 00 T EF 00 00 00 04 DD 46 05 09 5E 23 56 3E R 00 00 01 00 T F8 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 +R 00 00 01 00 2B 04 07 00 02 09 07 00 T FD 00 00 00 00 00 00 00 4D 44 E1 71 23 70 18 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 06 01 00 00 23 R 00 00 01 00 T 07 01 00 00 @@ -120,11 +120,11 @@ R 00 00 01 00 T 07 01 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T 12 01 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 01 00 +R 00 00 01 00 2B 06 04 00 T 17 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 01 00 2B 0A 07 00 +R 00 00 01 00 02 04 04 00 2B 0A 08 00 T 1D 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 07 00 02 09 00 00 +R 00 00 01 00 02 04 08 00 02 09 01 00 T 24 01 00 00 F1 21 01 00 18 03 R 00 00 01 00 T 2A 01 00 00 diff --git a/src/nos/lib/clients_lib/doupdate.rel b/src/nos/lib/clients_lib/doupdate.rel index 2dc9e615..9085a047 100644 --- a/src/nos/lib/clients_lib/doupdate.rel +++ b/src/nos/lib/clients_lib/doupdate.rel @@ -1,7 +1,7 @@ XL4 H 2 areas 8 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___03c9_eb24_Update_20with_20MD5 Ref00000000 +S ___045a_eb24_Update_20with_20MD5 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 diff --git a/src/nos/lib/clients_lib/doverbose.rel b/src/nos/lib/clients_lib/doverbose.rel index 505702a7..ffccbf8f 100644 --- a/src/nos/lib/clients_lib/doverbose.rel +++ b/src/nos/lib/clients_lib/doverbose.rel @@ -3,9 +3,9 @@ H 2 areas 8 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 -S ___03dd_c8df_Verbose Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___046e_c8df_Verbose Ref00000000 S _setshort Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 49 flags 0 @@ -13,7 +13,7 @@ S _doverbose Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 0A DD -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 03 00 T 09 00 00 00 66 0B DD 75 FE DD 74 FF 7D B4 20 R 00 00 01 00 T 14 00 00 00 05 @@ -27,9 +27,9 @@ R 00 00 01 00 T 1A 00 00 00 DD 6E 04 DD 66 05 E5 DD 6E 02 DD R 00 00 01 00 T 25 00 00 00 66 03 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 03 00 +R 00 00 01 00 2B 08 05 00 T 2C 00 00 00 00 00 00 00 E5 21 05 00 DD 4E FE -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 05 00 T 35 00 00 00 DD 46 FF 09 EB 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 06 00 T 3D 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 diff --git a/src/nos/lib/clients_lib/finger.rel b/src/nos/lib/clients_lib/finger.rel index 075fba8d..e15add43 100644 --- a/src/nos/lib/clients_lib/finger.rel +++ b/src/nos/lib/clients_lib/finger.rel @@ -1,43 +1,43 @@ XL4 H 3 areas 28 global symbols S _resolve Ref00000000 -S ___0221_bb2f_Connect_20failed_3a Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___03b5_2057_Too_20many_20sessio Ref00000000 -S ___0139_7643__25s_0a Ref00000000 +S ___0154_7643__25s_0a Ref00000000 S _fflush Ref00000000 +S ___0486_699f__5eC_0a Ref00000000 S _socket Ref00000000 S _fgetc Ref00000000 -S ___016c_82c1__25s_40_25s_3a_0a Ref00000000 S _newsession Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___0444_2057_Too_20many_20sessio Ref00000000 S _strchr Ref00000000 S _alert Ref00000000 S __fprintf Ref00000000 -S ___0223_6930_Connected_0a Ref00000000 +S ___0260_6930_Connected_0a Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S ___03b8_2030_Trying_20_25s_2e_2e Ref00000000 S _fputc Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S _Current Ref00000000 -S ___0369_ae52_Resolving_20_25s_2e Ref00000000 +S ___0198_82c1__25s_40_25s_3a_0a Ref00000000 S _freesession Ref00000000 +S ___06db_5c70_unknown_0a Ref00000000 +S ___018e_1d98__25s_3a_20local_20n Ref00000000 S _close_s Ref00000000 S _connect Ref00000000 -S ___05fe_5c70_unknown_0a Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___0204_ef8c_Can_27t_20create_20 Ref00000000 S ?SS_CMP_L02 Ref00000000 +S ___0236_ef8c_Can_27t_20create_20 Ref00000000 S __printf Ref00000000 -S ___03f3_699f__5eC_0a Ref00000000 -S ___0162_1d98__25s_3a_20local_20n Ref00000000 +S ___0447_2030_Trying_20_25s_2e_2e Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___025e_bb2f_Connect_20failed_3a Ref00000000 S _sockerr Ref00000000 S _psocket Ref00000000 S _fdopen Ref00000000 S _fclose Ref00000000 S _Cmdline Ref00000000 +S ___03ec_ae52_Resolving_20_25s_2e Ref00000000 S _keywait Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 34E flags 0 @@ -46,27 +46,27 @@ A CSTR size 5 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 E4 FF 21 01 00 E5 -R 00 00 01 00 02 05 1A 00 +R 00 00 01 00 02 05 19 00 T 09 00 00 00 01 03 00 ED 5B 00 00 00 00 3E -R 00 00 01 00 02 09 25 00 +R 00 00 01 00 02 09 24 00 T 11 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 +R 00 00 01 00 2B 04 07 00 02 09 07 00 T 16 00 00 00 00 00 00 00 F1 DD 75 FC DD 74 FD -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 1F 00 00 00 7D B4 20 25 R 00 00 01 00 T 23 00 00 00 R 00 00 01 00 T 23 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 T 29 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1D 00 02 0B 1D 00 +R 00 00 01 00 2B 06 1C 00 02 0B 1C 00 T 2F 00 00 00 CD 00 00 00 00 F1 F1 01 01 00 11 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 38 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 2B 07 26 00 T 3D 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 26 00 02 09 02 00 +R 00 00 01 00 02 04 26 00 02 09 01 00 T 43 00 00 00 01 00 C3 03 03 00 00 R 00 00 01 00 00 07 01 00 T 48 00 00 00 @@ -88,7 +88,7 @@ R 00 00 01 00 T 7D 00 00 00 DD 4E 02 DD 46 03 DD 6E F8 DD 66 R 00 00 01 00 T 88 00 00 00 F9 CD 00 00 00 00 D2 E4 02 00 00 -R 00 00 01 00 02 06 1C 00 00 0B 01 00 +R 00 00 01 00 02 06 1A 00 00 0B 01 00 T 8F 00 00 00 R 00 00 01 00 T 8F 00 00 00 01 40 00 DD 6E F8 DD 66 F9 29 DD @@ -96,9 +96,9 @@ R 00 00 01 00 T 9A 00 00 00 5E 04 DD 56 05 19 5E 23 56 3E R 00 00 01 00 T A4 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T A9 00 00 00 00 00 00 00 DD 75 F4 DD 74 F5 7D -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T B2 00 00 00 B4 20 27 R 00 00 01 00 T B5 00 00 00 @@ -108,11 +108,11 @@ R 00 00 01 00 T C0 00 00 00 46 05 09 4E 23 46 C5 0E R 00 00 01 00 T C8 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 1F 00 02 0A 1F 00 +R 00 00 01 00 2B 04 16 00 02 0A 16 00 T CE 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1D 00 02 0A 1D 00 +R 00 00 01 00 2B 05 1C 00 02 0A 1C 00 T D4 00 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T DA 00 00 00 D9 02 00 00 R 00 00 01 00 00 04 01 00 T DC 00 00 00 @@ -126,53 +126,53 @@ R 00 00 01 00 T FD 00 00 00 DD 46 05 09 4E 23 46 C5 0E R 00 00 01 00 T 06 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 08 00 02 0A 08 00 +R 00 00 01 00 2B 04 13 00 02 0A 13 00 T 0C 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1D 00 02 0A 1D 00 +R 00 00 01 00 2B 05 1C 00 02 0A 1C 00 T 12 01 00 00 00 00 00 00 F1 F1 F1 F1 DD 6E F4 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 1B 01 00 00 DD 66 F5 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 15 00 +R 00 00 01 00 2B 09 25 00 T 23 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 15 00 2B 0A 1D 00 +R 00 00 01 00 02 04 25 00 2B 0A 1C 00 T 29 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 1D 00 02 09 02 00 +R 00 00 01 00 02 04 1C 00 02 09 01 00 T 30 01 00 00 F1 DD 5E F4 DD 56 F5 3E R 00 00 01 00 T 38 01 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 00 00 02 09 00 00 T 3D 01 00 00 00 00 00 00 DD 75 E8 DD 74 E9 DD -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 46 01 00 00 71 EA DD 70 EB 7D B4 B1 B0 20 14 R 00 00 01 00 T 51 01 00 00 R 00 00 01 00 T 51 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 19 00 02 0B 19 00 +R 00 00 01 00 2B 05 15 00 02 0B 15 00 T 57 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1D 00 02 0B 1D 00 +R 00 00 01 00 2B 06 1C 00 02 0B 1C 00 T 5D 01 00 00 CD 00 00 00 00 F1 F1 C3 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 63 01 00 00 D9 02 00 00 R 00 00 01 00 00 04 01 00 T 65 01 00 00 R 00 00 01 00 T 65 01 00 00 21 00 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 22 00 +R 00 00 01 00 2B 0B 21 00 T 6D 01 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 22 00 02 0A 02 00 +R 00 00 01 00 02 05 21 00 02 0A 01 00 T 74 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 11 00 02 0B 11 00 +R 00 00 01 00 2B 05 1D 00 02 0B 1D 00 T 7A 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1D 00 02 0B 1D 00 +R 00 00 01 00 2B 06 1C 00 02 0B 1C 00 T 80 01 00 00 CD 00 00 00 00 F1 F1 F1 21 00 00 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 89 01 00 00 E5 01 00 00 11 00 00 3E R 00 00 01 00 T 91 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T 96 01 00 00 00 00 00 00 F1 DD 75 F6 DD 74 F7 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 9F 01 00 00 7D A4 3C 20 14 R 00 00 01 00 T A4 01 00 00 @@ -180,9 +180,9 @@ R 00 00 01 00 T A4 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 1B 00 02 0B 1B 00 T AA 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1D 00 02 0B 1D 00 +R 00 00 01 00 2B 06 1C 00 02 0B 1C 00 T B0 01 00 00 CD 00 00 00 00 F1 F1 C3 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T B6 01 00 00 E4 02 00 00 R 00 00 01 00 00 04 01 00 T B8 01 00 00 @@ -192,15 +192,15 @@ R 00 00 01 00 T C3 01 00 00 5E F6 DD 56 F7 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 18 00 T CB 01 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 18 00 02 09 02 00 +R 00 00 01 00 02 04 18 00 02 09 01 00 T D2 01 00 00 A4 3C 20 41 R 00 00 01 00 T D6 01 00 00 R 00 00 01 00 T D6 01 00 00 DD 5E F6 DD 56 F7 3E 00 00 00 00 -R 00 00 01 00 2B 0B 21 00 +R 00 00 01 00 2B 0B 20 00 T DE 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 21 00 02 0A 02 00 +R 00 00 01 00 02 05 20 00 02 0A 01 00 T E5 01 00 00 75 F4 DD 74 F5 7D B4 28 02 18 03 R 00 00 01 00 T F0 01 00 00 @@ -210,75 +210,75 @@ R 00 00 01 00 00 05 02 00 T F3 01 00 00 R 00 00 01 00 T F3 01 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 01 00 +R 00 00 01 00 2B 06 1F 00 T F8 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 01 00 2B 0A 1D 00 +R 00 00 01 00 02 04 1F 00 2B 0A 1C 00 T FE 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 1D 00 02 09 02 00 +R 00 00 01 00 02 04 1C 00 02 09 01 00 T 05 02 00 00 F1 DD 5E F6 DD 56 F7 3E R 00 00 01 00 T 0D 02 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 17 00 02 09 17 00 T 12 02 00 00 00 00 00 00 C3 D9 02 00 00 -R 00 00 01 00 02 04 02 00 00 09 01 00 +R 00 00 01 00 02 04 01 00 00 09 01 00 T 17 02 00 00 R 00 00 01 00 T 17 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 T 1D 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1D 00 02 0B 1D 00 +R 00 00 01 00 2B 06 1C 00 02 0B 1C 00 T 23 02 00 00 CD 00 00 00 00 F1 F1 21 0D 00 DD -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 2C 02 00 00 4E FC DD 46 FD 09 E5 01 R 00 00 01 00 T 34 02 00 00 01 00 00 00 DD 5E F6 DD 56 F7 3E R 00 00 01 00 00 04 02 00 T 3D 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 23 00 02 09 23 00 +R 00 00 01 00 2B 04 22 00 02 09 22 00 T 42 02 00 00 00 00 00 00 DD 75 FE DD 74 FF 4D -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 4B 02 00 00 44 E1 71 23 70 DD 6E F8 DD 66 F9 R 00 00 01 00 T 56 02 00 00 29 DD 5E 04 DD 56 05 19 5E 23 56 R 00 00 01 00 T 61 02 00 00 D5 1E 00 00 00 00 D5 21 -R 00 00 01 00 2B 06 04 00 +R 00 00 01 00 2B 06 02 00 T 66 02 00 00 00 00 00 00 E5 C5 3E 00 00 00 00 -R 00 00 01 00 02 04 04 00 2B 0B 0D 00 +R 00 00 01 00 02 04 02 00 2B 0B 0C 00 T 6C 02 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 0D 00 02 0A 02 00 +R 00 00 01 00 02 05 0C 00 02 0A 01 00 T 73 02 00 00 F1 F1 F1 21 40 00 ED 4B R 00 00 01 00 T 7B 02 00 00 00 00 00 00 09 5E 23 56 3E -R 00 00 01 00 02 04 0F 00 +R 00 00 01 00 02 04 0E 00 T 82 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T 87 02 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 89 02 00 00 R 00 00 01 00 T 89 02 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 +R 00 00 01 00 2B 0B 06 00 T 91 02 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 07 00 02 0A 02 00 +R 00 00 01 00 02 05 06 00 02 0A 01 00 T 98 02 00 00 75 FA DD 74 FB 7D A4 3C 28 1B R 00 00 01 00 T A2 02 00 00 R 00 00 01 00 T A2 02 00 00 21 40 00 ED 4B 00 00 00 00 09 4E -R 00 00 01 00 02 09 0F 00 +R 00 00 01 00 02 09 0E 00 T AB 02 00 00 23 46 DD 5E FA DD 56 FB 3E R 00 00 01 00 T B4 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 +R 00 00 01 00 2B 04 10 00 02 09 10 00 T B9 02 00 00 00 00 00 00 18 CC -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T BD 02 00 00 R 00 00 01 00 T BD 02 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 24 00 +R 00 00 01 00 2B 0B 23 00 T C5 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 24 00 02 0A 02 00 +R 00 00 01 00 02 05 23 00 02 0A 01 00 T CC 02 00 00 0D 00 DD 4E FC DD 46 FD 09 AF 77 R 00 00 01 00 T D7 02 00 00 23 77 @@ -296,21 +296,21 @@ R 00 00 01 00 T E4 02 00 00 01 01 00 11 00 00 3E 00 00 00 00 R 00 00 01 00 2B 0B 26 00 T EC 02 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 26 00 02 0A 02 00 +R 00 00 01 00 02 05 26 00 02 0A 01 00 T F3 02 00 00 5E FC DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 16 00 +R 00 00 01 00 2B 0A 14 00 T FB 02 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 16 00 02 09 02 00 +R 00 00 01 00 02 04 14 00 02 09 01 00 T 01 03 00 00 00 00 R 00 00 01 00 T 03 03 00 00 R 00 00 01 00 T 03 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 08 00 T 06 03 00 00 R 00 00 01 00 T 06 03 00 00 CD 00 00 00 00 3E 03 AB B2 28 05 -R 00 00 01 00 02 05 13 00 +R 00 00 01 00 02 05 11 00 T 0F 03 00 00 R 00 00 01 00 T 0F 03 00 00 21 01 00 18 37 @@ -318,25 +318,25 @@ R 00 00 01 00 T 14 03 00 00 R 00 00 01 00 T 14 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1E 00 02 0B 1E 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 T 1A 03 00 00 E5 21 1B 00 ED 4B 00 00 00 00 09 -R 00 00 01 00 02 0A 14 00 +R 00 00 01 00 02 0A 12 00 T 23 03 00 00 5E 23 56 D5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0D 00 +R 00 00 01 00 2B 09 0C 00 T 2A 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0D 00 02 09 02 00 +R 00 00 01 00 02 04 0C 00 02 09 01 00 T 31 03 00 00 F1 01 6B 00 21 07 00 ED 5B R 00 00 01 00 T 3A 03 00 00 00 00 00 00 19 5E 23 56 3E -R 00 00 01 00 02 04 14 00 +R 00 00 01 00 02 04 12 00 T 41 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 46 03 00 00 00 00 00 00 21 00 00 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 4B 03 00 00 R 00 00 01 00 T 4B 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 08 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 diff --git a/src/nos/lib/clients_lib/getresp.rel b/src/nos/lib/clients_lib/getresp.rel index df544be2..fec5bc29 100644 --- a/src/nos/lib/clients_lib/getresp.rel +++ b/src/nos/lib/clients_lib/getresp.rel @@ -1,7 +1,7 @@ XL4 H 2 areas D global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0139_7643__25s_0a Ref00000000 +S ___0154_7643__25s_0a Ref00000000 S _fflush Ref00000000 S _rip Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 diff --git a/src/nos/lib/clients_lib/getsub.rel b/src/nos/lib/clients_lib/getsub.rel index 35594b41..a65ded20 100644 --- a/src/nos/lib/clients_lib/getsub.rel +++ b/src/nos/lib/clients_lib/getsub.rel @@ -1,34 +1,34 @@ XL4 H 3 areas 1F global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0139_7643__25s_0a Ref00000000 +S ___0154_7643__25s_0a Ref00000000 +S ___0424_f579_TYPE_20A_0a Ref00000000 S _socket Ref00000000 S _listen Ref00000000 S _recvfile Ref00000000 S _getsockname Ref00000000 +S ___015b_43c6__25s_20_25s_3a_20Er Ref00000000 S __fprintf Ref00000000 -S ___013e_518b__25s_20_25s_0a Ref00000000 S _strcmp Ref00000000 -S ___03a1_a616_TYPE_20L_20_25d_0a Ref00000000 -S ___03a0_3bb9_TYPE_20I_0a Ref00000000 +S ___015a_ca49__25s_20_25s_3a_20_2 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S ___0140_43c6__25s_20_25s_3a_20Er Ref00000000 -S ___013f_ca49__25s_20_25s_3a_20_2 Ref00000000 S ?L_MUL_L03 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _msclock Ref00000000 S ?SL_DIV_L03 Ref00000000 +S ___0159_518b__25s_20_25s_0a Ref00000000 S _sendport Ref00000000 S ?UL_DIV_L03 Ref00000000 S _accept Ref00000000 +S ___0426_a616_TYPE_20L_20_25d_0a Ref00000000 S ?SS_CMP_L02 Ref00000000 S __printf Ref00000000 +S ___0425_3bb9_TYPE_20I_0a Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _getresp Ref00000000 S _fdopen Ref00000000 S _fclose Ref00000000 -S ___039f_f579_TYPE_20A_0a Ref00000000 S ?BANK_LEAVE_32_L08 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 686 flags 0 @@ -37,7 +37,7 @@ A CSTR size 13 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 C2 FF AF DD 77 FA -R 00 00 01 00 02 05 10 00 +R 00 00 01 00 02 05 0E 00 T 09 00 00 00 DD 77 FB DD 7E 02 DD B6 03 20 09 R 00 00 01 00 T 14 00 00 00 @@ -55,13 +55,13 @@ R 00 00 01 00 T 3E 00 00 00 E5 01 00 00 11 00 00 3E R 00 00 01 00 T 46 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T 4B 00 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF R 00 00 01 00 02 04 00 00 T 54 00 00 00 01 00 00 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 03 00 +R 00 00 01 00 2B 09 04 00 T 5B 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 03 00 02 09 00 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T 61 00 00 00 0D 00 DD 4E 02 DD 46 03 09 7E FE R 00 00 01 00 T 6C 00 00 00 01 38 26 FE 03 30 22 @@ -73,7 +73,7 @@ R 00 00 01 00 T 7D 00 00 00 00 00 00 00 DD 5E FE DD 56 FF 3E R 00 00 01 00 00 04 02 00 T 86 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1A 00 02 09 1A 00 +R 00 00 01 00 2B 04 1B 00 02 09 1B 00 T 8B 00 00 00 00 00 00 00 4D 44 E1 71 23 70 18 R 00 00 01 00 02 04 00 00 T 94 00 00 00 26 @@ -85,9 +85,9 @@ R 00 00 01 00 T A0 00 00 00 23 E5 01 04 00 00 00 DD 5E FE DD R 00 00 01 00 00 07 02 00 T A9 00 00 00 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 1A 00 +R 00 00 01 00 2B 07 1B 00 T AE 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 1A 00 02 09 00 00 +R 00 00 01 00 02 04 1B 00 02 09 00 00 T B5 00 00 00 E1 71 23 70 18 00 R 00 00 01 00 T BB 00 00 00 @@ -99,15 +99,15 @@ R 00 00 01 00 T D1 00 00 00 09 36 02 01 08 00 00 00 DD 5E 04 R 00 00 01 00 00 08 02 00 T DA 00 00 00 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 08 00 +R 00 00 01 00 2B 08 09 00 T E0 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 08 00 02 09 00 00 +R 00 00 01 00 02 04 09 00 02 09 00 00 T E7 00 00 00 28 15 01 0D 00 00 00 DD 5E 04 DD R 00 00 01 00 00 07 02 00 T F0 00 00 00 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 08 00 +R 00 00 01 00 2B 07 09 00 T F5 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 08 00 02 09 00 00 +R 00 00 01 00 02 04 09 00 02 09 00 00 T FC 00 00 00 20 0C R 00 00 01 00 T FE 00 00 00 @@ -137,21 +137,21 @@ R 00 00 01 00 T 2E 01 00 00 R 00 00 01 00 T 2E 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1C 00 02 0B 1C 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 T 34 01 00 00 E5 DD 6E C6 DD 66 C7 E5 3E R 00 00 01 00 T 3D 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 +R 00 00 01 00 2B 04 08 00 02 09 08 00 T 42 01 00 00 00 00 00 00 F1 F1 F1 18 4D R 00 00 01 00 02 04 00 00 T 49 01 00 00 R 00 00 01 00 T 49 01 00 00 FE 01 20 1B 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 0A 00 +R 00 00 01 00 2B 09 18 00 T 51 01 00 00 00 00 00 00 E5 DD 6E C6 DD 66 C7 -R 00 00 01 00 02 04 0A 00 +R 00 00 01 00 02 04 18 00 T 5A 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 06 00 02 0B 06 00 +R 00 00 01 00 2B 06 08 00 02 0B 08 00 T 60 01 00 00 CD 00 00 00 00 F1 F1 F1 18 2E R 00 00 01 00 02 05 00 00 T 68 01 00 00 @@ -161,11 +161,11 @@ R 00 00 01 00 T 73 01 00 00 46 03 09 4E 23 46 C5 0E R 00 00 01 00 T 7B 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 09 00 02 0A 09 00 +R 00 00 01 00 2B 04 15 00 02 0A 15 00 T 81 01 00 00 DD 6E C6 DD 66 C7 E5 3E R 00 00 01 00 T 89 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 +R 00 00 01 00 2B 04 08 00 02 09 08 00 T 8E 01 00 00 00 00 00 00 F1 F1 F1 F1 18 00 R 00 00 01 00 02 04 00 00 T 96 01 00 00 @@ -181,7 +181,7 @@ R 00 00 01 00 T AF 01 00 00 01 C8 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 T B9 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 19 00 02 09 19 00 +R 00 00 01 00 2B 04 1A 00 02 09 1A 00 T BE 01 00 00 00 00 00 00 DD 75 CA DD 74 CB 7D R 00 00 01 00 02 04 00 00 T C7 01 00 00 A4 3C 28 0E DD 4E CA DD 46 CB 21 @@ -213,9 +213,9 @@ R 00 00 01 00 T F1 01 00 00 39 E5 21 10 00 39 4D 44 DD 5E FE R 00 00 01 00 T FC 01 00 00 DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 05 00 +R 00 00 01 00 2B 08 06 00 T 02 02 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 05 00 02 09 00 00 +R 00 00 01 00 02 04 06 00 02 09 00 00 T 09 02 00 00 36 CC 10 DD 36 CD 00 21 0A 00 39 R 00 00 01 00 T 14 02 00 00 E5 21 20 00 39 4D 44 DD 6E 02 DD @@ -233,7 +233,7 @@ R 00 00 01 00 T 3C 02 00 00 R 00 00 01 00 T 3C 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 05 00 02 0A 05 00 +R 00 00 01 00 2B 05 06 00 02 0A 06 00 T 42 02 00 00 00 00 00 00 F1 21 22 00 39 5E 23 R 00 00 01 00 02 04 00 00 T 4B 02 00 00 56 23 4E 23 46 EB DD 75 D4 DD 74 @@ -243,7 +243,7 @@ R 00 00 01 00 T 61 02 00 00 4D 44 DD 5E C6 DD 56 C7 3E R 00 00 01 00 T 6A 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 13 00 02 09 13 00 +R 00 00 01 00 2B 04 12 00 02 09 12 00 T 6F 02 00 00 00 00 00 00 21 07 00 DD 4E 02 DD R 00 00 01 00 02 04 00 00 T 78 02 00 00 46 03 09 7E 23 B6 20 2D @@ -253,7 +253,7 @@ R 00 00 01 00 T 80 02 00 00 01 C8 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 T 8A 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 19 00 02 09 19 00 +R 00 00 01 00 2B 04 1A 00 02 09 1A 00 T 8F 02 00 00 00 00 00 00 DD 75 CA DD 74 CB 7D R 00 00 01 00 02 04 00 00 T 98 02 00 00 A4 3C 28 0E DD 4E CA DD 46 CB 21 @@ -279,11 +279,11 @@ R 00 00 01 00 T B5 02 00 00 DD 6E 0A DD 66 0B E5 DD 6E 04 DD R 00 00 01 00 T C0 02 00 00 66 05 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 07 00 +R 00 00 01 00 2B 08 11 00 T C7 02 00 00 00 00 00 00 E5 DD 6E C6 DD 66 C7 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 11 00 T D0 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 06 00 02 0B 06 00 +R 00 00 01 00 2B 06 08 00 02 0B 08 00 T D6 02 00 00 CD 00 00 00 00 F1 F1 F1 F1 F1 18 R 00 00 01 00 02 05 00 00 T DF 02 00 00 21 @@ -297,7 +297,7 @@ R 00 00 01 00 2B 04 01 00 02 0A 01 00 T EE 02 00 00 DD 6E C6 DD 66 C7 E5 3E R 00 00 01 00 T F6 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 +R 00 00 01 00 2B 04 08 00 02 09 08 00 T FB 02 00 00 00 00 00 00 F1 F1 F1 F1 R 00 00 01 00 02 04 00 00 T 01 03 00 00 @@ -315,7 +315,7 @@ R 00 00 01 00 T 18 03 00 00 01 C8 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 T 22 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 19 00 02 09 19 00 +R 00 00 01 00 2B 04 1A 00 02 09 1A 00 T 27 03 00 00 00 00 00 00 DD 75 CA DD 74 CB 7D R 00 00 01 00 02 04 00 00 T 30 03 00 00 A4 3C 28 0E DD 4E CA DD 46 CB 21 @@ -337,7 +337,7 @@ R 00 00 01 00 T 45 03 00 00 01 C8 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 T 4F 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 19 00 02 09 19 00 +R 00 00 01 00 2B 04 1A 00 02 09 1A 00 T 54 03 00 00 00 00 00 00 DD 75 CA DD 74 CB 7D R 00 00 01 00 02 04 00 00 T 5D 03 00 00 A4 3C 28 0E DD 4E CA DD 46 CB 21 @@ -359,7 +359,7 @@ R 00 00 01 00 T 72 03 00 00 01 64 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 T 7C 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 19 00 02 09 19 00 +R 00 00 01 00 2B 04 1A 00 02 09 1A 00 T 81 03 00 00 00 00 00 00 DD 75 CA DD 74 CB 7D R 00 00 01 00 02 04 00 00 T 8A 03 00 00 A4 3C 28 11 01 90 81 DD 6E CA DD @@ -381,11 +381,11 @@ R 00 00 01 00 T AD 03 00 00 E5 01 00 00 DD 5E FE DD 56 FF 3E R 00 00 01 00 T B8 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 15 00 02 09 15 00 +R 00 00 01 00 2B 04 14 00 02 09 14 00 T BD 03 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF R 00 00 01 00 02 04 00 00 T C6 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 11 00 02 0A 11 00 +R 00 00 01 00 2B 05 0F 00 02 0A 0F 00 T CC 03 00 00 00 00 00 00 DD 75 F0 DD 74 F1 DD R 00 00 01 00 02 04 00 00 T D5 03 00 00 71 F2 DD 70 F3 21 05 00 DD 4E 02 @@ -415,7 +415,7 @@ R 00 00 01 00 T 26 04 00 00 4E 23 46 DD 5E 0C DD 56 0D 3E R 00 00 01 00 T 30 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T 35 04 00 00 00 00 00 00 F1 F1 DD 75 C2 DD 74 R 00 00 01 00 02 04 00 00 T 3E 04 00 00 C3 DD 71 C4 DD 70 C5 DD 6E 02 DD @@ -423,7 +423,7 @@ R 00 00 01 00 T 49 04 00 00 66 03 23 23 5E 23 56 3E R 00 00 01 00 T 51 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1B 00 02 09 1B 00 +R 00 00 01 00 2B 04 1C 00 02 09 1C 00 T 56 04 00 00 00 00 00 00 DD 6E 02 DD 66 03 23 R 00 00 01 00 02 04 00 00 T 5F 04 00 00 23 AF 77 23 77 DD 7E 0A DD B6 0B @@ -447,9 +447,9 @@ R 00 00 01 00 T 83 04 00 00 DD 6E 0A DD 66 0B E5 DD 6E 04 DD R 00 00 01 00 T 8E 04 00 00 66 05 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 0D 00 +R 00 00 01 00 2B 08 07 00 T 95 04 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0D 00 2B 0A 17 00 +R 00 00 01 00 02 04 07 00 2B 0A 17 00 T 9B 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 17 00 02 09 00 00 T A2 04 00 00 F1 F1 C3 D9 05 00 00 @@ -465,7 +465,7 @@ R 00 00 01 00 00 04 01 00 T BE 04 00 00 R 00 00 01 00 T BE 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 11 00 02 0A 11 00 +R 00 00 01 00 2B 05 0F 00 02 0A 0F 00 T C4 04 00 00 00 00 00 00 59 50 A7 DD 4E F0 DD R 00 00 01 00 02 04 00 00 T CD 04 00 00 46 F1 ED 42 EB DD 4E F2 DD 46 F3 @@ -495,7 +495,7 @@ R 00 00 01 00 T 2C 05 00 00 DD 4E C4 DD 46 C5 DD 6E C2 DD 66 R 00 00 01 00 T 37 05 00 00 C3 CD 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 06 0F 00 02 0B 14 00 +R 00 00 01 00 02 06 0D 00 02 0B 13 00 T 3E 05 00 00 DD 75 F4 DD 74 F5 DD 71 F6 DD 70 R 00 00 01 00 T 49 05 00 00 F7 18 34 @@ -507,11 +507,11 @@ R 00 00 01 00 T 57 05 00 00 DD 46 F3 DD 6E F0 DD 66 F1 CD R 00 00 01 00 T 61 05 00 00 00 00 00 00 C5 E5 DD 4E C4 DD 46 -R 00 00 01 00 02 04 12 00 +R 00 00 01 00 02 04 10 00 T 6A 05 00 00 C5 DD 6E C2 DD 66 C3 CD R 00 00 01 00 T 72 05 00 00 00 00 00 00 DD 75 F4 DD 74 F5 DD -R 00 00 01 00 02 04 14 00 +R 00 00 01 00 02 04 13 00 T 7B 05 00 00 71 F6 DD 70 F7 R 00 00 01 00 T 80 05 00 00 @@ -525,15 +525,15 @@ R 00 00 01 00 T 96 05 00 00 DD 4E F2 DD 46 F3 DD 6E F0 DD 66 R 00 00 01 00 T A1 05 00 00 F1 CD 00 00 00 00 C5 E5 DD 6E C4 -R 00 00 01 00 02 06 12 00 +R 00 00 01 00 02 06 10 00 T AA 05 00 00 DD 66 C5 E5 DD 6E C2 DD 66 C3 E5 R 00 00 01 00 T B5 05 00 00 DD 6E 0A DD 66 0B E5 DD 6E 04 DD R 00 00 01 00 T C0 05 00 00 66 05 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 0E 00 +R 00 00 01 00 2B 08 0A 00 T C7 05 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0E 00 2B 0A 17 00 +R 00 00 01 00 02 04 0A 00 2B 0A 17 00 T CD 05 00 00 00 00 00 00 CD 00 00 00 00 EB 21 R 00 00 01 00 02 04 17 00 02 09 00 00 T D4 05 00 00 14 00 39 F9 EB @@ -545,7 +545,7 @@ R 00 00 01 00 T D9 05 00 00 01 C8 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 T E3 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 19 00 02 09 19 00 +R 00 00 01 00 2B 04 1A 00 02 09 1A 00 T E8 05 00 00 00 00 00 00 21 04 00 DD 4E 02 DD R 00 00 01 00 02 04 00 00 T F1 05 00 00 46 03 09 DD 56 FC 72 21 05 00 09 @@ -571,15 +571,15 @@ R 00 00 01 00 T 3A 06 00 00 R 00 00 01 00 T 3A 06 00 00 DD 5E 0C DD 56 0D 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1B 00 +R 00 00 01 00 2B 0B 1C 00 T 42 06 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 1B 00 02 0A 00 00 +R 00 00 01 00 02 05 1C 00 02 0A 00 00 T 48 06 00 00 R 00 00 01 00 T 48 06 00 00 DD 6E 02 DD 66 03 23 23 5E 23 56 R 00 00 01 00 T 53 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1B 00 02 0A 1B 00 +R 00 00 01 00 2B 05 1C 00 02 0A 1C 00 T 59 06 00 00 00 00 00 00 DD 6E 02 DD 66 03 23 R 00 00 01 00 02 04 00 00 T 62 06 00 00 23 AF 77 23 77 21 04 00 DD 4E 02 diff --git a/src/nos/lib/clients_lib/keychar.rel b/src/nos/lib/clients_lib/keychar.rel index 2443129c..015f5090 100644 --- a/src/nos/lib/clients_lib/keychar.rel +++ b/src/nos/lib/clients_lib/keychar.rel @@ -1,13 +1,13 @@ XL4 H 2 areas B global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0486_699f__5eC_0a Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _alert Ref00000000 S __fprintf Ref00000000 S .__.ABS. Def00000000 S _Current Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___03f3_699f__5eC_0a Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _shutdown Ref00000000 A _DEFAULT size 0 flags 0 @@ -16,7 +16,7 @@ S _keychar Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 3E 03 DD AE -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 07 00 T 09 00 00 00 02 DD B6 03 28 06 R 00 00 01 00 T 0F 00 00 00 @@ -26,13 +26,13 @@ R 00 00 01 00 00 08 01 00 T 15 00 00 00 R 00 00 01 00 T 15 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0B 07 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 T 1B 00 00 00 E5 21 1B 00 ED 4B 00 00 00 00 09 -R 00 00 01 00 02 0A 05 00 +R 00 00 01 00 02 0A 06 00 T 24 00 00 00 5E 23 56 D5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 03 00 +R 00 00 01 00 2B 09 04 00 T 2B 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 02 09 00 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T 32 00 00 00 F1 21 05 00 09 46 23 66 68 DD 75 R 00 00 01 00 T 3D 00 00 00 FE DD 74 FF 01 04 00 09 7E FE 00 @@ -44,9 +44,9 @@ R 00 00 01 00 T 4A 00 00 00 01 6B 00 21 07 00 ED 5B R 00 00 01 00 T 52 00 00 00 00 00 00 00 19 5E 23 56 3E -R 00 00 01 00 02 04 05 00 +R 00 00 01 00 02 04 06 00 T 59 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T 5E 00 00 00 00 00 00 00 C3 ED 00 00 00 R 00 00 01 00 02 04 00 00 00 09 01 00 T 63 00 00 00 @@ -100,4 +100,4 @@ R 00 00 01 00 T F0 00 00 00 R 00 00 01 00 T F0 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/clients_lib/lterm.rel b/src/nos/lib/clients_lib/lterm.rel index ab538245..1c838319 100644 --- a/src/nos/lib/clients_lib/lterm.rel +++ b/src/nos/lib/clients_lib/lterm.rel @@ -3,7 +3,6 @@ H 3 areas 2A global symbols S _resolve Ref00000000 S _suspend Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___03b5_2057_Too_20many_20sessio Ref00000000 S _Badhost Ref00000000 S _secclock Ref00000000 S _if_lookup Ref00000000 @@ -12,14 +11,16 @@ S _socket Ref00000000 S _fgetc Ref00000000 S _newsession Ref00000000 S _resume Ref00000000 +S ___06cd_004c_tip_20or_20dialer_2 Ref00000000 +S ___0302_6e91_Interface_20_25s_20 Ref00000000 S _printf Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___0444_2057_Too_20many_20sessio Ref00000000 S _asy_write Ref00000000 S _perror Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S _killproc Ref00000000 -S ___05f0_004c_tip_20or_20dialer_2 Ref00000000 S _settos Ref00000000 S _fputc Ref00000000 S _freesession Ref00000000 @@ -27,19 +28,18 @@ S _connect Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?S_MUL_L02 Ref00000000 S _get_asy Ref00000000 -S ___0204_ef8c_Can_27t_20create_20 Ref00000000 S _atoi Ref00000000 S _Asy Ref00000000 +S ___02ff_63a0_Interface_20_25s_20 Ref00000000 S ?SS_CMP_L02 Ref00000000 +S ___0236_ef8c_Can_27t_20create_20 Ref00000000 S __printf Ref00000000 -S ___02ab_6e91_Interface_20_25s_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _fdopen Ref00000000 S _Cmdline Ref00000000 S _bitbucket Ref00000000 S _newproc Ref00000000 S _keywait Ref00000000 -S ___02a9_63a0_Interface_20_25s_20 Ref00000000 S _setvbuf Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 49E flags 0 @@ -48,11 +48,11 @@ A CSTR size 19 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 E0 FF AF DD 77 E0 -R 00 00 01 00 02 05 18 00 +R 00 00 01 00 02 05 19 00 T 09 00 00 00 DD 77 E1 03 03 0A 5F 03 0A 57 3E R 00 00 01 00 T 14 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T 19 00 00 00 00 00 00 00 DD 75 E2 DD 74 E3 7D R 00 00 01 00 02 04 02 00 T 22 00 00 00 B4 20 24 @@ -62,11 +62,11 @@ R 00 00 01 00 T 25 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T 30 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 20 00 +R 00 00 01 00 2B 06 0C 00 T 35 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 20 00 2B 0A 1F 00 +R 00 00 01 00 02 04 0C 00 2B 0A 21 00 T 3B 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 1F 00 02 09 02 00 +R 00 00 01 00 02 04 21 00 02 09 02 00 T 42 00 00 00 F1 21 01 00 C3 11 04 00 00 R 00 00 01 00 00 09 01 00 T 49 00 00 00 @@ -80,7 +80,7 @@ R 00 00 01 00 T 6A 00 00 00 E3 09 5E 23 56 01 5A 00 CD R 00 00 01 00 T 73 00 00 00 00 00 00 00 21 00 00 00 00 19 46 -R 00 00 01 00 02 04 19 00 02 09 1D 00 +R 00 00 01 00 02 04 1A 00 02 09 1D 00 T 7A 00 00 00 23 66 68 DD 4E E2 DD 46 E3 A7 ED R 00 00 01 00 T 85 00 00 00 42 28 24 @@ -94,11 +94,11 @@ R 00 00 01 00 T 88 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T 93 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 27 00 +R 00 00 01 00 2B 06 1E 00 T 98 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 27 00 2B 0A 1F 00 +R 00 00 01 00 02 04 1E 00 2B 0A 21 00 T 9E 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 1F 00 02 09 02 00 +R 00 00 01 00 02 04 21 00 02 09 02 00 T A5 00 00 00 F1 21 01 00 C3 11 04 00 00 R 00 00 01 00 00 09 01 00 T AC 00 00 00 @@ -106,9 +106,9 @@ R 00 00 01 00 T AC 00 00 00 21 45 00 DD 4E E2 DD 46 E3 09 4E R 00 00 01 00 T B7 00 00 00 23 46 23 7E 69 60 0E 00 00 00 00 -R 00 00 01 00 2B 0B 24 00 +R 00 00 01 00 2B 0B 25 00 T BF 00 00 00 11 00 00 00 00 B9 20 28 ED 52 20 -R 00 00 01 00 02 05 24 00 +R 00 00 01 00 02 05 25 00 T C8 00 00 00 24 R 00 00 01 00 T C9 00 00 00 @@ -116,11 +116,11 @@ R 00 00 01 00 T C9 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T D4 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 13 00 +R 00 00 01 00 2B 06 0B 00 T D9 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 13 00 2B 0A 1F 00 +R 00 00 01 00 02 04 0B 00 2B 0A 21 00 T DF 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 1F 00 02 09 02 00 +R 00 00 01 00 02 04 21 00 02 09 02 00 T E6 00 00 00 F1 21 01 00 C3 11 04 00 00 R 00 00 01 00 00 09 01 00 T ED 00 00 00 @@ -140,19 +140,19 @@ R 00 00 01 00 T 1B 01 00 00 21 04 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 T 26 01 00 00 23 46 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 08 04 00 +R 00 00 01 00 02 08 03 00 T 2E 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 33 01 00 00 00 00 00 00 F1 F1 01 01 00 11 R 00 00 01 00 02 04 02 00 T 3B 01 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 26 00 +R 00 00 01 00 2B 07 27 00 T 40 01 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 26 00 02 09 02 00 +R 00 00 01 00 02 04 27 00 02 09 02 00 T 47 01 00 00 F9 DD 56 FA 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 16 00 +R 00 00 01 00 2B 09 17 00 T 4E 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 16 00 02 09 02 00 +R 00 00 01 00 02 04 17 00 02 09 02 00 T 54 01 00 00 01 00 C3 11 04 00 00 R 00 00 01 00 00 07 01 00 T 59 01 00 00 @@ -160,7 +160,7 @@ R 00 00 01 00 T 59 01 00 00 DD 4E 02 DD 46 03 21 03 00 CD R 00 00 01 00 T 63 01 00 00 00 00 00 00 30 1D -R 00 00 01 00 02 04 1E 00 +R 00 00 01 00 02 04 1F 00 T 67 01 00 00 R 00 00 01 00 T 67 01 00 00 21 06 00 DD 4E 04 DD 46 05 09 5E @@ -180,17 +180,17 @@ R 00 00 01 00 T 8C 01 00 00 21 01 00 E5 01 09 00 ED 5B R 00 00 01 00 T 95 01 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 23 00 2B 09 0A 00 +R 00 00 01 00 02 04 24 00 2B 09 09 00 T 9A 01 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 0A 00 02 09 02 00 +R 00 00 01 00 02 04 09 00 02 09 02 00 T A1 01 00 00 75 F9 DD 74 FA 7D B4 20 17 R 00 00 01 00 T AA 01 00 00 R 00 00 01 00 T AA 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 T B0 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1F 00 02 0B 1F 00 +R 00 00 01 00 2B 06 21 00 02 0B 21 00 T B6 01 00 00 CD 00 00 00 00 F1 F1 21 01 00 C3 R 00 00 01 00 02 05 02 00 T BF 01 00 00 11 04 00 00 @@ -204,9 +204,9 @@ R 00 00 01 00 T D7 01 00 00 E5 DD 72 E6 21 45 00 DD 4E E2 DD R 00 00 01 00 T E2 01 00 00 46 E3 09 36 00 00 00 00 23 36 -R 00 00 01 00 0B 08 24 00 +R 00 00 01 00 0B 08 25 00 T E9 01 00 00 00 00 00 00 23 36 00 00 00 00 21 -R 00 00 01 00 8B 04 24 00 2B 0A 24 00 +R 00 00 01 00 8B 04 25 00 2B 0A 25 00 T EE 01 00 00 18 00 09 5E 23 56 3E 00 00 00 00 R 00 00 01 00 2B 0B 01 00 T F6 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 @@ -214,19 +214,19 @@ R 00 00 01 00 02 05 01 00 02 0A 02 00 T FD 01 00 00 2C 00 09 5E 23 56 01 5A 00 CD R 00 00 01 00 T 07 02 00 00 00 00 00 00 21 12 00 00 00 19 46 -R 00 00 01 00 02 04 19 00 02 09 1D 00 +R 00 00 01 00 02 04 1A 00 02 09 1D 00 T 0E 02 00 00 23 66 68 DD 75 FD DD 74 FE 21 R 00 00 01 00 T 18 02 00 00 2C 00 DD 4E E2 DD 46 E3 09 4E 23 R 00 00 01 00 T 23 02 00 00 46 11 5A 00 CD 00 00 00 00 21 -R 00 00 01 00 02 09 19 00 +R 00 00 01 00 02 09 1A 00 T 2B 02 00 00 12 00 00 00 19 36 FF 23 36 FF 21 R 00 00 01 00 02 04 1D 00 T 34 02 00 00 00 00 E5 01 00 00 11 00 00 3E R 00 00 01 00 T 3E 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 +R 00 00 01 00 2B 04 07 00 02 09 07 00 T 43 02 00 00 00 00 00 00 F1 DD 75 E7 DD 74 E8 R 00 00 01 00 02 04 02 00 T 4C 02 00 00 7D A4 3C 20 30 @@ -234,19 +234,19 @@ R 00 00 01 00 T 51 02 00 00 R 00 00 01 00 T 51 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1B 00 02 0B 1B 00 +R 00 00 01 00 2B 05 20 00 02 0B 20 00 T 57 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1F 00 02 0B 1F 00 +R 00 00 01 00 2B 06 21 00 02 0B 21 00 T 5D 02 00 00 CD 00 00 00 00 F1 F1 01 01 00 11 R 00 00 01 00 02 05 02 00 T 66 02 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 26 00 +R 00 00 01 00 2B 07 27 00 T 6B 02 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 26 00 02 09 02 00 +R 00 00 01 00 02 04 27 00 02 09 02 00 T 72 02 00 00 F9 DD 56 FA 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 16 00 +R 00 00 01 00 2B 09 17 00 T 79 02 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 16 00 02 09 02 00 +R 00 00 01 00 02 04 17 00 02 09 02 00 T 7F 02 00 00 AE 03 00 00 R 00 00 01 00 00 04 01 00 T 81 02 00 00 @@ -254,13 +254,13 @@ R 00 00 01 00 T 81 02 00 00 01 10 00 DD 5E E7 DD 56 E8 3E R 00 00 01 00 T 8B 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 14 00 02 09 14 00 +R 00 00 01 00 2B 04 15 00 02 09 15 00 T 90 02 00 00 00 00 00 00 01 00 00 00 00 DD 5E R 00 00 01 00 02 04 02 00 00 09 02 00 T 97 02 00 00 E7 DD 56 E8 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 22 00 +R 00 00 01 00 2B 09 23 00 T 9E 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 22 00 02 09 02 00 +R 00 00 01 00 02 04 23 00 02 09 02 00 T A5 02 00 00 E0 DD 74 E1 01 00 00 C5 01 03 00 R 00 00 01 00 T B0 02 00 00 C5 01 00 00 EB 3E 00 00 00 00 21 @@ -270,25 +270,25 @@ R 00 00 01 00 02 04 28 00 02 09 02 00 T BF 02 00 00 21 10 00 E5 21 0B 00 39 4D 44 DD R 00 00 01 00 T CA 02 00 00 5E E7 DD 56 E8 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 17 00 +R 00 00 01 00 2B 0A 18 00 T D2 02 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 17 00 02 09 02 00 +R 00 00 01 00 02 04 18 00 02 09 02 00 T D9 02 00 00 A4 3C 20 2A R 00 00 01 00 T DD 02 00 00 R 00 00 01 00 T DD 02 00 00 11 04 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0F 00 +R 00 00 01 00 00 05 02 00 2B 0A 11 00 T E3 02 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 04 0F 00 02 09 02 00 +R 00 00 01 00 02 04 11 00 02 09 02 00 T E9 02 00 00 01 00 11 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 26 00 +R 00 00 01 00 2B 0A 27 00 T F1 02 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 26 00 02 09 02 00 +R 00 00 01 00 02 04 27 00 02 09 02 00 T F8 02 00 00 F9 DD 56 FA 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 16 00 +R 00 00 01 00 2B 09 17 00 T FF 02 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 16 00 02 09 02 00 +R 00 00 01 00 02 04 17 00 02 09 02 00 T 05 03 00 00 AE 03 00 00 R 00 00 01 00 00 04 01 00 T 07 03 00 00 @@ -306,7 +306,7 @@ R 00 00 01 00 29 04 01 00 00 0A 01 00 T 36 03 00 00 01 00 02 11 13 00 00 00 3E R 00 00 01 00 00 08 02 00 T 3D 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 25 00 02 09 25 00 +R 00 00 01 00 2B 04 26 00 02 09 26 00 T 42 03 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB R 00 00 01 00 02 04 02 00 T 4B 03 00 00 4D 44 E1 71 23 70 @@ -316,29 +316,29 @@ R 00 00 01 00 T 51 03 00 00 21 2C 00 DD 4E E2 DD 46 E3 09 5E R 00 00 01 00 T 5C 03 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 1A 00 +R 00 00 01 00 2B 07 1B 00 T 61 03 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 1A 00 02 09 02 00 +R 00 00 01 00 02 04 1B 00 02 09 02 00 T 68 03 00 00 FB DD 74 FC 7D A4 3C 28 3D R 00 00 01 00 T 71 03 00 00 R 00 00 01 00 T 71 03 00 00 21 40 00 ED 4B 00 00 00 00 09 4E -R 00 00 01 00 02 09 10 00 +R 00 00 01 00 02 09 12 00 T 7A 03 00 00 23 46 DD 5E FB DD 56 FC 3E R 00 00 01 00 T 83 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 15 00 02 09 15 00 +R 00 00 01 00 2B 04 16 00 02 09 16 00 T 88 03 00 00 00 00 00 00 DD 4E E0 DD 46 E1 DD R 00 00 01 00 02 04 02 00 T 91 03 00 00 5E FB DD 56 FC 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 15 00 +R 00 00 01 00 2B 0A 16 00 T 99 03 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 15 00 02 09 02 00 +R 00 00 01 00 02 04 16 00 02 09 02 00 T A0 03 00 00 E0 DD 56 E1 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 07 00 +R 00 00 01 00 2B 09 06 00 T A7 03 00 00 00 00 00 00 CD 00 00 00 00 18 A3 -R 00 00 01 00 02 04 07 00 02 09 02 00 +R 00 00 01 00 02 04 06 00 02 09 02 00 T AE 03 00 00 R 00 00 01 00 T AE 03 00 00 @@ -346,9 +346,9 @@ R 00 00 01 00 T AE 03 00 00 21 09 00 DD 4E F9 DD 46 FA 09 5E R 00 00 01 00 T B9 03 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 12 00 +R 00 00 01 00 2B 07 14 00 T BE 03 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 12 00 02 09 02 00 +R 00 00 01 00 02 04 14 00 02 09 02 00 T C4 03 00 00 09 00 09 AF 77 23 77 21 45 00 DD R 00 00 01 00 T CF 03 00 00 5E E2 DD 56 E3 19 DD 7E E6 DD 4E @@ -356,35 +356,35 @@ R 00 00 01 00 T DA 03 00 00 E4 DD 46 E5 71 23 70 23 77 21 R 00 00 01 00 T E4 03 00 00 18 00 19 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 +R 00 00 01 00 2B 0B 0A 00 T EC 03 00 00 21 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 05 0B 00 02 0A 02 00 +R 00 00 01 00 02 05 0A 00 02 0A 02 00 T F3 03 00 00 01 00 11 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 26 00 +R 00 00 01 00 2B 0A 27 00 T FB 03 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 26 00 02 09 02 00 +R 00 00 01 00 02 04 27 00 02 09 02 00 T 02 04 00 00 F9 DD 56 FA 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 16 00 +R 00 00 01 00 2B 09 17 00 T 09 04 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 16 00 02 09 02 00 +R 00 00 01 00 02 04 17 00 02 09 02 00 T 0F 04 00 00 00 00 R 00 00 01 00 T 11 04 00 00 R 00 00 01 00 T 11 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0E 00 T 14 04 00 00 R 00 00 01 00 T 14 04 00 00 CD 00 00 00 00 FA FF DD 71 FD DD -R 00 00 01 00 02 05 18 00 +R 00 00 01 00 02 05 19 00 T 1D 04 00 00 70 FE R 00 00 01 00 T 1F 04 00 00 R 00 00 01 00 T 1F 04 00 00 DD 5E FD DD 56 FE 3E 00 00 00 00 -R 00 00 01 00 2B 0B 09 00 +R 00 00 01 00 2B 0B 08 00 T 27 04 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 09 00 02 0A 02 00 +R 00 00 01 00 02 05 08 00 02 0A 02 00 T 2E 04 00 00 75 FA DD 74 FB 7D A4 3C 28 63 R 00 00 01 00 T 38 04 00 00 @@ -392,25 +392,25 @@ R 00 00 01 00 T 38 04 00 00 DD 46 FA DD 70 FC 21 40 00 ED 5B R 00 00 01 00 T 43 04 00 00 00 00 00 00 19 4E 23 46 DD 5E FC -R 00 00 01 00 02 04 10 00 +R 00 00 01 00 02 04 12 00 T 4C 04 00 00 16 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 15 00 +R 00 00 01 00 2B 07 16 00 T 51 04 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 15 00 02 09 02 00 +R 00 00 01 00 02 04 16 00 02 09 02 00 T 57 04 00 00 01 00 E5 21 04 00 39 4D 44 DD 5E R 00 00 01 00 T 62 04 00 00 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0E 00 +R 00 00 01 00 2B 09 10 00 T 69 04 00 00 00 00 00 00 CD 00 00 00 00 F1 01 -R 00 00 01 00 02 04 0E 00 02 09 02 00 +R 00 00 01 00 02 04 10 00 02 09 02 00 T 70 04 00 00 5A 00 DD 5E 02 DD 56 03 CD R 00 00 01 00 T 79 04 00 00 00 00 00 00 21 00 00 00 00 19 46 -R 00 00 01 00 02 04 19 00 02 09 1D 00 +R 00 00 01 00 02 04 1A 00 02 09 1D 00 T 80 04 00 00 23 66 68 01 61 00 09 E5 3E R 00 00 01 00 T 89 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 +R 00 00 01 00 2B 04 04 00 02 09 04 00 T 8E 04 00 00 00 00 00 00 EB E1 73 23 72 23 71 R 00 00 01 00 02 04 02 00 T 97 04 00 00 23 70 18 84 @@ -418,7 +418,7 @@ R 00 00 01 00 T 9B 04 00 00 R 00 00 01 00 T 9B 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0E 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 72 2B 62 00 diff --git a/src/nos/lib/clients_lib/putsub.rel b/src/nos/lib/clients_lib/putsub.rel index d21e412a..6e483d4b 100644 --- a/src/nos/lib/clients_lib/putsub.rel +++ b/src/nos/lib/clients_lib/putsub.rel @@ -1,22 +1,21 @@ XL4 H 3 areas 24 global symbols +S ___03ff_12cc_STOR_20_25s_3a_20Er Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _strerror Ref00000000 +S ___0424_f579_TYPE_20A_0a Ref00000000 S _fflush Ref00000000 S _socket Ref00000000 S _sendfile Ref00000000 S _listen Ref00000000 -S ___037c_12cc_STOR_20_25s_3a_20Er Ref00000000 S _getsockname Ref00000000 +S ___03fd_49fd_STOR_20_25s_0a Ref00000000 S __fprintf Ref00000000 -S ___03a1_a616_TYPE_20L_20_25d_0a Ref00000000 -S ___03a0_3bb9_TYPE_20I_0a Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S ___037a_49fd_STOR_20_25s_0a Ref00000000 S _isbinary Ref00000000 +S ___03fe_38ea_STOR_20_25s_3a_20_2 Ref00000000 S ?L_MUL_L03 Ref00000000 -S ___03e1_4457_Warning_3a_20type_2 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _msclock Ref00000000 S ?SL_DIV_L03 Ref00000000 @@ -24,16 +23,17 @@ S _sendport Ref00000000 S _freopen Ref00000000 S ?UL_DIV_L03 Ref00000000 S _accept Ref00000000 -S ___037b_38ea_STOR_20_25s_3a_20_2 Ref00000000 +S ___0426_a616_TYPE_20L_20_25d_0a Ref00000000 S ?SS_CMP_L02 Ref00000000 S __printf Ref00000000 -S ___0210_4a10_Can_27t_20read_20_2 Ref00000000 +S ___0425_3bb9_TYPE_20I_0a Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___0242_4a10_Can_27t_20read_20_2 Ref00000000 S _getresp Ref00000000 +S ___0472_4457_Warning_3a_20type_2 Ref00000000 S _shutdown Ref00000000 S _fdopen Ref00000000 S _fclose Ref00000000 -S ___039f_f579_TYPE_20A_0a Ref00000000 S ?BANK_LEAVE_32_L08 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 628 flags 0 @@ -42,7 +42,7 @@ A CSTR size 8 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 C4 FF AF DD 77 FC -R 00 00 01 00 02 05 11 00 +R 00 00 01 00 02 05 10 00 T 09 00 00 00 DD 77 FD DD 6E 02 DD 66 03 56 23 R 00 00 01 00 T 14 00 00 00 66 6A DD 75 D2 DD 74 D3 21 0D 00 @@ -66,27 +66,27 @@ R 00 00 01 00 T 3C 00 00 00 21 00 00 E5 DD 4E C4 DD 46 C5 DD R 00 00 01 00 T 47 00 00 00 5E 0A DD 56 0B 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 15 00 +R 00 00 01 00 2B 0A 14 00 T 4F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 15 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 01 00 T 56 00 00 00 75 D0 DD 74 D1 7D B4 20 37 R 00 00 01 00 T 5F 00 00 00 R 00 00 01 00 -T 5F 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 5E +T 5F 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 5E R 00 00 01 00 02 09 0B 00 T 68 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 01 00 +R 00 00 01 00 2B 07 02 00 T 6D 00 00 00 00 00 00 00 CD 00 00 00 00 E5 DD -R 00 00 01 00 02 04 01 00 02 09 00 00 +R 00 00 01 00 02 04 02 00 02 09 01 00 T 74 00 00 00 6E 0A DD 66 0B E5 0E 00 00 00 00 -R 00 00 01 00 2B 0B 1B 00 +R 00 00 01 00 2B 0B 1C 00 T 7C 00 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 1B 00 +R 00 00 01 00 02 06 1C 00 T 82 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1A 00 02 09 1A 00 +R 00 00 01 00 2B 04 19 00 02 09 19 00 T 87 00 00 00 00 00 00 00 F1 F1 F1 F1 01 FF FF -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 90 00 00 00 21 FF FF C3 25 06 00 00 R 00 00 01 00 00 08 01 00 T 96 00 00 00 @@ -96,9 +96,9 @@ R 00 00 01 00 T A1 00 00 00 B7 20 2B DD 5E D0 DD 56 D1 3E R 00 00 01 00 T AB 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T B0 00 00 00 00 00 00 00 7D B4 28 19 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T B6 00 00 00 R 00 00 01 00 T B6 00 00 00 @@ -108,33 +108,33 @@ R 00 00 01 00 T B6 00 00 00 DD 6E 0A DD 66 0B E5 0E R 00 00 01 00 T BE 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 10 00 02 0A 10 00 +R 00 00 01 00 2B 04 1E 00 02 0A 1E 00 T C4 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1A 00 02 0A 1A 00 +R 00 00 01 00 2B 05 19 00 02 0A 19 00 T CA 00 00 00 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T CF 00 00 00 R 00 00 01 00 T CF 00 00 00 21 00 00 E5 01 00 00 11 00 00 3E R 00 00 01 00 T DA 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T DF 00 00 00 00 00 00 00 F1 DD 75 CA DD 74 CB -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T E8 00 00 00 DD 6E 02 DD 66 03 23 23 E5 01 R 00 00 01 00 T F2 00 00 00 05 00 00 00 DD 5E CA DD 56 CB 3E R 00 00 01 00 00 04 02 00 T FB 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1F 00 02 09 1F 00 +R 00 00 01 00 2B 04 20 00 02 09 20 00 T 00 01 00 00 00 00 00 00 4D 44 E1 71 23 70 01 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 09 01 00 00 00 00 DD 5E CA DD 56 CB 3E R 00 00 01 00 T 12 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 +R 00 00 01 00 2B 04 07 00 02 09 07 00 T 17 01 00 00 00 00 00 00 21 04 00 DD 4E 02 DD -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 20 01 00 00 46 03 09 5E 16 00 DD 73 FE DD 72 R 00 00 01 00 T 2B 01 00 00 FF 21 04 00 09 36 01 21 0D 00 09 @@ -152,23 +152,23 @@ R 00 00 01 00 T 50 01 00 00 R 00 00 01 00 T 50 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 21 00 02 0B 21 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 T 56 01 00 00 E5 DD 6E D2 DD 66 D3 E5 3E R 00 00 01 00 T 5F 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 64 01 00 00 00 00 00 00 F1 F1 F1 18 4D -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 6B 01 00 00 R 00 00 01 00 T 6B 01 00 00 FE 01 20 1B 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 0A 00 +R 00 00 01 00 2B 09 1A 00 T 73 01 00 00 00 00 00 00 E5 DD 6E D2 DD 66 D3 -R 00 00 01 00 02 04 0A 00 +R 00 00 01 00 02 04 1A 00 T 7C 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 +R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 T 82 01 00 00 CD 00 00 00 00 F1 F1 F1 18 2E -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T 8A 01 00 00 R 00 00 01 00 T 8A 01 00 00 FE 02 20 2A 21 0F 00 DD 4E 02 DD @@ -176,13 +176,13 @@ R 00 00 01 00 T 95 01 00 00 46 03 09 4E 23 46 C5 0E R 00 00 01 00 T 9D 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 09 00 02 0A 09 00 +R 00 00 01 00 2B 04 17 00 02 0A 17 00 T A3 01 00 00 DD 6E D2 DD 66 D3 E5 3E R 00 00 01 00 T AB 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T B0 01 00 00 00 00 00 00 F1 F1 F1 F1 18 00 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T B8 01 00 00 R 00 00 01 00 T B8 01 00 00 21 0D 00 DD 4E 02 DD 46 03 09 56 @@ -198,11 +198,11 @@ R 00 00 01 00 T DB 01 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 1D 00 02 09 1D 00 T E0 01 00 00 00 00 00 00 DD 75 C8 DD 74 C9 7D -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T E9 01 00 00 A4 3C 28 0E DD 4E C8 DD 46 C9 21 R 00 00 01 00 T F4 01 00 00 2B 01 CD 00 00 00 00 30 03 -R 00 00 01 00 02 07 19 00 +R 00 00 01 00 02 07 18 00 T FB 01 00 00 R 00 00 01 00 T FB 01 00 00 @@ -228,9 +228,9 @@ R 00 00 01 00 T 13 02 00 00 39 E5 21 12 00 39 4D 44 DD 5E CA R 00 00 01 00 T 1E 02 00 00 DD 56 CB 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 07 00 +R 00 00 01 00 2B 08 08 00 T 24 02 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 07 00 02 09 00 00 +R 00 00 01 00 02 04 08 00 02 09 01 00 T 2B 02 00 00 36 C6 10 DD 36 C7 00 21 02 00 39 R 00 00 01 00 T 36 02 00 00 E5 21 22 00 39 4D 44 DD 6E 02 DD @@ -248,9 +248,9 @@ R 00 00 01 00 T 5E 02 00 00 R 00 00 01 00 T 5E 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 +R 00 00 01 00 2B 05 08 00 02 0A 08 00 T 64 02 00 00 00 00 00 00 F1 21 24 00 39 5E 23 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 6D 02 00 00 56 23 4E 23 46 EB DD 75 D8 DD 74 R 00 00 01 00 T 78 02 00 00 D9 DD 71 DA DD 70 DB 21 10 00 39 @@ -258,9 +258,9 @@ R 00 00 01 00 T 83 02 00 00 4D 44 DD 5E D2 DD 56 D3 3E R 00 00 01 00 T 8C 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 14 00 02 09 14 00 +R 00 00 01 00 2B 04 13 00 02 09 13 00 T 91 02 00 00 00 00 00 00 21 07 00 DD 4E 02 DD -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 9A 02 00 00 46 03 09 7E 23 B6 20 2D R 00 00 01 00 T A2 02 00 00 @@ -270,11 +270,11 @@ R 00 00 01 00 T AC 02 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 1D 00 02 09 1D 00 T B1 02 00 00 00 00 00 00 DD 75 C8 DD 74 C9 7D -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T BA 02 00 00 A4 3C 28 0E DD 4E C8 DD 46 C9 21 R 00 00 01 00 T C5 02 00 00 2B 01 CD 00 00 00 00 30 03 -R 00 00 01 00 02 07 19 00 +R 00 00 01 00 02 07 18 00 T CC 02 00 00 R 00 00 01 00 T CC 02 00 00 @@ -290,13 +290,13 @@ R 00 00 01 00 T CF 02 00 00 DD 6E 04 DD 66 05 E5 0E R 00 00 01 00 T D7 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0D 00 02 0A 0D 00 +R 00 00 01 00 2B 04 09 00 02 0A 09 00 T DD 02 00 00 DD 6E D2 DD 66 D3 E5 3E R 00 00 01 00 T E5 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T EA 02 00 00 00 00 00 00 F1 F1 F1 F1 21 07 00 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T F3 02 00 00 DD 4E 02 DD 46 03 09 7E 23 B6 28 R 00 00 01 00 T FE 02 00 00 62 @@ -312,11 +312,11 @@ R 00 00 01 00 T 11 03 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 1D 00 02 09 1D 00 T 16 03 00 00 00 00 00 00 DD 75 C8 DD 74 C9 7D -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 1F 03 00 00 A4 3C 28 0E DD 4E C8 DD 46 C9 21 R 00 00 01 00 T 2A 03 00 00 2B 01 CD 00 00 00 00 30 03 -R 00 00 01 00 02 07 19 00 +R 00 00 01 00 02 07 18 00 T 31 03 00 00 R 00 00 01 00 T 31 03 00 00 @@ -334,11 +334,11 @@ R 00 00 01 00 T 3E 03 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 1D 00 02 09 1D 00 T 43 03 00 00 00 00 00 00 DD 75 C8 DD 74 C9 7D -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 4C 03 00 00 A4 3C 28 0E DD 4E C8 DD 46 C9 21 R 00 00 01 00 T 57 03 00 00 2B 01 CD 00 00 00 00 30 03 -R 00 00 01 00 02 07 19 00 +R 00 00 01 00 02 07 18 00 T 5E 03 00 00 R 00 00 01 00 T 5E 03 00 00 @@ -356,7 +356,7 @@ R 00 00 01 00 T 6B 03 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 1D 00 02 09 1D 00 T 70 03 00 00 00 00 00 00 DD 75 C8 DD 74 C9 7D -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 79 03 00 00 A4 3C 28 11 01 90 81 DD 6E C8 DD R 00 00 01 00 T 84 03 00 00 66 C9 3E 80 AC 67 ED 42 38 03 @@ -374,13 +374,13 @@ R 00 00 01 00 T 91 03 00 00 21 00 00 E5 01 00 00 DD 5E CA DD R 00 00 01 00 T 9C 03 00 00 56 CB 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 17 00 +R 00 00 01 00 2B 07 16 00 T A1 03 00 00 00 00 00 00 CD 00 00 00 00 F1 3E -R 00 00 01 00 02 04 17 00 02 09 00 00 +R 00 00 01 00 02 04 16 00 02 09 01 00 T A8 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 +R 00 00 01 00 2B 04 11 00 02 09 11 00 T AD 03 00 00 00 00 00 00 DD 75 F4 DD 74 F5 DD -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T B6 03 00 00 71 F6 DD 70 F7 21 05 00 DD 4E 02 R 00 00 01 00 T C1 03 00 00 DD 46 03 09 5E D5 21 0D 00 09 5E @@ -388,17 +388,17 @@ R 00 00 01 00 T CC 03 00 00 D5 03 03 69 60 4E 23 46 DD 5E D0 R 00 00 01 00 T D7 03 00 00 DD 56 D1 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 04 00 +R 00 00 01 00 2B 08 06 00 T DD 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 04 00 02 09 00 00 +R 00 00 01 00 02 04 06 00 02 09 01 00 T E4 03 00 00 DD 75 CC DD 74 CD DD 71 CE DD 70 R 00 00 01 00 T EF 03 00 00 CF DD 5E 02 DD 56 03 13 13 EB 5E R 00 00 01 00 T FA 03 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 02 00 +R 00 00 01 00 2B 07 04 00 T FF 03 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 04 02 00 02 09 00 00 +R 00 00 01 00 02 04 04 00 02 09 01 00 T 05 04 00 00 01 00 DD 6E 02 DD 66 03 23 23 7E R 00 00 01 00 T 10 04 00 00 23 B6 28 15 DD 6E 02 DD 66 03 23 @@ -414,23 +414,23 @@ R 00 00 01 00 T 2C 04 00 00 R 00 00 01 00 T 2C 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1E 00 02 0A 1E 00 +R 00 00 01 00 2B 05 1F 00 02 0A 1F 00 T 32 04 00 00 00 00 00 00 DD 5E D0 DD 56 D1 3E -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 3B 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 20 00 02 09 20 00 +R 00 00 01 00 2B 04 21 00 02 09 21 00 T 40 04 00 00 00 00 00 00 01 C8 00 DD 5E 02 DD -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 49 04 00 00 56 03 3E 00 00 00 00 21 R 00 00 01 00 2B 07 1D 00 T 4E 04 00 00 00 00 00 00 CD 00 00 00 00 DD 6E -R 00 00 01 00 02 04 1D 00 02 09 00 00 +R 00 00 01 00 02 04 1D 00 02 09 01 00 T 55 04 00 00 02 DD 66 03 23 23 5E 23 56 3E R 00 00 01 00 T 5F 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 20 00 02 09 20 00 +R 00 00 01 00 2B 04 21 00 02 09 21 00 T 64 04 00 00 00 00 00 00 DD 6E 02 DD 66 03 23 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 6D 04 00 00 23 AF 77 23 77 DD 7E CC DD A6 CD R 00 00 01 00 T 78 04 00 00 DD A6 CE DD A6 CF 3C 20 1C @@ -440,11 +440,11 @@ R 00 00 01 00 T 81 04 00 00 DD 6E 04 DD 66 05 E5 0E R 00 00 01 00 T 89 04 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 06 00 02 0A 06 00 +R 00 00 01 00 2B 04 00 00 02 0A 00 00 T 8F 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1A 00 02 0A 1A 00 +R 00 00 01 00 2B 05 19 00 02 0A 19 00 T 95 04 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 9B 04 00 00 C8 05 00 00 R 00 00 01 00 00 04 01 00 T 9D 04 00 00 @@ -458,9 +458,9 @@ R 00 00 01 00 00 04 01 00 T B4 04 00 00 R 00 00 01 00 T B4 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 12 00 02 0A 12 00 +R 00 00 01 00 2B 05 11 00 02 0A 11 00 T BA 04 00 00 00 00 00 00 59 50 A7 DD 4E F4 DD -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T C3 04 00 00 46 F5 ED 42 EB DD 4E F6 DD 46 F7 R 00 00 01 00 T CE 04 00 00 ED 42 4D 44 EB DD 75 F4 DD 74 F5 @@ -488,7 +488,7 @@ R 00 00 01 00 T 22 05 00 00 DD 4E CE DD 46 CF DD 6E CC DD 66 R 00 00 01 00 T 2D 05 00 00 CD CD 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 06 0F 00 02 0B 16 00 +R 00 00 01 00 02 06 0F 00 02 0B 15 00 T 34 05 00 00 DD 75 F8 DD 74 F9 DD 71 FA DD 70 R 00 00 01 00 T 3F 05 00 00 FB 18 34 @@ -500,11 +500,11 @@ R 00 00 01 00 T 4D 05 00 00 DD 46 F7 DD 6E F4 DD 66 F5 CD R 00 00 01 00 T 57 05 00 00 00 00 00 00 C5 E5 DD 4E CE DD 46 -R 00 00 01 00 02 04 13 00 +R 00 00 01 00 02 04 12 00 T 60 05 00 00 CF DD 6E CC DD 66 CD CD R 00 00 01 00 T 68 05 00 00 00 00 00 00 DD 75 F8 DD 74 F9 DD -R 00 00 01 00 02 04 16 00 +R 00 00 01 00 02 04 15 00 T 71 05 00 00 71 FA DD 70 FB R 00 00 01 00 T 76 05 00 00 @@ -518,17 +518,17 @@ R 00 00 01 00 T 8C 05 00 00 DD 4E F6 DD 46 F7 DD 6E F4 DD 66 R 00 00 01 00 T 97 05 00 00 F5 CD 00 00 00 00 C5 E5 DD 6E CE -R 00 00 01 00 02 06 13 00 +R 00 00 01 00 02 06 12 00 T A0 05 00 00 DD 66 CF E5 DD 6E CC DD 66 CD E5 R 00 00 01 00 T AB 05 00 00 DD 6E 04 DD 66 05 E5 0E R 00 00 01 00 T B3 05 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 18 00 02 0A 18 00 +R 00 00 01 00 2B 04 0E 00 02 0A 0E 00 T B9 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1A 00 02 0A 1A 00 +R 00 00 01 00 2B 05 19 00 02 0A 19 00 T BF 05 00 00 00 00 00 00 EB 21 12 00 39 F9 EB -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T C8 05 00 00 R 00 00 01 00 T C8 05 00 00 @@ -542,15 +542,15 @@ R 00 00 01 00 T E4 05 00 00 R 00 00 01 00 T E4 05 00 00 DD 5E D0 DD 56 D1 3E 00 00 00 00 -R 00 00 01 00 2B 0B 20 00 +R 00 00 01 00 2B 0B 21 00 T EC 05 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 20 00 02 0A 00 00 +R 00 00 01 00 02 05 21 00 02 0A 01 00 T F3 05 00 00 6E 02 DD 66 03 23 23 5E 23 56 3E R 00 00 01 00 T FE 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 20 00 02 09 20 00 +R 00 00 01 00 2B 04 21 00 02 09 21 00 T 03 06 00 00 00 00 00 00 DD 6E 02 DD 66 03 23 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 0C 06 00 00 23 AF 77 23 77 21 04 00 DD 4E 02 R 00 00 01 00 T 17 06 00 00 DD 46 03 09 DD 46 FE 70 01 FF FF diff --git a/src/nos/lib/clients_lib/sendport.rel b/src/nos/lib/clients_lib/sendport.rel index 6a1f44a9..3965d7e3 100644 --- a/src/nos/lib/clients_lib/sendport.rel +++ b/src/nos/lib/clients_lib/sendport.rel @@ -3,17 +3,17 @@ H 2 areas 8 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __fprintf Ref00000000 -S ___0339_e126_PORT_20_25u_2c_25u_ Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___03b1_e126_PORT_20_25u_2c_25u_ Ref00000000 A _DEFAULT size 0 flags 0 A CODE size A6 flags 0 S _sendport Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 03 03 0A 6F 03 0A -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 04 00 T 09 00 00 00 67 26 00 E5 DD 6E 04 DD 66 05 23 R 00 00 01 00 T 14 00 00 00 23 46 23 66 68 6C 26 00 26 00 E5 @@ -37,9 +37,9 @@ R 00 00 01 00 T 77 00 00 00 4E 23 46 EB 69 60 01 00 00 6C 26 R 00 00 01 00 T 82 00 00 00 00 26 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 03 00 +R 00 00 01 00 2B 09 06 00 T 8A 00 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 06 00 T 93 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 02 00 02 0B 02 00 T 99 00 00 00 CD 00 00 00 00 EB 21 12 00 39 F9 diff --git a/src/nos/lib/clients_lib/telnet.rel b/src/nos/lib/clients_lib/telnet.rel index 789a2a99..ffd6f0bc 100644 --- a/src/nos/lib/clients_lib/telnet.rel +++ b/src/nos/lib/clients_lib/telnet.rel @@ -1,67 +1,67 @@ XL4 H 5 areas 4F global symbols S _resolve Ref00000000 +S ___0650_18c5_recv_3a_20do_20 Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___03b5_2057_Too_20many_20sessio Ref00000000 -S ___0365_d0ff_Refuse_0a Ref00000000 +S ___0154_7643__25s_0a Ref00000000 +S ___0428_950b_Telnet_20option_20t Ref00000000 S _Badhost Ref00000000 S ?S_S_SWITCH_L06 Ref00000000 -S ___05a5_7321_sent_3a_20do_20 Ref00000000 -S ___0139_7643__25s_0a Ref00000000 -S ___0576_18c5_recv_3a_20do_20 Ref00000000 S _fflush Ref00000000 +S ___0486_699f__5eC_0a Ref00000000 S _socket Ref00000000 S _fgetc Ref00000000 +S ___0680_db3c_sent_3a_20dont_20 Ref00000000 S _memset Ref00000000 S _fmode Ref00000000 S _newsession Ref00000000 -S ___05a7_d7c3_sent_3a_20will_20 Ref00000000 +S ___067f_7321_sent_3a_20do_20 Ref00000000 S _setjmp Ref00000000 S _printf Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___0444_2057_Too_20many_20sessio Ref00000000 +S ___06a1_fcc6_standard_0a Ref00000000 S _alert Ref00000000 S __fprintf Ref00000000 -S ___0223_6930_Connected_0a Ref00000000 +S ___060a_07d0_null_0a Ref00000000 +S ___0260_6930_Connected_0a Ref00000000 S _perror Ref00000000 -S ___05c4_fcc6_standard_0a Ref00000000 +S ___0652_84ef_recv_3a_20will_20 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S _killproc Ref00000000 -S ___03b8_2030_Trying_20_25s_2e_2e Ref00000000 S _settos Ref00000000 S _fputc Ref00000000 -S ___021e_f95c_Closed_3a_20_25s_0a Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 +S ___0681_d7c3_sent_3a_20will_20 Ref00000000 S _Current Ref00000000 -S ___0578_84ef_recv_3a_20will_20 Ref00000000 -S ___03ce_125c_Usage_3a_20_25s_20_ Ref00000000 -S ___0369_ae52_Resolving_20_25s_2e Ref00000000 -S ___01dd_537a_Accept_0a Ref00000000 S _freesession Ref00000000 -S ___012a_22d3__25c_25c_25c Ref00000000 S _connect Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___05a8_72b0_sent_3a_20wont_20 Ref00000000 -S ___0204_ef8c_Can_27t_20create_20 Ref00000000 S _atoi Ref00000000 -S ___03a3_950b_Telnet_20option_20t Ref00000000 +S ___020b_537a_Accept_0a Ref00000000 S ?SS_CMP_L02 Ref00000000 +S ___0236_ef8c_Can_27t_20create_20 Ref00000000 S __printf Ref00000000 -S ___0538_07d0_null_0a Ref00000000 -S ___03f3_699f__5eC_0a Ref00000000 -S ___016f_2293__25u_0a Ref00000000 +S ___03e4_d0ff_Refuse_0a Ref00000000 +S ___0651_8810_recv_3a_20dont_20 Ref00000000 +S ___0447_2030_Trying_20_25s_2e_2e Ref00000000 +S ___019b_2293__25u_0a Ref00000000 +S ___0253_f95c_Closed_3a_20_25s_0a Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___0653_219c_recv_3a_20wont_20 Ref00000000 S _setbool Ref00000000 -S ___05a6_db3c_sent_3a_20dont_20 Ref00000000 +S ___045f_125c_Usage_3a_20_25s_20_ Ref00000000 S _sockerr Ref00000000 S _psocket Ref00000000 -S ___0577_8810_recv_3a_20dont_20 Ref00000000 S _fdopen Ref00000000 S _fclose Ref00000000 +S ___0145_22d3__25c_25c_25c Ref00000000 S _Cmdline Ref00000000 -S ___0579_219c_recv_3a_20wont_20 Ref00000000 +S ___03ec_ae52_Resolving_20_25s_2e Ref00000000 S _newproc Ref00000000 S _keywait Ref00000000 +S ___0682_72b0_sent_3a_20wont_20 Ref00000000 S _setvbuf Ref00000000 A _DEFAULT size 0 flags 0 A CODE size DD7 flags 0 @@ -87,35 +87,35 @@ A CDATA0 size 14 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 C5 D5 0E -R 00 00 01 00 02 05 1F 00 +R 00 00 01 00 02 05 20 00 T 06 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 2C 00 02 0A 2C 00 +R 00 00 01 00 2B 04 04 00 02 0A 04 00 T 0C 00 00 00 11 04 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 03 00 2B 0A 33 00 +R 00 00 01 00 00 05 03 00 2B 0A 32 00 T 12 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 33 00 02 09 01 00 +R 00 00 01 00 02 04 32 00 02 09 02 00 T 19 00 00 00 F1 F1 21 00 00 C3 00 00 00 00 R 00 00 01 00 02 0A 12 00 T 21 00 00 00 R 00 00 01 00 T 21 00 00 00 CD 00 00 00 00 EC FF 21 01 00 E5 -R 00 00 01 00 02 05 28 00 +R 00 00 01 00 02 05 25 00 T 2A 00 00 00 01 00 00 ED 5B 00 00 00 00 3E -R 00 00 01 00 02 09 3A 00 +R 00 00 01 00 02 09 39 00 T 32 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0E 00 02 09 0E 00 T 37 00 00 00 00 00 00 00 F1 DD 75 EC DD 74 ED -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 40 00 00 00 7D B4 20 17 R 00 00 01 00 T 44 00 00 00 R 00 00 01 00 T 44 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 02 00 02 0B 02 00 +R 00 00 01 00 2B 05 13 00 02 0B 13 00 T 4A 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2E 00 02 0B 2E 00 +R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 T 50 00 00 00 CD 00 00 00 00 F1 F1 21 01 00 C3 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 59 00 00 00 3C 02 00 00 R 00 00 01 00 00 04 01 00 T 5B 00 00 00 @@ -139,35 +139,35 @@ R 00 00 01 00 T 8F 00 00 00 21 04 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 T 9A 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 2B 00 +R 00 00 01 00 2B 07 26 00 T 9F 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 2B 00 02 09 01 00 +R 00 00 01 00 02 04 26 00 02 09 02 00 T A6 00 00 00 F0 DD 74 F1 R 00 00 01 00 T AA 00 00 00 R 00 00 01 00 T AA 00 00 00 21 04 00 ED 4B 00 00 00 00 09 7E -R 00 00 01 00 02 09 18 00 +R 00 00 01 00 02 09 1B 00 T B3 00 00 00 F6 08 77 23 7E F6 00 77 21 22 00 R 00 00 01 00 T BE 00 00 00 ED 4B 00 00 00 00 09 36 6B 23 36 -R 00 00 01 00 02 06 18 00 +R 00 00 01 00 02 06 1B 00 T C7 00 00 00 00 21 14 00 ED 4B 00 00 00 00 09 -R 00 00 01 00 02 0A 18 00 +R 00 00 01 00 02 0A 1B 00 T D0 00 00 00 EB 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 10 00 02 0B 10 00 T D6 00 00 00 CD 00 00 00 00 7D B4 28 22 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T DD 00 00 00 R 00 00 01 00 T DD 00 00 00 01 01 00 11 00 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 3D 00 +R 00 00 01 00 2B 0B 3C 00 T E5 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 3D 00 02 0A 01 00 +R 00 00 01 00 02 05 3C 00 02 0A 02 00 T EC 00 00 00 5E EC DD 56 ED 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 25 00 +R 00 00 01 00 2B 0A 23 00 T F4 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 25 00 02 09 01 00 +R 00 00 01 00 02 04 23 00 02 09 02 00 T FA 00 00 00 01 00 C3 3C 02 00 00 R 00 00 01 00 00 07 01 00 T FF 00 00 00 @@ -175,17 +175,17 @@ R 00 00 01 00 T FF 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T 0A 01 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 23 00 +R 00 00 01 00 2B 06 3A 00 T 0F 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 23 00 2B 0A 2E 00 +R 00 00 01 00 02 04 3A 00 2B 0A 2A 00 T 15 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 2E 00 02 09 01 00 +R 00 00 01 00 02 04 2A 00 02 09 02 00 T 1C 01 00 00 F1 DD 6E 04 DD 66 05 23 23 5E 23 R 00 00 01 00 T 27 01 00 00 56 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 00 00 02 0B 00 00 T 2D 01 00 00 CD 00 00 00 00 DD 75 F2 DD 74 F3 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 36 01 00 00 DD 71 F4 DD 70 F5 7D B4 B1 B0 20 R 00 00 01 00 T 41 01 00 00 3C @@ -195,19 +195,19 @@ R 00 00 01 00 T 42 01 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T 4D 01 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 04 00 +R 00 00 01 00 02 06 05 00 T 53 01 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 11 00 02 09 11 00 T 58 01 00 00 00 00 00 00 F1 F1 01 01 00 11 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 60 01 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 3D 00 +R 00 00 01 00 2B 07 3C 00 T 65 01 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 3D 00 02 09 01 00 +R 00 00 01 00 02 04 3C 00 02 09 02 00 T 6C 01 00 00 EC DD 56 ED 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 25 00 +R 00 00 01 00 2B 09 23 00 T 73 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 25 00 02 09 01 00 +R 00 00 01 00 02 04 23 00 02 09 02 00 T 79 01 00 00 01 00 C3 3C 02 00 00 R 00 00 01 00 00 07 01 00 T 7E 01 00 00 @@ -215,27 +215,27 @@ R 00 00 01 00 T 7E 01 00 00 21 00 00 E5 01 00 00 11 00 00 3E R 00 00 01 00 T 89 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 09 00 02 09 09 00 T 8E 01 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 97 01 00 00 7D A4 3C 20 32 R 00 00 01 00 T 9C 01 00 00 R 00 00 01 00 T 9C 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 2A 00 02 0B 2A 00 +R 00 00 01 00 2B 05 29 00 02 0B 29 00 T A2 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2E 00 02 0B 2E 00 +R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 T A8 01 00 00 CD 00 00 00 00 F1 F1 01 01 00 11 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T B1 01 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 3D 00 +R 00 00 01 00 2B 07 3C 00 T B6 01 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 3D 00 02 09 01 00 +R 00 00 01 00 02 04 3C 00 02 09 02 00 T BD 01 00 00 EC DD 56 ED 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 25 00 +R 00 00 01 00 2B 09 23 00 T C4 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 25 00 02 09 01 00 +R 00 00 01 00 02 04 23 00 02 09 02 00 T CA 01 00 00 01 00 18 6E R 00 00 01 00 T CE 01 00 00 @@ -243,15 +243,15 @@ R 00 00 01 00 T CE 01 00 00 01 10 00 DD 5E FE DD 56 FF 3E R 00 00 01 00 T D8 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1C 00 02 09 1C 00 +R 00 00 01 00 2B 04 1E 00 02 09 1E 00 T DD 01 00 00 00 00 00 00 21 0D 00 DD 4E EC DD -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T E6 01 00 00 46 ED 09 E5 01 3B 00 00 00 DD 5E R 00 00 01 00 00 09 02 00 T EF 01 00 00 FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 38 00 +R 00 00 01 00 2B 09 36 00 T F6 01 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 38 00 02 09 01 00 +R 00 00 01 00 02 04 36 00 02 09 02 00 T FD 01 00 00 E1 71 23 70 21 80 00 E5 21 02 00 R 00 00 01 00 T 08 02 00 00 E5 01 00 00 21 0D 00 DD 5E EC DD @@ -259,13 +259,13 @@ R 00 00 01 00 T 13 02 00 00 56 ED 19 5E 23 56 3E 00 00 00 00 R 00 00 01 00 2B 0B 3E 00 T 1B 02 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 3E 00 02 0A 01 00 +R 00 00 01 00 02 05 3E 00 02 0A 02 00 T 22 02 00 00 F1 21 10 00 E5 21 04 00 39 4D 44 R 00 00 01 00 T 2D 02 00 00 DD 5E EC DD 56 ED 3E 3F 02 00 00 R 00 00 01 00 29 0B 01 00 T 35 02 00 00 21 3F 02 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 00 05 01 00 02 0A 01 00 +R 00 00 01 00 00 05 01 00 02 0A 02 00 T 3C 02 00 00 R 00 00 01 00 T 3C 02 00 00 C3 00 00 00 00 @@ -273,13 +273,13 @@ R 00 00 01 00 02 05 12 00 T 3F 02 00 00 R 00 00 01 00 T 3F 02 00 00 CD 00 00 00 00 F0 FF 21 0F 00 E5 -R 00 00 01 00 02 05 28 00 +R 00 00 01 00 02 05 25 00 T 48 02 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 52 02 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0C 00 02 09 0C 00 T 57 02 00 00 00 00 00 00 F1 3A 02 00 00 00 DD -R 00 00 01 00 02 04 01 00 00 0A 03 00 +R 00 00 01 00 02 04 02 00 00 0A 03 00 T 5E 02 00 00 77 FE DD 6E 02 DD 66 03 DD 75 FC R 00 00 01 00 T 69 02 00 00 DD 74 FD 21 05 00 DD 4E 02 DD 46 @@ -289,13 +289,13 @@ R 00 00 01 00 T 7F 02 00 00 23 72 DD 5E 04 DD 56 05 3E R 00 00 01 00 T 88 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 36 00 02 09 36 00 +R 00 00 01 00 2B 04 35 00 02 09 35 00 T 8D 02 00 00 00 00 00 00 E5 1E 00 00 00 00 D5 -R 00 00 01 00 02 04 01 00 2B 0A 1B 00 +R 00 00 01 00 02 04 02 00 2B 0A 2D 00 T 93 02 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 1B 00 2B 0B 2E 00 +R 00 00 01 00 02 05 2D 00 2B 0B 2A 00 T 99 02 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 2E 00 02 0A 01 00 +R 00 00 01 00 02 05 2A 00 02 0A 02 00 T A0 02 00 00 F1 F1 DD 6E 0A DD 66 0B E5 DD 4E R 00 00 01 00 T AB 02 00 00 04 DD 46 05 21 0D 00 DD 5E 02 DD @@ -313,33 +313,33 @@ R 00 00 01 00 T D2 02 00 00 R 00 00 01 00 T D2 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 27 00 02 0A 27 00 +R 00 00 01 00 2B 05 24 00 02 0A 24 00 T D8 02 00 00 00 00 00 00 F1 7D A4 3C 20 2C -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T E0 02 00 00 R 00 00 01 00 T E0 02 00 00 11 3F 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 16 00 +R 00 00 01 00 00 05 02 00 2B 0A 19 00 T E6 02 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 04 16 00 02 09 01 00 +R 00 00 01 00 02 04 19 00 02 09 02 00 T EC 02 00 00 01 00 11 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 3D 00 +R 00 00 01 00 2B 0A 3C 00 T F4 02 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 3D 00 02 09 01 00 +R 00 00 01 00 02 04 3C 00 02 09 02 00 T FB 02 00 00 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 25 00 +R 00 00 01 00 2B 09 23 00 T 02 03 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 25 00 02 09 01 00 +R 00 00 01 00 02 04 23 00 02 09 02 00 T 08 03 00 00 01 00 18 32 R 00 00 01 00 T 0C 03 00 00 R 00 00 01 00 T 0C 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 15 00 02 0B 15 00 +R 00 00 01 00 2B 05 18 00 02 0B 18 00 T 12 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2E 00 02 0B 2E 00 +R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 T 18 03 00 00 CD 00 00 00 00 F1 F1 21 20 00 DD -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 21 03 00 00 4E 02 DD 46 03 09 AF 77 23 77 23 R 00 00 01 00 T 2C 03 00 00 77 21 00 00 39 5D 54 3E @@ -347,7 +347,7 @@ R 00 00 01 00 T 34 03 00 00 41 03 00 00 21 41 03 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T 39 03 00 00 00 00 00 00 21 00 00 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 3E 03 00 00 R 00 00 01 00 T 3E 03 00 00 C3 00 00 00 00 @@ -355,7 +355,7 @@ R 00 00 01 00 02 05 12 00 T 41 03 00 00 R 00 00 01 00 T 41 03 00 00 CD 00 00 00 00 F8 FF 21 0C 00 DD -R 00 00 01 00 02 05 28 00 +R 00 00 01 00 02 05 25 00 T 4A 03 00 00 4E 02 DD 46 03 09 56 23 66 6A DD R 00 00 01 00 T 55 03 00 00 75 FA DD 74 FB 11 0D 00 19 56 23 @@ -371,17 +371,17 @@ R 00 00 01 00 29 04 01 00 00 0A 01 00 T 87 03 00 00 01 00 04 11 4E 00 00 00 3E R 00 00 01 00 00 08 02 00 T 8E 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 3C 00 02 09 3C 00 +R 00 00 01 00 2B 04 3B 00 02 09 3B 00 T 93 03 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 9C 03 00 00 4D 44 E1 71 23 70 R 00 00 01 00 T A2 03 00 00 R 00 00 01 00 T A2 03 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 +R 00 00 01 00 2B 0B 0A 00 T AA 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0B 00 02 0A 01 00 +R 00 00 01 00 02 05 0A 00 02 0A 02 00 T B1 03 00 00 75 F8 DD 74 F9 7D A4 3C CA R 00 00 01 00 T BA 03 00 00 0E 05 00 00 @@ -393,13 +393,13 @@ R 00 00 01 00 T C6 03 00 00 R 00 00 01 00 T C6 03 00 00 21 40 00 ED 4B 00 00 00 00 09 4E -R 00 00 01 00 02 09 18 00 +R 00 00 01 00 02 09 1B 00 T CF 03 00 00 23 46 DD 5E F8 16 00 3E R 00 00 01 00 T D7 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1D 00 02 09 1D 00 +R 00 00 01 00 2B 04 1F 00 02 09 1F 00 T DC 03 00 00 00 00 00 00 21 0F 00 DD 4E FA DD -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T E5 03 00 00 46 FB 09 7E 23 B6 28 1B R 00 00 01 00 T ED 03 00 00 @@ -409,9 +409,9 @@ R 00 00 01 00 T F8 03 00 00 23 46 DD 5E F8 DD 56 F9 3E R 00 00 01 00 T 01 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1D 00 02 09 1D 00 +R 00 00 01 00 2B 04 1F 00 02 09 1F 00 T 06 04 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 08 04 00 00 R 00 00 01 00 T 08 04 00 00 18 98 @@ -419,11 +419,11 @@ R 00 00 01 00 T 0A 04 00 00 R 00 00 01 00 T 0A 04 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 +R 00 00 01 00 2B 0B 0A 00 T 12 04 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0B 00 02 0A 01 00 +R 00 00 01 00 02 05 0A 00 02 0A 02 00 T 19 04 00 00 75 F8 DD 74 F9 EB CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 +R 00 00 01 00 02 0B 06 00 T 22 04 00 00 FB 00 05 00 0B 05 00 00 R 00 00 01 00 00 08 01 00 T 28 04 00 00 32 04 00 00 59 04 00 00 @@ -435,63 +435,63 @@ R 00 00 01 00 00 04 01 00 T 32 04 00 00 R 00 00 01 00 T 32 04 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 +R 00 00 01 00 2B 0B 0A 00 T 3A 04 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0B 00 02 0A 01 00 +R 00 00 01 00 02 05 0A 00 02 0A 02 00 T 41 04 00 00 75 F8 DD 74 F9 4D 44 DD 5E 02 DD R 00 00 01 00 T 4C 04 00 00 56 03 3E E1 07 00 00 21 R 00 00 01 00 29 07 01 00 T 51 04 00 00 E1 07 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 00 04 01 00 02 09 01 00 +R 00 00 01 00 00 04 01 00 02 09 02 00 T 57 04 00 00 0B 05 00 00 R 00 00 01 00 00 04 01 00 T 59 04 00 00 R 00 00 01 00 T 59 04 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 +R 00 00 01 00 2B 0B 0A 00 T 61 04 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0B 00 02 0A 01 00 +R 00 00 01 00 02 05 0A 00 02 0A 02 00 T 68 04 00 00 75 F8 DD 74 F9 4D 44 DD 5E 02 DD R 00 00 01 00 T 73 04 00 00 56 03 3E 92 09 00 00 21 R 00 00 01 00 29 07 01 00 T 78 04 00 00 92 09 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 00 04 01 00 02 09 01 00 +R 00 00 01 00 00 04 01 00 02 09 02 00 T 7E 04 00 00 0B 05 00 00 R 00 00 01 00 00 04 01 00 T 80 04 00 00 R 00 00 01 00 T 80 04 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 +R 00 00 01 00 2B 0B 0A 00 T 88 04 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0B 00 02 0A 01 00 +R 00 00 01 00 02 05 0A 00 02 0A 02 00 T 8F 04 00 00 75 F8 DD 74 F9 4D 44 DD 5E 02 DD R 00 00 01 00 T 9A 04 00 00 56 03 3E 08 0B 00 00 21 R 00 00 01 00 29 07 01 00 T 9F 04 00 00 08 0B 00 00 CD 00 00 00 00 18 65 -R 00 00 01 00 00 04 01 00 02 09 01 00 +R 00 00 01 00 00 04 01 00 02 09 02 00 T A6 04 00 00 R 00 00 01 00 T A6 04 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 +R 00 00 01 00 2B 0B 0A 00 T AE 04 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0B 00 02 0A 01 00 +R 00 00 01 00 02 05 0A 00 02 0A 02 00 T B5 04 00 00 75 F8 DD 74 F9 4D 44 DD 5E 02 DD R 00 00 01 00 T C0 04 00 00 56 03 3E CE 0B 00 00 21 R 00 00 01 00 29 07 01 00 T C5 04 00 00 CE 0B 00 00 CD 00 00 00 00 18 3F -R 00 00 01 00 00 04 01 00 02 09 01 00 +R 00 00 01 00 00 04 01 00 02 09 02 00 T CC 04 00 00 R 00 00 01 00 T CC 04 00 00 21 40 00 ED 4B 00 00 00 00 09 4E -R 00 00 01 00 02 09 18 00 +R 00 00 01 00 02 09 1B 00 T D5 04 00 00 23 46 11 FF 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 1D 00 +R 00 00 01 00 2B 0A 1F 00 T DD 04 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 1D 00 02 09 01 00 +R 00 00 01 00 02 04 1F 00 02 09 02 00 T E3 04 00 00 0F 00 DD 4E FA DD 46 FB 09 7E 23 R 00 00 01 00 T EE 04 00 00 B6 28 18 @@ -501,9 +501,9 @@ R 00 00 01 00 T F1 04 00 00 21 0F 00 DD 4E FA DD 46 FB 09 4E R 00 00 01 00 T FC 04 00 00 23 46 11 FF 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 1D 00 +R 00 00 01 00 2B 0A 1F 00 T 04 05 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 1D 00 02 09 01 00 +R 00 00 01 00 02 04 1F 00 02 09 02 00 T 09 05 00 00 R 00 00 01 00 T 09 05 00 00 18 00 @@ -521,7 +521,7 @@ R 00 00 01 00 T 19 05 00 00 FB 19 5E 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 0D 00 T 21 05 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0D 00 02 09 01 00 +R 00 00 01 00 02 04 0D 00 02 09 02 00 T 27 05 00 00 80 00 E5 21 02 00 E5 01 00 00 21 R 00 00 01 00 T 32 05 00 00 1B 00 DD 5E FA DD 56 FB 19 5E 23 @@ -529,7 +529,7 @@ R 00 00 01 00 T 3D 05 00 00 56 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 3E 00 02 0B 3E 00 T 43 05 00 00 CD 00 00 00 00 F1 F1 DD 7E FE DD -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 4C 05 00 00 B6 FF 28 0F 21 08 00 DD 4E FE DD R 00 00 01 00 T 57 05 00 00 46 FF 09 5E 23 56 18 03 @@ -541,9 +541,9 @@ R 00 00 01 00 T 62 05 00 00 R 00 00 01 00 T 62 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 35 00 02 0A 35 00 +R 00 00 01 00 2B 05 34 00 02 0A 34 00 T 68 05 00 00 00 00 00 00 DD 75 FC DD 74 FD 7D -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 71 05 00 00 B4 28 02 18 03 R 00 00 01 00 T 76 05 00 00 @@ -553,39 +553,39 @@ R 00 00 01 00 00 05 02 00 T 79 05 00 00 R 00 00 01 00 T 79 05 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 1E 00 +R 00 00 01 00 2B 06 2F 00 T 7E 05 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 1E 00 2B 0A 2E 00 +R 00 00 01 00 02 04 2F 00 2B 0A 2A 00 T 84 05 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 2E 00 02 09 01 00 +R 00 00 01 00 02 04 2A 00 02 09 02 00 T 8B 05 00 00 F1 21 09 00 DD 4E FA DD 46 FB 09 R 00 00 01 00 T 96 05 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 1A 00 +R 00 00 01 00 2B 08 1D 00 T 9C 05 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 1A 00 02 09 01 00 +R 00 00 01 00 02 04 1D 00 02 09 02 00 T A2 05 00 00 09 00 09 AF 77 23 77 21 0D 00 09 R 00 00 01 00 T AD 05 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 39 00 +R 00 00 01 00 2B 08 37 00 T B3 05 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 39 00 02 09 01 00 +R 00 00 01 00 02 04 37 00 02 09 02 00 T B9 05 00 00 0D 00 09 AF 77 23 77 01 01 00 11 R 00 00 01 00 T C4 05 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 3D 00 +R 00 00 01 00 2B 07 3C 00 T C9 05 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 3D 00 02 09 01 00 +R 00 00 01 00 02 04 3C 00 02 09 02 00 T D0 05 00 00 FA DD 56 FB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 25 00 +R 00 00 01 00 2B 09 23 00 T D7 05 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 25 00 02 09 01 00 +R 00 00 01 00 02 04 23 00 02 09 02 00 T DD 05 00 00 00 00 00 00 R 00 00 01 00 02 04 12 00 T DF 05 00 00 R 00 00 01 00 T DF 05 00 00 CD 00 00 00 00 FA FF DD 71 FE DD -R 00 00 01 00 02 05 28 00 +R 00 00 01 00 02 05 25 00 T E8 05 00 00 70 FF 21 0C 00 09 46 23 66 68 DD R 00 00 01 00 T F3 05 00 00 75 FA DD 74 FB @@ -595,9 +595,9 @@ R 00 00 01 00 T F8 05 00 00 21 19 00 DD 4E FA DD 46 FB 09 5E R 00 00 01 00 T 03 06 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0B 00 +R 00 00 01 00 2B 07 0A 00 T 08 06 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 0B 00 02 09 01 00 +R 00 00 01 00 02 04 0A 00 02 09 02 00 T 0F 06 00 00 FC DD 74 FD 7D A4 3C CA R 00 00 01 00 T 17 06 00 00 C2 06 00 00 @@ -609,9 +609,9 @@ R 00 00 01 00 T 24 06 00 00 23 46 DD 5E FC DD 56 FD 3E R 00 00 01 00 T 2D 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1D 00 02 09 1D 00 +R 00 00 01 00 2B 04 1F 00 02 09 1F 00 T 32 06 00 00 00 00 00 00 21 07 00 DD 4E FE DD -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 3B 06 00 00 46 FF 09 7E B7 20 2A 21 0F 00 DD R 00 00 01 00 T 46 06 00 00 4E FA DD 46 FB 09 7E 23 B6 28 1B @@ -627,9 +627,9 @@ R 00 00 01 00 T 5C 06 00 00 23 46 DD 5E FC DD 56 FD 3E R 00 00 01 00 T 65 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1D 00 02 09 1D 00 +R 00 00 01 00 2B 04 1F 00 02 09 1F 00 T 6A 06 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 6C 06 00 00 R 00 00 01 00 T 6C 06 00 00 3E 0D DD AE FC DD B6 FD 20 26 21 @@ -647,9 +647,9 @@ R 00 00 01 00 T 84 06 00 00 21 0D 00 DD 4E FA DD 46 FB 09 4E R 00 00 01 00 T 8F 06 00 00 23 46 11 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 1D 00 +R 00 00 01 00 2B 0A 1F 00 T 97 06 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 1D 00 02 09 01 00 +R 00 00 01 00 02 04 1F 00 02 09 02 00 T 9C 06 00 00 R 00 00 01 00 T 9C 06 00 00 21 07 00 DD 4E FE DD 46 FF 09 7E @@ -661,9 +661,9 @@ R 00 00 01 00 T AA 06 00 00 21 0D 00 DD 4E FA DD 46 FB 09 5E R 00 00 01 00 T B5 06 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 09 00 +R 00 00 01 00 2B 07 07 00 T BA 06 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 09 00 02 09 01 00 +R 00 00 01 00 02 04 07 00 02 09 02 00 T BF 06 00 00 R 00 00 01 00 T BF 06 00 00 C3 F8 05 00 00 @@ -677,7 +677,7 @@ R 00 00 01 00 02 08 12 00 T D3 06 00 00 R 00 00 01 00 T D3 06 00 00 CD 00 00 00 00 01 02 80 EB 3E 80 -R 00 00 01 00 02 05 1F 00 +R 00 00 01 00 02 05 20 00 T DC 06 00 00 AC 67 ED 42 30 2D R 00 00 01 00 T E2 06 00 00 @@ -687,19 +687,19 @@ R 00 00 01 00 00 05 03 00 T E9 06 00 00 R 00 00 01 00 T E9 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 2B 00 02 0B 2B 00 T EF 06 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2E 00 02 0B 2E 00 +R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 T F5 06 00 00 CD 00 00 00 00 F1 F1 18 11 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T FC 06 00 00 R 00 00 01 00 T FC 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 24 00 02 0B 24 00 +R 00 00 01 00 2B 05 27 00 02 0B 27 00 T 02 07 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2E 00 02 0B 2E 00 +R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 T 08 07 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 0D 07 00 00 R 00 00 01 00 T 0D 07 00 00 18 37 @@ -743,7 +743,7 @@ R 00 00 01 00 02 05 12 00 T 4C 07 00 00 R 00 00 01 00 T 4C 07 00 00 CD 00 00 00 00 01 02 80 EB 3E 80 -R 00 00 01 00 02 05 1F 00 +R 00 00 01 00 02 05 20 00 T 55 07 00 00 AC 67 ED 42 30 2D R 00 00 01 00 T 5B 07 00 00 @@ -753,19 +753,19 @@ R 00 00 01 00 00 05 03 00 T 62 07 00 00 R 00 00 01 00 T 62 07 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 2F 00 02 0B 2F 00 +R 00 00 01 00 2B 05 17 00 02 0B 17 00 T 68 07 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2E 00 02 0B 2E 00 +R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 T 6E 07 00 00 CD 00 00 00 00 F1 F1 18 11 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 75 07 00 00 R 00 00 01 00 T 75 07 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 17 00 02 0B 17 00 +R 00 00 01 00 2B 05 14 00 02 0B 14 00 T 7B 07 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2E 00 02 0B 2E 00 +R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 T 81 07 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 86 07 00 00 R 00 00 01 00 T 86 07 00 00 18 53 @@ -795,11 +795,11 @@ R 00 00 01 00 T BA 07 00 00 DD 6E 04 DD 66 05 4E 23 46 C5 0E R 00 00 01 00 T C5 07 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 22 00 02 0A 22 00 +R 00 00 01 00 2B 04 33 00 02 0A 33 00 T CB 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2E 00 02 0A 2E 00 +R 00 00 01 00 2B 05 2A 00 02 0A 2A 00 T D1 07 00 00 00 00 00 00 F1 F1 F1 21 FF FF 18 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T DA 07 00 00 03 R 00 00 01 00 T DB 07 00 00 @@ -817,19 +817,19 @@ R 00 00 01 00 02 05 12 00 T E1 07 00 00 R 00 00 01 00 T E1 07 00 00 CD 00 00 00 00 FE FF 2A -R 00 00 01 00 02 05 28 00 +R 00 00 01 00 02 05 25 00 T E7 07 00 00 04 00 00 00 7D B4 28 5B R 00 00 01 00 00 04 03 00 T ED 07 00 00 R 00 00 01 00 T ED 07 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 21 00 02 0B 21 00 +R 00 00 01 00 2B 05 1A 00 02 0B 1A 00 T F3 07 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2E 00 02 0B 2E 00 +R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 T F9 07 00 00 CD 00 00 00 00 F1 F1 DD 4E 04 DD -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 02 08 00 00 46 05 21 06 00 CD 00 00 00 00 38 -R 00 00 01 00 02 0A 2D 00 +R 00 00 01 00 02 0A 28 00 T 0B 08 00 00 23 R 00 00 01 00 T 0C 08 00 00 @@ -839,21 +839,21 @@ R 00 00 01 00 T 14 08 00 00 06 00 00 00 09 4E 23 46 C5 0E R 00 00 01 00 00 04 03 00 T 1C 08 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 07 00 02 0A 07 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T 22 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2E 00 02 0A 2E 00 +R 00 00 01 00 2B 05 2A 00 02 0A 2A 00 T 28 08 00 00 00 00 00 00 F1 F1 F1 18 19 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 2F 08 00 00 R 00 00 01 00 T 2F 08 00 00 DD 6E 04 DD 66 05 E5 0E R 00 00 01 00 T 37 08 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 31 00 02 0A 31 00 +R 00 00 01 00 2B 04 2E 00 02 0A 2E 00 T 3D 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2E 00 02 0A 2E 00 +R 00 00 01 00 2B 05 2A 00 02 0A 2A 00 T 43 08 00 00 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 48 08 00 00 R 00 00 01 00 T 48 08 00 00 @@ -909,7 +909,7 @@ R 00 00 01 00 T E0 08 00 00 0D 00 19 5E 23 56 3E 00 00 00 00 R 00 00 01 00 2B 0B 0D 00 T E8 08 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0D 00 02 0A 01 00 +R 00 00 01 00 02 05 0D 00 02 0A 02 00 T EF 08 00 00 00 00 E5 21 03 00 E5 01 00 00 21 R 00 00 01 00 T FA 08 00 00 0C 00 DD 5E 02 DD 56 03 19 56 23 @@ -919,21 +919,21 @@ R 00 00 01 00 T 0F 09 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 3E 00 02 09 3E 00 T 14 09 00 00 00 00 00 00 F1 F1 01 00 00 21 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 1C 09 00 00 40 00 ED 5B 00 00 00 00 19 5E 23 -R 00 00 01 00 02 08 18 00 +R 00 00 01 00 02 08 1B 00 T 25 09 00 00 56 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 T 2B 09 00 00 CD 00 00 00 00 21 00 00 E5 21 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 33 09 00 00 03 00 E5 01 00 00 21 40 00 ED 5B R 00 00 01 00 T 3E 09 00 00 00 00 00 00 19 5E 23 56 3E -R 00 00 01 00 02 04 18 00 +R 00 00 01 00 02 04 1B 00 T 45 09 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 3E 00 02 09 3E 00 T 4A 09 00 00 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 4E 09 00 00 R 00 00 01 00 T 4E 09 00 00 DD 6E 04 DD 66 05 DD 4E 02 DD 46 @@ -955,7 +955,7 @@ R 00 00 01 00 T 87 09 00 00 7F 0C 00 00 21 7F 0C 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T 8C 09 00 00 00 00 00 00 E1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 8F 09 00 00 R 00 00 01 00 T 8F 09 00 00 C3 00 00 00 00 @@ -963,19 +963,19 @@ R 00 00 01 00 02 05 12 00 T 92 09 00 00 R 00 00 01 00 T 92 09 00 00 CD 00 00 00 00 2A 04 00 00 00 7D -R 00 00 01 00 02 05 1F 00 00 0A 03 00 +R 00 00 01 00 02 05 20 00 00 0A 03 00 T 99 09 00 00 B4 28 5B R 00 00 01 00 T 9C 09 00 00 R 00 00 01 00 T 9C 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 3B 00 02 0B 3B 00 +R 00 00 01 00 2B 05 31 00 02 0B 31 00 T A2 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2E 00 02 0B 2E 00 +R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 T A8 09 00 00 CD 00 00 00 00 F1 F1 DD 4E 04 DD -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T B1 09 00 00 46 05 21 06 00 CD 00 00 00 00 38 -R 00 00 01 00 02 0A 2D 00 +R 00 00 01 00 02 0A 28 00 T BA 09 00 00 23 R 00 00 01 00 T BB 09 00 00 @@ -985,21 +985,21 @@ R 00 00 01 00 T C3 09 00 00 06 00 00 00 09 4E 23 46 C5 0E R 00 00 01 00 00 04 03 00 T CB 09 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 07 00 02 0A 07 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T D1 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2E 00 02 0A 2E 00 +R 00 00 01 00 2B 05 2A 00 02 0A 2A 00 T D7 09 00 00 00 00 00 00 F1 F1 F1 18 19 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T DE 09 00 00 R 00 00 01 00 T DE 09 00 00 DD 6E 04 DD 66 05 E5 0E R 00 00 01 00 T E6 09 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 31 00 02 0A 31 00 +R 00 00 01 00 2B 04 2E 00 02 0A 2E 00 T EC 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2E 00 02 0A 2E 00 +R 00 00 01 00 2B 05 2A 00 02 0A 2A 00 T F2 09 00 00 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T F7 09 00 00 R 00 00 01 00 T F7 09 00 00 @@ -1007,7 +1007,7 @@ R 00 00 01 00 T F7 09 00 00 DD 4E 04 DD 46 05 21 06 00 CD R 00 00 01 00 T 01 0A 00 00 00 00 00 00 DA EC 0A 00 00 -R 00 00 01 00 02 04 2D 00 00 09 01 00 +R 00 00 01 00 02 04 28 00 00 09 01 00 T 06 0A 00 00 R 00 00 01 00 T 06 0A 00 00 DD 6E 04 DD 66 05 DD 4E 02 DD 46 @@ -1043,7 +1043,7 @@ R 00 00 01 00 T 7E 0A 00 00 0D 00 19 5E 23 56 3E 00 00 00 00 R 00 00 01 00 2B 0B 0D 00 T 86 0A 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0D 00 02 0A 01 00 +R 00 00 01 00 02 05 0D 00 02 0A 02 00 T 8D 0A 00 00 80 00 E5 21 02 00 E5 01 00 00 21 R 00 00 01 00 T 98 0A 00 00 0C 00 DD 5E 02 DD 56 03 19 56 23 @@ -1053,21 +1053,21 @@ R 00 00 01 00 T AD 0A 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 3E 00 02 09 3E 00 T B2 0A 00 00 00 00 00 00 F1 F1 01 01 00 21 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T BA 0A 00 00 40 00 ED 5B 00 00 00 00 19 5E 23 -R 00 00 01 00 02 08 18 00 +R 00 00 01 00 02 08 1B 00 T C3 0A 00 00 56 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 T C9 0A 00 00 CD 00 00 00 00 21 80 00 E5 21 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T D1 0A 00 00 02 00 E5 01 00 00 21 40 00 ED 5B R 00 00 01 00 T DC 0A 00 00 00 00 00 00 19 5E 23 56 3E -R 00 00 01 00 02 04 18 00 +R 00 00 01 00 02 04 1B 00 T E3 0A 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 3E 00 02 09 3E 00 T E8 0A 00 00 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T EC 0A 00 00 R 00 00 01 00 T EC 0A 00 00 @@ -1077,7 +1077,7 @@ R 00 00 01 00 T F7 0A 00 00 5E 02 DD 56 03 3E 7F 0C 00 00 21 R 00 00 01 00 29 0A 01 00 T FF 0A 00 00 7F 0C 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 00 04 01 00 02 09 01 00 +R 00 00 01 00 00 04 01 00 02 09 02 00 T 05 0B 00 00 R 00 00 01 00 T 05 0B 00 00 C3 00 00 00 00 @@ -1085,19 +1085,19 @@ R 00 00 01 00 02 05 12 00 T 08 0B 00 00 R 00 00 01 00 T 08 0B 00 00 CD 00 00 00 00 FE FF 2A -R 00 00 01 00 02 05 28 00 +R 00 00 01 00 02 05 25 00 T 0E 0B 00 00 04 00 00 00 7D B4 28 5B R 00 00 01 00 00 04 03 00 T 14 0B 00 00 R 00 00 01 00 T 14 0B 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 08 00 02 0B 08 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 T 1A 0B 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2E 00 02 0B 2E 00 +R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 T 20 0B 00 00 CD 00 00 00 00 F1 F1 DD 4E 04 DD -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 29 0B 00 00 46 05 21 06 00 CD 00 00 00 00 38 -R 00 00 01 00 02 0A 2D 00 +R 00 00 01 00 02 0A 28 00 T 32 0B 00 00 23 R 00 00 01 00 T 33 0B 00 00 @@ -1107,21 +1107,21 @@ R 00 00 01 00 T 3B 0B 00 00 06 00 00 00 09 4E 23 46 C5 0E R 00 00 01 00 00 04 03 00 T 43 0B 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 07 00 02 0A 07 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T 49 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2E 00 02 0A 2E 00 +R 00 00 01 00 2B 05 2A 00 02 0A 2A 00 T 4F 0B 00 00 00 00 00 00 F1 F1 F1 18 19 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 56 0B 00 00 R 00 00 01 00 T 56 0B 00 00 DD 6E 04 DD 66 05 E5 0E R 00 00 01 00 T 5E 0B 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 31 00 02 0A 31 00 +R 00 00 01 00 2B 04 2E 00 02 0A 2E 00 T 64 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2E 00 02 0A 2E 00 +R 00 00 01 00 2B 05 2A 00 02 0A 2A 00 T 6A 0B 00 00 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 6F 0B 00 00 R 00 00 01 00 T 6F 0B 00 00 @@ -1161,7 +1161,7 @@ R 00 00 01 00 T C3 0B 00 00 7F 0C 00 00 21 7F 0C 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T C8 0B 00 00 00 00 00 00 E1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T CB 0B 00 00 R 00 00 01 00 T CB 0B 00 00 C3 00 00 00 00 @@ -1169,19 +1169,19 @@ R 00 00 01 00 02 05 12 00 T CE 0B 00 00 R 00 00 01 00 T CE 0B 00 00 CD 00 00 00 00 2A 04 00 00 00 7D -R 00 00 01 00 02 05 1F 00 00 0A 03 00 +R 00 00 01 00 02 05 20 00 00 0A 03 00 T D5 0B 00 00 B4 28 5B R 00 00 01 00 T D8 0B 00 00 R 00 00 01 00 T D8 0B 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 37 00 02 0B 37 00 +R 00 00 01 00 2B 05 2C 00 02 0B 2C 00 T DE 0B 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2E 00 02 0B 2E 00 +R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 T E4 0B 00 00 CD 00 00 00 00 F1 F1 DD 4E 04 DD -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T ED 0B 00 00 46 05 21 06 00 CD 00 00 00 00 38 -R 00 00 01 00 02 0A 2D 00 +R 00 00 01 00 02 0A 28 00 T F6 0B 00 00 23 R 00 00 01 00 T F7 0B 00 00 @@ -1191,21 +1191,21 @@ R 00 00 01 00 T FF 0B 00 00 06 00 00 00 09 4E 23 46 C5 0E R 00 00 01 00 00 04 03 00 T 07 0C 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 07 00 02 0A 07 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T 0D 0C 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2E 00 02 0A 2E 00 +R 00 00 01 00 2B 05 2A 00 02 0A 2A 00 T 13 0C 00 00 00 00 00 00 F1 F1 F1 18 19 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 1A 0C 00 00 R 00 00 01 00 T 1A 0C 00 00 DD 6E 04 DD 66 05 E5 0E R 00 00 01 00 T 22 0C 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 31 00 02 0A 31 00 +R 00 00 01 00 2B 04 2E 00 02 0A 2E 00 T 28 0C 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2E 00 02 0A 2E 00 +R 00 00 01 00 2B 05 2A 00 02 0A 2A 00 T 2E 0C 00 00 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 33 0C 00 00 R 00 00 01 00 T 33 0C 00 00 @@ -1213,7 +1213,7 @@ R 00 00 01 00 T 33 0C 00 00 DD 4E 04 DD 46 05 21 06 00 CD R 00 00 01 00 T 3D 0C 00 00 00 00 00 00 38 22 -R 00 00 01 00 02 04 2D 00 +R 00 00 01 00 02 04 28 00 T 41 0C 00 00 R 00 00 01 00 T 41 0C 00 00 DD 6E 04 DD 66 05 DD 4E 02 DD 46 @@ -1237,7 +1237,7 @@ R 00 00 01 00 T 6E 0C 00 00 5E 02 DD 56 03 3E 7F 0C 00 00 21 R 00 00 01 00 29 0A 01 00 T 76 0C 00 00 7F 0C 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 00 04 01 00 02 09 01 00 +R 00 00 01 00 00 04 01 00 02 09 02 00 T 7C 0C 00 00 R 00 00 01 00 T 7C 0C 00 00 C3 00 00 00 00 @@ -1245,13 +1245,13 @@ R 00 00 01 00 02 05 12 00 T 7F 0C 00 00 R 00 00 01 00 T 7F 0C 00 00 CD 00 00 00 00 2A 04 00 00 00 7D -R 00 00 01 00 02 05 1F 00 00 0A 03 00 +R 00 00 01 00 02 05 20 00 00 0A 03 00 T 86 0C 00 00 B4 CA 37 0D 00 00 R 00 00 01 00 00 06 01 00 T 8A 0C 00 00 R 00 00 01 00 T 8A 0C 00 00 DD 5E 04 DD 56 05 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 +R 00 00 01 00 02 0B 06 00 T 93 0C 00 00 FB 00 04 00 ED 0C 00 00 R 00 00 01 00 00 08 01 00 T 99 0C 00 00 A1 0C 00 00 B4 0C 00 00 @@ -1261,41 +1261,41 @@ R 00 00 01 00 00 04 01 00 00 08 01 00 T A1 0C 00 00 R 00 00 01 00 T A1 0C 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 05 21 00 02 0B 21 00 T A7 0C 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2E 00 02 0B 2E 00 +R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 T AD 0C 00 00 CD 00 00 00 00 F1 F1 18 39 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T B4 0C 00 00 R 00 00 01 00 T B4 0C 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 29 00 02 0B 29 00 +R 00 00 01 00 2B 05 3D 00 02 0B 3D 00 T BA 0C 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2E 00 02 0B 2E 00 +R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 T C0 0C 00 00 CD 00 00 00 00 F1 F1 18 26 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T C7 0C 00 00 R 00 00 01 00 T C7 0C 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 06 00 02 0B 06 00 +R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 T CD 0C 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2E 00 02 0B 2E 00 +R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 T D3 0C 00 00 CD 00 00 00 00 F1 F1 18 13 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T DA 0C 00 00 R 00 00 01 00 T DA 0C 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 34 00 02 0B 34 00 +R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 T E0 0C 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2E 00 02 0B 2E 00 +R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 T E6 0C 00 00 CD 00 00 00 00 F1 F1 18 00 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T ED 0C 00 00 R 00 00 01 00 T ED 0C 00 00 DD 4E 0A DD 46 0B 21 06 00 CD R 00 00 01 00 T F7 0C 00 00 00 00 00 00 38 23 -R 00 00 01 00 02 04 2D 00 +R 00 00 01 00 02 04 28 00 T FB 0C 00 00 R 00 00 01 00 T FB 0C 00 00 DD 6E 0A DD 66 0B 29 01 @@ -1303,21 +1303,21 @@ R 00 00 01 00 T 03 0D 00 00 06 00 00 00 09 4E 23 46 C5 0E R 00 00 01 00 00 04 03 00 T 0B 0D 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 07 00 02 0A 07 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T 11 0D 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2E 00 02 0A 2E 00 +R 00 00 01 00 2B 05 2A 00 02 0A 2A 00 T 17 0D 00 00 00 00 00 00 F1 F1 F1 18 19 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 1E 0D 00 00 R 00 00 01 00 T 1E 0D 00 00 DD 6E 0A DD 66 0B E5 0E R 00 00 01 00 T 26 0D 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 31 00 02 0A 31 00 +R 00 00 01 00 2B 04 2E 00 02 0A 2E 00 T 2C 0D 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2E 00 02 0A 2E 00 +R 00 00 01 00 2B 05 2A 00 02 0A 2A 00 T 32 0D 00 00 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 37 0D 00 00 R 00 00 01 00 T 37 0D 00 00 @@ -1327,27 +1327,27 @@ R 00 00 01 00 T 42 0D 00 00 66 05 E5 21 FF 00 E5 0E R 00 00 01 00 T 4A 0D 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 26 00 02 0A 26 00 +R 00 00 01 00 2B 04 38 00 02 0A 38 00 T 50 0D 00 00 21 0C 00 DD 4E 02 DD 46 03 09 56 R 00 00 01 00 T 5B 0D 00 00 23 66 6A 11 0D 00 19 5E 23 56 D5 R 00 00 01 00 T 66 0D 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 14 00 02 0A 14 00 +R 00 00 01 00 2B 05 16 00 02 0A 16 00 T 6C 0D 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 75 0D 00 00 21 0C 00 09 46 23 66 68 01 0D 00 R 00 00 01 00 T 80 0D 00 00 09 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 09 00 +R 00 00 01 00 2B 09 07 00 T 87 0D 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 09 00 02 09 01 00 +R 00 00 01 00 02 04 07 00 02 09 02 00 T 8D 0D 00 00 00 00 00 00 R 00 00 01 00 02 04 12 00 T 8F 0D 00 00 R 00 00 01 00 T 8F 0D 00 00 CD 00 00 00 00 3E 03 AB B2 28 05 -R 00 00 01 00 02 05 1F 00 +R 00 00 01 00 02 05 20 00 T 98 0D 00 00 R 00 00 01 00 T 98 0D 00 00 21 01 00 18 37 @@ -1355,21 +1355,21 @@ R 00 00 01 00 T 9D 0D 00 00 R 00 00 01 00 T 9D 0D 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 30 00 02 0B 30 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 T A3 0D 00 00 E5 21 1B 00 ED 4B 00 00 00 00 09 -R 00 00 01 00 02 0A 20 00 +R 00 00 01 00 02 0A 22 00 T AC 0D 00 00 5E 23 56 D5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 14 00 +R 00 00 01 00 2B 09 16 00 T B3 0D 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 14 00 02 09 01 00 +R 00 00 01 00 02 04 16 00 02 09 02 00 T BA 0D 00 00 F1 01 6B 00 21 07 00 ED 5B R 00 00 01 00 T C3 0D 00 00 00 00 00 00 19 5E 23 56 3E -R 00 00 01 00 02 04 20 00 +R 00 00 01 00 02 04 22 00 T CA 0D 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 13 00 02 09 13 00 +R 00 00 01 00 2B 04 15 00 02 09 15 00 T CF 0D 00 00 00 00 00 00 21 00 00 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T D4 0D 00 00 R 00 00 01 00 T D4 0D 00 00 C3 00 00 00 00 diff --git a/src/nos/lib/crt0_banked.lst b/src/nos/lib/crt0_banked.lst deleted file mode 100644 index edd7b904..00000000 --- a/src/nos/lib/crt0_banked.lst +++ /dev/null @@ -1,332 +0,0 @@ - 1 ; crt0b.asm by Nick for UZI180 banked memory model - 2 - 3 ; ----------------------------------------------------------------------------- - 4 - 00000000 5 .if 0 - 6 $ io64180.s01 - 7 .endif - 8 - 9 module _c0b - 10 - 11 public init - 12 extern _main - 13 extern _exit - 14 - 15 extern l__DEFAULT ; e_hsize - 16 extern s_RCODE ; e_idata - 17 extern s_UDATA0 ; e_udata - 18 extern s_CSTACK ; e_stack - 19 extern e_CSTACK ; e_break - 20 - 00000001 21 .if 1 - 22 extern ?BANK_CALL_DIRECT_L08 - 23 .endif - 24 - 0000A6C9 25 E_MAGIC equ 0a6c9h - 00000002 26 E_FORMAT_BANKED equ 2 - 00001000 27 E_STACK_SIZE equ 1000h - 28 - 29 ; ----------------------------------------------------------------------------- - 30 ; forward definitions of segments, to set the linkage order (c0l must be first) - 31 - 32 rseg RCODE - 33 ; rseg TEMP - 34 ; rseg DATA0 - 35 ; rseg WCSTR - 36 rseg CONST - 37 rseg CSTR - 38 rseg IDATA0(NUL) - 39 rseg CDATA0 - 40 rseg ECSTR(NUL) - 41 rseg CCSTR - 42 rseg CODE(NUL) ; needs to be at end for banked model - 43 rseg UDATA0 - 44 rseg CSTACK - 45 - 46 ; ----------------------------------------------------------------------------- - 47 - 00000001 48 .if 1 - 49 rseg _DEFAULT ; means header is discarded at loading - 50 .else - 51 rseg RCODE ; means header is visible to loaded pgm - 52 .endif - 53 - 00000001 54 .if 1 - 00000000 C9 A6 55 defw E_MAGIC ; e_magic - 00000002 02 00 56 defw E_FORMAT_BANKED ; e_format - 00000004 78 56 34 12 57 defd 12345678h ; e_size - 00000008 00 00 58 defw l__DEFAULT ; e_hsize - 0000000A 00 00 59 defw s_RCODE ; e_idata - 0000000C 00 00 60 defw init ; e_entry - 0000000E 00 00 61 defw s_UDATA0 ; e_udata - 00000010 00 00 62 defw s_CSTACK ; e_stack - 00000012 00 00 63 defw e_CSTACK ; e_break - 64 .else - 65 jp init - 66 .endif - 67 - 68 ; ----------------------------------------------------------------------------- - 69 - 70 rseg RCODE - 71 - 00000000 72 init:: - 00000000 73 .if 0 - 74 ld a,'A' - 75 call abyte - 76 .endif - 77 - 00000000 78 .if 0 - 79 ld de,.sfb.CSTACK ; 1st argument to _brk() - 80 - 00000000 81 .if 0 - 82 ld hl,LWRD _brk - 83 ld a,BYTE3 _brk - 84 call ?BANK_CALL_DIRECT_L08 - 85 .else - 86 call _brk - 87 .endif - 88 - 89 call seg_init - 90 .endif - 91 - 92 ; now there are the next stack structure: - 93 ; +4 envp - 94 ; +2 argv - 95 ; sp-> +0 argc - 00000001 96 .if 1 - 00000000 D1 97 pop de - 00000001 ED 53 00 00 98 ld (__argc),de ; 2nd argument to _main - 00000005 C1 99 pop bc - 00000006 ED 43 02 00 100 ld (__argv),bc ; 1st argument to _main - 0000000A E1 101 pop hl - 0000000B 22 04 00 102 ld (_environ),hl - 103 .else - 104 ld ix,0 - 105 add ix,sp - 106 ld l,(ix+4) - 107 ld h,(ix+5) - 108 ld (_environ),hl - 109 ld c,(ix+2) - 110 ld b,(ix+3) - 111 ld (__argv),bc ; 1st argument to _main - 112 ld e,(ix+0) - 113 ld d,(ix+1) - 114 ld (__argc),de ; 2nd argument to _main - 115 .endif - 116 - 00000001 117 .if 1 - 0000000E 21 00 00 118 ld HL,LWRD _main ; banked call to main() - 00000011 3E 00 119 ld A,BYTE3 _main - 00000013 CD 00 00 120 call ?BANK_CALL_DIRECT_L08 - 121 .else - 122 call _main ; non-banked call to main() - 123 .endif - 124 - 00000016 EB 125 ex de,hl ; de = exitcode (1st argument to exit) - 126 - 00000001 127 .if 1 - 00000017 21 00 00 128 ld HL,LWRD _exit ; banked call to exit() - 0000001A 3E 00 129 ld A,BYTE3 _exit - 0000001C C3 00 00 130 jp ?BANK_CALL_DIRECT_L08 - 131 .else - 132 jp _exit ; non-banked call to exit() - 133 .endif - 134 - 135 ; ----------------------------------------------------------------------------- - 136 - 00000000 137 .if 0 - 138 seg_init: - 139 ld HL,.sfe.UDATA0 - 140 ld DE,.sfb.UDATA0 - 141 call zero_mem - 142 - 143 ld DE,.sfb.IDATA0 ; destination address - 144 ld HL,.sfe.CDATA0 ;+4000h ; really 8:0000 + .sfe.CDATA0 - 145 ld BC,.sfb.CDATA0 ;+4000h ; really 8:0000 + .sfb.CDATA0 - 146 call copy_mem - 147 - 148 ld DE,.sfb.ECSTR ; destination address - 149 ld HL,.sfe.CCSTR ;+4000h ; really 8:0000 + .sfe.CCSTR - 150 ld BC,.sfb.CCSTR ;+4000h ; really 8:0000 + .sfb.CCSTR - 151 - 152 ; Just fall in to the copy_mem function - 153 - 154 copy_mem: - 155 XOR A - 156 SBC HL,BC - 157 PUSH BC - 158 LD C,L - 159 LD B,H ; BC - that many bytes - 160 POP HL ; source address - 161 RET Z ; If block size = 0 return now - 162 LDIR - 163 RET - 164 - 165 zero_mem: - 166 XOR A - 167 again: PUSH HL - 168 SBC HL,DE - 169 POP HL - 170 RET Z - 171 LD (DE),A - 172 INC DE - 173 JR again - 174 .endif - 175 - 176 ; ----------------------------------------------------------------------------- - 177 - 00000000 178 .if 0 - 179 public _abyte - 180 - 181 _abyte:: - 00000000 182 .if 0 ; SDCC - 183 ld hl,2 - 184 add hl,sp - 185 ld a,(hl) - 186 .else ; IAR - 187 ld a,e - 188 .endif - 189 - 190 public abyte - 191 - 192 abyte:: - 00000000 193 .if 0 - 194 ret - 195 .else - 196 push af - 197 .endif - 198 - 199 L1$: in0 a,(STAT1) - 200 and 10b - 201 jr z,L1$ - 202 - 203 pop af - 204 out0 (TDR1),a - 205 - 00000000 206 .if 0 - 207 di - 208 .endif - 00000000 209 .if 0 - 210 ei - 211 .endif - 212 ret - 213 - 214 public _acrlf - 215 - 216 _acrlf:: - 217 - 218 public acrlf - 219 - 220 acrlf:: - 221 ld a,0dh - 222 call abyte - 223 ld a,0ah - 224 jr abyte - 225 - 226 public _ahexw - 227 - 228 _ahexw:: - 00000000 229 .if 0 ; SDCC - 230 ld hl,2 - 231 add hl,sp - 232 ld e,(hl) - 233 inc hl - 234 ld d,(hl) - 235 .endif - 236 ex de,hl - 237 - 238 public ahexw - 239 - 240 ahexw:: - 241 ld a,h - 242 call ahexb - 243 ld a,l - 244 - 245 public ahexb - 246 - 247 ahexb:: - 248 push af - 249 rrca - 250 rrca - 251 rrca - 252 rrca - 253 call ahexn - 254 pop af - 255 - 256 public ahexn - 257 - 258 ahexn:: - 259 and 0fh - 260 add a,90h - 261 daa - 262 adc a,40h - 263 daa - 264 jr abyte - 265 - 266 public amess - 267 - 268 amess:: - 269 ex (sp),hl - 270 push af - 271 - 272 L01$: ld a,(hl) - 273 inc hl - 274 or a - 275 jr z,L02$ - 276 - 277 call abyte - 278 jr L01$ - 279 - 280 L02$: pop af - 281 ex (sp),hl - 282 ret - 283 .endif - 284 - 285 ; ----------------------------------------------------------------------------- - 286 - 287 public __argc, __argv, _environ, _errno, ___cleanup - 288 - 289 rseg UDATA0 - 00000000 290 __argc: defs 2 - 00000002 291 __argv: defs 2 - 00000004 292 _environ: defs 2 - 00000006 293 _errno: defs 2 - 00000008 294 ___cleanup: defs 3 ; oopsy 2 - 295 - 296 rseg CSTACK - 00000000 297 defs E_STACK_SIZE - 298 - 299 ; ----------------------------------------------------------------------------- - 300 - 00001000 301 END - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. -Hexadecimal [32-Bits] - -Symbol Table - - .__.ABS. = 00000000 G | ?BANK_CALL_DIR ******** GX - E_FORMAT_BANKE = 00000002 | E_MAGIC = 0000A6C9 - E_STACK_SIZE = 00001000 | 9 ___cleanup 00000008 GR - 9 __argc 00000000 GR | 9 __argv 00000002 GR - 9 _environ 00000004 GR | 9 _errno 00000006 GR - _exit ******** GX | _main ******** GX - e_CSTACK ******** GX | 1 init 00000000 GR - l__DEFAULT ******** GX | s_CSTACK ******** GX - s_RCODE ******** GX | s_UDATA0 ******** GX - - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. -Hexadecimal [32-Bits] - -Area Table - - 0 _DEFAULT size 14 flags 0 - 1 RCODE size 1F flags 0 - 2 CONST size 0 flags 0 - 3 CSTR size 0 flags 0 - 4 IDATA0 size 0 flags 1 - 5 CDATA0 size 0 flags 0 - 6 ECSTR size 0 flags 1 - 7 CCSTR size 0 flags 0 - 8 CODE size 0 flags 1 - 9 UDATA0 size B flags 0 - A CSTACK size 1000 flags 0 diff --git a/src/nos/lib/crt0_banked.rel b/src/nos/lib/crt0_banked.rel deleted file mode 100644 index 39d75320..00000000 --- a/src/nos/lib/crt0_banked.rel +++ /dev/null @@ -1,61 +0,0 @@ -XL4 -H B areas F global symbols -M _c0b -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S _main Ref00000000 -S s_CSTACK Ref00000000 -S _exit Ref00000000 -S .__.ABS. Def00000000 -S l__DEFAULT Ref00000000 -S s_UDATA0 Ref00000000 -S e_CSTACK Ref00000000 -S s_RCODE Ref00000000 -A _DEFAULT size 14 flags 0 -A RCODE size 1F flags 0 -S init Def00000000 -A CONST size 0 flags 0 -A CSTR size 0 flags 0 -A IDATA0 size 0 flags 1 -A CDATA0 size 0 flags 0 -A ECSTR size 0 flags 1 -A CCSTR size 0 flags 0 -A CODE size 0 flags 1 -A UDATA0 size B flags 0 -S ___cleanup Def00000008 -S _errno Def00000006 -S __argc Def00000000 -S _environ Def00000004 -S __argv Def00000002 -A CSTACK size 1000 flags 0 -T 00 00 00 00 C9 A6 02 00 78 56 34 12 -R 00 00 00 00 -T 08 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 00 00 02 04 05 00 02 08 08 00 -T 0C 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 00 00 00 04 01 00 02 08 06 00 -T 10 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 00 00 02 04 02 00 02 08 07 00 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D1 ED 53 00 00 00 00 C1 ED 43 -R 00 00 01 00 00 07 09 00 -T 08 00 00 00 02 00 00 00 E1 22 04 00 00 00 21 -R 00 00 01 00 00 04 09 00 00 0A 09 00 -T 0F 00 00 00 00 00 00 00 3E 00 00 00 00 CD -R 00 00 01 00 02 04 01 00 2B 09 01 00 -T 14 00 00 00 00 00 00 00 EB 21 00 00 00 00 3E -R 00 00 01 00 02 04 00 00 02 0A 03 00 -T 1B 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 2B 04 03 00 02 09 00 00 -T 00 00 00 00 -R 00 00 09 00 -T 02 00 00 00 -R 00 00 09 00 -T 04 00 00 00 -R 00 00 09 00 -T 06 00 00 00 -R 00 00 09 00 -T 08 00 00 00 -R 00 00 09 00 -T 00 00 00 00 -R 00 00 0A 00 diff --git a/src/nos/lib/crt0_large.lst b/src/nos/lib/crt0_large.lst deleted file mode 100644 index a921d23f..00000000 --- a/src/nos/lib/crt0_large.lst +++ /dev/null @@ -1,335 +0,0 @@ - 1 ; crt0l.asm by Nick for UZI180 large memory model - 2 - 3 ; ----------------------------------------------------------------------------- - 4 - 00000000 5 .if 0 - 6 $ io64180.s01 - 7 .endif - 8 - 9 module _c0l - 10 - 11 public __init ; vendor _init - 00000000 12 .if 0 - 13 extern brk ; vendor _brk - 14 .endif - 15 extern main ; vendor _main - 16 extern exit ; vendor _exit - 17 - 18 extern l__DEFAULT ; e_hsize - 19 extern s_RCODE ; e_idata - 20 extern s_UDATA0 ; e_udata - 21 extern s_CSTACK ; e_stack - 22 extern e_CSTACK ; e_break - 23 - 00000000 24 .if 0 - 25 extern ?BANK_CALL_DIRECT_L08 - 26 .endif - 27 - 0000A6C9 28 E_MAGIC equ 0a6c9h - 00000001 29 E_FORMAT_LARGE equ 1 - 00001000 30 E_STACK_SIZE equ 1000h - 31 - 32 ; ----------------------------------------------------------------------------- - 33 ; forward definitions of segments, to set the linkage order (c0l must be first) - 34 - 35 rseg RCODE - 36 rseg CODE ; needs to be at start for large model - 37 ; rseg TEMP - 38 ; rseg DATA0 - 39 ; rseg WCSTR - 40 rseg CONST - 41 rseg CSTR - 42 rseg IDATA0(NUL) - 43 rseg CDATA0 - 44 rseg ECSTR(NUL) - 45 rseg CCSTR - 46 rseg UDATA0 - 47 rseg CSTACK - 48 - 49 ; ----------------------------------------------------------------------------- - 50 - 00000001 51 .if 1 - 52 rseg _DEFAULT ; means header is discarded at loading - 53 .else - 54 rseg RCODE ; means header is visible to loaded pgm - 55 .endif - 56 - 00000001 57 .if 1 - 00000000 C9 A6 58 defw E_MAGIC ; e_magic - 00000002 01 00 59 defw E_FORMAT_LARGE ; e_format - 00000004 78 56 34 12 60 defd 12345678h ; e_size - 00000008 00 00 61 defw l__DEFAULT ; e_hsize - 0000000A 00 00 62 defw s_RCODE ; e_idata - 0000000C 00 00 63 defw __init ; e_entry - 0000000E 00 00 64 defw s_UDATA0 ; e_udata - 00000010 00 00 65 defw s_CSTACK ; e_stack - 00000012 00 00 66 defw e_CSTACK ; e_break - 67 .else - 68 jp __init - 69 .endif - 70 - 71 ; ----------------------------------------------------------------------------- - 72 - 73 rseg RCODE - 74 - 00000000 75 __init:: - 00000000 76 .if 0 - 77 ld a,'A' - 78 call abyte - 79 .endif - 80 - 00000000 81 .if 0 - 82 ld de,.sfb.CSTACK ; 1st argument to brk() - 83 - 00000000 84 .if 0 - 85 ld hl,LWRD brk - 86 ld a,BYTE3 brk - 87 call ?BANK_CALL_DIRECT_L08 - 88 .else - 89 call brk - 90 .endif - 91 - 92 call seg_init - 93 .endif - 94 - 95 ; now there are the next stack structure: - 96 ; +4 envp - 97 ; +2 argv - 98 ; sp-> +0 argc - 00000001 99 .if 1 - 00000000 D1 100 pop de - 00000001 ED 53 00 00 101 ld (_argc),de ; vendor __argc (2nd argument to main) - 00000005 C1 102 pop bc - 00000006 ED 43 02 00 103 ld (_argv),bc ; vendor __argv (1st argument to main) - 0000000A E1 104 pop hl - 0000000B 22 04 00 105 ld (environ),hl ; vendor _environ - 106 .else - 107 ld ix,0 - 108 add ix,sp - 109 ld l,(ix+4) - 110 ld h,(ix+5) - 111 ld (environ),hl ; vendor _environ - 112 ld c,(ix+2) - 113 ld b,(ix+3) - 114 ld (_argv),bc ; vendor __argv (1st argument to main) - 115 ld e,(ix+0) - 116 ld d,(ix+1) - 117 ld (_argc),de ; vendor __argc (2nd argument to main) - 118 .endif - 119 - 00000000 120 .if 0 - 121 ld HL,LWRD main ; banked call to _main() - 122 ld A,BYTE3 main - 123 call ?BANK_CALL_DIRECT_L08 - 124 .else - 0000000E CD 00 00 125 call main ; vendor _main ; non-banked call to _main() - 126 .endif - 127 - 00000011 EB 128 ex de,hl ; de = exitcode (1st argument to exit) - 129 - 00000000 130 .if 0 - 131 ld HL,LWRD exit ; banked call to _exit() - 132 ld A,BYTE3 exit - 133 jp ?BANK_CALL_DIRECT_L08 - 134 .else - 00000012 C3 00 00 135 jp exit ; vendor _exit ; non-banked call to _exit() - 136 .endif - 137 - 138 ; ----------------------------------------------------------------------------- - 139 - 00000000 140 .if 0 - 141 seg_init: - 142 ld HL,.sfe.UDATA0 - 143 ld DE,.sfb.UDATA0 - 144 call zero_mem - 145 - 146 ld DE,.sfb.IDATA0 ; destination address - 147 ld HL,.sfe.CDATA0 ;+4000h ; really 8:0000 + .sfe.CDATA0 - 148 ld BC,.sfb.CDATA0 ;+4000h ; really 8:0000 + .sfb.CDATA0 - 149 call copy_mem - 150 - 151 ld DE,.sfb.ECSTR ; destination address - 152 ld HL,.sfe.CCSTR ;+4000h ; really 8:0000 + .sfe.CCSTR - 153 ld BC,.sfb.CCSTR ;+4000h ; really 8:0000 + .sfb.CCSTR - 154 - 155 ; Just fall in to the copy_mem function - 156 - 157 copy_mem: - 158 XOR A - 159 SBC HL,BC - 160 PUSH BC - 161 LD C,L - 162 LD B,H ; BC - that many bytes - 163 POP HL ; source address - 164 RET Z ; If block size = 0 return now - 165 LDIR - 166 RET - 167 - 168 zero_mem: - 169 XOR A - 170 again: PUSH HL - 171 SBC HL,DE - 172 POP HL - 173 RET Z - 174 LD (DE),A - 175 INC DE - 176 JR again - 177 .endif - 178 - 179 ; ----------------------------------------------------------------------------- - 180 - 00000000 181 .if 0 - 182 public _abyte - 183 - 184 _abyte:: - 00000000 185 .if 0 ; SDCC - 186 ld hl,2 - 187 add hl,sp - 188 ld a,(hl) - 189 .else ; IAR - 190 ld a,e - 191 .endif - 192 - 193 public abyte - 194 - 195 abyte:: - 00000000 196 .if 0 - 197 ret - 198 .else - 199 push af - 200 .endif - 201 - 202 L1$: in0 a,(STAT1) - 203 and 10b - 204 jr z,L1$ - 205 - 206 pop af - 207 out0 (TDR1),a - 208 - 00000000 209 .if 0 - 210 di - 211 .endif - 00000000 212 .if 0 - 213 ei - 214 .endif - 215 ret - 216 - 217 public _acrlf - 218 - 219 _acrlf:: - 220 - 221 public acrlf - 222 - 223 acrlf:: - 224 ld a,0dh - 225 call abyte - 226 ld a,0ah - 227 jr abyte - 228 - 229 public _ahexw - 230 - 231 _ahexw:: - 00000000 232 .if 0 ; SDCC - 233 ld hl,2 - 234 add hl,sp - 235 ld e,(hl) - 236 inc hl - 237 ld d,(hl) - 238 .endif - 239 ex de,hl - 240 - 241 public ahexw - 242 - 243 ahexw:: - 244 ld a,h - 245 call ahexb - 246 ld a,l - 247 - 248 public ahexb - 249 - 250 ahexb:: - 251 push af - 252 rrca - 253 rrca - 254 rrca - 255 rrca - 256 call ahexn - 257 pop af - 258 - 259 public ahexn - 260 - 261 ahexn:: - 262 and 0fh - 263 add a,90h - 264 daa - 265 adc a,40h - 266 daa - 267 jr abyte - 268 - 269 public amess - 270 - 271 amess:: - 272 ex (sp),hl - 273 push af - 274 - 275 L01$: ld a,(hl) - 276 inc hl - 277 or a - 278 jr z,L02$ - 279 - 280 call abyte - 281 jr L01$ - 282 - 283 L02$: pop af - 284 ex (sp),hl - 285 ret - 286 .endif - 287 - 288 ; ----------------------------------------------------------------------------- - 289 - 290 public _argc, _argv, environ, errno, __cleanup - 291 ;public __argc, __argv, _environ, _errno, ___cleanup - 292 - 293 rseg UDATA0 - 00000000 294 _argc: defs 2 ; vendor __argc - 00000002 295 _argv: defs 2 ; vendor __argv - 00000004 296 environ: defs 2 ; vendor _environ - 00000006 297 errno: defs 2 ; vendor _errno - 00000008 298 __cleanup: defs 2 ; vendor ___cleanup - 299 - 300 rseg CSTACK - 00000000 301 defs E_STACK_SIZE - 302 - 303 ; ----------------------------------------------------------------------------- - 304 - 00001000 305 END - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. -Hexadecimal [32-Bits] - -Symbol Table - - .__.ABS. = 00000000 G | E_FORMAT_LARGE = 00000001 - E_MAGIC = 0000A6C9 | E_STACK_SIZE = 00001000 - 9 __cleanup 00000008 GR | 1 __init 00000000 GR - 9 _argc 00000000 GR | 9 _argv 00000002 GR - e_CSTACK ******** GX | 9 environ 00000004 GR - 9 errno 00000006 GR | exit ******** GX - l__DEFAULT ******** GX | main ******** GX - s_CSTACK ******** GX | s_RCODE ******** GX - s_UDATA0 ******** GX - ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. -Hexadecimal [32-Bits] - -Area Table - - 0 _DEFAULT size 14 flags 0 - 1 RCODE size 15 flags 0 - 2 CODE size 0 flags 0 - 3 CONST size 0 flags 0 - 4 CSTR size 0 flags 0 - 5 IDATA0 size 0 flags 1 - 6 CDATA0 size 0 flags 0 - 7 ECSTR size 0 flags 1 - 8 CCSTR size 0 flags 0 - 9 UDATA0 size A flags 0 - A CSTACK size 1000 flags 0 diff --git a/src/nos/lib/crt0_large.rel b/src/nos/lib/crt0_large.rel deleted file mode 100644 index c88e76ca..00000000 --- a/src/nos/lib/crt0_large.rel +++ /dev/null @@ -1,56 +0,0 @@ -XL4 -H B areas E global symbols -M _c0l -S s_CSTACK Ref00000000 -S .__.ABS. Def00000000 -S main Ref00000000 -S l__DEFAULT Ref00000000 -S s_UDATA0 Ref00000000 -S exit Ref00000000 -S e_CSTACK Ref00000000 -S s_RCODE Ref00000000 -A _DEFAULT size 14 flags 0 -A RCODE size 15 flags 0 -S __init Def00000000 -A CODE size 0 flags 0 -A CONST size 0 flags 0 -A CSTR size 0 flags 0 -A IDATA0 size 0 flags 1 -A CDATA0 size 0 flags 0 -A ECSTR size 0 flags 1 -A CCSTR size 0 flags 0 -A UDATA0 size A flags 0 -S environ Def00000004 -S _argv Def00000002 -S __cleanup Def00000008 -S errno Def00000006 -S _argc Def00000000 -A CSTACK size 1000 flags 0 -T 00 00 00 00 C9 A6 01 00 78 56 34 12 -R 00 00 00 00 -T 08 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 00 00 02 04 03 00 02 08 07 00 -T 0C 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 00 00 00 04 01 00 02 08 04 00 -T 10 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 00 00 02 04 00 00 02 08 06 00 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D1 ED 53 00 00 00 00 C1 ED 43 -R 00 00 01 00 00 07 09 00 -T 08 00 00 00 02 00 00 00 E1 22 04 00 00 00 CD -R 00 00 01 00 00 04 09 00 00 0A 09 00 -T 0F 00 00 00 00 00 00 00 EB C3 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 0A 05 00 -T 00 00 00 00 -R 00 00 09 00 -T 02 00 00 00 -R 00 00 09 00 -T 04 00 00 00 -R 00 00 09 00 -T 06 00 00 00 -R 00 00 09 00 -T 08 00 00 00 -R 00 00 09 00 -T 00 00 00 00 -R 00 00 0A 00 diff --git a/src/nos/lib/crt_banked.lib b/src/nos/lib/crt_banked.lib index 2018c790..3c69e00b 100644 --- a/src/nos/lib/crt_banked.lib +++ b/src/nos/lib/crt_banked.lib @@ -44,7 +44,6 @@ crt_banked_lib/error.rel ___sys_nerr crt_banked_lib/etime.rel _etime - _dout _ediff crt_banked_lib/execl.rel __findPath @@ -138,7 +137,7 @@ crt_banked_lib/itoa.rel ___longtoa crt_banked_lib/localtim.rel _localtime -crt_banked_lib/longjmp.rel +crt_banked_lib/longjmp_banked.rel _longjmp crt_banked_lib/lsearch.rel _lfind @@ -202,6 +201,8 @@ crt_banked_lib/regerror.rel crt_banked_lib/regexp.rel _regexec _regcomp + _regdump + _regnarrate crt_banked_lib/regsub.rel _regsub crt_banked_lib/rename.rel @@ -225,7 +226,7 @@ crt_banked_lib/setgrent.rel _getgrent _setgrent __path_group -crt_banked_lib/setjmp.rel +crt_banked_lib/setjmp_banked.rel _setjmp crt_banked_lib/setpwent.rel _endpwent @@ -300,6 +301,7 @@ crt_banked_lib/termcap.rel _ospeed _tputs_baud_rate _PC + _bufsize crt_banked_lib/tmpnam.rel _tmpnam __tmpnum diff --git a/src/nos/lib/crt_banked_lib/atexit.rel b/src/nos/lib/crt_banked_lib/atexit.rel index 309cc619..5ac1b30a 100644 --- a/src/nos/lib/crt_banked_lib/atexit.rel +++ b/src/nos/lib/crt_banked_lib/atexit.rel @@ -72,7 +72,7 @@ T 94 00 00 00 R 00 00 01 00 T 94 00 00 00 R 00 00 01 00 -T 94 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 94 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 9D 00 00 00 0C 23 36 00 21 FF FF 18 53 R 00 00 01 00 diff --git a/src/nos/lib/crt_banked_lib/closedir.rel b/src/nos/lib/crt_banked_lib/closedir.rel index 5df6ee78..03c78cf9 100644 --- a/src/nos/lib/crt_banked_lib/closedir.rel +++ b/src/nos/lib/crt_banked_lib/closedir.rel @@ -27,7 +27,7 @@ T 21 00 00 00 R 00 00 01 00 T 21 00 00 00 R 00 00 01 00 -T 21 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 21 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 2A 00 00 00 0E 23 36 00 21 FF FF 18 47 R 00 00 01 00 diff --git a/src/nos/lib/crt_banked_lib/etime.rel b/src/nos/lib/crt_banked_lib/etime.rel index 8fa5b219..5b532357 100644 --- a/src/nos/lib/crt_banked_lib/etime.rel +++ b/src/nos/lib/crt_banked_lib/etime.rel @@ -1,8 +1,8 @@ XL4 -H 3 areas E global symbols -S ?BANK_CALL_DIRECT_L08 Ref00000000 +H 3 areas D global symbols S ?SS_MODASG_L02 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ?LEAVE_DIRECT_L09 Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S ?S_MUL_L02 Ref00000000 @@ -12,10 +12,9 @@ S ?SS_DIV_L02 Ref00000000 S ?US_DIV_L02 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 13A flags 0 +A CODE size 12B flags 0 S _etime Def00000000 -S _dout Def0000009D -S _ediff Def000000D7 +S _ediff Def000000C8 A UDATA0 size 1A flags 0 T 00 00 00 00 R 00 00 01 00 @@ -23,90 +22,84 @@ T 00 00 00 00 CD 00 00 00 00 21 02 00 00 00 22 R 00 00 01 00 02 05 04 00 00 0A 02 00 T 07 00 00 00 00 00 00 00 13 13 EB 5E 23 56 01 R 00 00 01 00 00 04 02 00 -T 10 00 00 00 3C 00 CD 00 00 00 00 3E +T 10 00 00 00 3C 00 CD 00 00 00 00 CD R 00 00 01 00 02 07 09 00 -T 16 00 00 00 9D 00 00 00 21 9D 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 1B 00 00 00 00 00 00 00 2A 00 00 00 00 23 22 -R 00 00 01 00 02 04 00 00 00 09 02 00 -T 22 00 00 00 00 00 00 00 2B 36 3A DD 6E 02 DD +T 16 00 00 00 8E 00 00 00 2A 00 00 00 00 23 22 +R 00 00 01 00 00 04 01 00 00 09 02 00 +T 1D 00 00 00 00 00 00 00 2B 36 3A DD 6E 02 DD R 00 00 01 00 00 04 02 00 -T 2B 00 00 00 66 03 23 23 5E 23 56 01 3C 00 CD +T 26 00 00 00 66 03 23 23 5E 23 56 01 3C 00 CD R 00 00 01 00 -T 36 00 00 00 00 00 00 00 3E 9D 00 00 00 21 -R 00 00 01 00 02 04 07 00 29 09 01 00 -T 3B 00 00 00 9D 00 00 00 CD 00 00 00 00 2A -R 00 00 01 00 00 04 01 00 02 09 00 00 -T 41 00 00 00 00 00 00 00 23 22 00 00 00 00 2B +T 31 00 00 00 00 00 00 00 CD 8E 00 00 00 2A +R 00 00 01 00 02 04 07 00 00 09 01 00 +T 37 00 00 00 00 00 00 00 23 22 00 00 00 00 2B R 00 00 01 00 00 04 02 00 00 0A 02 00 -T 48 00 00 00 36 3A DD 6E 02 DD 66 03 5E 23 56 +T 3E 00 00 00 36 3A DD 6E 02 DD 66 03 5E 23 56 R 00 00 01 00 -T 53 00 00 00 01 32 00 CD 00 00 00 00 3E +T 49 00 00 00 01 32 00 CD 00 00 00 00 CD R 00 00 01 00 02 08 09 00 -T 5A 00 00 00 9D 00 00 00 21 9D 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 5F 00 00 00 00 00 00 00 2A 00 00 00 00 23 22 -R 00 00 01 00 02 04 00 00 00 09 02 00 -T 66 00 00 00 00 00 00 00 2B 36 2E DD 6E 02 DD +T 50 00 00 00 8E 00 00 00 2A 00 00 00 00 23 22 +R 00 00 01 00 00 04 01 00 00 09 02 00 +T 57 00 00 00 00 00 00 00 2B 36 2E DD 6E 02 DD R 00 00 01 00 00 04 02 00 -T 6F 00 00 00 66 03 5E 23 56 01 32 00 CD +T 60 00 00 00 66 03 5E 23 56 01 32 00 CD R 00 00 01 00 -T 78 00 00 00 00 00 00 00 01 0A 00 CD +T 69 00 00 00 00 00 00 00 01 0A 00 CD R 00 00 01 00 02 04 07 00 -T 7E 00 00 00 00 00 00 00 01 32 00 CD +T 6F 00 00 00 00 00 00 00 01 32 00 CD R 00 00 01 00 02 04 05 00 -T 84 00 00 00 00 00 00 00 7B C6 30 2A +T 75 00 00 00 00 00 00 00 7B C6 30 2A R 00 00 01 00 02 04 09 00 -T 8A 00 00 00 00 00 00 00 23 22 00 00 00 00 2B +T 7B 00 00 00 00 00 00 00 23 22 00 00 00 00 2B R 00 00 01 00 00 04 02 00 00 0A 02 00 -T 91 00 00 00 77 2A 00 00 00 00 36 00 21 +T 82 00 00 00 77 2A 00 00 00 00 36 00 21 R 00 00 01 00 00 06 02 00 -T 98 00 00 00 02 00 00 00 C3 00 00 00 00 -R 00 00 01 00 00 04 02 00 02 09 02 00 -T 9D 00 00 00 +T 89 00 00 00 02 00 00 00 C3 00 00 00 00 +R 00 00 01 00 00 04 02 00 02 09 01 00 +T 8E 00 00 00 R 00 00 01 00 -T 9D 00 00 00 CD 00 00 00 00 21 02 00 39 01 +T 8E 00 00 00 CD 00 00 00 00 21 02 00 39 01 R 00 00 01 00 02 05 04 00 -T A5 00 00 00 64 00 CD 00 00 00 00 01 0A 00 CD -R 00 00 01 00 02 07 01 00 -T AE 00 00 00 00 00 00 00 7B C6 30 2A +T 96 00 00 00 64 00 CD 00 00 00 00 01 0A 00 CD +R 00 00 01 00 02 07 00 00 +T 9F 00 00 00 00 00 00 00 7B C6 30 2A R 00 00 01 00 02 04 08 00 -T B4 00 00 00 00 00 00 00 23 22 00 00 00 00 2B +T A5 00 00 00 00 00 00 00 23 22 00 00 00 00 2B R 00 00 01 00 00 04 02 00 00 0A 02 00 -T BB 00 00 00 77 01 0A 00 DD 5E 02 DD 56 03 CD +T AC 00 00 00 77 01 0A 00 DD 5E 02 DD 56 03 CD R 00 00 01 00 -T C6 00 00 00 00 00 00 00 7B C6 30 2A +T B7 00 00 00 00 00 00 00 7B C6 30 2A R 00 00 01 00 02 04 06 00 -T CC 00 00 00 00 00 00 00 23 22 00 00 00 00 2B +T BD 00 00 00 00 00 00 00 23 22 00 00 00 00 2B R 00 00 01 00 00 04 02 00 00 0A 02 00 -T D3 00 00 00 77 C3 00 00 00 00 +T C4 00 00 00 77 C3 00 00 00 00 R 00 00 01 00 02 06 02 00 -T D7 00 00 00 +T C8 00 00 00 R 00 00 01 00 -T D7 00 00 00 CD 00 00 00 00 69 60 4E 23 46 1A +T C8 00 00 00 CD 00 00 00 00 69 60 4E 23 46 1A R 00 00 01 00 02 05 04 00 -T E0 00 00 00 6F 13 1A 67 A7 ED 42 30 1E +T D1 00 00 00 6F 13 1A 67 A7 ED 42 30 1E R 00 00 01 00 -T E9 00 00 00 +T DA 00 00 00 R 00 00 01 00 -T E9 00 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 +T DA 00 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 R 00 00 01 00 -T F4 00 00 00 0B 70 2B 71 DD 6E 02 DD 66 03 7E +T E5 00 00 00 0B 70 2B 71 DD 6E 02 DD 66 03 7E R 00 00 01 00 -T FF 00 00 00 C6 B8 77 23 7E CE 0B 77 +T F0 00 00 00 C6 B8 77 23 7E CE 0B 77 R 00 00 01 00 -T 07 01 00 00 +T F8 00 00 00 R 00 00 01 00 -T 07 01 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 +T F8 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 -T 12 01 00 00 DD 6E 02 DD 66 03 23 23 7E 91 77 +T 03 01 00 00 DD 6E 02 DD 66 03 23 23 7E 91 77 R 00 00 01 00 -T 1D 01 00 00 23 7E 98 77 DD 6E 04 DD 66 05 4E +T 0E 01 00 00 23 7E 98 77 DD 6E 04 DD 66 05 4E R 00 00 01 00 -T 28 01 00 00 23 46 DD 6E 02 DD 66 03 7E 91 77 +T 19 01 00 00 23 46 DD 6E 02 DD 66 03 7E 91 77 R 00 00 01 00 -T 33 01 00 00 23 7E 98 77 C3 00 00 00 00 -R 00 00 01 00 02 09 02 00 +T 24 01 00 00 23 7E 98 77 C3 00 00 00 00 +R 00 00 01 00 02 09 01 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 diff --git a/src/nos/lib/crt_banked_lib/fclose.rel b/src/nos/lib/crt_banked_lib/fclose.rel index e5b1a7f6..4fcd0312 100644 --- a/src/nos/lib/crt_banked_lib/fclose.rel +++ b/src/nos/lib/crt_banked_lib/fclose.rel @@ -21,7 +21,7 @@ T 09 00 00 00 DD 77 FB DD 7E 02 DD B6 03 20 13 R 00 00 01 00 T 14 00 00 00 R 00 00 01 00 -T 14 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 14 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T 1D 00 00 00 16 23 36 00 21 FF FF C3 R 00 00 01 00 diff --git a/src/nos/lib/crt_banked_lib/fflush.rel b/src/nos/lib/crt_banked_lib/fflush.rel index 5adc10b2..c7141ac4 100644 --- a/src/nos/lib/crt_banked_lib/fflush.rel +++ b/src/nos/lib/crt_banked_lib/fflush.rel @@ -1,210 +1,213 @@ XL4 -H 2 areas E global symbols +H 2 areas B global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S _stderr Ref00000000 S _lseek Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S _stdin Ref00000000 -S _stdout Ref00000000 S _write Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?SS_CMP_L02 Ref00000000 S ___IO_list Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 219 flags 0 +A CODE size 232 flags 0 S _fflush Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F8 FF AF DD 77 FE -R 00 00 01 00 02 05 09 00 -T 09 00 00 00 DD 77 FF DD 7E 02 DD B6 03 20 78 +R 00 00 01 00 02 05 06 00 +T 09 00 00 00 DD 77 FF DD 7E 02 DD B6 03 C2 R 00 00 01 00 -T 14 00 00 00 +T 13 00 00 00 A5 00 00 00 +R 00 00 01 00 00 04 01 00 +T 15 00 00 00 R 00 00 01 00 -T 14 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 06 00 29 0A 01 00 -T 1A 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 +T 15 00 00 00 21 3E 00 ED 4B 00 00 00 00 09 5E +R 00 00 01 00 02 09 03 00 +T 1E 00 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 29 07 01 00 +T 23 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 R 00 00 01 00 00 04 01 00 02 09 00 00 -T 21 00 00 00 20 1E 11 00 00 00 00 3E -R 00 00 01 00 02 07 07 00 -T 27 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 2C 00 00 00 00 00 00 00 7D B4 20 0F 11 -R 00 00 01 00 02 04 00 00 -T 33 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 02 00 29 09 01 00 -T 38 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 +T 2A 00 00 00 20 2E 21 40 00 ED 4B 00 00 00 00 +R 00 00 01 00 02 0B 03 00 +T 33 00 00 00 09 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 29 09 01 00 +T 3A 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 R 00 00 01 00 00 04 01 00 02 09 00 00 -T 3F 00 00 00 28 06 +T 41 00 00 00 20 17 21 40 00 ED 4B 00 00 00 00 +R 00 00 01 00 02 0B 03 00 +T 4A 00 00 00 09 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 29 09 01 00 +T 51 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 +R 00 00 01 00 00 04 01 00 02 09 00 00 +T 58 00 00 00 28 06 R 00 00 01 00 -T 41 00 00 00 +T 5A 00 00 00 R 00 00 01 00 -T 41 00 00 00 +T 5A 00 00 00 R 00 00 01 00 -T 41 00 00 00 +T 5A 00 00 00 R 00 00 01 00 -T 41 00 00 00 21 FF FF C3 16 02 00 00 +T 5A 00 00 00 21 FF FF C3 2F 02 00 00 R 00 00 01 00 00 08 01 00 -T 47 00 00 00 +T 60 00 00 00 R 00 00 01 00 -T 47 00 00 00 2A 00 00 00 00 DD 75 02 DD 74 03 -R 00 00 01 00 02 05 0B 00 -T 50 00 00 00 +T 60 00 00 00 2A 00 00 00 00 DD 75 02 DD 74 03 +R 00 00 01 00 02 05 08 00 +T 69 00 00 00 R 00 00 01 00 -T 50 00 00 00 DD 7E 02 DD B6 03 28 2E +T 69 00 00 00 DD 7E 02 DD B6 03 28 2E R 00 00 01 00 -T 58 00 00 00 +T 71 00 00 00 R 00 00 01 00 -T 58 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +T 71 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 R 00 00 01 00 29 0B 01 00 -T 60 00 00 00 21 00 00 00 00 CD 00 00 00 00 7D +T 79 00 00 00 21 00 00 00 00 CD 00 00 00 00 7D R 00 00 01 00 00 05 01 00 02 0A 00 00 -T 67 00 00 00 B4 28 06 +T 80 00 00 00 B4 28 06 R 00 00 01 00 -T 6A 00 00 00 +T 83 00 00 00 R 00 00 01 00 -T 6A 00 00 00 21 FF FF C3 16 02 00 00 +T 83 00 00 00 21 FF FF C3 2F 02 00 00 R 00 00 01 00 00 08 01 00 -T 70 00 00 00 +T 89 00 00 00 R 00 00 01 00 -T 70 00 00 00 21 16 00 DD 4E 02 DD 46 03 09 56 +T 89 00 00 00 21 16 00 DD 4E 02 DD 46 03 09 56 R 00 00 01 00 -T 7B 00 00 00 23 66 6A DD 75 02 DD 74 03 18 CA +T 94 00 00 00 23 66 6A DD 75 02 DD 74 03 18 CA R 00 00 01 00 -T 86 00 00 00 +T 9F 00 00 00 R 00 00 01 00 -T 86 00 00 00 21 00 00 C3 16 02 00 00 +T 9F 00 00 00 21 00 00 C3 2F 02 00 00 R 00 00 01 00 00 08 01 00 -T 8C 00 00 00 +T A5 00 00 00 R 00 00 01 00 -T 8C 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E +T A5 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 97 00 00 00 E6 80 CA 6C 01 00 00 +T B0 00 00 00 E6 80 CA 85 01 00 00 R 00 00 01 00 00 07 01 00 -T 9C 00 00 00 +T B5 00 00 00 R 00 00 01 00 -T 9C 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 5E +T B5 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 -T A7 00 00 00 23 56 0A 6F 03 0A 67 A7 ED 52 DD +T C0 00 00 00 23 56 0A 6F 03 0A 67 A7 ED 52 DD R 00 00 01 00 -T B2 00 00 00 75 FA DD 74 FB 7D B4 CA +T CB 00 00 00 75 FA DD 74 FB 7D B4 CA R 00 00 01 00 -T BA 00 00 00 6A 01 00 00 +T D3 00 00 00 83 01 00 00 R 00 00 01 00 00 04 01 00 -T BC 00 00 00 +T D5 00 00 00 R 00 00 01 00 -T BC 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 46 +T D5 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 46 R 00 00 01 00 -T C7 00 00 00 23 66 68 DD 75 F8 DD 74 F9 +T E0 00 00 00 23 66 68 DD 75 F8 DD 74 F9 R 00 00 01 00 -T D0 00 00 00 +T E9 00 00 00 R 00 00 01 00 -T D0 00 00 00 DD 6E FA DD 66 FB E5 DD 4E F8 DD +T E9 00 00 00 DD 6E FA DD 66 FB E5 DD 4E F8 DD R 00 00 01 00 -T DB 00 00 00 46 F9 21 0A 00 DD 5E 02 DD 56 03 +T F4 00 00 00 46 F9 21 0A 00 DD 5E 02 DD 56 03 R 00 00 01 00 -T E6 00 00 00 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 08 00 -T ED 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 08 00 02 09 00 00 -T F4 00 00 00 75 FC DD 74 FD 4D 44 21 00 00 CD +T FF 00 00 00 19 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 05 00 +T 06 01 00 00 00 00 00 00 CD 00 00 00 00 F1 DD +R 00 00 01 00 02 04 05 00 02 09 00 00 +T 0D 01 00 00 75 FC DD 74 FD 4D 44 21 00 00 CD R 00 00 01 00 -T FF 00 00 00 00 00 00 00 30 1E -R 00 00 01 00 02 04 0A 00 -T 03 01 00 00 +T 18 01 00 00 00 00 00 00 30 1E +R 00 00 01 00 02 04 07 00 +T 1C 01 00 00 R 00 00 01 00 -T 03 01 00 00 21 00 00 39 7E DD 86 FC 77 23 7E +T 1C 01 00 00 21 00 00 39 7E DD 86 FC 77 23 7E R 00 00 01 00 -T 0E 01 00 00 DD 8E FD 77 21 02 00 39 7E DD 96 +T 27 01 00 00 DD 8E FD 77 21 02 00 39 7E DD 96 R 00 00 01 00 -T 19 01 00 00 FC 77 23 7E DD 9E FD 77 +T 32 01 00 00 FC 77 23 7E DD 9E FD 77 R 00 00 01 00 -T 21 01 00 00 +T 3A 01 00 00 R 00 00 01 00 -T 21 01 00 00 DD 4E FC DD 46 FD 21 00 00 CD +T 3A 01 00 00 DD 4E FC DD 46 FD 21 00 00 CD R 00 00 01 00 -T 2B 01 00 00 00 00 00 00 38 A1 DD 7E FC DD A6 -R 00 00 01 00 02 04 0A 00 -T 34 01 00 00 FD 3C 20 0F 21 4D 00 ED 4B +T 44 01 00 00 00 00 00 00 38 A1 DD 7E FC DD A6 +R 00 00 01 00 02 04 07 00 +T 4D 01 00 00 FD 3C 20 0F 21 4F 00 ED 4B R 00 00 01 00 -T 3D 01 00 00 00 00 00 00 09 3E 04 AE 23 B6 28 -R 00 00 01 00 02 04 04 00 -T 46 01 00 00 89 +T 56 01 00 00 00 00 00 00 09 3E 04 AE 23 B6 28 +R 00 00 01 00 02 04 03 00 +T 5F 01 00 00 89 R 00 00 01 00 -T 47 01 00 00 +T 60 01 00 00 R 00 00 01 00 -T 47 01 00 00 DD 7E FA DD B6 FB 28 1B +T 60 01 00 00 DD 7E FA DD B6 FB 28 1B R 00 00 01 00 -T 4F 01 00 00 +T 68 01 00 00 R 00 00 01 00 -T 4F 01 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E +T 68 01 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 5A 01 00 00 F6 00 77 23 7E F6 02 77 DD 36 FE +T 73 01 00 00 F6 00 77 23 7E F6 02 77 DD 36 FE R 00 00 01 00 -T 65 01 00 00 FF DD 36 FF FF +T 7E 01 00 00 FF DD 36 FF FF R 00 00 01 00 -T 6A 01 00 00 +T 83 01 00 00 R 00 00 01 00 -T 6A 01 00 00 +T 83 01 00 00 R 00 00 01 00 -T 6A 01 00 00 18 6A +T 83 01 00 00 18 6A R 00 00 01 00 -T 6C 01 00 00 +T 85 01 00 00 R 00 00 01 00 -T 6C 01 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E +T 85 01 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 77 01 00 00 E6 40 28 5B +T 90 01 00 00 E6 40 28 5B R 00 00 01 00 -T 7B 01 00 00 +T 94 01 00 00 R 00 00 01 00 -T 7B 01 00 00 DD 6E 02 DD 66 03 4E 23 46 DD 6E +T 94 01 00 00 DD 6E 02 DD 66 03 4E 23 46 DD 6E R 00 00 01 00 -T 86 01 00 00 02 DD 66 03 23 23 56 23 66 6A A7 +T 9F 01 00 00 02 DD 66 03 23 23 56 23 66 6A A7 R 00 00 01 00 -T 91 01 00 00 ED 42 DD 75 FA DD 74 FB 4D 44 21 +T AA 01 00 00 ED 42 DD 75 FA DD 74 FB 4D 44 21 R 00 00 01 00 -T 9C 01 00 00 00 00 CD 00 00 00 00 30 33 21 -R 00 00 01 00 02 07 0A 00 -T A4 01 00 00 01 00 E5 DD 4E FA DD 46 FB A7 21 +T B5 01 00 00 00 00 CD 00 00 00 00 30 33 21 +R 00 00 01 00 02 07 07 00 +T BD 01 00 00 01 00 E5 DD 4E FA DD 46 FB A7 21 R 00 00 01 00 -T AF 01 00 00 00 00 ED 42 7C 07 9F 4F 41 C5 E5 +T C8 01 00 00 00 00 ED 42 7C 07 9F 4F 41 C5 E5 R 00 00 01 00 -T BA 01 00 00 21 0A 00 DD 4E 02 DD 46 03 09 5E +T D3 01 00 00 21 0A 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 -T C5 01 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 03 00 -T CA 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T D1 01 00 00 F1 CB 78 28 00 +T DE 01 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 02 00 +T E3 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 02 00 02 09 00 00 +T EA 01 00 00 F1 CB 78 28 00 R 00 00 01 00 -T D6 01 00 00 +T EF 01 00 00 R 00 00 01 00 -T D6 01 00 00 +T EF 01 00 00 R 00 00 01 00 -T D6 01 00 00 +T EF 01 00 00 R 00 00 01 00 -T D6 01 00 00 +T EF 01 00 00 R 00 00 01 00 -T D6 01 00 00 +T EF 01 00 00 R 00 00 01 00 -T D6 01 00 00 +T EF 01 00 00 R 00 00 01 00 -T D6 01 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E +T EF 01 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T E1 01 00 00 E6 3F 77 23 7E E6 FA 77 69 60 23 +T FA 01 00 00 E6 3F 77 23 7E E6 FA 77 69 60 23 R 00 00 01 00 -T EC 01 00 00 23 E5 21 04 00 DD 4E 02 DD 46 03 +T 05 02 00 00 23 E5 21 04 00 DD 4E 02 DD 46 03 R 00 00 01 00 -T F7 01 00 00 09 E5 21 06 00 09 56 23 66 6A E5 +T 10 02 00 00 09 E5 21 06 00 09 56 23 66 6A E5 R 00 00 01 00 -T 02 02 00 00 69 60 C1 71 23 70 E1 71 23 70 E1 +T 1B 02 00 00 69 60 C1 71 23 70 E1 71 23 70 E1 R 00 00 01 00 -T 0D 02 00 00 71 23 70 DD 6E FE DD 66 FF +T 26 02 00 00 71 23 70 DD 6E FE DD 66 FF R 00 00 01 00 -T 16 02 00 00 +T 2F 02 00 00 R 00 00 01 00 -T 16 02 00 00 C3 00 00 00 00 +T 2F 02 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/crt_banked_lib/fgetgren.rel b/src/nos/lib/crt_banked_lib/fgetgren.rel index 5bec96ca..dab57e7d 100644 --- a/src/nos/lib/crt_banked_lib/fgetgren.rel +++ b/src/nos/lib/crt_banked_lib/fgetgren.rel @@ -16,7 +16,7 @@ T 00 00 00 00 CD 00 00 00 00 7B B2 20 12 R 00 00 01 00 02 05 05 00 T 07 00 00 00 R 00 00 01 00 -T 07 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 07 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 10 00 00 00 04 23 36 00 21 00 00 18 15 R 00 00 01 00 diff --git a/src/nos/lib/crt_banked_lib/fgetpwen.rel b/src/nos/lib/crt_banked_lib/fgetpwen.rel index 738b8b0b..39a79895 100644 --- a/src/nos/lib/crt_banked_lib/fgetpwen.rel +++ b/src/nos/lib/crt_banked_lib/fgetpwen.rel @@ -16,7 +16,7 @@ T 00 00 00 00 CD 00 00 00 00 7B B2 20 12 R 00 00 01 00 02 05 04 00 T 07 00 00 00 R 00 00 01 00 -T 07 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 07 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 10 00 00 00 04 23 36 00 21 00 00 18 15 R 00 00 01 00 diff --git a/src/nos/lib/crt_banked_lib/fopen.rel b/src/nos/lib/crt_banked_lib/fopen.rel index a6d64b61..7e125595 100644 --- a/src/nos/lib/crt_banked_lib/fopen.rel +++ b/src/nos/lib/crt_banked_lib/fopen.rel @@ -156,7 +156,7 @@ T 64 01 00 00 DD CB 05 7E 28 3F R 00 00 01 00 T 6A 01 00 00 R 00 00 01 00 -T 6A 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +T 6A 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 03 00 T 73 01 00 00 23 66 68 DD 75 FA DD 74 FB DD 7E R 00 00 01 00 @@ -170,7 +170,7 @@ T 8C 01 00 00 21 00 00 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 05 00 02 0A 00 00 T 92 01 00 00 R 00 00 01 00 -T 92 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 DD +T 92 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 DD R 00 00 01 00 02 09 03 00 T 9B 01 00 00 4E FA DD 46 FB 71 23 70 21 00 00 R 00 00 01 00 @@ -208,7 +208,7 @@ T 06 02 00 00 R 00 00 01 00 T 06 02 00 00 21 06 00 DD 4E 0A DD 46 0B 09 E5 R 00 00 01 00 -T 11 02 00 00 01 00 02 11 01 00 3E 00 00 00 00 +T 11 02 00 00 01 80 00 11 01 00 3E 00 00 00 00 R 00 00 01 00 2B 0B 07 00 T 19 02 00 00 21 00 00 00 00 CD 00 00 00 00 4D R 00 00 01 00 02 05 07 00 02 0A 00 00 @@ -228,9 +228,9 @@ T 52 02 00 00 R 00 00 01 00 T 52 02 00 00 21 08 00 DD 4E 0A DD 46 0B 09 E5 R 00 00 01 00 -T 5D 02 00 00 21 06 00 09 56 23 66 6A 3E 02 84 +T 5D 02 00 00 21 06 00 09 56 23 66 6A 11 80 00 R 00 00 01 00 -T 68 02 00 00 67 EB E1 73 23 72 21 0C 00 09 7E +T 68 02 00 00 19 EB E1 73 23 72 21 0C 00 09 7E R 00 00 01 00 T 73 02 00 00 F6 04 77 23 7E F6 00 77 R 00 00 01 00 diff --git a/src/nos/lib/crt_banked_lib/fwrite.rel b/src/nos/lib/crt_banked_lib/fwrite.rel index 658d698b..8dbd606e 100644 --- a/src/nos/lib/crt_banked_lib/fwrite.rel +++ b/src/nos/lib/crt_banked_lib/fwrite.rel @@ -170,7 +170,7 @@ T C1 01 00 00 DD 4E F8 DD 46 F9 21 00 00 CD R 00 00 01 00 T CB 01 00 00 00 00 00 00 38 9D DD 7E F8 DD A6 R 00 00 01 00 02 04 0A 00 -T D4 01 00 00 F9 3C 20 0F 21 4D 00 ED 4B +T D4 01 00 00 F9 3C 20 0F 21 4F 00 ED 4B R 00 00 01 00 T DD 01 00 00 00 00 00 00 09 3E 04 AE 23 B6 28 R 00 00 01 00 02 04 05 00 diff --git a/src/nos/lib/crt_banked_lib/getcwd.rel b/src/nos/lib/crt_banked_lib/getcwd.rel index f535441e..fa6c997c 100644 --- a/src/nos/lib/crt_banked_lib/getcwd.rel +++ b/src/nos/lib/crt_banked_lib/getcwd.rel @@ -67,7 +67,7 @@ T 5F 00 00 00 02 00 00 00 CD 00 00 00 00 30 13 R 00 00 01 00 00 04 03 00 02 09 0E 00 T 66 00 00 00 R 00 00 01 00 -T 66 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 66 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 07 00 T 6F 00 00 00 22 23 36 00 21 00 00 C3 R 00 00 01 00 @@ -141,7 +141,7 @@ T 15 01 00 00 13 R 00 00 01 00 T 16 01 00 00 R 00 00 01 00 -T 16 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 16 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 07 00 T 1F 01 00 00 22 23 36 00 21 00 00 C3 R 00 00 01 00 @@ -199,7 +199,7 @@ T 8C 01 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 R 00 00 01 00 2B 0B 03 00 T 94 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 03 00 02 0A 00 00 -T 9B 01 00 00 4D 00 ED 4B 00 00 00 00 09 36 02 +T 9B 01 00 00 4F 00 ED 4B 00 00 00 00 09 36 02 R 00 00 01 00 02 08 07 00 T A4 01 00 00 23 36 00 21 00 00 R 00 00 01 00 @@ -257,7 +257,7 @@ T 1F 02 00 00 ED 42 30 12 R 00 00 01 00 T 23 02 00 00 R 00 00 01 00 -T 23 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 23 02 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 07 00 T 2C 02 00 00 22 23 36 00 21 00 00 18 2A R 00 00 01 00 @@ -293,7 +293,7 @@ T 74 02 00 00 30 12 R 00 00 01 00 T 76 02 00 00 R 00 00 01 00 -T 76 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 76 02 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 07 00 T 7F 02 00 00 22 23 36 00 21 00 00 18 3B R 00 00 01 00 diff --git a/src/nos/lib/crt_banked_lib/getgrnam.rel b/src/nos/lib/crt_banked_lib/getgrnam.rel index fbb5e0c3..3b72c849 100644 --- a/src/nos/lib/crt_banked_lib/getgrnam.rel +++ b/src/nos/lib/crt_banked_lib/getgrnam.rel @@ -21,7 +21,7 @@ T 09 00 00 00 B6 03 20 12 R 00 00 01 00 T 0D 00 00 00 R 00 00 01 00 -T 0D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 0D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T 16 00 00 00 16 23 36 00 21 00 00 18 47 R 00 00 01 00 diff --git a/src/nos/lib/crt_banked_lib/getpw.rel b/src/nos/lib/crt_banked_lib/getpw.rel index b320ffc4..290b6864 100644 --- a/src/nos/lib/crt_banked_lib/getpw.rel +++ b/src/nos/lib/crt_banked_lib/getpw.rel @@ -18,7 +18,7 @@ T 00 00 00 00 CD 00 00 00 00 FE FF 79 B0 20 12 R 00 00 01 00 02 05 06 00 T 09 00 00 00 R 00 00 01 00 -T 09 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 09 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 12 00 00 00 16 23 36 00 21 FF FF 18 7A R 00 00 01 00 diff --git a/src/nos/lib/crt_banked_lib/getpwnam.rel b/src/nos/lib/crt_banked_lib/getpwnam.rel index e053023b..08536bb1 100644 --- a/src/nos/lib/crt_banked_lib/getpwnam.rel +++ b/src/nos/lib/crt_banked_lib/getpwnam.rel @@ -21,7 +21,7 @@ T 09 00 00 00 B6 03 20 12 R 00 00 01 00 T 0D 00 00 00 R 00 00 01 00 -T 0D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 0D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 16 00 00 00 16 23 36 00 21 00 00 18 47 R 00 00 01 00 diff --git a/src/nos/lib/crt_banked_lib/gets.rel b/src/nos/lib/crt_banked_lib/gets.rel index 74c14658..46cb68f7 100644 --- a/src/nos/lib/crt_banked_lib/gets.rel +++ b/src/nos/lib/crt_banked_lib/gets.rel @@ -1,96 +1,99 @@ XL4 -H 2 areas C global symbols +H 2 areas B global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _fgetc Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S _Curproc Ref00000000 S .__.ABS. Def00000000 -S _stdin Ref00000000 S _fputc Ref00000000 -S _stdout Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _fputs Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size BE flags 0 -S _puts Def00000075 +A CODE size D6 flags 0 +S _puts Def0000007D S _gets Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 06 00 T 09 00 00 00 66 03 DD 75 FE DD 74 FF R 00 00 01 00 T 11 00 00 00 R 00 00 01 00 -T 11 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 04 00 2B 0A 01 00 -T 17 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +T 11 00 00 00 21 3E 00 ED 4B 00 00 00 00 09 5E +R 00 00 01 00 02 09 03 00 +T 1A 00 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 01 00 +T 1F 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 01 00 02 09 00 00 -T 1E 00 00 00 FC DD 74 FD 7D A4 3C 28 1E 3E 0A +T 26 00 00 00 FC DD 74 FD 7D A4 3C 28 1E 3E 0A R 00 00 01 00 -T 29 00 00 00 DD AE FC DD B6 FD 28 14 +T 31 00 00 00 DD AE FC DD B6 FD 28 14 R 00 00 01 00 -T 31 00 00 00 +T 39 00 00 00 R 00 00 01 00 -T 31 00 00 00 +T 39 00 00 00 R 00 00 01 00 -T 31 00 00 00 +T 39 00 00 00 R 00 00 01 00 -T 31 00 00 00 DD 46 FC DD 6E FE DD 66 FF 23 DD +T 39 00 00 00 DD 46 FC DD 6E FE DD 66 FF 23 DD R 00 00 01 00 -T 3C 00 00 00 75 FE DD 74 FF 2B 70 18 CC +T 44 00 00 00 75 FE DD 74 FF 2B 70 18 C4 R 00 00 01 00 -T 45 00 00 00 +T 4D 00 00 00 R 00 00 01 00 -T 45 00 00 00 DD 6E FE DD 66 FF 36 00 DD 7E FC +T 4D 00 00 00 DD 6E FE DD 66 FF 36 00 DD 7E FC R 00 00 01 00 -T 50 00 00 00 DD A6 FD 3C 20 16 DD 6E 02 DD 66 +T 58 00 00 00 DD A6 FD 3C 20 16 DD 6E 02 DD 66 R 00 00 01 00 -T 5B 00 00 00 03 DD 4E FE DD 46 FF A7 ED 42 20 +T 63 00 00 00 03 DD 4E FE DD 46 FF A7 ED 42 20 R 00 00 01 00 -T 66 00 00 00 05 21 00 00 18 06 +T 6E 00 00 00 05 21 00 00 18 06 R 00 00 01 00 -T 6C 00 00 00 +T 74 00 00 00 R 00 00 01 00 -T 6C 00 00 00 DD 6E 02 DD 66 03 +T 74 00 00 00 DD 6E 02 DD 66 03 R 00 00 01 00 -T 72 00 00 00 +T 7A 00 00 00 R 00 00 01 00 -T 72 00 00 00 C3 00 00 00 00 +T 7A 00 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 02 00 -T 75 00 00 00 -R 00 00 01 00 -T 75 00 00 00 CD 00 00 00 00 FE FF 01 -R 00 00 01 00 02 05 07 00 -T 7B 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E -R 00 00 01 00 02 04 06 00 -T 84 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T 89 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 00 00 -T 92 00 00 00 A4 3C 28 13 01 00 00 00 00 11 -R 00 00 01 00 02 09 06 00 -T 9A 00 00 00 0A 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 05 00 -T 9F 00 00 00 00 00 00 00 CD 00 00 00 00 7D A4 +T 7D 00 00 00 +R 00 00 01 00 +T 7D 00 00 00 CD 00 00 00 00 FE FF 21 40 00 ED +R 00 00 01 00 02 05 06 00 +T 86 00 00 00 4B 00 00 00 00 09 4E 23 46 DD 5E +R 00 00 01 00 02 05 03 00 +T 8F 00 00 00 02 DD 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 07 00 +T 96 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 07 00 02 09 00 00 +T 9D 00 00 00 FE DD 74 FF 7D A4 3C 28 1B 21 +R 00 00 01 00 +T A7 00 00 00 40 00 ED 4B 00 00 00 00 09 4E 23 +R 00 00 01 00 02 08 03 00 +T B0 00 00 00 46 11 0A 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 05 00 +T B7 00 00 00 00 00 00 00 CD 00 00 00 00 7D A4 R 00 00 01 00 02 04 05 00 02 09 00 00 -T A6 00 00 00 3C 20 05 +T BE 00 00 00 3C 20 05 R 00 00 01 00 -T A9 00 00 00 +T C1 00 00 00 R 00 00 01 00 -T A9 00 00 00 +T C1 00 00 00 R 00 00 01 00 -T A9 00 00 00 +T C1 00 00 00 R 00 00 01 00 -T A9 00 00 00 21 FF FF 18 0D +T C1 00 00 00 21 FF FF 18 0D R 00 00 01 00 -T AE 00 00 00 +T C6 00 00 00 R 00 00 01 00 -T AE 00 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD +T C6 00 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD R 00 00 01 00 -T B9 00 00 00 74 FF +T D1 00 00 00 74 FF R 00 00 01 00 -T BB 00 00 00 +T D3 00 00 00 R 00 00 01 00 -T BB 00 00 00 C3 00 00 00 00 +T D3 00 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/crt_banked_lib/longjmp.rel b/src/nos/lib/crt_banked_lib/longjmp_banked.rel similarity index 100% rename from src/nos/lib/crt_banked_lib/longjmp.rel rename to src/nos/lib/crt_banked_lib/longjmp_banked.rel diff --git a/src/nos/lib/crt_banked_lib/opendir.rel b/src/nos/lib/crt_banked_lib/opendir.rel index 6ef7f865..5f59976e 100644 --- a/src/nos/lib/crt_banked_lib/opendir.rel +++ b/src/nos/lib/crt_banked_lib/opendir.rel @@ -35,7 +35,7 @@ T 2B 00 00 00 B0 20 10 R 00 00 01 00 T 2E 00 00 00 R 00 00 01 00 -T 2E 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 2E 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 37 00 00 00 14 23 36 00 C3 E9 00 00 00 R 00 00 01 00 00 09 01 00 @@ -49,7 +49,7 @@ T 4D 00 00 00 75 FE DD 74 FF 7D B4 20 10 R 00 00 01 00 T 56 00 00 00 R 00 00 01 00 -T 56 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 56 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 5F 00 00 00 0C 23 36 00 C3 E9 00 00 00 R 00 00 01 00 00 09 01 00 @@ -69,7 +69,7 @@ T 89 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 R 00 00 01 00 2B 0B 04 00 T 91 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 04 00 02 0A 00 00 -T 98 00 00 00 4D 00 ED 4B 00 00 00 00 09 36 0C +T 98 00 00 00 4F 00 ED 4B 00 00 00 00 09 36 0C R 00 00 01 00 02 08 02 00 T A1 00 00 00 23 36 00 18 43 R 00 00 01 00 diff --git a/src/nos/lib/crt_banked_lib/perror.rel b/src/nos/lib/crt_banked_lib/perror.rel index b532bde6..fd0c7ffb 100644 --- a/src/nos/lib/crt_banked_lib/perror.rel +++ b/src/nos/lib/crt_banked_lib/perror.rel @@ -60,7 +60,7 @@ T 59 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 R 00 00 01 00 00 0B 01 00 T 62 00 00 00 11 06 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 00 05 02 00 00 0A 01 00 -T 69 00 00 00 4D 00 ED 4B 00 00 00 00 09 5E 23 +T 69 00 00 00 4F 00 ED 4B 00 00 00 00 09 5E 23 R 00 00 01 00 02 08 04 00 T 72 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 01 00 02 0B 01 00 diff --git a/src/nos/lib/crt_banked_lib/putpwent.rel b/src/nos/lib/crt_banked_lib/putpwent.rel index 8c5b69e2..c8765135 100644 --- a/src/nos/lib/crt_banked_lib/putpwent.rel +++ b/src/nos/lib/crt_banked_lib/putpwent.rel @@ -23,7 +23,7 @@ T 0F 00 00 00 R 00 00 01 00 T 0F 00 00 00 R 00 00 01 00 -T 0F 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 0F 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 18 00 00 00 16 23 36 00 21 FF FF 18 66 R 00 00 01 00 diff --git a/src/nos/lib/crt_banked_lib/readdir.rel b/src/nos/lib/crt_banked_lib/readdir.rel index 0cdd314f..2802bfeb 100644 --- a/src/nos/lib/crt_banked_lib/readdir.rel +++ b/src/nos/lib/crt_banked_lib/readdir.rel @@ -28,7 +28,7 @@ T 27 00 00 00 R 00 00 01 00 T 27 00 00 00 R 00 00 01 00 -T 27 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 27 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 05 00 T 30 00 00 00 0E 23 36 00 R 00 00 01 00 diff --git a/src/nos/lib/crt_banked_lib/regexp.rel b/src/nos/lib/crt_banked_lib/regexp.rel index 9dbc5c6c..6a96b3eb 100644 --- a/src/nos/lib/crt_banked_lib/regexp.rel +++ b/src/nos/lib/crt_banked_lib/regexp.rel @@ -1,16 +1,23 @@ XL4 -H 4 areas 15 global symbols +H 6 areas 1F global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S _sprintf Ref00000000 S _strncmp Ref00000000 S _strcspn Ref00000000 +S _strcat Ref00000000 S ?L_INC_L03 Ref00000000 +S _printf Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S _stderr Ref00000000 S _strchr Ref00000000 S _strlen Ref00000000 S ?LEAVE_DIRECT_L09 Ref00000000 S ?L_ADDASG_L03 Ref00000000 S .__.ABS. Def00000000 +S _fputc Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 +S _stdout Ref00000000 +S _strcpy Ref00000000 S _regerror Ref00000000 S ?SL_CMP_L03 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 @@ -18,25 +25,30 @@ S ?SS_CMP_L02 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _malloc Ref00000000 S ?C_V_SWITCH_L06 Ref00000000 +S _fprintf Ref00000000 S ?SS_RSH_L02 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 135D flags 0 +A CODE size 16B6 flags 0 S _regexec Def00000BF6 S _regcomp Def00000000 -A CSTR size 132 flags 0 -A UDATA0 size 13 flags 0 +S _regdump Def000013A9 +A CSTR size 1D9 flags 0 +A UDATA0 size 45 flags 0 +A IDATA0 size 2 flags 0 +S _regnarrate Def00000000 +A CDATA0 size 2 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F6 FF DD 7E 02 DD -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 14 00 T 09 00 00 00 B6 03 20 11 R 00 00 01 00 T 0D 00 00 00 R 00 00 01 00 T 0D 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 T 13 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 T 19 00 00 00 00 00 C3 FC 01 00 00 R 00 00 01 00 00 07 01 00 T 1E 00 00 00 @@ -66,13 +78,13 @@ R 00 00 01 00 T 66 00 00 00 09 00 00 00 2A 07 00 00 00 CD R 00 00 01 00 00 04 03 00 00 09 03 00 T 6C 00 00 00 00 00 00 00 38 11 -R 00 00 01 00 02 04 0C 00 +R 00 00 01 00 02 04 13 00 T 70 00 00 00 R 00 00 01 00 T 70 00 00 00 11 0E 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 T 76 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 T 7C 00 00 00 00 00 C3 FC 01 00 00 R 00 00 01 00 00 07 01 00 T 81 00 00 00 @@ -80,7 +92,7 @@ R 00 00 01 00 T 81 00 00 00 2A 07 00 00 00 01 2F 00 09 EB 3E R 00 00 01 00 00 05 03 00 T 8A 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 10 00 02 09 10 00 +R 00 00 01 00 2B 04 17 00 02 09 17 00 T 8F 00 00 00 00 00 00 00 DD 75 F6 DD 74 F7 7D R 00 00 01 00 02 04 00 00 T 98 00 00 00 B4 20 11 @@ -88,9 +100,9 @@ R 00 00 01 00 T 9B 00 00 00 R 00 00 01 00 T 9B 00 00 00 11 1D 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 T A1 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 T A7 00 00 00 00 00 C3 FC 01 00 00 R 00 00 01 00 00 07 01 00 T AC 00 00 00 @@ -121,7 +133,7 @@ T FA 00 00 00 AF 77 23 77 21 2C 00 09 AF 77 23 R 00 00 01 00 T 05 01 00 00 77 21 2E 00 09 23 DD 75 F8 DD 74 R 00 00 01 00 -T 10 01 00 00 F9 EB CD E9 12 00 00 7E B7 C2 +T 10 01 00 00 F9 EB CD 35 13 00 00 7E B7 C2 R 00 00 01 00 00 07 01 00 T 18 01 00 00 F6 01 00 00 R 00 00 01 00 00 04 01 00 @@ -170,7 +182,7 @@ R 00 00 01 00 T 83 01 00 00 DD 5E F8 DD 56 F9 13 13 13 3E R 00 00 01 00 T 8D 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 92 01 00 00 00 00 00 00 DD 4E FC DD 46 FD A7 R 00 00 01 00 02 04 00 00 T 9B 01 00 00 ED 42 38 26 @@ -186,14 +198,14 @@ R 00 00 01 00 T AA 01 00 00 FA DD 74 FB DD 5E F8 DD 56 F9 13 R 00 00 01 00 T B5 01 00 00 13 13 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 06 00 +R 00 00 01 00 2B 07 0A 00 T BA 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 06 00 02 09 00 00 +R 00 00 01 00 02 04 0A 00 02 09 00 00 T C1 01 00 00 FC DD 74 FD R 00 00 01 00 T C5 01 00 00 R 00 00 01 00 -T C5 01 00 00 DD 5E F8 DD 56 F9 CD E9 12 00 00 +T C5 01 00 00 DD 5E F8 DD 56 F9 CD 35 13 00 00 R 00 00 01 00 00 0B 01 00 T CE 01 00 00 DD 75 F8 DD 74 F9 18 9A R 00 00 01 00 @@ -214,11 +226,11 @@ R 00 00 01 00 T FC 01 00 00 R 00 00 01 00 T FC 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 07 00 T FF 01 00 00 R 00 00 01 00 T FF 01 00 00 CD 00 00 00 00 F6 FF 69 60 36 01 -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 14 00 T 08 02 00 00 23 36 00 DD 7E 02 DD B6 03 28 40 R 00 00 01 00 T 13 02 00 00 @@ -230,9 +242,9 @@ R 00 00 01 00 T 21 02 00 00 R 00 00 01 00 T 21 02 00 00 11 2A 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 T 27 02 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 T 2D 02 00 00 00 00 C3 FD 03 00 00 R 00 00 01 00 00 07 01 00 T 32 02 00 00 @@ -365,7 +377,7 @@ T 77 03 00 00 DD 4E FA DD 46 FB DD 5E F8 DD 56 R 00 00 01 00 T 82 03 00 00 F9 CD BF 0B 00 00 DD 5E F8 DD 56 R 00 00 01 00 00 06 01 00 -T 8B 03 00 00 F9 CD E9 12 00 00 DD 75 F8 DD 74 +T 8B 03 00 00 F9 CD 35 13 00 00 DD 75 F8 DD 74 R 00 00 01 00 00 06 01 00 T 94 03 00 00 F9 18 D8 R 00 00 01 00 @@ -384,9 +396,9 @@ R 00 00 01 00 T AC 03 00 00 R 00 00 01 00 T AC 03 00 00 11 36 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 T B2 03 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 T B8 03 00 00 00 00 18 41 18 39 R 00 00 01 00 T BE 03 00 00 @@ -406,17 +418,17 @@ R 00 00 01 00 00 05 03 00 T D5 03 00 00 R 00 00 01 00 T D5 03 00 00 11 36 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 T DB 03 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 T E1 03 00 00 00 00 18 18 18 10 R 00 00 01 00 T E7 03 00 00 R 00 00 01 00 T E7 03 00 00 11 43 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 T ED 03 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 T F3 03 00 00 00 00 18 06 R 00 00 01 00 T F7 03 00 00 @@ -430,11 +442,11 @@ R 00 00 01 00 T FD 03 00 00 R 00 00 01 00 T FD 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 0B 00 T 00 04 00 00 R 00 00 01 00 T 00 04 00 00 CD 00 00 00 00 F8 FF DD 6E 02 DD -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 14 00 T 09 04 00 00 66 03 AF 77 23 77 1E 06 CD R 00 00 01 00 T 12 04 00 00 D3 09 00 00 DD 75 F8 DD 74 F9 AF @@ -508,11 +520,11 @@ R 00 00 01 00 T BE 04 00 00 R 00 00 01 00 T BE 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 0B 00 T C1 04 00 00 R 00 00 01 00 T C1 04 00 00 CD 00 00 00 00 F8 FF 21 05 00 39 -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 14 00 T CA 04 00 00 5D 54 CD AC 06 00 00 DD 75 F8 DD R 00 00 01 00 00 07 01 00 T D3 04 00 00 74 F9 7D B4 20 06 @@ -550,9 +562,9 @@ R 00 00 01 00 T 28 05 00 00 R 00 00 01 00 T 28 05 00 00 11 4F 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 T 2E 05 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 T 34 05 00 00 00 00 C3 A9 06 00 00 R 00 00 01 00 00 07 01 00 T 39 05 00 00 @@ -694,9 +706,9 @@ R 00 00 01 00 T 93 06 00 00 R 00 00 01 00 T 93 06 00 00 11 69 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 T 99 06 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 T 9F 06 00 00 00 00 18 06 R 00 00 01 00 T A3 06 00 00 @@ -706,17 +718,17 @@ R 00 00 01 00 T A9 06 00 00 R 00 00 01 00 T A9 06 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 0B 00 T AC 06 00 00 R 00 00 01 00 T AC 06 00 00 CD 00 00 00 00 F8 FF DD 6E 02 DD -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 14 00 T B5 06 00 00 66 03 AF 77 23 77 2A 00 00 00 00 R 00 00 01 00 00 0B 03 00 T BE 06 00 00 23 22 00 00 00 00 2B 5E CD R 00 00 01 00 00 06 03 00 T C5 06 00 00 00 00 00 00 0C 00 00 24 28 29 2A -R 00 00 01 00 02 04 11 00 +R 00 00 01 00 02 04 18 00 T CE 06 00 00 2B 2E 3F 5B 5C 5E 7C F0 08 00 00 R 00 00 01 00 00 0B 01 00 T D7 06 00 00 85 08 00 00 EF 06 00 00 @@ -828,13 +840,13 @@ R 00 00 01 00 00 0B 03 00 T B6 07 00 00 5E 16 00 DD 73 FE DD 72 FF EB 23 R 00 00 01 00 T C1 07 00 00 CD 00 00 00 00 30 11 -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 15 00 T C6 07 00 00 R 00 00 01 00 T C6 07 00 00 11 74 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 T CC 07 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 T D2 07 00 00 00 00 C3 D0 09 00 00 R 00 00 01 00 00 07 01 00 T D7 07 00 00 @@ -844,7 +856,7 @@ R 00 00 01 00 T D7 07 00 00 DD 4E FC DD 46 FD DD 6E FE DD 66 R 00 00 01 00 T E2 07 00 00 FF CD 00 00 00 00 38 13 -R 00 00 01 00 02 06 0E 00 +R 00 00 01 00 02 06 15 00 T E8 07 00 00 R 00 00 01 00 T E8 07 00 00 DD 5E FC DD 56 FD 13 DD 73 FC DD @@ -878,9 +890,9 @@ R 00 00 01 00 00 04 03 00 T 23 08 00 00 R 00 00 01 00 T 23 08 00 00 11 85 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 T 29 08 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 T 2F 08 00 00 00 00 C3 D0 09 00 00 R 00 00 01 00 00 07 01 00 T 34 08 00 00 @@ -914,17 +926,17 @@ R 00 00 01 00 00 08 01 00 T 85 08 00 00 R 00 00 01 00 T 85 08 00 00 11 92 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 T 8B 08 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 T 91 08 00 00 00 00 C3 D0 09 00 00 R 00 00 01 00 00 07 01 00 T 96 08 00 00 R 00 00 01 00 T 96 08 00 00 11 9F 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 T 9C 08 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 T A2 08 00 00 00 00 C3 D0 09 00 00 R 00 00 01 00 00 07 01 00 T A7 08 00 00 @@ -934,9 +946,9 @@ R 00 00 01 00 00 05 03 00 T AE 08 00 00 R 00 00 01 00 T AE 08 00 00 11 B3 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 T B4 08 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 T BA 08 00 00 00 00 C3 D0 09 00 00 R 00 00 01 00 00 07 01 00 T BF 08 00 00 @@ -962,17 +974,17 @@ R 00 00 01 00 00 05 02 00 00 0B 03 00 T F7 08 00 00 1B ED 53 00 00 00 00 3E R 00 00 01 00 00 07 03 00 T FD 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T 02 09 00 00 00 00 00 00 DD 75 FC DD 74 FD 4D R 00 00 01 00 02 04 00 00 T 0B 09 00 00 44 21 00 00 CD 00 00 00 00 38 11 -R 00 00 01 00 02 09 0E 00 +R 00 00 01 00 02 09 15 00 T 14 09 00 00 R 00 00 01 00 T 14 09 00 00 11 CA 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 T 1A 09 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 T 20 09 00 00 00 00 C3 D0 09 00 00 R 00 00 01 00 00 07 01 00 T 25 09 00 00 @@ -984,7 +996,7 @@ R 00 00 01 00 00 04 03 00 T 36 09 00 00 FC DD 46 FD 21 01 00 CD R 00 00 01 00 T 3E 09 00 00 00 00 00 00 30 22 DD 7E FE FE 2A -R 00 00 01 00 02 04 0E 00 +R 00 00 01 00 02 04 15 00 T 47 09 00 00 28 0E DD 7E FE FE 2B 28 07 DD 7E R 00 00 01 00 T 52 09 00 00 FE FE 3F 20 0D @@ -1028,7 +1040,7 @@ R 00 00 01 00 T 97 09 00 00 DD 4E FC DD 46 FD 21 00 00 CD R 00 00 01 00 T A1 09 00 00 00 00 00 00 30 1D -R 00 00 01 00 02 04 0E 00 +R 00 00 01 00 02 04 15 00 T A5 09 00 00 R 00 00 01 00 T A5 09 00 00 2A 00 00 00 00 23 22 00 00 00 00 @@ -1050,11 +1062,11 @@ R 00 00 01 00 T D0 09 00 00 R 00 00 01 00 T D0 09 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 0B 00 T D3 09 00 00 R 00 00 01 00 T D3 09 00 00 CD 00 00 00 00 FC FF 2A -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 14 00 T D9 09 00 00 05 00 00 00 DD 75 FC DD 74 FD 01 R 00 00 01 00 00 04 03 00 T E2 09 00 00 04 00 00 00 A7 ED 42 20 14 @@ -1064,7 +1076,7 @@ R 00 00 01 00 T E9 09 00 00 21 07 00 00 00 01 00 00 11 03 00 R 00 00 01 00 00 05 03 00 T F2 09 00 00 CD 00 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 0C 00 T FB 09 00 00 18 47 R 00 00 01 00 T FD 09 00 00 @@ -1086,11 +1098,11 @@ R 00 00 01 00 00 04 03 00 T 44 0A 00 00 R 00 00 01 00 T 44 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 0B 00 T 47 0A 00 00 R 00 00 01 00 T 47 0A 00 00 CD 00 00 00 00 21 04 00 00 00 ED -R 00 00 01 00 02 05 0A 00 00 0A 03 00 +R 00 00 01 00 02 05 0F 00 00 0A 03 00 T 4E 0A 00 00 4B 05 00 00 00 A7 ED 42 28 0E R 00 00 01 00 00 05 03 00 T 56 0A 00 00 @@ -1104,17 +1116,17 @@ R 00 00 01 00 T 64 0A 00 00 2A 07 00 00 00 ED 4B 09 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 6B 0A 00 00 CD 00 00 00 00 22 07 00 00 00 ED -R 00 00 01 00 02 05 03 00 00 0A 03 00 +R 00 00 01 00 02 05 05 00 00 0A 03 00 T 72 0A 00 00 43 09 00 00 00 R 00 00 01 00 00 05 03 00 T 75 0A 00 00 R 00 00 01 00 T 75 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 0B 00 T 78 0A 00 00 R 00 00 01 00 T 78 0A 00 00 CD 00 00 00 00 FA FF 21 -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 14 00 T 7E 0A 00 00 04 00 00 00 ED 5B 05 00 00 00 A7 R 00 00 01 00 00 04 03 00 00 0A 03 00 T 85 0A 00 00 ED 52 20 0F @@ -1124,7 +1136,7 @@ R 00 00 01 00 T 89 0A 00 00 21 07 00 00 00 01 00 00 11 03 00 R 00 00 01 00 00 05 03 00 T 92 0A 00 00 CD 00 00 00 00 C3 19 0B 00 00 -R 00 00 01 00 02 05 08 00 00 0A 01 00 +R 00 00 01 00 02 05 0C 00 00 0A 01 00 T 98 0A 00 00 R 00 00 01 00 T 98 0A 00 00 2A 05 00 00 00 DD 75 FA DD 74 FB @@ -1164,11 +1176,11 @@ R 00 00 01 00 T 19 0B 00 00 R 00 00 01 00 T 19 0B 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 0B 00 T 1C 0B 00 00 R 00 00 01 00 T 1C 0B 00 00 CD 00 00 00 00 FA FF 21 -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 14 00 T 22 0B 00 00 04 00 00 00 DD 5E 02 DD 56 03 A7 R 00 00 01 00 00 04 03 00 T 2B 0B 00 00 ED 52 20 03 @@ -1185,7 +1197,7 @@ T 3D 0B 00 00 FB R 00 00 01 00 T 3E 0B 00 00 R 00 00 01 00 -T 3E 0B 00 00 DD 5E FA DD 56 FB CD E9 12 00 00 +T 3E 0B 00 00 DD 5E FA DD 56 FB CD 35 13 00 00 R 00 00 01 00 00 0B 01 00 T 47 0B 00 00 DD 75 FC DD 74 FD 7D B4 20 02 R 00 00 01 00 @@ -1222,7 +1234,7 @@ R 00 00 01 00 T 98 0B 00 00 06 08 DD 5E FE DD 56 FF CD R 00 00 01 00 T A1 0B 00 00 00 00 00 00 7B E6 FF DD 6E FA DD -R 00 00 01 00 02 04 12 00 +R 00 00 01 00 02 04 1A 00 T AA 0B 00 00 66 FB 23 77 DD 7E FE E6 FF DD 6E R 00 00 01 00 T B5 0B 00 00 FA DD 66 FB 23 23 77 @@ -1230,11 +1242,11 @@ R 00 00 01 00 T BC 0B 00 00 R 00 00 01 00 T BC 0B 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 0B 00 T BF 0B 00 00 R 00 00 01 00 T BF 0B 00 00 CD 00 00 00 00 7B B2 28 19 21 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0F 00 T C7 0B 00 00 04 00 00 00 DD 4E 02 DD 46 03 A7 R 00 00 01 00 00 04 03 00 T D0 0B 00 00 ED 42 28 0B DD 6E 02 DD 66 03 7E @@ -1258,11 +1270,11 @@ R 00 00 01 00 00 09 01 00 T F3 0B 00 00 R 00 00 01 00 T F3 0B 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 0B 00 T F6 0B 00 00 R 00 00 01 00 T F6 0B 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 14 00 T FF 0B 00 00 B6 03 28 08 DD 7E 04 DD B6 05 20 R 00 00 01 00 T 0A 0C 00 00 11 @@ -1274,9 +1286,9 @@ R 00 00 01 00 T 0B 0C 00 00 R 00 00 01 00 T 0B 0C 00 00 11 DC 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 T 11 0C 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 T 17 0C 00 00 00 00 C3 7F 0D 00 00 R 00 00 01 00 00 07 01 00 T 1C 0C 00 00 @@ -1288,9 +1300,9 @@ R 00 00 01 00 T 2F 0C 00 00 R 00 00 01 00 T 2F 0C 00 00 11 EB 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 T 35 0C 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 T 3B 0C 00 00 00 00 C3 7F 0D 00 00 R 00 00 01 00 00 07 01 00 T 40 0C 00 00 @@ -1312,7 +1324,7 @@ R 00 00 01 00 T 66 0C 00 00 23 66 6F 4E 06 00 DD 5E FE DD 56 R 00 00 01 00 T 71 0C 00 00 FF 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 +R 00 00 01 00 2B 06 09 00 02 0B 09 00 T 77 0C 00 00 CD 00 00 00 00 DD 75 FE DD 74 FF R 00 00 01 00 02 05 00 00 T 80 0C 00 00 7D B4 28 34 @@ -1324,9 +1336,9 @@ R 00 00 01 00 T 8F 0C 00 00 23 56 D5 21 2A 00 09 4E 23 46 DD R 00 00 01 00 T 9A 0C 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 01 00 +R 00 00 01 00 2B 0A 02 00 T A2 0C 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 01 00 02 09 00 00 +R 00 00 01 00 02 04 02 00 02 09 00 00 T A9 0C 00 00 B4 20 02 R 00 00 01 00 T AC 0C 00 00 @@ -1382,7 +1394,7 @@ R 00 00 01 00 T 14 0D 00 00 06 00 DD 5E FE DD 56 FF 3E R 00 00 01 00 T 1D 0D 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 +R 00 00 01 00 2B 04 09 00 02 09 09 00 T 22 0D 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D R 00 00 01 00 02 04 00 00 T 2B 0D 00 00 B4 28 22 @@ -1436,11 +1448,11 @@ R 00 00 01 00 T 7F 0D 00 00 R 00 00 01 00 T 7F 0D 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 07 00 T 82 0D 00 00 R 00 00 01 00 T 82 0D 00 00 CD 00 00 00 00 FA FF ED 43 -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 14 00 T 89 0D 00 00 0B 00 00 00 DD 6E 02 DD 66 03 22 R 00 00 01 00 00 04 03 00 T 92 0D 00 00 0F 00 00 00 21 14 00 DD 4E 02 DD @@ -1492,575 +1504,929 @@ R 00 00 01 00 T 38 0E 00 00 R 00 00 01 00 T 38 0E 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 0B 00 T 3B 0E 00 00 R 00 00 01 00 T 3B 0E 00 00 CD 00 00 00 00 F4 FF DD 6E 02 DD -R 00 00 01 00 02 05 0D 00 -T 44 0E 00 00 66 03 DD 75 F4 DD 74 F5 +R 00 00 01 00 02 05 14 00 +T 44 0E 00 00 66 03 DD 75 F4 DD 74 F5 7D B4 28 R 00 00 01 00 -T 4C 0E 00 00 +T 4F 0E 00 00 24 2A 00 00 00 00 7D B4 28 1D +R 00 00 01 00 00 06 04 00 +T 57 0E 00 00 R 00 00 01 00 -T 4C 0E 00 00 DD 7E F4 DD B6 F5 CA B5 11 00 00 +T 57 0E 00 00 +R 00 00 01 00 +T 57 0E 00 00 +R 00 00 01 00 +T 57 0E 00 00 DD 5E F4 DD 56 F5 CD 40 15 00 00 R 00 00 01 00 00 0B 01 00 -T 55 0E 00 00 +T 60 0E 00 00 E5 21 FD 00 00 00 E5 21 +R 00 00 01 00 00 06 02 00 +T 66 0E 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 08 00 2B 0A 19 00 +T 6C 0E 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 19 00 02 09 00 00 +T 73 0E 00 00 F1 +R 00 00 01 00 +T 74 0E 00 00 +R 00 00 01 00 +T 74 0E 00 00 R 00 00 01 00 -T 55 0E 00 00 DD 5E F4 DD 56 F5 CD E9 12 00 00 +T 74 0E 00 00 DD 7E F4 DD B6 F5 CA 01 12 00 00 R 00 00 01 00 00 0B 01 00 -T 5E 0E 00 00 DD 75 F6 DD 74 F7 DD 6E F4 DD 66 +T 7D 0E 00 00 R 00 00 01 00 -T 69 0E 00 00 F5 7E FE 01 20 15 +T 7D 0E 00 00 2A 00 00 00 00 7D B4 28 1D +R 00 00 01 00 00 05 04 00 +T 84 0E 00 00 +R 00 00 01 00 +T 84 0E 00 00 DD 5E F4 DD 56 F5 CD 40 15 00 00 +R 00 00 01 00 00 0B 01 00 +T 8D 0E 00 00 E5 21 02 01 00 00 E5 21 +R 00 00 01 00 00 06 02 00 +T 93 0E 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 08 00 2B 0A 19 00 +T 99 0E 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 19 00 02 09 00 00 +T A0 0E 00 00 F1 R 00 00 01 00 -T 6F 0E 00 00 +T A1 0E 00 00 R 00 00 01 00 -T 6F 0E 00 00 2A 0D 00 00 00 ED 4B 0B 00 00 00 +T A1 0E 00 00 DD 5E F4 DD 56 F5 CD 35 13 00 00 +R 00 00 01 00 00 0B 01 00 +T AA 0E 00 00 DD 75 F6 DD 74 F7 DD 6E F4 DD 66 +R 00 00 01 00 +T B5 0E 00 00 F5 7E FE 01 20 15 +R 00 00 01 00 +T BB 0E 00 00 +R 00 00 01 00 +T BB 0E 00 00 2A 0D 00 00 00 ED 4B 0B 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 76 0E 00 00 A7 ED 42 28 06 +T C2 0E 00 00 A7 ED 42 28 06 R 00 00 01 00 -T 7B 0E 00 00 +T C7 0E 00 00 R 00 00 01 00 -T 7B 0E 00 00 21 00 00 C3 C3 11 00 00 +T C7 0E 00 00 21 00 00 C3 0F 12 00 00 R 00 00 01 00 00 08 01 00 -T 81 0E 00 00 +T CD 0E 00 00 R 00 00 01 00 -T 81 0E 00 00 C3 A6 11 00 00 +T CD 0E 00 00 C3 F2 11 00 00 R 00 00 01 00 00 05 01 00 -T 84 0E 00 00 +T D0 0E 00 00 R 00 00 01 00 -T 84 0E 00 00 FE 02 20 10 2A 0B 00 00 00 AF B6 +T D0 0E 00 00 FE 02 20 10 2A 0B 00 00 00 AF B6 R 00 00 01 00 00 09 03 00 -T 8D 0E 00 00 28 06 +T D9 0E 00 00 28 06 R 00 00 01 00 -T 8F 0E 00 00 +T DB 0E 00 00 R 00 00 01 00 -T 8F 0E 00 00 21 00 00 C3 C3 11 00 00 +T DB 0E 00 00 21 00 00 C3 0F 12 00 00 R 00 00 01 00 00 08 01 00 -T 95 0E 00 00 +T E1 0E 00 00 R 00 00 01 00 -T 95 0E 00 00 C3 A6 11 00 00 +T E1 0E 00 00 C3 F2 11 00 00 R 00 00 01 00 00 05 01 00 -T 98 0E 00 00 +T E4 0E 00 00 R 00 00 01 00 -T 98 0E 00 00 FE 03 20 17 2A 0B 00 00 00 AF B6 +T E4 0E 00 00 FE 03 20 17 2A 0B 00 00 00 AF B6 R 00 00 01 00 00 09 03 00 -T A1 0E 00 00 20 06 +T ED 0E 00 00 20 06 R 00 00 01 00 -T A3 0E 00 00 +T EF 0E 00 00 R 00 00 01 00 -T A3 0E 00 00 21 00 00 C3 C3 11 00 00 +T EF 0E 00 00 21 00 00 C3 0F 12 00 00 R 00 00 01 00 00 08 01 00 -T A9 0E 00 00 +T F5 0E 00 00 R 00 00 01 00 -T A9 0E 00 00 2A 0B 00 00 00 23 22 0B 00 00 00 +T F5 0E 00 00 2A 0B 00 00 00 23 22 0B 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T B0 0E 00 00 C3 A6 11 00 00 +T FC 0E 00 00 C3 F2 11 00 00 R 00 00 01 00 00 05 01 00 -T B3 0E 00 00 +T FF 0E 00 00 R 00 00 01 00 -T B3 0E 00 00 FE 08 20 77 DD 6E F4 DD 66 F5 23 +T FF 0E 00 00 FE 08 20 77 DD 6E F4 DD 66 F5 23 R 00 00 01 00 -T BE 0E 00 00 23 23 DD 75 FA DD 74 FB 2A +T 0A 0F 00 00 23 23 DD 75 FA DD 74 FB 2A R 00 00 01 00 -T C7 0E 00 00 0B 00 00 00 E5 DD 6E FA DD 66 FB +T 13 0F 00 00 0B 00 00 00 E5 DD 6E FA DD 66 FB R 00 00 01 00 00 04 03 00 -T D0 0E 00 00 7E E1 BE 28 06 +T 1C 0F 00 00 7E E1 BE 28 06 R 00 00 01 00 -T D5 0E 00 00 +T 21 0F 00 00 R 00 00 01 00 -T D5 0E 00 00 21 00 00 C3 C3 11 00 00 +T 21 0F 00 00 21 00 00 C3 0F 12 00 00 R 00 00 01 00 00 08 01 00 -T DB 0E 00 00 +T 27 0F 00 00 R 00 00 01 00 -T DB 0E 00 00 DD 5E FA DD 56 FB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 06 00 -T E3 0E 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 06 00 02 0A 00 00 -T EA 0E 00 00 75 F8 DD 74 F9 4D 44 21 01 00 CD +T 27 0F 00 00 DD 5E FA DD 56 FB 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0A 00 +T 2F 0F 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 0A 00 02 0A 00 00 +T 36 0F 00 00 75 F8 DD 74 F9 4D 44 21 01 00 CD R 00 00 01 00 -T F5 0E 00 00 00 00 00 00 30 24 DD 6E F8 DD 66 -R 00 00 01 00 02 04 0E 00 -T FE 0E 00 00 F9 E5 ED 4B 0B 00 00 00 DD 5E FA +T 41 0F 00 00 00 00 00 00 30 24 DD 6E F8 DD 66 +R 00 00 01 00 02 04 15 00 +T 4A 0F 00 00 F9 E5 ED 4B 0B 00 00 00 DD 5E FA R 00 00 01 00 00 08 03 00 -T 07 0F 00 00 DD 56 FB 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 01 00 -T 0D 0F 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 01 00 02 09 00 00 -T 14 0F 00 00 B4 28 06 +T 53 0F 00 00 DD 56 FB 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 02 00 +T 59 0F 00 00 00 00 00 00 CD 00 00 00 00 F1 7D +R 00 00 01 00 02 04 02 00 02 09 00 00 +T 60 0F 00 00 B4 28 06 R 00 00 01 00 -T 17 0F 00 00 +T 63 0F 00 00 R 00 00 01 00 -T 17 0F 00 00 +T 63 0F 00 00 R 00 00 01 00 -T 17 0F 00 00 +T 63 0F 00 00 R 00 00 01 00 -T 17 0F 00 00 21 00 00 C3 C3 11 00 00 +T 63 0F 00 00 21 00 00 C3 0F 12 00 00 R 00 00 01 00 00 08 01 00 -T 1D 0F 00 00 +T 69 0F 00 00 R 00 00 01 00 -T 1D 0F 00 00 DD 6E F8 DD 66 F9 ED 4B +T 69 0F 00 00 DD 6E F8 DD 66 F9 ED 4B R 00 00 01 00 -T 25 0F 00 00 0B 00 00 00 09 22 0B 00 00 00 C3 +T 71 0F 00 00 0B 00 00 00 09 22 0B 00 00 00 C3 R 00 00 01 00 00 04 03 00 00 0A 03 00 -T 2C 0F 00 00 A6 11 00 00 +T 78 0F 00 00 F2 11 00 00 R 00 00 01 00 00 04 01 00 -T 2E 0F 00 00 +T 7A 0F 00 00 R 00 00 01 00 -T 2E 0F 00 00 FE 04 20 32 2A 0B 00 00 00 AF B6 +T 7A 0F 00 00 FE 04 20 32 2A 0B 00 00 00 AF B6 R 00 00 01 00 00 09 03 00 -T 37 0F 00 00 28 1B 2A 0B 00 00 00 4E 06 00 DD +T 83 0F 00 00 28 1B 2A 0B 00 00 00 4E 06 00 DD R 00 00 01 00 00 07 03 00 -T 40 0F 00 00 5E F4 DD 56 F5 13 13 13 3E +T 8C 0F 00 00 5E F4 DD 56 F5 13 13 13 3E R 00 00 01 00 -T 49 0F 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 -T 4E 0F 00 00 00 00 00 00 7D B4 20 06 +T 95 0F 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 09 00 02 09 09 00 +T 9A 0F 00 00 00 00 00 00 7D B4 20 06 R 00 00 01 00 02 04 00 00 -T 54 0F 00 00 +T A0 0F 00 00 R 00 00 01 00 -T 54 0F 00 00 +T A0 0F 00 00 R 00 00 01 00 -T 54 0F 00 00 +T A0 0F 00 00 R 00 00 01 00 -T 54 0F 00 00 21 00 00 C3 C3 11 00 00 +T A0 0F 00 00 21 00 00 C3 0F 12 00 00 R 00 00 01 00 00 08 01 00 -T 5A 0F 00 00 +T A6 0F 00 00 R 00 00 01 00 -T 5A 0F 00 00 2A 0B 00 00 00 23 22 0B 00 00 00 +T A6 0F 00 00 2A 0B 00 00 00 23 22 0B 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 61 0F 00 00 C3 A6 11 00 00 +T AD 0F 00 00 C3 F2 11 00 00 R 00 00 01 00 00 05 01 00 -T 64 0F 00 00 +T B0 0F 00 00 R 00 00 01 00 -T 64 0F 00 00 FE 05 20 32 2A 0B 00 00 00 AF B6 +T B0 0F 00 00 FE 05 20 32 2A 0B 00 00 00 AF B6 R 00 00 01 00 00 09 03 00 -T 6D 0F 00 00 28 1B 2A 0B 00 00 00 4E 06 00 DD +T B9 0F 00 00 28 1B 2A 0B 00 00 00 4E 06 00 DD R 00 00 01 00 00 07 03 00 -T 76 0F 00 00 5E F4 DD 56 F5 13 13 13 3E +T C2 0F 00 00 5E F4 DD 56 F5 13 13 13 3E R 00 00 01 00 -T 7F 0F 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 -T 84 0F 00 00 00 00 00 00 7D B4 28 06 +T CB 0F 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 09 00 02 09 09 00 +T D0 0F 00 00 00 00 00 00 7D B4 28 06 R 00 00 01 00 02 04 00 00 -T 8A 0F 00 00 +T D6 0F 00 00 R 00 00 01 00 -T 8A 0F 00 00 +T D6 0F 00 00 R 00 00 01 00 -T 8A 0F 00 00 +T D6 0F 00 00 R 00 00 01 00 -T 8A 0F 00 00 21 00 00 C3 C3 11 00 00 +T D6 0F 00 00 21 00 00 C3 0F 12 00 00 R 00 00 01 00 00 08 01 00 -T 90 0F 00 00 +T DC 0F 00 00 R 00 00 01 00 -T 90 0F 00 00 2A 0B 00 00 00 23 22 0B 00 00 00 +T DC 0F 00 00 2A 0B 00 00 00 23 22 0B 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 97 0F 00 00 C3 A6 11 00 00 +T E3 0F 00 00 C3 F2 11 00 00 R 00 00 01 00 00 05 01 00 -T 9A 0F 00 00 +T E6 0F 00 00 R 00 00 01 00 -T 9A 0F 00 00 FE 09 20 03 C3 A6 11 00 00 +T E6 0F 00 00 FE 09 20 03 C3 F2 11 00 00 R 00 00 01 00 00 09 01 00 -T A1 0F 00 00 +T ED 0F 00 00 R 00 00 01 00 -T A1 0F 00 00 FE 07 20 03 C3 A6 11 00 00 +T ED 0F 00 00 FE 07 20 03 C3 F2 11 00 00 R 00 00 01 00 00 09 01 00 -T A8 0F 00 00 +T F4 0F 00 00 R 00 00 01 00 -T A8 0F 00 00 FE 15 38 5F FE 1E 30 5B DD 6E F4 +T F4 0F 00 00 FE 15 38 5F FE 1E 30 5B DD 6E F4 R 00 00 01 00 -T B3 0F 00 00 DD 66 F5 4E 06 00 21 EC FF 09 DD +T FF 0F 00 00 DD 66 F5 4E 06 00 21 EC FF 09 DD R 00 00 01 00 -T BE 0F 00 00 75 F8 DD 74 F9 2A 0B 00 00 00 DD +T 0A 10 00 00 75 F8 DD 74 F9 2A 0B 00 00 00 DD R 00 00 01 00 00 0A 03 00 -T C7 0F 00 00 75 FA DD 74 FB DD 5E F6 DD 56 F7 +T 13 10 00 00 75 FA DD 74 FB DD 5E F6 DD 56 F7 R 00 00 01 00 -T D2 0F 00 00 CD 3B 0E 00 00 7D B4 28 2C +T 1E 10 00 00 CD 3B 0E 00 00 7D B4 28 2C R 00 00 01 00 00 05 01 00 -T D9 0F 00 00 +T 25 10 00 00 R 00 00 01 00 -T D9 0F 00 00 DD 6E F8 DD 66 F9 29 ED 4B +T 25 10 00 00 DD 6E F8 DD 66 F9 29 ED 4B R 00 00 01 00 -T E2 0F 00 00 0F 00 00 00 09 7E 23 B6 20 15 +T 2E 10 00 00 0F 00 00 00 09 7E 23 B6 20 15 R 00 00 01 00 00 04 03 00 -T EA 0F 00 00 +T 36 10 00 00 R 00 00 01 00 -T EA 0F 00 00 DD 6E F8 DD 66 F9 29 ED 4B +T 36 10 00 00 DD 6E F8 DD 66 F9 29 ED 4B R 00 00 01 00 -T F3 0F 00 00 0F 00 00 00 09 DD 4E FA DD 46 FB +T 3F 10 00 00 0F 00 00 00 09 DD 4E FA DD 46 FB R 00 00 01 00 00 04 03 00 -T FC 0F 00 00 71 23 70 +T 48 10 00 00 71 23 70 R 00 00 01 00 -T FF 0F 00 00 +T 4B 10 00 00 R 00 00 01 00 -T FF 0F 00 00 21 01 00 C3 C3 11 00 00 +T 4B 10 00 00 21 01 00 C3 0F 12 00 00 R 00 00 01 00 00 08 01 00 -T 05 10 00 00 +T 51 10 00 00 R 00 00 01 00 -T 05 10 00 00 21 00 00 C3 C3 11 00 00 +T 51 10 00 00 21 00 00 C3 0F 12 00 00 R 00 00 01 00 00 08 01 00 -T 0B 10 00 00 +T 57 10 00 00 R 00 00 01 00 -T 0B 10 00 00 FE 1F 38 5F FE 28 30 5B DD 6E F4 +T 57 10 00 00 FE 1F 38 5F FE 28 30 5B DD 6E F4 R 00 00 01 00 -T 16 10 00 00 DD 66 F5 4E 06 00 21 E2 FF 09 DD +T 62 10 00 00 DD 66 F5 4E 06 00 21 E2 FF 09 DD R 00 00 01 00 -T 21 10 00 00 75 F8 DD 74 F9 2A 0B 00 00 00 DD +T 6D 10 00 00 75 F8 DD 74 F9 2A 0B 00 00 00 DD R 00 00 01 00 00 0A 03 00 -T 2A 10 00 00 75 FA DD 74 FB DD 5E F6 DD 56 F7 +T 76 10 00 00 75 FA DD 74 FB DD 5E F6 DD 56 F7 R 00 00 01 00 -T 35 10 00 00 CD 3B 0E 00 00 7D B4 28 2C +T 81 10 00 00 CD 3B 0E 00 00 7D B4 28 2C R 00 00 01 00 00 05 01 00 -T 3C 10 00 00 +T 88 10 00 00 R 00 00 01 00 -T 3C 10 00 00 DD 6E F8 DD 66 F9 29 ED 4B +T 88 10 00 00 DD 6E F8 DD 66 F9 29 ED 4B R 00 00 01 00 -T 45 10 00 00 11 00 00 00 09 7E 23 B6 20 15 +T 91 10 00 00 11 00 00 00 09 7E 23 B6 20 15 R 00 00 01 00 00 04 03 00 -T 4D 10 00 00 +T 99 10 00 00 R 00 00 01 00 -T 4D 10 00 00 DD 6E F8 DD 66 F9 29 ED 4B +T 99 10 00 00 DD 6E F8 DD 66 F9 29 ED 4B R 00 00 01 00 -T 56 10 00 00 11 00 00 00 09 DD 4E FA DD 46 FB +T A2 10 00 00 11 00 00 00 09 DD 4E FA DD 46 FB R 00 00 01 00 00 04 03 00 -T 5F 10 00 00 71 23 70 +T AB 10 00 00 71 23 70 R 00 00 01 00 -T 62 10 00 00 +T AE 10 00 00 R 00 00 01 00 -T 62 10 00 00 21 01 00 C3 C3 11 00 00 +T AE 10 00 00 21 01 00 C3 0F 12 00 00 R 00 00 01 00 00 08 01 00 -T 68 10 00 00 +T B4 10 00 00 R 00 00 01 00 -T 68 10 00 00 21 00 00 C3 C3 11 00 00 +T B4 10 00 00 21 00 00 C3 0F 12 00 00 R 00 00 01 00 00 08 01 00 -T 6E 10 00 00 +T BA 10 00 00 R 00 00 01 00 -T 6E 10 00 00 FE 06 20 6B DD 6E F6 DD 66 F7 7E +T BA 10 00 00 FE 06 20 6B DD 6E F6 DD 66 F7 7E R 00 00 01 00 -T 79 10 00 00 FE 06 28 11 +T C5 10 00 00 FE 06 28 11 R 00 00 01 00 -T 7D 10 00 00 +T C9 10 00 00 R 00 00 01 00 -T 7D 10 00 00 DD 6E F4 DD 66 F5 23 23 23 DD 75 +T C9 10 00 00 DD 6E F4 DD 66 F5 23 23 23 DD 75 R 00 00 01 00 -T 88 10 00 00 F6 DD 74 F7 18 4C +T D4 10 00 00 F6 DD 74 F7 18 4C R 00 00 01 00 -T 8E 10 00 00 +T DA 10 00 00 R 00 00 01 00 -T 8E 10 00 00 +T DA 10 00 00 R 00 00 01 00 -T 8E 10 00 00 2A 0B 00 00 00 DD 75 F8 DD 74 F9 +T DA 10 00 00 2A 0B 00 00 00 DD 75 F8 DD 74 F9 R 00 00 01 00 00 05 03 00 -T 97 10 00 00 DD 5E F4 DD 56 F5 13 13 13 CD +T E3 10 00 00 DD 5E F4 DD 56 F5 13 13 13 CD R 00 00 01 00 -T A1 10 00 00 3B 0E 00 00 7D B4 28 06 +T ED 10 00 00 3B 0E 00 00 7D B4 28 06 R 00 00 01 00 00 04 01 00 -T A7 10 00 00 +T F3 10 00 00 R 00 00 01 00 -T A7 10 00 00 21 01 00 C3 C3 11 00 00 +T F3 10 00 00 21 01 00 C3 0F 12 00 00 R 00 00 01 00 00 08 01 00 -T AD 10 00 00 +T F9 10 00 00 R 00 00 01 00 -T AD 10 00 00 DD 6E F8 DD 66 F9 22 0B 00 00 00 +T F9 10 00 00 DD 6E F8 DD 66 F9 22 0B 00 00 00 R 00 00 01 00 00 0B 03 00 -T B6 10 00 00 DD 5E F4 DD 56 F5 CD E9 12 00 00 +T 02 11 00 00 DD 5E F4 DD 56 F5 CD 35 13 00 00 R 00 00 01 00 00 0B 01 00 -T BF 10 00 00 DD 75 F4 DD 74 F5 7D B4 28 0B DD +T 0B 11 00 00 DD 75 F4 DD 74 F5 7D B4 28 0B DD R 00 00 01 00 -T CA 10 00 00 6E F4 DD 66 F5 7E FE 06 28 BA +T 16 11 00 00 6E F4 DD 66 F5 7E FE 06 28 BA R 00 00 01 00 -T D4 10 00 00 +T 20 11 00 00 R 00 00 01 00 -T D4 10 00 00 21 00 00 C3 C3 11 00 00 +T 20 11 00 00 21 00 00 C3 0F 12 00 00 R 00 00 01 00 00 08 01 00 -T DA 10 00 00 +T 26 11 00 00 R 00 00 01 00 -T DA 10 00 00 C3 A6 11 00 00 +T 26 11 00 00 C3 F2 11 00 00 R 00 00 01 00 00 05 01 00 -T DD 10 00 00 +T 29 11 00 00 R 00 00 01 00 -T DD 10 00 00 FE 0A DA 8D 11 00 00 FE 0C D2 +T 29 11 00 00 FE 0A DA D9 11 00 00 FE 0C D2 R 00 00 01 00 00 07 01 00 -T E5 10 00 00 8D 11 00 00 DD 36 F8 00 DD 6E F6 +T 31 11 00 00 D9 11 00 00 DD 36 F8 00 DD 6E F6 R 00 00 01 00 00 04 01 00 -T EE 10 00 00 DD 66 F7 7E FE 08 20 0D +T 3A 11 00 00 DD 66 F7 7E FE 08 20 0D R 00 00 01 00 -T F6 10 00 00 +T 42 11 00 00 R 00 00 01 00 -T F6 10 00 00 DD 6E F6 DD 66 F7 23 23 23 46 DD +T 42 11 00 00 DD 6E F6 DD 66 F7 23 23 23 46 DD R 00 00 01 00 -T 01 11 00 00 70 F8 +T 4D 11 00 00 70 F8 R 00 00 01 00 -T 03 11 00 00 +T 4F 11 00 00 R 00 00 01 00 -T 03 11 00 00 DD 6E F4 DD 66 F5 7E FE 0A 20 05 +T 4F 11 00 00 DD 6E F4 DD 66 F5 7E FE 0A 20 05 R 00 00 01 00 -T 0E 11 00 00 21 00 00 18 03 +T 5A 11 00 00 21 00 00 18 03 R 00 00 01 00 -T 13 11 00 00 +T 5F 11 00 00 R 00 00 01 00 -T 13 11 00 00 21 01 00 +T 5F 11 00 00 21 01 00 R 00 00 01 00 -T 16 11 00 00 +T 62 11 00 00 R 00 00 01 00 -T 16 11 00 00 DD 75 FD DD 74 FE 2A 0B 00 00 00 +T 62 11 00 00 DD 75 FD DD 74 FE 2A 0B 00 00 00 R 00 00 01 00 00 0B 03 00 -T 1F 11 00 00 DD 75 FB DD 74 FC DD 5E F4 DD 56 +T 6B 11 00 00 DD 75 FB DD 74 FC DD 5E F4 DD 56 R 00 00 01 00 -T 2A 11 00 00 F5 13 13 13 CD C6 11 00 00 DD 75 +T 76 11 00 00 F5 13 13 13 CD 12 12 00 00 DD 75 R 00 00 01 00 00 09 01 00 -T 33 11 00 00 F9 DD 74 FA +T 7F 11 00 00 F9 DD 74 FA R 00 00 01 00 -T 37 11 00 00 +T 83 11 00 00 R 00 00 01 00 -T 37 11 00 00 DD 4E FD DD 46 FE DD 6E F9 DD 66 +T 83 11 00 00 DD 4E FD DD 46 FE DD 6E F9 DD 66 R 00 00 01 00 -T 42 11 00 00 FA CD 00 00 00 00 38 40 -R 00 00 01 00 02 06 0E 00 -T 48 11 00 00 +T 8E 11 00 00 FA CD 00 00 00 00 38 40 +R 00 00 01 00 02 06 15 00 +T 94 11 00 00 R 00 00 01 00 -T 48 11 00 00 AF DD B6 F8 28 09 2A 0B 00 00 00 +T 94 11 00 00 AF DD B6 F8 28 09 2A 0B 00 00 00 R 00 00 01 00 00 0B 03 00 -T 51 11 00 00 7E DD BE F8 20 12 +T 9D 11 00 00 7E DD BE F8 20 12 R 00 00 01 00 -T 57 11 00 00 +T A3 11 00 00 R 00 00 01 00 -T 57 11 00 00 +T A3 11 00 00 R 00 00 01 00 -T 57 11 00 00 +T A3 11 00 00 R 00 00 01 00 -T 57 11 00 00 DD 5E F6 DD 56 F7 CD 3B 0E 00 00 +T A3 11 00 00 DD 5E F6 DD 56 F7 CD 3B 0E 00 00 R 00 00 01 00 00 0B 01 00 -T 60 11 00 00 7D B4 28 05 +T AC 11 00 00 7D B4 28 05 R 00 00 01 00 -T 64 11 00 00 +T B0 11 00 00 R 00 00 01 00 -T 64 11 00 00 21 01 00 18 5A +T B0 11 00 00 21 01 00 18 5A R 00 00 01 00 -T 69 11 00 00 +T B5 11 00 00 R 00 00 01 00 -T 69 11 00 00 +T B5 11 00 00 R 00 00 01 00 -T 69 11 00 00 DD 6E F9 DD 66 FA 2B DD 75 F9 DD +T B5 11 00 00 DD 6E F9 DD 66 FA 2B DD 75 F9 DD R 00 00 01 00 -T 74 11 00 00 74 FA DD 6E F9 DD 66 FA DD 4E FB +T C0 11 00 00 74 FA DD 6E F9 DD 66 FA DD 4E FB R 00 00 01 00 -T 7F 11 00 00 DD 46 FC 09 22 0B 00 00 00 18 AF +T CB 11 00 00 DD 46 FC 09 22 0B 00 00 00 18 AF R 00 00 01 00 00 09 03 00 -T 88 11 00 00 +T D4 11 00 00 R 00 00 01 00 -T 88 11 00 00 21 00 00 18 36 +T D4 11 00 00 21 00 00 18 36 R 00 00 01 00 -T 8D 11 00 00 +T D9 11 00 00 R 00 00 01 00 -T 8D 11 00 00 FE 00 20 05 21 01 00 18 2D +T D9 11 00 00 FE 00 20 05 21 01 00 18 2D R 00 00 01 00 -T 96 11 00 00 +T E2 11 00 00 R 00 00 01 00 -T 96 11 00 00 11 FD 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 -T 9C 11 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 -T A2 11 00 00 00 00 18 1D +T E2 11 00 00 11 09 01 00 00 3E 00 00 00 00 21 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 +T E8 11 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 12 00 02 09 00 00 +T EE 11 00 00 00 00 18 1D R 00 00 01 00 -T A6 11 00 00 +T F2 11 00 00 R 00 00 01 00 -T A6 11 00 00 DD 6E F6 DD 66 F7 DD 75 F4 DD 74 +T F2 11 00 00 DD 6E F6 DD 66 F7 DD 75 F4 DD 74 R 00 00 01 00 -T B1 11 00 00 F5 C3 4C 0E 00 00 +T FD 11 00 00 F5 C3 74 0E 00 00 R 00 00 01 00 00 06 01 00 -T B5 11 00 00 +T 01 12 00 00 R 00 00 01 00 -T B5 11 00 00 11 0F 01 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 -T BB 11 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 -T C1 11 00 00 00 00 +T 01 12 00 00 11 1B 01 00 00 3E 00 00 00 00 21 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 +T 07 12 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 12 00 02 09 00 00 +T 0D 12 00 00 00 00 R 00 00 01 00 -T C3 11 00 00 +T 0F 12 00 00 R 00 00 01 00 -T C3 11 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 07 00 -T C6 11 00 00 +T 0F 12 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 0B 00 +T 12 12 00 00 R 00 00 01 00 -T C6 11 00 00 CD 00 00 00 00 FA FF AF DD 77 FA -R 00 00 01 00 02 05 0D 00 -T CF 11 00 00 DD 77 FB 2A 0B 00 00 00 DD 75 FC +T 12 12 00 00 CD 00 00 00 00 FA FF AF DD 77 FA +R 00 00 01 00 02 05 14 00 +T 1B 12 00 00 DD 77 FB 2A 0B 00 00 00 DD 75 FC R 00 00 01 00 00 08 03 00 -T D8 11 00 00 DD 74 FD DD 6E 02 DD 66 03 23 23 +T 24 12 00 00 DD 74 FD DD 6E 02 DD 66 03 23 23 R 00 00 01 00 -T E3 11 00 00 23 DD 75 FE DD 74 FF DD 6E 02 DD +T 2F 12 00 00 23 DD 75 FE DD 74 FF DD 6E 02 DD R 00 00 01 00 -T EE 11 00 00 66 03 5E CD 00 00 00 00 04 00 03 -R 00 00 01 00 02 08 11 00 -T F7 11 00 00 04 05 08 C3 12 00 00 2A 12 00 00 +T 3A 12 00 00 66 03 5E CD 00 00 00 00 04 00 03 +R 00 00 01 00 02 08 18 00 +T 43 12 00 00 04 05 08 0F 13 00 00 76 12 00 00 R 00 00 01 00 00 07 01 00 00 0B 01 00 -T FE 11 00 00 8A 12 00 00 51 12 00 00 +T 4A 12 00 00 D6 12 00 00 9D 12 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 02 12 00 00 04 12 00 00 +T 4E 12 00 00 50 12 00 00 R 00 00 01 00 00 04 01 00 -T 04 12 00 00 +T 50 12 00 00 R 00 00 01 00 -T 04 12 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 06 00 -T 0C 12 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 06 00 02 0A 00 00 -T 13 12 00 00 75 FA DD 74 FB 21 02 00 39 7E DD +T 50 12 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0A 00 +T 58 12 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 0A 00 02 0A 00 00 +T 5F 12 00 00 75 FA DD 74 FB 21 02 00 39 7E DD R 00 00 01 00 -T 1E 12 00 00 86 FA 77 23 7E DD 8E FB 77 C3 +T 6A 12 00 00 86 FA 77 23 7E DD 8E FB 77 C3 R 00 00 01 00 -T 28 12 00 00 D7 12 00 00 +T 74 12 00 00 23 13 00 00 R 00 00 01 00 00 04 01 00 -T 2A 12 00 00 +T 76 12 00 00 R 00 00 01 00 -T 2A 12 00 00 +T 76 12 00 00 R 00 00 01 00 -T 2A 12 00 00 DD 6E FC DD 66 FD E5 DD 6E FE DD +T 76 12 00 00 DD 6E FC DD 66 FD E5 DD 6E FE DD R 00 00 01 00 -T 35 12 00 00 66 FF 7E E1 BE 20 12 +T 81 12 00 00 66 FF 7E E1 BE 20 12 R 00 00 01 00 -T 3C 12 00 00 +T 88 12 00 00 R 00 00 01 00 -T 3C 12 00 00 DD 34 FA 20 03 DD 34 FB +T 88 12 00 00 DD 34 FA 20 03 DD 34 FB R 00 00 01 00 -T 44 12 00 00 +T 90 12 00 00 R 00 00 01 00 -T 44 12 00 00 DD 34 FC 20 03 DD 34 FD +T 90 12 00 00 DD 34 FC 20 03 DD 34 FD R 00 00 01 00 -T 4C 12 00 00 +T 98 12 00 00 R 00 00 01 00 -T 4C 12 00 00 18 DC +T 98 12 00 00 18 DC R 00 00 01 00 -T 4E 12 00 00 +T 9A 12 00 00 R 00 00 01 00 -T 4E 12 00 00 C3 D7 12 00 00 +T 9A 12 00 00 C3 23 13 00 00 R 00 00 01 00 00 05 01 00 -T 51 12 00 00 +T 9D 12 00 00 R 00 00 01 00 -T 51 12 00 00 +T 9D 12 00 00 R 00 00 01 00 -T 51 12 00 00 DD 6E FC DD 66 FD AF B6 28 2D DD +T 9D 12 00 00 DD 6E FC DD 66 FD AF B6 28 2D DD R 00 00 01 00 -T 5C 12 00 00 6E FC DD 66 FD 4E 06 00 DD 5E FE +T A8 12 00 00 6E FC DD 66 FD 4E 06 00 DD 5E FE R 00 00 01 00 -T 67 12 00 00 DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 05 00 -T 6D 12 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 05 00 02 09 00 00 -T 74 12 00 00 28 12 +T B3 12 00 00 DD 56 FF 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 09 00 +T B9 12 00 00 00 00 00 00 CD 00 00 00 00 7D B4 +R 00 00 01 00 02 04 09 00 02 09 00 00 +T C0 12 00 00 28 12 R 00 00 01 00 -T 76 12 00 00 +T C2 12 00 00 R 00 00 01 00 -T 76 12 00 00 +T C2 12 00 00 R 00 00 01 00 -T 76 12 00 00 +T C2 12 00 00 R 00 00 01 00 -T 76 12 00 00 DD 34 FA 20 03 DD 34 FB +T C2 12 00 00 DD 34 FA 20 03 DD 34 FB R 00 00 01 00 -T 7E 12 00 00 +T CA 12 00 00 R 00 00 01 00 -T 7E 12 00 00 DD 34 FC 20 03 DD 34 FD +T CA 12 00 00 DD 34 FC 20 03 DD 34 FD R 00 00 01 00 -T 86 12 00 00 +T D2 12 00 00 R 00 00 01 00 -T 86 12 00 00 18 C9 +T D2 12 00 00 18 C9 R 00 00 01 00 -T 88 12 00 00 +T D4 12 00 00 R 00 00 01 00 -T 88 12 00 00 18 4D +T D4 12 00 00 18 4D R 00 00 01 00 -T 8A 12 00 00 +T D6 12 00 00 R 00 00 01 00 -T 8A 12 00 00 +T D6 12 00 00 R 00 00 01 00 -T 8A 12 00 00 DD 6E FC DD 66 FD AF B6 28 2D DD +T D6 12 00 00 DD 6E FC DD 66 FD AF B6 28 2D DD R 00 00 01 00 -T 95 12 00 00 6E FC DD 66 FD 4E 06 00 DD 5E FE +T E1 12 00 00 6E FC DD 66 FD 4E 06 00 DD 5E FE R 00 00 01 00 -T A0 12 00 00 DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 05 00 -T A6 12 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 05 00 02 09 00 00 -T AD 12 00 00 20 12 +T EC 12 00 00 DD 56 FF 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 09 00 +T F2 12 00 00 00 00 00 00 CD 00 00 00 00 7D B4 +R 00 00 01 00 02 04 09 00 02 09 00 00 +T F9 12 00 00 20 12 R 00 00 01 00 -T AF 12 00 00 +T FB 12 00 00 R 00 00 01 00 -T AF 12 00 00 +T FB 12 00 00 R 00 00 01 00 -T AF 12 00 00 +T FB 12 00 00 R 00 00 01 00 -T AF 12 00 00 DD 34 FA 20 03 DD 34 FB +T FB 12 00 00 DD 34 FA 20 03 DD 34 FB R 00 00 01 00 -T B7 12 00 00 +T 03 13 00 00 R 00 00 01 00 -T B7 12 00 00 DD 34 FC 20 03 DD 34 FD +T 03 13 00 00 DD 34 FC 20 03 DD 34 FD R 00 00 01 00 -T BF 12 00 00 +T 0B 13 00 00 R 00 00 01 00 -T BF 12 00 00 18 C9 +T 0B 13 00 00 18 C9 R 00 00 01 00 -T C1 12 00 00 +T 0D 13 00 00 R 00 00 01 00 -T C1 12 00 00 18 14 +T 0D 13 00 00 18 14 R 00 00 01 00 -T C3 12 00 00 +T 0F 13 00 00 R 00 00 01 00 -T C3 12 00 00 11 22 01 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 0B 00 -T C9 12 00 00 00 00 00 00 CD 00 00 00 00 AF DD -R 00 00 01 00 02 04 0B 00 02 09 00 00 -T D0 12 00 00 77 FA DD 77 FB 18 00 +T 0F 13 00 00 11 2E 01 00 00 3E 00 00 00 00 21 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 +T 15 13 00 00 00 00 00 00 CD 00 00 00 00 AF DD +R 00 00 01 00 02 04 12 00 02 09 00 00 +T 1C 13 00 00 77 FA DD 77 FB 18 00 R 00 00 01 00 -T D7 12 00 00 +T 23 13 00 00 R 00 00 01 00 -T D7 12 00 00 DD 6E FC DD 66 FD 22 0B 00 00 00 +T 23 13 00 00 DD 6E FC DD 66 FD 22 0B 00 00 00 R 00 00 01 00 00 0B 03 00 -T E0 12 00 00 DD 6E FA DD 66 FB C3 00 00 00 00 -R 00 00 01 00 02 0B 07 00 -T E9 12 00 00 +T 2C 13 00 00 DD 6E FA DD 66 FB C3 00 00 00 00 +R 00 00 01 00 02 0B 0B 00 +T 35 13 00 00 R 00 00 01 00 -T E9 12 00 00 CD 00 00 00 00 FE FF 21 -R 00 00 01 00 02 05 0D 00 -T EF 12 00 00 04 00 00 00 DD 4E 02 DD 46 03 A7 +T 35 13 00 00 CD 00 00 00 00 FE FF 21 +R 00 00 01 00 02 05 14 00 +T 3B 13 00 00 04 00 00 00 DD 4E 02 DD 46 03 A7 R 00 00 01 00 00 04 03 00 -T F8 12 00 00 ED 42 20 05 +T 44 13 00 00 ED 42 20 05 R 00 00 01 00 -T FC 12 00 00 +T 48 13 00 00 R 00 00 01 00 -T FC 12 00 00 21 00 00 18 59 +T 48 13 00 00 21 00 00 18 59 R 00 00 01 00 -T 01 13 00 00 +T 4D 13 00 00 R 00 00 01 00 -T 01 13 00 00 DD 6E 02 DD 66 03 23 7E E6 FF 4F +T 4D 13 00 00 DD 6E 02 DD 66 03 23 7E E6 FF 4F R 00 00 01 00 -T 0C 13 00 00 06 00 41 0E 00 DD 6E 02 DD 66 03 +T 58 13 00 00 06 00 41 0E 00 DD 6E 02 DD 66 03 R 00 00 01 00 -T 17 13 00 00 23 23 7E E6 FF 5F 16 00 69 60 19 +T 63 13 00 00 23 23 7E E6 FF 5F 16 00 69 60 19 R 00 00 01 00 -T 22 13 00 00 DD 75 FE DD 74 FF 7D B4 20 05 +T 6E 13 00 00 DD 75 FE DD 74 FF 7D B4 20 05 R 00 00 01 00 -T 2C 13 00 00 +T 78 13 00 00 R 00 00 01 00 -T 2C 13 00 00 21 00 00 18 29 +T 78 13 00 00 21 00 00 18 29 R 00 00 01 00 -T 31 13 00 00 +T 7D 13 00 00 R 00 00 01 00 -T 31 13 00 00 DD 6E 02 DD 66 03 7E FE 07 20 11 +T 7D 13 00 00 DD 6E 02 DD 66 03 7E FE 07 20 11 R 00 00 01 00 -T 3C 13 00 00 +T 88 13 00 00 R 00 00 01 00 -T 3C 13 00 00 DD 4E FE DD 46 FF DD 6E 02 DD 66 +T 88 13 00 00 DD 4E FE DD 46 FF DD 6E 02 DD 66 R 00 00 01 00 -T 47 13 00 00 03 A7 ED 42 18 0D +T 93 13 00 00 03 A7 ED 42 18 0D R 00 00 01 00 -T 4D 13 00 00 +T 99 13 00 00 +R 00 00 01 00 +T 99 13 00 00 DD 6E FE DD 66 FF DD 4E 02 DD 46 +R 00 00 01 00 +T A4 13 00 00 03 09 +R 00 00 01 00 +T A6 13 00 00 +R 00 00 01 00 +T A6 13 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 0B 00 +T A9 13 00 00 +R 00 00 01 00 +T A9 13 00 00 CD 00 00 00 00 FA FF DD 36 FE 08 +R 00 00 01 00 02 05 14 00 +T B2 13 00 00 21 2E 00 DD 4E 02 DD 46 03 09 23 +R 00 00 01 00 +T BD 13 00 00 DD 75 FA DD 74 FB +R 00 00 01 00 +T C3 13 00 00 +R 00 00 01 00 +T C3 13 00 00 AF DD B6 FE CA C0 14 00 00 +R 00 00 01 00 00 09 01 00 +T CA 13 00 00 +R 00 00 01 00 +T CA 13 00 00 DD 6E FA DD 66 FB 46 DD 70 FE DD +R 00 00 01 00 +T D5 13 00 00 5E FA DD 56 FB CD 40 15 00 00 E5 +R 00 00 01 00 00 0A 01 00 +T DE 13 00 00 21 2E 00 DD 4E 02 DD 46 03 09 4D +R 00 00 01 00 +T E9 13 00 00 44 DD 6E FA DD 66 FB A7 ED 42 E5 +R 00 00 01 00 +T F4 13 00 00 21 3E 01 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 00 05 02 00 2B 0B 06 00 +T FA 13 00 00 21 00 00 00 00 CD 00 00 00 00 F1 +R 00 00 01 00 02 05 06 00 02 0A 00 00 +T 01 14 00 00 F1 F1 DD 5E FA DD 56 FB CD +R 00 00 01 00 +T 0A 14 00 00 35 13 00 00 DD 75 FC DD 74 FD 7D +R 00 00 01 00 00 04 01 00 +T 13 14 00 00 B4 20 0F +R 00 00 01 00 +T 16 14 00 00 +R 00 00 01 00 +T 16 14 00 00 21 44 01 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 00 05 02 00 2B 0B 06 00 +T 1C 14 00 00 21 00 00 00 00 CD 00 00 00 00 F1 +R 00 00 01 00 02 05 06 00 02 0A 00 00 +T 23 14 00 00 18 38 +R 00 00 01 00 +T 25 14 00 00 +R 00 00 01 00 +T 25 14 00 00 21 2E 00 DD 4E 02 DD 46 03 09 4D +R 00 00 01 00 +T 30 14 00 00 44 DD 6E FA DD 66 FB A7 ED 42 E5 +R 00 00 01 00 +T 3B 14 00 00 DD 4E FA DD 46 FB DD 6E FC DD 66 +R 00 00 01 00 +T 46 14 00 00 FD A7 ED 42 4D 44 E1 09 E5 21 +R 00 00 01 00 +T 50 14 00 00 48 01 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 00 04 02 00 2B 0A 06 00 +T 56 14 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 06 00 02 09 00 00 +T 5D 14 00 00 +R 00 00 01 00 +T 5D 14 00 00 21 00 00 39 7E C6 03 77 23 7E CE +R 00 00 01 00 +T 68 14 00 00 00 77 DD 7E FE FE 04 28 0E DD 7E +R 00 00 01 00 +T 73 14 00 00 FE FE 05 28 07 DD 7E FE FE 08 20 +R 00 00 01 00 +T 7E 14 00 00 30 +R 00 00 01 00 +T 7F 14 00 00 +R 00 00 01 00 +T 7F 14 00 00 +R 00 00 01 00 +T 7F 14 00 00 +R 00 00 01 00 +T 7F 14 00 00 +R 00 00 01 00 +T 7F 14 00 00 DD 6E FA DD 66 FB AF B6 28 1E +R 00 00 01 00 +T 89 14 00 00 +R 00 00 01 00 +T 89 14 00 00 01 00 00 00 00 DD 6E FA DD 66 FB +R 00 00 01 00 02 05 10 00 +T 92 14 00 00 5E 16 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 0E 00 +T 98 14 00 00 00 00 00 00 CD 00 00 00 00 DD 34 +R 00 00 01 00 02 04 0E 00 02 09 00 00 +T 9F 14 00 00 FA 20 03 DD 34 FB +R 00 00 01 00 +T A5 14 00 00 +R 00 00 01 00 +T A5 14 00 00 18 D8 +R 00 00 01 00 +T A7 14 00 00 +R 00 00 01 00 +T A7 14 00 00 DD 34 FA 20 03 DD 34 FB +R 00 00 01 00 +T AF 14 00 00 +R 00 00 01 00 +T AF 14 00 00 +R 00 00 01 00 +T AF 14 00 00 01 00 00 00 00 11 0A 00 3E +R 00 00 01 00 02 05 10 00 +T B6 14 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +T BB 14 00 00 00 00 00 00 C3 C3 13 00 00 +R 00 00 01 00 02 04 00 00 00 09 01 00 +T C0 14 00 00 +R 00 00 01 00 +T C0 14 00 00 21 28 00 DD 4E 02 DD 46 03 09 7E +R 00 00 01 00 +T CB 14 00 00 B7 28 1C +R 00 00 01 00 +T CE 14 00 00 +R 00 00 01 00 +T CE 14 00 00 21 28 00 DD 4E 02 DD 46 03 09 4E +R 00 00 01 00 +T D9 14 00 00 06 00 C5 21 4D 01 00 00 E5 3E +R 00 00 01 00 00 08 02 00 +T E1 14 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T E6 14 00 00 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 00 00 +T EA 14 00 00 +R 00 00 01 00 +T EA 14 00 00 21 29 00 DD 4E 02 DD 46 03 09 7E +R 00 00 01 00 +T F5 14 00 00 B7 28 0D +R 00 00 01 00 +T F8 14 00 00 +R 00 00 01 00 +T F8 14 00 00 21 59 01 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 00 05 02 00 2B 0B 06 00 +T FE 14 00 00 21 00 00 00 00 CD 00 00 00 00 F1 +R 00 00 01 00 02 05 06 00 02 0A 00 00 +T 05 15 00 00 +R 00 00 01 00 +T 05 15 00 00 21 2A 00 DD 4E 02 DD 46 03 09 7E +R 00 00 01 00 +T 10 15 00 00 23 B6 28 1C R 00 00 01 00 -T 4D 13 00 00 DD 6E FE DD 66 FF DD 4E 02 DD 46 +T 14 15 00 00 R 00 00 01 00 -T 58 13 00 00 03 09 +T 14 15 00 00 21 2A 00 DD 4E 02 DD 46 03 09 4E R 00 00 01 00 -T 5A 13 00 00 +T 1F 15 00 00 23 46 C5 21 63 01 00 00 E5 3E +R 00 00 01 00 00 08 02 00 +T 27 15 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 2C 15 00 00 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 00 00 +T 30 15 00 00 R 00 00 01 00 -T 5A 13 00 00 C3 00 00 00 00 +T 30 15 00 00 21 72 01 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 00 05 02 00 2B 0B 06 00 +T 36 15 00 00 21 00 00 00 00 CD 00 00 00 00 F1 +R 00 00 01 00 02 05 06 00 02 0A 00 00 +T 3D 15 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 07 00 +T 40 15 00 00 +R 00 00 01 00 +T 40 15 00 00 CD 00 00 00 00 FE FF 01 +R 00 00 01 00 02 05 14 00 +T 46 15 00 00 74 01 00 00 11 13 00 00 00 3E +R 00 00 01 00 00 04 02 00 00 09 03 00 +T 4C 15 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 11 00 02 09 11 00 +T 51 15 00 00 00 00 00 00 DD 6E 02 DD 66 03 7E +R 00 00 01 00 02 04 00 00 +T 5A 15 00 00 FE 01 20 0B +R 00 00 01 00 +T 5E 15 00 00 +R 00 00 01 00 +T 5E 15 00 00 DD 36 FE 76 01 00 00 DD 36 FF +R 00 00 01 00 09 07 02 00 +T 65 15 00 00 76 01 00 00 C3 97 16 00 00 +R 00 00 01 00 89 04 02 00 00 09 01 00 +T 69 15 00 00 +R 00 00 01 00 +T 69 15 00 00 FE 02 20 0B DD 36 FE 7A 01 00 00 +R 00 00 01 00 09 0B 02 00 +T 71 15 00 00 DD 36 FF 7A 01 00 00 C3 +R 00 00 01 00 89 07 02 00 +T 76 15 00 00 97 16 00 00 +R 00 00 01 00 00 04 01 00 +T 78 15 00 00 +R 00 00 01 00 +T 78 15 00 00 FE 03 20 0B DD 36 FE 7E 01 00 00 +R 00 00 01 00 09 0B 02 00 +T 80 15 00 00 DD 36 FF 7E 01 00 00 C3 +R 00 00 01 00 89 07 02 00 +T 85 15 00 00 97 16 00 00 +R 00 00 01 00 00 04 01 00 +T 87 15 00 00 +R 00 00 01 00 +T 87 15 00 00 FE 04 20 0B DD 36 FE 82 01 00 00 +R 00 00 01 00 09 0B 02 00 +T 8F 15 00 00 DD 36 FF 82 01 00 00 C3 +R 00 00 01 00 89 07 02 00 +T 94 15 00 00 97 16 00 00 +R 00 00 01 00 00 04 01 00 +T 96 15 00 00 +R 00 00 01 00 +T 96 15 00 00 FE 05 20 0B DD 36 FE 88 01 00 00 +R 00 00 01 00 09 0B 02 00 +T 9E 15 00 00 DD 36 FF 88 01 00 00 C3 +R 00 00 01 00 89 07 02 00 +T A3 15 00 00 97 16 00 00 +R 00 00 01 00 00 04 01 00 +T A5 15 00 00 +R 00 00 01 00 +T A5 15 00 00 FE 06 20 0B DD 36 FE 8F 01 00 00 +R 00 00 01 00 09 0B 02 00 +T AD 15 00 00 DD 36 FF 8F 01 00 00 C3 +R 00 00 01 00 89 07 02 00 +T B2 15 00 00 97 16 00 00 +R 00 00 01 00 00 04 01 00 +T B4 15 00 00 +R 00 00 01 00 +T B4 15 00 00 FE 08 20 0B DD 36 FE 96 01 00 00 +R 00 00 01 00 09 0B 02 00 +T BC 15 00 00 DD 36 FF 96 01 00 00 C3 +R 00 00 01 00 89 07 02 00 +T C1 15 00 00 97 16 00 00 +R 00 00 01 00 00 04 01 00 +T C3 15 00 00 +R 00 00 01 00 +T C3 15 00 00 FE 09 20 0B DD 36 FE 9E 01 00 00 +R 00 00 01 00 09 0B 02 00 +T CB 15 00 00 DD 36 FF 9E 01 00 00 C3 +R 00 00 01 00 89 07 02 00 +T D0 15 00 00 97 16 00 00 +R 00 00 01 00 00 04 01 00 +T D2 15 00 00 +R 00 00 01 00 +T D2 15 00 00 FE 07 20 0B DD 36 FE A6 01 00 00 +R 00 00 01 00 09 0B 02 00 +T DA 15 00 00 DD 36 FF A6 01 00 00 C3 +R 00 00 01 00 89 07 02 00 +T DF 15 00 00 97 16 00 00 +R 00 00 01 00 00 04 01 00 +T E1 15 00 00 +R 00 00 01 00 +T E1 15 00 00 FE 00 20 0B DD 36 FE AB 01 00 00 +R 00 00 01 00 09 0B 02 00 +T E9 15 00 00 DD 36 FF AB 01 00 00 C3 +R 00 00 01 00 89 07 02 00 +T EE 15 00 00 97 16 00 00 +R 00 00 01 00 00 04 01 00 +T F0 15 00 00 +R 00 00 01 00 +T F0 15 00 00 FE 0A 20 0B DD 36 FE AF 01 00 00 +R 00 00 01 00 09 0B 02 00 +T F8 15 00 00 DD 36 FF AF 01 00 00 C3 +R 00 00 01 00 89 07 02 00 +T FD 15 00 00 97 16 00 00 +R 00 00 01 00 00 04 01 00 +T FF 15 00 00 +R 00 00 01 00 +T FF 15 00 00 FE 0B 20 0B DD 36 FE B4 01 00 00 +R 00 00 01 00 09 0B 02 00 +T 07 16 00 00 DD 36 FF B4 01 00 00 C3 +R 00 00 01 00 89 07 02 00 +T 0C 16 00 00 97 16 00 00 +R 00 00 01 00 00 04 01 00 +T 0E 16 00 00 +R 00 00 01 00 +T 0E 16 00 00 FE 15 38 3A FE 1E 30 36 DD 6E 02 +R 00 00 01 00 +T 19 16 00 00 DD 66 03 4E 06 00 21 EC FF 09 E5 +R 00 00 01 00 +T 24 16 00 00 21 B9 01 00 00 E5 11 13 00 00 00 +R 00 00 01 00 00 05 02 00 00 0B 03 00 +T 2B 16 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0A 00 02 0A 0A 00 +T 31 16 00 00 00 00 00 00 01 13 00 00 00 09 E5 +R 00 00 01 00 02 04 00 00 00 09 03 00 +T 38 16 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 01 00 02 0A 01 00 +T 3E 16 00 00 00 00 00 00 F1 F1 F1 AF DD 77 FE +R 00 00 01 00 02 04 00 00 +T 47 16 00 00 DD 77 FF 18 4B +R 00 00 01 00 +T 4C 16 00 00 +R 00 00 01 00 +T 4C 16 00 00 FE 1F 38 3A FE 28 30 36 DD 6E 02 +R 00 00 01 00 +T 57 16 00 00 DD 66 03 4E 06 00 21 E2 FF 09 E5 +R 00 00 01 00 +T 62 16 00 00 21 C0 01 00 00 E5 11 13 00 00 00 +R 00 00 01 00 00 05 02 00 00 0B 03 00 +T 69 16 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0A 00 02 0A 0A 00 +T 6F 16 00 00 00 00 00 00 01 13 00 00 00 09 E5 +R 00 00 01 00 02 04 00 00 00 09 03 00 +T 76 16 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 01 00 02 0A 01 00 +T 7C 16 00 00 00 00 00 00 F1 F1 F1 AF DD 77 FE +R 00 00 01 00 02 04 00 00 +T 85 16 00 00 DD 77 FF 18 0D +R 00 00 01 00 +T 8A 16 00 00 +R 00 00 01 00 +T 8A 16 00 00 11 C8 01 00 00 3E 00 00 00 00 21 +R 00 00 01 00 00 05 02 00 2B 0A 12 00 +T 90 16 00 00 00 00 00 00 CD 00 00 00 00 18 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 +T 97 16 00 00 +R 00 00 01 00 +T 97 16 00 00 DD 7E FE DD B6 FF 28 11 +R 00 00 01 00 +T 9F 16 00 00 +R 00 00 01 00 +T 9F 16 00 00 DD 4E FE DD 46 FF 11 13 00 00 00 +R 00 00 01 00 00 0B 03 00 +T A8 16 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 04 00 02 0A 04 00 +T AE 16 00 00 00 00 00 00 +R 00 00 01 00 02 04 00 00 +T B0 16 00 00 +R 00 00 01 00 +T B0 16 00 00 21 13 00 00 00 C3 00 00 00 00 +R 00 00 01 00 00 05 03 00 02 0A 0B 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 4E 55 4C 4C 20 61 72 67 75 6D 65 @@ -2163,21 +2529,127 @@ T F6 00 00 00 72 6F 67 72 61 6D 00 R 00 00 02 00 T FD 00 00 00 R 00 00 02 00 -T FD 00 00 00 6D 65 6D 6F 72 79 20 63 6F 72 72 +T FD 00 00 00 25 73 28 0A 00 R 00 00 02 00 -T 08 01 00 00 75 70 74 69 6F 6E 00 +T 02 01 00 00 R 00 00 02 00 -T 0F 01 00 00 +T 02 01 00 00 25 73 2E 2E 2E 0A 00 R 00 00 02 00 -T 0F 01 00 00 63 6F 72 72 75 70 74 65 64 20 70 +T 09 01 00 00 R 00 00 02 00 -T 1A 01 00 00 6F 69 6E 74 65 72 73 00 +T 09 01 00 00 6D 65 6D 6F 72 79 20 63 6F 72 72 +R 00 00 02 00 +T 14 01 00 00 75 70 74 69 6F 6E 00 +R 00 00 02 00 +T 1B 01 00 00 +R 00 00 02 00 +T 1B 01 00 00 63 6F 72 72 75 70 74 65 64 20 70 +R 00 00 02 00 +T 26 01 00 00 6F 69 6E 74 65 72 73 00 +R 00 00 02 00 +T 2E 01 00 00 R 00 00 02 00 -T 22 01 00 00 +T 2E 01 00 00 69 6E 74 65 72 6E 61 6C 20 66 6F R 00 00 02 00 -T 22 01 00 00 69 6E 74 65 72 6E 61 6C 20 66 6F +T 39 01 00 00 75 6C 75 70 00 R 00 00 02 00 -T 2D 01 00 00 75 6C 75 70 00 +T 3E 01 00 00 +R 00 00 02 00 +T 3E 01 00 00 25 32 64 25 73 00 +R 00 00 02 00 +T 44 01 00 00 +R 00 00 02 00 +T 44 01 00 00 28 30 29 00 +R 00 00 02 00 +T 48 01 00 00 +R 00 00 02 00 +T 48 01 00 00 28 25 64 29 00 +R 00 00 02 00 +T 4D 01 00 00 +R 00 00 02 00 +T 4D 01 00 00 73 74 61 72 74 20 60 25 63 27 20 +R 00 00 02 00 +T 58 01 00 00 00 +R 00 00 02 00 +T 59 01 00 00 +R 00 00 02 00 +T 59 01 00 00 61 6E 63 68 6F 72 65 64 20 00 +R 00 00 02 00 +T 63 01 00 00 +R 00 00 02 00 +T 63 01 00 00 6D 75 73 74 20 68 61 76 65 20 22 +R 00 00 02 00 +T 6E 01 00 00 25 73 22 00 +R 00 00 02 00 +T 72 01 00 00 +R 00 00 02 00 +T 72 01 00 00 0A 00 +R 00 00 02 00 +T 74 01 00 00 +R 00 00 02 00 +T 74 01 00 00 3A 00 +R 00 00 02 00 +T 76 01 00 00 +R 00 00 02 00 +T 76 01 00 00 42 4F 4C 00 +R 00 00 02 00 +T 7A 01 00 00 +R 00 00 02 00 +T 7A 01 00 00 45 4F 4C 00 +R 00 00 02 00 +T 7E 01 00 00 +R 00 00 02 00 +T 7E 01 00 00 41 4E 59 00 +R 00 00 02 00 +T 82 01 00 00 +R 00 00 02 00 +T 82 01 00 00 41 4E 59 4F 46 00 +R 00 00 02 00 +T 88 01 00 00 +R 00 00 02 00 +T 88 01 00 00 41 4E 59 42 55 54 00 +R 00 00 02 00 +T 8F 01 00 00 +R 00 00 02 00 +T 8F 01 00 00 42 52 41 4E 43 48 00 +R 00 00 02 00 +T 96 01 00 00 +R 00 00 02 00 +T 96 01 00 00 45 58 41 43 54 4C 59 00 +R 00 00 02 00 +T 9E 01 00 00 +R 00 00 02 00 +T 9E 01 00 00 4E 4F 54 48 49 4E 47 00 +R 00 00 02 00 +T A6 01 00 00 +R 00 00 02 00 +T A6 01 00 00 42 41 43 4B 00 +R 00 00 02 00 +T AB 01 00 00 +R 00 00 02 00 +T AB 01 00 00 45 4E 44 00 +R 00 00 02 00 +T AF 01 00 00 +R 00 00 02 00 +T AF 01 00 00 53 54 41 52 00 +R 00 00 02 00 +T B4 01 00 00 +R 00 00 02 00 +T B4 01 00 00 50 4C 55 53 00 +R 00 00 02 00 +T B9 01 00 00 +R 00 00 02 00 +T B9 01 00 00 4F 50 45 4E 25 64 00 +R 00 00 02 00 +T C0 01 00 00 +R 00 00 02 00 +T C0 01 00 00 43 4C 4F 53 45 25 64 00 +R 00 00 02 00 +T C8 01 00 00 +R 00 00 02 00 +T C8 01 00 00 63 6F 72 72 75 70 74 65 64 20 6F +R 00 00 02 00 +T D3 01 00 00 70 63 6F 64 65 00 R 00 00 02 00 T 00 00 00 00 R 00 00 03 00 @@ -2215,3 +2687,13 @@ T 11 00 00 00 R 00 00 03 00 T 11 00 00 00 R 00 00 03 00 +T 13 00 00 00 +R 00 00 03 00 +T 13 00 00 00 +R 00 00 03 00 +T 00 00 00 00 +R 00 00 04 00 +T 00 00 00 00 +R 00 00 04 00 +T 00 00 00 00 00 00 +R 00 00 05 00 diff --git a/src/nos/lib/crt_banked_lib/rewindir.rel b/src/nos/lib/crt_banked_lib/rewindir.rel index 6f3496eb..265dda9d 100644 --- a/src/nos/lib/crt_banked_lib/rewindir.rel +++ b/src/nos/lib/crt_banked_lib/rewindir.rel @@ -26,7 +26,7 @@ T 21 00 00 00 R 00 00 01 00 T 21 00 00 00 R 00 00 01 00 -T 21 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 21 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 2A 00 00 00 0E 23 36 00 18 2C R 00 00 01 00 diff --git a/src/nos/lib/crt_banked_lib/rmdir.rel b/src/nos/lib/crt_banked_lib/rmdir.rel index d5a985a0..1eae14be 100644 --- a/src/nos/lib/crt_banked_lib/rmdir.rel +++ b/src/nos/lib/crt_banked_lib/rmdir.rel @@ -33,7 +33,7 @@ T 1F 00 00 00 30 10 R 00 00 01 00 T 21 00 00 00 R 00 00 01 00 -T 21 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 21 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 08 00 T 2A 00 00 00 24 23 36 00 C3 86 01 00 00 R 00 00 01 00 00 09 01 00 @@ -57,7 +57,7 @@ T 57 00 00 00 40 B0 20 10 R 00 00 01 00 T 5B 00 00 00 R 00 00 01 00 -T 5B 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 5B 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 08 00 T 64 00 00 00 14 23 36 00 C3 86 01 00 00 R 00 00 01 00 00 09 01 00 @@ -119,7 +119,7 @@ T E8 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 R 00 00 01 00 2B 0B 04 00 T F0 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 04 00 02 0A 00 00 -T F7 00 00 00 4D 00 ED 4B 00 00 00 00 09 36 27 +T F7 00 00 00 4F 00 ED 4B 00 00 00 00 09 36 27 R 00 00 01 00 02 08 08 00 T 00 01 00 00 23 36 00 C3 86 01 00 00 18 85 R 00 00 01 00 00 08 01 00 diff --git a/src/nos/lib/crt_banked_lib/setenv.rel b/src/nos/lib/crt_banked_lib/setenv.rel index 56ba04a7..485bd719 100644 --- a/src/nos/lib/crt_banked_lib/setenv.rel +++ b/src/nos/lib/crt_banked_lib/setenv.rel @@ -90,7 +90,7 @@ T BA 00 00 00 R 00 00 01 00 T BA 00 00 00 R 00 00 01 00 -T BA 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T BA 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 05 00 T C3 00 00 00 0C 23 36 00 21 FF FF C3 R 00 00 01 00 diff --git a/src/nos/lib/crt_banked_lib/setjmp.rel b/src/nos/lib/crt_banked_lib/setjmp_banked.rel similarity index 100% rename from src/nos/lib/crt_banked_lib/setjmp.rel rename to src/nos/lib/crt_banked_lib/setjmp_banked.rel diff --git a/src/nos/lib/crt_banked_lib/setpwent.rel b/src/nos/lib/crt_banked_lib/setpwent.rel index 46a7346e..47e1e094 100644 --- a/src/nos/lib/crt_banked_lib/setpwent.rel +++ b/src/nos/lib/crt_banked_lib/setpwent.rel @@ -42,7 +42,7 @@ T 2B 00 00 00 7D A4 3C 20 1A R 00 00 01 00 T 30 00 00 00 R 00 00 01 00 -T 30 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 4E +T 30 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 4E R 00 00 01 00 02 09 04 00 T 39 00 00 00 23 46 C5 21 0C 00 00 00 E5 3E R 00 00 01 00 00 08 02 00 diff --git a/src/nos/lib/crt_banked_lib/setvbuff.rel b/src/nos/lib/crt_banked_lib/setvbuff.rel index 584eec25..9f902356 100644 --- a/src/nos/lib/crt_banked_lib/setvbuff.rel +++ b/src/nos/lib/crt_banked_lib/setvbuff.rel @@ -57,7 +57,7 @@ T 81 00 00 00 DD 7E 0C DD B6 0D 20 08 R 00 00 01 00 T 89 00 00 00 R 00 00 01 00 -T 89 00 00 00 DD 36 0C 00 DD 36 0D 02 +T 89 00 00 00 DD 36 0C 80 DD 36 0D 00 R 00 00 01 00 T 91 00 00 00 R 00 00 01 00 diff --git a/src/nos/lib/crt_banked_lib/stdio0.rel b/src/nos/lib/crt_banked_lib/stdio0.rel index b4ece6f3..450d49f5 100644 --- a/src/nos/lib/crt_banked_lib/stdio0.rel +++ b/src/nos/lib/crt_banked_lib/stdio0.rel @@ -14,7 +14,7 @@ A _DEFAULT size 0 flags 0 A CODE size A9 flags 0 S ___stdio_init_vars Def0000006B S ___stdio_close_all Def00000000 -A UDATA0 size 400 flags 0 +A UDATA0 size 100 flags 0 A IDATA0 size 4C flags 0 S _stderr Def00000032 S _stdin Def00000002 @@ -97,9 +97,9 @@ T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 -T 00 02 00 00 +T 80 00 00 00 R 00 00 02 00 -T 00 02 00 00 +T 80 00 00 00 R 00 00 02 00 T 00 00 00 00 R 00 00 03 00 @@ -125,13 +125,13 @@ T 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 04 00 00 06 02 00 00 0A 02 00 T 06 00 00 00 00 00 00 00 00 00 00 00 R 00 00 04 00 00 04 02 00 00 08 02 00 -T 0A 00 00 00 00 02 00 00 00 00 10 00 00 00 00 +T 0A 00 00 00 80 00 00 00 00 00 10 00 00 00 00 R 00 00 04 00 00 04 02 00 -T 13 00 00 00 00 00 00 00 00 00 00 00 02 00 00 +T 13 00 00 00 00 00 00 00 00 00 00 80 00 00 00 R 00 00 04 00 00 0B 02 00 -T 1C 00 00 00 00 02 00 00 00 02 00 00 +T 1C 00 00 00 80 00 00 00 80 00 00 00 R 00 00 04 00 00 04 02 00 00 08 02 00 -T 20 00 00 00 00 02 00 00 00 04 00 00 01 00 +T 20 00 00 00 80 00 00 00 00 01 00 00 01 00 R 00 00 04 00 00 04 02 00 00 08 02 00 T 26 00 00 00 20 00 00 00 00 00 00 00 00 00 00 R 00 00 04 00 diff --git a/src/nos/lib/crt_banked_lib/termcap.rel b/src/nos/lib/crt_banked_lib/termcap.rel index 18c8152b..e5246101 100644 --- a/src/nos/lib/crt_banked_lib/termcap.rel +++ b/src/nos/lib/crt_banked_lib/termcap.rel @@ -1,5 +1,5 @@ XL4 -H 6 areas 22 global symbols +H 6 areas 23 global symbols S ?S_LSHASG_L02 Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?S_MULASG_L02 Ref00000000 @@ -27,7 +27,7 @@ S ?CL64180B_4_06_L00 Ref00000000 S _malloc Ref00000000 S _exit Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size D4A flags 0 +A CODE size D4B flags 0 S _tputs Def000003D0 S _tgetnum Def000000D1 S _tgetstr Def00000142 @@ -38,8 +38,9 @@ A UDATA0 size 7 flags 0 S _ospeed Def00000002 S _tputs_baud_rate Def00000004 S _PC Def00000006 -A IDATA0 size 3C flags 0 -A CDATA0 size 3C flags 0 +A IDATA0 size 3E flags 0 +S _bufsize Def00000000 +A CDATA0 size 3E flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 C5 D5 21 19 00 E5 01 00 00 00 00 @@ -402,7 +403,7 @@ T 65 03 00 00 R 00 00 01 00 T 65 03 00 00 DD 7E F8 E6 DF 6F DD 7E F9 E6 FF R 00 00 01 00 -T 70 03 00 00 67 01 C0 FF FF FF 09 4E 06 00 DD +T 70 03 00 00 67 01 C2 FF FF FF 09 4E 06 00 DD R 00 00 01 00 00 06 04 00 T 79 03 00 00 71 FC DD 70 FD 3E 20 A9 B0 28 0C R 00 00 01 00 @@ -530,7 +531,7 @@ T A0 04 00 00 0A DD 66 0B CD 00 00 00 00 18 D7 R 00 00 01 00 02 09 01 00 T A9 04 00 00 R 00 00 01 00 -T A9 04 00 00 2A 02 00 00 00 29 01 1C 00 00 00 +T A9 04 00 00 2A 02 00 00 00 29 01 1E 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 04 00 T B0 04 00 00 09 4E 23 46 21 00 00 39 CD R 00 00 01 00 @@ -540,7 +541,7 @@ T C2 04 00 00 77 23 7E CE 01 77 21 00 00 39 01 R 00 00 01 00 T CD 04 00 00 E8 03 CD 00 00 00 00 2A R 00 00 01 00 02 07 05 00 -T D3 04 00 00 02 00 00 00 29 01 1C 00 00 00 09 +T D3 04 00 00 02 00 00 00 29 01 1E 00 00 00 09 R 00 00 01 00 00 04 03 00 00 0A 04 00 T DA 04 00 00 23 CB 7E 28 14 R 00 00 01 00 @@ -600,7 +601,7 @@ T 54 05 00 00 DD 77 FC DD 77 FD 7D B4 20 06 R 00 00 01 00 T 5E 05 00 00 R 00 00 01 00 -T 5E 05 00 00 21 FF FF C3 EC 08 00 00 +T 5E 05 00 00 21 FF FF C3 ED 08 00 00 R 00 00 01 00 00 08 01 00 T 64 05 00 00 R 00 00 01 00 @@ -678,7 +679,7 @@ T 19 06 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 01 00 T 1C 06 00 00 R 00 00 01 00 -T 1C 06 00 00 C3 D0 08 00 00 +T 1C 06 00 00 C3 D1 08 00 00 R 00 00 01 00 00 05 01 00 T 1F 06 00 00 R 00 00 01 00 @@ -714,659 +715,661 @@ T 64 06 00 00 E3 CB 7C 28 06 R 00 00 01 00 T 69 06 00 00 R 00 00 01 00 -T 69 06 00 00 21 FF FF C3 EC 08 00 00 +T 69 06 00 00 21 FF FF C3 ED 08 00 00 R 00 00 01 00 00 08 01 00 T 6F 06 00 00 R 00 00 01 00 -T 6F 06 00 00 DD 36 E6 00 DD 36 E7 08 DD 5E E6 +T 6F 06 00 00 2A 00 00 00 00 DD 75 E6 DD 74 E7 +R 00 00 01 00 00 05 04 00 +T 78 06 00 00 DD 5E E6 DD 56 E7 13 CD R 00 00 01 00 -T 7A 06 00 00 DD 56 E7 13 CD 23 00 00 00 DD 75 -R 00 00 01 00 00 09 01 00 -T 83 06 00 00 E4 DD 74 E5 DD 7E F8 DD B6 F9 28 +T 80 06 00 00 23 00 00 00 DD 75 E4 DD 74 E5 DD +R 00 00 01 00 00 04 01 00 +T 89 06 00 00 7E F8 DD B6 F9 28 08 DD 6E F8 DD R 00 00 01 00 -T 8E 06 00 00 08 DD 6E F8 DD 66 F9 18 06 +T 94 06 00 00 66 F9 18 06 R 00 00 01 00 -T 97 06 00 00 +T 98 06 00 00 R 00 00 01 00 -T 97 06 00 00 DD 6E 04 DD 66 05 +T 98 06 00 00 DD 6E 04 DD 66 05 R 00 00 01 00 -T 9D 06 00 00 +T 9E 06 00 00 R 00 00 01 00 -T 9D 06 00 00 DD 75 F2 DD 74 F3 DD 7E 02 DD B6 +T 9E 06 00 00 DD 75 F2 DD 74 F3 DD 7E 02 DD B6 R 00 00 01 00 -T A8 06 00 00 03 20 2F +T A9 06 00 00 03 20 2F R 00 00 01 00 -T AB 06 00 00 +T AC 06 00 00 R 00 00 01 00 -T AB 06 00 00 DD 7E F8 DD B6 F9 28 11 DD 5E F6 +T AC 06 00 00 DD 7E F8 DD B6 F9 28 11 DD 5E F6 R 00 00 01 00 -T B6 06 00 00 DD 56 F7 3E 00 00 00 00 21 +T B7 06 00 00 DD 56 F7 3E 00 00 00 00 21 R 00 00 01 00 2B 08 09 00 -T BC 06 00 00 00 00 00 00 CD 00 00 00 00 23 18 +T BD 06 00 00 00 00 00 00 CD 00 00 00 00 23 18 R 00 00 01 00 02 04 09 00 02 09 01 00 -T C3 06 00 00 06 +T C4 06 00 00 06 R 00 00 01 00 -T C4 06 00 00 +T C5 06 00 00 R 00 00 01 00 -T C4 06 00 00 DD 6E E6 DD 66 E7 +T C5 06 00 00 DD 6E E6 DD 66 E7 R 00 00 01 00 -T CA 06 00 00 +T CB 06 00 00 R 00 00 01 00 -T CA 06 00 00 DD 75 FC DD 74 FD EB CD +T CB 06 00 00 DD 75 FC DD 74 FD EB CD R 00 00 01 00 -T D2 06 00 00 23 00 00 00 DD 75 02 DD 74 03 +T D3 06 00 00 23 00 00 00 DD 75 02 DD 74 03 R 00 00 01 00 00 04 01 00 -T DA 06 00 00 +T DB 06 00 00 R 00 00 01 00 -T DA 06 00 00 DD 6E 02 DD 66 03 DD 75 EE DD 74 +T DB 06 00 00 DD 6E 02 DD 66 03 DD 75 EE DD 74 R 00 00 01 00 -T E5 06 00 00 EF DD 7E F8 DD B6 F9 28 2F +T E6 06 00 00 EF DD 7E F8 DD B6 F9 28 2F R 00 00 01 00 -T EE 06 00 00 +T EF 06 00 00 R 00 00 01 00 -T EE 06 00 00 DD 4E F6 DD 46 F7 DD 5E 02 DD 56 +T EF 06 00 00 DD 4E F6 DD 46 F7 DD 5E 02 DD 56 R 00 00 01 00 -T F9 06 00 00 03 3E 00 00 00 00 21 00 00 00 00 +T FA 06 00 00 03 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 11 00 02 0B 11 00 -T FF 06 00 00 CD 00 00 00 00 DD 5E F6 DD 56 F7 +T 00 07 00 00 CD 00 00 00 00 DD 5E F6 DD 56 F7 R 00 00 01 00 02 05 01 00 -T 08 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD +T 09 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 09 00 02 0A 09 00 -T 0E 07 00 00 00 00 00 00 4D 44 21 0E 00 39 7E +T 0F 07 00 00 00 00 00 00 4D 44 21 0E 00 39 7E R 00 00 01 00 02 04 01 00 -T 17 07 00 00 81 77 23 7E 88 77 +T 18 07 00 00 81 77 23 7E 88 77 R 00 00 01 00 -T 1D 07 00 00 +T 1E 07 00 00 R 00 00 01 00 -T 1D 07 00 00 +T 1E 07 00 00 R 00 00 01 00 -T 1D 07 00 00 DD 7E F2 DD B6 F3 CA 8B 08 00 00 +T 1E 07 00 00 DD 7E F2 DD B6 F3 CA 8C 08 00 00 R 00 00 01 00 00 0B 01 00 -T 26 07 00 00 +T 27 07 00 00 R 00 00 01 00 -T 26 07 00 00 21 04 00 39 E5 DD 4E E2 DD 46 E3 +T 27 07 00 00 21 04 00 39 E5 DD 4E E2 DD 46 E3 R 00 00 01 00 -T 31 07 00 00 DD 5E F2 DD 56 F3 CD EF 08 00 00 +T 32 07 00 00 DD 5E F2 DD 56 F3 CD F0 08 00 00 R 00 00 01 00 00 0B 01 00 -T 3A 07 00 00 F1 7D B4 20 38 +T 3B 07 00 00 F1 7D B4 20 38 R 00 00 01 00 -T 3F 07 00 00 +T 40 07 00 00 R 00 00 01 00 -T 3F 07 00 00 DD 5E E2 DD 56 E3 3E 00 00 00 00 +T 40 07 00 00 DD 5E E2 DD 56 E3 3E 00 00 00 00 R 00 00 01 00 2B 0B 08 00 -T 47 07 00 00 21 00 00 00 00 CD 00 00 00 00 DD +T 48 07 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 08 00 02 0A 01 00 -T 4E 07 00 00 5E E4 DD 56 E5 3E 00 00 00 00 21 +T 4F 07 00 00 5E E4 DD 56 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 0F 00 -T 56 07 00 00 00 00 00 00 CD 00 00 00 00 DD 7E +T 57 07 00 00 00 00 00 00 CD 00 00 00 00 DD 7E R 00 00 01 00 02 04 0F 00 02 09 01 00 -T 5D 07 00 00 FC DD B6 FD 28 0E +T 5E 07 00 00 FC DD B6 FD 28 0E R 00 00 01 00 -T 63 07 00 00 +T 64 07 00 00 R 00 00 01 00 -T 63 07 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +T 64 07 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 R 00 00 01 00 2B 0B 0F 00 -T 6B 07 00 00 21 00 00 00 00 CD 00 00 00 00 +T 6C 07 00 00 21 00 00 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 0F 00 02 0A 01 00 -T 71 07 00 00 +T 72 07 00 00 R 00 00 01 00 -T 71 07 00 00 21 00 00 C3 EC 08 00 00 +T 72 07 00 00 21 00 00 C3 ED 08 00 00 R 00 00 01 00 00 08 01 00 -T 77 07 00 00 +T 78 07 00 00 R 00 00 01 00 -T 77 07 00 00 DD 6E 04 DD 66 05 DD 4E F2 DD 46 +T 78 07 00 00 DD 6E 04 DD 66 05 DD 4E F2 DD 46 R 00 00 01 00 -T 82 07 00 00 F3 A7 ED 42 28 0E +T 83 07 00 00 F3 A7 ED 42 28 0E R 00 00 01 00 -T 88 07 00 00 +T 89 07 00 00 R 00 00 01 00 -T 88 07 00 00 DD 5E F2 DD 56 F3 3E 00 00 00 00 +T 89 07 00 00 DD 5E F2 DD 56 F3 3E 00 00 00 00 R 00 00 01 00 2B 0B 0F 00 -T 90 07 00 00 21 00 00 00 00 CD 00 00 00 00 +T 91 07 00 00 21 00 00 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 0F 00 02 0A 01 00 -T 96 07 00 00 +T 97 07 00 00 R 00 00 01 00 -T 96 07 00 00 DD 7E FC DD B6 FD 28 4F +T 97 07 00 00 DD 7E FC DD B6 FD 28 4F R 00 00 01 00 -T 9E 07 00 00 +T 9F 07 00 00 R 00 00 01 00 -T 9E 07 00 00 DD 4E 02 DD 46 03 DD 6E EE DD 66 +T 9F 07 00 00 DD 4E 02 DD 46 03 DD 6E EE DD 66 R 00 00 01 00 -T A9 07 00 00 EF A7 ED 42 DD 4E E6 DD 46 E7 09 +T AA 07 00 00 EF A7 ED 42 DD 4E E6 DD 46 E7 09 R 00 00 01 00 -T B4 07 00 00 DD 75 FC DD 74 FD 4D 44 DD 5E 02 +T B5 07 00 00 DD 75 FC DD 74 FD 4D 44 DD 5E 02 R 00 00 01 00 -T BF 07 00 00 DD 56 03 CD 4C 00 00 00 DD 75 E0 +T C0 07 00 00 DD 56 03 CD 4C 00 00 00 DD 75 E0 R 00 00 01 00 00 08 01 00 -T C8 07 00 00 DD 74 E1 DD 4E 02 DD 46 03 A7 ED +T C9 07 00 00 DD 74 E1 DD 4E 02 DD 46 03 A7 ED R 00 00 01 00 -T D3 07 00 00 42 4D 44 21 0E 00 39 7E 81 77 23 +T D4 07 00 00 42 4D 44 21 0E 00 39 7E 81 77 23 R 00 00 01 00 -T DE 07 00 00 7E 88 77 DD 6E E0 DD 66 E1 DD 75 +T DF 07 00 00 7E 88 77 DD 6E E0 DD 66 E1 DD 75 R 00 00 01 00 -T E9 07 00 00 02 DD 74 03 +T EA 07 00 00 02 DD 74 03 R 00 00 01 00 -T ED 07 00 00 +T EE 07 00 00 R 00 00 01 00 -T ED 07 00 00 DD 6E EE DD 66 EF DD 75 F0 DD 74 +T EE 07 00 00 DD 6E EE DD 66 EF DD 75 F0 DD 74 R 00 00 01 00 -T F8 07 00 00 F1 DD 6E E8 DD 66 E9 DD 75 E0 DD +T F9 07 00 00 F1 DD 6E E8 DD 66 E9 DD 75 E0 DD R 00 00 01 00 -T 03 08 00 00 74 E1 +T 04 08 00 00 74 E1 R 00 00 01 00 -T 05 08 00 00 +T 06 08 00 00 R 00 00 01 00 -T 05 08 00 00 DD 6E E0 DD 66 E1 23 DD 75 E0 DD +T 06 08 00 00 DD 6E E0 DD 66 E1 23 DD 75 E0 DD R 00 00 01 00 -T 10 08 00 00 74 E1 2B 4E 06 00 DD 71 F4 DD 70 +T 11 08 00 00 74 E1 2B 4E 06 00 DD 71 F4 DD 70 R 00 00 01 00 -T 1B 08 00 00 F5 DD 6E EE DD 66 EF 23 DD 75 EE +T 1C 08 00 00 F5 DD 6E EE DD 66 EF 23 DD 75 EE R 00 00 01 00 -T 26 08 00 00 DD 74 EF 2B 71 0C 0D 28 36 3E 0A +T 27 08 00 00 DD 74 EF 2B 71 0C 0D 28 36 3E 0A R 00 00 01 00 -T 31 08 00 00 DD AE F4 DD B6 F5 28 2C +T 32 08 00 00 DD AE F4 DD B6 F5 28 2C R 00 00 01 00 -T 39 08 00 00 +T 3A 08 00 00 R 00 00 01 00 -T 39 08 00 00 +T 3A 08 00 00 R 00 00 01 00 -T 39 08 00 00 +T 3A 08 00 00 R 00 00 01 00 -T 39 08 00 00 3E 5C DD AE F4 DD B6 F5 20 20 DD +T 3A 08 00 00 3E 5C DD AE F4 DD B6 F5 20 20 DD R 00 00 01 00 -T 44 08 00 00 6E E0 DD 66 E1 7E FE 0A 20 15 +T 45 08 00 00 6E E0 DD 66 E1 7E FE 0A 20 15 R 00 00 01 00 -T 4E 08 00 00 +T 4F 08 00 00 R 00 00 01 00 -T 4E 08 00 00 +T 4F 08 00 00 R 00 00 01 00 -T 4E 08 00 00 +T 4F 08 00 00 R 00 00 01 00 -T 4E 08 00 00 DD 6E EE DD 66 EF 2B DD 75 EE DD +T 4F 08 00 00 DD 6E EE DD 66 EF 2B DD 75 EE DD R 00 00 01 00 -T 59 08 00 00 74 EF DD 34 E0 20 03 DD 34 E1 +T 5A 08 00 00 74 EF DD 34 E0 20 03 DD 34 E1 R 00 00 01 00 -T 63 08 00 00 +T 64 08 00 00 R 00 00 01 00 -T 63 08 00 00 +T 64 08 00 00 R 00 00 01 00 -T 63 08 00 00 18 A0 +T 64 08 00 00 18 A0 R 00 00 01 00 -T 65 08 00 00 +T 66 08 00 00 R 00 00 01 00 -T 65 08 00 00 DD 6E EE DD 66 EF 36 00 01 00 00 +T 66 08 00 00 DD 6E EE DD 66 EF 36 00 01 00 00 R 00 00 01 00 -T 70 08 00 00 C5 01 27 00 00 00 DD 5E F0 DD 56 +T 71 08 00 00 C5 01 27 00 00 00 DD 5E F0 DD 56 R 00 00 01 00 00 06 02 00 -T 79 08 00 00 F1 CD 75 00 00 00 EB C1 CD +T 7A 08 00 00 F1 CD 75 00 00 00 EB C1 CD R 00 00 01 00 00 06 01 00 -T 80 08 00 00 8D 01 00 00 DD 75 F2 DD 74 F3 C3 +T 81 08 00 00 8D 01 00 00 DD 75 F2 DD 74 F3 C3 R 00 00 01 00 00 04 01 00 -T 89 08 00 00 1D 07 00 00 +T 8A 08 00 00 1E 07 00 00 R 00 00 01 00 00 04 01 00 -T 8B 08 00 00 +T 8C 08 00 00 R 00 00 01 00 -T 8B 08 00 00 DD 5E E2 DD 56 E3 3E 00 00 00 00 +T 8C 08 00 00 DD 5E E2 DD 56 E3 3E 00 00 00 00 R 00 00 01 00 2B 0B 08 00 -T 93 08 00 00 21 00 00 00 00 CD 00 00 00 00 DD +T 94 08 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 08 00 02 0A 01 00 -T 9A 08 00 00 5E E4 DD 56 E5 3E 00 00 00 00 21 +T 9B 08 00 00 5E E4 DD 56 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 0F 00 -T A2 08 00 00 00 00 00 00 CD 00 00 00 00 DD 7E +T A3 08 00 00 00 00 00 00 CD 00 00 00 00 DD 7E R 00 00 01 00 02 04 0F 00 02 09 01 00 -T A9 08 00 00 FC DD B6 FD 28 21 +T AA 08 00 00 FC DD B6 FD 28 21 R 00 00 01 00 -T AF 08 00 00 +T B0 08 00 00 R 00 00 01 00 -T AF 08 00 00 DD 4E 02 DD 46 03 DD 6E EE DD 66 +T B0 08 00 00 DD 4E 02 DD 46 03 DD 6E EE DD 66 R 00 00 01 00 -T BA 08 00 00 EF A7 ED 42 4D 44 03 DD 5E 02 DD +T BB 08 00 00 EF A7 ED 42 4D 44 03 DD 5E 02 DD R 00 00 01 00 -T C5 08 00 00 56 03 CD 4C 00 00 00 DD 75 02 DD +T C6 08 00 00 56 03 CD 4C 00 00 00 DD 75 02 DD R 00 00 01 00 00 07 01 00 -T CE 08 00 00 74 03 +T CF 08 00 00 74 03 R 00 00 01 00 -T D0 08 00 00 +T D1 08 00 00 R 00 00 01 00 -T D0 08 00 00 +T D1 08 00 00 R 00 00 01 00 -T D0 08 00 00 DD 6E 02 DD 66 03 22 00 00 00 00 +T D1 08 00 00 DD 6E 02 DD 66 03 22 00 00 00 00 R 00 00 01 00 00 0B 03 00 -T D9 08 00 00 DD 7E FC DD B6 FD 28 08 +T DA 08 00 00 DD 7E FC DD B6 FD 28 08 R 00 00 01 00 -T E1 08 00 00 +T E2 08 00 00 R 00 00 01 00 -T E1 08 00 00 DD 6E 02 DD 66 03 18 03 +T E2 08 00 00 DD 6E 02 DD 66 03 18 03 R 00 00 01 00 -T E9 08 00 00 +T EA 08 00 00 R 00 00 01 00 -T E9 08 00 00 21 01 00 +T EA 08 00 00 21 01 00 R 00 00 01 00 -T EC 08 00 00 +T ED 08 00 00 R 00 00 01 00 -T EC 08 00 00 C3 00 00 00 00 +T ED 08 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 06 00 -T EF 08 00 00 +T F0 08 00 00 R 00 00 01 00 -T EF 08 00 00 CD 00 00 00 00 FE FF 21 04 00 DD +T F0 08 00 00 CD 00 00 00 00 FE FF 21 04 00 DD R 00 00 01 00 02 05 13 00 -T F8 08 00 00 5E 08 DD 56 09 19 E5 EB 5E 23 56 +T F9 08 00 00 5E 08 DD 56 09 19 E5 EB 5E 23 56 R 00 00 01 00 -T 03 09 00 00 E1 73 23 72 21 08 00 DD 5E 08 DD +T 04 09 00 00 E1 73 23 72 21 08 00 DD 5E 08 DD R 00 00 01 00 -T 0E 09 00 00 56 09 19 AF 77 23 77 21 06 00 19 +T 0F 09 00 00 56 09 19 AF 77 23 77 21 06 00 19 R 00 00 01 00 -T 19 09 00 00 AF 77 23 77 21 04 00 19 7E 23 66 +T 1A 09 00 00 AF 77 23 77 21 04 00 19 7E 23 66 R 00 00 01 00 -T 24 09 00 00 6F 36 00 21 00 00 E5 21 00 00 E5 +T 25 09 00 00 6F 36 00 21 00 00 E5 21 00 00 E5 R 00 00 01 00 -T 2F 09 00 00 21 00 00 E5 59 50 3E 00 00 00 00 +T 30 09 00 00 21 00 00 E5 59 50 3E 00 00 00 00 R 00 00 01 00 2B 0B 07 00 -T 37 09 00 00 21 00 00 00 00 CD 00 00 00 00 F1 +T 38 09 00 00 21 00 00 00 00 CD 00 00 00 00 F1 R 00 00 01 00 02 05 07 00 02 0A 01 00 -T 3E 09 00 00 F1 F1 +T 3F 09 00 00 F1 F1 R 00 00 01 00 -T 40 09 00 00 +T 41 09 00 00 R 00 00 01 00 -T 40 09 00 00 21 06 00 DD 4E 08 DD 46 09 09 7E +T 41 09 00 00 21 06 00 DD 4E 08 DD 46 09 09 7E R 00 00 01 00 -T 4B 09 00 00 23 B6 C2 D8 09 00 00 +T 4C 09 00 00 23 B6 C2 D9 09 00 00 R 00 00 01 00 00 07 01 00 -T 50 09 00 00 +T 51 09 00 00 R 00 00 01 00 -T 50 09 00 00 AF DD 77 FE DD 77 FF +T 51 09 00 00 AF DD 77 FE DD 77 FF R 00 00 01 00 -T 57 09 00 00 +T 58 09 00 00 R 00 00 01 00 -T 57 09 00 00 DD 6E FE DD 66 FF E5 DD 4E 08 DD +T 58 09 00 00 DD 6E FE DD 66 FF E5 DD 4E 08 DD R 00 00 01 00 -T 62 09 00 00 46 09 DD 5E 04 DD 56 05 CD +T 63 09 00 00 46 09 DD 5E 04 DD 56 05 CD R 00 00 01 00 -T 6B 09 00 00 13 0B 00 00 F1 DD 75 FE DD 74 FF +T 6C 09 00 00 14 0B 00 00 F1 DD 75 FE DD 74 FF R 00 00 01 00 00 04 01 00 -T 74 09 00 00 21 06 00 DD 4E 08 DD 46 09 09 7E +T 75 09 00 00 21 06 00 DD 4E 08 DD 46 09 09 7E R 00 00 01 00 -T 7F 09 00 00 23 B6 20 0D DD 6E FE DD 66 FF 2B +T 80 09 00 00 23 B6 20 0D DD 6E FE DD 66 FF 2B R 00 00 01 00 -T 8A 09 00 00 2B 7E FE 5C 28 C7 +T 8B 09 00 00 2B 7E FE 5C 28 C7 R 00 00 01 00 -T 90 09 00 00 +T 91 09 00 00 R 00 00 01 00 -T 90 09 00 00 21 04 00 DD 4E 08 DD 46 09 09 7E +T 91 09 00 00 21 04 00 DD 4E 08 DD 46 09 09 7E R 00 00 01 00 -T 9B 09 00 00 23 66 6F 7E FE 23 28 1F DD 4E 02 +T 9C 09 00 00 23 66 6F 7E FE 23 28 1F DD 4E 02 R 00 00 01 00 -T A6 09 00 00 DD 46 03 21 04 00 DD 5E 08 DD 56 +T A7 09 00 00 DD 46 03 21 04 00 DD 5E 08 DD 56 R 00 00 01 00 -T B1 09 00 00 09 19 5E 23 56 CD DE 09 00 00 7D +T B2 09 00 00 09 19 5E 23 56 CD DF 09 00 00 7D R 00 00 01 00 00 0A 01 00 -T BA 09 00 00 B4 28 05 +T BB 09 00 00 B4 28 05 R 00 00 01 00 -T BD 09 00 00 +T BE 09 00 00 R 00 00 01 00 -T BD 09 00 00 +T BE 09 00 00 R 00 00 01 00 -T BD 09 00 00 +T BE 09 00 00 R 00 00 01 00 -T BD 09 00 00 21 01 00 18 19 +T BE 09 00 00 21 01 00 18 19 R 00 00 01 00 -T C2 09 00 00 +T C3 09 00 00 R 00 00 01 00 -T C2 09 00 00 21 04 00 DD 4E 08 DD 46 09 09 DD +T C3 09 00 00 21 04 00 DD 4E 08 DD 46 09 09 DD R 00 00 01 00 -T CD 09 00 00 4E FE DD 46 FF 71 23 70 C3 +T CE 09 00 00 4E FE DD 46 FF 71 23 70 C3 R 00 00 01 00 -T D6 09 00 00 40 09 00 00 +T D7 09 00 00 41 09 00 00 R 00 00 01 00 00 04 01 00 -T D8 09 00 00 +T D9 09 00 00 R 00 00 01 00 -T D8 09 00 00 21 00 00 +T D9 09 00 00 21 00 00 R 00 00 01 00 -T DB 09 00 00 +T DC 09 00 00 R 00 00 01 00 -T DB 09 00 00 C3 00 00 00 00 +T DC 09 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 0B 00 -T DE 09 00 00 +T DF 09 00 00 R 00 00 01 00 -T DE 09 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD +T DF 09 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD R 00 00 01 00 02 05 13 00 -T E7 09 00 00 56 03 CD 54 0A 00 00 7D B4 20 05 +T E8 09 00 00 56 03 CD 55 0A 00 00 7D B4 20 05 R 00 00 01 00 00 07 01 00 -T F0 09 00 00 +T F1 09 00 00 R 00 00 01 00 -T F0 09 00 00 21 01 00 18 5C +T F1 09 00 00 21 01 00 18 5C R 00 00 01 00 -T F5 09 00 00 +T F6 09 00 00 R 00 00 01 00 -T F5 09 00 00 DD 6E 02 DD 66 03 DD 75 FE DD 74 +T F6 09 00 00 DD 6E 02 DD 66 03 DD 75 FE DD 74 R 00 00 01 00 -T 00 0A 00 00 FF +T 01 0A 00 00 FF R 00 00 01 00 -T 01 0A 00 00 +T 02 0A 00 00 R 00 00 01 00 -T 01 0A 00 00 DD 6E FE DD 66 FF AF B6 28 43 DD +T 02 0A 00 00 DD 6E FE DD 66 FF AF B6 28 43 DD R 00 00 01 00 -T 0C 0A 00 00 6E FE DD 66 FF 7E FE 0A 28 38 DD +T 0D 0A 00 00 6E FE DD 66 FF 7E FE 0A 28 38 DD R 00 00 01 00 -T 17 0A 00 00 6E FE DD 66 FF 7E FE 3A 28 2D +T 18 0A 00 00 6E FE DD 66 FF 7E FE 3A 28 2D R 00 00 01 00 -T 21 0A 00 00 +T 22 0A 00 00 R 00 00 01 00 -T 21 0A 00 00 +T 22 0A 00 00 R 00 00 01 00 -T 21 0A 00 00 +T 22 0A 00 00 R 00 00 01 00 -T 21 0A 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD +T 22 0A 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD R 00 00 01 00 -T 2C 0A 00 00 74 FF 2B 7E FE 7C 20 18 DD 4E 04 +T 2D 0A 00 00 74 FF 2B 7E FE 7C 20 18 DD 4E 04 R 00 00 01 00 -T 37 0A 00 00 DD 46 05 DD 5E FE DD 56 FF CD +T 38 0A 00 00 DD 46 05 DD 5E FE DD 56 FF CD R 00 00 01 00 -T 41 0A 00 00 54 0A 00 00 7D B4 20 05 +T 42 0A 00 00 55 0A 00 00 7D B4 20 05 R 00 00 01 00 00 04 01 00 -T 47 0A 00 00 +T 48 0A 00 00 R 00 00 01 00 -T 47 0A 00 00 +T 48 0A 00 00 R 00 00 01 00 -T 47 0A 00 00 +T 48 0A 00 00 R 00 00 01 00 -T 47 0A 00 00 21 01 00 18 05 +T 48 0A 00 00 21 01 00 18 05 R 00 00 01 00 -T 4C 0A 00 00 +T 4D 0A 00 00 R 00 00 01 00 -T 4C 0A 00 00 18 B3 +T 4D 0A 00 00 18 B3 R 00 00 01 00 -T 4E 0A 00 00 +T 4F 0A 00 00 R 00 00 01 00 -T 4E 0A 00 00 21 00 00 +T 4F 0A 00 00 21 00 00 R 00 00 01 00 -T 51 0A 00 00 +T 52 0A 00 00 R 00 00 01 00 -T 51 0A 00 00 C3 00 00 00 00 +T 52 0A 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 0B 00 -T 54 0A 00 00 +T 55 0A 00 00 R 00 00 01 00 -T 54 0A 00 00 CD 00 00 00 00 FC FF +T 55 0A 00 00 CD 00 00 00 00 FC FF R 00 00 01 00 02 05 13 00 -T 59 0A 00 00 +T 5A 0A 00 00 R 00 00 01 00 -T 59 0A 00 00 +T 5A 0A 00 00 R 00 00 01 00 -T 59 0A 00 00 AF 3C CA 0D 0B 00 00 +T 5A 0A 00 00 AF 3C CA 0E 0B 00 00 R 00 00 01 00 00 07 01 00 -T 5E 0A 00 00 +T 5F 0A 00 00 R 00 00 01 00 -T 5E 0A 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD +T 5F 0A 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD R 00 00 01 00 -T 69 0A 00 00 74 03 2B 4E 06 00 DD 71 FC DD 70 +T 6A 0A 00 00 74 03 2B 4E 06 00 DD 71 FC DD 70 R 00 00 01 00 -T 74 0A 00 00 FD DD 6E 04 DD 66 05 23 DD 75 04 +T 75 0A 00 00 FD DD 6E 04 DD 66 05 23 DD 75 04 R 00 00 01 00 -T 7F 0A 00 00 DD 74 05 2B 4E 06 00 DD 71 FE DD +T 80 0A 00 00 DD 74 05 2B 4E 06 00 DD 71 FE DD R 00 00 01 00 -T 8A 0A 00 00 70 FF +T 8B 0A 00 00 70 FF R 00 00 01 00 -T 8C 0A 00 00 +T 8D 0A 00 00 R 00 00 01 00 -T 8C 0A 00 00 3E 5C DD AE FC DD B6 FD 20 3E DD +T 8D 0A 00 00 3E 5C DD AE FC DD B6 FD 20 3E DD R 00 00 01 00 -T 97 0A 00 00 6E 02 DD 66 03 7E FE 0A 20 33 +T 98 0A 00 00 6E 02 DD 66 03 7E FE 0A 20 33 R 00 00 01 00 -T A1 0A 00 00 +T A2 0A 00 00 R 00 00 01 00 -T A1 0A 00 00 +T A2 0A 00 00 R 00 00 01 00 -T A1 0A 00 00 +T A2 0A 00 00 R 00 00 01 00 -T A1 0A 00 00 DD 34 02 20 03 DD 34 03 +T A2 0A 00 00 DD 34 02 20 03 DD 34 03 R 00 00 01 00 -T A9 0A 00 00 +T AA 0A 00 00 R 00 00 01 00 -T A9 0A 00 00 +T AA 0A 00 00 R 00 00 01 00 -T A9 0A 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD +T AA 0A 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD R 00 00 01 00 -T B4 0A 00 00 74 03 2B 4E 06 00 DD 71 FC DD 70 +T B5 0A 00 00 74 03 2B 4E 06 00 DD 71 FC DD 70 R 00 00 01 00 -T BF 0A 00 00 FD 3E 20 A9 B0 28 0A 3E 09 DD AE +T C0 0A 00 00 FD 3E 20 A9 B0 28 0A 3E 09 DD AE R 00 00 01 00 -T CA 0A 00 00 FC DD B6 FD 20 02 +T CB 0A 00 00 FC DD B6 FD 20 02 R 00 00 01 00 -T D0 0A 00 00 +T D1 0A 00 00 R 00 00 01 00 -T D0 0A 00 00 +T D1 0A 00 00 R 00 00 01 00 -T D0 0A 00 00 +T D1 0A 00 00 R 00 00 01 00 -T D0 0A 00 00 18 D7 +T D1 0A 00 00 18 D7 R 00 00 01 00 -T D2 0A 00 00 +T D3 0A 00 00 R 00 00 01 00 -T D2 0A 00 00 18 B8 +T D3 0A 00 00 18 B8 R 00 00 01 00 -T D4 0A 00 00 +T D5 0A 00 00 R 00 00 01 00 -T D4 0A 00 00 DD 7E FE DD B6 FF 20 1B +T D5 0A 00 00 DD 7E FE DD B6 FF 20 1B R 00 00 01 00 -T DC 0A 00 00 +T DD 0A 00 00 R 00 00 01 00 -T DC 0A 00 00 3E 7C DD AE FC DD B6 FD 28 0A 3E +T DD 0A 00 00 3E 7C DD AE FC DD B6 FD 28 0A 3E R 00 00 01 00 -T E7 0A 00 00 3A DD AE FC DD B6 FD 20 05 +T E8 0A 00 00 3A DD AE FC DD B6 FD 20 05 R 00 00 01 00 -T F0 0A 00 00 +T F1 0A 00 00 R 00 00 01 00 -T F0 0A 00 00 +T F1 0A 00 00 R 00 00 01 00 -T F0 0A 00 00 +T F1 0A 00 00 R 00 00 01 00 -T F0 0A 00 00 21 00 00 18 1B +T F1 0A 00 00 21 00 00 18 1B R 00 00 01 00 -T F5 0A 00 00 +T F6 0A 00 00 R 00 00 01 00 -T F5 0A 00 00 18 16 +T F6 0A 00 00 18 16 R 00 00 01 00 -T F7 0A 00 00 +T F8 0A 00 00 R 00 00 01 00 -T F7 0A 00 00 DD 6E FE DD 66 FF DD 4E FC DD 46 +T F8 0A 00 00 DD 6E FE DD 66 FF DD 4E FC DD 46 R 00 00 01 00 -T 02 0B 00 00 FD A7 ED 42 28 02 +T 03 0B 00 00 FD A7 ED 42 28 02 R 00 00 01 00 -T 08 0B 00 00 +T 09 0B 00 00 R 00 00 01 00 -T 08 0B 00 00 18 03 +T 09 0B 00 00 18 03 R 00 00 01 00 -T 0A 0B 00 00 +T 0B 0B 00 00 R 00 00 01 00 -T 0A 0B 00 00 C3 59 0A 00 00 +T 0B 0B 00 00 C3 5A 0A 00 00 R 00 00 01 00 00 05 01 00 -T 0D 0B 00 00 +T 0E 0B 00 00 R 00 00 01 00 -T 0D 0B 00 00 21 01 00 +T 0E 0B 00 00 21 01 00 R 00 00 01 00 -T 10 0B 00 00 +T 11 0B 00 00 R 00 00 01 00 -T 10 0B 00 00 C3 00 00 00 00 +T 11 0B 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 0B 00 -T 13 0B 00 00 +T 14 0B 00 00 R 00 00 01 00 -T 13 0B 00 00 CD 00 00 00 00 F8 FF 0A 6F 03 0A +T 14 0B 00 00 CD 00 00 00 00 F8 FF 0A 6F 03 0A R 00 00 01 00 02 05 13 00 -T 1C 0B 00 00 67 DD 75 FE DD 74 FF DD 7E 08 DD +T 1D 0B 00 00 67 DD 75 FE DD 74 FF DD 7E 08 DD R 00 00 01 00 -T 27 0B 00 00 B6 09 20 14 +T 28 0B 00 00 B6 09 20 14 R 00 00 01 00 -T 2B 0B 00 00 +T 2C 0B 00 00 R 00 00 01 00 -T 2B 0B 00 00 21 04 00 DD 4E 04 DD 46 05 09 46 +T 2C 0B 00 00 21 04 00 DD 4E 04 DD 46 05 09 46 R 00 00 01 00 -T 36 0B 00 00 23 66 68 DD 75 08 DD 74 09 +T 37 0B 00 00 23 66 68 DD 75 08 DD 74 09 R 00 00 01 00 -T 3F 0B 00 00 +T 40 0B 00 00 R 00 00 01 00 -T 3F 0B 00 00 +T 40 0B 00 00 R 00 00 01 00 -T 3F 0B 00 00 AF 3C CA 40 0D 00 00 +T 40 0B 00 00 AF 3C CA 41 0D 00 00 R 00 00 01 00 00 07 01 00 -T 44 0B 00 00 +T 45 0B 00 00 R 00 00 01 00 -T 44 0B 00 00 DD 6E 08 DD 66 09 DD 75 FA DD 74 +T 45 0B 00 00 DD 6E 08 DD 66 09 DD 75 FA DD 74 R 00 00 01 00 -T 4F 0B 00 00 FB +T 50 0B 00 00 FB R 00 00 01 00 -T 50 0B 00 00 +T 51 0B 00 00 R 00 00 01 00 -T 50 0B 00 00 DD 6E FA DD 66 FB AF B6 28 15 DD +T 51 0B 00 00 DD 6E FA DD 66 FB AF B6 28 15 DD R 00 00 01 00 -T 5B 0B 00 00 6E FA DD 66 FB 7E FE 0A 28 0A +T 5C 0B 00 00 6E FA DD 66 FB 7E FE 0A 28 0A R 00 00 01 00 -T 65 0B 00 00 +T 66 0B 00 00 R 00 00 01 00 -T 65 0B 00 00 +T 66 0B 00 00 R 00 00 01 00 -T 65 0B 00 00 +T 66 0B 00 00 R 00 00 01 00 -T 65 0B 00 00 DD 34 FA 20 03 DD 34 FB +T 66 0B 00 00 DD 34 FA 20 03 DD 34 FB R 00 00 01 00 -T 6D 0B 00 00 +T 6E 0B 00 00 R 00 00 01 00 -T 6D 0B 00 00 18 E1 +T 6E 0B 00 00 18 E1 R 00 00 01 00 -T 6F 0B 00 00 +T 70 0B 00 00 R 00 00 01 00 -T 6F 0B 00 00 DD 6E FA DD 66 FB AF B6 28 03 +T 70 0B 00 00 DD 6E FA DD 66 FB AF B6 28 03 R 00 00 01 00 -T 79 0B 00 00 +T 7A 0B 00 00 R 00 00 01 00 -T 79 0B 00 00 C3 40 0D 00 00 +T 7A 0B 00 00 C3 41 0D 00 00 R 00 00 01 00 00 05 01 00 -T 7C 0B 00 00 +T 7D 0B 00 00 R 00 00 01 00 -T 7C 0B 00 00 21 06 00 DD 4E 04 DD 46 05 09 7E +T 7D 0B 00 00 21 06 00 DD 4E 04 DD 46 05 09 7E R 00 00 01 00 -T 87 0B 00 00 23 B6 28 18 +T 88 0B 00 00 23 B6 28 18 R 00 00 01 00 -T 8B 0B 00 00 +T 8C 0B 00 00 R 00 00 01 00 -T 8B 0B 00 00 21 08 00 DD 4E 04 DD 46 05 09 46 +T 8C 0B 00 00 21 08 00 DD 4E 04 DD 46 05 09 46 R 00 00 01 00 -T 96 0B 00 00 23 66 68 DD 4E FE DD 46 FF 09 C3 +T 97 0B 00 00 23 66 68 DD 4E FE DD 46 FF 09 C3 R 00 00 01 00 -T A1 0B 00 00 47 0D 00 00 +T A2 0B 00 00 48 0D 00 00 R 00 00 01 00 00 04 01 00 -T A3 0B 00 00 +T A4 0B 00 00 R 00 00 01 00 -T A3 0B 00 00 21 04 00 DD 4E 04 DD 46 05 09 46 +T A4 0B 00 00 21 04 00 DD 4E 04 DD 46 05 09 46 R 00 00 01 00 -T AE 0B 00 00 23 66 68 DD 4E FE DD 46 FF A7 ED +T AF 0B 00 00 23 66 68 DD 4E FE DD 46 FF A7 ED R 00 00 01 00 -T B9 0B 00 00 42 C2 51 0C 00 00 +T BA 0B 00 00 42 C2 52 0C 00 00 R 00 00 01 00 00 06 01 00 -T BD 0B 00 00 +T BE 0B 00 00 R 00 00 01 00 -T BD 0B 00 00 21 08 00 DD 4E 04 DD 46 05 09 56 +T BE 0B 00 00 21 08 00 DD 4E 04 DD 46 05 09 56 R 00 00 01 00 -T C8 0B 00 00 23 66 6A E5 03 03 69 60 4E 23 46 +T C9 0B 00 00 23 66 6A E5 03 03 69 60 4E 23 46 R 00 00 01 00 -T D3 0B 00 00 E1 A7 ED 42 20 76 +T D4 0B 00 00 E1 A7 ED 42 20 76 R 00 00 01 00 -T D9 0B 00 00 +T DA 0B 00 00 R 00 00 01 00 -T D9 0B 00 00 DD 6E 04 DD 66 05 23 23 06 01 CD +T DA 0B 00 00 DD 6E 04 DD 66 05 23 23 06 01 CD R 00 00 01 00 -T E4 0B 00 00 00 00 00 00 DD 6E 04 DD 66 05 23 +T E5 0B 00 00 00 00 00 00 DD 6E 04 DD 66 05 23 R 00 00 01 00 02 04 00 00 -T ED 0B 00 00 23 4E 23 46 03 DD 5E FE DD 56 FF +T EE 0B 00 00 23 4E 23 46 03 DD 5E FE DD 56 FF R 00 00 01 00 -T F8 0B 00 00 CD 4C 00 00 00 DD 75 FC DD 74 FD +T F9 0B 00 00 CD 4C 00 00 00 DD 75 FC DD 74 FD R 00 00 01 00 00 05 01 00 -T 01 0C 00 00 21 04 00 DD 4E 04 DD 46 05 09 E5 +T 02 0C 00 00 21 04 00 DD 4E 04 DD 46 05 09 E5 R 00 00 01 00 -T 0C 0C 00 00 DD 5E FE DD 56 FF 21 04 00 09 7E +T 0D 0C 00 00 DD 5E FE DD 56 FF 21 04 00 09 7E R 00 00 01 00 -T 17 0C 00 00 23 66 6F A7 ED 52 DD 5E FC DD 56 +T 18 0C 00 00 23 66 6F A7 ED 52 DD 5E FC DD 56 R 00 00 01 00 -T 22 0C 00 00 FD 19 4D 44 E1 71 23 70 DD 4E FE +T 23 0C 00 00 FD 19 4D 44 E1 71 23 70 DD 4E FE R 00 00 01 00 -T 2D 0C 00 00 DD 46 FF DD 6E 08 DD 66 09 A7 ED +T 2E 0C 00 00 DD 46 FF DD 6E 08 DD 66 09 A7 ED R 00 00 01 00 -T 38 0C 00 00 42 19 DD 75 08 DD 74 09 DD 73 FE +T 39 0C 00 00 42 19 DD 75 08 DD 74 09 DD 73 FE R 00 00 01 00 -T 43 0C 00 00 DD 72 FF DD 6E 04 DD 66 05 73 23 +T 44 0C 00 00 DD 72 FF DD 6E 04 DD 66 05 73 23 R 00 00 01 00 -T 4E 0C 00 00 72 +T 4F 0C 00 00 72 R 00 00 01 00 -T 4F 0C 00 00 +T 50 0C 00 00 R 00 00 01 00 -T 4F 0C 00 00 18 6F +T 50 0C 00 00 18 6F R 00 00 01 00 -T 51 0C 00 00 +T 52 0C 00 00 R 00 00 01 00 -T 51 0C 00 00 DD 4E FE DD 46 FF 21 04 00 DD 5E +T 52 0C 00 00 DD 4E FE DD 46 FF 21 04 00 DD 5E R 00 00 01 00 -T 5C 0C 00 00 04 DD 56 05 19 7E 23 66 6F A7 ED +T 5D 0C 00 00 04 DD 56 05 19 7E 23 66 6F A7 ED R 00 00 01 00 -T 67 0C 00 00 42 4D 44 21 10 00 39 7E 91 77 23 +T 68 0C 00 00 42 4D 44 21 10 00 39 7E 91 77 23 R 00 00 01 00 -T 72 0C 00 00 7E 98 77 DD 4E FE DD 46 FF 21 +T 73 0C 00 00 7E 98 77 DD 4E FE DD 46 FF 21 R 00 00 01 00 -T 7C 0C 00 00 04 00 19 7E 23 66 6F A7 ED 42 4D +T 7D 0C 00 00 04 00 19 7E 23 66 6F A7 ED 42 4D R 00 00 01 00 -T 87 0C 00 00 44 21 08 00 19 7E 91 77 23 7E 98 +T 88 0C 00 00 44 21 08 00 19 7E 91 77 23 7E 98 R 00 00 01 00 -T 92 0C 00 00 77 2B 6E 67 E5 21 04 00 19 4E 23 +T 93 0C 00 00 77 2B 6E 67 E5 21 04 00 19 4E 23 R 00 00 01 00 -T 9D 0C 00 00 46 DD 5E FE DD 56 FF 3E +T 9E 0C 00 00 46 DD 5E FE DD 56 FF 3E R 00 00 01 00 -T A5 0C 00 00 00 00 00 00 21 00 00 00 00 CD +T A6 0C 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 04 00 02 09 04 00 -T AA 0C 00 00 00 00 00 00 F1 21 04 00 DD 4E 04 +T AB 0C 00 00 00 00 00 00 F1 21 04 00 DD 4E 04 R 00 00 01 00 02 04 01 00 -T B3 0C 00 00 DD 46 05 09 DD 4E FE DD 46 FF 71 +T B4 0C 00 00 DD 46 05 09 DD 4E FE DD 46 FF 71 R 00 00 01 00 -T BE 0C 00 00 23 70 +T BF 0C 00 00 23 70 R 00 00 01 00 -T C0 0C 00 00 +T C1 0C 00 00 R 00 00 01 00 -T C0 0C 00 00 21 08 00 DD 4E 04 DD 46 05 09 5E +T C1 0C 00 00 21 08 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 -T CB 0C 00 00 23 56 03 03 0A 6F 03 0A 67 A7 ED +T CC 0C 00 00 23 56 03 03 0A 6F 03 0A 67 A7 ED R 00 00 01 00 -T D6 0C 00 00 52 E5 21 08 00 DD 4E 04 DD 46 05 +T D7 0C 00 00 52 E5 21 08 00 DD 4E 04 DD 46 05 R 00 00 01 00 -T E1 0C 00 00 09 46 23 66 68 DD 4E FE DD 46 FF +T E2 0C 00 00 09 46 23 66 68 DD 4E FE DD 46 FF R 00 00 01 00 -T EC 0C 00 00 09 4D 44 DD 5E 02 DD 56 03 3E +T ED 0C 00 00 09 4D 44 DD 5E 02 DD 56 03 3E R 00 00 01 00 -T F6 0C 00 00 00 00 00 00 21 00 00 00 00 CD +T F7 0C 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0C 00 02 09 0C 00 -T FB 0C 00 00 00 00 00 00 F1 DD 75 F8 DD 74 F9 +T FC 0C 00 00 00 00 00 00 F1 DD 75 F8 DD 74 F9 R 00 00 01 00 02 04 01 00 -T 04 0D 00 00 7D B4 20 0F +T 05 0D 00 00 7D B4 20 0F R 00 00 01 00 -T 08 0D 00 00 +T 09 0D 00 00 R 00 00 01 00 -T 08 0D 00 00 21 06 00 DD 4E 04 DD 46 05 09 36 +T 09 0D 00 00 21 06 00 DD 4E 04 DD 46 05 09 36 R 00 00 01 00 -T 13 0D 00 00 01 23 36 00 +T 14 0D 00 00 01 23 36 00 R 00 00 01 00 -T 17 0D 00 00 +T 18 0D 00 00 R 00 00 01 00 -T 17 0D 00 00 21 08 00 DD 4E 04 DD 46 05 09 7E +T 18 0D 00 00 21 08 00 DD 4E 04 DD 46 05 09 7E R 00 00 01 00 -T 22 0D 00 00 DD 86 F8 77 23 7E DD 8E F9 77 21 +T 23 0D 00 00 DD 86 F8 77 23 7E DD 8E F9 77 21 R 00 00 01 00 -T 2D 0D 00 00 08 00 09 46 23 66 68 DD 4E FE DD +T 2E 0D 00 00 08 00 09 46 23 66 68 DD 4E FE DD R 00 00 01 00 -T 38 0D 00 00 46 FF 09 36 00 C3 3F 0B 00 00 +T 39 0D 00 00 46 FF 09 36 00 C3 40 0B 00 00 R 00 00 01 00 00 0A 01 00 -T 40 0D 00 00 +T 41 0D 00 00 R 00 00 01 00 -T 40 0D 00 00 DD 6E FA DD 66 FB 23 +T 41 0D 00 00 DD 6E FA DD 66 FB 23 R 00 00 01 00 -T 47 0D 00 00 +T 48 0D 00 00 R 00 00 01 00 -T 47 0D 00 00 C3 00 00 00 00 +T 48 0D 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 0B 00 T 00 00 00 00 R 00 00 02 00 @@ -1414,19 +1417,23 @@ T 00 00 00 00 R 00 00 04 00 T 00 00 00 00 R 00 00 04 00 -T 1C 00 00 00 +T 02 00 00 00 +R 00 00 04 00 +T 02 00 00 00 +R 00 00 04 00 +T 1E 00 00 00 R 00 00 04 00 -T 1C 00 00 00 +T 1E 00 00 00 R 00 00 04 00 -T 00 00 00 00 20 07 08 20 20 1B 0C 20 20 20 20 +T 00 00 00 00 80 00 20 07 08 20 20 1B 0C 20 20 R 00 00 05 00 -T 0B 00 00 00 20 20 20 0A 20 20 20 0D 20 20 20 +T 0B 00 00 00 20 20 20 20 20 0A 20 20 20 0D 20 R 00 00 05 00 -T 16 00 00 00 0B 20 20 20 20 00 00 00 32 00 +T 16 00 00 00 20 20 0B 20 20 20 20 00 00 00 R 00 00 05 00 -T 20 00 00 00 4B 00 6E 00 87 00 96 00 FE FF +T 20 00 00 00 32 00 4B 00 6E 00 87 00 96 00 R 00 00 05 00 -T 2A 00 00 00 FD FF FA FF F4 FF EE FF E8 FF +T 2A 00 00 00 FE FF FD FF FA FF F4 FF EE FF R 00 00 05 00 -T 34 00 00 00 D0 FF A0 FF 40 FF 80 FE +T 34 00 00 00 E8 FF D0 FF A0 FF 40 FF 80 FE R 00 00 05 00 diff --git a/src/nos/lib/crt_banked_lib/ttyname.rel b/src/nos/lib/crt_banked_lib/ttyname.rel index 1f2d99a7..9d0be568 100644 --- a/src/nos/lib/crt_banked_lib/ttyname.rel +++ b/src/nos/lib/crt_banked_lib/ttyname.rel @@ -26,7 +26,7 @@ T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 BC FF AF DD 77 FA R 00 00 01 00 02 05 0B 00 -T 09 00 00 00 DD 77 FB 21 4D 00 ED 4B +T 09 00 00 00 DD 77 FB 21 4F 00 ED 4B R 00 00 01 00 T 11 00 00 00 00 00 00 00 09 46 23 66 68 DD 75 R 00 00 01 00 02 04 07 00 @@ -52,7 +52,7 @@ T 4B 00 00 00 B4 20 13 R 00 00 01 00 T 4E 00 00 00 R 00 00 01 00 -T 4E 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 4E 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 07 00 T 57 00 00 00 19 23 36 00 21 00 00 C3 R 00 00 01 00 @@ -144,7 +144,7 @@ T 2A 01 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 R 00 00 01 00 2B 0B 03 00 T 32 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 03 00 02 0A 00 00 -T 39 01 00 00 4D 00 ED 4B 00 00 00 00 09 DD 4E +T 39 01 00 00 4F 00 ED 4B 00 00 00 00 09 DD 4E R 00 00 01 00 02 08 07 00 T 42 01 00 00 FE DD 46 FF 71 23 70 DD 6E FA DD R 00 00 01 00 diff --git a/src/nos/lib/crt_large.lib b/src/nos/lib/crt_large.lib deleted file mode 100644 index 242659c3..00000000 --- a/src/nos/lib/crt_large.lib +++ /dev/null @@ -1,342 +0,0 @@ -crt_large_lib/abort.rel - _abort -crt_large_lib/alloca.rel - _alloca -crt_large_lib/asctime.rel - ___asctime - _asctime -crt_large_lib/assert.rel - ___assert - ___errput -crt_large_lib/atexit.rel - _atexit - _on_exit - ___on_exit_table - ___on_exit_count -crt_large_lib/atoi.rel - _atoi -crt_large_lib/atol.rel - _atol -crt_large_lib/bsearch.rel - _bsearch - __bsearch -crt_large_lib/calloc.rel - _calloc -crt_large_lib/clock.rel - _clock -crt_large_lib/closedir.rel - _closedir -crt_large_lib/convtime.rel - _convtime -crt_large_lib/crypt.rel - _crypt -crt_large_lib/ctime.rel - _ctime -crt_large_lib/ctype.rel - _tolower - _toupper - ___ctype -crt_large_lib/difftime.rel - _difftime -crt_large_lib/error.rel - _strerror - ___sys_errlist - ___sys_nerr -crt_large_lib/etime.rel - _etime - _dout - _ediff -crt_large_lib/execl.rel - __findPath - _execl -crt_large_lib/execle.rel - _execle -crt_large_lib/execlp.rel - _execlp -crt_large_lib/execlpe.rel - _execlpe -crt_large_lib/exect.rel - _exect -crt_large_lib/execv.rel - _execv -crt_large_lib/execvp.rel - _execvp -crt_large_lib/execvpe.rel - _execvpe -crt_large_lib/exit.rel - _exit -crt_large_lib/fclose.rel - _fclose -crt_large_lib/fflush.rel - _fflush -crt_large_lib/fgetc.rel - _fgetc -crt_large_lib/fgetgren.rel - _fgetgrent -crt_large_lib/fgetpwen.rel - _fgetpwent -crt_large_lib/fgets.rel - _fgets -crt_large_lib/fopen.rel - ___fopen -crt_large_lib/fprintf.rel - _fprintf -crt_large_lib/fputc.rel - _fputc -crt_large_lib/fputs.rel - _fputs -crt_large_lib/fputter.rel - ___fputter -crt_large_lib/fread.rel - _fread -crt_large_lib/free.rel - _free -crt_large_lib/fscanf.rel - _fscanf -crt_large_lib/ftell.rel - _ftell -crt_large_lib/fwrite.rel - _fwrite -crt_large_lib/getcwd.rel - _getcwd -crt_large_lib/getenv.rel - _getenv -crt_large_lib/getgrent.rel - ___getgrent -crt_large_lib/getgrgid.rel - _getgrgid -crt_large_lib/getgrnam.rel - _getgrnam -crt_large_lib/getopt.rel - _getopt - _optarg - _optopt - _optind - _opterr -crt_large_lib/getpass.rel - _getpass -crt_large_lib/getpw.rel - _getpw -crt_large_lib/getpwent.rel - ___getpwent -crt_large_lib/getpwnam.rel - _getpwnam -crt_large_lib/getpwuid.rel - _getpwuid -crt_large_lib/gets.rel - _puts - _gets -crt_large_lib/gmtime.rel - _gmtime - ___tm_conv -crt_large_lib/initgrup.rel - _initgroups -crt_large_lib/isatty.rel - _isatty -crt_large_lib/itoa.rel - _itoa - ___longtoa -crt_large_lib/localtim.rel - _localtime -crt_large_lib/longjmp.rel - _longjmp -crt_large_lib/lsearch.rel - _lfind - _lsearch -crt_large_lib/lstat.rel - _lstat -crt_large_lib/ltoa.rel - _ltoa -crt_large_lib/ltostr.rel - _ultostr - _ltostr -crt_large_lib/malloc.rel - _malloc - ___malloc_last - ___malloc_head -crt_large_lib/memccpy.rel - _memccpy -crt_large_lib/memchr.rel - _memchr -crt_large_lib/memcmp.rel - _memcmp -crt_large_lib/memcpy.rel - _memcpy -crt_large_lib/memmove.rel - _memmove -crt_large_lib/memset.rel - _memset -crt_large_lib/mkdir.rel - _mkdir -crt_large_lib/mktime.rel - _mktime -crt_large_lib/opendir.rel - _opendir -crt_large_lib/perror.rel - _perror -crt_large_lib/popen.rel - _pclose - _popen -crt_large_lib/printf.rel - _printf -crt_large_lib/putenv.rel - _putenv -crt_large_lib/putgetch.rel - __putchar - __getchar -crt_large_lib/putpwent.rel - _putpwent -crt_large_lib/qsort.rel - _qsort -crt_large_lib/rand.rel - _srand - _rand -crt_large_lib/readdir.rel - _readdir -crt_large_lib/readlink.rel - _readlink -crt_large_lib/realloc.rel - _realloc -crt_large_lib/regerror.rel - _regerror -crt_large_lib/regexp.rel - _regexec - _regcomp -crt_large_lib/regsub.rel - _regsub -crt_large_lib/rename.rel - _rename -crt_large_lib/rewind.rel - _rewind - _fseek -crt_large_lib/rewindir.rel - _rewinddir -crt_large_lib/rmdir.rel - _rmdir -crt_large_lib/scanf.rel - _scanf -crt_large_lib/setbuff.rel - _setbuffer -crt_large_lib/setenv.rel - _setenv - _unsetenv -crt_large_lib/setgrent.rel - _endgrent - _getgrent - _setgrent - __path_group -crt_large_lib/setjmp.rel - _setjmp -crt_large_lib/setpwent.rel - _endpwent - _getpwent - _setpwent - __path_passwd -crt_large_lib/setvbuff.rel - _setvbuf -crt_large_lib/sleep.rel - _sleep -crt_large_lib/sprintf.rel - _sprintf -crt_large_lib/sputter.rel - ___sputter -crt_large_lib/sscanf.rel - _sscanf -crt_large_lib/stdio0.rel - ___stdio_init_vars - ___stdio_close_all - _stderr - _stdin - _stdout - ___IO_list -crt_large_lib/strcat.rel - _strcat -crt_large_lib/strchr.rel - _strchr -crt_large_lib/strcmp.rel - _strcmp -crt_large_lib/strcpy.rel - _strcpy -crt_large_lib/strcspn.rel - _strcspn -crt_large_lib/strdup.rel - _strdup -crt_large_lib/stricmp.rel - _stricmp -crt_large_lib/strlen.rel - _strlen -crt_large_lib/strncat.rel - _strncat -crt_large_lib/strncmp.rel - _strncmp -crt_large_lib/strncpy.rel - _strncpy -crt_large_lib/strnicmp.rel - _strnicmp -crt_large_lib/strpbrk.rel - _strpbrk -crt_large_lib/strrchr.rel - _strrchr -crt_large_lib/strsep.rel - _strsep -crt_large_lib/strspn.rel - _strspn -crt_large_lib/strstr.rel - _strstr -crt_large_lib/strtok.rel - _strtok -crt_large_lib/strtol.rel - _strtol -crt_large_lib/strtoul.rel - _strtoul -crt_large_lib/system.rel - _system -crt_large_lib/termcap.rel - _tputs - _tgetnum - _tgetstr - _tgetflag - _tgetent - _ospeed - _tputs_baud_rate - _PC -crt_large_lib/tmpnam.rel - _tmpnam - __tmpnum -crt_large_lib/tparam.rel - _tparam - _tgoto - __UP - __BC -crt_large_lib/ttyname.rel - _ttyname -crt_large_lib/tzset.rel - _tzset - _daylight - _timezone - _tzname -crt_large_lib/ultoa.rel - _ultoa -crt_large_lib/ungetc.rel - _ungetc -crt_large_lib/utsname.rel - _uname -crt_large_lib/vfprintf.rel - _vfprintf -crt_large_lib/vfscanf.rel - _vfscanf -crt_large_lib/vprinter.rel - ___vprinter -crt_large_lib/vprintf.rel - _vprintf -crt_large_lib/vscanf.rel - _vscanf -crt_large_lib/vsprintf.rel - _vsprintf -crt_large_lib/vsscanf.rel - _vsscanf -crt_large_lib/xitoa.rel - __itoa -crt_large_lib/xltoa.rel - __ultoa - __ltoa diff --git a/src/nos/lib/crt_large_lib/abort.rel b/src/nos/lib/crt_large_lib/abort.rel deleted file mode 100644 index d4b7c65f..00000000 --- a/src/nos/lib/crt_large_lib/abort.rel +++ /dev/null @@ -1,30 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S __exit Ref00000000 -S _pause Ref00000000 -S .__.ABS. Def00000000 -S _kill Ref00000000 -S _getpid Ref00000000 -S _signal Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 44 flags 0 -S _abort Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 21 00 00 E5 21 00 00 E5 11 -R 00 00 01 00 -T 0B 00 00 00 06 00 CD 00 00 00 00 F1 F1 CD -R 00 00 01 00 02 07 06 00 -T 13 00 00 00 00 00 00 00 4D 44 11 06 00 CD -R 00 00 01 00 02 04 05 00 -T 1B 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 04 00 02 09 02 00 -T 21 00 00 00 00 00 E5 21 00 00 E5 11 09 00 CD -R 00 00 01 00 -T 2C 00 00 00 00 00 00 00 F1 F1 CD 00 00 00 00 -R 00 00 01 00 02 04 06 00 02 0B 05 00 -T 33 00 00 00 4D 44 11 09 00 CD 00 00 00 00 11 -R 00 00 01 00 02 0A 04 00 -T 3C 00 00 00 FF 00 CD 00 00 00 00 D1 C1 C9 -R 00 00 01 00 02 07 01 00 diff --git a/src/nos/lib/crt_large_lib/alloca.rel b/src/nos/lib/crt_large_lib/alloca.rel deleted file mode 100644 index 10939aae..00000000 --- a/src/nos/lib/crt_large_lib/alloca.rel +++ /dev/null @@ -1,93 +0,0 @@ -XL4 -H 4 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _free Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _malloc Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size C4 flags 0 -S _alloca Def00000000 -A IDATA0 size 2 flags 0 -A CDATA0 size 2 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF 2A -R 00 00 01 00 02 05 04 00 -T 06 00 00 00 00 00 00 00 DD 75 FB DD 74 FC -R 00 00 01 00 00 04 02 00 -T 0E 00 00 00 -R 00 00 01 00 -T 0E 00 00 00 DD 7E FB DD B6 FC 28 44 -R 00 00 01 00 -T 16 00 00 00 -R 00 00 01 00 -T 16 00 00 00 21 00 00 39 4D 44 21 04 00 DD 5E -R 00 00 01 00 -T 21 00 00 00 FB DD 56 FC 19 56 23 66 6A A7 ED -R 00 00 01 00 -T 2C 00 00 00 42 30 27 -R 00 00 01 00 -T 2F 00 00 00 -R 00 00 01 00 -T 2F 00 00 00 DD 6E FB DD 66 FC 46 23 66 68 DD -R 00 00 01 00 -T 3A 00 00 00 75 FD DD 74 FE DD 5E FB DD 56 FC -R 00 00 01 00 -T 45 00 00 00 CD 00 00 00 00 DD 6E FD DD 66 FE -R 00 00 01 00 02 05 03 00 -T 4E 00 00 00 DD 75 FB DD 74 FC 18 02 -R 00 00 01 00 -T 56 00 00 00 -R 00 00 01 00 -T 56 00 00 00 18 02 -R 00 00 01 00 -T 58 00 00 00 -R 00 00 01 00 -T 58 00 00 00 18 B4 -R 00 00 01 00 -T 5A 00 00 00 -R 00 00 01 00 -T 5A 00 00 00 DD 6E FB DD 66 FC 22 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 63 00 00 00 DD 7E 02 DD B6 03 20 05 -R 00 00 01 00 -T 6B 00 00 00 -R 00 00 01 00 -T 6B 00 00 00 21 00 00 18 51 -R 00 00 01 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 EB -R 00 00 01 00 -T 7B 00 00 00 CD 00 00 00 00 DD 75 FB DD 74 FC -R 00 00 01 00 02 05 05 00 -T 84 00 00 00 7D B4 20 08 -R 00 00 01 00 -T 88 00 00 00 -R 00 00 01 00 -T 88 00 00 00 DD 6E FB DD 66 FC 18 31 -R 00 00 01 00 -T 90 00 00 00 -R 00 00 01 00 -T 90 00 00 00 2A 00 00 00 00 E5 DD 6E FB DD 66 -R 00 00 01 00 00 05 02 00 -T 99 00 00 00 FC C1 71 23 70 21 04 00 DD 4E FB -R 00 00 01 00 -T A4 00 00 00 DD 46 FC 09 E5 21 02 00 39 5D 54 -R 00 00 01 00 -T AF 00 00 00 E1 73 23 72 ED 43 00 00 00 00 21 -R 00 00 01 00 00 0A 02 00 -T B8 00 00 00 0C 00 DD 4E FB DD 46 FC 09 -R 00 00 01 00 -T C1 00 00 00 -R 00 00 01 00 -T C1 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/src/nos/lib/crt_large_lib/asctime.rel b/src/nos/lib/crt_large_lib/asctime.rel deleted file mode 100644 index 6b69442f..00000000 --- a/src/nos/lib/crt_large_lib/asctime.rel +++ /dev/null @@ -1,215 +0,0 @@ -XL4 -H 6 areas D global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _memcpy Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _strcpy Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?SS_MOD_L02 Ref00000000 -S ?SS_DIV_L02 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24F flags 0 -S ___asctime Def0000001C -S _asctime Def00000231 -A CSTR size 1A flags 0 -A UDATA0 size 1A flags 0 -A IDATA0 size 3B flags 0 -A CDATA0 size 3B flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 01 0A 00 DD 5E 04 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 DD 56 05 CD 00 00 00 00 7B C6 30 -R 00 00 01 00 02 08 09 00 -T 12 00 00 00 DD 6E 02 DD 66 03 77 C3 -R 00 00 01 00 -T 1A 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 -T 1C 00 00 00 -R 00 00 01 00 -T 1C 00 00 00 CD 00 00 00 00 FE FF 01 -R 00 00 01 00 02 05 06 00 -T 22 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 CD -R 00 00 01 00 00 04 02 00 -T 2B 00 00 00 00 00 00 00 21 0C 00 DD 4E 04 DD -R 00 00 01 00 02 04 05 00 -T 34 00 00 00 46 05 09 23 CB 7E 20 3C 21 0C 00 -R 00 00 01 00 -T 3F 00 00 00 DD 4E 04 DD 46 05 09 4E 23 46 21 -R 00 00 01 00 -T 4A 00 00 00 06 00 CD 00 00 00 00 38 27 -R 00 00 01 00 02 07 08 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 21 03 00 E5 21 0C 00 DD 4E 04 DD -R 00 00 01 00 -T 5C 00 00 00 46 05 09 4E 23 46 11 03 00 CD -R 00 00 01 00 -T 66 00 00 00 00 00 00 00 21 00 00 00 00 19 4D -R 00 00 01 00 02 04 07 00 00 09 04 00 -T 6D 00 00 00 44 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 75 00 00 00 00 00 00 00 F1 -R 00 00 01 00 02 04 01 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 21 08 00 DD 4E 04 DD 46 05 09 23 -R 00 00 01 00 -T 83 00 00 00 CB 7E 20 41 21 08 00 DD 4E 04 DD -R 00 00 01 00 -T 8E 00 00 00 46 05 09 4E 23 46 21 0B 00 CD -R 00 00 01 00 -T 98 00 00 00 00 00 00 00 38 2C -R 00 00 01 00 02 04 08 00 -T 9C 00 00 00 -R 00 00 01 00 -T 9C 00 00 00 -R 00 00 01 00 -T 9C 00 00 00 -R 00 00 01 00 -T 9C 00 00 00 21 03 00 E5 21 08 00 DD 4E 04 DD -R 00 00 01 00 -T A7 00 00 00 46 05 09 4E 23 46 11 03 00 CD -R 00 00 01 00 -T B1 00 00 00 00 00 00 00 21 16 00 00 00 19 4D -R 00 00 01 00 02 04 07 00 00 09 04 00 -T B8 00 00 00 44 21 04 00 DD 5E 02 DD 56 03 19 -R 00 00 01 00 -T C3 00 00 00 EB CD 00 00 00 00 F1 -R 00 00 01 00 02 06 01 00 -T C8 00 00 00 -R 00 00 01 00 -T C8 00 00 00 21 0A 00 DD 4E 04 DD 46 05 09 56 -R 00 00 01 00 -T D3 00 00 00 23 66 6A 11 6C 07 19 DD 75 FE DD -R 00 00 01 00 -T DE 00 00 00 74 FF 21 06 00 09 5E 23 56 01 -R 00 00 01 00 -T E8 00 00 00 0A 00 CD 00 00 00 00 4B 42 21 -R 00 00 01 00 02 07 0A 00 -T F0 00 00 00 08 00 DD 5E 02 DD 56 03 19 EB CD -R 00 00 01 00 -T FB 00 00 00 00 00 00 00 21 06 00 DD 4E 04 DD -R 00 00 01 00 00 04 01 00 -T 04 01 00 00 46 05 09 4E 23 46 21 09 00 DD 5E -R 00 00 01 00 -T 0F 01 00 00 02 DD 56 03 19 EB CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 18 01 00 00 21 04 00 DD 4E 04 DD 46 05 09 5E -R 00 00 01 00 -T 23 01 00 00 23 56 01 0A 00 CD 00 00 00 00 4B -R 00 00 01 00 02 0A 0A 00 -T 2C 01 00 00 42 21 0B 00 DD 5E 02 DD 56 03 19 -R 00 00 01 00 -T 37 01 00 00 EB CD 00 00 00 00 21 04 00 DD 4E -R 00 00 01 00 00 06 01 00 -T 40 01 00 00 04 DD 46 05 09 4E 23 46 21 0C 00 -R 00 00 01 00 -T 4B 01 00 00 DD 5E 02 DD 56 03 19 EB CD -R 00 00 01 00 -T 54 01 00 00 00 00 00 00 DD 6E 04 DD 66 05 23 -R 00 00 01 00 00 04 01 00 -T 5D 01 00 00 23 5E 23 56 01 0A 00 CD -R 00 00 01 00 -T 65 01 00 00 00 00 00 00 4B 42 21 0E 00 DD 5E -R 00 00 01 00 02 04 0A 00 -T 6E 01 00 00 02 DD 56 03 19 EB CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 77 01 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 -R 00 00 01 00 -T 82 01 00 00 21 0F 00 DD 5E 02 DD 56 03 19 EB -R 00 00 01 00 -T 8D 01 00 00 CD 00 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 00 05 01 00 -T 96 01 00 00 5E 23 56 01 0A 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 0A 00 -T 9F 01 00 00 4B 42 21 11 00 DD 5E 02 DD 56 03 -R 00 00 01 00 -T AA 01 00 00 19 EB CD 00 00 00 00 DD 6E 04 DD -R 00 00 01 00 00 07 01 00 -T B3 01 00 00 66 05 4E 23 46 21 12 00 DD 5E 02 -R 00 00 01 00 -T BE 01 00 00 DD 56 03 19 EB CD 00 00 00 00 01 -R 00 00 01 00 00 0A 01 00 -T C7 01 00 00 E8 03 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T D0 01 00 00 00 00 00 00 4B 42 21 14 00 DD 5E -R 00 00 01 00 02 04 0A 00 -T D9 01 00 00 02 DD 56 03 19 EB CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T E2 01 00 00 01 64 00 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T EC 01 00 00 00 00 00 00 4B 42 21 15 00 DD 5E -R 00 00 01 00 02 04 0A 00 -T F5 01 00 00 02 DD 56 03 19 EB CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T FE 01 00 00 01 0A 00 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 08 02 00 00 00 00 00 00 4B 42 21 16 00 DD 5E -R 00 00 01 00 02 04 0A 00 -T 11 02 00 00 02 DD 56 03 19 EB CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 1A 02 00 00 DD 4E FE DD 46 FF 21 17 00 DD 5E -R 00 00 01 00 -T 25 02 00 00 02 DD 56 03 19 EB CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 2E 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 31 02 00 00 -R 00 00 01 00 -T 31 02 00 00 CD 00 00 00 00 7B B2 20 05 -R 00 00 01 00 02 05 04 00 -T 38 02 00 00 -R 00 00 01 00 -T 38 02 00 00 21 00 00 18 0F -R 00 00 01 00 -T 3D 02 00 00 -R 00 00 01 00 -T 3D 02 00 00 DD 4E 02 DD 46 03 11 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 46 02 00 00 CD 1C 00 00 00 21 00 00 00 00 -R 00 00 01 00 00 05 01 00 00 0A 03 00 -T 4C 02 00 00 -R 00 00 01 00 -T 4C 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 45 72 72 20 45 72 72 20 2E 2E 20 -R 00 00 02 00 -T 0B 00 00 00 2E 2E 3A 2E 2E 3A 2E 2E 20 2E 2E -R 00 00 02 00 -T 16 00 00 00 2E 2E 0A 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 16 00 00 00 -R 00 00 04 00 -T 16 00 00 00 -R 00 00 04 00 -T 00 00 00 00 53 75 6E 4D 6F 6E 54 75 65 57 65 -R 00 00 05 00 -T 0B 00 00 00 64 54 68 75 46 72 69 53 61 74 00 -R 00 00 05 00 -T 16 00 00 00 4A 61 6E 46 65 62 4D 61 72 41 70 -R 00 00 05 00 -T 21 00 00 00 72 4D 61 79 4A 75 6E 4A 75 6C 41 -R 00 00 05 00 -T 2C 00 00 00 75 67 53 65 70 4F 63 74 4E 6F 76 -R 00 00 05 00 -T 37 00 00 00 44 65 63 00 -R 00 00 05 00 diff --git a/src/nos/lib/crt_large_lib/assert.rel b/src/nos/lib/crt_large_lib/assert.rel deleted file mode 100644 index 69fcfd76..00000000 --- a/src/nos/lib/crt_large_lib/assert.rel +++ /dev/null @@ -1,59 +0,0 @@ -XL4 -H 3 areas A global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S __itoa Ref00000000 -S _strlen Ref00000000 -S _abort Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _write Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 53 flags 0 -S ___assert Def00000017 -S ___errput Def00000000 -A CSTR size 1D flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 06 00 02 0A 02 00 -T 07 00 00 00 DD 4E 02 DD 46 03 11 02 00 CD -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 07 00 02 0A 04 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 CD 00 00 00 00 11 00 00 00 00 CD -R 00 00 01 00 02 05 06 00 00 0A 02 00 -T 1E 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 CD -R 00 00 01 00 00 04 01 00 -T 27 00 00 00 00 00 00 00 11 09 00 00 00 CD -R 00 00 01 00 00 04 01 00 00 09 02 00 -T 2D 00 00 00 00 00 00 00 59 50 CD 00 00 00 00 -R 00 00 01 00 00 04 01 00 00 0B 01 00 -T 34 00 00 00 11 12 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 02 00 00 0A 01 00 -T 3B 00 00 00 5E 08 DD 56 09 CD 00 00 00 00 EB -R 00 00 01 00 02 0A 01 00 -T 44 00 00 00 CD 00 00 00 00 11 1A 00 00 00 CD -R 00 00 01 00 00 05 01 00 00 0A 02 00 -T 4B 00 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 00 04 01 00 02 09 03 00 -T 51 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 46 61 69 6C 65 64 20 27 00 -R 00 00 02 00 -T 09 00 00 00 -R 00 00 02 00 -T 09 00 00 00 27 2C 20 66 69 6C 65 20 00 -R 00 00 02 00 -T 12 00 00 00 -R 00 00 02 00 -T 12 00 00 00 2C 20 6C 69 6E 65 20 00 -R 00 00 02 00 -T 1A 00 00 00 -R 00 00 02 00 -T 1A 00 00 00 2E 0A 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/atexit.rel b/src/nos/lib/crt_large_lib/atexit.rel deleted file mode 100644 index 91504fbb..00000000 --- a/src/nos/lib/crt_large_lib/atexit.rel +++ /dev/null @@ -1,115 +0,0 @@ -XL4 -H 5 areas C global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ___cleanup Ref00000000 -S ?CALL_IND_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size DC flags 0 -S _atexit Def000000D0 -S _on_exit Def00000067 -A UDATA0 size 28 flags 0 -S ___on_exit_table Def00000000 -A IDATA0 size 2 flags 0 -S ___on_exit_count Def00000000 -A CDATA0 size 2 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 2A -R 00 00 01 00 02 05 07 00 -T 06 00 00 00 00 00 00 00 2B DD 75 FC DD 74 FD -R 00 00 01 00 00 04 03 00 -T 0F 00 00 00 21 FF FF 22 00 00 00 00 21 00 00 -R 00 00 01 00 00 08 03 00 -T 18 00 00 00 22 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 DD CB FD 7E 20 43 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 DD 6E FC DD 66 FD 29 29 01 -R 00 00 01 00 -T 2A 00 00 00 00 00 00 00 09 46 23 66 68 DD 75 -R 00 00 01 00 00 04 02 00 -T 33 00 00 00 FE DD 74 FF DD 6E FC DD 66 FD 29 -R 00 00 01 00 -T 3E 00 00 00 29 01 02 00 00 00 09 4E 23 46 DD -R 00 00 01 00 00 06 02 00 -T 47 00 00 00 5E 02 DD 56 03 DD 6E FE DD 66 FF -R 00 00 01 00 -T 52 00 00 00 CD 00 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 02 05 06 00 -T 5B 00 00 00 2B DD 75 FC DD 74 FD 18 B7 -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 67 00 00 00 -R 00 00 01 00 -T 67 00 00 00 CD 00 00 00 00 2A 00 00 00 00 CB -R 00 00 01 00 02 05 04 00 00 0A 03 00 -T 6E 00 00 00 7C 20 0E 01 0A 80 2A 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 77 00 00 00 3E 80 AC 67 ED 42 38 12 -R 00 00 01 00 -T 7F 00 00 00 -R 00 00 01 00 -T 7F 00 00 00 -R 00 00 01 00 -T 7F 00 00 00 -R 00 00 01 00 -T 7F 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 02 00 -T 88 00 00 00 0C 23 36 00 21 FF FF 18 3C -R 00 00 01 00 -T 91 00 00 00 -R 00 00 01 00 -T 91 00 00 00 21 00 00 00 00 22 00 00 00 00 DD -R 00 00 01 00 00 05 01 00 02 0A 05 00 -T 98 00 00 00 7E 02 DD B6 03 28 2B -R 00 00 01 00 -T 9F 00 00 00 -R 00 00 01 00 -T 9F 00 00 00 2A 00 00 00 00 29 29 01 -R 00 00 01 00 00 05 03 00 -T A5 00 00 00 00 00 00 00 09 DD 4E 02 DD 46 03 -R 00 00 01 00 00 04 02 00 -T AE 00 00 00 71 23 70 2A 00 00 00 00 29 29 01 -R 00 00 01 00 00 08 03 00 -T B7 00 00 00 02 00 00 00 09 DD 4E 04 DD 46 05 -R 00 00 01 00 00 04 02 00 -T C0 00 00 00 71 23 70 2A 00 00 00 00 23 22 -R 00 00 01 00 00 08 03 00 -T C8 00 00 00 00 00 00 00 -R 00 00 01 00 00 04 03 00 -T CA 00 00 00 -R 00 00 01 00 -T CA 00 00 00 21 00 00 -R 00 00 01 00 -T CD 00 00 00 -R 00 00 01 00 -T CD 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T D0 00 00 00 -R 00 00 01 00 -T D0 00 00 00 CD 00 00 00 00 01 00 00 CD -R 00 00 01 00 02 05 04 00 -T D7 00 00 00 67 00 00 00 C3 00 00 00 00 -R 00 00 01 00 00 04 01 00 02 09 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 00 00 -R 00 00 04 00 diff --git a/src/nos/lib/crt_large_lib/atoi.rel b/src/nos/lib/crt_large_lib/atoi.rel deleted file mode 100644 index 76245e25..00000000 --- a/src/nos/lib/crt_large_lib/atoi.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _strtol Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S _atoi Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 0A 00 E5 01 -R 00 00 01 00 02 05 03 00 -T 08 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 07 04 00 -T 0F 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/src/nos/lib/crt_large_lib/atol.rel b/src/nos/lib/crt_large_lib/atol.rel deleted file mode 100644 index f0dc90b3..00000000 --- a/src/nos/lib/crt_large_lib/atol.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_32_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _strtol Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S _atol Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 0A 00 E5 01 -R 00 00 01 00 02 05 03 00 -T 08 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 07 04 00 -T 0F 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/src/nos/lib/crt_large_lib/bsearch.rel b/src/nos/lib/crt_large_lib/bsearch.rel deleted file mode 100644 index 2507b655..00000000 --- a/src/nos/lib/crt_large_lib/bsearch.rel +++ /dev/null @@ -1,94 +0,0 @@ -XL4 -H 3 areas 9 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?CALL_IND_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size D1 flags 0 -S _bsearch Def00000000 -A UDATA0 size 2 flags 0 -S __bsearch Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF AF DD 77 F8 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 DD 77 F9 21 FF FF DD 5E 08 DD 56 -R 00 00 01 00 -T 14 00 00 00 09 19 DD 75 FA DD 74 FB -R 00 00 01 00 -T 1C 00 00 00 -R 00 00 01 00 -T 1C 00 00 00 DD 4E F8 DD 46 F9 DD 6E FA DD 66 -R 00 00 01 00 -T 27 00 00 00 FB CD 00 00 00 00 DA C2 00 00 00 -R 00 00 01 00 02 06 06 00 00 0B 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 DD 6E FA DD 66 FB DD 4E F8 DD 46 -R 00 00 01 00 -T 39 00 00 00 F9 09 CB 2C CB 1D DD 75 FC DD 74 -R 00 00 01 00 -T 44 00 00 00 FD DD 4E 02 DD 46 03 C5 EB DD 4E -R 00 00 01 00 -T 4F 00 00 00 0A DD 46 0B CD 00 00 00 00 DD 6E -R 00 00 01 00 02 09 05 00 -T 58 00 00 00 04 DD 66 05 19 EB DD 6E 0C DD 66 -R 00 00 01 00 -T 63 00 00 00 0D C1 CD 00 00 00 00 DD 75 FE DD -R 00 00 01 00 02 07 03 00 -T 6C 00 00 00 74 FF 7D B4 28 2C -R 00 00 01 00 -T 72 00 00 00 -R 00 00 01 00 -T 72 00 00 00 DD 4E FE DD 46 FF 21 00 00 CD -R 00 00 01 00 -T 7C 00 00 00 00 00 00 00 30 0F -R 00 00 01 00 02 04 06 00 -T 80 00 00 00 -R 00 00 01 00 -T 80 00 00 00 DD 6E FC DD 66 FD 2B DD 75 FA DD -R 00 00 01 00 -T 8B 00 00 00 74 FB 18 0D -R 00 00 01 00 -T 8F 00 00 00 -R 00 00 01 00 -T 8F 00 00 00 DD 6E FC DD 66 FD 23 DD 75 F8 DD -R 00 00 01 00 -T 9A 00 00 00 74 F9 -R 00 00 01 00 -T 9C 00 00 00 -R 00 00 01 00 -T 9C 00 00 00 18 21 -R 00 00 01 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 DD 6E FC DD 66 FD 22 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T A7 00 00 00 DD 4E 0A DD 46 0B DD 5E FC DD 56 -R 00 00 01 00 -T B2 00 00 00 FD CD 00 00 00 00 DD 6E 04 DD 66 -R 00 00 01 00 02 06 05 00 -T BB 00 00 00 05 19 18 0F -R 00 00 01 00 -T BF 00 00 00 -R 00 00 01 00 -T BF 00 00 00 C3 1C 00 00 00 -R 00 00 01 00 00 05 01 00 -T C2 00 00 00 -R 00 00 01 00 -T C2 00 00 00 DD 6E FA DD 66 FB 22 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T CB 00 00 00 21 00 00 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/calloc.rel b/src/nos/lib/crt_large_lib/calloc.rel deleted file mode 100644 index 9171589e..00000000 --- a/src/nos/lib/crt_large_lib/calloc.rel +++ /dev/null @@ -1,32 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _memset Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S _malloc Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3E flags 0 -S _calloc Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 5E 02 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 56 03 CD 00 00 00 00 DD 73 FC DD -R 00 00 01 00 02 07 05 00 -T 12 00 00 00 72 FD CD 00 00 00 00 DD 75 FE DD -R 00 00 01 00 02 07 06 00 -T 1B 00 00 00 74 FF 7D B4 28 14 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 DD 6E FC DD 66 FD E5 01 00 00 DD -R 00 00 01 00 -T 2C 00 00 00 5E FE DD 56 FF CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 01 00 -T 35 00 00 00 -R 00 00 01 00 -T 35 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 02 00 diff --git a/src/nos/lib/crt_large_lib/clock.rel b/src/nos/lib/crt_large_lib/clock.rel deleted file mode 100644 index 8fb2f741..00000000 --- a/src/nos/lib/crt_large_lib/clock.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_32_L09 Ref00000000 -S .__.ABS. Def00000000 -S _times Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1D flags 0 -S _clock Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 EC FF 21 00 00 39 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 5D 54 CD 00 00 00 00 21 00 00 39 -R 00 00 01 00 02 07 03 00 -T 12 00 00 00 5E 23 56 23 4E 23 46 EB C3 -R 00 00 01 00 -T 1B 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/src/nos/lib/crt_large_lib/closedir.rel b/src/nos/lib/crt_large_lib/closedir.rel deleted file mode 100644 index 4bf0a4b1..00000000 --- a/src/nos/lib/crt_large_lib/closedir.rel +++ /dev/null @@ -1,50 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _close Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S _free Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6E flags 0 -S _closedir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 7B B2 28 1A 21 -R 00 00 01 00 02 05 06 00 -T 08 00 00 00 06 00 DD 4E 02 DD 46 03 09 7E 23 -R 00 00 01 00 -T 13 00 00 00 B6 28 0B DD 6E 02 DD 66 03 7E 23 -R 00 00 01 00 -T 1E 00 00 00 B6 20 12 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 03 00 -T 2A 00 00 00 0E 23 36 00 21 FF FF 18 38 -R 00 00 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 DD 6E 02 DD 66 03 5E 23 56 CD -R 00 00 01 00 -T 3D 00 00 00 00 00 00 00 21 06 00 DD 4E 02 DD -R 00 00 01 00 02 04 01 00 -T 46 00 00 00 46 03 09 5E 23 56 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 4F 00 00 00 69 60 AF 77 23 77 21 06 00 DD 4E -R 00 00 01 00 -T 5A 00 00 00 02 DD 46 03 09 AF 77 23 77 59 50 -R 00 00 01 00 -T 65 00 00 00 CD 00 00 00 00 21 00 00 -R 00 00 01 00 02 05 05 00 -T 6B 00 00 00 -R 00 00 01 00 -T 6B 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/crt_large_lib/convtime.rel b/src/nos/lib/crt_large_lib/convtime.rel deleted file mode 100644 index 49f33e62..00000000 --- a/src/nos/lib/crt_large_lib/convtime.rel +++ /dev/null @@ -1,191 +0,0 @@ -XL4 -H 4 areas 9 global symbols -S ?US_RSH_L02 Ref00000000 -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_32_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?L_MUL_L03 Ref00000000 -S _timezone Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?L_SUBASG_L03 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2CE flags 0 -S _convtime Def00000000 -A IDATA0 size 18 flags 0 -A CDATA0 size 18 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D6 FF DD 6E 02 DD -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 66 03 23 23 7E E6 00 5F 23 7E E6 -R 00 00 01 00 -T 14 00 00 00 FE 57 06 09 CD 00 00 00 00 21 -R 00 00 01 00 02 09 00 00 -T 1C 00 00 00 BC 07 19 DD 75 D6 DD 74 D7 01 -R 00 00 01 00 -T 26 00 00 00 B4 07 A7 ED 42 30 0C -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 21 00 00 39 7E C6 64 77 30 02 23 -R 00 00 01 00 -T 38 00 00 00 34 -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 DD 6E 02 DD 66 03 23 23 7E E6 E0 -R 00 00 01 00 -T 44 00 00 00 5F 23 7E E6 01 57 06 05 CD -R 00 00 01 00 -T 4D 00 00 00 00 00 00 00 DD 73 D8 DD 72 D9 DD -R 00 00 01 00 02 04 00 00 -T 56 00 00 00 6E 02 DD 66 03 23 23 7E E6 1F 4F -R 00 00 01 00 -T 61 00 00 00 23 7E E6 00 47 DD 71 DA DD 70 DB -R 00 00 01 00 -T 6C 00 00 00 DD 6E 02 DD 66 03 7E E6 00 5F 23 -R 00 00 01 00 -T 77 00 00 00 7E E6 F8 57 06 0B CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 80 00 00 00 DD 73 DC DD 72 DD DD 6E 02 DD 66 -R 00 00 01 00 -T 8B 00 00 00 03 7E E6 E0 5F 23 7E E6 07 57 06 -R 00 00 01 00 -T 96 00 00 00 05 CD 00 00 00 00 DD 73 DE DD 72 -R 00 00 01 00 02 06 00 00 -T 9F 00 00 00 DF DD 6E 02 DD 66 03 7E E6 1F 4F -R 00 00 01 00 -T AA 00 00 00 23 7E E6 00 47 69 60 29 DD 75 E0 -R 00 00 01 00 -T B5 00 00 00 DD 74 E1 21 4E F8 DD 4E D6 DD 46 -R 00 00 01 00 -T C0 00 00 00 D7 09 DD 75 D6 DD 74 D7 CB 3C CB -R 00 00 01 00 -T CB 00 00 00 1D CB 3C CB 1D DD 75 E2 DD 74 E3 -R 00 00 01 00 -T D6 00 00 00 EB 01 00 00 C5 D5 01 00 00 21 -R 00 00 01 00 -T E0 00 00 00 18 00 CD 00 00 00 00 C5 E5 01 -R 00 00 01 00 02 07 04 00 -T E8 00 00 00 00 00 21 3C 00 CD 00 00 00 00 C5 -R 00 00 01 00 02 0A 04 00 -T F1 00 00 00 E5 01 00 00 21 3C 00 CD -R 00 00 01 00 -T F9 00 00 00 00 00 00 00 DD 75 FC DD 74 FD DD -R 00 00 01 00 02 04 04 00 -T 02 01 00 00 71 FE DD 70 FF DD 7E D6 E6 03 47 -R 00 00 01 00 -T 0D 01 00 00 DD 7E D7 E6 00 B0 20 1B 01 03 00 -R 00 00 01 00 -T 18 01 00 00 DD 6E D8 DD 66 D9 A7 ED 42 30 0D -R 00 00 01 00 -T 23 01 00 00 -R 00 00 01 00 -T 23 01 00 00 -R 00 00 01 00 -T 23 01 00 00 -R 00 00 01 00 -T 23 01 00 00 21 26 00 39 01 01 00 11 80 51 CD -R 00 00 01 00 -T 2E 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 07 00 -T 30 01 00 00 -R 00 00 01 00 -T 30 01 00 00 DD 6E D6 DD 66 D7 01 00 00 C5 E5 -R 00 00 01 00 -T 3B 01 00 00 01 00 00 21 6D 01 CD 00 00 00 00 -R 00 00 01 00 02 0B 04 00 -T 44 01 00 00 C5 E5 01 00 00 21 18 00 CD -R 00 00 01 00 -T 4D 01 00 00 00 00 00 00 C5 E5 01 00 00 21 -R 00 00 01 00 02 04 04 00 -T 55 01 00 00 3C 00 CD 00 00 00 00 C5 E5 01 -R 00 00 01 00 02 07 04 00 -T 5D 01 00 00 00 00 21 3C 00 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 04 00 -T 66 01 00 00 75 E8 DD 74 E9 DD 71 EA DD 70 EB -R 00 00 01 00 -T 71 01 00 00 DD 6E D8 DD 66 D9 29 01 -R 00 00 01 00 -T 79 01 00 00 FE FF FF FF 09 46 23 66 68 DD 75 -R 00 00 01 00 00 04 02 00 -T 82 01 00 00 D8 DD 74 D9 EB 01 00 00 C5 D5 01 -R 00 00 01 00 -T 8D 01 00 00 00 00 21 18 00 CD 00 00 00 00 C5 -R 00 00 01 00 02 0A 04 00 -T 96 01 00 00 E5 01 00 00 21 3C 00 CD -R 00 00 01 00 -T 9E 01 00 00 00 00 00 00 C5 E5 01 00 00 21 -R 00 00 01 00 02 04 04 00 -T A6 01 00 00 3C 00 CD 00 00 00 00 DD 75 EC DD -R 00 00 01 00 02 07 04 00 -T AF 01 00 00 74 ED DD 71 EE DD 70 EF DD 5E DA -R 00 00 01 00 -T BA 01 00 00 DD 56 DB 01 00 00 C5 D5 01 00 00 -R 00 00 01 00 -T C5 01 00 00 21 18 00 CD 00 00 00 00 C5 E5 01 -R 00 00 01 00 02 08 04 00 -T CE 01 00 00 00 00 21 3C 00 CD 00 00 00 00 C5 -R 00 00 01 00 02 0A 04 00 -T D7 01 00 00 E5 01 00 00 21 3C 00 CD -R 00 00 01 00 -T DF 01 00 00 00 00 00 00 DD 75 F0 DD 74 F1 DD -R 00 00 01 00 02 04 04 00 -T E8 01 00 00 71 F2 DD 70 F3 DD 5E DC DD 56 DD -R 00 00 01 00 -T F3 01 00 00 01 00 00 C5 D5 01 00 00 21 3C 00 -R 00 00 01 00 -T FE 01 00 00 CD 00 00 00 00 C5 E5 01 00 00 21 -R 00 00 01 00 02 05 04 00 -T 07 02 00 00 3C 00 CD 00 00 00 00 DD 75 F4 DD -R 00 00 01 00 02 07 04 00 -T 10 02 00 00 74 F5 DD 71 F6 DD 70 F7 DD 5E DE -R 00 00 01 00 -T 1B 02 00 00 DD 56 DF 01 00 00 C5 D5 01 00 00 -R 00 00 01 00 -T 26 02 00 00 21 3C 00 CD 00 00 00 00 DD 75 F8 -R 00 00 01 00 02 08 04 00 -T 2F 02 00 00 DD 74 F9 DD 71 FA DD 70 FB C5 E5 -R 00 00 01 00 -T 3A 02 00 00 DD 6E E0 DD 66 E1 01 00 00 C5 E5 -R 00 00 01 00 -T 45 02 00 00 DD 6E FC DD 66 FD C1 09 EB DD 6E -R 00 00 01 00 -T 50 02 00 00 FE DD 66 FF C1 ED 4A E5 D5 DD 6E -R 00 00 01 00 -T 5B 02 00 00 E8 DD 66 E9 C1 09 EB DD 6E EA DD -R 00 00 01 00 -T 66 02 00 00 66 EB C1 ED 4A E5 D5 DD 6E EC DD -R 00 00 01 00 -T 71 02 00 00 66 ED C1 09 EB DD 6E EE DD 66 EF -R 00 00 01 00 -T 7C 02 00 00 C1 ED 4A E5 D5 DD 6E F0 DD 66 F1 -R 00 00 01 00 -T 87 02 00 00 C1 09 EB DD 6E F2 DD 66 F3 C1 ED -R 00 00 01 00 -T 92 02 00 00 4A E5 D5 DD 6E F4 DD 66 F5 C1 09 -R 00 00 01 00 -T 9D 02 00 00 EB DD 6E F6 DD 66 F7 C1 ED 4A EB -R 00 00 01 00 -T A8 02 00 00 C1 09 EB C1 ED 4A E5 D5 2A -R 00 00 01 00 -T B1 02 00 00 00 00 00 00 C1 09 EB 2A -R 00 00 01 00 02 04 05 00 -T B7 02 00 00 02 00 00 00 C1 ED 4A 4D 44 EB DD -R 00 00 01 00 02 04 05 00 -T C0 02 00 00 75 E4 DD 74 E5 DD 71 E6 DD 70 E7 -R 00 00 01 00 -T CB 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 1F 00 3B 00 5A 00 78 00 -R 00 00 03 00 -T 0A 00 00 00 97 00 B5 00 D4 00 F3 00 11 01 -R 00 00 03 00 -T 14 00 00 00 30 01 4E 01 -R 00 00 03 00 diff --git a/src/nos/lib/crt_large_lib/crypt.rel b/src/nos/lib/crt_large_lib/crypt.rel deleted file mode 100644 index 440e344b..00000000 --- a/src/nos/lib/crt_large_lib/crypt.rel +++ /dev/null @@ -1,222 +0,0 @@ -XL4 -H 3 areas D global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _memset Ref00000000 -S _memcpy Ref00000000 -S ?UL_RSHASG_L03 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?L_ADDASG_L03 Ref00000000 -S .__.ABS. Def00000000 -S ?L_LSH_L03 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?L_XOR_L03 Ref00000000 -S ?L_ORASG_L03 Ref00000000 -S ?UL_RSH_L03 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 29E flags 0 -S _crypt Def00000000 -A UDATA0 size 10 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DC FF DD 36 F8 B9 -R 00 00 01 00 02 05 08 00 -T 09 00 00 00 DD 36 F9 79 DD 36 FA 37 DD 36 FB -R 00 00 01 00 -T 14 00 00 00 9E 21 10 00 E5 01 00 00 11 -R 00 00 01 00 -T 1D 00 00 00 00 00 00 00 CD 00 00 00 00 F1 21 -R 00 00 01 00 00 04 02 00 02 09 01 00 -T 24 00 00 00 02 00 E5 DD 4E 04 DD 46 05 11 -R 00 00 01 00 -T 2E 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 00 04 02 00 02 09 02 00 -T 35 00 00 00 36 FE 00 -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 DD 7E FE FE 0E 30 2E DD 4E FE 06 -R 00 00 01 00 -T 43 00 00 00 00 DD 6E 02 DD 66 03 09 7E B7 28 -R 00 00 01 00 -T 4E 00 00 00 1E -R 00 00 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 21 02 00 00 00 DD 4E FE 06 00 09 -R 00 00 01 00 00 05 02 00 -T 58 00 00 00 E5 DD 4E FE 06 00 DD 6E 02 DD 66 -R 00 00 01 00 -T 63 00 00 00 03 09 46 E1 70 DD 34 FE 18 CB -R 00 00 01 00 -T 6D 00 00 00 -R 00 00 01 00 -T 6D 00 00 00 -R 00 00 01 00 -T 6D 00 00 00 DD 4E FE 06 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 78 00 00 00 09 7E B7 28 18 -R 00 00 01 00 -T 7D 00 00 00 -R 00 00 01 00 -T 7D 00 00 00 DD 4E FE 06 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 88 00 00 00 09 3A 02 00 00 00 86 32 -R 00 00 01 00 00 06 02 00 -T 8E 00 00 00 02 00 00 00 DD 34 FE 18 D8 -R 00 00 01 00 00 04 02 00 -T 95 00 00 00 -R 00 00 01 00 -T 95 00 00 00 21 10 00 E5 01 00 00 00 00 21 -R 00 00 01 00 00 09 02 00 -T 9D 00 00 00 0A 00 39 5D 54 CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 02 00 -T A6 00 00 00 AF DD 77 F4 DD 77 F5 DD 77 F6 DD -R 00 00 01 00 -T B1 00 00 00 77 F7 AF DD 77 E0 DD 77 E1 DD 77 -R 00 00 01 00 -T BC 00 00 00 E2 DD 77 E3 AF DD 77 DC DD 77 DD -R 00 00 01 00 -T C7 00 00 00 DD 77 DE DD 77 DF DD 36 FE 40 -R 00 00 01 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 AF DD B6 FE CA F3 01 00 00 -R 00 00 01 00 00 09 01 00 -T D8 00 00 00 -R 00 00 01 00 -T D8 00 00 00 21 18 00 39 DD 4E FA DD 46 FB DD -R 00 00 01 00 -T E3 00 00 00 5E F8 DD 56 F9 CD 00 00 00 00 21 -R 00 00 01 00 02 0A 05 00 -T EC 00 00 00 00 00 39 E5 21 06 00 39 5E 23 56 -R 00 00 01 00 -T F7 00 00 00 23 4E 23 46 EB 3E 05 CD -R 00 00 01 00 -T FF 00 00 00 00 00 00 00 C5 E5 DD 6E E8 DD 66 -R 00 00 01 00 02 04 0B 00 -T 08 01 00 00 E9 C1 09 EB DD 6E EA DD 66 EB C1 -R 00 00 01 00 -T 13 01 00 00 ED 4A E5 D5 DD 6E E2 DD 66 E3 E5 -R 00 00 01 00 -T 1E 01 00 00 DD 6E E0 DD 66 E1 E5 DD 6E F4 DD -R 00 00 01 00 -T 29 01 00 00 66 F5 C1 09 EB DD 6E F6 DD 66 F7 -R 00 00 01 00 -T 34 01 00 00 C1 ED 4A E5 D5 21 0E 00 39 5E 23 -R 00 00 01 00 -T 3F 01 00 00 56 23 4E 23 46 EB 3E 04 CD -R 00 00 01 00 -T 48 01 00 00 00 00 00 00 C5 E5 DD 6E E4 DD 66 -R 00 00 01 00 02 04 07 00 -T 51 01 00 00 E5 C1 09 EB DD 6E E6 DD 66 E7 C1 -R 00 00 01 00 -T 5C 01 00 00 ED 4A 4D 44 EB CD 00 00 00 00 CD -R 00 00 01 00 02 0A 09 00 -T 65 01 00 00 00 00 00 00 EB E1 CD 00 00 00 00 -R 00 00 01 00 02 04 09 00 02 0B 05 00 -T 6C 01 00 00 21 04 00 39 E5 21 02 00 39 5E 23 -R 00 00 01 00 -T 77 01 00 00 56 23 4E 23 46 EB 3E 05 CD -R 00 00 01 00 -T 80 01 00 00 00 00 00 00 C5 E5 DD 6E F0 DD 66 -R 00 00 01 00 02 04 0B 00 -T 89 01 00 00 F1 C1 09 EB DD 6E F2 DD 66 F3 C1 -R 00 00 01 00 -T 94 01 00 00 ED 4A E5 D5 DD 6E DE DD 66 DF E5 -R 00 00 01 00 -T 9F 01 00 00 DD 6E DC DD 66 DD E5 DD 6E F4 DD -R 00 00 01 00 -T AA 01 00 00 66 F5 C1 09 EB DD 6E F6 DD 66 F7 -R 00 00 01 00 -T B5 01 00 00 C1 ED 4A E5 D5 21 0A 00 39 5E 23 -R 00 00 01 00 -T C0 01 00 00 56 23 4E 23 46 EB 3E 04 CD -R 00 00 01 00 -T C9 01 00 00 00 00 00 00 C5 E5 DD 6E EC DD 66 -R 00 00 01 00 02 04 07 00 -T D2 01 00 00 ED C1 09 EB DD 6E EE DD 66 EF C1 -R 00 00 01 00 -T DD 01 00 00 ED 4A 4D 44 EB CD 00 00 00 00 CD -R 00 00 01 00 02 0A 09 00 -T E6 01 00 00 00 00 00 00 EB E1 CD 00 00 00 00 -R 00 00 01 00 02 04 09 00 02 0B 05 00 -T ED 01 00 00 DD 35 FE C3 D1 00 00 00 -R 00 00 01 00 00 08 01 00 -T F3 01 00 00 -R 00 00 01 00 -T F3 01 00 00 21 00 00 39 DD 75 FC DD 74 FD DD -R 00 00 01 00 -T FE 01 00 00 36 FE 02 -R 00 00 01 00 -T 01 02 00 00 -R 00 00 01 00 -T 01 02 00 00 DD 7E FE FE 0D D2 94 02 00 00 -R 00 00 01 00 00 0A 01 00 -T 09 02 00 00 -R 00 00 01 00 -T 09 02 00 00 DD 7E FE FE 08 20 28 -R 00 00 01 00 -T 10 02 00 00 -R 00 00 01 00 -T 10 02 00 00 21 00 00 39 E5 21 06 00 39 5E 23 -R 00 00 01 00 -T 1B 02 00 00 56 23 4E 23 46 EB 3E 1C CD -R 00 00 01 00 -T 24 02 00 00 00 00 00 00 EB E1 CD 00 00 00 00 -R 00 00 01 00 02 04 0B 00 02 0B 0A 00 -T 2B 02 00 00 DD 7E FC C6 04 DD 77 FC 30 03 DD -R 00 00 01 00 -T 36 02 00 00 34 FD -R 00 00 01 00 -T 38 02 00 00 -R 00 00 01 00 -T 38 02 00 00 -R 00 00 01 00 -T 38 02 00 00 DD 6E FC DD 66 FD 5E 23 56 23 4E -R 00 00 01 00 -T 43 02 00 00 23 46 EB 7D E6 3F DD 77 FF 3E 06 -R 00 00 01 00 -T 4E 02 00 00 DD 6E FC DD 66 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 57 02 00 00 DD 7E FF FE 0C 30 0A -R 00 00 01 00 -T 5E 02 00 00 -R 00 00 01 00 -T 5E 02 00 00 DD 7E FF C6 2E DD 77 FF 18 19 -R 00 00 01 00 -T 68 02 00 00 -R 00 00 01 00 -T 68 02 00 00 DD 7E FF FE 26 30 0A -R 00 00 01 00 -T 6F 02 00 00 -R 00 00 01 00 -T 6F 02 00 00 DD 7E FF C6 35 DD 77 FF 18 08 -R 00 00 01 00 -T 79 02 00 00 -R 00 00 01 00 -T 79 02 00 00 DD 7E FF C6 3B DD 77 FF -R 00 00 01 00 -T 81 02 00 00 -R 00 00 01 00 -T 81 02 00 00 -R 00 00 01 00 -T 81 02 00 00 DD 4E FE 06 00 21 00 00 00 00 09 -R 00 00 01 00 00 0A 02 00 -T 8A 02 00 00 DD 46 FF 70 DD 34 FE C3 -R 00 00 01 00 -T 92 02 00 00 01 02 00 00 -R 00 00 01 00 00 04 01 00 -T 94 02 00 00 -R 00 00 01 00 -T 94 02 00 00 AF 32 0D 00 00 00 21 00 00 00 00 -R 00 00 01 00 00 06 02 00 00 0B 02 00 -T 9B 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/ctime.rel b/src/nos/lib/crt_large_lib/ctime.rel deleted file mode 100644 index d1964005..00000000 --- a/src/nos/lib/crt_large_lib/ctime.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _asctime Ref00000000 -S _localtime Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size D flags 0 -S _ctime Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 03 00 02 0A 05 00 -T 07 00 00 00 CD 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 02 0A 01 00 diff --git a/src/nos/lib/crt_large_lib/ctype.rel b/src/nos/lib/crt_large_lib/ctype.rel deleted file mode 100644 index 0de2dc96..00000000 --- a/src/nos/lib/crt_large_lib/ctype.rel +++ /dev/null @@ -1,101 +0,0 @@ -XL4 -H 4 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4A flags 0 -S _tolower Def00000025 -S _toupper Def00000000 -A IDATA0 size 100 flags 0 -S ___ctype Def00000000 -A CDATA0 size 100 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 16 00 21 -R 00 00 01 00 02 05 03 00 -T 06 00 00 00 00 00 00 00 19 7E E6 04 28 0E DD -R 00 00 01 00 00 04 02 00 -T 0F 00 00 00 7E 02 EE 20 6F DD 7E 03 EE 00 67 -R 00 00 01 00 -T 1A 00 00 00 18 06 -R 00 00 01 00 -T 1C 00 00 00 -R 00 00 01 00 -T 1C 00 00 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 CD 00 00 00 00 16 00 21 -R 00 00 01 00 02 05 03 00 -T 2B 00 00 00 00 00 00 00 19 7E E6 02 28 0E DD -R 00 00 01 00 00 04 02 00 -T 34 00 00 00 7E 02 EE 20 6F DD 7E 03 EE 00 67 -R 00 00 01 00 -T 3F 00 00 00 18 06 -R 00 00 01 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 01 01 01 01 01 01 01 01 01 11 11 -R 00 00 03 00 -T 0B 00 00 00 11 11 11 01 01 01 01 01 01 01 01 -R 00 00 03 00 -T 16 00 00 00 01 01 01 01 01 01 01 01 01 01 10 -R 00 00 03 00 -T 21 00 00 00 20 20 20 20 20 20 20 20 20 20 20 -R 00 00 03 00 -T 2C 00 00 00 20 20 20 20 48 48 48 48 48 48 48 -R 00 00 03 00 -T 37 00 00 00 48 48 48 20 20 20 20 20 20 20 42 -R 00 00 03 00 -T 42 00 00 00 42 42 42 42 42 02 02 02 02 02 02 -R 00 00 03 00 -T 4D 00 00 00 02 02 02 02 02 02 02 02 02 02 02 -R 00 00 03 00 -T 58 00 00 00 02 02 02 20 20 20 20 20 20 44 44 -R 00 00 03 00 -T 63 00 00 00 44 44 44 44 04 04 04 04 04 04 04 -R 00 00 03 00 -T 6E 00 00 00 04 04 04 04 04 04 04 04 04 04 04 -R 00 00 03 00 -T 79 00 00 00 04 04 20 20 20 20 01 00 00 00 00 -R 00 00 03 00 -T 84 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T 8F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T 9A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T A5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T BB 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T C6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T D1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T DC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T E7 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T F2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T FD 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/src/nos/lib/crt_large_lib/difftime.rel b/src/nos/lib/crt_large_lib/difftime.rel deleted file mode 100644 index 1622f949..00000000 --- a/src/nos/lib/crt_large_lib/difftime.rel +++ /dev/null @@ -1,80 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_32_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?L_MUL_L03 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ___tm_conv Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 148 flags 0 -S _difftime Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D4 FF 21 00 00 E5 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 21 02 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T 12 00 00 00 E1 21 00 00 E5 DD 4E 02 DD 46 03 -R 00 00 01 00 -T 1D 00 00 00 21 14 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T 26 00 00 00 E1 DD 4E D6 DD 46 D7 11 3C 00 CD -R 00 00 01 00 -T 31 00 00 00 00 00 00 00 D5 DD 4E D8 DD 46 D9 -R 00 00 01 00 02 04 05 00 -T 3A 00 00 00 11 10 0E CD 00 00 00 00 EB D1 19 -R 00 00 01 00 02 08 05 00 -T 43 00 00 00 7C 07 9F 4F 41 C5 E5 DD 6E E2 DD -R 00 00 01 00 -T 4E 00 00 00 66 E3 7C 07 9F 4F 41 C5 E5 01 -R 00 00 01 00 -T 58 00 00 00 01 00 21 80 51 CD 00 00 00 00 59 -R 00 00 01 00 02 0A 03 00 -T 61 00 00 00 50 C1 09 EB C1 ED 4A E5 D5 DD 6E -R 00 00 01 00 -T 6C 00 00 00 DE DD 66 DF 7C 07 9F 4F 41 C5 E5 -R 00 00 01 00 -T 77 00 00 00 01 EB 01 21 80 BF CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 80 00 00 00 59 50 C1 09 EB C1 ED 4A E5 D5 DD -R 00 00 01 00 -T 8B 00 00 00 6E D4 DD 66 D5 7C 07 9F 5F 53 C1 -R 00 00 01 00 -T 96 00 00 00 09 EB C1 ED 4A 4D 44 EB DD 75 F8 -R 00 00 01 00 -T A1 00 00 00 DD 74 F9 DD 71 FA DD 70 FB DD 5E -R 00 00 01 00 -T AC 00 00 00 E8 DD 56 E9 01 3C 00 CD -R 00 00 01 00 -T B4 00 00 00 00 00 00 00 D5 DD 4E EA DD 46 EB -R 00 00 01 00 02 04 05 00 -T BD 00 00 00 11 10 0E CD 00 00 00 00 EB D1 19 -R 00 00 01 00 02 08 05 00 -T C6 00 00 00 EB 7A 07 9F 4F 41 C5 D5 DD 6E F4 -R 00 00 01 00 -T D1 00 00 00 DD 66 F5 7C 07 9F 4F 41 C5 E5 01 -R 00 00 01 00 -T DC 00 00 00 01 00 21 80 51 CD 00 00 00 00 59 -R 00 00 01 00 02 0A 03 00 -T E5 00 00 00 50 C1 09 EB C1 ED 4A E5 D5 DD 6E -R 00 00 01 00 -T F0 00 00 00 F0 DD 66 F1 7C 07 9F 4F 41 C5 E5 -R 00 00 01 00 -T FB 00 00 00 01 EB 01 21 80 BF CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 04 01 00 00 59 50 C1 09 EB C1 ED 4A E5 D5 DD -R 00 00 01 00 -T 0F 01 00 00 6E E6 DD 66 E7 7C 07 9F 5F 53 C1 -R 00 00 01 00 -T 1A 01 00 00 09 EB C1 ED 4A 4D 44 EB DD 75 FC -R 00 00 01 00 -T 25 01 00 00 DD 74 FD DD 71 FE DD 70 FF 59 50 -R 00 00 01 00 -T 30 01 00 00 A7 DD 4E F8 DD 46 F9 ED 42 EB DD -R 00 00 01 00 -T 3B 01 00 00 4E FA DD 46 FB ED 42 4D 44 EB C3 -R 00 00 01 00 -T 46 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/src/nos/lib/crt_large_lib/error.rel b/src/nos/lib/crt_large_lib/error.rel deleted file mode 100644 index 7b3af363..00000000 --- a/src/nos/lib/crt_large_lib/error.rel +++ /dev/null @@ -1,230 +0,0 @@ -XL4 -H 6 areas 10 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _strchr Ref00000000 -S _close Ref00000000 -S _strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -S _strcpy Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _itoa Ref00000000 -S _atoi Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S _open Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18F flags 0 -S _strerror Def00000000 -A CSTR size 21 flags 0 -A UDATA0 size 50 flags 0 -A IDATA0 size 4 flags 0 -S ___sys_errlist Def00000000 -S ___sys_nerr Def00000002 -A CDATA0 size 4 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 76 FF AF DD 77 FE -R 00 00 01 00 02 05 08 00 -T 09 00 00 00 DD 77 FF 2A 02 00 00 00 7D B4 28 -R 00 00 01 00 00 08 04 00 -T 12 00 00 00 2B -R 00 00 01 00 -T 13 00 00 00 -R 00 00 01 00 -T 13 00 00 00 DD CB 03 7E 20 0F ED 4B -R 00 00 01 00 -T 1B 00 00 00 02 00 00 00 DD 6E 02 DD 66 03 CD -R 00 00 01 00 00 04 04 00 -T 24 00 00 00 00 00 00 00 38 03 -R 00 00 01 00 02 04 0B 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 C3 66 01 00 00 -R 00 00 01 00 00 05 01 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 DD 6E 02 DD 66 03 29 ED 4B -R 00 00 01 00 -T 34 00 00 00 00 00 00 00 09 46 23 66 68 C3 -R 00 00 01 00 00 04 04 00 -T 3C 00 00 00 8C 01 00 00 -R 00 00 01 00 00 04 01 00 -T 3E 00 00 00 -R 00 00 01 00 -T 3E 00 00 00 DD 4E 02 DD 46 03 21 00 00 CD -R 00 00 01 00 -T 48 00 00 00 00 00 00 00 38 03 -R 00 00 01 00 02 04 0B 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 C3 66 01 00 00 -R 00 00 01 00 00 05 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 21 00 00 E5 21 00 00 00 00 E5 CD -R 00 00 01 00 00 09 02 00 -T 58 00 00 00 00 00 00 00 F1 F1 DD 75 FA DD 74 -R 00 00 01 00 02 04 0C 00 -T 61 00 00 00 FB CB 7C 28 03 -R 00 00 01 00 -T 66 00 00 00 -R 00 00 01 00 -T 66 00 00 00 C3 66 01 00 00 -R 00 00 01 00 00 05 01 00 -T 69 00 00 00 -R 00 00 01 00 -T 69 00 00 00 -R 00 00 01 00 -T 69 00 00 00 21 80 00 E5 21 04 00 39 4D 44 DD -R 00 00 01 00 -T 74 00 00 00 5E FA DD 56 FB CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 05 00 -T 7D 00 00 00 DD 75 F8 DD 74 F9 4D 44 21 00 00 -R 00 00 01 00 -T 88 00 00 00 CD 00 00 00 00 D2 66 01 00 00 -R 00 00 01 00 02 05 0B 00 00 0A 01 00 -T 8E 00 00 00 -R 00 00 01 00 -T 8E 00 00 00 AF DD 77 FC DD 77 FD -R 00 00 01 00 -T 95 00 00 00 -R 00 00 01 00 -T 95 00 00 00 DD 4E F8 DD 46 F9 DD 6E FC DD 66 -R 00 00 01 00 -T A0 00 00 00 FD A7 ED 42 D2 63 01 00 00 -R 00 00 01 00 00 09 01 00 -T A7 00 00 00 -R 00 00 01 00 -T A7 00 00 00 21 02 00 39 DD 4E FC DD 46 FD 09 -R 00 00 01 00 -T B2 00 00 00 7E FE 0A 20 74 -R 00 00 01 00 -T B7 00 00 00 -R 00 00 01 00 -T B7 00 00 00 21 00 00 00 00 DD 4E FE DD 46 FF -R 00 00 01 00 00 05 03 00 -T C0 00 00 00 09 36 00 11 00 00 00 00 CD -R 00 00 01 00 00 08 03 00 -T C7 00 00 00 00 00 00 00 DD 4E 02 DD 46 03 A7 -R 00 00 01 00 02 04 0A 00 -T D0 00 00 00 ED 42 20 4E -R 00 00 01 00 -T D4 00 00 00 -R 00 00 01 00 -T D4 00 00 00 21 00 00 39 E5 01 20 00 11 -R 00 00 01 00 -T DD 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 00 04 03 00 02 09 01 00 -T E4 00 00 00 E1 71 23 70 79 B0 20 0B -R 00 00 01 00 -T EC 00 00 00 -R 00 00 01 00 -T EC 00 00 00 DD 5E FA DD 56 FB CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T F5 00 00 00 18 6F -R 00 00 01 00 -T F7 00 00 00 -R 00 00 01 00 -T F7 00 00 00 -R 00 00 01 00 -T F7 00 00 00 21 00 00 39 7E 23 66 6F 7E FE 20 -R 00 00 01 00 -T 02 01 00 00 20 0B -R 00 00 01 00 -T 04 01 00 00 -R 00 00 01 00 -T 04 01 00 00 21 00 00 39 34 23 20 01 34 -R 00 00 01 00 -T 0D 01 00 00 -R 00 00 01 00 -T 0D 01 00 00 18 E8 -R 00 00 01 00 -T 0F 01 00 00 -R 00 00 01 00 -T 0F 01 00 00 DD 5E FA DD 56 FB CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 18 01 00 00 21 00 00 39 46 23 66 68 18 6A -R 00 00 01 00 -T 22 01 00 00 -R 00 00 01 00 -T 22 01 00 00 AF DD 77 FE DD 77 FF 18 2D -R 00 00 01 00 -T 2B 01 00 00 -R 00 00 01 00 -T 2B 01 00 00 01 4F 00 DD 6E FE DD 66 FF A7 ED -R 00 00 01 00 -T 36 01 00 00 42 30 1F -R 00 00 01 00 -T 39 01 00 00 -R 00 00 01 00 -T 39 01 00 00 21 02 00 39 DD 4E FC DD 46 FD 09 -R 00 00 01 00 -T 44 01 00 00 46 DD 6E FE DD 66 FF 23 DD 75 FE -R 00 00 01 00 -T 4F 01 00 00 DD 74 FF 2B 11 00 00 00 00 19 70 -R 00 00 01 00 00 09 03 00 -T 58 01 00 00 -R 00 00 01 00 -T 58 01 00 00 -R 00 00 01 00 -T 58 01 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 60 01 00 00 -R 00 00 01 00 -T 60 01 00 00 C3 95 00 00 00 -R 00 00 01 00 00 05 01 00 -T 63 01 00 00 -R 00 00 01 00 -T 63 01 00 00 C3 69 00 00 00 -R 00 00 01 00 00 05 01 00 -T 66 01 00 00 -R 00 00 01 00 -T 66 01 00 00 -R 00 00 01 00 -T 66 01 00 00 01 12 00 00 00 11 00 00 00 00 CD -R 00 00 01 00 00 05 02 00 00 0A 03 00 -T 6D 01 00 00 00 00 00 00 21 0A 00 E5 11 -R 00 00 01 00 02 04 07 00 -T 74 01 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 00 04 03 00 02 09 03 00 -T 7A 01 00 00 00 00 00 00 09 4D 44 DD 5E 02 DD -R 00 00 01 00 00 04 03 00 -T 83 01 00 00 56 03 CD 00 00 00 00 F1 21 -R 00 00 01 00 02 07 09 00 -T 8A 01 00 00 00 00 00 00 -R 00 00 01 00 00 04 03 00 -T 8C 01 00 00 -R 00 00 01 00 -T 8C 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2F 6C 69 62 2F 6C 69 62 65 72 72 -R 00 00 02 00 -T 0B 00 00 00 6F 72 2E 74 78 74 00 -R 00 00 02 00 -T 12 00 00 00 -R 00 00 02 00 -T 12 00 00 00 55 6E 6B 6E 6F 77 6E 20 65 72 72 -R 00 00 02 00 -T 1D 00 00 00 6F 72 20 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 02 00 00 00 -R 00 00 04 00 -T 02 00 00 00 -R 00 00 04 00 -T 00 00 00 00 00 00 00 00 -R 00 00 05 00 diff --git a/src/nos/lib/crt_large_lib/etime.rel b/src/nos/lib/crt_large_lib/etime.rel deleted file mode 100644 index 93aa0676..00000000 --- a/src/nos/lib/crt_large_lib/etime.rel +++ /dev/null @@ -1,110 +0,0 @@ -XL4 -H 3 areas D global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?SS_MODASG_L02 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?SS_MOD_L02 Ref00000000 -S ?US_MOD_L02 Ref00000000 -S ?SS_DIV_L02 Ref00000000 -S ?US_DIV_L02 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12B flags 0 -S _etime Def00000000 -S _dout Def0000008E -S _ediff Def000000C8 -A UDATA0 size 1A flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 02 00 00 00 22 -R 00 00 01 00 02 05 04 00 00 0A 02 00 -T 07 00 00 00 00 00 00 00 13 13 EB 5E 23 56 01 -R 00 00 01 00 00 04 02 00 -T 10 00 00 00 3C 00 CD 00 00 00 00 CD -R 00 00 01 00 02 07 09 00 -T 16 00 00 00 8E 00 00 00 2A 00 00 00 00 23 22 -R 00 00 01 00 00 04 01 00 00 09 02 00 -T 1D 00 00 00 00 00 00 00 2B 36 3A DD 6E 02 DD -R 00 00 01 00 00 04 02 00 -T 26 00 00 00 66 03 23 23 5E 23 56 01 3C 00 CD -R 00 00 01 00 -T 31 00 00 00 00 00 00 00 CD 8E 00 00 00 2A -R 00 00 01 00 02 04 07 00 00 09 01 00 -T 37 00 00 00 00 00 00 00 23 22 00 00 00 00 2B -R 00 00 01 00 00 04 02 00 00 0A 02 00 -T 3E 00 00 00 36 3A DD 6E 02 DD 66 03 5E 23 56 -R 00 00 01 00 -T 49 00 00 00 01 32 00 CD 00 00 00 00 CD -R 00 00 01 00 02 08 09 00 -T 50 00 00 00 8E 00 00 00 2A 00 00 00 00 23 22 -R 00 00 01 00 00 04 01 00 00 09 02 00 -T 57 00 00 00 00 00 00 00 2B 36 2E DD 6E 02 DD -R 00 00 01 00 00 04 02 00 -T 60 00 00 00 66 03 5E 23 56 01 32 00 CD -R 00 00 01 00 -T 69 00 00 00 00 00 00 00 01 0A 00 CD -R 00 00 01 00 02 04 07 00 -T 6F 00 00 00 00 00 00 00 01 32 00 CD -R 00 00 01 00 02 04 05 00 -T 75 00 00 00 00 00 00 00 7B C6 30 2A -R 00 00 01 00 02 04 09 00 -T 7B 00 00 00 00 00 00 00 23 22 00 00 00 00 2B -R 00 00 01 00 00 04 02 00 00 0A 02 00 -T 82 00 00 00 77 2A 00 00 00 00 36 00 21 -R 00 00 01 00 00 06 02 00 -T 89 00 00 00 02 00 00 00 C3 00 00 00 00 -R 00 00 01 00 00 04 02 00 02 09 02 00 -T 8E 00 00 00 -R 00 00 01 00 -T 8E 00 00 00 CD 00 00 00 00 21 02 00 39 01 -R 00 00 01 00 02 05 04 00 -T 96 00 00 00 64 00 CD 00 00 00 00 01 0A 00 CD -R 00 00 01 00 02 07 01 00 -T 9F 00 00 00 00 00 00 00 7B C6 30 2A -R 00 00 01 00 02 04 08 00 -T A5 00 00 00 00 00 00 00 23 22 00 00 00 00 2B -R 00 00 01 00 00 04 02 00 00 0A 02 00 -T AC 00 00 00 77 01 0A 00 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T B7 00 00 00 00 00 00 00 7B C6 30 2A -R 00 00 01 00 02 04 06 00 -T BD 00 00 00 00 00 00 00 23 22 00 00 00 00 2B -R 00 00 01 00 00 04 02 00 00 0A 02 00 -T C4 00 00 00 77 C3 00 00 00 00 -R 00 00 01 00 02 06 02 00 -T C8 00 00 00 -R 00 00 01 00 -T C8 00 00 00 CD 00 00 00 00 69 60 4E 23 46 1A -R 00 00 01 00 02 05 04 00 -T D1 00 00 00 6F 13 1A 67 A7 ED 42 30 1E -R 00 00 01 00 -T DA 00 00 00 -R 00 00 01 00 -T DA 00 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 -R 00 00 01 00 -T E5 00 00 00 0B 70 2B 71 DD 6E 02 DD 66 03 7E -R 00 00 01 00 -T F0 00 00 00 C6 B8 77 23 7E CE 0B 77 -R 00 00 01 00 -T F8 00 00 00 -R 00 00 01 00 -T F8 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 -R 00 00 01 00 -T 03 01 00 00 DD 6E 02 DD 66 03 23 23 7E 91 77 -R 00 00 01 00 -T 0E 01 00 00 23 7E 98 77 DD 6E 04 DD 66 05 4E -R 00 00 01 00 -T 19 01 00 00 23 46 DD 6E 02 DD 66 03 7E 91 77 -R 00 00 01 00 -T 24 01 00 00 23 7E 98 77 C3 00 00 00 00 -R 00 00 01 00 02 09 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/execl.rel b/src/nos/lib/crt_large_lib/execl.rel deleted file mode 100644 index 60a723f7..00000000 --- a/src/nos/lib/crt_large_lib/execl.rel +++ /dev/null @@ -1,187 +0,0 @@ -XL4 -H 4 areas D global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _execve Ref00000000 -S _environ Ref00000000 -S _getenv Ref00000000 -S _strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _strcpy Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _access Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13A flags 0 -S __findPath Def00000000 -S _execl Def00000120 -A CSTR size 29 flags 0 -A UDATA0 size 101 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 09 00 -T 09 00 00 00 66 03 7E FE 2F 28 0B DD 6E 02 DD -R 00 00 01 00 -T 14 00 00 00 66 03 7E FE 2E 20 09 -R 00 00 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 DD 6E 02 DD 66 03 C3 1D 01 00 00 -R 00 00 01 00 00 0B 01 00 -T 24 00 00 00 -R 00 00 01 00 -T 24 00 00 00 11 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 02 00 02 0A 03 00 -T 2B 00 00 00 75 FE DD 74 FF 7D B4 20 08 -R 00 00 01 00 -T 34 00 00 00 -R 00 00 01 00 -T 34 00 00 00 DD 36 FE 05 00 00 00 DD 36 FF -R 00 00 01 00 09 07 02 00 -T 3B 00 00 00 05 00 00 00 -R 00 00 01 00 89 04 02 00 -T 3C 00 00 00 -R 00 00 01 00 -T 3C 00 00 00 -R 00 00 01 00 -T 3C 00 00 00 DD 6E FE DD 66 FF AF B6 CA -R 00 00 01 00 -T 45 00 00 00 05 01 00 00 -R 00 00 01 00 00 04 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 DD 36 FC 00 00 00 00 DD 36 FD -R 00 00 01 00 09 07 03 00 -T 4E 00 00 00 00 00 00 00 -R 00 00 01 00 89 04 03 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 DD 6E FE DD 66 FF AF B6 28 3B DD -R 00 00 01 00 -T 5A 00 00 00 6E FE DD 66 FF 23 DD 75 FE DD 74 -R 00 00 01 00 -T 65 00 00 00 FF 2B 46 DD 6E FC DD 66 FD 70 78 -R 00 00 01 00 -T 70 00 00 00 FE 3A 28 20 -R 00 00 01 00 -T 74 00 00 00 -R 00 00 01 00 -T 74 00 00 00 -R 00 00 01 00 -T 74 00 00 00 -R 00 00 01 00 -T 74 00 00 00 01 00 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 00 05 03 00 -T 7D 00 00 00 A7 ED 42 01 01 01 A7 ED 42 38 02 -R 00 00 01 00 -T 88 00 00 00 -R 00 00 01 00 -T 88 00 00 00 18 0A -R 00 00 01 00 -T 8A 00 00 00 -R 00 00 01 00 -T 8A 00 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 18 BB -R 00 00 01 00 -T 94 00 00 00 -R 00 00 01 00 -T 94 00 00 00 DD 6E FC DD 66 FD 2B DD 75 FC DD -R 00 00 01 00 -T 9F 00 00 00 74 FD 7E FE 2F 28 0F -R 00 00 01 00 -T A6 00 00 00 -R 00 00 01 00 -T A6 00 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD -R 00 00 01 00 -T B1 00 00 00 74 FD 36 2F -R 00 00 01 00 -T B5 00 00 00 -R 00 00 01 00 -T B5 00 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T BD 00 00 00 -R 00 00 01 00 -T BD 00 00 00 01 00 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 00 05 03 00 -T C6 00 00 00 A7 ED 42 E5 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T D1 00 00 00 00 00 00 00 4D 44 E1 09 01 01 01 -R 00 00 01 00 02 04 04 00 -T DA 00 00 00 A7 ED 42 38 02 -R 00 00 01 00 -T DF 00 00 00 -R 00 00 01 00 -T DF 00 00 00 18 24 -R 00 00 01 00 -T E1 00 00 00 -R 00 00 01 00 -T E1 00 00 00 DD 4E 02 DD 46 03 DD 5E FC DD 56 -R 00 00 01 00 -T EC 00 00 00 FD CD 00 00 00 00 01 00 00 11 -R 00 00 01 00 02 06 08 00 -T F4 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 00 04 03 00 02 09 0A 00 -T FB 00 00 00 20 05 -R 00 00 01 00 -T FD 00 00 00 -R 00 00 01 00 -T FD 00 00 00 21 00 00 00 00 18 1B -R 00 00 01 00 00 05 03 00 -T 02 01 00 00 -R 00 00 01 00 -T 02 01 00 00 C3 3C 00 00 00 -R 00 00 01 00 00 05 01 00 -T 05 01 00 00 -R 00 00 01 00 -T 05 01 00 00 01 00 00 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 0F 01 00 00 00 00 00 00 7D B4 20 05 -R 00 00 01 00 02 04 0A 00 -T 15 01 00 00 -R 00 00 01 00 -T 15 01 00 00 21 00 00 00 00 18 03 -R 00 00 01 00 00 05 03 00 -T 1A 01 00 00 -R 00 00 01 00 -T 1A 01 00 00 21 00 00 -R 00 00 01 00 -T 1D 01 00 00 -R 00 00 01 00 -T 1D 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 20 01 00 00 -R 00 00 01 00 -T 20 01 00 00 CD 00 00 00 00 2A 00 00 00 00 E5 -R 00 00 01 00 02 05 07 00 02 0A 02 00 -T 27 01 00 00 21 0C 00 39 4D 44 DD 5E 08 DD 56 -R 00 00 01 00 -T 32 01 00 00 09 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 06 01 00 -T 38 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 05 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 50 41 54 48 00 -R 00 00 02 00 -T 05 00 00 00 -R 00 00 02 00 -T 05 00 00 00 2E 3A 2F 62 69 6E 3A 2F 75 73 72 -R 00 00 02 00 -T 10 00 00 00 2F 62 69 6E 3A 2F 65 74 63 3A 2F -R 00 00 02 00 -T 1B 00 00 00 75 73 72 2F 6C 6F 63 61 6C 2F 62 -R 00 00 02 00 -T 26 00 00 00 69 6E 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 diff --git a/src/nos/lib/crt_large_lib/execle.rel b/src/nos/lib/crt_large_lib/execle.rel deleted file mode 100644 index ff98c8d3..00000000 --- a/src/nos/lib/crt_large_lib/execle.rel +++ /dev/null @@ -1,34 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _execve Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 43 flags 0 -S _execle Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 0C 00 39 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 DD 6E FE DD 66 FF 4D 44 03 03 DD -R 00 00 01 00 -T 1A 00 00 00 71 FE DD 70 FF 7E 23 B6 28 02 -R 00 00 01 00 -T 24 00 00 00 -R 00 00 01 00 -T 24 00 00 00 18 E9 -R 00 00 01 00 -T 26 00 00 00 -R 00 00 01 00 -T 26 00 00 00 DD 6E FE DD 66 FF 4E 23 46 C5 21 -R 00 00 01 00 -T 31 00 00 00 0E 00 39 4D 44 DD 5E 08 DD 56 09 -R 00 00 01 00 -T 3C 00 00 00 CD 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 02 0B 02 00 diff --git a/src/nos/lib/crt_large_lib/execlp.rel b/src/nos/lib/crt_large_lib/execlp.rel deleted file mode 100644 index 20d90760..00000000 --- a/src/nos/lib/crt_large_lib/execlp.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _execve Ref00000000 -S _environ Ref00000000 -S __findPath Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1E flags 0 -S _execlp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 2A 00 00 00 00 E5 -R 00 00 01 00 02 05 06 00 02 0A 02 00 -T 07 00 00 00 21 0C 00 39 4D 44 DD 5E 08 DD 56 -R 00 00 01 00 -T 12 00 00 00 09 CD 00 00 00 00 EB CD -R 00 00 01 00 02 06 03 00 -T 18 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0A 04 00 diff --git a/src/nos/lib/crt_large_lib/execlpe.rel b/src/nos/lib/crt_large_lib/execlpe.rel deleted file mode 100644 index a8c8afcd..00000000 --- a/src/nos/lib/crt_large_lib/execlpe.rel +++ /dev/null @@ -1,37 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _execve Ref00000000 -S __findPath Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 47 flags 0 -S _execlpe Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 0C 00 39 -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 DD 6E FE DD 66 FF 4D 44 03 03 DD -R 00 00 01 00 -T 1A 00 00 00 71 FE DD 70 FF 7E 23 B6 28 02 -R 00 00 01 00 -T 24 00 00 00 -R 00 00 01 00 -T 24 00 00 00 18 E9 -R 00 00 01 00 -T 26 00 00 00 -R 00 00 01 00 -T 26 00 00 00 DD 6E FE DD 66 FF 4E 23 46 C5 21 -R 00 00 01 00 -T 31 00 00 00 0E 00 39 4D 44 DD 5E 08 DD 56 09 -R 00 00 01 00 -T 3C 00 00 00 CD 00 00 00 00 EB CD 00 00 00 00 -R 00 00 01 00 02 05 02 00 02 0B 01 00 -T 43 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 03 00 diff --git a/src/nos/lib/crt_large_lib/exect.rel b/src/nos/lib/crt_large_lib/exect.rel deleted file mode 100644 index 2d93c76a..00000000 --- a/src/nos/lib/crt_large_lib/exect.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _execve Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S _exect Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 E5 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 06 01 00 -T 0F 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/src/nos/lib/crt_large_lib/execv.rel b/src/nos/lib/crt_large_lib/execv.rel deleted file mode 100644 index da9bd918..00000000 --- a/src/nos/lib/crt_large_lib/execv.rel +++ /dev/null @@ -1,17 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _execve Ref00000000 -S _environ Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size E flags 0 -S _execv Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 2A 00 00 00 00 E5 -R 00 00 01 00 02 05 05 00 02 0A 02 00 -T 07 00 00 00 CD 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 02 0B 03 00 diff --git a/src/nos/lib/crt_large_lib/execvp.rel b/src/nos/lib/crt_large_lib/execvp.rel deleted file mode 100644 index 5b10fca5..00000000 --- a/src/nos/lib/crt_large_lib/execvp.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _execve Ref00000000 -S _environ Ref00000000 -S __findPath Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S _execvp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 2A 00 00 00 00 E5 -R 00 00 01 00 02 05 06 00 02 0A 02 00 -T 07 00 00 00 CD 00 00 00 00 EB CD 00 00 00 00 -R 00 00 01 00 02 05 03 00 02 0B 01 00 -T 0E 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 04 00 diff --git a/src/nos/lib/crt_large_lib/execvpe.rel b/src/nos/lib/crt_large_lib/execvpe.rel deleted file mode 100644 index 7f4fc9b2..00000000 --- a/src/nos/lib/crt_large_lib/execvpe.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _execve Ref00000000 -S __findPath Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S _execvpe Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 E5 CD 00 00 00 00 EB CD -R 00 00 01 00 02 06 02 00 -T 0F 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0A 03 00 diff --git a/src/nos/lib/crt_large_lib/exit.rel b/src/nos/lib/crt_large_lib/exit.rel deleted file mode 100644 index 62cc9683..00000000 --- a/src/nos/lib/crt_large_lib/exit.rel +++ /dev/null @@ -1,30 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S __exit Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ___cleanup Ref00000000 -S ?CALL_IND_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S _exit Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 2A 00 00 00 00 7D -R 00 00 01 00 02 05 04 00 02 0A 05 00 -T 07 00 00 00 B4 28 0F -R 00 00 01 00 -T 0A 00 00 00 -R 00 00 01 00 -T 0A 00 00 00 01 00 00 DD 5E 02 DD 56 03 2A -R 00 00 01 00 -T 14 00 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 05 00 02 09 06 00 -T 19 00 00 00 -R 00 00 01 00 -T 19 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 22 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/crt_large_lib/fclose.rel b/src/nos/lib/crt_large_lib/fclose.rel deleted file mode 100644 index df14c850..00000000 --- a/src/nos/lib/crt_large_lib/fclose.rel +++ /dev/null @@ -1,146 +0,0 @@ -XL4 -H 2 areas A global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _fflush Ref00000000 -S _close Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S _free Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___IO_list Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 164 flags 0 -S _fclose Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF AF DD 77 FA -R 00 00 01 00 02 05 07 00 -T 09 00 00 00 DD 77 FB DD 7E 02 DD B6 03 20 13 -R 00 00 01 00 -T 14 00 00 00 -R 00 00 01 00 -T 14 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 04 00 -T 1D 00 00 00 16 23 36 00 21 FF FF C3 -R 00 00 01 00 -T 25 00 00 00 61 01 00 00 -R 00 00 01 00 00 04 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 30 00 00 00 7D B4 28 06 -R 00 00 01 00 -T 34 00 00 00 -R 00 00 01 00 -T 34 00 00 00 21 FF FF C3 61 01 00 00 -R 00 00 01 00 00 08 01 00 -T 3A 00 00 00 -R 00 00 01 00 -T 3A 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 45 00 00 00 23 56 CD 00 00 00 00 7D B4 28 08 -R 00 00 01 00 02 07 02 00 -T 4E 00 00 00 -R 00 00 01 00 -T 4E 00 00 00 DD 36 FA FF DD 36 FB FF -R 00 00 01 00 -T 56 00 00 00 -R 00 00 01 00 -T 56 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 36 -R 00 00 01 00 -T 61 00 00 00 FF 23 36 FF 21 0C 00 09 7E E6 04 -R 00 00 01 00 -T 6C 00 00 00 28 2F -R 00 00 01 00 -T 6E 00 00 00 -R 00 00 01 00 -T 6E 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 79 00 00 00 23 56 CD 00 00 00 00 21 0C 00 09 -R 00 00 01 00 02 07 06 00 -T 82 00 00 00 7E E6 FB 77 23 7E E6 FF 77 21 -R 00 00 01 00 -T 8C 00 00 00 06 00 09 E5 21 08 00 09 AF 77 23 -R 00 00 01 00 -T 97 00 00 00 77 E1 AF 77 23 77 -R 00 00 01 00 -T 9D 00 00 00 -R 00 00 01 00 -T 9D 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T A8 00 00 00 E6 08 CA 4D 01 00 00 -R 00 00 01 00 00 07 01 00 -T AD 00 00 00 -R 00 00 01 00 -T AD 00 00 00 2A 00 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 02 05 08 00 -T B6 00 00 00 AF DD 77 FE DD 77 FF 21 0C 00 DD -R 00 00 01 00 -T C1 00 00 00 4E 02 DD 46 03 09 AF 77 23 77 -R 00 00 01 00 -T CB 00 00 00 -R 00 00 01 00 -T CB 00 00 00 DD 7E FC DD B6 FD 28 27 DD 6E 02 -R 00 00 01 00 -T D6 00 00 00 DD 66 03 DD 4E FC DD 46 FD A7 ED -R 00 00 01 00 -T E1 00 00 00 42 28 16 -R 00 00 01 00 -T E4 00 00 00 -R 00 00 01 00 -T E4 00 00 00 -R 00 00 01 00 -T E4 00 00 00 -R 00 00 01 00 -T E4 00 00 00 21 16 00 DD 4E FC DD 46 FD 09 56 -R 00 00 01 00 -T EF 00 00 00 23 66 6A DD 75 FC DD 74 FD 18 D1 -R 00 00 01 00 -T FA 00 00 00 -R 00 00 01 00 -T FA 00 00 00 DD 6E 02 DD 66 03 DD 4E FC DD 46 -R 00 00 01 00 -T 05 01 00 00 FD A7 ED 42 20 37 -R 00 00 01 00 -T 0B 01 00 00 -R 00 00 01 00 -T 0B 01 00 00 DD 7E FE DD B6 FF 20 13 -R 00 00 01 00 -T 13 01 00 00 -R 00 00 01 00 -T 13 01 00 00 21 16 00 DD 4E 02 DD 46 03 09 46 -R 00 00 01 00 -T 1E 01 00 00 23 66 68 22 00 00 00 00 18 1C -R 00 00 01 00 02 08 08 00 -T 26 01 00 00 -R 00 00 01 00 -T 26 01 00 00 21 16 00 DD 4E FE DD 46 FF 09 E5 -R 00 00 01 00 -T 31 01 00 00 21 16 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 3C 01 00 00 23 46 E1 71 23 70 -R 00 00 01 00 -T 42 01 00 00 -R 00 00 01 00 -T 42 01 00 00 -R 00 00 01 00 -T 42 01 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T 4B 01 00 00 18 0E -R 00 00 01 00 -T 4D 01 00 00 -R 00 00 01 00 -T 4D 01 00 00 21 0C 00 DD 4E 02 DD 46 03 09 AF -R 00 00 01 00 -T 58 01 00 00 77 23 77 -R 00 00 01 00 -T 5B 01 00 00 -R 00 00 01 00 -T 5B 01 00 00 DD 6E FA DD 66 FB -R 00 00 01 00 -T 61 01 00 00 -R 00 00 01 00 -T 61 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/crt_large_lib/fflush.rel b/src/nos/lib/crt_large_lib/fflush.rel deleted file mode 100644 index 8d9a4760..00000000 --- a/src/nos/lib/crt_large_lib/fflush.rel +++ /dev/null @@ -1,197 +0,0 @@ -XL4 -H 2 areas D global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _stderr Ref00000000 -S _lseek Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S _stdin Ref00000000 -S _stdout Ref00000000 -S _write Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ___IO_list Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1FB flags 0 -S _fflush Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF AF DD 77 FE -R 00 00 01 00 02 05 09 00 -T 09 00 00 00 DD 77 FF DD 7E 02 DD B6 03 20 64 -R 00 00 01 00 -T 14 00 00 00 -R 00 00 01 00 -T 14 00 00 00 11 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 06 00 00 0A 01 00 -T 1B 00 00 00 B4 20 14 11 00 00 00 00 CD -R 00 00 01 00 02 08 07 00 -T 22 00 00 00 00 00 00 00 7D B4 20 0A 11 -R 00 00 01 00 00 04 01 00 -T 29 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 01 00 00 09 01 00 -T 30 00 00 00 28 06 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 21 FF FF C3 F8 01 00 00 -R 00 00 01 00 00 08 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 2A 00 00 00 00 DD 75 02 DD 74 03 -R 00 00 01 00 02 05 0B 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 DD 7E 02 DD B6 03 28 29 -R 00 00 01 00 -T 49 00 00 00 -R 00 00 01 00 -T 49 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 52 00 00 00 7D B4 28 06 -R 00 00 01 00 -T 56 00 00 00 -R 00 00 01 00 -T 56 00 00 00 21 FF FF C3 F8 01 00 00 -R 00 00 01 00 00 08 01 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 21 16 00 DD 4E 02 DD 46 03 09 56 -R 00 00 01 00 -T 67 00 00 00 23 66 6A DD 75 02 DD 74 03 18 CF -R 00 00 01 00 -T 72 00 00 00 -R 00 00 01 00 -T 72 00 00 00 21 00 00 C3 F8 01 00 00 -R 00 00 01 00 00 08 01 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 83 00 00 00 E6 80 CA 53 01 00 00 -R 00 00 01 00 00 07 01 00 -T 88 00 00 00 -R 00 00 01 00 -T 88 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 93 00 00 00 23 56 0A 6F 03 0A 67 A7 ED 52 DD -R 00 00 01 00 -T 9E 00 00 00 75 FA DD 74 FB 7D B4 CA -R 00 00 01 00 -T A6 00 00 00 51 01 00 00 -R 00 00 01 00 00 04 01 00 -T A8 00 00 00 -R 00 00 01 00 -T A8 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 46 -R 00 00 01 00 -T B3 00 00 00 23 66 68 DD 75 F8 DD 74 F9 -R 00 00 01 00 -T BC 00 00 00 -R 00 00 01 00 -T BC 00 00 00 DD 6E FA DD 66 FB E5 DD 4E F8 DD -R 00 00 01 00 -T C7 00 00 00 46 F9 21 0A 00 DD 5E 02 DD 56 03 -R 00 00 01 00 -T D2 00 00 00 19 5E 23 56 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 09 08 00 -T DB 00 00 00 75 FC DD 74 FD 4D 44 21 00 00 CD -R 00 00 01 00 -T E6 00 00 00 00 00 00 00 30 1E -R 00 00 01 00 02 04 0A 00 -T EA 00 00 00 -R 00 00 01 00 -T EA 00 00 00 21 00 00 39 7E DD 86 FC 77 23 7E -R 00 00 01 00 -T F5 00 00 00 DD 8E FD 77 21 02 00 39 7E DD 96 -R 00 00 01 00 -T 00 01 00 00 FC 77 23 7E DD 9E FD 77 -R 00 00 01 00 -T 08 01 00 00 -R 00 00 01 00 -T 08 01 00 00 DD 4E FC DD 46 FD 21 00 00 CD -R 00 00 01 00 -T 12 01 00 00 00 00 00 00 38 A6 DD 7E FC DD A6 -R 00 00 01 00 02 04 0A 00 -T 1B 01 00 00 FD 3C 20 0F 21 4B 00 ED 4B -R 00 00 01 00 -T 24 01 00 00 00 00 00 00 09 3E 04 AE 23 B6 28 -R 00 00 01 00 02 04 04 00 -T 2D 01 00 00 8E -R 00 00 01 00 -T 2E 01 00 00 -R 00 00 01 00 -T 2E 01 00 00 DD 7E FA DD B6 FB 28 1B -R 00 00 01 00 -T 36 01 00 00 -R 00 00 01 00 -T 36 01 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 41 01 00 00 F6 00 77 23 7E F6 02 77 DD 36 FE -R 00 00 01 00 -T 4C 01 00 00 FF DD 36 FF FF -R 00 00 01 00 -T 51 01 00 00 -R 00 00 01 00 -T 51 01 00 00 -R 00 00 01 00 -T 51 01 00 00 18 65 -R 00 00 01 00 -T 53 01 00 00 -R 00 00 01 00 -T 53 01 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 5E 01 00 00 E6 40 28 56 -R 00 00 01 00 -T 62 01 00 00 -R 00 00 01 00 -T 62 01 00 00 DD 6E 02 DD 66 03 4E 23 46 DD 6E -R 00 00 01 00 -T 6D 01 00 00 02 DD 66 03 23 23 56 23 66 6A A7 -R 00 00 01 00 -T 78 01 00 00 ED 42 DD 75 FA DD 74 FB 4D 44 21 -R 00 00 01 00 -T 83 01 00 00 00 00 CD 00 00 00 00 30 2E 21 -R 00 00 01 00 02 07 0A 00 -T 8B 01 00 00 01 00 E5 DD 4E FA DD 46 FB A7 21 -R 00 00 01 00 -T 96 01 00 00 00 00 ED 42 7C 07 9F 4F 41 C5 E5 -R 00 00 01 00 -T A1 01 00 00 21 0A 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T AC 01 00 00 23 56 CD 00 00 00 00 F1 F1 F1 CB -R 00 00 01 00 02 07 02 00 -T B5 01 00 00 78 28 00 -R 00 00 01 00 -T B8 01 00 00 -R 00 00 01 00 -T B8 01 00 00 -R 00 00 01 00 -T B8 01 00 00 -R 00 00 01 00 -T B8 01 00 00 -R 00 00 01 00 -T B8 01 00 00 -R 00 00 01 00 -T B8 01 00 00 -R 00 00 01 00 -T B8 01 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T C3 01 00 00 E6 3F 77 23 7E E6 FA 77 69 60 23 -R 00 00 01 00 -T CE 01 00 00 23 E5 21 04 00 DD 4E 02 DD 46 03 -R 00 00 01 00 -T D9 01 00 00 09 E5 21 06 00 09 56 23 66 6A E5 -R 00 00 01 00 -T E4 01 00 00 69 60 C1 71 23 70 E1 71 23 70 E1 -R 00 00 01 00 -T EF 01 00 00 71 23 70 DD 6E FE DD 66 FF -R 00 00 01 00 -T F8 01 00 00 -R 00 00 01 00 -T F8 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/crt_large_lib/fgetc.rel b/src/nos/lib/crt_large_lib/fgetc.rel deleted file mode 100644 index 798929b0..00000000 --- a/src/nos/lib/crt_large_lib/fgetc.rel +++ /dev/null @@ -1,89 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _fread Ref00000000 -S _fflush Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 106 flags 0 -S _fgetc Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 0C 00 DD -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 4E 02 DD 46 03 09 7E E6 80 28 09 -R 00 00 01 00 -T 14 00 00 00 -R 00 00 01 00 -T 14 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 28 00 00 00 E6 10 4F 23 7E E6 03 47 3E 10 A9 -R 00 00 01 00 -T 33 00 00 00 B0 28 06 -R 00 00 01 00 -T 36 00 00 00 -R 00 00 01 00 -T 36 00 00 00 21 FF FF C3 03 01 00 00 -R 00 00 01 00 00 08 01 00 -T 3C 00 00 00 -R 00 00 01 00 -T 3C 00 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 -R 00 00 01 00 -T 47 00 00 00 DD 6E 02 DD 66 03 56 23 66 6A A7 -R 00 00 01 00 -T 52 00 00 00 ED 42 DA E9 00 00 00 -R 00 00 01 00 00 07 01 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 DD 6E 02 DD 66 03 23 23 E5 21 -R 00 00 01 00 -T 61 00 00 00 06 00 DD 4E 02 DD 46 03 09 5E 23 -R 00 00 01 00 -T 6C 00 00 00 56 E1 73 23 72 69 60 73 23 72 DD -R 00 00 01 00 -T 77 00 00 00 6E 02 DD 66 03 E5 21 06 00 DD 4E -R 00 00 01 00 -T 82 00 00 00 02 DD 46 03 09 5E 23 56 21 08 00 -R 00 00 01 00 -T 8D 00 00 00 09 7E 23 66 6F A7 ED 52 E5 01 -R 00 00 01 00 -T 97 00 00 00 01 00 DD 6E 02 DD 66 03 5E 23 56 -R 00 00 01 00 -T A2 00 00 00 CD 00 00 00 00 F1 F1 DD 75 FE DD -R 00 00 01 00 02 05 01 00 -T AB 00 00 00 74 FF 7D B4 20 05 -R 00 00 01 00 -T B1 00 00 00 -R 00 00 01 00 -T B1 00 00 00 21 FF FF 18 4D -R 00 00 01 00 -T B6 00 00 00 -R 00 00 01 00 -T B6 00 00 00 DD 6E 02 DD 66 03 23 23 7E DD 86 -R 00 00 01 00 -T C1 00 00 00 FE 77 23 7E DD 8E FF 77 21 0C 00 -R 00 00 01 00 -T CC 00 00 00 DD 4E 02 DD 46 03 09 7E F6 40 77 -R 00 00 01 00 -T D7 00 00 00 23 7E F6 00 77 21 0C 00 09 7E E6 -R 00 00 01 00 -T E2 00 00 00 FF 77 23 7E E6 FB 77 -R 00 00 01 00 -T E9 00 00 00 -R 00 00 01 00 -T E9 00 00 00 DD 6E 02 DD 66 03 4E 23 46 03 70 -R 00 00 01 00 -T F4 00 00 00 2B 71 0B 0A 4F 06 00 DD 71 FE DD -R 00 00 01 00 -T FF 00 00 00 70 FF 69 60 -R 00 00 01 00 -T 03 01 00 00 -R 00 00 01 00 -T 03 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/crt_large_lib/fgetgren.rel b/src/nos/lib/crt_large_lib/fgetgren.rel deleted file mode 100644 index bafa0fdb..00000000 --- a/src/nos/lib/crt_large_lib/fgetgren.rel +++ /dev/null @@ -1,31 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ___getgrent Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2C flags 0 -S _fgetgrent Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 7B B2 20 12 -R 00 00 01 00 02 05 05 00 -T 07 00 00 00 -R 00 00 01 00 -T 07 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 03 00 -T 10 00 00 00 04 23 36 00 21 00 00 18 10 -R 00 00 01 00 -T 19 00 00 00 -R 00 00 01 00 -T 19 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 24 00 00 00 23 56 CD 00 00 00 00 -R 00 00 01 00 02 07 02 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/crt_large_lib/fgetpwen.rel b/src/nos/lib/crt_large_lib/fgetpwen.rel deleted file mode 100644 index b5783000..00000000 --- a/src/nos/lib/crt_large_lib/fgetpwen.rel +++ /dev/null @@ -1,31 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ___getpwent Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2C flags 0 -S _fgetpwent Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 7B B2 20 12 -R 00 00 01 00 02 05 04 00 -T 07 00 00 00 -R 00 00 01 00 -T 07 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 02 00 -T 10 00 00 00 04 23 36 00 21 00 00 18 10 -R 00 00 01 00 -T 19 00 00 00 -R 00 00 01 00 -T 19 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 24 00 00 00 23 56 CD 00 00 00 00 -R 00 00 01 00 02 07 05 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/crt_large_lib/fgets.rel b/src/nos/lib/crt_large_lib/fgets.rel deleted file mode 100644 index 0ea415eb..00000000 --- a/src/nos/lib/crt_large_lib/fgets.rel +++ /dev/null @@ -1,80 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _fgetc Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size A0 flags 0 -S _fgets Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF DD 71 FA DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 70 FB DD 6E 02 DD 66 03 DD 75 FE -R 00 00 01 00 -T 14 00 00 00 DD 74 FF -R 00 00 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 DD 6E FA DD 66 FB 2B DD 75 FA DD -R 00 00 01 00 -T 22 00 00 00 74 FB 23 7D B4 28 4C -R 00 00 01 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 DD 5E 08 DD 56 09 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 32 00 00 00 DD 75 FC DD 74 FD 7D A4 3C 20 18 -R 00 00 01 00 -T 3D 00 00 00 -R 00 00 01 00 -T 3D 00 00 00 DD 6E FE DD 66 FF DD 4E 02 DD 46 -R 00 00 01 00 -T 48 00 00 00 03 A7 ED 42 20 05 -R 00 00 01 00 -T 4E 00 00 00 -R 00 00 01 00 -T 4E 00 00 00 21 00 00 18 4A -R 00 00 01 00 -T 53 00 00 00 -R 00 00 01 00 -T 53 00 00 00 18 20 -R 00 00 01 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 DD 46 FC DD 6E 02 DD 66 03 23 DD -R 00 00 01 00 -T 60 00 00 00 75 02 DD 74 03 2B 70 3E 0A DD AE -R 00 00 01 00 -T 6B 00 00 00 FC DD B6 FD 20 02 -R 00 00 01 00 -T 71 00 00 00 -R 00 00 01 00 -T 71 00 00 00 18 02 -R 00 00 01 00 -T 73 00 00 00 -R 00 00 01 00 -T 73 00 00 00 18 A2 -R 00 00 01 00 -T 75 00 00 00 -R 00 00 01 00 -T 75 00 00 00 DD 6E 02 DD 66 03 36 00 21 0C 00 -R 00 00 01 00 -T 80 00 00 00 DD 4E 08 DD 46 09 09 7E E6 00 47 -R 00 00 01 00 -T 8B 00 00 00 23 7E E6 02 B0 28 05 21 00 00 18 -R 00 00 01 00 -T 96 00 00 00 06 -R 00 00 01 00 -T 97 00 00 00 -R 00 00 01 00 -T 97 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 -T 9D 00 00 00 -R 00 00 01 00 -T 9D 00 00 00 -R 00 00 01 00 -T 9D 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/crt_large_lib/fopen.rel b/src/nos/lib/crt_large_lib/fopen.rel deleted file mode 100644 index bdc099d7..00000000 --- a/src/nos/lib/crt_large_lib/fopen.rel +++ /dev/null @@ -1,245 +0,0 @@ -XL4 -H 2 areas D global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _isatty Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S _free Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _calloc Ref00000000 -S ___IO_list Ref00000000 -S _open Ref00000000 -S ?C_V_SWITCH_L06 Ref00000000 -S _fclose Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2AC flags 0 -S ___fopen Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF AF DD 77 FA -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 DD 77 FB AF DD 77 FC DD 77 FD AF -R 00 00 01 00 -T 14 00 00 00 DD 77 FE DD 77 FF DD 7E 08 DD B6 -R 00 00 01 00 -T 1F 00 00 00 09 28 30 -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 21 0C 00 DD 4E 08 DD 46 09 09 7E -R 00 00 01 00 -T 2D 00 00 00 E6 0F 5F 23 7E E6 00 57 21 02 00 -R 00 00 01 00 -T 38 00 00 00 39 7E B3 77 23 7E B2 77 21 0C 00 -R 00 00 01 00 -T 43 00 00 00 09 7E E6 F3 77 23 7E E6 FF 77 59 -R 00 00 01 00 -T 4E 00 00 00 50 CD 00 00 00 00 -R 00 00 01 00 02 06 0B 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 DD 6E 0A DD 66 0B AF B6 28 70 -R 00 00 01 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 DD 6E 0A DD 66 0B 23 DD 75 0A DD -R 00 00 01 00 -T 67 00 00 00 74 0B 2B 5E CD 00 00 00 00 04 00 -R 00 00 01 00 02 09 0A 00 -T 70 00 00 00 2B 61 72 77 CA 00 00 00 -R 00 00 01 00 00 08 01 00 -T 76 00 00 00 8D 00 00 00 7E 00 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 7A 00 00 00 A4 00 00 00 BB 00 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 7E 00 00 00 -R 00 00 01 00 -T 7E 00 00 00 21 02 00 39 7E F6 10 77 23 7E F6 -R 00 00 01 00 -T 89 00 00 00 00 77 18 3D -R 00 00 01 00 -T 8D 00 00 00 -R 00 00 01 00 -T 8D 00 00 00 21 02 00 39 7E F6 20 77 23 7E F6 -R 00 00 01 00 -T 98 00 00 00 00 77 DD 36 FA 00 DD 36 FB 03 18 -R 00 00 01 00 -T A3 00 00 00 26 -R 00 00 01 00 -T A4 00 00 00 -R 00 00 01 00 -T A4 00 00 00 21 02 00 39 7E F6 20 77 23 7E F6 -R 00 00 01 00 -T AF 00 00 00 00 77 DD 36 FA 00 DD 36 FB 21 18 -R 00 00 01 00 -T BA 00 00 00 0F -R 00 00 01 00 -T BB 00 00 00 -R 00 00 01 00 -T BB 00 00 00 21 02 00 39 7E F6 30 77 23 7E F6 -R 00 00 01 00 -T C6 00 00 00 00 77 18 00 -R 00 00 01 00 -T CA 00 00 00 -R 00 00 01 00 -T CA 00 00 00 18 86 -R 00 00 01 00 -T CC 00 00 00 -R 00 00 01 00 -T CC 00 00 00 DD 7E FC E6 30 4F DD 7E FD E6 00 -R 00 00 01 00 -T D7 00 00 00 47 79 B0 20 06 -R 00 00 01 00 -T DC 00 00 00 -R 00 00 01 00 -T DC 00 00 00 21 00 00 C3 A9 02 00 00 -R 00 00 01 00 00 08 01 00 -T E2 00 00 00 -R 00 00 01 00 -T E2 00 00 00 3E 10 A9 B0 20 02 18 24 -R 00 00 01 00 -T EA 00 00 00 -R 00 00 01 00 -T EA 00 00 00 3E 20 A9 B0 20 0F 21 00 00 39 7E -R 00 00 01 00 -T F5 00 00 00 F6 01 77 23 7E F6 00 77 18 0F -R 00 00 01 00 -T FF 00 00 00 -R 00 00 01 00 -T FF 00 00 00 21 00 00 39 7E F6 02 77 23 7E F6 -R 00 00 01 00 -T 0A 01 00 00 00 77 18 00 -R 00 00 01 00 -T 0E 01 00 00 -R 00 00 01 00 -T 0E 01 00 00 DD 7E 08 DD B6 09 20 19 01 18 00 -R 00 00 01 00 -T 19 01 00 00 11 01 00 CD 00 00 00 00 DD 75 FE -R 00 00 01 00 02 08 07 00 -T 22 01 00 00 DD 74 FF 7D B4 20 06 -R 00 00 01 00 -T 29 01 00 00 -R 00 00 01 00 -T 29 01 00 00 -R 00 00 01 00 -T 29 01 00 00 -R 00 00 01 00 -T 29 01 00 00 21 00 00 C3 A9 02 00 00 -R 00 00 01 00 00 08 01 00 -T 2F 01 00 00 -R 00 00 01 00 -T 2F 01 00 00 DD 7E 02 DD B6 03 28 1E -R 00 00 01 00 -T 37 01 00 00 -R 00 00 01 00 -T 37 01 00 00 21 B6 01 E5 DD 6E FA DD 66 FB E5 -R 00 00 01 00 -T 42 01 00 00 DD 6E 02 DD 66 03 E5 CD -R 00 00 01 00 -T 4A 01 00 00 00 00 00 00 F1 F1 F1 DD 75 04 DD -R 00 00 01 00 02 04 09 00 -T 53 01 00 00 74 05 -R 00 00 01 00 -T 55 01 00 00 -R 00 00 01 00 -T 55 01 00 00 DD CB 05 7E 28 3A -R 00 00 01 00 -T 5B 01 00 00 -R 00 00 01 00 -T 5B 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 03 00 -T 64 01 00 00 23 66 68 DD 75 FA DD 74 FB DD 7E -R 00 00 01 00 -T 6F 01 00 00 FE DD B6 FF 28 09 -R 00 00 01 00 -T 75 01 00 00 -R 00 00 01 00 -T 75 01 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 7E 01 00 00 -R 00 00 01 00 -T 7E 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 DD -R 00 00 01 00 02 09 03 00 -T 87 01 00 00 4E FA DD 46 FB 71 23 70 21 00 00 -R 00 00 01 00 -T 92 01 00 00 C3 A9 02 00 00 -R 00 00 01 00 00 05 01 00 -T 95 01 00 00 -R 00 00 01 00 -T 95 01 00 00 DD 7E 08 DD B6 09 C2 5D 02 00 00 -R 00 00 01 00 00 0B 01 00 -T 9E 01 00 00 -R 00 00 01 00 -T 9E 01 00 00 DD 6E FE DD 66 FF DD 75 08 DD 74 -R 00 00 01 00 -T A9 01 00 00 09 01 16 00 09 ED 4B 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T B2 01 00 00 71 23 70 DD 6E 08 DD 66 09 22 -R 00 00 01 00 -T BC 01 00 00 00 00 00 00 21 0C 00 DD 4E 08 DD -R 00 00 01 00 02 04 08 00 -T C5 01 00 00 46 09 09 36 08 23 36 00 DD 5E 04 -R 00 00 01 00 -T D0 01 00 00 DD 56 05 CD 00 00 00 00 7D B4 28 -R 00 00 01 00 02 08 02 00 -T D9 01 00 00 13 -R 00 00 01 00 -T DA 01 00 00 -R 00 00 01 00 -T DA 01 00 00 21 0C 00 DD 4E 08 DD 46 09 09 7E -R 00 00 01 00 -T E5 01 00 00 F6 01 77 23 7E F6 00 77 -R 00 00 01 00 -T ED 01 00 00 -R 00 00 01 00 -T ED 01 00 00 21 06 00 DD 4E 08 DD 46 09 09 E5 -R 00 00 01 00 -T F8 01 00 00 01 00 02 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 07 00 -T 01 02 00 00 4D 44 E1 71 23 70 79 B0 20 29 -R 00 00 01 00 -T 0B 02 00 00 -R 00 00 01 00 -T 0B 02 00 00 21 06 00 DD 4E 08 DD 46 09 09 E5 -R 00 00 01 00 -T 16 02 00 00 21 0E 00 09 EB E1 73 23 72 21 -R 00 00 01 00 -T 20 02 00 00 08 00 09 E5 21 0E 00 09 01 08 00 -R 00 00 01 00 -T 2B 02 00 00 09 4D 44 E1 71 23 70 18 29 -R 00 00 01 00 -T 34 02 00 00 -R 00 00 01 00 -T 34 02 00 00 21 08 00 DD 4E 08 DD 46 09 09 E5 -R 00 00 01 00 -T 3F 02 00 00 21 06 00 09 56 23 66 6A 3E 02 84 -R 00 00 01 00 -T 4A 02 00 00 67 EB E1 73 23 72 21 0C 00 09 7E -R 00 00 01 00 -T 55 02 00 00 F6 04 77 23 7E F6 00 77 -R 00 00 01 00 -T 5D 02 00 00 -R 00 00 01 00 -T 5D 02 00 00 -R 00 00 01 00 -T 5D 02 00 00 DD 6E 08 DD 66 09 23 23 E5 21 -R 00 00 01 00 -T 67 02 00 00 04 00 DD 4E 08 DD 46 09 09 E5 21 -R 00 00 01 00 -T 72 02 00 00 06 00 09 5E 23 56 E1 73 23 72 E1 -R 00 00 01 00 -T 7D 02 00 00 73 23 72 69 60 73 23 72 21 0C 00 -R 00 00 01 00 -T 88 02 00 00 DD 4E 08 DD 46 09 09 7E DD B6 FC -R 00 00 01 00 -T 93 02 00 00 77 23 7E DD B6 FD 77 21 0A 00 09 -R 00 00 01 00 -T 9E 02 00 00 DD 5E 04 DD 56 05 73 23 72 69 60 -R 00 00 01 00 -T A9 02 00 00 -R 00 00 01 00 -T A9 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/crt_large_lib/fprintf.rel b/src/nos/lib/crt_large_lib/fprintf.rel deleted file mode 100644 index 2fcc6df7..00000000 --- a/src/nos/lib/crt_large_lib/fprintf.rel +++ /dev/null @@ -1,25 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ___fputter Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___vprinter Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 32 flags 0 -S _fprintf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 0E 00 39 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 01 02 00 09 DD 75 FC DD 74 FD E5 -R 00 00 01 00 -T 14 00 00 00 DD 6E 0A DD 66 0B E5 DD 4E 08 DD -R 00 00 01 00 -T 1F 00 00 00 46 09 11 00 00 00 00 CD -R 00 00 01 00 02 07 01 00 -T 25 00 00 00 00 00 00 00 F1 F1 DD 75 FE DD 74 -R 00 00 01 00 02 04 05 00 -T 2E 00 00 00 FF C3 00 00 00 00 -R 00 00 01 00 02 06 02 00 diff --git a/src/nos/lib/crt_large_lib/fputc.rel b/src/nos/lib/crt_large_lib/fputc.rel deleted file mode 100644 index bcb09949..00000000 --- a/src/nos/lib/crt_large_lib/fputc.rel +++ /dev/null @@ -1,121 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _fflush Ref00000000 -S ___stdio_init_vars Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size FE flags 0 -S _fputc Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF CD -R 00 00 01 00 02 05 05 00 -T 06 00 00 00 00 00 00 00 21 0C 00 09 46 23 66 -R 00 00 01 00 02 04 02 00 -T 0F 00 00 00 68 DD 75 FE DD 74 FF 7D E6 40 28 -R 00 00 01 00 -T 1A 00 00 00 13 DD 5E 04 DD 56 05 CD -R 00 00 01 00 -T 22 00 00 00 00 00 00 00 7D B4 28 06 -R 00 00 01 00 02 04 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 21 FF FF C3 FB 00 00 00 -R 00 00 01 00 00 08 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 DD 7E FE E6 20 6F DD 7E FF E6 03 -R 00 00 01 00 -T 39 00 00 00 67 3E 20 AD B4 28 06 -R 00 00 01 00 -T 40 00 00 00 -R 00 00 01 00 -T 40 00 00 00 21 FF FF C3 FB 00 00 00 -R 00 00 01 00 00 08 01 00 -T 46 00 00 00 -R 00 00 01 00 -T 46 00 00 00 21 08 00 DD 4E 04 DD 46 05 09 5E -R 00 00 01 00 -T 51 00 00 00 23 56 0A 6F 03 0A 67 A7 ED 52 38 -R 00 00 01 00 -T 5C 00 00 00 13 DD 5E 04 DD 56 05 CD -R 00 00 01 00 -T 64 00 00 00 00 00 00 00 7D B4 28 06 -R 00 00 01 00 02 04 01 00 -T 6A 00 00 00 -R 00 00 01 00 -T 6A 00 00 00 -R 00 00 01 00 -T 6A 00 00 00 -R 00 00 01 00 -T 6A 00 00 00 21 FF FF C3 FB 00 00 00 -R 00 00 01 00 00 08 01 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 DD 6E 04 DD 66 05 4E 23 46 03 70 -R 00 00 01 00 -T 7B 00 00 00 2B 71 0B 69 60 DD 46 02 70 21 -R 00 00 01 00 -T 85 00 00 00 0C 00 DD 4E 04 DD 46 05 09 7E F6 -R 00 00 01 00 -T 90 00 00 00 80 77 23 7E F6 00 77 3E 0A DD AE -R 00 00 01 00 -T 9B 00 00 00 02 DD B6 03 20 07 DD 7E FE E6 01 -R 00 00 01 00 -T A6 00 00 00 20 07 -R 00 00 01 00 -T A8 00 00 00 -R 00 00 01 00 -T A8 00 00 00 -R 00 00 01 00 -T A8 00 00 00 DD 7E FE E6 02 28 12 -R 00 00 01 00 -T AF 00 00 00 -R 00 00 01 00 -T AF 00 00 00 -R 00 00 01 00 -T AF 00 00 00 DD 5E 04 DD 56 05 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T B8 00 00 00 7D B4 28 05 -R 00 00 01 00 -T BC 00 00 00 -R 00 00 01 00 -T BC 00 00 00 -R 00 00 01 00 -T BC 00 00 00 -R 00 00 01 00 -T BC 00 00 00 21 FF FF 18 3A -R 00 00 01 00 -T C1 00 00 00 -R 00 00 01 00 -T C1 00 00 00 DD 7E FE E6 03 28 18 -R 00 00 01 00 -T C8 00 00 00 -R 00 00 01 00 -T C8 00 00 00 21 04 00 DD 4E 04 DD 46 05 09 E5 -R 00 00 01 00 -T D3 00 00 00 21 06 00 09 4E 23 46 E1 71 23 70 -R 00 00 01 00 -T DE 00 00 00 18 16 -R 00 00 01 00 -T E0 00 00 00 -R 00 00 01 00 -T E0 00 00 00 21 04 00 DD 4E 04 DD 46 05 09 E5 -R 00 00 01 00 -T EB 00 00 00 21 08 00 09 4E 23 46 E1 71 23 70 -R 00 00 01 00 -T F6 00 00 00 -R 00 00 01 00 -T F6 00 00 00 DD 6E 02 26 00 -R 00 00 01 00 -T FB 00 00 00 -R 00 00 01 00 -T FB 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/crt_large_lib/fputs.rel b/src/nos/lib/crt_large_lib/fputs.rel deleted file mode 100644 index f267b1d6..00000000 --- a/src/nos/lib/crt_large_lib/fputs.rel +++ /dev/null @@ -1,50 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _fputc Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 59 flags 0 -S _fputs Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF AF DD 77 FC -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 DD 77 FD DD 6E 02 DD 66 03 DD 75 -R 00 00 01 00 -T 14 00 00 00 FE DD 74 FF -R 00 00 01 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 DD 6E FE DD 66 FF AF B6 28 2E -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 -R 00 00 01 00 -T 2D 00 00 00 FF 23 DD 75 FE DD 74 FF 2B 5E 16 -R 00 00 01 00 -T 38 00 00 00 00 CD 00 00 00 00 7D A4 3C 20 05 -R 00 00 01 00 02 06 03 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 21 FF FF 18 10 -R 00 00 01 00 -T 46 00 00 00 -R 00 00 01 00 -T 46 00 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 4E 00 00 00 -R 00 00 01 00 -T 4E 00 00 00 18 C8 -R 00 00 01 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 -T 56 00 00 00 -R 00 00 01 00 -T 56 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/crt_large_lib/fputter.rel b/src/nos/lib/crt_large_lib/fputter.rel deleted file mode 100644 index 60b3a43d..00000000 --- a/src/nos/lib/crt_large_lib/fputter.rel +++ /dev/null @@ -1,85 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _fflush Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _fputc Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size D8 flags 0 -S ___fputter Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF 21 0C 00 DD -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 5E 08 DD 56 09 19 7E E6 03 4F 23 -R 00 00 01 00 -T 14 00 00 00 7E E6 00 47 DD 71 FD DD 70 FE 21 -R 00 00 01 00 -T 1F 00 00 00 0C 00 19 7E E6 FC 77 23 7E E6 FF -R 00 00 01 00 -T 2A 00 00 00 77 AF DD 77 FA DD 77 FB -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 DD 4E 04 DD 46 05 DD 6E FA DD 66 -R 00 00 01 00 -T 3D 00 00 00 FB A7 ED 42 30 44 -R 00 00 01 00 -T 43 00 00 00 -R 00 00 01 00 -T 43 00 00 00 DD 6E 02 DD 66 03 46 DD 70 FC DD -R 00 00 01 00 -T 4E 00 00 00 4E 08 DD 46 09 DD 5E FC 16 00 CD -R 00 00 01 00 -T 59 00 00 00 00 00 00 00 DD 7E FC FE 0A 20 13 -R 00 00 01 00 02 04 04 00 -T 62 00 00 00 3E 01 DD AE FD DD B6 FE 20 09 -R 00 00 01 00 -T 6C 00 00 00 -R 00 00 01 00 -T 6C 00 00 00 -R 00 00 01 00 -T 6C 00 00 00 -R 00 00 01 00 -T 6C 00 00 00 DD 5E 08 DD 56 09 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 75 00 00 00 -R 00 00 01 00 -T 75 00 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T 7D 00 00 00 -R 00 00 01 00 -T 7D 00 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 85 00 00 00 -R 00 00 01 00 -T 85 00 00 00 18 AB -R 00 00 01 00 -T 87 00 00 00 -R 00 00 01 00 -T 87 00 00 00 21 0C 00 DD 4E 08 DD 46 09 09 7E -R 00 00 01 00 -T 92 00 00 00 DD B6 FD 77 23 7E DD B6 FE 77 3E -R 00 00 01 00 -T 9D 00 00 00 02 DD AE FD DD B6 FE 20 09 -R 00 00 01 00 -T A6 00 00 00 -R 00 00 01 00 -T A6 00 00 00 DD 5E 08 DD 56 09 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T AF 00 00 00 -R 00 00 01 00 -T AF 00 00 00 3E 01 DD AE FD DD B6 FE 20 16 -R 00 00 01 00 -T B9 00 00 00 -R 00 00 01 00 -T B9 00 00 00 21 04 00 DD 4E 08 DD 46 09 09 E5 -R 00 00 01 00 -T C4 00 00 00 21 06 00 09 4E 23 46 E1 71 23 70 -R 00 00 01 00 -T CF 00 00 00 -R 00 00 01 00 -T CF 00 00 00 DD 6E FA DD 66 FB C3 00 00 00 00 -R 00 00 01 00 02 0B 02 00 diff --git a/src/nos/lib/crt_large_lib/fread.rel b/src/nos/lib/crt_large_lib/fread.rel deleted file mode 100644 index bfd434f4..00000000 --- a/src/nos/lib/crt_large_lib/fread.rel +++ /dev/null @@ -1,146 +0,0 @@ -XL4 -H 2 areas C global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _fflush Ref00000000 -S _memcpy Ref00000000 -S ___stdio_init_vars Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?US_DIV_L02 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 195 flags 0 -S _fread Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF AF DD 77 FE -R 00 00 01 00 02 05 07 00 -T 09 00 00 00 DD 77 FF CD 00 00 00 00 DD 7E 02 -R 00 00 01 00 02 08 03 00 -T 12 00 00 00 DD B6 03 28 18 DD 7E 04 DD B6 05 -R 00 00 01 00 -T 1D 00 00 00 28 10 DD 7E 08 DD B6 09 28 08 DD -R 00 00 01 00 -T 28 00 00 00 7E 0A DD B6 0B 20 06 -R 00 00 01 00 -T 2F 00 00 00 -R 00 00 01 00 -T 2F 00 00 00 -R 00 00 01 00 -T 2F 00 00 00 -R 00 00 01 00 -T 2F 00 00 00 21 00 00 C3 92 01 00 00 -R 00 00 01 00 00 08 01 00 -T 35 00 00 00 -R 00 00 01 00 -T 35 00 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 46 -R 00 00 01 00 -T 40 00 00 00 23 66 68 DD 75 FA DD 74 FB 7D E6 -R 00 00 01 00 -T 4B 00 00 00 80 28 09 -R 00 00 01 00 -T 4E 00 00 00 -R 00 00 01 00 -T 4E 00 00 00 DD 5E 0A DD 56 0B CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 DD 7E FA E6 10 6F DD 7E FB E6 03 -R 00 00 01 00 -T 62 00 00 00 67 3E 10 AD B4 28 06 -R 00 00 01 00 -T 69 00 00 00 -R 00 00 01 00 -T 69 00 00 00 21 00 00 C3 92 01 00 00 -R 00 00 01 00 00 08 01 00 -T 6F 00 00 00 -R 00 00 01 00 -T 6F 00 00 00 DD 4E 08 DD 46 09 DD 5E 04 DD 56 -R 00 00 01 00 -T 7A 00 00 00 05 CD 00 00 00 00 DD 73 FC DD 72 -R 00 00 01 00 02 06 08 00 -T 83 00 00 00 FD DD 6E 0A DD 66 0B 4E 23 46 DD -R 00 00 01 00 -T 8E 00 00 00 6E 0A DD 66 0B 23 23 7E 23 66 6F -R 00 00 01 00 -T 99 00 00 00 A7 ED 42 DD 75 F8 DD 74 F9 A7 ED -R 00 00 01 00 -T A4 00 00 00 52 38 34 -R 00 00 01 00 -T A7 00 00 00 -R 00 00 01 00 -T A7 00 00 00 DD 6E FC DD 66 FD E5 DD 6E 0A DD -R 00 00 01 00 -T B2 00 00 00 66 0B 4E 23 46 DD 5E 02 DD 56 03 -R 00 00 01 00 -T BD 00 00 00 CD 00 00 00 00 F1 DD 6E 0A DD 66 -R 00 00 01 00 02 05 02 00 -T C6 00 00 00 0B 7E DD 86 FC 77 23 7E DD 8E FD -R 00 00 01 00 -T D1 00 00 00 77 DD 6E FC DD 66 FD C3 -R 00 00 01 00 -T D9 00 00 00 92 01 00 00 -R 00 00 01 00 00 04 01 00 -T DB 00 00 00 -R 00 00 01 00 -T DB 00 00 00 DD 4E F8 DD 46 F9 21 00 00 CD -R 00 00 01 00 -T E5 00 00 00 00 00 00 00 30 26 -R 00 00 01 00 02 04 09 00 -T E9 00 00 00 -R 00 00 01 00 -T E9 00 00 00 DD 6E F8 DD 66 F9 E5 DD 6E 0A DD -R 00 00 01 00 -T F4 00 00 00 66 0B 4E 23 46 DD 5E 02 DD 56 03 -R 00 00 01 00 -T FF 00 00 00 CD 00 00 00 00 F1 DD 6E F8 DD 66 -R 00 00 01 00 02 05 02 00 -T 08 01 00 00 F9 DD 75 FE DD 74 FF -R 00 00 01 00 -T 0F 01 00 00 -R 00 00 01 00 -T 0F 01 00 00 DD 4E FE DD 46 FF DD 6E FC DD 66 -R 00 00 01 00 -T 1A 01 00 00 FD A7 ED 42 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 25 01 00 00 09 4D 44 21 0A 00 DD 5E 0A DD 56 -R 00 00 01 00 -T 30 01 00 00 0B 19 5E 23 56 CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 05 00 -T 39 01 00 00 DD 75 F8 DD 74 F9 CB 7C 28 1C -R 00 00 01 00 -T 43 01 00 00 -R 00 00 01 00 -T 43 01 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 7E -R 00 00 01 00 -T 4E 01 00 00 F6 00 77 23 7E F6 02 77 AF DD 77 -R 00 00 01 00 -T 59 01 00 00 F8 DD 77 F9 18 1B -R 00 00 01 00 -T 5F 01 00 00 -R 00 00 01 00 -T 5F 01 00 00 DD 7E F8 DD B6 F9 20 13 -R 00 00 01 00 -T 67 01 00 00 -R 00 00 01 00 -T 67 01 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 7E -R 00 00 01 00 -T 72 01 00 00 F6 00 77 23 7E F6 01 77 -R 00 00 01 00 -T 7A 01 00 00 -R 00 00 01 00 -T 7A 01 00 00 -R 00 00 01 00 -T 7A 01 00 00 DD 6E F8 DD 66 F9 DD 4E FE DD 46 -R 00 00 01 00 -T 85 01 00 00 FF 09 EB DD 4E 04 DD 46 05 CD -R 00 00 01 00 -T 8F 01 00 00 00 00 00 00 EB -R 00 00 01 00 02 04 0A 00 -T 92 01 00 00 -R 00 00 01 00 -T 92 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/crt_large_lib/free.rel b/src/nos/lib/crt_large_lib/free.rel deleted file mode 100644 index 7c693136..00000000 --- a/src/nos/lib/crt_large_lib/free.rel +++ /dev/null @@ -1,88 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ___malloc_last Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size DA flags 0 -S _free Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 FC FF DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 4E 02 DD 46 03 09 DD 75 FE DD 74 -R 00 00 01 00 -T 14 00 00 00 FF 23 23 7E 23 B6 28 03 -R 00 00 01 00 -T 1C 00 00 00 -R 00 00 01 00 -T 1C 00 00 00 C3 D7 00 00 00 -R 00 00 01 00 00 05 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 2A 00 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 02 05 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 DD 4E FC DD 46 FD DD 6E FE DD 66 -R 00 00 01 00 -T 33 00 00 00 FF A7 ED 42 38 17 DD 6E FC DD 66 -R 00 00 01 00 -T 3E 00 00 00 FD 23 23 46 23 66 68 DD 4E FE DD -R 00 00 01 00 -T 49 00 00 00 46 FF A7 ED 42 30 53 -R 00 00 01 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 DD 6E FC DD 66 FD 23 23 4E 23 46 -R 00 00 01 00 -T 5B 00 00 00 DD 6E FC DD 66 FD A7 ED 42 38 29 -R 00 00 01 00 -T 66 00 00 00 DD 4E FE DD 46 FF DD 6E FC DD 66 -R 00 00 01 00 -T 71 00 00 00 FD A7 ED 42 38 16 DD 6E FC DD 66 -R 00 00 01 00 -T 7C 00 00 00 FD 23 23 4E 23 46 DD 6E FE DD 66 -R 00 00 01 00 -T 87 00 00 00 FF A7 ED 42 30 02 -R 00 00 01 00 -T 8D 00 00 00 -R 00 00 01 00 -T 8D 00 00 00 -R 00 00 01 00 -T 8D 00 00 00 -R 00 00 01 00 -T 8D 00 00 00 -R 00 00 01 00 -T 8D 00 00 00 -R 00 00 01 00 -T 8D 00 00 00 18 14 -R 00 00 01 00 -T 8F 00 00 00 -R 00 00 01 00 -T 8F 00 00 00 DD 6E FC DD 66 FD 23 23 46 23 66 -R 00 00 01 00 -T 9A 00 00 00 68 DD 75 FC DD 74 FD 18 85 -R 00 00 01 00 -T A3 00 00 00 -R 00 00 01 00 -T A3 00 00 00 DD 6E FE DD 66 FF 23 23 E5 DD 4E -R 00 00 01 00 -T AE 00 00 00 FC DD 46 FD 03 03 69 60 4E 23 46 -R 00 00 01 00 -T B9 00 00 00 E1 71 23 70 DD 6E FC DD 66 FD 23 -R 00 00 01 00 -T C4 00 00 00 23 DD 4E FE DD 46 FF 71 23 70 DD -R 00 00 01 00 -T CF 00 00 00 6E FC DD 66 FD 22 00 00 00 00 -R 00 00 01 00 02 0A 01 00 -T D7 00 00 00 -R 00 00 01 00 -T D7 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/crt_large_lib/fscanf.rel b/src/nos/lib/crt_large_lib/fscanf.rel deleted file mode 100644 index f6bd297d..00000000 --- a/src/nos/lib/crt_large_lib/fscanf.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _vfscanf Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2D flags 0 -S _fscanf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 0E 00 39 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 01 02 00 09 DD 75 FC DD 74 FD E5 -R 00 00 01 00 -T 14 00 00 00 DD 4E 0A DD 46 0B DD 5E 08 DD 56 -R 00 00 01 00 -T 1F 00 00 00 09 CD 00 00 00 00 F1 DD 75 FE DD -R 00 00 01 00 02 06 03 00 -T 28 00 00 00 74 FF C3 00 00 00 00 -R 00 00 01 00 02 07 01 00 diff --git a/src/nos/lib/crt_large_lib/ftell.rel b/src/nos/lib/crt_large_lib/ftell.rel deleted file mode 100644 index f3b80707..00000000 --- a/src/nos/lib/crt_large_lib/ftell.rel +++ /dev/null @@ -1,33 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_32_L09 Ref00000000 -S _fflush Ref00000000 -S _lseek Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 35 flags 0 -S _ftell Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 05 00 02 0A 02 00 -T 07 00 00 00 A4 3C 20 08 -R 00 00 01 00 -T 0B 00 00 00 -R 00 00 01 00 -T 0B 00 00 00 01 FF FF 21 FF FF 18 1F -R 00 00 01 00 -T 13 00 00 00 -R 00 00 01 00 -T 13 00 00 00 21 01 00 E5 21 00 00 E5 21 00 00 -R 00 00 01 00 -T 1E 00 00 00 E5 21 0A 00 DD 4E 02 DD 46 03 09 -R 00 00 01 00 -T 29 00 00 00 5E 23 56 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 08 03 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/crt_large_lib/fwrite.rel b/src/nos/lib/crt_large_lib/fwrite.rel deleted file mode 100644 index 03a87cec..00000000 --- a/src/nos/lib/crt_large_lib/fwrite.rel +++ /dev/null @@ -1,187 +0,0 @@ -XL4 -H 2 areas D global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _fflush Ref00000000 -S _memcpy Ref00000000 -S ___stdio_init_vars Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S _write Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?US_DIV_L02 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 204 flags 0 -S _fwrite Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF CD -R 00 00 01 00 02 05 08 00 -T 06 00 00 00 00 00 00 00 DD 7E 02 DD B6 03 28 -R 00 00 01 00 02 04 03 00 -T 0F 00 00 00 18 DD 7E 04 DD B6 05 28 10 DD 7E -R 00 00 01 00 -T 1A 00 00 00 08 DD B6 09 28 08 DD 7E 0A DD B6 -R 00 00 01 00 -T 25 00 00 00 0B 20 06 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 21 00 00 C3 01 02 00 00 -R 00 00 01 00 00 08 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 46 -R 00 00 01 00 -T 39 00 00 00 23 66 68 DD 75 FA DD 74 FB 7D E6 -R 00 00 01 00 -T 44 00 00 00 40 28 13 DD 5E 0A DD 56 0B CD -R 00 00 01 00 -T 4E 00 00 00 00 00 00 00 7D B4 28 06 -R 00 00 01 00 02 04 01 00 -T 54 00 00 00 -R 00 00 01 00 -T 54 00 00 00 -R 00 00 01 00 -T 54 00 00 00 -R 00 00 01 00 -T 54 00 00 00 21 00 00 C3 01 02 00 00 -R 00 00 01 00 00 08 01 00 -T 5A 00 00 00 -R 00 00 01 00 -T 5A 00 00 00 DD 7E FA E6 20 6F DD 7E FB E6 03 -R 00 00 01 00 -T 65 00 00 00 67 3E 20 AD B4 28 06 -R 00 00 01 00 -T 6C 00 00 00 -R 00 00 01 00 -T 6C 00 00 00 21 00 00 C3 01 02 00 00 -R 00 00 01 00 00 08 01 00 -T 72 00 00 00 -R 00 00 01 00 -T 72 00 00 00 DD 4E 08 DD 46 09 DD 5E 04 DD 56 -R 00 00 01 00 -T 7D 00 00 00 05 CD 00 00 00 00 DD 73 FC DD 72 -R 00 00 01 00 02 06 09 00 -T 86 00 00 00 FD DD 6E 0A DD 66 0B 4E 23 46 21 -R 00 00 01 00 -T 91 00 00 00 08 00 DD 5E 0A DD 56 0B 19 56 23 -R 00 00 01 00 -T 9C 00 00 00 66 6A A7 ED 42 DD 75 F8 DD 74 F9 -R 00 00 01 00 -T A7 00 00 00 DD 4E FC DD 46 FD A7 ED 42 30 13 -R 00 00 01 00 -T B2 00 00 00 DD 5E 0A DD 56 0B CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T BB 00 00 00 7D B4 28 06 -R 00 00 01 00 -T BF 00 00 00 -R 00 00 01 00 -T BF 00 00 00 -R 00 00 01 00 -T BF 00 00 00 -R 00 00 01 00 -T BF 00 00 00 21 00 00 C3 01 02 00 00 -R 00 00 01 00 00 08 01 00 -T C5 00 00 00 -R 00 00 01 00 -T C5 00 00 00 DD 6E 0A DD 66 0B 4E 23 46 21 -R 00 00 01 00 -T CF 00 00 00 08 00 DD 5E 0A DD 56 0B 19 56 23 -R 00 00 01 00 -T DA 00 00 00 66 6A A7 ED 42 DD 75 F8 DD 74 F9 -R 00 00 01 00 -T E5 00 00 00 DD 4E FC DD 46 FD A7 ED 42 38 57 -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 7E -R 00 00 01 00 -T FB 00 00 00 F6 80 77 23 7E F6 00 77 DD 6E FC -R 00 00 01 00 -T 06 01 00 00 DD 66 FD E5 DD 4E 02 DD 46 03 DD -R 00 00 01 00 -T 11 01 00 00 6E 0A DD 66 0B 5E 23 56 CD -R 00 00 01 00 -T 1A 01 00 00 00 00 00 00 F1 DD 6E 0A DD 66 0B -R 00 00 01 00 02 04 02 00 -T 23 01 00 00 7E DD 86 FC 77 23 7E DD 8E FD 77 -R 00 00 01 00 -T 2E 01 00 00 DD 7E FA E6 03 28 09 -R 00 00 01 00 -T 35 01 00 00 -R 00 00 01 00 -T 35 01 00 00 DD 5E 0A DD 56 0B CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 3E 01 00 00 -R 00 00 01 00 -T 3E 01 00 00 DD 6E 08 DD 66 09 C3 01 02 00 00 -R 00 00 01 00 00 0B 01 00 -T 47 01 00 00 -R 00 00 01 00 -T 47 01 00 00 DD 6E FC DD 66 FD DD 75 FE DD 74 -R 00 00 01 00 -T 52 01 00 00 FF -R 00 00 01 00 -T 53 01 00 00 -R 00 00 01 00 -T 53 01 00 00 DD 6E FC DD 66 FD E5 DD 4E 02 DD -R 00 00 01 00 -T 5E 01 00 00 46 03 21 0A 00 DD 5E 0A DD 56 0B -R 00 00 01 00 -T 69 01 00 00 19 5E 23 56 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 09 07 00 -T 72 01 00 00 75 F8 DD 74 F9 4D 44 21 00 00 CD -R 00 00 01 00 -T 7D 01 00 00 00 00 00 00 30 22 -R 00 00 01 00 02 04 0A 00 -T 81 01 00 00 -R 00 00 01 00 -T 81 01 00 00 DD 6E F8 DD 66 F9 DD 4E 02 DD 46 -R 00 00 01 00 -T 8C 01 00 00 03 09 DD 75 02 DD 74 03 21 04 00 -R 00 00 01 00 -T 97 01 00 00 39 7E DD 96 F8 77 23 7E DD 9E F9 -R 00 00 01 00 -T A2 01 00 00 77 -R 00 00 01 00 -T A3 01 00 00 -R 00 00 01 00 -T A3 01 00 00 DD 4E F8 DD 46 F9 21 00 00 CD -R 00 00 01 00 -T AD 01 00 00 00 00 00 00 38 A2 DD 7E F8 DD A6 -R 00 00 01 00 02 04 0A 00 -T B6 01 00 00 F9 3C 20 0F 21 4B 00 ED 4B -R 00 00 01 00 -T BF 01 00 00 00 00 00 00 09 3E 04 AE 23 B6 28 -R 00 00 01 00 02 04 05 00 -T C8 01 00 00 8A -R 00 00 01 00 -T C9 01 00 00 -R 00 00 01 00 -T C9 01 00 00 DD CB F9 7E 28 13 -R 00 00 01 00 -T CF 01 00 00 -R 00 00 01 00 -T CF 01 00 00 21 0C 00 DD 4E 0A DD 46 0B 09 7E -R 00 00 01 00 -T DA 01 00 00 F6 00 77 23 7E F6 02 77 -R 00 00 01 00 -T E2 01 00 00 -R 00 00 01 00 -T E2 01 00 00 21 06 00 39 7E DD 96 FC 77 23 7E -R 00 00 01 00 -T ED 01 00 00 DD 9E FD 77 DD 4E 04 DD 46 05 DD -R 00 00 01 00 -T F8 01 00 00 5E FE DD 56 FF CD 00 00 00 00 EB -R 00 00 01 00 02 0A 0B 00 -T 01 02 00 00 -R 00 00 01 00 -T 01 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/crt_large_lib/getcwd.rel b/src/nos/lib/crt_large_lib/getcwd.rel deleted file mode 100644 index 44b91a4a..00000000 --- a/src/nos/lib/crt_large_lib/getcwd.rel +++ /dev/null @@ -1,319 +0,0 @@ -XL4 -H 4 areas 11 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _strcat Ref00000000 -S _closedir Ref00000000 -S _strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _readdir Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S _root_dev Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _strcpy Ref00000000 -S _root_ino Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S _opendir Ref00000000 -S _stat Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 275 flags 0 -S _getcwd Def0000021B -A CSTR size 8 flags 0 -A UDATA0 size 22 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF DD 36 FE 00 -R 00 00 01 00 02 05 0C 00 -T 09 00 00 00 01 04 00 00 00 ED 5B 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 10 00 00 00 CD 00 00 00 00 CB 7C 28 06 -R 00 00 01 00 02 05 0F 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 21 00 00 C3 77 01 00 00 -R 00 00 01 00 00 08 01 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 2A 04 00 00 00 DD 4E 02 DD 46 03 -R 00 00 01 00 00 05 03 00 -T 26 00 00 00 A7 ED 42 28 03 -R 00 00 01 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 DD 34 FE -R 00 00 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 03 00 -T 35 00 00 00 DD 75 FA DD 74 FB 2B ED 4B -R 00 00 01 00 -T 3E 00 00 00 00 00 00 00 09 DD 75 F8 DD 74 F9 -R 00 00 01 00 00 04 03 00 -T 47 00 00 00 7E FE 2F 28 3E -R 00 00 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 DD 4E FA DD 46 FB 03 03 2A -R 00 00 01 00 -T 55 00 00 00 02 00 00 00 CD 00 00 00 00 30 13 -R 00 00 01 00 00 04 03 00 02 09 0D 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 06 00 -T 65 00 00 00 22 23 36 00 21 00 00 C3 -R 00 00 01 00 -T 6D 00 00 00 77 01 00 00 -R 00 00 01 00 00 04 01 00 -T 6F 00 00 00 -R 00 00 01 00 -T 6F 00 00 00 01 00 00 00 00 DD 5E F8 DD 56 F9 -R 00 00 01 00 00 05 02 00 -T 78 00 00 00 13 DD 73 F8 DD 72 F9 CD -R 00 00 01 00 -T 80 00 00 00 00 00 00 00 DD 34 FA 20 03 DD 34 -R 00 00 01 00 02 04 0A 00 -T 89 00 00 00 FB -R 00 00 01 00 -T 8A 00 00 00 -R 00 00 01 00 -T 8A 00 00 00 -R 00 00 01 00 -T 8A 00 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 0E 00 -T 99 00 00 00 DD 75 FC DD 74 FD 7D B4 20 06 -R 00 00 01 00 -T A3 00 00 00 -R 00 00 01 00 -T A3 00 00 00 21 00 00 C3 77 01 00 00 -R 00 00 01 00 00 08 01 00 -T A9 00 00 00 -R 00 00 01 00 -T A9 00 00 00 -R 00 00 01 00 -T A9 00 00 00 DD 5E FC DD 56 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T B2 00 00 00 DD 75 F6 DD 74 F7 7D B4 CA -R 00 00 01 00 -T BB 00 00 00 5E 01 00 00 -R 00 00 01 00 00 04 01 00 -T BD 00 00 00 -R 00 00 01 00 -T BD 00 00 00 AF DD B6 FE 20 16 DD 6E F6 DD 66 -R 00 00 01 00 -T C8 00 00 00 F7 46 23 66 68 DD 4E 04 DD 46 05 -R 00 00 01 00 -T D3 00 00 00 A7 ED 42 C2 5B 01 00 00 -R 00 00 01 00 00 08 01 00 -T D9 00 00 00 -R 00 00 01 00 -T D9 00 00 00 -R 00 00 01 00 -T D9 00 00 00 -R 00 00 01 00 -T D9 00 00 00 21 06 00 DD 4E F6 DD 46 F7 09 EB -R 00 00 01 00 -T E4 00 00 00 CD 00 00 00 00 DD 4E FA DD 46 FB -R 00 00 01 00 02 05 03 00 -T ED 00 00 00 09 4D 44 2A 02 00 00 00 A7 ED 42 -R 00 00 01 00 00 08 03 00 -T F6 00 00 00 30 12 -R 00 00 01 00 -T F8 00 00 00 -R 00 00 01 00 -T F8 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 06 00 -T 01 01 00 00 22 23 36 00 21 00 00 18 6D -R 00 00 01 00 -T 0A 01 00 00 -R 00 00 01 00 -T 0A 01 00 00 21 06 00 DD 4E F6 DD 46 F7 09 4D -R 00 00 01 00 -T 15 01 00 00 44 DD 5E F8 DD 56 F9 13 CD -R 00 00 01 00 -T 1E 01 00 00 00 00 00 00 01 04 00 00 00 ED 5B -R 00 00 01 00 02 04 0A 00 00 09 03 00 -T 25 01 00 00 00 00 00 00 CD 00 00 00 00 CB 7C -R 00 00 01 00 00 04 03 00 02 09 0F 00 -T 2C 01 00 00 28 03 -R 00 00 01 00 -T 2E 01 00 00 -R 00 00 01 00 -T 2E 01 00 00 C3 A9 00 00 00 -R 00 00 01 00 00 05 01 00 -T 31 01 00 00 -R 00 00 01 00 -T 31 01 00 00 2A 06 00 00 00 DD 4E 04 DD 46 05 -R 00 00 01 00 00 05 03 00 -T 3A 01 00 00 A7 ED 42 20 1C 2A 04 00 00 00 DD -R 00 00 01 00 00 0A 03 00 -T 43 01 00 00 4E 02 DD 46 03 A7 ED 42 20 0E -R 00 00 01 00 -T 4D 01 00 00 -R 00 00 01 00 -T 4D 01 00 00 -R 00 00 01 00 -T 4D 01 00 00 -R 00 00 01 00 -T 4D 01 00 00 DD 5E FC DD 56 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 56 01 00 00 2A 00 00 00 00 18 1C -R 00 00 01 00 00 05 03 00 -T 5B 01 00 00 -R 00 00 01 00 -T 5B 01 00 00 -R 00 00 01 00 -T 5B 01 00 00 C3 A9 00 00 00 -R 00 00 01 00 00 05 01 00 -T 5E 01 00 00 -R 00 00 01 00 -T 5E 01 00 00 DD 5E FC DD 56 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 67 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 06 00 -T 70 01 00 00 02 23 36 00 21 00 00 -R 00 00 01 00 -T 77 01 00 00 -R 00 00 01 00 -T 77 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 7A 01 00 00 -R 00 00 01 00 -T 7A 01 00 00 CD 00 00 00 00 FC FF 01 -R 00 00 01 00 02 05 0C 00 -T 80 01 00 00 04 00 00 00 ED 5B 00 00 00 00 CD -R 00 00 01 00 00 04 03 00 00 0A 03 00 -T 87 01 00 00 00 00 00 00 CB 7C 28 06 -R 00 00 01 00 02 04 0F 00 -T 8D 01 00 00 -R 00 00 01 00 -T 8D 01 00 00 21 00 00 C3 18 02 00 00 -R 00 00 01 00 00 08 01 00 -T 93 01 00 00 -R 00 00 01 00 -T 93 01 00 00 2A 04 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 00 05 03 00 -T 9C 01 00 00 ED 4B 06 00 00 00 DD 71 FE DD 70 -R 00 00 01 00 00 06 03 00 -T A5 01 00 00 FF ED 4B 00 00 00 00 A7 ED 42 20 -R 00 00 01 00 02 07 08 00 -T AE 01 00 00 1D 2A 00 00 00 00 DD 4E FE DD 46 -R 00 00 01 00 02 06 0B 00 -T B7 01 00 00 FF A7 ED 42 20 0F -R 00 00 01 00 -T BD 01 00 00 -R 00 00 01 00 -T BD 01 00 00 -R 00 00 01 00 -T BD 01 00 00 -R 00 00 01 00 -T BD 01 00 00 01 00 00 00 00 ED 5B 00 00 00 00 -R 00 00 01 00 00 05 02 00 00 0B 03 00 -T C4 01 00 00 CD 00 00 00 00 2A 00 00 00 00 18 -R 00 00 01 00 02 05 0A 00 00 0A 03 00 -T CB 01 00 00 4C -R 00 00 01 00 -T CC 01 00 00 -R 00 00 01 00 -T CC 01 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 03 00 -T D3 01 00 00 01 04 00 09 4D 44 2A 02 00 00 00 -R 00 00 01 00 00 0B 03 00 -T DC 01 00 00 A7 ED 42 30 12 -R 00 00 01 00 -T E1 01 00 00 -R 00 00 01 00 -T E1 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 06 00 -T EA 01 00 00 22 23 36 00 21 00 00 18 25 -R 00 00 01 00 -T F3 01 00 00 -R 00 00 01 00 -T F3 01 00 00 01 02 00 00 00 ED 5B 00 00 00 00 -R 00 00 01 00 00 05 02 00 00 0B 03 00 -T FA 01 00 00 CD 00 00 00 00 CD 7A 01 00 00 7D -R 00 00 01 00 02 05 01 00 00 0A 01 00 -T 01 02 00 00 B4 28 11 DD 4E FE DD 46 FF DD 5E -R 00 00 01 00 -T 0C 02 00 00 FC DD 56 FD CD 00 00 00 00 18 03 -R 00 00 01 00 00 09 01 00 -T 15 02 00 00 -R 00 00 01 00 -T 15 02 00 00 21 00 00 -R 00 00 01 00 -T 18 02 00 00 -R 00 00 01 00 -T 18 02 00 00 -R 00 00 01 00 -T 18 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 1B 02 00 00 -R 00 00 01 00 -T 1B 02 00 00 CD 00 00 00 00 ED 43 02 00 00 00 -R 00 00 01 00 02 05 09 00 00 0B 03 00 -T 22 02 00 00 69 60 01 03 80 3E 80 AC 67 ED 42 -R 00 00 01 00 -T 2D 02 00 00 30 12 -R 00 00 01 00 -T 2F 02 00 00 -R 00 00 01 00 -T 2F 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 06 00 -T 38 02 00 00 22 23 36 00 21 00 00 18 31 -R 00 00 01 00 -T 41 02 00 00 -R 00 00 01 00 -T 41 02 00 00 01 06 00 00 00 DD 6E 02 DD 66 03 -R 00 00 01 00 00 05 02 00 -T 4A 02 00 00 22 00 00 00 00 EB CD 00 00 00 00 -R 00 00 01 00 00 05 03 00 02 0B 0A 00 -T 51 02 00 00 01 04 00 00 00 11 00 00 00 00 CD -R 00 00 01 00 00 05 03 00 00 0A 02 00 -T 58 02 00 00 00 00 00 00 CB 7C 28 05 -R 00 00 01 00 02 04 0F 00 -T 5E 02 00 00 -R 00 00 01 00 -T 5E 02 00 00 21 00 00 18 0F -R 00 00 01 00 -T 63 02 00 00 -R 00 00 01 00 -T 63 02 00 00 2A 04 00 00 00 22 00 00 00 00 2A -R 00 00 01 00 00 05 03 00 02 0A 08 00 -T 6A 02 00 00 06 00 00 00 22 00 00 00 00 CD -R 00 00 01 00 00 04 03 00 02 09 0B 00 -T 70 02 00 00 7A 01 00 00 -R 00 00 01 00 00 04 01 00 -T 72 02 00 00 -R 00 00 01 00 -T 72 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2F 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 02 00 00 00 2F 2E 2E 00 -R 00 00 02 00 -T 06 00 00 00 -R 00 00 02 00 -T 06 00 00 00 2E 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 diff --git a/src/nos/lib/crt_large_lib/getenv.rel b/src/nos/lib/crt_large_lib/getenv.rel deleted file mode 100644 index 5a37388b..00000000 --- a/src/nos/lib/crt_large_lib/getenv.rel +++ /dev/null @@ -1,78 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _environ Ref00000000 -S _strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _memcmp Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size A7 flags 0 -S _getenv Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF 2A -R 00 00 01 00 02 05 05 00 -T 06 00 00 00 00 00 00 00 DD 75 FC DD 74 FD DD -R 00 00 01 00 02 04 01 00 -T 0F 00 00 00 5E 02 DD 56 03 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 02 00 -T 18 00 00 00 75 FE DD 74 FF DD 7E FC DD B6 FD -R 00 00 01 00 -T 23 00 00 00 28 08 DD 7E FE DD B6 FF 20 05 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 21 00 00 18 72 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 DD 6E FC DD 66 FD 4D 44 03 03 DD -R 00 00 01 00 -T 3D 00 00 00 71 FC DD 70 FD 46 23 66 68 DD 75 -R 00 00 01 00 -T 48 00 00 00 FA DD 74 FB 7D B4 28 51 -R 00 00 01 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 DD 6E 02 DD 66 03 E5 DD 6E FA DD -R 00 00 01 00 -T 5B 00 00 00 66 FB 7E E1 BE 20 3D DD 6E FE DD -R 00 00 01 00 -T 66 00 00 00 66 FF DD 4E FA DD 46 FB 09 7E FE -R 00 00 01 00 -T 71 00 00 00 3D 20 2B DD 6E FE DD 66 FF E5 DD -R 00 00 01 00 -T 7C 00 00 00 4E FA DD 46 FB DD 5E 02 DD 56 03 -R 00 00 01 00 -T 87 00 00 00 CD 00 00 00 00 F1 7D B4 20 10 -R 00 00 01 00 02 05 06 00 -T 8F 00 00 00 -R 00 00 01 00 -T 8F 00 00 00 -R 00 00 01 00 -T 8F 00 00 00 -R 00 00 01 00 -T 8F 00 00 00 DD 6E FE DD 66 FF 23 DD 4E FA DD -R 00 00 01 00 -T 9A 00 00 00 46 FB 09 18 05 -R 00 00 01 00 -T 9F 00 00 00 -R 00 00 01 00 -T 9F 00 00 00 18 91 -R 00 00 01 00 -T A1 00 00 00 -R 00 00 01 00 -T A1 00 00 00 21 00 00 -R 00 00 01 00 -T A4 00 00 00 -R 00 00 01 00 -T A4 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/crt_large_lib/getgrent.rel b/src/nos/lib/crt_large_lib/getgrent.rel deleted file mode 100644 index 47542d72..00000000 --- a/src/nos/lib/crt_large_lib/getgrent.rel +++ /dev/null @@ -1,271 +0,0 @@ -XL4 -H 3 areas A global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _lseek Ref00000000 -S _strchr Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -S _strtol Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 292 flags 0 -S ___getgrent Def00000000 -A UDATA0 size F2 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF -R 00 00 01 00 02 05 07 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 21 C8 00 E5 01 00 00 00 00 DD 5E -R 00 00 01 00 00 09 02 00 -T 0E 00 00 00 02 DD 56 03 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 09 04 00 -T 17 00 00 00 75 FC DD 74 FD 4D 44 21 00 00 CD -R 00 00 01 00 -T 22 00 00 00 00 00 00 00 38 06 -R 00 00 01 00 02 04 08 00 -T 26 00 00 00 -R 00 00 01 00 -T 26 00 00 00 21 00 00 C3 8F 02 00 00 -R 00 00 01 00 00 08 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 01 0A 00 11 00 00 00 00 CD -R 00 00 01 00 00 08 02 00 -T 33 00 00 00 00 00 00 00 DD 75 F6 DD 74 F7 7D -R 00 00 01 00 02 04 02 00 -T 3C 00 00 00 B4 28 55 -R 00 00 01 00 -T 3F 00 00 00 -R 00 00 01 00 -T 3F 00 00 00 DD 6E F6 DD 66 F7 23 DD 75 F6 DD -R 00 00 01 00 -T 4A 00 00 00 74 F7 2B 36 00 21 01 00 E5 01 -R 00 00 01 00 -T 54 00 00 00 00 00 00 00 DD 6E F6 DD 66 F7 A7 -R 00 00 01 00 00 04 02 00 -T 5D 00 00 00 ED 42 DD 4E FC DD 46 FD A7 ED 42 -R 00 00 01 00 -T 68 00 00 00 7C 07 9F 4F 41 C5 E5 DD 5E 02 DD -R 00 00 01 00 -T 73 00 00 00 56 03 CD 00 00 00 00 F1 F1 F1 DD -R 00 00 01 00 02 07 01 00 -T 7C 00 00 00 6E F6 DD 66 F7 2B 2B 7E FE 0D 20 -R 00 00 01 00 -T 87 00 00 00 0A -R 00 00 01 00 -T 88 00 00 00 -R 00 00 01 00 -T 88 00 00 00 DD 6E F6 DD 66 F7 2B 2B 36 00 -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 18 6A -R 00 00 01 00 -T 94 00 00 00 -R 00 00 01 00 -T 94 00 00 00 -R 00 00 01 00 -T 94 00 00 00 21 C8 00 E5 01 00 00 00 00 DD 5E -R 00 00 01 00 00 09 02 00 -T 9D 00 00 00 02 DD 56 03 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 09 04 00 -T A6 00 00 00 75 FC DD 74 FD 4D 44 21 00 00 CD -R 00 00 01 00 -T B1 00 00 00 00 00 00 00 38 06 -R 00 00 01 00 02 04 08 00 -T B5 00 00 00 -R 00 00 01 00 -T B5 00 00 00 21 00 00 C3 8F 02 00 00 -R 00 00 01 00 00 08 01 00 -T BB 00 00 00 -R 00 00 01 00 -T BB 00 00 00 01 0A 00 11 00 00 00 00 CD -R 00 00 01 00 00 08 02 00 -T C2 00 00 00 00 00 00 00 DD 75 F6 DD 74 F7 7D -R 00 00 01 00 02 04 02 00 -T CB 00 00 00 B4 28 C6 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 21 01 00 E5 01 00 00 00 00 DD 6E -R 00 00 01 00 00 09 02 00 -T D7 00 00 00 F6 DD 66 F7 A7 ED 42 DD 4E FC DD -R 00 00 01 00 -T E2 00 00 00 46 FD A7 ED 42 23 7C 07 9F 4F 41 -R 00 00 01 00 -T ED 00 00 00 C5 E5 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T F6 00 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 -T FC 00 00 00 05 00 00 00 -R 00 00 01 00 00 04 01 00 -T FE 00 00 00 -R 00 00 01 00 -T FE 00 00 00 3A 00 00 00 00 FE 23 28 15 3A -R 00 00 01 00 00 05 02 00 -T 06 01 00 00 00 00 00 00 FE 20 28 0E 3A -R 00 00 01 00 00 04 02 00 -T 0D 01 00 00 00 00 00 00 FE 0A 28 07 3A -R 00 00 01 00 00 04 02 00 -T 14 01 00 00 00 00 00 00 FE 09 20 03 -R 00 00 01 00 00 04 02 00 -T 1A 01 00 00 -R 00 00 01 00 -T 1A 01 00 00 -R 00 00 01 00 -T 1A 01 00 00 -R 00 00 01 00 -T 1A 01 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 1D 01 00 00 -R 00 00 01 00 -T 1D 01 00 00 21 00 00 00 00 22 EA 00 00 00 01 -R 00 00 01 00 00 05 02 00 00 0A 02 00 -T 24 01 00 00 3A 00 11 00 00 00 00 CD -R 00 00 01 00 00 07 02 00 -T 2A 01 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 02 00 -T 33 01 00 00 B4 20 03 -R 00 00 01 00 -T 36 01 00 00 -R 00 00 01 00 -T 36 01 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 39 01 00 00 -R 00 00 01 00 -T 39 01 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 44 01 00 00 74 FF 2B 36 00 DD 6E FE DD 66 FF -R 00 00 01 00 -T 4F 01 00 00 22 EC 00 00 00 01 3A 00 DD 5E FE -R 00 00 01 00 00 05 02 00 -T 58 01 00 00 DD 56 FF CD 00 00 00 00 DD 75 FE -R 00 00 01 00 02 08 02 00 -T 61 01 00 00 DD 74 FF 7D B4 20 03 -R 00 00 01 00 -T 68 01 00 00 -R 00 00 01 00 -T 68 01 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 6B 01 00 00 -R 00 00 01 00 -T 6B 01 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 76 01 00 00 74 FF 2B 36 00 DD 6E FE DD 66 FF -R 00 00 01 00 -T 81 01 00 00 DD 75 F6 DD 74 F7 01 3A 00 DD 5E -R 00 00 01 00 -T 8C 01 00 00 FE DD 56 FF CD 00 00 00 00 DD 75 -R 00 00 01 00 02 09 02 00 -T 95 01 00 00 FE DD 74 FF 7D B4 20 03 -R 00 00 01 00 -T 9D 01 00 00 -R 00 00 01 00 -T 9D 01 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T A0 01 00 00 -R 00 00 01 00 -T A0 01 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T AB 01 00 00 74 FF 2B 36 00 21 0A 00 E5 21 -R 00 00 01 00 -T B5 01 00 00 04 00 39 4D 44 DD 5E F6 DD 56 F7 -R 00 00 01 00 -T C0 01 00 00 CD 00 00 00 00 F1 22 EE 00 00 00 -R 00 00 01 00 02 05 06 00 00 0B 02 00 -T C7 01 00 00 DD 6E F8 DD 66 F9 AF B6 28 03 -R 00 00 01 00 -T D1 01 00 00 -R 00 00 01 00 -T D1 01 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T D4 01 00 00 -R 00 00 01 00 -T D4 01 00 00 DD 6E FE DD 66 FF DD 75 F6 DD 74 -R 00 00 01 00 -T DF 01 00 00 F7 AF DD 77 FA DD 77 FB -R 00 00 01 00 -T E7 01 00 00 -R 00 00 01 00 -T E7 01 00 00 01 2C 00 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T F1 01 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 02 00 -T FA 01 00 00 B4 28 4B -R 00 00 01 00 -T FD 01 00 00 -R 00 00 01 00 -T FD 01 00 00 DD 6E FE DD 66 FF 36 00 DD 34 FE -R 00 00 01 00 -T 08 02 00 00 20 03 DD 34 FF -R 00 00 01 00 -T 0D 02 00 00 -R 00 00 01 00 -T 0D 02 00 00 DD 6E FA DD 66 FB 29 01 -R 00 00 01 00 -T 15 02 00 00 C8 00 00 00 09 DD 4E F6 DD 46 F7 -R 00 00 01 00 00 04 02 00 -T 1E 02 00 00 71 23 70 DD 6E FE DD 66 FF DD 75 -R 00 00 01 00 -T 29 02 00 00 F6 DD 74 F7 01 10 80 DD 6E FA DD -R 00 00 01 00 -T 34 02 00 00 66 FB 3E 80 AC 67 ED 42 30 08 -R 00 00 01 00 -T 3E 02 00 00 -R 00 00 01 00 -T 3E 02 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 46 02 00 00 -R 00 00 01 00 -T 46 02 00 00 -R 00 00 01 00 -T 46 02 00 00 18 9F -R 00 00 01 00 -T 48 02 00 00 -R 00 00 01 00 -T 48 02 00 00 DD 6E F6 DD 66 F7 AF B6 20 11 -R 00 00 01 00 -T 52 02 00 00 -R 00 00 01 00 -T 52 02 00 00 DD 6E FA DD 66 FB 29 01 -R 00 00 01 00 -T 5A 02 00 00 C8 00 00 00 09 AF 77 23 77 18 23 -R 00 00 01 00 00 04 02 00 -T 63 02 00 00 -R 00 00 01 00 -T 63 02 00 00 DD 6E FA DD 66 FB 29 01 -R 00 00 01 00 -T 6B 02 00 00 C8 00 00 00 09 DD 4E F6 DD 46 F7 -R 00 00 01 00 00 04 02 00 -T 74 02 00 00 71 23 70 DD 6E FA DD 66 FB 29 01 -R 00 00 01 00 -T 7F 02 00 00 CA 00 00 00 09 AF 77 23 77 -R 00 00 01 00 00 04 02 00 -T 86 02 00 00 -R 00 00 01 00 -T 86 02 00 00 21 C8 00 00 00 22 F0 00 00 00 21 -R 00 00 01 00 00 05 02 00 00 0A 02 00 -T 8D 02 00 00 EA 00 00 00 -R 00 00 01 00 00 04 02 00 -T 8F 02 00 00 -R 00 00 01 00 -T 8F 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T C8 00 00 00 -R 00 00 02 00 -T C8 00 00 00 -R 00 00 02 00 -T EA 00 00 00 -R 00 00 02 00 -T EA 00 00 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/getgrgid.rel b/src/nos/lib/crt_large_lib/getgrgid.rel deleted file mode 100644 index 2e4e9f27..00000000 --- a/src/nos/lib/crt_large_lib/getgrgid.rel +++ /dev/null @@ -1,46 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _endgrent Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _getgrent Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _setgrent Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3E flags 0 -S _getgrgid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF CD -R 00 00 01 00 02 05 05 00 -T 06 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 06 00 -T 08 00 00 00 -R 00 00 01 00 -T 08 00 00 00 CD 00 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 02 05 04 00 -T 11 00 00 00 7D B4 28 1D -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 21 04 00 DD 4E FE DD 46 FF 09 46 -R 00 00 01 00 -T 20 00 00 00 23 66 68 DD 4E 02 DD 46 03 A7 ED -R 00 00 01 00 -T 2B 00 00 00 42 20 02 -R 00 00 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 18 02 -R 00 00 01 00 -T 30 00 00 00 -R 00 00 01 00 -T 30 00 00 00 18 D6 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 CD 00 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 02 05 01 00 -T 3B 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/crt_large_lib/getgrnam.rel b/src/nos/lib/crt_large_lib/getgrnam.rel deleted file mode 100644 index a7ac6f30..00000000 --- a/src/nos/lib/crt_large_lib/getgrnam.rel +++ /dev/null @@ -1,60 +0,0 @@ -XL4 -H 2 areas A global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _endgrent Ref00000000 -S _strcmp Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S _getgrent Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _setgrent Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 55 flags 0 -S _getgrnam Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD -R 00 00 01 00 02 05 07 00 -T 09 00 00 00 B6 03 20 12 -R 00 00 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 04 00 -T 16 00 00 00 16 23 36 00 21 00 00 18 33 -R 00 00 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 08 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 CD 00 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 02 05 06 00 -T 2B 00 00 00 7D B4 28 1A -R 00 00 01 00 -T 2F 00 00 00 -R 00 00 01 00 -T 2F 00 00 00 DD 4E 02 DD 46 03 DD 6E FE DD 66 -R 00 00 01 00 -T 3A 00 00 00 FF 5E 23 56 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 09 02 00 -T 43 00 00 00 20 02 -R 00 00 01 00 -T 45 00 00 00 -R 00 00 01 00 -T 45 00 00 00 18 02 -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 18 D9 -R 00 00 01 00 -T 49 00 00 00 -R 00 00 01 00 -T 49 00 00 00 CD 00 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 02 05 01 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/crt_large_lib/getopt.rel b/src/nos/lib/crt_large_lib/getopt.rel deleted file mode 100644 index 923fc38d..00000000 --- a/src/nos/lib/crt_large_lib/getopt.rel +++ /dev/null @@ -1,269 +0,0 @@ -XL4 -H 6 areas F global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _stderr Ref00000000 -S _strchr Ref00000000 -S _strcmp Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _fputc Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S _fputs Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20B flags 0 -S _getopt Def00000000 -A CSTR size 3A flags 0 -A UDATA0 size 4 flags 0 -S _optarg Def00000002 -S _optopt Def00000000 -A IDATA0 size 6 flags 0 -S _optind Def00000002 -S _opterr Def00000000 -A CDATA0 size 6 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 2A -R 00 00 01 00 02 05 07 00 -T 06 00 00 00 04 00 00 00 3E 01 AD B4 20 61 -R 00 00 01 00 00 04 04 00 -T 0E 00 00 00 -R 00 00 01 00 -T 0E 00 00 00 DD 4E 02 DD 46 03 2A 02 00 00 00 -R 00 00 01 00 00 0B 04 00 -T 17 00 00 00 CD 00 00 00 00 30 28 2A -R 00 00 01 00 02 05 08 00 -T 1D 00 00 00 02 00 00 00 29 DD 4E 04 DD 46 05 -R 00 00 01 00 00 04 04 00 -T 26 00 00 00 09 7E 23 66 6F 7E FE 2D 20 14 2A -R 00 00 01 00 -T 31 00 00 00 02 00 00 00 29 DD 4E 04 DD 46 05 -R 00 00 01 00 00 04 04 00 -T 3A 00 00 00 09 46 23 66 68 23 7E B7 20 06 -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 21 FF FF C3 08 02 00 00 -R 00 00 01 00 00 08 01 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 01 00 00 00 00 2A 02 00 00 00 29 -R 00 00 01 00 00 05 02 00 00 0A 04 00 -T 51 00 00 00 DD 5E 04 DD 56 05 19 5E 23 56 CD -R 00 00 01 00 -T 5C 00 00 00 00 00 00 00 7D B4 20 0D -R 00 00 01 00 02 04 03 00 -T 62 00 00 00 -R 00 00 01 00 -T 62 00 00 00 2A 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 05 04 00 00 0B 04 00 -T 69 00 00 00 21 FF FF C3 08 02 00 00 -R 00 00 01 00 00 08 01 00 -T 6F 00 00 00 -R 00 00 01 00 -T 6F 00 00 00 -R 00 00 01 00 -T 6F 00 00 00 2A 02 00 00 00 29 DD 4E 04 DD 46 -R 00 00 01 00 00 05 04 00 -T 78 00 00 00 05 09 46 23 66 68 ED 4B -R 00 00 01 00 -T 80 00 00 00 04 00 00 00 09 4E 06 00 DD 71 FC -R 00 00 01 00 00 04 04 00 -T 89 00 00 00 DD 70 FD ED 43 00 00 00 00 3E 3A -R 00 00 01 00 00 09 03 00 -T 92 00 00 00 DD AE FC DD B6 FD 28 19 DD 4E FC -R 00 00 01 00 -T 9D 00 00 00 DD 46 FD DD 5E 08 DD 56 09 CD -R 00 00 01 00 -T A7 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 02 00 -T B0 00 00 00 B4 20 64 -R 00 00 01 00 -T B3 00 00 00 -R 00 00 01 00 -T B3 00 00 00 -R 00 00 01 00 -T B3 00 00 00 -R 00 00 01 00 -T B3 00 00 00 2A 00 00 00 00 7D B4 28 2D -R 00 00 01 00 00 05 04 00 -T BA 00 00 00 -R 00 00 01 00 -T BA 00 00 00 01 00 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 02 05 01 00 -T C3 00 00 00 5E 23 56 CD 00 00 00 00 01 -R 00 00 01 00 02 08 09 00 -T CA 00 00 00 00 00 00 00 11 03 00 00 00 CD -R 00 00 01 00 02 04 01 00 00 09 02 00 -T D0 00 00 00 00 00 00 00 01 00 00 00 00 DD 5E -R 00 00 01 00 02 04 09 00 02 09 01 00 -T D7 00 00 00 FC DD 56 FD CD 00 00 00 00 01 -R 00 00 01 00 02 09 06 00 -T DF 00 00 00 00 00 00 00 11 0A 00 CD -R 00 00 01 00 02 04 01 00 -T E5 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 06 00 -T E7 00 00 00 -R 00 00 01 00 -T E7 00 00 00 2A 02 00 00 00 29 DD 4E 04 DD 46 -R 00 00 01 00 00 05 04 00 -T F0 00 00 00 05 09 46 23 66 68 ED 4B -R 00 00 01 00 -T F8 00 00 00 04 00 00 00 03 ED 43 04 00 00 00 -R 00 00 01 00 00 04 04 00 00 0B 04 00 -T FF 00 00 00 09 7E B7 20 0D -R 00 00 01 00 -T 04 01 00 00 -R 00 00 01 00 -T 04 01 00 00 2A 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 05 04 00 00 0B 04 00 -T 0B 01 00 00 21 01 00 22 04 00 00 00 -R 00 00 01 00 00 08 04 00 -T 11 01 00 00 -R 00 00 01 00 -T 11 01 00 00 21 3F 00 C3 08 02 00 00 -R 00 00 01 00 00 08 01 00 -T 17 01 00 00 -R 00 00 01 00 -T 17 01 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 22 01 00 00 74 FF 7E FE 3A C2 D2 01 00 00 -R 00 00 01 00 00 0A 01 00 -T 2A 01 00 00 -R 00 00 01 00 -T 2A 01 00 00 2A 02 00 00 00 29 DD 4E 04 DD 46 -R 00 00 01 00 00 05 04 00 -T 33 01 00 00 05 09 46 23 66 68 ED 4B -R 00 00 01 00 -T 3B 01 00 00 04 00 00 00 09 23 7E B7 28 1F -R 00 00 01 00 00 04 04 00 -T 43 01 00 00 -R 00 00 01 00 -T 43 01 00 00 2A 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 05 04 00 00 0B 04 00 -T 4A 01 00 00 2B 29 DD 4E 04 DD 46 05 09 46 23 -R 00 00 01 00 -T 55 01 00 00 66 68 ED 4B 04 00 00 00 09 23 22 -R 00 00 01 00 00 08 04 00 -T 5E 01 00 00 02 00 00 00 18 68 -R 00 00 01 00 00 04 03 00 -T 62 01 00 00 -R 00 00 01 00 -T 62 01 00 00 2A 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 05 04 00 00 0B 04 00 -T 69 01 00 00 DD 4E 02 DD 46 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T 72 01 00 00 38 3F -R 00 00 01 00 -T 74 01 00 00 -R 00 00 01 00 -T 74 01 00 00 2A 00 00 00 00 7D B4 28 2D -R 00 00 01 00 00 05 04 00 -T 7B 01 00 00 -R 00 00 01 00 -T 7B 01 00 00 01 00 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 02 05 01 00 -T 84 01 00 00 5E 23 56 CD 00 00 00 00 01 -R 00 00 01 00 02 08 09 00 -T 8B 01 00 00 00 00 00 00 11 18 00 00 00 CD -R 00 00 01 00 02 04 01 00 00 09 02 00 -T 91 01 00 00 00 00 00 00 01 00 00 00 00 DD 5E -R 00 00 01 00 02 04 09 00 02 09 01 00 -T 98 01 00 00 FC DD 56 FD CD 00 00 00 00 01 -R 00 00 01 00 02 09 06 00 -T A0 01 00 00 00 00 00 00 11 0A 00 CD -R 00 00 01 00 02 04 01 00 -T A6 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 06 00 -T A8 01 00 00 -R 00 00 01 00 -T A8 01 00 00 21 01 00 22 04 00 00 00 21 3F 00 -R 00 00 01 00 00 08 04 00 -T B1 01 00 00 18 55 -R 00 00 01 00 -T B3 01 00 00 -R 00 00 01 00 -T B3 01 00 00 2A 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 05 04 00 00 0B 04 00 -T BA 01 00 00 2B 29 DD 4E 04 DD 46 05 09 46 23 -R 00 00 01 00 -T C5 01 00 00 66 68 22 02 00 00 00 -R 00 00 01 00 00 07 03 00 -T CA 01 00 00 -R 00 00 01 00 -T CA 01 00 00 21 01 00 22 04 00 00 00 18 30 -R 00 00 01 00 00 08 04 00 -T D2 01 00 00 -R 00 00 01 00 -T D2 01 00 00 2A 02 00 00 00 29 DD 4E 04 DD 46 -R 00 00 01 00 00 05 04 00 -T DB 01 00 00 05 09 46 23 66 68 ED 4B -R 00 00 01 00 -T E3 01 00 00 04 00 00 00 03 ED 43 04 00 00 00 -R 00 00 01 00 00 04 04 00 00 0B 04 00 -T EA 01 00 00 09 7E B7 20 0D -R 00 00 01 00 -T EF 01 00 00 -R 00 00 01 00 -T EF 01 00 00 21 01 00 22 04 00 00 00 2A -R 00 00 01 00 00 08 04 00 -T F6 01 00 00 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 04 04 00 00 0A 04 00 -T FC 01 00 00 -R 00 00 01 00 -T FC 01 00 00 21 00 00 22 02 00 00 00 -R 00 00 01 00 00 08 03 00 -T 02 02 00 00 -R 00 00 01 00 -T 02 02 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 -T 08 02 00 00 -R 00 00 01 00 -T 08 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2D 2D 00 -R 00 00 02 00 -T 03 00 00 00 -R 00 00 02 00 -T 03 00 00 00 3A 20 69 6C 6C 65 67 61 6C 20 6F -R 00 00 02 00 -T 0E 00 00 00 70 74 69 6F 6E 20 2D 2D 20 00 -R 00 00 02 00 -T 18 00 00 00 -R 00 00 02 00 -T 18 00 00 00 3A 20 6F 70 74 69 6F 6E 20 72 65 -R 00 00 02 00 -T 23 00 00 00 71 75 69 72 65 73 20 61 6E 20 61 -R 00 00 02 00 -T 2E 00 00 00 72 67 75 6D 65 6E 74 20 2D 2D 20 -R 00 00 02 00 -T 39 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 02 00 00 00 -R 00 00 04 00 -T 02 00 00 00 -R 00 00 04 00 -T 04 00 00 00 -R 00 00 04 00 -T 04 00 00 00 -R 00 00 04 00 -T 00 00 00 00 01 00 01 00 01 00 -R 00 00 05 00 diff --git a/src/nos/lib/crt_large_lib/getpass.rel b/src/nos/lib/crt_large_lib/getpass.rel deleted file mode 100644 index dcbe0cc3..00000000 --- a/src/nos/lib/crt_large_lib/getpass.rel +++ /dev/null @@ -1,152 +0,0 @@ -XL4 -H 3 areas B global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _fflush Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _ioctl Ref00000000 -S .__.ABS. Def00000000 -S _stdout Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S _fputs Ref00000000 -S __getchar Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 135 flags 0 -S _getpass Def000000A9 -A UDATA0 size 80 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF AF DD 77 FE -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 DD 77 FF -R 00 00 01 00 -T 0C 00 00 00 -R 00 00 01 00 -T 0C 00 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 -R 00 00 01 00 -T 17 00 00 00 FF CD 00 00 00 00 30 78 -R 00 00 01 00 02 06 07 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 CD 00 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 02 05 09 00 -T 26 00 00 00 7D A4 3C 20 0D DD 7E FE DD B6 FF -R 00 00 01 00 -T 31 00 00 00 20 05 -R 00 00 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 21 00 00 18 6E -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 3E 43 DD AE FC DD B6 FD 20 04 3E -R 00 00 01 00 -T 43 00 00 00 01 18 01 -R 00 00 01 00 -T 46 00 00 00 -R 00 00 01 00 -T 46 00 00 00 AF -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 E6 1F 20 13 3E 5A DD AE FC DD B6 -R 00 00 01 00 -T 52 00 00 00 FD 20 04 3E 01 18 01 -R 00 00 01 00 -T 59 00 00 00 -R 00 00 01 00 -T 59 00 00 00 AF -R 00 00 01 00 -T 5A 00 00 00 -R 00 00 01 00 -T 5A 00 00 00 E6 1F 28 05 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 21 00 00 18 43 -R 00 00 01 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 3E 0A DD AE FC DD B6 FD 28 0A 3E -R 00 00 01 00 -T 6E 00 00 00 0D DD AE FC DD B6 FD 20 02 -R 00 00 01 00 -T 77 00 00 00 -R 00 00 01 00 -T 77 00 00 00 -R 00 00 01 00 -T 77 00 00 00 -R 00 00 01 00 -T 77 00 00 00 18 1C -R 00 00 01 00 -T 79 00 00 00 -R 00 00 01 00 -T 79 00 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 84 00 00 00 74 FF 2B DD 4E 02 DD 46 03 09 DD -R 00 00 01 00 -T 8F 00 00 00 46 FC 70 C3 0C 00 00 00 -R 00 00 01 00 00 08 01 00 -T 95 00 00 00 -R 00 00 01 00 -T 95 00 00 00 DD 6E FE DD 66 FF DD 4E 02 DD 46 -R 00 00 01 00 -T A0 00 00 00 03 09 36 00 69 60 -R 00 00 01 00 -T A6 00 00 00 -R 00 00 01 00 -T A6 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T A9 00 00 00 -R 00 00 01 00 -T A9 00 00 00 CD 00 00 00 00 F8 FF 01 -R 00 00 01 00 02 05 06 00 -T AF 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 CD -R 00 00 01 00 02 04 05 00 -T B8 00 00 00 00 00 00 00 11 00 00 00 00 CD -R 00 00 01 00 02 04 08 00 02 09 05 00 -T BE 00 00 00 00 00 00 00 21 00 00 39 E5 21 -R 00 00 01 00 02 04 01 00 -T C6 00 00 00 00 00 E5 21 00 00 E5 CD -R 00 00 01 00 -T CE 00 00 00 00 00 00 00 F1 F1 F1 DD 6E FC DD -R 00 00 01 00 02 04 03 00 -T D7 00 00 00 66 FD DD 75 FE DD 74 FF 21 04 00 -R 00 00 01 00 -T E2 00 00 00 39 7E E6 F7 77 23 7E E6 FF 77 21 -R 00 00 01 00 -T ED 00 00 00 00 00 39 E5 21 01 00 E5 21 00 00 -R 00 00 01 00 -T F8 00 00 00 E5 CD 00 00 00 00 F1 F1 F1 01 -R 00 00 01 00 02 06 03 00 -T 00 01 00 00 7F 00 11 00 00 00 00 CD -R 00 00 01 00 00 07 02 00 -T 06 01 00 00 00 00 00 00 7D B4 20 04 -R 00 00 01 00 00 04 01 00 -T 0C 01 00 00 -R 00 00 01 00 -T 0C 01 00 00 AF 32 00 00 00 00 -R 00 00 01 00 00 06 02 00 -T 10 01 00 00 -R 00 00 01 00 -T 10 01 00 00 DD 6E FE DD 66 FF DD 75 FC DD 74 -R 00 00 01 00 -T 1B 01 00 00 FD 21 00 00 39 E5 21 01 00 E5 21 -R 00 00 01 00 -T 26 01 00 00 00 00 E5 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 08 03 00 -T 2F 01 00 00 21 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0A 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/getpw.rel b/src/nos/lib/crt_large_lib/getpw.rel deleted file mode 100644 index 801eccf3..00000000 --- a/src/nos/lib/crt_large_lib/getpw.rel +++ /dev/null @@ -1,63 +0,0 @@ -XL4 -H 3 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _sprintf Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S _getpwuid Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8E flags 0 -S _getpw Def00000000 -A CSTR size 15 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 79 B0 20 12 -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 -R 00 00 01 00 -T 09 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 03 00 -T 12 00 00 00 16 23 36 00 21 FF FF 18 70 -R 00 00 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 24 00 00 00 DD 75 FE DD 74 FF 7D B4 20 05 -R 00 00 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 21 FF FF 18 58 -R 00 00 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 21 0C 00 DD 4E FE DD 46 FF 09 5E -R 00 00 01 00 -T 3E 00 00 00 23 56 D5 21 0A 00 09 5E 23 56 D5 -R 00 00 01 00 -T 49 00 00 00 21 08 00 09 5E 23 56 D5 21 06 00 -R 00 00 01 00 -T 54 00 00 00 09 5E 23 56 D5 21 04 00 09 5E 23 -R 00 00 01 00 -T 5F 00 00 00 56 D5 03 03 69 60 4E 23 46 C5 DD -R 00 00 01 00 -T 6A 00 00 00 6E FE DD 66 FF 4E 23 46 C5 21 -R 00 00 01 00 -T 74 00 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 00 04 02 00 -T 7D 00 00 00 E5 CD 00 00 00 00 EB 21 12 00 39 -R 00 00 01 00 02 06 01 00 -T 86 00 00 00 F9 EB 21 00 00 -R 00 00 01 00 -T 8B 00 00 00 -R 00 00 01 00 -T 8B 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 25 73 3A 25 73 3A 25 75 3A 25 75 -R 00 00 02 00 -T 0B 00 00 00 3A 25 73 3A 25 73 3A 25 73 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/getpwent.rel b/src/nos/lib/crt_large_lib/getpwent.rel deleted file mode 100644 index 376038c1..00000000 --- a/src/nos/lib/crt_large_lib/getpwent.rel +++ /dev/null @@ -1,274 +0,0 @@ -XL4 -H 3 areas B global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?S_S_SWITCH_L06 Ref00000000 -S _lseek Ref00000000 -S _strchr Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _read Ref00000000 -S _strtoul Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25B flags 0 -S ___getpwent Def00000000 -A UDATA0 size 10E flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F4 FF -R 00 00 01 00 02 05 08 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 21 00 01 E5 01 00 00 00 00 DD 5E -R 00 00 01 00 00 09 02 00 -T 0E 00 00 00 02 DD 56 03 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 09 05 00 -T 17 00 00 00 75 FE DD 74 FF 4D 44 21 00 00 CD -R 00 00 01 00 -T 22 00 00 00 00 00 00 00 38 06 -R 00 00 01 00 02 04 09 00 -T 26 00 00 00 -R 00 00 01 00 -T 26 00 00 00 21 00 00 C3 58 02 00 00 -R 00 00 01 00 00 08 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 01 0A 00 11 00 00 00 00 CD -R 00 00 01 00 00 08 02 00 -T 33 00 00 00 00 00 00 00 DD 75 F4 DD 74 F5 7D -R 00 00 01 00 02 04 03 00 -T 3C 00 00 00 B4 28 56 -R 00 00 01 00 -T 3F 00 00 00 -R 00 00 01 00 -T 3F 00 00 00 DD 6E F4 DD 66 F5 23 DD 75 F4 DD -R 00 00 01 00 -T 4A 00 00 00 74 F5 2B 36 00 21 01 00 E5 01 -R 00 00 01 00 -T 54 00 00 00 00 00 00 00 DD 6E F4 DD 66 F5 A7 -R 00 00 01 00 00 04 02 00 -T 5D 00 00 00 ED 42 DD 4E FE DD 46 FF A7 ED 42 -R 00 00 01 00 -T 68 00 00 00 7C 07 9F 4F 41 C5 E5 DD 5E 02 DD -R 00 00 01 00 -T 73 00 00 00 56 03 CD 00 00 00 00 F1 F1 F1 DD -R 00 00 01 00 02 07 02 00 -T 7C 00 00 00 6E F4 DD 66 F5 2B 2B 7E FE 0D 20 -R 00 00 01 00 -T 87 00 00 00 0A -R 00 00 01 00 -T 88 00 00 00 -R 00 00 01 00 -T 88 00 00 00 DD 6E F4 DD 66 F5 2B 2B 36 00 -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 C3 18 01 00 00 -R 00 00 01 00 00 05 01 00 -T 95 00 00 00 -R 00 00 01 00 -T 95 00 00 00 -R 00 00 01 00 -T 95 00 00 00 21 00 01 E5 01 00 00 00 00 DD 5E -R 00 00 01 00 00 09 02 00 -T 9E 00 00 00 02 DD 56 03 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 09 05 00 -T A7 00 00 00 75 FE DD 74 FF 4D 44 21 00 00 CD -R 00 00 01 00 -T B2 00 00 00 00 00 00 00 38 06 -R 00 00 01 00 02 04 09 00 -T B6 00 00 00 -R 00 00 01 00 -T B6 00 00 00 21 00 00 C3 58 02 00 00 -R 00 00 01 00 00 08 01 00 -T BC 00 00 00 -R 00 00 01 00 -T BC 00 00 00 01 0A 00 11 00 00 00 00 CD -R 00 00 01 00 00 08 02 00 -T C3 00 00 00 00 00 00 00 DD 75 F4 DD 74 F5 7D -R 00 00 01 00 02 04 03 00 -T CC 00 00 00 B4 28 C6 -R 00 00 01 00 -T CF 00 00 00 -R 00 00 01 00 -T CF 00 00 00 21 01 00 E5 DD 6E FE DD 66 FF 7C -R 00 00 01 00 -T DA 00 00 00 07 9F 5F 53 D5 E5 01 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T E3 00 00 00 DD 6E F4 DD 66 F5 A7 ED 42 7C 07 -R 00 00 01 00 -T EE 00 00 00 9F 5F 53 A7 C1 ED 42 EB C1 ED 42 -R 00 00 01 00 -T F9 00 00 00 E5 D5 21 01 00 C1 09 EB 21 00 00 -R 00 00 01 00 -T 04 01 00 00 C1 ED 4A E5 D5 DD 5E 02 DD 56 03 -R 00 00 01 00 -T 0F 01 00 00 CD 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 05 02 00 -T 16 01 00 00 05 00 00 00 -R 00 00 01 00 00 04 01 00 -T 18 01 00 00 -R 00 00 01 00 -T 18 01 00 00 3A 00 00 00 00 FE 23 28 15 3A -R 00 00 01 00 00 05 02 00 -T 20 01 00 00 00 00 00 00 FE 20 28 0E 3A -R 00 00 01 00 00 04 02 00 -T 27 01 00 00 00 00 00 00 FE 0A 28 07 3A -R 00 00 01 00 00 04 02 00 -T 2E 01 00 00 00 00 00 00 FE 09 20 03 -R 00 00 01 00 00 04 02 00 -T 34 01 00 00 -R 00 00 01 00 -T 34 01 00 00 -R 00 00 01 00 -T 34 01 00 00 -R 00 00 01 00 -T 34 01 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 37 01 00 00 -R 00 00 01 00 -T 37 01 00 00 DD 36 F4 00 00 00 00 DD 36 F5 -R 00 00 01 00 09 07 02 00 -T 3E 01 00 00 00 00 00 00 AF DD 77 FC DD 77 FD -R 00 00 01 00 89 04 02 00 -T 46 01 00 00 -R 00 00 01 00 -T 46 01 00 00 01 07 80 DD 6E FC DD 66 FD 3E 80 -R 00 00 01 00 -T 51 01 00 00 AC 67 ED 42 D2 0D 02 00 00 -R 00 00 01 00 00 09 01 00 -T 58 01 00 00 -R 00 00 01 00 -T 58 01 00 00 DD 5E FC DD 56 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 61 01 00 00 00 00 07 00 C8 01 00 00 -R 00 00 01 00 00 08 01 00 -T 67 01 00 00 75 01 00 00 80 01 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 6B 01 00 00 8B 01 00 00 99 01 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 6F 01 00 00 A7 01 00 00 B2 01 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 73 01 00 00 BD 01 00 00 -R 00 00 01 00 00 04 01 00 -T 75 01 00 00 -R 00 00 01 00 -T 75 01 00 00 DD 6E F4 DD 66 F5 22 00 01 00 00 -R 00 00 01 00 00 0B 02 00 -T 7E 01 00 00 18 48 -R 00 00 01 00 -T 80 01 00 00 -R 00 00 01 00 -T 80 01 00 00 DD 6E F4 DD 66 F5 22 02 01 00 00 -R 00 00 01 00 00 0B 02 00 -T 89 01 00 00 18 3D -R 00 00 01 00 -T 8B 01 00 00 -R 00 00 01 00 -T 8B 01 00 00 DD 6E F4 DD 66 F5 DD 75 FA DD 74 -R 00 00 01 00 -T 96 01 00 00 FB 18 2F -R 00 00 01 00 -T 99 01 00 00 -R 00 00 01 00 -T 99 01 00 00 DD 6E F4 DD 66 F5 DD 75 F8 DD 74 -R 00 00 01 00 -T A4 01 00 00 F9 18 21 -R 00 00 01 00 -T A7 01 00 00 -R 00 00 01 00 -T A7 01 00 00 DD 6E F4 DD 66 F5 22 08 01 00 00 -R 00 00 01 00 00 0B 02 00 -T B0 01 00 00 18 16 -R 00 00 01 00 -T B2 01 00 00 -R 00 00 01 00 -T B2 01 00 00 DD 6E F4 DD 66 F5 22 0A 01 00 00 -R 00 00 01 00 00 0B 02 00 -T BB 01 00 00 18 0B -R 00 00 01 00 -T BD 01 00 00 -R 00 00 01 00 -T BD 01 00 00 DD 6E F4 DD 66 F5 22 0C 01 00 00 -R 00 00 01 00 00 0B 02 00 -T C6 01 00 00 18 00 -R 00 00 01 00 -T C8 01 00 00 -R 00 00 01 00 -T C8 01 00 00 01 06 80 DD 6E FC DD 66 FD 3E 80 -R 00 00 01 00 -T D3 01 00 00 AC 67 ED 42 30 29 -R 00 00 01 00 -T D9 01 00 00 -R 00 00 01 00 -T D9 01 00 00 01 3A 00 DD 5E F4 DD 56 F5 CD -R 00 00 01 00 -T E3 01 00 00 00 00 00 00 DD 75 F4 DD 74 F5 7D -R 00 00 01 00 02 04 03 00 -T EC 01 00 00 B4 20 03 -R 00 00 01 00 -T EF 01 00 00 -R 00 00 01 00 -T EF 01 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T F2 01 00 00 -R 00 00 01 00 -T F2 01 00 00 DD 6E F4 DD 66 F5 23 DD 75 F4 DD -R 00 00 01 00 -T FD 01 00 00 74 F5 2B 36 00 -R 00 00 01 00 -T 02 02 00 00 -R 00 00 01 00 -T 02 02 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 0A 02 00 00 -R 00 00 01 00 -T 0A 02 00 00 C3 46 01 00 00 -R 00 00 01 00 00 05 01 00 -T 0D 02 00 00 -R 00 00 01 00 -T 0D 02 00 00 21 0A 00 E5 21 04 00 39 4D 44 DD -R 00 00 01 00 -T 18 02 00 00 5E F8 DD 56 F9 CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 06 00 -T 21 02 00 00 22 06 01 00 00 DD 6E F6 DD 66 F7 -R 00 00 01 00 00 05 02 00 -T 2A 02 00 00 AF B6 28 03 -R 00 00 01 00 -T 2E 02 00 00 -R 00 00 01 00 -T 2E 02 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 31 02 00 00 -R 00 00 01 00 -T 31 02 00 00 21 0A 00 E5 21 04 00 39 4D 44 DD -R 00 00 01 00 -T 3C 02 00 00 5E FA DD 56 FB CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 06 00 -T 45 02 00 00 22 04 01 00 00 DD 6E F6 DD 66 F7 -R 00 00 01 00 00 05 02 00 -T 4E 02 00 00 AF B6 28 03 -R 00 00 01 00 -T 52 02 00 00 -R 00 00 01 00 -T 52 02 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 55 02 00 00 -R 00 00 01 00 -T 55 02 00 00 21 00 01 00 00 -R 00 00 01 00 00 05 02 00 -T 58 02 00 00 -R 00 00 01 00 -T 58 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 01 00 00 -R 00 00 02 00 -T 00 01 00 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/getpwnam.rel b/src/nos/lib/crt_large_lib/getpwnam.rel deleted file mode 100644 index b9dedd50..00000000 --- a/src/nos/lib/crt_large_lib/getpwnam.rel +++ /dev/null @@ -1,60 +0,0 @@ -XL4 -H 2 areas A global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _strcmp Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S _endpwent Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _getpwent Ref00000000 -S _setpwent Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 55 flags 0 -S _getpwnam Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 B6 03 20 12 -R 00 00 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 03 00 -T 16 00 00 00 16 23 36 00 21 00 00 18 33 -R 00 00 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 08 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 CD 00 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 02 05 07 00 -T 2B 00 00 00 7D B4 28 1A -R 00 00 01 00 -T 2F 00 00 00 -R 00 00 01 00 -T 2F 00 00 00 DD 4E 02 DD 46 03 DD 6E FE DD 66 -R 00 00 01 00 -T 3A 00 00 00 FF 5E 23 56 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 09 01 00 -T 43 00 00 00 20 02 -R 00 00 01 00 -T 45 00 00 00 -R 00 00 01 00 -T 45 00 00 00 18 02 -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 18 D9 -R 00 00 01 00 -T 49 00 00 00 -R 00 00 01 00 -T 49 00 00 00 CD 00 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 02 05 05 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/crt_large_lib/getpwuid.rel b/src/nos/lib/crt_large_lib/getpwuid.rel deleted file mode 100644 index 50c827ea..00000000 --- a/src/nos/lib/crt_large_lib/getpwuid.rel +++ /dev/null @@ -1,46 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _endpwent Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _getpwent Ref00000000 -S _setpwent Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3E flags 0 -S _getpwuid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF CD -R 00 00 01 00 02 05 04 00 -T 06 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 06 00 -T 08 00 00 00 -R 00 00 01 00 -T 08 00 00 00 CD 00 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 02 05 05 00 -T 11 00 00 00 7D B4 28 1D -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 21 04 00 DD 4E FE DD 46 FF 09 46 -R 00 00 01 00 -T 20 00 00 00 23 66 68 DD 4E 02 DD 46 03 A7 ED -R 00 00 01 00 -T 2B 00 00 00 42 20 02 -R 00 00 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 18 02 -R 00 00 01 00 -T 30 00 00 00 -R 00 00 01 00 -T 30 00 00 00 18 D6 -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 CD 00 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 02 05 03 00 -T 3B 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/crt_large_lib/gets.rel b/src/nos/lib/crt_large_lib/gets.rel deleted file mode 100644 index 5219a9eb..00000000 --- a/src/nos/lib/crt_large_lib/gets.rel +++ /dev/null @@ -1,89 +0,0 @@ -XL4 -H 2 areas B global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _fgetc Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _stdin Ref00000000 -S _fputc Ref00000000 -S _stdout Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _fputs Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size AF flags 0 -S _puts Def00000070 -S _gets Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 07 00 -T 09 00 00 00 66 03 DD 75 FE DD 74 FF -R 00 00 01 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 11 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 04 00 02 0A 01 00 -T 18 00 00 00 75 FC DD 74 FD 7D A4 3C 28 1E 3E -R 00 00 01 00 -T 23 00 00 00 0A DD AE FC DD B6 FD 28 14 -R 00 00 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 DD 46 FC DD 6E FE DD 66 FF 23 DD -R 00 00 01 00 -T 37 00 00 00 75 FE DD 74 FF 2B 70 18 D1 -R 00 00 01 00 -T 40 00 00 00 -R 00 00 01 00 -T 40 00 00 00 DD 6E FE DD 66 FF 36 00 DD 7E FC -R 00 00 01 00 -T 4B 00 00 00 DD A6 FD 3C 20 16 DD 6E 02 DD 66 -R 00 00 01 00 -T 56 00 00 00 03 DD 4E FE DD 46 FF A7 ED 42 20 -R 00 00 01 00 -T 61 00 00 00 05 21 00 00 18 06 -R 00 00 01 00 -T 67 00 00 00 -R 00 00 01 00 -T 67 00 00 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 6D 00 00 00 -R 00 00 01 00 -T 6D 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 CD 00 00 00 00 FE FF 01 -R 00 00 01 00 02 05 07 00 -T 76 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 CD -R 00 00 01 00 02 04 06 00 -T 7F 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 08 00 -T 88 00 00 00 A4 3C 28 0E 01 00 00 00 00 11 -R 00 00 01 00 02 09 06 00 -T 90 00 00 00 0A 00 CD 00 00 00 00 7D A4 3C 20 -R 00 00 01 00 02 07 05 00 -T 99 00 00 00 05 -R 00 00 01 00 -T 9A 00 00 00 -R 00 00 01 00 -T 9A 00 00 00 -R 00 00 01 00 -T 9A 00 00 00 -R 00 00 01 00 -T 9A 00 00 00 21 FF FF 18 0D -R 00 00 01 00 -T 9F 00 00 00 -R 00 00 01 00 -T 9F 00 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T AA 00 00 00 74 FF -R 00 00 01 00 -T AC 00 00 00 -R 00 00 01 00 -T AC 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/crt_large_lib/gmtime.rel b/src/nos/lib/crt_large_lib/gmtime.rel deleted file mode 100644 index a974ee84..00000000 --- a/src/nos/lib/crt_large_lib/gmtime.rel +++ /dev/null @@ -1,475 +0,0 @@ -XL4 -H 5 areas C global symbols -S ?US_RSH_L02 Ref00000000 -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _timezone Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SL_DIV_L03 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?SS_MOD_L02 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4F0 flags 0 -S _gmtime Def000004CB -S ___tm_conv Def00000000 -A UDATA0 size 12 flags 0 -A IDATA0 size 18 flags 0 -A CDATA0 size 18 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF 0A 6F 03 0A -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 67 7D E6 1F 4F 7C E6 00 47 69 60 -R 00 00 01 00 -T 14 00 00 00 29 E5 DD 6E 02 DD 66 03 C1 71 23 -R 00 00 01 00 -T 1F 00 00 00 70 DD 6E 02 DD 66 03 23 23 E5 DD -R 00 00 01 00 -T 2A 00 00 00 6E 04 DD 66 05 5E 23 56 06 05 CD -R 00 00 01 00 -T 35 00 00 00 00 00 00 00 7B E6 3F 6F 7A E6 00 -R 00 00 01 00 02 04 00 00 -T 3E 00 00 00 67 DD 4E 08 DD 46 09 09 4D 44 E1 -R 00 00 01 00 -T 49 00 00 00 71 23 70 21 04 00 DD 4E 02 DD 46 -R 00 00 01 00 -T 54 00 00 00 03 09 E5 DD 6E 04 DD 66 05 5E 23 -R 00 00 01 00 -T 5F 00 00 00 56 06 0B CD 00 00 00 00 7B E6 1F -R 00 00 01 00 02 08 00 00 -T 68 00 00 00 4F 7A E6 00 47 E1 71 23 70 21 -R 00 00 01 00 -T 72 00 00 00 06 00 DD 4E 02 DD 46 03 09 E5 DD -R 00 00 01 00 -T 7D 00 00 00 5E 04 DD 56 05 13 13 EB 5E 23 56 -R 00 00 01 00 -T 88 00 00 00 7B E6 1F 4F 7A E6 00 47 E1 71 23 -R 00 00 01 00 -T 93 00 00 00 70 21 08 00 DD 4E 02 DD 46 03 09 -R 00 00 01 00 -T 9E 00 00 00 E5 DD 6E 04 DD 66 05 23 23 5E 23 -R 00 00 01 00 -T A9 00 00 00 56 06 05 CD 00 00 00 00 7B E6 0F -R 00 00 01 00 02 08 00 00 -T B2 00 00 00 6F 7A E6 00 67 01 FF FF 09 4D 44 -R 00 00 01 00 -T BD 00 00 00 E1 71 23 70 DD 6E 04 DD 66 05 23 -R 00 00 01 00 -T C8 00 00 00 23 5E 23 56 06 09 CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T D1 00 00 00 7B E6 7F 6F 7A E6 00 67 01 BC 07 -R 00 00 01 00 -T DC 00 00 00 09 DD 75 F8 DD 74 F9 -R 00 00 01 00 -T E3 00 00 00 -R 00 00 01 00 -T E3 00 00 00 DD 6E 02 DD 66 03 23 23 23 CB 7E -R 00 00 01 00 -T EE 00 00 00 CA 0C 02 00 00 -R 00 00 01 00 00 05 01 00 -T F1 00 00 00 -R 00 00 01 00 -T F1 00 00 00 DD 6E 02 DD 66 03 23 23 7E C6 3C -R 00 00 01 00 -T FC 00 00 00 77 30 02 23 34 -R 00 00 01 00 -T 01 01 00 00 -R 00 00 01 00 -T 01 01 00 00 21 04 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 0C 01 00 00 23 46 0B 70 2B 71 -R 00 00 01 00 -T 12 01 00 00 -R 00 00 01 00 -T 12 01 00 00 21 04 00 DD 4E 02 DD 46 03 09 23 -R 00 00 01 00 -T 1D 01 00 00 CB 7E CA 09 02 00 00 -R 00 00 01 00 00 07 01 00 -T 22 01 00 00 -R 00 00 01 00 -T 22 01 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 2D 01 00 00 C6 18 77 30 02 23 34 -R 00 00 01 00 -T 34 01 00 00 -R 00 00 01 00 -T 34 01 00 00 21 08 00 09 56 23 66 6A 29 11 -R 00 00 01 00 -T 3E 01 00 00 00 00 00 00 19 56 23 66 6A DD 75 -R 00 00 01 00 00 04 03 00 -T 47 01 00 00 FA DD 74 FB 21 08 00 09 3E 01 AE -R 00 00 01 00 -T 52 01 00 00 23 B6 20 38 01 04 00 DD 5E F8 DD -R 00 00 01 00 -T 5D 01 00 00 56 F9 CD 00 00 00 00 7B B2 20 28 -R 00 00 01 00 02 07 09 00 -T 66 01 00 00 01 64 00 DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T 70 01 00 00 00 00 00 00 7B B2 20 10 01 90 01 -R 00 00 01 00 02 04 09 00 -T 79 01 00 00 DD 5E F8 DD 56 F9 CD 00 00 00 00 -R 00 00 01 00 02 0B 09 00 -T 82 01 00 00 7B B2 20 08 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 8E 01 00 00 -R 00 00 01 00 -T 8E 01 00 00 -R 00 00 01 00 -T 8E 01 00 00 21 06 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 99 01 00 00 23 46 0B 70 2B 71 -R 00 00 01 00 -T 9F 01 00 00 -R 00 00 01 00 -T 9F 01 00 00 21 06 00 DD 4E 02 DD 46 03 09 23 -R 00 00 01 00 -T AA 01 00 00 CB 7E 28 58 -R 00 00 01 00 -T AE 01 00 00 -R 00 00 01 00 -T AE 01 00 00 21 06 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T B9 01 00 00 DD 86 FA 77 23 7E DD 8E FB 77 21 -R 00 00 01 00 -T C4 01 00 00 08 00 09 4E 23 46 0B 70 2B 71 -R 00 00 01 00 -T CE 01 00 00 -R 00 00 01 00 -T CE 01 00 00 21 08 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T D9 01 00 00 23 46 21 00 00 CD 00 00 00 00 38 -R 00 00 01 00 02 0A 08 00 -T E2 01 00 00 21 -R 00 00 01 00 -T E3 01 00 00 -R 00 00 01 00 -T E3 01 00 00 21 08 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T EE 01 00 00 C6 0C 77 30 02 23 34 -R 00 00 01 00 -T F5 01 00 00 -R 00 00 01 00 -T F5 01 00 00 DD 6E F8 DD 66 F9 2B DD 75 F8 DD -R 00 00 01 00 -T 00 02 00 00 74 F9 18 CA -R 00 00 01 00 -T 04 02 00 00 -R 00 00 01 00 -T 04 02 00 00 18 99 -R 00 00 01 00 -T 06 02 00 00 -R 00 00 01 00 -T 06 02 00 00 C3 12 01 00 00 -R 00 00 01 00 00 05 01 00 -T 09 02 00 00 -R 00 00 01 00 -T 09 02 00 00 C3 E3 00 00 00 -R 00 00 01 00 00 05 01 00 -T 0C 02 00 00 -R 00 00 01 00 -T 0C 02 00 00 -R 00 00 01 00 -T 0C 02 00 00 DD 6E 02 DD 66 03 23 23 46 23 66 -R 00 00 01 00 -T 17 02 00 00 68 01 3C 80 3E 80 AC 67 ED 42 DA -R 00 00 01 00 -T 22 02 00 00 4E 03 00 00 -R 00 00 01 00 00 04 01 00 -T 24 02 00 00 -R 00 00 01 00 -T 24 02 00 00 DD 6E 02 DD 66 03 23 23 7E D6 3C -R 00 00 01 00 -T 2F 02 00 00 77 23 7E DE 00 77 21 04 00 DD 4E -R 00 00 01 00 -T 3A 02 00 00 02 DD 46 03 09 34 23 20 01 34 -R 00 00 01 00 -T 44 02 00 00 -R 00 00 01 00 -T 44 02 00 00 -R 00 00 01 00 -T 44 02 00 00 21 04 00 DD 4E 02 DD 46 03 09 46 -R 00 00 01 00 -T 4F 02 00 00 23 66 68 01 18 80 3E 80 AC 67 ED -R 00 00 01 00 -T 5A 02 00 00 42 DA 4B 03 00 00 -R 00 00 01 00 00 06 01 00 -T 5E 02 00 00 -R 00 00 01 00 -T 5E 02 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 69 02 00 00 D6 18 77 23 7E DE 00 77 21 08 00 -R 00 00 01 00 -T 74 02 00 00 09 56 23 66 6A 29 11 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 7D 02 00 00 19 56 23 66 6A DD 75 FA DD 74 FB -R 00 00 01 00 -T 88 02 00 00 21 08 00 09 3E 01 AE 23 B6 20 38 -R 00 00 01 00 -T 93 02 00 00 01 04 00 DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T 9D 02 00 00 00 00 00 00 7B B2 20 28 01 64 00 -R 00 00 01 00 02 04 09 00 -T A6 02 00 00 DD 5E F8 DD 56 F9 CD 00 00 00 00 -R 00 00 01 00 02 0B 09 00 -T AF 02 00 00 7B B2 20 10 01 90 01 DD 5E F8 DD -R 00 00 01 00 -T BA 02 00 00 56 F9 CD 00 00 00 00 7B B2 20 08 -R 00 00 01 00 02 07 09 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 -R 00 00 01 00 -T C3 02 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T CB 02 00 00 -R 00 00 01 00 -T CB 02 00 00 -R 00 00 01 00 -T CB 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 34 -R 00 00 01 00 -T D6 02 00 00 23 20 01 34 -R 00 00 01 00 -T DA 02 00 00 -R 00 00 01 00 -T DA 02 00 00 -R 00 00 01 00 -T DA 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T E5 02 00 00 23 46 DD 6E FA DD 66 FB CD -R 00 00 01 00 -T EE 02 00 00 00 00 00 00 30 56 -R 00 00 01 00 02 04 08 00 -T F2 02 00 00 -R 00 00 01 00 -T F2 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T FD 02 00 00 DD 96 FA 77 23 7E DD 9E FB 77 21 -R 00 00 01 00 -T 08 03 00 00 08 00 09 34 23 20 01 34 -R 00 00 01 00 -T 10 03 00 00 -R 00 00 01 00 -T 10 03 00 00 -R 00 00 01 00 -T 10 03 00 00 21 08 00 DD 4E 02 DD 46 03 09 46 -R 00 00 01 00 -T 1B 03 00 00 23 66 68 01 0C 80 3E 80 AC 67 ED -R 00 00 01 00 -T 26 03 00 00 42 38 1D -R 00 00 01 00 -T 29 03 00 00 -R 00 00 01 00 -T 29 03 00 00 21 08 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 34 03 00 00 D6 0C 77 23 7E DE 00 77 DD 34 F8 -R 00 00 01 00 -T 3F 03 00 00 20 03 DD 34 F9 -R 00 00 01 00 -T 44 03 00 00 -R 00 00 01 00 -T 44 03 00 00 18 CA -R 00 00 01 00 -T 46 03 00 00 -R 00 00 01 00 -T 46 03 00 00 18 92 -R 00 00 01 00 -T 48 03 00 00 -R 00 00 01 00 -T 48 03 00 00 C3 44 02 00 00 -R 00 00 01 00 00 05 01 00 -T 4B 03 00 00 -R 00 00 01 00 -T 4B 03 00 00 C3 0C 02 00 00 -R 00 00 01 00 00 05 01 00 -T 4E 03 00 00 -R 00 00 01 00 -T 4E 03 00 00 21 0A 00 DD 4E 02 DD 46 03 09 E5 -R 00 00 01 00 -T 59 03 00 00 21 94 F8 DD 4E F8 DD 46 F9 09 EB -R 00 00 01 00 -T 64 03 00 00 E1 73 23 72 21 CC 07 CD -R 00 00 01 00 -T 6C 03 00 00 00 00 00 00 30 12 -R 00 00 01 00 02 04 08 00 -T 70 03 00 00 -R 00 00 01 00 -T 70 03 00 00 DD 36 FA CD DD 36 FB 07 DD 36 FC -R 00 00 01 00 -T 7B 03 00 00 02 DD 36 FD 00 18 10 -R 00 00 01 00 -T 82 03 00 00 -R 00 00 01 00 -T 82 03 00 00 DD 36 FA B2 DD 36 FB 07 DD 36 FC -R 00 00 01 00 -T 8D 03 00 00 03 DD 36 FD 00 -R 00 00 01 00 -T 92 03 00 00 -R 00 00 01 00 -T 92 03 00 00 -R 00 00 01 00 -T 92 03 00 00 DD 4E F8 DD 46 F9 DD 6E FA DD 66 -R 00 00 01 00 -T 9D 03 00 00 FB CD 00 00 00 00 30 4D -R 00 00 01 00 02 06 08 00 -T A3 03 00 00 -R 00 00 01 00 -T A3 03 00 00 01 04 00 DD 5E FA DD 56 FB CD -R 00 00 01 00 -T AD 03 00 00 00 00 00 00 7B B2 20 25 01 64 00 -R 00 00 01 00 02 04 09 00 -T B6 03 00 00 DD 5E FA DD 56 FB CD 00 00 00 00 -R 00 00 01 00 02 0B 09 00 -T BF 03 00 00 7B B2 20 10 01 90 01 DD 5E FA DD -R 00 00 01 00 -T CA 03 00 00 56 FB CD 00 00 00 00 7B B2 20 05 -R 00 00 01 00 02 07 09 00 -T D3 03 00 00 -R 00 00 01 00 -T D3 03 00 00 11 02 00 18 03 -R 00 00 01 00 -T D8 03 00 00 -R 00 00 01 00 -T D8 03 00 00 11 01 00 -R 00 00 01 00 -T DB 03 00 00 -R 00 00 01 00 -T DB 03 00 00 21 04 00 39 7E 83 77 23 7E 8A 77 -R 00 00 01 00 -T E6 03 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T EE 03 00 00 -R 00 00 01 00 -T EE 03 00 00 18 A2 -R 00 00 01 00 -T F0 03 00 00 -R 00 00 01 00 -T F0 03 00 00 AF DD 77 FA DD 77 FB 21 06 00 DD -R 00 00 01 00 -T FB 03 00 00 4E 02 DD 46 03 09 46 23 66 68 DD -R 00 00 01 00 -T 06 04 00 00 75 FE DD 74 FF -R 00 00 01 00 -T 0B 04 00 00 -R 00 00 01 00 -T 0B 04 00 00 21 08 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 16 04 00 00 23 46 DD 6E FA DD 66 FB CD -R 00 00 01 00 -T 1F 04 00 00 00 00 00 00 30 65 -R 00 00 01 00 02 04 08 00 -T 23 04 00 00 -R 00 00 01 00 -T 23 04 00 00 DD 6E FA DD 66 FB 29 01 -R 00 00 01 00 -T 2B 04 00 00 00 00 00 00 09 4E 23 46 21 06 00 -R 00 00 01 00 00 04 03 00 -T 34 04 00 00 39 7E 81 77 23 7E 88 77 3E 01 DD -R 00 00 01 00 -T 3F 04 00 00 AE FA DD B6 FB 20 38 01 04 00 DD -R 00 00 01 00 -T 4A 04 00 00 5E FA DD 56 FB CD 00 00 00 00 7B -R 00 00 01 00 02 0A 09 00 -T 53 04 00 00 B2 20 28 01 64 00 DD 5E FA DD 56 -R 00 00 01 00 -T 5E 04 00 00 FB CD 00 00 00 00 7B B2 20 10 01 -R 00 00 01 00 02 06 09 00 -T 67 04 00 00 90 01 DD 5E FA DD 56 FB CD -R 00 00 01 00 -T 70 04 00 00 00 00 00 00 7B B2 20 08 -R 00 00 01 00 02 04 09 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 -R 00 00 01 00 -T 76 04 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 7E 04 00 00 -R 00 00 01 00 -T 7E 04 00 00 -R 00 00 01 00 -T 7E 04 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 86 04 00 00 -R 00 00 01 00 -T 86 04 00 00 18 83 -R 00 00 01 00 -T 88 04 00 00 -R 00 00 01 00 -T 88 04 00 00 21 0C 00 DD 4E 02 DD 46 03 09 E5 -R 00 00 01 00 -T 93 04 00 00 DD 6E FE DD 66 FF DD 5E FC DD 56 -R 00 00 01 00 -T 9E 04 00 00 FD 19 EB 01 07 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 09 00 -T A7 04 00 00 E1 73 23 72 21 0E 00 DD 4E 02 DD -R 00 00 01 00 -T B2 04 00 00 46 03 09 DD 5E FE DD 56 FF 13 73 -R 00 00 01 00 -T BD 04 00 00 23 72 21 10 00 09 36 FF 23 36 FF -R 00 00 01 00 -T C8 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T CB 04 00 00 -R 00 00 01 00 -T CB 04 00 00 CD 00 00 00 00 21 00 00 E5 21 -R 00 00 01 00 02 05 04 00 -T D3 04 00 00 3C 00 E5 ED 4B 02 00 00 00 2A -R 00 00 01 00 02 09 05 00 -T DB 04 00 00 00 00 00 00 CD 00 00 00 00 E5 4B -R 00 00 01 00 02 04 05 00 02 09 07 00 -T E2 04 00 00 42 11 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 02 00 00 0B 01 00 -T E9 04 00 00 E1 21 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 00 06 02 00 02 0B 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 1F 00 1C 00 1F 00 1E 00 1F 00 -R 00 00 04 00 -T 0A 00 00 00 1E 00 1F 00 1F 00 1E 00 1F 00 -R 00 00 04 00 -T 14 00 00 00 1E 00 1F 00 -R 00 00 04 00 diff --git a/src/nos/lib/crt_large_lib/initgrup.rel b/src/nos/lib/crt_large_lib/initgrup.rel deleted file mode 100644 index 46093e88..00000000 --- a/src/nos/lib/crt_large_lib/initgrup.rel +++ /dev/null @@ -1,102 +0,0 @@ -XL4 -H 2 areas A global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _endgrent Ref00000000 -S _strcmp Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _getgrent Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _setgroups Ref00000000 -S _setgrent Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size E1 flags 0 -S _initgroups Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 BA FF AF DD 77 FE -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 DD 77 FF DD 6E FE DD 66 FF 29 E5 -R 00 00 01 00 -T 14 00 00 00 21 04 00 39 5D 54 E1 19 71 23 70 -R 00 00 01 00 -T 1F 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 08 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 01 20 80 DD 6E FE DD 66 FF 3E 80 -R 00 00 01 00 -T 2D 00 00 00 AC 67 ED 42 D2 CC 00 00 00 CD -R 00 00 01 00 00 09 01 00 -T 35 00 00 00 00 00 00 00 DD 75 BA DD 74 BB 7D -R 00 00 01 00 02 04 05 00 -T 3E 00 00 00 B4 CA CC 00 00 00 -R 00 00 01 00 00 06 01 00 -T 42 00 00 00 -R 00 00 01 00 -T 42 00 00 00 -R 00 00 01 00 -T 42 00 00 00 -R 00 00 01 00 -T 42 00 00 00 21 04 00 DD 4E BA DD 46 BB 09 46 -R 00 00 01 00 -T 4D 00 00 00 23 66 68 DD 4E 04 DD 46 05 A7 ED -R 00 00 01 00 -T 58 00 00 00 42 28 6E -R 00 00 01 00 -T 5B 00 00 00 -R 00 00 01 00 -T 5B 00 00 00 21 06 00 DD 4E BA DD 46 BB 09 46 -R 00 00 01 00 -T 66 00 00 00 23 66 68 DD 75 FC DD 74 FD -R 00 00 01 00 -T 6F 00 00 00 -R 00 00 01 00 -T 6F 00 00 00 DD 6E FC DD 66 FD 7E 23 B6 28 4F -R 00 00 01 00 -T 7A 00 00 00 -R 00 00 01 00 -T 7A 00 00 00 DD 4E 02 DD 46 03 DD 6E FC DD 66 -R 00 00 01 00 -T 85 00 00 00 FD 5E 23 56 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 09 02 00 -T 8E 00 00 00 20 2A -R 00 00 01 00 -T 90 00 00 00 -R 00 00 01 00 -T 90 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 98 00 00 00 -R 00 00 01 00 -T 98 00 00 00 DD 6E FE DD 66 FF 29 E5 21 04 00 -R 00 00 01 00 -T A3 00 00 00 39 4D 44 E1 09 E5 21 04 00 DD 4E -R 00 00 01 00 -T AE 00 00 00 BA DD 46 BB 09 4E 23 46 E1 71 23 -R 00 00 01 00 -T B9 00 00 00 70 -R 00 00 01 00 -T BA 00 00 00 -R 00 00 01 00 -T BA 00 00 00 DD 7E FC C6 02 DD 77 FC 30 03 DD -R 00 00 01 00 -T C5 00 00 00 34 FD -R 00 00 01 00 -T C7 00 00 00 -R 00 00 01 00 -T C7 00 00 00 18 A6 -R 00 00 01 00 -T C9 00 00 00 -R 00 00 01 00 -T C9 00 00 00 -R 00 00 01 00 -T C9 00 00 00 C3 22 00 00 00 -R 00 00 01 00 00 05 01 00 -T CC 00 00 00 -R 00 00 01 00 -T CC 00 00 00 CD 00 00 00 00 21 02 00 39 4D 44 -R 00 00 01 00 02 05 01 00 -T D5 00 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 07 00 -T DE 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/crt_large_lib/isatty.rel b/src/nos/lib/crt_large_lib/isatty.rel deleted file mode 100644 index f46d76ba..00000000 --- a/src/nos/lib/crt_large_lib/isatty.rel +++ /dev/null @@ -1,38 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _fstat Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 36 flags 0 -S _isatty Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 E2 FF 21 00 00 39 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 4D 44 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 12 00 00 00 00 00 00 00 7D A4 3C 28 12 DD 7E -R 00 00 01 00 02 04 03 00 -T 1B 00 00 00 E6 E6 00 6F DD 7E E7 E6 F0 67 3E -R 00 00 01 00 -T 26 00 00 00 20 AC B5 28 05 -R 00 00 01 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 21 00 00 18 03 -R 00 00 01 00 -T 30 00 00 00 -R 00 00 01 00 -T 30 00 00 00 21 01 00 -R 00 00 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/crt_large_lib/itoa.rel b/src/nos/lib/crt_large_lib/itoa.rel deleted file mode 100644 index 34cf9a13..00000000 --- a/src/nos/lib/crt_large_lib/itoa.rel +++ /dev/null @@ -1,190 +0,0 @@ -XL4 -H 2 areas C global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?UL_DIVASG_L03 Ref00000000 -S ?L_NEG_L03 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?UL_MOD_L03 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?US_MOD_L02 Ref00000000 -S ?US_DIV_L02 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1F8 flags 0 -S _itoa Def00000194 -S ___longtoa Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D6 FF DD 6E 08 DD -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 66 09 DD 75 F8 DD 74 F9 21 00 00 -R 00 00 01 00 -T 14 00 00 00 39 DD 75 FA DD 74 FB 21 2C 00 39 -R 00 00 01 00 -T 1F 00 00 00 DD 75 FC DD 74 FD 21 38 00 39 7E -R 00 00 01 00 -T 2A 00 00 00 D6 0A 77 DD 4E 0A DD 46 0B 21 -R 00 00 01 00 -T 34 00 00 00 24 00 CD 00 00 00 00 38 11 01 -R 00 00 01 00 02 07 07 00 -T 3C 00 00 00 02 80 DD 6E 0A DD 66 0B 3E 80 AC -R 00 00 01 00 -T 47 00 00 00 67 ED 42 30 03 -R 00 00 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 C3 83 01 00 00 -R 00 00 01 00 00 05 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 DD 6E FC DD 66 FD 23 23 7E E6 00 -R 00 00 01 00 -T 5A 00 00 00 47 23 7E E6 80 B0 28 31 AF DD B6 -R 00 00 01 00 -T 65 00 00 00 0C 28 2B -R 00 00 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 DD 6E F8 DD 66 F9 23 DD 75 F8 DD -R 00 00 01 00 -T 73 00 00 00 74 F9 2B 36 2D DD 4E 04 DD 46 05 -R 00 00 01 00 -T 7E 00 00 00 DD 6E 02 DD 66 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 87 00 00 00 DD 75 02 DD 74 03 DD 71 04 DD 70 -R 00 00 01 00 -T 92 00 00 00 05 -R 00 00 01 00 -T 93 00 00 00 -R 00 00 01 00 -T 93 00 00 00 DD 6E FC DD 66 FD 23 23 7E 23 B6 -R 00 00 01 00 -T 9E 00 00 00 20 02 -R 00 00 01 00 -T A0 00 00 00 -R 00 00 01 00 -T A0 00 00 00 18 4E -R 00 00 01 00 -T A2 00 00 00 -R 00 00 01 00 -T A2 00 00 00 -R 00 00 01 00 -T A2 00 00 00 DD 6E 0A DD 66 0B 7C 07 9F 4F 41 -R 00 00 01 00 -T AD 00 00 00 C5 E5 DD 4E 04 DD 46 05 DD 6E 02 -R 00 00 01 00 -T B8 00 00 00 DD 66 03 CD 00 00 00 00 E5 DD 6E -R 00 00 01 00 02 08 06 00 -T C1 00 00 00 FA DD 66 FB 23 DD 75 FA DD 74 FB -R 00 00 01 00 -T CC 00 00 00 2B C1 71 21 2C 00 39 DD 5E 0A DD -R 00 00 01 00 -T D7 00 00 00 56 0B 7A 07 9F 4F 41 CD -R 00 00 01 00 -T DF 00 00 00 00 00 00 00 DD 6E FC DD 66 FD 23 -R 00 00 01 00 02 04 01 00 -T E8 00 00 00 23 7E 23 B6 20 B4 -R 00 00 01 00 -T EE 00 00 00 -R 00 00 01 00 -T EE 00 00 00 18 30 -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 DD 5E 02 DD 56 03 DD 4E 0A DD 46 -R 00 00 01 00 -T FB 00 00 00 0B CD 00 00 00 00 DD 6E FA DD 66 -R 00 00 01 00 02 06 08 00 -T 04 01 00 00 FB 23 DD 75 FA DD 74 FB 2B 73 DD -R 00 00 01 00 -T 0F 01 00 00 5E 02 DD 56 03 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 09 00 -T 18 01 00 00 6E FC DD 66 FD 73 23 72 -R 00 00 01 00 -T 20 01 00 00 -R 00 00 01 00 -T 20 01 00 00 DD 6E FC DD 66 FD 7E 23 B6 20 C5 -R 00 00 01 00 -T 2B 01 00 00 -R 00 00 01 00 -T 2B 01 00 00 21 00 00 39 4D 44 DD 6E FA DD 66 -R 00 00 01 00 -T 36 01 00 00 FB A7 ED 42 DD 75 FF -R 00 00 01 00 -T 3D 01 00 00 -R 00 00 01 00 -T 3D 01 00 00 AF DD B6 FF 28 40 -R 00 00 01 00 -T 43 01 00 00 -R 00 00 01 00 -T 43 01 00 00 DD 6E FA DD 66 FB 2B DD 75 FA DD -R 00 00 01 00 -T 4E 01 00 00 74 FB 46 DD 70 FE 78 FE 0A 30 0A -R 00 00 01 00 -T 59 01 00 00 -R 00 00 01 00 -T 59 01 00 00 DD 7E FE C6 30 DD 77 FE 18 09 -R 00 00 01 00 -T 63 01 00 00 -R 00 00 01 00 -T 63 01 00 00 DD 7E FE DD 86 0E DD 77 FE -R 00 00 01 00 -T 6C 01 00 00 -R 00 00 01 00 -T 6C 01 00 00 DD 6E F8 DD 66 F9 23 DD 75 F8 DD -R 00 00 01 00 -T 77 01 00 00 74 F9 2B DD 46 FE 70 DD 35 FF 18 -R 00 00 01 00 -T 82 01 00 00 BA -R 00 00 01 00 -T 83 01 00 00 -R 00 00 01 00 -T 83 01 00 00 -R 00 00 01 00 -T 83 01 00 00 DD 6E F8 DD 66 F9 36 00 DD 6E 08 -R 00 00 01 00 -T 8E 01 00 00 DD 66 09 C3 00 00 00 00 -R 00 00 01 00 02 08 03 00 -T 94 01 00 00 -R 00 00 01 00 -T 94 01 00 00 CD 00 00 00 00 FE FF DD 36 FE 41 -R 00 00 01 00 02 05 05 00 -T 9D 01 00 00 DD CB 09 7E 28 16 -R 00 00 01 00 -T A3 01 00 00 -R 00 00 01 00 -T A3 01 00 00 DD 36 FE 61 DD 4E 08 DD 46 09 A7 -R 00 00 01 00 -T AE 01 00 00 21 00 00 ED 42 DD 75 08 DD 74 09 -R 00 00 01 00 -T B9 01 00 00 -R 00 00 01 00 -T B9 01 00 00 DD 6E FE E5 0E 01 C5 DD 6E 08 DD -R 00 00 01 00 -T C4 01 00 00 66 09 E5 DD 6E 04 DD 66 05 E5 3E -R 00 00 01 00 -T CF 01 00 00 0A DD AE 08 DD B6 09 20 0D DD 5E -R 00 00 01 00 -T DA 01 00 00 02 DD 56 03 7A 07 9F 4F 41 18 09 -R 00 00 01 00 -T E5 01 00 00 -R 00 00 01 00 -T E5 01 00 00 DD 5E 02 DD 56 03 01 00 00 -R 00 00 01 00 -T EE 01 00 00 -R 00 00 01 00 -T EE 01 00 00 CD 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 00 05 01 00 -T F6 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 03 00 diff --git a/src/nos/lib/crt_large_lib/localtim.rel b/src/nos/lib/crt_large_lib/localtim.rel deleted file mode 100644 index 8b32f92b..00000000 --- a/src/nos/lib/crt_large_lib/localtim.rel +++ /dev/null @@ -1,23 +0,0 @@ -XL4 -H 3 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ___tm_conv Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S _localtime Def00000000 -A UDATA0 size 12 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 00 00 E5 4B 42 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 11 00 00 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 00 05 02 00 02 0A 04 00 -T 10 00 00 00 21 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0A 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/longjmp.rel b/src/nos/lib/crt_large_lib/longjmp.rel deleted file mode 100644 index 57e7e6b0..00000000 --- a/src/nos/lib/crt_large_lib/longjmp.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S _longjmp Def00000000 -T 00 00 00 00 78 B1 20 01 03 EB 5E 23 56 23 EB -R 00 00 01 00 -T 0B 00 00 00 F9 EB C5 4E 23 46 23 5E 23 56 23 -R 00 00 01 00 -T 16 00 00 00 D5 DD E1 5E 23 56 23 D5 FD E1 5E -R 00 00 01 00 -T 21 00 00 00 23 56 E1 D5 C9 -R 00 00 01 00 diff --git a/src/nos/lib/crt_large_lib/lsearch.rel b/src/nos/lib/crt_large_lib/lsearch.rel deleted file mode 100644 index fb4e926d..00000000 --- a/src/nos/lib/crt_large_lib/lsearch.rel +++ /dev/null @@ -1,87 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _memcpy Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?CALL_IND_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size DA flags 0 -S _lfind Def00000000 -S _lsearch Def00000063 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 08 DD -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 66 09 56 23 66 6A DD 75 FE DD 74 -R 00 00 01 00 -T 14 00 00 00 FF -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 DD 6E FE DD 66 FF 2B DD 75 FE DD -R 00 00 01 00 -T 20 00 00 00 74 FF 23 7D B4 28 36 -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 DD 4E 02 DD 46 03 DD 5E 04 DD 56 -R 00 00 01 00 -T 32 00 00 00 05 DD 6E 0C DD 66 0D CD -R 00 00 01 00 -T 3A 00 00 00 00 00 00 00 7D B4 20 08 -R 00 00 01 00 02 04 04 00 -T 40 00 00 00 -R 00 00 01 00 -T 40 00 00 00 DD 6E 04 DD 66 05 18 18 -R 00 00 01 00 -T 48 00 00 00 -R 00 00 01 00 -T 48 00 00 00 DD 6E 0A DD 66 0B DD 4E 04 DD 46 -R 00 00 01 00 -T 53 00 00 00 05 09 DD 75 04 DD 74 05 18 B8 -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 21 00 00 -R 00 00 01 00 -T 60 00 00 00 -R 00 00 01 00 -T 60 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 CD 00 00 00 00 FE FF DD 6E 0C DD -R 00 00 01 00 02 05 05 00 -T 6C 00 00 00 66 0D E5 DD 6E 0A DD 66 0B E5 DD -R 00 00 01 00 -T 77 00 00 00 6E 08 DD 66 09 E5 DD 5E 02 DD 56 -R 00 00 01 00 -T 82 00 00 00 03 CD 00 00 00 00 F1 F1 F1 DD 75 -R 00 00 01 00 00 06 01 00 -T 8B 00 00 00 FE DD 74 FF 7D B4 20 3E -R 00 00 01 00 -T 93 00 00 00 -R 00 00 01 00 -T 93 00 00 00 DD 6E 0A DD 66 0B E5 DD 4E 02 DD -R 00 00 01 00 -T 9E 00 00 00 46 03 C5 DD 6E 08 DD 66 09 5E 23 -R 00 00 01 00 -T A9 00 00 00 56 DD 4E 0A DD 46 0B CD -R 00 00 01 00 -T B1 00 00 00 00 00 00 00 DD 6E 04 DD 66 05 19 -R 00 00 01 00 02 04 06 00 -T BA 00 00 00 EB C1 CD 00 00 00 00 F1 DD 75 FE -R 00 00 01 00 02 07 01 00 -T C3 00 00 00 DD 74 FF DD 6E 08 DD 66 09 34 23 -R 00 00 01 00 -T CE 00 00 00 20 01 34 -R 00 00 01 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 02 00 diff --git a/src/nos/lib/crt_large_lib/lstat.rel b/src/nos/lib/crt_large_lib/lstat.rel deleted file mode 100644 index ad98fb2a..00000000 --- a/src/nos/lib/crt_large_lib/lstat.rel +++ /dev/null @@ -1,45 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _close Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _fstat Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _open Ref00000000 -S _stat Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5D flags 0 -S _lstat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 00 08 E5 -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 DD 6E 02 DD 66 03 E5 CD -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 F1 F1 DD 75 FE DD 74 -R 00 00 01 00 02 04 06 00 -T 1A 00 00 00 FF CB 7C 28 17 -R 00 00 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 -R 00 00 01 00 -T 2A 00 00 00 03 CD 00 00 00 00 DD 75 FC DD 74 -R 00 00 01 00 02 06 07 00 -T 33 00 00 00 FD 18 1E -R 00 00 01 00 -T 36 00 00 00 -R 00 00 01 00 -T 36 00 00 00 DD 4E 04 DD 46 05 DD 5E FE DD 56 -R 00 00 01 00 -T 41 00 00 00 FF CD 00 00 00 00 DD 75 FC DD 74 -R 00 00 01 00 02 06 04 00 -T 4A 00 00 00 FD DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 52 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 -T 54 00 00 00 -R 00 00 01 00 -T 54 00 00 00 DD 6E FC DD 66 FD C3 00 00 00 00 -R 00 00 01 00 02 0B 02 00 diff --git a/src/nos/lib/crt_large_lib/ltoa.rel b/src/nos/lib/crt_large_lib/ltoa.rel deleted file mode 100644 index 5f660abb..00000000 --- a/src/nos/lib/crt_large_lib/ltoa.rel +++ /dev/null @@ -1,42 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___longtoa Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5E flags 0 -S _ltoa Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 36 FE 41 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 DD CB 0B 7E 28 16 -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 DD 36 FE 61 DD 4E 0A DD 46 0B A7 -R 00 00 01 00 -T 1A 00 00 00 21 00 00 ED 42 DD 75 0A DD 74 0B -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 DD 6E FE E5 3E 0A DD AE 0A DD B6 -R 00 00 01 00 -T 30 00 00 00 0B 20 04 3E 01 18 01 -R 00 00 01 00 -T 37 00 00 00 -R 00 00 01 00 -T 37 00 00 00 AF -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 4F C5 DD 6E 0A DD 66 0B E5 DD 6E -R 00 00 01 00 -T 43 00 00 00 08 DD 66 09 E5 DD 4E 04 DD 46 05 -R 00 00 01 00 -T 4E 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 04 00 -T 57 00 00 00 F1 F1 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 09 01 00 diff --git a/src/nos/lib/crt_large_lib/ltostr.rel b/src/nos/lib/crt_large_lib/ltostr.rel deleted file mode 100644 index 49f59ffc..00000000 --- a/src/nos/lib/crt_large_lib/ltostr.rel +++ /dev/null @@ -1,33 +0,0 @@ -XL4 -H 3 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _ultoa Ref00000000 -S _ltoa Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2C flags 0 -S _ultostr Def00000000 -S _ltostr Def00000016 -A UDATA0 size 22 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 E5 21 00 00 00 00 E5 CD -R 00 00 01 00 00 06 02 00 -T 0F 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 04 00 02 0B 01 00 -T 16 00 00 00 -R 00 00 01 00 -T 16 00 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 03 00 -T 1F 00 00 00 E5 21 00 00 00 00 E5 CD -R 00 00 01 00 00 06 02 00 -T 25 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 05 00 02 0B 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/malloc.rel b/src/nos/lib/crt_large_lib/malloc.rel deleted file mode 100644 index f26a18cc..00000000 --- a/src/nos/lib/crt_large_lib/malloc.rel +++ /dev/null @@ -1,194 +0,0 @@ -XL4 -H 3 areas 9 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _free Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _sbrk Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 222 flags 0 -S _malloc Def00000000 -A UDATA0 size 6 flags 0 -S ___malloc_last Def00000004 -S ___malloc_head Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF DD 6E 02 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 66 03 23 23 23 CB 3C CB 1D CB 3C -R 00 00 01 00 -T 14 00 00 00 CB 1D 23 DD 75 FE DD 74 FF 2A -R 00 00 01 00 -T 1E 00 00 00 04 00 00 00 DD 75 FC DD 74 FD 7D -R 00 00 01 00 00 04 02 00 -T 27 00 00 00 B4 20 11 -R 00 00 01 00 -T 2A 00 00 00 -R 00 00 01 00 -T 2A 00 00 00 DD 36 FC 00 00 00 00 DD 36 FD -R 00 00 01 00 09 07 02 00 -T 31 00 00 00 00 00 00 00 21 00 00 00 00 22 -R 00 00 01 00 89 04 02 00 00 09 02 00 -T 36 00 00 00 02 00 00 00 22 04 00 00 00 -R 00 00 01 00 00 04 02 00 00 09 02 00 -T 3B 00 00 00 -R 00 00 01 00 -T 3B 00 00 00 DD 6E FC DD 66 FD 23 23 46 23 66 -R 00 00 01 00 -T 46 00 00 00 68 DD 75 FA DD 74 FB -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 DD 6E FA DD 66 FB 23 23 46 23 66 -R 00 00 01 00 -T 58 00 00 00 68 DD 4E FA DD 46 FB A7 ED 42 CA -R 00 00 01 00 -T 63 00 00 00 F0 00 00 00 DD 6E FA DD 66 FB 46 -R 00 00 01 00 00 04 01 00 -T 6C 00 00 00 23 66 68 29 29 DD 4E FA DD 46 FB -R 00 00 01 00 -T 77 00 00 00 09 E5 03 03 69 60 4E 23 46 E1 A7 -R 00 00 01 00 -T 82 00 00 00 ED 42 20 6A -R 00 00 01 00 -T 86 00 00 00 -R 00 00 01 00 -T 86 00 00 00 -R 00 00 01 00 -T 86 00 00 00 -R 00 00 01 00 -T 86 00 00 00 DD 6E FA DD 66 FB 23 23 46 23 66 -R 00 00 01 00 -T 91 00 00 00 68 ED 4B 04 00 00 00 A7 ED 42 20 -R 00 00 01 00 00 07 02 00 -T 9A 00 00 00 15 -R 00 00 01 00 -T 9B 00 00 00 -R 00 00 01 00 -T 9B 00 00 00 DD 6E FA DD 66 FB 23 23 46 23 66 -R 00 00 01 00 -T A6 00 00 00 68 23 23 46 23 66 68 22 -R 00 00 01 00 -T AE 00 00 00 04 00 00 00 -R 00 00 01 00 00 04 02 00 -T B0 00 00 00 -R 00 00 01 00 -T B0 00 00 00 DD 6E FA DD 66 FB 23 23 7E 23 66 -R 00 00 01 00 -T BB 00 00 00 6F 4E 23 46 DD 6E FA DD 66 FB 7E -R 00 00 01 00 -T C6 00 00 00 81 77 23 7E 88 77 DD 6E FA DD 66 -R 00 00 01 00 -T D1 00 00 00 FB 23 23 E5 DD 4E FA DD 46 FB 03 -R 00 00 01 00 -T DC 00 00 00 03 69 60 4E 23 46 03 03 69 60 4E -R 00 00 01 00 -T E7 00 00 00 23 46 E1 71 23 70 C3 4D 00 00 00 -R 00 00 01 00 00 0B 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 DD 6E FA DD 66 FB 46 23 66 68 DD -R 00 00 01 00 -T FB 00 00 00 4E FE DD 46 FF A7 ED 42 DA -R 00 00 01 00 -T 04 01 00 00 AE 01 00 00 -R 00 00 01 00 00 04 01 00 -T 06 01 00 00 -R 00 00 01 00 -T 06 01 00 00 DD 6E FA DD 66 FB 46 23 66 68 DD -R 00 00 01 00 -T 11 01 00 00 4E FE DD 46 FF A7 ED 42 20 1C -R 00 00 01 00 -T 1B 01 00 00 -R 00 00 01 00 -T 1B 01 00 00 DD 6E FC DD 66 FD 23 23 E5 DD 4E -R 00 00 01 00 -T 26 01 00 00 FA DD 46 FB 03 03 69 60 4E 23 46 -R 00 00 01 00 -T 31 01 00 00 E1 71 23 70 18 56 -R 00 00 01 00 -T 37 01 00 00 -R 00 00 01 00 -T 37 01 00 00 DD 6E FE DD 66 FF 29 29 DD 4E FA -R 00 00 01 00 -T 42 01 00 00 DD 46 FB 09 22 04 00 00 00 DD 6E -R 00 00 01 00 00 09 02 00 -T 4B 01 00 00 FC DD 66 FD 23 23 ED 5B -R 00 00 01 00 -T 53 01 00 00 04 00 00 00 73 23 72 2A -R 00 00 01 00 00 04 02 00 -T 59 01 00 00 04 00 00 00 23 23 E5 03 03 69 60 -R 00 00 01 00 00 04 02 00 -T 62 01 00 00 4E 23 46 E1 71 23 70 DD 6E FA DD -R 00 00 01 00 -T 6D 01 00 00 66 FB 46 23 66 68 DD 4E FE DD 46 -R 00 00 01 00 -T 78 01 00 00 FF A7 ED 42 E5 2A 04 00 00 00 D1 -R 00 00 01 00 00 0A 02 00 -T 81 01 00 00 73 23 72 DD 6E FA DD 66 FB 71 23 -R 00 00 01 00 -T 8C 01 00 00 70 -R 00 00 01 00 -T 8D 01 00 00 -R 00 00 01 00 -T 8D 01 00 00 DD 6E FC DD 66 FD 22 04 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 96 01 00 00 DD 6E FA DD 66 FB 23 23 AF 77 23 -R 00 00 01 00 -T A1 01 00 00 77 21 04 00 DD 4E FA DD 46 FB 09 -R 00 00 01 00 -T AC 01 00 00 18 22 -R 00 00 01 00 -T AE 01 00 00 -R 00 00 01 00 -T AE 01 00 00 2A 04 00 00 00 DD 4E FA DD 46 FB -R 00 00 01 00 00 05 02 00 -T B7 01 00 00 A7 ED 42 20 45 -R 00 00 01 00 -T BC 01 00 00 -R 00 00 01 00 -T BC 01 00 00 11 00 04 CD 00 00 00 00 DD 75 FA -R 00 00 01 00 02 08 05 00 -T C5 01 00 00 DD 74 FB 7D A4 3C 20 06 -R 00 00 01 00 -T CD 01 00 00 -R 00 00 01 00 -T CD 01 00 00 21 00 00 -R 00 00 01 00 -T D0 01 00 00 -R 00 00 01 00 -T D0 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T D3 01 00 00 -R 00 00 01 00 -T D3 01 00 00 DD 6E FA DD 66 FB 36 00 23 36 01 -R 00 00 01 00 -T DE 01 00 00 DD 6E FA DD 66 FB 23 23 AF 77 23 -R 00 00 01 00 -T E9 01 00 00 77 21 04 00 DD 4E FA DD 46 FB 09 -R 00 00 01 00 -T F4 01 00 00 EB CD 00 00 00 00 2A 04 00 00 00 -R 00 00 01 00 02 06 03 00 00 0B 02 00 -T FB 01 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 -T 01 02 00 00 -R 00 00 01 00 -T 01 02 00 00 DD 6E FA DD 66 FB DD 75 FC DD 74 -R 00 00 01 00 -T 0C 02 00 00 FD DD 6E FA DD 66 FB 23 23 46 23 -R 00 00 01 00 -T 17 02 00 00 66 68 DD 75 FA DD 74 FB C3 -R 00 00 01 00 -T 20 02 00 00 4D 00 00 00 -R 00 00 01 00 00 04 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 04 00 00 00 -R 00 00 02 00 -T 04 00 00 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/memccpy.rel b/src/nos/lib/crt_large_lib/memccpy.rel deleted file mode 100644 index 11cf06f9..00000000 --- a/src/nos/lib/crt_large_lib/memccpy.rel +++ /dev/null @@ -1,49 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 65 flags 0 -S _memccpy Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 66 03 DD 75 FC DD 74 FD DD 71 FE -R 00 00 01 00 -T 14 00 00 00 DD 70 FF -R 00 00 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 DD 6E 0A DD 66 0B 2B DD 75 0A DD -R 00 00 01 00 -T 22 00 00 00 74 0B 23 7D B4 28 36 -R 00 00 01 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 34 00 00 00 74 FF 2B 46 DD 6E FC DD 66 FD 23 -R 00 00 01 00 -T 3F 00 00 00 DD 75 FC DD 74 FD 2B 70 48 06 00 -R 00 00 01 00 -T 4A 00 00 00 DD 6E 08 DD 66 09 A7 ED 42 20 08 -R 00 00 01 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 DD 6E FC DD 66 FD 18 05 -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 18 B8 -R 00 00 01 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 21 00 00 -R 00 00 01 00 -T 62 00 00 00 -R 00 00 01 00 -T 62 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/crt_large_lib/memchr.rel b/src/nos/lib/crt_large_lib/memchr.rel deleted file mode 100644 index fdfd603c..00000000 --- a/src/nos/lib/crt_large_lib/memchr.rel +++ /dev/null @@ -1,47 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4F flags 0 -S _memchr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 66 03 DD 75 FE DD 74 FF -R 00 00 01 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 1C 00 00 00 74 09 23 7D B4 28 26 -R 00 00 01 00 -T 23 00 00 00 -R 00 00 01 00 -T 23 00 00 00 DD 6E FE DD 66 FF 4E 06 00 DD 6E -R 00 00 01 00 -T 2E 00 00 00 04 DD 66 05 A7 ED 42 20 08 -R 00 00 01 00 -T 37 00 00 00 -R 00 00 01 00 -T 37 00 00 00 DD 6E FE DD 66 FF 18 0D -R 00 00 01 00 -T 3F 00 00 00 -R 00 00 01 00 -T 3F 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 18 C8 -R 00 00 01 00 -T 49 00 00 00 -R 00 00 01 00 -T 49 00 00 00 21 00 00 -R 00 00 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/crt_large_lib/memcmp.rel b/src/nos/lib/crt_large_lib/memcmp.rel deleted file mode 100644 index 69497dfa..00000000 --- a/src/nos/lib/crt_large_lib/memcmp.rel +++ /dev/null @@ -1,47 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6D flags 0 -S _memcmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF DD 71 FA DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 70 FB DD 6E 02 DD 66 03 DD 75 FC -R 00 00 01 00 -T 14 00 00 00 DD 74 FD DD 36 FE 00 DD 36 FF 00 -R 00 00 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 2A 00 00 00 74 09 23 7D B4 28 2C -R 00 00 01 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD -R 00 00 01 00 -T 3C 00 00 00 74 FD 2B 46 DD 70 FF DD 6E FA DD -R 00 00 01 00 -T 47 00 00 00 66 FB 23 DD 75 FA DD 74 FB 2B 4E -R 00 00 01 00 -T 52 00 00 00 DD 71 FE 79 B8 28 02 -R 00 00 01 00 -T 59 00 00 00 -R 00 00 01 00 -T 59 00 00 00 18 02 -R 00 00 01 00 -T 5B 00 00 00 -R 00 00 01 00 -T 5B 00 00 00 18 C2 -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 DD 4E FF 06 00 DD 6E FE 26 00 A7 -R 00 00 01 00 -T 68 00 00 00 ED 42 C3 00 00 00 00 -R 00 00 01 00 02 07 01 00 diff --git a/src/nos/lib/crt_large_lib/memcpy.rel b/src/nos/lib/crt_large_lib/memcpy.rel deleted file mode 100644 index fabbdbdb..00000000 --- a/src/nos/lib/crt_large_lib/memcpy.rel +++ /dev/null @@ -1,35 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 52 flags 0 -S _memcpy Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 66 03 DD 75 FC DD 74 FD DD 71 FE -R 00 00 01 00 -T 14 00 00 00 DD 70 FF -R 00 00 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 22 00 00 00 74 09 23 7D B4 28 20 -R 00 00 01 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T 34 00 00 00 74 FF 2B 46 DD 6E FC DD 66 FD 23 -R 00 00 01 00 -T 3F 00 00 00 DD 75 FC DD 74 FD 2B 70 18 CE -R 00 00 01 00 -T 49 00 00 00 -R 00 00 01 00 -T 49 00 00 00 DD 6E 02 DD 66 03 C3 00 00 00 00 -R 00 00 01 00 02 0B 01 00 diff --git a/src/nos/lib/crt_large_lib/memmove.rel b/src/nos/lib/crt_large_lib/memmove.rel deleted file mode 100644 index d734999f..00000000 --- a/src/nos/lib/crt_large_lib/memmove.rel +++ /dev/null @@ -1,58 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _memcpy Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 95 flags 0 -S _memmove Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 66 03 DD 75 FC DD 74 FD DD 71 FE -R 00 00 01 00 -T 14 00 00 00 DD 70 FF A7 ED 42 DD 4E 08 DD 46 -R 00 00 01 00 -T 1F 00 00 00 09 A7 ED 42 38 19 -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 DD 6E 08 DD 66 09 E5 DD 4E 04 DD -R 00 00 01 00 -T 30 00 00 00 46 05 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 39 00 00 00 00 00 00 00 F1 18 54 -R 00 00 01 00 02 04 01 00 -T 3E 00 00 00 -R 00 00 01 00 -T 3E 00 00 00 21 00 00 39 7E DD 86 08 77 23 7E -R 00 00 01 00 -T 49 00 00 00 DD 8E 09 77 21 02 00 39 7E DD 86 -R 00 00 01 00 -T 54 00 00 00 08 77 23 7E DD 8E 09 77 -R 00 00 01 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 67 00 00 00 74 09 23 7D B4 28 1E -R 00 00 01 00 -T 6E 00 00 00 -R 00 00 01 00 -T 6E 00 00 00 DD 6E FE DD 66 FF 2B DD 75 FE DD -R 00 00 01 00 -T 79 00 00 00 74 FF 46 DD 6E FC DD 66 FD 2B DD -R 00 00 01 00 -T 84 00 00 00 75 FC DD 74 FD 70 18 D0 -R 00 00 01 00 -T 8C 00 00 00 -R 00 00 01 00 -T 8C 00 00 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/crt_large_lib/memset.rel b/src/nos/lib/crt_large_lib/memset.rel deleted file mode 100644 index da43361f..00000000 --- a/src/nos/lib/crt_large_lib/memset.rel +++ /dev/null @@ -1,31 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 40 flags 0 -S _memset Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 66 03 DD 75 FE DD 74 FF -R 00 00 01 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 1C 00 00 00 74 09 23 7D B4 28 14 -R 00 00 01 00 -T 23 00 00 00 -R 00 00 01 00 -T 23 00 00 00 DD 46 04 DD 6E FE DD 66 FF 23 DD -R 00 00 01 00 -T 2E 00 00 00 75 FE DD 74 FF 2B 70 18 DA -R 00 00 01 00 -T 37 00 00 00 -R 00 00 01 00 -T 37 00 00 00 DD 6E 02 DD 66 03 C3 00 00 00 00 -R 00 00 01 00 02 0B 01 00 diff --git a/src/nos/lib/crt_large_lib/mkdir.rel b/src/nos/lib/crt_large_lib/mkdir.rel deleted file mode 100644 index 0be2344a..00000000 --- a/src/nos/lib/crt_large_lib/mkdir.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _mknod Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1E flags 0 -S _mkdir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 00 00 E5 79 E6 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 FF 6F 78 E6 0F 67 7D F6 00 4F 7C -R 00 00 01 00 -T 14 00 00 00 F6 40 47 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 08 01 00 -T 1C 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/src/nos/lib/crt_large_lib/mktime.rel b/src/nos/lib/crt_large_lib/mktime.rel deleted file mode 100644 index b99ee0d3..00000000 --- a/src/nos/lib/crt_large_lib/mktime.rel +++ /dev/null @@ -1,41 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_32_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9C flags 0 -S _mktime Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 04 00 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 4E 02 DD 46 03 09 56 23 66 6A 65 -R 00 00 01 00 -T 14 00 00 00 2E 00 29 29 29 E5 03 03 0A 6F 03 -R 00 00 01 00 -T 1F 00 00 00 0A 67 29 29 29 29 29 4D 44 E1 7D -R 00 00 01 00 -T 2A 00 00 00 B1 5F 7C B0 57 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 35 00 00 00 46 23 66 68 CB 2C CB 1D 7B B5 4F -R 00 00 01 00 -T 40 00 00 00 7A B4 47 DD 71 FC DD 70 FD 21 -R 00 00 01 00 -T 4A 00 00 00 0A 00 DD 4E 02 DD 46 03 09 56 23 -R 00 00 01 00 -T 55 00 00 00 66 6A 11 B0 FF 19 65 2E 00 29 E5 -R 00 00 01 00 -T 60 00 00 00 21 08 00 09 56 23 66 6A 23 29 29 -R 00 00 01 00 -T 6B 00 00 00 29 29 29 EB E1 7D B3 4F 7C B2 47 -R 00 00 01 00 -T 76 00 00 00 21 06 00 DD 5E 02 DD 56 03 19 79 -R 00 00 01 00 -T 81 00 00 00 B6 5F 78 23 B6 57 DD 73 FE DD 72 -R 00 00 01 00 -T 8C 00 00 00 FF DD 4E FE DD 46 FF DD 6E FC DD -R 00 00 01 00 -T 97 00 00 00 66 FD C3 00 00 00 00 -R 00 00 01 00 02 07 01 00 diff --git a/src/nos/lib/crt_large_lib/opendir.rel b/src/nos/lib/crt_large_lib/opendir.rel deleted file mode 100644 index 2d316791..00000000 --- a/src/nos/lib/crt_large_lib/opendir.rel +++ /dev/null @@ -1,94 +0,0 @@ -XL4 -H 2 areas A global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S _free Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _calloc Ref00000000 -S _open Ref00000000 -S _stat Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size D3 flags 0 -S _opendir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 E0 FF 21 00 00 39 -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 4D 44 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 12 00 00 00 00 00 00 00 7D B4 28 03 -R 00 00 01 00 02 04 08 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 C3 C5 00 00 00 -R 00 00 01 00 00 05 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 DD 7E E4 E6 00 47 DD 7E E5 E6 40 -R 00 00 01 00 -T 26 00 00 00 B0 20 10 -R 00 00 01 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 02 00 -T 32 00 00 00 14 23 36 00 C3 C5 00 00 00 -R 00 00 01 00 00 09 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 01 08 00 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T 42 00 00 00 DD 75 FE DD 74 FF 7D B4 20 0F -R 00 00 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 02 00 -T 55 00 00 00 0C 23 36 00 18 6A -R 00 00 01 00 -T 5B 00 00 00 -R 00 00 01 00 -T 5B 00 00 00 21 06 00 DD 4E FE DD 46 FF 09 E5 -R 00 00 01 00 -T 66 00 00 00 01 15 00 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T 6F 00 00 00 4D 44 E1 71 23 70 79 B0 20 18 -R 00 00 01 00 -T 79 00 00 00 -R 00 00 01 00 -T 79 00 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 04 00 -T 82 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 02 00 -T 8B 00 00 00 0C 23 36 00 18 34 -R 00 00 01 00 -T 91 00 00 00 -R 00 00 01 00 -T 91 00 00 00 21 00 80 E5 DD 6E 02 DD 66 03 E5 -R 00 00 01 00 -T 9C 00 00 00 CD 00 00 00 00 F1 F1 E5 DD 6E FE -R 00 00 01 00 02 05 07 00 -T A5 00 00 00 DD 66 FF C1 71 23 70 CB 78 28 1A -R 00 00 01 00 -T B0 00 00 00 -R 00 00 01 00 -T B0 00 00 00 21 06 00 DD 4E FE DD 46 FF 09 5E -R 00 00 01 00 -T BB 00 00 00 23 56 CD 00 00 00 00 59 50 CD -R 00 00 01 00 02 07 04 00 -T C3 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 04 00 -T C5 00 00 00 -R 00 00 01 00 -T C5 00 00 00 21 00 00 18 06 -R 00 00 01 00 -T CA 00 00 00 -R 00 00 01 00 -T CA 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 -T D0 00 00 00 -R 00 00 01 00 -T D0 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/crt_large_lib/perror.rel b/src/nos/lib/crt_large_lib/perror.rel deleted file mode 100644 index 705443a4..00000000 --- a/src/nos/lib/crt_large_lib/perror.rel +++ /dev/null @@ -1,80 +0,0 @@ -XL4 -H 3 areas 9 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _strerror Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _write Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 84 flags 0 -S _perror Def00000045 -A CSTR size B flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 07 00 -T 09 00 00 00 66 03 DD 75 FE DD 74 FF -R 00 00 01 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 DD 6E FE DD 66 FF AF B6 28 0A -R 00 00 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 23 00 00 00 -R 00 00 01 00 -T 23 00 00 00 18 EC -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 DD 4E 02 DD 46 03 DD 6E FE DD 66 -R 00 00 01 00 -T 30 00 00 00 FF A7 ED 42 E5 DD 4E 02 DD 46 03 -R 00 00 01 00 -T 3B 00 00 00 11 02 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 08 06 00 -T 43 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 -T 45 00 00 00 -R 00 00 01 00 -T 45 00 00 00 CD 00 00 00 00 7B B2 20 08 -R 00 00 01 00 02 05 05 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 DD 36 02 00 00 00 00 DD 36 03 -R 00 00 01 00 09 07 02 00 -T 53 00 00 00 00 00 00 00 -R 00 00 01 00 89 04 02 00 -T 54 00 00 00 -R 00 00 01 00 -T 54 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 5D 00 00 00 11 06 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 00 0A 01 00 -T 64 00 00 00 4B 00 ED 4B 00 00 00 00 09 5E 23 -R 00 00 01 00 02 08 03 00 -T 6D 00 00 00 56 CD 00 00 00 00 DD 75 02 DD 74 -R 00 00 01 00 02 06 01 00 -T 76 00 00 00 03 EB CD 00 00 00 00 11 -R 00 00 01 00 00 07 01 00 -T 7C 00 00 00 09 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 00 04 02 00 00 09 01 00 -T 82 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 65 72 72 6F 72 00 -R 00 00 02 00 -T 06 00 00 00 -R 00 00 02 00 -T 06 00 00 00 3A 20 00 -R 00 00 02 00 -T 09 00 00 00 -R 00 00 02 00 -T 09 00 00 00 0A 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/popen.rel b/src/nos/lib/crt_large_lib/popen.rel deleted file mode 100644 index d0e3cadf..00000000 --- a/src/nos/lib/crt_large_lib/popen.rel +++ /dev/null @@ -1,171 +0,0 @@ -XL4 -H 5 areas 10 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _execve Ref00000000 -S _environ Ref00000000 -S _close Ref00000000 -S ___fopen Ref00000000 -S _abort Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _pipe Ref00000000 -S _waitpid Ref00000000 -S _fork Ref00000000 -S _dup2 Ref00000000 -S _fclose Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16B flags 0 -S _pclose Def0000013A -S _popen Def00000000 -A CSTR size E flags 0 -A IDATA0 size 8 flags 0 -A CDATA0 size 8 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF 21 00 00 39 -R 00 00 01 00 02 05 08 00 -T 09 00 00 00 5D 54 CD 00 00 00 00 CB 7C 28 06 -R 00 00 01 00 02 07 09 00 -T 12 00 00 00 -R 00 00 01 00 -T 12 00 00 00 21 00 00 C3 37 01 00 00 -R 00 00 01 00 00 08 01 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 DD 6E 04 DD 66 05 7E FE 72 20 04 -R 00 00 01 00 -T 23 00 00 00 0E 01 18 02 -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 0E 00 -R 00 00 01 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 06 00 DD 71 FC DD 70 FD 79 B0 20 -R 00 00 01 00 -T 34 00 00 00 04 0E 01 18 02 -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 0E 00 -R 00 00 01 00 -T 3B 00 00 00 -R 00 00 01 00 -T 3B 00 00 00 06 00 DD 71 FE DD 70 FF CD -R 00 00 01 00 -T 44 00 00 00 00 00 00 00 DD 75 FA DD 74 FB CB -R 00 00 01 00 02 04 0B 00 -T 4D 00 00 00 7C 28 18 -R 00 00 01 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 DD 5E F6 DD 56 F7 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 59 00 00 00 DD 5E F8 DD 56 F9 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 62 00 00 00 21 00 00 C3 37 01 00 00 -R 00 00 01 00 00 08 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 DD 7E FA DD B6 FB C2 FB 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 71 00 00 00 -R 00 00 01 00 -T 71 00 00 00 DD 6E FE DD 66 FF 29 E5 21 02 00 -R 00 00 01 00 -T 7C 00 00 00 39 4D 44 E1 09 5E 23 56 CD -R 00 00 01 00 -T 85 00 00 00 00 00 00 00 DD 5E FC DD 56 FD CD -R 00 00 01 00 02 04 03 00 -T 8E 00 00 00 00 00 00 00 DD 6E FC DD 66 FD 29 -R 00 00 01 00 02 04 03 00 -T 97 00 00 00 E5 21 02 00 39 4D 44 E1 09 46 23 -R 00 00 01 00 -T A2 00 00 00 66 68 DD 4E FC DD 46 FD A7 ED 42 -R 00 00 01 00 -T AD 00 00 00 28 32 -R 00 00 01 00 -T AF 00 00 00 -R 00 00 01 00 -T AF 00 00 00 DD 4E FC DD 46 FD DD 6E FC DD 66 -R 00 00 01 00 -T BA 00 00 00 FD 29 E5 21 02 00 39 5D 54 E1 19 -R 00 00 01 00 -T C5 00 00 00 5E 23 56 CD 00 00 00 00 DD 6E FC -R 00 00 01 00 02 08 0C 00 -T CE 00 00 00 DD 66 FD 29 E5 21 02 00 39 4D 44 -R 00 00 01 00 -T D9 00 00 00 E1 09 5E 23 56 CD 00 00 00 00 -R 00 00 01 00 02 0A 03 00 -T E1 00 00 00 -R 00 00 01 00 -T E1 00 00 00 DD 6E 02 DD 66 03 22 04 00 00 00 -R 00 00 01 00 00 0B 03 00 -T EA 00 00 00 2A 00 00 00 00 E5 01 00 00 00 00 -R 00 00 01 00 02 05 02 00 00 0B 03 00 -T F1 00 00 00 11 06 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 00 05 02 00 02 0A 01 00 -T F8 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T FB 00 00 00 -R 00 00 01 00 -T FB 00 00 00 DD 6E FC DD 66 FD 29 E5 21 02 00 -R 00 00 01 00 -T 06 01 00 00 39 4D 44 E1 09 5E 23 56 CD -R 00 00 01 00 -T 0F 01 00 00 00 00 00 00 DD 6E 04 DD 66 05 E5 -R 00 00 01 00 02 04 03 00 -T 18 01 00 00 21 00 00 E5 DD 6E FE DD 66 FF 29 -R 00 00 01 00 -T 23 01 00 00 E5 21 06 00 39 4D 44 E1 09 4E 23 -R 00 00 01 00 -T 2E 01 00 00 46 11 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 09 04 00 -T 37 01 00 00 -R 00 00 01 00 -T 37 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 3A 01 00 00 -R 00 00 01 00 -T 3A 01 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 08 00 -T 43 01 00 00 56 03 CD 00 00 00 00 7D B4 28 05 -R 00 00 01 00 02 07 0D 00 -T 4C 01 00 00 -R 00 00 01 00 -T 4C 01 00 00 21 FF FF 18 17 -R 00 00 01 00 -T 51 01 00 00 -R 00 00 01 00 -T 51 01 00 00 21 00 00 E5 21 02 00 39 4D 44 11 -R 00 00 01 00 -T 5C 01 00 00 FF FF CD 00 00 00 00 F1 DD 6E FE -R 00 00 01 00 02 07 0A 00 -T 65 01 00 00 DD 66 FF -R 00 00 01 00 -T 68 01 00 00 -R 00 00 01 00 -T 68 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 73 68 00 -R 00 00 02 00 -T 03 00 00 00 -R 00 00 02 00 -T 03 00 00 00 2D 63 00 -R 00 00 02 00 -T 06 00 00 00 -R 00 00 02 00 -T 06 00 00 00 2F 62 69 6E 2F 73 68 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 00 00 00 00 03 00 00 00 00 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 06 00 00 00 00 00 -R 00 00 04 00 diff --git a/src/nos/lib/crt_large_lib/printf.rel b/src/nos/lib/crt_large_lib/printf.rel deleted file mode 100644 index ab1b113f..00000000 --- a/src/nos/lib/crt_large_lib/printf.rel +++ /dev/null @@ -1,23 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _stdout Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _vfprintf Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2A flags 0 -S _printf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 0C 00 39 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 01 02 00 09 DD 75 FC DD 74 FD E5 -R 00 00 01 00 -T 14 00 00 00 DD 4E 08 DD 46 09 11 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 1D 00 00 00 CD 00 00 00 00 F1 DD 75 FE DD 74 -R 00 00 01 00 02 05 05 00 -T 26 00 00 00 FF C3 00 00 00 00 -R 00 00 01 00 02 06 01 00 diff --git a/src/nos/lib/crt_large_lib/putenv.rel b/src/nos/lib/crt_large_lib/putenv.rel deleted file mode 100644 index a52a4fc6..00000000 --- a/src/nos/lib/crt_large_lib/putenv.rel +++ /dev/null @@ -1,189 +0,0 @@ -XL4 -H 4 areas D global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _environ Ref00000000 -S _memcpy Ref00000000 -S _strchr Ref00000000 -S _strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _free Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S _malloc Ref00000000 -S _memcmp Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1B7 flags 0 -S _putenv Def00000000 -A IDATA0 size 4 flags 0 -A CDATA0 size 4 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF 01 3D 00 DD -R 00 00 01 00 02 05 08 00 -T 09 00 00 00 5E 02 DD 56 03 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 03 00 -T 12 00 00 00 75 FA DD 74 FB 7D B4 20 11 -R 00 00 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 04 00 -T 24 00 00 00 DD 75 FE DD 74 FF 18 15 -R 00 00 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 DD 4E 02 DD 46 03 DD 6E FA DD 66 -R 00 00 01 00 -T 37 00 00 00 FB A7 ED 42 DD 75 FE DD 74 FF -R 00 00 01 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 2A 00 00 00 00 DD 75 F6 DD 74 F7 -R 00 00 01 00 02 05 01 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 DD 6E F6 DD 66 F7 46 23 66 68 DD -R 00 00 01 00 -T 55 00 00 00 75 FC DD 74 FD 7D B4 CA -R 00 00 01 00 -T 5D 00 00 00 E1 00 00 00 -R 00 00 01 00 00 04 01 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 DD 6E 02 DD 66 03 E5 DD 6E FC DD -R 00 00 01 00 -T 6A 00 00 00 66 FD 7E E1 BE 20 60 DD 6E FE DD -R 00 00 01 00 -T 75 00 00 00 66 FF DD 4E FC DD 46 FD 09 7E FE -R 00 00 01 00 -T 80 00 00 00 3D 20 4E DD 6E FE DD 66 FF E5 DD -R 00 00 01 00 -T 8B 00 00 00 4E FC DD 46 FD DD 5E 02 DD 56 03 -R 00 00 01 00 -T 96 00 00 00 CD 00 00 00 00 F1 7D B4 20 33 -R 00 00 01 00 02 05 0B 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 DD 6E F6 DD 66 F7 23 23 46 23 66 -R 00 00 01 00 -T A9 00 00 00 68 E5 DD 6E F6 DD 66 F7 C1 71 23 -R 00 00 01 00 -T B4 00 00 00 70 79 B0 28 0F -R 00 00 01 00 -T B9 00 00 00 -R 00 00 01 00 -T B9 00 00 00 DD 7E F6 C6 02 DD 77 F6 30 03 DD -R 00 00 01 00 -T C4 00 00 00 34 F7 -R 00 00 01 00 -T C6 00 00 00 -R 00 00 01 00 -T C6 00 00 00 18 D6 -R 00 00 01 00 -T C8 00 00 00 -R 00 00 01 00 -T C8 00 00 00 2A 02 00 00 00 23 22 02 00 00 00 -R 00 00 01 00 00 05 02 00 00 0B 02 00 -T CF 00 00 00 18 10 -R 00 00 01 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 DD 7E F6 C6 02 DD 77 F6 30 03 DD -R 00 00 01 00 -T DC 00 00 00 34 F7 -R 00 00 01 00 -T DE 00 00 00 -R 00 00 01 00 -T DE 00 00 00 C3 4A 00 00 00 -R 00 00 01 00 00 05 01 00 -T E1 00 00 00 -R 00 00 01 00 -T E1 00 00 00 DD 7E FA DD B6 FB 20 06 -R 00 00 01 00 -T E9 00 00 00 -R 00 00 01 00 -T E9 00 00 00 21 00 00 C3 B4 01 00 00 -R 00 00 01 00 00 08 01 00 -T EF 00 00 00 -R 00 00 01 00 -T EF 00 00 00 ED 4B 02 00 00 00 21 00 00 CD -R 00 00 01 00 00 06 02 00 -T F7 00 00 00 00 00 00 00 DA 87 01 00 00 -R 00 00 01 00 02 04 09 00 00 09 01 00 -T FC 00 00 00 -R 00 00 01 00 -T FC 00 00 00 ED 4B 00 00 00 00 DD 6E F6 DD 66 -R 00 00 01 00 02 06 01 00 -T 05 01 00 00 F7 A7 ED 42 CB 2C CB 1D 01 05 00 -R 00 00 01 00 -T 10 01 00 00 09 29 EB CD 00 00 00 00 DD 75 F8 -R 00 00 01 00 02 08 0A 00 -T 19 01 00 00 DD 74 F9 7D B4 20 06 -R 00 00 01 00 -T 20 01 00 00 -R 00 00 01 00 -T 20 01 00 00 21 FF FF C3 B4 01 00 00 -R 00 00 01 00 00 08 01 00 -T 26 01 00 00 -R 00 00 01 00 -T 26 01 00 00 ED 4B 00 00 00 00 DD 6E F6 DD 66 -R 00 00 01 00 02 06 01 00 -T 2F 01 00 00 F7 A7 ED 42 CB 2C CB 1D 23 29 E5 -R 00 00 01 00 -T 3A 01 00 00 ED 4B 00 00 00 00 DD 5E F8 DD 56 -R 00 00 01 00 02 06 01 00 -T 43 01 00 00 F9 CD 00 00 00 00 F1 ED 4B -R 00 00 01 00 02 06 02 00 -T 4A 01 00 00 00 00 00 00 DD 6E F6 DD 66 F7 A7 -R 00 00 01 00 02 04 01 00 -T 53 01 00 00 ED 42 CB 2C CB 1D 29 DD 4E F8 DD -R 00 00 01 00 -T 5E 01 00 00 46 F9 09 DD 75 F6 DD 74 F7 21 -R 00 00 01 00 -T 68 01 00 00 04 00 22 02 00 00 00 2A -R 00 00 01 00 00 07 02 00 -T 6E 01 00 00 00 00 00 00 7D B4 28 07 -R 00 00 01 00 00 04 02 00 -T 74 01 00 00 -R 00 00 01 00 -T 74 01 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 02 00 02 0B 07 00 -T 7B 01 00 00 -R 00 00 01 00 -T 7B 01 00 00 DD 6E F8 DD 66 F9 22 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 84 01 00 00 22 00 00 00 00 -R 00 00 01 00 00 05 02 00 -T 87 01 00 00 -R 00 00 01 00 -T 87 01 00 00 DD 6E F6 DD 66 F7 4D 44 03 03 DD -R 00 00 01 00 -T 92 01 00 00 71 F6 DD 70 F7 DD 4E 02 DD 46 03 -R 00 00 01 00 -T 9D 01 00 00 71 23 70 DD 6E F6 DD 66 F7 AF 77 -R 00 00 01 00 -T A8 01 00 00 23 77 2A 02 00 00 00 2B 22 -R 00 00 01 00 00 07 02 00 -T AF 01 00 00 02 00 00 00 21 00 00 -R 00 00 01 00 00 04 02 00 -T B4 01 00 00 -R 00 00 01 00 -T B4 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/src/nos/lib/crt_large_lib/putgetch.rel b/src/nos/lib/crt_large_lib/putgetch.rel deleted file mode 100644 index d76679df..00000000 --- a/src/nos/lib/crt_large_lib/putgetch.rel +++ /dev/null @@ -1,41 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _write Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 40 flags 0 -S __putchar Def00000000 -S __getchar Def00000017 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 01 00 E5 21 -R 00 00 01 00 02 05 04 00 -T 08 00 00 00 04 00 39 4D 44 11 01 00 CD -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 05 00 02 0A 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 CD 00 00 00 00 FE FF 21 01 00 E5 -R 00 00 01 00 02 05 06 00 -T 20 00 00 00 21 02 00 39 4D 44 11 00 00 CD -R 00 00 01 00 -T 2A 00 00 00 00 00 00 00 F1 3E 01 AD B4 20 07 -R 00 00 01 00 02 04 02 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 DD 6E FE 26 00 18 03 -R 00 00 01 00 -T 3A 00 00 00 -R 00 00 01 00 -T 3A 00 00 00 21 FF FF -R 00 00 01 00 -T 3D 00 00 00 -R 00 00 01 00 -T 3D 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/crt_large_lib/putpwent.rel b/src/nos/lib/crt_large_lib/putpwent.rel deleted file mode 100644 index 01f9a6f3..00000000 --- a/src/nos/lib/crt_large_lib/putpwent.rel +++ /dev/null @@ -1,66 +0,0 @@ -XL4 -H 3 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _fprintf Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 85 flags 0 -S _putpwent Def00000000 -A CSTR size 16 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 7B B2 28 08 DD 7E -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 04 DD B6 05 20 12 -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 02 00 -T 18 00 00 00 16 23 36 00 21 FF FF 18 61 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 2C 00 00 00 23 56 D5 21 0A 00 09 5E 23 56 D5 -R 00 00 01 00 -T 37 00 00 00 21 08 00 09 5E 23 56 D5 21 06 00 -R 00 00 01 00 -T 42 00 00 00 09 5E 23 56 D5 21 04 00 09 5E 23 -R 00 00 01 00 -T 4D 00 00 00 56 D5 03 03 69 60 4E 23 46 C5 DD -R 00 00 01 00 -T 58 00 00 00 6E 02 DD 66 03 4E 23 46 C5 21 -R 00 00 01 00 -T 62 00 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 00 04 02 00 -T 6B 00 00 00 E5 CD 00 00 00 00 EB 21 12 00 39 -R 00 00 01 00 02 06 05 00 -T 74 00 00 00 F9 EB CB 7C 28 05 -R 00 00 01 00 -T 7A 00 00 00 -R 00 00 01 00 -T 7A 00 00 00 21 FF FF 18 03 -R 00 00 01 00 -T 7F 00 00 00 -R 00 00 01 00 -T 7F 00 00 00 21 00 00 -R 00 00 01 00 -T 82 00 00 00 -R 00 00 01 00 -T 82 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 25 73 3A 25 73 3A 25 75 3A 25 75 -R 00 00 02 00 -T 0B 00 00 00 3A 25 73 3A 25 73 3A 25 73 0A 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/qsort.rel b/src/nos/lib/crt_large_lib/qsort.rel deleted file mode 100644 index af75f0af..00000000 --- a/src/nos/lib/crt_large_lib/qsort.rel +++ /dev/null @@ -1,305 +0,0 @@ -XL4 -H 3 areas A global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?CALL_IND_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?US_DIV_L02 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 372 flags 0 -S _qsort Def0000032E -A UDATA0 size 2 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF -R 00 00 01 00 02 05 05 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 DD 4E 04 DD 46 05 DD 6E 02 DD 66 -R 00 00 01 00 -T 10 00 00 00 03 A7 ED 42 38 03 -R 00 00 01 00 -T 16 00 00 00 -R 00 00 01 00 -T 16 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 19 00 00 00 -R 00 00 01 00 -T 19 00 00 00 DD 6E 02 DD 66 03 DD 75 F6 DD 74 -R 00 00 01 00 -T 24 00 00 00 F7 DD 6E 04 DD 66 05 DD 75 F8 DD -R 00 00 01 00 -T 2F 00 00 00 74 F9 DD 4E 02 DD 46 03 DD 6E 04 -R 00 00 01 00 -T 3A 00 00 00 DD 66 05 A7 ED 42 DD 4E 08 DD 46 -R 00 00 01 00 -T 45 00 00 00 09 09 EB 69 60 29 4D 44 CD -R 00 00 01 00 -T 4E 00 00 00 00 00 00 00 DD 4E 08 DD 46 09 CD -R 00 00 01 00 02 04 08 00 -T 57 00 00 00 00 00 00 00 DD 6E 02 DD 66 03 19 -R 00 00 01 00 02 04 06 00 -T 60 00 00 00 DD 75 FC DD 74 FD DD 75 FA DD 74 -R 00 00 01 00 -T 6B 00 00 00 FB -R 00 00 01 00 -T 6C 00 00 00 -R 00 00 01 00 -T 6C 00 00 00 -R 00 00 01 00 -T 6C 00 00 00 DD 4E FA DD 46 FB DD 6E F6 DD 66 -R 00 00 01 00 -T 77 00 00 00 F7 A7 ED 42 30 61 DD 4E FA DD 46 -R 00 00 01 00 -T 82 00 00 00 FB DD 5E F6 DD 56 F7 2A -R 00 00 01 00 -T 8A 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 00 04 02 00 02 09 04 00 -T 91 00 00 00 FE DD 74 FF 4D 44 21 00 00 CD -R 00 00 01 00 -T 9B 00 00 00 00 00 00 00 38 3F -R 00 00 01 00 02 04 07 00 -T 9F 00 00 00 -R 00 00 01 00 -T 9F 00 00 00 -R 00 00 01 00 -T 9F 00 00 00 -R 00 00 01 00 -T 9F 00 00 00 DD CB FF 7E 28 11 -R 00 00 01 00 -T A5 00 00 00 -R 00 00 01 00 -T A5 00 00 00 21 00 00 39 7E DD 86 08 77 23 7E -R 00 00 01 00 -T B0 00 00 00 DD 8E 09 77 18 26 -R 00 00 01 00 -T B6 00 00 00 -R 00 00 01 00 -T B6 00 00 00 21 04 00 39 7E DD 96 08 77 23 7E -R 00 00 01 00 -T C1 00 00 00 DD 9E 09 77 DD 6E 08 DD 66 09 E5 -R 00 00 01 00 -T CC 00 00 00 DD 4E FA DD 46 FB DD 5E F6 DD 56 -R 00 00 01 00 -T D7 00 00 00 F7 CD 78 02 00 00 E1 -R 00 00 01 00 00 06 01 00 -T DC 00 00 00 -R 00 00 01 00 -T DC 00 00 00 18 8E -R 00 00 01 00 -T DE 00 00 00 -R 00 00 01 00 -T DE 00 00 00 -R 00 00 01 00 -T DE 00 00 00 DD 4E F8 DD 46 F9 DD 6E FC DD 66 -R 00 00 01 00 -T E9 00 00 00 FD A7 ED 42 D2 E3 01 00 00 -R 00 00 01 00 00 09 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 DD 4E FC DD 46 FD DD 5E F8 DD 56 -R 00 00 01 00 -T FB 00 00 00 F9 2A 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 02 00 02 0B 04 00 -T 02 01 00 00 DD 75 FE DD 74 FF CB 7C CA -R 00 00 01 00 -T 0B 01 00 00 A1 01 00 00 -R 00 00 01 00 00 04 01 00 -T 0D 01 00 00 -R 00 00 01 00 -T 0D 01 00 00 DD 4E FA DD 46 FB DD 6E F6 DD 66 -R 00 00 01 00 -T 18 01 00 00 F7 A7 ED 42 30 38 -R 00 00 01 00 -T 1E 01 00 00 -R 00 00 01 00 -T 1E 01 00 00 DD 6E 08 DD 66 09 E5 DD 4E F8 DD -R 00 00 01 00 -T 29 01 00 00 46 F9 DD 5E F6 DD 56 F7 CD -R 00 00 01 00 -T 32 01 00 00 78 02 00 00 E1 21 00 00 39 7E DD -R 00 00 01 00 00 04 01 00 -T 3B 01 00 00 86 08 77 23 7E DD 8E 09 77 21 -R 00 00 01 00 -T 45 01 00 00 02 00 39 7E DD 96 08 77 23 7E DD -R 00 00 01 00 -T 50 01 00 00 9E 09 77 C3 6C 00 00 00 -R 00 00 01 00 00 08 01 00 -T 56 01 00 00 -R 00 00 01 00 -T 56 01 00 00 21 06 00 39 7E DD 86 08 77 23 7E -R 00 00 01 00 -T 61 01 00 00 DD 8E 09 77 DD 6E 08 DD 66 09 E5 -R 00 00 01 00 -T 6C 01 00 00 DD 6E F8 DD 66 F9 E5 DD 4E FC DD -R 00 00 01 00 -T 77 01 00 00 46 FD DD 5E F6 DD 56 F7 CD -R 00 00 01 00 -T 80 01 00 00 C8 02 00 00 E1 E1 21 04 00 39 7E -R 00 00 01 00 00 04 01 00 -T 89 01 00 00 DD 86 08 77 23 7E DD 8E 09 77 DD -R 00 00 01 00 -T 94 01 00 00 6E FA DD 66 FB DD 75 F6 DD 74 F7 -R 00 00 01 00 -T 9F 01 00 00 18 3F -R 00 00 01 00 -T A1 01 00 00 -R 00 00 01 00 -T A1 01 00 00 DD 7E FE DD B6 FF 20 28 -R 00 00 01 00 -T A9 01 00 00 -R 00 00 01 00 -T A9 01 00 00 21 06 00 39 7E DD 86 08 77 23 7E -R 00 00 01 00 -T B4 01 00 00 DD 8E 09 77 DD 6E 08 DD 66 09 E5 -R 00 00 01 00 -T BF 01 00 00 DD 4E FC DD 46 FD DD 5E F8 DD 56 -R 00 00 01 00 -T CA 01 00 00 F9 CD 78 02 00 00 E1 18 0F -R 00 00 01 00 00 06 01 00 -T D1 01 00 00 -R 00 00 01 00 -T D1 01 00 00 21 02 00 39 7E DD 96 08 77 23 7E -R 00 00 01 00 -T DC 01 00 00 DD 9E 09 77 -R 00 00 01 00 -T E0 01 00 00 -R 00 00 01 00 -T E0 01 00 00 -R 00 00 01 00 -T E0 01 00 00 C3 DE 00 00 00 -R 00 00 01 00 00 05 01 00 -T E3 01 00 00 -R 00 00 01 00 -T E3 01 00 00 DD 4E FA DD 46 FB DD 6E F6 DD 66 -R 00 00 01 00 -T EE 01 00 00 F7 A7 ED 42 30 4C -R 00 00 01 00 -T F4 01 00 00 -R 00 00 01 00 -T F4 01 00 00 21 04 00 39 7E DD 96 08 77 23 7E -R 00 00 01 00 -T FF 01 00 00 DD 9E 09 77 DD 6E 08 DD 66 09 E5 -R 00 00 01 00 -T 0A 02 00 00 DD 6E F6 DD 66 F7 E5 DD 4E FA DD -R 00 00 01 00 -T 15 02 00 00 46 FB DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T 1E 02 00 00 C8 02 00 00 E1 E1 21 06 00 39 7E -R 00 00 01 00 00 04 01 00 -T 27 02 00 00 DD 96 08 77 23 7E DD 9E 09 77 DD -R 00 00 01 00 -T 32 02 00 00 6E FC DD 66 FD DD 75 F8 DD 74 F9 -R 00 00 01 00 -T 3D 02 00 00 C3 6C 00 00 00 -R 00 00 01 00 00 05 01 00 -T 40 02 00 00 -R 00 00 01 00 -T 40 02 00 00 DD 6E 08 DD 66 09 E5 DD 4E 08 DD -R 00 00 01 00 -T 4B 02 00 00 46 09 DD 6E FA DD 66 FB A7 ED 42 -R 00 00 01 00 -T 56 02 00 00 4D 44 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 5F 02 00 00 00 00 00 00 E1 DD 6E 08 DD 66 09 -R 00 00 01 00 00 04 01 00 -T 68 02 00 00 DD 4E FC DD 46 FD 09 DD 75 02 DD -R 00 00 01 00 -T 73 02 00 00 74 03 C3 05 00 00 00 -R 00 00 01 00 00 07 01 00 -T 78 02 00 00 -R 00 00 01 00 -T 78 02 00 00 CD 00 00 00 00 FE FF -R 00 00 01 00 02 05 05 00 -T 7D 02 00 00 -R 00 00 01 00 -T 7D 02 00 00 -R 00 00 01 00 -T 7D 02 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 88 02 00 00 74 09 23 7D B4 28 36 -R 00 00 01 00 -T 8F 02 00 00 -R 00 00 01 00 -T 8F 02 00 00 DD 6E 02 DD 66 03 4E 06 00 DD 71 -R 00 00 01 00 -T 9A 02 00 00 FE DD 70 FF DD 6E 04 DD 66 05 56 -R 00 00 01 00 -T A5 02 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T B0 02 00 00 74 03 2B 72 DD 6E 04 DD 66 05 23 -R 00 00 01 00 -T BB 02 00 00 DD 75 04 DD 74 05 2B 71 18 B8 -R 00 00 01 00 -T C5 02 00 00 -R 00 00 01 00 -T C5 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T C8 02 00 00 -R 00 00 01 00 -T C8 02 00 00 CD 00 00 00 00 FE FF -R 00 00 01 00 02 05 05 00 -T CD 02 00 00 -R 00 00 01 00 -T CD 02 00 00 -R 00 00 01 00 -T CD 02 00 00 DD 6E 0A DD 66 0B 2B DD 75 0A DD -R 00 00 01 00 -T D8 02 00 00 74 0B 23 7D B4 28 4C -R 00 00 01 00 -T DF 02 00 00 -R 00 00 01 00 -T DF 02 00 00 DD 6E 02 DD 66 03 4E 06 00 DD 71 -R 00 00 01 00 -T EA 02 00 00 FE DD 70 FF DD 6E 08 DD 66 09 56 -R 00 00 01 00 -T F5 02 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T 00 03 00 00 74 03 2B 72 DD 6E 04 DD 66 05 56 -R 00 00 01 00 -T 0B 03 00 00 DD 6E 08 DD 66 09 23 DD 75 08 DD -R 00 00 01 00 -T 16 03 00 00 74 09 2B 72 DD 6E 04 DD 66 05 23 -R 00 00 01 00 -T 21 03 00 00 DD 75 04 DD 74 05 2B 71 18 A2 -R 00 00 01 00 -T 2B 03 00 00 -R 00 00 01 00 -T 2B 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 2E 03 00 00 -R 00 00 01 00 -T 2E 03 00 00 CD 00 00 00 00 79 B0 20 02 -R 00 00 01 00 02 05 03 00 -T 35 03 00 00 -R 00 00 01 00 -T 35 03 00 00 18 38 -R 00 00 01 00 -T 37 03 00 00 -R 00 00 01 00 -T 37 03 00 00 DD 6E 0A DD 66 0B 22 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 40 03 00 00 DD 6E 08 DD 66 09 E5 21 FF FF DD -R 00 00 01 00 -T 4B 03 00 00 4E 04 DD 46 05 09 4D 44 DD 5E 08 -R 00 00 01 00 -T 56 03 00 00 DD 56 09 CD 00 00 00 00 DD 6E 02 -R 00 00 01 00 02 08 06 00 -T 5F 03 00 00 DD 66 03 19 4D 44 DD 5E 02 DD 56 -R 00 00 01 00 -T 6A 03 00 00 03 CD 00 00 00 00 E1 -R 00 00 01 00 00 06 01 00 -T 6F 03 00 00 -R 00 00 01 00 -T 6F 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/rand.rel b/src/nos/lib/crt_large_lib/rand.rel deleted file mode 100644 index 1669265f..00000000 --- a/src/nos/lib/crt_large_lib/rand.rel +++ /dev/null @@ -1,126 +0,0 @@ -XL4 -H 4 areas A global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?US_MOD_L02 Ref00000000 -S ?SS_DIV_L02 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13E flags 0 -S _srand Def000000F8 -S _rand Def00000000 -A IDATA0 size 6 flags 0 -A CDATA0 size 6 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 01 CE 00 ED -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 5B 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 02 00 02 0A 07 00 -T 10 00 00 00 73 FE DD 72 FF 01 1F 00 CD -R 00 00 01 00 -T 19 00 00 00 00 00 00 00 D5 01 CE 00 DD 5E FE -R 00 00 01 00 02 04 05 00 -T 22 00 00 00 DD 56 FF CD 00 00 00 00 2A -R 00 00 01 00 02 08 05 00 -T 29 00 00 00 00 00 00 00 A7 ED 52 4D 44 11 -R 00 00 01 00 00 04 02 00 -T 31 00 00 00 9D 00 CD 00 00 00 00 EB D1 A7 ED -R 00 00 01 00 02 07 05 00 -T 3A 00 00 00 52 22 00 00 00 00 CB 7C 28 0B -R 00 00 01 00 00 06 02 00 -T 42 00 00 00 -R 00 00 01 00 -T 42 00 00 00 21 6B 7E ED 4B 00 00 00 00 09 22 -R 00 00 01 00 00 09 02 00 -T 4B 00 00 00 00 00 00 00 -R 00 00 01 00 00 04 02 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 01 D9 00 ED 5B 02 00 00 00 CD -R 00 00 01 00 00 09 02 00 -T 55 00 00 00 00 00 00 00 DD 73 FE DD 72 FF 01 -R 00 00 01 00 02 04 07 00 -T 5E 00 00 00 2D 00 CD 00 00 00 00 D5 01 D9 00 -R 00 00 01 00 02 07 05 00 -T 67 00 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 70 00 00 00 2A 02 00 00 00 A7 ED 52 4D 44 11 -R 00 00 01 00 00 05 02 00 -T 79 00 00 00 92 00 CD 00 00 00 00 EB D1 A7 ED -R 00 00 01 00 02 07 05 00 -T 82 00 00 00 52 22 02 00 00 00 CB 7C 28 0B -R 00 00 01 00 00 06 02 00 -T 8A 00 00 00 -R 00 00 01 00 -T 8A 00 00 00 21 EF 7B ED 4B 02 00 00 00 09 22 -R 00 00 01 00 00 09 02 00 -T 93 00 00 00 02 00 00 00 -R 00 00 01 00 00 04 02 00 -T 95 00 00 00 -R 00 00 01 00 -T 95 00 00 00 01 DE 00 ED 5B 04 00 00 00 CD -R 00 00 01 00 00 09 02 00 -T 9D 00 00 00 00 00 00 00 DD 73 FE DD 72 FF 01 -R 00 00 01 00 02 04 07 00 -T A6 00 00 00 85 00 CD 00 00 00 00 D5 01 DE 00 -R 00 00 01 00 02 07 05 00 -T AF 00 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T B8 00 00 00 2A 04 00 00 00 A7 ED 52 4D 44 11 -R 00 00 01 00 00 05 02 00 -T C1 00 00 00 8E 00 CD 00 00 00 00 EB D1 A7 ED -R 00 00 01 00 02 07 05 00 -T CA 00 00 00 52 22 04 00 00 00 CB 7C 28 0B -R 00 00 01 00 00 06 02 00 -T D2 00 00 00 -R 00 00 01 00 -T D2 00 00 00 21 A9 7B ED 4B 04 00 00 00 09 22 -R 00 00 01 00 00 09 02 00 -T DB 00 00 00 04 00 00 00 -R 00 00 01 00 00 04 02 00 -T DD 00 00 00 -R 00 00 01 00 -T DD 00 00 00 2A 00 00 00 00 ED 4B 02 00 00 00 -R 00 00 01 00 00 05 02 00 00 0B 02 00 -T E4 00 00 00 7D A9 5F 7C A8 57 2A 04 00 00 00 -R 00 00 01 00 00 0B 02 00 -T ED 00 00 00 7B AD 4F 7A AC 47 69 60 C3 -R 00 00 01 00 -T F6 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 -T F8 00 00 00 -R 00 00 01 00 -T F8 00 00 00 CD 00 00 00 00 21 02 00 39 7E E6 -R 00 00 01 00 02 05 03 00 -T 01 01 00 00 FF 77 23 7E E6 7F 77 01 6A 7E DD -R 00 00 01 00 -T 0C 01 00 00 5E 02 DD 56 03 CD 00 00 00 00 13 -R 00 00 01 00 02 0A 06 00 -T 15 01 00 00 ED 53 00 00 00 00 01 EE 7B DD 5E -R 00 00 01 00 00 06 02 00 -T 1E 01 00 00 02 DD 56 03 CD 00 00 00 00 13 ED -R 00 00 01 00 02 09 06 00 -T 27 01 00 00 53 02 00 00 00 01 A8 7B DD 5E 02 -R 00 00 01 00 00 05 02 00 -T 30 01 00 00 DD 56 03 CD 00 00 00 00 13 ED 53 -R 00 00 01 00 02 08 06 00 -T 39 01 00 00 04 00 00 00 C3 00 00 00 00 -R 00 00 01 00 00 04 02 00 02 09 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 04 00 00 00 -R 00 00 02 00 -T 04 00 00 00 -R 00 00 02 00 -T 00 00 00 00 01 00 01 00 01 00 -R 00 00 03 00 diff --git a/src/nos/lib/crt_large_lib/readdir.rel b/src/nos/lib/crt_large_lib/readdir.rel deleted file mode 100644 index 3a00d615..00000000 --- a/src/nos/lib/crt_large_lib/readdir.rel +++ /dev/null @@ -1,89 +0,0 @@ -XL4 -H 2 areas 9 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _strncpy Ref00000000 -S _strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _read Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size DB flags 0 -S _readdir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 EE FF DD 7E 02 DD -R 00 00 01 00 02 05 07 00 -T 09 00 00 00 B6 03 28 1A 21 06 00 DD 4E 02 DD -R 00 00 01 00 -T 14 00 00 00 46 03 09 7E 23 B6 28 0B DD 6E 02 -R 00 00 01 00 -T 1F 00 00 00 DD 66 03 7E 23 B6 20 13 -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 05 00 -T 30 00 00 00 0E 23 36 00 -R 00 00 01 00 -T 34 00 00 00 -R 00 00 01 00 -T 34 00 00 00 21 00 00 C3 D8 00 00 00 -R 00 00 01 00 00 08 01 00 -T 3A 00 00 00 -R 00 00 01 00 -T 3A 00 00 00 DD 36 F0 00 -R 00 00 01 00 -T 3E 00 00 00 -R 00 00 01 00 -T 3E 00 00 00 DD 7E F0 B7 20 21 -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 21 10 00 E5 21 02 00 39 4D 44 DD -R 00 00 01 00 -T 4F 00 00 00 6E 02 DD 66 03 5E 23 56 CD -R 00 00 01 00 -T 58 00 00 00 00 00 00 00 F1 3E 10 AD B4 28 02 -R 00 00 01 00 02 04 04 00 -T 61 00 00 00 -R 00 00 01 00 -T 61 00 00 00 18 D1 -R 00 00 01 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 18 D9 -R 00 00 01 00 -T 65 00 00 00 -R 00 00 01 00 -T 65 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 56 -R 00 00 01 00 -T 70 00 00 00 23 66 6A DD 75 FE DD 74 FF DD 5E -R 00 00 01 00 -T 7B 00 00 00 EE DD 56 EF 73 23 72 DD 6E FE DD -R 00 00 01 00 -T 86 00 00 00 66 FF 23 23 E5 69 60 23 23 4E 23 -R 00 00 01 00 -T 91 00 00 00 46 03 70 2B 71 0B E1 71 23 70 21 -R 00 00 01 00 -T 9C 00 00 00 0E 00 E5 21 02 00 39 01 02 00 09 -R 00 00 01 00 -T A7 00 00 00 4D 44 21 06 00 DD 5E FE DD 56 FF -R 00 00 01 00 -T B2 00 00 00 19 EB CD 00 00 00 00 F1 21 14 00 -R 00 00 01 00 02 07 01 00 -T BB 00 00 00 DD 4E FE DD 46 FF 09 36 00 21 -R 00 00 01 00 -T C5 00 00 00 04 00 09 E5 21 06 00 09 EB CD -R 00 00 01 00 -T CF 00 00 00 00 00 00 00 EB E1 73 23 72 69 60 -R 00 00 01 00 02 04 02 00 -T D8 00 00 00 -R 00 00 01 00 -T D8 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/crt_large_lib/readlink.rel b/src/nos/lib/crt_large_lib/readlink.rel deleted file mode 100644 index b2bcf8fc..00000000 --- a/src/nos/lib/crt_large_lib/readlink.rel +++ /dev/null @@ -1,42 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _close Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _open Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 53 flags 0 -S _readlink Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 00 08 E5 -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 DD 6E 02 DD 66 03 E5 CD -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 F1 F1 DD 75 FE DD 74 -R 00 00 01 00 02 04 06 00 -T 1A 00 00 00 FF CB 7C 28 05 -R 00 00 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 21 FF FF 18 2C -R 00 00 01 00 -T 24 00 00 00 -R 00 00 01 00 -T 24 00 00 00 DD 6E 08 DD 66 09 E5 DD 4E 04 DD -R 00 00 01 00 -T 2F 00 00 00 46 05 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 38 00 00 00 00 00 00 00 F1 DD 75 FC DD 74 FD -R 00 00 01 00 02 04 03 00 -T 41 00 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 4A 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/crt_large_lib/realloc.rel b/src/nos/lib/crt_large_lib/realloc.rel deleted file mode 100644 index ff22582f..00000000 --- a/src/nos/lib/crt_large_lib/realloc.rel +++ /dev/null @@ -1,54 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _memcpy Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _free Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _malloc Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7F flags 0 -S _realloc Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 FC FF DD -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 5E 02 DD 56 03 19 7E 23 66 6F 01 -R 00 00 01 00 -T 14 00 00 00 FF FF 09 29 29 DD 75 FE DD 74 FF -R 00 00 01 00 -T 1F 00 00 00 CD 00 00 00 00 DD 5E 04 DD 56 05 -R 00 00 01 00 02 05 04 00 -T 28 00 00 00 CD 00 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 02 05 06 00 -T 31 00 00 00 7D B4 28 41 DD 6E 02 DD 66 03 DD -R 00 00 01 00 -T 3C 00 00 00 4E FC DD 46 FD A7 ED 42 28 30 -R 00 00 01 00 -T 46 00 00 00 -R 00 00 01 00 -T 46 00 00 00 -R 00 00 01 00 -T 46 00 00 00 -R 00 00 01 00 -T 46 00 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 -R 00 00 01 00 -T 51 00 00 00 FF A7 ED 42 30 08 DD 6E FE DD 66 -R 00 00 01 00 -T 5C 00 00 00 FF 18 06 -R 00 00 01 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 -T 65 00 00 00 -R 00 00 01 00 -T 65 00 00 00 E5 DD 4E 02 DD 46 03 DD 5E FC DD -R 00 00 01 00 -T 70 00 00 00 56 FD CD 00 00 00 00 F1 -R 00 00 01 00 02 07 01 00 -T 76 00 00 00 -R 00 00 01 00 -T 76 00 00 00 DD 6E FC DD 66 FD C3 00 00 00 00 -R 00 00 01 00 02 0B 02 00 diff --git a/src/nos/lib/crt_large_lib/regerror.rel b/src/nos/lib/crt_large_lib/regerror.rel deleted file mode 100644 index 608fe319..00000000 --- a/src/nos/lib/crt_large_lib/regerror.rel +++ /dev/null @@ -1,29 +0,0 @@ -XL4 -H 3 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _stderr Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _fprintf Ref00000000 -S _exit Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1B flags 0 -S _regerror Def00000000 -A CSTR size E flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 21 00 00 00 00 -R 00 00 01 00 02 05 04 00 00 0B 02 00 -T 07 00 00 00 E5 21 00 00 00 00 E5 CD -R 00 00 01 00 02 06 01 00 -T 0D 00 00 00 00 00 00 00 F1 F1 F1 11 01 00 CD -R 00 00 01 00 02 04 05 00 -T 16 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 06 00 02 09 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 72 65 67 65 78 70 28 33 29 3A 20 -R 00 00 02 00 -T 0B 00 00 00 25 73 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/regexp.rel b/src/nos/lib/crt_large_lib/regexp.rel deleted file mode 100644 index aaba7951..00000000 --- a/src/nos/lib/crt_large_lib/regexp.rel +++ /dev/null @@ -1,2147 +0,0 @@ -XL4 -H 4 areas 13 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _strncmp Ref00000000 -S _strcspn Ref00000000 -S ?L_INC_L03 Ref00000000 -S _strchr Ref00000000 -S _strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?L_ADDASG_L03 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _regerror Ref00000000 -S ?SL_CMP_L03 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S _malloc Ref00000000 -S ?C_V_SWITCH_L06 Ref00000000 -S ?SS_RSH_L02 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12B2 flags 0 -S _regexec Def00000B97 -S _regcomp Def00000000 -A CSTR size 132 flags 0 -A UDATA0 size 13 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF DD 7E 02 DD -R 00 00 01 00 02 05 0C 00 -T 09 00 00 00 B6 03 20 0C -R 00 00 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 11 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T 14 00 00 00 00 00 C3 DE 01 00 00 -R 00 00 01 00 00 07 01 00 -T 19 00 00 00 -R 00 00 01 00 -T 19 00 00 00 DD 6E 02 DD 66 03 22 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 22 00 00 00 21 01 00 22 02 00 00 00 01 00 00 -R 00 00 01 00 00 08 03 00 -T 2B 00 00 00 21 00 00 22 07 00 00 00 ED 43 -R 00 00 01 00 00 08 03 00 -T 33 00 00 00 09 00 00 00 21 04 00 00 00 22 -R 00 00 01 00 00 04 03 00 00 09 03 00 -T 39 00 00 00 05 00 00 00 11 9C 00 CD -R 00 00 01 00 00 04 03 00 -T 3F 00 00 00 E8 09 00 00 21 08 00 39 4D 44 11 -R 00 00 01 00 00 04 01 00 -T 48 00 00 00 00 00 CD E1 01 00 00 7D B4 20 06 -R 00 00 01 00 00 07 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 21 00 00 C3 DE 01 00 00 -R 00 00 01 00 00 08 01 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 21 00 00 E5 21 FF 7F E5 ED 4B -R 00 00 01 00 -T 61 00 00 00 09 00 00 00 2A 07 00 00 00 CD -R 00 00 01 00 00 04 03 00 00 09 03 00 -T 67 00 00 00 00 00 00 00 38 0C -R 00 00 01 00 02 04 0B 00 -T 6B 00 00 00 -R 00 00 01 00 -T 6B 00 00 00 11 0E 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T 72 00 00 00 00 00 C3 DE 01 00 00 -R 00 00 01 00 00 07 01 00 -T 77 00 00 00 -R 00 00 01 00 -T 77 00 00 00 2A 07 00 00 00 01 2F 00 09 EB CD -R 00 00 01 00 00 05 03 00 -T 80 00 00 00 00 00 00 00 DD 75 F6 DD 74 F7 7D -R 00 00 01 00 02 04 0E 00 -T 89 00 00 00 B4 20 0C -R 00 00 01 00 -T 8C 00 00 00 -R 00 00 01 00 -T 8C 00 00 00 11 1D 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T 93 00 00 00 00 00 C3 DE 01 00 00 -R 00 00 01 00 00 07 01 00 -T 98 00 00 00 -R 00 00 01 00 -T 98 00 00 00 DD 6E 02 DD 66 03 22 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T A1 00 00 00 21 01 00 22 02 00 00 00 21 2E 00 -R 00 00 01 00 00 08 03 00 -T AA 00 00 00 DD 4E F6 DD 46 F7 09 22 -R 00 00 01 00 -T B2 00 00 00 05 00 00 00 11 9C 00 CD -R 00 00 01 00 00 04 03 00 -T B8 00 00 00 E8 09 00 00 21 08 00 39 4D 44 11 -R 00 00 01 00 00 04 01 00 -T C1 00 00 00 00 00 CD E1 01 00 00 7D B4 20 06 -R 00 00 01 00 00 07 01 00 -T CA 00 00 00 -R 00 00 01 00 -T CA 00 00 00 21 00 00 C3 DE 01 00 00 -R 00 00 01 00 00 08 01 00 -T D0 00 00 00 -R 00 00 01 00 -T D0 00 00 00 21 28 00 DD 4E F6 DD 46 F7 09 36 -R 00 00 01 00 -T DB 00 00 00 00 21 29 00 09 36 00 21 2A 00 09 -R 00 00 01 00 -T E6 00 00 00 AF 77 23 77 21 2C 00 09 AF 77 23 -R 00 00 01 00 -T F1 00 00 00 77 21 2E 00 09 23 DD 75 F8 DD 74 -R 00 00 01 00 -T FC 00 00 00 F9 EB CD 3E 12 00 00 7E B7 C2 -R 00 00 01 00 00 07 01 00 -T 04 01 00 00 D8 01 00 00 -R 00 00 01 00 00 04 01 00 -T 06 01 00 00 -R 00 00 01 00 -T 06 01 00 00 DD 6E F8 DD 66 F9 23 23 23 DD 75 -R 00 00 01 00 -T 11 01 00 00 F8 DD 74 F9 7E FE 08 20 17 -R 00 00 01 00 -T 1A 01 00 00 -R 00 00 01 00 -T 1A 01 00 00 DD 6E F8 DD 66 F9 23 23 23 46 21 -R 00 00 01 00 -T 25 01 00 00 28 00 DD 5E F6 DD 56 F7 19 70 18 -R 00 00 01 00 -T 30 01 00 00 15 -R 00 00 01 00 -T 31 01 00 00 -R 00 00 01 00 -T 31 01 00 00 DD 6E F8 DD 66 F9 46 05 20 0B -R 00 00 01 00 -T 3B 01 00 00 -R 00 00 01 00 -T 3B 01 00 00 21 29 00 DD 4E F6 DD 46 F7 09 34 -R 00 00 01 00 -T 46 01 00 00 -R 00 00 01 00 -T 46 01 00 00 -R 00 00 01 00 -T 46 01 00 00 DD 7E FE E6 04 CA D8 01 00 00 -R 00 00 01 00 00 0A 01 00 -T 4E 01 00 00 -R 00 00 01 00 -T 4E 01 00 00 AF DD 77 FA DD 77 FB AF DD 77 FC -R 00 00 01 00 -T 59 01 00 00 DD 77 FD -R 00 00 01 00 -T 5C 01 00 00 -R 00 00 01 00 -T 5C 01 00 00 DD 7E F8 DD B6 F9 28 54 -R 00 00 01 00 -T 64 01 00 00 -R 00 00 01 00 -T 64 01 00 00 DD 6E F8 DD 66 F9 7E FE 08 20 38 -R 00 00 01 00 -T 6F 01 00 00 DD 5E F8 DD 56 F9 13 13 13 CD -R 00 00 01 00 -T 79 01 00 00 00 00 00 00 DD 4E FC DD 46 FD A7 -R 00 00 01 00 02 04 05 00 -T 82 01 00 00 ED 42 38 21 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 DD 6E F8 DD 66 F9 23 23 23 DD 75 -R 00 00 01 00 -T 91 01 00 00 FA DD 74 FB DD 5E F8 DD 56 F9 13 -R 00 00 01 00 -T 9C 01 00 00 13 13 CD 00 00 00 00 DD 75 FC DD -R 00 00 01 00 02 07 05 00 -T A5 01 00 00 74 FD -R 00 00 01 00 -T A7 01 00 00 -R 00 00 01 00 -T A7 01 00 00 DD 5E F8 DD 56 F9 CD 3E 12 00 00 -R 00 00 01 00 00 0B 01 00 -T B0 01 00 00 DD 75 F8 DD 74 F9 18 A4 -R 00 00 01 00 -T B8 01 00 00 -R 00 00 01 00 -T B8 01 00 00 21 2A 00 DD 4E F6 DD 46 F7 09 DD -R 00 00 01 00 -T C3 01 00 00 5E FA DD 56 FB 73 23 72 21 2C 00 -R 00 00 01 00 -T CE 01 00 00 09 DD 4E FC DD 46 FD 71 23 70 -R 00 00 01 00 -T D8 01 00 00 -R 00 00 01 00 -T D8 01 00 00 -R 00 00 01 00 -T D8 01 00 00 DD 6E F6 DD 66 F7 -R 00 00 01 00 -T DE 01 00 00 -R 00 00 01 00 -T DE 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T E1 01 00 00 -R 00 00 01 00 -T E1 01 00 00 CD 00 00 00 00 F6 FF 69 60 36 01 -R 00 00 01 00 02 05 0C 00 -T EA 01 00 00 23 36 00 DD 7E 02 DD B6 03 28 3B -R 00 00 01 00 -T F5 01 00 00 -R 00 00 01 00 -T F5 01 00 00 01 0A 80 2A 02 00 00 00 3E 80 AC -R 00 00 01 00 00 08 03 00 -T FE 01 00 00 67 ED 42 38 0C -R 00 00 01 00 -T 03 02 00 00 -R 00 00 01 00 -T 03 02 00 00 11 2A 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T 0A 02 00 00 00 00 C3 CB 03 00 00 -R 00 00 01 00 00 07 01 00 -T 0F 02 00 00 -R 00 00 01 00 -T 0F 02 00 00 2A 02 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 00 05 03 00 -T 18 02 00 00 ED 4B 02 00 00 00 03 ED 43 -R 00 00 01 00 00 06 03 00 -T 1F 02 00 00 02 00 00 00 7D C6 14 5F CD -R 00 00 01 00 00 04 03 00 -T 26 02 00 00 74 09 00 00 DD 75 F6 DD 74 F7 18 -R 00 00 01 00 00 04 01 00 -T 2F 02 00 00 07 -R 00 00 01 00 -T 30 02 00 00 -R 00 00 01 00 -T 30 02 00 00 AF DD 77 F6 DD 77 F7 -R 00 00 01 00 -T 37 02 00 00 -R 00 00 01 00 -T 37 02 00 00 21 08 00 39 5D 54 CD CE 03 00 00 -R 00 00 01 00 00 0B 01 00 -T 40 02 00 00 DD 75 F8 DD 74 F9 7D B4 20 06 -R 00 00 01 00 -T 4A 02 00 00 -R 00 00 01 00 -T 4A 02 00 00 21 00 00 C3 CB 03 00 00 -R 00 00 01 00 00 08 01 00 -T 50 02 00 00 -R 00 00 01 00 -T 50 02 00 00 DD 7E F6 DD B6 F7 28 11 -R 00 00 01 00 -T 58 02 00 00 -R 00 00 01 00 -T 58 02 00 00 DD 4E F8 DD 46 F9 DD 5E F6 DD 56 -R 00 00 01 00 -T 63 02 00 00 F7 CD BD 0A 00 00 18 0C -R 00 00 01 00 00 06 01 00 -T 69 02 00 00 -R 00 00 01 00 -T 69 02 00 00 DD 6E F8 DD 66 F9 DD 75 F6 DD 74 -R 00 00 01 00 -T 74 02 00 00 F7 -R 00 00 01 00 -T 75 02 00 00 -R 00 00 01 00 -T 75 02 00 00 DD 7E FE E6 01 47 DD 7E FF E6 00 -R 00 00 01 00 -T 80 02 00 00 B0 20 0F -R 00 00 01 00 -T 83 02 00 00 -R 00 00 01 00 -T 83 02 00 00 DD 6E 04 DD 66 05 7E E6 FE 77 23 -R 00 00 01 00 -T 8E 02 00 00 7E E6 FF 77 -R 00 00 01 00 -T 92 02 00 00 -R 00 00 01 00 -T 92 02 00 00 DD 7E FE E6 04 4F DD 7E FF E6 00 -R 00 00 01 00 -T 9D 02 00 00 47 DD 6E 04 DD 66 05 7E B1 77 23 -R 00 00 01 00 -T A8 02 00 00 7E B0 77 -R 00 00 01 00 -T AB 02 00 00 -R 00 00 01 00 -T AB 02 00 00 2A 00 00 00 00 7E FE 7C 20 67 -R 00 00 01 00 00 05 03 00 -T B3 02 00 00 -R 00 00 01 00 -T B3 02 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T BA 02 00 00 21 08 00 39 5D 54 CD CE 03 00 00 -R 00 00 01 00 00 0B 01 00 -T C3 02 00 00 DD 75 F8 DD 74 F9 7D B4 20 06 -R 00 00 01 00 -T CD 02 00 00 -R 00 00 01 00 -T CD 02 00 00 21 00 00 C3 CB 03 00 00 -R 00 00 01 00 00 08 01 00 -T D3 02 00 00 -R 00 00 01 00 -T D3 02 00 00 DD 4E F8 DD 46 F9 DD 5E F6 DD 56 -R 00 00 01 00 -T DE 02 00 00 F7 CD BD 0A 00 00 DD 7E FE E6 01 -R 00 00 01 00 00 06 01 00 -T E7 02 00 00 47 DD 7E FF E6 00 B0 20 0F -R 00 00 01 00 -T F0 02 00 00 -R 00 00 01 00 -T F0 02 00 00 DD 6E 04 DD 66 05 7E E6 FE 77 23 -R 00 00 01 00 -T FB 02 00 00 7E E6 FF 77 -R 00 00 01 00 -T FF 02 00 00 -R 00 00 01 00 -T FF 02 00 00 DD 7E FE E6 04 4F DD 7E FF E6 00 -R 00 00 01 00 -T 0A 03 00 00 47 DD 6E 04 DD 66 05 7E B1 77 23 -R 00 00 01 00 -T 15 03 00 00 7E B0 77 18 91 -R 00 00 01 00 -T 1A 03 00 00 -R 00 00 01 00 -T 1A 03 00 00 DD 7E 02 DD B6 03 28 08 DD 7E FC -R 00 00 01 00 -T 25 03 00 00 C6 1E 5F 18 02 -R 00 00 01 00 -T 2A 03 00 00 -R 00 00 01 00 -T 2A 03 00 00 1E 00 -R 00 00 01 00 -T 2C 03 00 00 -R 00 00 01 00 -T 2C 03 00 00 CD 74 09 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 00 05 01 00 -T 35 03 00 00 4D 44 DD 5E F6 DD 56 F7 CD -R 00 00 01 00 -T 3E 03 00 00 BD 0A 00 00 DD 6E F6 DD 66 F7 DD -R 00 00 01 00 00 04 01 00 -T 47 03 00 00 75 F8 DD 74 F9 -R 00 00 01 00 -T 4C 03 00 00 -R 00 00 01 00 -T 4C 03 00 00 DD 7E F8 DD B6 F9 28 20 -R 00 00 01 00 -T 54 03 00 00 -R 00 00 01 00 -T 54 03 00 00 DD 4E FA DD 46 FB DD 5E F8 DD 56 -R 00 00 01 00 -T 5F 03 00 00 F9 CD 60 0B 00 00 DD 5E F8 DD 56 -R 00 00 01 00 00 06 01 00 -T 68 03 00 00 F9 CD 3E 12 00 00 DD 75 F8 DD 74 -R 00 00 01 00 00 06 01 00 -T 71 03 00 00 F9 18 D8 -R 00 00 01 00 -T 74 03 00 00 -R 00 00 01 00 -T 74 03 00 00 DD 7E 02 DD B6 03 28 1A 2A -R 00 00 01 00 -T 7D 03 00 00 00 00 00 00 23 22 00 00 00 00 2B -R 00 00 01 00 00 04 03 00 00 0A 03 00 -T 84 03 00 00 7E FE 29 28 0D -R 00 00 01 00 -T 89 03 00 00 -R 00 00 01 00 -T 89 03 00 00 -R 00 00 01 00 -T 89 03 00 00 -R 00 00 01 00 -T 89 03 00 00 11 36 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T 90 03 00 00 00 00 18 37 18 2F -R 00 00 01 00 -T 96 03 00 00 -R 00 00 01 00 -T 96 03 00 00 DD 7E 02 DD B6 03 20 27 2A -R 00 00 01 00 -T 9F 03 00 00 00 00 00 00 AF B6 28 20 -R 00 00 01 00 00 04 03 00 -T A5 03 00 00 -R 00 00 01 00 -T A5 03 00 00 -R 00 00 01 00 -T A5 03 00 00 -R 00 00 01 00 -T A5 03 00 00 2A 00 00 00 00 7E FE 29 20 0D -R 00 00 01 00 00 05 03 00 -T AD 03 00 00 -R 00 00 01 00 -T AD 03 00 00 11 36 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T B4 03 00 00 00 00 18 13 18 0B -R 00 00 01 00 -T BA 03 00 00 -R 00 00 01 00 -T BA 03 00 00 11 43 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T C1 03 00 00 00 00 18 06 -R 00 00 01 00 -T C5 03 00 00 -R 00 00 01 00 -T C5 03 00 00 -R 00 00 01 00 -T C5 03 00 00 -R 00 00 01 00 -T C5 03 00 00 DD 6E F6 DD 66 F7 -R 00 00 01 00 -T CB 03 00 00 -R 00 00 01 00 -T CB 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T CE 03 00 00 -R 00 00 01 00 -T CE 03 00 00 CD 00 00 00 00 F8 FF DD 6E 02 DD -R 00 00 01 00 02 05 0C 00 -T D7 03 00 00 66 03 AF 77 23 77 1E 06 CD -R 00 00 01 00 -T E0 03 00 00 74 09 00 00 DD 75 F8 DD 74 F9 AF -R 00 00 01 00 00 04 01 00 -T E9 03 00 00 DD 77 FA DD 77 FB -R 00 00 01 00 -T EF 03 00 00 -R 00 00 01 00 -T EF 03 00 00 2A 00 00 00 00 AF B6 CA -R 00 00 01 00 00 05 03 00 -T F5 03 00 00 79 04 00 00 2A 00 00 00 00 7E FE -R 00 00 01 00 00 04 01 00 00 09 03 00 -T FC 03 00 00 7C 28 7A 2A 00 00 00 00 7E FE 29 -R 00 00 01 00 00 08 03 00 -T 05 04 00 00 28 72 -R 00 00 01 00 -T 07 04 00 00 -R 00 00 01 00 -T 07 04 00 00 -R 00 00 01 00 -T 07 04 00 00 -R 00 00 01 00 -T 07 04 00 00 21 06 00 39 5D 54 CD 8F 04 00 00 -R 00 00 01 00 00 0B 01 00 -T 10 04 00 00 DD 75 FC DD 74 FD 7D B4 20 05 -R 00 00 01 00 -T 1A 04 00 00 -R 00 00 01 00 -T 1A 04 00 00 21 00 00 18 6D -R 00 00 01 00 -T 1F 04 00 00 -R 00 00 01 00 -T 1F 04 00 00 DD 7E FE E6 01 4F DD 7E FF E6 00 -R 00 00 01 00 -T 2A 04 00 00 47 DD 6E 02 DD 66 03 7E B1 77 23 -R 00 00 01 00 -T 35 04 00 00 7E B0 77 DD 7E FA DD B6 FB 20 1B -R 00 00 01 00 -T 40 04 00 00 -R 00 00 01 00 -T 40 04 00 00 DD 7E FE E6 04 4F DD 7E FF E6 00 -R 00 00 01 00 -T 4B 04 00 00 47 DD 6E 02 DD 66 03 7E B1 77 23 -R 00 00 01 00 -T 56 04 00 00 7E B0 77 18 0F -R 00 00 01 00 -T 5B 04 00 00 -R 00 00 01 00 -T 5B 04 00 00 DD 4E FC DD 46 FD DD 5E FA DD 56 -R 00 00 01 00 -T 66 04 00 00 FB CD BD 0A 00 00 -R 00 00 01 00 00 06 01 00 -T 6A 04 00 00 -R 00 00 01 00 -T 6A 04 00 00 DD 6E FC DD 66 FD DD 75 FA DD 74 -R 00 00 01 00 -T 75 04 00 00 FB C3 EF 03 00 00 -R 00 00 01 00 00 06 01 00 -T 79 04 00 00 -R 00 00 01 00 -T 79 04 00 00 DD 7E FA DD B6 FB 20 05 -R 00 00 01 00 -T 81 04 00 00 -R 00 00 01 00 -T 81 04 00 00 1E 09 CD 74 09 00 00 -R 00 00 01 00 00 07 01 00 -T 86 04 00 00 -R 00 00 01 00 -T 86 04 00 00 DD 6E F8 DD 66 F9 -R 00 00 01 00 -T 8C 04 00 00 -R 00 00 01 00 -T 8C 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 8F 04 00 00 -R 00 00 01 00 -T 8F 04 00 00 CD 00 00 00 00 F8 FF 21 05 00 39 -R 00 00 01 00 02 05 0C 00 -T 98 04 00 00 5D 54 CD 70 06 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T A1 04 00 00 74 F9 7D B4 20 06 -R 00 00 01 00 -T A7 04 00 00 -R 00 00 01 00 -T A7 04 00 00 21 00 00 C3 6D 06 00 00 -R 00 00 01 00 00 08 01 00 -T AD 04 00 00 -R 00 00 01 00 -T AD 04 00 00 2A 00 00 00 00 46 DD 70 FA 78 FE -R 00 00 01 00 00 05 03 00 -T B6 04 00 00 2A 28 28 DD 7E FA FE 2B 28 21 DD -R 00 00 01 00 -T C1 04 00 00 7E FA FE 3F 28 1A -R 00 00 01 00 -T C7 04 00 00 -R 00 00 01 00 -T C7 04 00 00 DD 6E FD DD 66 FE E5 DD 6E 02 DD -R 00 00 01 00 -T D2 04 00 00 66 03 C1 71 23 70 DD 6E F8 DD 66 -R 00 00 01 00 -T DD 04 00 00 F9 C3 6D 06 00 00 -R 00 00 01 00 00 06 01 00 -T E1 04 00 00 -R 00 00 01 00 -T E1 04 00 00 DD 7E FD E6 01 47 DD 7E FE E6 00 -R 00 00 01 00 -T EC 04 00 00 B0 20 13 DD 7E FA FE 3F 28 0C -R 00 00 01 00 -T F6 04 00 00 -R 00 00 01 00 -T F6 04 00 00 -R 00 00 01 00 -T F6 04 00 00 -R 00 00 01 00 -T F6 04 00 00 11 4F 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T FD 04 00 00 00 00 C3 6D 06 00 00 -R 00 00 01 00 00 07 01 00 -T 02 05 00 00 -R 00 00 01 00 -T 02 05 00 00 DD 7E FA FE 2B 28 05 21 04 00 18 -R 00 00 01 00 -T 0D 05 00 00 03 -R 00 00 01 00 -T 0E 05 00 00 -R 00 00 01 00 -T 0E 05 00 00 21 01 00 -R 00 00 01 00 -T 11 05 00 00 -R 00 00 01 00 -T 11 05 00 00 E5 DD 6E 02 DD 66 03 C1 71 23 70 -R 00 00 01 00 -T 1C 05 00 00 DD 7E FA FE 2A 20 15 DD 7E FD E6 -R 00 00 01 00 -T 27 05 00 00 02 28 0E -R 00 00 01 00 -T 2A 05 00 00 -R 00 00 01 00 -T 2A 05 00 00 -R 00 00 01 00 -T 2A 05 00 00 -R 00 00 01 00 -T 2A 05 00 00 DD 4E F8 DD 46 F9 1E 0A CD -R 00 00 01 00 -T 33 05 00 00 19 0A 00 00 C3 3D 06 00 00 -R 00 00 01 00 00 04 01 00 00 09 01 00 -T 38 05 00 00 -R 00 00 01 00 -T 38 05 00 00 DD 7E FA FE 2A 20 4D -R 00 00 01 00 -T 3F 05 00 00 -R 00 00 01 00 -T 3F 05 00 00 DD 4E F8 DD 46 F9 1E 06 CD -R 00 00 01 00 -T 48 05 00 00 19 0A 00 00 1E 07 CD 74 09 00 00 -R 00 00 01 00 00 04 01 00 00 0B 01 00 -T 4F 05 00 00 4D 44 DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T 58 05 00 00 60 0B 00 00 DD 4E F8 DD 46 F9 DD -R 00 00 01 00 00 04 01 00 -T 61 05 00 00 5E F8 DD 56 F9 CD 60 0B 00 00 1E -R 00 00 01 00 00 0A 01 00 -T 6A 05 00 00 06 CD 74 09 00 00 4D 44 DD 5E F8 -R 00 00 01 00 00 06 01 00 -T 73 05 00 00 DD 56 F9 CD BD 0A 00 00 1E 09 CD -R 00 00 01 00 00 08 01 00 -T 7C 05 00 00 74 09 00 00 4D 44 DD 5E F8 DD 56 -R 00 00 01 00 00 04 01 00 -T 85 05 00 00 F9 CD BD 0A 00 00 C3 3D 06 00 00 -R 00 00 01 00 00 06 01 00 00 0B 01 00 -T 8C 05 00 00 -R 00 00 01 00 -T 8C 05 00 00 DD 7E FA FE 2B 20 15 DD 7E FD E6 -R 00 00 01 00 -T 97 05 00 00 02 28 0E -R 00 00 01 00 -T 9A 05 00 00 -R 00 00 01 00 -T 9A 05 00 00 -R 00 00 01 00 -T 9A 05 00 00 -R 00 00 01 00 -T 9A 05 00 00 DD 4E F8 DD 46 F9 1E 0B CD -R 00 00 01 00 -T A3 05 00 00 19 0A 00 00 C3 3D 06 00 00 -R 00 00 01 00 00 04 01 00 00 09 01 00 -T A8 05 00 00 -R 00 00 01 00 -T A8 05 00 00 DD 7E FA FE 2B 20 47 -R 00 00 01 00 -T AF 05 00 00 -R 00 00 01 00 -T AF 05 00 00 1E 06 CD 74 09 00 00 DD 75 FB DD -R 00 00 01 00 00 07 01 00 -T B8 05 00 00 74 FC 4D 44 DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T C3 05 00 00 BD 0A 00 00 DD 4E F8 DD 46 F9 1E -R 00 00 01 00 00 04 01 00 -T CC 05 00 00 07 CD 74 09 00 00 EB CD -R 00 00 01 00 00 06 01 00 -T D2 05 00 00 BD 0A 00 00 1E 06 CD 74 09 00 00 -R 00 00 01 00 00 04 01 00 00 0B 01 00 -T D9 05 00 00 4D 44 DD 5E FB DD 56 FC CD -R 00 00 01 00 -T E2 05 00 00 BD 0A 00 00 1E 09 CD 74 09 00 00 -R 00 00 01 00 00 04 01 00 00 0B 01 00 -T E9 05 00 00 4D 44 DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T F2 05 00 00 BD 0A 00 00 18 47 -R 00 00 01 00 00 04 01 00 -T F6 05 00 00 -R 00 00 01 00 -T F6 05 00 00 DD 7E FA FE 3F 20 40 -R 00 00 01 00 -T FD 05 00 00 -R 00 00 01 00 -T FD 05 00 00 DD 4E F8 DD 46 F9 1E 06 CD -R 00 00 01 00 -T 06 06 00 00 19 0A 00 00 1E 06 CD 74 09 00 00 -R 00 00 01 00 00 04 01 00 00 0B 01 00 -T 0D 06 00 00 4D 44 DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T 16 06 00 00 BD 0A 00 00 1E 09 CD 74 09 00 00 -R 00 00 01 00 00 04 01 00 00 0B 01 00 -T 1D 06 00 00 DD 75 FB DD 74 FC 4D 44 DD 5E F8 -R 00 00 01 00 -T 28 06 00 00 DD 56 F9 CD BD 0A 00 00 DD 4E FB -R 00 00 01 00 00 08 01 00 -T 31 06 00 00 DD 46 FC DD 5E F8 DD 56 F9 CD -R 00 00 01 00 -T 3B 06 00 00 60 0B 00 00 -R 00 00 01 00 00 04 01 00 -T 3D 06 00 00 -R 00 00 01 00 -T 3D 06 00 00 -R 00 00 01 00 -T 3D 06 00 00 -R 00 00 01 00 -T 3D 06 00 00 -R 00 00 01 00 -T 3D 06 00 00 -R 00 00 01 00 -T 3D 06 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 44 06 00 00 2A 00 00 00 00 7E FE 2A 28 10 2A -R 00 00 01 00 00 05 03 00 -T 4D 06 00 00 00 00 00 00 7E FE 2B 28 08 2A -R 00 00 01 00 00 04 03 00 -T 55 06 00 00 00 00 00 00 7E FE 3F 20 0B -R 00 00 01 00 00 04 03 00 -T 5C 06 00 00 -R 00 00 01 00 -T 5C 06 00 00 -R 00 00 01 00 -T 5C 06 00 00 -R 00 00 01 00 -T 5C 06 00 00 11 69 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T 63 06 00 00 00 00 18 06 -R 00 00 01 00 -T 67 06 00 00 -R 00 00 01 00 -T 67 06 00 00 DD 6E F8 DD 66 F9 -R 00 00 01 00 -T 6D 06 00 00 -R 00 00 01 00 -T 6D 06 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 70 06 00 00 -R 00 00 01 00 -T 70 06 00 00 CD 00 00 00 00 F8 FF DD 6E 02 DD -R 00 00 01 00 02 05 0C 00 -T 79 06 00 00 66 03 AF 77 23 77 2A 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 82 06 00 00 23 22 00 00 00 00 2B 5E CD -R 00 00 01 00 00 06 03 00 -T 89 06 00 00 00 00 00 00 0C 00 00 24 28 29 2A -R 00 00 01 00 02 04 0F 00 -T 92 06 00 00 2B 2E 3F 5B 5C 5E 7C 9B 08 00 00 -R 00 00 01 00 00 0B 01 00 -T 9B 06 00 00 3F 08 00 00 B3 06 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 9F 06 00 00 57 08 00 00 EC 06 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T A3 06 00 00 4B 08 00 00 CF 06 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T A7 06 00 00 4B 08 00 00 4B 08 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T AB 06 00 00 3F 08 00 00 07 08 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T AF 06 00 00 C1 06 00 00 3F 08 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T B3 06 00 00 -R 00 00 01 00 -T B3 06 00 00 1E 01 CD 74 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T BC 06 00 00 74 F9 C3 6B 09 00 00 -R 00 00 01 00 00 07 01 00 -T C1 06 00 00 -R 00 00 01 00 -T C1 06 00 00 1E 02 CD 74 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T CA 06 00 00 74 F9 C3 6B 09 00 00 -R 00 00 01 00 00 07 01 00 -T CF 06 00 00 -R 00 00 01 00 -T CF 06 00 00 1E 03 CD 74 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T D8 06 00 00 74 F9 DD 6E 02 DD 66 03 7E F6 03 -R 00 00 01 00 -T E3 06 00 00 77 23 7E F6 00 77 C3 6B 09 00 00 -R 00 00 01 00 00 0B 01 00 -T EC 06 00 00 -R 00 00 01 00 -T EC 06 00 00 2A 00 00 00 00 7E FE 5E 20 14 -R 00 00 01 00 00 05 03 00 -T F4 06 00 00 -R 00 00 01 00 -T F4 06 00 00 1E 05 CD 74 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T FD 06 00 00 74 F9 2A 00 00 00 00 23 22 -R 00 00 01 00 00 07 03 00 -T 04 07 00 00 00 00 00 00 18 0B -R 00 00 01 00 00 04 03 00 -T 08 07 00 00 -R 00 00 01 00 -T 08 07 00 00 1E 04 CD 74 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T 11 07 00 00 74 F9 -R 00 00 01 00 -T 13 07 00 00 -R 00 00 01 00 -T 13 07 00 00 2A 00 00 00 00 7E FE 5D 28 08 2A -R 00 00 01 00 00 05 03 00 -T 1C 07 00 00 00 00 00 00 7E FE 2D 20 0E -R 00 00 01 00 00 04 03 00 -T 23 07 00 00 -R 00 00 01 00 -T 23 07 00 00 -R 00 00 01 00 -T 23 07 00 00 -R 00 00 01 00 -T 23 07 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 2A 07 00 00 2B 5E 16 00 CD E8 09 00 00 -R 00 00 01 00 00 09 01 00 -T 31 07 00 00 -R 00 00 01 00 -T 31 07 00 00 -R 00 00 01 00 -T 31 07 00 00 2A 00 00 00 00 AF B6 CA -R 00 00 01 00 00 05 03 00 -T 37 07 00 00 D4 07 00 00 2A 00 00 00 00 7E FE -R 00 00 01 00 00 04 01 00 00 09 03 00 -T 3E 07 00 00 5D CA D4 07 00 00 -R 00 00 01 00 00 06 01 00 -T 42 07 00 00 -R 00 00 01 00 -T 42 07 00 00 -R 00 00 01 00 -T 42 07 00 00 -R 00 00 01 00 -T 42 07 00 00 2A 00 00 00 00 7E FE 2D 20 79 -R 00 00 01 00 00 05 03 00 -T 4A 07 00 00 -R 00 00 01 00 -T 4A 07 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 51 07 00 00 2A 00 00 00 00 7E FE 5D 28 07 2A -R 00 00 01 00 00 05 03 00 -T 5A 07 00 00 00 00 00 00 AF B6 20 08 -R 00 00 01 00 00 04 03 00 -T 60 07 00 00 -R 00 00 01 00 -T 60 07 00 00 -R 00 00 01 00 -T 60 07 00 00 -R 00 00 01 00 -T 60 07 00 00 11 2D 00 CD E8 09 00 00 18 59 -R 00 00 01 00 00 08 01 00 -T 68 07 00 00 -R 00 00 01 00 -T 68 07 00 00 2A 00 00 00 00 2B 2B 4E 06 00 03 -R 00 00 01 00 00 05 03 00 -T 71 07 00 00 DD 71 FC DD 70 FD 2A 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 7A 07 00 00 5E 16 00 DD 73 FE DD 72 FF EB 23 -R 00 00 01 00 -T 85 07 00 00 CD 00 00 00 00 30 0C -R 00 00 01 00 02 05 0D 00 -T 8A 07 00 00 -R 00 00 01 00 -T 8A 07 00 00 11 74 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T 91 07 00 00 00 00 C3 71 09 00 00 -R 00 00 01 00 00 07 01 00 -T 96 07 00 00 -R 00 00 01 00 -T 96 07 00 00 -R 00 00 01 00 -T 96 07 00 00 DD 4E FC DD 46 FD DD 6E FE DD 66 -R 00 00 01 00 -T A1 07 00 00 FF CD 00 00 00 00 38 13 -R 00 00 01 00 02 06 0D 00 -T A7 07 00 00 -R 00 00 01 00 -T A7 07 00 00 DD 5E FC DD 56 FD 13 DD 73 FC DD -R 00 00 01 00 -T B2 07 00 00 72 FD 1B CD E8 09 00 00 18 DC -R 00 00 01 00 00 08 01 00 -T BA 07 00 00 -R 00 00 01 00 -T BA 07 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T C1 07 00 00 -R 00 00 01 00 -T C1 07 00 00 18 0E -R 00 00 01 00 -T C3 07 00 00 -R 00 00 01 00 -T C3 07 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T CA 07 00 00 2B 5E 16 00 CD E8 09 00 00 -R 00 00 01 00 00 09 01 00 -T D1 07 00 00 -R 00 00 01 00 -T D1 07 00 00 C3 31 07 00 00 -R 00 00 01 00 00 05 01 00 -T D4 07 00 00 -R 00 00 01 00 -T D4 07 00 00 11 00 00 CD E8 09 00 00 2A -R 00 00 01 00 00 08 01 00 -T DB 07 00 00 00 00 00 00 7E FE 5D 28 0C -R 00 00 01 00 00 04 03 00 -T E2 07 00 00 -R 00 00 01 00 -T E2 07 00 00 11 85 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T E9 07 00 00 00 00 C3 71 09 00 00 -R 00 00 01 00 00 07 01 00 -T EE 07 00 00 -R 00 00 01 00 -T EE 07 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T F5 07 00 00 DD 6E 02 DD 66 03 7E F6 03 77 23 -R 00 00 01 00 -T 00 08 00 00 7E F6 00 77 C3 6B 09 00 00 -R 00 00 01 00 00 09 01 00 -T 07 08 00 00 -R 00 00 01 00 -T 07 08 00 00 21 02 00 39 4D 44 11 01 00 CD -R 00 00 01 00 -T 11 08 00 00 E1 01 00 00 DD 75 F8 DD 74 F9 7D -R 00 00 01 00 00 04 01 00 -T 1A 08 00 00 B4 20 06 -R 00 00 01 00 -T 1D 08 00 00 -R 00 00 01 00 -T 1D 08 00 00 21 00 00 C3 71 09 00 00 -R 00 00 01 00 00 08 01 00 -T 23 08 00 00 -R 00 00 01 00 -T 23 08 00 00 DD 7E FA E6 05 4F DD 7E FB E6 00 -R 00 00 01 00 -T 2E 08 00 00 47 DD 6E 02 DD 66 03 7E B1 77 23 -R 00 00 01 00 -T 39 08 00 00 7E B0 77 C3 6B 09 00 00 -R 00 00 01 00 00 08 01 00 -T 3F 08 00 00 -R 00 00 01 00 -T 3F 08 00 00 11 92 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T 46 08 00 00 00 00 C3 71 09 00 00 -R 00 00 01 00 00 07 01 00 -T 4B 08 00 00 -R 00 00 01 00 -T 4B 08 00 00 11 9F 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T 52 08 00 00 00 00 C3 71 09 00 00 -R 00 00 01 00 00 07 01 00 -T 57 08 00 00 -R 00 00 01 00 -T 57 08 00 00 2A 00 00 00 00 AF B6 20 0C -R 00 00 01 00 00 05 03 00 -T 5E 08 00 00 -R 00 00 01 00 -T 5E 08 00 00 11 B3 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T 65 08 00 00 00 00 C3 71 09 00 00 -R 00 00 01 00 00 07 01 00 -T 6A 08 00 00 -R 00 00 01 00 -T 6A 08 00 00 1E 08 CD 74 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T 73 08 00 00 74 F9 2A 00 00 00 00 23 22 -R 00 00 01 00 00 07 03 00 -T 7A 08 00 00 00 00 00 00 2B 5E 16 00 CD -R 00 00 01 00 00 04 03 00 -T 81 08 00 00 E8 09 00 00 11 00 00 CD -R 00 00 01 00 00 04 01 00 -T 87 08 00 00 E8 09 00 00 DD 6E 02 DD 66 03 7E -R 00 00 01 00 00 04 01 00 -T 90 08 00 00 F6 03 77 23 7E F6 00 77 C3 -R 00 00 01 00 -T 99 08 00 00 6B 09 00 00 -R 00 00 01 00 00 04 01 00 -T 9B 08 00 00 -R 00 00 01 00 -T 9B 08 00 00 01 BE 00 00 00 ED 5B 00 00 00 00 -R 00 00 01 00 00 05 02 00 00 0B 03 00 -T A2 08 00 00 1B ED 53 00 00 00 00 CD -R 00 00 01 00 00 07 03 00 -T A8 08 00 00 00 00 00 00 DD 75 FC DD 74 FD 4D -R 00 00 01 00 02 04 02 00 -T B1 08 00 00 44 21 00 00 CD 00 00 00 00 38 0C -R 00 00 01 00 02 09 0D 00 -T BA 08 00 00 -R 00 00 01 00 -T BA 08 00 00 11 CA 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T C1 08 00 00 00 00 C3 71 09 00 00 -R 00 00 01 00 00 07 01 00 -T C6 08 00 00 -R 00 00 01 00 -T C6 08 00 00 DD 6E FC DD 66 FD ED 4B -R 00 00 01 00 -T CE 08 00 00 00 00 00 00 09 46 DD 70 FE DD 4E -R 00 00 01 00 00 04 03 00 -T D7 08 00 00 FC DD 46 FD 21 01 00 CD -R 00 00 01 00 -T DF 08 00 00 00 00 00 00 30 22 DD 7E FE FE 2A -R 00 00 01 00 02 04 0D 00 -T E8 08 00 00 28 0E DD 7E FE FE 2B 28 07 DD 7E -R 00 00 01 00 -T F3 08 00 00 FE FE 3F 20 0D -R 00 00 01 00 -T F8 08 00 00 -R 00 00 01 00 -T F8 08 00 00 -R 00 00 01 00 -T F8 08 00 00 -R 00 00 01 00 -T F8 08 00 00 -R 00 00 01 00 -T F8 08 00 00 -R 00 00 01 00 -T F8 08 00 00 DD 6E FC DD 66 FD 2B DD 75 FC DD -R 00 00 01 00 -T 03 09 00 00 74 FD -R 00 00 01 00 -T 05 09 00 00 -R 00 00 01 00 -T 05 09 00 00 DD 6E 02 DD 66 03 7E F6 01 77 23 -R 00 00 01 00 -T 10 09 00 00 7E F6 00 77 3E 01 DD AE FC DD B6 -R 00 00 01 00 -T 1B 09 00 00 FD 20 0F -R 00 00 01 00 -T 1E 09 00 00 -R 00 00 01 00 -T 1E 09 00 00 DD 6E 02 DD 66 03 7E F6 02 77 23 -R 00 00 01 00 -T 29 09 00 00 7E F6 00 77 -R 00 00 01 00 -T 2D 09 00 00 -R 00 00 01 00 -T 2D 09 00 00 1E 08 CD 74 09 00 00 DD 75 F8 DD -R 00 00 01 00 00 07 01 00 -T 36 09 00 00 74 F9 -R 00 00 01 00 -T 38 09 00 00 -R 00 00 01 00 -T 38 09 00 00 DD 4E FC DD 46 FD 21 00 00 CD -R 00 00 01 00 -T 42 09 00 00 00 00 00 00 30 1D -R 00 00 01 00 02 04 0D 00 -T 46 09 00 00 -R 00 00 01 00 -T 46 09 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 4D 09 00 00 2B 5E 16 00 CD E8 09 00 00 DD 6E -R 00 00 01 00 00 09 01 00 -T 56 09 00 00 FC DD 66 FD 2B DD 75 FC DD 74 FD -R 00 00 01 00 -T 61 09 00 00 18 D5 -R 00 00 01 00 -T 63 09 00 00 -R 00 00 01 00 -T 63 09 00 00 11 00 00 CD E8 09 00 00 18 00 -R 00 00 01 00 00 08 01 00 -T 6B 09 00 00 -R 00 00 01 00 -T 6B 09 00 00 DD 6E F8 DD 66 F9 -R 00 00 01 00 -T 71 09 00 00 -R 00 00 01 00 -T 71 09 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 74 09 00 00 -R 00 00 01 00 -T 74 09 00 00 CD 00 00 00 00 FC FF 2A -R 00 00 01 00 02 05 0C 00 -T 7A 09 00 00 05 00 00 00 DD 75 FC DD 74 FD 01 -R 00 00 01 00 00 04 03 00 -T 83 09 00 00 04 00 00 00 A7 ED 42 20 14 -R 00 00 01 00 00 04 03 00 -T 8A 09 00 00 -R 00 00 01 00 -T 8A 09 00 00 21 07 00 00 00 01 00 00 11 03 00 -R 00 00 01 00 00 05 03 00 -T 93 09 00 00 CD 00 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 02 05 07 00 -T 9C 09 00 00 18 47 -R 00 00 01 00 -T 9E 09 00 00 -R 00 00 01 00 -T 9E 09 00 00 DD 6E FC DD 66 FD DD 75 FE DD 74 -R 00 00 01 00 -T A9 09 00 00 FF 23 DD 75 FE DD 74 FF 2B DD 46 -R 00 00 01 00 -T B4 09 00 00 02 70 DD 6E FE DD 66 FF 23 DD 75 -R 00 00 01 00 -T BF 09 00 00 FE DD 74 FF 2B 36 00 DD 6E FE DD -R 00 00 01 00 -T CA 09 00 00 66 FF 23 DD 75 FE DD 74 FF 2B 36 -R 00 00 01 00 -T D5 09 00 00 00 DD 6E FE DD 66 FF 22 -R 00 00 01 00 -T DD 09 00 00 05 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 00 04 03 00 -T E5 09 00 00 -R 00 00 01 00 -T E5 09 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T E8 09 00 00 -R 00 00 01 00 -T E8 09 00 00 CD 00 00 00 00 21 04 00 00 00 ED -R 00 00 01 00 02 05 09 00 00 0A 03 00 -T EF 09 00 00 4B 05 00 00 00 A7 ED 42 28 0E -R 00 00 01 00 00 05 03 00 -T F7 09 00 00 -R 00 00 01 00 -T F7 09 00 00 DD 46 02 2A 05 00 00 00 23 22 -R 00 00 01 00 00 08 03 00 -T FF 09 00 00 05 00 00 00 2B 70 18 11 -R 00 00 01 00 00 04 03 00 -T 05 0A 00 00 -R 00 00 01 00 -T 05 0A 00 00 2A 07 00 00 00 ED 4B 09 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 0C 0A 00 00 CD 00 00 00 00 22 07 00 00 00 ED -R 00 00 01 00 02 05 03 00 00 0A 03 00 -T 13 0A 00 00 43 09 00 00 00 -R 00 00 01 00 00 05 03 00 -T 16 0A 00 00 -R 00 00 01 00 -T 16 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 19 0A 00 00 -R 00 00 01 00 -T 19 0A 00 00 CD 00 00 00 00 FA FF 21 -R 00 00 01 00 02 05 0C 00 -T 1F 0A 00 00 04 00 00 00 ED 5B 05 00 00 00 A7 -R 00 00 01 00 00 04 03 00 00 0A 03 00 -T 26 0A 00 00 ED 52 20 0F -R 00 00 01 00 -T 2A 0A 00 00 -R 00 00 01 00 -T 2A 0A 00 00 21 07 00 00 00 01 00 00 11 03 00 -R 00 00 01 00 00 05 03 00 -T 33 0A 00 00 CD 00 00 00 00 C3 BA 0A 00 00 -R 00 00 01 00 02 05 07 00 00 0A 01 00 -T 39 0A 00 00 -R 00 00 01 00 -T 39 0A 00 00 2A 05 00 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 00 05 03 00 -T 42 0A 00 00 21 03 00 ED 4B 05 00 00 00 09 22 -R 00 00 01 00 00 09 03 00 -T 4B 0A 00 00 05 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 00 04 03 00 -T 53 0A 00 00 -R 00 00 01 00 -T 53 0A 00 00 DD 4E FA DD 46 FB DD 6E 04 DD 66 -R 00 00 01 00 -T 5E 0A 00 00 05 A7 ED 42 30 1E -R 00 00 01 00 -T 64 0A 00 00 -R 00 00 01 00 -T 64 0A 00 00 DD 6E FA DD 66 FB 2B DD 75 FA DD -R 00 00 01 00 -T 6F 0A 00 00 74 FB 46 DD 6E FC DD 66 FD 2B DD -R 00 00 01 00 -T 7A 0A 00 00 75 FC DD 74 FD 70 18 D1 -R 00 00 01 00 -T 82 0A 00 00 -R 00 00 01 00 -T 82 0A 00 00 DD 6E 04 DD 66 05 DD 75 FE DD 74 -R 00 00 01 00 -T 8D 0A 00 00 FF 23 DD 75 FE DD 74 FF 2B DD 46 -R 00 00 01 00 -T 98 0A 00 00 02 70 DD 6E FE DD 66 FF 23 DD 75 -R 00 00 01 00 -T A3 0A 00 00 FE DD 74 FF 2B 36 00 DD 6E FE DD -R 00 00 01 00 -T AE 0A 00 00 66 FF 23 DD 75 FE DD 74 FF 2B 36 -R 00 00 01 00 -T B9 0A 00 00 00 -R 00 00 01 00 -T BA 0A 00 00 -R 00 00 01 00 -T BA 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T BD 0A 00 00 -R 00 00 01 00 -T BD 0A 00 00 CD 00 00 00 00 FA FF 21 -R 00 00 01 00 02 05 0C 00 -T C3 0A 00 00 04 00 00 00 DD 5E 02 DD 56 03 A7 -R 00 00 01 00 00 04 03 00 -T CC 0A 00 00 ED 52 20 03 -R 00 00 01 00 -T D0 0A 00 00 -R 00 00 01 00 -T D0 0A 00 00 C3 5D 0B 00 00 -R 00 00 01 00 00 05 01 00 -T D3 0A 00 00 -R 00 00 01 00 -T D3 0A 00 00 DD 6E 02 DD 66 03 DD 75 FA DD 74 -R 00 00 01 00 -T DE 0A 00 00 FB -R 00 00 01 00 -T DF 0A 00 00 -R 00 00 01 00 -T DF 0A 00 00 DD 5E FA DD 56 FB CD 3E 12 00 00 -R 00 00 01 00 00 0B 01 00 -T E8 0A 00 00 DD 75 FC DD 74 FD 7D B4 20 02 -R 00 00 01 00 -T F2 0A 00 00 -R 00 00 01 00 -T F2 0A 00 00 18 0E -R 00 00 01 00 -T F4 0A 00 00 -R 00 00 01 00 -T F4 0A 00 00 DD 6E FC DD 66 FD DD 75 FA DD 74 -R 00 00 01 00 -T FF 0A 00 00 FB 18 DD -R 00 00 01 00 -T 02 0B 00 00 -R 00 00 01 00 -T 02 0B 00 00 DD 6E FA DD 66 FB 7E FE 07 20 17 -R 00 00 01 00 -T 0D 0B 00 00 -R 00 00 01 00 -T 0D 0B 00 00 DD 4E 04 DD 46 05 DD 6E FA DD 66 -R 00 00 01 00 -T 18 0B 00 00 FB A7 ED 42 DD 75 FE DD 74 FF 18 -R 00 00 01 00 -T 23 0B 00 00 15 -R 00 00 01 00 -T 24 0B 00 00 -R 00 00 01 00 -T 24 0B 00 00 DD 4E FA DD 46 FB DD 6E 04 DD 66 -R 00 00 01 00 -T 2F 0B 00 00 05 A7 ED 42 DD 75 FE DD 74 FF -R 00 00 01 00 -T 39 0B 00 00 -R 00 00 01 00 -T 39 0B 00 00 06 08 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 42 0B 00 00 00 00 00 00 7B E6 FF DD 6E FA DD -R 00 00 01 00 02 04 10 00 -T 4B 0B 00 00 66 FB 23 77 DD 7E FE E6 FF DD 6E -R 00 00 01 00 -T 56 0B 00 00 FA DD 66 FB 23 23 77 -R 00 00 01 00 -T 5D 0B 00 00 -R 00 00 01 00 -T 5D 0B 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 60 0B 00 00 -R 00 00 01 00 -T 60 0B 00 00 CD 00 00 00 00 7B B2 28 19 21 -R 00 00 01 00 02 05 09 00 -T 68 0B 00 00 04 00 00 00 DD 4E 02 DD 46 03 A7 -R 00 00 01 00 00 04 03 00 -T 71 0B 00 00 ED 42 28 0B DD 6E 02 DD 66 03 7E -R 00 00 01 00 -T 7C 0B 00 00 FE 06 28 02 -R 00 00 01 00 -T 80 0B 00 00 -R 00 00 01 00 -T 80 0B 00 00 -R 00 00 01 00 -T 80 0B 00 00 -R 00 00 01 00 -T 80 0B 00 00 18 12 -R 00 00 01 00 -T 82 0B 00 00 -R 00 00 01 00 -T 82 0B 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 -R 00 00 01 00 -T 8D 0B 00 00 03 13 13 13 CD BD 0A 00 00 -R 00 00 01 00 00 09 01 00 -T 94 0B 00 00 -R 00 00 01 00 -T 94 0B 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 97 0B 00 00 -R 00 00 01 00 -T 97 0B 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD -R 00 00 01 00 02 05 0C 00 -T A0 0B 00 00 B6 03 28 08 DD 7E 04 DD B6 05 20 -R 00 00 01 00 -T AB 0B 00 00 0C -R 00 00 01 00 -T AC 0B 00 00 -R 00 00 01 00 -T AC 0B 00 00 -R 00 00 01 00 -T AC 0B 00 00 -R 00 00 01 00 -T AC 0B 00 00 11 DC 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T B3 0B 00 00 00 00 C3 07 0D 00 00 -R 00 00 01 00 00 07 01 00 -T B8 0B 00 00 -R 00 00 01 00 -T B8 0B 00 00 21 2E 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T C3 0B 00 00 06 00 3E 9C A9 B0 28 0C -R 00 00 01 00 -T CB 0B 00 00 -R 00 00 01 00 -T CB 0B 00 00 11 EB 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T D2 0B 00 00 00 00 C3 07 0D 00 00 -R 00 00 01 00 00 07 01 00 -T D7 0B 00 00 -R 00 00 01 00 -T D7 0B 00 00 21 2A 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T E2 0B 00 00 23 B6 28 6D -R 00 00 01 00 -T E6 0B 00 00 -R 00 00 01 00 -T E6 0B 00 00 DD 6E 04 DD 66 05 DD 75 FE DD 74 -R 00 00 01 00 -T F1 0B 00 00 FF -R 00 00 01 00 -T F2 0B 00 00 -R 00 00 01 00 -T F2 0B 00 00 21 2A 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T FD 0B 00 00 23 66 6F 4E 06 00 DD 5E FE DD 56 -R 00 00 01 00 -T 08 0C 00 00 FF CD 00 00 00 00 DD 75 FE DD 74 -R 00 00 01 00 02 06 04 00 -T 11 0C 00 00 FF 7D B4 28 2F -R 00 00 01 00 -T 16 0C 00 00 -R 00 00 01 00 -T 16 0C 00 00 21 2C 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 21 0C 00 00 23 56 D5 21 2A 00 09 4E 23 46 DD -R 00 00 01 00 -T 2C 0C 00 00 5E FE DD 56 FF CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 01 00 -T 35 0C 00 00 7D B4 20 02 -R 00 00 01 00 -T 39 0C 00 00 -R 00 00 01 00 -T 39 0C 00 00 18 0A -R 00 00 01 00 -T 3B 0C 00 00 -R 00 00 01 00 -T 3B 0C 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 43 0C 00 00 -R 00 00 01 00 -T 43 0C 00 00 18 AD -R 00 00 01 00 -T 45 0C 00 00 -R 00 00 01 00 -T 45 0C 00 00 DD 7E FE DD B6 FF 20 06 -R 00 00 01 00 -T 4D 0C 00 00 -R 00 00 01 00 -T 4D 0C 00 00 21 00 00 C3 07 0D 00 00 -R 00 00 01 00 00 08 01 00 -T 53 0C 00 00 -R 00 00 01 00 -T 53 0C 00 00 -R 00 00 01 00 -T 53 0C 00 00 DD 6E 04 DD 66 05 22 0D 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 5C 0C 00 00 21 29 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 67 0C 00 00 B7 28 12 -R 00 00 01 00 -T 6A 0C 00 00 -R 00 00 01 00 -T 6A 0C 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 -R 00 00 01 00 -T 75 0C 00 00 03 CD 0A 0D 00 00 C3 07 0D 00 00 -R 00 00 01 00 00 06 01 00 00 0B 01 00 -T 7C 0C 00 00 -R 00 00 01 00 -T 7C 0C 00 00 DD 6E 04 DD 66 05 DD 75 FE DD 74 -R 00 00 01 00 -T 87 0C 00 00 FF 21 28 00 DD 4E 02 DD 46 03 09 -R 00 00 01 00 -T 92 0C 00 00 7E B7 28 44 -R 00 00 01 00 -T 96 0C 00 00 -R 00 00 01 00 -T 96 0C 00 00 -R 00 00 01 00 -T 96 0C 00 00 21 28 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T A1 0C 00 00 06 00 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T AA 0C 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 04 00 -T B3 0C 00 00 B4 28 22 -R 00 00 01 00 -T B6 0C 00 00 -R 00 00 01 00 -T B6 0C 00 00 DD 4E FE DD 46 FF DD 5E 02 DD 56 -R 00 00 01 00 -T C1 0C 00 00 03 CD 0A 0D 00 00 7D B4 28 05 -R 00 00 01 00 00 06 01 00 -T C9 0C 00 00 -R 00 00 01 00 -T C9 0C 00 00 21 01 00 18 39 -R 00 00 01 00 -T CE 0C 00 00 -R 00 00 01 00 -T CE 0C 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T D6 0C 00 00 -R 00 00 01 00 -T D6 0C 00 00 18 BE -R 00 00 01 00 -T D8 0C 00 00 -R 00 00 01 00 -T D8 0C 00 00 18 2A -R 00 00 01 00 -T DA 0C 00 00 -R 00 00 01 00 -T DA 0C 00 00 -R 00 00 01 00 -T DA 0C 00 00 DD 4E FE DD 46 FF DD 5E 02 DD 56 -R 00 00 01 00 -T E5 0C 00 00 03 CD 0A 0D 00 00 7D B4 28 05 -R 00 00 01 00 00 06 01 00 -T ED 0C 00 00 -R 00 00 01 00 -T ED 0C 00 00 21 01 00 18 15 -R 00 00 01 00 -T F2 0C 00 00 -R 00 00 01 00 -T F2 0C 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T FD 0C 00 00 74 FF 2B 7E B7 20 D6 -R 00 00 01 00 -T 04 0D 00 00 -R 00 00 01 00 -T 04 0D 00 00 -R 00 00 01 00 -T 04 0D 00 00 21 00 00 -R 00 00 01 00 -T 07 0D 00 00 -R 00 00 01 00 -T 07 0D 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 0A 0D 00 00 -R 00 00 01 00 -T 0A 0D 00 00 CD 00 00 00 00 FA FF ED 43 -R 00 00 01 00 02 05 0C 00 -T 11 0D 00 00 0B 00 00 00 DD 6E 02 DD 66 03 22 -R 00 00 01 00 00 04 03 00 -T 1A 0D 00 00 0F 00 00 00 21 14 00 DD 4E 02 DD -R 00 00 01 00 00 04 03 00 -T 23 0D 00 00 46 03 09 22 11 00 00 00 DD 71 FC -R 00 00 01 00 00 08 03 00 -T 2C 0D 00 00 DD 70 FD 21 14 00 DD 4E 02 DD 46 -R 00 00 01 00 -T 37 0D 00 00 03 09 DD 75 FE DD 74 FF DD 36 FA -R 00 00 01 00 -T 42 0D 00 00 0A DD 36 FB 00 -R 00 00 01 00 -T 47 0D 00 00 -R 00 00 01 00 -T 47 0D 00 00 DD 6E FA DD 66 FB 2B DD 75 FA DD -R 00 00 01 00 -T 52 0D 00 00 74 FB 23 7D B4 28 2A -R 00 00 01 00 -T 59 0D 00 00 -R 00 00 01 00 -T 59 0D 00 00 DD 6E FC DD 66 FD 4D 44 03 03 DD -R 00 00 01 00 -T 64 0D 00 00 71 FC DD 70 FD AF 77 23 77 DD 6E -R 00 00 01 00 -T 6F 0D 00 00 FE DD 66 FF 4D 44 03 03 DD 71 FE -R 00 00 01 00 -T 7A 0D 00 00 DD 70 FF AF 77 23 77 18 C4 -R 00 00 01 00 -T 83 0D 00 00 -R 00 00 01 00 -T 83 0D 00 00 21 2E 00 DD 4E 02 DD 46 03 09 EB -R 00 00 01 00 -T 8E 0D 00 00 13 CD C3 0D 00 00 7D B4 28 27 -R 00 00 01 00 00 06 01 00 -T 96 0D 00 00 -R 00 00 01 00 -T 96 0D 00 00 DD 6E 04 DD 66 05 E5 DD 6E 02 DD -R 00 00 01 00 -T A1 0D 00 00 66 03 C1 71 23 70 21 14 00 DD 4E -R 00 00 01 00 -T AC 0D 00 00 02 DD 46 03 09 ED 4B 0B 00 00 00 -R 00 00 01 00 00 0B 03 00 -T B5 0D 00 00 71 23 70 21 01 00 18 03 -R 00 00 01 00 -T BD 0D 00 00 -R 00 00 01 00 -T BD 0D 00 00 21 00 00 -R 00 00 01 00 -T C0 0D 00 00 -R 00 00 01 00 -T C0 0D 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T C3 0D 00 00 -R 00 00 01 00 -T C3 0D 00 00 CD 00 00 00 00 F4 FF DD 6E 02 DD -R 00 00 01 00 02 05 0C 00 -T CC 0D 00 00 66 03 DD 75 F4 DD 74 F5 -R 00 00 01 00 -T D4 0D 00 00 -R 00 00 01 00 -T D4 0D 00 00 DD 7E F4 DD B6 F5 CA 24 11 00 00 -R 00 00 01 00 00 0B 01 00 -T DD 0D 00 00 -R 00 00 01 00 -T DD 0D 00 00 DD 5E F4 DD 56 F5 CD 3E 12 00 00 -R 00 00 01 00 00 0B 01 00 -T E6 0D 00 00 DD 75 F6 DD 74 F7 DD 6E F4 DD 66 -R 00 00 01 00 -T F1 0D 00 00 F5 7E FE 01 20 15 -R 00 00 01 00 -T F7 0D 00 00 -R 00 00 01 00 -T F7 0D 00 00 2A 0D 00 00 00 ED 4B 0B 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T FE 0D 00 00 A7 ED 42 28 06 -R 00 00 01 00 -T 03 0E 00 00 -R 00 00 01 00 -T 03 0E 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 09 0E 00 00 -R 00 00 01 00 -T 09 0E 00 00 C3 15 11 00 00 -R 00 00 01 00 00 05 01 00 -T 0C 0E 00 00 -R 00 00 01 00 -T 0C 0E 00 00 FE 02 20 10 2A 0B 00 00 00 AF B6 -R 00 00 01 00 00 09 03 00 -T 15 0E 00 00 28 06 -R 00 00 01 00 -T 17 0E 00 00 -R 00 00 01 00 -T 17 0E 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 1D 0E 00 00 -R 00 00 01 00 -T 1D 0E 00 00 C3 15 11 00 00 -R 00 00 01 00 00 05 01 00 -T 20 0E 00 00 -R 00 00 01 00 -T 20 0E 00 00 FE 03 20 17 2A 0B 00 00 00 AF B6 -R 00 00 01 00 00 09 03 00 -T 29 0E 00 00 20 06 -R 00 00 01 00 -T 2B 0E 00 00 -R 00 00 01 00 -T 2B 0E 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 31 0E 00 00 -R 00 00 01 00 -T 31 0E 00 00 2A 0B 00 00 00 23 22 0B 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 38 0E 00 00 C3 15 11 00 00 -R 00 00 01 00 00 05 01 00 -T 3B 0E 00 00 -R 00 00 01 00 -T 3B 0E 00 00 FE 08 20 6D DD 6E F4 DD 66 F5 23 -R 00 00 01 00 -T 46 0E 00 00 23 23 DD 75 FA DD 74 FB 2A -R 00 00 01 00 -T 4F 0E 00 00 0B 00 00 00 E5 DD 6E FA DD 66 FB -R 00 00 01 00 00 04 03 00 -T 58 0E 00 00 7E E1 BE 28 06 -R 00 00 01 00 -T 5D 0E 00 00 -R 00 00 01 00 -T 5D 0E 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 63 0E 00 00 -R 00 00 01 00 -T 63 0E 00 00 DD 5E FA DD 56 FB CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 6C 0E 00 00 DD 75 F8 DD 74 F9 4D 44 21 01 00 -R 00 00 01 00 -T 77 0E 00 00 CD 00 00 00 00 30 1F DD 6E F8 DD -R 00 00 01 00 02 05 0D 00 -T 80 0E 00 00 66 F9 E5 ED 4B 0B 00 00 00 DD 5E -R 00 00 01 00 00 09 03 00 -T 89 0E 00 00 FA DD 56 FB CD 00 00 00 00 F1 7D -R 00 00 01 00 02 09 01 00 -T 92 0E 00 00 B4 28 06 -R 00 00 01 00 -T 95 0E 00 00 -R 00 00 01 00 -T 95 0E 00 00 -R 00 00 01 00 -T 95 0E 00 00 -R 00 00 01 00 -T 95 0E 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 9B 0E 00 00 -R 00 00 01 00 -T 9B 0E 00 00 DD 6E F8 DD 66 F9 ED 4B -R 00 00 01 00 -T A3 0E 00 00 0B 00 00 00 09 22 0B 00 00 00 C3 -R 00 00 01 00 00 04 03 00 00 0A 03 00 -T AA 0E 00 00 15 11 00 00 -R 00 00 01 00 00 04 01 00 -T AC 0E 00 00 -R 00 00 01 00 -T AC 0E 00 00 FE 04 20 2D 2A 0B 00 00 00 AF B6 -R 00 00 01 00 00 09 03 00 -T B5 0E 00 00 28 16 2A 0B 00 00 00 4E 06 00 DD -R 00 00 01 00 00 07 03 00 -T BE 0E 00 00 5E F4 DD 56 F5 13 13 13 CD -R 00 00 01 00 -T C7 0E 00 00 00 00 00 00 7D B4 20 06 -R 00 00 01 00 02 04 04 00 -T CD 0E 00 00 -R 00 00 01 00 -T CD 0E 00 00 -R 00 00 01 00 -T CD 0E 00 00 -R 00 00 01 00 -T CD 0E 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T D3 0E 00 00 -R 00 00 01 00 -T D3 0E 00 00 2A 0B 00 00 00 23 22 0B 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T DA 0E 00 00 C3 15 11 00 00 -R 00 00 01 00 00 05 01 00 -T DD 0E 00 00 -R 00 00 01 00 -T DD 0E 00 00 FE 05 20 2D 2A 0B 00 00 00 AF B6 -R 00 00 01 00 00 09 03 00 -T E6 0E 00 00 28 16 2A 0B 00 00 00 4E 06 00 DD -R 00 00 01 00 00 07 03 00 -T EF 0E 00 00 5E F4 DD 56 F5 13 13 13 CD -R 00 00 01 00 -T F8 0E 00 00 00 00 00 00 7D B4 28 06 -R 00 00 01 00 02 04 04 00 -T FE 0E 00 00 -R 00 00 01 00 -T FE 0E 00 00 -R 00 00 01 00 -T FE 0E 00 00 -R 00 00 01 00 -T FE 0E 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 04 0F 00 00 -R 00 00 01 00 -T 04 0F 00 00 2A 0B 00 00 00 23 22 0B 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 0B 0F 00 00 C3 15 11 00 00 -R 00 00 01 00 00 05 01 00 -T 0E 0F 00 00 -R 00 00 01 00 -T 0E 0F 00 00 FE 09 20 03 C3 15 11 00 00 -R 00 00 01 00 00 09 01 00 -T 15 0F 00 00 -R 00 00 01 00 -T 15 0F 00 00 FE 07 20 03 C3 15 11 00 00 -R 00 00 01 00 00 09 01 00 -T 1C 0F 00 00 -R 00 00 01 00 -T 1C 0F 00 00 FE 15 38 5F FE 1E 30 5B DD 6E F4 -R 00 00 01 00 -T 27 0F 00 00 DD 66 F5 4E 06 00 21 EC FF 09 DD -R 00 00 01 00 -T 32 0F 00 00 75 F8 DD 74 F9 2A 0B 00 00 00 DD -R 00 00 01 00 00 0A 03 00 -T 3B 0F 00 00 75 FA DD 74 FB DD 5E F6 DD 56 F7 -R 00 00 01 00 -T 46 0F 00 00 CD C3 0D 00 00 7D B4 28 2C -R 00 00 01 00 00 05 01 00 -T 4D 0F 00 00 -R 00 00 01 00 -T 4D 0F 00 00 DD 6E F8 DD 66 F9 29 ED 4B -R 00 00 01 00 -T 56 0F 00 00 0F 00 00 00 09 7E 23 B6 20 15 -R 00 00 01 00 00 04 03 00 -T 5E 0F 00 00 -R 00 00 01 00 -T 5E 0F 00 00 DD 6E F8 DD 66 F9 29 ED 4B -R 00 00 01 00 -T 67 0F 00 00 0F 00 00 00 09 DD 4E FA DD 46 FB -R 00 00 01 00 00 04 03 00 -T 70 0F 00 00 71 23 70 -R 00 00 01 00 -T 73 0F 00 00 -R 00 00 01 00 -T 73 0F 00 00 21 01 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 79 0F 00 00 -R 00 00 01 00 -T 79 0F 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 7F 0F 00 00 -R 00 00 01 00 -T 7F 0F 00 00 FE 1F 38 5F FE 28 30 5B DD 6E F4 -R 00 00 01 00 -T 8A 0F 00 00 DD 66 F5 4E 06 00 21 E2 FF 09 DD -R 00 00 01 00 -T 95 0F 00 00 75 F8 DD 74 F9 2A 0B 00 00 00 DD -R 00 00 01 00 00 0A 03 00 -T 9E 0F 00 00 75 FA DD 74 FB DD 5E F6 DD 56 F7 -R 00 00 01 00 -T A9 0F 00 00 CD C3 0D 00 00 7D B4 28 2C -R 00 00 01 00 00 05 01 00 -T B0 0F 00 00 -R 00 00 01 00 -T B0 0F 00 00 DD 6E F8 DD 66 F9 29 ED 4B -R 00 00 01 00 -T B9 0F 00 00 11 00 00 00 09 7E 23 B6 20 15 -R 00 00 01 00 00 04 03 00 -T C1 0F 00 00 -R 00 00 01 00 -T C1 0F 00 00 DD 6E F8 DD 66 F9 29 ED 4B -R 00 00 01 00 -T CA 0F 00 00 11 00 00 00 09 DD 4E FA DD 46 FB -R 00 00 01 00 00 04 03 00 -T D3 0F 00 00 71 23 70 -R 00 00 01 00 -T D6 0F 00 00 -R 00 00 01 00 -T D6 0F 00 00 21 01 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T DC 0F 00 00 -R 00 00 01 00 -T DC 0F 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T E2 0F 00 00 -R 00 00 01 00 -T E2 0F 00 00 FE 06 20 6B DD 6E F6 DD 66 F7 7E -R 00 00 01 00 -T ED 0F 00 00 FE 06 28 11 -R 00 00 01 00 -T F1 0F 00 00 -R 00 00 01 00 -T F1 0F 00 00 DD 6E F4 DD 66 F5 23 23 23 DD 75 -R 00 00 01 00 -T FC 0F 00 00 F6 DD 74 F7 18 4C -R 00 00 01 00 -T 02 10 00 00 -R 00 00 01 00 -T 02 10 00 00 -R 00 00 01 00 -T 02 10 00 00 2A 0B 00 00 00 DD 75 F8 DD 74 F9 -R 00 00 01 00 00 05 03 00 -T 0B 10 00 00 DD 5E F4 DD 56 F5 13 13 13 CD -R 00 00 01 00 -T 15 10 00 00 C3 0D 00 00 7D B4 28 06 -R 00 00 01 00 00 04 01 00 -T 1B 10 00 00 -R 00 00 01 00 -T 1B 10 00 00 21 01 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 21 10 00 00 -R 00 00 01 00 -T 21 10 00 00 DD 6E F8 DD 66 F9 22 0B 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 2A 10 00 00 DD 5E F4 DD 56 F5 CD 3E 12 00 00 -R 00 00 01 00 00 0B 01 00 -T 33 10 00 00 DD 75 F4 DD 74 F5 7D B4 28 0B DD -R 00 00 01 00 -T 3E 10 00 00 6E F4 DD 66 F5 7E FE 06 28 BA -R 00 00 01 00 -T 48 10 00 00 -R 00 00 01 00 -T 48 10 00 00 21 00 00 C3 2D 11 00 00 -R 00 00 01 00 00 08 01 00 -T 4E 10 00 00 -R 00 00 01 00 -T 4E 10 00 00 C3 15 11 00 00 -R 00 00 01 00 00 05 01 00 -T 51 10 00 00 -R 00 00 01 00 -T 51 10 00 00 FE 0A DA 01 11 00 00 FE 0C D2 -R 00 00 01 00 00 07 01 00 -T 59 10 00 00 01 11 00 00 DD 36 F8 00 DD 6E F6 -R 00 00 01 00 00 04 01 00 -T 62 10 00 00 DD 66 F7 7E FE 08 20 0D -R 00 00 01 00 -T 6A 10 00 00 -R 00 00 01 00 -T 6A 10 00 00 DD 6E F6 DD 66 F7 23 23 23 46 DD -R 00 00 01 00 -T 75 10 00 00 70 F8 -R 00 00 01 00 -T 77 10 00 00 -R 00 00 01 00 -T 77 10 00 00 DD 6E F4 DD 66 F5 7E FE 0A 20 05 -R 00 00 01 00 -T 82 10 00 00 21 00 00 18 03 -R 00 00 01 00 -T 87 10 00 00 -R 00 00 01 00 -T 87 10 00 00 21 01 00 -R 00 00 01 00 -T 8A 10 00 00 -R 00 00 01 00 -T 8A 10 00 00 DD 75 FD DD 74 FE 2A 0B 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 93 10 00 00 DD 75 FB DD 74 FC DD 5E F4 DD 56 -R 00 00 01 00 -T 9E 10 00 00 F5 13 13 13 CD 30 11 00 00 DD 75 -R 00 00 01 00 00 09 01 00 -T A7 10 00 00 F9 DD 74 FA -R 00 00 01 00 -T AB 10 00 00 -R 00 00 01 00 -T AB 10 00 00 DD 4E FD DD 46 FE DD 6E F9 DD 66 -R 00 00 01 00 -T B6 10 00 00 FA CD 00 00 00 00 38 40 -R 00 00 01 00 02 06 0D 00 -T BC 10 00 00 -R 00 00 01 00 -T BC 10 00 00 AF DD B6 F8 28 09 2A 0B 00 00 00 -R 00 00 01 00 00 0B 03 00 -T C5 10 00 00 7E DD BE F8 20 12 -R 00 00 01 00 -T CB 10 00 00 -R 00 00 01 00 -T CB 10 00 00 -R 00 00 01 00 -T CB 10 00 00 -R 00 00 01 00 -T CB 10 00 00 DD 5E F6 DD 56 F7 CD C3 0D 00 00 -R 00 00 01 00 00 0B 01 00 -T D4 10 00 00 7D B4 28 05 -R 00 00 01 00 -T D8 10 00 00 -R 00 00 01 00 -T D8 10 00 00 21 01 00 18 50 -R 00 00 01 00 -T DD 10 00 00 -R 00 00 01 00 -T DD 10 00 00 -R 00 00 01 00 -T DD 10 00 00 DD 6E F9 DD 66 FA 2B DD 75 F9 DD -R 00 00 01 00 -T E8 10 00 00 74 FA DD 6E F9 DD 66 FA DD 4E FB -R 00 00 01 00 -T F3 10 00 00 DD 46 FC 09 22 0B 00 00 00 18 AF -R 00 00 01 00 00 09 03 00 -T FC 10 00 00 -R 00 00 01 00 -T FC 10 00 00 21 00 00 18 2C -R 00 00 01 00 -T 01 11 00 00 -R 00 00 01 00 -T 01 11 00 00 FE 00 20 05 21 01 00 18 23 -R 00 00 01 00 -T 0A 11 00 00 -R 00 00 01 00 -T 0A 11 00 00 11 FD 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T 11 11 00 00 00 00 18 18 -R 00 00 01 00 -T 15 11 00 00 -R 00 00 01 00 -T 15 11 00 00 DD 6E F6 DD 66 F7 DD 75 F4 DD 74 -R 00 00 01 00 -T 20 11 00 00 F5 C3 D4 0D 00 00 -R 00 00 01 00 00 06 01 00 -T 24 11 00 00 -R 00 00 01 00 -T 24 11 00 00 11 0F 01 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T 2B 11 00 00 00 00 -R 00 00 01 00 -T 2D 11 00 00 -R 00 00 01 00 -T 2D 11 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 30 11 00 00 -R 00 00 01 00 -T 30 11 00 00 CD 00 00 00 00 FA FF AF DD 77 FA -R 00 00 01 00 02 05 0C 00 -T 39 11 00 00 DD 77 FB 2A 0B 00 00 00 DD 75 FC -R 00 00 01 00 00 08 03 00 -T 42 11 00 00 DD 74 FD DD 6E 02 DD 66 03 23 23 -R 00 00 01 00 -T 4D 11 00 00 23 DD 75 FE DD 74 FF DD 6E 02 DD -R 00 00 01 00 -T 58 11 00 00 66 03 5E CD 00 00 00 00 04 00 03 -R 00 00 01 00 02 08 0F 00 -T 61 11 00 00 04 05 08 1D 12 00 00 8F 11 00 00 -R 00 00 01 00 00 07 01 00 00 0B 01 00 -T 68 11 00 00 E9 11 00 00 B5 11 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 6C 11 00 00 6E 11 00 00 -R 00 00 01 00 00 04 01 00 -T 6E 11 00 00 -R 00 00 01 00 -T 6E 11 00 00 DD 5E FC DD 56 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 77 11 00 00 DD 75 FA DD 74 FB 21 02 00 39 7E -R 00 00 01 00 -T 82 11 00 00 DD 86 FA 77 23 7E DD 8E FB 77 C3 -R 00 00 01 00 -T 8D 11 00 00 2C 12 00 00 -R 00 00 01 00 00 04 01 00 -T 8F 11 00 00 -R 00 00 01 00 -T 8F 11 00 00 -R 00 00 01 00 -T 8F 11 00 00 DD 6E FC DD 66 FD E5 DD 6E FE DD -R 00 00 01 00 -T 9A 11 00 00 66 FF 7E E1 BE 20 12 -R 00 00 01 00 -T A1 11 00 00 -R 00 00 01 00 -T A1 11 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T A9 11 00 00 -R 00 00 01 00 -T A9 11 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T B1 11 00 00 -R 00 00 01 00 -T B1 11 00 00 18 DC -R 00 00 01 00 -T B3 11 00 00 -R 00 00 01 00 -T B3 11 00 00 18 77 -R 00 00 01 00 -T B5 11 00 00 -R 00 00 01 00 -T B5 11 00 00 -R 00 00 01 00 -T B5 11 00 00 DD 6E FC DD 66 FD AF B6 28 28 DD -R 00 00 01 00 -T C0 11 00 00 6E FC DD 66 FD 4E 06 00 DD 5E FE -R 00 00 01 00 -T CB 11 00 00 DD 56 FF CD 00 00 00 00 7D B4 28 -R 00 00 01 00 02 08 04 00 -T D4 11 00 00 12 -R 00 00 01 00 -T D5 11 00 00 -R 00 00 01 00 -T D5 11 00 00 -R 00 00 01 00 -T D5 11 00 00 -R 00 00 01 00 -T D5 11 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T DD 11 00 00 -R 00 00 01 00 -T DD 11 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T E5 11 00 00 -R 00 00 01 00 -T E5 11 00 00 18 CE -R 00 00 01 00 -T E7 11 00 00 -R 00 00 01 00 -T E7 11 00 00 18 43 -R 00 00 01 00 -T E9 11 00 00 -R 00 00 01 00 -T E9 11 00 00 -R 00 00 01 00 -T E9 11 00 00 DD 6E FC DD 66 FD AF B6 28 28 DD -R 00 00 01 00 -T F4 11 00 00 6E FC DD 66 FD 4E 06 00 DD 5E FE -R 00 00 01 00 -T FF 11 00 00 DD 56 FF CD 00 00 00 00 7D B4 20 -R 00 00 01 00 02 08 04 00 -T 08 12 00 00 12 -R 00 00 01 00 -T 09 12 00 00 -R 00 00 01 00 -T 09 12 00 00 -R 00 00 01 00 -T 09 12 00 00 -R 00 00 01 00 -T 09 12 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 11 12 00 00 -R 00 00 01 00 -T 11 12 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 19 12 00 00 -R 00 00 01 00 -T 19 12 00 00 18 CE -R 00 00 01 00 -T 1B 12 00 00 -R 00 00 01 00 -T 1B 12 00 00 18 0F -R 00 00 01 00 -T 1D 12 00 00 -R 00 00 01 00 -T 1D 12 00 00 11 22 01 00 00 CD 00 00 00 00 AF -R 00 00 01 00 00 05 02 00 02 0A 0A 00 -T 24 12 00 00 DD 77 FA DD 77 FB 18 00 -R 00 00 01 00 -T 2C 12 00 00 -R 00 00 01 00 -T 2C 12 00 00 DD 6E FC DD 66 FD 22 0B 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 35 12 00 00 DD 6E FA DD 66 FB C3 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T 3E 12 00 00 -R 00 00 01 00 -T 3E 12 00 00 CD 00 00 00 00 FE FF 21 -R 00 00 01 00 02 05 0C 00 -T 44 12 00 00 04 00 00 00 DD 4E 02 DD 46 03 A7 -R 00 00 01 00 00 04 03 00 -T 4D 12 00 00 ED 42 20 05 -R 00 00 01 00 -T 51 12 00 00 -R 00 00 01 00 -T 51 12 00 00 21 00 00 18 59 -R 00 00 01 00 -T 56 12 00 00 -R 00 00 01 00 -T 56 12 00 00 DD 6E 02 DD 66 03 23 7E E6 FF 4F -R 00 00 01 00 -T 61 12 00 00 06 00 41 0E 00 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 6C 12 00 00 23 23 7E E6 FF 5F 16 00 69 60 19 -R 00 00 01 00 -T 77 12 00 00 DD 75 FE DD 74 FF 7D B4 20 05 -R 00 00 01 00 -T 81 12 00 00 -R 00 00 01 00 -T 81 12 00 00 21 00 00 18 29 -R 00 00 01 00 -T 86 12 00 00 -R 00 00 01 00 -T 86 12 00 00 DD 6E 02 DD 66 03 7E FE 07 20 11 -R 00 00 01 00 -T 91 12 00 00 -R 00 00 01 00 -T 91 12 00 00 DD 4E FE DD 46 FF DD 6E 02 DD 66 -R 00 00 01 00 -T 9C 12 00 00 03 A7 ED 42 18 0D -R 00 00 01 00 -T A2 12 00 00 -R 00 00 01 00 -T A2 12 00 00 DD 6E FE DD 66 FF DD 4E 02 DD 46 -R 00 00 01 00 -T AD 12 00 00 03 09 -R 00 00 01 00 -T AF 12 00 00 -R 00 00 01 00 -T AF 12 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 4E 55 4C 4C 20 61 72 67 75 6D 65 -R 00 00 02 00 -T 0B 00 00 00 6E 74 00 -R 00 00 02 00 -T 0E 00 00 00 -R 00 00 02 00 -T 0E 00 00 00 72 65 67 65 78 70 20 74 6F 6F 20 -R 00 00 02 00 -T 19 00 00 00 62 69 67 00 -R 00 00 02 00 -T 1D 00 00 00 -R 00 00 02 00 -T 1D 00 00 00 6F 75 74 20 6F 66 20 73 70 61 63 -R 00 00 02 00 -T 28 00 00 00 65 00 -R 00 00 02 00 -T 2A 00 00 00 -R 00 00 02 00 -T 2A 00 00 00 74 6F 6F 20 6D 61 6E 79 20 28 29 -R 00 00 02 00 -T 35 00 00 00 00 -R 00 00 02 00 -T 36 00 00 00 -R 00 00 02 00 -T 36 00 00 00 75 6E 6D 61 74 63 68 65 64 20 28 -R 00 00 02 00 -T 41 00 00 00 29 00 -R 00 00 02 00 -T 43 00 00 00 -R 00 00 02 00 -T 43 00 00 00 6A 75 6E 6B 20 6F 6E 20 65 6E 64 -R 00 00 02 00 -T 4E 00 00 00 00 -R 00 00 02 00 -T 4F 00 00 00 -R 00 00 02 00 -T 4F 00 00 00 2A 2B 20 6F 70 65 72 61 6E 64 20 -R 00 00 02 00 -T 5A 00 00 00 63 6F 75 6C 64 20 62 65 20 65 6D -R 00 00 02 00 -T 65 00 00 00 70 74 79 00 -R 00 00 02 00 -T 69 00 00 00 -R 00 00 02 00 -T 69 00 00 00 6E 65 73 74 65 64 20 2A 3F 2B 00 -R 00 00 02 00 -T 74 00 00 00 -R 00 00 02 00 -T 74 00 00 00 69 6E 76 61 6C 69 64 20 5B 5D 20 -R 00 00 02 00 -T 7F 00 00 00 72 61 6E 67 65 00 -R 00 00 02 00 -T 85 00 00 00 -R 00 00 02 00 -T 85 00 00 00 75 6E 6D 61 74 63 68 65 64 20 5B -R 00 00 02 00 -T 90 00 00 00 5D 00 -R 00 00 02 00 -T 92 00 00 00 -R 00 00 02 00 -T 92 00 00 00 69 6E 74 65 72 6E 61 6C 20 75 72 -R 00 00 02 00 -T 9D 00 00 00 70 00 -R 00 00 02 00 -T 9F 00 00 00 -R 00 00 02 00 -T 9F 00 00 00 3F 2B 2A 20 66 6F 6C 6C 6F 77 73 -R 00 00 02 00 -T AA 00 00 00 20 6E 6F 74 68 69 6E 67 00 -R 00 00 02 00 -T B3 00 00 00 -R 00 00 02 00 -T B3 00 00 00 74 72 61 69 6C 69 6E 67 20 5C 00 -R 00 00 02 00 -T BE 00 00 00 -R 00 00 02 00 -T BE 00 00 00 5E 24 2E 5B 28 29 7C 3F 2B 2A 5C -R 00 00 02 00 -T C9 00 00 00 00 -R 00 00 02 00 -T CA 00 00 00 -R 00 00 02 00 -T CA 00 00 00 69 6E 74 65 72 6E 61 6C 20 64 69 -R 00 00 02 00 -T D5 00 00 00 73 61 73 74 65 72 00 -R 00 00 02 00 -T DC 00 00 00 -R 00 00 02 00 -T DC 00 00 00 4E 55 4C 4C 20 70 61 72 61 6D 65 -R 00 00 02 00 -T E7 00 00 00 74 65 72 00 -R 00 00 02 00 -T EB 00 00 00 -R 00 00 02 00 -T EB 00 00 00 63 6F 72 72 75 70 74 65 64 20 70 -R 00 00 02 00 -T F6 00 00 00 72 6F 67 72 61 6D 00 -R 00 00 02 00 -T FD 00 00 00 -R 00 00 02 00 -T FD 00 00 00 6D 65 6D 6F 72 79 20 63 6F 72 72 -R 00 00 02 00 -T 08 01 00 00 75 70 74 69 6F 6E 00 -R 00 00 02 00 -T 0F 01 00 00 -R 00 00 02 00 -T 0F 01 00 00 63 6F 72 72 75 70 74 65 64 20 70 -R 00 00 02 00 -T 1A 01 00 00 6F 69 6E 74 65 72 73 00 -R 00 00 02 00 -T 22 01 00 00 -R 00 00 02 00 -T 22 01 00 00 69 6E 74 65 72 6E 61 6C 20 66 6F -R 00 00 02 00 -T 2D 01 00 00 75 6C 75 70 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 05 00 00 00 -R 00 00 03 00 -T 05 00 00 00 -R 00 00 03 00 -T 07 00 00 00 -R 00 00 03 00 -T 07 00 00 00 -R 00 00 03 00 -T 0B 00 00 00 -R 00 00 03 00 -T 0B 00 00 00 -R 00 00 03 00 -T 0D 00 00 00 -R 00 00 03 00 -T 0D 00 00 00 -R 00 00 03 00 -T 0F 00 00 00 -R 00 00 03 00 -T 0F 00 00 00 -R 00 00 03 00 -T 11 00 00 00 -R 00 00 03 00 -T 11 00 00 00 -R 00 00 03 00 diff --git a/src/nos/lib/crt_large_lib/regsub.rel b/src/nos/lib/crt_large_lib/regsub.rel deleted file mode 100644 index 3d2c6a2b..00000000 --- a/src/nos/lib/crt_large_lib/regsub.rel +++ /dev/null @@ -1,212 +0,0 @@ -XL4 -H 3 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _strncpy Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _regerror Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1BE flags 0 -S _regsub Def00000000 -A CSTR size 46 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF DD 7E 02 DD -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 B6 03 28 10 DD 7E 04 DD B6 05 28 -R 00 00 01 00 -T 14 00 00 00 08 DD 7E 08 DD B6 09 20 09 -R 00 00 01 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 11 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 00 05 02 00 02 0A 04 00 -T 24 00 00 00 BB 01 00 00 -R 00 00 01 00 00 04 01 00 -T 26 00 00 00 -R 00 00 01 00 -T 26 00 00 00 21 2E 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 31 00 00 00 06 00 3E 9C A9 B0 28 09 -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 11 14 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 00 05 02 00 02 0A 04 00 -T 40 00 00 00 BB 01 00 00 -R 00 00 01 00 00 04 01 00 -T 42 00 00 00 -R 00 00 01 00 -T 42 00 00 00 DD 6E 04 DD 66 05 DD 75 F6 DD 74 -R 00 00 01 00 -T 4D 00 00 00 F7 DD 6E 08 DD 66 09 DD 75 F8 DD -R 00 00 01 00 -T 58 00 00 00 74 F9 -R 00 00 01 00 -T 5A 00 00 00 -R 00 00 01 00 -T 5A 00 00 00 DD 6E F6 DD 66 F7 23 DD 75 F6 DD -R 00 00 01 00 -T 65 00 00 00 74 F7 2B 46 DD 70 FA 04 05 CA -R 00 00 01 00 -T 6F 00 00 00 AB 01 00 00 -R 00 00 01 00 00 04 01 00 -T 71 00 00 00 -R 00 00 01 00 -T 71 00 00 00 DD 7E FA FE 26 20 09 -R 00 00 01 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 AF DD 77 FB DD 77 FC 18 42 -R 00 00 01 00 -T 81 00 00 00 -R 00 00 01 00 -T 81 00 00 00 DD 7E FA FE 5C 20 33 DD 6E F6 DD -R 00 00 01 00 -T 8C 00 00 00 66 F7 7E FE 30 38 28 DD 6E F6 DD -R 00 00 01 00 -T 97 00 00 00 66 F7 3E 39 BE 38 1D -R 00 00 01 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 -R 00 00 01 00 -T 9E 00 00 00 DD 6E F6 DD 66 F7 23 DD 75 F6 DD -R 00 00 01 00 -T A9 00 00 00 74 F7 2B 4E 06 00 21 D0 FF 09 DD -R 00 00 01 00 -T B4 00 00 00 75 FB DD 74 FC 18 08 -R 00 00 01 00 -T BB 00 00 00 -R 00 00 01 00 -T BB 00 00 00 DD 36 FB FF DD 36 FC FF -R 00 00 01 00 -T C3 00 00 00 -R 00 00 01 00 -T C3 00 00 00 -R 00 00 01 00 -T C3 00 00 00 DD CB FC 7E 28 44 -R 00 00 01 00 -T C9 00 00 00 -R 00 00 01 00 -T C9 00 00 00 DD 7E FA FE 5C 20 28 DD 6E F6 DD -R 00 00 01 00 -T D4 00 00 00 66 F7 7E FE 5C 28 0B DD 6E F6 DD -R 00 00 01 00 -T DF 00 00 00 66 F7 7E FE 26 20 12 -R 00 00 01 00 -T E6 00 00 00 -R 00 00 01 00 -T E6 00 00 00 -R 00 00 01 00 -T E6 00 00 00 -R 00 00 01 00 -T E6 00 00 00 -R 00 00 01 00 -T E6 00 00 00 -R 00 00 01 00 -T E6 00 00 00 DD 6E F6 DD 66 F7 23 DD 75 F6 DD -R 00 00 01 00 -T F1 00 00 00 74 F7 2B 46 DD 70 FA -R 00 00 01 00 -T F8 00 00 00 -R 00 00 01 00 -T F8 00 00 00 DD 6E F8 DD 66 F9 23 DD 75 F8 DD -R 00 00 01 00 -T 03 01 00 00 74 F9 2B DD 46 FA 70 C3 -R 00 00 01 00 -T 0B 01 00 00 A8 01 00 00 -R 00 00 01 00 00 04 01 00 -T 0D 01 00 00 -R 00 00 01 00 -T 0D 01 00 00 DD 6E FB DD 66 FC 29 DD 4E 02 DD -R 00 00 01 00 -T 18 01 00 00 46 03 09 7E 23 B6 CA A8 01 00 00 -R 00 00 01 00 00 0B 01 00 -T 21 01 00 00 DD 6E FB DD 66 FC 29 DD 4E 02 DD -R 00 00 01 00 -T 2C 01 00 00 46 03 09 01 14 00 09 7E 23 B6 28 -R 00 00 01 00 -T 37 01 00 00 70 -R 00 00 01 00 -T 38 01 00 00 -R 00 00 01 00 -T 38 01 00 00 -R 00 00 01 00 -T 38 01 00 00 -R 00 00 01 00 -T 38 01 00 00 DD 6E FB DD 66 FC 29 DD 4E 02 DD -R 00 00 01 00 -T 43 01 00 00 46 03 09 5E 23 56 DD 6E FB DD 66 -R 00 00 01 00 -T 4E 01 00 00 FC 29 09 01 14 00 09 46 23 66 68 -R 00 00 01 00 -T 59 01 00 00 A7 ED 52 DD 75 FD DD 74 FE E5 DD -R 00 00 01 00 -T 64 01 00 00 6E FB DD 66 FC 29 DD 4E 02 DD 46 -R 00 00 01 00 -T 6F 01 00 00 03 09 4E 23 46 DD 5E F8 DD 56 F9 -R 00 00 01 00 -T 7A 01 00 00 CD 00 00 00 00 F1 21 02 00 39 7E -R 00 00 01 00 02 05 01 00 -T 83 01 00 00 DD 86 FD 77 23 7E DD 8E FE 77 DD -R 00 00 01 00 -T 8E 01 00 00 7E FD DD B6 FE 28 13 DD 6E F8 DD -R 00 00 01 00 -T 99 01 00 00 66 F9 2B 7E B7 20 08 -R 00 00 01 00 -T A0 01 00 00 -R 00 00 01 00 -T A0 01 00 00 -R 00 00 01 00 -T A0 01 00 00 -R 00 00 01 00 -T A0 01 00 00 11 31 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 00 05 02 00 02 0A 04 00 -T A7 01 00 00 13 -R 00 00 01 00 -T A8 01 00 00 -R 00 00 01 00 -T A8 01 00 00 -R 00 00 01 00 -T A8 01 00 00 -R 00 00 01 00 -T A8 01 00 00 C3 5A 00 00 00 -R 00 00 01 00 00 05 01 00 -T AB 01 00 00 -R 00 00 01 00 -T AB 01 00 00 DD 6E F8 DD 66 F9 23 DD 75 F8 DD -R 00 00 01 00 -T B6 01 00 00 74 F9 2B 36 00 -R 00 00 01 00 -T BB 01 00 00 -R 00 00 01 00 -T BB 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 4E 55 4C 4C 20 70 61 72 6D 20 74 -R 00 00 02 00 -T 0B 00 00 00 6F 20 72 65 67 73 75 62 00 -R 00 00 02 00 -T 14 00 00 00 -R 00 00 02 00 -T 14 00 00 00 64 61 6D 61 67 65 64 20 72 65 67 -R 00 00 02 00 -T 1F 00 00 00 65 78 70 20 66 65 64 20 74 6F 20 -R 00 00 02 00 -T 2A 00 00 00 72 65 67 73 75 62 00 -R 00 00 02 00 -T 31 00 00 00 -R 00 00 02 00 -T 31 00 00 00 64 61 6D 61 67 65 64 20 6D 61 74 -R 00 00 02 00 -T 3C 00 00 00 63 68 20 73 74 72 69 6E 67 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/rename.rel b/src/nos/lib/crt_large_lib/rename.rel deleted file mode 100644 index c154e069..00000000 --- a/src/nos/lib/crt_large_lib/rename.rel +++ /dev/null @@ -1,31 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _unlink Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _link Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2C flags 0 -S _rename Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 56 03 CD 00 00 00 00 DD 75 FE DD -R 00 00 01 00 02 07 05 00 -T 12 00 00 00 74 FF 7D B4 28 08 -R 00 00 01 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 DD 6E FE DD 66 FF 18 09 -R 00 00 01 00 -T 20 00 00 00 -R 00 00 01 00 -T 20 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 29 00 00 00 -R 00 00 01 00 -T 29 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/crt_large_lib/rewind.rel b/src/nos/lib/crt_large_lib/rewind.rel deleted file mode 100644 index c6bc5b5b..00000000 --- a/src/nos/lib/crt_large_lib/rewind.rel +++ /dev/null @@ -1,161 +0,0 @@ -XL4 -H 2 areas B global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _fflush Ref00000000 -S _lseek Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?L_ADDASG_L03 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ?SL_CMP_L03 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1C9 flags 0 -S _rewind Def00000000 -S _fseek Def0000002B -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 00 00 E5 21 -R 00 00 01 00 02 05 06 00 -T 08 00 00 00 00 00 E5 21 00 00 E5 CD -R 00 00 01 00 -T 10 00 00 00 2B 00 00 00 F1 F1 F1 21 0C 00 DD -R 00 00 01 00 00 04 01 00 -T 19 00 00 00 4E 02 DD 46 03 09 7E E6 FF 77 23 -R 00 00 01 00 -T 24 00 00 00 7E E6 FC 77 C3 00 00 00 00 -R 00 00 01 00 02 09 03 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 CD 00 00 00 00 FC FF 21 0C 00 DD -R 00 00 01 00 02 05 08 00 -T 34 00 00 00 4E 02 DD 46 03 09 7E E6 40 4F 23 -R 00 00 01 00 -T 3F 00 00 00 7E E6 04 47 3E 40 A9 B0 C2 -R 00 00 01 00 -T 48 00 00 00 84 01 00 00 DD 7E 0C DD B6 0D 28 -R 00 00 01 00 00 04 01 00 -T 51 00 00 00 0B 3E 01 DD AE 0C DD B6 0D C2 -R 00 00 01 00 -T 5B 00 00 00 84 01 00 00 -R 00 00 01 00 00 04 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 21 01 00 E5 21 00 00 E5 21 00 00 -R 00 00 01 00 -T 68 00 00 00 E5 21 0A 00 DD 4E 02 DD 46 03 09 -R 00 00 01 00 -T 73 00 00 00 5E 23 56 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 08 02 00 -T 7C 00 00 00 DD 75 FC DD 74 FD DD 71 FE DD 70 -R 00 00 01 00 -T 87 00 00 00 FF 7D A4 A1 A0 3C 20 06 -R 00 00 01 00 -T 8F 00 00 00 -R 00 00 01 00 -T 8F 00 00 00 21 FF FF C3 C6 01 00 00 -R 00 00 01 00 00 08 01 00 -T 95 00 00 00 -R 00 00 01 00 -T 95 00 00 00 3E 01 DD AE 0C DD B6 0D 20 46 -R 00 00 01 00 -T 9F 00 00 00 -R 00 00 01 00 -T 9F 00 00 00 AF DD 77 0C DD 77 0D 21 0C 00 39 -R 00 00 01 00 -T AA 00 00 00 E5 DD 4E 02 DD 46 03 03 03 69 60 -R 00 00 01 00 -T B5 00 00 00 4E 23 46 DD 6E 02 DD 66 03 56 23 -R 00 00 01 00 -T C0 00 00 00 66 6A A7 ED 42 EB 7A 07 9F 4F 41 -R 00 00 01 00 -T CB 00 00 00 C5 D5 DD 6E FC DD 66 FD C1 09 EB -R 00 00 01 00 -T D6 00 00 00 DD 6E FE DD 66 FF C1 ED 4A 4D 44 -R 00 00 01 00 -T E1 00 00 00 E1 CD 00 00 00 00 -R 00 00 01 00 02 06 04 00 -T E5 00 00 00 -R 00 00 01 00 -T E5 00 00 00 DD 7E 0C DD B6 0D C2 84 01 00 00 -R 00 00 01 00 00 0B 01 00 -T EE 00 00 00 -R 00 00 01 00 -T EE 00 00 00 DD 6E FE DD 66 FF E5 DD 6E FC DD -R 00 00 01 00 -T F9 00 00 00 66 FD E5 DD 4E 0A DD 46 0B DD 6E -R 00 00 01 00 -T 04 01 00 00 08 DD 66 09 CD 00 00 00 00 30 77 -R 00 00 01 00 02 09 07 00 -T 0D 01 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 -R 00 00 01 00 -T 18 01 00 00 21 06 00 DD 5E 02 DD 56 03 19 56 -R 00 00 01 00 -T 23 01 00 00 23 66 6A A7 ED 42 7C 07 9F 4F 41 -R 00 00 01 00 -T 2E 01 00 00 C5 E5 DD 6E FC DD 66 FD C1 09 EB -R 00 00 01 00 -T 39 01 00 00 DD 6E FE DD 66 FF C1 ED 4A E5 D5 -R 00 00 01 00 -T 44 01 00 00 DD 4E 0A DD 46 0B DD 6E 08 DD 66 -R 00 00 01 00 -T 4F 01 00 00 09 CD 00 00 00 00 38 2F -R 00 00 01 00 02 06 07 00 -T 55 01 00 00 -R 00 00 01 00 -T 55 01 00 00 -R 00 00 01 00 -T 55 01 00 00 -R 00 00 01 00 -T 55 01 00 00 DD 4E FC DD 46 FD DD 6E 08 DD 66 -R 00 00 01 00 -T 60 01 00 00 09 A7 ED 42 E5 DD 4E 02 DD 46 03 -R 00 00 01 00 -T 6B 01 00 00 03 03 69 60 4E 23 46 E1 09 E5 DD -R 00 00 01 00 -T 76 01 00 00 6E 02 DD 66 03 C1 71 23 70 21 -R 00 00 01 00 -T 80 01 00 00 00 00 18 42 -R 00 00 01 00 -T 84 01 00 00 -R 00 00 01 00 -T 84 01 00 00 -R 00 00 01 00 -T 84 01 00 00 -R 00 00 01 00 -T 84 01 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 8D 01 00 00 7D A4 3C 28 2C DD 6E 0C DD 66 0D -R 00 00 01 00 -T 98 01 00 00 E5 DD 6E 0A DD 66 0B E5 DD 6E 08 -R 00 00 01 00 -T A3 01 00 00 DD 66 09 E5 21 0A 00 DD 4E 02 DD -R 00 00 01 00 -T AE 01 00 00 46 03 09 5E 23 56 CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T B7 01 00 00 F1 F1 F1 CB 78 28 05 -R 00 00 01 00 -T BE 01 00 00 -R 00 00 01 00 -T BE 01 00 00 -R 00 00 01 00 -T BE 01 00 00 -R 00 00 01 00 -T BE 01 00 00 21 FF FF 18 03 -R 00 00 01 00 -T C3 01 00 00 -R 00 00 01 00 -T C3 01 00 00 21 00 00 -R 00 00 01 00 -T C6 01 00 00 -R 00 00 01 00 -T C6 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/crt_large_lib/rewindir.rel b/src/nos/lib/crt_large_lib/rewindir.rel deleted file mode 100644 index f66f64ca..00000000 --- a/src/nos/lib/crt_large_lib/rewindir.rel +++ /dev/null @@ -1,45 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _lseek Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5A flags 0 -S _rewinddir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 7B B2 28 1A 21 -R 00 00 01 00 02 05 05 00 -T 08 00 00 00 06 00 DD 4E 02 DD 46 03 09 7E 23 -R 00 00 01 00 -T 13 00 00 00 B6 28 0B DD 6E 02 DD 66 03 7E 23 -R 00 00 01 00 -T 1E 00 00 00 B6 20 0F -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 -R 00 00 01 00 -T 21 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 03 00 -T 2A 00 00 00 0E 23 36 00 18 27 -R 00 00 01 00 -T 30 00 00 00 -R 00 00 01 00 -T 30 00 00 00 DD 6E 02 DD 66 03 23 23 AF 77 23 -R 00 00 01 00 -T 3B 00 00 00 77 21 00 00 E5 21 00 00 E5 21 -R 00 00 01 00 -T 45 00 00 00 00 00 E5 DD 6E 02 DD 66 03 5E 23 -R 00 00 01 00 -T 50 00 00 00 56 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 06 01 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/crt_large_lib/rmdir.rel b/src/nos/lib/crt_large_lib/rmdir.rel deleted file mode 100644 index c9e110b2..00000000 --- a/src/nos/lib/crt_large_lib/rmdir.rel +++ /dev/null @@ -1,170 +0,0 @@ -XL4 -H 3 areas F global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _unlink Ref00000000 -S _strcat Ref00000000 -S _close Ref00000000 -S _strlen Ref00000000 -S _strcmp Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _read Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S _strcpy Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _open Ref00000000 -S _stat Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14A flags 0 -S _rmdir Def00000000 -A CSTR size 8 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D0 FE DD 5E 02 DD -R 00 00 01 00 02 05 0B 00 -T 09 00 00 00 56 03 CD 00 00 00 00 01 04 00 09 -R 00 00 01 00 02 07 04 00 -T 12 00 00 00 4D 44 21 00 01 A7 ED 42 30 10 -R 00 00 01 00 -T 1C 00 00 00 -R 00 00 01 00 -T 1C 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 08 00 -T 25 00 00 00 24 23 36 00 C3 3F 01 00 00 -R 00 00 01 00 00 09 01 00 -T 2C 00 00 00 -R 00 00 01 00 -T 2C 00 00 00 21 00 00 39 4D 44 DD 5E 02 DD 56 -R 00 00 01 00 -T 37 00 00 00 03 CD 00 00 00 00 7D B4 28 03 -R 00 00 01 00 02 06 0D 00 -T 3F 00 00 00 -R 00 00 01 00 -T 3F 00 00 00 C3 3F 01 00 00 -R 00 00 01 00 00 05 01 00 -T 42 00 00 00 -R 00 00 01 00 -T 42 00 00 00 21 04 00 39 7E E6 00 47 23 7E E6 -R 00 00 01 00 -T 4D 00 00 00 40 B0 20 10 -R 00 00 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 08 00 -T 5A 00 00 00 14 23 36 00 C3 3F 01 00 00 -R 00 00 01 00 00 09 01 00 -T 61 00 00 00 -R 00 00 01 00 -T 61 00 00 00 21 00 00 E5 DD 6E 02 DD 66 03 E5 -R 00 00 01 00 -T 6C 00 00 00 CD 00 00 00 00 F1 F1 DD 75 FE DD -R 00 00 01 00 02 05 0C 00 -T 75 00 00 00 74 FF CB 7C 28 03 -R 00 00 01 00 -T 7B 00 00 00 -R 00 00 01 00 -T 7B 00 00 00 C3 3F 01 00 00 -R 00 00 01 00 00 05 01 00 -T 7E 00 00 00 -R 00 00 01 00 -T 7E 00 00 00 -R 00 00 01 00 -T 7E 00 00 00 21 10 00 E5 21 20 01 39 4D 44 DD -R 00 00 01 00 -T 89 00 00 00 5E FE DD 56 FF CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 07 00 -T 92 00 00 00 3E 10 AD B4 20 4C -R 00 00 01 00 -T 98 00 00 00 -R 00 00 01 00 -T 98 00 00 00 DD 6E EE DD 66 EF 7D B4 28 26 01 -R 00 00 01 00 -T A3 00 00 00 00 00 00 00 21 1E 01 39 11 02 00 -R 00 00 01 00 00 04 02 00 -T AC 00 00 00 19 EB CD 00 00 00 00 7D B4 28 13 -R 00 00 01 00 02 07 05 00 -T B5 00 00 00 01 02 00 00 00 21 1E 01 39 11 -R 00 00 01 00 00 05 02 00 -T BD 00 00 00 02 00 19 EB CD 00 00 00 00 7D B4 -R 00 00 01 00 02 09 05 00 -T C6 00 00 00 20 02 -R 00 00 01 00 -T C8 00 00 00 -R 00 00 01 00 -T C8 00 00 00 -R 00 00 01 00 -T C8 00 00 00 -R 00 00 01 00 -T C8 00 00 00 18 B4 -R 00 00 01 00 -T CA 00 00 00 -R 00 00 01 00 -T CA 00 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T D3 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 08 00 -T DC 00 00 00 27 23 36 00 18 5D 18 9A -R 00 00 01 00 -T E4 00 00 00 -R 00 00 01 00 -T E4 00 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T ED 00 00 00 DD 4E 02 DD 46 03 21 1E 00 39 5D -R 00 00 01 00 -T F8 00 00 00 54 CD 00 00 00 00 01 05 00 00 00 -R 00 00 01 00 02 06 0A 00 00 0B 02 00 -T FF 00 00 00 21 1E 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 08 01 00 00 21 1E 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 11 01 00 00 7D B4 28 02 -R 00 00 01 00 -T 15 01 00 00 -R 00 00 01 00 -T 15 01 00 00 18 28 -R 00 00 01 00 -T 17 01 00 00 -R 00 00 01 00 -T 17 01 00 00 01 00 00 00 00 21 1E 00 39 5D 54 -R 00 00 01 00 00 05 02 00 -T 20 01 00 00 CD 00 00 00 00 21 1E 00 39 5D 54 -R 00 00 01 00 02 05 02 00 -T 29 01 00 00 CD 00 00 00 00 7D B4 28 02 -R 00 00 01 00 02 05 01 00 -T 30 01 00 00 -R 00 00 01 00 -T 30 01 00 00 18 0D -R 00 00 01 00 -T 32 01 00 00 -R 00 00 01 00 -T 32 01 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 3B 01 00 00 7D B4 28 05 -R 00 00 01 00 -T 3F 01 00 00 -R 00 00 01 00 -T 3F 01 00 00 -R 00 00 01 00 -T 3F 01 00 00 21 FF FF 18 03 -R 00 00 01 00 -T 44 01 00 00 -R 00 00 01 00 -T 44 01 00 00 21 00 00 -R 00 00 01 00 -T 47 01 00 00 -R 00 00 01 00 -T 47 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2E 00 -R 00 00 02 00 -T 02 00 00 00 -R 00 00 02 00 -T 02 00 00 00 2E 2E 00 -R 00 00 02 00 -T 05 00 00 00 -R 00 00 02 00 -T 05 00 00 00 2F 2E 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/scanf.rel b/src/nos/lib/crt_large_lib/scanf.rel deleted file mode 100644 index fbc3040e..00000000 --- a/src/nos/lib/crt_large_lib/scanf.rel +++ /dev/null @@ -1,23 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _stdin Ref00000000 -S _vfscanf Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2A flags 0 -S _scanf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 0C 00 39 -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 01 02 00 09 DD 75 FC DD 74 FD E5 -R 00 00 01 00 -T 14 00 00 00 DD 4E 08 DD 46 09 11 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 1D 00 00 00 CD 00 00 00 00 F1 DD 75 FE DD 74 -R 00 00 01 00 02 05 04 00 -T 26 00 00 00 FF C3 00 00 00 00 -R 00 00 01 00 02 06 01 00 diff --git a/src/nos/lib/crt_large_lib/setbuff.rel b/src/nos/lib/crt_large_lib/setbuff.rel deleted file mode 100644 index 193ca238..00000000 --- a/src/nos/lib/crt_large_lib/setbuff.rel +++ /dev/null @@ -1,67 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _fflush Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _free Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size C5 flags 0 -S _setbuffer Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 05 00 02 0A 01 00 -T 07 00 00 00 0C 00 DD 5E 02 DD 56 03 19 7E E6 -R 00 00 01 00 -T 12 00 00 00 04 28 10 -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 20 00 00 00 23 56 CD 00 00 00 00 -R 00 00 01 00 02 07 04 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 30 00 00 00 E6 F8 77 23 7E E6 FF 77 DD 7E 04 -R 00 00 01 00 -T 3B 00 00 00 DD B6 05 20 35 -R 00 00 01 00 -T 40 00 00 00 -R 00 00 01 00 -T 40 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 E5 -R 00 00 01 00 -T 4B 00 00 00 21 0E 00 09 EB E1 73 23 72 21 -R 00 00 01 00 -T 55 00 00 00 08 00 09 E5 21 0E 00 09 11 08 00 -R 00 00 01 00 -T 60 00 00 00 19 EB E1 73 23 72 21 0C 00 09 7E -R 00 00 01 00 -T 6B 00 00 00 F6 02 77 23 7E F6 00 77 18 25 -R 00 00 01 00 -T 75 00 00 00 -R 00 00 01 00 -T 75 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 DD -R 00 00 01 00 -T 80 00 00 00 5E 04 DD 56 05 73 23 72 21 08 00 -R 00 00 01 00 -T 8B 00 00 00 09 E5 DD 6E 08 DD 66 09 19 4D 44 -R 00 00 01 00 -T 96 00 00 00 E1 71 23 70 -R 00 00 01 00 -T 9A 00 00 00 -R 00 00 01 00 -T 9A 00 00 00 DD 6E 02 DD 66 03 23 23 E5 21 -R 00 00 01 00 -T A4 00 00 00 04 00 DD 4E 02 DD 46 03 09 E5 21 -R 00 00 01 00 -T AF 00 00 00 06 00 09 5E 23 56 E1 73 23 72 E1 -R 00 00 01 00 -T BA 00 00 00 73 23 72 69 60 73 23 72 C3 -R 00 00 01 00 -T C3 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/src/nos/lib/crt_large_lib/setenv.rel b/src/nos/lib/crt_large_lib/setenv.rel deleted file mode 100644 index 45a9d308..00000000 --- a/src/nos/lib/crt_large_lib/setenv.rel +++ /dev/null @@ -1,267 +0,0 @@ -XL4 -H 4 areas D global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _environ Ref00000000 -S _memcpy Ref00000000 -S _strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S _free Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _malloc Ref00000000 -S _memcmp Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2D3 flags 0 -S _setenv Def00000000 -S _unsetenv Def0000023D -A IDATA0 size 2 flags 0 -A CDATA0 size 2 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F2 FF AF DD 77 F4 -R 00 00 01 00 02 05 08 00 -T 09 00 00 00 DD 77 F5 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 13 00 00 00 00 00 00 00 DD 75 F6 DD 74 F7 59 -R 00 00 01 00 02 04 03 00 -T 1C 00 00 00 50 CD 00 00 00 00 DD 75 F8 DD 74 -R 00 00 01 00 02 06 03 00 -T 25 00 00 00 F9 2A 00 00 00 00 DD 75 F2 DD 74 -R 00 00 01 00 02 06 01 00 -T 2E 00 00 00 F3 -R 00 00 01 00 -T 2F 00 00 00 -R 00 00 01 00 -T 2F 00 00 00 DD 6E F2 DD 66 F3 4D 44 03 03 DD -R 00 00 01 00 -T 3A 00 00 00 71 F2 DD 70 F3 46 23 66 68 DD 75 -R 00 00 01 00 -T 45 00 00 00 FA DD 74 FB 7D B4 28 39 -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 DD 6E F6 DD 66 F7 E5 DD 4E 02 DD -R 00 00 01 00 -T 58 00 00 00 46 03 DD 5E FA DD 56 FB CD -R 00 00 01 00 -T 61 00 00 00 00 00 00 00 F1 7D B4 20 14 DD 6E -R 00 00 01 00 02 04 0A 00 -T 6A 00 00 00 F6 DD 66 F7 DD 4E FA DD 46 FB 09 -R 00 00 01 00 -T 75 00 00 00 7E FE 3D 20 02 -R 00 00 01 00 -T 7A 00 00 00 -R 00 00 01 00 -T 7A 00 00 00 -R 00 00 01 00 -T 7A 00 00 00 -R 00 00 01 00 -T 7A 00 00 00 18 0A -R 00 00 01 00 -T 7C 00 00 00 -R 00 00 01 00 -T 7C 00 00 00 DD 34 F4 20 03 DD 34 F5 -R 00 00 01 00 -T 84 00 00 00 -R 00 00 01 00 -T 84 00 00 00 18 A9 -R 00 00 01 00 -T 86 00 00 00 -R 00 00 01 00 -T 86 00 00 00 DD 7E FA DD B6 FB C2 86 01 00 00 -R 00 00 01 00 00 0B 01 00 -T 8F 00 00 00 -R 00 00 01 00 -T 8F 00 00 00 DD 6E F4 DD 66 F5 23 23 29 EB CD -R 00 00 01 00 -T 9A 00 00 00 00 00 00 00 DD 75 FC DD 74 FD 7D -R 00 00 01 00 02 04 09 00 -T A3 00 00 00 B4 20 13 -R 00 00 01 00 -T A6 00 00 00 -R 00 00 01 00 -T A6 00 00 00 -R 00 00 01 00 -T A6 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 05 00 -T AF 00 00 00 0C 23 36 00 21 FF FF C3 -R 00 00 01 00 -T B7 00 00 00 3A 02 00 00 -R 00 00 01 00 00 04 01 00 -T B9 00 00 00 -R 00 00 01 00 -T B9 00 00 00 DD 6E F4 DD 66 F5 29 E5 ED 4B -R 00 00 01 00 -T C3 00 00 00 00 00 00 00 DD 5E FC DD 56 FD CD -R 00 00 01 00 02 04 01 00 -T CC 00 00 00 00 00 00 00 F1 DD 6E F8 DD 66 F9 -R 00 00 01 00 02 04 02 00 -T D5 00 00 00 DD 4E F6 DD 46 F7 09 EB 13 13 CD -R 00 00 01 00 -T E0 00 00 00 00 00 00 00 DD 75 FA DD 74 FB 7D -R 00 00 01 00 02 04 09 00 -T E9 00 00 00 B4 20 0B -R 00 00 01 00 -T EC 00 00 00 -R 00 00 01 00 -T EC 00 00 00 DD 5E FC DD 56 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 07 00 -T F5 00 00 00 18 AF -R 00 00 01 00 -T F7 00 00 00 -R 00 00 01 00 -T F7 00 00 00 DD 6E F6 DD 66 F7 E5 DD 4E 02 DD -R 00 00 01 00 -T 02 01 00 00 46 03 DD 5E FA DD 56 FB CD -R 00 00 01 00 -T 0B 01 00 00 00 00 00 00 F1 DD 6E F6 DD 66 F7 -R 00 00 01 00 02 04 02 00 -T 14 01 00 00 DD 4E FA DD 46 FB 09 36 3D DD 6E -R 00 00 01 00 -T 1F 01 00 00 F8 DD 66 F9 23 E5 DD 4E 04 DD 46 -R 00 00 01 00 -T 2A 01 00 00 05 DD 6E F6 DD 66 F7 DD 5E FA DD -R 00 00 01 00 -T 35 01 00 00 56 FB 19 EB 13 CD 00 00 00 00 F1 -R 00 00 01 00 02 0A 02 00 -T 3E 01 00 00 DD 6E F4 DD 66 F5 29 DD 4E FC DD -R 00 00 01 00 -T 49 01 00 00 46 FD 09 DD 5E FA DD 56 FB 73 23 -R 00 00 01 00 -T 54 01 00 00 72 DD 6E F4 DD 66 F5 29 09 23 23 -R 00 00 01 00 -T 5F 01 00 00 AF 77 23 77 2A 00 00 00 00 7D B4 -R 00 00 01 00 00 09 02 00 -T 68 01 00 00 28 07 -R 00 00 01 00 -T 6A 01 00 00 -R 00 00 01 00 -T 6A 01 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 02 00 02 0B 07 00 -T 71 01 00 00 -R 00 00 01 00 -T 71 01 00 00 DD 6E FC DD 66 FD 22 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 7A 01 00 00 DD 6E FC DD 66 FD 22 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 83 01 00 00 C3 37 02 00 00 -R 00 00 01 00 00 05 01 00 -T 86 01 00 00 -R 00 00 01 00 -T 86 01 00 00 DD 7E 08 DD B6 09 CA 37 02 00 00 -R 00 00 01 00 00 0B 01 00 -T 8F 01 00 00 -R 00 00 01 00 -T 8F 01 00 00 DD 5E FA DD 56 FB CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 98 01 00 00 DD 75 FC DD 74 FD DD 6E F8 DD 66 -R 00 00 01 00 -T A3 01 00 00 F9 DD 4E F6 DD 46 F7 09 4D 44 03 -R 00 00 01 00 -T AE 01 00 00 DD 6E FC DD 66 FD A7 ED 42 30 5D -R 00 00 01 00 -T B9 01 00 00 -R 00 00 01 00 -T B9 01 00 00 DD 6E F8 DD 66 F9 DD 4E F6 DD 46 -R 00 00 01 00 -T C4 01 00 00 F7 09 EB 13 13 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 09 00 -T CD 01 00 00 75 FE DD 74 FF 7D B4 20 03 -R 00 00 01 00 -T D6 01 00 00 -R 00 00 01 00 -T D6 01 00 00 C3 A6 00 00 00 -R 00 00 01 00 00 05 01 00 -T D9 01 00 00 -R 00 00 01 00 -T D9 01 00 00 DD 6E F6 DD 66 F7 E5 DD 4E 02 DD -R 00 00 01 00 -T E4 01 00 00 46 03 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T ED 01 00 00 00 00 00 00 F1 DD 6E F6 DD 66 F7 -R 00 00 01 00 02 04 02 00 -T F6 01 00 00 DD 4E FE DD 46 FF 09 36 3D DD 6E -R 00 00 01 00 -T 01 02 00 00 F2 DD 66 F3 2B 2B DD 75 F2 DD 74 -R 00 00 01 00 -T 0C 02 00 00 F3 DD 71 FA DD 70 FB 71 23 70 -R 00 00 01 00 -T 16 02 00 00 -R 00 00 01 00 -T 16 02 00 00 DD 6E F8 DD 66 F9 23 E5 DD 4E 04 -R 00 00 01 00 -T 21 02 00 00 DD 46 05 DD 6E F6 DD 66 F7 DD 5E -R 00 00 01 00 -T 2C 02 00 00 FA DD 56 FB 19 EB 13 CD -R 00 00 01 00 -T 34 02 00 00 00 00 00 00 F1 -R 00 00 01 00 02 04 02 00 -T 37 02 00 00 -R 00 00 01 00 -T 37 02 00 00 -R 00 00 01 00 -T 37 02 00 00 21 00 00 -R 00 00 01 00 -T 3A 02 00 00 -R 00 00 01 00 -T 3A 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 3D 02 00 00 -R 00 00 01 00 -T 3D 02 00 00 CD 00 00 00 00 F8 FF DD 5E 02 DD -R 00 00 01 00 02 05 08 00 -T 46 02 00 00 56 03 CD 00 00 00 00 DD 75 FE DD -R 00 00 01 00 02 07 03 00 -T 4F 02 00 00 74 FF 2A 00 00 00 00 DD 75 F8 DD -R 00 00 01 00 02 07 01 00 -T 58 02 00 00 74 F9 DD 75 FA DD 74 FB -R 00 00 01 00 -T 60 02 00 00 -R 00 00 01 00 -T 60 02 00 00 DD 6E F8 DD 66 F9 4D 44 03 03 DD -R 00 00 01 00 -T 6B 02 00 00 71 F8 DD 70 F9 46 23 66 68 DD 75 -R 00 00 01 00 -T 76 02 00 00 FC DD 74 FD 7D B4 28 48 -R 00 00 01 00 -T 7E 02 00 00 -R 00 00 01 00 -T 7E 02 00 00 DD 6E FE DD 66 FF E5 DD 4E 02 DD -R 00 00 01 00 -T 89 02 00 00 46 03 DD 5E FC DD 56 FD CD -R 00 00 01 00 -T 92 02 00 00 00 00 00 00 F1 7D B4 20 12 DD 6E -R 00 00 01 00 02 04 0A 00 -T 9B 02 00 00 FE DD 66 FF DD 4E FC DD 46 FD 09 -R 00 00 01 00 -T A6 02 00 00 7E FE 3D 28 19 -R 00 00 01 00 -T AB 02 00 00 -R 00 00 01 00 -T AB 02 00 00 -R 00 00 01 00 -T AB 02 00 00 -R 00 00 01 00 -T AB 02 00 00 DD 6E FA DD 66 FB 4D 44 03 03 DD -R 00 00 01 00 -T B6 02 00 00 71 FA DD 70 FB DD 4E FC DD 46 FD -R 00 00 01 00 -T C1 02 00 00 71 23 70 -R 00 00 01 00 -T C4 02 00 00 -R 00 00 01 00 -T C4 02 00 00 18 9A -R 00 00 01 00 -T C6 02 00 00 -R 00 00 01 00 -T C6 02 00 00 DD 6E FA DD 66 FB AF 77 23 77 C3 -R 00 00 01 00 -T D1 02 00 00 00 00 00 00 -R 00 00 01 00 02 04 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/src/nos/lib/crt_large_lib/setgrent.rel b/src/nos/lib/crt_large_lib/setgrent.rel deleted file mode 100644 index a6ecb7ae..00000000 --- a/src/nos/lib/crt_large_lib/setgrent.rel +++ /dev/null @@ -1,74 +0,0 @@ -XL4 -H 5 areas 9 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _close Ref00000000 -S ___getgrent Ref00000000 -S .__.ABS. Def00000000 -S _open Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 51 flags 0 -S _endgrent Def00000022 -S _getgrent Def0000003A -S _setgrent Def00000000 -A CSTR size B flags 0 -A IDATA0 size 4 flags 0 -S __path_group Def00000002 -A CDATA0 size 4 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 D5 2A 00 00 00 00 7D A4 3C 28 07 -R 00 00 01 00 00 06 03 00 -T 09 00 00 00 -R 00 00 01 00 -T 09 00 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 01 00 -T 10 00 00 00 -R 00 00 01 00 -T 10 00 00 00 21 00 80 E5 2A 02 00 00 00 E5 CD -R 00 00 01 00 00 09 03 00 -T 19 00 00 00 00 00 00 00 F1 F1 22 00 00 00 00 -R 00 00 01 00 02 04 04 00 00 0B 03 00 -T 20 00 00 00 D1 C9 -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 D5 2A 00 00 00 00 7D A4 3C 28 07 -R 00 00 01 00 00 06 03 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 21 FF FF 22 00 00 00 00 D1 C9 -R 00 00 01 00 00 08 03 00 -T 3A 00 00 00 -R 00 00 01 00 -T 3A 00 00 00 D5 2A 00 00 00 00 7D A4 3C 20 05 -R 00 00 01 00 00 06 03 00 -T 43 00 00 00 -R 00 00 01 00 -T 43 00 00 00 21 00 00 18 07 -R 00 00 01 00 -T 48 00 00 00 -R 00 00 01 00 -T 48 00 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 02 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 D1 C9 -R 00 00 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2F 65 74 63 2F 67 72 6F 75 70 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 00 00 00 00 FF FF 00 00 00 00 -R 00 00 04 00 00 06 02 00 diff --git a/src/nos/lib/crt_large_lib/setjmp.rel b/src/nos/lib/crt_large_lib/setjmp.rel deleted file mode 100644 index a4900051..00000000 --- a/src/nos/lib/crt_large_lib/setjmp.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S _setjmp Def00000000 -T 00 00 00 00 21 02 00 39 EB 73 23 72 23 71 23 -R 00 00 01 00 -T 0B 00 00 00 70 23 DD E5 D1 73 23 72 23 FD E5 -R 00 00 01 00 -T 16 00 00 00 D1 73 23 72 23 D1 D5 73 23 72 21 -R 00 00 01 00 -T 21 00 00 00 00 00 C9 -R 00 00 01 00 diff --git a/src/nos/lib/crt_large_lib/setpwent.rel b/src/nos/lib/crt_large_lib/setpwent.rel deleted file mode 100644 index 5e67fe29..00000000 --- a/src/nos/lib/crt_large_lib/setpwent.rel +++ /dev/null @@ -1,102 +0,0 @@ -XL4 -H 5 areas B global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _printf Ref00000000 -S _close Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S ___getpwent Ref00000000 -S _open Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6D flags 0 -S _endpwent Def0000003E -S _getpwent Def00000056 -S _setpwent Def00000000 -A CSTR size 27 flags 0 -A IDATA0 size 4 flags 0 -S __path_passwd Def00000002 -A CDATA0 size 4 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 2A 00 00 00 00 7D A4 3C 28 -R 00 00 01 00 00 07 03 00 -T 09 00 00 00 07 -R 00 00 01 00 -T 0A 00 00 00 -R 00 00 01 00 -T 0A 00 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 02 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 21 00 80 E5 2A 02 00 00 00 E5 CD -R 00 00 01 00 00 09 03 00 -T 1A 00 00 00 00 00 00 00 F1 F1 22 00 00 00 00 -R 00 00 01 00 02 04 06 00 00 0B 03 00 -T 21 00 00 00 7D A4 3C 20 15 -R 00 00 01 00 -T 26 00 00 00 -R 00 00 01 00 -T 26 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 4E -R 00 00 01 00 02 09 03 00 -T 2F 00 00 00 23 46 C5 21 0C 00 00 00 E5 CD -R 00 00 01 00 00 08 02 00 -T 37 00 00 00 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 01 00 -T 3B 00 00 00 -R 00 00 01 00 -T 3B 00 00 00 D1 C1 C9 -R 00 00 01 00 -T 3E 00 00 00 -R 00 00 01 00 -T 3E 00 00 00 D5 2A 00 00 00 00 7D A4 3C 28 07 -R 00 00 01 00 00 06 03 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 02 00 -T 4E 00 00 00 -R 00 00 01 00 -T 4E 00 00 00 21 FF FF 22 00 00 00 00 D1 C9 -R 00 00 01 00 00 08 03 00 -T 56 00 00 00 -R 00 00 01 00 -T 56 00 00 00 D5 2A 00 00 00 00 7D A4 3C 28 09 -R 00 00 01 00 00 06 03 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 05 00 -T 66 00 00 00 18 03 -R 00 00 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 21 00 00 -R 00 00 01 00 -T 6B 00 00 00 -R 00 00 01 00 -T 6B 00 00 00 D1 C9 -R 00 00 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2F 65 74 63 2F 70 61 73 73 77 64 -R 00 00 02 00 -T 0B 00 00 00 00 -R 00 00 02 00 -T 0C 00 00 00 -R 00 00 02 00 -T 0C 00 00 00 45 52 52 4E 4F 20 25 64 20 6F 70 -R 00 00 02 00 -T 17 00 00 00 65 6E 69 6E 67 20 70 61 73 73 77 -R 00 00 02 00 -T 22 00 00 00 6F 72 64 0A 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 00 00 00 00 FF FF 00 00 00 00 -R 00 00 04 00 00 06 02 00 diff --git a/src/nos/lib/crt_large_lib/setvbuff.rel b/src/nos/lib/crt_large_lib/setvbuff.rel deleted file mode 100644 index 908ef38d..00000000 --- a/src/nos/lib/crt_large_lib/setvbuff.rel +++ /dev/null @@ -1,98 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _fflush Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _free Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _calloc Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10B flags 0 -S _setvbuf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 05 00 02 0A 01 00 -T 07 00 00 00 0C 00 DD 5E 02 DD 56 03 19 7E E6 -R 00 00 01 00 -T 12 00 00 00 04 28 10 -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 20 00 00 00 23 56 CD 00 00 00 00 -R 00 00 01 00 02 07 04 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 30 00 00 00 E6 F8 77 23 7E E6 FF 77 21 06 00 -R 00 00 01 00 -T 3B 00 00 00 09 E5 21 0E 00 09 EB E1 73 23 72 -R 00 00 01 00 -T 46 00 00 00 21 08 00 09 E5 21 0E 00 09 11 -R 00 00 01 00 -T 50 00 00 00 08 00 19 EB E1 73 23 72 21 0C 00 -R 00 00 01 00 -T 5B 00 00 00 09 7E F6 02 77 23 7E F6 00 77 DD -R 00 00 01 00 -T 66 00 00 00 7E 08 DD B6 09 28 0A 3E 01 DD AE -R 00 00 01 00 -T 71 00 00 00 08 DD B6 09 20 66 -R 00 00 01 00 -T 77 00 00 00 -R 00 00 01 00 -T 77 00 00 00 -R 00 00 01 00 -T 77 00 00 00 -R 00 00 01 00 -T 77 00 00 00 DD 7E 0A DD B6 0B 20 08 -R 00 00 01 00 -T 7F 00 00 00 -R 00 00 01 00 -T 7F 00 00 00 DD 36 0A 00 DD 36 0B 02 -R 00 00 01 00 -T 87 00 00 00 -R 00 00 01 00 -T 87 00 00 00 DD 7E 04 DD B6 05 20 1B DD 4E 0A -R 00 00 01 00 -T 92 00 00 00 DD 46 0B 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T 9B 00 00 00 DD 75 04 DD 74 05 7D B4 20 05 -R 00 00 01 00 -T A5 00 00 00 -R 00 00 01 00 -T A5 00 00 00 -R 00 00 01 00 -T A5 00 00 00 -R 00 00 01 00 -T A5 00 00 00 21 FF FF 18 5E -R 00 00 01 00 -T AA 00 00 00 -R 00 00 01 00 -T AA 00 00 00 21 06 00 DD 4E 02 DD 46 03 09 DD -R 00 00 01 00 -T B5 00 00 00 5E 04 DD 56 05 73 23 72 21 08 00 -R 00 00 01 00 -T C0 00 00 00 09 E5 DD 6E 0A DD 66 0B 19 EB E1 -R 00 00 01 00 -T CB 00 00 00 73 23 72 21 0C 00 09 7E DD B6 08 -R 00 00 01 00 -T D6 00 00 00 77 23 7E DD B6 09 77 -R 00 00 01 00 -T DD 00 00 00 -R 00 00 01 00 -T DD 00 00 00 DD 6E 02 DD 66 03 23 23 E5 21 -R 00 00 01 00 -T E7 00 00 00 04 00 DD 4E 02 DD 46 03 09 E5 21 -R 00 00 01 00 -T F2 00 00 00 06 00 09 5E 23 56 E1 73 23 72 E1 -R 00 00 01 00 -T FD 00 00 00 73 23 72 69 60 73 23 72 21 00 00 -R 00 00 01 00 -T 08 01 00 00 -R 00 00 01 00 -T 08 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/crt_large_lib/sleep.rel b/src/nos/lib/crt_large_lib/sleep.rel deleted file mode 100644 index bf0f05cc..00000000 --- a/src/nos/lib/crt_large_lib/sleep.rel +++ /dev/null @@ -1,62 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _alarm Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _pause Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _signal Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9B flags 0 -S _sleep Def00000001 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C9 -R 00 00 01 00 -T 01 00 00 00 -R 00 00 01 00 -T 01 00 00 00 CD 00 00 00 00 FA FF 11 00 00 CD -R 00 00 01 00 02 05 05 00 -T 0A 00 00 00 00 00 00 00 DD 75 FA DD 74 FB 21 -R 00 00 01 00 02 04 01 00 -T 13 00 00 00 00 00 00 00 01 00 00 C5 E5 11 -R 00 00 01 00 00 04 01 00 -T 1B 00 00 00 0B 00 CD 00 00 00 00 F1 F1 DD 75 -R 00 00 01 00 02 07 06 00 -T 24 00 00 00 FC DD 74 FD DD 71 FE DD 70 FF DD -R 00 00 01 00 -T 2F 00 00 00 7E FA DD B6 FB 28 2B -R 00 00 01 00 -T 36 00 00 00 -R 00 00 01 00 -T 36 00 00 00 DD 4E FA DD 46 FB DD 6E 02 DD 66 -R 00 00 01 00 -T 41 00 00 00 03 A7 ED 42 38 05 21 01 00 18 0F -R 00 00 01 00 -T 4C 00 00 00 -R 00 00 01 00 -T 4C 00 00 00 DD 4E 02 DD 46 03 DD 6E FA DD 66 -R 00 00 01 00 -T 57 00 00 00 FB A7 ED 42 -R 00 00 01 00 -T 5B 00 00 00 -R 00 00 01 00 -T 5B 00 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 -T 61 00 00 00 -R 00 00 01 00 -T 61 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 6A 00 00 00 CD 00 00 00 00 DD 5E FA DD 56 FB -R 00 00 01 00 02 05 03 00 -T 73 00 00 00 CD 00 00 00 00 DD 75 02 DD 74 03 -R 00 00 01 00 02 05 01 00 -T 7C 00 00 00 DD 4E FE DD 46 FF C5 DD 4E FC DD -R 00 00 01 00 -T 87 00 00 00 46 FD C5 11 0B 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T 90 00 00 00 F1 F1 DD 6E 02 DD 66 03 C3 -R 00 00 01 00 -T 99 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/src/nos/lib/crt_large_lib/sprintf.rel b/src/nos/lib/crt_large_lib/sprintf.rel deleted file mode 100644 index 428b4a00..00000000 --- a/src/nos/lib/crt_large_lib/sprintf.rel +++ /dev/null @@ -1,27 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ___sputter Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___vprinter Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 40 flags 0 -S _sprintf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 0E 00 39 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 01 02 00 09 DD 75 FC DD 74 FD E5 -R 00 00 01 00 -T 14 00 00 00 DD 6E 0A DD 66 0B E5 21 10 00 39 -R 00 00 01 00 -T 1F 00 00 00 4D 44 11 00 00 00 00 CD -R 00 00 01 00 02 07 01 00 -T 25 00 00 00 00 00 00 00 F1 F1 DD 75 FE DD 74 -R 00 00 01 00 02 04 05 00 -T 2E 00 00 00 FF DD 6E 08 DD 66 09 36 00 DD 6E -R 00 00 01 00 -T 39 00 00 00 FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 09 02 00 diff --git a/src/nos/lib/crt_large_lib/sputter.rel b/src/nos/lib/crt_large_lib/sputter.rel deleted file mode 100644 index 1567634f..00000000 --- a/src/nos/lib/crt_large_lib/sputter.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _memcpy Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2D flags 0 -S ___sputter Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 4B 42 DD 6E 08 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 DD 66 09 5E 23 56 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 12 00 00 00 F1 DD 6E 08 DD 66 09 7E DD 86 04 -R 00 00 01 00 -T 1D 00 00 00 77 23 7E DD 8E 05 77 DD 6E 04 DD -R 00 00 01 00 -T 28 00 00 00 66 05 C3 00 00 00 00 -R 00 00 01 00 02 07 02 00 diff --git a/src/nos/lib/crt_large_lib/sscanf.rel b/src/nos/lib/crt_large_lib/sscanf.rel deleted file mode 100644 index 237203b2..00000000 --- a/src/nos/lib/crt_large_lib/sscanf.rel +++ /dev/null @@ -1,36 +0,0 @@ -XL4 -H 4 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _vfscanf Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 34 flags 0 -S _sscanf Def00000000 -A IDATA0 size 18 flags 0 -A CDATA0 size 18 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 0E 00 39 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 01 02 00 09 DD 75 FC DD 74 FD DD -R 00 00 01 00 -T 14 00 00 00 4E 08 DD 46 09 ED 43 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 1D 00 00 00 E5 DD 4E 0A DD 46 0B 11 -R 00 00 01 00 -T 25 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 00 04 02 00 02 09 03 00 -T 2C 00 00 00 75 FE DD 74 FF C3 00 00 00 00 -R 00 00 01 00 02 0A 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 FF FF 00 00 00 00 FF FF -R 00 00 03 00 -T 0A 00 00 00 FF FF 10 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T 15 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/src/nos/lib/crt_large_lib/stdio0.rel b/src/nos/lib/crt_large_lib/stdio0.rel deleted file mode 100644 index 51d3623d..00000000 --- a/src/nos/lib/crt_large_lib/stdio0.rel +++ /dev/null @@ -1,129 +0,0 @@ -XL4 -H 5 areas E global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _fflush Ref00000000 -S _atexit Ref00000000 -S _close Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _isatty Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 85 flags 0 -S ___stdio_init_vars Def00000057 -S ___stdio_close_all Def00000000 -A UDATA0 size 400 flags 0 -A IDATA0 size 4C flags 0 -S _stderr Def00000032 -S _stdin Def00000002 -S _stdout Def0000001A -S ___IO_list Def00000000 -A CDATA0 size 4C flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 2A -R 00 00 01 00 02 05 07 00 -T 06 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 11 -R 00 00 01 00 00 04 03 00 -T 0F 00 00 00 1A 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 00 04 03 00 02 09 01 00 -T 15 00 00 00 32 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 04 03 00 02 09 01 00 -T 1A 00 00 00 -R 00 00 01 00 -T 1A 00 00 00 DD 7E FE DD B6 FF 28 32 -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 2B 00 00 00 21 0A 00 DD 4E FE DD 46 FF 09 5E -R 00 00 01 00 -T 36 00 00 00 23 56 CD 00 00 00 00 21 0A 00 09 -R 00 00 01 00 02 07 03 00 -T 3F 00 00 00 36 FF 23 36 FF 21 16 00 09 56 23 -R 00 00 01 00 -T 4A 00 00 00 66 6A DD 75 FE DD 74 FF 18 C6 -R 00 00 01 00 -T 54 00 00 00 -R 00 00 01 00 -T 54 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 D5 2A 4A 00 00 00 7D B4 20 02 -R 00 00 01 00 00 06 03 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 18 22 -R 00 00 01 00 -T 61 00 00 00 -R 00 00 01 00 -T 61 00 00 00 21 00 00 22 4A 00 00 00 11 01 00 -R 00 00 01 00 00 08 03 00 -T 6A 00 00 00 CD 00 00 00 00 7D B4 28 0C -R 00 00 01 00 02 05 05 00 -T 71 00 00 00 -R 00 00 01 00 -T 71 00 00 00 21 26 00 00 00 7E F6 01 77 23 7E -R 00 00 01 00 00 05 03 00 -T 7A 00 00 00 F6 00 77 -R 00 00 01 00 -T 7D 00 00 00 -R 00 00 01 00 -T 7D 00 00 00 11 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 05 01 00 02 0A 02 00 -T 83 00 00 00 -R 00 00 01 00 -T 83 00 00 00 D1 C9 -R 00 00 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 02 00 00 -R 00 00 02 00 -T 00 02 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 1A 00 00 00 -R 00 00 03 00 -T 1A 00 00 00 -R 00 00 03 00 -T 32 00 00 00 -R 00 00 03 00 -T 32 00 00 00 -R 00 00 03 00 -T 4A 00 00 00 -R 00 00 03 00 -T 4A 00 00 00 -R 00 00 03 00 -T 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 00 06 02 00 00 0A 02 00 -T 06 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 0A 00 00 00 00 02 00 00 00 00 10 00 00 00 00 -R 00 00 04 00 00 04 02 00 -T 13 00 00 00 00 00 00 00 00 00 00 00 02 00 00 -R 00 00 04 00 00 0B 02 00 -T 1C 00 00 00 00 02 00 00 00 02 00 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 20 00 00 00 00 02 00 00 00 04 00 00 01 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 26 00 00 00 20 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 -T 31 00 00 00 00 40 00 00 00 40 00 00 00 -R 00 00 04 00 00 05 03 00 00 09 03 00 -T 36 00 00 00 40 00 00 00 40 00 00 00 -R 00 00 04 00 00 04 03 00 00 08 03 00 -T 3A 00 00 00 42 00 00 00 02 00 22 00 00 00 00 -R 00 00 04 00 00 04 03 00 -T 43 00 00 00 00 00 00 00 00 00 00 01 00 -R 00 00 04 00 diff --git a/src/nos/lib/crt_large_lib/strcat.rel b/src/nos/lib/crt_large_lib/strcat.rel deleted file mode 100644 index c3f886d6..00000000 --- a/src/nos/lib/crt_large_lib/strcat.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _strcpy Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S _strcat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D5 CD 00 00 00 00 -R 00 00 01 00 02 05 04 00 02 0B 01 00 -T 07 00 00 00 D1 19 EB CD 00 00 00 00 DD 6E 02 -R 00 00 01 00 02 08 05 00 -T 10 00 00 00 DD 66 03 C3 00 00 00 00 -R 00 00 01 00 02 08 02 00 diff --git a/src/nos/lib/crt_large_lib/strchr.rel b/src/nos/lib/crt_large_lib/strchr.rel deleted file mode 100644 index 7840bc32..00000000 --- a/src/nos/lib/crt_large_lib/strchr.rel +++ /dev/null @@ -1,47 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3B flags 0 -S _strchr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF -R 00 00 01 00 02 05 03 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 DD 6E 02 DD 66 03 46 DD 70 FE 48 -R 00 00 01 00 -T 10 00 00 00 06 00 DD 6E 04 DD 66 05 A7 ED 42 -R 00 00 01 00 -T 1B 00 00 00 20 08 -R 00 00 01 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 DD 6E 02 DD 66 03 18 09 -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 AF DD B6 FE 20 06 -R 00 00 01 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 21 00 00 -R 00 00 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 18 CA -R 00 00 01 00 diff --git a/src/nos/lib/crt_large_lib/strcmp.rel b/src/nos/lib/crt_large_lib/strcmp.rel deleted file mode 100644 index 28356baf..00000000 --- a/src/nos/lib/crt_large_lib/strcmp.rel +++ /dev/null @@ -1,43 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 57 flags 0 -S _strcmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF DD 6E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 66 03 DD 75 FA DD 74 FB DD 71 FC -R 00 00 01 00 -T 14 00 00 00 DD 70 FD -R 00 00 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD -R 00 00 01 00 -T 22 00 00 00 74 FD 2B 46 DD 70 FF DD 6E FA DD -R 00 00 01 00 -T 2D 00 00 00 66 FB 23 DD 75 FA DD 74 FB 2B 4E -R 00 00 01 00 -T 38 00 00 00 DD 71 FE 79 B8 20 08 AF DD B6 FE -R 00 00 01 00 -T 43 00 00 00 28 02 -R 00 00 01 00 -T 45 00 00 00 -R 00 00 01 00 -T 45 00 00 00 -R 00 00 01 00 -T 45 00 00 00 -R 00 00 01 00 -T 45 00 00 00 18 D0 -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 DD 4E FF 06 00 DD 6E FE 26 00 A7 -R 00 00 01 00 -T 52 00 00 00 ED 42 C3 00 00 00 00 -R 00 00 01 00 02 07 01 00 diff --git a/src/nos/lib/crt_large_lib/strcpy.rel b/src/nos/lib/crt_large_lib/strcpy.rel deleted file mode 100644 index 8ea814db..00000000 --- a/src/nos/lib/crt_large_lib/strcpy.rel +++ /dev/null @@ -1,21 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _memcpy Ref00000000 -S _strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1D flags 0 -S _strcpy Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 59 50 CD -R 00 00 01 00 02 05 05 00 -T 06 00 00 00 00 00 00 00 23 E5 DD 4E 04 DD 46 -R 00 00 01 00 02 04 02 00 -T 0F 00 00 00 05 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 17 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0A 03 00 diff --git a/src/nos/lib/crt_large_lib/strcspn.rel b/src/nos/lib/crt_large_lib/strcspn.rel deleted file mode 100644 index b2da13fe..00000000 --- a/src/nos/lib/crt_large_lib/strcspn.rel +++ /dev/null @@ -1,44 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _strchr Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4D flags 0 -S _strcspn Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 66 03 DD 75 FE DD 74 FF -R 00 00 01 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 DD 6E 02 DD 66 03 AF B6 28 20 DD -R 00 00 01 00 -T 1C 00 00 00 6E 02 DD 66 03 4E 06 00 DD 5E 04 -R 00 00 01 00 -T 27 00 00 00 DD 56 05 CD 00 00 00 00 7D B4 20 -R 00 00 01 00 02 08 01 00 -T 30 00 00 00 0A -R 00 00 01 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 18 D6 -R 00 00 01 00 -T 3B 00 00 00 -R 00 00 01 00 -T 3B 00 00 00 DD 4E FE DD 46 FF DD 6E 02 DD 66 -R 00 00 01 00 -T 46 00 00 00 03 A7 ED 42 C3 00 00 00 00 -R 00 00 01 00 02 09 02 00 diff --git a/src/nos/lib/crt_large_lib/strdup.rel b/src/nos/lib/crt_large_lib/strdup.rel deleted file mode 100644 index e6bf710d..00000000 --- a/src/nos/lib/crt_large_lib/strdup.rel +++ /dev/null @@ -1,34 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _memcpy Ref00000000 -S _strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _malloc Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 43 flags 0 -S _strdup Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 5E 02 DD -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 56 03 CD 00 00 00 00 23 DD 75 FC -R 00 00 01 00 02 07 02 00 -T 12 00 00 00 DD 74 FD EB CD 00 00 00 00 DD 75 -R 00 00 01 00 02 09 06 00 -T 1B 00 00 00 FE DD 74 FF 7D B4 28 17 -R 00 00 01 00 -T 23 00 00 00 -R 00 00 01 00 -T 23 00 00 00 DD 6E FC DD 66 FD E5 DD 4E 02 DD -R 00 00 01 00 -T 2E 00 00 00 46 03 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 37 00 00 00 00 00 00 00 F1 -R 00 00 01 00 02 04 01 00 -T 3A 00 00 00 -R 00 00 01 00 -T 3A 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 03 00 diff --git a/src/nos/lib/crt_large_lib/stricmp.rel b/src/nos/lib/crt_large_lib/stricmp.rel deleted file mode 100644 index 8da2c9f9..00000000 --- a/src/nos/lib/crt_large_lib/stricmp.rel +++ /dev/null @@ -1,84 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ___ctype Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 80 flags 0 -S _stricmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF -R 00 00 01 00 02 05 04 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T 10 00 00 00 74 03 2B 46 DD 70 FE DD 6E 04 DD -R 00 00 01 00 -T 1B 00 00 00 66 05 23 DD 75 04 DD 74 05 2B 4E -R 00 00 01 00 -T 26 00 00 00 DD 71 FF 78 B9 28 43 -R 00 00 01 00 -T 2D 00 00 00 -R 00 00 01 00 -T 2D 00 00 00 DD 4E FF 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 03 00 -T 36 00 00 00 7E E6 02 28 08 DD 7E FF EE 20 47 -R 00 00 01 00 -T 41 00 00 00 18 03 -R 00 00 01 00 -T 43 00 00 00 -R 00 00 01 00 -T 43 00 00 00 DD 46 FF -R 00 00 01 00 -T 46 00 00 00 -R 00 00 01 00 -T 46 00 00 00 C5 DD 4E FE 06 00 21 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 4F 00 00 00 09 7E E6 02 28 07 DD 7E FE EE 20 -R 00 00 01 00 -T 5A 00 00 00 18 03 -R 00 00 01 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 DD 7E FE -R 00 00 01 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 C1 B8 28 0B -R 00 00 01 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 DD 7E FE DD 96 FF 6F 26 00 18 0F -R 00 00 01 00 -T 6E 00 00 00 -R 00 00 01 00 -T 6E 00 00 00 18 08 -R 00 00 01 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 AF DD B6 FE 20 02 -R 00 00 01 00 -T 76 00 00 00 -R 00 00 01 00 -T 76 00 00 00 18 02 -R 00 00 01 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 18 8B -R 00 00 01 00 -T 7A 00 00 00 -R 00 00 01 00 -T 7A 00 00 00 21 00 00 -R 00 00 01 00 -T 7D 00 00 00 -R 00 00 01 00 -T 7D 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/crt_large_lib/strlen.rel b/src/nos/lib/crt_large_lib/strlen.rel deleted file mode 100644 index 1ae0d63d..00000000 --- a/src/nos/lib/crt_large_lib/strlen.rel +++ /dev/null @@ -1,33 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 37 flags 0 -S _strlen Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 66 03 DD 75 FE DD 74 FF -R 00 00 01 00 -T 11 00 00 00 -R 00 00 01 00 -T 11 00 00 00 DD 6E FE DD 66 FF AF B6 28 0A -R 00 00 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 23 00 00 00 -R 00 00 01 00 -T 23 00 00 00 18 EC -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 DD 4E 02 DD 46 03 DD 6E FE DD 66 -R 00 00 01 00 -T 30 00 00 00 FF A7 ED 42 C3 00 00 00 00 -R 00 00 01 00 02 09 01 00 diff --git a/src/nos/lib/crt_large_lib/strncat.rel b/src/nos/lib/crt_large_lib/strncat.rel deleted file mode 100644 index 61a9580c..00000000 --- a/src/nos/lib/crt_large_lib/strncat.rel +++ /dev/null @@ -1,50 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _memcpy Ref00000000 -S _strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _memchr Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8B flags 0 -S _strncat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 5E 02 DD -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 56 03 CD 00 00 00 00 DD 5E 02 DD -R 00 00 01 00 02 07 02 00 -T 12 00 00 00 56 03 19 DD 75 FC DD 74 FD DD 6E -R 00 00 01 00 -T 1D 00 00 00 08 DD 66 09 E5 01 00 00 DD 5E 04 -R 00 00 01 00 -T 28 00 00 00 DD 56 05 CD 00 00 00 00 F1 DD 75 -R 00 00 01 00 02 08 06 00 -T 31 00 00 00 FE DD 74 FF 7D B4 28 23 -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 -R 00 00 01 00 -T 44 00 00 00 FF A7 ED 42 23 E5 DD 4E 04 DD 46 -R 00 00 01 00 -T 4F 00 00 00 05 DD 5E FC DD 56 FD CD -R 00 00 01 00 -T 57 00 00 00 00 00 00 00 F1 18 26 -R 00 00 01 00 02 04 01 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 DD 6E 08 DD 66 09 E5 DD 4E 04 DD -R 00 00 01 00 -T 67 00 00 00 46 05 DD 5E FC DD 56 FD CD -R 00 00 01 00 -T 70 00 00 00 00 00 00 00 F1 DD 6E 08 DD 66 09 -R 00 00 01 00 02 04 01 00 -T 79 00 00 00 DD 4E FC DD 46 FD 09 36 00 -R 00 00 01 00 -T 82 00 00 00 -R 00 00 01 00 -T 82 00 00 00 DD 6E 02 DD 66 03 C3 00 00 00 00 -R 00 00 01 00 02 0B 03 00 diff --git a/src/nos/lib/crt_large_lib/strncmp.rel b/src/nos/lib/crt_large_lib/strncmp.rel deleted file mode 100644 index f86542d4..00000000 --- a/src/nos/lib/crt_large_lib/strncmp.rel +++ /dev/null @@ -1,51 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 61 flags 0 -S _strncmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 36 FE 00 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 DD 36 FF 00 -R 00 00 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 18 00 00 00 74 09 23 7D B4 28 32 -R 00 00 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 DD 6E 04 DD 66 05 23 DD 75 04 DD -R 00 00 01 00 -T 2A 00 00 00 74 05 2B 46 DD 70 FF DD 6E 02 DD -R 00 00 01 00 -T 35 00 00 00 66 03 23 DD 75 02 DD 74 03 2B 4E -R 00 00 01 00 -T 40 00 00 00 DD 71 FE 79 B8 20 06 AF DD B6 FE -R 00 00 01 00 -T 4B 00 00 00 20 02 -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 18 02 -R 00 00 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 18 BC -R 00 00 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 DD 4E FF 06 00 DD 6E FE 26 00 A7 -R 00 00 01 00 -T 5C 00 00 00 ED 42 C3 00 00 00 00 -R 00 00 01 00 02 07 01 00 diff --git a/src/nos/lib/crt_large_lib/strncpy.rel b/src/nos/lib/crt_large_lib/strncpy.rel deleted file mode 100644 index 358a3982..00000000 --- a/src/nos/lib/crt_large_lib/strncpy.rel +++ /dev/null @@ -1,59 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7F flags 0 -S _strncpy Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 66 03 DD 75 FC DD 74 FD DD 71 FE -R 00 00 01 00 -T 14 00 00 00 DD 70 FF -R 00 00 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 DD 7E 08 DD B6 09 28 33 -R 00 00 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 2A 00 00 00 74 09 DD 6E FE DD 66 FF 23 DD 75 -R 00 00 01 00 -T 35 00 00 00 FE DD 74 FF 2B 46 DD 6E FC DD 66 -R 00 00 01 00 -T 40 00 00 00 FD 23 DD 75 FC DD 74 FD 2B 70 04 -R 00 00 01 00 -T 4B 00 00 00 05 20 02 -R 00 00 01 00 -T 4E 00 00 00 -R 00 00 01 00 -T 4E 00 00 00 18 02 -R 00 00 01 00 -T 50 00 00 00 -R 00 00 01 00 -T 50 00 00 00 18 C5 -R 00 00 01 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 5D 00 00 00 74 09 23 7D B4 28 12 -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD -R 00 00 01 00 -T 6F 00 00 00 74 FD 2B 36 00 18 DC -R 00 00 01 00 -T 76 00 00 00 -R 00 00 01 00 -T 76 00 00 00 DD 6E 02 DD 66 03 C3 00 00 00 00 -R 00 00 01 00 02 0B 01 00 diff --git a/src/nos/lib/crt_large_lib/strnicmp.rel b/src/nos/lib/crt_large_lib/strnicmp.rel deleted file mode 100644 index 198c9f16..00000000 --- a/src/nos/lib/crt_large_lib/strnicmp.rel +++ /dev/null @@ -1,90 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ___ctype Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 93 flags 0 -S _strnicmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF -R 00 00 01 00 02 05 04 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 -R 00 00 01 00 -T 05 00 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 10 00 00 00 74 09 23 7D B4 28 76 -R 00 00 01 00 -T 17 00 00 00 -R 00 00 01 00 -T 17 00 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T 22 00 00 00 74 03 2B 46 DD 70 FE DD 6E 04 DD -R 00 00 01 00 -T 2D 00 00 00 66 05 23 DD 75 04 DD 74 05 2B 4E -R 00 00 01 00 -T 38 00 00 00 DD 71 FF 78 B9 28 43 -R 00 00 01 00 -T 3F 00 00 00 -R 00 00 01 00 -T 3F 00 00 00 DD 4E FF 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 03 00 -T 48 00 00 00 7E E6 02 28 08 DD 7E FF EE 20 47 -R 00 00 01 00 -T 53 00 00 00 18 03 -R 00 00 01 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 DD 46 FF -R 00 00 01 00 -T 58 00 00 00 -R 00 00 01 00 -T 58 00 00 00 C5 DD 4E FE 06 00 21 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 61 00 00 00 09 7E E6 02 28 07 DD 7E FE EE 20 -R 00 00 01 00 -T 6C 00 00 00 18 03 -R 00 00 01 00 -T 6E 00 00 00 -R 00 00 01 00 -T 6E 00 00 00 DD 7E FE -R 00 00 01 00 -T 71 00 00 00 -R 00 00 01 00 -T 71 00 00 00 C1 B8 28 0B -R 00 00 01 00 -T 75 00 00 00 -R 00 00 01 00 -T 75 00 00 00 DD 7E FE DD 96 FF 6F 26 00 18 10 -R 00 00 01 00 -T 80 00 00 00 -R 00 00 01 00 -T 80 00 00 00 18 08 -R 00 00 01 00 -T 82 00 00 00 -R 00 00 01 00 -T 82 00 00 00 AF DD B6 FE 20 02 -R 00 00 01 00 -T 88 00 00 00 -R 00 00 01 00 -T 88 00 00 00 18 03 -R 00 00 01 00 -T 8A 00 00 00 -R 00 00 01 00 -T 8A 00 00 00 -R 00 00 01 00 -T 8A 00 00 00 C3 05 00 00 00 -R 00 00 01 00 00 05 01 00 -T 8D 00 00 00 -R 00 00 01 00 -T 8D 00 00 00 21 00 00 -R 00 00 01 00 -T 90 00 00 00 -R 00 00 01 00 -T 90 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/crt_large_lib/strpbrk.rel b/src/nos/lib/crt_large_lib/strpbrk.rel deleted file mode 100644 index c0566564..00000000 --- a/src/nos/lib/crt_large_lib/strpbrk.rel +++ /dev/null @@ -1,48 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _strchr Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3B flags 0 -S _strpbrk Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 03 00 00 00 -R 00 00 01 00 -T 03 00 00 00 -R 00 00 01 00 -T 03 00 00 00 DD 6E 02 DD 66 03 AF B6 28 28 -R 00 00 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 DD 6E 02 DD 66 03 4E 06 00 DD 5E -R 00 00 01 00 -T 18 00 00 00 04 DD 56 05 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 09 01 00 -T 21 00 00 00 28 08 -R 00 00 01 00 -T 23 00 00 00 -R 00 00 01 00 -T 23 00 00 00 DD 6E 02 DD 66 03 18 0D -R 00 00 01 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 18 CE -R 00 00 01 00 -T 35 00 00 00 -R 00 00 01 00 -T 35 00 00 00 21 00 00 -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/crt_large_lib/strrchr.rel b/src/nos/lib/crt_large_lib/strrchr.rel deleted file mode 100644 index 30147e42..00000000 --- a/src/nos/lib/crt_large_lib/strrchr.rel +++ /dev/null @@ -1,56 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 63 flags 0 -S _strrchr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 56 03 CD 00 00 00 00 DD 5E 02 DD -R 00 00 01 00 02 07 01 00 -T 12 00 00 00 56 03 19 DD 75 FE DD 74 FF 79 B0 -R 00 00 01 00 -T 1D 00 00 00 20 08 -R 00 00 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 DD 6E FE DD 66 FF 18 39 -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 -R 00 00 01 00 -T 27 00 00 00 DD 6E 02 DD 66 03 DD 4E FE DD 46 -R 00 00 01 00 -T 32 00 00 00 FF A7 ED 42 28 25 -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 DD 6E FE DD 66 FF 2B DD 75 FE DD -R 00 00 01 00 -T 43 00 00 00 74 FF 4E 06 00 DD 6E 04 DD 66 05 -R 00 00 01 00 -T 4E 00 00 00 A7 ED 42 20 08 -R 00 00 01 00 -T 53 00 00 00 -R 00 00 01 00 -T 53 00 00 00 DD 6E FE DD 66 FF 18 05 -R 00 00 01 00 -T 5B 00 00 00 -R 00 00 01 00 -T 5B 00 00 00 18 CA -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 21 00 00 -R 00 00 01 00 -T 60 00 00 00 -R 00 00 01 00 -T 60 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/crt_large_lib/strsep.rel b/src/nos/lib/crt_large_lib/strsep.rel deleted file mode 100644 index d97b41f5..00000000 --- a/src/nos/lib/crt_large_lib/strsep.rel +++ /dev/null @@ -1,50 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _strpbrk Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 66 flags 0 -S _strsep Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 66 03 56 23 66 6A DD 75 FC DD 74 -R 00 00 01 00 -T 14 00 00 00 FD 7D B4 20 05 -R 00 00 01 00 -T 19 00 00 00 -R 00 00 01 00 -T 19 00 00 00 21 00 00 18 45 -R 00 00 01 00 -T 1E 00 00 00 -R 00 00 01 00 -T 1E 00 00 00 DD 4E 04 DD 46 05 DD 5E FC DD 56 -R 00 00 01 00 -T 29 00 00 00 FD CD 00 00 00 00 DD 75 FE DD 74 -R 00 00 01 00 02 06 01 00 -T 32 00 00 00 FF 7D B4 28 1C -R 00 00 01 00 -T 37 00 00 00 -R 00 00 01 00 -T 37 00 00 00 DD 6E FE DD 66 FF 23 E5 DD 6E 02 -R 00 00 01 00 -T 42 00 00 00 DD 66 03 C1 71 23 70 DD 6E FE DD -R 00 00 01 00 -T 4D 00 00 00 66 FF 36 00 18 0A -R 00 00 01 00 -T 53 00 00 00 -R 00 00 01 00 -T 53 00 00 00 DD 6E 02 DD 66 03 AF 77 23 77 -R 00 00 01 00 -T 5D 00 00 00 -R 00 00 01 00 -T 5D 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/crt_large_lib/strspn.rel b/src/nos/lib/crt_large_lib/strspn.rel deleted file mode 100644 index 6b8d87d6..00000000 --- a/src/nos/lib/crt_large_lib/strspn.rel +++ /dev/null @@ -1,71 +0,0 @@ -XL4 -H 2 areas 5 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7B flags 0 -S _strspn Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF DD 6E 02 DD -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 66 03 DD 75 FA DD 74 FB AF DD 77 -R 00 00 01 00 -T 14 00 00 00 FE DD 77 FF -R 00 00 01 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 DD 6E FA DD 66 FB AF B6 28 50 -R 00 00 01 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 DD 6E 04 DD 66 05 DD 75 FC DD 74 -R 00 00 01 00 -T 2D 00 00 00 FD -R 00 00 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 DD 6E FC DD 66 FD AF B6 28 1C DD -R 00 00 01 00 -T 39 00 00 00 6E FC DD 66 FD E5 DD 6E FA DD 66 -R 00 00 01 00 -T 44 00 00 00 FB 7E E1 BE 28 0A -R 00 00 01 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 18 DA -R 00 00 01 00 -T 54 00 00 00 -R 00 00 01 00 -T 54 00 00 00 DD 6E FC DD 66 FD AF B6 20 02 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 18 12 -R 00 00 01 00 -T 60 00 00 00 -R 00 00 01 00 -T 60 00 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 18 A6 -R 00 00 01 00 -T 72 00 00 00 -R 00 00 01 00 -T 72 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 01 00 diff --git a/src/nos/lib/crt_large_lib/strstr.rel b/src/nos/lib/crt_large_lib/strstr.rel deleted file mode 100644 index 42a9410d..00000000 --- a/src/nos/lib/crt_large_lib/strstr.rel +++ /dev/null @@ -1,64 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _strchr Ref00000000 -S _strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _memcmp Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 77 flags 0 -S _strstr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 59 50 CD -R 00 00 01 00 02 05 05 00 -T 08 00 00 00 00 00 00 00 DD 75 FC DD 74 FD DD -R 00 00 01 00 02 04 02 00 -T 11 00 00 00 4E 02 DD 46 03 DD 71 FE DD 70 FF -R 00 00 01 00 -T 1C 00 00 00 7D B4 20 08 -R 00 00 01 00 -T 20 00 00 00 -R 00 00 01 00 -T 20 00 00 00 DD 6E FE DD 66 FF 18 4C -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 -R 00 00 01 00 -T 28 00 00 00 DD 6E 04 DD 66 05 4E 06 00 DD 5E -R 00 00 01 00 -T 33 00 00 00 FE DD 56 FF CD 00 00 00 00 DD 75 -R 00 00 01 00 02 09 01 00 -T 3C 00 00 00 FE DD 74 FF 7D B4 28 2D -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 DD 6E FC DD 66 FD E5 DD 4E 04 DD -R 00 00 01 00 -T 4F 00 00 00 46 05 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 58 00 00 00 00 00 00 00 F1 7D B4 20 08 -R 00 00 01 00 02 04 06 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 DD 6E FE DD 66 FF 18 0D -R 00 00 01 00 -T 67 00 00 00 -R 00 00 01 00 -T 67 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 6F 00 00 00 -R 00 00 01 00 -T 6F 00 00 00 18 B7 -R 00 00 01 00 -T 71 00 00 00 -R 00 00 01 00 -T 71 00 00 00 21 00 00 -R 00 00 01 00 -T 74 00 00 00 -R 00 00 01 00 -T 74 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/crt_large_lib/strtok.rel b/src/nos/lib/crt_large_lib/strtok.rel deleted file mode 100644 index d74fc977..00000000 --- a/src/nos/lib/crt_large_lib/strtok.rel +++ /dev/null @@ -1,81 +0,0 @@ -XL4 -H 4 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _strpbrk Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _strspn Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 96 flags 0 -S _strtok Def00000000 -A IDATA0 size 2 flags 0 -A CDATA0 size 2 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 B6 03 20 15 -R 00 00 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 2A 00 00 00 00 7D B4 20 05 -R 00 00 01 00 00 05 02 00 -T 14 00 00 00 -R 00 00 01 00 -T 14 00 00 00 21 00 00 18 7A -R 00 00 01 00 -T 19 00 00 00 -R 00 00 01 00 -T 19 00 00 00 2A 00 00 00 00 DD 75 02 DD 74 03 -R 00 00 01 00 00 05 02 00 -T 22 00 00 00 -R 00 00 01 00 -T 22 00 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 -R 00 00 01 00 -T 2D 00 00 00 03 CD 00 00 00 00 4D 44 21 04 00 -R 00 00 01 00 02 06 04 00 -T 36 00 00 00 39 7E 81 77 23 7E 88 77 DD 6E 02 -R 00 00 01 00 -T 41 00 00 00 DD 66 03 AF B6 20 0B -R 00 00 01 00 -T 48 00 00 00 -R 00 00 01 00 -T 48 00 00 00 21 00 00 22 00 00 00 00 21 00 00 -R 00 00 01 00 00 08 02 00 -T 51 00 00 00 18 40 -R 00 00 01 00 -T 53 00 00 00 -R 00 00 01 00 -T 53 00 00 00 DD 6E 02 DD 66 03 DD 75 FE DD 74 -R 00 00 01 00 -T 5E 00 00 00 FF DD 4E 04 DD 46 05 EB CD -R 00 00 01 00 -T 67 00 00 00 00 00 00 00 DD 75 02 DD 74 03 7D -R 00 00 01 00 02 04 01 00 -T 70 00 00 00 B4 20 08 -R 00 00 01 00 -T 73 00 00 00 -R 00 00 01 00 -T 73 00 00 00 21 00 00 22 00 00 00 00 18 12 -R 00 00 01 00 00 08 02 00 -T 7B 00 00 00 -R 00 00 01 00 -T 7B 00 00 00 DD 6E 02 DD 66 03 36 00 DD 6E 02 -R 00 00 01 00 -T 86 00 00 00 DD 66 03 23 22 00 00 00 00 -R 00 00 01 00 00 09 02 00 -T 8D 00 00 00 -R 00 00 01 00 -T 8D 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 -T 93 00 00 00 -R 00 00 01 00 -T 93 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/src/nos/lib/crt_large_lib/strtol.rel b/src/nos/lib/crt_large_lib/strtol.rel deleted file mode 100644 index 6d40fdd3..00000000 --- a/src/nos/lib/crt_large_lib/strtol.rel +++ /dev/null @@ -1,84 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_32_L09 Ref00000000 -S ?L_NEG_L03 Ref00000000 -S _strtoul Ref00000000 -S .__.ABS. Def00000000 -S ___ctype Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size A3 flags 0 -S _strtol Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F8 FF AF DD 77 FC -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 DD 77 FD DD 6E 02 DD 66 03 DD 75 -R 00 00 01 00 -T 14 00 00 00 FE DD 74 FF -R 00 00 01 00 -T 18 00 00 00 -R 00 00 01 00 -T 18 00 00 00 DD 6E FE DD 66 FF 4E 06 00 21 -R 00 00 01 00 -T 22 00 00 00 00 00 00 00 09 7E E6 10 28 0A -R 00 00 01 00 02 04 05 00 -T 2A 00 00 00 -R 00 00 01 00 -T 2A 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 18 E4 -R 00 00 01 00 -T 34 00 00 00 -R 00 00 01 00 -T 34 00 00 00 DD 6E FE DD 66 FF 7E FE 2D 20 12 -R 00 00 01 00 -T 3F 00 00 00 -R 00 00 01 00 -T 3F 00 00 00 DD 34 FC 20 03 DD 34 FD -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 18 13 -R 00 00 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 DD 6E FE DD 66 FF 7E FE 2B 20 08 -R 00 00 01 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 DD 34 FE 20 03 DD 34 FF -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 DD 6E 08 DD 66 09 E5 DD 4E 04 DD -R 00 00 01 00 -T 6F 00 00 00 46 05 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 78 00 00 00 00 00 00 00 F1 DD 75 F8 DD 74 F9 -R 00 00 01 00 02 04 03 00 -T 81 00 00 00 DD 71 FA DD 70 FB DD 7E FC DD B6 -R 00 00 01 00 -T 8C 00 00 00 FD 28 05 CD 00 00 00 00 18 0C -R 00 00 01 00 02 08 02 00 -T 94 00 00 00 -R 00 00 01 00 -T 94 00 00 00 DD 4E FA DD 46 FB DD 6E F8 DD 66 -R 00 00 01 00 -T 9F 00 00 00 F9 -R 00 00 01 00 -T A0 00 00 00 -R 00 00 01 00 -T A0 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/crt_large_lib/strtoul.rel b/src/nos/lib/crt_large_lib/strtoul.rel deleted file mode 100644 index 913ae25f..00000000 --- a/src/nos/lib/crt_large_lib/strtoul.rel +++ /dev/null @@ -1,218 +0,0 @@ -XL4 -H 2 areas A global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?L_MULASG_L03 Ref00000000 -S ?LEAVE_32_L09 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?L_ADDASG_L03 Ref00000000 -S .__.ABS. Def00000000 -S ___ctype Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1DD flags 0 -S _strtoul Def00000086 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 36 FE FF -R 00 00 01 00 02 05 07 00 -T 09 00 00 00 DD 36 FF FF DD 5E 02 16 00 21 -R 00 00 01 00 -T 13 00 00 00 00 00 00 00 19 7E E6 08 28 0F -R 00 00 01 00 02 04 06 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 DD 4E 02 06 00 21 D0 FF 09 DD 75 -R 00 00 01 00 -T 26 00 00 00 FE DD 74 FF -R 00 00 01 00 -T 2A 00 00 00 -R 00 00 01 00 -T 2A 00 00 00 DD 4E 02 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 06 00 -T 33 00 00 00 7E E6 04 28 0F -R 00 00 01 00 -T 38 00 00 00 -R 00 00 01 00 -T 38 00 00 00 DD 4E 02 06 00 21 A9 FF 09 DD 75 -R 00 00 01 00 -T 43 00 00 00 FE DD 74 FF -R 00 00 01 00 -T 47 00 00 00 -R 00 00 01 00 -T 47 00 00 00 DD 4E 02 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 06 00 -T 50 00 00 00 7E E6 02 28 0F -R 00 00 01 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 DD 4E 02 06 00 21 B0 FF 09 DD 75 -R 00 00 01 00 -T 60 00 00 00 FE DD 74 FF -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 -R 00 00 01 00 -T 6F 00 00 00 FF CD 00 00 00 00 38 08 -R 00 00 01 00 02 06 08 00 -T 75 00 00 00 -R 00 00 01 00 -T 75 00 00 00 DD 36 FE FF DD 36 FF FF -R 00 00 01 00 -T 7D 00 00 00 -R 00 00 01 00 -T 7D 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 86 00 00 00 -R 00 00 01 00 -T 86 00 00 00 CD 00 00 00 00 FA FF 11 02 80 DD -R 00 00 01 00 02 05 07 00 -T 8F 00 00 00 6E 08 DD 66 09 3E 80 AC 67 ED 52 -R 00 00 01 00 -T 9A 00 00 00 38 0E DD 4E 08 DD 46 09 21 24 00 -R 00 00 01 00 -T A5 00 00 00 CD 00 00 00 00 30 07 -R 00 00 01 00 02 05 08 00 -T AA 00 00 00 -R 00 00 01 00 -T AA 00 00 00 -R 00 00 01 00 -T AA 00 00 00 -R 00 00 01 00 -T AA 00 00 00 AF DD 77 08 DD 77 09 -R 00 00 01 00 -T B1 00 00 00 -R 00 00 01 00 -T B1 00 00 00 -R 00 00 01 00 -T B1 00 00 00 DD 6E 02 DD 66 03 4E 06 00 21 -R 00 00 01 00 -T BB 00 00 00 00 00 00 00 09 7E E6 10 28 0A -R 00 00 01 00 02 04 06 00 -T C3 00 00 00 -R 00 00 01 00 -T C3 00 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T CB 00 00 00 -R 00 00 01 00 -T CB 00 00 00 18 E4 -R 00 00 01 00 -T CD 00 00 00 -R 00 00 01 00 -T CD 00 00 00 DD 6E 02 DD 66 03 7E FE 2B 20 0A -R 00 00 01 00 -T D8 00 00 00 -R 00 00 01 00 -T D8 00 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T E0 00 00 00 -R 00 00 01 00 -T E0 00 00 00 18 6D -R 00 00 01 00 -T E2 00 00 00 -R 00 00 01 00 -T E2 00 00 00 DD 7E 08 DD B6 09 20 65 DD 6E 02 -R 00 00 01 00 -T ED 00 00 00 DD 66 03 7E FE 30 20 5A -R 00 00 01 00 -T F5 00 00 00 -R 00 00 01 00 -T F5 00 00 00 -R 00 00 01 00 -T F5 00 00 00 -R 00 00 01 00 -T F5 00 00 00 DD 6E 02 DD 66 03 23 7E EE 20 FE -R 00 00 01 00 -T 00 01 00 00 58 20 17 -R 00 00 01 00 -T 03 01 00 00 -R 00 00 01 00 -T 03 01 00 00 DD 36 08 10 DD 36 09 00 21 08 00 -R 00 00 01 00 -T 0E 01 00 00 39 7E C6 02 77 23 7E CE 00 77 18 -R 00 00 01 00 -T 19 01 00 00 35 -R 00 00 01 00 -T 1A 01 00 00 -R 00 00 01 00 -T 1A 01 00 00 DD 6E 02 DD 66 03 23 7E EE 20 FE -R 00 00 01 00 -T 25 01 00 00 42 20 17 -R 00 00 01 00 -T 28 01 00 00 -R 00 00 01 00 -T 28 01 00 00 DD 36 08 02 DD 36 09 00 21 08 00 -R 00 00 01 00 -T 33 01 00 00 39 7E C6 02 77 23 7E CE 00 77 18 -R 00 00 01 00 -T 3E 01 00 00 10 -R 00 00 01 00 -T 3F 01 00 00 -R 00 00 01 00 -T 3F 01 00 00 DD 36 08 08 DD 36 09 00 DD 34 02 -R 00 00 01 00 -T 4A 01 00 00 20 03 DD 34 03 -R 00 00 01 00 -T 4F 01 00 00 -R 00 00 01 00 -T 4F 01 00 00 -R 00 00 01 00 -T 4F 01 00 00 -R 00 00 01 00 -T 4F 01 00 00 -R 00 00 01 00 -T 4F 01 00 00 -R 00 00 01 00 -T 4F 01 00 00 DD 7E 08 DD B6 09 20 08 -R 00 00 01 00 -T 57 01 00 00 -R 00 00 01 00 -T 57 01 00 00 DD 36 08 0A DD 36 09 00 -R 00 00 01 00 -T 5F 01 00 00 -R 00 00 01 00 -T 5F 01 00 00 AF DD 77 FA DD 77 FB DD 77 FC DD -R 00 00 01 00 -T 6A 01 00 00 77 FD -R 00 00 01 00 -T 6C 01 00 00 -R 00 00 01 00 -T 6C 01 00 00 DD 4E 08 DD 46 09 DD 6E 02 DD 66 -R 00 00 01 00 -T 77 01 00 00 03 5E CD 00 00 00 00 DD 75 FE DD -R 00 00 01 00 00 07 01 00 -T 80 01 00 00 74 FF 7D A4 3C 28 2E -R 00 00 01 00 -T 87 01 00 00 -R 00 00 01 00 -T 87 01 00 00 21 00 00 39 DD 5E 08 DD 56 09 7A -R 00 00 01 00 -T 92 01 00 00 07 9F 4F 41 CD 00 00 00 00 21 -R 00 00 01 00 02 09 01 00 -T 9A 01 00 00 00 00 39 DD 5E FE DD 56 FF 7A 07 -R 00 00 01 00 -T A5 01 00 00 9F 4F 41 CD 00 00 00 00 DD 34 02 -R 00 00 01 00 02 08 04 00 -T AE 01 00 00 20 03 DD 34 03 -R 00 00 01 00 -T B3 01 00 00 -R 00 00 01 00 -T B3 01 00 00 18 B7 -R 00 00 01 00 -T B5 01 00 00 -R 00 00 01 00 -T B5 01 00 00 DD 7E 04 DD B6 05 28 11 -R 00 00 01 00 -T BD 01 00 00 -R 00 00 01 00 -T BD 01 00 00 DD 6E 02 DD 66 03 E5 DD 6E 04 DD -R 00 00 01 00 -T C8 01 00 00 66 05 C1 71 23 70 -R 00 00 01 00 -T CE 01 00 00 -R 00 00 01 00 -T CE 01 00 00 DD 4E FC DD 46 FD DD 6E FA DD 66 -R 00 00 01 00 -T D9 01 00 00 FB C3 00 00 00 00 -R 00 00 01 00 02 06 02 00 diff --git a/src/nos/lib/crt_large_lib/system.rel b/src/nos/lib/crt_large_lib/system.rel deleted file mode 100644 index 5e4dff2b..00000000 --- a/src/nos/lib/crt_large_lib/system.rel +++ /dev/null @@ -1,140 +0,0 @@ -XL4 -H 5 areas B global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _execve Ref00000000 -S _environ Ref00000000 -S _abort Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _waitpid Ref00000000 -S _fork Ref00000000 -S _signal Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 131 flags 0 -S _system Def00000000 -A CSTR size E flags 0 -A IDATA0 size 8 flags 0 -A CDATA0 size 8 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F2 FF DD 36 FE FF -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 DD 36 FF FF DD 7E 02 DD B6 03 20 -R 00 00 01 00 -T 14 00 00 00 06 -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 21 01 00 C3 2E 01 00 00 -R 00 00 01 00 00 08 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 21 00 00 E5 21 01 00 E5 11 03 00 -R 00 00 01 00 -T 26 00 00 00 CD 00 00 00 00 F1 F1 DD 75 F2 DD -R 00 00 01 00 02 05 09 00 -T 2F 00 00 00 74 F3 DD 71 F4 DD 70 F5 21 00 00 -R 00 00 01 00 -T 3A 00 00 00 E5 21 01 00 E5 11 02 00 CD -R 00 00 01 00 -T 43 00 00 00 00 00 00 00 F1 F1 DD 75 F6 DD 74 -R 00 00 01 00 02 04 09 00 -T 4C 00 00 00 F7 DD 71 F8 DD 70 F9 CD -R 00 00 01 00 -T 54 00 00 00 00 00 00 00 DD 75 FC DD 74 FD CB -R 00 00 01 00 02 04 08 00 -T 5D 00 00 00 7C 28 03 -R 00 00 01 00 -T 60 00 00 00 -R 00 00 01 00 -T 60 00 00 00 C3 FC 00 00 00 -R 00 00 01 00 00 05 01 00 -T 63 00 00 00 -R 00 00 01 00 -T 63 00 00 00 DD 7E FC DD B6 FD 20 3A -R 00 00 01 00 -T 6B 00 00 00 -R 00 00 01 00 -T 6B 00 00 00 21 00 00 E5 21 00 00 E5 11 03 00 -R 00 00 01 00 -T 76 00 00 00 CD 00 00 00 00 F1 F1 21 00 00 E5 -R 00 00 01 00 02 05 09 00 -T 7F 00 00 00 21 00 00 E5 11 02 00 CD -R 00 00 01 00 -T 87 00 00 00 00 00 00 00 F1 F1 DD 6E 02 DD 66 -R 00 00 01 00 02 04 09 00 -T 90 00 00 00 03 22 04 00 00 00 2A 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 02 00 -T 97 00 00 00 E5 01 00 00 00 00 11 06 00 00 00 -R 00 00 01 00 00 06 03 00 00 0B 02 00 -T 9E 00 00 00 CD 00 00 00 00 F1 CD 00 00 00 00 -R 00 00 01 00 02 05 01 00 02 0B 03 00 -T A5 00 00 00 -R 00 00 01 00 -T A5 00 00 00 21 00 00 E5 21 01 00 E5 11 03 00 -R 00 00 01 00 -T B0 00 00 00 CD 00 00 00 00 F1 F1 21 00 00 E5 -R 00 00 01 00 02 05 09 00 -T B9 00 00 00 21 01 00 E5 11 02 00 CD -R 00 00 01 00 -T C1 00 00 00 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 09 00 -T C5 00 00 00 -R 00 00 01 00 -T C5 00 00 00 21 00 00 E5 21 0E 00 39 4D 44 11 -R 00 00 01 00 -T D0 00 00 00 FF FF CD 00 00 00 00 F1 DD 75 FA -R 00 00 01 00 02 07 07 00 -T D9 00 00 00 DD 74 FB 7D A4 3C 20 0A -R 00 00 01 00 -T E1 00 00 00 -R 00 00 01 00 -T E1 00 00 00 DD 36 FE FF DD 36 FF FF 18 11 -R 00 00 01 00 -T EB 00 00 00 -R 00 00 01 00 -T EB 00 00 00 DD 6E FC DD 66 FD DD 4E FA DD 46 -R 00 00 01 00 -T F6 00 00 00 FB A7 ED 42 20 C9 -R 00 00 01 00 -T FC 00 00 00 -R 00 00 01 00 -T FC 00 00 00 -R 00 00 01 00 -T FC 00 00 00 DD 6E F4 DD 66 F5 E5 DD 6E F2 DD -R 00 00 01 00 -T 07 01 00 00 66 F3 E5 11 03 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 09 00 -T 10 01 00 00 F1 F1 DD 6E F8 DD 66 F9 E5 DD 6E -R 00 00 01 00 -T 1B 01 00 00 F6 DD 66 F7 E5 11 02 00 CD -R 00 00 01 00 -T 24 01 00 00 00 00 00 00 F1 F1 DD 6E FE DD 66 -R 00 00 01 00 02 04 09 00 -T 2D 01 00 00 FF -R 00 00 01 00 -T 2E 01 00 00 -R 00 00 01 00 -T 2E 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 73 68 00 -R 00 00 02 00 -T 03 00 00 00 -R 00 00 02 00 -T 03 00 00 00 2D 63 00 -R 00 00 02 00 -T 06 00 00 00 -R 00 00 02 00 -T 06 00 00 00 2F 62 69 6E 2F 73 68 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 00 00 00 00 03 00 00 00 00 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 06 00 00 00 00 00 -R 00 00 04 00 diff --git a/src/nos/lib/crt_large_lib/termcap.rel b/src/nos/lib/crt_large_lib/termcap.rel deleted file mode 100644 index 76b76681..00000000 --- a/src/nos/lib/crt_large_lib/termcap.rel +++ /dev/null @@ -1,1381 +0,0 @@ -XL4 -H 6 areas 21 global symbols -S ?S_LSHASG_L02 Ref00000000 -S ?CL64180L_4_06_L00 Ref00000000 -S ?S_MULASG_L02 Ref00000000 -S _getenv Ref00000000 -S _memcpy Ref00000000 -S ?SS_DIVASG_L02 Ref00000000 -S _lseek Ref00000000 -S _close Ref00000000 -S _strlen Ref00000000 -S _strcmp Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _read Ref00000000 -S .__.ABS. Def00000000 -S _realloc Ref00000000 -S _free Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _strcpy Ref00000000 -S ?CALL_IND_L09 Ref00000000 -S _write Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _atoi Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S _open Ref00000000 -S _malloc Ref00000000 -S _exit Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size CD6 flags 0 -S _tputs Def000003B7 -S _tgetnum Def000000BD -S _tgetstr Def00000129 -S _tgetflag Def000000F6 -S _tgetent Def00000517 -A CSTR size 37 flags 0 -A UDATA0 size 7 flags 0 -S _ospeed Def00000002 -S _tputs_baud_rate Def00000004 -S _PC Def00000006 -A IDATA0 size 3C flags 0 -A CDATA0 size 3C flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 21 19 00 E5 01 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 09 00 00 00 11 02 00 CD 00 00 00 00 F1 11 -R 00 00 01 00 02 08 12 00 -T 11 00 00 00 01 00 CD 00 00 00 00 D1 C1 C9 -R 00 00 01 00 02 07 18 00 -T 19 00 00 00 -R 00 00 01 00 -T 19 00 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 13 00 -T 22 00 00 00 56 03 CD 00 00 00 00 DD 75 FE DD -R 00 00 01 00 02 07 17 00 -T 2B 00 00 00 74 FF 7D B4 20 03 -R 00 00 01 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 05 01 00 -T 34 00 00 00 -R 00 00 01 00 -T 34 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 0A 00 -T 3D 00 00 00 -R 00 00 01 00 -T 3D 00 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 13 00 -T 46 00 00 00 56 03 CD 00 00 00 00 DD 75 FE DD -R 00 00 01 00 02 07 0D 00 -T 4F 00 00 00 74 FF 7D B4 20 03 -R 00 00 01 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 05 01 00 -T 58 00 00 00 -R 00 00 01 00 -T 58 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 0A 00 -T 61 00 00 00 -R 00 00 01 00 -T 61 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 0F 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 DD 6E 02 DD 66 03 AF B6 28 49 -R 00 00 01 00 -T 6E 00 00 00 -R 00 00 01 00 -T 6E 00 00 00 DD 6E 02 DD 66 03 7E FE 3A 20 34 -R 00 00 01 00 -T 79 00 00 00 DD 6E 04 DD 66 05 E5 DD 6E 02 DD -R 00 00 01 00 -T 84 00 00 00 66 03 23 7E E1 BE 20 21 DD 6E 04 -R 00 00 01 00 -T 8F 00 00 00 DD 66 05 23 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 -T 9A 00 00 00 23 23 7E E1 BE 20 0C -R 00 00 01 00 -T A1 00 00 00 -R 00 00 01 00 -T A1 00 00 00 -R 00 00 01 00 -T A1 00 00 00 -R 00 00 01 00 -T A1 00 00 00 21 04 00 DD 4E 02 DD 46 03 09 18 -R 00 00 01 00 -T AC 00 00 00 0D -R 00 00 01 00 -T AD 00 00 00 -R 00 00 01 00 -T AD 00 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T B5 00 00 00 -R 00 00 01 00 -T B5 00 00 00 18 AD -R 00 00 01 00 -T B7 00 00 00 -R 00 00 01 00 -T B7 00 00 00 21 00 00 -R 00 00 01 00 -T BA 00 00 00 -R 00 00 01 00 -T BA 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T BD 00 00 00 -R 00 00 01 00 -T BD 00 00 00 CD 00 00 00 00 FE FF DD 4E 02 DD -R 00 00 01 00 02 05 13 00 -T C6 00 00 00 46 03 ED 5B 00 00 00 00 CD -R 00 00 01 00 00 08 03 00 -T CD 00 00 00 61 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 00 04 01 00 -T D6 00 00 00 B4 28 0C DD 6E FE DD 66 FF 2B 7E -R 00 00 01 00 -T E1 00 00 00 FE 23 28 05 -R 00 00 01 00 -T E5 00 00 00 -R 00 00 01 00 -T E5 00 00 00 -R 00 00 01 00 -T E5 00 00 00 -R 00 00 01 00 -T E5 00 00 00 21 FF FF 18 09 -R 00 00 01 00 -T EA 00 00 00 -R 00 00 01 00 -T EA 00 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 14 00 -T F3 00 00 00 -R 00 00 01 00 -T F3 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T F6 00 00 00 -R 00 00 01 00 -T F6 00 00 00 CD 00 00 00 00 FE FF DD 4E 02 DD -R 00 00 01 00 02 05 13 00 -T FF 00 00 00 46 03 ED 5B 00 00 00 00 CD -R 00 00 01 00 00 08 03 00 -T 06 01 00 00 61 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 00 04 01 00 -T 0F 01 00 00 B4 28 11 DD 6E FE DD 66 FF 2B 7E -R 00 00 01 00 -T 1A 01 00 00 FE 3A 20 05 21 01 00 18 03 -R 00 00 01 00 -T 23 01 00 00 -R 00 00 01 00 -T 23 01 00 00 21 00 00 -R 00 00 01 00 -T 26 01 00 00 -R 00 00 01 00 -T 26 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T 29 01 00 00 -R 00 00 01 00 -T 29 01 00 00 CD 00 00 00 00 FE FF DD 4E 02 DD -R 00 00 01 00 02 05 13 00 -T 32 01 00 00 46 03 ED 5B 00 00 00 00 CD -R 00 00 01 00 00 08 03 00 -T 39 01 00 00 61 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 00 04 01 00 -T 42 01 00 00 B4 28 18 DD 6E FE DD 66 FF 2B 7E -R 00 00 01 00 -T 4D 01 00 00 FE 3D 28 11 DD 6E FE DD 66 FF 2B -R 00 00 01 00 -T 58 01 00 00 7E FE 7E 28 05 -R 00 00 01 00 -T 5D 01 00 00 -R 00 00 01 00 -T 5D 01 00 00 -R 00 00 01 00 -T 5D 01 00 00 -R 00 00 01 00 -T 5D 01 00 00 -R 00 00 01 00 -T 5D 01 00 00 -R 00 00 01 00 -T 5D 01 00 00 21 00 00 18 0F -R 00 00 01 00 -T 62 01 00 00 -R 00 00 01 00 -T 62 01 00 00 DD 4E 04 DD 46 05 DD 5E FE DD 56 -R 00 00 01 00 -T 6D 01 00 00 FF CD 74 01 00 00 -R 00 00 01 00 00 06 01 00 -T 71 01 00 00 -R 00 00 01 00 -T 71 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T 74 01 00 00 -R 00 00 01 00 -T 74 01 00 00 CD 00 00 00 00 F4 FF DD 7E 02 DD -R 00 00 01 00 02 05 13 00 -T 7D 01 00 00 B6 03 20 06 -R 00 00 01 00 -T 81 01 00 00 -R 00 00 01 00 -T 81 01 00 00 21 00 00 C3 B4 03 00 00 -R 00 00 01 00 00 08 01 00 -T 87 01 00 00 -R 00 00 01 00 -T 87 01 00 00 DD 7E 04 DD B6 05 20 59 -R 00 00 01 00 -T 8F 01 00 00 -R 00 00 01 00 -T 8F 01 00 00 DD 6E 02 DD 66 03 DD 75 F4 DD 74 -R 00 00 01 00 -T 9A 01 00 00 F5 -R 00 00 01 00 -T 9B 01 00 00 -R 00 00 01 00 -T 9B 01 00 00 DD 6E F4 DD 66 F5 23 DD 75 F4 DD -R 00 00 01 00 -T A6 01 00 00 74 F5 2B 4E 06 00 DD 71 F8 DD 70 -R 00 00 01 00 -T B1 01 00 00 F9 79 B0 28 16 3E 3A DD AE F8 DD -R 00 00 01 00 -T BC 01 00 00 B6 F9 28 0C 3E 0A DD AE F8 DD B6 -R 00 00 01 00 -T C7 01 00 00 F9 28 02 -R 00 00 01 00 -T CA 01 00 00 -R 00 00 01 00 -T CA 01 00 00 -R 00 00 01 00 -T CA 01 00 00 -R 00 00 01 00 -T CA 01 00 00 18 CF -R 00 00 01 00 -T CC 01 00 00 -R 00 00 01 00 -T CC 01 00 00 DD 4E 02 DD 46 03 DD 6E F4 DD 66 -R 00 00 01 00 -T D7 01 00 00 F5 A7 ED 42 EB 13 CD 19 00 00 00 -R 00 00 01 00 00 0B 01 00 -T E0 01 00 00 DD 75 FE DD 74 FF 18 10 -R 00 00 01 00 -T E8 01 00 00 -R 00 00 01 00 -T E8 01 00 00 DD 6E 04 DD 66 05 46 23 66 68 DD -R 00 00 01 00 -T F3 01 00 00 75 FE DD 74 FF -R 00 00 01 00 -T F8 01 00 00 -R 00 00 01 00 -T F8 01 00 00 DD 6E 02 DD 66 03 DD 75 F4 DD 74 -R 00 00 01 00 -T 03 02 00 00 F5 DD 6E FE DD 66 FF DD 75 F6 DD -R 00 00 01 00 -T 0E 02 00 00 74 F7 -R 00 00 01 00 -T 10 02 00 00 -R 00 00 01 00 -T 10 02 00 00 DD 6E F4 DD 66 F5 23 DD 75 F4 DD -R 00 00 01 00 -T 1B 02 00 00 74 F5 2B 4E 06 00 DD 71 F8 DD 70 -R 00 00 01 00 -T 26 02 00 00 F9 79 B0 CA 8C 03 00 00 3E 3A DD -R 00 00 01 00 00 08 01 00 -T 2F 02 00 00 AE F8 DD B6 F9 CA 8C 03 00 00 3E -R 00 00 01 00 00 0A 01 00 -T 38 02 00 00 0A DD AE F8 DD B6 F9 CA -R 00 00 01 00 -T 40 02 00 00 8C 03 00 00 -R 00 00 01 00 00 04 01 00 -T 42 02 00 00 -R 00 00 01 00 -T 42 02 00 00 -R 00 00 01 00 -T 42 02 00 00 -R 00 00 01 00 -T 42 02 00 00 3E 5E DD AE F8 DD B6 F9 20 1D -R 00 00 01 00 -T 4C 02 00 00 -R 00 00 01 00 -T 4C 02 00 00 DD 6E F4 DD 66 F5 23 DD 75 F4 DD -R 00 00 01 00 -T 57 02 00 00 74 F5 2B 7E E6 1F 4F 06 00 DD 71 -R 00 00 01 00 -T 62 02 00 00 F8 DD 70 F9 C3 77 03 00 00 -R 00 00 01 00 00 09 01 00 -T 69 02 00 00 -R 00 00 01 00 -T 69 02 00 00 3E 5C DD AE F8 DD B6 F9 C2 -R 00 00 01 00 -T 72 02 00 00 77 03 00 00 -R 00 00 01 00 00 04 01 00 -T 74 02 00 00 -R 00 00 01 00 -T 74 02 00 00 DD 6E F4 DD 66 F5 23 DD 75 F4 DD -R 00 00 01 00 -T 7F 02 00 00 74 F5 2B 4E 06 00 DD 71 F8 DD 70 -R 00 00 01 00 -T 8A 02 00 00 F9 11 30 80 69 60 3E 80 AC 67 ED -R 00 00 01 00 -T 95 02 00 00 52 DA 2A 03 00 00 DD 4E F8 DD 46 -R 00 00 01 00 00 06 01 00 -T 9E 02 00 00 F9 21 37 00 CD 00 00 00 00 DA -R 00 00 01 00 02 09 15 00 -T A6 02 00 00 2A 03 00 00 -R 00 00 01 00 00 04 01 00 -T A8 02 00 00 -R 00 00 01 00 -T A8 02 00 00 -R 00 00 01 00 -T A8 02 00 00 -R 00 00 01 00 -T A8 02 00 00 21 04 00 39 7E D6 30 77 23 7E DE -R 00 00 01 00 -T B3 02 00 00 00 77 AF DD 77 FA DD 77 FB -R 00 00 01 00 -T BC 02 00 00 -R 00 00 01 00 -T BC 02 00 00 DD 6E FA DD 66 FB 23 DD 75 FA DD -R 00 00 01 00 -T C7 02 00 00 74 FB 01 03 80 3E 80 AC 67 ED 42 -R 00 00 01 00 -T D2 02 00 00 30 54 DD 6E F4 DD 66 F5 4E 06 00 -R 00 00 01 00 -T DD 02 00 00 DD 71 FC DD 70 FD 69 60 01 30 80 -R 00 00 01 00 -T E8 02 00 00 3E 80 AC 67 ED 42 38 38 DD 4E FC -R 00 00 01 00 -T F3 02 00 00 DD 46 FD 21 37 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 15 00 -T FC 02 00 00 38 2A -R 00 00 01 00 -T FE 02 00 00 -R 00 00 01 00 -T FE 02 00 00 -R 00 00 01 00 -T FE 02 00 00 -R 00 00 01 00 -T FE 02 00 00 21 04 00 39 06 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 00 00 -T 07 03 00 00 21 D0 FF DD 4E FC DD 46 FD 09 4D -R 00 00 01 00 -T 12 03 00 00 44 21 04 00 39 7E 81 77 23 7E 88 -R 00 00 01 00 -T 1D 03 00 00 77 DD 34 F4 20 03 DD 34 F5 -R 00 00 01 00 -T 26 03 00 00 -R 00 00 01 00 -T 26 03 00 00 18 94 -R 00 00 01 00 -T 28 03 00 00 -R 00 00 01 00 -T 28 03 00 00 18 4D -R 00 00 01 00 -T 2A 03 00 00 -R 00 00 01 00 -T 2A 03 00 00 01 40 80 DD 6E F8 DD 66 F9 3E 80 -R 00 00 01 00 -T 35 03 00 00 AC 67 ED 42 38 3C 01 80 80 DD 6E -R 00 00 01 00 -T 40 03 00 00 F8 DD 66 F9 3E 80 AC 67 ED 42 30 -R 00 00 01 00 -T 4B 03 00 00 2B -R 00 00 01 00 -T 4C 03 00 00 -R 00 00 01 00 -T 4C 03 00 00 -R 00 00 01 00 -T 4C 03 00 00 -R 00 00 01 00 -T 4C 03 00 00 DD 7E F8 E6 DF 6F DD 7E F9 E6 FF -R 00 00 01 00 -T 57 03 00 00 67 01 C0 FF FF FF 09 4E 06 00 DD -R 00 00 01 00 00 06 04 00 -T 60 03 00 00 71 FC DD 70 FD 3E 20 A9 B0 28 0C -R 00 00 01 00 -T 6B 03 00 00 -R 00 00 01 00 -T 6B 03 00 00 DD 6E FC DD 66 FD DD 75 F8 DD 74 -R 00 00 01 00 -T 76 03 00 00 F9 -R 00 00 01 00 -T 77 03 00 00 -R 00 00 01 00 -T 77 03 00 00 -R 00 00 01 00 -T 77 03 00 00 -R 00 00 01 00 -T 77 03 00 00 -R 00 00 01 00 -T 77 03 00 00 -R 00 00 01 00 -T 77 03 00 00 DD 46 F8 DD 6E F6 DD 66 F7 23 DD -R 00 00 01 00 -T 82 03 00 00 75 F6 DD 74 F7 2B 70 C3 -R 00 00 01 00 -T 8A 03 00 00 10 02 00 00 -R 00 00 01 00 00 04 01 00 -T 8C 03 00 00 -R 00 00 01 00 -T 8C 03 00 00 DD 6E F6 DD 66 F7 36 00 DD 7E 04 -R 00 00 01 00 -T 97 03 00 00 DD B6 05 28 12 -R 00 00 01 00 -T 9C 03 00 00 -R 00 00 01 00 -T 9C 03 00 00 DD 6E F6 DD 66 F7 23 E5 DD 6E 04 -R 00 00 01 00 -T A7 03 00 00 DD 66 05 C1 71 23 70 -R 00 00 01 00 -T AE 03 00 00 -R 00 00 01 00 -T AE 03 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 -T B4 03 00 00 -R 00 00 01 00 -T B4 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T B7 03 00 00 -R 00 00 01 00 -T B7 03 00 00 CD 00 00 00 00 FE FF AF DD 77 FE -R 00 00 01 00 02 05 13 00 -T C0 03 00 00 DD 77 FF DD 7E 02 DD B6 03 20 03 -R 00 00 01 00 -T CB 03 00 00 -R 00 00 01 00 -T CB 03 00 00 C3 14 05 00 00 -R 00 00 01 00 00 05 01 00 -T CE 03 00 00 -R 00 00 01 00 -T CE 03 00 00 -R 00 00 01 00 -T CE 03 00 00 DD 6E 02 DD 66 03 7E FE 30 38 39 -R 00 00 01 00 -T D9 03 00 00 DD 6E 02 DD 66 03 3E 39 BE 38 2E -R 00 00 01 00 -T E4 03 00 00 -R 00 00 01 00 -T E4 03 00 00 -R 00 00 01 00 -T E4 03 00 00 -R 00 00 01 00 -T E4 03 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T EF 03 00 00 74 03 2B 4E 06 00 21 D0 FF 09 4D -R 00 00 01 00 -T FA 03 00 00 44 21 00 00 39 7E 81 77 23 7E 88 -R 00 00 01 00 -T 05 04 00 00 77 21 00 00 39 01 0A 00 CD -R 00 00 01 00 -T 0E 04 00 00 00 00 00 00 18 BC -R 00 00 01 00 02 04 02 00 -T 12 04 00 00 -R 00 00 01 00 -T 12 04 00 00 DD 6E 02 DD 66 03 7E FE 2E 20 2A -R 00 00 01 00 -T 1D 04 00 00 -R 00 00 01 00 -T 1D 04 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T 25 04 00 00 -R 00 00 01 00 -T 25 04 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T 30 04 00 00 74 03 2B 4E 06 00 21 D0 FF 09 4D -R 00 00 01 00 -T 3B 04 00 00 44 21 00 00 39 7E 81 77 23 7E 88 -R 00 00 01 00 -T 46 04 00 00 77 -R 00 00 01 00 -T 47 04 00 00 -R 00 00 01 00 -T 47 04 00 00 DD 6E 02 DD 66 03 7E FE 2A 20 15 -R 00 00 01 00 -T 52 04 00 00 -R 00 00 01 00 -T 52 04 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T 5A 04 00 00 -R 00 00 01 00 -T 5A 04 00 00 21 00 00 39 DD 4E 04 DD 46 05 CD -R 00 00 01 00 -T 65 04 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 -T 67 04 00 00 -R 00 00 01 00 -T 67 04 00 00 -R 00 00 01 00 -T 67 04 00 00 DD 6E 02 DD 66 03 AF B6 28 1C -R 00 00 01 00 -T 71 04 00 00 -R 00 00 01 00 -T 71 04 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T 7C 04 00 00 74 03 2B 5E 16 00 DD 6E 08 DD 66 -R 00 00 01 00 -T 87 04 00 00 09 CD 00 00 00 00 18 DA -R 00 00 01 00 02 06 11 00 -T 8D 04 00 00 -R 00 00 01 00 -T 8D 04 00 00 2A 02 00 00 00 29 01 1C 00 00 00 -R 00 00 01 00 00 05 03 00 00 0B 04 00 -T 94 04 00 00 09 4E 23 46 21 00 00 39 CD -R 00 00 01 00 -T 9D 04 00 00 00 00 00 00 21 00 00 39 7E C6 F4 -R 00 00 01 00 02 04 02 00 -T A6 04 00 00 77 23 7E CE 01 77 21 00 00 39 01 -R 00 00 01 00 -T B1 04 00 00 E8 03 CD 00 00 00 00 2A -R 00 00 01 00 02 07 05 00 -T B7 04 00 00 02 00 00 00 29 01 1C 00 00 00 09 -R 00 00 01 00 00 04 03 00 00 0A 04 00 -T BE 04 00 00 23 CB 7E 28 14 -R 00 00 01 00 -T C3 04 00 00 -R 00 00 01 00 -T C3 04 00 00 DD 4E FE DD 46 FF A7 21 00 00 ED -R 00 00 01 00 -T CE 04 00 00 42 DD 75 FE DD 74 FF 18 16 -R 00 00 01 00 -T D7 04 00 00 -R 00 00 01 00 -T D7 04 00 00 21 00 00 39 7E C6 32 77 30 02 23 -R 00 00 01 00 -T E2 04 00 00 34 -R 00 00 01 00 -T E3 04 00 00 -R 00 00 01 00 -T E3 04 00 00 21 00 00 39 01 64 00 CD -R 00 00 01 00 -T EB 04 00 00 00 00 00 00 -R 00 00 01 00 02 04 05 00 -T ED 04 00 00 -R 00 00 01 00 -T ED 04 00 00 -R 00 00 01 00 -T ED 04 00 00 DD 4E FE DD 46 FF 0B DD 71 FE DD -R 00 00 01 00 -T F8 04 00 00 70 FF 03 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 15 00 -T 01 05 00 00 30 11 -R 00 00 01 00 -T 03 05 00 00 -R 00 00 01 00 -T 03 05 00 00 ED 5B 06 00 00 00 16 00 DD 6E 08 -R 00 00 01 00 00 06 03 00 -T 0C 05 00 00 DD 66 09 CD 00 00 00 00 18 D9 -R 00 00 01 00 02 08 11 00 -T 14 05 00 00 -R 00 00 01 00 -T 14 05 00 00 -R 00 00 01 00 -T 14 05 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T 17 05 00 00 -R 00 00 01 00 -T 17 05 00 00 CD 00 00 00 00 E0 FF AF DD 77 F8 -R 00 00 01 00 02 05 13 00 -T 20 05 00 00 DD 77 F9 11 1A 00 00 00 CD -R 00 00 01 00 00 08 02 00 -T 27 05 00 00 00 00 00 00 DD 75 FA DD 74 FB AF -R 00 00 01 00 02 04 03 00 -T 30 05 00 00 DD 77 FC DD 77 FD 7D B4 20 06 -R 00 00 01 00 -T 3A 05 00 00 -R 00 00 01 00 -T 3A 05 00 00 21 FF FF C3 87 08 00 00 -R 00 00 01 00 00 08 01 00 -T 40 05 00 00 -R 00 00 01 00 -T 40 05 00 00 11 1F 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 02 00 02 0A 03 00 -T 47 05 00 00 75 E0 DD 74 E1 7D B4 28 11 DD 6E -R 00 00 01 00 -T 52 05 00 00 E0 DD 66 E1 AF B6 20 07 -R 00 00 01 00 -T 5A 05 00 00 -R 00 00 01 00 -T 5A 05 00 00 -R 00 00 01 00 -T 5A 05 00 00 -R 00 00 01 00 -T 5A 05 00 00 AF DD 77 E0 DD 77 E1 -R 00 00 01 00 -T 61 05 00 00 -R 00 00 01 00 -T 61 05 00 00 DD 7E E0 DD B6 E1 28 10 DD 6E E0 -R 00 00 01 00 -T 6C 05 00 00 DD 66 E1 7E FE 2F 20 05 21 01 00 -R 00 00 01 00 -T 77 05 00 00 18 03 -R 00 00 01 00 -T 79 05 00 00 -R 00 00 01 00 -T 79 05 00 00 21 00 00 -R 00 00 01 00 -T 7C 05 00 00 -R 00 00 01 00 -T 7C 05 00 00 DD 75 FE DD 74 FF DD 7E E0 DD B6 -R 00 00 01 00 -T 87 05 00 00 E1 28 75 DD 7E FE DD B6 FF 20 6D -R 00 00 01 00 -T 92 05 00 00 DD 4E FA DD 46 FB DD 5E 04 DD 56 -R 00 00 01 00 -T 9D 05 00 00 05 CD 00 00 00 00 7D B4 20 5A -R 00 00 01 00 02 06 09 00 -T A5 05 00 00 -R 00 00 01 00 -T A5 05 00 00 -R 00 00 01 00 -T A5 05 00 00 -R 00 00 01 00 -T A5 05 00 00 01 00 00 C5 01 27 00 00 00 DD 5E -R 00 00 01 00 00 09 02 00 -T AE 05 00 00 E0 DD 56 E1 CD 61 00 00 00 EB C1 -R 00 00 01 00 00 09 01 00 -T B7 05 00 00 CD 74 01 00 00 DD 75 F8 DD 74 F9 -R 00 00 01 00 00 05 01 00 -T C0 05 00 00 7D B4 20 28 -R 00 00 01 00 -T C4 05 00 00 -R 00 00 01 00 -T C4 05 00 00 DD 7E 02 DD B6 03 20 0E -R 00 00 01 00 -T CC 05 00 00 -R 00 00 01 00 -T CC 05 00 00 DD 6E E0 DD 66 E1 DD 75 02 DD 74 -R 00 00 01 00 -T D7 05 00 00 03 18 0F -R 00 00 01 00 -T DA 05 00 00 -R 00 00 01 00 -T DA 05 00 00 DD 4E E0 DD 46 E1 DD 5E 02 DD 56 -R 00 00 01 00 -T E5 05 00 00 03 CD 00 00 00 00 -R 00 00 01 00 02 06 10 00 -T E9 05 00 00 -R 00 00 01 00 -T E9 05 00 00 C3 6B 08 00 00 -R 00 00 01 00 00 05 01 00 -T EC 05 00 00 -R 00 00 01 00 -T EC 05 00 00 DD 6E E0 DD 66 E1 DD 75 F6 DD 74 -R 00 00 01 00 -T F7 05 00 00 F7 AF DD 77 E0 DD 77 E1 -R 00 00 01 00 -T FF 05 00 00 -R 00 00 01 00 -T FF 05 00 00 DD 7E E0 DD B6 E1 28 08 DD 7E FE -R 00 00 01 00 -T 0A 06 00 00 DD B6 FF 20 08 -R 00 00 01 00 -T 0F 06 00 00 -R 00 00 01 00 -T 0F 06 00 00 -R 00 00 01 00 -T 0F 06 00 00 -R 00 00 01 00 -T 0F 06 00 00 DD 36 E0 2A 00 00 00 DD 36 E1 -R 00 00 01 00 09 07 02 00 -T 16 06 00 00 2A 00 00 00 -R 00 00 01 00 89 04 02 00 -T 17 06 00 00 -R 00 00 01 00 -T 17 06 00 00 21 00 00 E5 DD 6E E0 DD 66 E1 E5 -R 00 00 01 00 -T 22 06 00 00 CD 00 00 00 00 F1 F1 DD 75 E2 DD -R 00 00 01 00 02 05 16 00 -T 2B 06 00 00 74 E3 CB 7C 28 06 -R 00 00 01 00 -T 31 06 00 00 -R 00 00 01 00 -T 31 06 00 00 21 FF FF C3 87 08 00 00 -R 00 00 01 00 00 08 01 00 -T 37 06 00 00 -R 00 00 01 00 -T 37 06 00 00 DD 36 E6 00 DD 36 E7 08 DD 5E E6 -R 00 00 01 00 -T 42 06 00 00 DD 56 E7 13 CD 19 00 00 00 DD 75 -R 00 00 01 00 00 09 01 00 -T 4B 06 00 00 E4 DD 74 E5 DD 7E F8 DD B6 F9 28 -R 00 00 01 00 -T 56 06 00 00 08 DD 6E F8 DD 66 F9 18 06 -R 00 00 01 00 -T 5F 06 00 00 -R 00 00 01 00 -T 5F 06 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 -T 65 06 00 00 -R 00 00 01 00 -T 65 06 00 00 DD 75 F2 DD 74 F3 DD 7E 02 DD B6 -R 00 00 01 00 -T 70 06 00 00 03 20 2A -R 00 00 01 00 -T 73 06 00 00 -R 00 00 01 00 -T 73 06 00 00 DD 7E F8 DD B6 F9 28 0C DD 5E F6 -R 00 00 01 00 -T 7E 06 00 00 DD 56 F7 CD 00 00 00 00 23 18 06 -R 00 00 01 00 02 08 08 00 -T 87 06 00 00 -R 00 00 01 00 -T 87 06 00 00 DD 6E E6 DD 66 E7 -R 00 00 01 00 -T 8D 06 00 00 -R 00 00 01 00 -T 8D 06 00 00 DD 75 FC DD 74 FD EB CD -R 00 00 01 00 -T 95 06 00 00 19 00 00 00 DD 75 02 DD 74 03 -R 00 00 01 00 00 04 01 00 -T 9D 06 00 00 -R 00 00 01 00 -T 9D 06 00 00 DD 6E 02 DD 66 03 DD 75 EE DD 74 -R 00 00 01 00 -T A8 06 00 00 EF DD 7E F8 DD B6 F9 28 25 -R 00 00 01 00 -T B1 06 00 00 -R 00 00 01 00 -T B1 06 00 00 DD 4E F6 DD 46 F7 DD 5E 02 DD 56 -R 00 00 01 00 -T BC 06 00 00 03 CD 00 00 00 00 DD 5E F6 DD 56 -R 00 00 01 00 02 06 10 00 -T C5 06 00 00 F7 CD 00 00 00 00 4D 44 21 0E 00 -R 00 00 01 00 02 06 08 00 -T CE 06 00 00 39 7E 81 77 23 7E 88 77 -R 00 00 01 00 -T D6 06 00 00 -R 00 00 01 00 -T D6 06 00 00 -R 00 00 01 00 -T D6 06 00 00 DD 7E F2 DD B6 F3 CA 30 08 00 00 -R 00 00 01 00 00 0B 01 00 -T DF 06 00 00 -R 00 00 01 00 -T DF 06 00 00 21 04 00 39 E5 DD 4E E2 DD 46 E3 -R 00 00 01 00 -T EA 06 00 00 DD 5E F2 DD 56 F3 CD 8A 08 00 00 -R 00 00 01 00 00 0B 01 00 -T F3 06 00 00 F1 7D B4 20 29 -R 00 00 01 00 -T F8 06 00 00 -R 00 00 01 00 -T F8 06 00 00 DD 5E E2 DD 56 E3 CD 00 00 00 00 -R 00 00 01 00 02 0B 07 00 -T 01 07 00 00 DD 5E E4 DD 56 E5 CD 00 00 00 00 -R 00 00 01 00 02 0B 0E 00 -T 0A 07 00 00 DD 7E FC DD B6 FD 28 09 -R 00 00 01 00 -T 12 07 00 00 -R 00 00 01 00 -T 12 07 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 0E 00 -T 1B 07 00 00 -R 00 00 01 00 -T 1B 07 00 00 21 00 00 C3 87 08 00 00 -R 00 00 01 00 00 08 01 00 -T 21 07 00 00 -R 00 00 01 00 -T 21 07 00 00 DD 6E 04 DD 66 05 DD 4E F2 DD 46 -R 00 00 01 00 -T 2C 07 00 00 F3 A7 ED 42 28 09 -R 00 00 01 00 -T 32 07 00 00 -R 00 00 01 00 -T 32 07 00 00 DD 5E F2 DD 56 F3 CD 00 00 00 00 -R 00 00 01 00 02 0B 0E 00 -T 3B 07 00 00 -R 00 00 01 00 -T 3B 07 00 00 DD 7E FC DD B6 FD 28 4F -R 00 00 01 00 -T 43 07 00 00 -R 00 00 01 00 -T 43 07 00 00 DD 4E 02 DD 46 03 DD 6E EE DD 66 -R 00 00 01 00 -T 4E 07 00 00 EF A7 ED 42 DD 4E E6 DD 46 E7 09 -R 00 00 01 00 -T 59 07 00 00 DD 75 FC DD 74 FD 4D 44 DD 5E 02 -R 00 00 01 00 -T 64 07 00 00 DD 56 03 CD 3D 00 00 00 DD 75 E0 -R 00 00 01 00 00 08 01 00 -T 6D 07 00 00 DD 74 E1 DD 4E 02 DD 46 03 A7 ED -R 00 00 01 00 -T 78 07 00 00 42 4D 44 21 0E 00 39 7E 81 77 23 -R 00 00 01 00 -T 83 07 00 00 7E 88 77 DD 6E E0 DD 66 E1 DD 75 -R 00 00 01 00 -T 8E 07 00 00 02 DD 74 03 -R 00 00 01 00 -T 92 07 00 00 -R 00 00 01 00 -T 92 07 00 00 DD 6E EE DD 66 EF DD 75 F0 DD 74 -R 00 00 01 00 -T 9D 07 00 00 F1 DD 6E E8 DD 66 E9 DD 75 E0 DD -R 00 00 01 00 -T A8 07 00 00 74 E1 -R 00 00 01 00 -T AA 07 00 00 -R 00 00 01 00 -T AA 07 00 00 DD 6E E0 DD 66 E1 23 DD 75 E0 DD -R 00 00 01 00 -T B5 07 00 00 74 E1 2B 4E 06 00 DD 71 F4 DD 70 -R 00 00 01 00 -T C0 07 00 00 F5 DD 6E EE DD 66 EF 23 DD 75 EE -R 00 00 01 00 -T CB 07 00 00 DD 74 EF 2B 71 0C 0D 28 36 3E 0A -R 00 00 01 00 -T D6 07 00 00 DD AE F4 DD B6 F5 28 2C -R 00 00 01 00 -T DE 07 00 00 -R 00 00 01 00 -T DE 07 00 00 -R 00 00 01 00 -T DE 07 00 00 -R 00 00 01 00 -T DE 07 00 00 3E 5C DD AE F4 DD B6 F5 20 20 DD -R 00 00 01 00 -T E9 07 00 00 6E E0 DD 66 E1 7E FE 0A 20 15 -R 00 00 01 00 -T F3 07 00 00 -R 00 00 01 00 -T F3 07 00 00 -R 00 00 01 00 -T F3 07 00 00 -R 00 00 01 00 -T F3 07 00 00 DD 6E EE DD 66 EF 2B DD 75 EE DD -R 00 00 01 00 -T FE 07 00 00 74 EF DD 34 E0 20 03 DD 34 E1 -R 00 00 01 00 -T 08 08 00 00 -R 00 00 01 00 -T 08 08 00 00 -R 00 00 01 00 -T 08 08 00 00 18 A0 -R 00 00 01 00 -T 0A 08 00 00 -R 00 00 01 00 -T 0A 08 00 00 DD 6E EE DD 66 EF 36 00 01 00 00 -R 00 00 01 00 -T 15 08 00 00 C5 01 27 00 00 00 DD 5E F0 DD 56 -R 00 00 01 00 00 06 02 00 -T 1E 08 00 00 F1 CD 61 00 00 00 EB C1 CD -R 00 00 01 00 00 06 01 00 -T 25 08 00 00 74 01 00 00 DD 75 F2 DD 74 F3 C3 -R 00 00 01 00 00 04 01 00 -T 2E 08 00 00 D6 06 00 00 -R 00 00 01 00 00 04 01 00 -T 30 08 00 00 -R 00 00 01 00 -T 30 08 00 00 DD 5E E2 DD 56 E3 CD 00 00 00 00 -R 00 00 01 00 02 0B 07 00 -T 39 08 00 00 DD 5E E4 DD 56 E5 CD 00 00 00 00 -R 00 00 01 00 02 0B 0E 00 -T 42 08 00 00 DD 7E FC DD B6 FD 28 21 -R 00 00 01 00 -T 4A 08 00 00 -R 00 00 01 00 -T 4A 08 00 00 DD 4E 02 DD 46 03 DD 6E EE DD 66 -R 00 00 01 00 -T 55 08 00 00 EF A7 ED 42 4D 44 03 DD 5E 02 DD -R 00 00 01 00 -T 60 08 00 00 56 03 CD 3D 00 00 00 DD 75 02 DD -R 00 00 01 00 00 07 01 00 -T 69 08 00 00 74 03 -R 00 00 01 00 -T 6B 08 00 00 -R 00 00 01 00 -T 6B 08 00 00 -R 00 00 01 00 -T 6B 08 00 00 DD 6E 02 DD 66 03 22 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T 74 08 00 00 DD 7E FC DD B6 FD 28 08 -R 00 00 01 00 -T 7C 08 00 00 -R 00 00 01 00 -T 7C 08 00 00 DD 6E 02 DD 66 03 18 03 -R 00 00 01 00 -T 84 08 00 00 -R 00 00 01 00 -T 84 08 00 00 21 01 00 -R 00 00 01 00 -T 87 08 00 00 -R 00 00 01 00 -T 87 08 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T 8A 08 00 00 -R 00 00 01 00 -T 8A 08 00 00 CD 00 00 00 00 FE FF 21 04 00 DD -R 00 00 01 00 02 05 13 00 -T 93 08 00 00 5E 08 DD 56 09 19 E5 EB 5E 23 56 -R 00 00 01 00 -T 9E 08 00 00 E1 73 23 72 21 08 00 DD 5E 08 DD -R 00 00 01 00 -T A9 08 00 00 56 09 19 AF 77 23 77 21 06 00 19 -R 00 00 01 00 -T B4 08 00 00 AF 77 23 77 21 04 00 19 7E 23 66 -R 00 00 01 00 -T BF 08 00 00 6F 36 00 21 00 00 E5 21 00 00 E5 -R 00 00 01 00 -T CA 08 00 00 21 00 00 E5 59 50 CD 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T D3 08 00 00 F1 F1 F1 -R 00 00 01 00 -T D6 08 00 00 -R 00 00 01 00 -T D6 08 00 00 21 06 00 DD 4E 08 DD 46 09 09 7E -R 00 00 01 00 -T E1 08 00 00 23 B6 C2 6E 09 00 00 -R 00 00 01 00 00 07 01 00 -T E6 08 00 00 -R 00 00 01 00 -T E6 08 00 00 AF DD 77 FE DD 77 FF -R 00 00 01 00 -T ED 08 00 00 -R 00 00 01 00 -T ED 08 00 00 DD 6E FE DD 66 FF E5 DD 4E 08 DD -R 00 00 01 00 -T F8 08 00 00 46 09 DD 5E 04 DD 56 05 CD -R 00 00 01 00 -T 01 09 00 00 A9 0A 00 00 F1 DD 75 FE DD 74 FF -R 00 00 01 00 00 04 01 00 -T 0A 09 00 00 21 06 00 DD 4E 08 DD 46 09 09 7E -R 00 00 01 00 -T 15 09 00 00 23 B6 20 0D DD 6E FE DD 66 FF 2B -R 00 00 01 00 -T 20 09 00 00 2B 7E FE 5C 28 C7 -R 00 00 01 00 -T 26 09 00 00 -R 00 00 01 00 -T 26 09 00 00 21 04 00 DD 4E 08 DD 46 09 09 7E -R 00 00 01 00 -T 31 09 00 00 23 66 6F 7E FE 23 28 1F DD 4E 02 -R 00 00 01 00 -T 3C 09 00 00 DD 46 03 21 04 00 DD 5E 08 DD 56 -R 00 00 01 00 -T 47 09 00 00 09 19 5E 23 56 CD 74 09 00 00 7D -R 00 00 01 00 00 0A 01 00 -T 50 09 00 00 B4 28 05 -R 00 00 01 00 -T 53 09 00 00 -R 00 00 01 00 -T 53 09 00 00 -R 00 00 01 00 -T 53 09 00 00 -R 00 00 01 00 -T 53 09 00 00 21 01 00 18 19 -R 00 00 01 00 -T 58 09 00 00 -R 00 00 01 00 -T 58 09 00 00 21 04 00 DD 4E 08 DD 46 09 09 DD -R 00 00 01 00 -T 63 09 00 00 4E FE DD 46 FF 71 23 70 C3 -R 00 00 01 00 -T 6C 09 00 00 D6 08 00 00 -R 00 00 01 00 00 04 01 00 -T 6E 09 00 00 -R 00 00 01 00 -T 6E 09 00 00 21 00 00 -R 00 00 01 00 -T 71 09 00 00 -R 00 00 01 00 -T 71 09 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T 74 09 00 00 -R 00 00 01 00 -T 74 09 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 13 00 -T 7D 09 00 00 56 03 CD EA 09 00 00 7D B4 20 05 -R 00 00 01 00 00 07 01 00 -T 86 09 00 00 -R 00 00 01 00 -T 86 09 00 00 21 01 00 18 5C -R 00 00 01 00 -T 8B 09 00 00 -R 00 00 01 00 -T 8B 09 00 00 DD 6E 02 DD 66 03 DD 75 FE DD 74 -R 00 00 01 00 -T 96 09 00 00 FF -R 00 00 01 00 -T 97 09 00 00 -R 00 00 01 00 -T 97 09 00 00 DD 6E FE DD 66 FF AF B6 28 43 DD -R 00 00 01 00 -T A2 09 00 00 6E FE DD 66 FF 7E FE 0A 28 38 DD -R 00 00 01 00 -T AD 09 00 00 6E FE DD 66 FF 7E FE 3A 28 2D -R 00 00 01 00 -T B7 09 00 00 -R 00 00 01 00 -T B7 09 00 00 -R 00 00 01 00 -T B7 09 00 00 -R 00 00 01 00 -T B7 09 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD -R 00 00 01 00 -T C2 09 00 00 74 FF 2B 7E FE 7C 20 18 DD 4E 04 -R 00 00 01 00 -T CD 09 00 00 DD 46 05 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T D7 09 00 00 EA 09 00 00 7D B4 20 05 -R 00 00 01 00 00 04 01 00 -T DD 09 00 00 -R 00 00 01 00 -T DD 09 00 00 -R 00 00 01 00 -T DD 09 00 00 -R 00 00 01 00 -T DD 09 00 00 21 01 00 18 05 -R 00 00 01 00 -T E2 09 00 00 -R 00 00 01 00 -T E2 09 00 00 18 B3 -R 00 00 01 00 -T E4 09 00 00 -R 00 00 01 00 -T E4 09 00 00 21 00 00 -R 00 00 01 00 -T E7 09 00 00 -R 00 00 01 00 -T E7 09 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T EA 09 00 00 -R 00 00 01 00 -T EA 09 00 00 CD 00 00 00 00 FC FF -R 00 00 01 00 02 05 13 00 -T EF 09 00 00 -R 00 00 01 00 -T EF 09 00 00 -R 00 00 01 00 -T EF 09 00 00 AF 3C CA A3 0A 00 00 -R 00 00 01 00 00 07 01 00 -T F4 09 00 00 -R 00 00 01 00 -T F4 09 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T FF 09 00 00 74 03 2B 4E 06 00 DD 71 FC DD 70 -R 00 00 01 00 -T 0A 0A 00 00 FD DD 6E 04 DD 66 05 23 DD 75 04 -R 00 00 01 00 -T 15 0A 00 00 DD 74 05 2B 4E 06 00 DD 71 FE DD -R 00 00 01 00 -T 20 0A 00 00 70 FF -R 00 00 01 00 -T 22 0A 00 00 -R 00 00 01 00 -T 22 0A 00 00 3E 5C DD AE FC DD B6 FD 20 3E DD -R 00 00 01 00 -T 2D 0A 00 00 6E 02 DD 66 03 7E FE 0A 20 33 -R 00 00 01 00 -T 37 0A 00 00 -R 00 00 01 00 -T 37 0A 00 00 -R 00 00 01 00 -T 37 0A 00 00 -R 00 00 01 00 -T 37 0A 00 00 DD 34 02 20 03 DD 34 03 -R 00 00 01 00 -T 3F 0A 00 00 -R 00 00 01 00 -T 3F 0A 00 00 -R 00 00 01 00 -T 3F 0A 00 00 DD 6E 02 DD 66 03 23 DD 75 02 DD -R 00 00 01 00 -T 4A 0A 00 00 74 03 2B 4E 06 00 DD 71 FC DD 70 -R 00 00 01 00 -T 55 0A 00 00 FD 3E 20 A9 B0 28 0A 3E 09 DD AE -R 00 00 01 00 -T 60 0A 00 00 FC DD B6 FD 20 02 -R 00 00 01 00 -T 66 0A 00 00 -R 00 00 01 00 -T 66 0A 00 00 -R 00 00 01 00 -T 66 0A 00 00 -R 00 00 01 00 -T 66 0A 00 00 18 D7 -R 00 00 01 00 -T 68 0A 00 00 -R 00 00 01 00 -T 68 0A 00 00 18 B8 -R 00 00 01 00 -T 6A 0A 00 00 -R 00 00 01 00 -T 6A 0A 00 00 DD 7E FE DD B6 FF 20 1B -R 00 00 01 00 -T 72 0A 00 00 -R 00 00 01 00 -T 72 0A 00 00 3E 7C DD AE FC DD B6 FD 28 0A 3E -R 00 00 01 00 -T 7D 0A 00 00 3A DD AE FC DD B6 FD 20 05 -R 00 00 01 00 -T 86 0A 00 00 -R 00 00 01 00 -T 86 0A 00 00 -R 00 00 01 00 -T 86 0A 00 00 -R 00 00 01 00 -T 86 0A 00 00 21 00 00 18 1B -R 00 00 01 00 -T 8B 0A 00 00 -R 00 00 01 00 -T 8B 0A 00 00 18 16 -R 00 00 01 00 -T 8D 0A 00 00 -R 00 00 01 00 -T 8D 0A 00 00 DD 6E FE DD 66 FF DD 4E FC DD 46 -R 00 00 01 00 -T 98 0A 00 00 FD A7 ED 42 28 02 -R 00 00 01 00 -T 9E 0A 00 00 -R 00 00 01 00 -T 9E 0A 00 00 18 03 -R 00 00 01 00 -T A0 0A 00 00 -R 00 00 01 00 -T A0 0A 00 00 C3 EF 09 00 00 -R 00 00 01 00 00 05 01 00 -T A3 0A 00 00 -R 00 00 01 00 -T A3 0A 00 00 21 01 00 -R 00 00 01 00 -T A6 0A 00 00 -R 00 00 01 00 -T A6 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T A9 0A 00 00 -R 00 00 01 00 -T A9 0A 00 00 CD 00 00 00 00 F8 FF 0A 6F 03 0A -R 00 00 01 00 02 05 13 00 -T B2 0A 00 00 67 DD 75 FE DD 74 FF DD 7E 08 DD -R 00 00 01 00 -T BD 0A 00 00 B6 09 20 14 -R 00 00 01 00 -T C1 0A 00 00 -R 00 00 01 00 -T C1 0A 00 00 21 04 00 DD 4E 04 DD 46 05 09 46 -R 00 00 01 00 -T CC 0A 00 00 23 66 68 DD 75 08 DD 74 09 -R 00 00 01 00 -T D5 0A 00 00 -R 00 00 01 00 -T D5 0A 00 00 -R 00 00 01 00 -T D5 0A 00 00 AF 3C CA CC 0C 00 00 -R 00 00 01 00 00 07 01 00 -T DA 0A 00 00 -R 00 00 01 00 -T DA 0A 00 00 DD 6E 08 DD 66 09 DD 75 FA DD 74 -R 00 00 01 00 -T E5 0A 00 00 FB -R 00 00 01 00 -T E6 0A 00 00 -R 00 00 01 00 -T E6 0A 00 00 DD 6E FA DD 66 FB AF B6 28 15 DD -R 00 00 01 00 -T F1 0A 00 00 6E FA DD 66 FB 7E FE 0A 28 0A -R 00 00 01 00 -T FB 0A 00 00 -R 00 00 01 00 -T FB 0A 00 00 -R 00 00 01 00 -T FB 0A 00 00 -R 00 00 01 00 -T FB 0A 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 03 0B 00 00 -R 00 00 01 00 -T 03 0B 00 00 18 E1 -R 00 00 01 00 -T 05 0B 00 00 -R 00 00 01 00 -T 05 0B 00 00 DD 6E FA DD 66 FB AF B6 28 03 -R 00 00 01 00 -T 0F 0B 00 00 -R 00 00 01 00 -T 0F 0B 00 00 C3 CC 0C 00 00 -R 00 00 01 00 00 05 01 00 -T 12 0B 00 00 -R 00 00 01 00 -T 12 0B 00 00 21 06 00 DD 4E 04 DD 46 05 09 7E -R 00 00 01 00 -T 1D 0B 00 00 23 B6 28 18 -R 00 00 01 00 -T 21 0B 00 00 -R 00 00 01 00 -T 21 0B 00 00 21 08 00 DD 4E 04 DD 46 05 09 46 -R 00 00 01 00 -T 2C 0B 00 00 23 66 68 DD 4E FE DD 46 FF 09 C3 -R 00 00 01 00 -T 37 0B 00 00 D3 0C 00 00 -R 00 00 01 00 00 04 01 00 -T 39 0B 00 00 -R 00 00 01 00 -T 39 0B 00 00 21 04 00 DD 4E 04 DD 46 05 09 46 -R 00 00 01 00 -T 44 0B 00 00 23 66 68 DD 4E FE DD 46 FF A7 ED -R 00 00 01 00 -T 4F 0B 00 00 42 C2 E7 0B 00 00 -R 00 00 01 00 00 06 01 00 -T 53 0B 00 00 -R 00 00 01 00 -T 53 0B 00 00 21 08 00 DD 4E 04 DD 46 05 09 56 -R 00 00 01 00 -T 5E 0B 00 00 23 66 6A E5 03 03 69 60 4E 23 46 -R 00 00 01 00 -T 69 0B 00 00 E1 A7 ED 42 20 76 -R 00 00 01 00 -T 6F 0B 00 00 -R 00 00 01 00 -T 6F 0B 00 00 DD 6E 04 DD 66 05 23 23 06 01 CD -R 00 00 01 00 -T 7A 0B 00 00 00 00 00 00 DD 6E 04 DD 66 05 23 -R 00 00 01 00 02 04 00 00 -T 83 0B 00 00 23 4E 23 46 03 DD 5E FE DD 56 FF -R 00 00 01 00 -T 8E 0B 00 00 CD 3D 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 00 05 01 00 -T 97 0B 00 00 21 04 00 DD 4E 04 DD 46 05 09 E5 -R 00 00 01 00 -T A2 0B 00 00 DD 5E FE DD 56 FF 21 04 00 09 7E -R 00 00 01 00 -T AD 0B 00 00 23 66 6F A7 ED 52 DD 5E FC DD 56 -R 00 00 01 00 -T B8 0B 00 00 FD 19 4D 44 E1 71 23 70 DD 4E FE -R 00 00 01 00 -T C3 0B 00 00 DD 46 FF DD 6E 08 DD 66 09 A7 ED -R 00 00 01 00 -T CE 0B 00 00 42 19 DD 75 08 DD 74 09 DD 73 FE -R 00 00 01 00 -T D9 0B 00 00 DD 72 FF DD 6E 04 DD 66 05 73 23 -R 00 00 01 00 -T E4 0B 00 00 72 -R 00 00 01 00 -T E5 0B 00 00 -R 00 00 01 00 -T E5 0B 00 00 18 6A -R 00 00 01 00 -T E7 0B 00 00 -R 00 00 01 00 -T E7 0B 00 00 DD 4E FE DD 46 FF 21 04 00 DD 5E -R 00 00 01 00 -T F2 0B 00 00 04 DD 56 05 19 7E 23 66 6F A7 ED -R 00 00 01 00 -T FD 0B 00 00 42 4D 44 21 10 00 39 7E 91 77 23 -R 00 00 01 00 -T 08 0C 00 00 7E 98 77 DD 4E FE DD 46 FF 21 -R 00 00 01 00 -T 12 0C 00 00 04 00 19 7E 23 66 6F A7 ED 42 4D -R 00 00 01 00 -T 1D 0C 00 00 44 21 08 00 19 7E 91 77 23 7E 98 -R 00 00 01 00 -T 28 0C 00 00 77 2B 6E 67 E5 21 04 00 19 4E 23 -R 00 00 01 00 -T 33 0C 00 00 46 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 3B 0C 00 00 00 00 00 00 F1 21 04 00 DD 4E 04 -R 00 00 01 00 02 04 04 00 -T 44 0C 00 00 DD 46 05 09 DD 4E FE DD 46 FF 71 -R 00 00 01 00 -T 4F 0C 00 00 23 70 -R 00 00 01 00 -T 51 0C 00 00 -R 00 00 01 00 -T 51 0C 00 00 21 08 00 DD 4E 04 DD 46 05 09 5E -R 00 00 01 00 -T 5C 0C 00 00 23 56 03 03 0A 6F 03 0A 67 A7 ED -R 00 00 01 00 -T 67 0C 00 00 52 E5 21 08 00 DD 4E 04 DD 46 05 -R 00 00 01 00 -T 72 0C 00 00 09 46 23 66 68 DD 4E FE DD 46 FF -R 00 00 01 00 -T 7D 0C 00 00 09 4D 44 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 87 0C 00 00 00 00 00 00 F1 DD 75 F8 DD 74 F9 -R 00 00 01 00 02 04 0B 00 -T 90 0C 00 00 7D B4 20 0F -R 00 00 01 00 -T 94 0C 00 00 -R 00 00 01 00 -T 94 0C 00 00 21 06 00 DD 4E 04 DD 46 05 09 36 -R 00 00 01 00 -T 9F 0C 00 00 01 23 36 00 -R 00 00 01 00 -T A3 0C 00 00 -R 00 00 01 00 -T A3 0C 00 00 21 08 00 DD 4E 04 DD 46 05 09 7E -R 00 00 01 00 -T AE 0C 00 00 DD 86 F8 77 23 7E DD 8E F9 77 21 -R 00 00 01 00 -T B9 0C 00 00 08 00 09 46 23 66 68 DD 4E FE DD -R 00 00 01 00 -T C4 0C 00 00 46 FF 09 36 00 C3 D5 0A 00 00 -R 00 00 01 00 00 0A 01 00 -T CC 0C 00 00 -R 00 00 01 00 -T CC 0C 00 00 DD 6E FA DD 66 FB 23 -R 00 00 01 00 -T D3 0C 00 00 -R 00 00 01 00 -T D3 0C 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 76 69 72 74 75 61 6C 20 6D 65 6D -R 00 00 02 00 -T 0B 00 00 00 6F 72 79 20 65 78 68 61 75 73 74 -R 00 00 02 00 -T 16 00 00 00 65 64 0A 00 -R 00 00 02 00 -T 1A 00 00 00 -R 00 00 02 00 -T 1A 00 00 00 54 45 52 4D 00 -R 00 00 02 00 -T 1F 00 00 00 -R 00 00 02 00 -T 1F 00 00 00 54 45 52 4D 43 41 50 00 -R 00 00 02 00 -T 27 00 00 00 -R 00 00 02 00 -T 27 00 00 00 74 63 00 -R 00 00 02 00 -T 2A 00 00 00 -R 00 00 02 00 -T 2A 00 00 00 2F 65 74 63 2F 74 65 72 6D 63 61 -R 00 00 02 00 -T 35 00 00 00 70 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 06 00 00 00 -R 00 00 03 00 -T 06 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 1C 00 00 00 -R 00 00 04 00 -T 1C 00 00 00 -R 00 00 04 00 -T 00 00 00 00 20 07 08 20 20 1B 0C 20 20 20 20 -R 00 00 05 00 -T 0B 00 00 00 20 20 20 0A 20 20 20 0D 20 20 20 -R 00 00 05 00 -T 16 00 00 00 0B 20 20 20 20 00 00 00 32 00 -R 00 00 05 00 -T 20 00 00 00 4B 00 6E 00 87 00 96 00 FE FF -R 00 00 05 00 -T 2A 00 00 00 FD FF FA FF F4 FF EE FF E8 FF -R 00 00 05 00 -T 34 00 00 00 D0 FF A0 FF 40 FF 80 FE -R 00 00 05 00 diff --git a/src/nos/lib/crt_large_lib/tmpnam.rel b/src/nos/lib/crt_large_lib/tmpnam.rel deleted file mode 100644 index 60bd9fc5..00000000 --- a/src/nos/lib/crt_large_lib/tmpnam.rel +++ /dev/null @@ -1,77 +0,0 @@ -XL4 -H 4 areas B global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ?L_ADDASG_L03 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _ultoa Ref00000000 -S _strcpy Ref00000000 -S _access Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 81 flags 0 -S _tmpnam Def0000004A -A CSTR size 6 flags 0 -A UDATA0 size 44 flags 0 -S __tmpnum Def00000040 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 7B B2 20 08 -R 00 00 01 00 02 05 05 00 -T 07 00 00 00 -R 00 00 01 00 -T 07 00 00 00 DD 36 02 00 00 00 00 DD 36 03 -R 00 00 01 00 09 07 03 00 -T 0E 00 00 00 00 00 00 00 -R 00 00 01 00 89 04 03 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 01 00 00 00 00 DD 5E 02 DD 56 03 -R 00 00 01 00 00 05 02 00 -T 18 00 00 00 CD 00 00 00 00 21 0A 00 E5 DD 5E -R 00 00 01 00 02 05 07 00 -T 21 00 00 00 02 DD 56 03 CD 00 00 00 00 DD 4E -R 00 00 01 00 02 09 01 00 -T 2A 00 00 00 02 DD 46 03 09 E5 DD 4E 0A DD 46 -R 00 00 01 00 -T 35 00 00 00 0B DD 5E 08 DD 56 09 CD -R 00 00 01 00 -T 3D 00 00 00 00 00 00 00 F1 F1 DD 6E 02 DD 66 -R 00 00 01 00 02 04 06 00 -T 46 00 00 00 03 C3 00 00 00 00 -R 00 00 01 00 02 06 02 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 -R 00 00 01 00 -T 4D 00 00 00 21 40 00 00 00 01 00 00 11 0D 00 -R 00 00 01 00 00 05 03 00 -T 56 00 00 00 CD 00 00 00 00 C5 D5 DD 5E 02 DD -R 00 00 01 00 02 05 03 00 -T 5F 00 00 00 56 03 CD 00 00 00 00 F1 F1 DD 75 -R 00 00 01 00 00 07 01 00 -T 68 00 00 00 02 DD 74 03 01 00 00 EB CD -R 00 00 01 00 -T 71 00 00 00 00 00 00 00 7D A4 3C 20 D5 -R 00 00 01 00 02 04 08 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 DD 6E 02 DD 66 03 C3 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2F 74 6D 70 2F 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 40 00 00 00 -R 00 00 03 00 -T 40 00 00 00 -R 00 00 03 00 diff --git a/src/nos/lib/crt_large_lib/tparam.rel b/src/nos/lib/crt_large_lib/tparam.rel deleted file mode 100644 index cb45e2e6..00000000 --- a/src/nos/lib/crt_large_lib/tparam.rel +++ /dev/null @@ -1,677 +0,0 @@ -XL4 -H 4 areas 19 global symbols -S ?S_LSHASG_L02 Ref00000000 -S ?CL64180L_4_06_L00 Ref00000000 -S ?S_MULASG_L02 Ref00000000 -S ?S_V_SWITCH_L06 Ref00000000 -S _memcpy Ref00000000 -S ?SS_MODASG_L02 Ref00000000 -S ?SS_DIVASG_L02 Ref00000000 -S _strcat Ref00000000 -S _strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _realloc Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _write Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?SS_MOD_L02 Ref00000000 -S ?SS_DIV_L02 Ref00000000 -S _malloc Ref00000000 -S _exit Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6CD flags 0 -S _tparam Def00000061 -S _tgoto Def00000082 -A CSTR size 1A flags 0 -A UDATA0 size 36 flags 0 -S __UP Def00000002 -S __BC Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C5 D5 21 19 00 E5 01 00 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 09 00 00 00 11 02 00 CD 00 00 00 00 F1 11 -R 00 00 01 00 02 08 0D 00 -T 11 00 00 00 01 00 CD 00 00 00 00 D1 C1 C9 -R 00 00 01 00 02 07 14 00 -T 19 00 00 00 -R 00 00 01 00 -T 19 00 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 0E 00 -T 22 00 00 00 56 03 CD 00 00 00 00 DD 75 FE DD -R 00 00 01 00 02 07 13 00 -T 2B 00 00 00 74 FF 7D B4 20 03 -R 00 00 01 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 05 01 00 -T 34 00 00 00 -R 00 00 01 00 -T 34 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 09 00 -T 3D 00 00 00 -R 00 00 01 00 -T 3D 00 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 0E 00 -T 46 00 00 00 56 03 CD 00 00 00 00 DD 75 FE DD -R 00 00 01 00 02 07 0B 00 -T 4F 00 00 00 74 FF 7D B4 20 03 -R 00 00 01 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 05 01 00 -T 58 00 00 00 -R 00 00 01 00 -T 58 00 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 09 00 -T 61 00 00 00 -R 00 00 01 00 -T 61 00 00 00 CD 00 00 00 00 21 0A 00 39 E5 21 -R 00 00 01 00 02 05 0C 00 -T 6A 00 00 00 00 00 E5 21 00 00 E5 DD 6E 08 DD -R 00 00 01 00 -T 75 00 00 00 66 09 E5 CD D0 00 00 00 F1 F1 F1 -R 00 00 01 00 00 08 01 00 -T 7E 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 09 00 -T 82 00 00 00 -R 00 00 01 00 -T 82 00 00 00 CD 00 00 00 00 FC FF DD 7E 02 DD -R 00 00 01 00 02 05 0E 00 -T 8B 00 00 00 B6 03 20 05 -R 00 00 01 00 -T 8F 00 00 00 -R 00 00 01 00 -T 8F 00 00 00 21 00 00 18 39 -R 00 00 01 00 -T 94 00 00 00 -R 00 00 01 00 -T 94 00 00 00 DD 6E 08 DD 66 09 DD 75 FC DD 74 -R 00 00 01 00 -T 9F 00 00 00 FD DD 6E 04 DD 66 05 DD 75 FE DD -R 00 00 01 00 -T AA 00 00 00 74 FF 21 00 00 39 E5 2A -R 00 00 01 00 -T B2 00 00 00 00 00 00 00 E5 2A 02 00 00 00 E5 -R 00 00 01 00 00 04 03 00 00 0A 03 00 -T B9 00 00 00 21 32 00 E5 01 04 00 00 00 DD 5E -R 00 00 01 00 00 09 03 00 -T C2 00 00 00 02 DD 56 03 CD D0 00 00 00 F1 F1 -R 00 00 01 00 00 09 01 00 -T CB 00 00 00 F1 F1 -R 00 00 01 00 -T CD 00 00 00 -R 00 00 01 00 -T CD 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 09 00 -T D0 00 00 00 -R 00 00 01 00 -T D0 00 00 00 CD 00 00 00 00 EC FF DD 6E 02 DD -R 00 00 01 00 02 05 0E 00 -T D9 00 00 00 66 03 DD 75 F0 DD 74 F1 DD 71 F2 -R 00 00 01 00 -T E4 00 00 00 DD 70 F3 DD 6E 0E DD 66 0F DD 75 -R 00 00 01 00 -T EF 00 00 00 F4 DD 74 F5 AF DD 77 F6 DD 77 F7 -R 00 00 01 00 -T FA 00 00 00 AF DD 77 F8 DD 77 F9 AF DD 77 FA -R 00 00 01 00 -T 05 01 00 00 DD 77 FB DD 6E 08 DD 66 09 DD 4E -R 00 00 01 00 -T 10 01 00 00 04 DD 46 05 09 DD 75 FC DD 74 FD -R 00 00 01 00 -T 1B 01 00 00 -R 00 00 01 00 -T 1B 01 00 00 AF 3C CA 6E 06 00 00 -R 00 00 01 00 00 07 01 00 -T 20 01 00 00 -R 00 00 01 00 -T 20 01 00 00 21 05 00 DD 4E F2 DD 46 F3 09 DD -R 00 00 01 00 -T 2B 01 00 00 4E FC DD 46 FD A7 ED 42 DA -R 00 00 01 00 -T 34 01 00 00 F4 01 00 00 -R 00 00 01 00 00 04 01 00 -T 36 01 00 00 -R 00 00 01 00 -T 36 01 00 00 DD 7E F6 DD B6 F7 20 49 -R 00 00 01 00 -T 3E 01 00 00 -R 00 00 01 00 -T 3E 01 00 00 21 28 00 DD 4E 08 DD 46 09 09 DD -R 00 00 01 00 -T 49 01 00 00 75 F6 DD 74 F7 EB CD 19 00 00 00 -R 00 00 01 00 00 0B 01 00 -T 52 01 00 00 DD 75 FE DD 74 FF 21 10 00 39 7E -R 00 00 01 00 -T 5D 01 00 00 C6 28 77 23 7E CE 00 77 DD 4E 04 -R 00 00 01 00 -T 68 01 00 00 DD 46 05 DD 6E F2 DD 66 F3 A7 ED -R 00 00 01 00 -T 73 01 00 00 42 E5 DD 4E 04 DD 46 05 DD 5E FE -R 00 00 01 00 -T 7E 01 00 00 DD 56 FF CD 00 00 00 00 F1 18 29 -R 00 00 01 00 02 08 04 00 -T 87 01 00 00 -R 00 00 01 00 -T 87 01 00 00 21 10 00 39 7E DD 86 F6 77 23 7E -R 00 00 01 00 -T 92 01 00 00 DD 8E F7 77 21 0A 00 39 06 01 CD -R 00 00 01 00 -T 9D 01 00 00 00 00 00 00 4B 42 DD 5E 04 DD 56 -R 00 00 01 00 02 04 00 00 -T A6 01 00 00 05 CD 3D 00 00 00 DD 75 FE DD 74 -R 00 00 01 00 00 06 01 00 -T AF 01 00 00 FF -R 00 00 01 00 -T B0 01 00 00 -R 00 00 01 00 -T B0 01 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 -R 00 00 01 00 -T BB 01 00 00 FF A7 ED 42 4D 44 21 06 00 39 7E -R 00 00 01 00 -T C6 01 00 00 81 77 23 7E 88 77 DD 4E 04 DD 46 -R 00 00 01 00 -T D1 01 00 00 05 DD 6E FE DD 66 FF A7 ED 42 4D -R 00 00 01 00 -T DC 01 00 00 44 21 10 00 39 7E 81 77 23 7E 88 -R 00 00 01 00 -T E7 01 00 00 77 DD 6E FE DD 66 FF DD 75 04 DD -R 00 00 01 00 -T F2 01 00 00 74 05 -R 00 00 01 00 -T F4 01 00 00 -R 00 00 01 00 -T F4 01 00 00 DD 6E F0 DD 66 F1 23 DD 75 F0 DD -R 00 00 01 00 -T FF 01 00 00 74 F1 2B 4E 06 00 DD 71 EC DD 70 -R 00 00 01 00 -T 0A 02 00 00 ED 79 B0 20 03 -R 00 00 01 00 -T 0F 02 00 00 -R 00 00 01 00 -T 0F 02 00 00 C3 6E 06 00 00 -R 00 00 01 00 00 05 01 00 -T 12 02 00 00 -R 00 00 01 00 -T 12 02 00 00 3E 25 DD AE EC DD B6 ED C2 -R 00 00 01 00 -T 1B 02 00 00 59 06 00 00 -R 00 00 01 00 00 04 01 00 -T 1D 02 00 00 -R 00 00 01 00 -T 1D 02 00 00 DD 6E F0 DD 66 F1 23 DD 75 F0 DD -R 00 00 01 00 -T 28 02 00 00 74 F1 2B 4E 06 00 DD 71 EC DD 70 -R 00 00 01 00 -T 33 02 00 00 ED DD 6E 0E DD 66 0F 56 23 66 6A -R 00 00 01 00 -T 3E 02 00 00 DD 75 EE DD 74 EF 59 50 CD -R 00 00 01 00 -T 47 02 00 00 00 00 00 00 11 00 25 00 2B 00 -R 00 00 01 00 02 04 03 00 -T 4F 02 00 00 2E 00 32 00 33 00 3E 00 42 00 -R 00 00 01 00 -T 59 02 00 00 43 00 44 00 61 00 62 00 64 00 -R 00 00 01 00 -T 63 02 00 00 66 00 69 00 6D 00 6E 00 72 00 -R 00 00 01 00 -T 6D 02 00 00 57 06 00 00 6C 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 71 02 00 00 D3 05 00 00 F5 05 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 75 02 00 00 B5 05 00 00 49 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 79 02 00 00 91 02 00 00 59 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 7D 02 00 00 E4 04 00 00 38 06 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 81 02 00 00 5C 03 00 00 17 06 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 85 02 00 00 A4 04 00 00 B8 02 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 89 02 00 00 0C 03 00 00 AE 03 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 8D 02 00 00 92 03 00 00 D0 05 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 91 02 00 00 -R 00 00 01 00 -T 91 02 00 00 01 0A 80 DD 6E EE DD 66 EF 3E 80 -R 00 00 01 00 -T 9C 02 00 00 AC 67 ED 42 30 03 -R 00 00 01 00 -T A2 02 00 00 -R 00 00 01 00 -T A2 02 00 00 C3 2E 03 00 00 -R 00 00 01 00 00 05 01 00 -T A5 02 00 00 -R 00 00 01 00 -T A5 02 00 00 01 64 80 DD 6E EE DD 66 EF 3E 80 -R 00 00 01 00 -T B0 02 00 00 AC 67 ED 42 30 02 -R 00 00 01 00 -T B6 02 00 00 -R 00 00 01 00 -T B6 02 00 00 18 54 -R 00 00 01 00 -T B8 02 00 00 -R 00 00 01 00 -T B8 02 00 00 -R 00 00 01 00 -T B8 02 00 00 DD 4E EE DD 46 EF 21 E7 03 CD -R 00 00 01 00 -T C2 02 00 00 00 00 00 00 30 28 -R 00 00 01 00 02 04 10 00 -T C6 02 00 00 -R 00 00 01 00 -T C6 02 00 00 01 E8 03 DD 5E EE DD 56 EF CD -R 00 00 01 00 -T D0 02 00 00 00 00 00 00 7B C6 30 DD 6E F2 DD -R 00 00 01 00 02 04 12 00 -T D9 02 00 00 66 F3 23 DD 75 F2 DD 74 F3 2B 77 -R 00 00 01 00 -T E4 02 00 00 21 02 00 39 01 E8 03 CD -R 00 00 01 00 -T EC 02 00 00 00 00 00 00 -R 00 00 01 00 02 04 05 00 -T EE 02 00 00 -R 00 00 01 00 -T EE 02 00 00 01 64 00 DD 5E EE DD 56 EF CD -R 00 00 01 00 -T F8 02 00 00 00 00 00 00 7B C6 30 DD 6E F2 DD -R 00 00 01 00 02 04 12 00 -T 01 03 00 00 66 F3 23 DD 75 F2 DD 74 F3 2B 77 -R 00 00 01 00 -T 0C 03 00 00 -R 00 00 01 00 -T 0C 03 00 00 -R 00 00 01 00 -T 0C 03 00 00 21 02 00 39 01 64 00 CD -R 00 00 01 00 -T 14 03 00 00 00 00 00 00 01 0A 00 CD -R 00 00 01 00 02 04 05 00 -T 1A 03 00 00 00 00 00 00 7B C6 30 DD 6E F2 DD -R 00 00 01 00 02 04 12 00 -T 23 03 00 00 66 F3 23 DD 75 F2 DD 74 F3 2B 77 -R 00 00 01 00 -T 2E 03 00 00 -R 00 00 01 00 -T 2E 03 00 00 01 0A 00 DD 5E EE DD 56 EF CD -R 00 00 01 00 -T 38 03 00 00 00 00 00 00 7B C6 30 DD 6E F2 DD -R 00 00 01 00 02 04 11 00 -T 41 03 00 00 66 F3 23 DD 75 F2 DD 74 F3 2B 77 -R 00 00 01 00 -T 4C 03 00 00 DD 7E 0E C6 02 DD 77 0E 30 03 DD -R 00 00 01 00 -T 57 03 00 00 34 0F -R 00 00 01 00 -T 59 03 00 00 -R 00 00 01 00 -T 59 03 00 00 C3 57 06 00 00 -R 00 00 01 00 00 05 01 00 -T 5C 03 00 00 -R 00 00 01 00 -T 5C 03 00 00 01 60 80 DD 6E EE DD 66 EF 3E 80 -R 00 00 01 00 -T 67 03 00 00 AC 67 ED 42 38 25 -R 00 00 01 00 -T 6D 03 00 00 -R 00 00 01 00 -T 6D 03 00 00 01 60 00 DD 5E EE DD 56 EF CD -R 00 00 01 00 -T 77 03 00 00 00 00 00 00 DD 6E F2 DD 66 F3 23 -R 00 00 01 00 02 04 12 00 -T 80 03 00 00 DD 75 F2 DD 74 F3 2B 73 21 02 00 -R 00 00 01 00 -T 8B 03 00 00 39 01 60 00 CD 00 00 00 00 -R 00 00 01 00 02 09 05 00 -T 92 03 00 00 -R 00 00 01 00 -T 92 03 00 00 -R 00 00 01 00 -T 92 03 00 00 DD 6E F0 DD 66 F1 23 DD 75 F0 DD -R 00 00 01 00 -T 9D 03 00 00 74 F1 2B 4E 06 00 21 02 00 39 7E -R 00 00 01 00 -T A8 03 00 00 81 77 23 7E 88 77 -R 00 00 01 00 -T AE 03 00 00 -R 00 00 01 00 -T AE 03 00 00 DD 7E 0C DD B6 0D 28 75 -R 00 00 01 00 -T B6 03 00 00 -R 00 00 01 00 -T B6 03 00 00 -R 00 00 01 00 -T B6 03 00 00 DD 7E EE DD B6 EF 28 14 3E 0A DD -R 00 00 01 00 -T C1 03 00 00 AE EE DD B6 EF 28 0A 3E 09 DD AE -R 00 00 01 00 -T CC 03 00 00 EE DD B6 EF 20 59 -R 00 00 01 00 -T D2 03 00 00 -R 00 00 01 00 -T D2 03 00 00 -R 00 00 01 00 -T D2 03 00 00 -R 00 00 01 00 -T D2 03 00 00 DD 34 EE 20 03 DD 34 EF -R 00 00 01 00 -T DA 03 00 00 -R 00 00 01 00 -T DA 03 00 00 DD 6E F4 DD 66 F5 DD 4E 0E DD 46 -R 00 00 01 00 -T E5 03 00 00 0F A7 ED 42 20 20 -R 00 00 01 00 -T EB 03 00 00 -R 00 00 01 00 -T EB 03 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T F3 03 00 00 -R 00 00 01 00 -T F3 03 00 00 DD 5E 0A DD 56 0B CD 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T FC 03 00 00 4D 44 21 10 00 39 7E 91 77 23 7E -R 00 00 01 00 -T 07 04 00 00 98 77 18 1E -R 00 00 01 00 -T 0B 04 00 00 -R 00 00 01 00 -T 0B 04 00 00 DD 34 F8 20 03 DD 34 F9 -R 00 00 01 00 -T 13 04 00 00 -R 00 00 01 00 -T 13 04 00 00 DD 5E 0C DD 56 0D CD 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T 1C 04 00 00 4D 44 21 10 00 39 7E 91 77 23 7E -R 00 00 01 00 -T 27 04 00 00 98 77 -R 00 00 01 00 -T 29 04 00 00 -R 00 00 01 00 -T 29 04 00 00 18 8B -R 00 00 01 00 -T 2B 04 00 00 -R 00 00 01 00 -T 2B 04 00 00 -R 00 00 01 00 -T 2B 04 00 00 DD 7E EE DD B6 EF 28 05 DD 7E EE -R 00 00 01 00 -T 36 04 00 00 18 02 -R 00 00 01 00 -T 38 04 00 00 -R 00 00 01 00 -T 38 04 00 00 3E 80 -R 00 00 01 00 -T 3A 04 00 00 -R 00 00 01 00 -T 3A 04 00 00 DD 6E F2 DD 66 F3 23 DD 75 F2 DD -R 00 00 01 00 -T 45 04 00 00 74 F3 2B 77 -R 00 00 01 00 -T 49 04 00 00 -R 00 00 01 00 -T 49 04 00 00 DD 7E 0E C6 02 DD 77 0E 30 03 DD -R 00 00 01 00 -T 54 04 00 00 34 0F -R 00 00 01 00 -T 56 04 00 00 -R 00 00 01 00 -T 56 04 00 00 C3 57 06 00 00 -R 00 00 01 00 00 05 01 00 -T 59 04 00 00 -R 00 00 01 00 -T 59 04 00 00 DD 7E 0E D6 02 DD 77 0E DD 7E 0F -R 00 00 01 00 -T 64 04 00 00 DE 00 DD 77 0F C3 57 06 00 00 -R 00 00 01 00 00 0A 01 00 -T 6C 04 00 00 -R 00 00 01 00 -T 6C 04 00 00 DD 6E 0E DD 66 0F 23 23 46 23 66 -R 00 00 01 00 -T 77 04 00 00 68 E5 DD 6E 0E DD 66 0F C1 71 23 -R 00 00 01 00 -T 82 04 00 00 70 DD 6E 0E DD 66 0F 23 23 DD 4E -R 00 00 01 00 -T 8D 04 00 00 EE DD 46 EF 71 23 70 DD 7E F4 C6 -R 00 00 01 00 -T 98 04 00 00 02 DD 77 F4 30 03 DD 34 F5 -R 00 00 01 00 -T A1 04 00 00 -R 00 00 01 00 -T A1 04 00 00 C3 57 06 00 00 -R 00 00 01 00 00 05 01 00 -T A4 04 00 00 -R 00 00 01 00 -T A4 04 00 00 DD 6E 0E DD 66 0F 4E 23 46 DD 6E -R 00 00 01 00 -T AF 04 00 00 F0 DD 66 F1 23 DD 75 F0 DD 74 F1 -R 00 00 01 00 -T BA 04 00 00 2B 6E 26 00 CD 00 00 00 00 30 16 -R 00 00 01 00 02 09 10 00 -T C3 04 00 00 -R 00 00 01 00 -T C3 04 00 00 DD 6E F0 DD 66 F1 4E 06 00 DD 6E -R 00 00 01 00 -T CE 04 00 00 0E DD 66 0F 7E 81 77 23 7E 88 77 -R 00 00 01 00 -T D9 04 00 00 -R 00 00 01 00 -T D9 04 00 00 DD 34 F0 20 03 DD 34 F1 -R 00 00 01 00 -T E1 04 00 00 -R 00 00 01 00 -T E1 04 00 00 C3 57 06 00 00 -R 00 00 01 00 00 05 01 00 -T E4 04 00 00 -R 00 00 01 00 -T E4 04 00 00 DD 6E F0 DD 66 F1 23 23 7E E6 7F -R 00 00 01 00 -T EF 04 00 00 4F 06 00 DD 71 EE DD 70 EF DD 6E -R 00 00 01 00 -T FA 04 00 00 F0 DD 66 F1 23 7E FE 70 20 1C -R 00 00 01 00 -T 04 05 00 00 -R 00 00 01 00 -T 04 05 00 00 DD 6E EE DD 66 EF 29 DD 4E 0E DD -R 00 00 01 00 -T 0F 05 00 00 46 0F 09 01 80 FF 09 46 23 66 68 -R 00 00 01 00 -T 1A 05 00 00 DD 75 EE DD 74 EF -R 00 00 01 00 -T 20 05 00 00 -R 00 00 01 00 -T 20 05 00 00 DD 6E F0 DD 66 F1 7E FE 2D 20 13 -R 00 00 01 00 -T 2B 05 00 00 -R 00 00 01 00 -T 2B 05 00 00 DD 6E 0E DD 66 0F 7E DD 96 EE 77 -R 00 00 01 00 -T 36 05 00 00 23 7E DD 9E EF 77 18 67 -R 00 00 01 00 -T 3E 05 00 00 -R 00 00 01 00 -T 3E 05 00 00 DD 6E F0 DD 66 F1 7E FE 2B 20 13 -R 00 00 01 00 -T 49 05 00 00 -R 00 00 01 00 -T 49 05 00 00 DD 6E 0E DD 66 0F 7E DD 86 EE 77 -R 00 00 01 00 -T 54 05 00 00 23 7E DD 8E EF 77 18 49 -R 00 00 01 00 -T 5C 05 00 00 -R 00 00 01 00 -T 5C 05 00 00 DD 6E F0 DD 66 F1 7E FE 2A 20 11 -R 00 00 01 00 -T 67 05 00 00 -R 00 00 01 00 -T 67 05 00 00 DD 4E EE DD 46 EF DD 6E 0E DD 66 -R 00 00 01 00 -T 72 05 00 00 0F CD 00 00 00 00 18 2D -R 00 00 01 00 02 06 02 00 -T 78 05 00 00 -R 00 00 01 00 -T 78 05 00 00 DD 6E F0 DD 66 F1 7E FE 2F 20 11 -R 00 00 01 00 -T 83 05 00 00 -R 00 00 01 00 -T 83 05 00 00 DD 4E EE DD 46 EF DD 6E 0E DD 66 -R 00 00 01 00 -T 8E 05 00 00 0F CD 00 00 00 00 18 11 -R 00 00 01 00 02 06 06 00 -T 94 05 00 00 -R 00 00 01 00 -T 94 05 00 00 DD 6E EE DD 66 EF E5 DD 6E 0E DD -R 00 00 01 00 -T 9F 05 00 00 66 0F C1 71 23 70 -R 00 00 01 00 -T A5 05 00 00 -R 00 00 01 00 -T A5 05 00 00 -R 00 00 01 00 -T A5 05 00 00 -R 00 00 01 00 -T A5 05 00 00 -R 00 00 01 00 -T A5 05 00 00 21 04 00 39 7E C6 03 77 23 7E CE -R 00 00 01 00 -T B0 05 00 00 00 77 C3 57 06 00 00 -R 00 00 01 00 00 07 01 00 -T B5 05 00 00 -R 00 00 01 00 -T B5 05 00 00 DD 6E 0E DD 66 0F 34 23 20 01 34 -R 00 00 01 00 -T C0 05 00 00 -R 00 00 01 00 -T C0 05 00 00 DD 6E 0E DD 66 0F 23 23 34 23 20 -R 00 00 01 00 -T CB 05 00 00 01 34 -R 00 00 01 00 -T CD 05 00 00 -R 00 00 01 00 -T CD 05 00 00 C3 57 06 00 00 -R 00 00 01 00 00 05 01 00 -T D0 05 00 00 -R 00 00 01 00 -T D0 05 00 00 C3 59 06 00 00 -R 00 00 01 00 00 05 01 00 -T D3 05 00 00 -R 00 00 01 00 -T D3 05 00 00 DD 6E 0E DD 66 0F 7E EE 60 77 23 -R 00 00 01 00 -T DE 05 00 00 7E EE 00 77 DD 6E 0E DD 66 0F 23 -R 00 00 01 00 -T E9 05 00 00 23 7E EE 60 77 23 7E EE 00 77 18 -R 00 00 01 00 -T F4 05 00 00 62 -R 00 00 01 00 -T F5 05 00 00 -R 00 00 01 00 -T F5 05 00 00 DD 6E 0E DD 66 0F 7E EE 7F 77 23 -R 00 00 01 00 -T 00 06 00 00 7E EE 00 77 DD 6E 0E DD 66 0F 23 -R 00 00 01 00 -T 0B 06 00 00 23 7E EE 7F 77 23 7E EE 00 77 18 -R 00 00 01 00 -T 16 06 00 00 40 -R 00 00 01 00 -T 17 06 00 00 -R 00 00 01 00 -T 17 06 00 00 01 0A 00 DD 5E EE DD 56 EF CD -R 00 00 01 00 -T 21 06 00 00 00 00 00 00 01 06 00 CD -R 00 00 01 00 02 04 12 00 -T 27 06 00 00 00 00 00 00 DD 6E 0E DD 66 0F 7E -R 00 00 01 00 02 04 0F 00 -T 30 06 00 00 83 77 23 7E 8A 77 18 1F -R 00 00 01 00 -T 38 06 00 00 -R 00 00 01 00 -T 38 06 00 00 01 10 00 DD 5E EE DD 56 EF CD -R 00 00 01 00 -T 42 06 00 00 00 00 00 00 EB 29 4D 44 DD 6E 0E -R 00 00 01 00 02 04 11 00 -T 4B 06 00 00 DD 66 0F 7E 91 77 23 7E 98 77 18 -R 00 00 01 00 -T 56 06 00 00 00 -R 00 00 01 00 -T 57 06 00 00 -R 00 00 01 00 -T 57 06 00 00 18 12 -R 00 00 01 00 -T 59 06 00 00 -R 00 00 01 00 -T 59 06 00 00 -R 00 00 01 00 -T 59 06 00 00 DD 46 EC DD 6E F2 DD 66 F3 23 DD -R 00 00 01 00 -T 64 06 00 00 75 F2 DD 74 F3 2B 70 -R 00 00 01 00 -T 6B 06 00 00 -R 00 00 01 00 -T 6B 06 00 00 C3 1B 01 00 00 -R 00 00 01 00 00 05 01 00 -T 6E 06 00 00 -R 00 00 01 00 -T 6E 06 00 00 DD 6E F2 DD 66 F3 36 00 -R 00 00 01 00 -T 76 06 00 00 -R 00 00 01 00 -T 76 06 00 00 DD 4E FA DD 46 FB 0B DD 71 FA DD -R 00 00 01 00 -T 81 06 00 00 70 FB 03 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 10 00 -T 8A 06 00 00 30 11 -R 00 00 01 00 -T 8C 06 00 00 -R 00 00 01 00 -T 8C 06 00 00 DD 4E 0A DD 46 0B DD 5E F2 DD 56 -R 00 00 01 00 -T 97 06 00 00 F3 CD 00 00 00 00 18 D9 -R 00 00 01 00 02 06 07 00 -T 9D 06 00 00 -R 00 00 01 00 -T 9D 06 00 00 -R 00 00 01 00 -T 9D 06 00 00 DD 4E F8 DD 46 F9 0B DD 71 F8 DD -R 00 00 01 00 -T A8 06 00 00 70 F9 03 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 10 00 -T B1 06 00 00 30 11 -R 00 00 01 00 -T B3 06 00 00 -R 00 00 01 00 -T B3 06 00 00 DD 4E 0C DD 46 0D DD 5E F2 DD 56 -R 00 00 01 00 -T BE 06 00 00 F3 CD 00 00 00 00 18 D9 -R 00 00 01 00 02 06 07 00 -T C4 06 00 00 -R 00 00 01 00 -T C4 06 00 00 DD 6E 04 DD 66 05 C3 00 00 00 00 -R 00 00 01 00 02 0B 09 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 76 69 72 74 75 61 6C 20 6D 65 6D -R 00 00 02 00 -T 0B 00 00 00 6F 72 79 20 65 78 68 61 75 73 74 -R 00 00 02 00 -T 16 00 00 00 65 64 0A 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 -T 04 00 00 00 -R 00 00 03 00 diff --git a/src/nos/lib/crt_large_lib/ttyname.rel b/src/nos/lib/crt_large_lib/ttyname.rel deleted file mode 100644 index 6796dd23..00000000 --- a/src/nos/lib/crt_large_lib/ttyname.rel +++ /dev/null @@ -1,149 +0,0 @@ -XL4 -H 6 areas F global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _strcat Ref00000000 -S _closedir Ref00000000 -S _strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _readdir Ref00000000 -S _isatty Ref00000000 -S _Curproc Ref00000000 -S .__.ABS. Def00000000 -S _fstat Ref00000000 -S _strcpy Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _opendir Ref00000000 -S _stat Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11F flags 0 -S _ttyname Def00000000 -A CSTR size 2 flags 0 -A UDATA0 size E flags 0 -A IDATA0 size 5 flags 0 -A CDATA0 size 5 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 BC FF AF DD 77 FA -R 00 00 01 00 02 05 0B 00 -T 09 00 00 00 DD 77 FB 21 4B 00 ED 4B -R 00 00 01 00 -T 11 00 00 00 00 00 00 00 09 46 23 66 68 DD 75 -R 00 00 01 00 02 04 07 00 -T 1A 00 00 00 FE DD 74 FF 21 00 00 39 4D 44 DD -R 00 00 01 00 -T 25 00 00 00 5E 02 DD 56 03 CD 00 00 00 00 CB -R 00 00 01 00 02 0A 09 00 -T 2E 00 00 00 7C 28 06 -R 00 00 01 00 -T 31 00 00 00 -R 00 00 01 00 -T 31 00 00 00 21 00 00 C3 1C 01 00 00 -R 00 00 01 00 00 08 01 00 -T 37 00 00 00 -R 00 00 01 00 -T 37 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T 40 00 00 00 7D B4 20 13 -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 07 00 -T 4D 00 00 00 19 23 36 00 21 00 00 C3 -R 00 00 01 00 -T 55 00 00 00 1C 01 00 00 -R 00 00 01 00 00 04 01 00 -T 57 00 00 00 -R 00 00 01 00 -T 57 00 00 00 11 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 04 00 02 0A 0C 00 -T 5E 00 00 00 75 FC DD 74 FD 7D B4 20 06 -R 00 00 01 00 -T 67 00 00 00 -R 00 00 01 00 -T 67 00 00 00 21 00 00 C3 1C 01 00 00 -R 00 00 01 00 00 08 01 00 -T 6D 00 00 00 -R 00 00 01 00 -T 6D 00 00 00 01 00 00 00 00 11 00 00 00 00 CD -R 00 00 01 00 00 05 04 00 00 0A 03 00 -T 74 00 00 00 00 00 00 00 01 00 00 00 00 11 -R 00 00 01 00 02 04 0A 00 00 09 02 00 -T 7A 00 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 04 03 00 02 09 01 00 -T 7F 00 00 00 -R 00 00 01 00 -T 7F 00 00 00 DD 5E FC DD 56 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 88 00 00 00 DD 75 F8 DD 74 F9 7D B4 28 6A -R 00 00 01 00 -T 92 00 00 00 -R 00 00 01 00 -T 92 00 00 00 21 06 00 DD 4E F8 DD 46 F9 09 EB -R 00 00 01 00 -T 9D 00 00 00 CD 00 00 00 00 4D 44 21 08 00 A7 -R 00 00 01 00 02 05 03 00 -T A6 00 00 00 ED 42 30 02 -R 00 00 01 00 -T AA 00 00 00 -R 00 00 01 00 -T AA 00 00 00 18 D3 -R 00 00 01 00 -T AC 00 00 00 -R 00 00 01 00 -T AC 00 00 00 21 06 00 DD 4E F8 DD 46 F9 09 4D -R 00 00 01 00 -T B7 00 00 00 44 11 05 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 0A 00 -T BE 00 00 00 21 1E 00 39 4D 44 11 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T C7 00 00 00 CD 00 00 00 00 7D B4 20 2C DD 6E -R 00 00 01 00 02 05 0D 00 -T D0 00 00 00 BC DD 66 BD DD 4E DA DD 46 DB A7 -R 00 00 01 00 -T DB 00 00 00 ED 42 20 1B DD 6E BE DD 66 BF DD -R 00 00 01 00 -T E6 00 00 00 4E DC DD 46 DD A7 ED 42 20 0A -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 DD 36 FA 00 00 00 00 DD 36 FB -R 00 00 01 00 09 07 03 00 -T F7 00 00 00 00 00 00 00 18 02 -R 00 00 01 00 89 04 03 00 -T FA 00 00 00 -R 00 00 01 00 -T FA 00 00 00 18 83 -R 00 00 01 00 -T FC 00 00 00 -R 00 00 01 00 -T FC 00 00 00 DD 5E FC DD 56 FD CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 05 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 DD -R 00 00 01 00 02 09 07 00 -T 0E 01 00 00 4E FE DD 46 FF 71 23 70 DD 6E FA -R 00 00 01 00 -T 19 01 00 00 DD 66 FB -R 00 00 01 00 -T 1C 01 00 00 -R 00 00 01 00 -T 1C 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 2F 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 2F 64 65 76 00 -R 00 00 05 00 diff --git a/src/nos/lib/crt_large_lib/tzset.rel b/src/nos/lib/crt_large_lib/tzset.rel deleted file mode 100644 index ce0197b5..00000000 --- a/src/nos/lib/crt_large_lib/tzset.rel +++ /dev/null @@ -1,95 +0,0 @@ -XL4 -H 6 areas F global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _getenv Ref00000000 -S _memcpy Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?L_MUL_L03 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S _atoi Ref00000000 -S ?SS_MOD_L02 Ref00000000 -S ?SS_DIV_L02 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 96 flags 0 -S _tzset Def00000000 -A CSTR size B flags 0 -A UDATA0 size 6 flags 0 -S _daylight Def00000000 -S _timezone Def00000002 -A IDATA0 size 4 flags 0 -S _tzname Def00000000 -A CDATA0 size 4 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 11 -R 00 00 01 00 02 05 06 00 -T 06 00 00 00 08 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 00 04 02 00 02 09 01 00 -T 0D 00 00 00 FC DD 74 FD 7D B4 20 1E -R 00 00 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 21 03 00 E5 01 00 00 00 00 ED 5B -R 00 00 01 00 00 09 02 00 -T 1E 00 00 00 02 00 00 00 CD 00 00 00 00 F1 01 -R 00 00 01 00 00 04 04 00 02 09 02 00 -T 25 00 00 00 00 00 21 30 2A 22 02 00 00 00 ED -R 00 00 01 00 00 0A 03 00 -T 2E 00 00 00 43 04 00 00 00 18 60 -R 00 00 01 00 00 05 03 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 21 03 00 E5 DD 4E FC DD 46 FD ED -R 00 00 01 00 -T 3E 00 00 00 5B 02 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 00 05 04 00 02 0A 02 00 -T 45 00 00 00 DD 5E FC DD 56 FD 13 13 13 CD -R 00 00 01 00 -T 4F 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 01 -R 00 00 01 00 02 04 08 00 -T 58 00 00 00 64 00 EB CD 00 00 00 00 01 3C 00 -R 00 00 01 00 02 08 0A 00 -T 61 00 00 00 CD 00 00 00 00 D5 01 64 00 DD 5E -R 00 00 01 00 02 05 07 00 -T 6A 00 00 00 FE DD 56 FF CD 00 00 00 00 EB D1 -R 00 00 01 00 02 09 09 00 -T 73 00 00 00 19 EB AF 93 5F 3E 00 9A 57 7A 07 -R 00 00 01 00 -T 7E 00 00 00 9F 4F 41 C5 D5 01 00 00 21 3C 00 -R 00 00 01 00 -T 89 00 00 00 CD 00 00 00 00 22 02 00 00 00 ED -R 00 00 01 00 02 05 05 00 00 0A 03 00 -T 90 00 00 00 43 04 00 00 00 -R 00 00 01 00 00 05 03 00 -T 93 00 00 00 -R 00 00 01 00 -T 93 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 47 4D 54 00 -R 00 00 02 00 -T 04 00 00 00 -R 00 00 02 00 -T 04 00 00 00 00 00 00 00 -R 00 00 02 00 -T 08 00 00 00 -R 00 00 02 00 -T 08 00 00 00 54 5A 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 -R 00 00 04 00 -T 00 00 00 00 00 00 00 00 04 00 00 00 -R 00 00 05 00 00 04 02 00 00 08 02 00 diff --git a/src/nos/lib/crt_large_lib/ultoa.rel b/src/nos/lib/crt_large_lib/ultoa.rel deleted file mode 100644 index 26949ccd..00000000 --- a/src/nos/lib/crt_large_lib/ultoa.rel +++ /dev/null @@ -1,34 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___longtoa Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 50 flags 0 -S _ultoa Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 36 FE 41 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 DD CB 0B 7E 28 16 -R 00 00 01 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 DD 36 FE 61 DD 4E 0A DD 46 0B A7 -R 00 00 01 00 -T 1A 00 00 00 21 00 00 ED 42 DD 75 0A DD 74 0B -R 00 00 01 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 DD 6E FE E5 0E 00 C5 DD 6E 0A DD -R 00 00 01 00 -T 30 00 00 00 66 0B E5 DD 6E 08 DD 66 09 E5 DD -R 00 00 01 00 -T 3B 00 00 00 4E 04 DD 46 05 DD 5E 02 DD 56 03 -R 00 00 01 00 -T 46 00 00 00 CD 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 05 04 00 -T 4E 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/src/nos/lib/crt_large_lib/ungetc.rel b/src/nos/lib/crt_large_lib/ungetc.rel deleted file mode 100644 index 527b891f..00000000 --- a/src/nos/lib/crt_large_lib/ungetc.rel +++ /dev/null @@ -1,74 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _fflush Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size B8 flags 0 -S _ungetc Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 0C 00 09 7E E6 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 80 28 09 -R 00 00 01 00 -T 0C 00 00 00 -R 00 00 01 00 -T 0C 00 00 00 DD 5E 04 DD 56 05 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 15 00 00 00 -R 00 00 01 00 -T 15 00 00 00 21 0C 00 DD 4E 04 DD 46 05 09 7E -R 00 00 01 00 -T 20 00 00 00 E6 10 4F 23 7E E6 02 47 3E 10 A9 -R 00 00 01 00 -T 2B 00 00 00 B0 28 06 -R 00 00 01 00 -T 2E 00 00 00 -R 00 00 01 00 -T 2E 00 00 00 21 FF FF C3 B5 00 00 00 -R 00 00 01 00 00 08 01 00 -T 34 00 00 00 -R 00 00 01 00 -T 34 00 00 00 21 0C 00 DD 4E 04 DD 46 05 09 7E -R 00 00 01 00 -T 3F 00 00 00 F6 00 77 23 7E F6 04 77 69 60 4E -R 00 00 01 00 -T 4A 00 00 00 23 46 21 06 00 DD 5E 04 DD 56 05 -R 00 00 01 00 -T 55 00 00 00 19 56 23 66 6A A7 ED 42 30 18 -R 00 00 01 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 DD 6E 04 DD 66 05 4E 23 46 0B 70 -R 00 00 01 00 -T 6A 00 00 00 2B 71 69 60 DD 46 02 70 68 26 00 -R 00 00 01 00 -T 75 00 00 00 18 3E -R 00 00 01 00 -T 77 00 00 00 -R 00 00 01 00 -T 77 00 00 00 DD 6E 04 DD 66 05 23 23 46 23 66 -R 00 00 01 00 -T 82 00 00 00 68 E5 21 06 00 DD 4E 04 DD 46 05 -R 00 00 01 00 -T 8D 00 00 00 09 4E 23 46 E1 A7 ED 42 20 1B -R 00 00 01 00 -T 97 00 00 00 -R 00 00 01 00 -T 97 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 -R 00 00 01 00 -T A2 00 00 00 03 70 2B 71 0B 69 60 DD 46 02 70 -R 00 00 01 00 -T AD 00 00 00 68 26 00 18 03 -R 00 00 01 00 -T B2 00 00 00 -R 00 00 01 00 -T B2 00 00 00 21 FF FF -R 00 00 01 00 -T B5 00 00 00 -R 00 00 01 00 -T B5 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/crt_large_lib/utsname.rel b/src/nos/lib/crt_large_lib/utsname.rel deleted file mode 100644 index 41d2d456..00000000 --- a/src/nos/lib/crt_large_lib/utsname.rel +++ /dev/null @@ -1,54 +0,0 @@ -XL4 -H 3 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S _getfsys Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _strcpy Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9B flags 0 -S _uname Def00000000 -A CSTR size C flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C6 FF 21 00 00 39 -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 4D 44 11 F8 FF CD 00 00 00 00 21 -R 00 00 01 00 02 0A 01 00 -T 12 00 00 00 00 00 39 01 00 00 09 4D 44 DD 5E -R 00 00 01 00 -T 1D 00 00 00 02 DD 56 03 CD 00 00 00 00 21 -R 00 00 01 00 02 09 04 00 -T 25 00 00 00 00 00 39 01 1E 00 09 4D 44 21 -R 00 00 01 00 -T 2F 00 00 00 0E 00 DD 5E 02 DD 56 03 19 EB CD -R 00 00 01 00 -T 3A 00 00 00 00 00 00 00 21 00 00 39 01 16 00 -R 00 00 01 00 02 04 04 00 -T 43 00 00 00 09 4D 44 21 1C 00 DD 5E 02 DD 56 -R 00 00 01 00 -T 4E 00 00 00 03 19 EB CD 00 00 00 00 21 00 00 -R 00 00 01 00 02 08 04 00 -T 57 00 00 00 39 01 0E 00 09 4D 44 21 24 00 DD -R 00 00 01 00 -T 62 00 00 00 5E 02 DD 56 03 19 EB CD -R 00 00 01 00 -T 6A 00 00 00 00 00 00 00 21 00 00 39 01 2C 00 -R 00 00 01 00 02 04 04 00 -T 73 00 00 00 09 4D 44 21 2C 00 DD 5E 02 DD 56 -R 00 00 01 00 -T 7E 00 00 00 03 19 EB CD 00 00 00 00 01 -R 00 00 01 00 02 08 04 00 -T 85 00 00 00 00 00 00 00 21 34 00 DD 5E 02 DD -R 00 00 01 00 00 04 02 00 -T 8E 00 00 00 56 03 19 EB CD 00 00 00 00 21 -R 00 00 01 00 02 09 04 00 -T 96 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 07 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 28 6C 6F 63 61 6C 68 6F 73 74 29 -R 00 00 02 00 -T 0B 00 00 00 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/vfprintf.rel b/src/nos/lib/crt_large_lib/vfprintf.rel deleted file mode 100644 index f60c2b40..00000000 --- a/src/nos/lib/crt_large_lib/vfprintf.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ___fputter Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ___vprinter Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S _vfprintf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 E5 C5 4B 42 11 00 00 00 00 CD -R 00 00 01 00 02 09 01 00 -T 11 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 05 00 02 0B 02 00 diff --git a/src/nos/lib/crt_large_lib/vfscanf.rel b/src/nos/lib/crt_large_lib/vfscanf.rel deleted file mode 100644 index 6bf92492..00000000 --- a/src/nos/lib/crt_large_lib/vfscanf.rel +++ /dev/null @@ -1,923 +0,0 @@ -XL4 -H 3 areas 10 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?S_S_SWITCH_L06 Ref00000000 -S _ungetc Ref00000000 -S _fgetc Ref00000000 -S ?L_NEG_L03 Ref00000000 -S _strchr Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ___ctype Ref00000000 -S _strcpy Ref00000000 -S ?L_MUL_L03 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?C_V_SWITCH_L06 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 851 flags 0 -S _vfscanf Def00000000 -A CSTR size 18 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 50 FF AF DD 77 FD -R 00 00 01 00 02 05 0B 00 -T 09 00 00 00 DD 77 FE 79 B0 28 0A DD 6E 04 DD -R 00 00 01 00 -T 14 00 00 00 66 05 AF B6 20 06 -R 00 00 01 00 -T 1A 00 00 00 -R 00 00 01 00 -T 1A 00 00 00 -R 00 00 01 00 -T 1A 00 00 00 -R 00 00 01 00 -T 1A 00 00 00 21 00 00 C3 4E 08 00 00 -R 00 00 01 00 00 08 01 00 -T 20 00 00 00 -R 00 00 01 00 -T 20 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 29 00 00 00 DD 75 F7 DD 74 F8 -R 00 00 01 00 -T 2F 00 00 00 -R 00 00 01 00 -T 2F 00 00 00 DD 4E F7 DD 46 F8 21 00 00 CD -R 00 00 01 00 -T 39 00 00 00 00 00 00 00 D2 1A 08 00 00 -R 00 00 01 00 02 04 0D 00 00 09 01 00 -T 3E 00 00 00 -R 00 00 01 00 -T 3E 00 00 00 AF DD 77 E9 DD 77 EA DD 6E 04 DD -R 00 00 01 00 -T 49 00 00 00 66 05 7E FE 25 C2 A0 07 00 00 -R 00 00 01 00 00 0A 01 00 -T 51 00 00 00 -R 00 00 01 00 -T 51 00 00 00 21 00 00 39 AF 77 23 77 23 77 23 -R 00 00 01 00 -T 5C 00 00 00 77 DD 36 F9 FF DD 36 FA FF DD 36 -R 00 00 01 00 -T 67 00 00 00 EF 01 DD 36 F0 00 DD 36 ED 0A DD -R 00 00 01 00 -T 72 00 00 00 36 EE 00 AF DD 77 FB DD 77 FC DD -R 00 00 01 00 -T 7D 00 00 00 36 E9 01 DD 36 EA 00 DD 36 F1 01 -R 00 00 01 00 -T 88 00 00 00 DD 36 F2 00 DD 36 EB FF DD 36 EC -R 00 00 01 00 -T 93 00 00 00 FF 01 00 00 00 00 21 06 00 39 5D -R 00 00 01 00 00 06 02 00 -T 9C 00 00 00 54 CD 00 00 00 00 01 07 00 00 00 -R 00 00 01 00 02 06 09 00 00 0B 02 00 -T A3 00 00 00 21 86 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 09 00 -T AC 00 00 00 DD 6E 04 DD 66 05 23 7E FE 2A 20 -R 00 00 01 00 -T B7 00 00 00 16 -R 00 00 01 00 -T B8 00 00 00 -R 00 00 01 00 -T B8 00 00 00 AF DD 77 E9 DD 77 EA AF DD 77 F1 -R 00 00 01 00 -T C3 00 00 00 DD 77 F2 DD 34 04 20 03 DD 34 05 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 -R 00 00 01 00 -T CE 00 00 00 DD 6E 04 DD 66 05 23 DD 75 04 DD -R 00 00 01 00 -T D9 00 00 00 74 05 4E 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 08 00 -T E2 00 00 00 7E E6 08 28 38 -R 00 00 01 00 -T E7 00 00 00 -R 00 00 01 00 -T E7 00 00 00 DD 7E F9 DD A6 FA 3C 20 07 -R 00 00 01 00 -T F0 00 00 00 -R 00 00 01 00 -T F0 00 00 00 AF DD 77 F9 DD 77 FA -R 00 00 01 00 -T F7 00 00 00 -R 00 00 01 00 -T F7 00 00 00 DD 6E 04 DD 66 05 4E 06 00 21 -R 00 00 01 00 -T 01 01 00 00 D0 FF 09 01 0A 00 DD 5E F9 DD 56 -R 00 00 01 00 -T 0C 01 00 00 FA CD 00 00 00 00 19 DD 75 F9 DD -R 00 00 01 00 02 06 0C 00 -T 15 01 00 00 74 FA DD 75 EF DD 74 F0 18 AF -R 00 00 01 00 -T 1F 01 00 00 -R 00 00 01 00 -T 1F 01 00 00 DD 6E 04 DD 66 05 2B DD 75 04 DD -R 00 00 01 00 -T 2A 01 00 00 74 05 -R 00 00 01 00 -T 2C 01 00 00 -R 00 00 01 00 -T 2C 01 00 00 DD 34 04 20 03 DD 34 05 -R 00 00 01 00 -T 34 01 00 00 -R 00 00 01 00 -T 34 01 00 00 DD 6E 04 DD 66 05 4E 06 00 21 -R 00 00 01 00 -T 3E 01 00 00 00 00 00 00 09 7E E6 02 28 0C DD -R 00 00 01 00 02 04 08 00 -T 47 01 00 00 6E 04 DD 66 05 7E EE 20 5F 18 07 -R 00 00 01 00 -T 52 01 00 00 -R 00 00 01 00 -T 52 01 00 00 DD 6E 04 DD 66 05 5E -R 00 00 01 00 -T 59 01 00 00 -R 00 00 01 00 -T 59 01 00 00 CD 00 00 00 00 0D 00 00 2A 5B 62 -R 00 00 01 00 02 05 0E 00 -T 62 01 00 00 63 64 68 69 6C 6F 73 75 78 -R 00 00 01 00 -T 6B 01 00 00 9C 07 00 00 C7 01 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 6F 01 00 00 D8 01 00 00 4A 06 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 73 01 00 00 BD 01 00 00 97 01 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 77 01 00 00 AA 01 00 00 A1 01 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 7B 01 00 00 D1 01 00 00 C2 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 7F 01 00 00 B3 01 00 00 E5 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 83 01 00 00 87 01 00 00 8F 07 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 87 01 00 00 -R 00 00 01 00 -T 87 01 00 00 AF DD 77 E9 DD 77 EA AF DD 77 F1 -R 00 00 01 00 -T 92 01 00 00 DD 77 F2 18 95 -R 00 00 01 00 -T 97 01 00 00 -R 00 00 01 00 -T 97 01 00 00 DD 36 FB 01 DD 36 FC 00 18 8B -R 00 00 01 00 -T A1 01 00 00 -R 00 00 01 00 -T A1 01 00 00 AF DD 77 FB DD 77 FC 18 82 -R 00 00 01 00 -T AA 01 00 00 -R 00 00 01 00 -T AA 01 00 00 AF DD 77 ED DD 77 EE 18 25 -R 00 00 01 00 -T B3 01 00 00 -R 00 00 01 00 -T B3 01 00 00 DD 36 ED 02 DD 36 EE 00 18 1B -R 00 00 01 00 -T BD 01 00 00 -R 00 00 01 00 -T BD 01 00 00 DD 36 ED 08 DD 36 EE 00 18 11 -R 00 00 01 00 -T C7 01 00 00 -R 00 00 01 00 -T C7 01 00 00 DD 36 ED 10 DD 36 EE 00 18 07 -R 00 00 01 00 -T D1 01 00 00 -R 00 00 01 00 -T D1 01 00 00 AF DD 77 EB DD 77 EC -R 00 00 01 00 -T D8 01 00 00 -R 00 00 01 00 -T D8 01 00 00 -R 00 00 01 00 -T D8 01 00 00 -R 00 00 01 00 -T D8 01 00 00 DD 4E F7 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 08 00 -T E1 01 00 00 7E E6 10 28 1E -R 00 00 01 00 -T E6 01 00 00 -R 00 00 01 00 -T E6 01 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T EF 01 00 00 DD 75 F7 DD 74 F8 4D 44 21 00 00 -R 00 00 01 00 -T FA 01 00 00 CD 00 00 00 00 38 03 -R 00 00 01 00 02 05 0D 00 -T FF 01 00 00 -R 00 00 01 00 -T FF 01 00 00 C3 1A 08 00 00 -R 00 00 01 00 00 05 01 00 -T 02 02 00 00 -R 00 00 01 00 -T 02 02 00 00 18 D4 -R 00 00 01 00 -T 04 02 00 00 -R 00 00 01 00 -T 04 02 00 00 DD 6E 04 DD 66 05 4E 06 00 21 -R 00 00 01 00 -T 0E 02 00 00 00 00 00 00 09 7E E6 02 28 08 -R 00 00 01 00 02 04 08 00 -T 16 02 00 00 -R 00 00 01 00 -T 16 02 00 00 DD 36 FB 01 DD 36 FC 00 -R 00 00 01 00 -T 1E 02 00 00 -R 00 00 01 00 -T 1E 02 00 00 DD 7E ED DD B6 EE C2 C1 02 00 00 -R 00 00 01 00 00 0B 01 00 -T 27 02 00 00 -R 00 00 01 00 -T 27 02 00 00 DD 36 ED 0A DD 36 EE 00 AF DD 77 -R 00 00 01 00 -T 32 02 00 00 EB DD 77 EC 3E 25 DD AE F7 DD B6 -R 00 00 01 00 -T 3D 02 00 00 F8 20 0B -R 00 00 01 00 -T 40 02 00 00 -R 00 00 01 00 -T 40 02 00 00 DD 36 ED 02 DD 36 EE 00 C3 -R 00 00 01 00 -T 49 02 00 00 F9 02 00 00 -R 00 00 01 00 00 04 01 00 -T 4B 02 00 00 -R 00 00 01 00 -T 4B 02 00 00 3E 30 DD AE F7 DD B6 F8 20 6C -R 00 00 01 00 -T 55 02 00 00 -R 00 00 01 00 -T 55 02 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 5E 02 00 00 DD 75 F7 DD 74 F8 4D 44 21 00 00 -R 00 00 01 00 -T 69 02 00 00 CD 00 00 00 00 38 03 -R 00 00 01 00 02 05 0D 00 -T 6E 02 00 00 -R 00 00 01 00 -T 6E 02 00 00 C3 2E 04 00 00 -R 00 00 01 00 00 05 01 00 -T 71 02 00 00 -R 00 00 01 00 -T 71 02 00 00 3E 62 DD AE F7 DD B6 F8 28 0A 3E -R 00 00 01 00 -T 7C 02 00 00 42 DD AE F7 DD B6 F8 20 0F -R 00 00 01 00 -T 85 02 00 00 -R 00 00 01 00 -T 85 02 00 00 -R 00 00 01 00 -T 85 02 00 00 -R 00 00 01 00 -T 85 02 00 00 DD 36 ED 02 DD 36 EE 00 DD 36 D8 -R 00 00 01 00 -T 90 02 00 00 00 C3 F5 03 00 00 -R 00 00 01 00 00 06 01 00 -T 94 02 00 00 -R 00 00 01 00 -T 94 02 00 00 3E 78 DD AE F7 DD B6 F8 28 19 3E -R 00 00 01 00 -T 9F 02 00 00 58 DD AE F7 DD B6 F8 28 0F -R 00 00 01 00 -T A8 02 00 00 -R 00 00 01 00 -T A8 02 00 00 -R 00 00 01 00 -T A8 02 00 00 -R 00 00 01 00 -T A8 02 00 00 DD 36 ED 08 DD 36 EE 00 DD 36 DE -R 00 00 01 00 -T B3 02 00 00 00 C3 F5 03 00 00 -R 00 00 01 00 00 06 01 00 -T B7 02 00 00 -R 00 00 01 00 -T B7 02 00 00 DD 36 ED 10 DD 36 EE 00 18 38 -R 00 00 01 00 -T C1 02 00 00 -R 00 00 01 00 -T C1 02 00 00 -R 00 00 01 00 -T C1 02 00 00 DD 7E EB DD B6 EC 20 4C 3E 0A DD -R 00 00 01 00 -T CC 02 00 00 AE ED DD B6 EE 20 42 3E 2D DD AE -R 00 00 01 00 -T D7 02 00 00 F7 DD B6 F8 20 04 0E 01 18 02 -R 00 00 01 00 -T E1 02 00 00 -R 00 00 01 00 -T E1 02 00 00 0E 00 -R 00 00 01 00 -T E3 02 00 00 -R 00 00 01 00 -T E3 02 00 00 06 00 DD 71 EB DD 70 EC 79 B0 20 -R 00 00 01 00 -T EE 02 00 00 0A 3E 2B DD AE F7 DD B6 F8 20 1C -R 00 00 01 00 -T F9 02 00 00 -R 00 00 01 00 -T F9 02 00 00 -R 00 00 01 00 -T F9 02 00 00 -R 00 00 01 00 -T F9 02 00 00 -R 00 00 01 00 -T F9 02 00 00 -R 00 00 01 00 -T F9 02 00 00 -R 00 00 01 00 -T F9 02 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 02 03 00 00 DD 75 F7 DD 74 F8 4D 44 21 00 00 -R 00 00 01 00 -T 0D 03 00 00 CD 00 00 00 00 38 03 -R 00 00 01 00 02 05 0D 00 -T 12 03 00 00 -R 00 00 01 00 -T 12 03 00 00 C3 1A 08 00 00 -R 00 00 01 00 00 05 01 00 -T 15 03 00 00 -R 00 00 01 00 -T 15 03 00 00 -R 00 00 01 00 -T 15 03 00 00 21 86 00 39 DD 4E ED DD 46 EE 09 -R 00 00 01 00 -T 20 03 00 00 36 00 21 04 00 39 E5 DD 4E F7 06 -R 00 00 01 00 -T 2B 03 00 00 00 21 00 00 00 00 09 7E E6 04 28 -R 00 00 01 00 02 06 08 00 -T 34 03 00 00 0E DD 7E F7 EE 20 4F DD 7E F8 EE -R 00 00 01 00 -T 3F 03 00 00 00 47 18 06 -R 00 00 01 00 -T 43 03 00 00 -R 00 00 01 00 -T 43 03 00 00 DD 4E F7 DD 46 F8 -R 00 00 01 00 -T 49 03 00 00 -R 00 00 01 00 -T 49 03 00 00 21 88 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 52 03 00 00 4D 44 E1 71 23 70 DD 7E F7 DD B6 -R 00 00 01 00 -T 5D 03 00 00 F8 28 09 21 04 00 39 7E 23 B6 20 -R 00 00 01 00 -T 68 03 00 00 0B -R 00 00 01 00 -T 69 03 00 00 -R 00 00 01 00 -T 69 03 00 00 -R 00 00 01 00 -T 69 03 00 00 DD 7E F9 DD B6 FA 28 03 -R 00 00 01 00 -T 71 03 00 00 -R 00 00 01 00 -T 71 03 00 00 -R 00 00 01 00 -T 71 03 00 00 -R 00 00 01 00 -T 71 03 00 00 C3 1A 08 00 00 -R 00 00 01 00 00 05 01 00 -T 74 03 00 00 -R 00 00 01 00 -T 74 03 00 00 -R 00 00 01 00 -T 74 03 00 00 21 04 00 39 7E 23 B6 CA -R 00 00 01 00 -T 7C 03 00 00 2E 04 00 00 DD 6E F9 DD 66 FA 2B -R 00 00 01 00 00 04 01 00 -T 85 03 00 00 DD 75 F9 DD 74 FA 23 7D B4 CA -R 00 00 01 00 -T 8F 03 00 00 2E 04 00 00 DD 7E F7 DD B6 F8 CA -R 00 00 01 00 00 04 01 00 -T 98 03 00 00 2E 04 00 00 -R 00 00 01 00 00 04 01 00 -T 9A 03 00 00 -R 00 00 01 00 -T 9A 03 00 00 -R 00 00 01 00 -T 9A 03 00 00 -R 00 00 01 00 -T 9A 03 00 00 21 86 00 39 4D 44 21 04 00 39 56 -R 00 00 01 00 -T A5 03 00 00 23 66 6A A7 ED 42 7C 07 9F 4F 41 -R 00 00 01 00 -T B0 03 00 00 C5 E5 DD 6E ED DD 66 EE 7C 07 9F -R 00 00 01 00 -T BB 03 00 00 4F 41 C5 E5 21 08 00 39 5E 23 56 -R 00 00 01 00 -T C6 03 00 00 23 4E 23 46 EB CD 00 00 00 00 59 -R 00 00 01 00 02 0A 0A 00 -T CF 03 00 00 50 C1 09 EB C1 ED 4A 4D 44 EB E5 -R 00 00 01 00 -T DA 03 00 00 21 02 00 39 D1 73 23 72 23 71 23 -R 00 00 01 00 -T E5 03 00 00 70 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T ED 03 00 00 00 00 00 00 DD 75 F7 DD 74 F8 -R 00 00 01 00 02 04 03 00 -T F5 03 00 00 -R 00 00 01 00 -T F5 03 00 00 21 04 00 39 E5 DD 4E F7 06 00 21 -R 00 00 01 00 -T 00 04 00 00 00 00 00 00 09 7E E6 04 28 0E DD -R 00 00 01 00 02 04 08 00 -T 09 04 00 00 7E F7 EE 20 4F DD 7E F8 EE 00 47 -R 00 00 01 00 -T 14 04 00 00 18 06 -R 00 00 01 00 -T 16 04 00 00 -R 00 00 01 00 -T 16 04 00 00 DD 4E F7 DD 46 F8 -R 00 00 01 00 -T 1C 04 00 00 -R 00 00 01 00 -T 1C 04 00 00 21 88 00 39 5D 54 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 25 04 00 00 4D 44 E1 71 23 70 C3 74 03 00 00 -R 00 00 01 00 00 0B 01 00 -T 2E 04 00 00 -R 00 00 01 00 -T 2E 04 00 00 -R 00 00 01 00 -T 2E 04 00 00 DD 7E E9 DD B6 EA CA BF 04 00 00 -R 00 00 01 00 00 0B 01 00 -T 37 04 00 00 -R 00 00 01 00 -T 37 04 00 00 3E 01 DD AE EB DD B6 EC 20 1C -R 00 00 01 00 -T 41 04 00 00 -R 00 00 01 00 -T 41 04 00 00 21 00 00 39 5E 23 56 23 4E 23 46 -R 00 00 01 00 -T 4C 04 00 00 EB CD 00 00 00 00 E5 21 02 00 39 -R 00 00 01 00 02 06 04 00 -T 55 04 00 00 D1 73 23 72 23 71 23 70 -R 00 00 01 00 -T 5D 04 00 00 -R 00 00 01 00 -T 5D 04 00 00 DD 7E FB DD B6 FC 28 2C -R 00 00 01 00 -T 65 04 00 00 -R 00 00 01 00 -T 65 04 00 00 21 B8 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T 70 04 00 00 00 77 2B 6E 67 2B 2B 7E 23 66 6F -R 00 00 01 00 -T 7B 04 00 00 E5 21 02 00 39 5E 23 56 23 4E 23 -R 00 00 01 00 -T 86 04 00 00 46 E1 73 23 72 23 71 23 70 18 26 -R 00 00 01 00 -T 91 04 00 00 -R 00 00 01 00 -T 91 04 00 00 21 B8 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T 9C 04 00 00 00 77 2B 6E 67 2B 2B 7E 23 66 6F -R 00 00 01 00 -T A7 04 00 00 E5 21 02 00 39 5E 23 56 23 4E 23 -R 00 00 01 00 -T B2 04 00 00 46 E1 73 23 72 -R 00 00 01 00 -T B7 04 00 00 -R 00 00 01 00 -T B7 04 00 00 DD 34 FD 20 03 DD 34 FE -R 00 00 01 00 -T BF 04 00 00 -R 00 00 01 00 -T BF 04 00 00 -R 00 00 01 00 -T BF 04 00 00 C3 9E 07 00 00 -R 00 00 01 00 00 05 01 00 -T C2 04 00 00 -R 00 00 01 00 -T C2 04 00 00 DD 6E EF DD 66 F0 DD 75 F9 DD 74 -R 00 00 01 00 -T CD 04 00 00 FA AF DD 77 F1 DD 77 F2 AF DD 77 -R 00 00 01 00 -T D8 04 00 00 FB DD 77 FC 21 06 00 39 36 00 C3 -R 00 00 01 00 -T E3 04 00 00 7D 06 00 00 -R 00 00 01 00 00 04 01 00 -T E5 04 00 00 -R 00 00 01 00 -T E5 04 00 00 21 04 00 39 E5 21 08 00 39 4D 44 -R 00 00 01 00 -T F0 04 00 00 E1 71 23 70 DD 6E 04 DD 66 05 23 -R 00 00 01 00 -T FB 04 00 00 DD 75 04 DD 74 05 7E FE 5E 20 11 -R 00 00 01 00 -T 06 05 00 00 -R 00 00 01 00 -T 06 05 00 00 DD 34 04 20 03 DD 34 05 -R 00 00 01 00 -T 0E 05 00 00 -R 00 00 01 00 -T 0E 05 00 00 AF DD 77 FB DD 77 FC 18 08 -R 00 00 01 00 -T 17 05 00 00 -R 00 00 01 00 -T 17 05 00 00 DD 36 FB 01 DD 36 FC 00 -R 00 00 01 00 -T 1F 05 00 00 -R 00 00 01 00 -T 1F 05 00 00 DD 36 F3 02 DD 36 F4 00 DD 6E 04 -R 00 00 01 00 -T 2A 05 00 00 DD 66 05 7E FE 5D 28 0B DD 6E 04 -R 00 00 01 00 -T 35 05 00 00 DD 66 05 7E FE 2D 20 24 -R 00 00 01 00 -T 3D 05 00 00 -R 00 00 01 00 -T 3D 05 00 00 -R 00 00 01 00 -T 3D 05 00 00 -R 00 00 01 00 -T 3D 05 00 00 DD 6E 04 DD 66 05 23 DD 75 04 DD -R 00 00 01 00 -T 48 05 00 00 74 05 2B 46 21 04 00 39 5E 23 56 -R 00 00 01 00 -T 53 05 00 00 13 72 2B 73 1B EB 70 AF DD 77 F3 -R 00 00 01 00 -T 5E 05 00 00 DD 77 F4 -R 00 00 01 00 -T 61 05 00 00 -R 00 00 01 00 -T 61 05 00 00 -R 00 00 01 00 -T 61 05 00 00 DD 6E 04 DD 66 05 7E FE 5D CA -R 00 00 01 00 -T 6B 05 00 00 3E 06 00 00 -R 00 00 01 00 00 04 01 00 -T 6D 05 00 00 -R 00 00 01 00 -T 6D 05 00 00 DD 6E 04 DD 66 05 AF B6 20 03 -R 00 00 01 00 -T 77 05 00 00 -R 00 00 01 00 -T 77 05 00 00 C3 1A 08 00 00 -R 00 00 01 00 00 05 01 00 -T 7A 05 00 00 -R 00 00 01 00 -T 7A 05 00 00 DD 5E F3 DD 56 F4 CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 83 05 00 00 00 00 03 00 1E 06 00 00 -R 00 00 01 00 00 08 01 00 -T 89 05 00 00 FC 05 00 00 8F 05 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 8D 05 00 00 17 06 00 00 -R 00 00 01 00 00 04 01 00 -T 8F 05 00 00 -R 00 00 01 00 -T 8F 05 00 00 21 04 00 39 46 23 66 68 2B 2B 4E -R 00 00 01 00 -T 9A 05 00 00 06 00 DD 71 F5 DD 70 F6 DD 6E 04 -R 00 00 01 00 -T A5 05 00 00 DD 66 05 6E 26 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 0D 00 -T AE 05 00 00 38 4C -R 00 00 01 00 -T B0 05 00 00 -R 00 00 01 00 -T B0 05 00 00 21 04 00 39 7E D6 02 77 23 7E DE -R 00 00 01 00 -T BB 05 00 00 00 77 -R 00 00 01 00 -T BD 05 00 00 -R 00 00 01 00 -T BD 05 00 00 DD 6E 04 DD 66 05 4E 06 00 DD 6E -R 00 00 01 00 -T C8 05 00 00 F5 DD 66 F6 CD 00 00 00 00 30 21 -R 00 00 01 00 02 09 0D 00 -T D1 05 00 00 -R 00 00 01 00 -T D1 05 00 00 DD 6E F5 DD 66 F6 23 DD 75 F5 DD -R 00 00 01 00 -T DC 05 00 00 74 F6 2B E5 21 06 00 39 4E 23 46 -R 00 00 01 00 -T E7 05 00 00 03 70 2B 71 0B 69 60 C1 71 18 CB -R 00 00 01 00 -T F2 05 00 00 -R 00 00 01 00 -T F2 05 00 00 DD 36 F3 02 DD 36 F4 00 18 22 -R 00 00 01 00 -T FC 05 00 00 -R 00 00 01 00 -T FC 05 00 00 -R 00 00 01 00 -T FC 05 00 00 DD 6E 04 DD 66 05 7E FE 2D 20 04 -R 00 00 01 00 -T 07 06 00 00 0E 01 18 02 -R 00 00 01 00 -T 0B 06 00 00 -R 00 00 01 00 -T 0B 06 00 00 0E 00 -R 00 00 01 00 -T 0D 06 00 00 -R 00 00 01 00 -T 0D 06 00 00 06 00 DD 71 F3 DD 70 F4 18 07 -R 00 00 01 00 -T 17 06 00 00 -R 00 00 01 00 -T 17 06 00 00 AF DD 77 F3 DD 77 F4 -R 00 00 01 00 -T 1E 06 00 00 -R 00 00 01 00 -T 1E 06 00 00 DD 6E 04 DD 66 05 23 DD 75 04 DD -R 00 00 01 00 -T 29 06 00 00 74 05 2B 46 21 04 00 39 5E 23 56 -R 00 00 01 00 -T 34 06 00 00 13 72 2B 73 1B EB 70 C3 -R 00 00 01 00 -T 3C 06 00 00 61 05 00 00 -R 00 00 01 00 00 04 01 00 -T 3E 06 00 00 -R 00 00 01 00 -T 3E 06 00 00 21 04 00 39 7E 23 66 6F 36 00 18 -R 00 00 01 00 -T 49 06 00 00 33 -R 00 00 01 00 -T 4A 06 00 00 -R 00 00 01 00 -T 4A 06 00 00 AF DD 77 FB DD 77 FC -R 00 00 01 00 -T 51 06 00 00 -R 00 00 01 00 -T 51 06 00 00 DD 4E F7 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 08 00 -T 5A 06 00 00 7E E6 10 28 1E -R 00 00 01 00 -T 5F 06 00 00 -R 00 00 01 00 -T 5F 06 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 68 06 00 00 DD 75 F7 DD 74 F8 4D 44 21 00 00 -R 00 00 01 00 -T 73 06 00 00 CD 00 00 00 00 38 03 -R 00 00 01 00 02 05 0D 00 -T 78 06 00 00 -R 00 00 01 00 -T 78 06 00 00 C3 1A 08 00 00 -R 00 00 01 00 00 05 01 00 -T 7B 06 00 00 -R 00 00 01 00 -T 7B 06 00 00 18 D4 -R 00 00 01 00 -T 7D 06 00 00 -R 00 00 01 00 -T 7D 06 00 00 -R 00 00 01 00 -T 7D 06 00 00 21 04 00 39 E5 21 BA 00 39 7E C6 -R 00 00 01 00 -T 88 06 00 00 02 77 23 7E CE 00 77 2B 6E 67 2B -R 00 00 01 00 -T 93 06 00 00 2B 4E 23 46 E1 71 23 70 DD 7E F9 -R 00 00 01 00 -T 9E 06 00 00 DD B6 FA 28 53 -R 00 00 01 00 -T A3 06 00 00 -R 00 00 01 00 -T A3 06 00 00 DD 4E F7 DD 46 F8 21 06 00 39 5D -R 00 00 01 00 -T AE 06 00 00 54 CD 00 00 00 00 DD 75 E7 DD 74 -R 00 00 01 00 02 06 05 00 -T B7 06 00 00 E8 DD 4E F7 DD 46 F8 21 00 00 CD -R 00 00 01 00 -T C2 06 00 00 00 00 00 00 30 1B DD 7E E7 DD B6 -R 00 00 01 00 02 04 0D 00 -T CB 06 00 00 E8 20 04 0E 01 18 02 -R 00 00 01 00 -T D2 06 00 00 -R 00 00 01 00 -T D2 06 00 00 0E 00 -R 00 00 01 00 -T D4 06 00 00 -R 00 00 01 00 -T D4 06 00 00 06 00 DD 6E FB DD 66 FC A7 ED 42 -R 00 00 01 00 -T DF 06 00 00 20 15 -R 00 00 01 00 -T E1 06 00 00 -R 00 00 01 00 -T E1 06 00 00 -R 00 00 01 00 -T E1 06 00 00 -R 00 00 01 00 -T E1 06 00 00 DD 7E F1 DD B6 F2 28 0A -R 00 00 01 00 -T E9 06 00 00 -R 00 00 01 00 -T E9 06 00 00 21 04 00 39 7E 23 66 6F 36 00 -R 00 00 01 00 -T F3 06 00 00 -R 00 00 01 00 -T F3 06 00 00 C3 1A 08 00 00 -R 00 00 01 00 00 05 01 00 -T F6 06 00 00 -R 00 00 01 00 -T F6 06 00 00 -R 00 00 01 00 -T F6 06 00 00 -R 00 00 01 00 -T F6 06 00 00 DD 7E E9 DD B6 EA 28 11 -R 00 00 01 00 -T FE 06 00 00 -R 00 00 01 00 -T FE 06 00 00 DD 46 F7 21 04 00 39 5E 23 56 13 -R 00 00 01 00 -T 09 07 00 00 72 2B 73 1B EB 70 -R 00 00 01 00 -T 0F 07 00 00 -R 00 00 01 00 -T 0F 07 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 18 07 00 00 DD 75 F7 DD 74 F8 4D 44 21 00 00 -R 00 00 01 00 -T 23 07 00 00 CD 00 00 00 00 30 11 DD 6E F9 DD -R 00 00 01 00 02 05 0D 00 -T 2C 07 00 00 66 FA 2B DD 75 F9 DD 74 FA 7D B4 -R 00 00 01 00 -T 37 07 00 00 20 02 -R 00 00 01 00 -T 39 07 00 00 -R 00 00 01 00 -T 39 07 00 00 -R 00 00 01 00 -T 39 07 00 00 -R 00 00 01 00 -T 39 07 00 00 18 30 -R 00 00 01 00 -T 3B 07 00 00 -R 00 00 01 00 -T 3B 07 00 00 DD 4E F7 DD 46 F8 21 06 00 39 5D -R 00 00 01 00 -T 46 07 00 00 54 CD 00 00 00 00 DD 75 E7 DD 74 -R 00 00 01 00 02 06 05 00 -T 4F 07 00 00 E8 7D B4 20 04 0E 01 18 02 -R 00 00 01 00 -T 58 07 00 00 -R 00 00 01 00 -T 58 07 00 00 0E 00 -R 00 00 01 00 -T 5A 07 00 00 -R 00 00 01 00 -T 5A 07 00 00 06 00 DD 6E FB DD 66 FC A7 ED 42 -R 00 00 01 00 -T 65 07 00 00 20 02 -R 00 00 01 00 -T 67 07 00 00 -R 00 00 01 00 -T 67 07 00 00 18 02 -R 00 00 01 00 -T 69 07 00 00 -R 00 00 01 00 -T 69 07 00 00 18 8B -R 00 00 01 00 -T 6B 07 00 00 -R 00 00 01 00 -T 6B 07 00 00 DD 7E E9 DD B6 EA 28 1A -R 00 00 01 00 -T 73 07 00 00 -R 00 00 01 00 -T 73 07 00 00 DD 7E F1 DD B6 F2 28 0A -R 00 00 01 00 -T 7B 07 00 00 -R 00 00 01 00 -T 7B 07 00 00 21 04 00 39 7E 23 66 6F 36 00 -R 00 00 01 00 -T 85 07 00 00 -R 00 00 01 00 -T 85 07 00 00 DD 34 FD 20 03 DD 34 FE -R 00 00 01 00 -T 8D 07 00 00 -R 00 00 01 00 -T 8D 07 00 00 -R 00 00 01 00 -T 8D 07 00 00 18 0F -R 00 00 01 00 -T 8F 07 00 00 -R 00 00 01 00 -T 8F 07 00 00 DD 6E 04 DD 66 05 2B DD 75 04 DD -R 00 00 01 00 -T 9A 07 00 00 74 05 -R 00 00 01 00 -T 9C 07 00 00 -R 00 00 01 00 -T 9C 07 00 00 18 41 -R 00 00 01 00 -T 9E 07 00 00 -R 00 00 01 00 -T 9E 07 00 00 18 64 -R 00 00 01 00 -T A0 07 00 00 -R 00 00 01 00 -T A0 07 00 00 DD 6E 04 DD 66 05 4E 06 00 21 -R 00 00 01 00 -T AA 07 00 00 00 00 00 00 09 7E E6 10 28 2D -R 00 00 01 00 02 04 08 00 -T B2 07 00 00 -R 00 00 01 00 -T B2 07 00 00 -R 00 00 01 00 -T B2 07 00 00 DD 4E F7 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 08 00 -T BB 07 00 00 7E E6 10 28 1D -R 00 00 01 00 -T C0 07 00 00 -R 00 00 01 00 -T C0 07 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T C9 07 00 00 DD 75 F7 DD 74 F8 4D 44 21 00 00 -R 00 00 01 00 -T D4 07 00 00 CD 00 00 00 00 38 02 -R 00 00 01 00 02 05 0D 00 -T D9 07 00 00 -R 00 00 01 00 -T D9 07 00 00 18 3F -R 00 00 01 00 -T DB 07 00 00 -R 00 00 01 00 -T DB 07 00 00 18 D5 -R 00 00 01 00 -T DD 07 00 00 -R 00 00 01 00 -T DD 07 00 00 18 25 -R 00 00 01 00 -T DF 07 00 00 -R 00 00 01 00 -T DF 07 00 00 -R 00 00 01 00 -T DF 07 00 00 DD 6E 04 DD 66 05 4E 06 00 DD 6E -R 00 00 01 00 -T EA 07 00 00 F7 DD 66 F8 A7 ED 42 28 02 -R 00 00 01 00 -T F3 07 00 00 -R 00 00 01 00 -T F3 07 00 00 18 25 -R 00 00 01 00 -T F5 07 00 00 -R 00 00 01 00 -T F5 07 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T FE 07 00 00 DD 75 F7 DD 74 F8 -R 00 00 01 00 -T 04 08 00 00 -R 00 00 01 00 -T 04 08 00 00 -R 00 00 01 00 -T 04 08 00 00 DD 6E 04 DD 66 05 23 DD 75 04 DD -R 00 00 01 00 -T 0F 08 00 00 74 05 7E B7 20 02 -R 00 00 01 00 -T 15 08 00 00 -R 00 00 01 00 -T 15 08 00 00 18 03 -R 00 00 01 00 -T 17 08 00 00 -R 00 00 01 00 -T 17 08 00 00 C3 2F 00 00 00 -R 00 00 01 00 00 05 01 00 -T 1A 08 00 00 -R 00 00 01 00 -T 1A 08 00 00 -R 00 00 01 00 -T 1A 08 00 00 DD 7E F7 DD A6 F8 3C 20 0D DD 7E -R 00 00 01 00 -T 25 08 00 00 FD DD B6 FE 20 05 -R 00 00 01 00 -T 2B 08 00 00 -R 00 00 01 00 -T 2B 08 00 00 -R 00 00 01 00 -T 2B 08 00 00 -R 00 00 01 00 -T 2B 08 00 00 21 FF FF 18 1E -R 00 00 01 00 -T 30 08 00 00 -R 00 00 01 00 -T 30 08 00 00 DD 7E F7 DD A6 F8 3C 28 0F -R 00 00 01 00 -T 39 08 00 00 -R 00 00 01 00 -T 39 08 00 00 DD 4E 02 DD 46 03 DD 5E F7 DD 56 -R 00 00 01 00 -T 44 08 00 00 F8 CD 00 00 00 00 -R 00 00 01 00 02 06 02 00 -T 48 08 00 00 -R 00 00 01 00 -T 48 08 00 00 DD 6E FD DD 66 FE -R 00 00 01 00 -T 4E 08 00 00 -R 00 00 01 00 -T 4E 08 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 09 0A 0B 0C 0D 20 00 -R 00 00 02 00 -T 07 00 00 00 -R 00 00 02 00 -T 07 00 00 00 30 31 32 33 34 35 36 37 38 39 41 -R 00 00 02 00 -T 12 00 00 00 42 43 44 45 46 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/vprinter.rel b/src/nos/lib/crt_large_lib/vprinter.rel deleted file mode 100644 index 91a8e1ea..00000000 --- a/src/nos/lib/crt_large_lib/vprinter.rel +++ /dev/null @@ -1,743 +0,0 @@ -XL4 -H 3 areas E global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?S_MULASG_L02 Ref00000000 -S _strcat Ref00000000 -S _strlen Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _ultoa Ref00000000 -S _strcpy Ref00000000 -S ?CALL_IND_L09 Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _ltoa Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?C_V_SWITCH_L06 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 71C flags 0 -S ___vprinter Def000001E7 -A CSTR size C flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 B8 FF AF DD 77 B9 -R 00 00 01 00 02 05 09 00 -T 09 00 00 00 DD 77 BA DD 5E 08 DD 56 09 CD -R 00 00 01 00 -T 13 00 00 00 00 00 00 00 DD 75 BB DD 74 BC 21 -R 00 00 01 00 02 04 03 00 -T 1C 00 00 00 05 00 39 DD 75 FD DD 74 FE DD 6E -R 00 00 01 00 -T 27 00 00 00 08 DD 66 09 7E FE 2D 20 14 -R 00 00 01 00 -T 30 00 00 00 -R 00 00 01 00 -T 30 00 00 00 DD 6E 08 DD 66 09 23 DD 75 08 DD -R 00 00 01 00 -T 3B 00 00 00 74 09 2B 46 DD 70 0C 18 0E -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 AF DD B6 0C 28 08 -R 00 00 01 00 -T 4A 00 00 00 -R 00 00 01 00 -T 4A 00 00 00 DD 34 BB 20 03 DD 34 BC -R 00 00 01 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 DD 7E 12 DD A6 13 3C 28 1D DD 4E -R 00 00 01 00 -T 5D 00 00 00 BB DD 46 BC DD 6E 12 DD 66 13 CD -R 00 00 01 00 -T 68 00 00 00 00 00 00 00 30 0C -R 00 00 01 00 02 04 0B 00 -T 6C 00 00 00 -R 00 00 01 00 -T 6C 00 00 00 -R 00 00 01 00 -T 6C 00 00 00 -R 00 00 01 00 -T 6C 00 00 00 DD 6E 12 DD 66 13 DD 75 BB DD 74 -R 00 00 01 00 -T 77 00 00 00 BC -R 00 00 01 00 -T 78 00 00 00 -R 00 00 01 00 -T 78 00 00 00 DD 4E BB DD 46 BC DD 6E 10 DD 66 -R 00 00 01 00 -T 83 00 00 00 11 CD 00 00 00 00 30 0C -R 00 00 01 00 02 06 0B 00 -T 89 00 00 00 -R 00 00 01 00 -T 89 00 00 00 DD 6E BB DD 66 BC DD 75 10 DD 74 -R 00 00 01 00 -T 94 00 00 00 11 -R 00 00 01 00 -T 95 00 00 00 -R 00 00 01 00 -T 95 00 00 00 DD 6E 10 DD 66 11 DD 75 B9 DD 74 -R 00 00 01 00 -T A0 00 00 00 BA 21 58 00 39 7E DD 96 BB 77 23 -R 00 00 01 00 -T AB 00 00 00 7E DD 9E BC 77 -R 00 00 01 00 -T B0 00 00 00 -R 00 00 01 00 -T B0 00 00 00 DD 7E 10 DD B6 11 20 09 DD 7E BB -R 00 00 01 00 -T BB 00 00 00 DD B6 BC CA A7 01 00 00 -R 00 00 01 00 00 08 01 00 -T C1 00 00 00 -R 00 00 01 00 -T C1 00 00 00 -R 00 00 01 00 -T C1 00 00 00 -R 00 00 01 00 -T C1 00 00 00 DD 7E 0A DD B6 0B 20 34 DD 7E 10 -R 00 00 01 00 -T CC 00 00 00 DD B6 11 28 2C -R 00 00 01 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 -R 00 00 01 00 -T D1 00 00 00 DD 7E BB DD B6 BC 28 0F AF DD B6 -R 00 00 01 00 -T DC 00 00 00 0C 28 09 DD 7E 0E FE 30 20 02 -R 00 00 01 00 -T E6 00 00 00 -R 00 00 01 00 -T E6 00 00 00 -R 00 00 01 00 -T E6 00 00 00 -R 00 00 01 00 -T E6 00 00 00 18 23 -R 00 00 01 00 -T E8 00 00 00 -R 00 00 01 00 -T E8 00 00 00 DD 46 0E DD 70 B8 DD 6E 10 DD 66 -R 00 00 01 00 -T F3 00 00 00 11 2B DD 75 10 DD 74 11 18 4E -R 00 00 01 00 -T FD 00 00 00 -R 00 00 01 00 -T FD 00 00 00 DD 7E BB DD B6 BC 28 33 -R 00 00 01 00 -T 05 01 00 00 -R 00 00 01 00 -T 05 01 00 00 AF DD B6 0C 28 0C -R 00 00 01 00 -T 0B 01 00 00 -R 00 00 01 00 -T 0B 01 00 00 -R 00 00 01 00 -T 0B 01 00 00 DD 46 0C DD 70 B8 DD 36 0C 00 18 -R 00 00 01 00 -T 16 01 00 00 12 -R 00 00 01 00 -T 17 01 00 00 -R 00 00 01 00 -T 17 01 00 00 DD 6E 08 DD 66 09 23 DD 75 08 DD -R 00 00 01 00 -T 22 01 00 00 74 09 2B 46 DD 70 B8 -R 00 00 01 00 -T 29 01 00 00 -R 00 00 01 00 -T 29 01 00 00 DD 6E BB DD 66 BC 2B DD 75 BB DD -R 00 00 01 00 -T 34 01 00 00 74 BC 18 13 -R 00 00 01 00 -T 38 01 00 00 -R 00 00 01 00 -T 38 01 00 00 DD 46 0E DD 70 B8 DD 6E 10 DD 66 -R 00 00 01 00 -T 43 01 00 00 11 2B DD 75 10 DD 74 11 -R 00 00 01 00 -T 4B 01 00 00 -R 00 00 01 00 -T 4B 01 00 00 -R 00 00 01 00 -T 4B 01 00 00 21 05 00 39 01 40 00 09 4D 44 DD -R 00 00 01 00 -T 56 01 00 00 6E FD DD 66 FE A7 ED 42 38 32 -R 00 00 01 00 -T 60 01 00 00 -R 00 00 01 00 -T 60 01 00 00 DD 6E 04 DD 66 05 E5 21 07 00 39 -R 00 00 01 00 -T 6B 01 00 00 4D 44 DD 6E FD DD 66 FE A7 ED 42 -R 00 00 01 00 -T 76 01 00 00 4D 44 21 07 00 39 5D 54 DD 6E 02 -R 00 00 01 00 -T 81 01 00 00 DD 66 03 CD 00 00 00 00 F1 21 -R 00 00 01 00 02 08 08 00 -T 89 01 00 00 05 00 39 DD 75 FD DD 74 FE -R 00 00 01 00 -T 92 01 00 00 -R 00 00 01 00 -T 92 01 00 00 DD 6E FD DD 66 FE 23 DD 75 FD DD -R 00 00 01 00 -T 9D 01 00 00 74 FE 2B DD 46 B8 70 C3 -R 00 00 01 00 -T A5 01 00 00 B0 00 00 00 -R 00 00 01 00 00 04 01 00 -T A7 01 00 00 -R 00 00 01 00 -T A7 01 00 00 21 05 00 39 DD 4E FD DD 46 FE A7 -R 00 00 01 00 -T B2 01 00 00 ED 42 30 28 -R 00 00 01 00 -T B6 01 00 00 -R 00 00 01 00 -T B6 01 00 00 DD 6E 04 DD 66 05 E5 21 07 00 39 -R 00 00 01 00 -T C1 01 00 00 4D 44 DD 6E FD DD 66 FE A7 ED 42 -R 00 00 01 00 -T CC 01 00 00 4D 44 21 07 00 39 5D 54 DD 6E 02 -R 00 00 01 00 -T D7 01 00 00 DD 66 03 CD 00 00 00 00 F1 -R 00 00 01 00 02 08 08 00 -T DE 01 00 00 -R 00 00 01 00 -T DE 01 00 00 DD 6E B9 DD 66 BA C3 00 00 00 00 -R 00 00 01 00 02 0B 04 00 -T E7 01 00 00 -R 00 00 01 00 -T E7 01 00 00 CD 00 00 00 00 A0 FF AF DD 77 AE -R 00 00 01 00 02 05 09 00 -T F0 01 00 00 DD 77 AF DD 6E 08 DD 66 09 DD 75 -R 00 00 01 00 -T FB 01 00 00 FD DD 74 FE -R 00 00 01 00 -T FF 01 00 00 -R 00 00 01 00 -T FF 01 00 00 DD 6E 08 DD 66 09 AF B6 CA -R 00 00 01 00 -T 08 02 00 00 CD 06 00 00 -R 00 00 01 00 00 04 01 00 -T 0A 02 00 00 -R 00 00 01 00 -T 0A 02 00 00 DD 6E 08 DD 66 09 7E FE 25 C2 -R 00 00 01 00 -T 14 02 00 00 C2 06 00 00 -R 00 00 01 00 00 04 01 00 -T 16 02 00 00 -R 00 00 01 00 -T 16 02 00 00 DD 4E 08 DD 46 09 DD 6E FD DD 66 -R 00 00 01 00 -T 21 02 00 00 FE A7 ED 42 30 41 -R 00 00 01 00 -T 27 02 00 00 -R 00 00 01 00 -T 27 02 00 00 DD 6E 04 DD 66 05 E5 DD 4E FD DD -R 00 00 01 00 -T 32 02 00 00 46 FE DD 6E 08 DD 66 09 A7 ED 42 -R 00 00 01 00 -T 3D 02 00 00 4D 44 DD 5E FD DD 56 FE DD 6E 02 -R 00 00 01 00 -T 48 02 00 00 DD 66 03 CD 00 00 00 00 F1 4D 44 -R 00 00 01 00 02 08 08 00 -T 51 02 00 00 21 0E 00 39 7E 81 77 23 7E 88 77 -R 00 00 01 00 -T 5C 02 00 00 DD 6E 08 DD 66 09 DD 75 FD DD 74 -R 00 00 01 00 -T 67 02 00 00 FE -R 00 00 01 00 -T 68 02 00 00 -R 00 00 01 00 -T 68 02 00 00 AF DD 77 A2 DD 77 A3 DD 36 B1 00 -R 00 00 01 00 -T 73 02 00 00 DD 36 B0 20 DD 36 AA FF DD 36 AB -R 00 00 01 00 -T 7E 02 00 00 FF AF DD 77 A8 DD 77 A9 DD 36 A6 -R 00 00 01 00 -T 89 02 00 00 FF DD 36 A7 FF DD 36 AC 0A DD 36 -R 00 00 01 00 -T 94 02 00 00 AD 00 21 1B 00 39 DD 75 B3 DD 74 -R 00 00 01 00 -T 9F 02 00 00 B4 DD 36 B2 00 AF DD 77 A4 DD 77 -R 00 00 01 00 -T AA 02 00 00 A5 -R 00 00 01 00 -T AB 02 00 00 -R 00 00 01 00 -T AB 02 00 00 AF DD 77 A0 DD 77 A1 DD 34 08 20 -R 00 00 01 00 -T B6 02 00 00 03 DD 34 09 -R 00 00 01 00 -T BA 02 00 00 -R 00 00 01 00 -T BA 02 00 00 -R 00 00 01 00 -T BA 02 00 00 DD 6E 08 DD 66 09 7E FE 30 38 0B -R 00 00 01 00 -T C5 02 00 00 DD 6E 08 DD 66 09 3E 39 BE 30 02 -R 00 00 01 00 -T D0 02 00 00 -R 00 00 01 00 -T D0 02 00 00 -R 00 00 01 00 -T D0 02 00 00 -R 00 00 01 00 -T D0 02 00 00 18 65 -R 00 00 01 00 -T D2 02 00 00 -R 00 00 01 00 -T D2 02 00 00 21 00 00 39 01 0A 00 CD -R 00 00 01 00 -T DA 02 00 00 00 00 00 00 DD 6E 08 DD 66 09 4E -R 00 00 01 00 02 04 01 00 -T E3 02 00 00 06 00 21 D0 FF 09 4D 44 21 00 00 -R 00 00 01 00 -T EE 02 00 00 39 7E 81 77 23 7E 88 77 DD 7E A8 -R 00 00 01 00 -T F9 02 00 00 DD B6 A9 28 0E -R 00 00 01 00 -T FE 02 00 00 -R 00 00 01 00 -T FE 02 00 00 DD 6E A0 DD 66 A1 DD 75 A6 DD 74 -R 00 00 01 00 -T 09 03 00 00 A7 18 21 -R 00 00 01 00 -T 0C 03 00 00 -R 00 00 01 00 -T 0C 03 00 00 DD 7E A0 DD B6 A1 20 0D DD 7E B0 -R 00 00 01 00 -T 17 03 00 00 FE 20 20 06 -R 00 00 01 00 -T 1B 03 00 00 -R 00 00 01 00 -T 1B 03 00 00 -R 00 00 01 00 -T 1B 03 00 00 -R 00 00 01 00 -T 1B 03 00 00 DD 36 B0 30 18 8A -R 00 00 01 00 -T 21 03 00 00 -R 00 00 01 00 -T 21 03 00 00 DD 6E A0 DD 66 A1 DD 75 AA DD 74 -R 00 00 01 00 -T 2C 03 00 00 AB -R 00 00 01 00 -T 2D 03 00 00 -R 00 00 01 00 -T 2D 03 00 00 DD 34 08 20 03 DD 34 09 -R 00 00 01 00 -T 35 03 00 00 -R 00 00 01 00 -T 35 03 00 00 18 83 -R 00 00 01 00 -T 37 03 00 00 -R 00 00 01 00 -T 37 03 00 00 DD 6E 08 DD 66 09 5E CD -R 00 00 01 00 -T 3F 03 00 00 00 00 00 00 14 00 00 20 21 23 2A -R 00 00 01 00 02 04 0C 00 -T 48 03 00 00 2B 2D 2E 58 62 63 64 68 69 6C 6F -R 00 00 01 00 -T 53 03 00 00 70 73 75 78 A7 06 00 00 -R 00 00 01 00 00 08 01 00 -T 59 03 00 00 BE 04 00 00 C6 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 5D 03 00 00 3A 06 00 00 99 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 61 03 00 00 8F 04 00 00 1A 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 65 03 00 00 2F 04 00 00 25 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 69 03 00 00 2F 04 00 00 F7 05 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 6D 03 00 00 85 04 00 00 B4 04 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 71 03 00 00 0F 04 00 00 91 03 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 75 03 00 00 9C 03 00 00 B0 03 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 79 03 00 00 A9 03 00 00 D9 05 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 7D 03 00 00 9C 03 00 00 81 03 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 81 03 00 00 -R 00 00 01 00 -T 81 03 00 00 DD 6E 08 DD 66 09 2B DD 75 08 DD -R 00 00 01 00 -T 8C 03 00 00 74 09 C3 C2 06 00 00 -R 00 00 01 00 00 07 01 00 -T 91 03 00 00 -R 00 00 01 00 -T 91 03 00 00 DD 36 A2 01 DD 36 A3 00 C3 -R 00 00 01 00 -T 9A 03 00 00 AB 02 00 00 -R 00 00 01 00 00 04 01 00 -T 9C 03 00 00 -R 00 00 01 00 -T 9C 03 00 00 DD 6E 08 DD 66 09 46 DD 70 B1 C3 -R 00 00 01 00 -T A7 03 00 00 AB 02 00 00 -R 00 00 01 00 00 04 01 00 -T A9 03 00 00 -R 00 00 01 00 -T A9 03 00 00 DD 36 B2 01 C3 AB 02 00 00 -R 00 00 01 00 00 09 01 00 -T B0 03 00 00 -R 00 00 01 00 -T B0 03 00 00 21 6A 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T BB 03 00 00 00 77 2B 6E 67 2B 2B 46 23 66 68 -R 00 00 01 00 -T C6 03 00 00 DD 75 A0 DD 74 A1 DD 7E A8 DD B6 -R 00 00 01 00 -T D1 03 00 00 A9 28 0E -R 00 00 01 00 -T D4 03 00 00 -R 00 00 01 00 -T D4 03 00 00 DD 6E A0 DD 66 A1 DD 75 A6 DD 74 -R 00 00 01 00 -T DF 03 00 00 A7 18 2A -R 00 00 01 00 -T E2 03 00 00 -R 00 00 01 00 -T E2 03 00 00 DD 6E A0 DD 66 A1 DD 75 AA DD 74 -R 00 00 01 00 -T ED 03 00 00 AB CB 7C 28 1A -R 00 00 01 00 -T F2 03 00 00 -R 00 00 01 00 -T F2 03 00 00 DD 36 A2 01 DD 36 A3 00 DD 4E A0 -R 00 00 01 00 -T FD 03 00 00 DD 46 A1 A7 21 00 00 ED 42 DD 75 -R 00 00 01 00 -T 08 04 00 00 AA DD 74 AB -R 00 00 01 00 -T 0C 04 00 00 -R 00 00 01 00 -T 0C 04 00 00 -R 00 00 01 00 -T 0C 04 00 00 C3 AB 02 00 00 -R 00 00 01 00 00 05 01 00 -T 0F 04 00 00 -R 00 00 01 00 -T 0F 04 00 00 DD 36 A8 01 DD 36 A9 00 C3 -R 00 00 01 00 -T 18 04 00 00 AB 02 00 00 -R 00 00 01 00 00 04 01 00 -T 1A 04 00 00 -R 00 00 01 00 -T 1A 04 00 00 DD 36 A4 01 DD 36 A5 00 C3 -R 00 00 01 00 -T 23 04 00 00 AB 02 00 00 -R 00 00 01 00 00 04 01 00 -T 25 04 00 00 -R 00 00 01 00 -T 25 04 00 00 AF DD 77 A4 DD 77 A5 C3 -R 00 00 01 00 -T 2D 04 00 00 AB 02 00 00 -R 00 00 01 00 00 04 01 00 -T 2F 04 00 00 -R 00 00 01 00 -T 2F 04 00 00 21 0A 00 E5 21 1D 00 39 E5 DD 7E -R 00 00 01 00 -T 3A 04 00 00 A4 DD B6 A5 28 1D 21 6E 00 39 7E -R 00 00 01 00 -T 45 04 00 00 C6 04 77 23 7E CE 00 77 2B 6E 67 -R 00 00 01 00 -T 50 04 00 00 01 FC FF 09 5E 23 56 23 4E 23 46 -R 00 00 01 00 -T 5B 04 00 00 18 1A -R 00 00 01 00 -T 5D 04 00 00 -R 00 00 01 00 -T 5D 04 00 00 21 6E 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T 68 04 00 00 00 77 2B 6E 67 2B 2B 5E 23 56 7A -R 00 00 01 00 -T 73 04 00 00 07 9F 4F 41 -R 00 00 01 00 -T 77 04 00 00 -R 00 00 01 00 -T 77 04 00 00 CD 00 00 00 00 F1 F1 DD 75 B3 DD -R 00 00 01 00 02 05 0A 00 -T 80 04 00 00 74 B4 C3 5E 06 00 00 -R 00 00 01 00 00 07 01 00 -T 85 04 00 00 -R 00 00 01 00 -T 85 04 00 00 DD 36 AC 02 DD 36 AD 00 18 37 -R 00 00 01 00 -T 8F 04 00 00 -R 00 00 01 00 -T 8F 04 00 00 DD 36 AC 08 DD 36 AD 00 18 2D -R 00 00 01 00 -T 99 04 00 00 -R 00 00 01 00 -T 99 04 00 00 AF DD 77 A4 DD 77 A5 DD 36 B0 30 -R 00 00 01 00 -T A4 04 00 00 DD 36 AA 05 DD 36 AB 00 DD 36 A6 -R 00 00 01 00 -T AF 04 00 00 08 DD 36 A7 00 -R 00 00 01 00 -T B4 04 00 00 -R 00 00 01 00 -T B4 04 00 00 DD 36 AC 10 DD 36 AD 00 18 08 -R 00 00 01 00 -T BE 04 00 00 -R 00 00 01 00 -T BE 04 00 00 DD 36 AC F0 DD 36 AD FF -R 00 00 01 00 -T C6 04 00 00 -R 00 00 01 00 -T C6 04 00 00 -R 00 00 01 00 -T C6 04 00 00 DD 7E A4 DD B6 A5 28 1E 21 6A 00 -R 00 00 01 00 -T D1 04 00 00 39 7E C6 04 77 23 7E CE 00 77 2B -R 00 00 01 00 -T DC 04 00 00 6E 67 01 FC FF 09 5E 23 56 23 4E -R 00 00 01 00 -T E7 04 00 00 23 46 EB 18 19 -R 00 00 01 00 -T EC 04 00 00 -R 00 00 01 00 -T EC 04 00 00 21 6A 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T F7 04 00 00 00 77 2B 6E 67 2B 2B 46 23 66 68 -R 00 00 01 00 -T 02 05 00 00 01 00 00 -R 00 00 01 00 -T 05 05 00 00 -R 00 00 01 00 -T 05 05 00 00 DD 75 B7 DD 74 B8 DD 71 B9 DD 70 -R 00 00 01 00 -T 10 05 00 00 BA DD 5E AC DD 56 AD D5 21 1D 00 -R 00 00 01 00 -T 1B 05 00 00 39 01 04 00 09 E5 DD 4E B9 DD 46 -R 00 00 01 00 -T 26 05 00 00 BA DD 5E B7 DD 56 B8 CD -R 00 00 01 00 -T 2E 05 00 00 00 00 00 00 F1 F1 DD 75 B3 DD 74 -R 00 00 01 00 02 04 06 00 -T 37 05 00 00 B4 DD 36 B5 00 00 00 00 DD 36 B6 -R 00 00 01 00 09 08 02 00 -T 3F 05 00 00 00 00 00 00 AF DD B6 B2 CA -R 00 00 01 00 89 04 02 00 -T 45 05 00 00 D6 05 00 00 -R 00 00 01 00 00 04 01 00 -T 47 05 00 00 -R 00 00 01 00 -T 47 05 00 00 3E 02 DD AE AC DD B6 AD 20 0A -R 00 00 01 00 -T 51 05 00 00 -R 00 00 01 00 -T 51 05 00 00 DD 36 B5 01 00 00 00 DD 36 B6 -R 00 00 01 00 09 07 02 00 -T 58 05 00 00 01 00 00 00 18 49 -R 00 00 01 00 89 04 02 00 -T 5B 05 00 00 -R 00 00 01 00 -T 5B 05 00 00 3E 08 DD AE AC DD B6 AD 20 18 -R 00 00 01 00 -T 65 05 00 00 -R 00 00 01 00 -T 65 05 00 00 DD 7E B7 DD B6 B8 DD B6 B9 DD B6 -R 00 00 01 00 -T 70 05 00 00 BA 28 08 -R 00 00 01 00 -T 73 05 00 00 -R 00 00 01 00 -T 73 05 00 00 DD 36 B5 04 00 00 00 DD 36 B6 -R 00 00 01 00 09 07 02 00 -T 7A 05 00 00 04 00 00 00 -R 00 00 01 00 89 04 02 00 -T 7B 05 00 00 -R 00 00 01 00 -T 7B 05 00 00 18 27 -R 00 00 01 00 -T 7D 05 00 00 -R 00 00 01 00 -T 7D 05 00 00 3E 10 DD AE AC DD B6 AD 20 0A -R 00 00 01 00 -T 87 05 00 00 -R 00 00 01 00 -T 87 05 00 00 DD 36 B5 06 00 00 00 DD 36 B6 -R 00 00 01 00 09 07 02 00 -T 8E 05 00 00 06 00 00 00 18 13 -R 00 00 01 00 89 04 02 00 -T 91 05 00 00 -R 00 00 01 00 -T 91 05 00 00 3E 0F DD AE AC DD A6 AD 3C 20 08 -R 00 00 01 00 -T 9C 05 00 00 -R 00 00 01 00 -T 9C 05 00 00 DD 36 B5 09 00 00 00 DD 36 B6 -R 00 00 01 00 09 07 02 00 -T A3 05 00 00 09 00 00 00 -R 00 00 01 00 89 04 02 00 -T A4 05 00 00 -R 00 00 01 00 -T A4 05 00 00 -R 00 00 01 00 -T A4 05 00 00 -R 00 00 01 00 -T A4 05 00 00 -R 00 00 01 00 -T A4 05 00 00 DD 6E B5 DD 66 B6 AF B6 28 28 -R 00 00 01 00 -T AE 05 00 00 -R 00 00 01 00 -T AE 05 00 00 DD 36 B0 00 DD 4E B5 DD 46 B6 21 -R 00 00 01 00 -T B9 05 00 00 1B 00 39 5D 54 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 07 00 -T C2 05 00 00 4E B3 DD 46 B4 21 1B 00 39 5D 54 -R 00 00 01 00 -T CD 05 00 00 CD 00 00 00 00 DD 75 B3 DD 74 B4 -R 00 00 01 00 02 05 02 00 -T D6 05 00 00 -R 00 00 01 00 -T D6 05 00 00 -R 00 00 01 00 -T D6 05 00 00 C3 5E 06 00 00 -R 00 00 01 00 00 05 01 00 -T D9 05 00 00 -R 00 00 01 00 -T D9 05 00 00 DD 6E 08 DD 66 09 23 4E 06 00 DD -R 00 00 01 00 -T E4 05 00 00 71 A0 DD 70 A1 79 B0 28 08 -R 00 00 01 00 -T ED 05 00 00 -R 00 00 01 00 -T ED 05 00 00 DD 34 08 20 03 DD 34 09 -R 00 00 01 00 -T F5 05 00 00 -R 00 00 01 00 -T F5 05 00 00 -R 00 00 01 00 -T F5 05 00 00 18 1C -R 00 00 01 00 -T F7 05 00 00 -R 00 00 01 00 -T F7 05 00 00 21 6A 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T 02 06 00 00 00 77 2B 6E 67 2B 2B 46 23 66 68 -R 00 00 01 00 -T 0D 06 00 00 DD 75 A0 DD 74 A1 -R 00 00 01 00 -T 13 06 00 00 -R 00 00 01 00 -T 13 06 00 00 DD 46 A0 DD 6E B3 DD 66 B4 70 DD -R 00 00 01 00 -T 1E 06 00 00 6E B3 DD 66 B4 23 36 00 AF DD B6 -R 00 00 01 00 -T 29 06 00 00 B2 28 0C -R 00 00 01 00 -T 2C 06 00 00 -R 00 00 01 00 -T 2C 06 00 00 DD 6E B3 DD 66 B4 46 DD 70 B0 18 -R 00 00 01 00 -T 37 06 00 00 22 -R 00 00 01 00 -T 38 06 00 00 -R 00 00 01 00 -T 38 06 00 00 18 1C -R 00 00 01 00 -T 3A 06 00 00 -R 00 00 01 00 -T 3A 06 00 00 21 6A 00 39 7E C6 02 77 23 7E CE -R 00 00 01 00 -T 45 06 00 00 00 77 2B 6E 67 2B 2B 46 23 66 68 -R 00 00 01 00 -T 50 06 00 00 DD 75 B3 DD 74 B4 -R 00 00 01 00 -T 56 06 00 00 -R 00 00 01 00 -T 56 06 00 00 DD 36 B0 20 -R 00 00 01 00 -T 5A 06 00 00 -R 00 00 01 00 -T 5A 06 00 00 DD 36 B1 00 -R 00 00 01 00 -T 5E 06 00 00 -R 00 00 01 00 -T 5E 06 00 00 DD 6E A6 DD 66 A7 E5 DD 6E AA DD -R 00 00 01 00 -T 69 06 00 00 66 AB E5 DD 6E B0 E5 DD 6E B1 E5 -R 00 00 01 00 -T 74 06 00 00 DD 6E A2 DD 66 A3 E5 DD 6E B3 DD -R 00 00 01 00 -T 7F 06 00 00 66 B4 E5 DD 4E 04 DD 46 05 DD 5E -R 00 00 01 00 -T 8A 06 00 00 02 DD 56 03 CD 00 00 00 00 EB 21 -R 00 00 01 00 00 09 01 00 -T 93 06 00 00 0C 00 39 F9 EB 4D 44 21 0E 00 39 -R 00 00 01 00 -T 9E 06 00 00 7E 81 77 23 7E 88 77 18 0E -R 00 00 01 00 -T A7 06 00 00 -R 00 00 01 00 -T A7 06 00 00 DD 6E 08 DD 66 09 DD 75 FD DD 74 -R 00 00 01 00 -T B2 06 00 00 FE 18 0D -R 00 00 01 00 -T B5 06 00 00 -R 00 00 01 00 -T B5 06 00 00 DD 6E 08 DD 66 09 23 DD 75 FD DD -R 00 00 01 00 -T C0 06 00 00 74 FE -R 00 00 01 00 -T C2 06 00 00 -R 00 00 01 00 -T C2 06 00 00 -R 00 00 01 00 -T C2 06 00 00 DD 34 08 20 03 DD 34 09 -R 00 00 01 00 -T CA 06 00 00 -R 00 00 01 00 -T CA 06 00 00 C3 FF 01 00 00 -R 00 00 01 00 00 05 01 00 -T CD 06 00 00 -R 00 00 01 00 -T CD 06 00 00 DD 4E 08 DD 46 09 DD 6E FD DD 66 -R 00 00 01 00 -T D8 06 00 00 FE A7 ED 42 30 35 -R 00 00 01 00 -T DE 06 00 00 -R 00 00 01 00 -T DE 06 00 00 DD 6E 04 DD 66 05 E5 DD 4E FD DD -R 00 00 01 00 -T E9 06 00 00 46 FE DD 6E 08 DD 66 09 A7 ED 42 -R 00 00 01 00 -T F4 06 00 00 4D 44 DD 5E FD DD 56 FE DD 6E 02 -R 00 00 01 00 -T FF 06 00 00 DD 66 03 CD 00 00 00 00 F1 4D 44 -R 00 00 01 00 02 08 08 00 -T 08 07 00 00 21 0E 00 39 7E 81 77 23 7E 88 77 -R 00 00 01 00 -T 13 07 00 00 -R 00 00 01 00 -T 13 07 00 00 DD 6E AE DD 66 AF C3 00 00 00 00 -R 00 00 01 00 02 0B 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 -R 00 00 02 00 -T 01 00 00 00 -R 00 00 02 00 -T 01 00 00 00 30 62 00 -R 00 00 02 00 -T 04 00 00 00 -R 00 00 02 00 -T 04 00 00 00 30 00 -R 00 00 02 00 -T 06 00 00 00 -R 00 00 02 00 -T 06 00 00 00 30 78 00 -R 00 00 02 00 -T 09 00 00 00 -R 00 00 02 00 -T 09 00 00 00 30 58 00 -R 00 00 02 00 diff --git a/src/nos/lib/crt_large_lib/vprintf.rel b/src/nos/lib/crt_large_lib/vprintf.rel deleted file mode 100644 index 1a29ad65..00000000 --- a/src/nos/lib/crt_large_lib/vprintf.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _stdout Ref00000000 -S _vfprintf Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S _vprintf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 4B 42 11 -R 00 00 01 00 02 05 03 00 -T 07 00 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 04 00 02 09 05 00 -T 0E 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/src/nos/lib/crt_large_lib/vscanf.rel b/src/nos/lib/crt_large_lib/vscanf.rel deleted file mode 100644 index 09a93972..00000000 --- a/src/nos/lib/crt_large_lib/vscanf.rel +++ /dev/null @@ -1,19 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S _stdin Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _vfscanf Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S _vscanf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 C5 4B 42 11 -R 00 00 01 00 02 05 04 00 -T 07 00 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 03 00 02 09 05 00 -T 0E 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/src/nos/lib/crt_large_lib/vsprintf.rel b/src/nos/lib/crt_large_lib/vsprintf.rel deleted file mode 100644 index 793fa157..00000000 --- a/src/nos/lib/crt_large_lib/vsprintf.rel +++ /dev/null @@ -1,25 +0,0 @@ -XL4 -H 2 areas 7 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ___sputter Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___vprinter Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 32 flags 0 -S _vsprintf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 08 DD -R 00 00 01 00 02 05 04 00 -T 09 00 00 00 66 09 E5 C5 21 08 00 39 4D 44 11 -R 00 00 01 00 -T 14 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 01 00 02 09 05 00 -T 1B 00 00 00 DD 75 FE DD 74 FF DD 6E 02 DD 66 -R 00 00 01 00 -T 26 00 00 00 03 36 00 DD 6E FE DD 66 FF C3 -R 00 00 01 00 -T 30 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 diff --git a/src/nos/lib/crt_large_lib/vsscanf.rel b/src/nos/lib/crt_large_lib/vsscanf.rel deleted file mode 100644 index b1320c97..00000000 --- a/src/nos/lib/crt_large_lib/vsscanf.rel +++ /dev/null @@ -1,32 +0,0 @@ -XL4 -H 4 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _vfscanf Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S _vsscanf Def00000000 -A IDATA0 size 18 flags 0 -A CDATA0 size 18 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 ED 53 00 00 00 00 -R 00 00 01 00 02 05 03 00 00 0B 02 00 -T 07 00 00 00 DD 6E 08 DD 66 09 E5 11 -R 00 00 01 00 -T 0F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 00 04 02 00 02 09 04 00 -T 16 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 00 00 FF FF 00 00 00 00 FF FF -R 00 00 03 00 -T 0A 00 00 00 FF FF 10 00 00 00 00 00 00 00 00 -R 00 00 03 00 -T 15 00 00 00 00 00 00 -R 00 00 03 00 diff --git a/src/nos/lib/crt_large_lib/xitoa.rel b/src/nos/lib/crt_large_lib/xitoa.rel deleted file mode 100644 index fc21c1e2..00000000 --- a/src/nos/lib/crt_large_lib/xitoa.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 6 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _ltostr Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S __itoa Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 0A 00 E5 7A 07 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 9F 4F 41 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 08 04 00 -T 11 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/src/nos/lib/crt_large_lib/xltoa.rel b/src/nos/lib/crt_large_lib/xltoa.rel deleted file mode 100644 index 9eb5214b..00000000 --- a/src/nos/lib/crt_large_lib/xltoa.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?CL64180L_4_06_L00 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _ultostr Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _ltostr Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1C flags 0 -S __ultoa Def00000000 -S __ltoa Def0000000E -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 0A 00 E5 CD -R 00 00 01 00 02 05 04 00 -T 08 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 0A 01 00 -T 0E 00 00 00 -R 00 00 01 00 -T 0E 00 00 00 CD 00 00 00 00 21 0A 00 E5 CD -R 00 00 01 00 02 05 04 00 -T 16 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 05 00 02 0A 01 00 diff --git a/src/nos/lib/dump.lib b/src/nos/lib/dump.lib index ac9a672f..65ebd632 100644 --- a/src/nos/lib/dump.lib +++ b/src/nos/lib/dump.lib @@ -9,11 +9,11 @@ dump_lib/tcpdump.rel _tcp_dump dump_lib/trace.rel _tprintf + __trace_log _shuttrace _hex_dump _raw_dump _dotrace - _trace_log _dump _Tracecmd dump_lib/udpdump.rel diff --git a/src/nos/lib/dump_lib/icmpdump.rel b/src/nos/lib/dump_lib/icmpdump.rel index 577d7e87..f3bf80c9 100644 --- a/src/nos/lib/dump_lib/icmpdump.rel +++ b/src/nos/lib/dump_lib/icmpdump.rel @@ -2,29 +2,29 @@ XL4 H 2 areas 1B global symbols S _inet_ntoa Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___00c6_2537__20new_20gateway_20 Ref00000000 +S ___00f1_ac0a__20pointer_20_25u Ref00000000 +S ___0090_269f__20_25s Ref00000000 S _Unreach Ref00000000 +S ___00cf_1813__20code_20_25s Ref00000000 S _Said_icmp Ref00000000 -S ___00d8_ac0a__20pointer_20_25u Ref00000000 -S ___0077_269f__20_25s Ref00000000 S _len_p Ref00000000 S _Exceed Ref00000000 +S ___00da_20f7__20id_20_25u_20seq_ Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___00b6_1813__20code_20_25s Ref00000000 S __fprintf Ref00000000 -S ___008d_d667__20CHECKSUM_20ERROR Ref00000000 +S ___00a6_d667__20CHECKSUM_20ERROR Ref00000000 +S ___03ef_0cd3_Returned_20 Ref00000000 S .__.ABS. Def00000000 S _ntohicmp Ref00000000 S _fputc Ref00000000 -S ___00c1_20f7__20id_20_25u_20seq_ Ref00000000 S _cksum Ref00000000 +S ___02d3_6b85_ICMP_3a_20type_20_2 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___036c_0cd3_Returned_20 Ref00000000 S _ip_dump Ref00000000 S _Redirect Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___00df_2537__20new_20gateway_20 Ref00000000 S _smsg Ref00000000 -S ___0290_6b85_ICMP_3a_20type_20_2 Ref00000000 S _Icmptypes Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 283 flags 0 @@ -32,7 +32,7 @@ S _icmp_dump Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F8 FF 79 B0 28 0B -R 00 00 01 00 02 05 12 00 +R 00 00 01 00 02 05 13 00 T 09 00 00 00 DD 6E 04 DD 66 05 7E 23 B6 20 03 R 00 00 01 00 T 14 00 00 00 @@ -60,17 +60,17 @@ R 00 00 01 00 T 49 00 00 00 05 21 00 00 39 5D 54 3E R 00 00 01 00 T 51 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +R 00 00 01 00 2B 04 0F 00 02 09 0F 00 T 56 00 00 00 00 00 00 00 DD 4E F8 06 00 C5 01 R 00 00 01 00 02 04 01 00 T 5F 00 00 00 14 00 11 00 00 00 00 3E R 00 00 01 00 02 07 19 00 T 65 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 17 00 02 09 17 00 +R 00 00 01 00 2B 04 18 00 02 09 18 00 T 6A 00 00 00 00 00 00 00 F1 E5 0E 00 00 00 00 -R 00 00 01 00 02 04 01 00 2B 0B 18 00 +R 00 00 01 00 02 04 01 00 2B 0B 12 00 T 70 00 00 00 C5 21 00 00 00 00 E5 DD 6E 02 DD -R 00 00 01 00 02 06 18 00 +R 00 00 01 00 02 06 12 00 T 79 00 00 00 66 03 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 08 0B 00 T 7F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 @@ -82,11 +82,11 @@ R 00 00 01 00 T 8F 00 00 00 DD 4E F9 06 00 C5 01 0E 00 11 R 00 00 01 00 T 99 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 03 00 2B 09 17 00 +R 00 00 01 00 02 04 04 00 2B 09 18 00 T 9E 00 00 00 00 00 00 00 CD 00 00 00 00 F1 E5 -R 00 00 01 00 02 04 17 00 02 09 01 00 +R 00 00 01 00 02 04 18 00 02 09 01 00 T A5 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 T AB 00 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T B4 00 00 00 00 00 00 00 21 00 00 00 00 CD @@ -102,11 +102,11 @@ R 00 00 01 00 T CD 00 00 00 03 00 11 00 00 00 00 3E R 00 00 01 00 02 07 15 00 T D3 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 17 00 02 09 17 00 +R 00 00 01 00 2B 04 18 00 02 09 18 00 T D8 00 00 00 00 00 00 00 F1 E5 0E 00 00 00 00 -R 00 00 01 00 02 04 01 00 2B 0B 0A 00 +R 00 00 01 00 02 04 01 00 2B 0B 05 00 T DE 00 00 00 C5 21 00 00 00 00 E5 DD 6E 02 DD -R 00 00 01 00 02 06 0A 00 +R 00 00 01 00 02 06 05 00 T E7 00 00 00 66 03 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 08 0B 00 T ED 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 @@ -118,7 +118,7 @@ R 00 00 01 00 2B 07 00 00 T 04 01 00 00 00 00 00 00 CD 00 00 00 00 E5 0E R 00 00 01 00 02 04 00 00 02 09 01 00 T 0B 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 02 00 02 0A 02 00 +R 00 00 01 00 2B 04 17 00 02 0A 17 00 T 11 01 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 19 01 00 00 00 00 00 00 21 00 00 00 00 CD @@ -134,11 +134,11 @@ R 00 00 01 00 T 32 01 00 00 02 00 11 00 00 00 00 3E R 00 00 01 00 02 07 08 00 T 38 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 17 00 02 09 17 00 +R 00 00 01 00 2B 04 18 00 02 09 18 00 T 3D 01 00 00 00 00 00 00 F1 E5 0E 00 00 00 00 -R 00 00 01 00 02 04 01 00 2B 0B 0A 00 +R 00 00 01 00 02 04 01 00 2B 0B 05 00 T 43 01 00 00 C5 21 00 00 00 00 E5 DD 6E 02 DD -R 00 00 01 00 02 06 0A 00 +R 00 00 01 00 02 06 05 00 T 4C 01 00 00 66 03 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 08 0B 00 T 52 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 @@ -150,7 +150,7 @@ R 00 00 01 00 T 5E 01 00 00 FE 0C 20 22 DD 4E FA 06 00 C5 0E R 00 00 01 00 T 69 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 +R 00 00 01 00 2B 04 02 00 02 0A 02 00 T 6F 01 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 77 01 00 00 00 00 00 00 21 00 00 00 00 CD @@ -168,9 +168,9 @@ R 00 00 01 00 T 94 01 00 00 DD 6E FC DD 66 FD E5 DD 6E FA DD R 00 00 01 00 T 9F 01 00 00 66 FB E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 10 00 +R 00 00 01 00 2B 08 09 00 T A6 01 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 10 00 +R 00 00 01 00 02 04 09 00 T AF 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 T B5 01 00 00 CD 00 00 00 00 F1 F1 F1 F1 F1 18 @@ -182,13 +182,13 @@ R 00 00 01 00 T BF 01 00 00 FE 13 20 32 DD 4E F9 06 00 C5 01 R 00 00 01 00 T CA 01 00 00 03 00 11 00 00 00 00 3E -R 00 00 01 00 02 07 04 00 +R 00 00 01 00 02 07 06 00 T D0 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 17 00 02 09 17 00 +R 00 00 01 00 2B 04 18 00 02 09 18 00 T D5 01 00 00 00 00 00 00 F1 E5 0E 00 00 00 00 -R 00 00 01 00 02 04 01 00 2B 0B 06 00 +R 00 00 01 00 02 04 01 00 2B 0B 03 00 T DB 01 00 00 C5 21 00 00 00 00 E5 DD 6E 02 DD -R 00 00 01 00 02 06 06 00 +R 00 00 01 00 02 06 03 00 T E4 01 00 00 66 03 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 08 0B 00 T EA 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 @@ -222,7 +222,7 @@ R 00 00 01 00 T 26 02 00 00 DD 4E 02 DD 46 03 11 0A 00 3E R 00 00 01 00 T 30 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 +R 00 00 01 00 2B 04 10 00 02 09 10 00 T 35 02 00 00 00 00 00 00 DD 7E F8 FE 03 38 42 R 00 00 01 00 02 04 01 00 T 3E 02 00 00 FE 06 38 0C FE 0B 38 3A FE 0D 38 @@ -232,7 +232,7 @@ R 00 00 01 00 T 4E 02 00 00 R 00 00 01 00 T 4E 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 13 00 02 0B 13 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 T 54 02 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 5D 02 00 00 00 00 00 00 21 00 00 00 00 CD @@ -250,4 +250,4 @@ R 00 00 01 00 T 80 02 00 00 R 00 00 01 00 T 80 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 09 00 +R 00 00 01 00 02 05 0A 00 diff --git a/src/nos/lib/dump_lib/ipdump.rel b/src/nos/lib/dump_lib/ipdump.rel index e470a468..e91289e2 100644 --- a/src/nos/lib/dump_lib/ipdump.rel +++ b/src/nos/lib/dump_lib/ipdump.rel @@ -3,36 +3,36 @@ H 2 areas 26 global symbols S _inet_ntoa Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _trim_mbuf Ref00000000 -S ___04d2_d229_ip_5frecv_28_25s_29 Ref00000000 -S ___0022_a0dd__0a Ref00000000 -S ___0077_269f__20_25s Ref00000000 +S ___0090_269f__20_25s Ref00000000 +S ___02da_03a7_IP_3a_20bad_20heade Ref00000000 +S ___0023_a0dd__0a Ref00000000 S _len_p Ref00000000 -S ___0098_eb24__20MF Ref00000000 +S ___057f_d229_ip_5frecv_28_25s_29 Ref00000000 +S ___00fa_0bfc__20tos_20_25u Ref00000000 S _ntohip Ref00000000 +S ___01be_589d__2d_3e_25s_20ihl_20 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _dup_p Ref00000000 S __fprintf Ref00000000 -S ___00df_c067__20spi_20_25lx Ref00000000 S .__.ABS. Def00000000 -S ___00e1_0bfc__20tos_20_25u Ref00000000 +S ___02d9_88e0_IP_3a_20CHECKSUM_20 Ref00000000 S _fputc Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S _cksum Ref00000000 -S ___00da_0187__20prot_20_25u_0a Ref00000000 -S ___0298_4543_IP_3a_20len_20_25u Ref00000000 S _Iplink Ref00000000 -S ___00bf_3119__20id_20_25u_20offs Ref00000000 +S ___00a5_43af__20CE Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?S_MUL_L02 Ref00000000 -S ___04d3_289f_ip_5fsend_0a Ref00000000 -S ___008c_43af__20CE Ref00000000 +S ___00a8_3c3c__20DF Ref00000000 +S ___00b1_eb24__20MF Ref00000000 S _free_p Ref00000000 -S ___008f_3c3c__20DF Ref00000000 -S ___0296_88e0_IP_3a_20CHECKSUM_20 Ref00000000 -S ___0297_03a7_IP_3a_20bad_20heade Ref00000000 +S ___00f8_c067__20spi_20_25lx Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0192_589d__2d_3e_25s_20ihl_20 Ref00000000 -S ___00d9_5557__20prot_20_25s_0a Ref00000000 +S ___00f3_0187__20prot_20_25u_0a Ref00000000 +S ___00f2_5557__20prot_20_25s_0a Ref00000000 +S ___02db_4543_IP_3a_20len_20_25u Ref00000000 +S ___0580_289f_ip_5fsend_0a Ref00000000 +S ___00d8_3119__20id_20_25u_20offs Ref00000000 S _Command Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 52F flags 0 @@ -43,7 +43,7 @@ S _ipldump Def000000F5 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 BC FF 79 B0 28 0B -R 00 00 01 00 02 05 16 00 +R 00 00 01 00 02 05 15 00 T 09 00 00 00 DD 6E 04 DD 66 05 7E 23 B6 20 03 R 00 00 01 00 T 14 00 00 00 @@ -67,11 +67,11 @@ R 00 00 01 00 T 3F 00 00 00 R 00 00 01 00 T 3F 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1D 00 02 0B 1D 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 T 45 00 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 4E 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 53 00 00 00 00 00 00 00 F1 F1 F1 C3 R 00 00 01 00 02 04 01 00 T 59 00 00 00 DC 00 00 00 @@ -83,9 +83,9 @@ R 00 00 01 00 T 66 00 00 00 DD 66 FC E5 DD 6E 04 DD 66 05 4E R 00 00 01 00 T 71 00 00 00 23 46 11 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 11 00 +R 00 00 01 00 2B 0A 12 00 T 79 00 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 11 00 02 09 01 00 +R 00 00 01 00 02 04 12 00 02 09 01 00 T 80 00 00 00 B4 28 21 R 00 00 01 00 T 83 00 00 00 @@ -97,11 +97,11 @@ R 00 00 01 00 T 83 00 00 00 DD 6E FD DD 66 FE E5 0E R 00 00 01 00 T 8B 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 1C 00 02 0A 1C 00 +R 00 00 01 00 2B 04 0F 00 02 0A 0F 00 T 91 00 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 99 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 9E 00 00 00 00 00 00 00 F1 F1 F1 F1 R 00 00 01 00 02 04 01 00 T A4 00 00 00 @@ -109,7 +109,7 @@ R 00 00 01 00 T A4 00 00 00 DD 4E 04 DD 46 05 21 00 00 39 5D R 00 00 01 00 T AF 00 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 +R 00 00 01 00 2B 06 09 00 02 0B 09 00 T B5 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B R 00 00 01 00 02 05 01 00 T BE 00 00 00 E5 DD 6E 04 DD 66 05 E5 21 04 00 @@ -123,19 +123,19 @@ R 00 00 01 00 02 04 01 00 T DC 00 00 00 R 00 00 01 00 T DC 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 09 00 +R 00 00 01 00 02 05 0B 00 T DF 00 00 00 R 00 00 01 00 T DF 00 00 00 CD 00 00 00 00 DD 6E 12 DD 66 13 -R 00 00 01 00 02 05 10 00 +R 00 00 01 00 02 05 11 00 T E8 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 29 06 01 00 00 0B 01 00 T EE 00 00 00 CD 00 00 00 00 E1 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 02 0B 09 00 +R 00 00 01 00 02 05 01 00 02 0B 0B 00 T F5 00 00 00 R 00 00 01 00 T F5 00 00 00 CD 00 00 00 00 FC FF 21 16 00 09 -R 00 00 01 00 02 05 16 00 +R 00 00 01 00 02 05 15 00 T FE 00 00 00 5E 16 00 21 14 00 19 EB 21 08 00 R 00 00 01 00 T 09 01 00 00 09 7E 23 66 6F A7 ED 52 DD 75 FC @@ -149,11 +149,11 @@ R 00 00 01 00 02 04 01 00 T 2E 01 00 00 46 05 09 5E 23 56 D5 1E R 00 00 01 00 T 36 01 00 00 00 00 00 00 D5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 13 00 02 0A 13 00 +R 00 00 01 00 2B 04 1E 00 02 0A 1E 00 T 3C 01 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 44 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 49 01 00 00 00 00 00 00 F1 F1 F1 F1 69 60 5E R 00 00 01 00 02 04 01 00 T 52 01 00 00 23 56 23 4E 23 46 3E 00 00 00 00 @@ -161,11 +161,11 @@ R 00 00 01 00 2B 0B 00 00 T 5A 01 00 00 21 00 00 00 00 CD 00 00 00 00 E5 R 00 00 01 00 02 05 00 00 02 0A 01 00 T 61 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 05 00 02 0B 05 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 T 67 01 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 70 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 75 01 00 00 00 00 00 00 F1 F1 F1 F1 21 14 00 R 00 00 01 00 02 04 01 00 T 7E 01 00 00 DD 4E 04 DD 46 05 09 5E 16 00 D5 @@ -177,13 +177,13 @@ R 00 00 01 00 T 9F 01 00 00 46 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 00 00 02 0B 00 00 T A5 01 00 00 CD 00 00 00 00 E5 0E 00 00 00 00 -R 00 00 01 00 02 05 01 00 2B 0B 1F 00 +R 00 00 01 00 02 05 01 00 2B 0B 0A 00 T AB 01 00 00 C5 21 00 00 00 00 E5 DD 6E 02 DD -R 00 00 01 00 02 06 1F 00 +R 00 00 01 00 02 06 0A 00 T B4 01 00 00 66 03 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0B 00 +R 00 00 01 00 2B 08 0D 00 T BA 01 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 0B 00 02 09 01 00 +R 00 00 01 00 02 04 0D 00 02 09 01 00 T C1 01 00 00 0C 00 39 F9 EB 21 13 00 DD 4E 04 R 00 00 01 00 T CC 01 00 00 DD 46 05 09 7E B7 28 28 @@ -193,11 +193,11 @@ R 00 00 01 00 T D4 01 00 00 21 13 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 T DF 01 00 00 06 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 0E 00 +R 00 00 01 00 2B 08 08 00 T E6 01 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 0E 00 +R 00 00 01 00 02 04 08 00 T EF 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 +R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 T F5 01 00 00 CD 00 00 00 00 F1 F1 F1 F1 R 00 00 01 00 02 05 01 00 T FC 01 00 00 @@ -221,11 +221,11 @@ R 00 00 01 00 T 2B 02 00 00 23 56 D5 21 0A 00 09 4E 23 46 C5 R 00 00 01 00 T 36 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 15 00 02 0B 15 00 +R 00 00 01 00 2B 05 20 00 02 0B 20 00 T 3C 02 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 45 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 4A 02 00 00 00 00 00 00 F1 F1 F1 F1 F1 R 00 00 01 00 02 04 01 00 T 51 02 00 00 @@ -237,11 +237,11 @@ R 00 00 01 00 T 66 02 00 00 R 00 00 01 00 T 66 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1B 00 02 0B 1B 00 +R 00 00 01 00 2B 05 17 00 02 0B 17 00 T 6C 02 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 75 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 7A 02 00 00 00 00 00 00 F1 F1 F1 R 00 00 01 00 02 04 01 00 T 7F 02 00 00 @@ -253,11 +253,11 @@ R 00 00 01 00 T 94 02 00 00 R 00 00 01 00 T 94 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0B 07 00 +R 00 00 01 00 2B 05 18 00 02 0B 18 00 T 9A 02 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T A3 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T A8 02 00 00 00 00 00 00 F1 F1 F1 AF DD 77 0C R 00 00 01 00 02 04 01 00 T B1 02 00 00 DD 77 0D @@ -271,11 +271,11 @@ R 00 00 01 00 T C9 02 00 00 R 00 00 01 00 T C9 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 19 00 02 0B 19 00 +R 00 00 01 00 2B 05 14 00 02 0B 14 00 T CF 02 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T D8 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T DD 02 00 00 00 00 00 00 F1 F1 F1 R 00 00 01 00 02 04 01 00 T E2 02 00 00 @@ -289,7 +289,7 @@ R 00 00 01 00 T F1 02 00 00 DD 4E 02 DD 46 03 11 0A 00 3E R 00 00 01 00 T FB 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 +R 00 00 01 00 2B 04 10 00 02 09 10 00 T 00 03 00 00 00 00 00 00 C3 FD 03 00 00 R 00 00 01 00 02 04 01 00 00 09 01 00 T 05 03 00 00 @@ -301,7 +301,7 @@ R 00 00 01 00 T 0C 03 00 00 01 09 00 DD 5E FE DD 56 FF CD R 00 00 01 00 T 16 03 00 00 00 00 00 00 21 00 00 00 00 19 7E -R 00 00 01 00 02 04 17 00 02 09 14 00 +R 00 00 01 00 02 04 16 00 02 09 13 00 T 1D 03 00 00 B7 CA D5 03 00 00 R 00 00 01 00 00 06 01 00 T 21 03 00 00 @@ -311,7 +311,7 @@ R 00 00 01 00 T 2C 03 00 00 01 09 00 DD 5E FE DD 56 FF CD R 00 00 01 00 T 36 03 00 00 00 00 00 00 21 00 00 00 00 19 7E -R 00 00 01 00 02 04 17 00 02 09 14 00 +R 00 00 01 00 02 04 16 00 02 09 13 00 T 3D 03 00 00 E1 BE C2 CA 03 00 00 R 00 00 01 00 00 07 01 00 T 42 03 00 00 @@ -319,13 +319,13 @@ R 00 00 01 00 T 42 03 00 00 01 09 00 DD 5E FE DD 56 FF CD R 00 00 01 00 T 4C 03 00 00 00 00 00 00 21 01 00 00 00 19 4E -R 00 00 01 00 02 04 17 00 02 09 14 00 +R 00 00 01 00 02 04 16 00 02 09 13 00 T 53 03 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 20 00 +R 00 00 01 00 2B 08 1D 00 T 5A 03 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 20 00 +R 00 00 01 00 02 04 1D 00 T 63 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 +R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 T 69 03 00 00 CD 00 00 00 00 F1 F1 F1 F1 DD 6E R 00 00 01 00 02 05 01 00 T 72 03 00 00 0C DD 66 0D E5 21 04 00 DD 4E 04 @@ -341,7 +341,7 @@ R 00 00 01 00 T A8 03 00 00 09 00 DD 5E FE DD 56 FF CD R 00 00 01 00 T B1 03 00 00 00 00 00 00 21 06 00 00 00 19 4E -R 00 00 01 00 02 04 17 00 02 09 14 00 +R 00 00 01 00 02 04 16 00 02 09 13 00 T B8 03 00 00 23 46 23 7E 69 60 D1 C1 CD R 00 00 01 00 T C1 03 00 00 00 00 00 00 E1 E1 E1 E1 E1 18 33 @@ -359,21 +359,21 @@ R 00 00 01 00 T D5 03 00 00 21 15 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 T E0 03 00 00 06 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 12 00 +R 00 00 01 00 2B 08 1C 00 T E7 03 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 12 00 +R 00 00 01 00 02 04 1C 00 T F0 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 +R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 T F6 03 00 00 CD 00 00 00 00 F1 F1 F1 F1 R 00 00 01 00 02 05 01 00 T FD 03 00 00 R 00 00 01 00 T FD 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 09 00 +R 00 00 01 00 02 05 0B 00 T 00 04 00 00 R 00 00 01 00 T 00 04 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD -R 00 00 01 00 02 05 16 00 +R 00 00 01 00 02 05 15 00 T 09 04 00 00 B6 03 CA 95 04 00 00 R 00 00 01 00 00 07 01 00 T 0E 04 00 00 @@ -381,13 +381,13 @@ R 00 00 01 00 T 0E 04 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 R 00 00 01 00 T 19 04 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 03 00 +R 00 00 01 00 2B 06 07 00 T 1E 04 00 00 00 00 00 00 E5 21 1B 00 ED 4B -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 07 00 T 26 04 00 00 00 00 00 00 09 4E 23 46 C5 3E R 00 00 01 00 02 04 21 00 T 2E 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 33 04 00 00 00 00 00 00 F1 F1 F1 F1 DD 7E 0C R 00 00 01 00 02 04 01 00 T 3C 04 00 00 DD B6 0D DD B6 0E DD B6 0F 28 2E @@ -397,37 +397,37 @@ R 00 00 01 00 T 47 04 00 00 DD 6E 0E DD 66 0F E5 DD 6E 0C DD R 00 00 01 00 T 52 04 00 00 66 0D E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 0C 00 +R 00 00 01 00 2B 08 1A 00 T 59 04 00 00 00 00 00 00 E5 21 1B 00 ED 4B -R 00 00 01 00 02 04 0C 00 +R 00 00 01 00 02 04 1A 00 T 61 04 00 00 00 00 00 00 09 4E 23 46 C5 3E R 00 00 01 00 02 04 21 00 T 69 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 6E 04 00 00 00 00 00 00 F1 F1 F1 F1 F1 R 00 00 01 00 02 04 01 00 T 75 04 00 00 R 00 00 01 00 T 75 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 04 00 02 0B 04 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 T 7B 04 00 00 E5 21 1B 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 21 00 T 84 04 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0B 00 +R 00 00 01 00 2B 09 0D 00 T 8B 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0B 00 02 09 01 00 +R 00 00 01 00 02 04 0D 00 02 09 01 00 T 92 04 00 00 F1 18 1E R 00 00 01 00 T 95 04 00 00 R 00 00 01 00 T 95 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 18 00 02 0B 18 00 +R 00 00 01 00 2B 05 1F 00 02 0B 1F 00 T 9B 04 00 00 E5 21 1B 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 21 00 T A4 04 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0B 00 +R 00 00 01 00 2B 09 0D 00 T AB 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0B 00 02 09 01 00 +R 00 00 01 00 02 04 0D 00 02 09 01 00 T B2 04 00 00 F1 R 00 00 01 00 T B3 04 00 00 @@ -439,9 +439,9 @@ R 00 00 01 00 02 05 06 00 02 0A 01 00 T C2 04 00 00 21 00 00 E5 DD 4E 0A DD 46 0B 21 R 00 00 01 00 T CD 04 00 00 04 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0A 00 +R 00 00 01 00 2B 0A 0C 00 T D5 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0A 00 02 09 01 00 +R 00 00 01 00 02 04 0C 00 02 09 01 00 T DC 04 00 00 21 01 00 E5 21 02 00 39 E5 DD 4E R 00 00 01 00 T E7 04 00 00 04 DD 46 05 21 1B 00 ED 5B @@ -453,16 +453,16 @@ R 00 00 01 00 29 04 01 00 00 09 01 00 T FC 04 00 00 00 00 00 00 E1 E1 21 00 00 39 5D R 00 00 01 00 02 04 01 00 T 05 05 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1A 00 02 0B 1A 00 +R 00 00 01 00 2B 06 19 00 02 0B 19 00 T 0B 05 00 00 CD 00 00 00 00 0E 00 00 00 00 C5 -R 00 00 01 00 02 05 01 00 2B 0A 04 00 +R 00 00 01 00 02 05 01 00 2B 0A 05 00 T 11 05 00 00 21 00 00 00 00 E5 21 1B 00 ED 4B -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T 1A 05 00 00 00 00 00 00 09 4E 23 46 C5 3E R 00 00 01 00 02 04 21 00 T 22 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 27 05 00 00 00 00 00 00 F1 F1 F1 C3 R 00 00 01 00 02 04 01 00 T 2D 05 00 00 00 00 00 00 -R 00 00 01 00 02 04 09 00 +R 00 00 01 00 02 04 0B 00 diff --git a/src/nos/lib/dump_lib/tcpdump.rel b/src/nos/lib/dump_lib/tcpdump.rel index 3c95ec9a..b5c4257c 100644 --- a/src/nos/lib/dump_lib/tcpdump.rel +++ b/src/nos/lib/dump_lib/tcpdump.rel @@ -1,25 +1,25 @@ XL4 H 5 areas 15 global symbols S _ntohtcp Ref00000000 +S ___00b3_c5ed__20MSS_20_25u Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___00ad_1d25__20Wnd_20_25u Ref00000000 -S ___009a_c5ed__20MSS_20_25u Ref00000000 -S ___0077_269f__20_25s Ref00000000 +S ___0090_269f__20_25s Ref00000000 +S ___00a3_2da0__20Ack_20x_25lx Ref00000000 S _len_p Ref00000000 -S ___008a_2da0__20Ack_20x_25lx Ref00000000 -S ___039a_7267_TCP_3a_20_25u_2d_3e Ref00000000 +S ___041f_7267_TCP_3a_20_25u_2d_3e Ref00000000 +S ___00c1_5a85__20UP_20x_25x Ref00000000 +S ___00be_2dcc__20TSTAMP_20_25lu_2 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___00a8_5a85__20UP_20x_25x Ref00000000 +S ___00c6_1d25__20Wnd_20_25u Ref00000000 S __fprintf Ref00000000 -S ___008d_d667__20CHECKSUM_20ERROR Ref00000000 +S ___00a6_d667__20CHECKSUM_20ERROR Ref00000000 S .__.ABS. Def00000000 -S ___00a5_2dcc__20TSTAMP_20_25lu_2 Ref00000000 S _fputc Ref00000000 -S ___00ac_a984__20WSCALE_20_25u Ref00000000 S _cksum Ref00000000 +S ___00a9_26b0__20Data_20_25u Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0090_26b0__20Data_20_25u Ref00000000 +S ___00c5_a984__20WSCALE_20_25u Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 3D7 flags 0 S _tcp_dump Def00000000 @@ -28,7 +28,7 @@ A IDATA0 size E flags 0 A CDATA0 size E flags 0 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D2 FF 79 B0 28 0B +T 00 00 00 00 CD 00 00 00 00 A8 FF 79 B0 28 0B R 00 00 01 00 02 05 11 00 T 09 00 00 00 DD 6E 04 DD 66 05 7E 23 B6 20 03 R 00 00 01 00 @@ -44,67 +44,67 @@ T 17 00 00 00 R 00 00 01 00 T 17 00 00 00 DD 4E 0C DD 46 0D DD 6E 0A DD 66 R 00 00 01 00 -T 22 00 00 00 0B DD 75 F1 DD 74 F2 DD 71 F3 DD +T 22 00 00 00 0B DD 75 F0 DD 74 F1 DD 71 F2 DD R 00 00 01 00 -T 2D 00 00 00 70 F4 DD 4E 10 DD 46 11 DD 6E 0E +T 2D 00 00 00 70 F3 DD 4E 10 DD 46 11 DD 6E 0E R 00 00 01 00 -T 38 00 00 00 DD 66 0F DD 75 F5 DD 74 F6 DD 71 +T 38 00 00 00 DD 66 0F DD 75 F4 DD 74 F5 DD 71 R 00 00 01 00 -T 43 00 00 00 F7 DD 70 F8 DD 36 F9 06 DD 6E 04 +T 43 00 00 00 F6 DD 70 F7 DD 36 F8 06 DD 6E 04 R 00 00 01 00 T 4E 00 00 00 DD 66 05 5E 23 56 3E 00 00 00 00 R 00 00 01 00 2B 0B 05 00 T 56 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 05 00 02 0A 01 00 -T 5D 00 00 00 75 FA DD 74 FB DD 6E FA DD 66 FB +R 00 00 01 00 02 05 05 00 02 0A 02 00 +T 5D 00 00 00 75 F9 DD 74 FA DD 6E F9 DD 66 FA R 00 00 01 00 T 68 00 00 00 E5 DD 6E 04 DD 66 05 4E 23 46 21 R 00 00 01 00 -T 73 00 00 00 21 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 10 00 +T 73 00 00 00 4A 00 39 5D 54 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0F 00 T 7B 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 10 00 02 09 01 00 -T 82 00 00 00 75 FC DD 74 FD DD 4E 04 DD 46 05 +R 00 00 01 00 02 04 0F 00 02 09 02 00 +T 82 00 00 00 75 FB DD 74 FC DD 4E 04 DD 46 05 R 00 00 01 00 T 8D 00 00 00 21 00 00 39 5D 54 3E 00 00 00 00 R 00 00 01 00 2B 0B 00 00 T 95 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 00 00 02 0A 01 00 -T 9C 00 00 00 6E DC DD 66 DD E5 DD 6E DA DD 66 +R 00 00 01 00 02 05 00 00 02 0A 02 00 +T 9C 00 00 00 6E B2 DD 66 B3 E5 DD 6E B0 DD 66 R 00 00 01 00 -T A7 00 00 00 DB E5 DD 6E D8 DD 66 D9 E5 DD 6E +T A7 00 00 00 B1 E5 DD 6E AE DD 66 AF E5 DD 6E R 00 00 01 00 -T B2 00 00 00 D6 DD 66 D7 E5 DD 6E D4 DD 66 D5 +T B2 00 00 00 AC DD 66 AD E5 DD 6E AA DD 66 AB R 00 00 01 00 -T BD 00 00 00 E5 DD 6E D2 DD 66 D3 E5 0E +T BD 00 00 00 E5 DD 6E A8 DD 66 A9 E5 0E R 00 00 01 00 T C6 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 07 00 02 0A 07 00 +R 00 00 01 00 2B 04 06 00 02 0A 06 00 T CC 00 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T D4 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T D9 00 00 00 00 00 00 00 EB 21 12 00 39 F9 EB -R 00 00 01 00 02 04 01 00 -T E2 00 00 00 DD 7E EF E6 04 47 DD 7E F0 E6 00 +R 00 00 01 00 02 04 02 00 +T E2 00 00 00 DD 7E C5 E6 04 47 DD 7E C6 E6 00 R 00 00 01 00 T ED 00 00 00 B0 28 29 R 00 00 01 00 T F0 00 00 00 R 00 00 01 00 -T F0 00 00 00 DD 6E DC DD 66 DD E5 DD 6E DA DD +T F0 00 00 00 DD 6E B2 DD 66 B3 E5 DD 6E B0 DD R 00 00 01 00 -T FB 00 00 00 66 DB E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 06 00 +T FB 00 00 00 66 B1 E5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 04 00 T 02 01 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 04 00 T 0B 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 +R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 T 11 01 00 00 CD 00 00 00 00 F1 F1 F1 F1 F1 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 19 01 00 00 R 00 00 01 00 -T 19 01 00 00 DD 7E EF E6 01 47 DD 7E F0 E6 00 +T 19 01 00 00 DD 7E C5 E6 01 47 DD 7E C6 E6 00 R 00 00 01 00 T 24 01 00 00 B0 28 21 R 00 00 01 00 @@ -113,16 +113,16 @@ R 00 00 01 00 T 27 01 00 00 21 0C 00 00 00 4E 23 46 C5 0E R 00 00 01 00 00 05 03 00 T 2F 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 04 00 02 0A 04 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T 35 01 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 3D 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 42 01 00 00 00 00 00 00 F1 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 48 01 00 00 R 00 00 01 00 -T 48 01 00 00 DD 7E EF E6 02 47 DD 7E F0 E6 00 +T 48 01 00 00 DD 7E C5 E6 02 47 DD 7E C6 E6 00 R 00 00 01 00 T 53 01 00 00 B0 28 21 R 00 00 01 00 @@ -131,16 +131,16 @@ R 00 00 01 00 T 56 01 00 00 21 0A 00 00 00 4E 23 46 C5 0E R 00 00 01 00 00 05 03 00 T 5E 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 04 00 02 0A 04 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T 64 01 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 6C 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 71 01 00 00 00 00 00 00 F1 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 77 01 00 00 R 00 00 01 00 -T 77 01 00 00 DD 7E EF E6 04 47 DD 7E F0 E6 00 +T 77 01 00 00 DD 7E C5 E6 04 47 DD 7E C6 E6 00 R 00 00 01 00 T 82 01 00 00 B0 28 21 R 00 00 01 00 @@ -149,16 +149,16 @@ R 00 00 01 00 T 85 01 00 00 21 08 00 00 00 4E 23 46 C5 0E R 00 00 01 00 00 05 03 00 T 8D 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 04 00 02 0A 04 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T 93 01 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 9B 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T A0 01 00 00 00 00 00 00 F1 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T A6 01 00 00 R 00 00 01 00 -T A6 01 00 00 DD 7E EF E6 08 47 DD 7E F0 E6 00 +T A6 01 00 00 DD 7E C5 E6 08 47 DD 7E C6 E6 00 R 00 00 01 00 T B1 01 00 00 B0 28 21 R 00 00 01 00 @@ -167,16 +167,16 @@ R 00 00 01 00 T B4 01 00 00 21 06 00 00 00 4E 23 46 C5 0E R 00 00 01 00 00 05 03 00 T BC 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 04 00 02 0A 04 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T C2 01 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T CA 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T CF 01 00 00 00 00 00 00 F1 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T D5 01 00 00 R 00 00 01 00 -T D5 01 00 00 DD 7E EF E6 10 47 DD 7E F0 E6 00 +T D5 01 00 00 DD 7E C5 E6 10 47 DD 7E C6 E6 00 R 00 00 01 00 T E0 01 00 00 B0 28 21 R 00 00 01 00 @@ -185,16 +185,16 @@ R 00 00 01 00 T E3 01 00 00 21 04 00 00 00 4E 23 46 C5 0E R 00 00 01 00 00 05 03 00 T EB 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 04 00 02 0A 04 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T F1 01 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T F9 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T FE 01 00 00 00 00 00 00 F1 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 04 02 00 00 R 00 00 01 00 -T 04 02 00 00 DD 7E EF E6 20 47 DD 7E F0 E6 00 +T 04 02 00 00 DD 7E C5 E6 20 47 DD 7E C6 E6 00 R 00 00 01 00 T 0F 02 00 00 B0 28 21 R 00 00 01 00 @@ -203,16 +203,16 @@ R 00 00 01 00 T 12 02 00 00 21 02 00 00 00 4E 23 46 C5 0E R 00 00 01 00 00 05 03 00 T 1A 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 04 00 02 0A 04 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T 20 02 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 28 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 2D 02 00 00 00 00 00 00 F1 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 33 02 00 00 R 00 00 01 00 -T 33 02 00 00 DD 7E EF E6 40 47 DD 7E F0 E6 00 +T 33 02 00 00 DD 7E C5 E6 40 47 DD 7E C6 E6 00 R 00 00 01 00 T 3E 02 00 00 B0 28 21 R 00 00 01 00 @@ -221,95 +221,95 @@ R 00 00 01 00 T 41 02 00 00 21 00 00 00 00 4E 23 46 C5 0E R 00 00 01 00 00 05 03 00 T 49 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 04 00 02 0A 04 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T 4F 02 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 57 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 5C 02 00 00 00 00 00 00 F1 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 62 02 00 00 R 00 00 01 00 -T 62 02 00 00 DD 6E DE DD 66 DF E5 0E +T 62 02 00 00 DD 6E B4 DD 66 B5 E5 0E R 00 00 01 00 T 6A 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 02 00 02 0A 02 00 +R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 T 70 02 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 78 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 -T 7D 02 00 00 00 00 00 00 F1 F1 F1 F1 DD 7E EF -R 00 00 01 00 02 04 01 00 -T 86 02 00 00 E6 02 47 DD 7E F0 E6 00 B0 28 21 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +T 7D 02 00 00 00 00 00 00 F1 F1 F1 F1 DD 7E C5 +R 00 00 01 00 02 04 02 00 +T 86 02 00 00 E6 02 47 DD 7E C6 E6 00 B0 28 21 R 00 00 01 00 T 91 02 00 00 R 00 00 01 00 -T 91 02 00 00 DD 6E E2 DD 66 E3 E5 0E +T 91 02 00 00 DD 6E B8 DD 66 B9 E5 0E R 00 00 01 00 T 99 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 09 00 02 0A 09 00 +R 00 00 01 00 2B 04 07 00 02 0A 07 00 T 9F 02 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T A7 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T AC 02 00 00 00 00 00 00 F1 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T B2 02 00 00 R 00 00 01 00 -T B2 02 00 00 DD 7E EF E6 80 47 DD 7E F0 E6 00 +T B2 02 00 00 DD 7E C5 E6 80 47 DD 7E C6 E6 00 R 00 00 01 00 T BD 02 00 00 B0 28 21 R 00 00 01 00 T C0 02 00 00 R 00 00 01 00 -T C0 02 00 00 DD 6E E4 DD 66 E5 E5 0E +T C0 02 00 00 DD 6E BA DD 66 BB E5 0E R 00 00 01 00 T C8 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 03 00 02 0A 03 00 +R 00 00 01 00 2B 04 01 00 02 0A 01 00 T CE 02 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T D6 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T DB 02 00 00 00 00 00 00 F1 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T E1 02 00 00 R 00 00 01 00 -T E1 02 00 00 DD 7E EF E6 00 47 DD 7E F0 E6 01 +T E1 02 00 00 DD 7E C5 E6 00 47 DD 7E C6 E6 01 R 00 00 01 00 T EC 02 00 00 B0 28 20 R 00 00 01 00 T EF 02 00 00 R 00 00 01 00 -T EF 02 00 00 DD 4E E6 06 00 C5 0E 00 00 00 00 -R 00 00 01 00 2B 0B 0F 00 +T EF 02 00 00 DD 4E BC 06 00 C5 0E 00 00 00 00 +R 00 00 01 00 2B 0B 13 00 T F7 02 00 00 C5 21 00 00 00 00 E5 DD 6E 02 DD -R 00 00 01 00 02 06 0F 00 +R 00 00 01 00 02 06 13 00 T 00 03 00 00 66 03 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0A 00 +R 00 00 01 00 2B 08 0B 00 T 06 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0A 00 02 09 01 00 +R 00 00 01 00 02 04 0B 00 02 09 02 00 T 0D 03 00 00 F1 F1 R 00 00 01 00 T 0F 03 00 00 R 00 00 01 00 -T 0F 03 00 00 DD 7E EF E6 00 47 DD 7E F0 E6 02 +T 0F 03 00 00 DD 7E C5 E6 00 47 DD 7E C6 E6 02 R 00 00 01 00 T 1A 03 00 00 B0 28 39 R 00 00 01 00 T 1D 03 00 00 R 00 00 01 00 -T 1D 03 00 00 DD 6E ED DD 66 EE E5 DD 6E EB DD +T 1D 03 00 00 DD 6E C3 DD 66 C4 E5 DD 6E C1 DD R 00 00 01 00 -T 28 03 00 00 66 EC E5 DD 6E E9 DD 66 EA E5 DD +T 28 03 00 00 66 C2 E5 DD 6E BF DD 66 C0 E5 DD R 00 00 01 00 -T 33 03 00 00 6E E7 DD 66 E8 E5 0E 00 00 00 00 -R 00 00 01 00 2B 0B 0D 00 +T 33 03 00 00 6E BD DD 66 BE E5 0E 00 00 00 00 +R 00 00 01 00 2B 0B 08 00 T 3B 03 00 00 C5 21 00 00 00 00 E5 DD 6E 02 DD -R 00 00 01 00 02 06 0D 00 +R 00 00 01 00 02 06 08 00 T 44 03 00 00 66 03 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0A 00 +R 00 00 01 00 2B 08 0B 00 T 4A 03 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 0A 00 02 09 01 00 +R 00 00 01 00 02 04 0B 00 02 09 02 00 T 51 03 00 00 0E 00 39 F9 EB R 00 00 01 00 T 56 03 00 00 @@ -318,27 +318,27 @@ T 56 03 00 00 DD 6E 04 DD 66 05 5E 23 56 3E R 00 00 01 00 T 60 03 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 05 00 02 09 05 00 -T 65 03 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 01 00 +T 65 03 00 00 00 00 00 00 DD 75 FD DD 74 FE 7D +R 00 00 01 00 02 04 02 00 T 6E 03 00 00 B4 28 21 R 00 00 01 00 T 71 03 00 00 R 00 00 01 00 -T 71 03 00 00 DD 6E FE DD 66 FF E5 0E +T 71 03 00 00 DD 6E FD DD 66 FE E5 0E R 00 00 01 00 T 79 03 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 13 00 02 0A 13 00 +R 00 00 01 00 2B 04 10 00 02 0A 10 00 T 7F 03 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 87 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 8C 03 00 00 00 00 00 00 F1 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 92 03 00 00 R 00 00 01 00 -T 92 03 00 00 DD 7E 12 DD B6 13 28 29 DD 7E FC +T 92 03 00 00 DD 7E 12 DD B6 13 28 29 DD 7E FB R 00 00 01 00 -T 9D 03 00 00 DD B6 FD 28 21 +T 9D 03 00 00 DD B6 FC 28 21 R 00 00 01 00 T A2 03 00 00 R 00 00 01 00 @@ -346,16 +346,16 @@ T A2 03 00 00 R 00 00 01 00 T A2 03 00 00 R 00 00 01 00 -T A2 03 00 00 DD 6E FC DD 66 FD E5 0E +T A2 03 00 00 DD 6E FB DD 66 FC E5 0E R 00 00 01 00 T AA 03 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0B 00 02 0A 0B 00 +R 00 00 01 00 2B 04 0C 00 02 0A 0C 00 T B0 03 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T B8 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T BD 03 00 00 00 00 00 00 F1 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T C3 03 00 00 R 00 00 01 00 T C3 03 00 00 DD 4E 02 DD 46 03 11 0A 00 3E @@ -363,11 +363,11 @@ R 00 00 01 00 T CD 03 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0E 00 02 09 0E 00 T D2 03 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T D4 03 00 00 R 00 00 01 00 T D4 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 09 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 46 49 4E 00 diff --git a/src/nos/lib/dump_lib/trace.rel b/src/nos/lib/dump_lib/trace.rel index 395251c4..7b679769 100644 --- a/src/nos/lib/dump_lib/trace.rel +++ b/src/nos/lib/dump_lib/trace.rel @@ -1,70 +1,71 @@ XL4 -H 5 areas 41 global symbols +H 5 areas 42 global symbols S ?US_RSH_L02 Ref00000000 +S ___009a_3f71__20_28ASCII_20dump_ Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___01b5_b489__2a_2a_2a_2a_2a_2a_ Ref00000000 S _strncmp Ref00000000 -S ___00cf_8a3d__20output Ref00000000 S _if_lookup Ref00000000 S _fgetc Ref00000000 -S ___0088_ace7__20_2d_20no_20broad Ref00000000 -S ___0022_a0dd__0a Ref00000000 +S ___002a_2592__0a_2a_2a_2a_2a_2a_ Ref00000000 +S ___0023_a0dd__0a Ref00000000 S _rip Ref00000000 S _memset Ref00000000 S _Ifaces Ref00000000 S _newsession Ref00000000 S _len_p Ref00000000 -S ___0081_3f71__20_28ASCII_20dump_ Ref00000000 +S __vfprintf Ref00000000 +S ___009d_ef5f__20_28headers_20onl Ref00000000 S _fwrite Ref00000000 -S ___021a_c0f9_Can_27t_20write_20t Ref00000000 +S ___009b_05b3__20_28Hex_2fASCII_2 Ref00000000 S _ctime Ref00000000 +S ___0302_6e91_Interface_20_25s_20 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___00fb_e1c5__20trace_20file_3a_ Ref00000000 +S ___024c_c0f9_Can_27t_20write_20t Ref00000000 +S ___00b8_78a4__20Raw_20output Ref00000000 S _strlen Ref00000000 S _dup_p Ref00000000 S __fprintf Ref00000000 +S ___0524_7366_empty_20packet_21_2 Ref00000000 +S ___015c_b8b7__25s_20_2d_20 Ref00000000 S ?LEAVE_DIRECT_L09 Ref00000000 -S ___0025_da94__0a_25s_20_2d_20_25 Ref00000000 -S ___009f_78a4__20Raw_20output Ref00000000 -S ___0084_ef5f__20_28headers_20onl Ref00000000 +S ___00e8_8a3d__20output Ref00000000 +S ___0026_da94__0a_25s_20_2d_20_25 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S ___0189_b489__2a_2a_2a_2a_2a_2a_ Ref00000000 -S ___0082_05b3__20_28Hex_2fASCII_2 Ref00000000 S _pullup Ref00000000 S _fputc Ref00000000 -S ___0489_7366_empty_20packet_21_2 Ref00000000 -S ___0029_2592__0a_2a_2a_2a_2a_2a_ Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S ___ctype Ref00000000 -S ___00e2_e1c5__20trace_20file_3a_ Ref00000000 -S ___0141_b8b7__25s_20_2d_20 Ref00000000 +S ___017e_47c0__25s_3a Ref00000000 S _freesession Ref00000000 +S ___00dc_7166__20input Ref00000000 +S ___012b_3773__2504x_20_20 Ref00000000 +S ___00a1_ace7__20_2d_20no_20broad Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ___00fc_ca97__20tracing_20off_0a Ref00000000 S _vfprintf Ref00000000 S _time Ref00000000 S _freopen Ref00000000 -S ___0026_e088__0a_25s_20_2d_20_25 Ref00000000 +S ___0027_e088__0a_25s_20_2d_20_25 Ref00000000 S _free_p Ref00000000 -S ___0155_47c0__25s_3a Ref00000000 S __printf Ref00000000 -S ___02ab_6e91_Interface_20_25s_20 Ref00000000 S _htoi Ref00000000 S _pull8 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _fpname Ref00000000 -S ___00c3_7166__20input Ref00000000 -S ___0112_3773__2504x_20_20 Ref00000000 S _fprintf Ref00000000 S _fclose Ref00000000 S _Cmdline Ref00000000 -S ___00e3_ca97__20tracing_20off_0a Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size BF8 flags 0 -S _tprintf Def00000BA4 +A CODE size BFF flags 0 +S _tprintf Def00000BAB +S __trace_log Def00000AF8 S _shuttrace Def00000AB5 S _hex_dump Def000003B0 S _raw_dump Def000002E0 S _dotrace Def0000065E -S _trace_log Def00000AF8 S _dump Def00000000 A CSTR size 62 flags 0 A IDATA0 size 71 flags 0 @@ -73,7 +74,7 @@ A CDATA0 size 71 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F2 FF DD 7E 02 DD -R 00 00 01 00 02 05 26 00 +R 00 00 01 00 02 05 2B 00 T 09 00 00 00 B6 03 28 2F 21 12 00 DD 4E 02 DD R 00 00 01 00 T 14 00 00 00 46 03 09 7E DD A6 04 47 23 7E DD @@ -119,7 +120,7 @@ R 00 00 01 00 T A2 00 00 00 46 FD 09 4E 23 46 23 7E 69 60 C1 R 00 00 01 00 T AD 00 00 00 CD 00 00 00 00 7D B4 20 03 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T B4 00 00 00 R 00 00 01 00 T B4 00 00 00 @@ -131,13 +132,13 @@ R 00 00 01 00 00 05 01 00 T B7 00 00 00 R 00 00 01 00 T B7 00 00 00 21 04 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 28 00 +R 00 00 01 00 2B 0B 2E 00 T BF 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 28 00 02 0A 01 00 +R 00 00 01 00 02 05 2E 00 02 0A 02 00 T C6 00 00 00 04 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 10 00 +R 00 00 01 00 2B 0A 12 00 T CE 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 10 00 02 09 01 00 +R 00 00 01 00 02 04 12 00 02 09 02 00 T D5 00 00 00 FA DD 74 FB 01 18 00 09 36 00 DD R 00 00 01 00 T E0 00 00 00 6E 02 DD 66 03 23 23 4E 23 46 C5 @@ -145,37 +146,37 @@ R 00 00 01 00 T EB 00 00 00 DD 6E FA DD 66 FB E5 0E R 00 00 01 00 T F3 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 16 00 02 0A 16 00 +R 00 00 01 00 2B 04 1F 00 02 0A 1F 00 T F9 00 00 00 DD 6E FE DD 66 FF E5 3E R 00 00 01 00 T 01 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 14 00 02 09 14 00 +R 00 00 01 00 2B 04 1A 00 02 09 1A 00 T 06 01 00 00 00 00 00 00 F1 F1 F1 F1 F1 18 5E -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 0F 01 00 00 R 00 00 01 00 T 0F 01 00 00 3E 01 A9 B0 20 58 21 04 00 39 5D R 00 00 01 00 T 1A 01 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 28 00 02 0B 28 00 +R 00 00 01 00 2B 06 2E 00 02 0B 2E 00 T 20 01 00 00 CD 00 00 00 00 21 04 00 39 5D 54 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 29 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 10 00 02 0A 10 00 +R 00 00 01 00 2B 05 12 00 02 0A 12 00 T 2F 01 00 00 00 00 00 00 DD 75 FA DD 74 FB 01 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 38 01 00 00 18 00 09 36 00 DD 6E 02 DD 66 03 R 00 00 01 00 T 43 01 00 00 23 23 4E 23 46 C5 DD 6E FA DD 66 R 00 00 01 00 T 4E 01 00 00 FB E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 07 2A 00 +R 00 00 01 00 2B 07 30 00 T 54 01 00 00 00 00 00 00 E5 DD 6E FE DD 66 FF -R 00 00 01 00 02 04 2A 00 +R 00 00 01 00 02 04 30 00 T 5D 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 14 00 02 0B 14 00 +R 00 00 01 00 2B 06 1A 00 02 0B 1A 00 T 63 01 00 00 CD 00 00 00 00 F1 F1 F1 F1 F1 18 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 6C 01 00 00 00 R 00 00 01 00 T 6D 01 00 00 @@ -183,9 +184,9 @@ R 00 00 01 00 T 6D 01 00 00 DD 7E 0A DD B6 0B 28 18 DD 5E 0A R 00 00 01 00 T 78 01 00 00 DD 56 0B 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0C 00 +R 00 00 01 00 2B 08 0D 00 T 7E 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 0C 00 02 09 01 00 +R 00 00 01 00 02 04 0D 00 02 09 02 00 T 85 01 00 00 F4 DD 74 F5 7D B4 20 1C R 00 00 01 00 T 8D 01 00 00 @@ -195,13 +196,13 @@ R 00 00 01 00 T 8D 01 00 00 R 00 00 01 00 T 8D 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1F 00 02 0B 1F 00 +R 00 00 01 00 2B 05 1B 00 02 0B 1B 00 T 93 01 00 00 E5 DD 6E FE DD 66 FF E5 3E R 00 00 01 00 T 9C 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 14 00 02 09 14 00 +R 00 00 01 00 2B 04 1A 00 02 09 1A 00 T A1 01 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T A7 01 00 00 DD 02 00 00 R 00 00 01 00 00 04 01 00 T A9 01 00 00 @@ -211,9 +212,9 @@ R 00 00 01 00 T B4 01 00 00 DD 4E 0A DD 46 0B 21 04 00 39 5D R 00 00 01 00 T BF 01 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 13 00 02 0B 13 00 +R 00 00 01 00 2B 06 19 00 02 0B 19 00 T C5 01 00 00 CD 00 00 00 00 F1 F1 DD 7E F2 DD -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T CE 01 00 00 B6 F3 20 18 R 00 00 01 00 T D2 01 00 00 @@ -221,9 +222,9 @@ R 00 00 01 00 T D2 01 00 00 21 00 00 00 00 E5 DD 6E FE DD 66 R 00 00 01 00 00 05 03 00 T DB 01 00 00 FF E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 35 00 +R 00 00 01 00 2B 07 37 00 T E0 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 35 00 02 09 01 00 +R 00 00 01 00 02 04 37 00 02 09 02 00 T E7 01 00 00 C3 DD 02 00 00 R 00 00 01 00 00 05 01 00 T EA 01 00 00 @@ -247,7 +248,7 @@ R 00 00 01 00 T 19 02 00 00 FC DD 46 FD 09 4E 23 46 23 7E 69 R 00 00 01 00 T 24 02 00 00 60 C1 CD 00 00 00 00 E1 -R 00 00 01 00 02 07 01 00 +R 00 00 01 00 02 07 02 00 T 2A 02 00 00 R 00 00 01 00 T 2A 02 00 00 21 12 00 DD 4E 02 DD 46 03 09 7E @@ -269,19 +270,19 @@ R 00 00 01 00 T 65 02 00 00 R 00 00 01 00 T 65 02 00 00 21 00 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 2B 00 +R 00 00 01 00 2B 0B 31 00 T 6D 02 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 2B 00 02 0A 01 00 +R 00 00 01 00 02 05 31 00 02 0A 02 00 T 74 02 00 00 5E 0A DD 56 0B 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0C 00 +R 00 00 01 00 2B 0A 0D 00 T 7C 02 00 00 00 00 00 00 CD 00 00 00 00 E5 21 -R 00 00 01 00 02 04 0C 00 02 09 01 00 +R 00 00 01 00 02 04 0D 00 02 09 02 00 T 83 02 00 00 00 00 E5 DD 4E 0A DD 46 0B 21 R 00 00 01 00 T 8D 02 00 00 04 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 13 00 +R 00 00 01 00 2B 0A 19 00 T 95 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 13 00 02 09 01 00 +R 00 00 01 00 02 04 19 00 02 09 02 00 T 9C 02 00 00 DD 7E F2 DD B6 F3 28 16 R 00 00 01 00 T A4 02 00 00 @@ -291,15 +292,15 @@ R 00 00 01 00 T AF 02 00 00 FF 3E B0 03 00 00 21 B0 03 00 00 R 00 00 01 00 29 06 01 00 00 0B 01 00 T B5 02 00 00 CD 00 00 00 00 18 15 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T BA 02 00 00 R 00 00 01 00 T BA 02 00 00 21 00 00 00 00 E5 DD 6E FE DD 66 R 00 00 01 00 00 05 03 00 T C3 02 00 00 FF E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 35 00 +R 00 00 01 00 2B 07 37 00 T C8 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 35 00 02 09 01 00 +R 00 00 01 00 02 04 37 00 02 09 02 00 T CF 02 00 00 R 00 00 01 00 T CF 02 00 00 @@ -307,17 +308,17 @@ R 00 00 01 00 T CF 02 00 00 R 00 00 01 00 T CF 02 00 00 21 00 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 2B 00 +R 00 00 01 00 2B 0B 31 00 T D7 02 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 2B 00 02 0A 01 00 +R 00 00 01 00 02 05 31 00 02 0A 02 00 T DD 02 00 00 R 00 00 01 00 T DD 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 11 00 +R 00 00 01 00 02 05 14 00 T E0 02 00 00 R 00 00 01 00 T E0 02 00 00 CD 00 00 00 00 FC FF 21 14 00 DD -R 00 00 01 00 02 05 26 00 +R 00 00 01 00 02 05 2B 00 T E9 02 00 00 5E 02 DD 56 03 19 56 23 66 6A DD R 00 00 01 00 T F4 02 00 00 75 FE DD 74 FF 7D B4 20 03 @@ -339,23 +340,23 @@ R 00 00 01 00 00 05 02 00 T 0F 03 00 00 R 00 00 01 00 T 0F 03 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 20 00 +R 00 00 01 00 2B 06 07 00 T 14 03 00 00 00 00 00 00 E5 DD 6E FE DD 66 FF -R 00 00 01 00 02 04 20 00 +R 00 00 01 00 02 04 07 00 T 1D 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 14 00 02 0B 14 00 +R 00 00 01 00 2B 06 1A 00 02 0B 1A 00 T 23 03 00 00 CD 00 00 00 00 F1 F1 F1 F1 DD 5E -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 2C 03 00 00 0A DD 56 0B 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0C 00 +R 00 00 01 00 2B 09 0D 00 T 33 03 00 00 00 00 00 00 CD 00 00 00 00 E5 21 -R 00 00 01 00 02 04 0C 00 02 09 01 00 +R 00 00 01 00 02 04 0D 00 02 09 02 00 T 3A 03 00 00 00 00 E5 DD 4E 0A DD 46 0B 21 R 00 00 01 00 T 44 03 00 00 04 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 13 00 +R 00 00 01 00 2B 0A 19 00 T 4C 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 13 00 02 09 01 00 +R 00 00 01 00 02 04 19 00 02 09 02 00 T 53 03 00 00 DD 7E FC DD B6 FD 28 16 R 00 00 01 00 T 5B 03 00 00 @@ -365,37 +366,37 @@ R 00 00 01 00 T 66 03 00 00 FF 3E B0 03 00 00 21 B0 03 00 00 R 00 00 01 00 29 06 01 00 00 0B 01 00 T 6C 03 00 00 CD 00 00 00 00 18 15 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 71 03 00 00 R 00 00 01 00 T 71 03 00 00 21 00 00 00 00 E5 DD 6E FE DD 66 R 00 00 01 00 00 05 03 00 T 7A 03 00 00 FF E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 35 00 +R 00 00 01 00 2B 07 37 00 T 7F 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 35 00 02 09 01 00 +R 00 00 01 00 02 04 37 00 02 09 02 00 T 86 03 00 00 R 00 00 01 00 T 86 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1B 00 02 0B 1B 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 T 8C 03 00 00 E5 DD 6E FE DD 66 FF E5 3E R 00 00 01 00 T 95 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 14 00 02 09 14 00 +R 00 00 01 00 2B 04 1A 00 02 09 1A 00 T 9A 03 00 00 00 00 00 00 F1 F1 F1 21 00 00 39 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T A3 03 00 00 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 2B 00 +R 00 00 01 00 2B 07 31 00 T A8 03 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 2B 00 02 09 01 00 +R 00 00 01 00 02 04 31 00 02 09 02 00 T AD 03 00 00 R 00 00 01 00 T AD 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 11 00 +R 00 00 01 00 02 05 14 00 T B0 03 00 00 R 00 00 01 00 T B0 03 00 00 CD 00 00 00 00 EC FF 79 B0 28 13 -R 00 00 01 00 02 05 26 00 +R 00 00 01 00 02 05 2B 00 T B9 03 00 00 DD 6E 04 DD 66 05 7E 23 B6 28 08 R 00 00 01 00 T C4 03 00 00 DD 7E 02 DD B6 03 20 02 @@ -417,9 +418,9 @@ R 00 00 01 00 T D5 03 00 00 21 10 00 E5 21 06 00 39 4D 44 DD R 00 00 01 00 T E0 03 00 00 5E 04 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 1D 00 +R 00 00 01 00 2B 0A 22 00 T E8 03 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 1D 00 02 09 01 00 +R 00 00 01 00 02 04 22 00 02 09 02 00 T EF 03 00 00 75 EC DD 74 ED 7D B4 28 2E R 00 00 01 00 T F8 03 00 00 @@ -439,11 +440,11 @@ R 00 00 01 00 T 26 04 00 00 R 00 00 01 00 T 26 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 11 00 +R 00 00 01 00 02 05 14 00 T 29 04 00 00 R 00 00 01 00 T 29 04 00 00 CD 00 00 00 00 FC FF 79 B0 28 13 -R 00 00 01 00 02 05 26 00 +R 00 00 01 00 02 05 2B 00 T 32 04 00 00 DD 6E 04 DD 66 05 7E 23 B6 28 08 R 00 00 01 00 T 3D 04 00 00 DD 7E 02 DD B6 03 20 03 @@ -463,9 +464,9 @@ R 00 00 01 00 T 4F 04 00 00 R 00 00 01 00 T 4F 04 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 30 00 +R 00 00 01 00 2B 0B 34 00 T 57 04 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 30 00 02 0A 01 00 +R 00 00 01 00 02 05 34 00 02 0A 02 00 T 5E 04 00 00 75 FC DD 74 FD 7D A4 3C CA R 00 00 01 00 T 67 04 00 00 F2 04 00 00 @@ -481,19 +482,19 @@ R 00 00 01 00 T 77 04 00 00 DD 6E FE DD 66 FF E5 0E R 00 00 01 00 T 7F 04 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 34 00 02 0A 34 00 +R 00 00 01 00 2B 04 29 00 02 0A 29 00 T 85 04 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 8D 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 14 00 02 09 14 00 +R 00 00 01 00 2B 04 1A 00 02 09 1A 00 T 92 04 00 00 00 00 00 00 F1 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 98 04 00 00 R 00 00 01 00 T 98 04 00 00 DD 4E 02 DD 46 03 DD 5E FC 16 00 R 00 00 01 00 T A3 04 00 00 21 00 00 00 00 19 7E E6 01 20 08 -R 00 00 01 00 02 05 22 00 +R 00 00 01 00 02 05 25 00 T AC 04 00 00 DD 5E FC DD 56 FD 18 03 R 00 00 01 00 T B4 04 00 00 @@ -503,9 +504,9 @@ R 00 00 01 00 T B7 04 00 00 R 00 00 01 00 T B7 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1E 00 02 0A 1E 00 +R 00 00 01 00 2B 05 23 00 02 0A 23 00 T BD 04 00 00 00 00 00 00 DD 6E FE DD 66 FF 23 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T C6 04 00 00 DD 75 FE DD 74 FF 7D E6 3F 47 7C R 00 00 01 00 T D1 04 00 00 E6 00 B0 20 19 @@ -513,13 +514,13 @@ R 00 00 01 00 T D6 04 00 00 R 00 00 01 00 T D6 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0B 07 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 T DC 04 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T E5 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 14 00 02 09 14 00 +R 00 00 01 00 2B 04 1A 00 02 09 1A 00 T EA 04 00 00 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T EF 04 00 00 R 00 00 01 00 T EF 04 00 00 C3 4F 04 00 00 @@ -533,29 +534,29 @@ R 00 00 01 00 T 00 05 00 00 R 00 00 01 00 T 00 05 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0B 07 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 T 06 05 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 0F 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 14 00 02 09 14 00 +R 00 00 01 00 2B 04 1A 00 02 09 1A 00 T 14 05 00 00 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 19 05 00 00 R 00 00 01 00 T 19 05 00 00 R 00 00 01 00 T 19 05 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 1D 00 T 1C 05 00 00 R 00 00 01 00 T 1C 05 00 00 CD 00 00 00 00 AA FF 21 50 00 E5 -R 00 00 01 00 02 05 26 00 +R 00 00 01 00 02 05 2B 00 T 25 05 00 00 01 20 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 2F 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 34 05 00 00 00 00 00 00 F1 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 3D 05 00 00 6C 26 00 4D 06 00 21 00 00 39 5D R 00 00 01 00 T 48 05 00 00 54 CD 19 06 00 00 DD 4E 04 06 00 @@ -585,7 +586,7 @@ R 00 00 01 00 00 0A 01 00 T AA 05 00 00 50 00 39 7E C6 03 77 23 7E CE 00 R 00 00 01 00 T B5 05 00 00 77 DD 4E FE 06 00 21 00 00 00 00 -R 00 00 01 00 02 0B 22 00 +R 00 00 01 00 02 0B 25 00 T BE 05 00 00 09 7E E6 01 20 05 DD 7E FE 18 02 R 00 00 01 00 T C9 05 00 00 @@ -609,15 +610,15 @@ R 00 00 01 00 T FD 05 00 00 66 FD A7 ED 42 E5 01 01 00 21 R 00 00 01 00 T 07 06 00 00 04 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0E 00 +R 00 00 01 00 2B 0A 10 00 T 0F 06 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0E 00 02 09 01 00 +R 00 00 01 00 02 04 10 00 02 09 02 00 T 16 06 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 1D 00 T 19 06 00 00 R 00 00 01 00 T 19 06 00 00 CD 00 00 00 00 06 04 DD 5E 04 DD -R 00 00 01 00 02 05 21 00 +R 00 00 01 00 02 05 24 00 T 22 06 00 00 56 05 CD 00 00 00 00 7B E6 0F 6F R 00 00 01 00 02 07 00 00 T 2B 06 00 00 7A E6 00 67 01 60 00 00 00 09 46 @@ -631,11 +632,11 @@ R 00 00 01 00 00 0A 03 00 T 53 06 00 00 46 DD 6E 02 DD 66 03 70 C3 R 00 00 01 00 T 5C 06 00 00 00 00 00 00 -R 00 00 01 00 02 04 15 00 +R 00 00 01 00 02 04 1D 00 T 5E 06 00 00 R 00 00 01 00 T 5E 06 00 00 CD 00 00 00 00 FA FF 11 02 80 DD -R 00 00 01 00 02 05 26 00 +R 00 00 01 00 02 05 2B 00 T 67 06 00 00 6E 02 DD 66 03 3E 80 AC 67 ED 52 R 00 00 01 00 T 72 06 00 00 30 32 @@ -643,7 +644,7 @@ R 00 00 01 00 T 74 06 00 00 R 00 00 01 00 T 74 06 00 00 2A 00 00 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0B 00 T 7D 06 00 00 R 00 00 01 00 T 7D 06 00 00 DD 7E FA DD B6 FB 28 1B @@ -665,9 +666,9 @@ R 00 00 01 00 T A6 06 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 T B1 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 04 00 02 0A 04 00 +R 00 00 01 00 2B 05 05 00 02 0A 05 00 T B7 06 00 00 00 00 00 00 DD 75 FA DD 74 FB 7D -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T C0 06 00 00 B4 20 24 R 00 00 01 00 T C3 06 00 00 @@ -675,11 +676,11 @@ R 00 00 01 00 T C3 06 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T CE 06 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 2E 00 +R 00 00 01 00 2B 06 13 00 T D3 06 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 2E 00 2B 0A 2D 00 +R 00 00 01 00 02 04 13 00 2B 0A 32 00 T D9 06 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 2D 00 02 09 01 00 +R 00 00 01 00 02 04 32 00 02 09 02 00 T E0 06 00 00 F1 21 01 00 C3 13 09 00 00 R 00 00 01 00 00 09 01 00 T E7 06 00 00 @@ -713,15 +714,15 @@ R 00 00 01 00 T 25 07 00 00 21 04 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 T 30 07 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 12 00 +R 00 00 01 00 2B 07 18 00 T 35 07 00 00 00 00 00 00 CD 00 00 00 00 E5 21 -R 00 00 01 00 02 04 12 00 02 09 01 00 +R 00 00 01 00 02 04 18 00 02 09 02 00 T 3C 07 00 00 04 00 09 4E 23 46 DD 6E FC DD 66 R 00 00 01 00 T 47 07 00 00 FD 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 02 00 +R 00 00 01 00 2B 09 04 00 T 4E 07 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 02 00 02 09 01 00 +R 00 00 01 00 02 04 04 00 02 09 02 00 T 55 07 00 00 B4 20 02 R 00 00 01 00 T 58 07 00 00 @@ -763,9 +764,9 @@ R 00 00 01 00 T BF 07 00 00 21 04 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 T CA 07 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 2F 00 +R 00 00 01 00 2B 07 33 00 T CF 07 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 2F 00 02 09 01 00 +R 00 00 01 00 02 04 33 00 02 09 02 00 T D6 07 00 00 E1 71 23 70 R 00 00 01 00 T DA 07 00 00 @@ -781,9 +782,9 @@ R 00 00 01 00 T E9 07 00 00 21 14 00 DD 4E FA DD 46 FB 09 5E R 00 00 01 00 T F4 07 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 36 00 +R 00 00 01 00 2B 07 38 00 T F9 07 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 36 00 02 09 01 00 +R 00 00 01 00 02 04 38 00 02 09 02 00 T FF 07 00 00 14 00 09 AF 77 23 77 R 00 00 01 00 T 06 08 00 00 @@ -801,9 +802,9 @@ R 00 00 01 00 00 09 02 00 T 2A 08 00 00 06 00 DD 5E 04 DD 56 05 19 5E 23 R 00 00 01 00 T 35 08 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 29 00 02 0B 29 00 +R 00 00 01 00 2B 06 2F 00 02 0B 2F 00 T 3B 08 00 00 CD 00 00 00 00 F1 4D 44 E1 71 23 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 44 08 00 00 70 79 B0 20 20 R 00 00 01 00 T 49 08 00 00 @@ -811,11 +812,11 @@ R 00 00 01 00 T 49 08 00 00 21 06 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 T 54 08 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 0F 00 +R 00 00 01 00 2B 08 16 00 T 5B 08 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0F 00 2B 0A 2D 00 +R 00 00 01 00 02 04 16 00 2B 0A 32 00 T 61 08 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 2D 00 02 09 01 00 +R 00 00 01 00 02 04 32 00 02 09 02 00 T 68 08 00 00 F1 R 00 00 01 00 T 69 08 00 00 @@ -833,9 +834,9 @@ R 00 00 01 00 T 7C 08 00 00 21 01 00 E5 01 0E 00 ED 5B R 00 00 01 00 T 85 08 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 37 00 2B 09 0B 00 +R 00 00 01 00 02 04 39 00 2B 09 0C 00 T 8A 08 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 0B 00 02 09 01 00 +R 00 00 01 00 02 04 0C 00 02 09 02 00 T 91 08 00 00 75 FE DD 74 FF 01 05 00 09 AF 77 R 00 00 01 00 T 9C 08 00 00 23 77 21 07 00 DD 4E FE DD 46 FF @@ -851,19 +852,19 @@ R 00 00 01 00 T D3 08 00 00 71 23 70 CD 16 09 00 00 21 3E 00 R 00 00 01 00 00 08 01 00 T DC 08 00 00 ED 4B 00 00 00 00 09 5E 23 56 3E -R 00 00 01 00 02 06 19 00 +R 00 00 01 00 02 06 20 00 T E5 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 +R 00 00 01 00 2B 04 06 00 02 09 06 00 T EA 08 00 00 00 00 00 00 21 12 00 DD 4E FA DD -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T F3 08 00 00 46 FB 09 AF 77 23 77 21 14 00 09 R 00 00 01 00 T FE 08 00 00 AF 77 23 77 DD 5E FE DD 56 FF 3E R 00 00 01 00 T 09 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 25 00 02 09 25 00 +R 00 00 01 00 2B 04 27 00 02 09 27 00 T 0E 09 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 10 09 00 00 R 00 00 01 00 T 10 09 00 00 @@ -873,11 +874,11 @@ R 00 00 01 00 T 13 09 00 00 R 00 00 01 00 T 13 09 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 11 00 +R 00 00 01 00 02 05 14 00 T 16 09 00 00 R 00 00 01 00 T 16 09 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD -R 00 00 01 00 02 05 26 00 +R 00 00 01 00 02 05 2B 00 T 1F 09 00 00 B6 03 20 03 R 00 00 01 00 T 23 09 00 00 @@ -889,11 +890,11 @@ R 00 00 01 00 T 26 09 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 R 00 00 01 00 T 31 09 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 2C 00 +R 00 00 01 00 2B 06 26 00 T 36 09 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 2C 00 2B 0A 2D 00 +R 00 00 01 00 02 04 26 00 2B 0A 32 00 T 3C 09 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 2D 00 02 09 01 00 +R 00 00 01 00 02 04 32 00 02 09 02 00 T 43 09 00 00 F1 21 12 00 DD 4E 02 DD 46 03 09 R 00 00 01 00 T 4E 09 00 00 7E E6 11 47 23 7E E6 20 B0 CA @@ -909,11 +910,11 @@ R 00 00 01 00 T 69 09 00 00 R 00 00 01 00 T 69 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 33 00 02 0B 33 00 +R 00 00 01 00 2B 05 28 00 02 0B 28 00 T 6F 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2D 00 02 0B 2D 00 +R 00 00 01 00 2B 06 32 00 02 0B 32 00 T 75 09 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 7A 09 00 00 R 00 00 01 00 T 7A 09 00 00 21 12 00 DD 4E 02 DD 46 03 09 7E @@ -923,11 +924,11 @@ R 00 00 01 00 T 89 09 00 00 R 00 00 01 00 T 89 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 1E 00 02 0B 1E 00 T 8F 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2D 00 02 0B 2D 00 +R 00 00 01 00 2B 06 32 00 02 0B 32 00 T 95 09 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 9A 09 00 00 R 00 00 01 00 T 9A 09 00 00 21 12 00 DD 4E 02 DD 46 03 09 7E @@ -937,11 +938,11 @@ R 00 00 01 00 T AF 09 00 00 R 00 00 01 00 T AF 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 06 00 02 0B 06 00 +R 00 00 01 00 2B 05 2A 00 02 0B 2A 00 T B5 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2D 00 02 0B 2D 00 +R 00 00 01 00 2B 06 32 00 02 0B 32 00 T BB 09 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T C0 09 00 00 R 00 00 01 00 T C0 09 00 00 21 12 00 DD 4E 02 DD 46 03 09 7E @@ -951,11 +952,11 @@ R 00 00 01 00 T D5 09 00 00 R 00 00 01 00 T D5 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1C 00 02 0B 1C 00 +R 00 00 01 00 2B 05 11 00 02 0B 11 00 T DB 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2D 00 02 0B 2D 00 +R 00 00 01 00 2B 06 32 00 02 0B 32 00 T E1 09 00 00 CD 00 00 00 00 F1 F1 18 39 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T E8 09 00 00 R 00 00 01 00 T E8 09 00 00 21 12 00 DD 4E 02 DD 46 03 09 7E @@ -965,19 +966,19 @@ R 00 00 01 00 T FD 09 00 00 R 00 00 01 00 T FD 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 T 03 0A 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2D 00 02 0B 2D 00 +R 00 00 01 00 2B 06 32 00 02 0B 32 00 T 09 0A 00 00 CD 00 00 00 00 F1 F1 18 11 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 10 0A 00 00 R 00 00 01 00 T 10 0A 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 18 00 02 0B 18 00 +R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 T 16 0A 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2D 00 02 0B 2D 00 +R 00 00 01 00 2B 06 32 00 02 0B 32 00 T 1C 0A 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 21 0A 00 00 R 00 00 01 00 T 21 0A 00 00 @@ -991,9 +992,9 @@ R 00 00 01 00 T 36 0A 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 17 00 02 0B 17 00 T 3C 0A 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2D 00 02 0B 2D 00 +R 00 00 01 00 2B 06 32 00 02 0B 32 00 T 42 0A 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 47 0A 00 00 R 00 00 01 00 T 47 0A 00 00 21 14 00 DD 4E 02 DD 46 03 09 7E @@ -1001,9 +1002,9 @@ R 00 00 01 00 T 52 0A 00 00 23 B6 28 38 21 14 00 DD 4E 02 DD R 00 00 01 00 T 5D 0A 00 00 46 03 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 32 00 +R 00 00 01 00 2B 0B 36 00 T 65 0A 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 32 00 02 0A 01 00 +R 00 00 01 00 02 05 36 00 02 0A 02 00 T 6C 0A 00 00 75 FE DD 74 FF 7D B4 28 19 R 00 00 01 00 T 75 0A 00 00 @@ -1015,39 +1016,39 @@ R 00 00 01 00 T 75 0A 00 00 DD 6E FE DD 66 FF E5 0E R 00 00 01 00 T 7D 0A 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 23 00 02 0A 23 00 +R 00 00 01 00 2B 04 15 00 02 0A 15 00 T 83 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2D 00 02 0A 2D 00 +R 00 00 01 00 2B 05 32 00 02 0A 32 00 T 89 0A 00 00 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 02 00 T 8E 0A 00 00 R 00 00 01 00 T 8E 0A 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0B 07 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 T 94 0A 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2D 00 02 0B 2D 00 +R 00 00 01 00 2B 06 32 00 02 0B 32 00 T 9A 0A 00 00 CD 00 00 00 00 F1 F1 18 11 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T A1 0A 00 00 R 00 00 01 00 T A1 0A 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 38 00 02 0B 38 00 +R 00 00 01 00 2B 05 2C 00 02 0B 2C 00 T A7 0A 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2D 00 02 0B 2D 00 +R 00 00 01 00 2B 06 32 00 02 0B 32 00 T AD 0A 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T B2 0A 00 00 R 00 00 01 00 T B2 0A 00 00 R 00 00 01 00 T B2 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 1D 00 T B5 0A 00 00 R 00 00 01 00 T B5 0A 00 00 CD 00 00 00 00 FE FF 2A -R 00 00 01 00 02 05 26 00 +R 00 00 01 00 02 05 2B 00 T BB 0A 00 00 00 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 0A 00 +R 00 00 01 00 02 04 0B 00 T C3 0A 00 00 R 00 00 01 00 T C3 0A 00 00 DD 7E FE DD B6 FF 28 2A @@ -1057,9 +1058,9 @@ R 00 00 01 00 T CB 0A 00 00 21 14 00 DD 4E FE DD 46 FF 09 5E R 00 00 01 00 T D6 0A 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 36 00 +R 00 00 01 00 2B 07 38 00 T DB 0A 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 36 00 02 09 01 00 +R 00 00 01 00 02 04 38 00 02 09 02 00 T E1 0A 00 00 14 00 09 AF 77 23 77 0A 6F 03 0A R 00 00 01 00 T EC 0A 00 00 67 DD 75 FE DD 74 FF 18 CE @@ -1067,93 +1068,93 @@ R 00 00 01 00 T F5 0A 00 00 R 00 00 01 00 T F5 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 11 00 +R 00 00 01 00 02 05 14 00 T F8 0A 00 00 R 00 00 01 00 T F8 0A 00 00 CD 00 00 00 00 F6 FF 21 14 00 DD -R 00 00 01 00 02 05 26 00 +R 00 00 01 00 02 05 2B 00 T 01 0B 00 00 4E 0A DD 46 0B 09 46 23 66 68 DD R 00 00 01 00 T 0C 0B 00 00 75 FE DD 74 FF 7D B4 20 03 R 00 00 01 00 T 15 0B 00 00 R 00 00 01 00 -T 15 0B 00 00 C3 A1 0B 00 00 +T 15 0B 00 00 C3 A8 0B 00 00 R 00 00 01 00 00 05 01 00 T 18 0B 00 00 R 00 00 01 00 T 18 0B 00 00 21 04 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 28 00 +R 00 00 01 00 2B 0B 2E 00 T 20 0B 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 28 00 02 0A 01 00 +R 00 00 01 00 02 05 2E 00 02 0A 02 00 T 27 0B 00 00 04 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 10 00 +R 00 00 01 00 2B 0A 12 00 T 2F 0B 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 10 00 02 09 01 00 +R 00 00 01 00 02 04 12 00 02 09 02 00 T 36 0B 00 00 F8 DD 74 F9 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 +R 00 00 01 00 2B 0A 09 00 T 3E 0B 00 00 00 00 00 00 CD 00 00 00 00 DD 6E -R 00 00 01 00 02 04 08 00 02 09 01 00 +R 00 00 01 00 02 04 09 00 02 09 02 00 T 45 0B 00 00 F8 DD 66 F9 E5 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 24 00 +R 00 00 01 00 2B 0A 1C 00 T 4D 0B 00 00 21 00 00 00 00 E5 DD 6E FE DD 66 -R 00 00 01 00 02 05 24 00 +R 00 00 01 00 02 05 1C 00 T 56 0B 00 00 FF E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 14 00 +R 00 00 01 00 2B 07 1A 00 T 5B 0B 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 14 00 02 09 01 00 -T 62 0B 00 00 F1 F1 21 16 00 39 01 02 00 09 DD +R 00 00 01 00 02 04 1A 00 02 09 02 00 +T 62 0B 00 00 F1 F1 21 16 00 39 01 04 00 09 DD R 00 00 01 00 -T 6D 0B 00 00 75 F6 DD 74 F7 E5 DD 4E 0C DD 46 +T 6D 0B 00 00 75 F6 DD 74 F7 E5 DD 6E 0E E5 DD R 00 00 01 00 -T 78 0B 00 00 0D DD 5E FE DD 56 FF 3E +T 78 0B 00 00 6E 0C DD 66 0D E5 DD 5E FE DD 56 R 00 00 01 00 -T 80 0B 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 27 00 02 09 27 00 -T 85 0B 00 00 00 00 00 00 F1 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 01 00 2B 0A 07 00 -T 8B 0B 00 00 21 00 00 00 00 E5 DD 6E FE DD 66 -R 00 00 01 00 02 05 07 00 -T 94 0B 00 00 FF E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 14 00 -T 99 0B 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 14 00 02 09 01 00 -T A0 0B 00 00 F1 +T 83 0B 00 00 FF 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 +T 89 0B 00 00 CD 00 00 00 00 F1 F1 F1 0E +R 00 00 01 00 02 05 02 00 +T 90 0B 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 08 00 02 0A 08 00 +T 96 0B 00 00 DD 6E FE DD 66 FF E5 3E R 00 00 01 00 -T A1 0B 00 00 +T 9E 0B 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 1A 00 02 09 1A 00 +T A3 0B 00 00 00 00 00 00 F1 F1 F1 +R 00 00 01 00 02 04 02 00 +T A8 0B 00 00 R 00 00 01 00 -T A1 0B 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 11 00 -T A4 0B 00 00 +T A8 0B 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 14 00 +T AB 0B 00 00 R 00 00 01 00 -T A4 0B 00 00 CD 00 00 00 00 FC FF AF DD 77 FE -R 00 00 01 00 02 05 26 00 -T AD 0B 00 00 DD 77 FF 21 14 00 DD 4E 0A DD 46 +T AB 0B 00 00 CD 00 00 00 00 FC FF AF DD 77 FE +R 00 00 01 00 02 05 2B 00 +T B4 0B 00 00 DD 77 FF 21 14 00 DD 4E 0A DD 46 R 00 00 01 00 -T B8 0B 00 00 0B 09 7E 23 B6 20 05 +T BF 0B 00 00 0B 09 7E 23 B6 20 05 R 00 00 01 00 -T BF 0B 00 00 +T C6 0B 00 00 R 00 00 01 00 -T BF 0B 00 00 21 FF FF 18 31 +T C6 0B 00 00 21 FF FF 18 31 R 00 00 01 00 -T C4 0B 00 00 +T CB 0B 00 00 R 00 00 01 00 -T C4 0B 00 00 21 10 00 39 01 02 00 09 DD 75 FC +T CB 0B 00 00 21 10 00 39 01 02 00 09 DD 75 FC R 00 00 01 00 -T CF 0B 00 00 DD 74 FD E5 DD 4E 0C DD 46 0D 21 +T D6 0B 00 00 DD 74 FD E5 DD 4E 0C DD 46 0D 21 R 00 00 01 00 -T DA 0B 00 00 14 00 DD 5E 0A DD 56 0B 19 5E 23 +T E1 0B 00 00 14 00 DD 5E 0A DD 56 0B 19 5E 23 R 00 00 01 00 -T E5 0B 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 27 00 02 0B 27 00 -T EB 0B 00 00 CD 00 00 00 00 F1 DD 75 FE DD 74 -R 00 00 01 00 02 05 01 00 -T F4 0B 00 00 FF +T EC 0B 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 2D 00 02 0B 2D 00 +T F2 0B 00 00 CD 00 00 00 00 F1 DD 75 FE DD 74 +R 00 00 01 00 02 05 02 00 +T FB 0B 00 00 FF R 00 00 01 00 -T F5 0B 00 00 +T FC 0B 00 00 R 00 00 01 00 -T F5 0B 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 11 00 +T FC 0B 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 14 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 69 6E 70 75 74 00 diff --git a/src/nos/lib/dump_lib/udpdump.rel b/src/nos/lib/dump_lib/udpdump.rel index 3a33f719..6ca090ff 100644 --- a/src/nos/lib/dump_lib/udpdump.rel +++ b/src/nos/lib/dump_lib/udpdump.rel @@ -2,26 +2,26 @@ XL4 H 2 areas 10 global symbols S _ntohudp Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0096_5984__20_25u_2d_3e_25u Ref00000000 S _len_p Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __fprintf Ref00000000 -S ___008d_d667__20CHECKSUM_20ERROR Ref00000000 +S ___00a6_d667__20CHECKSUM_20ERROR Ref00000000 S .__.ABS. Def00000000 S _fputc Ref00000000 S _cksum Ref00000000 -S ___03c2_9059_UDP_3a Ref00000000 +S ___00dd_6c92__20len_20_25u Ref00000000 +S ___00a9_26b0__20Data_20_25u Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___00c4_6c92__20len_20_25u Ref00000000 -S ___007d_5984__20_25u_2d_3e_25u Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0090_26b0__20Data_20_25u Ref00000000 +S ___0451_9059_UDP_3a Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 18A flags 0 S _udp_dump Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 EA FF 79 B0 28 0B -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0C 00 T 09 00 00 00 DD 6E 04 DD 66 05 7E 23 B6 20 03 R 00 00 01 00 T 14 00 00 00 @@ -35,11 +35,11 @@ R 00 00 01 00 00 05 01 00 T 17 00 00 00 R 00 00 01 00 T 17 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 09 00 02 0B 09 00 +R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 T 1D 00 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 26 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T 2B 00 00 00 00 00 00 00 F1 F1 F1 DD 4E 0C DD R 00 00 01 00 02 04 01 00 T 34 00 00 00 46 0D DD 6E 0A DD 66 0B DD 75 F2 @@ -53,17 +53,17 @@ R 00 00 01 00 T 60 00 00 00 DD 36 FA 11 DD 6E 04 DD 66 05 5E R 00 00 01 00 T 6B 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 02 00 +R 00 00 01 00 2B 07 03 00 T 70 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 02 00 02 09 01 00 +R 00 00 01 00 02 04 03 00 02 09 01 00 T 77 00 00 00 FB DD 74 FC DD 6E FB DD 66 FC E5 R 00 00 01 00 T 82 00 00 00 DD 6E 04 DD 66 05 4E 23 46 21 R 00 00 01 00 T 8C 00 00 00 0A 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 +R 00 00 01 00 2B 0A 09 00 T 94 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 08 00 02 09 01 00 +R 00 00 01 00 02 04 09 00 02 09 01 00 T 9B 00 00 00 75 FD DD 74 FE 7D B4 20 07 R 00 00 01 00 T A4 00 00 00 @@ -79,21 +79,21 @@ R 00 00 01 00 2B 06 00 00 02 0B 00 00 T BC 00 00 00 CD 00 00 00 00 DD 6E EE DD 66 EF R 00 00 01 00 02 05 01 00 T C5 00 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 0B 00 +R 00 00 01 00 2B 06 0A 00 T CA 00 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0A 00 T D3 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 04 00 02 0B 04 00 +R 00 00 01 00 2B 06 05 00 02 0B 05 00 T D9 00 00 00 CD 00 00 00 00 F1 F1 F1 F1 DD 6E R 00 00 01 00 02 05 01 00 T E2 00 00 00 EC DD 66 ED E5 DD 6E EA DD 66 EB R 00 00 01 00 T ED 00 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 0C 00 +R 00 00 01 00 2B 06 02 00 T F2 00 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 0C 00 +R 00 00 01 00 02 04 02 00 T FB 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 04 00 02 0B 04 00 +R 00 00 01 00 2B 06 05 00 02 0B 05 00 T 01 01 00 00 CD 00 00 00 00 F1 F1 F1 F1 F1 DD R 00 00 01 00 02 05 01 00 T 0A 01 00 00 4E EE DD 46 EF 21 08 00 A7 ED 42 @@ -105,11 +105,11 @@ R 00 00 01 00 T 17 01 00 00 DD 6E EE DD 66 EF 01 F8 FF 09 E5 R 00 00 01 00 T 22 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 T 28 01 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 31 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T 36 01 00 00 00 00 00 00 F1 F1 F1 F1 R 00 00 01 00 02 04 01 00 T 3C 01 00 00 @@ -129,11 +129,11 @@ R 00 00 01 00 T 55 01 00 00 DD 6E FD DD 66 FE E5 0E R 00 00 01 00 T 5D 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 +R 00 00 01 00 2B 04 06 00 02 0A 06 00 T 63 01 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 6B 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T 70 01 00 00 00 00 00 00 F1 F1 F1 F1 R 00 00 01 00 02 04 01 00 T 76 01 00 00 @@ -141,10 +141,10 @@ R 00 00 01 00 T 76 01 00 00 DD 4E 02 DD 46 03 11 0A 00 3E R 00 00 01 00 T 80 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 +R 00 00 01 00 2B 04 08 00 02 09 08 00 T 85 01 00 00 00 00 00 00 R 00 00 01 00 02 04 01 00 T 87 01 00 00 R 00 00 01 00 T 87 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 +R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/filesys.lib b/src/nos/lib/filesys.lib index fc395643..24c05a2d 100644 --- a/src/nos/lib/filesys.lib +++ b/src/nos/lib/filesys.lib @@ -10,9 +10,6 @@ filesys_lib/buf_miss.rel _buf_miss filesys_lib/buf_flsh.rel _buf_flsh -filesys_lib/bufinit.rel - _bufinit - _devio_garbage filesys_lib/bread.rel _bread filesys_lib/bfree.rel @@ -49,6 +46,8 @@ filesys_lib/nogood_rdwr.rel _nogood_rdwr filesys_lib/nogood_ioctl.rel _nogood_ioctl +filesys_lib/bufpool_garbage.rel + _bufpool_garbage filesys_lib/sys_execve.rel _sys_execve filesys_lib/wargs.rel @@ -99,9 +98,6 @@ filesys_lib/srch_dir.rel _srch_dir filesys_lib/srch_mt.rel _srch_mt -filesys_lib/i_init.rel - _filesys_garbage - _i_init filesys_lib/i_open.rel _i_open filesys_lib/ch_link.rel @@ -150,6 +146,10 @@ filesys_lib/i_sync.rel _i_sync filesys_lib/fs_sync.rel _fs_sync +filesys_lib/inotab_garbage.rel + _inotab_garbage +filesys_lib/oftab_garbage.rel + _oftab_garbage filesys_lib/max_int.rel _max_int filesys_lib/max_long.rel @@ -168,8 +168,18 @@ filesys_lib/min_ulong.rel _min_ulong filesys_lib/Ptab.rel _Ptab -filesys_lib/p_init.rel - _p_init +filesys_lib/mainptab.rel + _mainptab +filesys_lib/newptab.rel + _newptab +filesys_lib/delptab.rel + _delptab +filesys_lib/findprocess.rel + _findprocess +filesys_lib/forkprocess.rel + _forkprocess +filesys_lib/allocatepid.rel + _allocatepid filesys_lib/panic.rel _panic filesys_lib/_panic.rel @@ -180,6 +190,8 @@ filesys_lib/dprintf.rel _dprintf filesys_lib/vdprintf.rel _vdprintf +filesys_lib/ptab_garbage.rel + _ptab_garbage filesys_lib/rdtime.rel _rdtime filesys_lib/sttime.rel @@ -249,8 +261,6 @@ filesys_lib/rwsetup.rel _rwsetup filesys_lib/scall1_getfsys.rel _scall1_getfsys -filesys_lib/findprocess.rel - _findprocess filesys_lib/filldesc.rel _filldesc filesys_lib/sys_pipe.rel diff --git a/src/nos/lib/filesys_lib/Baddevmsg.rel b/src/nos/lib/filesys_lib/Baddevmsg.rel index 349f9ffe..2ba82633 100644 --- a/src/nos/lib/filesys_lib/Baddevmsg.rel +++ b/src/nos/lib/filesys_lib/Baddevmsg.rel @@ -1,7 +1,7 @@ XL4 H 4 areas 4 global symbols S .__.ABS. Def00000000 -S ___015e_0cde__25s_3a_20bad_20dev Ref00000000 +S ___018a_0cde__25s_3a_20bad_20dev Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 diff --git a/src/nos/lib/filesys_lib/Badfsmsg.rel b/src/nos/lib/filesys_lib/Badfsmsg.rel index 0d6c4331..492647c2 100644 --- a/src/nos/lib/filesys_lib/Badfsmsg.rel +++ b/src/nos/lib/filesys_lib/Badfsmsg.rel @@ -1,7 +1,7 @@ XL4 H 4 areas 4 global symbols S .__.ABS. Def00000000 -S ___0161_d157__25s_3a_20fs_20of_2 Ref00000000 +S ___018d_d157__25s_3a_20fs_20of_2 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 diff --git a/src/nos/lib/filesys_lib/Badinomsg.rel b/src/nos/lib/filesys_lib/Badinomsg.rel index 1071ca75..a032d003 100644 --- a/src/nos/lib/filesys_lib/Badinomsg.rel +++ b/src/nos/lib/filesys_lib/Badinomsg.rel @@ -1,7 +1,7 @@ XL4 H 4 areas 4 global symbols S .__.ABS. Def00000000 -S ___015f_5351__25s_3a_20bad_20ino Ref00000000 +S ___018b_5351__25s_3a_20bad_20ino Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 diff --git a/src/nos/lib/filesys_lib/Gtinobadoft.rel b/src/nos/lib/filesys_lib/Gtinobadoft.rel index 83c21d5e..addd3356 100644 --- a/src/nos/lib/filesys_lib/Gtinobadoft.rel +++ b/src/nos/lib/filesys_lib/Gtinobadoft.rel @@ -1,6 +1,6 @@ XL4 H 4 areas 4 global symbols -S ___04ba_631b_getinode_3a_20bad_2 Ref00000000 +S ___0565_631b_getinode_3a_20bad_2 Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 diff --git a/src/nos/lib/filesys_lib/Ptab.rel b/src/nos/lib/filesys_lib/Ptab.rel index 0f999259..dd603c0d 100644 --- a/src/nos/lib/filesys_lib/Ptab.rel +++ b/src/nos/lib/filesys_lib/Ptab.rel @@ -4,7 +4,7 @@ S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 -A UDATA0 size 2 flags 0 +A UDATA0 size 28 flags 0 S _Ptab Def00000000 T 00 00 00 00 R 00 00 02 00 diff --git a/src/nos/lib/filesys_lib/Refstoinode.rel b/src/nos/lib/filesys_lib/Refstoinode.rel index 77824b8c..18a34dfb 100644 --- a/src/nos/lib/filesys_lib/Refstoinode.rel +++ b/src/nos/lib/filesys_lib/Refstoinode.rel @@ -1,8 +1,8 @@ XL4 H 4 areas 4 global symbols +S ___0174_b314__25s_20refs_20to_20 Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___014b_b314__25s_20refs_20to_20 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 A IDATA0 size 3 flags 0 @@ -13,4 +13,4 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 02 00 +R 00 00 03 00 4A 04 00 00 diff --git a/src/nos/lib/filesys_lib/_access.rel b/src/nos/lib/filesys_lib/_access.rel index 09fb22c1..6764e155 100644 --- a/src/nos/lib/filesys_lib/_access.rel +++ b/src/nos/lib/filesys_lib/_access.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 @@ -52,7 +52,7 @@ T 8C 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 08 00 02 09 08 00 T 91 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T 9A 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T 9A 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 05 00 T A3 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -64,15 +64,15 @@ T BC 00 00 00 3C 20 1C R 00 00 01 00 T BF 00 00 00 R 00 00 01 00 -T BF 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T BF 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T C8 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T C8 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T D3 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T DB 00 00 00 R 00 00 01 00 -T DB 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T DB 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T E4 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_chdir.rel b/src/nos/lib/filesys_lib/_chdir.rel index 040f4533..2a5e8ebc 100644 --- a/src/nos/lib/filesys_lib/_chdir.rel +++ b/src/nos/lib/filesys_lib/_chdir.rel @@ -2,9 +2,9 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _sys_chdir Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 23 23 23 36 03 3E R 00 00 01 00 T 7C 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 81 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 2B 09 03 00 +R 00 00 01 00 02 04 00 00 2B 09 02 00 T 86 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T 8D 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +R 00 00 01 00 02 04 02 00 02 09 00 00 +T 8D 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T 96 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -62,15 +62,15 @@ T AF 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T B7 00 00 00 R 00 00 01 00 -T B7 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T B7 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T C0 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T C0 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T CB 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T D3 00 00 00 R 00 00 01 00 -T D3 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T D3 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T DC 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_chmod.rel b/src/nos/lib/filesys_lib/_chmod.rel index beb97c0a..32046f22 100644 --- a/src/nos/lib/filesys_lib/_chmod.rel +++ b/src/nos/lib/filesys_lib/_chmod.rel @@ -2,9 +2,9 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _sys_chmod Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 06 00 @@ -53,10 +53,10 @@ R 00 00 01 00 2B 08 0A 00 T 97 00 00 00 00 00 00 00 CD 00 00 00 00 3E R 00 00 01 00 02 04 0A 00 02 09 00 00 T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 +R 00 00 01 00 2B 04 02 00 02 09 02 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 06 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_chown.rel b/src/nos/lib/filesys_lib/_chown.rel index 7df9319d..c5ce6c5e 100644 --- a/src/nos/lib/filesys_lib/_chown.rel +++ b/src/nos/lib/filesys_lib/_chown.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_chown Ref00000000 S _Curproc Ref00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 90 00 00 00 0E 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 9B 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 9B 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T A4 00 00 00 56 23 66 6A 23 23 23 36 05 3E R 00 00 01 00 @@ -60,7 +60,7 @@ T B3 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 05 00 T B8 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 05 00 02 09 00 00 -T BF 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T BF 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T C8 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -72,15 +72,15 @@ T E1 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T E9 00 00 00 R 00 00 01 00 -T E9 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T E9 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T F2 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T F2 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T FD 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 05 01 00 00 R 00 00 01 00 -T 05 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 05 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T 0E 01 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_close.rel b/src/nos/lib/filesys_lib/_close.rel index 4d605b9b..ec90a8c7 100644 --- a/src/nos/lib/filesys_lib/_close.rel +++ b/src/nos/lib/filesys_lib/_close.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_close Ref00000000 S _Curproc Ref00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 23 23 23 36 06 3E R 00 00 01 00 @@ -50,7 +50,7 @@ T 81 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 05 00 T 86 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 05 00 02 09 00 00 -T 8D 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T 8D 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T 96 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -62,15 +62,15 @@ T AF 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T B7 00 00 00 R 00 00 01 00 -T B7 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T B7 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T C0 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T C0 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T CB 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T D3 00 00 00 R 00 00 01 00 -T D3 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T D3 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T DC 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_creat.rel b/src/nos/lib/filesys_lib/_creat.rel index c66148d5..9f39a8e5 100644 --- a/src/nos/lib/filesys_lib/_creat.rel +++ b/src/nos/lib/filesys_lib/_creat.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,34 +21,34 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 36 02 23 R 00 00 01 00 -T 7D 00 00 00 36 03 21 4B 00 ED 4B 00 00 00 00 +T 7D 00 00 00 36 03 21 4D 00 ED 4B 00 00 00 00 R 00 00 01 00 02 0B 05 00 T 86 00 00 00 09 56 23 66 6A 11 0E 00 19 DD 5E R 00 00 01 00 -T 91 00 00 00 04 DD 56 05 73 23 72 21 4B 00 ED +T 91 00 00 00 04 DD 56 05 73 23 72 21 4D 00 ED R 00 00 01 00 T 9C 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 @@ -60,7 +60,7 @@ T B2 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 08 00 02 09 08 00 T B7 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T C0 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T C0 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 05 00 T C9 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -72,15 +72,15 @@ T E2 00 00 00 3C 20 1C R 00 00 01 00 T E5 00 00 00 R 00 00 01 00 -T E5 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T E5 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T EE 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T EE 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T F9 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 01 01 00 00 R 00 00 01 00 -T 01 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 01 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T 0A 01 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_dup.rel b/src/nos/lib/filesys_lib/_dup.rel index b33c37e6..5d59f639 100644 --- a/src/nos/lib/filesys_lib/_dup.rel +++ b/src/nos/lib/filesys_lib/_dup.rel @@ -3,8 +3,8 @@ H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 S _sys_dup Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 03 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 23 23 23 36 08 3E R 00 00 01 00 @@ -50,7 +50,7 @@ T 81 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 02 00 T 86 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 02 00 02 09 00 00 -T 8D 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T 8D 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T 96 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -62,15 +62,15 @@ T AF 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T B7 00 00 00 R 00 00 01 00 -T B7 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T B7 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T C0 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T C0 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T CB 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T D3 00 00 00 R 00 00 01 00 -T D3 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T D3 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T DC 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_dup2.rel b/src/nos/lib/filesys_lib/_dup2.rel index 7cf4a9f1..2e18e86b 100644 --- a/src/nos/lib/filesys_lib/_dup2.rel +++ b/src/nos/lib/filesys_lib/_dup2.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 05 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 09 00 02 09 09 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 05 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_falign.rel b/src/nos/lib/filesys_lib/_falign.rel index ea982eb0..0861face 100644 --- a/src/nos/lib/filesys_lib/_falign.rel +++ b/src/nos/lib/filesys_lib/_falign.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 05 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 08 00 02 09 08 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 05 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_fstat.rel b/src/nos/lib/filesys_lib/_fstat.rel index aff86a0c..925a7e34 100644 --- a/src/nos/lib/filesys_lib/_fstat.rel +++ b/src/nos/lib/filesys_lib/_fstat.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_statfstat Ref00000000 S _Curproc Ref00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 06 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 05 00 02 09 05 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 06 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_getfsys.rel b/src/nos/lib/filesys_lib/_getfsys.rel index 573e1356..cfaefe02 100644 --- a/src/nos/lib/filesys_lib/_getfsys.rel +++ b/src/nos/lib/filesys_lib/_getfsys.rel @@ -3,8 +3,8 @@ H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _sys_getfsys Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 03 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 06 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 01 00 02 09 01 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 06 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_ioctl.rel b/src/nos/lib/filesys_lib/_ioctl.rel index dfc35919..6d75f0c0 100644 --- a/src/nos/lib/filesys_lib/_ioctl.rel +++ b/src/nos/lib/filesys_lib/_ioctl.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_ioctl Ref00000000 S _Curproc Ref00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 06 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 06 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 0C R 00 00 01 00 @@ -48,7 +48,7 @@ T 7D 00 00 00 DD 56 0D 73 23 72 21 2E 00 39 01 R 00 00 01 00 T 88 00 00 00 02 00 09 DD 75 E0 DD 74 E1 21 R 00 00 01 00 -T 92 00 00 00 4B 00 ED 4B 00 00 00 00 09 56 23 +T 92 00 00 00 4D 00 ED 4B 00 00 00 00 09 56 23 R 00 00 01 00 02 08 06 00 T 9B 00 00 00 66 6A 11 0E 00 19 E5 21 04 00 39 R 00 00 01 00 @@ -56,7 +56,7 @@ T A6 00 00 00 7E C6 02 77 23 7E CE 00 77 2B 6E R 00 00 01 00 T B1 00 00 00 67 2B 2B 5E 23 56 E1 73 23 72 21 R 00 00 01 00 -T BC 00 00 00 4B 00 ED 4B 00 00 00 00 09 56 23 +T BC 00 00 00 4D 00 ED 4B 00 00 00 00 09 56 23 R 00 00 01 00 02 08 06 00 T C5 00 00 00 66 6A 23 23 23 36 0F 3E R 00 00 01 00 @@ -66,7 +66,7 @@ T D2 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 05 00 T D7 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 05 00 02 09 00 00 -T DE 00 00 00 DE DD 74 DF 21 4B 00 ED 4B +T DE 00 00 00 DE DD 74 DF 21 4D 00 ED 4B R 00 00 01 00 T E7 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -78,15 +78,15 @@ T 00 01 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T 08 01 00 00 R 00 00 01 00 -T 08 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T 08 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T 11 01 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T 11 01 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T 1C 01 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 24 01 00 00 R 00 00 01 00 -T 24 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 24 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T 2D 01 00 00 77 23 77 DD 6E DE DD 66 DF C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_link.rel b/src/nos/lib/filesys_lib/_link.rel index bed62e1f..457dc263 100644 --- a/src/nos/lib/filesys_lib/_link.rel +++ b/src/nos/lib/filesys_lib/_link.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 05 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 08 00 02 09 08 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 05 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_lseek.rel b/src/nos/lib/filesys_lib/_lseek.rel index bc1f6bdc..264a8f91 100644 --- a/src/nos/lib/filesys_lib/_lseek.rel +++ b/src/nos/lib/filesys_lib/_lseek.rel @@ -2,8 +2,8 @@ XL4 H 2 areas D global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S _sys_lseek Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -22,30 +22,30 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 0A R 00 00 01 00 -T 7D 00 00 00 DD 56 0B 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 0B 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 @@ -55,11 +55,11 @@ T 9B 00 00 00 0D DD 6E 0A DD 66 0B CD R 00 00 01 00 T A3 00 00 00 00 00 00 00 EB E1 73 23 72 21 R 00 00 01 00 02 04 09 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 56 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 56 23 R 00 00 01 00 02 08 05 00 T B4 00 00 00 66 6A 11 10 00 19 DD 5E 0E DD 56 R 00 00 01 00 -T BF 00 00 00 0F 73 23 72 21 4B 00 ED 4B +T BF 00 00 00 0F 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T C8 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 05 00 @@ -71,7 +71,7 @@ T DD 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 04 00 02 09 04 00 T E2 00 00 00 00 00 00 00 DD 75 FB DD 74 FC DD R 00 00 01 00 02 04 00 00 -T EB 00 00 00 71 FD DD 70 FE 21 4B 00 ED 4B +T EB 00 00 00 71 FD DD 70 FE 21 4D 00 ED 4B R 00 00 01 00 T F5 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 05 00 @@ -85,15 +85,15 @@ T 17 01 00 00 DD A6 FD DD A6 FE 3C 20 1C R 00 00 01 00 T 20 01 00 00 R 00 00 01 00 -T 20 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T 20 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T 29 01 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T 29 01 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T 34 01 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 3C 01 00 00 R 00 00 01 00 -T 3C 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 3C 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T 45 01 00 00 77 23 77 DD 4E FD DD 46 FE DD 6E R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_mknod.rel b/src/nos/lib/filesys_lib/_mknod.rel index f0f9249f..dd2b03d3 100644 --- a/src/nos/lib/filesys_lib/_mknod.rel +++ b/src/nos/lib/filesys_lib/_mknod.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_mknod Ref00000000 S _Curproc Ref00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 90 00 00 00 0E 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 9B 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 9B 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T A4 00 00 00 56 23 66 6A 23 23 23 36 12 3E R 00 00 01 00 @@ -60,7 +60,7 @@ T B3 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 05 00 T B8 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 05 00 02 09 00 00 -T BF 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T BF 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T C8 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -72,15 +72,15 @@ T E1 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T E9 00 00 00 R 00 00 01 00 -T E9 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T E9 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T F2 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T F2 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T FD 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 05 01 00 00 R 00 00 01 00 -T 05 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 05 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T 0E 01 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_mount.rel b/src/nos/lib/filesys_lib/_mount.rel index 00c5031f..297ca3ab 100644 --- a/src/nos/lib/filesys_lib/_mount.rel +++ b/src/nos/lib/filesys_lib/_mount.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_mountumount Ref00000000 S _Curproc Ref00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 90 00 00 00 0E 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 9B 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 9B 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T A4 00 00 00 56 23 66 6A 23 23 23 36 13 3E R 00 00 01 00 @@ -60,7 +60,7 @@ T B3 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 05 00 T B8 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 05 00 02 09 00 00 -T BF 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T BF 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T C8 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -72,15 +72,15 @@ T E1 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T E9 00 00 00 R 00 00 01 00 -T E9 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T E9 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T F2 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T F2 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T FD 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 05 01 00 00 R 00 00 01 00 -T 05 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 05 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T 0E 01 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_namei.rel b/src/nos/lib/filesys_lib/_namei.rel index fd32fad7..77938c69 100644 --- a/src/nos/lib/filesys_lib/_namei.rel +++ b/src/nos/lib/filesys_lib/_namei.rel @@ -78,7 +78,7 @@ T 82 00 00 00 DD 7E FC DD B6 FD 20 18 R 00 00 01 00 T 8A 00 00 00 R 00 00 01 00 -T 8A 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 8A 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 06 00 T 93 00 00 00 23 66 68 01 08 00 09 36 02 23 36 R 00 00 01 00 @@ -110,7 +110,7 @@ T E3 00 00 00 F0 47 3E 40 A8 B1 28 18 R 00 00 01 00 T EB 00 00 00 R 00 00 01 00 -T EB 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T EB 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 06 00 T F4 00 00 00 23 66 68 01 08 00 09 36 14 23 36 R 00 00 01 00 @@ -126,7 +126,7 @@ T 12 01 00 00 E6 01 47 7C E6 00 B0 20 18 R 00 00 01 00 T 1B 01 00 00 R 00 00 01 00 -T 1B 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 1B 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 06 00 T 24 01 00 00 23 66 68 01 08 00 09 36 01 23 36 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_open.rel b/src/nos/lib/filesys_lib/_open.rel index 41f14c1f..7ee88e83 100644 --- a/src/nos/lib/filesys_lib/_open.rel +++ b/src/nos/lib/filesys_lib/_open.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 06 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 06 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 46 23 66 68 01 0C 00 09 DD 4E 0C R 00 00 01 00 @@ -52,7 +52,7 @@ T 91 00 00 00 R 00 00 01 00 T 91 00 00 00 21 2E 00 39 01 02 00 09 DD 75 E0 R 00 00 01 00 -T 9C 00 00 00 DD 74 E1 21 4B 00 ED 4B +T 9C 00 00 00 DD 74 E1 21 4D 00 ED 4B R 00 00 01 00 T A4 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 05 00 @@ -64,13 +64,13 @@ T C2 00 00 00 4E 23 46 E1 71 23 70 18 14 R 00 00 01 00 T CB 00 00 00 R 00 00 01 00 -T CB 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T CB 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T D4 00 00 00 23 66 68 01 0E 00 09 AF 77 23 77 R 00 00 01 00 T DF 00 00 00 R 00 00 01 00 -T DF 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T DF 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 05 00 T E8 00 00 00 23 66 6A 23 23 23 36 14 3E R 00 00 01 00 @@ -80,7 +80,7 @@ T F6 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 08 00 T FB 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 08 00 02 09 00 00 -T 02 01 00 00 DE DD 74 DF 21 4B 00 ED 4B +T 02 01 00 00 DE DD 74 DF 21 4D 00 ED 4B R 00 00 01 00 T 0B 01 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 05 00 @@ -92,15 +92,15 @@ T 24 01 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T 2C 01 00 00 R 00 00 01 00 -T 2C 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T 2C 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T 35 01 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T 35 01 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T 40 01 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 48 01 00 00 R 00 00 01 00 -T 48 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 48 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T 51 01 00 00 77 23 77 DD 6E DE DD 66 DF C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_panic.rel b/src/nos/lib/filesys_lib/_panic.rel index 91e25944..4f323d17 100644 --- a/src/nos/lib/filesys_lib/_panic.rel +++ b/src/nos/lib/filesys_lib/_panic.rel @@ -1,7 +1,7 @@ XL4 H 2 areas A global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___002d_e8fc__0apanic_3a_20 Ref00000000 +S ___002e_e8fc__0apanic_3a_20 Ref00000000 S __vdprintf Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 diff --git a/src/nos/lib/filesys_lib/_read.rel b/src/nos/lib/filesys_lib/_read.rel index 0fccd301..7fb88b1e 100644 --- a/src/nos/lib/filesys_lib/_read.rel +++ b/src/nos/lib/filesys_lib/_read.rel @@ -3,8 +3,8 @@ H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _sys_readwrite Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 03 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 90 00 00 00 0E 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 9B 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 9B 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T A4 00 00 00 56 23 66 6A 23 23 23 36 17 3E R 00 00 01 00 @@ -60,7 +60,7 @@ T B3 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 01 00 T B8 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 01 00 02 09 00 00 -T BF 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T BF 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T C8 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -72,15 +72,15 @@ T E1 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T E9 00 00 00 R 00 00 01 00 -T E9 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T E9 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T F2 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T F2 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T FD 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 05 01 00 00 R 00 00 01 00 -T 05 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 05 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T 0E 01 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_stat.rel b/src/nos/lib/filesys_lib/_stat.rel index 672ef0d5..34bb4805 100644 --- a/src/nos/lib/filesys_lib/_stat.rel +++ b/src/nos/lib/filesys_lib/_stat.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_statfstat Ref00000000 S _Curproc Ref00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 06 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 05 00 02 09 05 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 06 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_symlink.rel b/src/nos/lib/filesys_lib/_symlink.rel index 792344c5..d4ddd3de 100644 --- a/src/nos/lib/filesys_lib/_symlink.rel +++ b/src/nos/lib/filesys_lib/_symlink.rel @@ -3,8 +3,8 @@ H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _sys_symlink Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 03 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 06 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 01 00 02 09 01 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 06 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_sync.rel b/src/nos/lib/filesys_lib/_sync.rel index 969287e0..732fd36c 100644 --- a/src/nos/lib/filesys_lib/_sync.rel +++ b/src/nos/lib/filesys_lib/_sync.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,20 +21,20 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 05 00 @@ -44,7 +44,7 @@ T 65 00 00 00 00 00 00 00 CD 00 00 00 00 3E R 00 00 01 00 02 04 0A 00 02 09 00 00 T 6B 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 09 00 02 09 09 00 -T 70 00 00 00 00 00 00 00 21 4B 00 ED 4B +T 70 00 00 00 00 00 00 00 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 77 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 @@ -52,7 +52,7 @@ T 7F 00 00 00 04 00 19 AF 77 23 77 3E R 00 00 01 00 T 87 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 8C 00 00 00 00 00 00 00 21 4B 00 ED 4B +T 8C 00 00 00 00 00 00 00 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 93 00 00 00 00 00 00 00 09 AF 77 23 77 C3 R 00 00 01 00 02 04 05 00 diff --git a/src/nos/lib/filesys_lib/_sysdebug.rel b/src/nos/lib/filesys_lib/_sysdebug.rel index 59e845c0..80b27c90 100644 --- a/src/nos/lib/filesys_lib/_sysdebug.rel +++ b/src/nos/lib/filesys_lib/_sysdebug.rel @@ -2,9 +2,9 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _sys_getset Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,40 +21,40 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 -T 5E 00 00 00 0A 00 19 36 0C 23 36 00 21 4B 00 +T 5E 00 00 00 0A 00 19 36 0C 23 36 00 21 4D 00 R 00 00 01 00 T 69 00 00 00 ED 4B 00 00 00 00 09 56 23 66 6A R 00 00 01 00 02 06 06 00 T 72 00 00 00 11 0C 00 19 DD 5E 02 DD 56 03 73 R 00 00 01 00 -T 7D 00 00 00 23 72 21 4B 00 ED 4B 00 00 00 00 +T 7D 00 00 00 23 72 21 4D 00 ED 4B 00 00 00 00 R 00 00 01 00 02 0B 06 00 T 86 00 00 00 09 56 23 66 6A 23 23 23 36 07 3E R 00 00 01 00 T 91 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 96 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 2B 09 03 00 +R 00 00 01 00 02 04 00 00 2B 09 02 00 T 9B 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T A2 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +R 00 00 01 00 02 04 02 00 02 09 00 00 +T A2 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T AB 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -66,15 +66,15 @@ T C4 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T CC 00 00 00 R 00 00 01 00 -T CC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T CC 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D5 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D5 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E0 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T E8 00 00 00 R 00 00 01 00 -T E8 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T E8 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F1 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_systrace.rel b/src/nos/lib/filesys_lib/_systrace.rel index 29ab6b84..dc0f0cb7 100644 --- a/src/nos/lib/filesys_lib/_systrace.rel +++ b/src/nos/lib/filesys_lib/_systrace.rel @@ -2,9 +2,9 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _sys_getset Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,40 +21,40 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 -T 5E 00 00 00 0A 00 19 36 0B 23 36 00 21 4B 00 +T 5E 00 00 00 0A 00 19 36 0B 23 36 00 21 4D 00 R 00 00 01 00 T 69 00 00 00 ED 4B 00 00 00 00 09 56 23 66 6A R 00 00 01 00 02 06 06 00 T 72 00 00 00 11 0C 00 19 DD 5E 02 DD 56 03 73 R 00 00 01 00 -T 7D 00 00 00 23 72 21 4B 00 ED 4B 00 00 00 00 +T 7D 00 00 00 23 72 21 4D 00 ED 4B 00 00 00 00 R 00 00 01 00 02 0B 06 00 T 86 00 00 00 09 56 23 66 6A 23 23 23 36 07 3E R 00 00 01 00 T 91 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 96 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 2B 09 03 00 +R 00 00 01 00 02 04 00 00 2B 09 02 00 T 9B 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T A2 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +R 00 00 01 00 02 04 02 00 02 09 00 00 +T A2 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T AB 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -66,15 +66,15 @@ T C4 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T CC 00 00 00 R 00 00 01 00 -T CC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T CC 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D5 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D5 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E0 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T E8 00 00 00 R 00 00 01 00 -T E8 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T E8 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F1 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_time.rel b/src/nos/lib/filesys_lib/_time.rel index 366792d8..75b7ea5f 100644 --- a/src/nos/lib/filesys_lib/_time.rel +++ b/src/nos/lib/filesys_lib/_time.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 06 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 04 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 04 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 04 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 04 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 04 00 T 72 00 00 00 56 23 66 6A 23 23 23 36 1E 3E R 00 00 01 00 @@ -52,7 +52,7 @@ T 86 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 07 00 02 09 00 00 T 8D 00 00 00 FB DD 74 FC DD 71 FD DD 70 FE 21 R 00 00 01 00 -T 98 00 00 00 4B 00 ED 4B 00 00 00 00 09 56 23 +T 98 00 00 00 4D 00 ED 4B 00 00 00 00 09 56 23 R 00 00 01 00 02 08 04 00 T A1 00 00 00 66 6A 11 04 00 19 DD 5E FB DD 56 R 00 00 01 00 @@ -60,7 +60,7 @@ T AC 00 00 00 FC 73 23 72 3E 00 00 00 00 21 R 00 00 01 00 2B 09 01 00 T B3 00 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 01 00 02 09 00 00 -T B9 00 00 00 4B 00 ED 4B 00 00 00 00 09 AF 77 +T B9 00 00 00 4D 00 ED 4B 00 00 00 00 09 AF 77 R 00 00 01 00 02 08 04 00 T C2 00 00 00 23 77 DD 4E FD DD 46 FE DD 6E FB R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_umask.rel b/src/nos/lib/filesys_lib/_umask.rel index e17b471e..bc8e31ed 100644 --- a/src/nos/lib/filesys_lib/_umask.rel +++ b/src/nos/lib/filesys_lib/_umask.rel @@ -2,9 +2,9 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _sys_getset Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,40 +21,40 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 -T 5E 00 00 00 0A 00 19 36 0A 23 36 00 21 4B 00 +T 5E 00 00 00 0A 00 19 36 0A 23 36 00 21 4D 00 R 00 00 01 00 T 69 00 00 00 ED 4B 00 00 00 00 09 56 23 66 6A R 00 00 01 00 02 06 06 00 T 72 00 00 00 11 0C 00 19 DD 5E 02 DD 56 03 73 R 00 00 01 00 -T 7D 00 00 00 23 72 21 4B 00 ED 4B 00 00 00 00 +T 7D 00 00 00 23 72 21 4D 00 ED 4B 00 00 00 00 R 00 00 01 00 02 0B 06 00 T 86 00 00 00 09 56 23 66 6A 23 23 23 36 07 3E R 00 00 01 00 T 91 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 96 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 2B 09 03 00 +R 00 00 01 00 02 04 00 00 2B 09 02 00 T 9B 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T A2 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +R 00 00 01 00 02 04 02 00 02 09 00 00 +T A2 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T AB 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -66,15 +66,15 @@ T C4 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T CC 00 00 00 R 00 00 01 00 -T CC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T CC 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D5 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D5 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E0 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T E8 00 00 00 R 00 00 01 00 -T E8 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T E8 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F1 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_umount.rel b/src/nos/lib/filesys_lib/_umount.rel index 4c223af0..bce607b7 100644 --- a/src/nos/lib/filesys_lib/_umount.rel +++ b/src/nos/lib/filesys_lib/_umount.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_mountumount Ref00000000 S _Curproc Ref00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 23 23 23 36 20 3E R 00 00 01 00 @@ -50,7 +50,7 @@ T 81 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 05 00 T 86 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 05 00 02 09 00 00 -T 8D 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T 8D 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T 96 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -62,15 +62,15 @@ T AF 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T B7 00 00 00 R 00 00 01 00 -T B7 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T B7 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T C0 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T C0 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T CB 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T D3 00 00 00 R 00 00 01 00 -T D3 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T D3 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T DC 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_unlink.rel b/src/nos/lib/filesys_lib/_unlink.rel index c49b0f7f..a1b8754b 100644 --- a/src/nos/lib/filesys_lib/_unlink.rel +++ b/src/nos/lib/filesys_lib/_unlink.rel @@ -2,9 +2,9 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 S _sys_unlink Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 23 23 23 36 21 3E R 00 00 01 00 T 7C 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 81 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 2B 09 04 00 +R 00 00 01 00 02 04 00 00 2B 09 03 00 T 86 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 04 00 02 09 00 00 -T 8D 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +R 00 00 01 00 02 04 03 00 02 09 00 00 +T 8D 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T 96 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -62,15 +62,15 @@ T AF 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T B7 00 00 00 R 00 00 01 00 -T B7 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T B7 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T C0 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T C0 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T CB 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T D3 00 00 00 R 00 00 01 00 -T D3 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T D3 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T DC 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/_write.rel b/src/nos/lib/filesys_lib/_write.rel index 1cd9bd8c..5b5eba76 100644 --- a/src/nos/lib/filesys_lib/_write.rel +++ b/src/nos/lib/filesys_lib/_write.rel @@ -3,8 +3,8 @@ H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _sys_readwrite Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 03 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 90 00 00 00 0E 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 9B 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 9B 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T A4 00 00 00 56 23 66 6A 23 23 23 36 24 3E R 00 00 01 00 @@ -60,7 +60,7 @@ T B3 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 01 00 T B8 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 01 00 02 09 00 00 -T BF 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T BF 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T C8 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -72,15 +72,15 @@ T E1 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T E9 00 00 00 R 00 00 01 00 -T E9 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T E9 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T F2 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T F2 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T FD 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 05 01 00 00 R 00 00 01 00 -T 05 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 05 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T 0E 01 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/access.rel b/src/nos/lib/filesys_lib/access.rel index 7c2c7f33..d212eb86 100644 --- a/src/nos/lib/filesys_lib/access.rel +++ b/src/nos/lib/filesys_lib/access.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 @@ -52,7 +52,7 @@ T 8C 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 08 00 02 09 08 00 T 91 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T 9A 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T 9A 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 05 00 T A3 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -64,15 +64,15 @@ T BC 00 00 00 3C 20 1C R 00 00 01 00 T BF 00 00 00 R 00 00 01 00 -T BF 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T BF 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T C8 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T C8 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T D3 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T DB 00 00 00 R 00 00 01 00 -T DB 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T DB 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T E4 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/allocatepid.rel b/src/nos/lib/filesys_lib/allocatepid.rel new file mode 100644 index 00000000..8392baef --- /dev/null +++ b/src/nos/lib/filesys_lib/allocatepid.rel @@ -0,0 +1,140 @@ +XL4 +H 4 areas C global symbols +S ?BANK_CALL_DIRECT_L08 Ref00000000 +S _restore Ref00000000 +S _Ptab Ref00000000 +S ___0499_7b67_allocatepid_280x_25 Ref00000000 +S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S __dprintf Ref00000000 +S .__.ABS. Def00000000 +S _dirps Ref00000000 +S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ?CL64180B_4_06_L00 Ref00000000 +S ___0498_4d36_allocatepid_28_29_2 Ref00000000 +A _DEFAULT size 0 flags 0 +A CODE size 120 flags 0 +S _allocatepid Def00000000 +A IDATA0 size 2 flags 0 +A CDATA0 size 2 flags 0 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 CD 00 00 00 00 FA FF DD 6E 02 DD +R 00 00 01 00 02 05 08 00 +T 09 00 00 00 66 03 E5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 03 00 +T 10 00 00 00 00 00 00 00 E5 21 03 00 E5 3E +R 00 00 01 00 02 04 03 00 +T 18 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 1D 00 00 00 00 00 00 00 F1 F1 F1 F1 +R 00 00 01 00 02 04 00 00 +T 23 00 00 00 +R 00 00 01 00 +T 23 00 00 00 AF 3C CA 1D 01 00 00 +R 00 00 01 00 00 07 01 00 +T 28 00 00 00 +R 00 00 01 00 +T 28 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 07 00 02 0A 07 00 +T 2E 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 2A +R 00 00 01 00 02 04 00 00 +T 37 00 00 00 00 00 00 00 23 22 00 00 00 00 01 +R 00 00 01 00 00 04 02 00 00 0A 02 00 +T 3E 00 00 00 30 F5 2A 00 00 00 00 3E 80 AC 67 +R 00 00 01 00 00 07 02 00 +T 47 00 00 00 ED 42 38 06 +R 00 00 01 00 +T 4B 00 00 00 +R 00 00 01 00 +T 4B 00 00 00 21 01 00 22 00 00 00 00 +R 00 00 01 00 00 08 02 00 +T 51 00 00 00 +R 00 00 01 00 +T 51 00 00 00 DD 6E 02 DD 66 03 23 ED 4B +R 00 00 01 00 +T 5A 00 00 00 00 00 00 00 71 23 70 DD 5E FE DD +R 00 00 01 00 00 04 02 00 +T 63 00 00 00 56 FF 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 01 00 +T 68 00 00 00 00 00 00 00 CD 00 00 00 00 DD 36 +R 00 00 01 00 02 04 01 00 02 09 00 00 +T 6F 00 00 00 FA 00 00 00 00 DD 36 FB +R 00 00 01 00 0B 05 02 00 +T 74 00 00 00 00 00 00 00 +R 00 00 01 00 8B 04 02 00 +T 75 00 00 00 +R 00 00 01 00 +T 75 00 00 00 01 28 00 00 00 DD 6E FA DD 66 FB +R 00 00 01 00 02 05 02 00 +T 7E 00 00 00 A7 ED 42 30 7F +R 00 00 01 00 +T 83 00 00 00 +R 00 00 01 00 +T 83 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 07 00 02 0A 07 00 +T 89 00 00 00 00 00 00 00 DD 75 FE DD 74 FF DD +R 00 00 01 00 02 04 00 00 +T 92 00 00 00 6E FA DD 66 FB 46 23 66 68 DD 75 +R 00 00 01 00 +T 9D 00 00 00 FC DD 74 FD 7D B4 28 3F DD 6E 02 +R 00 00 01 00 +T A8 00 00 00 DD 66 03 DD 4E FC DD 46 FD A7 ED +R 00 00 01 00 +T B3 00 00 00 42 28 2E DD 6E FC DD 66 FD 23 46 +R 00 00 01 00 +T BE 00 00 00 23 66 68 E5 DD 4E 02 DD 46 03 03 +R 00 00 01 00 +T C9 00 00 00 69 60 4E 23 46 E1 A7 ED 42 20 10 +R 00 00 01 00 +T D4 00 00 00 +R 00 00 01 00 +T D4 00 00 00 +R 00 00 01 00 +T D4 00 00 00 +R 00 00 01 00 +T D4 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +R 00 00 01 00 2B 0B 01 00 +T DC 00 00 00 21 00 00 00 00 CD 00 00 00 00 18 +R 00 00 01 00 02 05 01 00 02 0A 00 00 +T E3 00 00 00 36 +R 00 00 01 00 +T E4 00 00 00 +R 00 00 01 00 +T E4 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +R 00 00 01 00 2B 0B 01 00 +T EC 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 01 00 02 0A 00 00 +T F3 00 00 00 7E FA C6 02 DD 77 FA 30 03 DD 34 +R 00 00 01 00 +T FE 00 00 00 FB +R 00 00 01 00 +T FF 00 00 00 +R 00 00 01 00 +T FF 00 00 00 C3 75 00 00 00 +R 00 00 01 00 00 05 01 00 +T 02 01 00 00 +R 00 00 01 00 +T 02 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 +T 08 01 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 05 00 +T 10 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 05 00 02 09 00 00 +T 17 01 00 00 F1 18 03 +R 00 00 01 00 +T 1A 01 00 00 +R 00 00 01 00 +T 1A 01 00 00 C3 23 00 00 00 +R 00 00 01 00 00 05 01 00 +T 1D 01 00 00 +R 00 00 01 00 +T 1D 01 00 00 +R 00 00 01 00 +T 1D 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 04 00 +T 00 00 00 00 +R 00 00 02 00 +T 00 00 00 00 +R 00 00 02 00 +T 00 00 00 00 00 00 +R 00 00 03 00 diff --git a/src/nos/lib/filesys_lib/bdreadwrite.rel b/src/nos/lib/filesys_lib/bdreadwrite.rel index f184fada..87ca7da2 100644 --- a/src/nos/lib/filesys_lib/bdreadwrite.rel +++ b/src/nos/lib/filesys_lib/bdreadwrite.rel @@ -31,7 +31,7 @@ T 25 00 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 R 00 00 01 00 2B 0B 01 00 T 2D 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 01 00 02 0A 00 00 -T 34 00 00 00 75 FE DD 74 FF 21 4B 00 ED 4B +T 34 00 00 00 75 FE DD 74 FF 21 4D 00 ED 4B R 00 00 01 00 T 3E 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 03 00 diff --git a/src/nos/lib/filesys_lib/bfind.rel b/src/nos/lib/filesys_lib/bfind.rel index 93ba6d0e..9f41caf0 100644 --- a/src/nos/lib/filesys_lib/bfind.rel +++ b/src/nos/lib/filesys_lib/bfind.rel @@ -1,26 +1,26 @@ XL4 H 2 areas B global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0421_0a46_bfind_28_29_20retur Ref00000000 +S ___04b7_50c4_bfind_28_25u_2c_20_ Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 S _Bufpool Ref00000000 -S ___0420_50c4_bfind_28_25u_2c_20_ Ref00000000 S .__.ABS. Def00000000 -S ___0422_f1cc_bfind_28_29_20retur Ref00000000 +S ___04b9_f1cc_bfind_28_29_20retur Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___04b8_0a46_bfind_28_29_20retur Ref00000000 A _DEFAULT size 0 flags 0 A CODE size E6 flags 0 S _bfind Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF C5 DD 6E 02 -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 07 00 T 09 00 00 00 DD 66 03 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 05 00 +R 00 00 01 00 2B 09 01 00 T 11 00 00 00 00 00 00 00 E5 21 03 00 E5 3E -R 00 00 01 00 02 04 05 00 +R 00 00 01 00 02 04 01 00 T 19 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 03 00 02 09 03 00 T 1E 00 00 00 00 00 00 00 F1 F1 F1 F1 F1 DD 36 @@ -62,9 +62,9 @@ R 00 00 01 00 02 05 04 00 T 8B 00 00 00 A7 ED 42 CB 2C CB 1D E5 DD 6E FE R 00 00 01 00 T 96 00 00 00 DD 66 FF E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 01 00 +R 00 00 01 00 2B 09 09 00 T 9E 00 00 00 00 00 00 00 E5 21 03 00 E5 3E -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 09 00 T A6 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 03 00 02 09 03 00 T AB 00 00 00 00 00 00 00 F1 F1 F1 F1 F1 DD 6E @@ -84,7 +84,7 @@ R 00 00 01 00 00 05 01 00 T CA 00 00 00 R 00 00 01 00 T CA 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0B 07 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 T D0 00 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 03 00 T D8 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 diff --git a/src/nos/lib/filesys_lib/bfree.rel b/src/nos/lib/filesys_lib/bfree.rel index 8dd83030..01638406 100644 --- a/src/nos/lib/filesys_lib/bfree.rel +++ b/src/nos/lib/filesys_lib/bfree.rel @@ -1,33 +1,33 @@ XL4 H 2 areas 10 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0415_7943_attempt_20to_20writ Ref00000000 S _bdreadwrite Ref00000000 -S ___0424_e703_bfree_28_29_20retur Ref00000000 -S ___0425_4466_bfree_280x_25x_2c_2 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 S _Bufpool Ref00000000 +S ___04ba_e2d4_bfree_28_29_20retur Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 +S ___04ab_7943_attempt_20to_20writ Ref00000000 S _ksignal Ref00000000 S __panic Ref00000000 +S ___04bb_e703_bfree_28_29_20retur Ref00000000 +S ___04bc_4466_bfree_280x_25x_2c_2 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0423_e2d4_bfree_28_29_20retur Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 10F flags 0 S _bfree Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 06 00 C5 D5 0E -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 08 00 T 08 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 04 00 02 0A 04 00 +R 00 00 01 00 2B 04 0D 00 02 0A 0D 00 T 0E 00 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 06 00 +R 00 00 01 00 2B 09 03 00 T 15 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 06 00 02 09 00 00 +R 00 00 01 00 02 04 03 00 02 09 00 00 T 1C 00 00 00 F1 F1 F1 21 04 02 DD 4E 02 DD 46 R 00 00 01 00 T 27 00 00 00 03 09 7E DD B6 04 77 21 05 02 09 @@ -45,9 +45,9 @@ R 00 00 01 00 T 4C 00 00 00 R 00 00 01 00 T 4C 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 T 52 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 T 58 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 05 00 00 T 5D 00 00 00 @@ -61,25 +61,25 @@ R 00 00 01 00 T 6C 00 00 00 0E 01 DD 5E 02 DD 56 03 3E R 00 00 01 00 T 75 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 +R 00 00 01 00 2B 04 01 00 02 09 01 00 T 7A 00 00 00 00 00 00 00 CB 7C 28 45 R 00 00 01 00 02 04 00 00 T 80 00 00 00 R 00 00 01 00 -T 80 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 -R 00 00 01 00 02 09 08 00 +T 80 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 +R 00 00 01 00 02 09 06 00 T 89 00 00 00 23 66 6A 11 08 00 19 36 05 23 36 R 00 00 01 00 -T 94 00 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 -R 00 00 01 00 02 0A 08 00 +T 94 00 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 +R 00 00 01 00 02 0A 06 00 T 9D 00 00 00 46 23 66 68 01 08 00 09 4E 23 46 R 00 00 01 00 T A8 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 0E 00 +R 00 00 01 00 2B 06 05 00 T AD 00 00 00 00 00 00 00 E5 21 03 00 E5 3E -R 00 00 01 00 02 04 0E 00 +R 00 00 01 00 02 04 05 00 T B5 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T BA 00 00 00 00 00 00 00 F1 F1 F1 F1 21 FF FF R 00 00 01 00 02 04 00 00 T C3 00 00 00 18 47 @@ -99,22 +99,22 @@ R 00 00 01 00 T E5 00 00 00 R 00 00 01 00 T E5 00 00 00 01 00 00 11 00 00 00 00 3E -R 00 00 01 00 02 08 07 00 +R 00 00 01 00 02 08 04 00 T EC 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T F1 00 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 T F3 00 00 00 R 00 00 01 00 T F3 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 T F9 00 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 06 00 +R 00 00 01 00 2B 0A 03 00 T 01 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 06 00 02 09 00 00 +R 00 00 01 00 02 04 03 00 02 09 00 00 T 08 01 00 00 F1 21 00 00 R 00 00 01 00 T 0C 01 00 00 R 00 00 01 00 T 0C 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/filesys_lib/blk_alloc.rel b/src/nos/lib/filesys_lib/blk_alloc.rel index 280d3f65..47ab8efd 100644 --- a/src/nos/lib/filesys_lib/blk_alloc.rel +++ b/src/nos/lib/filesys_lib/blk_alloc.rel @@ -2,6 +2,7 @@ XL4 H 3 areas F global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _bfree Ref00000000 +S ___04bf_c307_blk_5falloc_28_29_2 Ref00000000 S _validblk Ref00000000 S _xip_find Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 @@ -10,7 +11,6 @@ S _getfs Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S _Badfsmsg Ref00000000 -S ___0428_c307_blk_5falloc_28_29_2 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _bread Ref00000000 @@ -23,17 +23,17 @@ R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF DD 5E 02 DD R 00 00 01 00 02 05 0B 00 T 09 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 06 00 +R 00 00 01 00 2B 07 07 00 T 0E 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 06 00 02 09 00 00 +R 00 00 01 00 02 04 07 00 02 09 00 00 T 15 00 00 00 FE DD 74 FF 11 19 00 19 7E B7 28 R 00 00 01 00 T 20 00 00 00 18 R 00 00 01 00 T 21 00 00 00 R 00 00 01 00 -T 21 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 07 00 +T 21 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 08 00 T 2A 00 00 00 23 66 68 01 08 00 09 36 1E 23 36 R 00 00 01 00 T 35 00 00 00 00 C3 70 01 00 00 @@ -47,9 +47,9 @@ R 00 00 01 00 T 4F 00 00 00 21 01 00 E5 21 00 00 E5 01 00 00 R 00 00 01 00 T 5A 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 03 00 +R 00 00 01 00 2B 0B 04 00 T 62 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 03 00 02 0A 00 00 +R 00 00 01 00 02 05 04 00 02 0A 00 00 T 69 00 00 00 F1 F1 F1 DD 75 FC DD 74 FD 21 R 00 00 01 00 T 73 00 00 00 04 00 DD 4E FE DD 46 FF 09 56 23 @@ -77,7 +77,7 @@ R 00 00 01 00 T B2 00 00 00 DD 4E FC DD 46 FD DD 5E 02 DD 56 R 00 00 01 00 T BD 00 00 00 03 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 02 00 02 0B 02 00 +R 00 00 01 00 2B 06 03 00 02 0B 03 00 T C3 00 00 00 CD 00 00 00 00 21 08 00 DD 4E FE R 00 00 01 00 02 05 00 00 T CC 00 00 00 DD 46 FF 09 7E 23 B6 20 02 @@ -125,41 +125,41 @@ R 00 00 01 00 T 2B 01 00 00 DD 6E 02 DD 66 03 E5 21 R 00 00 01 00 T 33 01 00 00 00 00 00 00 E5 3A 02 00 00 00 4F -R 00 00 01 00 00 04 02 00 02 0A 09 00 +R 00 00 01 00 00 04 02 00 02 0A 0A 00 T 3A 01 00 00 C5 2A 00 00 00 00 E5 21 00 00 E5 -R 00 00 01 00 02 06 09 00 +R 00 00 01 00 02 06 0A 00 T 43 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 05 00 02 0A 05 00 +R 00 00 01 00 2B 05 06 00 02 0A 06 00 T 49 01 00 00 00 00 00 00 F1 F1 F1 F1 F1 DD 6E R 00 00 01 00 02 04 00 00 T 52 01 00 00 FE DD 66 FF 36 39 23 36 CE R 00 00 01 00 T 5B 01 00 00 R 00 00 01 00 -T 5B 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 07 00 +T 5B 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 08 00 T 64 01 00 00 23 66 68 01 08 00 09 36 1C 23 36 R 00 00 01 00 T 6F 01 00 00 00 R 00 00 01 00 T 70 01 00 00 R 00 00 01 00 -T 70 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 07 00 +T 70 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 08 00 T 79 01 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T 84 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 T 8A 01 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 05 00 +R 00 00 01 00 2B 0A 06 00 T 92 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 05 00 02 09 00 00 +R 00 00 01 00 02 04 06 00 02 09 00 00 T 99 01 00 00 F1 F1 21 00 00 R 00 00 01 00 T 9E 01 00 00 R 00 00 01 00 T 9E 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 62 6C 6B 5F 61 6C 6C 6F 63 00 diff --git a/src/nos/lib/filesys_lib/bmap.rel b/src/nos/lib/filesys_lib/bmap.rel index 8330065d..39dcc535 100644 --- a/src/nos/lib/filesys_lib/bmap.rel +++ b/src/nos/lib/filesys_lib/bmap.rel @@ -4,17 +4,17 @@ S ?US_RSH_L02 Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _bfree Ref00000000 S _isdevice Ref00000000 -S ___0429_b0c8_bmap_28_29_20return Ref00000000 -S ___042c_7681_bmap_280x_25x_2c_20 Ref00000000 -S ___042a_bbcb_bmap_28_29_20return Ref00000000 +S ___04c3_7681_bmap_280x_25x_2c_20 Ref00000000 +S ___04c1_bbcb_bmap_28_29_20return Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S _blk_alloc Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ___04c0_b0c8_bmap_28_29_20return Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___042b_46ee_bmap_28_29_20return Ref00000000 +S ___04c2_46ee_bmap_28_29_20return Ref00000000 S _bread Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 2FB flags 0 @@ -22,15 +22,15 @@ S _bmap Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F4 FF DD 5E 0A 16 -R 00 00 01 00 02 05 0C 00 +R 00 00 01 00 02 05 0B 00 T 09 00 00 00 00 D5 C5 DD 6E 02 DD 66 03 E5 0E R 00 00 01 00 T 14 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 +R 00 00 01 00 2B 04 04 00 02 0A 04 00 T 1A 00 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 08 00 +R 00 00 01 00 2B 09 07 00 T 21 00 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 08 00 02 09 01 00 +R 00 00 01 00 02 04 07 00 02 09 01 00 T 28 00 00 00 0C 00 39 F9 EB DD 5E 02 DD 56 03 R 00 00 01 00 T 33 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD @@ -42,11 +42,11 @@ R 00 00 01 00 T 3F 00 00 00 DD 6E 04 DD 66 05 E5 0E R 00 00 01 00 T 47 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 04 00 02 0A 04 00 +R 00 00 01 00 2B 04 0C 00 02 0A 0C 00 T 4D 00 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 08 00 +R 00 00 01 00 2B 09 07 00 T 54 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 01 00 +R 00 00 01 00 02 04 07 00 02 09 01 00 T 5B 00 00 00 F1 F1 DD 6E 04 DD 66 05 C3 R 00 00 01 00 T 64 00 00 00 F8 02 00 00 @@ -74,9 +74,9 @@ R 00 00 01 00 T AD 00 00 00 AF DD B6 0A 20 1A 0E 01 DD 5E F4 R 00 00 01 00 T B8 00 00 00 DD 56 F5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0B 00 +R 00 00 01 00 2B 08 0A 00 T BE 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 0B 00 02 09 01 00 +R 00 00 01 00 02 04 0A 00 02 09 01 00 T C5 00 00 00 FE DD 74 FF 7D B4 20 03 R 00 00 01 00 T CD 00 00 00 @@ -136,9 +136,9 @@ R 00 00 01 00 T 66 01 00 00 AF DD B6 0A 20 1A 0E 02 DD 5E F4 R 00 00 01 00 T 71 01 00 00 DD 56 F5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0B 00 +R 00 00 01 00 2B 08 0A 00 T 77 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 0B 00 02 09 01 00 +R 00 00 01 00 02 04 0A 00 02 09 01 00 T 7E 01 00 00 FE DD 74 FF 7D B4 20 02 R 00 00 01 00 T 86 01 00 00 @@ -179,16 +179,16 @@ T D4 01 00 00 R 00 00 01 00 T D4 01 00 00 R 00 00 01 00 -T D4 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 09 00 +T D4 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 08 00 T DD 01 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T E8 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 T EE 01 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 +R 00 00 01 00 2B 0A 07 00 T F6 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 01 00 +R 00 00 01 00 02 04 07 00 02 09 01 00 T FD 01 00 00 F1 F1 21 FF FF C3 F8 02 00 00 R 00 00 01 00 00 0A 01 00 T 05 02 00 00 @@ -232,9 +232,9 @@ R 00 00 01 00 T 63 02 00 00 R 00 00 01 00 T 63 02 00 00 DD 5E F4 DD 56 F5 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 +R 00 00 01 00 2B 0B 0A 00 T 6B 02 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0B 00 02 0A 01 00 +R 00 00 01 00 02 05 0A 00 02 0A 01 00 T 72 02 00 00 75 FE DD 74 FF 7D B4 20 13 R 00 00 01 00 T 7B 02 00 00 @@ -284,14 +284,14 @@ R 00 00 01 00 T D4 02 00 00 DD 6E FE DD 66 FF E5 0E R 00 00 01 00 T DC 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 06 00 02 0A 06 00 +R 00 00 01 00 2B 04 05 00 02 0A 05 00 T E2 02 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 08 00 +R 00 00 01 00 2B 09 07 00 T E9 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 01 00 +R 00 00 01 00 02 04 07 00 02 09 01 00 T F0 02 00 00 F1 F1 DD 6E FE DD 66 FF R 00 00 01 00 T F8 02 00 00 R 00 00 01 00 T F8 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 06 00 diff --git a/src/nos/lib/filesys_lib/bread.rel b/src/nos/lib/filesys_lib/bread.rel index d1cd73c5..f4b63c76 100644 --- a/src/nos/lib/filesys_lib/bread.rel +++ b/src/nos/lib/filesys_lib/bread.rel @@ -2,22 +2,22 @@ XL4 H 2 areas 14 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _bfind Ref00000000 +S ___04c8_88ea_bread_28_25u_2c_20_ Ref00000000 +S ___04c9_89e2_bread_28_29_20retur Ref00000000 S _bufclock Ref00000000 S _memset Ref00000000 S _bdreadwrite Ref00000000 -S ___0433_7a66_bread_28_29_20retur Ref00000000 -S ___0431_88ea_bread_28_25u_2c_20_ Ref00000000 -S ___0432_89e2_bread_28_29_20retur Ref00000000 +S ___06f7_674e_want_20busy_20block Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _buf_hits Ref00000000 S __dprintf Ref00000000 S _buf_miss Ref00000000 -S ___0618_674e_want_20busy_20block Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S _freebuf Ref00000000 S __panic Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ___04ca_7a66_bread_28_29_20retur Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 194 flags 0 @@ -25,11 +25,11 @@ S _bread Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF DD 5E 0A 16 -R 00 00 01 00 02 05 11 00 +R 00 00 01 00 02 05 10 00 T 09 00 00 00 00 D5 C5 DD 6E 02 DD 66 03 E5 0E R 00 00 01 00 T 14 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 06 00 02 0A 06 00 +R 00 00 01 00 2B 04 02 00 02 0A 02 00 T 1A 00 00 00 21 03 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 09 0A 00 T 21 00 00 00 00 00 00 00 CD 00 00 00 00 EB 21 @@ -53,11 +53,11 @@ R 00 00 01 00 T 59 00 00 00 DD 6E 02 DD 66 03 E5 DD 6E 04 DD R 00 00 01 00 T 64 00 00 00 66 05 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 0C 00 +R 00 00 01 00 2B 08 07 00 T 6B 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0C 00 2B 0A 10 00 +R 00 00 01 00 02 04 07 00 2B 0A 0F 00 T 71 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 10 00 02 09 00 00 +R 00 00 01 00 02 04 0F 00 02 09 00 00 T 78 00 00 00 F1 F1 R 00 00 01 00 T 7A 00 00 00 @@ -71,9 +71,9 @@ R 00 00 01 00 T 84 00 00 00 2A 00 00 00 00 23 22 00 00 00 00 R 00 00 01 00 02 05 0B 00 02 0B 0B 00 T 8B 00 00 00 1E 01 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0F 00 +R 00 00 01 00 2B 07 0E 00 T 90 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 0F 00 02 09 00 00 +R 00 00 01 00 02 04 0E 00 02 09 00 00 T 97 00 00 00 FE DD 74 FF 7D B4 20 02 R 00 00 01 00 T 9F 00 00 00 @@ -95,21 +95,21 @@ R 00 00 01 00 T CD 00 00 00 0E 00 DD 5E FE DD 56 FF 3E R 00 00 01 00 T D6 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 06 00 02 09 06 00 T DB 00 00 00 00 00 00 00 CB 7C 28 5A R 00 00 01 00 02 04 00 00 T E1 00 00 00 R 00 00 01 00 -T E1 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0D 00 +T E1 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0C 00 T EA 00 00 00 23 66 68 01 08 00 09 7E 23 B6 20 R 00 00 01 00 T F5 00 00 00 15 R 00 00 01 00 T F6 00 00 00 R 00 00 01 00 -T F6 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0D 00 +T F6 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0C 00 T FF 00 00 00 23 66 68 01 08 00 09 36 05 23 36 R 00 00 01 00 T 0A 01 00 00 00 @@ -118,12 +118,12 @@ T 0B 01 00 00 R 00 00 01 00 T 0B 01 00 00 R 00 00 01 00 -T 0B 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0D 00 +T 0B 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0C 00 T 14 01 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T 1F 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 05 00 02 0B 05 00 +R 00 00 01 00 2B 05 11 00 02 0B 11 00 T 25 01 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 0A 00 T 2D 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 @@ -143,19 +143,19 @@ R 00 00 01 00 T 42 01 00 00 21 00 02 E5 01 00 00 DD 5E FE DD R 00 00 01 00 T 4D 01 00 00 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 03 00 +R 00 00 01 00 2B 07 05 00 T 52 01 00 00 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 04 03 00 02 09 00 00 +R 00 00 01 00 02 04 05 00 02 09 00 00 T 58 01 00 00 R 00 00 01 00 T 58 01 00 00 21 05 02 DD 4E FE DD 46 FF 09 34 R 00 00 01 00 T 63 01 00 00 21 07 02 09 ED 5B 00 00 00 00 13 -R 00 00 01 00 02 0A 02 00 +R 00 00 01 00 02 0A 04 00 T 6C 01 00 00 ED 53 00 00 00 00 73 23 72 C5 0E -R 00 00 01 00 02 06 02 00 +R 00 00 01 00 02 06 04 00 T 75 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 07 00 02 0A 07 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T 7B 01 00 00 21 03 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 09 0A 00 T 82 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 diff --git a/src/nos/lib/filesys_lib/bufdump.rel b/src/nos/lib/filesys_lib/bufdump.rel index 525328b2..af912158 100644 --- a/src/nos/lib/filesys_lib/bufdump.rel +++ b/src/nos/lib/filesys_lib/bufdump.rel @@ -3,7 +3,6 @@ H 2 areas E global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _bufclock Ref00000000 S _buf_flsh Ref00000000 -S ___01f9_de82_Buf_20hits_2fmiss_2 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _buf_hits Ref00000000 S _Bufpool Ref00000000 @@ -13,31 +12,32 @@ S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ___000a_1c3a__09_25p_09_25u_09_2 Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___022b_de82_Buf_20hits_2fmiss_2 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size F0 flags 0 S _bufdump Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF 2A -R 00 00 01 00 02 05 09 00 +R 00 00 01 00 02 05 08 00 T 06 00 00 00 00 00 00 00 E5 2A 00 00 00 00 E5 R 00 00 01 00 02 04 01 00 02 0A 02 00 T 0D 00 00 00 2A 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 02 05 07 00 02 0B 05 00 +R 00 00 01 00 02 05 06 00 02 0B 04 00 T 14 00 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 03 00 +R 00 00 01 00 2B 06 0C 00 T 19 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 03 00 2B 0A 0B 00 +R 00 00 01 00 02 04 0C 00 2B 0A 0A 00 T 1F 00 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 0A 00 02 09 00 00 T 26 00 00 00 0C 00 39 F9 EB DD 36 FC R 00 00 01 00 T 2E 00 00 00 00 00 00 00 DD 36 FD 00 00 00 00 -R 00 00 01 00 0B 04 06 00 8B 0B 06 00 +R 00 00 01 00 0B 04 05 00 8B 0B 05 00 T 33 00 00 00 R 00 00 01 00 T 33 00 00 00 01 06 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 05 00 T 3C 00 00 00 A7 ED 42 D2 E1 00 00 00 R 00 00 01 00 00 08 01 00 T 42 00 00 00 @@ -85,11 +85,11 @@ R 00 00 01 00 T AD 00 00 00 5E 23 56 D5 3E 02 80 47 69 60 4E R 00 00 01 00 T B8 00 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 0A 00 +R 00 00 01 00 2B 08 09 00 T BF 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 2B 0A 0B 00 +R 00 00 01 00 02 04 09 00 2B 0A 0A 00 T C5 00 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 0A 00 02 09 00 00 T CC 00 00 00 10 00 39 F9 EB R 00 00 01 00 T D1 00 00 00 @@ -107,6 +107,6 @@ R 00 00 01 00 T E1 00 00 00 21 00 00 22 00 00 00 00 22 R 00 00 01 00 02 08 02 00 T E8 00 00 00 00 00 00 00 22 00 00 00 00 C3 -R 00 00 01 00 02 04 05 00 02 09 07 00 +R 00 00 01 00 02 04 04 00 02 09 06 00 T EE 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 04 00 +R 00 00 01 00 02 04 03 00 diff --git a/src/nos/lib/filesys_lib/bufinit.rel b/src/nos/lib/filesys_lib/bufinit.rel deleted file mode 100644 index e464bc5d..00000000 --- a/src/nos/lib/filesys_lib/bufinit.rel +++ /dev/null @@ -1,128 +0,0 @@ -XL4 -H 2 areas 10 global symbols -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S ___0415_7943_attempt_20to_20writ Ref00000000 -S _buf_flsh Ref00000000 -S _bdreadwrite Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S __dprintf Ref00000000 -S _Bufpool Ref00000000 -S .__.ABS. Def00000000 -S _free Ref00000000 -S ___046e_3f12_devio_5fgarbage_3a_ Ref00000000 -S __panic Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size E9 flags 0 -S _bufinit Def00000000 -S _devio_garbage Def00000003 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 03 00 00 00 -R 00 00 01 00 -T 03 00 00 00 CD 00 00 00 00 FC FF DD 36 FC -R 00 00 01 00 02 05 0C 00 -T 0B 00 00 00 00 00 00 00 DD 36 FD 00 00 00 00 -R 00 00 01 00 0B 04 07 00 8B 0B 07 00 -T 10 00 00 00 -R 00 00 01 00 -T 10 00 00 00 01 06 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 02 05 07 00 -T 19 00 00 00 A7 ED 42 D2 E6 00 00 00 -R 00 00 01 00 00 08 01 00 -T 1F 00 00 00 -R 00 00 01 00 -T 1F 00 00 00 DD 6E FC DD 66 FD 46 23 66 68 DD -R 00 00 01 00 -T 2A 00 00 00 75 FE DD 74 FF 7D B4 CA -R 00 00 01 00 -T 32 00 00 00 D6 00 00 00 21 05 02 DD 4E FE DD -R 00 00 01 00 00 04 01 00 -T 3B 00 00 00 46 FF 09 7E B7 C2 D6 00 00 00 21 -R 00 00 01 00 00 0A 01 00 -T 44 00 00 00 06 02 DD 4E FE DD 46 FF 09 7E B7 -R 00 00 01 00 -T 4F 00 00 00 C2 D6 00 00 00 -R 00 00 01 00 00 05 01 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 21 04 02 DD 4E FE DD 46 FF 09 7E -R 00 00 01 00 -T 5D 00 00 00 B7 28 5E -R 00 00 01 00 -T 60 00 00 00 -R 00 00 01 00 -T 60 00 00 00 DD 7E 02 DD B6 03 20 02 -R 00 00 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 18 6C -R 00 00 01 00 -T 6A 00 00 00 -R 00 00 01 00 -T 6A 00 00 00 DD 6E FE DD 66 FF 3E 02 84 67 7E -R 00 00 01 00 -T 75 00 00 00 23 A6 3C 20 11 -R 00 00 01 00 -T 7A 00 00 00 -R 00 00 01 00 -T 7A 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 02 00 02 0B 02 00 -T 80 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 -T 86 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 00 00 -T 8B 00 00 00 -R 00 00 01 00 -T 8B 00 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 02 05 03 00 02 0B 03 00 -T 92 00 00 00 0E 01 DD 5E FE DD 56 FF 3E -R 00 00 01 00 -T 9B 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T A0 00 00 00 00 00 00 00 CB 7C 28 18 -R 00 00 01 00 02 04 00 00 -T A6 00 00 00 -R 00 00 01 00 -T A6 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 -T AC 00 00 00 E5 21 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 06 00 -T B4 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 06 00 02 09 00 00 -T BB 00 00 00 F1 18 18 -R 00 00 01 00 -T BE 00 00 00 -R 00 00 01 00 -T BE 00 00 00 -R 00 00 01 00 -T BE 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 09 00 -T C6 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 09 00 02 0A 00 00 -T CD 00 00 00 6E FC DD 66 FD AF 77 23 77 -R 00 00 01 00 -T D6 00 00 00 -R 00 00 01 00 -T D6 00 00 00 -R 00 00 01 00 -T D6 00 00 00 DD 7E FC C6 02 DD 77 FC 30 03 DD -R 00 00 01 00 -T E1 00 00 00 34 FD -R 00 00 01 00 -T E3 00 00 00 -R 00 00 01 00 -T E3 00 00 00 C3 10 00 00 00 -R 00 00 01 00 00 05 01 00 -T E6 00 00 00 -R 00 00 01 00 -T E6 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 diff --git a/src/nos/lib/filesys_lib/bufpool_garbage.rel b/src/nos/lib/filesys_lib/bufpool_garbage.rel new file mode 100644 index 00000000..2589bedb --- /dev/null +++ b/src/nos/lib/filesys_lib/bufpool_garbage.rel @@ -0,0 +1,122 @@ +XL4 +H 2 areas E global symbols +S ?BANK_CALL_DIRECT_L08 Ref00000000 +S _buf_flsh Ref00000000 +S _bdreadwrite Ref00000000 +S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S __dprintf Ref00000000 +S _Bufpool Ref00000000 +S .__.ABS. Def00000000 +S _free Ref00000000 +S ___04ab_7943_attempt_20to_20writ Ref00000000 +S __panic Ref00000000 +S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ___0509_3f12_devio_5fgarbage_3a_ Ref00000000 +S ?CL64180B_4_06_L00 Ref00000000 +A _DEFAULT size 0 flags 0 +A CODE size E6 flags 0 +S _bufpool_garbage Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 CD 00 00 00 00 FC FF DD 36 FC +R 00 00 01 00 02 05 0A 00 +T 08 00 00 00 00 00 00 00 DD 36 FD 00 00 00 00 +R 00 00 01 00 0B 04 05 00 8B 0B 05 00 +T 0D 00 00 00 +R 00 00 01 00 +T 0D 00 00 00 01 06 00 00 00 DD 6E FC DD 66 FD +R 00 00 01 00 02 05 05 00 +T 16 00 00 00 A7 ED 42 D2 E3 00 00 00 +R 00 00 01 00 00 08 01 00 +T 1C 00 00 00 +R 00 00 01 00 +T 1C 00 00 00 DD 6E FC DD 66 FD 46 23 66 68 DD +R 00 00 01 00 +T 27 00 00 00 75 FE DD 74 FF 7D B4 CA +R 00 00 01 00 +T 2F 00 00 00 D3 00 00 00 21 05 02 DD 4E FE DD +R 00 00 01 00 00 04 01 00 +T 38 00 00 00 46 FF 09 7E B7 C2 D3 00 00 00 21 +R 00 00 01 00 00 0A 01 00 +T 41 00 00 00 06 02 DD 4E FE DD 46 FF 09 7E B7 +R 00 00 01 00 +T 4C 00 00 00 C2 D3 00 00 00 +R 00 00 01 00 00 05 01 00 +T 4F 00 00 00 +R 00 00 01 00 +T 4F 00 00 00 +R 00 00 01 00 +T 4F 00 00 00 +R 00 00 01 00 +T 4F 00 00 00 21 04 02 DD 4E FE DD 46 FF 09 7E +R 00 00 01 00 +T 5A 00 00 00 B7 28 5E +R 00 00 01 00 +T 5D 00 00 00 +R 00 00 01 00 +T 5D 00 00 00 DD 7E 02 DD B6 03 20 02 +R 00 00 01 00 +T 65 00 00 00 +R 00 00 01 00 +T 65 00 00 00 18 6C +R 00 00 01 00 +T 67 00 00 00 +R 00 00 01 00 +T 67 00 00 00 DD 6E FE DD 66 FF 3E 02 84 67 7E +R 00 00 01 00 +T 72 00 00 00 23 A6 3C 20 11 +R 00 00 01 00 +T 77 00 00 00 +R 00 00 01 00 +T 77 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 +T 7D 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 09 00 02 0B 09 00 +T 83 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 05 00 00 +T 88 00 00 00 +R 00 00 01 00 +T 88 00 00 00 2A 00 00 00 00 23 22 00 00 00 00 +R 00 00 01 00 02 05 01 00 02 0B 01 00 +T 8F 00 00 00 0E 01 DD 5E FE DD 56 FF 3E +R 00 00 01 00 +T 98 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 9D 00 00 00 00 00 00 00 CB 7C 28 18 +R 00 00 01 00 02 04 00 00 +T A3 00 00 00 +R 00 00 01 00 +T A3 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 +T A9 00 00 00 E5 21 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 04 00 +T B1 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 04 00 02 09 00 00 +T B8 00 00 00 F1 18 18 +R 00 00 01 00 +T BB 00 00 00 +R 00 00 01 00 +T BB 00 00 00 +R 00 00 01 00 +T BB 00 00 00 DD 6E FC DD 66 FD AF 77 23 77 DD +R 00 00 01 00 +T C6 00 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 07 00 +T CE 00 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 07 00 02 09 00 00 +T D3 00 00 00 +R 00 00 01 00 +T D3 00 00 00 +R 00 00 01 00 +T D3 00 00 00 DD 7E FC C6 02 DD 77 FC 30 03 DD +R 00 00 01 00 +T DE 00 00 00 34 FD +R 00 00 01 00 +T E0 00 00 00 +R 00 00 01 00 +T E0 00 00 00 C3 0D 00 00 00 +R 00 00 01 00 00 05 01 00 +T E3 00 00 00 +R 00 00 01 00 +T E3 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/filesys_lib/bufsync.rel b/src/nos/lib/filesys_lib/bufsync.rel index 0239c3fa..c499fe58 100644 --- a/src/nos/lib/filesys_lib/bufsync.rel +++ b/src/nos/lib/filesys_lib/bufsync.rel @@ -1,36 +1,36 @@ XL4 H 2 areas B global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___04ce_d194_bufsync_28_29_20ret Ref00000000 S _bdreadwrite Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 S _Bufpool Ref00000000 S .__.ABS. Def00000000 -S ___0438_606b_bufsync_28_29_20sta Ref00000000 -S ___0437_d194_bufsync_28_29_20ret Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___04cf_606b_bufsync_28_29_20sta Ref00000000 A _DEFAULT size 0 flags 0 A CODE size B9 flags 0 S _bufsync Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF 0E -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 07 00 T 06 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 06 00 02 0A 06 00 +R 00 00 01 00 2B 04 09 00 02 0A 09 00 T 0C 00 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 03 00 +R 00 00 01 00 2B 09 04 00 T 13 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 02 09 00 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T 1A 00 00 00 F1 DD 36 FC 00 00 00 00 DD 36 FD -R 00 00 01 00 0B 08 04 00 +R 00 00 01 00 0B 08 05 00 T 22 00 00 00 00 00 00 00 -R 00 00 01 00 8B 04 04 00 +R 00 00 01 00 8B 04 05 00 T 23 00 00 00 R 00 00 01 00 T 23 00 00 00 01 06 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T 2C 00 00 00 A7 ED 42 30 6F R 00 00 01 00 T 31 00 00 00 @@ -56,7 +56,7 @@ R 00 00 01 00 T 71 00 00 00 0E 01 DD 5E FE DD 56 FF 3E R 00 00 01 00 T 7A 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 +R 00 00 01 00 2B 04 02 00 02 09 02 00 T 7F 00 00 00 00 00 00 00 7D B4 20 0C R 00 00 01 00 02 04 00 00 T 85 00 00 00 @@ -80,10 +80,10 @@ R 00 00 01 00 T A0 00 00 00 R 00 00 01 00 T A0 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0B 07 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 T A6 00 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 03 00 +R 00 00 01 00 2B 0A 04 00 T AE 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 02 09 00 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T B5 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 02 00 +R 00 00 01 00 02 06 03 00 diff --git a/src/nos/lib/filesys_lib/ch_link.rel b/src/nos/lib/filesys_lib/ch_link.rel index ae3ff3a3..82a1d31e 100644 --- a/src/nos/lib/filesys_lib/ch_link.rel +++ b/src/nos/lib/filesys_lib/ch_link.rel @@ -1,22 +1,22 @@ XL4 H 2 areas 12 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0443_7c72_ch_5flink_280x_25x_ Ref00000000 S _namecomp Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 S ?L_ADDASG_L03 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 +S ___04d9_30ce_ch_5flink_28_29_20r Ref00000000 S ?L_ANDASG_L03 Ref00000000 -S ___0442_30ce_ch_5flink_28_29_20r Ref00000000 +S ___04da_7c72_ch_5flink_280x_25x_ Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _readwritei Ref00000000 S _getperm Ref00000000 +S ___04d8_8b51_ch_5flink_28_29_20r Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _setftim Ref00000000 S ?L_SUBASG_L03 Ref00000000 -S ___0441_8b51_ch_5flink_28_29_20r Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 2FD flags 0 S _ch_link Def00000000 @@ -29,11 +29,11 @@ R 00 00 01 00 T 14 00 00 00 DD 6E 02 DD 66 03 E5 0E R 00 00 01 00 T 1C 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 01 00 02 0A 01 00 +R 00 00 01 00 2B 04 09 00 02 0A 09 00 T 22 00 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 04 00 +R 00 00 01 00 2B 09 03 00 T 29 00 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 04 00 02 09 00 00 +R 00 00 01 00 02 04 03 00 02 09 00 00 T 30 00 00 00 0E 00 39 F9 EB DD 5E 02 DD 56 03 R 00 00 01 00 T 3B 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD @@ -44,50 +44,50 @@ T 4A 00 00 00 B0 20 18 R 00 00 01 00 T 4D 00 00 00 R 00 00 01 00 -T 4D 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 06 00 +T 4D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 05 00 T 56 00 00 00 23 66 68 01 08 00 09 36 01 23 36 R 00 00 01 00 T 61 00 00 00 00 C3 5F 02 00 00 R 00 00 01 00 00 06 01 00 T 65 00 00 00 R 00 00 01 00 -T 65 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 06 00 +T 65 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 05 00 T 6E 00 00 00 23 66 68 01 16 00 09 AF 77 23 77 R 00 00 01 00 T 79 00 00 00 23 77 23 77 R 00 00 01 00 T 7D 00 00 00 R 00 00 01 00 -T 7D 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 -R 00 00 01 00 02 09 06 00 +T 7D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 +R 00 00 01 00 02 09 05 00 T 86 00 00 00 23 66 6A 11 12 00 19 E5 21 02 00 R 00 00 01 00 -T 91 00 00 00 39 5D 54 E1 73 23 72 21 4B 00 ED +T 91 00 00 00 39 5D 54 E1 73 23 72 21 4D 00 ED R 00 00 01 00 T 9C 00 00 00 4B 00 00 00 00 09 56 23 66 6A 11 -R 00 00 01 00 02 05 06 00 -T A5 00 00 00 14 00 19 36 10 23 36 00 21 4B 00 +R 00 00 01 00 02 05 05 00 +T A5 00 00 00 14 00 19 36 10 23 36 00 21 4D 00 R 00 00 01 00 T B0 00 00 00 ED 4B 00 00 00 00 09 56 23 66 6A -R 00 00 01 00 02 06 06 00 +R 00 00 01 00 02 06 05 00 T B9 00 00 00 11 1C 00 19 36 01 DD 4E 02 DD 46 R 00 00 01 00 T C4 00 00 00 03 1E 00 3E 00 00 00 00 21 R 00 00 01 00 2B 08 0B 00 T CA 00 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 0B 00 02 09 00 00 -T D0 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 -R 00 00 01 00 02 08 06 00 +T D0 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 +R 00 00 01 00 02 08 05 00 T D9 00 00 00 66 68 01 14 00 09 7E 23 B6 28 1C R 00 00 01 00 T E4 00 00 00 21 00 00 39 01 02 00 09 4D 44 DD R 00 00 01 00 T EF 00 00 00 5E 04 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 02 00 +R 00 00 01 00 2B 0A 01 00 T F7 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 02 00 02 09 00 00 +R 00 00 01 00 02 04 01 00 02 09 00 00 T FE 00 00 00 28 02 R 00 00 01 00 T 00 01 00 00 @@ -104,8 +104,8 @@ T 02 01 00 00 C3 7D 00 00 00 R 00 00 01 00 00 05 01 00 T 05 01 00 00 R 00 00 01 00 -T 05 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 06 00 +T 05 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 05 00 T 0E 01 00 00 23 66 68 01 14 00 09 7E 23 B6 20 R 00 00 01 00 T 19 01 00 00 22 DD 6E 04 DD 66 05 AF B6 28 18 @@ -116,8 +116,8 @@ T 24 01 00 00 R 00 00 01 00 T 24 01 00 00 R 00 00 01 00 -T 24 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 06 00 +T 24 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 05 00 T 2D 01 00 00 23 66 68 01 08 00 09 36 02 23 36 R 00 00 01 00 T 38 01 00 00 00 C3 5F 02 00 00 @@ -166,64 +166,64 @@ T 9F 01 00 00 21 00 00 R 00 00 01 00 T A2 01 00 00 R 00 00 01 00 -T A2 01 00 00 DD 75 EE DD 74 EF 21 4B 00 ED 4B +T A2 01 00 00 DD 75 EE DD 74 EF 21 4D 00 ED 4B R 00 00 01 00 T AD 01 00 00 00 00 00 00 09 46 23 66 68 01 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T B5 01 00 00 14 00 09 7E 23 B6 28 27 R 00 00 01 00 T BD 01 00 00 R 00 00 01 00 -T BD 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 -R 00 00 01 00 02 09 06 00 -T C6 01 00 00 23 66 6A 11 16 00 19 E5 21 4B 00 +T BD 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 +R 00 00 01 00 02 09 05 00 +T C6 01 00 00 23 66 6A 11 16 00 19 E5 21 4D 00 R 00 00 01 00 T D1 01 00 00 09 46 23 66 68 01 14 00 09 5E 23 R 00 00 01 00 T DC 01 00 00 56 01 00 00 E1 CD 00 00 00 00 -R 00 00 01 00 02 0A 0F 00 +R 00 00 01 00 02 0A 10 00 T E4 01 00 00 R 00 00 01 00 -T E4 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 -R 00 00 01 00 02 09 06 00 +T E4 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 +R 00 00 01 00 02 09 05 00 T ED 01 00 00 23 66 6A 11 12 00 19 E5 21 02 00 R 00 00 01 00 -T F8 01 00 00 39 5D 54 E1 73 23 72 21 4B 00 ED +T F8 01 00 00 39 5D 54 E1 73 23 72 21 4D 00 ED R 00 00 01 00 T 03 02 00 00 4B 00 00 00 00 09 56 23 66 6A 11 -R 00 00 01 00 02 05 06 00 -T 0C 02 00 00 14 00 19 36 10 23 36 00 21 4B 00 +R 00 00 01 00 02 05 05 00 +T 0C 02 00 00 14 00 19 36 10 23 36 00 21 4D 00 R 00 00 01 00 T 17 02 00 00 ED 4B 00 00 00 00 09 56 23 66 6A -R 00 00 01 00 02 06 06 00 -T 20 02 00 00 11 08 00 19 AF 77 23 77 21 4B 00 +R 00 00 01 00 02 06 05 00 +T 20 02 00 00 11 08 00 19 AF 77 23 77 21 4D 00 R 00 00 01 00 T 2B 02 00 00 ED 4B 00 00 00 00 09 56 23 66 6A -R 00 00 01 00 02 06 06 00 +R 00 00 01 00 02 06 05 00 T 34 02 00 00 11 1C 00 19 36 01 DD 4E 02 DD 46 R 00 00 01 00 T 3F 02 00 00 03 1E 01 3E 00 00 00 00 21 R 00 00 01 00 2B 08 0B 00 T 45 02 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 0B 00 02 09 00 00 -T 4B 02 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 -R 00 00 01 00 02 08 06 00 +T 4B 02 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 +R 00 00 01 00 02 08 05 00 T 54 02 00 00 66 68 01 08 00 09 7E 23 B6 28 30 R 00 00 01 00 T 5F 02 00 00 R 00 00 01 00 T 5F 02 00 00 R 00 00 01 00 -T 5F 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 06 00 +T 5F 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 05 00 T 68 02 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T 73 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 10 00 02 0B 10 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 T 79 02 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 04 00 +R 00 00 01 00 2B 0A 03 00 T 81 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 04 00 02 09 00 00 +R 00 00 01 00 02 04 03 00 02 09 00 00 T 88 02 00 00 F1 F1 21 00 00 18 6B R 00 00 01 00 T 8F 02 00 00 @@ -243,22 +243,22 @@ R 00 00 01 00 02 0A 08 00 T BF 02 00 00 12 00 DD 4E 02 DD 46 03 09 01 R 00 00 01 00 T C9 02 00 00 00 00 11 00 02 CD 00 00 00 00 -R 00 00 01 00 02 0A 05 00 +R 00 00 01 00 02 0A 04 00 T D1 02 00 00 R 00 00 01 00 T D1 02 00 00 0E 07 DD 5E 02 DD 56 03 3E R 00 00 01 00 T DA 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +R 00 00 01 00 2B 04 0F 00 02 09 0F 00 T DF 02 00 00 00 00 00 00 0E 00 00 00 00 C5 21 -R 00 00 01 00 02 04 00 00 2B 09 09 00 +R 00 00 01 00 02 04 00 00 2B 09 07 00 T E5 02 00 00 00 00 00 00 E5 21 03 00 E5 3E -R 00 00 01 00 02 04 09 00 +R 00 00 01 00 02 04 07 00 T ED 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T F2 02 00 00 00 00 00 00 F1 F1 F1 21 01 00 R 00 00 01 00 02 04 00 00 T FA 02 00 00 R 00 00 01 00 T FA 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/filesys_lib/chany.rel b/src/nos/lib/filesys_lib/chany.rel index 980f8790..0039f4df 100644 --- a/src/nos/lib/filesys_lib/chany.rel +++ b/src/nos/lib/filesys_lib/chany.rel @@ -30,19 +30,19 @@ T 24 00 00 00 18 68 R 00 00 01 00 T 26 00 00 00 R 00 00 01 00 -T 26 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 26 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 04 00 -T 2F 00 00 00 23 66 6F 46 23 66 68 01 1D 00 09 +T 2F 00 00 00 23 66 6F 46 23 66 68 01 1F 00 09 R 00 00 01 00 T 3A 00 00 00 46 23 66 68 E5 21 0E 00 DD 4E FE R 00 00 01 00 T 45 00 00 00 DD 46 FF 09 4E 23 46 E1 A7 ED 42 R 00 00 01 00 -T 50 00 00 00 28 41 21 4B 00 ED 4B 00 00 00 00 +T 50 00 00 00 28 41 21 4D 00 ED 4B 00 00 00 00 R 00 00 01 00 02 0B 04 00 T 59 00 00 00 09 7E 23 66 6F 46 23 66 68 01 R 00 00 01 00 -T 63 00 00 00 1D 00 09 7E 23 B6 28 28 +T 63 00 00 00 1F 00 09 7E 23 B6 28 28 R 00 00 01 00 T 6B 00 00 00 R 00 00 01 00 @@ -54,7 +54,7 @@ T 6B 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 R 00 00 01 00 2B 0B 02 00 T 73 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 02 00 02 0A 00 00 -T 7A 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T 7A 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 04 00 T 83 00 00 00 66 68 01 08 00 09 36 01 23 36 00 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/chdir.rel b/src/nos/lib/filesys_lib/chdir.rel index 5d2ebd60..60cf9c39 100644 --- a/src/nos/lib/filesys_lib/chdir.rel +++ b/src/nos/lib/filesys_lib/chdir.rel @@ -2,9 +2,9 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _sys_chdir Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 23 23 23 36 03 3E R 00 00 01 00 T 7C 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 81 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 2B 09 03 00 +R 00 00 01 00 02 04 00 00 2B 09 02 00 T 86 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T 8D 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +R 00 00 01 00 02 04 02 00 02 09 00 00 +T 8D 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T 96 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -62,15 +62,15 @@ T AF 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T B7 00 00 00 R 00 00 01 00 -T B7 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T B7 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T C0 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T C0 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T CB 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T D3 00 00 00 R 00 00 01 00 -T D3 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T D3 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T DC 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/chmod.rel b/src/nos/lib/filesys_lib/chmod.rel index c521f788..d5f49a67 100644 --- a/src/nos/lib/filesys_lib/chmod.rel +++ b/src/nos/lib/filesys_lib/chmod.rel @@ -2,9 +2,9 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _sys_chmod Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 06 00 @@ -53,10 +53,10 @@ R 00 00 01 00 2B 08 0A 00 T 97 00 00 00 00 00 00 00 CD 00 00 00 00 3E R 00 00 01 00 02 04 0A 00 02 09 00 00 T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 +R 00 00 01 00 2B 04 02 00 02 09 02 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 06 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/chown.rel b/src/nos/lib/filesys_lib/chown.rel index 13893ef4..dc1b05ea 100644 --- a/src/nos/lib/filesys_lib/chown.rel +++ b/src/nos/lib/filesys_lib/chown.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_chown Ref00000000 S _Curproc Ref00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 90 00 00 00 0E 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 9B 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 9B 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T A4 00 00 00 56 23 66 6A 23 23 23 36 05 3E R 00 00 01 00 @@ -60,7 +60,7 @@ T B3 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 05 00 T B8 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 05 00 02 09 00 00 -T BF 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T BF 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T C8 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -72,15 +72,15 @@ T E1 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T E9 00 00 00 R 00 00 01 00 -T E9 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T E9 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T F2 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T F2 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T FD 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 05 01 00 00 R 00 00 01 00 -T 05 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 05 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T 0E 01 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/close.rel b/src/nos/lib/filesys_lib/close.rel index 15971eb9..eaa8cd17 100644 --- a/src/nos/lib/filesys_lib/close.rel +++ b/src/nos/lib/filesys_lib/close.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_close Ref00000000 S _Curproc Ref00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 23 23 23 36 06 3E R 00 00 01 00 @@ -50,7 +50,7 @@ T 81 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 05 00 T 86 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 05 00 02 09 00 00 -T 8D 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T 8D 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T 96 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -62,15 +62,15 @@ T AF 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T B7 00 00 00 R 00 00 01 00 -T B7 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T B7 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T C0 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T C0 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T CB 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T D3 00 00 00 R 00 00 01 00 -T D3 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T D3 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T DC 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/creat.rel b/src/nos/lib/filesys_lib/creat.rel index c23a1443..69a1a9bd 100644 --- a/src/nos/lib/filesys_lib/creat.rel +++ b/src/nos/lib/filesys_lib/creat.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,34 +21,34 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 36 02 23 R 00 00 01 00 -T 7D 00 00 00 36 03 21 4B 00 ED 4B 00 00 00 00 +T 7D 00 00 00 36 03 21 4D 00 ED 4B 00 00 00 00 R 00 00 01 00 02 0B 05 00 T 86 00 00 00 09 56 23 66 6A 11 0E 00 19 DD 5E R 00 00 01 00 -T 91 00 00 00 04 DD 56 05 73 23 72 21 4B 00 ED +T 91 00 00 00 04 DD 56 05 73 23 72 21 4D 00 ED R 00 00 01 00 T 9C 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 @@ -60,7 +60,7 @@ T B2 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 08 00 02 09 08 00 T B7 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T C0 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T C0 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 05 00 T C9 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -72,15 +72,15 @@ T E2 00 00 00 3C 20 1C R 00 00 01 00 T E5 00 00 00 R 00 00 01 00 -T E5 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T E5 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T EE 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T EE 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T F9 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 01 01 00 00 R 00 00 01 00 -T 01 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 01 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T 0A 01 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/d_init.rel b/src/nos/lib/filesys_lib/d_init.rel index 24b93594..2360c1c2 100644 --- a/src/nos/lib/filesys_lib/d_init.rel +++ b/src/nos/lib/filesys_lib/d_init.rel @@ -3,10 +3,10 @@ H 2 areas 12 global symbols S _nogood_ioctl Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _nogood Ref00000000 +S ___04fb_5a9b_d_5finit_28_29_20ma Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Devtab Ref00000000 S _ok Ref00000000 -S ___0462_62af_d_5finit_28_29 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S ?L_LSH_L03 Ref00000000 @@ -15,14 +15,14 @@ S __panic Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _copyr Ref00000000 S _calloc Ref00000000 -S ___0463_5a9b_d_5finit_28_29_20ma Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___04fa_62af_d_5finit_28_29 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 2BF flags 0 S _d_init Def00000130 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F6 FF 21 4B 00 ED +T 00 00 00 00 CD 00 00 00 00 F6 FF 21 4D 00 ED R 00 00 01 00 02 05 0C 00 T 09 00 00 00 5B 00 00 00 00 19 46 23 66 68 11 R 00 00 01 00 02 05 07 00 @@ -44,7 +44,7 @@ T 3F 00 00 00 00 00 3E 09 CD 00 00 00 00 DD 75 R 00 00 01 00 02 09 09 00 T 48 00 00 00 FC DD 74 FD DD 71 FE DD 70 FF 21 R 00 00 01 00 -T 53 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T 53 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 07 00 T 5C 00 00 00 66 68 01 1A 00 09 46 23 66 68 01 R 00 00 01 00 @@ -61,10 +61,10 @@ R 00 00 01 00 02 04 01 00 T 95 00 00 00 R 00 00 01 00 T 95 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 +R 00 00 01 00 02 05 04 00 T 98 00 00 00 R 00 00 01 00 -T 98 00 00 00 CD 00 00 00 00 F6 FF 21 4B 00 ED +T 98 00 00 00 CD 00 00 00 00 F6 FF 21 4D 00 ED R 00 00 01 00 02 05 0C 00 T A1 00 00 00 5B 00 00 00 00 19 46 23 66 68 11 R 00 00 01 00 02 05 07 00 @@ -80,7 +80,7 @@ T C7 00 00 00 21 FF FF 18 61 R 00 00 01 00 T CC 00 00 00 R 00 00 01 00 -T CC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T CC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 07 00 T D5 00 00 00 23 66 68 01 1A 00 09 46 23 66 68 R 00 00 01 00 @@ -103,17 +103,17 @@ R 00 00 01 00 02 05 01 00 T 2D 01 00 00 R 00 00 01 00 T 2D 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 +R 00 00 01 00 02 05 04 00 T 30 01 00 00 R 00 00 01 00 T 30 01 00 00 CD 00 00 00 00 FA FF DD 36 FA R 00 00 01 00 02 05 0C 00 T 38 01 00 00 00 00 00 00 DD 36 FB 00 00 00 00 -R 00 00 01 00 0B 04 04 00 8B 0B 04 00 +R 00 00 01 00 0B 04 05 00 8B 0B 05 00 T 3D 01 00 00 R 00 00 01 00 T 3D 01 00 00 01 06 00 00 00 DD 6E FA DD 66 FB -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T 46 01 00 00 A7 ED 42 D2 DF 01 00 00 R 00 00 01 00 00 08 01 00 T 4C 01 00 00 @@ -127,7 +127,7 @@ R 00 00 01 00 T 64 01 00 00 R 00 00 01 00 T 64 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 06 00 02 0B 06 00 +R 00 00 01 00 2B 05 10 00 02 0B 10 00 T 6A 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 T 70 01 00 00 CD 00 00 00 00 F1 F1 @@ -171,21 +171,21 @@ R 00 00 01 00 00 05 01 00 T DF 01 00 00 R 00 00 01 00 T DF 01 00 00 2A 00 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T E8 01 00 00 36 01 DD 6E FC DD 66 FD 23 36 R 00 00 01 00 T F2 01 00 00 00 00 00 00 23 36 00 00 00 00 23 -R 00 00 01 00 0B 04 05 00 8B 0A 05 00 +R 00 00 01 00 0B 04 06 00 8B 0A 06 00 T F7 01 00 00 36 00 00 00 00 21 04 00 DD 4E FC -R 00 00 01 00 2B 05 05 00 +R 00 00 01 00 2B 05 06 00 T FF 01 00 00 DD 46 FD 09 36 00 00 00 00 23 36 -R 00 00 01 00 0B 09 05 00 +R 00 00 01 00 0B 09 06 00 T 07 02 00 00 00 00 00 00 23 36 00 00 00 00 21 -R 00 00 01 00 8B 04 05 00 2B 0A 05 00 +R 00 00 01 00 8B 04 06 00 2B 0A 06 00 T 0C 02 00 00 07 00 09 36 00 00 00 00 23 36 -R 00 00 01 00 0B 08 05 00 +R 00 00 01 00 0B 08 06 00 T 13 02 00 00 00 00 00 00 23 36 00 00 00 00 21 -R 00 00 01 00 8B 04 05 00 2B 0A 05 00 +R 00 00 01 00 8B 04 06 00 2B 0A 06 00 T 18 02 00 00 0A 00 09 36 00 00 00 00 23 36 R 00 00 01 00 09 08 01 00 T 1F 02 00 00 00 00 00 00 23 36 00 00 00 00 21 @@ -195,13 +195,13 @@ R 00 00 01 00 09 08 01 00 T 2B 02 00 00 98 00 00 00 23 36 98 00 00 00 DD R 00 00 01 00 89 04 01 00 29 0A 01 00 T 30 02 00 00 36 FA 00 00 00 00 DD 36 FB -R 00 00 01 00 0B 06 04 00 +R 00 00 01 00 0B 06 05 00 T 36 02 00 00 00 00 00 00 -R 00 00 01 00 8B 04 04 00 +R 00 00 01 00 8B 04 05 00 T 37 02 00 00 R 00 00 01 00 T 37 02 00 00 01 06 00 00 00 DD 6E FA DD 66 FB -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T 40 02 00 00 A7 ED 42 30 77 R 00 00 01 00 T 45 02 00 00 @@ -227,13 +227,13 @@ R 00 00 01 00 T 7D 02 00 00 R 00 00 01 00 T 7D 02 00 00 DD 4E FE 06 00 C5 01 00 00 00 00 -R 00 00 01 00 02 0B 04 00 +R 00 00 01 00 02 0B 05 00 T 86 02 00 00 DD 6E FA DD 66 FB A7 ED 42 CB 2C R 00 00 01 00 T 91 02 00 00 CB 1D E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 0F 00 +R 00 00 01 00 2B 08 03 00 T 98 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0F 00 2B 0A 0B 00 +R 00 00 01 00 02 04 03 00 2B 0A 0B 00 T 9E 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 0B 00 02 09 01 00 T A5 02 00 00 F1 F1 @@ -255,4 +255,4 @@ R 00 00 01 00 00 05 01 00 T BC 02 00 00 R 00 00 01 00 T BC 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 +R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/filesys_lib/d_ioctl.rel b/src/nos/lib/filesys_lib/d_ioctl.rel index 9440e959..f8e6d879 100644 --- a/src/nos/lib/filesys_lib/d_ioctl.rel +++ b/src/nos/lib/filesys_lib/d_ioctl.rel @@ -22,7 +22,7 @@ T 18 00 00 00 FE DD 74 FF 7D B4 20 17 R 00 00 01 00 T 20 00 00 00 R 00 00 01 00 -T 20 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 20 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 03 00 T 29 00 00 00 23 66 68 01 08 00 09 36 06 23 36 R 00 00 01 00 @@ -42,7 +42,7 @@ T 61 00 00 00 1A R 00 00 01 00 T 62 00 00 00 R 00 00 01 00 -T 62 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 62 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 03 00 T 6B 00 00 00 23 66 68 01 08 00 09 36 16 23 36 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/delptab.rel b/src/nos/lib/filesys_lib/delptab.rel new file mode 100644 index 00000000..93081e9a --- /dev/null +++ b/src/nos/lib/filesys_lib/delptab.rel @@ -0,0 +1,97 @@ +XL4 +H 2 areas B global symbols +S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0505_748e_delptab_28_29_20sta Ref00000000 +S _i_deref Ref00000000 +S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S __dprintf Ref00000000 +S .__.ABS. Def00000000 +S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S _oft_deref Ref00000000 +S ___0504_f9d2_delptab_28_29_20ret Ref00000000 +S ?CL64180B_4_06_L00 Ref00000000 +A _DEFAULT size 0 flags 0 +A CODE size D5 flags 0 +S _delptab Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 CD 00 00 00 00 FC FF 0E +R 00 00 01 00 02 05 06 00 +T 06 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 01 00 02 0A 01 00 +T 0C 00 00 00 21 03 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 04 00 +T 13 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 04 00 02 09 00 00 +T 1A 00 00 00 F1 21 6D 00 DD 4E 02 DD 46 03 09 +R 00 00 01 00 +T 25 00 00 00 7E 23 B6 28 15 +R 00 00 01 00 +T 2A 00 00 00 +R 00 00 01 00 +T 2A 00 00 00 21 6D 00 DD 4E 02 DD 46 03 09 5E +R 00 00 01 00 +T 35 00 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 02 00 +T 3A 00 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 02 00 02 09 00 00 +T 3F 00 00 00 +R 00 00 01 00 +T 3F 00 00 00 21 29 00 DD 4E 02 DD 46 03 09 7E +R 00 00 01 00 +T 4A 00 00 00 23 B6 28 15 +R 00 00 01 00 +T 4E 00 00 00 +R 00 00 01 00 +T 4E 00 00 00 21 29 00 DD 4E 02 DD 46 03 09 5E +R 00 00 01 00 +T 59 00 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 02 00 +T 5E 00 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 02 00 02 09 00 00 +T 63 00 00 00 +R 00 00 01 00 +T 63 00 00 00 AF DD 77 FC DD 77 FD +R 00 00 01 00 +T 6A 00 00 00 +R 00 00 01 00 +T 6A 00 00 00 01 0A 80 DD 6E FC DD 66 FD 3E 80 +R 00 00 01 00 +T 75 00 00 00 AC 67 ED 42 30 39 +R 00 00 01 00 +T 7B 00 00 00 +R 00 00 01 00 +T 7B 00 00 00 DD 6E FC DD 66 FD DD 4E 02 DD 46 +R 00 00 01 00 +T 86 00 00 00 03 09 01 73 00 09 4E 06 00 DD 71 +R 00 00 01 00 +T 91 00 00 00 FE DD 70 FF 79 E6 80 57 78 E6 00 +R 00 00 01 00 +T 9C 00 00 00 B2 20 0B +R 00 00 01 00 +T 9F 00 00 00 +R 00 00 01 00 +T 9F 00 00 00 DD 5E FE 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 07 00 +T A5 00 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 07 00 02 09 00 00 +T AA 00 00 00 +R 00 00 01 00 +T AA 00 00 00 DD 34 FC 20 03 DD 34 FD +R 00 00 01 00 +T B2 00 00 00 +R 00 00 01 00 +T B2 00 00 00 18 B6 +R 00 00 01 00 +T B4 00 00 00 +R 00 00 01 00 +T B4 00 00 00 DD 6E 02 DD 66 03 36 00 0E +R 00 00 01 00 +T BD 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 08 00 02 0A 08 00 +T C3 00 00 00 21 03 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 04 00 +T CA 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 04 00 02 09 00 00 +T D1 00 00 00 F1 C3 00 00 00 00 +R 00 00 01 00 02 06 03 00 diff --git a/src/nos/lib/filesys_lib/doexit.rel b/src/nos/lib/filesys_lib/doexit.rel index 87de398f..d384b4c3 100644 --- a/src/nos/lib/filesys_lib/doexit.rel +++ b/src/nos/lib/filesys_lib/doexit.rel @@ -1,17 +1,17 @@ XL4 H 2 areas 15 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___047e_041c_doexit_3a_20won_27t Ref00000000 S _filesys_doclose Ref00000000 S _Ptab Ref00000000 S _memcpy Ref00000000 S _i_deref Ref00000000 +S ___0633_4b37_process_20_25d_20ex Ref00000000 S _swapin Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _disable Ref00000000 S _addtick Ref00000000 +S ___0519_041c_doexit_3a_20won_27t Ref00000000 S __dprintf Ref00000000 -S ___0559_4b37_process_20_25d_20ex Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S _enable Ref00000000 @@ -25,18 +25,18 @@ A CODE size 27A flags 0 S _doexit Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF 21 4B 00 ED +T 00 00 00 00 CD 00 00 00 00 FA FF 21 4D 00 ED R 00 00 01 00 02 05 10 00 T 09 00 00 00 5B 00 00 00 00 19 7E 23 66 6F 56 R 00 00 01 00 02 05 0C 00 T 12 00 00 00 23 66 6A 23 5E 23 56 D5 1E R 00 00 01 00 T 1B 00 00 00 00 00 00 00 D5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0B 00 02 0A 0B 00 +R 00 00 01 00 2B 04 05 00 02 0A 05 00 T 21 00 00 00 21 02 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0A 00 +R 00 00 01 00 2B 09 0B 00 T 28 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0A 00 02 09 00 00 +R 00 00 01 00 02 04 0B 00 02 09 00 00 T 2F 00 00 00 F1 F1 AF DD 77 FA DD 77 FB R 00 00 01 00 T 38 00 00 00 @@ -47,20 +47,20 @@ T 43 00 00 00 AC 67 ED 42 30 38 R 00 00 01 00 T 49 00 00 00 R 00 00 01 00 -T 49 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 49 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 0C 00 T 52 00 00 00 23 66 6F 46 23 66 68 DD 4E FA DD R 00 00 01 00 -T 5D 00 00 00 46 FB 09 01 71 00 09 7E E6 80 20 +T 5D 00 00 00 46 FB 09 01 73 00 09 7E E6 80 20 R 00 00 01 00 T 68 00 00 00 0E R 00 00 01 00 T 69 00 00 00 R 00 00 01 00 T 69 00 00 00 DD 5E FA DD 56 FB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 +R 00 00 01 00 2B 0B 01 00 T 71 00 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 02 00 02 0A 00 00 +R 00 00 01 00 02 05 01 00 02 0A 00 00 T 77 00 00 00 R 00 00 01 00 T 77 00 00 00 DD 34 FA 20 03 DD 34 FB @@ -73,7 +73,7 @@ T 81 00 00 00 R 00 00 01 00 T 81 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 13 00 02 0A 13 00 -T 87 00 00 00 00 00 00 00 21 4B 00 ED 4B +T 87 00 00 00 00 00 00 00 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 8E 00 00 00 00 00 00 00 09 7E 23 66 6F 56 23 R 00 00 01 00 02 04 0C 00 @@ -83,68 +83,68 @@ T A2 00 00 00 56 03 53 1E 00 DD 7E 04 E6 FF 4F R 00 00 01 00 T AD 00 00 00 DD 7E 05 E6 00 47 7B B1 6F 7A B0 R 00 00 01 00 -T B8 00 00 00 67 4D 44 E1 71 23 70 21 4B 00 ED +T B8 00 00 00 67 4D 44 E1 71 23 70 21 4D 00 ED R 00 00 01 00 T C3 00 00 00 4B 00 00 00 00 09 7E 23 66 6F 56 R 00 00 01 00 02 05 0C 00 -T CC 00 00 00 23 66 6A 11 6B 00 19 5E 23 56 3E +T CC 00 00 00 23 66 6A 11 6D 00 19 5E 23 56 3E R 00 00 01 00 T D7 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 -T DC 00 00 00 00 00 00 00 21 4B 00 09 7E 23 66 +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T DC 00 00 00 00 00 00 00 21 4D 00 09 7E 23 66 R 00 00 01 00 02 04 00 00 -T E5 00 00 00 6F 56 23 66 6A 11 27 00 19 5E 23 +T E5 00 00 00 6F 56 23 66 6A 11 29 00 19 5E 23 R 00 00 01 00 T F0 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 -T F6 00 00 00 CD 00 00 00 00 21 4B 00 09 7E 23 +R 00 00 01 00 2B 06 04 00 02 0B 04 00 +T F6 00 00 00 CD 00 00 00 00 21 4D 00 09 7E 23 R 00 00 01 00 02 05 00 00 -T FF 00 00 00 66 6F 56 23 66 6A 11 63 00 19 4D +T FF 00 00 00 66 6F 56 23 66 6A 11 65 00 19 4D R 00 00 01 00 -T 0A 01 00 00 44 21 4B 00 ED 5B 00 00 00 00 19 +T 0A 01 00 00 44 21 4D 00 ED 5B 00 00 00 00 19 R 00 00 01 00 02 0A 0C 00 -T 13 01 00 00 7E 23 66 6F 7E 23 66 6F 11 5B 00 +T 13 01 00 00 7E 23 66 6F 7E 23 66 6F 11 5D 00 R 00 00 01 00 T 1E 01 00 00 19 EB 3E 00 00 00 00 21 R 00 00 01 00 2B 07 09 00 T 23 01 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 09 00 02 09 00 00 -T 29 01 00 00 4B 00 ED 4B 00 00 00 00 09 7E 23 +T 29 01 00 00 4D 00 ED 4B 00 00 00 00 09 7E 23 R 00 00 01 00 02 08 0C 00 -T 32 01 00 00 66 6F 56 23 66 6A 11 67 00 19 4D +T 32 01 00 00 66 6F 56 23 66 6A 11 69 00 19 4D R 00 00 01 00 -T 3D 01 00 00 44 21 4B 00 ED 5B 00 00 00 00 19 +T 3D 01 00 00 44 21 4D 00 ED 5B 00 00 00 00 19 R 00 00 01 00 02 0A 0C 00 -T 46 01 00 00 7E 23 66 6F 7E 23 66 6F 11 5F 00 +T 46 01 00 00 7E 23 66 6F 7E 23 66 6F 11 61 00 R 00 00 01 00 T 51 01 00 00 19 EB 3E 00 00 00 00 21 R 00 00 01 00 2B 07 09 00 T 56 01 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 09 00 02 09 00 00 -T 5C 01 00 00 08 00 E5 21 4B 00 ED 4B +T 5C 01 00 00 08 00 E5 21 4D 00 ED 4B R 00 00 01 00 T 64 01 00 00 00 00 00 00 09 7E 23 66 6F 56 23 R 00 00 01 00 02 04 0C 00 -T 6D 01 00 00 66 6A 11 5B 00 19 4D 44 21 4B 00 +T 6D 01 00 00 66 6A 11 5D 00 19 4D 44 21 4D 00 R 00 00 01 00 T 78 01 00 00 ED 5B 00 00 00 00 19 7E 23 66 6F R 00 00 01 00 02 06 0C 00 T 81 01 00 00 56 23 66 6A 11 0B 00 19 EB 3E R 00 00 01 00 T 8B 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T 90 01 00 00 00 00 00 00 F1 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 0A 08 00 T 96 01 00 00 00 00 00 00 CD 00 00 00 00 DD 36 R 00 00 01 00 02 04 08 00 02 09 00 00 T 9D 01 00 00 FC 00 00 00 00 DD 36 FD -R 00 00 01 00 0B 05 03 00 +R 00 00 01 00 0B 05 02 00 T A2 01 00 00 00 00 00 00 -R 00 00 01 00 8B 04 03 00 +R 00 00 01 00 8B 04 02 00 T A3 01 00 00 R 00 00 01 00 -T A3 01 00 00 01 02 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 02 05 03 00 +T A3 01 00 00 01 28 00 00 00 DD 6E FC DD 66 FD +R 00 00 01 00 02 05 02 00 T AC 01 00 00 A7 ED 42 D2 3B 02 00 00 R 00 00 01 00 00 08 01 00 T B2 01 00 00 @@ -153,13 +153,13 @@ T B2 01 00 00 DD 6E FC DD 66 FD 46 23 66 68 DD R 00 00 01 00 T BD 01 00 00 75 FE DD 74 FF AF B6 28 65 21 R 00 00 01 00 -T C7 01 00 00 4B 00 ED 4B 00 00 00 00 09 7E 23 +T C7 01 00 00 4D 00 ED 4B 00 00 00 00 09 7E 23 R 00 00 01 00 02 08 0C 00 T D0 01 00 00 66 6F 46 23 66 68 E5 21 05 00 DD R 00 00 01 00 T DB 01 00 00 4E FE DD 46 FF 09 4E 23 46 E1 A7 R 00 00 01 00 -T E6 01 00 00 ED 42 20 41 21 4B 00 ED 4B +T E6 01 00 00 ED 42 20 41 21 4D 00 ED 4B R 00 00 01 00 T EF 01 00 00 00 00 00 00 09 7E 23 66 6F 46 23 R 00 00 01 00 02 04 0C 00 @@ -175,7 +175,7 @@ T 05 02 00 00 R 00 00 01 00 T 05 02 00 00 21 05 00 DD 4E FE DD 46 FF 09 E5 R 00 00 01 00 -T 10 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 10 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 0C 00 T 19 02 00 00 23 66 6F 46 23 66 68 01 05 00 09 R 00 00 01 00 @@ -195,7 +195,7 @@ T 3B 02 00 00 R 00 00 01 00 T 3B 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 -T 41 02 00 00 00 00 00 00 21 4B 00 ED 4B +T 41 02 00 00 00 00 00 00 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 48 02 00 00 00 00 00 00 09 7E 23 66 6F 7E 23 R 00 00 01 00 02 04 0C 00 @@ -206,9 +206,9 @@ R 00 00 01 00 02 04 11 00 02 09 00 00 T 5F 02 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 06 00 02 09 06 00 T 64 02 00 00 00 00 00 00 0E 00 00 00 00 C5 21 -R 00 00 01 00 02 04 00 00 2B 09 01 00 +R 00 00 01 00 02 04 00 00 2B 09 0A 00 T 6A 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 01 00 2B 0A 0F 00 +R 00 00 01 00 02 04 0A 00 2B 0A 0F 00 T 70 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 0F 00 02 09 00 00 T 77 02 00 00 C3 00 00 00 00 diff --git a/src/nos/lib/filesys_lib/dprintf.rel b/src/nos/lib/filesys_lib/dprintf.rel index 7a6545ac..f2ef0083 100644 --- a/src/nos/lib/filesys_lib/dprintf.rel +++ b/src/nos/lib/filesys_lib/dprintf.rel @@ -1,9 +1,9 @@ XL4 H 2 areas B global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S _Ptab Ref00000000 S _dputter Ref00000000 S _chkstk Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S _Stkchk Ref00000000 @@ -11,7 +11,7 @@ S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S ___vprinter Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 62 flags 0 +A CODE size 63 flags 0 S _dprintf Def00000000 T 00 00 00 00 R 00 00 01 00 @@ -22,36 +22,36 @@ R 00 00 01 00 02 04 06 00 T 0C 00 00 00 R 00 00 01 00 T 0C 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 +R 00 00 01 00 2B 05 02 00 02 0A 02 00 T 12 00 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 T 14 00 00 00 R 00 00 01 00 -T 14 00 00 00 2A 00 00 00 00 01 6F 00 09 46 23 -R 00 00 01 00 02 05 01 00 -T 1D 00 00 00 66 68 DD 4E 0A DD 46 0B A7 ED 42 +T 14 00 00 00 21 71 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 03 00 +T 1D 00 00 00 23 66 68 DD 4E 0A DD 46 0B A7 ED R 00 00 01 00 -T 28 00 00 00 30 05 +T 28 00 00 00 42 30 05 R 00 00 01 00 -T 2A 00 00 00 +T 2B 00 00 00 R 00 00 01 00 -T 2A 00 00 00 21 00 00 18 30 +T 2B 00 00 00 21 00 00 18 30 R 00 00 01 00 -T 2F 00 00 00 +T 30 00 00 00 R 00 00 01 00 -T 2F 00 00 00 21 10 00 39 01 02 00 09 DD 75 FC +T 30 00 00 00 21 10 00 39 01 02 00 09 DD 75 FC R 00 00 01 00 -T 3A 00 00 00 DD 74 FD E5 DD 6E 0C DD 66 0D E5 +T 3B 00 00 00 DD 74 FD E5 DD 6E 0C DD 66 0D E5 R 00 00 01 00 -T 45 00 00 00 21 00 00 E5 0E 00 00 00 00 11 -R 00 00 01 00 2B 09 02 00 -T 4C 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 02 00 2B 09 09 00 -T 51 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +T 46 00 00 00 21 00 00 E5 0E 00 00 00 00 11 +R 00 00 01 00 2B 09 01 00 +T 4D 00 00 00 00 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 02 04 01 00 2B 09 09 00 +T 52 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 09 00 02 09 00 00 -T 58 00 00 00 F1 DD 75 FE DD 74 FF +T 59 00 00 00 F1 DD 75 FE DD 74 FF R 00 00 01 00 -T 5F 00 00 00 +T 60 00 00 00 R 00 00 01 00 -T 5F 00 00 00 C3 00 00 00 00 +T 60 00 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/filesys_lib/dup.rel b/src/nos/lib/filesys_lib/dup.rel index c2eaafdf..d1948a4d 100644 --- a/src/nos/lib/filesys_lib/dup.rel +++ b/src/nos/lib/filesys_lib/dup.rel @@ -3,8 +3,8 @@ H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 S _sys_dup Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 03 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 23 23 23 36 08 3E R 00 00 01 00 @@ -50,7 +50,7 @@ T 81 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 02 00 T 86 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 02 00 02 09 00 00 -T 8D 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T 8D 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T 96 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -62,15 +62,15 @@ T AF 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T B7 00 00 00 R 00 00 01 00 -T B7 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T B7 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T C0 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T C0 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T CB 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T D3 00 00 00 R 00 00 01 00 -T D3 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T D3 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T DC 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/dup2.rel b/src/nos/lib/filesys_lib/dup2.rel index bfab9cfe..07778f1d 100644 --- a/src/nos/lib/filesys_lib/dup2.rel +++ b/src/nos/lib/filesys_lib/dup2.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 05 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 09 00 02 09 09 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 05 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/f_trunc.rel b/src/nos/lib/filesys_lib/f_trunc.rel index 3dae22ef..412a69ff 100644 --- a/src/nos/lib/filesys_lib/f_trunc.rel +++ b/src/nos/lib/filesys_lib/f_trunc.rel @@ -1,14 +1,14 @@ XL4 H 2 areas B global symbols -S ___0493_bf9b_f_5ftrunc_28_29_20r Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _memset Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 S _freeblk Ref00000000 +S ___052f_687d_f_5ftrunc_280x_25x_ Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___0494_687d_f_5ftrunc_280x_25x_ Ref00000000 +S ___052e_bf9b_f_5ftrunc_28_29_20r Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 10C flags 0 @@ -22,29 +22,29 @@ R 00 00 01 00 T 14 00 00 00 FB 11 18 00 19 DD 75 FC DD 74 FD R 00 00 01 00 T 1F 00 00 00 C5 0E 00 00 00 00 C5 01 -R 00 00 01 00 2B 06 08 00 +R 00 00 01 00 2B 06 05 00 T 24 00 00 00 00 00 00 00 C5 01 03 00 C5 3E -R 00 00 01 00 02 04 08 00 +R 00 00 01 00 02 04 05 00 T 2C 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T 31 00 00 00 00 00 00 00 F1 F1 F1 F1 0E 02 C5 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 3A 00 00 00 21 26 00 DD 4E FC DD 46 FD 09 4E R 00 00 01 00 T 45 00 00 00 23 46 DD 6E 02 DD 66 03 23 23 23 R 00 00 01 00 T 50 00 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 05 00 +R 00 00 01 00 2B 08 04 00 T 56 00 00 00 00 00 00 00 CD 00 00 00 00 E1 0E -R 00 00 01 00 02 04 05 00 02 09 01 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T 5D 00 00 00 01 C5 21 24 00 DD 4E FC DD 46 FD R 00 00 01 00 T 68 00 00 00 09 4E 23 46 DD 6E 02 DD 66 03 23 R 00 00 01 00 T 73 00 00 00 23 23 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 05 00 +R 00 00 01 00 2B 0A 04 00 T 7B 00 00 00 00 00 00 00 CD 00 00 00 00 E1 DD -R 00 00 01 00 02 04 05 00 02 09 01 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T 82 00 00 00 36 FE 00 R 00 00 01 00 T 85 00 00 00 @@ -60,9 +60,9 @@ R 00 00 01 00 T A2 00 00 00 DD 6E 02 DD 66 03 23 23 23 5E 23 R 00 00 01 00 T AD 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 +R 00 00 01 00 2B 06 04 00 02 0B 04 00 T B3 00 00 00 CD 00 00 00 00 E1 DD 34 FE 18 C9 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 00 00 T BC 00 00 00 R 00 00 01 00 T BC 00 00 00 21 28 00 E5 01 00 00 21 18 00 DD @@ -70,18 +70,18 @@ R 00 00 01 00 T C7 00 00 00 5E FA DD 56 FB 19 EB 3E R 00 00 01 00 T CF 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 +R 00 00 01 00 2B 04 01 00 02 09 01 00 T D4 00 00 00 00 00 00 00 F1 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T DD 00 00 00 23 23 36 01 21 08 00 DD 4E FA DD R 00 00 01 00 T E8 00 00 00 46 FB 09 AF 77 23 77 23 77 23 77 R 00 00 01 00 T F3 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 00 00 02 0B 00 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 T F9 00 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 04 00 +R 00 00 01 00 2B 0A 03 00 T 01 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 04 00 02 09 01 00 +R 00 00 01 00 02 04 03 00 02 09 00 00 T 08 01 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 03 00 +R 00 00 01 00 02 06 02 00 diff --git a/src/nos/lib/filesys_lib/falign.rel b/src/nos/lib/filesys_lib/falign.rel index 89b8281a..7c45e4c7 100644 --- a/src/nos/lib/filesys_lib/falign.rel +++ b/src/nos/lib/filesys_lib/falign.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 05 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 08 00 02 09 08 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 05 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/filesys_doclose.rel b/src/nos/lib/filesys_lib/filesys_doclose.rel index d328d0f3..7d53df34 100644 --- a/src/nos/lib/filesys_lib/filesys_doclose.rel +++ b/src/nos/lib/filesys_lib/filesys_doclose.rel @@ -1,8 +1,6 @@ XL4 H 2 areas 10 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0498_d461_filesys_5fdoclose_2 Ref00000000 -S ___0499_661c_filesys_5fdoclose_2 Ref00000000 S _d_openclose Ref00000000 S _isdevice Ref00000000 S _getinode Ref00000000 @@ -10,60 +8,62 @@ S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S ___049a_8db4_filesys_5fdoclose_2 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _Oftab Ref00000000 S _oft_deref Ref00000000 +S ___0535_8db4_filesys_5fdoclose_2 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___0533_d461_filesys_5fdoclose_2 Ref00000000 +S ___0534_661c_filesys_5fdoclose_2 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 10E flags 0 S _filesys_doclose Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF DD 5E 02 DD -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 08 00 T 09 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 05 00 +R 00 00 01 00 2B 07 03 00 T 0E 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 05 00 02 09 00 00 +R 00 00 01 00 02 04 03 00 02 09 00 00 T 15 00 00 00 FC DD 74 FD DD 4E 02 DD 46 03 C5 R 00 00 01 00 T 20 00 00 00 0E 00 00 00 00 C5 01 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 T 26 00 00 00 C5 01 03 00 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 07 00 +R 00 00 01 00 2B 0A 05 00 T 2E 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 07 00 02 09 00 00 +R 00 00 01 00 02 04 05 00 02 09 00 00 T 35 00 00 00 F1 F1 DD 7E FC DD B6 FD 20 1C R 00 00 01 00 T 3F 00 00 00 R 00 00 01 00 T 3F 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 02 00 02 0B 02 00 +R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 T 45 00 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 07 00 +R 00 00 01 00 2B 0A 05 00 T 4D 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 07 00 02 09 00 00 +R 00 00 01 00 02 04 05 00 02 09 00 00 T 54 00 00 00 F1 21 FF FF C3 0B 01 00 00 R 00 00 01 00 00 09 01 00 T 5B 00 00 00 R 00 00 01 00 -T 5B 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E -R 00 00 01 00 02 09 08 00 +T 5B 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E +R 00 00 01 00 02 09 06 00 T 64 00 00 00 23 66 6F 46 23 66 68 DD 4E 02 DD R 00 00 01 00 -T 6F 00 00 00 46 03 09 01 71 00 09 46 DD 70 FE +T 6F 00 00 00 46 03 09 01 73 00 09 46 DD 70 FE R 00 00 01 00 T 7A 00 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 +R 00 00 01 00 2B 0B 02 00 T 82 00 00 00 21 00 00 00 00 CD 00 00 00 00 2C -R 00 00 01 00 02 05 04 00 02 0A 00 00 +R 00 00 01 00 02 05 02 00 02 0A 00 00 T 89 00 00 00 2D 28 3E 21 07 00 DD 4E FC DD 46 R 00 00 01 00 T 94 00 00 00 FD 09 3E 01 AE 23 B6 20 2D DD 6E R 00 00 01 00 T 9F 00 00 00 FE 26 00 29 01 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +R 00 00 01 00 02 09 09 00 T A8 00 00 00 23 66 68 01 07 00 09 46 05 20 17 R 00 00 01 00 T B3 00 00 00 @@ -75,28 +75,28 @@ R 00 00 01 00 T B3 00 00 00 0E 00 21 22 00 DD 5E FC DD 56 FD R 00 00 01 00 T BE 00 00 00 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 03 00 +R 00 00 01 00 2B 09 01 00 T C5 00 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 09 00 00 +R 00 00 01 00 02 04 01 00 02 09 00 00 T CA 00 00 00 R 00 00 01 00 -T CA 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E -R 00 00 01 00 02 09 08 00 +T CA 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E +R 00 00 01 00 02 09 06 00 T D3 00 00 00 23 66 6F 46 23 66 68 DD 4E 02 DD R 00 00 01 00 -T DE 00 00 00 46 03 09 01 71 00 09 36 FF DD 5E +T DE 00 00 00 46 03 09 01 73 00 09 36 FF DD 5E R 00 00 01 00 T E9 00 00 00 FE 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 +R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 T EF 00 00 00 CD 00 00 00 00 0E 00 00 00 00 C5 -R 00 00 01 00 02 05 00 00 2B 0A 0A 00 +R 00 00 01 00 02 05 00 00 2B 0A 0B 00 T F5 00 00 00 21 00 00 00 00 E5 21 03 00 E5 3E -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0B 00 T FE 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T 03 01 00 00 00 00 00 00 F1 F1 F1 21 00 00 R 00 00 01 00 02 04 00 00 T 0B 01 00 00 R 00 00 01 00 T 0B 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/filesys_lib/findfs.rel b/src/nos/lib/filesys_lib/findfs.rel index ce427b10..20e7d1fb 100644 --- a/src/nos/lib/filesys_lib/findfs.rel +++ b/src/nos/lib/filesys_lib/findfs.rel @@ -3,8 +3,8 @@ H 2 areas 9 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 -S ___04b0_88d9_fsp_200x_25x_20s_5f Ref00000000 S .__.ABS. Def00000000 +S ___055b_88d9_fsp_200x_25x_20s_5f Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _Fstab Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 @@ -34,7 +34,7 @@ R 00 00 01 00 T 3C 00 00 00 C5 DD 6E FE DD 66 FF E5 0E R 00 00 01 00 T 45 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 03 00 02 0A 03 00 +R 00 00 01 00 2B 04 04 00 02 0A 04 00 T 4B 00 00 00 21 03 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 09 02 00 T 52 00 00 00 00 00 00 00 CD 00 00 00 00 EB 21 diff --git a/src/nos/lib/filesys_lib/findprocess.rel b/src/nos/lib/filesys_lib/findprocess.rel index 9d61a0f9..d50d570f 100644 --- a/src/nos/lib/filesys_lib/findprocess.rel +++ b/src/nos/lib/filesys_lib/findprocess.rel @@ -1,104 +1,145 @@ XL4 -H 2 areas A global symbols +H 2 areas F global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S _restore Ref00000000 S _Ptab Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S _disable Ref00000000 +S __dprintf Ref00000000 +S ___0538_1164_findprocess_28_29_2 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S _enable Ref00000000 +S _dirps Ref00000000 +S ___0537_e04d_findprocess_28_25d_ Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___0539_9bc0_findprocess_28_29_2 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size F1 flags 0 +A CODE size 18E flags 0 S _findprocess Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 36 FC -R 00 00 01 00 02 05 07 00 -T 08 00 00 00 00 00 00 00 DD 36 FD 00 00 00 00 -R 00 00 01 00 0B 04 01 00 8B 0B 01 00 -T 0D 00 00 00 +T 00 00 00 00 CD 00 00 00 00 FA FF DD 6E 02 DD +R 00 00 01 00 02 05 0B 00 +T 09 00 00 00 66 03 E5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 0A 00 +T 10 00 00 00 00 00 00 00 E5 21 03 00 E5 3E +R 00 00 01 00 02 04 0A 00 +T 18 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 1D 00 00 00 00 00 00 00 F1 F1 F1 F1 DD 36 FA +R 00 00 01 00 02 04 00 00 +T 26 00 00 00 00 00 00 00 DD 36 FB 00 00 00 00 +R 00 00 01 00 0B 04 02 00 8B 0B 02 00 +T 2B 00 00 00 R 00 00 01 00 -T 0D 00 00 00 01 02 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 02 05 01 00 -T 16 00 00 00 A7 ED 42 D2 D6 00 00 00 +T 2B 00 00 00 01 28 00 00 00 DD 6E FA DD 66 FB +R 00 00 01 00 02 05 02 00 +T 34 00 00 00 A7 ED 42 D2 48 01 00 00 R 00 00 01 00 00 08 01 00 -T 1C 00 00 00 -R 00 00 01 00 -T 1C 00 00 00 DD 6E FC DD 66 FD 46 23 66 68 DD -R 00 00 01 00 -T 27 00 00 00 75 FE DD 74 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 03 00 -T 2F 00 00 00 00 00 00 00 CD 00 00 00 00 DD 6E -R 00 00 01 00 02 04 03 00 02 09 00 00 -T 36 00 00 00 FE DD 66 FF 23 46 23 66 68 DD 4E +T 3A 00 00 00 R 00 00 01 00 -T 41 00 00 00 02 DD 46 03 A7 ED 42 20 74 -R 00 00 01 00 -T 4A 00 00 00 +T 3A 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 09 00 02 0A 09 00 +T 40 00 00 00 00 00 00 00 DD 75 FE DD 74 FF DD +R 00 00 01 00 02 04 00 00 +T 49 00 00 00 6E FA DD 66 FB 46 23 66 68 DD 75 R 00 00 01 00 -T 4A 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E -R 00 00 01 00 02 09 04 00 -T 53 00 00 00 23 66 6F 46 23 66 68 23 23 23 46 +T 54 00 00 00 FC DD 74 FD 23 46 23 66 68 DD 4E R 00 00 01 00 -T 5E 00 00 00 23 66 68 E5 DD 4E FE DD 46 FF 03 +T 5F 00 00 00 02 DD 46 03 A7 ED 42 C2 R 00 00 01 00 -T 69 00 00 00 03 03 69 60 4E 23 46 E1 A7 ED 42 +T 67 00 00 00 2A 01 00 00 +R 00 00 01 00 00 04 01 00 +T 69 00 00 00 R 00 00 01 00 -T 74 00 00 00 28 19 21 4B 00 ED 4B 00 00 00 00 -R 00 00 01 00 02 0B 04 00 -T 7D 00 00 00 09 7E 23 66 6F 46 23 66 68 01 +T 69 00 00 00 DD 6E FC DD 66 FD 23 23 23 46 23 R 00 00 01 00 -T 87 00 00 00 1D 00 09 7E 23 B6 20 10 +T 74 00 00 00 66 68 E5 ED 4B 00 00 00 00 03 03 +R 00 00 01 00 02 09 03 00 +T 7D 00 00 00 03 69 60 4E 23 46 E1 A7 ED 42 28 R 00 00 01 00 -T 8F 00 00 00 +T 88 00 00 00 19 21 4D 00 ED 4B 00 00 00 00 09 +R 00 00 01 00 02 0A 07 00 +T 91 00 00 00 7E 23 66 6F 46 23 66 68 01 1F 00 R 00 00 01 00 -T 8F 00 00 00 +T 9C 00 00 00 09 7E 23 B6 20 35 R 00 00 01 00 -T 8F 00 00 00 +T A2 00 00 00 R 00 00 01 00 -T 8F 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 -T 95 00 00 00 00 00 00 00 DD 6E FE DD 66 FF 18 -R 00 00 01 00 02 04 00 00 -T 9E 00 00 00 4F +T A2 00 00 00 R 00 00 01 00 -T 9F 00 00 00 +T A2 00 00 00 R 00 00 01 00 -T 9F 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 -T A5 00 00 00 00 00 00 00 21 4B 00 ED 4B +T A2 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +R 00 00 01 00 2B 0B 01 00 +T AA 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 01 00 02 0A 00 00 +T B1 00 00 00 6E FC DD 66 FD E5 0E 00 00 00 00 +R 00 00 01 00 2B 0B 06 00 +T B9 00 00 00 C5 21 00 00 00 00 E5 21 03 00 E5 +R 00 00 01 00 02 06 06 00 +T C2 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 05 00 02 0A 05 00 +T C8 00 00 00 00 00 00 00 F1 F1 F1 F1 DD 6E FC R 00 00 01 00 02 04 00 00 -T AC 00 00 00 00 00 00 00 09 46 23 66 68 01 -R 00 00 01 00 02 04 04 00 -T B4 00 00 00 08 00 09 36 01 23 36 00 18 2D -R 00 00 01 00 -T BE 00 00 00 +T D1 00 00 00 DD 66 FD C3 8B 01 00 00 +R 00 00 01 00 00 08 01 00 +T D7 00 00 00 R 00 00 01 00 -T BE 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 -T C4 00 00 00 00 00 00 00 DD 7E FC C6 02 DD 77 -R 00 00 01 00 02 04 00 00 -T CD 00 00 00 FC 30 03 DD 34 FD +T D7 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +R 00 00 01 00 2B 0B 01 00 +T DF 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 01 00 02 0A 00 00 +T E6 00 00 00 4D 00 ED 4B 00 00 00 00 09 56 23 +R 00 00 01 00 02 08 07 00 +T EF 00 00 00 66 6A 11 08 00 19 36 01 23 36 00 R 00 00 01 00 -T D3 00 00 00 +T FA 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 07 00 +T 03 01 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 -T D3 00 00 00 C3 0D 00 00 00 -R 00 00 01 00 00 05 01 00 -T D6 00 00 00 +T 0E 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 +T 14 01 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 05 00 +T 1C 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 05 00 02 09 00 00 +T 23 01 00 00 F1 F1 21 00 00 18 61 R 00 00 01 00 -T D6 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 04 00 -T DF 00 00 00 23 66 68 01 08 00 09 36 16 23 36 +T 2A 01 00 00 R 00 00 01 00 -T EA 00 00 00 00 +T 2A 01 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +R 00 00 01 00 2B 0B 01 00 +T 32 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 01 00 02 0A 00 00 +T 39 01 00 00 7E FA C6 02 DD 77 FA 30 03 DD 34 R 00 00 01 00 -T EB 00 00 00 +T 44 01 00 00 FB R 00 00 01 00 -T EB 00 00 00 21 00 00 +T 45 01 00 00 R 00 00 01 00 -T EE 00 00 00 +T 45 01 00 00 C3 2B 00 00 00 +R 00 00 01 00 00 05 01 00 +T 48 01 00 00 +R 00 00 01 00 +T 48 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 +R 00 00 01 00 02 09 07 00 +T 51 01 00 00 23 66 6A 11 08 00 19 36 16 23 36 +R 00 00 01 00 +T 5C 01 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 +R 00 00 01 00 02 0A 07 00 +T 65 01 00 00 46 23 66 68 01 08 00 09 4E 23 46 +R 00 00 01 00 +T 70 01 00 00 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 06 0D 00 +T 75 01 00 00 00 00 00 00 E5 21 03 00 E5 3E +R 00 00 01 00 02 04 0D 00 +T 7D 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 82 01 00 00 00 00 00 00 F1 F1 F1 F1 21 00 00 +R 00 00 01 00 02 04 00 00 +T 8B 01 00 00 R 00 00 01 00 -T EE 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 +T 8B 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/filesys_lib/fmount.rel b/src/nos/lib/filesys_lib/fmount.rel index 501b538a..ababecf6 100644 --- a/src/nos/lib/filesys_lib/fmount.rel +++ b/src/nos/lib/filesys_lib/fmount.rel @@ -1,23 +1,23 @@ XL4 H 2 areas 14 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___053e_9479_fmount_28_29_20retu Ref00000000 S _bfree Ref00000000 S _i_ref Ref00000000 S _memcpy Ref00000000 S _d_openclose Ref00000000 S _validdev Ref00000000 -S ___04a2_dc8b_fmount_3a_20can_27t Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 -S ___04a1_d221_fmount_28_29_20retu Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 +S ___053f_d221_fmount_28_29_20retu Ref00000000 +S ___0540_dc8b_fmount_3a_20can_27t Ref00000000 +S ___053d_db22_fmount_28_25d_2c_20 Ref00000000 S __panic Ref00000000 -S ___049f_db22_fmount_28_25d_2c_20 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _Fstab Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___04a0_9479_fmount_28_29_20retu Ref00000000 S _bread Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 2B8 flags 0 @@ -25,7 +25,7 @@ S _fmount Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF DD 5E 0A 16 -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T 09 00 00 00 00 D5 C5 DD 6E 02 DD 66 03 E5 0E R 00 00 01 00 T 14 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 @@ -37,15 +37,15 @@ R 00 00 01 00 02 04 08 00 02 09 00 00 T 28 00 00 00 0C 00 39 F9 EB 01 00 00 DD 5E 02 R 00 00 01 00 T 33 00 00 00 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 05 00 +R 00 00 01 00 2B 08 06 00 T 39 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 05 00 02 09 00 00 +R 00 00 01 00 02 04 06 00 02 09 00 00 T 40 00 00 00 20 18 R 00 00 01 00 T 42 00 00 00 R 00 00 01 00 -T 42 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0A 00 +T 42 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 09 00 T 4B 00 00 00 23 66 68 01 08 00 09 36 13 23 36 R 00 00 01 00 T 56 00 00 00 00 C3 32 02 00 00 @@ -63,13 +63,13 @@ R 00 00 01 00 00 05 01 00 T 6B 00 00 00 R 00 00 01 00 T 6B 00 00 00 DD 36 FC 00 00 00 00 DD 36 FD -R 00 00 01 00 0B 07 0F 00 +R 00 00 01 00 0B 07 10 00 T 72 00 00 00 00 00 00 00 -R 00 00 01 00 8B 04 0F 00 +R 00 00 01 00 8B 04 10 00 T 73 00 00 00 R 00 00 01 00 T 73 00 00 00 01 02 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 02 05 0F 00 +R 00 00 01 00 02 05 10 00 T 7C 00 00 00 A7 ED 42 30 55 R 00 00 01 00 T 81 00 00 00 @@ -90,8 +90,8 @@ T AF 00 00 00 R 00 00 01 00 T AF 00 00 00 R 00 00 01 00 -T AF 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0A 00 +T AF 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 09 00 T B8 00 00 00 23 66 68 01 08 00 09 36 10 23 36 R 00 00 01 00 T C3 00 00 00 00 C3 32 02 00 00 @@ -109,13 +109,13 @@ R 00 00 01 00 T D6 00 00 00 R 00 00 01 00 T D6 00 00 00 DD 36 FC 00 00 00 00 DD 36 FD -R 00 00 01 00 0B 07 0F 00 +R 00 00 01 00 0B 07 10 00 T DD 00 00 00 00 00 00 00 -R 00 00 01 00 8B 04 0F 00 +R 00 00 01 00 8B 04 10 00 T DE 00 00 00 R 00 00 01 00 T DE 00 00 00 01 02 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 02 05 0F 00 +R 00 00 01 00 02 05 10 00 T E7 00 00 00 A7 ED 42 30 26 R 00 00 01 00 T EC 00 00 00 @@ -140,8 +140,8 @@ T 10 01 00 00 18 CC R 00 00 01 00 T 12 01 00 00 R 00 00 01 00 -T 12 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0A 00 +T 12 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 09 00 T 1B 01 00 00 23 66 68 01 08 00 09 36 0C 23 36 R 00 00 01 00 T 26 01 00 00 00 C3 32 02 00 00 @@ -155,9 +155,9 @@ R 00 00 01 00 T 40 01 00 00 4E 02 DD 46 03 71 23 70 0E 01 DD R 00 00 01 00 T 4B 01 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 04 00 +R 00 00 01 00 2B 0A 05 00 T 53 01 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 04 00 02 09 00 00 +R 00 00 01 00 02 04 05 00 02 09 00 00 T 5A 01 00 00 28 19 R 00 00 01 00 T 5C 01 00 00 @@ -165,9 +165,9 @@ R 00 00 01 00 T 5C 01 00 00 DD 6E 02 DD 66 03 E5 0E R 00 00 01 00 T 64 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 06 00 02 0A 06 00 +R 00 00 01 00 2B 04 0C 00 02 0A 0C 00 T 6A 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T 70 01 00 00 00 00 00 00 F1 F1 F1 R 00 00 01 00 02 04 00 00 T 75 01 00 00 @@ -189,9 +189,9 @@ R 00 00 01 00 T 97 01 00 00 21 1E 00 E5 DD 4E FA DD 46 FB DD R 00 00 01 00 T A2 01 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 03 00 +R 00 00 01 00 2B 0A 04 00 T AA 01 00 00 00 00 00 00 CD 00 00 00 00 F1 21 -R 00 00 01 00 02 04 03 00 02 09 00 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T B1 01 00 00 19 00 DD 4E FE DD 46 FF 09 DD 56 R 00 00 01 00 T BC 01 00 00 0A 72 21 1C 00 09 DD 5E 02 DD 56 @@ -201,7 +201,7 @@ R 00 00 01 00 T D2 01 00 00 00 DD 5E FA DD 56 FB 3E R 00 00 01 00 T DA 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 +R 00 00 01 00 2B 04 02 00 02 09 02 00 T DF 01 00 00 00 00 00 00 CB 7C 28 02 R 00 00 01 00 02 04 00 00 T E5 01 00 00 @@ -230,20 +230,20 @@ T 13 02 00 00 DD 6E FE DD 66 FF AF 77 23 77 R 00 00 01 00 T 1D 02 00 00 R 00 00 01 00 -T 1D 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0A 00 +T 1D 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 09 00 T 26 02 00 00 23 66 68 01 08 00 09 36 0F 23 36 R 00 00 01 00 T 31 02 00 00 00 R 00 00 01 00 T 32 02 00 00 R 00 00 01 00 -T 32 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0A 00 +T 32 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 09 00 T 3B 02 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T 46 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 11 00 02 0B 11 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 T 4C 02 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 08 00 T 54 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 @@ -261,17 +261,17 @@ R 00 00 01 00 T 79 02 00 00 R 00 00 01 00 T 79 02 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 +R 00 00 01 00 2B 0B 03 00 T 81 02 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 02 00 02 0A 00 00 +R 00 00 01 00 02 05 03 00 02 0A 00 00 T 87 02 00 00 R 00 00 01 00 -T 87 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0A 00 +T 87 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 09 00 T 90 02 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T 9B 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 09 00 02 0B 09 00 +R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 T A1 02 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 08 00 T A9 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 diff --git a/src/nos/lib/filesys_lib/forkprocess.rel b/src/nos/lib/filesys_lib/forkprocess.rel new file mode 100644 index 00000000..6e25b24f --- /dev/null +++ b/src/nos/lib/filesys_lib/forkprocess.rel @@ -0,0 +1,187 @@ +XL4 +H 2 areas 11 global symbols +S ?BANK_CALL_DIRECT_L08 Ref00000000 +S _restore Ref00000000 +S _Ptab Ref00000000 +S _memcpy Ref00000000 +S ___0544_a19b_forkprocess_28_29_2 Ref00000000 +S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S __dprintf Ref00000000 +S _Curproc Ref00000000 +S .__.ABS. Def00000000 +S _free Ref00000000 +S _dirps Ref00000000 +S ___0546_9eb7_forkprocess_280x_25 Ref00000000 +S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ___0545_9408_forkprocess_28_29_2 Ref00000000 +S ?CL64180B_4_06_L00 Ref00000000 +S _malloc Ref00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1B5 flags 0 +S _forkprocess Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 CD 00 00 00 00 FA FF DD 6E 02 DD +R 00 00 01 00 02 05 0C 00 +T 09 00 00 00 66 03 E5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 0B 00 +T 10 00 00 00 00 00 00 00 E5 21 03 00 E5 3E +R 00 00 01 00 02 04 0B 00 +T 18 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 1D 00 00 00 00 00 00 00 F1 F1 F1 F1 DD 36 FA +R 00 00 01 00 02 04 00 00 +T 26 00 00 00 00 00 00 00 DD 36 FB 00 00 00 00 +R 00 00 01 00 0B 04 02 00 8B 0B 02 00 +T 2B 00 00 00 +R 00 00 01 00 +T 2B 00 00 00 01 28 00 00 00 DD 6E FA DD 66 FB +R 00 00 01 00 02 05 02 00 +T 34 00 00 00 A7 ED 42 30 4C +R 00 00 01 00 +T 39 00 00 00 +R 00 00 01 00 +T 39 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0A 00 02 0A 0A 00 +T 3F 00 00 00 00 00 00 00 DD 75 FE DD 74 FF DD +R 00 00 01 00 02 04 00 00 +T 48 00 00 00 6E FA DD 66 FB 46 23 66 68 DD 75 +R 00 00 01 00 +T 53 00 00 00 FC DD 74 FD 7D B4 28 0D DD 6E FC +R 00 00 01 00 +T 5E 00 00 00 DD 66 FD AF B6 20 03 +R 00 00 01 00 +T 65 00 00 00 +R 00 00 01 00 +T 65 00 00 00 +R 00 00 01 00 +T 65 00 00 00 +R 00 00 01 00 +T 65 00 00 00 C3 39 01 00 00 +R 00 00 01 00 00 05 01 00 +T 68 00 00 00 +R 00 00 01 00 +T 68 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +R 00 00 01 00 2B 0B 01 00 +T 70 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 01 00 02 0A 00 00 +T 77 00 00 00 7E FA C6 02 DD 77 FA 30 03 DD 34 +R 00 00 01 00 +T 82 00 00 00 FB +R 00 00 01 00 +T 83 00 00 00 +R 00 00 01 00 +T 83 00 00 00 18 A6 +R 00 00 01 00 +T 85 00 00 00 +R 00 00 01 00 +T 85 00 00 00 11 7D 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 0F 00 +T 8B 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 0F 00 02 09 00 00 +T 92 00 00 00 FC DD 74 FD 7D B4 20 02 +R 00 00 01 00 +T 9A 00 00 00 +R 00 00 01 00 +T 9A 00 00 00 18 6D +R 00 00 01 00 +T 9C 00 00 00 +R 00 00 01 00 +T 9C 00 00 00 DD 36 FA 00 00 00 00 DD 36 FB +R 00 00 01 00 0B 07 02 00 +T A3 00 00 00 00 00 00 00 +R 00 00 01 00 8B 04 02 00 +T A4 00 00 00 +R 00 00 01 00 +T A4 00 00 00 01 28 00 00 00 DD 6E FA DD 66 FB +R 00 00 01 00 02 05 02 00 +T AD 00 00 00 A7 ED 42 30 49 +R 00 00 01 00 +T B2 00 00 00 +R 00 00 01 00 +T B2 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0A 00 02 0A 0A 00 +T B8 00 00 00 00 00 00 00 DD 75 FE DD 74 FF DD +R 00 00 01 00 02 04 00 00 +T C1 00 00 00 6E FA DD 66 FB 7E 23 B6 20 13 +R 00 00 01 00 +T CB 00 00 00 +R 00 00 01 00 +T CB 00 00 00 DD 6E FC DD 66 FD E5 DD 6E FA DD +R 00 00 01 00 +T D6 00 00 00 66 FB C1 71 23 70 18 5B +R 00 00 01 00 +T DE 00 00 00 +R 00 00 01 00 +T DE 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +R 00 00 01 00 2B 0B 01 00 +T E6 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 01 00 02 0A 00 00 +T ED 00 00 00 7E FA C6 02 DD 77 FA 30 03 DD 34 +R 00 00 01 00 +T F8 00 00 00 FB +R 00 00 01 00 +T F9 00 00 00 +R 00 00 01 00 +T F9 00 00 00 18 A9 +R 00 00 01 00 +T FB 00 00 00 +R 00 00 01 00 +T FB 00 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 +R 00 00 01 00 2B 0B 09 00 +T 03 01 00 00 21 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 09 00 02 0A 00 00 +T 09 01 00 00 +R 00 00 01 00 +T 09 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 07 00 +T 12 01 00 00 23 66 68 01 08 00 09 4E 23 46 C5 +R 00 00 01 00 +T 1D 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 +T 23 01 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 06 00 +T 2B 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 06 00 02 09 00 00 +T 32 01 00 00 F1 F1 21 00 00 18 79 +R 00 00 01 00 +T 39 01 00 00 +R 00 00 01 00 +T 39 01 00 00 21 7D 00 E5 DD 4E 02 DD 46 03 DD +R 00 00 01 00 +T 44 01 00 00 5E FC DD 56 FD 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 03 00 +T 4C 01 00 00 00 00 00 00 CD 00 00 00 00 F1 21 +R 00 00 01 00 02 04 03 00 02 09 00 00 +T 53 01 00 00 05 00 DD 4E FC DD 46 FD 09 DD 5E +R 00 00 01 00 +T 5E 01 00 00 02 DD 56 03 73 23 72 21 1B 00 09 +R 00 00 01 00 +T 69 01 00 00 36 01 23 36 00 0A 3D 3D 20 02 18 +R 00 00 01 00 +T 74 01 00 00 00 +R 00 00 01 00 +T 75 01 00 00 +R 00 00 01 00 +T 75 01 00 00 +R 00 00 01 00 +T 75 01 00 00 DD 6E FC DD 66 FD 23 AF 77 23 77 +R 00 00 01 00 +T 80 01 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +R 00 00 01 00 2B 0B 01 00 +T 88 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 01 00 02 0A 00 00 +T 8F 01 00 00 6E FC DD 66 FD E5 0E 00 00 00 00 +R 00 00 01 00 2B 0B 04 00 +T 97 01 00 00 C5 21 00 00 00 00 E5 21 03 00 E5 +R 00 00 01 00 02 06 04 00 +T A0 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 06 00 02 0A 06 00 +T A6 01 00 00 00 00 00 00 F1 F1 F1 F1 DD 6E FC +R 00 00 01 00 02 04 00 00 +T AF 01 00 00 DD 66 FD +R 00 00 01 00 +T B2 01 00 00 +R 00 00 01 00 +T B2 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 05 00 diff --git a/src/nos/lib/filesys_lib/freeblk.rel b/src/nos/lib/filesys_lib/freeblk.rel index b47841f3..f87bfe9c 100644 --- a/src/nos/lib/filesys_lib/freeblk.rel +++ b/src/nos/lib/filesys_lib/freeblk.rel @@ -1,32 +1,32 @@ XL4 H 2 areas D global symbols -S ___04a9_3018_freeblk_28_29_20ret Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _bfree Ref00000000 -S ___04a7_13ec_freeblk_28_25u_2c_2 Ref00000000 +S ___054a_13ec_freeblk_28_25u_2c_2 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 S .__.ABS. Def00000000 -S ___04a8_bc64_freeblk_28_29_20ret Ref00000000 +S ___054b_bc64_freeblk_28_29_20ret Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _blk_free Ref00000000 S _bread Ref00000000 +S ___054c_3018_freeblk_28_29_20ret Ref00000000 A _DEFAULT size 0 flags 0 A CODE size F3 flags 0 S _freeblk Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF DD 5E 0A 16 -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 07 00 T 09 00 00 00 00 D5 C5 DD 6E 02 DD 66 03 E5 0E R 00 00 01 00 T 14 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 03 00 02 0A 03 00 +R 00 00 01 00 2B 04 02 00 02 0A 02 00 T 1A 00 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 05 00 +R 00 00 01 00 2B 09 04 00 T 21 00 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 05 00 02 09 01 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T 28 00 00 00 0C 00 39 F9 EB DD 7E 04 DD B6 05 R 00 00 01 00 T 33 00 00 00 CA DA 00 00 00 @@ -40,9 +40,9 @@ R 00 00 01 00 T 3C 00 00 00 0E 00 C5 DD 4E 04 DD 46 05 DD 5E R 00 00 01 00 T 47 00 00 00 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0B 00 +R 00 00 01 00 2B 09 0A 00 T 4E 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 0B 00 02 09 01 00 +R 00 00 01 00 02 04 0A 00 02 09 00 00 T 55 00 00 00 75 FC DD 74 FD DD 35 0A 7D B4 28 R 00 00 01 00 T 60 00 00 00 4D @@ -66,15 +66,15 @@ R 00 00 01 00 T 92 00 00 00 03 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 29 06 01 00 00 0B 01 00 T 98 00 00 00 CD 00 00 00 00 E1 18 CB -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 00 00 T 9E 00 00 00 R 00 00 01 00 T 9E 00 00 00 0E 00 DD 5E FC DD 56 FD 3E R 00 00 01 00 T A7 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 +R 00 00 01 00 2B 04 01 00 02 09 01 00 T AC 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T AE 00 00 00 R 00 00 01 00 T AE 00 00 00 @@ -82,26 +82,26 @@ R 00 00 01 00 T AE 00 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 R 00 00 01 00 T B9 00 00 00 03 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 +R 00 00 01 00 2B 06 09 00 02 0B 09 00 T BF 00 00 00 CD 00 00 00 00 0E 00 00 00 00 C5 -R 00 00 01 00 02 05 01 00 2B 0A 00 00 +R 00 00 01 00 02 05 00 00 2B 0A 0B 00 T C5 00 00 00 21 00 00 00 00 E5 21 03 00 E5 3E -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 0B 00 T CE 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 +R 00 00 01 00 2B 04 04 00 02 09 04 00 T D3 00 00 00 00 00 00 00 F1 F1 F1 18 16 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T DA 00 00 00 R 00 00 01 00 T DA 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0B 07 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 T E0 00 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 05 00 +R 00 00 01 00 2B 0A 04 00 T E8 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 05 00 02 09 01 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T EF 00 00 00 F1 R 00 00 01 00 T F0 00 00 00 R 00 00 01 00 T F0 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/filesys_lib/freebuf.rel b/src/nos/lib/filesys_lib/freebuf.rel index 342c35a1..ee8a5006 100644 --- a/src/nos/lib/filesys_lib/freebuf.rel +++ b/src/nos/lib/filesys_lib/freebuf.rel @@ -1,37 +1,37 @@ XL4 H 2 areas 12 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0415_7943_attempt_20to_20writ Ref00000000 S _bufclock Ref00000000 S _buf_flsh Ref00000000 S _bdreadwrite Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 S _Bufpool Ref00000000 -S ___04aa_4c13_freebuf_28_25u_29_2 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S _kwait Ref00000000 -S ___04ab_0c86_freebuf_28_29_20ret Ref00000000 +S ___04ab_7943_attempt_20to_20writ Ref00000000 S __panic Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _calloc Ref00000000 +S ___054d_4c13_freebuf_28_25u_29_2 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___054e_0c86_freebuf_28_29_20ret Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 284 flags 0 S _freebuf Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F6 FF AF DD 77 FC -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0C 00 T 09 00 00 00 DD 77 FD AF DD 77 FE DD 77 FF DD R 00 00 01 00 T 14 00 00 00 4E 02 06 00 C5 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 08 00 +R 00 00 01 00 2B 0A 0E 00 T 1C 00 00 00 21 00 00 00 00 E5 21 03 00 E5 3E -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 0E 00 T 25 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T 2A 00 00 00 00 00 00 00 F1 F1 F1 F1 R 00 00 01 00 02 04 00 00 T 30 00 00 00 @@ -41,13 +41,13 @@ R 00 00 01 00 00 07 01 00 T 35 00 00 00 R 00 00 01 00 T 35 00 00 00 DD 36 F8 00 00 00 00 DD 36 F9 -R 00 00 01 00 0B 07 07 00 +R 00 00 01 00 0B 07 06 00 T 3C 00 00 00 00 00 00 00 -R 00 00 01 00 8B 04 07 00 +R 00 00 01 00 8B 04 06 00 T 3D 00 00 00 R 00 00 01 00 T 3D 00 00 00 01 06 00 00 00 DD 6E F8 DD 66 F9 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 06 00 T 46 00 00 00 A7 ED 42 D2 D6 00 00 00 R 00 00 01 00 00 08 01 00 T 4C 00 00 00 @@ -73,7 +73,7 @@ R 00 00 01 00 T 8A 00 00 00 21 07 02 DD 4E FA DD 46 FB 09 4E R 00 00 01 00 T 95 00 00 00 23 46 2A 00 00 00 00 A7 ED 42 DD -R 00 00 01 00 02 07 02 00 +R 00 00 01 00 02 07 01 00 T 9E 00 00 00 75 F6 DD 74 F7 DD 4E FE DD 46 FF R 00 00 01 00 T A9 00 00 00 A7 ED 42 38 18 @@ -109,13 +109,13 @@ R 00 00 01 00 00 05 01 00 T E1 00 00 00 R 00 00 01 00 T E1 00 00 00 DD 36 F8 00 00 00 00 DD 36 F9 -R 00 00 01 00 0B 07 07 00 +R 00 00 01 00 0B 07 06 00 T E8 00 00 00 00 00 00 00 -R 00 00 01 00 8B 04 07 00 +R 00 00 01 00 8B 04 06 00 T E9 00 00 00 R 00 00 01 00 T E9 00 00 00 01 06 00 00 00 DD 6E F8 DD 66 F9 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 06 00 T F2 00 00 00 A7 ED 42 30 7C R 00 00 01 00 T F7 00 00 00 @@ -139,7 +139,7 @@ R 00 00 01 00 T 27 01 00 00 21 07 02 DD 4E FA DD 46 FB 09 4E R 00 00 01 00 T 32 01 00 00 23 46 2A 00 00 00 00 A7 ED 42 DD -R 00 00 01 00 02 07 02 00 +R 00 00 01 00 02 07 01 00 T 3B 01 00 00 75 F6 DD 74 F7 DD 4E FE DD 46 FF R 00 00 01 00 T 46 01 00 00 A7 ED 42 38 18 @@ -175,13 +175,13 @@ R 00 00 01 00 T 7D 01 00 00 R 00 00 01 00 T 7D 01 00 00 DD 36 F8 00 00 00 00 DD 36 F9 -R 00 00 01 00 0B 07 07 00 +R 00 00 01 00 0B 07 06 00 T 84 01 00 00 00 00 00 00 -R 00 00 01 00 8B 04 07 00 +R 00 00 01 00 8B 04 06 00 T 85 01 00 00 R 00 00 01 00 T 85 01 00 00 01 06 00 00 00 DD 6E F8 DD 66 F9 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 06 00 T 8E 01 00 00 A7 ED 42 30 44 R 00 00 01 00 T 93 01 00 00 @@ -193,9 +193,9 @@ R 00 00 01 00 T A7 01 00 00 R 00 00 01 00 T A7 01 00 00 01 01 00 11 09 02 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0F 00 +R 00 00 01 00 2B 0B 0D 00 T AF 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0F 00 02 0A 00 00 +R 00 00 01 00 02 05 0D 00 02 0A 00 00 T B6 01 00 00 75 FC DD 74 FD E5 DD 6E F8 DD 66 R 00 00 01 00 T C1 01 00 00 F9 C1 71 23 70 18 25 @@ -221,9 +221,9 @@ R 00 00 01 00 T DF 01 00 00 R 00 00 01 00 T DF 01 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 07 00 2B 0A 0B 00 +R 00 00 01 00 02 05 06 00 2B 0A 09 00 T E5 01 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 09 00 02 09 00 00 T EB 01 00 00 30 00 00 00 R 00 00 01 00 00 04 01 00 T ED 01 00 00 @@ -243,25 +243,25 @@ R 00 00 01 00 T 0B 02 00 00 R 00 00 01 00 T 0B 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 T 11 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 +R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 T 17 02 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 05 00 00 T 1C 02 00 00 R 00 00 01 00 T 1C 02 00 00 2A 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 02 05 03 00 02 0B 03 00 +R 00 00 01 00 02 05 02 00 02 0B 02 00 T 23 02 00 00 0E 01 DD 5E FC DD 56 FD 3E R 00 00 01 00 T 2C 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T 31 02 00 00 00 00 00 00 CB 7C 28 1A R 00 00 01 00 02 04 00 00 T 37 02 00 00 R 00 00 01 00 -T 37 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 09 00 +T 37 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 07 00 T 40 02 00 00 23 66 68 01 08 00 09 36 05 23 36 R 00 00 01 00 T 4B 02 00 00 00 @@ -281,14 +281,14 @@ R 00 00 01 00 T 5D 02 00 00 DD 6E FC DD 66 FD E5 0E R 00 00 01 00 T 65 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0C 00 02 0A 0C 00 +R 00 00 01 00 2B 04 10 00 02 0A 10 00 T 6B 02 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 06 00 +R 00 00 01 00 2B 09 05 00 T 72 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 06 00 02 09 00 00 +R 00 00 01 00 02 04 05 00 02 09 00 00 T 79 02 00 00 F1 F1 DD 6E FC DD 66 FD R 00 00 01 00 T 81 02 00 00 R 00 00 01 00 T 81 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/filesys_lib/fs_init.rel b/src/nos/lib/filesys_lib/fs_init.rel index 2de90793..a36a0f2d 100644 --- a/src/nos/lib/filesys_lib/fs_init.rel +++ b/src/nos/lib/filesys_lib/fs_init.rel @@ -1,12 +1,12 @@ XL4 H 2 areas A global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___04af_2208_fs_5finit_28_29 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S __panic Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _calloc Ref00000000 +S ___0552_2208_fs_5finit_28_29 Ref00000000 S _Fstab Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 @@ -15,7 +15,7 @@ S _fs_init Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF DD 36 FC -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 04 00 T 08 00 00 00 00 00 00 00 DD 36 FD 00 00 00 00 R 00 00 01 00 0B 04 07 00 8B 0B 07 00 T 0D 00 00 00 @@ -27,17 +27,17 @@ R 00 00 01 00 T 1B 00 00 00 R 00 00 01 00 T 1B 00 00 00 01 01 00 11 1E 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 06 00 +R 00 00 01 00 2B 0B 05 00 T 23 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 06 00 02 0A 00 00 +R 00 00 01 00 02 05 05 00 02 0A 00 00 T 2A 00 00 00 75 FE DD 74 FF 7D B4 20 11 R 00 00 01 00 T 33 00 00 00 R 00 00 01 00 T 33 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 T 39 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 04 00 02 0B 04 00 +R 00 00 01 00 2B 06 03 00 02 0B 03 00 T 3F 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 05 00 00 T 44 00 00 00 @@ -55,4 +55,4 @@ R 00 00 01 00 T 64 00 00 00 R 00 00 01 00 T 64 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/filesys_lib/fstat.rel b/src/nos/lib/filesys_lib/fstat.rel index 94e6929e..0f45a1ad 100644 --- a/src/nos/lib/filesys_lib/fstat.rel +++ b/src/nos/lib/filesys_lib/fstat.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_statfstat Ref00000000 S _Curproc Ref00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 06 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 05 00 02 09 05 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 06 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/getfsys.rel b/src/nos/lib/filesys_lib/getfsys.rel index 5f121b92..ec9f5f99 100644 --- a/src/nos/lib/filesys_lib/getfsys.rel +++ b/src/nos/lib/filesys_lib/getfsys.rel @@ -3,8 +3,8 @@ H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _sys_getfsys Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 03 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 06 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 01 00 02 09 01 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 06 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/getinode.rel b/src/nos/lib/filesys_lib/getinode.rel index f42e1a3b..94911c9d 100644 --- a/src/nos/lib/filesys_lib/getinode.rel +++ b/src/nos/lib/filesys_lib/getinode.rel @@ -26,11 +26,11 @@ T 13 00 00 00 18 52 R 00 00 01 00 T 15 00 00 00 R 00 00 01 00 -T 15 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 15 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 03 00 T 1E 00 00 00 23 66 6F 46 23 66 68 DD 4E 02 DD R 00 00 01 00 -T 29 00 00 00 46 03 09 01 71 00 09 46 DD 70 FE +T 29 00 00 00 46 03 09 01 73 00 09 46 DD 70 FE R 00 00 01 00 T 34 00 00 00 78 FE 0F 38 27 R 00 00 01 00 @@ -56,7 +56,7 @@ T 67 00 00 00 R 00 00 01 00 T 67 00 00 00 R 00 00 01 00 -T 67 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 67 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 03 00 T 70 00 00 00 23 66 68 01 08 00 09 36 09 23 36 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/getperm.rel b/src/nos/lib/filesys_lib/getperm.rel index 885e0223..31261ddf 100644 --- a/src/nos/lib/filesys_lib/getperm.rel +++ b/src/nos/lib/filesys_lib/getperm.rel @@ -16,11 +16,11 @@ T 00 00 00 00 CD 00 00 00 00 FE FF 21 0A 00 DD R 00 00 01 00 02 05 05 00 T 09 00 00 00 4E 02 DD 46 03 09 46 23 66 68 DD R 00 00 01 00 -T 14 00 00 00 75 FE DD 74 FF 21 4B 00 ED 4B +T 14 00 00 00 75 FE DD 74 FF 21 4D 00 ED 4B R 00 00 01 00 T 1E 00 00 00 00 00 00 00 09 7E 23 66 6F 46 23 R 00 00 01 00 02 04 03 00 -T 27 00 00 00 66 68 01 1D 00 09 7E 23 B6 20 57 +T 27 00 00 00 66 68 01 1F 00 09 7E 23 B6 20 57 R 00 00 01 00 T 32 00 00 00 R 00 00 01 00 @@ -54,9 +54,9 @@ T 87 00 00 00 18 6C R 00 00 01 00 T 89 00 00 00 R 00 00 01 00 -T 89 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 89 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 03 00 -T 92 00 00 00 23 66 6F 46 23 66 68 01 1D 00 09 +T 92 00 00 00 23 66 6F 46 23 66 68 01 1F 00 09 R 00 00 01 00 T 9D 00 00 00 46 23 66 68 E5 21 0E 00 DD 4E 02 R 00 00 01 00 @@ -72,9 +72,9 @@ T BE 00 00 00 18 35 R 00 00 01 00 T C0 00 00 00 R 00 00 01 00 -T C0 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T C0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 03 00 -T C9 00 00 00 23 66 6F 46 23 66 68 01 1F 00 09 +T C9 00 00 00 23 66 6F 46 23 66 68 01 21 00 09 R 00 00 01 00 T D4 00 00 00 46 23 66 68 E5 21 10 00 DD 4E 02 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/i_alloc.rel b/src/nos/lib/filesys_lib/i_alloc.rel index 85af6c33..a6cfea4f 100644 --- a/src/nos/lib/filesys_lib/i_alloc.rel +++ b/src/nos/lib/filesys_lib/i_alloc.rel @@ -28,7 +28,7 @@ T 20 00 00 00 18 R 00 00 01 00 T 21 00 00 00 R 00 00 01 00 -T 21 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 21 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T 2A 00 00 00 23 66 68 01 08 00 09 36 1E 23 36 R 00 00 01 00 @@ -116,7 +116,7 @@ T 1C 01 00 00 FE DD 66 FF 36 39 23 36 CE R 00 00 01 00 T 25 01 00 00 R 00 00 01 00 -T 25 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 25 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T 2E 01 00 00 23 66 68 01 08 00 09 36 1C 23 36 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/i_init.rel b/src/nos/lib/filesys_lib/i_init.rel deleted file mode 100644 index 7c874ea9..00000000 --- a/src/nos/lib/filesys_lib/i_init.rel +++ /dev/null @@ -1,64 +0,0 @@ -XL4 -H 2 areas A global symbols -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?BANK_FAST_LEAVE_L08 Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S _Inotab Ref00000000 -S .__.ABS. Def00000000 -S _free Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 61 flags 0 -S _filesys_garbage Def00000003 -S _i_init Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 03 00 00 00 -R 00 00 01 00 -T 03 00 00 00 CD 00 00 00 00 FC FF DD 36 FC -R 00 00 01 00 02 05 06 00 -T 0B 00 00 00 00 00 00 00 DD 36 FD 00 00 00 00 -R 00 00 01 00 0B 04 03 00 8B 0B 03 00 -T 10 00 00 00 -R 00 00 01 00 -T 10 00 00 00 01 0A 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 02 05 03 00 -T 19 00 00 00 A7 ED 42 30 40 -R 00 00 01 00 -T 1E 00 00 00 -R 00 00 01 00 -T 1E 00 00 00 DD 6E FC DD 66 FD 46 23 66 68 DD -R 00 00 01 00 -T 29 00 00 00 75 FE DD 74 FF 7D B4 28 1D 21 -R 00 00 01 00 -T 33 00 00 00 07 00 DD 4E FE DD 46 FF 09 7E 23 -R 00 00 01 00 -T 3E 00 00 00 B6 20 0E -R 00 00 01 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 -R 00 00 01 00 -T 41 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 -T 49 00 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 05 00 02 0A 00 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 DD 7E FC C6 02 DD 77 FC 30 03 DD -R 00 00 01 00 -T 5A 00 00 00 34 FD -R 00 00 01 00 -T 5C 00 00 00 -R 00 00 01 00 -T 5C 00 00 00 18 B2 -R 00 00 01 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/filesys_lib/i_open.rel b/src/nos/lib/filesys_lib/i_open.rel index af87ad40..097dea97 100644 --- a/src/nos/lib/filesys_lib/i_open.rel +++ b/src/nos/lib/filesys_lib/i_open.rel @@ -10,18 +10,18 @@ S _i_alloc Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Badinomsg Ref00000000 S __dprintf Ref00000000 -S ___04c6_001d_i_5fopen_28_25u_2c_ Ref00000000 S _Inotab Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S ?S_LSH_L02 Ref00000000 -S ___04c7_e51c_i_5fopen_28_29_20re Ref00000000 S __panic Ref00000000 +S ___0571_001d_i_5fopen_28_25u_2c_ Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___04c8_64fb_i_5fopen_28_29_20re Ref00000000 S _calloc Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___0572_e51c_i_5fopen_28_29_20re Ref00000000 S _findfs Ref00000000 +S ___0573_64fb_i_5fopen_28_29_20re Ref00000000 S _bread Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 3A4 flags 0 @@ -32,19 +32,19 @@ A CDATA0 size 2 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F4 FF C5 DD 6E 02 -R 00 00 01 00 02 05 11 00 +R 00 00 01 00 02 05 10 00 T 09 00 00 00 DD 66 03 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 0A 00 +R 00 00 01 00 2B 09 0F 00 T 11 00 00 00 00 00 00 00 E5 21 03 00 E5 3E -R 00 00 01 00 02 04 0A 00 +R 00 00 01 00 02 04 0F 00 T 19 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 09 00 02 09 09 00 T 1E 00 00 00 00 00 00 00 F1 F1 F1 F1 F1 DD 5E R 00 00 01 00 02 04 01 00 T 27 00 00 00 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 15 00 +R 00 00 01 00 2B 09 14 00 T 2E 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 15 00 02 09 01 00 +R 00 00 01 00 02 04 14 00 02 09 01 00 T 35 00 00 00 F4 DD 74 F5 7D B4 20 20 R 00 00 01 00 T 3D 00 00 00 @@ -56,7 +56,7 @@ R 00 00 01 00 00 04 02 00 02 0A 05 00 T 4C 00 00 00 C5 2A 00 00 00 00 E5 3E R 00 00 01 00 02 06 05 00 T 52 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 10 00 02 09 10 00 +R 00 00 01 00 2B 04 0E 00 02 09 0E 00 T 57 00 00 00 00 00 00 00 F1 F1 F1 F1 R 00 00 01 00 02 04 01 00 T 5D 00 00 00 @@ -126,13 +126,13 @@ R 00 00 01 00 00 05 03 00 T FB 00 00 00 00 00 00 00 46 23 66 68 DD 75 F8 R 00 00 01 00 00 04 03 00 T 04 01 00 00 DD 74 F9 01 0A 00 00 00 2A -R 00 00 01 00 02 08 0B 00 +R 00 00 01 00 02 08 0A 00 T 0B 01 00 00 00 00 00 00 A7 ED 42 38 06 R 00 00 01 00 00 04 03 00 T 12 01 00 00 R 00 00 01 00 T 12 01 00 00 21 00 00 00 00 22 00 00 00 00 -R 00 00 01 00 02 05 0B 00 00 0A 03 00 +R 00 00 01 00 02 05 0A 00 00 0A 03 00 T 18 01 00 00 R 00 00 01 00 T 18 01 00 00 DD 7E F8 DD B6 F9 28 5B @@ -192,19 +192,19 @@ R 00 00 01 00 T 94 01 00 00 R 00 00 01 00 T 94 01 00 00 DD 6E FC 26 00 29 01 00 00 00 00 -R 00 00 01 00 02 0B 0B 00 +R 00 00 01 00 02 0B 0A 00 T 9D 01 00 00 09 7E 23 B6 20 29 R 00 00 01 00 T A3 01 00 00 R 00 00 01 00 T A3 01 00 00 01 01 00 11 4A 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 13 00 +R 00 00 01 00 2B 0B 11 00 T AB 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 13 00 02 0A 01 00 +R 00 00 01 00 02 05 11 00 02 0A 01 00 T B2 01 00 00 75 FA DD 74 FB DD 6E FC 26 00 29 R 00 00 01 00 T BD 01 00 00 01 00 00 00 00 09 DD 4E FA DD 46 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0A 00 T C6 01 00 00 FB 71 23 70 18 05 R 00 00 01 00 T CC 01 00 00 @@ -219,9 +219,9 @@ T D1 01 00 00 DD 7E FA DD B6 FB 20 18 R 00 00 01 00 T D9 01 00 00 R 00 00 01 00 -T D9 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 -T E2 01 00 00 23 66 68 01 08 00 09 36 17 23 36 +T D9 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 +T E2 01 00 00 23 66 68 01 08 00 09 36 0C 23 36 R 00 00 01 00 T ED 01 00 00 00 C3 73 03 00 00 R 00 00 01 00 00 06 01 00 @@ -250,7 +250,7 @@ R 00 00 01 00 T 35 02 00 00 7E 05 E6 00 57 06 06 CD R 00 00 01 00 T 3D 02 00 00 00 00 00 00 DD 6E F6 DD 66 F7 19 -R 00 00 01 00 02 04 0E 00 +R 00 00 01 00 02 04 0D 00 T 46 02 00 00 4D 44 21 0A 00 DD 5E FA DD 56 FB R 00 00 01 00 T 51 02 00 00 19 EB 3E 00 00 00 00 21 @@ -352,9 +352,9 @@ R 00 00 01 00 2B 0B 03 00 T 22 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 03 00 02 0A 01 00 T 29 03 00 00 6E FA DD 66 FB E5 0E 00 00 00 00 -R 00 00 01 00 2B 0B 0F 00 +R 00 00 01 00 2B 0B 13 00 T 31 03 00 00 C5 21 00 00 00 00 E5 21 03 00 E5 -R 00 00 01 00 02 06 0F 00 +R 00 00 01 00 02 06 13 00 T 3A 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 09 00 02 0A 09 00 T 40 03 00 00 00 00 00 00 F1 F1 F1 F1 DD 6E FA @@ -375,12 +375,12 @@ T 6C 03 00 00 00 00 00 00 F1 F1 F1 F1 F1 R 00 00 01 00 02 04 01 00 T 73 03 00 00 R 00 00 01 00 -T 73 03 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T 73 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T 7C 03 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T 87 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 12 00 02 0B 12 00 +R 00 00 01 00 2B 05 15 00 02 0B 15 00 T 8D 03 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 09 00 T 95 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 @@ -406,4 +406,4 @@ R 00 00 03 00 T 00 00 00 00 R 00 00 03 00 T 00 00 00 00 00 00 00 00 -R 00 00 04 00 02 04 0B 00 +R 00 00 04 00 02 04 0A 00 diff --git a/src/nos/lib/filesys_lib/inotab_garbage.rel b/src/nos/lib/filesys_lib/inotab_garbage.rel new file mode 100644 index 00000000..09d73abc --- /dev/null +++ b/src/nos/lib/filesys_lib/inotab_garbage.rel @@ -0,0 +1,60 @@ +XL4 +H 2 areas 8 global symbols +S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S _Inotab Ref00000000 +S .__.ABS. Def00000000 +S _free Ref00000000 +S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ?CL64180B_4_06_L00 Ref00000000 +A _DEFAULT size 0 flags 0 +A CODE size 68 flags 0 +S _inotab_garbage Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 CD 00 00 00 00 FC FF DD 36 FC +R 00 00 01 00 02 05 05 00 +T 08 00 00 00 00 00 00 00 DD 36 FD 00 00 00 00 +R 00 00 01 00 0B 04 02 00 8B 0B 02 00 +T 0D 00 00 00 +R 00 00 01 00 +T 0D 00 00 00 01 0A 00 00 00 DD 6E FC DD 66 FD +R 00 00 01 00 02 05 02 00 +T 16 00 00 00 A7 ED 42 30 4A +R 00 00 01 00 +T 1B 00 00 00 +R 00 00 01 00 +T 1B 00 00 00 DD 6E FC DD 66 FD 46 23 66 68 DD +R 00 00 01 00 +T 26 00 00 00 75 FE DD 74 FF 7D B4 28 27 21 +R 00 00 01 00 +T 30 00 00 00 07 00 DD 4E FE DD 46 FF 09 7E 23 +R 00 00 01 00 +T 3B 00 00 00 B6 20 18 +R 00 00 01 00 +T 3E 00 00 00 +R 00 00 01 00 +T 3E 00 00 00 +R 00 00 01 00 +T 3E 00 00 00 +R 00 00 01 00 +T 3E 00 00 00 DD 6E FC DD 66 FD AF 77 23 77 DD +R 00 00 01 00 +T 49 00 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 04 00 +T 51 00 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 +T 56 00 00 00 +R 00 00 01 00 +T 56 00 00 00 DD 7E FC C6 02 DD 77 FC 30 03 DD +R 00 00 01 00 +T 61 00 00 00 34 FD +R 00 00 01 00 +T 63 00 00 00 +R 00 00 01 00 +T 63 00 00 00 18 A8 +R 00 00 01 00 +T 65 00 00 00 +R 00 00 01 00 +T 65 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/filesys_lib/ioctl.rel b/src/nos/lib/filesys_lib/ioctl.rel index d077d0c8..ab3fb0d1 100644 --- a/src/nos/lib/filesys_lib/ioctl.rel +++ b/src/nos/lib/filesys_lib/ioctl.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_ioctl Ref00000000 S _Curproc Ref00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 06 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 06 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 0C R 00 00 01 00 @@ -48,7 +48,7 @@ T 7D 00 00 00 DD 56 0D 73 23 72 21 2E 00 39 01 R 00 00 01 00 T 88 00 00 00 02 00 09 DD 75 E0 DD 74 E1 21 R 00 00 01 00 -T 92 00 00 00 4B 00 ED 4B 00 00 00 00 09 56 23 +T 92 00 00 00 4D 00 ED 4B 00 00 00 00 09 56 23 R 00 00 01 00 02 08 06 00 T 9B 00 00 00 66 6A 11 0E 00 19 E5 21 04 00 39 R 00 00 01 00 @@ -56,7 +56,7 @@ T A6 00 00 00 7E C6 02 77 23 7E CE 00 77 2B 6E R 00 00 01 00 T B1 00 00 00 67 2B 2B 5E 23 56 E1 73 23 72 21 R 00 00 01 00 -T BC 00 00 00 4B 00 ED 4B 00 00 00 00 09 56 23 +T BC 00 00 00 4D 00 ED 4B 00 00 00 00 09 56 23 R 00 00 01 00 02 08 06 00 T C5 00 00 00 66 6A 23 23 23 36 0F 3E R 00 00 01 00 @@ -66,7 +66,7 @@ T D2 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 05 00 T D7 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 05 00 02 09 00 00 -T DE 00 00 00 DE DD 74 DF 21 4B 00 ED 4B +T DE 00 00 00 DE DD 74 DF 21 4D 00 ED 4B R 00 00 01 00 T E7 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -78,15 +78,15 @@ T 00 01 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T 08 01 00 00 R 00 00 01 00 -T 08 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T 08 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T 11 01 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T 11 01 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T 1C 01 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 24 01 00 00 R 00 00 01 00 -T 24 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 24 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T 2D 01 00 00 77 23 77 DD 6E DE DD 66 DF C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/link.rel b/src/nos/lib/filesys_lib/link.rel index 21ddc4e9..f8829369 100644 --- a/src/nos/lib/filesys_lib/link.rel +++ b/src/nos/lib/filesys_lib/link.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 05 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 08 00 02 09 08 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 05 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/lseek.rel b/src/nos/lib/filesys_lib/lseek.rel index 2e1e9c54..f3a8f7b8 100644 --- a/src/nos/lib/filesys_lib/lseek.rel +++ b/src/nos/lib/filesys_lib/lseek.rel @@ -2,8 +2,8 @@ XL4 H 2 areas D global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S _sys_lseek Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -22,30 +22,30 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 0A R 00 00 01 00 -T 7D 00 00 00 DD 56 0B 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 0B 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 @@ -55,11 +55,11 @@ T 9B 00 00 00 0D DD 6E 0A DD 66 0B CD R 00 00 01 00 T A3 00 00 00 00 00 00 00 EB E1 73 23 72 21 R 00 00 01 00 02 04 09 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 56 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 56 23 R 00 00 01 00 02 08 05 00 T B4 00 00 00 66 6A 11 10 00 19 DD 5E 0E DD 56 R 00 00 01 00 -T BF 00 00 00 0F 73 23 72 21 4B 00 ED 4B +T BF 00 00 00 0F 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T C8 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 05 00 @@ -71,7 +71,7 @@ T DD 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 04 00 02 09 04 00 T E2 00 00 00 00 00 00 00 DD 75 FB DD 74 FC DD R 00 00 01 00 02 04 00 00 -T EB 00 00 00 71 FD DD 70 FE 21 4B 00 ED 4B +T EB 00 00 00 71 FD DD 70 FE 21 4D 00 ED 4B R 00 00 01 00 T F5 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 05 00 @@ -85,15 +85,15 @@ T 17 01 00 00 DD A6 FD DD A6 FE 3C 20 1C R 00 00 01 00 T 20 01 00 00 R 00 00 01 00 -T 20 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T 20 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T 29 01 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T 29 01 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T 34 01 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 3C 01 00 00 R 00 00 01 00 -T 3C 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 3C 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T 45 01 00 00 77 23 77 DD 4E FD DD 46 FE DD 6E R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/magic.rel b/src/nos/lib/filesys_lib/magic.rel index 5b3229e5..6afa86da 100644 --- a/src/nos/lib/filesys_lib/magic.rel +++ b/src/nos/lib/filesys_lib/magic.rel @@ -1,7 +1,7 @@ XL4 H 2 areas 8 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0160_8c96__25s_3a_20corrupted Ref00000000 +S ___018c_8c96__25s_3a_20corrupted Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 diff --git a/src/nos/lib/filesys_lib/mainptab.rel b/src/nos/lib/filesys_lib/mainptab.rel new file mode 100644 index 00000000..289f9517 --- /dev/null +++ b/src/nos/lib/filesys_lib/mainptab.rel @@ -0,0 +1,65 @@ +XL4 +H 2 areas B global symbols +S ?BANK_CALL_DIRECT_L08 Ref00000000 +S _memset Ref00000000 +S _Curptab Ref00000000 +S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S .__.ABS. Def00000000 +S __panic Ref00000000 +S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S _forkprocess Ref00000000 +S ?CL64180B_4_06_L00 Ref00000000 +S ___05b4_0ca2_mainptab_28_29 Ref00000000 +A _DEFAULT size 0 flags 0 +A CODE size A6 flags 0 +S _mainptab Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 CD 00 00 00 00 80 FF 21 7D 00 E5 +R 00 00 01 00 02 05 06 00 +T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E +R 00 00 01 00 +T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 01 00 02 09 01 00 +T 18 00 00 00 00 00 00 00 F1 21 00 00 39 22 +R 00 00 01 00 02 04 00 00 +T 20 00 00 00 00 00 00 00 21 00 00 39 5D 54 3E +R 00 00 01 00 02 04 02 00 +T 29 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 07 00 02 09 07 00 +T 2E 00 00 00 00 00 00 00 DD 75 85 DD 74 86 DD +R 00 00 01 00 02 04 00 00 +T 37 00 00 00 6E 85 DD 66 86 7D B4 20 11 +R 00 00 01 00 +T 40 00 00 00 +R 00 00 01 00 +T 40 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 +T 46 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 05 00 02 0B 05 00 +T 4C 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 05 00 00 +T 51 00 00 00 +R 00 00 01 00 +T 51 00 00 00 DD 6E 85 DD 66 86 22 00 00 00 00 +R 00 00 01 00 02 0B 02 00 +T 5A 00 00 00 01 05 00 09 ED 4B 00 00 00 00 71 +R 00 00 01 00 02 0A 02 00 +T 63 00 00 00 23 70 21 13 00 ED 4B 00 00 00 00 +R 00 00 01 00 02 0B 02 00 +T 6C 00 00 00 09 36 04 21 23 00 ED 4B +R 00 00 01 00 +T 74 00 00 00 00 00 00 00 09 36 12 23 36 00 21 +R 00 00 01 00 02 04 02 00 +T 7D 00 00 00 0A 00 E5 01 FF FF 21 73 00 ED 5B +R 00 00 01 00 +T 88 00 00 00 00 00 00 00 19 EB 3E 00 00 00 00 +R 00 00 01 00 02 04 02 00 2B 0B 01 00 +T 8E 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 +R 00 00 01 00 02 05 01 00 02 0A 00 00 +T 95 00 00 00 2A 00 00 00 00 23 36 01 23 36 00 +R 00 00 01 00 02 05 02 00 +T 9E 00 00 00 2A 00 00 00 00 36 03 C3 +R 00 00 01 00 02 05 02 00 +T A4 00 00 00 00 00 00 00 +R 00 00 01 00 02 04 03 00 diff --git a/src/nos/lib/filesys_lib/mknod.rel b/src/nos/lib/filesys_lib/mknod.rel index 135434c4..5bb5f227 100644 --- a/src/nos/lib/filesys_lib/mknod.rel +++ b/src/nos/lib/filesys_lib/mknod.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_mknod Ref00000000 S _Curproc Ref00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 90 00 00 00 0E 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 9B 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 9B 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T A4 00 00 00 56 23 66 6A 23 23 23 36 12 3E R 00 00 01 00 @@ -60,7 +60,7 @@ T B3 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 05 00 T B8 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 05 00 02 09 00 00 -T BF 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T BF 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T C8 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -72,15 +72,15 @@ T E1 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T E9 00 00 00 R 00 00 01 00 -T E9 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T E9 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T F2 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T F2 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T FD 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 05 01 00 00 R 00 00 01 00 -T 05 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 05 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T 0E 01 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/mount.rel b/src/nos/lib/filesys_lib/mount.rel index 03f18cec..97d053b1 100644 --- a/src/nos/lib/filesys_lib/mount.rel +++ b/src/nos/lib/filesys_lib/mount.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_mountumount Ref00000000 S _Curproc Ref00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 90 00 00 00 0E 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 9B 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 9B 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T A4 00 00 00 56 23 66 6A 23 23 23 36 13 3E R 00 00 01 00 @@ -60,7 +60,7 @@ T B3 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 05 00 T B8 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 05 00 02 09 00 00 -T BF 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T BF 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T C8 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -72,15 +72,15 @@ T E1 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T E9 00 00 00 R 00 00 01 00 -T E9 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T E9 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T F2 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T F2 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T FD 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 05 01 00 00 R 00 00 01 00 -T 05 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 05 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T 0E 01 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/n_creat.rel b/src/nos/lib/filesys_lib/n_creat.rel index 0ec5e56d..91cec17b 100644 --- a/src/nos/lib/filesys_lib/n_creat.rel +++ b/src/nos/lib/filesys_lib/n_creat.rel @@ -1,6 +1,7 @@ XL4 H 3 areas 17 global symbols S _filename Ref00000000 +S ___05de_fa1b_n_5fcreat_28_29_20r Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _bfree Ref00000000 S _namei Ref00000000 @@ -10,18 +11,17 @@ S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 S _wr_inode Ref00000000 S _ch_link Ref00000000 -S ___0515_fa1b_n_5fcreat_28_29_20r Ref00000000 +S ___05dd_e112_n_5fcreat_28_22_25s Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 +S ___05df_105b_n_5fcreat_28_29_20r Ref00000000 S _newfile Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _getperm Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _truncateto0 Ref00000000 -S ___0514_e112_n_5fcreat_28_22_25s Ref00000000 S _setftim Ref00000000 S _zerobuf Ref00000000 -S ___0516_105b_n_5fcreat_28_29_20r Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 2B4 flags 0 S _n_creat Def00000000 @@ -29,17 +29,17 @@ A CSTR size 6 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 EA FF AF DD 77 EC -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 10 00 T 09 00 00 00 DD 77 ED 1E 01 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 14 00 +R 00 00 01 00 2B 0A 15 00 T 11 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 14 00 02 09 01 00 +R 00 00 01 00 02 04 15 00 02 09 02 00 T 18 00 00 00 FD DD 74 FE 11 00 02 D5 DD 4E 02 R 00 00 01 00 T 23 00 00 00 DD 46 03 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 05 00 +R 00 00 01 00 2B 09 06 00 T 2A 00 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 05 00 02 09 01 00 +R 00 00 01 00 02 04 06 00 02 09 02 00 T 31 00 00 00 B4 20 02 18 00 R 00 00 01 00 T 36 00 00 00 @@ -51,23 +51,23 @@ R 00 00 01 00 T 41 00 00 00 00 C5 DD 6E FD DD 66 FE E5 0E R 00 00 01 00 T 4B 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 12 00 02 0A 12 00 +R 00 00 01 00 2B 04 0B 00 02 0A 0B 00 T 51 00 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 07 00 +R 00 00 01 00 2B 09 08 00 T 58 00 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 07 00 02 09 01 00 +R 00 00 01 00 02 04 08 00 02 09 02 00 T 5F 00 00 00 0C 00 39 F9 EB 0E 00 DD 5E FD DD R 00 00 01 00 T 6A 00 00 00 56 FE 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 02 00 +R 00 00 01 00 2B 07 03 00 T 6F 00 00 00 00 00 00 00 CD 00 00 00 00 0E 01 -R 00 00 01 00 02 04 02 00 02 09 01 00 +R 00 00 01 00 02 04 03 00 02 09 02 00 T 76 00 00 00 C5 21 04 00 39 4D 44 DD 5E 02 DD R 00 00 01 00 T 81 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 03 00 +R 00 00 01 00 2B 07 04 00 T 86 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 03 00 02 09 01 00 +R 00 00 01 00 02 04 04 00 02 09 02 00 T 8D 00 00 00 75 EA DD 74 EB 7D B4 CA R 00 00 01 00 T 95 00 00 00 35 01 00 00 @@ -78,8 +78,8 @@ T 97 00 00 00 AF DD B6 04 28 18 R 00 00 01 00 T 9D 00 00 00 R 00 00 01 00 -T 9D 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0B 00 +T 9D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0C 00 T A6 00 00 00 23 66 68 01 08 00 09 36 11 23 36 R 00 00 01 00 T B1 00 00 00 00 C3 5F 02 00 00 @@ -87,9 +87,9 @@ R 00 00 01 00 00 06 01 00 T B5 00 00 00 R 00 00 01 00 T B5 00 00 00 DD 5E EC DD 56 ED 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 +R 00 00 01 00 2B 0B 05 00 T BD 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 04 00 02 0A 01 00 +R 00 00 01 00 02 05 05 00 02 0A 02 00 T C4 00 00 00 0A 00 DD 4E EA DD 46 EB 09 7E E6 R 00 00 01 00 T CF 00 00 00 00 4F 23 7E E6 F0 47 3E 40 A8 B1 @@ -98,8 +98,8 @@ T DA 00 00 00 20 18 R 00 00 01 00 T DC 00 00 00 R 00 00 01 00 -T DC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0B 00 +T DC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0C 00 T E5 00 00 00 23 66 68 01 08 00 09 36 15 23 36 R 00 00 01 00 T F0 00 00 00 00 C3 6D 02 00 00 @@ -107,15 +107,15 @@ R 00 00 01 00 00 06 01 00 T F4 00 00 00 R 00 00 01 00 T F4 00 00 00 DD 5E EA DD 56 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0F 00 +R 00 00 01 00 2B 0B 11 00 T FC 00 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 0F 00 02 0A 01 00 +R 00 00 01 00 02 05 11 00 02 0A 02 00 T 03 01 00 00 E6 02 47 7C E6 00 B0 20 18 R 00 00 01 00 T 0C 01 00 00 R 00 00 01 00 -T 0C 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0B 00 +T 0C 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0C 00 T 15 01 00 00 23 66 68 01 08 00 09 36 0D 23 36 R 00 00 01 00 T 20 01 00 00 00 C3 6D 02 00 00 @@ -123,9 +123,9 @@ R 00 00 01 00 00 06 01 00 T 24 01 00 00 R 00 00 01 00 T 24 01 00 00 DD 5E EA DD 56 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 11 00 +R 00 00 01 00 2B 0B 13 00 T 2C 01 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 11 00 02 0A 01 00 +R 00 00 01 00 02 05 13 00 02 0A 02 00 T 33 01 00 00 25 02 00 00 R 00 00 01 00 00 04 01 00 T 35 01 00 00 @@ -143,11 +143,11 @@ R 00 00 01 00 T 4B 01 00 00 03 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 00 00 02 0B 00 00 T 51 01 00 00 CD 00 00 00 00 21 04 00 39 4D 44 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 5A 01 00 00 DD 5E EC DD 56 ED 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0D 00 +R 00 00 01 00 2B 0B 0F 00 T 62 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0D 00 02 0A 01 00 +R 00 00 01 00 02 05 0F 00 02 0A 02 00 T 69 01 00 00 75 EA DD 74 EB 7D B4 20 03 R 00 00 01 00 T 72 01 00 00 @@ -161,9 +161,9 @@ R 00 00 01 00 T 80 01 00 00 5E 0A DD 56 0B 73 23 72 0E 07 DD R 00 00 01 00 T 8B 01 00 00 5E EA DD 56 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 13 00 +R 00 00 01 00 2B 0A 14 00 T 93 01 00 00 00 00 00 00 CD 00 00 00 00 DD 7E -R 00 00 01 00 02 04 13 00 02 09 01 00 +R 00 00 01 00 02 04 14 00 02 09 02 00 T 9A 01 00 00 0A E6 00 6F DD 7E 0B E6 F0 67 3E R 00 00 01 00 T A5 01 00 00 40 AC B5 20 7B @@ -175,17 +175,17 @@ R 00 00 01 00 T B2 01 00 00 01 00 00 00 E5 01 00 00 00 00 DD R 00 00 01 00 00 04 02 00 00 0A 02 00 T B9 01 00 00 5E EA DD 56 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 09 00 +R 00 00 01 00 2B 0A 0A 00 T C1 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 09 00 02 09 01 00 +R 00 00 01 00 02 04 0A 00 02 09 02 00 T C8 01 00 00 7D B4 28 22 DD 6E EC DD 66 ED E5 R 00 00 01 00 T D3 01 00 00 21 03 00 00 00 E5 01 00 00 00 00 R 00 00 01 00 00 05 02 00 00 0B 02 00 T DA 01 00 00 DD 5E EA DD 56 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 09 00 +R 00 00 01 00 2B 0B 0A 00 T E2 01 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 09 00 02 0A 01 00 +R 00 00 01 00 02 05 0A 00 02 0A 02 00 T E9 01 00 00 F1 7D B4 20 02 R 00 00 01 00 T EE 01 00 00 @@ -219,9 +219,9 @@ R 00 00 01 00 T 25 02 00 00 R 00 00 01 00 T 25 02 00 00 DD 5E EA DD 56 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 08 00 +R 00 00 01 00 2B 0B 09 00 T 2D 02 00 00 21 00 00 00 00 CD 00 00 00 00 CB -R 00 00 01 00 02 05 08 00 02 0A 01 00 +R 00 00 01 00 02 05 09 00 02 0A 02 00 T 34 02 00 00 7C 28 02 R 00 00 01 00 T 37 02 00 00 @@ -233,19 +233,19 @@ R 00 00 01 00 T 39 02 00 00 DD 6E EA DD 66 EB E5 0E R 00 00 01 00 T 41 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 +R 00 00 01 00 2B 04 01 00 02 0A 01 00 T 47 02 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 07 00 +R 00 00 01 00 2B 09 08 00 T 4E 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 07 00 02 09 01 00 +R 00 00 01 00 02 04 08 00 02 09 02 00 T 55 02 00 00 F1 F1 DD 6E EA DD 66 EB 18 52 R 00 00 01 00 T 5F 02 00 00 R 00 00 01 00 T 5F 02 00 00 DD 5E EC DD 56 ED 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 +R 00 00 01 00 2B 0B 05 00 T 67 02 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 04 00 02 0A 01 00 +R 00 00 01 00 02 05 05 00 02 0A 02 00 T 6D 02 00 00 R 00 00 01 00 T 6D 02 00 00 DD 7E EA DD B6 EB 28 0E @@ -253,27 +253,27 @@ R 00 00 01 00 T 75 02 00 00 R 00 00 01 00 T 75 02 00 00 DD 5E EA DD 56 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 +R 00 00 01 00 2B 0B 05 00 T 7D 02 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 04 00 02 0A 01 00 +R 00 00 01 00 02 05 05 00 02 0A 02 00 T 83 02 00 00 R 00 00 01 00 -T 83 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0B 00 +T 83 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0C 00 T 8C 02 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T 97 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 15 00 02 0B 15 00 +R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 T 9D 02 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 07 00 +R 00 00 01 00 2B 0A 08 00 T A5 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 07 00 02 09 01 00 +R 00 00 01 00 02 04 08 00 02 09 02 00 T AC 02 00 00 F1 F1 21 00 00 R 00 00 01 00 T B1 02 00 00 R 00 00 01 00 T B1 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 07 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 diff --git a/src/nos/lib/filesys_lib/namei.rel b/src/nos/lib/filesys_lib/namei.rel index 017373e9..e2bcae0c 100644 --- a/src/nos/lib/filesys_lib/namei.rel +++ b/src/nos/lib/filesys_lib/namei.rel @@ -40,23 +40,23 @@ T 47 00 00 00 R 00 00 01 00 T 47 00 00 00 R 00 00 01 00 -T 47 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 47 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 05 00 T 50 00 00 00 23 66 6A 11 08 00 19 AF 77 23 77 R 00 00 01 00 T 5B 00 00 00 DD 6E FD DD 66 FE 7E FE 2F 20 1A R 00 00 01 00 -T 66 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 66 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 05 00 -T 6F 00 00 00 23 66 6F 56 23 66 6A 11 6B 00 19 +T 6F 00 00 00 23 66 6F 56 23 66 6A 11 6D 00 19 R 00 00 01 00 T 7A 00 00 00 56 23 66 6A 18 18 R 00 00 01 00 T 80 00 00 00 R 00 00 01 00 -T 80 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 80 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 05 00 -T 89 00 00 00 23 66 6F 46 23 66 68 01 27 00 09 +T 89 00 00 00 23 66 6F 46 23 66 68 01 29 00 09 R 00 00 01 00 T 94 00 00 00 46 23 66 68 R 00 00 01 00 @@ -126,7 +126,7 @@ T 2F 01 00 00 E6 04 47 7C E6 00 B0 20 3B R 00 00 01 00 T 38 01 00 00 R 00 00 01 00 -T 38 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 38 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T 41 01 00 00 23 66 68 01 08 00 09 36 01 23 36 R 00 00 01 00 @@ -186,7 +186,7 @@ T BB 01 00 00 R 00 00 01 00 T BB 01 00 00 R 00 00 01 00 -T BB 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T BB 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T C4 01 00 00 23 66 68 01 08 00 09 36 0C 23 36 R 00 00 01 00 @@ -226,21 +226,21 @@ T 18 02 00 00 00 00 00 00 R 00 00 01 00 89 04 02 00 T 19 02 00 00 R 00 00 01 00 -T 19 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 19 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 05 00 T 22 02 00 00 23 66 6A 11 14 00 19 36 00 23 36 R 00 00 01 00 -T 2D 02 00 00 02 21 4B 00 ED 4B 00 00 00 00 09 +T 2D 02 00 00 02 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 36 02 00 00 56 23 66 6A 11 12 00 19 DD 5E F2 R 00 00 01 00 -T 41 02 00 00 DD 56 F3 73 23 72 21 4B 00 ED 4B +T 41 02 00 00 DD 56 F3 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 4C 02 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 54 02 00 00 16 00 19 AF 77 23 77 23 77 23 77 R 00 00 01 00 -T 5F 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 5F 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T 68 02 00 00 23 66 68 01 1C 00 09 36 01 DD 4E R 00 00 01 00 @@ -262,7 +262,7 @@ T 9F 02 00 00 18 EC R 00 00 01 00 T A1 02 00 00 R 00 00 01 00 -T A1 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T A1 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T AA 02 00 00 23 66 68 01 14 00 09 46 23 66 68 R 00 00 01 00 @@ -274,7 +274,7 @@ T CA 02 00 00 FF 01 A7 ED 42 38 18 R 00 00 01 00 T D1 02 00 00 R 00 00 01 00 -T D1 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T D1 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T DA 02 00 00 23 66 68 01 08 00 09 36 0C 23 36 R 00 00 01 00 @@ -282,7 +282,7 @@ T E5 02 00 00 00 C3 4D 01 00 00 R 00 00 01 00 00 06 01 00 T E9 02 00 00 R 00 00 01 00 -T E9 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T E9 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T F2 02 00 00 23 66 68 01 14 00 09 46 23 66 68 R 00 00 01 00 @@ -334,7 +334,7 @@ T 6F 03 00 00 FA FE 0D 20 18 R 00 00 01 00 T 74 03 00 00 R 00 00 01 00 -T 74 03 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 74 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T 7D 03 00 00 23 66 68 01 08 00 09 36 28 23 36 R 00 00 01 00 @@ -374,7 +374,7 @@ T D6 03 00 00 21 00 00 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 02 00 02 0A 00 00 T DC 03 00 00 R 00 00 01 00 -T DC 03 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T DC 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T E5 03 00 00 23 66 68 01 08 00 09 7E 23 B6 20 R 00 00 01 00 @@ -382,7 +382,7 @@ T F0 03 00 00 15 R 00 00 01 00 T F1 03 00 00 R 00 00 01 00 -T F1 03 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T F1 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T FA 03 00 00 23 66 68 01 08 00 09 36 02 23 36 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/newfile.rel b/src/nos/lib/filesys_lib/newfile.rel index 532b2b8a..cf50e267 100644 --- a/src/nos/lib/filesys_lib/newfile.rel +++ b/src/nos/lib/filesys_lib/newfile.rel @@ -1,20 +1,20 @@ XL4 H 3 areas 11 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___05ed_9094_newfile_28_29_20ret Ref00000000 S _memset Ref00000000 S _i_deref Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___05ee_6cce_newfile_28_29_20ret Ref00000000 S __dprintf Ref00000000 -S ___0526_147d_newfile_280x_25x_2c Ref00000000 S _wr_inode Ref00000000 S _ch_link Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S ___0524_9094_newfile_28_29_20ret Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___0525_6cce_newfile_28_29_20ret Ref00000000 S _getperm Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___05ef_147d_newfile_280x_25x_2c Ref00000000 S _i_open Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 1F5 flags 0 @@ -25,35 +25,35 @@ R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF C5 DD 6E 02 R 00 00 01 00 02 05 0B 00 T 09 00 00 00 DD 66 03 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 05 00 +R 00 00 01 00 2B 09 0E 00 T 11 00 00 00 00 00 00 00 E5 21 03 00 E5 3E -R 00 00 01 00 02 04 05 00 +R 00 00 01 00 02 04 0E 00 T 19 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 06 00 02 09 06 00 T 1E 00 00 00 00 00 00 00 F1 F1 F1 F1 F1 DD 5E R 00 00 01 00 02 04 00 00 T 27 00 00 00 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0D 00 +R 00 00 01 00 2B 09 0C 00 T 2E 00 00 00 00 00 00 00 CD 00 00 00 00 7D E6 -R 00 00 01 00 02 04 0D 00 02 09 00 00 +R 00 00 01 00 02 04 0C 00 02 09 00 00 T 35 00 00 00 02 47 7C E6 00 B0 20 46 R 00 00 01 00 T 3D 00 00 00 R 00 00 01 00 -T 3D 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 -R 00 00 01 00 02 09 08 00 +T 3D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 +R 00 00 01 00 02 09 09 00 T 46 00 00 00 23 66 6A 11 08 00 19 36 01 23 36 R 00 00 01 00 -T 51 00 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 -R 00 00 01 00 02 0A 08 00 +T 51 00 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 +R 00 00 01 00 02 0A 09 00 T 5A 00 00 00 46 23 66 68 01 08 00 09 4E 23 46 R 00 00 01 00 T 65 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 0C 00 +R 00 00 01 00 2B 06 05 00 T 6A 00 00 00 00 00 00 00 E5 21 03 00 E5 3E -R 00 00 01 00 02 04 0C 00 +R 00 00 01 00 02 04 05 00 T 72 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 06 00 02 09 06 00 T 77 00 00 00 00 00 00 00 F1 F1 F1 F1 21 00 00 R 00 00 01 00 02 04 00 00 T 80 00 00 00 C3 F2 01 00 00 @@ -70,16 +70,16 @@ T 9C 00 00 00 FE DD 74 FF 7D B4 20 2E R 00 00 01 00 T A4 00 00 00 R 00 00 01 00 -T A4 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 08 00 +T A4 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 09 00 T AD 00 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T B8 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 T BE 00 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 04 00 +R 00 00 01 00 2B 0A 06 00 T C6 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 04 00 02 09 00 00 +R 00 00 01 00 02 04 06 00 02 09 00 00 T CD 00 00 00 F1 F1 C3 DE 01 00 00 R 00 00 01 00 00 07 01 00 T D2 00 00 00 @@ -89,57 +89,57 @@ R 00 00 01 00 T DD 00 00 00 5E FE DD 56 FF 19 EB 3E R 00 00 01 00 T E5 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 +R 00 00 01 00 2B 04 02 00 02 09 02 00 T EA 00 00 00 00 00 00 00 F1 21 0A 00 DD 4E FE R 00 00 01 00 02 04 00 00 T F3 00 00 00 DD 46 FF 09 36 00 23 36 80 21 R 00 00 01 00 T FD 00 00 00 0C 00 09 36 01 23 36 00 21 0E 00 R 00 00 01 00 -T 08 01 00 00 09 E5 21 4B 00 ED 5B 00 00 00 00 -R 00 00 01 00 02 0B 08 00 +T 08 01 00 00 09 E5 21 4D 00 ED 5B 00 00 00 00 +R 00 00 01 00 02 0B 09 00 T 11 01 00 00 19 7E 23 66 6F 7E 23 66 6F 11 R 00 00 01 00 -T 1B 01 00 00 1D 00 19 5E 23 56 E1 73 23 72 21 +T 1B 01 00 00 1F 00 19 5E 23 56 E1 73 23 72 21 R 00 00 01 00 -T 26 01 00 00 10 00 09 E5 21 4B 00 ED 5B +T 26 01 00 00 10 00 09 E5 21 4D 00 ED 5B R 00 00 01 00 T 2F 01 00 00 00 00 00 00 19 7E 23 66 6F 56 23 -R 00 00 01 00 02 04 08 00 -T 38 01 00 00 66 6A 11 1F 00 19 5E 23 56 E1 73 +R 00 00 01 00 02 04 09 00 +T 38 01 00 00 66 6A 11 21 00 19 5E 23 56 E1 73 R 00 00 01 00 T 43 01 00 00 23 72 69 60 23 23 36 01 DD 5E FE R 00 00 01 00 T 4E 01 00 00 DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 06 00 +R 00 00 01 00 2B 08 07 00 T 54 01 00 00 00 00 00 00 CD 00 00 00 00 DD 6E -R 00 00 01 00 02 04 06 00 02 09 00 00 +R 00 00 01 00 02 04 07 00 02 09 00 00 T 5B 01 00 00 FE DD 66 FF E5 DD 6E 04 DD 66 05 R 00 00 01 00 T 66 01 00 00 E5 01 00 00 00 00 DD 5E 02 DD 56 R 00 00 01 00 00 06 02 00 T 6F 01 00 00 03 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 07 00 02 0B 07 00 +R 00 00 01 00 2B 06 08 00 02 0B 08 00 T 75 01 00 00 CD 00 00 00 00 F1 F1 7D B4 20 42 R 00 00 01 00 02 05 00 00 T 7E 01 00 00 R 00 00 01 00 T 7E 01 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 +R 00 00 01 00 2B 0B 03 00 T 86 01 00 00 21 00 00 00 00 CD 00 00 00 00 AF -R 00 00 01 00 02 05 02 00 02 0A 00 00 -T 8D 01 00 00 DD 77 FE DD 77 FF 21 4B 00 ED 4B +R 00 00 01 00 02 05 03 00 02 0A 00 00 +T 8D 01 00 00 DD 77 FE DD 77 FF 21 4D 00 ED 4B R 00 00 01 00 T 98 01 00 00 00 00 00 00 09 46 23 66 68 01 -R 00 00 01 00 02 04 08 00 +R 00 00 01 00 02 04 09 00 T A0 01 00 00 08 00 09 4E 23 46 C5 0E R 00 00 01 00 T A8 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0C 00 02 0A 0C 00 +R 00 00 01 00 2B 04 05 00 02 0A 05 00 T AE 01 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 04 00 +R 00 00 01 00 2B 09 06 00 T B5 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 04 00 02 09 00 00 +R 00 00 01 00 02 04 06 00 02 09 00 00 T BC 01 00 00 F1 F1 18 1E R 00 00 01 00 T C0 01 00 00 @@ -147,11 +147,11 @@ R 00 00 01 00 T C0 01 00 00 DD 6E FE DD 66 FF E5 0E R 00 00 01 00 T C8 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 +R 00 00 01 00 2B 04 01 00 02 0A 01 00 T CE 01 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 04 00 +R 00 00 01 00 2B 09 06 00 T D5 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 04 00 02 09 00 00 +R 00 00 01 00 02 04 06 00 02 09 00 00 T DC 01 00 00 F1 F1 R 00 00 01 00 T DE 01 00 00 @@ -159,15 +159,15 @@ R 00 00 01 00 T DE 01 00 00 R 00 00 01 00 T DE 01 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 +R 00 00 01 00 2B 0B 03 00 T E6 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 02 00 02 0A 00 00 +R 00 00 01 00 02 05 03 00 02 0A 00 00 T ED 01 00 00 6E FE DD 66 FF R 00 00 01 00 T F2 01 00 00 R 00 00 01 00 T F2 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 +R 00 00 01 00 02 05 04 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 diff --git a/src/nos/lib/filesys_lib/newptab.rel b/src/nos/lib/filesys_lib/newptab.rel new file mode 100644 index 00000000..524944f6 --- /dev/null +++ b/src/nos/lib/filesys_lib/newptab.rel @@ -0,0 +1,158 @@ +XL4 +H 3 areas 11 global symbols +S _allocatepid Ref00000000 +S ?BANK_CALL_DIRECT_L08 Ref00000000 +S _rdtime Ref00000000 +S _i_ref Ref00000000 +S _Curptab Ref00000000 +S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S __dprintf Ref00000000 +S ___05f1_1067_newptab_28_29_20ret Ref00000000 +S _Curproc Ref00000000 +S .__.ABS. Def00000000 +S ___05f3_5889_newptab_28_29_20sta Ref00000000 +S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S _Oftab Ref00000000 +S _forkprocess Ref00000000 +S ?CL64180B_4_06_L00 Ref00000000 +S ___05f2_a95a_newptab_28_29_20ret Ref00000000 +A _DEFAULT size 0 flags 0 +A CODE size 186 flags 0 +S _newptab Def00000000 +A UDATA0 size 2 flags 0 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 CD 00 00 00 00 F8 FF 0E +R 00 00 01 00 02 05 0B 00 +T 06 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 +T 0C 00 00 00 21 03 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 06 00 +T 13 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 06 00 02 09 01 00 +T 1A 00 00 00 F1 ED 5B 00 00 00 00 3E +R 00 00 01 00 02 07 04 00 +T 20 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 +T 25 00 00 00 00 00 00 00 DD 75 F8 DD 74 F9 7D +R 00 00 01 00 02 04 01 00 +T 2E 00 00 00 B4 20 31 +R 00 00 01 00 +T 31 00 00 00 +R 00 00 01 00 +T 31 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 08 00 +T 3A 00 00 00 23 66 68 01 08 00 09 4E 23 46 C5 +R 00 00 01 00 +T 45 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 +T 4B 00 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 06 00 +T 53 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 06 00 02 09 01 00 +T 5A 00 00 00 F1 F1 21 00 00 C3 83 01 00 00 +R 00 00 01 00 00 0A 01 00 +T 62 00 00 00 +R 00 00 01 00 +T 62 00 00 00 DD 5E F8 DD 56 F9 3E 00 00 00 00 +R 00 00 01 00 2B 0B 00 00 +T 6A 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 00 00 02 0A 01 00 +T 71 00 00 00 25 00 DD 4E F8 DD 46 F9 09 EB 3E +R 00 00 01 00 +T 7C 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 81 00 00 00 00 00 00 00 21 5D 00 09 AF 77 23 +R 00 00 01 00 02 04 01 00 +T 8A 00 00 00 77 23 77 23 77 21 61 00 09 AF 77 +R 00 00 01 00 +T 95 00 00 00 23 77 23 77 23 77 21 65 00 09 AF +R 00 00 01 00 +T A0 00 00 00 77 23 77 23 77 23 77 21 69 00 09 +R 00 00 01 00 +T AB 00 00 00 AF 77 23 77 23 77 23 77 21 15 00 +R 00 00 01 00 +T B6 00 00 00 09 AF 77 23 77 21 6D 00 09 7E 23 +R 00 00 01 00 +T C1 00 00 00 B6 28 15 +R 00 00 01 00 +T C4 00 00 00 +R 00 00 01 00 +T C4 00 00 00 21 6D 00 DD 4E F8 DD 46 F9 09 5E +R 00 00 01 00 +T CF 00 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 03 00 +T D4 00 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 03 00 02 09 01 00 +T D9 00 00 00 +R 00 00 01 00 +T D9 00 00 00 21 29 00 DD 4E F8 DD 46 F9 09 7E +R 00 00 01 00 +T E4 00 00 00 23 B6 28 15 +R 00 00 01 00 +T E8 00 00 00 +R 00 00 01 00 +T E8 00 00 00 21 29 00 DD 4E F8 DD 46 F9 09 5E +R 00 00 01 00 +T F3 00 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 03 00 +T F8 00 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 03 00 02 09 01 00 +T FD 00 00 00 +R 00 00 01 00 +T FD 00 00 00 AF DD 77 FA DD 77 FB +R 00 00 01 00 +T 04 01 00 00 +R 00 00 01 00 +T 04 01 00 00 01 0A 80 DD 6E FA DD 66 FB 3E 80 +R 00 00 01 00 +T 0F 01 00 00 AC 67 ED 42 30 42 +R 00 00 01 00 +T 15 01 00 00 +R 00 00 01 00 +T 15 01 00 00 DD 6E FA DD 66 FB DD 4E F8 DD 46 +R 00 00 01 00 +T 20 01 00 00 F9 09 01 73 00 09 4E 06 00 DD 71 +R 00 00 01 00 +T 2B 01 00 00 FC DD 70 FD 79 E6 80 57 78 E6 00 +R 00 00 01 00 +T 36 01 00 00 B2 20 14 +R 00 00 01 00 +T 39 01 00 00 +R 00 00 01 00 +T 39 01 00 00 DD 6E FC DD 66 FD 29 01 +R 00 00 01 00 +T 41 01 00 00 00 00 00 00 09 46 23 66 68 01 +R 00 00 01 00 02 04 0C 00 +T 49 01 00 00 07 00 09 34 +R 00 00 01 00 +T 4D 01 00 00 +R 00 00 01 00 +T 4D 01 00 00 DD 34 FA 20 03 DD 34 FB +R 00 00 01 00 +T 55 01 00 00 +R 00 00 01 00 +T 55 01 00 00 18 AD +R 00 00 01 00 +T 57 01 00 00 +R 00 00 01 00 +T 57 01 00 00 DD 6E F8 DD 66 F9 36 03 DD 6E F8 +R 00 00 01 00 +T 62 01 00 00 DD 66 F9 E5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 09 07 00 +T 6A 01 00 00 00 00 00 00 E5 21 03 00 E5 3E +R 00 00 01 00 02 04 07 00 +T 72 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 77 01 00 00 00 00 00 00 F1 F1 F1 F1 DD 6E F8 +R 00 00 01 00 02 04 01 00 +T 80 01 00 00 DD 66 F9 +R 00 00 01 00 +T 83 01 00 00 +R 00 00 01 00 +T 83 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 05 00 +T 00 00 00 00 +R 00 00 02 00 +T 00 00 00 00 +R 00 00 02 00 diff --git a/src/nos/lib/filesys_lib/oft_alloc.rel b/src/nos/lib/filesys_lib/oft_alloc.rel index a69f3bbe..be5e92fb 100644 --- a/src/nos/lib/filesys_lib/oft_alloc.rel +++ b/src/nos/lib/filesys_lib/oft_alloc.rel @@ -86,7 +86,7 @@ T B5 00 00 00 DD 34 FE 18 AB R 00 00 01 00 T BA 00 00 00 R 00 00 01 00 -T BA 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T BA 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 03 00 T C3 00 00 00 23 66 68 01 08 00 09 36 17 23 36 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/oft_deref.rel b/src/nos/lib/filesys_lib/oft_deref.rel index 72fdb455..3307fb5c 100644 --- a/src/nos/lib/filesys_lib/oft_deref.rel +++ b/src/nos/lib/filesys_lib/oft_deref.rel @@ -1,27 +1,26 @@ XL4 -H 2 areas 9 global symbols +H 2 areas 8 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _i_deref Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 -S _free Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _Oftab Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 62 flags 0 +A CODE size 52 flags 0 S _oft_deref Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 26 -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 04 00 T 09 00 00 00 00 29 01 00 00 00 00 09 46 23 66 -R 00 00 01 00 02 07 06 00 +R 00 00 01 00 02 07 05 00 T 12 00 00 00 68 DD 75 FE DD 74 FF 01 07 00 09 R 00 00 01 00 -T 1D 00 00 00 35 46 04 05 20 3C 21 04 00 DD 4E +T 1D 00 00 00 35 46 04 05 20 2C 21 04 00 DD 4E R 00 00 01 00 -T 28 00 00 00 FE DD 46 FF 09 7E 23 B6 28 2D +T 28 00 00 00 FE DD 46 FF 09 7E 23 B6 28 1D R 00 00 01 00 T 32 00 00 00 R 00 00 01 00 @@ -33,15 +32,11 @@ T 32 00 00 00 21 04 00 DD 4E FE DD 46 FF 09 5E R 00 00 01 00 T 3D 00 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 01 00 -T 42 00 00 00 00 00 00 00 CD 00 00 00 00 59 50 +T 42 00 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 01 00 02 09 00 00 -T 49 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 04 00 02 0A 04 00 -T 4F 00 00 00 00 00 00 00 DD 6E 02 26 00 29 01 -R 00 00 01 00 02 04 00 00 -T 58 00 00 00 00 00 00 00 09 AF 77 23 77 -R 00 00 01 00 02 04 06 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 C3 00 00 00 00 +T 48 00 00 00 04 00 09 AF 77 23 77 +R 00 00 01 00 +T 4F 00 00 00 +R 00 00 01 00 +T 4F 00 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/filesys_lib/oftab_garbage.rel b/src/nos/lib/filesys_lib/oftab_garbage.rel new file mode 100644 index 00000000..f650186f --- /dev/null +++ b/src/nos/lib/filesys_lib/oftab_garbage.rel @@ -0,0 +1,60 @@ +XL4 +H 2 areas 8 global symbols +S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S .__.ABS. Def00000000 +S _free Ref00000000 +S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S _Oftab Ref00000000 +S ?CL64180B_4_06_L00 Ref00000000 +A _DEFAULT size 0 flags 0 +A CODE size 67 flags 0 +S _oftab_garbage Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 CD 00 00 00 00 FC FF DD 36 FC +R 00 00 01 00 02 05 04 00 +T 08 00 00 00 00 00 00 00 DD 36 FD 00 00 00 00 +R 00 00 01 00 0B 04 05 00 8B 0B 05 00 +T 0D 00 00 00 +R 00 00 01 00 +T 0D 00 00 00 01 1E 00 00 00 DD 6E FC DD 66 FD +R 00 00 01 00 02 05 05 00 +T 16 00 00 00 A7 ED 42 30 49 +R 00 00 01 00 +T 1B 00 00 00 +R 00 00 01 00 +T 1B 00 00 00 DD 6E FC DD 66 FD 46 23 66 68 DD +R 00 00 01 00 +T 26 00 00 00 75 FE DD 74 FF 7D B4 28 26 21 +R 00 00 01 00 +T 30 00 00 00 07 00 DD 4E FE DD 46 FF 09 7E B7 +R 00 00 01 00 +T 3B 00 00 00 20 18 +R 00 00 01 00 +T 3D 00 00 00 +R 00 00 01 00 +T 3D 00 00 00 +R 00 00 01 00 +T 3D 00 00 00 +R 00 00 01 00 +T 3D 00 00 00 DD 6E FC DD 66 FD AF 77 23 77 DD +R 00 00 01 00 +T 48 00 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 03 00 +T 50 00 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 03 00 02 09 00 00 +T 55 00 00 00 +R 00 00 01 00 +T 55 00 00 00 DD 7E FC C6 02 DD 77 FC 30 03 DD +R 00 00 01 00 +T 60 00 00 00 34 FD +R 00 00 01 00 +T 62 00 00 00 +R 00 00 01 00 +T 62 00 00 00 18 A9 +R 00 00 01 00 +T 64 00 00 00 +R 00 00 01 00 +T 64 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/filesys_lib/open.rel b/src/nos/lib/filesys_lib/open.rel index 5431bdad..daebd59e 100644 --- a/src/nos/lib/filesys_lib/open.rel +++ b/src/nos/lib/filesys_lib/open.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 06 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 06 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 46 23 66 68 01 0C 00 09 DD 4E 0C R 00 00 01 00 @@ -52,7 +52,7 @@ T 91 00 00 00 R 00 00 01 00 T 91 00 00 00 21 2E 00 39 01 02 00 09 DD 75 E0 R 00 00 01 00 -T 9C 00 00 00 DD 74 E1 21 4B 00 ED 4B +T 9C 00 00 00 DD 74 E1 21 4D 00 ED 4B R 00 00 01 00 T A4 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 05 00 @@ -64,13 +64,13 @@ T C2 00 00 00 4E 23 46 E1 71 23 70 18 14 R 00 00 01 00 T CB 00 00 00 R 00 00 01 00 -T CB 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T CB 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T D4 00 00 00 23 66 68 01 0E 00 09 AF 77 23 77 R 00 00 01 00 T DF 00 00 00 R 00 00 01 00 -T DF 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T DF 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 05 00 T E8 00 00 00 23 66 6A 23 23 23 36 14 3E R 00 00 01 00 @@ -80,7 +80,7 @@ T F6 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 08 00 T FB 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 08 00 02 09 00 00 -T 02 01 00 00 DE DD 74 DF 21 4B 00 ED 4B +T 02 01 00 00 DE DD 74 DF 21 4D 00 ED 4B R 00 00 01 00 T 0B 01 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 05 00 @@ -92,15 +92,15 @@ T 24 01 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T 2C 01 00 00 R 00 00 01 00 -T 2C 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T 2C 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T 35 01 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T 35 01 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T 40 01 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 48 01 00 00 R 00 00 01 00 -T 48 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 48 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T 51 01 00 00 77 23 77 DD 6E DE DD 66 DF C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/p_init.rel b/src/nos/lib/filesys_lib/p_init.rel deleted file mode 100644 index e2e42fa6..00000000 --- a/src/nos/lib/filesys_lib/p_init.rel +++ /dev/null @@ -1,71 +0,0 @@ -XL4 -H 2 areas B global symbols -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S _Ptab Ref00000000 -S _memset Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S .__.ABS. Def00000000 -S __panic Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _calloc Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S ___0544_2f09_p_5finit_28_29 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size A2 flags 0 -S _p_init Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF DD 36 FC -R 00 00 01 00 02 05 06 00 -T 08 00 00 00 00 00 00 00 DD 36 FD 00 00 00 00 -R 00 00 01 00 0B 04 01 00 8B 0B 01 00 -T 0D 00 00 00 -R 00 00 01 00 -T 0D 00 00 00 01 02 00 00 00 DD 6E FC DD 66 FD -R 00 00 01 00 02 05 01 00 -T 16 00 00 00 A7 ED 42 30 49 -R 00 00 01 00 -T 1B 00 00 00 -R 00 00 01 00 -T 1B 00 00 00 01 01 00 11 7B 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T 23 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 07 00 02 0A 00 00 -T 2A 00 00 00 75 FE DD 74 FF 7D B4 20 11 -R 00 00 01 00 -T 33 00 00 00 -R 00 00 01 00 -T 33 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 09 00 02 0B 09 00 -T 39 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 -T 3F 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 00 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 DD 6E FE DD 66 FF E5 DD 6E FC DD -R 00 00 01 00 -T 4F 00 00 00 66 FD C1 71 23 70 DD 7E FC C6 02 -R 00 00 01 00 -T 5A 00 00 00 DD 77 FC 30 03 DD 34 FD -R 00 00 01 00 -T 62 00 00 00 -R 00 00 01 00 -T 62 00 00 00 18 A9 -R 00 00 01 00 -T 64 00 00 00 -R 00 00 01 00 -T 64 00 00 00 2A 00 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 02 05 01 00 -T 6D 00 00 00 36 03 21 13 00 DD 4E FE DD 46 FF -R 00 00 01 00 -T 78 00 00 00 09 36 04 21 21 00 09 36 12 23 36 -R 00 00 01 00 -T 83 00 00 00 00 21 0A 00 E5 01 FF FF 21 71 00 -R 00 00 01 00 -T 8E 00 00 00 DD 5E FE DD 56 FF 19 EB 3E -R 00 00 01 00 -T 97 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 9C 00 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 0A 03 00 diff --git a/src/nos/lib/filesys_lib/panic.rel b/src/nos/lib/filesys_lib/panic.rel index 4dfa3601..be7bef01 100644 --- a/src/nos/lib/filesys_lib/panic.rel +++ b/src/nos/lib/filesys_lib/panic.rel @@ -1,7 +1,7 @@ XL4 H 2 areas A global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___002d_e8fc__0apanic_3a_20 Ref00000000 +S ___002e_e8fc__0apanic_3a_20 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 S .__.ABS. Def00000000 diff --git a/src/nos/lib/filesys_lib/ptab_garbage.rel b/src/nos/lib/filesys_lib/ptab_garbage.rel new file mode 100644 index 00000000..3c1499fa --- /dev/null +++ b/src/nos/lib/filesys_lib/ptab_garbage.rel @@ -0,0 +1,58 @@ +XL4 +H 2 areas 8 global symbols +S ?BANK_CALL_DIRECT_L08 Ref00000000 +S _Ptab Ref00000000 +S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S .__.ABS. Def00000000 +S _free Ref00000000 +S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ?CL64180B_4_06_L00 Ref00000000 +A _DEFAULT size 0 flags 0 +A CODE size 63 flags 0 +S _ptab_garbage Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 CD 00 00 00 00 FC FF DD 36 FC +R 00 00 01 00 02 05 05 00 +T 08 00 00 00 00 00 00 00 DD 36 FD 00 00 00 00 +R 00 00 01 00 0B 04 01 00 8B 0B 01 00 +T 0D 00 00 00 +R 00 00 01 00 +T 0D 00 00 00 01 28 00 00 00 DD 6E FC DD 66 FD +R 00 00 01 00 02 05 01 00 +T 16 00 00 00 A7 ED 42 30 45 +R 00 00 01 00 +T 1B 00 00 00 +R 00 00 01 00 +T 1B 00 00 00 DD 6E FC DD 66 FD 46 23 66 68 DD +R 00 00 01 00 +T 26 00 00 00 75 FE DD 74 FF 7D B4 28 22 DD 6E +R 00 00 01 00 +T 31 00 00 00 FE DD 66 FF AF B6 20 18 +R 00 00 01 00 +T 39 00 00 00 +R 00 00 01 00 +T 39 00 00 00 +R 00 00 01 00 +T 39 00 00 00 +R 00 00 01 00 +T 39 00 00 00 DD 6E FC DD 66 FD AF 77 23 77 DD +R 00 00 01 00 +T 44 00 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 04 00 +T 4C 00 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 +T 51 00 00 00 +R 00 00 01 00 +T 51 00 00 00 DD 7E FC C6 02 DD 77 FC 30 03 DD +R 00 00 01 00 +T 5C 00 00 00 34 FD +R 00 00 01 00 +T 5E 00 00 00 +R 00 00 01 00 +T 5E 00 00 00 18 AD +R 00 00 01 00 +T 60 00 00 00 +R 00 00 01 00 +T 60 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/filesys_lib/read.rel b/src/nos/lib/filesys_lib/read.rel index 7866a905..5a04af17 100644 --- a/src/nos/lib/filesys_lib/read.rel +++ b/src/nos/lib/filesys_lib/read.rel @@ -3,8 +3,8 @@ H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _sys_readwrite Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 03 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 90 00 00 00 0E 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 9B 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 9B 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T A4 00 00 00 56 23 66 6A 23 23 23 36 17 3E R 00 00 01 00 @@ -60,7 +60,7 @@ T B3 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 01 00 T B8 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 01 00 02 09 00 00 -T BF 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T BF 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T C8 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -72,15 +72,15 @@ T E1 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T E9 00 00 00 R 00 00 01 00 -T E9 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T E9 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T F2 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T F2 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T FD 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 05 01 00 00 R 00 00 01 00 -T 05 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 05 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T 0E 01 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/readwritei.rel b/src/nos/lib/filesys_lib/readwritei.rel index 116e7f0d..a8545af2 100644 --- a/src/nos/lib/filesys_lib/readwritei.rel +++ b/src/nos/lib/filesys_lib/readwritei.rel @@ -1,12 +1,11 @@ XL4 H 2 areas 1D global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0570_79be_readwritei_28_29_20 Ref00000000 S _bfree Ref00000000 +S ___0649_19fa_readwritei_28_25u_2 Ref00000000 S ?S_V_SWITCH_L06 Ref00000000 S _memcpy Ref00000000 S _isdevice Ref00000000 -S ___0572_67b0_readwritei_28_29_20 Ref00000000 S _cdreadwrite Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 @@ -19,13 +18,14 @@ S _bmap Ref00000000 S ?L_ANDASG_L03 Ref00000000 S _ksignal Ref00000000 S ?SL_CMP_L03 Ref00000000 +S ___064b_94aa_readwritei_28_29_20 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _min_int Ref00000000 +S ___064a_79be_readwritei_28_29_20 Ref00000000 S _usrput Ref00000000 -S ___056f_19fa_readwritei_28_25u_2 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S ?SL_RSH_L03 Ref00000000 -S ___0571_94aa_readwritei_28_29_20 Ref00000000 +S ___064c_67b0_readwritei_28_29_20 Ref00000000 S _zerobuf Ref00000000 S _bread Ref00000000 A _DEFAULT size 0 flags 0 @@ -42,11 +42,11 @@ R 00 00 01 00 T 1F 00 00 00 6E 04 DD 66 05 E5 DD 4E 02 06 00 R 00 00 01 00 T 2A 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 16 00 +R 00 00 01 00 2B 06 02 00 T 2F 00 00 00 00 00 00 00 E5 21 03 00 E5 3E -R 00 00 01 00 02 04 16 00 +R 00 00 01 00 02 04 02 00 T 37 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 +R 00 00 01 00 2B 04 08 00 02 09 08 00 T 3C 00 00 00 00 00 00 00 F1 F1 F1 F1 F1 AF DD R 00 00 01 00 02 04 00 00 T 45 00 00 00 B6 02 28 51 21 09 00 DD 4E 04 DD @@ -59,20 +59,20 @@ T 57 00 00 00 R 00 00 01 00 T 57 00 00 00 R 00 00 01 00 -T 57 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 -R 00 00 01 00 02 09 0C 00 +T 57 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 +R 00 00 01 00 02 09 0B 00 T 60 00 00 00 23 66 6A 11 08 00 19 36 1E 23 36 R 00 00 01 00 -T 6B 00 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 -R 00 00 01 00 02 0A 0C 00 +T 6B 00 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 +R 00 00 01 00 02 0A 0B 00 T 74 00 00 00 46 23 66 68 01 08 00 09 4E 23 46 R 00 00 01 00 T 7F 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 19 00 +R 00 00 01 00 2B 06 12 00 T 84 00 00 00 00 00 00 00 E5 21 03 00 E5 3E -R 00 00 01 00 02 04 19 00 +R 00 00 01 00 02 04 12 00 T 8C 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 +R 00 00 01 00 2B 04 08 00 02 09 08 00 T 91 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 R 00 00 01 00 02 04 00 00 T 98 00 00 00 10 0A 00 00 @@ -97,8 +97,8 @@ T CC 00 00 00 D0 00 00 00 E5 02 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 -R 00 00 01 00 02 09 0C 00 +T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 +R 00 00 01 00 02 09 0B 00 T D9 00 00 00 23 66 6A 11 14 00 19 E5 AF DD B6 R 00 00 01 00 T E4 00 00 00 02 28 1A 0E 01 21 22 00 DD 5E 04 @@ -106,7 +106,7 @@ R 00 00 01 00 T EF 00 00 00 DD 56 05 19 5E 23 56 3E R 00 00 01 00 T F7 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 +R 00 00 01 00 2B 04 06 00 02 09 06 00 T FC 00 00 00 00 00 00 00 EB 18 18 R 00 00 01 00 02 04 00 00 T 01 01 00 00 @@ -114,31 +114,31 @@ R 00 00 01 00 T 01 01 00 00 0E 00 21 22 00 DD 5E 04 DD 56 05 R 00 00 01 00 T 0C 01 00 00 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 07 00 +R 00 00 01 00 2B 09 06 00 T 13 01 00 00 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 04 07 00 02 09 00 00 +R 00 00 01 00 02 04 06 00 02 09 00 00 T 19 01 00 00 R 00 00 01 00 -T 19 01 00 00 E1 73 23 72 21 4B 00 ED 4B +T 19 01 00 00 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 22 01 00 00 00 00 00 00 09 46 23 66 68 01 -R 00 00 01 00 02 04 0C 00 +R 00 00 01 00 02 04 0B 00 T 2A 01 00 00 14 00 09 7E 23 A6 3C 28 27 R 00 00 01 00 T 33 01 00 00 R 00 00 01 00 -T 33 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 -R 00 00 01 00 02 09 0C 00 -T 3C 01 00 00 23 66 6A 11 16 00 19 E5 21 4B 00 +T 33 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 +R 00 00 01 00 02 09 0B 00 +T 3C 01 00 00 23 66 6A 11 16 00 19 E5 21 4D 00 R 00 00 01 00 T 47 01 00 00 09 46 23 66 68 01 14 00 09 5E 23 R 00 00 01 00 T 52 01 00 00 56 01 00 00 E1 CD 00 00 00 00 -R 00 00 01 00 02 0A 0B 00 +R 00 00 01 00 02 0A 0A 00 T 5A 01 00 00 R 00 00 01 00 -T 5A 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T 5A 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T 63 01 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T 6E 01 00 00 21 0A 00 DD 4E 04 DD 46 05 09 7E @@ -146,11 +146,11 @@ R 00 00 01 00 T 79 01 00 00 E6 00 4F 23 7E E6 F0 47 C5 0E R 00 00 01 00 T 83 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 01 00 02 0A 01 00 +R 00 00 01 00 2B 04 15 00 02 0A 15 00 T 89 01 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 09 00 +R 00 00 01 00 2B 09 08 00 T 90 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 09 00 02 09 00 00 +R 00 00 01 00 02 04 08 00 02 09 00 00 T 97 01 00 00 F1 F1 F1 C3 10 0A 00 00 R 00 00 01 00 00 08 01 00 T 9D 01 00 00 @@ -165,8 +165,8 @@ T A6 01 00 00 R 00 00 01 00 T A6 01 00 00 R 00 00 01 00 -T A6 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T A6 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T AF 01 00 00 23 66 68 01 14 00 09 46 23 66 68 R 00 00 01 00 T BA 01 00 00 DD 75 F0 DD 74 F1 AF DD B6 02 C2 @@ -177,10 +177,10 @@ T C7 01 00 00 R 00 00 01 00 T C7 01 00 00 21 12 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 -T D2 01 00 00 23 46 23 5E 23 56 D5 C5 21 4B 00 +T D2 01 00 00 23 46 23 5E 23 56 D5 C5 21 4D 00 R 00 00 01 00 T DD 01 00 00 ED 4B 00 00 00 00 09 46 23 66 68 -R 00 00 01 00 02 06 0C 00 +R 00 00 01 00 02 06 0B 00 T E6 01 00 00 01 16 00 09 4E 23 46 23 5E 23 56 R 00 00 01 00 T F1 01 00 00 69 60 A7 C1 ED 42 EB C1 ED 42 38 @@ -189,12 +189,12 @@ T FC 01 00 00 57 R 00 00 01 00 T FD 01 00 00 R 00 00 01 00 -T FD 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 -R 00 00 01 00 02 09 0C 00 +T FD 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 +R 00 00 01 00 02 09 0B 00 T 06 02 00 00 23 66 6A 11 14 00 19 AF 77 23 77 R 00 00 01 00 -T 11 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T 11 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T 1A 02 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T 25 02 00 00 21 0A 00 DD 4E 04 DD 46 05 09 7E @@ -202,17 +202,17 @@ R 00 00 01 00 T 30 02 00 00 E6 00 4F 23 7E E6 F0 47 C5 0E R 00 00 01 00 T 3A 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 01 00 02 0A 01 00 +R 00 00 01 00 2B 04 15 00 02 0A 15 00 T 40 02 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 09 00 +R 00 00 01 00 2B 09 08 00 T 47 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 09 00 02 09 00 00 +R 00 00 01 00 02 04 08 00 02 09 00 00 T 4E 02 00 00 F1 F1 F1 C3 10 0A 00 00 R 00 00 01 00 00 08 01 00 T 54 02 00 00 R 00 00 01 00 -T 54 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T 54 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T 5D 02 00 00 23 66 68 01 16 00 09 4E 23 46 23 R 00 00 01 00 T 68 02 00 00 5E 23 56 D5 C5 DD 6E F0 DD 66 F1 @@ -224,11 +224,11 @@ R 00 00 01 00 T 89 02 00 00 23 56 23 4E 23 46 EB CD R 00 00 01 00 T 91 02 00 00 00 00 00 00 30 34 -R 00 00 01 00 02 04 12 00 +R 00 00 01 00 02 04 11 00 T 95 02 00 00 R 00 00 01 00 -T 95 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T 95 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T 9E 02 00 00 23 66 68 01 16 00 09 5E 23 56 23 R 00 00 01 00 T A9 02 00 00 4E 23 46 D5 21 12 00 DD 4E 04 DD @@ -239,8 +239,8 @@ T BF 02 00 00 D1 A7 ED 52 DD 75 F0 DD 74 F1 R 00 00 01 00 T C9 02 00 00 R 00 00 01 00 -T C9 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T C9 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T D2 02 00 00 23 66 68 01 14 00 09 DD 4E F0 DD R 00 00 01 00 T DD 02 00 00 46 F1 71 23 70 @@ -259,8 +259,8 @@ T EF 02 00 00 R 00 00 01 00 T EF 02 00 00 R 00 00 01 00 -T EF 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T EF 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T F8 02 00 00 23 66 68 01 14 00 09 46 23 66 68 R 00 00 01 00 T 03 03 00 00 DD 75 F0 DD 74 F1 4D 44 C5 21 @@ -279,16 +279,16 @@ T 35 03 00 00 01 AE 23 B6 20 6D R 00 00 01 00 T 3B 03 00 00 R 00 00 01 00 -T 3B 03 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 -R 00 00 01 00 02 09 0C 00 +T 3B 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 +R 00 00 01 00 02 09 0B 00 T 44 03 00 00 23 66 6A 11 14 00 19 36 FF 23 36 R 00 00 01 00 -T 4F 03 00 00 FF 21 4B 00 ED 4B 00 00 00 00 09 -R 00 00 01 00 02 0A 0C 00 +T 4F 03 00 00 FF 21 4D 00 ED 4B 00 00 00 00 09 +R 00 00 01 00 02 0A 0B 00 T 58 03 00 00 56 23 66 6A 11 08 00 19 36 20 23 R 00 00 01 00 -T 63 03 00 00 36 00 21 4B 00 ED 4B 00 00 00 00 -R 00 00 01 00 02 0B 0C 00 +T 63 03 00 00 36 00 21 4D 00 ED 4B 00 00 00 00 +R 00 00 01 00 02 0B 0B 00 T 6C 03 00 00 09 46 23 66 68 01 08 00 09 4E 23 R 00 00 01 00 T 77 03 00 00 46 C5 21 0A 00 DD 4E 04 DD 46 05 @@ -296,19 +296,19 @@ R 00 00 01 00 T 82 03 00 00 09 7E E6 00 4F 23 7E E6 F0 47 C5 R 00 00 01 00 T 8D 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 15 00 02 0B 15 00 T 93 03 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 09 00 +R 00 00 01 00 2B 0A 08 00 T 9B 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 09 00 02 09 00 00 +R 00 00 01 00 02 04 08 00 02 09 00 00 T A2 03 00 00 F1 F1 F1 C3 10 0A 00 00 R 00 00 01 00 00 08 01 00 T A8 03 00 00 R 00 00 01 00 T A8 03 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 +R 00 00 01 00 2B 0B 0D 00 T B0 03 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 0E 00 02 0A 00 00 +R 00 00 01 00 02 05 0D 00 02 0A 00 00 T B7 03 00 00 EF 02 00 00 R 00 00 01 00 00 04 01 00 T B9 03 00 00 @@ -336,9 +336,9 @@ R 00 00 01 00 T E5 03 00 00 R 00 00 01 00 T E5 03 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 +R 00 00 01 00 2B 0B 0D 00 T ED 03 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 0E 00 02 0A 00 00 +R 00 00 01 00 02 05 0D 00 02 0A 00 00 T F4 03 00 00 C7 R 00 00 01 00 T F5 03 00 00 @@ -347,16 +347,16 @@ T F5 03 00 00 21 12 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 T 00 04 00 00 23 56 23 4E 23 46 EB 4D 44 21 R 00 00 01 00 -T 0A 04 00 00 4B 00 ED 5B 00 00 00 00 19 7E 23 -R 00 00 01 00 02 08 0C 00 +T 0A 04 00 00 4D 00 ED 5B 00 00 00 00 19 7E 23 +R 00 00 01 00 02 08 0B 00 T 13 04 00 00 66 6F 11 14 00 19 5E 23 56 3E R 00 00 01 00 T 1D 04 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T 22 04 00 00 00 00 00 00 DD 75 F0 DD 74 F1 21 R 00 00 01 00 02 04 00 00 -T 2B 04 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 -R 00 00 01 00 02 08 0C 00 +T 2B 04 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 +R 00 00 01 00 02 08 0B 00 T 34 04 00 00 66 68 01 14 00 09 DD 4E F0 DD 46 R 00 00 01 00 T 3F 04 00 00 F1 71 23 70 18 2E @@ -367,8 +367,8 @@ T 45 04 00 00 21 22 00 DD 4E 04 DD 46 05 09 46 R 00 00 01 00 T 50 04 00 00 23 66 68 DD 75 FC DD 74 FD 21 R 00 00 01 00 -T 5A 04 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 -R 00 00 01 00 02 08 0C 00 +T 5A 04 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 +R 00 00 01 00 02 08 0B 00 T 63 04 00 00 66 68 01 14 00 09 46 23 66 68 DD R 00 00 01 00 T 6E 04 00 00 75 F0 DD 74 F1 @@ -381,16 +381,16 @@ T 73 04 00 00 DD 7E F0 DD B6 F1 CA 13 09 00 00 R 00 00 01 00 00 0B 01 00 T 7C 04 00 00 R 00 00 01 00 -T 7C 04 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 -R 00 00 01 00 02 09 0C 00 +T 7C 04 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 +R 00 00 01 00 02 09 0B 00 T 85 04 00 00 23 66 6A 11 16 00 19 5E 23 56 23 R 00 00 01 00 T 90 04 00 00 4E 23 46 EB 3E 09 CD 00 00 00 00 R 00 00 01 00 02 0B 18 00 -T 99 04 00 00 DD 75 F2 DD 74 F3 21 4B 00 ED 4B +T 99 04 00 00 DD 75 F2 DD 74 F3 21 4D 00 ED 4B R 00 00 01 00 T A4 04 00 00 00 00 00 00 09 46 23 66 68 01 -R 00 00 01 00 02 04 0C 00 +R 00 00 01 00 02 04 0B 00 T AC 04 00 00 16 00 09 5E 23 56 23 4E 23 46 EB R 00 00 01 00 T B7 04 00 00 7D E6 FF 4F 7C E6 01 47 DD 71 F4 @@ -408,9 +408,9 @@ R 00 00 01 00 T D0 04 00 00 4F C5 DD 4E F2 DD 46 F3 DD 5E 04 R 00 00 01 00 T DB 04 00 00 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0F 00 +R 00 00 01 00 2B 08 0E 00 T E1 04 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 0F 00 02 09 00 00 +R 00 00 01 00 02 04 0E 00 02 09 00 00 T E8 04 00 00 75 FA DD 74 FB AF DD B6 02 C2 R 00 00 01 00 T F2 04 00 00 AB 05 00 00 @@ -441,22 +441,22 @@ T 33 05 00 00 DD 75 F8 DD 74 F9 7D B4 20 6E R 00 00 01 00 T 3D 05 00 00 R 00 00 01 00 -T 3D 05 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T 3D 05 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T 46 05 00 00 23 66 68 01 08 00 09 3E 0E AE 23 R 00 00 01 00 T 51 05 00 00 B6 20 14 R 00 00 01 00 T 54 05 00 00 R 00 00 01 00 -T 54 05 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T 54 05 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T 5D 05 00 00 23 66 68 01 08 00 09 AF 77 23 77 R 00 00 01 00 T 68 05 00 00 R 00 00 01 00 -T 68 05 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T 68 05 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T 71 05 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T 7C 05 00 00 21 0A 00 DD 4E 04 DD 46 05 09 7E @@ -464,11 +464,11 @@ R 00 00 01 00 T 87 05 00 00 E6 00 4F 23 7E E6 F0 47 C5 0E R 00 00 01 00 T 91 05 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 01 00 02 0A 01 00 +R 00 00 01 00 2B 04 15 00 02 0A 15 00 T 97 05 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 09 00 +R 00 00 01 00 2B 09 08 00 T 9E 05 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 09 00 02 09 00 00 +R 00 00 01 00 02 04 08 00 02 09 00 00 T A5 05 00 00 F1 F1 F1 C3 10 0A 00 00 R 00 00 01 00 00 08 01 00 T AB 05 00 00 @@ -525,8 +525,8 @@ T 19 06 00 00 75 F8 DD 74 F9 7D B4 20 43 R 00 00 01 00 T 22 06 00 00 R 00 00 01 00 -T 22 06 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T 22 06 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T 2B 06 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T 36 06 00 00 21 0A 00 DD 4E 04 DD 46 05 09 7E @@ -534,21 +534,21 @@ R 00 00 01 00 T 41 06 00 00 E6 00 4F 23 7E E6 F0 47 C5 0E R 00 00 01 00 T 4B 06 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 01 00 02 0A 01 00 +R 00 00 01 00 2B 04 15 00 02 0A 15 00 T 51 06 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 09 00 +R 00 00 01 00 2B 09 08 00 T 58 06 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 09 00 02 09 00 00 +R 00 00 01 00 02 04 08 00 02 09 00 00 T 5F 06 00 00 F1 F1 F1 C3 10 0A 00 00 R 00 00 01 00 00 08 01 00 T 65 06 00 00 R 00 00 01 00 -T 65 06 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T 65 06 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T 6E 06 00 00 23 66 68 01 1C 00 09 7E B7 20 1C R 00 00 01 00 -T 79 06 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T 79 06 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T 82 06 00 00 23 66 68 01 12 00 09 46 23 66 68 R 00 00 01 00 T 8D 06 00 00 01 00 80 A7 ED 42 30 33 @@ -559,10 +559,10 @@ T 95 06 00 00 R 00 00 01 00 T 95 06 00 00 R 00 00 01 00 -T 95 06 00 00 DD 6E EE DD 66 EF E5 21 4B 00 ED +T 95 06 00 00 DD 6E EE DD 66 EF E5 21 4D 00 ED R 00 00 01 00 T A0 06 00 00 4B 00 00 00 00 09 46 23 66 68 01 -R 00 00 01 00 02 05 0C 00 +R 00 00 01 00 02 05 0B 00 T A9 06 00 00 12 00 09 4E 23 46 DD 6E F4 DD 66 R 00 00 01 00 T B4 06 00 00 F5 DD 5E F8 DD 56 F9 19 EB 3E @@ -573,16 +573,16 @@ T C3 06 00 00 00 00 00 00 F1 18 31 R 00 00 01 00 02 04 00 00 T C8 06 00 00 R 00 00 01 00 -T C8 06 00 00 DD 6E EE DD 66 EF E5 21 4B 00 ED +T C8 06 00 00 DD 6E EE DD 66 EF E5 21 4D 00 ED R 00 00 01 00 T D3 06 00 00 4B 00 00 00 00 09 46 23 66 68 01 -R 00 00 01 00 02 05 0C 00 +R 00 00 01 00 02 05 0B 00 T DC 06 00 00 12 00 09 4E 23 46 DD 6E F4 DD 66 R 00 00 01 00 T E7 06 00 00 F5 DD 5E F8 DD 56 F9 19 EB 3E R 00 00 01 00 T F1 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 09 00 02 09 09 00 T F6 06 00 00 00 00 00 00 F1 R 00 00 01 00 02 04 00 00 T F9 06 00 00 @@ -590,13 +590,13 @@ R 00 00 01 00 T F9 06 00 00 0E 02 DD 5E F8 DD 56 F9 3E R 00 00 01 00 T 02 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 +R 00 00 01 00 2B 04 01 00 02 09 01 00 T 07 07 00 00 00 00 00 00 CB 7C 28 43 R 00 00 01 00 02 04 00 00 T 0D 07 00 00 R 00 00 01 00 -T 0D 07 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T 0D 07 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T 16 07 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T 21 07 00 00 21 0A 00 DD 4E 04 DD 46 05 09 7E @@ -604,11 +604,11 @@ R 00 00 01 00 T 2C 07 00 00 E6 00 4F 23 7E E6 F0 47 C5 0E R 00 00 01 00 T 36 07 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 01 00 02 0A 01 00 +R 00 00 01 00 2B 04 15 00 02 0A 15 00 T 3C 07 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 09 00 +R 00 00 01 00 2B 09 08 00 T 43 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 09 00 02 09 00 00 +R 00 00 01 00 02 04 08 00 02 09 00 00 T 4A 07 00 00 F1 F1 F1 C3 10 0A 00 00 R 00 00 01 00 00 08 01 00 T 50 07 00 00 @@ -617,12 +617,12 @@ T 50 07 00 00 C3 40 08 00 00 R 00 00 01 00 00 05 01 00 T 53 07 00 00 R 00 00 01 00 -T 53 07 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T 53 07 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T 5C 07 00 00 23 66 68 01 1C 00 09 7E B7 20 1C R 00 00 01 00 -T 67 07 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T 67 07 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T 70 07 00 00 23 66 68 01 12 00 09 46 23 66 68 R 00 00 01 00 T 7B 07 00 00 01 00 80 A7 ED 42 30 34 @@ -637,8 +637,8 @@ T 83 07 00 00 DD 6E EE DD 66 EF E5 DD 6E F4 DD R 00 00 01 00 T 8E 07 00 00 66 F5 DD 4E F8 DD 46 F9 09 4D 44 R 00 00 01 00 -T 99 07 00 00 21 4B 00 ED 5B 00 00 00 00 19 56 -R 00 00 01 00 02 09 0C 00 +T 99 07 00 00 21 4D 00 ED 5B 00 00 00 00 19 56 +R 00 00 01 00 02 09 0B 00 T A2 07 00 00 23 66 6A 11 12 00 19 5E 23 56 3E R 00 00 01 00 T AD 07 00 00 00 00 00 00 21 00 00 00 00 CD @@ -651,12 +651,12 @@ T B7 07 00 00 DD 6E EE DD 66 EF E5 DD 6E F4 DD R 00 00 01 00 T C2 07 00 00 66 F5 DD 4E F8 DD 46 F9 09 4D 44 R 00 00 01 00 -T CD 07 00 00 21 4B 00 ED 5B 00 00 00 00 19 56 -R 00 00 01 00 02 09 0C 00 +T CD 07 00 00 21 4D 00 ED 5B 00 00 00 00 19 56 +R 00 00 01 00 02 09 0B 00 T D6 07 00 00 23 66 6A 11 12 00 19 5E 23 56 3E R 00 00 01 00 T E1 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 15 00 02 09 15 00 +R 00 00 01 00 2B 04 16 00 02 09 16 00 T E6 07 00 00 00 00 00 00 F1 R 00 00 01 00 02 04 00 00 T E9 07 00 00 @@ -664,13 +664,13 @@ R 00 00 01 00 T E9 07 00 00 0E 00 DD 5E F8 DD 56 F9 3E R 00 00 01 00 T F2 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 +R 00 00 01 00 2B 04 01 00 02 09 01 00 T F7 07 00 00 00 00 00 00 CB 7C 28 43 R 00 00 01 00 02 04 00 00 T FD 07 00 00 R 00 00 01 00 -T FD 07 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T FD 07 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T 06 08 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T 11 08 00 00 21 0A 00 DD 4E 04 DD 46 05 09 7E @@ -678,20 +678,20 @@ R 00 00 01 00 T 1C 08 00 00 E6 00 4F 23 7E E6 F0 47 C5 0E R 00 00 01 00 T 26 08 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 01 00 02 0A 01 00 +R 00 00 01 00 2B 04 15 00 02 0A 15 00 T 2C 08 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 09 00 +R 00 00 01 00 2B 09 08 00 T 33 08 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 09 00 02 09 00 00 +R 00 00 01 00 02 04 08 00 02 09 00 00 T 3A 08 00 00 F1 F1 F1 C3 10 0A 00 00 R 00 00 01 00 00 08 01 00 T 40 08 00 00 R 00 00 01 00 T 40 08 00 00 R 00 00 01 00 -T 40 08 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 -R 00 00 01 00 02 09 0C 00 -T 49 08 00 00 23 66 6A 11 12 00 19 E5 21 4B 00 +T 40 08 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 +R 00 00 01 00 02 09 0B 00 +T 49 08 00 00 23 66 6A 11 12 00 19 E5 21 4D 00 R 00 00 01 00 T 54 08 00 00 09 56 23 66 6A 11 12 00 19 56 23 R 00 00 01 00 @@ -699,14 +699,14 @@ T 5F 08 00 00 66 6A DD 5E EE DD 56 EF 19 4D 44 R 00 00 01 00 T 6A 08 00 00 E1 71 23 70 21 08 00 39 7E 83 77 R 00 00 01 00 -T 75 08 00 00 23 7E 8A 77 21 4B 00 ED 4B +T 75 08 00 00 23 7E 8A 77 21 4D 00 ED 4B R 00 00 01 00 T 7E 08 00 00 00 00 00 00 09 46 23 66 68 01 -R 00 00 01 00 02 04 0C 00 +R 00 00 01 00 02 04 0B 00 T 86 08 00 00 16 00 09 DD 5E EE DD 56 EF 01 R 00 00 01 00 T 90 08 00 00 00 00 CD 00 00 00 00 21 02 00 39 -R 00 00 01 00 02 07 0B 00 +R 00 00 01 00 02 07 0A 00 T 99 08 00 00 7E DD 96 EE 77 23 7E DD 9E EF 77 R 00 00 01 00 T A4 08 00 00 AF DD B6 FE 28 66 @@ -719,12 +719,12 @@ T B5 08 00 00 42 38 19 R 00 00 01 00 T B8 08 00 00 R 00 00 01 00 -T B8 08 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T B8 08 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T C1 08 00 00 23 66 68 01 16 00 09 01 00 00 11 R 00 00 01 00 T CC 08 00 00 FF 01 CD 00 00 00 00 -R 00 00 01 00 02 07 10 00 +R 00 00 01 00 02 07 0F 00 T D1 08 00 00 R 00 00 01 00 T D1 08 00 00 21 12 00 DD 4E 04 DD 46 05 09 AF @@ -742,19 +742,19 @@ R 00 00 01 00 T FC 08 00 00 R 00 00 01 00 T FC 08 00 00 CD 00 00 00 00 01 00 00 DD 5E 04 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0A 00 T 05 09 00 00 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 11 00 +R 00 00 01 00 2B 08 10 00 T 0B 09 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 11 00 02 09 00 00 +R 00 00 01 00 02 04 10 00 02 09 00 00 T 10 09 00 00 R 00 00 01 00 T 10 09 00 00 C3 73 04 00 00 R 00 00 01 00 00 05 01 00 T 13 09 00 00 R 00 00 01 00 -T 13 09 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T 13 09 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T 1C 09 00 00 23 66 68 01 14 00 09 DD 4E F6 DD R 00 00 01 00 T 27 09 00 00 46 F7 71 23 70 AF DD B6 02 28 6B @@ -767,8 +767,8 @@ T 38 09 00 00 R 00 00 01 00 T 38 09 00 00 R 00 00 01 00 -T 38 09 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T 38 09 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T 41 09 00 00 23 66 68 01 16 00 09 4E 23 46 23 R 00 00 01 00 T 4C 09 00 00 5E 23 56 D5 C5 21 12 00 DD 4E 04 @@ -776,11 +776,11 @@ R 00 00 01 00 T 57 09 00 00 DD 46 05 09 5E 23 56 23 4E 23 46 R 00 00 01 00 T 62 09 00 00 EB CD 00 00 00 00 30 35 -R 00 00 01 00 02 06 12 00 +R 00 00 01 00 02 06 11 00 T 68 09 00 00 R 00 00 01 00 -T 68 09 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T 68 09 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T 71 09 00 00 23 66 68 01 16 00 09 5E 23 56 23 R 00 00 01 00 T 7C 09 00 00 4E 23 46 EB E5 21 12 00 DD 5E 04 @@ -794,48 +794,48 @@ R 00 00 01 00 T 9D 09 00 00 R 00 00 01 00 T 9D 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 06 00 02 0B 06 00 +R 00 00 01 00 2B 05 19 00 02 0B 19 00 T A3 09 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 09 00 +R 00 00 01 00 2B 0A 08 00 T AB 09 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 09 00 02 09 00 00 +R 00 00 01 00 02 04 08 00 02 09 00 00 T B2 09 00 00 F1 18 5B R 00 00 01 00 T B5 09 00 00 R 00 00 01 00 T B5 09 00 00 R 00 00 01 00 -T B5 09 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T B5 09 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T BE 09 00 00 23 66 68 01 08 00 09 36 13 23 36 R 00 00 01 00 T C9 09 00 00 00 AF DD B6 02 20 15 R 00 00 01 00 T D0 09 00 00 R 00 00 01 00 -T D0 09 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T D0 09 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T D9 09 00 00 23 66 68 01 14 00 09 36 FF 23 36 R 00 00 01 00 T E4 09 00 00 FF R 00 00 01 00 T E5 09 00 00 R 00 00 01 00 -T E5 09 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0C 00 +T E5 09 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0B 00 T EE 09 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T F9 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 19 00 02 0B 19 00 +R 00 00 01 00 2B 05 12 00 02 0B 12 00 T FF 09 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 09 00 +R 00 00 01 00 2B 0A 08 00 T 07 0A 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 09 00 02 09 00 00 +R 00 00 01 00 02 04 08 00 02 09 00 00 T 0E 0A 00 00 F1 F1 R 00 00 01 00 T 10 0A 00 00 R 00 00 01 00 T 10 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 07 00 T 13 0A 00 00 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/rwsetup.rel b/src/nos/lib/filesys_lib/rwsetup.rel index c0bf10d4..72ddfcc1 100644 --- a/src/nos/lib/filesys_lib/rwsetup.rel +++ b/src/nos/lib/filesys_lib/rwsetup.rel @@ -1,17 +1,17 @@ XL4 H 2 areas E global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0676_7f24_rwsetup_28_29_20ret Ref00000000 +S ___0675_de1b_rwsetup_28_25u_2c_2 Ref00000000 S _getinode Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 -S ___059d_d9aa_rwsetup_28_29_20ret Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 +S ___0677_d9aa_rwsetup_28_29_20ret Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _Oftab Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___059c_7f24_rwsetup_28_29_20ret Ref00000000 -S ___059b_de1b_rwsetup_28_25u_2c_2 Ref00000000 S _setftim Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 184 flags 0 @@ -19,49 +19,49 @@ S _rwsetup Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF DD 5E 0C 16 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 09 00 T 09 00 00 00 00 D5 DD 6E 0A DD 66 0B E5 C5 DD R 00 00 01 00 T 14 00 00 00 4E 02 06 00 C5 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 0B 00 +R 00 00 01 00 2B 0A 02 00 T 1C 00 00 00 21 00 00 00 00 E5 21 03 00 E5 3E -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 02 00 T 25 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T 2A 00 00 00 00 00 00 00 EB 21 0E 00 39 F9 EB R 00 00 01 00 02 04 00 00 T 33 00 00 00 DD 5E 02 16 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 01 00 +R 00 00 01 00 2B 0A 03 00 T 3B 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 01 00 02 09 00 00 +R 00 00 01 00 02 04 03 00 02 09 00 00 T 42 00 00 00 FC DD 74 FD 7D B4 20 31 R 00 00 01 00 T 4A 00 00 00 R 00 00 01 00 T 4A 00 00 00 R 00 00 01 00 -T 4A 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 05 00 +T 4A 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 06 00 T 53 00 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T 5E 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 04 00 02 0B 04 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 T 64 00 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 03 00 +R 00 00 01 00 2B 0A 05 00 T 6C 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 02 09 00 00 +R 00 00 01 00 02 04 05 00 02 09 00 00 T 73 00 00 00 F1 F1 21 00 00 C3 81 01 00 00 R 00 00 01 00 00 0A 01 00 T 7B 00 00 00 R 00 00 01 00 -T 7B 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E -R 00 00 01 00 02 09 05 00 +T 7B 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E +R 00 00 01 00 02 09 06 00 T 84 00 00 00 23 66 6F 46 23 66 68 DD 4E 02 06 R 00 00 01 00 -T 8F 00 00 00 00 09 01 71 00 09 6E 26 00 29 01 +T 8F 00 00 00 00 09 01 73 00 09 6E 26 00 29 01 R 00 00 01 00 T 9A 00 00 00 00 00 00 00 09 46 23 66 68 DD 75 -R 00 00 01 00 02 04 08 00 +R 00 00 01 00 02 04 0A 00 T A3 00 00 00 FE DD 74 FF AF DD B6 0C 28 04 06 R 00 00 01 00 T AE 00 00 00 01 18 02 @@ -78,8 +78,8 @@ T BE 00 00 00 B8 20 18 R 00 00 01 00 T C1 00 00 00 R 00 00 01 00 -T C1 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 05 00 +T C1 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 06 00 T CA 00 00 00 23 66 68 01 08 00 09 36 0D 23 36 R 00 00 01 00 T D5 00 00 00 00 C3 4A 00 00 00 @@ -98,34 +98,34 @@ T E5 00 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 R 00 00 01 00 2B 0B 0C 00 T ED 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 0C 00 02 0A 00 00 -T F4 00 00 00 4B 00 ED 4B 00 00 00 00 09 56 23 -R 00 00 01 00 02 08 05 00 +T F4 00 00 00 4D 00 ED 4B 00 00 00 00 09 56 23 +R 00 00 01 00 02 08 06 00 T FD 00 00 00 66 6A 11 16 00 19 E5 DD 6E FE DD R 00 00 01 00 T 08 01 00 00 66 FF 5E 23 56 23 4E 23 46 E1 73 R 00 00 01 00 -T 13 01 00 00 23 72 23 71 23 70 21 4B 00 ED 4B +T 13 01 00 00 23 72 23 71 23 70 21 4D 00 ED 4B R 00 00 01 00 T 1E 01 00 00 00 00 00 00 09 56 23 66 6A 11 -R 00 00 01 00 02 04 05 00 +R 00 00 01 00 02 04 06 00 T 26 01 00 00 12 00 19 DD 5E 04 DD 56 05 73 23 R 00 00 01 00 -T 31 01 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 -R 00 00 01 00 02 0A 05 00 +T 31 01 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 +R 00 00 01 00 02 0A 06 00 T 3A 01 00 00 56 23 66 6A 11 14 00 19 DD 5E 0A R 00 00 01 00 -T 45 01 00 00 DD 56 0B 73 23 72 21 4B 00 ED 4B +T 45 01 00 00 DD 56 0B 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 50 01 00 00 00 00 00 00 09 46 23 66 68 01 -R 00 00 01 00 02 04 05 00 +R 00 00 01 00 02 04 06 00 T 58 01 00 00 1C 00 09 36 00 DD 6E FC DD 66 FD R 00 00 01 00 T 63 01 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 0A 00 +R 00 00 01 00 2B 06 01 00 T 68 01 00 00 00 00 00 00 E5 21 03 00 E5 3E -R 00 00 01 00 02 04 0A 00 +R 00 00 01 00 02 04 01 00 T 70 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T 75 01 00 00 00 00 00 00 F1 F1 F1 F1 DD 6E FC R 00 00 01 00 02 04 00 00 T 7E 01 00 00 DD 66 FD @@ -133,4 +133,4 @@ R 00 00 01 00 T 81 01 00 00 R 00 00 01 00 T 81 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/filesys_lib/scall1_getfsys.rel b/src/nos/lib/filesys_lib/scall1_getfsys.rel index 45c70be6..a5a7859e 100644 --- a/src/nos/lib/filesys_lib/scall1_getfsys.rel +++ b/src/nos/lib/filesys_lib/scall1_getfsys.rel @@ -1,8 +1,7 @@ XL4 -H 3 areas 10 global symbols +H 3 areas F global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?S_S_SWITCH_L06 Ref00000000 -S _Ptab Ref00000000 S _memcpy Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Bufpool Ref00000000 @@ -16,32 +15,32 @@ S _Fstab Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _findfs Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 1BA flags 0 +A CODE size 1B9 flags 0 S _scall1_getfsys Def00000000 A CSTR size 22 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF DD 5E 02 DD -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0A 00 T 09 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0E 00 +R 00 00 01 00 2B 07 0D 00 T 0E 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 0E 00 02 09 00 00 +R 00 00 01 00 02 04 0D 00 02 09 00 00 T 15 00 00 00 FA DD 74 FB DD 75 FC DD 74 FD DD R 00 00 01 00 T 20 00 00 00 36 FE 1E DD 36 FF 00 DD 7E FA DD R 00 00 01 00 -T 2B 00 00 00 B6 FB C2 92 01 00 00 +T 2B 00 00 00 B6 FB C2 91 01 00 00 R 00 00 01 00 00 07 01 00 T 30 00 00 00 R 00 00 01 00 T 30 00 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 R 00 00 01 00 02 0B 01 00 -T 39 00 00 00 F8 FF 08 00 56 01 00 00 +T 39 00 00 00 F8 FF 08 00 55 01 00 00 R 00 00 01 00 00 08 01 00 -T 3F 00 00 00 D9 00 00 00 56 01 00 00 +T 3F 00 00 00 D8 00 00 00 55 01 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 43 00 00 00 B8 00 00 00 9B 00 00 00 +T 43 00 00 00 B7 00 00 00 9A 00 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 T 47 00 00 00 4F 00 00 00 75 00 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 @@ -52,125 +51,123 @@ R 00 00 01 00 T 4F 00 00 00 DD 36 FE 01 DD 36 FF 00 DD 36 FC R 00 00 01 00 T 5A 00 00 00 00 00 00 00 DD 36 FD 00 00 00 00 -R 00 00 01 00 0B 04 0C 00 8B 0B 0C 00 -T 5F 00 00 00 C3 70 01 00 00 +R 00 00 01 00 0B 04 0B 00 8B 0B 0B 00 +T 5F 00 00 00 C3 6F 01 00 00 R 00 00 01 00 00 05 01 00 T 62 00 00 00 R 00 00 01 00 T 62 00 00 00 DD 36 FE 05 DD 36 FF 00 DD 36 FC R 00 00 01 00 T 6D 00 00 00 00 00 00 00 DD 36 FD 00 00 00 00 -R 00 00 01 00 0B 04 06 00 8B 0B 06 00 -T 72 00 00 00 C3 70 01 00 00 +R 00 00 01 00 0B 04 05 00 8B 0B 05 00 +T 72 00 00 00 C3 6F 01 00 00 R 00 00 01 00 00 05 01 00 T 75 00 00 00 R 00 00 01 00 T 75 00 00 00 DD 36 FE 03 DD 36 FF 00 DD 36 FC R 00 00 01 00 T 80 00 00 00 00 00 00 00 DD 36 FD 00 00 00 00 -R 00 00 01 00 0B 04 05 00 8B 0B 05 00 -T 85 00 00 00 C3 70 01 00 00 +R 00 00 01 00 0B 04 04 00 8B 0B 04 00 +T 85 00 00 00 C3 6F 01 00 00 R 00 00 01 00 00 05 01 00 T 88 00 00 00 R 00 00 01 00 -T 88 00 00 00 DD 36 FE 01 DD 36 FF 00 DD 36 FC +T 88 00 00 00 DD 36 FE 14 DD 36 FF 00 AF DD 77 R 00 00 01 00 -T 93 00 00 00 00 00 00 00 DD 36 FD 00 00 00 00 -R 00 00 01 00 0B 04 02 00 8B 0B 02 00 -T 98 00 00 00 C3 70 01 00 00 -R 00 00 01 00 00 05 01 00 -T 9B 00 00 00 +T 93 00 00 00 FC DD 77 FD C3 6F 01 00 00 +R 00 00 01 00 00 09 01 00 +T 9A 00 00 00 R 00 00 01 00 -T 9B 00 00 00 DD 36 FE 01 DD 36 FF 00 21 4B 00 +T 9A 00 00 00 DD 36 FE 01 DD 36 FF 00 21 4D 00 R 00 00 01 00 -T A6 00 00 00 ED 4B 00 00 00 00 09 46 23 66 68 -R 00 00 01 00 02 06 07 00 -T AF 00 00 00 DD 75 FC DD 74 FD C3 70 01 00 00 +T A5 00 00 00 ED 4B 00 00 00 00 09 46 23 66 68 +R 00 00 01 00 02 06 06 00 +T AE 00 00 00 DD 75 FC DD 74 FD C3 6F 01 00 00 R 00 00 01 00 00 0B 01 00 -T B8 00 00 00 +T B7 00 00 00 R 00 00 01 00 -T B8 00 00 00 DD 36 FE 01 DD 36 FF 00 21 4B 00 +T B7 00 00 00 DD 36 FE 01 DD 36 FF 00 21 4D 00 R 00 00 01 00 -T C3 00 00 00 ED 4B 00 00 00 00 09 7E 23 66 6F -R 00 00 01 00 02 06 07 00 -T CC 00 00 00 46 23 66 68 DD 75 FC DD 74 FD C3 +T C2 00 00 00 ED 4B 00 00 00 00 09 7E 23 66 6F +R 00 00 01 00 02 06 06 00 +T CB 00 00 00 46 23 66 68 DD 75 FC DD 74 FD C3 R 00 00 01 00 -T D7 00 00 00 70 01 00 00 +T D6 00 00 00 6F 01 00 00 R 00 00 01 00 00 04 01 00 -T D9 00 00 00 +T D8 00 00 00 R 00 00 01 00 -T D9 00 00 00 21 0E 00 E5 01 00 00 00 00 11 +T D8 00 00 00 21 0E 00 E5 01 00 00 00 00 11 R 00 00 01 00 00 09 02 00 -T E1 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 2B 09 03 00 -T E6 00 00 00 00 00 00 00 CD 00 00 00 00 F1 21 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T ED 00 00 00 08 00 E5 01 05 00 00 00 11 +T E0 00 00 00 00 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 02 04 09 00 2B 09 02 00 +T E5 00 00 00 00 00 00 00 CD 00 00 00 00 F1 21 +R 00 00 01 00 02 04 02 00 02 09 00 00 +T EC 00 00 00 08 00 E5 01 05 00 00 00 11 R 00 00 01 00 00 08 02 00 -T F4 00 00 00 0E 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 2B 09 03 00 -T F9 00 00 00 00 00 00 00 CD 00 00 00 00 F1 21 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T 00 01 00 00 08 00 E5 01 0D 00 00 00 11 +T F3 00 00 00 0E 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 02 04 09 00 2B 09 02 00 +T F8 00 00 00 00 00 00 00 CD 00 00 00 00 F1 21 +R 00 00 01 00 02 04 02 00 02 09 00 00 +T FF 00 00 00 08 00 E5 01 0D 00 00 00 11 R 00 00 01 00 00 08 02 00 -T 07 01 00 00 16 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 2B 09 03 00 -T 0C 01 00 00 00 00 00 00 CD 00 00 00 00 F1 21 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T 13 01 00 00 0E 00 E5 01 15 00 00 00 11 +T 06 01 00 00 16 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 02 04 09 00 2B 09 02 00 +T 0B 01 00 00 00 00 00 00 CD 00 00 00 00 F1 21 +R 00 00 01 00 02 04 02 00 02 09 00 00 +T 12 01 00 00 0E 00 E5 01 15 00 00 00 11 R 00 00 01 00 00 08 02 00 -T 1A 01 00 00 1E 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 2B 09 03 00 -T 1F 01 00 00 00 00 00 00 CD 00 00 00 00 F1 21 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T 26 01 00 00 08 00 E5 01 1A 00 00 00 11 +T 19 01 00 00 1E 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 02 04 09 00 2B 09 02 00 +T 1E 01 00 00 00 00 00 00 CD 00 00 00 00 F1 21 +R 00 00 01 00 02 04 02 00 02 09 00 00 +T 25 01 00 00 08 00 E5 01 1A 00 00 00 11 R 00 00 01 00 00 08 02 00 -T 2D 01 00 00 2C 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 2B 09 03 00 -T 32 01 00 00 00 00 00 00 CD 00 00 00 00 F1 21 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T 39 01 00 00 00 01 22 34 00 00 00 21 38 00 22 -R 00 00 01 00 02 07 0A 00 -T 42 01 00 00 36 00 00 00 DD 36 FE 38 DD 36 FF -R 00 00 01 00 02 04 0A 00 -T 4B 01 00 00 00 DD 36 FC 00 00 00 00 DD 36 FD -R 00 00 01 00 0B 08 0A 00 -T 53 01 00 00 00 00 00 00 18 3C -R 00 00 01 00 8B 04 0A 00 -T 56 01 00 00 +T 2C 01 00 00 2C 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 02 04 09 00 2B 09 02 00 +T 31 01 00 00 00 00 00 00 CD 00 00 00 00 F1 21 +R 00 00 01 00 02 04 02 00 02 09 00 00 +T 38 01 00 00 00 01 22 34 00 00 00 21 38 00 22 +R 00 00 01 00 02 07 09 00 +T 41 01 00 00 36 00 00 00 DD 36 FE 38 DD 36 FF +R 00 00 01 00 02 04 09 00 +T 4A 01 00 00 00 DD 36 FC 00 00 00 00 DD 36 FD +R 00 00 01 00 0B 08 09 00 +T 52 01 00 00 00 00 00 00 18 3C +R 00 00 01 00 8B 04 09 00 +T 55 01 00 00 R 00 00 01 00 -T 56 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 07 00 -T 5F 01 00 00 23 66 68 01 08 00 09 36 06 23 36 +T 55 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 06 00 +T 5E 01 00 00 23 66 68 01 08 00 09 36 06 23 36 R 00 00 01 00 -T 6A 01 00 00 00 21 FF FF 18 47 +T 69 01 00 00 00 21 FF FF 18 47 R 00 00 01 00 -T 70 01 00 00 +T 6F 01 00 00 R 00 00 01 00 -T 70 01 00 00 DD 6E FE DD 66 FF 22 01 00 00 00 -R 00 00 01 00 02 0B 09 00 -T 79 01 00 00 DD 6E FC DD 66 FD 22 03 00 00 00 -R 00 00 01 00 02 0B 09 00 -T 82 01 00 00 DD 36 FE 05 DD 36 FF 00 DD 36 FC +T 6F 01 00 00 DD 6E FE DD 66 FF 22 01 00 00 00 +R 00 00 01 00 02 0B 08 00 +T 78 01 00 00 DD 6E FC DD 66 FD 22 03 00 00 00 +R 00 00 01 00 02 0B 08 00 +T 81 01 00 00 DD 36 FE 05 DD 36 FF 00 DD 36 FC R 00 00 01 00 -T 8D 01 00 00 00 00 00 00 DD 36 FD 00 00 00 00 -R 00 00 01 00 0B 04 09 00 8B 0B 09 00 -T 92 01 00 00 +T 8C 01 00 00 00 00 00 00 DD 36 FD 00 00 00 00 +R 00 00 01 00 0B 04 08 00 8B 0B 08 00 +T 91 01 00 00 R 00 00 01 00 -T 92 01 00 00 +T 91 01 00 00 R 00 00 01 00 -T 92 01 00 00 DD 6E 04 DD 66 05 23 DD 4E FE DD +T 91 01 00 00 DD 6E 04 DD 66 05 23 DD 4E FE DD R 00 00 01 00 -T 9D 01 00 00 46 FF 71 23 70 DD 6E 04 DD 66 05 +T 9C 01 00 00 46 FF 71 23 70 DD 6E 04 DD 66 05 R 00 00 01 00 -T A8 01 00 00 23 23 23 DD 4E FC DD 46 FD 71 23 +T A7 01 00 00 23 23 23 DD 4E FC DD 46 FD 71 23 R 00 00 01 00 -T B3 01 00 00 70 21 00 00 +T B2 01 00 00 70 21 00 00 R 00 00 01 00 -T B7 01 00 00 +T B6 01 00 00 R 00 00 01 00 -T B7 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +T B6 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 03 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 55 5A 49 58 00 diff --git a/src/nos/lib/filesys_lib/stat.rel b/src/nos/lib/filesys_lib/stat.rel index 8fa5496e..67ea68c2 100644 --- a/src/nos/lib/filesys_lib/stat.rel +++ b/src/nos/lib/filesys_lib/stat.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_statfstat Ref00000000 S _Curproc Ref00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 06 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 05 00 02 09 05 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 06 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/stcpy.rel b/src/nos/lib/filesys_lib/stcpy.rel index e1ccfab8..326aa379 100644 --- a/src/nos/lib/filesys_lib/stcpy.rel +++ b/src/nos/lib/filesys_lib/stcpy.rel @@ -14,7 +14,7 @@ A CODE size 224 flags 0 S _stcpy Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 4B 00 ED 4B +T 00 00 00 00 CD 00 00 00 00 21 4D 00 ED 4B R 00 00 01 00 02 05 06 00 T 08 00 00 00 00 00 00 00 09 46 23 66 68 23 23 R 00 00 01 00 02 04 04 00 diff --git a/src/nos/lib/filesys_lib/symlink.rel b/src/nos/lib/filesys_lib/symlink.rel index e654b54c..352cb637 100644 --- a/src/nos/lib/filesys_lib/symlink.rel +++ b/src/nos/lib/filesys_lib/symlink.rel @@ -3,8 +3,8 @@ H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _sys_symlink Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 03 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 06 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 01 00 02 09 01 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 06 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sync.rel b/src/nos/lib/filesys_lib/sync.rel index 68204b0d..7d5072c4 100644 --- a/src/nos/lib/filesys_lib/sync.rel +++ b/src/nos/lib/filesys_lib/sync.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,20 +21,20 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 05 00 @@ -44,7 +44,7 @@ T 65 00 00 00 00 00 00 00 CD 00 00 00 00 3E R 00 00 01 00 02 04 0A 00 02 09 00 00 T 6B 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 09 00 02 09 09 00 -T 70 00 00 00 00 00 00 00 21 4B 00 ED 4B +T 70 00 00 00 00 00 00 00 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 77 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 @@ -52,7 +52,7 @@ T 7F 00 00 00 04 00 19 AF 77 23 77 3E R 00 00 01 00 T 87 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 8C 00 00 00 00 00 00 00 21 4B 00 ED 4B +T 8C 00 00 00 00 00 00 00 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 93 00 00 00 00 00 00 00 09 AF 77 23 77 C3 R 00 00 01 00 02 04 05 00 diff --git a/src/nos/lib/filesys_lib/sys_NONE.rel b/src/nos/lib/filesys_lib/sys_NONE.rel index c0172846..c36546b5 100644 --- a/src/nos/lib/filesys_lib/sys_NONE.rel +++ b/src/nos/lib/filesys_lib/sys_NONE.rel @@ -9,7 +9,7 @@ A CODE size 1D flags 0 S _sys_NONE Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 C5 21 4B 00 ED 4B 00 00 00 00 09 +T 00 00 00 00 C5 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 01 00 T 09 00 00 00 46 23 66 68 01 08 00 09 36 26 23 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys__exit.rel b/src/nos/lib/filesys_lib/sys__exit.rel index 9f90d502..c16581bc 100644 --- a/src/nos/lib/filesys_lib/sys__exit.rel +++ b/src/nos/lib/filesys_lib/sys__exit.rel @@ -11,7 +11,7 @@ A CODE size 28 flags 0 S _sys__exit Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 C5 D5 01 00 00 21 4B 00 ED 5B +T 00 00 00 00 C5 D5 01 00 00 21 4D 00 ED 5B R 00 00 01 00 T 0A 00 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 03 00 diff --git a/src/nos/lib/filesys_lib/sys_alarm.rel b/src/nos/lib/filesys_lib/sys_alarm.rel index 6c21f457..341ca49c 100644 --- a/src/nos/lib/filesys_lib/sys_alarm.rel +++ b/src/nos/lib/filesys_lib/sys_alarm.rel @@ -17,17 +17,17 @@ T 00 00 00 00 CD 00 00 00 00 FE FF 3E R 00 00 01 00 02 05 06 00 T 06 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 0B 00 00 00 00 00 00 00 21 4B 00 ED 4B +T 0B 00 00 00 00 00 00 00 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 12 00 00 00 00 00 00 00 09 7E 23 66 6F 56 23 R 00 00 01 00 02 04 03 00 T 1B 00 00 00 66 6A 11 07 00 19 56 23 66 6A DD R 00 00 01 00 -T 26 00 00 00 75 FE DD 74 FF 21 4B 00 09 7E 23 +T 26 00 00 00 75 FE DD 74 FF 21 4D 00 09 7E 23 R 00 00 01 00 T 31 00 00 00 66 6F 56 23 66 6A 11 07 00 19 E5 R 00 00 01 00 -T 3C 00 00 00 21 4B 00 09 46 23 66 68 01 0A 00 +T 3C 00 00 00 21 4D 00 09 46 23 66 68 01 0A 00 R 00 00 01 00 T 47 00 00 00 09 4E 23 46 E1 71 23 70 3E R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_brk.rel b/src/nos/lib/filesys_lib/sys_brk.rel index 6a1941d6..c69b911b 100644 --- a/src/nos/lib/filesys_lib/sys_brk.rel +++ b/src/nos/lib/filesys_lib/sys_brk.rel @@ -9,7 +9,7 @@ A CODE size 68 flags 0 S _sys_brk Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 C5 D5 21 4B 00 ED 4B 00 00 00 00 +T 00 00 00 00 C5 D5 21 4D 00 ED 4B 00 00 00 00 R 00 00 01 00 02 0B 01 00 T 09 00 00 00 09 46 23 66 68 01 0A 00 09 46 23 R 00 00 01 00 @@ -17,7 +17,7 @@ T 14 00 00 00 66 68 01 00 11 A7 ED 42 30 1A R 00 00 01 00 T 1E 00 00 00 R 00 00 01 00 -T 1E 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 1E 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 01 00 T 27 00 00 00 23 66 68 01 08 00 09 36 0C 23 36 R 00 00 01 00 @@ -25,11 +25,11 @@ T 32 00 00 00 00 21 FF FF 18 2B R 00 00 01 00 T 38 00 00 00 R 00 00 01 00 -T 38 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 38 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 01 00 T 41 00 00 00 23 66 6F 56 23 66 6A 11 19 00 19 R 00 00 01 00 -T 4C 00 00 00 E5 21 4B 00 09 46 23 66 68 01 +T 4C 00 00 00 E5 21 4D 00 09 46 23 66 68 01 R 00 00 01 00 T 56 00 00 00 0A 00 09 4E 23 46 E1 71 23 70 21 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_chdir.rel b/src/nos/lib/filesys_lib/sys_chdir.rel index 3293aea4..fb785e86 100644 --- a/src/nos/lib/filesys_lib/sys_chdir.rel +++ b/src/nos/lib/filesys_lib/sys_chdir.rel @@ -16,7 +16,7 @@ T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 0E 01 C5 01 R 00 00 01 00 02 05 06 00 -T 09 00 00 00 00 00 21 4B 00 ED 5B 00 00 00 00 +T 09 00 00 00 00 00 21 4D 00 ED 5B 00 00 00 00 R 00 00 01 00 02 0B 04 00 T 12 00 00 00 19 56 23 66 6A 11 0A 00 19 5E 23 R 00 00 01 00 @@ -46,7 +46,7 @@ T 50 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 R 00 00 01 00 2B 0B 02 00 T 58 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 02 00 02 0A 00 00 -T 5F 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T 5F 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 04 00 T 68 00 00 00 66 68 01 08 00 09 36 14 23 36 00 R 00 00 01 00 @@ -62,7 +62,7 @@ T 84 00 00 00 E6 01 47 7C E6 00 B0 20 17 R 00 00 01 00 T 8D 00 00 00 R 00 00 01 00 -T 8D 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 8D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 04 00 T 96 00 00 00 23 66 68 01 08 00 09 36 01 23 36 R 00 00 01 00 @@ -70,17 +70,17 @@ T A1 00 00 00 00 18 8D R 00 00 01 00 T A4 00 00 00 R 00 00 01 00 -T A4 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T A4 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 04 00 -T AD 00 00 00 23 66 6F 56 23 66 6A 11 27 00 19 +T AD 00 00 00 23 66 6F 56 23 66 6A 11 29 00 19 R 00 00 01 00 T B8 00 00 00 5E 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 08 02 00 T BE 00 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 02 00 02 09 00 00 -T C4 00 00 00 4B 00 09 7E 23 66 6F 46 23 66 68 +T C4 00 00 00 4D 00 09 7E 23 66 6F 46 23 66 68 R 00 00 01 00 -T CF 00 00 00 01 27 00 09 DD 4E FE DD 46 FF 71 +T CF 00 00 00 01 29 00 09 DD 4E FE DD 46 FF 71 R 00 00 01 00 T DA 00 00 00 23 70 21 00 00 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_chmod.rel b/src/nos/lib/filesys_lib/sys_chmod.rel index 6bb80751..fd80fcb9 100644 --- a/src/nos/lib/filesys_lib/sys_chmod.rel +++ b/src/nos/lib/filesys_lib/sys_chmod.rel @@ -13,11 +13,11 @@ T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 C5 D5 0E 01 C5 21 00 00 E5 21 R 00 00 01 00 -T 0A 00 00 00 4B 00 ED 4B 00 00 00 00 09 56 23 +T 0A 00 00 00 4D 00 ED 4B 00 00 00 00 09 56 23 R 00 00 01 00 02 08 03 00 T 13 00 00 00 66 6A 11 0C 00 19 4E 23 46 21 R 00 00 01 00 -T 1D 00 00 00 4B 00 ED 5B 00 00 00 00 19 56 23 +T 1D 00 00 00 4D 00 ED 5B 00 00 00 00 19 56 23 R 00 00 01 00 02 08 03 00 T 26 00 00 00 66 6A 11 0A 00 19 5E 23 56 3E R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_chown.rel b/src/nos/lib/filesys_lib/sys_chown.rel index c0832163..e256faff 100644 --- a/src/nos/lib/filesys_lib/sys_chown.rel +++ b/src/nos/lib/filesys_lib/sys_chown.rel @@ -11,15 +11,15 @@ A CODE size 4A flags 0 S _sys_chown Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 C5 D5 0E 00 C5 21 4B 00 ED 4B +T 00 00 00 00 C5 D5 0E 00 C5 21 4D 00 ED 4B R 00 00 01 00 T 0A 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 03 00 -T 12 00 00 00 0E 00 19 5E 16 00 D5 21 4B 00 09 +T 12 00 00 00 0E 00 19 5E 16 00 D5 21 4D 00 09 R 00 00 01 00 T 1D 00 00 00 56 23 66 6A 11 0C 00 19 4E 06 00 R 00 00 01 00 -T 28 00 00 00 21 4B 00 ED 5B 00 00 00 00 19 56 +T 28 00 00 00 21 4D 00 ED 5B 00 00 00 00 19 56 R 00 00 01 00 02 09 03 00 T 31 00 00 00 23 66 6A 11 0A 00 19 5E 23 56 3E R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_chroot.rel b/src/nos/lib/filesys_lib/sys_chroot.rel index eaf1ef85..37f954af 100644 --- a/src/nos/lib/filesys_lib/sys_chroot.rel +++ b/src/nos/lib/filesys_lib/sys_chroot.rel @@ -21,25 +21,25 @@ T 0C 00 00 00 20 6B R 00 00 01 00 T 0E 00 00 00 R 00 00 01 00 -T 0E 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 0E 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 05 00 -T 17 00 00 00 23 66 6F 56 23 66 6A 11 6B 00 19 +T 17 00 00 00 23 66 6F 56 23 66 6A 11 6D 00 19 R 00 00 01 00 T 22 00 00 00 5E 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 08 04 00 T 28 00 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 04 00 02 09 00 00 -T 2E 00 00 00 4B 00 09 7E 23 66 6F 56 23 66 6A +T 2E 00 00 00 4D 00 09 7E 23 66 6F 56 23 66 6A R 00 00 01 00 -T 39 00 00 00 11 6B 00 19 E5 21 4B 00 09 7E 23 +T 39 00 00 00 11 6D 00 19 E5 21 4D 00 09 7E 23 R 00 00 01 00 -T 44 00 00 00 66 6F 56 23 66 6A 11 27 00 19 5E +T 44 00 00 00 66 6F 56 23 66 6A 11 29 00 19 5E R 00 00 01 00 -T 4F 00 00 00 23 56 E1 73 23 72 21 4B 00 ED 4B +T 4F 00 00 00 23 56 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 5A 00 00 00 00 00 00 00 09 7E 23 66 6F 46 23 R 00 00 01 00 02 04 05 00 -T 63 00 00 00 66 68 01 6B 00 09 5E 23 56 3E +T 63 00 00 00 66 68 01 6D 00 09 5E 23 56 3E R 00 00 01 00 T 6D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 01 00 02 09 01 00 diff --git a/src/nos/lib/filesys_lib/sys_close.rel b/src/nos/lib/filesys_lib/sys_close.rel index 4b93e3c1..0adc267d 100644 --- a/src/nos/lib/filesys_lib/sys_close.rel +++ b/src/nos/lib/filesys_lib/sys_close.rel @@ -11,7 +11,7 @@ A CODE size 22 flags 0 S _sys_close Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 C5 D5 21 4B 00 ED 4B 00 00 00 00 +T 00 00 00 00 C5 D5 21 4D 00 ED 4B 00 00 00 00 R 00 00 01 00 02 0B 03 00 T 09 00 00 00 09 46 23 66 68 01 0A 00 09 5E 23 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_dup.rel b/src/nos/lib/filesys_lib/sys_dup.rel index 1734ed1e..a4748e1c 100644 --- a/src/nos/lib/filesys_lib/sys_dup.rel +++ b/src/nos/lib/filesys_lib/sys_dup.rel @@ -14,7 +14,7 @@ A CODE size 91 flags 0 S _sys_dup Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 4B 00 ED +T 00 00 00 00 CD 00 00 00 00 FE FF 21 4D 00 ED R 00 00 01 00 02 05 06 00 T 09 00 00 00 4B 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 05 04 00 @@ -38,17 +38,17 @@ T 32 00 00 00 21 FF FF 18 57 R 00 00 01 00 T 37 00 00 00 R 00 00 01 00 -T 37 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 37 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 04 00 T 40 00 00 00 23 66 6A 11 0A 00 19 5E 16 00 21 R 00 00 01 00 -T 4B 00 00 00 4B 00 09 7E 23 66 6F 7E 23 66 6F +T 4B 00 00 00 4D 00 09 7E 23 66 6F 7E 23 66 6F R 00 00 01 00 -T 56 00 00 00 19 11 71 00 19 56 DD 72 FF 21 +T 56 00 00 00 19 11 73 00 19 56 DD 72 FF 21 R 00 00 01 00 -T 60 00 00 00 4B 00 09 7E 23 66 6F 46 23 66 68 +T 60 00 00 00 4D 00 09 7E 23 66 6F 46 23 66 68 R 00 00 01 00 -T 6B 00 00 00 DD 4E FE 06 00 09 01 71 00 09 72 +T 6B 00 00 00 DD 4E FE 06 00 09 01 73 00 09 72 R 00 00 01 00 T 76 00 00 00 DD 6E FF 26 00 29 01 00 00 00 00 R 00 00 01 00 02 0B 07 00 diff --git a/src/nos/lib/filesys_lib/sys_dup2.rel b/src/nos/lib/filesys_lib/sys_dup2.rel index 98764f48..02fe8d16 100644 --- a/src/nos/lib/filesys_lib/sys_dup2.rel +++ b/src/nos/lib/filesys_lib/sys_dup2.rel @@ -13,7 +13,7 @@ A CODE size 120 flags 0 S _sys_dup2 Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 C5 D5 21 4B 00 ED 4B 00 00 00 00 +T 00 00 00 00 C5 D5 21 4D 00 ED 4B 00 00 00 00 R 00 00 01 00 02 0B 04 00 T 09 00 00 00 09 46 23 66 68 01 0A 00 09 5E 16 R 00 00 01 00 @@ -27,7 +27,7 @@ T 21 00 00 00 18 2A R 00 00 01 00 T 23 00 00 00 R 00 00 01 00 -T 23 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 23 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 04 00 T 2C 00 00 00 23 66 68 01 0C 00 09 7E FE 0A 38 R 00 00 01 00 @@ -35,7 +35,7 @@ T 37 00 00 00 1B R 00 00 01 00 T 38 00 00 00 R 00 00 01 00 -T 38 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 38 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 04 00 T 41 00 00 00 23 66 68 01 08 00 09 36 09 23 36 R 00 00 01 00 @@ -47,17 +47,17 @@ T 4D 00 00 00 21 FF FF C3 1B 01 00 00 R 00 00 01 00 00 08 01 00 T 53 00 00 00 R 00 00 01 00 -T 53 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 53 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 04 00 T 5C 00 00 00 23 66 6A 11 0C 00 19 5E 16 00 21 R 00 00 01 00 -T 67 00 00 00 4B 00 09 7E 23 66 6F 46 23 66 68 +T 67 00 00 00 4D 00 09 7E 23 66 6F 46 23 66 68 R 00 00 01 00 -T 72 00 00 00 19 01 71 00 09 7E E6 80 20 1B +T 72 00 00 00 19 01 73 00 09 7E E6 80 20 1B R 00 00 01 00 T 7C 00 00 00 R 00 00 01 00 -T 7C 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 7C 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 04 00 T 85 00 00 00 23 66 68 01 0C 00 09 5E 16 00 3E R 00 00 01 00 @@ -67,27 +67,27 @@ T 95 00 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 T 97 00 00 00 R 00 00 01 00 -T 97 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 97 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 04 00 T A0 00 00 00 23 66 6A 11 0A 00 19 5E 16 00 21 R 00 00 01 00 -T AB 00 00 00 4B 00 09 7E 23 66 6F 7E 23 66 6F +T AB 00 00 00 4D 00 09 7E 23 66 6F 7E 23 66 6F R 00 00 01 00 -T B6 00 00 00 19 11 71 00 19 56 D5 21 4B 00 09 +T B6 00 00 00 19 11 73 00 19 56 D5 21 4D 00 09 R 00 00 01 00 T C1 00 00 00 5E 23 66 6B 01 0C 00 09 4E 06 00 R 00 00 01 00 -T CC 00 00 00 21 4B 00 ED 5B 00 00 00 00 19 7E +T CC 00 00 00 21 4D 00 ED 5B 00 00 00 00 19 7E R 00 00 01 00 02 09 04 00 -T D5 00 00 00 23 66 6F 7E 23 66 6F 09 01 71 00 +T D5 00 00 00 23 66 6F 7E 23 66 6F 09 01 73 00 R 00 00 01 00 -T E0 00 00 00 09 D1 72 21 4B 00 ED 4B +T E0 00 00 00 09 D1 72 21 4D 00 ED 4B R 00 00 01 00 T E8 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 04 00 -T F0 00 00 00 0A 00 19 5E 16 00 21 4B 00 09 7E +T F0 00 00 00 0A 00 19 5E 16 00 21 4D 00 09 7E R 00 00 01 00 -T FB 00 00 00 23 66 6F 46 23 66 68 19 01 71 00 +T FB 00 00 00 23 66 6F 46 23 66 68 19 01 73 00 R 00 00 01 00 T 06 01 00 00 09 6E 26 00 29 01 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 diff --git a/src/nos/lib/filesys_lib/sys_execve.rel b/src/nos/lib/filesys_lib/sys_execve.rel index a32c5553..32d5bd0c 100644 --- a/src/nos/lib/filesys_lib/sys_execve.rel +++ b/src/nos/lib/filesys_lib/sys_execve.rel @@ -37,7 +37,7 @@ T 00 00 00 00 CD 00 00 00 00 D6 FF AF DD 77 FA R 00 00 01 00 02 05 12 00 T 09 00 00 00 DD 77 FB 0E 01 C5 01 00 00 21 R 00 00 01 00 -T 13 00 00 00 4B 00 ED 5B 00 00 00 00 19 56 23 +T 13 00 00 00 4D 00 ED 5B 00 00 00 00 19 56 23 R 00 00 01 00 02 08 0B 00 T 1C 00 00 00 66 6A 11 0A 00 19 5E 23 56 3E R 00 00 01 00 @@ -69,7 +69,7 @@ T 6B 00 00 00 R 00 00 01 00 T 6B 00 00 00 R 00 00 01 00 -T 6B 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 6B 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 0B 00 T 74 00 00 00 23 66 68 01 08 00 09 36 0D 23 36 R 00 00 01 00 @@ -89,7 +89,7 @@ T AF 00 00 00 3E A0 A8 B1 28 18 R 00 00 01 00 T B5 00 00 00 R 00 00 01 00 -T B5 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T B5 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 0B 00 T BE 00 00 00 23 66 68 01 08 00 09 36 2D 23 36 R 00 00 01 00 @@ -123,7 +123,7 @@ T 1D 01 00 00 18 38 R 00 00 01 00 T 1F 01 00 00 R 00 00 01 00 -T 1F 01 00 00 21 23 21 A7 ED 42 20 18 21 4B 00 +T 1F 01 00 00 21 23 21 A7 ED 42 20 18 21 4D 00 R 00 00 01 00 T 2A 01 00 00 ED 4B 00 00 00 00 09 46 23 66 68 R 00 00 01 00 02 06 0B 00 @@ -133,7 +133,7 @@ T 3D 01 00 00 A2 07 00 00 R 00 00 01 00 00 04 01 00 T 3F 01 00 00 R 00 00 01 00 -T 3F 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 3F 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 0B 00 T 48 01 00 00 23 66 68 01 08 00 09 36 08 23 36 R 00 00 01 00 @@ -187,7 +187,7 @@ T DE 01 00 00 18 18 R 00 00 01 00 T E0 01 00 00 R 00 00 01 00 -T E0 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T E0 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 0B 00 T E9 01 00 00 23 66 68 01 08 00 09 36 08 23 36 R 00 00 01 00 @@ -205,7 +205,7 @@ T 19 02 00 00 4E 23 46 EB CD 00 00 00 00 30 18 R 00 00 01 00 02 09 11 00 T 22 02 00 00 R 00 00 01 00 -T 22 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 22 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 0B 00 T 2B 02 00 00 23 66 68 01 08 00 09 36 2C 23 36 R 00 00 01 00 @@ -219,7 +219,7 @@ T 45 02 00 00 23 66 68 01 00 02 A7 ED 42 38 18 R 00 00 01 00 T 50 02 00 00 R 00 00 01 00 -T 50 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 50 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 0B 00 T 59 02 00 00 23 66 68 01 08 00 09 36 08 23 36 R 00 00 01 00 @@ -237,7 +237,7 @@ T 7C 02 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 1A 00 02 0A 01 00 T 83 02 00 00 75 E4 DD 74 E5 DD 4E E2 DD 46 E3 R 00 00 01 00 -T 8E 02 00 00 21 4B 00 ED 5B 00 00 00 00 19 56 +T 8E 02 00 00 21 4D 00 ED 5B 00 00 00 00 19 56 R 00 00 01 00 02 09 0B 00 T 97 02 00 00 23 66 6A 11 0C 00 19 5E 23 56 3E R 00 00 01 00 @@ -245,7 +245,7 @@ T A2 02 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0F 00 02 09 0F 00 T A7 02 00 00 00 00 00 00 7D B4 20 25 DD 4E E4 R 00 00 01 00 02 04 01 00 -T B0 02 00 00 DD 46 E5 21 4B 00 ED 5B +T B0 02 00 00 DD 46 E5 21 4D 00 ED 5B R 00 00 01 00 T B8 02 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 0B 00 @@ -275,9 +275,9 @@ T EF 02 00 00 B0 28 26 R 00 00 01 00 T F2 02 00 00 R 00 00 01 00 -T F2 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T F2 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 0B 00 -T FB 02 00 00 23 66 6F 46 23 66 68 01 1D 00 09 +T FB 02 00 00 23 66 6F 46 23 66 68 01 1F 00 09 R 00 00 01 00 T 06 03 00 00 E5 21 0E 00 DD 4E D8 DD 46 D9 09 R 00 00 01 00 @@ -291,9 +291,9 @@ T 23 03 00 00 E6 00 47 23 7E E6 04 B0 28 26 R 00 00 01 00 T 2D 03 00 00 R 00 00 01 00 -T 2D 03 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 2D 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 0B 00 -T 36 03 00 00 23 66 6F 46 23 66 68 01 1F 00 09 +T 36 03 00 00 23 66 6F 46 23 66 68 01 21 00 09 R 00 00 01 00 T 41 03 00 00 E5 21 10 00 DD 4E D8 DD 46 D9 09 R 00 00 01 00 @@ -317,7 +317,7 @@ T 8D 03 00 00 56 E3 3E 00 00 00 00 21 R 00 00 01 00 2B 07 02 00 T 92 03 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 02 00 02 09 01 00 -T 98 03 00 00 4B 00 ED 4B 00 00 00 00 09 7E 23 +T 98 03 00 00 4D 00 ED 4B 00 00 00 00 09 7E 23 R 00 00 01 00 02 08 0B 00 T A1 03 00 00 66 6F 46 23 66 68 01 19 00 09 E5 R 00 00 01 00 @@ -395,11 +395,11 @@ T BF 04 00 00 5E DE DD 56 DF 1B 1B 3E R 00 00 01 00 T C7 04 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0A 00 02 09 0A 00 -T CC 04 00 00 00 00 00 00 21 4B 00 ED 4B +T CC 04 00 00 00 00 00 00 21 4D 00 ED 4B R 00 00 01 00 02 04 01 00 T D3 04 00 00 00 00 00 00 09 7E 23 66 6F 46 23 R 00 00 01 00 02 04 0B 00 -T DC 04 00 00 66 68 01 29 00 09 E5 21 FA FF DD +T DC 04 00 00 66 68 01 2B 00 09 E5 21 FA FF DD R 00 00 01 00 T E7 04 00 00 4E DE DD 46 DF 09 4D 44 E1 71 23 R 00 00 01 00 @@ -549,17 +549,17 @@ T D7 06 00 00 DD 5E D8 DD 56 D9 3E 00 00 00 00 R 00 00 01 00 2B 0B 06 00 T DF 06 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 06 00 02 0A 01 00 -T E6 06 00 00 4B 00 ED 4B 00 00 00 00 09 7E 23 +T E6 06 00 00 4D 00 ED 4B 00 00 00 00 09 7E 23 R 00 00 01 00 02 08 0B 00 -T EF 06 00 00 66 6F 46 23 66 68 01 2B 00 09 DD +T EF 06 00 00 66 6F 46 23 66 68 01 2D 00 09 DD R 00 00 01 00 T FA 06 00 00 75 E6 DD 74 E7 R 00 00 01 00 T FF 06 00 00 R 00 00 01 00 -T FF 06 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T FF 06 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 0B 00 -T 08 07 00 00 23 66 6F 46 23 66 68 01 2B 00 09 +T 08 07 00 00 23 66 6F 46 23 66 68 01 2D 00 09 R 00 00 01 00 T 13 07 00 00 01 30 00 09 4D 44 DD 6E E6 DD 66 R 00 00 01 00 @@ -593,9 +593,9 @@ T 55 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 10 00 02 0A 10 00 T 5B 07 00 00 00 00 00 00 DD 4E EA DD 46 EB 21 R 00 00 01 00 02 04 01 00 -T 64 07 00 00 4B 00 ED 5B 00 00 00 00 19 7E 23 +T 64 07 00 00 4D 00 ED 5B 00 00 00 00 19 7E 23 R 00 00 01 00 02 08 0B 00 -T 6D 07 00 00 66 6F 56 23 66 6A 11 29 00 19 5E +T 6D 07 00 00 66 6F 56 23 66 6A 11 2B 00 19 5E R 00 00 01 00 T 78 07 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 18 00 diff --git a/src/nos/lib/filesys_lib/sys_falign.rel b/src/nos/lib/filesys_lib/sys_falign.rel index 9b152171..ce3281dd 100644 --- a/src/nos/lib/filesys_lib/sys_falign.rel +++ b/src/nos/lib/filesys_lib/sys_falign.rel @@ -14,7 +14,7 @@ A CODE size 9C flags 0 S _sys_falign Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 4B 00 ED +T 00 00 00 00 CD 00 00 00 00 FE FF 21 4D 00 ED R 00 00 01 00 02 05 07 00 T 09 00 00 00 4B 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 05 04 00 @@ -30,7 +30,7 @@ T 2A 00 00 00 21 FF FF 18 6A R 00 00 01 00 T 2F 00 00 00 R 00 00 01 00 -T 2F 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 2F 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 04 00 T 38 00 00 00 23 66 68 01 0C 00 09 4E 23 46 79 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_getfsys.rel b/src/nos/lib/filesys_lib/sys_getfsys.rel index 4a826b71..9ca68db3 100644 --- a/src/nos/lib/filesys_lib/sys_getfsys.rel +++ b/src/nos/lib/filesys_lib/sys_getfsys.rel @@ -16,7 +16,7 @@ T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF 21 00 00 39 R 00 00 01 00 02 05 05 00 -T 09 00 00 00 4D 44 21 4B 00 ED 5B 00 00 00 00 +T 09 00 00 00 4D 44 21 4D 00 ED 5B 00 00 00 00 R 00 00 01 00 02 0B 02 00 T 12 00 00 00 19 56 23 66 6A 11 0A 00 19 5E 23 R 00 00 01 00 @@ -30,7 +30,7 @@ T 2A 00 00 00 21 FF FF 18 56 R 00 00 01 00 T 2F 00 00 00 R 00 00 01 00 -T 2F 00 00 00 DD 4E FB DD 46 FC 21 4B 00 ED 5B +T 2F 00 00 00 DD 4E FB DD 46 FC 21 4D 00 ED 5B R 00 00 01 00 T 3A 00 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 02 00 @@ -48,7 +48,7 @@ T 59 00 00 00 R 00 00 01 00 T 59 00 00 00 DD 6E FB DD 66 FC E5 DD 4E FD DD R 00 00 01 00 -T 64 00 00 00 46 FE 21 4B 00 ED 5B 00 00 00 00 +T 64 00 00 00 46 FE 21 4D 00 ED 5B 00 00 00 00 R 00 00 01 00 02 0B 02 00 T 6D 00 00 00 19 56 23 66 6A 11 0C 00 19 5E 23 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_getset.rel b/src/nos/lib/filesys_lib/sys_getset.rel index 38752f82..f0f4374b 100644 --- a/src/nos/lib/filesys_lib/sys_getset.rel +++ b/src/nos/lib/filesys_lib/sys_getset.rel @@ -16,7 +16,7 @@ A CODE size 408 flags 0 S _sys_getset Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF 21 4B 00 ED +T 00 00 00 00 CD 00 00 00 00 FA FF 21 4D 00 ED R 00 00 01 00 02 05 06 00 T 09 00 00 00 4B 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 05 03 00 @@ -40,7 +40,7 @@ T 39 00 00 00 9E 03 00 00 R 00 00 01 00 00 04 01 00 T 3B 00 00 00 R 00 00 01 00 -T 3B 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 3B 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 03 00 T 44 00 00 00 23 66 6F 46 23 66 68 23 46 23 66 R 00 00 01 00 @@ -48,7 +48,7 @@ T 4F 00 00 00 68 C3 05 04 00 00 R 00 00 01 00 00 06 01 00 T 53 00 00 00 R 00 00 01 00 -T 53 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 53 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 03 00 T 5C 00 00 00 23 66 6F 46 23 66 68 01 05 00 09 R 00 00 01 00 @@ -58,7 +58,7 @@ T 71 00 00 00 05 04 00 00 R 00 00 01 00 00 04 01 00 T 73 00 00 00 R 00 00 01 00 -T 73 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 73 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 03 00 T 7C 00 00 00 23 66 6F 46 23 66 68 23 23 23 46 R 00 00 01 00 @@ -66,17 +66,17 @@ T 87 00 00 00 23 66 68 C3 05 04 00 00 R 00 00 01 00 00 08 01 00 T 8D 00 00 00 R 00 00 01 00 -T 8D 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 8D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 03 00 -T 96 00 00 00 23 66 6F 46 23 66 68 01 1D 00 09 +T 96 00 00 00 23 66 6F 46 23 66 68 01 1F 00 09 R 00 00 01 00 -T A1 00 00 00 7E 23 B6 28 2D 21 4B 00 ED 4B +T A1 00 00 00 7E 23 B6 28 2D 21 4D 00 ED 4B R 00 00 01 00 T AB 00 00 00 00 00 00 00 09 7E 23 66 6F 56 23 R 00 00 01 00 02 04 03 00 T B4 00 00 00 66 6A 23 23 23 56 23 66 6A E5 21 R 00 00 01 00 -T BF 00 00 00 4B 00 09 46 23 66 68 01 0C 00 09 +T BF 00 00 00 4D 00 09 46 23 66 68 01 0C 00 09 R 00 00 01 00 T CA 00 00 00 4E 23 46 E1 A7 ED 42 20 52 R 00 00 01 00 @@ -86,19 +86,19 @@ T D3 00 00 00 R 00 00 01 00 T D3 00 00 00 R 00 00 01 00 -T D3 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T D3 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 03 00 T DC 00 00 00 23 66 6F 56 23 66 6A 23 23 23 E5 R 00 00 01 00 -T E7 00 00 00 21 4B 00 09 56 23 66 6A 11 0C 00 +T E7 00 00 00 21 4D 00 09 56 23 66 6A 11 0C 00 R 00 00 01 00 -T F2 00 00 00 19 5E 23 56 E1 73 23 72 21 4B 00 +T F2 00 00 00 19 5E 23 56 E1 73 23 72 21 4D 00 R 00 00 01 00 T FD 00 00 00 ED 4B 00 00 00 00 09 7E 23 66 6F R 00 00 01 00 02 06 03 00 -T 06 01 00 00 56 23 66 6A 11 1D 00 19 E5 21 +T 06 01 00 00 56 23 66 6A 11 1F 00 19 E5 21 R 00 00 01 00 -T 10 01 00 00 4B 00 09 46 23 66 68 01 0C 00 09 +T 10 01 00 00 4D 00 09 46 23 66 68 01 0C 00 09 R 00 00 01 00 T 1B 01 00 00 4E 23 46 E1 71 23 70 C3 R 00 00 01 00 @@ -110,23 +110,23 @@ T 25 01 00 00 C3 E8 03 00 00 R 00 00 01 00 00 05 01 00 T 28 01 00 00 R 00 00 01 00 -T 28 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 28 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 03 00 -T 31 01 00 00 23 66 6F 46 23 66 68 01 1D 00 09 +T 31 01 00 00 23 66 6F 46 23 66 68 01 1F 00 09 R 00 00 01 00 T 3C 01 00 00 46 23 66 68 C3 05 04 00 00 R 00 00 01 00 00 09 01 00 T 43 01 00 00 R 00 00 01 00 -T 43 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 43 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 03 00 -T 4C 01 00 00 23 66 6F 46 23 66 68 01 1B 00 09 +T 4C 01 00 00 23 66 6F 46 23 66 68 01 1D 00 09 R 00 00 01 00 T 57 01 00 00 46 23 66 68 C3 05 04 00 00 R 00 00 01 00 00 09 01 00 T 5E 01 00 00 R 00 00 01 00 -T 5E 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 5E 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 03 00 T 67 01 00 00 23 66 68 01 0C 00 09 5E 23 56 3E R 00 00 01 00 @@ -142,7 +142,7 @@ T 83 01 00 00 C3 FD 03 00 00 R 00 00 01 00 00 05 01 00 T 86 01 00 00 R 00 00 01 00 -T 86 01 00 00 01 13 00 21 4B 00 ED 5B +T 86 01 00 00 01 13 00 21 4D 00 ED 5B R 00 00 01 00 T 8E 01 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 03 00 @@ -158,9 +158,9 @@ T AE 01 00 00 DD 36 FE EC R 00 00 01 00 T B2 01 00 00 R 00 00 01 00 -T B2 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T B2 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 03 00 -T BB 01 00 00 23 66 6F 46 23 66 68 01 1D 00 09 +T BB 01 00 00 23 66 6F 46 23 66 68 01 1F 00 09 R 00 00 01 00 T C6 01 00 00 7E 23 B6 28 0A R 00 00 01 00 @@ -204,15 +204,15 @@ T 2E 02 00 00 C3 02 04 00 00 R 00 00 01 00 00 05 01 00 T 31 02 00 00 R 00 00 01 00 -T 31 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 31 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 03 00 -T 3A 02 00 00 23 66 6F 46 23 66 68 01 1F 00 09 +T 3A 02 00 00 23 66 6F 46 23 66 68 01 21 00 09 R 00 00 01 00 T 45 02 00 00 46 23 66 68 C3 05 04 00 00 R 00 00 01 00 00 09 01 00 T 4C 02 00 00 R 00 00 01 00 -T 4C 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 4C 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 03 00 T 55 02 00 00 23 66 6F 46 23 66 68 01 13 00 09 R 00 00 01 00 @@ -220,17 +220,17 @@ T 60 02 00 00 6E 26 00 C3 05 04 00 00 R 00 00 01 00 00 08 01 00 T 66 02 00 00 R 00 00 01 00 -T 66 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 66 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 03 00 -T 6F 02 00 00 23 66 6F 46 23 66 68 01 1D 00 09 +T 6F 02 00 00 23 66 6F 46 23 66 68 01 1F 00 09 R 00 00 01 00 -T 7A 02 00 00 7E 23 B6 28 2E 21 4B 00 ED 4B +T 7A 02 00 00 7E 23 B6 28 2E 21 4D 00 ED 4B R 00 00 01 00 T 84 02 00 00 00 00 00 00 09 7E 23 66 6F 56 23 R 00 00 01 00 02 04 03 00 -T 8D 02 00 00 66 6A 11 1B 00 19 56 23 66 6A E5 +T 8D 02 00 00 66 6A 11 1D 00 19 56 23 66 6A E5 R 00 00 01 00 -T 98 02 00 00 21 4B 00 09 46 23 66 68 01 0C 00 +T 98 02 00 00 21 4D 00 09 46 23 66 68 01 0C 00 R 00 00 01 00 T A3 02 00 00 09 4E 23 46 E1 A7 ED 42 20 53 R 00 00 01 00 @@ -240,19 +240,19 @@ T AD 02 00 00 R 00 00 01 00 T AD 02 00 00 R 00 00 01 00 -T AD 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T AD 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 03 00 -T B6 02 00 00 23 66 6F 56 23 66 6A 11 1B 00 19 +T B6 02 00 00 23 66 6F 56 23 66 6A 11 1D 00 19 R 00 00 01 00 -T C1 02 00 00 E5 21 4B 00 09 56 23 66 6A 11 +T C1 02 00 00 E5 21 4D 00 09 56 23 66 6A 11 R 00 00 01 00 T CB 02 00 00 0C 00 19 5E 23 56 E1 73 23 72 21 R 00 00 01 00 -T D6 02 00 00 4B 00 ED 4B 00 00 00 00 09 7E 23 +T D6 02 00 00 4D 00 ED 4B 00 00 00 00 09 7E 23 R 00 00 01 00 02 08 03 00 -T DF 02 00 00 66 6F 56 23 66 6A 11 1F 00 19 E5 +T DF 02 00 00 66 6F 56 23 66 6A 11 21 00 19 E5 R 00 00 01 00 -T EA 02 00 00 21 4B 00 09 46 23 66 68 01 0C 00 +T EA 02 00 00 21 4D 00 09 46 23 66 68 01 0C 00 R 00 00 01 00 T F5 02 00 00 09 4E 23 46 E1 71 23 70 C3 R 00 00 01 00 @@ -264,15 +264,15 @@ T 00 03 00 00 C3 E8 03 00 00 R 00 00 01 00 00 05 01 00 T 03 03 00 00 R 00 00 01 00 -T 03 03 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 03 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 03 00 -T 0C 03 00 00 23 66 6F 56 23 66 6A 11 21 00 19 +T 0C 03 00 00 23 66 6F 56 23 66 6A 11 23 00 19 R 00 00 01 00 T 17 03 00 00 56 23 66 6A DD 75 FA DD 74 FB 21 R 00 00 01 00 -T 22 03 00 00 4B 00 09 7E 23 66 6F 56 23 66 6A +T 22 03 00 00 4D 00 09 7E 23 66 6F 56 23 66 6A R 00 00 01 00 -T 2D 03 00 00 11 21 00 19 E5 21 4B 00 09 46 23 +T 2D 03 00 00 11 23 00 19 E5 21 4D 00 09 46 23 R 00 00 01 00 T 38 03 00 00 66 68 01 0C 00 09 7E E6 FF 4F 23 R 00 00 01 00 @@ -282,15 +282,15 @@ T 4E 03 00 00 DD 66 FB C3 05 04 00 00 R 00 00 01 00 00 08 01 00 T 54 03 00 00 R 00 00 01 00 -T 54 03 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 54 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 03 00 -T 5D 03 00 00 23 66 6F 56 23 66 6A 11 6D 00 19 +T 5D 03 00 00 23 66 6F 56 23 66 6A 11 6F 00 19 R 00 00 01 00 T 68 03 00 00 56 23 66 6A DD 75 FA DD 74 FB 21 R 00 00 01 00 -T 73 03 00 00 4B 00 09 7E 23 66 6F 56 23 66 6A +T 73 03 00 00 4D 00 09 7E 23 66 6F 56 23 66 6A R 00 00 01 00 -T 7E 03 00 00 11 6D 00 19 E5 21 4B 00 09 46 23 +T 7E 03 00 00 11 6F 00 19 E5 21 4D 00 09 46 23 R 00 00 01 00 T 89 03 00 00 66 68 01 0C 00 09 4E 23 46 E1 71 R 00 00 01 00 @@ -298,15 +298,15 @@ T 94 03 00 00 23 70 DD 6E FA DD 66 FB 18 67 R 00 00 01 00 T 9E 03 00 00 R 00 00 01 00 -T 9E 03 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 9E 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 03 00 -T A7 03 00 00 23 66 6F 56 23 66 6A 11 6F 00 19 +T A7 03 00 00 23 66 6F 56 23 66 6A 11 71 00 19 R 00 00 01 00 T B2 03 00 00 56 23 66 6A DD 75 FA DD 74 FB 21 R 00 00 01 00 -T BD 03 00 00 4B 00 09 7E 23 66 6F 56 23 66 6A +T BD 03 00 00 4D 00 09 7E 23 66 6F 56 23 66 6A R 00 00 01 00 -T C8 03 00 00 11 6F 00 19 E5 21 4B 00 09 46 23 +T C8 03 00 00 11 71 00 19 E5 21 4D 00 09 46 23 R 00 00 01 00 T D3 03 00 00 66 68 01 0C 00 09 4E 23 46 E1 71 R 00 00 01 00 @@ -314,7 +314,7 @@ T DE 03 00 00 23 70 DD 6E FA DD 66 FB 18 1D R 00 00 01 00 T E8 03 00 00 R 00 00 01 00 -T E8 03 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T E8 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 03 00 T F1 03 00 00 23 66 68 01 08 00 09 36 01 23 36 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_ioctl.rel b/src/nos/lib/filesys_lib/sys_ioctl.rel index c6e4dc55..7be337a7 100644 --- a/src/nos/lib/filesys_lib/sys_ioctl.rel +++ b/src/nos/lib/filesys_lib/sys_ioctl.rel @@ -15,7 +15,7 @@ A CODE size E2 flags 0 S _sys_ioctl Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 4B 00 ED +T 00 00 00 00 CD 00 00 00 00 FE FF 21 4D 00 ED R 00 00 01 00 02 05 07 00 T 09 00 00 00 4B 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 05 05 00 @@ -27,7 +27,7 @@ T 21 00 00 00 75 FE DD 74 FF 7D B4 20 18 R 00 00 01 00 T 2A 00 00 00 R 00 00 01 00 -T 2A 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 2A 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T 33 00 00 00 23 66 68 01 08 00 09 36 09 23 36 R 00 00 01 00 @@ -43,7 +43,7 @@ T 51 00 00 00 2D 20 17 R 00 00 01 00 T 54 00 00 00 R 00 00 01 00 -T 54 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 54 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T 5D 00 00 00 23 66 68 01 08 00 09 36 13 23 36 R 00 00 01 00 @@ -59,7 +59,7 @@ T 7A 00 00 00 E6 02 47 7C E6 00 B0 20 17 R 00 00 01 00 T 83 00 00 00 R 00 00 01 00 -T 83 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 83 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T 8C 00 00 00 23 66 68 01 08 00 09 36 01 23 36 R 00 00 01 00 @@ -67,11 +67,11 @@ T 97 00 00 00 00 18 42 R 00 00 01 00 T 9A 00 00 00 R 00 00 01 00 -T 9A 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 9A 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 05 00 T A3 00 00 00 23 66 6A 11 0E 00 19 5E 23 56 D5 R 00 00 01 00 -T AE 00 00 00 21 4B 00 09 46 23 66 68 01 0C 00 +T AE 00 00 00 21 4D 00 09 46 23 66 68 01 0C 00 R 00 00 01 00 T B9 00 00 00 09 4E 23 46 21 22 00 DD 5E FE DD R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_kill.rel b/src/nos/lib/filesys_lib/sys_kill.rel index 8fe33fa9..6a558819 100644 --- a/src/nos/lib/filesys_lib/sys_kill.rel +++ b/src/nos/lib/filesys_lib/sys_kill.rel @@ -14,17 +14,17 @@ A CODE size B5 flags 0 S _sys_kill Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 4B 00 ED +T 00 00 00 00 CD 00 00 00 00 FE FF 21 4D 00 ED R 00 00 01 00 02 05 05 00 T 09 00 00 00 4B 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 05 02 00 -T 12 00 00 00 0C 00 09 7E 23 B6 28 30 21 4B 00 +T 12 00 00 00 0C 00 09 7E 23 B6 28 30 21 4D 00 R 00 00 01 00 T 1D 00 00 00 ED 4B 00 00 00 00 09 46 23 66 68 R 00 00 01 00 02 06 02 00 T 26 00 00 00 01 0C 00 09 7E FE 10 30 1B 21 R 00 00 01 00 -T 30 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T 30 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 02 00 T 39 00 00 00 66 68 01 0A 00 09 4E 23 46 21 R 00 00 01 00 @@ -36,7 +36,7 @@ T 4A 00 00 00 R 00 00 01 00 T 4A 00 00 00 R 00 00 01 00 -T 4A 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 4A 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 02 00 T 53 00 00 00 23 66 68 01 08 00 09 36 16 23 36 R 00 00 01 00 @@ -44,7 +44,7 @@ T 5E 00 00 00 00 21 FF FF 18 4E R 00 00 01 00 T 64 00 00 00 R 00 00 01 00 -T 64 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 64 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 02 00 T 6D 00 00 00 23 66 68 01 0A 00 09 5E 23 56 3E R 00 00 01 00 @@ -60,7 +60,7 @@ T 89 00 00 00 21 FF FF 18 24 R 00 00 01 00 T 8E 00 00 00 R 00 00 01 00 -T 8E 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 8E 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 02 00 T 97 00 00 00 23 66 68 01 0C 00 09 4E 23 46 DD R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_link.rel b/src/nos/lib/filesys_lib/sys_link.rel index 6baafd4e..b7de6a61 100644 --- a/src/nos/lib/filesys_lib/sys_link.rel +++ b/src/nos/lib/filesys_lib/sys_link.rel @@ -23,7 +23,7 @@ T 00 00 00 00 CD 00 00 00 00 E8 FF AF DD 77 EC R 00 00 01 00 02 05 09 00 T 09 00 00 00 DD 77 ED DD 36 EE FF DD 36 EF FF R 00 00 01 00 -T 14 00 00 00 0E 01 C5 01 00 00 21 4B 00 ED 5B +T 14 00 00 00 0E 01 C5 01 00 00 21 4D 00 ED 5B R 00 00 01 00 T 1F 00 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 07 00 @@ -47,7 +47,7 @@ T 52 00 00 00 E6 02 47 7C E6 00 B0 20 18 R 00 00 01 00 T 5B 00 00 00 R 00 00 01 00 -T 5B 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 5B 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 07 00 T 64 00 00 00 23 66 68 01 08 00 09 36 01 23 36 R 00 00 01 00 @@ -57,7 +57,7 @@ T 73 00 00 00 R 00 00 01 00 T 73 00 00 00 0E 01 C5 21 06 00 39 4D 44 21 R 00 00 01 00 -T 7D 00 00 00 4B 00 ED 5B 00 00 00 00 19 56 23 +T 7D 00 00 00 4D 00 ED 5B 00 00 00 00 19 56 23 R 00 00 01 00 02 08 07 00 T 86 00 00 00 66 6A 11 0C 00 19 5E 23 56 3E R 00 00 01 00 @@ -73,7 +73,7 @@ T A2 00 00 00 DD 5E EA DD 56 EB 3E 00 00 00 00 R 00 00 01 00 2B 0B 03 00 T AA 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 03 00 02 0A 01 00 -T B1 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T B1 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 07 00 T BA 00 00 00 66 68 01 08 00 09 36 11 23 36 00 R 00 00 01 00 @@ -99,7 +99,7 @@ T F4 00 00 00 17 R 00 00 01 00 T F5 00 00 00 R 00 00 01 00 -T F5 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T F5 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 07 00 T FE 00 00 00 23 66 68 01 08 00 09 36 12 23 36 R 00 00 01 00 @@ -107,7 +107,7 @@ T 09 01 00 00 00 18 7C R 00 00 01 00 T 0C 01 00 00 R 00 00 01 00 -T 0C 01 00 00 21 08 00 39 4D 44 21 4B 00 ED 5B +T 0C 01 00 00 21 08 00 39 4D 44 21 4D 00 ED 5B R 00 00 01 00 T 17 01 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 07 00 diff --git a/src/nos/lib/filesys_lib/sys_lseek.rel b/src/nos/lib/filesys_lib/sys_lseek.rel index c1f97656..f01df7de 100644 --- a/src/nos/lib/filesys_lib/sys_lseek.rel +++ b/src/nos/lib/filesys_lib/sys_lseek.rel @@ -15,7 +15,7 @@ A CODE size 1A9 flags 0 S _sys_lseek Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 4B 00 ED +T 00 00 00 00 CD 00 00 00 00 FC FF 21 4D 00 ED R 00 00 01 00 02 05 06 00 T 09 00 00 00 4B 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 05 04 00 @@ -29,7 +29,7 @@ T 2A 00 00 00 R 00 00 01 00 T 2A 00 00 00 R 00 00 01 00 -T 2A 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 2A 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 04 00 T 33 00 00 00 23 66 68 01 06 00 09 36 FF 23 36 R 00 00 01 00 @@ -47,7 +47,7 @@ T 5E 00 00 00 B1 20 17 R 00 00 01 00 T 61 00 00 00 R 00 00 01 00 -T 61 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 61 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 04 00 T 6A 00 00 00 23 66 68 01 08 00 09 36 1D 23 36 R 00 00 01 00 @@ -55,17 +55,17 @@ T 75 00 00 00 00 18 B2 R 00 00 01 00 T 78 00 00 00 R 00 00 01 00 -T 78 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 78 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 04 00 T 81 00 00 00 23 66 6A 11 0A 00 19 5E 16 00 21 R 00 00 01 00 -T 8C 00 00 00 4B 00 09 7E 23 66 6F 7E 23 66 6F +T 8C 00 00 00 4D 00 09 7E 23 66 6F 7E 23 66 6F R 00 00 01 00 -T 97 00 00 00 19 11 71 00 19 6E 26 00 29 11 +T 97 00 00 00 19 11 73 00 19 6E 26 00 29 11 R 00 00 01 00 T A1 00 00 00 00 00 00 00 19 56 23 66 6A DD 75 R 00 00 01 00 02 04 07 00 -T AA 00 00 00 FC DD 74 FD 21 4B 00 09 46 23 66 +T AA 00 00 00 FC DD 74 FD 21 4D 00 09 46 23 66 R 00 00 01 00 T B5 00 00 00 68 01 10 00 09 5E 23 56 CD R 00 00 01 00 @@ -77,7 +77,7 @@ T C8 00 00 00 F6 00 00 00 18 01 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 T CC 00 00 00 R 00 00 01 00 -T CC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T CC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 04 00 T D5 00 00 00 23 66 68 01 0C 00 09 5E 23 56 23 R 00 00 01 00 @@ -89,7 +89,7 @@ T F4 00 00 00 76 01 00 00 R 00 00 01 00 00 04 01 00 T F6 00 00 00 R 00 00 01 00 -T F6 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T F6 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 04 00 T FF 00 00 00 23 66 68 01 0C 00 09 5E 23 56 23 R 00 00 01 00 @@ -99,7 +99,7 @@ T 14 01 00 00 00 00 00 00 18 5E R 00 00 01 00 02 04 03 00 T 18 01 00 00 R 00 00 01 00 -T 18 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 18 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 04 00 T 21 01 00 00 23 66 68 01 0C 00 09 4E 23 46 23 R 00 00 01 00 @@ -115,7 +115,7 @@ T 58 01 00 00 23 71 23 70 18 18 R 00 00 01 00 T 5E 01 00 00 R 00 00 01 00 -T 5E 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 5E 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 04 00 T 67 01 00 00 23 66 68 01 08 00 09 36 16 23 36 R 00 00 01 00 @@ -123,7 +123,7 @@ T 72 01 00 00 00 C3 2A 00 00 00 R 00 00 01 00 00 06 01 00 T 76 01 00 00 R 00 00 01 00 -T 76 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 76 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 04 00 T 7F 01 00 00 23 66 68 01 06 00 09 E5 DD 4E FC R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_mknod.rel b/src/nos/lib/filesys_lib/sys_mknod.rel index f34893ca..57c31b00 100644 --- a/src/nos/lib/filesys_lib/sys_mknod.rel +++ b/src/nos/lib/filesys_lib/sys_mknod.rel @@ -19,27 +19,27 @@ S _sys_mknod Def00000000 S _sys_access Def0000016B T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 4B 00 ED +T 00 00 00 00 CD 00 00 00 00 FE FF 21 4D 00 ED R 00 00 01 00 02 05 0A 00 T 09 00 00 00 4B 00 00 00 00 09 7E 23 66 6F 56 R 00 00 01 00 02 05 08 00 -T 12 00 00 00 23 66 6A 11 21 00 19 56 23 66 6A +T 12 00 00 00 23 66 6A 11 23 00 19 56 23 66 6A R 00 00 01 00 T 1D 00 00 00 7D 2F 6F 7C 2F 67 7D E6 FF 5F 7C R 00 00 01 00 T 28 00 00 00 E6 0F 57 7B F6 00 4F 7A F6 F0 47 R 00 00 01 00 -T 33 00 00 00 21 4B 00 ED 5B 00 00 00 00 19 7E +T 33 00 00 00 21 4D 00 ED 5B 00 00 00 00 19 7E R 00 00 01 00 02 09 08 00 T 3C 00 00 00 23 66 6F 11 0C 00 19 7E A1 77 23 R 00 00 01 00 -T 47 00 00 00 7E A0 77 21 4B 00 ED 4B +T 47 00 00 00 7E A0 77 21 4D 00 ED 4B R 00 00 01 00 T 4F 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 08 00 T 57 00 00 00 0C 00 09 7E E6 00 4F 23 7E E6 F0 R 00 00 01 00 -T 62 00 00 00 47 3E 20 A8 B1 28 1F 21 4B 00 ED +T 62 00 00 00 47 3E 20 A8 B1 28 1F 21 4D 00 ED R 00 00 01 00 T 6D 00 00 00 4B 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 05 08 00 @@ -51,9 +51,9 @@ T 88 00 00 00 R 00 00 01 00 T 88 00 00 00 R 00 00 01 00 -T 88 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 88 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 08 00 -T 91 00 00 00 23 66 6F 46 23 66 68 01 1D 00 09 +T 91 00 00 00 23 66 6F 46 23 66 68 01 1F 00 09 R 00 00 01 00 T 9C 00 00 00 7E 23 B6 28 1B R 00 00 01 00 @@ -63,7 +63,7 @@ T A1 00 00 00 R 00 00 01 00 T A1 00 00 00 R 00 00 01 00 -T A1 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T A1 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 08 00 T AA 00 00 00 23 66 68 01 08 00 09 36 01 23 36 R 00 00 01 00 @@ -75,11 +75,11 @@ T B6 00 00 00 21 FF FF C3 68 01 00 00 R 00 00 01 00 00 08 01 00 T BC 00 00 00 R 00 00 01 00 -T BC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T BC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 08 00 T C5 00 00 00 23 66 6A 11 0C 00 19 5E 23 56 D5 R 00 00 01 00 -T D0 00 00 00 0E 01 21 4B 00 ED 5B 00 00 00 00 +T D0 00 00 00 0E 01 21 4D 00 ED 5B 00 00 00 00 R 00 00 01 00 02 0B 08 00 T D9 00 00 00 19 46 23 66 68 11 0A 00 19 5E 23 R 00 00 01 00 @@ -105,7 +105,7 @@ T 0C 01 00 00 R 00 00 01 00 T 0C 01 00 00 21 22 00 DD 4E FE DD 46 FF 09 E5 R 00 00 01 00 -T 17 01 00 00 21 4B 00 ED 5B 00 00 00 00 19 56 +T 17 01 00 00 21 4D 00 ED 5B 00 00 00 00 19 56 R 00 00 01 00 02 09 08 00 T 20 01 00 00 23 66 6A 11 0E 00 19 5E 23 56 E1 R 00 00 01 00 @@ -143,13 +143,13 @@ T 6B 01 00 00 R 00 00 01 00 T 6B 01 00 00 CD 00 00 00 00 FA FF DD 36 FC FF R 00 00 01 00 02 05 0A 00 -T 74 01 00 00 DD 36 FD FF 21 4B 00 ED 4B +T 74 01 00 00 DD 36 FD FF 21 4D 00 ED 4B R 00 00 01 00 T 7D 01 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 08 00 T 85 01 00 00 0C 00 09 7E E6 07 77 23 7E E6 00 R 00 00 01 00 -T 90 01 00 00 77 2B B6 28 3D 21 4B 00 ED 4B +T 90 01 00 00 77 2B B6 28 3D 21 4D 00 ED 4B R 00 00 01 00 T 9A 01 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 08 00 @@ -165,7 +165,7 @@ T BA 01 00 00 R 00 00 01 00 T BA 01 00 00 R 00 00 01 00 -T BA 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T BA 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 08 00 T C3 01 00 00 23 66 68 01 08 00 09 36 02 23 36 R 00 00 01 00 @@ -173,31 +173,31 @@ T CE 01 00 00 00 C3 18 03 00 00 R 00 00 01 00 00 06 01 00 T D2 01 00 00 R 00 00 01 00 -T D2 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T D2 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 08 00 -T DB 01 00 00 23 66 6F 56 23 66 6A 11 1D 00 19 +T DB 01 00 00 23 66 6F 56 23 66 6A 11 1F 00 19 R 00 00 01 00 -T E6 01 00 00 56 DD 72 FE 21 4B 00 09 7E 23 66 +T E6 01 00 00 56 DD 72 FE 21 4D 00 09 7E 23 66 R 00 00 01 00 -T F1 01 00 00 6F 56 23 66 6A 11 1F 00 19 56 DD +T F1 01 00 00 6F 56 23 66 6A 11 21 00 19 56 DD R 00 00 01 00 -T FC 01 00 00 72 FF 21 4B 00 09 7E 23 66 6F 56 +T FC 01 00 00 72 FF 21 4D 00 09 7E 23 66 6F 56 R 00 00 01 00 -T 07 02 00 00 23 66 6A 11 1D 00 19 E5 21 4B 00 +T 07 02 00 00 23 66 6A 11 1F 00 19 E5 21 4D 00 R 00 00 01 00 T 12 02 00 00 09 7E 23 66 6F 56 23 66 6A 23 23 R 00 00 01 00 -T 1D 02 00 00 23 5E 23 56 E1 73 23 72 21 4B 00 +T 1D 02 00 00 23 5E 23 56 E1 73 23 72 21 4D 00 R 00 00 01 00 T 28 02 00 00 ED 4B 00 00 00 00 09 7E 23 66 6F R 00 00 01 00 02 06 08 00 -T 31 02 00 00 56 23 66 6A 11 1F 00 19 E5 21 +T 31 02 00 00 56 23 66 6A 11 21 00 19 E5 21 R 00 00 01 00 -T 3B 02 00 00 4B 00 09 7E 23 66 6F 56 23 66 6A +T 3B 02 00 00 4D 00 09 7E 23 66 6F 56 23 66 6A R 00 00 01 00 -T 46 02 00 00 11 1B 00 19 5E 23 56 E1 73 23 72 +T 46 02 00 00 11 1D 00 19 5E 23 56 E1 73 23 72 R 00 00 01 00 -T 51 02 00 00 0E 01 C5 01 00 00 21 4B 00 ED 5B +T 51 02 00 00 0E 01 C5 01 00 00 21 4D 00 ED 5B R 00 00 01 00 T 5C 02 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 08 00 @@ -219,7 +219,7 @@ T 8A 02 00 00 56 FB 3E 00 00 00 00 21 R 00 00 01 00 2B 07 0B 00 T 8F 02 00 00 00 00 00 00 CD 00 00 00 00 7D 2F R 00 00 01 00 02 04 0B 00 02 09 00 00 -T 96 02 00 00 6F 7C 2F 67 E5 21 4B 00 ED 4B +T 96 02 00 00 6F 7C 2F 67 E5 21 4D 00 ED 4B R 00 00 01 00 T A0 02 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 08 00 @@ -229,7 +229,7 @@ T B3 02 00 00 28 1D R 00 00 01 00 T B5 02 00 00 R 00 00 01 00 -T B5 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T B5 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 08 00 T BE 02 00 00 23 66 68 01 08 00 09 36 01 23 36 R 00 00 01 00 @@ -243,15 +243,15 @@ T DA 02 00 00 21 00 00 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 04 00 02 0A 00 00 T E0 02 00 00 R 00 00 01 00 -T E0 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T E0 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 08 00 -T E9 02 00 00 23 66 6F 56 23 66 6A 11 1D 00 19 +T E9 02 00 00 23 66 6F 56 23 66 6A 11 1F 00 19 R 00 00 01 00 -T F4 02 00 00 DD 5E FE 16 00 73 23 72 21 4B 00 +T F4 02 00 00 DD 5E FE 16 00 73 23 72 21 4D 00 R 00 00 01 00 T FF 02 00 00 ED 4B 00 00 00 00 09 7E 23 66 6F R 00 00 01 00 02 06 08 00 -T 08 03 00 00 46 23 66 68 01 1F 00 09 DD 4E FF +T 08 03 00 00 46 23 66 68 01 21 00 09 DD 4E FF R 00 00 01 00 T 13 03 00 00 06 00 71 23 70 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_mountumount.rel b/src/nos/lib/filesys_lib/sys_mountumount.rel index 181feab4..c8a2cddb 100644 --- a/src/nos/lib/filesys_lib/sys_mountumount.rel +++ b/src/nos/lib/filesys_lib/sys_mountumount.rel @@ -21,15 +21,15 @@ T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F4 FF DD 36 FC FF R 00 00 01 00 02 05 0A 00 -T 09 00 00 00 DD 36 FD FF 21 4B 00 ED 4B +T 09 00 00 00 DD 36 FD FF 21 4D 00 ED 4B R 00 00 01 00 T 12 00 00 00 00 00 00 00 09 7E 23 66 6F 46 23 R 00 00 01 00 02 04 08 00 -T 1B 00 00 00 66 68 01 1D 00 09 7E 23 B6 28 18 +T 1B 00 00 00 66 68 01 1F 00 09 7E 23 B6 28 18 R 00 00 01 00 T 26 00 00 00 R 00 00 01 00 -T 26 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 26 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 08 00 T 2F 00 00 00 23 66 68 01 08 00 09 36 01 23 36 R 00 00 01 00 @@ -37,7 +37,7 @@ T 3A 00 00 00 00 C3 41 03 00 00 R 00 00 01 00 00 06 01 00 T 3E 00 00 00 R 00 00 01 00 -T 3E 00 00 00 0E 01 C5 01 00 00 21 4B 00 ED 5B +T 3E 00 00 00 0E 01 C5 01 00 00 21 4D 00 ED 5B R 00 00 01 00 T 49 00 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 08 00 @@ -53,13 +53,13 @@ T 6A 00 00 00 C3 41 03 00 00 R 00 00 01 00 00 05 01 00 T 6D 00 00 00 R 00 00 01 00 -T 6D 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 6D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 08 00 T 76 00 00 00 23 66 68 23 23 23 7E FE 13 20 3D R 00 00 01 00 T 81 00 00 00 R 00 00 01 00 -T 81 00 00 00 0E 01 C5 01 00 00 21 4B 00 ED 5B +T 81 00 00 00 0E 01 C5 01 00 00 21 4D 00 ED 5B R 00 00 01 00 T 8C 00 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 08 00 @@ -89,7 +89,7 @@ T D4 00 00 00 B1 28 18 R 00 00 01 00 T D7 00 00 00 R 00 00 01 00 -T D7 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T D7 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 08 00 T E0 00 00 00 23 66 68 01 08 00 09 36 0F 23 36 R 00 00 01 00 @@ -97,7 +97,7 @@ T EB 00 00 00 00 C3 11 03 00 00 R 00 00 01 00 00 06 01 00 T EF 00 00 00 R 00 00 01 00 -T EF 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T EF 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 08 00 T F8 00 00 00 23 66 68 23 23 23 7E FE 13 28 28 R 00 00 01 00 @@ -131,7 +131,7 @@ T 41 01 00 00 B1 28 18 R 00 00 01 00 T 44 01 00 00 R 00 00 01 00 -T 44 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 44 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 08 00 T 4D 01 00 00 23 66 68 01 08 00 09 36 14 23 36 R 00 00 01 00 @@ -151,7 +151,7 @@ T 7F 01 00 00 R 00 00 01 00 T 7F 01 00 00 R 00 00 01 00 -T 7F 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 7F 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 08 00 T 88 01 00 00 23 66 68 01 08 00 09 36 06 23 36 R 00 00 01 00 @@ -171,7 +171,7 @@ T A7 01 00 00 DD 5E FA DD 56 FB 3E 00 00 00 00 R 00 00 01 00 2B 0B 0C 00 T AF 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 0C 00 02 0A 00 00 -T B6 01 00 00 75 FE DD 74 FF 21 4B 00 ED 4B +T B6 01 00 00 75 FE DD 74 FF 21 4D 00 ED 4B R 00 00 01 00 T C0 01 00 00 00 00 00 00 09 46 23 66 68 23 23 R 00 00 01 00 02 04 08 00 @@ -189,7 +189,7 @@ T E3 01 00 00 R 00 00 01 00 T E3 01 00 00 R 00 00 01 00 -T E3 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T E3 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 08 00 T EC 01 00 00 23 66 68 01 08 00 09 36 16 23 36 R 00 00 01 00 @@ -259,7 +259,7 @@ T 7F 02 00 00 R 00 00 01 00 T 7F 02 00 00 R 00 00 01 00 -T 7F 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 7F 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 08 00 T 88 02 00 00 23 66 68 01 08 00 09 36 10 23 36 R 00 00 01 00 @@ -271,7 +271,7 @@ T 96 02 00 00 R 00 00 01 00 T 96 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 0D 00 02 0A 0D 00 -T 9C 02 00 00 00 00 00 00 21 4B 00 ED 4B +T 9C 02 00 00 00 00 00 00 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T A3 02 00 00 00 00 00 00 09 46 23 66 68 23 23 R 00 00 01 00 02 04 08 00 @@ -291,7 +291,7 @@ T D7 02 00 00 FD 18 37 R 00 00 01 00 T DA 02 00 00 R 00 00 01 00 -T DA 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T DA 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 08 00 T E3 02 00 00 23 66 68 01 0E 00 09 4E C5 DD 4E R 00 00 01 00 @@ -315,7 +315,7 @@ T 11 03 00 00 R 00 00 01 00 T 11 03 00 00 R 00 00 01 00 -T 11 03 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 11 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 08 00 T 1A 03 00 00 23 66 68 23 23 23 7E FE 13 20 0E R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_open.rel b/src/nos/lib/filesys_lib/sys_open.rel index dd27f976..e5772bd3 100644 --- a/src/nos/lib/filesys_lib/sys_open.rel +++ b/src/nos/lib/filesys_lib/sys_open.rel @@ -23,13 +23,13 @@ A CODE size 465 flags 0 S _sys_open Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F4 FF 21 4B 00 ED +T 00 00 00 00 CD 00 00 00 00 F4 FF 21 4D 00 ED R 00 00 01 00 02 05 0A 00 T 09 00 00 00 4B 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 05 07 00 T 12 00 00 00 0C 00 19 56 23 66 6A DD 75 FA DD R 00 00 01 00 -T 1D 00 00 00 74 FB 21 4B 00 09 46 23 66 68 01 +T 1D 00 00 00 74 FB 21 4D 00 09 46 23 66 68 01 R 00 00 01 00 T 28 00 00 00 0C 00 09 7E E6 FF 77 23 7E E6 00 R 00 00 01 00 @@ -39,7 +39,7 @@ T 3D 00 00 00 00 00 00 00 30 18 R 00 00 01 00 02 04 0D 00 T 41 00 00 00 R 00 00 01 00 -T 41 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 41 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 07 00 T 4A 00 00 00 23 66 68 01 08 00 09 36 16 23 36 R 00 00 01 00 @@ -87,7 +87,7 @@ T AE 00 00 00 AF R 00 00 01 00 T AF 00 00 00 R 00 00 01 00 -T AF 00 00 00 4F C5 01 00 00 21 4B 00 ED 5B +T AF 00 00 00 4F C5 01 00 00 21 4D 00 ED 5B R 00 00 01 00 T B9 00 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 07 00 @@ -115,25 +115,25 @@ T E9 00 00 00 C3 54 04 00 00 R 00 00 01 00 00 05 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 07 00 -T F5 00 00 00 23 66 6A 11 0E 00 19 E5 21 4B 00 +T F5 00 00 00 23 66 6A 11 0E 00 19 E5 21 4D 00 R 00 00 01 00 T 00 01 00 00 09 56 23 66 6A 11 0E 00 19 7E E6 R 00 00 01 00 -T 0B 01 00 00 FF 5F 23 7E E6 0F 57 21 4B 00 09 +T 0B 01 00 00 FF 5F 23 7E E6 0F 57 21 4D 00 09 R 00 00 01 00 -T 16 01 00 00 7E 23 66 6F 7E 23 66 6F 01 21 00 +T 16 01 00 00 7E 23 66 6F 7E 23 66 6F 01 23 00 R 00 00 01 00 T 21 01 00 00 09 46 23 66 68 7D 2F 6F 7C 2F 67 R 00 00 01 00 T 2C 01 00 00 7B A5 4F 7A A4 47 79 F6 00 5F 78 R 00 00 01 00 -T 37 01 00 00 F6 80 57 E1 73 23 72 21 4B 00 ED +T 37 01 00 00 F6 80 57 E1 73 23 72 21 4D 00 ED R 00 00 01 00 T 42 01 00 00 4B 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 05 07 00 -T 4B 01 00 00 08 00 19 AF 77 23 77 21 4B 00 ED +T 4B 01 00 00 08 00 19 AF 77 23 77 21 4D 00 ED R 00 00 01 00 T 56 01 00 00 4B 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 05 07 00 @@ -149,7 +149,7 @@ T 78 01 00 00 0E 00 R 00 00 01 00 T 7A 01 00 00 R 00 00 01 00 -T 7A 01 00 00 21 4B 00 ED 5B 00 00 00 00 19 46 +T 7A 01 00 00 21 4D 00 ED 5B 00 00 00 00 19 46 R 00 00 01 00 02 09 07 00 T 83 01 00 00 23 66 68 11 0A 00 19 5E 23 56 3E R 00 00 01 00 @@ -177,11 +177,11 @@ T C2 01 00 00 23 70 59 50 3E 00 00 00 00 21 R 00 00 01 00 2B 09 0F 00 T C9 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 0F 00 02 09 00 00 -T D0 01 00 00 FC 21 4B 00 ED 4B 00 00 00 00 09 +T D0 01 00 00 FC 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 07 00 T D9 01 00 00 46 23 66 68 01 0C 00 09 AF B6 28 R 00 00 01 00 -T E4 01 00 00 15 21 4B 00 ED 4B 00 00 00 00 09 +T E4 01 00 00 15 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 07 00 T ED 01 00 00 46 23 66 68 01 0C 00 09 46 05 05 R 00 00 01 00 @@ -197,11 +197,11 @@ T 01 02 00 00 R 00 00 01 00 T 01 02 00 00 R 00 00 01 00 -T 01 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 01 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 07 00 T 0A 02 00 00 23 66 68 01 0C 00 09 46 05 28 15 R 00 00 01 00 -T 15 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 15 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 07 00 T 1E 02 00 00 23 66 68 01 0C 00 09 46 05 05 20 R 00 00 01 00 @@ -223,7 +223,7 @@ T 31 02 00 00 R 00 00 01 00 T 31 02 00 00 R 00 00 01 00 -T 31 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 31 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 07 00 T 3A 02 00 00 23 66 68 01 08 00 09 36 01 23 36 R 00 00 01 00 @@ -231,11 +231,11 @@ T 45 02 00 00 00 C3 54 04 00 00 R 00 00 01 00 00 06 01 00 T 49 02 00 00 R 00 00 01 00 -T 49 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 49 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 07 00 T 52 02 00 00 23 66 68 01 0C 00 09 46 05 28 15 R 00 00 01 00 -T 5D 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 5D 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 07 00 T 66 02 00 00 23 66 68 01 0C 00 09 46 05 05 20 R 00 00 01 00 @@ -255,7 +255,7 @@ T 80 02 00 00 R 00 00 01 00 T 80 02 00 00 R 00 00 01 00 -T 80 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 80 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 07 00 T 89 02 00 00 23 66 68 01 08 00 09 36 1E 23 36 R 00 00 01 00 @@ -277,7 +277,7 @@ T BF 02 00 00 R 00 00 01 00 T BF 02 00 00 R 00 00 01 00 -T BF 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T BF 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 07 00 T C8 02 00 00 23 66 68 01 08 00 09 36 03 23 36 R 00 00 01 00 @@ -289,7 +289,7 @@ T D7 02 00 00 21 0A 00 DD 4E F8 DD 46 F9 09 7E R 00 00 01 00 T E2 02 00 00 E6 00 4F 23 7E E6 F0 47 3E 40 A8 R 00 00 01 00 -T ED 02 00 00 B1 20 2D 21 4B 00 ED 4B +T ED 02 00 00 B1 20 2D 21 4D 00 ED 4B R 00 00 01 00 T F5 02 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 07 00 @@ -301,7 +301,7 @@ T 05 03 00 00 R 00 00 01 00 T 05 03 00 00 R 00 00 01 00 -T 05 03 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 05 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 07 00 T 0E 03 00 00 23 66 68 01 08 00 09 36 15 23 36 R 00 00 01 00 @@ -331,7 +331,7 @@ T 5B 03 00 00 R 00 00 01 00 T 5B 03 00 00 R 00 00 01 00 -T 5B 03 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 5B 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 07 00 T 64 03 00 00 23 66 68 01 08 00 09 36 06 23 36 R 00 00 01 00 @@ -339,11 +339,11 @@ T 6F 03 00 00 00 C3 54 04 00 00 R 00 00 01 00 00 06 01 00 T 73 03 00 00 R 00 00 01 00 -T 73 03 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 73 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 07 00 T 7C 03 00 00 23 66 6F 46 23 66 68 DD 4E FE 06 R 00 00 01 00 -T 87 03 00 00 00 09 01 71 00 09 DD 46 FD 70 DD +T 87 03 00 00 00 09 01 73 00 09 DD 46 FD 70 DD R 00 00 01 00 T 92 03 00 00 6E F4 DD 66 F5 DD 75 F6 DD 74 F7 R 00 00 01 00 @@ -381,7 +381,7 @@ T F6 03 00 00 21 00 00 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 11 00 02 0A 00 00 T FC 03 00 00 R 00 00 01 00 -T FC 03 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T FC 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 07 00 T 05 04 00 00 23 66 68 01 0C 00 09 46 21 06 00 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_pause.rel b/src/nos/lib/filesys_lib/sys_pause.rel index c91ac7c8..0fbd96e4 100644 --- a/src/nos/lib/filesys_lib/sys_pause.rel +++ b/src/nos/lib/filesys_lib/sys_pause.rel @@ -15,7 +15,7 @@ T 00 00 00 00 C5 D5 11 00 00 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 04 00 T 08 00 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 04 00 02 09 00 00 -T 0E 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T 0E 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 02 00 T 17 00 00 00 66 68 01 08 00 09 36 04 23 36 00 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_pipe.rel b/src/nos/lib/filesys_lib/sys_pipe.rel index f55a68fa..a97b675a 100644 --- a/src/nos/lib/filesys_lib/sys_pipe.rel +++ b/src/nos/lib/filesys_lib/sys_pipe.rel @@ -30,7 +30,7 @@ T 1E 00 00 00 FE DD 74 FF 7D B4 20 18 R 00 00 01 00 T 26 00 00 00 R 00 00 01 00 -T 26 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 26 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T 2F 00 00 00 23 66 68 01 08 00 09 36 0C 23 36 R 00 00 01 00 @@ -52,7 +52,7 @@ T 5A 00 00 00 R 00 00 01 00 T 5A 00 00 00 R 00 00 01 00 -T 5A 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 5A 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T 63 00 00 00 23 66 68 01 08 00 09 36 02 23 36 R 00 00 01 00 @@ -60,11 +60,11 @@ T 6E 00 00 00 00 C3 A0 01 00 00 R 00 00 01 00 00 06 01 00 T 72 00 00 00 R 00 00 01 00 -T 72 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 72 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 05 00 T 7B 00 00 00 23 66 6F 46 23 66 68 DD 4E FA 06 R 00 00 01 00 -T 86 00 00 00 00 09 01 71 00 09 DD 46 FC 70 DD +T 86 00 00 00 00 09 01 73 00 09 DD 46 FC 70 DD R 00 00 01 00 T 91 00 00 00 6E FE DD 66 FF E5 0E 00 DD 5E FC R 00 00 01 00 @@ -86,11 +86,11 @@ T C1 00 00 00 R 00 00 01 00 T C1 00 00 00 R 00 00 01 00 -T C1 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T C1 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 05 00 T CA 00 00 00 23 66 6F 56 23 66 6A DD 5E FA 16 R 00 00 01 00 -T D5 00 00 00 00 19 11 71 00 19 36 FF 21 4B 00 +T D5 00 00 00 00 19 11 73 00 19 36 FF 21 4D 00 R 00 00 01 00 T E0 00 00 00 ED 4B 00 00 00 00 09 46 23 66 68 R 00 00 01 00 02 06 05 00 @@ -100,11 +100,11 @@ T F3 00 00 00 8F 01 00 00 R 00 00 01 00 00 04 01 00 T F5 00 00 00 R 00 00 01 00 -T F5 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T F5 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 05 00 T FE 00 00 00 23 66 6F 56 23 66 6A DD 5E FB 16 R 00 00 01 00 -T 09 01 00 00 00 19 11 71 00 19 DD 56 FD 72 DD +T 09 01 00 00 00 19 11 73 00 19 DD 56 FD 72 DD R 00 00 01 00 T 14 01 00 00 6E FE DD 66 FF E5 0E 01 DD 5E FD R 00 00 01 00 @@ -120,7 +120,7 @@ T 43 01 00 00 34 23 20 01 34 R 00 00 01 00 T 48 01 00 00 R 00 00 01 00 -T 48 01 00 00 DD 4E FA 06 00 21 4B 00 ED 5B +T 48 01 00 00 DD 4E FA 06 00 21 4D 00 ED 5B R 00 00 01 00 T 52 01 00 00 00 00 00 00 19 7E 23 66 6F 11 R 00 00 01 00 02 04 05 00 @@ -128,7 +128,7 @@ T 5A 01 00 00 0A 00 19 5E 23 56 3E 00 00 00 00 R 00 00 01 00 2B 0B 04 00 T 62 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 04 00 02 0A 00 00 -T 69 01 00 00 4E FB 06 00 21 4B 00 ED 5B +T 69 01 00 00 4E FB 06 00 21 4D 00 ED 5B R 00 00 01 00 T 72 01 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 diff --git a/src/nos/lib/filesys_lib/sys_readwrite.rel b/src/nos/lib/filesys_lib/sys_readwrite.rel index f9fadf5f..cf65007a 100644 --- a/src/nos/lib/filesys_lib/sys_readwrite.rel +++ b/src/nos/lib/filesys_lib/sys_readwrite.rel @@ -14,7 +14,7 @@ A CODE size 11E flags 0 S _sys_readwrite Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 4B 00 ED +T 00 00 00 00 CD 00 00 00 00 FE FF 21 4D 00 ED R 00 00 01 00 02 05 05 00 T 09 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 03 00 @@ -26,13 +26,13 @@ T 1D 00 00 00 AF R 00 00 01 00 T 1E 00 00 00 R 00 00 01 00 -T 1E 00 00 00 4F C5 21 4B 00 ED 4B 00 00 00 00 +T 1E 00 00 00 4F C5 21 4D 00 ED 4B 00 00 00 00 R 00 00 01 00 02 0B 03 00 T 27 00 00 00 09 56 23 66 6A 11 0E 00 19 5E 23 R 00 00 01 00 -T 32 00 00 00 56 D5 21 4B 00 09 56 23 66 6A 11 +T 32 00 00 00 56 D5 21 4D 00 09 56 23 66 6A 11 R 00 00 01 00 -T 3D 00 00 00 0C 00 19 4E 23 46 21 4B 00 ED 5B +T 3D 00 00 00 0C 00 19 4E 23 46 21 4D 00 ED 5B R 00 00 01 00 T 48 00 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 03 00 @@ -48,7 +48,7 @@ T 68 00 00 00 21 FF FF C3 1B 01 00 00 R 00 00 01 00 00 08 01 00 T 6E 00 00 00 R 00 00 01 00 -T 6E 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 6E 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 03 00 T 77 00 00 00 23 66 68 01 0E 00 09 7E 23 B6 28 R 00 00 01 00 @@ -56,7 +56,7 @@ T 82 00 00 00 36 R 00 00 01 00 T 83 00 00 00 R 00 00 01 00 -T 83 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 83 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 03 00 T 8C 00 00 00 23 66 68 23 23 23 7E FE 17 20 12 R 00 00 01 00 @@ -80,21 +80,21 @@ T B9 00 00 00 R 00 00 01 00 T B9 00 00 00 R 00 00 01 00 -T B9 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T B9 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 03 00 T C2 00 00 00 23 66 6A 11 0A 00 19 56 23 66 6A R 00 00 01 00 -T CD 00 00 00 E5 21 4B 00 09 7E 23 66 6F 5E 23 +T CD 00 00 00 E5 21 4D 00 09 7E 23 66 6F 5E 23 R 00 00 01 00 -T D8 00 00 00 56 E1 19 11 71 00 19 6E 26 00 29 +T D8 00 00 00 56 E1 19 11 73 00 19 6E 26 00 29 R 00 00 01 00 T E3 00 00 00 11 00 00 00 00 19 7E 23 66 6F E5 R 00 00 01 00 02 05 06 00 -T EC 00 00 00 21 4B 00 09 56 23 66 6A 11 16 00 +T EC 00 00 00 21 4D 00 09 56 23 66 6A 11 16 00 R 00 00 01 00 T F7 00 00 00 19 5E 23 56 23 4E 23 46 E1 73 23 R 00 00 01 00 -T 02 01 00 00 72 23 71 23 70 21 4B 00 ED 4B +T 02 01 00 00 72 23 71 23 70 21 4D 00 ED 4B R 00 00 01 00 T 0C 01 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 03 00 diff --git a/src/nos/lib/filesys_lib/sys_reboot.rel b/src/nos/lib/filesys_lib/sys_reboot.rel index 5766830d..d7f80f38 100644 --- a/src/nos/lib/filesys_lib/sys_reboot.rel +++ b/src/nos/lib/filesys_lib/sys_reboot.rel @@ -11,11 +11,11 @@ A CODE size 82 flags 0 S _sys_reboot Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 C5 21 4B 00 ED 4B 00 00 00 00 09 +T 00 00 00 00 C5 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 03 00 -T 09 00 00 00 7E 23 66 6F 46 23 66 68 01 1D 00 +T 09 00 00 00 7E 23 66 6F 46 23 66 68 01 1F 00 R 00 00 01 00 -T 14 00 00 00 09 7E 23 B6 28 1A 21 4B 00 ED 4B +T 14 00 00 00 09 7E 23 B6 28 1A 21 4D 00 ED 4B R 00 00 01 00 T 1F 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 03 00 @@ -25,11 +25,11 @@ T 32 00 00 00 18 4A R 00 00 01 00 T 34 00 00 00 R 00 00 01 00 -T 34 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 34 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 03 00 T 3D 00 00 00 23 66 68 01 0A 00 09 7E FE 6D 20 R 00 00 01 00 -T 48 00 00 00 1D 21 4B 00 ED 4B 00 00 00 00 09 +T 48 00 00 00 1D 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 03 00 T 51 00 00 00 46 23 66 68 01 0C 00 09 7E FE 65 R 00 00 01 00 @@ -47,7 +47,7 @@ T 64 00 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 T 66 00 00 00 R 00 00 01 00 -T 66 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 66 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 03 00 T 6F 00 00 00 23 66 68 01 08 00 09 36 16 23 36 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_sbrk.rel b/src/nos/lib/filesys_lib/sys_sbrk.rel index 56be2b88..c054a7ee 100644 --- a/src/nos/lib/filesys_lib/sys_sbrk.rel +++ b/src/nos/lib/filesys_lib/sys_sbrk.rel @@ -12,13 +12,13 @@ A CODE size 88 flags 0 S _sys_sbrk Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 4B 00 ED +T 00 00 00 00 CD 00 00 00 00 FE FF 21 4D 00 ED R 00 00 01 00 02 05 04 00 T 09 00 00 00 4B 00 00 00 00 09 7E 23 66 6F 56 R 00 00 01 00 02 05 02 00 T 12 00 00 00 23 66 6A 11 19 00 19 56 23 66 6A R 00 00 01 00 -T 1D 00 00 00 DD 75 FE DD 74 FF 21 4B 00 09 46 +T 1D 00 00 00 DD 75 FE DD 74 FF 21 4D 00 09 46 R 00 00 01 00 T 28 00 00 00 23 66 68 01 0A 00 09 7E 23 B6 28 R 00 00 01 00 @@ -26,11 +26,11 @@ T 33 00 00 00 4B R 00 00 01 00 T 34 00 00 00 R 00 00 01 00 -T 34 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 34 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 02 00 T 3D 00 00 00 23 66 6A 11 0A 00 19 7E DD 86 FE R 00 00 01 00 -T 48 00 00 00 77 23 7E DD 8E FF 77 21 4B 00 ED +T 48 00 00 00 77 23 7E DD 8E FF 77 21 4D 00 ED R 00 00 01 00 T 53 00 00 00 4B 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/filesys_lib/sys_signal.rel b/src/nos/lib/filesys_lib/sys_signal.rel index 2a38f722..7466a300 100644 --- a/src/nos/lib/filesys_lib/sys_signal.rel +++ b/src/nos/lib/filesys_lib/sys_signal.rel @@ -21,17 +21,17 @@ T 09 00 00 00 F4 DD 70 F5 DD 70 F6 DD 70 F7 3E R 00 00 01 00 T 14 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 19 00 00 00 00 00 00 00 21 4B 00 ED 4B +T 19 00 00 00 00 00 00 00 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 02 00 -T 28 00 00 00 0A 00 09 7E 23 B6 28 32 21 4B 00 +T 28 00 00 00 0A 00 09 7E 23 B6 28 32 21 4D 00 R 00 00 01 00 T 33 00 00 00 ED 4B 00 00 00 00 09 46 23 66 68 R 00 00 01 00 02 06 02 00 T 3C 00 00 00 01 0A 00 09 3E 09 AE 23 B6 28 1B R 00 00 01 00 -T 47 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 47 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 02 00 T 50 00 00 00 23 66 68 01 0A 00 09 4E 23 46 21 R 00 00 01 00 @@ -43,7 +43,7 @@ T 62 00 00 00 R 00 00 01 00 T 62 00 00 00 R 00 00 01 00 -T 62 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 62 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 02 00 T 6B 00 00 00 23 66 68 01 08 00 09 36 16 23 36 R 00 00 01 00 @@ -51,7 +51,7 @@ T 76 00 00 00 00 C3 B6 01 00 00 R 00 00 01 00 00 06 01 00 T 7A 00 00 00 R 00 00 01 00 -T 7A 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 7A 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 02 00 T 83 00 00 00 23 66 68 01 0C 00 09 3E 01 AE 23 R 00 00 01 00 @@ -59,11 +59,11 @@ T 8E 00 00 00 B6 23 B6 23 B6 20 37 R 00 00 01 00 T 95 00 00 00 R 00 00 01 00 -T 95 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 95 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 02 00 T 9E 00 00 00 23 66 6A 11 0A 00 19 7E C6 FF 47 R 00 00 01 00 -T A9 00 00 00 11 01 00 CD 00 00 00 00 21 4B 00 +T A9 00 00 00 11 01 00 CD 00 00 00 00 21 4D 00 R 00 00 01 00 02 08 04 00 T B2 00 00 00 ED 4B 00 00 00 00 09 7E 23 66 6F R 00 00 01 00 02 06 02 00 @@ -73,13 +73,13 @@ T C6 00 00 00 23 7E B2 77 18 3B R 00 00 01 00 T CC 00 00 00 R 00 00 01 00 -T CC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T CC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 02 00 T D5 00 00 00 23 66 6A 11 0A 00 19 7E C6 FF 47 R 00 00 01 00 T E0 00 00 00 11 01 00 CD 00 00 00 00 7B 2F 5F R 00 00 01 00 02 08 04 00 -T E9 00 00 00 7A 2F 57 21 4B 00 ED 4B +T E9 00 00 00 7A 2F 57 21 4D 00 ED 4B R 00 00 01 00 T F1 00 00 00 00 00 00 00 09 7E 23 66 6F 46 23 R 00 00 01 00 02 04 02 00 @@ -89,31 +89,31 @@ T 05 01 00 00 A2 77 R 00 00 01 00 T 07 01 00 00 R 00 00 01 00 -T 07 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 07 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 02 00 T 10 01 00 00 23 66 6A 11 0A 00 19 5E 23 56 01 R 00 00 01 00 -T 1B 01 00 00 03 00 CD 00 00 00 00 21 4B 00 ED +T 1B 01 00 00 03 00 CD 00 00 00 00 21 4D 00 ED R 00 00 01 00 02 07 07 00 T 24 01 00 00 4B 00 00 00 00 09 7E 23 66 6F 7E R 00 00 01 00 02 05 02 00 -T 2D 01 00 00 23 66 6F 19 11 28 00 19 4E 23 46 +T 2D 01 00 00 23 66 6F 19 11 2A 00 19 4E 23 46 R 00 00 01 00 T 38 01 00 00 23 5E 69 60 16 00 DD 75 F4 DD 74 R 00 00 01 00 -T 43 01 00 00 F5 DD 73 F6 DD 72 F7 21 4B 00 ED +T 43 01 00 00 F5 DD 73 F6 DD 72 F7 21 4D 00 ED R 00 00 01 00 T 4E 01 00 00 4B 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 05 02 00 T 57 01 00 00 0A 00 19 56 23 66 6A DD 75 F8 DD R 00 00 01 00 -T 62 01 00 00 74 F9 21 4B 00 09 7E 23 66 6F 56 +T 62 01 00 00 74 F9 21 4D 00 09 7E 23 66 6F 56 R 00 00 01 00 -T 6D 01 00 00 23 66 6A 11 2B 00 19 DD 5E F8 DD +T 6D 01 00 00 23 66 6A 11 2D 00 19 DD 5E F8 DD R 00 00 01 00 T 78 01 00 00 56 F9 1B 01 03 00 CD 00 00 00 00 R 00 00 01 00 02 0B 07 00 -T 81 01 00 00 19 DD 75 FD DD 74 FE 21 4B 00 ED +T 81 01 00 00 19 DD 75 FD DD 74 FE 21 4D 00 ED R 00 00 01 00 T 8C 01 00 00 4B 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 05 02 00 @@ -127,7 +127,7 @@ T B6 01 00 00 R 00 00 01 00 T B6 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 05 00 02 0A 05 00 -T BC 01 00 00 00 00 00 00 21 4B 00 ED 4B +T BC 01 00 00 00 00 00 00 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T C3 01 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 02 00 diff --git a/src/nos/lib/filesys_lib/sys_statfstat.rel b/src/nos/lib/filesys_lib/sys_statfstat.rel index d423348b..3fb8fa1a 100644 --- a/src/nos/lib/filesys_lib/sys_statfstat.rel +++ b/src/nos/lib/filesys_lib/sys_statfstat.rel @@ -18,7 +18,7 @@ T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 01 1E 00 21 R 00 00 01 00 02 05 07 00 -T 09 00 00 00 4B 00 ED 5B 00 00 00 00 19 56 23 +T 09 00 00 00 4D 00 ED 5B 00 00 00 00 19 56 23 R 00 00 01 00 02 08 05 00 T 12 00 00 00 66 6A 11 0C 00 19 5E 23 56 3E R 00 00 01 00 @@ -32,13 +32,13 @@ T 27 00 00 00 18 69 R 00 00 01 00 T 29 00 00 00 R 00 00 01 00 -T 29 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 29 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T 32 00 00 00 23 66 68 23 23 23 7E FE 1B 20 30 R 00 00 01 00 T 3D 00 00 00 R 00 00 01 00 -T 3D 00 00 00 0E 01 C5 01 00 00 21 4B 00 ED 5B +T 3D 00 00 00 0E 01 C5 01 00 00 21 4D 00 ED 5B R 00 00 01 00 T 48 00 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 @@ -58,7 +58,7 @@ T 6B 00 00 00 18 3F R 00 00 01 00 T 6D 00 00 00 R 00 00 01 00 -T 6D 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 6D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T 76 00 00 00 23 66 68 01 0A 00 09 5E 16 00 3E R 00 00 01 00 @@ -72,7 +72,7 @@ T 92 00 00 00 R 00 00 01 00 T 92 00 00 00 R 00 00 01 00 -T 92 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 92 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T 9B 00 00 00 23 66 68 01 08 00 09 36 02 23 36 R 00 00 01 00 @@ -82,7 +82,7 @@ T AC 00 00 00 R 00 00 01 00 T AC 00 00 00 R 00 00 01 00 -T AC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T AC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 05 00 T B5 00 00 00 23 66 6A 11 0C 00 19 4E 23 46 DD R 00 00 01 00 @@ -90,7 +90,7 @@ T C0 00 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 08 00 T C8 00 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 08 00 02 09 00 00 -T CE 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T CE 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 05 00 T D7 00 00 00 66 68 23 23 23 7E FE 1B 20 0E R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_stime.rel b/src/nos/lib/filesys_lib/sys_stime.rel index abc2f91c..7683c4db 100644 --- a/src/nos/lib/filesys_lib/sys_stime.rel +++ b/src/nos/lib/filesys_lib/sys_stime.rel @@ -13,13 +13,13 @@ A CODE size 72 flags 0 S _sys_stime Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 4B 00 ED +T 00 00 00 00 CD 00 00 00 00 FC FF 21 4D 00 ED R 00 00 01 00 02 05 06 00 T 09 00 00 00 4B 00 00 00 00 09 7E 23 66 6F 46 R 00 00 01 00 02 05 04 00 -T 12 00 00 00 23 66 68 01 1D 00 09 7E 23 B6 28 +T 12 00 00 00 23 66 68 01 1F 00 09 7E 23 B6 28 R 00 00 01 00 -T 1D 00 00 00 1A 21 4B 00 ED 4B 00 00 00 00 09 +T 1D 00 00 00 1A 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 04 00 T 26 00 00 00 46 23 66 68 01 08 00 09 36 01 23 R 00 00 01 00 @@ -27,7 +27,7 @@ T 31 00 00 00 36 00 21 FF FF 18 37 R 00 00 01 00 T 38 00 00 00 R 00 00 01 00 -T 38 00 00 00 21 04 00 E5 21 4B 00 ED 4B +T 38 00 00 00 21 04 00 E5 21 4D 00 ED 4B R 00 00 01 00 T 41 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 04 00 diff --git a/src/nos/lib/filesys_lib/sys_symlink.rel b/src/nos/lib/filesys_lib/sys_symlink.rel index 4b79dbd5..651caa98 100644 --- a/src/nos/lib/filesys_lib/sys_symlink.rel +++ b/src/nos/lib/filesys_lib/sys_symlink.rel @@ -20,9 +20,9 @@ T 00 00 00 00 CD 00 00 00 00 F8 FF AF DD 77 F8 R 00 00 01 00 02 05 08 00 T 09 00 00 00 DD 77 F9 DD 36 FA FF DD 36 FB FF R 00 00 01 00 -T 14 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 14 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 06 00 -T 1D 00 00 00 23 66 6F 56 23 66 6A 11 21 00 19 +T 1D 00 00 00 23 66 6F 56 23 66 6A 11 23 00 19 R 00 00 01 00 T 28 00 00 00 56 23 66 6A 7D 2F 6F 7C 2F 67 7D R 00 00 01 00 @@ -30,7 +30,7 @@ T 33 00 00 00 E6 B6 5F 7C E6 01 57 7B F6 00 6F R 00 00 01 00 T 3E 00 00 00 7A F6 80 67 DD 75 FC DD 74 FD E5 R 00 00 01 00 -T 49 00 00 00 0E 01 21 4B 00 ED 5B 00 00 00 00 +T 49 00 00 00 0E 01 21 4D 00 ED 5B 00 00 00 00 R 00 00 01 00 02 0B 06 00 T 52 00 00 00 19 46 23 66 68 11 0C 00 19 5E 23 R 00 00 01 00 @@ -46,23 +46,23 @@ T 71 00 00 00 C3 6E 01 00 00 R 00 00 01 00 00 05 01 00 T 74 00 00 00 R 00 00 01 00 -T 74 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 74 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 06 00 T 7D 00 00 00 23 66 6A 11 16 00 19 AF 77 23 77 R 00 00 01 00 -T 88 00 00 00 23 77 23 77 21 4B 00 ED 4B +T 88 00 00 00 23 77 23 77 21 4D 00 ED 4B R 00 00 01 00 T 91 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 -T 99 00 00 00 14 00 19 AF 77 23 77 21 4B 00 ED +T 99 00 00 00 14 00 19 AF 77 23 77 21 4D 00 ED R 00 00 01 00 T A4 00 00 00 4B 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 05 06 00 -T AD 00 00 00 12 00 19 E5 21 4B 00 09 56 23 66 +T AD 00 00 00 12 00 19 E5 21 4D 00 09 56 23 66 R 00 00 01 00 T B8 00 00 00 6A 11 0A 00 19 5E 23 56 E1 73 23 R 00 00 01 00 -T C3 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T C3 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T CC 00 00 00 46 23 66 68 01 0A 00 09 46 23 66 R 00 00 01 00 @@ -82,7 +82,7 @@ T F1 00 00 00 DD 34 FE 20 03 DD 34 FF R 00 00 01 00 T F9 00 00 00 R 00 00 01 00 -T F9 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T F9 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 06 00 T 02 01 00 00 23 66 68 01 14 00 09 34 23 20 01 R 00 00 01 00 @@ -94,7 +94,7 @@ T 0E 01 00 00 18 CE R 00 00 01 00 T 10 01 00 00 R 00 00 01 00 -T 10 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 10 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 06 00 T 19 01 00 00 23 66 68 01 1C 00 09 36 00 DD 4E R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_time.rel b/src/nos/lib/filesys_lib/sys_time.rel index b63f521c..c4dc3edd 100644 --- a/src/nos/lib/filesys_lib/sys_time.rel +++ b/src/nos/lib/filesys_lib/sys_time.rel @@ -21,7 +21,7 @@ T 0E 00 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 01 00 02 09 00 00 T 14 00 00 00 04 00 E5 21 02 00 39 4D 44 21 R 00 00 01 00 -T 1E 00 00 00 4B 00 ED 5B 00 00 00 00 19 56 23 +T 1E 00 00 00 4D 00 ED 5B 00 00 00 00 19 56 23 R 00 00 01 00 02 08 02 00 T 27 00 00 00 66 6A 11 0A 00 19 5E 23 56 3E R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_times.rel b/src/nos/lib/filesys_lib/sys_times.rel index e891d5a4..fa20266d 100644 --- a/src/nos/lib/filesys_lib/sys_times.rel +++ b/src/nos/lib/filesys_lib/sys_times.rel @@ -16,7 +16,7 @@ A CODE size 114 flags 0 S _sys_times Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 C5 D5 01 14 00 21 4B 00 ED 5B +T 00 00 00 00 C5 D5 01 14 00 21 4D 00 ED 5B R 00 00 01 00 T 0A 00 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 04 00 @@ -30,7 +30,7 @@ T 25 00 00 00 R 00 00 01 00 T 25 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 03 00 02 0A 03 00 -T 2B 00 00 00 00 00 00 00 21 4B 00 ED 4B +T 2B 00 00 00 00 00 00 00 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 32 00 00 00 00 00 00 00 09 46 23 66 68 23 23 R 00 00 01 00 02 04 04 00 @@ -38,11 +38,11 @@ T 3B 00 00 00 7E B7 28 61 R 00 00 01 00 T 3F 00 00 00 R 00 00 01 00 -T 3F 00 00 00 21 10 00 E5 21 4B 00 ED 4B +T 3F 00 00 00 21 10 00 E5 21 4D 00 ED 4B R 00 00 01 00 T 48 00 00 00 00 00 00 00 09 7E 23 66 6F 56 23 R 00 00 01 00 02 04 04 00 -T 51 00 00 00 66 6A 11 5B 00 19 4D 44 21 4B 00 +T 51 00 00 00 66 6A 11 5D 00 19 4D 44 21 4D 00 R 00 00 01 00 T 5C 00 00 00 ED 5B 00 00 00 00 19 7E 23 66 6F R 00 00 01 00 02 06 04 00 @@ -52,7 +52,7 @@ T 6D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 02 00 02 09 02 00 T 72 00 00 00 00 00 00 00 F1 21 04 00 E5 01 R 00 00 01 00 02 04 00 00 -T 7A 00 00 00 00 00 00 00 21 4B 00 ED 5B +T 7A 00 00 00 00 00 00 00 21 4D 00 ED 5B R 00 00 01 00 02 04 07 00 T 81 00 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 04 00 @@ -64,11 +64,11 @@ T 9A 00 00 00 CD 00 00 00 00 F1 18 5F R 00 00 01 00 02 05 00 00 T A0 00 00 00 R 00 00 01 00 -T A0 00 00 00 21 10 00 E5 21 4B 00 ED 4B +T A0 00 00 00 21 10 00 E5 21 4D 00 ED 4B R 00 00 01 00 T A9 00 00 00 00 00 00 00 09 7E 23 66 6F 56 23 R 00 00 01 00 02 04 04 00 -T B2 00 00 00 66 6A 11 5B 00 19 4D 44 21 4B 00 +T B2 00 00 00 66 6A 11 5D 00 19 4D 44 21 4D 00 R 00 00 01 00 T BD 00 00 00 ED 5B 00 00 00 00 19 7E 23 66 6F R 00 00 01 00 02 06 04 00 @@ -78,7 +78,7 @@ T CE 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 08 00 02 09 08 00 T D3 00 00 00 00 00 00 00 F1 21 04 00 E5 01 R 00 00 01 00 02 04 00 00 -T DB 00 00 00 00 00 00 00 21 4B 00 ED 5B +T DB 00 00 00 00 00 00 00 21 4D 00 ED 5B R 00 00 01 00 02 04 07 00 T E2 00 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 04 00 diff --git a/src/nos/lib/filesys_lib/sys_unlink.rel b/src/nos/lib/filesys_lib/sys_unlink.rel index 7641d1d6..d4d419db 100644 --- a/src/nos/lib/filesys_lib/sys_unlink.rel +++ b/src/nos/lib/filesys_lib/sys_unlink.rel @@ -12,7 +12,7 @@ S ?ENT_AUTO_DIRECT_L09 Ref00000000 S __printf Ref00000000 S _getperm Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___03f7_79de__5funlink_3a_20bad_ Ref00000000 +S ___048a_79de__5funlink_3a_20bad_ Ref00000000 S _setftim Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 160 flags 0 @@ -22,7 +22,7 @@ T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 EA FF 0E 00 C5 21 R 00 00 01 00 02 05 08 00 -T 09 00 00 00 02 00 39 4D 44 21 4B 00 ED 5B +T 09 00 00 00 02 00 39 4D 44 21 4D 00 ED 5B R 00 00 01 00 T 13 00 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 @@ -42,7 +42,7 @@ T 48 00 00 00 R 00 00 01 00 T 48 00 00 00 R 00 00 01 00 -T 48 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 48 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 06 00 T 51 00 00 00 23 66 68 01 08 00 09 36 02 23 36 R 00 00 01 00 @@ -58,7 +58,7 @@ T 6F 00 00 00 E6 02 47 7C E6 00 B0 20 18 R 00 00 01 00 T 78 00 00 00 R 00 00 01 00 -T 78 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 78 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 06 00 T 81 00 00 00 23 66 68 01 08 00 09 36 01 23 36 R 00 00 01 00 @@ -66,7 +66,7 @@ T 8C 00 00 00 00 C3 2B 01 00 00 R 00 00 01 00 00 06 01 00 T 90 00 00 00 R 00 00 01 00 -T 90 00 00 00 21 06 00 39 4D 44 21 4B 00 ED 5B +T 90 00 00 00 21 06 00 39 4D 44 21 4D 00 ED 5B R 00 00 01 00 T 9B 00 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 diff --git a/src/nos/lib/filesys_lib/sys_utime.rel b/src/nos/lib/filesys_lib/sys_utime.rel index 6bd97731..effdf159 100644 --- a/src/nos/lib/filesys_lib/sys_utime.rel +++ b/src/nos/lib/filesys_lib/sys_utime.rel @@ -16,19 +16,19 @@ A CODE size 1C8 flags 0 S _sys_utime Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F4 FF 21 4B 00 ED +T 00 00 00 00 CD 00 00 00 00 F4 FF 21 4D 00 ED R 00 00 01 00 02 05 09 00 T 09 00 00 00 4B 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 05 07 00 T 12 00 00 00 0C 00 19 56 23 66 6A DD 75 FC DD R 00 00 01 00 -T 1D 00 00 00 74 FD 21 4B 00 09 46 23 66 68 01 +T 1D 00 00 00 74 FD 21 4D 00 09 46 23 66 68 01 R 00 00 01 00 T 28 00 00 00 0A 00 09 7E 23 B6 20 1B R 00 00 01 00 T 30 00 00 00 R 00 00 01 00 -T 30 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 30 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 07 00 T 39 00 00 00 23 66 68 01 08 00 09 36 0E 23 36 R 00 00 01 00 @@ -70,7 +70,7 @@ T A0 00 00 00 00 00 39 DD 75 FC DD 74 FD R 00 00 01 00 T A9 00 00 00 R 00 00 01 00 -T A9 00 00 00 0E 01 C5 01 00 00 21 4B 00 ED 5B +T A9 00 00 00 0E 01 C5 01 00 00 21 4D 00 ED 5B R 00 00 01 00 T B4 00 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 07 00 @@ -86,19 +86,19 @@ T D5 00 00 00 C3 45 00 00 00 R 00 00 01 00 00 05 01 00 T D8 00 00 00 R 00 00 01 00 -T D8 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T D8 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 07 00 -T E1 00 00 00 23 66 6F 46 23 66 68 01 1D 00 09 +T E1 00 00 00 23 66 6F 46 23 66 68 01 1F 00 09 R 00 00 01 00 T EC 00 00 00 46 23 66 68 E5 21 0E 00 DD 4E FE R 00 00 01 00 T F7 00 00 00 DD 46 FF 09 4E 23 46 E1 A7 ED 42 R 00 00 01 00 -T 02 01 00 00 28 30 21 4B 00 ED 4B 00 00 00 00 +T 02 01 00 00 28 30 21 4D 00 ED 4B 00 00 00 00 R 00 00 01 00 02 0B 07 00 T 0B 01 00 00 09 7E 23 66 6F 46 23 66 68 01 R 00 00 01 00 -T 15 01 00 00 1D 00 09 7E 23 B6 28 17 +T 15 01 00 00 1F 00 09 7E 23 B6 28 17 R 00 00 01 00 T 1D 01 00 00 R 00 00 01 00 @@ -106,7 +106,7 @@ T 1D 01 00 00 R 00 00 01 00 T 1D 01 00 00 R 00 00 01 00 -T 1D 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 1D 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 07 00 T 26 01 00 00 23 66 68 01 08 00 09 36 01 23 36 R 00 00 01 00 @@ -120,7 +120,7 @@ T 3F 01 00 00 B7 28 26 R 00 00 01 00 T 42 01 00 00 R 00 00 01 00 -T 42 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 42 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 07 00 T 4B 01 00 00 23 66 68 01 08 00 09 36 1E 23 36 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/sys_waitpid.rel b/src/nos/lib/filesys_lib/sys_waitpid.rel index 887ad669..9c8b4fb9 100644 --- a/src/nos/lib/filesys_lib/sys_waitpid.rel +++ b/src/nos/lib/filesys_lib/sys_waitpid.rel @@ -18,7 +18,7 @@ T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF 01 02 00 21 R 00 00 01 00 02 05 08 00 -T 09 00 00 00 4B 00 ED 5B 00 00 00 00 19 56 23 +T 09 00 00 00 4D 00 ED 5B 00 00 00 00 19 56 23 R 00 00 01 00 02 08 05 00 T 12 00 00 00 66 6A 11 0C 00 19 5E 23 56 3E R 00 00 01 00 @@ -28,7 +28,7 @@ T 21 00 00 00 00 00 00 00 7D B4 20 18 R 00 00 01 00 02 04 00 00 T 27 00 00 00 R 00 00 01 00 -T 27 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 27 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T 30 00 00 00 23 66 68 01 08 00 09 36 0E 23 36 R 00 00 01 00 @@ -44,7 +44,7 @@ T 4B 00 00 00 DD 36 FD 00 00 00 00 R 00 00 01 00 8B 07 01 00 T 4F 00 00 00 R 00 00 01 00 -T 4F 00 00 00 01 02 00 00 00 DD 6E FC DD 66 FD +T 4F 00 00 00 01 28 00 00 00 DD 6E FC DD 66 FD R 00 00 01 00 02 05 01 00 T 58 00 00 00 A7 ED 42 30 75 R 00 00 01 00 @@ -54,13 +54,13 @@ T 5D 00 00 00 DD 6E FC DD 66 FD 46 23 66 68 DD R 00 00 01 00 T 68 00 00 00 75 FE DD 74 FF AF B6 28 51 21 R 00 00 01 00 -T 72 00 00 00 4B 00 ED 4B 00 00 00 00 09 7E 23 +T 72 00 00 00 4D 00 ED 4B 00 00 00 00 09 7E 23 R 00 00 01 00 02 08 05 00 T 7B 00 00 00 66 6F 46 23 66 68 E5 21 05 00 DD R 00 00 01 00 T 86 00 00 00 4E FE DD 46 FF 09 4E 23 46 E1 A7 R 00 00 01 00 -T 91 00 00 00 ED 42 20 2D 21 4B 00 ED 4B +T 91 00 00 00 ED 42 20 2D 21 4D 00 ED 4B R 00 00 01 00 T 9A 00 00 00 00 00 00 00 09 7E 23 66 6F 46 23 R 00 00 01 00 02 04 05 00 @@ -94,7 +94,7 @@ T D2 00 00 00 R 00 00 01 00 T D2 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 07 00 02 0A 07 00 -T D8 00 00 00 00 00 00 00 21 4B 00 ED 4B +T D8 00 00 00 00 00 00 00 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T DF 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 05 00 diff --git a/src/nos/lib/filesys_lib/sysdebug.rel b/src/nos/lib/filesys_lib/sysdebug.rel index eb5d00ce..16f24042 100644 --- a/src/nos/lib/filesys_lib/sysdebug.rel +++ b/src/nos/lib/filesys_lib/sysdebug.rel @@ -2,9 +2,9 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _sys_getset Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,40 +21,40 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 -T 5E 00 00 00 0A 00 19 36 0C 23 36 00 21 4B 00 +T 5E 00 00 00 0A 00 19 36 0C 23 36 00 21 4D 00 R 00 00 01 00 T 69 00 00 00 ED 4B 00 00 00 00 09 56 23 66 6A R 00 00 01 00 02 06 06 00 T 72 00 00 00 11 0C 00 19 DD 5E 02 DD 56 03 73 R 00 00 01 00 -T 7D 00 00 00 23 72 21 4B 00 ED 4B 00 00 00 00 +T 7D 00 00 00 23 72 21 4D 00 ED 4B 00 00 00 00 R 00 00 01 00 02 0B 06 00 T 86 00 00 00 09 56 23 66 6A 23 23 23 36 07 3E R 00 00 01 00 T 91 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 96 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 2B 09 03 00 +R 00 00 01 00 02 04 00 00 2B 09 02 00 T 9B 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T A2 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +R 00 00 01 00 02 04 02 00 02 09 00 00 +T A2 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T AB 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -66,15 +66,15 @@ T C4 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T CC 00 00 00 R 00 00 01 00 -T CC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T CC 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D5 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D5 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E0 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T E8 00 00 00 R 00 00 01 00 -T E8 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T E8 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F1 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/syserror_table.rel b/src/nos/lib/filesys_lib/syserror_table.rel index 2aeec18b..9f1da3cd 100644 --- a/src/nos/lib/filesys_lib/syserror_table.rel +++ b/src/nos/lib/filesys_lib/syserror_table.rel @@ -1,49 +1,49 @@ XL4 H 4 areas 2E global symbols -S ___024f_21d8_EINVFNC Ref00000000 -S ___0246_4029_ECHILD Ref00000000 -S ___0261_01a7_ENXIO Ref00000000 -S ___0248_4299_EDOM Ref00000000 -S ___024b_9ed8_EFBIG Ref00000000 -S ___0240_b671_E2BIG Ref00000000 -S ___0259_a107_ENOEXEC Ref00000000 -S ___0254_983a_EMLINK Ref00000000 -S ___0247_cd2b_EDEADLK Ref00000000 -S ___0262_4485_EPERM Ref00000000 -S ___025e_f683_ENOTDIR Ref00000000 +S ___0284_74ba_EBUSY Ref00000000 +S ___0283_a2a1_EBADF Ref00000000 +S ___02ab_b33c_ESRCH Ref00000000 +S ___0299_29fe_ENOLCK Ref00000000 +S ___0288_bec8_EEXIST Ref00000000 +S ___028e_21d8_EINVFNC Ref00000000 +S ___0285_4029_ECHILD Ref00000000 +S ___027f_b671_E2BIG Ref00000000 +S ___02a4_0587_EROFS Ref00000000 +S ___02a2_5ede_EPIPE Ref00000000 +S ___0287_4299_EDOM Ref00000000 +S ___02aa_ffa8_ESPIPE Ref00000000 +S ___028a_9ed8_EFBIG Ref00000000 +S ___0298_a107_ENOEXEC Ref00000000 +S ___0293_983a_EMLINK Ref00000000 +S ___02ad_8d4a_EXDEV Ref00000000 +S ___0286_cd2b_EDEADLK Ref00000000 +S ___02ac_194a_ETXTBSY Ref00000000 S ___0000_ffff_ Ref00000000 -S ___024a_afa9_EFAULT Ref00000000 -S ___0256_8396_ENFILE Ref00000000 -S ___026c_b33c_ESRCH Ref00000000 -S ___0265_0587_EROFS Ref00000000 -S ___0263_5ede_EPIPE Ref00000000 -S ___0255_0607_ENAMETOOLONG Ref00000000 +S ___029d_f683_ENOTDIR Ref00000000 +S ___02a3_7f6a_ERANGE Ref00000000 +S ___0295_8396_ENFILE Ref00000000 +S ___028f_2d75_EIO Ref00000000 +S ___029f_81a3_ENOTTY Ref00000000 S .__.ABS. Def00000000 -S ___026b_ffa8_ESPIPE Ref00000000 -S ___0257_7088_ENODEV Ref00000000 -S ___0250_2d75_EIO Ref00000000 -S ___026a_dd82_ESHELL Ref00000000 -S ___0260_81a3_ENOTTY Ref00000000 -S ___026e_8d4a_EXDEV Ref00000000 -S ___025a_29fe_ENOLCK Ref00000000 -S ___0258_edee_ENOENT Ref00000000 -S ___026d_194a_ETXTBSY Ref00000000 -S ___024d_eb47_EINTR Ref00000000 -S ___025c_d51d_ENOSPC Ref00000000 -S ___0253_9e5a_EMFILE Ref00000000 -S ___0264_7f6a_ERANGE Ref00000000 -S ___0241_56e8_EACCES Ref00000000 -S ___025d_d3a2_ENOTBLK Ref00000000 -S ___0242_f378_EAGAIN Ref00000000 -S ___025f_83de_ENOTEMPTY Ref00000000 -S ___025b_42c4_ENOMEM Ref00000000 -S ___0251_fb45_EISDIR Ref00000000 +S ___0294_0607_ENAMETOOLONG Ref00000000 +S ___0296_7088_ENODEV Ref00000000 +S ___02a9_dd82_ESHELL Ref00000000 +S ___0297_edee_ENOENT Ref00000000 +S ___02a0_01a7_ENXIO Ref00000000 +S ___028c_eb47_EINTR Ref00000000 +S ___029b_d51d_ENOSPC Ref00000000 +S ___0292_9e5a_EMFILE Ref00000000 +S ___0289_afa9_EFAULT Ref00000000 +S ___0280_56e8_EACCES Ref00000000 +S ___029c_d3a2_ENOTBLK Ref00000000 +S ___0281_f378_EAGAIN Ref00000000 +S ___029e_83de_ENOTEMPTY Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0252_8de7_ELOOP Ref00000000 -S ___024e_b479_EINVAL Ref00000000 -S ___0245_74ba_EBUSY Ref00000000 -S ___0244_a2a1_EBADF Ref00000000 -S ___0249_bec8_EEXIST Ref00000000 +S ___029a_42c4_ENOMEM Ref00000000 +S ___0290_fb45_EISDIR Ref00000000 +S ___02a1_4485_EPERM Ref00000000 +S ___0291_8de7_ELOOP Ref00000000 +S ___028d_b479_EINVAL Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 A IDATA0 size 80 flags 0 @@ -59,44 +59,44 @@ R 00 00 02 00 T 7E 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 0B 00 4A 08 09 00 +R 00 00 03 00 4A 04 12 00 4A 08 29 00 T 06 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 1A 00 4A 08 0E 00 +R 00 00 03 00 4A 04 1C 00 4A 08 02 00 T 0C 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 1C 00 4A 08 15 00 +R 00 00 03 00 4A 04 1E 00 4A 08 16 00 T 12 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 02 00 4A 08 05 00 +R 00 00 03 00 4A 04 1D 00 4A 08 07 00 T 18 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 06 00 4A 08 2A 00 +R 00 00 03 00 4A 04 0D 00 4A 08 01 00 T 1E 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 01 00 4A 08 22 00 +R 00 00 03 00 4A 04 06 00 4A 08 24 00 T 24 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 24 00 4A 08 20 00 +R 00 00 03 00 4A 04 27 00 4A 08 22 00 T 2A 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 0C 00 4A 08 21 00 +R 00 00 03 00 4A 04 21 00 4A 08 23 00 T 30 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 29 00 4A 08 2B 00 +R 00 00 03 00 4A 04 00 00 4A 08 04 00 T 36 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 18 00 4A 08 14 00 +R 00 00 03 00 4A 04 0F 00 4A 08 1A 00 T 3C 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 0A 00 4A 08 25 00 +R 00 00 03 00 4A 04 13 00 4A 08 28 00 T 42 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 28 00 4A 08 0D 00 +R 00 00 03 00 4A 04 2B 00 4A 08 15 00 T 48 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 1E 00 4A 08 17 00 +R 00 00 03 00 4A 04 20 00 4A 08 17 00 T 4E 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 1B 00 4A 08 04 00 +R 00 00 03 00 4A 04 11 00 4A 08 0C 00 T 54 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 1D 00 4A 08 13 00 +R 00 00 03 00 4A 04 1F 00 4A 08 0B 00 T 5A 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 0F 00 4A 08 07 00 +R 00 00 03 00 4A 04 08 00 4A 08 0E 00 T 60 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 10 00 4A 08 03 00 +R 00 00 03 00 4A 04 09 00 4A 08 0A 00 T 66 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 1F 00 4A 08 08 00 +R 00 00 03 00 4A 04 14 00 4A 08 10 00 T 6C 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 11 00 4A 08 19 00 +R 00 00 03 00 4A 04 19 00 4A 08 03 00 T 72 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 00 00 4A 08 23 00 +R 00 00 03 00 4A 04 05 00 4A 08 25 00 T 78 00 00 00 00 00 00 00 00 00 00 00 2A 00 -R 00 00 03 00 4A 04 27 00 4A 08 16 00 +R 00 00 03 00 4A 04 2A 00 4A 08 1B 00 diff --git a/src/nos/lib/filesys_lib/systrace.rel b/src/nos/lib/filesys_lib/systrace.rel index aaad9064..58732cc2 100644 --- a/src/nos/lib/filesys_lib/systrace.rel +++ b/src/nos/lib/filesys_lib/systrace.rel @@ -2,9 +2,9 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _sys_getset Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,40 +21,40 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 -T 5E 00 00 00 0A 00 19 36 0B 23 36 00 21 4B 00 +T 5E 00 00 00 0A 00 19 36 0B 23 36 00 21 4D 00 R 00 00 01 00 T 69 00 00 00 ED 4B 00 00 00 00 09 56 23 66 6A R 00 00 01 00 02 06 06 00 T 72 00 00 00 11 0C 00 19 DD 5E 02 DD 56 03 73 R 00 00 01 00 -T 7D 00 00 00 23 72 21 4B 00 ED 4B 00 00 00 00 +T 7D 00 00 00 23 72 21 4D 00 ED 4B 00 00 00 00 R 00 00 01 00 02 0B 06 00 T 86 00 00 00 09 56 23 66 6A 23 23 23 36 07 3E R 00 00 01 00 T 91 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 96 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 2B 09 03 00 +R 00 00 01 00 02 04 00 00 2B 09 02 00 T 9B 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T A2 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +R 00 00 01 00 02 04 02 00 02 09 00 00 +T A2 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T AB 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -66,15 +66,15 @@ T C4 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T CC 00 00 00 R 00 00 01 00 -T CC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T CC 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D5 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D5 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E0 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T E8 00 00 00 R 00 00 01 00 -T E8 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T E8 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F1 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/systrace_dump.rel b/src/nos/lib/filesys_lib/systrace_dump.rel index f1f4fd48..cbf7d822 100644 --- a/src/nos/lib/filesys_lib/systrace_dump.rel +++ b/src/nos/lib/filesys_lib/systrace_dump.rel @@ -1,16 +1,16 @@ XL4 H 2 areas E global symbols -S ___019e_ab8d_0x_25x Ref00000000 -S ___0199_79e7_0_25o Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _usrget_int Ref00000000 +S ___06ff_dd6d_x_25x Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _abyte Ref00000000 S __dprintf Ref00000000 -S ___0620_dd6d_x_25x Ref00000000 S .__.ABS. Def00000000 +S ___01c5_79e7_0_25o Ref00000000 +S ___01cc_ab8d_0x_25x Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___012f_8811__25d Ref00000000 +S ___014a_8811__25d Ref00000000 S ?C_S_SWITCH_L06 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 @@ -45,9 +45,9 @@ R 00 00 01 00 T 3E 00 00 00 R 00 00 01 00 T 3E 00 00 00 1E 22 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 05 00 +R 00 00 01 00 2B 07 04 00 T 43 00 00 00 00 00 00 00 CD 00 00 00 00 DD 6E -R 00 00 01 00 02 04 05 00 02 09 02 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T 4A 00 00 00 02 DD 66 03 DD 75 FE DD 74 FF DD R 00 00 01 00 T 55 00 00 00 36 FA 00 @@ -61,9 +61,9 @@ R 00 00 01 00 T 61 00 00 00 DD 5E FE DD 56 FF 13 DD 73 FE DD R 00 00 01 00 T 6C 00 00 00 72 FF 1B 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 03 00 +R 00 00 01 00 2B 08 01 00 T 72 00 00 00 00 00 00 00 CD 00 00 00 00 7D E6 -R 00 00 01 00 02 04 03 00 02 09 02 00 +R 00 00 01 00 02 04 01 00 02 09 00 00 T 79 00 00 00 FF DD 77 FB B7 20 0E 3E 10 DD BE R 00 00 01 00 T 84 00 00 00 FC 30 07 @@ -89,53 +89,53 @@ R 00 00 01 00 T 9C 00 00 00 R 00 00 01 00 T 9C 00 00 00 1E 5C 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 05 00 +R 00 00 01 00 2B 07 04 00 T A1 00 00 00 00 00 00 00 CD 00 00 00 00 DD 7E -R 00 00 01 00 02 04 05 00 02 09 02 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T A8 00 00 00 FB FE 09 30 10 R 00 00 01 00 T AD 00 00 00 R 00 00 01 00 T AD 00 00 00 DD 7E FB C6 30 5F 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 +R 00 00 01 00 2B 0B 04 00 T B5 00 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 05 00 02 0A 02 00 +R 00 00 01 00 02 05 04 00 02 0A 00 00 T BC 00 00 00 4F R 00 00 01 00 T BD 00 00 00 R 00 00 01 00 T BD 00 00 00 FE 09 20 0C 1E 74 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 +R 00 00 01 00 2B 0B 04 00 T C5 00 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 05 00 02 0A 02 00 +R 00 00 01 00 02 05 04 00 02 0A 00 00 T CC 00 00 00 3F R 00 00 01 00 T CD 00 00 00 R 00 00 01 00 T CD 00 00 00 FE 0A 20 0C 1E 6E 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 +R 00 00 01 00 2B 0B 04 00 T D5 00 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 05 00 02 0A 02 00 +R 00 00 01 00 02 05 04 00 02 0A 00 00 T DC 00 00 00 2F R 00 00 01 00 T DD 00 00 00 R 00 00 01 00 T DD 00 00 00 FE 0D 20 0C 1E 72 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 +R 00 00 01 00 2B 0B 04 00 T E5 00 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 05 00 02 0A 02 00 +R 00 00 01 00 02 05 04 00 02 0A 00 00 T EC 00 00 00 1F R 00 00 01 00 T ED 00 00 00 R 00 00 01 00 T ED 00 00 00 DD 4E FB 06 00 C5 0E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 +R 00 00 01 00 2B 0B 02 00 T F5 00 00 00 C5 21 00 00 00 00 E5 21 00 00 E5 -R 00 00 01 00 02 06 07 00 +R 00 00 01 00 02 06 02 00 T FE 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 +R 00 00 01 00 2B 05 05 00 02 0A 05 00 T 04 01 00 00 00 00 00 00 F1 F1 F1 F1 18 00 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 00 00 T 0C 01 00 00 R 00 00 01 00 T 0C 01 00 00 18 23 @@ -153,15 +153,15 @@ R 00 00 01 00 T 1C 01 00 00 R 00 00 01 00 T 1C 01 00 00 1E 5C 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 05 00 +R 00 00 01 00 2B 07 04 00 T 21 01 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 05 00 02 09 02 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T 26 01 00 00 R 00 00 01 00 T 26 01 00 00 DD 5E FB 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 05 00 +R 00 00 01 00 2B 08 04 00 T 2C 01 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 05 00 02 09 02 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T 31 01 00 00 R 00 00 01 00 T 31 01 00 00 DD 34 FA C3 58 00 00 00 @@ -173,21 +173,21 @@ R 00 00 01 00 T 3D 01 00 00 R 00 00 01 00 T 3D 01 00 00 1E 2E 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 05 00 +R 00 00 01 00 2B 07 04 00 T 42 01 00 00 00 00 00 00 CD 00 00 00 00 1E 2E -R 00 00 01 00 02 04 05 00 02 09 02 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T 49 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 05 00 02 0A 05 00 +R 00 00 01 00 2B 05 04 00 02 0A 04 00 T 4F 01 00 00 00 00 00 00 1E 2E 3E 00 00 00 00 -R 00 00 01 00 02 04 02 00 2B 0B 05 00 +R 00 00 01 00 02 04 00 00 2B 0B 04 00 T 55 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 05 00 02 0A 02 00 +R 00 00 01 00 02 05 04 00 02 0A 00 00 T 5B 01 00 00 R 00 00 01 00 T 5B 01 00 00 1E 22 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 05 00 +R 00 00 01 00 2B 07 04 00 T 60 01 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 05 00 02 09 02 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T 66 01 00 00 04 02 00 00 R 00 00 01 00 00 04 01 00 T 68 01 00 00 @@ -199,9 +199,9 @@ R 00 00 01 00 T 76 01 00 00 R 00 00 01 00 T 76 01 00 00 DD 7E 02 C6 30 5F 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 +R 00 00 01 00 2B 0B 04 00 T 7E 01 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 05 00 02 0A 02 00 +R 00 00 01 00 02 05 04 00 02 0A 00 00 T 85 01 00 00 1E R 00 00 01 00 T 86 01 00 00 @@ -209,11 +209,11 @@ R 00 00 01 00 T 86 01 00 00 DD 6E 02 DD 66 03 E5 0E R 00 00 01 00 T 8E 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 01 00 02 0A 01 00 +R 00 00 01 00 2B 04 07 00 02 0A 07 00 T 94 01 00 00 21 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 06 00 +R 00 00 01 00 2B 09 05 00 T 9B 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 06 00 02 09 02 00 +R 00 00 01 00 02 04 05 00 02 09 00 00 T A2 01 00 00 F1 F1 R 00 00 01 00 T A4 01 00 00 @@ -227,9 +227,9 @@ R 00 00 01 00 T AE 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 T B4 01 00 00 21 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 06 00 +R 00 00 01 00 2B 09 05 00 T BB 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 06 00 02 09 02 00 +R 00 00 01 00 02 04 05 00 02 09 00 00 T C2 01 00 00 F1 F1 18 3E R 00 00 01 00 T C6 01 00 00 @@ -241,9 +241,9 @@ R 00 00 01 00 T D4 01 00 00 R 00 00 01 00 T D4 01 00 00 DD 7E 02 C6 30 5F 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 +R 00 00 01 00 2B 0B 04 00 T DC 01 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 05 00 02 0A 02 00 +R 00 00 01 00 02 05 04 00 02 0A 00 00 T E3 01 00 00 1E R 00 00 01 00 T E4 01 00 00 @@ -251,11 +251,11 @@ R 00 00 01 00 T E4 01 00 00 DD 6E 02 DD 66 03 E5 0E R 00 00 01 00 T EC 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 00 00 02 0A 00 00 +R 00 00 01 00 2B 04 08 00 02 0A 08 00 T F2 01 00 00 21 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 06 00 +R 00 00 01 00 2B 09 05 00 T F9 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 06 00 02 09 02 00 +R 00 00 01 00 02 04 05 00 02 09 00 00 T 00 02 00 00 F1 F1 R 00 00 01 00 T 02 02 00 00 @@ -265,4 +265,4 @@ R 00 00 01 00 T 04 02 00 00 R 00 00 01 00 T 04 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/filesys_lib/systrace_entry.rel b/src/nos/lib/filesys_lib/systrace_entry.rel index 3fa61ae6..dbeba6ab 100644 --- a/src/nos/lib/filesys_lib/systrace_entry.rel +++ b/src/nos/lib/filesys_lib/systrace_entry.rel @@ -3,7 +3,7 @@ H 2 areas 11 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_dump Ref00000000 S _acrlf Ref00000000 -S ___043e_f4b4_can_27t_20trace_20i Ref00000000 +S ___04d5_f4b4_can_27t_20trace_20i Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _systrace_table Ref00000000 S _abyte Ref00000000 @@ -15,17 +15,17 @@ S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _systrace_limit Ref00000000 S ?SS_CMP_L02 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0021_efeb__09pid_20_25d_2c_20 Ref00000000 +S ___0022_efeb__09pid_20_25d_2c_20 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 190 flags 0 S _systrace_entry Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF 21 4B 00 ED +T 00 00 00 00 CD 00 00 00 00 FA FF 21 4D 00 ED R 00 00 01 00 02 05 0B 00 T 09 00 00 00 4B 00 00 00 00 09 7E 23 66 6F 46 R 00 00 01 00 02 05 08 00 -T 12 00 00 00 23 66 68 01 6D 00 09 7E 23 B6 20 +T 12 00 00 00 23 66 68 01 6F 00 09 7E 23 B6 20 R 00 00 01 00 T 1D 00 00 00 03 R 00 00 01 00 @@ -35,11 +35,11 @@ T 1E 00 00 00 C3 8D 01 00 00 R 00 00 01 00 00 05 01 00 T 21 00 00 00 R 00 00 01 00 -T 21 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 21 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 08 00 T 2A 00 00 00 23 66 6A 23 23 23 5E 16 00 D5 21 R 00 00 01 00 -T 35 00 00 00 4B 00 09 7E 23 66 6F 56 23 66 6A +T 35 00 00 00 4D 00 09 7E 23 66 6F 56 23 66 6A R 00 00 01 00 T 40 00 00 00 23 5E 23 56 D5 1E 00 00 00 00 D5 R 00 00 01 00 2B 0A 0F 00 @@ -49,7 +49,7 @@ T 51 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 07 00 02 09 07 00 T 56 00 00 00 00 00 00 00 F1 F1 F1 F1 F1 21 R 00 00 01 00 02 04 00 00 -T 5E 00 00 00 4B 00 09 46 23 66 68 23 23 23 6E +T 5E 00 00 00 4D 00 09 46 23 66 68 23 23 23 6E R 00 00 01 00 T 69 00 00 00 26 00 ED 4B 00 00 00 00 CD R 00 00 01 00 02 08 0C 00 @@ -71,7 +71,7 @@ T 8A 00 00 00 00 00 00 00 CD 00 00 00 00 1E 20 R 00 00 01 00 02 04 06 00 02 09 00 00 T 91 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 06 00 02 0A 06 00 -T 97 00 00 00 00 00 00 00 21 4B 00 ED 4B +T 97 00 00 00 00 00 00 00 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 9E 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 08 00 @@ -87,7 +87,7 @@ T C5 00 00 00 00 00 00 00 F1 F1 F1 1E 28 3E R 00 00 01 00 02 04 00 00 T CD 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 06 00 02 09 06 00 -T D2 00 00 00 00 00 00 00 21 4B 00 09 46 23 66 +T D2 00 00 00 00 00 00 00 21 4D 00 09 46 23 66 R 00 00 01 00 02 04 00 00 T DB 00 00 00 68 01 0A 00 09 DD 75 FA DD 74 FB R 00 00 01 00 @@ -99,7 +99,7 @@ T EA 00 00 00 DD 7E FC FE 04 D2 7B 01 00 00 R 00 00 01 00 00 0A 01 00 T F2 00 00 00 R 00 00 01 00 -T F2 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T F2 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 08 00 T FB 00 00 00 23 66 68 23 23 23 6E 26 00 29 29 R 00 00 01 00 @@ -133,7 +133,7 @@ T 35 01 00 00 DD 6E FA DD 66 FB 4D 44 03 03 DD R 00 00 01 00 T 40 01 00 00 71 FA DD 70 FB 46 23 66 68 DD 75 R 00 00 01 00 -T 4B 01 00 00 FD DD 74 FE DD 4E FF C5 21 4B 00 +T 4B 01 00 00 FD DD 74 FE DD 4E FF C5 21 4D 00 R 00 00 01 00 T 56 01 00 00 ED 4B 00 00 00 00 09 46 23 66 68 R 00 00 01 00 02 06 08 00 diff --git a/src/nos/lib/filesys_lib/systrace_exit.rel b/src/nos/lib/filesys_lib/systrace_exit.rel index 6a2bd84a..24dac544 100644 --- a/src/nos/lib/filesys_lib/systrace_exit.rel +++ b/src/nos/lib/filesys_lib/systrace_exit.rel @@ -8,7 +8,7 @@ S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _systrace_table Ref00000000 S _abyte Ref00000000 S __dprintf Ref00000000 -S ___018b_1a71__2c_20err_20_25d Ref00000000 +S ___01b7_1a71__2c_20err_20_25d Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 @@ -22,11 +22,11 @@ A CODE size 24B flags 0 S _systrace_exit Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 4B 00 ED +T 00 00 00 00 CD 00 00 00 00 FE FF 21 4D 00 ED R 00 00 01 00 02 05 0B 00 T 09 00 00 00 4B 00 00 00 00 09 7E 23 66 6F 46 R 00 00 01 00 02 05 09 00 -T 12 00 00 00 23 66 68 01 6D 00 09 7E 23 B6 20 +T 12 00 00 00 23 66 68 01 6F 00 09 7E 23 B6 20 R 00 00 01 00 T 1D 00 00 00 03 R 00 00 01 00 @@ -36,11 +36,11 @@ T 1E 00 00 00 C3 48 02 00 00 R 00 00 01 00 00 05 01 00 T 21 00 00 00 R 00 00 01 00 -T 21 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 21 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 09 00 T 2A 00 00 00 23 66 6A 23 23 23 5E 16 00 D5 21 R 00 00 01 00 -T 35 00 00 00 4B 00 09 7E 23 66 6F 56 23 66 6A +T 35 00 00 00 4D 00 09 7E 23 66 6F 56 23 66 6A R 00 00 01 00 T 40 00 00 00 23 5E 23 56 D5 1E 00 00 00 00 D5 R 00 00 01 00 2B 0A 10 00 @@ -50,9 +50,9 @@ T 51 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 07 00 02 09 07 00 T 56 00 00 00 00 00 00 00 F1 F1 F1 F1 F1 21 R 00 00 01 00 02 04 00 00 -T 5E 00 00 00 4B 00 09 46 23 66 68 23 23 23 7E +T 5E 00 00 00 4D 00 09 46 23 66 68 23 23 23 7E R 00 00 01 00 -T 69 00 00 00 FE 17 20 5B 21 4B 00 ED 4B +T 69 00 00 00 FE 17 20 5B 21 4D 00 ED 4B R 00 00 01 00 T 72 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 09 00 @@ -64,11 +64,11 @@ T 82 00 00 00 R 00 00 01 00 T 82 00 00 00 R 00 00 01 00 -T 82 00 00 00 0E 01 C5 21 4B 00 ED 4B +T 82 00 00 00 0E 01 C5 21 4D 00 ED 4B R 00 00 01 00 T 8A 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 09 00 -T 92 00 00 00 04 00 19 4E 23 46 21 4B 00 ED 5B +T 92 00 00 00 04 00 19 4E 23 46 21 4D 00 ED 5B R 00 00 01 00 T 9D 00 00 00 00 00 00 00 19 56 23 66 6A 11 R 00 00 01 00 02 04 09 00 @@ -86,13 +86,13 @@ T C6 00 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 T C8 00 00 00 R 00 00 01 00 -T C8 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T C8 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 09 00 T D1 00 00 00 23 66 6A 23 23 23 6E 26 00 29 29 R 00 00 01 00 T DC 00 00 00 29 11 00 00 00 00 19 56 DD 72 FE R 00 00 01 00 02 06 05 00 -T E5 00 00 00 5A D5 01 00 00 21 4B 00 ED 5B +T E5 00 00 00 5A D5 01 00 00 21 4D 00 ED 5B R 00 00 01 00 T EF 00 00 00 00 00 00 00 19 7E 23 66 6F 11 R 00 00 01 00 02 04 09 00 @@ -100,15 +100,15 @@ T F7 00 00 00 04 00 19 5E 23 56 3E 00 00 00 00 R 00 00 01 00 2B 0B 01 00 T FF 00 00 00 21 00 00 00 00 CD 00 00 00 00 E1 R 00 00 01 00 02 05 01 00 02 0A 00 00 -T 06 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 06 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 09 00 T 0F 01 00 00 23 66 68 23 23 23 7E FE 19 28 28 R 00 00 01 00 -T 1A 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 1A 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 09 00 T 23 01 00 00 23 66 68 23 23 23 7E FE 1A 28 14 R 00 00 01 00 -T 2E 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 2E 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 09 00 T 37 01 00 00 23 66 68 23 23 23 7E FE 1E 20 4C R 00 00 01 00 @@ -116,7 +116,7 @@ T 42 01 00 00 R 00 00 01 00 T 42 01 00 00 R 00 00 01 00 -T 42 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 42 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 09 00 T 4B 01 00 00 23 66 68 01 08 00 09 7E 23 B6 20 R 00 00 01 00 @@ -136,7 +136,7 @@ T 63 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 06 00 02 0A 06 00 T 69 01 00 00 00 00 00 00 DD 6E FE E5 01 00 00 R 00 00 01 00 02 04 00 00 -T 72 01 00 00 21 4B 00 ED 5B 00 00 00 00 19 56 +T 72 01 00 00 21 4D 00 ED 5B 00 00 00 00 19 56 R 00 00 01 00 02 09 09 00 T 7B 01 00 00 23 66 6A 11 06 00 19 5E 23 56 3E R 00 00 01 00 @@ -146,7 +146,7 @@ T 8B 01 00 00 00 00 00 00 E1 R 00 00 01 00 02 04 00 00 T 8E 01 00 00 R 00 00 01 00 -T 8E 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 8E 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 09 00 T 97 01 00 00 23 66 6A 11 08 00 19 5E 23 56 D5 R 00 00 01 00 @@ -156,11 +156,11 @@ T A8 01 00 00 E5 21 00 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 07 00 T B0 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 07 00 02 09 00 00 -T B7 01 00 00 F1 F1 21 4B 00 09 46 23 66 68 01 +T B7 01 00 00 F1 F1 21 4D 00 09 46 23 66 68 01 R 00 00 01 00 T C2 01 00 00 08 00 09 4E 23 46 21 00 00 CD R 00 00 01 00 -T CC 01 00 00 00 00 00 00 30 70 21 4B 00 ED 4B +T CC 01 00 00 00 00 00 00 30 70 21 4D 00 ED 4B R 00 00 01 00 02 04 0E 00 T D5 01 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 09 00 @@ -180,7 +180,7 @@ T F2 01 00 00 00 00 00 00 CD 00 00 00 00 1E 28 R 00 00 01 00 02 04 06 00 02 09 00 00 T F9 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 06 00 02 0A 06 00 -T FF 01 00 00 00 00 00 00 21 4B 00 ED 4B +T FF 01 00 00 00 00 00 00 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 06 02 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 09 00 diff --git a/src/nos/lib/filesys_lib/systrace_table.rel b/src/nos/lib/filesys_lib/systrace_table.rel index 4eb59891..c7b6b49e 100644 --- a/src/nos/lib/filesys_lib/systrace_table.rel +++ b/src/nos/lib/filesys_lib/systrace_table.rel @@ -1,48 +1,48 @@ XL4 H 4 areas 2D global symbols -S ___05ee_c82f_times Ref00000000 -S ___0485_a2e4_dup Ref00000000 -S ___0553_0458_pipe Ref00000000 -S ___0486_b319_dup2 Ref00000000 -S ___0490_59b0_execve Ref00000000 -S ___0617_e988_waitpid Ref00000000 -S ___0573_7ee6_reboot Ref00000000 -S ___044b_87a8_chroot Ref00000000 -S ___04bb_7dac_getset Ref00000000 -S ___04e9_634b_lseek Ref00000000 -S ___05b1_3faf_signal Ref00000000 -S ___059f_d2fd_sbrk Ref00000000 -S ___04dd_b632_link Ref00000000 -S ___04d8_a61c_kill Ref00000000 -S ___056d_054d_read Ref00000000 -S ___050d_b5d1_mount Ref00000000 -S ___061f_4cc8_write Ref00000000 -S ___05d4_ceb7_sync Ref00000000 -S ___0445_743f_chdir Ref00000000 -S ___0448_c946_chmod Ref00000000 +S ___04cb_9767_brk Ref00000000 +S ___057d_3fa5_ioctl Ref00000000 +S ___04e0_c946_chmod Ref00000000 +S ___0497_b0a9_alarm Ref00000000 +S ___06fe_4cc8_write Ref00000000 +S ___06de_acee_unlink Ref00000000 +S ___048d_2cfc_access Ref00000000 +S ___0543_8074_fork Ref00000000 +S ___0564_60c5_getfsys Ref00000000 +S ___04e3_87a8_chroot Ref00000000 +S ___06a8_68cb_stime Ref00000000 +S ___06b1_ceb7_sync Ref00000000 +S ___0488_1951__5fexit Ref00000000 +S ___058f_a61c_kill Ref00000000 +S ___05d6_b5d1_mount Ref00000000 +S ___068d_3faf_signal Ref00000000 +S ___06eb_5353_utime Ref00000000 S .__.ABS. Def00000000 -S ___044a_88f5_chown Ref00000000 -S ___054f_f746_pause Ref00000000 -S ___0601_acee_unlink Ref00000000 -S ___0434_9767_brk Ref00000000 -S ___060d_5353_utime Ref00000000 -S ___05c8_d63e_stat Ref00000000 -S ___05e9_535d_time Ref00000000 -S ___05fd_5caf_umount Ref00000000 -S ___0507_6257_mknod Ref00000000 -S ___044d_23aa_close Ref00000000 +S ___04e2_88f5_chown Ref00000000 +S ___05d0_6257_mknod Ref00000000 +S ___0679_d2fd_sbrk Ref00000000 +S ___06a5_d63e_stat Ref00000000 +S ___0647_054d_read Ref00000000 +S ___06c6_535d_time Ref00000000 +S ___059f_b632_link Ref00000000 +S ___06da_5caf_umount Ref00000000 +S ___0627_f746_pause Ref00000000 +S ___06b0_420b_symlink Ref00000000 +S ___062b_0458_pipe Ref00000000 +S ___0531_086a_falign Ref00000000 +S ___052b_59b0_execve Ref00000000 +S ___04dc_743f_chdir Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___03fa_2cfc_access Ref00000000 -S ___05d3_420b_symlink Ref00000000 -S ___04b1_7fbc_fstat Ref00000000 -S ___04a3_8074_fork Ref00000000 -S ___05cb_68cb_stime Ref00000000 -S ___053a_3971_open Ref00000000 -S ___0404_b0a9_alarm Ref00000000 -S ___04d0_3fa5_ioctl Ref00000000 -S ___04b9_60c5_getfsys Ref00000000 -S ___03f5_1951__5fexit Ref00000000 -S ___0496_086a_falign Ref00000000 +S ___04e5_23aa_close Ref00000000 +S ___05ac_634b_lseek Ref00000000 +S ___0566_7dac_getset Ref00000000 +S ___0520_a2e4_dup Ref00000000 +S ___060c_3971_open Ref00000000 +S ___06cb_c82f_times Ref00000000 +S ___064d_7ee6_reboot Ref00000000 +S ___055c_7fbc_fstat Ref00000000 +S ___06f6_e988_waitpid Ref00000000 +S ___0521_b319_dup2 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 A IDATA0 size 14A flags 0 @@ -58,84 +58,84 @@ R 00 00 02 00 T 48 01 00 00 R 00 00 02 00 T 00 00 00 00 04 00 00 00 00 02 03 00 00 04 -R 00 00 03 00 4A 05 20 00 +R 00 00 03 00 4A 05 06 00 T 09 00 00 00 00 00 00 00 04 00 00 00 05 -R 00 00 03 00 4A 04 26 00 +R 00 00 03 00 4A 04 03 00 T 11 00 00 00 00 00 00 00 05 00 00 00 04 -R 00 00 03 00 4A 04 18 00 +R 00 00 03 00 4A 04 00 00 T 19 00 00 00 00 00 00 00 02 00 00 00 04 -R 00 00 03 00 4A 04 12 00 +R 00 00 03 00 4A 04 1F 00 T 21 00 00 00 00 00 00 00 02 03 00 00 04 -R 00 00 03 00 4A 04 13 00 +R 00 00 03 00 4A 04 02 00 T 29 00 00 00 00 00 00 00 02 04 04 00 04 -R 00 00 03 00 4A 04 15 00 +R 00 00 03 00 4A 04 12 00 T 31 00 00 00 00 00 00 00 04 00 00 00 04 -R 00 00 03 00 4A 04 1E 00 +R 00 00 03 00 4A 04 21 00 T 39 00 00 00 00 00 00 00 05 05 05 00 04 -R 00 00 03 00 4A 04 08 00 +R 00 00 03 00 4A 04 23 00 T 41 00 00 00 00 00 00 00 04 00 00 00 04 -R 00 00 03 00 4A 04 01 00 +R 00 00 03 00 4A 04 24 00 T 49 00 00 00 00 00 00 00 04 04 00 00 04 -R 00 00 03 00 4A 04 03 00 +R 00 00 03 00 4A 04 2A 00 T 51 00 00 00 00 00 00 00 02 05 05 00 04 -R 00 00 03 00 4A 04 04 00 +R 00 00 03 00 4A 04 1E 00 T 59 00 00 00 00 00 00 00 04 00 00 00 04 -R 00 00 03 00 4A 04 29 00 +R 00 00 03 00 4A 04 0C 00 T 61 00 00 00 00 00 00 00 00 00 00 00 04 -R 00 00 03 00 4A 04 23 00 +R 00 00 03 00 4A 04 07 00 T 69 00 00 00 00 00 00 00 04 05 00 00 04 -R 00 00 03 00 4A 04 22 00 -T 71 00 00 00 00 00 00 00 05 05 00 00 05 R 00 00 03 00 4A 04 28 00 +T 71 00 00 00 00 00 00 00 05 05 00 00 05 +R 00 00 03 00 4A 04 08 00 T 79 00 00 00 00 00 00 00 04 05 05 00 04 -R 00 00 03 00 4A 04 27 00 +R 00 00 03 00 4A 04 01 00 T 81 00 00 00 00 00 00 00 04 04 00 00 04 R 00 00 03 00 4A 04 0D 00 T 89 00 00 00 00 00 00 00 02 02 00 00 04 -R 00 00 03 00 4A 04 0C 00 +R 00 00 03 00 4A 04 18 00 T 91 00 00 00 00 00 00 00 02 03 00 00 04 -R 00 00 03 00 4A 04 1D 00 +R 00 00 03 00 4A 04 13 00 T 99 00 00 00 00 00 00 00 02 02 00 00 04 -R 00 00 03 00 4A 04 0F 00 +R 00 00 03 00 4A 04 0E 00 T A1 00 00 00 00 00 00 00 02 05 03 00 04 R 00 00 03 00 4A 04 25 00 T A9 00 00 00 00 00 00 00 00 00 00 00 04 -R 00 00 03 00 4A 04 16 00 +R 00 00 03 00 4A 04 1A 00 T B1 00 00 00 00 00 00 00 05 00 00 00 05 -R 00 00 03 00 4A 04 02 00 +R 00 00 03 00 4A 04 1C 00 T B9 00 00 00 00 00 00 00 04 05 05 00 05 -R 00 00 03 00 4A 04 0E 00 +R 00 00 03 00 4A 04 16 00 T C1 00 00 00 00 00 00 00 05 00 00 00 05 -R 00 00 03 00 4A 04 0B 00 +R 00 00 03 00 4A 04 14 00 T C9 00 00 00 00 00 00 00 04 05 05 04 05 -R 00 00 03 00 4A 04 09 00 +R 00 00 03 00 4A 04 22 00 T D1 00 00 00 00 00 00 00 04 05 05 00 04 -R 00 00 03 00 4A 04 0A 00 +R 00 00 03 00 4A 04 0F 00 T D9 00 00 00 00 00 00 00 02 05 00 00 04 -R 00 00 03 00 4A 04 1A 00 +R 00 00 03 00 4A 04 15 00 T E1 00 00 00 00 00 00 00 05 00 00 00 04 -R 00 00 03 00 4A 04 24 00 +R 00 00 03 00 4A 04 0A 00 T E9 00 00 00 00 00 00 00 00 00 00 00 05 -R 00 00 03 00 4A 04 11 00 +R 00 00 03 00 4A 04 0B 00 T F1 00 00 00 00 00 00 00 05 00 00 00 04 -R 00 00 03 00 4A 04 1B 00 +R 00 00 03 00 4A 04 17 00 T F9 00 00 00 00 00 00 00 05 00 00 00 04 -R 00 00 03 00 4A 04 00 00 +R 00 00 03 00 4A 04 26 00 T 01 01 00 00 00 00 00 00 02 00 00 00 04 -R 00 00 03 00 4A 04 1C 00 +R 00 00 03 00 4A 04 19 00 T 09 01 00 00 00 00 00 00 02 00 00 00 04 -R 00 00 03 00 4A 04 17 00 +R 00 00 03 00 4A 04 05 00 T 11 01 00 00 00 00 00 00 02 05 00 00 04 -R 00 00 03 00 4A 04 19 00 +R 00 00 03 00 4A 04 10 00 T 19 01 00 00 00 00 00 00 04 05 05 00 05 -R 00 00 03 00 4A 04 05 00 +R 00 00 03 00 4A 04 29 00 T 21 01 00 00 00 00 00 00 04 01 05 00 04 -R 00 00 03 00 4A 04 10 00 +R 00 00 03 00 4A 04 04 00 T 29 01 00 00 00 00 00 00 05 05 00 00 04 -R 00 00 03 00 4A 04 06 00 +R 00 00 03 00 4A 04 27 00 T 31 01 00 00 00 00 00 00 02 02 00 00 04 -R 00 00 03 00 4A 04 21 00 +R 00 00 03 00 4A 04 1B 00 T 39 01 00 00 00 00 00 00 02 00 00 00 04 -R 00 00 03 00 4A 04 07 00 +R 00 00 03 00 4A 04 09 00 T 41 01 00 00 00 00 00 00 04 04 00 00 29 00 -R 00 00 03 00 4A 04 2A 00 +R 00 00 03 00 4A 04 1D 00 diff --git a/src/nos/lib/filesys_lib/time.rel b/src/nos/lib/filesys_lib/time.rel index a89e576f..a1b7eb7c 100644 --- a/src/nos/lib/filesys_lib/time.rel +++ b/src/nos/lib/filesys_lib/time.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 06 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 04 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 04 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 04 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 04 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 04 00 T 72 00 00 00 56 23 66 6A 23 23 23 36 1E 3E R 00 00 01 00 @@ -52,7 +52,7 @@ T 86 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 07 00 02 09 00 00 T 8D 00 00 00 FB DD 74 FC DD 71 FD DD 70 FE 21 R 00 00 01 00 -T 98 00 00 00 4B 00 ED 4B 00 00 00 00 09 56 23 +T 98 00 00 00 4D 00 ED 4B 00 00 00 00 09 56 23 R 00 00 01 00 02 08 04 00 T A1 00 00 00 66 6A 11 04 00 19 DD 5E FB DD 56 R 00 00 01 00 @@ -60,7 +60,7 @@ T AC 00 00 00 FC 73 23 72 3E 00 00 00 00 21 R 00 00 01 00 2B 09 01 00 T B3 00 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 01 00 02 09 00 00 -T B9 00 00 00 4B 00 ED 4B 00 00 00 00 09 AF 77 +T B9 00 00 00 4D 00 ED 4B 00 00 00 00 09 AF 77 R 00 00 01 00 02 08 04 00 T C2 00 00 00 23 77 DD 4E FD DD 46 FE DD 6E FB R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/udata.rel b/src/nos/lib/filesys_lib/udata.rel deleted file mode 100644 index c43186c3..00000000 --- a/src/nos/lib/filesys_lib/udata.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 3 areas 3 global symbols -S .__.ABS. Def00000000 -S ?CL64180B_4_06_L00 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 0 flags 0 -A UDATA0 size 2 flags 0 -S _udata_p Def00000000 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 02 00 diff --git a/src/nos/lib/filesys_lib/uf_alloc.rel b/src/nos/lib/filesys_lib/uf_alloc.rel index 9745e9e2..4f582ec4 100644 --- a/src/nos/lib/filesys_lib/uf_alloc.rel +++ b/src/nos/lib/filesys_lib/uf_alloc.rel @@ -10,11 +10,11 @@ A CODE size 61 flags 0 S _uf_alloc Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 4B 00 ED +T 00 00 00 00 CD 00 00 00 00 FC FF 21 4D 00 ED R 00 00 01 00 02 05 03 00 T 09 00 00 00 4B 00 00 00 00 09 7E 23 66 6F 46 R 00 00 01 00 02 05 01 00 -T 12 00 00 00 23 66 68 01 71 00 09 DD 75 FD DD +T 12 00 00 00 23 66 68 01 73 00 09 DD 75 FD DD R 00 00 01 00 T 1D 00 00 00 74 FE DD 36 FC 00 R 00 00 01 00 @@ -40,9 +40,9 @@ T 42 00 00 00 DD 34 FC 18 DC R 00 00 01 00 T 47 00 00 00 R 00 00 01 00 -T 47 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 47 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 01 00 -T 50 00 00 00 23 66 68 01 08 00 09 36 17 23 36 +T 50 00 00 00 23 66 68 01 08 00 09 36 18 23 36 R 00 00 01 00 T 5B 00 00 00 00 2E FF R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/umask.rel b/src/nos/lib/filesys_lib/umask.rel index 0e8906f1..31c5c422 100644 --- a/src/nos/lib/filesys_lib/umask.rel +++ b/src/nos/lib/filesys_lib/umask.rel @@ -2,9 +2,9 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _sys_getset Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,40 +21,40 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 -T 5E 00 00 00 0A 00 19 36 0A 23 36 00 21 4B 00 +T 5E 00 00 00 0A 00 19 36 0A 23 36 00 21 4D 00 R 00 00 01 00 T 69 00 00 00 ED 4B 00 00 00 00 09 56 23 66 6A R 00 00 01 00 02 06 06 00 T 72 00 00 00 11 0C 00 19 DD 5E 02 DD 56 03 73 R 00 00 01 00 -T 7D 00 00 00 23 72 21 4B 00 ED 4B 00 00 00 00 +T 7D 00 00 00 23 72 21 4D 00 ED 4B 00 00 00 00 R 00 00 01 00 02 0B 06 00 T 86 00 00 00 09 56 23 66 6A 23 23 23 36 07 3E R 00 00 01 00 T 91 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 96 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 2B 09 03 00 +R 00 00 01 00 02 04 00 00 2B 09 02 00 T 9B 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T A2 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +R 00 00 01 00 02 04 02 00 02 09 00 00 +T A2 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T AB 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -66,15 +66,15 @@ T C4 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T CC 00 00 00 R 00 00 01 00 -T CC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T CC 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D5 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D5 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E0 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T E8 00 00 00 R 00 00 01 00 -T E8 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T E8 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F1 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/umount.rel b/src/nos/lib/filesys_lib/umount.rel index aca104c8..e4c2eca4 100644 --- a/src/nos/lib/filesys_lib/umount.rel +++ b/src/nos/lib/filesys_lib/umount.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_mountumount Ref00000000 S _Curproc Ref00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 23 23 23 36 20 3E R 00 00 01 00 @@ -50,7 +50,7 @@ T 81 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 05 00 T 86 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 05 00 02 09 00 00 -T 8D 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T 8D 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T 96 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -62,15 +62,15 @@ T AF 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T B7 00 00 00 R 00 00 01 00 -T B7 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T B7 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T C0 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T C0 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T CB 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T D3 00 00 00 R 00 00 01 00 -T D3 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T D3 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T DC 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/unlink.rel b/src/nos/lib/filesys_lib/unlink.rel index 89acd45d..968f1b5a 100644 --- a/src/nos/lib/filesys_lib/unlink.rel +++ b/src/nos/lib/filesys_lib/unlink.rel @@ -2,9 +2,9 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 S _sys_unlink Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 23 23 23 36 21 3E R 00 00 01 00 T 7C 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 81 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 2B 09 04 00 +R 00 00 01 00 02 04 00 00 2B 09 03 00 T 86 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 04 00 02 09 00 00 -T 8D 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +R 00 00 01 00 02 04 03 00 02 09 00 00 +T 8D 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T 96 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -62,15 +62,15 @@ T AF 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T B7 00 00 00 R 00 00 01 00 -T B7 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T B7 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T C0 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T C0 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T CB 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T D3 00 00 00 R 00 00 01 00 -T D3 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T D3 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T DC 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/valadr.rel b/src/nos/lib/filesys_lib/valadr.rel index 3c5f5f34..f87de4d1 100644 --- a/src/nos/lib/filesys_lib/valadr.rel +++ b/src/nos/lib/filesys_lib/valadr.rel @@ -36,7 +36,7 @@ T 41 00 00 00 R 00 00 01 00 T 41 00 00 00 R 00 00 01 00 -T 41 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 41 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 01 00 T 4A 00 00 00 23 66 68 01 08 00 09 36 0E 23 36 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/validblk.rel b/src/nos/lib/filesys_lib/validblk.rel index 988895e1..bd52619a 100644 --- a/src/nos/lib/filesys_lib/validblk.rel +++ b/src/nos/lib/filesys_lib/validblk.rel @@ -1,13 +1,13 @@ XL4 H 2 areas A global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0610_74cf_validblk_3a_20inval Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 +S ___06ed_a0e5_validblk_3a_20dev_2 Ref00000000 S __panic Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___060f_a0e5_validblk_3a_20dev_2 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___06ee_74cf_validblk_3a_20inval Ref00000000 S _findfs Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 93 flags 0 @@ -27,7 +27,7 @@ R 00 00 01 00 T 1D 00 00 00 DD 6E FE DD 66 FF E5 0E R 00 00 01 00 T 25 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 06 00 02 0A 06 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T 2B 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 04 00 02 0A 04 00 T 31 00 00 00 00 00 00 00 F1 F1 F1 @@ -55,7 +55,7 @@ R 00 00 01 00 T 77 00 00 00 DD 6E 04 DD 66 05 E5 0E R 00 00 01 00 T 7F 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 01 00 02 0A 01 00 +R 00 00 01 00 2B 04 07 00 02 0A 07 00 T 85 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 04 00 02 0A 04 00 T 8B 00 00 00 00 00 00 00 F1 F1 F1 @@ -63,4 +63,4 @@ R 00 00 01 00 02 04 00 00 T 90 00 00 00 R 00 00 01 00 T 90 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/filesys_lib/validdev.rel b/src/nos/lib/filesys_lib/validdev.rel index 368cd450..019c3c7c 100644 --- a/src/nos/lib/filesys_lib/validdev.rel +++ b/src/nos/lib/filesys_lib/validdev.rel @@ -52,7 +52,7 @@ T 60 00 00 00 F1 F1 R 00 00 01 00 T 62 00 00 00 R 00 00 01 00 -T 62 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 62 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 04 00 T 6B 00 00 00 23 66 68 01 08 00 09 36 13 23 36 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/vdprintf.rel b/src/nos/lib/filesys_lib/vdprintf.rel index 84054316..829cdd99 100644 --- a/src/nos/lib/filesys_lib/vdprintf.rel +++ b/src/nos/lib/filesys_lib/vdprintf.rel @@ -1,9 +1,9 @@ XL4 H 2 areas B global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S _Ptab Ref00000000 S _dputter Ref00000000 S _chkstk Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 @@ -11,7 +11,7 @@ S _Stkchk Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S ___vprinter Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 52 flags 0 +A CODE size 53 flags 0 S _vdprintf Def00000000 T 00 00 00 00 R 00 00 01 00 @@ -22,34 +22,34 @@ R 00 00 01 00 T 0A 00 00 00 R 00 00 01 00 T 0A 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 +R 00 00 01 00 2B 05 02 00 02 0A 02 00 T 10 00 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 T 12 00 00 00 R 00 00 01 00 -T 12 00 00 00 2A 00 00 00 00 01 6F 00 09 46 23 -R 00 00 01 00 02 05 01 00 -T 1B 00 00 00 66 68 DD 4E 02 DD 46 03 A7 ED 42 +T 12 00 00 00 21 71 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 03 00 +T 1B 00 00 00 23 66 68 DD 4E 02 DD 46 03 A7 ED R 00 00 01 00 -T 26 00 00 00 30 05 +T 26 00 00 00 42 30 05 R 00 00 01 00 -T 28 00 00 00 +T 29 00 00 00 R 00 00 01 00 -T 28 00 00 00 21 00 00 18 22 +T 29 00 00 00 21 00 00 18 22 R 00 00 01 00 -T 2D 00 00 00 +T 2E 00 00 00 R 00 00 01 00 -T 2D 00 00 00 DD 6E 0A DD 66 0B E5 DD 6E 04 DD +T 2E 00 00 00 DD 6E 0A DD 66 0B E5 DD 6E 04 DD R 00 00 01 00 -T 38 00 00 00 66 05 E5 21 00 00 E5 0E +T 39 00 00 00 66 05 E5 21 00 00 E5 0E R 00 00 01 00 -T 40 00 00 00 00 00 00 00 11 00 00 00 00 3E -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 45 00 00 00 00 00 00 00 21 00 00 00 00 CD +T 41 00 00 00 00 00 00 00 11 00 00 00 00 3E +R 00 00 01 00 2B 04 01 00 02 09 01 00 +T 46 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 09 00 02 09 09 00 -T 4A 00 00 00 00 00 00 00 F1 F1 F1 +T 4B 00 00 00 00 00 00 00 F1 F1 F1 R 00 00 01 00 02 04 00 00 -T 4F 00 00 00 +T 50 00 00 00 R 00 00 01 00 -T 4F 00 00 00 C3 00 00 00 00 +T 50 00 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/filesys_lib/wargs.rel b/src/nos/lib/filesys_lib/wargs.rel index 4413de40..d03753a7 100644 --- a/src/nos/lib/filesys_lib/wargs.rel +++ b/src/nos/lib/filesys_lib/wargs.rel @@ -55,7 +55,7 @@ T 8C 00 00 00 ED 42 30 1A R 00 00 01 00 T 90 00 00 00 R 00 00 01 00 -T 90 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 90 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 04 00 T 99 00 00 00 23 66 68 01 08 00 09 36 07 23 36 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/wr_inode.rel b/src/nos/lib/filesys_lib/wr_inode.rel index 6e8d7678..949370ee 100644 --- a/src/nos/lib/filesys_lib/wr_inode.rel +++ b/src/nos/lib/filesys_lib/wr_inode.rel @@ -5,19 +5,19 @@ S _magic Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _bfree Ref00000000 S _memcpy Ref00000000 +S ___06fb_bd9d_wr_5finode_28_29_20 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S ___061c_bd9d_wr_5finode_28_29_20 Ref00000000 +S ___06fd_7708_wr_5finode_280x_25x Ref00000000 S ?S_LSH_L02 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___061e_7708_wr_5finode_280x_25x Ref00000000 +S ___06fc_68b2_wr_5finode_28_29_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _dirty_mask Ref00000000 S _findfs Ref00000000 S _bread Ref00000000 -S ___061d_68b2_wr_5finode_28_29_20 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 16B flags 0 S _wr_inode Def00000000 @@ -25,13 +25,13 @@ A CSTR size 9 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T 09 00 00 00 66 03 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 0C 00 +R 00 00 01 00 2B 08 0A 00 T 10 00 00 00 00 00 00 00 E5 21 03 00 E5 3E -R 00 00 01 00 02 04 0C 00 +R 00 00 01 00 02 04 0A 00 T 18 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 +R 00 00 01 00 2B 04 07 00 02 09 07 00 T 1D 00 00 00 00 00 00 00 F1 F1 F1 F1 01 R 00 00 01 00 02 04 02 00 T 24 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E @@ -55,9 +55,9 @@ R 00 00 01 00 T 50 00 00 00 0E 00 C5 DD 6E 02 DD 66 03 23 23 R 00 00 01 00 T 5B 00 00 00 23 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0F 00 +R 00 00 01 00 2B 09 10 00 T 62 00 00 00 00 00 00 00 CD 00 00 00 00 23 23 -R 00 00 01 00 02 04 0F 00 02 09 02 00 +R 00 00 01 00 02 04 10 00 02 09 02 00 T 69 00 00 00 46 23 66 68 E5 21 05 00 DD 4E 02 R 00 00 01 00 T 74 00 00 00 DD 46 03 09 5E 23 56 06 03 CD @@ -67,7 +67,7 @@ R 00 00 01 00 02 04 00 00 T 87 00 00 00 DD 66 03 23 23 23 5E 23 56 3E R 00 00 01 00 T 91 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 10 00 02 09 10 00 +R 00 00 01 00 2B 04 11 00 02 09 11 00 T 96 00 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF R 00 00 01 00 02 04 02 00 T 9F 00 00 00 7D B4 20 31 @@ -76,16 +76,16 @@ T A3 00 00 00 R 00 00 01 00 T A3 00 00 00 R 00 00 01 00 -T A3 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 07 00 +T A3 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 08 00 T AC 00 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T B7 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 09 00 02 0B 09 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 T BD 00 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 06 00 +R 00 00 01 00 2B 0A 07 00 T C5 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 06 00 02 09 02 00 +R 00 00 01 00 02 04 07 00 02 09 02 00 T CC 00 00 00 F1 F1 21 FF FF C3 68 01 00 00 R 00 00 01 00 00 0A 01 00 T D4 00 00 00 @@ -97,13 +97,13 @@ R 00 00 01 00 T EA 00 00 00 02 DD 56 03 19 7E E6 07 5F 23 7E R 00 00 01 00 T F5 00 00 00 E6 00 57 06 06 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 0A 00 +R 00 00 01 00 02 0A 0B 00 T FE 00 00 00 6E FE DD 66 FF 19 EB 3E R 00 00 01 00 T 06 01 00 00 00 00 00 00 21 00 00 00 00 C1 CD R 00 00 01 00 2B 04 04 00 02 09 04 00 T 0C 01 00 00 00 00 00 00 F1 3A 00 00 00 00 B7 -R 00 00 01 00 02 04 02 00 02 0A 0E 00 +R 00 00 01 00 02 04 02 00 02 0A 0F 00 T 13 01 00 00 28 04 0E 01 18 02 R 00 00 01 00 T 19 01 00 00 @@ -128,22 +128,22 @@ T 30 01 00 00 R 00 00 01 00 T 30 01 00 00 DD 6E 02 DD 66 03 23 23 36 00 21 R 00 00 01 00 -T 3B 01 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 -R 00 00 01 00 02 08 07 00 +T 3B 01 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 +R 00 00 01 00 02 08 08 00 T 44 01 00 00 66 68 01 08 00 09 4E 23 46 C5 0E R 00 00 01 00 T 4F 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 11 00 02 0A 11 00 +R 00 00 01 00 2B 04 0D 00 02 0A 0D 00 T 55 01 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 06 00 +R 00 00 01 00 2B 09 07 00 T 5C 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 06 00 02 09 02 00 +R 00 00 01 00 02 04 07 00 02 09 02 00 T 63 01 00 00 F1 F1 21 00 00 R 00 00 01 00 T 68 01 00 00 R 00 00 01 00 T 68 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 06 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 77 72 5F 69 6E 6F 64 65 00 diff --git a/src/nos/lib/filesys_lib/write.rel b/src/nos/lib/filesys_lib/write.rel index 120416d6..f2c39ca1 100644 --- a/src/nos/lib/filesys_lib/write.rel +++ b/src/nos/lib/filesys_lib/write.rel @@ -3,8 +3,8 @@ H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _sys_readwrite Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 03 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 90 00 00 00 0E 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 9B 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 9B 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T A4 00 00 00 56 23 66 6A 23 23 23 36 24 3E R 00 00 01 00 @@ -60,7 +60,7 @@ T B3 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 01 00 T B8 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 01 00 02 09 00 00 -T BF 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T BF 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T C8 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -72,15 +72,15 @@ T E1 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T E9 00 00 00 R 00 00 01 00 -T E9 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T E9 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T F2 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T F2 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T FD 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 05 01 00 00 R 00 00 01 00 -T 05 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 05 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T 0E 01 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_access.rel b/src/nos/lib/filesys_lib/xfs_access.rel index a2f45a40..335aef96 100644 --- a/src/nos/lib/filesys_lib/xfs_access.rel +++ b/src/nos/lib/filesys_lib/xfs_access.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 @@ -52,7 +52,7 @@ T 8C 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 08 00 02 09 08 00 T 91 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T 9A 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T 9A 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 05 00 T A3 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -64,15 +64,15 @@ T BC 00 00 00 3C 20 1C R 00 00 01 00 T BF 00 00 00 R 00 00 01 00 -T BF 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T BF 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T C8 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T C8 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T D3 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T DB 00 00 00 R 00 00 01 00 -T DB 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T DB 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T E4 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_chdir.rel b/src/nos/lib/filesys_lib/xfs_chdir.rel index 5f4a5ce7..40571400 100644 --- a/src/nos/lib/filesys_lib/xfs_chdir.rel +++ b/src/nos/lib/filesys_lib/xfs_chdir.rel @@ -2,9 +2,9 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _sys_chdir Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 23 23 23 36 03 3E R 00 00 01 00 T 7C 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 81 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 2B 09 03 00 +R 00 00 01 00 02 04 00 00 2B 09 02 00 T 86 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T 8D 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +R 00 00 01 00 02 04 02 00 02 09 00 00 +T 8D 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T 96 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -62,15 +62,15 @@ T AF 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T B7 00 00 00 R 00 00 01 00 -T B7 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T B7 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T C0 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T C0 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T CB 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T D3 00 00 00 R 00 00 01 00 -T D3 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T D3 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T DC 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_chmod.rel b/src/nos/lib/filesys_lib/xfs_chmod.rel index c23202ae..8c17829d 100644 --- a/src/nos/lib/filesys_lib/xfs_chmod.rel +++ b/src/nos/lib/filesys_lib/xfs_chmod.rel @@ -2,9 +2,9 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _sys_chmod Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 06 00 @@ -53,10 +53,10 @@ R 00 00 01 00 2B 08 0A 00 T 97 00 00 00 00 00 00 00 CD 00 00 00 00 3E R 00 00 01 00 02 04 0A 00 02 09 00 00 T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 +R 00 00 01 00 2B 04 02 00 02 09 02 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 06 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_chown.rel b/src/nos/lib/filesys_lib/xfs_chown.rel index d7cafde8..7dd3ffe1 100644 --- a/src/nos/lib/filesys_lib/xfs_chown.rel +++ b/src/nos/lib/filesys_lib/xfs_chown.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_chown Ref00000000 S _Curproc Ref00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 90 00 00 00 0E 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 9B 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 9B 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T A4 00 00 00 56 23 66 6A 23 23 23 36 05 3E R 00 00 01 00 @@ -60,7 +60,7 @@ T B3 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 05 00 T B8 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 05 00 02 09 00 00 -T BF 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T BF 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T C8 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -72,15 +72,15 @@ T E1 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T E9 00 00 00 R 00 00 01 00 -T E9 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T E9 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T F2 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T F2 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T FD 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 05 01 00 00 R 00 00 01 00 -T 05 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 05 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T 0E 01 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_close.rel b/src/nos/lib/filesys_lib/xfs_close.rel index b176c5ba..bcc0a44d 100644 --- a/src/nos/lib/filesys_lib/xfs_close.rel +++ b/src/nos/lib/filesys_lib/xfs_close.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_close Ref00000000 S _Curproc Ref00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 23 23 23 36 06 3E R 00 00 01 00 @@ -50,7 +50,7 @@ T 81 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 05 00 T 86 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 05 00 02 09 00 00 -T 8D 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T 8D 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T 96 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -62,15 +62,15 @@ T AF 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T B7 00 00 00 R 00 00 01 00 -T B7 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T B7 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T C0 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T C0 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T CB 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T D3 00 00 00 R 00 00 01 00 -T D3 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T D3 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T DC 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_creat.rel b/src/nos/lib/filesys_lib/xfs_creat.rel index 1deeee36..67cd3a2b 100644 --- a/src/nos/lib/filesys_lib/xfs_creat.rel +++ b/src/nos/lib/filesys_lib/xfs_creat.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,34 +21,34 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 36 02 23 R 00 00 01 00 -T 7D 00 00 00 36 03 21 4B 00 ED 4B 00 00 00 00 +T 7D 00 00 00 36 03 21 4D 00 ED 4B 00 00 00 00 R 00 00 01 00 02 0B 05 00 T 86 00 00 00 09 56 23 66 6A 11 0E 00 19 DD 5E R 00 00 01 00 -T 91 00 00 00 04 DD 56 05 73 23 72 21 4B 00 ED +T 91 00 00 00 04 DD 56 05 73 23 72 21 4D 00 ED R 00 00 01 00 T 9C 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 @@ -60,7 +60,7 @@ T B2 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 08 00 02 09 08 00 T B7 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T C0 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T C0 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 05 00 T C9 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -72,15 +72,15 @@ T E2 00 00 00 3C 20 1C R 00 00 01 00 T E5 00 00 00 R 00 00 01 00 -T E5 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T E5 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T EE 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T EE 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T F9 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 01 01 00 00 R 00 00 01 00 -T 01 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 01 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T 0A 01 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_dup.rel b/src/nos/lib/filesys_lib/xfs_dup.rel index 62a8cf5e..52334839 100644 --- a/src/nos/lib/filesys_lib/xfs_dup.rel +++ b/src/nos/lib/filesys_lib/xfs_dup.rel @@ -3,8 +3,8 @@ H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 S _sys_dup Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 03 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 23 23 23 36 08 3E R 00 00 01 00 @@ -50,7 +50,7 @@ T 81 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 02 00 T 86 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 02 00 02 09 00 00 -T 8D 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T 8D 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T 96 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -62,15 +62,15 @@ T AF 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T B7 00 00 00 R 00 00 01 00 -T B7 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T B7 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T C0 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T C0 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T CB 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T D3 00 00 00 R 00 00 01 00 -T D3 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T D3 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T DC 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_dup2.rel b/src/nos/lib/filesys_lib/xfs_dup2.rel index feb290a4..031d6388 100644 --- a/src/nos/lib/filesys_lib/xfs_dup2.rel +++ b/src/nos/lib/filesys_lib/xfs_dup2.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 05 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 09 00 02 09 09 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 05 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_end.rel b/src/nos/lib/filesys_lib/xfs_end.rel index edfd5d7a..e57802bf 100644 --- a/src/nos/lib/filesys_lib/xfs_end.rel +++ b/src/nos/lib/filesys_lib/xfs_end.rel @@ -20,7 +20,7 @@ T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 4D R 00 00 01 00 02 04 04 00 @@ -36,11 +36,11 @@ T 40 00 00 00 AC 67 ED 42 30 38 R 00 00 01 00 T 46 00 00 00 R 00 00 01 00 -T 46 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 7E +T 46 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 02 09 04 00 T 4F 00 00 00 23 66 6F 46 23 66 68 DD 4E FD DD R 00 00 01 00 -T 5A 00 00 00 46 FE 09 01 71 00 09 7E E6 80 20 +T 5A 00 00 00 46 FE 09 01 73 00 09 7E E6 80 20 R 00 00 01 00 T 65 00 00 00 0E R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_falign.rel b/src/nos/lib/filesys_lib/xfs_falign.rel index 0c006293..4f7034b2 100644 --- a/src/nos/lib/filesys_lib/xfs_falign.rel +++ b/src/nos/lib/filesys_lib/xfs_falign.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 05 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 08 00 02 09 08 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 05 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_fstat.rel b/src/nos/lib/filesys_lib/xfs_fstat.rel index e0a89d7f..f40329df 100644 --- a/src/nos/lib/filesys_lib/xfs_fstat.rel +++ b/src/nos/lib/filesys_lib/xfs_fstat.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_statfstat Ref00000000 S _Curproc Ref00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 06 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 05 00 02 09 05 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 06 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_getfsys.rel b/src/nos/lib/filesys_lib/xfs_getfsys.rel index 73761f6a..cc19b13b 100644 --- a/src/nos/lib/filesys_lib/xfs_getfsys.rel +++ b/src/nos/lib/filesys_lib/xfs_getfsys.rel @@ -3,8 +3,8 @@ H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _sys_getfsys Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 03 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 06 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 01 00 02 09 01 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 06 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_init.rel b/src/nos/lib/filesys_lib/xfs_init.rel index 8685d16d..fa81604b 100644 --- a/src/nos/lib/filesys_lib/xfs_init.rel +++ b/src/nos/lib/filesys_lib/xfs_init.rel @@ -1,13 +1,13 @@ XL4 -H 2 areas 16 global symbols +H 2 areas 14 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _rdtime Ref00000000 S _i_ref Ref00000000 -S _Ptab Ref00000000 -S ___052f_a7f6_no_20filesys Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _fmount Ref00000000 +S ___05fc_7405_no_20root Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S _root_dev Ref00000000 @@ -15,14 +15,12 @@ S _root_ino Ref00000000 S __panic Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _fs_init Ref00000000 -S _bufinit Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0530_7405_no_20root Ref00000000 S _d_init Ref00000000 S _i_open Ref00000000 -S _i_init Ref00000000 +S ___05fb_a7f6_no_20filesys Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size F2 flags 0 +A CODE size E5 flags 0 S _xfs_init Def00000000 T 00 00 00 00 R 00 00 01 00 @@ -31,86 +29,80 @@ R 00 00 01 00 02 05 0D 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 4D R 00 00 01 00 02 04 08 00 T 29 00 00 00 44 E1 71 23 70 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0F 00 +R 00 00 01 00 2B 0A 10 00 T 31 00 00 00 00 00 00 00 CD 00 00 00 00 3E -R 00 00 01 00 02 04 0F 00 02 09 00 00 +R 00 00 01 00 02 04 10 00 02 09 00 00 T 37 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 -T 3C 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 2B 09 14 00 -T 41 00 00 00 00 00 00 00 CD 00 00 00 00 3E -R 00 00 01 00 02 04 14 00 02 09 00 00 -T 47 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0E 00 02 09 0E 00 -T 4C 00 00 00 00 00 00 00 DD 6E 02 DD 66 03 22 +T 3C 00 00 00 00 00 00 00 DD 6E 02 DD 66 03 22 R 00 00 01 00 02 04 00 00 -T 55 00 00 00 00 00 00 00 7D A4 3C 28 77 +T 45 00 00 00 00 00 00 00 7D A4 3C 28 79 R 00 00 01 00 02 04 0A 00 -T 5C 00 00 00 +T 4C 00 00 00 R 00 00 01 00 -T 5C 00 00 00 0E 00 C5 01 00 00 ED 5B +T 4C 00 00 00 0E 00 C5 01 00 00 ED 5B R 00 00 01 00 -T 64 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 2B 09 07 00 -T 69 00 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 07 00 02 09 00 00 -T 70 00 00 00 B4 28 11 +T 54 00 00 00 00 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 02 04 0A 00 2B 09 06 00 +T 59 00 00 00 00 00 00 00 CD 00 00 00 00 F1 7D +R 00 00 01 00 02 04 06 00 02 09 00 00 +T 60 00 00 00 B4 28 11 R 00 00 01 00 -T 73 00 00 00 +T 63 00 00 00 R 00 00 01 00 -T 73 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 04 00 02 0B 04 00 -T 79 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +T 63 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 12 00 02 0B 12 00 +T 69 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 -T 7F 00 00 00 CD 00 00 00 00 F1 F1 +T 6F 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 05 00 00 -T 84 00 00 00 +T 74 00 00 00 R 00 00 01 00 -T 84 00 00 00 01 01 00 ED 5B 00 00 00 00 3E +T 74 00 00 00 01 01 00 ED 5B 00 00 00 00 3E R 00 00 01 00 02 09 0A 00 -T 8C 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 13 00 02 09 13 00 -T 91 00 00 00 00 00 00 00 22 00 00 00 00 7D B4 +T 7C 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 11 00 02 09 11 00 +T 81 00 00 00 00 00 00 00 22 00 00 00 00 7D B4 R 00 00 01 00 02 04 00 00 02 09 0B 00 -T 98 00 00 00 20 11 +T 88 00 00 00 20 11 R 00 00 01 00 -T 9A 00 00 00 +T 8A 00 00 00 R 00 00 01 00 -T 9A 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 11 00 02 0B 11 00 -T A0 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +T 8A 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 07 00 02 0B 07 00 +T 90 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 -T A6 00 00 00 CD 00 00 00 00 F1 F1 +T 96 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 05 00 00 -T AB 00 00 00 +T 9B 00 00 00 R 00 00 01 00 -T AB 00 00 00 2A 00 00 00 00 01 27 00 09 ED 4B -R 00 00 01 00 02 05 03 00 -T B4 00 00 00 00 00 00 00 71 23 70 2A +T 9B 00 00 00 21 29 00 ED 4B 00 00 00 00 09 ED +R 00 00 01 00 02 09 04 00 +T A4 00 00 00 5B 00 00 00 00 73 23 72 21 6D 00 +R 00 00 01 00 02 05 0B 00 +T AD 00 00 00 ED 4B 00 00 00 00 09 ED 4B +R 00 00 01 00 02 06 04 00 +T B4 00 00 00 00 00 00 00 71 23 70 ED 5B R 00 00 01 00 02 04 0B 00 -T BA 00 00 00 00 00 00 00 01 6B 00 09 ED 4B -R 00 00 01 00 02 04 03 00 -T C2 00 00 00 00 00 00 00 71 23 70 ED 5B -R 00 00 01 00 02 04 0B 00 -T C9 00 00 00 00 00 00 00 3E 00 00 00 00 21 +T BB 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 0B 00 2B 09 02 00 -T CE 00 00 00 00 00 00 00 CD 00 00 00 00 +T C0 00 00 00 00 00 00 00 CD 00 00 00 00 R 00 00 01 00 02 04 02 00 02 09 00 00 -T D3 00 00 00 +T C5 00 00 00 R 00 00 01 00 -T D3 00 00 00 2A 00 00 00 00 01 23 00 09 EB 3E -R 00 00 01 00 02 05 03 00 -T DC 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T E1 00 00 00 00 00 00 00 21 4B 00 ED 4B +T C5 00 00 00 21 25 00 ED 4B 00 00 00 00 09 EB +R 00 00 01 00 02 09 04 00 +T CE 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 01 00 02 0A 01 00 +T D4 00 00 00 00 00 00 00 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 -T E8 00 00 00 00 00 00 00 09 AF 77 23 77 C3 +T DB 00 00 00 00 00 00 00 09 AF 77 23 77 C3 R 00 00 01 00 02 04 08 00 -T F0 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 06 00 +T E3 00 00 00 00 00 00 00 +R 00 00 01 00 02 04 05 00 diff --git a/src/nos/lib/filesys_lib/xfs_ioctl.rel b/src/nos/lib/filesys_lib/xfs_ioctl.rel index eee8b172..bc459546 100644 --- a/src/nos/lib/filesys_lib/xfs_ioctl.rel +++ b/src/nos/lib/filesys_lib/xfs_ioctl.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_ioctl Ref00000000 S _Curproc Ref00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 06 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 06 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 0C R 00 00 01 00 @@ -48,7 +48,7 @@ T 7D 00 00 00 DD 56 0D 73 23 72 21 2E 00 39 01 R 00 00 01 00 T 88 00 00 00 02 00 09 DD 75 E0 DD 74 E1 21 R 00 00 01 00 -T 92 00 00 00 4B 00 ED 4B 00 00 00 00 09 56 23 +T 92 00 00 00 4D 00 ED 4B 00 00 00 00 09 56 23 R 00 00 01 00 02 08 06 00 T 9B 00 00 00 66 6A 11 0E 00 19 E5 21 04 00 39 R 00 00 01 00 @@ -56,7 +56,7 @@ T A6 00 00 00 7E C6 02 77 23 7E CE 00 77 2B 6E R 00 00 01 00 T B1 00 00 00 67 2B 2B 5E 23 56 E1 73 23 72 21 R 00 00 01 00 -T BC 00 00 00 4B 00 ED 4B 00 00 00 00 09 56 23 +T BC 00 00 00 4D 00 ED 4B 00 00 00 00 09 56 23 R 00 00 01 00 02 08 06 00 T C5 00 00 00 66 6A 23 23 23 36 0F 3E R 00 00 01 00 @@ -66,7 +66,7 @@ T D2 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 05 00 T D7 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 05 00 02 09 00 00 -T DE 00 00 00 DE DD 74 DF 21 4B 00 ED 4B +T DE 00 00 00 DE DD 74 DF 21 4D 00 ED 4B R 00 00 01 00 T E7 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -78,15 +78,15 @@ T 00 01 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T 08 01 00 00 R 00 00 01 00 -T 08 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T 08 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T 11 01 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T 11 01 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T 1C 01 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 24 01 00 00 R 00 00 01 00 -T 24 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 24 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T 2D 01 00 00 77 23 77 DD 6E DE DD 66 DF C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_link.rel b/src/nos/lib/filesys_lib/xfs_link.rel index b8764ca3..4831d7ef 100644 --- a/src/nos/lib/filesys_lib/xfs_link.rel +++ b/src/nos/lib/filesys_lib/xfs_link.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 05 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 08 00 02 09 08 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 05 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_lseek.rel b/src/nos/lib/filesys_lib/xfs_lseek.rel index 6ed8d2c5..1a3f7f62 100644 --- a/src/nos/lib/filesys_lib/xfs_lseek.rel +++ b/src/nos/lib/filesys_lib/xfs_lseek.rel @@ -2,8 +2,8 @@ XL4 H 2 areas D global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S _sys_lseek Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -22,30 +22,30 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 0A R 00 00 01 00 -T 7D 00 00 00 DD 56 0B 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 0B 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 @@ -55,11 +55,11 @@ T 9B 00 00 00 0D DD 6E 0A DD 66 0B CD R 00 00 01 00 T A3 00 00 00 00 00 00 00 EB E1 73 23 72 21 R 00 00 01 00 02 04 09 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 56 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 56 23 R 00 00 01 00 02 08 05 00 T B4 00 00 00 66 6A 11 10 00 19 DD 5E 0E DD 56 R 00 00 01 00 -T BF 00 00 00 0F 73 23 72 21 4B 00 ED 4B +T BF 00 00 00 0F 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T C8 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 05 00 @@ -71,7 +71,7 @@ T DD 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 04 00 02 09 04 00 T E2 00 00 00 00 00 00 00 DD 75 FB DD 74 FC DD R 00 00 01 00 02 04 00 00 -T EB 00 00 00 71 FD DD 70 FE 21 4B 00 ED 4B +T EB 00 00 00 71 FD DD 70 FE 21 4D 00 ED 4B R 00 00 01 00 T F5 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 05 00 @@ -85,15 +85,15 @@ T 17 01 00 00 DD A6 FD DD A6 FE 3C 20 1C R 00 00 01 00 T 20 01 00 00 R 00 00 01 00 -T 20 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T 20 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T 29 01 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T 29 01 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T 34 01 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 3C 01 00 00 R 00 00 01 00 -T 3C 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 3C 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T 45 01 00 00 77 23 77 DD 4E FD DD 46 FE DD 6E R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_mknod.rel b/src/nos/lib/filesys_lib/xfs_mknod.rel index 0f61c3ca..40b700c3 100644 --- a/src/nos/lib/filesys_lib/xfs_mknod.rel +++ b/src/nos/lib/filesys_lib/xfs_mknod.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_mknod Ref00000000 S _Curproc Ref00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 90 00 00 00 0E 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 9B 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 9B 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T A4 00 00 00 56 23 66 6A 23 23 23 36 12 3E R 00 00 01 00 @@ -60,7 +60,7 @@ T B3 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 05 00 T B8 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 05 00 02 09 00 00 -T BF 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T BF 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T C8 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -72,15 +72,15 @@ T E1 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T E9 00 00 00 R 00 00 01 00 -T E9 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T E9 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T F2 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T F2 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T FD 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 05 01 00 00 R 00 00 01 00 -T 05 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 05 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T 0E 01 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_mount.rel b/src/nos/lib/filesys_lib/xfs_mount.rel index 46806eb6..4beac3a5 100644 --- a/src/nos/lib/filesys_lib/xfs_mount.rel +++ b/src/nos/lib/filesys_lib/xfs_mount.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_mountumount Ref00000000 S _Curproc Ref00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 90 00 00 00 0E 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 9B 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 9B 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T A4 00 00 00 56 23 66 6A 23 23 23 36 13 3E R 00 00 01 00 @@ -60,7 +60,7 @@ T B3 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 05 00 T B8 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 05 00 02 09 00 00 -T BF 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T BF 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T C8 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -72,15 +72,15 @@ T E1 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T E9 00 00 00 R 00 00 01 00 -T E9 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T E9 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T F2 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T F2 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T FD 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 05 01 00 00 R 00 00 01 00 -T 05 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 05 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T 0E 01 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_open.rel b/src/nos/lib/filesys_lib/xfs_open.rel index 2ce258ea..57dc25b4 100644 --- a/src/nos/lib/filesys_lib/xfs_open.rel +++ b/src/nos/lib/filesys_lib/xfs_open.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 06 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 06 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 T 5E 00 00 00 0A 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 05 00 T 72 00 00 00 46 23 66 68 01 0C 00 09 DD 4E 0C R 00 00 01 00 @@ -52,7 +52,7 @@ T 91 00 00 00 R 00 00 01 00 T 91 00 00 00 21 2E 00 39 01 02 00 09 DD 75 E0 R 00 00 01 00 -T 9C 00 00 00 DD 74 E1 21 4B 00 ED 4B +T 9C 00 00 00 DD 74 E1 21 4D 00 ED 4B R 00 00 01 00 T A4 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 05 00 @@ -64,13 +64,13 @@ T C2 00 00 00 4E 23 46 E1 71 23 70 18 14 R 00 00 01 00 T CB 00 00 00 R 00 00 01 00 -T CB 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T CB 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 05 00 T D4 00 00 00 23 66 68 01 0E 00 09 AF 77 23 77 R 00 00 01 00 T DF 00 00 00 R 00 00 01 00 -T DF 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T DF 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 05 00 T E8 00 00 00 23 66 6A 23 23 23 36 14 3E R 00 00 01 00 @@ -80,7 +80,7 @@ T F6 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 08 00 T FB 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 08 00 02 09 00 00 -T 02 01 00 00 DE DD 74 DF 21 4B 00 ED 4B +T 02 01 00 00 DE DD 74 DF 21 4D 00 ED 4B R 00 00 01 00 T 0B 01 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 05 00 @@ -92,15 +92,15 @@ T 24 01 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T 2C 01 00 00 R 00 00 01 00 -T 2C 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T 2C 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 -T 35 01 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T 35 01 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T 40 01 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 48 01 00 00 R 00 00 01 00 -T 48 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 48 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 05 00 T 51 01 00 00 77 23 77 DD 6E DE DD 66 DF C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_read.rel b/src/nos/lib/filesys_lib/xfs_read.rel index 7c33bbe5..0046fada 100644 --- a/src/nos/lib/filesys_lib/xfs_read.rel +++ b/src/nos/lib/filesys_lib/xfs_read.rel @@ -3,8 +3,8 @@ H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _sys_readwrite Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 03 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 90 00 00 00 0E 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 9B 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 9B 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T A4 00 00 00 56 23 66 6A 23 23 23 36 17 3E R 00 00 01 00 @@ -60,7 +60,7 @@ T B3 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 01 00 T B8 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 01 00 02 09 00 00 -T BF 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T BF 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T C8 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -72,15 +72,15 @@ T E1 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T E9 00 00 00 R 00 00 01 00 -T E9 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T E9 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T F2 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T F2 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T FD 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 05 01 00 00 R 00 00 01 00 -T 05 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 05 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T 0E 01 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_stat.rel b/src/nos/lib/filesys_lib/xfs_stat.rel index c7f29294..15732694 100644 --- a/src/nos/lib/filesys_lib/xfs_stat.rel +++ b/src/nos/lib/filesys_lib/xfs_stat.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_statfstat Ref00000000 S _Curproc Ref00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 06 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 05 00 02 09 05 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 06 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_symlink.rel b/src/nos/lib/filesys_lib/xfs_symlink.rel index 99028436..e2b782e1 100644 --- a/src/nos/lib/filesys_lib/xfs_symlink.rel +++ b/src/nos/lib/filesys_lib/xfs_symlink.rel @@ -3,8 +3,8 @@ H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _sys_symlink Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,30 +21,30 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 03 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 06 00 @@ -56,7 +56,7 @@ T 9D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 01 00 02 09 01 00 T A2 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 4B 00 ED 4B 00 00 00 00 09 46 23 +T AB 00 00 00 4D 00 ED 4B 00 00 00 00 09 46 23 R 00 00 01 00 02 08 06 00 T B4 00 00 00 66 68 01 04 00 09 DD 4E FD DD 46 R 00 00 01 00 @@ -68,15 +68,15 @@ T CD 00 00 00 3C 20 1C R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D0 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D9 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D9 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E4 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T EC 00 00 00 R 00 00 01 00 -T EC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T EC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F5 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_sync.rel b/src/nos/lib/filesys_lib/xfs_sync.rel index d81f107a..7c225fa6 100644 --- a/src/nos/lib/filesys_lib/xfs_sync.rel +++ b/src/nos/lib/filesys_lib/xfs_sync.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,20 +21,20 @@ R 00 00 01 00 02 05 07 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 05 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 05 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 05 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 23 23 R 00 00 01 00 02 04 05 00 @@ -44,7 +44,7 @@ T 65 00 00 00 00 00 00 00 CD 00 00 00 00 3E R 00 00 01 00 02 04 0A 00 02 09 00 00 T 6B 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 09 00 02 09 09 00 -T 70 00 00 00 00 00 00 00 21 4B 00 ED 4B +T 70 00 00 00 00 00 00 00 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 77 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 05 00 @@ -52,7 +52,7 @@ T 7F 00 00 00 04 00 19 AF 77 23 77 3E R 00 00 01 00 T 87 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 8C 00 00 00 00 00 00 00 21 4B 00 ED 4B +T 8C 00 00 00 00 00 00 00 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 93 00 00 00 00 00 00 00 09 AF 77 23 77 C3 R 00 00 01 00 02 04 05 00 diff --git a/src/nos/lib/filesys_lib/xfs_sysdebug.rel b/src/nos/lib/filesys_lib/xfs_sysdebug.rel index c1663cfd..c3ee8909 100644 --- a/src/nos/lib/filesys_lib/xfs_sysdebug.rel +++ b/src/nos/lib/filesys_lib/xfs_sysdebug.rel @@ -2,9 +2,9 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _sys_getset Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,40 +21,40 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 -T 5E 00 00 00 0A 00 19 36 0C 23 36 00 21 4B 00 +T 5E 00 00 00 0A 00 19 36 0C 23 36 00 21 4D 00 R 00 00 01 00 T 69 00 00 00 ED 4B 00 00 00 00 09 56 23 66 6A R 00 00 01 00 02 06 06 00 T 72 00 00 00 11 0C 00 19 DD 5E 02 DD 56 03 73 R 00 00 01 00 -T 7D 00 00 00 23 72 21 4B 00 ED 4B 00 00 00 00 +T 7D 00 00 00 23 72 21 4D 00 ED 4B 00 00 00 00 R 00 00 01 00 02 0B 06 00 T 86 00 00 00 09 56 23 66 6A 23 23 23 36 07 3E R 00 00 01 00 T 91 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 96 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 2B 09 03 00 +R 00 00 01 00 02 04 00 00 2B 09 02 00 T 9B 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T A2 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +R 00 00 01 00 02 04 02 00 02 09 00 00 +T A2 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T AB 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -66,15 +66,15 @@ T C4 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T CC 00 00 00 R 00 00 01 00 -T CC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T CC 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D5 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D5 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E0 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T E8 00 00 00 R 00 00 01 00 -T E8 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T E8 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F1 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_systrace.rel b/src/nos/lib/filesys_lib/xfs_systrace.rel index 95044729..0c3413da 100644 --- a/src/nos/lib/filesys_lib/xfs_systrace.rel +++ b/src/nos/lib/filesys_lib/xfs_systrace.rel @@ -2,9 +2,9 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _sys_getset Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,40 +21,40 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 -T 5E 00 00 00 0A 00 19 36 0B 23 36 00 21 4B 00 +T 5E 00 00 00 0A 00 19 36 0B 23 36 00 21 4D 00 R 00 00 01 00 T 69 00 00 00 ED 4B 00 00 00 00 09 56 23 66 6A R 00 00 01 00 02 06 06 00 T 72 00 00 00 11 0C 00 19 DD 5E 02 DD 56 03 73 R 00 00 01 00 -T 7D 00 00 00 23 72 21 4B 00 ED 4B 00 00 00 00 +T 7D 00 00 00 23 72 21 4D 00 ED 4B 00 00 00 00 R 00 00 01 00 02 0B 06 00 T 86 00 00 00 09 56 23 66 6A 23 23 23 36 07 3E R 00 00 01 00 T 91 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 96 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 2B 09 03 00 +R 00 00 01 00 02 04 00 00 2B 09 02 00 T 9B 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T A2 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +R 00 00 01 00 02 04 02 00 02 09 00 00 +T A2 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T AB 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -66,15 +66,15 @@ T C4 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T CC 00 00 00 R 00 00 01 00 -T CC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T CC 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D5 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D5 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E0 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T E8 00 00 00 R 00 00 01 00 -T E8 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T E8 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F1 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_time.rel b/src/nos/lib/filesys_lib/xfs_time.rel index 16c8b5c7..0e300087 100644 --- a/src/nos/lib/filesys_lib/xfs_time.rel +++ b/src/nos/lib/filesys_lib/xfs_time.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 06 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 04 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 04 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 04 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 04 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 04 00 T 72 00 00 00 56 23 66 6A 23 23 23 36 1E 3E R 00 00 01 00 @@ -52,7 +52,7 @@ T 86 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 07 00 02 09 00 00 T 8D 00 00 00 FB DD 74 FC DD 71 FD DD 70 FE 21 R 00 00 01 00 -T 98 00 00 00 4B 00 ED 4B 00 00 00 00 09 56 23 +T 98 00 00 00 4D 00 ED 4B 00 00 00 00 09 56 23 R 00 00 01 00 02 08 04 00 T A1 00 00 00 66 6A 11 04 00 19 DD 5E FB DD 56 R 00 00 01 00 @@ -60,7 +60,7 @@ T AC 00 00 00 FC 73 23 72 3E 00 00 00 00 21 R 00 00 01 00 2B 09 01 00 T B3 00 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 01 00 02 09 00 00 -T B9 00 00 00 4B 00 ED 4B 00 00 00 00 09 AF 77 +T B9 00 00 00 4D 00 ED 4B 00 00 00 00 09 AF 77 R 00 00 01 00 02 08 04 00 T C2 00 00 00 23 77 DD 4E FD DD 46 FE DD 6E FB R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_umask.rel b/src/nos/lib/filesys_lib/xfs_umask.rel index 4b888159..a4fbd11a 100644 --- a/src/nos/lib/filesys_lib/xfs_umask.rel +++ b/src/nos/lib/filesys_lib/xfs_umask.rel @@ -2,9 +2,9 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _sys_getset Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,40 +21,40 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 -T 5E 00 00 00 0A 00 19 36 0A 23 36 00 21 4B 00 +T 5E 00 00 00 0A 00 19 36 0A 23 36 00 21 4D 00 R 00 00 01 00 T 69 00 00 00 ED 4B 00 00 00 00 09 56 23 66 6A R 00 00 01 00 02 06 06 00 T 72 00 00 00 11 0C 00 19 DD 5E 02 DD 56 03 73 R 00 00 01 00 -T 7D 00 00 00 23 72 21 4B 00 ED 4B 00 00 00 00 +T 7D 00 00 00 23 72 21 4D 00 ED 4B 00 00 00 00 R 00 00 01 00 02 0B 06 00 T 86 00 00 00 09 56 23 66 6A 23 23 23 36 07 3E R 00 00 01 00 T 91 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 96 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 2B 09 03 00 +R 00 00 01 00 02 04 00 00 2B 09 02 00 T 9B 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T A2 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +R 00 00 01 00 02 04 02 00 02 09 00 00 +T A2 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T AB 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -66,15 +66,15 @@ T C4 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T CC 00 00 00 R 00 00 01 00 -T CC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T CC 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T D5 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T D5 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T E0 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T E8 00 00 00 R 00 00 01 00 -T E8 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T E8 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T F1 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_umount.rel b/src/nos/lib/filesys_lib/xfs_umount.rel index 7e9d7f38..bec9809d 100644 --- a/src/nos/lib/filesys_lib/xfs_umount.rel +++ b/src/nos/lib/filesys_lib/xfs_umount.rel @@ -2,8 +2,8 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _sys_mountumount Ref00000000 S _Curproc Ref00000000 @@ -21,26 +21,26 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 03 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 23 23 23 36 20 3E R 00 00 01 00 @@ -50,7 +50,7 @@ T 81 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 05 00 T 86 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 05 00 02 09 00 00 -T 8D 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T 8D 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T 96 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -62,15 +62,15 @@ T AF 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T B7 00 00 00 R 00 00 01 00 -T B7 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T B7 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T C0 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T C0 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T CB 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T D3 00 00 00 R 00 00 01 00 -T D3 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T D3 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T DC 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_unlink.rel b/src/nos/lib/filesys_lib/xfs_unlink.rel index 4c6c31b7..9e25cb1f 100644 --- a/src/nos/lib/filesys_lib/xfs_unlink.rel +++ b/src/nos/lib/filesys_lib/xfs_unlink.rel @@ -2,9 +2,9 @@ XL4 H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 S _sys_unlink Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 02 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 23 23 23 36 21 3E R 00 00 01 00 T 7C 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 81 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 2B 09 04 00 +R 00 00 01 00 02 04 00 00 2B 09 03 00 T 86 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 04 00 02 09 00 00 -T 8D 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +R 00 00 01 00 02 04 03 00 02 09 00 00 +T 8D 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T 96 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -62,15 +62,15 @@ T AF 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T B7 00 00 00 R 00 00 01 00 -T B7 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T B7 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T C0 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T C0 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T CB 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T D3 00 00 00 R 00 00 01 00 -T D3 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T D3 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T DC 00 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xfs_write.rel b/src/nos/lib/filesys_lib/xfs_write.rel index 43dc7c19..48f9019f 100644 --- a/src/nos/lib/filesys_lib/xfs_write.rel +++ b/src/nos/lib/filesys_lib/xfs_write.rel @@ -3,8 +3,8 @@ H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _sys_readwrite Ref00000000 S _systrace_exit Ref00000000 -S _Ptab Ref00000000 S _memset Ref00000000 +S _Curptab Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -21,36 +21,36 @@ R 00 00 01 00 02 05 08 00 T 09 00 00 00 01 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 18 00 00 00 00 00 00 00 F1 21 4B 00 ED 4B +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 18 00 00 00 00 00 00 00 F1 21 4D 00 ED 4B R 00 00 01 00 02 04 00 00 T 20 00 00 00 00 00 00 00 09 E5 21 02 00 39 5D R 00 00 01 00 02 04 06 00 -T 29 00 00 00 54 E1 73 23 72 21 4B 00 ED 4B +T 29 00 00 00 54 E1 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 33 00 00 00 00 00 00 00 09 7E 23 66 6F ED 5B R 00 00 01 00 02 04 06 00 -T 3C 00 00 00 00 00 00 00 73 23 72 21 4B 00 ED -R 00 00 01 00 02 04 03 00 +T 3C 00 00 00 00 00 00 00 73 23 72 21 4D 00 ED +R 00 00 01 00 02 04 04 00 T 45 00 00 00 4B 00 00 00 00 09 56 23 66 6A 23 R 00 00 01 00 02 05 06 00 -T 4E 00 00 00 23 36 01 21 4B 00 ED 4B +T 4E 00 00 00 23 36 01 21 4D 00 ED 4B R 00 00 01 00 T 56 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 5E 00 00 00 0A 00 19 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 69 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 69 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 72 00 00 00 56 23 66 6A 11 0C 00 19 DD 5E 04 R 00 00 01 00 -T 7D 00 00 00 DD 56 05 73 23 72 21 4B 00 ED 4B +T 7D 00 00 00 DD 56 05 73 23 72 21 4D 00 ED 4B R 00 00 01 00 T 88 00 00 00 00 00 00 00 09 56 23 66 6A 11 R 00 00 01 00 02 04 06 00 T 90 00 00 00 0E 00 19 DD 5E 0A DD 56 0B 73 23 R 00 00 01 00 -T 9B 00 00 00 72 21 4B 00 ED 4B 00 00 00 00 09 +T 9B 00 00 00 72 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T A4 00 00 00 56 23 66 6A 23 23 23 36 24 3E R 00 00 01 00 @@ -60,7 +60,7 @@ T B3 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 00 00 2B 09 01 00 T B8 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 01 00 02 09 00 00 -T BF 00 00 00 FD DD 74 FE 21 4B 00 ED 4B +T BF 00 00 00 FD DD 74 FE 21 4D 00 ED 4B R 00 00 01 00 T C8 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 @@ -72,15 +72,15 @@ T E1 00 00 00 CD 00 00 00 00 79 A0 3C 20 1C R 00 00 01 00 02 05 00 00 T E9 00 00 00 R 00 00 01 00 -T E9 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T E9 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 06 00 -T F2 00 00 00 21 4B 00 09 46 23 66 68 01 08 00 +T F2 00 00 00 21 4D 00 09 46 23 66 68 01 08 00 R 00 00 01 00 T FD 00 00 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 T 05 01 00 00 R 00 00 01 00 -T 05 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 AF +T 05 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 AF R 00 00 01 00 02 09 06 00 T 0E 01 00 00 77 23 77 DD 6E FD DD 66 FE C3 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xip_align.rel b/src/nos/lib/filesys_lib/xip_align.rel index ac572ab7..29f95484 100644 --- a/src/nos/lib/filesys_lib/xip_align.rel +++ b/src/nos/lib/filesys_lib/xip_align.rel @@ -3,7 +3,8 @@ H 2 areas 1E global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _bfree Ref00000000 S _i_sync Ref00000000 -S ___0625_6211_xip_5falign_28_29_2 Ref00000000 +S ___0704_6211_xip_5falign_28_29_2 Ref00000000 +S ___0635_e384_processing_20other_ Ref00000000 S _i_deref Ref00000000 S _xip_find Ref00000000 S _xip_align_recurse Ref00000000 @@ -13,22 +14,21 @@ S _getfs Ref00000000 S _xip_align_chase Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S ___055a_8848_processing_20my_20i Ref00000000 S _xip_search Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _xip_reserve Ref00000000 S _min_int Ref00000000 -S ___064b_16b2_xip_5fualign_28_29_ Ref00000000 -S ___0623_62af_xip_5falign_28_29_2 Ref00000000 -S ___0624_2fa7_xip_5falign_28_29_2 Ref00000000 +S ___072a_16b2_xip_5fualign_28_29_ Ref00000000 +S ___0702_62af_xip_5falign_28_29_2 Ref00000000 +S ___0703_2fa7_xip_5falign_28_29_2 Ref00000000 +S ___0634_8848_processing_20my_20i Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S ?SL_RSH_L03 Ref00000000 +S ___0705_dc6f_xip_5falign_280x_25 Ref00000000 S _i_open Ref00000000 -S ___0626_dc6f_xip_5falign_280x_25 Ref00000000 -S ___055b_e384_processing_20other_ Ref00000000 +S ___0701_511f_xip_5falign_28_29_2 Ref00000000 S _xip_set Ref00000000 S _zerobuf Ref00000000 -S ___0622_511f_xip_5falign_28_29_2 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 84E flags 0 S _xip_align Def00000000 @@ -43,7 +43,7 @@ R 00 00 01 00 2B 0B 18 00 T 1C 00 00 00 C5 21 00 00 00 00 E5 21 03 00 E5 R 00 00 01 00 02 06 18 00 T 25 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 08 00 02 0A 08 00 +R 00 00 01 00 2B 05 09 00 02 0A 09 00 T 2B 00 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB R 00 00 01 00 02 04 00 00 T 34 00 00 00 DD 6E 02 DD 66 03 23 23 23 46 23 @@ -51,7 +51,7 @@ R 00 00 01 00 T 3F 00 00 00 66 68 DD 75 F6 DD 74 F7 EB 3E R 00 00 01 00 T 49 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 4E 00 00 00 00 00 00 00 DD 75 F4 DD 74 F5 01 R 00 00 01 00 02 04 00 00 T 57 00 00 00 16 00 09 4E 23 46 21 14 00 DD 5E @@ -62,16 +62,16 @@ T 6D 00 00 00 42 38 31 R 00 00 01 00 T 70 00 00 00 R 00 00 01 00 -T 70 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0B 00 +T 70 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0C 00 T 79 00 00 00 23 66 68 01 08 00 09 36 2E 23 36 R 00 00 01 00 T 84 00 00 00 00 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 1C 00 +R 00 00 01 00 2B 06 1A 00 T 89 00 00 00 00 00 00 00 E5 21 03 00 E5 3E -R 00 00 01 00 02 04 1C 00 +R 00 00 01 00 02 04 1A 00 T 91 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 +R 00 00 01 00 2B 04 09 00 02 09 09 00 T 96 00 00 00 00 00 00 00 F1 F1 F1 21 FF FF C3 R 00 00 01 00 02 04 00 00 T 9F 00 00 00 4B 08 00 00 @@ -86,8 +86,8 @@ T B7 00 00 00 B1 20 1B R 00 00 01 00 T BA 00 00 00 R 00 00 01 00 -T BA 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0B 00 +T BA 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0C 00 T C3 00 00 00 23 66 68 01 08 00 09 36 2A 23 36 R 00 00 01 00 T CE 00 00 00 00 21 FF FF C3 4B 08 00 00 @@ -102,8 +102,8 @@ T EB 00 00 00 B1 28 31 R 00 00 01 00 T EE 00 00 00 R 00 00 01 00 -T EE 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0B 00 +T EE 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0C 00 T F7 00 00 00 23 66 68 01 08 00 09 36 2D 23 36 R 00 00 01 00 T 02 01 00 00 00 0E 00 00 00 00 C5 21 @@ -111,7 +111,7 @@ R 00 00 01 00 2B 06 12 00 T 07 01 00 00 00 00 00 00 E5 21 03 00 E5 3E R 00 00 01 00 02 04 12 00 T 0F 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 +R 00 00 01 00 2B 04 09 00 02 09 09 00 T 14 01 00 00 00 00 00 00 F1 F1 F1 21 FF FF C3 R 00 00 01 00 02 04 00 00 T 1D 01 00 00 4B 08 00 00 @@ -125,13 +125,13 @@ R 00 00 01 00 T 35 01 00 00 0D C1 ED 4A 4D 44 EB 3E 0E CD R 00 00 01 00 T 3F 01 00 00 00 00 00 00 DD 75 F0 DD 74 F1 4D -R 00 00 01 00 02 04 16 00 +R 00 00 01 00 02 04 17 00 T 48 01 00 00 44 21 00 01 A7 ED 42 30 31 R 00 00 01 00 T 51 01 00 00 R 00 00 01 00 -T 51 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0B 00 +T 51 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0C 00 T 5A 01 00 00 23 66 68 01 08 00 09 36 1C 23 36 R 00 00 01 00 T 65 01 00 00 00 0E 00 00 00 00 C5 21 @@ -139,7 +139,7 @@ R 00 00 01 00 2B 06 13 00 T 6A 01 00 00 00 00 00 00 E5 21 03 00 E5 3E R 00 00 01 00 02 04 13 00 T 72 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 +R 00 00 01 00 2B 04 09 00 02 09 09 00 T 77 01 00 00 00 00 00 00 F1 F1 F1 21 FF FF C3 R 00 00 01 00 02 04 00 00 T 80 01 00 00 4B 08 00 00 @@ -147,9 +147,9 @@ R 00 00 01 00 00 04 01 00 T 82 01 00 00 R 00 00 01 00 T 82 01 00 00 1E 01 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 1B 00 +R 00 00 01 00 2B 07 1C 00 T 87 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 1B 00 02 09 00 00 +R 00 00 01 00 02 04 1C 00 02 09 00 00 T 8E 01 00 00 EE DD 74 EF 21 00 00 E5 21 FF 01 R 00 00 01 00 T 99 01 00 00 E5 DD 6E 0A DD 66 0B C1 09 EB DD @@ -157,7 +157,7 @@ R 00 00 01 00 T A4 01 00 00 6E 0C DD 66 0D C1 ED 4A 4D 44 EB R 00 00 01 00 T AF 01 00 00 3E 09 CD 00 00 00 00 DD 75 F2 DD -R 00 00 01 00 02 07 16 00 +R 00 00 01 00 02 07 17 00 T B8 01 00 00 74 F3 AF DD 77 EA DD 77 EB AF DD R 00 00 01 00 T C3 01 00 00 77 E2 DD 77 E3 @@ -192,8 +192,8 @@ T 2C 02 00 00 E5 7D A4 3C 20 24 R 00 00 01 00 T 32 02 00 00 R 00 00 01 00 -T 32 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 -R 00 00 01 00 02 09 0B 00 +T 32 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 +R 00 00 01 00 02 09 0C 00 T 3B 02 00 00 23 66 68 01 08 00 09 36 1C 23 36 R 00 00 01 00 T 46 02 00 00 00 DD 6E E2 DD 66 E3 DD 75 F0 DD @@ -245,11 +245,11 @@ R 00 00 01 00 T D0 02 00 00 21 05 00 DD 4E 02 DD 46 03 09 4E R 00 00 01 00 T DB 02 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 0D 00 +R 00 00 01 00 2B 08 15 00 T E2 02 00 00 00 00 00 00 E5 21 02 00 E5 3E -R 00 00 01 00 02 04 0D 00 +R 00 00 01 00 02 04 15 00 T EA 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 +R 00 00 01 00 2B 04 09 00 02 09 09 00 T EF 02 00 00 00 00 00 00 F1 F1 F1 F1 AF DD 77 R 00 00 01 00 02 04 00 00 T F8 02 00 00 EA DD 77 EB AF DD 77 E2 DD 77 E3 @@ -291,9 +291,9 @@ R 00 00 01 00 T 7D 03 00 00 21 01 00 E5 DD 4E E8 DD 46 E9 DD R 00 00 01 00 T 88 03 00 00 5E F6 DD 56 F7 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 1A 00 +R 00 00 01 00 2B 0A 1B 00 T 90 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 1A 00 02 09 00 00 +R 00 00 01 00 02 04 1B 00 02 09 00 00 T 97 03 00 00 F1 DD 75 FA DD 74 FB 7D A4 3C 20 R 00 00 01 00 T A2 03 00 00 03 @@ -317,9 +317,9 @@ R 00 00 01 00 T D0 03 00 00 E9 E5 DD 4E 02 DD 46 03 DD 5E F4 R 00 00 01 00 T DB 03 00 00 DD 56 F5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0A 00 +R 00 00 01 00 2B 08 0B 00 T E1 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0A 00 02 09 00 00 +R 00 00 01 00 02 04 0B 00 02 09 00 00 T E8 03 00 00 F1 F1 F1 DD 75 EC DD 74 ED 7D A4 R 00 00 01 00 T F3 03 00 00 3C 20 03 @@ -337,9 +337,9 @@ R 00 00 01 00 T 0F 04 00 00 21 00 00 E5 DD 4E EC DD 46 ED DD R 00 00 01 00 T 1A 04 00 00 5E F6 DD 56 F7 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 1A 00 +R 00 00 01 00 2B 0A 1B 00 T 22 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 1A 00 02 09 00 00 +R 00 00 01 00 02 04 1B 00 02 09 00 00 T 29 04 00 00 F1 3E 01 AD B4 28 03 R 00 00 01 00 T 30 04 00 00 @@ -397,7 +397,7 @@ R 00 00 01 00 T AB 04 00 00 DD 46 E5 DD 5E F6 DD 56 F7 3E R 00 00 01 00 T B5 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 +R 00 00 01 00 2B 04 06 00 02 09 06 00 T BA 04 00 00 00 00 00 00 F1 F1 F1 F1 DD 75 E4 R 00 00 01 00 02 04 00 00 T C3 04 00 00 DD 74 E5 7D A4 3C 20 03 @@ -427,7 +427,7 @@ R 00 00 01 00 T F0 04 00 00 DD 4E E4 DD 46 E5 DD 5E F6 DD 56 R 00 00 01 00 T FB 04 00 00 F7 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 17 00 02 0B 17 00 +R 00 00 01 00 2B 06 19 00 02 0B 19 00 T 01 05 00 00 CD 00 00 00 00 DD 75 F8 DD 74 F9 R 00 00 01 00 02 05 00 00 T 0A 05 00 00 7D B4 20 03 @@ -441,11 +441,11 @@ R 00 00 01 00 T 11 05 00 00 21 05 00 DD 4E F8 DD 46 F9 09 5E R 00 00 01 00 T 1C 05 00 00 23 56 D5 1E 00 00 00 00 D5 21 -R 00 00 01 00 2B 08 19 00 +R 00 00 01 00 2B 08 04 00 T 23 05 00 00 00 00 00 00 E5 21 02 00 E5 3E -R 00 00 01 00 02 04 19 00 +R 00 00 01 00 02 04 04 00 T 2B 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 +R 00 00 01 00 2B 04 09 00 02 09 09 00 T 30 05 00 00 00 00 00 00 F1 F1 F1 F1 21 0A 00 R 00 00 01 00 02 04 00 00 T 39 05 00 00 09 7E E6 00 4F 23 7E E6 F0 47 DD @@ -469,9 +469,9 @@ R 00 00 01 00 T 81 05 00 00 R 00 00 01 00 T 81 05 00 00 DD 5E F8 DD 56 F9 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 +R 00 00 01 00 2B 0B 05 00 T 89 05 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 04 00 02 0A 00 00 +R 00 00 01 00 02 05 05 00 02 0A 00 00 T 90 05 00 00 5F 07 00 00 R 00 00 01 00 00 04 01 00 T 92 05 00 00 @@ -575,7 +575,7 @@ R 00 00 01 00 T 9C 06 00 00 DD 46 03 DD 5E F4 DD 56 F5 3E R 00 00 01 00 T A6 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 +R 00 00 01 00 2B 04 07 00 02 09 07 00 T AB 06 00 00 00 00 00 00 EB 21 0E 00 39 F9 EB R 00 00 01 00 02 04 00 00 T B4 06 00 00 DD 75 EA DD 74 EB DD 7E EA DD A6 @@ -593,9 +593,9 @@ R 00 00 01 00 T E5 06 00 00 E9 E5 DD 4E 02 DD 46 03 DD 5E F4 R 00 00 01 00 T F0 06 00 00 DD 56 F5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0A 00 +R 00 00 01 00 2B 08 0B 00 T F6 06 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0A 00 02 09 00 00 +R 00 00 01 00 02 04 0B 00 02 09 00 00 T FD 06 00 00 F1 F1 F1 DD 75 E8 DD 74 E9 7D A4 R 00 00 01 00 T 08 07 00 00 3C 20 02 @@ -613,9 +613,9 @@ R 00 00 01 00 T 23 07 00 00 21 00 00 E5 DD 4E E8 DD 46 E9 DD R 00 00 01 00 T 2E 07 00 00 5E F6 DD 56 F7 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 1A 00 +R 00 00 01 00 2B 0A 1B 00 T 36 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 1A 00 02 09 00 00 +R 00 00 01 00 02 04 1B 00 02 09 00 00 T 3D 07 00 00 F1 3E 01 AD B4 28 02 R 00 00 01 00 T 44 07 00 00 @@ -639,9 +639,9 @@ R 00 00 01 00 T 51 07 00 00 R 00 00 01 00 T 51 07 00 00 DD 5E F8 DD 56 F9 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 +R 00 00 01 00 2B 0B 05 00 T 59 07 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 04 00 02 0A 00 00 +R 00 00 01 00 02 05 05 00 02 0A 00 00 T 5F 07 00 00 R 00 00 01 00 T 5F 07 00 00 DD 34 E4 20 03 DD 34 E5 @@ -697,9 +697,9 @@ R 00 00 01 00 T E1 07 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 14 00 02 0B 14 00 T E7 07 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 +R 00 00 01 00 2B 0A 09 00 T EF 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 00 00 +R 00 00 01 00 02 04 09 00 02 09 00 00 T F6 07 00 00 F1 21 FF FF 18 4F R 00 00 01 00 T FC 07 00 00 @@ -719,12 +719,12 @@ R 00 00 01 00 02 04 02 00 02 09 00 00 T 33 08 00 00 00 00 00 00 C5 21 00 00 00 00 E5 R 00 00 01 00 2B 04 03 00 02 0A 03 00 T 39 08 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 08 00 +R 00 00 01 00 2B 09 09 00 T 40 08 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 00 00 +R 00 00 01 00 02 04 09 00 02 09 00 00 T 47 08 00 00 F1 21 00 00 R 00 00 01 00 T 4B 08 00 00 R 00 00 01 00 T 4B 08 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 08 00 diff --git a/src/nos/lib/filesys_lib/xip_align_bmap.rel b/src/nos/lib/filesys_lib/xip_align_bmap.rel index 5cb90235..8f63cba9 100644 --- a/src/nos/lib/filesys_lib/xip_align_bmap.rel +++ b/src/nos/lib/filesys_lib/xip_align_bmap.rel @@ -3,16 +3,16 @@ H 2 areas 10 global symbols S ?US_RSH_L02 Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _bfind Ref00000000 -S ___04bc_74d1_getting_20block_20_ Ref00000000 S _bfree Ref00000000 +S ___0707_4a41_xip_5falign_5fbmap_ Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___0628_4a41_xip_5falign_5fbmap_ Ref00000000 S __dprintf Ref00000000 -S ___0629_f051_xip_5falign_5fbmap_ Ref00000000 +S ___0708_f051_xip_5falign_5fbmap_ Ref00000000 +S ___0706_d854_xip_5falign_5fbmap_ Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S ___0627_d854_xip_5falign_5fbmap_ Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ___0567_74d1_getting_20block_20_ Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _bread Ref00000000 A _DEFAULT size 0 flags 0 @@ -21,15 +21,15 @@ S _xip_align_bmap Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F2 FF DD 6E 0A DD -R 00 00 01 00 02 05 0C 00 +R 00 00 01 00 02 05 0B 00 T 09 00 00 00 66 0B E5 DD 6E 02 DD 66 03 E5 1E R 00 00 01 00 T 14 00 00 00 00 00 00 00 D5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 08 00 02 0A 08 00 +R 00 00 01 00 2B 04 07 00 02 0A 07 00 T 1A 00 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 07 00 +R 00 00 01 00 2B 09 06 00 T 21 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 07 00 02 09 01 00 +R 00 00 01 00 02 04 06 00 02 09 01 00 T 28 00 00 00 F1 F1 F1 DD 6E 02 DD 66 03 23 23 R 00 00 01 00 T 33 00 00 00 23 56 23 66 6A DD 75 F2 DD 74 F3 @@ -92,7 +92,7 @@ T FF 00 00 00 74 FB 7D B4 20 18 R 00 00 01 00 T 05 01 00 00 R 00 00 01 00 -T 05 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 05 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 09 00 T 0E 01 00 00 23 66 68 01 08 00 09 36 2C 23 36 R 00 00 01 00 @@ -133,7 +133,7 @@ R 00 00 01 00 T 7D 01 00 00 DD 74 FB 0E 00 DD 5E FC DD 56 FD R 00 00 01 00 T 88 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 04 00 02 0A 04 00 +R 00 00 01 00 2B 05 03 00 02 0A 03 00 T 8E 01 00 00 00 00 00 00 CB 7C 28 02 R 00 00 01 00 02 04 01 00 T 94 01 00 00 @@ -146,7 +146,7 @@ T 96 01 00 00 DD 7E FA DD B6 FB 20 17 R 00 00 01 00 T 9E 01 00 00 R 00 00 01 00 -T 9E 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 9E 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 09 00 T A7 01 00 00 23 66 68 01 08 00 09 36 2C 23 36 R 00 00 01 00 @@ -176,16 +176,16 @@ T EF 01 00 00 R 00 00 01 00 T EF 01 00 00 R 00 00 01 00 -T EF 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T EF 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 09 00 T F8 01 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T 03 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 06 00 02 0B 06 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 T 09 02 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 07 00 +R 00 00 01 00 2B 0A 06 00 T 11 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 07 00 02 09 01 00 +R 00 00 01 00 02 04 06 00 02 09 01 00 T 18 02 00 00 F1 F1 21 FF FF C3 8C 03 00 00 R 00 00 01 00 00 0A 01 00 T 20 02 00 00 @@ -202,14 +202,14 @@ T 49 02 00 00 DD 74 FB 7D B4 20 28 R 00 00 01 00 T 50 02 00 00 R 00 00 01 00 -T 50 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 50 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 09 00 T 59 02 00 00 23 66 68 01 08 00 09 36 2C 23 36 R 00 00 01 00 T 64 02 00 00 00 0E 00 DD 5E FC DD 56 FD 3E R 00 00 01 00 T 6E 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T 73 02 00 00 00 00 00 00 C3 EF 01 00 00 R 00 00 01 00 02 04 01 00 00 09 01 00 T 78 02 00 00 @@ -221,7 +221,7 @@ R 00 00 01 00 T 8E 02 00 00 72 0E 01 DD 5E FC DD 56 FD 3E R 00 00 01 00 T 98 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T 9D 02 00 00 00 00 00 00 CB 7C 28 03 R 00 00 01 00 02 04 01 00 T A3 02 00 00 @@ -246,18 +246,18 @@ T C8 02 00 00 C3 EF 01 00 00 R 00 00 01 00 00 05 01 00 T CB 02 00 00 R 00 00 01 00 -T CB 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T CB 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 09 00 T D4 02 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T DF 02 00 00 DD 6E 04 DD 66 05 E5 DD 6E FA DD R 00 00 01 00 T EA 02 00 00 66 FB E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 03 00 +R 00 00 01 00 2B 08 0C 00 T F1 02 00 00 00 00 00 00 E5 21 02 00 E5 3E -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 0C 00 T F9 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 +R 00 00 01 00 2B 04 06 00 02 09 06 00 T FE 02 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB R 00 00 01 00 02 04 01 00 T 07 03 00 00 DD 4E 04 DD 46 05 DD 5E F2 DD 56 @@ -283,9 +283,9 @@ R 00 00 01 00 T 49 03 00 00 5E 04 DD 56 05 73 23 72 0E 01 DD R 00 00 01 00 T 54 03 00 00 5E FC DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 04 00 +R 00 00 01 00 2B 0A 03 00 T 5C 03 00 00 00 00 00 00 CD 00 00 00 00 CB 7C -R 00 00 01 00 02 04 04 00 02 09 01 00 +R 00 00 01 00 02 04 03 00 02 09 01 00 T 63 03 00 00 28 03 R 00 00 01 00 T 65 03 00 00 @@ -297,11 +297,11 @@ R 00 00 01 00 T 68 03 00 00 DD 6E FA DD 66 FB E5 0E R 00 00 01 00 T 70 03 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0B 00 02 0A 0B 00 +R 00 00 01 00 2B 04 08 00 02 0A 08 00 T 76 03 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 07 00 +R 00 00 01 00 2B 09 06 00 T 7D 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 07 00 02 09 01 00 +R 00 00 01 00 02 04 06 00 02 09 01 00 T 84 03 00 00 F1 F1 DD 6E FA DD 66 FB R 00 00 01 00 T 8C 03 00 00 diff --git a/src/nos/lib/filesys_lib/xip_align_chase.rel b/src/nos/lib/filesys_lib/xip_align_chase.rel index 3960e4c0..aaa5d243 100644 --- a/src/nos/lib/filesys_lib/xip_align_chase.rel +++ b/src/nos/lib/filesys_lib/xip_align_chase.rel @@ -1,19 +1,19 @@ XL4 H 2 areas F global symbols -S ___062a_39ef_xip_5falign_5fchase Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _xip_align_reverse Ref00000000 S __dprintf Ref00000000 -S ___062d_fcac_xip_5falign_5fchase Ref00000000 +S ___070c_fcac_xip_5falign_5fchase Ref00000000 +S ___0709_39ef_xip_5falign_5fchase Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___062e_d6ef_xip_5falign_5fchase Ref00000000 +S ___070d_d6ef_xip_5falign_5fchase Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___062b_7ea2_xip_5falign_5fchase Ref00000000 +S ___070a_7ea2_xip_5falign_5fchase Ref00000000 S _xip_align_bmap Ref00000000 -S ___062c_f19c_xip_5falign_5fchase Ref00000000 +S ___070b_f19c_xip_5falign_5fchase Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 21D flags 0 S _xip_align_chase Def00000000 @@ -32,9 +32,9 @@ R 00 00 01 00 2B 0B 09 00 T 32 00 00 00 C5 21 00 00 00 00 E5 21 03 00 E5 R 00 00 01 00 02 06 09 00 T 3B 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 04 00 02 0A 04 00 +R 00 00 01 00 2B 05 03 00 02 0A 03 00 T 41 00 00 00 00 00 00 00 EB 21 14 00 39 F9 EB -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 4A 00 00 00 21 04 00 DD 4E 02 DD 46 03 09 56 R 00 00 01 00 T 55 00 00 00 23 66 6A E5 03 03 69 60 4E 23 46 @@ -53,7 +53,7 @@ T 87 00 00 00 R 00 00 01 00 T 87 00 00 00 R 00 00 01 00 -T 87 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 87 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 06 00 T 90 00 00 00 23 66 68 01 08 00 09 36 2F 23 36 R 00 00 01 00 @@ -64,11 +64,11 @@ R 00 00 01 00 T B1 00 00 00 46 05 09 4E 23 46 C5 0E R 00 00 01 00 T B9 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 00 00 02 0A 00 00 +R 00 00 01 00 2B 04 05 00 02 0A 05 00 T BF 00 00 00 21 01 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 04 00 +R 00 00 01 00 2B 09 03 00 T C6 00 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 04 00 02 09 01 00 +R 00 00 01 00 02 04 03 00 02 09 00 00 T CD 00 00 00 0C 00 39 F9 EB 21 FF FF C3 R 00 00 01 00 T D6 00 00 00 1A 02 00 00 @@ -88,7 +88,7 @@ R 00 00 01 00 T F1 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0C 00 02 09 0C 00 T F6 00 00 00 00 00 00 00 F1 DD 75 0A DD 74 0B -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T FF 00 00 00 7D A4 3C 20 06 R 00 00 01 00 T 04 01 00 00 @@ -115,7 +115,7 @@ T 47 01 00 00 R 00 00 01 00 T 47 01 00 00 R 00 00 01 00 -T 47 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 47 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 06 00 T 50 01 00 00 23 66 6A 11 08 00 19 36 2F 23 36 R 00 00 01 00 @@ -128,21 +128,21 @@ R 00 00 01 00 T 79 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 R 00 00 01 00 2B 04 0B 00 02 0A 0B 00 T 7F 01 00 00 21 01 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 04 00 +R 00 00 01 00 2B 09 03 00 T 86 01 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 04 00 02 09 01 00 -T 8D 01 00 00 0C 00 39 F9 EB 21 4B 00 ED 4B +R 00 00 01 00 02 04 03 00 02 09 00 00 +T 8D 01 00 00 0C 00 39 F9 EB 21 4D 00 ED 4B R 00 00 01 00 T 97 01 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 06 00 T 9F 01 00 00 08 00 09 4E 23 46 C5 0E R 00 00 01 00 T A7 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 +R 00 00 01 00 2B 04 04 00 02 0A 04 00 T AD 01 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 04 00 +R 00 00 01 00 2B 09 03 00 T B4 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 04 00 02 09 01 00 +R 00 00 01 00 02 04 03 00 02 09 00 00 T BB 01 00 00 F1 F1 21 FF FF 18 58 R 00 00 01 00 T C2 01 00 00 @@ -152,9 +152,9 @@ R 00 00 01 00 T CD 01 00 00 66 11 E5 DD 4E 0E DD 46 0F DD 5E R 00 00 01 00 T D8 01 00 00 0A DD 56 0B 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 03 00 +R 00 00 01 00 2B 09 02 00 T DF 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 02 09 01 00 +R 00 00 01 00 02 04 02 00 02 09 00 00 T E6 01 00 00 DD 75 0C DD 74 0D 7D A4 3C 20 26 R 00 00 01 00 T F1 01 00 00 @@ -164,9 +164,9 @@ R 00 00 01 00 T F9 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 R 00 00 01 00 2B 04 0D 00 02 0A 0D 00 T FF 01 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 04 00 +R 00 00 01 00 2B 09 03 00 T 06 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 04 00 02 09 01 00 +R 00 00 01 00 02 04 03 00 02 09 00 00 T 0D 02 00 00 F1 F1 DD 6E 0A DD 66 0B 18 03 R 00 00 01 00 T 17 02 00 00 @@ -178,4 +178,4 @@ R 00 00 01 00 T 1A 02 00 00 R 00 00 01 00 T 1A 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/filesys_lib/xip_align_recurse.rel b/src/nos/lib/filesys_lib/xip_align_recurse.rel index 62396049..1e39bb25 100644 --- a/src/nos/lib/filesys_lib/xip_align_recurse.rel +++ b/src/nos/lib/filesys_lib/xip_align_recurse.rel @@ -3,20 +3,20 @@ H 2 areas 13 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _bfind Ref00000000 S _bfree Ref00000000 -S ___0630_ceee_xip_5falign_5frecur Ref00000000 -S ___062f_0fcd_xip_5falign_5frecur Ref00000000 +S ___070e_0fcd_xip_5falign_5frecur Ref00000000 S _xip_find Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _xip_align_reverse Ref00000000 S __dprintf Ref00000000 +S ___063d_b16b_putting_20block_20_ Ref00000000 S _xip_align_chase Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___0563_b16b_putting_20block_20_ Ref00000000 S ?SS_CMP_L02 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _xip_set Ref00000000 +S ___070f_ceee_xip_5falign_5frecur Ref00000000 S _bread Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 719 flags 0 @@ -45,7 +45,7 @@ T 51 00 00 00 R 00 00 01 00 T 51 00 00 00 R 00 00 01 00 -T 51 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 51 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 0A 00 T 5A 00 00 00 23 66 6A 11 08 00 19 36 2F 23 36 R 00 00 01 00 @@ -56,23 +56,23 @@ R 00 00 01 00 T 7B 00 00 00 21 05 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 T 86 00 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 04 00 +R 00 00 01 00 2B 08 03 00 T 8D 00 00 00 00 00 00 00 E5 21 01 00 E5 3E -R 00 00 01 00 02 04 04 00 +R 00 00 01 00 02 04 03 00 T 95 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 +R 00 00 01 00 2B 04 07 00 02 09 07 00 T 9A 00 00 00 00 00 00 00 EB 21 0E 00 39 F9 EB R 00 00 01 00 02 04 00 00 -T A3 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T A3 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 0A 00 T AC 00 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T B7 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 10 00 02 0B 10 00 T BD 00 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 +R 00 00 01 00 2B 0A 07 00 T C5 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 00 00 +R 00 00 01 00 02 04 07 00 02 09 00 00 T CC 00 00 00 F1 F1 21 FF FF C3 16 07 00 00 R 00 00 01 00 00 0A 01 00 T D4 00 00 00 @@ -82,9 +82,9 @@ R 00 00 01 00 T DF 00 00 00 66 15 E5 DD 4E 12 DD 46 13 DD 5E R 00 00 01 00 T EA 00 00 00 EE DD 56 EF 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 07 00 +R 00 00 01 00 2B 09 06 00 T F1 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 07 00 02 09 00 00 +R 00 00 01 00 02 04 06 00 02 09 00 00 T F8 00 00 00 DD 75 FD DD 74 FE 7D A4 3C 28 04 R 00 00 01 00 T 03 01 00 00 0E 01 18 02 @@ -123,16 +123,16 @@ T 50 01 00 00 7D B4 20 31 R 00 00 01 00 T 54 01 00 00 R 00 00 01 00 -T 54 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 54 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 0A 00 T 5D 01 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T 68 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 10 00 02 0B 10 00 T 6E 01 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 +R 00 00 01 00 2B 0A 07 00 T 76 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 00 00 +R 00 00 01 00 02 04 07 00 02 09 00 00 T 7D 01 00 00 F1 F1 21 FF FF C3 16 07 00 00 R 00 00 01 00 00 0A 01 00 T 85 01 00 00 @@ -144,7 +144,7 @@ R 00 00 01 00 T 99 01 00 00 4E 10 DD 46 11 21 01 00 CD R 00 00 01 00 T A2 01 00 00 00 00 00 00 D2 16 05 00 00 -R 00 00 01 00 02 04 0E 00 00 09 01 00 +R 00 00 01 00 02 04 0D 00 00 09 01 00 T A7 01 00 00 R 00 00 01 00 T A7 01 00 00 @@ -191,16 +191,16 @@ T 0F 02 00 00 00 00 00 00 CB 7C 28 31 R 00 00 01 00 02 04 00 00 T 15 02 00 00 R 00 00 01 00 -T 15 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 15 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 0A 00 T 1E 02 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T 29 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 10 00 02 0B 10 00 T 2F 02 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 +R 00 00 01 00 2B 0A 07 00 T 37 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 00 00 +R 00 00 01 00 02 04 07 00 02 09 00 00 T 3E 02 00 00 F1 F1 21 FF FF C3 16 07 00 00 R 00 00 01 00 00 0A 01 00 T 46 02 00 00 @@ -231,16 +231,16 @@ T AE 02 00 00 75 F2 DD 74 F3 7D B4 20 31 R 00 00 01 00 T B7 02 00 00 R 00 00 01 00 -T B7 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T B7 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 0A 00 T C0 02 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T CB 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 10 00 02 0B 10 00 T D1 02 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 +R 00 00 01 00 2B 0A 07 00 T D9 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 00 00 +R 00 00 01 00 02 04 07 00 02 09 00 00 T E0 02 00 00 F1 F1 21 FF FF C3 16 07 00 00 R 00 00 01 00 00 0A 01 00 T E8 02 00 00 @@ -301,16 +301,16 @@ T 96 03 00 00 7C 28 31 R 00 00 01 00 T 99 03 00 00 R 00 00 01 00 -T 99 03 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 99 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 0A 00 T A2 03 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T AD 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 10 00 02 0B 10 00 T B3 03 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 +R 00 00 01 00 2B 0A 07 00 T BB 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 00 00 +R 00 00 01 00 02 04 07 00 02 09 00 00 T C2 03 00 00 F1 F1 21 FF FF C3 16 07 00 00 R 00 00 01 00 00 0A 01 00 T CA 03 00 00 @@ -345,16 +345,16 @@ T 2F 04 00 00 75 F2 DD 74 F3 7D B4 20 31 R 00 00 01 00 T 38 04 00 00 R 00 00 01 00 -T 38 04 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 38 04 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 0A 00 T 41 04 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T 4C 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 10 00 02 0B 10 00 T 52 04 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 +R 00 00 01 00 2B 0A 07 00 T 5A 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 00 00 +R 00 00 01 00 02 04 07 00 02 09 00 00 T 61 04 00 00 F1 F1 21 FF FF C3 16 07 00 00 R 00 00 01 00 00 0A 01 00 T 69 04 00 00 @@ -365,16 +365,16 @@ T 69 04 00 00 DD 7E F0 DD A6 F1 3C 20 31 R 00 00 01 00 T 72 04 00 00 R 00 00 01 00 -T 72 04 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 72 04 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 0A 00 T 7B 04 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T 86 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 10 00 02 0B 10 00 T 8C 04 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 +R 00 00 01 00 2B 0A 07 00 T 94 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 00 00 +R 00 00 01 00 02 04 07 00 02 09 00 00 T 9B 04 00 00 F1 F1 21 FF FF C3 16 07 00 00 R 00 00 01 00 00 0A 01 00 T A3 04 00 00 @@ -386,23 +386,23 @@ R 00 00 01 00 T B9 04 00 00 21 00 00 E5 DD 4E F0 DD 46 F1 DD R 00 00 01 00 T C4 04 00 00 5E E8 DD 56 E9 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 10 00 +R 00 00 01 00 2B 0A 0F 00 T CC 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 10 00 02 09 00 00 +R 00 00 01 00 02 04 0F 00 02 09 00 00 T D3 04 00 00 F1 3E 01 AD B4 28 31 R 00 00 01 00 T DA 04 00 00 R 00 00 01 00 -T DA 04 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T DA 04 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 0A 00 T E3 04 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T EE 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 10 00 02 0B 10 00 T F4 04 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 +R 00 00 01 00 2B 0A 07 00 T FC 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 00 00 +R 00 00 01 00 02 04 07 00 02 09 00 00 T 03 05 00 00 F1 F1 21 FF FF C3 16 07 00 00 R 00 00 01 00 00 0A 01 00 T 0B 05 00 00 @@ -432,9 +432,9 @@ R 00 00 01 00 T 35 05 00 00 21 01 00 E5 21 00 00 E5 01 00 00 R 00 00 01 00 T 40 05 00 00 DD 5E E8 DD 56 E9 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 +R 00 00 01 00 2B 0B 04 00 T 48 05 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 05 00 02 0A 00 00 +R 00 00 01 00 02 05 04 00 02 0A 00 00 T 4F 05 00 00 F1 F1 F1 DD 75 F0 DD 74 F1 21 R 00 00 01 00 T 59 05 00 00 04 00 DD 4E 02 DD 46 03 09 56 23 @@ -455,20 +455,20 @@ T 95 05 00 00 R 00 00 01 00 T 95 05 00 00 R 00 00 01 00 -T 95 05 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 95 05 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 0A 00 T 9E 05 00 00 23 66 6A 11 08 00 19 36 1C 23 36 R 00 00 01 00 -T A9 05 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 +T A9 05 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 0A 00 T B2 05 00 00 46 23 66 68 01 08 00 09 4E 23 46 R 00 00 01 00 T BD 05 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 03 00 +R 00 00 01 00 2B 06 10 00 T C2 05 00 00 00 00 00 00 E5 21 03 00 E5 3E -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 10 00 T CA 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 +R 00 00 01 00 2B 04 07 00 02 09 07 00 T CF 05 00 00 00 00 00 00 F1 F1 F1 F1 21 FF FF R 00 00 01 00 02 04 00 00 T D8 05 00 00 C3 16 07 00 00 @@ -479,7 +479,7 @@ T DB 05 00 00 DD 6E F0 DD 66 F1 E5 DD 6E 0C DD R 00 00 01 00 T E6 05 00 00 66 0D C1 71 23 70 DD 6E 0E DD 66 R 00 00 01 00 -T F1 05 00 00 0F 36 01 21 4B 00 ED 4B +T F1 05 00 00 0F 36 01 21 4D 00 ED 4B R 00 00 01 00 T F9 05 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 0A 00 @@ -488,11 +488,11 @@ R 00 00 01 00 T 0C 06 00 00 66 F1 E5 DD 6E EE DD 66 EF E5 0E R 00 00 01 00 T 17 06 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0D 00 02 0A 0D 00 +R 00 00 01 00 2B 04 08 00 02 0A 08 00 T 1D 06 00 00 21 02 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 08 00 +R 00 00 01 00 2B 09 07 00 T 24 06 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 08 00 02 09 00 00 +R 00 00 01 00 02 04 07 00 02 09 00 00 T 2B 06 00 00 0C 00 39 F9 EB DD 4E F0 DD 46 F1 R 00 00 01 00 T 36 06 00 00 DD 5E E8 DD 56 E9 3E 00 00 00 00 @@ -523,16 +523,16 @@ T 8C 06 00 00 28 30 R 00 00 01 00 T 8E 06 00 00 R 00 00 01 00 -T 8E 06 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T 8E 06 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 0A 00 T 97 06 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T A2 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 10 00 02 0B 10 00 T A8 06 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 +R 00 00 01 00 2B 0A 07 00 T B0 06 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 00 00 +R 00 00 01 00 02 04 07 00 02 09 00 00 T B7 06 00 00 F1 F1 21 FF FF 18 58 R 00 00 01 00 T BE 06 00 00 @@ -551,16 +551,16 @@ T E0 06 00 00 7C 28 30 R 00 00 01 00 T E3 06 00 00 R 00 00 01 00 -T E3 06 00 00 21 4B 00 ED 4B 00 00 00 00 09 46 +T E3 06 00 00 21 4D 00 ED 4B 00 00 00 00 09 46 R 00 00 01 00 02 09 0A 00 T EC 06 00 00 23 66 68 01 08 00 09 4E 23 46 C5 R 00 00 01 00 T F7 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 10 00 02 0B 10 00 T FD 06 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 +R 00 00 01 00 2B 0A 07 00 T 05 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 00 00 +R 00 00 01 00 02 04 07 00 02 09 00 00 T 0C 07 00 00 F1 F1 21 FF FF 18 03 R 00 00 01 00 T 13 07 00 00 @@ -570,4 +570,4 @@ R 00 00 01 00 T 16 07 00 00 R 00 00 01 00 T 16 07 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 05 00 diff --git a/src/nos/lib/filesys_lib/xip_examine.rel b/src/nos/lib/filesys_lib/xip_examine.rel index 67c6ec33..e5a8e19a 100644 --- a/src/nos/lib/filesys_lib/xip_examine.rel +++ b/src/nos/lib/filesys_lib/xip_examine.rel @@ -1,9 +1,9 @@ XL4 H 2 areas 11 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0634_c7f7_xip_5fexamine_28_29 Ref00000000 -S ___0635_04e3_xip_5fexamine_280x_ Ref00000000 -S ___0631_346b_xip_5fexamine_28_29 Ref00000000 +S ___0713_c7f7_xip_5fexamine_28_29 Ref00000000 +S ___0714_04e3_xip_5fexamine_280x_ Ref00000000 +S ___0710_346b_xip_5fexamine_28_29 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 S _Curproc Ref00000000 @@ -11,8 +11,8 @@ S .__.ABS. Def00000000 S _bmap Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _min_int Ref00000000 -S ___0632_fa8e_xip_5fexamine_28_29 Ref00000000 -S ___0633_ed9f_xip_5fexamine_28_29 Ref00000000 +S ___0711_fa8e_xip_5fexamine_28_29 Ref00000000 +S ___0712_ed9f_xip_5fexamine_28_29 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S ?SL_RSH_L03 Ref00000000 S _zerobuf Ref00000000 @@ -43,11 +43,11 @@ T 54 00 00 00 46 23 66 68 A7 ED 52 38 46 R 00 00 01 00 T 5D 00 00 00 R 00 00 01 00 -T 5D 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 5D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 06 00 T 66 00 00 00 23 66 6A 11 08 00 19 36 2E 23 36 R 00 00 01 00 -T 71 00 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 +T 71 00 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 7A 00 00 00 46 23 66 68 01 08 00 09 4E 23 46 R 00 00 01 00 @@ -71,11 +71,11 @@ T B9 00 00 00 B1 20 46 R 00 00 01 00 T BC 00 00 00 R 00 00 01 00 -T BC 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T BC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 06 00 T C5 00 00 00 23 66 6A 11 08 00 19 36 2B 23 36 R 00 00 01 00 -T D0 00 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 +T D0 00 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T D9 00 00 00 46 23 66 68 01 08 00 09 4E 23 46 R 00 00 01 00 @@ -99,11 +99,11 @@ T 18 01 00 00 B1 28 46 R 00 00 01 00 T 1B 01 00 00 R 00 00 01 00 -T 1B 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 1B 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 06 00 T 24 01 00 00 23 66 6A 11 08 00 19 36 2D 23 36 R 00 00 01 00 -T 2F 01 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 +T 2F 01 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 38 01 00 00 46 23 66 68 01 08 00 09 4E 23 46 R 00 00 01 00 @@ -131,11 +131,11 @@ T 8A 01 00 00 44 21 00 01 A7 ED 42 30 46 R 00 00 01 00 T 93 01 00 00 R 00 00 01 00 -T 93 01 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 93 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 06 00 T 9C 01 00 00 23 66 6A 11 08 00 19 36 1C 23 36 R 00 00 01 00 -T A7 01 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 +T A7 01 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T B0 01 00 00 46 23 66 68 01 08 00 09 4E 23 46 R 00 00 01 00 @@ -199,11 +199,11 @@ T 7E 02 00 00 R 00 00 01 00 T 7E 02 00 00 R 00 00 01 00 -T 7E 02 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 7E 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 06 00 T 87 02 00 00 23 66 6A 11 08 00 19 36 2B 23 36 R 00 00 01 00 -T 92 02 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 +T 92 02 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 9B 02 00 00 46 23 66 68 01 08 00 09 4E 23 46 R 00 00 01 00 @@ -253,11 +253,11 @@ T 29 03 00 00 A7 ED 42 28 45 R 00 00 01 00 T 2E 03 00 00 R 00 00 01 00 -T 2E 03 00 00 21 4B 00 ED 4B 00 00 00 00 09 56 +T 2E 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 06 00 T 37 03 00 00 23 66 6A 11 08 00 19 36 2B 23 36 R 00 00 01 00 -T 42 03 00 00 00 21 4B 00 ED 4B 00 00 00 00 09 +T 42 03 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 06 00 T 4B 03 00 00 46 23 66 68 01 08 00 09 4E 23 46 R 00 00 01 00 diff --git a/src/nos/lib/filesys_lib/xip_find.rel b/src/nos/lib/filesys_lib/xip_find.rel index 89fb54d6..86db339d 100644 --- a/src/nos/lib/filesys_lib/xip_find.rel +++ b/src/nos/lib/filesys_lib/xip_find.rel @@ -3,16 +3,16 @@ H 2 areas 10 global symbols S ?US_RSH_L02 Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _bfree Ref00000000 -S ___0638_5d23_xip_5ffind_28_29_20 Ref00000000 +S ___0717_5d23_xip_5ffind_28_29_20 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S ?C_LSH_L01 Ref00000000 S __dprintf Ref00000000 +S ___0718_1764_xip_5ffind_28_29_20 Ref00000000 S .__.ABS. Def00000000 -S ___0639_1764_xip_5ffind_28_29_20 Ref00000000 -S ___0637_cb3b_xip_5ffind_28_29_20 Ref00000000 +S ___0716_cb3b_xip_5ffind_28_29_20 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ___0715_ffc4_xip_5ffind_28_25u_2 Ref00000000 S _min_int Ref00000000 -S ___0636_ffc4_xip_5ffind_28_25u_2 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _bread Ref00000000 A _DEFAULT size 0 flags 0 @@ -29,7 +29,7 @@ R 00 00 01 00 T 1F 00 00 00 0B E5 C5 DD 6E 02 DD 66 03 E5 0E R 00 00 01 00 T 2A 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0C 00 02 0A 0C 00 +R 00 00 01 00 2B 04 0B 00 02 0A 0B 00 T 30 00 00 00 21 03 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 09 06 00 T 37 00 00 00 00 00 00 00 CD 00 00 00 00 EB 21 @@ -67,9 +67,9 @@ R 00 00 01 00 T 99 00 00 00 FC 3E 02 84 67 7D E6 00 5F 7C E6 R 00 00 01 00 T A4 00 00 00 FE 57 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0B 00 +R 00 00 01 00 2B 07 0C 00 T A9 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 0B 00 02 09 01 00 +R 00 00 01 00 02 04 0C 00 02 09 01 00 T B0 00 00 00 FD DD 74 FE 0E 00 C5 06 09 DD 5E R 00 00 01 00 T BB 00 00 00 FB DD 56 FC CD 00 00 00 00 4B 42 @@ -83,7 +83,7 @@ R 00 00 01 00 T DD 00 00 00 R 00 00 01 00 T DD 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 08 00 02 0B 08 00 +R 00 00 01 00 2B 05 07 00 02 0B 07 00 T E3 00 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 06 00 T EB 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 @@ -169,7 +169,7 @@ R 00 00 01 00 T C9 01 00 00 R 00 00 01 00 T C9 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 08 00 02 0B 08 00 +R 00 00 01 00 2B 05 07 00 02 0B 07 00 T CF 01 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 06 00 T D7 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 @@ -191,7 +191,7 @@ R 00 00 01 00 02 04 01 00 T FB 01 00 00 R 00 00 01 00 T FB 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 08 00 02 0B 08 00 +R 00 00 01 00 2B 05 07 00 02 0B 07 00 T 01 02 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 06 00 T 09 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 @@ -237,7 +237,7 @@ R 00 00 01 00 02 04 01 00 T 65 02 00 00 R 00 00 01 00 T 65 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 08 00 02 0B 08 00 +R 00 00 01 00 2B 05 07 00 02 0B 07 00 T 6B 02 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 06 00 T 73 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 diff --git a/src/nos/lib/filesys_lib/xip_get.rel b/src/nos/lib/filesys_lib/xip_get.rel index f94c0e25..c4c377aa 100644 --- a/src/nos/lib/filesys_lib/xip_get.rel +++ b/src/nos/lib/filesys_lib/xip_get.rel @@ -3,16 +3,16 @@ H 2 areas F global symbols S ?US_RSH_L02 Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _bfree Ref00000000 -S ___063d_192a_xip_5fget_28_29_20r Ref00000000 +S ___071c_192a_xip_5fget_28_29_20r Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 S .__.ABS. Def00000000 -S ___063a_0ce2_xip_5fget_28_25u_2c Ref00000000 S ?S_LSH_L02 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ___071b_de41_xip_5fget_28_29_20r Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___063c_de41_xip_5fget_28_29_20r Ref00000000 -S ___063b_db94_xip_5fget_28_29_20r Ref00000000 +S ___071a_db94_xip_5fget_28_29_20r Ref00000000 +S ___0719_0ce2_xip_5fget_28_25u_2c Ref00000000 S _bread Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 14E flags 0 @@ -20,13 +20,13 @@ S _xip_get Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F8 FF DD 6E 0C DD -R 00 00 01 00 02 05 09 00 +R 00 00 01 00 02 05 08 00 T 09 00 00 00 66 0D E5 DD 6E 0A DD 66 0B E5 C5 R 00 00 01 00 T 14 00 00 00 DD 6E 02 DD 66 03 E5 0E R 00 00 01 00 T 1C 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 07 00 02 0A 07 00 +R 00 00 01 00 2B 04 0C 00 02 0A 0C 00 T 22 00 00 00 21 03 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 09 05 00 T 29 00 00 00 00 00 00 00 CD 00 00 00 00 EB 21 @@ -54,7 +54,7 @@ R 00 00 01 00 T 74 00 00 00 DD 7E 04 E6 07 47 11 01 00 CD R 00 00 01 00 T 7E 00 00 00 00 00 00 00 DD 73 F8 DD 72 F9 0E -R 00 00 01 00 02 04 08 00 +R 00 00 01 00 02 04 07 00 T 87 00 00 00 00 C5 06 09 DD 5E FA DD 56 FB CD R 00 00 01 00 T 92 00 00 00 00 00 00 00 4B 42 DD 5E 02 DD 56 @@ -68,7 +68,7 @@ R 00 00 01 00 T AF 00 00 00 R 00 00 01 00 T AF 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 T B5 00 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 05 00 T BD 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 @@ -102,7 +102,7 @@ R 00 00 01 00 T 0C 01 00 00 R 00 00 01 00 T 0C 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 T 12 01 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 05 00 T 1A 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 @@ -114,7 +114,7 @@ R 00 00 01 00 T 27 01 00 00 DD 6E F8 DD 66 F9 E5 0E R 00 00 01 00 T 2F 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0C 00 02 0A 0C 00 +R 00 00 01 00 2B 04 0B 00 02 0A 0B 00 T 35 01 00 00 21 03 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 09 05 00 T 3C 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 diff --git a/src/nos/lib/filesys_lib/xip_reserve.rel b/src/nos/lib/filesys_lib/xip_reserve.rel index 7a3656f5..467b1c59 100644 --- a/src/nos/lib/filesys_lib/xip_reserve.rel +++ b/src/nos/lib/filesys_lib/xip_reserve.rel @@ -5,17 +5,17 @@ S ?BANK_CALL_DIRECT_L08 Ref00000000 S _bfree Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S ?C_LSH_L01 Ref00000000 +S ___071f_69a1_xip_5freserve_28_29 Ref00000000 S __dprintf Ref00000000 +S ___071d_2347_xip_5freserve_28_25 Ref00000000 S .__.ABS. Def00000000 -S ___063e_2347_xip_5freserve_28_25 Ref00000000 -S ___0640_69a1_xip_5freserve_28_29 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _min_int Ref00000000 S ?SS_CMP_L02 Ref00000000 -S ___063f_acf4_xip_5freserve_28_29 Ref00000000 +S ___071e_acf4_xip_5freserve_28_29 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___0720_4bfa_xip_5freserve_28_29 Ref00000000 S _bread Ref00000000 -S ___0641_4bfa_xip_5freserve_28_29 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 2AE flags 0 S _xip_reserve Def00000000 @@ -32,9 +32,9 @@ R 00 00 01 00 T 2A 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 R 00 00 01 00 2B 04 07 00 02 0A 07 00 T 30 00 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 05 00 +R 00 00 01 00 2B 09 06 00 T 37 00 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 05 00 02 09 01 00 +R 00 00 01 00 02 04 06 00 02 09 01 00 T 3E 00 00 00 12 00 39 F9 EB 06 03 DD 5E 04 DD R 00 00 01 00 T 49 00 00 00 56 05 CD 00 00 00 00 DD 6E 0E DD @@ -46,11 +46,11 @@ R 00 00 01 00 T 66 00 00 00 R 00 00 01 00 T 66 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 08 00 02 0B 08 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 T 6C 00 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 05 00 +R 00 00 01 00 2B 0A 06 00 T 74 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 05 00 02 09 01 00 +R 00 00 01 00 02 04 06 00 02 09 01 00 T 7B 00 00 00 F1 21 FF FF C3 AB 02 00 00 R 00 00 01 00 00 09 01 00 T 82 00 00 00 @@ -60,9 +60,9 @@ R 00 00 01 00 T 8D 00 00 00 CD 00 00 00 00 4B 42 DD 5E 02 DD R 00 00 01 00 02 05 00 00 T 96 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0E 00 +R 00 00 01 00 2B 07 0F 00 T 9B 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 0E 00 02 09 01 00 +R 00 00 01 00 02 04 0F 00 02 09 01 00 T A2 00 00 00 75 FA DD 74 FB 7D B4 20 1C R 00 00 01 00 T AB 00 00 00 @@ -70,9 +70,9 @@ R 00 00 01 00 T AB 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 T B1 00 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 05 00 +R 00 00 01 00 2B 0A 06 00 T B9 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 05 00 02 09 01 00 +R 00 00 01 00 02 04 06 00 02 09 01 00 T C0 00 00 00 F1 21 FF FF C3 AB 02 00 00 R 00 00 01 00 00 09 01 00 T C7 00 00 00 @@ -130,11 +130,11 @@ R 00 00 01 00 T 62 01 00 00 R 00 00 01 00 T 62 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 08 00 02 0B 08 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 T 68 01 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 05 00 +R 00 00 01 00 2B 0A 06 00 T 70 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 05 00 02 09 01 00 +R 00 00 01 00 02 04 06 00 02 09 01 00 T 77 01 00 00 F1 21 FF FF C3 AB 02 00 00 R 00 00 01 00 00 09 01 00 T 7E 01 00 00 @@ -150,9 +150,9 @@ R 00 00 01 00 T 92 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 T 98 01 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 05 00 +R 00 00 01 00 2B 0A 06 00 T A0 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 05 00 02 09 01 00 +R 00 00 01 00 02 04 06 00 02 09 01 00 T A7 01 00 00 F1 21 FF FF C3 AB 02 00 00 R 00 00 01 00 00 09 01 00 T AE 01 00 00 @@ -162,9 +162,9 @@ R 00 00 01 00 T B9 01 00 00 CD 00 00 00 00 4B 42 DD 5E 02 DD R 00 00 01 00 02 05 00 00 T C2 01 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0E 00 +R 00 00 01 00 2B 07 0F 00 T C7 01 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 0E 00 02 09 01 00 +R 00 00 01 00 02 04 0F 00 02 09 01 00 T CE 01 00 00 75 FA DD 74 FB 7D B4 20 1C R 00 00 01 00 T D7 01 00 00 @@ -172,9 +172,9 @@ R 00 00 01 00 T D7 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 T DD 01 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 05 00 +R 00 00 01 00 2B 0A 06 00 T E5 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 05 00 02 09 01 00 +R 00 00 01 00 02 04 06 00 02 09 01 00 T EC 01 00 00 F1 21 FF FF C3 AB 02 00 00 R 00 00 01 00 00 09 01 00 T F3 01 00 00 @@ -230,19 +230,19 @@ R 00 00 01 00 T 77 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 T 7D 02 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 05 00 +R 00 00 01 00 2B 0A 06 00 T 85 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 05 00 02 09 01 00 +R 00 00 01 00 02 04 06 00 02 09 01 00 T 8C 02 00 00 F1 21 FF FF 18 19 R 00 00 01 00 T 92 02 00 00 R 00 00 01 00 T 92 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 T 98 02 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 05 00 +R 00 00 01 00 2B 0A 06 00 T A0 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 05 00 02 09 01 00 +R 00 00 01 00 02 04 06 00 02 09 01 00 T A7 02 00 00 F1 21 00 00 R 00 00 01 00 T AB 02 00 00 diff --git a/src/nos/lib/filesys_lib/xip_search.rel b/src/nos/lib/filesys_lib/xip_search.rel index ab5ea06e..e77a6145 100644 --- a/src/nos/lib/filesys_lib/xip_search.rel +++ b/src/nos/lib/filesys_lib/xip_search.rel @@ -1,20 +1,20 @@ XL4 H 2 areas 13 global symbols S ?US_RSH_L02 Ref00000000 -S ___0645_f464_xip_5fsearch_28_29_ Ref00000000 +S ___0724_f464_xip_5fsearch_28_29_ Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _bfree Ref00000000 S ?L_AND_L03 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 S ?L_OR_L03 Ref00000000 -S ___0642_3192_xip_5fsearch_28_25u Ref00000000 +S ___0721_3192_xip_5fsearch_28_25u Ref00000000 S .__.ABS. Def00000000 S ?L_LSH_L03 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ___0723_fd61_xip_5fsearch_28_29_ Ref00000000 S _min_int Ref00000000 -S ___0644_fd61_xip_5fsearch_28_29_ Ref00000000 -S ___0643_83fc_xip_5fsearch_28_29_ Ref00000000 +S ___0722_83fc_xip_5fsearch_28_29_ Ref00000000 S ?SS_CMP_L02 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _bread Ref00000000 @@ -96,9 +96,9 @@ R 00 00 01 00 T DB 00 00 00 F3 3E 02 84 67 7D E6 00 5F 7C E6 R 00 00 01 00 T E6 00 00 00 FE 57 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0C 00 +R 00 00 01 00 2B 07 0D 00 T EB 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 0C 00 02 09 02 00 +R 00 00 01 00 02 04 0D 00 02 09 02 00 T F2 00 00 00 F4 DD 74 F5 0E 00 C5 06 09 DD 5E R 00 00 01 00 T FD 00 00 00 F2 DD 56 F3 CD 00 00 00 00 4B 42 @@ -226,7 +226,7 @@ R 00 00 01 00 00 06 01 00 T 87 02 00 00 R 00 00 01 00 T 87 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 +R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 T 8D 02 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 06 00 T 95 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 diff --git a/src/nos/lib/filesys_lib/xip_set.rel b/src/nos/lib/filesys_lib/xip_set.rel index d65966d2..6a7a5267 100644 --- a/src/nos/lib/filesys_lib/xip_set.rel +++ b/src/nos/lib/filesys_lib/xip_set.rel @@ -3,15 +3,15 @@ H 2 areas F global symbols S ?US_RSH_L02 Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _bfree Ref00000000 -S ___0646_ef25_xip_5fset_28_25u_2c Ref00000000 +S ___0725_ef25_xip_5fset_28_25u_2c Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S ?C_LSH_L01 Ref00000000 S __dprintf Ref00000000 -S ___0647_7af3_xip_5fset_28_29_20r Ref00000000 +S ___0726_7af3_xip_5fset_28_29_20r Ref00000000 S .__.ABS. Def00000000 -S ___0649_36c3_xip_5fset_28_29_20r Ref00000000 +S ___0728_36c3_xip_5fset_28_29_20r Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___0648_429f_xip_5fset_28_29_20r Ref00000000 +S ___0727_429f_xip_5fset_28_29_20r Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _bread Ref00000000 A _DEFAULT size 0 flags 0 diff --git a/src/nos/lib/filesys_lib/xip_ualign.rel b/src/nos/lib/filesys_lib/xip_ualign.rel index 665aeffd..9e807460 100644 --- a/src/nos/lib/filesys_lib/xip_ualign.rel +++ b/src/nos/lib/filesys_lib/xip_ualign.rel @@ -3,18 +3,18 @@ H 2 areas 11 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _bfree Ref00000000 S _i_sync Ref00000000 -S ___064e_3a65_xip_5fualign_280x_2 Ref00000000 -S ___064a_3cda_xip_5fualign_28_29_ Ref00000000 +S ___072d_3a65_xip_5fualign_280x_2 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 S _xip_examine Ref00000000 S _getfs Ref00000000 S .__.ABS. Def00000000 +S ___0729_3cda_xip_5fualign_28_29_ Ref00000000 +S ___072c_c58e_xip_5fualign_28_29_ Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _xip_reserve Ref00000000 -S ___064d_c58e_xip_5fualign_28_29_ Ref00000000 S _min_int Ref00000000 -S ___064c_71d2_xip_5fualign_28_29_ Ref00000000 +S ___072b_71d2_xip_5fualign_28_29_ Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 1CD flags 0 @@ -22,7 +22,7 @@ S _xip_ualign Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F0 FF DD 6E 0C DD -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0B 00 T 09 00 00 00 66 0D E5 DD 6E 0A DD 66 0B E5 DD R 00 00 01 00 T 14 00 00 00 6E 02 DD 66 03 E5 0E 00 00 00 00 @@ -30,7 +30,7 @@ R 00 00 01 00 2B 0B 03 00 T 1C 00 00 00 C5 21 00 00 00 00 E5 21 03 00 E5 R 00 00 01 00 02 06 03 00 T 25 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 +R 00 00 01 00 2B 05 05 00 02 0A 05 00 T 2B 00 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB R 00 00 01 00 02 04 00 00 T 34 00 00 00 DD 6E 02 DD 66 03 23 23 23 46 23 @@ -38,7 +38,7 @@ R 00 00 01 00 T 3F 00 00 00 66 68 DD 75 FE DD 74 FF EB 3E R 00 00 01 00 T 49 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 +R 00 00 01 00 2B 04 07 00 02 09 07 00 T 4E 00 00 00 00 00 00 00 DD 75 FC DD 74 FD 21 R 00 00 01 00 02 04 00 00 T 57 00 00 00 0A 00 39 E5 21 0A 00 39 E5 DD 6E @@ -48,9 +48,9 @@ R 00 00 01 00 T 6D 00 00 00 E5 DD 4E 02 DD 46 03 DD 5E FC DD R 00 00 01 00 T 78 00 00 00 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 07 00 +R 00 00 01 00 2B 07 06 00 T 7D 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 07 00 02 09 00 00 +R 00 00 01 00 02 04 06 00 02 09 00 00 T 84 00 00 00 F1 F1 DD 75 F6 DD 74 F7 7D B4 20 R 00 00 01 00 T 8F 00 00 00 1C @@ -58,11 +58,11 @@ R 00 00 01 00 T 90 00 00 00 R 00 00 01 00 T 90 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 04 00 02 0B 04 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 T 96 00 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 06 00 +R 00 00 01 00 2B 0A 05 00 T 9E 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 06 00 02 09 00 00 +R 00 00 01 00 02 04 05 00 02 09 00 00 T A5 00 00 00 F1 21 FF FF C3 CA 01 00 00 R 00 00 01 00 00 09 01 00 T AC 00 00 00 @@ -98,7 +98,7 @@ R 00 00 01 00 T 1A 01 00 00 F7 09 4E 23 46 DD 5E FE DD 56 FF R 00 00 01 00 T 25 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0B 00 02 0A 0B 00 +R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 T 2B 01 00 00 00 00 00 00 F1 F1 F1 F1 7D B4 28 R 00 00 01 00 02 04 00 00 T 34 01 00 00 1B @@ -108,9 +108,9 @@ R 00 00 01 00 T 35 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 T 3B 01 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 06 00 +R 00 00 01 00 2B 0A 05 00 T 43 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 06 00 02 09 00 00 +R 00 00 01 00 02 04 05 00 02 09 00 00 T 4A 01 00 00 F1 21 FF FF 18 7A R 00 00 01 00 T 50 01 00 00 @@ -152,14 +152,14 @@ R 00 00 01 00 2B 07 02 00 T AC 01 00 00 00 00 00 00 CD 00 00 00 00 0E R 00 00 01 00 02 04 02 00 02 09 00 00 T B2 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0C 00 02 0A 0C 00 +R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 T B8 01 00 00 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 06 00 +R 00 00 01 00 2B 09 05 00 T BF 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 06 00 02 09 00 00 +R 00 00 01 00 02 04 05 00 02 09 00 00 T C6 01 00 00 F1 21 00 00 R 00 00 01 00 T CA 01 00 00 R 00 00 01 00 T CA 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/filesys_lib/zerobuf.rel b/src/nos/lib/filesys_lib/zerobuf.rel index 7405bb02..167ed967 100644 --- a/src/nos/lib/filesys_lib/zerobuf.rel +++ b/src/nos/lib/filesys_lib/zerobuf.rel @@ -1,17 +1,17 @@ XL4 H 4 areas D global symbols -S ___0655_ba0e_zerobuf_28_29_20ret Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _bufclock Ref00000000 S _memset Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 -S ___0656_1fe8_zerobuf_28_29_20ret Ref00000000 +S ___0735_1fe8_zerobuf_28_29_20ret Ref00000000 S .__.ABS. Def00000000 S _freebuf Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0654_4749_zerobuf_28_25u_29_2 Ref00000000 +S ___0733_4749_zerobuf_28_25u_29_2 Ref00000000 +S ___0734_ba0e_zerobuf_28_29_20ret Ref00000000 A _DEFAULT size 0 flags 0 A CODE size CA flags 0 S _zerobuf Def00000000 @@ -20,19 +20,19 @@ A CDATA0 size 2 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF DD 4E 02 06 -R 00 00 01 00 02 05 09 00 +R 00 00 01 00 02 05 08 00 T 09 00 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 07 0B 00 +R 00 00 01 00 2B 07 0A 00 T 0F 00 00 00 00 00 00 00 E5 21 03 00 E5 3E -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0A 00 T 17 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 +R 00 00 01 00 2B 04 04 00 02 09 04 00 T 1C 00 00 00 00 00 00 00 F1 F1 F1 F1 DD 5E 02 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 25 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 08 00 02 0A 08 00 +R 00 00 01 00 2B 05 07 00 02 0A 07 00 T 2B 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 34 00 00 00 B4 28 77 R 00 00 01 00 T 37 00 00 00 @@ -48,37 +48,37 @@ R 00 00 01 00 00 05 02 00 T 5F 00 00 00 09 36 01 21 07 02 09 ED 5B R 00 00 01 00 T 68 00 00 00 00 00 00 00 13 ED 53 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 0B 02 00 +R 00 00 01 00 02 04 01 00 02 0B 01 00 T 6F 00 00 00 73 23 72 21 00 02 E5 01 00 00 DD R 00 00 01 00 T 7A 00 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 03 00 +R 00 00 01 00 2B 0A 02 00 T 82 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 03 00 02 09 01 00 +R 00 00 01 00 02 04 02 00 02 09 00 00 T 89 00 00 00 6E FE DD 66 FF E5 0E 00 00 00 00 -R 00 00 01 00 2B 0B 00 00 +R 00 00 01 00 2B 0B 0B 00 T 91 00 00 00 C5 21 00 00 00 00 E5 21 03 00 E5 -R 00 00 01 00 02 06 00 00 +R 00 00 01 00 02 06 0B 00 T 9A 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 05 00 02 0A 05 00 +R 00 00 01 00 2B 05 04 00 02 0A 04 00 T A0 00 00 00 00 00 00 00 F1 F1 F1 F1 DD 6E FE -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T A9 00 00 00 DD 66 FF 18 19 R 00 00 01 00 T AE 00 00 00 R 00 00 01 00 T AE 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 06 00 02 0B 06 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 T B4 00 00 00 E5 21 03 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 05 00 +R 00 00 01 00 2B 0A 04 00 T BC 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 05 00 02 09 01 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T C3 00 00 00 F1 21 00 00 R 00 00 01 00 T C7 00 00 00 R 00 00 01 00 T C7 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 03 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 diff --git a/src/nos/lib/internet_lib/Dcachecmds.rel b/src/nos/lib/internet_lib/Dcachecmds.rel index d95fe104..c7e46e46 100644 --- a/src/nos/lib/internet_lib/Dcachecmds.rel +++ b/src/nos/lib/internet_lib/Dcachecmds.rel @@ -2,12 +2,12 @@ XL4 H 4 areas B global symbols S _docachesize Ref00000000 S _docachelist Ref00000000 -S ___04df_7bad_list Ref00000000 S _docacheclean Ref00000000 -S ___044c_4822_clean Ref00000000 -S ___05b2_dce5_size Ref00000000 +S ___04e4_4822_clean Ref00000000 +S ___05a2_7bad_list Ref00000000 +S ___068e_dce5_size Ref00000000 S .__.ABS. Def00000000 -S ___0615_d63a_wait Ref00000000 +S ___06f4_d63a_wait Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _docachewait Ref00000000 A _DEFAULT size 0 flags 0 @@ -20,9 +20,9 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 04 00 4A 08 03 00 +R 00 00 03 00 4A 04 03 00 4A 08 02 00 T 08 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 02 00 +R 00 00 03 00 4A 09 04 00 T 10 00 00 00 00 00 00 00 00 02 00 00 00 00 00 R 00 00 03 00 4A 04 01 00 T 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/src/nos/lib/internet_lib/Dcmds.rel b/src/nos/lib/internet_lib/Dcmds.rel index 2669d97d..6f4a8100 100644 --- a/src/nos/lib/internet_lib/Dcmds.rel +++ b/src/nos/lib/internet_lib/Dcmds.rel @@ -1,26 +1,26 @@ XL4 H 4 areas 16 global symbols -S ___05f5_4f5f_trace Ref00000000 S _dodnsadd Ref00000000 -S ___0483_0532_drop_20_3chostid_3e Ref00000000 -S ___04df_7bad_list Ref00000000 S _docache Ref00000000 -S ___043c_7cbf_cache Ref00000000 +S ___0496_2c42_addserver Ref00000000 S _dodnsdrop Ref00000000 +S ___04d3_7cbf_cache Ref00000000 S _dodnsretry Ref00000000 S _dodnsquery Ref00000000 -S ___0400_d8a3_add_20_3chostid_3e Ref00000000 +S ___05a2_7bad_list Ref00000000 S _dodnslist Ref00000000 -S ___0587_0acb_retry Ref00000000 +S ___0661_0acb_retry Ref00000000 +S ___0641_0bef_query Ref00000000 +S ___06af_bec3_suffix Ref00000000 +S ___0493_d8a3_add_20_3chostid_3e Ref00000000 S .__.ABS. Def00000000 -S ___0567_0bef_query Ref00000000 S _dodnstrace Ref00000000 +S ___0642_6646_query_20_3chostid_3 Ref00000000 S _dosuffix Ref00000000 -S ___05d2_bec3_suffix Ref00000000 -S ___0568_6646_query_20_3chostid_3 Ref00000000 +S ___051f_e7cf_dropserver Ref00000000 +S ___051e_0532_drop_20_3chostid_3e Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0484_e7cf_dropserver Ref00000000 -S ___0403_2c42_addserver Ref00000000 +S ___06d2_4f5f_trace Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 A IDATA0 size 75 flags 0 @@ -31,29 +31,29 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 14 00 4A 08 01 00 +R 00 00 03 00 4A 04 02 00 4A 08 00 00 T 08 00 00 00 02 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 06 09 00 4A 0A 13 00 +R 00 00 03 00 4A 06 0C 00 4A 0A 11 00 T 10 00 00 00 00 00 00 00 00 00 02 00 -R 00 00 03 00 4A 04 06 00 +R 00 00 03 00 4A 04 03 00 T 17 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 02 00 4A 08 03 00 +R 00 00 03 00 4A 04 12 00 4A 08 07 00 T 1D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 0A 00 +R 00 00 03 00 4A 04 08 00 T 27 00 00 00 00 00 00 00 00 00 00 00 00 02 -R 00 00 03 00 4A 04 0D 00 4A 08 08 00 +R 00 00 03 00 4A 04 0A 00 4A 08 06 00 T 2F 00 00 00 02 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 06 11 00 4A 0A 0B 00 +R 00 00 03 00 4A 06 0F 00 4A 0A 09 00 T 37 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 07 00 +R 00 00 03 00 4A 04 05 00 T 41 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 10 00 4A 08 0F 00 +R 00 00 03 00 4A 04 0B 00 4A 08 10 00 T 49 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 00 00 +R 00 00 03 00 4A 09 14 00 T 51 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 4A 04 0E 00 T 5B 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 05 00 4A 08 04 00 +R 00 00 03 00 4A 04 04 00 4A 08 01 00 T 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 T 6E 00 00 00 00 00 00 00 00 00 00 diff --git a/src/nos/lib/internet_lib/Tcpcmds.rel b/src/nos/lib/internet_lib/Tcpcmds.rel index 85f85ec5..ca2a1a14 100644 --- a/src/nos/lib/internet_lib/Tcpcmds.rel +++ b/src/nos/lib/internet_lib/Tcpcmds.rel @@ -1,30 +1,30 @@ XL4 H 4 areas 1B global symbols S _dotcptr Ref00000000 -S ___05f5_4f5f_trace Ref00000000 +S ___06bd_e483_tcp_20kick_20_3ctcb Ref00000000 S _dosyndata Ref00000000 -S ___05e0_e483_tcp_20kick_20_3ctcb Ref00000000 +S ___06be_a12c_tcp_20reset_20_3ctc Ref00000000 +S ___06bf_bb94_tcp_20rtt_20_3ctcb_ Ref00000000 +S ___0673_ae54_rtt Ref00000000 S _dotcpstat Ref00000000 S _doirtt Ref00000000 -S ___05e1_a12c_tcp_20reset_20_3ctc Ref00000000 -S ___0511_58b1_mss Ref00000000 -S ___05e2_bb94_tcp_20rtt_20_3ctcb_ Ref00000000 S _dotimestamps Ref00000000 -S ___04d7_516b_kick Ref00000000 -S ___0599_ae54_rtt Ref00000000 -S ___05d5_bb66_syndata Ref00000000 +S ___06b2_bb66_syndata Ref00000000 +S ___058e_516b_kick Ref00000000 S .__.ABS. Def00000000 -S ___061a_9158_window Ref00000000 +S ___065d_85b2_reset Ref00000000 S _domss Ref00000000 +S ___06cc_223a_timestamps Ref00000000 +S ___06c0_f363_tcp_20stat_20_3ctcb Ref00000000 S _dowindow Ref00000000 -S ___05ef_223a_timestamps Ref00000000 -S ___04d6_f4c1_irtt Ref00000000 S _dortt Ref00000000 -S ___05e3_f363_tcp_20stat_20_3ctcb Ref00000000 -S ___0583_85b2_reset Ref00000000 -S ___05c9_5069_status Ref00000000 +S ___058d_f4c1_irtt Ref00000000 +S ___06f9_9158_window Ref00000000 +S ___06a6_5069_status Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___05da_58b1_mss Ref00000000 S _dotcpkick Ref00000000 +S ___06d2_4f5f_trace Ref00000000 S _dotcpreset Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 @@ -36,37 +36,37 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 12 00 4A 08 05 00 +R 00 00 03 00 4A 04 12 00 4A 08 07 00 T 08 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 4A 09 0A 00 T 10 00 00 00 00 00 00 00 00 00 02 00 -R 00 00 03 00 4A 04 18 00 +R 00 00 03 00 4A 04 17 00 T 17 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 03 00 4A 08 07 00 +R 00 00 03 00 4A 04 01 00 4A 08 16 00 T 1D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 0F 00 +R 00 00 03 00 4A 04 0D 00 T 27 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 15 00 4A 08 19 00 +R 00 00 03 00 4A 04 0C 00 4A 08 19 00 T 2F 00 00 00 02 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 06 06 00 4A 0A 0B 00 +R 00 00 03 00 4A 06 03 00 4A 0A 05 00 T 37 00 00 00 00 00 00 00 00 00 03 00 -R 00 00 03 00 4A 04 13 00 +R 00 00 03 00 4A 04 11 00 T 3E 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 08 00 4A 08 16 00 +R 00 00 03 00 4A 04 04 00 4A 08 14 00 T 44 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 04 00 +R 00 00 03 00 4A 04 06 00 T 4B 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 14 00 4A 08 0C 00 +R 00 00 03 00 4A 04 0F 00 4A 08 09 00 T 51 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 4A 04 02 00 T 5B 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 11 00 4A 08 09 00 +R 00 00 03 00 4A 04 0E 00 4A 08 08 00 T 63 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 01 00 +R 00 00 03 00 4A 09 18 00 T 6B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 4A 04 00 00 T 75 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 0E 00 4A 08 10 00 +R 00 00 03 00 4A 04 13 00 4A 08 10 00 T 7D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 T 88 00 00 00 00 00 00 00 00 00 00 diff --git a/src/nos/lib/internet_lib/add_reseq.rel b/src/nos/lib/internet_lib/add_reseq.rel index 42559a98..08636ba4 100644 --- a/src/nos/lib/internet_lib/add_reseq.rel +++ b/src/nos/lib/internet_lib/add_reseq.rel @@ -13,7 +13,7 @@ A CODE size 163 flags 0 S _add_reseq Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 11 26 00 3E +T 00 00 00 00 CD 00 00 00 00 FC FF 11 4F 00 3E R 00 00 01 00 02 05 04 00 T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 07 00 02 09 07 00 @@ -33,15 +33,15 @@ T 2B 00 00 00 R 00 00 01 00 T 2B 00 00 00 DD 5E FC DD 56 FD 13 13 DD 6E 0A R 00 00 01 00 -T 36 00 00 00 DD 66 0B 01 1F 00 ED B0 21 25 00 +T 36 00 00 00 DD 66 0B 01 48 00 ED B0 21 4E 00 R 00 00 01 00 T 41 00 00 00 DD 4E FC DD 46 FD 09 DD 56 04 72 R 00 00 01 00 -T 4C 00 00 00 21 21 00 09 E5 DD 6E 0C DD 66 0D +T 4C 00 00 00 21 4A 00 09 E5 DD 6E 0C DD 66 0D R 00 00 01 00 T 57 00 00 00 5E 23 56 E1 73 23 72 DD 6E 0C DD R 00 00 01 00 -T 62 00 00 00 66 0D AF 77 23 77 21 23 00 09 DD +T 62 00 00 00 66 0D AF 77 23 77 21 4C 00 09 DD R 00 00 01 00 T 6D 00 00 00 4E 0E DD 46 0F 71 23 70 21 80 00 R 00 00 01 00 diff --git a/src/nos/lib/internet_lib/dfile_search.rel b/src/nos/lib/internet_lib/dfile_search.rel index d36dfc51..854b6d29 100644 --- a/src/nos/lib/internet_lib/dfile_search.rel +++ b/src/nos/lib/internet_lib/dfile_search.rel @@ -13,12 +13,12 @@ S _kwait Ref00000000 S _fstat Ref00000000 S _Dfile Ref00000000 S _free_rr Ref00000000 +S ___050a_0f61_dfile_5fsearch_3a_2 Ref00000000 S _ksignal Ref00000000 S ?SL_CMP_L03 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _freopen Ref00000000 S ?SS_CMP_L02 Ref00000000 -S ___046f_0f61_dfile_5fsearch_3a_2 Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _fclose Ref00000000 @@ -32,7 +32,7 @@ A CSTR size 3 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 D4 FF -R 00 00 01 00 02 05 0F 00 +R 00 00 01 00 02 05 10 00 T 05 00 00 00 R 00 00 01 00 T 05 00 00 00 @@ -40,7 +40,7 @@ R 00 00 01 00 T 05 00 00 00 ED 4B 00 00 00 00 21 00 00 CD R 00 00 01 00 02 06 04 00 T 0D 00 00 00 00 00 00 00 30 0D -R 00 00 01 00 02 04 11 00 +R 00 00 01 00 02 04 12 00 T 11 00 00 00 R 00 00 01 00 T 11 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 @@ -54,9 +54,9 @@ R 00 00 01 00 02 05 07 00 02 0B 07 00 T 25 00 00 00 21 00 00 E5 01 00 00 00 00 ED 5B R 00 00 01 00 00 09 02 00 T 2E 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 2B 09 10 00 +R 00 00 01 00 02 04 0B 00 2B 09 11 00 T 33 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 10 00 02 09 00 00 +R 00 00 01 00 02 04 11 00 02 09 00 00 T 3A 00 00 00 75 E0 DD 74 E1 7D B4 20 0D R 00 00 01 00 T 43 00 00 00 @@ -86,7 +86,7 @@ R 00 00 01 00 02 04 00 00 T 7C 00 00 00 R 00 00 01 00 T 7C 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 12 00 02 0B 12 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 T 82 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 13 00 02 0B 13 00 T 88 00 00 00 CD 00 00 00 00 F1 F1 DD 5E E0 DD @@ -168,7 +168,7 @@ R 00 00 01 00 T 77 01 00 00 23 46 23 5E 23 56 D5 C5 01 00 00 R 00 00 01 00 T 82 01 00 00 21 00 00 CD 00 00 00 00 30 38 21 -R 00 00 01 00 02 08 0E 00 +R 00 00 01 00 02 08 0F 00 T 8B 01 00 00 09 00 DD 4E D4 DD 46 D5 09 DD 4E R 00 00 01 00 T 96 01 00 00 DE DD 46 DF DD 5E DC DD 56 DD CD @@ -176,7 +176,7 @@ R 00 00 01 00 T A1 01 00 00 00 00 00 00 C5 D5 01 00 00 21 R 00 00 01 00 02 04 16 00 T A9 01 00 00 00 00 CD 00 00 00 00 38 12 -R 00 00 01 00 02 07 0E 00 +R 00 00 01 00 02 07 0F 00 T B0 01 00 00 R 00 00 01 00 T B0 01 00 00 @@ -254,15 +254,15 @@ R 00 00 01 00 02 04 15 00 02 09 00 00 T 6C 02 00 00 00 00 00 00 0B ED 43 00 00 00 00 R 00 00 01 00 02 04 07 00 02 0B 07 00 T 73 02 00 00 21 00 00 CD 00 00 00 00 38 14 -R 00 00 01 00 02 08 11 00 +R 00 00 01 00 02 08 12 00 T 7B 02 00 00 R 00 00 01 00 T 7B 02 00 00 21 00 00 22 00 00 00 00 01 00 00 R 00 00 01 00 02 08 07 00 T 84 02 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 04 00 2B 0A 0D 00 +R 00 00 01 00 02 05 04 00 2B 0A 0E 00 T 8A 02 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 0D 00 02 09 00 00 +R 00 00 01 00 02 04 0E 00 02 09 00 00 T 8F 02 00 00 R 00 00 01 00 T 8F 02 00 00 DD 6E D8 DD 66 D9 diff --git a/src/nos/lib/internet_lib/dfile_update.rel b/src/nos/lib/internet_lib/dfile_update.rel index c011a1b6..118e55c8 100644 --- a/src/nos/lib/internet_lib/dfile_update.rel +++ b/src/nos/lib/internet_lib/dfile_update.rel @@ -1,18 +1,17 @@ XL4 H 3 areas 31 global symbols +S ___06e2_5c27_update_20Domain_2et Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _get_rr Ref00000000 S _compare_rr_list Ref00000000 S _Dfile_clean Ref00000000 S _secclock Ref00000000 S _Dfile_writing Ref00000000 -S ___0605_0b09_update_20Domain_2et Ref00000000 S _logmsg Ref00000000 -S ___0604_5c27_update_20Domain_2et Ref00000000 -S ___0471_5b47_dfile_5fupdate_3a_2 Ref00000000 S _unlink Ref00000000 S ?L_NEG_L03 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___050b_4eba_dfile_5fupdate_3a_2 Ref00000000 S _strlen Ref00000000 S _strdupw Ref00000000 S _put_rr Ref00000000 @@ -26,11 +25,12 @@ S _Dfile Ref00000000 S _strcpy Ref00000000 S _free_rr Ref00000000 S ?L_MUL_L03 Ref00000000 -S ___0470_4eba_dfile_5fupdate_3a_2 Ref00000000 S _ksignal Ref00000000 S ?SL_CMP_L03 Ref00000000 +S ___050d_ef06_dfile_5fupdate_3a_2 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _dcache_search Ref00000000 +S ___06e4_c5a3_update_20Domain_2et Ref00000000 S _freopen Ref00000000 S _fdup Ref00000000 S ?SS_CMP_L02 Ref00000000 @@ -42,12 +42,12 @@ S _rename Ref00000000 S _kalarm Ref00000000 S _Dfile_updater Ref00000000 S _Dcache Ref00000000 -S ___0606_c5a3_update_20Domain_2et Ref00000000 +S ___06e3_0b09_update_20Domain_2et Ref00000000 +S ___050c_5b47_dfile_5fupdate_3a_2 Ref00000000 S _fclose Ref00000000 S ?L_SUBASG_L03 Ref00000000 S _main_exit Ref00000000 S _copy_rr Ref00000000 -S ___0472_ef06_dfile_5fupdate_3a_2 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 5D6 flags 0 S _dfile_update Def00000000 @@ -55,53 +55,53 @@ A CSTR size B flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 B2 FF 1E -R 00 00 01 00 02 05 1D 00 +R 00 00 01 00 02 05 1C 00 T 06 00 00 00 00 00 00 00 D5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 2A 00 02 0A 2A 00 +R 00 00 01 00 2B 04 1E 00 02 0A 1E 00 T 0C 00 00 00 21 FF FF E5 3E 00 00 00 00 21 R 00 00 01 00 2B 09 07 00 T 13 00 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 07 00 02 09 00 00 +R 00 00 01 00 02 04 07 00 02 09 01 00 T 1A 00 00 00 E1 21 3E 00 ED 5B 00 00 00 00 19 -R 00 00 01 00 02 0A 11 00 +R 00 00 01 00 02 0A 10 00 T 23 00 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 2B 00 +R 00 00 01 00 2B 08 2C 00 T 29 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 2B 00 02 09 00 00 +R 00 00 01 00 02 04 2C 00 02 09 01 00 T 2F 00 00 00 3E 00 ED 5B 00 00 00 00 19 E5 21 -R 00 00 01 00 02 08 11 00 +R 00 00 01 00 02 08 10 00 T 38 00 00 00 3E 00 ED 4B 00 00 00 00 09 5E 23 R 00 00 01 00 02 08 23 00 T 41 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 20 00 02 0B 20 00 T 47 00 00 00 CD 00 00 00 00 EB E1 73 23 72 21 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T 50 00 00 00 40 00 ED 4B 00 00 00 00 09 5E 23 -R 00 00 01 00 02 08 11 00 +R 00 00 01 00 02 08 10 00 T 59 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2B 00 02 0B 2B 00 +R 00 00 01 00 2B 06 2C 00 02 0B 2C 00 T 5F 00 00 00 CD 00 00 00 00 21 40 00 09 E5 21 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T 68 00 00 00 40 00 ED 4B 00 00 00 00 09 5E 23 R 00 00 01 00 02 08 23 00 T 71 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 20 00 02 0B 20 00 T 77 00 00 00 CD 00 00 00 00 4D 44 E1 71 23 70 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T 80 00 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 02 06 16 00 2B 0B 0E 00 +R 00 00 01 00 02 06 15 00 2B 0B 0D 00 T 86 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0E 00 02 0A 00 00 +R 00 00 01 00 02 05 0D 00 02 0A 01 00 T 8D 00 00 00 75 B8 DD 74 B9 01 00 00 00 00 E5 R 00 00 01 00 00 0A 02 00 T 96 00 00 00 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0D 00 +R 00 00 01 00 2B 07 0C 00 T 9B 00 00 00 00 00 00 00 CD 00 00 00 00 EB E1 -R 00 00 01 00 02 04 0D 00 02 09 00 00 +R 00 00 01 00 02 04 0C 00 02 09 01 00 T A2 00 00 00 19 EB 1B 1B 1B 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 17 00 +R 00 00 01 00 2B 0A 16 00 T AA 00 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 17 00 02 09 00 00 +R 00 00 01 00 02 04 16 00 02 09 01 00 T AF 00 00 00 R 00 00 01 00 T AF 00 00 00 2A 00 00 00 00 7D B4 2A @@ -109,7 +109,7 @@ R 00 00 01 00 02 05 25 00 T B5 00 00 00 02 00 00 00 B5 B4 CA A9 05 00 00 R 00 00 01 00 02 04 25 00 00 0B 01 00 T BC 00 00 00 2A 00 00 00 00 7D B4 C2 -R 00 00 01 00 02 05 2D 00 +R 00 00 01 00 02 05 2E 00 T C2 00 00 00 A9 05 00 00 R 00 00 01 00 00 04 01 00 T C4 00 00 00 @@ -127,9 +127,9 @@ R 00 00 01 00 02 04 25 00 00 0B 01 00 T D1 00 00 00 R 00 00 01 00 T D1 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 04 00 02 0A 04 00 +R 00 00 01 00 2B 05 05 00 02 0A 05 00 T D7 00 00 00 00 00 00 00 59 50 4D 44 2A -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T DE 00 00 00 00 00 00 00 A7 ED 42 4D 44 2A R 00 00 01 00 02 04 25 00 T E6 00 00 00 02 00 00 00 ED 52 E5 69 60 C1 DD @@ -145,7 +145,7 @@ R 00 00 01 00 T 14 01 00 00 FD E5 01 00 00 21 00 00 CD R 00 00 01 00 T 1D 01 00 00 00 00 00 00 30 40 2A 00 00 00 00 -R 00 00 01 00 02 04 1C 00 02 0B 2D 00 +R 00 00 01 00 02 04 1A 00 02 0B 2E 00 T 24 01 00 00 7D B4 20 39 R 00 00 01 00 T 28 01 00 00 @@ -159,17 +159,17 @@ R 00 00 01 00 T 33 01 00 00 DD 46 FF DD 6E FC DD 66 FD CD R 00 00 01 00 T 3D 01 00 00 00 00 00 00 EB 3E 00 00 00 00 21 -R 00 00 01 00 02 04 19 00 2B 0A 27 00 +R 00 00 01 00 02 04 18 00 2B 0A 27 00 T 43 01 00 00 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 04 27 00 02 09 00 00 +R 00 00 01 00 02 04 27 00 02 09 01 00 T 49 01 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 25 00 2B 09 13 00 +R 00 00 01 00 02 04 25 00 2B 09 12 00 T 4E 01 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 04 13 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 01 00 T 54 01 00 00 00 00 11 00 00 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 27 00 T 5C 01 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 27 00 02 09 00 00 +R 00 00 01 00 02 04 27 00 02 09 01 00 T 61 01 00 00 R 00 00 01 00 T 61 01 00 00 C3 C4 00 00 00 @@ -177,17 +177,17 @@ R 00 00 01 00 00 05 01 00 T 64 01 00 00 R 00 00 01 00 T 64 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 08 00 02 0B 08 00 +R 00 00 01 00 2B 05 00 00 02 0B 00 00 T 6A 01 00 00 E5 21 FF FF E5 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 07 00 T 72 01 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 07 00 02 09 00 00 +R 00 00 01 00 02 04 07 00 02 09 01 00 T 79 01 00 00 E1 21 00 00 E5 01 04 00 00 00 DD R 00 00 01 00 00 0A 02 00 T 82 01 00 00 5E B8 DD 56 B9 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 1F 00 T 8A 01 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 1F 00 02 09 00 00 +R 00 00 01 00 02 04 1F 00 02 09 01 00 T 91 01 00 00 75 BC DD 74 BD 7D B4 20 1C R 00 00 01 00 T 9A 01 00 00 @@ -195,11 +195,11 @@ R 00 00 01 00 T 9A 01 00 00 DD 6E B8 DD 66 B9 E5 0E R 00 00 01 00 T A2 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 1A 00 02 0A 1A 00 +R 00 00 01 00 2B 04 0B 00 02 0A 0B 00 T A8 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 22 00 02 0A 22 00 T AE 01 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T B4 01 00 00 A9 05 00 00 R 00 00 01 00 00 04 01 00 T B6 01 00 00 @@ -217,33 +217,33 @@ R 00 00 01 00 T D6 01 00 00 R 00 00 01 00 T D6 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 14 00 02 0A 14 00 +R 00 00 01 00 2B 05 13 00 02 0A 13 00 T DC 01 00 00 00 00 00 00 7D B4 28 22 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T E2 01 00 00 R 00 00 01 00 T E2 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 09 00 02 0B 09 00 +R 00 00 01 00 2B 05 2B 00 02 0B 2B 00 T E8 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 22 00 02 0B 22 00 T EE 01 00 00 CD 00 00 00 00 F1 F1 DD 5E BC DD -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T F7 01 00 00 56 BD 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 2B 00 +R 00 00 01 00 2B 07 2C 00 T FC 01 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 2B 00 02 09 00 00 +R 00 00 01 00 02 04 2C 00 02 09 01 00 T 02 02 00 00 A9 05 00 00 R 00 00 01 00 00 04 01 00 T 04 02 00 00 R 00 00 01 00 T 04 02 00 00 11 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 13 00 +R 00 00 01 00 2B 08 12 00 T 0A 02 00 00 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 04 13 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 01 00 T 10 02 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 1E 00 +R 00 00 01 00 2B 07 1D 00 T 15 02 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 1E 00 02 09 00 00 +R 00 00 01 00 02 04 1D 00 02 09 01 00 T 1B 02 00 00 02 00 39 DD 75 B2 DD 74 B3 2A R 00 00 01 00 T 25 02 00 00 00 00 00 00 DD 75 FA DD 74 FB @@ -261,9 +261,9 @@ R 00 00 01 00 T 49 02 00 00 R 00 00 01 00 T 49 02 00 00 DD 5E FA DD 56 FB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 2E 00 +R 00 00 01 00 2B 0B 2F 00 T 51 02 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 2E 00 02 0A 00 00 +R 00 00 01 00 02 05 2F 00 02 0A 01 00 T 58 02 00 00 DD 6E B2 DD 66 B3 C1 71 23 70 21 R 00 00 01 00 T 63 02 00 00 0F 00 DD 4E FA DD 46 FB 09 7E 23 @@ -281,9 +281,9 @@ R 00 00 01 00 T 80 02 00 00 DD 4E FA DD 46 FB DD 5E BC DD 56 R 00 00 01 00 T 8B 02 00 00 BD 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T 91 02 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T 94 02 00 00 R 00 00 01 00 T 94 02 00 00 DD 6E B2 DD 66 B3 46 23 66 68 23 @@ -307,27 +307,27 @@ R 00 00 01 00 T D4 02 00 00 00 00 E5 01 08 00 00 00 ED 5B R 00 00 01 00 00 08 02 00 T DC 02 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 16 00 2B 09 1F 00 +R 00 00 01 00 02 04 15 00 2B 09 1F 00 T E1 02 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 1F 00 02 09 00 00 +R 00 00 01 00 02 04 1F 00 02 09 01 00 T E8 02 00 00 75 BA DD 74 BB 7D B4 20 31 R 00 00 01 00 T F1 02 00 00 R 00 00 01 00 T F1 02 00 00 DD 5E BC DD 56 BD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 2B 00 +R 00 00 01 00 2B 0B 2C 00 T F9 02 00 00 21 00 00 00 00 CD 00 00 00 00 ED -R 00 00 01 00 02 05 2B 00 02 0A 00 00 +R 00 00 01 00 02 05 2C 00 02 0A 01 00 T 00 03 00 00 4B 00 00 00 00 DD 5E B8 DD 56 B9 -R 00 00 01 00 02 05 16 00 +R 00 00 01 00 02 05 15 00 T 09 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 26 00 02 0A 26 00 T 0F 03 00 00 00 00 00 00 DD 5E B4 DD 56 B5 3E -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 18 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 18 00 02 09 18 00 +R 00 00 01 00 2B 04 17 00 02 09 17 00 T 1D 03 00 00 00 00 00 00 C3 A9 05 00 00 -R 00 00 01 00 02 04 00 00 00 09 01 00 +R 00 00 01 00 02 04 01 00 00 09 01 00 T 22 03 00 00 R 00 00 01 00 T 22 03 00 00 21 0C 00 39 4D 44 DD 7E BA DD B6 @@ -343,29 +343,29 @@ R 00 00 01 00 T 42 03 00 00 R 00 00 01 00 T 42 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 14 00 02 0A 14 00 +R 00 00 01 00 2B 05 13 00 02 0A 13 00 T 48 03 00 00 00 00 00 00 7D B4 28 3E -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 4E 03 00 00 R 00 00 01 00 T 4E 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 2F 00 02 0B 2F 00 +R 00 00 01 00 2B 05 1B 00 02 0B 1B 00 T 54 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 22 00 02 0B 22 00 T 5A 03 00 00 CD 00 00 00 00 F1 F1 DD 5E BC DD -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T 63 03 00 00 56 BD 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 2B 00 +R 00 00 01 00 2B 07 2C 00 T 68 03 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 2B 00 02 09 00 00 +R 00 00 01 00 02 04 2C 00 02 09 01 00 T 6F 03 00 00 BA DD 56 BB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 2B 00 +R 00 00 01 00 2B 09 2C 00 T 76 03 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 2B 00 02 09 00 00 +R 00 00 01 00 02 04 2C 00 02 09 01 00 T 7D 03 00 00 B4 DD 56 B5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 18 00 +R 00 00 01 00 2B 09 17 00 T 84 03 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 18 00 02 09 00 00 +R 00 00 01 00 02 04 17 00 02 09 01 00 T 8A 03 00 00 A9 05 00 00 R 00 00 01 00 00 04 01 00 T 8C 03 00 00 @@ -385,7 +385,7 @@ R 00 00 01 00 T BD 03 00 00 DD 4E FE DD 46 FF DD 6E FC DD 66 R 00 00 01 00 T C8 03 00 00 FD CD 00 00 00 00 DD 75 FC DD 74 -R 00 00 01 00 02 06 0B 00 +R 00 00 01 00 02 06 09 00 T D1 03 00 00 FD DD 71 FE DD 70 FF R 00 00 01 00 T D8 03 00 00 @@ -397,17 +397,17 @@ R 00 00 01 00 T DF 03 00 00 DD 4E B6 DD 46 B7 DD 5E BA DD 56 R 00 00 01 00 T EA 03 00 00 BB 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 01 00 02 0B 01 00 +R 00 00 01 00 2B 06 02 00 02 0B 02 00 T F0 03 00 00 CD 00 00 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T F9 03 00 00 7D B4 CA 1C 05 00 00 R 00 00 01 00 00 07 01 00 T FE 03 00 00 R 00 00 01 00 T FE 03 00 00 DD 5E B6 DD 56 B7 3E 00 00 00 00 -R 00 00 01 00 2B 0B 18 00 +R 00 00 01 00 2B 0B 17 00 T 06 04 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 18 00 02 0A 00 00 +R 00 00 01 00 02 05 17 00 02 0A 01 00 T 0D 04 00 00 07 00 DD 4E FA DD 46 FB 09 7E 23 R 00 00 01 00 T 18 04 00 00 B6 20 23 21 05 00 DD 4E FA DD 46 @@ -423,9 +423,9 @@ R 00 00 01 00 T 2A 04 00 00 DD 4E FA DD 46 FB DD 5E BC DD 56 R 00 00 01 00 T 35 04 00 00 BD 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T 3B 04 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T 3E 04 00 00 R 00 00 01 00 T 3E 04 00 00 21 0F 00 DD 4E FA DD 46 FB 09 7E @@ -437,9 +437,9 @@ R 00 00 01 00 T 5C 04 00 00 FB 04 00 00 DD 4E FA DD 46 FB DD R 00 00 01 00 00 04 01 00 T 65 04 00 00 5E B4 DD 56 B5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 02 00 +R 00 00 01 00 2B 0A 03 00 T 6D 04 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 02 00 02 09 00 00 +R 00 00 01 00 02 04 03 00 02 09 01 00 T 74 04 00 00 CA FB 04 00 00 R 00 00 01 00 00 05 01 00 T 77 04 00 00 @@ -453,15 +453,15 @@ R 00 00 01 00 T 82 04 00 00 23 46 23 5E 23 56 D5 C5 01 00 00 R 00 00 01 00 T 8D 04 00 00 21 00 00 CD 00 00 00 00 30 38 21 -R 00 00 01 00 02 08 1C 00 +R 00 00 01 00 02 08 1A 00 T 96 04 00 00 09 00 DD 4E FA DD 46 FB 09 DD 4E R 00 00 01 00 T A1 04 00 00 FE DD 46 FF DD 5E FC DD 56 FD CD R 00 00 01 00 T AC 04 00 00 00 00 00 00 C5 D5 01 00 00 21 -R 00 00 01 00 02 04 2C 00 +R 00 00 01 00 02 04 2D 00 T B4 04 00 00 00 00 CD 00 00 00 00 38 12 -R 00 00 01 00 02 07 1C 00 +R 00 00 01 00 02 07 1A 00 T BB 04 00 00 R 00 00 01 00 T BB 04 00 00 @@ -479,7 +479,7 @@ R 00 00 01 00 T D8 04 00 00 23 B6 23 B6 23 B6 20 07 2A R 00 00 01 00 T E1 04 00 00 00 00 00 00 7D B4 20 14 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 04 00 T E7 04 00 00 R 00 00 01 00 T E7 04 00 00 @@ -489,9 +489,9 @@ R 00 00 01 00 T E7 04 00 00 DD 4E FA DD 46 FB DD 5E BC DD 56 R 00 00 01 00 T F2 04 00 00 BD 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T F8 04 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T FB 04 00 00 R 00 00 01 00 T FB 04 00 00 @@ -499,13 +499,13 @@ R 00 00 01 00 T FB 04 00 00 DD 6E FA DD 66 FB DD 75 B6 DD 74 R 00 00 01 00 T 06 05 00 00 B7 2A 00 00 00 00 7D B4 20 0B -R 00 00 01 00 02 06 2D 00 +R 00 00 01 00 02 06 2E 00 T 0E 05 00 00 R 00 00 01 00 T 0E 05 00 00 11 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 13 00 +R 00 00 01 00 2B 08 12 00 T 14 05 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 13 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 01 00 T 19 05 00 00 R 00 00 01 00 T 19 05 00 00 C3 DF 03 00 00 @@ -513,71 +513,71 @@ R 00 00 01 00 00 05 01 00 T 1C 05 00 00 R 00 00 01 00 T 1C 05 00 00 DD 5E B6 DD 56 B7 3E 00 00 00 00 -R 00 00 01 00 2B 0B 18 00 +R 00 00 01 00 2B 0B 17 00 T 24 05 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 18 00 02 0A 00 00 +R 00 00 01 00 02 05 17 00 02 0A 01 00 T 2B 05 00 00 5E BC DD 56 BD 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 2B 00 +R 00 00 01 00 2B 0A 2C 00 T 33 05 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 2B 00 02 09 00 00 +R 00 00 01 00 02 04 2C 00 02 09 01 00 T 3A 05 00 00 BA DD 56 BB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 2B 00 +R 00 00 01 00 2B 09 2C 00 T 41 05 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 2B 00 02 09 00 00 +R 00 00 01 00 02 04 2C 00 02 09 01 00 T 48 05 00 00 B4 DD 56 B5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 18 00 +R 00 00 01 00 2B 09 17 00 T 4F 05 00 00 00 00 00 00 CD 00 00 00 00 2A -R 00 00 01 00 02 04 18 00 02 09 00 00 +R 00 00 01 00 02 04 17 00 02 09 01 00 T 55 05 00 00 00 00 00 00 23 22 00 00 00 00 -R 00 00 01 00 02 04 05 00 02 0A 05 00 +R 00 00 01 00 02 04 06 00 02 0A 06 00 T 5B 05 00 00 R 00 00 01 00 T 5B 05 00 00 ED 4B 00 00 00 00 21 00 00 CD -R 00 00 01 00 02 06 10 00 +R 00 00 01 00 02 06 0F 00 T 63 05 00 00 00 00 00 00 30 0D R 00 00 01 00 02 04 21 00 T 67 05 00 00 R 00 00 01 00 T 67 05 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 05 00 2B 0A 13 00 +R 00 00 01 00 02 05 06 00 2B 0A 12 00 T 6D 05 00 00 00 00 00 00 CD 00 00 00 00 18 E7 -R 00 00 01 00 02 04 13 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 01 00 T 74 05 00 00 R 00 00 01 00 T 74 05 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 02 06 16 00 2B 0B 0A 00 +R 00 00 01 00 02 06 15 00 2B 0B 08 00 T 7A 05 00 00 21 00 00 00 00 CD 00 00 00 00 ED -R 00 00 01 00 02 05 0A 00 02 0A 00 00 +R 00 00 01 00 02 05 08 00 02 0A 01 00 T 81 05 00 00 4B 00 00 00 00 DD 5E B8 DD 56 B9 -R 00 00 01 00 02 05 16 00 +R 00 00 01 00 02 05 15 00 T 8A 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 26 00 02 0A 26 00 T 90 05 00 00 00 00 00 00 21 00 00 22 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 96 05 00 00 00 00 00 00 01 00 00 11 -R 00 00 01 00 02 04 05 00 +R 00 00 01 00 02 04 06 00 T 9C 05 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 10 00 2B 09 1B 00 +R 00 00 01 00 02 04 0F 00 2B 09 19 00 T A1 05 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 1B 00 02 09 00 00 +R 00 00 01 00 02 04 19 00 02 09 01 00 T A7 05 00 00 AF 00 00 00 R 00 00 01 00 00 04 01 00 T A9 05 00 00 R 00 00 01 00 T A9 05 00 00 DD 5E B8 DD 56 B9 3E 00 00 00 00 -R 00 00 01 00 2B 0B 15 00 +R 00 00 01 00 2B 0B 14 00 T B1 05 00 00 21 00 00 00 00 CD 00 00 00 00 0E -R 00 00 01 00 02 05 15 00 02 0A 00 00 +R 00 00 01 00 02 05 14 00 02 0A 01 00 T B8 05 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 06 00 02 0A 06 00 +R 00 00 01 00 2B 04 2A 00 02 0A 2A 00 T BE 05 00 00 21 FF FF E5 3E 00 00 00 00 21 R 00 00 01 00 2B 09 07 00 T C5 05 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 07 00 02 09 00 00 +R 00 00 01 00 02 04 07 00 02 09 01 00 T CC 05 00 00 E1 21 00 00 22 00 00 00 00 C3 R 00 00 01 00 02 09 28 00 T D4 05 00 00 00 00 00 00 -R 00 00 01 00 02 04 0C 00 +R 00 00 01 00 02 04 0A 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 74 6D 70 00 diff --git a/src/nos/lib/internet_lib/dns_query.rel b/src/nos/lib/internet_lib/dns_query.rel index 6b8037b6..80918428 100644 --- a/src/nos/lib/internet_lib/dns_query.rel +++ b/src/nos/lib/internet_lib/dns_query.rel @@ -8,7 +8,6 @@ S _sendto Ref00000000 S _Dservers Ref00000000 S _Dtrace Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___047c_8f79_dns_5fquery_3a_20qu Ref00000000 S _perror Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 @@ -17,10 +16,10 @@ S _free Ref00000000 S _free_rr Ref00000000 S ?L_MUL_L03 Ref00000000 S _dfile_update Ref00000000 +S ___0517_8f79_dns_5fquery_3a_20qu Ref00000000 S _dlist_add Ref00000000 S _close_s Ref00000000 S ?SL_CMP_L03 Ref00000000 -S ___047d_6da5_dns_5fquery_3a_20re Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _msclock Ref00000000 S ?L_INCASG_L03 Ref00000000 @@ -41,6 +40,7 @@ S _Dfile_updater Ref00000000 S _recv_mbuf Ref00000000 S ?L_LSHASG_L03 Ref00000000 S _dcache_update Ref00000000 +S ___0518_6da5_dns_5fquery_3a_20re Ref00000000 S _newproc Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 63F flags 0 @@ -49,7 +49,7 @@ A CSTR size 26 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 D8 FF AF DD 77 E6 -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 14 00 T 09 00 00 00 DD 77 E7 2A 00 00 00 00 DD 75 DC R 00 00 01 00 02 08 05 00 T 12 00 00 00 DD 74 DD 7D B4 20 06 @@ -65,7 +65,7 @@ R 00 00 01 00 T 1F 00 00 00 21 14 00 DD 4E DC DD 46 DD 09 CD R 00 00 01 00 T 2A 00 00 00 00 00 00 00 21 00 00 E5 01 01 00 -R 00 00 01 00 02 04 17 00 +R 00 00 01 00 02 04 16 00 T 33 00 00 00 11 00 00 3E 00 00 00 00 21 R 00 00 01 00 2B 08 03 00 T 39 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD @@ -93,25 +93,25 @@ R 00 00 01 00 T 99 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 00 00 02 09 00 00 T 9E 00 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 01 00 2B 0A 08 00 +R 00 00 01 00 02 04 01 00 2B 0A 10 00 T A4 00 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 08 00 2B 0B 1C 00 +R 00 00 01 00 02 05 10 00 2B 0B 1B 00 T AA 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 1C 00 02 0A 01 00 +R 00 00 01 00 02 05 1B 00 02 0A 01 00 T B1 00 00 00 F1 F1 F1 R 00 00 01 00 T B4 00 00 00 R 00 00 01 00 T B4 00 00 00 11 00 02 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 19 00 +R 00 00 01 00 2B 08 18 00 T BA 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 19 00 02 09 01 00 +R 00 00 01 00 02 04 18 00 02 09 01 00 T C1 00 00 00 E8 DD 74 E9 01 00 02 C5 E5 DD 4E R 00 00 01 00 T CC 00 00 00 02 DD 46 03 11 00 00 3E R 00 00 01 00 T D4 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 23 00 02 09 23 00 +R 00 00 01 00 2B 04 22 00 02 09 22 00 T D9 00 00 00 00 00 00 00 F1 F1 DD 75 EA DD 74 R 00 00 01 00 02 04 01 00 T E2 00 00 00 EB 01 10 00 C5 21 16 00 39 E5 21 @@ -129,15 +129,15 @@ R 00 00 01 00 T 14 01 00 00 R 00 00 01 00 T 14 01 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 09 00 +R 00 00 01 00 00 05 02 00 2B 0A 08 00 T 1A 01 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 09 00 02 09 01 00 +R 00 00 01 00 02 04 08 00 02 09 01 00 T 1F 01 00 00 R 00 00 01 00 T 1F 01 00 00 DD 5E E8 DD 56 E9 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0D 00 +R 00 00 01 00 2B 0B 0C 00 T 27 01 00 00 21 00 00 00 00 CD 00 00 00 00 AF -R 00 00 01 00 02 05 0D 00 02 0A 01 00 +R 00 00 01 00 02 05 0C 00 02 0A 01 00 T 2E 01 00 00 DD 77 E8 DD 77 E9 21 08 00 DD 4E R 00 00 01 00 T 39 01 00 00 DC DD 46 DD 09 5E 23 56 23 4E 23 @@ -157,21 +157,21 @@ R 00 00 01 00 T 6B 01 00 00 R 00 00 01 00 T 6B 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 22 00 02 0A 22 00 +R 00 00 01 00 2B 05 21 00 02 0A 21 00 T 71 01 00 00 00 00 00 00 21 00 00 E5 21 00 00 R 00 00 01 00 02 04 01 00 T 7A 01 00 00 E5 21 00 00 E5 21 06 00 39 4D 44 R 00 00 01 00 T 85 01 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 26 00 +R 00 00 01 00 2B 0B 25 00 T 8D 01 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 26 00 02 0A 01 00 +R 00 00 01 00 02 05 25 00 02 0A 01 00 T 94 01 00 00 F1 F1 DD 75 FE DD 74 FF 01 00 00 R 00 00 01 00 T 9F 01 00 00 11 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 22 00 +R 00 00 01 00 2B 08 21 00 T A5 01 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 22 00 02 09 01 00 +R 00 00 01 00 02 04 21 00 02 09 01 00 T AC 01 00 00 FC DD 56 FD 3E 00 00 00 00 21 R 00 00 01 00 2B 09 12 00 T B3 01 00 00 00 00 00 00 CD 00 00 00 00 2A @@ -180,8 +180,8 @@ T B9 01 00 00 00 00 00 00 7D B4 28 33 R 00 00 01 00 02 04 06 00 T BF 01 00 00 R 00 00 01 00 -T BF 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 7E -R 00 00 01 00 02 09 0A 00 +T BF 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 7E +R 00 00 01 00 02 09 09 00 T C8 01 00 00 23 B6 20 1B R 00 00 01 00 T CC 01 00 00 @@ -189,17 +189,17 @@ R 00 00 01 00 T CC 01 00 00 DD 6E FE DD 66 FF E5 0E R 00 00 01 00 T D4 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 14 00 02 0A 14 00 +R 00 00 01 00 2B 04 28 00 02 0A 28 00 T DA 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1C 00 02 0A 1C 00 +R 00 00 01 00 2B 05 1B 00 02 0A 1B 00 T E0 01 00 00 00 00 00 00 F1 F1 F1 18 0B R 00 00 01 00 02 04 01 00 T E7 01 00 00 R 00 00 01 00 T E7 01 00 00 11 0E 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 09 00 +R 00 00 01 00 00 05 02 00 2B 0A 08 00 T ED 01 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 09 00 02 09 01 00 +R 00 00 01 00 02 04 08 00 02 09 01 00 T F2 01 00 00 R 00 00 01 00 T F2 01 00 00 @@ -207,15 +207,15 @@ R 00 00 01 00 T F2 01 00 00 DD 4E FE DD 46 FF 21 00 00 CD R 00 00 01 00 T FC 01 00 00 00 00 00 00 30 02 -R 00 00 01 00 02 04 1A 00 +R 00 00 01 00 02 04 19 00 T 00 02 00 00 R 00 00 01 00 T 00 02 00 00 18 6D R 00 00 01 00 T 02 02 00 00 R 00 00 01 00 -T 02 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 3E -R 00 00 01 00 02 09 0A 00 +T 02 02 00 00 21 4F 00 ED 4B 00 00 00 00 09 3E +R 00 00 01 00 02 09 09 00 T 0B 02 00 00 6B AE 23 B6 20 06 R 00 00 01 00 T 11 02 00 00 @@ -227,7 +227,7 @@ R 00 00 01 00 T 17 02 00 00 21 08 00 DD 4E DC DD 46 DD 09 3E R 00 00 01 00 T 22 02 00 00 01 CD 00 00 00 00 DD 6E DC DD 66 -R 00 00 01 00 02 06 27 00 +R 00 00 01 00 02 06 26 00 T 2B 02 00 00 DD 23 23 46 23 66 68 DD 75 DC DD R 00 00 01 00 T 36 02 00 00 74 DD 7D B4 20 30 @@ -237,13 +237,13 @@ R 00 00 01 00 T 3C 02 00 00 2A 00 00 00 00 DD 75 DC DD 74 DD R 00 00 01 00 02 05 05 00 T 45 02 00 00 ED 4B 00 00 00 00 21 00 00 CD -R 00 00 01 00 02 06 24 00 +R 00 00 01 00 02 06 23 00 T 4D 02 00 00 00 00 00 00 30 1B DD 4E E6 DD 46 -R 00 00 01 00 02 04 1A 00 +R 00 00 01 00 02 04 19 00 T 56 02 00 00 E7 03 DD 71 E6 DD 70 E7 2A R 00 00 01 00 T 5F 02 00 00 00 00 00 00 CD 00 00 00 00 30 06 -R 00 00 01 00 02 04 24 00 02 09 1A 00 +R 00 00 01 00 02 04 23 00 02 09 19 00 T 66 02 00 00 R 00 00 01 00 T 66 02 00 00 @@ -263,21 +263,21 @@ R 00 00 01 00 T 6F 02 00 00 21 18 00 DD 4E DC DD 46 DD 09 CD R 00 00 01 00 T 7A 02 00 00 00 00 00 00 11 19 00 3E -R 00 00 01 00 02 04 17 00 +R 00 00 01 00 02 04 16 00 T 80 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 19 00 02 09 19 00 +R 00 00 01 00 2B 04 18 00 02 09 18 00 T 85 02 00 00 00 00 00 00 DD 75 DA DD 74 DB 21 R 00 00 01 00 02 04 01 00 T 8E 02 00 00 00 00 39 4D 44 DD 5E DA DD 56 DB R 00 00 01 00 T 99 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1B 00 02 0A 1B 00 +R 00 00 01 00 2B 05 1A 00 02 0A 1A 00 T 9F 02 00 00 00 00 00 00 DD 6E DA DD 66 DB 4E R 00 00 01 00 02 04 01 00 T A8 02 00 00 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 16 00 +R 00 00 01 00 2B 08 15 00 T AE 02 00 00 00 00 00 00 CD 00 00 00 00 C1 A7 -R 00 00 01 00 02 04 16 00 02 09 01 00 +R 00 00 01 00 02 04 15 00 02 09 01 00 T B5 02 00 00 ED 42 01 00 00 DD 75 DE DD 74 DF R 00 00 01 00 T C0 02 00 00 DD 71 E0 DD 70 E1 C5 E5 21 0C 00 @@ -315,7 +315,7 @@ R 00 00 01 00 T 4B 03 00 00 5E 23 56 23 4E 23 46 C5 D5 01 R 00 00 01 00 T 55 03 00 00 00 00 21 07 00 CD 00 00 00 00 C5 -R 00 00 01 00 02 0A 0F 00 +R 00 00 01 00 02 0A 0E 00 T 5E 03 00 00 E5 DD 6E DE DD 66 DF C1 09 EB DD R 00 00 01 00 T 69 03 00 00 6E E0 DD 66 E1 C1 ED 4A E5 D5 21 @@ -323,7 +323,7 @@ R 00 00 01 00 T 74 03 00 00 04 00 C1 09 EB 21 00 00 C1 ED 4A R 00 00 01 00 T 7F 03 00 00 4D 44 EB 3E 03 CD 00 00 00 00 E5 -R 00 00 01 00 02 0A 21 00 +R 00 00 01 00 02 0A 20 00 T 88 03 00 00 21 0C 00 DD 5E DC DD 56 DD 19 D1 R 00 00 01 00 T 93 03 00 00 73 23 72 23 71 23 70 21 10 00 DD @@ -333,7 +333,7 @@ R 00 00 01 00 T A9 03 00 00 23 46 C5 D5 01 00 00 21 03 00 CD R 00 00 01 00 T B4 03 00 00 00 00 00 00 C5 E5 DD 6E E2 DD 66 -R 00 00 01 00 02 04 0F 00 +R 00 00 01 00 02 04 0E 00 T BD 03 00 00 E3 C1 09 EB DD 6E E4 DD 66 E5 C1 R 00 00 01 00 T C8 03 00 00 ED 4A E5 D5 21 02 00 C1 09 EB 21 @@ -341,7 +341,7 @@ R 00 00 01 00 T D3 03 00 00 00 00 C1 ED 4A 4D 44 EB 3E 02 CD R 00 00 01 00 T DE 03 00 00 00 00 00 00 E5 21 10 00 DD 5E DC -R 00 00 01 00 02 04 21 00 +R 00 00 01 00 02 04 20 00 T E7 03 00 00 DD 56 DD 19 D1 73 23 72 23 71 23 R 00 00 01 00 T F2 03 00 00 70 21 10 00 DD 4E DC DD 46 DD 09 @@ -349,7 +349,7 @@ R 00 00 01 00 T FD 03 00 00 5E 23 56 23 4E 23 46 EB 3E 02 CD R 00 00 01 00 T 08 04 00 00 00 00 00 00 C5 E5 21 0C 00 DD 4E -R 00 00 01 00 02 04 0C 00 +R 00 00 01 00 02 04 0B 00 T 11 04 00 00 DC DD 46 DD 09 4E 23 46 23 5E 23 R 00 00 01 00 T 1C 04 00 00 56 69 60 C1 09 EB C1 ED 4A 4D 44 @@ -363,9 +363,9 @@ R 00 00 01 00 T 46 04 00 00 R 00 00 01 00 T 46 04 00 00 DD 5E DC DD 56 DD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1E 00 +R 00 00 01 00 2B 0B 1D 00 T 4E 04 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 1E 00 02 0A 01 00 +R 00 00 01 00 02 05 1D 00 02 0A 01 00 T 55 04 00 00 5E DC DD 56 DD 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 11 00 T 5D 04 00 00 00 00 00 00 CD 00 00 00 00 @@ -381,7 +381,7 @@ R 00 00 01 00 T 74 04 00 00 66 DF E5 DD 5E DA DD 56 DB 3E R 00 00 01 00 T 7E 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 18 00 02 09 18 00 +R 00 00 01 00 2B 04 17 00 02 09 17 00 T 83 04 00 00 00 00 00 00 E1 E1 R 00 00 01 00 02 04 01 00 T 87 04 00 00 @@ -469,9 +469,9 @@ R 00 00 01 00 T 72 05 00 00 21 11 00 DD 4E DA DD 46 DB 09 5E R 00 00 01 00 T 7D 05 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0E 00 +R 00 00 01 00 2B 07 0D 00 T 82 05 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0E 00 02 09 01 00 +R 00 00 01 00 02 04 0D 00 02 09 01 00 T 88 05 00 00 11 00 09 AF 77 23 77 R 00 00 01 00 T 8F 05 00 00 @@ -479,31 +479,31 @@ R 00 00 01 00 T 8F 05 00 00 21 17 00 DD 4E DA DD 46 DB 09 5E R 00 00 01 00 T 9A 05 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 28 00 +R 00 00 01 00 2B 07 27 00 T 9F 05 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 28 00 02 09 01 00 +R 00 00 01 00 02 04 27 00 02 09 01 00 T A5 05 00 00 15 00 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 28 00 +R 00 00 01 00 2B 0B 27 00 T AD 05 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 28 00 02 0A 01 00 +R 00 00 01 00 02 05 27 00 02 0A 01 00 T B4 05 00 00 13 00 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 28 00 +R 00 00 01 00 2B 0B 27 00 T BC 05 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 28 00 02 0A 01 00 +R 00 00 01 00 02 05 27 00 02 0A 01 00 T C3 05 00 00 11 00 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 28 00 +R 00 00 01 00 2B 0B 27 00 T CB 05 00 00 21 00 00 00 00 CD 00 00 00 00 2A -R 00 00 01 00 02 05 28 00 02 0A 01 00 +R 00 00 01 00 02 05 27 00 02 0A 01 00 T D2 05 00 00 00 00 00 00 7C 07 9F 4F 41 C5 E5 -R 00 00 01 00 02 04 1D 00 +R 00 00 01 00 02 04 1C 00 T DB 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 02 00 02 0A 02 00 T E1 05 00 00 00 00 00 00 59 50 C1 09 EB C1 ED R 00 00 01 00 02 04 01 00 T EA 05 00 00 4A 4D 44 EB 22 00 00 00 00 ED 43 -R 00 00 01 00 02 09 20 00 +R 00 00 01 00 02 09 1F 00 T F3 05 00 00 02 00 00 00 2A 00 00 00 00 7D B4 -R 00 00 01 00 02 04 20 00 02 09 25 00 +R 00 00 01 00 02 04 1F 00 02 09 24 00 T FA 05 00 00 20 2F R 00 00 01 00 T FC 05 00 00 @@ -511,21 +511,21 @@ R 00 00 01 00 T FC 05 00 00 21 00 00 E5 21 00 00 E5 21 00 00 R 00 00 01 00 T 07 06 00 00 E5 21 00 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 10 00 +R 00 00 01 00 2B 0A 0F 00 T 0F 06 00 00 21 00 00 00 00 E5 01 00 02 11 -R 00 00 01 00 02 05 10 00 +R 00 00 01 00 02 05 0F 00 T 17 06 00 00 18 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 00 04 02 00 2B 09 29 00 T 1C 06 00 00 00 00 00 00 CD 00 00 00 00 EB 21 R 00 00 01 00 02 04 29 00 02 09 01 00 T 23 06 00 00 0C 00 39 F9 EB 22 00 00 00 00 -R 00 00 01 00 02 0A 25 00 +R 00 00 01 00 02 0A 24 00 T 2B 06 00 00 R 00 00 01 00 T 2B 06 00 00 DD 5E DA DD 56 DB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0D 00 +R 00 00 01 00 2B 0B 0C 00 T 33 06 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0D 00 02 0A 01 00 +R 00 00 01 00 02 05 0C 00 02 0A 01 00 T 3A 06 00 00 00 00 R 00 00 01 00 T 3C 06 00 00 diff --git a/src/nos/lib/internet_lib/docacheclean.rel b/src/nos/lib/internet_lib/docacheclean.rel index ee344884..5739678b 100644 --- a/src/nos/lib/internet_lib/docacheclean.rel +++ b/src/nos/lib/internet_lib/docacheclean.rel @@ -5,7 +5,7 @@ S _Dfile_clean Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ___0479_684a_discard_20expired_2 Ref00000000 +S ___0514_684a_discard_20expired_2 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _setbool Ref00000000 A _DEFAULT size 0 flags 0 diff --git a/src/nos/lib/internet_lib/docachesize.rel b/src/nos/lib/internet_lib/docachesize.rel index 264cff19..c6e2ff7c 100644 --- a/src/nos/lib/internet_lib/docachesize.rel +++ b/src/nos/lib/internet_lib/docachesize.rel @@ -1,7 +1,7 @@ XL4 H 2 areas B global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___04fc_69ba_memory_20cache_20si Ref00000000 +S ___05c1_69ba_memory_20cache_20si Ref00000000 S _Dcache_size Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _setint Ref00000000 diff --git a/src/nos/lib/internet_lib/docachewait.rel b/src/nos/lib/internet_lib/docachewait.rel index 911e8c78..1219f1ba 100644 --- a/src/nos/lib/internet_lib/docachewait.rel +++ b/src/nos/lib/internet_lib/docachewait.rel @@ -1,8 +1,8 @@ XL4 H 2 areas 9 global symbols -S ___05ea_43a3_time_20before_20fil Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___06c7_43a3_time_20before_20fil Ref00000000 S _setint Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 @@ -16,10 +16,10 @@ R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 C5 D5 0E R 00 00 01 00 02 05 05 00 T 06 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 00 00 02 0A 00 00 +R 00 00 01 00 2B 04 02 00 02 0A 02 00 T 0C 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 05 06 00 2B 0A 03 00 T 12 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 02 09 01 00 +R 00 00 01 00 02 04 03 00 02 09 00 00 T 19 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 07 02 00 +R 00 00 01 00 02 07 01 00 diff --git a/src/nos/lib/internet_lib/dodnsadd.rel b/src/nos/lib/internet_lib/dodnsadd.rel index 0410f754..060627d7 100644 --- a/src/nos/lib/internet_lib/dodnsadd.rel +++ b/src/nos/lib/internet_lib/dodnsadd.rel @@ -5,17 +5,17 @@ S _add_nameserver Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 -S ___0368_4784_Resolver_20_25s_20u Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___03eb_4784_Resolver_20_25s_20u Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 60 flags 0 S _dodnsadd Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF 03 03 0A 5F -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 05 00 T 09 00 00 00 03 0A 57 3E 00 00 00 00 21 R 00 00 01 00 2B 08 00 00 T 0F 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 @@ -29,11 +29,11 @@ R 00 00 01 00 T 26 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T 31 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 05 00 +R 00 00 01 00 2B 06 08 00 T 36 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 05 00 2B 0A 07 00 +R 00 00 01 00 02 04 08 00 2B 0A 06 00 T 3C 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 07 00 02 09 02 00 +R 00 00 01 00 02 04 06 00 02 09 02 00 T 43 00 00 00 F1 21 01 00 18 14 R 00 00 01 00 T 49 00 00 00 diff --git a/src/nos/lib/internet_lib/dodnsdrop.rel b/src/nos/lib/internet_lib/dodnsdrop.rel index 57b6a4cc..d3107c63 100644 --- a/src/nos/lib/internet_lib/dodnsdrop.rel +++ b/src/nos/lib/internet_lib/dodnsdrop.rel @@ -4,10 +4,10 @@ S _resolve Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _Dservers Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___038a_ee7e_Not_20found_0a Ref00000000 S .__.ABS. Def00000000 S _free Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___0318_ee7e_Not_20found_0a Ref00000000 S __printf Ref00000000 S _dlist_drop Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 @@ -17,7 +17,7 @@ S _dodnsdrop Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF 03 03 0A 5F -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 07 00 T 09 00 00 00 03 0A 57 3E 00 00 00 00 21 R 00 00 01 00 2B 08 00 00 T 0F 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 @@ -57,7 +57,7 @@ R 00 00 01 00 T 78 00 00 00 R 00 00 01 00 T 78 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0B 07 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 T 7E 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 08 00 02 0B 08 00 T 84 00 00 00 CD 00 00 00 00 F1 F1 21 01 00 18 @@ -71,9 +71,9 @@ R 00 00 01 00 2B 0B 09 00 T 96 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 09 00 02 0A 01 00 T 9D 00 00 00 5E FA DD 56 FB 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 05 00 +R 00 00 01 00 2B 0A 06 00 T A5 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 05 00 02 09 01 00 +R 00 00 01 00 02 04 06 00 02 09 01 00 T AB 00 00 00 00 00 R 00 00 01 00 T AD 00 00 00 diff --git a/src/nos/lib/internet_lib/dodnslist.rel b/src/nos/lib/internet_lib/dodnslist.rel index 11636145..7959fd32 100644 --- a/src/nos/lib/internet_lib/dodnslist.rel +++ b/src/nos/lib/internet_lib/dodnslist.rel @@ -4,11 +4,11 @@ S _inet_ntoa Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _Dservers Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___011b_e920__25_2d20s_258lu_258 Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___0102_e920__25_2d20s_258lu_258 Ref00000000 +S ___0406_afab_Server_20address_20 Ref00000000 S __printf Ref00000000 -S ___0383_afab_Server_20address_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size D2 flags 0 @@ -16,11 +16,11 @@ S _dodnslist Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 1E -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 06 00 T 06 00 00 00 00 00 00 00 D5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 08 00 02 0A 08 00 +R 00 00 01 00 2B 04 07 00 02 0A 07 00 T 0C 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 +R 00 00 01 00 2B 05 08 00 02 0A 08 00 T 12 00 00 00 00 00 00 00 F1 F1 2A 00 00 00 00 R 00 00 01 00 02 04 01 00 02 0B 02 00 T 19 00 00 00 DD 75 FE DD 74 FF @@ -56,9 +56,9 @@ R 00 00 01 00 2B 07 00 00 T 9B 00 00 00 00 00 00 00 CD 00 00 00 00 E5 0E R 00 00 01 00 02 04 00 00 02 09 01 00 T A2 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 06 00 02 0A 06 00 +R 00 00 01 00 2B 04 04 00 02 0A 04 00 T A8 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 +R 00 00 01 00 2B 05 08 00 02 0A 08 00 T AE 00 00 00 00 00 00 00 EB 21 1A 00 39 F9 EB R 00 00 01 00 02 04 01 00 T B7 00 00 00 DD 6E FE DD 66 FF 23 23 46 23 66 diff --git a/src/nos/lib/internet_lib/dodnsretry.rel b/src/nos/lib/internet_lib/dodnsretry.rel index 14819a7b..5bbd7536 100644 --- a/src/nos/lib/internet_lib/dodnsretry.rel +++ b/src/nos/lib/internet_lib/dodnsretry.rel @@ -1,11 +1,11 @@ XL4 H 2 areas 9 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___05ac_6f48_server_20retries Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _setint Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 +S ___0686_6f48_server_20retries Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _Dserver_retries Ref00000000 A _DEFAULT size 0 flags 0 @@ -14,12 +14,12 @@ S _dodnsretry Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 C5 D5 0E -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 04 00 T 06 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 01 00 02 0A 01 00 +R 00 00 01 00 2B 04 05 00 02 0A 05 00 T 0C 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 07 00 2B 0A 03 00 +R 00 00 01 00 02 05 07 00 2B 0A 02 00 T 12 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 02 09 00 00 +R 00 00 01 00 02 04 02 00 02 09 00 00 T 19 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 07 02 00 +R 00 00 01 00 02 07 01 00 diff --git a/src/nos/lib/internet_lib/dodnstrace.rel b/src/nos/lib/internet_lib/dodnstrace.rel index 50854e2e..89842cc0 100644 --- a/src/nos/lib/internet_lib/dodnstrace.rel +++ b/src/nos/lib/internet_lib/dodnstrace.rel @@ -3,9 +3,9 @@ H 2 areas 9 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _Dtrace Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___0687_f0af_server_20trace Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ___05ad_f0af_server_20trace Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _setbool Ref00000000 A _DEFAULT size 0 flags 0 @@ -14,9 +14,9 @@ S _dodnstrace Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 C5 D5 0E -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T 06 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T 0C 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 05 01 00 2B 0A 07 00 T 12 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 diff --git a/src/nos/lib/internet_lib/doirtt.rel b/src/nos/lib/internet_lib/doirtt.rel index 2d5f975e..d53e88ef 100644 --- a/src/nos/lib/internet_lib/doirtt.rel +++ b/src/nos/lib/internet_lib/doirtt.rel @@ -2,13 +2,13 @@ XL4 H 2 areas D global symbols S _inet_ntoa Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0167_db35__25s_3a_20srtt_20_2 Ref00000000 +S ___0193_db35__25s_3a_20srtt_20_2 Ref00000000 S _Tcp_irtt Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S _Tcp_rtt Ref00000000 +S ___0419_70e7_TCP_20default_20irt Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___0394_70e7_TCP_20default_20irt Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _setlong Ref00000000 @@ -18,11 +18,11 @@ S _doirtt Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF C5 DD 6E 02 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 08 00 T 09 00 00 00 DD 66 03 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 08 00 +R 00 00 01 00 2B 09 07 00 T 11 00 00 00 00 00 00 00 E5 11 00 00 00 00 3E -R 00 00 01 00 02 04 08 00 02 0A 03 00 +R 00 00 01 00 02 04 07 00 02 0A 03 00 T 18 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 1D 00 00 00 00 00 00 00 F1 F1 F1 F1 01 02 80 diff --git a/src/nos/lib/internet_lib/domss.rel b/src/nos/lib/internet_lib/domss.rel index cbac90fe..7180776f 100644 --- a/src/nos/lib/internet_lib/domss.rel +++ b/src/nos/lib/internet_lib/domss.rel @@ -1,7 +1,7 @@ XL4 H 2 areas 9 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0393_fa23_TCP_20MSS Ref00000000 +S ___0418_fa23_TCP_20MSS Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Tcp_mss Ref00000000 S .__.ABS. Def00000000 diff --git a/src/nos/lib/internet_lib/dosuffix.rel b/src/nos/lib/internet_lib/dosuffix.rel index 7c5ec138..f396bdd6 100644 --- a/src/nos/lib/internet_lib/dosuffix.rel +++ b/src/nos/lib/internet_lib/dosuffix.rel @@ -1,7 +1,7 @@ XL4 H 2 areas B global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0139_7643__25s_0a Ref00000000 +S ___0154_7643__25s_0a Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _strdupw Ref00000000 S _Dsuffix Ref00000000 diff --git a/src/nos/lib/internet_lib/dosyndata.rel b/src/nos/lib/internet_lib/dosyndata.rel index bdf6c32c..171d99f3 100644 --- a/src/nos/lib/internet_lib/dosyndata.rel +++ b/src/nos/lib/internet_lib/dosyndata.rel @@ -1,10 +1,10 @@ XL4 H 2 areas 9 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0397_b0d7_TCP_20syn_2bdata_20 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 +S ___041c_b0d7_TCP_20syn_2bdata_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _setbool Ref00000000 S _Tcp_syndata Ref00000000 @@ -14,12 +14,12 @@ S _dosyndata Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 C5 D5 0E -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 03 00 T 06 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 01 00 02 0A 01 00 +R 00 00 01 00 2B 04 04 00 02 0A 04 00 T 0C 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 05 07 00 2B 0A 06 00 T 12 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 06 00 02 09 00 00 T 19 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 07 02 00 +R 00 00 01 00 02 07 01 00 diff --git a/src/nos/lib/internet_lib/dotcptr.rel b/src/nos/lib/internet_lib/dotcptr.rel index aa02cbe4..dc3e7b4b 100644 --- a/src/nos/lib/internet_lib/dotcptr.rel +++ b/src/nos/lib/internet_lib/dotcptr.rel @@ -3,9 +3,9 @@ H 2 areas 9 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Tcp_trace Ref00000000 +S ___041b_c668_TCP_20state_20traci Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ___0396_c668_TCP_20state_20traci Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _setbool Ref00000000 A _DEFAULT size 0 flags 0 @@ -14,9 +14,9 @@ S _dotcptr Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 C5 D5 0E -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T 06 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T 0C 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 05 02 00 2B 0A 07 00 T 12 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 diff --git a/src/nos/lib/internet_lib/dotimestamps.rel b/src/nos/lib/internet_lib/dotimestamps.rel index e6203b9b..a2bd82dc 100644 --- a/src/nos/lib/internet_lib/dotimestamps.rel +++ b/src/nos/lib/internet_lib/dotimestamps.rel @@ -1,11 +1,11 @@ XL4 H 2 areas 9 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___041d_43bd_TCP_20timestamps Ref00000000 S _Tcp_tstamps Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ___0398_43bd_TCP_20timestamps Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _setbool Ref00000000 A _DEFAULT size 0 flags 0 @@ -14,12 +14,12 @@ S _dotimestamps Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 C5 D5 0E -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T 06 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 +R 00 00 01 00 2B 04 01 00 02 0A 01 00 T 0C 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 01 00 2B 0A 07 00 +R 00 00 01 00 02 05 02 00 2B 0A 07 00 T 12 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 07 00 02 09 00 00 T 19 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 07 02 00 +R 00 00 01 00 02 07 03 00 diff --git a/src/nos/lib/internet_lib/dowindow.rel b/src/nos/lib/internet_lib/dowindow.rel index 660c5f25..fbad28b9 100644 --- a/src/nos/lib/internet_lib/dowindow.rel +++ b/src/nos/lib/internet_lib/dowindow.rel @@ -1,12 +1,12 @@ XL4 H 2 areas 9 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0399_5b74_TCP_20window Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Tcp_window Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___041e_5b74_TCP_20window Ref00000000 S _setshort Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 1E flags 0 @@ -14,12 +14,12 @@ S _dowindow Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 C5 D5 0E -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 04 00 T 06 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 01 00 02 0A 01 00 +R 00 00 01 00 2B 04 06 00 02 0A 06 00 T 0C 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 03 00 2B 0A 07 00 +R 00 00 01 00 02 05 02 00 2B 0A 07 00 T 12 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 07 00 02 09 00 00 T 19 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 07 02 00 +R 00 00 01 00 02 07 01 00 diff --git a/src/nos/lib/internet_lib/dumpdomain.rel b/src/nos/lib/internet_lib/dumpdomain.rel index 15bb2d11..ae314808 100644 --- a/src/nos/lib/internet_lib/dumpdomain.rel +++ b/src/nos/lib/internet_lib/dumpdomain.rel @@ -1,29 +1,29 @@ XL4 H 2 areas 12 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0170_c0bd__25u_20additional_3 Ref00000000 -S ___014e_243b__25s_20type_20_25s_ Ref00000000 S _fflush Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___019f_b843__25u_20questions_3a Ref00000000 +S ___019e_7c48__25u_20authority_3a Ref00000000 +S ___0177_243b__25s_20type_20_25s_ Ref00000000 S _put_rr Ref00000000 +S ___065e_c3ce_response_20id_20_25 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S ___0173_b843__25u_20questions_3a Ref00000000 -S ___0172_7c48__25u_20authority_3a Ref00000000 S _dtype Ref00000000 +S ___019d_7db0__25u_20answers_3a_0 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?SL_DIV_L03 Ref00000000 -S ___0584_c3ce_response_20id_20_25 Ref00000000 S __printf Ref00000000 -S ___0171_7db0__25u_20answers_3a_0 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___019c_c0bd__25u_20additional_3 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 24B flags 0 S _dumpdomain Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF 21 08 00 DD -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T 09 00 00 00 4E 02 DD 46 03 09 5E 16 00 D5 21 R 00 00 01 00 T 14 00 00 00 07 00 09 5E 16 00 D5 21 06 00 09 @@ -39,13 +39,13 @@ R 00 00 01 00 T 4B 00 00 00 E5 21 E8 03 E5 DD 4E 0C DD 46 0D R 00 00 01 00 T 56 00 00 00 DD 6E 0A DD 66 0B CD 00 00 00 00 -R 00 00 01 00 02 0B 0C 00 +R 00 00 01 00 02 0B 0D 00 T 5F 00 00 00 C5 E5 DD 6E 02 DD 66 03 4E 23 46 R 00 00 01 00 T 6A 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 0D 00 +R 00 00 01 00 2B 06 07 00 T 6F 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0D 00 2B 0A 0E 00 +R 00 00 01 00 02 04 07 00 2B 0A 0E 00 T 75 00 00 00 00 00 00 00 CD 00 00 00 00 EB 21 R 00 00 01 00 02 04 0E 00 02 09 00 00 T 7C 00 00 00 18 00 39 F9 EB 21 09 00 DD 4E 02 @@ -53,7 +53,7 @@ R 00 00 01 00 T 87 00 00 00 DD 46 03 09 5E 23 56 D5 1E R 00 00 01 00 T 90 00 00 00 00 00 00 00 D5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 08 00 02 0A 08 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T 96 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T 9C 00 00 00 00 00 00 00 F1 F1 F1 21 11 00 09 @@ -77,9 +77,9 @@ R 00 00 01 00 T D9 00 00 00 D5 DD 6E FE DD 66 FF E5 21 07 00 R 00 00 01 00 T E4 00 00 00 09 5E 23 56 D5 1E 00 00 00 00 D5 -R 00 00 01 00 2B 0A 02 00 +R 00 00 01 00 2B 0A 05 00 T EC 00 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 02 00 2B 0B 0E 00 +R 00 00 01 00 02 05 05 00 2B 0B 0E 00 T F2 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 R 00 00 01 00 02 05 0E 00 02 0A 00 00 T F9 00 00 00 F1 F1 F1 F1 03 03 0A 6F 03 0A 67 @@ -91,9 +91,9 @@ R 00 00 01 00 T 0C 01 00 00 21 0B 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 T 17 01 00 00 23 56 D5 1E 00 00 00 00 D5 21 -R 00 00 01 00 2B 08 0F 00 +R 00 00 01 00 2B 08 0B 00 T 1E 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0F 00 2B 0A 0E 00 +R 00 00 01 00 02 04 0B 00 2B 0A 0E 00 T 24 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 0E 00 02 09 00 00 T 2B 01 00 00 F1 21 13 00 09 46 23 66 68 DD 75 @@ -109,9 +109,9 @@ R 00 00 01 00 T 42 01 00 00 DD 4E FC DD 46 FD 21 40 00 ED 5B R 00 00 01 00 T 4D 01 00 00 00 00 00 00 19 5E 23 56 3E -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 08 00 T 54 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 +R 00 00 01 00 2B 04 06 00 02 09 06 00 T 59 01 00 00 00 00 00 00 DD 6E FC DD 66 FD 23 R 00 00 01 00 02 04 00 00 T 62 01 00 00 23 46 23 66 68 DD 75 FC DD 74 FD @@ -123,9 +123,9 @@ R 00 00 01 00 T 6F 01 00 00 21 0D 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 T 7A 01 00 00 23 56 D5 1E 00 00 00 00 D5 21 -R 00 00 01 00 2B 08 09 00 +R 00 00 01 00 2B 08 04 00 T 81 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 09 00 2B 0A 0E 00 +R 00 00 01 00 02 04 04 00 2B 0A 0E 00 T 87 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 0E 00 02 09 00 00 T 8E 01 00 00 F1 21 15 00 09 46 23 66 68 DD 75 @@ -141,9 +141,9 @@ R 00 00 01 00 T A5 01 00 00 DD 4E FC DD 46 FD 21 40 00 ED 5B R 00 00 01 00 T B0 01 00 00 00 00 00 00 19 5E 23 56 3E -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 08 00 T B7 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 +R 00 00 01 00 2B 04 06 00 02 09 06 00 T BC 01 00 00 00 00 00 00 DD 6E FC DD 66 FD 23 R 00 00 01 00 02 04 00 00 T C5 01 00 00 23 46 23 66 68 DD 75 FC DD 74 FD @@ -155,9 +155,9 @@ R 00 00 01 00 T D2 01 00 00 21 0F 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 T DD 01 00 00 23 56 D5 1E 00 00 00 00 D5 21 -R 00 00 01 00 2B 08 01 00 +R 00 00 01 00 2B 08 10 00 T E4 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 01 00 2B 0A 0E 00 +R 00 00 01 00 02 04 10 00 2B 0A 0E 00 T EA 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 0E 00 02 09 00 00 T F1 01 00 00 F1 21 17 00 09 46 23 66 68 DD 75 @@ -173,9 +173,9 @@ R 00 00 01 00 T 08 02 00 00 DD 4E FC DD 46 FD 21 40 00 ED 5B R 00 00 01 00 T 13 02 00 00 00 00 00 00 19 5E 23 56 3E -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 08 00 T 1A 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 +R 00 00 01 00 2B 04 06 00 02 09 06 00 T 1F 02 00 00 00 00 00 00 DD 6E FC DD 66 FD 23 R 00 00 01 00 02 04 00 00 T 28 02 00 00 23 46 23 66 68 DD 75 FC DD 74 FD @@ -185,10 +185,10 @@ R 00 00 01 00 T 35 02 00 00 R 00 00 01 00 T 35 02 00 00 21 40 00 ED 4B 00 00 00 00 09 5E -R 00 00 01 00 02 09 06 00 +R 00 00 01 00 02 09 08 00 T 3E 02 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 03 00 +R 00 00 01 00 2B 07 01 00 T 43 02 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 03 00 02 09 00 00 +R 00 00 01 00 02 04 01 00 02 09 00 00 T 49 02 00 00 00 00 00 00 -R 00 00 01 00 02 04 04 00 +R 00 00 01 00 02 04 02 00 diff --git a/src/nos/lib/internet_lib/get_reseq.rel b/src/nos/lib/internet_lib/get_reseq.rel index f8e04f00..24ccf0e7 100644 --- a/src/nos/lib/internet_lib/get_reseq.rel +++ b/src/nos/lib/internet_lib/get_reseq.rel @@ -27,17 +27,17 @@ T 1F 00 00 00 21 80 00 DD 4E 02 DD 46 03 09 E5 R 00 00 01 00 T 2A 00 00 00 DD 6E FE DD 66 FF 4E 23 46 E1 71 R 00 00 01 00 -T 35 00 00 00 23 70 21 25 00 DD 4E FE DD 46 FF +T 35 00 00 00 23 70 21 4E 00 DD 4E FE DD 46 FF R 00 00 01 00 T 40 00 00 00 09 56 DD 6E 04 DD 66 05 72 69 60 R 00 00 01 00 -T 4B 00 00 00 23 23 DD 5E 0A DD 56 0B 01 1F 00 +T 4B 00 00 00 23 23 DD 5E 0A DD 56 0B 01 48 00 R 00 00 01 00 -T 56 00 00 00 ED B0 21 21 00 DD 4E FE DD 46 FF +T 56 00 00 00 ED B0 21 4A 00 DD 4E FE DD 46 FF R 00 00 01 00 T 61 00 00 00 09 56 23 66 6A E5 DD 6E 0C DD 66 R 00 00 01 00 -T 6C 00 00 00 0D D1 73 23 72 21 23 00 09 56 23 +T 6C 00 00 00 0D D1 73 23 72 21 4C 00 09 56 23 R 00 00 01 00 T 77 00 00 00 66 6A E5 DD 6E 0E DD 66 0F D1 73 R 00 00 01 00 diff --git a/src/nos/lib/internet_lib/hop.rel b/src/nos/lib/internet_lib/hop.rel index d02ebe67..21c6e2e9 100644 --- a/src/nos/lib/internet_lib/hop.rel +++ b/src/nos/lib/internet_lib/hop.rel @@ -1,91 +1,91 @@ XL4 H 5 areas 58 global symbols S _resolve Ref00000000 -S ___05f5_4f5f_trace Ref00000000 -S ___0285_c794_HOPCHECK_20tracing Ref00000000 +S ___009f_ac28__20_2a_2a_2a Ref00000000 +S ___007f_c997__20_21_3f Ref00000000 S _inet_ntoa Ref00000000 -S ___006e_9a7d__20_25_2d15s Ref00000000 +S ___02c6_9570_HOPCHECK_20start_20 Ref00000000 S _ntohudp Ref00000000 S _ambufw Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___03b5_2057_Too_20many_20sessio Ref00000000 -S ___02da_362b_Must_20be_20_200_20 Ref00000000 +S ___03ed_200a_Resolving_20_25s_2e Ref00000000 +S ___0090_269f__20_25s Ref00000000 S _Unreach Ref00000000 -S ___0203_0003_Can_27t_20create_20 Ref00000000 S _socket Ref00000000 S _logmsg Ref00000000 -S ___02db_2da0_Must_20be_20_3e_3d_ Ref00000000 -S ___0022_a0dd__0a Ref00000000 -S ___007e_98a5__20_28_25ld_20ms_29 Ref00000000 -S ___011b_1703__253d_3a Ref00000000 -S ___0077_269f__20_25s Ref00000000 +S ___06e7_6f25_user_20abort_0a Ref00000000 +S ___010c_60ae__23_20queries_20eac Ref00000000 +S ___0023_a0dd__0a Ref00000000 +S ___04de_40b3_check_20_3chost_3e Ref00000000 +S ___0080_536e__20_21A Ref00000000 +S ___0081_27d1__20_21F Ref00000000 +S ___06d3_3bce_traceroute_20done_3 Ref00000000 +S ___0235_0003_Can_27t_20create_20 Ref00000000 +S ___0083_ab99__20_21N Ref00000000 S _optind Ref00000000 S _newsession Ref00000000 -S ___00f3_60ae__23_20queries_20eac Ref00000000 S _Exceed Ref00000000 -S ___0086_ac28__20_2a_2a_2a Ref00000000 -S ___0066_c997__20_21_3f Ref00000000 -S ___0067_536e__20_21A Ref00000000 -S ___05f6_3bce_traceroute_20done_3 Ref00000000 -S ___0068_27d1__20_21F Ref00000000 +S ___0085_60fd__20_21S Ref00000000 S _send_udp Ref00000000 S _ntohip Ref00000000 -S ___036a_200a_Resolving_20_25s_2e Ref00000000 S _getopt Ref00000000 -S ___0283_9570_HOPCHECK_20start_20 Ref00000000 +S ___0604_29c2_normal_20_28_25s_20 Ref00000000 +S ___010a_ef2d__21_21_20maximum_20 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___0181_c1c3__28hopcheck_29_20IC Ref00000000 +S ___0444_2057_Too_20many_20sessio Ref00000000 +S ___025d_b471_Connect_20failed_0a Ref00000000 +S ___0087_9a7d__20_25_2d15s Ref00000000 S _close Ref00000000 -S ___0609_6f25_user_20abort_0a Ref00000000 +S ___04dd_5ed3_check Ref00000000 S _alert Ref00000000 -S ___0537_29c2_normal_20_28_25s_20 Ref00000000 -S ___00f1_ef2d__21_21_20maximum_20 Ref00000000 +S ___010d_1acc__23_20secs_20to_20w Ref00000000 S ?LEAVE_DIRECT_L09 Ref00000000 -S ___006b_5266__20_21P Ref00000000 -S ___013b_f81b__25s_20 Ref00000000 -S ___00f4_1acc__23_20secs_20to_20w Ref00000000 -S ___00f0_f9eb__21_21_20_25s_20_25 Ref00000000 -S ___0220_b471_Connect_20failed_0a Ref00000000 +S ___05ba_e017_maxwait Ref00000000 +S ___0097_98a5__20_28_25ld_20ms_29 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S ___04f4_7203_maxttl Ref00000000 +S ___02c7_8ef4_HOPCHECK_20to_20_25 Ref00000000 +S ___0135_1703__253d_3a Ref00000000 +S ___0082_ceaf__20_21H Ref00000000 S _ntohicmp Ref00000000 +S ___05b9_7203_maxttl Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S _Current Ref00000000 S _free_rr Ref00000000 -S ___0069_ceaf__20_21H Ref00000000 S ?L_MUL_L03 Ref00000000 S _freesession Ref00000000 -S ___0206_d5bc_Can_27t_20create_20 Ref00000000 -S ___02d9_9a86_Must_20be_20_200_20 Ref00000000 +S ___06db_5c70_unknown_0a Ref00000000 S _connect Ref00000000 -S ___05fe_5c70_unknown_0a Ref00000000 +S ___0346_362b_Must_20be_20_200_20 Ref00000000 +S ___0238_d5bc_Can_27t_20create_20 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _msclock Ref00000000 -S ___0447_40b3_check_20_3chost_3e Ref00000000 +S ___02c8_c794_HOPCHECK_20tracing Ref00000000 +S ___0084_5266__20_21P Ref00000000 +S ___0347_2da0_Must_20be_20_3e_3d_ Ref00000000 S _free_p Ref00000000 -S ___0284_8ef4_HOPCHECK_20to_20_25 Ref00000000 +S ___0640_0be6_queries Ref00000000 +S ___01ad_c1c3__28hopcheck_29_20IC Ref00000000 +S ___0109_f9eb__21_21_20_25s_20_25 Ref00000000 S __printf Ref00000000 -S ___04f5_e017_maxwait Ref00000000 +S ___0156_f81b__25s_20 Ref00000000 +S ___0345_9a86_Must_20be_20_200_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _Icmp_trace Ref00000000 S _setbool Ref00000000 S _kalarm Ref00000000 -S ___0566_0be6_queries Ref00000000 S ?C_V_SWITCH_L06 Ref00000000 S _recv_mbuf Ref00000000 S _psocket Ref00000000 -S ___0446_5ed3_check Ref00000000 -S ___006a_ab99__20_21N Ref00000000 -S ___02d0_dcca_Max_20attempts_20to Ref00000000 -S ___006c_60fd__20_21S Ref00000000 S _setshort Ref00000000 S _itop Ref00000000 S _inverse_a Ref00000000 +S ___06d2_4f5f_trace Ref00000000 S _Cmdline Ref00000000 -S ___0023_f279__0a_20_20_20_20 Ref00000000 +S ___033c_dcca_Max_20attempts_20to Ref00000000 S _subcmd Ref00000000 S _keywait Ref00000000 +S ___0024_f279__0a_20_20_20_20 Ref00000000 S _Icmptypes Ref00000000 A _DEFAULT size 0 flags 0 A CODE size BE6 flags 0 @@ -96,27 +96,27 @@ A CDATA0 size 58 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 32 00 +R 00 00 01 00 02 05 31 00 T 09 00 00 00 E5 C5 4B 42 11 0A 00 00 00 3E R 00 00 01 00 00 09 03 00 T 11 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 54 00 02 09 54 00 +R 00 00 01 00 2B 04 53 00 02 09 53 00 T 16 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 07 00 02 0B 21 00 +R 00 00 01 00 02 04 07 00 02 0B 1F 00 T 1D 00 00 00 R 00 00 01 00 T 1D 00 00 00 CD 00 00 00 00 FC FF 2A -R 00 00 01 00 02 05 3C 00 +R 00 00 01 00 02 05 3A 00 T 23 00 00 00 08 00 00 00 DD 75 FE DD 74 FF C5 R 00 00 01 00 00 04 03 00 T 2C 00 00 00 DD 4E 02 DD 46 03 C5 0E R 00 00 01 00 T 34 00 00 00 00 00 00 00 C5 01 00 00 00 00 C5 -R 00 00 01 00 2B 04 15 00 02 0A 15 00 +R 00 00 01 00 2B 04 0E 00 02 0A 0E 00 T 3A 00 00 00 21 0A 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 4F 00 +R 00 00 01 00 2B 0B 4D 00 T 42 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 4F 00 02 0A 07 00 +R 00 00 01 00 02 05 4D 00 02 0A 07 00 T 49 00 00 00 F1 F1 F1 DD 75 FC DD 74 FD DD 7E R 00 00 01 00 T 54 00 00 00 FE DD B6 FF 28 0E DD 4E FE DD 46 @@ -130,11 +130,11 @@ R 00 00 01 00 T 68 00 00 00 R 00 00 01 00 T 68 00 00 00 21 05 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 39 00 +R 00 00 01 00 2B 09 45 00 T 70 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 39 00 2B 0A 41 00 +R 00 00 01 00 02 04 45 00 2B 0A 43 00 T 76 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 41 00 02 09 07 00 +R 00 00 01 00 02 04 43 00 02 09 07 00 T 7D 00 00 00 F1 21 00 00 18 0F R 00 00 01 00 T 83 00 00 00 @@ -146,33 +146,33 @@ R 00 00 01 00 T 92 00 00 00 R 00 00 01 00 T 92 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 21 00 +R 00 00 01 00 02 05 1F 00 T 95 00 00 00 R 00 00 01 00 T 95 00 00 00 CD 00 00 00 00 C5 D5 0E -R 00 00 01 00 02 05 32 00 +R 00 00 01 00 02 05 31 00 T 9B 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 02 00 02 0A 02 00 +R 00 00 01 00 2B 04 3C 00 02 0A 3C 00 T A1 00 00 00 11 02 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 03 00 2B 0A 45 00 +R 00 00 01 00 00 05 03 00 2B 0A 48 00 T A7 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 45 00 02 09 07 00 +R 00 00 01 00 02 04 48 00 02 09 07 00 T AE 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 07 21 00 +R 00 00 01 00 02 07 1F 00 T B3 00 00 00 R 00 00 01 00 T B3 00 00 00 CD 00 00 00 00 FC FF 2A -R 00 00 01 00 02 05 3C 00 +R 00 00 01 00 02 05 3A 00 T B9 00 00 00 04 00 00 00 DD 75 FE DD 74 FF C5 R 00 00 01 00 00 04 03 00 T C2 00 00 00 DD 4E 02 DD 46 03 C5 0E R 00 00 01 00 T CA 00 00 00 00 00 00 00 C5 01 00 00 00 00 C5 -R 00 00 01 00 2B 04 4D 00 02 0A 4D 00 +R 00 00 01 00 2B 04 52 00 02 0A 52 00 T D0 00 00 00 21 0A 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 4F 00 +R 00 00 01 00 2B 0B 4D 00 T D8 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 4F 00 02 0A 07 00 +R 00 00 01 00 02 05 4D 00 02 0A 07 00 T DF 00 00 00 F1 F1 F1 DD 75 FC DD 74 FD DD 7E R 00 00 01 00 T EA 00 00 00 FE DD B6 FF 28 0E DD 4E FE DD 46 @@ -186,9 +186,9 @@ R 00 00 01 00 T FE 00 00 00 R 00 00 01 00 T FE 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 09 00 02 0B 09 00 +R 00 00 01 00 2B 05 38 00 02 0B 38 00 T 04 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T 0A 01 00 00 CD 00 00 00 00 F1 F1 21 00 00 18 R 00 00 01 00 02 05 07 00 T 13 01 00 00 0F @@ -202,21 +202,21 @@ R 00 00 01 00 T 23 01 00 00 R 00 00 01 00 T 23 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 21 00 +R 00 00 01 00 02 05 1F 00 T 26 01 00 00 R 00 00 01 00 T 26 01 00 00 CD 00 00 00 00 FC FF 2A -R 00 00 01 00 02 05 3C 00 +R 00 00 01 00 02 05 3A 00 T 2C 01 00 00 06 00 00 00 DD 75 FE DD 74 FF C5 R 00 00 01 00 00 04 03 00 T 35 01 00 00 DD 4E 02 DD 46 03 C5 0E R 00 00 01 00 T 3D 01 00 00 00 00 00 00 C5 01 00 00 00 00 C5 -R 00 00 01 00 2B 04 2B 00 02 0A 2B 00 +R 00 00 01 00 2B 04 26 00 02 0A 26 00 T 43 01 00 00 21 0A 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 4F 00 +R 00 00 01 00 2B 0B 4D 00 T 4B 01 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 4F 00 02 0A 07 00 +R 00 00 01 00 02 05 4D 00 02 0A 07 00 T 52 01 00 00 F1 F1 F1 DD 75 FC DD 74 FD DD 7E R 00 00 01 00 T 5D 01 00 00 FE DD B6 FF 20 16 @@ -224,9 +224,9 @@ R 00 00 01 00 T 63 01 00 00 R 00 00 01 00 T 63 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +R 00 00 01 00 2B 05 3E 00 02 0B 3E 00 T 69 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T 6F 01 00 00 CD 00 00 00 00 F1 F1 21 00 00 18 R 00 00 01 00 02 05 07 00 T 78 01 00 00 0F @@ -240,17 +240,17 @@ R 00 00 01 00 T 88 01 00 00 R 00 00 01 00 T 88 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 21 00 +R 00 00 01 00 02 05 1F 00 T 8B 01 00 00 R 00 00 01 00 T 8B 01 00 00 CD 00 00 00 00 B8 FF AF DD 77 EE -R 00 00 01 00 02 05 3C 00 +R 00 00 01 00 02 05 3A 00 T 94 01 00 00 DD 77 EF DD 36 F0 01 DD 36 F1 00 R 00 00 01 00 T 9F 01 00 00 AF DD 77 F8 DD 77 F9 21 01 00 22 R 00 00 01 00 T AA 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 13 00 +R 00 00 01 00 02 04 16 00 T AC 01 00 00 R 00 00 01 00 T AC 01 00 00 21 00 00 00 00 E5 DD 4E 04 DD 46 @@ -258,7 +258,7 @@ R 00 00 01 00 00 05 02 00 T B5 01 00 00 05 DD 5E 02 DD 56 03 3E R 00 00 01 00 T BD 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1F 00 02 09 1F 00 +R 00 00 01 00 2B 04 1C 00 02 09 1C 00 T C2 01 00 00 00 00 00 00 F1 DD 75 F2 DD 74 F3 R 00 00 01 00 02 04 07 00 T CB 01 00 00 7D A4 3C 28 17 @@ -280,29 +280,29 @@ R 00 00 01 00 T E7 01 00 00 R 00 00 01 00 T E7 01 00 00 2A 00 00 00 00 29 DD 4E 04 DD 46 -R 00 00 01 00 02 05 13 00 +R 00 00 01 00 02 05 16 00 T F0 01 00 00 05 09 46 23 66 68 DD 75 F4 DD 74 R 00 00 01 00 T FB 01 00 00 F5 21 01 00 E5 01 08 00 ED 5B R 00 00 01 00 T 05 02 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 52 00 2B 09 14 00 +R 00 00 01 00 02 04 51 00 2B 09 17 00 T 0A 02 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 14 00 02 09 07 00 +R 00 00 01 00 02 04 17 00 02 09 07 00 T 11 02 00 00 75 B8 DD 74 B9 7D B4 20 25 R 00 00 01 00 T 1A 02 00 00 R 00 00 01 00 T 1A 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 08 00 02 0B 08 00 +R 00 00 01 00 2B 05 20 00 02 0B 20 00 T 20 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T 26 02 00 00 CD 00 00 00 00 F1 F1 01 01 00 11 R 00 00 01 00 02 05 07 00 T 2F 02 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 55 00 +R 00 00 01 00 2B 07 54 00 T 34 02 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 55 00 02 09 07 00 +R 00 00 01 00 02 04 54 00 02 09 07 00 T 3A 02 00 00 01 00 C3 8B 0A 00 00 R 00 00 01 00 00 07 01 00 T 3F 02 00 00 @@ -318,11 +318,11 @@ R 00 00 01 00 T 61 02 00 00 00 00 00 00 DD 75 DA DD 74 DB DD R 00 00 01 00 00 04 03 00 T 6A 02 00 00 6E F4 DD 66 F5 E5 0E 00 00 00 00 -R 00 00 01 00 2B 0B 1E 00 +R 00 00 01 00 2B 0B 08 00 T 72 02 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 1E 00 +R 00 00 01 00 02 06 08 00 T 78 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 41 00 02 09 41 00 +R 00 00 01 00 2B 04 43 00 02 09 43 00 T 7D 02 00 00 00 00 00 00 F1 F1 F1 DD 5E F4 DD R 00 00 01 00 02 04 07 00 T 86 02 00 00 56 F5 3E 00 00 00 00 21 @@ -338,37 +338,37 @@ R 00 00 01 00 T A2 02 00 00 DD 6E F4 DD 66 F5 E5 0E R 00 00 01 00 T AA 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 3B 00 02 0A 3B 00 +R 00 00 01 00 2B 04 36 00 02 0A 36 00 T B0 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 41 00 02 0A 41 00 +R 00 00 01 00 2B 05 43 00 02 0A 43 00 T B6 02 00 00 00 00 00 00 F1 F1 F1 01 01 00 11 R 00 00 01 00 02 04 07 00 T BF 02 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 55 00 +R 00 00 01 00 2B 07 54 00 T C4 02 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 55 00 02 09 07 00 +R 00 00 01 00 02 04 54 00 02 09 07 00 T CB 02 00 00 B8 DD 56 B9 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 37 00 +R 00 00 01 00 2B 09 35 00 T D2 02 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 37 00 02 09 07 00 +R 00 00 01 00 02 04 35 00 02 09 07 00 T D8 02 00 00 01 00 C3 8B 0A 00 00 R 00 00 01 00 00 07 01 00 T DD 02 00 00 R 00 00 01 00 T DD 02 00 00 21 20 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 4A 00 +R 00 00 01 00 2B 0B 4C 00 T E5 02 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 4A 00 02 0A 07 00 +R 00 00 01 00 02 05 4C 00 02 0A 07 00 T EC 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 2A 00 02 0B 2A 00 +R 00 00 01 00 2B 05 44 00 02 0B 44 00 T F2 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T F8 02 00 00 CD 00 00 00 00 F1 F1 F1 21 00 00 R 00 00 01 00 02 05 07 00 T 01 03 00 00 E5 01 01 00 11 00 00 3E R 00 00 01 00 T 09 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 0E 03 00 00 00 00 00 00 F1 DD 75 BA DD 74 BB R 00 00 01 00 02 04 07 00 T 17 03 00 00 7D A4 3C 20 33 @@ -376,19 +376,19 @@ R 00 00 01 00 T 1C 03 00 00 R 00 00 01 00 T 1C 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 38 00 02 0B 38 00 +R 00 00 01 00 2B 05 39 00 02 0B 39 00 T 22 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T 28 03 00 00 CD 00 00 00 00 F1 F1 01 01 00 11 R 00 00 01 00 02 05 07 00 T 31 03 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 55 00 +R 00 00 01 00 2B 07 54 00 T 36 03 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 55 00 02 09 07 00 +R 00 00 01 00 02 04 54 00 02 09 07 00 T 3D 03 00 00 B8 DD 56 B9 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 37 00 +R 00 00 01 00 2B 09 35 00 T 44 03 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 37 00 02 09 07 00 +R 00 00 01 00 02 04 35 00 02 09 07 00 T 4A 03 00 00 01 00 C3 8B 0A 00 00 R 00 00 01 00 00 07 01 00 T 4F 03 00 00 @@ -396,27 +396,27 @@ R 00 00 01 00 T 4F 03 00 00 21 10 00 E5 21 22 00 39 4D 44 DD R 00 00 01 00 T 5A 03 00 00 5E BA DD 56 BB 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 3A 00 +R 00 00 01 00 2B 0A 37 00 T 62 03 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 3A 00 02 09 07 00 +R 00 00 01 00 02 04 37 00 02 09 07 00 T 69 03 00 00 A4 3C 20 33 R 00 00 01 00 T 6D 03 00 00 R 00 00 01 00 T 6D 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 2D 00 02 0B 2D 00 +R 00 00 01 00 2B 05 21 00 02 0B 21 00 T 73 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T 79 03 00 00 CD 00 00 00 00 F1 F1 01 01 00 11 R 00 00 01 00 02 05 07 00 T 82 03 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 55 00 +R 00 00 01 00 2B 07 54 00 T 87 03 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 55 00 02 09 07 00 +R 00 00 01 00 02 04 54 00 02 09 07 00 T 8E 03 00 00 B8 DD 56 B9 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 37 00 +R 00 00 01 00 2B 09 35 00 T 95 03 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 37 00 02 09 07 00 +R 00 00 01 00 02 04 35 00 02 09 07 00 T 9B 03 00 00 01 00 C3 8B 0A 00 00 R 00 00 01 00 00 07 01 00 T A0 03 00 00 @@ -424,7 +424,7 @@ R 00 00 01 00 T A0 03 00 00 21 01 00 E5 01 02 00 11 00 00 3E R 00 00 01 00 T AB 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T B0 03 00 00 00 00 00 00 F1 DD 75 BC DD 74 BD R 00 00 01 00 02 04 07 00 T B9 03 00 00 7D A4 3C 20 41 @@ -432,23 +432,23 @@ R 00 00 01 00 T BE 03 00 00 R 00 00 01 00 T BE 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 +R 00 00 01 00 2B 05 14 00 02 0B 14 00 T C4 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T CA 03 00 00 CD 00 00 00 00 F1 F1 01 01 00 11 R 00 00 01 00 02 05 07 00 T D3 03 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 55 00 +R 00 00 01 00 2B 07 54 00 T D8 03 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 55 00 02 09 07 00 +R 00 00 01 00 02 04 54 00 02 09 07 00 T DF 03 00 00 BA DD 56 BB 3E 00 00 00 00 21 R 00 00 01 00 2B 09 23 00 T E6 03 00 00 00 00 00 00 CD 00 00 00 00 DD 5E R 00 00 01 00 02 04 23 00 02 09 07 00 T ED 03 00 00 B8 DD 56 B9 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 37 00 +R 00 00 01 00 2B 09 35 00 T F4 03 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 37 00 02 09 07 00 +R 00 00 01 00 02 04 35 00 02 09 07 00 T FA 03 00 00 01 00 C3 8B 0A 00 00 R 00 00 01 00 00 07 01 00 T FF 03 00 00 @@ -456,17 +456,17 @@ R 00 00 01 00 T FF 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 T 05 04 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T 0B 04 00 00 CD 00 00 00 00 F1 F1 2A R 00 00 01 00 02 05 07 00 T 11 04 00 00 00 00 00 00 DD 75 F6 DD 74 F7 21 -R 00 00 01 00 02 04 44 00 +R 00 00 01 00 02 04 47 00 T 1A 04 00 00 00 00 22 00 00 00 00 DD 5E BA DD -R 00 00 01 00 02 07 44 00 +R 00 00 01 00 02 07 47 00 T 23 04 00 00 56 BB 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 50 00 +R 00 00 01 00 2B 07 4E 00 T 28 04 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 50 00 02 09 07 00 +R 00 00 01 00 02 04 4E 00 02 09 07 00 T 2F 04 00 00 E8 DD 74 E9 01 0E 00 09 46 23 66 R 00 00 01 00 T 3A 04 00 00 68 DD 75 EA DD 74 EB 01 04 00 09 @@ -494,11 +494,11 @@ R 00 00 01 00 T 9E 04 00 00 DD 6E B8 DD 66 B9 23 23 23 4E 23 R 00 00 01 00 T A9 04 00 00 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 07 20 00 +R 00 00 01 00 2B 07 04 00 T AF 04 00 00 00 00 00 00 E5 DD 6E BA DD 66 BB -R 00 00 01 00 02 04 20 00 +R 00 00 01 00 02 04 04 00 T B8 04 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 +R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 T BE 04 00 00 CD 00 00 00 00 E1 E1 E1 E1 R 00 00 01 00 02 05 07 00 T C5 04 00 00 @@ -518,11 +518,11 @@ R 00 00 01 00 T E3 04 00 00 68 DD 75 C8 DD 74 C9 DD 4E EC 06 R 00 00 01 00 T EE 04 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 07 11 00 +R 00 00 01 00 2B 07 2D 00 T F4 04 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 11 00 2B 0A 41 00 +R 00 00 01 00 02 04 2D 00 2B 0A 43 00 T FA 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 41 00 02 09 07 00 +R 00 00 01 00 02 04 43 00 02 09 07 00 T 01 05 00 00 F1 AF DD 77 D4 DD 77 D5 DD 77 D6 R 00 00 01 00 T 0C 05 00 00 DD 77 D7 DD 36 ED 00 @@ -546,21 +546,21 @@ R 00 00 01 00 T 45 05 00 00 EC E5 0E 00 C5 21 18 00 39 4D 44 R 00 00 01 00 T 50 05 00 00 21 12 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1C 00 +R 00 00 01 00 2B 0B 1A 00 T 58 05 00 00 21 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 1C 00 02 0A 07 00 +R 00 00 01 00 02 05 1A 00 02 0A 07 00 T 5F 05 00 00 21 0C 00 39 F9 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 3D 00 +R 00 00 01 00 2B 0B 3B 00 T 67 05 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 3D 00 02 0A 07 00 +R 00 00 01 00 02 05 3B 00 02 0A 07 00 T 6E 05 00 00 75 CA DD 74 CB DD 71 CC DD 70 CD R 00 00 01 00 T 79 05 00 00 2A 06 00 00 00 01 00 00 C5 E5 01 R 00 00 01 00 00 05 03 00 T 82 05 00 00 00 00 21 E8 03 CD 00 00 00 00 EB -R 00 00 01 00 02 0A 36 00 +R 00 00 01 00 02 0A 34 00 T 8B 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 46 00 02 0A 46 00 +R 00 00 01 00 2B 05 49 00 02 0A 49 00 T 91 05 00 00 00 00 00 00 21 1B 00 39 E5 21 R 00 00 01 00 02 04 07 00 T 99 05 00 00 1C 00 39 E5 21 1A 00 39 E5 DD 6E @@ -573,8 +573,8 @@ T B8 05 00 00 F1 F1 F1 F1 7D A4 3C 20 2E R 00 00 01 00 T C1 05 00 00 R 00 00 01 00 -T C1 05 00 00 21 4D 00 ED 4B 00 00 00 00 09 3E -R 00 00 01 00 02 09 2E 00 +T C1 05 00 00 21 4F 00 ED 4B 00 00 00 00 09 3E +R 00 00 01 00 02 09 2A 00 T CA 05 00 00 6A AE 23 B6 28 0B R 00 00 01 00 T D0 05 00 00 @@ -586,9 +586,9 @@ R 00 00 01 00 00 04 01 00 T DB 05 00 00 R 00 00 01 00 T DB 05 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 17 00 02 0B 17 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 T E1 05 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T E7 05 00 00 CD 00 00 00 00 F1 F1 C3 R 00 00 01 00 02 05 07 00 T ED 05 00 00 DF 08 00 00 @@ -596,7 +596,7 @@ R 00 00 01 00 00 04 01 00 T EF 05 00 00 R 00 00 01 00 T EF 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 3D 00 02 0A 3D 00 +R 00 00 01 00 2B 05 3B 00 02 0A 3B 00 T F5 05 00 00 00 00 00 00 59 50 A7 DD 4E CA DD R 00 00 01 00 02 04 07 00 T FE 05 00 00 46 CB ED 42 EB DD 4E CC DD 46 CD @@ -622,9 +622,9 @@ R 00 00 01 00 T 4A 06 00 00 R 00 00 01 00 T 4A 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 53 00 02 0B 53 00 +R 00 00 01 00 2B 05 55 00 02 0B 55 00 T 50 06 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T 56 06 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 05 07 00 T 5B 06 00 00 @@ -634,11 +634,11 @@ R 00 00 01 00 T 66 06 00 00 CF 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 03 00 02 0B 03 00 T 6C 06 00 00 CD 00 00 00 00 E5 0E 00 00 00 00 -R 00 00 01 00 02 05 07 00 2B 0B 04 00 +R 00 00 01 00 02 05 07 00 2B 0B 22 00 T 72 06 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 04 00 +R 00 00 01 00 02 06 22 00 T 78 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 41 00 02 09 41 00 +R 00 00 01 00 2B 04 43 00 02 09 43 00 T 7D 06 00 00 00 00 00 00 F1 F1 F1 DD 7E F0 DD R 00 00 01 00 02 04 07 00 T 86 06 00 00 B6 F1 CA 43 07 00 00 @@ -648,7 +648,7 @@ R 00 00 01 00 T 8B 06 00 00 DD 4E D0 DD 46 D1 DD 5E CE DD 56 R 00 00 01 00 T 96 06 00 00 CF 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 51 00 02 0B 51 00 +R 00 00 01 00 2B 06 4F 00 02 0B 4F 00 T 9C 06 00 00 CD 00 00 00 00 DD 75 FC DD 74 FD R 00 00 01 00 02 05 07 00 T A5 06 00 00 DD 75 FE DD 74 FF @@ -674,11 +674,11 @@ R 00 00 01 00 T D6 06 00 00 21 13 00 DD 4E FE DD 46 FF 09 4E R 00 00 01 00 T E1 06 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 12 00 +R 00 00 01 00 2B 08 09 00 T E8 06 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 12 00 2B 0A 41 00 +R 00 00 01 00 02 04 09 00 2B 0A 43 00 T EE 06 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 41 00 02 09 07 00 +R 00 00 01 00 02 04 43 00 02 09 07 00 T F5 06 00 00 F1 18 3D R 00 00 01 00 T F8 06 00 00 @@ -688,9 +688,9 @@ R 00 00 01 00 T 03 07 00 00 FE DD 46 FF 09 4E 23 46 C5 0E R 00 00 01 00 T 0D 07 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 12 00 02 0A 12 00 +R 00 00 01 00 2B 04 09 00 02 0A 09 00 T 13 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 41 00 02 0A 41 00 +R 00 00 01 00 2B 05 43 00 02 0A 43 00 T 19 07 00 00 00 00 00 00 F1 F1 F1 18 15 R 00 00 01 00 02 04 07 00 T 20 07 00 00 @@ -708,9 +708,9 @@ R 00 00 01 00 T 35 07 00 00 R 00 00 01 00 T 35 07 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 34 00 +R 00 00 01 00 2B 0B 33 00 T 3D 07 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 34 00 02 0A 07 00 +R 00 00 01 00 02 05 33 00 02 0A 07 00 T 43 07 00 00 R 00 00 01 00 T 43 07 00 00 DD 4E D0 DD 46 D1 DD 6E CE DD 66 @@ -724,11 +724,11 @@ R 00 00 01 00 T 5B 07 00 00 DD 6E CC DD 66 CD E5 DD 6E CA DD R 00 00 01 00 T 66 07 00 00 66 CB E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 10 00 +R 00 00 01 00 2B 08 29 00 T 6D 07 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 10 00 2B 0A 41 00 +R 00 00 01 00 02 04 29 00 2B 0A 43 00 T 73 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 41 00 02 09 07 00 +R 00 00 01 00 02 04 43 00 02 09 07 00 T 7A 07 00 00 F1 F1 2A 02 00 00 00 7D B4 28 72 R 00 00 01 00 00 07 03 00 T 83 07 00 00 @@ -736,7 +736,7 @@ R 00 00 01 00 T 83 07 00 00 DD 7E D2 FE 0B 20 10 DD 6E D3 26 R 00 00 01 00 T 8E 07 00 00 00 29 01 00 00 00 00 09 46 23 66 -R 00 00 01 00 02 07 16 00 +R 00 00 01 00 02 07 18 00 T 97 07 00 00 68 18 0E R 00 00 01 00 T 9A 07 00 00 @@ -760,11 +760,11 @@ R 00 00 01 00 2B 07 03 00 T D4 07 00 00 00 00 00 00 CD 00 00 00 00 E5 0E R 00 00 01 00 02 04 03 00 02 09 07 00 T DB 07 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 22 00 02 0A 22 00 +R 00 00 01 00 2B 04 41 00 02 0A 41 00 T E1 07 00 00 DD 6E BA DD 66 BB E5 3E R 00 00 01 00 T E9 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0D 00 02 09 0D 00 +R 00 00 01 00 2B 04 0C 00 02 09 0C 00 T EE 07 00 00 00 00 00 00 21 10 00 39 F9 R 00 00 01 00 02 04 07 00 T F5 07 00 00 @@ -778,7 +778,7 @@ R 00 00 01 00 00 05 01 00 T FF 07 00 00 R 00 00 01 00 T FF 07 00 00 DD 5E D3 CD 00 00 00 00 07 00 00 -R 00 00 01 00 02 08 48 00 +R 00 00 01 00 02 08 4A 00 T 08 08 00 00 01 02 03 04 05 0D CC 08 00 00 R 00 00 01 00 00 0A 01 00 T 10 08 00 00 B1 08 00 00 96 08 00 00 @@ -804,9 +804,9 @@ R 00 00 01 00 T 31 08 00 00 R 00 00 01 00 T 31 08 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 4C 00 02 0B 4C 00 +R 00 00 01 00 2B 05 15 00 02 0B 15 00 T 37 08 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T 3D 08 00 00 CD 00 00 00 00 F1 F1 C3 R 00 00 01 00 02 05 07 00 T 43 08 00 00 DF 08 00 00 @@ -818,9 +818,9 @@ R 00 00 01 00 T 4D 08 00 00 R 00 00 01 00 T 4D 08 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 35 00 02 0B 35 00 +R 00 00 01 00 2B 05 2E 00 02 0B 2E 00 T 53 08 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T 59 08 00 00 CD 00 00 00 00 F1 F1 18 7F R 00 00 01 00 02 05 07 00 T 60 08 00 00 @@ -830,9 +830,9 @@ R 00 00 01 00 T 68 08 00 00 R 00 00 01 00 T 68 08 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 29 00 02 0B 29 00 +R 00 00 01 00 2B 05 3D 00 02 0B 3D 00 T 6E 08 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T 74 08 00 00 CD 00 00 00 00 F1 F1 18 64 R 00 00 01 00 02 05 07 00 T 7B 08 00 00 @@ -842,9 +842,9 @@ R 00 00 01 00 T 83 08 00 00 R 00 00 01 00 T 83 08 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1B 00 02 0B 1B 00 +R 00 00 01 00 2B 05 12 00 02 0B 12 00 T 89 08 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T 8F 08 00 00 CD 00 00 00 00 F1 F1 18 49 R 00 00 01 00 02 05 07 00 T 96 08 00 00 @@ -854,9 +854,9 @@ R 00 00 01 00 T 9E 08 00 00 R 00 00 01 00 T 9E 08 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 4E 00 02 0B 4E 00 +R 00 00 01 00 2B 05 19 00 02 0B 19 00 T A4 08 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T AA 08 00 00 CD 00 00 00 00 F1 F1 18 2E R 00 00 01 00 02 05 07 00 T B1 08 00 00 @@ -866,17 +866,17 @@ R 00 00 01 00 T B9 08 00 00 R 00 00 01 00 T B9 08 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 19 00 02 0B 19 00 +R 00 00 01 00 2B 05 11 00 02 0B 11 00 T BF 08 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T C5 08 00 00 CD 00 00 00 00 F1 F1 18 13 R 00 00 01 00 02 05 07 00 T CC 08 00 00 R 00 00 01 00 T CC 08 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 18 00 02 0B 18 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 T D2 08 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T D8 08 00 00 CD 00 00 00 00 F1 F1 18 00 R 00 00 01 00 02 05 07 00 T DF 08 00 00 @@ -888,13 +888,13 @@ R 00 00 01 00 00 08 01 00 T E5 08 00 00 R 00 00 01 00 T E5 08 00 00 01 00 00 11 00 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 46 00 +R 00 00 01 00 2B 0B 49 00 T ED 08 00 00 21 00 00 00 00 CD 00 00 00 00 0E -R 00 00 01 00 02 05 46 00 02 0A 07 00 +R 00 00 01 00 02 05 49 00 02 0A 07 00 T F4 08 00 00 00 00 00 00 C5 21 00 00 00 00 E5 R 00 00 01 00 2B 04 0F 00 02 0A 0F 00 T FA 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 41 00 02 0A 41 00 +R 00 00 01 00 2B 05 43 00 02 0A 43 00 T 00 09 00 00 00 00 00 00 F1 F1 DD 7E EE DD B6 R 00 00 01 00 02 04 07 00 T 09 09 00 00 EF 28 02 @@ -934,27 +934,27 @@ R 00 00 01 00 T 4D 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 T 53 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T 59 09 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 05 07 00 T 5E 09 00 00 R 00 00 01 00 T 5E 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1A 00 02 0B 1A 00 +R 00 00 01 00 2B 05 13 00 02 0B 13 00 T 64 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T 6A 09 00 00 CD 00 00 00 00 F1 F1 DD 6E F6 DD R 00 00 01 00 02 05 07 00 T 73 09 00 00 66 F7 22 00 00 00 00 DD 7E F8 DD -R 00 00 01 00 02 07 44 00 +R 00 00 01 00 02 07 47 00 T 7C 09 00 00 B6 F9 28 14 R 00 00 01 00 T 80 09 00 00 R 00 00 01 00 T 80 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 24 00 02 0B 24 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 T 86 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T 8C 09 00 00 CD 00 00 00 00 F1 F1 C3 R 00 00 01 00 02 05 07 00 T 92 09 00 00 3E 0A 00 00 @@ -968,9 +968,9 @@ R 00 00 01 00 T A2 09 00 00 R 00 00 01 00 T A2 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 27 00 02 0B 27 00 +R 00 00 01 00 2B 05 1E 00 02 0B 1E 00 T A8 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 +R 00 00 01 00 2B 06 43 00 02 0B 43 00 T AE 09 00 00 CD 00 00 00 00 F1 F1 C3 R 00 00 01 00 02 05 07 00 T B4 09 00 00 3E 0A 00 00 @@ -998,9 +998,9 @@ R 00 00 01 00 T F2 09 00 00 01 00 00 00 00 09 4E 23 46 C5 0E R 00 00 01 00 02 05 56 00 T FB 09 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 26 00 02 0A 26 00 +R 00 00 01 00 2B 04 1D 00 02 0A 1D 00 T 01 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 41 00 02 0A 41 00 +R 00 00 01 00 2B 05 43 00 02 0A 43 00 T 07 0A 00 00 00 00 00 00 F1 F1 F1 F1 18 2F R 00 00 01 00 02 04 07 00 T 0F 0A 00 00 @@ -1012,9 +1012,9 @@ R 00 00 01 00 T 23 0A 00 00 01 00 00 00 00 09 4E 23 46 C5 0E R 00 00 01 00 02 05 56 00 T 2C 0A 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 2C 00 02 0A 2C 00 +R 00 00 01 00 2B 04 42 00 02 0A 42 00 T 32 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 41 00 02 0A 41 00 +R 00 00 01 00 2B 05 43 00 02 0A 43 00 T 38 0A 00 00 00 00 00 00 F1 F1 F1 F1 R 00 00 01 00 02 04 07 00 T 3E 0A 00 00 @@ -1030,39 +1030,39 @@ R 00 00 01 00 T 45 0A 00 00 DD 6E B8 DD 66 B9 23 23 23 4E 23 R 00 00 01 00 T 50 0A 00 00 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 07 40 00 +R 00 00 01 00 2B 07 2C 00 T 56 0A 00 00 00 00 00 00 E5 DD 6E BA DD 66 BB -R 00 00 01 00 02 04 40 00 +R 00 00 01 00 02 04 2C 00 T 5F 0A 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 +R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 T 65 0A 00 00 CD 00 00 00 00 E1 E1 E1 E1 R 00 00 01 00 02 05 07 00 T 6C 0A 00 00 R 00 00 01 00 T 6C 0A 00 00 01 01 00 11 00 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 55 00 +R 00 00 01 00 2B 0B 54 00 T 74 0A 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 55 00 02 0A 07 00 +R 00 00 01 00 02 05 54 00 02 0A 07 00 T 7B 0A 00 00 5E B8 DD 56 B9 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 37 00 +R 00 00 01 00 2B 0A 35 00 T 83 0A 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 37 00 02 09 07 00 +R 00 00 01 00 02 04 35 00 02 09 07 00 T 89 0A 00 00 00 00 R 00 00 01 00 T 8B 0A 00 00 R 00 00 01 00 T 8B 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 21 00 +R 00 00 01 00 02 05 1F 00 T 8E 0A 00 00 R 00 00 01 00 T 8E 0A 00 00 CD 00 00 00 00 3E 03 AB B2 20 1B -R 00 00 01 00 02 05 32 00 +R 00 00 01 00 02 05 31 00 T 97 0A 00 00 R 00 00 01 00 T 97 0A 00 00 01 6B 00 21 07 00 ED 5B R 00 00 01 00 T 9F 0A 00 00 00 00 00 00 19 5E 23 56 3E -R 00 00 01 00 02 04 33 00 +R 00 00 01 00 02 04 32 00 T A6 0A 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 25 00 02 09 25 00 T AB 0A 00 00 00 00 00 00 21 00 00 18 03 @@ -1074,11 +1074,11 @@ R 00 00 01 00 T B5 0A 00 00 R 00 00 01 00 T B5 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 21 00 +R 00 00 01 00 02 05 1F 00 T B8 0A 00 00 R 00 00 01 00 T B8 0A 00 00 CD 00 00 00 00 9E FF -R 00 00 01 00 02 05 3C 00 +R 00 00 01 00 02 05 3A 00 T BD 0A 00 00 R 00 00 01 00 T BD 0A 00 00 @@ -1090,7 +1090,7 @@ R 00 00 01 00 T D3 0A 00 00 21 55 00 39 4D 44 DD 5E 02 DD 56 R 00 00 01 00 T DE 0A 00 00 03 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 49 00 02 0B 49 00 +R 00 00 01 00 2B 06 4B 00 02 0B 4B 00 T E4 0A 00 00 CD 00 00 00 00 F1 F1 F1 7D A4 3C R 00 00 01 00 02 05 07 00 T ED 0A 00 00 20 06 @@ -1104,7 +1104,7 @@ R 00 00 01 00 T F5 0A 00 00 21 4F 00 39 4D 44 21 02 00 39 5D R 00 00 01 00 T 00 0B 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 31 00 02 0B 31 00 +R 00 00 01 00 2B 06 2F 00 02 0B 2F 00 T 06 0B 00 00 CD 00 00 00 00 DD 7E A0 FE 0B 20 R 00 00 01 00 02 05 07 00 T 0F 0B 00 00 06 DD 7E A1 B7 28 17 @@ -1132,7 +1132,7 @@ R 00 00 01 00 T 2D 0B 00 00 21 4F 00 39 4D 44 21 08 00 39 5D R 00 00 01 00 T 38 0B 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1D 00 02 0B 1D 00 +R 00 00 01 00 2B 06 1B 00 02 0B 1B 00 T 3E 0B 00 00 CD 00 00 00 00 DD 7E BB FE 11 28 R 00 00 01 00 02 05 07 00 T 47 0B 00 00 11 @@ -1190,7 +1190,7 @@ R 00 00 01 00 02 04 07 00 T E0 0B 00 00 R 00 00 01 00 T E0 0B 00 00 C3 00 00 00 00 C3 BD 0A 00 00 -R 00 00 01 00 02 05 28 00 00 0A 01 00 +R 00 00 01 00 02 05 27 00 00 0A 01 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 6E 00 @@ -1222,19 +1222,19 @@ R 00 00 03 00 T 00 00 00 00 9A 82 00 00 1E 00 05 00 03 00 R 00 00 04 00 T 0A 00 00 00 00 00 00 00 8B 01 00 00 00 08 -R 00 00 04 00 4A 04 4B 00 48 08 01 00 +R 00 00 04 00 4A 04 24 00 48 08 01 00 T 12 00 00 00 02 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 4A 06 3E 00 4A 0A 30 00 +R 00 00 04 00 4A 06 10 00 4A 0A 30 00 T 1A 00 00 00 B3 00 00 00 00 00 00 00 00 00 00 R 00 00 04 00 48 04 01 00 T 24 00 00 00 00 00 00 00 26 01 00 00 00 00 -R 00 00 04 00 4A 04 42 00 48 08 01 00 +R 00 00 04 00 4A 04 28 00 48 08 01 00 T 2C 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 4A 09 47 00 +R 00 00 04 00 4A 09 40 00 T 34 00 00 00 1D 00 00 00 00 00 00 00 00 00 00 R 00 00 04 00 48 04 01 00 T 3E 00 00 00 00 00 00 00 95 00 00 00 00 00 -R 00 00 04 00 4A 04 01 00 48 08 01 00 +R 00 00 04 00 4A 04 50 00 48 08 01 00 T 46 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 04 00 T 51 00 00 00 00 00 00 00 00 00 00 diff --git a/src/nos/lib/internet_lib/icmp.rel b/src/nos/lib/internet_lib/icmp.rel index 46eddc33..347147ae 100644 --- a/src/nos/lib/internet_lib/icmp.rel +++ b/src/nos/lib/internet_lib/icmp.rel @@ -5,24 +5,23 @@ S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?S_S_SWITCH_L06 Ref00000000 S _Unreach Ref00000000 S _Said_icmp Ref00000000 +S ___02d1_db6d_ICMP_20from_20_25s_ Ref00000000 S _len_p Ref00000000 S _Exceed Ref00000000 S ?L_INC_L03 Ref00000000 S _ntohip Ref00000000 S _htonip Ref00000000 -S ___028e_db6d_ICMP_20from_20_25s_ Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _dup_p Ref00000000 +S ___00d1_e3a3__20dest_20_25s_20_2 Ref00000000 +S ___00e0_ea43__20new_20gateway_20 Ref00000000 S .__.ABS. Def00000000 -S ___00b8_e3a3__20dest_20_25s_20_2 Ref00000000 S _ntohicmp Ref00000000 S _ip_send Ref00000000 S _htonicmp Ref00000000 -S ___00c7_ea43__20new_20gateway_20 Ref00000000 S _cksum Ref00000000 -S ___007c_97d2__20_25u_0a Ref00000000 +S ___0091_c302__20_25s_0a Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___0078_c302__20_25s_0a Ref00000000 S _free_p Ref00000000 S _echo_proc Ref00000000 S __printf Ref00000000 @@ -31,6 +30,7 @@ S _Icmplink Ref00000000 S _Icmp_trace Ref00000000 S ?C_V_SWITCH_L06 Ref00000000 S _smsg Ref00000000 +S ___0095_97d2__20_25u_0a Ref00000000 S _Icmptypes Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 7BA flags 0 @@ -47,7 +47,7 @@ R 00 00 01 00 02 05 15 00 T 06 00 00 00 08 00 00 00 ED 4B 0A 00 00 00 CD R 00 00 01 00 00 04 03 00 00 0A 03 00 T 0D 00 00 00 00 00 00 00 22 08 00 00 00 ED 43 -R 00 00 01 00 02 04 07 00 00 09 03 00 +R 00 00 01 00 02 04 08 00 00 09 03 00 T 14 00 00 00 0A 00 00 00 DD 7E 0C DD B6 0D 28 R 00 00 01 00 00 04 03 00 T 1D 00 00 00 22 @@ -57,11 +57,11 @@ R 00 00 01 00 T 1E 00 00 00 2A 0E 00 00 00 ED 4B 10 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 25 00 00 00 CD 00 00 00 00 22 0E 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T 2C 00 00 00 43 10 00 00 00 DD 5E 0A DD 56 0B R 00 00 01 00 00 05 03 00 T 35 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 17 00 02 0A 17 00 +R 00 00 01 00 2B 05 16 00 02 0A 16 00 T 3B 00 00 00 00 00 00 00 C3 E8 04 00 00 R 00 00 01 00 02 04 01 00 00 09 01 00 T 40 00 00 00 @@ -85,11 +85,11 @@ R 00 00 01 00 T 7C 00 00 00 2A 0E 00 00 00 ED 4B 10 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 83 00 00 00 CD 00 00 00 00 22 0E 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T 8A 00 00 00 43 10 00 00 00 DD 5E 0A DD 56 0B R 00 00 01 00 00 05 03 00 T 93 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 17 00 02 0A 17 00 +R 00 00 01 00 2B 05 16 00 02 0A 16 00 T 99 00 00 00 00 00 00 00 C3 E8 04 00 00 R 00 00 01 00 02 04 01 00 00 09 01 00 T 9E 00 00 00 @@ -97,7 +97,7 @@ R 00 00 01 00 T 9E 00 00 00 DD 4E 0A DD 46 0B 21 02 00 39 5D R 00 00 01 00 T A9 00 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 06 10 00 02 0B 10 00 T AF 00 00 00 CD 00 00 00 00 DD 4E B6 06 00 DD R 00 00 01 00 02 05 01 00 T B8 00 00 00 71 FB DD 70 FC 59 50 CD @@ -137,7 +137,7 @@ R 00 00 01 00 T FC 00 00 00 2A 1A 00 00 00 ED 4B 1C 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 03 01 00 00 CD 00 00 00 00 22 1A 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T 0A 01 00 00 43 1C 00 00 00 18 32 R 00 00 01 00 00 05 03 00 T 0F 01 00 00 @@ -145,7 +145,7 @@ R 00 00 01 00 T 0F 01 00 00 3E 03 A9 B0 20 13 2A 14 00 00 00 R 00 00 01 00 00 0B 03 00 T 18 01 00 00 ED 4B 16 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 07 00 +R 00 00 01 00 00 06 03 00 02 0B 08 00 T 1F 01 00 00 22 14 00 00 00 ED 43 16 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 26 01 00 00 18 19 @@ -155,7 +155,7 @@ R 00 00 01 00 T 28 01 00 00 3E 04 A9 B0 20 13 2A 26 00 00 00 R 00 00 01 00 00 0B 03 00 T 31 01 00 00 ED 4B 28 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 07 00 +R 00 00 01 00 00 06 03 00 02 0B 08 00 T 38 01 00 00 22 26 00 00 00 ED 43 28 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 3F 01 00 00 18 00 @@ -165,9 +165,9 @@ R 00 00 01 00 T 41 01 00 00 DD 4E 0A DD 46 0B 21 08 00 39 5D R 00 00 01 00 T 4C 01 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 +R 00 00 01 00 2B 06 09 00 02 0B 09 00 T 52 01 00 00 CD 00 00 00 00 2A 00 00 00 00 7D -R 00 00 01 00 02 05 01 00 02 0A 1C 00 +R 00 00 01 00 02 05 01 00 02 0A 1B 00 T 59 01 00 00 B4 CA 73 02 00 00 R 00 00 01 00 00 06 01 00 T 5D 01 00 00 @@ -179,15 +179,15 @@ R 00 00 01 00 2B 07 00 00 T 6D 01 00 00 00 00 00 00 CD 00 00 00 00 E5 0E R 00 00 01 00 02 04 00 00 02 09 01 00 T 74 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 +R 00 00 01 00 2B 04 05 00 02 0A 05 00 T 7A 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 19 00 02 0A 19 00 +R 00 00 01 00 2B 05 18 00 02 0A 18 00 T 80 01 00 00 00 00 00 00 F1 F1 F1 DD 6E FB DD R 00 00 01 00 02 04 01 00 T 89 01 00 00 66 FC E5 01 14 00 11 00 00 00 00 R 00 00 01 00 02 0B 1F 00 T 92 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1E 00 02 0A 1E 00 +R 00 00 01 00 2B 05 1D 00 02 0A 1D 00 T 98 01 00 00 00 00 00 00 F1 E5 21 0E 00 39 5E R 00 00 01 00 02 04 01 00 T A1 01 00 00 23 56 23 4E 23 46 3E 00 00 00 00 @@ -195,9 +195,9 @@ R 00 00 01 00 2B 0B 00 00 T A9 01 00 00 21 00 00 00 00 CD 00 00 00 00 E5 R 00 00 01 00 02 05 00 00 02 0A 01 00 T B0 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 T B6 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 19 00 02 0B 19 00 +R 00 00 01 00 2B 06 18 00 02 0B 18 00 T BC 01 00 00 CD 00 00 00 00 F1 F1 F1 F1 DD 4E R 00 00 01 00 02 05 01 00 T C5 01 00 00 FB DD 46 FC 3E 0B A9 B0 20 2A @@ -207,13 +207,13 @@ R 00 00 01 00 T CF 01 00 00 DD 4E B7 06 00 C5 01 02 00 11 R 00 00 01 00 T D9 01 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 06 00 2B 09 1E 00 +R 00 00 01 00 02 04 07 00 2B 09 1D 00 T DE 01 00 00 00 00 00 00 CD 00 00 00 00 F1 E5 -R 00 00 01 00 02 04 1E 00 02 09 01 00 +R 00 00 01 00 02 04 1D 00 02 09 01 00 T E5 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 16 00 02 0B 16 00 +R 00 00 01 00 2B 05 14 00 02 0B 14 00 T EB 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 19 00 02 0B 19 00 +R 00 00 01 00 2B 06 18 00 02 0B 18 00 T F1 01 00 00 CD 00 00 00 00 F1 F1 F1 18 7A R 00 00 01 00 02 05 01 00 T F9 01 00 00 @@ -223,13 +223,13 @@ R 00 00 01 00 T 04 02 00 00 C5 01 0E 00 11 00 00 00 00 3E R 00 00 01 00 02 09 03 00 T 0C 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1E 00 02 09 1E 00 +R 00 00 01 00 2B 04 1D 00 02 09 1D 00 T 11 02 00 00 00 00 00 00 F1 E5 0E 00 00 00 00 -R 00 00 01 00 02 04 01 00 2B 0B 16 00 +R 00 00 01 00 02 04 01 00 2B 0B 14 00 T 17 02 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 16 00 +R 00 00 01 00 02 06 14 00 T 1D 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 19 00 02 09 19 00 +R 00 00 01 00 2B 04 18 00 02 09 18 00 T 22 02 00 00 00 00 00 00 F1 F1 F1 18 4A R 00 00 01 00 02 04 01 00 T 29 02 00 00 @@ -239,23 +239,23 @@ R 00 00 01 00 T 34 02 00 00 C5 01 03 00 11 00 00 00 00 3E R 00 00 01 00 02 09 04 00 T 3C 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1E 00 02 09 1E 00 +R 00 00 01 00 2B 04 1D 00 02 09 1D 00 T 41 02 00 00 00 00 00 00 F1 E5 0E 00 00 00 00 -R 00 00 01 00 02 04 01 00 2B 0B 16 00 +R 00 00 01 00 02 04 01 00 2B 0B 14 00 T 47 02 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 16 00 +R 00 00 01 00 02 06 14 00 T 4D 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 19 00 02 09 19 00 +R 00 00 01 00 2B 04 18 00 02 09 18 00 T 52 02 00 00 00 00 00 00 F1 F1 F1 18 1A R 00 00 01 00 02 04 01 00 T 59 02 00 00 R 00 00 01 00 T 59 02 00 00 DD 4E B7 06 00 C5 0E 00 00 00 00 -R 00 00 01 00 2B 0B 14 00 +R 00 00 01 00 2B 0B 1E 00 T 61 02 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 14 00 +R 00 00 01 00 02 06 1E 00 T 67 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 19 00 02 09 19 00 +R 00 00 01 00 2B 04 18 00 02 09 18 00 T 6C 02 00 00 00 00 00 00 F1 F1 F1 18 00 R 00 00 01 00 02 04 01 00 T 73 02 00 00 @@ -263,9 +263,9 @@ R 00 00 01 00 T 73 02 00 00 R 00 00 01 00 T 73 02 00 00 DD 36 B4 00 00 00 00 DD 36 B5 -R 00 00 01 00 0B 07 1B 00 +R 00 00 01 00 0B 07 1A 00 T 7A 02 00 00 00 00 00 00 -R 00 00 01 00 8B 04 1B 00 +R 00 00 01 00 8B 04 1A 00 T 7B 02 00 00 R 00 00 01 00 T 7B 02 00 00 DD 6E B4 DD 66 B5 23 7E 23 B6 23 @@ -325,17 +325,17 @@ R 00 00 01 00 T 07 03 00 00 2A 32 00 00 00 ED 4B 34 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 0E 03 00 00 CD 00 00 00 00 22 32 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T 15 03 00 00 43 34 00 00 00 DD 36 B6 00 DD 4E R 00 00 01 00 00 05 03 00 T 1E 03 00 00 0A DD 46 0B 21 02 00 39 5D 54 3E R 00 00 01 00 T 29 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 11 00 02 09 11 00 +R 00 00 01 00 2B 04 12 00 02 09 12 00 T 2E 03 00 00 00 00 00 00 2A 86 00 00 00 ED 4B R 00 00 01 00 02 04 01 00 00 09 03 00 T 35 03 00 00 88 00 00 00 CD 00 00 00 00 22 -R 00 00 01 00 00 04 03 00 02 09 07 00 +R 00 00 01 00 00 04 03 00 02 09 08 00 T 3B 03 00 00 86 00 00 00 ED 43 88 00 00 00 0E R 00 00 01 00 00 04 03 00 00 0A 03 00 T 42 03 00 00 00 C5 21 00 00 E5 DD 6E FD DD 66 @@ -351,7 +351,7 @@ R 00 00 01 00 T 79 03 00 00 DD 46 05 09 5E 23 56 23 4E 23 46 R 00 00 01 00 T 84 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 10 00 02 0A 10 00 +R 00 00 01 00 2B 05 11 00 02 0A 11 00 T 8A 03 00 00 00 00 00 00 EB 21 12 00 39 F9 EB R 00 00 01 00 02 04 01 00 T 93 03 00 00 C3 E8 04 00 00 @@ -361,15 +361,15 @@ R 00 00 01 00 T 96 03 00 00 2A 2C 00 00 00 ED 4B 2E 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 9D 03 00 00 CD 00 00 00 00 22 2C 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T A4 03 00 00 43 2E 00 00 00 DD 4E 0A DD 46 0B R 00 00 01 00 00 05 03 00 T AD 03 00 00 21 08 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 08 00 +R 00 00 01 00 2B 0B 09 00 T B5 03 00 00 21 00 00 00 00 CD 00 00 00 00 2A -R 00 00 01 00 02 05 08 00 02 0A 01 00 +R 00 00 01 00 02 05 09 00 02 0A 01 00 T BC 03 00 00 00 00 00 00 7D B4 CA 4F 04 00 00 -R 00 00 01 00 02 04 1C 00 00 0B 01 00 +R 00 00 01 00 02 04 1B 00 00 0B 01 00 T C3 03 00 00 R 00 00 01 00 T C3 03 00 00 DD 6E 04 DD 66 05 5E 23 56 23 4E @@ -379,15 +379,15 @@ R 00 00 01 00 2B 07 00 00 T D3 03 00 00 00 00 00 00 CD 00 00 00 00 E5 0E R 00 00 01 00 02 04 00 00 02 09 01 00 T DA 03 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 +R 00 00 01 00 2B 04 05 00 02 0A 05 00 T E0 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 19 00 02 0A 19 00 +R 00 00 01 00 2B 05 18 00 02 0A 18 00 T E6 03 00 00 00 00 00 00 F1 F1 F1 DD 6E FB DD R 00 00 01 00 02 04 01 00 T EF 03 00 00 66 FC E5 01 14 00 11 00 00 00 00 R 00 00 01 00 02 0B 1F 00 T F8 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1E 00 02 0A 1E 00 +R 00 00 01 00 2B 05 1D 00 02 0A 1D 00 T FE 03 00 00 00 00 00 00 F1 E5 21 0E 00 39 5E R 00 00 01 00 02 04 01 00 T 07 04 00 00 23 56 23 4E 23 46 3E 00 00 00 00 @@ -395,9 +395,9 @@ R 00 00 01 00 2B 0B 00 00 T 0F 04 00 00 21 00 00 00 00 CD 00 00 00 00 E5 R 00 00 01 00 02 05 00 00 02 0A 01 00 T 16 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 T 1C 04 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 19 00 02 0B 19 00 +R 00 00 01 00 2B 06 18 00 02 0B 18 00 T 22 04 00 00 CD 00 00 00 00 F1 F1 F1 F1 21 R 00 00 01 00 02 05 01 00 T 2A 04 00 00 04 00 39 5E 23 56 23 4E 23 46 3E @@ -405,11 +405,11 @@ R 00 00 01 00 T 35 04 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 00 00 02 09 00 00 T 3A 04 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 01 00 2B 0A 12 00 +R 00 00 01 00 02 04 01 00 2B 0A 0E 00 T 40 04 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 12 00 2B 0B 19 00 +R 00 00 01 00 02 05 0E 00 2B 0B 18 00 T 46 04 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 19 00 02 0A 01 00 +R 00 00 01 00 02 05 18 00 02 0A 01 00 T 4D 04 00 00 F1 F1 R 00 00 01 00 T 4F 04 00 00 @@ -421,7 +421,7 @@ R 00 00 01 00 T 52 04 00 00 2A 20 00 00 00 ED 4B 22 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 59 04 00 00 CD 00 00 00 00 22 20 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T 60 04 00 00 43 22 00 00 00 18 75 R 00 00 01 00 00 05 03 00 T 65 04 00 00 @@ -429,7 +429,7 @@ R 00 00 01 00 T 65 04 00 00 2A 38 00 00 00 ED 4B 3A 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 6C 04 00 00 CD 00 00 00 00 22 38 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T 73 04 00 00 43 3A 00 00 00 DD 6E 0A DD 66 0B R 00 00 01 00 00 05 03 00 T 7C 04 00 00 E5 21 04 00 39 E5 21 04 00 DD 4E @@ -439,9 +439,9 @@ R 00 00 01 00 T 92 04 00 00 46 C5 D5 DD 6E 04 DD 66 05 5E 23 R 00 00 01 00 T 9D 04 00 00 56 23 4E 23 46 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 18 00 +R 00 00 01 00 2B 0A 17 00 T A5 04 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 18 00 02 09 01 00 +R 00 00 01 00 02 04 17 00 02 09 01 00 T AC 04 00 00 E1 E1 18 2A R 00 00 01 00 T B0 04 00 00 @@ -449,7 +449,7 @@ R 00 00 01 00 T B0 04 00 00 2A 3E 00 00 00 ED 4B 40 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T B7 04 00 00 CD 00 00 00 00 22 3E 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T BE 04 00 00 43 40 00 00 00 18 17 R 00 00 01 00 00 05 03 00 T C3 04 00 00 @@ -457,7 +457,7 @@ R 00 00 01 00 T C3 04 00 00 2A 44 00 00 00 ED 4B 46 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T CA 04 00 00 CD 00 00 00 00 22 44 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T D1 04 00 00 43 46 00 00 00 18 04 R 00 00 01 00 00 05 03 00 T D6 04 00 00 @@ -471,9 +471,9 @@ R 00 00 01 00 T DA 04 00 00 R 00 00 01 00 T DA 04 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 17 00 +R 00 00 01 00 2B 0B 16 00 T E2 04 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 17 00 02 0A 01 00 +R 00 00 01 00 02 05 16 00 02 0A 01 00 T E8 04 00 00 R 00 00 01 00 T E8 04 00 00 C3 00 00 00 00 @@ -515,9 +515,9 @@ R 00 00 01 00 T 33 05 00 00 R 00 00 01 00 T 33 05 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 +R 00 00 01 00 2B 0B 06 00 T 3B 05 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 05 00 02 0A 01 00 +R 00 00 01 00 02 05 06 00 02 0A 01 00 T 42 05 00 00 44 21 08 00 A7 ED 42 30 05 21 R 00 00 01 00 T 4C 05 00 00 08 00 18 0E @@ -525,9 +525,9 @@ R 00 00 01 00 T 50 05 00 00 R 00 00 01 00 T 50 05 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 +R 00 00 01 00 2B 0B 06 00 T 58 05 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 05 00 02 0A 01 00 +R 00 00 01 00 02 05 06 00 02 0A 01 00 T 5E 05 00 00 R 00 00 01 00 T 5E 05 00 00 DD 75 FC DD 74 FD E5 21 16 00 DD @@ -559,15 +559,15 @@ R 00 00 01 00 T B1 05 00 00 21 00 00 E5 21 02 00 39 4D 44 DD R 00 00 01 00 T BC 05 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 09 00 +R 00 00 01 00 2B 0A 0A 00 T C4 05 00 00 00 00 00 00 CD 00 00 00 00 E1 DD -R 00 00 01 00 02 04 09 00 02 09 01 00 +R 00 00 01 00 02 04 0A 00 02 09 01 00 T CB 05 00 00 46 0A DD 70 F6 DD 46 0C DD 70 F7 R 00 00 01 00 T D6 05 00 00 AF DD 77 F8 DD 77 F9 DD 77 FA DD R 00 00 01 00 T E1 05 00 00 77 FB DD 5E F6 CD 00 00 00 00 -R 00 00 01 00 02 0A 1D 00 +R 00 00 01 00 02 0A 1C 00 T E9 05 00 00 0D 00 00 03 04 05 08 0B 0C 0D 0E R 00 00 01 00 T F4 05 00 00 0F 10 11 12 4D 07 00 00 @@ -591,7 +591,7 @@ R 00 00 01 00 T 14 06 00 00 2A 6E 00 00 00 ED 4B 70 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 1B 06 00 00 CD 00 00 00 00 22 6E 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T 22 06 00 00 43 70 00 00 00 DD 6E 0E DD 66 0F R 00 00 01 00 00 05 03 00 T 2B 06 00 00 46 DD 70 F8 C3 4D 07 00 00 @@ -601,7 +601,7 @@ R 00 00 01 00 T 32 06 00 00 2A 7A 00 00 00 ED 4B 7C 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 39 06 00 00 CD 00 00 00 00 22 7A 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T 40 06 00 00 43 7C 00 00 00 DD 6E 0E DD 66 0F R 00 00 01 00 00 05 03 00 T 49 06 00 00 5E 23 56 23 4E 23 46 EB DD 75 F8 @@ -615,7 +615,7 @@ R 00 00 01 00 T 60 06 00 00 2A 80 00 00 00 ED 4B 82 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 67 06 00 00 CD 00 00 00 00 22 80 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T 6E 06 00 00 43 82 00 00 00 C3 4D 07 00 00 R 00 00 01 00 00 05 03 00 00 0A 01 00 T 74 06 00 00 @@ -623,7 +623,7 @@ R 00 00 01 00 T 74 06 00 00 2A 86 00 00 00 ED 4B 88 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 7B 06 00 00 CD 00 00 00 00 22 86 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T 82 06 00 00 43 88 00 00 00 C3 4D 07 00 00 R 00 00 01 00 00 05 03 00 00 0A 01 00 T 88 06 00 00 @@ -639,7 +639,7 @@ R 00 00 01 00 T 8E 06 00 00 2A 8C 00 00 00 ED 4B 8E 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 95 06 00 00 CD 00 00 00 00 22 8C 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T 9C 06 00 00 43 8E 00 00 00 C3 4D 07 00 00 R 00 00 01 00 00 05 03 00 00 0A 01 00 T A2 06 00 00 @@ -647,7 +647,7 @@ R 00 00 01 00 T A2 06 00 00 2A 92 00 00 00 ED 4B 94 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T A9 06 00 00 CD 00 00 00 00 22 92 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T B0 06 00 00 43 94 00 00 00 DD 6E 0E DD 66 0F R 00 00 01 00 00 05 03 00 T B9 06 00 00 46 23 66 68 DD 75 F8 DD 74 F9 DD @@ -661,7 +661,7 @@ R 00 00 01 00 T D7 06 00 00 2A 98 00 00 00 ED 4B 9A 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T DE 06 00 00 CD 00 00 00 00 22 98 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T E5 06 00 00 43 9A 00 00 00 18 63 R 00 00 01 00 00 05 03 00 T EA 06 00 00 @@ -669,7 +669,7 @@ R 00 00 01 00 T EA 06 00 00 2A 9E 00 00 00 ED 4B A0 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T F1 06 00 00 CD 00 00 00 00 22 9E 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T F8 06 00 00 43 A0 00 00 00 18 50 R 00 00 01 00 00 05 03 00 T FD 06 00 00 @@ -687,7 +687,7 @@ R 00 00 01 00 T 14 07 00 00 2A 62 00 00 00 ED 4B 64 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 1B 07 00 00 CD 00 00 00 00 22 62 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T 22 07 00 00 43 64 00 00 00 18 26 R 00 00 01 00 00 05 03 00 T 27 07 00 00 @@ -695,7 +695,7 @@ R 00 00 01 00 T 27 07 00 00 2A 68 00 00 00 ED 4B 6A 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 2E 07 00 00 CD 00 00 00 00 22 68 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T 35 07 00 00 43 6A 00 00 00 18 13 R 00 00 01 00 00 05 03 00 T 3A 07 00 00 @@ -703,7 +703,7 @@ R 00 00 01 00 T 3A 07 00 00 2A 74 00 00 00 ED 4B 76 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 41 07 00 00 CD 00 00 00 00 22 74 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T 48 07 00 00 43 76 00 00 00 18 00 R 00 00 01 00 00 05 03 00 T 4D 07 00 00 @@ -711,13 +711,13 @@ R 00 00 01 00 T 4D 07 00 00 2A 56 00 00 00 ED 4B 58 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 54 07 00 00 CD 00 00 00 00 22 56 00 00 00 ED -R 00 00 01 00 02 05 07 00 00 0A 03 00 +R 00 00 01 00 02 05 08 00 00 0A 03 00 T 5B 07 00 00 43 58 00 00 00 21 00 00 39 4D 44 R 00 00 01 00 00 05 03 00 T 64 07 00 00 21 02 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 11 00 +R 00 00 01 00 2B 0B 12 00 T 6C 07 00 00 21 00 00 00 00 CD 00 00 00 00 0E -R 00 00 01 00 02 05 11 00 02 0A 01 00 +R 00 00 01 00 02 05 12 00 02 0A 01 00 T 73 07 00 00 00 C5 21 00 00 E5 DD 6E FE DD 66 R 00 00 01 00 T 7E 07 00 00 FF E5 21 06 00 39 E5 0E 00 C5 21 @@ -729,7 +729,7 @@ R 00 00 01 00 T 9F 07 00 00 56 D5 C5 01 00 00 11 00 00 3E R 00 00 01 00 T A9 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 10 00 02 09 10 00 +R 00 00 01 00 2B 04 11 00 02 09 11 00 T AE 07 00 00 00 00 00 00 EB 21 12 00 39 F9 EB R 00 00 01 00 02 04 01 00 T B7 07 00 00 diff --git a/src/nos/lib/internet_lib/icmpcmd.rel b/src/nos/lib/internet_lib/icmpcmd.rel index 272aca33..a3109f10 100644 --- a/src/nos/lib/internet_lib/icmpcmd.rel +++ b/src/nos/lib/internet_lib/icmpcmd.rel @@ -1,23 +1,23 @@ XL4 H 5 areas 16 global symbols -S ___05f5_4f5f_trace Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0488_2edf_echo Ref00000000 -S ___028d_df4f_ICMP_20echo_20respo Ref00000000 +S ___0523_2edf_echo Ref00000000 +S ___02d0_df4f_ICMP_20echo_20respo Ref00000000 +S ___02d2_abbc_ICMP_20tracing Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___028f_abbc_ICMP_20tracing Ref00000000 +S ___004a_0e60__20_20_20_20_20_28_ Ref00000000 S .__.ABS. Def00000000 S _Icmp_mib Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?S_MUL_L02 Ref00000000 -S ___017c_ba4c__28_252u_29_25_2d20 Ref00000000 +S ___01a8_ba4c__28_252u_29_25_2d20 Ref00000000 S ?SS_CMP_L02 Ref00000000 -S ___0049_0e60__20_20_20_20_20_28_ Ref00000000 +S ___06a6_5069_status Ref00000000 S __printf Ref00000000 -S ___05c9_5069_status Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _setbool Ref00000000 +S ___06d2_4f5f_trace Ref00000000 S _subcmd Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 13B flags 0 @@ -36,7 +36,7 @@ R 00 00 01 00 00 09 03 00 T 11 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 12 00 02 09 12 00 T 16 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0B 04 00 +R 00 00 01 00 02 04 00 00 02 0B 04 00 T 1D 00 00 00 R 00 00 01 00 T 1D 00 00 00 CD 00 00 00 00 FC FF DD 36 FE 0D @@ -70,7 +70,7 @@ R 00 00 01 00 02 06 0B 00 T 80 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0E 00 02 09 0E 00 T 85 00 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 8E 00 00 00 DD 6E FE DD 66 FF DD 4E FC DD 46 R 00 00 01 00 T 99 00 00 00 FD 09 EB 01 06 00 CD 00 00 00 00 @@ -86,13 +86,13 @@ R 00 00 01 00 02 04 0A 00 02 09 07 00 T C8 00 00 00 23 46 C5 DD 6E FE DD 66 FF DD 4E R 00 00 01 00 T D3 00 00 00 FC DD 46 FD 09 E5 1E 00 00 00 00 -R 00 00 01 00 2B 0B 0D 00 +R 00 00 01 00 2B 0B 05 00 T DB 00 00 00 D5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 0D 00 +R 00 00 01 00 02 06 05 00 T E1 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0E 00 02 09 0E 00 T E6 00 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T EF 00 00 00 03 DD 71 FC DD 70 FD C3 R 00 00 01 00 T F7 00 00 00 32 00 00 00 @@ -106,11 +106,11 @@ R 00 00 01 00 T FF 00 00 00 CD 00 00 00 00 C5 D5 0E R 00 00 01 00 02 05 08 00 T 05 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T 0B 01 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 02 00 2B 0A 11 00 +R 00 00 01 00 00 05 02 00 2B 0A 10 00 T 11 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 11 00 02 09 01 00 +R 00 00 01 00 02 04 10 00 02 09 00 00 T 18 01 00 00 F1 F1 C3 00 00 00 00 R 00 00 01 00 02 07 04 00 T 1D 01 00 00 @@ -118,11 +118,11 @@ R 00 00 01 00 T 1D 01 00 00 CD 00 00 00 00 C5 D5 0E R 00 00 01 00 02 05 08 00 T 23 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 03 00 02 0A 03 00 +R 00 00 01 00 2B 04 02 00 02 0A 02 00 T 29 01 00 00 11 34 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 03 00 2B 0A 11 00 +R 00 00 01 00 00 05 03 00 2B 0A 10 00 T 2F 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 11 00 02 09 01 00 +R 00 00 01 00 02 04 10 00 02 09 00 00 T 36 01 00 00 F1 F1 C3 00 00 00 00 R 00 00 01 00 02 07 04 00 T 00 00 00 00 @@ -138,13 +138,13 @@ R 00 00 03 00 T 34 00 00 00 R 00 00 03 00 T 00 00 00 00 00 00 00 00 1D 01 00 00 00 00 -R 00 00 04 00 4A 04 02 00 48 08 01 00 +R 00 00 04 00 4A 04 01 00 48 08 01 00 T 08 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 4A 09 0F 00 +R 00 00 04 00 4A 09 0D 00 T 10 00 00 00 1D 00 00 00 00 00 00 00 00 00 00 R 00 00 04 00 48 04 01 00 T 1A 00 00 00 00 00 00 00 FF 00 00 00 00 00 -R 00 00 04 00 4A 04 00 00 48 08 01 00 +R 00 00 04 00 4A 04 11 00 48 08 01 00 T 22 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 04 00 T 2D 00 00 00 00 00 00 00 00 00 00 01 00 diff --git a/src/nos/lib/internet_lib/ipcmd.rel b/src/nos/lib/internet_lib/ipcmd.rel index cbbeeeb2..4f2a9626 100644 --- a/src/nos/lib/internet_lib/ipcmd.rel +++ b/src/nos/lib/internet_lib/ipcmd.rel @@ -1,81 +1,81 @@ XL4 H 6 areas 4F global symbols S _resolve Ref00000000 -S ___05f5_4f5f_trace Ref00000000 +S ___03f1_9b70_Routing_20lookups_3 Ref00000000 +S ___014f_63ed__25lu_0a Ref00000000 S _inet_ntoa Ref00000000 -S ___0593_d581_route_20addprivate_ Ref00000000 S _Routes Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___036e_9b70_Routing_20lookups_3 Ref00000000 -S ___0295_5f88_IP_20rx_20tracing Ref00000000 +S ___0154_7643__25s_0a Ref00000000 +S ___0670_a5ec_route_20lookup_20_3 Ref00000000 +S ___0128_da22__25_2d8lu Ref00000000 S _Badhost Ref00000000 -S ___0139_7643__25s_0a Ref00000000 S _strncmp Ref00000000 -S ___010d_90e5__25_2d7lu Ref00000000 +S ___0495_9712_address Ref00000000 S _if_lookup Ref00000000 -S ___00fb_7335__25_2d13s Ref00000000 -S ___0022_a0dd__0a Ref00000000 -S ___0596_a5ec_route_20lookup_20_3 Ref00000000 -S ___0591_ea02_route_20add_20_3cde Ref00000000 -S ___010b_eb89__25_2d4u Ref00000000 -S ___0134_63ed__25lu_0a Ref00000000 -S ___03ff_41b5_add Ref00000000 -S ___00b7_ad83__20dest_20_25s Ref00000000 +S ___05aa_8f77_lookup Ref00000000 +S ___0494_6783_addprivate Ref00000000 +S ___0116_0d8d__25_2d16s Ref00000000 +S ___0023_a0dd__0a Ref00000000 +S ___00d0_ad83__20dest_20_25s Ref00000000 +S ___06d5_e444_ttl Ref00000000 S _Ip_mib Ref00000000 +S ___02d5_5812_IP_20Time_2dto_2dli Ref00000000 S _printf Ref00000000 -S ___0482_4853_drop Ref00000000 S _Rtlookups Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___05f8_e444_ttl Ref00000000 -S ___0289_9144_Host_20_25s_20_28_2 Ref00000000 +S ___011a_1455__25_2d17s Ref00000000 S _strchr Ref00000000 -S ___01ff_daf3_Can_27t_20add_20rou Ref00000000 +S ___066e_bbd2_route_20drop_20_3cd Ref00000000 S _R_default Ref00000000 S _strcmp Ref00000000 S ?LEAVE_DIRECT_L09 Ref00000000 +S ___0126_90e5__25_2d7lu Ref00000000 S _read_timer Ref00000000 +S ___0672_2c09_rtimer Ref00000000 +S ___053c_28f4_flush Ref00000000 +S ___02fa_42ac_Interface_20_22_25s Ref00000000 S .__.ABS. Def00000000 S _rt_lookup Ref00000000 +S ___0124_eb89__25_2d4u Ref00000000 +S ___02d7_8cdb_IP_20reasm_20timeou Ref00000000 +S ___0143_6d8a__25c_20 Ref00000000 S _Rtchits Ref00000000 -S ___04e7_8f77_lookup Ref00000000 +S ___03de_1ee5_Reassembly_20fragme Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ___0598_2c09_rtimer Ref00000000 -S ___0101_1455__25_2d17s Ref00000000 -S ___00c0_8f2f__20id_20_25u_20pctl Ref00000000 -S ___049e_28f4_flush Ref00000000 -S ___0292_5812_IP_20Time_2dto_2dli Ref00000000 -S ___0128_6d8a__25c_20 Ref00000000 S ?L_MUL_L03 Ref00000000 -S ___0594_bbd2_route_20drop_20_3cd Ref00000000 +S ___0114_7335__25_2d13s Ref00000000 S _Ip_trace Ref00000000 +S ___02cc_9144_Host_20_25s_20_28_2 Ref00000000 S _Reasmq Ref00000000 -S ___05bf_61f2_src_20_25s Ref00000000 -S ___02a4_42ac_Interface_20_22_25s Ref00000000 -S ___00fd_0d8d__25_2d16s Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?S_MUL_L02 Ref00000000 +S ___02cd_862c_Host_20_25s_20unkno Ref00000000 S _atoi Ref00000000 +S ___01a8_ba4c__28_252u_29_25_2d20 Ref00000000 +S ___00d9_8f2f__20id_20_25u_20pctl Ref00000000 S ?SL_DIV_L03 Ref00000000 S _rt_add Ref00000000 -S ___017c_ba4c__28_252u_29_25_2d20 Ref00000000 +S ___0231_daf3_Can_27t_20add_20rou Ref00000000 S _atol Ref00000000 -S ___010f_da22__25_2d8lu Ref00000000 +S ___0492_41b5_add Ref00000000 S ?SS_CMP_L02 Ref00000000 S ?SS_MOD_L02 Ref00000000 +S ___06a6_5069_status Ref00000000 +S ___066d_d581_route_20addprivate_ Ref00000000 S __printf Ref00000000 -S ___0294_8cdb_IP_20reasm_20timeou Ref00000000 -S ___035f_1ee5_Reassembly_20fragme Ref00000000 -S ___0033_de40__20_20_20_20_20 Ref00000000 -S ___05c9_5069_status Ref00000000 +S ___02d8_5f88_IP_20rx_20tracing Ref00000000 +S ___0034_de40__20_20_20_20_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _setbool Ref00000000 S _rt_drop Ref00000000 -S ___0402_9712_address Ref00000000 +S ___066b_ea02_route_20add_20_3cde Ref00000000 +S ___00e2_826b__20offset_20_25u_20 Ref00000000 S _setlong Ref00000000 -S ___0401_6783_addprivate Ref00000000 +S ___06d2_4f5f_trace Ref00000000 S _subcmd Ref00000000 -S ___028a_862c_Host_20_25s_20unkno Ref00000000 -S ___00c9_826b__20offset_20_25u_20 Ref00000000 +S ___069c_61f2_src_20_25s Ref00000000 +S ___051d_4853_drop Ref00000000 A _DEFAULT size 0 flags 0 A CODE size AC7 flags 0 S _doroute Def0000010F @@ -88,29 +88,29 @@ A CDATA0 size 9C flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 26 00 +R 00 00 01 00 02 05 2A 00 T 09 00 00 00 E5 C5 4B 42 11 00 00 00 00 3E R 00 00 01 00 00 09 04 00 T 11 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 49 00 02 09 49 00 T 16 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 05 00 02 0B 19 00 +R 00 00 01 00 02 04 05 00 02 0B 17 00 T 1D 00 00 00 R 00 00 01 00 T 1D 00 00 00 CD 00 00 00 00 C5 D5 0E -R 00 00 01 00 02 05 26 00 +R 00 00 01 00 02 05 2A 00 T 23 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 07 00 02 0A 07 00 +R 00 00 01 00 2B 04 40 00 02 0A 40 00 T 29 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 2F 00 2B 0A 44 00 +R 00 00 01 00 02 05 2D 00 2B 0A 43 00 T 2F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 44 00 02 09 05 00 +R 00 00 01 00 02 04 43 00 02 09 05 00 T 36 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 07 19 00 +R 00 00 01 00 02 07 17 00 T 3B 00 00 00 R 00 00 01 00 T 3B 00 00 00 CD 00 00 00 00 FC FF 11 02 80 DD -R 00 00 01 00 02 05 34 00 +R 00 00 01 00 02 05 30 00 T 44 00 00 00 6E 02 DD 66 03 3E 80 AC 67 ED 52 R 00 00 01 00 T 4F 00 00 00 30 25 @@ -120,13 +120,13 @@ R 00 00 01 00 T 51 00 00 00 ED 4B 02 00 00 00 ED 5B R 00 00 01 00 00 06 03 00 T 57 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 02 00 +R 00 00 01 00 00 04 03 00 2B 09 03 00 T 5C 00 00 00 00 00 00 00 CD 00 00 00 00 E5 0E -R 00 00 01 00 02 04 02 00 02 09 05 00 +R 00 00 01 00 02 04 03 00 02 09 05 00 T 63 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 09 00 02 0A 09 00 +R 00 00 01 00 2B 04 06 00 02 0A 06 00 T 69 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 3E 00 02 0A 3E 00 +R 00 00 01 00 2B 05 3F 00 02 0A 3F 00 T 6F 00 00 00 00 00 00 00 F1 F1 F1 18 57 R 00 00 01 00 02 04 05 00 T 76 00 00 00 @@ -144,9 +144,9 @@ R 00 00 01 00 T 9B 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T A6 00 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 08 00 +R 00 00 01 00 02 06 09 00 T AC 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 16 00 02 09 16 00 +R 00 00 01 00 2B 04 15 00 02 09 15 00 T B1 00 00 00 00 00 00 00 F1 F1 21 01 00 18 16 R 00 00 01 00 02 04 05 00 T BA 00 00 00 @@ -164,35 +164,35 @@ R 00 00 01 00 T D0 00 00 00 R 00 00 01 00 T D0 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 19 00 +R 00 00 01 00 02 05 17 00 T D3 00 00 00 R 00 00 01 00 T D3 00 00 00 CD 00 00 00 00 C5 D5 0E -R 00 00 01 00 02 05 26 00 +R 00 00 01 00 02 05 2A 00 T D9 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 3F 00 02 0A 3F 00 +R 00 00 01 00 2B 04 26 00 02 0A 26 00 T DF 00 00 00 11 50 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 15 00 2B 0A 47 00 +R 00 00 01 00 02 05 13 00 2B 0A 47 00 T E5 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 47 00 02 09 05 00 T EC 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 07 19 00 +R 00 00 01 00 02 07 17 00 T F1 00 00 00 R 00 00 01 00 T F1 00 00 00 CD 00 00 00 00 C5 D5 0E -R 00 00 01 00 02 05 26 00 +R 00 00 01 00 02 05 2A 00 T F7 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 2B 00 02 0A 2B 00 +R 00 00 01 00 2B 04 14 00 02 0A 14 00 T FD 00 00 00 11 0E 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 15 00 2B 0A 47 00 +R 00 00 01 00 02 05 13 00 2B 0A 47 00 T 03 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 47 00 02 09 05 00 T 0A 01 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 07 19 00 +R 00 00 01 00 02 07 17 00 T 0F 01 00 00 R 00 00 01 00 T 0F 01 00 00 CD 00 00 00 00 FA FF 11 02 80 DD -R 00 00 01 00 02 05 34 00 +R 00 00 01 00 02 05 30 00 T 18 01 00 00 6E 02 DD 66 03 3E 80 AC 67 ED 52 R 00 00 01 00 T 23 01 00 00 38 24 @@ -212,9 +212,9 @@ R 00 00 01 00 00 05 01 00 T 49 01 00 00 R 00 00 01 00 T 49 01 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 16 00 +R 00 00 01 00 00 05 02 00 2B 0B 15 00 T 4F 01 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 16 00 02 0A 05 00 +R 00 00 01 00 02 05 15 00 02 0A 05 00 T 56 01 00 00 DD 36 FC 1F DD 36 FD 00 R 00 00 01 00 T 5E 01 00 00 @@ -236,7 +236,7 @@ R 00 00 01 00 T 7D 01 00 00 01 0E 00 DD 5E FC DD 56 FD CD R 00 00 01 00 T 87 01 00 00 00 00 00 00 DD 6E FA DD 66 FB 29 -R 00 00 01 00 02 04 35 00 +R 00 00 01 00 02 04 31 00 T 90 01 00 00 19 01 00 00 00 00 09 46 23 66 68 R 00 00 01 00 02 06 04 00 T 99 01 00 00 DD 75 FE DD 74 FF @@ -278,11 +278,11 @@ R 00 00 01 00 00 07 01 00 T E8 01 00 00 R 00 00 01 00 T E8 01 00 00 2A 12 00 00 00 7D B4 28 06 -R 00 00 01 00 02 05 1E 00 +R 00 00 01 00 02 05 1B 00 T EF 01 00 00 R 00 00 01 00 T EF 01 00 00 11 00 00 00 00 CD 0E 06 00 00 -R 00 00 01 00 02 05 1E 00 00 0A 01 00 +R 00 00 01 00 02 05 1B 00 00 0A 01 00 T F5 01 00 00 R 00 00 01 00 T F5 01 00 00 21 00 00 @@ -290,11 +290,11 @@ R 00 00 01 00 T F8 01 00 00 R 00 00 01 00 T F8 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 19 00 +R 00 00 01 00 02 05 17 00 T FB 01 00 00 R 00 00 01 00 T FB 01 00 00 CD 00 00 00 00 EC FF 21 04 00 E5 -R 00 00 01 00 02 05 34 00 +R 00 00 01 00 02 05 30 00 T 04 02 00 00 01 48 00 00 00 DD 6E 04 DD 66 05 R 00 00 01 00 00 05 02 00 T 0D 02 00 00 5E 23 56 3E 00 00 00 00 21 @@ -316,9 +316,9 @@ R 00 00 01 00 T 27 02 00 00 01 4D 00 00 00 DD 6E 04 DD 66 05 R 00 00 01 00 00 05 02 00 T 30 02 00 00 23 23 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 1F 00 +R 00 00 01 00 2B 0A 1C 00 T 38 02 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 1F 00 02 09 05 00 +R 00 00 01 00 02 04 1C 00 02 09 05 00 T 3F 02 00 00 20 17 R 00 00 01 00 T 41 02 00 00 @@ -334,9 +334,9 @@ R 00 00 01 00 T 58 02 00 00 01 2F 00 DD 6E 04 DD 66 05 23 23 R 00 00 01 00 T 63 02 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 1C 00 +R 00 00 01 00 2B 08 19 00 T 69 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 1C 00 02 09 05 00 +R 00 00 01 00 02 04 19 00 02 09 05 00 T 70 02 00 00 F8 DD 74 F9 7D B4 28 26 R 00 00 01 00 T 78 02 00 00 @@ -346,7 +346,7 @@ R 00 00 01 00 T 83 02 00 00 74 F9 2B 36 00 DD 5E F8 DD 56 F9 R 00 00 01 00 T 8E 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 36 00 02 0A 36 00 +R 00 00 01 00 2B 05 33 00 02 0A 33 00 T 94 02 00 00 00 00 00 00 DD 75 F6 DD 74 F7 18 R 00 00 01 00 02 04 05 00 T 9D 02 00 00 08 @@ -370,9 +370,9 @@ R 00 00 01 00 T CB 02 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T D6 02 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 08 00 +R 00 00 01 00 02 06 09 00 T DC 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 16 00 02 09 16 00 +R 00 00 01 00 2B 04 15 00 02 09 15 00 T E1 02 00 00 00 00 00 00 F1 F1 21 01 00 C3 R 00 00 01 00 02 04 05 00 T E9 02 00 00 3E 04 00 00 @@ -394,11 +394,11 @@ R 00 00 01 00 T 0A 03 00 00 21 04 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 T 15 03 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 32 00 +R 00 00 01 00 2B 08 22 00 T 1C 03 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 32 00 2B 0A 3E 00 +R 00 00 01 00 02 04 22 00 2B 0A 3F 00 T 22 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 3E 00 02 09 05 00 +R 00 00 01 00 02 04 3F 00 02 09 05 00 T 29 03 00 00 F1 21 01 00 C3 3E 04 00 00 R 00 00 01 00 00 09 01 00 T 30 03 00 00 @@ -406,7 +406,7 @@ R 00 00 01 00 T 30 03 00 00 DD 4E 02 DD 46 03 21 03 00 CD R 00 00 01 00 T 3A 03 00 00 00 00 00 00 30 4B -R 00 00 01 00 02 04 3C 00 +R 00 00 01 00 02 04 3B 00 T 3E 03 00 00 R 00 00 01 00 T 3E 03 00 00 21 06 00 DD 4E 04 DD 46 05 09 5E @@ -424,9 +424,9 @@ R 00 00 01 00 T 65 03 00 00 21 06 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 T 70 03 00 00 23 46 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 08 08 00 +R 00 00 01 00 02 08 09 00 T 78 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 16 00 02 09 16 00 +R 00 00 01 00 2B 04 15 00 02 09 15 00 T 7D 03 00 00 00 00 00 00 F1 F1 21 01 00 C3 R 00 00 01 00 02 04 05 00 T 85 03 00 00 3E 04 00 00 @@ -446,15 +446,15 @@ R 00 00 01 00 T 96 03 00 00 DD 4E 02 DD 46 03 21 04 00 CD R 00 00 01 00 T A0 03 00 00 00 00 00 00 30 23 -R 00 00 01 00 02 04 3C 00 +R 00 00 01 00 02 04 3B 00 T A4 03 00 00 R 00 00 01 00 T A4 03 00 00 21 08 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 T AF 03 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 3A 00 +R 00 00 01 00 2B 07 39 00 T B4 03 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 3A 00 02 09 05 00 +R 00 00 01 00 02 04 39 00 02 09 05 00 T BB 03 00 00 FA DD 74 FB DD 71 FC DD 70 FD 18 R 00 00 01 00 T C6 03 00 00 0E @@ -480,7 +480,7 @@ R 00 00 01 00 T 0C 04 00 00 4E F0 DD 46 F1 DD 5E EE DD 56 EF R 00 00 01 00 T 17 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 38 00 02 0A 38 00 +R 00 00 01 00 2B 05 37 00 02 0A 37 00 T 1D 04 00 00 00 00 00 00 EB 21 12 00 39 F9 EB R 00 00 01 00 02 04 05 00 T 26 04 00 00 7D B4 20 11 @@ -488,9 +488,9 @@ R 00 00 01 00 T 2A 04 00 00 R 00 00 01 00 T 2A 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1D 00 02 0B 1D 00 +R 00 00 01 00 2B 05 38 00 02 0B 38 00 T 30 04 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 3E 00 02 0B 3E 00 +R 00 00 01 00 2B 06 3F 00 02 0B 3F 00 T 36 04 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 05 05 00 T 3B 04 00 00 @@ -500,17 +500,17 @@ R 00 00 01 00 T 3E 04 00 00 R 00 00 01 00 T 3E 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 19 00 +R 00 00 01 00 02 05 17 00 T 41 04 00 00 R 00 00 01 00 T 41 04 00 00 CD 00 00 00 00 F8 FF 01 -R 00 00 01 00 02 05 34 00 +R 00 00 01 00 02 05 30 00 T 47 04 00 00 4D 00 00 00 DD 6E 04 DD 66 05 23 R 00 00 01 00 00 04 02 00 T 50 04 00 00 23 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 1F 00 +R 00 00 01 00 2B 09 1C 00 T 57 04 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 1F 00 02 09 05 00 +R 00 00 01 00 02 04 1C 00 02 09 05 00 T 5E 04 00 00 20 17 R 00 00 01 00 T 60 04 00 00 @@ -526,9 +526,9 @@ R 00 00 01 00 T 77 04 00 00 01 2F 00 DD 6E 04 DD 66 05 23 23 R 00 00 01 00 T 82 04 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 1C 00 +R 00 00 01 00 2B 08 19 00 T 88 04 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 1C 00 02 09 05 00 +R 00 00 01 00 02 04 19 00 02 09 05 00 T 8F 04 00 00 F8 DD 74 F9 7D B4 28 26 R 00 00 01 00 T 97 04 00 00 @@ -538,7 +538,7 @@ R 00 00 01 00 T A2 04 00 00 74 F9 2B 36 00 DD 5E F8 DD 56 F9 R 00 00 01 00 T AD 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 36 00 02 0A 36 00 +R 00 00 01 00 2B 05 33 00 02 0A 33 00 T B3 04 00 00 00 00 00 00 DD 75 FA DD 74 FB 18 R 00 00 01 00 02 04 05 00 T BC 04 00 00 08 @@ -562,9 +562,9 @@ R 00 00 01 00 T EA 04 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T F5 04 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 08 00 +R 00 00 01 00 02 06 09 00 T FB 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 16 00 02 09 16 00 +R 00 00 01 00 2B 04 15 00 02 09 15 00 T 00 05 00 00 00 00 00 00 F1 F1 21 01 00 18 1C R 00 00 01 00 02 04 05 00 T 09 05 00 00 @@ -576,25 +576,25 @@ R 00 00 01 00 T 14 05 00 00 46 FF DD 5E FC DD 56 FD 3E R 00 00 01 00 T 1D 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 45 00 02 09 45 00 +R 00 00 01 00 2B 04 44 00 02 09 44 00 T 22 05 00 00 00 00 00 00 F1 R 00 00 01 00 02 04 05 00 T 25 05 00 00 R 00 00 01 00 T 25 05 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 19 00 +R 00 00 01 00 02 05 17 00 T 28 05 00 00 R 00 00 01 00 T 28 05 00 00 CD 00 00 00 00 F8 FF 3A -R 00 00 01 00 02 05 34 00 +R 00 00 01 00 02 05 30 00 T 2E 05 00 00 25 00 00 00 3D 20 13 -R 00 00 01 00 02 04 1E 00 +R 00 00 01 00 02 04 1B 00 T 33 05 00 00 R 00 00 01 00 T 33 05 00 00 21 00 00 E5 01 00 00 11 00 00 3E R 00 00 01 00 T 3E 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 45 00 02 09 45 00 +R 00 00 01 00 2B 04 44 00 02 09 44 00 T 43 05 00 00 00 00 00 00 F1 R 00 00 01 00 02 04 05 00 T 46 05 00 00 @@ -622,7 +622,7 @@ R 00 00 01 00 T 78 05 00 00 01 0E 00 DD 5E FE DD 56 FF CD R 00 00 01 00 T 82 05 00 00 00 00 00 00 DD 6E FC DD 66 FD 29 -R 00 00 01 00 02 04 35 00 +R 00 00 01 00 02 04 31 00 T 8B 05 00 00 19 01 00 00 00 00 09 46 23 66 68 R 00 00 01 00 02 06 04 00 T 94 05 00 00 DD 75 F8 DD 74 F9 @@ -646,9 +646,9 @@ R 00 00 01 00 T CD 05 00 00 23 56 D5 21 04 00 09 5E 23 56 23 R 00 00 01 00 T D8 05 00 00 4E 23 46 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 45 00 +R 00 00 01 00 2B 08 44 00 T DE 05 00 00 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 04 45 00 02 09 05 00 +R 00 00 01 00 02 04 44 00 02 09 05 00 T E4 05 00 00 R 00 00 01 00 T E4 05 00 00 DD 6E FA DD 66 FB DD 75 F8 DD 74 @@ -674,11 +674,11 @@ R 00 00 01 00 00 05 01 00 T 08 06 00 00 R 00 00 01 00 T 08 06 00 00 21 00 00 C3 00 00 00 00 -R 00 00 01 00 02 08 19 00 +R 00 00 01 00 02 08 17 00 T 0E 06 00 00 R 00 00 01 00 T 0E 06 00 00 CD 00 00 00 00 FE FF 21 04 00 DD -R 00 00 01 00 02 05 34 00 +R 00 00 01 00 02 05 30 00 T 17 06 00 00 4E 02 DD 46 03 09 7E 23 B6 23 B6 R 00 00 01 00 T 22 06 00 00 23 B6 28 21 @@ -688,9 +688,9 @@ R 00 00 01 00 T 26 06 00 00 21 04 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 T 31 06 00 00 23 56 23 4E 23 46 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 +R 00 00 01 00 2B 0B 03 00 T 39 06 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 02 00 02 0A 05 00 +R 00 00 01 00 02 05 03 00 02 0A 05 00 T 40 06 00 00 75 FE DD 74 FF 18 08 R 00 00 01 00 T 47 06 00 00 @@ -704,25 +704,25 @@ R 00 00 01 00 T 4F 06 00 00 DD 6E FE DD 66 FF E5 0E R 00 00 01 00 T 57 06 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 33 00 02 0A 33 00 +R 00 00 01 00 2B 04 0F 00 02 0A 0F 00 T 5D 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 3E 00 02 0A 3E 00 +R 00 00 01 00 2B 05 3F 00 02 0A 3F 00 T 63 06 00 00 00 00 00 00 F1 F1 F1 21 08 00 DD R 00 00 01 00 02 04 05 00 T 6C 06 00 00 4E 02 DD 46 03 09 5E 23 56 D5 1E R 00 00 01 00 T 77 06 00 00 00 00 00 00 D5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 11 00 02 0A 11 00 +R 00 00 01 00 2B 04 25 00 02 0A 25 00 T 7D 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 3E 00 02 0A 3E 00 +R 00 00 01 00 2B 05 3F 00 02 0A 3F 00 T 83 06 00 00 00 00 00 00 F1 F1 F1 21 12 00 09 R 00 00 01 00 02 04 05 00 T 8C 06 00 00 56 23 66 6A 23 23 5E 23 56 D5 1E R 00 00 01 00 T 97 06 00 00 00 00 00 00 D5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0D 00 02 0A 0D 00 +R 00 00 01 00 2B 04 2C 00 02 0A 2C 00 T 9D 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 3E 00 02 0A 3E 00 +R 00 00 01 00 2B 05 3F 00 02 0A 3F 00 T A3 06 00 00 00 00 00 00 F1 F1 F1 21 0A 00 09 R 00 00 01 00 02 04 05 00 T AC 06 00 00 7E 23 B6 23 B6 23 B6 28 21 @@ -732,9 +732,9 @@ R 00 00 01 00 T B5 06 00 00 21 0A 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 T C0 06 00 00 23 56 23 4E 23 46 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 +R 00 00 01 00 2B 0B 03 00 T C8 06 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 02 00 02 0A 05 00 +R 00 00 01 00 02 05 03 00 02 0A 05 00 T CF 06 00 00 75 FE DD 74 FF 18 08 R 00 00 01 00 T D6 06 00 00 @@ -748,19 +748,19 @@ R 00 00 01 00 T DE 06 00 00 DD 6E FE DD 66 FF E5 0E R 00 00 01 00 T E6 06 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 28 00 02 0A 28 00 +R 00 00 01 00 2B 04 18 00 02 0A 18 00 T EC 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 3E 00 02 0A 3E 00 +R 00 00 01 00 2B 05 3F 00 02 0A 3F 00 T F2 06 00 00 00 00 00 00 F1 F1 F1 21 0E 00 DD R 00 00 01 00 02 04 05 00 T FB 06 00 00 4E 02 DD 46 03 09 5E 23 56 23 4E R 00 00 01 00 T 06 07 00 00 23 46 C5 D5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 3B 00 +R 00 00 01 00 2B 09 08 00 T 0E 07 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 3B 00 2B 0A 3E 00 +R 00 00 01 00 02 04 08 00 2B 0A 3F 00 T 14 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 3E 00 02 09 05 00 +R 00 00 01 00 02 04 3F 00 02 09 05 00 T 1B 07 00 00 F1 F1 21 14 00 DD 4E 02 DD 46 03 R 00 00 01 00 T 26 07 00 00 09 7E E6 01 57 23 7E E6 00 B2 28 @@ -774,23 +774,23 @@ R 00 00 01 00 T 3A 07 00 00 R 00 00 01 00 T 3A 07 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 2C 00 +R 00 00 01 00 2B 06 27 00 T 3F 07 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 2C 00 2B 0A 3E 00 +R 00 00 01 00 02 04 27 00 2B 0A 3F 00 T 45 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 3E 00 02 09 05 00 +R 00 00 01 00 02 04 3F 00 02 09 05 00 T 4C 07 00 00 F1 21 00 00 E5 21 E8 03 E5 21 R 00 00 01 00 T 56 07 00 00 16 00 DD 4E 02 DD 46 03 09 EB 3E R 00 00 01 00 T 61 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 21 00 02 09 21 00 +R 00 00 01 00 2B 04 1F 00 02 09 1F 00 T 66 07 00 00 00 00 00 00 CD 00 00 00 00 C5 E5 -R 00 00 01 00 02 04 05 00 02 09 37 00 +R 00 00 01 00 02 04 05 00 02 09 36 00 T 6D 07 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 +R 00 00 01 00 2B 05 1E 00 02 0B 1E 00 T 73 07 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 3E 00 02 0B 3E 00 +R 00 00 01 00 2B 06 3F 00 02 0B 3F 00 T 79 07 00 00 CD 00 00 00 00 F1 F1 F1 F1 21 R 00 00 01 00 02 05 05 00 T 81 07 00 00 26 00 DD 4E 02 DD 46 03 09 4E 23 @@ -798,17 +798,17 @@ R 00 00 01 00 T 8C 07 00 00 46 23 5E 23 56 D5 C5 0E R 00 00 01 00 T 94 07 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 12 00 02 0A 12 00 +R 00 00 01 00 2B 04 02 00 02 0A 02 00 T 9A 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 3E 00 02 0A 3E 00 +R 00 00 01 00 2B 05 3F 00 02 0A 3F 00 T A0 07 00 00 00 00 00 00 F1 F1 F1 F1 C3 R 00 00 01 00 02 04 05 00 T A7 07 00 00 00 00 00 00 -R 00 00 01 00 02 04 20 00 +R 00 00 01 00 02 04 1D 00 T A9 07 00 00 R 00 00 01 00 T A9 07 00 00 CD 00 00 00 00 FA FF 03 03 0A 5F -R 00 00 01 00 02 05 34 00 +R 00 00 01 00 02 05 30 00 T B2 07 00 00 03 0A 57 3E 00 00 00 00 21 R 00 00 01 00 2B 08 00 00 T B8 07 00 00 00 00 00 00 CD 00 00 00 00 DD 75 @@ -822,11 +822,11 @@ R 00 00 01 00 T CF 07 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T DA 07 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 4A 00 +R 00 00 01 00 2B 06 32 00 T DF 07 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 4A 00 2B 0A 3E 00 +R 00 00 01 00 02 04 32 00 2B 0A 3F 00 T E5 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 3E 00 02 09 05 00 +R 00 00 01 00 02 04 3F 00 02 09 05 00 T EC 07 00 00 F1 21 01 00 18 63 R 00 00 01 00 T F2 07 00 00 @@ -834,7 +834,7 @@ R 00 00 01 00 T F2 07 00 00 DD 4E FE DD 46 FF DD 5E FC DD 56 R 00 00 01 00 T FD 07 00 00 FD 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 23 00 02 0B 23 00 +R 00 00 01 00 2B 06 24 00 02 0B 24 00 T 03 08 00 00 CD 00 00 00 00 DD 75 FA DD 74 FB R 00 00 01 00 02 05 05 00 T 0C 08 00 00 7D B4 20 39 @@ -844,15 +844,15 @@ R 00 00 01 00 T 10 08 00 00 DD 4E FE DD 46 FF DD 5E FC DD 56 R 00 00 01 00 T 1B 08 00 00 FD 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 02 00 02 0B 02 00 +R 00 00 01 00 2B 06 03 00 02 0B 03 00 T 21 08 00 00 CD 00 00 00 00 E5 DD 6E 04 DD 66 R 00 00 01 00 02 05 05 00 T 2A 08 00 00 05 23 23 4E 23 46 C5 0E R 00 00 01 00 T 32 08 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 1B 00 02 0A 1B 00 +R 00 00 01 00 2B 04 2E 00 02 0A 2E 00 T 38 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 3E 00 02 0A 3E 00 +R 00 00 01 00 2B 05 3F 00 02 0A 3F 00 T 3E 08 00 00 00 00 00 00 F1 F1 F1 F1 21 01 00 R 00 00 01 00 02 04 05 00 T 47 08 00 00 18 0C @@ -866,11 +866,11 @@ R 00 00 01 00 T 55 08 00 00 R 00 00 01 00 T 55 08 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 19 00 +R 00 00 01 00 02 05 17 00 T 58 08 00 00 R 00 00 01 00 T 58 08 00 00 CD 00 00 00 00 FA FF DD 36 FE 01 -R 00 00 01 00 02 05 34 00 +R 00 00 01 00 02 05 30 00 T 61 08 00 00 DD 36 FF 00 R 00 00 01 00 T 65 08 00 00 @@ -878,45 +878,45 @@ R 00 00 01 00 T 65 08 00 00 DD 4E FE DD 46 FF 21 13 00 CD R 00 00 01 00 T 6F 08 00 00 00 00 00 00 DA FD 08 00 00 -R 00 00 01 00 02 04 3C 00 00 09 01 00 +R 00 00 01 00 02 04 3B 00 00 09 01 00 T 74 08 00 00 R 00 00 01 00 T 74 08 00 00 01 06 00 DD 5E FE DD 56 FF CD R 00 00 01 00 T 7E 08 00 00 00 00 00 00 21 02 00 00 00 19 4E -R 00 00 01 00 02 04 35 00 02 09 15 00 +R 00 00 01 00 02 04 31 00 02 09 13 00 T 85 08 00 00 23 46 23 5E 23 56 D5 C5 01 06 00 R 00 00 01 00 T 90 08 00 00 DD 5E FE DD 56 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 35 00 +R 00 00 01 00 02 0B 31 00 T 99 08 00 00 21 00 00 00 00 19 4E 23 46 C5 DD -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 13 00 T A2 08 00 00 6E FE DD 66 FF E5 0E 00 00 00 00 -R 00 00 01 00 2B 0B 39 00 +R 00 00 01 00 2B 0B 34 00 T AA 08 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 39 00 +R 00 00 01 00 02 06 34 00 T B0 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 3E 00 02 09 3E 00 +R 00 00 01 00 2B 04 3F 00 02 09 3F 00 T B5 08 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB R 00 00 01 00 02 04 05 00 T BE 08 00 00 01 02 00 DD 5E FE DD 56 FF CD R 00 00 01 00 T C8 08 00 00 00 00 00 00 7B B2 28 13 -R 00 00 01 00 02 04 3D 00 +R 00 00 01 00 02 04 3C 00 T CE 08 00 00 R 00 00 01 00 T CE 08 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 41 00 02 0B 41 00 T D4 08 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 3E 00 02 0B 3E 00 +R 00 00 01 00 2B 06 3F 00 02 0B 3F 00 T DA 08 00 00 CD 00 00 00 00 F1 F1 18 11 R 00 00 01 00 02 05 05 00 T E1 08 00 00 R 00 00 01 00 T E1 08 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +R 00 00 01 00 2B 05 10 00 02 0B 10 00 T E7 08 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 3E 00 02 0B 3E 00 +R 00 00 01 00 2B 06 3F 00 02 0B 3F 00 T ED 08 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 05 05 00 T F2 08 00 00 @@ -932,37 +932,37 @@ R 00 00 01 00 T FD 08 00 00 01 02 00 DD 5E FE DD 56 FF CD R 00 00 01 00 T 07 09 00 00 00 00 00 00 7B B2 20 11 -R 00 00 01 00 02 04 3D 00 +R 00 00 01 00 02 04 3C 00 T 0D 09 00 00 R 00 00 01 00 T 0D 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +R 00 00 01 00 2B 05 10 00 02 0B 10 00 T 13 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 3E 00 02 0B 3E 00 +R 00 00 01 00 2B 06 3F 00 02 0B 3F 00 T 19 09 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 05 05 00 T 1E 09 00 00 R 00 00 01 00 T 1E 09 00 00 2A 00 00 00 00 7D B4 2A -R 00 00 01 00 02 05 18 00 +R 00 00 01 00 02 05 16 00 T 24 09 00 00 02 00 00 00 B5 B4 28 3E 2A -R 00 00 01 00 02 04 18 00 +R 00 00 01 00 02 04 16 00 T 2B 09 00 00 02 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 02 04 18 00 02 0A 18 00 +R 00 00 01 00 02 04 16 00 02 0A 16 00 T 32 09 00 00 21 00 00 E5 21 02 00 E5 ED 4B R 00 00 01 00 T 3C 09 00 00 02 00 00 00 2A 00 00 00 00 CD -R 00 00 01 00 02 04 18 00 02 09 18 00 +R 00 00 01 00 02 04 16 00 02 09 16 00 T 42 09 00 00 00 00 00 00 C5 E5 21 00 00 E5 21 -R 00 00 01 00 02 04 37 00 +R 00 00 01 00 02 04 36 00 T 4B 09 00 00 64 00 E5 ED 4B 02 00 00 00 2A -R 00 00 01 00 02 09 24 00 +R 00 00 01 00 02 09 28 00 T 53 09 00 00 00 00 00 00 CD 00 00 00 00 59 50 -R 00 00 01 00 02 04 24 00 02 09 2D 00 +R 00 00 01 00 02 04 28 00 02 09 2B 00 T 5A 09 00 00 C1 09 EB C1 ED 4A 4D 44 EB CD R 00 00 01 00 T 64 09 00 00 00 00 00 00 18 06 -R 00 00 01 00 02 04 37 00 +R 00 00 01 00 02 04 36 00 T 68 09 00 00 R 00 00 01 00 T 68 09 00 00 01 00 00 21 00 00 @@ -970,31 +970,31 @@ R 00 00 01 00 T 6E 09 00 00 R 00 00 01 00 T 6E 09 00 00 C5 E5 2A 02 00 00 00 E5 2A -R 00 00 01 00 02 07 24 00 +R 00 00 01 00 02 07 28 00 T 75 09 00 00 00 00 00 00 E5 2A 02 00 00 00 E5 -R 00 00 01 00 02 04 24 00 02 0A 18 00 +R 00 00 01 00 02 04 28 00 02 0A 16 00 T 7C 09 00 00 2A 00 00 00 00 E5 0E 00 00 00 00 -R 00 00 01 00 02 05 18 00 2B 0B 06 00 +R 00 00 01 00 02 05 16 00 2B 0B 01 00 T 82 09 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 06 00 +R 00 00 01 00 02 06 01 00 T 88 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 3E 00 02 09 3E 00 +R 00 00 01 00 2B 04 3F 00 02 09 3F 00 T 8D 09 00 00 00 00 00 00 EB 21 10 00 39 F9 EB R 00 00 01 00 02 04 05 00 T 96 09 00 00 2A 00 00 00 00 7D B4 28 11 -R 00 00 01 00 02 05 30 00 +R 00 00 01 00 02 05 2F 00 T 9D 09 00 00 R 00 00 01 00 T 9D 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 40 00 02 0B 40 00 +R 00 00 01 00 2B 05 29 00 02 0B 29 00 T A3 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 3E 00 02 0B 3E 00 +R 00 00 01 00 2B 06 3F 00 02 0B 3F 00 T A9 09 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 05 05 00 T AE 09 00 00 R 00 00 01 00 T AE 09 00 00 2A 00 00 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 02 05 30 00 +R 00 00 01 00 02 05 2F 00 T B7 09 00 00 R 00 00 01 00 T B7 09 00 00 DD 7E FA DD B6 FB CA C1 0A 00 00 @@ -1004,41 +1004,41 @@ R 00 00 01 00 T C0 09 00 00 21 16 00 DD 4E FA DD 46 FB 09 5E R 00 00 01 00 T CB 09 00 00 23 56 23 4E 23 46 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 +R 00 00 01 00 2B 0B 03 00 T D3 09 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 02 00 02 0A 05 00 +R 00 00 01 00 02 05 03 00 02 0A 05 00 T DA 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 31 00 02 0B 31 00 +R 00 00 01 00 2B 05 4A 00 02 0B 4A 00 T E0 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 3E 00 02 0B 3E 00 +R 00 00 01 00 2B 06 3F 00 02 0B 3F 00 T E6 09 00 00 CD 00 00 00 00 F1 F1 F1 21 1A 00 R 00 00 01 00 02 05 05 00 T EF 09 00 00 DD 4E FA DD 46 FB 09 5E 23 56 23 R 00 00 01 00 T FA 09 00 00 4E 23 46 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 02 00 +R 00 00 01 00 2B 08 03 00 T 00 0A 00 00 00 00 00 00 CD 00 00 00 00 E5 0E -R 00 00 01 00 02 04 02 00 02 09 05 00 +R 00 00 01 00 02 04 03 00 02 09 05 00 T 07 0A 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 14 00 02 0A 14 00 +R 00 00 01 00 2B 04 11 00 02 0A 11 00 T 0D 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 3E 00 02 0A 3E 00 +R 00 00 01 00 2B 05 3F 00 02 0A 3F 00 T 13 0A 00 00 00 00 00 00 F1 F1 F1 21 14 00 DD R 00 00 01 00 02 04 05 00 T 1C 0A 00 00 4E FA DD 46 FB 09 5E 23 56 D5 59 R 00 00 01 00 T 27 0A 00 00 50 13 13 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 21 00 +R 00 00 01 00 2B 08 1F 00 T 2D 0A 00 00 00 00 00 00 CD 00 00 00 00 C5 E5 -R 00 00 01 00 02 04 21 00 02 09 05 00 +R 00 00 01 00 02 04 1F 00 02 09 05 00 T 34 0A 00 00 21 20 00 DD 4E FA DD 46 FB 09 5E R 00 00 01 00 T 3F 0A 00 00 16 00 D5 21 1E 00 09 5E 23 56 D5 R 00 00 01 00 T 4A 0A 00 00 1E 00 00 00 00 D5 21 00 00 00 00 -R 00 00 01 00 2B 05 29 00 02 0B 29 00 +R 00 00 01 00 2B 05 35 00 02 0B 35 00 T 50 0A 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 3E 00 02 0B 3E 00 +R 00 00 01 00 2B 06 3F 00 02 0B 3F 00 T 56 0A 00 00 CD 00 00 00 00 EB 21 0E 00 39 F9 R 00 00 01 00 02 05 05 00 T 5F 0A 00 00 EB 21 12 00 09 46 23 66 68 DD 75 @@ -1056,9 +1056,9 @@ R 00 00 01 00 T 81 0A 00 00 23 56 D5 21 06 00 09 5E 23 56 D5 R 00 00 01 00 T 8C 0A 00 00 1E 00 00 00 00 D5 21 00 00 00 00 -R 00 00 01 00 2B 05 4B 00 02 0B 4B 00 +R 00 00 01 00 2B 05 46 00 02 0B 46 00 T 92 0A 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 3E 00 02 0B 3E 00 +R 00 00 01 00 2B 06 3F 00 02 0B 3F 00 T 98 0A 00 00 CD 00 00 00 00 F1 F1 F1 F1 03 03 R 00 00 01 00 02 05 05 00 T A1 0A 00 00 0A 6F 03 0A 67 DD 75 FC DD 74 FD @@ -1074,7 +1074,7 @@ R 00 00 01 00 00 0A 01 00 T C1 0A 00 00 R 00 00 01 00 T C1 0A 00 00 21 00 00 C3 00 00 00 00 -R 00 00 01 00 02 08 19 00 +R 00 00 01 00 02 08 17 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 44 65 73 74 20 20 20 20 20 20 20 @@ -1116,40 +1116,40 @@ R 00 00 04 00 T 4E 00 00 00 R 00 00 04 00 T 00 00 00 00 00 00 00 00 3B 00 00 00 00 00 -R 00 00 05 00 4A 04 46 00 48 08 01 00 +R 00 00 05 00 4A 04 0B 00 48 08 01 00 T 08 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 09 27 00 +R 00 00 05 00 4A 09 20 00 T 10 00 00 00 D3 00 00 00 00 00 00 00 00 00 00 R 00 00 05 00 48 04 01 00 T 1A 00 00 00 00 00 00 00 58 08 00 00 00 00 -R 00 00 05 00 4A 04 42 00 48 08 01 00 +R 00 00 05 00 4A 04 3D 00 48 08 01 00 T 22 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 09 01 00 +R 00 00 05 00 4A 09 48 00 T 2A 00 00 00 1D 00 00 00 00 00 00 00 00 00 00 R 00 00 05 00 48 04 01 00 T 34 00 00 00 00 00 00 00 F1 00 00 00 00 00 -R 00 00 05 00 4A 04 1A 00 48 08 01 00 +R 00 00 05 00 4A 04 12 00 48 08 01 00 T 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 05 00 T 47 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 0B 13 00 +R 00 00 05 00 4A 0B 3A 00 T 51 00 00 00 FB 01 00 00 00 00 03 00 R 00 00 05 00 48 04 01 00 T 58 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 04 10 00 4A 08 48 00 +R 00 00 05 00 4A 04 45 00 4A 08 0E 00 T 5E 00 00 00 FB 01 00 00 00 00 03 00 R 00 00 05 00 48 04 01 00 T 65 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 04 03 00 4A 08 17 00 +R 00 00 05 00 4A 04 3E 00 4A 08 4B 00 T 6B 00 00 00 41 04 00 00 00 00 02 00 R 00 00 05 00 48 04 01 00 T 72 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 04 2E 00 4A 08 2A 00 +R 00 00 05 00 4A 04 1A 00 4A 08 21 00 T 78 00 00 00 28 05 00 00 00 00 00 00 00 00 00 R 00 00 05 00 48 04 01 00 T 82 00 00 00 00 00 00 00 A9 07 00 00 00 00 -R 00 00 05 00 4A 04 25 00 48 08 01 00 +R 00 00 05 00 4A 04 0D 00 48 08 01 00 T 8A 00 00 00 02 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 06 0F 00 +R 00 00 05 00 4A 06 07 00 T 94 00 00 00 00 00 00 00 00 00 00 00 R 00 00 05 00 diff --git a/src/nos/lib/internet_lib/ipsock.rel b/src/nos/lib/internet_lib/ipsock.rel index 1ab958f8..f1b2b4c3 100644 --- a/src/nos/lib/internet_lib/ipsock.rel +++ b/src/nos/lib/internet_lib/ipsock.rel @@ -103,7 +103,7 @@ T AE 00 00 00 B7 28 13 R 00 00 01 00 T B1 00 00 00 R 00 00 01 00 -T B1 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T B1 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 09 00 T BA 00 00 00 64 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -111,7 +111,7 @@ T C2 00 00 00 BE 01 00 00 R 00 00 01 00 00 04 01 00 T C4 00 00 00 R 00 00 01 00 -T C4 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T C4 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 09 00 T CD 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 R 00 00 01 00 2B 0B 0C 00 @@ -133,7 +133,7 @@ T ED 00 00 00 DD 7E BA DD B6 BB 20 13 R 00 00 01 00 T F5 00 00 00 R 00 00 01 00 -T F5 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T F5 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 09 00 T FE 00 00 00 65 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -237,7 +237,7 @@ T 2D 02 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 R 00 00 01 00 2B 0B 14 00 T 35 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 14 00 02 0A 01 00 -T 3C 02 00 00 4D 00 ED 4B 00 00 00 00 09 36 65 +T 3C 02 00 00 4F 00 ED 4B 00 00 00 00 09 36 65 R 00 00 01 00 02 08 09 00 T 45 02 00 00 23 36 00 21 FF FF 18 62 R 00 00 01 00 diff --git a/src/nos/lib/internet_lib/keychar.rel b/src/nos/lib/internet_lib/keychar.rel index 2bb0ae85..8271aa3a 100644 --- a/src/nos/lib/internet_lib/keychar.rel +++ b/src/nos/lib/internet_lib/keychar.rel @@ -1,13 +1,13 @@ XL4 H 2 areas A global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0486_699f__5eC_0a Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _alert Ref00000000 S __fprintf Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S _Current Ref00000000 -S ___03f3_699f__5eC_0a Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 56 flags 0 @@ -15,7 +15,7 @@ S _keychar Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 3E 03 AB B2 28 05 -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 06 00 T 09 00 00 00 R 00 00 01 00 T 09 00 00 00 21 01 00 18 45 @@ -23,26 +23,26 @@ R 00 00 01 00 T 0E 00 00 00 R 00 00 01 00 T 0E 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0B 07 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 T 14 00 00 00 E5 21 1B 00 ED 4B 00 00 00 00 09 -R 00 00 01 00 02 0A 06 00 +R 00 00 01 00 02 0A 07 00 T 1D 00 00 00 5E 23 56 D5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 03 00 +R 00 00 01 00 2B 09 04 00 T 24 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 02 09 00 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T 2B 00 00 00 F1 01 6B 00 21 07 00 ED 5B R 00 00 01 00 T 34 00 00 00 00 00 00 00 19 5E 23 56 3E -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 07 00 T 3B 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T 40 00 00 00 00 00 00 00 21 20 00 ED 4B R 00 00 01 00 02 04 00 00 T 47 00 00 00 00 00 00 00 09 AF 77 23 77 23 77 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 07 00 T 50 00 00 00 21 00 00 R 00 00 01 00 T 53 00 00 00 R 00 00 01 00 T 53 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/internet_lib/ping.rel b/src/nos/lib/internet_lib/ping.rel index a727dc28..7166c0c7 100644 --- a/src/nos/lib/internet_lib/ping.rel +++ b/src/nos/lib/internet_lib/ping.rel @@ -1,30 +1,32 @@ XL4 H 3 areas 41 global symbols S _resolve Ref00000000 +S ___0192_04ae__25s_3a_20rtt_20_25 Ref00000000 S _inet_ntoa Ref00000000 -S ___0166_04ae__25s_3a_20rtt_20_25 Ref00000000 S _ambufw Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___03b5_2057_Too_20many_20sessio Ref00000000 S ?L_DEC_L03 Ref00000000 +S ___03c3_7fa9_Pinging_20suspended Ref00000000 S _Icmp_echo Ref00000000 +S ___0486_699f__5eC_0a Ref00000000 +S ___03c2_94a5_Pinging_20resumed_0 Ref00000000 S ?S_V_SWITCH_L06 Ref00000000 S _socket Ref00000000 S _memset Ref00000000 S _memcpy Ref00000000 +S ___0130_2875__2510lu_2510lu_255l Ref00000000 S _ppause Ref00000000 S _newsession Ref00000000 S ?L_INC_L03 Ref00000000 -S ___0117_2875__2510lu_2510lu_255l Ref00000000 S _setjmp Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___0444_2057_Too_20many_20sessio Ref00000000 S _close Ref00000000 -S ___0345_7fa9_Pinging_20suspended Ref00000000 S _alert Ref00000000 S __fprintf Ref00000000 S ?LEAVE_DIRECT_L09 Ref00000000 -S ___0344_94a5_Pinging_20resumed_0 Ref00000000 -S ___0047_da1e__20_20_20_20_20_20s Ref00000000 +S ___0048_da1e__20_20_20_20_20_20s Ref00000000 +S ___03c1_7bc8_Pinging_20_25s_0a Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S _kwait Ref00000000 @@ -35,31 +37,29 @@ S _ntohicmp Ref00000000 S _htonicmp Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S _Current Ref00000000 -S ___0369_ae52_Resolving_20_25s_2e Ref00000000 S ?L_MUL_L03 Ref00000000 S _freesession Ref00000000 +S ___06db_5c70_unknown_0a Ref00000000 S _ksignal Ref00000000 S ?SL_CMP_L03 Ref00000000 S ?SL_MOD_L03 Ref00000000 -S ___05fe_5c70_unknown_0a Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _msclock Ref00000000 -S ___0204_ef8c_Can_27t_20create_20 Ref00000000 S ?L_INCASG_L03 Ref00000000 S _atoi Ref00000000 S ?SL_DIV_L03 Ref00000000 S _atol Ref00000000 -S ___0343_7bc8_Pinging_20_25s_0a Ref00000000 S ?SS_CMP_L02 Ref00000000 S _free_p Ref00000000 +S ___0236_ef8c_Can_27t_20create_20 Ref00000000 S __printf Ref00000000 -S ___03f3_699f__5eC_0a Ref00000000 S _send_mbuf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S ?SL_RSH_L03 Ref00000000 S _recv_mbuf Ref00000000 S _shutdown Ref00000000 S _Cmdline Ref00000000 +S ___03ec_ae52_Resolving_20_25s_2e Ref00000000 S _newproc Ref00000000 S _keywait Ref00000000 A _DEFAULT size 0 flags 0 @@ -71,17 +71,17 @@ A CSTR size 7 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 AE FF 21 28 00 E5 -R 00 00 01 00 02 05 2A 00 +R 00 00 01 00 02 05 2B 00 T 09 00 00 00 01 00 00 21 2A 00 39 5D 54 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0C 00 02 09 0C 00 T 18 00 00 00 00 00 00 00 F1 21 01 00 E5 01 R 00 00 01 00 02 04 04 00 T 20 00 00 00 04 00 ED 5B 00 00 00 00 3E -R 00 00 01 00 02 08 3B 00 +R 00 00 01 00 02 08 3A 00 T 27 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0D 00 02 09 0D 00 +R 00 00 01 00 2B 04 10 00 02 09 10 00 T 2C 00 00 00 00 00 00 00 F1 DD 75 D6 DD 74 D7 R 00 00 01 00 02 04 04 00 T 35 00 00 00 DD 75 FE DD 74 FF 7D B4 20 17 @@ -89,7 +89,7 @@ R 00 00 01 00 T 3F 00 00 00 R 00 00 01 00 T 3F 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 05 00 02 0B 05 00 +R 00 00 01 00 2B 05 14 00 02 0B 14 00 T 45 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 34 00 02 0B 34 00 T 4B 00 00 00 CD 00 00 00 00 F1 F1 21 01 00 C3 @@ -101,7 +101,7 @@ R 00 00 01 00 T 56 00 00 00 21 01 00 E5 01 02 00 11 00 00 3E R 00 00 01 00 T 61 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 66 00 00 00 00 00 00 00 F1 DD 75 D2 DD 74 D3 R 00 00 01 00 02 04 04 00 T 6F 00 00 00 DD 75 D8 DD 74 D9 7D A4 3C 20 33 @@ -109,7 +109,7 @@ R 00 00 01 00 T 7A 00 00 00 R 00 00 01 00 T 7A 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 2C 00 02 0B 2C 00 +R 00 00 01 00 2B 05 33 00 02 0B 33 00 T 80 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 34 00 02 0B 34 00 T 86 00 00 00 CD 00 00 00 00 F1 F1 01 01 00 11 @@ -119,9 +119,9 @@ R 00 00 01 00 2B 07 3D 00 T 94 00 00 00 00 00 00 00 CD 00 00 00 00 DD 5E R 00 00 01 00 02 04 3D 00 02 09 04 00 T 9B 00 00 00 FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 25 00 +R 00 00 01 00 2B 09 26 00 T A2 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 25 00 02 09 04 00 +R 00 00 01 00 02 04 26 00 02 09 04 00 T A8 00 00 00 01 00 C3 2B 07 00 00 R 00 00 01 00 00 07 01 00 T AD 00 00 00 @@ -133,31 +133,31 @@ R 00 00 01 00 09 04 01 00 89 0A 01 00 T BD 00 00 00 36 2E 07 00 00 21 04 00 ED 4B R 00 00 01 00 29 05 01 00 T C4 00 00 00 00 00 00 00 09 7E F6 08 77 23 7E -R 00 00 01 00 02 04 19 00 +R 00 00 01 00 02 04 1B 00 T CD 00 00 00 F6 00 77 21 22 00 ED 4B R 00 00 01 00 T D5 00 00 00 00 00 00 00 09 36 6B 23 36 00 21 -R 00 00 01 00 02 04 19 00 +R 00 00 01 00 02 04 1B 00 T DE 00 00 00 14 00 ED 4B 00 00 00 00 09 EB 3E -R 00 00 01 00 02 08 19 00 +R 00 00 01 00 02 08 1B 00 T E7 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 10 00 02 09 10 00 +R 00 00 01 00 2B 04 12 00 02 09 12 00 T EC 00 00 00 00 00 00 00 7D B4 28 30 R 00 00 01 00 02 04 04 00 T F2 00 00 00 R 00 00 01 00 T F2 00 00 00 DD 5E D2 DD 56 D3 3E 00 00 00 00 -R 00 00 01 00 2B 0B 12 00 +R 00 00 01 00 2B 0B 15 00 T FA 00 00 00 21 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 05 12 00 02 0A 04 00 +R 00 00 01 00 02 05 15 00 02 0A 04 00 T 01 01 00 00 01 00 11 00 00 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 3D 00 T 09 01 00 00 00 00 00 00 CD 00 00 00 00 DD 5E R 00 00 01 00 02 04 3D 00 02 09 04 00 T 10 01 00 00 FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 25 00 +R 00 00 01 00 2B 09 26 00 T 17 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 25 00 02 09 04 00 +R 00 00 01 00 02 04 26 00 02 09 04 00 T 1D 01 00 00 01 00 C3 2B 07 00 00 R 00 00 01 00 00 07 01 00 T 22 01 00 00 @@ -165,9 +165,9 @@ R 00 00 01 00 T 22 01 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T 2D 01 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 23 00 +R 00 00 01 00 2B 06 3B 00 T 32 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 23 00 2B 0A 34 00 +R 00 00 01 00 02 04 3B 00 2B 0A 34 00 T 38 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 34 00 02 09 04 00 T 3F 01 00 00 F1 DD 6E 04 DD 66 05 23 23 5E 23 @@ -183,23 +183,23 @@ R 00 00 01 00 T 65 01 00 00 R 00 00 01 00 T 65 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 29 00 02 0B 29 00 +R 00 00 01 00 2B 05 27 00 02 0B 27 00 T 6B 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 34 00 02 0B 34 00 T 71 01 00 00 CD 00 00 00 00 F1 F1 DD 5E D2 DD R 00 00 01 00 02 05 04 00 T 7A 01 00 00 56 D3 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 12 00 +R 00 00 01 00 2B 07 15 00 T 7F 01 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 04 12 00 02 09 04 00 +R 00 00 01 00 02 04 15 00 02 09 04 00 T 85 01 00 00 01 00 11 00 00 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 3D 00 T 8D 01 00 00 00 00 00 00 CD 00 00 00 00 DD 5E R 00 00 01 00 02 04 3D 00 02 09 04 00 T 94 01 00 00 FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 25 00 +R 00 00 01 00 2B 09 26 00 T 9B 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 25 00 02 09 04 00 +R 00 00 01 00 02 04 26 00 02 09 04 00 T A1 01 00 00 01 00 C3 2B 07 00 00 R 00 00 01 00 00 07 01 00 T A6 01 00 00 @@ -207,11 +207,11 @@ R 00 00 01 00 T A6 01 00 00 21 2C 00 39 5E 23 56 23 4E 23 46 R 00 00 01 00 T B1 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 01 00 02 0A 01 00 +R 00 00 01 00 2B 05 02 00 02 0A 02 00 T B7 01 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 04 00 2B 0A 31 00 +R 00 00 01 00 02 04 04 00 2B 0A 1A 00 T BD 01 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 31 00 2B 0B 34 00 +R 00 00 01 00 02 05 1A 00 2B 0B 34 00 T C3 01 00 00 21 00 00 00 00 CD 00 00 00 00 F1 R 00 00 01 00 02 05 34 00 02 0A 04 00 T CA 01 00 00 F1 F1 21 05 00 DD 4E FE DD 46 FF @@ -221,7 +221,7 @@ R 00 00 01 00 T E0 01 00 00 70 DD 4E 02 DD 46 03 21 02 00 CD R 00 00 01 00 T EB 01 00 00 00 00 00 00 30 1B -R 00 00 01 00 02 04 32 00 +R 00 00 01 00 02 04 31 00 T EF 01 00 00 R 00 00 01 00 T EF 01 00 00 21 04 00 DD 4E 04 DD 46 05 09 5E @@ -237,7 +237,7 @@ R 00 00 01 00 T 0A 02 00 00 DD 4E 02 DD 46 03 21 03 00 CD R 00 00 01 00 T 14 02 00 00 00 00 00 00 30 21 -R 00 00 01 00 02 04 32 00 +R 00 00 01 00 02 04 31 00 T 18 02 00 00 R 00 00 01 00 T 18 02 00 00 21 06 00 DD 4E 04 DD 46 05 09 5E @@ -253,7 +253,7 @@ R 00 00 01 00 T 39 02 00 00 DD 4E 02 DD 46 03 21 04 00 CD R 00 00 01 00 T 43 02 00 00 00 00 00 00 30 08 -R 00 00 01 00 02 04 32 00 +R 00 00 01 00 02 04 31 00 T 47 02 00 00 R 00 00 01 00 T 47 02 00 00 DD 36 DE 01 DD 36 DF 00 @@ -297,15 +297,15 @@ R 00 00 01 00 00 04 01 00 02 09 04 00 T D1 02 00 00 F1 F1 F1 DD 5E D2 DD 56 D3 3E R 00 00 01 00 T DB 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 +R 00 00 01 00 2B 04 15 00 02 09 15 00 T E0 02 00 00 00 00 00 00 11 40 00 3E R 00 00 01 00 02 04 04 00 T E6 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1B 00 02 09 1B 00 +R 00 00 01 00 2B 04 1D 00 02 09 1D 00 T EB 02 00 00 00 00 00 00 DD 5E FE DD 56 FF 3E R 00 00 01 00 02 04 04 00 T F4 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 25 00 02 09 25 00 +R 00 00 01 00 2B 04 26 00 02 09 26 00 T F9 02 00 00 00 00 00 00 21 00 00 C3 R 00 00 01 00 02 04 04 00 T FF 02 00 00 2B 07 00 00 @@ -329,7 +329,7 @@ R 00 00 01 00 T 38 03 00 00 21 1C 00 39 4D 44 DD 5E D2 DD 56 R 00 00 01 00 T 43 03 00 00 D3 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 39 00 02 0B 39 00 +R 00 00 01 00 2B 06 38 00 02 0B 38 00 T 49 03 00 00 CD 00 00 00 00 F1 F1 F1 7D A4 3C R 00 00 01 00 02 05 04 00 T 52 03 00 00 20 03 @@ -343,7 +343,7 @@ R 00 00 01 00 T 57 03 00 00 21 16 00 39 4D 44 21 10 00 39 5D R 00 00 01 00 T 62 03 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1F 00 02 0B 1F 00 +R 00 00 01 00 2B 06 21 00 02 0B 21 00 T 68 03 00 00 CD 00 00 00 00 DD 7E BE B7 20 11 R 00 00 01 00 02 05 04 00 T 71 03 00 00 DD 6E C0 DD 66 C1 DD 4E D2 DD 46 @@ -357,9 +357,9 @@ R 00 00 01 00 T 82 03 00 00 R 00 00 01 00 T 82 03 00 00 21 16 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 33 00 +R 00 00 01 00 2B 0B 32 00 T 8A 03 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 33 00 02 0A 04 00 +R 00 00 01 00 02 05 32 00 02 0A 04 00 T 91 03 00 00 90 R 00 00 01 00 T 92 03 00 00 @@ -367,33 +367,33 @@ R 00 00 01 00 T 92 03 00 00 21 04 00 E5 21 1A 00 39 4D 44 21 R 00 00 01 00 T 9D 03 00 00 18 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 1E 00 +R 00 00 01 00 2B 0A 20 00 T A5 03 00 00 00 00 00 00 CD 00 00 00 00 F1 3E -R 00 00 01 00 02 04 1E 00 02 09 04 00 +R 00 00 01 00 02 04 20 00 02 09 04 00 T AC 03 00 00 04 AD B4 28 11 R 00 00 01 00 T B1 03 00 00 R 00 00 01 00 T B1 03 00 00 21 16 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 33 00 +R 00 00 01 00 2B 0B 32 00 T B9 03 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 33 00 02 0A 04 00 +R 00 00 01 00 02 05 32 00 02 0A 04 00 T C0 03 00 00 22 03 00 00 R 00 00 01 00 00 04 01 00 T C2 03 00 00 R 00 00 01 00 T C2 03 00 00 21 16 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 33 00 +R 00 00 01 00 2B 0B 32 00 T CA 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 33 00 02 0A 04 00 +R 00 00 01 00 02 05 32 00 02 0A 04 00 T D1 03 00 00 6E F4 DD 66 F5 DD 4E F6 DD 46 F7 R 00 00 01 00 T DC 03 00 00 CD 00 00 00 00 DD 75 F4 DD 74 F5 -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 11 00 T E5 03 00 00 DD 71 F6 DD 70 F7 3E 00 00 00 00 -R 00 00 01 00 2B 0B 2B 00 +R 00 00 01 00 2B 0B 2C 00 T ED 03 00 00 21 00 00 00 00 CD 00 00 00 00 59 -R 00 00 01 00 02 05 2B 00 02 0A 04 00 +R 00 00 01 00 02 05 2C 00 02 0A 04 00 T F4 03 00 00 50 A7 DD 4E C6 DD 46 C7 ED 42 EB R 00 00 01 00 T FF 03 00 00 DD 4E C8 DD 46 C9 ED 42 4D 44 EB @@ -403,7 +403,7 @@ R 00 00 01 00 T 15 04 00 00 CD C5 E5 21 3A 00 39 5E 23 56 23 R 00 00 01 00 T 20 04 00 00 4E 23 46 EB CD 00 00 00 00 30 23 -R 00 00 01 00 02 09 27 00 +R 00 00 01 00 02 09 29 00 T 29 04 00 00 A7 DD 6E CA DD 66 CB DD 4E E4 DD R 00 00 01 00 T 34 04 00 00 46 E5 ED 42 EB DD 6E CC DD 66 CD @@ -453,7 +453,7 @@ R 00 00 01 00 T E0 04 00 00 66 E5 E5 01 00 00 21 07 00 CD R 00 00 01 00 T EA 04 00 00 00 00 00 00 C5 E5 DD 6E CA DD 66 -R 00 00 01 00 02 04 24 00 +R 00 00 01 00 02 04 25 00 T F3 04 00 00 CB C1 09 EB DD 6E CC DD 66 CD C1 R 00 00 01 00 T FE 04 00 00 ED 4A E5 D5 21 04 00 C1 09 EB 21 @@ -461,13 +461,13 @@ R 00 00 01 00 T 09 05 00 00 00 00 C1 ED 4A 4D 44 EB 3E 03 CD R 00 00 01 00 T 14 05 00 00 00 00 00 00 DD 75 E4 DD 74 E5 DD -R 00 00 01 00 02 04 38 00 +R 00 00 01 00 02 04 37 00 T 1D 05 00 00 71 E6 DD 70 E7 DD 6E EA DD 66 EB R 00 00 01 00 T 28 05 00 00 E5 DD 6E E8 DD 66 E9 E5 01 00 00 R 00 00 01 00 T 33 05 00 00 21 03 00 CD 00 00 00 00 C5 E5 DD -R 00 00 01 00 02 08 24 00 +R 00 00 01 00 02 08 25 00 T 3C 05 00 00 6E CE DD 66 CF C1 09 EB DD 6E D0 R 00 00 01 00 T 47 05 00 00 DD 66 D1 C1 ED 4A E5 D5 21 02 00 @@ -475,7 +475,7 @@ R 00 00 01 00 T 52 05 00 00 C1 09 EB 21 00 00 C1 ED 4A 4D 44 R 00 00 01 00 T 5D 05 00 00 EB 3E 02 CD 00 00 00 00 DD 75 E8 -R 00 00 01 00 02 08 38 00 +R 00 00 01 00 02 08 37 00 T 66 05 00 00 DD 74 E9 DD 71 EA DD 70 EB DD 6E R 00 00 01 00 T 71 05 00 00 CC DD 66 CD E5 DD 6E CA DD 66 CB @@ -483,7 +483,7 @@ R 00 00 01 00 T 7C 05 00 00 E5 21 42 00 39 5E 23 56 23 4E 23 R 00 00 01 00 T 87 05 00 00 46 EB CD 00 00 00 00 30 18 -R 00 00 01 00 02 07 27 00 +R 00 00 01 00 02 07 29 00 T 8E 05 00 00 R 00 00 01 00 T 8E 05 00 00 DD 4E CC DD 46 CD DD 6E CA DD 66 @@ -499,7 +499,7 @@ R 00 00 01 00 T B1 05 00 00 66 F1 E5 DD 4E CC DD 46 CD DD 6E R 00 00 01 00 T BC 05 00 00 CA DD 66 CB CD 00 00 00 00 30 18 -R 00 00 01 00 02 09 27 00 +R 00 00 01 00 02 09 29 00 T C5 05 00 00 R 00 00 01 00 T C5 05 00 00 DD 4E CC DD 46 CD DD 6E CA DD 66 @@ -517,7 +517,7 @@ R 00 00 01 00 T E8 05 00 00 39 5E 23 56 23 4E 23 46 EB CD R 00 00 01 00 T F2 05 00 00 00 00 00 00 7D B4 B1 B0 20 0F -R 00 00 01 00 02 04 28 00 +R 00 00 01 00 02 04 2A 00 T FA 05 00 00 R 00 00 01 00 T FA 05 00 00 21 28 00 39 4D 44 DD 5E FE DD 56 @@ -551,7 +551,7 @@ R 00 00 01 00 T 80 06 00 00 DD 66 F5 E5 01 00 00 21 64 00 CD R 00 00 01 00 T 8B 06 00 00 00 00 00 00 59 50 C1 09 EB C1 ED -R 00 00 01 00 02 04 24 00 +R 00 00 01 00 02 04 25 00 T 94 06 00 00 4A 4D 44 EB CD 00 00 00 00 C5 E5 R 00 00 01 00 02 09 2F 00 T 9D 06 00 00 DD 6E F6 DD 66 F7 E5 DD 6E F4 DD @@ -559,9 +559,9 @@ R 00 00 01 00 T A8 06 00 00 66 F5 E5 DD 6E E2 DD 66 E3 E5 DD R 00 00 01 00 T B3 06 00 00 6E E0 DD 66 E1 E5 0E 00 00 00 00 -R 00 00 01 00 2B 0B 0F 00 +R 00 00 01 00 2B 0B 0E 00 T BB 06 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 0F 00 +R 00 00 01 00 02 06 0E 00 T C1 06 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 34 00 02 09 34 00 T C6 06 00 00 00 00 00 00 EB 21 24 00 39 F9 EB @@ -579,35 +579,35 @@ R 00 00 01 00 T E1 06 00 00 21 09 00 DD 4E FE DD 46 FF 09 5E R 00 00 01 00 T EC 06 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 1C 00 +R 00 00 01 00 2B 07 1E 00 T F1 06 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 1C 00 02 09 04 00 +R 00 00 01 00 02 04 1E 00 02 09 04 00 T F7 06 00 00 09 00 09 AF 77 23 77 R 00 00 01 00 T FE 06 00 00 R 00 00 01 00 T FE 06 00 00 DD 5E D2 DD 56 D3 3E 00 00 00 00 -R 00 00 01 00 2B 0B 12 00 +R 00 00 01 00 2B 0B 15 00 T 06 07 00 00 21 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 05 12 00 02 0A 04 00 +R 00 00 01 00 02 05 15 00 02 0A 04 00 T 0D 07 00 00 01 00 11 00 00 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 3D 00 T 15 07 00 00 00 00 00 00 CD 00 00 00 00 DD 5E R 00 00 01 00 02 04 3D 00 02 09 04 00 T 1C 07 00 00 FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 25 00 +R 00 00 01 00 2B 09 26 00 T 23 07 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 25 00 02 09 04 00 +R 00 00 01 00 02 04 26 00 02 09 04 00 T 29 07 00 00 00 00 R 00 00 01 00 T 2B 07 00 00 R 00 00 01 00 T 2B 07 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 11 00 +R 00 00 01 00 02 05 13 00 T 2E 07 00 00 R 00 00 01 00 T 2E 07 00 00 CD 00 00 00 00 3E 03 AB B2 28 05 -R 00 00 01 00 02 05 21 00 +R 00 00 01 00 02 05 23 00 T 37 07 00 00 R 00 00 01 00 T 37 07 00 00 21 01 00 18 37 @@ -615,39 +615,39 @@ R 00 00 01 00 T 3C 07 00 00 R 00 00 01 00 T 3C 07 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 35 00 02 0B 35 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 T 42 07 00 00 E5 21 1B 00 ED 4B 00 00 00 00 09 -R 00 00 01 00 02 0A 22 00 +R 00 00 01 00 02 0A 24 00 T 4B 07 00 00 5E 23 56 D5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 15 00 +R 00 00 01 00 2B 09 17 00 T 52 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 15 00 02 09 04 00 +R 00 00 01 00 02 04 17 00 02 09 04 00 T 59 07 00 00 F1 01 6B 00 21 07 00 ED 5B R 00 00 01 00 T 62 07 00 00 00 00 00 00 19 5E 23 56 3E -R 00 00 01 00 02 04 22 00 +R 00 00 01 00 02 04 24 00 T 69 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 14 00 02 09 14 00 +R 00 00 01 00 2B 04 16 00 02 09 16 00 T 6E 07 00 00 00 00 00 00 21 00 00 R 00 00 01 00 02 04 04 00 T 73 07 00 00 R 00 00 01 00 T 73 07 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 11 00 +R 00 00 01 00 02 05 13 00 T 76 07 00 00 R 00 00 01 00 T 76 07 00 00 CD 00 00 00 00 2E 00 00 00 00 E5 -R 00 00 01 00 02 05 21 00 2B 0A 18 00 +R 00 00 01 00 02 05 23 00 2B 0A 19 00 T 7C 07 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 18 00 2B 0B 34 00 +R 00 00 01 00 02 05 19 00 2B 0B 34 00 T 82 07 00 00 21 00 00 00 00 CD 00 00 00 00 F1 R 00 00 01 00 02 05 34 00 02 0A 04 00 T 89 07 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 16 00 +R 00 00 01 00 02 06 18 00 T 8D 07 00 00 R 00 00 01 00 T 8D 07 00 00 CD 00 00 00 00 F8 FF 2A -R 00 00 01 00 02 05 2A 00 +R 00 00 01 00 02 05 2B 00 T 93 07 00 00 00 00 00 00 7D B4 CA 1D 08 00 00 R 00 00 01 00 02 04 07 00 00 0B 01 00 T 9A 07 00 00 DD 6E 0E DD 66 0F 23 23 7E 23 A6 @@ -657,7 +657,7 @@ R 00 00 01 00 T B0 07 00 00 4D 44 DD 5E 10 DD 56 11 3E R 00 00 01 00 T B9 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1E 00 02 09 1E 00 +R 00 00 01 00 2B 04 20 00 02 09 20 00 T BE 07 00 00 00 00 00 00 F1 3E 04 AD B4 20 56 R 00 00 01 00 02 04 04 00 T C7 07 00 00 @@ -667,7 +667,7 @@ R 00 00 01 00 T C7 07 00 00 R 00 00 01 00 T C7 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2B 00 02 0A 2B 00 +R 00 00 01 00 2B 05 2C 00 02 0A 2C 00 T CD 07 00 00 00 00 00 00 59 50 A7 DD 4E F8 DD R 00 00 01 00 02 04 04 00 T D6 07 00 00 46 F9 ED 42 EB DD 4E FA DD 46 FB @@ -679,11 +679,11 @@ R 00 00 01 00 T F7 07 00 00 DD 46 05 DD 5E 02 DD 56 03 3E R 00 00 01 00 T 01 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 +R 00 00 01 00 2B 04 02 00 02 09 02 00 T 06 08 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 04 00 2B 0A 02 00 +R 00 00 01 00 02 04 04 00 2B 0A 01 00 T 0C 08 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 02 00 2B 0B 34 00 +R 00 00 01 00 02 05 01 00 2B 0B 34 00 T 12 08 00 00 21 00 00 00 00 CD 00 00 00 00 F1 R 00 00 01 00 02 05 34 00 02 0A 04 00 T 19 08 00 00 F1 F1 F1 F1 @@ -691,19 +691,19 @@ R 00 00 01 00 T 1D 08 00 00 R 00 00 01 00 T 1D 08 00 00 DD 5E 10 DD 56 11 3E 00 00 00 00 -R 00 00 01 00 2B 0B 33 00 +R 00 00 01 00 2B 0B 32 00 T 25 08 00 00 21 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 05 33 00 02 0A 04 00 +R 00 00 01 00 02 05 32 00 02 0A 04 00 T 2C 08 00 00 00 00 11 40 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 26 00 +R 00 00 01 00 2B 0A 28 00 T 34 08 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 26 00 02 09 04 00 +R 00 00 01 00 02 04 28 00 02 09 04 00 T 3A 08 00 00 00 00 00 00 -R 00 00 01 00 02 04 11 00 +R 00 00 01 00 02 04 13 00 T 3C 08 00 00 R 00 00 01 00 T 3C 08 00 00 CD 00 00 00 00 FE FF DD 71 FE DD -R 00 00 01 00 02 05 2A 00 +R 00 00 01 00 02 05 2B 00 T 45 08 00 00 70 FF 21 08 00 09 7E 23 B6 28 5E R 00 00 01 00 T 50 08 00 00 @@ -717,7 +717,7 @@ R 00 00 01 00 T 66 08 00 00 21 04 00 09 CD 00 00 00 00 EB CD R 00 00 01 00 02 09 2D 00 T 6F 08 00 00 00 00 00 00 C5 E5 DD 5E 02 DD 56 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 78 08 00 00 03 3E 10 09 00 00 21 10 09 00 00 R 00 00 01 00 29 06 01 00 00 0B 01 00 T 7E 08 00 00 CD 00 00 00 00 F1 F1 F1 F1 F1 21 @@ -729,7 +729,7 @@ R 00 00 01 00 02 04 2D 00 T 9A 08 00 00 46 FF 09 5E 23 56 23 4E 23 46 3E R 00 00 01 00 T A5 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0F 00 02 09 0F 00 T AA 08 00 00 00 00 00 00 18 A2 R 00 00 01 00 02 04 04 00 T AE 08 00 00 @@ -743,7 +743,7 @@ R 00 00 01 00 T C4 08 00 00 0A 00 09 CD 00 00 00 00 EB CD R 00 00 01 00 02 08 2D 00 T CC 08 00 00 00 00 00 00 E5 21 04 00 DD 4E FE -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T D5 08 00 00 DD 46 FF 09 5E 23 56 23 4E 23 46 R 00 00 01 00 T E0 08 00 00 C5 D5 DD 5E 02 DD 56 03 3E @@ -755,15 +755,15 @@ R 00 00 01 00 02 04 04 00 T F6 08 00 00 22 00 DD 4E FE DD 46 FF 09 5E 23 R 00 00 01 00 T 01 09 00 00 56 23 4E 23 46 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0C 00 +R 00 00 01 00 2B 0A 0F 00 T 09 09 00 00 00 00 00 00 CD 00 00 00 00 18 9E -R 00 00 01 00 02 04 0C 00 02 09 04 00 +R 00 00 01 00 02 04 0F 00 02 09 04 00 T 10 09 00 00 R 00 00 01 00 T 10 09 00 00 CD 00 00 00 00 E0 FF 3E -R 00 00 01 00 02 05 2A 00 +R 00 00 01 00 02 05 2B 00 T 16 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2B 00 02 09 2B 00 +R 00 00 01 00 2B 04 2C 00 02 09 2C 00 T 1B 09 00 00 00 00 00 00 DD 75 F8 DD 74 F9 DD R 00 00 01 00 02 04 04 00 T 24 09 00 00 71 FA DD 70 FB 21 04 00 DD 4E 12 @@ -803,19 +803,19 @@ R 00 00 01 00 T AE 09 00 00 0A 00 DD 5E E0 DD 56 E1 19 5E 23 R 00 00 01 00 T B9 09 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 +R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 T BF 09 00 00 CD 00 00 00 00 F1 2A 80 00 00 00 -R 00 00 01 00 02 05 04 00 02 0B 1D 00 +R 00 00 01 00 02 05 04 00 02 0B 1F 00 T C6 09 00 00 ED 4B 82 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 06 1D 00 02 0B 0E 00 +R 00 00 01 00 02 06 1F 00 02 0B 11 00 T CD 09 00 00 22 80 00 00 00 ED 43 82 00 00 00 -R 00 00 01 00 02 05 1D 00 02 0B 1D 00 +R 00 00 01 00 02 05 1F 00 02 0B 1F 00 T D4 09 00 00 2A 56 00 00 00 ED 4B 58 00 00 00 -R 00 00 01 00 02 05 1D 00 02 0B 1D 00 +R 00 00 01 00 02 05 1F 00 02 0B 1F 00 T DB 09 00 00 CD 00 00 00 00 22 56 00 00 00 ED -R 00 00 01 00 02 05 0E 00 02 0A 1D 00 +R 00 00 01 00 02 05 11 00 02 0A 1F 00 T E2 09 00 00 43 58 00 00 00 DD 36 E2 08 DD 36 -R 00 00 01 00 02 05 1D 00 +R 00 00 01 00 02 05 1F 00 T EB 09 00 00 E3 00 DD 6E 0E DD 66 0F DD 75 E6 R 00 00 01 00 T F6 09 00 00 DD 74 E7 DD 6E 10 DD 66 11 DD 75 @@ -823,9 +823,9 @@ R 00 00 01 00 T 01 0A 00 00 E4 DD 74 E5 21 00 00 39 4D 44 21 R 00 00 01 00 T 0C 0A 00 00 02 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 20 00 +R 00 00 01 00 2B 0A 22 00 T 14 0A 00 00 00 00 00 00 CD 00 00 00 00 AF DD -R 00 00 01 00 02 04 20 00 02 09 04 00 +R 00 00 01 00 02 04 22 00 02 09 04 00 T 1B 0A 00 00 77 E8 DD 77 E9 DD 4E 0C DD 46 0D R 00 00 01 00 T 26 0A 00 00 DD 6E 0A DD 66 0B DD 75 EC DD 74 @@ -837,17 +837,17 @@ R 00 00 01 00 T 46 0A 00 00 06 00 39 4D 44 DD 5E 02 DD 56 03 R 00 00 01 00 T 51 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 36 00 02 0A 36 00 +R 00 00 01 00 2B 05 35 00 02 0A 35 00 T 57 0A 00 00 00 00 00 00 F1 F1 F1 21 00 00 C3 R 00 00 01 00 02 04 04 00 T 60 0A 00 00 00 00 00 00 -R 00 00 01 00 02 04 11 00 +R 00 00 01 00 02 04 13 00 T 62 0A 00 00 R 00 00 01 00 T 62 0A 00 00 CD 00 00 00 00 FC FF 2A -R 00 00 01 00 02 05 2A 00 +R 00 00 01 00 02 05 2B 00 T 68 0A 00 00 00 00 00 00 DD 75 FE DD 74 FF 01 -R 00 00 01 00 02 04 22 00 +R 00 00 01 00 02 04 24 00 T 71 0A 00 00 05 00 09 46 23 66 68 DD 75 FC DD R 00 00 01 00 T 7C 0A 00 00 74 FD 23 23 7E 23 A6 3C 20 06 @@ -859,7 +859,7 @@ R 00 00 01 00 00 08 01 00 T 8C 0A 00 00 R 00 00 01 00 T 8C 0A 00 00 DD 5E 02 DD 56 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 08 00 +R 00 00 01 00 02 0B 0A 00 T 95 0A 00 00 05 00 03 00 1B 00 20 00 51 00 R 00 00 01 00 T 9F 0A 00 00 71 00 FD 0B 00 00 AD 0A 00 00 @@ -873,11 +873,11 @@ R 00 00 01 00 T AD 0A 00 00 01 6B 00 21 07 00 DD 5E FE DD 56 R 00 00 01 00 T B8 0A 00 00 FF 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 14 00 +R 00 00 01 00 2B 0A 16 00 T C0 0A 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 14 00 02 09 04 00 +R 00 00 01 00 02 04 16 00 02 09 04 00 T C6 0A 00 00 09 00 ED 4B 00 00 00 00 09 7E 23 -R 00 00 01 00 02 08 22 00 +R 00 00 01 00 02 08 24 00 T CF 0A 00 00 B6 28 1D R 00 00 01 00 T D2 0A 00 00 @@ -885,9 +885,9 @@ R 00 00 01 00 T D2 0A 00 00 21 09 00 DD 4E FE DD 46 FF 09 5E R 00 00 01 00 T DD 0A 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 1C 00 +R 00 00 01 00 2B 07 1E 00 T E2 0A 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 1C 00 02 09 04 00 +R 00 00 01 00 02 04 1E 00 02 09 04 00 T E8 0A 00 00 09 00 09 AF 77 23 77 R 00 00 01 00 T EF 0A 00 00 @@ -895,9 +895,9 @@ R 00 00 01 00 T EF 0A 00 00 01 02 00 DD 6E FC DD 66 FD 23 23 R 00 00 01 00 T FA 0A 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 3A 00 +R 00 00 01 00 2B 08 39 00 T 00 0B 00 00 00 00 00 00 CD 00 00 00 00 DD 6E -R 00 00 01 00 02 04 3A 00 02 09 04 00 +R 00 00 01 00 02 04 39 00 02 09 04 00 T 07 0B 00 00 FC DD 66 FD 23 23 36 FF 23 36 FF R 00 00 01 00 T 12 0B 00 00 C3 FD 0B 00 00 @@ -913,21 +913,21 @@ R 00 00 01 00 T 24 0B 00 00 21 09 00 DD 4E FE DD 46 FF 09 5E R 00 00 01 00 T 2F 0B 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 1C 00 +R 00 00 01 00 2B 07 1E 00 T 34 0B 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 1C 00 02 09 04 00 +R 00 00 01 00 02 04 1E 00 02 09 04 00 T 3A 0B 00 00 09 00 09 AF 77 23 77 21 0A 00 DD R 00 00 01 00 T 45 0B 00 00 5E FC DD 56 FD 19 5E 23 56 23 4E R 00 00 01 00 T 50 0B 00 00 23 46 C5 D5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 13 00 +R 00 00 01 00 2B 09 06 00 T 58 0B 00 00 00 00 00 00 E5 21 1B 00 DD 4E FE -R 00 00 01 00 02 04 13 00 +R 00 00 01 00 02 04 06 00 T 61 0B 00 00 DD 46 FF 09 4E 23 46 C5 3E R 00 00 01 00 T 6A 0B 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 15 00 02 09 15 00 +R 00 00 01 00 2B 04 17 00 02 09 17 00 T 6F 0B 00 00 00 00 00 00 F1 F1 F1 F1 F1 C3 R 00 00 01 00 02 04 04 00 T 77 0B 00 00 FB 0B 00 00 @@ -955,13 +955,13 @@ R 00 00 01 00 2B 04 3C 00 02 09 3C 00 T CC 0B 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB R 00 00 01 00 02 04 04 00 T D5 0B 00 00 4D 44 E1 71 23 70 0E 00 00 00 00 -R 00 00 01 00 2B 0B 17 00 +R 00 00 01 00 2B 0B 09 00 T DD 0B 00 00 C5 21 00 00 00 00 E5 21 1B 00 DD -R 00 00 01 00 02 06 17 00 +R 00 00 01 00 02 06 09 00 T E6 0B 00 00 4E FE DD 46 FF 09 4E 23 46 C5 3E R 00 00 01 00 T F1 0B 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 15 00 02 09 15 00 +R 00 00 01 00 2B 04 17 00 02 09 17 00 T F6 0B 00 00 00 00 00 00 F1 F1 F1 R 00 00 01 00 02 04 04 00 T FB 0B 00 00 @@ -975,7 +975,7 @@ R 00 00 01 00 T 00 0C 00 00 R 00 00 01 00 T 00 0C 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 11 00 +R 00 00 01 00 02 05 13 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 70 69 6E 67 74 78 00 diff --git a/src/nos/lib/internet_lib/put_rr.rel b/src/nos/lib/internet_lib/put_rr.rel index 14b554d0..82324c8e 100644 --- a/src/nos/lib/internet_lib/put_rr.rel +++ b/src/nos/lib/internet_lib/put_rr.rel @@ -3,15 +3,15 @@ H 2 areas 14 global symbols S _inet_ntoa Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?S_S_SWITCH_L06 Ref00000000 -S ___0022_a0dd__0a Ref00000000 +S ___0023_a0dd__0a Ref00000000 S ___000b_b9ba__09_25s Ref00000000 S ___000d_1d7d__09_25s_09_25s_0a Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __fprintf Ref00000000 S ___0011_d62d__09_3c_25u_3e Ref00000000 +S ___0153_ec2f__25s Ref00000000 S ___000e_b532__09_25s_0a Ref00000000 S .__.ABS. Def00000000 -S ___0138_ec2f__25s Ref00000000 S _dtype Ref00000000 S ___0012_9f29__09IN Ref00000000 S ___000f_26e5__09_25u_09_25s_0a Ref00000000 @@ -55,9 +55,9 @@ R 00 00 01 00 T 36 00 00 00 21 05 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 T 41 00 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 0B 00 +R 00 00 01 00 2B 08 09 00 T 48 00 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 09 00 T 51 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 07 00 02 0B 07 00 T 57 00 00 00 CD 00 00 00 00 F1 F1 F1 F1 C3 @@ -69,9 +69,9 @@ R 00 00 01 00 T 61 00 00 00 21 07 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 T 6C 00 00 00 23 56 D5 1E 00 00 00 00 D5 21 -R 00 00 01 00 2B 08 0B 00 +R 00 00 01 00 2B 08 09 00 T 73 00 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 09 00 T 7C 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 07 00 02 0B 07 00 T 82 00 00 00 CD 00 00 00 00 F1 F1 F1 F1 21 @@ -185,7 +185,7 @@ R 00 00 01 00 2B 0B 00 00 T C1 01 00 00 21 00 00 00 00 CD 00 00 00 00 E5 R 00 00 01 00 02 05 00 00 02 0A 01 00 T C8 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 09 00 02 0B 09 00 +R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 T CE 01 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T D7 01 00 00 00 00 00 00 21 00 00 00 00 CD @@ -199,9 +199,9 @@ R 00 00 01 00 T E5 01 00 00 21 13 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 T F0 01 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 09 00 +R 00 00 01 00 2B 08 0A 00 T F7 01 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 09 00 +R 00 00 01 00 02 04 0A 00 T 00 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 07 00 02 0B 07 00 T 06 02 00 00 CD 00 00 00 00 F1 F1 F1 F1 C3 diff --git a/src/nos/lib/internet_lib/q_pkt.rel b/src/nos/lib/internet_lib/q_pkt.rel index 20fe839e..09ccc680 100644 --- a/src/nos/lib/internet_lib/q_pkt.rel +++ b/src/nos/lib/internet_lib/q_pkt.rel @@ -21,7 +21,7 @@ A CODE size 2B8 flags 0 S _q_pkt Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D0 FF 21 51 00 DD +T 00 00 00 00 CD 00 00 00 00 A8 FF 21 51 00 DD R 00 00 01 00 02 05 0A 00 T 09 00 00 00 4E 02 DD 46 03 09 CD 00 00 00 00 R 00 00 01 00 02 0B 0B 00 @@ -33,19 +33,19 @@ T 26 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 04 00 02 09 04 00 T 2B 00 00 00 00 00 00 00 E1 21 13 00 DD 4E 0E R 00 00 01 00 02 04 01 00 -T 34 00 00 00 DD 46 0F 09 7E E6 FC DD 77 F3 DD +T 34 00 00 00 DD 46 0F 09 7E E6 FC DD 77 F4 DD R 00 00 01 00 T 3F 00 00 00 4E 0C DD 46 0D DD 6E 0A DD 66 0B R 00 00 01 00 -T 4A 00 00 00 DD 75 F4 DD 74 F5 DD 71 F6 DD 70 +T 4A 00 00 00 DD 75 F5 DD 74 F6 DD 71 F7 DD 70 R 00 00 01 00 -T 55 00 00 00 F7 21 1E 00 DD 4E 02 DD 46 03 09 +T 55 00 00 00 F8 21 1E 00 DD 4E 02 DD 46 03 09 R 00 00 01 00 T 60 00 00 00 7E 23 B6 20 3E R 00 00 01 00 T 65 00 00 00 R 00 00 01 00 -T 65 00 00 00 21 05 00 E5 21 25 00 39 4D 44 DD +T 65 00 00 00 21 05 00 E5 21 4E 00 39 4D 44 DD R 00 00 01 00 T 70 00 00 00 5E 10 DD 56 11 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 0F 00 @@ -93,27 +93,27 @@ T FA 00 00 00 21 02 00 39 4D 44 21 04 00 39 5D R 00 00 01 00 T 05 01 00 00 54 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 00 00 02 0B 00 00 -T 0B 01 00 00 CD 00 00 00 00 AF DD 77 FD DD 77 +T 0B 01 00 00 CD 00 00 00 00 AF DD 77 FE DD 77 R 00 00 01 00 02 05 01 00 -T 14 01 00 00 FE +T 14 01 00 00 FF R 00 00 01 00 T 15 01 00 00 R 00 00 01 00 -T 15 01 00 00 DD 6E FD DD 66 FE 29 01 +T 15 01 00 00 DD 6E FE DD 66 FF 29 01 R 00 00 01 00 T 1D 01 00 00 00 00 00 00 09 7E 23 A6 3C 28 48 R 00 00 01 00 02 04 08 00 T 26 01 00 00 R 00 00 01 00 -T 26 01 00 00 DD 6E FD DD 66 FE 29 01 +T 26 01 00 00 DD 6E FE DD 66 FF 29 01 R 00 00 01 00 T 2E 01 00 00 00 00 00 00 09 46 23 66 68 DD 4E R 00 00 01 00 02 04 08 00 -T 37 01 00 00 D4 DD 46 D5 A7 ED 42 28 1A DD 6E +T 37 01 00 00 AC DD 46 AD A7 ED 42 28 1A DD 6E R 00 00 01 00 -T 42 01 00 00 FD DD 66 FE 29 01 00 00 00 00 09 +T 42 01 00 00 FE DD 66 FF 29 01 00 00 00 00 09 R 00 00 01 00 02 0A 08 00 -T 4B 01 00 00 46 23 66 68 DD 4E D6 DD 46 D7 A7 +T 4B 01 00 00 46 23 66 68 DD 4E AE DD 46 AF A7 R 00 00 01 00 T 56 01 00 00 ED 42 20 0A R 00 00 01 00 @@ -123,11 +123,11 @@ T 5A 01 00 00 R 00 00 01 00 T 5A 01 00 00 R 00 00 01 00 -T 5A 01 00 00 DD 7E F3 F6 01 DD 77 F3 18 0A +T 5A 01 00 00 DD 7E F4 F6 01 DD 77 F4 18 0A R 00 00 01 00 T 64 01 00 00 R 00 00 01 00 -T 64 01 00 00 DD 34 FD 20 03 DD 34 FE +T 64 01 00 00 DD 34 FE 20 03 DD 34 FF R 00 00 01 00 T 6C 01 00 00 R 00 00 01 00 @@ -143,33 +143,33 @@ T 76 01 00 00 21 00 00 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 0C 00 02 0A 01 00 T 7C 01 00 00 R 00 00 01 00 -T 7C 01 00 00 21 05 00 E5 21 25 00 39 4D 44 DD +T 7C 01 00 00 21 05 00 E5 21 4E 00 39 4D 44 DD R 00 00 01 00 T 87 01 00 00 5E 10 DD 56 11 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 0F 00 T 8F 01 00 00 00 00 00 00 CD 00 00 00 00 E1 AF R 00 00 01 00 02 04 0F 00 02 09 01 00 -T 96 01 00 00 DD 77 D0 DD 77 D1 21 1E 00 DD 4E +T 96 01 00 00 DD 77 A8 DD 77 A9 21 1E 00 DD 4E R 00 00 01 00 T A1 01 00 00 02 DD 46 03 09 46 23 66 68 DD 75 R 00 00 01 00 -T AC 01 00 00 D2 DD 74 D3 +T AC 01 00 00 AA DD 74 AB R 00 00 01 00 T B0 01 00 00 R 00 00 01 00 -T B0 01 00 00 DD 7E D2 DD B6 D3 28 4A +T B0 01 00 00 DD 7E AA DD B6 AB 28 4A R 00 00 01 00 T B8 01 00 00 R 00 00 01 00 -T B8 01 00 00 21 05 00 E5 21 0A 00 DD 4E D2 DD +T B8 01 00 00 21 05 00 E5 21 0A 00 DD 4E AA DD R 00 00 01 00 -T C3 01 00 00 46 D3 09 4E 23 46 21 2A 00 39 5D +T C3 01 00 00 46 AB 09 4E 23 46 21 53 00 39 5D R 00 00 01 00 T CE 01 00 00 54 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 02 00 02 0B 02 00 -T D4 01 00 00 CD 00 00 00 00 F1 DD 7E F8 DD BE +T D4 01 00 00 CD 00 00 00 00 F1 DD 7E F9 DD BE R 00 00 01 00 02 05 01 00 -T DD 01 00 00 F3 30 02 +T DD 01 00 00 F4 30 02 R 00 00 01 00 T E0 01 00 00 R 00 00 01 00 @@ -177,19 +177,19 @@ T E0 01 00 00 18 20 R 00 00 01 00 T E2 01 00 00 R 00 00 01 00 -T E2 01 00 00 DD 6E D2 DD 66 D3 DD 75 D0 DD 74 +T E2 01 00 00 DD 6E AA DD 66 AB DD 75 A8 DD 74 R 00 00 01 00 -T ED 01 00 00 D1 DD 6E D2 DD 66 D3 23 23 46 23 +T ED 01 00 00 A9 DD 6E AA DD 66 AB 23 23 46 23 R 00 00 01 00 -T F8 01 00 00 66 68 DD 75 D2 DD 74 D3 18 AE +T F8 01 00 00 66 68 DD 75 AA DD 74 AB 18 AE R 00 00 01 00 T 02 02 00 00 R 00 00 01 00 T 02 02 00 00 DD 6E 10 DD 66 11 46 23 66 68 23 R 00 00 01 00 -T 0D 02 00 00 23 DD 4E D2 DD 46 D3 71 23 70 DD +T 0D 02 00 00 23 DD 4E AA DD 46 AB 71 23 70 DD R 00 00 01 00 -T 18 02 00 00 7E D0 DD B6 D1 20 1A +T 18 02 00 00 7E A8 DD B6 A9 20 1A R 00 00 01 00 T 1F 02 00 00 R 00 00 01 00 @@ -201,7 +201,7 @@ T 35 02 00 00 23 70 18 16 R 00 00 01 00 T 39 02 00 00 R 00 00 01 00 -T 39 02 00 00 DD 6E D0 DD 66 D1 23 23 E5 DD 6E +T 39 02 00 00 DD 6E A8 DD 66 A9 23 23 E5 DD 6E R 00 00 01 00 T 44 02 00 00 10 DD 66 11 4E 23 46 E1 71 23 70 R 00 00 01 00 diff --git a/src/nos/lib/internet_lib/reset.rel b/src/nos/lib/internet_lib/reset.rel index 49ef3740..0e7bb08e 100644 --- a/src/nos/lib/internet_lib/reset.rel +++ b/src/nos/lib/internet_lib/reset.rel @@ -13,7 +13,7 @@ S ?L_INCASG_L03 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _Tcp_mib Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 25D flags 0 +A CODE size 263 flags 0 S _reset Def00000000 T 00 00 00 00 R 00 00 01 00 @@ -23,7 +23,7 @@ T 09 00 00 00 7E E6 10 47 23 7E E6 00 B0 28 03 R 00 00 01 00 T 14 00 00 00 R 00 00 01 00 -T 14 00 00 00 C3 5A 02 00 00 +T 14 00 00 00 C3 60 02 00 00 R 00 00 01 00 00 05 01 00 T 17 00 00 00 R 00 00 01 00 @@ -105,55 +105,57 @@ T 6B 01 00 00 7E E6 FF 77 23 7E E6 FE 77 21 R 00 00 01 00 T 75 01 00 00 1D 00 09 7E E6 FF 77 23 7E E6 FD R 00 00 01 00 -T 80 01 00 00 77 21 0C 00 09 AF 77 23 77 21 +T 80 01 00 00 77 21 1F 00 09 36 00 21 0C 00 09 R 00 00 01 00 -T 8A 01 00 00 10 00 09 AF 77 23 77 21 0E 00 09 +T 8B 01 00 00 AF 77 23 77 21 10 00 09 AF 77 23 R 00 00 01 00 -T 95 01 00 00 AF 77 23 77 11 46 00 3E +T 96 01 00 00 77 21 0E 00 09 AF 77 23 77 11 R 00 00 01 00 -T 9D 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T A2 01 00 00 00 00 00 00 DD 75 FC DD 74 FD 11 -R 00 00 01 00 02 04 02 00 -T AB 01 00 00 0A 00 19 7E C6 46 77 23 7E CE 00 +T A0 01 00 00 46 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 01 00 +T A5 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 01 00 02 09 02 00 +T AC 01 00 00 FC DD 74 FD 11 0A 00 19 7E C6 46 +R 00 00 01 00 +T B7 01 00 00 77 23 7E CE 00 77 DD 6E 02 DD 66 R 00 00 01 00 -T B6 01 00 00 77 DD 6E 02 DD 66 03 5E 23 56 23 +T C2 01 00 00 03 5E 23 56 23 4E 23 46 C5 D5 21 R 00 00 01 00 -T C1 01 00 00 4E 23 46 C5 D5 21 04 00 DD 4E 02 +T CD 01 00 00 04 00 DD 4E 02 DD 46 03 09 5E 23 R 00 00 01 00 -T CC 01 00 00 DD 46 03 09 5E 23 56 23 4E 23 46 +T D8 01 00 00 56 23 4E 23 46 C5 D5 21 08 00 39 R 00 00 01 00 -T D7 01 00 00 C5 D5 21 08 00 39 4D 44 DD 5E 04 +T E3 01 00 00 4D 44 DD 5E 04 DD 56 05 3E R 00 00 01 00 -T E2 01 00 00 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 00 00 -T E8 01 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 00 00 02 09 02 00 -T EF 01 00 00 E1 E1 0E 00 C5 21 00 00 E5 DD 5E +T EC 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 00 00 02 09 00 00 +T F1 01 00 00 00 00 00 00 E1 E1 E1 E1 0E 00 C5 +R 00 00 01 00 02 04 02 00 +T FA 01 00 00 21 00 00 E5 DD 5E FC DD 56 FD 3E R 00 00 01 00 -T FA 01 00 00 FC DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 03 00 -T 01 02 00 00 00 00 00 00 CD 00 00 00 00 E5 21 -R 00 00 01 00 02 04 03 00 02 09 02 00 -T 08 02 00 00 06 00 39 E5 0E 00 C5 21 13 00 DD +T 05 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 0A 02 00 00 00 00 00 00 E5 21 06 00 39 E5 0E +R 00 00 01 00 02 04 02 00 +T 13 02 00 00 00 C5 21 13 00 DD 4E 02 DD 46 03 R 00 00 01 00 -T 13 02 00 00 4E 02 DD 46 03 09 5E D5 1E 06 D5 +T 1E 02 00 00 09 5E D5 1E 06 D5 69 60 4E 23 46 R 00 00 01 00 -T 1E 02 00 00 69 60 4E 23 46 23 5E 23 56 D5 C5 +T 29 02 00 00 23 5E 23 56 D5 C5 21 04 00 DD 4E R 00 00 01 00 -T 29 02 00 00 21 04 00 DD 4E 02 DD 46 03 09 5E +T 34 02 00 00 02 DD 46 03 09 5E 23 56 23 4E 23 R 00 00 01 00 -T 34 02 00 00 23 56 23 4E 23 46 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T 3C 02 00 00 21 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 07 00 02 0A 02 00 -T 43 02 00 00 21 12 00 39 F9 EB 2A 5C 00 00 00 -R 00 00 01 00 02 0B 0B 00 -T 4C 02 00 00 ED 4B 5E 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 06 0B 00 02 0B 04 00 -T 53 02 00 00 22 5C 00 00 00 ED 43 5E 00 00 00 -R 00 00 01 00 02 05 0B 00 02 0B 0B 00 -T 5A 02 00 00 +T 3F 02 00 00 46 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 07 00 02 0B 07 00 +T 45 02 00 00 CD 00 00 00 00 EB 21 12 00 39 F9 +R 00 00 01 00 02 05 02 00 +T 4E 02 00 00 EB 2A 5C 00 00 00 ED 4B +R 00 00 01 00 02 06 0B 00 +T 54 02 00 00 5E 00 00 00 CD 00 00 00 00 22 +R 00 00 01 00 02 04 0B 00 02 09 04 00 +T 5A 02 00 00 5C 00 00 00 ED 43 5E 00 00 00 +R 00 00 01 00 02 04 0B 00 02 0A 0B 00 +T 60 02 00 00 R 00 00 01 00 -T 5A 02 00 00 C3 00 00 00 00 +T 60 02 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 05 00 diff --git a/src/nos/lib/internet_lib/rt_merge.rel b/src/nos/lib/internet_lib/rt_merge.rel index 4eccaef4..d0402149 100644 --- a/src/nos/lib/internet_lib/rt_merge.rel +++ b/src/nos/lib/internet_lib/rt_merge.rel @@ -6,11 +6,11 @@ S _Routes Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 -S ___04fe_649e_merge_20_25s_20_25d Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?S_MUL_L02 Ref00000000 S ?SS_CMP_L02 Ref00000000 S __printf Ref00000000 +S ___05c3_649e_merge_20_25s_20_25d Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _rt_drop Ref00000000 A _DEFAULT size 0 flags 0 @@ -19,7 +19,7 @@ S _rt_merge Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F4 FF DD 36 F4 20 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 06 00 T 09 00 00 00 DD 36 F5 00 R 00 00 01 00 T 0D 00 00 00 @@ -27,7 +27,7 @@ R 00 00 01 00 T 0D 00 00 00 DD 4E F4 DD 46 F5 21 00 00 CD R 00 00 01 00 T 17 00 00 00 00 00 00 00 D2 A8 01 00 00 -R 00 00 01 00 02 04 09 00 00 09 01 00 +R 00 00 01 00 02 04 08 00 00 09 01 00 T 1C 00 00 00 R 00 00 01 00 T 1C 00 00 00 AF DD 77 F6 DD 77 F7 @@ -43,7 +43,7 @@ R 00 00 01 00 T 35 00 00 00 01 0E 00 DD 5E F4 DD 56 F5 CD R 00 00 01 00 T 3F 00 00 00 00 00 00 00 DD 6E F6 DD 66 F7 29 -R 00 00 01 00 02 04 08 00 +R 00 00 01 00 02 04 07 00 T 48 00 00 00 19 01 F2 FF FF FF 09 46 23 66 68 R 00 00 01 00 02 06 02 00 T 51 00 00 00 DD 75 FA DD 74 FB @@ -103,7 +103,7 @@ R 00 00 01 00 T 07 01 00 00 DD 4E 02 DD 46 03 21 01 00 CD R 00 00 01 00 T 11 01 00 00 00 00 00 00 30 35 -R 00 00 01 00 02 04 09 00 +R 00 00 01 00 02 04 08 00 T 15 01 00 00 R 00 00 01 00 T 15 01 00 00 21 08 00 DD 4E FA DD 46 FB 09 5E @@ -115,9 +115,9 @@ R 00 00 01 00 2B 08 01 00 T 31 01 00 00 00 00 00 00 CD 00 00 00 00 E5 0E R 00 00 01 00 02 04 01 00 02 09 03 00 T 38 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 06 00 02 0A 06 00 +R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 T 3E 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0A 00 02 0A 0A 00 +R 00 00 01 00 2B 05 09 00 02 0A 09 00 T 44 01 00 00 00 00 00 00 F1 F1 F1 F1 R 00 00 01 00 02 04 03 00 T 4A 01 00 00 diff --git a/src/nos/lib/internet_lib/sim.rel b/src/nos/lib/internet_lib/sim.rel index efb890a1..d7eb3b16 100644 --- a/src/nos/lib/internet_lib/sim.rel +++ b/src/nos/lib/internet_lib/sim.rel @@ -4,17 +4,17 @@ S ?BANK_CALL_DIRECT_L08 Ref00000000 S _stop_timer Ref00000000 S _set_timer Ref00000000 S _len_p Ref00000000 -S ___0545_76ec_packet_20delayed_20 Ref00000000 +S ___0616_76ec_packet_20delayed_20 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _net_route Ref00000000 -S ___0546_8504_packet_20duped_0a Ref00000000 +S ___0617_8504_packet_20duped_0a Ref00000000 S _dup_p Ref00000000 S __fprintf Ref00000000 S .__.ABS. Def00000000 S _free Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 +S ___0618_a8e1_packet_20lost_0a Ref00000000 S ?L_MUL_L03 Ref00000000 -S ___0547_a8e1_packet_20lost_0a Ref00000000 S _Loopback Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _start_timer Ref00000000 @@ -53,7 +53,7 @@ R 00 00 01 00 02 05 0F 00 T 29 00 00 00 R 00 00 01 00 T 29 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 T 2F 00 00 00 E5 21 14 00 00 00 4E 23 46 C5 3E R 00 00 01 00 02 06 0F 00 T 38 00 00 00 00 00 00 00 21 00 00 00 00 CD @@ -115,7 +115,7 @@ R 00 00 01 00 02 05 03 00 02 0A 00 00 T CD 00 00 00 00 00 C5 E5 21 04 00 00 00 5E 23 R 00 00 01 00 00 09 02 00 T D6 00 00 00 56 23 4E 23 46 EB CD 00 00 00 00 -R 00 00 01 00 02 0B 0D 00 +R 00 00 01 00 02 0B 0E 00 T DF 00 00 00 C5 E5 ED 5B 08 00 00 00 3E R 00 00 01 00 00 08 02 00 T E6 00 00 00 00 00 00 00 21 00 00 00 00 CD diff --git a/src/nos/lib/internet_lib/st_tcp.rel b/src/nos/lib/internet_lib/st_tcp.rel index 885b8230..7439185d 100644 --- a/src/nos/lib/internet_lib/st_tcp.rel +++ b/src/nos/lib/internet_lib/st_tcp.rel @@ -1,37 +1,37 @@ XL4 H 3 areas 23 global symbols -S ___0073_cad1__20_2510lu_2510lu_2 Ref00000000 -S ___0121_3341__258u_2510u_2511lu_ Ref00000000 +S ___052d_bd2b_expired Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?L_DEC_L03 Ref00000000 -S ___0360_fbe9_Reassembly_20queue_ Ref00000000 -S ___00a0_a393__20Remote_3a_20_25s Ref00000000 -S ___0364_2a15_Recv_3a_20_20_20_20 Ref00000000 -S ___005c_2da2__20_20_20_25s_0a Ref00000000 -S ___003b_f37c__20_20_20_20_20_20_ Ref00000000 -S ___0022_a0dd__0a Ref00000000 -S ___004d_a271__20_20_20_20_20INF Ref00000000 +S ___0437_1db3_Timer_20_20_20_20_2 Ref00000000 +S ___003c_f37c__20_20_20_20_20_20_ Ref00000000 +S ___0023_a0dd__0a Ref00000000 +S ___0326_5ce5_Local_3a_20_25s Ref00000000 +S ___00b9_a393__20Remote_3a_20_25s Ref00000000 +S ___004e_a271__20_20_20_20_20INF Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___0492_bd2b_expired Ref00000000 -S ___011e_4a96__258lu Ref00000000 -S ___0382_c1d8_Send_3a_20_2508lx_2 Ref00000000 +S ___0405_c1d8_Send_3a_20_2508lx_2 Ref00000000 S _read_timer Ref00000000 +S ___06ac_301d_stopped Ref00000000 +S ___0075_2da2__20_20_20_25s_0a Ref00000000 +S ___007e_ccb1__20_20seq_20x_25lx_ Ref00000000 S .__.ABS. Def00000000 S _pinet Ref00000000 -S ___05cf_301d_stopped Ref00000000 S ?L_MUL_L03 Ref00000000 -S ___059a_02fc_running Ref00000000 -S ___02ba_5ce5_Local_3a_20_25s Ref00000000 +S ___00ba_d7c2__20Retry Ref00000000 +S ___00bc_d322__20State_3a_20_25s_ Ref00000000 +S ___03df_fbe9_Reassembly_20queue_ Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___0065_ccb1__20_20seq_20x_25lx_ Ref00000000 +S ___0139_4a96__258lu Ref00000000 S ?SL_DIV_L03 Ref00000000 S __printf Ref00000000 -S ___00a1_d7c2__20Retry Ref00000000 +S ___008c_cad1__20_2510lu_2510lu_2 Ref00000000 +S ___013c_3341__258u_2510u_2511lu_ Ref00000000 S ?C_S_SWITCH_L06 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___023e_b7f4_Dup_20acks_20_20_20 Ref00000000 -S ___03a9_1db3_Timer_20_20_20_20_2 Ref00000000 -S ___00a3_d322__20State_3a_20_25s_ Ref00000000 +S ___03e3_2a15_Recv_3a_20_20_20_20 Ref00000000 +S ___0674_02fc_running Ref00000000 +S ___027d_b7f4_Dup_20acks_20_20_20 Ref00000000 S _Tcpstates Ref00000000 S ?L_SUBASG_L03 Ref00000000 A _DEFAULT size 0 flags 0 @@ -41,7 +41,7 @@ A CSTR size 14 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F6 FF DD 7E 02 DD -R 00 00 01 00 02 05 16 00 +R 00 00 01 00 02 05 15 00 T 09 00 00 00 B6 03 20 03 R 00 00 01 00 T 0D 00 00 00 @@ -101,7 +101,7 @@ R 00 00 01 00 T D2 00 00 00 DD 6E FA DD 66 FB DD 4E FC DD 46 R 00 00 01 00 T DD 00 00 00 FD CD 00 00 00 00 DD 75 FA DD 74 -R 00 00 01 00 02 06 03 00 +R 00 00 01 00 02 06 02 00 T E6 00 00 00 FB DD 71 FC DD 70 FD AF DD 77 F6 R 00 00 01 00 T F1 00 00 00 DD 77 F7 DD 77 F8 DD 77 F9 C3 @@ -113,13 +113,13 @@ R 00 00 01 00 T FD 00 00 00 DD 6E F6 DD 66 F7 DD 4E F8 DD 46 R 00 00 01 00 T 08 01 00 00 F9 CD 00 00 00 00 DD 75 F6 DD 74 -R 00 00 01 00 02 06 03 00 +R 00 00 01 00 02 06 02 00 T 11 01 00 00 F7 DD 71 F8 DD 70 F9 DD 6E FA DD R 00 00 01 00 T 1C 01 00 00 66 FB DD 4E FC DD 46 FD CD R 00 00 01 00 T 25 01 00 00 00 00 00 00 DD 75 FA DD 74 FB DD -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 2E 01 00 00 71 FC DD 70 FD 18 70 R 00 00 01 00 T 35 01 00 00 @@ -129,7 +129,7 @@ R 00 00 01 00 T 40 01 00 00 00 00 00 00 DD 6E FA DD 66 FB DD R 00 00 01 00 02 04 21 00 T 49 01 00 00 4E FC DD 46 FD CD 00 00 00 00 DD -R 00 00 01 00 02 0A 03 00 +R 00 00 01 00 02 0A 02 00 T 52 01 00 00 75 FA DD 74 FB DD 71 FC DD 70 FD R 00 00 01 00 T 5D 01 00 00 18 46 @@ -139,7 +139,7 @@ R 00 00 01 00 T 5F 01 00 00 DD 6E F6 DD 66 F7 DD 4E F8 DD 46 R 00 00 01 00 T 6A 01 00 00 F9 CD 00 00 00 00 DD 75 F6 DD 74 -R 00 00 01 00 02 06 03 00 +R 00 00 01 00 02 06 02 00 T 73 01 00 00 F7 DD 71 F8 DD 70 F9 21 04 00 39 R 00 00 01 00 T 7E 01 00 00 01 00 00 11 02 00 CD 00 00 00 00 @@ -159,39 +159,39 @@ R 00 00 01 00 T A5 01 00 00 DD 5E 02 DD 56 03 13 13 3E R 00 00 01 00 T AE 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 11 00 02 09 11 00 +R 00 00 01 00 2B 04 10 00 02 09 10 00 T B3 01 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 02 00 2B 0A 15 00 +R 00 00 01 00 02 04 01 00 2B 0A 06 00 T B9 01 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 15 00 2B 0B 19 00 +R 00 00 01 00 02 05 06 00 2B 0B 18 00 T BF 01 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 19 00 02 0A 02 00 +R 00 00 01 00 02 05 18 00 02 0A 01 00 T C6 01 00 00 F1 F1 21 08 00 DD 4E 02 DD 46 03 R 00 00 01 00 T D1 01 00 00 09 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 11 00 +R 00 00 01 00 2B 07 10 00 T D6 01 00 00 00 00 00 00 CD 00 00 00 00 E5 1E -R 00 00 01 00 02 04 11 00 02 09 02 00 +R 00 00 01 00 02 04 10 00 02 09 01 00 T DD 01 00 00 00 00 00 00 D5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 +R 00 00 01 00 2B 04 07 00 02 0A 07 00 T E3 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 19 00 02 0A 19 00 +R 00 00 01 00 2B 05 18 00 02 0A 18 00 T E9 01 00 00 00 00 00 00 F1 F1 F1 21 0E 00 09 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T F2 01 00 00 6E 26 00 29 11 00 00 00 00 19 5E R 00 00 01 00 02 09 20 00 T FB 01 00 00 23 56 D5 1E 00 00 00 00 D5 21 -R 00 00 01 00 2B 08 1F 00 +R 00 00 01 00 2B 08 13 00 T 02 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 1F 00 2B 0A 19 00 +R 00 00 01 00 02 04 13 00 2B 0A 18 00 T 08 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 19 00 02 09 02 00 +R 00 00 01 00 02 04 18 00 02 09 01 00 T 0F 02 00 00 F1 1E 00 00 00 00 D5 21 -R 00 00 01 00 2B 06 08 00 +R 00 00 01 00 2B 06 04 00 T 14 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 08 00 2B 0A 19 00 +R 00 00 01 00 02 04 04 00 2B 0A 18 00 T 1A 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 19 00 02 09 02 00 +R 00 00 01 00 02 04 18 00 02 09 01 00 T 21 02 00 00 DD 6E F8 DD 66 F9 E5 DD 6E F6 DD R 00 00 01 00 T 2C 02 00 00 66 F7 E5 21 BC 00 09 5E 23 56 23 @@ -225,11 +225,11 @@ R 00 00 01 00 T C5 02 00 00 4E 02 DD 46 03 09 5E 23 56 23 4E R 00 00 01 00 T D0 02 00 00 23 46 C5 D5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 0E 00 +R 00 00 01 00 2B 09 0A 00 T D8 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0E 00 2B 0A 19 00 +R 00 00 01 00 02 04 0A 00 2B 0A 18 00 T DE 02 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 19 00 02 09 02 00 +R 00 00 01 00 02 04 18 00 02 09 01 00 T E5 02 00 00 2C 00 39 F9 EB DD 6E FC DD 66 FD R 00 00 01 00 T F0 02 00 00 E5 DD 6E FA DD 66 FB E5 21 C4 00 @@ -251,17 +251,17 @@ R 00 00 01 00 T 48 03 00 00 4E 02 DD 46 03 09 5E 23 56 23 4E R 00 00 01 00 T 53 03 00 00 23 46 C5 D5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 06 00 +R 00 00 01 00 2B 09 1D 00 T 5B 03 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 06 00 2B 0A 19 00 +R 00 00 01 00 02 04 1D 00 2B 0A 18 00 T 61 03 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 19 00 02 09 02 00 +R 00 00 01 00 02 04 18 00 02 09 01 00 T 68 03 00 00 1C 00 39 F9 EB 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 1D 00 +R 00 00 01 00 2B 0A 1F 00 T 70 03 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 1D 00 2B 0B 19 00 +R 00 00 01 00 02 05 1F 00 2B 0B 18 00 T 76 03 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 19 00 02 0A 02 00 +R 00 00 01 00 02 05 18 00 02 0A 01 00 T 7D 03 00 00 F1 21 B0 00 DD 4E 02 DD 46 03 09 R 00 00 01 00 T 88 03 00 00 5E 23 56 23 4E 23 46 C5 D5 21 @@ -277,11 +277,11 @@ R 00 00 01 00 T BE 03 00 00 46 03 09 5E 23 56 D5 21 3D 00 09 R 00 00 01 00 T C9 03 00 00 5E 23 56 D5 1E 00 00 00 00 D5 21 -R 00 00 01 00 2B 09 01 00 +R 00 00 01 00 2B 09 1A 00 T D1 03 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 01 00 2B 0A 19 00 +R 00 00 01 00 02 04 1A 00 2B 0A 18 00 T D7 03 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 19 00 02 09 02 00 +R 00 00 01 00 02 04 18 00 02 09 01 00 T DE 03 00 00 14 00 39 F9 EB 21 9E 00 09 7E 23 R 00 00 01 00 T E9 03 00 00 B6 23 B6 23 B6 28 49 @@ -297,23 +297,23 @@ R 00 00 01 00 T 11 04 00 00 5E 23 56 D5 C5 01 00 00 21 E8 03 R 00 00 01 00 T 1C 04 00 00 CD 00 00 00 00 CD 00 00 00 00 C5 -R 00 00 01 00 02 05 13 00 02 0A 18 00 +R 00 00 01 00 02 05 11 00 02 0A 17 00 T 23 04 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 0D 00 +R 00 00 01 00 2B 06 16 00 T 28 04 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0D 00 2B 0A 19 00 +R 00 00 01 00 02 04 16 00 2B 0A 18 00 T 2E 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 19 00 02 09 02 00 +R 00 00 01 00 02 04 18 00 02 09 01 00 T 35 04 00 00 F1 F1 18 11 R 00 00 01 00 T 39 04 00 00 R 00 00 01 00 T 39 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 T 3F 04 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 19 00 02 0B 19 00 +R 00 00 01 00 2B 06 18 00 02 0B 18 00 T 45 04 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 4A 04 00 00 R 00 00 01 00 T 4A 04 00 00 21 6F 00 DD 4E 02 DD 46 03 09 7E @@ -323,53 +323,53 @@ R 00 00 01 00 T 5F 04 00 00 R 00 00 01 00 T 5F 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1A 00 02 0B 1A 00 +R 00 00 01 00 2B 05 12 00 02 0B 12 00 T 65 04 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 19 00 02 0B 19 00 +R 00 00 01 00 2B 06 18 00 02 0B 18 00 T 6B 04 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 70 04 00 00 R 00 00 01 00 T 70 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 09 00 02 0B 09 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 T 76 04 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 19 00 02 0B 19 00 +R 00 00 01 00 2B 06 18 00 02 0B 18 00 T 7C 04 00 00 CD 00 00 00 00 F1 F1 0E -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 82 04 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 1E 00 02 0A 1E 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T 88 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 19 00 02 0A 19 00 +R 00 00 01 00 2B 05 18 00 02 0A 18 00 T 8E 04 00 00 00 00 00 00 F1 F1 21 91 00 DD 4E -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 97 04 00 00 02 DD 46 03 09 7E FE 00 20 13 R 00 00 01 00 T A1 04 00 00 R 00 00 01 00 T A1 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 12 00 02 0B 12 00 +R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 T A7 04 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 19 00 02 0B 19 00 +R 00 00 01 00 2B 06 18 00 02 0B 18 00 T AD 04 00 00 CD 00 00 00 00 F1 F1 18 2E -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T B4 04 00 00 R 00 00 01 00 T B4 04 00 00 FE 01 20 13 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 14 00 +R 00 00 01 00 2B 09 1E 00 T BC 04 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 14 00 2B 0A 19 00 +R 00 00 01 00 02 04 1E 00 2B 0A 18 00 T C2 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 19 00 02 09 02 00 +R 00 00 01 00 02 04 18 00 02 09 01 00 T C9 04 00 00 18 17 R 00 00 01 00 T CB 04 00 00 R 00 00 01 00 T CB 04 00 00 FE 02 20 13 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 0C 00 +R 00 00 01 00 2B 09 00 00 T D3 04 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0C 00 2B 0A 19 00 +R 00 00 01 00 02 04 00 00 2B 0A 18 00 T D9 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 19 00 02 09 02 00 +R 00 00 01 00 02 04 18 00 02 09 01 00 T E0 04 00 00 18 00 R 00 00 01 00 T E2 04 00 00 @@ -391,17 +391,17 @@ R 00 00 01 00 T 2F 05 00 00 D5 01 00 00 21 37 00 CD R 00 00 01 00 T 37 05 00 00 00 00 00 00 C5 E5 21 82 00 DD 4E -R 00 00 01 00 02 04 13 00 +R 00 00 01 00 02 04 11 00 T 40 05 00 00 02 DD 46 03 09 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0F 00 +R 00 00 01 00 2B 0B 0B 00 T 48 05 00 00 21 00 00 00 00 CD 00 00 00 00 C5 -R 00 00 01 00 02 05 0F 00 02 0A 02 00 +R 00 00 01 00 02 05 0B 00 02 0A 01 00 T 4F 05 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 00 00 +R 00 00 01 00 2B 06 19 00 T 54 05 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 2B 0A 19 00 +R 00 00 01 00 02 04 19 00 2B 0A 18 00 T 5A 05 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 19 00 02 09 02 00 +R 00 00 01 00 02 04 18 00 02 09 01 00 T 61 05 00 00 18 00 39 F9 EB 21 6F 00 DD 4E 02 R 00 00 01 00 T 6C 05 00 00 DD 46 03 09 7E E6 80 57 23 7E E6 @@ -415,11 +415,11 @@ R 00 00 01 00 00 05 02 00 T 83 05 00 00 R 00 00 01 00 T 83 05 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 07 00 +R 00 00 01 00 2B 06 0D 00 T 88 05 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 07 00 2B 0A 19 00 +R 00 00 01 00 02 04 0D 00 2B 0A 18 00 T 8E 05 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 19 00 02 09 02 00 +R 00 00 01 00 02 04 18 00 02 09 01 00 T 95 05 00 00 F1 21 80 00 DD 4E 02 DD 46 03 09 R 00 00 01 00 T A0 05 00 00 7E 23 B6 28 6E @@ -427,11 +427,11 @@ R 00 00 01 00 T A5 05 00 00 R 00 00 01 00 T A5 05 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 04 00 02 0B 04 00 +R 00 00 01 00 2B 05 14 00 02 0B 14 00 T AB 05 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 19 00 02 0B 19 00 +R 00 00 01 00 2B 06 18 00 02 0B 18 00 T B1 05 00 00 CD 00 00 00 00 F1 F1 21 80 00 DD -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T BA 05 00 00 4E 02 DD 46 03 09 46 23 66 68 DD R 00 00 01 00 T C5 05 00 00 75 FE DD 74 FF @@ -442,16 +442,16 @@ T CA 05 00 00 DD 7E FE DD B6 FF 28 41 R 00 00 01 00 T D2 05 00 00 R 00 00 01 00 -T D2 05 00 00 21 23 00 DD 4E FE DD 46 FF 09 5E +T D2 05 00 00 21 4C 00 DD 4E FE DD 46 FF 09 5E R 00 00 01 00 T DD 05 00 00 23 56 D5 21 06 00 09 5E 23 56 23 R 00 00 01 00 T E8 05 00 00 4E 23 46 C5 D5 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 17 00 +R 00 00 01 00 2B 0A 0E 00 T F0 05 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 17 00 2B 0B 19 00 +R 00 00 01 00 02 05 0E 00 2B 0B 18 00 T F6 05 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 19 00 02 0A 02 00 +R 00 00 01 00 02 05 18 00 02 0A 01 00 T FD 05 00 00 F1 F1 F1 F1 DD 6E FE DD 66 FF 46 R 00 00 01 00 T 08 06 00 00 23 66 68 DD 75 FE DD 74 FF 18 B7 @@ -463,7 +463,7 @@ R 00 00 01 00 T 13 06 00 00 R 00 00 01 00 T 13 06 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 09 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 74 69 6D 65 73 74 61 6D 70 73 00 diff --git a/src/nos/lib/internet_lib/tcp_icmp.rel b/src/nos/lib/internet_lib/tcp_icmp.rel index 9ae3d164..c5cafec9 100644 --- a/src/nos/lib/internet_lib/tcp_icmp.rel +++ b/src/nos/lib/internet_lib/tcp_icmp.rel @@ -16,31 +16,31 @@ A CODE size 1BF flags 0 S _tcp_icmp Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 D2 FF DD 4E 16 DD +T 00 00 00 00 CD 00 00 00 00 AA FF DD 4E 16 DD R 00 00 01 00 02 05 05 00 T 09 00 00 00 46 17 21 00 00 39 5D 54 3E R 00 00 01 00 T 12 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 17 00 00 00 00 00 00 00 DD 6E D2 DD 66 D3 DD +T 17 00 00 00 00 00 00 00 DD 6E AA DD 66 AB DD R 00 00 01 00 02 04 01 00 -T 20 00 00 00 75 F5 DD 74 F6 DD 6E D4 DD 66 D5 +T 20 00 00 00 75 F6 DD 74 F7 DD 6E AC DD 66 AD R 00 00 01 00 -T 2B 00 00 00 DD 75 FB DD 74 FC DD 4E 0C DD 46 +T 2B 00 00 00 DD 75 FC DD 74 FD DD 4E 0C DD 46 R 00 00 01 00 -T 36 00 00 00 0D DD 6E 0A DD 66 0B DD 75 F1 DD +T 36 00 00 00 0D DD 6E 0A DD 66 0B DD 75 F2 DD R 00 00 01 00 -T 41 00 00 00 74 F2 DD 71 F3 DD 70 F4 DD 4E 10 +T 41 00 00 00 74 F3 DD 71 F4 DD 70 F5 DD 4E 10 R 00 00 01 00 T 4C 00 00 00 DD 46 11 DD 6E 0E DD 66 0F DD 75 R 00 00 01 00 -T 57 00 00 00 F7 DD 74 F8 DD 71 F9 DD 70 FA 21 +T 57 00 00 00 F8 DD 74 F9 DD 71 FA DD 70 FB 21 R 00 00 01 00 -T 62 00 00 00 1F 00 39 5D 54 3E 00 00 00 00 21 +T 62 00 00 00 48 00 39 5D 54 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 08 00 T 6A 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 08 00 02 09 01 00 -T 71 00 00 00 FD DD 74 FE 7D B4 20 03 +T 71 00 00 00 FE DD 74 FF 7D B4 20 03 R 00 00 01 00 T 79 00 00 00 R 00 00 01 00 @@ -48,11 +48,11 @@ T 79 00 00 00 C3 BC 01 00 00 R 00 00 01 00 00 05 01 00 T 7C 00 00 00 R 00 00 01 00 -T 7C 00 00 00 21 16 00 DD 4E FD DD 46 FE 09 5E +T 7C 00 00 00 21 16 00 DD 4E FE DD 46 FF 09 5E R 00 00 01 00 T 87 00 00 00 23 56 23 4E 23 46 C5 D5 21 12 00 R 00 00 01 00 -T 92 00 00 00 DD 4E FD DD 46 FE 09 4E 23 46 23 +T 92 00 00 00 DD 4E FE DD 46 FF 09 4E 23 46 23 R 00 00 01 00 T 9D 00 00 00 5E 23 56 D5 C5 21 0C 00 39 5E 23 R 00 00 01 00 @@ -72,7 +72,7 @@ T C0 00 00 00 DD 7E 12 FE 03 28 04 FE 0B 20 20 R 00 00 01 00 T CB 00 00 00 R 00 00 01 00 -T CB 00 00 00 21 10 00 DD 4E FD DD 46 FE 09 DD +T CB 00 00 00 21 10 00 DD 4E FE DD 46 FF 09 DD R 00 00 01 00 T D6 00 00 00 56 12 72 21 11 00 09 DD 56 14 72 R 00 00 01 00 @@ -84,47 +84,47 @@ T EB 00 00 00 R 00 00 01 00 T EB 00 00 00 FE 04 C2 BC 01 00 00 21 00 00 E5 R 00 00 01 00 00 07 01 00 -T F4 00 00 00 21 02 00 E5 21 35 00 DD 4E FD DD +T F4 00 00 00 21 02 00 E5 21 35 00 DD 4E FE DD R 00 00 01 00 -T FF 00 00 00 46 FE 09 5E 23 56 23 4E 23 46 EB +T FF 00 00 00 46 FF 09 5E 23 56 23 4E 23 46 EB R 00 00 01 00 T 0A 01 00 00 CD 00 00 00 00 E5 21 39 00 DD 5E R 00 00 01 00 02 05 07 00 -T 13 01 00 00 FD DD 56 FE 19 D1 73 23 72 23 71 +T 13 01 00 00 FE DD 56 FF 19 D1 73 23 72 23 71 R 00 00 01 00 -T 1E 01 00 00 23 70 21 39 00 DD 4E FD DD 46 FE +T 1E 01 00 00 23 70 21 39 00 DD 4E FE DD 46 FF R 00 00 01 00 T 29 01 00 00 09 5E 23 56 23 4E 23 46 C5 D5 21 R 00 00 01 00 -T 34 01 00 00 5A 00 DD 4E FD DD 46 FE 09 5E 23 +T 34 01 00 00 5A 00 DD 4E FE DD 46 FF 09 5E 23 R 00 00 01 00 T 3F 01 00 00 56 23 4E 23 46 EB CD 00 00 00 00 R 00 00 01 00 02 0B 04 00 -T 48 01 00 00 30 14 21 39 00 DD 4E FD DD 46 FE +T 48 01 00 00 30 14 21 39 00 DD 4E FE DD 46 FF R 00 00 01 00 T 53 01 00 00 09 5E 23 56 23 4E 23 46 EB 18 12 R 00 00 01 00 T 5E 01 00 00 R 00 00 01 00 -T 5E 01 00 00 21 5A 00 DD 4E FD DD 46 FE 09 5E +T 5E 01 00 00 21 5A 00 DD 4E FE DD 46 FF 09 5E R 00 00 01 00 T 69 01 00 00 23 56 23 4E 23 46 EB R 00 00 01 00 T 70 01 00 00 R 00 00 01 00 -T 70 01 00 00 E5 21 39 00 DD 5E FD DD 56 FE 19 +T 70 01 00 00 E5 21 39 00 DD 5E FE DD 56 FF 19 R 00 00 01 00 T 7B 01 00 00 D1 73 23 72 23 71 23 70 21 5A 00 R 00 00 01 00 -T 86 01 00 00 DD 4E FD DD 46 FE 09 4E 23 46 23 +T 86 01 00 00 DD 4E FE DD 46 FF 09 4E 23 46 23 R 00 00 01 00 T 91 01 00 00 5E 23 56 69 60 E5 21 35 00 DD 4E R 00 00 01 00 -T 9C 01 00 00 FD DD 46 FE 09 C1 D5 59 50 C1 73 +T 9C 01 00 00 FE DD 46 FF 09 C1 D5 59 50 C1 73 R 00 00 01 00 T A7 01 00 00 23 72 23 71 23 70 21 AC 00 DD 4E R 00 00 01 00 -T B2 01 00 00 FD DD 46 FE 09 CD 00 00 00 00 18 +T B2 01 00 00 FE DD 46 FF 09 CD 00 00 00 00 18 R 00 00 01 00 02 0A 06 00 T BB 01 00 00 00 R 00 00 01 00 diff --git a/src/nos/lib/internet_lib/tcp_input.rel b/src/nos/lib/internet_lib/tcp_input.rel index e5ba5ca2..b3bd7ca1 100644 --- a/src/nos/lib/internet_lib/tcp_input.rel +++ b/src/nos/lib/internet_lib/tcp_input.rel @@ -1,5 +1,5 @@ XL4 -H 2 areas 25 global symbols +H 2 areas 27 global symbols S _ntohtcp Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _update Ref00000000 @@ -7,8 +7,10 @@ S _set_timer Ref00000000 S _Tcbs Ref00000000 S ?L_INC_L03 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S _abyte Ref00000000 S _tcp_output Ref00000000 S ?L_ADDASG_L03 Ref00000000 +S _ahexw Ref00000000 S .__.ABS. Def00000000 S _close_self Ref00000000 S _send_syn Ref00000000 @@ -37,12 +39,12 @@ S ?L_SUBASG_L03 Ref00000000 S _Tcp_mib Ref00000000 S _get_reseq Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size DCD flags 0 +A CODE size E3A flags 0 S _tcp_input Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 BE FF DD 7E 0A DD -R 00 00 01 00 02 05 11 00 +T 00 00 00 00 CD 00 00 00 00 94 FF DD 7E 0A DD +R 00 00 01 00 02 05 13 00 T 09 00 00 00 B6 0B 28 0B DD 6E 0A DD 66 0B 7E R 00 00 01 00 T 14 00 00 00 23 B6 20 03 @@ -53,25 +55,25 @@ T 18 00 00 00 R 00 00 01 00 T 18 00 00 00 R 00 00 01 00 -T 18 00 00 00 C3 CA 0D 00 00 +T 18 00 00 00 C3 37 0E 00 00 R 00 00 01 00 00 05 01 00 T 1B 00 00 00 R 00 00 01 00 T 1B 00 00 00 2A 3E 00 00 00 ED 4B 40 00 00 00 -R 00 00 01 00 02 05 22 00 02 0B 22 00 +R 00 00 01 00 02 05 24 00 02 0B 24 00 T 22 00 00 00 CD 00 00 00 00 22 3E 00 00 00 ED -R 00 00 01 00 02 05 05 00 02 0A 22 00 +R 00 00 01 00 02 05 05 00 02 0A 24 00 T 29 00 00 00 43 40 00 00 00 DD 7E 0C DD B6 0D -R 00 00 01 00 02 05 22 00 +R 00 00 01 00 02 05 24 00 T 32 00 00 00 28 11 R 00 00 01 00 T 34 00 00 00 R 00 00 01 00 T 34 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 18 00 +R 00 00 01 00 2B 0B 1A 00 T 3C 00 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 18 00 02 0A 01 00 -T 43 00 00 00 CA 0D 00 00 +R 00 00 01 00 02 05 1A 00 02 0A 01 00 +T 43 00 00 00 37 0E 00 00 R 00 00 01 00 00 04 01 00 T 45 00 00 00 R 00 00 01 00 @@ -79,1139 +81,1165 @@ T 45 00 00 00 21 16 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 T 50 00 00 00 16 00 21 08 00 09 7E 23 66 6F A7 R 00 00 01 00 -T 5B 00 00 00 ED 52 11 EC FF 19 DD 75 FA DD 74 +T 5B 00 00 00 ED 52 11 EC FF 19 DD 75 F9 DD 74 R 00 00 01 00 -T 66 00 00 00 FB 69 60 5E 23 56 23 4E 23 46 DD +T 66 00 00 00 FA 69 60 5E 23 56 23 4E 23 46 DD R 00 00 01 00 -T 71 00 00 00 73 ED DD 72 EE DD 71 EF DD 70 F0 +T 71 00 00 00 73 EC DD 72 ED DD 71 EE DD 70 EF R 00 00 01 00 T 7C 00 00 00 21 04 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 -T 87 00 00 00 23 46 23 5E 23 56 69 60 DD 75 F1 +T 87 00 00 00 23 46 23 5E 23 56 69 60 DD 75 F0 R 00 00 01 00 -T 92 00 00 00 DD 74 F2 DD 73 F3 DD 72 F4 21 +T 92 00 00 00 DD 74 F1 DD 73 F2 DD 72 F3 21 R 00 00 01 00 T 9C 00 00 00 15 00 DD 4E 04 DD 46 05 09 46 DD R 00 00 01 00 -T A7 00 00 00 70 F5 DD 6E FA DD 66 FB DD 75 F6 +T A7 00 00 00 70 F4 DD 6E F9 DD 66 FA DD 75 F5 R 00 00 01 00 -T B2 00 00 00 DD 74 F7 DD 6E FA DD 66 FB E5 DD +T B2 00 00 00 DD 74 F6 DD 6E F9 DD 66 FA E5 DD R 00 00 01 00 -T BD 00 00 00 6E 0A DD 66 0B 4E 23 46 21 31 00 +T BD 00 00 00 6E 0A DD 66 0B 4E 23 46 21 5A 00 R 00 00 01 00 T C8 00 00 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0D 00 +R 00 00 01 00 2B 08 0F 00 T CE 00 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 0D 00 02 09 01 00 -T D5 00 00 00 B4 28 22 -R 00 00 01 00 -T D8 00 00 00 -R 00 00 01 00 -T D8 00 00 00 2A 56 00 00 00 ED 4B 58 00 00 00 -R 00 00 01 00 02 05 22 00 02 0B 22 00 -T DF 00 00 00 CD 00 00 00 00 22 56 00 00 00 ED -R 00 00 01 00 02 05 05 00 02 0A 22 00 -T E6 00 00 00 43 58 00 00 00 DD 5E 0A DD 56 0B -R 00 00 01 00 02 05 22 00 -T EF 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 18 00 02 0A 18 00 -T F5 00 00 00 00 00 00 00 C3 CA 0D 00 00 +R 00 00 01 00 02 04 0F 00 02 09 01 00 +T D5 00 00 00 B4 CA 67 01 00 00 +R 00 00 01 00 00 06 01 00 +T D9 00 00 00 +R 00 00 01 00 +T D9 00 00 00 DD 6E 0A DD 66 0B 46 23 66 68 01 +R 00 00 01 00 +T E4 00 00 00 0A 00 09 46 23 66 68 01 10 00 09 +R 00 00 01 00 +T EF 00 00 00 36 00 DD 6E 0A DD 66 0B 46 23 66 +R 00 00 01 00 +T FA 00 00 00 68 01 0A 00 09 46 23 66 68 01 +R 00 00 01 00 +T 04 01 00 00 11 00 09 36 00 1E 21 3E +R 00 00 01 00 +T 0C 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 07 00 02 09 07 00 +T 11 01 00 00 00 00 00 00 DD 6E F9 DD 66 FA E5 +R 00 00 01 00 02 04 01 00 +T 1A 01 00 00 DD 6E 0A DD 66 0B 4E 23 46 21 +R 00 00 01 00 +T 24 01 00 00 5A 00 39 5D 54 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0F 00 +T 2C 01 00 00 00 00 00 00 CD 00 00 00 00 F1 EB +R 00 00 01 00 02 04 0F 00 02 09 01 00 +T 33 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0A 00 02 0A 0A 00 +T 39 01 00 00 00 00 00 00 1E 21 3E 00 00 00 00 +R 00 00 01 00 02 04 01 00 2B 0B 07 00 +T 3F 01 00 00 21 00 00 00 00 CD 00 00 00 00 2A +R 00 00 01 00 02 05 07 00 02 0A 01 00 +T 46 01 00 00 56 00 00 00 ED 4B 58 00 00 00 CD +R 00 00 01 00 02 04 24 00 02 0A 24 00 +T 4D 01 00 00 00 00 00 00 22 56 00 00 00 ED 43 +R 00 00 01 00 02 04 05 00 02 09 24 00 +T 54 01 00 00 58 00 00 00 DD 5E 0A DD 56 0B 3E +R 00 00 01 00 02 04 24 00 +T 5D 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 1A 00 02 09 1A 00 +T 62 01 00 00 00 00 00 00 C3 37 0E 00 00 R 00 00 01 00 02 04 01 00 00 09 01 00 -T FA 00 00 00 +T 67 01 00 00 R 00 00 01 00 -T FA 00 00 00 DD 4E 0A DD 46 0B 21 04 00 39 5D +T 67 01 00 00 DD 4E 0A DD 46 0B 21 04 00 39 5D R 00 00 01 00 -T 05 01 00 00 54 3E 00 00 00 00 21 00 00 00 00 +T 72 01 00 00 54 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 00 00 02 0B 00 00 -T 0B 01 00 00 CD 00 00 00 00 DD 75 F8 DD 74 F9 +T 78 01 00 00 CD 00 00 00 00 DD 75 F7 DD 74 F8 R 00 00 01 00 02 05 01 00 -T 14 01 00 00 CB 7C 28 11 +T 81 01 00 00 CB 7C 28 11 R 00 00 01 00 -T 18 01 00 00 +T 85 01 00 00 R 00 00 01 00 -T 18 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 18 00 -T 20 01 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 18 00 02 0A 01 00 -T 27 01 00 00 CA 0D 00 00 +T 85 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1A 00 +T 8D 01 00 00 21 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 05 1A 00 02 0A 01 00 +T 94 01 00 00 37 0E 00 00 R 00 00 01 00 00 04 01 00 -T 29 01 00 00 +T 96 01 00 00 R 00 00 01 00 -T 29 01 00 00 21 3C 00 39 7E DD 96 F8 77 23 7E +T 96 01 00 00 21 65 00 39 7E DD 96 F7 77 23 7E R 00 00 01 00 -T 34 01 00 00 DD 9E F9 77 21 04 00 DD 4E 04 DD +T A1 01 00 00 DD 9E F8 77 21 04 00 DD 4E 04 DD R 00 00 01 00 -T 3F 01 00 00 46 05 09 4E 23 46 23 5E 23 56 69 +T AC 01 00 00 46 05 09 4E 23 46 23 5E 23 56 69 R 00 00 01 00 -T 4A 01 00 00 60 DD 75 E1 DD 74 E2 DD 73 E3 DD +T B7 01 00 00 60 DD 75 E0 DD 74 E1 DD 73 E2 DD R 00 00 01 00 -T 55 01 00 00 72 E4 DD 6E C4 DD 66 C5 DD 75 E5 +T C2 01 00 00 72 E3 DD 6E 9A DD 66 9B DD 75 E4 R 00 00 01 00 -T 60 01 00 00 DD 74 E6 DD 6E 04 DD 66 05 5E 23 +T CD 01 00 00 DD 74 E5 DD 6E 04 DD 66 05 5E 23 R 00 00 01 00 -T 6B 01 00 00 56 23 4E 23 46 EB DD 75 E7 DD 74 +T D8 01 00 00 56 23 4E 23 46 EB DD 75 E6 DD 74 R 00 00 01 00 -T 76 01 00 00 E8 DD 71 E9 DD 70 EA DD 6E C2 DD +T E3 01 00 00 E7 DD 71 E8 DD 70 E9 DD 6E 98 DD R 00 00 01 00 -T 81 01 00 00 66 C3 DD 75 EB DD 74 EC 21 23 00 +T EE 01 00 00 66 99 DD 75 EA DD 74 EB 21 4C 00 R 00 00 01 00 -T 8C 01 00 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 19 00 -T 92 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 19 00 02 09 01 00 -T 99 01 00 00 C0 DD 74 C1 7D B4 C2 09 03 00 00 +T F9 01 00 00 39 5D 54 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 1B 00 +T FF 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 1B 00 02 09 01 00 +T 06 02 00 00 96 DD 74 97 7D B4 C2 76 03 00 00 R 00 00 01 00 00 0B 01 00 -T A2 01 00 00 +T 0F 02 00 00 R 00 00 01 00 -T A2 01 00 00 DD 7E DF E6 20 47 DD 7E E0 E6 00 +T 0F 02 00 00 DD 7E B5 E6 20 47 DD 7E B6 E6 00 R 00 00 01 00 -T AD 01 00 00 B0 20 25 +T 1A 02 00 00 B0 20 25 R 00 00 01 00 -T B0 01 00 00 +T 1D 02 00 00 R 00 00 01 00 -T B0 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 18 00 -T B8 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 18 00 02 0A 01 00 -T BF 01 00 00 04 00 39 4D 44 DD 5E 04 DD 56 05 +T 1D 02 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1A 00 +T 25 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 1A 00 02 0A 01 00 +T 2C 02 00 00 04 00 39 4D 44 DD 5E 04 DD 56 05 R 00 00 01 00 -T CA 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 -T D0 01 00 00 00 00 00 00 C3 CA 0D 00 00 +T 37 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 +T 3D 02 00 00 00 00 00 00 C3 37 0E 00 00 R 00 00 01 00 02 04 01 00 00 09 01 00 -T D5 01 00 00 +T 42 02 00 00 R 00 00 01 00 -T D5 01 00 00 AF DD 77 E7 DD 77 E8 DD 77 E9 DD +T 42 02 00 00 AF DD 77 E6 DD 77 E7 DD 77 E8 DD R 00 00 01 00 -T E0 01 00 00 77 EA AF DD 77 EB DD 77 EC 21 +T 4D 02 00 00 77 E9 AF DD 77 EA DD 77 EB 21 R 00 00 01 00 -T EA 01 00 00 23 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 19 00 -T F2 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 19 00 02 09 01 00 -T F9 01 00 00 C0 DD 74 C1 7D B4 20 4A +T 57 02 00 00 4C 00 39 5D 54 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 1B 00 +T 5F 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 1B 00 02 09 01 00 +T 66 02 00 00 96 DD 74 97 7D B4 20 4A R 00 00 01 00 -T 01 02 00 00 +T 6E 02 00 00 R 00 00 01 00 -T 01 02 00 00 AF DD 77 E1 DD 77 E2 DD 77 E3 DD +T 6E 02 00 00 AF DD 77 E0 DD 77 E1 DD 77 E2 DD R 00 00 01 00 -T 0C 02 00 00 77 E4 21 23 00 39 5D 54 3E +T 79 02 00 00 77 E3 21 4C 00 39 5D 54 3E R 00 00 01 00 -T 15 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 19 00 02 09 19 00 -T 1A 02 00 00 00 00 00 00 DD 75 C0 DD 74 C1 7D +T 82 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 1B 00 02 09 1B 00 +T 87 02 00 00 00 00 00 00 DD 75 96 DD 74 97 7D R 00 00 01 00 02 04 01 00 -T 23 02 00 00 B4 20 25 +T 90 02 00 00 B4 20 25 R 00 00 01 00 -T 26 02 00 00 +T 93 02 00 00 R 00 00 01 00 -T 26 02 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 18 00 -T 2E 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 18 00 02 0A 01 00 -T 35 02 00 00 04 00 39 4D 44 DD 5E 04 DD 56 05 +T 93 02 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1A 00 +T 9B 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 1A 00 02 0A 01 00 +T A2 02 00 00 04 00 39 4D 44 DD 5E 04 DD 56 05 R 00 00 01 00 -T 40 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 -T 46 02 00 00 00 00 00 00 C3 CA 0D 00 00 +T AD 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 +T B3 02 00 00 00 00 00 00 C3 37 0E 00 00 R 00 00 01 00 02 04 01 00 00 09 01 00 -T 4B 02 00 00 +T B8 02 00 00 R 00 00 01 00 -T 4B 02 00 00 +T B8 02 00 00 R 00 00 01 00 -T 4B 02 00 00 21 6F 00 DD 4E C0 DD 46 C1 09 7E +T B8 02 00 00 21 6F 00 DD 4E 96 DD 46 97 09 7E R 00 00 01 00 -T 56 02 00 00 E6 02 47 23 7E E6 00 B0 28 4E +T C3 02 00 00 E6 02 47 23 7E E6 00 B0 28 4E R 00 00 01 00 -T 60 02 00 00 +T CD 02 00 00 R 00 00 01 00 -T 60 02 00 00 11 C8 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 17 00 -T 66 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 17 00 02 09 01 00 -T 6D 02 00 00 BE DD 74 BF DD 6E C0 DD 66 C1 DD +T CD 02 00 00 11 C8 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 19 00 +T D3 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 19 00 02 09 01 00 +T DA 02 00 00 94 DD 74 95 DD 6E 96 DD 66 97 DD R 00 00 01 00 -T 78 02 00 00 5E BE DD 56 BF 01 C8 00 ED B0 DD +T E5 02 00 00 5E 94 DD 56 95 01 C8 00 ED B0 DD R 00 00 01 00 -T 83 02 00 00 6E BE DD 66 BF DD 75 C0 DD 74 C1 +T F0 02 00 00 6E 94 DD 66 95 DD 75 96 DD 74 97 R 00 00 01 00 -T 8E 02 00 00 01 8F 00 09 DD 4E C0 DD 46 C1 71 +T FB 02 00 00 01 8F 00 09 DD 4E 96 DD 46 97 71 R 00 00 01 00 -T 99 02 00 00 23 70 2A 00 00 00 00 E5 69 60 C1 +T 06 03 00 00 23 70 2A 00 00 00 00 E5 69 60 C1 R 00 00 01 00 02 07 04 00 -T A2 02 00 00 71 23 70 DD 6E C0 DD 66 C1 22 +T 0F 03 00 00 71 23 70 DD 6E 96 DD 66 97 22 R 00 00 01 00 -T AC 02 00 00 00 00 00 00 +T 19 03 00 00 00 00 00 00 R 00 00 01 00 02 04 04 00 -T AE 02 00 00 +T 1B 03 00 00 R 00 00 01 00 -T AE 02 00 00 21 04 00 DD 4E 04 DD 46 05 09 4E +T 1B 03 00 00 21 04 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 -T B9 02 00 00 23 46 23 5E 23 56 69 60 E5 DD 6E +T 26 03 00 00 23 46 23 5E 23 56 69 60 E5 DD 6E R 00 00 01 00 -T C4 02 00 00 C0 DD 66 C1 23 23 C1 D5 59 50 C1 +T 31 03 00 00 96 DD 66 97 23 23 C1 D5 59 50 C1 R 00 00 01 00 -T CF 02 00 00 73 23 72 23 71 23 70 21 08 00 DD +T 3C 03 00 00 73 23 72 23 71 23 70 21 08 00 DD R 00 00 01 00 -T DA 02 00 00 4E C0 DD 46 C1 09 E5 DD 6E 04 DD +T 47 03 00 00 4E 96 DD 46 97 09 E5 DD 6E 04 DD R 00 00 01 00 -T E5 02 00 00 66 05 5E 23 56 23 4E 23 46 E1 73 +T 52 03 00 00 66 05 5E 23 56 23 4E 23 46 E1 73 R 00 00 01 00 -T F0 02 00 00 23 72 23 71 23 70 21 0C 00 DD 4E +T 5D 03 00 00 23 72 23 71 23 70 21 0C 00 DD 4E R 00 00 01 00 -T FB 02 00 00 C0 DD 46 C1 09 DD 4E C2 DD 46 C3 +T 68 03 00 00 96 DD 46 97 09 DD 4E 98 DD 46 99 R 00 00 01 00 -T 06 03 00 00 71 23 70 +T 73 03 00 00 71 23 70 R 00 00 01 00 -T 09 03 00 00 +T 76 03 00 00 R 00 00 01 00 -T 09 03 00 00 21 10 00 DD 4E 04 DD 46 05 09 7E +T 76 03 00 00 21 10 00 DD 4E 04 DD 46 05 09 7E R 00 00 01 00 -T 14 03 00 00 E6 01 06 00 4F 21 6F 00 DD 5E C0 +T 81 03 00 00 E6 01 06 00 4F 21 6F 00 DD 5E 96 R 00 00 01 00 -T 1F 03 00 00 DD 56 C1 19 CB 41 28 04 CB F6 18 +T 8C 03 00 00 DD 56 97 19 CB 41 28 04 CB F6 18 R 00 00 01 00 -T 2A 03 00 00 02 +T 97 03 00 00 02 R 00 00 01 00 -T 2B 03 00 00 +T 98 03 00 00 R 00 00 01 00 -T 2B 03 00 00 CB B6 +T 98 03 00 00 CB B6 R 00 00 01 00 -T 2D 03 00 00 +T 9A 03 00 00 R 00 00 01 00 -T 2D 03 00 00 21 0E 00 DD 4E C0 DD 46 C1 09 7E +T 9A 03 00 00 21 0E 00 DD 4E 96 DD 46 97 09 7E R 00 00 01 00 -T 38 03 00 00 FE 01 20 25 +T A5 03 00 00 FE 01 20 25 R 00 00 01 00 -T 3C 03 00 00 +T A9 03 00 00 R 00 00 01 00 -T 3C 03 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 18 00 -T 44 03 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 18 00 02 0A 01 00 -T 4B 03 00 00 04 00 39 4D 44 DD 5E 04 DD 56 05 +T A9 03 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1A 00 +T B1 03 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 1A 00 02 0A 01 00 +T B8 03 00 00 04 00 39 4D 44 DD 5E 04 DD 56 05 R 00 00 01 00 -T 56 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 -T 5C 03 00 00 00 00 00 00 C3 CA 0D 00 00 +T C3 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 +T C9 03 00 00 00 00 00 00 C3 37 0E 00 00 R 00 00 01 00 02 04 01 00 00 09 01 00 -T 61 03 00 00 +T CE 03 00 00 R 00 00 01 00 -T 61 03 00 00 FE 02 C2 3B 04 00 00 DD 7E DF E6 +T CE 03 00 00 FE 02 C2 A8 04 00 00 DD 7E B5 E6 R 00 00 01 00 00 07 01 00 -T 6A 03 00 00 10 47 DD 7E E0 E6 00 B0 28 11 +T D7 03 00 00 10 47 DD 7E B6 E6 00 B0 28 11 R 00 00 01 00 -T 74 03 00 00 +T E1 03 00 00 R 00 00 01 00 -T 74 03 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 18 00 -T 7C 03 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 18 00 02 0A 01 00 -T 83 03 00 00 CA 0D 00 00 +T E1 03 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1A 00 +T E9 03 00 00 21 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 05 1A 00 02 0A 01 00 +T F0 03 00 00 37 0E 00 00 R 00 00 01 00 00 04 01 00 -T 85 03 00 00 +T F2 03 00 00 R 00 00 01 00 -T 85 03 00 00 DD 7E DF E6 04 47 DD 7E E0 E6 00 +T F2 03 00 00 DD 7E B5 E6 04 47 DD 7E B6 E6 00 R 00 00 01 00 -T 90 03 00 00 B0 28 25 +T FD 03 00 00 B0 28 25 R 00 00 01 00 -T 93 03 00 00 +T 00 04 00 00 R 00 00 01 00 -T 93 03 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 18 00 -T 9B 03 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 18 00 02 0A 01 00 -T A2 03 00 00 04 00 39 4D 44 DD 5E 04 DD 56 05 +T 00 04 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1A 00 +T 08 04 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 1A 00 02 0A 01 00 +T 0F 04 00 00 04 00 39 4D 44 DD 5E 04 DD 56 05 R 00 00 01 00 -T AD 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 -T B3 03 00 00 00 00 00 00 C3 CA 0D 00 00 +T 1A 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 +T 20 04 00 00 00 00 00 00 C3 37 0E 00 00 R 00 00 01 00 02 04 01 00 00 09 01 00 -T B8 03 00 00 +T 25 04 00 00 R 00 00 01 00 -T B8 03 00 00 DD 7E DF E6 20 47 DD 7E E0 E6 00 +T 25 04 00 00 DD 7E B5 E6 20 47 DD 7E B6 E6 00 R 00 00 01 00 -T C3 03 00 00 B0 28 64 +T 30 04 00 00 B0 28 64 R 00 00 01 00 -T C6 03 00 00 +T 33 04 00 00 R 00 00 01 00 -T C6 03 00 00 21 04 00 39 E5 21 13 00 DD 4E 04 +T 33 04 00 00 21 04 00 39 E5 21 13 00 DD 4E 04 R 00 00 01 00 -T D1 03 00 00 DD 46 05 09 4E DD 5E C0 DD 56 C1 +T 3E 04 00 00 DD 46 05 09 4E DD 5E 96 DD 56 97 R 00 00 01 00 -T DC 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 14 00 02 0A 14 00 -T E2 03 00 00 00 00 00 00 E1 DD 5E C0 DD 56 C1 +T 49 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 16 00 02 0A 16 00 +T 4F 04 00 00 00 00 00 00 E1 DD 5E 96 DD 56 97 R 00 00 01 00 02 04 01 00 -T EB 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0B 00 02 0A 0B 00 -T F1 03 00 00 00 00 00 00 0E 04 DD 5E C0 DD 56 +T 58 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0D 00 02 0A 0D 00 +T 5E 04 00 00 00 00 00 00 0E 04 DD 5E 96 DD 56 R 00 00 01 00 02 04 01 00 -T FA 03 00 00 C1 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1A 00 02 0B 1A 00 -T 00 04 00 00 CD 00 00 00 00 DD 7E FA DD B6 FB +T 67 04 00 00 97 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 1C 00 02 0B 1C 00 +T 6D 04 00 00 CD 00 00 00 00 DD 7E F9 DD B6 FA R 00 00 01 00 02 05 01 00 -T 09 04 00 00 20 0E DD 7E DF E6 40 47 DD 7E E0 +T 76 04 00 00 20 0E DD 7E B5 E6 40 47 DD 7E B6 R 00 00 01 00 -T 14 04 00 00 E6 00 B0 28 03 +T 81 04 00 00 E6 00 B0 28 03 R 00 00 01 00 -T 19 04 00 00 +T 86 04 00 00 R 00 00 01 00 -T 19 04 00 00 +T 86 04 00 00 R 00 00 01 00 -T 19 04 00 00 +T 86 04 00 00 R 00 00 01 00 -T 19 04 00 00 C3 B3 05 00 00 +T 86 04 00 00 C3 20 06 00 00 R 00 00 01 00 00 05 01 00 -T 1C 04 00 00 -R 00 00 01 00 -T 1C 04 00 00 DD 5E C0 DD 56 C1 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T 24 04 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 07 00 02 0A 01 00 -T 2A 04 00 00 -R 00 00 01 00 -T 2A 04 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 18 00 -T 32 04 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 18 00 02 0A 01 00 -T 39 04 00 00 CA 0D 00 00 +T 89 04 00 00 +R 00 00 01 00 +T 89 04 00 00 DD 5E 96 DD 56 97 3E 00 00 00 00 +R 00 00 01 00 2B 0B 08 00 +T 91 04 00 00 21 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 08 00 02 0A 01 00 +T 97 04 00 00 +R 00 00 01 00 +T 97 04 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1A 00 +T 9F 04 00 00 21 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 05 1A 00 02 0A 01 00 +T A6 04 00 00 37 0E 00 00 R 00 00 01 00 00 04 01 00 -T 3B 04 00 00 +T A8 04 00 00 R 00 00 01 00 -T 3B 04 00 00 FE 03 C2 B3 05 00 00 DD 7E DF E6 +T A8 04 00 00 FE 03 C2 20 06 00 00 DD 7E B5 E6 R 00 00 01 00 00 07 01 00 -T 44 04 00 00 04 47 DD 7E E0 E6 00 B0 28 74 +T B1 04 00 00 04 47 DD 7E B6 E6 00 B0 28 74 R 00 00 01 00 -T 4E 04 00 00 +T BB 04 00 00 R 00 00 01 00 -T 4E 04 00 00 21 16 00 DD 4E C0 DD 46 C1 09 5E +T BB 04 00 00 21 16 00 DD 4E 96 DD 46 97 09 5E R 00 00 01 00 -T 59 04 00 00 23 56 23 4E 23 46 C5 D5 21 2D 00 +T C6 04 00 00 23 56 23 4E 23 46 C5 D5 21 2D 00 R 00 00 01 00 -T 64 04 00 00 DD 4E C0 DD 46 C1 09 4E 23 46 23 +T D1 04 00 00 DD 4E 96 DD 46 97 09 4E 23 46 23 R 00 00 01 00 -T 6F 04 00 00 5E 23 56 D5 C5 21 01 00 C1 09 EB +T DC 04 00 00 5E 23 56 D5 C5 21 01 00 C1 09 EB R 00 00 01 00 -T 7A 04 00 00 21 00 00 C1 ED 4A E5 D5 21 14 00 +T E7 04 00 00 21 00 00 C1 ED 4A E5 D5 21 14 00 R 00 00 01 00 -T 85 04 00 00 39 5E 23 56 23 4E 23 46 3E +T F2 04 00 00 39 5E 23 56 23 4E 23 46 3E R 00 00 01 00 -T 8E 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1F 00 02 09 1F 00 -T 93 04 00 00 00 00 00 00 F1 F1 F1 F1 7D B4 20 +T FB 04 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 21 00 02 09 21 00 +T 00 05 00 00 00 00 00 00 F1 F1 F1 F1 7D B4 20 R 00 00 01 00 02 04 01 00 -T 9C 04 00 00 25 +T 09 05 00 00 25 R 00 00 01 00 -T 9D 04 00 00 +T 0A 05 00 00 R 00 00 01 00 -T 9D 04 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 18 00 -T A5 04 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 18 00 02 0A 01 00 -T AC 04 00 00 04 00 39 4D 44 DD 5E 04 DD 56 05 +T 0A 05 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1A 00 +T 12 05 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 1A 00 02 0A 01 00 +T 19 05 00 00 04 00 39 4D 44 DD 5E 04 DD 56 05 R 00 00 01 00 -T B7 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 -T BD 04 00 00 00 00 00 00 C3 CA 0D 00 00 +T 24 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 +T 2A 05 00 00 00 00 00 00 C3 37 0E 00 00 R 00 00 01 00 02 04 01 00 00 09 01 00 -T C2 04 00 00 +T 2F 05 00 00 R 00 00 01 00 -T C2 04 00 00 +T 2F 05 00 00 R 00 00 01 00 -T C2 04 00 00 DD 7E DF E6 10 47 DD 7E E0 E6 00 +T 2F 05 00 00 DD 7E B5 E6 10 47 DD 7E B6 E6 00 R 00 00 01 00 -T CD 04 00 00 B0 28 30 +T 3A 05 00 00 B0 28 30 R 00 00 01 00 -T D0 04 00 00 +T 3D 05 00 00 R 00 00 01 00 -T D0 04 00 00 DD 7E DF E6 04 47 DD 7E E0 E6 00 +T 3D 05 00 00 DD 7E B5 E6 04 47 DD 7E B6 E6 00 R 00 00 01 00 -T DB 04 00 00 B0 28 11 +T 48 05 00 00 B0 28 11 R 00 00 01 00 -T DE 04 00 00 +T 4B 05 00 00 R 00 00 01 00 -T DE 04 00 00 01 01 00 DD 5E C0 DD 56 C1 3E +T 4B 05 00 00 01 01 00 DD 5E 96 DD 56 97 3E R 00 00 01 00 -T E8 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 -T ED 04 00 00 00 00 00 00 +T 55 05 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +T 5A 05 00 00 00 00 00 00 R 00 00 01 00 02 04 01 00 -T EF 04 00 00 +T 5C 05 00 00 R 00 00 01 00 -T EF 04 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 18 00 -T F7 04 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 18 00 02 0A 01 00 -T FE 04 00 00 CA 0D 00 00 +T 5C 05 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1A 00 +T 64 05 00 00 21 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 05 1A 00 02 0A 01 00 +T 6B 05 00 00 37 0E 00 00 R 00 00 01 00 00 04 01 00 -T 00 05 00 00 +T 6D 05 00 00 R 00 00 01 00 -T 00 05 00 00 DD 7E DF E6 20 47 DD 7E E0 E6 00 +T 6D 05 00 00 DD 7E B5 E6 20 47 DD 7E B6 E6 00 R 00 00 01 00 -T 0B 05 00 00 B0 CA A2 05 00 00 +T 78 05 00 00 B0 CA 0F 06 00 00 R 00 00 01 00 00 06 01 00 -T 0F 05 00 00 +T 7C 05 00 00 R 00 00 01 00 -T 0F 05 00 00 21 04 00 39 E5 21 13 00 DD 4E 04 +T 7C 05 00 00 21 04 00 39 E5 21 13 00 DD 4E 04 R 00 00 01 00 -T 1A 05 00 00 DD 46 05 09 4E DD 5E C0 DD 56 C1 +T 87 05 00 00 DD 46 05 09 4E DD 5E 96 DD 56 97 R 00 00 01 00 -T 25 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 14 00 02 0A 14 00 -T 2B 05 00 00 00 00 00 00 E1 DD 7E DF E6 04 47 +T 92 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 16 00 02 0A 16 00 +T 98 05 00 00 00 00 00 00 E1 DD 7E B5 E6 04 47 R 00 00 01 00 02 04 01 00 -T 34 05 00 00 DD 7E E0 E6 00 B0 28 2E +T A1 05 00 00 DD 7E B6 E6 00 B0 28 2E R 00 00 01 00 -T 3C 05 00 00 +T A9 05 00 00 R 00 00 01 00 -T 3C 05 00 00 DD 6E FA DD 66 FB E5 21 06 00 39 +T A9 05 00 00 DD 6E F9 DD 66 FA E5 21 06 00 39 R 00 00 01 00 -T 47 05 00 00 4D 44 DD 5E C0 DD 56 C1 3E +T B4 05 00 00 4D 44 DD 5E 96 DD 56 97 3E R 00 00 01 00 -T 50 05 00 00 00 00 00 00 21 00 00 00 00 CD +T BD 05 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 55 05 00 00 00 00 00 00 E1 0E 05 DD 5E C0 DD +T C2 05 00 00 00 00 00 00 E1 0E 05 DD 5E 96 DD R 00 00 01 00 02 04 01 00 -T 5E 05 00 00 56 C1 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 1A 00 -T 63 05 00 00 00 00 00 00 CD 00 00 00 00 18 10 -R 00 00 01 00 02 04 1A 00 02 09 01 00 -T 6A 05 00 00 +T CB 05 00 00 56 97 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 1C 00 +T D0 05 00 00 00 00 00 00 CD 00 00 00 00 18 10 +R 00 00 01 00 02 04 1C 00 02 09 01 00 +T D7 05 00 00 R 00 00 01 00 -T 6A 05 00 00 0E 04 DD 5E C0 DD 56 C1 3E +T D7 05 00 00 0E 04 DD 5E 96 DD 56 97 3E R 00 00 01 00 -T 73 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1A 00 02 09 1A 00 -T 78 05 00 00 00 00 00 00 +T E0 05 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 1C 00 02 09 1C 00 +T E5 05 00 00 00 00 00 00 R 00 00 01 00 02 04 01 00 -T 7A 05 00 00 +T E7 05 00 00 R 00 00 01 00 -T 7A 05 00 00 DD 7E FA DD B6 FB 20 0E DD 7E DF +T E7 05 00 00 DD 7E F9 DD B6 FA 20 0E DD 7E B5 R 00 00 01 00 -T 85 05 00 00 E6 40 47 DD 7E E0 E6 00 B0 28 02 +T F2 05 00 00 E6 40 47 DD 7E B6 E6 00 B0 28 02 R 00 00 01 00 -T 90 05 00 00 +T FD 05 00 00 R 00 00 01 00 -T 90 05 00 00 +T FD 05 00 00 R 00 00 01 00 -T 90 05 00 00 +T FD 05 00 00 R 00 00 01 00 -T 90 05 00 00 18 21 +T FD 05 00 00 18 21 R 00 00 01 00 -T 92 05 00 00 +T FF 05 00 00 R 00 00 01 00 -T 92 05 00 00 DD 5E C0 DD 56 C1 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T 9A 05 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 07 00 02 0A 01 00 -T A1 05 00 00 0E +T FF 05 00 00 DD 5E 96 DD 56 97 3E 00 00 00 00 +R 00 00 01 00 2B 0B 08 00 +T 07 06 00 00 21 00 00 00 00 CD 00 00 00 00 18 +R 00 00 01 00 02 05 08 00 02 0A 01 00 +T 0E 06 00 00 0E R 00 00 01 00 -T A2 05 00 00 +T 0F 06 00 00 R 00 00 01 00 -T A2 05 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 18 00 -T AA 05 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 18 00 02 0A 01 00 -T B0 05 00 00 +T 0F 06 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1A 00 +T 17 06 00 00 21 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 1A 00 02 0A 01 00 +T 1D 06 00 00 R 00 00 01 00 -T B0 05 00 00 C3 CA 0D 00 00 +T 1D 06 00 00 C3 37 0E 00 00 R 00 00 01 00 00 05 01 00 -T B3 05 00 00 +T 20 06 00 00 R 00 00 01 00 -T B3 05 00 00 21 3C 00 39 E5 DD 6E 0A DD 66 0B +T 20 06 00 00 21 65 00 39 E5 DD 6E 0A DD 66 0B R 00 00 01 00 -T BE 05 00 00 E5 21 08 00 39 4D 44 DD 5E C0 DD +T 2B 06 00 00 E5 21 08 00 39 4D 44 DD 5E 96 DD R 00 00 01 00 -T C9 05 00 00 56 C1 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 20 00 -T CE 05 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 20 00 02 09 01 00 -T D5 05 00 00 7D A4 3C 20 67 +T 36 06 00 00 56 97 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 22 00 +T 3B 06 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 22 00 02 09 01 00 +T 42 06 00 00 7D A4 3C 20 67 R 00 00 01 00 -T DA 05 00 00 +T 47 06 00 00 R 00 00 01 00 -T DA 05 00 00 DD 7E DF E6 10 47 DD 7E E0 E6 00 +T 47 06 00 00 DD 7E B5 E6 10 47 DD 7E B6 E6 00 R 00 00 01 00 -T E5 05 00 00 B0 20 56 +T 52 06 00 00 B0 20 56 R 00 00 01 00 -T E8 05 00 00 +T 55 06 00 00 R 00 00 01 00 -T E8 05 00 00 21 0E 00 DD 4E C0 DD 46 C1 09 7E +T 55 06 00 00 21 0E 00 DD 4E 96 DD 46 97 09 7E R 00 00 01 00 -T F3 05 00 00 FE 04 20 2A +T 60 06 00 00 FE 04 20 2A R 00 00 01 00 -T F7 05 00 00 +T 64 06 00 00 R 00 00 01 00 -T F7 05 00 00 21 12 00 DD 4E C0 DD 46 C1 09 4E +T 64 06 00 00 21 12 00 DD 4E 96 DD 46 97 09 4E R 00 00 01 00 -T 02 06 00 00 23 46 23 5E 23 56 69 60 E5 21 +T 6F 06 00 00 23 46 23 5E 23 56 69 60 E5 21 R 00 00 01 00 -T 0C 06 00 00 1A 00 DD 4E C0 DD 46 C1 09 C1 D5 +T 79 06 00 00 1A 00 DD 4E 96 DD 46 97 09 C1 D5 R 00 00 01 00 -T 17 06 00 00 59 50 C1 73 23 72 23 71 23 70 +T 84 06 00 00 59 50 C1 73 23 72 23 71 23 70 R 00 00 01 00 -T 21 06 00 00 +T 8E 06 00 00 R 00 00 01 00 -T 21 06 00 00 21 6F 00 DD 4E C0 DD 46 C1 09 7E +T 8E 06 00 00 21 6F 00 DD 4E 96 DD 46 97 09 7E R 00 00 01 00 -T 2C 06 00 00 F6 01 77 23 7E F6 00 77 59 50 3E +T 99 06 00 00 F6 01 77 23 7E F6 00 77 59 50 3E R 00 00 01 00 -T 37 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 3C 06 00 00 00 00 00 00 +T A4 06 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 08 00 02 09 08 00 +T A9 06 00 00 00 00 00 00 R 00 00 01 00 02 04 01 00 -T 3E 06 00 00 +T AB 06 00 00 R 00 00 01 00 -T 3E 06 00 00 C3 CA 0D 00 00 +T AB 06 00 00 C3 37 0E 00 00 R 00 00 01 00 00 05 01 00 -T 41 06 00 00 +T AE 06 00 00 R 00 00 01 00 -T 41 06 00 00 21 3F 00 DD 4E C0 DD 46 C1 09 4E +T AE 06 00 00 21 3F 00 DD 4E 96 DD 46 97 09 4E R 00 00 01 00 -T 4C 06 00 00 23 46 23 5E 23 56 69 60 DD 4E C6 +T B9 06 00 00 23 46 23 5E 23 56 69 60 DD 4E 9C R 00 00 01 00 -T 57 06 00 00 DD 46 C7 A7 ED 42 20 0C EB DD 4E +T C4 06 00 00 DD 46 9D A7 ED 42 20 0C EB DD 4E R 00 00 01 00 -T 62 06 00 00 C8 DD 46 C9 ED 42 CA FC 06 00 00 +T CF 06 00 00 9E DD 46 9F ED 42 CA 69 07 00 00 R 00 00 01 00 00 0B 01 00 -T 6B 06 00 00 +T D8 06 00 00 R 00 00 01 00 -T 6B 06 00 00 DD 7E FA DD B6 FB 20 1C DD 7E DF +T D8 06 00 00 DD 7E F9 DD B6 FA 20 1C DD 7E B5 R 00 00 01 00 -T 76 06 00 00 E6 20 47 DD 7E E0 E6 00 B0 20 0E +T E3 06 00 00 E6 20 47 DD 7E B6 E6 00 B0 20 0E R 00 00 01 00 -T 81 06 00 00 DD 7E DF E6 40 47 DD 7E E0 E6 00 +T EE 06 00 00 DD 7E B5 E6 40 47 DD 7E B6 E6 00 R 00 00 01 00 -T 8C 06 00 00 B0 28 6D +T F9 06 00 00 B0 28 6D R 00 00 01 00 -T 8F 06 00 00 +T FC 06 00 00 R 00 00 01 00 -T 8F 06 00 00 +T FC 06 00 00 R 00 00 01 00 -T 8F 06 00 00 +T FC 06 00 00 R 00 00 01 00 -T 8F 06 00 00 +T FC 06 00 00 R 00 00 01 00 -T 8F 06 00 00 +T FC 06 00 00 R 00 00 01 00 -T 8F 06 00 00 DD 6E FA DD 66 FB E5 DD 6E 0A DD +T FC 06 00 00 DD 6E F9 DD 66 FA E5 DD 6E 0A DD R 00 00 01 00 -T 9A 06 00 00 66 0B E5 21 08 00 39 E5 21 13 00 +T 07 07 00 00 66 0B E5 21 08 00 39 E5 21 13 00 R 00 00 01 00 -T A5 06 00 00 DD 4E 04 DD 46 05 09 4E DD 5E C0 +T 12 07 00 00 DD 4E 04 DD 46 05 09 4E DD 5E 96 R 00 00 01 00 -T B0 06 00 00 DD 56 C1 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0F 00 -T B6 06 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 0F 00 02 09 01 00 -T BD 06 00 00 E1 DD 7E DF E6 04 47 DD 7E E0 E6 +T 1D 07 00 00 DD 56 97 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 11 00 +T 23 07 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 11 00 02 09 01 00 +T 2A 07 00 00 E1 DD 7E B5 E6 04 47 DD 7E B6 E6 R 00 00 01 00 -T C8 06 00 00 00 B0 28 21 DD 7E DF E6 10 47 DD +T 35 07 00 00 00 B0 28 21 DD 7E B5 E6 10 47 DD R 00 00 01 00 -T D3 06 00 00 7E E0 E6 00 B0 20 13 +T 40 07 00 00 7E B6 E6 00 B0 20 13 R 00 00 01 00 -T DA 06 00 00 +T 47 07 00 00 R 00 00 01 00 -T DA 06 00 00 +T 47 07 00 00 R 00 00 01 00 -T DA 06 00 00 +T 47 07 00 00 R 00 00 01 00 -T DA 06 00 00 21 6F 00 DD 4E C0 DD 46 C1 09 7E +T 47 07 00 00 21 6F 00 DD 4E 96 DD 46 97 09 7E R 00 00 01 00 -T E5 06 00 00 F6 01 77 23 7E F6 00 77 +T 52 07 00 00 F6 01 77 23 7E F6 00 77 R 00 00 01 00 -T ED 06 00 00 +T 5A 07 00 00 R 00 00 01 00 -T ED 06 00 00 DD CB DF B6 DD CB DF AE AF DD 77 +T 5A 07 00 00 DD CB B5 B6 DD CB B5 AE AF DD 77 R 00 00 01 00 -T F8 06 00 00 FA DD 77 FB +T 65 07 00 00 F9 DD 77 FA R 00 00 01 00 -T FC 06 00 00 +T 69 07 00 00 R 00 00 01 00 -T FC 06 00 00 +T 69 07 00 00 R 00 00 01 00 -T FC 06 00 00 DD 7E DF E6 10 47 DD 7E E0 E6 00 +T 69 07 00 00 DD 7E B5 E6 10 47 DD 7E B6 E6 00 R 00 00 01 00 -T 07 07 00 00 B0 28 6D +T 74 07 00 00 B0 28 6D R 00 00 01 00 -T 0A 07 00 00 +T 77 07 00 00 R 00 00 01 00 -T 0A 07 00 00 21 0E 00 DD 4E C0 DD 46 C1 09 7E +T 77 07 00 00 21 0E 00 DD 4E 96 DD 46 97 09 7E R 00 00 01 00 -T 15 07 00 00 FE 04 20 3C 21 6F 00 DD 4E C0 DD +T 82 07 00 00 FE 04 20 3C 21 6F 00 DD 4E 96 DD R 00 00 01 00 -T 20 07 00 00 46 C1 09 7E E6 02 47 23 7E E6 00 +T 8D 07 00 00 46 97 09 7E E6 02 47 23 7E E6 00 R 00 00 01 00 -T 2B 07 00 00 B0 20 27 21 6F 00 DD 4E C0 DD 46 +T 98 07 00 00 B0 20 27 21 6F 00 DD 4E 96 DD 46 R 00 00 01 00 -T 36 07 00 00 C1 09 7E E6 08 47 23 7E E6 00 B0 +T A3 07 00 00 97 09 7E E6 08 47 23 7E E6 00 B0 R 00 00 01 00 -T 41 07 00 00 20 12 +T AE 07 00 00 20 12 R 00 00 01 00 -T 43 07 00 00 +T B0 07 00 00 R 00 00 01 00 -T 43 07 00 00 +T B0 07 00 00 R 00 00 01 00 -T 43 07 00 00 +T B0 07 00 00 R 00 00 01 00 -T 43 07 00 00 0E 02 DD 5E C0 DD 56 C1 3E +T B0 07 00 00 0E 02 DD 5E 96 DD 56 97 3E R 00 00 01 00 -T 4C 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1A 00 02 09 1A 00 -T 51 07 00 00 00 00 00 00 18 11 +T B9 07 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 1C 00 02 09 1C 00 +T BE 07 00 00 00 00 00 00 18 11 R 00 00 01 00 02 04 01 00 -T 55 07 00 00 +T C2 07 00 00 R 00 00 01 00 -T 55 07 00 00 01 01 00 DD 5E C0 DD 56 C1 3E +T C2 07 00 00 01 01 00 DD 5E 96 DD 56 97 3E R 00 00 01 00 -T 5F 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 -T 64 07 00 00 00 00 00 00 +T CC 07 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +T D1 07 00 00 00 00 00 00 R 00 00 01 00 02 04 01 00 -T 66 07 00 00 +T D3 07 00 00 R 00 00 01 00 -T 66 07 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 18 00 -T 6E 07 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 18 00 02 0A 01 00 -T 75 07 00 00 CA 0D 00 00 +T D3 07 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1A 00 +T DB 07 00 00 21 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 05 1A 00 02 0A 01 00 +T E2 07 00 00 37 0E 00 00 R 00 00 01 00 00 04 01 00 -T 77 07 00 00 +T E4 07 00 00 R 00 00 01 00 -T 77 07 00 00 DD 7E DF E6 20 47 DD 7E E0 E6 00 +T E4 07 00 00 DD 7E B5 E6 20 47 DD 7E B6 E6 00 R 00 00 01 00 -T 82 07 00 00 B0 28 25 +T EF 07 00 00 B0 28 25 R 00 00 01 00 -T 85 07 00 00 +T F2 07 00 00 R 00 00 01 00 -T 85 07 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 18 00 -T 8D 07 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 18 00 02 0A 01 00 -T 94 07 00 00 04 00 39 4D 44 DD 5E 04 DD 56 05 +T F2 07 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1A 00 +T FA 07 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 1A 00 02 0A 01 00 +T 01 08 00 00 04 00 39 4D 44 DD 5E 04 DD 56 05 R 00 00 01 00 -T 9F 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 -T A5 07 00 00 00 00 00 00 C3 CA 0D 00 00 +T 0C 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 +T 12 08 00 00 00 00 00 00 C3 37 0E 00 00 R 00 00 01 00 02 04 01 00 00 09 01 00 -T AA 07 00 00 +T 17 08 00 00 R 00 00 01 00 -T AA 07 00 00 DD 7E DF E6 00 47 DD 7E E0 E6 02 +T 17 08 00 00 DD 7E B5 E6 00 47 DD 7E B6 E6 02 R 00 00 01 00 -T B5 07 00 00 B0 28 6C DD 6E C8 DD 66 C9 E5 DD +T 22 08 00 00 B0 28 6C DD 6E 9E DD 66 9F E5 DD R 00 00 01 00 -T C0 07 00 00 6E C6 DD 66 C7 E5 DD 6E FA DD 66 +T 2D 08 00 00 6E 9C DD 66 9D E5 DD 6E F9 DD 66 R 00 00 01 00 -T CB 07 00 00 FB 11 00 00 C1 09 EB C1 ED 4A E5 +T 38 08 00 00 FA 11 00 00 C1 09 EB C1 ED 4A E5 R 00 00 01 00 -T D6 07 00 00 D5 DD 6E C8 DD 66 C9 E5 DD 6E C6 +T 43 08 00 00 D5 DD 6E 9E DD 66 9F E5 DD 6E 9C R 00 00 01 00 -T E1 07 00 00 DD 66 C7 E5 21 4A 00 DD 4E C0 DD +T 4E 08 00 00 DD 66 9D E5 21 4A 00 DD 4E 96 DD R 00 00 01 00 -T EC 07 00 00 46 C1 09 5E 23 56 23 4E 23 46 3E +T 59 08 00 00 46 97 09 5E 23 56 23 4E 23 46 3E R 00 00 01 00 -T F7 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1F 00 02 09 1F 00 -T FC 07 00 00 00 00 00 00 F1 F1 F1 F1 7D B4 28 +T 64 08 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 21 00 02 09 21 00 +T 69 08 00 00 00 00 00 00 F1 F1 F1 F1 7D B4 28 R 00 00 01 00 02 04 01 00 -T 05 08 00 00 1E +T 72 08 00 00 1E R 00 00 01 00 -T 06 08 00 00 +T 73 08 00 00 R 00 00 01 00 -T 06 08 00 00 +T 73 08 00 00 R 00 00 01 00 -T 06 08 00 00 +T 73 08 00 00 R 00 00 01 00 -T 06 08 00 00 21 4E 00 DD 4E C0 DD 46 C1 09 E5 +T 73 08 00 00 21 4E 00 DD 4E 96 DD 46 97 09 E5 R 00 00 01 00 -T 11 08 00 00 21 1B 00 39 5E 23 56 23 4E 23 46 +T 7E 08 00 00 21 1B 00 39 5E 23 56 23 4E 23 46 R 00 00 01 00 -T 1C 08 00 00 E1 73 23 72 23 71 23 70 +T 89 08 00 00 E1 73 23 72 23 71 23 70 R 00 00 01 00 -T 24 08 00 00 +T 91 08 00 00 R 00 00 01 00 -T 24 08 00 00 DD 7E DF E6 04 47 DD 7E E0 E6 00 +T 91 08 00 00 DD 7E B5 E6 04 47 DD 7E B6 E6 00 R 00 00 01 00 -T 2F 08 00 00 B0 20 11 +T 9C 08 00 00 B0 20 11 R 00 00 01 00 -T 32 08 00 00 +T 9F 08 00 00 R 00 00 01 00 -T 32 08 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 18 00 -T 3A 08 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 18 00 02 0A 01 00 -T 41 08 00 00 CA 0D 00 00 +T 9F 08 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1A 00 +T A7 08 00 00 21 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 05 1A 00 02 0A 01 00 +T AE 08 00 00 37 0E 00 00 R 00 00 01 00 00 04 01 00 -T 43 08 00 00 +T B0 08 00 00 R 00 00 01 00 -T 43 08 00 00 21 0E 00 DD 4E C0 DD 46 C1 09 5E +T B0 08 00 00 21 0E 00 DD 4E 96 DD 46 97 09 5E R 00 00 01 00 -T 4E 08 00 00 CD 00 00 00 00 04 08 00 -R 00 00 01 00 02 05 1C 00 -T 54 08 00 00 31 0A 00 00 66 08 00 00 +T BB 08 00 00 CD 00 00 00 00 04 08 00 +R 00 00 01 00 02 05 1E 00 +T C1 08 00 00 9E 0A 00 00 D3 08 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 58 08 00 00 0B 09 00 00 2A 09 00 00 +T C5 08 00 00 78 09 00 00 97 09 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 5C 08 00 00 0B 09 00 00 0B 09 00 00 +T C9 08 00 00 78 09 00 00 78 09 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 60 08 00 00 D7 09 00 00 6C 09 00 00 +T CD 08 00 00 44 0A 00 00 D9 09 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 64 08 00 00 1C 0A 00 00 +T D1 08 00 00 89 0A 00 00 R 00 00 01 00 00 04 01 00 -T 66 08 00 00 +T D3 08 00 00 R 00 00 01 00 -T 66 08 00 00 21 16 00 DD 4E C0 DD 46 C1 09 5E +T D3 08 00 00 21 16 00 DD 4E 96 DD 46 97 09 5E R 00 00 01 00 -T 71 08 00 00 23 56 23 4E 23 46 C5 D5 21 12 00 +T DE 08 00 00 23 56 23 4E 23 46 C5 D5 21 12 00 R 00 00 01 00 -T 7C 08 00 00 DD 4E C0 DD 46 C1 09 4E 23 46 23 +T E9 08 00 00 DD 4E 96 DD 46 97 09 4E 23 46 23 R 00 00 01 00 -T 87 08 00 00 5E 23 56 D5 C5 21 01 00 C1 09 EB +T F4 08 00 00 5E 23 56 D5 C5 21 01 00 C1 09 EB R 00 00 01 00 -T 92 08 00 00 21 00 00 C1 ED 4A E5 D5 21 14 00 +T FF 08 00 00 21 00 00 C1 ED 4A E5 D5 21 14 00 R 00 00 01 00 -T 9D 08 00 00 39 5E 23 56 23 4E 23 46 3E +T 0A 09 00 00 39 5E 23 56 23 4E 23 46 3E R 00 00 01 00 -T A6 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1F 00 02 09 1F 00 -T AB 08 00 00 00 00 00 00 F1 F1 F1 F1 7D B4 28 +T 13 09 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 21 00 02 09 21 00 +T 18 09 00 00 00 00 00 00 F1 F1 F1 F1 7D B4 28 R 00 00 01 00 02 04 01 00 -T B4 08 00 00 2E +T 21 09 00 00 2E R 00 00 01 00 -T B5 08 00 00 +T 22 09 00 00 R 00 00 01 00 -T B5 08 00 00 DD 6E FA DD 66 FB E5 21 06 00 39 +T 22 09 00 00 DD 6E F9 DD 66 FA E5 21 06 00 39 R 00 00 01 00 -T C0 08 00 00 4D 44 DD 5E C0 DD 56 C1 3E +T 2D 09 00 00 4D 44 DD 5E 96 DD 56 97 3E R 00 00 01 00 -T C9 08 00 00 00 00 00 00 21 00 00 00 00 CD +T 36 09 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 02 00 02 09 02 00 -T CE 08 00 00 00 00 00 00 E1 0E 05 DD 5E C0 DD +T 3B 09 00 00 00 00 00 00 E1 0E 05 DD 5E 96 DD R 00 00 01 00 02 04 01 00 -T D7 08 00 00 56 C1 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 1A 00 -T DC 08 00 00 00 00 00 00 CD 00 00 00 00 18 25 -R 00 00 01 00 02 04 1A 00 02 09 01 00 -T E3 08 00 00 -R 00 00 01 00 -T E3 08 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 18 00 -T EB 08 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 18 00 02 0A 01 00 -T F2 08 00 00 04 00 39 4D 44 DD 5E 04 DD 56 05 -R 00 00 01 00 -T FD 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 -T 03 09 00 00 00 00 00 00 C3 CA 0D 00 00 +T 44 09 00 00 56 97 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 1C 00 +T 49 09 00 00 00 00 00 00 CD 00 00 00 00 18 25 +R 00 00 01 00 02 04 1C 00 02 09 01 00 +T 50 09 00 00 +R 00 00 01 00 +T 50 09 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1A 00 +T 58 09 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 1A 00 02 0A 01 00 +T 5F 09 00 00 04 00 39 4D 44 DD 5E 04 DD 56 05 +R 00 00 01 00 +T 6A 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 +T 70 09 00 00 00 00 00 00 C3 37 0E 00 00 R 00 00 01 00 02 04 01 00 00 09 01 00 -T 08 09 00 00 +T 75 09 00 00 R 00 00 01 00 -T 08 09 00 00 C3 31 0A 00 00 +T 75 09 00 00 C3 9E 0A 00 00 R 00 00 01 00 00 05 01 00 -T 0B 09 00 00 +T 78 09 00 00 R 00 00 01 00 -T 0B 09 00 00 DD 6E FA DD 66 FB E5 21 06 00 39 +T 78 09 00 00 DD 6E F9 DD 66 FA E5 21 06 00 39 R 00 00 01 00 -T 16 09 00 00 4D 44 DD 5E C0 DD 56 C1 3E +T 83 09 00 00 4D 44 DD 5E 96 DD 56 97 3E R 00 00 01 00 -T 1F 09 00 00 00 00 00 00 21 00 00 00 00 CD +T 8C 09 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 24 09 00 00 00 00 00 00 E1 C3 31 0A 00 00 +T 91 09 00 00 00 00 00 00 E1 C3 9E 0A 00 00 R 00 00 01 00 02 04 01 00 00 0A 01 00 -T 2A 09 00 00 +T 97 09 00 00 R 00 00 01 00 -T 2A 09 00 00 DD 6E FA DD 66 FB E5 21 06 00 39 +T 97 09 00 00 DD 6E F9 DD 66 FA E5 21 06 00 39 R 00 00 01 00 -T 35 09 00 00 4D 44 DD 5E C0 DD 56 C1 3E +T A2 09 00 00 4D 44 DD 5E 96 DD 56 97 3E R 00 00 01 00 -T 3E 09 00 00 00 00 00 00 21 00 00 00 00 CD +T AB 09 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 43 09 00 00 00 00 00 00 E1 21 7C 00 DD 4E C0 +T B0 09 00 00 00 00 00 00 E1 21 7C 00 DD 4E 96 R 00 00 01 00 02 04 01 00 -T 4C 09 00 00 DD 46 C1 09 7E 23 B6 23 B6 23 B6 +T B9 09 00 00 DD 46 97 09 7E 23 B6 23 B6 23 B6 R 00 00 01 00 -T 57 09 00 00 20 10 +T C4 09 00 00 20 10 R 00 00 01 00 -T 59 09 00 00 +T C6 09 00 00 R 00 00 01 00 -T 59 09 00 00 0E 07 DD 5E C0 DD 56 C1 3E +T C6 09 00 00 0E 07 DD 5E 96 DD 56 97 3E R 00 00 01 00 -T 62 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1A 00 02 09 1A 00 -T 67 09 00 00 00 00 00 00 +T CF 09 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 1C 00 02 09 1C 00 +T D4 09 00 00 00 00 00 00 R 00 00 01 00 02 04 01 00 -T 69 09 00 00 +T D6 09 00 00 R 00 00 01 00 -T 69 09 00 00 C3 31 0A 00 00 +T D6 09 00 00 C3 9E 0A 00 00 R 00 00 01 00 00 05 01 00 -T 6C 09 00 00 +T D9 09 00 00 R 00 00 01 00 -T 6C 09 00 00 DD 6E FA DD 66 FB E5 21 06 00 39 +T D9 09 00 00 DD 6E F9 DD 66 FA E5 21 06 00 39 R 00 00 01 00 -T 77 09 00 00 4D 44 DD 5E C0 DD 56 C1 3E +T E4 09 00 00 4D 44 DD 5E 96 DD 56 97 3E R 00 00 01 00 -T 80 09 00 00 00 00 00 00 21 00 00 00 00 CD +T ED 09 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 85 09 00 00 00 00 00 00 E1 21 7C 00 DD 4E C0 +T F2 09 00 00 00 00 00 00 E1 21 7C 00 DD 4E 96 R 00 00 01 00 02 04 01 00 -T 8E 09 00 00 DD 46 C1 09 7E 23 B6 23 B6 23 B6 +T FB 09 00 00 DD 46 97 09 7E 23 B6 23 B6 23 B6 R 00 00 01 00 -T 99 09 00 00 20 3A +T 06 0A 00 00 20 3A R 00 00 01 00 -T 9B 09 00 00 +T 08 0A 00 00 R 00 00 01 00 -T 9B 09 00 00 0E 0B DD 5E C0 DD 56 C1 3E +T 08 0A 00 00 0E 0B DD 5E 96 DD 56 97 3E R 00 00 01 00 -T A4 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1A 00 02 09 1A 00 -T A9 09 00 00 00 00 00 00 21 00 00 E5 21 30 75 +T 11 0A 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 1C 00 02 09 1C 00 +T 16 0A 00 00 00 00 00 00 21 00 00 E5 21 30 75 R 00 00 01 00 02 04 01 00 -T B2 09 00 00 E5 21 82 00 DD 4E C0 DD 46 C1 09 +T 1F 0A 00 00 E5 21 82 00 DD 4E 96 DD 46 97 09 R 00 00 01 00 -T BD 09 00 00 EB 3E 00 00 00 00 21 00 00 00 00 +T 2A 0A 00 00 EB 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 03 00 02 0B 03 00 -T C3 09 00 00 CD 00 00 00 00 E1 E1 21 82 00 09 +T 30 0A 00 00 CD 00 00 00 00 E1 E1 21 82 00 09 R 00 00 01 00 02 05 01 00 -T CC 09 00 00 EB 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 16 00 02 0B 16 00 -T D2 09 00 00 CD 00 00 00 00 +T 39 0A 00 00 EB 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 18 00 02 0B 18 00 +T 3F 0A 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 01 00 -T D5 09 00 00 +T 42 0A 00 00 R 00 00 01 00 -T D5 09 00 00 18 5A +T 42 0A 00 00 18 5A R 00 00 01 00 -T D7 09 00 00 +T 44 0A 00 00 R 00 00 01 00 -T D7 09 00 00 DD 6E FA DD 66 FB E5 21 06 00 39 +T 44 0A 00 00 DD 6E F9 DD 66 FA E5 21 06 00 39 R 00 00 01 00 -T E2 09 00 00 4D 44 DD 5E C0 DD 56 C1 3E +T 4F 0A 00 00 4D 44 DD 5E 96 DD 56 97 3E R 00 00 01 00 -T EB 09 00 00 00 00 00 00 21 00 00 00 00 CD +T 58 0A 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 02 00 02 09 02 00 -T F0 09 00 00 00 00 00 00 E1 21 7C 00 DD 4E C0 +T 5D 0A 00 00 00 00 00 00 E1 21 7C 00 DD 4E 96 R 00 00 01 00 02 04 01 00 -T F9 09 00 00 DD 46 C1 09 7E 23 B6 23 B6 23 B6 +T 66 0A 00 00 DD 46 97 09 7E 23 B6 23 B6 23 B6 R 00 00 01 00 -T 04 0A 00 00 20 14 +T 71 0A 00 00 20 14 R 00 00 01 00 -T 06 0A 00 00 +T 73 0A 00 00 R 00 00 01 00 -T 06 0A 00 00 01 00 00 DD 5E C0 DD 56 C1 3E +T 73 0A 00 00 01 00 00 DD 5E 96 DD 56 97 3E R 00 00 01 00 -T 10 0A 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 -T 15 0A 00 00 00 00 00 00 C3 CA 0D 00 00 +T 7D 0A 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +T 82 0A 00 00 00 00 00 00 C3 37 0E 00 00 R 00 00 01 00 02 04 01 00 00 09 01 00 -T 1A 0A 00 00 +T 87 0A 00 00 R 00 00 01 00 -T 1A 0A 00 00 18 15 +T 87 0A 00 00 18 15 R 00 00 01 00 -T 1C 0A 00 00 +T 89 0A 00 00 R 00 00 01 00 -T 1C 0A 00 00 21 82 00 DD 4E C0 DD 46 C1 09 EB +T 89 0A 00 00 21 82 00 DD 4E 96 DD 46 97 09 EB R 00 00 01 00 -T 27 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 16 00 02 0A 16 00 -T 2D 0A 00 00 00 00 00 00 18 00 +T 94 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 18 00 02 0A 18 00 +T 9A 0A 00 00 00 00 00 00 18 00 R 00 00 01 00 02 04 01 00 -T 31 0A 00 00 +T 9E 0A 00 00 R 00 00 01 00 -T 31 0A 00 00 DD 7E FA DD B6 FB CA A7 0B 00 00 +T 9E 0A 00 00 DD 7E F9 DD B6 FA CA 14 0C 00 00 R 00 00 01 00 00 0B 01 00 -T 3A 0A 00 00 +T A7 0A 00 00 R 00 00 01 00 -T 3A 0A 00 00 21 0E 00 DD 4E C0 DD 46 C1 09 7E +T A7 0A 00 00 21 0E 00 DD 4E 96 DD 46 97 09 7E R 00 00 01 00 -T 45 0A 00 00 FE 04 DA 97 0B 00 00 FE 08 D2 +T B2 0A 00 00 FE 04 DA 04 0C 00 00 FE 08 D2 R 00 00 01 00 00 07 01 00 -T 4D 0A 00 00 97 0B 00 00 +T BA 0A 00 00 04 0C 00 00 R 00 00 01 00 00 04 01 00 -T 4F 0A 00 00 +T BC 0A 00 00 R 00 00 01 00 -T 4F 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 12 00 02 0A 12 00 -T 55 0A 00 00 00 00 00 00 DD 75 FC DD 74 FD DD +T BC 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 14 00 02 0A 14 00 +T C2 0A 00 00 00 00 00 00 DD 75 FB DD 74 FC DD R 00 00 01 00 02 04 01 00 -T 5E 0A 00 00 71 FE DD 70 FF C5 E5 21 C0 00 DD +T CB 0A 00 00 71 FD DD 70 FE C5 E5 21 C0 00 DD R 00 00 01 00 -T 69 0A 00 00 4E C0 DD 46 C1 09 5E 23 56 23 4E +T D6 0A 00 00 4E 96 DD 46 97 09 5E 23 56 23 4E R 00 00 01 00 -T 74 0A 00 00 23 46 EB CD 00 00 00 00 30 71 -R 00 00 01 00 02 08 10 00 -T 7C 0A 00 00 +T E1 0A 00 00 23 46 EB CD 00 00 00 00 30 71 +R 00 00 01 00 02 08 12 00 +T E9 0A 00 00 R 00 00 01 00 -T 7C 0A 00 00 21 C0 00 DD 4E C0 DD 46 C1 09 4E +T E9 0A 00 00 21 C0 00 DD 4E 96 DD 46 97 09 4E R 00 00 01 00 -T 87 0A 00 00 23 46 23 5E 23 56 69 60 4D 44 DD +T F4 0A 00 00 23 46 23 5E 23 56 69 60 4D 44 DD R 00 00 01 00 -T 92 0A 00 00 6E FC DD 66 FD A7 ED 42 4D 44 DD +T FF 0A 00 00 6E FB DD 66 FC A7 ED 42 4D 44 DD R 00 00 01 00 -T 9D 0A 00 00 6E FE DD 66 FF ED 52 E5 C5 DD 6E +T 0A 0B 00 00 6E FD DD 66 FE ED 52 E5 C5 DD 6E R 00 00 01 00 -T A8 0A 00 00 FA DD 66 FB 01 00 00 C5 E5 01 +T 15 0B 00 00 F9 DD 66 FA 01 00 00 C5 E5 01 R 00 00 01 00 -T B2 0A 00 00 00 00 21 E8 03 CD 00 00 00 00 CD -R 00 00 01 00 02 0A 0E 00 -T BB 0A 00 00 00 00 00 00 E5 21 C4 00 DD 5E C0 -R 00 00 01 00 02 04 15 00 -T C4 0A 00 00 DD 56 C1 19 D1 73 23 72 23 71 23 +T 1F 0B 00 00 00 00 21 E8 03 CD 00 00 00 00 CD +R 00 00 01 00 02 0A 10 00 +T 28 0B 00 00 00 00 00 00 E5 21 C4 00 DD 5E 96 +R 00 00 01 00 02 04 17 00 +T 31 0B 00 00 DD 56 97 19 D1 73 23 72 23 71 23 R 00 00 01 00 -T CF 0A 00 00 70 21 C0 00 DD 4E C0 DD 46 C1 09 +T 3C 0B 00 00 70 21 C0 00 DD 4E 96 DD 46 97 09 R 00 00 01 00 -T DA 0A 00 00 DD 4E FE DD 46 FF DD 5E FC DD 56 +T 47 0B 00 00 DD 4E FD DD 46 FE DD 5E FB DD 56 R 00 00 01 00 -T E5 0A 00 00 FD 73 23 72 23 71 23 70 +T 52 0B 00 00 FC 73 23 72 23 71 23 70 R 00 00 01 00 -T ED 0A 00 00 +T 5A 0B 00 00 R 00 00 01 00 -T ED 0A 00 00 DD 4E 0A DD 46 0B 21 74 00 DD 5E +T 5A 0B 00 00 DD 4E 0A DD 46 0B 21 74 00 DD 5E R 00 00 01 00 -T F8 0A 00 00 C0 DD 56 C1 19 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1E 00 -T 00 0B 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 1E 00 02 0A 01 00 -T 07 0B 00 00 78 00 DD 4E C0 DD 46 C1 09 DD 5E +T 65 0B 00 00 96 DD 56 97 19 EB 3E 00 00 00 00 +R 00 00 01 00 2B 0B 20 00 +T 6D 0B 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 20 00 02 0A 01 00 +T 74 0B 00 00 78 00 DD 4E 96 DD 46 97 09 DD 5E R 00 00 01 00 -T 12 0B 00 00 FA DD 56 FB 01 00 00 CD +T 7F 0B 00 00 F9 DD 56 FA 01 00 00 CD R 00 00 01 00 -T 1A 0B 00 00 00 00 00 00 21 3F 00 DD 4E C0 DD -R 00 00 01 00 02 04 08 00 -T 23 0B 00 00 46 C1 09 DD 5E FA DD 56 FB 01 +T 87 0B 00 00 00 00 00 00 21 3F 00 DD 4E 96 DD +R 00 00 01 00 02 04 09 00 +T 90 0B 00 00 46 97 09 DD 5E F9 DD 56 FA 01 R 00 00 01 00 -T 2D 0B 00 00 00 00 CD 00 00 00 00 21 43 00 DD -R 00 00 01 00 02 07 08 00 -T 36 0B 00 00 4E C0 DD 46 C1 09 DD 5E FA DD 56 +T 9A 0B 00 00 00 00 CD 00 00 00 00 21 43 00 DD +R 00 00 01 00 02 07 09 00 +T A3 0B 00 00 4E 96 DD 46 97 09 DD 5E F9 DD 56 R 00 00 01 00 -T 41 0B 00 00 FB 01 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 09 21 00 -T 49 0B 00 00 6F 00 DD 4E C0 DD 46 C1 09 7E F6 +T AE 0B 00 00 FA 01 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 09 23 00 +T B6 0B 00 00 6F 00 DD 4E 96 DD 46 97 09 7E F6 R 00 00 01 00 -T 54 0B 00 00 01 77 23 7E F6 00 77 21 66 00 09 +T C1 0B 00 00 01 77 23 7E F6 00 77 21 66 00 09 R 00 00 01 00 -T 5F 0B 00 00 7E 23 B6 23 B6 28 2F +T CC 0B 00 00 7E 23 B6 23 B6 28 2F R 00 00 01 00 -T 66 0B 00 00 +T D3 0B 00 00 R 00 00 01 00 -T 66 0B 00 00 21 78 00 DD 4E C0 DD 46 C1 09 5E +T D3 0B 00 00 21 78 00 DD 4E 96 DD 46 97 09 5E R 00 00 01 00 -T 71 0B 00 00 23 56 23 4E 23 46 C5 D5 DD 5E C0 +T DE 0B 00 00 23 56 23 4E 23 46 C5 D5 DD 5E 96 R 00 00 01 00 -T 7C 0B 00 00 DD 56 C1 21 66 00 DD 4E C0 DD 46 +T E9 0B 00 00 DD 56 97 21 66 00 DD 4E 96 DD 46 R 00 00 01 00 -T 87 0B 00 00 C1 09 4E 23 46 23 7E 69 60 CD +T F4 0B 00 00 97 09 4E 23 46 23 7E 69 60 CD R 00 00 01 00 -T 91 0B 00 00 00 00 00 00 E1 E1 +T FE 0B 00 00 00 00 00 00 E1 E1 R 00 00 01 00 02 04 01 00 -T 95 0B 00 00 +T 02 0C 00 00 R 00 00 01 00 -T 95 0B 00 00 18 10 +T 02 0C 00 00 18 10 R 00 00 01 00 -T 97 0B 00 00 +T 04 0C 00 00 R 00 00 01 00 -T 97 0B 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 18 00 -T 9F 0B 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 18 00 02 0A 01 00 -T A6 0B 00 00 00 +T 04 0C 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1A 00 +T 0C 0C 00 00 21 00 00 00 00 CD 00 00 00 00 18 +R 00 00 01 00 02 05 1A 00 02 0A 01 00 +T 13 0C 00 00 00 R 00 00 01 00 -T A7 0B 00 00 +T 14 0C 00 00 R 00 00 01 00 -T A7 0B 00 00 +T 14 0C 00 00 R 00 00 01 00 -T A7 0B 00 00 DD 7E DF E6 40 47 DD 7E E0 E6 00 +T 14 0C 00 00 DD 7E B5 E6 40 47 DD 7E B6 E6 00 R 00 00 01 00 -T B2 0B 00 00 B0 CA 14 0D 00 00 +T 1F 0C 00 00 B0 CA 81 0D 00 00 R 00 00 01 00 00 06 01 00 -T B6 0B 00 00 +T 23 0C 00 00 R 00 00 01 00 -T B6 0B 00 00 21 6F 00 DD 4E C0 DD 46 C1 09 7E +T 23 0C 00 00 21 6F 00 DD 4E 96 DD 46 97 09 7E R 00 00 01 00 -T C1 0B 00 00 F6 01 77 23 7E F6 00 77 21 0E 00 +T 2E 0C 00 00 F6 01 77 23 7E F6 00 77 21 0E 00 R 00 00 01 00 -T CC 0B 00 00 09 5E CD 00 00 00 00 04 08 00 -R 00 00 01 00 02 07 1C 00 -T D4 0B 00 00 D4 0C 00 00 E6 0B 00 00 +T 39 0C 00 00 09 5E CD 00 00 00 00 04 08 00 +R 00 00 01 00 02 07 1E 00 +T 41 0C 00 00 41 0D 00 00 53 0C 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T D8 0B 00 00 E6 0B 00 00 06 0C 00 00 +T 45 0C 00 00 53 0C 00 00 73 0C 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T DC 0B 00 00 74 0C 00 00 BD 0C 00 00 +T 49 0C 00 00 E1 0C 00 00 2A 0D 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T E0 0B 00 00 BD 0C 00 00 BD 0C 00 00 +T 4D 0C 00 00 2A 0D 00 00 2A 0D 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T E4 0B 00 00 BF 0C 00 00 +T 51 0C 00 00 2C 0D 00 00 R 00 00 01 00 00 04 01 00 -T E6 0B 00 00 +T 53 0C 00 00 R 00 00 01 00 -T E6 0B 00 00 21 3F 00 DD 4E C0 DD 46 C1 09 CD +T 53 0C 00 00 21 3F 00 DD 4E 96 DD 46 97 09 CD R 00 00 01 00 -T F1 0B 00 00 00 00 00 00 0E 08 DD 5E C0 DD 56 -R 00 00 01 00 02 04 13 00 -T FA 0B 00 00 C1 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1A 00 02 0B 1A 00 -T 00 0C 00 00 CD 00 00 00 00 C3 D4 0C 00 00 +T 5E 0C 00 00 00 00 00 00 0E 08 DD 5E 96 DD 56 +R 00 00 01 00 02 04 15 00 +T 67 0C 00 00 97 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 1C 00 02 0B 1C 00 +T 6D 0C 00 00 CD 00 00 00 00 C3 41 0D 00 00 R 00 00 01 00 02 05 01 00 00 0A 01 00 -T 06 0C 00 00 +T 73 0C 00 00 R 00 00 01 00 -T 06 0C 00 00 21 3F 00 DD 4E C0 DD 46 C1 09 CD +T 73 0C 00 00 21 3F 00 DD 4E 96 DD 46 97 09 CD R 00 00 01 00 -T 11 0C 00 00 00 00 00 00 21 7C 00 DD 4E C0 DD -R 00 00 01 00 02 04 13 00 -T 1A 0C 00 00 46 C1 09 7E 23 B6 23 B6 23 B6 20 +T 7E 0C 00 00 00 00 00 00 21 7C 00 DD 4E 96 DD +R 00 00 01 00 02 04 15 00 +T 87 0C 00 00 46 97 09 7E 23 B6 23 B6 23 B6 20 R 00 00 01 00 -T 25 0C 00 00 3C +T 92 0C 00 00 3C R 00 00 01 00 -T 26 0C 00 00 +T 93 0C 00 00 R 00 00 01 00 -T 26 0C 00 00 0E 0B DD 5E C0 DD 56 C1 3E +T 93 0C 00 00 0E 0B DD 5E 96 DD 56 97 3E R 00 00 01 00 -T 2F 0C 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1A 00 02 09 1A 00 -T 34 0C 00 00 00 00 00 00 21 00 00 E5 21 30 75 +T 9C 0C 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 1C 00 02 09 1C 00 +T A1 0C 00 00 00 00 00 00 21 00 00 E5 21 30 75 R 00 00 01 00 02 04 01 00 -T 3D 0C 00 00 E5 21 82 00 DD 4E C0 DD 46 C1 09 +T AA 0C 00 00 E5 21 82 00 DD 4E 96 DD 46 97 09 R 00 00 01 00 -T 48 0C 00 00 EB 3E 00 00 00 00 21 00 00 00 00 +T B5 0C 00 00 EB 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 03 00 02 0B 03 00 -T 4E 0C 00 00 CD 00 00 00 00 E1 E1 21 82 00 09 +T BB 0C 00 00 CD 00 00 00 00 E1 E1 21 82 00 09 R 00 00 01 00 02 05 01 00 -T 57 0C 00 00 EB 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 16 00 02 0B 16 00 -T 5D 0C 00 00 CD 00 00 00 00 18 10 +T C4 0C 00 00 EB 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 18 00 02 0B 18 00 +T CA 0C 00 00 CD 00 00 00 00 18 10 R 00 00 01 00 02 05 01 00 -T 62 0C 00 00 +T CF 0C 00 00 R 00 00 01 00 -T 62 0C 00 00 0E 0A DD 5E C0 DD 56 C1 3E +T CF 0C 00 00 0E 0A DD 5E 96 DD 56 97 3E R 00 00 01 00 -T 6B 0C 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1A 00 02 09 1A 00 -T 70 0C 00 00 00 00 00 00 +T D8 0C 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 1C 00 02 09 1C 00 +T DD 0C 00 00 00 00 00 00 R 00 00 01 00 02 04 01 00 -T 72 0C 00 00 +T DF 0C 00 00 R 00 00 01 00 -T 72 0C 00 00 18 60 +T DF 0C 00 00 18 60 R 00 00 01 00 -T 74 0C 00 00 +T E1 0C 00 00 R 00 00 01 00 -T 74 0C 00 00 21 3F 00 DD 4E C0 DD 46 C1 09 CD +T E1 0C 00 00 21 3F 00 DD 4E 96 DD 46 97 09 CD R 00 00 01 00 -T 7F 0C 00 00 00 00 00 00 0E 0B DD 5E C0 DD 56 -R 00 00 01 00 02 04 13 00 -T 88 0C 00 00 C1 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1A 00 02 0B 1A 00 -T 8E 0C 00 00 CD 00 00 00 00 21 00 00 E5 21 +T EC 0C 00 00 00 00 00 00 0E 0B DD 5E 96 DD 56 +R 00 00 01 00 02 04 15 00 +T F5 0C 00 00 97 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 1C 00 02 0B 1C 00 +T FB 0C 00 00 CD 00 00 00 00 21 00 00 E5 21 R 00 00 01 00 02 05 01 00 -T 96 0C 00 00 30 75 E5 21 82 00 DD 4E C0 DD 46 +T 03 0D 00 00 30 75 E5 21 82 00 DD 4E 96 DD 46 R 00 00 01 00 -T A1 0C 00 00 C1 09 EB 3E 00 00 00 00 21 +T 0E 0D 00 00 97 09 EB 3E 00 00 00 00 21 R 00 00 01 00 2B 08 03 00 -T A7 0C 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +T 14 0D 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 R 00 00 01 00 02 04 03 00 02 09 01 00 -T AE 0C 00 00 21 82 00 09 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 16 00 -T B6 0C 00 00 00 00 00 00 CD 00 00 00 00 18 17 -R 00 00 01 00 02 04 16 00 02 09 01 00 -T BD 0C 00 00 +T 1B 0D 00 00 21 82 00 09 EB 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 18 00 +T 23 0D 00 00 00 00 00 00 CD 00 00 00 00 18 17 +R 00 00 01 00 02 04 18 00 02 09 01 00 +T 2A 0D 00 00 R 00 00 01 00 -T BD 0C 00 00 18 15 +T 2A 0D 00 00 18 15 R 00 00 01 00 -T BF 0C 00 00 +T 2C 0D 00 00 R 00 00 01 00 -T BF 0C 00 00 21 82 00 DD 4E C0 DD 46 C1 09 EB +T 2C 0D 00 00 21 82 00 DD 4E 96 DD 46 97 09 EB R 00 00 01 00 -T CA 0C 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 16 00 02 0A 16 00 -T D0 0C 00 00 00 00 00 00 18 00 +T 37 0D 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 18 00 02 0A 18 00 +T 3D 0D 00 00 00 00 00 00 18 00 R 00 00 01 00 02 04 01 00 -T D4 0C 00 00 +T 41 0D 00 00 R 00 00 01 00 -T D4 0C 00 00 21 66 00 DD 4E C0 DD 46 C1 09 7E +T 41 0D 00 00 21 66 00 DD 4E 96 DD 46 97 09 7E R 00 00 01 00 -T DF 0C 00 00 23 B6 23 B6 28 2F +T 4C 0D 00 00 23 B6 23 B6 28 2F R 00 00 01 00 -T E5 0C 00 00 +T 52 0D 00 00 R 00 00 01 00 -T E5 0C 00 00 21 78 00 DD 4E C0 DD 46 C1 09 5E +T 52 0D 00 00 21 78 00 DD 4E 96 DD 46 97 09 5E R 00 00 01 00 -T F0 0C 00 00 23 56 23 4E 23 46 C5 D5 DD 5E C0 +T 5D 0D 00 00 23 56 23 4E 23 46 C5 D5 DD 5E 96 R 00 00 01 00 -T FB 0C 00 00 DD 56 C1 21 66 00 DD 4E C0 DD 46 +T 68 0D 00 00 DD 56 97 21 66 00 DD 4E 96 DD 46 R 00 00 01 00 -T 06 0D 00 00 C1 09 4E 23 46 23 7E 69 60 CD +T 73 0D 00 00 97 09 4E 23 46 23 7E 69 60 CD R 00 00 01 00 -T 10 0D 00 00 00 00 00 00 E1 E1 +T 7D 0D 00 00 00 00 00 00 E1 E1 R 00 00 01 00 02 04 01 00 -T 14 0D 00 00 +T 81 0D 00 00 R 00 00 01 00 -T 14 0D 00 00 +T 81 0D 00 00 R 00 00 01 00 -T 14 0D 00 00 +T 81 0D 00 00 R 00 00 01 00 -T 14 0D 00 00 21 80 00 DD 4E C0 DD 46 C1 09 7E +T 81 0D 00 00 21 80 00 DD 4E 96 DD 46 97 09 7E R 00 00 01 00 -T 1F 0D 00 00 23 B6 CA B7 0D 00 00 21 80 00 DD +T 8C 0D 00 00 23 B6 CA 24 0E 00 00 21 80 00 DD R 00 00 01 00 00 07 01 00 -T 28 0D 00 00 4E C0 DD 46 C1 09 56 23 66 6A 11 +T 95 0D 00 00 4E 96 DD 46 97 09 56 23 66 6A 11 R 00 00 01 00 -T 33 0D 00 00 06 00 19 5E 23 56 23 4E 23 46 C5 +T A0 0D 00 00 06 00 19 5E 23 56 23 4E 23 46 C5 R 00 00 01 00 -T 3E 0D 00 00 D5 21 3F 00 DD 4E C0 DD 46 C1 09 +T AB 0D 00 00 D5 21 3F 00 DD 4E 96 DD 46 97 09 R 00 00 01 00 -T 49 0D 00 00 5E 23 56 23 4E 23 46 3E +T B6 0D 00 00 5E 23 56 23 4E 23 46 3E R 00 00 01 00 -T 51 0D 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1B 00 02 09 1B 00 -T 56 0D 00 00 00 00 00 00 F1 F1 7D B4 28 59 +T BE 0D 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 1D 00 02 09 1D 00 +T C3 0D 00 00 00 00 00 00 F1 F1 7D B4 28 59 R 00 00 01 00 02 04 01 00 -T 5E 0D 00 00 +T CB 0D 00 00 R 00 00 01 00 -T 5E 0D 00 00 +T CB 0D 00 00 R 00 00 01 00 -T 5E 0D 00 00 +T CB 0D 00 00 R 00 00 01 00 -T 5E 0D 00 00 21 3C 00 39 E5 DD 6E 0A DD 66 0B +T CB 0D 00 00 21 65 00 39 E5 DD 6E 0A DD 66 0B R 00 00 01 00 -T 69 0D 00 00 E5 21 08 00 39 E5 21 13 00 DD 4E +T D6 0D 00 00 E5 21 08 00 39 E5 21 13 00 DD 4E R 00 00 01 00 -T 74 0D 00 00 04 DD 46 05 09 4D 44 DD 5E C0 DD +T E1 0D 00 00 04 DD 46 05 09 4D 44 DD 5E 96 DD R 00 00 01 00 -T 7F 0D 00 00 56 C1 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 23 00 -T 84 0D 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 23 00 02 09 01 00 -T 8B 0D 00 00 E1 21 3C 00 39 E5 DD 6E 0A DD 66 +T EC 0D 00 00 56 97 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 25 00 +T F1 0D 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 25 00 02 09 01 00 +T F8 0D 00 00 E1 21 65 00 39 E5 DD 6E 0A DD 66 R 00 00 01 00 -T 96 0D 00 00 0B E5 21 08 00 39 4D 44 DD 5E C0 +T 03 0E 00 00 0B E5 21 08 00 39 4D 44 DD 5E 96 R 00 00 01 00 -T A1 0D 00 00 DD 56 C1 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 20 00 -T A7 0D 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 20 00 02 09 01 00 -T AE 0D 00 00 7D B4 20 02 +T 0E 0E 00 00 DD 56 97 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 22 00 +T 14 0E 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 22 00 02 09 01 00 +T 1B 0E 00 00 7D B4 20 02 R 00 00 01 00 -T B2 0D 00 00 +T 1F 0E 00 00 R 00 00 01 00 -T B2 0D 00 00 18 05 +T 1F 0E 00 00 18 05 R 00 00 01 00 -T B4 0D 00 00 +T 21 0E 00 00 R 00 00 01 00 -T B4 0D 00 00 C3 14 0D 00 00 +T 21 0E 00 00 C3 81 0D 00 00 R 00 00 01 00 00 05 01 00 -T B7 0D 00 00 +T 24 0E 00 00 R 00 00 01 00 -T B7 0D 00 00 18 03 +T 24 0E 00 00 18 03 R 00 00 01 00 -T B9 0D 00 00 +T 26 0E 00 00 R 00 00 01 00 -T B9 0D 00 00 C3 FC 06 00 00 +T 26 0E 00 00 C3 69 07 00 00 R 00 00 01 00 00 05 01 00 -T BC 0D 00 00 +T 29 0E 00 00 R 00 00 01 00 -T BC 0D 00 00 DD 5E C0 DD 56 C1 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T C4 0D 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 07 00 02 0A 01 00 -T CA 0D 00 00 +T 29 0E 00 00 DD 5E 96 DD 56 97 3E 00 00 00 00 +R 00 00 01 00 2B 0B 08 00 +T 31 0E 00 00 21 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 08 00 02 0A 01 00 +T 37 0E 00 00 R 00 00 01 00 -T CA 0D 00 00 C3 00 00 00 00 +T 37 0E 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 06 00 diff --git a/src/nos/lib/internet_lib/tcpcmd.rel b/src/nos/lib/internet_lib/tcpcmd.rel deleted file mode 100644 index 6fcfc2e7..00000000 --- a/src/nos/lib/internet_lib/tcpcmd.rel +++ /dev/null @@ -1,1244 +0,0 @@ -XL4 -H 5 areas 67 global symbols -S ___0072_cad1__20_2510lu_2510lu_2 Ref00000000 -S _inet_ntoa Ref00000000 -S ___03b3_2057_Too_20many_20sessio Ref00000000 -S ___02b8_5ce5_Local_3a_20_25s Ref00000000 -S ___0165_db35__25s_3a_20srtt_20_2 Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0591_5069_status Ref00000000 -S ?L_DEC_L03 Ref00000000 -S ___05aa_bb94_tcp_20rtt_20_3ctcb_ Ref00000000 -S ___047d_bd2b_expired Ref00000000 -S ___0362_2a15_Recv_3a_20_20_20_20 Ref00000000 -S _kick_tcp Ref00000000 -S ___0597_301d_stopped Ref00000000 -S ___005b_2da2__20_20_20_25s_0a Ref00000000 -S ___003a_f37c__20_20_20_20_20_20_ Ref00000000 -S _reset_tcp Ref00000000 -S ___0022_a0dd__0a Ref00000000 -S _Tcp_irtt Ref00000000 -S _tcpval Ref00000000 -S ___0395_b0d7_TCP_20syn_2bdata_20 Ref00000000 -S ___010e_d1e2__25_2ds Ref00000000 -S _Tcbs Ref00000000 -S _ppause Ref00000000 -S _newsession Ref00000000 -S ___012c_086d__25c_5b2J Ref00000000 -S ___0391_fa23_TCP_20MSS Ref00000000 -S ___004c_a271__20_20_20_20_20INF Ref00000000 -S ___0397_5b74_TCP_20window Ref00000000 -S ___04b0_516b_kick Ref00000000 -S _printf Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___0564_ae54_rtt Ref00000000 -S ___0176_c497__26TCB_20_20_20_20_ Ref00000000 -S ___011c_4a96__258lu Ref00000000 -S ___0103_9c51__25_2d23s Ref00000000 -S ___009f_a393__20Remote_3a_20_25s Ref00000000 -S _Tcp_trace Ref00000000 -S ___05a8_e483_tcp_20kick_20_3ctcb Ref00000000 -S _alert Ref00000000 -S __fprintf Ref00000000 -S ___04af_f4c1_irtt Ref00000000 -S ___0380_c1d8_Send_3a_20_2508lx_2 Ref00000000 -S ___05ab_f363_tcp_20stat_20_3ctcb Ref00000000 -S _Tcp_mss Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S ___05a9_a12c_tcp_20reset_20_3ctc Ref00000000 -S ___0082_0cd7__20_28S_29 Ref00000000 -S _read_timer Ref00000000 -S ___054e_85b2_reset Ref00000000 -S _Tcp_window Ref00000000 -S .__.ABS. Def00000000 -S _pinet Ref00000000 -S _Tcp_rtt Ref00000000 -S ___059d_bb66_syndata Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _Current Ref00000000 -S ?L_MUL_L03 Ref00000000 -S _freesession Ref00000000 -S ___05e2_9158_window Ref00000000 -S ___0396_43bd_TCP_20timestamps Ref00000000 -S ___0392_70e7_TCP_20default_20irt Ref00000000 -S ___05bd_4f5f_trace Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S ___017a_ba4c__28_252u_29_25_2d20 Ref00000000 -S ___0064_ccb1__20_20seq_20x_25lx_ Ref00000000 -S ?SL_DIV_L03 Ref00000000 -S _atol Ref00000000 -S ___03f1_699f__5eC_0a Ref00000000 -S ___0394_c668_TCP_20state_20traci Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?SS_MOD_L02 Ref00000000 -S __printf Ref00000000 -S ___0032_de40__20_20_20_20_20 Ref00000000 -S ___0124_482b__259p_256u_256u_20_ Ref00000000 -S ___00a0_d7c2__20Retry Ref00000000 -S _Notval Ref00000000 -S ?C_S_SWITCH_L06 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S ___023c_b7f4_Dup_20acks_20_20_20 Ref00000000 -S ___011f_3341__258u_2510u_2511lu_ Ref00000000 -S _htol Ref00000000 -S ___03a7_1db3_Timer_20_20_20_20_2 Ref00000000 -S ___00a1_d322__20State_3a_20_25s_ Ref00000000 -S _setbool Ref00000000 -S ___0565_02fc_running Ref00000000 -S ___05b7_223a_timestamps Ref00000000 -S ___04ea_58b1_mss Ref00000000 -S _Tcp_syndata Ref00000000 -S ___035e_fbe9_Reassembly_20queue_ Ref00000000 -S _Tcpstates Ref00000000 -S _setshort Ref00000000 -S _setlong Ref00000000 -S _Cmdline Ref00000000 -S ?L_SUBASG_L03 Ref00000000 -S _subcmd Ref00000000 -S _newproc Ref00000000 -S _keywait Ref00000000 -S _Tcp_mib Ref00000000 -S _ltop Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size CD5 flags 0 -S _st_tcp Def00000669 -S _dotcp Def00000000 -A CSTR size 21 flags 0 -A IDATA0 size 91 flags 0 -S _Tcp_tstamps Def00000000 -A CDATA0 size 91 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 36 00 -T 09 00 00 00 E5 C5 4B 42 11 02 00 00 00 3E -R 00 00 01 00 00 09 03 00 -T 11 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 5F 00 02 09 5F 00 -T 16 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 05 00 02 0B 1E 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 CD 00 00 00 00 C5 D5 0E -R 00 00 01 00 02 05 36 00 -T 23 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 45 00 02 0A 45 00 -T 29 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 24 00 2B 0A 54 00 -T 2F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 54 00 02 09 05 00 -T 36 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 07 1E 00 -T 3B 00 00 00 -R 00 00 01 00 -T 3B 00 00 00 CD 00 00 00 00 C5 D5 0E -R 00 00 01 00 02 05 36 00 -T 41 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 3B 00 02 0A 3B 00 -T 47 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 03 00 2B 0A 54 00 -T 4D 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 54 00 02 09 05 00 -T 54 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 07 1E 00 -T 59 00 00 00 -R 00 00 01 00 -T 59 00 00 00 CD 00 00 00 00 FE FF 03 03 0A 5F -R 00 00 01 00 02 05 3E 00 -T 62 00 00 00 03 0A 57 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 51 00 -T 68 00 00 00 00 00 00 00 CD 00 00 00 00 EB 3E -R 00 00 01 00 02 04 51 00 02 09 05 00 -T 6F 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 63 00 02 09 63 00 -T 74 00 00 00 00 00 00 00 DD 75 FE DD 74 FF EB -R 00 00 01 00 02 04 05 00 -T 7D 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 12 00 02 0A 12 00 -T 83 00 00 00 00 00 00 00 7D B4 20 12 -R 00 00 01 00 02 04 05 00 -T 89 00 00 00 -R 00 00 01 00 -T 89 00 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 4C 00 2B 0B 1D 00 -T 8F 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 1D 00 02 0A 05 00 -T 96 00 00 00 21 01 00 18 11 -R 00 00 01 00 -T 9B 00 00 00 -R 00 00 01 00 -T 9B 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0F 00 -T A3 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0F 00 02 0A 05 00 -T AA 00 00 00 00 00 -R 00 00 01 00 -T AC 00 00 00 -R 00 00 01 00 -T AC 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 1E 00 -T AF 00 00 00 -R 00 00 01 00 -T AF 00 00 00 CD 00 00 00 00 FE FF C5 DD 6E 02 -R 00 00 01 00 02 05 3E 00 -T B8 00 00 00 DD 66 03 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 3C 00 -T C0 00 00 00 00 00 00 00 E5 11 00 00 00 00 3E -R 00 00 01 00 02 04 3C 00 02 0A 11 00 -T C7 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 5C 00 02 09 5C 00 -T CC 00 00 00 00 00 00 00 F1 F1 F1 F1 01 02 80 -R 00 00 01 00 02 04 05 00 -T D5 00 00 00 DD 6E 02 DD 66 03 3E 80 AC 67 ED -R 00 00 01 00 -T E0 00 00 00 42 D2 6A 01 00 00 -R 00 00 01 00 00 06 01 00 -T E4 00 00 00 -R 00 00 01 00 -T E4 00 00 00 DD 36 FE 00 00 00 00 DD 36 FF -R 00 00 01 00 0B 07 34 00 -T EB 00 00 00 00 00 00 00 -R 00 00 01 00 8B 04 34 00 -T EC 00 00 00 -R 00 00 01 00 -T EC 00 00 00 01 C0 00 00 00 DD 6E FE DD 66 FF -R 00 00 01 00 02 05 34 00 -T F5 00 00 00 A7 ED 42 30 70 -R 00 00 01 00 -T FA 00 00 00 -R 00 00 01 00 -T FA 00 00 00 DD 6E FE DD 66 FF 7E 23 B6 23 B6 -R 00 00 01 00 -T 05 01 00 00 23 B6 28 52 -R 00 00 01 00 -T 09 01 00 00 -R 00 00 01 00 -T 09 01 00 00 21 08 00 DD 4E FE DD 46 FF 09 5E -R 00 00 01 00 -T 14 01 00 00 23 56 23 4E 23 46 C5 D5 21 04 00 -R 00 00 01 00 -T 1F 01 00 00 DD 4E FE DD 46 FF 09 5E 23 56 23 -R 00 00 01 00 -T 2A 01 00 00 4E 23 46 C5 D5 DD 6E FE DD 66 FF -R 00 00 01 00 -T 35 01 00 00 5E 23 56 23 4E 23 46 3E -R 00 00 01 00 -T 3D 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 42 01 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 05 00 2B 0A 04 00 -T 48 01 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 04 00 2B 0B 48 00 -T 4E 01 00 00 21 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 48 00 02 0A 05 00 -T 55 01 00 00 21 0E 00 39 F9 EB -R 00 00 01 00 -T 5B 01 00 00 -R 00 00 01 00 -T 5B 01 00 00 DD 7E FE C6 0C DD 77 FE 30 03 DD -R 00 00 01 00 -T 66 01 00 00 34 FF -R 00 00 01 00 -T 68 01 00 00 -R 00 00 01 00 -T 68 01 00 00 18 82 -R 00 00 01 00 -T 6A 01 00 00 -R 00 00 01 00 -T 6A 01 00 00 -R 00 00 01 00 -T 6A 01 00 00 21 00 00 C3 00 00 00 00 -R 00 00 01 00 02 08 1E 00 -T 70 01 00 00 -R 00 00 01 00 -T 70 01 00 00 CD 00 00 00 00 FE FF 03 03 0A 5F -R 00 00 01 00 02 05 3E 00 -T 79 01 00 00 03 0A 57 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 51 00 -T 7F 01 00 00 00 00 00 00 CD 00 00 00 00 EB 3E -R 00 00 01 00 02 04 51 00 02 09 05 00 -T 86 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 63 00 02 09 63 00 -T 8B 01 00 00 00 00 00 00 DD 75 FE DD 74 FF EB -R 00 00 01 00 02 04 05 00 -T 94 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 12 00 02 0A 12 00 -T 9A 01 00 00 00 00 00 00 7D B4 20 12 -R 00 00 01 00 02 04 05 00 -T A0 01 00 00 -R 00 00 01 00 -T A0 01 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 4C 00 2B 0B 1D 00 -T A6 01 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 1D 00 02 0A 05 00 -T AD 01 00 00 21 01 00 18 2B -R 00 00 01 00 -T B2 01 00 00 -R 00 00 01 00 -T B2 01 00 00 21 04 00 DD 4E 04 DD 46 05 09 5E -R 00 00 01 00 -T BD 01 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 43 00 -T C2 01 00 00 00 00 00 00 CD 00 00 00 00 E5 21 -R 00 00 01 00 02 04 43 00 02 09 05 00 -T C9 01 00 00 9E 00 DD 5E FE DD 56 FF 19 D1 73 -R 00 00 01 00 -T D4 01 00 00 23 72 23 71 23 70 21 00 00 -R 00 00 01 00 -T DD 01 00 00 -R 00 00 01 00 -T DD 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 1E 00 -T E0 01 00 00 -R 00 00 01 00 -T E0 01 00 00 CD 00 00 00 00 FE FF 03 03 0A 5F -R 00 00 01 00 02 05 3E 00 -T E9 01 00 00 03 0A 57 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 51 00 -T EF 01 00 00 00 00 00 00 CD 00 00 00 00 EB 3E -R 00 00 01 00 02 04 51 00 02 09 05 00 -T F6 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 63 00 02 09 63 00 -T FB 01 00 00 00 00 00 00 DD 75 FE DD 74 FF EB -R 00 00 01 00 02 04 05 00 -T 04 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0B 00 02 0A 0B 00 -T 0A 02 00 00 00 00 00 00 7D A4 3C 20 12 -R 00 00 01 00 02 04 05 00 -T 11 02 00 00 -R 00 00 01 00 -T 11 02 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 4C 00 2B 0B 1D 00 -T 17 02 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 1D 00 02 0A 05 00 -T 1E 02 00 00 21 01 00 18 03 -R 00 00 01 00 -T 23 02 00 00 -R 00 00 01 00 -T 23 02 00 00 21 00 00 -R 00 00 01 00 -T 26 02 00 00 -R 00 00 01 00 -T 26 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 1E 00 -T 29 02 00 00 -R 00 00 01 00 -T 29 02 00 00 CD 00 00 00 00 C5 D5 0E -R 00 00 01 00 02 05 36 00 -T 2F 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 19 00 02 0A 19 00 -T 35 02 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 2B 00 2B 0A 5B 00 -T 3B 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 5B 00 02 09 05 00 -T 42 02 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 07 1E 00 -T 47 02 00 00 -R 00 00 01 00 -T 47 02 00 00 CD 00 00 00 00 C5 D5 0E -R 00 00 01 00 02 05 36 00 -T 4D 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 1B 00 02 0A 1B 00 -T 53 02 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 31 00 2B 0A 5B 00 -T 59 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 5B 00 02 09 05 00 -T 60 02 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 07 1E 00 -T 65 02 00 00 -R 00 00 01 00 -T 65 02 00 00 CD 00 00 00 00 C5 D5 0E -R 00 00 01 00 02 05 36 00 -T 6B 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 13 00 02 0A 13 00 -T 71 02 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 58 00 2B 0A 54 00 -T 77 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 54 00 02 09 05 00 -T 7E 02 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 07 1E 00 -T 83 02 00 00 -R 00 00 01 00 -T 83 02 00 00 CD 00 00 00 00 FA FF AF DD 77 FC -R 00 00 01 00 02 05 3E 00 -T 8C 02 00 00 DD 77 FD DD 77 FE DD 77 FF 11 -R 00 00 01 00 -T 96 02 00 00 02 80 DD 6E 02 DD 66 03 3E 80 AC -R 00 00 01 00 -T A1 02 00 00 67 ED 52 30 09 -R 00 00 01 00 -T A6 02 00 00 -R 00 00 01 00 -T A6 02 00 00 CD 51 04 00 00 21 00 00 C3 -R 00 00 01 00 00 05 01 00 -T AD 02 00 00 75 03 00 00 -R 00 00 01 00 00 04 01 00 -T AF 02 00 00 -R 00 00 01 00 -T AF 02 00 00 DD 4E 02 DD 46 03 21 02 00 CD -R 00 00 01 00 -T B9 02 00 00 00 00 00 00 30 21 -R 00 00 01 00 02 04 46 00 -T BD 02 00 00 -R 00 00 01 00 -T BD 02 00 00 21 04 00 DD 4E 04 DD 46 05 09 5E -R 00 00 01 00 -T C8 02 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 43 00 -T CD 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 43 00 02 09 05 00 -T D4 02 00 00 FC DD 74 FD DD 71 FE DD 70 FF -R 00 00 01 00 -T DE 02 00 00 -R 00 00 01 00 -T DE 02 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 -R 00 00 01 00 -T E9 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 51 00 02 0A 51 00 -T EF 02 00 00 00 00 00 00 EB 3E 00 00 00 00 21 -R 00 00 01 00 02 04 05 00 2B 0A 63 00 -T F5 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 63 00 02 09 05 00 -T FC 02 00 00 FA DD 74 FB EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 12 00 -T 04 03 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 12 00 02 09 05 00 -T 0B 03 00 00 20 12 -R 00 00 01 00 -T 0D 03 00 00 -R 00 00 01 00 -T 0D 03 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 4C 00 2B 0B 1D 00 -T 13 03 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 1D 00 02 0A 05 00 -T 1A 03 00 00 21 01 00 18 56 -R 00 00 01 00 -T 1F 03 00 00 -R 00 00 01 00 -T 1F 03 00 00 DD 7E FC DD B6 FD DD B6 FE DD B6 -R 00 00 01 00 -T 2A 03 00 00 FF 20 13 -R 00 00 01 00 -T 2D 03 00 00 -R 00 00 01 00 -T 2D 03 00 00 DD 5E FA DD 56 FB 3E 69 06 00 00 -R 00 00 01 00 29 0B 01 00 -T 35 03 00 00 21 69 06 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 01 00 02 0A 05 00 -T 3C 03 00 00 00 00 18 35 -R 00 00 01 00 -T 40 03 00 00 -R 00 00 01 00 -T 40 03 00 00 21 00 00 E5 21 00 00 E5 DD 6E FA -R 00 00 01 00 -T 4B 03 00 00 DD 66 FB E5 DD 6E FC DD 66 FD E5 -R 00 00 01 00 -T 56 03 00 00 0E 78 03 00 00 C5 21 78 03 00 00 -R 00 00 01 00 29 05 01 00 00 0B 01 00 -T 5C 03 00 00 E5 01 00 02 11 00 00 00 00 3E -R 00 00 01 00 00 09 02 00 -T 64 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 60 00 02 09 60 00 -T 69 03 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB -R 00 00 01 00 02 04 05 00 -T 72 03 00 00 21 00 00 -R 00 00 01 00 -T 75 03 00 00 -R 00 00 01 00 -T 75 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 1E 00 -T 78 03 00 00 -R 00 00 01 00 -T 78 03 00 00 CD 00 00 00 00 FC FF DD 71 FC DD -R 00 00 01 00 02 05 3E 00 -T 81 03 00 00 70 FD 21 01 00 E5 01 0F 00 ED 5B -R 00 00 01 00 -T 8C 03 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 5D 00 2B 09 17 00 -T 91 03 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 17 00 02 09 05 00 -T 98 03 00 00 75 FE DD 74 FF 7D B4 20 14 -R 00 00 01 00 -T A1 03 00 00 -R 00 00 01 00 -T A1 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 02 00 02 0B 02 00 -T A7 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 48 00 02 0B 48 00 -T AD 03 00 00 CD 00 00 00 00 F1 F1 C3 -R 00 00 01 00 02 05 05 00 -T B3 03 00 00 4E 04 00 00 -R 00 00 01 00 00 04 01 00 -T B5 03 00 00 -R 00 00 01 00 -T B5 03 00 00 21 20 00 DD 4E FE DD 46 FF 09 36 -R 00 00 01 00 -T C0 03 00 00 7F 0C 00 00 23 36 7F 0C 00 00 23 -R 00 00 01 00 09 04 01 00 89 0A 01 00 -T C5 03 00 00 36 7F 0C 00 00 -R 00 00 01 00 29 05 01 00 -T C7 03 00 00 -R 00 00 01 00 -T C7 03 00 00 21 20 00 DD 4E FE DD 46 FF 09 4E -R 00 00 01 00 -T D2 03 00 00 23 46 23 7E 69 60 0E 7F 0C 00 00 -R 00 00 01 00 29 0B 01 00 -T DA 03 00 00 11 7F 0C 00 00 B9 20 52 ED 52 20 -R 00 00 01 00 00 05 01 00 -T E3 03 00 00 4E -R 00 00 01 00 -T E4 03 00 00 -R 00 00 01 00 -T E4 03 00 00 21 1B 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 18 00 -T EC 03 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 18 00 2B 0A 48 00 -T F2 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 48 00 02 09 05 00 -T F9 03 00 00 F1 DD 5E FC DD 56 FD 3E -R 00 00 01 00 -T 01 04 00 00 69 06 00 00 21 69 06 00 00 CD -R 00 00 01 00 29 04 01 00 00 09 01 00 -T 06 04 00 00 00 00 00 00 21 0E 00 DD 4E FC DD -R 00 00 01 00 02 04 05 00 -T 0F 04 00 00 46 FD 09 46 05 28 18 DD 5E 02 DD -R 00 00 01 00 -T 1A 04 00 00 56 03 7A 07 9F 4F 41 3E -R 00 00 01 00 -T 22 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 16 00 02 09 16 00 -T 27 04 00 00 00 00 00 00 7D A4 3C 20 02 -R 00 00 01 00 02 04 05 00 -T 2E 04 00 00 -R 00 00 01 00 -T 2E 04 00 00 -R 00 00 01 00 -T 2E 04 00 00 -R 00 00 01 00 -T 2E 04 00 00 18 02 -R 00 00 01 00 -T 30 04 00 00 -R 00 00 01 00 -T 30 04 00 00 18 95 -R 00 00 01 00 -T 32 04 00 00 -R 00 00 01 00 -T 32 04 00 00 01 01 00 11 00 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 61 00 -T 3A 04 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 61 00 02 0A 05 00 -T 41 04 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 39 00 -T 49 04 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 39 00 02 09 05 00 -T 4E 04 00 00 -R 00 00 01 00 -T 4E 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 1E 00 -T 51 04 00 00 -R 00 00 01 00 -T 51 04 00 00 CD 00 00 00 00 FA FF DD 36 FA 01 -R 00 00 01 00 02 05 3E 00 -T 5A 04 00 00 DD 36 FB 00 DD 36 FE 01 DD 36 FF -R 00 00 01 00 -T 65 04 00 00 00 -R 00 00 01 00 -T 66 04 00 00 -R 00 00 01 00 -T 66 04 00 00 DD 4E FA DD 46 FB 21 0F 00 CD -R 00 00 01 00 -T 70 04 00 00 00 00 00 00 DA 1E 05 00 00 -R 00 00 01 00 02 04 46 00 00 09 01 00 -T 75 04 00 00 -R 00 00 01 00 -T 75 04 00 00 01 06 00 DD 5E FA DD 56 FB CD -R 00 00 01 00 -T 7F 04 00 00 00 00 00 00 21 00 00 00 00 19 7E -R 00 00 01 00 02 04 3F 00 02 09 62 00 -T 86 04 00 00 23 B6 20 03 -R 00 00 01 00 -T 8A 04 00 00 -R 00 00 01 00 -T 8A 04 00 00 C3 13 05 00 00 -R 00 00 01 00 00 05 01 00 -T 8D 04 00 00 -R 00 00 01 00 -T 8D 04 00 00 01 06 00 DD 5E FA DD 56 FB CD -R 00 00 01 00 -T 97 04 00 00 00 00 00 00 21 02 00 00 00 19 4E -R 00 00 01 00 02 04 3F 00 02 09 62 00 -T 9E 04 00 00 23 46 23 5E 23 56 D5 C5 01 06 00 -R 00 00 01 00 -T A9 04 00 00 DD 5E FA DD 56 FB CD 00 00 00 00 -R 00 00 01 00 02 0B 3F 00 -T B2 04 00 00 21 00 00 00 00 19 4E 23 46 C5 DD -R 00 00 01 00 02 05 62 00 -T BB 04 00 00 6E FA DD 66 FB E5 0E 00 00 00 00 -R 00 00 01 00 2B 0B 40 00 -T C3 04 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 40 00 -T C9 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 48 00 02 09 48 00 -T CE 04 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB -R 00 00 01 00 02 04 05 00 -T D7 04 00 00 DD 5E FE DD 56 FF 13 DD 73 FE DD -R 00 00 01 00 -T E2 04 00 00 72 FF 1B 01 02 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 47 00 -T EB 04 00 00 7B B2 28 13 -R 00 00 01 00 -T EF 04 00 00 -R 00 00 01 00 -T EF 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 49 00 02 0B 49 00 -T F5 04 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 48 00 02 0B 48 00 -T FB 04 00 00 CD 00 00 00 00 F1 F1 18 11 -R 00 00 01 00 02 05 05 00 -T 02 05 00 00 -R 00 00 01 00 -T 02 05 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 10 00 02 0B 10 00 -T 08 05 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 48 00 02 0B 48 00 -T 0E 05 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 05 00 -T 13 05 00 00 -R 00 00 01 00 -T 13 05 00 00 -R 00 00 01 00 -T 13 05 00 00 DD 34 FA 20 03 DD 34 FB -R 00 00 01 00 -T 1B 05 00 00 -R 00 00 01 00 -T 1B 05 00 00 C3 66 04 00 00 -R 00 00 01 00 00 05 01 00 -T 1E 05 00 00 -R 00 00 01 00 -T 1E 05 00 00 01 02 00 DD 5E FE DD 56 FF CD -R 00 00 01 00 -T 28 05 00 00 00 00 00 00 7B B2 20 11 -R 00 00 01 00 02 04 47 00 -T 2E 05 00 00 -R 00 00 01 00 -T 2E 05 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 10 00 02 0B 10 00 -T 34 05 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 48 00 02 0B 48 00 -T 3A 05 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 05 00 -T 3F 05 00 00 -R 00 00 01 00 -T 3F 05 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 20 00 02 0B 20 00 -T 45 05 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 48 00 02 0B 48 00 -T 4B 05 00 00 CD 00 00 00 00 F1 F1 2A -R 00 00 01 00 02 05 05 00 -T 51 05 00 00 00 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 02 04 15 00 -T 59 05 00 00 -R 00 00 01 00 -T 59 05 00 00 DD 7E FC DD B6 FD CA 63 06 00 00 -R 00 00 01 00 00 0B 01 00 -T 62 05 00 00 -R 00 00 01 00 -T 62 05 00 00 21 7C 00 DD 4E FC DD 46 FD 09 5E -R 00 00 01 00 -T 6D 05 00 00 23 56 23 4E 23 46 C5 D5 21 78 00 -R 00 00 01 00 -T 78 05 00 00 DD 4E FC DD 46 FD 09 5E 23 56 23 -R 00 00 01 00 -T 83 05 00 00 4E 23 46 C5 D5 DD 6E FC DD 66 FD -R 00 00 01 00 -T 8E 05 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 4A 00 -T 93 05 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 4A 00 2B 0A 48 00 -T 99 05 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 48 00 02 09 05 00 -T A0 05 00 00 0E 00 39 F9 EB DD 5E FC DD 56 FD -R 00 00 01 00 -T AB 05 00 00 13 13 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 33 00 -T B0 05 00 00 00 00 00 00 CD 00 00 00 00 E5 0E -R 00 00 01 00 02 04 33 00 02 09 05 00 -T B7 05 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 22 00 02 0A 22 00 -T BD 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 48 00 02 0A 48 00 -T C3 05 00 00 00 00 00 00 F1 F1 F1 21 08 00 DD -R 00 00 01 00 02 04 05 00 -T CC 05 00 00 4E FC DD 46 FD 09 EB 3E -R 00 00 01 00 -T D4 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 33 00 02 09 33 00 -T D9 05 00 00 00 00 00 00 E5 1E 00 00 00 00 D5 -R 00 00 01 00 02 04 05 00 2B 0A 22 00 -T DF 05 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 22 00 2B 0B 48 00 -T E5 05 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 48 00 02 0A 05 00 -T EC 05 00 00 F1 F1 21 0E 00 09 6E 26 00 29 11 -R 00 00 01 00 -T F7 05 00 00 00 00 00 00 19 5E 23 56 D5 1E -R 00 00 01 00 02 04 5A 00 -T FF 05 00 00 00 00 00 00 D5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 14 00 02 0A 14 00 -T 05 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 48 00 02 0A 48 00 -T 0B 06 00 00 00 00 00 00 F1 F1 F1 21 0E 00 09 -R 00 00 01 00 02 04 05 00 -T 14 06 00 00 46 05 05 20 26 21 6F 00 DD 4E FC -R 00 00 01 00 -T 1F 06 00 00 DD 46 FD 09 7E E6 02 47 23 7E E6 -R 00 00 01 00 -T 2A 06 00 00 00 B0 28 11 -R 00 00 01 00 -T 2E 06 00 00 -R 00 00 01 00 -T 2E 06 00 00 -R 00 00 01 00 -T 2E 06 00 00 -R 00 00 01 00 -T 2E 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 2E 00 02 0B 2E 00 -T 34 06 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 48 00 02 0B 48 00 -T 3A 06 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 05 00 -T 3F 06 00 00 -R 00 00 01 00 -T 3F 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 10 00 02 0B 10 00 -T 45 06 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 48 00 02 0B 48 00 -T 4B 06 00 00 CD 00 00 00 00 F1 F1 DD 6E FC DD -R 00 00 01 00 02 05 05 00 -T 54 06 00 00 66 FD 46 23 66 68 DD 75 FC DD 74 -R 00 00 01 00 -T 5F 06 00 00 FD C3 59 05 00 00 -R 00 00 01 00 00 06 01 00 -T 63 06 00 00 -R 00 00 01 00 -T 63 06 00 00 21 00 00 C3 00 00 00 00 -R 00 00 01 00 02 08 2C 00 -T 69 06 00 00 -R 00 00 01 00 -T 69 06 00 00 CD 00 00 00 00 F6 FF DD 7E 02 DD -R 00 00 01 00 02 05 3E 00 -T 72 06 00 00 B6 03 20 03 -R 00 00 01 00 -T 76 06 00 00 -R 00 00 01 00 -T 76 06 00 00 C3 7C 0C 00 00 -R 00 00 01 00 00 05 01 00 -T 79 06 00 00 -R 00 00 01 00 -T 79 06 00 00 21 2D 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 84 06 00 00 23 46 23 5E 23 56 69 60 D5 E5 21 -R 00 00 01 00 -T 8F 06 00 00 12 00 DD 4E 02 DD 46 03 09 4E 23 -R 00 00 01 00 -T 9A 06 00 00 46 23 5E 23 56 69 60 A7 C1 ED 42 -R 00 00 01 00 -T A5 06 00 00 EB C1 ED 42 4D 44 EB DD 75 F6 DD -R 00 00 01 00 -T B0 06 00 00 74 F7 DD 71 F8 DD 70 F9 21 52 00 -R 00 00 01 00 -T BB 06 00 00 DD 4E 02 DD 46 03 09 4E 23 46 23 -R 00 00 01 00 -T C6 06 00 00 5E 23 56 69 60 D5 E5 21 3F 00 DD -R 00 00 01 00 -T D1 06 00 00 4E 02 DD 46 03 09 4E 23 46 23 5E -R 00 00 01 00 -T DC 06 00 00 23 56 69 60 A7 C1 ED 42 EB C1 ED -R 00 00 01 00 -T E7 06 00 00 42 4D 44 EB DD 75 FA DD 74 FB DD -R 00 00 01 00 -T F2 06 00 00 71 FC DD 70 FD 21 0E 00 DD 4E 02 -R 00 00 01 00 -T FD 06 00 00 DD 46 03 09 5E CD 00 00 00 00 02 -R 00 00 01 00 02 0A 4D 00 -T 06 07 00 00 0A 00 0E 08 00 00 1E 07 00 00 -R 00 00 01 00 00 06 01 00 00 0A 01 00 -T 0C 07 00 00 1E 07 00 00 3B 07 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 10 07 00 00 66 07 00 00 66 07 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 14 07 00 00 9E 07 00 00 C8 07 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 18 07 00 00 C8 07 00 00 C8 07 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 1C 07 00 00 F2 07 00 00 -R 00 00 01 00 00 04 01 00 -T 1E 07 00 00 -R 00 00 01 00 -T 1E 07 00 00 AF DD 77 FA DD 77 FB DD 77 FC DD -R 00 00 01 00 -T 29 07 00 00 77 FD AF DD 77 F6 DD 77 F7 DD 77 -R 00 00 01 00 -T 34 07 00 00 F8 DD 77 F9 C3 0E 08 00 00 -R 00 00 01 00 00 09 01 00 -T 3B 07 00 00 -R 00 00 01 00 -T 3B 07 00 00 DD 6E FA DD 66 FB DD 4E FC DD 46 -R 00 00 01 00 -T 46 07 00 00 FD CD 00 00 00 00 DD 75 FA DD 74 -R 00 00 01 00 02 06 07 00 -T 4F 07 00 00 FB DD 71 FC DD 70 FD AF DD 77 F6 -R 00 00 01 00 -T 5A 07 00 00 DD 77 F7 DD 77 F8 DD 77 F9 C3 -R 00 00 01 00 -T 64 07 00 00 0E 08 00 00 -R 00 00 01 00 00 04 01 00 -T 66 07 00 00 -R 00 00 01 00 -T 66 07 00 00 DD 6E F6 DD 66 F7 DD 4E F8 DD 46 -R 00 00 01 00 -T 71 07 00 00 F9 CD 00 00 00 00 DD 75 F6 DD 74 -R 00 00 01 00 02 06 07 00 -T 7A 07 00 00 F7 DD 71 F8 DD 70 F9 DD 6E FA DD -R 00 00 01 00 -T 85 07 00 00 66 FB DD 4E FC DD 46 FD CD -R 00 00 01 00 -T 8E 07 00 00 00 00 00 00 DD 75 FA DD 74 FB DD -R 00 00 01 00 02 04 07 00 -T 97 07 00 00 71 FC DD 70 FD 18 70 -R 00 00 01 00 -T 9E 07 00 00 -R 00 00 01 00 -T 9E 07 00 00 21 00 00 39 01 00 00 11 02 00 CD -R 00 00 01 00 -T A9 07 00 00 00 00 00 00 DD 6E FA DD 66 FB DD -R 00 00 01 00 02 04 5E 00 -T B2 07 00 00 4E FC DD 46 FD CD 00 00 00 00 DD -R 00 00 01 00 02 0A 07 00 -T BB 07 00 00 75 FA DD 74 FB DD 71 FC DD 70 FD -R 00 00 01 00 -T C6 07 00 00 18 46 -R 00 00 01 00 -T C8 07 00 00 -R 00 00 01 00 -T C8 07 00 00 DD 6E F6 DD 66 F7 DD 4E F8 DD 46 -R 00 00 01 00 -T D3 07 00 00 F9 CD 00 00 00 00 DD 75 F6 DD 74 -R 00 00 01 00 02 06 07 00 -T DC 07 00 00 F7 DD 71 F8 DD 70 F9 21 04 00 39 -R 00 00 01 00 -T E7 07 00 00 01 00 00 11 02 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 5E 00 -T F0 07 00 00 18 1C -R 00 00 01 00 -T F2 07 00 00 -R 00 00 01 00 -T F2 07 00 00 21 00 00 39 01 00 00 11 02 00 CD -R 00 00 01 00 -T FD 07 00 00 00 00 00 00 21 04 00 39 01 00 00 -R 00 00 01 00 02 04 5E 00 -T 06 08 00 00 11 02 00 CD 00 00 00 00 18 00 -R 00 00 01 00 02 08 5E 00 -T 0E 08 00 00 -R 00 00 01 00 -T 0E 08 00 00 DD 5E 02 DD 56 03 13 13 3E -R 00 00 01 00 -T 17 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 33 00 02 09 33 00 -T 1C 08 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 05 00 2B 0A 03 00 -T 22 08 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 03 00 2B 0B 48 00 -T 28 08 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 48 00 02 0A 05 00 -T 2F 08 00 00 F1 F1 21 08 00 DD 4E 02 DD 46 03 -R 00 00 01 00 -T 3A 08 00 00 09 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 33 00 -T 3F 08 00 00 00 00 00 00 CD 00 00 00 00 E5 1E -R 00 00 01 00 02 04 33 00 02 09 05 00 -T 46 08 00 00 00 00 00 00 D5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 23 00 02 0A 23 00 -T 4C 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 48 00 02 0A 48 00 -T 52 08 00 00 00 00 00 00 F1 F1 F1 21 0E 00 09 -R 00 00 01 00 02 04 05 00 -T 5B 08 00 00 6E 26 00 29 11 00 00 00 00 19 5E -R 00 00 01 00 02 09 5A 00 -T 64 08 00 00 23 56 D5 1E 00 00 00 00 D5 21 -R 00 00 01 00 2B 08 53 00 -T 6B 08 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 53 00 2B 0A 48 00 -T 71 08 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 48 00 02 09 05 00 -T 78 08 00 00 F1 1E 00 00 00 00 D5 21 -R 00 00 01 00 2B 06 0E 00 -T 7D 08 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0E 00 2B 0A 48 00 -T 83 08 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 48 00 02 09 05 00 -T 8A 08 00 00 DD 6E F8 DD 66 F9 E5 DD 6E F6 DD -R 00 00 01 00 -T 95 08 00 00 66 F7 E5 21 BC 00 09 5E 23 56 23 -R 00 00 01 00 -T A0 08 00 00 4E 23 46 C5 D5 21 7C 00 DD 4E 02 -R 00 00 01 00 -T AB 08 00 00 DD 46 03 09 5E 23 56 23 4E 23 46 -R 00 00 01 00 -T B6 08 00 00 C5 D5 21 5A 00 DD 4E 02 DD 46 03 -R 00 00 01 00 -T C1 08 00 00 09 5E 23 56 23 4E 23 46 C5 D5 21 -R 00 00 01 00 -T CC 08 00 00 26 00 DD 4E 02 DD 46 03 09 5E 23 -R 00 00 01 00 -T D7 08 00 00 56 23 4E 23 46 C5 D5 21 39 00 DD -R 00 00 01 00 -T E2 08 00 00 4E 02 DD 46 03 09 5E 23 56 23 4E -R 00 00 01 00 -T ED 08 00 00 23 46 C5 D5 21 35 00 DD 4E 02 DD -R 00 00 01 00 -T F8 08 00 00 46 03 09 5E 23 56 23 4E 23 46 C5 -R 00 00 01 00 -T 03 09 00 00 D5 21 31 00 DD 4E 02 DD 46 03 09 -R 00 00 01 00 -T 0E 09 00 00 5E 23 56 23 4E 23 46 C5 D5 21 -R 00 00 01 00 -T 18 09 00 00 16 00 DD 4E 02 DD 46 03 09 5E 23 -R 00 00 01 00 -T 23 09 00 00 56 23 4E 23 46 C5 D5 21 12 00 DD -R 00 00 01 00 -T 2E 09 00 00 4E 02 DD 46 03 09 5E 23 56 23 4E -R 00 00 01 00 -T 39 09 00 00 23 46 C5 D5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 29 00 -T 41 09 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 29 00 2B 0A 48 00 -T 47 09 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 48 00 02 09 05 00 -T 4E 09 00 00 2C 00 39 F9 EB DD 6E FC DD 66 FD -R 00 00 01 00 -T 59 09 00 00 E5 DD 6E FA DD 66 FB E5 21 C4 00 -R 00 00 01 00 -T 64 09 00 00 DD 4E 02 DD 46 03 09 5E 23 56 23 -R 00 00 01 00 -T 6F 09 00 00 4E 23 46 C5 D5 21 78 00 DD 4E 02 -R 00 00 01 00 -T 7A 09 00 00 DD 46 03 09 5E 23 56 23 4E 23 46 -R 00 00 01 00 -T 85 09 00 00 C5 D5 21 43 00 DD 4E 02 DD 46 03 -R 00 00 01 00 -T 90 09 00 00 09 5E 23 56 23 4E 23 46 C5 D5 21 -R 00 00 01 00 -T 9B 09 00 00 56 00 DD 4E 02 DD 46 03 09 5E 23 -R 00 00 01 00 -T A6 09 00 00 56 23 4E 23 46 C5 D5 21 3F 00 DD -R 00 00 01 00 -T B1 09 00 00 4E 02 DD 46 03 09 5E 23 56 23 4E -R 00 00 01 00 -T BC 09 00 00 23 46 C5 D5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 0A 00 -T C4 09 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 2B 0A 48 00 -T CA 09 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 48 00 02 09 05 00 -T D1 09 00 00 1C 00 39 F9 EB 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 4F 00 -T D9 09 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 4F 00 2B 0B 48 00 -T DF 09 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 48 00 02 0A 05 00 -T E6 09 00 00 F1 21 B0 00 DD 4E 02 DD 46 03 09 -R 00 00 01 00 -T F1 09 00 00 5E 23 56 23 4E 23 46 C5 D5 21 -R 00 00 01 00 -T FB 09 00 00 AC 00 DD 4E 02 DD 46 03 09 5E 23 -R 00 00 01 00 -T 06 0A 00 00 56 23 4E 23 46 C5 D5 21 B4 00 DD -R 00 00 01 00 -T 11 0A 00 00 4E 02 DD 46 03 09 5E 23 56 23 4E -R 00 00 01 00 -T 1C 0A 00 00 23 46 C5 D5 21 72 00 DD 4E 02 DD -R 00 00 01 00 -T 27 0A 00 00 46 03 09 5E 23 56 D5 21 3D 00 09 -R 00 00 01 00 -T 32 0A 00 00 5E 23 56 D5 1E 00 00 00 00 D5 21 -R 00 00 01 00 2B 09 50 00 -T 3A 0A 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 50 00 2B 0A 48 00 -T 40 0A 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 48 00 02 09 05 00 -T 47 0A 00 00 14 00 39 F9 EB 21 9E 00 09 7E 23 -R 00 00 01 00 -T 52 0A 00 00 B6 23 B6 23 B6 28 49 -R 00 00 01 00 -T 59 0A 00 00 -R 00 00 01 00 -T 59 0A 00 00 21 9E 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 64 0A 00 00 23 56 23 4E 23 46 C5 D5 21 BC 00 -R 00 00 01 00 -T 6F 0A 00 00 DD 4E 02 DD 46 03 09 4E 23 46 23 -R 00 00 01 00 -T 7A 0A 00 00 5E 23 56 D5 C5 01 00 00 21 E8 03 -R 00 00 01 00 -T 85 0A 00 00 CD 00 00 00 00 CD 00 00 00 00 C5 -R 00 00 01 00 02 05 38 00 02 0A 42 00 -T 8C 0A 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 21 00 -T 91 0A 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 21 00 2B 0A 48 00 -T 97 0A 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 48 00 02 09 05 00 -T 9E 0A 00 00 F1 F1 18 11 -R 00 00 01 00 -T A2 0A 00 00 -R 00 00 01 00 -T A2 0A 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1A 00 02 0B 1A 00 -T A8 0A 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 48 00 02 0B 48 00 -T AE 0A 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 05 00 -T B3 0A 00 00 -R 00 00 01 00 -T B3 0A 00 00 21 6F 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T BE 0A 00 00 E6 04 47 23 7E E6 00 B0 28 11 -R 00 00 01 00 -T C8 0A 00 00 -R 00 00 01 00 -T C8 0A 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 4B 00 02 0B 4B 00 -T CE 0A 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 48 00 02 0B 48 00 -T D4 0A 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 05 00 -T D9 0A 00 00 -R 00 00 01 00 -T D9 0A 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 10 00 02 0B 10 00 -T DF 0A 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 48 00 02 0B 48 00 -T E5 0A 00 00 CD 00 00 00 00 F1 F1 0E -R 00 00 01 00 02 05 05 00 -T EB 0A 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 52 00 02 0A 52 00 -T F1 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 48 00 02 0A 48 00 -T F7 0A 00 00 00 00 00 00 F1 F1 21 91 00 DD 4E -R 00 00 01 00 02 04 05 00 -T 00 0B 00 00 02 DD 46 03 09 7E FE 00 20 13 -R 00 00 01 00 -T 0A 0B 00 00 -R 00 00 01 00 -T 0A 0B 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 -T 10 0B 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 48 00 02 0B 48 00 -T 16 0B 00 00 CD 00 00 00 00 F1 F1 18 2E -R 00 00 01 00 02 05 05 00 -T 1D 0B 00 00 -R 00 00 01 00 -T 1D 0B 00 00 FE 01 20 13 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 55 00 -T 25 0B 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 55 00 2B 0A 48 00 -T 2B 0B 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 48 00 02 09 05 00 -T 32 0B 00 00 18 17 -R 00 00 01 00 -T 34 0B 00 00 -R 00 00 01 00 -T 34 0B 00 00 FE 02 20 13 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 09 00 -T 3C 0B 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 09 00 2B 0A 48 00 -T 42 0B 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 48 00 02 09 05 00 -T 49 0B 00 00 18 00 -R 00 00 01 00 -T 4B 0B 00 00 -R 00 00 01 00 -T 4B 0B 00 00 21 A2 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 56 0B 00 00 23 56 23 4E 23 46 C5 D5 21 9E 00 -R 00 00 01 00 -T 61 0B 00 00 DD 4E 02 DD 46 03 09 5E 23 56 23 -R 00 00 01 00 -T 6C 0B 00 00 4E 23 46 C5 D5 21 A6 00 DD 4E 02 -R 00 00 01 00 -T 77 0B 00 00 DD 46 03 09 5E 23 56 23 4E 23 46 -R 00 00 01 00 -T 82 0B 00 00 C5 D5 21 82 00 DD 4E 02 DD 46 03 -R 00 00 01 00 -T 8D 0B 00 00 09 23 23 5E 23 56 23 4E 23 46 C5 -R 00 00 01 00 -T 98 0B 00 00 D5 01 00 00 21 37 00 CD -R 00 00 01 00 -T A0 0B 00 00 00 00 00 00 C5 E5 21 82 00 DD 4E -R 00 00 01 00 02 04 38 00 -T A9 0B 00 00 02 DD 46 03 09 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 2F 00 -T B1 0B 00 00 21 00 00 00 00 CD 00 00 00 00 C5 -R 00 00 01 00 02 05 2F 00 02 0A 05 00 -T B8 0B 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 00 00 -T BD 0B 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 2B 0A 48 00 -T C3 0B 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 48 00 02 09 05 00 -T CA 0B 00 00 18 00 39 F9 EB 21 6F 00 DD 4E 02 -R 00 00 01 00 -T D5 0B 00 00 DD 46 03 09 7E E6 80 57 23 7E E6 -R 00 00 01 00 -T E0 0B 00 00 00 B2 28 05 21 0D 00 00 00 18 03 -R 00 00 01 00 00 09 02 00 -T E9 0B 00 00 -R 00 00 01 00 -T E9 0B 00 00 21 18 00 00 00 -R 00 00 01 00 00 05 02 00 -T EC 0B 00 00 -R 00 00 01 00 -T EC 0B 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 0D 00 -T F1 0B 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0D 00 2B 0A 48 00 -T F7 0B 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 48 00 02 09 05 00 -T FE 0B 00 00 F1 21 80 00 DD 4E 02 DD 46 03 09 -R 00 00 01 00 -T 09 0C 00 00 7E 23 B6 28 6E -R 00 00 01 00 -T 0E 0C 00 00 -R 00 00 01 00 -T 0E 0C 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 59 00 02 0B 59 00 -T 14 0C 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 48 00 02 0B 48 00 -T 1A 0C 00 00 CD 00 00 00 00 F1 F1 21 80 00 DD -R 00 00 01 00 02 05 05 00 -T 23 0C 00 00 4E 02 DD 46 03 09 46 23 66 68 DD -R 00 00 01 00 -T 2E 0C 00 00 75 FE DD 74 FF -R 00 00 01 00 -T 33 0C 00 00 -R 00 00 01 00 -T 33 0C 00 00 DD 7E FE DD B6 FF 28 41 -R 00 00 01 00 -T 3B 0C 00 00 -R 00 00 01 00 -T 3B 0C 00 00 21 23 00 DD 4E FE DD 46 FF 09 5E -R 00 00 01 00 -T 46 0C 00 00 23 56 D5 21 06 00 09 5E 23 56 23 -R 00 00 01 00 -T 51 0C 00 00 4E 23 46 C5 D5 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 41 00 -T 59 0C 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 41 00 2B 0B 48 00 -T 5F 0C 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 48 00 02 0A 05 00 -T 66 0C 00 00 F1 F1 F1 F1 DD 6E FE DD 66 FF 46 -R 00 00 01 00 -T 71 0C 00 00 23 66 68 DD 75 FE DD 74 FF 18 B7 -R 00 00 01 00 -T 7C 0C 00 00 -R 00 00 01 00 -T 7C 0C 00 00 -R 00 00 01 00 -T 7C 0C 00 00 -R 00 00 01 00 -T 7C 0C 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 1E 00 -T 7F 0C 00 00 -R 00 00 01 00 -T 7F 0C 00 00 CD 00 00 00 00 3E 03 AB B2 28 05 -R 00 00 01 00 02 05 36 00 -T 88 0C 00 00 -R 00 00 01 00 -T 88 0C 00 00 21 01 00 18 45 -R 00 00 01 00 -T 8D 0C 00 00 -R 00 00 01 00 -T 8D 0C 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 44 00 02 0B 44 00 -T 93 0C 00 00 E5 21 1B 00 ED 4B 00 00 00 00 09 -R 00 00 01 00 02 0A 37 00 -T 9C 0C 00 00 5E 23 56 D5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 27 00 -T A3 0C 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 27 00 02 09 05 00 -T AA 0C 00 00 F1 01 6B 00 21 07 00 ED 5B -R 00 00 01 00 -T B3 0C 00 00 00 00 00 00 19 5E 23 56 3E -R 00 00 01 00 02 04 37 00 -T BA 0C 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 26 00 02 09 26 00 -T BF 0C 00 00 00 00 00 00 21 20 00 ED 4B -R 00 00 01 00 02 04 05 00 -T C6 0C 00 00 00 00 00 00 09 AF 77 23 77 23 77 -R 00 00 01 00 02 04 37 00 -T CF 0C 00 00 21 00 00 -R 00 00 01 00 -T D2 0C 00 00 -R 00 00 01 00 -T D2 0C 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 1E 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 72 65 70 20 74 63 70 20 73 74 61 -R 00 00 02 00 -T 0B 00 00 00 74 00 -R 00 00 02 00 -T 0D 00 00 00 -R 00 00 02 00 -T 0D 00 00 00 74 69 6D 65 73 74 61 6D 70 73 00 -R 00 00 02 00 -T 18 00 00 00 -R 00 00 02 00 -T 18 00 00 00 73 74 61 6E 64 61 72 64 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 02 00 00 00 -R 00 00 03 00 -T 00 00 00 00 01 00 00 00 00 00 AF 00 00 00 -R 00 00 04 00 4A 06 28 00 48 0A 01 00 -T 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 4A 0B 1C 00 -T 12 00 00 00 E0 01 00 00 00 00 02 00 -R 00 00 04 00 48 04 01 00 -T 19 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 4A 04 25 00 4A 08 57 00 -T 1F 00 00 00 29 02 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 48 04 01 00 -T 29 00 00 00 00 00 00 00 59 00 00 00 00 00 -R 00 00 04 00 4A 04 30 00 48 08 01 00 -T 31 00 00 00 02 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 4A 06 2D 00 4A 0A 1F 00 -T 39 00 00 00 70 01 00 00 00 00 03 00 -R 00 00 04 00 48 04 01 00 -T 40 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 4A 04 08 00 4A 08 06 00 -T 46 00 00 00 83 02 00 00 00 00 00 00 -R 00 00 04 00 48 04 01 00 -T 4D 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 4A 04 2A 00 4A 08 35 00 -T 53 00 00 00 65 02 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 48 04 01 00 -T 5D 00 00 00 00 00 00 00 3B 00 00 00 00 00 -R 00 00 04 00 4A 04 56 00 48 08 01 00 -T 65 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 4A 09 3D 00 -T 6D 00 00 00 1D 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 48 04 01 00 -T 77 00 00 00 00 00 00 00 47 02 00 00 00 00 -R 00 00 04 00 4A 04 3A 00 48 08 01 00 -T 7F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 -T 8A 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 diff --git a/src/nos/lib/internet_lib/tcphdr.rel b/src/nos/lib/internet_lib/tcphdr.rel index 7dcfbdc2..d405da9a 100644 --- a/src/nos/lib/internet_lib/tcphdr.rel +++ b/src/nos/lib/internet_lib/tcphdr.rel @@ -1,8 +1,9 @@ XL4 -H 2 areas 11 global symbols +H 2 areas 12 global symbols S _put16 Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _memset Ref00000000 +S _memcpy Ref00000000 S _len_p Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 @@ -16,732 +17,784 @@ S ?CL64180B_4_06_L00 Ref00000000 S _pushdown Ref00000000 S _put32 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 8D6 flags 0 -S _ntohtcp Def00000481 +A CODE size 964 flags 0 +S _ntohtcp Def000004FB S _htontcp Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F0 FF 79 B0 20 03 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0B 00 T 09 00 00 00 R 00 00 01 00 -T 09 00 00 00 C3 7E 04 00 00 +T 09 00 00 00 C3 F8 04 00 00 R 00 00 01 00 00 05 01 00 T 0C 00 00 00 R 00 00 01 00 -T 0C 00 00 00 DD 36 F0 14 DD 36 F1 00 21 1D 00 +T 0C 00 00 00 DD 36 F0 14 DD 36 F1 00 21 1F 00 R 00 00 01 00 -T 17 00 00 00 DD 4E 02 DD 46 03 09 7E E6 80 47 +T 17 00 00 00 DD 4E 02 DD 46 03 09 7E B7 28 29 R 00 00 01 00 -T 22 00 00 00 23 7E E6 00 B0 28 0C +T 22 00 00 00 21 1F 00 DD 4E 02 DD 46 03 09 3E R 00 00 01 00 -T 29 00 00 00 +T 2D 00 00 00 28 BE 38 1A R 00 00 01 00 -T 29 00 00 00 21 00 00 39 7E C6 04 77 30 02 23 +T 31 00 00 00 R 00 00 01 00 -T 34 00 00 00 34 +T 31 00 00 00 R 00 00 01 00 -T 35 00 00 00 +T 31 00 00 00 R 00 00 01 00 -T 35 00 00 00 +T 31 00 00 00 21 1F 00 DD 4E 02 DD 46 03 09 4E R 00 00 01 00 -T 35 00 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E +T 3C 00 00 00 06 00 21 00 00 39 7E 81 77 23 7E R 00 00 01 00 -T 40 00 00 00 E6 00 47 23 7E E6 02 B0 28 0C +T 47 00 00 00 88 77 18 63 R 00 00 01 00 -T 4A 00 00 00 +T 4B 00 00 00 R 00 00 01 00 -T 4A 00 00 00 21 00 00 39 7E C6 0A 77 30 02 23 +T 4B 00 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 55 00 00 00 34 +T 56 00 00 00 E6 80 47 23 7E E6 00 B0 28 0C R 00 00 01 00 -T 56 00 00 00 +T 60 00 00 00 R 00 00 01 00 -T 56 00 00 00 +T 60 00 00 00 21 00 00 39 7E C6 04 77 30 02 23 R 00 00 01 00 -T 56 00 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E +T 6B 00 00 00 34 R 00 00 01 00 -T 61 00 00 00 E6 00 47 23 7E E6 01 B0 28 0C +T 6C 00 00 00 R 00 00 01 00 -T 6B 00 00 00 +T 6C 00 00 00 R 00 00 01 00 -T 6B 00 00 00 21 00 00 39 7E C6 03 77 30 02 23 +T 6C 00 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 76 00 00 00 34 +T 77 00 00 00 E6 00 47 23 7E E6 02 B0 28 0C R 00 00 01 00 -T 77 00 00 00 +T 81 00 00 00 R 00 00 01 00 -T 77 00 00 00 +T 81 00 00 00 21 00 00 39 7E C6 0A 77 30 02 23 R 00 00 01 00 -T 77 00 00 00 DD 6E F0 DD 66 F1 23 23 23 7D E6 +T 8C 00 00 00 34 R 00 00 01 00 -T 82 00 00 00 FC 4F 7C E6 00 47 DD 71 F0 DD 70 +T 8D 00 00 00 R 00 00 01 00 -T 8D 00 00 00 F1 C5 01 00 00 DD 5E 04 DD 56 05 +T 8D 00 00 00 R 00 00 01 00 -T 98 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0D 00 02 0A 0D 00 -T 9E 00 00 00 00 00 00 00 E1 DD 6E 04 DD 66 05 +T 8D 00 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E +R 00 00 01 00 +T 98 00 00 00 E6 00 47 23 7E E6 01 B0 28 0C +R 00 00 01 00 +T A2 00 00 00 +R 00 00 01 00 +T A2 00 00 00 21 00 00 39 7E C6 03 77 30 02 23 +R 00 00 01 00 +T AD 00 00 00 34 +R 00 00 01 00 +T AE 00 00 00 +R 00 00 01 00 +T AE 00 00 00 +R 00 00 01 00 +T AE 00 00 00 +R 00 00 01 00 +T AE 00 00 00 DD 6E F0 DD 66 F1 23 23 23 7D E6 +R 00 00 01 00 +T B9 00 00 00 FC 4F 7C E6 00 47 DD 71 F0 DD 70 +R 00 00 01 00 +T C4 00 00 00 F1 C5 01 00 00 DD 5E 04 DD 56 05 +R 00 00 01 00 +T CF 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 +T D5 00 00 00 00 00 00 00 E1 DD 6E 04 DD 66 05 R 00 00 01 00 02 04 01 00 -T A7 00 00 00 46 23 66 68 01 0A 00 09 46 23 66 +T DE 00 00 00 46 23 66 68 01 0A 00 09 46 23 66 R 00 00 01 00 -T B2 00 00 00 68 DD 75 F2 DD 74 F3 DD 4E F0 DD +T E9 00 00 00 68 DD 75 F2 DD 74 F3 DD 4E F0 DD R 00 00 01 00 -T BD 00 00 00 46 F1 C5 01 00 00 EB 3E +T F4 00 00 00 46 F1 C5 01 00 00 EB 3E R 00 00 01 00 -T C5 00 00 00 00 00 00 00 21 00 00 00 00 CD +T FC 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 02 00 02 09 02 00 -T CA 00 00 00 00 00 00 00 F1 DD 6E 02 DD 66 03 +T 01 01 00 00 00 00 00 00 F1 DD 6E 02 DD 66 03 R 00 00 01 00 02 04 01 00 -T D3 00 00 00 4E 23 46 DD 5E F2 DD 56 F3 3E +T 0A 01 00 00 4E 23 46 DD 5E F2 DD 56 F3 3E R 00 00 01 00 -T DD 00 00 00 00 00 00 00 21 00 00 00 00 CD +T 14 01 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 00 00 02 09 00 00 -T E2 00 00 00 00 00 00 00 DD 75 F2 DD 74 F3 DD +T 19 01 00 00 00 00 00 00 DD 75 F2 DD 74 F3 DD R 00 00 01 00 02 04 01 00 -T EB 00 00 00 4E 02 DD 46 03 03 03 69 60 4E 23 +T 22 01 00 00 4E 02 DD 46 03 03 03 69 60 4E 23 R 00 00 01 00 -T F6 00 00 00 46 DD 5E F2 DD 56 F3 3E +T 2D 01 00 00 46 DD 5E F2 DD 56 F3 3E R 00 00 01 00 -T FE 00 00 00 00 00 00 00 21 00 00 00 00 CD +T 35 01 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 03 01 00 00 00 00 00 00 DD 75 F2 DD 74 F3 21 +T 3A 01 00 00 00 00 00 00 DD 75 F2 DD 74 F3 21 R 00 00 01 00 02 04 01 00 -T 0C 01 00 00 04 00 DD 4E 02 DD 46 03 09 5E 23 +T 43 01 00 00 04 00 DD 4E 02 DD 46 03 09 5E 23 R 00 00 01 00 -T 17 01 00 00 56 23 4E 23 46 C5 D5 DD 5E F2 DD +T 4E 01 00 00 56 23 4E 23 46 C5 D5 DD 5E F2 DD R 00 00 01 00 -T 22 01 00 00 56 F3 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0E 00 -T 27 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0E 00 02 09 01 00 -T 2E 01 00 00 DD 75 F2 DD 74 F3 21 08 00 DD 4E +T 59 01 00 00 56 F3 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 0F 00 +T 5E 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 0F 00 02 09 01 00 +T 65 01 00 00 DD 75 F2 DD 74 F3 21 08 00 DD 4E R 00 00 01 00 -T 39 01 00 00 02 DD 46 03 09 5E 23 56 23 4E 23 +T 70 01 00 00 02 DD 46 03 09 5E 23 56 23 4E 23 R 00 00 01 00 -T 44 01 00 00 46 C5 D5 DD 5E F2 DD 56 F3 3E +T 7B 01 00 00 46 C5 D5 DD 5E F2 DD 56 F3 3E R 00 00 01 00 -T 4E 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 -T 53 01 00 00 00 00 00 00 F1 F1 DD 75 F2 DD 74 +T 85 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0F 00 02 09 0F 00 +T 8A 01 00 00 00 00 00 00 F1 F1 DD 75 F2 DD 74 R 00 00 01 00 02 04 01 00 -T 5C 01 00 00 F3 DD 7E F0 87 87 23 DD 75 F2 DD +T 93 01 00 00 F3 DD 7E F0 87 87 23 DD 75 F2 DD R 00 00 01 00 -T 67 01 00 00 74 F3 2B 77 DD 6E F2 DD 66 F3 36 +T 9E 01 00 00 74 F3 2B 77 DD 6E F2 DD 66 F3 36 R 00 00 01 00 -T 72 01 00 00 00 21 1D 00 DD 4E 02 DD 46 03 09 +T A9 01 00 00 00 21 1D 00 DD 4E 02 DD 46 03 09 R 00 00 01 00 -T 7D 01 00 00 7E E6 01 47 23 7E E6 00 B0 28 0A +T B4 01 00 00 7E E6 01 47 23 7E E6 00 B0 28 0A R 00 00 01 00 -T 88 01 00 00 +T BF 01 00 00 R 00 00 01 00 -T 88 01 00 00 DD 6E F2 DD 66 F3 7E F6 40 77 +T BF 01 00 00 DD 6E F2 DD 66 F3 7E F6 40 77 R 00 00 01 00 -T 92 01 00 00 +T C9 01 00 00 R 00 00 01 00 -T 92 01 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E +T C9 01 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 9D 01 00 00 E6 02 47 23 7E E6 00 B0 28 0A +T D4 01 00 00 E6 02 47 23 7E E6 00 B0 28 0A R 00 00 01 00 -T A7 01 00 00 +T DE 01 00 00 R 00 00 01 00 -T A7 01 00 00 DD 6E F2 DD 66 F3 7E F6 20 77 +T DE 01 00 00 DD 6E F2 DD 66 F3 7E F6 20 77 R 00 00 01 00 -T B1 01 00 00 +T E8 01 00 00 R 00 00 01 00 -T B1 01 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E +T E8 01 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T BC 01 00 00 E6 04 47 23 7E E6 00 B0 28 0A +T F3 01 00 00 E6 04 47 23 7E E6 00 B0 28 0A R 00 00 01 00 -T C6 01 00 00 +T FD 01 00 00 R 00 00 01 00 -T C6 01 00 00 DD 6E F2 DD 66 F3 7E F6 10 77 +T FD 01 00 00 DD 6E F2 DD 66 F3 7E F6 10 77 R 00 00 01 00 -T D0 01 00 00 +T 07 02 00 00 R 00 00 01 00 -T D0 01 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E +T 07 02 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T DB 01 00 00 E6 08 47 23 7E E6 00 B0 28 0A +T 12 02 00 00 E6 08 47 23 7E E6 00 B0 28 0A R 00 00 01 00 -T E5 01 00 00 +T 1C 02 00 00 R 00 00 01 00 -T E5 01 00 00 DD 6E F2 DD 66 F3 7E F6 08 77 +T 1C 02 00 00 DD 6E F2 DD 66 F3 7E F6 08 77 R 00 00 01 00 -T EF 01 00 00 +T 26 02 00 00 R 00 00 01 00 -T EF 01 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E +T 26 02 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T FA 01 00 00 E6 10 47 23 7E E6 00 B0 28 0A +T 31 02 00 00 E6 10 47 23 7E E6 00 B0 28 0A R 00 00 01 00 -T 04 02 00 00 +T 3B 02 00 00 R 00 00 01 00 -T 04 02 00 00 DD 6E F2 DD 66 F3 7E F6 04 77 +T 3B 02 00 00 DD 6E F2 DD 66 F3 7E F6 04 77 R 00 00 01 00 -T 0E 02 00 00 +T 45 02 00 00 R 00 00 01 00 -T 0E 02 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E +T 45 02 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 19 02 00 00 E6 20 47 23 7E E6 00 B0 28 0A +T 50 02 00 00 E6 20 47 23 7E E6 00 B0 28 0A R 00 00 01 00 -T 23 02 00 00 +T 5A 02 00 00 R 00 00 01 00 -T 23 02 00 00 DD 6E F2 DD 66 F3 7E F6 02 77 +T 5A 02 00 00 DD 6E F2 DD 66 F3 7E F6 02 77 R 00 00 01 00 -T 2D 02 00 00 +T 64 02 00 00 R 00 00 01 00 -T 2D 02 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E +T 64 02 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 38 02 00 00 E6 40 47 23 7E E6 00 B0 28 0A +T 6F 02 00 00 E6 40 47 23 7E E6 00 B0 28 0A R 00 00 01 00 -T 42 02 00 00 +T 79 02 00 00 R 00 00 01 00 -T 42 02 00 00 DD 6E F2 DD 66 F3 7E F6 01 77 +T 79 02 00 00 DD 6E F2 DD 66 F3 7E F6 01 77 R 00 00 01 00 -T 4C 02 00 00 +T 83 02 00 00 R 00 00 01 00 -T 4C 02 00 00 DD 34 F2 20 03 DD 34 F3 +T 83 02 00 00 DD 34 F2 20 03 DD 34 F3 R 00 00 01 00 -T 54 02 00 00 +T 8B 02 00 00 R 00 00 01 00 -T 54 02 00 00 21 0C 00 DD 4E 02 DD 46 03 09 4E +T 8B 02 00 00 21 0C 00 DD 4E 02 DD 46 03 09 4E R 00 00 01 00 -T 5F 02 00 00 23 46 DD 5E F2 DD 56 F3 3E +T 96 02 00 00 23 46 DD 5E F2 DD 56 F3 3E R 00 00 01 00 -T 68 02 00 00 00 00 00 00 21 00 00 00 00 CD +T 9F 02 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 6D 02 00 00 00 00 00 00 DD 75 F2 DD 74 F3 21 +T A4 02 00 00 00 00 00 00 DD 75 F2 DD 74 F3 21 R 00 00 01 00 02 04 01 00 -T 76 02 00 00 0E 00 DD 4E 02 DD 46 03 09 4E 23 +T AD 02 00 00 0E 00 DD 4E 02 DD 46 03 09 4E 23 R 00 00 01 00 -T 81 02 00 00 46 DD 5E F2 DD 56 F3 3E +T B8 02 00 00 46 DD 5E F2 DD 56 F3 3E R 00 00 01 00 -T 89 02 00 00 00 00 00 00 21 00 00 00 00 CD +T C0 02 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 8E 02 00 00 00 00 00 00 DD 75 F2 DD 74 F3 21 +T C5 02 00 00 00 00 00 00 DD 75 F2 DD 74 F3 21 R 00 00 01 00 02 04 01 00 -T 97 02 00 00 10 00 DD 4E 02 DD 46 03 09 4E 23 +T CE 02 00 00 10 00 DD 4E 02 DD 46 03 09 4E 23 R 00 00 01 00 -T A2 02 00 00 46 DD 5E F2 DD 56 F3 3E +T D9 02 00 00 46 DD 5E F2 DD 56 F3 3E R 00 00 01 00 -T AA 02 00 00 00 00 00 00 21 00 00 00 00 CD +T E1 02 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 00 00 02 09 00 00 -T AF 02 00 00 00 00 00 00 DD 75 F2 DD 74 F3 21 +T E6 02 00 00 00 00 00 00 DD 75 F2 DD 74 F3 21 R 00 00 01 00 02 04 01 00 -T B8 02 00 00 1D 00 DD 4E 02 DD 46 03 09 7E E6 +T EF 02 00 00 1F 00 DD 4E 02 DD 46 03 09 7E B7 +R 00 00 01 00 +T FA 02 00 00 28 35 21 1F 00 DD 4E 02 DD 46 03 R 00 00 01 00 -T C3 02 00 00 80 47 23 7E E6 00 B0 28 41 +T 05 03 00 00 09 3E 28 BE 38 26 R 00 00 01 00 -T CC 02 00 00 +T 0B 03 00 00 R 00 00 01 00 -T CC 02 00 00 DD 6E F2 DD 66 F3 23 DD 75 F2 DD +T 0B 03 00 00 R 00 00 01 00 -T D7 02 00 00 74 F3 2B 36 02 DD 6E F2 DD 66 F3 +T 0B 03 00 00 R 00 00 01 00 -T E2 02 00 00 23 DD 75 F2 DD 74 F3 2B 36 04 21 +T 0B 03 00 00 21 1F 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 -T ED 02 00 00 12 00 DD 4E 02 DD 46 03 09 4E 23 +T 16 03 00 00 16 00 D5 21 20 00 09 4D 44 DD 5E R 00 00 01 00 -T F8 02 00 00 46 DD 5E F2 DD 56 F3 3E +T 21 03 00 00 F2 DD 56 F3 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 03 00 +T 28 03 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 +R 00 00 01 00 02 04 03 00 02 09 01 00 +T 2F 03 00 00 5D 04 00 00 +R 00 00 01 00 00 04 01 00 +T 31 03 00 00 R 00 00 01 00 -T 00 03 00 00 00 00 00 00 21 00 00 00 00 CD +T 31 03 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E +R 00 00 01 00 +T 3C 03 00 00 E6 80 47 23 7E E6 00 B0 28 41 +R 00 00 01 00 +T 46 03 00 00 +R 00 00 01 00 +T 46 03 00 00 DD 6E F2 DD 66 F3 23 DD 75 F2 DD +R 00 00 01 00 +T 51 03 00 00 74 F3 2B 36 02 DD 6E F2 DD 66 F3 +R 00 00 01 00 +T 5C 03 00 00 23 DD 75 F2 DD 74 F3 2B 36 04 21 +R 00 00 01 00 +T 67 03 00 00 12 00 DD 4E 02 DD 46 03 09 4E 23 +R 00 00 01 00 +T 72 03 00 00 46 DD 5E F2 DD 56 F3 3E +R 00 00 01 00 +T 7A 03 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 05 03 00 00 00 00 00 00 DD 75 F2 DD 74 F3 +T 7F 03 00 00 00 00 00 00 DD 75 F2 DD 74 F3 R 00 00 01 00 02 04 01 00 -T 0D 03 00 00 +T 87 03 00 00 R 00 00 01 00 -T 0D 03 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E +T 87 03 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 18 03 00 00 E6 00 47 23 7E E6 02 B0 28 72 +T 92 03 00 00 E6 00 47 23 7E E6 02 B0 28 72 R 00 00 01 00 -T 22 03 00 00 +T 9C 03 00 00 R 00 00 01 00 -T 22 03 00 00 DD 6E F2 DD 66 F3 23 DD 75 F2 DD +T 9C 03 00 00 DD 6E F2 DD 66 F3 23 DD 75 F2 DD R 00 00 01 00 -T 2D 03 00 00 74 F3 2B 36 08 DD 6E F2 DD 66 F3 +T A7 03 00 00 74 F3 2B 36 08 DD 6E F2 DD 66 F3 R 00 00 01 00 -T 38 03 00 00 23 DD 75 F2 DD 74 F3 2B 36 0A 21 +T B2 03 00 00 23 DD 75 F2 DD 74 F3 2B 36 0A 21 R 00 00 01 00 -T 43 03 00 00 15 00 DD 4E 02 DD 46 03 09 5E 23 +T BD 03 00 00 15 00 DD 4E 02 DD 46 03 09 5E 23 R 00 00 01 00 -T 4E 03 00 00 56 23 4E 23 46 C5 D5 DD 5E F2 DD +T C8 03 00 00 56 23 4E 23 46 C5 D5 DD 5E F2 DD R 00 00 01 00 -T 59 03 00 00 56 F3 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0E 00 -T 5E 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0E 00 02 09 01 00 -T 65 03 00 00 DD 75 F2 DD 74 F3 21 19 00 DD 4E +T D3 03 00 00 56 F3 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 0F 00 +T D8 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 0F 00 02 09 01 00 +T DF 03 00 00 DD 75 F2 DD 74 F3 21 19 00 DD 4E R 00 00 01 00 -T 70 03 00 00 02 DD 46 03 09 4E 23 46 23 5E 23 +T EA 03 00 00 02 DD 46 03 09 4E 23 46 23 5E 23 R 00 00 01 00 -T 7B 03 00 00 56 D5 C5 DD 5E F2 DD 56 F3 3E +T F5 03 00 00 56 D5 C5 DD 5E F2 DD 56 F3 3E R 00 00 01 00 -T 85 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 -T 8A 03 00 00 00 00 00 00 F1 F1 DD 75 F2 DD 74 +T FF 03 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0F 00 02 09 0F 00 +T 04 04 00 00 00 00 00 00 F1 F1 DD 75 F2 DD 74 R 00 00 01 00 02 04 01 00 -T 93 03 00 00 F3 +T 0D 04 00 00 F3 +R 00 00 01 00 +T 0E 04 00 00 R 00 00 01 00 -T 94 03 00 00 +T 0E 04 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 94 03 00 00 21 1D 00 DD 4E 02 DD 46 03 09 7E +T 19 04 00 00 E6 00 47 23 7E E6 01 B0 28 3A R 00 00 01 00 -T 9F 03 00 00 E6 00 47 23 7E E6 01 B0 28 3A +T 23 04 00 00 R 00 00 01 00 -T A9 03 00 00 +T 23 04 00 00 DD 6E F2 DD 66 F3 23 DD 75 F2 DD R 00 00 01 00 -T A9 03 00 00 DD 6E F2 DD 66 F3 23 DD 75 F2 DD +T 2E 04 00 00 74 F3 2B 36 03 DD 6E F2 DD 66 F3 R 00 00 01 00 -T B4 03 00 00 74 F3 2B 36 03 DD 6E F2 DD 66 F3 +T 39 04 00 00 23 DD 75 F2 DD 74 F3 2B 36 03 21 R 00 00 01 00 -T BF 03 00 00 23 DD 75 F2 DD 74 F3 2B 36 03 21 +T 44 04 00 00 14 00 DD 4E 02 DD 46 03 09 46 DD R 00 00 01 00 -T CA 03 00 00 14 00 DD 4E 02 DD 46 03 09 46 DD +T 4F 04 00 00 6E F2 DD 66 F3 23 DD 75 F2 DD 74 R 00 00 01 00 -T D5 03 00 00 6E F2 DD 66 F3 23 DD 75 F2 DD 74 +T 5A 04 00 00 F3 2B 70 R 00 00 01 00 -T E0 03 00 00 F3 2B 70 +T 5D 04 00 00 R 00 00 01 00 -T E3 03 00 00 +T 5D 04 00 00 R 00 00 01 00 -T E3 03 00 00 21 0E 00 DD 4E 02 DD 46 03 09 7E +T 5D 04 00 00 21 0E 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T EE 03 00 00 23 B6 C2 7E 04 00 00 +T 68 04 00 00 23 B6 C2 F8 04 00 00 R 00 00 01 00 00 07 01 00 -T F3 03 00 00 +T 6D 04 00 00 R 00 00 01 00 -T F3 03 00 00 DD 4E 0C DD 46 0D DD 6E 0A DD 66 +T 6D 04 00 00 DD 4E 0C DD 46 0D DD 6E 0A DD 66 R 00 00 01 00 -T FE 03 00 00 0B DD 75 F4 DD 74 F5 DD 71 F6 DD +T 78 04 00 00 0B DD 75 F4 DD 74 F5 DD 71 F6 DD R 00 00 01 00 -T 09 04 00 00 70 F7 DD 4E 10 DD 46 11 DD 6E 0E +T 83 04 00 00 70 F7 DD 4E 10 DD 46 11 DD 6E 0E R 00 00 01 00 -T 14 04 00 00 DD 66 0F DD 75 F8 DD 74 F9 DD 71 +T 8E 04 00 00 DD 66 0F DD 75 F8 DD 74 F9 DD 71 R 00 00 01 00 -T 1F 04 00 00 FA DD 70 FB DD 36 FC 06 DD 6E 04 +T 99 04 00 00 FA DD 70 FB DD 36 FC 06 DD 6E 04 R 00 00 01 00 -T 2A 04 00 00 DD 66 05 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 03 00 -T 32 04 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 03 00 02 0A 01 00 -T 39 04 00 00 75 FD DD 74 FE DD 6E FD DD 66 FE +T A4 04 00 00 DD 66 05 5E 23 56 3E 00 00 00 00 +R 00 00 01 00 2B 0B 04 00 +T AC 04 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 04 00 02 0A 01 00 +T B3 04 00 00 75 FD DD 74 FE DD 6E FD DD 66 FE R 00 00 01 00 -T 44 04 00 00 E5 DD 6E 04 DD 66 05 4E 23 46 21 +T BE 04 00 00 E5 DD 6E 04 DD 66 05 4E 23 46 21 R 00 00 01 00 -T 4F 04 00 00 06 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 07 00 -T 57 04 00 00 00 00 00 00 CD 00 00 00 00 F1 4D -R 00 00 01 00 02 04 07 00 02 09 01 00 -T 5E 04 00 00 44 DD 6E 04 DD 66 05 56 23 66 6A +T C9 04 00 00 06 00 39 5D 54 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 08 00 +T D1 04 00 00 00 00 00 00 CD 00 00 00 00 F1 4D +R 00 00 01 00 02 04 08 00 02 09 01 00 +T D8 04 00 00 44 DD 6E 04 DD 66 05 56 23 66 6A R 00 00 01 00 -T 69 04 00 00 11 0A 00 19 56 23 66 6A 11 10 00 +T E3 04 00 00 11 0A 00 19 56 23 66 6A 11 10 00 R 00 00 01 00 -T 74 04 00 00 19 EB 3E 00 00 00 00 21 +T EE 04 00 00 19 EB 3E 00 00 00 00 21 R 00 00 01 00 2B 07 00 00 -T 79 04 00 00 00 00 00 00 CD 00 00 00 00 +T F3 04 00 00 00 00 00 00 CD 00 00 00 00 R 00 00 01 00 02 04 00 00 02 09 01 00 -T 7E 04 00 00 +T F8 04 00 00 R 00 00 01 00 -T 7E 04 00 00 +T F8 04 00 00 R 00 00 01 00 -T 7E 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 81 04 00 00 +T F8 04 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 05 00 +T FB 04 00 00 R 00 00 01 00 -T 81 04 00 00 CD 00 00 00 00 B8 FF 21 1F 00 E5 -R 00 00 01 00 02 05 0A 00 -T 8A 04 00 00 01 00 00 DD 5E 02 DD 56 03 3E +T FB 04 00 00 CD 00 00 00 00 E0 FF 21 48 00 E5 +R 00 00 01 00 02 05 0B 00 +T 04 05 00 00 01 00 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 -T 94 04 00 00 00 00 00 00 21 00 00 00 00 CD +T 0E 05 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 99 04 00 00 00 00 00 00 F1 21 14 00 E5 21 +T 13 05 00 00 00 00 00 00 F1 21 14 00 E5 21 R 00 00 01 00 02 04 01 00 -T A1 04 00 00 0C 00 39 4D 44 DD 5E 04 DD 56 05 +T 1B 05 00 00 0A 00 39 4D 44 DD 5E 04 DD 56 05 R 00 00 01 00 -T AC 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 -T B2 04 00 00 00 00 00 00 F1 DD 75 BA DD 74 BB +T 26 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 07 00 02 0A 07 00 +T 2C 05 00 00 00 00 00 00 F1 DD 75 E2 DD 74 E3 R 00 00 01 00 02 04 01 00 -T BB 04 00 00 21 0A 00 39 01 00 00 09 EB 3E +T 35 05 00 00 21 08 00 39 01 00 00 09 EB 3E R 00 00 01 00 -T C5 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T CA 04 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 +T 3F 05 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +T 44 05 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 R 00 00 01 00 02 04 01 00 -T D3 04 00 00 C1 71 23 70 DD 6E 02 DD 66 03 23 +T 4D 05 00 00 C1 71 23 70 DD 6E 02 DD 66 03 23 R 00 00 01 00 -T DE 04 00 00 23 E5 21 0C 00 39 01 02 00 09 EB +T 58 05 00 00 23 E5 21 0A 00 39 01 02 00 09 EB R 00 00 01 00 -T E9 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 09 00 02 0A 09 00 -T EF 04 00 00 00 00 00 00 4D 44 E1 71 23 70 21 +T 63 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0A 00 02 0A 0A 00 +T 69 05 00 00 00 00 00 00 4D 44 E1 71 23 70 21 R 00 00 01 00 02 04 01 00 -T F8 04 00 00 0A 00 39 01 04 00 09 EB 3E +T 72 05 00 00 08 00 39 01 04 00 09 EB 3E R 00 00 01 00 -T 01 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T 06 05 00 00 00 00 00 00 E5 21 04 00 DD 5E 02 +T 7B 05 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 09 00 02 09 09 00 +T 80 05 00 00 00 00 00 00 E5 21 04 00 DD 5E 02 R 00 00 01 00 02 04 01 00 -T 0F 05 00 00 DD 56 03 19 D1 73 23 72 23 71 23 +T 89 05 00 00 DD 56 03 19 D1 73 23 72 23 71 23 R 00 00 01 00 -T 1A 05 00 00 70 21 0A 00 39 01 08 00 09 EB 3E +T 94 05 00 00 70 21 08 00 39 01 08 00 09 EB 3E R 00 00 01 00 -T 25 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T 2A 05 00 00 00 00 00 00 E5 21 08 00 DD 5E 02 +T 9F 05 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 09 00 02 09 09 00 +T A4 05 00 00 00 00 00 00 E5 21 08 00 DD 5E 02 R 00 00 01 00 02 04 01 00 -T 33 05 00 00 DD 56 03 19 D1 73 23 72 23 71 23 +T AD 05 00 00 DD 56 03 19 D1 73 23 72 23 71 23 R 00 00 01 00 -T 3E 05 00 00 70 DD 7E CE E6 F0 4F CB 39 CB 39 +T B8 05 00 00 70 DD 7E F4 E6 F0 4F CB 39 CB 39 R 00 00 01 00 -T 49 05 00 00 06 00 DD 71 B8 DD 70 B9 DD 5E CF +T C3 05 00 00 06 00 DD 71 E0 DD 70 E1 DD 5E F5 R 00 00 01 00 -T 54 05 00 00 16 00 DD 73 C0 DD 72 C1 7B E6 40 +T CE 05 00 00 16 00 DD 73 E6 DD 72 E7 7B E6 40 R 00 00 01 00 -T 5F 05 00 00 28 05 11 01 00 18 03 +T D9 05 00 00 28 05 11 01 00 18 03 R 00 00 01 00 -T 66 05 00 00 +T E0 05 00 00 R 00 00 01 00 -T 66 05 00 00 11 00 00 +T E0 05 00 00 11 00 00 R 00 00 01 00 -T 69 05 00 00 +T E3 05 00 00 R 00 00 01 00 -T 69 05 00 00 21 1D 00 DD 4E 02 DD 46 03 09 CB +T E3 05 00 00 21 1D 00 DD 4E 02 DD 46 03 09 CB R 00 00 01 00 -T 74 05 00 00 43 28 04 CB C6 18 02 +T EE 05 00 00 43 28 04 CB C6 18 02 R 00 00 01 00 -T 7B 05 00 00 +T F5 05 00 00 R 00 00 01 00 -T 7B 05 00 00 CB 86 +T F5 05 00 00 CB 86 R 00 00 01 00 -T 7D 05 00 00 +T F7 05 00 00 R 00 00 01 00 -T 7D 05 00 00 DD 7E C0 E6 20 28 05 11 01 00 18 +T F7 05 00 00 DD 7E E6 E6 20 28 05 11 01 00 18 R 00 00 01 00 -T 88 05 00 00 03 +T 02 06 00 00 03 R 00 00 01 00 -T 89 05 00 00 +T 03 06 00 00 R 00 00 01 00 -T 89 05 00 00 11 00 00 +T 03 06 00 00 11 00 00 R 00 00 01 00 -T 8C 05 00 00 +T 06 06 00 00 R 00 00 01 00 -T 8C 05 00 00 21 1D 00 DD 4E 02 DD 46 03 09 CB +T 06 06 00 00 21 1D 00 DD 4E 02 DD 46 03 09 CB R 00 00 01 00 -T 97 05 00 00 43 28 04 CB CE 18 02 +T 11 06 00 00 43 28 04 CB CE 18 02 R 00 00 01 00 -T 9E 05 00 00 +T 18 06 00 00 R 00 00 01 00 -T 9E 05 00 00 CB 8E +T 18 06 00 00 CB 8E R 00 00 01 00 -T A0 05 00 00 +T 1A 06 00 00 R 00 00 01 00 -T A0 05 00 00 DD 7E C0 E6 10 28 05 11 01 00 18 +T 1A 06 00 00 DD 7E E6 E6 10 28 05 11 01 00 18 R 00 00 01 00 -T AB 05 00 00 03 +T 25 06 00 00 03 R 00 00 01 00 -T AC 05 00 00 +T 26 06 00 00 R 00 00 01 00 -T AC 05 00 00 11 00 00 +T 26 06 00 00 11 00 00 R 00 00 01 00 -T AF 05 00 00 +T 29 06 00 00 R 00 00 01 00 -T AF 05 00 00 21 1D 00 DD 4E 02 DD 46 03 09 CB +T 29 06 00 00 21 1D 00 DD 4E 02 DD 46 03 09 CB R 00 00 01 00 -T BA 05 00 00 43 28 04 CB D6 18 02 +T 34 06 00 00 43 28 04 CB D6 18 02 R 00 00 01 00 -T C1 05 00 00 +T 3B 06 00 00 R 00 00 01 00 -T C1 05 00 00 CB 96 +T 3B 06 00 00 CB 96 R 00 00 01 00 -T C3 05 00 00 +T 3D 06 00 00 R 00 00 01 00 -T C3 05 00 00 DD 7E C0 E6 08 28 05 11 01 00 18 +T 3D 06 00 00 DD 7E E6 E6 08 28 05 11 01 00 18 R 00 00 01 00 -T CE 05 00 00 03 +T 48 06 00 00 03 R 00 00 01 00 -T CF 05 00 00 +T 49 06 00 00 R 00 00 01 00 -T CF 05 00 00 11 00 00 +T 49 06 00 00 11 00 00 R 00 00 01 00 -T D2 05 00 00 +T 4C 06 00 00 R 00 00 01 00 -T D2 05 00 00 21 1D 00 DD 4E 02 DD 46 03 09 CB +T 4C 06 00 00 21 1D 00 DD 4E 02 DD 46 03 09 CB R 00 00 01 00 -T DD 05 00 00 43 28 04 CB DE 18 02 +T 57 06 00 00 43 28 04 CB DE 18 02 R 00 00 01 00 -T E4 05 00 00 +T 5E 06 00 00 R 00 00 01 00 -T E4 05 00 00 CB 9E +T 5E 06 00 00 CB 9E R 00 00 01 00 -T E6 05 00 00 +T 60 06 00 00 R 00 00 01 00 -T E6 05 00 00 DD 7E C0 E6 04 28 05 11 01 00 18 +T 60 06 00 00 DD 7E E6 E6 04 28 05 11 01 00 18 R 00 00 01 00 -T F1 05 00 00 03 +T 6B 06 00 00 03 R 00 00 01 00 -T F2 05 00 00 +T 6C 06 00 00 R 00 00 01 00 -T F2 05 00 00 11 00 00 +T 6C 06 00 00 11 00 00 R 00 00 01 00 -T F5 05 00 00 +T 6F 06 00 00 R 00 00 01 00 -T F5 05 00 00 21 1D 00 DD 4E 02 DD 46 03 09 CB +T 6F 06 00 00 21 1D 00 DD 4E 02 DD 46 03 09 CB R 00 00 01 00 -T 00 06 00 00 43 28 04 CB E6 18 02 +T 7A 06 00 00 43 28 04 CB E6 18 02 R 00 00 01 00 -T 07 06 00 00 +T 81 06 00 00 R 00 00 01 00 -T 07 06 00 00 CB A6 +T 81 06 00 00 CB A6 R 00 00 01 00 -T 09 06 00 00 +T 83 06 00 00 R 00 00 01 00 -T 09 06 00 00 DD 7E C0 E6 02 28 05 11 01 00 18 +T 83 06 00 00 DD 7E E6 E6 02 28 05 11 01 00 18 R 00 00 01 00 -T 14 06 00 00 03 +T 8E 06 00 00 03 R 00 00 01 00 -T 15 06 00 00 +T 8F 06 00 00 R 00 00 01 00 -T 15 06 00 00 11 00 00 +T 8F 06 00 00 11 00 00 R 00 00 01 00 -T 18 06 00 00 +T 92 06 00 00 R 00 00 01 00 -T 18 06 00 00 21 1D 00 DD 4E 02 DD 46 03 09 CB +T 92 06 00 00 21 1D 00 DD 4E 02 DD 46 03 09 CB R 00 00 01 00 -T 23 06 00 00 43 28 04 CB EE 18 02 +T 9D 06 00 00 43 28 04 CB EE 18 02 R 00 00 01 00 -T 2A 06 00 00 +T A4 06 00 00 R 00 00 01 00 -T 2A 06 00 00 CB AE +T A4 06 00 00 CB AE R 00 00 01 00 -T 2C 06 00 00 +T A6 06 00 00 R 00 00 01 00 -T 2C 06 00 00 DD 7E C0 E6 01 28 05 11 01 00 18 +T A6 06 00 00 DD 7E E6 E6 01 28 05 11 01 00 18 R 00 00 01 00 -T 37 06 00 00 03 +T B1 06 00 00 03 R 00 00 01 00 -T 38 06 00 00 +T B2 06 00 00 R 00 00 01 00 -T 38 06 00 00 11 00 00 +T B2 06 00 00 11 00 00 R 00 00 01 00 -T 3B 06 00 00 +T B5 06 00 00 R 00 00 01 00 -T 3B 06 00 00 21 1D 00 DD 4E 02 DD 46 03 09 CB +T B5 06 00 00 21 1D 00 DD 4E 02 DD 46 03 09 CB R 00 00 01 00 -T 46 06 00 00 43 28 04 CB F6 18 02 +T C0 06 00 00 43 28 04 CB F6 18 02 R 00 00 01 00 -T 4D 06 00 00 +T C7 06 00 00 R 00 00 01 00 -T 4D 06 00 00 CB B6 +T C7 06 00 00 CB B6 R 00 00 01 00 -T 4F 06 00 00 +T C9 06 00 00 R 00 00 01 00 -T 4F 06 00 00 21 0C 00 DD 4E 02 DD 46 03 09 E5 +T C9 06 00 00 21 0C 00 DD 4E 02 DD 46 03 09 E5 R 00 00 01 00 -T 5A 06 00 00 21 0C 00 39 11 0E 00 19 EB 3E +T D4 06 00 00 21 0A 00 39 11 0E 00 19 EB 3E R 00 00 01 00 -T 64 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T 69 06 00 00 00 00 00 00 EB E1 73 23 72 21 +T DE 06 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +T E3 06 00 00 00 00 00 00 EB E1 73 23 72 21 R 00 00 01 00 02 04 01 00 -T 71 06 00 00 0E 00 09 E5 21 0C 00 39 11 10 00 +T EB 06 00 00 0E 00 09 E5 21 0A 00 39 11 10 00 R 00 00 01 00 -T 7C 06 00 00 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 09 00 -T 81 06 00 00 00 00 00 00 CD 00 00 00 00 EB E1 -R 00 00 01 00 02 04 09 00 02 09 01 00 -T 88 06 00 00 73 23 72 21 10 00 09 E5 21 0C 00 +T F6 06 00 00 19 EB 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 0A 00 +T FB 06 00 00 00 00 00 00 CD 00 00 00 00 EB E1 +R 00 00 01 00 02 04 0A 00 02 09 01 00 +T 02 07 00 00 73 23 72 21 10 00 09 E5 21 0A 00 R 00 00 01 00 -T 93 06 00 00 39 01 12 00 09 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 09 00 -T 9B 06 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 09 00 02 0A 01 00 -T A2 06 00 00 44 E1 71 23 70 21 EC FF DD 4E B8 +T 0D 07 00 00 39 11 12 00 19 EB 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0A 00 +T 15 07 00 00 21 00 00 00 00 CD 00 00 00 00 EB +R 00 00 01 00 02 05 0A 00 02 0A 01 00 +T 1C 07 00 00 E1 73 23 72 DD 7E E0 C6 EC 21 R 00 00 01 00 -T AD 06 00 00 DD 46 B9 09 DD 75 BC DD 74 BD 01 +T 26 07 00 00 1F 00 09 77 01 14 80 DD 6E E2 DD R 00 00 01 00 -T B8 06 00 00 14 80 DD 6E BA DD 66 BB 3E 80 AC +T 31 07 00 00 66 E3 3E 80 AC 67 ED 42 38 11 01 R 00 00 01 00 -T C3 06 00 00 67 ED 42 38 11 01 14 80 DD 6E B8 +T 3C 07 00 00 14 80 DD 6E E0 DD 66 E1 3E 80 AC R 00 00 01 00 -T CE 06 00 00 DD 66 B9 3E 80 AC 67 ED 42 30 06 +T 47 07 00 00 67 ED 42 30 06 R 00 00 01 00 -T D9 06 00 00 +T 4C 07 00 00 R 00 00 01 00 -T D9 06 00 00 +T 4C 07 00 00 R 00 00 01 00 -T D9 06 00 00 +T 4C 07 00 00 R 00 00 01 00 -T D9 06 00 00 21 FF FF C3 D3 08 00 00 +T 4C 07 00 00 21 FF FF C3 61 09 00 00 R 00 00 01 00 00 08 01 00 -T DF 06 00 00 +T 52 07 00 00 R 00 00 01 00 -T DF 06 00 00 DD 7E BC DD B6 BD 20 09 +T 52 07 00 00 21 1F 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T E7 06 00 00 +T 5D 07 00 00 B7 20 09 R 00 00 01 00 -T E7 06 00 00 DD 6E B8 DD 66 B9 C3 D3 08 00 00 +T 60 07 00 00 +R 00 00 01 00 +T 60 07 00 00 DD 6E E0 DD 66 E1 C3 61 09 00 00 R 00 00 01 00 00 0B 01 00 -T F0 06 00 00 +T 69 07 00 00 R 00 00 01 00 -T F0 06 00 00 DD 6E 04 DD 66 05 5E 23 56 3E +T 69 07 00 00 21 1F 00 DD 4E 02 DD 46 03 09 4E R 00 00 01 00 -T FA 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T FF 06 00 00 00 00 00 00 DD 4E BC DD 46 BD A7 -R 00 00 01 00 02 04 01 00 -T 08 07 00 00 ED 42 30 06 +T 74 07 00 00 06 00 DD 6E 04 DD 66 05 5E 23 56 R 00 00 01 00 -T 0C 07 00 00 +T 7F 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 04 00 02 0A 04 00 +T 85 07 00 00 00 00 00 00 A7 ED 42 30 06 +R 00 00 01 00 02 04 01 00 +T 8C 07 00 00 R 00 00 01 00 -T 0C 07 00 00 21 FF FF C3 D3 08 00 00 +T 8C 07 00 00 21 FF FF C3 61 09 00 00 R 00 00 01 00 00 08 01 00 -T 12 07 00 00 +T 92 07 00 00 R 00 00 01 00 -T 12 07 00 00 DD 6E BC DD 66 BD E5 21 22 00 39 +T 92 07 00 00 21 1F 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 -T 1D 07 00 00 4D 44 DD 5E 04 DD 56 05 3E +T 9D 07 00 00 16 00 D5 21 20 00 09 4D 44 DD 5E R 00 00 01 00 -T 26 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 -T 2B 07 00 00 00 00 00 00 F1 21 20 00 39 DD 75 -R 00 00 01 00 02 04 01 00 -T 34 07 00 00 D6 DD 74 D7 DD 6E BC DD 66 BD DD +T A8 07 00 00 04 DD 56 05 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 07 00 +T AF 07 00 00 00 00 00 00 CD 00 00 00 00 F1 21 +R 00 00 01 00 02 04 07 00 02 09 01 00 +T B6 07 00 00 20 00 DD 4E 02 DD 46 03 09 DD 75 R 00 00 01 00 -T 3F 07 00 00 75 BA DD 74 BB +T C1 07 00 00 FC DD 74 FD 21 1F 00 09 4E 06 00 R 00 00 01 00 -T 44 07 00 00 +T CC 07 00 00 DD 71 E2 DD 70 E3 R 00 00 01 00 -T 44 07 00 00 DD 4E BA DD 46 BB 21 00 00 CD +T D2 07 00 00 R 00 00 01 00 -T 4E 07 00 00 00 00 00 00 D2 CD 08 00 00 -R 00 00 01 00 02 04 0B 00 00 09 01 00 -T 53 07 00 00 +T D2 07 00 00 DD 4E E2 DD 46 E3 21 00 00 CD R 00 00 01 00 -T 53 07 00 00 DD 6E D6 DD 66 D7 23 DD 75 D6 DD +T DC 07 00 00 00 00 00 00 D2 5B 09 00 00 +R 00 00 01 00 02 04 0C 00 00 09 01 00 +T E1 07 00 00 R 00 00 01 00 -T 5E 07 00 00 74 D7 2B 4E 06 00 DD 71 BE DD 70 +T E1 07 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD R 00 00 01 00 -T 69 07 00 00 BF DD 6E BA DD 66 BB 2B DD 75 BA +T EC 07 00 00 74 FD 2B 4E 06 00 DD 71 E4 DD 70 R 00 00 01 00 -T 74 07 00 00 DD 74 BB 79 B0 20 09 +T F7 07 00 00 E5 DD 6E E2 DD 66 E3 2B DD 75 E2 R 00 00 01 00 -T 7B 07 00 00 +T 02 08 00 00 DD 74 E3 79 B0 20 09 R 00 00 01 00 -T 7B 07 00 00 DD 6E B8 DD 66 B9 C3 D3 08 00 00 +T 09 08 00 00 +R 00 00 01 00 +T 09 08 00 00 DD 6E E0 DD 66 E1 C3 61 09 00 00 R 00 00 01 00 00 0B 01 00 -T 84 07 00 00 +T 12 08 00 00 R 00 00 01 00 -T 84 07 00 00 3E 01 A9 B0 20 02 18 B8 +T 12 08 00 00 3E 01 A9 B0 20 02 18 B8 R 00 00 01 00 -T 8C 07 00 00 +T 1A 08 00 00 R 00 00 01 00 -T 8C 07 00 00 DD 6E D6 DD 66 D7 23 DD 75 D6 DD +T 1A 08 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD R 00 00 01 00 -T 97 07 00 00 74 D7 2B 4E 06 00 DD 71 BC DD 70 +T 25 08 00 00 74 FD 2B 4E 06 00 DD 71 FE DD 70 R 00 00 01 00 -T A2 07 00 00 BD DD 4E BE DD 46 BF 3E 02 A9 B0 +T 30 08 00 00 FF DD 4E E4 DD 46 E5 3E 02 A9 B0 R 00 00 01 00 -T AD 07 00 00 20 38 +T 3B 08 00 00 20 38 R 00 00 01 00 -T AF 07 00 00 +T 3D 08 00 00 R 00 00 01 00 -T AF 07 00 00 3E 04 DD AE BC DD B6 BD 20 2B +T 3D 08 00 00 3E 04 DD AE FE DD B6 FF 20 2B R 00 00 01 00 -T B9 07 00 00 +T 47 08 00 00 R 00 00 01 00 -T B9 07 00 00 21 12 00 DD 4E 02 DD 46 03 09 E5 +T 47 08 00 00 21 12 00 DD 4E 02 DD 46 03 09 E5 R 00 00 01 00 -T C4 07 00 00 DD 5E D6 DD 56 D7 3E 00 00 00 00 -R 00 00 01 00 2B 0B 09 00 -T CC 07 00 00 21 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 09 00 02 0A 01 00 -T D3 07 00 00 E1 73 23 72 21 1D 00 09 7E F6 80 +T 52 08 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0A 00 +T 5A 08 00 00 21 00 00 00 00 CD 00 00 00 00 EB +R 00 00 01 00 02 05 0A 00 02 0A 01 00 +T 61 08 00 00 E1 73 23 72 21 1D 00 09 7E F6 80 R 00 00 01 00 -T DE 07 00 00 77 23 7E F6 00 77 +T 6C 08 00 00 77 23 7E F6 00 77 R 00 00 01 00 -T E4 07 00 00 +T 72 08 00 00 R 00 00 01 00 -T E4 07 00 00 C3 86 08 00 00 +T 72 08 00 00 C3 14 09 00 00 R 00 00 01 00 00 05 01 00 -T E7 07 00 00 +T 75 08 00 00 R 00 00 01 00 -T E7 07 00 00 3E 03 A9 B0 20 2D 3E 03 DD AE BC +T 75 08 00 00 3E 03 A9 B0 20 2D 3E 03 DD AE FE R 00 00 01 00 -T F2 07 00 00 DD B6 BD 20 21 +T 80 08 00 00 DD B6 FF 20 21 R 00 00 01 00 -T F7 07 00 00 +T 85 08 00 00 R 00 00 01 00 -T F7 07 00 00 21 14 00 DD 4E 02 DD 46 03 09 E5 +T 85 08 00 00 21 14 00 DD 4E 02 DD 46 03 09 E5 R 00 00 01 00 -T 02 08 00 00 DD 6E D6 DD 66 D7 56 E1 72 21 +T 90 08 00 00 DD 6E FC DD 66 FD 56 E1 72 21 R 00 00 01 00 -T 0C 08 00 00 1D 00 09 7E F6 00 77 23 7E F6 01 +T 9A 08 00 00 1D 00 09 7E F6 00 77 23 7E F6 01 R 00 00 01 00 -T 17 08 00 00 77 +T A5 08 00 00 77 R 00 00 01 00 -T 18 08 00 00 +T A6 08 00 00 R 00 00 01 00 -T 18 08 00 00 18 6C +T A6 08 00 00 18 6C R 00 00 01 00 -T 1A 08 00 00 +T A8 08 00 00 R 00 00 01 00 -T 1A 08 00 00 3E 08 A9 B0 20 66 3E 0A DD AE BC +T A8 08 00 00 3E 08 A9 B0 20 66 3E 0A DD AE FE R 00 00 01 00 -T 25 08 00 00 DD B6 BD 20 5A +T B3 08 00 00 DD B6 FF 20 5A R 00 00 01 00 -T 2A 08 00 00 +T B8 08 00 00 R 00 00 01 00 -T 2A 08 00 00 DD 5E D6 DD 56 D7 3E 00 00 00 00 -R 00 00 01 00 2B 0B 08 00 -T 32 08 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 08 00 02 0A 01 00 -T 39 08 00 00 21 15 00 DD 5E 02 DD 56 03 19 D1 +T B8 08 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 +R 00 00 01 00 2B 0B 09 00 +T C0 08 00 00 21 00 00 00 00 CD 00 00 00 00 E5 +R 00 00 01 00 02 05 09 00 02 0A 01 00 +T C7 08 00 00 21 15 00 DD 5E 02 DD 56 03 19 D1 R 00 00 01 00 -T 44 08 00 00 73 23 72 23 71 23 70 21 04 00 DD +T D2 08 00 00 73 23 72 23 71 23 70 21 04 00 DD R 00 00 01 00 -T 4F 08 00 00 4E D6 DD 46 D7 09 EB 3E +T DD 08 00 00 4E FC DD 46 FD 09 EB 3E R 00 00 01 00 -T 57 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T 5C 08 00 00 00 00 00 00 E5 21 19 00 DD 5E 02 +T E5 08 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 09 00 02 09 09 00 +T EA 08 00 00 00 00 00 00 E5 21 19 00 DD 5E 02 R 00 00 01 00 02 04 01 00 -T 65 08 00 00 DD 56 03 19 D1 73 23 72 23 71 23 +T F3 08 00 00 DD 56 03 19 D1 73 23 72 23 71 23 R 00 00 01 00 -T 70 08 00 00 70 21 1D 00 DD 4E 02 DD 46 03 09 +T FE 08 00 00 70 21 1D 00 DD 4E 02 DD 46 03 09 R 00 00 01 00 -T 7B 08 00 00 7E F6 00 77 23 7E F6 02 77 +T 09 09 00 00 7E F6 00 77 23 7E F6 02 77 R 00 00 01 00 -T 84 08 00 00 +T 12 09 00 00 R 00 00 01 00 -T 84 08 00 00 18 00 +T 12 09 00 00 18 00 R 00 00 01 00 -T 86 08 00 00 +T 14 09 00 00 R 00 00 01 00 -T 86 08 00 00 01 02 80 DD 6E BC DD 66 BD 3E 80 +T 14 09 00 00 01 02 80 DD 6E FE DD 66 FF 3E 80 R 00 00 01 00 -T 91 08 00 00 AC 67 ED 42 30 05 21 02 00 18 06 +T 1F 09 00 00 AC 67 ED 42 30 05 21 02 00 18 06 R 00 00 01 00 -T 9C 08 00 00 +T 2A 09 00 00 R 00 00 01 00 -T 9C 08 00 00 DD 6E BC DD 66 BD +T 2A 09 00 00 DD 6E FE DD 66 FF R 00 00 01 00 -T A2 08 00 00 +T 30 09 00 00 R 00 00 01 00 -T A2 08 00 00 DD 75 BC DD 74 BD 21 02 00 39 7E +T 30 09 00 00 DD 75 FE DD 74 FF 21 02 00 39 7E R 00 00 01 00 -T AD 08 00 00 DD 96 BC 77 23 7E DD 9E BD 77 DD +T 3B 09 00 00 DD 96 FE 77 23 7E DD 9E FF 77 DD R 00 00 01 00 -T B8 08 00 00 4E BC DD 46 BD 0B 0B 21 1E 00 39 +T 46 09 00 00 4E FE DD 46 FF 0B 0B 21 1C 00 39 R 00 00 01 00 -T C3 08 00 00 7E 81 77 23 7E 88 77 C3 +T 51 09 00 00 7E 81 77 23 7E 88 77 C3 R 00 00 01 00 -T CB 08 00 00 44 07 00 00 +T 59 09 00 00 D2 07 00 00 R 00 00 01 00 00 04 01 00 -T CD 08 00 00 +T 5B 09 00 00 R 00 00 01 00 -T CD 08 00 00 DD 6E B8 DD 66 B9 +T 5B 09 00 00 DD 6E E0 DD 66 E1 R 00 00 01 00 -T D3 08 00 00 +T 61 09 00 00 R 00 00 01 00 -T D3 08 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +T 61 09 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 05 00 diff --git a/src/nos/lib/internet_lib/tcpout.rel b/src/nos/lib/internet_lib/tcpout.rel index f2ea5c84..fdd42773 100644 --- a/src/nos/lib/internet_lib/tcpout.rel +++ b/src/nos/lib/internet_lib/tcpout.rel @@ -34,7 +34,7 @@ A CODE size A24 flags 0 S _tcp_output Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 CA FF DD 7E 02 DD +T 00 00 00 00 CD 00 00 00 00 A2 FF DD 7E 02 DD R 00 00 01 00 02 05 14 00 T 09 00 00 00 B6 03 20 03 R 00 00 01 00 @@ -56,7 +56,7 @@ T 26 00 00 00 R 00 00 01 00 T 26 00 00 00 R 00 00 01 00 -T 26 00 00 00 21 1F 00 E5 01 00 00 21 04 00 39 +T 26 00 00 00 21 48 00 E5 01 00 00 21 04 00 39 R 00 00 01 00 T 31 00 00 00 5D 54 3E 00 00 00 00 21 R 00 00 01 00 2B 07 05 00 @@ -70,9 +70,9 @@ T 52 00 00 00 1A 00 DD 4E 02 DD 46 03 09 4E 23 R 00 00 01 00 T 5D 00 00 00 46 23 5E 23 56 69 60 A7 C1 ED 42 R 00 00 01 00 -T 68 00 00 00 EB C1 ED 42 4D 44 EB DD 75 F3 DD +T 68 00 00 00 EB C1 ED 42 4D 44 EB DD 75 F4 DD R 00 00 01 00 -T 73 00 00 00 74 F4 DD 71 F5 DD 70 F6 21 35 00 +T 73 00 00 00 74 F5 DD 71 F6 DD 70 F7 21 35 00 R 00 00 01 00 T 7E 00 00 00 DD 4E 02 DD 46 03 09 5E 23 56 23 R 00 00 01 00 @@ -94,27 +94,27 @@ T C4 00 00 00 23 56 23 4E 23 46 EB R 00 00 01 00 T CB 00 00 00 R 00 00 01 00 -T CB 00 00 00 DD 75 EF DD 74 F0 DD 71 F1 DD 70 +T CB 00 00 00 DD 75 F0 DD 74 F1 DD 71 F2 DD 70 R 00 00 01 00 -T D6 00 00 00 F2 C5 E5 DD 4E F5 DD 46 F6 DD 6E +T D6 00 00 00 F3 C5 E5 DD 4E F6 DD 46 F7 DD 6E R 00 00 01 00 -T E1 00 00 00 F3 DD 66 F4 CD 00 00 00 00 30 15 +T E1 00 00 00 F4 DD 66 F5 CD 00 00 00 00 30 15 R 00 00 01 00 02 09 13 00 T EA 00 00 00 R 00 00 01 00 -T EA 00 00 00 21 25 00 39 DD 4E F5 DD 46 F6 DD +T EA 00 00 00 21 4E 00 39 DD 4E F6 DD 46 F7 DD R 00 00 01 00 -T F5 00 00 00 5E F3 DD 56 F4 CD 00 00 00 00 18 +T F5 00 00 00 5E F4 DD 56 F5 CD 00 00 00 00 18 R 00 00 01 00 02 0A 1B 00 T FE 00 00 00 39 R 00 00 01 00 T FF 00 00 00 R 00 00 01 00 -T FF 00 00 00 DD 7E EF DD B6 F0 DD B6 F1 DD B6 +T FF 00 00 00 DD 7E F0 DD B6 F1 DD B6 F2 DD B6 R 00 00 01 00 -T 0A 01 00 00 F2 20 1E DD 7E F3 DD B6 F4 DD B6 +T 0A 01 00 00 F3 20 1E DD 7E F4 DD B6 F5 DD B6 R 00 00 01 00 -T 15 01 00 00 F5 DD B6 F6 20 10 +T 15 01 00 00 F6 DD B6 F7 20 10 R 00 00 01 00 T 1B 01 00 00 R 00 00 01 00 @@ -122,33 +122,33 @@ T 1B 01 00 00 R 00 00 01 00 T 1B 01 00 00 R 00 00 01 00 -T 1B 01 00 00 AF DD 36 EF 01 DD 77 F0 DD 77 F1 +T 1B 01 00 00 AF DD 36 F0 01 DD 77 F1 DD 77 F2 R 00 00 01 00 -T 26 01 00 00 DD 77 F2 18 0D +T 26 01 00 00 DD 77 F3 18 0D R 00 00 01 00 T 2B 01 00 00 R 00 00 01 00 -T 2B 01 00 00 AF DD 77 EF DD 77 F0 DD 77 F1 DD +T 2B 01 00 00 AF DD 77 F0 DD 77 F1 DD 77 F2 DD R 00 00 01 00 -T 36 01 00 00 77 F2 +T 36 01 00 00 77 F3 R 00 00 01 00 T 38 01 00 00 R 00 00 01 00 T 38 01 00 00 R 00 00 01 00 -T 38 01 00 00 DD 6E F1 DD 66 F2 E5 DD 6E EF DD +T 38 01 00 00 DD 6E F2 DD 66 F3 E5 DD 6E F0 DD R 00 00 01 00 -T 43 01 00 00 66 F0 E5 21 7C 00 DD 4E 02 DD 46 +T 43 01 00 00 66 F1 E5 21 7C 00 DD 4E 02 DD 46 R 00 00 01 00 T 4E 01 00 00 03 09 4E 23 46 23 5E 23 56 69 60 R 00 00 01 00 -T 59 01 00 00 A7 DD 4E F3 DD 46 F4 ED 42 EB DD +T 59 01 00 00 A7 DD 4E F4 DD 46 F5 ED 42 EB DD R 00 00 01 00 -T 64 01 00 00 4E F5 DD 46 F6 ED 42 4D 44 EB CD +T 64 01 00 00 4E F6 DD 46 F7 ED 42 4D 44 EB CD R 00 00 01 00 -T 6F 01 00 00 00 00 00 00 30 20 DD 4E F3 DD 46 +T 6F 01 00 00 00 00 00 00 30 20 DD 4E F4 DD 46 R 00 00 01 00 02 04 13 00 -T 78 01 00 00 F4 C5 21 7C 00 DD 5E 02 DD 56 03 +T 78 01 00 00 F5 C5 21 7C 00 DD 5E 02 DD 56 03 R 00 00 01 00 T 83 01 00 00 19 4E 23 46 23 5E 23 56 69 60 C1 R 00 00 01 00 @@ -156,19 +156,19 @@ T 8E 01 00 00 A7 ED 42 18 06 R 00 00 01 00 T 93 01 00 00 R 00 00 01 00 -T 93 01 00 00 DD 6E EF DD 66 F0 +T 93 01 00 00 DD 6E F0 DD 66 F1 R 00 00 01 00 T 99 01 00 00 R 00 00 01 00 -T 99 01 00 00 DD 75 EB DD 74 EC 21 5A 00 DD 4E +T 99 01 00 00 DD 75 EC DD 74 ED 21 5A 00 DD 4E R 00 00 01 00 T A4 01 00 00 02 DD 46 03 09 5E 23 56 23 4E 23 R 00 00 01 00 -T AF 01 00 00 46 C5 D5 DD 6E EB DD 66 EC 01 +T AF 01 00 00 46 C5 D5 DD 6E EC DD 66 ED 01 R 00 00 01 00 T B9 01 00 00 00 00 CD 00 00 00 00 30 08 DD 6E R 00 00 01 00 02 07 13 00 -T C2 01 00 00 EB DD 66 EC 18 13 +T C2 01 00 00 EC DD 66 ED 18 13 R 00 00 01 00 T C8 01 00 00 R 00 00 01 00 @@ -178,31 +178,31 @@ T D3 01 00 00 23 46 23 5E 23 56 69 60 R 00 00 01 00 T DB 01 00 00 R 00 00 01 00 -T DB 01 00 00 DD 75 EB DD 74 EC 21 6F 00 DD 4E +T DB 01 00 00 DD 75 EC DD 74 ED 21 6F 00 DD 4E R 00 00 01 00 T E6 01 00 00 02 DD 46 03 09 7E E6 01 47 23 7E R 00 00 01 00 -T F1 01 00 00 E6 00 B0 C2 79 02 00 00 DD 7E F3 +T F1 01 00 00 E6 00 B0 C2 79 02 00 00 DD 7E F4 R 00 00 01 00 00 08 01 00 -T FA 01 00 00 DD B6 F4 DD B6 F5 DD B6 F6 28 74 +T FA 01 00 00 DD B6 F5 DD B6 F6 DD B6 F7 28 74 R 00 00 01 00 T 05 02 00 00 21 5A 00 DD 4E 02 DD 46 03 09 4E R 00 00 01 00 -T 10 02 00 00 23 46 23 5E 23 56 D5 C5 DD 6E EB +T 10 02 00 00 23 46 23 5E 23 56 D5 C5 DD 6E EC R 00 00 01 00 -T 1B 02 00 00 DD 66 EC 01 00 00 CD 00 00 00 00 +T 1B 02 00 00 DD 66 ED 01 00 00 CD 00 00 00 00 R 00 00 01 00 02 0B 13 00 T 24 02 00 00 30 53 21 0E 00 DD 4E 02 DD 46 03 R 00 00 01 00 -T 2F 02 00 00 09 7E FE 06 20 3D DD 6E EB DD 66 +T 2F 02 00 00 09 7E FE 06 20 3D DD 6E EC DD 66 R 00 00 01 00 -T 3A 02 00 00 EC 01 00 00 C5 E5 21 7C 00 DD 4E +T 3A 02 00 00 ED 01 00 00 C5 E5 21 7C 00 DD 4E R 00 00 01 00 T 45 02 00 00 02 DD 46 03 09 4E 23 46 23 5E 23 R 00 00 01 00 -T 50 02 00 00 56 69 60 A7 DD 4E F3 DD 46 F4 ED +T 50 02 00 00 56 69 60 A7 DD 4E F4 DD 46 F5 ED R 00 00 01 00 -T 5B 02 00 00 42 EB DD 4E F5 DD 46 F6 ED 42 EB +T 5B 02 00 00 42 EB DD 4E F6 DD 46 F7 ED 42 EB R 00 00 01 00 T 66 02 00 00 C1 A7 ED 42 C1 20 05 EB ED 42 28 R 00 00 01 00 @@ -214,7 +214,7 @@ T 72 02 00 00 R 00 00 01 00 T 72 02 00 00 R 00 00 01 00 -T 72 02 00 00 AF DD 77 EB DD 77 EC +T 72 02 00 00 AF DD 77 EC DD 77 ED R 00 00 01 00 T 79 02 00 00 R 00 00 01 00 @@ -242,21 +242,21 @@ T C1 02 00 00 26 EB ED 42 20 21 R 00 00 01 00 T C7 02 00 00 R 00 00 01 00 -T C7 02 00 00 DD 4E EB DD 46 EC 21 01 00 A7 ED +T C7 02 00 00 DD 4E EC DD 46 ED 21 01 00 A7 ED R 00 00 01 00 T D2 02 00 00 42 30 05 21 01 00 18 06 R 00 00 01 00 T DA 02 00 00 R 00 00 01 00 -T DA 02 00 00 DD 6E EB DD 66 EC +T DA 02 00 00 DD 6E EC DD 66 ED R 00 00 01 00 T E0 02 00 00 R 00 00 01 00 -T E0 02 00 00 DD 75 EB DD 74 EC 18 07 +T E0 02 00 00 DD 75 EC DD 74 ED 18 07 R 00 00 01 00 T E8 02 00 00 R 00 00 01 00 -T E8 02 00 00 AF DD 77 EB DD 77 EC +T E8 02 00 00 AF DD 77 EC DD 77 ED R 00 00 01 00 T EF 02 00 00 R 00 00 01 00 @@ -284,11 +284,11 @@ T 36 03 00 00 R 00 00 01 00 T 36 03 00 00 R 00 00 01 00 -T 36 03 00 00 AF DD 77 EB DD 77 EC +T 36 03 00 00 AF DD 77 EC DD 77 ED R 00 00 01 00 T 3D 03 00 00 R 00 00 01 00 -T 3D 03 00 00 DD 7E EB DD B6 EC 20 18 21 6F 00 +T 3D 03 00 00 DD 7E EC DD B6 ED 20 18 21 6F 00 R 00 00 01 00 T 48 03 00 00 DD 4E 02 DD 46 03 09 7E E6 01 47 R 00 00 01 00 @@ -308,21 +308,21 @@ T 5D 03 00 00 21 6F 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 T 68 03 00 00 E6 FE 77 23 7E E6 FF 77 21 06 00 R 00 00 01 00 -T 73 03 00 00 09 56 23 66 6A DD 75 CC DD 74 CD +T 73 03 00 00 09 56 23 66 6A DD 75 A4 DD 74 A5 R 00 00 01 00 -T 7E 03 00 00 21 0C 00 09 56 23 66 6A DD 75 CE +T 7E 03 00 00 21 0C 00 09 56 23 66 6A DD 75 A6 R 00 00 01 00 -T 89 03 00 00 DD 74 CF 21 1F 00 39 7E F6 04 77 +T 89 03 00 00 DD 74 A7 21 1F 00 39 7E F6 04 77 R 00 00 01 00 T 94 03 00 00 23 7E F6 00 77 21 6F 00 09 7E 07 R 00 00 01 00 T 9F 03 00 00 07 E6 01 16 00 5F CB 43 28 06 DD R 00 00 01 00 -T AA 03 00 00 CB E9 C6 18 04 +T AA 03 00 00 CB C1 C6 18 04 R 00 00 01 00 T AF 03 00 00 R 00 00 01 00 -T AF 03 00 00 DD CB E9 86 +T AF 03 00 00 DD CB C1 86 R 00 00 01 00 T B3 03 00 00 R 00 00 01 00 @@ -338,9 +338,9 @@ T CD 03 00 00 FF 77 R 00 00 01 00 T CF 03 00 00 R 00 00 01 00 -T CF 03 00 00 DD 6E EB DD 66 EC DD 75 ED DD 74 +T CF 03 00 00 DD 6E EC DD 66 ED DD 75 EE DD 74 R 00 00 01 00 -T DA 03 00 00 EE 21 6F 00 DD 4E 02 DD 46 03 09 +T DA 03 00 00 EF 21 6F 00 DD 4E 02 DD 46 03 09 R 00 00 01 00 T E5 03 00 00 7E E6 10 47 23 7E E6 00 B0 C2 R 00 00 01 00 @@ -362,13 +362,13 @@ T 23 04 00 00 R 00 00 01 00 T 23 04 00 00 21 1F 00 39 7E F6 20 77 23 7E F6 R 00 00 01 00 -T 2E 04 00 00 00 77 DD 6E ED DD 66 EE 2B DD 75 +T 2E 04 00 00 00 77 DD 6E EE DD 66 EF 2B DD 75 R 00 00 01 00 -T 39 04 00 00 ED DD 74 EE 2A 00 00 00 00 DD 75 +T 39 04 00 00 EE DD 74 EF 2A 00 00 00 00 DD 75 R 00 00 01 00 02 09 0C 00 -T 42 04 00 00 DE DD 74 DF 21 1F 00 39 7E F6 80 +T 42 04 00 00 B6 DD 74 B7 21 1F 00 39 7E F6 80 R 00 00 01 00 -T 4D 04 00 00 77 23 7E F6 00 77 DD 36 E0 00 21 +T 4D 04 00 00 77 23 7E F6 00 77 DD 36 B8 00 21 R 00 00 01 00 T 58 04 00 00 1F 00 39 7E F6 00 77 23 7E F6 01 R 00 00 01 00 @@ -382,43 +382,43 @@ T 76 04 00 00 02 77 3E 00 00 00 00 21 R 00 00 01 00 2B 07 15 00 T 7B 04 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 15 00 02 09 02 00 -T 82 04 00 00 E1 DD 74 E2 DD 71 E3 DD 70 E4 +T 82 04 00 00 B9 DD 74 BA DD 71 BB DD 70 BC R 00 00 01 00 T 8C 04 00 00 R 00 00 01 00 T 8C 04 00 00 R 00 00 01 00 -T 8C 04 00 00 DD 7E EB DD B6 EC 20 20 +T 8C 04 00 00 DD 7E EC DD B6 ED 20 20 R 00 00 01 00 T 94 04 00 00 R 00 00 01 00 T 94 04 00 00 21 16 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 -T 9F 04 00 00 23 56 23 4E 23 46 EB DD 75 D0 DD +T 9F 04 00 00 23 56 23 4E 23 46 EB DD 75 A8 DD R 00 00 01 00 -T AA 04 00 00 74 D1 DD 71 D2 DD 70 D3 18 1E +T AA 04 00 00 74 A9 DD 71 AA DD 70 AB 18 1E R 00 00 01 00 T B4 04 00 00 R 00 00 01 00 T B4 04 00 00 21 1A 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 -T BF 04 00 00 23 56 23 4E 23 46 EB DD 75 D0 DD +T BF 04 00 00 23 56 23 4E 23 46 EB DD 75 A8 DD R 00 00 01 00 -T CA 04 00 00 74 D1 DD 71 D2 DD 70 D3 +T CA 04 00 00 74 A9 DD 71 AA DD 70 AB R 00 00 01 00 T D2 04 00 00 R 00 00 01 00 T D2 04 00 00 21 3F 00 DD 4E 02 DD 46 03 09 4E R 00 00 01 00 -T DD 04 00 00 23 46 23 5E 23 56 69 60 DD 75 D4 +T DD 04 00 00 23 46 23 5E 23 56 69 60 DD 75 AC R 00 00 01 00 -T E8 04 00 00 DD 74 D5 DD 73 D6 DD 72 D7 E5 21 +T E8 04 00 00 DD 74 AD DD 73 AE DD 72 AF E5 21 R 00 00 01 00 T F3 04 00 00 4A 00 DD 4E 02 DD 46 03 09 C1 D5 R 00 00 01 00 T FE 04 00 00 59 50 C1 73 23 72 23 71 23 70 DD R 00 00 01 00 -T 09 05 00 00 7E E9 E6 20 47 DD 7E EA E6 00 B0 +T 09 05 00 00 7E C1 E6 20 47 DD 7E C2 E6 00 B0 R 00 00 01 00 T 14 05 00 00 20 15 21 6F 00 DD 4E 02 DD 46 03 R 00 00 01 00 @@ -434,9 +434,9 @@ T 2B 05 00 00 R 00 00 01 00 T 2B 05 00 00 21 43 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 -T 36 05 00 00 23 56 23 4E 23 46 EB DD 75 D8 DD +T 36 05 00 00 23 56 23 4E 23 46 EB DD 75 B0 DD R 00 00 01 00 -T 41 05 00 00 74 D9 18 20 +T 41 05 00 00 74 B1 18 20 R 00 00 01 00 T 45 05 00 00 R 00 00 01 00 @@ -444,17 +444,17 @@ T 45 05 00 00 21 49 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 T 50 05 00 00 21 43 00 09 5E 23 56 23 4E 23 46 R 00 00 01 00 -T 5B 05 00 00 EB CD 00 00 00 00 DD 75 D8 DD 74 +T 5B 05 00 00 EB CD 00 00 00 00 DD 75 B0 DD 74 R 00 00 01 00 02 06 18 00 -T 64 05 00 00 D9 +T 64 05 00 00 B1 R 00 00 01 00 T 65 05 00 00 R 00 00 01 00 -T 65 05 00 00 21 46 00 DD 4E ED DD 46 EE 09 EB +T 65 05 00 00 21 46 00 DD 4E EE DD 46 EF 09 EB R 00 00 01 00 T 70 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 01 00 02 0A 01 00 -T 76 05 00 00 00 00 00 00 DD 75 CA DD 74 CB 11 +T 76 05 00 00 00 00 00 00 DD 75 A2 DD 74 A3 11 R 00 00 01 00 02 04 02 00 T 7F 05 00 00 0A 00 19 7E C6 46 77 23 7E CE 00 R 00 00 01 00 @@ -462,17 +462,17 @@ T 8A 05 00 00 77 79 B0 CA 56 06 00 00 R 00 00 01 00 00 08 01 00 T 90 05 00 00 R 00 00 01 00 -T 90 05 00 00 DD 4E F5 DD 46 F6 DD 6E F3 DD 66 +T 90 05 00 00 DD 4E F6 DD 46 F7 DD 6E F4 DD 66 R 00 00 01 00 -T 9B 05 00 00 F4 DD 75 FB DD 74 FC DD 71 FD DD +T 9B 05 00 00 F5 DD 75 FC DD 74 FD DD 71 FE DD R 00 00 01 00 -T A6 05 00 00 70 FE 21 6F 00 DD 4E 02 DD 46 03 +T A6 05 00 00 70 FF 21 6F 00 DD 4E 02 DD 46 03 R 00 00 01 00 T B1 05 00 00 09 7E E6 10 47 23 7E E6 00 B0 20 R 00 00 01 00 -T BC 05 00 00 29 DD 7E F3 DD B6 F4 DD B6 F5 DD +T BC 05 00 00 29 DD 7E F4 DD B6 F5 DD B6 F6 DD R 00 00 01 00 -T C7 05 00 00 B6 F6 28 1B +T C7 05 00 00 B6 F7 28 1B R 00 00 01 00 T CB 05 00 00 R 00 00 01 00 @@ -480,19 +480,19 @@ T CB 05 00 00 R 00 00 01 00 T CB 05 00 00 R 00 00 01 00 -T CB 05 00 00 DD 6E FB DD 66 FC DD 4E FD DD 46 +T CB 05 00 00 DD 6E FC DD 66 FD DD 4E FE DD 46 R 00 00 01 00 -T D6 05 00 00 FE CD 00 00 00 00 DD 75 FB DD 74 +T D6 05 00 00 FF CD 00 00 00 00 DD 75 FC DD 74 R 00 00 01 00 02 06 04 00 -T DF 05 00 00 FC DD 71 FD DD 70 FE +T DF 05 00 00 FD DD 71 FE DD 70 FF R 00 00 01 00 T E6 05 00 00 R 00 00 01 00 -T E6 05 00 00 21 0C 00 DD 4E CA DD 46 CB 09 E5 +T E6 05 00 00 21 0C 00 DD 4E A2 DD 46 A3 09 E5 R 00 00 01 00 -T F1 05 00 00 DD 5E ED DD 56 EE D5 21 0A 00 09 +T F1 05 00 00 DD 5E EE DD 56 EF D5 21 0A 00 09 R 00 00 01 00 -T FC 05 00 00 5E 23 56 D5 DD 4E FB DD 46 FC 21 +T FC 05 00 00 5E 23 56 D5 DD 4E FC DD 46 FD 21 R 00 00 01 00 T 07 06 00 00 76 00 DD 5E 02 DD 56 03 19 5E 23 R 00 00 01 00 @@ -500,9 +500,9 @@ T 12 06 00 00 56 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 1A 00 02 0B 1A 00 T 18 06 00 00 CD 00 00 00 00 F1 F1 4D 44 E1 71 R 00 00 01 00 02 05 02 00 -T 21 06 00 00 23 70 21 0C 00 DD 4E CA DD 46 CB +T 21 06 00 00 23 70 21 0C 00 DD 4E A2 DD 46 A3 R 00 00 01 00 -T 2C 06 00 00 09 46 23 66 68 DD 4E ED DD 46 EE +T 2C 06 00 00 09 46 23 66 68 DD 4E EE DD 46 EF R 00 00 01 00 T 37 06 00 00 A7 ED 42 28 1A R 00 00 01 00 @@ -510,23 +510,23 @@ T 3C 06 00 00 R 00 00 01 00 T 3C 06 00 00 21 1F 00 39 7E F6 40 77 23 7E F6 R 00 00 01 00 -T 47 06 00 00 00 77 DD 6E ED DD 66 EE 2B DD 75 +T 47 06 00 00 00 77 DD 6E EE DD 66 EF 2B DD 75 R 00 00 01 00 -T 52 06 00 00 ED DD 74 EE +T 52 06 00 00 EE DD 74 EF R 00 00 01 00 T 56 06 00 00 R 00 00 01 00 T 56 06 00 00 R 00 00 01 00 -T 56 06 00 00 DD 7E ED DD B6 EE 28 4A 21 7C 00 +T 56 06 00 00 DD 7E EE DD B6 EF 28 4A 21 7C 00 R 00 00 01 00 T 61 06 00 00 DD 4E 02 DD 46 03 09 4E 23 46 23 R 00 00 01 00 -T 6C 06 00 00 5E 23 56 D5 C5 DD 6E EB DD 66 EC +T 6C 06 00 00 5E 23 56 D5 C5 DD 6E EC DD 66 ED R 00 00 01 00 -T 77 06 00 00 01 00 00 C5 E5 DD 6E F3 DD 66 F4 +T 77 06 00 00 01 00 00 C5 E5 DD 6E F4 DD 66 F5 R 00 00 01 00 -T 82 06 00 00 C1 09 EB DD 6E F5 DD 66 F6 C1 ED +T 82 06 00 00 C1 09 EB DD 6E F6 DD 66 F7 C1 ED R 00 00 01 00 T 8D 06 00 00 4A EB C1 A7 ED 42 C1 20 12 EB ED R 00 00 01 00 @@ -556,7 +556,7 @@ T D2 06 00 00 R 00 00 01 00 T D2 06 00 00 21 31 00 DD 4E 02 DD 46 03 09 E5 R 00 00 01 00 -T DD 06 00 00 DD 4E EB DD 46 EC C5 21 1A 00 DD +T DD 06 00 00 DD 4E EC DD 46 ED C5 21 1A 00 DD R 00 00 01 00 T E8 06 00 00 5E 02 DD 56 03 19 5E 23 56 23 4E R 00 00 01 00 @@ -574,7 +574,7 @@ T 1E 07 00 00 R 00 00 01 00 T 1E 07 00 00 21 1A 00 DD 4E 02 DD 46 03 09 DD R 00 00 01 00 -T 29 07 00 00 5E EB DD 56 EC 01 00 00 CD +T 29 07 00 00 5E EC DD 56 ED 01 00 00 CD R 00 00 01 00 T 32 07 00 00 00 00 00 00 21 16 00 DD 4E 02 DD R 00 00 01 00 02 04 0D 00 @@ -604,7 +604,7 @@ T 90 07 00 00 21 6F 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 T 9B 07 00 00 E6 80 47 23 7E E6 00 B0 28 4D DD R 00 00 01 00 -T A6 07 00 00 7E E9 E6 04 47 DD 7E EA E6 00 B0 +T A6 07 00 00 7E C1 E6 04 47 DD 7E C2 E6 00 B0 R 00 00 01 00 T B1 07 00 00 28 3F R 00 00 01 00 @@ -620,13 +620,13 @@ T BE 07 00 00 02 77 3E 00 00 00 00 21 R 00 00 01 00 2B 07 15 00 T C3 07 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 15 00 02 09 02 00 -T CA 07 00 00 E1 DD 74 E2 DD 71 E3 DD 70 E4 21 +T CA 07 00 00 B9 DD 74 BA DD 71 BB DD 70 BC 21 R 00 00 01 00 T D5 07 00 00 4E 00 DD 4E 02 DD 46 03 09 5E 23 R 00 00 01 00 -T E0 07 00 00 56 23 4E 23 46 EB DD 75 E5 DD 74 +T E0 07 00 00 56 23 4E 23 46 EB DD 75 BD DD 74 R 00 00 01 00 -T EB 07 00 00 E6 DD 71 E7 DD 70 E8 +T EB 07 00 00 BE DD 71 BF DD 70 C0 R 00 00 01 00 T F2 07 00 00 R 00 00 01 00 @@ -642,7 +642,7 @@ T 1D 08 00 00 0A 00 39 5D 54 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 00 00 T 25 08 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 R 00 00 01 00 02 04 00 00 02 09 02 00 -T 2C 08 00 00 E1 E1 DD 7E EB DD B6 EC CA +T 2C 08 00 00 E1 E1 DD 7E EC DD B6 ED CA R 00 00 01 00 T 35 08 00 00 8D 09 00 00 R 00 00 01 00 00 04 01 00 @@ -664,9 +664,9 @@ T 76 08 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 07 00 T 7B 08 00 00 00 00 00 00 CD 00 00 00 00 CD R 00 00 01 00 02 04 07 00 02 09 02 00 -T 81 08 00 00 00 00 00 00 DD 75 F7 DD 74 F8 DD +T 81 08 00 00 00 00 00 00 DD 75 F8 DD 74 F9 DD R 00 00 01 00 02 04 12 00 -T 8A 08 00 00 71 F9 DD 70 FA 11 00 00 D5 11 +T 8A 08 00 00 71 FA DD 70 FB 11 00 00 D5 11 R 00 00 01 00 T 94 08 00 00 F4 01 D5 CD 00 00 00 00 30 08 01 R 00 00 01 00 02 08 13 00 @@ -674,9 +674,9 @@ T 9D 08 00 00 00 00 21 F4 01 18 0C R 00 00 01 00 T A4 08 00 00 R 00 00 01 00 -T A4 08 00 00 DD 4E F9 DD 46 FA DD 6E F7 DD 66 +T A4 08 00 00 DD 4E FA DD 46 FB DD 6E F8 DD 66 R 00 00 01 00 -T AF 08 00 00 F8 +T AF 08 00 00 F9 R 00 00 01 00 T B0 08 00 00 R 00 00 01 00 @@ -766,9 +766,9 @@ T C3 09 00 00 43 46 00 00 00 R 00 00 01 00 02 05 1C 00 T C6 09 00 00 R 00 00 01 00 -T C6 09 00 00 0E 00 C5 21 00 00 E5 DD 5E CA DD +T C6 09 00 00 0E 00 C5 21 00 00 E5 DD 5E A2 DD R 00 00 01 00 -T D1 09 00 00 56 CB 3E 00 00 00 00 21 +T D1 09 00 00 56 A3 3E 00 00 00 00 21 R 00 00 01 00 2B 07 08 00 T D6 09 00 00 00 00 00 00 CD 00 00 00 00 E5 21 R 00 00 01 00 02 04 08 00 02 09 02 00 diff --git a/src/nos/lib/internet_lib/tcprepstat.rel b/src/nos/lib/internet_lib/tcprepstat.rel index 996dc615..34c365bd 100644 --- a/src/nos/lib/internet_lib/tcprepstat.rel +++ b/src/nos/lib/internet_lib/tcprepstat.rel @@ -1,15 +1,15 @@ XL4 H 2 areas 10 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___03b5_2057_Too_20many_20sessio Ref00000000 S _st_tcp Ref00000000 S _ppause Ref00000000 S _newsession Ref00000000 -S ___012e_086d__25c_5b2J Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___0444_2057_Too_20many_20sessio Ref00000000 S .__.ABS. Def00000000 S _freesession Ref00000000 S _keychar Ref00000000 +S ___0149_086d__25c_5b2J Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 @@ -25,15 +25,15 @@ R 00 00 01 00 02 05 0A 00 T 09 00 00 00 70 FD 21 01 00 E5 01 0F 00 ED 5B R 00 00 01 00 T 14 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0D 00 2B 09 04 00 +R 00 00 01 00 02 04 0D 00 2B 09 03 00 T 19 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 04 00 02 09 00 00 +R 00 00 01 00 02 04 03 00 02 09 00 00 T 20 00 00 00 75 FE DD 74 FF 7D B4 20 14 R 00 00 01 00 T 29 00 00 00 R 00 00 01 00 T 29 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 T 2F 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 T 35 00 00 00 CD 00 00 00 00 F1 F1 C3 @@ -45,31 +45,31 @@ R 00 00 01 00 T 3D 00 00 00 21 20 00 DD 4E FE DD 46 FF 09 36 R 00 00 01 00 T 48 00 00 00 00 00 00 00 23 36 00 00 00 00 23 -R 00 00 01 00 0B 04 09 00 8B 0A 09 00 +R 00 00 01 00 0B 04 08 00 8B 0A 08 00 T 4D 00 00 00 36 00 00 00 00 -R 00 00 01 00 2B 05 09 00 +R 00 00 01 00 2B 05 08 00 T 4F 00 00 00 R 00 00 01 00 T 4F 00 00 00 21 20 00 DD 4E FE DD 46 FF 09 4E R 00 00 01 00 T 5A 00 00 00 23 46 23 7E 69 60 0E 00 00 00 00 -R 00 00 01 00 2B 0B 09 00 +R 00 00 01 00 2B 0B 08 00 T 62 00 00 00 11 00 00 00 00 B9 20 52 ED 52 20 -R 00 00 01 00 02 05 09 00 +R 00 00 01 00 02 05 08 00 T 6B 00 00 00 4E R 00 00 01 00 T 6C 00 00 00 R 00 00 01 00 T 6C 00 00 00 21 1B 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 05 00 +R 00 00 01 00 2B 09 09 00 T 74 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 05 00 2B 0A 0B 00 +R 00 00 01 00 02 04 09 00 2B 0A 0B 00 T 7A 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 0B 00 02 09 00 00 T 81 00 00 00 F1 DD 5E FC DD 56 FD 3E R 00 00 01 00 T 89 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 +R 00 00 01 00 2B 04 01 00 02 09 01 00 T 8E 00 00 00 00 00 00 00 21 0E 00 DD 4E FC DD R 00 00 01 00 02 04 00 00 T 97 00 00 00 46 FD 09 46 05 28 18 DD 5E 02 DD @@ -77,7 +77,7 @@ R 00 00 01 00 T A2 00 00 00 56 03 7A 07 9F 4F 41 3E R 00 00 01 00 T AA 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 +R 00 00 01 00 2B 04 02 00 02 09 02 00 T AF 00 00 00 00 00 00 00 7D A4 3C 20 02 R 00 00 01 00 02 04 00 00 T B6 00 00 00 @@ -99,10 +99,10 @@ R 00 00 01 00 2B 0B 0E 00 T C2 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 0E 00 02 0A 00 00 T C9 00 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 +R 00 00 01 00 2B 0A 07 00 T D1 00 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 08 00 02 09 00 00 +R 00 00 01 00 02 04 07 00 02 09 00 00 T D6 00 00 00 R 00 00 01 00 T D6 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/internet_lib/tcpsock.rel b/src/nos/lib/internet_lib/tcpsock.rel index 5de532a8..a83d7715 100644 --- a/src/nos/lib/internet_lib/tcpsock.rel +++ b/src/nos/lib/internet_lib/tcpsock.rel @@ -1,5 +1,5 @@ XL4 -H 5 areas 30 global symbols +H 5 areas 32 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?S_S_SWITCH_L06 Ref00000000 S _kick_tcp Ref00000000 @@ -11,7 +11,6 @@ S _send_tcp Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _recv_tcp Ref00000000 S _open_tcp Ref00000000 -S _strdupw Ref00000000 S _locaddr Ref00000000 S ?LEAVE_DIRECT_L09 Ref00000000 S _del_tcp Ref00000000 @@ -19,8 +18,10 @@ S _bind Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S _kwait Ref00000000 +S _strdup Ref00000000 S _free Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 +S _close_s Ref00000000 S _ksignal Ref00000000 S ?SL_CMP_L03 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 @@ -29,12 +30,13 @@ S _mallocw Ref00000000 S _free_p Ref00000000 S _checkipaddr Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S _malloc Ref00000000 S _Tcpstates Ref00000000 S _itop Ref00000000 S _close_tcp Ref00000000 S _newproc Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size DD7 flags 0 +A CODE size E2A flags 0 S _so_tcp Def00000000 S _so_tcp_kick Def00000575 S _so_tcp_send Def0000040D @@ -45,7 +47,7 @@ S _so_tcp_qlen Def00000519 S _so_tcp_stat Def00000A01 S _tcpstate Def000009CF S _so_tcp_shut Def0000058D -S _stop_tcp Def00000D06 +S _stop_tcp Def00000D59 S _so_tcp_listen Def0000000F S _so_tcp_close Def000005F9 A UDATA0 size 2 flags 0 @@ -62,7 +64,7 @@ R 00 00 01 00 02 08 08 00 T 0F 00 00 00 R 00 00 01 00 T 0F 00 00 00 CD 00 00 00 00 F8 FF 21 0E 00 DD -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 18 00 T 18 00 00 00 5E 02 DD 56 03 19 7E 23 B6 20 09 R 00 00 01 00 T 23 00 00 00 @@ -118,7 +120,7 @@ R 00 00 01 00 02 04 08 00 T D8 00 00 00 R 00 00 01 00 T D8 00 00 00 CD 00 00 00 00 EC FF 21 0E 00 DD -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 18 00 T E1 00 00 00 4E 02 DD 46 03 09 7E 23 B6 20 09 R 00 00 01 00 T EC 00 00 00 @@ -132,15 +134,15 @@ R 00 00 01 00 T 00 01 00 00 23 46 21 12 00 DD 5E 02 DD 56 03 R 00 00 01 00 T 0B 01 00 00 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 1B 00 +R 00 00 01 00 2B 09 1C 00 T 12 01 00 00 00 00 00 00 CD 00 00 00 00 7D A4 -R 00 00 01 00 02 04 1B 00 02 09 00 00 +R 00 00 01 00 02 04 1C 00 02 09 00 00 T 19 01 00 00 3C 20 13 R 00 00 01 00 T 1C 01 00 00 R 00 00 01 00 -T 1C 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 10 00 +T 1C 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 +R 00 00 01 00 02 09 0F 00 T 25 01 00 00 67 23 36 00 21 FF FF C3 R 00 00 01 00 T 2D 01 00 00 03 03 00 00 @@ -166,9 +168,9 @@ R 00 00 01 00 T 74 01 00 00 21 04 00 DD 4E FE DD 46 FF 09 5E R 00 00 01 00 T 7F 01 00 00 23 56 23 4E 23 46 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0C 00 +R 00 00 01 00 2B 0B 0B 00 T 87 01 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 0C 00 02 0A 00 00 +R 00 00 01 00 02 05 0B 00 02 0A 00 00 T 8E 01 00 00 21 04 00 DD 5E FC DD 56 FD 19 D1 R 00 00 01 00 T 99 01 00 00 73 23 72 23 71 23 70 @@ -235,18 +237,18 @@ T 8C 02 00 00 B7 28 12 R 00 00 01 00 T 8F 02 00 00 R 00 00 01 00 -T 8F 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 10 00 +T 8F 02 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 +R 00 00 01 00 02 09 0F 00 T 98 02 00 00 64 23 36 00 21 FF FF 18 62 R 00 00 01 00 T A1 02 00 00 R 00 00 01 00 -T A1 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 -R 00 00 01 00 02 09 10 00 +T A1 02 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 +R 00 00 01 00 02 09 0F 00 T AA 02 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 12 00 +R 00 00 01 00 2B 0B 11 00 T B2 02 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 12 00 02 0A 00 00 +R 00 00 01 00 02 05 11 00 02 0A 00 00 T B9 02 00 00 44 E1 71 23 70 79 B0 28 05 R 00 00 01 00 T C2 02 00 00 @@ -269,10 +271,10 @@ T DC 02 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 13 00 T E1 02 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 13 00 02 09 00 00 -T E7 02 00 00 12 00 09 AF 77 23 77 21 4D 00 ED +T E7 02 00 00 12 00 09 AF 77 23 77 21 4F 00 ED R 00 00 01 00 T F2 02 00 00 4B 00 00 00 00 09 36 6D 23 36 00 -R 00 00 01 00 02 05 10 00 +R 00 00 01 00 02 05 0F 00 T FB 02 00 00 21 FF FF 18 03 R 00 00 01 00 T 00 03 00 00 @@ -286,7 +288,7 @@ R 00 00 01 00 02 05 08 00 T 06 03 00 00 R 00 00 01 00 T 06 03 00 00 CD 00 00 00 00 FA FF -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 18 00 T 0B 03 00 00 R 00 00 01 00 T 0B 03 00 00 @@ -329,18 +331,18 @@ T 7D 03 00 00 B7 28 12 R 00 00 01 00 T 80 03 00 00 R 00 00 01 00 -T 80 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 10 00 +T 80 03 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 +R 00 00 01 00 02 09 0F 00 T 89 03 00 00 64 23 36 00 21 FF FF 18 78 R 00 00 01 00 T 92 03 00 00 R 00 00 01 00 -T 92 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 -R 00 00 01 00 02 09 10 00 +T 92 03 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 +R 00 00 01 00 02 09 0F 00 T 9B 03 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 12 00 +R 00 00 01 00 2B 0B 11 00 T A3 03 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 12 00 02 0A 00 00 +R 00 00 01 00 02 05 11 00 02 0A 00 00 T AA 03 00 00 44 E1 71 23 70 79 B0 28 05 R 00 00 01 00 T B3 03 00 00 @@ -357,8 +359,8 @@ T BB 03 00 00 DD 7E FE DD B6 FF 20 12 R 00 00 01 00 T C3 03 00 00 R 00 00 01 00 -T C3 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 10 00 +T C3 03 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 +R 00 00 01 00 02 09 0F 00 T CC 03 00 00 65 23 36 00 21 FF FF 18 35 R 00 00 01 00 T D5 03 00 00 @@ -373,8 +375,8 @@ T F1 03 00 00 12 R 00 00 01 00 T F2 03 00 00 R 00 00 01 00 -T F2 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 10 00 +T F2 03 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 +R 00 00 01 00 02 09 0F 00 T FB 03 00 00 65 23 36 00 21 FF FF 18 06 R 00 00 01 00 T 04 04 00 00 @@ -388,7 +390,7 @@ R 00 00 01 00 02 05 08 00 T 0D 04 00 00 R 00 00 01 00 T 0D 04 00 00 CD 00 00 00 00 FA FF 21 0C 00 DD -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 18 00 T 16 04 00 00 5E 02 DD 56 03 19 56 23 66 6A DD R 00 00 01 00 T 21 04 00 00 75 FA DD 74 FB 7D B4 20 21 @@ -396,11 +398,11 @@ R 00 00 01 00 T 2A 04 00 00 R 00 00 01 00 T 2A 04 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1A 00 +R 00 00 01 00 2B 0B 1B 00 T 32 04 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 1A 00 02 0A 00 00 -T 39 04 00 00 4D 00 ED 4B 00 00 00 00 09 36 65 -R 00 00 01 00 02 08 10 00 +R 00 00 01 00 02 05 1B 00 02 0A 00 00 +T 39 04 00 00 4F 00 ED 4B 00 00 00 00 09 36 65 +R 00 00 01 00 02 08 0F 00 T 42 04 00 00 23 36 00 21 FF FF C3 16 05 00 00 R 00 00 01 00 00 0B 01 00 T 4B 04 00 00 @@ -426,7 +428,7 @@ R 00 00 01 00 T 97 04 00 00 5E 00 DD 4E FA DD 46 FB 09 5E 23 R 00 00 01 00 T A2 04 00 00 56 23 4E 23 46 EB CD 00 00 00 00 -R 00 00 01 00 02 0B 16 00 +R 00 00 01 00 02 0B 17 00 T AB 04 00 00 30 49 R 00 00 01 00 T AD 04 00 00 @@ -441,18 +443,18 @@ T B8 04 00 00 B7 28 12 R 00 00 01 00 T BB 04 00 00 R 00 00 01 00 -T BB 04 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 10 00 +T BB 04 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 +R 00 00 01 00 02 09 0F 00 T C4 04 00 00 64 23 36 00 21 FF FF 18 49 R 00 00 01 00 T CD 04 00 00 R 00 00 01 00 -T CD 04 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 -R 00 00 01 00 02 09 10 00 +T CD 04 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 +R 00 00 01 00 02 09 0F 00 T D6 04 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 12 00 +R 00 00 01 00 2B 0B 11 00 T DE 04 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 12 00 02 0A 00 00 +R 00 00 01 00 02 05 11 00 02 0A 00 00 T E5 04 00 00 44 E1 71 23 70 79 B0 28 05 R 00 00 01 00 T EE 04 00 00 @@ -469,8 +471,8 @@ T F6 04 00 00 DD 7E FA DD B6 FB 20 12 R 00 00 01 00 T FE 04 00 00 R 00 00 01 00 -T FE 04 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 -R 00 00 01 00 02 09 10 00 +T FE 04 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 +R 00 00 01 00 02 09 0F 00 T 07 05 00 00 65 23 36 00 21 FF FF 18 06 R 00 00 01 00 T 10 05 00 00 @@ -484,7 +486,7 @@ R 00 00 01 00 02 05 08 00 T 19 05 00 00 R 00 00 01 00 T 19 05 00 00 CD 00 00 00 00 FE FF 79 B0 20 22 -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 18 00 T 22 05 00 00 R 00 00 01 00 T 22 05 00 00 21 0C 00 DD 4E 02 DD 46 03 09 46 @@ -544,9 +546,9 @@ R 00 00 01 00 T BD 05 00 00 21 0C 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 T C8 05 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 1F 00 +R 00 00 01 00 2B 07 21 00 T CD 05 00 00 00 00 00 00 CD 00 00 00 00 18 1F -R 00 00 01 00 02 04 1F 00 02 09 00 00 +R 00 00 01 00 02 04 21 00 02 09 00 00 T D4 05 00 00 R 00 00 01 00 T D4 05 00 00 21 0C 00 DD 4E 02 DD 46 03 09 5E @@ -582,7 +584,7 @@ R 00 00 01 00 T 30 06 00 00 21 0C 00 09 5E 23 56 3E R 00 00 01 00 T 38 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1F 00 02 09 1F 00 +R 00 00 01 00 2B 04 21 00 02 09 21 00 T 3D 06 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 T 3F 06 00 00 @@ -594,15 +596,15 @@ R 00 00 01 00 T 45 06 00 00 CD 00 00 00 00 01 01 00 21 AA 00 R 00 00 01 00 02 05 14 00 T 4E 06 00 00 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 1E 00 +R 00 00 01 00 2B 09 20 00 T 55 06 00 00 00 00 00 00 CD 00 00 00 00 EB 3E -R 00 00 01 00 02 04 1E 00 02 09 00 00 +R 00 00 01 00 02 04 20 00 02 09 00 00 T 5C 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 15 00 02 09 15 00 +R 00 00 01 00 2B 04 16 00 02 09 16 00 T 61 06 00 00 00 00 00 00 11 00 00 3E R 00 00 01 00 02 04 00 00 T 67 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 +R 00 00 01 00 2B 04 11 00 02 09 11 00 T 6C 06 00 00 00 00 00 00 C3 00 00 00 00 R 00 00 01 00 02 04 00 00 02 09 08 00 T 71 06 00 00 @@ -610,27 +612,27 @@ R 00 00 01 00 T 71 06 00 00 CD 00 00 00 00 01 01 00 21 AA 00 R 00 00 01 00 02 05 14 00 T 7A 06 00 00 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 1E 00 +R 00 00 01 00 2B 09 20 00 T 81 06 00 00 00 00 00 00 CD 00 00 00 00 EB 3E -R 00 00 01 00 02 04 1E 00 02 09 00 00 +R 00 00 01 00 02 04 20 00 02 09 00 00 T 88 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 15 00 02 09 15 00 +R 00 00 01 00 2B 04 16 00 02 09 16 00 T 8D 06 00 00 00 00 00 00 11 00 00 3E R 00 00 01 00 02 04 00 00 T 93 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 +R 00 00 01 00 2B 04 11 00 02 09 11 00 T 98 06 00 00 00 00 00 00 C3 00 00 00 00 R 00 00 01 00 02 04 00 00 02 09 08 00 T 9D 06 00 00 R 00 00 01 00 T 9D 06 00 00 CD 00 00 00 00 F4 FF 21 AA 00 DD -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 18 00 T A6 06 00 00 5E 02 DD 56 03 19 56 23 66 6A DD R 00 00 01 00 T B1 06 00 00 75 F4 DD 74 F5 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1E 00 +R 00 00 01 00 2B 0B 20 00 T B9 06 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 1E 00 02 0A 00 00 +R 00 00 01 00 02 05 20 00 02 0A 00 00 T C0 06 00 00 75 F8 DD 74 F9 DD 75 FC DD 74 FD R 00 00 01 00 T CB 06 00 00 DD 5E 0A DD 56 0B 3E 01 AB B2 20 @@ -656,15 +658,15 @@ R 00 00 01 00 T 16 07 00 00 00 00 DD 5E F8 DD 56 F9 3E R 00 00 01 00 T 1F 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 15 00 02 09 15 00 +R 00 00 01 00 2B 04 16 00 02 09 16 00 T 24 07 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 T 26 07 00 00 R 00 00 01 00 T 26 07 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 +R 00 00 01 00 2B 0B 0D 00 T 2E 07 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 0E 00 02 0A 00 00 +R 00 00 01 00 02 05 0D 00 02 0A 00 00 T 35 07 00 00 3B 09 00 00 R 00 00 01 00 00 04 01 00 T 37 07 00 00 @@ -686,7 +688,7 @@ R 00 00 01 00 2B 04 03 00 02 09 03 00 T 64 07 00 00 00 00 00 00 F1 DD 75 F6 DD 74 F7 R 00 00 01 00 02 04 00 00 T 6D 07 00 00 EB 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1E 00 02 0B 1E 00 +R 00 00 01 00 2B 06 20 00 02 0B 20 00 T 73 07 00 00 CD 00 00 00 00 DD 75 FA DD 74 FB R 00 00 01 00 02 05 00 00 T 7C 07 00 00 DD 6E F8 DD 66 F9 DD 5E FA DD 56 @@ -702,13 +704,13 @@ R 00 00 01 00 T B3 07 00 00 21 0E 00 09 E5 11 10 00 3E R 00 00 01 00 T BC 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 19 00 02 09 19 00 +R 00 00 01 00 2B 04 1A 00 02 09 1A 00 T C1 07 00 00 00 00 00 00 EB E1 73 23 72 21 R 00 00 01 00 02 04 00 00 T C9 07 00 00 12 00 09 E5 11 10 00 3E R 00 00 01 00 T D1 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 19 00 02 09 19 00 +R 00 00 01 00 2B 04 1A 00 02 09 1A 00 T D6 07 00 00 00 00 00 00 EB E1 73 23 72 DD 6E R 00 00 01 00 02 04 00 00 T DF 07 00 00 F6 DD 66 F7 E5 69 60 C1 71 23 70 @@ -726,9 +728,9 @@ R 00 00 01 00 T 11 08 00 00 21 12 00 DD 4E F8 DD 46 F9 09 E5 R 00 00 01 00 T 1C 08 00 00 11 10 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 19 00 +R 00 00 01 00 2B 08 1A 00 T 22 08 00 00 00 00 00 00 CD 00 00 00 00 EB E1 -R 00 00 01 00 02 04 19 00 02 09 00 00 +R 00 00 01 00 02 04 1A 00 02 09 00 00 T 29 08 00 00 73 23 72 21 0A 00 09 DD 4E F4 DD R 00 00 01 00 T 34 08 00 00 46 F5 71 23 70 @@ -778,13 +780,13 @@ R 00 00 01 00 T 15 09 00 00 09 36 10 23 36 00 01 01 00 DD 5E R 00 00 01 00 T 20 09 00 00 FC DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 15 00 +R 00 00 01 00 2B 09 16 00 T 27 09 00 00 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 04 15 00 02 09 00 00 +R 00 00 01 00 02 04 16 00 02 09 00 00 T 2D 09 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 12 00 +R 00 00 01 00 2B 07 11 00 T 32 09 00 00 00 00 00 00 CD 00 00 00 00 18 02 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 11 00 02 09 00 00 T 39 09 00 00 R 00 00 01 00 T 39 09 00 00 18 00 @@ -794,13 +796,13 @@ R 00 00 01 00 T 3B 09 00 00 01 00 00 DD 5E F8 DD 56 F9 3E R 00 00 01 00 T 45 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 15 00 02 09 15 00 +R 00 00 01 00 2B 04 16 00 02 09 16 00 T 4A 09 00 00 00 00 00 00 C3 00 00 00 00 R 00 00 01 00 02 04 00 00 02 09 08 00 T 4F 09 00 00 R 00 00 01 00 T 4F 09 00 00 CD 00 00 00 00 FE FF DD 6E 0C DD -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 18 00 T 58 09 00 00 66 0D E5 DD 6E 0A DD 66 0B E5 21 R 00 00 01 00 T 63 09 00 00 04 00 39 4D 44 DD 5E 02 DD 56 03 @@ -810,13 +812,13 @@ R 00 00 01 00 2B 05 09 00 02 0A 09 00 T 74 09 00 00 00 00 00 00 F1 F1 21 00 00 39 5D R 00 00 01 00 02 04 00 00 T 7D 09 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1A 00 02 0B 1A 00 +R 00 00 01 00 2B 06 1B 00 02 0B 1B 00 T 83 09 00 00 CD 00 00 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 00 00 02 0A 08 00 T 89 09 00 00 R 00 00 01 00 T 89 09 00 00 CD 00 00 00 00 F0 FF AF DD 77 F0 -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 18 00 T 92 09 00 00 DD 77 F1 AF DD 77 F4 DD 77 F5 DD R 00 00 01 00 T 9D 09 00 00 77 F6 DD 77 F7 2A 00 00 00 00 23 @@ -828,9 +830,9 @@ R 00 00 01 00 T BA 09 00 00 DD 6E 02 DD 66 03 5E 23 56 3E R 00 00 01 00 T C4 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 +R 00 00 01 00 2B 04 0E 00 02 09 0E 00 T C9 09 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 0A 0D 00 +R 00 00 01 00 02 04 00 00 02 0A 0C 00 T CF 09 00 00 R 00 00 01 00 T CF 09 00 00 CD 00 00 00 00 21 0C 00 19 7E 23 @@ -848,7 +850,7 @@ R 00 00 01 00 T EB 09 00 00 23 66 68 01 0E 00 09 6E 26 00 29 R 00 00 01 00 T F6 09 00 00 01 00 00 00 00 09 46 23 66 68 -R 00 00 01 00 02 05 1D 00 +R 00 00 01 00 02 05 1F 00 T FE 09 00 00 R 00 00 01 00 T FE 09 00 00 C3 00 00 00 00 @@ -866,294 +868,342 @@ R 00 00 01 00 02 04 08 00 T 19 0A 00 00 R 00 00 01 00 T 19 0A 00 00 CD 00 00 00 00 F8 FF 01 0B 00 11 -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 18 00 T 22 0A 00 00 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 18 00 +R 00 00 01 00 2B 07 19 00 T 27 0A 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 18 00 02 09 00 00 -T 2E 0A 00 00 F8 DD 74 F9 AF DD 77 FA DD 77 FB +R 00 00 01 00 02 04 19 00 02 09 00 00 +T 2E 0A 00 00 F8 DD 74 F9 7D B4 20 03 R 00 00 01 00 -T 39 0A 00 00 DD 77 FC DD 77 FD DD 4E 02 DD 46 +T 36 0A 00 00 R 00 00 01 00 -T 44 0A 00 00 03 DD 71 FE DD 70 FF 23 23 E5 01 +T 36 0A 00 00 C3 F8 0A 00 00 +R 00 00 01 00 00 05 01 00 +T 39 0A 00 00 R 00 00 01 00 -T 4F 0A 00 00 FF FF C5 01 00 00 C5 0E +T 39 0A 00 00 21 04 00 DD 4E F8 DD 46 F9 09 E5 R 00 00 01 00 -T 57 0A 00 00 07 0B 00 00 C5 01 07 0B 00 00 C5 +T 44 0A 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 +R 00 00 01 00 2B 0B 12 00 +T 4C 0A 00 00 21 00 00 00 00 CD 00 00 00 00 EB +R 00 00 01 00 02 05 12 00 02 0A 00 00 +T 53 0A 00 00 E1 73 23 72 21 04 00 09 7E 23 B6 +R 00 00 01 00 +T 5E 0A 00 00 20 03 +R 00 00 01 00 +T 60 0A 00 00 +R 00 00 01 00 +T 60 0A 00 00 C3 EA 0A 00 00 +R 00 00 01 00 00 05 01 00 +T 63 0A 00 00 +R 00 00 01 00 +T 63 0A 00 00 AF DD 77 FA DD 77 FB DD 77 FC DD +R 00 00 01 00 +T 6E 0A 00 00 77 FD DD 6E 02 DD 66 03 DD 75 FE +R 00 00 01 00 +T 79 0A 00 00 DD 74 FF DD 6E F8 DD 66 F9 23 23 +R 00 00 01 00 +T 84 0A 00 00 E5 01 FF FF C5 01 00 00 C5 0E +R 00 00 01 00 +T 8E 0A 00 00 3B 0B 00 00 C5 01 3B 0B 00 00 C5 R 00 00 01 00 29 04 01 00 00 0A 01 00 -T 5D 0A 00 00 0E 00 C5 01 00 00 C5 0E 00 C5 01 +T 94 0A 00 00 0E 00 C5 01 00 00 C5 0E 00 C5 01 R 00 00 01 00 -T 68 0A 00 00 00 00 C5 01 00 00 C5 01 02 00 C5 +T 9F 0A 00 00 00 00 C5 01 00 00 C5 01 02 00 C5 R 00 00 01 00 -T 73 0A 00 00 01 00 00 21 18 00 39 5D 54 3E +T AA 0A 00 00 01 00 00 21 18 00 39 5D 54 3E R 00 00 01 00 -T 7D 0A 00 00 00 00 00 00 21 00 00 00 00 CD +T B4 0A 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0A 00 02 09 0A 00 -T 82 0A 00 00 00 00 00 00 EB 21 14 00 39 F9 EB +T B9 0A 00 00 00 00 00 00 EB 21 14 00 39 F9 EB R 00 00 01 00 02 04 00 00 -T 8B 0A 00 00 4D 44 E1 71 23 70 DD 6E F8 DD 66 +T C2 0A 00 00 4D 44 E1 71 23 70 DD 6E F8 DD 66 +R 00 00 01 00 +T CD 0A 00 00 F9 23 23 7E 23 B6 20 28 R 00 00 01 00 -T 96 0A 00 00 F9 23 23 7E 23 B6 20 13 +T D5 0A 00 00 R 00 00 01 00 -T 9E 0A 00 00 +T D5 0A 00 00 21 04 00 DD 4E F8 DD 46 F9 09 5E +R 00 00 01 00 +T E0 0A 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 13 00 +T E5 0A 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 13 00 02 09 00 00 +T EA 0A 00 00 R 00 00 01 00 -T 9E 0A 00 00 DD 5E F8 DD 56 F9 3E 00 00 00 00 +T EA 0A 00 00 DD 5E F8 DD 56 F9 3E 00 00 00 00 R 00 00 01 00 2B 0B 13 00 -T A6 0A 00 00 21 00 00 00 00 CD 00 00 00 00 21 +T F2 0A 00 00 21 00 00 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 13 00 02 0A 00 00 -T AD 0A 00 00 FF FF 18 53 +T F8 0A 00 00 R 00 00 01 00 -T B1 0A 00 00 +T F8 0A 00 00 21 FF FF 18 3B R 00 00 01 00 -T B1 0A 00 00 21 06 00 DD 4E F8 DD 46 F9 09 DD +T FD 0A 00 00 R 00 00 01 00 -T BC 0A 00 00 5E 0E DD 56 0F 73 23 72 21 08 00 +T FD 0A 00 00 21 06 00 DD 4E F8 DD 46 F9 09 DD R 00 00 01 00 -T C7 0A 00 00 09 DD 7E 0C DD 5E 0A DD 56 0B 73 +T 08 0B 00 00 5E 0E DD 56 0F 73 23 72 21 08 00 R 00 00 01 00 -T D2 0A 00 00 23 72 23 77 21 04 00 09 E5 DD 5E +T 13 0B 00 00 09 DD 7E 0C DD 5E 0A DD 56 0B 73 R 00 00 01 00 -T DD 0A 00 00 04 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0B 00 -T E4 0A 00 00 00 00 00 00 CD 00 00 00 00 EB E1 -R 00 00 01 00 02 04 0B 00 02 09 00 00 -T EB 0A 00 00 73 23 72 2A 00 00 00 00 E5 69 60 -R 00 00 01 00 00 08 02 00 -T F4 0A 00 00 C1 71 23 70 DD 6E F8 DD 66 F9 22 +T 1E 0B 00 00 23 72 23 77 2A 00 00 00 00 E5 69 +R 00 00 01 00 00 09 02 00 +T 27 0B 00 00 60 C1 71 23 70 DD 6E F8 DD 66 F9 R 00 00 01 00 -T FF 0A 00 00 00 00 00 00 21 00 00 -R 00 00 01 00 00 04 02 00 -T 04 0B 00 00 +T 32 0B 00 00 22 00 00 00 00 21 00 00 +R 00 00 01 00 00 05 02 00 +T 38 0B 00 00 R 00 00 01 00 -T 04 0B 00 00 C3 00 00 00 00 +T 38 0B 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 08 00 -T 07 0B 00 00 +T 3B 0B 00 00 R 00 00 01 00 -T 07 0B 00 00 CD 00 00 00 00 EA FF 3E 02 A9 B0 -R 00 00 01 00 02 05 17 00 -T 10 0B 00 00 28 03 +T 3B 0B 00 00 CD 00 00 00 00 EA FF 3E 02 A9 B0 +R 00 00 01 00 02 05 18 00 +T 44 0B 00 00 28 03 R 00 00 01 00 -T 12 0B 00 00 +T 46 0B 00 00 R 00 00 01 00 -T 12 0B 00 00 C3 03 0D 00 00 +T 46 0B 00 00 C3 56 0D 00 00 R 00 00 01 00 00 05 01 00 -T 15 0B 00 00 +T 49 0B 00 00 R 00 00 01 00 -T 15 0B 00 00 3E 01 DD AE 0A DD B6 0B 20 11 +T 49 0B 00 00 3E 01 DD AE 0A DD B6 0B 20 11 R 00 00 01 00 -T 1F 0B 00 00 +T 53 0B 00 00 R 00 00 01 00 -T 1F 0B 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 -T 27 0B 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 0E 00 02 0A 00 00 -T 2E 0B 00 00 03 0D 00 00 +T 53 0B 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0D 00 +T 5B 0B 00 00 21 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 05 0D 00 02 0A 00 00 +T 62 0B 00 00 56 0D 00 00 R 00 00 01 00 00 04 01 00 -T 30 0B 00 00 +T 64 0B 00 00 R 00 00 01 00 -T 30 0B 00 00 2A 00 00 00 00 DD 75 EA DD 74 EB +T 64 0B 00 00 2A 00 00 00 00 DD 75 EA DD 74 EB R 00 00 01 00 00 05 02 00 -T 39 0B 00 00 +T 6D 0B 00 00 R 00 00 01 00 -T 39 0B 00 00 DD 7E EA DD B6 EB 28 3C +T 6D 0B 00 00 DD 7E EA DD B6 EB 28 3C R 00 00 01 00 -T 41 0B 00 00 +T 75 0B 00 00 R 00 00 01 00 -T 41 0B 00 00 DD 6E EA DD 66 EB 23 23 46 23 66 +T 75 0B 00 00 DD 6E EA DD 66 EB 23 23 46 23 66 R 00 00 01 00 -T 4C 0B 00 00 68 01 06 00 09 46 23 66 68 E5 21 +T 80 0B 00 00 68 01 06 00 09 46 23 66 68 E5 21 R 00 00 01 00 -T 57 0B 00 00 06 00 DD 4E 02 DD 46 03 09 4E 23 +T 8B 0B 00 00 06 00 DD 4E 02 DD 46 03 09 4E 23 R 00 00 01 00 -T 62 0B 00 00 46 E1 A7 ED 42 20 02 +T 96 0B 00 00 46 E1 A7 ED 42 20 02 R 00 00 01 00 -T 69 0B 00 00 +T 9D 0B 00 00 R 00 00 01 00 -T 69 0B 00 00 18 12 +T 9D 0B 00 00 18 12 R 00 00 01 00 -T 6B 0B 00 00 +T 9F 0B 00 00 R 00 00 01 00 -T 6B 0B 00 00 DD 6E EA DD 66 EB 46 23 66 68 DD +T 9F 0B 00 00 DD 6E EA DD 66 EB 46 23 66 68 DD R 00 00 01 00 -T 76 0B 00 00 75 EA DD 74 EB 18 BC +T AA 0B 00 00 75 EA DD 74 EB 18 BC R 00 00 01 00 -T 7D 0B 00 00 +T B1 0B 00 00 R 00 00 01 00 -T 7D 0B 00 00 DD 7E EA DD B6 EB 20 03 +T B1 0B 00 00 DD 7E EA DD B6 EB 20 03 R 00 00 01 00 -T 85 0B 00 00 +T B9 0B 00 00 R 00 00 01 00 -T 85 0B 00 00 C3 03 0D 00 00 +T B9 0B 00 00 C3 56 0D 00 00 R 00 00 01 00 00 05 01 00 -T 88 0B 00 00 +T BC 0B 00 00 R 00 00 01 00 -T 88 0B 00 00 21 00 00 E5 01 00 00 11 00 00 3E +T BC 0B 00 00 21 00 00 E5 01 00 00 11 00 00 3E R 00 00 01 00 -T 93 0B 00 00 00 00 00 00 21 00 00 00 00 CD +T C7 0B 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 98 0B 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF +T CC 0B 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF R 00 00 01 00 02 04 00 00 -T A1 0B 00 00 EB 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1E 00 02 0B 1E 00 -T A7 0B 00 00 CD 00 00 00 00 DD 75 FC DD 74 FD +T D5 0B 00 00 EB 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 20 00 02 0B 20 00 +T DB 0B 00 00 CD 00 00 00 00 DD 75 FC DD 74 FD R 00 00 01 00 02 05 00 00 -T B0 0B 00 00 AF DD 77 EC DD 77 ED DD 4E 02 DD +T E4 0B 00 00 AF DD 77 EC DD 77 ED DD 4E 02 DD R 00 00 01 00 -T BB 0B 00 00 46 03 03 03 69 60 5E 23 56 23 4E +T EF 0B 00 00 46 03 03 03 69 60 5E 23 56 23 4E R 00 00 01 00 -T C6 0B 00 00 23 46 DD 73 F0 DD 72 F1 DD 71 F2 +T FA 0B 00 00 23 46 DD 73 F0 DD 72 F1 DD 71 F2 R 00 00 01 00 -T D1 0B 00 00 DD 70 F3 21 06 00 DD 4E 02 DD 46 +T 05 0C 00 00 DD 70 F3 21 06 00 DD 4E 02 DD 46 R 00 00 01 00 -T DC 0B 00 00 03 09 56 23 66 6A DD 75 EE DD 74 +T 10 0C 00 00 03 09 56 23 66 6A DD 75 EE DD 74 R 00 00 01 00 -T E7 0B 00 00 EF 21 10 00 E5 21 04 00 39 4D 44 +T 1B 0C 00 00 EF 21 10 00 E5 21 04 00 39 4D 44 R 00 00 01 00 -T F2 0B 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0F 00 -T FA 0B 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 0F 00 02 0A 00 00 -T 01 0C 00 00 21 08 00 DD 4E 02 DD 46 03 09 4E +T 26 0C 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0E 00 +T 2E 0C 00 00 21 00 00 00 00 CD 00 00 00 00 F1 +R 00 00 01 00 02 05 0E 00 02 0A 00 00 +T 35 0C 00 00 21 08 00 DD 4E 02 DD 46 03 09 4E R 00 00 01 00 -T 0C 0C 00 00 23 46 23 5E 23 56 69 60 DD 75 F0 +T 40 0C 00 00 23 46 23 5E 23 56 69 60 DD 75 F0 R 00 00 01 00 -T 17 0C 00 00 DD 74 F1 DD 73 F2 DD 72 F3 21 +T 4B 0C 00 00 DD 74 F1 DD 73 F2 DD 72 F3 21 R 00 00 01 00 -T 21 0C 00 00 0C 00 DD 4E 02 DD 46 03 09 56 23 +T 55 0C 00 00 0C 00 DD 4E 02 DD 46 03 09 56 23 R 00 00 01 00 -T 2C 0C 00 00 66 6A DD 75 EE DD 74 EF 21 14 00 +T 60 0C 00 00 66 6A DD 75 EE DD 74 EF 21 0C 00 R 00 00 01 00 -T 37 0C 00 00 DD 5E FC DD 56 FD 19 36 10 23 36 +T 6B 0C 00 00 DD 5E FC DD 56 FD 19 71 23 70 21 R 00 00 01 00 -T 42 0C 00 00 00 21 12 00 19 E5 21 14 00 19 5E +T 76 0C 00 00 AA 00 09 DD 5E FE DD 56 FF 73 23 R 00 00 01 00 -T 4D 0C 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 19 00 -T 52 0C 00 00 00 00 00 00 CD 00 00 00 00 EB E1 -R 00 00 01 00 02 04 19 00 02 09 00 00 -T 59 0C 00 00 73 23 72 21 10 00 E5 21 04 00 39 +T 81 0C 00 00 72 21 66 00 09 36 45 06 00 00 23 +R 00 00 01 00 09 0A 01 00 +T 89 0C 00 00 36 45 06 00 00 23 36 45 06 00 00 +R 00 00 01 00 89 05 01 00 29 0B 01 00 +T 8E 0C 00 00 21 69 00 09 36 71 06 00 00 23 36 +R 00 00 01 00 09 09 01 00 +T 96 0C 00 00 71 06 00 00 23 36 71 06 00 00 21 +R 00 00 01 00 89 04 01 00 29 0A 01 00 +T 9B 0C 00 00 6C 00 09 36 9D 06 00 00 23 36 +R 00 00 01 00 09 08 01 00 +T A2 0C 00 00 9D 06 00 00 23 36 9D 06 00 00 21 +R 00 00 01 00 89 04 01 00 29 0A 01 00 +T A7 0C 00 00 12 00 DD 4E FC DD 46 FD 09 E5 11 R 00 00 01 00 -T 64 0C 00 00 4D 44 21 12 00 DD 5E FC DD 56 FD +T B2 0C 00 00 10 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 1E 00 +T B7 0C 00 00 00 00 00 00 CD 00 00 00 00 EB E1 +R 00 00 01 00 02 04 1E 00 02 09 00 00 +T BE 0C 00 00 73 23 72 21 12 00 09 7E 23 B6 20 R 00 00 01 00 -T 6F 0C 00 00 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 05 00 -T 76 0C 00 00 00 00 00 00 CD 00 00 00 00 F1 21 -R 00 00 01 00 02 04 05 00 02 09 00 00 -T 7D 0C 00 00 0C 00 DD 4E FC DD 46 FD 09 DD 4E +T C9 0C 00 00 02 R 00 00 01 00 -T 88 0C 00 00 02 DD 46 03 71 23 70 21 AA 00 09 +T CA 0C 00 00 R 00 00 01 00 -T 93 0C 00 00 DD 5E FE DD 56 FF 73 23 72 21 +T CA 0C 00 00 18 7C R 00 00 01 00 -T 9D 0C 00 00 66 00 09 36 45 06 00 00 23 36 -R 00 00 01 00 09 08 01 00 -T A4 0C 00 00 45 06 00 00 23 36 45 06 00 00 21 -R 00 00 01 00 89 04 01 00 29 0A 01 00 -T A9 0C 00 00 69 00 09 36 71 06 00 00 23 36 -R 00 00 01 00 09 08 01 00 -T B0 0C 00 00 71 06 00 00 23 36 71 06 00 00 21 -R 00 00 01 00 89 04 01 00 29 0A 01 00 -T B5 0C 00 00 6C 00 09 36 9D 06 00 00 23 36 -R 00 00 01 00 09 08 01 00 -T BC 0C 00 00 9D 06 00 00 23 36 9D 06 00 00 21 -R 00 00 01 00 89 04 01 00 29 0A 01 00 -T C1 0C 00 00 00 00 E5 21 00 00 E5 21 00 00 E5 +T CC 0C 00 00 R 00 00 01 00 -T CC 0C 00 00 D5 21 08 00 DD 4E EA DD 46 EB 09 +T CC 0C 00 00 21 10 00 E5 21 04 00 39 4D 44 21 R 00 00 01 00 -T D7 0C 00 00 23 23 5E D5 2B 56 2B 5E D5 21 +T D7 0C 00 00 12 00 DD 5E FC DD 56 FD 19 5E 23 R 00 00 01 00 -T E1 0C 00 00 06 00 09 4E 23 46 21 04 00 DD 5E +T E2 0C 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 05 00 02 0B 05 00 +T E8 0C 00 00 CD 00 00 00 00 F1 21 14 00 DD 4E +R 00 00 01 00 02 05 00 00 +T F1 0C 00 00 FC DD 46 FD 09 36 10 23 36 00 21 R 00 00 01 00 -T EC 0C 00 00 EA DD 56 EB 19 5E 23 56 3E +T FC 0C 00 00 00 00 E5 21 00 00 E5 21 00 00 E5 R 00 00 01 00 -T F5 0C 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 20 00 02 09 20 00 -T FA 0C 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB -R 00 00 01 00 02 04 00 00 -T 03 0D 00 00 +T 07 0D 00 00 DD 6E FE DD 66 FF E5 21 08 00 DD +R 00 00 01 00 +T 12 0D 00 00 4E EA DD 46 EB 09 23 23 5E D5 2B +R 00 00 01 00 +T 1D 0D 00 00 56 2B 5E D5 21 06 00 09 4E 23 46 +R 00 00 01 00 +T 28 0D 00 00 21 04 00 DD 5E EA DD 56 EB 19 5E +R 00 00 01 00 +T 33 0D 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 22 00 +T 38 0D 00 00 00 00 00 00 CD 00 00 00 00 EB 21 +R 00 00 01 00 02 04 22 00 02 09 00 00 +T 3F 0D 00 00 0C 00 39 F9 EB 7D B4 20 0E +R 00 00 01 00 +T 48 0D 00 00 +R 00 00 01 00 +T 48 0D 00 00 +R 00 00 01 00 +T 48 0D 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +R 00 00 01 00 2B 0B 15 00 +T 50 0D 00 00 21 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 15 00 02 0A 00 00 +T 56 0D 00 00 +R 00 00 01 00 +T 56 0D 00 00 R 00 00 01 00 -T 03 0D 00 00 C3 00 00 00 00 +T 56 0D 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 08 00 -T 06 0D 00 00 +T 59 0D 00 00 R 00 00 01 00 -T 06 0D 00 00 CD 00 00 00 00 FC FF AF DD 77 FE -R 00 00 01 00 02 05 17 00 -T 0F 0D 00 00 DD 77 FF 2A 00 00 00 00 DD 75 FC +T 59 0D 00 00 CD 00 00 00 00 FC FF AF DD 77 FE +R 00 00 01 00 02 05 18 00 +T 62 0D 00 00 DD 77 FF 2A 00 00 00 00 DD 75 FC R 00 00 01 00 00 08 02 00 -T 18 0D 00 00 DD 74 FD +T 6B 0D 00 00 DD 74 FD R 00 00 01 00 -T 1B 0D 00 00 +T 6E 0D 00 00 R 00 00 01 00 -T 1B 0D 00 00 DD 7E FC DD B6 FD 28 3F +T 6E 0D 00 00 DD 7E FC DD B6 FD 28 3F R 00 00 01 00 -T 23 0D 00 00 +T 76 0D 00 00 R 00 00 01 00 -T 23 0D 00 00 DD 6E FC DD 66 FD 23 23 46 23 66 +T 76 0D 00 00 DD 6E FC DD 66 FD 23 23 46 23 66 R 00 00 01 00 -T 2E 0D 00 00 68 01 06 00 09 46 23 66 68 DD 4E +T 81 0D 00 00 68 01 06 00 09 46 23 66 68 DD 4E R 00 00 01 00 -T 39 0D 00 00 02 DD 46 03 A7 ED 42 20 02 +T 8C 0D 00 00 02 DD 46 03 A7 ED 42 20 02 R 00 00 01 00 -T 42 0D 00 00 +T 95 0D 00 00 R 00 00 01 00 -T 42 0D 00 00 18 1E +T 95 0D 00 00 18 1E R 00 00 01 00 -T 44 0D 00 00 +T 97 0D 00 00 R 00 00 01 00 -T 44 0D 00 00 DD 6E FC DD 66 FD DD 75 FE DD 74 +T 97 0D 00 00 DD 6E FC DD 66 FD DD 75 FE DD 74 R 00 00 01 00 -T 4F 0D 00 00 FF DD 6E FC DD 66 FD 46 23 66 68 +T A2 0D 00 00 FF DD 6E FC DD 66 FD 46 23 66 68 R 00 00 01 00 -T 5A 0D 00 00 DD 75 FC DD 74 FD 18 B9 +T AD 0D 00 00 DD 75 FC DD 74 FD 18 B9 R 00 00 01 00 -T 62 0D 00 00 +T B5 0D 00 00 R 00 00 01 00 -T 62 0D 00 00 DD 7E FC DD B6 FD 20 05 +T B5 0D 00 00 DD 7E FC DD B6 FD 20 05 R 00 00 01 00 -T 6A 0D 00 00 +T BD 0D 00 00 R 00 00 01 00 -T 6A 0D 00 00 21 FF FF 18 65 +T BD 0D 00 00 21 FF FF 18 65 R 00 00 01 00 -T 6F 0D 00 00 +T C2 0D 00 00 R 00 00 01 00 -T 6F 0D 00 00 DD 6E FC DD 66 FD 23 23 5E 23 56 +T C2 0D 00 00 DD 6E FC DD 66 FD 23 23 5E 23 56 R 00 00 01 00 -T 7A 0D 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1F 00 02 0A 1F 00 -T 80 0D 00 00 00 00 00 00 21 04 00 DD 4E FC DD +T CD 0D 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 21 00 02 0A 21 00 +T D3 0D 00 00 00 00 00 00 21 04 00 DD 4E FC DD R 00 00 01 00 02 04 00 00 -T 89 0D 00 00 46 FD 09 5E 23 56 3E 00 00 00 00 +T DC 0D 00 00 46 FD 09 5E 23 56 3E 00 00 00 00 R 00 00 01 00 2B 0B 13 00 -T 91 0D 00 00 21 00 00 00 00 CD 00 00 00 00 DD +T E4 0D 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 13 00 02 0A 00 00 -T 98 0D 00 00 7E FE DD B6 FF 28 17 +T EB 0D 00 00 7E FE DD B6 FF 28 17 R 00 00 01 00 -T 9F 0D 00 00 +T F2 0D 00 00 R 00 00 01 00 -T 9F 0D 00 00 DD 6E FC DD 66 FD 46 23 66 68 E5 +T F2 0D 00 00 DD 6E FC DD 66 FD 46 23 66 68 E5 R 00 00 01 00 -T AA 0D 00 00 DD 6E FE DD 66 FF C1 71 23 70 18 +T FD 0D 00 00 DD 6E FE DD 66 FF C1 71 23 70 18 R 00 00 01 00 -T B5 0D 00 00 0D +T 08 0E 00 00 0D R 00 00 01 00 -T B6 0D 00 00 +T 09 0E 00 00 R 00 00 01 00 -T B6 0D 00 00 DD 6E FC DD 66 FD 46 23 66 68 22 +T 09 0E 00 00 DD 6E FC DD 66 FD 46 23 66 68 22 R 00 00 01 00 -T C1 0D 00 00 00 00 00 00 +T 14 0E 00 00 00 00 00 00 R 00 00 01 00 00 04 02 00 -T C3 0D 00 00 +T 16 0E 00 00 R 00 00 01 00 -T C3 0D 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 +T 16 0E 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 R 00 00 01 00 2B 0B 13 00 -T CB 0D 00 00 21 00 00 00 00 CD 00 00 00 00 21 +T 1E 0E 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 13 00 02 0A 00 00 -T D2 0D 00 00 00 00 +T 25 0E 00 00 00 00 R 00 00 01 00 -T D4 0D 00 00 +T 27 0E 00 00 R 00 00 01 00 -T D4 0D 00 00 C3 00 00 00 00 +T 27 0E 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 08 00 T 00 00 00 00 R 00 00 02 00 diff --git a/src/nos/lib/internet_lib/tcpsubr.rel b/src/nos/lib/internet_lib/tcpsubr.rel index b6d79a79..00cbd078 100644 --- a/src/nos/lib/internet_lib/tcpsubr.rel +++ b/src/nos/lib/internet_lib/tcpsubr.rel @@ -7,7 +7,7 @@ S _set_timer Ref00000000 S _mbuf_crunch Ref00000000 S ?L_INC_L03 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___0391_7f7b_TCB_20_25p_20_25s_2 Ref00000000 +S ___0416_7f7b_TCB_20_25p_20_25s_2 Ref00000000 S .__.ABS. Def00000000 S _free Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 @@ -260,7 +260,7 @@ T CF 02 00 00 R 00 00 01 00 T CF 02 00 00 DD 6E FE DD 66 FF 46 23 66 68 DD R 00 00 01 00 -T DA 02 00 00 75 FC DD 74 FD 21 21 00 DD 4E FE +T DA 02 00 00 75 FC DD 74 FD 21 4A 00 DD 4E FE R 00 00 01 00 T E5 02 00 00 DD 46 FF 09 EB 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 11 00 @@ -796,7 +796,7 @@ T CF 08 00 00 28 1F R 00 00 01 00 T D1 08 00 00 R 00 00 01 00 -T D1 08 00 00 21 21 00 DD 4E FC DD 46 FD 09 EB +T D1 08 00 00 21 4A 00 DD 4E FC DD 46 FD 09 EB R 00 00 01 00 T DC 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 11 00 02 0A 11 00 @@ -808,7 +808,7 @@ T EF 08 00 00 13 R 00 00 01 00 T F0 08 00 00 R 00 00 01 00 -T F0 08 00 00 21 21 00 DD 4E FC DD 46 FD 09 EB +T F0 08 00 00 21 4A 00 DD 4E FC DD 46 FD 09 EB R 00 00 01 00 T FB 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 04 00 02 0A 04 00 diff --git a/src/nos/lib/internet_lib/tcpuser.rel b/src/nos/lib/internet_lib/tcpuser.rel index 3a7cd246..095db20a 100644 --- a/src/nos/lib/internet_lib/tcpuser.rel +++ b/src/nos/lib/internet_lib/tcpuser.rel @@ -33,7 +33,7 @@ S _append Ref00000000 S ?L_SUBASG_L03 Ref00000000 S ?BANK_LEAVE_32_L08 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size A81 flags 0 +A CODE size A86 flags 0 S _kick_tcp Def0000084C S _reset_tcp Def00000952 S _tcpval Def000007FB @@ -697,7 +697,7 @@ T 88 07 00 00 R 00 00 01 00 T 88 07 00 00 DD 6E FC DD 66 FD 46 23 66 68 DD R 00 00 01 00 -T 93 07 00 00 75 FE DD 74 FF 21 21 00 DD 4E FC +T 93 07 00 00 75 FE DD 74 FF 21 4A 00 DD 4E FC R 00 00 01 00 T 9E 07 00 00 DD 46 FD 09 EB 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 18 00 @@ -875,85 +875,85 @@ T 50 09 00 00 00 00 00 00 R 00 00 01 00 02 04 08 00 T 52 09 00 00 R 00 00 01 00 -T 52 09 00 00 CD 00 00 00 00 A2 FF DD 7E 02 DD +T 52 09 00 00 CD 00 00 00 00 78 FF DD 7E 02 DD R 00 00 01 00 02 05 14 00 T 5B 09 00 00 B6 03 20 03 R 00 00 01 00 T 5F 09 00 00 R 00 00 01 00 -T 5F 09 00 00 C3 7E 0A 00 00 +T 5F 09 00 00 C3 83 0A 00 00 R 00 00 01 00 00 05 01 00 T 62 09 00 00 R 00 00 01 00 T 62 09 00 00 21 0E 00 DD 4E 02 DD 46 03 09 46 R 00 00 01 00 -T 6D 09 00 00 05 05 CA 6D 0A 00 00 +T 6D 09 00 00 05 05 CA 72 0A 00 00 R 00 00 01 00 00 07 01 00 T 72 09 00 00 R 00 00 01 00 -T 72 09 00 00 21 1F 00 E5 01 00 00 21 02 00 39 +T 72 09 00 00 21 48 00 E5 01 00 00 21 02 00 39 R 00 00 01 00 T 7D 09 00 00 5D 54 3E 00 00 00 00 21 R 00 00 01 00 2B 07 04 00 T 82 09 00 00 00 00 00 00 CD 00 00 00 00 F1 21 R 00 00 01 00 02 04 04 00 02 09 01 00 -T 89 09 00 00 3F 00 E5 01 00 00 21 21 00 39 5D +T 89 09 00 00 3F 00 E5 01 00 00 21 4A 00 39 5D R 00 00 01 00 T 94 09 00 00 54 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 04 00 02 0B 04 00 -T 9A 09 00 00 CD 00 00 00 00 F1 21 06 00 DD 4E +T 9A 09 00 00 CD 00 00 00 00 F1 21 02 00 39 E5 R 00 00 01 00 02 05 01 00 -T A3 09 00 00 02 DD 46 03 09 56 23 66 6A DD 75 +T A3 09 00 00 21 06 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 -T AE 09 00 00 A4 DD 74 A5 21 0C 00 09 56 23 66 +T AE 09 00 00 23 56 E1 73 23 72 21 00 00 39 E5 R 00 00 01 00 -T B9 09 00 00 6A DD 75 A2 DD 74 A3 21 1D 00 39 +T B9 09 00 00 21 0C 00 09 5E 23 56 E1 73 23 72 R 00 00 01 00 -T C4 09 00 00 7E F6 04 77 23 7E F6 00 77 21 +T C4 09 00 00 21 1D 00 39 7E F6 04 77 23 7E F6 R 00 00 01 00 -T CE 09 00 00 26 00 09 5E 23 56 23 4E 23 46 C5 +T CF 09 00 00 00 77 21 26 00 09 5E 23 56 23 4E R 00 00 01 00 -T D9 09 00 00 D5 21 16 00 DD 4E 02 DD 46 03 09 +T DA 09 00 00 23 46 C5 D5 21 16 00 DD 4E 02 DD R 00 00 01 00 -T E4 09 00 00 4E 23 46 23 5E 23 56 69 60 C1 09 +T E5 09 00 00 46 03 09 4E 23 46 23 5E 23 56 69 R 00 00 01 00 -T EF 09 00 00 EB C1 ED 4A E5 D5 21 FF FF C1 09 +T F0 09 00 00 60 C1 09 EB C1 ED 4A E5 D5 21 R 00 00 01 00 -T FA 09 00 00 EB 21 FF FF C1 ED 4A 4D 44 EB DD +T FA 09 00 00 FF FF C1 09 EB 21 FF FF C1 ED 4A R 00 00 01 00 -T 05 0A 00 00 75 AA DD 74 AB DD 71 AC DD 70 AD +T 05 0A 00 00 4D 44 EB E5 21 0A 00 39 D1 73 23 R 00 00 01 00 -T 10 0A 00 00 DD 6E 02 DD 66 03 23 23 5E 23 56 +T 10 0A 00 00 72 23 71 23 70 DD 6E 02 DD 66 03 R 00 00 01 00 -T 1B 0A 00 00 23 4E 23 46 EB DD 75 C5 DD 74 C6 +T 1B 0A 00 00 23 23 5E 23 56 23 4E 23 46 EB DD R 00 00 01 00 -T 26 0A 00 00 DD 71 C7 DD 70 C8 21 08 00 DD 4E +T 26 0A 00 00 75 C4 DD 74 C5 DD 71 C6 DD 70 C7 R 00 00 01 00 -T 31 0A 00 00 02 DD 46 03 09 4E 23 46 23 5E 23 +T 31 0A 00 00 21 08 00 DD 4E 02 DD 46 03 09 4E R 00 00 01 00 -T 3C 0A 00 00 56 69 60 DD 75 C1 DD 74 C2 DD 73 +T 3C 0A 00 00 23 46 23 5E 23 56 69 60 DD 75 C0 R 00 00 01 00 -T 47 0A 00 00 C3 DD 72 C4 21 71 00 DD 4E 02 DD +T 47 0A 00 00 DD 74 C1 DD 73 C2 DD 72 C3 21 R 00 00 01 00 -T 52 0A 00 00 46 03 09 46 DD 70 D4 21 00 00 39 +T 51 0A 00 00 71 00 DD 4E 02 DD 46 03 09 46 DD R 00 00 01 00 -T 5D 0A 00 00 4D 44 21 1F 00 39 5D 54 3E +T 5C 0A 00 00 70 D3 21 00 00 39 4D 44 21 48 00 R 00 00 01 00 -T 66 0A 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 -T 6B 0A 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 -T 6D 0A 00 00 +T 67 0A 00 00 39 5D 54 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 12 00 +T 6D 0A 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 12 00 02 09 01 00 +T 72 0A 00 00 R 00 00 01 00 -T 6D 0A 00 00 01 01 00 DD 5E 02 DD 56 03 3E +T 72 0A 00 00 01 01 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 -T 77 0A 00 00 00 00 00 00 21 00 00 00 00 CD +T 7C 0A 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0C 00 02 09 0C 00 -T 7C 0A 00 00 00 00 00 00 +T 81 0A 00 00 00 00 00 00 R 00 00 01 00 02 04 01 00 -T 7E 0A 00 00 +T 83 0A 00 00 R 00 00 01 00 -T 7E 0A 00 00 C3 00 00 00 00 +T 83 0A 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 08 00 T 00 00 00 00 R 00 00 02 00 diff --git a/src/nos/lib/internet_lib/tstat.rel b/src/nos/lib/internet_lib/tstat.rel index b06d8c9f..c57d2471 100644 --- a/src/nos/lib/internet_lib/tstat.rel +++ b/src/nos/lib/internet_lib/tstat.rel @@ -1,25 +1,25 @@ XL4 H 2 areas 16 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0022_a0dd__0a Ref00000000 +S ___011e_9c51__25_2d23s Ref00000000 +S ___0023_a0dd__0a Ref00000000 S _Tcbs Ref00000000 +S ___009c_0cd7__20_28S_29 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___0178_c497__26TCB_20_20_20_20_ Ref00000000 -S ___0105_9c51__25_2d23s Ref00000000 -S ___0110_d1e2__25_2ds Ref00000000 -S ___0083_0cd7__20_28S_29 Ref00000000 S .__.ABS. Def00000000 S _pinet Ref00000000 +S ___0129_d1e2__25_2ds Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?S_MUL_L02 Ref00000000 -S ___017c_ba4c__28_252u_29_25_2d20 Ref00000000 +S ___01a8_ba4c__28_252u_29_25_2d20 Ref00000000 S ?SS_CMP_L02 Ref00000000 S ?SS_MOD_L02 Ref00000000 S __printf Ref00000000 -S ___0033_de40__20_20_20_20_20 Ref00000000 +S ___0141_482b__259p_256u_256u_20_ Ref00000000 +S ___0034_de40__20_20_20_20_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0126_482b__259p_256u_256u_20_ Ref00000000 S _Tcpstates Ref00000000 +S ___01a4_c497__26TCB_20_20_20_20_ Ref00000000 S _Tcp_mib Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 218 flags 0 @@ -27,7 +27,7 @@ S _tstat Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF DD 36 FA 01 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 09 00 T 09 00 00 00 DD 36 FB 00 DD 36 FE 01 DD 36 FF R 00 00 01 00 T 14 00 00 00 00 @@ -37,13 +37,13 @@ R 00 00 01 00 T 15 00 00 00 DD 4E FA DD 46 FB 21 0F 00 CD R 00 00 01 00 T 1F 00 00 00 00 00 00 00 DA CD 00 00 00 -R 00 00 01 00 02 04 0D 00 00 09 01 00 +R 00 00 01 00 02 04 0C 00 00 09 01 00 T 24 00 00 00 R 00 00 01 00 T 24 00 00 00 01 06 00 DD 5E FA DD 56 FB CD R 00 00 01 00 T 2E 00 00 00 00 00 00 00 21 00 00 00 00 19 7E -R 00 00 01 00 02 04 0B 00 02 09 14 00 +R 00 00 01 00 02 04 0A 00 02 09 14 00 T 35 00 00 00 23 B6 20 03 R 00 00 01 00 T 39 00 00 00 @@ -55,25 +55,25 @@ R 00 00 01 00 T 3C 00 00 00 01 06 00 DD 5E FA DD 56 FB CD R 00 00 01 00 T 46 00 00 00 00 00 00 00 21 02 00 00 00 19 4E -R 00 00 01 00 02 04 0B 00 02 09 14 00 +R 00 00 01 00 02 04 0A 00 02 09 14 00 T 4D 00 00 00 23 46 23 5E 23 56 D5 C5 01 06 00 R 00 00 01 00 T 58 00 00 00 DD 5E FA DD 56 FB CD 00 00 00 00 -R 00 00 01 00 02 0B 0B 00 +R 00 00 01 00 02 0B 0A 00 T 61 00 00 00 21 00 00 00 00 19 4E 23 46 C5 DD R 00 00 01 00 02 05 14 00 T 6A 00 00 00 6E FA DD 66 FB E5 0E 00 00 00 00 -R 00 00 01 00 2B 0B 0C 00 +R 00 00 01 00 2B 0B 0B 00 T 72 00 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 0C 00 +R 00 00 01 00 02 06 0B 00 T 78 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 +R 00 00 01 00 2B 04 0E 00 02 09 0E 00 T 7D 00 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB R 00 00 01 00 02 04 00 00 T 86 00 00 00 DD 5E FE DD 56 FF 13 DD 73 FE DD R 00 00 01 00 T 91 00 00 00 72 FF 1B 01 02 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 0E 00 +R 00 00 01 00 02 0B 0D 00 T 9A 00 00 00 7B B2 28 13 R 00 00 01 00 T 9E 00 00 00 @@ -81,15 +81,15 @@ R 00 00 01 00 T 9E 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 10 00 02 0B 10 00 T A4 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T AA 00 00 00 CD 00 00 00 00 F1 F1 18 11 R 00 00 01 00 02 05 00 00 T B1 00 00 00 R 00 00 01 00 T B1 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 T B7 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T BD 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 05 00 00 T C2 00 00 00 @@ -107,25 +107,25 @@ R 00 00 01 00 T CD 00 00 00 01 02 00 DD 5E FE DD 56 FF CD R 00 00 01 00 T D7 00 00 00 00 00 00 00 7B B2 20 11 -R 00 00 01 00 02 04 0E 00 +R 00 00 01 00 02 04 0D 00 T DD 00 00 00 R 00 00 01 00 T DD 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 T E3 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T E9 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 05 00 00 T EE 00 00 00 R 00 00 01 00 T EE 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 04 00 02 0B 04 00 +R 00 00 01 00 2B 05 13 00 02 0B 13 00 T F4 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T FA 00 00 00 CD 00 00 00 00 F1 F1 2A R 00 00 01 00 02 05 00 00 T 00 01 00 00 00 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 03 00 T 08 01 00 00 R 00 00 01 00 T 08 01 00 00 DD 7E FC DD B6 FD CA 12 02 00 00 @@ -141,41 +141,41 @@ R 00 00 01 00 T 32 01 00 00 4E 23 46 C5 D5 DD 6E FC DD 66 FD R 00 00 01 00 T 3D 01 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 12 00 +R 00 00 01 00 2B 06 0F 00 T 42 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 12 00 2B 0A 0F 00 +R 00 00 01 00 02 04 0F 00 2B 0A 0E 00 T 48 01 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 0F 00 02 09 00 00 +R 00 00 01 00 02 04 0E 00 02 09 00 00 T 4F 01 00 00 0E 00 39 F9 EB DD 5E FC DD 56 FD R 00 00 01 00 T 5A 01 00 00 13 13 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 09 00 +R 00 00 01 00 2B 07 07 00 T 5F 01 00 00 00 00 00 00 CD 00 00 00 00 E5 0E -R 00 00 01 00 02 04 09 00 02 09 00 00 +R 00 00 01 00 02 04 07 00 02 09 00 00 T 66 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 +R 00 00 01 00 2B 04 01 00 02 0A 01 00 T 6C 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0F 00 02 0A 0F 00 +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T 72 01 00 00 00 00 00 00 F1 F1 F1 21 08 00 DD R 00 00 01 00 02 04 00 00 T 7B 01 00 00 4E FC DD 46 FD 09 EB 3E R 00 00 01 00 T 83 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 +R 00 00 01 00 2B 04 07 00 02 09 07 00 T 88 01 00 00 00 00 00 00 E5 1E 00 00 00 00 D5 -R 00 00 01 00 02 04 00 00 2B 0A 05 00 +R 00 00 01 00 02 04 00 00 2B 0A 01 00 T 8E 01 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 05 00 2B 0B 0F 00 +R 00 00 01 00 02 05 01 00 2B 0B 0E 00 T 94 01 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 0F 00 02 0A 00 00 +R 00 00 01 00 02 05 0E 00 02 0A 00 00 T 9B 01 00 00 F1 F1 21 0E 00 09 6E 26 00 29 11 R 00 00 01 00 T A6 01 00 00 00 00 00 00 19 5E 23 56 D5 1E -R 00 00 01 00 02 04 13 00 +R 00 00 01 00 02 04 12 00 T AE 01 00 00 00 00 00 00 D5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 06 00 02 0A 06 00 +R 00 00 01 00 2B 04 08 00 02 0A 08 00 T B4 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0F 00 02 0A 0F 00 +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T BA 01 00 00 00 00 00 00 F1 F1 F1 21 0E 00 09 R 00 00 01 00 02 04 00 00 T C3 01 00 00 46 05 05 20 26 21 6F 00 DD 4E FC @@ -191,17 +191,17 @@ R 00 00 01 00 T DD 01 00 00 R 00 00 01 00 T DD 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0B 07 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 T E3 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T E9 01 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 05 00 00 T EE 01 00 00 R 00 00 01 00 T EE 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 T F4 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T FA 01 00 00 CD 00 00 00 00 F1 F1 DD 6E FC DD R 00 00 01 00 02 05 00 00 T 03 02 00 00 66 FD 46 23 66 68 DD 75 FC DD 74 @@ -211,4 +211,4 @@ R 00 00 01 00 00 06 01 00 T 12 02 00 00 R 00 00 01 00 T 12 02 00 00 21 00 00 C3 00 00 00 00 -R 00 00 01 00 02 08 03 00 +R 00 00 01 00 02 08 05 00 diff --git a/src/nos/lib/internet_lib/udpcmd.rel b/src/nos/lib/internet_lib/udpcmd.rel index 9fe81fde..0b3557a7 100644 --- a/src/nos/lib/internet_lib/udpcmd.rel +++ b/src/nos/lib/internet_lib/udpcmd.rel @@ -1,24 +1,24 @@ XL4 H 4 areas 17 global symbols S _Udp_mib Ref00000000 -S ___0057_f7f3__20_20_20_20_26UCB_ Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0179_f73b__26UCB_20_20_20_20_ Ref00000000 -S ___0022_a0dd__0a Ref00000000 +S ___0058_f7f3__20_20_20_20_26UCB_ Ref00000000 +S ___0023_a0dd__0a Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Udps Ref00000000 S .__.ABS. Def00000000 S _pinet Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 +S ___01a5_f73b__26UCB_20_20_20_20_ Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?S_MUL_L02 Ref00000000 -S ___017c_ba4c__28_252u_29_25_2d20 Ref00000000 +S ___01a8_ba4c__28_252u_29_25_2d20 Ref00000000 S ?SS_CMP_L02 Ref00000000 S ?SS_MOD_L02 Ref00000000 +S ___06a6_5069_status Ref00000000 S __printf Ref00000000 -S ___0033_de40__20_20_20_20_20 Ref00000000 -S ___05c9_5069_status Ref00000000 -S ___0125_1260__259p_256u_20_20_25 Ref00000000 +S ___0140_1260__259p_256u_20_20_25 Ref00000000 +S ___0034_de40__20_20_20_20_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _subcmd Ref00000000 A _DEFAULT size 0 flags 0 @@ -30,43 +30,43 @@ A CDATA0 size 1A flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 09 00 +R 00 00 01 00 02 05 08 00 T 09 00 00 00 E5 C5 4B 42 11 00 00 00 00 3E R 00 00 01 00 00 09 02 00 T 11 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T 16 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 0B 05 00 +R 00 00 01 00 02 04 01 00 02 0B 04 00 T 1D 00 00 00 R 00 00 01 00 T 1D 00 00 00 CD 00 00 00 00 79 B0 20 11 -R 00 00 01 00 02 05 09 00 +R 00 00 01 00 02 05 08 00 T 24 00 00 00 R 00 00 01 00 T 24 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 T 2A 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 06 10 00 02 0B 10 00 T 30 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 35 00 00 00 R 00 00 01 00 T 35 00 00 00 DD 5E 02 DD 56 03 13 13 3E R 00 00 01 00 T 3E 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 +R 00 00 01 00 2B 04 07 00 02 09 07 00 T 43 00 00 00 00 00 00 00 E5 21 0D 00 DD 4E 02 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 4C 00 00 00 DD 46 03 09 5E 23 56 D5 C5 0E R 00 00 01 00 T 56 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 12 00 02 0A 12 00 +R 00 00 01 00 2B 04 11 00 02 0A 11 00 T 5C 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0F 00 02 0A 0F 00 +R 00 00 01 00 2B 05 10 00 02 0A 10 00 T 62 00 00 00 00 00 00 00 F1 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 6A 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 05 00 +R 00 00 01 00 02 04 04 00 T 6C 00 00 00 R 00 00 01 00 T 6C 00 00 00 CD 00 00 00 00 FC FF DD 36 FE 01 @@ -96,9 +96,9 @@ R 00 00 01 00 2B 0B 0C 00 T BE 00 00 00 C5 21 00 00 00 00 E5 3E R 00 00 01 00 02 06 0C 00 T C4 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 +R 00 00 01 00 2B 04 10 00 02 09 10 00 T C9 00 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T D2 00 00 00 01 02 00 DD 5E FE DD 56 FF CD R 00 00 01 00 T DC 00 00 00 00 00 00 00 7B B2 28 13 @@ -106,19 +106,19 @@ R 00 00 01 00 02 04 0E 00 T E2 00 00 00 R 00 00 01 00 T E2 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 10 00 02 0B 10 00 +R 00 00 01 00 2B 05 12 00 02 0B 12 00 T E8 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 06 10 00 02 0B 10 00 T EE 00 00 00 CD 00 00 00 00 F1 F1 18 11 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T F5 00 00 00 R 00 00 01 00 T F5 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 04 00 02 0B 04 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 T FB 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 06 10 00 02 0B 10 00 T 01 01 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 06 01 00 00 R 00 00 01 00 T 06 01 00 00 DD 34 FE 20 03 DD 34 FF @@ -136,21 +136,21 @@ R 00 00 01 00 02 04 0E 00 T 21 01 00 00 R 00 00 01 00 T 21 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 04 00 02 0B 04 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 T 27 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 06 10 00 02 0B 10 00 T 2D 01 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 32 01 00 00 R 00 00 01 00 T 32 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 T 38 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 06 10 00 02 0B 10 00 T 3E 01 00 00 CD 00 00 00 00 F1 F1 2A -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 44 01 00 00 00 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T 4C 01 00 00 R 00 00 01 00 T 4C 01 00 00 DD 7E FC DD B6 FD 28 2D @@ -162,7 +162,7 @@ R 00 00 01 00 T 5E 01 00 00 1D 00 00 00 21 1D 00 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T 63 01 00 00 00 00 00 00 7D A4 3C 20 05 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 6A 01 00 00 R 00 00 01 00 T 6A 01 00 00 21 00 00 18 15 @@ -180,13 +180,13 @@ R 00 00 01 00 T 84 01 00 00 R 00 00 01 00 T 84 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 04 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 6C 00 00 00 00 00 -R 00 00 03 00 4A 04 11 00 48 08 01 00 +R 00 00 03 00 4A 04 0F 00 48 08 01 00 T 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 T 13 00 00 00 00 00 00 00 00 00 00 diff --git a/src/nos/lib/internet_lib/udpsock.rel b/src/nos/lib/internet_lib/udpsock.rel index 454a6f38..a7fa3104 100644 --- a/src/nos/lib/internet_lib/udpsock.rel +++ b/src/nos/lib/internet_lib/udpsock.rel @@ -119,7 +119,7 @@ T 09 01 00 00 B7 28 13 R 00 00 01 00 T 0C 01 00 00 R 00 00 01 00 -T 0C 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 0C 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 0A 00 T 15 01 00 00 64 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -127,7 +127,7 @@ T 1D 01 00 00 D8 01 00 00 R 00 00 01 00 00 04 01 00 T 1F 01 00 00 R 00 00 01 00 -T 1F 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T 1F 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 0A 00 T 28 01 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 R 00 00 01 00 2B 0B 0C 00 @@ -149,7 +149,7 @@ T 49 01 00 00 DD 7E F6 DD B6 F7 20 12 R 00 00 01 00 T 51 01 00 00 R 00 00 01 00 -T 51 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 51 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 0A 00 T 5A 01 00 00 65 23 36 00 21 FF FF 18 75 R 00 00 01 00 @@ -241,7 +241,7 @@ T 71 02 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 R 00 00 01 00 2B 0B 11 00 T 79 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 11 00 02 0A 00 00 -T 80 02 00 00 4D 00 ED 4B 00 00 00 00 09 36 65 +T 80 02 00 00 4F 00 ED 4B 00 00 00 00 09 36 65 R 00 00 01 00 02 08 0A 00 T 89 02 00 00 23 36 00 21 FF FF 18 70 R 00 00 01 00 diff --git a/src/nos/lib/intl.lib b/src/nos/lib/intl.lib index 1960829f..45a56c2b 100644 --- a/src/nos/lib/intl.lib +++ b/src/nos/lib/intl.lib @@ -32,3 +32,5 @@ intl_lib/_strncmp.rel __strncmp intl_lib/_strncpy.rel __strncpy +intl_lib/_stricmp.rel + __stricmp diff --git a/src/nos/lib/intl_lib/_stricmp.rel b/src/nos/lib/intl_lib/_stricmp.rel new file mode 100644 index 00000000..34a410eb --- /dev/null +++ b/src/nos/lib/intl_lib/_stricmp.rel @@ -0,0 +1,60 @@ +XL4 +H 2 areas A global symbols +S _stricmp Ref00000000 +S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___getfail Ref00000000 +S .__.ABS. Def00000000 +S _free Ref00000000 +S __gettext Ref00000000 +S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ?CL64180B_4_06_L00 Ref00000000 +A _DEFAULT size 0 flags 0 +A CODE size 76 flags 0 +S __stricmp Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 CD 00 00 00 00 FC FF DD 4E 0C DD +R 00 00 01 00 02 05 07 00 +T 09 00 00 00 5E 0A DD 56 0B 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 06 00 +T 11 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 06 00 02 09 01 00 +T 18 00 00 00 FE DD 74 FF 7D B4 20 25 +R 00 00 01 00 +T 20 00 00 00 +R 00 00 01 00 +T 20 00 00 00 DD 4E 0C DD 5E 0A DD 56 0B 3E +R 00 00 01 00 +T 2A 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 2F 00 00 00 00 00 00 00 DD 6E 02 DD 66 03 AF +R 00 00 01 00 02 04 01 00 +T 38 00 00 00 B6 28 05 21 01 00 18 03 +R 00 00 01 00 +T 40 00 00 00 +R 00 00 01 00 +T 40 00 00 00 21 00 00 +R 00 00 01 00 +T 43 00 00 00 +R 00 00 01 00 +T 43 00 00 00 18 2E +R 00 00 01 00 +T 45 00 00 00 +R 00 00 01 00 +T 45 00 00 00 DD 4E FE DD 46 FF DD 5E 02 DD 56 +R 00 00 01 00 +T 50 00 00 00 03 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 00 00 02 0B 00 00 +T 56 00 00 00 CD 00 00 00 00 DD 75 FC DD 74 FD +R 00 00 01 00 02 05 01 00 +T 5F 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +R 00 00 01 00 2B 0B 05 00 +T 67 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 05 00 02 0A 01 00 +T 6E 00 00 00 6E FC DD 66 FD +R 00 00 01 00 +T 73 00 00 00 +R 00 00 01 00 +T 73 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/intl_lib/_vdprintf.rel b/src/nos/lib/intl_lib/_vdprintf.rel index b85de3af..f5aefb3d 100644 --- a/src/nos/lib/intl_lib/_vdprintf.rel +++ b/src/nos/lib/intl_lib/_vdprintf.rel @@ -18,7 +18,7 @@ T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF 2A R 00 00 01 00 02 05 06 00 -T 06 00 00 00 00 00 00 00 01 6F 00 09 46 23 66 +T 06 00 00 00 00 00 00 00 01 71 00 09 46 23 66 R 00 00 01 00 02 04 01 00 T 0F 00 00 00 68 DD 75 FE DD 74 FF DD 4E 02 DD R 00 00 01 00 diff --git a/src/nos/lib/messages.lib b/src/nos/lib/messages.lib index ce938c7d..452b5566 100644 --- a/src/nos/lib/messages.lib +++ b/src/nos/lib/messages.lib @@ -38,3209 +38,3655 @@ messages_lib/0012_9f29__09IN.rel ___0012_9f29__09IN messages_lib/0013_53f6__09Local_3a_09.rel ___0013_53f6__09Local_3a_09 -messages_lib/0014_a684__09Remote_3a_09.rel - ___0014_a684__09Remote_3a_09 -messages_lib/0015_e0e0__09Urgent_20pointer.rel - ___0015_e0e0__09Urgent_20pointer -messages_lib/0016_c0f0__09changes_3a_200x_.rel - ___0016_c0f0__09changes_3a_200x_ -messages_lib/0017_6a8d__09connection_200x_.rel - ___0017_6a8d__09connection_200x_ -messages_lib/0018_a28a__09connection_20ID_.rel - ___0018_a28a__09connection_20ID_ -messages_lib/0019_cf72__09delta_20ACK_20an.rel - ___0019_cf72__09delta_20ACK_20an -messages_lib/001a_8077__09delta_20ACK_3a_2.rel - ___001a_8077__09delta_20ACK_3a_2 -messages_lib/001b_4a2b__09delta_20ID_3a_20.rel - ___001b_4a2b__09delta_20ID_3a_20 -messages_lib/001c_7710__09delta_20SEQ_20im.rel - ___001c_7710__09delta_20SEQ_20im -messages_lib/001d_a966__09delta_20SEQ_3a_2.rel - ___001d_a966__09delta_20SEQ_3a_2 -messages_lib/001e_f05a__09delta_20WINDOW_3.rel - ___001e_f05a__09delta_20WINDOW_3 -messages_lib/001f_ad18__09increment_20ID_0.rel - ___001f_ad18__09increment_20ID_0 -messages_lib/0020_13bc__09local_20IP_20add.rel - ___0020_13bc__09local_20IP_20add -messages_lib/0021_efeb__09pid_20_25d_2c_20.rel - ___0021_efeb__09pid_20_25d_2c_20 -messages_lib/0022_a0dd__0a.rel - ___0022_a0dd__0a -messages_lib/0023_f279__0a_20_20_20_20.rel - ___0023_f279__0a_20_20_20_20 -messages_lib/0024_f170__0a_20_20_20_20_20_.rel - ___0024_f170__0a_20_20_20_20_20_ -messages_lib/0025_da94__0a_25s_20_2d_20_25.rel - ___0025_da94__0a_25s_20_2d_20_25 -messages_lib/0026_e088__0a_25s_20_2d_20_25.rel - ___0026_e088__0a_25s_20_2d_20_25 -messages_lib/0027_c061__0a_2a_2a_2a_20Loca.rel - ___0027_c061__0a_2a_2a_2a_20Loca -messages_lib/0028_932c__0a_2a_2a_2a_20Unab.rel - ___0028_932c__0a_2a_2a_2a_20Unab -messages_lib/0029_2592__0a_2a_2a_2a_2a_2a_.rel - ___0029_2592__0a_2a_2a_2a_2a_2a_ -messages_lib/002a_0887__0aCurrent_20remote.rel - ___002a_0887__0aCurrent_20remote -messages_lib/002b_ebd8__0aReclaimation_20a.rel - ___002b_ebd8__0aReclaimation_20a -messages_lib/002c_c546__0aUsed_20address_2.rel - ___002c_c546__0aUsed_20address_2 -messages_lib/002d_e8fc__0apanic_3a_20.rel - ___002d_e8fc__0apanic_3a_20 -messages_lib/002e_2e85__20.rel - ___002e_2e85__20 -messages_lib/002f_4403__20_0aend_0asize_20.rel - ___002f_4403__20_0aend_0asize_20 -messages_lib/0030_f289__20_20.rel - ___0030_f289__20_20 -messages_lib/0031_3839__20_20_20.rel - ___0031_3839__20_20_20 -messages_lib/0032_8d78__20_20_20_20.rel - ___0032_8d78__20_20_20_20 -messages_lib/0033_de40__20_20_20_20_20.rel - ___0033_de40__20_20_20_20_20 -messages_lib/0034_3e02__20_20_20_20_20_20_.rel - ___0034_3e02__20_20_20_20_20_20_ -messages_lib/0035_0534__20_20_20_20_20_20_.rel - ___0035_0534__20_20_20_20_20_20_ -messages_lib/0036_3fef__20_20_20_20_20_20_.rel - ___0036_3fef__20_20_20_20_20_20_ -messages_lib/0037_3164__20_20_20_20_20_20_.rel - ___0037_3164__20_20_20_20_20_20_ -messages_lib/0038_c6d7__20_20_20_20_20_20_.rel - ___0038_c6d7__20_20_20_20_20_20_ -messages_lib/0039_9d57__20_20_20_20_20_20_.rel - ___0039_9d57__20_20_20_20_20_20_ -messages_lib/003a_d46e__20_20_20_20_20_20_.rel - ___003a_d46e__20_20_20_20_20_20_ -messages_lib/003b_f37c__20_20_20_20_20_20_.rel - ___003b_f37c__20_20_20_20_20_20_ -messages_lib/003c_5dd1__20_20_20_20_20_20_.rel - ___003c_5dd1__20_20_20_20_20_20_ -messages_lib/003d_0406__20_20_20_20_20_20_.rel - ___003d_0406__20_20_20_20_20_20_ -messages_lib/003e_da67__20_20_20_20_20_20_.rel - ___003e_da67__20_20_20_20_20_20_ -messages_lib/003f_f638__20_20_20_20_20_20_.rel - ___003f_f638__20_20_20_20_20_20_ -messages_lib/0040_74c7__20_20_20_20_20_20_.rel - ___0040_74c7__20_20_20_20_20_20_ -messages_lib/0041_f10d__20_20_20_20_20_20_.rel - ___0041_f10d__20_20_20_20_20_20_ -messages_lib/0042_d02b__20_20_20_20_20_20_.rel - ___0042_d02b__20_20_20_20_20_20_ -messages_lib/0043_0105__20_20_20_20_20_20_.rel - ___0043_0105__20_20_20_20_20_20_ -messages_lib/0044_c46d__20_20_20_20_20_20_.rel - ___0044_c46d__20_20_20_20_20_20_ -messages_lib/0045_3a28__20_20_20_20_20_20_.rel - ___0045_3a28__20_20_20_20_20_20_ -messages_lib/0046_48df__20_20_20_20_20_20_.rel - ___0046_48df__20_20_20_20_20_20_ -messages_lib/0047_da1e__20_20_20_20_20_20s.rel - ___0047_da1e__20_20_20_20_20_20s -messages_lib/0048_3800__20_20_20_20_20_26A.rel - ___0048_3800__20_20_20_20_20_26A -messages_lib/0049_0e60__20_20_20_20_20_28_.rel - ___0049_0e60__20_20_20_20_20_28_ -messages_lib/004a_d7d4__20_20_20_20_20Broa.rel - ___004a_d7d4__20_20_20_20_20Broa -messages_lib/004b_f5a8__20_20_20_20_20Defa.rel - ___004b_f5a8__20_20_20_20_20Defa -messages_lib/004c_de7b__20_20_20_20_20Host.rel - ___004c_de7b__20_20_20_20_20Host -messages_lib/004d_a271__20_20_20_20_20INF.rel - ___004d_a271__20_20_20_20_20INF -messages_lib/004e_1775__20_20_20_20_20IP_2.rel - ___004e_1775__20_20_20_20_20IP_2 -messages_lib/004f_7765__20_20_20_20_20Name.rel - ___004f_7765__20_20_20_20_20Name -messages_lib/0050_6879__20_20_20_20_20Subn.rel - ___0050_6879__20_20_20_20_20Subn -messages_lib/0051_dac6__20_20_20_20_25_2d4.rel - ___0051_dac6__20_20_20_20_25_2d4 -messages_lib/0052_b576__20_20_20_20_2512s.rel - ___0052_b576__20_20_20_20_2512s -messages_lib/0053_e5e6__20_20_20_20_253u_0.rel - ___0053_e5e6__20_20_20_20_253u_0 -messages_lib/0054_ed50__20_20_20_20_25s_20.rel - ___0054_ed50__20_20_20_20_25s_20 -messages_lib/0055_3528__20_20_20_20_25s_20.rel - ___0055_3528__20_20_20_20_25s_20 -messages_lib/0056_cbdf__20_20_20_20_25s_20.rel - ___0056_cbdf__20_20_20_20_25s_20 -messages_lib/0057_f7f3__20_20_20_20_26UCB_.rel - ___0057_f7f3__20_20_20_20_26UCB_ -messages_lib/0058_9bd9__20_20_20_20In_09TC.rel - ___0058_9bd9__20_20_20_20In_09TC -messages_lib/0059_7788__20_20_20_20Out_09T.rel - ___0059_7788__20_20_20_20Out_09T -messages_lib/005a_8f4d__20_20_20_20Record_.rel - ___005a_8f4d__20_20_20_20Record_ -messages_lib/005b_eacd__20_20_20_20Upload_.rel - ___005b_eacd__20_20_20_20Upload_ -messages_lib/005c_2da2__20_20_20_25s_0a.rel - ___005c_2da2__20_20_20_25s_0a -messages_lib/005d_ad66__20_20_20PUSH.rel - ___005d_ad66__20_20_20PUSH -messages_lib/005e_9f3a__20_20_20TCP_20chec.rel - ___005e_9f3a__20_20_20TCP_20chec -messages_lib/005f_5946__20_20_20connection.rel - ___005f_5946__20_20_20connection -messages_lib/0060_f01f__20_20_3d_3d_3d_3d_.rel - ___0060_f01f__20_20_3d_3d_3d_3d_ -messages_lib/0061_cfff__20_20_3d_3d_3d_3d_.rel - ___0061_cfff__20_20_3d_3d_3d_3d_ -messages_lib/0062_8181__20_20SR_20_5bnumbe.rel - ___0062_8181__20_20SR_20_5bnumbe -messages_lib/0063_1149__20_20S_5bF_5d_20na.rel - ___0063_1149__20_20S_5bF_5d_20na -messages_lib/0064_47af__20_20remote_20IP_2.rel - ___0064_47af__20_20remote_20IP_2 -messages_lib/0065_ccb1__20_20seq_20x_25lx_.rel - ___0065_ccb1__20_20seq_20x_25lx_ -messages_lib/0066_c997__20_21_3f.rel - ___0066_c997__20_21_3f -messages_lib/0067_536e__20_21A.rel - ___0067_536e__20_21A -messages_lib/0068_27d1__20_21F.rel - ___0068_27d1__20_21F -messages_lib/0069_ceaf__20_21H.rel - ___0069_ceaf__20_21H -messages_lib/006a_ab99__20_21N.rel - ___006a_ab99__20_21N -messages_lib/006b_5266__20_21P.rel - ___006b_5266__20_21P -messages_lib/006c_60fd__20_21S.rel - ___006c_60fd__20_21S -messages_lib/006d_bac3__20_23_20_20S_23_20.rel - ___006d_bac3__20_23_20_20S_23_20 -messages_lib/006e_9a7d__20_25_2d15s.rel - ___006e_9a7d__20_25_2d15s -messages_lib/006f_85f4__20_25_2d3d_20.rel - ___006f_85f4__20_25_2d3d_20 -messages_lib/0070_a413__20_2502u_2f_2502u.rel - ___0070_a413__20_2502u_2f_2502u -messages_lib/0071_d8f4__20_2502u_2f_2502u_.rel - ___0071_d8f4__20_2502u_2f_2502u_ -messages_lib/0072_4d6e__20_2502x.rel - ___0072_4d6e__20_2502x -messages_lib/0073_cad1__20_2510lu_2510lu_2.rel - ___0073_cad1__20_2510lu_2510lu_2 -messages_lib/0074_43b6__20_254d_20_254d.rel - ___0074_43b6__20_254d_20_254d -messages_lib/0075_78a4__20_258s_20_20_20_2.rel - ___0075_78a4__20_258s_20_20_20_2 -messages_lib/0076_6904__20_25lu_20bps_0a.rel - ___0076_6904__20_25lu_20bps_0a -messages_lib/0077_269f__20_25s.rel - ___0077_269f__20_25s -messages_lib/0078_c302__20_25s_0a.rel - ___0078_c302__20_25s_0a -messages_lib/0079_10eb__20_25s_20_25s_20_2.rel - ___0079_10eb__20_25s_20_25s_20_2 -messages_lib/007a_c236__20_25s_25s.rel - ___007a_c236__20_25s_25s -messages_lib/007b_3c84__20_25s_2b_25x.rel - ___007b_3c84__20_25s_2b_25x -messages_lib/007c_97d2__20_25u_0a.rel - ___007c_97d2__20_25u_0a -messages_lib/007d_5984__20_25u_2d_3e_25u.rel - ___007d_5984__20_25u_2d_3e_25u -messages_lib/007e_98a5__20_28_25ld_20ms_29.rel - ___007e_98a5__20_28_25ld_20ms_29 -messages_lib/007f_9556__20_28_25s_20seek_3.rel - ___007f_9556__20_28_25s_20seek_3 -messages_lib/0080_6268__20_28_25s_29_0a.rel - ___0080_6268__20_28_25s_29_0a -messages_lib/0081_3f71__20_28ASCII_20dump_.rel - ___0081_3f71__20_28ASCII_20dump_ -messages_lib/0082_05b3__20_28Hex_2fASCII_2.rel - ___0082_05b3__20_28Hex_2fASCII_2 -messages_lib/0083_0cd7__20_28S_29.rel - ___0083_0cd7__20_28S_29 -messages_lib/0084_ef5f__20_28headers_20onl.rel - ___0084_ef5f__20_28headers_20onl -messages_lib/0085_c04d__20_28published_29.rel - ___0085_c04d__20_28published_29 -messages_lib/0086_ac28__20_2a_2a_2a.rel - ___0086_ac28__20_2a_2a_2a -messages_lib/0087_8841__20_2d_20.rel - ___0087_8841__20_2d_20 -messages_lib/0088_ace7__20_2d_20no_20broad.rel - ___0088_ace7__20_2d_20no_20broad -messages_lib/0089_01a0__20APND.rel - ___0089_01a0__20APND -messages_lib/008a_2da0__20Ack_20x_25lx.rel - ___008a_2da0__20Ack_20x_25lx -messages_lib/008b_f35d__20BUSY.rel - ___008b_f35d__20BUSY -messages_lib/008c_43af__20CE.rel - ___008c_43af__20CE -messages_lib/008d_d667__20CHECKSUM_20ERROR.rel - ___008d_d667__20CHECKSUM_20ERROR -messages_lib/008e_5947__20CHOKE.rel - ___008e_5947__20CHOKE -messages_lib/008f_3c3c__20DF.rel - ___008f_3c3c__20DF -messages_lib/0090_26b0__20Data_20_25u.rel - ___0090_26b0__20Data_20_25u -messages_lib/0091_5125__20EOF.rel - ___0091_5125__20EOF -messages_lib/0092_2269__20ERR.rel - ___0092_2269__20ERR -messages_lib/0093_869e__20IPaddr_20_25s.rel - ___0093_869e__20IPaddr_20_25s -messages_lib/0094_d267__20Illegal_20I_2dfi.rel - ___0094_d267__20Illegal_20I_2dfi -messages_lib/0095_d316__20Invalid_20contro.rel - ___0095_d316__20Invalid_20contro -messages_lib/0096_1e4f__20Invalid_20seq_20.rel - ___0096_1e4f__20Invalid_20seq_20 -messages_lib/0097_fd02__20MC_3a_20int_20_2.rel - ___0097_fd02__20MC_3a_20int_20_2 -messages_lib/0098_eb24__20MF.rel - ___0098_eb24__20MF -messages_lib/0099_747e__20MORE.rel - ___0099_747e__20MORE -messages_lib/009a_c5ed__20MSS_20_25u.rel - ___009a_c5ed__20MSS_20_25u -messages_lib/009b_3976__20NAK.rel - ___009b_3976__20NAK -messages_lib/009c_c092__20NR_3d_25d.rel - ___009c_c092__20NR_3d_25d -messages_lib/009d_dc29__20NS_3d_25d.rel - ___009d_dc29__20NS_3d_25d -messages_lib/009e_df24__20RX_3a_20int_20_2.rel - ___009e_df24__20RX_3a_20int_20_2 -messages_lib/009f_78a4__20Raw_20output.rel - ___009f_78a4__20Raw_20output -messages_lib/00a0_a393__20Remote_3a_20_25s.rel - ___00a0_a393__20Remote_3a_20_25s -messages_lib/00a1_d7c2__20Retry.rel - ___00a1_d7c2__20Retry -messages_lib/00a2_42ba__20ST_3a_20int_20_2.rel - ___00a2_42ba__20ST_3a_20int_20_2 -messages_lib/00a3_d322__20State_3a_20_25s_.rel - ___00a3_d322__20State_3a_20_25s_ -messages_lib/00a4_c86b__20TMP.rel - ___00a4_c86b__20TMP -messages_lib/00a5_2dcc__20TSTAMP_20_25lu_2.rel - ___00a5_2dcc__20TSTAMP_20_25lu_2 -messages_lib/00a6_e8c1__20TX_3a_20int_20_2.rel - ___00a6_e8c1__20TX_3a_20int_20_2 -messages_lib/00a7_d70d__20Too_2dlong_20I_2.rel - ___00a7_d70d__20Too_2dlong_20I_2 -messages_lib/00a8_5a85__20UP_20x_25x.rel - ___00a8_5a85__20UP_20x_25x -messages_lib/00a9_2210__20Unack_3a_20_25_2.rel - ___00a9_2210__20Unack_3a_20_25_2 -messages_lib/00aa_3a68__20Unknown_20passwo.rel - ___00aa_3a68__20Unknown_20passwo -messages_lib/00ab_23f3__20Vr_20_3d_20_25d_.rel - ___00ab_23f3__20Vr_20_3d_20_25d_ -messages_lib/00ac_a984__20WSCALE_20_25u.rel - ___00ac_a984__20WSCALE_20_25u -messages_lib/00ad_1d25__20Wnd_20_25u.rel - ___00ad_1d25__20Wnd_20_25u -messages_lib/00ae_e77d__20_5b_25s_5d_20_25.rel - ___00ae_e77d__20_5b_25s_5d_20_25 -messages_lib/00af_7762__20_5bcts_20flow_20.rel - ___00af_7762__20_5bcts_20flow_20 -messages_lib/00b0_2f4d__20_5brlsd_20line_2.rel - ___00b0_2f4d__20_5brlsd_20line_2 -messages_lib/00b1_db59__20_5btrigger_200x_.rel - ___00b1_db59__20_5btrigger_200x_ -messages_lib/00b2_bc24__20asy_20.rel - ___00b2_bc24__20asy_20 -messages_lib/00b3_c96a__20bad_20header_21_.rel - ___00b3_c96a__20bad_20header_21_ -messages_lib/00b4_0acc__20bad_20packet_0a.rel - ___00b4_0acc__20bad_20packet_0a -messages_lib/00b5_d795__20cmd_20_25u.rel - ___00b5_d795__20cmd_20_25u -messages_lib/00b6_1813__20code_20_25s.rel - ___00b6_1813__20code_20_25s -messages_lib/00b7_ad83__20dest_20_25s.rel - ___00b7_ad83__20dest_20_25s -messages_lib/00b8_e3a3__20dest_20_25s_20_2.rel - ___00b8_e3a3__20dest_20_25s_20_2 -messages_lib/00b9_4976__20diag.rel - ___00b9_4976__20diag -messages_lib/00ba_e36a__20file.rel - ___00ba_e36a__20file -messages_lib/00bb_5e9d__20full.rel - ___00bb_5e9d__20full -messages_lib/00bc_4c62__20hwaddr_20_25s_0a.rel - ___00bc_4c62__20hwaddr_20_25s_0a -messages_lib/00bd_ed56__20hwlen_20_25u.rel - ___00bd_ed56__20hwlen_20_25u -messages_lib/00be_2971__20hwtype_20_25s.rel - ___00be_2971__20hwtype_20_25s -messages_lib/00bf_3119__20id_20_25u_20offs.rel - ___00bf_3119__20id_20_25u_20offs -messages_lib/00c0_8f2f__20id_20_25u_20pctl.rel - ___00c0_8f2f__20id_20_25u_20pctl -messages_lib/00c1_20f7__20id_20_25u_20seq_.rel - ___00c1_20f7__20id_20_25u_20seq_ -messages_lib/00c2_8c07__20idle_20timer_20_.rel - ___00c2_8c07__20idle_20timer_20_ -messages_lib/00c3_7166__20input.rel - ___00c3_7166__20input -messages_lib/00c4_6c92__20len_20_25u.rel - ___00c4_6c92__20len_20_25u -messages_lib/00c5_0c74__20line.rel - ___00c5_0c74__20line -messages_lib/00c6_2537__20new_20gateway_20.rel - ___00c6_2537__20new_20gateway_20 -messages_lib/00c7_ea43__20new_20gateway_20.rel - ___00c7_ea43__20new_20gateway_20 -messages_lib/00c8_e3db__20none.rel - ___00c8_e3db__20none -messages_lib/00c9_826b__20offset_20_25u_20.rel - ___00c9_826b__20offset_20_25u_20 -messages_lib/00ca_6680__20op_20_25u.rel - ___00ca_6680__20op_20_25u -messages_lib/00cb_f7d5__20op_20REPLY.rel - ___00cb_f7d5__20op_20REPLY -messages_lib/00cc_5e3d__20op_20REQUEST.rel - ___00cc_5e3d__20op_20REQUEST -messages_lib/00cd_9500__20op_20REVERSE_20R.rel - ___00cd_9500__20op_20REVERSE_20R -messages_lib/00ce_3faa__20op_20REVERSE_20R.rel - ___00ce_3faa__20op_20REVERSE_20R -messages_lib/00cf_8a3d__20output.rel - ___00cf_8a3d__20output -messages_lib/00d0_5896__20pid_3d0x_25x_0a.rel - ___00d0_5896__20pid_3d0x_25x_0a -messages_lib/00d1_aba6__20pid_3dARP_0a.rel - ___00d1_aba6__20pid_3dARP_0a -messages_lib/00d2_d4e9__20pid_3dIP_0a.rel - ___00d2_d4e9__20pid_3dIP_0a -messages_lib/00d3_a349__20pid_3dNET_2fROM_.rel - ___00d3_a349__20pid_3dNET_2fROM_ -messages_lib/00d4_932f__20pid_3dTEXNET_0a.rel - ___00d4_932f__20pid_3dTEXNET_0a -messages_lib/00d5_4927__20pid_3dText_0a.rel - ___00d5_4927__20pid_3dText_0a -messages_lib/00d6_c207__20pid_3dX_2e25_0a.rel - ___00d6_c207__20pid_3dX_2e25_0a -messages_lib/00d7_5760__20pipe.rel - ___00d7_5760__20pipe -messages_lib/00d8_ac0a__20pointer_20_25u.rel - ___00d8_ac0a__20pointer_20_25u -messages_lib/00d9_5557__20prot_20_25s_0a.rel - ___00d9_5557__20prot_20_25s_0a -messages_lib/00da_0187__20prot_20_25u_0a.rel - ___00da_0187__20prot_20_25u_0a -messages_lib/00db_75a2__20prot_200x_25x_20.rel - ___00db_75a2__20prot_200x_25x_20 -messages_lib/00dc_3541__20prot_20IP.rel - ___00dc_3541__20prot_20IP -messages_lib/00dd_1888__20receive_20_20_2d.rel - ___00dd_1888__20receive_20_20_2d -messages_lib/00de_f2f3__20sock.rel - ___00de_f2f3__20sock -messages_lib/00df_c067__20spi_20_25lx.rel - ___00df_c067__20spi_20_25lx -messages_lib/00e0_2902__20sw_20over_20_25l.rel - ___00e0_2902__20sw_20over_20_25l -messages_lib/00e1_0bfc__20tos_20_25u.rel - ___00e1_0bfc__20tos_20_25u -messages_lib/00e2_e1c5__20trace_20file_3a_.rel - ___00e2_e1c5__20trace_20file_3a_ -messages_lib/00e3_ca97__20tracing_20off_0a.rel - ___00e3_ca97__20tracing_20off_0a -messages_lib/00e4_be19__20transmit_20_2d_2.rel - ___00e4_be19__20transmit_20_2d_2 -messages_lib/00e5_afd2__20ttl_20_25d_0a.rel - ___00e5_afd2__20ttl_20_25d_0a -messages_lib/00e6_6f53__20txseq_20_25d_20r.rel - ___00e6_6f53__20txseq_20_25d_20r -messages_lib/00e7_c8f3__20type_200x_25x_0a.rel - ___00e7_c8f3__20type_200x_25x_0a -messages_lib/00e8_6772__20type_20ARP_0a.rel - ___00e8_6772__20type_20ARP_0a -messages_lib/00e9_5c83__20type_20IP_0a.rel - ___00e9_5c83__20type_20IP_0a -messages_lib/00ea_f937__20type_20REVARP_0a.rel - ___00ea_f937__20type_20REVARP_0a -messages_lib/00eb_c53a__20v.rel - ___00eb_c53a__20v -messages_lib/00ec_9158__20vers_20_25u_20en.rel - ___00ec_9158__20vers_20_25u_20en -messages_lib/00ed_994d__20wnd_20_25d.rel - ___00ed_994d__20wnd_20_25d -messages_lib/00ee_426e__20_7c_20.rel - ___00ee_426e__20_7c_20 -messages_lib/00ef_3f0c__21.rel - ___00ef_3f0c__21 -messages_lib/00f0_f9eb__21_21_20_25s_20_25.rel - ___00f0_f9eb__21_21_20_25s_20_25 -messages_lib/00f1_ef2d__21_21_20maximum_20.rel - ___00f1_ef2d__21_21_20maximum_20 -messages_lib/00f2_55d7__22_25s_22_20_2d_20.rel - ___00f2_55d7__22_25s_22_20_2d_20 -messages_lib/00f3_60ae__23_20queries_20eac.rel - ___00f3_60ae__23_20queries_20eac -messages_lib/00f4_1acc__23_20secs_20to_20w.rel - ___00f4_1acc__23_20secs_20to_20w -messages_lib/00f5_fb95__25_2d10_2e10s_20_2.rel - ___00f5_fb95__25_2d10_2e10s_20_2 -messages_lib/00f6_3035__25_2d10s_20IP_20ad.rel - ___00f6_3035__25_2d10s_20IP_20ad -messages_lib/00f7_01be__25_2d10s_25_2d17s.rel - ___00f7_01be__25_2d10s_25_2d17s -messages_lib/00f8_4da0__25_2d10s_25_2d17s_.rel - ___00f8_4da0__25_2d10s_25_2d17s_ -messages_lib/00f9_ff4a__25_2d10s_25_2d6s.rel - ___00f9_ff4a__25_2d10s_25_2d6s -messages_lib/00fa_e1c2__25_2d11s_25_2d9s_2.rel - ___00fa_e1c2__25_2d11s_25_2d9s_2 -messages_lib/00fb_7335__25_2d13s.rel - ___00fb_7335__25_2d13s -messages_lib/00fc_27e5__25_2d15s.rel - ___00fc_27e5__25_2d15s -messages_lib/00fd_0d8d__25_2d16s.rel - ___00fd_0d8d__25_2d16s -messages_lib/00fe_e560__25_2d16s_20_20.rel - ___00fe_e560__25_2d16s_20_20 -messages_lib/00ff_f903__25_2d16s_25_2d3u_2.rel - ___00ff_f903__25_2d16s_25_2d3u_2 -messages_lib/0100_2609__25_2d16s_25_2d9lu_.rel - ___0100_2609__25_2d16s_25_2d9lu_ -messages_lib/0101_1455__25_2d17s.rel - ___0101_1455__25_2d17s -messages_lib/0102_e920__25_2d20s_258lu_258.rel - ___0102_e920__25_2d20s_258lu_258 -messages_lib/0103_8589__25_2d22s.rel - ___0103_8589__25_2d22s -messages_lib/0104_b616__25_2d22s_0a.rel - ___0104_b616__25_2d22s_0a -messages_lib/0105_9c51__25_2d23s.rel - ___0105_9c51__25_2d23s -messages_lib/0106_bf59__25_2d2u.rel - ___0106_bf59__25_2d2u -messages_lib/0107_6601__25_2d32s_20_28_25l.rel - ___0107_6601__25_2d32s_20_28_25l -messages_lib/0108_a681__25_2d3u.rel - ___0108_a681__25_2d3u -messages_lib/0109_ea81__25_2d4d.rel - ___0109_ea81__25_2d4d -messages_lib/010a_6f94__25_2d4d_255d_20_25.rel - ___010a_6f94__25_2d4d_255d_20_25 -messages_lib/010b_eb89__25_2d4u.rel - ___010b_eb89__25_2d4u -messages_lib/010c_2455__25_2d5ld.rel - ___010c_2455__25_2d5ld -messages_lib/010d_90e5__25_2d7lu.rel - ___010d_90e5__25_2d7lu -messages_lib/010e_8982__25_2d7s_20_25_2d8s.rel - ___010e_8982__25_2d7s_20_25_2d8s -messages_lib/010f_da22__25_2d8lu.rel - ___010f_da22__25_2d8lu -messages_lib/0110_d1e2__25_2ds.rel - ___0110_d1e2__25_2ds -messages_lib/0111_1e56__2502x.rel - ___0111_1e56__2502x -messages_lib/0112_3773__2504x_20_20.rel - ___0112_3773__2504x_20_20 -messages_lib/0113_6df9__2504x_20_20_2504x_.rel - ___0113_6df9__2504x_20_20_2504x_ -messages_lib/0114_aa0a__2504x_3a_2504x.rel - ___0114_aa0a__2504x_3a_2504x -messages_lib/0115_83ad__2510lu_20In_2c_20_.rel - ___0115_83ad__2510lu_20In_2c_20_ -messages_lib/0116_cbd3__2510lu_20Out_2c_20.rel - ___0116_cbd3__2510lu_20Out_2c_20 -messages_lib/0117_2875__2510lu_2510lu_255l.rel - ___0117_2875__2510lu_2510lu_255l -messages_lib/0118_a689__251s_20_253d_20_20.rel - ___0118_a689__251s_20_253d_20_20 -messages_lib/0119_e9b8__252d_20_25_2d6s_20.rel - ___0119_e9b8__252d_20_25_2d6s_20 -messages_lib/011a_b620__252d_20_25_2d6s_20.rel - ___011a_b620__252d_20_25_2d6s_20 -messages_lib/011b_1703__253d_3a.rel - ___011b_1703__253d_3a -messages_lib/011c_b932__254d_20_25_2d8s_25.rel - ___011c_b932__254d_20_25_2d8s_25 -messages_lib/011d_936b__254s.rel - ___011d_936b__254s -messages_lib/011e_4a96__258lu.rel - ___011e_4a96__258lu -messages_lib/011f_5eaf__258lu_0a.rel - ___011f_5eaf__258lu_0a -messages_lib/0120_3acb__258s.rel - ___0120_3acb__258s -messages_lib/0121_3341__258u_2510u_2511lu_.rel - ___0121_3341__258u_2510u_2511lu_ -messages_lib/0122_fd73__259p_20_20_20_253d.rel - ___0122_fd73__259p_20_20_20_253d -messages_lib/0123_b8a6__259p_20_25_2d8d_25.rel - ___0123_b8a6__259p_20_25_2d8d_25 -messages_lib/0124_1719__259p_20_25_2d9s_25.rel - ___0124_1719__259p_20_25_2d9s_25 -messages_lib/0125_1260__259p_256u_20_20_25.rel - ___0125_1260__259p_256u_20_20_25 -messages_lib/0126_482b__259p_256u_256u_20_.rel - ___0126_482b__259p_256u_256u_20_ -messages_lib/0127_fcae__25c.rel - ___0127_fcae__25c -messages_lib/0128_6d8a__25c_20.rel - ___0128_6d8a__25c_20 -messages_lib/0129_3d14__25c_20_257s_20_257.rel - ___0129_3d14__25c_20_257s_20_257 -messages_lib/012a_22d3__25c_25c_25c.rel - ___012a_22d3__25c_25c_25c -messages_lib/012b_4b6e__25c_25c_25c_0a.rel - ___012b_4b6e__25c_25c_25c_0a -messages_lib/012c_2970__25c_25c_25c_253d_2.rel - ___012c_2970__25c_25c_25c_253d_2 -messages_lib/012d_8514__25c_25s_0a.rel - ___012d_8514__25c_25s_0a -messages_lib/012e_086d__25c_5b2J.rel - ___012e_086d__25c_5b2J -messages_lib/012f_8811__25d.rel - ___012f_8811__25d -messages_lib/0130_aeda__25d_0a.rel - ___0130_aeda__25d_0a -messages_lib/0131_cd50__25d_20message_25s_.rel - ___0131_cd50__25d_20message_25s_ -messages_lib/0132_ea62__25ld.rel - ___0132_ea62__25ld -messages_lib/0133_eb6a__25lu.rel - ___0133_eb6a__25lu -messages_lib/0134_63ed__25lu_0a.rel - ___0134_63ed__25lu_0a -messages_lib/0135_f325__25lu_2f_25lu_0a.rel - ___0135_f325__25lu_2f_25lu_0a -messages_lib/0136_d273__25p_20.rel - ___0136_d273__25p_20 -messages_lib/0137_1c93__25p_20_256lu.rel - ___0137_1c93__25p_20_256lu -messages_lib/0138_ec2f__25s.rel - ___0138_ec2f__25s -messages_lib/0139_7643__25s_0a.rel - ___0139_7643__25s_0a -messages_lib/013a_0276__25s_0a_25s_0a.rel - ___013a_0276__25s_0a_25s_0a -messages_lib/013b_f81b__25s_20.rel - ___013b_f81b__25s_20 -messages_lib/013c_8b7d__25s_20_2502d_2502d.rel - ___013c_8b7d__25s_20_2502d_2502d -messages_lib/013d_7be3__25s_20_25p_0a.rel - ___013d_7be3__25s_20_25p_0a -messages_lib/013e_518b__25s_20_25s_0a.rel - ___013e_518b__25s_20_25s_0a -messages_lib/013f_ca49__25s_20_25s_3a_20_2.rel - ___013f_ca49__25s_20_25s_3a_20_2 -messages_lib/0140_43c6__25s_20_25s_3a_20Er.rel - ___0140_43c6__25s_20_25s_3a_20Er -messages_lib/0141_b8b7__25s_20_2d_20.rel - ___0141_b8b7__25s_20_2d_20 -messages_lib/0142_1170__25s_20_2d_20Differ.rel - ___0142_1170__25s_20_2d_20Differ -messages_lib/0143_d4cc__25s_20_2d_20Remote.rel - ___0143_d4cc__25s_20_2d_20Remote -messages_lib/0144_4968__25s_20_2d_20Same_0.rel - ___0144_4968__25s_20_2d_20Same_0 -messages_lib/0145_ace2__25s_20dialer_3a_20.rel - ___0145_ace2__25s_20dialer_3a_20 -messages_lib/0146_933b__25s_20errno_20_25d.rel - ___0146_933b__25s_20errno_20_25d -messages_lib/0147_f768__25s_20file_25s_2e_.rel - ___0147_f768__25s_20file_25s_2e_ -messages_lib/0148_c691__25s_20is_20unreach.rel - ___0148_c691__25s_20is_20unreach -messages_lib/0149_a4a4__25s_20logged_20in.rel - ___0149_a4a4__25s_20logged_20in -messages_lib/014a_a64e__25s_20logged_20in_.rel - ___014a_a64e__25s_20logged_20in_ -messages_lib/014b_b314__25s_20refs_20to_20.rel - ___014b_b314__25s_20refs_20to_20 -messages_lib/014c_bd91__25s_20remain_20_25.rel - ___014c_bd91__25s_20remain_20_25 -messages_lib/014d_bf9e__25s_20thru_20.rel - ___014d_bf9e__25s_20thru_20 -messages_lib/014e_243b__25s_20type_20_25s_.rel - ___014e_243b__25s_20type_20_25s_ -messages_lib/014f_7d69__25s_25_25_25s_2ebb.rel - ___014f_7d69__25s_25_25_25s_2ebb -messages_lib/0150_d324__25s_25c_0a.rel - ___0150_d324__25s_25c_0a -messages_lib/0151_ce9c__25s_25c_25c_25c.rel - ___0151_ce9c__25s_25c_25c_25c -messages_lib/0152_910e__25s_25s.rel - ___0152_910e__25s_25s -messages_lib/0153_46b5__25s_25s_0a.rel - ___0153_46b5__25s_25s_0a -messages_lib/0154_4d3a__25s_25s_0a_0a.rel - ___0154_4d3a__25s_25s_0a_0a -messages_lib/0155_47c0__25s_3a.rel - ___0155_47c0__25s_3a -messages_lib/0156_6911__25s_3a_0a.rel - ___0156_6911__25s_3a_0a -messages_lib/0157_e749__25s_3a_20.rel - ___0157_e749__25s_3a_20 -messages_lib/0158_650d__25s_3a_20_25d_20me.rel - ___0158_650d__25s_3a_20_25d_20me -messages_lib/0159_86f5__25s_3a_20_25ld_0a.rel - ___0159_86f5__25s_3a_20_25ld_0a -messages_lib/015a_7189__25s_3a_20_25s_0a.rel - ___015a_7189__25s_3a_20_25s_0a -messages_lib/015b_35bd__25s_3a_20_25s_2c.rel - ___015b_35bd__25s_3a_20_25s_2c -messages_lib/015c_adab__25s_3a_20Interface.rel - ___015c_adab__25s_3a_20Interface -messages_lib/015d_5f8a__25s_3a_20PPP_2fPAP.rel - ___015d_5f8a__25s_3a_20PPP_2fPAP -messages_lib/015e_0cde__25s_3a_20bad_20dev.rel - ___015e_0cde__25s_3a_20bad_20dev -messages_lib/015f_5351__25s_3a_20bad_20ino.rel - ___015f_5351__25s_3a_20bad_20ino -messages_lib/0160_8c96__25s_3a_20corrupted.rel - ___0160_8c96__25s_3a_20corrupted -messages_lib/0161_d157__25s_3a_20fs_20of_2.rel - ___0161_d157__25s_3a_20fs_20of_2 -messages_lib/0162_1d98__25s_3a_20local_20n.rel - ___0162_1d98__25s_3a_20local_20n -messages_lib/0163_bba5__25s_3a_20mode_20_2.rel - ___0163_bba5__25s_3a_20mode_20_2 -messages_lib/0164_60cc__25s_3a_20not_20a_2.rel - ___0164_60cc__25s_3a_20not_20a_2 -messages_lib/0165_4ed5__25s_3a_20release_5.rel - ___0165_4ed5__25s_3a_20release_5 -messages_lib/0166_04ae__25s_3a_20rtt_20_25.rel - ___0166_04ae__25s_3a_20rtt_20_25 -messages_lib/0167_db35__25s_3a_20srtt_20_2.rel - ___0167_db35__25s_3a_20srtt_20_2 -messages_lib/0168_65f3__25s_3c_25ld_40_25s.rel - ___0168_65f3__25s_3c_25ld_40_25s -messages_lib/0169_6e45__25s_3e_20_25s_20_2.rel - ___0169_6e45__25s_3e_20_25s_20_2 -messages_lib/016a_205d__25s_3e_20Invalid_2.rel - ___016a_205d__25s_3e_20Invalid_2 -messages_lib/016b_c86f__25s_40_25s_0a.rel - ___016b_c86f__25s_40_25s_0a -messages_lib/016c_82c1__25s_40_25s_3a_0a.rel - ___016c_82c1__25s_40_25s_3a_0a -messages_lib/016d_9fa6__25sMAILER_2dDAEMON.rel - ___016d_9fa6__25sMAILER_2dDAEMON -messages_lib/016e_c284__25sR_0a.rel - ___016e_c284__25sR_0a -messages_lib/016f_2293__25u_0a.rel - ___016f_2293__25u_0a -messages_lib/0170_c0bd__25u_20additional_3.rel - ___0170_c0bd__25u_20additional_3 -messages_lib/0171_7db0__25u_20answers_3a_0.rel - ___0171_7db0__25u_20answers_3a_0 -messages_lib/0172_7c48__25u_20authority_3a.rel - ___0172_7c48__25u_20authority_3a -messages_lib/0173_b843__25u_20questions_3a.rel - ___0173_b843__25u_20questions_3a -messages_lib/0174_af86__25u_3a_20calls_20_.rel - ___0174_af86__25u_3a_20calls_20_ -messages_lib/0175_52fc__25x.rel - ___0175_52fc__25x -messages_lib/0176_b099__26AXB_20_20_20_20_.rel - ___0176_b099__26AXB_20_20_20_20_ -messages_lib/0177_7bf6__26CB_20_20_20_20_2.rel - ___0177_7bf6__26CB_20_20_20_20_2 -messages_lib/0178_c497__26TCB_20_20_20_20_.rel - ___0178_c497__26TCB_20_20_20_20_ -messages_lib/0179_f73b__26UCB_20_20_20_20_.rel - ___0179_f73b__26UCB_20_20_20_20_ -messages_lib/017a_aa89__27_25c_27_0a.rel - ___017a_aa89__27_25c_27_0a -messages_lib/017b_a2cd__28.rel - ___017b_a2cd__28 -messages_lib/017c_ba4c__28_252u_29_25_2d20.rel - ___017c_ba4c__28_252u_29_25_2d20 -messages_lib/017d_52bf__28F_29.rel - ___017d_52bf__28F_29 -messages_lib/017e_93fe__28P_29.rel - ___017e_93fe__28P_29 -messages_lib/017f_38a6__28P_2fF_29.rel - ___017f_38a6__28P_2fF_29 -messages_lib/0180_7b70__28compressed_20ALL.rel - ___0180_7b70__28compressed_20ALL -messages_lib/0181_c1c3__28hopcheck_29_20IC.rel - ___0181_c1c3__28hopcheck_29_20IC -messages_lib/0182_565f__28missing_20UI_21_.rel - ___0182_565f__28missing_20UI_21_ -messages_lib/0183_f935__28not_20odd_21_29_.rel - ___0183_f935__28not_20odd_21_29_ -messages_lib/0184_abc9__29_0a.rel - ___0184_abc9__29_0a -messages_lib/0185_bfa2__2a_2a_20smtp_3a_20.rel - ___0185_bfa2__2a_2a_20smtp_3a_20 -messages_lib/0186_1969__2a_2a_2a.rel - ___0186_1969__2a_2a_2a -messages_lib/0187_a448__2a_2a_2a_20Done_0a.rel - ___0187_a448__2a_2a_2a_20Done_0a -messages_lib/0188_c993__2a_2a_2a_20Unable_.rel - ___0188_c993__2a_2a_2a_20Unable_ -messages_lib/0189_b489__2a_2a_2a_2a_2a_2a_.rel - ___0189_b489__2a_2a_2a_2a_2a_2a_ -messages_lib/018a_5b29__2c_20.rel - ___018a_5b29__2c_20 -messages_lib/018b_1a71__2c_20err_20_25d.rel - ___018b_1a71__2c_20err_20_25d -messages_lib/018c_099c__2d_2d_2d_2d_2d_20E.rel - ___018c_099c__2d_2d_2d_2d_2d_20E -messages_lib/018d_01ea__2d_2d_2d_2d_2d_20F.rel - ___018d_01ea__2d_2d_2d_2d_2d_20F -messages_lib/018e_04ae__2d_2d_2d_2d_2d_2d_.rel - ___018e_04ae__2d_2d_2d_2d_2d_2d_ -messages_lib/018f_1b54__2d_2d_2d_2d_2d_2d_.rel - ___018f_1b54__2d_2d_2d_2d_2d_2d_ -messages_lib/0190_3d1a__2d_2d_2d_2d_2d_2d_.rel - ___0190_3d1a__2d_2d_2d_2d_2d_2d_ -messages_lib/0191_8ddf__2d_3e_25s.rel - ___0191_8ddf__2d_3e_25s -messages_lib/0192_589d__2d_3e_25s_20ihl_20.rel - ___0192_589d__2d_3e_25s_20ihl_20 -messages_lib/0193_e6c1__2e_0a.rel - ___0193_e6c1__2e_0a -messages_lib/0194_ed84__2f_25lu_20ms.rel - ___0194_ed84__2f_25lu_20ms -messages_lib/0195_6d9b__2f_25lu_20ms_0a.rel - ___0195_6d9b__2f_25lu_20ms_0a -messages_lib/0196_a44f__2f_25lu_20ms_3b_20.rel - ___0196_a44f__2f_25lu_20ms_3b_20 -messages_lib/0197_096e__2f_25u.rel - ___0197_096e__2f_25u -messages_lib/0198_96dc__2fEX.rel - ___0198_96dc__2fEX -messages_lib/0199_79e7_0_25o.rel - ___0199_79e7_0_25o -messages_lib/019a_8157_007Incoming_20_25s_.rel - ___019a_8157_007Incoming_20_25s_ -messages_lib/019b_b04e_0x_2503x_20_20_20_2.rel - ___019b_b04e_0x_2503x_20_20_20_2 -messages_lib/019c_3f3a_0x_2504x_0a.rel - ___019c_3f3a_0x_2504x_0a -messages_lib/019d_8308_0x_2508lx_0a.rel - ___019d_8308_0x_2508lx_0a -messages_lib/019e_ab8d_0x_25x.rel - ___019e_ab8d_0x_25x -messages_lib/019f_6f63_0x_25x_09_09_25ld_0.rel - ___019f_6f63_0x_25x_09_09_25ld_0 -messages_lib/01a0_fea8_0x_25x_09_09_25ld_0.rel - ___01a0_fea8_0x_25x_09_09_25ld_0 -messages_lib/01a1_f01c_0x_25x_0a.rel - ___01a1_f01c_0x_25x_0a -messages_lib/01a2_d635_100_20Warning_3a_20.rel - ___01a2_d635_100_20Warning_3a_20 -messages_lib/01a3_3f47_150_20Opening_20dat.rel - ___01a3_3f47_150_20Opening_20dat -messages_lib/01a4_67ab_200_20.rel - ___01a4_67ab_200_20 -messages_lib/01a5_cc8d_200_20MKD_20ok_0a.rel - ___01a5_cc8d_200_20MKD_20ok_0a -messages_lib/01a6_6c3a_200_20Ok_0a.rel - ___01a6_6c3a_200_20Ok_0a -messages_lib/01a7_ba32_200_20Port_20comman.rel - ___01a7_ba32_200_20Port_20comman -messages_lib/01a8_1db7_200_20Type_20_25s_2.rel - ___01a8_1db7_200_20Type_20_25s_2 -messages_lib/01a9_1192_215_20_25s_20Type_3.rel - ___01a9_1192_215_20_25s_20Type_3 -messages_lib/01aa_01fe_220_20_25s_20FTP_20.rel - ___01aa_01fe_220_20_25s_20FTP_20 -messages_lib/01ab_7804_221_20Goodbye_21_0a.rel - ___01ab_7804_221_20Goodbye_21_0a -messages_lib/01ac_3f54_226_20File_20receiv.rel - ___01ac_3f54_226_20File_20receiv -messages_lib/01ad_caea_226_20File_20sent_2.rel - ___01ad_caea_226_20File_20sent_2 -messages_lib/01ae_9fe8_230_20Logged_20in_0.rel - ___01ae_9fe8_230_20Logged_20in_0 -messages_lib/01af_55db_250_20_25s_0a.rel - ___01af_55db_250_20_25s_0a -messages_lib/01b0_c720_250_20File_20delete.rel - ___01b0_c720_250_20File_20delete -messages_lib/01b1_de54_250_2d_25s_0a.rel - ___01b1_de54_250_2d_25s_0a -messages_lib/01b2_9400_257_20_22_25s_22_20.rel - ___01b2_9400_257_20_22_25s_22_20 -messages_lib/01b3_24f1_331_20Enter_20PASS_.rel - ___01b3_24f1_331_20Enter_20PASS_ -messages_lib/01b4_273f_421_20System_20over.rel - ___01b4_273f_421_20System_20over -messages_lib/01b5_e43d_425_20Data_20connec.rel - ___01b5_e43d_425_20Data_20connec -messages_lib/01b6_7e66_500_20Unknown_20com.rel - ___01b6_7e66_500_20Unknown_20com -messages_lib/01b7_3d39_500_20Unsupported_2.rel - ___01b7_3d39_500_20Unsupported_2 -messages_lib/01b8_fe7e_501_20Bad_20port_20.rel - ___01b8_fe7e_501_20Bad_20port_20 -messages_lib/01b9_065e_501_20Only_20logica.rel - ___01b9_065e_501_20Only_20logica -messages_lib/01ba_a2bf_501_20Unknown_20typ.rel - ___01ba_a2bf_501_20Unknown_20typ -messages_lib/01bb_41cf_502_20Command_20not.rel - ___01bb_41cf_502_20Command_20not -messages_lib/01bc_f576_503_20Login_20with_.rel - ___01bc_f576_503_20Login_20with_ -messages_lib/01bd_7dc2_530_20Please_20log_.rel - ___01bd_7dc2_530_20Please_20log_ -messages_lib/01be_c53a_550_20Can_27t_20rea.rel - ___01be_c53a_550_20Can_27t_20rea -messages_lib/01bf_4770_550_20Delete_20fail.rel - ___01bf_4770_550_20Delete_20fail -messages_lib/01c0_38c3_550_20Permission_20.rel - ___01c0_38c3_550_20Permission_20 -messages_lib/01c1_95c1_552_20Write_20error.rel - ___01c1_95c1_552_20Write_20error -messages_lib/01c2_7eaf_553_20Can_27t_20cre.rel - ___01c2_7eaf_553_20Can_27t_20cre -messages_lib/01c3_f0b2_553_20Can_27t_20rea.rel - ___01c3_f0b2_553_20Can_27t_20rea -messages_lib/01c4_b04b__3a_20_25d_0a.rel - ___01c4_b04b__3a_20_25d_0a -messages_lib/01c5_6aba__3a_20_25ld_0a.rel - ___01c5_6aba__3a_20_25ld_0a -messages_lib/01c6_8cd1__3a_20_25s.rel - ___01c6_8cd1__3a_20_25s -messages_lib/01c7_68d2__3a_20_25s_0a.rel - ___01c7_68d2__3a_20_25s_0a -messages_lib/01c8_3c02__3a_20_25u_0a.rel - ___01c8_3c02__3a_20_25u_0a -messages_lib/01c9_6692__3b_20Tries_3a_20_2.rel - ___01c9_6692__3b_20Tries_3a_20_2 -messages_lib/01ca_697b__3c_25ld_40_25s_3e_.rel - ___01ca_697b__3c_25ld_40_25s_3e_ -messages_lib/01cb_2587__3c_25s_40_25s_2ebb.rel - ___01cb_2587__3c_25s_40_25s_2ebb -messages_lib/01cc_3152__3c_3d_3d_25s.rel - ___01cc_3152__3c_3d_3d_25s -messages_lib/01cd_defc__3c_3d_3d_25s_0a.rel - ___01cd_defc__3c_3d_3d_25s_0a -messages_lib/01ce_016b__3d_3d_3eARTICLE_20.rel - ___01ce_016b__3d_3d_3eARTICLE_20 -messages_lib/01cf_c133__3d_3d_3eNEWNEWS_20.rel - ___01cf_c133__3d_3d_3eNEWNEWS_20 -messages_lib/01d0_696c__3d_3d_3eQUIT_0a.rel - ___01d0_696c__3d_3d_3eQUIT_0a -messages_lib/01d1_396e__3d_3dNo_20response.rel - ___01d1_396e__3d_3dNo_20response -messages_lib/01d2_c6f3__3f.rel - ___01d2_c6f3__3f -messages_lib/01d3_4d83__40.rel - ___01d3_4d83__40 -messages_lib/01d4_23d2__40_25s.rel - ___01d4_23d2__40_25s -messages_lib/01d5_7f61_ARP_3a_20len_20_25d.rel - ___01d5_7f61_ARP_3a_20len_20_25d -messages_lib/01d6_124c_ARTICLE_20_25s.rel - ___01d6_124c_ARTICLE_20_25s -messages_lib/01d7_109d_AX25_20receive_20wi.rel - ___01d7_109d_AX25_20receive_20wi -messages_lib/01d8_f4e0_AX25_20version.rel - ___01d8_f4e0_AX25_20version -messages_lib/01d9_818f_AX25_3a_20.rel - ___01d9_818f_AX25_3a_20 -messages_lib/01da_f05c_Abort_0d_0a.rel - ___01da_f05c_Abort_0d_0a -messages_lib/01db_6caf_Aborted_2e.rel - ___01db_6caf_Aborted_2e -messages_lib/01dc_f2cb_Aborted_2e_0a.rel - ___01dc_f2cb_Aborted_2e_0a -messages_lib/01dd_537a_Accept_0a.rel - ___01dd_537a_Accept_0a -messages_lib/01de_b988_Ack_20delay_20time_.rel - ___01de_b988_Ack_20delay_20time_ -messages_lib/01df_fccc_Active_20RIP_20outp.rel - ___01df_fccc_Active_20RIP_20outp -messages_lib/01e0_e216_Address_2fControl_2.rel - ___01e0_e216_Address_2fControl_2 -messages_lib/01e1_1fbc_All_20groups_20are_.rel - ___01e1_1fbc_All_20groups_20are_ -messages_lib/01e2_4a0c_Allow_20ACCM.rel - ___01e2_4a0c_Allow_20ACCM -messages_lib/01e3_8e02_Allow_20Address.rel - ___01e3_8e02_Allow_20Address -messages_lib/01e4_7b21_Allow_20Address_2fC.rel - ___01e4_7b21_Allow_20Address_2fC -messages_lib/01e5_5003_Allow_20Authenticat.rel - ___01e5_5003_Allow_20Authenticat -messages_lib/01e6_081e_Allow_20Compression.rel - ___01e6_081e_Allow_20Compression -messages_lib/01e7_14d8_Allow_20MRU.rel - ___01e7_14d8_Allow_20MRU -messages_lib/01e8_5c94_Allow_20Magic_20Num.rel - ___01e8_5c94_Allow_20Magic_20Num -messages_lib/01e9_33ea_Allow_20Protocol_20.rel - ___01e9_33ea_Allow_20Protocol_20 -messages_lib/01ea_a5f9_Already_20have_20_2.rel - ___01ea_a5f9_Already_20have_20_2 -messages_lib/01eb_8eaf_Arcnet_3a_20len_20_.rel - ___01eb_8eaf_Arcnet_3a_20len_20_ -messages_lib/01ec_52c7_Argument_20missing_.rel - ___01ec_52c7_Argument_20missing_ -messages_lib/01ed_3ed8_Ascii_0a.rel - ___01ed_3ed8_Ascii_0a -messages_lib/01ee_7cb2_Attach_20device_20f.rel - ___01ee_7cb2_Attach_20device_20f -messages_lib/01ef_ec38_Attach_20netrom_20i.rel - ___01ef_ec38_Attach_20netrom_20i -messages_lib/01f0_ee22_Attended_20flag.rel - ___01f0_ee22_Attended_20flag -messages_lib/01f1_0443_Available_20areas_2.rel - ___01f1_0443_Available_20areas_2 -messages_lib/01f2_6999_Backoff_20Level_20_.rel - ___01f2_6999_Backoff_20Level_20_ -messages_lib/01f3_9716_Bad_20digipeater_20.rel - ___01f3_9716_Bad_20digipeater_20 -messages_lib/01f4_0b9f_Bad_20syntax_2e_0a.rel - ___01f4_0b9f_Bad_20syntax_2e_0a -messages_lib/01f5_e884_Bad_20target_20_25s.rel - ___01f5_e884_Bad_20target_20_25s -messages_lib/01f6_822a_Bad_20user_20or_20h.rel - ___01f6_822a_Bad_20user_20or_20h -messages_lib/01f7_61f7_Base_20Addr_09Rxint.rel - ___01f7_61f7_Base_20Addr_09Rxint -messages_lib/01f8_929a_Base_20Addr_20_20Rx.rel - ___01f8_929a_Base_20Addr_20_20Rx -messages_lib/01f9_de82_Buf_20hits_2fmiss_2.rel - ___01f9_de82_Buf_20hits_2fmiss_2 -messages_lib/01fa_ae0c_CTRL_2d_25c_0a.rel - ___01fa_ae0c_CTRL_2d_25c_0a -messages_lib/01fb_6c46_CWD_20_25s_0a.rel - ___01fb_6c46_CWD_20_25s_0a -messages_lib/01fc_0e64_Calls_20originated_.rel - ___01fc_0e64_Calls_20originated_ -messages_lib/01fd_9777_Calls_20timed_20out.rel - ___01fd_9777_Calls_20timed_20out -messages_lib/01fe_e911_Can_27t_20NLST_20_2.rel - ___01fe_e911_Can_27t_20NLST_20_2 -messages_lib/01ff_daf3_Can_27t_20add_20rou.rel - ___01ff_daf3_Can_27t_20add_20rou -messages_lib/0200_6db7_Can_27t_20attach_20.rel - ___0200_6db7_Can_27t_20attach_20 -messages_lib/0201_79e8_Can_27t_20change_20.rel - ___0201_79e8_Can_27t_20change_20 -messages_lib/0202_3bb8_Can_27t_20create_20.rel - ___0202_3bb8_Can_27t_20create_20 -messages_lib/0203_0003_Can_27t_20create_20.rel - ___0203_0003_Can_27t_20create_20 -messages_lib/0204_ef8c_Can_27t_20create_20.rel - ___0204_ef8c_Can_27t_20create_20 -messages_lib/0205_28e0_Can_27t_20create_20.rel - ___0205_28e0_Can_27t_20create_20 -messages_lib/0206_d5bc_Can_27t_20create_20.rel - ___0206_d5bc_Can_27t_20create_20 -messages_lib/0207_c7fb_Can_27t_20delete_20.rel - ___0207_c7fb_Can_27t_20delete_20 -messages_lib/0208_d5d6_Can_27t_20detach_20.rel - ___0208_d5d6_Can_27t_20detach_20 -messages_lib/0209_5d65_Can_27t_20find_20he.rel - ___0209_5d65_Can_27t_20find_20he -messages_lib/020a_3eee_Can_27t_20list_20lo.rel - ___020a_3eee_Can_27t_20list_20lo -messages_lib/020b_c1c1_Can_27t_20open_20_2.rel - ___020b_c1c1_Can_27t_20open_20_2 -messages_lib/020c_fedd_Can_27t_20open_20_2.rel - ___020c_fedd_Can_27t_20open_20_2 -messages_lib/020d_fb2a_Can_27t_20open_20_2.rel - ___020d_fb2a_Can_27t_20open_20_2 -messages_lib/020e_d8a5_Can_27t_20open_20in.rel - ___020e_d8a5_Can_27t_20open_20in -messages_lib/020f_0616_Can_27t_20read_20_2.rel - ___020f_0616_Can_27t_20read_20_2 -messages_lib/0210_4a10_Can_27t_20read_20_2.rel - ___0210_4a10_Can_27t_20read_20_2 -messages_lib/0211_8468_Can_27t_20read_20co.rel - ___0211_8468_Can_27t_20read_20co -messages_lib/0212_4327_Can_27t_20read_20di.rel - ___0212_4327_Can_27t_20read_20di -messages_lib/0213_5fb2_Can_27t_20read_20lo.rel - ___0213_5fb2_Can_27t_20read_20lo -messages_lib/0214_36d4_Can_27t_20read_20pa.rel - ___0214_36d4_Can_27t_20read_20pa -messages_lib/0215_5e43_Can_27t_20rename_20.rel - ___0215_5e43_Can_27t_20rename_20 -messages_lib/0216_4bfe_Can_27t_20rewrite_2.rel - ___0216_4bfe_Can_27t_20rewrite_2 -messages_lib/0217_24ca_Can_27t_20set_20lin.rel - ___0217_24ca_Can_27t_20set_20lin -messages_lib/0218_5e82_Can_27t_20write_20_.rel - ___0218_5e82_Can_27t_20write_20_ -messages_lib/0219_988b_Can_27t_20write_20l.rel - ___0219_988b_Can_27t_20write_20l -messages_lib/021a_c0f9_Can_27t_20write_20t.rel - ___021a_c0f9_Can_27t_20write_20t -messages_lib/021b_5055_Ch_20Iface_20_20_20.rel - ___021b_5055_Ch_20Iface_20_20_20 -messages_lib/021c_eff3_Channel_20_2d_20_25.rel - ___021c_eff3_Channel_20_2d_20_25 -messages_lib/021d_1b09_Choke_20timeout_20_.rel - ___021d_1b09_Choke_20timeout_20_ -messages_lib/021e_f95c_Closed_3a_20_25s_0a.rel - ___021e_f95c_Closed_3a_20_25s_0a -messages_lib/021f_e508_Command_20batching.rel - ___021f_e508_Command_20batching -messages_lib/0220_b471_Connect_20failed_0a.rel - ___0220_b471_Connect_20failed_0a -messages_lib/0221_bb2f_Connect_20failed_3a.rel - ___0221_bb2f_Connect_20failed_3a -messages_lib/0222_85e9_Connect_20to_20mail.rel - ___0222_85e9_Connect_20to_20mail -messages_lib/0223_6930_Connected_0a.rel - ___0223_6930_Connected_0a -messages_lib/0224_5189_Connected_20to_20_2.rel - ___0224_5189_Connected_20to_20_2 -messages_lib/0225_771a_Connected_20to_20ma.rel - ___0225_771a_Connected_20to_20ma -messages_lib/0226_0e16_Connected_2e.rel - ___0226_0e16_Connected_2e -messages_lib/0227_3e79_Connection_20closed.rel - ___0227_3e79_Connection_20closed -messages_lib/0228_faa9_Connection_20failed.rel - ___0228_faa9_Connection_20failed -messages_lib/0229_3676_Could_20not_20creat.rel - ___0229_3676_Could_20not_20creat -messages_lib/022a_d95b_Couldn_27t_20queue_.rel - ___022a_d95b_Couldn_27t_20queue_ -messages_lib/022b_68a6_Current_20message_2.rel - ___022b_68a6_Current_20message_2 -messages_lib/022c_23ad_Currently_20enabled.rel - ___022c_23ad_Currently_20enabled -messages_lib/022d_1cf7_DELE_20_25s.rel - ___022d_1cf7_DELE_20_25s -messages_lib/022e_5fad_DISASTER_21_20Out_2.rel - ___022e_5fad_DISASTER_21_20Out_2 -messages_lib/022f_7ce2_DRSI_20Board_20Stat.rel - ___022f_7ce2_DRSI_20Board_20Stat -messages_lib/0230_2f52_D_5bU_5d_20filename.rel - ___0230_2f52_D_5bU_5d_20filename -messages_lib/0231_698b_Data_0a.rel - ___0231_698b_Data_0a -messages_lib/0232_cb1c_Data_20outside_20he.rel - ___0232_cb1c_Data_20outside_20he -messages_lib/0233_01be_Data_20pointer_20_2.rel - ___0233_01be_Data_20pointer_20_2 -messages_lib/0234_3cbb_Data_20pointer_20be.rel - ___0234_3cbb_Data_20pointer_20be -messages_lib/0235_bd70_Defaulting_20to_20b.rel - ___0235_bd70_Defaulting_20to_20b -messages_lib/0236_2d19_Del_5fconst_20_3d_2.rel - ___0236_2d19_Del_5fconst_20_3d_2 -messages_lib/0237_6255_Dest_20Addr_20_20_2.rel - ___0237_6255_Dest_20Addr_20_20_2 -messages_lib/0238_3894_Dialing_20not_20sup.rel - ___0238_3894_Dialing_20not_20sup -messages_lib/0239_26a3_Different_0a.rel - ___0239_26a3_Different_0a -messages_lib/023a_ae33_Digipeat.rel - ___023a_ae33_Digipeat -messages_lib/023b_af35_Directory_20table_2.rel - ___023b_af35_Directory_20table_2 -messages_lib/023c_c1bb_Disconnected_20.rel - ___023c_c1bb_Disconnected_20 -messages_lib/023d_2cc5_Disconnecting_2e.rel - ___023d_2cc5_Disconnecting_2e -messages_lib/023e_b7f4_Dup_20acks_20_20_20.rel - ___023e_b7f4_Dup_20acks_20_20_20 -messages_lib/023f_3ed4_Duplex_3a_20_25s_0a.rel - ___023f_3ed4_Duplex_3a_20_25s_0a -messages_lib/0240_b671_E2BIG.rel - ___0240_b671_E2BIG -messages_lib/0241_56e8_EACCES.rel - ___0241_56e8_EACCES -messages_lib/0242_f378_EAGAIN.rel - ___0242_f378_EAGAIN -messages_lib/0243_0483_EAGLE_20Board_20Sta.rel - ___0243_0483_EAGLE_20Board_20Sta -messages_lib/0244_a2a1_EBADF.rel - ___0244_a2a1_EBADF -messages_lib/0245_74ba_EBUSY.rel - ___0245_74ba_EBUSY -messages_lib/0246_4029_ECHILD.rel - ___0246_4029_ECHILD -messages_lib/0247_cd2b_EDEADLK.rel - ___0247_cd2b_EDEADLK -messages_lib/0248_4299_EDOM.rel - ___0248_4299_EDOM -messages_lib/0249_bec8_EEXIST.rel - ___0249_bec8_EEXIST -messages_lib/024a_afa9_EFAULT.rel - ___024a_afa9_EFAULT -messages_lib/024b_9ed8_EFBIG.rel - ___024b_9ed8_EFBIG -messages_lib/024c_28f7_EGATTACH_3a_20No_20.rel - ___024c_28f7_EGATTACH_3a_20No_20 -messages_lib/024d_eb47_EINTR.rel - ___024d_eb47_EINTR -messages_lib/024e_b479_EINVAL.rel - ___024e_b479_EINVAL -messages_lib/024f_21d8_EINVFNC.rel - ___024f_21d8_EINVFNC -messages_lib/0250_2d75_EIO.rel - ___0250_2d75_EIO -messages_lib/0251_fb45_EISDIR.rel - ___0251_fb45_EISDIR -messages_lib/0252_8de7_ELOOP.rel - ___0252_8de7_ELOOP -messages_lib/0253_9e5a_EMFILE.rel - ___0253_9e5a_EMFILE -messages_lib/0254_983a_EMLINK.rel - ___0254_983a_EMLINK -messages_lib/0255_0607_ENAMETOOLONG.rel - ___0255_0607_ENAMETOOLONG -messages_lib/0256_8396_ENFILE.rel - ___0256_8396_ENFILE -messages_lib/0257_7088_ENODEV.rel - ___0257_7088_ENODEV -messages_lib/0258_edee_ENOENT.rel - ___0258_edee_ENOENT -messages_lib/0259_a107_ENOEXEC.rel - ___0259_a107_ENOEXEC -messages_lib/025a_29fe_ENOLCK.rel - ___025a_29fe_ENOLCK -messages_lib/025b_42c4_ENOMEM.rel - ___025b_42c4_ENOMEM -messages_lib/025c_d51d_ENOSPC.rel - ___025c_d51d_ENOSPC -messages_lib/025d_d3a2_ENOTBLK.rel - ___025d_d3a2_ENOTBLK -messages_lib/025e_f683_ENOTDIR.rel - ___025e_f683_ENOTDIR -messages_lib/025f_83de_ENOTEMPTY.rel - ___025f_83de_ENOTEMPTY -messages_lib/0260_81a3_ENOTTY.rel - ___0260_81a3_ENOTTY -messages_lib/0261_01a7_ENXIO.rel - ___0261_01a7_ENXIO -messages_lib/0262_4485_EPERM.rel - ___0262_4485_EPERM -messages_lib/0263_5ede_EPIPE.rel - ___0263_5ede_EPIPE -messages_lib/0264_7f6a_ERANGE.rel - ___0264_7f6a_ERANGE -messages_lib/0265_0587_EROFS.rel - ___0265_0587_EROFS -messages_lib/0266_6b3a_ESCC_20channel_20_2.rel - ___0266_6b3a_ESCC_20channel_20_2 -messages_lib/0267_6d38_ESCC_20channel_20_2.rel - ___0267_6d38_ESCC_20channel_20_2 -messages_lib/0268_0a8a_ESCC_20driver_20alr.rel - ___0268_0a8a_ESCC_20driver_20alr -messages_lib/0269_d89e_ESCC_20driver_20not.rel - ___0269_d89e_ESCC_20driver_20not -messages_lib/026a_dd82_ESHELL.rel - ___026a_dd82_ESHELL -messages_lib/026b_ffa8_ESPIPE.rel - ___026b_ffa8_ESPIPE -messages_lib/026c_b33c_ESRCH.rel - ___026c_b33c_ESRCH -messages_lib/026d_194a_ETXTBSY.rel - ___026d_194a_ETXTBSY -messages_lib/026e_8d4a_EXDEV.rel - ___026e_8d4a_EXDEV -messages_lib/026f_4f54_Encapsulation_20mod.rel - ___026f_4f54_Encapsulation_20mod -messages_lib/0270_0f4a_Enqued_20_20_2d_20_.rel - ___0270_0f4a_Enqued_20_20_2d_20_ -messages_lib/0271_de30_Enter_20message_2e_.rel - ___0271_de30_Enter_20message_2e_ -messages_lib/0272_3a50_Error_20in_20respon.rel - ___0272_3a50_Error_20in_20respon -messages_lib/0273_d568_Error_20updating_20.rel - ___0273_d568_Error_20updating_20 -messages_lib/0274_69fc_Error_20writing_20m.rel - ___0274_69fc_Error_20writing_20m -messages_lib/0275_9664_Escape_20character_.rel - ___0275_9664_Escape_20character_ -messages_lib/0276_8c2d_Ether_3a_20len_20_2.rel - ___0276_8c2d_Ether_3a_20len_20_2 -messages_lib/0277_3af3_F_3e.rel - ___0277_3af3_F_3e -messages_lib/0278_0046_Failed_0a.rel - ___0278_0046_Failed_0a -messages_lib/0279_4a7b_First_20init_20ESCC.rel - ___0279_4a7b_First_20init_20ESCC -messages_lib/027a_0954_Forwarding_20timer_.rel - ___027a_0954_Forwarding_20timer_ -messages_lib/027b_95bb_Free_20address_20qu.rel - ___027b_95bb_Free_20address_20qu -messages_lib/027c_fee7_Free_20cache_3a_20s.rel - ___027c_fee7_Free_20cache_3a_20s -messages_lib/027d_8dc1_Free_20memory_20thr.rel - ___027d_8dc1_Free_20memory_20thr -messages_lib/027e_1be2_From_20_25s_20_25s.rel - ___027e_1be2_From_20_25s_20_25s -messages_lib/027f_d837_From_3a_20_25s_0a.rel - ___027f_d837_From_3a_20_25s_0a -messages_lib/0280_b9a0_Garbage_20bp_20_25l.rel - ___0280_b9a0_Garbage_20bp_20_25l -messages_lib/0281_7731_Group_20list_20too_.rel - ___0281_7731_Group_20list_20too_ -messages_lib/0282_ccdf_HAPN_20_25d_3a_20_2.rel - ___0282_ccdf_HAPN_20_25d_3a_20_2 -messages_lib/0283_9570_HOPCHECK_20start_20.rel - ___0283_9570_HOPCHECK_20start_20 -messages_lib/0284_8ef4_HOPCHECK_20to_20_25.rel - ___0284_8ef4_HOPCHECK_20to_20_25 -messages_lib/0285_c794_HOPCHECK_20tracing.rel - ___0285_c794_HOPCHECK_20tracing -messages_lib/0286_4952_HS_3a_20Warning_3a_.rel - ___0286_4952_HS_3a_20Warning_3a_ -messages_lib/0287_10ba_Hardware_20_25u_0a.rel - ___0287_10ba_Hardware_20_25u_0a -messages_lib/0288_32e9_Heap_20debugging.rel - ___0288_32e9_Heap_20debugging -messages_lib/0289_9144_Host_20_25s_20_28_2.rel - ___0289_9144_Host_20_25s_20_28_2 -messages_lib/028a_862c_Host_20_25s_20unkno.rel - ___028a_862c_Host_20_25s_20unkno -messages_lib/028b_f216_Hostname_20set_20to.rel - ___028b_f216_Hostname_20set_20to -messages_lib/028c_267d_Hytech_20KA9Q_20NOS.rel - ___028c_267d_Hytech_20KA9Q_20NOS -messages_lib/028d_df4f_ICMP_20echo_20respo.rel - ___028d_df4f_ICMP_20echo_20respo -messages_lib/028e_db6d_ICMP_20from_20_25s_.rel - ___028e_db6d_ICMP_20from_20_25s_ -messages_lib/028f_abbc_ICMP_20tracing.rel - ___028f_abbc_ICMP_20tracing -messages_lib/0290_6b85_ICMP_3a_20type_20_2.rel - ___0290_6b85_ICMP_3a_20type_20_2 -messages_lib/0291_dff6_IP_0a.rel - ___0291_dff6_IP_0a -messages_lib/0292_5812_IP_20Time_2dto_2dli.rel - ___0292_5812_IP_20Time_2dto_2dli -messages_lib/0293_0e41_IP_20addr_20_20_20_.rel - ___0293_0e41_IP_20addr_20_20_20_ -messages_lib/0294_8cdb_IP_20reasm_20timeou.rel - ___0294_8cdb_IP_20reasm_20timeou -messages_lib/0295_5f88_IP_20rx_20tracing.rel - ___0295_5f88_IP_20rx_20tracing -messages_lib/0296_88e0_IP_3a_20CHECKSUM_20.rel - ___0296_88e0_IP_3a_20CHECKSUM_20 -messages_lib/0297_03a7_IP_3a_20bad_20heade.rel - ___0297_03a7_IP_3a_20bad_20heade -messages_lib/0298_4543_IP_3a_20len_20_25u.rel - ___0298_4543_IP_3a_20len_20_25u -messages_lib/0299_e067_IPCP_0a.rel - ___0299_e067_IPCP_0a -messages_lib/029a_7c5c_IPCP_20_25s_0a.rel - ___029a_7c5c_IPCP_20_25s_0a -messages_lib/029b_a490_IRQ_20_25u_20out_20.rel - ___029b_a490_IRQ_20_25u_20out_20 -messages_lib/029c_925d_Idle_20poll_20timer.rel - ___029c_925d_Idle_20poll_20timer -messages_lib/029d_4ab5_Image_0a.rel - ___029d_4ab5_Image_0a -messages_lib/029e_7e58_Initial_20RTT_20_28.rel - ___029e_7e58_Initial_20RTT_20_28 -messages_lib/029f_bd38_Inqlen_3a_20_25d_20.rel - ___029f_bd38_Inqlen_3a_20_25d_20 -messages_lib/02a0_c7f6_Insufficient_20args.rel - ___02a0_c7f6_Insufficient_20args -messages_lib/02a1_fcf9_Interface_20_20_20R.rel - ___02a1_fcf9_Interface_20_20_20R -messages_lib/02a2_b903_Interface_20_22_25s.rel - ___02a2_b903_Interface_20_22_25s -messages_lib/02a3_4daf_Interface_20_22_25s.rel - ___02a3_4daf_Interface_20_22_25s -messages_lib/02a4_42ac_Interface_20_22_25s.rel - ___02a4_42ac_Interface_20_22_25s -messages_lib/02a5_5a50_Interface_20_25s_20.rel - ___02a5_5a50_Interface_20_25s_20 -messages_lib/02a6_1298_Interface_20_25s_20.rel - ___02a6_1298_Interface_20_25s_20 -messages_lib/02a7_24cb_Interface_20_25s_20.rel - ___02a7_24cb_Interface_20_25s_20 -messages_lib/02a8_c749_Interface_20_25s_20.rel - ___02a8_c749_Interface_20_25s_20 -messages_lib/02a9_63a0_Interface_20_25s_20.rel - ___02a9_63a0_Interface_20_25s_20 -messages_lib/02aa_8880_Interface_20_25s_20.rel - ___02aa_8880_Interface_20_25s_20 -messages_lib/02ab_6e91_Interface_20_25s_20.rel - ___02ab_6e91_Interface_20_25s_20 -messages_lib/02ac_103c_Interface_20address.rel - ___02ac_103c_Interface_20address -messages_lib/02ad_c429_Interface_3a_20.rel - ___02ad_c429_Interface_3a_20 -messages_lib/02ae_d726_Invalid_20magic_20c.rel - ___02ae_d726_Invalid_20magic_20c -messages_lib/02af_42d9_Invalid_20range_2e_.rel - ___02af_42d9_Invalid_20range_2e_ -messages_lib/02b0_89c0_Invalid_20type_20_2.rel - ___02b0_89c0_Invalid_20type_20_2 -messages_lib/02b1_62ed_Invalid_20user_20na.rel - ___02b1_62ed_Invalid_20user_20na -messages_lib/02b2_be0b_Job_20id_20_25s_20n.rel - ___02b2_be0b_Job_20id_20_25s_20n -messages_lib/02b3_87a9_K_20numbers.rel - ___02b3_87a9_K_20numbers -messages_lib/02b4_414e_KISS_3a_20.rel - ___02b4_414e_KISS_3a_20 -messages_lib/02b5_1668_Known_20users_20on_.rel - ___02b5_1668_Known_20users_20on_ -messages_lib/02b6_171d_LCP_0a.rel - ___02b6_171d_LCP_0a -messages_lib/02b7_befe_LCP_20_25s_0a.rel - ___02b7_befe_LCP_20_25s_0a -messages_lib/02b8_1d45_Last_20message_0a.rel - ___02b8_1d45_Last_20message_0a -messages_lib/02b9_a317_Loc_20.rel - ___02b9_a317_Loc_20 -messages_lib/02ba_5ce5_Local_3a_20_25s.rel - ___02ba_5ce5_Local_3a_20_25s -messages_lib/02bb_0926_Local_3a_20_25s_20_.rel - ___02bb_0926_Local_3a_20_25s_20_ -messages_lib/02bc_6210_Lock_20directory_20.rel - ___02bc_6210_Lock_20directory_20 -messages_lib/02bd_f59a_Logging_20off_0a.rel - ___02bd_f59a_Logging_20off_0a -messages_lib/02be_1bd9_Logging_20to_20_25s.rel - ___02be_1bd9_Logging_20to_20_25s -messages_lib/02bf_4a5a_Logical_20bytesize_.rel - ___02bf_4a5a_Logical_20bytesize_ -messages_lib/02c0_4f93_Login_20incorrect_0.rel - ___02c0_4f93_Login_20incorrect_0 -messages_lib/02c1_8ac2_MBOX_20Zap_3a_20_25.rel - ___02c1_8ac2_MBOX_20Zap_3a_20_25 -messages_lib/02c2_1dc7_MBOX_20bbs_20mail_2.rel - ___02c2_1dc7_MBOX_20bbs_20mail_2 -messages_lib/02c3_37c2_MBOX_20bbs_20mail_2.rel - ___02c3_37c2_MBOX_20bbs_20mail_2 -messages_lib/02c4_f88f_MBOX_20forward_20fa.rel - ___02c4_f88f_MBOX_20forward_20fa -messages_lib/02c5_9bd4_MBOX_20forwarding_2.rel - ___02c5_9bd4_MBOX_20forwarding_2 -messages_lib/02c6_d1e8_MBOX_20login_3a_20_.rel - ___02c6_d1e8_MBOX_20login_3a_20_ -messages_lib/02c7_dd2e_MBOX_20login_3a_20_.rel - ___02c7_dd2e_MBOX_20login_3a_20_ -messages_lib/02c8_e920_MBOX_20sysop_3a_20_.rel - ___02c8_e920_MBOX_20sysop_3a_20_ -messages_lib/02c9_a30c_MBOX_20upload_3a_20.rel - ___02c9_a30c_MBOX_20upload_3a_20 -messages_lib/02ca_c247_MKD_20_25s.rel - ___02ca_c247_MKD_20_25s -messages_lib/02cb_53a6_MRU_20_25s_20_28_25.rel - ___02cb_53a6_MRU_20_25s_20_28_25 -messages_lib/02cc_f9a6_Magic_20Number.rel - ___02cc_f9a6_Magic_20Number -messages_lib/02cd_d070_Mail_20area_3a_20_2.rel - ___02cd_d070_Mail_20area_3a_20_2 -messages_lib/02ce_0103_Mail_20box_20full_3.rel - ___02ce_0103_Mail_20box_20full_3 -messages_lib/02cf_523a_Main_20commands_3a_.rel - ___02cf_523a_Main_20commands_3a_ -messages_lib/02d0_dcca_Max_20attempts_20to.rel - ___02d0_dcca_Max_20attempts_20to -messages_lib/02d1_0279_Max_20clients.rel - ___02d1_0279_Max_20clients -messages_lib/02d2_3cd5_Max_20frame_20lengt.rel - ___02d2_3cd5_Max_20frame_20lengt -messages_lib/02d3_d96d_Maximum_20messages_.rel - ___02d3_d96d_Maximum_20messages_ -messages_lib/02d4_488d_Mbuf_20sizes_3a_0a.rel - ___02d4_488d_Mbuf_20sizes_3a_0a -messages_lib/02d5_ee8f_Message_20_23_25d_2.rel - ___02d5_ee8f_Message_20_23_25d_2 -messages_lib/02d6_b5f9_Mode_20_25s_20unkno.rel - ___02d6_b5f9_Mode_20_25s_20unkno -messages_lib/02d7_aa15_Mode_20_25s_20unkno.rel - ___02d7_aa15_Mode_20_25s_20unkno -messages_lib/02d8_ac3e_Msg_20_25d_20Killed.rel - ___02d8_ac3e_Msg_20_25d_20Killed -messages_lib/02d9_9a86_Must_20be_20_200_20.rel - ___02d9_9a86_Must_20be_20_200_20 -messages_lib/02da_362b_Must_20be_20_200_20.rel - ___02da_362b_Must_20be_20_200_20 -messages_lib/02db_2da0_Must_20be_20_3e_3d_.rel - ___02db_2da0_Must_20be_20_3e_3d_ -messages_lib/02dc_06a9_Must_20set_20_27r_2.rel - ___02dc_06a9_Must_20set_20_27r_2 -messages_lib/02dd_d814_N_3e_3d_255u_3a_257.rel - ___02dd_d814_N_3e_3d_255u_3a_257 -messages_lib/02de_7868_NET_2fROM_20Routing.rel - ___02de_7868_NET_2fROM_20Routing -messages_lib/02df_ae07_NET_2fROM_20not_20a.rel - ___02df_ae07_NET_2fROM_20not_20a -messages_lib/02e0_d0e9_NET_2fROM_3a_20_25s.rel - ___02e0_d0e9_NET_2fROM_3a_20_25s -messages_lib/02e1_73b0_NEWNEWS_20_25s_20_2.rel - ___02e1_73b0_NEWNEWS_20_25s_20_2 -messages_lib/02e2_c191_NNTP_20_25s_20Canno.rel - ___02e2_c191_NNTP_20_25s_20Canno -messages_lib/02e3_7ed2_NNTP_20_25s_20Canno.rel - ___02e3_7ed2_NNTP_20_25s_20Canno -messages_lib/02e4_bcd0_NNTP_20_25s_20Conne.rel - ___02e4_bcd0_NNTP_20_25s_20Conne -messages_lib/02e5_796b_NNTP_20_25s_20Conne.rel - ___02e5_796b_NNTP_20_25s_20Conne -messages_lib/02e6_4193_NNTP_20_25s_20Conne.rel - ___02e6_4193_NNTP_20_25s_20Conne -messages_lib/02e7_0909_NNTP_20_25s_20Conne.rel - ___02e7_0909_NNTP_20_25s_20Conne -messages_lib/02e8_3814_NNTP_20_25s_20Conne.rel - ___02e8_3814_NNTP_20_25s_20Conne -messages_lib/02e9_b5ec_NNTP_20_25s_20Could.rel - ___02e9_b5ec_NNTP_20_25s_20Could -messages_lib/02ea_8531_NNTP_20_25s_20Could.rel - ___02ea_8531_NNTP_20_25s_20Could -messages_lib/02eb_8fd5_NNTP_20_25s_20Could.rel - ___02eb_8fd5_NNTP_20_25s_20Could -messages_lib/02ec_0d83_NNTP_20_25s_20Givin.rel - ___02ec_0d83_NNTP_20_25s_20Givin -messages_lib/02ed_19c4_NNTP_20_25s_20Givin.rel - ___02ed_19c4_NNTP_20_25s_20Givin -messages_lib/02ee_213a_NNTP_20_25s_20bad_2.rel - ___02ee_213a_NNTP_20_25s_20bad_2 -messages_lib/02ef_31a2_NNTP_20_25s_20bad_2.rel - ___02ef_31a2_NNTP_20_25s_20bad_2 -messages_lib/02f0_df3f_NNTP_20_25s_20givin.rel - ___02f0_df3f_NNTP_20_25s_20givin -messages_lib/02f1_791c_NNTP_20_25s_20givin.rel - ___02f1_791c_NNTP_20_25s_20givin -messages_lib/02f2_75ce_NNTP_20_25s_20givin.rel - ___02f2_75ce_NNTP_20_25s_20givin -messages_lib/02f3_7eb6_NNTP_20_25s_20proto.rel - ___02f3_7eb6_NNTP_20_25s_20proto -messages_lib/02f4_7f99_NNTP_20_25s_20proto.rel - ___02f4_7f99_NNTP_20_25s_20proto -messages_lib/02f5_a517_NNTP_20Cannot_20ope.rel - ___02f5_a517_NNTP_20Cannot_20ope -messages_lib/02f6_fc8f_NNTP_20can_27t_20re.rel - ___02f6_fc8f_NNTP_20can_27t_20re -messages_lib/02f7_2c2a_NNTP_20daemon_20ent.rel - ___02f7_2c2a_NNTP_20daemon_20ent -messages_lib/02f8_f2a9_NNTP_20daemon_20exi.rel - ___02f8_f2a9_NNTP_20daemon_20exi -messages_lib/02f9_cbc7_NNTP_20daemon_20qui.rel - ___02f9_cbc7_NNTP_20daemon_20qui -messages_lib/02fa_0fa8_NNTP_20group_20_27_.rel - ___02fa_0fa8_NNTP_20group_20_27_ -messages_lib/02fb_0e76_NNTP_20receive_20er.rel - ___02fb_0e76_NNTP_20receive_20er -messages_lib/02fc_a47f_NNTP_20received_20_.rel - ___02fc_a47f_NNTP_20received_20_ -messages_lib/02fd_0916_NNTP_20tracing.rel - ___02fd_0916_NNTP_20tracing -messages_lib/02fe_b065_NNTP_20window_20to_.rel - ___02fe_b065_NNTP_20window_20to_ -messages_lib/02ff_852e_NO_20_2d_20.rel - ___02ff_852e_NO_20_2d_20 -messages_lib/0300_e182_NO_20_2d_20bad_20ad.rel - ___0300_e182_NO_20_2d_20bad_20ad -messages_lib/0301_7ccb_NO_20_2d_20syntax_2.rel - ___0301_7ccb_NO_20_2d_20syntax_2 -messages_lib/0302_2df6_NOS_20log_20closed.rel - ___0302_2df6_NOS_20log_20closed -messages_lib/0303_e1c8_NOS_20was_20started.rel - ___0303_e1c8_NOS_20was_20started -messages_lib/0304_cfbe_NOS_20was_20stopped.rel - ___0304_cfbe_NOS_20was_20stopped -messages_lib/0305_998c_NULL_20BUFFER_0a.rel - ___0305_998c_NULL_20BUFFER_0a -messages_lib/0306_89a8_Net_3e_20.rel - ___0306_89a8_Net_3e_20 -messages_lib/0307_e0c6_Network_20_25s_20co.rel - ___0307_e0c6_Network_20_25s_20co -messages_lib/0308_4009_New_20mail_20arrive.rel - ___0308_4009_New_20mail_20arrive -messages_lib/0309_fbfc_New_20mail_20arrive.rel - ___0309_fbfc_New_20mail_20arrive -messages_lib/030a_d0a7_New_20news_20arrive.rel - ___030a_d0a7_New_20news_20arrive -messages_lib/030b_e9a0_No_20HAPN_20adaptor.rel - ___030b_e9a0_No_20HAPN_20adaptor -messages_lib/030c_87bb_No_20current_20sess.rel - ___030c_87bb_No_20current_20sess -messages_lib/030d_7f27_No_20dialer_20activ.rel - ___030d_7f27_No_20dialer_20activ -messages_lib/030e_cd1f_No_20finger_20infor.rel - ___030e_cd1f_No_20finger_20infor -messages_lib/030f_2a2e_No_20help_20availab.rel - ___030f_2a2e_No_20help_20availab -messages_lib/0310_7cc9_No_20packet_20drive.rel - ___0310_7cc9_No_20packet_20drive -messages_lib/0311_4e0c_No_20such_20message.rel - ___0311_4e0c_No_20such_20message -messages_lib/0312_2a80_No_20such_20server_.rel - ___0312_2a80_No_20such_20server_ -messages_lib/0313_0cda_Nodetimer_20_25lu_2.rel - ___0313_0cda_Nodetimer_20_25lu_2 -messages_lib/0314_3fb0_None.rel - ___0314_3fb0_None -messages_lib/0315_1aee_None_0a.rel - ___0315_1aee_None_0a -messages_lib/0316_f8e2_Not_20a_20valid_20s.rel - ___0316_f8e2_Not_20a_20valid_20s -messages_lib/0317_b4ba_Not_20an_20FTP_20se.rel - ___0317_b4ba_Not_20an_20FTP_20se -messages_lib/0318_ee7e_Not_20found_0a.rel - ___0318_ee7e_Not_20found_0a -messages_lib/0319_533e_Not_20in_20table_0a.rel - ___0319_533e_Not_20in_20table_0a -messages_lib/031a_c7b9_Not_20supported_0a.rel - ___031a_c7b9_Not_20supported_0a -messages_lib/031b_9692_Obsotimer_20_25lu_2.rel - ___031b_9692_Obsotimer_20_25lu_2 -messages_lib/031c_ff96_Oh_2c_20hello_20_25.rel - ___031c_ff96_Oh_2c_20hello_20_25 -messages_lib/031d_0948_Only_20_25d_20DRSI_.rel - ___031d_0948_Only_20_25d_20DRSI_ -messages_lib/031e_8edb_Only_20_25d_20net_2.rel - ___031e_8edb_Only_20_25d_20net_2 -messages_lib/031f_f9f0_Only_201_20EAGLE_20.rel - ___031f_f9f0_Only_201_20EAGLE_20 -messages_lib/0320_1514_Outqlen_3a_20_25d_2.rel - ___0320_1514_Outqlen_3a_20_25d_2 -messages_lib/0321_5b48_PANIC_3a_20Timer_20.rel - ___0321_5b48_PANIC_3a_20Timer_20 -messages_lib/0322_281b_PANIC_3a_20buffer_2.rel - ___0322_281b_PANIC_3a_20buffer_2 -messages_lib/0323_f630_PAP_0a.rel - ___0323_f630_PAP_0a -messages_lib/0324_b2fb_PAP_20_25s_0a.rel - ___0324_b2fb_PAP_20_25s_0a -messages_lib/0325_8063_PASS_20_25s.rel - ___0325_8063_PASS_20_25s -messages_lib/0326_2320_PI_20Board_20Statis.rel - ___0326_2320_PI_20Board_20Statis -messages_lib/0327_73f1_PI_3a_20DMA_20_25d_.rel - ___0327_73f1_PI_3a_20DMA_20_25d_ -messages_lib/0328_5841_PI_3a_20DMA_20chann.rel - ___0328_5841_PI_3a_20DMA_20chann -messages_lib/0329_3992_PI_3a_20IRQ_20_25u_.rel - ___0329_3992_PI_3a_20IRQ_20_25u_ -messages_lib/032a_4ca4_PI_3a_20Interface_2.rel - ___032a_4ca4_PI_3a_20Interface_2 -messages_lib/032b_d856_PI_3a_20Maximum_20o.rel - ___032b_d856_PI_3a_20Maximum_20o -messages_lib/032c_9098_PI_3a_20Mode_20_25s.rel - ___032c_9098_PI_3a_20Mode_20_25s -messages_lib/032d_de39_PI_3a_20No_20IP_20a.rel - ___032d_de39_PI_3a_20No_20IP_20a -messages_lib/032e_02ea_PI_3a_20No_20memory.rel - ___032e_02ea_PI_3a_20No_20memory -messages_lib/032f_c0d0_PI_3a_20No_20memory.rel - ___032f_c0d0_PI_3a_20No_20memory -messages_lib/0330_94ca_PI_3a_20No_20memory.rel - ___0330_94ca_PI_3a_20No_20memory -messages_lib/0331_c698_PI_3a_20No_20memory.rel - ___0331_c698_PI_3a_20No_20memory -messages_lib/0332_d61f_PI_3a_20Set_20mycal.rel - ___0332_d61f_PI_3a_20Set_20mycal -messages_lib/0333_68d4_PID_20_20_20CS_3aIP.rel - ___0333_68d4_PID_20_20_20CS_3aIP -messages_lib/0334_3c62_POP_20access_20DENI.rel - ___0334_3c62_POP_20access_20DENI -messages_lib/0335_f3cf_POP_20access_20gran.rel - ___0335_f3cf_POP_20access_20gran -messages_lib/0336_639f_POP_20client_20retr.rel - ___0336_639f_POP_20client_20retr -messages_lib/0337_e9bb_POP_20quiet.rel - ___0337_e9bb_POP_20quiet -messages_lib/0338_1231_POP_20users_20file_.rel - ___0338_1231_POP_20users_20file_ -messages_lib/0339_e126_PORT_20_25u_2c_25u_.rel - ___0339_e126_PORT_20_25u_2c_25u_ -messages_lib/033a_b459_PPP_20tracing.rel - ___033a_b459_PPP_20tracing -messages_lib/033b_b660_PPP_3a_20len_20_253.rel - ___033b_b660_PPP_3a_20len_20_253 -messages_lib/033c_8c73_Packet_20driver_20h.rel - ___033c_8c73_Packet_20driver_20h -messages_lib/033d_d638_Pap_0a.rel - ___033d_d638_Pap_0a -messages_lib/033e_8165_Parameter_20_25s_20.rel - ___033e_8165_Parameter_20_25s_20 -messages_lib/033f_85d2_Password_3a_20.rel - ___033f_85d2_Password_3a_20 -messages_lib/0340_cb37_Password_3a_20_25c_.rel - ___0340_cb37_Password_3a_20_25c_ -messages_lib/0341_6310_Path_3a_20.rel - ___0341_6310_Path_3a_20 -messages_lib/0342_f75b_Persistence_3a_20_2.rel - ___0342_f75b_Persistence_3a_20_2 -messages_lib/0343_7bc8_Pinging_20_25s_0a.rel - ___0343_7bc8_Pinging_20_25s_0a -messages_lib/0344_94a5_Pinging_20resumed_0.rel - ___0344_94a5_Pinging_20resumed_0 -messages_lib/0345_7fa9_Pinging_20suspended.rel - ___0345_7fa9_Pinging_20suspended -messages_lib/0346_220f_Please_20hang_20up_.rel - ___0346_220f_Please_20hang_20up_ -messages_lib/0347_4304_Poll_20threshold_20.rel - ___0347_4304_Poll_20threshold_20 -messages_lib/0348_f8a0_Pool_20count_20_25s.rel - ___0348_f8a0_Pool_20count_20_25s -messages_lib/0349_dd4d_Protocol_20Field_20.rel - ___0349_dd4d_Protocol_20Field_20 -messages_lib/034a_744a_QUIT_0a.rel - ___034a_744a_QUIT_0a -messages_lib/034b_43c0_Quality_20cannot_20.rel - ___034b_43c0_Quality_20cannot_20 -messages_lib/034c_b523_Queue_20limit_20_28.rel - ___034c_b523_Queue_20limit_20_28 -messages_lib/034d_4a0a_R_20numbers.rel - ___034d_4a0a_R_20numbers -messages_lib/034e_db0e_R_3a_25s_20_40_25s_.rel - ___034e_db0e_R_3a_25s_20_40_25s_ -messages_lib/034f_373f_REQUEST.rel - ___034f_373f_REQUEST -messages_lib/0350_19a4_RESPONSE.rel - ___0350_19a4_RESPONSE -messages_lib/0351_8b13_RETR_20_25s.rel - ___0351_8b13_RETR_20_25s -messages_lib/0352_86e9_RETURN_0a.rel - ___0352_86e9_RETURN_0a -messages_lib/0353_bbdb_RFrames_20_2d_20_25.rel - ___0353_bbdb_RFrames_20_2d_20_25 -messages_lib/0354_f9d6_RIP_20merging.rel - ___0354_f9d6_RIP_20merging -messages_lib/0355_3211_RIP_20refused_20fro.rel - ___0355_3211_RIP_20refused_20fro -messages_lib/0356_8827_RIP_20tracing.rel - ___0356_8827_RIP_20tracing -messages_lib/0357_5585_RIP_3a_20.rel - ___0357_5585_RIP_3a_20 -messages_lib/0358_fd1d_RIP_3a_20sent_20_25.rel - ___0358_fd1d_RIP_3a_20sent_20_25 -messages_lib/0359_6b7c_RIPCMD_3a_20Unknown.rel - ___0359_6b7c_RIPCMD_3a_20Unknown -messages_lib/035a_5f5f_RIPCMD_5fREQUEST_0a.rel - ___035a_5f5f_RIPCMD_5fREQUEST_0a -messages_lib/035b_07f6_RIPCMD_5fRESPONSE_2.rel - ___035b_07f6_RIPCMD_5fRESPONSE_2 -messages_lib/035c_eb71_RIP_5frx_3a_20Not_2.rel - ___035c_eb71_RIP_5frx_3a_20Not_2 -messages_lib/035d_86e6_RMD_20_25s.rel - ___035d_86e6_RMD_20_25s -messages_lib/035e_8005_Range_20for_20inter.rel - ___035e_8005_Range_20for_20inter -messages_lib/035f_1ee5_Reassembly_20fragme.rel - ___035f_1ee5_Reassembly_20fragme -messages_lib/0360_fbe9_Reassembly_20queue_.rel - ___0360_fbe9_Reassembly_20queue_ -messages_lib/0361_5eb3_Received_3a_20.rel - ___0361_5eb3_Received_3a_20 -messages_lib/0362_9fbc_Recording_20into_20.rel - ___0362_9fbc_Recording_20into_20 -messages_lib/0363_aa80_Recording_20off_0a.rel - ___0363_aa80_Recording_20off_0a -messages_lib/0364_2a15_Recv_3a_20_20_20_20.rel - ___0364_2a15_Recv_3a_20_20_20_20 -messages_lib/0365_d0ff_Refuse_0a.rel - ___0365_d0ff_Refuse_0a -messages_lib/0366_42c0_Refusing_20announce.rel - ___0366_42c0_Refusing_20announce -messages_lib/0367_6bd1_Requesting_2e_2e_2e.rel - ___0367_6bd1_Requesting_2e_2e_2e -messages_lib/0368_4784_Resolver_20_25s_20u.rel - ___0368_4784_Resolver_20_25s_20u -messages_lib/0369_ae52_Resolving_20_25s_2e.rel - ___0369_ae52_Resolving_20_25s_2e -messages_lib/036a_200a_Resolving_20_25s_2e.rel - ___036a_200a_Resolving_20_25s_2e -messages_lib/036b_cacc_Retry_20limit.rel - ___036b_cacc_Retry_20limit -messages_lib/036c_0cd3_Returned_20.rel - ___036c_0cd3_Returned_20 -messages_lib/036d_85af_Route_20add_20faile.rel - ___036d_85af_Route_20add_20faile -messages_lib/036e_9b70_Routing_20lookups_3.rel - ___036e_9b70_Routing_20lookups_3 -messages_lib/036f_9c01_Rxints_20_20_2d_20_.rel - ___036f_9c01_Rxints_20_20_2d_20_ -messages_lib/0370_ccf6_S_20_20_20_20_20Job.rel - ___0370_ccf6_S_20_20_20_20_20Job -messages_lib/0371_df6d_S_20command_20synta.rel - ___0371_df6d_S_20command_20synta -messages_lib/0372_4fbb_S_23_20_20_20Type_2.rel - ___0372_4fbb_S_23_20_20_20Type_2 -messages_lib/0373_bf54_SMTP_20_25s_20Conne.rel - ___0373_bf54_SMTP_20_25s_20Conne -messages_lib/0374_cbb7_SMTP_20batching.rel - ___0374_cbb7_SMTP_20batching -messages_lib/0375_e45f_SMTP_20client_20Try.rel - ___0375_e45f_SMTP_20client_20Try -messages_lib/0376_797a_SMTP_20sent_20job_2.rel - ___0376_797a_SMTP_20sent_20job_2 -messages_lib/0377_68b2_SMTP_20tracing.rel - ___0377_68b2_SMTP_20tracing -messages_lib/0378_e7a4_SP_20_3d_20_25p_2c_.rel - ___0378_e7a4_SP_20_3d_20_25p_2c_ -messages_lib/0379_a1f1_STOR_20_25s.rel - ___0379_a1f1_STOR_20_25s -messages_lib/037a_49fd_STOR_20_25s_0a.rel - ___037a_49fd_STOR_20_25s_0a -messages_lib/037b_38ea_STOR_20_25s_3a_20_2.rel - ___037b_38ea_STOR_20_25s_3a_20_2 -messages_lib/037c_12cc_STOR_20_25s_3a_20Er.rel - ___037c_12cc_STOR_20_25s_3a_20Er -messages_lib/037d_cfe9_SUBCMD_20_2d_20Don_.rel - ___037d_cfe9_SUBCMD_20_2d_20Don_ -messages_lib/037e_0319_SYST_0a.rel - ___037e_0319_SYST_0a -messages_lib/037f_93fc_Same_0a.rel - ___037f_93fc_Same_0a -messages_lib/0380_3c55_Scroll_20file_20siz.rel - ___0380_3c55_Scroll_20file_20siz -messages_lib/0381_e255_Send_20file_2c_20_2.rel - ___0381_e255_Send_20file_2c_20_2 -messages_lib/0382_c1d8_Send_3a_20_2508lx_2.rel - ___0382_c1d8_Send_3a_20_2508lx_2 -messages_lib/0383_afab_Server_20address_20.rel - ___0383_afab_Server_20address_20 -messages_lib/0384_36ef_Session_20_25s_20no.rel - ___0384_36ef_Session_20_25s_20no -messages_lib/0385_0845_Slot_20time_3a_20_2.rel - ___0385_0845_Slot_20time_3a_20_2 -messages_lib/0386_6556_Socket_20not_20in_2.rel - ___0386_6556_Socket_20not_20in_2 -messages_lib/0387_a061_Sorry_20_2d_20the_2.rel - ___0387_a061_Sorry_20_2d_20the_2 -messages_lib/0388_8034_Stack_20violation_2.rel - ___0388_8034_Stack_20violation_2 -messages_lib/0389_6414_Station_20_20_20Las.rel - ___0389_6414_Station_20_20_20Las -messages_lib/038a_5bef_Station_20_20_20Las.rel - ___038a_5bef_Station_20_20_20Las -messages_lib/038b_9aef_Subject_3a_20_25s_0.rel - ___038b_9aef_Subject_3a_20_25s_0 -messages_lib/038c_0cac_System_20is_20overl.rel - ___038c_0cac_System_20is_20overl -messages_lib/038d_63e9_T_20hostname.rel - ___038d_63e9_T_20hostname -messages_lib/038e_1279_T1_3a_20.rel - ___038e_1279_T1_3a_20 -messages_lib/038f_a7c1_T3_3a_20.rel - ___038f_a7c1_T3_3a_20 -messages_lib/0390_e4a1_TACK_3a_20.rel - ___0390_e4a1_TACK_3a_20 -messages_lib/0391_7f7b_TCB_20_25p_20_25s_2.rel - ___0391_7f7b_TCB_20_25p_20_25s_2 -messages_lib/0392_5447_TCD_3a_20.rel - ___0392_5447_TCD_3a_20 -messages_lib/0393_fa23_TCP_20MSS.rel - ___0393_fa23_TCP_20MSS -messages_lib/0394_70e7_TCP_20default_20irt.rel - ___0394_70e7_TCP_20default_20irt -messages_lib/0395_5ac7_TCP_20header_20comp.rel - ___0395_5ac7_TCP_20header_20comp -messages_lib/0396_c668_TCP_20state_20traci.rel - ___0396_c668_TCP_20state_20traci -messages_lib/0397_b0d7_TCP_20syn_2bdata_20.rel - ___0397_b0d7_TCP_20syn_2bdata_20 -messages_lib/0398_43bd_TCP_20timestamps.rel - ___0398_43bd_TCP_20timestamps -messages_lib/0399_5b74_TCP_20window.rel - ___0399_5b74_TCP_20window -messages_lib/039a_7267_TCP_3a_20_25u_2d_3e.rel - ___039a_7267_TCP_3a_20_25u_2d_3e -messages_lib/039b_59c4_TChoke_3a_20.rel - ___039b_59c4_TChoke_3a_20 -messages_lib/039c_2ced_TX_20Delay_3a_20_25.rel - ___039c_2ced_TX_20Delay_3a_20_25 -messages_lib/039d_6a23_TX_20Tail_20time_3a.rel - ___039d_6a23_TX_20Tail_20time_3a -messages_lib/039e_d175_TX_20queue_20limit.rel - ___039e_d175_TX_20queue_20limit -messages_lib/039f_f579_TYPE_20A_0a.rel - ___039f_f579_TYPE_20A_0a -messages_lib/03a0_3bb9_TYPE_20I_0a.rel - ___03a0_3bb9_TYPE_20I_0a -messages_lib/03a1_a616_TYPE_20L_20_25d_0a.rel - ___03a1_a616_TYPE_20L_20_25d_0a -messages_lib/03a2_f6fb_Target_20_20_20_20T.rel - ___03a2_f6fb_Target_20_20_20_20T -messages_lib/03a3_950b_Telnet_20option_20t.rel - ___03a3_950b_Telnet_20option_20t -messages_lib/03a4_4517_Thank_20you_20_25s_.rel - ___03a4_4517_Thank_20you_20_25s_ -messages_lib/03a5_70f0_The_20escape_20char.rel - ___03a5_70f0_The_20escape_20char -messages_lib/03a6_6de0_Time_20for_201000_2.rel - ___03a6_6de0_Time_20for_201000_2 -messages_lib/03a7_601a_Time_20to_20live.rel - ___03a7_601a_Time_20to_20live -messages_lib/03a8_e505_Timeout_20value_20_.rel - ___03a8_e505_Timeout_20value_20_ -messages_lib/03a9_1db3_Timer_20_20_20_20_2.rel - ___03a9_1db3_Timer_20_20_20_20_2 -messages_lib/03aa_d78a_Tip_20connection_20.rel - ___03aa_d78a_Tip_20connection_20 -messages_lib/03ab_c093_Tip_20session_20alr.rel - ___03ab_c093_Tip_20session_20alr -messages_lib/03ac_8c54_To_3a_20_25s_0a.rel - ___03ac_8c54_To_3a_20_25s_0a -messages_lib/03ad_2a55_Too_20many_20HAPN_2.rel - ___03ad_2a55_Too_20many_20HAPN_2 -messages_lib/03ae_76b7_Too_20many_20asynch.rel - ___03ae_76b7_Too_20many_20asynch -messages_lib/03af_58f2_Too_20many_20digipe.rel - ___03af_58f2_Too_20many_20digipe -messages_lib/03b0_2d53_Too_20many_20hs_20c.rel - ___03b0_2d53_Too_20many_20hs_20c -messages_lib/03b1_286c_Too_20many_20mailbo.rel - ___03b1_286c_Too_20many_20mailbo -messages_lib/03b2_4c9a_Too_20many_20nrs_20.rel - ___03b2_4c9a_Too_20many_20nrs_20 -messages_lib/03b3_7103_Too_20many_20packet.rel - ___03b3_7103_Too_20many_20packet -messages_lib/03b4_d8c3_Too_20many_20pc100_.rel - ___03b4_d8c3_Too_20many_20pc100_ -messages_lib/03b5_2057_Too_20many_20sessio.rel - ___03b5_2057_Too_20many_20sessio -messages_lib/03b6_447c_Too_20many_20slip_2.rel - ___03b6_447c_Too_20many_20slip_2 -messages_lib/03b7_0d8c_Try_20to_20bounce_2.rel - ___03b7_0d8c_Try_20to_20bounce_2 -messages_lib/03b8_2030_Trying_20_25s_2e_2e.rel - ___03b8_2030_Trying_20_25s_2e_2e -messages_lib/03b9_cee2_Trying_20_25s_2e_2e.rel - ___03b9_cee2_Trying_20_25s_2e_2e -messages_lib/03ba_be29_Trying_20Connection.rel - ___03ba_be29_Trying_20Connection -messages_lib/03bb_9c56_Tstate_20_3d_20_25s.rel - ___03bb_9c56_Tstate_20_3d_20_25s -messages_lib/03bc_6afe_Turn_20off_20local_.rel - ___03bc_6afe_Turn_20off_20local_ -messages_lib/03bd_c801_Tx_20state_20_20_25.rel - ___03bd_c801_Tx_20state_20_20_25 -messages_lib/03be_be1b_Tx_20state_20_20_25.rel - ___03be_be1b_Tx_20state_20_20_25 -messages_lib/03bf_e1f6_TxBuffers_3a_20_20S.rel - ___03bf_e1f6_TxBuffers_3a_20_20S -messages_lib/03c0_5cfe_Txdefer_20_2d_20_25.rel - ___03c0_5cfe_Txdefer_20_2d_20_25 -messages_lib/03c1_e733_U_20filename.rel - ___03c1_e733_U_20filename -messages_lib/03c2_9059_UDP_3a.rel - ___03c2_9059_UDP_3a -messages_lib/03c3_a945_USER_20_25s.rel - ___03c3_a945_USER_20_25s -messages_lib/03c4_41aa_Unknown_20command.rel - ___03c4_41aa_Unknown_20command -messages_lib/03c5_e21a_Unknown_20command_2.rel - ___03c5_e21a_Unknown_20command_2 -messages_lib/03c6_b975_Unknown_20command_3.rel - ___03c6_b975_Unknown_20command_3 -messages_lib/03c7_d2a4_Unknown_20encapsula.rel - ___03c7_d2a4_Unknown_20encapsula -messages_lib/03c8_8cf4_Unknown_20parameter.rel - ___03c8_8cf4_Unknown_20parameter -messages_lib/03c9_eb24_Update_20with_20MD5.rel - ___03c9_eb24_Update_20with_20MD5 -messages_lib/03ca_7d7d_Uploading_20_25s_0a.rel - ___03ca_7d7d_Uploading_20_25s_0a -messages_lib/03cb_bd81_Uploading_20off_0a.rel - ___03cb_bd81_Uploading_20off_0a -messages_lib/03cc_6d70_Uptime_20_25s_20Sta.rel - ___03cc_6d70_Uptime_20_25s_20Sta -messages_lib/03cd_0a8d_Usage_3a_20.rel - ___03cd_0a8d_Usage_3a_20 -messages_lib/03ce_125c_Usage_3a_20_25s_20_.rel - ___03ce_125c_Usage_3a_20_25s_20_ -messages_lib/03cf_6ae1_Usage_3a_20F_20user.rel - ___03cf_6ae1_Usage_3a_20F_20user -messages_lib/03d0_7dd1_Usage_3a_20ax25_20r.rel - ___03d0_7dd1_Usage_3a_20ax25_20r -messages_lib/03d1_f8b8_Usage_3a_20dial_20_.rel - ___03d1_f8b8_Usage_3a_20dial_20_ -messages_lib/03d2_a375_Usage_3a_20mbox_20m.rel - ___03d2_a375_Usage_3a_20mbox_20m -messages_lib/03d3_8cfb_Usage_3a_20pop_20us.rel - ___03d3_8cfb_Usage_3a_20pop_20us -messages_lib/03d4_a2c0_Usage_3a_20smtp_20m.rel - ___03d4_a2c0_Usage_3a_20smtp_20m -messages_lib/03d5_9654_Use_20the_20ax25_20.rel - ___03d5_9654_Use_20the_20ax25_20 -messages_lib/03d6_4893_User_20_20_20_20_20.rel - ___03d6_4893_User_20_20_20_20_20 -messages_lib/03d7_633f_User_20_25s_20not_2.rel - ___03d7_633f_User_20_25s_20not_2 -messages_lib/03d8_75ef_V_20numbers.rel - ___03d8_75ef_V_20numbers -messages_lib/03d9_4b9d_VJ_20Compressed_20T.rel - ___03d9_4b9d_VJ_20Compressed_20T -messages_lib/03da_2be9_VJ_20Uncompressed_2.rel - ___03da_2be9_VJ_20Uncompressed_2 -messages_lib/03db_3d32_Valid_20options_3a.rel - ___03db_3d32_Valid_20options_3a -messages_lib/03dc_8007_Value_20_25s_20_28_.rel - ___03dc_8007_Value_20_25s_20_28_ -messages_lib/03dd_c8df_Verbose.rel - ___03dd_c8df_Verbose -messages_lib/03de_32ff_Verbose_20flag.rel - ___03de_32ff_Verbose_20flag -messages_lib/03df_b110_WARNING_3a_20Locati.rel - ___03df_b110_WARNING_3a_20Locati -messages_lib/03e0_eddf_Warning_21_20Interf.rel - ___03e0_eddf_Warning_21_20Interf -messages_lib/03e1_4457_Warning_3a_20type_2.rel - ___03e1_4457_Warning_3a_20type_2 -messages_lib/03e2_85a8_Window_20_28frames_.rel - ___03e2_85a8_Window_20_28frames_ -messages_lib/03e3_9331_Window_20size_20_28.rel - ___03e3_9331_Window_20size_20_28 -messages_lib/03e4_613d_Window_3a_20_25_2d5.rel - ___03e4_613d_Window_3a_20_25_2d5 -messages_lib/03e5_25a6_Wink_20DTR_3f_20.rel - ___03e5_25a6_Wink_20DTR_3f_20 -messages_lib/03e6_75b2_Writing_20article_2.rel - ___03e6_75b2_Writing_20article_2 -messages_lib/03e7_3999_XMD5_20_25s.rel - ___03e7_3999_XMD5_20_25s -messages_lib/03e8_a62b_XMD5_20_25s_0a.rel - ___03e8_a62b_XMD5_20_25s_0a -messages_lib/03e9_8515_XMKD_20_25s_0a.rel - ___03e9_8515_XMKD_20_25s_0a -messages_lib/03ea_31d2_XRMD_20_25s_0a.rel - ___03ea_31d2_XRMD_20_25s_0a -messages_lib/03eb_71c6_You_20have_20.rel - ___03eb_71c6_You_20have_20 -messages_lib/03ec_1e66_You_20have_20new_20.rel - ___03ec_1e66_You_20have_20new_20 -messages_lib/03ed_4583_You_27re_20using_20.rel - ___03ed_4583_You_27re_20using_20 -messages_lib/03ee_4aef_Z_20filename.rel - ___03ee_4aef_Z_20filename -messages_lib/03ef_5fd7_Zap_20failed_3a_20_.rel - ___03ef_5fd7_Zap_20failed_3a_20_ -messages_lib/03f0_e3d1__5b.rel - ___03f0_e3d1__5b -messages_lib/03f1_9d9c__5bNET_2dHMR_24_5d.rel - ___03f1_9d9c__5bNET_2dHMR_24_5d -messages_lib/03f2_f8e4__5bunknown_5d.rel - ___03f2_f8e4__5bunknown_5d -messages_lib/03f3_699f__5eC_0a.rel - ___03f3_699f__5eC_0a -messages_lib/03f4_e5d6__5eR_0a.rel - ___03f4_e5d6__5eR_0a -messages_lib/03f5_1951__5fexit.rel - ___03f5_1951__5fexit -messages_lib/03f6_a314__5ffcreat_3a_20WARN.rel - ___03f6_a314__5ffcreat_3a_20WARN -messages_lib/03f7_79de__5funlink_3a_20bad_.rel - ___03f7_79de__5funlink_3a_20bad_ -messages_lib/03f8_722b_accept.rel - ___03f8_722b_accept -messages_lib/03f9_30f9_accept_0a.rel - ___03f9_30f9_accept_0a -messages_lib/03fa_2cfc_access.rel - ___03fa_2cfc_access -messages_lib/03fb_9b89_accm.rel - ___03fb_9b89_accm -messages_lib/03fc_16c9_acct.rel - ___03fc_16c9_acct -messages_lib/03fd_0c4f_acfc.rel - ___03fd_0c4f_acfc -messages_lib/03fe_7530_acktime.rel - ___03fe_7530_acktime -messages_lib/03ff_41b5_add.rel - ___03ff_41b5_add -messages_lib/0400_d8a3_add_20_3chostid_3e.rel - ___0400_d8a3_add_20_3chostid_3e -messages_lib/0401_6783_addprivate.rel - ___0401_6783_addprivate -messages_lib/0402_9712_address.rel - ___0402_9712_address -messages_lib/0403_2c42_addserver.rel - ___0403_2c42_addserver -messages_lib/0404_b0a9_alarm.rel - ___0404_b0a9_alarm -messages_lib/0405_9965_allocs_20_25lu_20fr.rel - ___0405_9965_allocs_20_25lu_20fr -messages_lib/0406_8e82_allow_20pap_20none_.rel - ___0406_8e82_allow_20pap_20none_ -messages_lib/0407_ba08_allow_20tcp_20none_.rel - ___0407_ba08_allow_20tcp_20none_ -messages_lib/0408_94f6_anext_20pointer_20o.rel - ___0408_94f6_anext_20pointer_20o -messages_lib/0409_c2a0_answer_20script_3a_.rel - ___0409_c2a0_answer_20script_3a_ -messages_lib/040a_da7c_area.rel - ___040a_da7c_area -messages_lib/040b_1dde_arp_20add_20_3chost.rel - ___040b_1dde_arp_20add_20_3chost -messages_lib/040c_96ce_arp_20drop_20_3chos.rel - ___040c_96ce_arp_20drop_20_3chos -messages_lib/040d_0018_arp_20publish_20_3c.rel - ___040d_0018_arp_20publish_20_3c -messages_lib/040e_5838_asci.rel - ___040e_5838_asci -messages_lib/040f_4354_ascii.rel - ___040f_4354_ascii -messages_lib/0410_3914_ascistat.rel - ___0410_3914_ascistat -messages_lib/0411_6442_attach.rel - ___0411_6442_attach -messages_lib/0412_39bc_attach_20_3chardwar.rel - ___0412_39bc_attach_20_3chardwar -messages_lib/0413_fe98_attach_20asci_20_3c.rel - ___0413_fe98_attach_20asci_20_3c -messages_lib/0414_342d_attach_20escc_20_3c.rel - ___0414_342d_attach_20escc_20_3c -messages_lib/0415_7943_attempt_20to_20writ.rel - ___0415_7943_attempt_20to_20writ -messages_lib/0416_7d37_attend.rel - ___0416_7d37_attend -messages_lib/0417_c133_authenticate.rel - ___0417_c133_authenticate -messages_lib/0418_fd47_ax25_20kick_20_3cax.rel - ___0418_fd47_ax25_20kick_20_3cax -messages_lib/0419_0003_ax25_20reset_20_3ca.rel - ___0419_0003_ax25_20reset_20_3ca -messages_lib/041a_ca0a_bad_20destination_2.rel - ___041a_ca0a_bad_20destination_2 -messages_lib/041b_60d3_bad_20internet_20ad.rel - ___041b_60d3_bad_20internet_20ad -messages_lib/041c_0a79_bad_20neighbor_20ca.rel - ___041c_0a79_bad_20neighbor_20ca -messages_lib/041d_4126_batch.rel - ___041d_4126_batch -messages_lib/041e_bcb6_bcnodes.rel - ___041e_bcb6_bcnodes -messages_lib/041f_0c93_begin_20_2503o_20_2.rel - ___041f_0c93_begin_20_2503o_20_2 -messages_lib/0420_50c4_bfind_28_25u_2c_20_.rel - ___0420_50c4_bfind_28_25u_2c_20_ -messages_lib/0421_0a46_bfind_28_29_20retur.rel - ___0421_0a46_bfind_28_29_20retur -messages_lib/0422_f1cc_bfind_28_29_20retur.rel - ___0422_f1cc_bfind_28_29_20retur -messages_lib/0423_e2d4_bfree_28_29_20retur.rel - ___0423_e2d4_bfree_28_29_20retur -messages_lib/0424_e703_bfree_28_29_20retur.rel - ___0424_e703_bfree_28_29_20retur -messages_lib/0425_4466_bfree_280x_25x_2c_2.rel - ___0425_4466_bfree_280x_25x_2c_2 -messages_lib/0426_3245_binary.rel - ___0426_3245_binary -messages_lib/0427_4c4f_blimit.rel - ___0427_4c4f_blimit -messages_lib/0428_c307_blk_5falloc_28_29_2.rel - ___0428_c307_blk_5falloc_28_29_2 -messages_lib/0429_b0c8_bmap_28_29_20return.rel - ___0429_b0c8_bmap_28_29_20return -messages_lib/042a_bbcb_bmap_28_29_20return.rel - ___042a_bbcb_bmap_28_29_20return -messages_lib/042b_46ee_bmap_28_29_20return.rel - ___042b_46ee_bmap_28_29_20return -messages_lib/042c_7681_bmap_280x_25x_2c_20.rel - ___042c_7681_bmap_280x_25x_2c_20 -messages_lib/042d_ff8d_bootp_20_5bnet_5fna.rel - ___042d_ff8d_bootp_20_5bnet_5fna -messages_lib/042e_0e8f_bootp_3a_20Net_5fer.rel - ___042e_0e8f_bootp_3a_20Net_5fer -messages_lib/042f_f5d9_bootp_3a_20timed_20.rel - ___042f_f5d9_bootp_3a_20timed_20 -messages_lib/0430_72d6_bp_20_25lx_20tot_20.rel - ___0430_72d6_bp_20_25lx_20tot_20 -messages_lib/0431_88ea_bread_28_25u_2c_20_.rel - ___0431_88ea_bread_28_25u_2c_20_ -messages_lib/0432_89e2_bread_28_29_20retur.rel - ___0432_89e2_bread_28_29_20retur -messages_lib/0433_7a66_bread_28_29_20retur.rel - ___0433_7a66_bread_28_29_20retur -messages_lib/0434_9767_brk.rel - ___0434_9767_brk -messages_lib/0435_f951_broadcast.rel - ___0435_f951_broadcast -messages_lib/0436_03ff_bsr.rel - ___0436_03ff_bsr -messages_lib/0437_d194_bufsync_28_29_20ret.rel - ___0437_d194_bufsync_28_29_20ret -messages_lib/0438_606b_bufsync_28_29_20sta.rel - ___0438_606b_bufsync_28_29_20sta -messages_lib/0439_83e6_by_20_25s_20_28_25s.rel - ___0439_83e6_by_20_25s_20_28_25s -messages_lib/043a_69f3_by_20_25s_20with_20.rel - ___043a_69f3_by_20_25s_20with_20 -messages_lib/043b_9ab1_bye.rel - ___043b_9ab1_bye -messages_lib/043c_7cbf_cache.rel - ___043c_7cbf_cache -messages_lib/043d_a3a9_can_27t_20read_20_2.rel - ___043d_a3a9_can_27t_20read_20_2 -messages_lib/043e_f4b4_can_27t_20trace_20i.rel - ___043e_f4b4_can_27t_20trace_20i -messages_lib/043f_9aa7_cd.rel - ___043f_9aa7_cd -messages_lib/0440_42c2_cd_20_3cdirectory_3.rel - ___0440_42c2_cd_20_3cdirectory_3 -messages_lib/0441_8b51_ch_5flink_28_29_20r.rel - ___0441_8b51_ch_5flink_28_29_20r -messages_lib/0442_30ce_ch_5flink_28_29_20r.rel - ___0442_30ce_ch_5flink_28_29_20r -messages_lib/0443_7c72_ch_5flink_280x_25x_.rel - ___0443_7c72_ch_5flink_280x_25x_ -messages_lib/0444_35a9_chat.rel - ___0444_35a9_chat -messages_lib/0445_743f_chdir.rel - ___0445_743f_chdir -messages_lib/0446_5ed3_check.rel - ___0446_5ed3_check -messages_lib/0447_40b3_check_20_3chost_3e.rel - ___0447_40b3_check_20_3chost_3e -messages_lib/0448_c946_chmod.rel - ___0448_c946_chmod -messages_lib/0449_b786_choketime.rel - ___0449_b786_choketime -messages_lib/044a_88f5_chown.rel - ___044a_88f5_chown -messages_lib/044b_87a8_chroot.rel - ___044b_87a8_chroot -messages_lib/044c_4822_clean.rel - ___044c_4822_clean -messages_lib/044d_23aa_close.rel - ___044d_23aa_close -messages_lib/044e_2b22_close_20FTP.rel - ___044e_2b22_close_20FTP -messages_lib/044f_f93d_close_20Finger.rel - ___044f_f93d_close_20Finger -messages_lib/0450_0957_close_20POP.rel - ___0450_0957_close_20POP -messages_lib/0451_b85c_close_20POP_20_2d_2.rel - ___0451_b85c_close_20POP_20_2d_2 -messages_lib/0452_83a3_close_20SMTP.rel - ___0452_83a3_close_20SMTP -messages_lib/0453_b949_close_20SMTP_20_2d_.rel - ___0453_b949_close_20SMTP_20_2d_ -messages_lib/0454_423c_close_20discard.rel - ___0454_423c_close_20discard -messages_lib/0455_419d_close_20echo.rel - ___0455_419d_close_20echo -messages_lib/0456_03ad_close_20term.rel - ___0456_03ad_close_20term -messages_lib/0457_83dc_code_20_25u_20arg_2.rel - ___0457_83dc_code_20_25u_20arg_2 -messages_lib/0458_ea90_compare.rel - ___0458_ea90_compare -messages_lib/0459_a613_compare_20_3cremote.rel - ___0459_a613_compare_20_3cremote -messages_lib/045a_fbc2_compress.rel - ___045a_fbc2_compress -messages_lib/045b_3845_compressed_20.rel - ___045b_3845_compressed_20 -messages_lib/045c_26b1_configure.rel - ___045c_26b1_configure -messages_lib/045d_749f_connect.rel - ___045d_749f_connect -messages_lib/045e_5769_control.rel - ___045e_5769_control -messages_lib/045f_941e_control_20up_20_7c_.rel - ___045f_941e_control_20up_20_7c_ -messages_lib/0460_2aba_control_3a_20_25s_0.rel - ___0460_2aba_control_3a_20_25s_0 -messages_lib/0461_4bf4_cwd.rel - ___0461_4bf4_cwd -messages_lib/0462_62af_d_5finit_28_29.rel - ___0462_62af_d_5finit_28_29 -messages_lib/0463_5a9b_d_5finit_28_29_20ma.rel - ___0463_5a9b_d_5finit_28_29_20ma -messages_lib/0464_62a8_debug.rel - ___0464_62a8_debug -messages_lib/0465_740d_default.rel - ___0465_740d_default -messages_lib/0466_db45_defaultfile.rel - ___0466_db45_defaultfile -messages_lib/0467_818b_delay_20_25lu_0a.rel - ___0467_818b_delay_20_25lu_0a -messages_lib/0468_2c87_dele.rel - ___0468_2c87_dele -messages_lib/0469_89a5_delete.rel - ___0469_89a5_delete -messages_lib/046a_3919_delete_20_3cfile_3e.rel - ___046a_3919_delete_20_3cfile_3e -messages_lib/046b_6466_destlist.rel - ___046b_6466_destlist -messages_lib/046c_cfc1_detach.rel - ___046c_cfc1_detach -messages_lib/046d_26f3_detach_20_3cinterfa.rel - ___046d_26f3_detach_20_3cinterfa -messages_lib/046e_3f12_devio_5fgarbage_3a_.rel - ___046e_3f12_devio_5fgarbage_3a_ -messages_lib/046f_0f61_dfile_5fsearch_3a_2.rel - ___046f_0f61_dfile_5fsearch_3a_2 -messages_lib/0470_4eba_dfile_5fupdate_3a_2.rel - ___0470_4eba_dfile_5fupdate_3a_2 -messages_lib/0471_5b47_dfile_5fupdate_3a_2.rel - ___0471_5b47_dfile_5fupdate_3a_2 -messages_lib/0472_ef06_dfile_5fupdate_3a_2.rel - ___0472_ef06_dfile_5fupdate_3a_2 -messages_lib/0473_0173_dialer.rel - ___0473_0173_dialer -messages_lib/0474_8d0b_dialer_20_3ciface_3.rel - ___0474_8d0b_dialer_20_3ciface_3 -messages_lib/0475_18c3_digipeat.rel - ___0475_18c3_digipeat -messages_lib/0476_bdc7_dir.rel - ___0476_bdc7_dir -messages_lib/0477_5c0a_directory.rel - ___0477_5c0a_directory -messages_lib/0478_176f_discard.rel - ___0478_176f_discard -messages_lib/0479_684a_discard_20expired_2.rel - ___0479_684a_discard_20expired_2 -messages_lib/047a_f701_disconnect.rel - ___047a_f701_disconnect -messages_lib/047b_e146_dns.rel - ___047b_e146_dns -messages_lib/047c_8f79_dns_5fquery_3a_20qu.rel - ___047c_8f79_dns_5fquery_3a_20qu -messages_lib/047d_6da5_dns_5fquery_3a_20re.rel - ___047d_6da5_dns_5fquery_3a_20re -messages_lib/047e_041c_doexit_3a_20won_27t.rel - ___047e_041c_doexit_3a_20won_27t -messages_lib/047f_21ed_domain.rel - ___047f_21ed_domain -messages_lib/0480_e0fd_down_20script_3a_20.rel - ___0480_e0fd_down_20script_3a_20 -messages_lib/0481_050c_download.rel - ___0481_050c_download -messages_lib/0482_4853_drop.rel - ___0482_4853_drop -messages_lib/0483_0532_drop_20_3chostid_3e.rel - ___0483_0532_drop_20_3chostid_3e -messages_lib/0484_e7cf_dropserver.rel - ___0484_e7cf_dropserver -messages_lib/0485_a2e4_dup.rel - ___0485_a2e4_dup -messages_lib/0486_b319_dup2.rel - ___0486_b319_dup2 -messages_lib/0487_cb91_dynip.rel - ___0487_cb91_dynip -messages_lib/0488_2edf_echo.rel - ___0488_2edf_echo -messages_lib/0489_7366_empty_20packet_21_2.rel - ___0489_7366_empty_20packet_21_2 -messages_lib/048a_48fd_encapsulation.rel - ___048a_48fd_encapsulation -messages_lib/048b_4a34_eol.rel - ___048b_4a34_eol -messages_lib/048c_b4ae_escape.rel - ___048c_b4ae_escape -messages_lib/048d_858e_escc.rel - ___048d_858e_escc -messages_lib/048e_d50a_escc_25d_3a_20No_20.rel - ___048e_d50a_escc_25d_3a_20No_20 -messages_lib/048f_6362_esccstat.rel - ___048f_6362_esccstat -messages_lib/0490_59b0_execve.rel - ___0490_59b0_execve -messages_lib/0491_3566_exit.rel - ___0491_3566_exit -messages_lib/0492_bd2b_expired.rel - ___0492_bd2b_expired -messages_lib/0493_bf9b_f_5ftrunc_28_29_20r.rel - ___0493_bf9b_f_5ftrunc_28_29_20r -messages_lib/0494_687d_f_5ftrunc_280x_25x_.rel - ___0494_687d_f_5ftrunc_280x_25x_ -messages_lib/0495_bce0_failure.rel - ___0495_bce0_failure -messages_lib/0496_086a_falign.rel - ___0496_086a_falign -messages_lib/0497_303b_files.rel - ___0497_303b_files -messages_lib/0498_d461_filesys_5fdoclose_2.rel - ___0498_d461_filesys_5fdoclose_2 -messages_lib/0499_661c_filesys_5fdoclose_2.rel - ___0499_661c_filesys_5fdoclose_2 -messages_lib/049a_8db4_filesys_5fdoclose_2.rel - ___049a_8db4_filesys_5fdoclose_2 -messages_lib/049b_d6a7_filter_20mode_20is_.rel - ___049b_d6a7_filter_20mode_20is_ -messages_lib/049c_927a_finger.rel - ___049c_927a_finger -messages_lib/049d_8ea1_finger_20name_40hos.rel - ___049d_8ea1_finger_20name_40hos -messages_lib/049e_28f4_flush.rel - ___049e_28f4_flush -messages_lib/049f_db22_fmount_28_25d_2c_20.rel - ___049f_db22_fmount_28_25d_2c_20 -messages_lib/04a0_9479_fmount_28_29_20retu.rel - ___04a0_9479_fmount_28_29_20retu -messages_lib/04a1_d221_fmount_28_29_20retu.rel - ___04a1_d221_fmount_28_29_20retu -messages_lib/04a2_dc8b_fmount_3a_20can_27t.rel - ___04a2_dc8b_fmount_3a_20can_27t -messages_lib/04a3_8074_fork.rel - ___04a3_8074_fork -messages_lib/04a4_8227_forward.rel - ___04a4_8227_forward -messages_lib/04a5_c066_fp_20_20_20_20_20_2.rel - ___04a5_c066_fp_20_20_20_20_20_2 -messages_lib/04a6_9a2a_free_3a_20WARNING_2.rel - ___04a6_9a2a_free_3a_20WARNING_2 -messages_lib/04a7_13ec_freeblk_28_25u_2c_2.rel - ___04a7_13ec_freeblk_28_25u_2c_2 -messages_lib/04a8_bc64_freeblk_28_29_20ret.rel - ___04a8_bc64_freeblk_28_29_20ret -messages_lib/04a9_3018_freeblk_28_29_20ret.rel - ___04a9_3018_freeblk_28_29_20ret -messages_lib/04aa_4c13_freebuf_28_25u_29_2.rel - ___04aa_4c13_freebuf_28_25u_29_2 -messages_lib/04ab_0c86_freebuf_28_29_20ret.rel - ___04ab_0c86_freebuf_28_29_20ret -messages_lib/04ac_f896_freelist.rel - ___04ac_f896_freelist -messages_lib/04ad_bd4f_from_20_25s_20.rel - ___04ad_bd4f_from_20_25s_20 -messages_lib/04ae_5b02_from_20_25s_2ebbs_2.rel - ___04ae_5b02_from_20_25s_2ebbs_2 -messages_lib/04af_2208_fs_5finit_28_29.rel - ___04af_2208_fs_5finit_28_29 -messages_lib/04b0_88d9_fsp_200x_25x_20s_5f.rel - ___04b0_88d9_fsp_200x_25x_20s_5f -messages_lib/04b1_7fbc_fstat.rel - ___04b1_7fbc_fstat -messages_lib/04b2_0e84_ftp.rel - ___04b2_0e84_ftp -messages_lib/04b3_bafd_ftp_20_3caddress_3e.rel - ___04b3_bafd_ftp_20_3caddress_3e -messages_lib/04b4_f999_ftp_3e_20syst_0a.rel - ___04b4_f999_ftp_3e_20syst_0a -messages_lib/04b5_51ba_garbage_20collectio.rel - ___04b5_51ba_garbage_20collectio -messages_lib/04b6_c2ce_gateway.rel - ___04b6_c2ce_gateway -messages_lib/04b7_9e35_get.rel - ___04b7_9e35_get -messages_lib/04b8_c7c0_get_20_3cremotefile.rel - ___04b8_c7c0_get_20_3cremotefile -messages_lib/04b9_60c5_getfsys.rel - ___04b9_60c5_getfsys -messages_lib/04ba_631b_getinode_3a_20bad_2.rel - ___04ba_631b_getinode_3a_20bad_2 -messages_lib/04bb_7dac_getset.rel - ___04bb_7dac_getset -messages_lib/04bc_74d1_getting_20block_20_.rel - ___04bc_74d1_getting_20block_20_ -messages_lib/04bd_b3cb_groups.rel - ___04bd_b3cb_groups -messages_lib/04be_156e_hash.rel - ___04be_156e_hash -messages_lib/04bf_5bc8_heap_20size_20_25lu.rel - ___04bf_5bc8_heap_20size_20_25lu -messages_lib/04c0_856f_heard.rel - ___04c0_856f_heard -messages_lib/04c1_fc9f_help.rel - ___04c1_fc9f_help -messages_lib/04c2_1d5e_homedir.rel - ___04c2_1d5e_homedir -messages_lib/04c3_6fa6_hop.rel - ___04c3_6fa6_hop -messages_lib/04c4_df98_host.rel - ___04c4_df98_host -messages_lib/04c5_476e_hostname.rel - ___04c5_476e_hostname -messages_lib/04c6_001d_i_5fopen_28_25u_2c_.rel - ___04c6_001d_i_5fopen_28_25u_2c_ -messages_lib/04c7_e51c_i_5fopen_28_29_20re.rel - ___04c7_e51c_i_5fopen_28_29_20re -messages_lib/04c8_64fb_i_5fopen_28_29_20re.rel - ___04c8_64fb_i_5fopen_28_29_20re -messages_lib/04c9_2f25_icmp.rel - ___04c9_2f25_icmp -messages_lib/04ca_dd41_ident.rel - ___04ca_dd41_ident -messages_lib/04cb_fe83_ifconfig.rel - ___04cb_fe83_ifconfig -messages_lib/04cc_6196_ignored_20_28hold_2.rel - ___04cc_6196_ignored_20_28hold_2 -messages_lib/04cd_dc84_info.rel - ___04cd_dc84_info -messages_lib/04ce_0500_input_20line_3a_20_.rel - ___04ce_0500_input_20line_3a_20_ -messages_lib/04cf_9677_interface.rel - ___04cf_9677_interface -messages_lib/04d0_3fa5_ioctl.rel - ___04d0_3fa5_ioctl -messages_lib/04d1_3172_ip.rel - ___04d1_3172_ip -messages_lib/04d2_d229_ip_5frecv_28_25s_29.rel - ___04d2_d229_ip_5frecv_28_25s_29 -messages_lib/04d3_289f_ip_5fsend_0a.rel - ___04d3_289f_ip_5fsend_0a -messages_lib/04d4_0191_ipaddress.rel - ___04d4_0191_ipaddress -messages_lib/04d5_dfc4_ipcp.rel - ___04d5_dfc4_ipcp -messages_lib/04d6_f4c1_irtt.rel - ___04d6_f4c1_irtt -messages_lib/04d7_516b_kick.rel - ___04d7_516b_kick -messages_lib/04d8_a61c_kill.rel - ___04d8_a61c_kill -messages_lib/04d9_ff9f_kill_20_3cjobnumber.rel - ___04d9_ff9f_kill_20_3cjobnumber -messages_lib/04da_5e27_ksigs_20_25lu_20que.rel - ___04da_5e27_ksigs_20_25lu_20que -messages_lib/04db_1bbe_kwaits_20_25lu_20no.rel - ___04db_1bbe_kwaits_20_25lu_20no -messages_lib/04dc_a567_lcp.rel - ___04dc_a567_lcp -messages_lib/04dd_b632_link.rel - ___04dd_b632_link -messages_lib/04de_dfe4_linkaddress.rel - ___04de_dfe4_linkaddress -messages_lib/04df_7bad_list.rel - ___04df_7bad_list -messages_lib/04e0_4346_listen.rel - ___04e0_4346_listen -messages_lib/04e1_a5dd_listservers.rel - ___04e1_a5dd_listservers -messages_lib/04e2_f2d8_local.rel - ___04e2_f2d8_local -messages_lib/04e3_68f9_log.rel - ___04e3_68f9_log -messages_lib/04e4_feb4_logfile.rel - ___04e4_feb4_logfile -messages_lib/04e5_52c6_login_3a_20.rel - ___04e5_52c6_login_3a_20 -messages_lib/04e6_a516_logscreen.rel - ___04e6_a516_logscreen -messages_lib/04e7_8f77_lookup.rel - ___04e7_8f77_lookup -messages_lib/04e8_7d51_ls.rel - ___04e8_7d51_ls -messages_lib/04e9_634b_lseek.rel - ___04e9_634b_lseek -messages_lib/04ea_0288_magic.rel - ___04ea_0288_magic -messages_lib/04eb_868b_maibox_20name_20not.rel - ___04eb_868b_maibox_20name_20not -messages_lib/04ec_2d7f_mailbox.rel - ___04ec_2d7f_mailbox -messages_lib/04ed_2084_mailbox_20name_20no.rel - ___04ed_2084_mailbox_20name_20no -messages_lib/04ee_86f8_mailhost.rel - ___04ee_86f8_mailhost -messages_lib/04ef_63b8_mailhost_20not_20de.rel - ___04ef_63b8_mailhost_20not_20de -messages_lib/04f0_139d_maxclients.rel - ___04f0_139d_maxclients -messages_lib/04f1_8d56_maxframe.rel - ___04f1_8d56_maxframe -messages_lib/04f2_d5aa_maximum_20route_20q.rel - ___04f2_d5aa_maximum_20route_20q -messages_lib/04f3_9853_maxmsg.rel - ___04f3_9853_maxmsg -messages_lib/04f4_7203_maxttl.rel - ___04f4_7203_maxttl -messages_lib/04f5_e017_maxwait.rel - ___04f5_e017_maxwait -messages_lib/04f6_e57a_mbuf_20allocs_20_25.rel - ___04f6_e57a_mbuf_20allocs_20_25 -messages_lib/04f7_8c4f_mcompare.rel - ___04f7_8c4f_mcompare -messages_lib/04f8_f47e_mcompare_20_3cfile_.rel - ___04f8_f47e_mcompare_20_3cfile_ -messages_lib/04f9_a71a_md5.rel - ___04f9_a71a_md5 -messages_lib/04fa_cc78_md5_20_3cfile_3e.rel - ___04fa_cc78_md5_20_3cfile_3e -messages_lib/04fb_4d2a_memory.rel - ___04fb_4d2a_memory -messages_lib/04fc_69ba_memory_20cache_20si.rel - ___04fc_69ba_memory_20cache_20si -messages_lib/04fd_336a_merge.rel - ___04fd_336a_merge -messages_lib/04fe_649e_merge_20_25s_20_25d.rel - ___04fe_649e_merge_20_25s_20_25d -messages_lib/04ff_460c_metric_20better_3a_.rel - ___04ff_460c_metric_20better_3a_ -messages_lib/0500_3694_metric_20change_3a_.rel - ___0500_3694_metric_20change_3a_ -messages_lib/0501_44b0_metric_20not_20bett.rel - ___0501_44b0_metric_20not_20bett -messages_lib/0502_b64c_mget.rel - ___0502_b64c_mget -messages_lib/0503_8d01_mget_20_3cfile_3e_2.rel - ___0503_8d01_mget_20_3cfile_3e_2 -messages_lib/0504_1e96_mkd_20.rel - ___0504_1e96_mkd_20 -messages_lib/0505_304a_mkdir.rel - ___0505_304a_mkdir -messages_lib/0506_7d04_mkdir_20_3cdirector.rel - ___0506_7d04_mkdir_20_3cdirector -messages_lib/0507_6257_mknod.rel - ___0507_6257_mknod -messages_lib/0508_685e_mode.rel - ___0508_685e_mode -messages_lib/0509_9335_modes_20are_3a_20no.rel - ___0509_9335_modes_20are_3a_20no -messages_lib/050a_a91f_more.rel - ___050a_a91f_more -messages_lib/050b_5384_more_20_3cfilename_.rel - ___050b_5384_more_20_3cfilename_ -messages_lib/050c_ec46_motd.rel - ___050c_ec46_motd -messages_lib/050d_b5d1_mount.rel - ___050d_b5d1_mount -messages_lib/050e_2a4d_mput.rel - ___050e_2a4d_mput -messages_lib/050f_312f_mput_20_3cfile_3e_2.rel - ___050f_312f_mput_20_3cfile_3e_2 -messages_lib/0510_245f_mru.rel - ___0510_245f_mru -messages_lib/0511_58b1_mss.rel - ___0511_58b1_mss -messages_lib/0512_708f_mtu.rel - ___0512_708f_mtu -messages_lib/0513_78ae_mycall.rel - ___0513_78ae_mycall -messages_lib/0514_e112_n_5fcreat_28_22_25s.rel - ___0514_e112_n_5fcreat_28_22_25s -messages_lib/0515_fa1b_n_5fcreat_28_29_20r.rel - ___0515_fa1b_n_5fcreat_28_29_20r -messages_lib/0516_105b_n_5fcreat_28_29_20r.rel - ___0516_105b_n_5fcreat_28_29_20r -messages_lib/0517_8a90_name.rel - ___0517_8a90_name -messages_lib/0518_b07d_netmask.rel - ___0518_b07d_netmask -messages_lib/0519_4d2c_netrom_20bcnodes_20.rel - ___0519_4d2c_netrom_20bcnodes_20 -messages_lib/051a_c5dc_netrom_20connect_20.rel - ___051a_c5dc_netrom_20connect_20 -messages_lib/051b_925a_netrom_20interface_.rel - ___051b_925a_netrom_20interface_ -messages_lib/051c_a510_netrom_20interface_.rel - ___051c_a510_netrom_20interface_ -messages_lib/051d_b271_netrom_20kick_20_3c.rel - ___051d_b271_netrom_20kick_20_3c -messages_lib/051e_5334_netrom_20nodefilter.rel - ___051e_5334_netrom_20nodefilter -messages_lib/051f_6bfe_netrom_20nodefilter.rel - ___051f_6bfe_netrom_20nodefilter -messages_lib/0520_328e_netrom_20reset_20_3.rel - ___0520_328e_netrom_20reset_20_3 -messages_lib/0521_18c8_netrom_20route_20ad.rel - ___0521_18c8_netrom_20route_20ad -messages_lib/0522_fff3_netrom_20route_20dr.rel - ___0522_fff3_netrom_20route_20dr -messages_lib/0523_e8da_netrom_20route_20in.rel - ___0523_e8da_netrom_20route_20in -messages_lib/0524_9094_newfile_28_29_20ret.rel - ___0524_9094_newfile_28_29_20ret -messages_lib/0525_6cce_newfile_28_29_20ret.rel - ___0525_6cce_newfile_28_29_20ret -messages_lib/0526_147d_newfile_280x_25x_2c.rel - ___0526_147d_newfile_280x_25x_2c -messages_lib/0527_2254_newproc_20_22_25s_2.rel - ___0527_2254_newproc_20_22_25s_2 -messages_lib/0528_4db6_newsession_3a_20WAR.rel - ___0528_4db6_newsession_3a_20WAR -messages_lib/0529_5ab5_newsession_3a_20WAR.rel - ___0529_5ab5_newsession_3a_20WAR -messages_lib/052a_7718_next_20pointer_20ou.rel - ___052a_7718_next_20pointer_20ou -messages_lib/052b_7b66_nlst.rel - ___052b_7b66_nlst -messages_lib/052c_0ca7_nntp_20addserver_20.rel - ___052c_0ca7_nntp_20addserver_20 -messages_lib/052d_fea0_nntp_20dropserver_2.rel - ___052d_fea0_nntp_20dropserver_2 -messages_lib/052e_a821_nntp_20kick_20_3cnn.rel - ___052e_a821_nntp_20kick_20_3cnn -messages_lib/052f_a7f6_no_20filesys.rel - ___052f_a7f6_no_20filesys -messages_lib/0530_7405_no_20root.rel - ___0530_7405_no_20root -messages_lib/0531_b518_no_20such_20route_0.rel - ___0531_b518_no_20such_20route_0 -messages_lib/0532_3fb4_nodefilter.rel - ___0532_3fb4_nodefilter -messages_lib/0533_bac4_nodefilter_20subcom.rel - ___0533_bac4_nodefilter_20subcom -messages_lib/0534_e743_nodes.rel - ___0534_e743_nodes -messages_lib/0535_57cf_nodetimer.rel - ___0535_57cf_nodetimer -messages_lib/0536_7a7f_none_0a.rel - ___0536_7a7f_none_0a -messages_lib/0537_29c2_normal_20_28_25s_20.rel - ___0537_29c2_normal_20_28_25s_20 -messages_lib/0538_07d0_null_0a.rel - ___0538_07d0_null_0a -messages_lib/0539_fb30_obsotimer.rel - ___0539_fb30_obsotimer -messages_lib/053a_3971_open.rel - ___053a_3971_open -messages_lib/053b_a412_open_20_25s.rel - ___053b_a412_open_20_25s -messages_lib/053c_e5a0_open_20FTP.rel - ___053c_e5a0_open_20FTP -messages_lib/053d_10d3_open_20Finger.rel - ___053d_10d3_open_20Finger -messages_lib/053e_fe22_open_20MBOX.rel - ___053e_fe22_open_20MBOX -messages_lib/053f_c7d5_open_20POP.rel - ___053f_c7d5_open_20POP -messages_lib/0540_2477_open_20SMTP.rel - ___0540_2477_open_20SMTP -messages_lib/0541_4ca5_open_20discard.rel - ___0541_4ca5_open_20discard -messages_lib/0542_e649_open_20echo.rel - ___0542_e649_open_20echo -messages_lib/0543_a479_open_20term.rel - ___0543_a479_open_20term -messages_lib/0544_2f09_p_5finit_28_29.rel - ___0544_2f09_p_5finit_28_29 -messages_lib/0545_76ec_packet_20delayed_20.rel - ___0545_76ec_packet_20delayed_20 -messages_lib/0546_8504_packet_20duped_0a.rel - ___0546_8504_packet_20duped_0a -messages_lib/0547_a8e1_packet_20lost_0a.rel - ___0547_a8e1_packet_20lost_0a -messages_lib/0548_ead4_paclen.rel - ___0548_ead4_paclen -messages_lib/0549_1a03_page.rel - ___0549_1a03_page -messages_lib/054a_dd11_page_20_3ccommand_3.rel - ___054a_dd11_page_20_3ccommand_3 -messages_lib/054b_b6e1_pap.rel - ___054b_b6e1_pap -messages_lib/054c_512a_param.rel - ___054c_512a_param -messages_lib/054d_d362_param_20_3cinterfac.rel - ___054d_d362_param_20_3cinterfac -messages_lib/054e_9d45_pass.rel - ___054e_9d45_pass -messages_lib/054f_f746_pause.rel - ___054f_f746_pause -messages_lib/0550_d9f3_pfc.rel - ___0550_d9f3_pfc -messages_lib/0551_28cb_ping.rel - ___0551_28cb_ping -messages_lib/0552_d85a_ping_20_3chostid_3e.rel - ___0552_d85a_ping_20_3chostid_3e -messages_lib/0553_0458_pipe.rel - ___0553_0458_pipe -messages_lib/0554_5919_pool.rel - ___0554_5919_pool -messages_lib/0555_e039_port.rel - ___0555_e039_port -messages_lib/0556_a9d2_port_20_25d_3a_20tx.rel - ___0556_a9d2_port_20_25d_3a_20tx -messages_lib/0557_3aa8_ppp.rel - ___0557_3aa8_ppp -messages_lib/0558_8304_ppp_5fproc_3a_20mis.rel - ___0558_8304_ppp_5fproc_3a_20mis -messages_lib/0559_4b37_process_20_25d_20ex.rel - ___0559_4b37_process_20_25d_20ex -messages_lib/055a_8848_processing_20my_20i.rel - ___055a_8848_processing_20my_20i -messages_lib/055b_e384_processing_20other_.rel - ___055b_e384_processing_20other_ -messages_lib/055c_3dc2_protocol_3a_20.rel - ___055c_3dc2_protocol_3a_20 -messages_lib/055d_4160_ps.rel - ___055d_4160_ps -messages_lib/055e_26dc_pthresh.rel - ___055e_26dc_pthresh -messages_lib/055f_a61f_publish.rel - ___055f_a61f_publish -messages_lib/0560_274c_pushdown_20calls_20.rel - ___0560_274c_pushdown_20calls_20 -messages_lib/0561_0234_put.rel - ___0561_0234_put -messages_lib/0562_8f3b_put_20_3clocalfile_.rel - ___0562_8f3b_put_20_3clocalfile_ -messages_lib/0563_b16b_putting_20block_20_.rel - ___0563_b16b_putting_20block_20_ -messages_lib/0564_2105_pwd.rel - ___0564_2105_pwd -messages_lib/0565_0282_qlimit.rel - ___0565_0282_qlimit -messages_lib/0566_0be6_queries.rel - ___0566_0be6_queries -messages_lib/0567_0bef_query.rel - ___0567_0bef_query -messages_lib/0568_6646_query_20_3chostid_3.rel - ___0568_6646_query_20_3chostid_3 -messages_lib/0569_27c8_queue_20job_20_25s_.rel - ___0569_27c8_queue_20job_20_25s_ -messages_lib/056a_1196_quick.rel - ___056a_1196_quick -messages_lib/056b_ad30_quiet.rel - ___056b_ad30_quiet -messages_lib/056c_7b54_quit.rel - ___056c_7b54_quit -messages_lib/056d_054d_read.rel - ___056d_054d_read -messages_lib/056e_c7a9_read_20_3cremotefil.rel - ___056e_c7a9_read_20_3cremotefil -messages_lib/056f_19fa_readwritei_28_25u_2.rel - ___056f_19fa_readwritei_28_25u_2 -messages_lib/0570_79be_readwritei_28_29_20.rel - ___0570_79be_readwritei_28_29_20 -messages_lib/0571_94aa_readwritei_28_29_20.rel - ___0571_94aa_readwritei_28_29_20 -messages_lib/0572_67b0_readwritei_28_29_20.rel - ___0572_67b0_readwritei_28_29_20 -messages_lib/0573_7ee6_reboot.rel - ___0573_7ee6_reboot -messages_lib/0574_1c64_received_20_25u_20b.rel - ___0574_1c64_received_20_25u_20b -messages_lib/0575_5735_record.rel - ___0575_5735_record -messages_lib/0576_18c5_recv_3a_20do_20.rel - ___0576_18c5_recv_3a_20do_20 -messages_lib/0577_8810_recv_3a_20dont_20.rel - ___0577_8810_recv_3a_20dont_20 -messages_lib/0578_84ef_recv_3a_20will_20.rel - ___0578_84ef_recv_3a_20will_20 -messages_lib/0579_219c_recv_3a_20wont_20.rel - ___0579_219c_recv_3a_20wont_20 -messages_lib/057a_c7dc_refuse.rel - ___057a_c7dc_refuse -messages_lib/057b_0e31_reject_0a.rel - ___057b_0e31_reject_0a -messages_lib/057c_bc2e_remote.rel - ___057c_bc2e_remote -messages_lib/057d_4ff0_remote_20_5b_2dp_20.rel - ___057d_4ff0_remote_20_5b_2dp_20 -messages_lib/057e_cb71_rename.rel - ___057e_cb71_rename -messages_lib/057f_a493_rename_20_3coldfile.rel - ___057f_a493_rename_20_3coldfile -messages_lib/0580_6d5b_repeat.rel - ___0580_6d5b_repeat -messages_lib/0581_01b9_repeat_20_3cinterva.rel - ___0581_01b9_repeat_20_3cinterva -messages_lib/0582_3f14_request.rel - ___0582_3f14_request -messages_lib/0583_85b2_reset.rel - ___0583_85b2_reset -messages_lib/0584_c3ce_response_20id_20_25.rel - ___0584_c3ce_response_20id_20_25 -messages_lib/0585_9bd3_retr.rel - ___0585_9bd3_retr -messages_lib/0586_5e3c_retries.rel - ___0586_5e3c_retries -messages_lib/0587_0acb_retry.rel - ___0587_0acb_retry -messages_lib/0588_7f96_rip_20accept_20_3cg.rel - ___0588_7f96_rip_20accept_20_3cg -messages_lib/0589_764e_rip_20add_20_3cdest.rel - ___0589_764e_rip_20add_20_3cdest -messages_lib/058a_3030_rip_20drop_20_3cdes.rel - ___058a_3030_rip_20drop_20_3cdes -messages_lib/058b_8661_rip_20refuse_20_3cg.rel - ___058b_8661_rip_20refuse_20_3cg -messages_lib/058c_b917_rmd_20.rel - ___058c_b917_rmd_20 -messages_lib/058d_a56c_rmdir.rel - ___058d_a56c_rmdir -messages_lib/058e_b9e3_rmdir_20_3cdirector.rel - ___058e_b9e3_rmdir_20_3cdirector -messages_lib/058f_c459_rmhost.rel - ___058f_c459_rmhost -messages_lib/0590_0284_route.rel - ___0590_0284_route -messages_lib/0591_ea02_route_20add_20_3cde.rel - ___0591_ea02_route_20add_20_3cde -messages_lib/0592_f461_route_20add_20_5b_2.rel - ___0592_f461_route_20add_20_5b_2 -messages_lib/0593_d581_route_20addprivate_.rel - ___0593_d581_route_20addprivate_ -messages_lib/0594_bbd2_route_20drop_20_3cd.rel - ___0594_bbd2_route_20drop_20_3cd -messages_lib/0595_103e_route_20drop_20_5b_.rel - ___0595_103e_route_20drop_20_5b_ -messages_lib/0596_a5ec_route_20lookup_20_3.rel - ___0596_a5ec_route_20lookup_20_3 -messages_lib/0597_ae23_route_20to_20self_3.rel - ___0597_ae23_route_20to_20self_3 -messages_lib/0598_2c09_rtimer.rel - ___0598_2c09_rtimer -messages_lib/0599_ae54_rtt.rel - ___0599_ae54_rtt -messages_lib/059a_02fc_running.rel - ___059a_02fc_running -messages_lib/059b_de1b_rwsetup_28_25u_2c_2.rel - ___059b_de1b_rwsetup_28_25u_2c_2 -messages_lib/059c_7f24_rwsetup_28_29_20ret.rel - ___059c_7f24_rwsetup_28_29_20ret -messages_lib/059d_d9aa_rwsetup_28_29_20ret.rel - ___059d_d9aa_rwsetup_28_29_20ret -messages_lib/059e_b4d7_rxbuf.rel - ___059e_b4d7_rxbuf -messages_lib/059f_d2fd_sbrk.rel - ___059f_d2fd_sbrk -messages_lib/05a0_3365_scrollback.rel - ___05a0_3365_scrollback -messages_lib/05a1_9a3e_send.rel - ___05a1_9a3e_send -messages_lib/05a2_e397_send_20_22string_22.rel - ___05a2_e397_send_20_22string_22 -messages_lib/05a3_5c19_sender.rel - ___05a3_5c19_sender -messages_lib/05a4_efea_sending_20job_20_25.rel - ___05a4_efea_sending_20job_20_25 -messages_lib/05a5_7321_sent_3a_20do_20.rel - ___05a5_7321_sent_3a_20do_20 -messages_lib/05a6_db3c_sent_3a_20dont_20.rel - ___05a6_db3c_sent_3a_20dont_20 -messages_lib/05a7_d7c3_sent_3a_20will_20.rel - ___05a7_d7c3_sent_3a_20will_20 -messages_lib/05a8_72b0_sent_3a_20wont_20.rel - ___05a8_72b0_sent_3a_20wont_20 -messages_lib/05a9_2d5d_serial_20line_20IP_.rel - ___05a9_2d5d_serial_20line_20IP_ -messages_lib/05aa_f33e_serial_20line_20VJ_.rel - ___05aa_f33e_serial_20line_20VJ_ -messages_lib/05ab_6f7f_serial_20line_20VJ_.rel - ___05ab_6f7f_serial_20line_20VJ_ -messages_lib/05ac_6f48_server_20retries.rel - ___05ac_6f48_server_20retries -messages_lib/05ad_f0af_server_20trace.rel - ___05ad_f0af_server_20trace -messages_lib/05ae_db9a_session.rel - ___05ae_db9a_session -messages_lib/05af_3031_set_20mycall_20firs.rel - ___05af_3031_set_20mycall_20firs -messages_lib/05b0_1de4_shell.rel - ___05b0_1de4_shell -messages_lib/05b1_3faf_signal.rel - ___05b1_3faf_signal -messages_lib/05b2_dce5_size.rel - ___05b2_dce5_size -messages_lib/05b3_f163_sizes.rel - ___05b3_f163_sizes -messages_lib/05b4_4046_smtp_20daemon_20ent.rel - ___05b4_4046_smtp_20daemon_20ent -messages_lib/05b5_8e2a_smtp_20daemon_3a_20.rel - ___05b5_8e2a_smtp_20daemon_3a_20 -messages_lib/05b6_23e1_smtp_20job_20_25s_2.rel - ___05b6_23e1_smtp_20job_20_25s_2 -messages_lib/05b7_ed89_smtp_20mode_3a_20_2.rel - ___05b7_ed89_smtp_20mode_3a_20_2 -messages_lib/05b8_2b33_smtp_20recv_3a_20_2.rel - ___05b8_2b33_smtp_20recv_3a_20_2 -messages_lib/05b9_928b_smtp_20sent_3a_20.rel - ___05b9_928b_smtp_20sent_3a_20 -messages_lib/05ba_b4cf_socket.rel - ___05ba_b4cf_socket -messages_lib/05bb_6b20_some_20strange_2c_2.rel - ___05bb_6b20_some_20strange_2c_2 -messages_lib/05bc_60cd_speed.rel - ___05bc_60cd_speed -messages_lib/05bd_9785_speed_20_3cbps_3e.rel - ___05bd_9785_speed_20_3cbps_3e -messages_lib/05be_1861_spool_3a_20_25s_0a.rel - ___05be_1861_spool_3a_20_25s_0a -messages_lib/05bf_61f2_src_20_25s.rel - ___05bf_61f2_src_20_25s -messages_lib/05c0_4e06_srtt_20_3d_20_25lu_.rel - ___05c0_4e06_srtt_20_3d_20_25lu_ -messages_lib/05c1_795f_stack_20test.rel - ___05c1_795f_stack_20test -messages_lib/05c2_45e3_stacktest.rel - ___05c2_45e3_stacktest -messages_lib/05c3_be0b_stacktest_20_5bon_7.rel - ___05c3_be0b_stacktest_20_5bon_7 -messages_lib/05c4_fcc6_standard_0a.rel - ___05c4_fcc6_standard_0a -messages_lib/05c5_b958_start.rel - ___05c5_b958_start -messages_lib/05c6_4b5d_start_20_3cserverna.rel - ___05c6_4b5d_start_20_3cserverna -messages_lib/05c7_9324_start_20bsr_20_3cin.rel - ___05c7_9324_start_20bsr_20_3cin -messages_lib/05c8_d63e_stat.rel - ___05c8_d63e_stat -messages_lib/05c9_5069_status.rel - ___05c9_5069_status -messages_lib/05ca_7dfc_status_20up_20_7c_2.rel - ___05ca_7dfc_status_20up_20_7c_2 -messages_lib/05cb_68cb_stime.rel - ___05cb_68cb_stime -messages_lib/05cc_4875_stktrace_20from_20p.rel - ___05cc_4875_stktrace_20from_20p -messages_lib/05cd_0a0a_stop.rel - ___05cd_0a0a_stop -messages_lib/05ce_6ec0_stop_20_3cservernam.rel - ___05ce_6ec0_stop_20_3cservernam -messages_lib/05cf_301d_stopped.rel - ___05cf_301d_stopped -messages_lib/05d0_2918_stor.rel - ___05d0_2918_stor -messages_lib/05d1_784e_stru.rel - ___05d1_784e_stru -messages_lib/05d2_bec3_suffix.rel - ___05d2_bec3_suffix -messages_lib/05d3_420b_symlink.rel - ___05d3_420b_symlink -messages_lib/05d4_ceb7_sync.rel - ___05d4_ceb7_sync -messages_lib/05d5_bb66_syndata.rel - ___05d5_bb66_syndata -messages_lib/05d6_b50c_sysdebug.rel - ___05d6_b50c_sysdebug -messages_lib/05d7_be35_sysdebug_20_5bon_7c.rel - ___05d7_be35_sysdebug_20_5bon_7c -messages_lib/05d8_8f60_syst.rel - ___05d8_8f60_syst -messages_lib/05d9_f3f3_system_20call_20tra.rel - ___05d9_f3f3_system_20call_20tra -messages_lib/05da_a612_system_20kernel_20d.rel - ___05da_a612_system_20kernel_20d -messages_lib/05db_98fb_systrace.rel - ___05db_98fb_systrace -messages_lib/05dc_71e3_systrace_20_5bon_7c.rel - ___05dc_71e3_systrace_20_5bon_7c -messages_lib/05dd_6404_t3.rel - ___05dd_6404_t3 -messages_lib/05de_b31f_target.rel - ___05de_b31f_target -messages_lib/05df_e630_tcp.rel - ___05df_e630_tcp -messages_lib/05e0_e483_tcp_20kick_20_3ctcb.rel - ___05e0_e483_tcp_20kick_20_3ctcb -messages_lib/05e1_a12c_tcp_20reset_20_3ctc.rel - ___05e1_a12c_tcp_20reset_20_3ctc -messages_lib/05e2_bb94_tcp_20rtt_20_3ctcb_.rel - ___05e2_bb94_tcp_20rtt_20_3ctcb_ -messages_lib/05e3_f363_tcp_20stat_20_3ctcb.rel - ___05e3_f363_tcp_20stat_20_3ctcb -messages_lib/05e4_6ff2_telnet.rel - ___05e4_6ff2_telnet -messages_lib/05e5_2114_telnet_20_3caddress.rel - ___05e5_2114_telnet_20_3caddress -messages_lib/05e6_6cef_term.rel - ___05e6_6cef_term -messages_lib/05e7_7425_terminate.rel - ___05e7_7425_terminate -messages_lib/05e8_4c6f_thresh.rel - ___05e8_4c6f_thresh -messages_lib/05e9_535d_time.rel - ___05e9_535d_time -messages_lib/05ea_43a3_time_20before_20fil.rel - ___05ea_43a3_time_20before_20fil -messages_lib/05eb_7156_timeout.rel - ___05eb_7156_timeout -messages_lib/05ec_d9a6_timer.rel - ___05ec_d9a6_timer -messages_lib/05ed_d29c_timer_3a_20ints_20w.rel - ___05ed_d29c_timer_3a_20ints_20w -messages_lib/05ee_c82f_times.rel - ___05ee_c82f_times -messages_lib/05ef_223a_timestamps.rel - ___05ef_223a_timestamps -messages_lib/05f0_004c_tip_20or_20dialer_2.rel - ___05f0_004c_tip_20or_20dialer_2 -messages_lib/05f1_aa4a_tiptimeout.rel - ___05f1_aa4a_tiptimeout -messages_lib/05f2_aa76_tmp_20file_20wiping.rel - ___05f2_aa76_tmp_20file_20wiping -messages_lib/05f3_2645_tmp_20file_3a_20_25.rel - ___05f3_2645_tmp_20file_3a_20_25 -messages_lib/05f4_a165_topt.rel - ___05f4_a165_topt -messages_lib/05f5_4f5f_trace.rel - ___05f5_4f5f_trace -messages_lib/05f6_3bce_traceroute_20done_3.rel - ___05f6_3bce_traceroute_20done_3 -messages_lib/05f7_f7b8_try.rel - ___05f7_f7b8_try -messages_lib/05f8_e444_ttl.rel - ___05f8_e444_ttl -messages_lib/05f9_299c_ttylink.rel - ___05f9_299c_ttylink -messages_lib/05fa_e58b_txqlen.rel - ___05fa_e58b_txqlen -messages_lib/05fb_f321_type.rel - ___05fb_f321_type -messages_lib/05fc_f1e4_udp.rel - ___05fc_f1e4_udp -messages_lib/05fd_5caf_umount.rel - ___05fd_5caf_umount -messages_lib/05fe_5c70_unknown_0a.rel - ___05fe_5c70_unknown_0a -messages_lib/05ff_bc4f_unknown_200x_2504x_.rel - ___05ff_bc4f_unknown_200x_2504x_ -messages_lib/0600_5194_unknown_20hardware_.rel - ___0600_5194_unknown_20hardware_ -messages_lib/0601_acee_unlink.rel - ___0601_acee_unlink -messages_lib/0602_f303_up_20script_3a_20_2.rel - ___0602_f303_up_20script_3a_20_2 -messages_lib/0603_db93_update.rel - ___0603_db93_update -messages_lib/0604_5c27_update_20Domain_2et.rel - ___0604_5c27_update_20Domain_2et -messages_lib/0605_0b09_update_20Domain_2et.rel - ___0605_0b09_update_20Domain_2et -messages_lib/0606_c5a3_update_20Domain_2et.rel - ___0606_c5a3_update_20Domain_2et -messages_lib/0607_d4f0_upload.rel - ___0607_d4f0_upload -messages_lib/0608_13f7_user.rel - ___0608_13f7_user -messages_lib/0609_6f25_user_20abort_0a.rel - ___0609_6f25_user_20abort_0a -messages_lib/060a_1b49_userdata.rel - ___060a_1b49_userdata -messages_lib/060b_3967_username_20not_20de.rel - ___060b_3967_username_20not_20de -messages_lib/060c_c23f_users.rel - ___060c_c23f_users -messages_lib/060d_5353_utime.rel - ___060d_5353_utime -messages_lib/060e_d261_valid_20subcommands.rel - ___060e_d261_valid_20subcommands -messages_lib/060f_a0e5_validblk_3a_20dev_2.rel - ___060f_a0e5_validblk_3a_20dev_2 -messages_lib/0610_74cf_validblk_3a_20inval.rel - ___0610_74cf_validblk_3a_20inval -messages_lib/0611_ab5c_verbose.rel - ___0611_ab5c_verbose -messages_lib/0612_207d_version.rel - ___0612_207d_version -messages_lib/0613_9778_view.rel - ___0613_9778_view -messages_lib/0614_23f1_view_20_3cfilename_.rel - ___0614_23f1_view_20_3cfilename_ -messages_lib/0615_d63a_wait.rel - ___0615_d63a_wait -messages_lib/0616_2887_wait_20_3cmilliseco.rel - ___0616_2887_wait_20_3cmilliseco -messages_lib/0617_e988_waitpid.rel - ___0617_e988_waitpid -messages_lib/0618_674e_want_20busy_20block.rel - ___0618_674e_want_20busy_20block -messages_lib/0619_84e4_what.rel - ___0619_84e4_what -messages_lib/061a_9158_window.rel - ___061a_9158_window -messages_lib/061b_5379_wipe.rel - ___061b_5379_wipe -messages_lib/061c_bd9d_wr_5finode_28_29_20.rel - ___061c_bd9d_wr_5finode_28_29_20 -messages_lib/061d_68b2_wr_5finode_28_29_20.rel - ___061d_68b2_wr_5finode_28_29_20 -messages_lib/061e_7708_wr_5finode_280x_25x.rel - ___061e_7708_wr_5finode_280x_25x -messages_lib/061f_4cc8_write.rel - ___061f_4cc8_write -messages_lib/0620_dd6d_x_25x.rel - ___0620_dd6d_x_25x -messages_lib/0621_ce7b_xcwd.rel - ___0621_ce7b_xcwd -messages_lib/0622_511f_xip_5falign_28_29_2.rel - ___0622_511f_xip_5falign_28_29_2 -messages_lib/0623_62af_xip_5falign_28_29_2.rel - ___0623_62af_xip_5falign_28_29_2 -messages_lib/0624_2fa7_xip_5falign_28_29_2.rel - ___0624_2fa7_xip_5falign_28_29_2 -messages_lib/0625_6211_xip_5falign_28_29_2.rel - ___0625_6211_xip_5falign_28_29_2 -messages_lib/0626_dc6f_xip_5falign_280x_25.rel - ___0626_dc6f_xip_5falign_280x_25 -messages_lib/0627_d854_xip_5falign_5fbmap_.rel - ___0627_d854_xip_5falign_5fbmap_ -messages_lib/0628_4a41_xip_5falign_5fbmap_.rel - ___0628_4a41_xip_5falign_5fbmap_ -messages_lib/0629_f051_xip_5falign_5fbmap_.rel - ___0629_f051_xip_5falign_5fbmap_ -messages_lib/062a_39ef_xip_5falign_5fchase.rel - ___062a_39ef_xip_5falign_5fchase -messages_lib/062b_7ea2_xip_5falign_5fchase.rel - ___062b_7ea2_xip_5falign_5fchase -messages_lib/062c_f19c_xip_5falign_5fchase.rel - ___062c_f19c_xip_5falign_5fchase -messages_lib/062d_fcac_xip_5falign_5fchase.rel - ___062d_fcac_xip_5falign_5fchase -messages_lib/062e_d6ef_xip_5falign_5fchase.rel - ___062e_d6ef_xip_5falign_5fchase -messages_lib/062f_0fcd_xip_5falign_5frecur.rel - ___062f_0fcd_xip_5falign_5frecur -messages_lib/0630_ceee_xip_5falign_5frecur.rel - ___0630_ceee_xip_5falign_5frecur -messages_lib/0631_346b_xip_5fexamine_28_29.rel - ___0631_346b_xip_5fexamine_28_29 -messages_lib/0632_fa8e_xip_5fexamine_28_29.rel - ___0632_fa8e_xip_5fexamine_28_29 -messages_lib/0633_ed9f_xip_5fexamine_28_29.rel - ___0633_ed9f_xip_5fexamine_28_29 -messages_lib/0634_c7f7_xip_5fexamine_28_29.rel - ___0634_c7f7_xip_5fexamine_28_29 -messages_lib/0635_04e3_xip_5fexamine_280x_.rel - ___0635_04e3_xip_5fexamine_280x_ -messages_lib/0636_ffc4_xip_5ffind_28_25u_2.rel - ___0636_ffc4_xip_5ffind_28_25u_2 -messages_lib/0637_cb3b_xip_5ffind_28_29_20.rel - ___0637_cb3b_xip_5ffind_28_29_20 -messages_lib/0638_5d23_xip_5ffind_28_29_20.rel - ___0638_5d23_xip_5ffind_28_29_20 -messages_lib/0639_1764_xip_5ffind_28_29_20.rel - ___0639_1764_xip_5ffind_28_29_20 -messages_lib/063a_0ce2_xip_5fget_28_25u_2c.rel - ___063a_0ce2_xip_5fget_28_25u_2c -messages_lib/063b_db94_xip_5fget_28_29_20r.rel - ___063b_db94_xip_5fget_28_29_20r -messages_lib/063c_de41_xip_5fget_28_29_20r.rel - ___063c_de41_xip_5fget_28_29_20r -messages_lib/063d_192a_xip_5fget_28_29_20r.rel - ___063d_192a_xip_5fget_28_29_20r -messages_lib/063e_2347_xip_5freserve_28_25.rel - ___063e_2347_xip_5freserve_28_25 -messages_lib/063f_acf4_xip_5freserve_28_29.rel - ___063f_acf4_xip_5freserve_28_29 -messages_lib/0640_69a1_xip_5freserve_28_29.rel - ___0640_69a1_xip_5freserve_28_29 -messages_lib/0641_4bfa_xip_5freserve_28_29.rel - ___0641_4bfa_xip_5freserve_28_29 -messages_lib/0642_3192_xip_5fsearch_28_25u.rel - ___0642_3192_xip_5fsearch_28_25u -messages_lib/0643_83fc_xip_5fsearch_28_29_.rel - ___0643_83fc_xip_5fsearch_28_29_ -messages_lib/0644_fd61_xip_5fsearch_28_29_.rel - ___0644_fd61_xip_5fsearch_28_29_ -messages_lib/0645_f464_xip_5fsearch_28_29_.rel - ___0645_f464_xip_5fsearch_28_29_ -messages_lib/0646_ef25_xip_5fset_28_25u_2c.rel - ___0646_ef25_xip_5fset_28_25u_2c -messages_lib/0647_7af3_xip_5fset_28_29_20r.rel - ___0647_7af3_xip_5fset_28_29_20r -messages_lib/0648_429f_xip_5fset_28_29_20r.rel - ___0648_429f_xip_5fset_28_29_20r -messages_lib/0649_36c3_xip_5fset_28_29_20r.rel - ___0649_36c3_xip_5fset_28_29_20r -messages_lib/064a_3cda_xip_5fualign_28_29_.rel - ___064a_3cda_xip_5fualign_28_29_ -messages_lib/064b_16b2_xip_5fualign_28_29_.rel - ___064b_16b2_xip_5fualign_28_29_ -messages_lib/064c_71d2_xip_5fualign_28_29_.rel - ___064c_71d2_xip_5fualign_28_29_ -messages_lib/064d_c58e_xip_5fualign_28_29_.rel - ___064d_c58e_xip_5fualign_28_29_ -messages_lib/064e_3a65_xip_5fualign_280x_2.rel - ___064e_3a65_xip_5fualign_280x_2 -messages_lib/064f_2295_xmd5.rel - ___064f_2295_xmd5 -messages_lib/0650_e251_xmkd.rel - ___0650_e251_xmkd -messages_lib/0651_a48a_xpwd.rel - ___0651_a48a_xpwd -messages_lib/0652_79d3_xrmd.rel - ___0652_79d3_xrmd -messages_lib/0653_c59b_zap.rel - ___0653_c59b_zap -messages_lib/0654_4749_zerobuf_28_25u_29_2.rel - ___0654_4749_zerobuf_28_25u_29_2 -messages_lib/0655_ba0e_zerobuf_28_29_20ret.rel - ___0655_ba0e_zerobuf_28_29_20ret -messages_lib/0656_1fe8_zerobuf_28_29_20ret.rel - ___0656_1fe8_zerobuf_28_29_20ret +messages_lib/0014_b8da__09Message_3a_20_27.rel + ___0014_b8da__09Message_3a_20_27 +messages_lib/0015_a684__09Remote_3a_09.rel + ___0015_a684__09Remote_3a_09 +messages_lib/0016_e0e0__09Urgent_20pointer.rel + ___0016_e0e0__09Urgent_20pointer +messages_lib/0017_c0f0__09changes_3a_200x_.rel + ___0017_c0f0__09changes_3a_200x_ +messages_lib/0018_6a8d__09connection_200x_.rel + ___0018_6a8d__09connection_200x_ +messages_lib/0019_a28a__09connection_20ID_.rel + ___0019_a28a__09connection_20ID_ +messages_lib/001a_cf72__09delta_20ACK_20an.rel + ___001a_cf72__09delta_20ACK_20an +messages_lib/001b_8077__09delta_20ACK_3a_2.rel + ___001b_8077__09delta_20ACK_3a_2 +messages_lib/001c_4a2b__09delta_20ID_3a_20.rel + ___001c_4a2b__09delta_20ID_3a_20 +messages_lib/001d_7710__09delta_20SEQ_20im.rel + ___001d_7710__09delta_20SEQ_20im +messages_lib/001e_a966__09delta_20SEQ_3a_2.rel + ___001e_a966__09delta_20SEQ_3a_2 +messages_lib/001f_f05a__09delta_20WINDOW_3.rel + ___001f_f05a__09delta_20WINDOW_3 +messages_lib/0020_ad18__09increment_20ID_0.rel + ___0020_ad18__09increment_20ID_0 +messages_lib/0021_13bc__09local_20IP_20add.rel + ___0021_13bc__09local_20IP_20add +messages_lib/0022_efeb__09pid_20_25d_2c_20.rel + ___0022_efeb__09pid_20_25d_2c_20 +messages_lib/0023_a0dd__0a.rel + ___0023_a0dd__0a +messages_lib/0024_f279__0a_20_20_20_20.rel + ___0024_f279__0a_20_20_20_20 +messages_lib/0025_f170__0a_20_20_20_20_20_.rel + ___0025_f170__0a_20_20_20_20_20_ +messages_lib/0026_da94__0a_25s_20_2d_20_25.rel + ___0026_da94__0a_25s_20_2d_20_25 +messages_lib/0027_e088__0a_25s_20_2d_20_25.rel + ___0027_e088__0a_25s_20_2d_20_25 +messages_lib/0028_c061__0a_2a_2a_2a_20Loca.rel + ___0028_c061__0a_2a_2a_2a_20Loca +messages_lib/0029_932c__0a_2a_2a_2a_20Unab.rel + ___0029_932c__0a_2a_2a_2a_20Unab +messages_lib/002a_2592__0a_2a_2a_2a_2a_2a_.rel + ___002a_2592__0a_2a_2a_2a_2a_2a_ +messages_lib/002b_0887__0aCurrent_20remote.rel + ___002b_0887__0aCurrent_20remote +messages_lib/002c_ebd8__0aReclaimation_20a.rel + ___002c_ebd8__0aReclaimation_20a +messages_lib/002d_c546__0aUsed_20address_2.rel + ___002d_c546__0aUsed_20address_2 +messages_lib/002e_e8fc__0apanic_3a_20.rel + ___002e_e8fc__0apanic_3a_20 +messages_lib/002f_2e85__20.rel + ___002f_2e85__20 +messages_lib/0030_4403__20_0aend_0asize_20.rel + ___0030_4403__20_0aend_0asize_20 +messages_lib/0031_f289__20_20.rel + ___0031_f289__20_20 +messages_lib/0032_3839__20_20_20.rel + ___0032_3839__20_20_20 +messages_lib/0033_8d78__20_20_20_20.rel + ___0033_8d78__20_20_20_20 +messages_lib/0034_de40__20_20_20_20_20.rel + ___0034_de40__20_20_20_20_20 +messages_lib/0035_3e02__20_20_20_20_20_20_.rel + ___0035_3e02__20_20_20_20_20_20_ +messages_lib/0036_0534__20_20_20_20_20_20_.rel + ___0036_0534__20_20_20_20_20_20_ +messages_lib/0037_3fef__20_20_20_20_20_20_.rel + ___0037_3fef__20_20_20_20_20_20_ +messages_lib/0038_3164__20_20_20_20_20_20_.rel + ___0038_3164__20_20_20_20_20_20_ +messages_lib/0039_c6d7__20_20_20_20_20_20_.rel + ___0039_c6d7__20_20_20_20_20_20_ +messages_lib/003a_9d57__20_20_20_20_20_20_.rel + ___003a_9d57__20_20_20_20_20_20_ +messages_lib/003b_d46e__20_20_20_20_20_20_.rel + ___003b_d46e__20_20_20_20_20_20_ +messages_lib/003c_f37c__20_20_20_20_20_20_.rel + ___003c_f37c__20_20_20_20_20_20_ +messages_lib/003d_5dd1__20_20_20_20_20_20_.rel + ___003d_5dd1__20_20_20_20_20_20_ +messages_lib/003e_0406__20_20_20_20_20_20_.rel + ___003e_0406__20_20_20_20_20_20_ +messages_lib/003f_da67__20_20_20_20_20_20_.rel + ___003f_da67__20_20_20_20_20_20_ +messages_lib/0040_f638__20_20_20_20_20_20_.rel + ___0040_f638__20_20_20_20_20_20_ +messages_lib/0041_74c7__20_20_20_20_20_20_.rel + ___0041_74c7__20_20_20_20_20_20_ +messages_lib/0042_f10d__20_20_20_20_20_20_.rel + ___0042_f10d__20_20_20_20_20_20_ +messages_lib/0043_d02b__20_20_20_20_20_20_.rel + ___0043_d02b__20_20_20_20_20_20_ +messages_lib/0044_0105__20_20_20_20_20_20_.rel + ___0044_0105__20_20_20_20_20_20_ +messages_lib/0045_c46d__20_20_20_20_20_20_.rel + ___0045_c46d__20_20_20_20_20_20_ +messages_lib/0046_3a28__20_20_20_20_20_20_.rel + ___0046_3a28__20_20_20_20_20_20_ +messages_lib/0047_48df__20_20_20_20_20_20_.rel + ___0047_48df__20_20_20_20_20_20_ +messages_lib/0048_da1e__20_20_20_20_20_20s.rel + ___0048_da1e__20_20_20_20_20_20s +messages_lib/0049_3800__20_20_20_20_20_26A.rel + ___0049_3800__20_20_20_20_20_26A +messages_lib/004a_0e60__20_20_20_20_20_28_.rel + ___004a_0e60__20_20_20_20_20_28_ +messages_lib/004b_d7d4__20_20_20_20_20Broa.rel + ___004b_d7d4__20_20_20_20_20Broa +messages_lib/004c_f5a8__20_20_20_20_20Defa.rel + ___004c_f5a8__20_20_20_20_20Defa +messages_lib/004d_de7b__20_20_20_20_20Host.rel + ___004d_de7b__20_20_20_20_20Host +messages_lib/004e_a271__20_20_20_20_20INF.rel + ___004e_a271__20_20_20_20_20INF +messages_lib/004f_1775__20_20_20_20_20IP_2.rel + ___004f_1775__20_20_20_20_20IP_2 +messages_lib/0050_7765__20_20_20_20_20Name.rel + ___0050_7765__20_20_20_20_20Name +messages_lib/0051_6879__20_20_20_20_20Subn.rel + ___0051_6879__20_20_20_20_20Subn +messages_lib/0052_dac6__20_20_20_20_25_2d4.rel + ___0052_dac6__20_20_20_20_25_2d4 +messages_lib/0053_b576__20_20_20_20_2512s.rel + ___0053_b576__20_20_20_20_2512s +messages_lib/0054_e5e6__20_20_20_20_253u_0.rel + ___0054_e5e6__20_20_20_20_253u_0 +messages_lib/0055_ed50__20_20_20_20_25s_20.rel + ___0055_ed50__20_20_20_20_25s_20 +messages_lib/0056_3528__20_20_20_20_25s_20.rel + ___0056_3528__20_20_20_20_25s_20 +messages_lib/0057_cbdf__20_20_20_20_25s_20.rel + ___0057_cbdf__20_20_20_20_25s_20 +messages_lib/0058_f7f3__20_20_20_20_26UCB_.rel + ___0058_f7f3__20_20_20_20_26UCB_ +messages_lib/0059_9bd9__20_20_20_20In_09TC.rel + ___0059_9bd9__20_20_20_20In_09TC +messages_lib/005a_7788__20_20_20_20Out_09T.rel + ___005a_7788__20_20_20_20Out_09T +messages_lib/005b_8f4d__20_20_20_20Record_.rel + ___005b_8f4d__20_20_20_20Record_ +messages_lib/005c_9578__20_20_20_20Set_20n.rel + ___005c_9578__20_20_20_20Set_20n +messages_lib/005d_eacd__20_20_20_20Upload_.rel + ___005d_eacd__20_20_20_20Upload_ +messages_lib/005e_94e3__20_20_20_20checkin.rel + ___005e_94e3__20_20_20_20checkin +messages_lib/005f_14a8__20_20_20_20checkin.rel + ___005f_14a8__20_20_20_20checkin +messages_lib/0060_9d66__20_20_20_20checkin.rel + ___0060_9d66__20_20_20_20checkin +messages_lib/0061_49a9__20_20_20_20checkin.rel + ___0061_49a9__20_20_20_20checkin +messages_lib/0062_19af__20_20_20_20checkin.rel + ___0062_19af__20_20_20_20checkin +messages_lib/0063_edc5__20_20_20_20checkin.rel + ___0063_edc5__20_20_20_20checkin +messages_lib/0064_4df8__20_20_20_20checkin.rel + ___0064_4df8__20_20_20_20checkin +messages_lib/0065_0ca6__20_20_20_20checkin.rel + ___0065_0ca6__20_20_20_20checkin +messages_lib/0066_a6cb__20_20_20_20checkin.rel + ___0066_a6cb__20_20_20_20checkin +messages_lib/0067_c499__20_20_20_20checkin.rel + ___0067_c499__20_20_20_20checkin +messages_lib/0068_232a__20_20_20_20checkin.rel + ___0068_232a__20_20_20_20checkin +messages_lib/0069_4125__20_20_20_20making_.rel + ___0069_4125__20_20_20_20making_ +messages_lib/006a_5c3a__20_20_20_20making_.rel + ___006a_5c3a__20_20_20_20making_ +messages_lib/006b_2ab5__20_20_20_20making_.rel + ___006b_2ab5__20_20_20_20making_ +messages_lib/006c_fe7a__20_20_20_20making_.rel + ___006c_fe7a__20_20_20_20making_ +messages_lib/006d_c25d__20_20_20_20making_.rel + ___006d_c25d__20_20_20_20making_ +messages_lib/006e_5a16__20_20_20_20making_.rel + ___006e_5a16__20_20_20_20making_ +messages_lib/006f_6c96__20_20_20_20making_.rel + ___006f_6c96__20_20_20_20making_ +messages_lib/0070_bb75__20_20_20_20making_.rel + ___0070_bb75__20_20_20_20making_ +messages_lib/0071_ee59__20_20_20_20making_.rel + ___0071_ee59__20_20_20_20making_ +messages_lib/0072_fa1f__20_20_20_20making_.rel + ___0072_fa1f__20_20_20_20making_ +messages_lib/0073_6383__20_20_20_20making_.rel + ___0073_6383__20_20_20_20making_ +messages_lib/0074_6fd3__20_20_20_20with_20.rel + ___0074_6fd3__20_20_20_20with_20 +messages_lib/0075_2da2__20_20_20_25s_0a.rel + ___0075_2da2__20_20_20_25s_0a +messages_lib/0076_ad66__20_20_20PUSH.rel + ___0076_ad66__20_20_20PUSH +messages_lib/0077_9f3a__20_20_20TCP_20chec.rel + ___0077_9f3a__20_20_20TCP_20chec +messages_lib/0078_5946__20_20_20connection.rel + ___0078_5946__20_20_20connection +messages_lib/0079_f01f__20_20_3d_3d_3d_3d_.rel + ___0079_f01f__20_20_3d_3d_3d_3d_ +messages_lib/007a_cfff__20_20_3d_3d_3d_3d_.rel + ___007a_cfff__20_20_3d_3d_3d_3d_ +messages_lib/007b_8181__20_20SR_20_5bnumbe.rel + ___007b_8181__20_20SR_20_5bnumbe +messages_lib/007c_1149__20_20S_5bF_5d_20na.rel + ___007c_1149__20_20S_5bF_5d_20na +messages_lib/007d_47af__20_20remote_20IP_2.rel + ___007d_47af__20_20remote_20IP_2 +messages_lib/007e_ccb1__20_20seq_20x_25lx_.rel + ___007e_ccb1__20_20seq_20x_25lx_ +messages_lib/007f_c997__20_21_3f.rel + ___007f_c997__20_21_3f +messages_lib/0080_536e__20_21A.rel + ___0080_536e__20_21A +messages_lib/0081_27d1__20_21F.rel + ___0081_27d1__20_21F +messages_lib/0082_ceaf__20_21H.rel + ___0082_ceaf__20_21H +messages_lib/0083_ab99__20_21N.rel + ___0083_ab99__20_21N +messages_lib/0084_5266__20_21P.rel + ___0084_5266__20_21P +messages_lib/0085_60fd__20_21S.rel + ___0085_60fd__20_21S +messages_lib/0086_bac3__20_23_20_20S_23_20.rel + ___0086_bac3__20_23_20_20S_23_20 +messages_lib/0087_9a7d__20_25_2d15s.rel + ___0087_9a7d__20_25_2d15s +messages_lib/0088_85f4__20_25_2d3d_20.rel + ___0088_85f4__20_25_2d3d_20 +messages_lib/0089_a413__20_2502u_2f_2502u.rel + ___0089_a413__20_2502u_2f_2502u +messages_lib/008a_d8f4__20_2502u_2f_2502u_.rel + ___008a_d8f4__20_2502u_2f_2502u_ +messages_lib/008b_4d6e__20_2502x.rel + ___008b_4d6e__20_2502x +messages_lib/008c_cad1__20_2510lu_2510lu_2.rel + ___008c_cad1__20_2510lu_2510lu_2 +messages_lib/008d_43b6__20_254d_20_254d.rel + ___008d_43b6__20_254d_20_254d +messages_lib/008e_78a4__20_258s_20_20_20_2.rel + ___008e_78a4__20_258s_20_20_20_2 +messages_lib/008f_6904__20_25lu_20bps_0a.rel + ___008f_6904__20_25lu_20bps_0a +messages_lib/0090_269f__20_25s.rel + ___0090_269f__20_25s +messages_lib/0091_c302__20_25s_0a.rel + ___0091_c302__20_25s_0a +messages_lib/0092_10eb__20_25s_20_25s_20_2.rel + ___0092_10eb__20_25s_20_25s_20_2 +messages_lib/0093_c236__20_25s_25s.rel + ___0093_c236__20_25s_25s +messages_lib/0094_3c84__20_25s_2b_25x.rel + ___0094_3c84__20_25s_2b_25x +messages_lib/0095_97d2__20_25u_0a.rel + ___0095_97d2__20_25u_0a +messages_lib/0096_5984__20_25u_2d_3e_25u.rel + ___0096_5984__20_25u_2d_3e_25u +messages_lib/0097_98a5__20_28_25ld_20ms_29.rel + ___0097_98a5__20_28_25ld_20ms_29 +messages_lib/0098_9556__20_28_25s_20seek_3.rel + ___0098_9556__20_28_25s_20seek_3 +messages_lib/0099_6268__20_28_25s_29_0a.rel + ___0099_6268__20_28_25s_29_0a +messages_lib/009a_3f71__20_28ASCII_20dump_.rel + ___009a_3f71__20_28ASCII_20dump_ +messages_lib/009b_05b3__20_28Hex_2fASCII_2.rel + ___009b_05b3__20_28Hex_2fASCII_2 +messages_lib/009c_0cd7__20_28S_29.rel + ___009c_0cd7__20_28S_29 +messages_lib/009d_ef5f__20_28headers_20onl.rel + ___009d_ef5f__20_28headers_20onl +messages_lib/009e_c04d__20_28published_29.rel + ___009e_c04d__20_28published_29 +messages_lib/009f_ac28__20_2a_2a_2a.rel + ___009f_ac28__20_2a_2a_2a +messages_lib/00a0_8841__20_2d_20.rel + ___00a0_8841__20_2d_20 +messages_lib/00a1_ace7__20_2d_20no_20broad.rel + ___00a1_ace7__20_2d_20no_20broad +messages_lib/00a2_01a0__20APND.rel + ___00a2_01a0__20APND +messages_lib/00a3_2da0__20Ack_20x_25lx.rel + ___00a3_2da0__20Ack_20x_25lx +messages_lib/00a4_f35d__20BUSY.rel + ___00a4_f35d__20BUSY +messages_lib/00a5_43af__20CE.rel + ___00a5_43af__20CE +messages_lib/00a6_d667__20CHECKSUM_20ERROR.rel + ___00a6_d667__20CHECKSUM_20ERROR +messages_lib/00a7_5947__20CHOKE.rel + ___00a7_5947__20CHOKE +messages_lib/00a8_3c3c__20DF.rel + ___00a8_3c3c__20DF +messages_lib/00a9_26b0__20Data_20_25u.rel + ___00a9_26b0__20Data_20_25u +messages_lib/00aa_5125__20EOF.rel + ___00aa_5125__20EOF +messages_lib/00ab_2269__20ERR.rel + ___00ab_2269__20ERR +messages_lib/00ac_869e__20IPaddr_20_25s.rel + ___00ac_869e__20IPaddr_20_25s +messages_lib/00ad_d267__20Illegal_20I_2dfi.rel + ___00ad_d267__20Illegal_20I_2dfi +messages_lib/00ae_d316__20Invalid_20contro.rel + ___00ae_d316__20Invalid_20contro +messages_lib/00af_1e4f__20Invalid_20seq_20.rel + ___00af_1e4f__20Invalid_20seq_20 +messages_lib/00b0_fd02__20MC_3a_20int_20_2.rel + ___00b0_fd02__20MC_3a_20int_20_2 +messages_lib/00b1_eb24__20MF.rel + ___00b1_eb24__20MF +messages_lib/00b2_747e__20MORE.rel + ___00b2_747e__20MORE +messages_lib/00b3_c5ed__20MSS_20_25u.rel + ___00b3_c5ed__20MSS_20_25u +messages_lib/00b4_3976__20NAK.rel + ___00b4_3976__20NAK +messages_lib/00b5_c092__20NR_3d_25d.rel + ___00b5_c092__20NR_3d_25d +messages_lib/00b6_dc29__20NS_3d_25d.rel + ___00b6_dc29__20NS_3d_25d +messages_lib/00b7_df24__20RX_3a_20int_20_2.rel + ___00b7_df24__20RX_3a_20int_20_2 +messages_lib/00b8_78a4__20Raw_20output.rel + ___00b8_78a4__20Raw_20output +messages_lib/00b9_a393__20Remote_3a_20_25s.rel + ___00b9_a393__20Remote_3a_20_25s +messages_lib/00ba_d7c2__20Retry.rel + ___00ba_d7c2__20Retry +messages_lib/00bb_42ba__20ST_3a_20int_20_2.rel + ___00bb_42ba__20ST_3a_20int_20_2 +messages_lib/00bc_d322__20State_3a_20_25s_.rel + ___00bc_d322__20State_3a_20_25s_ +messages_lib/00bd_c86b__20TMP.rel + ___00bd_c86b__20TMP +messages_lib/00be_2dcc__20TSTAMP_20_25lu_2.rel + ___00be_2dcc__20TSTAMP_20_25lu_2 +messages_lib/00bf_e8c1__20TX_3a_20int_20_2.rel + ___00bf_e8c1__20TX_3a_20int_20_2 +messages_lib/00c0_d70d__20Too_2dlong_20I_2.rel + ___00c0_d70d__20Too_2dlong_20I_2 +messages_lib/00c1_5a85__20UP_20x_25x.rel + ___00c1_5a85__20UP_20x_25x +messages_lib/00c2_2210__20Unack_3a_20_25_2.rel + ___00c2_2210__20Unack_3a_20_25_2 +messages_lib/00c3_3a68__20Unknown_20passwo.rel + ___00c3_3a68__20Unknown_20passwo +messages_lib/00c4_23f3__20Vr_20_3d_20_25d_.rel + ___00c4_23f3__20Vr_20_3d_20_25d_ +messages_lib/00c5_a984__20WSCALE_20_25u.rel + ___00c5_a984__20WSCALE_20_25u +messages_lib/00c6_1d25__20Wnd_20_25u.rel + ___00c6_1d25__20Wnd_20_25u +messages_lib/00c7_e77d__20_5b_25s_5d_20_25.rel + ___00c7_e77d__20_5b_25s_5d_20_25 +messages_lib/00c8_7762__20_5bcts_20flow_20.rel + ___00c8_7762__20_5bcts_20flow_20 +messages_lib/00c9_2f4d__20_5brlsd_20line_2.rel + ___00c9_2f4d__20_5brlsd_20line_2 +messages_lib/00ca_db59__20_5btrigger_200x_.rel + ___00ca_db59__20_5btrigger_200x_ +messages_lib/00cb_bc24__20asy_20.rel + ___00cb_bc24__20asy_20 +messages_lib/00cc_c96a__20bad_20header_21_.rel + ___00cc_c96a__20bad_20header_21_ +messages_lib/00cd_0acc__20bad_20packet_0a.rel + ___00cd_0acc__20bad_20packet_0a +messages_lib/00ce_d795__20cmd_20_25u.rel + ___00ce_d795__20cmd_20_25u +messages_lib/00cf_1813__20code_20_25s.rel + ___00cf_1813__20code_20_25s +messages_lib/00d0_ad83__20dest_20_25s.rel + ___00d0_ad83__20dest_20_25s +messages_lib/00d1_e3a3__20dest_20_25s_20_2.rel + ___00d1_e3a3__20dest_20_25s_20_2 +messages_lib/00d2_4976__20diag.rel + ___00d2_4976__20diag +messages_lib/00d3_e36a__20file.rel + ___00d3_e36a__20file +messages_lib/00d4_5e9d__20full.rel + ___00d4_5e9d__20full +messages_lib/00d5_4c62__20hwaddr_20_25s_0a.rel + ___00d5_4c62__20hwaddr_20_25s_0a +messages_lib/00d6_ed56__20hwlen_20_25u.rel + ___00d6_ed56__20hwlen_20_25u +messages_lib/00d7_2971__20hwtype_20_25s.rel + ___00d7_2971__20hwtype_20_25s +messages_lib/00d8_3119__20id_20_25u_20offs.rel + ___00d8_3119__20id_20_25u_20offs +messages_lib/00d9_8f2f__20id_20_25u_20pctl.rel + ___00d9_8f2f__20id_20_25u_20pctl +messages_lib/00da_20f7__20id_20_25u_20seq_.rel + ___00da_20f7__20id_20_25u_20seq_ +messages_lib/00db_8c07__20idle_20timer_20_.rel + ___00db_8c07__20idle_20timer_20_ +messages_lib/00dc_7166__20input.rel + ___00dc_7166__20input +messages_lib/00dd_6c92__20len_20_25u.rel + ___00dd_6c92__20len_20_25u +messages_lib/00de_0c74__20line.rel + ___00de_0c74__20line +messages_lib/00df_2537__20new_20gateway_20.rel + ___00df_2537__20new_20gateway_20 +messages_lib/00e0_ea43__20new_20gateway_20.rel + ___00e0_ea43__20new_20gateway_20 +messages_lib/00e1_e3db__20none.rel + ___00e1_e3db__20none +messages_lib/00e2_826b__20offset_20_25u_20.rel + ___00e2_826b__20offset_20_25u_20 +messages_lib/00e3_6680__20op_20_25u.rel + ___00e3_6680__20op_20_25u +messages_lib/00e4_f7d5__20op_20REPLY.rel + ___00e4_f7d5__20op_20REPLY +messages_lib/00e5_5e3d__20op_20REQUEST.rel + ___00e5_5e3d__20op_20REQUEST +messages_lib/00e6_9500__20op_20REVERSE_20R.rel + ___00e6_9500__20op_20REVERSE_20R +messages_lib/00e7_3faa__20op_20REVERSE_20R.rel + ___00e7_3faa__20op_20REVERSE_20R +messages_lib/00e8_8a3d__20output.rel + ___00e8_8a3d__20output +messages_lib/00e9_5896__20pid_3d0x_25x_0a.rel + ___00e9_5896__20pid_3d0x_25x_0a +messages_lib/00ea_aba6__20pid_3dARP_0a.rel + ___00ea_aba6__20pid_3dARP_0a +messages_lib/00eb_d4e9__20pid_3dIP_0a.rel + ___00eb_d4e9__20pid_3dIP_0a +messages_lib/00ec_a349__20pid_3dNET_2fROM_.rel + ___00ec_a349__20pid_3dNET_2fROM_ +messages_lib/00ed_932f__20pid_3dTEXNET_0a.rel + ___00ed_932f__20pid_3dTEXNET_0a +messages_lib/00ee_4927__20pid_3dText_0a.rel + ___00ee_4927__20pid_3dText_0a +messages_lib/00ef_c207__20pid_3dX_2e25_0a.rel + ___00ef_c207__20pid_3dX_2e25_0a +messages_lib/00f0_5760__20pipe.rel + ___00f0_5760__20pipe +messages_lib/00f1_ac0a__20pointer_20_25u.rel + ___00f1_ac0a__20pointer_20_25u +messages_lib/00f2_5557__20prot_20_25s_0a.rel + ___00f2_5557__20prot_20_25s_0a +messages_lib/00f3_0187__20prot_20_25u_0a.rel + ___00f3_0187__20prot_20_25u_0a +messages_lib/00f4_75a2__20prot_200x_25x_20.rel + ___00f4_75a2__20prot_200x_25x_20 +messages_lib/00f5_3541__20prot_20IP.rel + ___00f5_3541__20prot_20IP +messages_lib/00f6_1888__20receive_20_20_2d.rel + ___00f6_1888__20receive_20_20_2d +messages_lib/00f7_f2f3__20sock.rel + ___00f7_f2f3__20sock +messages_lib/00f8_c067__20spi_20_25lx.rel + ___00f8_c067__20spi_20_25lx +messages_lib/00f9_2902__20sw_20over_20_25l.rel + ___00f9_2902__20sw_20over_20_25l +messages_lib/00fa_0bfc__20tos_20_25u.rel + ___00fa_0bfc__20tos_20_25u +messages_lib/00fb_e1c5__20trace_20file_3a_.rel + ___00fb_e1c5__20trace_20file_3a_ +messages_lib/00fc_ca97__20tracing_20off_0a.rel + ___00fc_ca97__20tracing_20off_0a +messages_lib/00fd_be19__20transmit_20_2d_2.rel + ___00fd_be19__20transmit_20_2d_2 +messages_lib/00fe_afd2__20ttl_20_25d_0a.rel + ___00fe_afd2__20ttl_20_25d_0a +messages_lib/00ff_6f53__20txseq_20_25d_20r.rel + ___00ff_6f53__20txseq_20_25d_20r +messages_lib/0100_c8f3__20type_200x_25x_0a.rel + ___0100_c8f3__20type_200x_25x_0a +messages_lib/0101_6772__20type_20ARP_0a.rel + ___0101_6772__20type_20ARP_0a +messages_lib/0102_5c83__20type_20IP_0a.rel + ___0102_5c83__20type_20IP_0a +messages_lib/0103_f937__20type_20REVARP_0a.rel + ___0103_f937__20type_20REVARP_0a +messages_lib/0104_c53a__20v.rel + ___0104_c53a__20v +messages_lib/0105_9158__20vers_20_25u_20en.rel + ___0105_9158__20vers_20_25u_20en +messages_lib/0106_994d__20wnd_20_25d.rel + ___0106_994d__20wnd_20_25d +messages_lib/0107_426e__20_7c_20.rel + ___0107_426e__20_7c_20 +messages_lib/0108_3f0c__21.rel + ___0108_3f0c__21 +messages_lib/0109_f9eb__21_21_20_25s_20_25.rel + ___0109_f9eb__21_21_20_25s_20_25 +messages_lib/010a_ef2d__21_21_20maximum_20.rel + ___010a_ef2d__21_21_20maximum_20 +messages_lib/010b_55d7__22_25s_22_20_2d_20.rel + ___010b_55d7__22_25s_22_20_2d_20 +messages_lib/010c_60ae__23_20queries_20eac.rel + ___010c_60ae__23_20queries_20eac +messages_lib/010d_1acc__23_20secs_20to_20w.rel + ___010d_1acc__23_20secs_20to_20w +messages_lib/010e_fb95__25_2d10_2e10s_20_2.rel + ___010e_fb95__25_2d10_2e10s_20_2 +messages_lib/010f_3035__25_2d10s_20IP_20ad.rel + ___010f_3035__25_2d10s_20IP_20ad +messages_lib/0110_01be__25_2d10s_25_2d17s.rel + ___0110_01be__25_2d10s_25_2d17s +messages_lib/0111_4da0__25_2d10s_25_2d17s_.rel + ___0111_4da0__25_2d10s_25_2d17s_ +messages_lib/0112_ff4a__25_2d10s_25_2d6s.rel + ___0112_ff4a__25_2d10s_25_2d6s +messages_lib/0113_e1c2__25_2d11s_25_2d9s_2.rel + ___0113_e1c2__25_2d11s_25_2d9s_2 +messages_lib/0114_7335__25_2d13s.rel + ___0114_7335__25_2d13s +messages_lib/0115_27e5__25_2d15s.rel + ___0115_27e5__25_2d15s +messages_lib/0116_0d8d__25_2d16s.rel + ___0116_0d8d__25_2d16s +messages_lib/0117_e560__25_2d16s_20_20.rel + ___0117_e560__25_2d16s_20_20 +messages_lib/0118_f903__25_2d16s_25_2d3u_2.rel + ___0118_f903__25_2d16s_25_2d3u_2 +messages_lib/0119_2609__25_2d16s_25_2d9lu_.rel + ___0119_2609__25_2d16s_25_2d9lu_ +messages_lib/011a_1455__25_2d17s.rel + ___011a_1455__25_2d17s +messages_lib/011b_e920__25_2d20s_258lu_258.rel + ___011b_e920__25_2d20s_258lu_258 +messages_lib/011c_8589__25_2d22s.rel + ___011c_8589__25_2d22s +messages_lib/011d_b616__25_2d22s_0a.rel + ___011d_b616__25_2d22s_0a +messages_lib/011e_9c51__25_2d23s.rel + ___011e_9c51__25_2d23s +messages_lib/011f_bf59__25_2d2u.rel + ___011f_bf59__25_2d2u +messages_lib/0120_6601__25_2d32s_20_28_25l.rel + ___0120_6601__25_2d32s_20_28_25l +messages_lib/0121_a681__25_2d3u.rel + ___0121_a681__25_2d3u +messages_lib/0122_ea81__25_2d4d.rel + ___0122_ea81__25_2d4d +messages_lib/0123_6f94__25_2d4d_255d_20_25.rel + ___0123_6f94__25_2d4d_255d_20_25 +messages_lib/0124_eb89__25_2d4u.rel + ___0124_eb89__25_2d4u +messages_lib/0125_2455__25_2d5ld.rel + ___0125_2455__25_2d5ld +messages_lib/0126_90e5__25_2d7lu.rel + ___0126_90e5__25_2d7lu +messages_lib/0127_8982__25_2d7s_20_25_2d8s.rel + ___0127_8982__25_2d7s_20_25_2d8s +messages_lib/0128_da22__25_2d8lu.rel + ___0128_da22__25_2d8lu +messages_lib/0129_d1e2__25_2ds.rel + ___0129_d1e2__25_2ds +messages_lib/012a_1e56__2502x.rel + ___012a_1e56__2502x +messages_lib/012b_3773__2504x_20_20.rel + ___012b_3773__2504x_20_20 +messages_lib/012c_6df9__2504x_20_20_2504x_.rel + ___012c_6df9__2504x_20_20_2504x_ +messages_lib/012d_aa0a__2504x_3a_2504x.rel + ___012d_aa0a__2504x_3a_2504x +messages_lib/012e_83ad__2510lu_20In_2c_20_.rel + ___012e_83ad__2510lu_20In_2c_20_ +messages_lib/012f_cbd3__2510lu_20Out_2c_20.rel + ___012f_cbd3__2510lu_20Out_2c_20 +messages_lib/0130_2875__2510lu_2510lu_255l.rel + ___0130_2875__2510lu_2510lu_255l +messages_lib/0131_a689__251s_20_253d_20_20.rel + ___0131_a689__251s_20_253d_20_20 +messages_lib/0132_e9b8__252d_20_25_2d6s_20.rel + ___0132_e9b8__252d_20_25_2d6s_20 +messages_lib/0133_374a__252d_20_25_2d6s_20.rel + ___0133_374a__252d_20_25_2d6s_20 +messages_lib/0134_b620__252d_20_25_2d6s_20.rel + ___0134_b620__252d_20_25_2d6s_20 +messages_lib/0135_1703__253d_3a.rel + ___0135_1703__253d_3a +messages_lib/0136_981e__254d_09.rel + ___0136_981e__254d_09 +messages_lib/0137_b932__254d_20_25_2d8s_25.rel + ___0137_b932__254d_20_25_2d8s_25 +messages_lib/0138_936b__254s.rel + ___0138_936b__254s +messages_lib/0139_4a96__258lu.rel + ___0139_4a96__258lu +messages_lib/013a_5eaf__258lu_0a.rel + ___013a_5eaf__258lu_0a +messages_lib/013b_3acb__258s.rel + ___013b_3acb__258s +messages_lib/013c_3341__258u_2510u_2511lu_.rel + ___013c_3341__258u_2510u_2511lu_ +messages_lib/013d_fd73__259p_20_20_20_253d.rel + ___013d_fd73__259p_20_20_20_253d +messages_lib/013e_b8a6__259p_20_25_2d8d_25.rel + ___013e_b8a6__259p_20_25_2d8d_25 +messages_lib/013f_1719__259p_20_25_2d9s_25.rel + ___013f_1719__259p_20_25_2d9s_25 +messages_lib/0140_1260__259p_256u_20_20_25.rel + ___0140_1260__259p_256u_20_20_25 +messages_lib/0141_482b__259p_256u_256u_20_.rel + ___0141_482b__259p_256u_256u_20_ +messages_lib/0142_fcae__25c.rel + ___0142_fcae__25c +messages_lib/0143_6d8a__25c_20.rel + ___0143_6d8a__25c_20 +messages_lib/0144_3d14__25c_20_257s_20_257.rel + ___0144_3d14__25c_20_257s_20_257 +messages_lib/0145_22d3__25c_25c_25c.rel + ___0145_22d3__25c_25c_25c +messages_lib/0146_4b6e__25c_25c_25c_0a.rel + ___0146_4b6e__25c_25c_25c_0a +messages_lib/0147_2970__25c_25c_25c_253d_2.rel + ___0147_2970__25c_25c_25c_253d_2 +messages_lib/0148_8514__25c_25s_0a.rel + ___0148_8514__25c_25s_0a +messages_lib/0149_086d__25c_5b2J.rel + ___0149_086d__25c_5b2J +messages_lib/014a_8811__25d.rel + ___014a_8811__25d +messages_lib/014b_aeda__25d_0a.rel + ___014b_aeda__25d_0a +messages_lib/014c_cd50__25d_20message_25s_.rel + ___014c_cd50__25d_20message_25s_ +messages_lib/014d_ea62__25ld.rel + ___014d_ea62__25ld +messages_lib/014e_eb6a__25lu.rel + ___014e_eb6a__25lu +messages_lib/014f_63ed__25lu_0a.rel + ___014f_63ed__25lu_0a +messages_lib/0150_f325__25lu_2f_25lu_0a.rel + ___0150_f325__25lu_2f_25lu_0a +messages_lib/0151_d273__25p_20.rel + ___0151_d273__25p_20 +messages_lib/0152_1c93__25p_20_256lu.rel + ___0152_1c93__25p_20_256lu +messages_lib/0153_ec2f__25s.rel + ___0153_ec2f__25s +messages_lib/0154_7643__25s_0a.rel + ___0154_7643__25s_0a +messages_lib/0155_0276__25s_0a_25s_0a.rel + ___0155_0276__25s_0a_25s_0a +messages_lib/0156_f81b__25s_20.rel + ___0156_f81b__25s_20 +messages_lib/0157_8b7d__25s_20_2502d_2502d.rel + ___0157_8b7d__25s_20_2502d_2502d +messages_lib/0158_7be3__25s_20_25p_0a.rel + ___0158_7be3__25s_20_25p_0a +messages_lib/0159_518b__25s_20_25s_0a.rel + ___0159_518b__25s_20_25s_0a +messages_lib/015a_ca49__25s_20_25s_3a_20_2.rel + ___015a_ca49__25s_20_25s_3a_20_2 +messages_lib/015b_43c6__25s_20_25s_3a_20Er.rel + ___015b_43c6__25s_20_25s_3a_20Er +messages_lib/015c_b8b7__25s_20_2d_20.rel + ___015c_b8b7__25s_20_2d_20 +messages_lib/015d_1170__25s_20_2d_20Differ.rel + ___015d_1170__25s_20_2d_20Differ +messages_lib/015e_d4cc__25s_20_2d_20Remote.rel + ___015e_d4cc__25s_20_2d_20Remote +messages_lib/015f_4968__25s_20_2d_20Same_0.rel + ___015f_4968__25s_20_2d_20Same_0 +messages_lib/0160_55aa__25s_20PPP_20_25s.rel + ___0160_55aa__25s_20PPP_20_25s +messages_lib/0161_7a48__25s_20PPP_20Unknow.rel + ___0161_7a48__25s_20PPP_20Unknow +messages_lib/0162_136e__25s_20PPP_2f_25s_2.rel + ___0162_136e__25s_20PPP_2f_25s_2 +messages_lib/0163_8479__25s_20PPP_2f_25s_2.rel + ___0163_8479__25s_20PPP_2f_25s_2 +messages_lib/0164_0e2f__25s_20PPP_2f_25s_2.rel + ___0164_0e2f__25s_20PPP_2f_25s_2 +messages_lib/0165_3c0d__25s_20PPP_2f_25s_2.rel + ___0165_3c0d__25s_20PPP_2f_25s_2 +messages_lib/0166_9bc7__25s_20PPP_2f_25s_2.rel + ___0166_9bc7__25s_20PPP_2f_25s_2 +messages_lib/0167_991e__25s_20PPP_2f_25s_2.rel + ___0167_991e__25s_20PPP_2f_25s_2 +messages_lib/0168_8bd6__25s_20PPP_2f_25s_2.rel + ___0168_8bd6__25s_20PPP_2f_25s_2 +messages_lib/0169_5f30__25s_20PPP_2f_25s_2.rel + ___0169_5f30__25s_20PPP_2f_25s_2 +messages_lib/016a_252c__25s_20PPP_2fIPCP_2.rel + ___016a_252c__25s_20PPP_2fIPCP_2 +messages_lib/016b_375d__25s_20PPP_2fIPCP_2.rel + ___016b_375d__25s_20PPP_2fIPCP_2 +messages_lib/016c_a652__25s_20PPP_2fPAP_20.rel + ___016c_a652__25s_20PPP_2fPAP_20 +messages_lib/016d_a115__25s_20PPP_2fPap_20.rel + ___016d_a115__25s_20PPP_2fPap_20 +messages_lib/016e_ace2__25s_20dialer_3a_20.rel + ___016e_ace2__25s_20dialer_3a_20 +messages_lib/016f_933b__25s_20errno_20_25d.rel + ___016f_933b__25s_20errno_20_25d +messages_lib/0170_f768__25s_20file_25s_2e_.rel + ___0170_f768__25s_20file_25s_2e_ +messages_lib/0171_c691__25s_20is_20unreach.rel + ___0171_c691__25s_20is_20unreach +messages_lib/0172_a4a4__25s_20logged_20in.rel + ___0172_a4a4__25s_20logged_20in +messages_lib/0173_a64e__25s_20logged_20in_.rel + ___0173_a64e__25s_20logged_20in_ +messages_lib/0174_b314__25s_20refs_20to_20.rel + ___0174_b314__25s_20refs_20to_20 +messages_lib/0175_bd91__25s_20remain_20_25.rel + ___0175_bd91__25s_20remain_20_25 +messages_lib/0176_bf9e__25s_20thru_20.rel + ___0176_bf9e__25s_20thru_20 +messages_lib/0177_243b__25s_20type_20_25s_.rel + ___0177_243b__25s_20type_20_25s_ +messages_lib/0178_7d69__25s_25_25_25s_2ebb.rel + ___0178_7d69__25s_25_25_25s_2ebb +messages_lib/0179_d324__25s_25c_0a.rel + ___0179_d324__25s_25c_0a +messages_lib/017a_ce9c__25s_25c_25c_25c.rel + ___017a_ce9c__25s_25c_25c_25c +messages_lib/017b_910e__25s_25s.rel + ___017b_910e__25s_25s +messages_lib/017c_46b5__25s_25s_0a.rel + ___017c_46b5__25s_25s_0a +messages_lib/017d_4d3a__25s_25s_0a_0a.rel + ___017d_4d3a__25s_25s_0a_0a +messages_lib/017e_47c0__25s_3a.rel + ___017e_47c0__25s_3a +messages_lib/017f_6911__25s_3a_0a.rel + ___017f_6911__25s_3a_0a +messages_lib/0180_e749__25s_3a_20.rel + ___0180_e749__25s_3a_20 +messages_lib/0181_650d__25s_3a_20_25d_20me.rel + ___0181_650d__25s_3a_20_25d_20me +messages_lib/0182_86f5__25s_3a_20_25ld_0a.rel + ___0182_86f5__25s_3a_20_25ld_0a +messages_lib/0183_7189__25s_3a_20_25s_0a.rel + ___0183_7189__25s_3a_20_25s_0a +messages_lib/0184_35bd__25s_3a_20_25s_2c.rel + ___0184_35bd__25s_3a_20_25s_2c +messages_lib/0185_adab__25s_3a_20Interface.rel + ___0185_adab__25s_3a_20Interface +messages_lib/0186_5fe2__25s_3a_20PPP_2fPAP.rel + ___0186_5fe2__25s_3a_20PPP_2fPAP +messages_lib/0187_5f8a__25s_3a_20PPP_2fPAP.rel + ___0187_5f8a__25s_3a_20PPP_2fPAP +messages_lib/0188_53bc__25s_3a_20PPP_2fPAP.rel + ___0188_53bc__25s_3a_20PPP_2fPAP +messages_lib/0189_990e__25s_3a_20PPP_2fPAP.rel + ___0189_990e__25s_3a_20PPP_2fPAP +messages_lib/018a_0cde__25s_3a_20bad_20dev.rel + ___018a_0cde__25s_3a_20bad_20dev +messages_lib/018b_5351__25s_3a_20bad_20ino.rel + ___018b_5351__25s_3a_20bad_20ino +messages_lib/018c_8c96__25s_3a_20corrupted.rel + ___018c_8c96__25s_3a_20corrupted +messages_lib/018d_d157__25s_3a_20fs_20of_2.rel + ___018d_d157__25s_3a_20fs_20of_2 +messages_lib/018e_1d98__25s_3a_20local_20n.rel + ___018e_1d98__25s_3a_20local_20n +messages_lib/018f_bba5__25s_3a_20mode_20_2.rel + ___018f_bba5__25s_3a_20mode_20_2 +messages_lib/0190_60cc__25s_3a_20not_20a_2.rel + ___0190_60cc__25s_3a_20not_20a_2 +messages_lib/0191_4ed5__25s_3a_20release_5.rel + ___0191_4ed5__25s_3a_20release_5 +messages_lib/0192_04ae__25s_3a_20rtt_20_25.rel + ___0192_04ae__25s_3a_20rtt_20_25 +messages_lib/0193_db35__25s_3a_20srtt_20_2.rel + ___0193_db35__25s_3a_20srtt_20_2 +messages_lib/0194_65f3__25s_3c_25ld_40_25s.rel + ___0194_65f3__25s_3c_25ld_40_25s +messages_lib/0195_6e45__25s_3e_20_25s_20_2.rel + ___0195_6e45__25s_3e_20_25s_20_2 +messages_lib/0196_205d__25s_3e_20Invalid_2.rel + ___0196_205d__25s_3e_20Invalid_2 +messages_lib/0197_c86f__25s_40_25s_0a.rel + ___0197_c86f__25s_40_25s_0a +messages_lib/0198_82c1__25s_40_25s_3a_0a.rel + ___0198_82c1__25s_40_25s_3a_0a +messages_lib/0199_9fa6__25sMAILER_2dDAEMON.rel + ___0199_9fa6__25sMAILER_2dDAEMON +messages_lib/019a_c284__25sR_0a.rel + ___019a_c284__25sR_0a +messages_lib/019b_2293__25u_0a.rel + ___019b_2293__25u_0a +messages_lib/019c_c0bd__25u_20additional_3.rel + ___019c_c0bd__25u_20additional_3 +messages_lib/019d_7db0__25u_20answers_3a_0.rel + ___019d_7db0__25u_20answers_3a_0 +messages_lib/019e_7c48__25u_20authority_3a.rel + ___019e_7c48__25u_20authority_3a +messages_lib/019f_b843__25u_20questions_3a.rel + ___019f_b843__25u_20questions_3a +messages_lib/01a0_af86__25u_3a_20calls_20_.rel + ___01a0_af86__25u_3a_20calls_20_ +messages_lib/01a1_52fc__25x.rel + ___01a1_52fc__25x +messages_lib/01a2_b099__26AXB_20_20_20_20_.rel + ___01a2_b099__26AXB_20_20_20_20_ +messages_lib/01a3_7bf6__26CB_20_20_20_20_2.rel + ___01a3_7bf6__26CB_20_20_20_20_2 +messages_lib/01a4_c497__26TCB_20_20_20_20_.rel + ___01a4_c497__26TCB_20_20_20_20_ +messages_lib/01a5_f73b__26UCB_20_20_20_20_.rel + ___01a5_f73b__26UCB_20_20_20_20_ +messages_lib/01a6_aa89__27_25c_27_0a.rel + ___01a6_aa89__27_25c_27_0a +messages_lib/01a7_a2cd__28.rel + ___01a7_a2cd__28 +messages_lib/01a8_ba4c__28_252u_29_25_2d20.rel + ___01a8_ba4c__28_252u_29_25_2d20 +messages_lib/01a9_52bf__28F_29.rel + ___01a9_52bf__28F_29 +messages_lib/01aa_93fe__28P_29.rel + ___01aa_93fe__28P_29 +messages_lib/01ab_38a6__28P_2fF_29.rel + ___01ab_38a6__28P_2fF_29 +messages_lib/01ac_7b70__28compressed_20ALL.rel + ___01ac_7b70__28compressed_20ALL +messages_lib/01ad_c1c3__28hopcheck_29_20IC.rel + ___01ad_c1c3__28hopcheck_29_20IC +messages_lib/01ae_565f__28missing_20UI_21_.rel + ___01ae_565f__28missing_20UI_21_ +messages_lib/01af_f935__28not_20odd_21_29_.rel + ___01af_f935__28not_20odd_21_29_ +messages_lib/01b0_abc9__29_0a.rel + ___01b0_abc9__29_0a +messages_lib/01b1_bfa2__2a_2a_20smtp_3a_20.rel + ___01b1_bfa2__2a_2a_20smtp_3a_20 +messages_lib/01b2_1969__2a_2a_2a.rel + ___01b2_1969__2a_2a_2a +messages_lib/01b3_a448__2a_2a_2a_20Done_0a.rel + ___01b3_a448__2a_2a_2a_20Done_0a +messages_lib/01b4_c993__2a_2a_2a_20Unable_.rel + ___01b4_c993__2a_2a_2a_20Unable_ +messages_lib/01b5_b489__2a_2a_2a_2a_2a_2a_.rel + ___01b5_b489__2a_2a_2a_2a_2a_2a_ +messages_lib/01b6_5b29__2c_20.rel + ___01b6_5b29__2c_20 +messages_lib/01b7_1a71__2c_20err_20_25d.rel + ___01b7_1a71__2c_20err_20_25d +messages_lib/01b8_099c__2d_2d_2d_2d_2d_20E.rel + ___01b8_099c__2d_2d_2d_2d_2d_20E +messages_lib/01b9_01ea__2d_2d_2d_2d_2d_20F.rel + ___01b9_01ea__2d_2d_2d_2d_2d_20F +messages_lib/01ba_04ae__2d_2d_2d_2d_2d_2d_.rel + ___01ba_04ae__2d_2d_2d_2d_2d_2d_ +messages_lib/01bb_1b54__2d_2d_2d_2d_2d_2d_.rel + ___01bb_1b54__2d_2d_2d_2d_2d_2d_ +messages_lib/01bc_3d1a__2d_2d_2d_2d_2d_2d_.rel + ___01bc_3d1a__2d_2d_2d_2d_2d_2d_ +messages_lib/01bd_8ddf__2d_3e_25s.rel + ___01bd_8ddf__2d_3e_25s +messages_lib/01be_589d__2d_3e_25s_20ihl_20.rel + ___01be_589d__2d_3e_25s_20ihl_20 +messages_lib/01bf_e6c1__2e_0a.rel + ___01bf_e6c1__2e_0a +messages_lib/01c0_ed84__2f_25lu_20ms.rel + ___01c0_ed84__2f_25lu_20ms +messages_lib/01c1_6d9b__2f_25lu_20ms_0a.rel + ___01c1_6d9b__2f_25lu_20ms_0a +messages_lib/01c2_a44f__2f_25lu_20ms_3b_20.rel + ___01c2_a44f__2f_25lu_20ms_3b_20 +messages_lib/01c3_096e__2f_25u.rel + ___01c3_096e__2f_25u +messages_lib/01c4_96dc__2fEX.rel + ___01c4_96dc__2fEX +messages_lib/01c5_79e7_0_25o.rel + ___01c5_79e7_0_25o +messages_lib/01c6_8157_007Incoming_20_25s_.rel + ___01c6_8157_007Incoming_20_25s_ +messages_lib/01c7_b04e_0x_2503x_20_20_20_2.rel + ___01c7_b04e_0x_2503x_20_20_20_2 +messages_lib/01c8_0da1_0x_2504x_09.rel + ___01c8_0da1_0x_2504x_09 +messages_lib/01c9_3f3a_0x_2504x_0a.rel + ___01c9_3f3a_0x_2504x_0a +messages_lib/01ca_b193_0x_2508lx_09.rel + ___01ca_b193_0x_2508lx_09 +messages_lib/01cb_8308_0x_2508lx_0a.rel + ___01cb_8308_0x_2508lx_0a +messages_lib/01cc_ab8d_0x_25x.rel + ___01cc_ab8d_0x_25x +messages_lib/01cd_6f63_0x_25x_09_09_25ld_0.rel + ___01cd_6f63_0x_25x_09_09_25ld_0 +messages_lib/01ce_fea8_0x_25x_09_09_25ld_0.rel + ___01ce_fea8_0x_25x_09_09_25ld_0 +messages_lib/01cf_f01c_0x_25x_0a.rel + ___01cf_f01c_0x_25x_0a +messages_lib/01d0_d635_100_20Warning_3a_20.rel + ___01d0_d635_100_20Warning_3a_20 +messages_lib/01d1_3f47_150_20Opening_20dat.rel + ___01d1_3f47_150_20Opening_20dat +messages_lib/01d2_67ab_200_20.rel + ___01d2_67ab_200_20 +messages_lib/01d3_cc8d_200_20MKD_20ok_0a.rel + ___01d3_cc8d_200_20MKD_20ok_0a +messages_lib/01d4_6c3a_200_20Ok_0a.rel + ___01d4_6c3a_200_20Ok_0a +messages_lib/01d5_ba32_200_20Port_20comman.rel + ___01d5_ba32_200_20Port_20comman +messages_lib/01d6_1db7_200_20Type_20_25s_2.rel + ___01d6_1db7_200_20Type_20_25s_2 +messages_lib/01d7_1192_215_20_25s_20Type_3.rel + ___01d7_1192_215_20_25s_20Type_3 +messages_lib/01d8_01fe_220_20_25s_20FTP_20.rel + ___01d8_01fe_220_20_25s_20FTP_20 +messages_lib/01d9_7804_221_20Goodbye_21_0a.rel + ___01d9_7804_221_20Goodbye_21_0a +messages_lib/01da_3f54_226_20File_20receiv.rel + ___01da_3f54_226_20File_20receiv +messages_lib/01db_caea_226_20File_20sent_2.rel + ___01db_caea_226_20File_20sent_2 +messages_lib/01dc_9fe8_230_20Logged_20in_0.rel + ___01dc_9fe8_230_20Logged_20in_0 +messages_lib/01dd_55db_250_20_25s_0a.rel + ___01dd_55db_250_20_25s_0a +messages_lib/01de_c720_250_20File_20delete.rel + ___01de_c720_250_20File_20delete +messages_lib/01df_de54_250_2d_25s_0a.rel + ___01df_de54_250_2d_25s_0a +messages_lib/01e0_9400_257_20_22_25s_22_20.rel + ___01e0_9400_257_20_22_25s_22_20 +messages_lib/01e1_24f1_331_20Enter_20PASS_.rel + ___01e1_24f1_331_20Enter_20PASS_ +messages_lib/01e2_273f_421_20System_20over.rel + ___01e2_273f_421_20System_20over +messages_lib/01e3_e43d_425_20Data_20connec.rel + ___01e3_e43d_425_20Data_20connec +messages_lib/01e4_7e66_500_20Unknown_20com.rel + ___01e4_7e66_500_20Unknown_20com +messages_lib/01e5_3d39_500_20Unsupported_2.rel + ___01e5_3d39_500_20Unsupported_2 +messages_lib/01e6_fe7e_501_20Bad_20port_20.rel + ___01e6_fe7e_501_20Bad_20port_20 +messages_lib/01e7_065e_501_20Only_20logica.rel + ___01e7_065e_501_20Only_20logica +messages_lib/01e8_a2bf_501_20Unknown_20typ.rel + ___01e8_a2bf_501_20Unknown_20typ +messages_lib/01e9_41cf_502_20Command_20not.rel + ___01e9_41cf_502_20Command_20not +messages_lib/01ea_f576_503_20Login_20with_.rel + ___01ea_f576_503_20Login_20with_ +messages_lib/01eb_7dc2_530_20Please_20log_.rel + ___01eb_7dc2_530_20Please_20log_ +messages_lib/01ec_c53a_550_20Can_27t_20rea.rel + ___01ec_c53a_550_20Can_27t_20rea +messages_lib/01ed_4770_550_20Delete_20fail.rel + ___01ed_4770_550_20Delete_20fail +messages_lib/01ee_38c3_550_20Permission_20.rel + ___01ee_38c3_550_20Permission_20 +messages_lib/01ef_95c1_552_20Write_20error.rel + ___01ef_95c1_552_20Write_20error +messages_lib/01f0_7eaf_553_20Can_27t_20cre.rel + ___01f0_7eaf_553_20Can_27t_20cre +messages_lib/01f1_f0b2_553_20Can_27t_20rea.rel + ___01f1_f0b2_553_20Can_27t_20rea +messages_lib/01f2_b04b__3a_20_25d_0a.rel + ___01f2_b04b__3a_20_25d_0a +messages_lib/01f3_6aba__3a_20_25ld_0a.rel + ___01f3_6aba__3a_20_25ld_0a +messages_lib/01f4_8cd1__3a_20_25s.rel + ___01f4_8cd1__3a_20_25s +messages_lib/01f5_68d2__3a_20_25s_0a.rel + ___01f5_68d2__3a_20_25s_0a +messages_lib/01f6_3c02__3a_20_25u_0a.rel + ___01f6_3c02__3a_20_25u_0a +messages_lib/01f7_6692__3b_20Tries_3a_20_2.rel + ___01f7_6692__3b_20Tries_3a_20_2 +messages_lib/01f8_697b__3c_25ld_40_25s_3e_.rel + ___01f8_697b__3c_25ld_40_25s_3e_ +messages_lib/01f9_2587__3c_25s_40_25s_2ebb.rel + ___01f9_2587__3c_25s_40_25s_2ebb +messages_lib/01fa_3152__3c_3d_3d_25s.rel + ___01fa_3152__3c_3d_3d_25s +messages_lib/01fb_defc__3c_3d_3d_25s_0a.rel + ___01fb_defc__3c_3d_3d_25s_0a +messages_lib/01fc_016b__3d_3d_3eARTICLE_20.rel + ___01fc_016b__3d_3d_3eARTICLE_20 +messages_lib/01fd_c133__3d_3d_3eNEWNEWS_20.rel + ___01fd_c133__3d_3d_3eNEWNEWS_20 +messages_lib/01fe_696c__3d_3d_3eQUIT_0a.rel + ___01fe_696c__3d_3d_3eQUIT_0a +messages_lib/01ff_396e__3d_3dNo_20response.rel + ___01ff_396e__3d_3dNo_20response +messages_lib/0200_c6f3__3f.rel + ___0200_c6f3__3f +messages_lib/0201_4d83__40.rel + ___0201_4d83__40 +messages_lib/0202_23d2__40_25s.rel + ___0202_23d2__40_25s +messages_lib/0203_7f61_ARP_3a_20len_20_25d.rel + ___0203_7f61_ARP_3a_20len_20_25d +messages_lib/0204_124c_ARTICLE_20_25s.rel + ___0204_124c_ARTICLE_20_25s +messages_lib/0205_109d_AX25_20receive_20wi.rel + ___0205_109d_AX25_20receive_20wi +messages_lib/0206_f4e0_AX25_20version.rel + ___0206_f4e0_AX25_20version +messages_lib/0207_818f_AX25_3a_20.rel + ___0207_818f_AX25_3a_20 +messages_lib/0208_f05c_Abort_0d_0a.rel + ___0208_f05c_Abort_0d_0a +messages_lib/0209_6caf_Aborted_2e.rel + ___0209_6caf_Aborted_2e +messages_lib/020a_f2cb_Aborted_2e_0a.rel + ___020a_f2cb_Aborted_2e_0a +messages_lib/020b_537a_Accept_0a.rel + ___020b_537a_Accept_0a +messages_lib/020c_d953_Ack_20Rcvd.rel + ___020c_d953_Ack_20Rcvd +messages_lib/020d_58e1_Ack_20Sent.rel + ___020d_58e1_Ack_20Sent +messages_lib/020e_b988_Ack_20delay_20time_.rel + ___020e_b988_Ack_20delay_20time_ +messages_lib/020f_fccc_Active_20RIP_20outp.rel + ___020f_fccc_Active_20RIP_20outp +messages_lib/0210_fb01_Actively_20opening_.rel + ___0210_fb01_Actively_20opening_ +messages_lib/0211_e216_Address_2fControl_2.rel + ___0211_e216_Address_2fControl_2 +messages_lib/0212_1fbc_All_20groups_20are_.rel + ___0212_1fbc_All_20groups_20are_ +messages_lib/0213_4a0c_Allow_20ACCM.rel + ___0213_4a0c_Allow_20ACCM +messages_lib/0214_8e02_Allow_20Address.rel + ___0214_8e02_Allow_20Address +messages_lib/0215_7b21_Allow_20Address_2fC.rel + ___0215_7b21_Allow_20Address_2fC +messages_lib/0216_5003_Allow_20Authenticat.rel + ___0216_5003_Allow_20Authenticat +messages_lib/0217_081e_Allow_20Compression.rel + ___0217_081e_Allow_20Compression +messages_lib/0218_14d8_Allow_20MRU.rel + ___0218_14d8_Allow_20MRU +messages_lib/0219_5c94_Allow_20Magic_20Num.rel + ___0219_5c94_Allow_20Magic_20Num +messages_lib/021a_33ea_Allow_20Protocol_20.rel + ___021a_33ea_Allow_20Protocol_20 +messages_lib/021b_a5f9_Already_20have_20_2.rel + ___021b_a5f9_Already_20have_20_2 +messages_lib/021c_8eaf_Arcnet_3a_20len_20_.rel + ___021c_8eaf_Arcnet_3a_20len_20_ +messages_lib/021d_52c7_Argument_20missing_.rel + ___021d_52c7_Argument_20missing_ +messages_lib/021e_3ed8_Ascii_0a.rel + ___021e_3ed8_Ascii_0a +messages_lib/021f_7cb2_Attach_20device_20f.rel + ___021f_7cb2_Attach_20device_20f +messages_lib/0220_ec38_Attach_20netrom_20i.rel + ___0220_ec38_Attach_20netrom_20i +messages_lib/0221_ee22_Attended_20flag.rel + ___0221_ee22_Attended_20flag +messages_lib/0222_b76d_Authentication_20Ph.rel + ___0222_b76d_Authentication_20Ph +messages_lib/0223_0443_Available_20areas_2.rel + ___0223_0443_Available_20areas_2 +messages_lib/0224_6999_Backoff_20Level_20_.rel + ___0224_6999_Backoff_20Level_20_ +messages_lib/0225_9716_Bad_20digipeater_20.rel + ___0225_9716_Bad_20digipeater_20 +messages_lib/0226_0b9f_Bad_20syntax_2e_0a.rel + ___0226_0b9f_Bad_20syntax_2e_0a +messages_lib/0227_e884_Bad_20target_20_25s.rel + ___0227_e884_Bad_20target_20_25s +messages_lib/0228_822a_Bad_20user_20or_20h.rel + ___0228_822a_Bad_20user_20or_20h +messages_lib/0229_61f7_Base_20Addr_09Rxint.rel + ___0229_61f7_Base_20Addr_09Rxint +messages_lib/022a_929a_Base_20Addr_20_20Rx.rel + ___022a_929a_Base_20Addr_20_20Rx +messages_lib/022b_de82_Buf_20hits_2fmiss_2.rel + ___022b_de82_Buf_20hits_2fmiss_2 +messages_lib/022c_ae0c_CTRL_2d_25c_0a.rel + ___022c_ae0c_CTRL_2d_25c_0a +messages_lib/022d_6c46_CWD_20_25s_0a.rel + ___022d_6c46_CWD_20_25s_0a +messages_lib/022e_0e64_Calls_20originated_.rel + ___022e_0e64_Calls_20originated_ +messages_lib/022f_9777_Calls_20timed_20out.rel + ___022f_9777_Calls_20timed_20out +messages_lib/0230_e911_Can_27t_20NLST_20_2.rel + ___0230_e911_Can_27t_20NLST_20_2 +messages_lib/0231_daf3_Can_27t_20add_20rou.rel + ___0231_daf3_Can_27t_20add_20rou +messages_lib/0232_6db7_Can_27t_20attach_20.rel + ___0232_6db7_Can_27t_20attach_20 +messages_lib/0233_79e8_Can_27t_20change_20.rel + ___0233_79e8_Can_27t_20change_20 +messages_lib/0234_3bb8_Can_27t_20create_20.rel + ___0234_3bb8_Can_27t_20create_20 +messages_lib/0235_0003_Can_27t_20create_20.rel + ___0235_0003_Can_27t_20create_20 +messages_lib/0236_ef8c_Can_27t_20create_20.rel + ___0236_ef8c_Can_27t_20create_20 +messages_lib/0237_28e0_Can_27t_20create_20.rel + ___0237_28e0_Can_27t_20create_20 +messages_lib/0238_d5bc_Can_27t_20create_20.rel + ___0238_d5bc_Can_27t_20create_20 +messages_lib/0239_c7fb_Can_27t_20delete_20.rel + ___0239_c7fb_Can_27t_20delete_20 +messages_lib/023a_d5d6_Can_27t_20detach_20.rel + ___023a_d5d6_Can_27t_20detach_20 +messages_lib/023b_5d65_Can_27t_20find_20he.rel + ___023b_5d65_Can_27t_20find_20he +messages_lib/023c_3eee_Can_27t_20list_20lo.rel + ___023c_3eee_Can_27t_20list_20lo +messages_lib/023d_c1c1_Can_27t_20open_20_2.rel + ___023d_c1c1_Can_27t_20open_20_2 +messages_lib/023e_fedd_Can_27t_20open_20_2.rel + ___023e_fedd_Can_27t_20open_20_2 +messages_lib/023f_fb2a_Can_27t_20open_20_2.rel + ___023f_fb2a_Can_27t_20open_20_2 +messages_lib/0240_d8a5_Can_27t_20open_20in.rel + ___0240_d8a5_Can_27t_20open_20in +messages_lib/0241_8131_Can_27t_20read_20.rel + ___0241_8131_Can_27t_20read_20 +messages_lib/0242_4a10_Can_27t_20read_20_2.rel + ___0242_4a10_Can_27t_20read_20_2 +messages_lib/0243_8468_Can_27t_20read_20co.rel + ___0243_8468_Can_27t_20read_20co +messages_lib/0244_4327_Can_27t_20read_20di.rel + ___0244_4327_Can_27t_20read_20di +messages_lib/0245_5fb2_Can_27t_20read_20lo.rel + ___0245_5fb2_Can_27t_20read_20lo +messages_lib/0246_36d4_Can_27t_20read_20pa.rel + ___0246_36d4_Can_27t_20read_20pa +messages_lib/0247_5e43_Can_27t_20rename_20.rel + ___0247_5e43_Can_27t_20rename_20 +messages_lib/0248_4bfe_Can_27t_20rewrite_2.rel + ___0248_4bfe_Can_27t_20rewrite_2 +messages_lib/0249_24ca_Can_27t_20set_20lin.rel + ___0249_24ca_Can_27t_20set_20lin +messages_lib/024a_5e82_Can_27t_20write_20_.rel + ___024a_5e82_Can_27t_20write_20_ +messages_lib/024b_988b_Can_27t_20write_20l.rel + ___024b_988b_Can_27t_20write_20l +messages_lib/024c_c0f9_Can_27t_20write_20t.rel + ___024c_c0f9_Can_27t_20write_20t +messages_lib/024d_5055_Ch_20Iface_20_20_20.rel + ___024d_5055_Ch_20Iface_20_20_20 +messages_lib/024e_95d8_Ch_20Iface_20_20CTS.rel + ___024e_95d8_Ch_20Iface_20_20CTS +messages_lib/024f_eff3_Channel_20_2d_20_25.rel + ___024f_eff3_Channel_20_2d_20_25 +messages_lib/0250_1b09_Choke_20timeout_20_.rel + ___0250_1b09_Choke_20timeout_20_ +messages_lib/0251_433b_Close.rel + ___0251_433b_Close +messages_lib/0252_aa31_Closed.rel + ___0252_aa31_Closed +messages_lib/0253_f95c_Closed_3a_20_25s_0a.rel + ___0253_f95c_Closed_3a_20_25s_0a +messages_lib/0254_253f_Closing_20PPP.rel + ___0254_253f_Closing_20PPP +messages_lib/0255_5627_Code_20Reject.rel + ___0255_5627_Code_20Reject +messages_lib/0256_e508_Command_20batching.rel + ___0256_e508_Command_20batching +messages_lib/0257_6fb2_Compressed_20TCP_2f.rel + ___0257_6fb2_Compressed_20TCP_2f +messages_lib/0258_242d_Compressed_20TCP_2f.rel + ___0258_242d_Compressed_20TCP_2f +messages_lib/0259_531f_Config_20Ack.rel + ___0259_531f_Config_20Ack +messages_lib/025a_2a68_Config_20Nak.rel + ___025a_2a68_Config_20Nak +messages_lib/025b_194d_Config_20Reject.rel + ___025b_194d_Config_20Reject +messages_lib/025c_d2e5_Config_20Req.rel + ___025c_d2e5_Config_20Req +messages_lib/025d_b471_Connect_20failed_0a.rel + ___025d_b471_Connect_20failed_0a +messages_lib/025e_bb2f_Connect_20failed_3a.rel + ___025e_bb2f_Connect_20failed_3a +messages_lib/025f_85e9_Connect_20to_20mail.rel + ___025f_85e9_Connect_20to_20mail +messages_lib/0260_6930_Connected_0a.rel + ___0260_6930_Connected_0a +messages_lib/0261_5189_Connected_20to_20_2.rel + ___0261_5189_Connected_20to_20_2 +messages_lib/0262_771a_Connected_20to_20ma.rel + ___0262_771a_Connected_20to_20ma +messages_lib/0263_0e16_Connected_2e.rel + ___0263_0e16_Connected_2e +messages_lib/0264_3e79_Connection_20closed.rel + ___0264_3e79_Connection_20closed +messages_lib/0265_faa9_Connection_20failed.rel + ___0265_faa9_Connection_20failed +messages_lib/0266_3676_Could_20not_20creat.rel + ___0266_3676_Could_20not_20creat +messages_lib/0267_d95b_Couldn_27t_20queue_.rel + ___0267_d95b_Couldn_27t_20queue_ +messages_lib/0268_68a6_Current_20message_2.rel + ___0268_68a6_Current_20message_2 +messages_lib/0269_23ad_Currently_20enabled.rel + ___0269_23ad_Currently_20enabled +messages_lib/026a_1cf7_DELE_20_25s.rel + ___026a_1cf7_DELE_20_25s +messages_lib/026b_5fad_DISASTER_21_20Out_2.rel + ___026b_5fad_DISASTER_21_20Out_2 +messages_lib/026c_7ce2_DRSI_20Board_20Stat.rel + ___026c_7ce2_DRSI_20Board_20Stat +messages_lib/026d_2f52_D_5bU_5d_20filename.rel + ___026d_2f52_D_5bU_5d_20filename +messages_lib/026e_698b_Data_0a.rel + ___026e_698b_Data_0a +messages_lib/026f_cb1c_Data_20outside_20he.rel + ___026f_cb1c_Data_20outside_20he +messages_lib/0270_01be_Data_20pointer_20_2.rel + ___0270_01be_Data_20pointer_20_2 +messages_lib/0271_3cbb_Data_20pointer_20be.rel + ___0271_3cbb_Data_20pointer_20be +messages_lib/0272_bd70_Defaulting_20to_20b.rel + ___0272_bd70_Defaulting_20to_20b +messages_lib/0273_2d19_Del_5fconst_20_3d_2.rel + ___0273_2d19_Del_5fconst_20_3d_2 +messages_lib/0274_6255_Dest_20Addr_20_20_2.rel + ___0274_6255_Dest_20Addr_20_20_2 +messages_lib/0275_3894_Dialing_20not_20sup.rel + ___0275_3894_Dialing_20not_20sup +messages_lib/0276_26a3_Different_0a.rel + ___0276_26a3_Different_0a +messages_lib/0277_ae33_Digipeat.rel + ___0277_ae33_Digipeat +messages_lib/0278_af35_Directory_20table_2.rel + ___0278_af35_Directory_20table_2 +messages_lib/0279_c453_Discard_20Request.rel + ___0279_c453_Discard_20Request +messages_lib/027a_c1bb_Disconnected_20.rel + ___027a_c1bb_Disconnected_20 +messages_lib/027b_2cc5_Disconnecting_2e.rel + ___027b_2cc5_Disconnecting_2e +messages_lib/027c_1f44_Down.rel + ___027c_1f44_Down +messages_lib/027d_b7f4_Dup_20acks_20_20_20.rel + ___027d_b7f4_Dup_20acks_20_20_20 +messages_lib/027e_3ed4_Duplex_3a_20_25s_0a.rel + ___027e_3ed4_Duplex_3a_20_25s_0a +messages_lib/027f_b671_E2BIG.rel + ___027f_b671_E2BIG +messages_lib/0280_56e8_EACCES.rel + ___0280_56e8_EACCES +messages_lib/0281_f378_EAGAIN.rel + ___0281_f378_EAGAIN +messages_lib/0282_0483_EAGLE_20Board_20Sta.rel + ___0282_0483_EAGLE_20Board_20Sta +messages_lib/0283_a2a1_EBADF.rel + ___0283_a2a1_EBADF +messages_lib/0284_74ba_EBUSY.rel + ___0284_74ba_EBUSY +messages_lib/0285_4029_ECHILD.rel + ___0285_4029_ECHILD +messages_lib/0286_cd2b_EDEADLK.rel + ___0286_cd2b_EDEADLK +messages_lib/0287_4299_EDOM.rel + ___0287_4299_EDOM +messages_lib/0288_bec8_EEXIST.rel + ___0288_bec8_EEXIST +messages_lib/0289_afa9_EFAULT.rel + ___0289_afa9_EFAULT +messages_lib/028a_9ed8_EFBIG.rel + ___028a_9ed8_EFBIG +messages_lib/028b_28f7_EGATTACH_3a_20No_20.rel + ___028b_28f7_EGATTACH_3a_20No_20 +messages_lib/028c_eb47_EINTR.rel + ___028c_eb47_EINTR +messages_lib/028d_b479_EINVAL.rel + ___028d_b479_EINVAL +messages_lib/028e_21d8_EINVFNC.rel + ___028e_21d8_EINVFNC +messages_lib/028f_2d75_EIO.rel + ___028f_2d75_EIO +messages_lib/0290_fb45_EISDIR.rel + ___0290_fb45_EISDIR +messages_lib/0291_8de7_ELOOP.rel + ___0291_8de7_ELOOP +messages_lib/0292_9e5a_EMFILE.rel + ___0292_9e5a_EMFILE +messages_lib/0293_983a_EMLINK.rel + ___0293_983a_EMLINK +messages_lib/0294_0607_ENAMETOOLONG.rel + ___0294_0607_ENAMETOOLONG +messages_lib/0295_8396_ENFILE.rel + ___0295_8396_ENFILE +messages_lib/0296_7088_ENODEV.rel + ___0296_7088_ENODEV +messages_lib/0297_edee_ENOENT.rel + ___0297_edee_ENOENT +messages_lib/0298_a107_ENOEXEC.rel + ___0298_a107_ENOEXEC +messages_lib/0299_29fe_ENOLCK.rel + ___0299_29fe_ENOLCK +messages_lib/029a_42c4_ENOMEM.rel + ___029a_42c4_ENOMEM +messages_lib/029b_d51d_ENOSPC.rel + ___029b_d51d_ENOSPC +messages_lib/029c_d3a2_ENOTBLK.rel + ___029c_d3a2_ENOTBLK +messages_lib/029d_f683_ENOTDIR.rel + ___029d_f683_ENOTDIR +messages_lib/029e_83de_ENOTEMPTY.rel + ___029e_83de_ENOTEMPTY +messages_lib/029f_81a3_ENOTTY.rel + ___029f_81a3_ENOTTY +messages_lib/02a0_01a7_ENXIO.rel + ___02a0_01a7_ENXIO +messages_lib/02a1_4485_EPERM.rel + ___02a1_4485_EPERM +messages_lib/02a2_5ede_EPIPE.rel + ___02a2_5ede_EPIPE +messages_lib/02a3_7f6a_ERANGE.rel + ___02a3_7f6a_ERANGE +messages_lib/02a4_0587_EROFS.rel + ___02a4_0587_EROFS +messages_lib/02a5_6b3a_ESCC_20channel_20_2.rel + ___02a5_6b3a_ESCC_20channel_20_2 +messages_lib/02a6_6d38_ESCC_20channel_20_2.rel + ___02a6_6d38_ESCC_20channel_20_2 +messages_lib/02a7_0a8a_ESCC_20driver_20alr.rel + ___02a7_0a8a_ESCC_20driver_20alr +messages_lib/02a8_d89e_ESCC_20driver_20not.rel + ___02a8_d89e_ESCC_20driver_20not +messages_lib/02a9_dd82_ESHELL.rel + ___02a9_dd82_ESHELL +messages_lib/02aa_ffa8_ESPIPE.rel + ___02aa_ffa8_ESPIPE +messages_lib/02ab_b33c_ESRCH.rel + ___02ab_b33c_ESRCH +messages_lib/02ac_194a_ETXTBSY.rel + ___02ac_194a_ETXTBSY +messages_lib/02ad_8d4a_EXDEV.rel + ___02ad_8d4a_EXDEV +messages_lib/02ae_6684_Echo_20Reply.rel + ___02ae_6684_Echo_20Reply +messages_lib/02af_1323_Echo_20Request.rel + ___02af_1323_Echo_20Request +messages_lib/02b0_4f54_Encapsulation_20mod.rel + ___02b0_4f54_Encapsulation_20mod +messages_lib/02b1_0f4a_Enqued_20_20_2d_20_.rel + ___02b1_0f4a_Enqued_20_20_2d_20_ +messages_lib/02b2_de30_Enter_20message_2e_.rel + ___02b2_de30_Enter_20message_2e_ +messages_lib/02b3_3a50_Error_20in_20respon.rel + ___02b3_3a50_Error_20in_20respon +messages_lib/02b4_d568_Error_20updating_20.rel + ___02b4_d568_Error_20updating_20 +messages_lib/02b5_69fc_Error_20writing_20m.rel + ___02b5_69fc_Error_20writing_20m +messages_lib/02b6_9664_Escape_20character_.rel + ___02b6_9664_Escape_20character_ +messages_lib/02b7_bdca_Establishment_20Pha.rel + ___02b7_bdca_Establishment_20Pha +messages_lib/02b8_8c2d_Ether_3a_20len_20_2.rel + ___02b8_8c2d_Ether_3a_20len_20_2 +messages_lib/02b9_3af3_F_3e.rel + ___02b9_3af3_F_3e +messages_lib/02ba_0046_Failed_0a.rel + ___02ba_0046_Failed_0a +messages_lib/02bb_8931_Failed_3b_20close_2.rel + ___02bb_8931_Failed_3b_20close_2 +messages_lib/02bc_4a7b_First_20init_20ESCC.rel + ___02bc_4a7b_First_20init_20ESCC +messages_lib/02bd_0954_Forwarding_20timer_.rel + ___02bd_0954_Forwarding_20timer_ +messages_lib/02be_95bb_Free_20address_20qu.rel + ___02be_95bb_Free_20address_20qu +messages_lib/02bf_fee7_Free_20cache_3a_20s.rel + ___02bf_fee7_Free_20cache_3a_20s +messages_lib/02c0_8dc1_Free_20memory_20thr.rel + ___02c0_8dc1_Free_20memory_20thr +messages_lib/02c1_1be2_From_20_25s_20_25s.rel + ___02c1_1be2_From_20_25s_20_25s +messages_lib/02c2_d837_From_3a_20_25s_0a.rel + ___02c2_d837_From_3a_20_25s_0a +messages_lib/02c3_b9a0_Garbage_20bp_20_25l.rel + ___02c3_b9a0_Garbage_20bp_20_25l +messages_lib/02c4_7731_Group_20list_20too_.rel + ___02c4_7731_Group_20list_20too_ +messages_lib/02c5_ccdf_HAPN_20_25d_3a_20_2.rel + ___02c5_ccdf_HAPN_20_25d_3a_20_2 +messages_lib/02c6_9570_HOPCHECK_20start_20.rel + ___02c6_9570_HOPCHECK_20start_20 +messages_lib/02c7_8ef4_HOPCHECK_20to_20_25.rel + ___02c7_8ef4_HOPCHECK_20to_20_25 +messages_lib/02c8_c794_HOPCHECK_20tracing.rel + ___02c8_c794_HOPCHECK_20tracing +messages_lib/02c9_4952_HS_3a_20Warning_3a_.rel + ___02c9_4952_HS_3a_20Warning_3a_ +messages_lib/02ca_10ba_Hardware_20_25u_0a.rel + ___02ca_10ba_Hardware_20_25u_0a +messages_lib/02cb_32e9_Heap_20debugging.rel + ___02cb_32e9_Heap_20debugging +messages_lib/02cc_9144_Host_20_25s_20_28_2.rel + ___02cc_9144_Host_20_25s_20_28_2 +messages_lib/02cd_862c_Host_20_25s_20unkno.rel + ___02cd_862c_Host_20_25s_20unkno +messages_lib/02ce_f216_Hostname_20set_20to.rel + ___02ce_f216_Hostname_20set_20to +messages_lib/02cf_267d_Hytech_20KA9Q_20NOS.rel + ___02cf_267d_Hytech_20KA9Q_20NOS +messages_lib/02d0_df4f_ICMP_20echo_20respo.rel + ___02d0_df4f_ICMP_20echo_20respo +messages_lib/02d1_db6d_ICMP_20from_20_25s_.rel + ___02d1_db6d_ICMP_20from_20_25s_ +messages_lib/02d2_abbc_ICMP_20tracing.rel + ___02d2_abbc_ICMP_20tracing +messages_lib/02d3_6b85_ICMP_3a_20type_20_2.rel + ___02d3_6b85_ICMP_3a_20type_20_2 +messages_lib/02d4_dff6_IP_0a.rel + ___02d4_dff6_IP_0a +messages_lib/02d5_5812_IP_20Time_2dto_2dli.rel + ___02d5_5812_IP_20Time_2dto_2dli +messages_lib/02d6_0e41_IP_20addr_20_20_20_.rel + ___02d6_0e41_IP_20addr_20_20_20_ +messages_lib/02d7_8cdb_IP_20reasm_20timeou.rel + ___02d7_8cdb_IP_20reasm_20timeou +messages_lib/02d8_5f88_IP_20rx_20tracing.rel + ___02d8_5f88_IP_20rx_20tracing +messages_lib/02d9_88e0_IP_3a_20CHECKSUM_20.rel + ___02d9_88e0_IP_3a_20CHECKSUM_20 +messages_lib/02da_03a7_IP_3a_20bad_20heade.rel + ___02da_03a7_IP_3a_20bad_20heade +messages_lib/02db_4543_IP_3a_20len_20_25u.rel + ___02db_4543_IP_3a_20len_20_25u +messages_lib/02dc_e067_IPCP_0a.rel + ___02dc_e067_IPCP_0a +messages_lib/02dd_6e3f_IPCP_20.rel + ___02dd_6e3f_IPCP_20 +messages_lib/02de_9f0e_IPCP_20ACK_3a_20buf.rel + ___02de_9f0e_IPCP_20ACK_3a_20buf +messages_lib/02df_7bbb_IPCP_20ACK_3a_20dat.rel + ___02df_7bbb_IPCP_20ACK_3a_20dat +messages_lib/02e0_b0d9_IPCP_20ACK_3a_20val.rel + ___02e0_b0d9_IPCP_20ACK_3a_20val +messages_lib/02e1_3a6e_IPCP_20ACK_3a_20wro.rel + ___02e1_3a6e_IPCP_20ACK_3a_20wro +messages_lib/02e2_678b_IPCP_20NAK_3a_20bad.rel + ___02e2_678b_IPCP_20NAK_3a_20bad +messages_lib/02e3_4d9e_IPCP_20NAK_3a_20opt.rel + ___02e3_4d9e_IPCP_20NAK_3a_20opt +messages_lib/02e4_4732_IPCP_20NAK_3a_20opt.rel + ___02e4_4732_IPCP_20NAK_3a_20opt +messages_lib/02e5_3eb8_IPCP_20NAK_3a_20ran.rel + ___02e5_3eb8_IPCP_20NAK_3a_20ran +messages_lib/02e6_86ff_IPCP_20NAK_3a_20val.rel + ___02e6_86ff_IPCP_20NAK_3a_20val +messages_lib/02e7_0dfe_IPCP_20NAK_3a_20wro.rel + ___02e7_0dfe_IPCP_20NAK_3a_20wro +messages_lib/02e8_77fc_IPCP_20REJ_3a_20bad.rel + ___02e8_77fc_IPCP_20REJ_3a_20bad +messages_lib/02e9_e0d3_IPCP_20REJ_3a_20opt.rel + ___02e9_e0d3_IPCP_20REJ_3a_20opt +messages_lib/02ea_ea7f_IPCP_20REJ_3a_20opt.rel + ___02ea_ea7f_IPCP_20REJ_3a_20opt +messages_lib/02eb_a959_IPCP_20REJ_3a_20ran.rel + ___02eb_a959_IPCP_20REJ_3a_20ran +messages_lib/02ec_3342_IPCP_20REJ_3a_20val.rel + ___02ec_3342_IPCP_20REJ_3a_20val +messages_lib/02ed_3c15_IPCP_20REJ_3a_20wro.rel + ___02ed_3c15_IPCP_20REJ_3a_20wro +messages_lib/02ee_497c_IPCP_20REQ_3a_20bad.rel + ___02ee_497c_IPCP_20REQ_3a_20bad +messages_lib/02ef_a1a1_IPCP_20REQ_3a_20ran.rel + ___02ef_a1a1_IPCP_20REQ_3a_20ran +messages_lib/02f0_4065_IPCP_20REQ_3a_20res.rel + ___02f0_4065_IPCP_20REQ_3a_20res +messages_lib/02f1_a490_IRQ_20_25u_20out_20.rel + ___02f1_a490_IRQ_20_25u_20out_20 +messages_lib/02f2_925d_Idle_20poll_20timer.rel + ___02f2_925d_Idle_20poll_20timer +messages_lib/02f3_4ab5_Image_0a.rel + ___02f3_4ab5_Image_0a +messages_lib/02f4_7e58_Initial_20RTT_20_28.rel + ___02f4_7e58_Initial_20RTT_20_28 +messages_lib/02f5_bd38_Inqlen_3a_20_25d_20.rel + ___02f5_bd38_Inqlen_3a_20_25d_20 +messages_lib/02f6_c7f6_Insufficient_20args.rel + ___02f6_c7f6_Insufficient_20args +messages_lib/02f7_fcf9_Interface_20_20_20R.rel + ___02f7_fcf9_Interface_20_20_20R +messages_lib/02f8_b903_Interface_20_22_25s.rel + ___02f8_b903_Interface_20_22_25s +messages_lib/02f9_4daf_Interface_20_22_25s.rel + ___02f9_4daf_Interface_20_22_25s +messages_lib/02fa_42ac_Interface_20_22_25s.rel + ___02fa_42ac_Interface_20_22_25s +messages_lib/02fb_5a50_Interface_20_25s_20.rel + ___02fb_5a50_Interface_20_25s_20 +messages_lib/02fc_1298_Interface_20_25s_20.rel + ___02fc_1298_Interface_20_25s_20 +messages_lib/02fd_24cb_Interface_20_25s_20.rel + ___02fd_24cb_Interface_20_25s_20 +messages_lib/02fe_c749_Interface_20_25s_20.rel + ___02fe_c749_Interface_20_25s_20 +messages_lib/02ff_63a0_Interface_20_25s_20.rel + ___02ff_63a0_Interface_20_25s_20 +messages_lib/0300_c292_Interface_20_25s_20.rel + ___0300_c292_Interface_20_25s_20 +messages_lib/0301_8880_Interface_20_25s_20.rel + ___0301_8880_Interface_20_25s_20 +messages_lib/0302_6e91_Interface_20_25s_20.rel + ___0302_6e91_Interface_20_25s_20 +messages_lib/0303_103c_Interface_20address.rel + ___0303_103c_Interface_20address +messages_lib/0304_c429_Interface_3a_20.rel + ___0304_c429_Interface_3a_20 +messages_lib/0305_d726_Invalid_20magic_20c.rel + ___0305_d726_Invalid_20magic_20c +messages_lib/0306_42d9_Invalid_20range_2e_.rel + ___0306_42d9_Invalid_20range_2e_ +messages_lib/0307_89c0_Invalid_20type_20_2.rel + ___0307_89c0_Invalid_20type_20_2 +messages_lib/0308_62ed_Invalid_20user_20na.rel + ___0308_62ed_Invalid_20user_20na +messages_lib/0309_be0b_Job_20id_20_25s_20n.rel + ___0309_be0b_Job_20id_20_25s_20n +messages_lib/030a_87a9_K_20numbers.rel + ___030a_87a9_K_20numbers +messages_lib/030b_414e_KISS_3a_20.rel + ___030b_414e_KISS_3a_20 +messages_lib/030c_1668_Known_20users_20on_.rel + ___030c_1668_Known_20users_20on_ +messages_lib/030d_171d_LCP_0a.rel + ___030d_171d_LCP_0a +messages_lib/030e_9945_LCP_20.rel + ___030e_9945_LCP_20 +messages_lib/030f_7a27_LCP_20ACK_3a_20buff.rel + ___030f_7a27_LCP_20ACK_3a_20buff +messages_lib/0310_a126_LCP_20ACK_3a_20data.rel + ___0310_a126_LCP_20ACK_3a_20data +messages_lib/0311_6dd9_LCP_20ACK_3a_20vali.rel + ___0311_6dd9_LCP_20ACK_3a_20vali +messages_lib/0312_d52d_LCP_20ACK_3a_20wron.rel + ___0312_d52d_LCP_20ACK_3a_20wron +messages_lib/0313_febe_LCP_20NAK_3a_20bad_.rel + ___0313_febe_LCP_20NAK_3a_20bad_ +messages_lib/0314_8ccc_LCP_20NAK_3a_20opti.rel + ___0314_8ccc_LCP_20NAK_3a_20opti +messages_lib/0315_8660_LCP_20NAK_3a_20opti.rel + ___0315_8660_LCP_20NAK_3a_20opti +messages_lib/0316_ee4a_LCP_20NAK_3a_20ran_.rel + ___0316_ee4a_LCP_20NAK_3a_20ran_ +messages_lib/0317_5bff_LCP_20NAK_3a_20vali.rel + ___0317_5bff_LCP_20NAK_3a_20vali +messages_lib/0318_e2bd_LCP_20NAK_3a_20wron.rel + ___0318_e2bd_LCP_20NAK_3a_20wron +messages_lib/0319_eec9_LCP_20REJ_3a_20bad_.rel + ___0319_eec9_LCP_20REJ_3a_20bad_ +messages_lib/031a_2181_LCP_20REJ_3a_20opti.rel + ___031a_2181_LCP_20REJ_3a_20opti +messages_lib/031b_2b2d_LCP_20REJ_3a_20opti.rel + ___031b_2b2d_LCP_20REJ_3a_20opti +messages_lib/031c_79ab_LCP_20REJ_3a_20ran_.rel + ___031c_79ab_LCP_20REJ_3a_20ran_ +messages_lib/031d_ee42_LCP_20REJ_3a_20vali.rel + ___031d_ee42_LCP_20REJ_3a_20vali +messages_lib/031e_d356_LCP_20REJ_3a_20wron.rel + ___031e_d356_LCP_20REJ_3a_20wron +messages_lib/031f_d049_LCP_20REQ_3a_20bad_.rel + ___031f_d049_LCP_20REQ_3a_20bad_ +messages_lib/0320_7153_LCP_20REQ_3a_20ran_.rel + ___0320_7153_LCP_20REQ_3a_20ran_ +messages_lib/0321_0ae9_LCP_20REQ_3a_20resu.rel + ___0321_0ae9_LCP_20REQ_3a_20resu +messages_lib/0322_1d45_Last_20message_0a.rel + ___0322_1d45_Last_20message_0a +messages_lib/0323_c626_Listen.rel + ___0323_c626_Listen +messages_lib/0324_f6d8_Listening_20_2d_2d_.rel + ___0324_f6d8_Listening_20_2d_2d_ +messages_lib/0325_a317_Loc_20.rel + ___0325_a317_Loc_20 +messages_lib/0326_5ce5_Local_3a_20_25s.rel + ___0326_5ce5_Local_3a_20_25s +messages_lib/0327_0926_Local_3a_20_25s_20_.rel + ___0327_0926_Local_3a_20_25s_20_ +messages_lib/0328_6210_Lock_20directory_20.rel + ___0328_6210_Lock_20directory_20 +messages_lib/0329_f59a_Logging_20off_0a.rel + ___0329_f59a_Logging_20off_0a +messages_lib/032a_1bd9_Logging_20to_20_25s.rel + ___032a_1bd9_Logging_20to_20_25s +messages_lib/032b_4a5a_Logical_20bytesize_.rel + ___032b_4a5a_Logical_20bytesize_ +messages_lib/032c_4f93_Login_20incorrect_0.rel + ___032c_4f93_Login_20incorrect_0 +messages_lib/032d_8ac2_MBOX_20Zap_3a_20_25.rel + ___032d_8ac2_MBOX_20Zap_3a_20_25 +messages_lib/032e_1dc7_MBOX_20bbs_20mail_2.rel + ___032e_1dc7_MBOX_20bbs_20mail_2 +messages_lib/032f_37c2_MBOX_20bbs_20mail_2.rel + ___032f_37c2_MBOX_20bbs_20mail_2 +messages_lib/0330_f88f_MBOX_20forward_20fa.rel + ___0330_f88f_MBOX_20forward_20fa +messages_lib/0331_9bd4_MBOX_20forwarding_2.rel + ___0331_9bd4_MBOX_20forwarding_2 +messages_lib/0332_d1e8_MBOX_20login_3a_20_.rel + ___0332_d1e8_MBOX_20login_3a_20_ +messages_lib/0333_dd2e_MBOX_20login_3a_20_.rel + ___0333_dd2e_MBOX_20login_3a_20_ +messages_lib/0334_e920_MBOX_20sysop_3a_20_.rel + ___0334_e920_MBOX_20sysop_3a_20_ +messages_lib/0335_a30c_MBOX_20upload_3a_20.rel + ___0335_a30c_MBOX_20upload_3a_20 +messages_lib/0336_c247_MKD_20_25s.rel + ___0336_c247_MKD_20_25s +messages_lib/0337_53a6_MRU_20_25s_20_28_25.rel + ___0337_53a6_MRU_20_25s_20_28_25 +messages_lib/0338_f9a6_Magic_20Number.rel + ___0338_f9a6_Magic_20Number +messages_lib/0339_d070_Mail_20area_3a_20_2.rel + ___0339_d070_Mail_20area_3a_20_2 +messages_lib/033a_0103_Mail_20box_20full_3.rel + ___033a_0103_Mail_20box_20full_3 +messages_lib/033b_523a_Main_20commands_3a_.rel + ___033b_523a_Main_20commands_3a_ +messages_lib/033c_dcca_Max_20attempts_20to.rel + ___033c_dcca_Max_20attempts_20to +messages_lib/033d_0279_Max_20clients.rel + ___033d_0279_Max_20clients +messages_lib/033e_3cd5_Max_20frame_20lengt.rel + ___033e_3cd5_Max_20frame_20lengt +messages_lib/033f_d96d_Maximum_20messages_.rel + ___033f_d96d_Maximum_20messages_ +messages_lib/0340_488d_Mbuf_20sizes_3a_0a.rel + ___0340_488d_Mbuf_20sizes_3a_0a +messages_lib/0341_ee8f_Message_20_23_25d_2.rel + ___0341_ee8f_Message_20_23_25d_2 +messages_lib/0342_b5f9_Mode_20_25s_20unkno.rel + ___0342_b5f9_Mode_20_25s_20unkno +messages_lib/0343_aa15_Mode_20_25s_20unkno.rel + ___0343_aa15_Mode_20_25s_20unkno +messages_lib/0344_ac3e_Msg_20_25d_20Killed.rel + ___0344_ac3e_Msg_20_25d_20Killed +messages_lib/0345_9a86_Must_20be_20_200_20.rel + ___0345_9a86_Must_20be_20_200_20 +messages_lib/0346_362b_Must_20be_20_200_20.rel + ___0346_362b_Must_20be_20_200_20 +messages_lib/0347_2da0_Must_20be_20_3e_3d_.rel + ___0347_2da0_Must_20be_20_3e_3d_ +messages_lib/0348_06a9_Must_20set_20_27r_2.rel + ___0348_06a9_Must_20set_20_27r_2 +messages_lib/0349_d814_N_3e_3d_255u_3a_257.rel + ___0349_d814_N_3e_3d_255u_3a_257 +messages_lib/034a_7868_NET_2fROM_20Routing.rel + ___034a_7868_NET_2fROM_20Routing +messages_lib/034b_ae07_NET_2fROM_20not_20a.rel + ___034b_ae07_NET_2fROM_20not_20a +messages_lib/034c_d0e9_NET_2fROM_3a_20_25s.rel + ___034c_d0e9_NET_2fROM_3a_20_25s +messages_lib/034d_73b0_NEWNEWS_20_25s_20_2.rel + ___034d_73b0_NEWNEWS_20_25s_20_2 +messages_lib/034e_c191_NNTP_20_25s_20Canno.rel + ___034e_c191_NNTP_20_25s_20Canno +messages_lib/034f_7ed2_NNTP_20_25s_20Canno.rel + ___034f_7ed2_NNTP_20_25s_20Canno +messages_lib/0350_bcd0_NNTP_20_25s_20Conne.rel + ___0350_bcd0_NNTP_20_25s_20Conne +messages_lib/0351_796b_NNTP_20_25s_20Conne.rel + ___0351_796b_NNTP_20_25s_20Conne +messages_lib/0352_4193_NNTP_20_25s_20Conne.rel + ___0352_4193_NNTP_20_25s_20Conne +messages_lib/0353_0909_NNTP_20_25s_20Conne.rel + ___0353_0909_NNTP_20_25s_20Conne +messages_lib/0354_3814_NNTP_20_25s_20Conne.rel + ___0354_3814_NNTP_20_25s_20Conne +messages_lib/0355_b5ec_NNTP_20_25s_20Could.rel + ___0355_b5ec_NNTP_20_25s_20Could +messages_lib/0356_8531_NNTP_20_25s_20Could.rel + ___0356_8531_NNTP_20_25s_20Could +messages_lib/0357_8fd5_NNTP_20_25s_20Could.rel + ___0357_8fd5_NNTP_20_25s_20Could +messages_lib/0358_0d83_NNTP_20_25s_20Givin.rel + ___0358_0d83_NNTP_20_25s_20Givin +messages_lib/0359_19c4_NNTP_20_25s_20Givin.rel + ___0359_19c4_NNTP_20_25s_20Givin +messages_lib/035a_213a_NNTP_20_25s_20bad_2.rel + ___035a_213a_NNTP_20_25s_20bad_2 +messages_lib/035b_31a2_NNTP_20_25s_20bad_2.rel + ___035b_31a2_NNTP_20_25s_20bad_2 +messages_lib/035c_df3f_NNTP_20_25s_20givin.rel + ___035c_df3f_NNTP_20_25s_20givin +messages_lib/035d_791c_NNTP_20_25s_20givin.rel + ___035d_791c_NNTP_20_25s_20givin +messages_lib/035e_75ce_NNTP_20_25s_20givin.rel + ___035e_75ce_NNTP_20_25s_20givin +messages_lib/035f_7eb6_NNTP_20_25s_20proto.rel + ___035f_7eb6_NNTP_20_25s_20proto +messages_lib/0360_7f99_NNTP_20_25s_20proto.rel + ___0360_7f99_NNTP_20_25s_20proto +messages_lib/0361_a517_NNTP_20Cannot_20ope.rel + ___0361_a517_NNTP_20Cannot_20ope +messages_lib/0362_fc8f_NNTP_20can_27t_20re.rel + ___0362_fc8f_NNTP_20can_27t_20re +messages_lib/0363_2c2a_NNTP_20daemon_20ent.rel + ___0363_2c2a_NNTP_20daemon_20ent +messages_lib/0364_f2a9_NNTP_20daemon_20exi.rel + ___0364_f2a9_NNTP_20daemon_20exi +messages_lib/0365_cbc7_NNTP_20daemon_20qui.rel + ___0365_cbc7_NNTP_20daemon_20qui +messages_lib/0366_0fa8_NNTP_20group_20_27_.rel + ___0366_0fa8_NNTP_20group_20_27_ +messages_lib/0367_0e76_NNTP_20receive_20er.rel + ___0367_0e76_NNTP_20receive_20er +messages_lib/0368_a47f_NNTP_20received_20_.rel + ___0368_a47f_NNTP_20received_20_ +messages_lib/0369_0916_NNTP_20tracing.rel + ___0369_0916_NNTP_20tracing +messages_lib/036a_b065_NNTP_20window_20to_.rel + ___036a_b065_NNTP_20window_20to_ +messages_lib/036b_852e_NO_20_2d_20.rel + ___036b_852e_NO_20_2d_20 +messages_lib/036c_e182_NO_20_2d_20bad_20ad.rel + ___036c_e182_NO_20_2d_20bad_20ad +messages_lib/036d_7ccb_NO_20_2d_20syntax_2.rel + ___036d_7ccb_NO_20_2d_20syntax_2 +messages_lib/036e_2df6_NOS_20log_20closed.rel + ___036e_2df6_NOS_20log_20closed +messages_lib/036f_e1c8_NOS_20was_20started.rel + ___036f_e1c8_NOS_20was_20started +messages_lib/0370_cfbe_NOS_20was_20stopped.rel + ___0370_cfbe_NOS_20was_20stopped +messages_lib/0371_998c_NULL_20BUFFER_0a.rel + ___0371_998c_NULL_20BUFFER_0a +messages_lib/0372_f664_NULL_20username_20o.rel + ___0372_f664_NULL_20username_20o +messages_lib/0373_89a8_Net_3e_20.rel + ___0373_89a8_Net_3e_20 +messages_lib/0374_e0c6_Network_20_25s_20co.rel + ___0374_e0c6_Network_20_25s_20co +messages_lib/0375_41e1_Network_20Protocol_.rel + ___0375_41e1_Network_20Protocol_ +messages_lib/0376_4009_New_20mail_20arrive.rel + ___0376_4009_New_20mail_20arrive +messages_lib/0377_fbfc_New_20mail_20arrive.rel + ___0377_fbfc_New_20mail_20arrive +messages_lib/0378_d0a7_New_20news_20arrive.rel + ___0378_d0a7_New_20news_20arrive +messages_lib/0379_f66f_No_20_20.rel + ___0379_f66f_No_20_20 +messages_lib/037a_e9a0_No_20HAPN_20adaptor.rel + ___037a_e9a0_No_20HAPN_20adaptor +messages_lib/037b_87bb_No_20current_20sess.rel + ___037b_87bb_No_20current_20sess +messages_lib/037c_7f27_No_20dialer_20activ.rel + ___037c_7f27_No_20dialer_20activ +messages_lib/037d_cd1f_No_20finger_20infor.rel + ___037d_cd1f_No_20finger_20infor +messages_lib/037e_2a2e_No_20help_20availab.rel + ___037e_2a2e_No_20help_20availab +messages_lib/037f_7cc9_No_20packet_20drive.rel + ___037f_7cc9_No_20packet_20drive +messages_lib/0380_c43d_No_20space_21_21_0a.rel + ___0380_c43d_No_20space_21_21_0a +messages_lib/0381_4e0c_No_20such_20message.rel + ___0381_4e0c_No_20such_20message +messages_lib/0382_2a80_No_20such_20server_.rel + ___0382_2a80_No_20such_20server_ +messages_lib/0383_0cda_Nodetimer_20_25lu_2.rel + ___0383_0cda_Nodetimer_20_25lu_2 +messages_lib/0384_3fb0_None.rel + ___0384_3fb0_None +messages_lib/0385_2875_None_09.rel + ___0385_2875_None_09 +messages_lib/0386_1aee_None_0a.rel + ___0386_1aee_None_0a +messages_lib/0387_f8e2_Not_20a_20valid_20s.rel + ___0387_f8e2_Not_20a_20valid_20s +messages_lib/0388_b4ba_Not_20an_20FTP_20se.rel + ___0388_b4ba_Not_20an_20FTP_20se +messages_lib/0389_ae74_Not_20enough_20memo.rel + ___0389_ae74_Not_20enough_20memo +messages_lib/038a_ee7e_Not_20found_0a.rel + ___038a_ee7e_Not_20found_0a +messages_lib/038b_533e_Not_20in_20table_0a.rel + ___038b_533e_Not_20in_20table_0a +messages_lib/038c_c7b9_Not_20supported_0a.rel + ___038c_c7b9_Not_20supported_0a +messages_lib/038d_9692_Obsotimer_20_25lu_2.rel + ___038d_9692_Obsotimer_20_25lu_2 +messages_lib/038e_ff96_Oh_2c_20hello_20_25.rel + ___038e_ff96_Oh_2c_20hello_20_25 +messages_lib/038f_0948_Only_20_25d_20DRSI_.rel + ___038f_0948_Only_20_25d_20DRSI_ +messages_lib/0390_8edb_Only_20_25d_20net_2.rel + ___0390_8edb_Only_20_25d_20net_2 +messages_lib/0391_f9f0_Only_201_20EAGLE_20.rel + ___0391_f9f0_Only_201_20EAGLE_20 +messages_lib/0392_b622_Open.rel + ___0392_b622_Open +messages_lib/0393_fef1_Opened.rel + ___0393_fef1_Opened +messages_lib/0394_1514_Outqlen_3a_20_25d_2.rel + ___0394_1514_Outqlen_3a_20_25d_2 +messages_lib/0395_5b48_PANIC_3a_20Timer_20.rel + ___0395_5b48_PANIC_3a_20Timer_20 +messages_lib/0396_281b_PANIC_3a_20buffer_2.rel + ___0396_281b_PANIC_3a_20buffer_2 +messages_lib/0397_f630_PAP_0a.rel + ___0397_f630_PAP_0a +messages_lib/0398_7868_PAP_20.rel + ___0398_7868_PAP_20 +messages_lib/0399_4af6_PAP_3a_20missing_20.rel + ___0399_4af6_PAP_3a_20missing_20 +messages_lib/039a_e6d7_PAP_3a_20no_20permi.rel + ___039a_e6d7_PAP_3a_20no_20permi +messages_lib/039b_02ce_PAP_3a_20username_2.rel + ___039b_02ce_PAP_3a_20username_2 +messages_lib/039c_cf4a_PAP_3a_20wrong_20ID.rel + ___039c_cf4a_PAP_3a_20wrong_20ID +messages_lib/039d_8063_PASS_20_25s.rel + ___039d_8063_PASS_20_25s +messages_lib/039e_2320_PI_20Board_20Statis.rel + ___039e_2320_PI_20Board_20Statis +messages_lib/039f_73f1_PI_3a_20DMA_20_25d_.rel + ___039f_73f1_PI_3a_20DMA_20_25d_ +messages_lib/03a0_5841_PI_3a_20DMA_20chann.rel + ___03a0_5841_PI_3a_20DMA_20chann +messages_lib/03a1_3992_PI_3a_20IRQ_20_25u_.rel + ___03a1_3992_PI_3a_20IRQ_20_25u_ +messages_lib/03a2_4ca4_PI_3a_20Interface_2.rel + ___03a2_4ca4_PI_3a_20Interface_2 +messages_lib/03a3_d856_PI_3a_20Maximum_20o.rel + ___03a3_d856_PI_3a_20Maximum_20o +messages_lib/03a4_9098_PI_3a_20Mode_20_25s.rel + ___03a4_9098_PI_3a_20Mode_20_25s +messages_lib/03a5_de39_PI_3a_20No_20IP_20a.rel + ___03a5_de39_PI_3a_20No_20IP_20a +messages_lib/03a6_02ea_PI_3a_20No_20memory.rel + ___03a6_02ea_PI_3a_20No_20memory +messages_lib/03a7_c0d0_PI_3a_20No_20memory.rel + ___03a7_c0d0_PI_3a_20No_20memory +messages_lib/03a8_94ca_PI_3a_20No_20memory.rel + ___03a8_94ca_PI_3a_20No_20memory +messages_lib/03a9_c698_PI_3a_20No_20memory.rel + ___03a9_c698_PI_3a_20No_20memory +messages_lib/03aa_d61f_PI_3a_20Set_20mycal.rel + ___03aa_d61f_PI_3a_20Set_20mycal +messages_lib/03ab_68d4_PID_20_20_20CS_3aIP.rel + ___03ab_68d4_PID_20_20_20CS_3aIP +messages_lib/03ac_3c62_POP_20access_20DENI.rel + ___03ac_3c62_POP_20access_20DENI +messages_lib/03ad_f3cf_POP_20access_20gran.rel + ___03ad_f3cf_POP_20access_20gran +messages_lib/03ae_639f_POP_20client_20retr.rel + ___03ae_639f_POP_20client_20retr +messages_lib/03af_e9bb_POP_20quiet.rel + ___03af_e9bb_POP_20quiet +messages_lib/03b0_1231_POP_20users_20file_.rel + ___03b0_1231_POP_20users_20file_ +messages_lib/03b1_e126_PORT_20_25u_2c_25u_.rel + ___03b1_e126_PORT_20_25u_2c_25u_ +messages_lib/03b2_b459_PPP_20tracing.rel + ___03b2_b459_PPP_20tracing +messages_lib/03b3_b660_PPP_3a_20len_20_253.rel + ___03b3_b660_PPP_3a_20len_20_253 +messages_lib/03b4_8c73_Packet_20driver_20h.rel + ___03b4_8c73_Packet_20driver_20h +messages_lib/03b5_e4a3_Pap_09.rel + ___03b5_e4a3_Pap_09 +messages_lib/03b6_d638_Pap_0a.rel + ___03b6_d638_Pap_0a +messages_lib/03b7_8165_Parameter_20_25s_20.rel + ___03b7_8165_Parameter_20_25s_20 +messages_lib/03b8_d275_Passively_20opening.rel + ___03b8_d275_Passively_20opening +messages_lib/03b9_85d2_Password_3a_20.rel + ___03b9_85d2_Password_3a_20 +messages_lib/03ba_cb37_Password_3a_20_25c_.rel + ___03ba_cb37_Password_3a_20_25c_ +messages_lib/03bb_6310_Path_3a_20.rel + ___03bb_6310_Path_3a_20 +messages_lib/03bc_2890_Peer_20requested_20.rel + ___03bc_2890_Peer_20requested_20 +messages_lib/03bd_f75b_Persistence_3a_20_2.rel + ___03bd_f75b_Persistence_3a_20_2 +messages_lib/03be_63e4_Physical_20Line_20D.rel + ___03be_63e4_Physical_20Line_20D +messages_lib/03bf_48f5_Physical_20layer_20.rel + ___03bf_48f5_Physical_20layer_20 +messages_lib/03c0_caac_Physical_20layer_20.rel + ___03c0_caac_Physical_20layer_20 +messages_lib/03c1_7bc8_Pinging_20_25s_0a.rel + ___03c1_7bc8_Pinging_20_25s_0a +messages_lib/03c2_94a5_Pinging_20resumed_0.rel + ___03c2_94a5_Pinging_20resumed_0 +messages_lib/03c3_7fa9_Pinging_20suspended.rel + ___03c3_7fa9_Pinging_20suspended +messages_lib/03c4_220f_Please_20hang_20up_.rel + ___03c4_220f_Please_20hang_20up_ +messages_lib/03c5_4304_Poll_20threshold_20.rel + ___03c5_4304_Poll_20threshold_20 +messages_lib/03c6_f8a0_Pool_20count_20_25s.rel + ___03c6_f8a0_Pool_20count_20_25s +messages_lib/03c7_dd4d_Protocol_20Field_20.rel + ___03c7_dd4d_Protocol_20Field_20 +messages_lib/03c8_c251_Protocol_20Reject.rel + ___03c8_c251_Protocol_20Reject +messages_lib/03c9_744a_QUIT_0a.rel + ___03c9_744a_QUIT_0a +messages_lib/03ca_43c0_Quality_20cannot_20.rel + ___03ca_43c0_Quality_20cannot_20 +messages_lib/03cb_b523_Queue_20limit_20_28.rel + ___03cb_b523_Queue_20limit_20_28 +messages_lib/03cc_4a0a_R_20numbers.rel + ___03cc_4a0a_R_20numbers +messages_lib/03cd_db0e_R_3a_25s_20_40_25s_.rel + ___03cd_db0e_R_3a_25s_20_40_25s_ +messages_lib/03ce_373f_REQUEST.rel + ___03ce_373f_REQUEST +messages_lib/03cf_19a4_RESPONSE.rel + ___03cf_19a4_RESPONSE +messages_lib/03d0_8b13_RETR_20_25s.rel + ___03d0_8b13_RETR_20_25s +messages_lib/03d1_86e9_RETURN_0a.rel + ___03d1_86e9_RETURN_0a +messages_lib/03d2_bbdb_RFrames_20_2d_20_25.rel + ___03d2_bbdb_RFrames_20_2d_20_25 +messages_lib/03d3_f9d6_RIP_20merging.rel + ___03d3_f9d6_RIP_20merging +messages_lib/03d4_3211_RIP_20refused_20fro.rel + ___03d4_3211_RIP_20refused_20fro +messages_lib/03d5_8827_RIP_20tracing.rel + ___03d5_8827_RIP_20tracing +messages_lib/03d6_5585_RIP_3a_20.rel + ___03d6_5585_RIP_3a_20 +messages_lib/03d7_fd1d_RIP_3a_20sent_20_25.rel + ___03d7_fd1d_RIP_3a_20sent_20_25 +messages_lib/03d8_6b7c_RIPCMD_3a_20Unknown.rel + ___03d8_6b7c_RIPCMD_3a_20Unknown +messages_lib/03d9_5f5f_RIPCMD_5fREQUEST_0a.rel + ___03d9_5f5f_RIPCMD_5fREQUEST_0a +messages_lib/03da_07f6_RIPCMD_5fRESPONSE_2.rel + ___03da_07f6_RIPCMD_5fRESPONSE_2 +messages_lib/03db_eb71_RIP_5frx_3a_20Not_2.rel + ___03db_eb71_RIP_5frx_3a_20Not_2 +messages_lib/03dc_86e6_RMD_20_25s.rel + ___03dc_86e6_RMD_20_25s +messages_lib/03dd_8005_Range_20for_20inter.rel + ___03dd_8005_Range_20for_20inter +messages_lib/03de_1ee5_Reassembly_20fragme.rel + ___03de_1ee5_Reassembly_20fragme +messages_lib/03df_fbe9_Reassembly_20queue_.rel + ___03df_fbe9_Reassembly_20queue_ +messages_lib/03e0_5eb3_Received_3a_20.rel + ___03e0_5eb3_Received_3a_20 +messages_lib/03e1_9fbc_Recording_20into_20.rel + ___03e1_9fbc_Recording_20into_20 +messages_lib/03e2_aa80_Recording_20off_0a.rel + ___03e2_aa80_Recording_20off_0a +messages_lib/03e3_2a15_Recv_3a_20_20_20_20.rel + ___03e3_2a15_Recv_3a_20_20_20_20 +messages_lib/03e4_d0ff_Refuse_0a.rel + ___03e4_d0ff_Refuse_0a +messages_lib/03e5_42c0_Refusing_20announce.rel + ___03e5_42c0_Refusing_20announce +messages_lib/03e6_3602_Remote_20host_20acc.rel + ___03e6_3602_Remote_20host_20acc +messages_lib/03e7_ba3a_Req_20Sent.rel + ___03e7_ba3a_Req_20Sent +messages_lib/03e8_8d50_Request_20retry_20e.rel + ___03e8_8d50_Request_20retry_20e +messages_lib/03e9_7be8_Request_20timeout.rel + ___03e9_7be8_Request_20timeout +messages_lib/03ea_6bd1_Requesting_2e_2e_2e.rel + ___03ea_6bd1_Requesting_2e_2e_2e +messages_lib/03eb_4784_Resolver_20_25s_20u.rel + ___03eb_4784_Resolver_20_25s_20u +messages_lib/03ec_ae52_Resolving_20_25s_2e.rel + ___03ec_ae52_Resolving_20_25s_2e +messages_lib/03ed_200a_Resolving_20_25s_2e.rel + ___03ed_200a_Resolving_20_25s_2e +messages_lib/03ee_cacc_Retry_20limit.rel + ___03ee_cacc_Retry_20limit +messages_lib/03ef_0cd3_Returned_20.rel + ___03ef_0cd3_Returned_20 +messages_lib/03f0_85af_Route_20add_20faile.rel + ___03f0_85af_Route_20add_20faile +messages_lib/03f1_9b70_Routing_20lookups_3.rel + ___03f1_9b70_Routing_20lookups_3 +messages_lib/03f2_9c01_Rxints_20_20_2d_20_.rel + ___03f2_9c01_Rxints_20_20_2d_20_ +messages_lib/03f3_ccf6_S_20_20_20_20_20Job.rel + ___03f3_ccf6_S_20_20_20_20_20Job +messages_lib/03f4_df6d_S_20command_20synta.rel + ___03f4_df6d_S_20command_20synta +messages_lib/03f5_4fbb_S_23_20_20_20Type_2.rel + ___03f5_4fbb_S_23_20_20_20Type_2 +messages_lib/03f6_bf54_SMTP_20_25s_20Conne.rel + ___03f6_bf54_SMTP_20_25s_20Conne +messages_lib/03f7_cbb7_SMTP_20batching.rel + ___03f7_cbb7_SMTP_20batching +messages_lib/03f8_e45f_SMTP_20client_20Try.rel + ___03f8_e45f_SMTP_20client_20Try +messages_lib/03f9_797a_SMTP_20sent_20job_2.rel + ___03f9_797a_SMTP_20sent_20job_2 +messages_lib/03fa_68b2_SMTP_20tracing.rel + ___03fa_68b2_SMTP_20tracing +messages_lib/03fb_e7a4_SP_20_3d_20_25p_2c_.rel + ___03fb_e7a4_SP_20_3d_20_25p_2c_ +messages_lib/03fc_a1f1_STOR_20_25s.rel + ___03fc_a1f1_STOR_20_25s +messages_lib/03fd_49fd_STOR_20_25s_0a.rel + ___03fd_49fd_STOR_20_25s_0a +messages_lib/03fe_38ea_STOR_20_25s_3a_20_2.rel + ___03fe_38ea_STOR_20_25s_3a_20_2 +messages_lib/03ff_12cc_STOR_20_25s_3a_20Er.rel + ___03ff_12cc_STOR_20_25s_3a_20Er +messages_lib/0400_cfe9_SUBCMD_20_2d_20Don_.rel + ___0400_cfe9_SUBCMD_20_2d_20Don_ +messages_lib/0401_0319_SYST_0a.rel + ___0401_0319_SYST_0a +messages_lib/0402_93fc_Same_0a.rel + ___0402_93fc_Same_0a +messages_lib/0403_3c55_Scroll_20file_20siz.rel + ___0403_3c55_Scroll_20file_20siz +messages_lib/0404_e255_Send_20file_2c_20_2.rel + ___0404_e255_Send_20file_2c_20_2 +messages_lib/0405_c1d8_Send_3a_20_2508lx_2.rel + ___0405_c1d8_Send_3a_20_2508lx_2 +messages_lib/0406_afab_Server_20address_20.rel + ___0406_afab_Server_20address_20 +messages_lib/0407_36ef_Session_20_25s_20no.rel + ___0407_36ef_Session_20_25s_20no +messages_lib/0408_0845_Slot_20time_3a_20_2.rel + ___0408_0845_Slot_20time_3a_20_2 +messages_lib/0409_6556_Socket_20not_20in_2.rel + ___0409_6556_Socket_20not_20in_2 +messages_lib/040a_a061_Sorry_20_2d_20the_2.rel + ___040a_a061_Sorry_20_2d_20the_2 +messages_lib/040b_8034_Stack_20violation_2.rel + ___040b_8034_Stack_20violation_2 +messages_lib/040c_d9c9_Start.rel + ___040c_d9c9_Start +messages_lib/040d_0d1f_Starting_20configur.rel + ___040d_0d1f_Starting_20configur +messages_lib/040e_6414_Station_20_20_20Las.rel + ___040e_6414_Station_20_20_20Las +messages_lib/040f_5bef_Station_20_20_20Las.rel + ___040f_5bef_Station_20_20_20Las +messages_lib/0410_9aef_Subject_3a_20_25s_0.rel + ___0410_9aef_Subject_3a_20_25s_0 +messages_lib/0411_0cac_System_20is_20overl.rel + ___0411_0cac_System_20is_20overl +messages_lib/0412_63e9_T_20hostname.rel + ___0412_63e9_T_20hostname +messages_lib/0413_1279_T1_3a_20.rel + ___0413_1279_T1_3a_20 +messages_lib/0414_a7c1_T3_3a_20.rel + ___0414_a7c1_T3_3a_20 +messages_lib/0415_e4a1_TACK_3a_20.rel + ___0415_e4a1_TACK_3a_20 +messages_lib/0416_7f7b_TCB_20_25p_20_25s_2.rel + ___0416_7f7b_TCB_20_25p_20_25s_2 +messages_lib/0417_5447_TCD_3a_20.rel + ___0417_5447_TCD_3a_20 +messages_lib/0418_fa23_TCP_20MSS.rel + ___0418_fa23_TCP_20MSS +messages_lib/0419_70e7_TCP_20default_20irt.rel + ___0419_70e7_TCP_20default_20irt +messages_lib/041a_5ac7_TCP_20header_20comp.rel + ___041a_5ac7_TCP_20header_20comp +messages_lib/041b_c668_TCP_20state_20traci.rel + ___041b_c668_TCP_20state_20traci +messages_lib/041c_b0d7_TCP_20syn_2bdata_20.rel + ___041c_b0d7_TCP_20syn_2bdata_20 +messages_lib/041d_43bd_TCP_20timestamps.rel + ___041d_43bd_TCP_20timestamps +messages_lib/041e_5b74_TCP_20window.rel + ___041e_5b74_TCP_20window +messages_lib/041f_7267_TCP_3a_20_25u_2d_3e.rel + ___041f_7267_TCP_3a_20_25u_2d_3e +messages_lib/0420_59c4_TChoke_3a_20.rel + ___0420_59c4_TChoke_3a_20 +messages_lib/0421_2ced_TX_20Delay_3a_20_25.rel + ___0421_2ced_TX_20Delay_3a_20_25 +messages_lib/0422_6a23_TX_20Tail_20time_3a.rel + ___0422_6a23_TX_20Tail_20time_3a +messages_lib/0423_d175_TX_20queue_20limit.rel + ___0423_d175_TX_20queue_20limit +messages_lib/0424_f579_TYPE_20A_0a.rel + ___0424_f579_TYPE_20A_0a +messages_lib/0425_3bb9_TYPE_20I_0a.rel + ___0425_3bb9_TYPE_20I_0a +messages_lib/0426_a616_TYPE_20L_20_25d_0a.rel + ___0426_a616_TYPE_20L_20_25d_0a +messages_lib/0427_f6fb_Target_20_20_20_20T.rel + ___0427_f6fb_Target_20_20_20_20T +messages_lib/0428_950b_Telnet_20option_20t.rel + ___0428_950b_Telnet_20option_20t +messages_lib/0429_16a0_TermSent.rel + ___0429_16a0_TermSent +messages_lib/042a_e674_Termin_20Ack.rel + ___042a_e674_Termin_20Ack +messages_lib/042b_678e_Termin_20Req.rel + ___042b_678e_Termin_20Req +messages_lib/042c_3a66_Terminate_20request.rel + ___042c_3a66_Terminate_20request +messages_lib/042d_b7ab_Terminate_20retry_2.rel + ___042d_b7ab_Terminate_20retry_2 +messages_lib/042e_ff4c_Terminated.rel + ___042e_ff4c_Terminated +messages_lib/042f_206b_Terminated_20unexpe.rel + ___042f_206b_Terminated_20unexpe +messages_lib/0430_73f9_Termination_20Phase.rel + ___0430_73f9_Termination_20Phase +messages_lib/0431_4517_Thank_20you_20_25s_.rel + ___0431_4517_Thank_20you_20_25s_ +messages_lib/0432_70f0_The_20escape_20char.rel + ___0432_70f0_The_20escape_20char +messages_lib/0433_6de0_Time_20for_201000_2.rel + ___0433_6de0_Time_20for_201000_2 +messages_lib/0434_601a_Time_20to_20live.rel + ___0434_601a_Time_20to_20live +messages_lib/0435_12d5_Timeout.rel + ___0435_12d5_Timeout +messages_lib/0436_e505_Timeout_20value_20_.rel + ___0436_e505_Timeout_20value_20_ +messages_lib/0437_1db3_Timer_20_20_20_20_2.rel + ___0437_1db3_Timer_20_20_20_20_2 +messages_lib/0438_d78a_Tip_20connection_20.rel + ___0438_d78a_Tip_20connection_20 +messages_lib/0439_c093_Tip_20session_20alr.rel + ___0439_c093_Tip_20session_20alr +messages_lib/043a_8c54_To_3a_20_25s_0a.rel + ___043a_8c54_To_3a_20_25s_0a +messages_lib/043b_a093_Too_20few_20argumen.rel + ___043b_a093_Too_20few_20argumen +messages_lib/043c_2a55_Too_20many_20HAPN_2.rel + ___043c_2a55_Too_20many_20HAPN_2 +messages_lib/043d_76b7_Too_20many_20asynch.rel + ___043d_76b7_Too_20many_20asynch +messages_lib/043e_58f2_Too_20many_20digipe.rel + ___043e_58f2_Too_20many_20digipe +messages_lib/043f_2d53_Too_20many_20hs_20c.rel + ___043f_2d53_Too_20many_20hs_20c +messages_lib/0440_286c_Too_20many_20mailbo.rel + ___0440_286c_Too_20many_20mailbo +messages_lib/0441_4c9a_Too_20many_20nrs_20.rel + ___0441_4c9a_Too_20many_20nrs_20 +messages_lib/0442_7103_Too_20many_20packet.rel + ___0442_7103_Too_20many_20packet +messages_lib/0443_d8c3_Too_20many_20pc100_.rel + ___0443_d8c3_Too_20many_20pc100_ +messages_lib/0444_2057_Too_20many_20sessio.rel + ___0444_2057_Too_20many_20sessio +messages_lib/0445_447c_Too_20many_20slip_2.rel + ___0445_447c_Too_20many_20slip_2 +messages_lib/0446_0d8c_Try_20to_20bounce_2.rel + ___0446_0d8c_Try_20to_20bounce_2 +messages_lib/0447_2030_Trying_20_25s_2e_2e.rel + ___0447_2030_Trying_20_25s_2e_2e +messages_lib/0448_cee2_Trying_20_25s_2e_2e.rel + ___0448_cee2_Trying_20_25s_2e_2e +messages_lib/0449_be29_Trying_20Connection.rel + ___0449_be29_Trying_20Connection +messages_lib/044a_9c56_Tstate_20_3d_20_25s.rel + ___044a_9c56_Tstate_20_3d_20_25s +messages_lib/044b_6afe_Turn_20off_20local_.rel + ___044b_6afe_Turn_20off_20local_ +messages_lib/044c_c801_Tx_20state_20_20_25.rel + ___044c_c801_Tx_20state_20_20_25 +messages_lib/044d_be1b_Tx_20state_20_20_25.rel + ___044d_be1b_Tx_20state_20_20_25 +messages_lib/044e_e1f6_TxBuffers_3a_20_20S.rel + ___044e_e1f6_TxBuffers_3a_20_20S +messages_lib/044f_5cfe_Txdefer_20_2d_20_25.rel + ___044f_5cfe_Txdefer_20_2d_20_25 +messages_lib/0450_e733_U_20filename.rel + ___0450_e733_U_20filename +messages_lib/0451_9059_UDP_3a.rel + ___0451_9059_UDP_3a +messages_lib/0452_a945_USER_20_25s.rel + ___0452_a945_USER_20_25s +messages_lib/0453_790d_Uncompressed_20TCP_.rel + ___0453_790d_Uncompressed_20TCP_ +messages_lib/0454_6947_Uncompressed_20TCP_.rel + ___0454_6947_Uncompressed_20TCP_ +messages_lib/0455_41aa_Unknown_20command.rel + ___0455_41aa_Unknown_20command +messages_lib/0456_e21a_Unknown_20command_2.rel + ___0456_e21a_Unknown_20command_2 +messages_lib/0457_b975_Unknown_20command_3.rel + ___0457_b975_Unknown_20command_3 +messages_lib/0458_d2a4_Unknown_20encapsula.rel + ___0458_d2a4_Unknown_20encapsula +messages_lib/0459_8cf4_Unknown_20parameter.rel + ___0459_8cf4_Unknown_20parameter +messages_lib/045a_eb24_Update_20with_20MD5.rel + ___045a_eb24_Update_20with_20MD5 +messages_lib/045b_7d7d_Uploading_20_25s_0a.rel + ___045b_7d7d_Uploading_20_25s_0a +messages_lib/045c_bd81_Uploading_20off_0a.rel + ___045c_bd81_Uploading_20off_0a +messages_lib/045d_6d70_Uptime_20_25s_20Sta.rel + ___045d_6d70_Uptime_20_25s_20Sta +messages_lib/045e_0a8d_Usage_3a_20.rel + ___045e_0a8d_Usage_3a_20 +messages_lib/045f_125c_Usage_3a_20_25s_20_.rel + ___045f_125c_Usage_3a_20_25s_20_ +messages_lib/0460_6ae1_Usage_3a_20F_20user.rel + ___0460_6ae1_Usage_3a_20F_20user +messages_lib/0461_7dd1_Usage_3a_20ax25_20r.rel + ___0461_7dd1_Usage_3a_20ax25_20r +messages_lib/0462_685b_Usage_3a_20dial_20_.rel + ___0462_685b_Usage_3a_20dial_20_ +messages_lib/0463_a375_Usage_3a_20mbox_20m.rel + ___0463_a375_Usage_3a_20mbox_20m +messages_lib/0464_8cfb_Usage_3a_20pop_20us.rel + ___0464_8cfb_Usage_3a_20pop_20us +messages_lib/0465_a2c0_Usage_3a_20smtp_20m.rel + ___0465_a2c0_Usage_3a_20smtp_20m +messages_lib/0466_9654_Use_20the_20ax25_20.rel + ___0466_9654_Use_20the_20ax25_20 +messages_lib/0467_4893_User_20_20_20_20_20.rel + ___0467_4893_User_20_20_20_20_20 +messages_lib/0468_633f_User_20_25s_20not_2.rel + ___0468_633f_User_20_25s_20not_2 +messages_lib/0469_75ef_V_20numbers.rel + ___0469_75ef_V_20numbers +messages_lib/046a_4b9d_VJ_20Compressed_20T.rel + ___046a_4b9d_VJ_20Compressed_20T +messages_lib/046b_2be9_VJ_20Uncompressed_2.rel + ___046b_2be9_VJ_20Uncompressed_2 +messages_lib/046c_3d32_Valid_20options_3a.rel + ___046c_3d32_Valid_20options_3a +messages_lib/046d_8007_Value_20_25s_20_28_.rel + ___046d_8007_Value_20_25s_20_28_ +messages_lib/046e_c8df_Verbose.rel + ___046e_c8df_Verbose +messages_lib/046f_32ff_Verbose_20flag.rel + ___046f_32ff_Verbose_20flag +messages_lib/0470_b110_WARNING_3a_20Locati.rel + ___0470_b110_WARNING_3a_20Locati +messages_lib/0471_eddf_Warning_21_20Interf.rel + ___0471_eddf_Warning_21_20Interf +messages_lib/0472_4457_Warning_3a_20type_2.rel + ___0472_4457_Warning_3a_20type_2 +messages_lib/0473_5d14_We_20accepted_20rem.rel + ___0473_5d14_We_20accepted_20rem +messages_lib/0474_85a8_Window_20_28frames_.rel + ___0474_85a8_Window_20_28frames_ +messages_lib/0475_9331_Window_20size_20_28.rel + ___0475_9331_Window_20size_20_28 +messages_lib/0476_613d_Window_3a_20_25_2d5.rel + ___0476_613d_Window_3a_20_25_2d5 +messages_lib/0477_25a6_Wink_20DTR_3f_20.rel + ___0477_25a6_Wink_20DTR_3f_20 +messages_lib/0478_75b2_Writing_20article_2.rel + ___0478_75b2_Writing_20article_2 +messages_lib/0479_3999_XMD5_20_25s.rel + ___0479_3999_XMD5_20_25s +messages_lib/047a_a62b_XMD5_20_25s_0a.rel + ___047a_a62b_XMD5_20_25s_0a +messages_lib/047b_8515_XMKD_20_25s_0a.rel + ___047b_8515_XMKD_20_25s_0a +messages_lib/047c_31d2_XRMD_20_25s_0a.rel + ___047c_31d2_XRMD_20_25s_0a +messages_lib/047d_e80a_Yes_20.rel + ___047d_e80a_Yes_20 +messages_lib/047e_71c6_You_20have_20.rel + ___047e_71c6_You_20have_20 +messages_lib/047f_1e66_You_20have_20new_20.rel + ___047f_1e66_You_20have_20new_20 +messages_lib/0480_4583_You_27re_20using_20.rel + ___0480_4583_You_27re_20using_20 +messages_lib/0481_4aef_Z_20filename.rel + ___0481_4aef_Z_20filename +messages_lib/0482_5fd7_Zap_20failed_3a_20_.rel + ___0482_5fd7_Zap_20failed_3a_20_ +messages_lib/0483_e3d1__5b.rel + ___0483_e3d1__5b +messages_lib/0484_9d9c__5bNET_2dHMR_24_5d.rel + ___0484_9d9c__5bNET_2dHMR_24_5d +messages_lib/0485_f8e4__5bunknown_5d.rel + ___0485_f8e4__5bunknown_5d +messages_lib/0486_699f__5eC_0a.rel + ___0486_699f__5eC_0a +messages_lib/0487_e5d6__5eR_0a.rel + ___0487_e5d6__5eR_0a +messages_lib/0488_1951__5fexit.rel + ___0488_1951__5fexit +messages_lib/0489_a314__5ffcreat_3a_20WARN.rel + ___0489_a314__5ffcreat_3a_20WARN +messages_lib/048a_79de__5funlink_3a_20bad_.rel + ___048a_79de__5funlink_3a_20bad_ +messages_lib/048b_722b_accept.rel + ___048b_722b_accept +messages_lib/048c_30f9_accept_0a.rel + ___048c_30f9_accept_0a +messages_lib/048d_2cfc_access.rel + ___048d_2cfc_access +messages_lib/048e_9b89_accm.rel + ___048e_9b89_accm +messages_lib/048f_16c9_acct.rel + ___048f_16c9_acct +messages_lib/0490_0c4f_acfc.rel + ___0490_0c4f_acfc +messages_lib/0491_7530_acktime.rel + ___0491_7530_acktime +messages_lib/0492_41b5_add.rel + ___0492_41b5_add +messages_lib/0493_d8a3_add_20_3chostid_3e.rel + ___0493_d8a3_add_20_3chostid_3e +messages_lib/0494_6783_addprivate.rel + ___0494_6783_addprivate +messages_lib/0495_9712_address.rel + ___0495_9712_address +messages_lib/0496_2c42_addserver.rel + ___0496_2c42_addserver +messages_lib/0497_b0a9_alarm.rel + ___0497_b0a9_alarm +messages_lib/0498_4d36_allocatepid_28_29_2.rel + ___0498_4d36_allocatepid_28_29_2 +messages_lib/0499_7b67_allocatepid_280x_25.rel + ___0499_7b67_allocatepid_280x_25 +messages_lib/049a_9965_allocs_20_25lu_20fr.rel + ___049a_9965_allocs_20_25lu_20fr +messages_lib/049b_d5e4_allow.rel + ___049b_d5e4_allow +messages_lib/049c_8e82_allow_20pap_20none_.rel + ___049c_8e82_allow_20pap_20none_ +messages_lib/049d_ba08_allow_20tcp_20none_.rel + ___049d_ba08_allow_20tcp_20none_ +messages_lib/049e_94f6_anext_20pointer_20o.rel + ___049e_94f6_anext_20pointer_20o +messages_lib/049f_c2a0_answer_20script_3a_.rel + ___049f_c2a0_answer_20script_3a_ +messages_lib/04a0_da7c_area.rel + ___04a0_da7c_area +messages_lib/04a1_1dde_arp_20add_20_3chost.rel + ___04a1_1dde_arp_20add_20_3chost +messages_lib/04a2_96ce_arp_20drop_20_3chos.rel + ___04a2_96ce_arp_20drop_20_3chos +messages_lib/04a3_0018_arp_20publish_20_3c.rel + ___04a3_0018_arp_20publish_20_3c +messages_lib/04a4_5838_asci.rel + ___04a4_5838_asci +messages_lib/04a5_4354_ascii.rel + ___04a5_4354_ascii +messages_lib/04a6_3914_ascistat.rel + ___04a6_3914_ascistat +messages_lib/04a7_6442_attach.rel + ___04a7_6442_attach +messages_lib/04a8_39bc_attach_20_3chardwar.rel + ___04a8_39bc_attach_20_3chardwar +messages_lib/04a9_fe98_attach_20asci_20_3c.rel + ___04a9_fe98_attach_20asci_20_3c +messages_lib/04aa_093e_attach_20escc_20_3c.rel + ___04aa_093e_attach_20escc_20_3c +messages_lib/04ab_7943_attempt_20to_20writ.rel + ___04ab_7943_attempt_20to_20writ +messages_lib/04ac_7d37_attend.rel + ___04ac_7d37_attend +messages_lib/04ad_c133_authenticate.rel + ___04ad_c133_authenticate +messages_lib/04ae_fd47_ax25_20kick_20_3cax.rel + ___04ae_fd47_ax25_20kick_20_3cax +messages_lib/04af_0003_ax25_20reset_20_3ca.rel + ___04af_0003_ax25_20reset_20_3ca +messages_lib/04b0_9171_bad_20IP_20packet.rel + ___04b0_9171_bad_20IP_20packet +messages_lib/04b1_ca0a_bad_20destination_2.rel + ___04b1_ca0a_bad_20destination_2 +messages_lib/04b2_60d3_bad_20internet_20ad.rel + ___04b2_60d3_bad_20internet_20ad +messages_lib/04b3_0a79_bad_20neighbor_20ca.rel + ___04b3_0a79_bad_20neighbor_20ca +messages_lib/04b4_4126_batch.rel + ___04b4_4126_batch +messages_lib/04b5_bcb6_bcnodes.rel + ___04b5_bcb6_bcnodes +messages_lib/04b6_0c93_begin_20_2503o_20_2.rel + ___04b6_0c93_begin_20_2503o_20_2 +messages_lib/04b7_50c4_bfind_28_25u_2c_20_.rel + ___04b7_50c4_bfind_28_25u_2c_20_ +messages_lib/04b8_0a46_bfind_28_29_20retur.rel + ___04b8_0a46_bfind_28_29_20retur +messages_lib/04b9_f1cc_bfind_28_29_20retur.rel + ___04b9_f1cc_bfind_28_29_20retur +messages_lib/04ba_e2d4_bfree_28_29_20retur.rel + ___04ba_e2d4_bfree_28_29_20retur +messages_lib/04bb_e703_bfree_28_29_20retur.rel + ___04bb_e703_bfree_28_29_20retur +messages_lib/04bc_4466_bfree_280x_25x_2c_2.rel + ___04bc_4466_bfree_280x_25x_2c_2 +messages_lib/04bd_3245_binary.rel + ___04bd_3245_binary +messages_lib/04be_4c4f_blimit.rel + ___04be_4c4f_blimit +messages_lib/04bf_c307_blk_5falloc_28_29_2.rel + ___04bf_c307_blk_5falloc_28_29_2 +messages_lib/04c0_b0c8_bmap_28_29_20return.rel + ___04c0_b0c8_bmap_28_29_20return +messages_lib/04c1_bbcb_bmap_28_29_20return.rel + ___04c1_bbcb_bmap_28_29_20return +messages_lib/04c2_46ee_bmap_28_29_20return.rel + ___04c2_46ee_bmap_28_29_20return +messages_lib/04c3_7681_bmap_280x_25x_2c_20.rel + ___04c3_7681_bmap_280x_25x_2c_20 +messages_lib/04c4_ff8d_bootp_20_5bnet_5fna.rel + ___04c4_ff8d_bootp_20_5bnet_5fna +messages_lib/04c5_0e8f_bootp_3a_20Net_5fer.rel + ___04c5_0e8f_bootp_3a_20Net_5fer +messages_lib/04c6_f5d9_bootp_3a_20timed_20.rel + ___04c6_f5d9_bootp_3a_20timed_20 +messages_lib/04c7_72d6_bp_20_25lx_20tot_20.rel + ___04c7_72d6_bp_20_25lx_20tot_20 +messages_lib/04c8_88ea_bread_28_25u_2c_20_.rel + ___04c8_88ea_bread_28_25u_2c_20_ +messages_lib/04c9_89e2_bread_28_29_20retur.rel + ___04c9_89e2_bread_28_29_20retur +messages_lib/04ca_7a66_bread_28_29_20retur.rel + ___04ca_7a66_bread_28_29_20retur +messages_lib/04cb_9767_brk.rel + ___04cb_9767_brk +messages_lib/04cc_f951_broadcast.rel + ___04cc_f951_broadcast +messages_lib/04cd_03ff_bsr.rel + ___04cd_03ff_bsr +messages_lib/04ce_d194_bufsync_28_29_20ret.rel + ___04ce_d194_bufsync_28_29_20ret +messages_lib/04cf_606b_bufsync_28_29_20sta.rel + ___04cf_606b_bufsync_28_29_20sta +messages_lib/04d0_83e6_by_20_25s_20_28_25s.rel + ___04d0_83e6_by_20_25s_20_28_25s +messages_lib/04d1_69f3_by_20_25s_20with_20.rel + ___04d1_69f3_by_20_25s_20with_20 +messages_lib/04d2_9ab1_bye.rel + ___04d2_9ab1_bye +messages_lib/04d3_7cbf_cache.rel + ___04d3_7cbf_cache +messages_lib/04d4_a3a9_can_27t_20read_20_2.rel + ___04d4_a3a9_can_27t_20read_20_2 +messages_lib/04d5_f4b4_can_27t_20trace_20i.rel + ___04d5_f4b4_can_27t_20trace_20i +messages_lib/04d6_9aa7_cd.rel + ___04d6_9aa7_cd +messages_lib/04d7_42c2_cd_20_3cdirectory_3.rel + ___04d7_42c2_cd_20_3cdirectory_3 +messages_lib/04d8_8b51_ch_5flink_28_29_20r.rel + ___04d8_8b51_ch_5flink_28_29_20r +messages_lib/04d9_30ce_ch_5flink_28_29_20r.rel + ___04d9_30ce_ch_5flink_28_29_20r +messages_lib/04da_7c72_ch_5flink_280x_25x_.rel + ___04da_7c72_ch_5flink_280x_25x_ +messages_lib/04db_35a9_chat.rel + ___04db_35a9_chat +messages_lib/04dc_743f_chdir.rel + ___04dc_743f_chdir +messages_lib/04dd_5ed3_check.rel + ___04dd_5ed3_check +messages_lib/04de_40b3_check_20_3chost_3e.rel + ___04de_40b3_check_20_3chost_3e +messages_lib/04df_4a64_checksum_20error.rel + ___04df_4a64_checksum_20error +messages_lib/04e0_c946_chmod.rel + ___04e0_c946_chmod +messages_lib/04e1_b786_choketime.rel + ___04e1_b786_choketime +messages_lib/04e2_88f5_chown.rel + ___04e2_88f5_chown +messages_lib/04e3_87a8_chroot.rel + ___04e3_87a8_chroot +messages_lib/04e4_4822_clean.rel + ___04e4_4822_clean +messages_lib/04e5_23aa_close.rel + ___04e5_23aa_close +messages_lib/04e6_2b22_close_20FTP.rel + ___04e6_2b22_close_20FTP +messages_lib/04e7_f93d_close_20Finger.rel + ___04e7_f93d_close_20Finger +messages_lib/04e8_0957_close_20POP.rel + ___04e8_0957_close_20POP +messages_lib/04e9_b85c_close_20POP_20_2d_2.rel + ___04e9_b85c_close_20POP_20_2d_2 +messages_lib/04ea_83a3_close_20SMTP.rel + ___04ea_83a3_close_20SMTP +messages_lib/04eb_b949_close_20SMTP_20_2d_.rel + ___04eb_b949_close_20SMTP_20_2d_ +messages_lib/04ec_423c_close_20discard.rel + ___04ec_423c_close_20discard +messages_lib/04ed_419d_close_20echo.rel + ___04ed_419d_close_20echo +messages_lib/04ee_03ad_close_20term.rel + ___04ee_03ad_close_20term +messages_lib/04ef_83dc_code_20_25u_20arg_2.rel + ___04ef_83dc_code_20_25u_20arg_2 +messages_lib/04f0_ea90_compare.rel + ___04f0_ea90_compare +messages_lib/04f1_a613_compare_20_3cremote.rel + ___04f1_a613_compare_20_3cremote +messages_lib/04f2_fbc2_compress.rel + ___04f2_fbc2_compress +messages_lib/04f3_3845_compressed_20.rel + ___04f3_3845_compressed_20 +messages_lib/04f4_26b1_configure.rel + ___04f4_26b1_configure +messages_lib/04f5_749f_connect.rel + ___04f5_749f_connect +messages_lib/04f6_5769_control.rel + ___04f6_5769_control +messages_lib/04f7_a93e_control_20up_7cdown.rel + ___04f7_a93e_control_20up_7cdown +messages_lib/04f8_2aba_control_3a_20_25s_0.rel + ___04f8_2aba_control_3a_20_25s_0 +messages_lib/04f9_4bf4_cwd.rel + ___04f9_4bf4_cwd +messages_lib/04fa_62af_d_5finit_28_29.rel + ___04fa_62af_d_5finit_28_29 +messages_lib/04fb_5a9b_d_5finit_28_29_20ma.rel + ___04fb_5a9b_d_5finit_28_29_20ma +messages_lib/04fc_62a8_debug.rel + ___04fc_62a8_debug +messages_lib/04fd_740d_default.rel + ___04fd_740d_default +messages_lib/04fe_db45_defaultfile.rel + ___04fe_db45_defaultfile +messages_lib/04ff_818b_delay_20_25lu_0a.rel + ___04ff_818b_delay_20_25lu_0a +messages_lib/0500_2c87_dele.rel + ___0500_2c87_dele +messages_lib/0501_89a5_delete.rel + ___0501_89a5_delete +messages_lib/0502_3919_delete_20_3cfile_3e.rel + ___0502_3919_delete_20_3cfile_3e +messages_lib/0503_3d2c_deliberate_20cancel.rel + ___0503_3d2c_deliberate_20cancel +messages_lib/0504_f9d2_delptab_28_29_20ret.rel + ___0504_f9d2_delptab_28_29_20ret +messages_lib/0505_748e_delptab_28_29_20sta.rel + ___0505_748e_delptab_28_29_20sta +messages_lib/0506_6466_destlist.rel + ___0506_6466_destlist +messages_lib/0507_cfc1_detach.rel + ___0507_cfc1_detach +messages_lib/0508_26f3_detach_20_3cinterfa.rel + ___0508_26f3_detach_20_3cinterfa +messages_lib/0509_3f12_devio_5fgarbage_3a_.rel + ___0509_3f12_devio_5fgarbage_3a_ +messages_lib/050a_0f61_dfile_5fsearch_3a_2.rel + ___050a_0f61_dfile_5fsearch_3a_2 +messages_lib/050b_4eba_dfile_5fupdate_3a_2.rel + ___050b_4eba_dfile_5fupdate_3a_2 +messages_lib/050c_5b47_dfile_5fupdate_3a_2.rel + ___050c_5b47_dfile_5fupdate_3a_2 +messages_lib/050d_ef06_dfile_5fupdate_3a_2.rel + ___050d_ef06_dfile_5fupdate_3a_2 +messages_lib/050e_0173_dialer.rel + ___050e_0173_dialer +messages_lib/050f_8d0b_dialer_20_3ciface_3.rel + ___050f_8d0b_dialer_20_3ciface_3 +messages_lib/0510_18c3_digipeat.rel + ___0510_18c3_digipeat +messages_lib/0511_bdc7_dir.rel + ___0511_bdc7_dir +messages_lib/0512_5c0a_directory.rel + ___0512_5c0a_directory +messages_lib/0513_176f_discard.rel + ___0513_176f_discard +messages_lib/0514_684a_discard_20expired_2.rel + ___0514_684a_discard_20expired_2 +messages_lib/0515_f701_disconnect.rel + ___0515_f701_disconnect +messages_lib/0516_e146_dns.rel + ___0516_e146_dns +messages_lib/0517_8f79_dns_5fquery_3a_20qu.rel + ___0517_8f79_dns_5fquery_3a_20qu +messages_lib/0518_6da5_dns_5fquery_3a_20re.rel + ___0518_6da5_dns_5fquery_3a_20re +messages_lib/0519_041c_doexit_3a_20won_27t.rel + ___0519_041c_doexit_3a_20won_27t +messages_lib/051a_21ed_domain.rel + ___051a_21ed_domain +messages_lib/051b_e0fd_down_20script_3a_20.rel + ___051b_e0fd_down_20script_3a_20 +messages_lib/051c_050c_download.rel + ___051c_050c_download +messages_lib/051d_4853_drop.rel + ___051d_4853_drop +messages_lib/051e_0532_drop_20_3chostid_3e.rel + ___051e_0532_drop_20_3chostid_3e +messages_lib/051f_e7cf_dropserver.rel + ___051f_e7cf_dropserver +messages_lib/0520_a2e4_dup.rel + ___0520_a2e4_dup +messages_lib/0521_b319_dup2.rel + ___0521_b319_dup2 +messages_lib/0522_cb91_dynip.rel + ___0522_cb91_dynip +messages_lib/0523_2edf_echo.rel + ___0523_2edf_echo +messages_lib/0524_7366_empty_20packet_21_2.rel + ___0524_7366_empty_20packet_21_2 +messages_lib/0525_48fd_encapsulation.rel + ___0525_48fd_encapsulation +messages_lib/0526_4a34_eol.rel + ___0526_4a34_eol +messages_lib/0527_b4ae_escape.rel + ___0527_b4ae_escape +messages_lib/0528_858e_escc.rel + ___0528_858e_escc +messages_lib/0529_d50a_escc_25d_3a_20No_20.rel + ___0529_d50a_escc_25d_3a_20No_20 +messages_lib/052a_6362_esccstat.rel + ___052a_6362_esccstat +messages_lib/052b_59b0_execve.rel + ___052b_59b0_execve +messages_lib/052c_3566_exit.rel + ___052c_3566_exit +messages_lib/052d_bd2b_expired.rel + ___052d_bd2b_expired +messages_lib/052e_bf9b_f_5ftrunc_28_29_20r.rel + ___052e_bf9b_f_5ftrunc_28_29_20r +messages_lib/052f_687d_f_5ftrunc_280x_25x_.rel + ___052f_687d_f_5ftrunc_280x_25x_ +messages_lib/0530_bce0_failure.rel + ___0530_bce0_failure +messages_lib/0531_086a_falign.rel + ___0531_086a_falign +messages_lib/0532_303b_files.rel + ___0532_303b_files +messages_lib/0533_d461_filesys_5fdoclose_2.rel + ___0533_d461_filesys_5fdoclose_2 +messages_lib/0534_661c_filesys_5fdoclose_2.rel + ___0534_661c_filesys_5fdoclose_2 +messages_lib/0535_8db4_filesys_5fdoclose_2.rel + ___0535_8db4_filesys_5fdoclose_2 +messages_lib/0536_d6a7_filter_20mode_20is_.rel + ___0536_d6a7_filter_20mode_20is_ +messages_lib/0537_e04d_findprocess_28_25d_.rel + ___0537_e04d_findprocess_28_25d_ +messages_lib/0538_1164_findprocess_28_29_2.rel + ___0538_1164_findprocess_28_29_2 +messages_lib/0539_9bc0_findprocess_28_29_2.rel + ___0539_9bc0_findprocess_28_29_2 +messages_lib/053a_927a_finger.rel + ___053a_927a_finger +messages_lib/053b_8ea1_finger_20name_40hos.rel + ___053b_8ea1_finger_20name_40hos +messages_lib/053c_28f4_flush.rel + ___053c_28f4_flush +messages_lib/053d_db22_fmount_28_25d_2c_20.rel + ___053d_db22_fmount_28_25d_2c_20 +messages_lib/053e_9479_fmount_28_29_20retu.rel + ___053e_9479_fmount_28_29_20retu +messages_lib/053f_d221_fmount_28_29_20retu.rel + ___053f_d221_fmount_28_29_20retu +messages_lib/0540_dc8b_fmount_3a_20can_27t.rel + ___0540_dc8b_fmount_3a_20can_27t +messages_lib/0541_cf48_force.rel + ___0541_cf48_force +messages_lib/0542_7349_force_20up_7cdown.rel + ___0542_7349_force_20up_7cdown +messages_lib/0543_8074_fork.rel + ___0543_8074_fork +messages_lib/0544_a19b_forkprocess_28_29_2.rel + ___0544_a19b_forkprocess_28_29_2 +messages_lib/0545_9408_forkprocess_28_29_2.rel + ___0545_9408_forkprocess_28_29_2 +messages_lib/0546_9eb7_forkprocess_280x_25.rel + ___0546_9eb7_forkprocess_280x_25 +messages_lib/0547_8227_forward.rel + ___0547_8227_forward +messages_lib/0548_c066_fp_20_20_20_20_20_2.rel + ___0548_c066_fp_20_20_20_20_20_2 +messages_lib/0549_9a2a_free_3a_20WARNING_2.rel + ___0549_9a2a_free_3a_20WARNING_2 +messages_lib/054a_13ec_freeblk_28_25u_2c_2.rel + ___054a_13ec_freeblk_28_25u_2c_2 +messages_lib/054b_bc64_freeblk_28_29_20ret.rel + ___054b_bc64_freeblk_28_29_20ret +messages_lib/054c_3018_freeblk_28_29_20ret.rel + ___054c_3018_freeblk_28_29_20ret +messages_lib/054d_4c13_freebuf_28_25u_29_2.rel + ___054d_4c13_freebuf_28_25u_29_2 +messages_lib/054e_0c86_freebuf_28_29_20ret.rel + ___054e_0c86_freebuf_28_29_20ret +messages_lib/054f_f896_freelist.rel + ___054f_f896_freelist +messages_lib/0550_bd4f_from_20_25s_20.rel + ___0550_bd4f_from_20_25s_20 +messages_lib/0551_5b02_from_20_25s_2ebbs_2.rel + ___0551_5b02_from_20_25s_2ebbs_2 +messages_lib/0552_2208_fs_5finit_28_29.rel + ___0552_2208_fs_5finit_28_29 +messages_lib/0553_0372_fsm_5finit_28_29.rel + ___0553_0372_fsm_5finit_28_29 +messages_lib/0554_914a_fsm_5fno_5faction_2.rel + ___0554_914a_fsm_5fno_5faction_2 +messages_lib/0555_f286_fsm_5fno_5fcheck_28.rel + ___0555_f286_fsm_5fno_5fcheck_28 +messages_lib/0556_1a51_fsm_5freset_28_29.rel + ___0556_1a51_fsm_5freset_28_29 +messages_lib/0557_1515_fsm_5fsendreq_28_29.rel + ___0557_1515_fsm_5fsendreq_28_29 +messages_lib/0558_5109_fsm_5fsendtermack_2.rel + ___0558_5109_fsm_5fsendtermack_2 +messages_lib/0559_45f0_fsm_5fsendtermreq_2.rel + ___0559_45f0_fsm_5fsendtermreq_2 +messages_lib/055a_7049_fsm_5ftimer_28_29.rel + ___055a_7049_fsm_5ftimer_28_29 +messages_lib/055b_88d9_fsp_200x_25x_20s_5f.rel + ___055b_88d9_fsp_200x_25x_20s_5f +messages_lib/055c_7fbc_fstat.rel + ___055c_7fbc_fstat +messages_lib/055d_0e84_ftp.rel + ___055d_0e84_ftp +messages_lib/055e_bafd_ftp_20_3caddress_3e.rel + ___055e_bafd_ftp_20_3caddress_3e +messages_lib/055f_f999_ftp_3e_20syst_0a.rel + ___055f_f999_ftp_3e_20syst_0a +messages_lib/0560_51ba_garbage_20collectio.rel + ___0560_51ba_garbage_20collectio +messages_lib/0561_c2ce_gateway.rel + ___0561_c2ce_gateway +messages_lib/0562_9e35_get.rel + ___0562_9e35_get +messages_lib/0563_c7c0_get_20_3cremotefile.rel + ___0563_c7c0_get_20_3cremotefile +messages_lib/0564_60c5_getfsys.rel + ___0564_60c5_getfsys +messages_lib/0565_631b_getinode_3a_20bad_2.rel + ___0565_631b_getinode_3a_20bad_2 +messages_lib/0566_7dac_getset.rel + ___0566_7dac_getset +messages_lib/0567_74d1_getting_20block_20_.rel + ___0567_74d1_getting_20block_20_ +messages_lib/0568_b3cb_groups.rel + ___0568_b3cb_groups +messages_lib/0569_156e_hash.rel + ___0569_156e_hash +messages_lib/056a_5bc8_heap_20size_20_25lu.rel + ___056a_5bc8_heap_20size_20_25lu +messages_lib/056b_856f_heard.rel + ___056b_856f_heard +messages_lib/056c_fc9f_help.rel + ___056c_fc9f_help +messages_lib/056d_1d5e_homedir.rel + ___056d_1d5e_homedir +messages_lib/056e_6fa6_hop.rel + ___056e_6fa6_hop +messages_lib/056f_df98_host.rel + ___056f_df98_host +messages_lib/0570_476e_hostname.rel + ___0570_476e_hostname +messages_lib/0571_001d_i_5fopen_28_25u_2c_.rel + ___0571_001d_i_5fopen_28_25u_2c_ +messages_lib/0572_e51c_i_5fopen_28_29_20re.rel + ___0572_e51c_i_5fopen_28_29_20re +messages_lib/0573_64fb_i_5fopen_28_29_20re.rel + ___0573_64fb_i_5fopen_28_29_20re +messages_lib/0574_2f25_icmp.rel + ___0574_2f25_icmp +messages_lib/0575_6bae_id_20mismatch_20hdr.rel + ___0575_6bae_id_20mismatch_20hdr +messages_lib/0576_dd41_ident.rel + ___0576_dd41_ident +messages_lib/0577_fe83_ifconfig.rel + ___0577_fe83_ifconfig +messages_lib/0578_6196_ignored_20_28hold_2.rel + ___0578_6196_ignored_20_28hold_2 +messages_lib/0579_dc84_info.rel + ___0579_dc84_info +messages_lib/057a_155a_init_20script_3a_20.rel + ___057a_155a_init_20script_3a_20 +messages_lib/057b_0500_input_20line_3a_20_.rel + ___057b_0500_input_20line_3a_20_ +messages_lib/057c_9677_interface.rel + ___057c_9677_interface +messages_lib/057d_3fa5_ioctl.rel + ___057d_3fa5_ioctl +messages_lib/057e_3172_ip.rel + ___057e_3172_ip +messages_lib/057f_d229_ip_5frecv_28_25s_29.rel + ___057f_d229_ip_5frecv_28_25s_29 +messages_lib/0580_289f_ip_5fsend_0a.rel + ___0580_289f_ip_5fsend_0a +messages_lib/0581_0191_ipaddress.rel + ___0581_0191_ipaddress +messages_lib/0582_dfc4_ipcp.rel + ___0582_dfc4_ipcp +messages_lib/0583_94f9_ipcp_5fack_28_29.rel + ___0583_94f9_ipcp_5fack_28_29 +messages_lib/0584_8ddb_ipcp_5finit_28_29.rel + ___0584_8ddb_ipcp_5finit_28_29 +messages_lib/0585_fa2c_ipcp_5fmakeoptions_.rel + ___0585_fa2c_ipcp_5fmakeoptions_ +messages_lib/0586_5617_ipcp_5fmakereq_28_2.rel + ___0586_5617_ipcp_5fmakereq_28_2 +messages_lib/0587_c773_ipcp_5fnak_28_29.rel + ___0587_c773_ipcp_5fnak_28_29 +messages_lib/0588_269f_ipcp_5freject_28_29.rel + ___0588_269f_ipcp_5freject_28_29 +messages_lib/0589_0241_ipcp_5frequest_28_2.rel + ___0589_0241_ipcp_5frequest_28_2 +messages_lib/058a_2214_ipcp_5freset_28_29.rel + ___058a_2214_ipcp_5freset_28_29 +messages_lib/058b_1977_ipcp_5fstarting_28_.rel + ___058b_1977_ipcp_5fstarting_28_ +messages_lib/058c_0e6d_ipcp_5fstopping_28_.rel + ___058c_0e6d_ipcp_5fstopping_28_ +messages_lib/058d_f4c1_irtt.rel + ___058d_f4c1_irtt +messages_lib/058e_516b_kick.rel + ___058e_516b_kick +messages_lib/058f_a61c_kill.rel + ___058f_a61c_kill +messages_lib/0590_ff9f_kill_20_3cjobnumber.rel + ___0590_ff9f_kill_20_3cjobnumber +messages_lib/0591_5e27_ksigs_20_25lu_20que.rel + ___0591_5e27_ksigs_20_25lu_20que +messages_lib/0592_1bbe_kwaits_20_25lu_20no.rel + ___0592_1bbe_kwaits_20_25lu_20no +messages_lib/0593_a567_lcp.rel + ___0593_a567_lcp +messages_lib/0594_411d_lcp_5fack_28_29.rel + ___0594_411d_lcp_5fack_28_29 +messages_lib/0595_2c24_lcp_5finit_28_29.rel + ___0595_2c24_lcp_5finit_28_29 +messages_lib/0596_f060_lcp_5fmakeoptions_2.rel + ___0596_f060_lcp_5fmakeoptions_2 +messages_lib/0597_26c3_lcp_5fmakereq_28_29.rel + ___0597_26c3_lcp_5fmakereq_28_29 +messages_lib/0598_1297_lcp_5fnak_28_29.rel + ___0598_1297_lcp_5fnak_28_29 +messages_lib/0599_6ddc_lcp_5freject_28_29.rel + ___0599_6ddc_lcp_5freject_28_29 +messages_lib/059a_7295_lcp_5frequest_28_29.rel + ___059a_7295_lcp_5frequest_28_29 +messages_lib/059b_2dcd_lcp_5freset_28_29.rel + ___059b_2dcd_lcp_5freset_28_29 +messages_lib/059c_89ae_lcp_5fstarting_28_2.rel + ___059c_89ae_lcp_5fstarting_28_2 +messages_lib/059d_9eb4_lcp_5fstopping_28_2.rel + ___059d_9eb4_lcp_5fstopping_28_2 +messages_lib/059e_cbc2_line_20not_20up.rel + ___059e_cbc2_line_20not_20up +messages_lib/059f_b632_link.rel + ___059f_b632_link +messages_lib/05a0_01ce_link_20header_20mis.rel + ___05a0_01ce_link_20header_20mis +messages_lib/05a1_dfe4_linkaddress.rel + ___05a1_dfe4_linkaddress +messages_lib/05a2_7bad_list.rel + ___05a2_7bad_list +messages_lib/05a3_4346_listen.rel + ___05a3_4346_listen +messages_lib/05a4_a5dd_listservers.rel + ___05a4_a5dd_listservers +messages_lib/05a5_f2d8_local.rel + ___05a5_f2d8_local +messages_lib/05a6_68f9_log.rel + ___05a6_68f9_log +messages_lib/05a7_feb4_logfile.rel + ___05a7_feb4_logfile +messages_lib/05a8_52c6_login_3a_20.rel + ___05a8_52c6_login_3a_20 +messages_lib/05a9_a516_logscreen.rel + ___05a9_a516_logscreen +messages_lib/05aa_8f77_lookup.rel + ___05aa_8f77_lookup +messages_lib/05ab_7d51_ls.rel + ___05ab_7d51_ls +messages_lib/05ac_634b_lseek.rel + ___05ac_634b_lseek +messages_lib/05ad_0288_magic.rel + ___05ad_0288_magic +messages_lib/05ae_868b_maibox_20name_20not.rel + ___05ae_868b_maibox_20name_20not +messages_lib/05af_2d7f_mailbox.rel + ___05af_2d7f_mailbox +messages_lib/05b0_2084_mailbox_20name_20no.rel + ___05b0_2084_mailbox_20name_20no +messages_lib/05b1_86f8_mailhost.rel + ___05b1_86f8_mailhost +messages_lib/05b2_63b8_mailhost_20not_20de.rel + ___05b2_63b8_mailhost_20not_20de +messages_lib/05b3_c3a4_mainproc_28_29.rel + ___05b3_c3a4_mainproc_28_29 +messages_lib/05b4_0ca2_mainptab_28_29.rel + ___05b4_0ca2_mainptab_28_29 +messages_lib/05b5_139d_maxclients.rel + ___05b5_139d_maxclients +messages_lib/05b6_8d56_maxframe.rel + ___05b6_8d56_maxframe +messages_lib/05b7_d5aa_maximum_20route_20q.rel + ___05b7_d5aa_maximum_20route_20q +messages_lib/05b8_9853_maxmsg.rel + ___05b8_9853_maxmsg +messages_lib/05b9_7203_maxttl.rel + ___05b9_7203_maxttl +messages_lib/05ba_e017_maxwait.rel + ___05ba_e017_maxwait +messages_lib/05bb_e57a_mbuf_20allocs_20_25.rel + ___05bb_e57a_mbuf_20allocs_20_25 +messages_lib/05bc_8c4f_mcompare.rel + ___05bc_8c4f_mcompare +messages_lib/05bd_f47e_mcompare_20_3cfile_.rel + ___05bd_f47e_mcompare_20_3cfile_ +messages_lib/05be_a71a_md5.rel + ___05be_a71a_md5 +messages_lib/05bf_cc78_md5_20_3cfile_3e.rel + ___05bf_cc78_md5_20_3cfile_3e +messages_lib/05c0_4d2a_memory.rel + ___05c0_4d2a_memory +messages_lib/05c1_69ba_memory_20cache_20si.rel + ___05c1_69ba_memory_20cache_20si +messages_lib/05c2_336a_merge.rel + ___05c2_336a_merge +messages_lib/05c3_649e_merge_20_25s_20_25d.rel + ___05c3_649e_merge_20_25s_20_25d +messages_lib/05c4_460c_metric_20better_3a_.rel + ___05c4_460c_metric_20better_3a_ +messages_lib/05c5_3694_metric_20change_3a_.rel + ___05c5_3694_metric_20change_3a_ +messages_lib/05c6_44b0_metric_20not_20bett.rel + ___05c6_44b0_metric_20not_20bett +messages_lib/05c7_b64c_mget.rel + ___05c7_b64c_mget +messages_lib/05c8_8d01_mget_20_3cfile_3e_2.rel + ___05c8_8d01_mget_20_3cfile_3e_2 +messages_lib/05c9_f789_missing_20ALL_20add.rel + ___05c9_f789_missing_20ALL_20add +messages_lib/05ca_d180_missing_20UI.rel + ___05ca_d180_missing_20UI +messages_lib/05cb_0135_missing_20lower_20p.rel + ___05cb_0135_missing_20lower_20p +messages_lib/05cc_d703_missing_20upper_20p.rel + ___05cc_d703_missing_20upper_20p +messages_lib/05cd_1e96_mkd_20.rel + ___05cd_1e96_mkd_20 +messages_lib/05ce_304a_mkdir.rel + ___05ce_304a_mkdir +messages_lib/05cf_7d04_mkdir_20_3cdirector.rel + ___05cf_7d04_mkdir_20_3cdirector +messages_lib/05d0_6257_mknod.rel + ___05d0_6257_mknod +messages_lib/05d1_685e_mode.rel + ___05d1_685e_mode +messages_lib/05d2_9335_modes_20are_3a_20no.rel + ___05d2_9335_modes_20are_3a_20no +messages_lib/05d3_a91f_more.rel + ___05d3_a91f_more +messages_lib/05d4_5384_more_20_3cfilename_.rel + ___05d4_5384_more_20_3cfilename_ +messages_lib/05d5_ec46_motd.rel + ___05d5_ec46_motd +messages_lib/05d6_b5d1_mount.rel + ___05d6_b5d1_mount +messages_lib/05d7_2a4d_mput.rel + ___05d7_2a4d_mput +messages_lib/05d8_312f_mput_20_3cfile_3e_2.rel + ___05d8_312f_mput_20_3cfile_3e_2 +messages_lib/05d9_245f_mru.rel + ___05d9_245f_mru +messages_lib/05da_58b1_mss.rel + ___05da_58b1_mss +messages_lib/05db_708f_mtu.rel + ___05db_708f_mtu +messages_lib/05dc_78ae_mycall.rel + ___05dc_78ae_mycall +messages_lib/05dd_e112_n_5fcreat_28_22_25s.rel + ___05dd_e112_n_5fcreat_28_22_25s +messages_lib/05de_fa1b_n_5fcreat_28_29_20r.rel + ___05de_fa1b_n_5fcreat_28_29_20r +messages_lib/05df_105b_n_5fcreat_28_29_20r.rel + ___05df_105b_n_5fcreat_28_29_20r +messages_lib/05e0_8a90_name.rel + ___05e0_8a90_name +messages_lib/05e1_b07d_netmask.rel + ___05e1_b07d_netmask +messages_lib/05e2_4d2c_netrom_20bcnodes_20.rel + ___05e2_4d2c_netrom_20bcnodes_20 +messages_lib/05e3_c5dc_netrom_20connect_20.rel + ___05e3_c5dc_netrom_20connect_20 +messages_lib/05e4_925a_netrom_20interface_.rel + ___05e4_925a_netrom_20interface_ +messages_lib/05e5_a510_netrom_20interface_.rel + ___05e5_a510_netrom_20interface_ +messages_lib/05e6_b271_netrom_20kick_20_3c.rel + ___05e6_b271_netrom_20kick_20_3c +messages_lib/05e7_5334_netrom_20nodefilter.rel + ___05e7_5334_netrom_20nodefilter +messages_lib/05e8_6bfe_netrom_20nodefilter.rel + ___05e8_6bfe_netrom_20nodefilter +messages_lib/05e9_328e_netrom_20reset_20_3.rel + ___05e9_328e_netrom_20reset_20_3 +messages_lib/05ea_18c8_netrom_20route_20ad.rel + ___05ea_18c8_netrom_20route_20ad +messages_lib/05eb_fff3_netrom_20route_20dr.rel + ___05eb_fff3_netrom_20route_20dr +messages_lib/05ec_e8da_netrom_20route_20in.rel + ___05ec_e8da_netrom_20route_20in +messages_lib/05ed_9094_newfile_28_29_20ret.rel + ___05ed_9094_newfile_28_29_20ret +messages_lib/05ee_6cce_newfile_28_29_20ret.rel + ___05ee_6cce_newfile_28_29_20ret +messages_lib/05ef_147d_newfile_280x_25x_2c.rel + ___05ef_147d_newfile_280x_25x_2c +messages_lib/05f0_2254_newproc_20_22_25s_2.rel + ___05f0_2254_newproc_20_22_25s_2 +messages_lib/05f1_1067_newptab_28_29_20ret.rel + ___05f1_1067_newptab_28_29_20ret +messages_lib/05f2_a95a_newptab_28_29_20ret.rel + ___05f2_a95a_newptab_28_29_20ret +messages_lib/05f3_5889_newptab_28_29_20sta.rel + ___05f3_5889_newptab_28_29_20sta +messages_lib/05f4_4db6_newsession_3a_20WAR.rel + ___05f4_4db6_newsession_3a_20WAR +messages_lib/05f5_5ab5_newsession_3a_20WAR.rel + ___05f5_5ab5_newsession_3a_20WAR +messages_lib/05f6_7718_next_20pointer_20ou.rel + ___05f6_7718_next_20pointer_20ou +messages_lib/05f7_7b66_nlst.rel + ___05f7_7b66_nlst +messages_lib/05f8_0ca7_nntp_20addserver_20.rel + ___05f8_0ca7_nntp_20addserver_20 +messages_lib/05f9_fea0_nntp_20dropserver_2.rel + ___05f9_fea0_nntp_20dropserver_2 +messages_lib/05fa_a821_nntp_20kick_20_3cnn.rel + ___05fa_a821_nntp_20kick_20_3cnn +messages_lib/05fb_a7f6_no_20filesys.rel + ___05fb_a7f6_no_20filesys +messages_lib/05fc_7405_no_20root.rel + ___05fc_7405_no_20root +messages_lib/05fd_b518_no_20such_20route_0.rel + ___05fd_b518_no_20such_20route_0 +messages_lib/05fe_3fb4_nodefilter.rel + ___05fe_3fb4_nodefilter +messages_lib/05ff_bac4_nodefilter_20subcom.rel + ___05ff_bac4_nodefilter_20subcom +messages_lib/0600_e743_nodes.rel + ___0600_e743_nodes +messages_lib/0601_57cf_nodetimer.rel + ___0601_57cf_nodetimer +messages_lib/0602_b0e3_none.rel + ___0602_b0e3_none +messages_lib/0603_7a7f_none_0a.rel + ___0603_7a7f_none_0a +messages_lib/0604_29c2_normal_20_28_25s_20.rel + ___0604_29c2_normal_20_28_25s_20 +messages_lib/0605_6504_not_20open_20for_20.rel + ___0605_6504_not_20open_20for_20 +messages_lib/0606_6274_not_20open_20for_20.rel + ___0606_6274_not_20open_20for_20 +messages_lib/0607_7cd1_not_20open_20for_20.rel + ___0607_7cd1_not_20open_20for_20 +messages_lib/0608_a01b_not_20ready_20for_2.rel + ___0608_a01b_not_20ready_20for_2 +messages_lib/0609_f235_not_20ready_20for_2.rel + ___0609_f235_not_20ready_20for_2 +messages_lib/060a_07d0_null_0a.rel + ___060a_07d0_null_0a +messages_lib/060b_fb30_obsotimer.rel + ___060b_fb30_obsotimer +messages_lib/060c_3971_open.rel + ___060c_3971_open +messages_lib/060d_a412_open_20_25s.rel + ___060d_a412_open_20_25s +messages_lib/060e_e5a0_open_20FTP.rel + ___060e_e5a0_open_20FTP +messages_lib/060f_10d3_open_20Finger.rel + ___060f_10d3_open_20Finger +messages_lib/0610_fe22_open_20MBOX.rel + ___0610_fe22_open_20MBOX +messages_lib/0611_c7d5_open_20POP.rel + ___0611_c7d5_open_20POP +messages_lib/0612_2477_open_20SMTP.rel + ___0612_2477_open_20SMTP +messages_lib/0613_4ca5_open_20discard.rel + ___0613_4ca5_open_20discard +messages_lib/0614_e649_open_20echo.rel + ___0614_e649_open_20echo +messages_lib/0615_a479_open_20term.rel + ___0615_a479_open_20term +messages_lib/0616_76ec_packet_20delayed_20.rel + ___0616_76ec_packet_20delayed_20 +messages_lib/0617_8504_packet_20duped_0a.rel + ___0617_8504_packet_20duped_0a +messages_lib/0618_a8e1_packet_20lost_0a.rel + ___0618_a8e1_packet_20lost_0a +messages_lib/0619_ead4_paclen.rel + ___0619_ead4_paclen +messages_lib/061a_1a03_page.rel + ___061a_1a03_page +messages_lib/061b_dd11_page_20_3ccommand_3.rel + ___061b_dd11_page_20_3ccommand_3 +messages_lib/061c_b6e1_pap.rel + ___061c_b6e1_pap +messages_lib/061d_f2ea_pap_5fcheck_28_29.rel + ___061d_f2ea_pap_5fcheck_28_29 +messages_lib/061e_bc39_pap_5finit_28_29.rel + ___061e_bc39_pap_5finit_28_29 +messages_lib/061f_7924_pap_5flocal_28_29.rel + ___061f_7924_pap_5flocal_28_29 +messages_lib/0620_4574_pap_5fmakereq_28_29.rel + ___0620_4574_pap_5fmakereq_28_29 +messages_lib/0621_c70c_pap_5fremote_28_29.rel + ___0621_c70c_pap_5fremote_28_29 +messages_lib/0622_1122_pap_5frequest_28_29.rel + ___0622_1122_pap_5frequest_28_29 +messages_lib/0623_3ddd_pap_5fshutdown_28_2.rel + ___0623_3ddd_pap_5fshutdown_28_2 +messages_lib/0624_512a_param.rel + ___0624_512a_param +messages_lib/0625_d362_param_20_3cinterfac.rel + ___0625_d362_param_20_3cinterfac +messages_lib/0626_9d45_pass.rel + ___0626_9d45_pass +messages_lib/0627_f746_pause.rel + ___0627_f746_pause +messages_lib/0628_d9f3_pfc.rel + ___0628_d9f3_pfc +messages_lib/0629_28cb_ping.rel + ___0629_28cb_ping +messages_lib/062a_d85a_ping_20_3chostid_3e.rel + ___062a_d85a_ping_20_3chostid_3e +messages_lib/062b_0458_pipe.rel + ___062b_0458_pipe +messages_lib/062c_5919_pool.rel + ___062c_5919_pool +messages_lib/062d_e039_port.rel + ___062d_e039_port +messages_lib/062e_a9d2_port_20_25d_3a_20tx.rel + ___062e_a9d2_port_20_25d_3a_20tx +messages_lib/062f_3aa8_ppp.rel + ___062f_3aa8_ppp +messages_lib/0630_d86b_ppp_20_3ciface_3e_2.rel + ___0630_d86b_ppp_20_3ciface_3e_2 +messages_lib/0631_fc07_ppp_5fproc_3a_20mis.rel + ___0631_fc07_ppp_5fproc_3a_20mis +messages_lib/0632_8304_ppp_5fproc_3a_20mis.rel + ___0632_8304_ppp_5fproc_3a_20mis +messages_lib/0633_4b37_process_20_25d_20ex.rel + ___0633_4b37_process_20_25d_20ex +messages_lib/0634_8848_processing_20my_20i.rel + ___0634_8848_processing_20my_20i +messages_lib/0635_e384_processing_20other_.rel + ___0635_e384_processing_20other_ +messages_lib/0636_3dc2_protocol_3a_20.rel + ___0636_3dc2_protocol_3a_20 +messages_lib/0637_4160_ps.rel + ___0637_4160_ps +messages_lib/0638_26dc_pthresh.rel + ___0638_26dc_pthresh +messages_lib/0639_a61f_publish.rel + ___0639_a61f_publish +messages_lib/063a_274c_pushdown_20calls_20.rel + ___063a_274c_pushdown_20calls_20 +messages_lib/063b_0234_put.rel + ___063b_0234_put +messages_lib/063c_8f3b_put_20_3clocalfile_.rel + ___063c_8f3b_put_20_3clocalfile_ +messages_lib/063d_b16b_putting_20block_20_.rel + ___063d_b16b_putting_20block_20_ +messages_lib/063e_2105_pwd.rel + ___063e_2105_pwd +messages_lib/063f_0282_qlimit.rel + ___063f_0282_qlimit +messages_lib/0640_0be6_queries.rel + ___0640_0be6_queries +messages_lib/0641_0bef_query.rel + ___0641_0bef_query +messages_lib/0642_6646_query_20_3chostid_3.rel + ___0642_6646_query_20_3chostid_3 +messages_lib/0643_27c8_queue_20job_20_25s_.rel + ___0643_27c8_queue_20job_20_25s_ +messages_lib/0644_1196_quick.rel + ___0644_1196_quick +messages_lib/0645_ad30_quiet.rel + ___0645_ad30_quiet +messages_lib/0646_7b54_quit.rel + ___0646_7b54_quit +messages_lib/0647_054d_read.rel + ___0647_054d_read +messages_lib/0648_c7a9_read_20_3cremotefil.rel + ___0648_c7a9_read_20_3cremotefil +messages_lib/0649_19fa_readwritei_28_25u_2.rel + ___0649_19fa_readwritei_28_25u_2 +messages_lib/064a_79be_readwritei_28_29_20.rel + ___064a_79be_readwritei_28_29_20 +messages_lib/064b_94aa_readwritei_28_29_20.rel + ___064b_94aa_readwritei_28_29_20 +messages_lib/064c_67b0_readwritei_28_29_20.rel + ___064c_67b0_readwritei_28_29_20 +messages_lib/064d_7ee6_reboot.rel + ___064d_7ee6_reboot +messages_lib/064e_1c64_received_20_25u_20b.rel + ___064e_1c64_received_20_25u_20b +messages_lib/064f_5735_record.rel + ___064f_5735_record +messages_lib/0650_18c5_recv_3a_20do_20.rel + ___0650_18c5_recv_3a_20do_20 +messages_lib/0651_8810_recv_3a_20dont_20.rel + ___0651_8810_recv_3a_20dont_20 +messages_lib/0652_84ef_recv_3a_20will_20.rel + ___0652_84ef_recv_3a_20will_20 +messages_lib/0653_219c_recv_3a_20wont_20.rel + ___0653_219c_recv_3a_20wont_20 +messages_lib/0654_c7dc_refuse.rel + ___0654_c7dc_refuse +messages_lib/0655_0e31_reject_0a.rel + ___0655_0e31_reject_0a +messages_lib/0656_bc2e_remote.rel + ___0656_bc2e_remote +messages_lib/0657_4ff0_remote_20_5b_2dp_20.rel + ___0657_4ff0_remote_20_5b_2dp_20 +messages_lib/0658_cb71_rename.rel + ___0658_cb71_rename +messages_lib/0659_a493_rename_20_3coldfile.rel + ___0659_a493_rename_20_3coldfile +messages_lib/065a_6d5b_repeat.rel + ___065a_6d5b_repeat +messages_lib/065b_01b9_repeat_20_3cinterva.rel + ___065b_01b9_repeat_20_3cinterva +messages_lib/065c_3f14_request.rel + ___065c_3f14_request +messages_lib/065d_85b2_reset.rel + ___065d_85b2_reset +messages_lib/065e_c3ce_response_20id_20_25.rel + ___065e_c3ce_response_20id_20_25 +messages_lib/065f_9bd3_retr.rel + ___065f_9bd3_retr +messages_lib/0660_5e3c_retries.rel + ___0660_5e3c_retries +messages_lib/0661_0acb_retry.rel + ___0661_0acb_retry +messages_lib/0662_7f96_rip_20accept_20_3cg.rel + ___0662_7f96_rip_20accept_20_3cg +messages_lib/0663_764e_rip_20add_20_3cdest.rel + ___0663_764e_rip_20add_20_3cdest +messages_lib/0664_3030_rip_20drop_20_3cdes.rel + ___0664_3030_rip_20drop_20_3cdes +messages_lib/0665_8661_rip_20refuse_20_3cg.rel + ___0665_8661_rip_20refuse_20_3cg +messages_lib/0666_b917_rmd_20.rel + ___0666_b917_rmd_20 +messages_lib/0667_a56c_rmdir.rel + ___0667_a56c_rmdir +messages_lib/0668_b9e3_rmdir_20_3cdirector.rel + ___0668_b9e3_rmdir_20_3cdirector +messages_lib/0669_c459_rmhost.rel + ___0669_c459_rmhost +messages_lib/066a_0284_route.rel + ___066a_0284_route +messages_lib/066b_ea02_route_20add_20_3cde.rel + ___066b_ea02_route_20add_20_3cde +messages_lib/066c_f461_route_20add_20_5b_2.rel + ___066c_f461_route_20add_20_5b_2 +messages_lib/066d_d581_route_20addprivate_.rel + ___066d_d581_route_20addprivate_ +messages_lib/066e_bbd2_route_20drop_20_3cd.rel + ___066e_bbd2_route_20drop_20_3cd +messages_lib/066f_103e_route_20drop_20_5b_.rel + ___066f_103e_route_20drop_20_5b_ +messages_lib/0670_a5ec_route_20lookup_20_3.rel + ___0670_a5ec_route_20lookup_20_3 +messages_lib/0671_ae23_route_20to_20self_3.rel + ___0671_ae23_route_20to_20self_3 +messages_lib/0672_2c09_rtimer.rel + ___0672_2c09_rtimer +messages_lib/0673_ae54_rtt.rel + ___0673_ae54_rtt +messages_lib/0674_02fc_running.rel + ___0674_02fc_running +messages_lib/0675_de1b_rwsetup_28_25u_2c_2.rel + ___0675_de1b_rwsetup_28_25u_2c_2 +messages_lib/0676_7f24_rwsetup_28_29_20ret.rel + ___0676_7f24_rwsetup_28_29_20ret +messages_lib/0677_d9aa_rwsetup_28_29_20ret.rel + ___0677_d9aa_rwsetup_28_29_20ret +messages_lib/0678_b4d7_rxbuf.rel + ___0678_b4d7_rxbuf +messages_lib/0679_d2fd_sbrk.rel + ___0679_d2fd_sbrk +messages_lib/067a_3365_scrollback.rel + ___067a_3365_scrollback +messages_lib/067b_9a3e_send.rel + ___067b_9a3e_send +messages_lib/067c_e397_send_20_22string_22.rel + ___067c_e397_send_20_22string_22 +messages_lib/067d_5c19_sender.rel + ___067d_5c19_sender +messages_lib/067e_efea_sending_20job_20_25.rel + ___067e_efea_sending_20job_20_25 +messages_lib/067f_7321_sent_3a_20do_20.rel + ___067f_7321_sent_3a_20do_20 +messages_lib/0680_db3c_sent_3a_20dont_20.rel + ___0680_db3c_sent_3a_20dont_20 +messages_lib/0681_d7c3_sent_3a_20will_20.rel + ___0681_d7c3_sent_3a_20will_20 +messages_lib/0682_72b0_sent_3a_20wont_20.rel + ___0682_72b0_sent_3a_20wont_20 +messages_lib/0683_2d5d_serial_20line_20IP_.rel + ___0683_2d5d_serial_20line_20IP_ +messages_lib/0684_f33e_serial_20line_20VJ_.rel + ___0684_f33e_serial_20line_20VJ_ +messages_lib/0685_6f7f_serial_20line_20VJ_.rel + ___0685_6f7f_serial_20line_20VJ_ +messages_lib/0686_6f48_server_20retries.rel + ___0686_6f48_server_20retries +messages_lib/0687_f0af_server_20trace.rel + ___0687_f0af_server_20trace +messages_lib/0688_db9a_session.rel + ___0688_db9a_session +messages_lib/0689_3031_set_20mycall_20firs.rel + ___0689_3031_set_20mycall_20firs +messages_lib/068a_1de4_shell.rel + ___068a_1de4_shell +messages_lib/068b_ed19_short_20authenticat.rel + ___068b_ed19_short_20authenticat +messages_lib/068c_cfaf_short_20configurati.rel + ___068c_cfaf_short_20configurati +messages_lib/068d_3faf_signal.rel + ___068d_3faf_signal +messages_lib/068e_dce5_size.rel + ___068e_dce5_size +messages_lib/068f_f163_sizes.rel + ___068f_f163_sizes +messages_lib/0690_675f_slots_20must_20be_2.rel + ___0690_675f_slots_20must_20be_2 +messages_lib/0691_4046_smtp_20daemon_20ent.rel + ___0691_4046_smtp_20daemon_20ent +messages_lib/0692_8e2a_smtp_20daemon_3a_20.rel + ___0692_8e2a_smtp_20daemon_3a_20 +messages_lib/0693_23e1_smtp_20job_20_25s_2.rel + ___0693_23e1_smtp_20job_20_25s_2 +messages_lib/0694_ed89_smtp_20mode_3a_20_2.rel + ___0694_ed89_smtp_20mode_3a_20_2 +messages_lib/0695_2b33_smtp_20recv_3a_20_2.rel + ___0695_2b33_smtp_20recv_3a_20_2 +messages_lib/0696_928b_smtp_20sent_3a_20.rel + ___0696_928b_smtp_20sent_3a_20 +messages_lib/0697_b4cf_socket.rel + ___0697_b4cf_socket +messages_lib/0698_6b20_some_20strange_2c_2.rel + ___0698_6b20_some_20strange_2c_2 +messages_lib/0699_60cd_speed.rel + ___0699_60cd_speed +messages_lib/069a_9785_speed_20_3cbps_3e.rel + ___069a_9785_speed_20_3cbps_3e +messages_lib/069b_1861_spool_3a_20_25s_0a.rel + ___069b_1861_spool_3a_20_25s_0a +messages_lib/069c_61f2_src_20_25s.rel + ___069c_61f2_src_20_25s +messages_lib/069d_4e06_srtt_20_3d_20_25lu_.rel + ___069d_4e06_srtt_20_3d_20_25lu_ +messages_lib/069e_795f_stack_20test.rel + ___069e_795f_stack_20test +messages_lib/069f_45e3_stacktest.rel + ___069f_45e3_stacktest +messages_lib/06a0_be0b_stacktest_20_5bon_7.rel + ___06a0_be0b_stacktest_20_5bon_7 +messages_lib/06a1_fcc6_standard_0a.rel + ___06a1_fcc6_standard_0a +messages_lib/06a2_b958_start.rel + ___06a2_b958_start +messages_lib/06a3_4b5d_start_20_3cserverna.rel + ___06a3_4b5d_start_20_3cserverna +messages_lib/06a4_9324_start_20bsr_20_3cin.rel + ___06a4_9324_start_20bsr_20_3cin +messages_lib/06a5_d63e_stat.rel + ___06a5_d63e_stat +messages_lib/06a6_5069_status.rel + ___06a6_5069_status +messages_lib/06a7_a95a_status_20up_7cdown_.rel + ___06a7_a95a_status_20up_7cdown_ +messages_lib/06a8_68cb_stime.rel + ___06a8_68cb_stime +messages_lib/06a9_4875_stktrace_20from_20p.rel + ___06a9_4875_stktrace_20from_20p +messages_lib/06aa_0a0a_stop.rel + ___06aa_0a0a_stop +messages_lib/06ab_6ec0_stop_20_3cservernam.rel + ___06ab_6ec0_stop_20_3cservernam +messages_lib/06ac_301d_stopped.rel + ___06ac_301d_stopped +messages_lib/06ad_2918_stor.rel + ___06ad_2918_stor +messages_lib/06ae_784e_stru.rel + ___06ae_784e_stru +messages_lib/06af_bec3_suffix.rel + ___06af_bec3_suffix +messages_lib/06b0_420b_symlink.rel + ___06b0_420b_symlink +messages_lib/06b1_ceb7_sync.rel + ___06b1_ceb7_sync +messages_lib/06b2_bb66_syndata.rel + ___06b2_bb66_syndata +messages_lib/06b3_b50c_sysdebug.rel + ___06b3_b50c_sysdebug +messages_lib/06b4_be35_sysdebug_20_5bon_7c.rel + ___06b4_be35_sysdebug_20_5bon_7c +messages_lib/06b5_8f60_syst.rel + ___06b5_8f60_syst +messages_lib/06b6_f3f3_system_20call_20tra.rel + ___06b6_f3f3_system_20call_20tra +messages_lib/06b7_a612_system_20kernel_20d.rel + ___06b7_a612_system_20kernel_20d +messages_lib/06b8_98fb_systrace.rel + ___06b8_98fb_systrace +messages_lib/06b9_71e3_systrace_20_5bon_7c.rel + ___06b9_71e3_systrace_20_5bon_7c +messages_lib/06ba_6404_t3.rel + ___06ba_6404_t3 +messages_lib/06bb_b31f_target.rel + ___06bb_b31f_target +messages_lib/06bc_e630_tcp.rel + ___06bc_e630_tcp +messages_lib/06bd_e483_tcp_20kick_20_3ctcb.rel + ___06bd_e483_tcp_20kick_20_3ctcb +messages_lib/06be_a12c_tcp_20reset_20_3ctc.rel + ___06be_a12c_tcp_20reset_20_3ctc +messages_lib/06bf_bb94_tcp_20rtt_20_3ctcb_.rel + ___06bf_bb94_tcp_20rtt_20_3ctcb_ +messages_lib/06c0_f363_tcp_20stat_20_3ctcb.rel + ___06c0_f363_tcp_20stat_20_3ctcb +messages_lib/06c1_6ff2_telnet.rel + ___06c1_6ff2_telnet +messages_lib/06c2_2114_telnet_20_3caddress.rel + ___06c2_2114_telnet_20_3caddress +messages_lib/06c3_6cef_term.rel + ___06c3_6cef_term +messages_lib/06c4_7425_terminate.rel + ___06c4_7425_terminate +messages_lib/06c5_4c6f_thresh.rel + ___06c5_4c6f_thresh +messages_lib/06c6_535d_time.rel + ___06c6_535d_time +messages_lib/06c7_43a3_time_20before_20fil.rel + ___06c7_43a3_time_20before_20fil +messages_lib/06c8_7156_timeout.rel + ___06c8_7156_timeout +messages_lib/06c9_d9a6_timer.rel + ___06c9_d9a6_timer +messages_lib/06ca_d29c_timer_3a_20ints_20w.rel + ___06ca_d29c_timer_3a_20ints_20w +messages_lib/06cb_c82f_times.rel + ___06cb_c82f_times +messages_lib/06cc_223a_timestamps.rel + ___06cc_223a_timestamps +messages_lib/06cd_004c_tip_20or_20dialer_2.rel + ___06cd_004c_tip_20or_20dialer_2 +messages_lib/06ce_aa4a_tiptimeout.rel + ___06ce_aa4a_tiptimeout +messages_lib/06cf_aa76_tmp_20file_20wiping.rel + ___06cf_aa76_tmp_20file_20wiping +messages_lib/06d0_2645_tmp_20file_3a_20_25.rel + ___06d0_2645_tmp_20file_3a_20_25 +messages_lib/06d1_a165_topt.rel + ___06d1_a165_topt +messages_lib/06d2_4f5f_trace.rel + ___06d2_4f5f_trace +messages_lib/06d3_3bce_traceroute_20done_3.rel + ___06d3_3bce_traceroute_20done_3 +messages_lib/06d4_f7b8_try.rel + ___06d4_f7b8_try +messages_lib/06d5_e444_ttl.rel + ___06d5_e444_ttl +messages_lib/06d6_299c_ttylink.rel + ___06d6_299c_ttylink +messages_lib/06d7_e58b_txqlen.rel + ___06d7_e58b_txqlen +messages_lib/06d8_f321_type.rel + ___06d8_f321_type +messages_lib/06d9_f1e4_udp.rel + ___06d9_f1e4_udp +messages_lib/06da_5caf_umount.rel + ___06da_5caf_umount +messages_lib/06db_5c70_unknown_0a.rel + ___06db_5c70_unknown_0a +messages_lib/06dc_bc4f_unknown_200x_2504x_.rel + ___06dc_bc4f_unknown_200x_2504x_ +messages_lib/06dd_5194_unknown_20hardware_.rel + ___06dd_5194_unknown_20hardware_ +messages_lib/06de_acee_unlink.rel + ___06de_acee_unlink +messages_lib/06df_f1c3_unused_0a.rel + ___06df_f1c3_unused_0a +messages_lib/06e0_f303_up_20script_3a_20_2.rel + ___06e0_f303_up_20script_3a_20_2 +messages_lib/06e1_db93_update.rel + ___06e1_db93_update +messages_lib/06e2_5c27_update_20Domain_2et.rel + ___06e2_5c27_update_20Domain_2et +messages_lib/06e3_0b09_update_20Domain_2et.rel + ___06e3_0b09_update_20Domain_2et +messages_lib/06e4_c5a3_update_20Domain_2et.rel + ___06e4_c5a3_update_20Domain_2et +messages_lib/06e5_d4f0_upload.rel + ___06e5_d4f0_upload +messages_lib/06e6_13f7_user.rel + ___06e6_13f7_user +messages_lib/06e7_6f25_user_20abort_0a.rel + ___06e7_6f25_user_20abort_0a +messages_lib/06e8_1b49_userdata.rel + ___06e8_1b49_userdata +messages_lib/06e9_3967_username_20not_20de.rel + ___06e9_3967_username_20not_20de +messages_lib/06ea_c23f_users.rel + ___06ea_c23f_users +messages_lib/06eb_5353_utime.rel + ___06eb_5353_utime +messages_lib/06ec_d261_valid_20subcommands.rel + ___06ec_d261_valid_20subcommands +messages_lib/06ed_a0e5_validblk_3a_20dev_2.rel + ___06ed_a0e5_validblk_3a_20dev_2 +messages_lib/06ee_74cf_validblk_3a_20inval.rel + ___06ee_74cf_validblk_3a_20inval +messages_lib/06ef_ab5c_verbose.rel + ___06ef_ab5c_verbose +messages_lib/06f0_207d_version.rel + ___06f0_207d_version +messages_lib/06f1_9778_view.rel + ___06f1_9778_view +messages_lib/06f2_23f1_view_20_3cfilename_.rel + ___06f2_23f1_view_20_3cfilename_ +messages_lib/06f3_98f0_vj.rel + ___06f3_98f0_vj +messages_lib/06f4_d63a_wait.rel + ___06f4_d63a_wait +messages_lib/06f5_2887_wait_20_3cmilliseco.rel + ___06f5_2887_wait_20_3cmilliseco +messages_lib/06f6_e988_waitpid.rel + ___06f6_e988_waitpid +messages_lib/06f7_674e_want_20busy_20block.rel + ___06f7_674e_want_20busy_20block +messages_lib/06f8_84e4_what.rel + ___06f8_84e4_what +messages_lib/06f9_9158_window.rel + ___06f9_9158_window +messages_lib/06fa_5379_wipe.rel + ___06fa_5379_wipe +messages_lib/06fb_bd9d_wr_5finode_28_29_20.rel + ___06fb_bd9d_wr_5finode_28_29_20 +messages_lib/06fc_68b2_wr_5finode_28_29_20.rel + ___06fc_68b2_wr_5finode_28_29_20 +messages_lib/06fd_7708_wr_5finode_280x_25x.rel + ___06fd_7708_wr_5finode_280x_25x +messages_lib/06fe_4cc8_write.rel + ___06fe_4cc8_write +messages_lib/06ff_dd6d_x_25x.rel + ___06ff_dd6d_x_25x +messages_lib/0700_ce7b_xcwd.rel + ___0700_ce7b_xcwd +messages_lib/0701_511f_xip_5falign_28_29_2.rel + ___0701_511f_xip_5falign_28_29_2 +messages_lib/0702_62af_xip_5falign_28_29_2.rel + ___0702_62af_xip_5falign_28_29_2 +messages_lib/0703_2fa7_xip_5falign_28_29_2.rel + ___0703_2fa7_xip_5falign_28_29_2 +messages_lib/0704_6211_xip_5falign_28_29_2.rel + ___0704_6211_xip_5falign_28_29_2 +messages_lib/0705_dc6f_xip_5falign_280x_25.rel + ___0705_dc6f_xip_5falign_280x_25 +messages_lib/0706_d854_xip_5falign_5fbmap_.rel + ___0706_d854_xip_5falign_5fbmap_ +messages_lib/0707_4a41_xip_5falign_5fbmap_.rel + ___0707_4a41_xip_5falign_5fbmap_ +messages_lib/0708_f051_xip_5falign_5fbmap_.rel + ___0708_f051_xip_5falign_5fbmap_ +messages_lib/0709_39ef_xip_5falign_5fchase.rel + ___0709_39ef_xip_5falign_5fchase +messages_lib/070a_7ea2_xip_5falign_5fchase.rel + ___070a_7ea2_xip_5falign_5fchase +messages_lib/070b_f19c_xip_5falign_5fchase.rel + ___070b_f19c_xip_5falign_5fchase +messages_lib/070c_fcac_xip_5falign_5fchase.rel + ___070c_fcac_xip_5falign_5fchase +messages_lib/070d_d6ef_xip_5falign_5fchase.rel + ___070d_d6ef_xip_5falign_5fchase +messages_lib/070e_0fcd_xip_5falign_5frecur.rel + ___070e_0fcd_xip_5falign_5frecur +messages_lib/070f_ceee_xip_5falign_5frecur.rel + ___070f_ceee_xip_5falign_5frecur +messages_lib/0710_346b_xip_5fexamine_28_29.rel + ___0710_346b_xip_5fexamine_28_29 +messages_lib/0711_fa8e_xip_5fexamine_28_29.rel + ___0711_fa8e_xip_5fexamine_28_29 +messages_lib/0712_ed9f_xip_5fexamine_28_29.rel + ___0712_ed9f_xip_5fexamine_28_29 +messages_lib/0713_c7f7_xip_5fexamine_28_29.rel + ___0713_c7f7_xip_5fexamine_28_29 +messages_lib/0714_04e3_xip_5fexamine_280x_.rel + ___0714_04e3_xip_5fexamine_280x_ +messages_lib/0715_ffc4_xip_5ffind_28_25u_2.rel + ___0715_ffc4_xip_5ffind_28_25u_2 +messages_lib/0716_cb3b_xip_5ffind_28_29_20.rel + ___0716_cb3b_xip_5ffind_28_29_20 +messages_lib/0717_5d23_xip_5ffind_28_29_20.rel + ___0717_5d23_xip_5ffind_28_29_20 +messages_lib/0718_1764_xip_5ffind_28_29_20.rel + ___0718_1764_xip_5ffind_28_29_20 +messages_lib/0719_0ce2_xip_5fget_28_25u_2c.rel + ___0719_0ce2_xip_5fget_28_25u_2c +messages_lib/071a_db94_xip_5fget_28_29_20r.rel + ___071a_db94_xip_5fget_28_29_20r +messages_lib/071b_de41_xip_5fget_28_29_20r.rel + ___071b_de41_xip_5fget_28_29_20r +messages_lib/071c_192a_xip_5fget_28_29_20r.rel + ___071c_192a_xip_5fget_28_29_20r +messages_lib/071d_2347_xip_5freserve_28_25.rel + ___071d_2347_xip_5freserve_28_25 +messages_lib/071e_acf4_xip_5freserve_28_29.rel + ___071e_acf4_xip_5freserve_28_29 +messages_lib/071f_69a1_xip_5freserve_28_29.rel + ___071f_69a1_xip_5freserve_28_29 +messages_lib/0720_4bfa_xip_5freserve_28_29.rel + ___0720_4bfa_xip_5freserve_28_29 +messages_lib/0721_3192_xip_5fsearch_28_25u.rel + ___0721_3192_xip_5fsearch_28_25u +messages_lib/0722_83fc_xip_5fsearch_28_29_.rel + ___0722_83fc_xip_5fsearch_28_29_ +messages_lib/0723_fd61_xip_5fsearch_28_29_.rel + ___0723_fd61_xip_5fsearch_28_29_ +messages_lib/0724_f464_xip_5fsearch_28_29_.rel + ___0724_f464_xip_5fsearch_28_29_ +messages_lib/0725_ef25_xip_5fset_28_25u_2c.rel + ___0725_ef25_xip_5fset_28_25u_2c +messages_lib/0726_7af3_xip_5fset_28_29_20r.rel + ___0726_7af3_xip_5fset_28_29_20r +messages_lib/0727_429f_xip_5fset_28_29_20r.rel + ___0727_429f_xip_5fset_28_29_20r +messages_lib/0728_36c3_xip_5fset_28_29_20r.rel + ___0728_36c3_xip_5fset_28_29_20r +messages_lib/0729_3cda_xip_5fualign_28_29_.rel + ___0729_3cda_xip_5fualign_28_29_ +messages_lib/072a_16b2_xip_5fualign_28_29_.rel + ___072a_16b2_xip_5fualign_28_29_ +messages_lib/072b_71d2_xip_5fualign_28_29_.rel + ___072b_71d2_xip_5fualign_28_29_ +messages_lib/072c_c58e_xip_5fualign_28_29_.rel + ___072c_c58e_xip_5fualign_28_29_ +messages_lib/072d_3a65_xip_5fualign_280x_2.rel + ___072d_3a65_xip_5fualign_280x_2 +messages_lib/072e_2295_xmd5.rel + ___072e_2295_xmd5 +messages_lib/072f_e251_xmkd.rel + ___072f_e251_xmkd +messages_lib/0730_a48a_xpwd.rel + ___0730_a48a_xpwd +messages_lib/0731_79d3_xrmd.rel + ___0731_79d3_xrmd +messages_lib/0732_c59b_zap.rel + ___0732_c59b_zap +messages_lib/0733_4749_zerobuf_28_25u_29_2.rel + ___0733_4749_zerobuf_28_25u_29_2 +messages_lib/0734_ba0e_zerobuf_28_29_20ret.rel + ___0734_ba0e_zerobuf_28_29_20ret +messages_lib/0735_1fe8_zerobuf_28_29_20ret.rel + ___0735_1fe8_zerobuf_28_29_20ret diff --git a/src/nos/lib/messages_lib/0000_ffff_.rel b/src/nos/lib/messages_lib/0000_ffff_.rel new file mode 100644 index 00000000..a8fd0580 --- /dev/null +++ b/src/nos/lib/messages_lib/0000_ffff_.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3 flags 0 +S ___0000_ffff_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 01 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0001_508a__08_20_08.rel b/src/nos/lib/messages_lib/0001_508a__08_20_08.rel new file mode 100644 index 00000000..1a461740 --- /dev/null +++ b/src/nos/lib/messages_lib/0001_508a__08_20_08.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0001_508a__08_20_08 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 08 20 08 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0002_17d6__09_09_20MRU_09_20A.rel b/src/nos/lib/messages_lib/0002_17d6__09_09_20MRU_09_20A.rel new file mode 100644 index 00000000..3ba5dc6a --- /dev/null +++ b/src/nos/lib/messages_lib/0002_17d6__09_09_20MRU_09_20A.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___0002_17d6__09_09_20MRU_09_20A Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 09 09 20 4d 52 55 09 20 41 +R 00 00 01 00 +T 0b 00 00 00 43 43 4d 09 09 20 41 50 09 20 50 +R 00 00 01 00 +T 16 00 00 00 46 43 20 20 41 43 46 43 20 4d 61 +R 00 00 01 00 +T 21 00 00 00 67 69 63 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0003_002f__09_09_256u_20Lcp_2.rel b/src/nos/lib/messages_lib/0003_002f__09_09_256u_20Lcp_2.rel new file mode 100644 index 00000000..5eb6fc64 --- /dev/null +++ b/src/nos/lib/messages_lib/0003_002f__09_09_256u_20Lcp_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___0003_002f__09_09_256u_20Lcp_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 09 09 25 36 75 20 4c 63 70 +R 00 00 01 00 +T 0b 00 00 00 2c 25 36 75 20 50 61 70 2c 25 36 +R 00 00 01 00 +T 16 00 00 00 75 20 49 50 63 70 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0004_14b3__09_09_256u_20Lcp_2.rel b/src/nos/lib/messages_lib/0004_14b3__09_09_256u_20Lcp_2.rel new file mode 100644 index 00000000..e2d251eb --- /dev/null +++ b/src/nos/lib/messages_lib/0004_14b3__09_09_256u_20Lcp_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___0004_14b3__09_09_256u_20Lcp_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 09 09 25 36 75 20 4c 63 70 +R 00 00 01 00 +T 0b 00 00 00 2c 25 36 75 20 50 61 70 2c 25 36 +R 00 00 01 00 +T 16 00 00 00 75 20 49 50 63 70 2c 25 36 75 20 +R 00 00 01 00 +T 21 00 00 00 55 6e 6b 6e 6f 77 6e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0005_7313__09_09pid_20_25d_2c.rel b/src/nos/lib/messages_lib/0005_7313__09_09pid_20_25d_2c.rel new file mode 100644 index 00000000..be19a126 --- /dev/null +++ b/src/nos/lib/messages_lib/0005_7313__09_09pid_20_25d_2c.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___0005_7313__09_09pid_20_25d_2c Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 09 09 70 69 64 20 25 64 2c +R 00 00 01 00 +T 0b 00 00 00 20 63 61 6c 6c 20 25 64 2c 20 72 +R 00 00 01 00 +T 16 00 00 00 65 74 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0006_bdbf__09_2510ld_20Cmp_2c.rel b/src/nos/lib/messages_lib/0006_bdbf__09_2510ld_20Cmp_2c.rel new file mode 100644 index 00000000..fb971a1a --- /dev/null +++ b/src/nos/lib/messages_lib/0006_bdbf__09_2510ld_20Cmp_2c.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 35 flags 0 +S ___0006_bdbf__09_2510ld_20Cmp_2c Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 33 00 09 25 31 30 6c 64 20 43 6d +R 00 00 01 00 +T 0b 00 00 00 70 2c 20 25 31 30 6c 64 20 55 6e +R 00 00 01 00 +T 16 00 00 00 63 6d 70 2c 20 25 31 30 6c 64 20 +R 00 00 01 00 +T 21 00 00 00 41 73 49 73 2c 20 25 31 30 6c 64 +R 00 00 01 00 +T 2c 00 00 00 20 4e 6f 74 54 43 50 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0007_d27a__09_2510ld_20Cmp_2c.rel b/src/nos/lib/messages_lib/0007_d27a__09_2510ld_20Cmp_2c.rel new file mode 100644 index 00000000..8bd83b8c --- /dev/null +++ b/src/nos/lib/messages_lib/0007_d27a__09_2510ld_20Cmp_2c.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 35 flags 0 +S ___0007_d27a__09_2510ld_20Cmp_2c Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 33 00 09 25 31 30 6c 64 20 43 6d +R 00 00 01 00 +T 0b 00 00 00 70 2c 20 25 31 30 6c 64 20 55 6e +R 00 00 01 00 +T 16 00 00 00 63 6d 70 2c 20 25 31 30 6c 64 20 +R 00 00 01 00 +T 21 00 00 00 42 61 64 2c 20 20 25 31 30 6c 64 +R 00 00 01 00 +T 2c 00 00 00 20 54 6f 73 73 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0008_c900__09_2510ld_20Search.rel b/src/nos/lib/messages_lib/0008_c900__09_2510ld_20Search.rel new file mode 100644 index 00000000..76cf5e86 --- /dev/null +++ b/src/nos/lib/messages_lib/0008_c900__09_2510ld_20Search.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___0008_c900__09_2510ld_20Search Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 09 25 31 30 6c 64 20 53 65 +R 00 00 01 00 +T 0b 00 00 00 61 72 63 68 65 73 2c 20 25 31 30 +R 00 00 01 00 +T 16 00 00 00 6c 64 20 4d 69 73 73 65 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0009_2913__09_25ld.rel b/src/nos/lib/messages_lib/0009_2913__09_25ld.rel new file mode 100644 index 00000000..a8b0770d --- /dev/null +++ b/src/nos/lib/messages_lib/0009_2913__09_25ld.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0009_2913__09_25ld Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 09 25 6c 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/000a_1c3a__09_25p_09_25u_09_2.rel b/src/nos/lib/messages_lib/000a_1c3a__09_25p_09_25u_09_2.rel new file mode 100644 index 00000000..2279cc0f --- /dev/null +++ b/src/nos/lib/messages_lib/000a_1c3a__09_25p_09_25u_09_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___000a_1c3a__09_25p_09_25u_09_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 09 25 70 09 25 75 09 25 63 +R 00 00 01 00 +T 0b 00 00 00 25 63 25 63 09 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/000b_b9ba__09_25s.rel b/src/nos/lib/messages_lib/000b_b9ba__09_25s.rel new file mode 100644 index 00000000..7b1fdf28 --- /dev/null +++ b/src/nos/lib/messages_lib/000b_b9ba__09_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___000b_b9ba__09_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 09 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/000c_21cf__09_25s_09_25s_09_2.rel b/src/nos/lib/messages_lib/000c_21cf__09_25s_09_25s_09_2.rel new file mode 100644 index 00000000..a31ec976 --- /dev/null +++ b/src/nos/lib/messages_lib/000c_21cf__09_25s_09_25s_09_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___000c_21cf__09_25s_09_25s_09_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 09 25 73 09 25 73 09 25 6c +R 00 00 01 00 +T 0b 00 00 00 75 09 25 6c 75 09 25 6c 75 09 25 +R 00 00 01 00 +T 16 00 00 00 6c 75 09 25 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/000d_1d7d__09_25s_09_25s_0a.rel b/src/nos/lib/messages_lib/000d_1d7d__09_25s_09_25s_0a.rel new file mode 100644 index 00000000..db0a25a8 --- /dev/null +++ b/src/nos/lib/messages_lib/000d_1d7d__09_25s_09_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___000d_1d7d__09_25s_09_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 09 25 73 09 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/000e_b532__09_25s_0a.rel b/src/nos/lib/messages_lib/000e_b532__09_25s_0a.rel new file mode 100644 index 00000000..1e0e2ec0 --- /dev/null +++ b/src/nos/lib/messages_lib/000e_b532__09_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___000e_b532__09_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 09 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/000f_26e5__09_25u_09_25s_0a.rel b/src/nos/lib/messages_lib/000f_26e5__09_25u_09_25s_0a.rel new file mode 100644 index 00000000..0ea5581a --- /dev/null +++ b/src/nos/lib/messages_lib/000f_26e5__09_25u_09_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___000f_26e5__09_25u_09_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 09 25 75 09 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0010_7e01__09_28open_20for_20.rel b/src/nos/lib/messages_lib/0010_7e01__09_28open_20for_20.rel new file mode 100644 index 00000000..cac9853c --- /dev/null +++ b/src/nos/lib/messages_lib/0010_7e01__09_28open_20for_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0010_7e01__09_28open_20for_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 09 28 6f 70 65 6e 20 66 6f +R 00 00 01 00 +T 0b 00 00 00 72 20 25 73 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0011_d62d__09_3c_25u_3e.rel b/src/nos/lib/messages_lib/0011_d62d__09_3c_25u_3e.rel new file mode 100644 index 00000000..0bfb5cc8 --- /dev/null +++ b/src/nos/lib/messages_lib/0011_d62d__09_3c_25u_3e.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0011_d62d__09_3c_25u_3e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 09 3c 25 75 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0012_9f29__09IN.rel b/src/nos/lib/messages_lib/0012_9f29__09IN.rel new file mode 100644 index 00000000..645d7bb4 --- /dev/null +++ b/src/nos/lib/messages_lib/0012_9f29__09IN.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0012_9f29__09IN Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 09 49 4e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0013_53f6__09Local_3a_09.rel b/src/nos/lib/messages_lib/0013_53f6__09Local_3a_09.rel new file mode 100644 index 00000000..324c1343 --- /dev/null +++ b/src/nos/lib/messages_lib/0013_53f6__09Local_3a_09.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___0013_53f6__09Local_3a_09 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 09 4c 6f 63 61 6c 3a 09 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0014_b8da__09Message_3a_20_27.rel b/src/nos/lib/messages_lib/0014_b8da__09Message_3a_20_27.rel new file mode 100644 index 00000000..f6abf9be --- /dev/null +++ b/src/nos/lib/messages_lib/0014_b8da__09Message_3a_20_27.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0014_b8da__09Message_3a_20_27 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 09 4d 65 73 73 61 67 65 3a +R 00 00 01 00 +T 0b 00 00 00 20 27 25 73 27 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0015_a684__09Remote_3a_09.rel b/src/nos/lib/messages_lib/0015_a684__09Remote_3a_09.rel new file mode 100644 index 00000000..e3c87264 --- /dev/null +++ b/src/nos/lib/messages_lib/0015_a684__09Remote_3a_09.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0015_a684__09Remote_3a_09 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 09 52 65 6d 6f 74 65 3a 09 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0016_e0e0__09Urgent_20pointer.rel b/src/nos/lib/messages_lib/0016_e0e0__09Urgent_20pointer.rel new file mode 100644 index 00000000..97a968cc --- /dev/null +++ b/src/nos/lib/messages_lib/0016_e0e0__09Urgent_20pointer.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___0016_e0e0__09Urgent_20pointer Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 09 55 72 67 65 6e 74 20 70 +R 00 00 01 00 +T 0b 00 00 00 6f 69 6e 74 65 72 3a 20 30 78 25 +R 00 00 01 00 +T 16 00 00 00 30 32 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0017_c0f0__09changes_3a_200x_.rel b/src/nos/lib/messages_lib/0017_c0f0__09changes_3a_200x_.rel new file mode 100644 index 00000000..94e136b2 --- /dev/null +++ b/src/nos/lib/messages_lib/0017_c0f0__09changes_3a_200x_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___0017_c0f0__09changes_3a_200x_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 09 63 68 61 6e 67 65 73 3a +R 00 00 01 00 +T 0b 00 00 00 20 30 78 25 30 32 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0018_6a8d__09connection_200x_.rel b/src/nos/lib/messages_lib/0018_6a8d__09connection_200x_.rel new file mode 100644 index 00000000..f8500f2e --- /dev/null +++ b/src/nos/lib/messages_lib/0018_6a8d__09connection_200x_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___0018_6a8d__09connection_200x_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 09 63 6f 6e 6e 65 63 74 69 +R 00 00 01 00 +T 0b 00 00 00 6f 6e 20 30 78 25 30 32 78 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0019_a28a__09connection_20ID_.rel b/src/nos/lib/messages_lib/0019_a28a__09connection_20ID_.rel new file mode 100644 index 00000000..8c793a61 --- /dev/null +++ b/src/nos/lib/messages_lib/0019_a28a__09connection_20ID_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___0019_a28a__09connection_20ID_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 09 63 6f 6e 6e 65 63 74 69 +R 00 00 01 00 +T 0b 00 00 00 6f 6e 20 49 44 20 3d 20 25 64 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/001a_cf72__09delta_20ACK_20an.rel b/src/nos/lib/messages_lib/001a_cf72__09delta_20ACK_20an.rel new file mode 100644 index 00000000..f282452d --- /dev/null +++ b/src/nos/lib/messages_lib/001a_cf72__09delta_20ACK_20an.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 36 flags 0 +S ___001a_cf72__09delta_20ACK_20an Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 34 00 09 64 65 6c 74 61 20 41 43 +R 00 00 01 00 +T 0b 00 00 00 4b 20 61 6e 64 20 64 65 6c 74 61 +R 00 00 01 00 +T 16 00 00 00 20 53 45 51 20 69 6d 70 6c 69 65 +R 00 00 01 00 +T 21 00 00 00 64 20 62 79 20 6c 65 6e 67 74 68 +R 00 00 01 00 +T 2c 00 00 00 20 6f 66 20 64 61 74 61 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/001b_8077__09delta_20ACK_3a_2.rel b/src/nos/lib/messages_lib/001b_8077__09delta_20ACK_3a_2.rel new file mode 100644 index 00000000..4745e800 --- /dev/null +++ b/src/nos/lib/messages_lib/001b_8077__09delta_20ACK_3a_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___001b_8077__09delta_20ACK_3a_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 09 64 65 6c 74 61 20 41 43 +R 00 00 01 00 +T 0b 00 00 00 4b 3a 20 30 78 25 30 32 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/001c_4a2b__09delta_20ID_3a_20.rel b/src/nos/lib/messages_lib/001c_4a2b__09delta_20ID_3a_20.rel new file mode 100644 index 00000000..0822797c --- /dev/null +++ b/src/nos/lib/messages_lib/001c_4a2b__09delta_20ID_3a_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___001c_4a2b__09delta_20ID_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 09 64 65 6c 74 61 20 49 44 +R 00 00 01 00 +T 0b 00 00 00 3a 20 30 78 25 30 32 78 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/001d_7710__09delta_20SEQ_20im.rel b/src/nos/lib/messages_lib/001d_7710__09delta_20SEQ_20im.rel new file mode 100644 index 00000000..a6c5c6dc --- /dev/null +++ b/src/nos/lib/messages_lib/001d_7710__09delta_20SEQ_20im.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___001d_7710__09delta_20SEQ_20im Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 09 64 65 6c 74 61 20 53 45 +R 00 00 01 00 +T 0b 00 00 00 51 20 69 6d 70 6c 69 65 64 20 62 +R 00 00 01 00 +T 16 00 00 00 79 20 6c 65 6e 67 74 68 20 6f 66 +R 00 00 01 00 +T 21 00 00 00 20 64 61 74 61 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/001e_a966__09delta_20SEQ_3a_2.rel b/src/nos/lib/messages_lib/001e_a966__09delta_20SEQ_3a_2.rel new file mode 100644 index 00000000..3c6550bd --- /dev/null +++ b/src/nos/lib/messages_lib/001e_a966__09delta_20SEQ_3a_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___001e_a966__09delta_20SEQ_3a_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 09 64 65 6c 74 61 20 53 45 +R 00 00 01 00 +T 0b 00 00 00 51 3a 20 30 78 25 30 32 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/001f_f05a__09delta_20WINDOW_3.rel b/src/nos/lib/messages_lib/001f_f05a__09delta_20WINDOW_3.rel new file mode 100644 index 00000000..2a069ef1 --- /dev/null +++ b/src/nos/lib/messages_lib/001f_f05a__09delta_20WINDOW_3.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___001f_f05a__09delta_20WINDOW_3 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 09 64 65 6c 74 61 20 57 49 +R 00 00 01 00 +T 0b 00 00 00 4e 44 4f 57 3a 20 30 78 25 30 32 +R 00 00 01 00 +T 16 00 00 00 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0020_ad18__09increment_20ID_0.rel b/src/nos/lib/messages_lib/0020_ad18__09increment_20ID_0.rel new file mode 100644 index 00000000..78e256ce --- /dev/null +++ b/src/nos/lib/messages_lib/0020_ad18__09increment_20ID_0.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0020_ad18__09increment_20ID_0 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 09 69 6e 63 72 65 6d 65 6e +R 00 00 01 00 +T 0b 00 00 00 74 20 49 44 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0021_13bc__09local_20IP_20add.rel b/src/nos/lib/messages_lib/0021_13bc__09local_20IP_20add.rel new file mode 100644 index 00000000..703edc67 --- /dev/null +++ b/src/nos/lib/messages_lib/0021_13bc__09local_20IP_20add.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0021_13bc__09local_20IP_20add Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 09 6c 6f 63 61 6c 20 49 50 +R 00 00 01 00 +T 0b 00 00 00 20 61 64 64 72 65 73 73 3a 20 25 +R 00 00 01 00 +T 16 00 00 00 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0022_efeb__09pid_20_25d_2c_20.rel b/src/nos/lib/messages_lib/0022_efeb__09pid_20_25d_2c_20.rel new file mode 100644 index 00000000..19d7ccb2 --- /dev/null +++ b/src/nos/lib/messages_lib/0022_efeb__09pid_20_25d_2c_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___0022_efeb__09pid_20_25d_2c_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 09 70 69 64 20 25 64 2c 20 +R 00 00 01 00 +T 0b 00 00 00 63 61 6c 6c 20 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0023_a0dd__0a.rel b/src/nos/lib/messages_lib/0023_a0dd__0a.rel new file mode 100644 index 00000000..827a0b10 --- /dev/null +++ b/src/nos/lib/messages_lib/0023_a0dd__0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 4 flags 0 +S ___0023_a0dd__0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 02 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0024_f279__0a_20_20_20_20.rel b/src/nos/lib/messages_lib/0024_f279__0a_20_20_20_20.rel new file mode 100644 index 00000000..df3a95e6 --- /dev/null +++ b/src/nos/lib/messages_lib/0024_f279__0a_20_20_20_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0024_f279__0a_20_20_20_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 0a 20 20 20 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0025_f170__0a_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0025_f170__0a_20_20_20_20_20_.rel new file mode 100644 index 00000000..c533baca --- /dev/null +++ b/src/nos/lib/messages_lib/0025_f170__0a_20_20_20_20_20_.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0025_f170__0a_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 0a 20 20 20 20 20 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0026_da94__0a_25s_20_2d_20_25.rel b/src/nos/lib/messages_lib/0026_da94__0a_25s_20_2d_20_25.rel new file mode 100644 index 00000000..f94985d8 --- /dev/null +++ b/src/nos/lib/messages_lib/0026_da94__0a_25s_20_2d_20_25.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0026_da94__0a_25s_20_2d_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 0a 25 73 20 2d 20 25 73 20 +R 00 00 01 00 +T 0b 00 00 00 72 65 63 76 3a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0027_e088__0a_25s_20_2d_20_25.rel b/src/nos/lib/messages_lib/0027_e088__0a_25s_20_2d_20_25.rel new file mode 100644 index 00000000..07916c5d --- /dev/null +++ b/src/nos/lib/messages_lib/0027_e088__0a_25s_20_2d_20_25.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0027_e088__0a_25s_20_2d_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 0a 25 73 20 2d 20 25 73 20 +R 00 00 01 00 +T 0b 00 00 00 73 65 6e 74 3a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0028_c061__0a_2a_2a_2a_20Loca.rel b/src/nos/lib/messages_lib/0028_c061__0a_2a_2a_2a_20Loca.rel new file mode 100644 index 00000000..eaee3757 --- /dev/null +++ b/src/nos/lib/messages_lib/0028_c061__0a_2a_2a_2a_20Loca.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 32 flags 0 +S ___0028_c061__0a_2a_2a_2a_20Loca Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 30 00 0a 2a 2a 2a 20 4c 6f 63 61 +R 00 00 01 00 +T 0b 00 00 00 6c 20 6d 61 69 6c 62 6f 78 20 6c +R 00 00 01 00 +T 16 00 00 00 6f 63 6b 65 64 2c 20 6e 65 77 20 +R 00 00 01 00 +T 21 00 00 00 6d 61 69 6c 20 69 6e 20 66 69 6c +R 00 00 01 00 +T 2c 00 00 00 65 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0029_932c__0a_2a_2a_2a_20Unab.rel b/src/nos/lib/messages_lib/0029_932c__0a_2a_2a_2a_20Unab.rel new file mode 100644 index 00000000..7238eb42 --- /dev/null +++ b/src/nos/lib/messages_lib/0029_932c__0a_2a_2a_2a_20Unab.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3a flags 0 +S ___0029_932c__0a_2a_2a_2a_20Unab Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 38 00 0a 2a 2a 2a 20 55 6e 61 62 +R 00 00 01 00 +T 0b 00 00 00 6c 65 20 74 6f 20 6f 70 65 6e 20 +R 00 00 01 00 +T 16 00 00 00 6c 6f 63 61 6c 20 6d 61 69 6c 62 +R 00 00 01 00 +T 21 00 00 00 6f 78 2c 20 6e 65 77 20 6d 61 69 +R 00 00 01 00 +T 2c 00 00 00 6c 20 69 6e 20 66 69 6c 65 20 25 +R 00 00 01 00 +T 37 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/002a_2592__0a_2a_2a_2a_2a_2a_.rel b/src/nos/lib/messages_lib/002a_2592__0a_2a_2a_2a_2a_2a_.rel new file mode 100644 index 00000000..364f2476 --- /dev/null +++ b/src/nos/lib/messages_lib/002a_2592__0a_2a_2a_2a_2a_2a_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___002a_2592__0a_2a_2a_2a_2a_2a_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 0a 2a 2a 2a 2a 2a 2a 2a 20 +R 00 00 01 00 +T 0b 00 00 00 72 61 77 20 70 61 63 6b 65 74 20 +R 00 00 01 00 +T 16 00 00 00 64 75 6d 70 20 28 25 73 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/002b_0887__0aCurrent_20remote.rel b/src/nos/lib/messages_lib/002b_0887__0aCurrent_20remote.rel new file mode 100644 index 00000000..65dbba0a --- /dev/null +++ b/src/nos/lib/messages_lib/002b_0887__0aCurrent_20remote.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___002b_0887__0aCurrent_20remote Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 0a 43 75 72 72 65 6e 74 20 +R 00 00 01 00 +T 0b 00 00 00 72 65 6d 6f 74 65 20 75 73 65 72 +R 00 00 01 00 +T 16 00 00 00 73 3a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/002c_ebd8__0aReclaimation_20a.rel b/src/nos/lib/messages_lib/002c_ebd8__0aReclaimation_20a.rel new file mode 100644 index 00000000..c6e7db30 --- /dev/null +++ b/src/nos/lib/messages_lib/002c_ebd8__0aReclaimation_20a.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___002c_ebd8__0aReclaimation_20a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 0a 52 65 63 6c 61 69 6d 61 +R 00 00 01 00 +T 0b 00 00 00 74 69 6f 6e 20 61 64 64 72 65 73 +R 00 00 01 00 +T 16 00 00 00 73 20 71 75 65 75 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/002d_c546__0aUsed_20address_2.rel b/src/nos/lib/messages_lib/002d_c546__0aUsed_20address_2.rel new file mode 100644 index 00000000..ea522601 --- /dev/null +++ b/src/nos/lib/messages_lib/002d_c546__0aUsed_20address_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___002d_c546__0aUsed_20address_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 0a 55 73 65 64 20 61 64 64 +R 00 00 01 00 +T 0b 00 00 00 72 65 73 73 20 71 75 65 75 65 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/002e_2e85__20.rel b/src/nos/lib/messages_lib/002e_2e85__20.rel deleted file mode 100644 index 8381d201..00000000 --- a/src/nos/lib/messages_lib/002e_2e85__20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4 flags 0 -S ___002e_2e85__20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 02 00 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/002e_e8fc__0apanic_3a_20.rel b/src/nos/lib/messages_lib/002e_e8fc__0apanic_3a_20.rel new file mode 100644 index 00000000..0b2d0b6f --- /dev/null +++ b/src/nos/lib/messages_lib/002e_e8fc__0apanic_3a_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___002e_e8fc__0apanic_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 0a 70 61 6e 69 63 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/002f_2e85__20.rel b/src/nos/lib/messages_lib/002f_2e85__20.rel new file mode 100644 index 00000000..9974dbe9 --- /dev/null +++ b/src/nos/lib/messages_lib/002f_2e85__20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 4 flags 0 +S ___002f_2e85__20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 02 00 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/002f_4403__20_0aend_0asize_20.rel b/src/nos/lib/messages_lib/002f_4403__20_0aend_0asize_20.rel deleted file mode 100644 index 1b306ad8..00000000 --- a/src/nos/lib/messages_lib/002f_4403__20_0aend_0asize_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___002f_4403__20_0aend_0asize_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 20 0a 65 6e 64 0a 73 69 7a -R 00 00 01 00 -T 0b 00 00 00 65 20 25 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0030_4403__20_0aend_0asize_20.rel b/src/nos/lib/messages_lib/0030_4403__20_0aend_0asize_20.rel new file mode 100644 index 00000000..14a0f249 --- /dev/null +++ b/src/nos/lib/messages_lib/0030_4403__20_0aend_0asize_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0030_4403__20_0aend_0asize_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 20 0a 65 6e 64 0a 73 69 7a +R 00 00 01 00 +T 0b 00 00 00 65 20 25 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0030_f289__20_20.rel b/src/nos/lib/messages_lib/0030_f289__20_20.rel deleted file mode 100644 index 3289931f..00000000 --- a/src/nos/lib/messages_lib/0030_f289__20_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5 flags 0 -S ___0030_f289__20_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 03 00 20 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0031_3839__20_20_20.rel b/src/nos/lib/messages_lib/0031_3839__20_20_20.rel deleted file mode 100644 index 0e5187d6..00000000 --- a/src/nos/lib/messages_lib/0031_3839__20_20_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0031_3839__20_20_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 20 20 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0031_f289__20_20.rel b/src/nos/lib/messages_lib/0031_f289__20_20.rel new file mode 100644 index 00000000..b61608bd --- /dev/null +++ b/src/nos/lib/messages_lib/0031_f289__20_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 5 flags 0 +S ___0031_f289__20_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 03 00 20 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0032_3839__20_20_20.rel b/src/nos/lib/messages_lib/0032_3839__20_20_20.rel new file mode 100644 index 00000000..6c3012e8 --- /dev/null +++ b/src/nos/lib/messages_lib/0032_3839__20_20_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0032_3839__20_20_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 20 20 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0032_8d78__20_20_20_20.rel b/src/nos/lib/messages_lib/0032_8d78__20_20_20_20.rel deleted file mode 100644 index 1b4f057b..00000000 --- a/src/nos/lib/messages_lib/0032_8d78__20_20_20_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0032_8d78__20_20_20_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 20 20 20 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0033_8d78__20_20_20_20.rel b/src/nos/lib/messages_lib/0033_8d78__20_20_20_20.rel new file mode 100644 index 00000000..18a555d0 --- /dev/null +++ b/src/nos/lib/messages_lib/0033_8d78__20_20_20_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0033_8d78__20_20_20_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 20 20 20 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0033_de40__20_20_20_20_20.rel b/src/nos/lib/messages_lib/0033_de40__20_20_20_20_20.rel deleted file mode 100644 index 68801a28..00000000 --- a/src/nos/lib/messages_lib/0033_de40__20_20_20_20_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0033_de40__20_20_20_20_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 20 20 20 20 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0034_3e02__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0034_3e02__20_20_20_20_20_20_.rel deleted file mode 100644 index d9bcbde1..00000000 --- a/src/nos/lib/messages_lib/0034_3e02__20_20_20_20_20_20_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 27 flags 0 -S ___0034_3e02__20_20_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 25 00 20 20 20 20 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 20 20 20 25 33 75 20 20 20 25 33 -R 00 00 01 00 -T 16 00 00 00 64 20 20 25 35 64 20 20 25 6c 75 -R 00 00 01 00 -T 21 00 00 00 2f 25 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0034_de40__20_20_20_20_20.rel b/src/nos/lib/messages_lib/0034_de40__20_20_20_20_20.rel new file mode 100644 index 00000000..c53e285a --- /dev/null +++ b/src/nos/lib/messages_lib/0034_de40__20_20_20_20_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0034_de40__20_20_20_20_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 20 20 20 20 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0035_0534__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0035_0534__20_20_20_20_20_20_.rel deleted file mode 100644 index 6d8f15ab..00000000 --- a/src/nos/lib/messages_lib/0035_0534__20_20_20_20_20_20_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0035_0534__20_20_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 20 20 20 20 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 20 20 4c 69 6e 6b 20 61 64 64 72 -R 00 00 01 00 -T 16 00 00 00 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0035_3e02__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0035_3e02__20_20_20_20_20_20_.rel new file mode 100644 index 00000000..ef6ea546 --- /dev/null +++ b/src/nos/lib/messages_lib/0035_3e02__20_20_20_20_20_20_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 27 flags 0 +S ___0035_3e02__20_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 25 00 20 20 20 20 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 20 20 20 25 33 75 20 20 20 25 33 +R 00 00 01 00 +T 16 00 00 00 64 20 20 25 35 64 20 20 25 6c 75 +R 00 00 01 00 +T 21 00 00 00 2f 25 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0036_0534__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0036_0534__20_20_20_20_20_20_.rel new file mode 100644 index 00000000..c4d2ff46 --- /dev/null +++ b/src/nos/lib/messages_lib/0036_0534__20_20_20_20_20_20_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0036_0534__20_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 20 20 20 20 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 20 20 4c 69 6e 6b 20 61 64 64 72 +R 00 00 01 00 +T 16 00 00 00 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0036_3fef__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0036_3fef__20_20_20_20_20_20_.rel deleted file mode 100644 index f60733a2..00000000 --- a/src/nos/lib/messages_lib/0036_3fef__20_20_20_20_20_20_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___0036_3fef__20_20_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 20 20 20 20 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 20 20 6f 75 74 70 75 74 20 66 6f -R 00 00 01 00 -T 16 00 00 00 72 77 61 72 64 20 74 6f 20 25 73 -R 00 00 01 00 -T 21 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0037_3164__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0037_3164__20_20_20_20_20_20_.rel deleted file mode 100644 index c767bb12..00000000 --- a/src/nos/lib/messages_lib/0037_3164__20_20_20_20_20_20_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2b flags 0 -S ___0037_3164__20_20_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 29 00 20 20 20 20 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 20 20 72 65 63 76 3a 20 69 70 20 -R 00 00 01 00 -T 16 00 00 00 25 6c 75 20 74 6f 74 20 25 6c 75 -R 00 00 01 00 -T 21 00 00 00 20 69 64 6c 65 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0037_3fef__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0037_3fef__20_20_20_20_20_20_.rel new file mode 100644 index 00000000..977492e8 --- /dev/null +++ b/src/nos/lib/messages_lib/0037_3fef__20_20_20_20_20_20_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___0037_3fef__20_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 20 20 20 20 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 20 20 6f 75 74 70 75 74 20 66 6f +R 00 00 01 00 +T 16 00 00 00 72 77 61 72 64 20 74 6f 20 25 73 +R 00 00 01 00 +T 21 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0038_3164__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0038_3164__20_20_20_20_20_20_.rel new file mode 100644 index 00000000..979017e8 --- /dev/null +++ b/src/nos/lib/messages_lib/0038_3164__20_20_20_20_20_20_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2b flags 0 +S ___0038_3164__20_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 29 00 20 20 20 20 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 20 20 72 65 63 76 3a 20 69 70 20 +R 00 00 01 00 +T 16 00 00 00 25 6c 75 20 74 6f 74 20 25 6c 75 +R 00 00 01 00 +T 21 00 00 00 20 69 64 6c 65 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0038_c6d7__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0038_c6d7__20_20_20_20_20_20_.rel deleted file mode 100644 index 09548d5c..00000000 --- a/src/nos/lib/messages_lib/0038_c6d7__20_20_20_20_20_20_.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 32 flags 0 -S ___0038_c6d7__20_20_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 30 00 20 20 20 20 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 20 20 73 65 6e 74 3a 20 69 70 20 -R 00 00 01 00 -T 16 00 00 00 25 6c 75 20 74 6f 74 20 25 6c 75 -R 00 00 01 00 -T 21 00 00 00 20 69 64 6c 65 20 25 73 20 71 6c -R 00 00 01 00 -T 2c 00 00 00 65 6e 20 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0039_9d57__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0039_9d57__20_20_20_20_20_20_.rel deleted file mode 100644 index f573ddde..00000000 --- a/src/nos/lib/messages_lib/0039_9d57__20_20_20_20_20_20_.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 36 flags 0 -S ___0039_9d57__20_20_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 34 00 20 20 20 20 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 20 20 74 72 61 63 65 20 30 78 25 -R 00 00 01 00 -T 16 00 00 00 78 20 6e 65 74 6d 61 73 6b 20 30 -R 00 00 01 00 -T 21 00 00 00 78 25 30 38 6c 78 20 62 72 6f 61 -R 00 00 01 00 -T 2c 00 00 00 64 63 61 73 74 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0039_c6d7__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0039_c6d7__20_20_20_20_20_20_.rel new file mode 100644 index 00000000..ae66f743 --- /dev/null +++ b/src/nos/lib/messages_lib/0039_c6d7__20_20_20_20_20_20_.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 32 flags 0 +S ___0039_c6d7__20_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 30 00 20 20 20 20 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 20 20 73 65 6e 74 3a 20 69 70 20 +R 00 00 01 00 +T 16 00 00 00 25 6c 75 20 74 6f 74 20 25 6c 75 +R 00 00 01 00 +T 21 00 00 00 20 69 64 6c 65 20 25 73 20 71 6c +R 00 00 01 00 +T 2c 00 00 00 65 6e 20 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/003a_9d57__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/003a_9d57__20_20_20_20_20_20_.rel new file mode 100644 index 00000000..1cc67193 --- /dev/null +++ b/src/nos/lib/messages_lib/003a_9d57__20_20_20_20_20_20_.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 36 flags 0 +S ___003a_9d57__20_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 34 00 20 20 20 20 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 20 20 74 72 61 63 65 20 30 78 25 +R 00 00 01 00 +T 16 00 00 00 78 20 6e 65 74 6d 61 73 6b 20 30 +R 00 00 01 00 +T 21 00 00 00 78 25 30 38 6c 78 20 62 72 6f 61 +R 00 00 01 00 +T 2c 00 00 00 64 63 61 73 74 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/003a_d46e__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/003a_d46e__20_20_20_20_20_20_.rel deleted file mode 100644 index 9b775295..00000000 --- a/src/nos/lib/messages_lib/003a_d46e__20_20_20_20_20_20_.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3a flags 0 -S ___003a_d46e__20_20_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 38 00 20 20 20 20 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 20 2d 20 74 6f 6f 62 69 67 3a 20 -R 00 00 01 00 -T 16 00 00 00 20 25 2d 35 64 20 20 64 63 64 6c -R 00 00 01 00 -T 21 00 00 00 6f 73 73 3a 20 25 2d 35 64 20 20 -R 00 00 01 00 -T 2c 00 00 00 72 78 6f 72 75 6e 3a 20 25 2d 35 -R 00 00 01 00 -T 37 00 00 00 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/003b_d46e__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/003b_d46e__20_20_20_20_20_20_.rel new file mode 100644 index 00000000..85c6ec1c --- /dev/null +++ b/src/nos/lib/messages_lib/003b_d46e__20_20_20_20_20_20_.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3a flags 0 +S ___003b_d46e__20_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 38 00 20 20 20 20 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 20 2d 20 74 6f 6f 62 69 67 3a 20 +R 00 00 01 00 +T 16 00 00 00 20 25 2d 35 64 20 20 64 63 64 6c +R 00 00 01 00 +T 21 00 00 00 6f 73 73 3a 20 25 2d 35 64 20 20 +R 00 00 01 00 +T 2c 00 00 00 72 78 6f 72 75 6e 3a 20 25 2d 35 +R 00 00 01 00 +T 37 00 00 00 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/003b_f37c__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/003b_f37c__20_20_20_20_20_20_.rel deleted file mode 100644 index 4f459b85..00000000 --- a/src/nos/lib/messages_lib/003b_f37c__20_20_20_20_20_20_.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 53 flags 0 -S ___003b_f37c__20_20_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 51 00 20 20 20 20 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 55 6e 61 63 6b 20 20 20 20 20 4e -R 00 00 01 00 -T 16 00 00 00 65 78 74 20 52 65 73 65 6e 74 20 -R 00 00 01 00 -T 21 00 00 00 43 57 69 6e 64 20 54 68 72 73 68 -R 00 00 01 00 -T 2c 00 00 00 20 20 57 69 6e 64 20 20 4d 53 53 -R 00 00 01 00 -T 37 00 00 00 20 51 75 65 75 65 20 20 54 68 72 -R 00 00 01 00 -T 42 00 00 00 75 70 75 74 20 20 20 20 20 20 54 -R 00 00 01 00 -T 4d 00 00 00 6f 74 61 6c 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/003c_5dd1__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/003c_5dd1__20_20_20_20_20_20_.rel deleted file mode 100644 index 2def1312..00000000 --- a/src/nos/lib/messages_lib/003c_5dd1__20_20_20_20_20_20_.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2f flags 0 -S ___003c_5dd1__20_20_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2d 00 20 20 20 20 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 63 6f 6e 6e 20 61 63 6b 3a 20 75 -R 00 00 01 00 -T 16 00 00 00 72 20 63 6b 74 20 25 64 2f 25 64 -R 00 00 01 00 -T 21 00 00 00 20 6d 79 20 63 6b 74 20 25 64 2f -R 00 00 01 00 -T 2c 00 00 00 25 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/003c_f37c__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/003c_f37c__20_20_20_20_20_20_.rel new file mode 100644 index 00000000..56bd6ece --- /dev/null +++ b/src/nos/lib/messages_lib/003c_f37c__20_20_20_20_20_20_.rel @@ -0,0 +1,24 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 53 flags 0 +S ___003c_f37c__20_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 51 00 20 20 20 20 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 55 6e 61 63 6b 20 20 20 20 20 4e +R 00 00 01 00 +T 16 00 00 00 65 78 74 20 52 65 73 65 6e 74 20 +R 00 00 01 00 +T 21 00 00 00 43 57 69 6e 64 20 54 68 72 73 68 +R 00 00 01 00 +T 2c 00 00 00 20 20 57 69 6e 64 20 20 4d 53 53 +R 00 00 01 00 +T 37 00 00 00 20 51 75 65 75 65 20 20 54 68 72 +R 00 00 01 00 +T 42 00 00 00 75 70 75 74 20 20 20 20 20 20 54 +R 00 00 01 00 +T 4d 00 00 00 6f 74 61 6c 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/003d_0406__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/003d_0406__20_20_20_20_20_20_.rel deleted file mode 100644 index 9c2d61e0..00000000 --- a/src/nos/lib/messages_lib/003d_0406__20_20_20_20_20_20_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___003d_0406__20_20_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 20 20 20 20 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 63 6f 6e 6e 20 72 71 73 74 3a 20 -R 00 00 01 00 -T 16 00 00 00 63 6b 74 20 25 64 2f 25 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/003d_5dd1__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/003d_5dd1__20_20_20_20_20_20_.rel new file mode 100644 index 00000000..bb5f7262 --- /dev/null +++ b/src/nos/lib/messages_lib/003d_5dd1__20_20_20_20_20_20_.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2f flags 0 +S ___003d_5dd1__20_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2d 00 20 20 20 20 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 63 6f 6e 6e 20 61 63 6b 3a 20 75 +R 00 00 01 00 +T 16 00 00 00 72 20 63 6b 74 20 25 64 2f 25 64 +R 00 00 01 00 +T 21 00 00 00 20 6d 79 20 63 6b 74 20 25 64 2f +R 00 00 01 00 +T 2c 00 00 00 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/003e_0406__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/003e_0406__20_20_20_20_20_20_.rel new file mode 100644 index 00000000..05585855 --- /dev/null +++ b/src/nos/lib/messages_lib/003e_0406__20_20_20_20_20_20_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___003e_0406__20_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 20 20 20 20 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 63 6f 6e 6e 20 72 71 73 74 3a 20 +R 00 00 01 00 +T 16 00 00 00 63 6b 74 20 25 64 2f 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/003e_da67__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/003e_da67__20_20_20_20_20_20_.rel deleted file mode 100644 index 4a41f8b5..00000000 --- a/src/nos/lib/messages_lib/003e_da67__20_20_20_20_20_20_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___003e_da67__20_20_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 20 20 20 20 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 64 69 73 63 20 61 63 6b 3a 20 63 -R 00 00 01 00 -T 16 00 00 00 6b 74 20 25 64 2f 25 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/003f_da67__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/003f_da67__20_20_20_20_20_20_.rel new file mode 100644 index 00000000..cce5f583 --- /dev/null +++ b/src/nos/lib/messages_lib/003f_da67__20_20_20_20_20_20_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___003f_da67__20_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 20 20 20 20 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 64 69 73 63 20 61 63 6b 3a 20 63 +R 00 00 01 00 +T 16 00 00 00 6b 74 20 25 64 2f 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/003f_f638__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/003f_f638__20_20_20_20_20_20_.rel deleted file mode 100644 index 6a2a0f29..00000000 --- a/src/nos/lib/messages_lib/003f_f638__20_20_20_20_20_20_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___003f_f638__20_20_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 20 20 20 20 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 64 69 73 63 3a 20 63 6b 74 20 25 -R 00 00 01 00 -T 16 00 00 00 64 2f 25 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0040_74c7__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0040_74c7__20_20_20_20_20_20_.rel deleted file mode 100644 index 18eec0e3..00000000 --- a/src/nos/lib/messages_lib/0040_74c7__20_20_20_20_20_20_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___0040_74c7__20_20_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 20 20 20 20 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 69 6e 66 6f 20 61 63 6b 3a 20 63 -R 00 00 01 00 -T 16 00 00 00 6b 74 20 25 64 2f 25 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0040_f638__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0040_f638__20_20_20_20_20_20_.rel new file mode 100644 index 00000000..c3617109 --- /dev/null +++ b/src/nos/lib/messages_lib/0040_f638__20_20_20_20_20_20_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0040_f638__20_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 20 20 20 20 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 64 69 73 63 3a 20 63 6b 74 20 25 +R 00 00 01 00 +T 16 00 00 00 64 2f 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0041_74c7__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0041_74c7__20_20_20_20_20_20_.rel new file mode 100644 index 00000000..aad14e83 --- /dev/null +++ b/src/nos/lib/messages_lib/0041_74c7__20_20_20_20_20_20_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___0041_74c7__20_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 20 20 20 20 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 69 6e 66 6f 20 61 63 6b 3a 20 63 +R 00 00 01 00 +T 16 00 00 00 6b 74 20 25 64 2f 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0041_f10d__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0041_f10d__20_20_20_20_20_20_.rel deleted file mode 100644 index 094240f7..00000000 --- a/src/nos/lib/messages_lib/0041_f10d__20_20_20_20_20_20_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0041_f10d__20_20_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 20 20 20 20 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 69 6e 66 6f 3a 20 63 6b 74 20 25 -R 00 00 01 00 -T 16 00 00 00 64 2f 25 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0042_d02b__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0042_d02b__20_20_20_20_20_20_.rel deleted file mode 100644 index 7f198066..00000000 --- a/src/nos/lib/messages_lib/0042_d02b__20_20_20_20_20_20_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___0042_d02b__20_20_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 20 20 20 20 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 70 72 6f 74 6f 63 6f 6c 20 66 61 -R 00 00 01 00 -T 16 00 00 00 6d 69 6c 79 20 25 78 2c 20 70 72 -R 00 00 01 00 -T 21 00 00 00 6f 74 6f 20 25 78 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0042_f10d__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0042_f10d__20_20_20_20_20_20_.rel new file mode 100644 index 00000000..4a3e3762 --- /dev/null +++ b/src/nos/lib/messages_lib/0042_f10d__20_20_20_20_20_20_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0042_f10d__20_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 20 20 20 20 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 69 6e 66 6f 3a 20 63 6b 74 20 25 +R 00 00 01 00 +T 16 00 00 00 64 2f 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0043_0105__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0043_0105__20_20_20_20_20_20_.rel deleted file mode 100644 index f709818c..00000000 --- a/src/nos/lib/messages_lib/0043_0105__20_20_20_20_20_20_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___0043_0105__20_20_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 20 20 20 20 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 75 6e 6b 6e 6f 77 6e 20 74 72 61 -R 00 00 01 00 -T 16 00 00 00 6e 73 70 6f 72 74 20 74 79 70 65 -R 00 00 01 00 -T 21 00 00 00 20 25 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0043_d02b__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0043_d02b__20_20_20_20_20_20_.rel new file mode 100644 index 00000000..c6463564 --- /dev/null +++ b/src/nos/lib/messages_lib/0043_d02b__20_20_20_20_20_20_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___0043_d02b__20_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 20 20 20 20 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 70 72 6f 74 6f 63 6f 6c 20 66 61 +R 00 00 01 00 +T 16 00 00 00 6d 69 6c 79 20 25 78 2c 20 70 72 +R 00 00 01 00 +T 21 00 00 00 6f 74 6f 20 25 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0044_0105__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0044_0105__20_20_20_20_20_20_.rel new file mode 100644 index 00000000..d9197e51 --- /dev/null +++ b/src/nos/lib/messages_lib/0044_0105__20_20_20_20_20_20_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___0044_0105__20_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 20 20 20 20 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 75 6e 6b 6e 6f 77 6e 20 74 72 61 +R 00 00 01 00 +T 16 00 00 00 6e 73 70 6f 72 74 20 74 79 70 65 +R 00 00 01 00 +T 21 00 00 00 20 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0044_c46d__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0044_c46d__20_20_20_20_20_20_.rel deleted file mode 100644 index 52ee8351..00000000 --- a/src/nos/lib/messages_lib/0044_c46d__20_20_20_20_20_20_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___0044_c46d__20_20_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 20 20 20 20 20 20 20 20 25 -R 00 00 01 00 -T 0b 00 00 00 31 32 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0045_3a28__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0045_3a28__20_20_20_20_20_20_.rel deleted file mode 100644 index 6acedfc9..00000000 --- a/src/nos/lib/messages_lib/0045_3a28__20_20_20_20_20_20_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___0045_3a28__20_20_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 20 20 20 20 20 20 20 61 78 -R 00 00 01 00 -T 0b 00 00 00 32 35 20 72 6f 75 74 65 20 64 72 -R 00 00 01 00 -T 16 00 00 00 6f 70 20 3c 74 61 72 67 65 74 3e -R 00 00 01 00 -T 21 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0045_c46d__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0045_c46d__20_20_20_20_20_20_.rel new file mode 100644 index 00000000..60b4ee4d --- /dev/null +++ b/src/nos/lib/messages_lib/0045_c46d__20_20_20_20_20_20_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0045_c46d__20_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 20 20 20 20 20 20 20 20 25 +R 00 00 01 00 +T 0b 00 00 00 31 32 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0046_3a28__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0046_3a28__20_20_20_20_20_20_.rel new file mode 100644 index 00000000..a1426aea --- /dev/null +++ b/src/nos/lib/messages_lib/0046_3a28__20_20_20_20_20_20_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___0046_3a28__20_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 20 20 20 20 20 20 20 61 78 +R 00 00 01 00 +T 0b 00 00 00 32 35 20 72 6f 75 74 65 20 64 72 +R 00 00 01 00 +T 16 00 00 00 6f 70 20 3c 74 61 72 67 65 74 3e +R 00 00 01 00 +T 21 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0046_48df__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0046_48df__20_20_20_20_20_20_.rel deleted file mode 100644 index 2e6f7a90..00000000 --- a/src/nos/lib/messages_lib/0046_48df__20_20_20_20_20_20_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___0046_48df__20_20_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 20 20 20 20 20 20 20 64 69 -R 00 00 01 00 -T 0b 00 00 00 61 6c 20 3c 69 66 61 63 65 3e 20 -R 00 00 01 00 -T 16 00 00 00 30 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0047_48df__20_20_20_20_20_20_.rel b/src/nos/lib/messages_lib/0047_48df__20_20_20_20_20_20_.rel new file mode 100644 index 00000000..efccd800 --- /dev/null +++ b/src/nos/lib/messages_lib/0047_48df__20_20_20_20_20_20_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___0047_48df__20_20_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 20 20 20 20 20 20 20 64 69 +R 00 00 01 00 +T 0b 00 00 00 61 6c 20 3c 69 66 61 63 65 3e 20 +R 00 00 01 00 +T 16 00 00 00 30 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0047_da1e__20_20_20_20_20_20s.rel b/src/nos/lib/messages_lib/0047_da1e__20_20_20_20_20_20s.rel deleted file mode 100644 index 4da2b056..00000000 --- a/src/nos/lib/messages_lib/0047_da1e__20_20_20_20_20_20s.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 45 flags 0 -S ___0047_da1e__20_20_20_20_20_20s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 43 00 20 20 20 20 20 20 73 65 6e -R 00 00 01 00 -T 0b 00 00 00 74 20 20 20 20 20 20 72 63 76 64 -R 00 00 01 00 -T 16 00 00 00 20 20 20 20 25 20 20 20 20 20 72 -R 00 00 01 00 -T 21 00 00 00 74 74 20 20 20 20 20 61 76 67 20 -R 00 00 01 00 -T 2c 00 00 00 20 20 20 6d 64 65 76 20 20 20 20 -R 00 00 01 00 -T 37 00 00 00 20 6d 61 78 20 20 20 20 20 6d 69 -R 00 00 01 00 -T 42 00 00 00 6e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0048_3800__20_20_20_20_20_26A.rel b/src/nos/lib/messages_lib/0048_3800__20_20_20_20_20_26A.rel deleted file mode 100644 index 84388cc7..00000000 --- a/src/nos/lib/messages_lib/0048_3800__20_20_20_20_20_26A.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 37 flags 0 -S ___0048_3800__20_20_20_20_20_26A Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 35 00 20 20 20 20 20 26 41 58 42 -R 00 00 01 00 -T 0b 00 00 00 20 52 65 6d 6f 74 65 20 20 20 52 -R 00 00 01 00 -T 16 00 00 00 42 20 56 28 53 29 20 56 28 52 29 -R 00 00 01 00 -T 21 00 00 00 20 55 6e 61 63 6b 20 50 20 52 65 -R 00 00 01 00 -T 2c 00 00 00 74 72 79 20 53 74 61 74 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0048_da1e__20_20_20_20_20_20s.rel b/src/nos/lib/messages_lib/0048_da1e__20_20_20_20_20_20s.rel new file mode 100644 index 00000000..7f0920ee --- /dev/null +++ b/src/nos/lib/messages_lib/0048_da1e__20_20_20_20_20_20s.rel @@ -0,0 +1,22 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 45 flags 0 +S ___0048_da1e__20_20_20_20_20_20s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 43 00 20 20 20 20 20 20 73 65 6e +R 00 00 01 00 +T 0b 00 00 00 74 20 20 20 20 20 20 72 63 76 64 +R 00 00 01 00 +T 16 00 00 00 20 20 20 20 25 20 20 20 20 20 72 +R 00 00 01 00 +T 21 00 00 00 74 74 20 20 20 20 20 61 76 67 20 +R 00 00 01 00 +T 2c 00 00 00 20 20 20 6d 64 65 76 20 20 20 20 +R 00 00 01 00 +T 37 00 00 00 20 6d 61 78 20 20 20 20 20 6d 69 +R 00 00 01 00 +T 42 00 00 00 6e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0049_0e60__20_20_20_20_20_28_.rel b/src/nos/lib/messages_lib/0049_0e60__20_20_20_20_20_28_.rel deleted file mode 100644 index 70e8055a..00000000 --- a/src/nos/lib/messages_lib/0049_0e60__20_20_20_20_20_28_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___0049_0e60__20_20_20_20_20_28_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 20 20 20 20 20 28 25 32 75 -R 00 00 01 00 -T 0b 00 00 00 29 25 2d 32 30 73 25 31 30 6c 75 -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0049_3800__20_20_20_20_20_26A.rel b/src/nos/lib/messages_lib/0049_3800__20_20_20_20_20_26A.rel new file mode 100644 index 00000000..2d0727c3 --- /dev/null +++ b/src/nos/lib/messages_lib/0049_3800__20_20_20_20_20_26A.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 37 flags 0 +S ___0049_3800__20_20_20_20_20_26A Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 35 00 20 20 20 20 20 26 41 58 42 +R 00 00 01 00 +T 0b 00 00 00 20 52 65 6d 6f 74 65 20 20 20 52 +R 00 00 01 00 +T 16 00 00 00 42 20 56 28 53 29 20 56 28 52 29 +R 00 00 01 00 +T 21 00 00 00 20 55 6e 61 63 6b 20 50 20 52 65 +R 00 00 01 00 +T 2c 00 00 00 74 72 79 20 53 74 61 74 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/004a_0e60__20_20_20_20_20_28_.rel b/src/nos/lib/messages_lib/004a_0e60__20_20_20_20_20_28_.rel new file mode 100644 index 00000000..7878a6f9 --- /dev/null +++ b/src/nos/lib/messages_lib/004a_0e60__20_20_20_20_20_28_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___004a_0e60__20_20_20_20_20_28_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 20 20 20 20 20 28 25 32 75 +R 00 00 01 00 +T 0b 00 00 00 29 25 2d 32 30 73 25 31 30 6c 75 +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/004a_d7d4__20_20_20_20_20Broa.rel b/src/nos/lib/messages_lib/004a_d7d4__20_20_20_20_20Broa.rel deleted file mode 100644 index 3a2848b0..00000000 --- a/src/nos/lib/messages_lib/004a_d7d4__20_20_20_20_20Broa.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___004a_d7d4__20_20_20_20_20Broa Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 20 20 20 20 20 42 72 6f 61 -R 00 00 01 00 -T 0b 00 00 00 64 63 61 73 74 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/004b_d7d4__20_20_20_20_20Broa.rel b/src/nos/lib/messages_lib/004b_d7d4__20_20_20_20_20Broa.rel new file mode 100644 index 00000000..6a6a7993 --- /dev/null +++ b/src/nos/lib/messages_lib/004b_d7d4__20_20_20_20_20Broa.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___004b_d7d4__20_20_20_20_20Broa Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 20 20 20 20 20 42 72 6f 61 +R 00 00 01 00 +T 0b 00 00 00 64 63 61 73 74 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/004b_f5a8__20_20_20_20_20Defa.rel b/src/nos/lib/messages_lib/004b_f5a8__20_20_20_20_20Defa.rel deleted file mode 100644 index 3db512df..00000000 --- a/src/nos/lib/messages_lib/004b_f5a8__20_20_20_20_20Defa.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___004b_f5a8__20_20_20_20_20Defa Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 20 20 20 20 20 44 65 66 61 -R 00 00 01 00 -T 0b 00 00 00 75 6c 74 20 67 61 74 65 77 61 79 -R 00 00 01 00 -T 16 00 00 00 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/004c_de7b__20_20_20_20_20Host.rel b/src/nos/lib/messages_lib/004c_de7b__20_20_20_20_20Host.rel deleted file mode 100644 index 2a781fe2..00000000 --- a/src/nos/lib/messages_lib/004c_de7b__20_20_20_20_20Host.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___004c_de7b__20_20_20_20_20Host Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 20 20 20 20 20 48 6f 73 74 -R 00 00 01 00 -T 0b 00 00 00 6e 61 6d 65 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/004c_f5a8__20_20_20_20_20Defa.rel b/src/nos/lib/messages_lib/004c_f5a8__20_20_20_20_20Defa.rel new file mode 100644 index 00000000..6e83e80c --- /dev/null +++ b/src/nos/lib/messages_lib/004c_f5a8__20_20_20_20_20Defa.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___004c_f5a8__20_20_20_20_20Defa Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 20 20 20 20 20 44 65 66 61 +R 00 00 01 00 +T 0b 00 00 00 75 6c 74 20 67 61 74 65 77 61 79 +R 00 00 01 00 +T 16 00 00 00 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/004d_a271__20_20_20_20_20INF.rel b/src/nos/lib/messages_lib/004d_a271__20_20_20_20_20INF.rel deleted file mode 100644 index 6408e779..00000000 --- a/src/nos/lib/messages_lib/004d_a271__20_20_20_20_20INF.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___004d_a271__20_20_20_20_20INF Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 20 20 20 20 20 49 4e 46 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/004d_de7b__20_20_20_20_20Host.rel b/src/nos/lib/messages_lib/004d_de7b__20_20_20_20_20Host.rel new file mode 100644 index 00000000..fb3b7a6d --- /dev/null +++ b/src/nos/lib/messages_lib/004d_de7b__20_20_20_20_20Host.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___004d_de7b__20_20_20_20_20Host Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 20 20 20 20 20 48 6f 73 74 +R 00 00 01 00 +T 0b 00 00 00 6e 61 6d 65 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/004e_1775__20_20_20_20_20IP_2.rel b/src/nos/lib/messages_lib/004e_1775__20_20_20_20_20IP_2.rel deleted file mode 100644 index 9b158cdf..00000000 --- a/src/nos/lib/messages_lib/004e_1775__20_20_20_20_20IP_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___004e_1775__20_20_20_20_20IP_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 20 20 20 20 20 49 50 20 61 -R 00 00 01 00 -T 0b 00 00 00 64 64 72 65 73 73 3a 20 25 73 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/004e_a271__20_20_20_20_20INF.rel b/src/nos/lib/messages_lib/004e_a271__20_20_20_20_20INF.rel new file mode 100644 index 00000000..2b102e7a --- /dev/null +++ b/src/nos/lib/messages_lib/004e_a271__20_20_20_20_20INF.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___004e_a271__20_20_20_20_20INF Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 20 20 20 20 20 49 4e 46 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/004f_1775__20_20_20_20_20IP_2.rel b/src/nos/lib/messages_lib/004f_1775__20_20_20_20_20IP_2.rel new file mode 100644 index 00000000..971dec4e --- /dev/null +++ b/src/nos/lib/messages_lib/004f_1775__20_20_20_20_20IP_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___004f_1775__20_20_20_20_20IP_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 20 20 20 20 20 49 50 20 61 +R 00 00 01 00 +T 0b 00 00 00 64 64 72 65 73 73 3a 20 25 73 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/004f_7765__20_20_20_20_20Name.rel b/src/nos/lib/messages_lib/004f_7765__20_20_20_20_20Name.rel deleted file mode 100644 index afad075e..00000000 --- a/src/nos/lib/messages_lib/004f_7765__20_20_20_20_20Name.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___004f_7765__20_20_20_20_20Name Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 20 20 20 20 20 4e 61 6d 65 -R 00 00 01 00 -T 0b 00 00 00 73 65 72 76 65 72 3a 20 25 73 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0050_6879__20_20_20_20_20Subn.rel b/src/nos/lib/messages_lib/0050_6879__20_20_20_20_20Subn.rel deleted file mode 100644 index a301b794..00000000 --- a/src/nos/lib/messages_lib/0050_6879__20_20_20_20_20Subn.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___0050_6879__20_20_20_20_20Subn Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 20 20 20 20 20 53 75 62 6e -R 00 00 01 00 -T 0b 00 00 00 65 74 20 6d 61 73 6b 3a 20 25 73 -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0050_7765__20_20_20_20_20Name.rel b/src/nos/lib/messages_lib/0050_7765__20_20_20_20_20Name.rel new file mode 100644 index 00000000..ce116508 --- /dev/null +++ b/src/nos/lib/messages_lib/0050_7765__20_20_20_20_20Name.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___0050_7765__20_20_20_20_20Name Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 20 20 20 20 20 4e 61 6d 65 +R 00 00 01 00 +T 0b 00 00 00 73 65 72 76 65 72 3a 20 25 73 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0051_6879__20_20_20_20_20Subn.rel b/src/nos/lib/messages_lib/0051_6879__20_20_20_20_20Subn.rel new file mode 100644 index 00000000..51ceee0b --- /dev/null +++ b/src/nos/lib/messages_lib/0051_6879__20_20_20_20_20Subn.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0051_6879__20_20_20_20_20Subn Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 20 20 20 20 20 53 75 62 6e +R 00 00 01 00 +T 0b 00 00 00 65 74 20 6d 61 73 6b 3a 20 25 73 +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0051_dac6__20_20_20_20_25_2d4.rel b/src/nos/lib/messages_lib/0051_dac6__20_20_20_20_25_2d4.rel deleted file mode 100644 index a7874103..00000000 --- a/src/nos/lib/messages_lib/0051_dac6__20_20_20_20_25_2d4.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___0051_dac6__20_20_20_20_25_2d4 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 20 20 20 20 25 2d 34 64 25 -R 00 00 01 00 -T 0b 00 00 00 35 64 20 25 2d 31 30 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0052_b576__20_20_20_20_2512s.rel b/src/nos/lib/messages_lib/0052_b576__20_20_20_20_2512s.rel deleted file mode 100644 index 844b5915..00000000 --- a/src/nos/lib/messages_lib/0052_b576__20_20_20_20_2512s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___0052_b576__20_20_20_20_2512s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 20 20 20 20 25 31 32 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0052_dac6__20_20_20_20_25_2d4.rel b/src/nos/lib/messages_lib/0052_dac6__20_20_20_20_25_2d4.rel new file mode 100644 index 00000000..b7dad1a7 --- /dev/null +++ b/src/nos/lib/messages_lib/0052_dac6__20_20_20_20_25_2d4.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___0052_dac6__20_20_20_20_25_2d4 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 20 20 20 20 25 2d 34 64 25 +R 00 00 01 00 +T 0b 00 00 00 35 64 20 25 2d 31 30 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0053_b576__20_20_20_20_2512s.rel b/src/nos/lib/messages_lib/0053_b576__20_20_20_20_2512s.rel new file mode 100644 index 00000000..1960726b --- /dev/null +++ b/src/nos/lib/messages_lib/0053_b576__20_20_20_20_2512s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___0053_b576__20_20_20_20_2512s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 20 20 20 20 25 31 32 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0053_e5e6__20_20_20_20_253u_0.rel b/src/nos/lib/messages_lib/0053_e5e6__20_20_20_20_253u_0.rel deleted file mode 100644 index a469b987..00000000 --- a/src/nos/lib/messages_lib/0053_e5e6__20_20_20_20_253u_0.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___0053_e5e6__20_20_20_20_253u_0 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 20 20 20 20 25 33 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0054_e5e6__20_20_20_20_253u_0.rel b/src/nos/lib/messages_lib/0054_e5e6__20_20_20_20_253u_0.rel new file mode 100644 index 00000000..dfdf563a --- /dev/null +++ b/src/nos/lib/messages_lib/0054_e5e6__20_20_20_20_253u_0.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___0054_e5e6__20_20_20_20_253u_0 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 20 20 20 20 25 33 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0054_ed50__20_20_20_20_25s_20.rel b/src/nos/lib/messages_lib/0054_ed50__20_20_20_20_25s_20.rel deleted file mode 100644 index 60bdcac7..00000000 --- a/src/nos/lib/messages_lib/0054_ed50__20_20_20_20_25s_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___0054_ed50__20_20_20_20_25s_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 20 20 20 20 25 73 20 20 69 -R 00 00 01 00 -T 0b 00 00 00 6e 20 75 73 65 20 62 79 20 25 73 -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0055_3528__20_20_20_20_25s_20.rel b/src/nos/lib/messages_lib/0055_3528__20_20_20_20_25s_20.rel deleted file mode 100644 index ab799592..00000000 --- a/src/nos/lib/messages_lib/0055_3528__20_20_20_20_25s_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___0055_3528__20_20_20_20_25s_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 20 20 20 20 25 73 20 20 69 -R 00 00 01 00 -T 0b 00 00 00 6e 20 75 73 65 20 62 79 20 25 73 -R 00 00 01 00 -T 16 00 00 00 3f 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0055_ed50__20_20_20_20_25s_20.rel b/src/nos/lib/messages_lib/0055_ed50__20_20_20_20_25s_20.rel new file mode 100644 index 00000000..bc7ee417 --- /dev/null +++ b/src/nos/lib/messages_lib/0055_ed50__20_20_20_20_25s_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0055_ed50__20_20_20_20_25s_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 20 20 20 20 25 73 20 20 69 +R 00 00 01 00 +T 0b 00 00 00 6e 20 75 73 65 20 62 79 20 25 73 +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0056_3528__20_20_20_20_25s_20.rel b/src/nos/lib/messages_lib/0056_3528__20_20_20_20_25s_20.rel new file mode 100644 index 00000000..41e122ad --- /dev/null +++ b/src/nos/lib/messages_lib/0056_3528__20_20_20_20_25s_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___0056_3528__20_20_20_20_25s_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 20 20 20 20 25 73 20 20 69 +R 00 00 01 00 +T 0b 00 00 00 6e 20 75 73 65 20 62 79 20 25 73 +R 00 00 01 00 +T 16 00 00 00 3f 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0056_cbdf__20_20_20_20_25s_20.rel b/src/nos/lib/messages_lib/0056_cbdf__20_20_20_20_25s_20.rel deleted file mode 100644 index 442e00ad..00000000 --- a/src/nos/lib/messages_lib/0056_cbdf__20_20_20_20_25s_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0056_cbdf__20_20_20_20_25s_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 20 20 20 20 25 73 20 20 6c -R 00 00 01 00 -T 0b 00 00 00 61 73 74 20 75 73 65 64 20 62 79 -R 00 00 01 00 -T 16 00 00 00 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0057_cbdf__20_20_20_20_25s_20.rel b/src/nos/lib/messages_lib/0057_cbdf__20_20_20_20_25s_20.rel new file mode 100644 index 00000000..2406d9c1 --- /dev/null +++ b/src/nos/lib/messages_lib/0057_cbdf__20_20_20_20_25s_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0057_cbdf__20_20_20_20_25s_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 20 20 20 20 25 73 20 20 6c +R 00 00 01 00 +T 0b 00 00 00 61 73 74 20 75 73 65 64 20 62 79 +R 00 00 01 00 +T 16 00 00 00 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0057_f7f3__20_20_20_20_26UCB_.rel b/src/nos/lib/messages_lib/0057_f7f3__20_20_20_20_26UCB_.rel deleted file mode 100644 index 8e812811..00000000 --- a/src/nos/lib/messages_lib/0057_f7f3__20_20_20_20_26UCB_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___0057_f7f3__20_20_20_20_26UCB_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 20 20 20 20 26 55 43 42 20 -R 00 00 01 00 -T 0b 00 00 00 52 63 76 2d 51 20 20 4c 6f 63 61 -R 00 00 01 00 -T 16 00 00 00 6c 20 73 6f 63 6b 65 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0058_9bd9__20_20_20_20In_09TC.rel b/src/nos/lib/messages_lib/0058_9bd9__20_20_20_20In_09TC.rel deleted file mode 100644 index 657e46fc..00000000 --- a/src/nos/lib/messages_lib/0058_9bd9__20_20_20_20In_09TC.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 44 flags 0 -S ___0058_9bd9__20_20_20_20In_09TC Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 42 00 20 20 20 20 49 6e 09 54 43 -R 00 00 01 00 -T 0b 00 00 00 50 20 68 65 61 64 65 72 20 63 6f -R 00 00 01 00 -T 16 00 00 00 6d 70 72 65 73 73 69 6f 6e 20 65 -R 00 00 01 00 -T 21 00 00 00 6e 61 62 6c 65 64 3a 20 73 6c 6f -R 00 00 01 00 -T 2c 00 00 00 74 73 20 3d 20 25 64 2c 20 66 6c -R 00 00 01 00 -T 37 00 00 00 61 67 20 3d 20 30 78 25 30 32 78 -R 00 00 01 00 -T 42 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0058_f7f3__20_20_20_20_26UCB_.rel b/src/nos/lib/messages_lib/0058_f7f3__20_20_20_20_26UCB_.rel new file mode 100644 index 00000000..355d46f9 --- /dev/null +++ b/src/nos/lib/messages_lib/0058_f7f3__20_20_20_20_26UCB_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___0058_f7f3__20_20_20_20_26UCB_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 20 20 20 20 26 55 43 42 20 +R 00 00 01 00 +T 0b 00 00 00 52 63 76 2d 51 20 20 4c 6f 63 61 +R 00 00 01 00 +T 16 00 00 00 6c 20 73 6f 63 6b 65 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0059_7788__20_20_20_20Out_09T.rel b/src/nos/lib/messages_lib/0059_7788__20_20_20_20Out_09T.rel deleted file mode 100644 index 58467a51..00000000 --- a/src/nos/lib/messages_lib/0059_7788__20_20_20_20Out_09T.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 45 flags 0 -S ___0059_7788__20_20_20_20Out_09T Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 43 00 20 20 20 20 4f 75 74 09 54 -R 00 00 01 00 -T 0b 00 00 00 43 50 20 68 65 61 64 65 72 20 63 -R 00 00 01 00 -T 16 00 00 00 6f 6d 70 72 65 73 73 69 6f 6e 20 -R 00 00 01 00 -T 21 00 00 00 65 6e 61 62 6c 65 64 3a 20 73 6c -R 00 00 01 00 -T 2c 00 00 00 6f 74 73 20 3d 20 25 64 2c 20 66 -R 00 00 01 00 -T 37 00 00 00 6c 61 67 20 3d 20 30 78 25 30 32 -R 00 00 01 00 -T 42 00 00 00 78 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0059_9bd9__20_20_20_20In_09TC.rel b/src/nos/lib/messages_lib/0059_9bd9__20_20_20_20In_09TC.rel new file mode 100644 index 00000000..35f8fc04 --- /dev/null +++ b/src/nos/lib/messages_lib/0059_9bd9__20_20_20_20In_09TC.rel @@ -0,0 +1,22 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 44 flags 0 +S ___0059_9bd9__20_20_20_20In_09TC Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 42 00 20 20 20 20 49 6e 09 54 43 +R 00 00 01 00 +T 0b 00 00 00 50 20 68 65 61 64 65 72 20 63 6f +R 00 00 01 00 +T 16 00 00 00 6d 70 72 65 73 73 69 6f 6e 20 65 +R 00 00 01 00 +T 21 00 00 00 6e 61 62 6c 65 64 3a 20 73 6c 6f +R 00 00 01 00 +T 2c 00 00 00 74 73 20 3d 20 25 64 2c 20 66 6c +R 00 00 01 00 +T 37 00 00 00 61 67 20 3d 20 30 78 25 30 32 78 +R 00 00 01 00 +T 42 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/005a_7788__20_20_20_20Out_09T.rel b/src/nos/lib/messages_lib/005a_7788__20_20_20_20Out_09T.rel new file mode 100644 index 00000000..0ed0140a --- /dev/null +++ b/src/nos/lib/messages_lib/005a_7788__20_20_20_20Out_09T.rel @@ -0,0 +1,22 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 45 flags 0 +S ___005a_7788__20_20_20_20Out_09T Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 43 00 20 20 20 20 4f 75 74 09 54 +R 00 00 01 00 +T 0b 00 00 00 43 50 20 68 65 61 64 65 72 20 63 +R 00 00 01 00 +T 16 00 00 00 6f 6d 70 72 65 73 73 69 6f 6e 20 +R 00 00 01 00 +T 21 00 00 00 65 6e 61 62 6c 65 64 3a 20 73 6c +R 00 00 01 00 +T 2c 00 00 00 6f 74 73 20 3d 20 25 64 2c 20 66 +R 00 00 01 00 +T 37 00 00 00 6c 61 67 20 3d 20 30 78 25 30 32 +R 00 00 01 00 +T 42 00 00 00 78 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/005a_8f4d__20_20_20_20Record_.rel b/src/nos/lib/messages_lib/005a_8f4d__20_20_20_20Record_.rel deleted file mode 100644 index cbe9fbf4..00000000 --- a/src/nos/lib/messages_lib/005a_8f4d__20_20_20_20Record_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___005a_8f4d__20_20_20_20Record_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 20 20 20 20 52 65 63 6f 72 -R 00 00 01 00 -T 0b 00 00 00 64 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/005b_8f4d__20_20_20_20Record_.rel b/src/nos/lib/messages_lib/005b_8f4d__20_20_20_20Record_.rel new file mode 100644 index 00000000..8ff56b21 --- /dev/null +++ b/src/nos/lib/messages_lib/005b_8f4d__20_20_20_20Record_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___005b_8f4d__20_20_20_20Record_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 20 20 20 20 52 65 63 6f 72 +R 00 00 01 00 +T 0b 00 00 00 64 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/005b_eacd__20_20_20_20Upload_.rel b/src/nos/lib/messages_lib/005b_eacd__20_20_20_20Upload_.rel deleted file mode 100644 index 443d47a1..00000000 --- a/src/nos/lib/messages_lib/005b_eacd__20_20_20_20Upload_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___005b_eacd__20_20_20_20Upload_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 20 20 20 20 55 70 6c 6f 61 -R 00 00 01 00 -T 0b 00 00 00 64 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/005c_2da2__20_20_20_25s_0a.rel b/src/nos/lib/messages_lib/005c_2da2__20_20_20_25s_0a.rel deleted file mode 100644 index 55a62077..00000000 --- a/src/nos/lib/messages_lib/005c_2da2__20_20_20_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___005c_2da2__20_20_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 20 20 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/005c_9578__20_20_20_20Set_20n.rel b/src/nos/lib/messages_lib/005c_9578__20_20_20_20Set_20n.rel new file mode 100644 index 00000000..145b160c --- /dev/null +++ b/src/nos/lib/messages_lib/005c_9578__20_20_20_20Set_20n.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2b flags 0 +S ___005c_9578__20_20_20_20Set_20n Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 29 00 20 20 20 20 53 65 74 20 6e +R 00 00 01 00 +T 0b 00 00 00 65 77 20 4d 54 55 20 66 6f 72 20 +R 00 00 01 00 +T 16 00 00 00 6f 75 74 67 6f 69 6e 67 20 70 61 +R 00 00 01 00 +T 21 00 00 00 63 6b 65 74 73 3a 20 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/005d_ad66__20_20_20PUSH.rel b/src/nos/lib/messages_lib/005d_ad66__20_20_20PUSH.rel deleted file mode 100644 index 4e4167b8..00000000 --- a/src/nos/lib/messages_lib/005d_ad66__20_20_20PUSH.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___005d_ad66__20_20_20PUSH Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 20 20 20 50 55 53 48 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/005d_eacd__20_20_20_20Upload_.rel b/src/nos/lib/messages_lib/005d_eacd__20_20_20_20Upload_.rel new file mode 100644 index 00000000..3548d132 --- /dev/null +++ b/src/nos/lib/messages_lib/005d_eacd__20_20_20_20Upload_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___005d_eacd__20_20_20_20Upload_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 20 20 20 20 55 70 6c 6f 61 +R 00 00 01 00 +T 0b 00 00 00 64 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/005e_94e3__20_20_20_20checkin.rel b/src/nos/lib/messages_lib/005e_94e3__20_20_20_20checkin.rel new file mode 100644 index 00000000..0a7bb69d --- /dev/null +++ b/src/nos/lib/messages_lib/005e_94e3__20_20_20_20checkin.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___005e_94e3__20_20_20_20checkin Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 20 20 20 20 63 68 65 63 6b +R 00 00 01 00 +T 0b 00 00 00 69 6e 67 20 41 43 43 4d 3a 20 30 +R 00 00 01 00 +T 16 00 00 00 78 25 30 38 6c 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/005e_9f3a__20_20_20TCP_20chec.rel b/src/nos/lib/messages_lib/005e_9f3a__20_20_20TCP_20chec.rel deleted file mode 100644 index c5e93d9e..00000000 --- a/src/nos/lib/messages_lib/005e_9f3a__20_20_20TCP_20chec.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___005e_9f3a__20_20_20TCP_20chec Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 20 20 20 54 43 50 20 63 68 -R 00 00 01 00 -T 0b 00 00 00 65 63 6b 73 75 6d 3a 20 30 78 25 -R 00 00 01 00 -T 16 00 00 00 30 34 78 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/005f_14a8__20_20_20_20checkin.rel b/src/nos/lib/messages_lib/005f_14a8__20_20_20_20checkin.rel new file mode 100644 index 00000000..50df9a16 --- /dev/null +++ b/src/nos/lib/messages_lib/005f_14a8__20_20_20_20checkin.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___005f_14a8__20_20_20_20checkin Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 20 20 20 20 63 68 65 63 6b +R 00 00 01 00 +T 0b 00 00 00 69 6e 67 20 41 64 64 72 2f 43 74 +R 00 00 01 00 +T 16 00 00 00 6c 20 63 6f 6d 70 72 65 73 73 69 +R 00 00 01 00 +T 21 00 00 00 6f 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/005f_5946__20_20_20connection.rel b/src/nos/lib/messages_lib/005f_5946__20_20_20connection.rel deleted file mode 100644 index 4aecffdf..00000000 --- a/src/nos/lib/messages_lib/005f_5946__20_20_20connection.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___005f_5946__20_20_20connection Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 20 20 20 63 6f 6e 6e 65 63 -R 00 00 01 00 -T 0b 00 00 00 74 69 6f 6e 3a 20 30 78 25 30 32 -R 00 00 01 00 -T 16 00 00 00 78 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0060_9d66__20_20_20_20checkin.rel b/src/nos/lib/messages_lib/0060_9d66__20_20_20_20checkin.rel new file mode 100644 index 00000000..7be934c4 --- /dev/null +++ b/src/nos/lib/messages_lib/0060_9d66__20_20_20_20checkin.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___0060_9d66__20_20_20_20checkin Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 20 20 20 20 63 68 65 63 6b +R 00 00 01 00 +T 0b 00 00 00 69 6e 67 20 41 75 74 68 20 50 72 +R 00 00 01 00 +T 16 00 00 00 6f 74 6f 63 6f 6c 3a 20 30 78 25 +R 00 00 01 00 +T 21 00 00 00 30 34 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0060_f01f__20_20_3d_3d_3d_3d_.rel b/src/nos/lib/messages_lib/0060_f01f__20_20_3d_3d_3d_3d_.rel deleted file mode 100644 index cdb1dabb..00000000 --- a/src/nos/lib/messages_lib/0060_f01f__20_20_3d_3d_3d_3d_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0060_f01f__20_20_3d_3d_3d_3d_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 20 20 3d 3d 3d 3d 3d 20 25 -R 00 00 01 00 -T 0b 00 00 00 73 20 66 6f 6c 6c 6f 77 73 20 3d -R 00 00 01 00 -T 16 00 00 00 3d 3d 3d 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0061_49a9__20_20_20_20checkin.rel b/src/nos/lib/messages_lib/0061_49a9__20_20_20_20checkin.rel new file mode 100644 index 00000000..c331ea08 --- /dev/null +++ b/src/nos/lib/messages_lib/0061_49a9__20_20_20_20checkin.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___0061_49a9__20_20_20_20checkin Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 20 20 20 20 63 68 65 63 6b +R 00 00 01 00 +T 0b 00 00 00 69 6e 67 20 49 50 20 63 6f 6d 70 +R 00 00 01 00 +T 16 00 00 00 72 65 73 73 69 6f 6e 20 30 78 25 +R 00 00 01 00 +T 21 00 00 00 30 34 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0061_cfff__20_20_3d_3d_3d_3d_.rel b/src/nos/lib/messages_lib/0061_cfff__20_20_3d_3d_3d_3d_.rel deleted file mode 100644 index fe1de46e..00000000 --- a/src/nos/lib/messages_lib/0061_cfff__20_20_3d_3d_3d_3d_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___0061_cfff__20_20_3d_3d_3d_3d_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 20 20 3d 3d 3d 3d 3d 20 74 -R 00 00 01 00 -T 0b 00 00 00 72 61 6e 73 63 72 69 70 74 20 66 -R 00 00 01 00 -T 16 00 00 00 6f 6c 6c 6f 77 73 20 3d 3d 3d 3d -R 00 00 01 00 -T 21 00 00 00 3d 0a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0062_19af__20_20_20_20checkin.rel b/src/nos/lib/messages_lib/0062_19af__20_20_20_20checkin.rel new file mode 100644 index 00000000..70a7fcc7 --- /dev/null +++ b/src/nos/lib/messages_lib/0062_19af__20_20_20_20checkin.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 29 flags 0 +S ___0062_19af__20_20_20_20checkin Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 27 00 20 20 20 20 63 68 65 63 6b +R 00 00 01 00 +T 0b 00 00 00 69 6e 67 20 49 50 20 64 65 73 74 +R 00 00 01 00 +T 16 00 00 00 69 6e 61 74 69 6f 6e 20 61 64 64 +R 00 00 01 00 +T 21 00 00 00 72 65 73 73 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0062_8181__20_20SR_20_5bnumbe.rel b/src/nos/lib/messages_lib/0062_8181__20_20SR_20_5bnumbe.rel deleted file mode 100644 index fd5f354c..00000000 --- a/src/nos/lib/messages_lib/0062_8181__20_20SR_20_5bnumbe.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___0062_8181__20_20SR_20_5bnumbe Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 20 20 53 52 20 5b 6e 75 6d -R 00 00 01 00 -T 0b 00 00 00 62 65 72 5d 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0063_1149__20_20S_5bF_5d_20na.rel b/src/nos/lib/messages_lib/0063_1149__20_20S_5bF_5d_20na.rel deleted file mode 100644 index e0a2fd52..00000000 --- a/src/nos/lib/messages_lib/0063_1149__20_20S_5bF_5d_20na.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 35 flags 0 -S ___0063_1149__20_20S_5bF_5d_20na Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 33 00 20 20 53 5b 46 5d 20 6e 61 -R 00 00 01 00 -T 0b 00 00 00 6d 65 20 5b 40 20 68 6f 73 74 5d -R 00 00 01 00 -T 16 00 00 00 20 5b 3c 20 66 72 6f 6d 5f 61 64 -R 00 00 01 00 -T 21 00 00 00 64 72 5d 20 5b 24 62 75 6c 6c 65 -R 00 00 01 00 -T 2c 00 00 00 74 69 6e 5f 69 64 5d 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0063_edc5__20_20_20_20checkin.rel b/src/nos/lib/messages_lib/0063_edc5__20_20_20_20checkin.rel new file mode 100644 index 00000000..0aa4817a --- /dev/null +++ b/src/nos/lib/messages_lib/0063_edc5__20_20_20_20checkin.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___0063_edc5__20_20_20_20checkin Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 20 20 20 20 63 68 65 63 6b +R 00 00 01 00 +T 0b 00 00 00 69 6e 67 20 49 50 20 73 6f 75 72 +R 00 00 01 00 +T 16 00 00 00 63 65 20 61 64 64 72 65 73 73 3a +R 00 00 01 00 +T 21 00 00 00 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0064_47af__20_20remote_20IP_2.rel b/src/nos/lib/messages_lib/0064_47af__20_20remote_20IP_2.rel deleted file mode 100644 index fb0beedb..00000000 --- a/src/nos/lib/messages_lib/0064_47af__20_20remote_20IP_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0064_47af__20_20remote_20IP_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 20 20 72 65 6d 6f 74 65 20 -R 00 00 01 00 -T 0b 00 00 00 49 50 20 61 64 64 72 65 73 73 3a -R 00 00 01 00 -T 16 00 00 00 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0064_4df8__20_20_20_20checkin.rel b/src/nos/lib/messages_lib/0064_4df8__20_20_20_20checkin.rel new file mode 100644 index 00000000..4e58eda1 --- /dev/null +++ b/src/nos/lib/messages_lib/0064_4df8__20_20_20_20checkin.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___0064_4df8__20_20_20_20checkin Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 20 20 20 20 63 68 65 63 6b +R 00 00 01 00 +T 0b 00 00 00 69 6e 67 20 4d 52 55 3a 20 25 64 +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0065_0ca6__20_20_20_20checkin.rel b/src/nos/lib/messages_lib/0065_0ca6__20_20_20_20checkin.rel new file mode 100644 index 00000000..55d68055 --- /dev/null +++ b/src/nos/lib/messages_lib/0065_0ca6__20_20_20_20checkin.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___0065_0ca6__20_20_20_20checkin Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 20 20 20 20 63 68 65 63 6b +R 00 00 01 00 +T 0b 00 00 00 69 6e 67 20 4d 61 67 69 63 20 4e +R 00 00 01 00 +T 16 00 00 00 75 6d 62 65 72 3a 20 30 78 25 30 +R 00 00 01 00 +T 21 00 00 00 38 6c 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0065_ccb1__20_20seq_20x_25lx_.rel b/src/nos/lib/messages_lib/0065_ccb1__20_20seq_20x_25lx_.rel deleted file mode 100644 index 8a9c4624..00000000 --- a/src/nos/lib/messages_lib/0065_ccb1__20_20seq_20x_25lx_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___0065_ccb1__20_20seq_20x_25lx_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 20 20 73 65 71 20 78 25 6c -R 00 00 01 00 -T 0b 00 00 00 78 20 25 75 20 62 79 74 65 73 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0066_a6cb__20_20_20_20checkin.rel b/src/nos/lib/messages_lib/0066_a6cb__20_20_20_20checkin.rel new file mode 100644 index 00000000..4e19216c --- /dev/null +++ b/src/nos/lib/messages_lib/0066_a6cb__20_20_20_20checkin.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___0066_a6cb__20_20_20_20checkin Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 20 20 20 20 63 68 65 63 6b +R 00 00 01 00 +T 0b 00 00 00 69 6e 67 20 50 72 6f 74 6f 63 6f +R 00 00 01 00 +T 16 00 00 00 6c 20 63 6f 6d 70 72 65 73 73 69 +R 00 00 01 00 +T 21 00 00 00 6f 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0066_c997__20_21_3f.rel b/src/nos/lib/messages_lib/0066_c997__20_21_3f.rel deleted file mode 100644 index 79109ec1..00000000 --- a/src/nos/lib/messages_lib/0066_c997__20_21_3f.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0066_c997__20_21_3f Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 20 21 3f 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0067_536e__20_21A.rel b/src/nos/lib/messages_lib/0067_536e__20_21A.rel deleted file mode 100644 index 27216602..00000000 --- a/src/nos/lib/messages_lib/0067_536e__20_21A.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0067_536e__20_21A Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 20 21 41 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0067_c499__20_20_20_20checkin.rel b/src/nos/lib/messages_lib/0067_c499__20_20_20_20checkin.rel new file mode 100644 index 00000000..40194611 --- /dev/null +++ b/src/nos/lib/messages_lib/0067_c499__20_20_20_20checkin.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___0067_c499__20_20_20_20checkin Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 20 20 20 20 63 68 65 63 6b +R 00 00 01 00 +T 0b 00 00 00 69 6e 67 20 70 61 73 73 77 6f 72 +R 00 00 01 00 +T 16 00 00 00 64 3a 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0068_232a__20_20_20_20checkin.rel b/src/nos/lib/messages_lib/0068_232a__20_20_20_20checkin.rel new file mode 100644 index 00000000..df11258b --- /dev/null +++ b/src/nos/lib/messages_lib/0068_232a__20_20_20_20checkin.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0068_232a__20_20_20_20checkin Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 20 20 20 20 63 68 65 63 6b +R 00 00 01 00 +T 0b 00 00 00 69 6e 67 20 75 73 65 72 3a 20 25 +R 00 00 01 00 +T 16 00 00 00 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0068_27d1__20_21F.rel b/src/nos/lib/messages_lib/0068_27d1__20_21F.rel deleted file mode 100644 index e28c4cb6..00000000 --- a/src/nos/lib/messages_lib/0068_27d1__20_21F.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0068_27d1__20_21F Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 20 21 46 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0069_4125__20_20_20_20making_.rel b/src/nos/lib/messages_lib/0069_4125__20_20_20_20making_.rel new file mode 100644 index 00000000..a23fb14b --- /dev/null +++ b/src/nos/lib/messages_lib/0069_4125__20_20_20_20making_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0069_4125__20_20_20_20making_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 20 20 20 20 6d 61 6b 69 6e +R 00 00 01 00 +T 0b 00 00 00 67 20 41 43 43 4d 3a 20 30 78 25 +R 00 00 01 00 +T 16 00 00 00 30 38 6c 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0069_ceaf__20_21H.rel b/src/nos/lib/messages_lib/0069_ceaf__20_21H.rel deleted file mode 100644 index 2aad46c6..00000000 --- a/src/nos/lib/messages_lib/0069_ceaf__20_21H.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0069_ceaf__20_21H Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 20 21 48 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/006a_5c3a__20_20_20_20making_.rel b/src/nos/lib/messages_lib/006a_5c3a__20_20_20_20making_.rel new file mode 100644 index 00000000..0ddf4eca --- /dev/null +++ b/src/nos/lib/messages_lib/006a_5c3a__20_20_20_20making_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___006a_5c3a__20_20_20_20making_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 20 20 20 20 6d 61 6b 69 6e +R 00 00 01 00 +T 0b 00 00 00 67 20 41 64 64 72 2f 43 74 6c 20 +R 00 00 01 00 +T 16 00 00 00 63 6f 6d 70 72 65 73 73 69 6f 6e +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/006a_ab99__20_21N.rel b/src/nos/lib/messages_lib/006a_ab99__20_21N.rel deleted file mode 100644 index 6d776ffb..00000000 --- a/src/nos/lib/messages_lib/006a_ab99__20_21N.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___006a_ab99__20_21N Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 20 21 4e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/006b_2ab5__20_20_20_20making_.rel b/src/nos/lib/messages_lib/006b_2ab5__20_20_20_20making_.rel new file mode 100644 index 00000000..37878e49 --- /dev/null +++ b/src/nos/lib/messages_lib/006b_2ab5__20_20_20_20making_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___006b_2ab5__20_20_20_20making_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 20 20 20 20 6d 61 6b 69 6e +R 00 00 01 00 +T 0b 00 00 00 67 20 41 75 74 68 20 50 72 6f 74 +R 00 00 01 00 +T 16 00 00 00 6f 63 6f 6c 3a 20 30 78 25 30 34 +R 00 00 01 00 +T 21 00 00 00 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/006b_5266__20_21P.rel b/src/nos/lib/messages_lib/006b_5266__20_21P.rel deleted file mode 100644 index e8383e39..00000000 --- a/src/nos/lib/messages_lib/006b_5266__20_21P.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___006b_5266__20_21P Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 20 21 50 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/006c_60fd__20_21S.rel b/src/nos/lib/messages_lib/006c_60fd__20_21S.rel deleted file mode 100644 index bacab29c..00000000 --- a/src/nos/lib/messages_lib/006c_60fd__20_21S.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___006c_60fd__20_21S Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 20 21 53 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/006c_fe7a__20_20_20_20making_.rel b/src/nos/lib/messages_lib/006c_fe7a__20_20_20_20making_.rel new file mode 100644 index 00000000..6dd49898 --- /dev/null +++ b/src/nos/lib/messages_lib/006c_fe7a__20_20_20_20making_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___006c_fe7a__20_20_20_20making_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 20 20 20 20 6d 61 6b 69 6e +R 00 00 01 00 +T 0b 00 00 00 67 20 49 50 20 63 6f 6d 70 72 65 +R 00 00 01 00 +T 16 00 00 00 73 73 69 6f 6e 20 30 78 25 30 34 +R 00 00 01 00 +T 21 00 00 00 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/006d_bac3__20_23_20_20S_23_20.rel b/src/nos/lib/messages_lib/006d_bac3__20_23_20_20S_23_20.rel deleted file mode 100644 index 240fc95d..00000000 --- a/src/nos/lib/messages_lib/006d_bac3__20_23_20_20S_23_20.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 39 flags 0 -S ___006d_bac3__20_23_20_20S_23_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 37 00 20 23 20 20 53 23 20 20 53 -R 00 00 01 00 -T 0b 00 00 00 6e 64 2d 51 20 53 74 61 74 65 20 -R 00 00 01 00 -T 16 00 00 00 20 20 20 20 52 65 6d 6f 74 65 20 -R 00 00 01 00 -T 21 00 00 00 73 6f 63 6b 65 74 20 20 20 20 20 -R 00 00 01 00 -T 2c 00 00 00 20 20 20 20 43 6f 6d 6d 61 6e 64 -R 00 00 01 00 -T 37 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/006d_c25d__20_20_20_20making_.rel b/src/nos/lib/messages_lib/006d_c25d__20_20_20_20making_.rel new file mode 100644 index 00000000..6df4c988 --- /dev/null +++ b/src/nos/lib/messages_lib/006d_c25d__20_20_20_20making_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 27 flags 0 +S ___006d_c25d__20_20_20_20making_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 25 00 20 20 20 20 6d 61 6b 69 6e +R 00 00 01 00 +T 0b 00 00 00 67 20 49 50 20 64 65 73 74 69 6e +R 00 00 01 00 +T 16 00 00 00 61 74 69 6f 6e 20 61 64 64 72 65 +R 00 00 01 00 +T 21 00 00 00 73 73 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/006e_5a16__20_20_20_20making_.rel b/src/nos/lib/messages_lib/006e_5a16__20_20_20_20making_.rel new file mode 100644 index 00000000..7fb4ce33 --- /dev/null +++ b/src/nos/lib/messages_lib/006e_5a16__20_20_20_20making_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___006e_5a16__20_20_20_20making_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 20 20 20 20 6d 61 6b 69 6e +R 00 00 01 00 +T 0b 00 00 00 67 20 49 50 20 73 6f 75 72 63 65 +R 00 00 01 00 +T 16 00 00 00 20 61 64 64 72 65 73 73 3a 20 25 +R 00 00 01 00 +T 21 00 00 00 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/006e_9a7d__20_25_2d15s.rel b/src/nos/lib/messages_lib/006e_9a7d__20_25_2d15s.rel deleted file mode 100644 index 403cbce7..00000000 --- a/src/nos/lib/messages_lib/006e_9a7d__20_25_2d15s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___006e_9a7d__20_25_2d15s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 20 25 2d 31 35 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/006f_6c96__20_20_20_20making_.rel b/src/nos/lib/messages_lib/006f_6c96__20_20_20_20making_.rel new file mode 100644 index 00000000..2e9835f7 --- /dev/null +++ b/src/nos/lib/messages_lib/006f_6c96__20_20_20_20making_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___006f_6c96__20_20_20_20making_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 20 20 20 20 6d 61 6b 69 6e +R 00 00 01 00 +T 0b 00 00 00 67 20 4d 52 55 3a 20 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/006f_85f4__20_25_2d3d_20.rel b/src/nos/lib/messages_lib/006f_85f4__20_25_2d3d_20.rel deleted file mode 100644 index d5fedfa7..00000000 --- a/src/nos/lib/messages_lib/006f_85f4__20_25_2d3d_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___006f_85f4__20_25_2d3d_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 20 25 2d 33 64 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0070_a413__20_2502u_2f_2502u.rel b/src/nos/lib/messages_lib/0070_a413__20_2502u_2f_2502u.rel deleted file mode 100644 index 170bc24b..00000000 --- a/src/nos/lib/messages_lib/0070_a413__20_2502u_2f_2502u.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___0070_a413__20_2502u_2f_2502u Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 20 25 30 32 75 2f 25 30 32 -R 00 00 01 00 -T 0b 00 00 00 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0070_bb75__20_20_20_20making_.rel b/src/nos/lib/messages_lib/0070_bb75__20_20_20_20making_.rel new file mode 100644 index 00000000..c9dab613 --- /dev/null +++ b/src/nos/lib/messages_lib/0070_bb75__20_20_20_20making_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___0070_bb75__20_20_20_20making_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 20 20 20 20 6d 61 6b 69 6e +R 00 00 01 00 +T 0b 00 00 00 67 20 4d 61 67 69 63 20 4e 75 6d +R 00 00 01 00 +T 16 00 00 00 62 65 72 3a 20 30 78 25 30 38 6c +R 00 00 01 00 +T 21 00 00 00 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0071_d8f4__20_2502u_2f_2502u_.rel b/src/nos/lib/messages_lib/0071_d8f4__20_2502u_2f_2502u_.rel deleted file mode 100644 index e1d1c728..00000000 --- a/src/nos/lib/messages_lib/0071_d8f4__20_2502u_2f_2502u_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___0071_d8f4__20_2502u_2f_2502u_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 20 25 30 32 75 2f 25 30 32 -R 00 00 01 00 -T 0b 00 00 00 75 20 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0071_ee59__20_20_20_20making_.rel b/src/nos/lib/messages_lib/0071_ee59__20_20_20_20making_.rel new file mode 100644 index 00000000..c38e309d --- /dev/null +++ b/src/nos/lib/messages_lib/0071_ee59__20_20_20_20making_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___0071_ee59__20_20_20_20making_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 20 20 20 20 6d 61 6b 69 6e +R 00 00 01 00 +T 0b 00 00 00 67 20 50 72 6f 74 6f 63 6f 6c 20 +R 00 00 01 00 +T 16 00 00 00 63 6f 6d 70 72 65 73 73 69 6f 6e +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0072_4d6e__20_2502x.rel b/src/nos/lib/messages_lib/0072_4d6e__20_2502x.rel deleted file mode 100644 index 682f370d..00000000 --- a/src/nos/lib/messages_lib/0072_4d6e__20_2502x.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0072_4d6e__20_2502x Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 20 25 30 32 78 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0072_fa1f__20_20_20_20making_.rel b/src/nos/lib/messages_lib/0072_fa1f__20_20_20_20making_.rel new file mode 100644 index 00000000..f9701674 --- /dev/null +++ b/src/nos/lib/messages_lib/0072_fa1f__20_20_20_20making_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___0072_fa1f__20_20_20_20making_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 20 20 20 20 6d 61 6b 69 6e +R 00 00 01 00 +T 0b 00 00 00 67 20 75 6e 69 6d 70 6c 65 6d 65 +R 00 00 01 00 +T 16 00 00 00 6e 74 65 64 20 74 79 70 65 20 25 +R 00 00 01 00 +T 21 00 00 00 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0073_6383__20_20_20_20making_.rel b/src/nos/lib/messages_lib/0073_6383__20_20_20_20making_.rel new file mode 100644 index 00000000..12c8b377 --- /dev/null +++ b/src/nos/lib/messages_lib/0073_6383__20_20_20_20making_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0073_6383__20_20_20_20making_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 20 20 20 20 6d 61 6b 69 6e +R 00 00 01 00 +T 0b 00 00 00 67 20 75 73 65 72 20 69 64 20 25 +R 00 00 01 00 +T 16 00 00 00 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0073_cad1__20_2510lu_2510lu_2.rel b/src/nos/lib/messages_lib/0073_cad1__20_2510lu_2510lu_2.rel deleted file mode 100644 index 331c449b..00000000 --- a/src/nos/lib/messages_lib/0073_cad1__20_2510lu_2510lu_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___0073_cad1__20_2510lu_2510lu_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 20 25 31 30 6c 75 25 31 30 -R 00 00 01 00 -T 0b 00 00 00 6c 75 25 31 30 6c 75 25 31 30 6c -R 00 00 01 00 -T 16 00 00 00 75 25 31 30 6c 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0074_43b6__20_254d_20_254d.rel b/src/nos/lib/messages_lib/0074_43b6__20_254d_20_254d.rel deleted file mode 100644 index d7346a2f..00000000 --- a/src/nos/lib/messages_lib/0074_43b6__20_254d_20_254d.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___0074_43b6__20_254d_20_254d Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 20 25 34 64 20 25 34 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0074_6fd3__20_20_20_20with_20.rel b/src/nos/lib/messages_lib/0074_6fd3__20_20_20_20with_20.rel new file mode 100644 index 00000000..fe93bd76 --- /dev/null +++ b/src/nos/lib/messages_lib/0074_6fd3__20_20_20_20with_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2c flags 0 +S ___0074_6fd3__20_20_20_20with_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2a 00 20 20 20 20 77 69 74 68 20 +R 00 00 01 00 +T 0b 00 00 00 49 50 20 63 6f 6d 70 72 65 73 73 +R 00 00 01 00 +T 16 00 00 00 69 6f 6e 20 73 6c 6f 74 73 20 25 +R 00 00 01 00 +T 21 00 00 00 64 2c 20 66 6c 61 67 20 25 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0075_2da2__20_20_20_25s_0a.rel b/src/nos/lib/messages_lib/0075_2da2__20_20_20_25s_0a.rel new file mode 100644 index 00000000..9fd2a536 --- /dev/null +++ b/src/nos/lib/messages_lib/0075_2da2__20_20_20_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0075_2da2__20_20_20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 20 20 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0075_78a4__20_258s_20_20_20_2.rel b/src/nos/lib/messages_lib/0075_78a4__20_258s_20_20_20_2.rel deleted file mode 100644 index cf9dc9f1..00000000 --- a/src/nos/lib/messages_lib/0075_78a4__20_258s_20_20_20_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___0075_78a4__20_258s_20_20_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 20 25 38 73 20 20 20 25 34 -R 00 00 01 00 -T 0b 00 00 00 64 20 20 20 25 31 30 6c 75 20 20 -R 00 00 01 00 -T 16 00 00 00 25 31 30 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0076_6904__20_25lu_20bps_0a.rel b/src/nos/lib/messages_lib/0076_6904__20_25lu_20bps_0a.rel deleted file mode 100644 index eece40c6..00000000 --- a/src/nos/lib/messages_lib/0076_6904__20_25lu_20bps_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___0076_6904__20_25lu_20bps_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 20 25 6c 75 20 62 70 73 0a -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0076_ad66__20_20_20PUSH.rel b/src/nos/lib/messages_lib/0076_ad66__20_20_20PUSH.rel new file mode 100644 index 00000000..d4c3aa5b --- /dev/null +++ b/src/nos/lib/messages_lib/0076_ad66__20_20_20PUSH.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0076_ad66__20_20_20PUSH Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 20 20 20 50 55 53 48 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0077_269f__20_25s.rel b/src/nos/lib/messages_lib/0077_269f__20_25s.rel deleted file mode 100644 index 1ba859b0..00000000 --- a/src/nos/lib/messages_lib/0077_269f__20_25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0077_269f__20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0077_9f3a__20_20_20TCP_20chec.rel b/src/nos/lib/messages_lib/0077_9f3a__20_20_20TCP_20chec.rel new file mode 100644 index 00000000..d634e057 --- /dev/null +++ b/src/nos/lib/messages_lib/0077_9f3a__20_20_20TCP_20chec.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___0077_9f3a__20_20_20TCP_20chec Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 20 20 20 54 43 50 20 63 68 +R 00 00 01 00 +T 0b 00 00 00 65 63 6b 73 75 6d 3a 20 30 78 25 +R 00 00 01 00 +T 16 00 00 00 30 34 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0078_5946__20_20_20connection.rel b/src/nos/lib/messages_lib/0078_5946__20_20_20connection.rel new file mode 100644 index 00000000..ea7fbf56 --- /dev/null +++ b/src/nos/lib/messages_lib/0078_5946__20_20_20connection.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0078_5946__20_20_20connection Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 20 20 20 63 6f 6e 6e 65 63 +R 00 00 01 00 +T 0b 00 00 00 74 69 6f 6e 3a 20 30 78 25 30 32 +R 00 00 01 00 +T 16 00 00 00 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0078_c302__20_25s_0a.rel b/src/nos/lib/messages_lib/0078_c302__20_25s_0a.rel deleted file mode 100644 index 1455956d..00000000 --- a/src/nos/lib/messages_lib/0078_c302__20_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0078_c302__20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0079_10eb__20_25s_20_25s_20_2.rel b/src/nos/lib/messages_lib/0079_10eb__20_25s_20_25s_20_2.rel deleted file mode 100644 index 91e6fd7a..00000000 --- a/src/nos/lib/messages_lib/0079_10eb__20_25s_20_25s_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___0079_10eb__20_25s_20_25s_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 20 25 73 20 25 73 20 25 6c -R 00 00 01 00 -T 0b 00 00 00 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0079_f01f__20_20_3d_3d_3d_3d_.rel b/src/nos/lib/messages_lib/0079_f01f__20_20_3d_3d_3d_3d_.rel new file mode 100644 index 00000000..0938c1b2 --- /dev/null +++ b/src/nos/lib/messages_lib/0079_f01f__20_20_3d_3d_3d_3d_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0079_f01f__20_20_3d_3d_3d_3d_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 20 20 3d 3d 3d 3d 3d 20 25 +R 00 00 01 00 +T 0b 00 00 00 73 20 66 6f 6c 6c 6f 77 73 20 3d +R 00 00 01 00 +T 16 00 00 00 3d 3d 3d 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/007a_c236__20_25s_25s.rel b/src/nos/lib/messages_lib/007a_c236__20_25s_25s.rel deleted file mode 100644 index a6303aff..00000000 --- a/src/nos/lib/messages_lib/007a_c236__20_25s_25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___007a_c236__20_25s_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 20 25 73 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/007a_cfff__20_20_3d_3d_3d_3d_.rel b/src/nos/lib/messages_lib/007a_cfff__20_20_3d_3d_3d_3d_.rel new file mode 100644 index 00000000..158dff97 --- /dev/null +++ b/src/nos/lib/messages_lib/007a_cfff__20_20_3d_3d_3d_3d_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___007a_cfff__20_20_3d_3d_3d_3d_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 20 20 3d 3d 3d 3d 3d 20 74 +R 00 00 01 00 +T 0b 00 00 00 72 61 6e 73 63 72 69 70 74 20 66 +R 00 00 01 00 +T 16 00 00 00 6f 6c 6c 6f 77 73 20 3d 3d 3d 3d +R 00 00 01 00 +T 21 00 00 00 3d 0a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/007b_3c84__20_25s_2b_25x.rel b/src/nos/lib/messages_lib/007b_3c84__20_25s_2b_25x.rel deleted file mode 100644 index 6da7c2a3..00000000 --- a/src/nos/lib/messages_lib/007b_3c84__20_25s_2b_25x.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___007b_3c84__20_25s_2b_25x Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 20 25 73 2b 25 78 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/007b_8181__20_20SR_20_5bnumbe.rel b/src/nos/lib/messages_lib/007b_8181__20_20SR_20_5bnumbe.rel new file mode 100644 index 00000000..afd8597c --- /dev/null +++ b/src/nos/lib/messages_lib/007b_8181__20_20SR_20_5bnumbe.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___007b_8181__20_20SR_20_5bnumbe Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 20 20 53 52 20 5b 6e 75 6d +R 00 00 01 00 +T 0b 00 00 00 62 65 72 5d 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/007c_1149__20_20S_5bF_5d_20na.rel b/src/nos/lib/messages_lib/007c_1149__20_20S_5bF_5d_20na.rel new file mode 100644 index 00000000..88738c8d --- /dev/null +++ b/src/nos/lib/messages_lib/007c_1149__20_20S_5bF_5d_20na.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 35 flags 0 +S ___007c_1149__20_20S_5bF_5d_20na Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 33 00 20 20 53 5b 46 5d 20 6e 61 +R 00 00 01 00 +T 0b 00 00 00 6d 65 20 5b 40 20 68 6f 73 74 5d +R 00 00 01 00 +T 16 00 00 00 20 5b 3c 20 66 72 6f 6d 5f 61 64 +R 00 00 01 00 +T 21 00 00 00 64 72 5d 20 5b 24 62 75 6c 6c 65 +R 00 00 01 00 +T 2c 00 00 00 74 69 6e 5f 69 64 5d 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/007c_97d2__20_25u_0a.rel b/src/nos/lib/messages_lib/007c_97d2__20_25u_0a.rel deleted file mode 100644 index 81413722..00000000 --- a/src/nos/lib/messages_lib/007c_97d2__20_25u_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___007c_97d2__20_25u_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 20 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/007d_47af__20_20remote_20IP_2.rel b/src/nos/lib/messages_lib/007d_47af__20_20remote_20IP_2.rel new file mode 100644 index 00000000..fe4da10e --- /dev/null +++ b/src/nos/lib/messages_lib/007d_47af__20_20remote_20IP_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___007d_47af__20_20remote_20IP_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 20 20 72 65 6d 6f 74 65 20 +R 00 00 01 00 +T 0b 00 00 00 49 50 20 61 64 64 72 65 73 73 3a +R 00 00 01 00 +T 16 00 00 00 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/007d_5984__20_25u_2d_3e_25u.rel b/src/nos/lib/messages_lib/007d_5984__20_25u_2d_3e_25u.rel deleted file mode 100644 index cb1fd318..00000000 --- a/src/nos/lib/messages_lib/007d_5984__20_25u_2d_3e_25u.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___007d_5984__20_25u_2d_3e_25u Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 20 25 75 2d 3e 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/007e_98a5__20_28_25ld_20ms_29.rel b/src/nos/lib/messages_lib/007e_98a5__20_28_25ld_20ms_29.rel deleted file mode 100644 index d09e085f..00000000 --- a/src/nos/lib/messages_lib/007e_98a5__20_28_25ld_20ms_29.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___007e_98a5__20_28_25ld_20ms_29 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 20 28 25 6c 64 20 6d 73 29 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/007e_ccb1__20_20seq_20x_25lx_.rel b/src/nos/lib/messages_lib/007e_ccb1__20_20seq_20x_25lx_.rel new file mode 100644 index 00000000..64a14d65 --- /dev/null +++ b/src/nos/lib/messages_lib/007e_ccb1__20_20seq_20x_25lx_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___007e_ccb1__20_20seq_20x_25lx_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 20 20 73 65 71 20 78 25 6c +R 00 00 01 00 +T 0b 00 00 00 78 20 25 75 20 62 79 74 65 73 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/007f_9556__20_28_25s_20seek_3.rel b/src/nos/lib/messages_lib/007f_9556__20_28_25s_20seek_3.rel deleted file mode 100644 index 90f3771e..00000000 --- a/src/nos/lib/messages_lib/007f_9556__20_28_25s_20seek_3.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___007f_9556__20_28_25s_20seek_3 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 20 28 25 73 20 73 65 65 6b -R 00 00 01 00 -T 0b 00 00 00 3d 25 6c 75 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/007f_c997__20_21_3f.rel b/src/nos/lib/messages_lib/007f_c997__20_21_3f.rel new file mode 100644 index 00000000..217a93a6 --- /dev/null +++ b/src/nos/lib/messages_lib/007f_c997__20_21_3f.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___007f_c997__20_21_3f Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 20 21 3f 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0080_536e__20_21A.rel b/src/nos/lib/messages_lib/0080_536e__20_21A.rel new file mode 100644 index 00000000..260325d5 --- /dev/null +++ b/src/nos/lib/messages_lib/0080_536e__20_21A.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0080_536e__20_21A Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 20 21 41 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0080_6268__20_28_25s_29_0a.rel b/src/nos/lib/messages_lib/0080_6268__20_28_25s_29_0a.rel deleted file mode 100644 index eb24085e..00000000 --- a/src/nos/lib/messages_lib/0080_6268__20_28_25s_29_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0080_6268__20_28_25s_29_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 20 28 25 73 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0081_27d1__20_21F.rel b/src/nos/lib/messages_lib/0081_27d1__20_21F.rel new file mode 100644 index 00000000..c7e79848 --- /dev/null +++ b/src/nos/lib/messages_lib/0081_27d1__20_21F.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0081_27d1__20_21F Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 20 21 46 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0081_3f71__20_28ASCII_20dump_.rel b/src/nos/lib/messages_lib/0081_3f71__20_28ASCII_20dump_.rel deleted file mode 100644 index 0da83c5c..00000000 --- a/src/nos/lib/messages_lib/0081_3f71__20_28ASCII_20dump_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___0081_3f71__20_28ASCII_20dump_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 20 28 41 53 43 49 49 20 64 -R 00 00 01 00 -T 0b 00 00 00 75 6d 70 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0082_05b3__20_28Hex_2fASCII_2.rel b/src/nos/lib/messages_lib/0082_05b3__20_28Hex_2fASCII_2.rel deleted file mode 100644 index 25606528..00000000 --- a/src/nos/lib/messages_lib/0082_05b3__20_28Hex_2fASCII_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___0082_05b3__20_28Hex_2fASCII_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 20 28 48 65 78 2f 41 53 43 -R 00 00 01 00 -T 0b 00 00 00 49 49 20 64 75 6d 70 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0082_ceaf__20_21H.rel b/src/nos/lib/messages_lib/0082_ceaf__20_21H.rel new file mode 100644 index 00000000..5ba4f5da --- /dev/null +++ b/src/nos/lib/messages_lib/0082_ceaf__20_21H.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0082_ceaf__20_21H Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 20 21 48 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0083_0cd7__20_28S_29.rel b/src/nos/lib/messages_lib/0083_0cd7__20_28S_29.rel deleted file mode 100644 index 54d0fb51..00000000 --- a/src/nos/lib/messages_lib/0083_0cd7__20_28S_29.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0083_0cd7__20_28S_29 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 20 28 53 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0083_ab99__20_21N.rel b/src/nos/lib/messages_lib/0083_ab99__20_21N.rel new file mode 100644 index 00000000..169cf645 --- /dev/null +++ b/src/nos/lib/messages_lib/0083_ab99__20_21N.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0083_ab99__20_21N Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 20 21 4e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0084_5266__20_21P.rel b/src/nos/lib/messages_lib/0084_5266__20_21P.rel new file mode 100644 index 00000000..63ec7719 --- /dev/null +++ b/src/nos/lib/messages_lib/0084_5266__20_21P.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0084_5266__20_21P Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 20 21 50 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0084_ef5f__20_28headers_20onl.rel b/src/nos/lib/messages_lib/0084_ef5f__20_28headers_20onl.rel deleted file mode 100644 index a9aa855c..00000000 --- a/src/nos/lib/messages_lib/0084_ef5f__20_28headers_20onl.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___0084_ef5f__20_28headers_20onl Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 20 28 68 65 61 64 65 72 73 -R 00 00 01 00 -T 0b 00 00 00 20 6f 6e 6c 79 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0085_60fd__20_21S.rel b/src/nos/lib/messages_lib/0085_60fd__20_21S.rel new file mode 100644 index 00000000..6fc329d9 --- /dev/null +++ b/src/nos/lib/messages_lib/0085_60fd__20_21S.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0085_60fd__20_21S Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 20 21 53 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0085_c04d__20_28published_29.rel b/src/nos/lib/messages_lib/0085_c04d__20_28published_29.rel deleted file mode 100644 index 3991d610..00000000 --- a/src/nos/lib/messages_lib/0085_c04d__20_28published_29.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___0085_c04d__20_28published_29 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 20 28 70 75 62 6c 69 73 68 -R 00 00 01 00 -T 0b 00 00 00 65 64 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0086_ac28__20_2a_2a_2a.rel b/src/nos/lib/messages_lib/0086_ac28__20_2a_2a_2a.rel deleted file mode 100644 index 387faaba..00000000 --- a/src/nos/lib/messages_lib/0086_ac28__20_2a_2a_2a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0086_ac28__20_2a_2a_2a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 20 2a 2a 2a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0086_bac3__20_23_20_20S_23_20.rel b/src/nos/lib/messages_lib/0086_bac3__20_23_20_20S_23_20.rel new file mode 100644 index 00000000..14b56c48 --- /dev/null +++ b/src/nos/lib/messages_lib/0086_bac3__20_23_20_20S_23_20.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 39 flags 0 +S ___0086_bac3__20_23_20_20S_23_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 37 00 20 23 20 20 53 23 20 20 53 +R 00 00 01 00 +T 0b 00 00 00 6e 64 2d 51 20 53 74 61 74 65 20 +R 00 00 01 00 +T 16 00 00 00 20 20 20 20 52 65 6d 6f 74 65 20 +R 00 00 01 00 +T 21 00 00 00 73 6f 63 6b 65 74 20 20 20 20 20 +R 00 00 01 00 +T 2c 00 00 00 20 20 20 20 43 6f 6d 6d 61 6e 64 +R 00 00 01 00 +T 37 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0087_8841__20_2d_20.rel b/src/nos/lib/messages_lib/0087_8841__20_2d_20.rel deleted file mode 100644 index 287f914f..00000000 --- a/src/nos/lib/messages_lib/0087_8841__20_2d_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0087_8841__20_2d_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 20 2d 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0087_9a7d__20_25_2d15s.rel b/src/nos/lib/messages_lib/0087_9a7d__20_25_2d15s.rel new file mode 100644 index 00000000..c8b2151d --- /dev/null +++ b/src/nos/lib/messages_lib/0087_9a7d__20_25_2d15s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0087_9a7d__20_25_2d15s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 20 25 2d 31 35 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0088_85f4__20_25_2d3d_20.rel b/src/nos/lib/messages_lib/0088_85f4__20_25_2d3d_20.rel new file mode 100644 index 00000000..dca94666 --- /dev/null +++ b/src/nos/lib/messages_lib/0088_85f4__20_25_2d3d_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0088_85f4__20_25_2d3d_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 20 25 2d 33 64 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0088_ace7__20_2d_20no_20broad.rel b/src/nos/lib/messages_lib/0088_ace7__20_2d_20no_20broad.rel deleted file mode 100644 index 50788bb4..00000000 --- a/src/nos/lib/messages_lib/0088_ace7__20_2d_20no_20broad.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___0088_ace7__20_2d_20no_20broad Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 20 2d 20 6e 6f 20 62 72 6f -R 00 00 01 00 -T 0b 00 00 00 61 64 63 61 73 74 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0089_01a0__20APND.rel b/src/nos/lib/messages_lib/0089_01a0__20APND.rel deleted file mode 100644 index 4370b039..00000000 --- a/src/nos/lib/messages_lib/0089_01a0__20APND.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0089_01a0__20APND Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 20 41 50 4e 44 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0089_a413__20_2502u_2f_2502u.rel b/src/nos/lib/messages_lib/0089_a413__20_2502u_2f_2502u.rel new file mode 100644 index 00000000..9a109318 --- /dev/null +++ b/src/nos/lib/messages_lib/0089_a413__20_2502u_2f_2502u.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0089_a413__20_2502u_2f_2502u Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 20 25 30 32 75 2f 25 30 32 +R 00 00 01 00 +T 0b 00 00 00 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/008a_2da0__20Ack_20x_25lx.rel b/src/nos/lib/messages_lib/008a_2da0__20Ack_20x_25lx.rel deleted file mode 100644 index 1d1efbfd..00000000 --- a/src/nos/lib/messages_lib/008a_2da0__20Ack_20x_25lx.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___008a_2da0__20Ack_20x_25lx Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 20 41 63 6b 20 78 25 6c 78 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/008a_d8f4__20_2502u_2f_2502u_.rel b/src/nos/lib/messages_lib/008a_d8f4__20_2502u_2f_2502u_.rel new file mode 100644 index 00000000..d84cd295 --- /dev/null +++ b/src/nos/lib/messages_lib/008a_d8f4__20_2502u_2f_2502u_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___008a_d8f4__20_2502u_2f_2502u_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 20 25 30 32 75 2f 25 30 32 +R 00 00 01 00 +T 0b 00 00 00 75 20 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/008b_4d6e__20_2502x.rel b/src/nos/lib/messages_lib/008b_4d6e__20_2502x.rel new file mode 100644 index 00000000..d57c66be --- /dev/null +++ b/src/nos/lib/messages_lib/008b_4d6e__20_2502x.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___008b_4d6e__20_2502x Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 20 25 30 32 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/008b_f35d__20BUSY.rel b/src/nos/lib/messages_lib/008b_f35d__20BUSY.rel deleted file mode 100644 index 0b032eb3..00000000 --- a/src/nos/lib/messages_lib/008b_f35d__20BUSY.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___008b_f35d__20BUSY Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 20 42 55 53 59 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/008c_43af__20CE.rel b/src/nos/lib/messages_lib/008c_43af__20CE.rel deleted file mode 100644 index 13bfc1b8..00000000 --- a/src/nos/lib/messages_lib/008c_43af__20CE.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___008c_43af__20CE Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 20 43 45 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/008c_cad1__20_2510lu_2510lu_2.rel b/src/nos/lib/messages_lib/008c_cad1__20_2510lu_2510lu_2.rel new file mode 100644 index 00000000..e7c06469 --- /dev/null +++ b/src/nos/lib/messages_lib/008c_cad1__20_2510lu_2510lu_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___008c_cad1__20_2510lu_2510lu_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 20 25 31 30 6c 75 25 31 30 +R 00 00 01 00 +T 0b 00 00 00 6c 75 25 31 30 6c 75 25 31 30 6c +R 00 00 01 00 +T 16 00 00 00 75 25 31 30 6c 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/008d_43b6__20_254d_20_254d.rel b/src/nos/lib/messages_lib/008d_43b6__20_254d_20_254d.rel new file mode 100644 index 00000000..5cd92c47 --- /dev/null +++ b/src/nos/lib/messages_lib/008d_43b6__20_254d_20_254d.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___008d_43b6__20_254d_20_254d Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 20 25 34 64 20 25 34 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/008d_d667__20CHECKSUM_20ERROR.rel b/src/nos/lib/messages_lib/008d_d667__20CHECKSUM_20ERROR.rel deleted file mode 100644 index 589f1f6c..00000000 --- a/src/nos/lib/messages_lib/008d_d667__20CHECKSUM_20ERROR.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___008d_d667__20CHECKSUM_20ERROR Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 20 43 48 45 43 4b 53 55 4d -R 00 00 01 00 -T 0b 00 00 00 20 45 52 52 4f 52 20 28 25 75 29 -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/008e_5947__20CHOKE.rel b/src/nos/lib/messages_lib/008e_5947__20CHOKE.rel deleted file mode 100644 index 4758c708..00000000 --- a/src/nos/lib/messages_lib/008e_5947__20CHOKE.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___008e_5947__20CHOKE Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 20 43 48 4f 4b 45 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/008e_78a4__20_258s_20_20_20_2.rel b/src/nos/lib/messages_lib/008e_78a4__20_258s_20_20_20_2.rel new file mode 100644 index 00000000..fab045e6 --- /dev/null +++ b/src/nos/lib/messages_lib/008e_78a4__20_258s_20_20_20_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___008e_78a4__20_258s_20_20_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 20 25 38 73 20 20 20 25 34 +R 00 00 01 00 +T 0b 00 00 00 64 20 20 20 25 31 30 6c 75 20 20 +R 00 00 01 00 +T 16 00 00 00 25 31 30 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/008f_3c3c__20DF.rel b/src/nos/lib/messages_lib/008f_3c3c__20DF.rel deleted file mode 100644 index 8547be5e..00000000 --- a/src/nos/lib/messages_lib/008f_3c3c__20DF.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___008f_3c3c__20DF Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 20 44 46 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/008f_6904__20_25lu_20bps_0a.rel b/src/nos/lib/messages_lib/008f_6904__20_25lu_20bps_0a.rel new file mode 100644 index 00000000..f74fc9ff --- /dev/null +++ b/src/nos/lib/messages_lib/008f_6904__20_25lu_20bps_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___008f_6904__20_25lu_20bps_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 20 25 6c 75 20 62 70 73 0a +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0090_269f__20_25s.rel b/src/nos/lib/messages_lib/0090_269f__20_25s.rel new file mode 100644 index 00000000..2244548d --- /dev/null +++ b/src/nos/lib/messages_lib/0090_269f__20_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0090_269f__20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0090_26b0__20Data_20_25u.rel b/src/nos/lib/messages_lib/0090_26b0__20Data_20_25u.rel deleted file mode 100644 index 9e14af54..00000000 --- a/src/nos/lib/messages_lib/0090_26b0__20Data_20_25u.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___0090_26b0__20Data_20_25u Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 20 44 61 74 61 20 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0091_5125__20EOF.rel b/src/nos/lib/messages_lib/0091_5125__20EOF.rel deleted file mode 100644 index 6d9acfa7..00000000 --- a/src/nos/lib/messages_lib/0091_5125__20EOF.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0091_5125__20EOF Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 20 45 4f 46 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0091_c302__20_25s_0a.rel b/src/nos/lib/messages_lib/0091_c302__20_25s_0a.rel new file mode 100644 index 00000000..0a0e4c39 --- /dev/null +++ b/src/nos/lib/messages_lib/0091_c302__20_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0091_c302__20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0092_10eb__20_25s_20_25s_20_2.rel b/src/nos/lib/messages_lib/0092_10eb__20_25s_20_25s_20_2.rel new file mode 100644 index 00000000..85353c54 --- /dev/null +++ b/src/nos/lib/messages_lib/0092_10eb__20_25s_20_25s_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0092_10eb__20_25s_20_25s_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 20 25 73 20 25 73 20 25 6c +R 00 00 01 00 +T 0b 00 00 00 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0092_2269__20ERR.rel b/src/nos/lib/messages_lib/0092_2269__20ERR.rel deleted file mode 100644 index 7ead76ce..00000000 --- a/src/nos/lib/messages_lib/0092_2269__20ERR.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0092_2269__20ERR Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 20 45 52 52 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0093_869e__20IPaddr_20_25s.rel b/src/nos/lib/messages_lib/0093_869e__20IPaddr_20_25s.rel deleted file mode 100644 index caa51383..00000000 --- a/src/nos/lib/messages_lib/0093_869e__20IPaddr_20_25s.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___0093_869e__20IPaddr_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 20 49 50 61 64 64 72 20 25 -R 00 00 01 00 -T 0b 00 00 00 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0093_c236__20_25s_25s.rel b/src/nos/lib/messages_lib/0093_c236__20_25s_25s.rel new file mode 100644 index 00000000..a9894646 --- /dev/null +++ b/src/nos/lib/messages_lib/0093_c236__20_25s_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0093_c236__20_25s_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 20 25 73 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0094_3c84__20_25s_2b_25x.rel b/src/nos/lib/messages_lib/0094_3c84__20_25s_2b_25x.rel new file mode 100644 index 00000000..e285ff3c --- /dev/null +++ b/src/nos/lib/messages_lib/0094_3c84__20_25s_2b_25x.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0094_3c84__20_25s_2b_25x Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 20 25 73 2b 25 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0094_d267__20Illegal_20I_2dfi.rel b/src/nos/lib/messages_lib/0094_d267__20Illegal_20I_2dfi.rel deleted file mode 100644 index e4799c3c..00000000 --- a/src/nos/lib/messages_lib/0094_d267__20Illegal_20I_2dfi.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___0094_d267__20Illegal_20I_2dfi Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 20 49 6c 6c 65 67 61 6c 20 -R 00 00 01 00 -T 0b 00 00 00 49 2d 66 69 65 6c 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0095_97d2__20_25u_0a.rel b/src/nos/lib/messages_lib/0095_97d2__20_25u_0a.rel new file mode 100644 index 00000000..bd89ae63 --- /dev/null +++ b/src/nos/lib/messages_lib/0095_97d2__20_25u_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0095_97d2__20_25u_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0095_d316__20Invalid_20contro.rel b/src/nos/lib/messages_lib/0095_d316__20Invalid_20contro.rel deleted file mode 100644 index a112eadf..00000000 --- a/src/nos/lib/messages_lib/0095_d316__20Invalid_20contro.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___0095_d316__20Invalid_20contro Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 20 49 6e 76 61 6c 69 64 20 -R 00 00 01 00 -T 0b 00 00 00 63 6f 6e 74 72 6f 6c 20 66 69 65 -R 00 00 01 00 -T 16 00 00 00 6c 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0096_1e4f__20Invalid_20seq_20.rel b/src/nos/lib/messages_lib/0096_1e4f__20Invalid_20seq_20.rel deleted file mode 100644 index 65a304a8..00000000 --- a/src/nos/lib/messages_lib/0096_1e4f__20Invalid_20seq_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___0096_1e4f__20Invalid_20seq_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 20 49 6e 76 61 6c 69 64 20 -R 00 00 01 00 -T 0b 00 00 00 73 65 71 20 6e 75 6d 62 65 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0096_5984__20_25u_2d_3e_25u.rel b/src/nos/lib/messages_lib/0096_5984__20_25u_2d_3e_25u.rel new file mode 100644 index 00000000..084e7763 --- /dev/null +++ b/src/nos/lib/messages_lib/0096_5984__20_25u_2d_3e_25u.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0096_5984__20_25u_2d_3e_25u Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 20 25 75 2d 3e 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0097_98a5__20_28_25ld_20ms_29.rel b/src/nos/lib/messages_lib/0097_98a5__20_28_25ld_20ms_29.rel new file mode 100644 index 00000000..d178516f --- /dev/null +++ b/src/nos/lib/messages_lib/0097_98a5__20_28_25ld_20ms_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0097_98a5__20_28_25ld_20ms_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 20 28 25 6c 64 20 6d 73 29 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0097_fd02__20MC_3a_20int_20_2.rel b/src/nos/lib/messages_lib/0097_fd02__20MC_3a_20int_20_2.rel deleted file mode 100644 index 572dfdde..00000000 --- a/src/nos/lib/messages_lib/0097_fd02__20MC_3a_20int_20_2.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3d flags 0 -S ___0097_fd02__20MC_3a_20int_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 3b 00 20 4d 43 3a 20 69 6e 74 20 -R 00 00 01 00 -T 0b 00 00 00 25 6c 75 20 44 54 52 20 25 73 20 -R 00 00 01 00 -T 16 00 00 00 20 52 54 53 20 25 73 20 20 43 54 -R 00 00 01 00 -T 21 00 00 00 53 20 25 73 20 20 44 53 52 20 25 -R 00 00 01 00 -T 2c 00 00 00 73 20 20 52 49 20 25 73 20 20 43 -R 00 00 01 00 -T 37 00 00 00 44 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0098_9556__20_28_25s_20seek_3.rel b/src/nos/lib/messages_lib/0098_9556__20_28_25s_20seek_3.rel new file mode 100644 index 00000000..31eafabe --- /dev/null +++ b/src/nos/lib/messages_lib/0098_9556__20_28_25s_20seek_3.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0098_9556__20_28_25s_20seek_3 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 20 28 25 73 20 73 65 65 6b +R 00 00 01 00 +T 0b 00 00 00 3d 25 6c 75 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0098_eb24__20MF.rel b/src/nos/lib/messages_lib/0098_eb24__20MF.rel deleted file mode 100644 index 8713a94c..00000000 --- a/src/nos/lib/messages_lib/0098_eb24__20MF.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0098_eb24__20MF Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 20 4d 46 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0099_6268__20_28_25s_29_0a.rel b/src/nos/lib/messages_lib/0099_6268__20_28_25s_29_0a.rel new file mode 100644 index 00000000..287ef26e --- /dev/null +++ b/src/nos/lib/messages_lib/0099_6268__20_28_25s_29_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0099_6268__20_28_25s_29_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 20 28 25 73 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0099_747e__20MORE.rel b/src/nos/lib/messages_lib/0099_747e__20MORE.rel deleted file mode 100644 index 94e609e0..00000000 --- a/src/nos/lib/messages_lib/0099_747e__20MORE.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0099_747e__20MORE Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 20 4d 4f 52 45 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/009a_3f71__20_28ASCII_20dump_.rel b/src/nos/lib/messages_lib/009a_3f71__20_28ASCII_20dump_.rel new file mode 100644 index 00000000..7ae814b4 --- /dev/null +++ b/src/nos/lib/messages_lib/009a_3f71__20_28ASCII_20dump_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___009a_3f71__20_28ASCII_20dump_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 20 28 41 53 43 49 49 20 64 +R 00 00 01 00 +T 0b 00 00 00 75 6d 70 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/009a_c5ed__20MSS_20_25u.rel b/src/nos/lib/messages_lib/009a_c5ed__20MSS_20_25u.rel deleted file mode 100644 index 889cf09d..00000000 --- a/src/nos/lib/messages_lib/009a_c5ed__20MSS_20_25u.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___009a_c5ed__20MSS_20_25u Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 20 4d 53 53 20 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/009b_05b3__20_28Hex_2fASCII_2.rel b/src/nos/lib/messages_lib/009b_05b3__20_28Hex_2fASCII_2.rel new file mode 100644 index 00000000..4a33060c --- /dev/null +++ b/src/nos/lib/messages_lib/009b_05b3__20_28Hex_2fASCII_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___009b_05b3__20_28Hex_2fASCII_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 20 28 48 65 78 2f 41 53 43 +R 00 00 01 00 +T 0b 00 00 00 49 49 20 64 75 6d 70 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/009b_3976__20NAK.rel b/src/nos/lib/messages_lib/009b_3976__20NAK.rel deleted file mode 100644 index e0f93973..00000000 --- a/src/nos/lib/messages_lib/009b_3976__20NAK.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___009b_3976__20NAK Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 20 4e 41 4b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/009c_0cd7__20_28S_29.rel b/src/nos/lib/messages_lib/009c_0cd7__20_28S_29.rel new file mode 100644 index 00000000..afd2e6ff --- /dev/null +++ b/src/nos/lib/messages_lib/009c_0cd7__20_28S_29.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___009c_0cd7__20_28S_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 20 28 53 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/009c_c092__20NR_3d_25d.rel b/src/nos/lib/messages_lib/009c_c092__20NR_3d_25d.rel deleted file mode 100644 index f61e505f..00000000 --- a/src/nos/lib/messages_lib/009c_c092__20NR_3d_25d.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___009c_c092__20NR_3d_25d Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 20 4e 52 3d 25 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/009d_dc29__20NS_3d_25d.rel b/src/nos/lib/messages_lib/009d_dc29__20NS_3d_25d.rel deleted file mode 100644 index cd982109..00000000 --- a/src/nos/lib/messages_lib/009d_dc29__20NS_3d_25d.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___009d_dc29__20NS_3d_25d Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 20 4e 53 3d 25 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/009d_ef5f__20_28headers_20onl.rel b/src/nos/lib/messages_lib/009d_ef5f__20_28headers_20onl.rel new file mode 100644 index 00000000..e8731134 --- /dev/null +++ b/src/nos/lib/messages_lib/009d_ef5f__20_28headers_20onl.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___009d_ef5f__20_28headers_20onl Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 20 28 68 65 61 64 65 72 73 +R 00 00 01 00 +T 0b 00 00 00 20 6f 6e 6c 79 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/009e_c04d__20_28published_29.rel b/src/nos/lib/messages_lib/009e_c04d__20_28published_29.rel new file mode 100644 index 00000000..5f2f5249 --- /dev/null +++ b/src/nos/lib/messages_lib/009e_c04d__20_28published_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___009e_c04d__20_28published_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 20 28 70 75 62 6c 69 73 68 +R 00 00 01 00 +T 0b 00 00 00 65 64 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/009e_df24__20RX_3a_20int_20_2.rel b/src/nos/lib/messages_lib/009e_df24__20RX_3a_20int_20_2.rel deleted file mode 100644 index d1d010b2..00000000 --- a/src/nos/lib/messages_lib/009e_df24__20RX_3a_20int_20_2.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2f flags 0 -S ___009e_df24__20RX_3a_20int_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2d 00 20 52 58 3a 20 69 6e 74 20 -R 00 00 01 00 -T 0b 00 00 00 25 6c 75 20 63 68 61 72 73 20 25 -R 00 00 01 00 -T 16 00 00 00 6c 75 20 68 77 20 6f 76 65 72 20 -R 00 00 01 00 -T 21 00 00 00 25 6c 75 20 68 77 20 68 69 20 25 -R 00 00 01 00 -T 2c 00 00 00 6c 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/009f_78a4__20Raw_20output.rel b/src/nos/lib/messages_lib/009f_78a4__20Raw_20output.rel deleted file mode 100644 index 71e06d9f..00000000 --- a/src/nos/lib/messages_lib/009f_78a4__20Raw_20output.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___009f_78a4__20Raw_20output Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 20 52 61 77 20 6f 75 74 70 -R 00 00 01 00 -T 0b 00 00 00 75 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/009f_ac28__20_2a_2a_2a.rel b/src/nos/lib/messages_lib/009f_ac28__20_2a_2a_2a.rel new file mode 100644 index 00000000..d115643c --- /dev/null +++ b/src/nos/lib/messages_lib/009f_ac28__20_2a_2a_2a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___009f_ac28__20_2a_2a_2a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 20 2a 2a 2a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a0_8841__20_2d_20.rel b/src/nos/lib/messages_lib/00a0_8841__20_2d_20.rel new file mode 100644 index 00000000..5bf5f561 --- /dev/null +++ b/src/nos/lib/messages_lib/00a0_8841__20_2d_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___00a0_8841__20_2d_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 20 2d 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a0_a393__20Remote_3a_20_25s.rel b/src/nos/lib/messages_lib/00a0_a393__20Remote_3a_20_25s.rel deleted file mode 100644 index 633df61d..00000000 --- a/src/nos/lib/messages_lib/00a0_a393__20Remote_3a_20_25s.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___00a0_a393__20Remote_3a_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 20 52 65 6d 6f 74 65 3a 20 -R 00 00 01 00 -T 0b 00 00 00 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a1_ace7__20_2d_20no_20broad.rel b/src/nos/lib/messages_lib/00a1_ace7__20_2d_20no_20broad.rel new file mode 100644 index 00000000..2d9500c8 --- /dev/null +++ b/src/nos/lib/messages_lib/00a1_ace7__20_2d_20no_20broad.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___00a1_ace7__20_2d_20no_20broad Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 20 2d 20 6e 6f 20 62 72 6f +R 00 00 01 00 +T 0b 00 00 00 61 64 63 61 73 74 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a1_d7c2__20Retry.rel b/src/nos/lib/messages_lib/00a1_d7c2__20Retry.rel deleted file mode 100644 index 6e603669..00000000 --- a/src/nos/lib/messages_lib/00a1_d7c2__20Retry.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___00a1_d7c2__20Retry Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 20 52 65 74 72 79 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a2_01a0__20APND.rel b/src/nos/lib/messages_lib/00a2_01a0__20APND.rel new file mode 100644 index 00000000..ded2b1a4 --- /dev/null +++ b/src/nos/lib/messages_lib/00a2_01a0__20APND.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___00a2_01a0__20APND Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 20 41 50 4e 44 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a2_42ba__20ST_3a_20int_20_2.rel b/src/nos/lib/messages_lib/00a2_42ba__20ST_3a_20int_20_2.rel deleted file mode 100644 index 6963e791..00000000 --- a/src/nos/lib/messages_lib/00a2_42ba__20ST_3a_20int_20_2.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3d flags 0 -S ___00a2_42ba__20ST_3a_20int_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 3b 00 20 53 54 3a 20 69 6e 74 20 -R 00 00 01 00 -T 0b 00 00 00 25 6c 75 20 44 43 44 20 25 73 20 -R 00 00 01 00 -T 16 00 00 00 20 52 54 53 20 25 73 20 20 43 54 -R 00 00 01 00 -T 21 00 00 00 53 20 25 73 20 20 44 53 52 20 25 -R 00 00 01 00 -T 2c 00 00 00 73 20 20 52 49 20 25 73 20 20 43 -R 00 00 01 00 -T 37 00 00 00 44 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a3_2da0__20Ack_20x_25lx.rel b/src/nos/lib/messages_lib/00a3_2da0__20Ack_20x_25lx.rel new file mode 100644 index 00000000..e41e6a2b --- /dev/null +++ b/src/nos/lib/messages_lib/00a3_2da0__20Ack_20x_25lx.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___00a3_2da0__20Ack_20x_25lx Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 20 41 63 6b 20 78 25 6c 78 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a3_d322__20State_3a_20_25s_.rel b/src/nos/lib/messages_lib/00a3_d322__20State_3a_20_25s_.rel deleted file mode 100644 index ddbf3bf1..00000000 --- a/src/nos/lib/messages_lib/00a3_d322__20State_3a_20_25s_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___00a3_d322__20State_3a_20_25s_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 20 53 74 61 74 65 3a 20 25 -R 00 00 01 00 -T 0b 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a4_c86b__20TMP.rel b/src/nos/lib/messages_lib/00a4_c86b__20TMP.rel deleted file mode 100644 index 4122a3a4..00000000 --- a/src/nos/lib/messages_lib/00a4_c86b__20TMP.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___00a4_c86b__20TMP Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 20 54 4d 50 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a4_f35d__20BUSY.rel b/src/nos/lib/messages_lib/00a4_f35d__20BUSY.rel new file mode 100644 index 00000000..db41302d --- /dev/null +++ b/src/nos/lib/messages_lib/00a4_f35d__20BUSY.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___00a4_f35d__20BUSY Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 20 42 55 53 59 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a5_2dcc__20TSTAMP_20_25lu_2.rel b/src/nos/lib/messages_lib/00a5_2dcc__20TSTAMP_20_25lu_2.rel deleted file mode 100644 index 693d4264..00000000 --- a/src/nos/lib/messages_lib/00a5_2dcc__20TSTAMP_20_25lu_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___00a5_2dcc__20TSTAMP_20_25lu_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 20 54 53 54 41 4d 50 20 25 -R 00 00 01 00 -T 0b 00 00 00 6c 75 20 54 53 45 43 48 4f 20 25 -R 00 00 01 00 -T 16 00 00 00 6c 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a5_43af__20CE.rel b/src/nos/lib/messages_lib/00a5_43af__20CE.rel new file mode 100644 index 00000000..27d00da1 --- /dev/null +++ b/src/nos/lib/messages_lib/00a5_43af__20CE.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___00a5_43af__20CE Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 20 43 45 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a6_d667__20CHECKSUM_20ERROR.rel b/src/nos/lib/messages_lib/00a6_d667__20CHECKSUM_20ERROR.rel new file mode 100644 index 00000000..c8fbc507 --- /dev/null +++ b/src/nos/lib/messages_lib/00a6_d667__20CHECKSUM_20ERROR.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___00a6_d667__20CHECKSUM_20ERROR Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 20 43 48 45 43 4b 53 55 4d +R 00 00 01 00 +T 0b 00 00 00 20 45 52 52 4f 52 20 28 25 75 29 +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a6_e8c1__20TX_3a_20int_20_2.rel b/src/nos/lib/messages_lib/00a6_e8c1__20TX_3a_20int_20_2.rel deleted file mode 100644 index 3ec9d3b7..00000000 --- a/src/nos/lib/messages_lib/00a6_e8c1__20TX_3a_20int_20_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___00a6_e8c1__20TX_3a_20int_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 20 54 58 3a 20 69 6e 74 20 -R 00 00 01 00 -T 0b 00 00 00 25 6c 75 20 63 68 61 72 73 20 25 -R 00 00 01 00 -T 16 00 00 00 6c 75 20 54 44 52 45 20 54 4f 20 -R 00 00 01 00 -T 21 00 00 00 25 6c 75 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a7_5947__20CHOKE.rel b/src/nos/lib/messages_lib/00a7_5947__20CHOKE.rel new file mode 100644 index 00000000..8ab44105 --- /dev/null +++ b/src/nos/lib/messages_lib/00a7_5947__20CHOKE.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___00a7_5947__20CHOKE Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 20 43 48 4f 4b 45 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a7_d70d__20Too_2dlong_20I_2.rel b/src/nos/lib/messages_lib/00a7_d70d__20Too_2dlong_20I_2.rel deleted file mode 100644 index 2c2743ae..00000000 --- a/src/nos/lib/messages_lib/00a7_d70d__20Too_2dlong_20I_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___00a7_d70d__20Too_2dlong_20I_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 20 54 6f 6f 2d 6c 6f 6e 67 -R 00 00 01 00 -T 0b 00 00 00 20 49 2d 66 69 65 6c 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a8_3c3c__20DF.rel b/src/nos/lib/messages_lib/00a8_3c3c__20DF.rel new file mode 100644 index 00000000..5fc28456 --- /dev/null +++ b/src/nos/lib/messages_lib/00a8_3c3c__20DF.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___00a8_3c3c__20DF Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 20 44 46 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a8_5a85__20UP_20x_25x.rel b/src/nos/lib/messages_lib/00a8_5a85__20UP_20x_25x.rel deleted file mode 100644 index c3e7cf2c..00000000 --- a/src/nos/lib/messages_lib/00a8_5a85__20UP_20x_25x.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___00a8_5a85__20UP_20x_25x Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 20 55 50 20 78 25 78 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a9_2210__20Unack_3a_20_25_2.rel b/src/nos/lib/messages_lib/00a9_2210__20Unack_3a_20_25_2.rel deleted file mode 100644 index ae4997a6..00000000 --- a/src/nos/lib/messages_lib/00a9_2210__20Unack_3a_20_25_2.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 37 flags 0 -S ___00a9_2210__20Unack_3a_20_25_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 35 00 20 55 6e 61 63 6b 3a 20 25 -R 00 00 01 00 -T 0b 00 00 00 2d 35 75 20 54 78 70 65 63 74 3a -R 00 00 01 00 -T 16 00 00 00 20 25 2d 35 75 20 54 78 4e 65 78 -R 00 00 01 00 -T 21 00 00 00 74 3a 20 25 2d 35 75 20 54 78 51 -R 00 00 01 00 -T 2c 00 00 00 3a 20 25 2d 35 64 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00a9_26b0__20Data_20_25u.rel b/src/nos/lib/messages_lib/00a9_26b0__20Data_20_25u.rel new file mode 100644 index 00000000..22d7087f --- /dev/null +++ b/src/nos/lib/messages_lib/00a9_26b0__20Data_20_25u.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___00a9_26b0__20Data_20_25u Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 20 44 61 74 61 20 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00aa_3a68__20Unknown_20passwo.rel b/src/nos/lib/messages_lib/00aa_3a68__20Unknown_20passwo.rel deleted file mode 100644 index c5bc4fe5..00000000 --- a/src/nos/lib/messages_lib/00aa_3a68__20Unknown_20passwo.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___00aa_3a68__20Unknown_20passwo Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 20 55 6e 6b 6e 6f 77 6e 20 -R 00 00 01 00 -T 0b 00 00 00 70 61 73 73 77 6f 72 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00aa_5125__20EOF.rel b/src/nos/lib/messages_lib/00aa_5125__20EOF.rel new file mode 100644 index 00000000..8fb57e0a --- /dev/null +++ b/src/nos/lib/messages_lib/00aa_5125__20EOF.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___00aa_5125__20EOF Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 20 45 4f 46 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ab_2269__20ERR.rel b/src/nos/lib/messages_lib/00ab_2269__20ERR.rel new file mode 100644 index 00000000..975780eb --- /dev/null +++ b/src/nos/lib/messages_lib/00ab_2269__20ERR.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___00ab_2269__20ERR Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 20 45 52 52 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ab_23f3__20Vr_20_3d_20_25d_.rel b/src/nos/lib/messages_lib/00ab_23f3__20Vr_20_3d_20_25d_.rel deleted file mode 100644 index d2ea270f..00000000 --- a/src/nos/lib/messages_lib/00ab_23f3__20Vr_20_3d_20_25d_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___00ab_23f3__20Vr_20_3d_20_25d_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 20 56 72 20 3d 20 25 64 20 -R 00 00 01 00 -T 0b 00 00 00 56 73 20 3d 20 25 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ac_869e__20IPaddr_20_25s.rel b/src/nos/lib/messages_lib/00ac_869e__20IPaddr_20_25s.rel new file mode 100644 index 00000000..91172abd --- /dev/null +++ b/src/nos/lib/messages_lib/00ac_869e__20IPaddr_20_25s.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___00ac_869e__20IPaddr_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 20 49 50 61 64 64 72 20 25 +R 00 00 01 00 +T 0b 00 00 00 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ac_a984__20WSCALE_20_25u.rel b/src/nos/lib/messages_lib/00ac_a984__20WSCALE_20_25u.rel deleted file mode 100644 index b638cc8b..00000000 --- a/src/nos/lib/messages_lib/00ac_a984__20WSCALE_20_25u.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___00ac_a984__20WSCALE_20_25u Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 20 57 53 43 41 4c 45 20 25 -R 00 00 01 00 -T 0b 00 00 00 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ad_1d25__20Wnd_20_25u.rel b/src/nos/lib/messages_lib/00ad_1d25__20Wnd_20_25u.rel deleted file mode 100644 index 38abcd03..00000000 --- a/src/nos/lib/messages_lib/00ad_1d25__20Wnd_20_25u.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___00ad_1d25__20Wnd_20_25u Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 20 57 6e 64 20 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ad_d267__20Illegal_20I_2dfi.rel b/src/nos/lib/messages_lib/00ad_d267__20Illegal_20I_2dfi.rel new file mode 100644 index 00000000..bcd60504 --- /dev/null +++ b/src/nos/lib/messages_lib/00ad_d267__20Illegal_20I_2dfi.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___00ad_d267__20Illegal_20I_2dfi Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 20 49 6c 6c 65 67 61 6c 20 +R 00 00 01 00 +T 0b 00 00 00 49 2d 66 69 65 6c 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ae_d316__20Invalid_20contro.rel b/src/nos/lib/messages_lib/00ae_d316__20Invalid_20contro.rel new file mode 100644 index 00000000..e8372398 --- /dev/null +++ b/src/nos/lib/messages_lib/00ae_d316__20Invalid_20contro.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___00ae_d316__20Invalid_20contro Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 20 49 6e 76 61 6c 69 64 20 +R 00 00 01 00 +T 0b 00 00 00 63 6f 6e 74 72 6f 6c 20 66 69 65 +R 00 00 01 00 +T 16 00 00 00 6c 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ae_e77d__20_5b_25s_5d_20_25.rel b/src/nos/lib/messages_lib/00ae_e77d__20_5b_25s_5d_20_25.rel deleted file mode 100644 index 761b5c15..00000000 --- a/src/nos/lib/messages_lib/00ae_e77d__20_5b_25s_5d_20_25.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___00ae_e77d__20_5b_25s_5d_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 20 5b 25 73 5d 20 25 75 0a -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00af_1e4f__20Invalid_20seq_20.rel b/src/nos/lib/messages_lib/00af_1e4f__20Invalid_20seq_20.rel new file mode 100644 index 00000000..8d0fe00b --- /dev/null +++ b/src/nos/lib/messages_lib/00af_1e4f__20Invalid_20seq_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___00af_1e4f__20Invalid_20seq_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 20 49 6e 76 61 6c 69 64 20 +R 00 00 01 00 +T 0b 00 00 00 73 65 71 20 6e 75 6d 62 65 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00af_7762__20_5bcts_20flow_20.rel b/src/nos/lib/messages_lib/00af_7762__20_5bcts_20flow_20.rel deleted file mode 100644 index 1ac0c43e..00000000 --- a/src/nos/lib/messages_lib/00af_7762__20_5bcts_20flow_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___00af_7762__20_5bcts_20flow_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 20 5b 63 74 73 20 66 6c 6f -R 00 00 01 00 -T 0b 00 00 00 77 20 63 6f 6e 74 72 6f 6c 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b0_2f4d__20_5brlsd_20line_2.rel b/src/nos/lib/messages_lib/00b0_2f4d__20_5brlsd_20line_2.rel deleted file mode 100644 index 3deb90fd..00000000 --- a/src/nos/lib/messages_lib/00b0_2f4d__20_5brlsd_20line_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___00b0_2f4d__20_5brlsd_20line_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 20 5b 72 6c 73 64 20 6c 69 -R 00 00 01 00 -T 0b 00 00 00 6e 65 20 63 6f 6e 74 72 6f 6c 5d -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b0_fd02__20MC_3a_20int_20_2.rel b/src/nos/lib/messages_lib/00b0_fd02__20MC_3a_20int_20_2.rel new file mode 100644 index 00000000..434517ce --- /dev/null +++ b/src/nos/lib/messages_lib/00b0_fd02__20MC_3a_20int_20_2.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3d flags 0 +S ___00b0_fd02__20MC_3a_20int_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 3b 00 20 4d 43 3a 20 69 6e 74 20 +R 00 00 01 00 +T 0b 00 00 00 25 6c 75 20 44 54 52 20 25 73 20 +R 00 00 01 00 +T 16 00 00 00 20 52 54 53 20 25 73 20 20 43 54 +R 00 00 01 00 +T 21 00 00 00 53 20 25 73 20 20 44 53 52 20 25 +R 00 00 01 00 +T 2c 00 00 00 73 20 20 52 49 20 25 73 20 20 43 +R 00 00 01 00 +T 37 00 00 00 44 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b1_db59__20_5btrigger_200x_.rel b/src/nos/lib/messages_lib/00b1_db59__20_5btrigger_200x_.rel deleted file mode 100644 index ee3f88d7..00000000 --- a/src/nos/lib/messages_lib/00b1_db59__20_5btrigger_200x_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___00b1_db59__20_5btrigger_200x_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 20 5b 74 72 69 67 67 65 72 -R 00 00 01 00 -T 0b 00 00 00 20 30 78 25 30 32 78 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b1_eb24__20MF.rel b/src/nos/lib/messages_lib/00b1_eb24__20MF.rel new file mode 100644 index 00000000..47d2fa9d --- /dev/null +++ b/src/nos/lib/messages_lib/00b1_eb24__20MF.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___00b1_eb24__20MF Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 20 4d 46 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b2_747e__20MORE.rel b/src/nos/lib/messages_lib/00b2_747e__20MORE.rel new file mode 100644 index 00000000..8d6fbc43 --- /dev/null +++ b/src/nos/lib/messages_lib/00b2_747e__20MORE.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___00b2_747e__20MORE Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 20 4d 4f 52 45 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b2_bc24__20asy_20.rel b/src/nos/lib/messages_lib/00b2_bc24__20asy_20.rel deleted file mode 100644 index b35e2f60..00000000 --- a/src/nos/lib/messages_lib/00b2_bc24__20asy_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___00b2_bc24__20asy_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 20 61 73 79 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b3_c5ed__20MSS_20_25u.rel b/src/nos/lib/messages_lib/00b3_c5ed__20MSS_20_25u.rel new file mode 100644 index 00000000..572c33fc --- /dev/null +++ b/src/nos/lib/messages_lib/00b3_c5ed__20MSS_20_25u.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___00b3_c5ed__20MSS_20_25u Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 20 4d 53 53 20 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b3_c96a__20bad_20header_21_.rel b/src/nos/lib/messages_lib/00b3_c96a__20bad_20header_21_.rel deleted file mode 100644 index b94b8309..00000000 --- a/src/nos/lib/messages_lib/00b3_c96a__20bad_20header_21_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___00b3_c96a__20bad_20header_21_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 20 62 61 64 20 68 65 61 64 -R 00 00 01 00 -T 0b 00 00 00 65 72 21 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b4_0acc__20bad_20packet_0a.rel b/src/nos/lib/messages_lib/00b4_0acc__20bad_20packet_0a.rel deleted file mode 100644 index c91e243f..00000000 --- a/src/nos/lib/messages_lib/00b4_0acc__20bad_20packet_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___00b4_0acc__20bad_20packet_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 20 62 61 64 20 70 61 63 6b -R 00 00 01 00 -T 0b 00 00 00 65 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b4_3976__20NAK.rel b/src/nos/lib/messages_lib/00b4_3976__20NAK.rel new file mode 100644 index 00000000..fd8709fa --- /dev/null +++ b/src/nos/lib/messages_lib/00b4_3976__20NAK.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___00b4_3976__20NAK Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 20 4e 41 4b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b5_c092__20NR_3d_25d.rel b/src/nos/lib/messages_lib/00b5_c092__20NR_3d_25d.rel new file mode 100644 index 00000000..d89d24d5 --- /dev/null +++ b/src/nos/lib/messages_lib/00b5_c092__20NR_3d_25d.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___00b5_c092__20NR_3d_25d Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 20 4e 52 3d 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b5_d795__20cmd_20_25u.rel b/src/nos/lib/messages_lib/00b5_d795__20cmd_20_25u.rel deleted file mode 100644 index 3e323d29..00000000 --- a/src/nos/lib/messages_lib/00b5_d795__20cmd_20_25u.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___00b5_d795__20cmd_20_25u Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 20 63 6d 64 20 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b6_1813__20code_20_25s.rel b/src/nos/lib/messages_lib/00b6_1813__20code_20_25s.rel deleted file mode 100644 index 6047f691..00000000 --- a/src/nos/lib/messages_lib/00b6_1813__20code_20_25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___00b6_1813__20code_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 20 63 6f 64 65 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b6_dc29__20NS_3d_25d.rel b/src/nos/lib/messages_lib/00b6_dc29__20NS_3d_25d.rel new file mode 100644 index 00000000..33e24f3f --- /dev/null +++ b/src/nos/lib/messages_lib/00b6_dc29__20NS_3d_25d.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___00b6_dc29__20NS_3d_25d Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 20 4e 53 3d 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b7_ad83__20dest_20_25s.rel b/src/nos/lib/messages_lib/00b7_ad83__20dest_20_25s.rel deleted file mode 100644 index e454792c..00000000 --- a/src/nos/lib/messages_lib/00b7_ad83__20dest_20_25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___00b7_ad83__20dest_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 20 64 65 73 74 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b7_df24__20RX_3a_20int_20_2.rel b/src/nos/lib/messages_lib/00b7_df24__20RX_3a_20int_20_2.rel new file mode 100644 index 00000000..5dde8b12 --- /dev/null +++ b/src/nos/lib/messages_lib/00b7_df24__20RX_3a_20int_20_2.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2f flags 0 +S ___00b7_df24__20RX_3a_20int_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2d 00 20 52 58 3a 20 69 6e 74 20 +R 00 00 01 00 +T 0b 00 00 00 25 6c 75 20 63 68 61 72 73 20 25 +R 00 00 01 00 +T 16 00 00 00 6c 75 20 68 77 20 6f 76 65 72 20 +R 00 00 01 00 +T 21 00 00 00 25 6c 75 20 68 77 20 68 69 20 25 +R 00 00 01 00 +T 2c 00 00 00 6c 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b8_78a4__20Raw_20output.rel b/src/nos/lib/messages_lib/00b8_78a4__20Raw_20output.rel new file mode 100644 index 00000000..1ec8f1e0 --- /dev/null +++ b/src/nos/lib/messages_lib/00b8_78a4__20Raw_20output.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___00b8_78a4__20Raw_20output Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 20 52 61 77 20 6f 75 74 70 +R 00 00 01 00 +T 0b 00 00 00 75 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b8_e3a3__20dest_20_25s_20_2.rel b/src/nos/lib/messages_lib/00b8_e3a3__20dest_20_25s_20_2.rel deleted file mode 100644 index 9918ce44..00000000 --- a/src/nos/lib/messages_lib/00b8_e3a3__20dest_20_25s_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___00b8_e3a3__20dest_20_25s_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 20 64 65 73 74 20 25 73 20 -R 00 00 01 00 -T 0b 00 00 00 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b9_4976__20diag.rel b/src/nos/lib/messages_lib/00b9_4976__20diag.rel deleted file mode 100644 index ed1f8b56..00000000 --- a/src/nos/lib/messages_lib/00b9_4976__20diag.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___00b9_4976__20diag Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 20 64 69 61 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00b9_a393__20Remote_3a_20_25s.rel b/src/nos/lib/messages_lib/00b9_a393__20Remote_3a_20_25s.rel new file mode 100644 index 00000000..1bad3dcf --- /dev/null +++ b/src/nos/lib/messages_lib/00b9_a393__20Remote_3a_20_25s.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___00b9_a393__20Remote_3a_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 20 52 65 6d 6f 74 65 3a 20 +R 00 00 01 00 +T 0b 00 00 00 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ba_d7c2__20Retry.rel b/src/nos/lib/messages_lib/00ba_d7c2__20Retry.rel new file mode 100644 index 00000000..3f52c476 --- /dev/null +++ b/src/nos/lib/messages_lib/00ba_d7c2__20Retry.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___00ba_d7c2__20Retry Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 20 52 65 74 72 79 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ba_e36a__20file.rel b/src/nos/lib/messages_lib/00ba_e36a__20file.rel deleted file mode 100644 index eadd1178..00000000 --- a/src/nos/lib/messages_lib/00ba_e36a__20file.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___00ba_e36a__20file Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 20 66 69 6c 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00bb_42ba__20ST_3a_20int_20_2.rel b/src/nos/lib/messages_lib/00bb_42ba__20ST_3a_20int_20_2.rel new file mode 100644 index 00000000..17826c9c --- /dev/null +++ b/src/nos/lib/messages_lib/00bb_42ba__20ST_3a_20int_20_2.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3d flags 0 +S ___00bb_42ba__20ST_3a_20int_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 3b 00 20 53 54 3a 20 69 6e 74 20 +R 00 00 01 00 +T 0b 00 00 00 25 6c 75 20 44 43 44 20 25 73 20 +R 00 00 01 00 +T 16 00 00 00 20 52 54 53 20 25 73 20 20 43 54 +R 00 00 01 00 +T 21 00 00 00 53 20 25 73 20 20 44 53 52 20 25 +R 00 00 01 00 +T 2c 00 00 00 73 20 20 52 49 20 25 73 20 20 43 +R 00 00 01 00 +T 37 00 00 00 44 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00bb_5e9d__20full.rel b/src/nos/lib/messages_lib/00bb_5e9d__20full.rel deleted file mode 100644 index 9aa1e7c2..00000000 --- a/src/nos/lib/messages_lib/00bb_5e9d__20full.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___00bb_5e9d__20full Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 20 66 75 6c 6c 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00bc_4c62__20hwaddr_20_25s_0a.rel b/src/nos/lib/messages_lib/00bc_4c62__20hwaddr_20_25s_0a.rel deleted file mode 100644 index e2b567f9..00000000 --- a/src/nos/lib/messages_lib/00bc_4c62__20hwaddr_20_25s_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___00bc_4c62__20hwaddr_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 20 68 77 61 64 64 72 20 25 -R 00 00 01 00 -T 0b 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00bc_d322__20State_3a_20_25s_.rel b/src/nos/lib/messages_lib/00bc_d322__20State_3a_20_25s_.rel new file mode 100644 index 00000000..d443aaf9 --- /dev/null +++ b/src/nos/lib/messages_lib/00bc_d322__20State_3a_20_25s_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___00bc_d322__20State_3a_20_25s_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 20 53 74 61 74 65 3a 20 25 +R 00 00 01 00 +T 0b 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00bd_c86b__20TMP.rel b/src/nos/lib/messages_lib/00bd_c86b__20TMP.rel new file mode 100644 index 00000000..13922876 --- /dev/null +++ b/src/nos/lib/messages_lib/00bd_c86b__20TMP.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___00bd_c86b__20TMP Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 20 54 4d 50 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00bd_ed56__20hwlen_20_25u.rel b/src/nos/lib/messages_lib/00bd_ed56__20hwlen_20_25u.rel deleted file mode 100644 index d5b66cb6..00000000 --- a/src/nos/lib/messages_lib/00bd_ed56__20hwlen_20_25u.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___00bd_ed56__20hwlen_20_25u Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 20 68 77 6c 65 6e 20 25 75 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00be_2971__20hwtype_20_25s.rel b/src/nos/lib/messages_lib/00be_2971__20hwtype_20_25s.rel deleted file mode 100644 index 6d75fb4d..00000000 --- a/src/nos/lib/messages_lib/00be_2971__20hwtype_20_25s.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___00be_2971__20hwtype_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 20 68 77 74 79 70 65 20 25 -R 00 00 01 00 -T 0b 00 00 00 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00be_2dcc__20TSTAMP_20_25lu_2.rel b/src/nos/lib/messages_lib/00be_2dcc__20TSTAMP_20_25lu_2.rel new file mode 100644 index 00000000..86661955 --- /dev/null +++ b/src/nos/lib/messages_lib/00be_2dcc__20TSTAMP_20_25lu_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___00be_2dcc__20TSTAMP_20_25lu_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 20 54 53 54 41 4d 50 20 25 +R 00 00 01 00 +T 0b 00 00 00 6c 75 20 54 53 45 43 48 4f 20 25 +R 00 00 01 00 +T 16 00 00 00 6c 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00bf_3119__20id_20_25u_20offs.rel b/src/nos/lib/messages_lib/00bf_3119__20id_20_25u_20offs.rel deleted file mode 100644 index 92b5a465..00000000 --- a/src/nos/lib/messages_lib/00bf_3119__20id_20_25u_20offs.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___00bf_3119__20id_20_25u_20offs Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 20 69 64 20 25 75 20 6f 66 -R 00 00 01 00 -T 0b 00 00 00 66 73 20 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00bf_e8c1__20TX_3a_20int_20_2.rel b/src/nos/lib/messages_lib/00bf_e8c1__20TX_3a_20int_20_2.rel new file mode 100644 index 00000000..617a759d --- /dev/null +++ b/src/nos/lib/messages_lib/00bf_e8c1__20TX_3a_20int_20_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___00bf_e8c1__20TX_3a_20int_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 20 54 58 3a 20 69 6e 74 20 +R 00 00 01 00 +T 0b 00 00 00 25 6c 75 20 63 68 61 72 73 20 25 +R 00 00 01 00 +T 16 00 00 00 6c 75 20 54 44 52 45 20 54 4f 20 +R 00 00 01 00 +T 21 00 00 00 25 6c 75 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c0_8f2f__20id_20_25u_20pctl.rel b/src/nos/lib/messages_lib/00c0_8f2f__20id_20_25u_20pctl.rel deleted file mode 100644 index a458d86b..00000000 --- a/src/nos/lib/messages_lib/00c0_8f2f__20id_20_25u_20pctl.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 -S ___00c0_8f2f__20id_20_25u_20pctl Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 20 00 20 69 64 20 25 75 20 70 63 -R 00 00 01 00 -T 0b 00 00 00 74 6c 20 25 75 20 74 69 6d 65 20 -R 00 00 01 00 -T 16 00 00 00 25 6c 75 20 6c 65 6e 20 25 75 0a -R 00 00 01 00 -T 21 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c0_d70d__20Too_2dlong_20I_2.rel b/src/nos/lib/messages_lib/00c0_d70d__20Too_2dlong_20I_2.rel new file mode 100644 index 00000000..51b3c8ee --- /dev/null +++ b/src/nos/lib/messages_lib/00c0_d70d__20Too_2dlong_20I_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___00c0_d70d__20Too_2dlong_20I_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 20 54 6f 6f 2d 6c 6f 6e 67 +R 00 00 01 00 +T 0b 00 00 00 20 49 2d 66 69 65 6c 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c1_20f7__20id_20_25u_20seq_.rel b/src/nos/lib/messages_lib/00c1_20f7__20id_20_25u_20seq_.rel deleted file mode 100644 index 453f3f65..00000000 --- a/src/nos/lib/messages_lib/00c1_20f7__20id_20_25u_20seq_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___00c1_20f7__20id_20_25u_20seq_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 20 69 64 20 25 75 20 73 65 -R 00 00 01 00 -T 0b 00 00 00 71 20 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c1_5a85__20UP_20x_25x.rel b/src/nos/lib/messages_lib/00c1_5a85__20UP_20x_25x.rel new file mode 100644 index 00000000..9bae7960 --- /dev/null +++ b/src/nos/lib/messages_lib/00c1_5a85__20UP_20x_25x.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___00c1_5a85__20UP_20x_25x Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 20 55 50 20 78 25 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c2_2210__20Unack_3a_20_25_2.rel b/src/nos/lib/messages_lib/00c2_2210__20Unack_3a_20_25_2.rel new file mode 100644 index 00000000..b9834a42 --- /dev/null +++ b/src/nos/lib/messages_lib/00c2_2210__20Unack_3a_20_25_2.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 37 flags 0 +S ___00c2_2210__20Unack_3a_20_25_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 35 00 20 55 6e 61 63 6b 3a 20 25 +R 00 00 01 00 +T 0b 00 00 00 2d 35 75 20 54 78 70 65 63 74 3a +R 00 00 01 00 +T 16 00 00 00 20 25 2d 35 75 20 54 78 4e 65 78 +R 00 00 01 00 +T 21 00 00 00 74 3a 20 25 2d 35 75 20 54 78 51 +R 00 00 01 00 +T 2c 00 00 00 3a 20 25 2d 35 64 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c2_8c07__20idle_20timer_20_.rel b/src/nos/lib/messages_lib/00c2_8c07__20idle_20timer_20_.rel deleted file mode 100644 index 16cc823f..00000000 --- a/src/nos/lib/messages_lib/00c2_8c07__20idle_20timer_20_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___00c2_8c07__20idle_20timer_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 20 69 64 6c 65 20 74 69 6d -R 00 00 01 00 -T 0b 00 00 00 65 72 20 25 6c 75 2f 25 6c 75 20 -R 00 00 01 00 -T 16 00 00 00 73 65 63 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c3_3a68__20Unknown_20passwo.rel b/src/nos/lib/messages_lib/00c3_3a68__20Unknown_20passwo.rel new file mode 100644 index 00000000..40a0124b --- /dev/null +++ b/src/nos/lib/messages_lib/00c3_3a68__20Unknown_20passwo.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___00c3_3a68__20Unknown_20passwo Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 20 55 6e 6b 6e 6f 77 6e 20 +R 00 00 01 00 +T 0b 00 00 00 70 61 73 73 77 6f 72 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c3_7166__20input.rel b/src/nos/lib/messages_lib/00c3_7166__20input.rel deleted file mode 100644 index 233d458c..00000000 --- a/src/nos/lib/messages_lib/00c3_7166__20input.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___00c3_7166__20input Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 20 69 6e 70 75 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c4_23f3__20Vr_20_3d_20_25d_.rel b/src/nos/lib/messages_lib/00c4_23f3__20Vr_20_3d_20_25d_.rel new file mode 100644 index 00000000..5b09f411 --- /dev/null +++ b/src/nos/lib/messages_lib/00c4_23f3__20Vr_20_3d_20_25d_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___00c4_23f3__20Vr_20_3d_20_25d_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 20 56 72 20 3d 20 25 64 20 +R 00 00 01 00 +T 0b 00 00 00 56 73 20 3d 20 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c4_6c92__20len_20_25u.rel b/src/nos/lib/messages_lib/00c4_6c92__20len_20_25u.rel deleted file mode 100644 index 0af93a2d..00000000 --- a/src/nos/lib/messages_lib/00c4_6c92__20len_20_25u.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___00c4_6c92__20len_20_25u Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 20 6c 65 6e 20 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c5_0c74__20line.rel b/src/nos/lib/messages_lib/00c5_0c74__20line.rel deleted file mode 100644 index f842e356..00000000 --- a/src/nos/lib/messages_lib/00c5_0c74__20line.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___00c5_0c74__20line Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 20 6c 69 6e 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c5_a984__20WSCALE_20_25u.rel b/src/nos/lib/messages_lib/00c5_a984__20WSCALE_20_25u.rel new file mode 100644 index 00000000..19eaffe2 --- /dev/null +++ b/src/nos/lib/messages_lib/00c5_a984__20WSCALE_20_25u.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___00c5_a984__20WSCALE_20_25u Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 20 57 53 43 41 4c 45 20 25 +R 00 00 01 00 +T 0b 00 00 00 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c6_1d25__20Wnd_20_25u.rel b/src/nos/lib/messages_lib/00c6_1d25__20Wnd_20_25u.rel new file mode 100644 index 00000000..c3d12e2b --- /dev/null +++ b/src/nos/lib/messages_lib/00c6_1d25__20Wnd_20_25u.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___00c6_1d25__20Wnd_20_25u Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 20 57 6e 64 20 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c6_2537__20new_20gateway_20.rel b/src/nos/lib/messages_lib/00c6_2537__20new_20gateway_20.rel deleted file mode 100644 index 512cbeb8..00000000 --- a/src/nos/lib/messages_lib/00c6_2537__20new_20gateway_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___00c6_2537__20new_20gateway_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 20 6e 65 77 20 67 61 74 65 -R 00 00 01 00 -T 0b 00 00 00 77 61 79 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c7_e77d__20_5b_25s_5d_20_25.rel b/src/nos/lib/messages_lib/00c7_e77d__20_5b_25s_5d_20_25.rel new file mode 100644 index 00000000..a253ca70 --- /dev/null +++ b/src/nos/lib/messages_lib/00c7_e77d__20_5b_25s_5d_20_25.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___00c7_e77d__20_5b_25s_5d_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 20 5b 25 73 5d 20 25 75 0a +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c7_ea43__20new_20gateway_20.rel b/src/nos/lib/messages_lib/00c7_ea43__20new_20gateway_20.rel deleted file mode 100644 index 9be0be3c..00000000 --- a/src/nos/lib/messages_lib/00c7_ea43__20new_20gateway_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___00c7_ea43__20new_20gateway_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 20 6e 65 77 20 67 61 74 65 -R 00 00 01 00 -T 0b 00 00 00 77 61 79 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c8_7762__20_5bcts_20flow_20.rel b/src/nos/lib/messages_lib/00c8_7762__20_5bcts_20flow_20.rel new file mode 100644 index 00000000..2dacd70e --- /dev/null +++ b/src/nos/lib/messages_lib/00c8_7762__20_5bcts_20flow_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___00c8_7762__20_5bcts_20flow_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 20 5b 63 74 73 20 66 6c 6f +R 00 00 01 00 +T 0b 00 00 00 77 20 63 6f 6e 74 72 6f 6c 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c8_e3db__20none.rel b/src/nos/lib/messages_lib/00c8_e3db__20none.rel deleted file mode 100644 index 93b65922..00000000 --- a/src/nos/lib/messages_lib/00c8_e3db__20none.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___00c8_e3db__20none Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 20 6e 6f 6e 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c9_2f4d__20_5brlsd_20line_2.rel b/src/nos/lib/messages_lib/00c9_2f4d__20_5brlsd_20line_2.rel new file mode 100644 index 00000000..91630be4 --- /dev/null +++ b/src/nos/lib/messages_lib/00c9_2f4d__20_5brlsd_20line_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___00c9_2f4d__20_5brlsd_20line_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 20 5b 72 6c 73 64 20 6c 69 +R 00 00 01 00 +T 0b 00 00 00 6e 65 20 63 6f 6e 74 72 6f 6c 5d +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00c9_826b__20offset_20_25u_20.rel b/src/nos/lib/messages_lib/00c9_826b__20offset_20_25u_20.rel deleted file mode 100644 index c03eb3f8..00000000 --- a/src/nos/lib/messages_lib/00c9_826b__20offset_20_25u_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___00c9_826b__20offset_20_25u_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 20 6f 66 66 73 65 74 20 25 -R 00 00 01 00 -T 0b 00 00 00 75 20 6c 61 73 74 20 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ca_6680__20op_20_25u.rel b/src/nos/lib/messages_lib/00ca_6680__20op_20_25u.rel deleted file mode 100644 index 91c0450c..00000000 --- a/src/nos/lib/messages_lib/00ca_6680__20op_20_25u.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___00ca_6680__20op_20_25u Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 20 6f 70 20 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ca_db59__20_5btrigger_200x_.rel b/src/nos/lib/messages_lib/00ca_db59__20_5btrigger_200x_.rel new file mode 100644 index 00000000..4bb19bf7 --- /dev/null +++ b/src/nos/lib/messages_lib/00ca_db59__20_5btrigger_200x_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___00ca_db59__20_5btrigger_200x_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 20 5b 74 72 69 67 67 65 72 +R 00 00 01 00 +T 0b 00 00 00 20 30 78 25 30 32 78 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00cb_bc24__20asy_20.rel b/src/nos/lib/messages_lib/00cb_bc24__20asy_20.rel new file mode 100644 index 00000000..d738a208 --- /dev/null +++ b/src/nos/lib/messages_lib/00cb_bc24__20asy_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___00cb_bc24__20asy_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 20 61 73 79 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00cb_f7d5__20op_20REPLY.rel b/src/nos/lib/messages_lib/00cb_f7d5__20op_20REPLY.rel deleted file mode 100644 index be4cb95f..00000000 --- a/src/nos/lib/messages_lib/00cb_f7d5__20op_20REPLY.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___00cb_f7d5__20op_20REPLY Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 20 6f 70 20 52 45 50 4c 59 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00cc_5e3d__20op_20REQUEST.rel b/src/nos/lib/messages_lib/00cc_5e3d__20op_20REQUEST.rel deleted file mode 100644 index 2f1a979a..00000000 --- a/src/nos/lib/messages_lib/00cc_5e3d__20op_20REQUEST.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___00cc_5e3d__20op_20REQUEST Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 20 6f 70 20 52 45 51 55 45 -R 00 00 01 00 -T 0b 00 00 00 53 54 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00cc_c96a__20bad_20header_21_.rel b/src/nos/lib/messages_lib/00cc_c96a__20bad_20header_21_.rel new file mode 100644 index 00000000..9a07c19b --- /dev/null +++ b/src/nos/lib/messages_lib/00cc_c96a__20bad_20header_21_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___00cc_c96a__20bad_20header_21_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 20 62 61 64 20 68 65 61 64 +R 00 00 01 00 +T 0b 00 00 00 65 72 21 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00cd_0acc__20bad_20packet_0a.rel b/src/nos/lib/messages_lib/00cd_0acc__20bad_20packet_0a.rel new file mode 100644 index 00000000..47c104a2 --- /dev/null +++ b/src/nos/lib/messages_lib/00cd_0acc__20bad_20packet_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___00cd_0acc__20bad_20packet_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 20 62 61 64 20 70 61 63 6b +R 00 00 01 00 +T 0b 00 00 00 65 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00cd_9500__20op_20REVERSE_20R.rel b/src/nos/lib/messages_lib/00cd_9500__20op_20REVERSE_20R.rel deleted file mode 100644 index 3913b46d..00000000 --- a/src/nos/lib/messages_lib/00cd_9500__20op_20REVERSE_20R.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___00cd_9500__20op_20REVERSE_20R Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 20 6f 70 20 52 45 56 45 52 -R 00 00 01 00 -T 0b 00 00 00 53 45 20 52 45 50 4c 59 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ce_3faa__20op_20REVERSE_20R.rel b/src/nos/lib/messages_lib/00ce_3faa__20op_20REVERSE_20R.rel deleted file mode 100644 index 486d5bfe..00000000 --- a/src/nos/lib/messages_lib/00ce_3faa__20op_20REVERSE_20R.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___00ce_3faa__20op_20REVERSE_20R Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 20 6f 70 20 52 45 56 45 52 -R 00 00 01 00 -T 0b 00 00 00 53 45 20 52 45 51 55 45 53 54 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ce_d795__20cmd_20_25u.rel b/src/nos/lib/messages_lib/00ce_d795__20cmd_20_25u.rel new file mode 100644 index 00000000..10bd96bc --- /dev/null +++ b/src/nos/lib/messages_lib/00ce_d795__20cmd_20_25u.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___00ce_d795__20cmd_20_25u Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 20 63 6d 64 20 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00cf_1813__20code_20_25s.rel b/src/nos/lib/messages_lib/00cf_1813__20code_20_25s.rel new file mode 100644 index 00000000..659b9b77 --- /dev/null +++ b/src/nos/lib/messages_lib/00cf_1813__20code_20_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___00cf_1813__20code_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 20 63 6f 64 65 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00cf_8a3d__20output.rel b/src/nos/lib/messages_lib/00cf_8a3d__20output.rel deleted file mode 100644 index 9963fe4b..00000000 --- a/src/nos/lib/messages_lib/00cf_8a3d__20output.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___00cf_8a3d__20output Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 20 6f 75 74 70 75 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d0_5896__20pid_3d0x_25x_0a.rel b/src/nos/lib/messages_lib/00d0_5896__20pid_3d0x_25x_0a.rel deleted file mode 100644 index 9acefc18..00000000 --- a/src/nos/lib/messages_lib/00d0_5896__20pid_3d0x_25x_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___00d0_5896__20pid_3d0x_25x_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 20 70 69 64 3d 30 78 25 78 -R 00 00 01 00 -T 0b 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d0_ad83__20dest_20_25s.rel b/src/nos/lib/messages_lib/00d0_ad83__20dest_20_25s.rel new file mode 100644 index 00000000..a61122be --- /dev/null +++ b/src/nos/lib/messages_lib/00d0_ad83__20dest_20_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___00d0_ad83__20dest_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 20 64 65 73 74 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d1_aba6__20pid_3dARP_0a.rel b/src/nos/lib/messages_lib/00d1_aba6__20pid_3dARP_0a.rel deleted file mode 100644 index a76d0f8d..00000000 --- a/src/nos/lib/messages_lib/00d1_aba6__20pid_3dARP_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___00d1_aba6__20pid_3dARP_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 20 70 69 64 3d 41 52 50 0a -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d1_e3a3__20dest_20_25s_20_2.rel b/src/nos/lib/messages_lib/00d1_e3a3__20dest_20_25s_20_2.rel new file mode 100644 index 00000000..10fdc31e --- /dev/null +++ b/src/nos/lib/messages_lib/00d1_e3a3__20dest_20_25s_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___00d1_e3a3__20dest_20_25s_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 20 64 65 73 74 20 25 73 20 +R 00 00 01 00 +T 0b 00 00 00 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d2_4976__20diag.rel b/src/nos/lib/messages_lib/00d2_4976__20diag.rel new file mode 100644 index 00000000..110dbae4 --- /dev/null +++ b/src/nos/lib/messages_lib/00d2_4976__20diag.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___00d2_4976__20diag Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 20 64 69 61 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d2_d4e9__20pid_3dIP_0a.rel b/src/nos/lib/messages_lib/00d2_d4e9__20pid_3dIP_0a.rel deleted file mode 100644 index faa33d0b..00000000 --- a/src/nos/lib/messages_lib/00d2_d4e9__20pid_3dIP_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___00d2_d4e9__20pid_3dIP_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 20 70 69 64 3d 49 50 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d3_a349__20pid_3dNET_2fROM_.rel b/src/nos/lib/messages_lib/00d3_a349__20pid_3dNET_2fROM_.rel deleted file mode 100644 index fa2fc2f2..00000000 --- a/src/nos/lib/messages_lib/00d3_a349__20pid_3dNET_2fROM_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___00d3_a349__20pid_3dNET_2fROM_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 20 70 69 64 3d 4e 45 54 2f -R 00 00 01 00 -T 0b 00 00 00 52 4f 4d 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d3_e36a__20file.rel b/src/nos/lib/messages_lib/00d3_e36a__20file.rel new file mode 100644 index 00000000..da8fb1fc --- /dev/null +++ b/src/nos/lib/messages_lib/00d3_e36a__20file.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___00d3_e36a__20file Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 20 66 69 6c 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d4_5e9d__20full.rel b/src/nos/lib/messages_lib/00d4_5e9d__20full.rel new file mode 100644 index 00000000..303895e6 --- /dev/null +++ b/src/nos/lib/messages_lib/00d4_5e9d__20full.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___00d4_5e9d__20full Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 20 66 75 6c 6c 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d4_932f__20pid_3dTEXNET_0a.rel b/src/nos/lib/messages_lib/00d4_932f__20pid_3dTEXNET_0a.rel deleted file mode 100644 index dafa63ed..00000000 --- a/src/nos/lib/messages_lib/00d4_932f__20pid_3dTEXNET_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___00d4_932f__20pid_3dTEXNET_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 20 70 69 64 3d 54 45 58 4e -R 00 00 01 00 -T 0b 00 00 00 45 54 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d5_4927__20pid_3dText_0a.rel b/src/nos/lib/messages_lib/00d5_4927__20pid_3dText_0a.rel deleted file mode 100644 index 5a6ce696..00000000 --- a/src/nos/lib/messages_lib/00d5_4927__20pid_3dText_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___00d5_4927__20pid_3dText_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 20 70 69 64 3d 54 65 78 74 -R 00 00 01 00 -T 0b 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d5_4c62__20hwaddr_20_25s_0a.rel b/src/nos/lib/messages_lib/00d5_4c62__20hwaddr_20_25s_0a.rel new file mode 100644 index 00000000..8067e8b4 --- /dev/null +++ b/src/nos/lib/messages_lib/00d5_4c62__20hwaddr_20_25s_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___00d5_4c62__20hwaddr_20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 20 68 77 61 64 64 72 20 25 +R 00 00 01 00 +T 0b 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d6_c207__20pid_3dX_2e25_0a.rel b/src/nos/lib/messages_lib/00d6_c207__20pid_3dX_2e25_0a.rel deleted file mode 100644 index 9c1f1e2d..00000000 --- a/src/nos/lib/messages_lib/00d6_c207__20pid_3dX_2e25_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___00d6_c207__20pid_3dX_2e25_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 20 70 69 64 3d 58 2e 32 35 -R 00 00 01 00 -T 0b 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d6_ed56__20hwlen_20_25u.rel b/src/nos/lib/messages_lib/00d6_ed56__20hwlen_20_25u.rel new file mode 100644 index 00000000..9e76861c --- /dev/null +++ b/src/nos/lib/messages_lib/00d6_ed56__20hwlen_20_25u.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___00d6_ed56__20hwlen_20_25u Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 20 68 77 6c 65 6e 20 25 75 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d7_2971__20hwtype_20_25s.rel b/src/nos/lib/messages_lib/00d7_2971__20hwtype_20_25s.rel new file mode 100644 index 00000000..572c8fc7 --- /dev/null +++ b/src/nos/lib/messages_lib/00d7_2971__20hwtype_20_25s.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___00d7_2971__20hwtype_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 20 68 77 74 79 70 65 20 25 +R 00 00 01 00 +T 0b 00 00 00 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d7_5760__20pipe.rel b/src/nos/lib/messages_lib/00d7_5760__20pipe.rel deleted file mode 100644 index ec82252b..00000000 --- a/src/nos/lib/messages_lib/00d7_5760__20pipe.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___00d7_5760__20pipe Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 20 70 69 70 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d8_3119__20id_20_25u_20offs.rel b/src/nos/lib/messages_lib/00d8_3119__20id_20_25u_20offs.rel new file mode 100644 index 00000000..7d18c9f5 --- /dev/null +++ b/src/nos/lib/messages_lib/00d8_3119__20id_20_25u_20offs.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___00d8_3119__20id_20_25u_20offs Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 20 69 64 20 25 75 20 6f 66 +R 00 00 01 00 +T 0b 00 00 00 66 73 20 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d8_ac0a__20pointer_20_25u.rel b/src/nos/lib/messages_lib/00d8_ac0a__20pointer_20_25u.rel deleted file mode 100644 index 7ca7bac6..00000000 --- a/src/nos/lib/messages_lib/00d8_ac0a__20pointer_20_25u.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___00d8_ac0a__20pointer_20_25u Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 20 70 6f 69 6e 74 65 72 20 -R 00 00 01 00 -T 0b 00 00 00 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d9_5557__20prot_20_25s_0a.rel b/src/nos/lib/messages_lib/00d9_5557__20prot_20_25s_0a.rel deleted file mode 100644 index 048670a4..00000000 --- a/src/nos/lib/messages_lib/00d9_5557__20prot_20_25s_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___00d9_5557__20prot_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 20 70 72 6f 74 20 25 73 0a -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00d9_8f2f__20id_20_25u_20pctl.rel b/src/nos/lib/messages_lib/00d9_8f2f__20id_20_25u_20pctl.rel new file mode 100644 index 00000000..4ee9f7fc --- /dev/null +++ b/src/nos/lib/messages_lib/00d9_8f2f__20id_20_25u_20pctl.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___00d9_8f2f__20id_20_25u_20pctl Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 20 69 64 20 25 75 20 70 63 +R 00 00 01 00 +T 0b 00 00 00 74 6c 20 25 75 20 74 69 6d 65 20 +R 00 00 01 00 +T 16 00 00 00 25 6c 75 20 6c 65 6e 20 25 75 0a +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00da_0187__20prot_20_25u_0a.rel b/src/nos/lib/messages_lib/00da_0187__20prot_20_25u_0a.rel deleted file mode 100644 index 4b29d469..00000000 --- a/src/nos/lib/messages_lib/00da_0187__20prot_20_25u_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___00da_0187__20prot_20_25u_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 20 70 72 6f 74 20 25 75 0a -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00da_20f7__20id_20_25u_20seq_.rel b/src/nos/lib/messages_lib/00da_20f7__20id_20_25u_20seq_.rel new file mode 100644 index 00000000..e15d5349 --- /dev/null +++ b/src/nos/lib/messages_lib/00da_20f7__20id_20_25u_20seq_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___00da_20f7__20id_20_25u_20seq_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 20 69 64 20 25 75 20 73 65 +R 00 00 01 00 +T 0b 00 00 00 71 20 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00db_75a2__20prot_200x_25x_20.rel b/src/nos/lib/messages_lib/00db_75a2__20prot_200x_25x_20.rel deleted file mode 100644 index 88efbf10..00000000 --- a/src/nos/lib/messages_lib/00db_75a2__20prot_200x_25x_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___00db_75a2__20prot_200x_25x_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 20 70 72 6f 74 20 30 78 25 -R 00 00 01 00 -T 0b 00 00 00 78 20 70 72 6c 65 6e 20 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00db_8c07__20idle_20timer_20_.rel b/src/nos/lib/messages_lib/00db_8c07__20idle_20timer_20_.rel new file mode 100644 index 00000000..50a09546 --- /dev/null +++ b/src/nos/lib/messages_lib/00db_8c07__20idle_20timer_20_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___00db_8c07__20idle_20timer_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 20 69 64 6c 65 20 74 69 6d +R 00 00 01 00 +T 0b 00 00 00 65 72 20 25 6c 75 2f 25 6c 75 20 +R 00 00 01 00 +T 16 00 00 00 73 65 63 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00dc_3541__20prot_20IP.rel b/src/nos/lib/messages_lib/00dc_3541__20prot_20IP.rel deleted file mode 100644 index dd8a5be0..00000000 --- a/src/nos/lib/messages_lib/00dc_3541__20prot_20IP.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___00dc_3541__20prot_20IP Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 20 70 72 6f 74 20 49 50 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00dc_7166__20input.rel b/src/nos/lib/messages_lib/00dc_7166__20input.rel new file mode 100644 index 00000000..4d2e79b8 --- /dev/null +++ b/src/nos/lib/messages_lib/00dc_7166__20input.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___00dc_7166__20input Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 20 69 6e 70 75 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00dd_1888__20receive_20_20_2d.rel b/src/nos/lib/messages_lib/00dd_1888__20receive_20_20_2d.rel deleted file mode 100644 index e2303490..00000000 --- a/src/nos/lib/messages_lib/00dd_1888__20receive_20_20_2d.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 49 flags 0 -S ___00dd_1888__20receive_20_20_2d Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 47 00 20 72 65 63 65 69 76 65 20 -R 00 00 01 00 -T 0b 00 00 00 20 2d 20 66 72 61 6d 65 73 3a 20 -R 00 00 01 00 -T 16 00 00 00 20 25 2d 35 64 20 20 63 72 63 65 -R 00 00 01 00 -T 21 00 00 00 72 72 73 3a 20 25 2d 35 64 20 20 -R 00 00 01 00 -T 2c 00 00 00 61 62 6f 72 74 73 3a 20 25 2d 35 -R 00 00 01 00 -T 37 00 00 00 64 20 20 64 6d 61 6f 72 75 6e 3a -R 00 00 01 00 -T 42 00 00 00 20 25 2d 35 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00dd_6c92__20len_20_25u.rel b/src/nos/lib/messages_lib/00dd_6c92__20len_20_25u.rel new file mode 100644 index 00000000..ffd34f1f --- /dev/null +++ b/src/nos/lib/messages_lib/00dd_6c92__20len_20_25u.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___00dd_6c92__20len_20_25u Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 20 6c 65 6e 20 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00de_0c74__20line.rel b/src/nos/lib/messages_lib/00de_0c74__20line.rel new file mode 100644 index 00000000..4ee8f88b --- /dev/null +++ b/src/nos/lib/messages_lib/00de_0c74__20line.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___00de_0c74__20line Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 20 6c 69 6e 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00de_f2f3__20sock.rel b/src/nos/lib/messages_lib/00de_f2f3__20sock.rel deleted file mode 100644 index 964af8b9..00000000 --- a/src/nos/lib/messages_lib/00de_f2f3__20sock.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___00de_f2f3__20sock Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 20 73 6f 63 6b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00df_2537__20new_20gateway_20.rel b/src/nos/lib/messages_lib/00df_2537__20new_20gateway_20.rel new file mode 100644 index 00000000..b79eedf1 --- /dev/null +++ b/src/nos/lib/messages_lib/00df_2537__20new_20gateway_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___00df_2537__20new_20gateway_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 20 6e 65 77 20 67 61 74 65 +R 00 00 01 00 +T 0b 00 00 00 77 61 79 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00df_c067__20spi_20_25lx.rel b/src/nos/lib/messages_lib/00df_c067__20spi_20_25lx.rel deleted file mode 100644 index 129764cb..00000000 --- a/src/nos/lib/messages_lib/00df_c067__20spi_20_25lx.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___00df_c067__20spi_20_25lx Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 20 73 70 69 20 25 6c 78 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e0_2902__20sw_20over_20_25l.rel b/src/nos/lib/messages_lib/00e0_2902__20sw_20over_20_25l.rel deleted file mode 100644 index 07c070c0..00000000 --- a/src/nos/lib/messages_lib/00e0_2902__20sw_20over_20_25l.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___00e0_2902__20sw_20over_20_25l Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 20 73 77 20 6f 76 65 72 20 -R 00 00 01 00 -T 0b 00 00 00 25 6c 75 20 73 77 20 68 69 20 25 -R 00 00 01 00 -T 16 00 00 00 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e0_ea43__20new_20gateway_20.rel b/src/nos/lib/messages_lib/00e0_ea43__20new_20gateway_20.rel new file mode 100644 index 00000000..7ca7fb36 --- /dev/null +++ b/src/nos/lib/messages_lib/00e0_ea43__20new_20gateway_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___00e0_ea43__20new_20gateway_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 20 6e 65 77 20 67 61 74 65 +R 00 00 01 00 +T 0b 00 00 00 77 61 79 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e1_0bfc__20tos_20_25u.rel b/src/nos/lib/messages_lib/00e1_0bfc__20tos_20_25u.rel deleted file mode 100644 index 84be3e84..00000000 --- a/src/nos/lib/messages_lib/00e1_0bfc__20tos_20_25u.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___00e1_0bfc__20tos_20_25u Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 20 74 6f 73 20 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e1_e3db__20none.rel b/src/nos/lib/messages_lib/00e1_e3db__20none.rel new file mode 100644 index 00000000..2d8973d2 --- /dev/null +++ b/src/nos/lib/messages_lib/00e1_e3db__20none.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___00e1_e3db__20none Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 20 6e 6f 6e 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e2_826b__20offset_20_25u_20.rel b/src/nos/lib/messages_lib/00e2_826b__20offset_20_25u_20.rel new file mode 100644 index 00000000..04e0d861 --- /dev/null +++ b/src/nos/lib/messages_lib/00e2_826b__20offset_20_25u_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___00e2_826b__20offset_20_25u_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 20 6f 66 66 73 65 74 20 25 +R 00 00 01 00 +T 0b 00 00 00 75 20 6c 61 73 74 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e2_e1c5__20trace_20file_3a_.rel b/src/nos/lib/messages_lib/00e2_e1c5__20trace_20file_3a_.rel deleted file mode 100644 index 261696d4..00000000 --- a/src/nos/lib/messages_lib/00e2_e1c5__20trace_20file_3a_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___00e2_e1c5__20trace_20file_3a_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 20 74 72 61 63 65 20 66 69 -R 00 00 01 00 -T 0b 00 00 00 6c 65 3a 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e3_6680__20op_20_25u.rel b/src/nos/lib/messages_lib/00e3_6680__20op_20_25u.rel new file mode 100644 index 00000000..ddf2e069 --- /dev/null +++ b/src/nos/lib/messages_lib/00e3_6680__20op_20_25u.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___00e3_6680__20op_20_25u Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 20 6f 70 20 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e3_ca97__20tracing_20off_0a.rel b/src/nos/lib/messages_lib/00e3_ca97__20tracing_20off_0a.rel deleted file mode 100644 index 0d26bf44..00000000 --- a/src/nos/lib/messages_lib/00e3_ca97__20tracing_20off_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___00e3_ca97__20tracing_20off_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 20 74 72 61 63 69 6e 67 20 -R 00 00 01 00 -T 0b 00 00 00 6f 66 66 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e4_be19__20transmit_20_2d_2.rel b/src/nos/lib/messages_lib/00e4_be19__20transmit_20_2d_2.rel deleted file mode 100644 index 57b78d60..00000000 --- a/src/nos/lib/messages_lib/00e4_be19__20transmit_20_2d_2.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 49 flags 0 -S ___00e4_be19__20transmit_20_2d_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 47 00 20 74 72 61 6e 73 6d 69 74 -R 00 00 01 00 -T 0b 00 00 00 20 2d 20 66 72 61 6d 65 73 3a 20 -R 00 00 01 00 -T 16 00 00 00 20 25 2d 35 64 20 20 61 62 6f 72 -R 00 00 01 00 -T 21 00 00 00 74 73 20 3a 20 25 2d 35 64 20 20 -R 00 00 01 00 -T 2c 00 00 00 75 72 75 6e 73 20 3a 20 25 2d 35 -R 00 00 01 00 -T 37 00 00 00 64 20 20 63 74 73 6c 6f 73 73 3a -R 00 00 01 00 -T 42 00 00 00 20 25 2d 35 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e4_f7d5__20op_20REPLY.rel b/src/nos/lib/messages_lib/00e4_f7d5__20op_20REPLY.rel new file mode 100644 index 00000000..5c5e8e37 --- /dev/null +++ b/src/nos/lib/messages_lib/00e4_f7d5__20op_20REPLY.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___00e4_f7d5__20op_20REPLY Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 20 6f 70 20 52 45 50 4c 59 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e5_5e3d__20op_20REQUEST.rel b/src/nos/lib/messages_lib/00e5_5e3d__20op_20REQUEST.rel new file mode 100644 index 00000000..268957a2 --- /dev/null +++ b/src/nos/lib/messages_lib/00e5_5e3d__20op_20REQUEST.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___00e5_5e3d__20op_20REQUEST Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 20 6f 70 20 52 45 51 55 45 +R 00 00 01 00 +T 0b 00 00 00 53 54 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e5_afd2__20ttl_20_25d_0a.rel b/src/nos/lib/messages_lib/00e5_afd2__20ttl_20_25d_0a.rel deleted file mode 100644 index 35d75033..00000000 --- a/src/nos/lib/messages_lib/00e5_afd2__20ttl_20_25d_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___00e5_afd2__20ttl_20_25d_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 20 74 74 6c 20 25 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e6_6f53__20txseq_20_25d_20r.rel b/src/nos/lib/messages_lib/00e6_6f53__20txseq_20_25d_20r.rel deleted file mode 100644 index d44fdb30..00000000 --- a/src/nos/lib/messages_lib/00e6_6f53__20txseq_20_25d_20r.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___00e6_6f53__20txseq_20_25d_20r Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 20 74 78 73 65 71 20 25 64 -R 00 00 01 00 -T 0b 00 00 00 20 72 78 73 65 71 20 25 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e6_9500__20op_20REVERSE_20R.rel b/src/nos/lib/messages_lib/00e6_9500__20op_20REVERSE_20R.rel new file mode 100644 index 00000000..2376e4bf --- /dev/null +++ b/src/nos/lib/messages_lib/00e6_9500__20op_20REVERSE_20R.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___00e6_9500__20op_20REVERSE_20R Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 20 6f 70 20 52 45 56 45 52 +R 00 00 01 00 +T 0b 00 00 00 53 45 20 52 45 50 4c 59 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e7_3faa__20op_20REVERSE_20R.rel b/src/nos/lib/messages_lib/00e7_3faa__20op_20REVERSE_20R.rel new file mode 100644 index 00000000..87e83ba5 --- /dev/null +++ b/src/nos/lib/messages_lib/00e7_3faa__20op_20REVERSE_20R.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___00e7_3faa__20op_20REVERSE_20R Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 20 6f 70 20 52 45 56 45 52 +R 00 00 01 00 +T 0b 00 00 00 53 45 20 52 45 51 55 45 53 54 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e7_c8f3__20type_200x_25x_0a.rel b/src/nos/lib/messages_lib/00e7_c8f3__20type_200x_25x_0a.rel deleted file mode 100644 index 18a44d59..00000000 --- a/src/nos/lib/messages_lib/00e7_c8f3__20type_200x_25x_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___00e7_c8f3__20type_200x_25x_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 20 74 79 70 65 20 30 78 25 -R 00 00 01 00 -T 0b 00 00 00 78 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e8_6772__20type_20ARP_0a.rel b/src/nos/lib/messages_lib/00e8_6772__20type_20ARP_0a.rel deleted file mode 100644 index 4c3105f2..00000000 --- a/src/nos/lib/messages_lib/00e8_6772__20type_20ARP_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___00e8_6772__20type_20ARP_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 20 74 79 70 65 20 41 52 50 -R 00 00 01 00 -T 0b 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e8_8a3d__20output.rel b/src/nos/lib/messages_lib/00e8_8a3d__20output.rel new file mode 100644 index 00000000..ef6c7120 --- /dev/null +++ b/src/nos/lib/messages_lib/00e8_8a3d__20output.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___00e8_8a3d__20output Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 20 6f 75 74 70 75 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e9_5896__20pid_3d0x_25x_0a.rel b/src/nos/lib/messages_lib/00e9_5896__20pid_3d0x_25x_0a.rel new file mode 100644 index 00000000..a9b69385 --- /dev/null +++ b/src/nos/lib/messages_lib/00e9_5896__20pid_3d0x_25x_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___00e9_5896__20pid_3d0x_25x_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 20 70 69 64 3d 30 78 25 78 +R 00 00 01 00 +T 0b 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00e9_5c83__20type_20IP_0a.rel b/src/nos/lib/messages_lib/00e9_5c83__20type_20IP_0a.rel deleted file mode 100644 index 97e36fdb..00000000 --- a/src/nos/lib/messages_lib/00e9_5c83__20type_20IP_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___00e9_5c83__20type_20IP_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 20 74 79 70 65 20 49 50 0a -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ea_aba6__20pid_3dARP_0a.rel b/src/nos/lib/messages_lib/00ea_aba6__20pid_3dARP_0a.rel new file mode 100644 index 00000000..b94be674 --- /dev/null +++ b/src/nos/lib/messages_lib/00ea_aba6__20pid_3dARP_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___00ea_aba6__20pid_3dARP_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 20 70 69 64 3d 41 52 50 0a +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ea_f937__20type_20REVARP_0a.rel b/src/nos/lib/messages_lib/00ea_f937__20type_20REVARP_0a.rel deleted file mode 100644 index 015df7c9..00000000 --- a/src/nos/lib/messages_lib/00ea_f937__20type_20REVARP_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___00ea_f937__20type_20REVARP_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 20 74 79 70 65 20 52 45 56 -R 00 00 01 00 -T 0b 00 00 00 41 52 50 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00eb_c53a__20v.rel b/src/nos/lib/messages_lib/00eb_c53a__20v.rel deleted file mode 100644 index f46a2876..00000000 --- a/src/nos/lib/messages_lib/00eb_c53a__20v.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5 flags 0 -S ___00eb_c53a__20v Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 03 00 20 76 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00eb_d4e9__20pid_3dIP_0a.rel b/src/nos/lib/messages_lib/00eb_d4e9__20pid_3dIP_0a.rel new file mode 100644 index 00000000..76866364 --- /dev/null +++ b/src/nos/lib/messages_lib/00eb_d4e9__20pid_3dIP_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___00eb_d4e9__20pid_3dIP_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 20 70 69 64 3d 49 50 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ec_9158__20vers_20_25u_20en.rel b/src/nos/lib/messages_lib/00ec_9158__20vers_20_25u_20en.rel deleted file mode 100644 index a2657cb7..00000000 --- a/src/nos/lib/messages_lib/00ec_9158__20vers_20_25u_20en.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___00ec_9158__20vers_20_25u_20en Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 20 76 65 72 73 20 25 75 20 -R 00 00 01 00 -T 0b 00 00 00 65 6e 74 72 69 65 73 20 25 75 3a -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ec_a349__20pid_3dNET_2fROM_.rel b/src/nos/lib/messages_lib/00ec_a349__20pid_3dNET_2fROM_.rel new file mode 100644 index 00000000..9aecd1dd --- /dev/null +++ b/src/nos/lib/messages_lib/00ec_a349__20pid_3dNET_2fROM_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___00ec_a349__20pid_3dNET_2fROM_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 20 70 69 64 3d 4e 45 54 2f +R 00 00 01 00 +T 0b 00 00 00 52 4f 4d 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ed_932f__20pid_3dTEXNET_0a.rel b/src/nos/lib/messages_lib/00ed_932f__20pid_3dTEXNET_0a.rel new file mode 100644 index 00000000..8b02f140 --- /dev/null +++ b/src/nos/lib/messages_lib/00ed_932f__20pid_3dTEXNET_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___00ed_932f__20pid_3dTEXNET_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 20 70 69 64 3d 54 45 58 4e +R 00 00 01 00 +T 0b 00 00 00 45 54 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ed_994d__20wnd_20_25d.rel b/src/nos/lib/messages_lib/00ed_994d__20wnd_20_25d.rel deleted file mode 100644 index 8cb2d752..00000000 --- a/src/nos/lib/messages_lib/00ed_994d__20wnd_20_25d.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___00ed_994d__20wnd_20_25d Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 20 77 6e 64 20 25 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ee_426e__20_7c_20.rel b/src/nos/lib/messages_lib/00ee_426e__20_7c_20.rel deleted file mode 100644 index 1074be26..00000000 --- a/src/nos/lib/messages_lib/00ee_426e__20_7c_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___00ee_426e__20_7c_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 20 7c 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ee_4927__20pid_3dText_0a.rel b/src/nos/lib/messages_lib/00ee_4927__20pid_3dText_0a.rel new file mode 100644 index 00000000..5bd4f61c --- /dev/null +++ b/src/nos/lib/messages_lib/00ee_4927__20pid_3dText_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___00ee_4927__20pid_3dText_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 20 70 69 64 3d 54 65 78 74 +R 00 00 01 00 +T 0b 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ef_3f0c__21.rel b/src/nos/lib/messages_lib/00ef_3f0c__21.rel deleted file mode 100644 index 4df78eeb..00000000 --- a/src/nos/lib/messages_lib/00ef_3f0c__21.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4 flags 0 -S ___00ef_3f0c__21 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 02 00 21 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ef_c207__20pid_3dX_2e25_0a.rel b/src/nos/lib/messages_lib/00ef_c207__20pid_3dX_2e25_0a.rel new file mode 100644 index 00000000..306afa00 --- /dev/null +++ b/src/nos/lib/messages_lib/00ef_c207__20pid_3dX_2e25_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___00ef_c207__20pid_3dX_2e25_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 20 70 69 64 3d 58 2e 32 35 +R 00 00 01 00 +T 0b 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f0_5760__20pipe.rel b/src/nos/lib/messages_lib/00f0_5760__20pipe.rel new file mode 100644 index 00000000..98147051 --- /dev/null +++ b/src/nos/lib/messages_lib/00f0_5760__20pipe.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___00f0_5760__20pipe Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 20 70 69 70 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f0_f9eb__21_21_20_25s_20_25.rel b/src/nos/lib/messages_lib/00f0_f9eb__21_21_20_25s_20_25.rel deleted file mode 100644 index b7adc044..00000000 --- a/src/nos/lib/messages_lib/00f0_f9eb__21_21_20_25s_20_25.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___00f0_f9eb__21_21_20_25s_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 21 21 20 25 73 20 25 73 0a -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f1_ac0a__20pointer_20_25u.rel b/src/nos/lib/messages_lib/00f1_ac0a__20pointer_20_25u.rel new file mode 100644 index 00000000..8557923f --- /dev/null +++ b/src/nos/lib/messages_lib/00f1_ac0a__20pointer_20_25u.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___00f1_ac0a__20pointer_20_25u Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 20 70 6f 69 6e 74 65 72 20 +R 00 00 01 00 +T 0b 00 00 00 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f1_ef2d__21_21_20maximum_20.rel b/src/nos/lib/messages_lib/00f1_ef2d__21_21_20maximum_20.rel deleted file mode 100644 index bae00547..00000000 --- a/src/nos/lib/messages_lib/00f1_ef2d__21_21_20maximum_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___00f1_ef2d__21_21_20maximum_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 21 21 20 6d 61 78 69 6d 75 -R 00 00 01 00 -T 0b 00 00 00 6d 20 54 54 4c 20 65 78 63 65 65 -R 00 00 01 00 -T 16 00 00 00 64 65 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f2_5557__20prot_20_25s_0a.rel b/src/nos/lib/messages_lib/00f2_5557__20prot_20_25s_0a.rel new file mode 100644 index 00000000..b070c55a --- /dev/null +++ b/src/nos/lib/messages_lib/00f2_5557__20prot_20_25s_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___00f2_5557__20prot_20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 20 70 72 6f 74 20 25 73 0a +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f2_55d7__22_25s_22_20_2d_20.rel b/src/nos/lib/messages_lib/00f2_55d7__22_25s_22_20_2d_20.rel deleted file mode 100644 index fd4afa6a..00000000 --- a/src/nos/lib/messages_lib/00f2_55d7__22_25s_22_20_2d_20.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___00f2_55d7__22_25s_22_20_2d_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 22 25 73 22 20 2d 20 74 61 -R 00 00 01 00 -T 0b 00 00 00 6b 65 73 20 61 74 20 6c 65 61 73 -R 00 00 01 00 -T 16 00 00 00 74 20 6f 6e 65 20 61 72 67 75 6d -R 00 00 01 00 -T 21 00 00 00 65 6e 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f3_0187__20prot_20_25u_0a.rel b/src/nos/lib/messages_lib/00f3_0187__20prot_20_25u_0a.rel new file mode 100644 index 00000000..d6611ff3 --- /dev/null +++ b/src/nos/lib/messages_lib/00f3_0187__20prot_20_25u_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___00f3_0187__20prot_20_25u_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 20 70 72 6f 74 20 25 75 0a +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f3_60ae__23_20queries_20eac.rel b/src/nos/lib/messages_lib/00f3_60ae__23_20queries_20eac.rel deleted file mode 100644 index 7227070b..00000000 --- a/src/nos/lib/messages_lib/00f3_60ae__23_20queries_20eac.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___00f3_60ae__23_20queries_20eac Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 23 20 71 75 65 72 69 65 73 -R 00 00 01 00 -T 0b 00 00 00 20 65 61 63 68 20 61 74 74 65 6d -R 00 00 01 00 -T 16 00 00 00 70 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f4_1acc__23_20secs_20to_20w.rel b/src/nos/lib/messages_lib/00f4_1acc__23_20secs_20to_20w.rel deleted file mode 100644 index 116d7816..00000000 --- a/src/nos/lib/messages_lib/00f4_1acc__23_20secs_20to_20w.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___00f4_1acc__23_20secs_20to_20w Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 23 20 73 65 63 73 20 74 6f -R 00 00 01 00 -T 0b 00 00 00 20 77 61 69 74 20 66 6f 72 20 72 -R 00 00 01 00 -T 16 00 00 00 65 70 6c 79 20 74 6f 20 71 75 65 -R 00 00 01 00 -T 21 00 00 00 72 79 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f4_75a2__20prot_200x_25x_20.rel b/src/nos/lib/messages_lib/00f4_75a2__20prot_200x_25x_20.rel new file mode 100644 index 00000000..0c01e0ee --- /dev/null +++ b/src/nos/lib/messages_lib/00f4_75a2__20prot_200x_25x_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___00f4_75a2__20prot_200x_25x_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 20 70 72 6f 74 20 30 78 25 +R 00 00 01 00 +T 0b 00 00 00 78 20 70 72 6c 65 6e 20 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f5_3541__20prot_20IP.rel b/src/nos/lib/messages_lib/00f5_3541__20prot_20IP.rel new file mode 100644 index 00000000..f52fa747 --- /dev/null +++ b/src/nos/lib/messages_lib/00f5_3541__20prot_20IP.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___00f5_3541__20prot_20IP Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 20 70 72 6f 74 20 49 50 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f5_fb95__25_2d10_2e10s_20_2.rel b/src/nos/lib/messages_lib/00f5_fb95__25_2d10_2e10s_20_2.rel deleted file mode 100644 index 6f6c361d..00000000 --- a/src/nos/lib/messages_lib/00f5_fb95__25_2d10_2e10s_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___00f5_fb95__25_2d10_2e10s_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 25 2d 31 30 2e 31 30 73 20 -R 00 00 01 00 -T 0b 00 00 00 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f6_1888__20receive_20_20_2d.rel b/src/nos/lib/messages_lib/00f6_1888__20receive_20_20_2d.rel new file mode 100644 index 00000000..f3f58e00 --- /dev/null +++ b/src/nos/lib/messages_lib/00f6_1888__20receive_20_20_2d.rel @@ -0,0 +1,22 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 49 flags 0 +S ___00f6_1888__20receive_20_20_2d Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 47 00 20 72 65 63 65 69 76 65 20 +R 00 00 01 00 +T 0b 00 00 00 20 2d 20 66 72 61 6d 65 73 3a 20 +R 00 00 01 00 +T 16 00 00 00 20 25 2d 35 64 20 20 63 72 63 65 +R 00 00 01 00 +T 21 00 00 00 72 72 73 3a 20 25 2d 35 64 20 20 +R 00 00 01 00 +T 2c 00 00 00 61 62 6f 72 74 73 3a 20 25 2d 35 +R 00 00 01 00 +T 37 00 00 00 64 20 20 64 6d 61 6f 72 75 6e 3a +R 00 00 01 00 +T 42 00 00 00 20 25 2d 35 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f6_3035__25_2d10s_20IP_20ad.rel b/src/nos/lib/messages_lib/00f6_3035__25_2d10s_20IP_20ad.rel deleted file mode 100644 index bc4c8ce7..00000000 --- a/src/nos/lib/messages_lib/00f6_3035__25_2d10s_20IP_20ad.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 29 flags 0 -S ___00f6_3035__25_2d10s_20IP_20ad Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 27 00 25 2d 31 30 73 20 49 50 20 -R 00 00 01 00 -T 0b 00 00 00 61 64 64 72 20 25 73 20 4d 54 55 -R 00 00 01 00 -T 16 00 00 00 20 25 75 20 4c 69 6e 6b 20 65 6e -R 00 00 01 00 -T 21 00 00 00 63 61 70 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f7_01be__25_2d10s_25_2d17s.rel b/src/nos/lib/messages_lib/00f7_01be__25_2d10s_25_2d17s.rel deleted file mode 100644 index 49d42657..00000000 --- a/src/nos/lib/messages_lib/00f7_01be__25_2d10s_25_2d17s.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___00f7_01be__25_2d10s_25_2d17s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 25 2d 31 30 73 25 2d 31 37 -R 00 00 01 00 -T 0b 00 00 00 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f7_f2f3__20sock.rel b/src/nos/lib/messages_lib/00f7_f2f3__20sock.rel new file mode 100644 index 00000000..f4170cd2 --- /dev/null +++ b/src/nos/lib/messages_lib/00f7_f2f3__20sock.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___00f7_f2f3__20sock Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 20 73 6f 63 6b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f8_4da0__25_2d10s_25_2d17s_.rel b/src/nos/lib/messages_lib/00f8_4da0__25_2d10s_25_2d17s_.rel deleted file mode 100644 index 40b509af..00000000 --- a/src/nos/lib/messages_lib/00f8_4da0__25_2d10s_25_2d17s_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___00f8_4da0__25_2d10s_25_2d17s_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 25 2d 31 30 73 25 2d 31 37 -R 00 00 01 00 -T 0b 00 00 00 73 25 38 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f8_c067__20spi_20_25lx.rel b/src/nos/lib/messages_lib/00f8_c067__20spi_20_25lx.rel new file mode 100644 index 00000000..25d4d70b --- /dev/null +++ b/src/nos/lib/messages_lib/00f8_c067__20spi_20_25lx.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___00f8_c067__20spi_20_25lx Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 20 73 70 69 20 25 6c 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f9_2902__20sw_20over_20_25l.rel b/src/nos/lib/messages_lib/00f9_2902__20sw_20over_20_25l.rel new file mode 100644 index 00000000..673c977d --- /dev/null +++ b/src/nos/lib/messages_lib/00f9_2902__20sw_20over_20_25l.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___00f9_2902__20sw_20over_20_25l Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 20 73 77 20 6f 76 65 72 20 +R 00 00 01 00 +T 0b 00 00 00 25 6c 75 20 73 77 20 68 69 20 25 +R 00 00 01 00 +T 16 00 00 00 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00f9_ff4a__25_2d10s_25_2d6s.rel b/src/nos/lib/messages_lib/00f9_ff4a__25_2d10s_25_2d6s.rel deleted file mode 100644 index 35469c68..00000000 --- a/src/nos/lib/messages_lib/00f9_ff4a__25_2d10s_25_2d6s.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___00f9_ff4a__25_2d10s_25_2d6s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 25 2d 31 30 73 25 2d 36 73 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00fa_0bfc__20tos_20_25u.rel b/src/nos/lib/messages_lib/00fa_0bfc__20tos_20_25u.rel new file mode 100644 index 00000000..f0b988b3 --- /dev/null +++ b/src/nos/lib/messages_lib/00fa_0bfc__20tos_20_25u.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___00fa_0bfc__20tos_20_25u Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 20 74 6f 73 20 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00fa_e1c2__25_2d11s_25_2d9s_2.rel b/src/nos/lib/messages_lib/00fa_e1c2__25_2d11s_25_2d9s_2.rel deleted file mode 100644 index afaeffb4..00000000 --- a/src/nos/lib/messages_lib/00fa_e1c2__25_2d11s_25_2d9s_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___00fa_e1c2__25_2d11s_25_2d9s_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 25 2d 31 31 73 25 2d 39 73 -R 00 00 01 00 -T 0b 00 00 00 25 2d 34 75 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00fb_7335__25_2d13s.rel b/src/nos/lib/messages_lib/00fb_7335__25_2d13s.rel deleted file mode 100644 index 27e7cbc0..00000000 --- a/src/nos/lib/messages_lib/00fb_7335__25_2d13s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___00fb_7335__25_2d13s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 25 2d 31 33 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00fb_e1c5__20trace_20file_3a_.rel b/src/nos/lib/messages_lib/00fb_e1c5__20trace_20file_3a_.rel new file mode 100644 index 00000000..db2336bb --- /dev/null +++ b/src/nos/lib/messages_lib/00fb_e1c5__20trace_20file_3a_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___00fb_e1c5__20trace_20file_3a_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 20 74 72 61 63 65 20 66 69 +R 00 00 01 00 +T 0b 00 00 00 6c 65 3a 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00fc_27e5__25_2d15s.rel b/src/nos/lib/messages_lib/00fc_27e5__25_2d15s.rel deleted file mode 100644 index 11da6a66..00000000 --- a/src/nos/lib/messages_lib/00fc_27e5__25_2d15s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___00fc_27e5__25_2d15s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 25 2d 31 35 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00fc_ca97__20tracing_20off_0a.rel b/src/nos/lib/messages_lib/00fc_ca97__20tracing_20off_0a.rel new file mode 100644 index 00000000..aa694187 --- /dev/null +++ b/src/nos/lib/messages_lib/00fc_ca97__20tracing_20off_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___00fc_ca97__20tracing_20off_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 20 74 72 61 63 69 6e 67 20 +R 00 00 01 00 +T 0b 00 00 00 6f 66 66 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00fd_0d8d__25_2d16s.rel b/src/nos/lib/messages_lib/00fd_0d8d__25_2d16s.rel deleted file mode 100644 index f811e29e..00000000 --- a/src/nos/lib/messages_lib/00fd_0d8d__25_2d16s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___00fd_0d8d__25_2d16s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 25 2d 31 36 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00fd_be19__20transmit_20_2d_2.rel b/src/nos/lib/messages_lib/00fd_be19__20transmit_20_2d_2.rel new file mode 100644 index 00000000..9ec93468 --- /dev/null +++ b/src/nos/lib/messages_lib/00fd_be19__20transmit_20_2d_2.rel @@ -0,0 +1,22 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 49 flags 0 +S ___00fd_be19__20transmit_20_2d_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 47 00 20 74 72 61 6e 73 6d 69 74 +R 00 00 01 00 +T 0b 00 00 00 20 2d 20 66 72 61 6d 65 73 3a 20 +R 00 00 01 00 +T 16 00 00 00 20 25 2d 35 64 20 20 61 62 6f 72 +R 00 00 01 00 +T 21 00 00 00 74 73 20 3a 20 25 2d 35 64 20 20 +R 00 00 01 00 +T 2c 00 00 00 75 72 75 6e 73 20 3a 20 25 2d 35 +R 00 00 01 00 +T 37 00 00 00 64 20 20 63 74 73 6c 6f 73 73 3a +R 00 00 01 00 +T 42 00 00 00 20 25 2d 35 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00fe_afd2__20ttl_20_25d_0a.rel b/src/nos/lib/messages_lib/00fe_afd2__20ttl_20_25d_0a.rel new file mode 100644 index 00000000..c2dd82e6 --- /dev/null +++ b/src/nos/lib/messages_lib/00fe_afd2__20ttl_20_25d_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___00fe_afd2__20ttl_20_25d_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 20 74 74 6c 20 25 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00fe_e560__25_2d16s_20_20.rel b/src/nos/lib/messages_lib/00fe_e560__25_2d16s_20_20.rel deleted file mode 100644 index 99a5b28b..00000000 --- a/src/nos/lib/messages_lib/00fe_e560__25_2d16s_20_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___00fe_e560__25_2d16s_20_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 25 2d 31 36 73 20 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ff_6f53__20txseq_20_25d_20r.rel b/src/nos/lib/messages_lib/00ff_6f53__20txseq_20_25d_20r.rel new file mode 100644 index 00000000..a3c95d23 --- /dev/null +++ b/src/nos/lib/messages_lib/00ff_6f53__20txseq_20_25d_20r.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___00ff_6f53__20txseq_20_25d_20r Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 20 74 78 73 65 71 20 25 64 +R 00 00 01 00 +T 0b 00 00 00 20 72 78 73 65 71 20 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/00ff_f903__25_2d16s_25_2d3u_2.rel b/src/nos/lib/messages_lib/00ff_f903__25_2d16s_25_2d3u_2.rel deleted file mode 100644 index 97b1104b..00000000 --- a/src/nos/lib/messages_lib/00ff_f903__25_2d16s_25_2d3u_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___00ff_f903__25_2d16s_25_2d3u_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 25 2d 31 36 73 25 2d 33 75 -R 00 00 01 00 -T 0b 00 00 00 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0100_2609__25_2d16s_25_2d9lu_.rel b/src/nos/lib/messages_lib/0100_2609__25_2d16s_25_2d9lu_.rel deleted file mode 100644 index e34dc583..00000000 --- a/src/nos/lib/messages_lib/0100_2609__25_2d16s_25_2d9lu_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___0100_2609__25_2d16s_25_2d9lu_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 25 2d 31 36 73 25 2d 39 6c -R 00 00 01 00 -T 0b 00 00 00 75 25 2d 36 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0100_c8f3__20type_200x_25x_0a.rel b/src/nos/lib/messages_lib/0100_c8f3__20type_200x_25x_0a.rel new file mode 100644 index 00000000..9acff7aa --- /dev/null +++ b/src/nos/lib/messages_lib/0100_c8f3__20type_200x_25x_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0100_c8f3__20type_200x_25x_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 20 74 79 70 65 20 30 78 25 +R 00 00 01 00 +T 0b 00 00 00 78 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0101_1455__25_2d17s.rel b/src/nos/lib/messages_lib/0101_1455__25_2d17s.rel deleted file mode 100644 index d379f26f..00000000 --- a/src/nos/lib/messages_lib/0101_1455__25_2d17s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0101_1455__25_2d17s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 25 2d 31 37 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0101_6772__20type_20ARP_0a.rel b/src/nos/lib/messages_lib/0101_6772__20type_20ARP_0a.rel new file mode 100644 index 00000000..391a9595 --- /dev/null +++ b/src/nos/lib/messages_lib/0101_6772__20type_20ARP_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0101_6772__20type_20ARP_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 20 74 79 70 65 20 41 52 50 +R 00 00 01 00 +T 0b 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0102_5c83__20type_20IP_0a.rel b/src/nos/lib/messages_lib/0102_5c83__20type_20IP_0a.rel new file mode 100644 index 00000000..69c0f5d9 --- /dev/null +++ b/src/nos/lib/messages_lib/0102_5c83__20type_20IP_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0102_5c83__20type_20IP_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 20 74 79 70 65 20 49 50 0a +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0102_e920__25_2d20s_258lu_258.rel b/src/nos/lib/messages_lib/0102_e920__25_2d20s_258lu_258.rel deleted file mode 100644 index 298db423..00000000 --- a/src/nos/lib/messages_lib/0102_e920__25_2d20s_258lu_258.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___0102_e920__25_2d20s_258lu_258 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 25 2d 32 30 73 25 38 6c 75 -R 00 00 01 00 -T 0b 00 00 00 25 38 6c 75 25 31 30 6c 75 25 31 -R 00 00 01 00 -T 16 00 00 00 30 6c 75 25 31 30 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0103_8589__25_2d22s.rel b/src/nos/lib/messages_lib/0103_8589__25_2d22s.rel deleted file mode 100644 index ebecc5ef..00000000 --- a/src/nos/lib/messages_lib/0103_8589__25_2d22s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0103_8589__25_2d22s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 25 2d 32 32 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0103_f937__20type_20REVARP_0a.rel b/src/nos/lib/messages_lib/0103_f937__20type_20REVARP_0a.rel new file mode 100644 index 00000000..cad6458a --- /dev/null +++ b/src/nos/lib/messages_lib/0103_f937__20type_20REVARP_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___0103_f937__20type_20REVARP_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 20 74 79 70 65 20 52 45 56 +R 00 00 01 00 +T 0b 00 00 00 41 52 50 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0104_b616__25_2d22s_0a.rel b/src/nos/lib/messages_lib/0104_b616__25_2d22s_0a.rel deleted file mode 100644 index 870554d2..00000000 --- a/src/nos/lib/messages_lib/0104_b616__25_2d22s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0104_b616__25_2d22s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 25 2d 32 32 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0104_c53a__20v.rel b/src/nos/lib/messages_lib/0104_c53a__20v.rel new file mode 100644 index 00000000..9e13e2cd --- /dev/null +++ b/src/nos/lib/messages_lib/0104_c53a__20v.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 5 flags 0 +S ___0104_c53a__20v Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 03 00 20 76 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0105_9158__20vers_20_25u_20en.rel b/src/nos/lib/messages_lib/0105_9158__20vers_20_25u_20en.rel new file mode 100644 index 00000000..3bcec5e0 --- /dev/null +++ b/src/nos/lib/messages_lib/0105_9158__20vers_20_25u_20en.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0105_9158__20vers_20_25u_20en Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 20 76 65 72 73 20 25 75 20 +R 00 00 01 00 +T 0b 00 00 00 65 6e 74 72 69 65 73 20 25 75 3a +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0105_9c51__25_2d23s.rel b/src/nos/lib/messages_lib/0105_9c51__25_2d23s.rel deleted file mode 100644 index 4487c8d7..00000000 --- a/src/nos/lib/messages_lib/0105_9c51__25_2d23s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0105_9c51__25_2d23s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 25 2d 32 33 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0106_994d__20wnd_20_25d.rel b/src/nos/lib/messages_lib/0106_994d__20wnd_20_25d.rel new file mode 100644 index 00000000..2e2556fd --- /dev/null +++ b/src/nos/lib/messages_lib/0106_994d__20wnd_20_25d.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0106_994d__20wnd_20_25d Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 20 77 6e 64 20 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0106_bf59__25_2d2u.rel b/src/nos/lib/messages_lib/0106_bf59__25_2d2u.rel deleted file mode 100644 index 766f19d6..00000000 --- a/src/nos/lib/messages_lib/0106_bf59__25_2d2u.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0106_bf59__25_2d2u Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 25 2d 32 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0107_426e__20_7c_20.rel b/src/nos/lib/messages_lib/0107_426e__20_7c_20.rel new file mode 100644 index 00000000..e145d7fe --- /dev/null +++ b/src/nos/lib/messages_lib/0107_426e__20_7c_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0107_426e__20_7c_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 20 7c 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0107_6601__25_2d32s_20_28_25l.rel b/src/nos/lib/messages_lib/0107_6601__25_2d32s_20_28_25l.rel deleted file mode 100644 index 67c858a6..00000000 --- a/src/nos/lib/messages_lib/0107_6601__25_2d32s_20_28_25l.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___0107_6601__25_2d32s_20_28_25l Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 25 2d 33 32 73 20 28 25 6c -R 00 00 01 00 -T 0b 00 00 00 75 2f 25 6c 75 25 73 29 20 25 73 -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0108_3f0c__21.rel b/src/nos/lib/messages_lib/0108_3f0c__21.rel new file mode 100644 index 00000000..3b940b1f --- /dev/null +++ b/src/nos/lib/messages_lib/0108_3f0c__21.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 4 flags 0 +S ___0108_3f0c__21 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 02 00 21 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0108_a681__25_2d3u.rel b/src/nos/lib/messages_lib/0108_a681__25_2d3u.rel deleted file mode 100644 index 7ad5b91d..00000000 --- a/src/nos/lib/messages_lib/0108_a681__25_2d3u.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0108_a681__25_2d3u Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 25 2d 33 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0109_ea81__25_2d4d.rel b/src/nos/lib/messages_lib/0109_ea81__25_2d4d.rel deleted file mode 100644 index 12831f2e..00000000 --- a/src/nos/lib/messages_lib/0109_ea81__25_2d4d.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0109_ea81__25_2d4d Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 25 2d 34 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0109_f9eb__21_21_20_25s_20_25.rel b/src/nos/lib/messages_lib/0109_f9eb__21_21_20_25s_20_25.rel new file mode 100644 index 00000000..59256101 --- /dev/null +++ b/src/nos/lib/messages_lib/0109_f9eb__21_21_20_25s_20_25.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0109_f9eb__21_21_20_25s_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 21 21 20 25 73 20 25 73 0a +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/010a_6f94__25_2d4d_255d_20_25.rel b/src/nos/lib/messages_lib/010a_6f94__25_2d4d_255d_20_25.rel deleted file mode 100644 index 316fe195..00000000 --- a/src/nos/lib/messages_lib/010a_6f94__25_2d4d_255d_20_25.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___010a_6f94__25_2d4d_255d_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 25 2d 34 64 25 35 64 20 25 -R 00 00 01 00 -T 0b 00 00 00 2d 31 30 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/010a_ef2d__21_21_20maximum_20.rel b/src/nos/lib/messages_lib/010a_ef2d__21_21_20maximum_20.rel new file mode 100644 index 00000000..9394ff9e --- /dev/null +++ b/src/nos/lib/messages_lib/010a_ef2d__21_21_20maximum_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___010a_ef2d__21_21_20maximum_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 21 21 20 6d 61 78 69 6d 75 +R 00 00 01 00 +T 0b 00 00 00 6d 20 54 54 4c 20 65 78 63 65 65 +R 00 00 01 00 +T 16 00 00 00 64 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/010b_55d7__22_25s_22_20_2d_20.rel b/src/nos/lib/messages_lib/010b_55d7__22_25s_22_20_2d_20.rel new file mode 100644 index 00000000..f02c1be5 --- /dev/null +++ b/src/nos/lib/messages_lib/010b_55d7__22_25s_22_20_2d_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___010b_55d7__22_25s_22_20_2d_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 22 25 73 22 20 2d 20 74 61 +R 00 00 01 00 +T 0b 00 00 00 6b 65 73 20 61 74 20 6c 65 61 73 +R 00 00 01 00 +T 16 00 00 00 74 20 6f 6e 65 20 61 72 67 75 6d +R 00 00 01 00 +T 21 00 00 00 65 6e 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/010b_eb89__25_2d4u.rel b/src/nos/lib/messages_lib/010b_eb89__25_2d4u.rel deleted file mode 100644 index 0fe01483..00000000 --- a/src/nos/lib/messages_lib/010b_eb89__25_2d4u.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___010b_eb89__25_2d4u Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 25 2d 34 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/010c_2455__25_2d5ld.rel b/src/nos/lib/messages_lib/010c_2455__25_2d5ld.rel deleted file mode 100644 index da874d0b..00000000 --- a/src/nos/lib/messages_lib/010c_2455__25_2d5ld.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___010c_2455__25_2d5ld Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 25 2d 35 6c 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/010c_60ae__23_20queries_20eac.rel b/src/nos/lib/messages_lib/010c_60ae__23_20queries_20eac.rel new file mode 100644 index 00000000..28eb1be3 --- /dev/null +++ b/src/nos/lib/messages_lib/010c_60ae__23_20queries_20eac.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___010c_60ae__23_20queries_20eac Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 23 20 71 75 65 72 69 65 73 +R 00 00 01 00 +T 0b 00 00 00 20 65 61 63 68 20 61 74 74 65 6d +R 00 00 01 00 +T 16 00 00 00 70 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/010d_1acc__23_20secs_20to_20w.rel b/src/nos/lib/messages_lib/010d_1acc__23_20secs_20to_20w.rel new file mode 100644 index 00000000..add2b82a --- /dev/null +++ b/src/nos/lib/messages_lib/010d_1acc__23_20secs_20to_20w.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___010d_1acc__23_20secs_20to_20w Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 23 20 73 65 63 73 20 74 6f +R 00 00 01 00 +T 0b 00 00 00 20 77 61 69 74 20 66 6f 72 20 72 +R 00 00 01 00 +T 16 00 00 00 65 70 6c 79 20 74 6f 20 71 75 65 +R 00 00 01 00 +T 21 00 00 00 72 79 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/010d_90e5__25_2d7lu.rel b/src/nos/lib/messages_lib/010d_90e5__25_2d7lu.rel deleted file mode 100644 index acc43d43..00000000 --- a/src/nos/lib/messages_lib/010d_90e5__25_2d7lu.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___010d_90e5__25_2d7lu Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 25 2d 37 6c 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/010e_8982__25_2d7s_20_25_2d8s.rel b/src/nos/lib/messages_lib/010e_8982__25_2d7s_20_25_2d8s.rel deleted file mode 100644 index 89b611c3..00000000 --- a/src/nos/lib/messages_lib/010e_8982__25_2d7s_20_25_2d8s.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___010e_8982__25_2d7s_20_25_2d8s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 25 2d 37 73 20 25 2d 38 73 -R 00 00 01 00 -T 0b 00 00 00 20 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/010e_fb95__25_2d10_2e10s_20_2.rel b/src/nos/lib/messages_lib/010e_fb95__25_2d10_2e10s_20_2.rel new file mode 100644 index 00000000..d4a38dfc --- /dev/null +++ b/src/nos/lib/messages_lib/010e_fb95__25_2d10_2e10s_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___010e_fb95__25_2d10_2e10s_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 25 2d 31 30 2e 31 30 73 20 +R 00 00 01 00 +T 0b 00 00 00 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/010f_3035__25_2d10s_20IP_20ad.rel b/src/nos/lib/messages_lib/010f_3035__25_2d10s_20IP_20ad.rel new file mode 100644 index 00000000..02841e72 --- /dev/null +++ b/src/nos/lib/messages_lib/010f_3035__25_2d10s_20IP_20ad.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 29 flags 0 +S ___010f_3035__25_2d10s_20IP_20ad Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 27 00 25 2d 31 30 73 20 49 50 20 +R 00 00 01 00 +T 0b 00 00 00 61 64 64 72 20 25 73 20 4d 54 55 +R 00 00 01 00 +T 16 00 00 00 20 25 75 20 4c 69 6e 6b 20 65 6e +R 00 00 01 00 +T 21 00 00 00 63 61 70 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/010f_da22__25_2d8lu.rel b/src/nos/lib/messages_lib/010f_da22__25_2d8lu.rel deleted file mode 100644 index 47f062d2..00000000 --- a/src/nos/lib/messages_lib/010f_da22__25_2d8lu.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___010f_da22__25_2d8lu Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 25 2d 38 6c 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0110_01be__25_2d10s_25_2d17s.rel b/src/nos/lib/messages_lib/0110_01be__25_2d10s_25_2d17s.rel new file mode 100644 index 00000000..c07ec2c6 --- /dev/null +++ b/src/nos/lib/messages_lib/0110_01be__25_2d10s_25_2d17s.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0110_01be__25_2d10s_25_2d17s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 25 2d 31 30 73 25 2d 31 37 +R 00 00 01 00 +T 0b 00 00 00 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0110_d1e2__25_2ds.rel b/src/nos/lib/messages_lib/0110_d1e2__25_2ds.rel deleted file mode 100644 index 678005ec..00000000 --- a/src/nos/lib/messages_lib/0110_d1e2__25_2ds.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0110_d1e2__25_2ds Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 25 2d 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0111_1e56__2502x.rel b/src/nos/lib/messages_lib/0111_1e56__2502x.rel deleted file mode 100644 index cffc1c21..00000000 --- a/src/nos/lib/messages_lib/0111_1e56__2502x.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0111_1e56__2502x Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 25 30 32 78 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0111_4da0__25_2d10s_25_2d17s_.rel b/src/nos/lib/messages_lib/0111_4da0__25_2d10s_25_2d17s_.rel new file mode 100644 index 00000000..d649d02c --- /dev/null +++ b/src/nos/lib/messages_lib/0111_4da0__25_2d10s_25_2d17s_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0111_4da0__25_2d10s_25_2d17s_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 25 2d 31 30 73 25 2d 31 37 +R 00 00 01 00 +T 0b 00 00 00 73 25 38 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0112_3773__2504x_20_20.rel b/src/nos/lib/messages_lib/0112_3773__2504x_20_20.rel deleted file mode 100644 index 5cc5c0d2..00000000 --- a/src/nos/lib/messages_lib/0112_3773__2504x_20_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0112_3773__2504x_20_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 25 30 34 78 20 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0112_ff4a__25_2d10s_25_2d6s.rel b/src/nos/lib/messages_lib/0112_ff4a__25_2d10s_25_2d6s.rel new file mode 100644 index 00000000..01b6a427 --- /dev/null +++ b/src/nos/lib/messages_lib/0112_ff4a__25_2d10s_25_2d6s.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0112_ff4a__25_2d10s_25_2d6s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 25 2d 31 30 73 25 2d 36 73 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0113_6df9__2504x_20_20_2504x_.rel b/src/nos/lib/messages_lib/0113_6df9__2504x_20_20_2504x_.rel deleted file mode 100644 index adb07279..00000000 --- a/src/nos/lib/messages_lib/0113_6df9__2504x_20_20_2504x_.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 42 flags 0 -S ___0113_6df9__2504x_20_20_2504x_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 40 00 25 30 34 78 20 20 25 30 34 -R 00 00 01 00 -T 0b 00 00 00 78 3a 25 30 34 78 20 20 25 30 34 -R 00 00 01 00 -T 16 00 00 00 78 3a 25 30 34 78 20 20 25 30 34 -R 00 00 01 00 -T 21 00 00 00 78 20 20 25 30 34 78 20 20 25 30 -R 00 00 01 00 -T 2c 00 00 00 34 78 20 20 25 63 25 63 25 63 20 -R 00 00 01 00 -T 37 00 00 00 25 73 20 25 73 20 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0113_e1c2__25_2d11s_25_2d9s_2.rel b/src/nos/lib/messages_lib/0113_e1c2__25_2d11s_25_2d9s_2.rel new file mode 100644 index 00000000..39d05da6 --- /dev/null +++ b/src/nos/lib/messages_lib/0113_e1c2__25_2d11s_25_2d9s_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___0113_e1c2__25_2d11s_25_2d9s_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 25 2d 31 31 73 25 2d 39 73 +R 00 00 01 00 +T 0b 00 00 00 25 2d 34 75 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0114_7335__25_2d13s.rel b/src/nos/lib/messages_lib/0114_7335__25_2d13s.rel new file mode 100644 index 00000000..76b57c55 --- /dev/null +++ b/src/nos/lib/messages_lib/0114_7335__25_2d13s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0114_7335__25_2d13s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 25 2d 31 33 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0114_aa0a__2504x_3a_2504x.rel b/src/nos/lib/messages_lib/0114_aa0a__2504x_3a_2504x.rel deleted file mode 100644 index 730a1ce9..00000000 --- a/src/nos/lib/messages_lib/0114_aa0a__2504x_3a_2504x.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___0114_aa0a__2504x_3a_2504x Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 25 30 34 78 3a 25 30 34 78 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0115_27e5__25_2d15s.rel b/src/nos/lib/messages_lib/0115_27e5__25_2d15s.rel new file mode 100644 index 00000000..efaa9144 --- /dev/null +++ b/src/nos/lib/messages_lib/0115_27e5__25_2d15s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0115_27e5__25_2d15s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 25 2d 31 35 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0115_83ad__2510lu_20In_2c_20_.rel b/src/nos/lib/messages_lib/0115_83ad__2510lu_20In_2c_20_.rel deleted file mode 100644 index d50de55d..00000000 --- a/src/nos/lib/messages_lib/0115_83ad__2510lu_20In_2c_20_.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3d flags 0 -S ___0115_83ad__2510lu_20In_2c_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 3b 00 25 31 30 6c 75 20 49 6e 2c -R 00 00 01 00 -T 0b 00 00 00 20 20 25 31 30 6c 75 20 46 6c 61 -R 00 00 01 00 -T 16 00 00 00 67 73 2c 25 36 75 20 4d 45 2c 20 -R 00 00 01 00 -T 21 00 00 00 25 36 75 20 46 45 2c 20 25 36 75 -R 00 00 01 00 -T 2c 00 00 00 20 43 53 45 2c 20 25 36 75 20 6f -R 00 00 01 00 -T 37 00 00 00 74 68 65 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0116_0d8d__25_2d16s.rel b/src/nos/lib/messages_lib/0116_0d8d__25_2d16s.rel new file mode 100644 index 00000000..471984b1 --- /dev/null +++ b/src/nos/lib/messages_lib/0116_0d8d__25_2d16s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0116_0d8d__25_2d16s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 25 2d 31 36 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0116_cbd3__2510lu_20Out_2c_20.rel b/src/nos/lib/messages_lib/0116_cbd3__2510lu_20Out_2c_20.rel deleted file mode 100644 index 2670848e..00000000 --- a/src/nos/lib/messages_lib/0116_cbd3__2510lu_20Out_2c_20.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2b flags 0 -S ___0116_cbd3__2510lu_20Out_2c_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 29 00 25 31 30 6c 75 20 4f 75 74 -R 00 00 01 00 -T 0b 00 00 00 2c 20 25 31 30 6c 75 20 46 6c 61 -R 00 00 01 00 -T 16 00 00 00 67 73 2c 25 36 75 20 4d 45 2c 20 -R 00 00 01 00 -T 21 00 00 00 25 36 75 20 46 61 69 6c 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0117_2875__2510lu_2510lu_255l.rel b/src/nos/lib/messages_lib/0117_2875__2510lu_2510lu_255l.rel deleted file mode 100644 index c2644452..00000000 --- a/src/nos/lib/messages_lib/0117_2875__2510lu_2510lu_255l.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___0117_2875__2510lu_2510lu_255l Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 25 31 30 6c 75 25 31 30 6c -R 00 00 01 00 -T 0b 00 00 00 75 25 35 6c 75 25 38 6c 75 25 38 -R 00 00 01 00 -T 16 00 00 00 6c 75 25 38 6c 75 25 38 6c 75 25 -R 00 00 01 00 -T 21 00 00 00 38 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0117_e560__25_2d16s_20_20.rel b/src/nos/lib/messages_lib/0117_e560__25_2d16s_20_20.rel new file mode 100644 index 00000000..459fd623 --- /dev/null +++ b/src/nos/lib/messages_lib/0117_e560__25_2d16s_20_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0117_e560__25_2d16s_20_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 25 2d 31 36 73 20 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0118_a689__251s_20_253d_20_20.rel b/src/nos/lib/messages_lib/0118_a689__251s_20_253d_20_20.rel deleted file mode 100644 index 1f359f58..00000000 --- a/src/nos/lib/messages_lib/0118_a689__251s_20_253d_20_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___0118_a689__251s_20_253d_20_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 25 31 73 20 25 33 64 20 20 -R 00 00 01 00 -T 0b 00 00 00 25 33 64 20 20 25 2d 38 73 20 20 -R 00 00 01 00 -T 16 00 00 00 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0118_f903__25_2d16s_25_2d3u_2.rel b/src/nos/lib/messages_lib/0118_f903__25_2d16s_25_2d3u_2.rel new file mode 100644 index 00000000..65dd592e --- /dev/null +++ b/src/nos/lib/messages_lib/0118_f903__25_2d16s_25_2d3u_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0118_f903__25_2d16s_25_2d3u_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 25 2d 31 36 73 25 2d 33 75 +R 00 00 01 00 +T 0b 00 00 00 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0119_2609__25_2d16s_25_2d9lu_.rel b/src/nos/lib/messages_lib/0119_2609__25_2d16s_25_2d9lu_.rel new file mode 100644 index 00000000..f38bbbd9 --- /dev/null +++ b/src/nos/lib/messages_lib/0119_2609__25_2d16s_25_2d9lu_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0119_2609__25_2d16s_25_2d9lu_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 25 2d 31 36 73 25 2d 39 6c +R 00 00 01 00 +T 0b 00 00 00 75 25 2d 36 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0119_e9b8__252d_20_25_2d6s_20.rel b/src/nos/lib/messages_lib/0119_e9b8__252d_20_25_2d6s_20.rel deleted file mode 100644 index a7a79f62..00000000 --- a/src/nos/lib/messages_lib/0119_e9b8__252d_20_25_2d6s_20.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3b flags 0 -S ___0119_e9b8__252d_20_25_2d6s_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 39 00 25 32 64 20 25 2d 36 73 20 -R 00 00 01 00 -T 0b 00 00 00 20 2a 2a 20 61 73 79 6e 63 68 20 -R 00 00 01 00 -T 16 00 00 00 2a 2a 20 25 37 6c 75 20 25 35 75 -R 00 00 01 00 -T 21 00 00 00 20 25 35 75 20 25 38 6c 75 20 25 -R 00 00 01 00 -T 2c 00 00 00 38 6c 75 20 25 38 6c 75 20 25 38 -R 00 00 01 00 -T 37 00 00 00 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/011a_1455__25_2d17s.rel b/src/nos/lib/messages_lib/011a_1455__25_2d17s.rel new file mode 100644 index 00000000..0813545b --- /dev/null +++ b/src/nos/lib/messages_lib/011a_1455__25_2d17s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___011a_1455__25_2d17s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 25 2d 31 37 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/011a_b620__252d_20_25_2d6s_20.rel b/src/nos/lib/messages_lib/011a_b620__252d_20_25_2d6s_20.rel deleted file mode 100644 index 60114350..00000000 --- a/src/nos/lib/messages_lib/011a_b620__252d_20_25_2d6s_20.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 37 flags 0 -S ___011a_b620__252d_20_25_2d6s_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 35 00 25 32 64 20 25 2d 36 73 20 -R 00 00 01 00 -T 0b 00 00 00 25 36 6c 75 20 25 36 6c 75 20 25 -R 00 00 01 00 -T 16 00 00 00 37 6c 75 20 25 35 75 20 25 35 75 -R 00 00 01 00 -T 21 00 00 00 20 25 38 6c 75 20 25 38 6c 75 20 -R 00 00 01 00 -T 2c 00 00 00 25 38 6c 75 20 25 38 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/011b_1703__253d_3a.rel b/src/nos/lib/messages_lib/011b_1703__253d_3a.rel deleted file mode 100644 index 8a24ed64..00000000 --- a/src/nos/lib/messages_lib/011b_1703__253d_3a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___011b_1703__253d_3a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 25 33 64 3a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/011b_e920__25_2d20s_258lu_258.rel b/src/nos/lib/messages_lib/011b_e920__25_2d20s_258lu_258.rel new file mode 100644 index 00000000..855aad30 --- /dev/null +++ b/src/nos/lib/messages_lib/011b_e920__25_2d20s_258lu_258.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___011b_e920__25_2d20s_258lu_258 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 25 2d 32 30 73 25 38 6c 75 +R 00 00 01 00 +T 0b 00 00 00 25 38 6c 75 25 31 30 6c 75 25 31 +R 00 00 01 00 +T 16 00 00 00 30 6c 75 25 31 30 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/011c_8589__25_2d22s.rel b/src/nos/lib/messages_lib/011c_8589__25_2d22s.rel new file mode 100644 index 00000000..fefa0b2f --- /dev/null +++ b/src/nos/lib/messages_lib/011c_8589__25_2d22s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___011c_8589__25_2d22s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 25 2d 32 32 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/011c_b932__254d_20_25_2d8s_25.rel b/src/nos/lib/messages_lib/011c_b932__254d_20_25_2d8s_25.rel deleted file mode 100644 index 62a26292..00000000 --- a/src/nos/lib/messages_lib/011c_b932__254d_20_25_2d8s_25.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___011c_b932__254d_20_25_2d8s_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 25 34 64 20 25 2d 38 73 25 -R 00 00 01 00 -T 0b 00 00 00 2d 39 70 20 25 2d 32 32 73 25 2d -R 00 00 01 00 -T 16 00 00 00 39 70 20 25 2d 31 30 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/011d_936b__254s.rel b/src/nos/lib/messages_lib/011d_936b__254s.rel deleted file mode 100644 index 4d48b913..00000000 --- a/src/nos/lib/messages_lib/011d_936b__254s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___011d_936b__254s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 25 34 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/011d_b616__25_2d22s_0a.rel b/src/nos/lib/messages_lib/011d_b616__25_2d22s_0a.rel new file mode 100644 index 00000000..27f611a3 --- /dev/null +++ b/src/nos/lib/messages_lib/011d_b616__25_2d22s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___011d_b616__25_2d22s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 25 2d 32 32 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/011e_4a96__258lu.rel b/src/nos/lib/messages_lib/011e_4a96__258lu.rel deleted file mode 100644 index 88db7497..00000000 --- a/src/nos/lib/messages_lib/011e_4a96__258lu.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___011e_4a96__258lu Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 25 38 6c 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/011e_9c51__25_2d23s.rel b/src/nos/lib/messages_lib/011e_9c51__25_2d23s.rel new file mode 100644 index 00000000..455b0c47 --- /dev/null +++ b/src/nos/lib/messages_lib/011e_9c51__25_2d23s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___011e_9c51__25_2d23s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 25 2d 32 33 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/011f_5eaf__258lu_0a.rel b/src/nos/lib/messages_lib/011f_5eaf__258lu_0a.rel deleted file mode 100644 index ad4529fc..00000000 --- a/src/nos/lib/messages_lib/011f_5eaf__258lu_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___011f_5eaf__258lu_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 25 38 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/011f_bf59__25_2d2u.rel b/src/nos/lib/messages_lib/011f_bf59__25_2d2u.rel new file mode 100644 index 00000000..ab17cefa --- /dev/null +++ b/src/nos/lib/messages_lib/011f_bf59__25_2d2u.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___011f_bf59__25_2d2u Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 25 2d 32 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0120_3acb__258s.rel b/src/nos/lib/messages_lib/0120_3acb__258s.rel deleted file mode 100644 index 9b0dd10e..00000000 --- a/src/nos/lib/messages_lib/0120_3acb__258s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0120_3acb__258s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 25 38 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0120_6601__25_2d32s_20_28_25l.rel b/src/nos/lib/messages_lib/0120_6601__25_2d32s_20_28_25l.rel new file mode 100644 index 00000000..d2cb090a --- /dev/null +++ b/src/nos/lib/messages_lib/0120_6601__25_2d32s_20_28_25l.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0120_6601__25_2d32s_20_28_25l Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 25 2d 33 32 73 20 28 25 6c +R 00 00 01 00 +T 0b 00 00 00 75 2f 25 6c 75 25 73 29 20 25 73 +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0121_3341__258u_2510u_2511lu_.rel b/src/nos/lib/messages_lib/0121_3341__258u_2510u_2511lu_.rel deleted file mode 100644 index 803d1110..00000000 --- a/src/nos/lib/messages_lib/0121_3341__258u_2510u_2511lu_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___0121_3341__258u_2510u_2511lu_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 25 38 75 25 31 30 75 25 31 -R 00 00 01 00 -T 0b 00 00 00 31 6c 75 25 31 36 6c 75 25 31 35 -R 00 00 01 00 -T 16 00 00 00 6c 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0121_a681__25_2d3u.rel b/src/nos/lib/messages_lib/0121_a681__25_2d3u.rel new file mode 100644 index 00000000..9b61809c --- /dev/null +++ b/src/nos/lib/messages_lib/0121_a681__25_2d3u.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0121_a681__25_2d3u Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 25 2d 33 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0122_ea81__25_2d4d.rel b/src/nos/lib/messages_lib/0122_ea81__25_2d4d.rel new file mode 100644 index 00000000..900c93cb --- /dev/null +++ b/src/nos/lib/messages_lib/0122_ea81__25_2d4d.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0122_ea81__25_2d4d Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 25 2d 34 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0122_fd73__259p_20_20_20_253d.rel b/src/nos/lib/messages_lib/0122_fd73__259p_20_20_20_253d.rel deleted file mode 100644 index c192b5d0..00000000 --- a/src/nos/lib/messages_lib/0122_fd73__259p_20_20_20_253d.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___0122_fd73__259p_20_20_20_253d Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 25 39 70 20 20 20 25 33 64 -R 00 00 01 00 -T 0b 00 00 00 20 25 35 64 20 25 35 64 20 25 39 -R 00 00 01 00 -T 16 00 00 00 73 20 20 25 39 73 20 25 2d 39 73 -R 00 00 01 00 -T 21 00 00 00 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0123_6f94__25_2d4d_255d_20_25.rel b/src/nos/lib/messages_lib/0123_6f94__25_2d4d_255d_20_25.rel new file mode 100644 index 00000000..8b679853 --- /dev/null +++ b/src/nos/lib/messages_lib/0123_6f94__25_2d4d_255d_20_25.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___0123_6f94__25_2d4d_255d_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 25 2d 34 64 25 35 64 20 25 +R 00 00 01 00 +T 0b 00 00 00 2d 31 30 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0123_b8a6__259p_20_25_2d8d_25.rel b/src/nos/lib/messages_lib/0123_b8a6__259p_20_25_2d8d_25.rel deleted file mode 100644 index 7d175871..00000000 --- a/src/nos/lib/messages_lib/0123_b8a6__259p_20_25_2d8d_25.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___0123_b8a6__259p_20_25_2d8d_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 25 39 70 20 25 2d 38 64 25 -R 00 00 01 00 -T 0b 00 00 00 2d 38 64 25 2d 31 30 73 25 73 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0124_1719__259p_20_25_2d9s_25.rel b/src/nos/lib/messages_lib/0124_1719__259p_20_25_2d9s_25.rel deleted file mode 100644 index 09b5f5a6..00000000 --- a/src/nos/lib/messages_lib/0124_1719__259p_20_25_2d9s_25.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___0124_1719__259p_20_25_2d9s_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 25 39 70 20 25 2d 39 73 25 -R 00 00 01 00 -T 0b 00 00 00 63 25 63 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0124_eb89__25_2d4u.rel b/src/nos/lib/messages_lib/0124_eb89__25_2d4u.rel new file mode 100644 index 00000000..b2df34a2 --- /dev/null +++ b/src/nos/lib/messages_lib/0124_eb89__25_2d4u.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0124_eb89__25_2d4u Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 25 2d 34 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0125_1260__259p_256u_20_20_25.rel b/src/nos/lib/messages_lib/0125_1260__259p_256u_20_20_25.rel deleted file mode 100644 index 0a7f5404..00000000 --- a/src/nos/lib/messages_lib/0125_1260__259p_256u_20_20_25.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___0125_1260__259p_256u_20_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 25 39 70 25 36 75 20 20 25 -R 00 00 01 00 -T 0b 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0125_2455__25_2d5ld.rel b/src/nos/lib/messages_lib/0125_2455__25_2d5ld.rel new file mode 100644 index 00000000..fe679434 --- /dev/null +++ b/src/nos/lib/messages_lib/0125_2455__25_2d5ld.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0125_2455__25_2d5ld Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 25 2d 35 6c 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0126_482b__259p_256u_256u_20_.rel b/src/nos/lib/messages_lib/0126_482b__259p_256u_256u_20_.rel deleted file mode 100644 index 7996eff0..00000000 --- a/src/nos/lib/messages_lib/0126_482b__259p_256u_256u_20_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___0126_482b__259p_256u_256u_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 25 39 70 25 36 75 25 36 75 -R 00 00 01 00 -T 0b 00 00 00 20 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0126_90e5__25_2d7lu.rel b/src/nos/lib/messages_lib/0126_90e5__25_2d7lu.rel new file mode 100644 index 00000000..77443921 --- /dev/null +++ b/src/nos/lib/messages_lib/0126_90e5__25_2d7lu.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0126_90e5__25_2d7lu Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 25 2d 37 6c 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0127_8982__25_2d7s_20_25_2d8s.rel b/src/nos/lib/messages_lib/0127_8982__25_2d7s_20_25_2d8s.rel new file mode 100644 index 00000000..6285e058 --- /dev/null +++ b/src/nos/lib/messages_lib/0127_8982__25_2d7s_20_25_2d8s.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0127_8982__25_2d7s_20_25_2d8s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 25 2d 37 73 20 25 2d 38 73 +R 00 00 01 00 +T 0b 00 00 00 20 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0127_fcae__25c.rel b/src/nos/lib/messages_lib/0127_fcae__25c.rel deleted file mode 100644 index 049b2699..00000000 --- a/src/nos/lib/messages_lib/0127_fcae__25c.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5 flags 0 -S ___0127_fcae__25c Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 03 00 25 63 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0128_6d8a__25c_20.rel b/src/nos/lib/messages_lib/0128_6d8a__25c_20.rel deleted file mode 100644 index 91e04319..00000000 --- a/src/nos/lib/messages_lib/0128_6d8a__25c_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0128_6d8a__25c_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 25 63 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0128_da22__25_2d8lu.rel b/src/nos/lib/messages_lib/0128_da22__25_2d8lu.rel new file mode 100644 index 00000000..83398445 --- /dev/null +++ b/src/nos/lib/messages_lib/0128_da22__25_2d8lu.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0128_da22__25_2d8lu Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 25 2d 38 6c 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0129_3d14__25c_20_257s_20_257.rel b/src/nos/lib/messages_lib/0129_3d14__25c_20_257s_20_257.rel deleted file mode 100644 index 0766077d..00000000 --- a/src/nos/lib/messages_lib/0129_3d14__25c_20_257s_20_257.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 32 flags 0 -S ___0129_3d14__25c_20_257s_20_257 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 30 00 25 63 20 25 37 73 20 25 37 -R 00 00 01 00 -T 0b 00 00 00 6c 64 20 25 30 32 64 2f 25 30 32 -R 00 00 01 00 -T 16 00 00 00 64 20 25 30 32 64 3a 25 30 32 64 -R 00 00 01 00 -T 21 00 00 00 20 25 2d 32 30 73 20 25 73 0a 20 -R 00 00 01 00 -T 2c 00 00 00 20 20 20 20 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0129_d1e2__25_2ds.rel b/src/nos/lib/messages_lib/0129_d1e2__25_2ds.rel new file mode 100644 index 00000000..383a12d3 --- /dev/null +++ b/src/nos/lib/messages_lib/0129_d1e2__25_2ds.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0129_d1e2__25_2ds Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 25 2d 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/012a_1e56__2502x.rel b/src/nos/lib/messages_lib/012a_1e56__2502x.rel new file mode 100644 index 00000000..5c492436 --- /dev/null +++ b/src/nos/lib/messages_lib/012a_1e56__2502x.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___012a_1e56__2502x Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 25 30 32 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/012a_22d3__25c_25c_25c.rel b/src/nos/lib/messages_lib/012a_22d3__25c_25c_25c.rel deleted file mode 100644 index 66eb7411..00000000 --- a/src/nos/lib/messages_lib/012a_22d3__25c_25c_25c.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___012a_22d3__25c_25c_25c Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 25 63 25 63 25 63 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/012b_3773__2504x_20_20.rel b/src/nos/lib/messages_lib/012b_3773__2504x_20_20.rel new file mode 100644 index 00000000..ec7a828a --- /dev/null +++ b/src/nos/lib/messages_lib/012b_3773__2504x_20_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___012b_3773__2504x_20_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 25 30 34 78 20 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/012b_4b6e__25c_25c_25c_0a.rel b/src/nos/lib/messages_lib/012b_4b6e__25c_25c_25c_0a.rel deleted file mode 100644 index 973f6862..00000000 --- a/src/nos/lib/messages_lib/012b_4b6e__25c_25c_25c_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___012b_4b6e__25c_25c_25c_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 25 63 25 63 25 63 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/012c_2970__25c_25c_25c_253d_2.rel b/src/nos/lib/messages_lib/012c_2970__25c_25c_25c_253d_2.rel deleted file mode 100644 index 866c1d9a..00000000 --- a/src/nos/lib/messages_lib/012c_2970__25c_25c_25c_253d_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2a flags 0 -S ___012c_2970__25c_25c_25c_253d_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 28 00 25 63 25 63 25 63 25 33 64 -R 00 00 01 00 -T 0b 00 00 00 20 25 2d 32 37 2e 32 37 73 20 25 -R 00 00 01 00 -T 16 00 00 00 2d 31 32 2e 31 32 73 20 25 35 6c -R 00 00 01 00 -T 21 00 00 00 64 20 25 2e 32 35 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/012c_6df9__2504x_20_20_2504x_.rel b/src/nos/lib/messages_lib/012c_6df9__2504x_20_20_2504x_.rel new file mode 100644 index 00000000..2c1f1573 --- /dev/null +++ b/src/nos/lib/messages_lib/012c_6df9__2504x_20_20_2504x_.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 42 flags 0 +S ___012c_6df9__2504x_20_20_2504x_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 40 00 25 30 34 78 20 20 25 30 34 +R 00 00 01 00 +T 0b 00 00 00 78 3a 25 30 34 78 20 20 25 30 34 +R 00 00 01 00 +T 16 00 00 00 78 3a 25 30 34 78 20 20 25 30 34 +R 00 00 01 00 +T 21 00 00 00 78 20 20 25 30 34 78 20 20 25 30 +R 00 00 01 00 +T 2c 00 00 00 34 78 20 20 25 63 25 63 25 63 20 +R 00 00 01 00 +T 37 00 00 00 25 73 20 25 73 20 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/012d_8514__25c_25s_0a.rel b/src/nos/lib/messages_lib/012d_8514__25c_25s_0a.rel deleted file mode 100644 index 5d6715c9..00000000 --- a/src/nos/lib/messages_lib/012d_8514__25c_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___012d_8514__25c_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 25 63 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/012d_aa0a__2504x_3a_2504x.rel b/src/nos/lib/messages_lib/012d_aa0a__2504x_3a_2504x.rel new file mode 100644 index 00000000..672afd2a --- /dev/null +++ b/src/nos/lib/messages_lib/012d_aa0a__2504x_3a_2504x.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___012d_aa0a__2504x_3a_2504x Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 25 30 34 78 3a 25 30 34 78 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/012e_086d__25c_5b2J.rel b/src/nos/lib/messages_lib/012e_086d__25c_5b2J.rel deleted file mode 100644 index 65d7c15d..00000000 --- a/src/nos/lib/messages_lib/012e_086d__25c_5b2J.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___012e_086d__25c_5b2J Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 25 63 5b 32 4a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/012e_83ad__2510lu_20In_2c_20_.rel b/src/nos/lib/messages_lib/012e_83ad__2510lu_20In_2c_20_.rel new file mode 100644 index 00000000..606134d5 --- /dev/null +++ b/src/nos/lib/messages_lib/012e_83ad__2510lu_20In_2c_20_.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3d flags 0 +S ___012e_83ad__2510lu_20In_2c_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 3b 00 25 31 30 6c 75 20 49 6e 2c +R 00 00 01 00 +T 0b 00 00 00 20 20 25 31 30 6c 75 20 46 6c 61 +R 00 00 01 00 +T 16 00 00 00 67 73 2c 25 36 75 20 4d 45 2c 20 +R 00 00 01 00 +T 21 00 00 00 25 36 75 20 46 45 2c 20 25 36 75 +R 00 00 01 00 +T 2c 00 00 00 20 43 53 45 2c 20 25 36 75 20 6f +R 00 00 01 00 +T 37 00 00 00 74 68 65 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/012f_8811__25d.rel b/src/nos/lib/messages_lib/012f_8811__25d.rel deleted file mode 100644 index 0033e00f..00000000 --- a/src/nos/lib/messages_lib/012f_8811__25d.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5 flags 0 -S ___012f_8811__25d Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 03 00 25 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/012f_cbd3__2510lu_20Out_2c_20.rel b/src/nos/lib/messages_lib/012f_cbd3__2510lu_20Out_2c_20.rel new file mode 100644 index 00000000..5857f5e5 --- /dev/null +++ b/src/nos/lib/messages_lib/012f_cbd3__2510lu_20Out_2c_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2b flags 0 +S ___012f_cbd3__2510lu_20Out_2c_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 29 00 25 31 30 6c 75 20 4f 75 74 +R 00 00 01 00 +T 0b 00 00 00 2c 20 25 31 30 6c 75 20 46 6c 61 +R 00 00 01 00 +T 16 00 00 00 67 73 2c 25 36 75 20 4d 45 2c 20 +R 00 00 01 00 +T 21 00 00 00 25 36 75 20 46 61 69 6c 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0130_2875__2510lu_2510lu_255l.rel b/src/nos/lib/messages_lib/0130_2875__2510lu_2510lu_255l.rel new file mode 100644 index 00000000..e26471fc --- /dev/null +++ b/src/nos/lib/messages_lib/0130_2875__2510lu_2510lu_255l.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___0130_2875__2510lu_2510lu_255l Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 25 31 30 6c 75 25 31 30 6c +R 00 00 01 00 +T 0b 00 00 00 75 25 35 6c 75 25 38 6c 75 25 38 +R 00 00 01 00 +T 16 00 00 00 6c 75 25 38 6c 75 25 38 6c 75 25 +R 00 00 01 00 +T 21 00 00 00 38 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0130_aeda__25d_0a.rel b/src/nos/lib/messages_lib/0130_aeda__25d_0a.rel deleted file mode 100644 index 1bbd7760..00000000 --- a/src/nos/lib/messages_lib/0130_aeda__25d_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0130_aeda__25d_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 25 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0131_a689__251s_20_253d_20_20.rel b/src/nos/lib/messages_lib/0131_a689__251s_20_253d_20_20.rel new file mode 100644 index 00000000..fe22fe00 --- /dev/null +++ b/src/nos/lib/messages_lib/0131_a689__251s_20_253d_20_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___0131_a689__251s_20_253d_20_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 25 31 73 20 25 33 64 20 20 +R 00 00 01 00 +T 0b 00 00 00 25 33 64 20 20 25 2d 38 73 20 20 +R 00 00 01 00 +T 16 00 00 00 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0131_cd50__25d_20message_25s_.rel b/src/nos/lib/messages_lib/0131_cd50__25d_20message_25s_.rel deleted file mode 100644 index 5fca9c95..00000000 --- a/src/nos/lib/messages_lib/0131_cd50__25d_20message_25s_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0131_cd50__25d_20message_25s_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 25 64 20 6d 65 73 73 61 67 -R 00 00 01 00 -T 0b 00 00 00 65 25 73 20 2d 20 20 25 64 20 6e -R 00 00 01 00 -T 16 00 00 00 65 77 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0132_e9b8__252d_20_25_2d6s_20.rel b/src/nos/lib/messages_lib/0132_e9b8__252d_20_25_2d6s_20.rel new file mode 100644 index 00000000..7a2353df --- /dev/null +++ b/src/nos/lib/messages_lib/0132_e9b8__252d_20_25_2d6s_20.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3b flags 0 +S ___0132_e9b8__252d_20_25_2d6s_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 39 00 25 32 64 20 25 2d 36 73 20 +R 00 00 01 00 +T 0b 00 00 00 20 2a 2a 20 61 73 79 6e 63 68 20 +R 00 00 01 00 +T 16 00 00 00 2a 2a 20 25 37 6c 75 20 25 35 75 +R 00 00 01 00 +T 21 00 00 00 20 25 35 75 20 25 38 6c 75 20 25 +R 00 00 01 00 +T 2c 00 00 00 38 6c 75 20 25 38 6c 75 20 25 38 +R 00 00 01 00 +T 37 00 00 00 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0132_ea62__25ld.rel b/src/nos/lib/messages_lib/0132_ea62__25ld.rel deleted file mode 100644 index 1efc5f12..00000000 --- a/src/nos/lib/messages_lib/0132_ea62__25ld.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0132_ea62__25ld Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 25 6c 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0133_374a__252d_20_25_2d6s_20.rel b/src/nos/lib/messages_lib/0133_374a__252d_20_25_2d6s_20.rel new file mode 100644 index 00000000..3516b9b4 --- /dev/null +++ b/src/nos/lib/messages_lib/0133_374a__252d_20_25_2d6s_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___0133_374a__252d_20_25_2d6s_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 25 32 64 20 25 2d 36 73 20 +R 00 00 01 00 +T 0b 00 00 00 25 31 32 73 20 20 25 31 32 73 20 +R 00 00 01 00 +T 16 00 00 00 20 20 25 73 20 20 20 25 73 20 20 +R 00 00 01 00 +T 21 00 00 00 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0133_eb6a__25lu.rel b/src/nos/lib/messages_lib/0133_eb6a__25lu.rel deleted file mode 100644 index 0c0e77c6..00000000 --- a/src/nos/lib/messages_lib/0133_eb6a__25lu.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0133_eb6a__25lu Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 25 6c 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0134_63ed__25lu_0a.rel b/src/nos/lib/messages_lib/0134_63ed__25lu_0a.rel deleted file mode 100644 index 93d91a7c..00000000 --- a/src/nos/lib/messages_lib/0134_63ed__25lu_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0134_63ed__25lu_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 25 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0134_b620__252d_20_25_2d6s_20.rel b/src/nos/lib/messages_lib/0134_b620__252d_20_25_2d6s_20.rel new file mode 100644 index 00000000..f0e337e6 --- /dev/null +++ b/src/nos/lib/messages_lib/0134_b620__252d_20_25_2d6s_20.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 37 flags 0 +S ___0134_b620__252d_20_25_2d6s_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 35 00 25 32 64 20 25 2d 36 73 20 +R 00 00 01 00 +T 0b 00 00 00 25 36 6c 75 20 25 36 6c 75 20 25 +R 00 00 01 00 +T 16 00 00 00 37 6c 75 20 25 35 75 20 25 35 75 +R 00 00 01 00 +T 21 00 00 00 20 25 38 6c 75 20 25 38 6c 75 20 +R 00 00 01 00 +T 2c 00 00 00 25 38 6c 75 20 25 38 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0135_1703__253d_3a.rel b/src/nos/lib/messages_lib/0135_1703__253d_3a.rel new file mode 100644 index 00000000..bc26b542 --- /dev/null +++ b/src/nos/lib/messages_lib/0135_1703__253d_3a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0135_1703__253d_3a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 25 33 64 3a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0135_f325__25lu_2f_25lu_0a.rel b/src/nos/lib/messages_lib/0135_f325__25lu_2f_25lu_0a.rel deleted file mode 100644 index ae70d067..00000000 --- a/src/nos/lib/messages_lib/0135_f325__25lu_2f_25lu_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___0135_f325__25lu_2f_25lu_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 25 6c 75 2f 25 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0136_981e__254d_09.rel b/src/nos/lib/messages_lib/0136_981e__254d_09.rel new file mode 100644 index 00000000..50addddd --- /dev/null +++ b/src/nos/lib/messages_lib/0136_981e__254d_09.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0136_981e__254d_09 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 25 34 64 09 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0136_d273__25p_20.rel b/src/nos/lib/messages_lib/0136_d273__25p_20.rel deleted file mode 100644 index 39f19563..00000000 --- a/src/nos/lib/messages_lib/0136_d273__25p_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0136_d273__25p_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 25 70 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0137_1c93__25p_20_256lu.rel b/src/nos/lib/messages_lib/0137_1c93__25p_20_256lu.rel deleted file mode 100644 index 4b2d066c..00000000 --- a/src/nos/lib/messages_lib/0137_1c93__25p_20_256lu.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0137_1c93__25p_20_256lu Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 25 70 20 25 36 6c 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0137_b932__254d_20_25_2d8s_25.rel b/src/nos/lib/messages_lib/0137_b932__254d_20_25_2d8s_25.rel new file mode 100644 index 00000000..2ee83516 --- /dev/null +++ b/src/nos/lib/messages_lib/0137_b932__254d_20_25_2d8s_25.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___0137_b932__254d_20_25_2d8s_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 25 34 64 20 25 2d 38 73 25 +R 00 00 01 00 +T 0b 00 00 00 2d 39 70 20 25 2d 32 32 73 25 2d +R 00 00 01 00 +T 16 00 00 00 39 70 20 25 2d 31 30 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0138_936b__254s.rel b/src/nos/lib/messages_lib/0138_936b__254s.rel new file mode 100644 index 00000000..325c3dc1 --- /dev/null +++ b/src/nos/lib/messages_lib/0138_936b__254s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0138_936b__254s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 25 34 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0138_ec2f__25s.rel b/src/nos/lib/messages_lib/0138_ec2f__25s.rel deleted file mode 100644 index 4e9b11a5..00000000 --- a/src/nos/lib/messages_lib/0138_ec2f__25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5 flags 0 -S ___0138_ec2f__25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 03 00 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0139_4a96__258lu.rel b/src/nos/lib/messages_lib/0139_4a96__258lu.rel new file mode 100644 index 00000000..dd9ec928 --- /dev/null +++ b/src/nos/lib/messages_lib/0139_4a96__258lu.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0139_4a96__258lu Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 25 38 6c 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0139_7643__25s_0a.rel b/src/nos/lib/messages_lib/0139_7643__25s_0a.rel deleted file mode 100644 index a3985841..00000000 --- a/src/nos/lib/messages_lib/0139_7643__25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0139_7643__25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/013a_0276__25s_0a_25s_0a.rel b/src/nos/lib/messages_lib/013a_0276__25s_0a_25s_0a.rel deleted file mode 100644 index f465ee7e..00000000 --- a/src/nos/lib/messages_lib/013a_0276__25s_0a_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___013a_0276__25s_0a_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 25 73 0a 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/013a_5eaf__258lu_0a.rel b/src/nos/lib/messages_lib/013a_5eaf__258lu_0a.rel new file mode 100644 index 00000000..a73ea607 --- /dev/null +++ b/src/nos/lib/messages_lib/013a_5eaf__258lu_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___013a_5eaf__258lu_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 25 38 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/013b_3acb__258s.rel b/src/nos/lib/messages_lib/013b_3acb__258s.rel new file mode 100644 index 00000000..84db8d00 --- /dev/null +++ b/src/nos/lib/messages_lib/013b_3acb__258s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___013b_3acb__258s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 25 38 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/013b_f81b__25s_20.rel b/src/nos/lib/messages_lib/013b_f81b__25s_20.rel deleted file mode 100644 index 7f5e3603..00000000 --- a/src/nos/lib/messages_lib/013b_f81b__25s_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___013b_f81b__25s_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 25 73 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/013c_3341__258u_2510u_2511lu_.rel b/src/nos/lib/messages_lib/013c_3341__258u_2510u_2511lu_.rel new file mode 100644 index 00000000..08c196cb --- /dev/null +++ b/src/nos/lib/messages_lib/013c_3341__258u_2510u_2511lu_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___013c_3341__258u_2510u_2511lu_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 25 38 75 25 31 30 75 25 31 +R 00 00 01 00 +T 0b 00 00 00 31 6c 75 25 31 36 6c 75 25 31 35 +R 00 00 01 00 +T 16 00 00 00 6c 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/013c_8b7d__25s_20_2502d_2502d.rel b/src/nos/lib/messages_lib/013c_8b7d__25s_20_2502d_2502d.rel deleted file mode 100644 index 219401d1..00000000 --- a/src/nos/lib/messages_lib/013c_8b7d__25s_20_2502d_2502d.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___013c_8b7d__25s_20_2502d_2502d Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 25 73 20 25 30 32 64 25 30 -R 00 00 01 00 -T 0b 00 00 00 32 64 25 30 32 64 20 25 30 32 64 -R 00 00 01 00 -T 16 00 00 00 25 30 32 64 25 30 32 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/013d_7be3__25s_20_25p_0a.rel b/src/nos/lib/messages_lib/013d_7be3__25s_20_25p_0a.rel deleted file mode 100644 index 69019c28..00000000 --- a/src/nos/lib/messages_lib/013d_7be3__25s_20_25p_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___013d_7be3__25s_20_25p_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 25 73 20 25 70 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/013d_fd73__259p_20_20_20_253d.rel b/src/nos/lib/messages_lib/013d_fd73__259p_20_20_20_253d.rel new file mode 100644 index 00000000..e033ba41 --- /dev/null +++ b/src/nos/lib/messages_lib/013d_fd73__259p_20_20_20_253d.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___013d_fd73__259p_20_20_20_253d Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 25 39 70 20 20 20 25 33 64 +R 00 00 01 00 +T 0b 00 00 00 20 25 35 64 20 25 35 64 20 25 39 +R 00 00 01 00 +T 16 00 00 00 73 20 20 25 39 73 20 25 2d 39 73 +R 00 00 01 00 +T 21 00 00 00 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/013e_518b__25s_20_25s_0a.rel b/src/nos/lib/messages_lib/013e_518b__25s_20_25s_0a.rel deleted file mode 100644 index 3fad7d1a..00000000 --- a/src/nos/lib/messages_lib/013e_518b__25s_20_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___013e_518b__25s_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 25 73 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/013e_b8a6__259p_20_25_2d8d_25.rel b/src/nos/lib/messages_lib/013e_b8a6__259p_20_25_2d8d_25.rel new file mode 100644 index 00000000..55e01e0e --- /dev/null +++ b/src/nos/lib/messages_lib/013e_b8a6__259p_20_25_2d8d_25.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___013e_b8a6__259p_20_25_2d8d_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 25 39 70 20 25 2d 38 64 25 +R 00 00 01 00 +T 0b 00 00 00 2d 38 64 25 2d 31 30 73 25 73 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/013f_1719__259p_20_25_2d9s_25.rel b/src/nos/lib/messages_lib/013f_1719__259p_20_25_2d9s_25.rel new file mode 100644 index 00000000..d19068a9 --- /dev/null +++ b/src/nos/lib/messages_lib/013f_1719__259p_20_25_2d9s_25.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___013f_1719__259p_20_25_2d9s_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 25 39 70 20 25 2d 39 73 25 +R 00 00 01 00 +T 0b 00 00 00 63 25 63 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/013f_ca49__25s_20_25s_3a_20_2.rel b/src/nos/lib/messages_lib/013f_ca49__25s_20_25s_3a_20_2.rel deleted file mode 100644 index 42e59cce..00000000 --- a/src/nos/lib/messages_lib/013f_ca49__25s_20_25s_3a_20_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 29 flags 0 -S ___013f_ca49__25s_20_25s_3a_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 27 00 25 73 20 25 73 3a 20 25 6c -R 00 00 01 00 -T 0b 00 00 00 75 20 62 79 74 65 73 20 69 6e 20 -R 00 00 01 00 -T 16 00 00 00 25 6c 75 20 73 65 63 20 28 25 6c -R 00 00 01 00 -T 21 00 00 00 75 2f 73 65 63 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0140_1260__259p_256u_20_20_25.rel b/src/nos/lib/messages_lib/0140_1260__259p_256u_20_20_25.rel new file mode 100644 index 00000000..1b4842e7 --- /dev/null +++ b/src/nos/lib/messages_lib/0140_1260__259p_256u_20_20_25.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0140_1260__259p_256u_20_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 25 39 70 25 36 75 20 20 25 +R 00 00 01 00 +T 0b 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0140_43c6__25s_20_25s_3a_20Er.rel b/src/nos/lib/messages_lib/0140_43c6__25s_20_25s_3a_20Er.rel deleted file mode 100644 index b9253a22..00000000 --- a/src/nos/lib/messages_lib/0140_43c6__25s_20_25s_3a_20Er.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2b flags 0 -S ___0140_43c6__25s_20_25s_3a_20Er Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 29 00 25 73 20 25 73 3a 20 45 72 -R 00 00 01 00 -T 0b 00 00 00 72 6f 72 2f 61 62 6f 72 74 20 64 -R 00 00 01 00 -T 16 00 00 00 75 72 69 6e 67 20 64 61 74 61 20 -R 00 00 01 00 -T 21 00 00 00 74 72 61 6e 73 66 65 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0141_482b__259p_256u_256u_20_.rel b/src/nos/lib/messages_lib/0141_482b__259p_256u_256u_20_.rel new file mode 100644 index 00000000..aa4b4ff3 --- /dev/null +++ b/src/nos/lib/messages_lib/0141_482b__259p_256u_256u_20_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0141_482b__259p_256u_256u_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 25 39 70 25 36 75 25 36 75 +R 00 00 01 00 +T 0b 00 00 00 20 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0141_b8b7__25s_20_2d_20.rel b/src/nos/lib/messages_lib/0141_b8b7__25s_20_2d_20.rel deleted file mode 100644 index da8eca16..00000000 --- a/src/nos/lib/messages_lib/0141_b8b7__25s_20_2d_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0141_b8b7__25s_20_2d_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 25 73 20 2d 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0142_1170__25s_20_2d_20Differ.rel b/src/nos/lib/messages_lib/0142_1170__25s_20_2d_20Differ.rel deleted file mode 100644 index 2be9fd7f..00000000 --- a/src/nos/lib/messages_lib/0142_1170__25s_20_2d_20Differ.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___0142_1170__25s_20_2d_20Differ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 25 73 20 2d 20 44 69 66 66 -R 00 00 01 00 -T 0b 00 00 00 65 72 65 6e 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0142_fcae__25c.rel b/src/nos/lib/messages_lib/0142_fcae__25c.rel new file mode 100644 index 00000000..9f1a35f0 --- /dev/null +++ b/src/nos/lib/messages_lib/0142_fcae__25c.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 5 flags 0 +S ___0142_fcae__25c Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 03 00 25 63 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0143_6d8a__25c_20.rel b/src/nos/lib/messages_lib/0143_6d8a__25c_20.rel new file mode 100644 index 00000000..a3a37d94 --- /dev/null +++ b/src/nos/lib/messages_lib/0143_6d8a__25c_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0143_6d8a__25c_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 25 63 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0143_d4cc__25s_20_2d_20Remote.rel b/src/nos/lib/messages_lib/0143_d4cc__25s_20_2d_20Remote.rel deleted file mode 100644 index b2b2136d..00000000 --- a/src/nos/lib/messages_lib/0143_d4cc__25s_20_2d_20Remote.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___0143_d4cc__25s_20_2d_20Remote Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 25 73 20 2d 20 52 65 6d 6f -R 00 00 01 00 -T 0b 00 00 00 74 65 20 65 78 69 74 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0144_3d14__25c_20_257s_20_257.rel b/src/nos/lib/messages_lib/0144_3d14__25c_20_257s_20_257.rel new file mode 100644 index 00000000..21c3b56d --- /dev/null +++ b/src/nos/lib/messages_lib/0144_3d14__25c_20_257s_20_257.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 32 flags 0 +S ___0144_3d14__25c_20_257s_20_257 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 30 00 25 63 20 25 37 73 20 25 37 +R 00 00 01 00 +T 0b 00 00 00 6c 64 20 25 30 32 64 2f 25 30 32 +R 00 00 01 00 +T 16 00 00 00 64 20 25 30 32 64 3a 25 30 32 64 +R 00 00 01 00 +T 21 00 00 00 20 25 2d 32 30 73 20 25 73 0a 20 +R 00 00 01 00 +T 2c 00 00 00 20 20 20 20 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0144_4968__25s_20_2d_20Same_0.rel b/src/nos/lib/messages_lib/0144_4968__25s_20_2d_20Same_0.rel deleted file mode 100644 index b39285c8..00000000 --- a/src/nos/lib/messages_lib/0144_4968__25s_20_2d_20Same_0.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___0144_4968__25s_20_2d_20Same_0 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 25 73 20 2d 20 53 61 6d 65 -R 00 00 01 00 -T 0b 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0145_22d3__25c_25c_25c.rel b/src/nos/lib/messages_lib/0145_22d3__25c_25c_25c.rel new file mode 100644 index 00000000..2fd69eda --- /dev/null +++ b/src/nos/lib/messages_lib/0145_22d3__25c_25c_25c.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0145_22d3__25c_25c_25c Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 25 63 25 63 25 63 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0145_ace2__25s_20dialer_3a_20.rel b/src/nos/lib/messages_lib/0145_ace2__25s_20dialer_3a_20.rel deleted file mode 100644 index 023ca30a..00000000 --- a/src/nos/lib/messages_lib/0145_ace2__25s_20dialer_3a_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___0145_ace2__25s_20dialer_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 25 73 20 64 69 61 6c 65 72 -R 00 00 01 00 -T 0b 00 00 00 3a 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0146_4b6e__25c_25c_25c_0a.rel b/src/nos/lib/messages_lib/0146_4b6e__25c_25c_25c_0a.rel new file mode 100644 index 00000000..f0282fec --- /dev/null +++ b/src/nos/lib/messages_lib/0146_4b6e__25c_25c_25c_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0146_4b6e__25c_25c_25c_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 25 63 25 63 25 63 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0146_933b__25s_20errno_20_25d.rel b/src/nos/lib/messages_lib/0146_933b__25s_20errno_20_25d.rel deleted file mode 100644 index a2e47aee..00000000 --- a/src/nos/lib/messages_lib/0146_933b__25s_20errno_20_25d.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___0146_933b__25s_20errno_20_25d Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 25 73 20 65 72 72 6e 6f 20 -R 00 00 01 00 -T 0b 00 00 00 25 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0147_2970__25c_25c_25c_253d_2.rel b/src/nos/lib/messages_lib/0147_2970__25c_25c_25c_253d_2.rel new file mode 100644 index 00000000..cdf87712 --- /dev/null +++ b/src/nos/lib/messages_lib/0147_2970__25c_25c_25c_253d_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___0147_2970__25c_25c_25c_253d_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 25 63 25 63 25 63 25 33 64 +R 00 00 01 00 +T 0b 00 00 00 20 25 2d 32 37 2e 32 37 73 20 25 +R 00 00 01 00 +T 16 00 00 00 2d 31 32 2e 31 32 73 20 25 35 6c +R 00 00 01 00 +T 21 00 00 00 64 20 25 2e 32 35 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0147_f768__25s_20file_25s_2e_.rel b/src/nos/lib/messages_lib/0147_f768__25s_20file_25s_2e_.rel deleted file mode 100644 index 56451a6e..00000000 --- a/src/nos/lib/messages_lib/0147_f768__25s_20file_25s_2e_.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 31 flags 0 -S ___0147_f768__25s_20file_25s_2e_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2f 00 25 73 20 66 69 6c 65 25 73 -R 00 00 01 00 -T 0b 00 00 00 2e 20 25 73 20 62 79 74 65 73 20 -R 00 00 01 00 -T 16 00 00 00 66 72 65 65 2e 20 44 69 73 6b 20 -R 00 00 01 00 -T 21 00 00 00 73 69 7a 65 20 25 73 20 62 79 74 -R 00 00 01 00 -T 2c 00 00 00 65 73 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0148_8514__25c_25s_0a.rel b/src/nos/lib/messages_lib/0148_8514__25c_25s_0a.rel new file mode 100644 index 00000000..108d9443 --- /dev/null +++ b/src/nos/lib/messages_lib/0148_8514__25c_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0148_8514__25c_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 25 63 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0148_c691__25s_20is_20unreach.rel b/src/nos/lib/messages_lib/0148_c691__25s_20is_20unreach.rel deleted file mode 100644 index de6172b7..00000000 --- a/src/nos/lib/messages_lib/0148_c691__25s_20is_20unreach.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___0148_c691__25s_20is_20unreach Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 25 73 20 69 73 20 75 6e 72 -R 00 00 01 00 -T 0b 00 00 00 65 61 63 68 61 62 6c 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0149_086d__25c_5b2J.rel b/src/nos/lib/messages_lib/0149_086d__25c_5b2J.rel new file mode 100644 index 00000000..4168eb3c --- /dev/null +++ b/src/nos/lib/messages_lib/0149_086d__25c_5b2J.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0149_086d__25c_5b2J Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 25 63 5b 32 4a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0149_a4a4__25s_20logged_20in.rel b/src/nos/lib/messages_lib/0149_a4a4__25s_20logged_20in.rel deleted file mode 100644 index 9ecdaa07..00000000 --- a/src/nos/lib/messages_lib/0149_a4a4__25s_20logged_20in.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___0149_a4a4__25s_20logged_20in Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 25 73 20 6c 6f 67 67 65 64 -R 00 00 01 00 -T 0b 00 00 00 20 69 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/014a_8811__25d.rel b/src/nos/lib/messages_lib/014a_8811__25d.rel new file mode 100644 index 00000000..7caa56f9 --- /dev/null +++ b/src/nos/lib/messages_lib/014a_8811__25d.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 5 flags 0 +S ___014a_8811__25d Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 03 00 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/014a_a64e__25s_20logged_20in_.rel b/src/nos/lib/messages_lib/014a_a64e__25s_20logged_20in_.rel deleted file mode 100644 index b5300c21..00000000 --- a/src/nos/lib/messages_lib/014a_a64e__25s_20logged_20in_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___014a_a64e__25s_20logged_20in_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 25 73 20 6c 6f 67 67 65 64 -R 00 00 01 00 -T 0b 00 00 00 20 69 6e 2c 20 49 44 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/014b_aeda__25d_0a.rel b/src/nos/lib/messages_lib/014b_aeda__25d_0a.rel new file mode 100644 index 00000000..461f14fd --- /dev/null +++ b/src/nos/lib/messages_lib/014b_aeda__25d_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___014b_aeda__25d_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 25 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/014b_b314__25s_20refs_20to_20.rel b/src/nos/lib/messages_lib/014b_b314__25s_20refs_20to_20.rel deleted file mode 100644 index 5922247a..00000000 --- a/src/nos/lib/messages_lib/014b_b314__25s_20refs_20to_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___014b_b314__25s_20refs_20to_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 25 73 20 72 65 66 73 20 74 -R 00 00 01 00 -T 0b 00 00 00 6f 20 69 6e 6f 64 65 20 25 75 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/014c_bd91__25s_20remain_20_25.rel b/src/nos/lib/messages_lib/014c_bd91__25s_20remain_20_25.rel deleted file mode 100644 index 93681b5c..00000000 --- a/src/nos/lib/messages_lib/014c_bd91__25s_20remain_20_25.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___014c_bd91__25s_20remain_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 25 73 20 72 65 6d 61 69 6e -R 00 00 01 00 -T 0b 00 00 00 20 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/014c_cd50__25d_20message_25s_.rel b/src/nos/lib/messages_lib/014c_cd50__25d_20message_25s_.rel new file mode 100644 index 00000000..6b22229b --- /dev/null +++ b/src/nos/lib/messages_lib/014c_cd50__25d_20message_25s_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___014c_cd50__25d_20message_25s_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 25 64 20 6d 65 73 73 61 67 +R 00 00 01 00 +T 0b 00 00 00 65 25 73 20 2d 20 20 25 64 20 6e +R 00 00 01 00 +T 16 00 00 00 65 77 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/014d_bf9e__25s_20thru_20.rel b/src/nos/lib/messages_lib/014d_bf9e__25s_20thru_20.rel deleted file mode 100644 index a5724422..00000000 --- a/src/nos/lib/messages_lib/014d_bf9e__25s_20thru_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___014d_bf9e__25s_20thru_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 25 73 20 74 68 72 75 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/014d_ea62__25ld.rel b/src/nos/lib/messages_lib/014d_ea62__25ld.rel new file mode 100644 index 00000000..730229a5 --- /dev/null +++ b/src/nos/lib/messages_lib/014d_ea62__25ld.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___014d_ea62__25ld Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 25 6c 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/014e_243b__25s_20type_20_25s_.rel b/src/nos/lib/messages_lib/014e_243b__25s_20type_20_25s_.rel deleted file mode 100644 index c5a349f6..00000000 --- a/src/nos/lib/messages_lib/014e_243b__25s_20type_20_25s_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___014e_243b__25s_20type_20_25s_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 25 73 20 74 79 70 65 20 25 -R 00 00 01 00 -T 0b 00 00 00 73 20 63 6c 61 73 73 20 25 75 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/014e_eb6a__25lu.rel b/src/nos/lib/messages_lib/014e_eb6a__25lu.rel new file mode 100644 index 00000000..4a2ee137 --- /dev/null +++ b/src/nos/lib/messages_lib/014e_eb6a__25lu.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___014e_eb6a__25lu Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 25 6c 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/014f_63ed__25lu_0a.rel b/src/nos/lib/messages_lib/014f_63ed__25lu_0a.rel new file mode 100644 index 00000000..a6b84c9c --- /dev/null +++ b/src/nos/lib/messages_lib/014f_63ed__25lu_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___014f_63ed__25lu_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 25 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/014f_7d69__25s_25_25_25s_2ebb.rel b/src/nos/lib/messages_lib/014f_7d69__25s_25_25_25s_2ebb.rel deleted file mode 100644 index 7579df8e..00000000 --- a/src/nos/lib/messages_lib/014f_7d69__25s_25_25_25s_2ebb.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___014f_7d69__25s_25_25_25s_2ebb Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 25 73 25 25 25 73 2e 62 62 -R 00 00 01 00 -T 0b 00 00 00 73 40 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0150_d324__25s_25c_0a.rel b/src/nos/lib/messages_lib/0150_d324__25s_25c_0a.rel deleted file mode 100644 index e40a0196..00000000 --- a/src/nos/lib/messages_lib/0150_d324__25s_25c_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0150_d324__25s_25c_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 25 73 25 63 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0150_f325__25lu_2f_25lu_0a.rel b/src/nos/lib/messages_lib/0150_f325__25lu_2f_25lu_0a.rel new file mode 100644 index 00000000..388cc1a6 --- /dev/null +++ b/src/nos/lib/messages_lib/0150_f325__25lu_2f_25lu_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___0150_f325__25lu_2f_25lu_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 25 6c 75 2f 25 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0151_ce9c__25s_25c_25c_25c.rel b/src/nos/lib/messages_lib/0151_ce9c__25s_25c_25c_25c.rel deleted file mode 100644 index e3f06c8a..00000000 --- a/src/nos/lib/messages_lib/0151_ce9c__25s_25c_25c_25c.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___0151_ce9c__25s_25c_25c_25c Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 25 73 25 63 25 63 25 63 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0151_d273__25p_20.rel b/src/nos/lib/messages_lib/0151_d273__25p_20.rel new file mode 100644 index 00000000..e5f0dad4 --- /dev/null +++ b/src/nos/lib/messages_lib/0151_d273__25p_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0151_d273__25p_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 25 70 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0152_1c93__25p_20_256lu.rel b/src/nos/lib/messages_lib/0152_1c93__25p_20_256lu.rel new file mode 100644 index 00000000..d180ed04 --- /dev/null +++ b/src/nos/lib/messages_lib/0152_1c93__25p_20_256lu.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0152_1c93__25p_20_256lu Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 25 70 20 25 36 6c 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0152_910e__25s_25s.rel b/src/nos/lib/messages_lib/0152_910e__25s_25s.rel deleted file mode 100644 index fb844fad..00000000 --- a/src/nos/lib/messages_lib/0152_910e__25s_25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0152_910e__25s_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 25 73 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0153_46b5__25s_25s_0a.rel b/src/nos/lib/messages_lib/0153_46b5__25s_25s_0a.rel deleted file mode 100644 index 71d5f70b..00000000 --- a/src/nos/lib/messages_lib/0153_46b5__25s_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0153_46b5__25s_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 25 73 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0153_ec2f__25s.rel b/src/nos/lib/messages_lib/0153_ec2f__25s.rel new file mode 100644 index 00000000..64d2017a --- /dev/null +++ b/src/nos/lib/messages_lib/0153_ec2f__25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 5 flags 0 +S ___0153_ec2f__25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 03 00 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0154_4d3a__25s_25s_0a_0a.rel b/src/nos/lib/messages_lib/0154_4d3a__25s_25s_0a_0a.rel deleted file mode 100644 index 1d2e4a02..00000000 --- a/src/nos/lib/messages_lib/0154_4d3a__25s_25s_0a_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0154_4d3a__25s_25s_0a_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 25 73 25 73 0a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0154_7643__25s_0a.rel b/src/nos/lib/messages_lib/0154_7643__25s_0a.rel new file mode 100644 index 00000000..13e8ded3 --- /dev/null +++ b/src/nos/lib/messages_lib/0154_7643__25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0154_7643__25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0155_0276__25s_0a_25s_0a.rel b/src/nos/lib/messages_lib/0155_0276__25s_0a_25s_0a.rel new file mode 100644 index 00000000..c5acdcde --- /dev/null +++ b/src/nos/lib/messages_lib/0155_0276__25s_0a_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0155_0276__25s_0a_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 25 73 0a 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0155_47c0__25s_3a.rel b/src/nos/lib/messages_lib/0155_47c0__25s_3a.rel deleted file mode 100644 index 362e8ecb..00000000 --- a/src/nos/lib/messages_lib/0155_47c0__25s_3a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0155_47c0__25s_3a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 25 73 3a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0156_6911__25s_3a_0a.rel b/src/nos/lib/messages_lib/0156_6911__25s_3a_0a.rel deleted file mode 100644 index 39a94845..00000000 --- a/src/nos/lib/messages_lib/0156_6911__25s_3a_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0156_6911__25s_3a_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 25 73 3a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0156_f81b__25s_20.rel b/src/nos/lib/messages_lib/0156_f81b__25s_20.rel new file mode 100644 index 00000000..4ceb9480 --- /dev/null +++ b/src/nos/lib/messages_lib/0156_f81b__25s_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0156_f81b__25s_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 25 73 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0157_8b7d__25s_20_2502d_2502d.rel b/src/nos/lib/messages_lib/0157_8b7d__25s_20_2502d_2502d.rel new file mode 100644 index 00000000..b50d3c30 --- /dev/null +++ b/src/nos/lib/messages_lib/0157_8b7d__25s_20_2502d_2502d.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___0157_8b7d__25s_20_2502d_2502d Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 25 73 20 25 30 32 64 25 30 +R 00 00 01 00 +T 0b 00 00 00 32 64 25 30 32 64 20 25 30 32 64 +R 00 00 01 00 +T 16 00 00 00 25 30 32 64 25 30 32 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0157_e749__25s_3a_20.rel b/src/nos/lib/messages_lib/0157_e749__25s_3a_20.rel deleted file mode 100644 index 8b08dabc..00000000 --- a/src/nos/lib/messages_lib/0157_e749__25s_3a_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0157_e749__25s_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 25 73 3a 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0158_650d__25s_3a_20_25d_20me.rel b/src/nos/lib/messages_lib/0158_650d__25s_3a_20_25d_20me.rel deleted file mode 100644 index 81a3a9b6..00000000 --- a/src/nos/lib/messages_lib/0158_650d__25s_3a_20_25d_20me.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___0158_650d__25s_3a_20_25d_20me Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 25 73 3a 20 25 64 20 6d 65 -R 00 00 01 00 -T 0b 00 00 00 73 73 61 67 65 25 73 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0158_7be3__25s_20_25p_0a.rel b/src/nos/lib/messages_lib/0158_7be3__25s_20_25p_0a.rel new file mode 100644 index 00000000..aba08989 --- /dev/null +++ b/src/nos/lib/messages_lib/0158_7be3__25s_20_25p_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0158_7be3__25s_20_25p_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 25 73 20 25 70 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0159_518b__25s_20_25s_0a.rel b/src/nos/lib/messages_lib/0159_518b__25s_20_25s_0a.rel new file mode 100644 index 00000000..f728a413 --- /dev/null +++ b/src/nos/lib/messages_lib/0159_518b__25s_20_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0159_518b__25s_20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 25 73 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0159_86f5__25s_3a_20_25ld_0a.rel b/src/nos/lib/messages_lib/0159_86f5__25s_3a_20_25ld_0a.rel deleted file mode 100644 index 9407e1b1..00000000 --- a/src/nos/lib/messages_lib/0159_86f5__25s_3a_20_25ld_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___0159_86f5__25s_3a_20_25ld_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 25 73 3a 20 25 6c 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/015a_7189__25s_3a_20_25s_0a.rel b/src/nos/lib/messages_lib/015a_7189__25s_3a_20_25s_0a.rel deleted file mode 100644 index 30469e64..00000000 --- a/src/nos/lib/messages_lib/015a_7189__25s_3a_20_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___015a_7189__25s_3a_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 25 73 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/015a_ca49__25s_20_25s_3a_20_2.rel b/src/nos/lib/messages_lib/015a_ca49__25s_20_25s_3a_20_2.rel new file mode 100644 index 00000000..5bb4bd78 --- /dev/null +++ b/src/nos/lib/messages_lib/015a_ca49__25s_20_25s_3a_20_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 29 flags 0 +S ___015a_ca49__25s_20_25s_3a_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 27 00 25 73 20 25 73 3a 20 25 6c +R 00 00 01 00 +T 0b 00 00 00 75 20 62 79 74 65 73 20 69 6e 20 +R 00 00 01 00 +T 16 00 00 00 25 6c 75 20 73 65 63 20 28 25 6c +R 00 00 01 00 +T 21 00 00 00 75 2f 73 65 63 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/015b_35bd__25s_3a_20_25s_2c.rel b/src/nos/lib/messages_lib/015b_35bd__25s_3a_20_25s_2c.rel deleted file mode 100644 index 2f4a32c9..00000000 --- a/src/nos/lib/messages_lib/015b_35bd__25s_3a_20_25s_2c.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___015b_35bd__25s_3a_20_25s_2c Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 25 73 3a 20 25 73 2c 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/015b_43c6__25s_20_25s_3a_20Er.rel b/src/nos/lib/messages_lib/015b_43c6__25s_20_25s_3a_20Er.rel new file mode 100644 index 00000000..c6687d58 --- /dev/null +++ b/src/nos/lib/messages_lib/015b_43c6__25s_20_25s_3a_20Er.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2b flags 0 +S ___015b_43c6__25s_20_25s_3a_20Er Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 29 00 25 73 20 25 73 3a 20 45 72 +R 00 00 01 00 +T 0b 00 00 00 72 6f 72 2f 61 62 6f 72 74 20 64 +R 00 00 01 00 +T 16 00 00 00 75 72 69 6e 67 20 64 61 74 61 20 +R 00 00 01 00 +T 21 00 00 00 74 72 61 6e 73 66 65 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/015c_adab__25s_3a_20Interface.rel b/src/nos/lib/messages_lib/015c_adab__25s_3a_20Interface.rel deleted file mode 100644 index 265c77d6..00000000 --- a/src/nos/lib/messages_lib/015c_adab__25s_3a_20Interface.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___015c_adab__25s_3a_20Interface Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 25 73 3a 20 49 6e 74 65 72 -R 00 00 01 00 -T 0b 00 00 00 66 61 63 65 20 75 6e 6b 6e 6f 77 -R 00 00 01 00 -T 16 00 00 00 6e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/015c_b8b7__25s_20_2d_20.rel b/src/nos/lib/messages_lib/015c_b8b7__25s_20_2d_20.rel new file mode 100644 index 00000000..17328031 --- /dev/null +++ b/src/nos/lib/messages_lib/015c_b8b7__25s_20_2d_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___015c_b8b7__25s_20_2d_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 25 73 20 2d 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/015d_1170__25s_20_2d_20Differ.rel b/src/nos/lib/messages_lib/015d_1170__25s_20_2d_20Differ.rel new file mode 100644 index 00000000..bf0761f6 --- /dev/null +++ b/src/nos/lib/messages_lib/015d_1170__25s_20_2d_20Differ.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___015d_1170__25s_20_2d_20Differ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 25 73 20 2d 20 44 69 66 66 +R 00 00 01 00 +T 0b 00 00 00 65 72 65 6e 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/015d_5f8a__25s_3a_20PPP_2fPAP.rel b/src/nos/lib/messages_lib/015d_5f8a__25s_3a_20PPP_2fPAP.rel deleted file mode 100644 index a81d4ff1..00000000 --- a/src/nos/lib/messages_lib/015d_5f8a__25s_3a_20PPP_2fPAP.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___015d_5f8a__25s_3a_20PPP_2fPAP Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 25 73 3a 20 50 50 50 2f 50 -R 00 00 01 00 -T 0b 00 00 00 41 50 20 20 50 61 73 73 77 6f 72 -R 00 00 01 00 -T 16 00 00 00 64 3a 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/015e_0cde__25s_3a_20bad_20dev.rel b/src/nos/lib/messages_lib/015e_0cde__25s_3a_20bad_20dev.rel deleted file mode 100644 index 45794bb4..00000000 --- a/src/nos/lib/messages_lib/015e_0cde__25s_3a_20bad_20dev.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___015e_0cde__25s_3a_20bad_20dev Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 25 73 3a 20 62 61 64 20 64 -R 00 00 01 00 -T 0b 00 00 00 65 76 20 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/015e_d4cc__25s_20_2d_20Remote.rel b/src/nos/lib/messages_lib/015e_d4cc__25s_20_2d_20Remote.rel new file mode 100644 index 00000000..feb8f05f --- /dev/null +++ b/src/nos/lib/messages_lib/015e_d4cc__25s_20_2d_20Remote.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___015e_d4cc__25s_20_2d_20Remote Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 25 73 20 2d 20 52 65 6d 6f +R 00 00 01 00 +T 0b 00 00 00 74 65 20 65 78 69 74 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/015f_4968__25s_20_2d_20Same_0.rel b/src/nos/lib/messages_lib/015f_4968__25s_20_2d_20Same_0.rel new file mode 100644 index 00000000..cf51c190 --- /dev/null +++ b/src/nos/lib/messages_lib/015f_4968__25s_20_2d_20Same_0.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___015f_4968__25s_20_2d_20Same_0 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 25 73 20 2d 20 53 61 6d 65 +R 00 00 01 00 +T 0b 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/015f_5351__25s_3a_20bad_20ino.rel b/src/nos/lib/messages_lib/015f_5351__25s_3a_20bad_20ino.rel deleted file mode 100644 index dc0142f8..00000000 --- a/src/nos/lib/messages_lib/015f_5351__25s_3a_20bad_20ino.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___015f_5351__25s_3a_20bad_20ino Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 25 73 3a 20 62 61 64 20 69 -R 00 00 01 00 -T 0b 00 00 00 6e 6f 64 65 20 6e 75 6d 62 65 72 -R 00 00 01 00 -T 16 00 00 00 20 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0160_55aa__25s_20PPP_20_25s.rel b/src/nos/lib/messages_lib/0160_55aa__25s_20PPP_20_25s.rel new file mode 100644 index 00000000..c81ba94a --- /dev/null +++ b/src/nos/lib/messages_lib/0160_55aa__25s_20PPP_20_25s.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0160_55aa__25s_20PPP_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 25 73 20 50 50 50 20 25 73 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0160_8c96__25s_3a_20corrupted.rel b/src/nos/lib/messages_lib/0160_8c96__25s_3a_20corrupted.rel deleted file mode 100644 index 9c83c93e..00000000 --- a/src/nos/lib/messages_lib/0160_8c96__25s_3a_20corrupted.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0160_8c96__25s_3a_20corrupted Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 25 73 3a 20 63 6f 72 72 75 -R 00 00 01 00 -T 0b 00 00 00 70 74 65 64 20 69 6e 6f 64 65 20 -R 00 00 01 00 -T 16 00 00 00 30 78 25 78 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0161_7a48__25s_20PPP_20Unknow.rel b/src/nos/lib/messages_lib/0161_7a48__25s_20PPP_20Unknow.rel new file mode 100644 index 00000000..a13a1cc8 --- /dev/null +++ b/src/nos/lib/messages_lib/0161_7a48__25s_20PPP_20Unknow.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___0161_7a48__25s_20PPP_20Unknow Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 25 73 20 50 50 50 20 55 6e +R 00 00 01 00 +T 0b 00 00 00 6b 6e 6f 77 6e 20 70 61 63 6b 65 +R 00 00 01 00 +T 16 00 00 00 74 20 70 72 6f 74 6f 63 6f 6c 3a +R 00 00 01 00 +T 21 00 00 00 20 25 78 3b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0161_d157__25s_3a_20fs_20of_2.rel b/src/nos/lib/messages_lib/0161_d157__25s_3a_20fs_20of_2.rel deleted file mode 100644 index 11952c5d..00000000 --- a/src/nos/lib/messages_lib/0161_d157__25s_3a_20fs_20of_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 -S ___0161_d157__25s_3a_20fs_20of_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 20 00 25 73 3a 20 66 73 20 6f 66 -R 00 00 01 00 -T 0b 00 00 00 20 64 65 76 20 25 75 20 6d 61 72 -R 00 00 01 00 -T 16 00 00 00 6b 65 64 20 61 73 20 62 61 64 0a -R 00 00 01 00 -T 21 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0162_136e__25s_20PPP_2f_25s_2.rel b/src/nos/lib/messages_lib/0162_136e__25s_20PPP_2f_25s_2.rel new file mode 100644 index 00000000..18456e4a --- /dev/null +++ b/src/nos/lib/messages_lib/0162_136e__25s_20PPP_2f_25s_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___0162_136e__25s_20PPP_2f_25s_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 25 73 20 50 50 50 2f 25 73 +R 00 00 01 00 +T 0b 00 00 00 20 25 2d 38 73 20 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0162_1d98__25s_3a_20local_20n.rel b/src/nos/lib/messages_lib/0162_1d98__25s_3a_20local_20n.rel deleted file mode 100644 index 277f42b5..00000000 --- a/src/nos/lib/messages_lib/0162_1d98__25s_3a_20local_20n.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21 flags 0 -S ___0162_1d98__25s_3a_20local_20n Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1f 00 25 73 3a 20 6c 6f 63 61 6c -R 00 00 01 00 -T 0b 00 00 00 20 6e 61 6d 65 73 20 6e 6f 74 20 -R 00 00 01 00 -T 16 00 00 00 73 75 70 70 6f 72 74 65 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0163_8479__25s_20PPP_2f_25s_2.rel b/src/nos/lib/messages_lib/0163_8479__25s_20PPP_2f_25s_2.rel new file mode 100644 index 00000000..e01873a6 --- /dev/null +++ b/src/nos/lib/messages_lib/0163_8479__25s_20PPP_2f_25s_2.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 31 flags 0 +S ___0163_8479__25s_20PPP_2f_25s_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2f 00 25 73 20 50 50 50 2f 25 73 +R 00 00 01 00 +T 0b 00 00 00 20 25 2d 38 73 3b 20 50 72 6f 63 +R 00 00 01 00 +T 16 00 00 00 65 73 73 69 6e 67 20 25 73 2c 20 +R 00 00 01 00 +T 21 00 00 00 69 64 3a 20 25 64 2c 20 6c 65 6e +R 00 00 01 00 +T 2c 00 00 00 3a 20 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0163_bba5__25s_3a_20mode_20_2.rel b/src/nos/lib/messages_lib/0163_bba5__25s_3a_20mode_20_2.rel deleted file mode 100644 index 1d070bab..00000000 --- a/src/nos/lib/messages_lib/0163_bba5__25s_3a_20mode_20_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0163_bba5__25s_3a_20mode_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 25 73 3a 20 6d 6f 64 65 20 -R 00 00 01 00 -T 0b 00 00 00 25 73 20 49 6e 69 74 20 66 61 69 -R 00 00 01 00 -T 16 00 00 00 6c 65 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0164_0e2f__25s_20PPP_2f_25s_2.rel b/src/nos/lib/messages_lib/0164_0e2f__25s_20PPP_2f_25s_2.rel new file mode 100644 index 00000000..153e8e2d --- /dev/null +++ b/src/nos/lib/messages_lib/0164_0e2f__25s_20PPP_2f_25s_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2b flags 0 +S ___0164_0e2f__25s_20PPP_2f_25s_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 29 00 25 73 20 50 50 50 2f 25 73 +R 00 00 01 00 +T 0b 00 00 00 20 25 2d 38 73 3b 20 53 65 6e 64 +R 00 00 01 00 +T 16 00 00 00 20 77 69 74 68 20 62 6f 67 75 73 +R 00 00 01 00 +T 21 00 00 00 20 63 6f 64 65 3a 20 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0164_60cc__25s_3a_20not_20a_2.rel b/src/nos/lib/messages_lib/0164_60cc__25s_3a_20not_20a_2.rel deleted file mode 100644 index 44fbe6be..00000000 --- a/src/nos/lib/messages_lib/0164_60cc__25s_3a_20not_20a_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0164_60cc__25s_3a_20not_20a_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 25 73 3a 20 6e 6f 74 20 61 -R 00 00 01 00 -T 0b 00 00 00 20 50 50 50 20 69 6e 74 65 72 66 -R 00 00 01 00 -T 16 00 00 00 61 63 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0165_3c0d__25s_20PPP_2f_25s_2.rel b/src/nos/lib/messages_lib/0165_3c0d__25s_20PPP_2f_25s_2.rel new file mode 100644 index 00000000..ac30b26e --- /dev/null +++ b/src/nos/lib/messages_lib/0165_3c0d__25s_20PPP_2f_25s_2.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2e flags 0 +S ___0165_3c0d__25s_20PPP_2f_25s_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2c 00 25 73 20 50 50 50 2f 25 73 +R 00 00 01 00 +T 0b 00 00 00 20 25 2d 38 73 3b 20 53 65 6e 64 +R 00 00 01 00 +T 16 00 00 00 69 6e 67 20 25 73 2c 20 69 64 3a +R 00 00 01 00 +T 21 00 00 00 20 25 64 2c 20 6c 65 6e 3a 20 25 +R 00 00 01 00 +T 2c 00 00 00 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0165_4ed5__25s_3a_20release_5.rel b/src/nos/lib/messages_lib/0165_4ed5__25s_3a_20release_5.rel deleted file mode 100644 index d48ade4b..00000000 --- a/src/nos/lib/messages_lib/0165_4ed5__25s_3a_20release_5.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 -S ___0165_4ed5__25s_3a_20release_5 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 20 00 25 73 3a 20 72 65 6c 65 61 -R 00 00 01 00 -T 0b 00 00 00 73 65 5f 74 79 70 65 20 65 72 72 -R 00 00 01 00 -T 16 00 00 00 6f 72 20 63 6f 64 65 20 25 75 0a -R 00 00 01 00 -T 21 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0166_04ae__25s_3a_20rtt_20_25.rel b/src/nos/lib/messages_lib/0166_04ae__25s_3a_20rtt_20_25.rel deleted file mode 100644 index ef60b2b6..00000000 --- a/src/nos/lib/messages_lib/0166_04ae__25s_3a_20rtt_20_25.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___0166_04ae__25s_3a_20rtt_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 25 73 3a 20 72 74 74 20 25 -R 00 00 01 00 -T 0b 00 00 00 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0166_9bc7__25s_20PPP_2f_25s_2.rel b/src/nos/lib/messages_lib/0166_9bc7__25s_20PPP_2f_25s_2.rel new file mode 100644 index 00000000..2cada982 --- /dev/null +++ b/src/nos/lib/messages_lib/0166_9bc7__25s_20PPP_2f_25s_2.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 39 flags 0 +S ___0166_9bc7__25s_20PPP_2f_25s_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 37 00 25 73 20 50 50 50 2f 25 73 +R 00 00 01 00 +T 0b 00 00 00 20 43 6f 64 65 20 52 65 6a 65 63 +R 00 00 01 00 +T 16 00 00 00 74 3b 20 69 6e 64 69 63 61 74 65 +R 00 00 01 00 +T 21 00 00 00 73 20 66 61 75 6c 74 79 20 69 6d +R 00 00 01 00 +T 2c 00 00 00 70 6c 65 6d 65 6e 74 61 74 69 6f +R 00 00 01 00 +T 37 00 00 00 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0167_991e__25s_20PPP_2f_25s_2.rel b/src/nos/lib/messages_lib/0167_991e__25s_20PPP_2f_25s_2.rel new file mode 100644 index 00000000..fe77091b --- /dev/null +++ b/src/nos/lib/messages_lib/0167_991e__25s_20PPP_2f_25s_2.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3d flags 0 +S ___0167_991e__25s_20PPP_2f_25s_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 3b 00 25 73 20 50 50 50 2f 25 73 +R 00 00 01 00 +T 0b 00 00 00 20 50 72 6f 74 6f 63 6f 6c 20 52 +R 00 00 01 00 +T 16 00 00 00 65 6a 65 63 74 3b 20 70 6c 65 61 +R 00 00 01 00 +T 21 00 00 00 73 65 20 64 6f 20 6e 6f 74 20 75 +R 00 00 01 00 +T 2c 00 00 00 73 65 20 74 68 69 73 20 70 72 6f +R 00 00 01 00 +T 37 00 00 00 74 6f 63 6f 6c 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0167_db35__25s_3a_20srtt_20_2.rel b/src/nos/lib/messages_lib/0167_db35__25s_3a_20srtt_20_2.rel deleted file mode 100644 index 1982f2af..00000000 --- a/src/nos/lib/messages_lib/0167_db35__25s_3a_20srtt_20_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___0167_db35__25s_3a_20srtt_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 25 73 3a 20 73 72 74 74 20 -R 00 00 01 00 -T 0b 00 00 00 25 6c 75 20 6d 64 65 76 20 25 6c -R 00 00 01 00 -T 16 00 00 00 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0168_65f3__25s_3c_25ld_40_25s.rel b/src/nos/lib/messages_lib/0168_65f3__25s_3c_25ld_40_25s.rel deleted file mode 100644 index ccb6b6c5..00000000 --- a/src/nos/lib/messages_lib/0168_65f3__25s_3c_25ld_40_25s.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___0168_65f3__25s_3c_25ld_40_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 25 73 3c 25 6c 64 40 25 73 -R 00 00 01 00 -T 0b 00 00 00 3e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0168_8bd6__25s_20PPP_2f_25s_2.rel b/src/nos/lib/messages_lib/0168_8bd6__25s_20PPP_2f_25s_2.rel new file mode 100644 index 00000000..46954dd7 --- /dev/null +++ b/src/nos/lib/messages_lib/0168_8bd6__25s_20PPP_2f_25s_2.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2f flags 0 +S ___0168_8bd6__25s_20PPP_2f_25s_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2d 00 25 73 20 50 50 50 2f 25 73 +R 00 00 01 00 +T 0b 00 00 00 20 52 65 63 76 2c 20 20 6f 70 74 +R 00 00 01 00 +T 16 00 00 00 69 6f 6e 3a 20 25 73 2c 20 69 64 +R 00 00 01 00 +T 21 00 00 00 3a 20 25 64 2c 20 6c 65 6e 3a 20 +R 00 00 01 00 +T 2c 00 00 00 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0169_5f30__25s_20PPP_2f_25s_2.rel b/src/nos/lib/messages_lib/0169_5f30__25s_20PPP_2f_25s_2.rel new file mode 100644 index 00000000..282c3df6 --- /dev/null +++ b/src/nos/lib/messages_lib/0169_5f30__25s_20PPP_2f_25s_2.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 39 flags 0 +S ___0169_5f30__25s_20PPP_2f_25s_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 37 00 25 73 20 50 50 50 2f 25 73 +R 00 00 01 00 +T 0b 00 00 00 20 55 6e 6b 6e 6f 77 6e 20 70 61 +R 00 00 01 00 +T 16 00 00 00 63 6b 65 74 20 74 79 70 65 3a 20 +R 00 00 01 00 +T 21 00 00 00 25 64 3b 20 53 65 6e 64 69 6e 67 +R 00 00 01 00 +T 2c 00 00 00 20 43 6f 64 65 20 52 65 6a 65 63 +R 00 00 01 00 +T 37 00 00 00 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0169_6e45__25s_3e_20_25s_20_2.rel b/src/nos/lib/messages_lib/0169_6e45__25s_3e_20_25s_20_2.rel deleted file mode 100644 index a7fd935c..00000000 --- a/src/nos/lib/messages_lib/0169_6e45__25s_3e_20_25s_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___0169_6e45__25s_3e_20_25s_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 25 73 3e 20 25 73 20 28 25 -R 00 00 01 00 -T 0b 00 00 00 73 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/016a_205d__25s_3e_20Invalid_2.rel b/src/nos/lib/messages_lib/016a_205d__25s_3e_20Invalid_2.rel deleted file mode 100644 index 7d7d921f..00000000 --- a/src/nos/lib/messages_lib/016a_205d__25s_3e_20Invalid_2.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 33 flags 0 -S ___016a_205d__25s_3e_20Invalid_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 31 00 25 73 3e 20 49 6e 76 61 6c -R 00 00 01 00 -T 0b 00 00 00 69 64 20 63 6f 6d 6d 61 6e 64 20 -R 00 00 01 00 -T 16 00 00 00 28 43 4f 4e 4e 45 43 54 20 49 44 -R 00 00 01 00 -T 21 00 00 00 45 4e 54 20 4e 4f 44 45 53 20 55 -R 00 00 01 00 -T 2c 00 00 00 53 45 52 53 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/016a_252c__25s_20PPP_2fIPCP_2.rel b/src/nos/lib/messages_lib/016a_252c__25s_20PPP_2fIPCP_2.rel new file mode 100644 index 00000000..4b7d6469 --- /dev/null +++ b/src/nos/lib/messages_lib/016a_252c__25s_20PPP_2fIPCP_2.rel @@ -0,0 +1,26 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 5a flags 0 +S ___016a_252c__25s_20PPP_2fIPCP_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 58 00 25 73 20 50 50 50 2f 49 50 +R 00 00 01 00 +T 0b 00 00 00 43 50 20 43 6f 6d 70 72 65 73 73 +R 00 00 01 00 +T 16 00 00 00 69 6f 6e 20 65 6e 61 62 6c 65 64 +R 00 00 01 00 +T 21 00 00 00 3b 20 52 65 63 76 20 73 6c 6f 74 +R 00 00 01 00 +T 2c 00 00 00 73 20 3d 20 25 64 2c 20 66 6c 61 +R 00 00 01 00 +T 37 00 00 00 67 20 3d 20 25 78 3b 20 58 6d 69 +R 00 00 01 00 +T 42 00 00 00 74 20 73 6c 6f 74 73 20 3d 20 25 +R 00 00 01 00 +T 4d 00 00 00 64 2c 20 66 6c 61 67 20 3d 20 25 +R 00 00 01 00 +T 58 00 00 00 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/016b_375d__25s_20PPP_2fIPCP_2.rel b/src/nos/lib/messages_lib/016b_375d__25s_20PPP_2fIPCP_2.rel new file mode 100644 index 00000000..4a60485b --- /dev/null +++ b/src/nos/lib/messages_lib/016b_375d__25s_20PPP_2fIPCP_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 29 flags 0 +S ___016b_375d__25s_20PPP_2fIPCP_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 27 00 25 73 20 50 50 50 2f 49 50 +R 00 00 01 00 +T 0b 00 00 00 43 50 20 53 65 74 74 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 6e 65 77 20 49 50 20 61 64 64 72 +R 00 00 01 00 +T 21 00 00 00 65 73 73 3a 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/016b_c86f__25s_40_25s_0a.rel b/src/nos/lib/messages_lib/016b_c86f__25s_40_25s_0a.rel deleted file mode 100644 index e8cdd43f..00000000 --- a/src/nos/lib/messages_lib/016b_c86f__25s_40_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___016b_c86f__25s_40_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 25 73 40 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/016c_82c1__25s_40_25s_3a_0a.rel b/src/nos/lib/messages_lib/016c_82c1__25s_40_25s_3a_0a.rel deleted file mode 100644 index ced45d42..00000000 --- a/src/nos/lib/messages_lib/016c_82c1__25s_40_25s_3a_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___016c_82c1__25s_40_25s_3a_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 25 73 40 25 73 3a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/016c_a652__25s_20PPP_2fPAP_20.rel b/src/nos/lib/messages_lib/016c_a652__25s_20PPP_2fPAP_20.rel new file mode 100644 index 00000000..14dc5dc3 --- /dev/null +++ b/src/nos/lib/messages_lib/016c_a652__25s_20PPP_2fPAP_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___016c_a652__25s_20PPP_2fPAP_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 25 73 20 50 50 50 2f 50 41 +R 00 00 01 00 +T 0b 00 00 00 50 20 25 73 20 25 73 3a 20 25 73 +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/016d_9fa6__25sMAILER_2dDAEMON.rel b/src/nos/lib/messages_lib/016d_9fa6__25sMAILER_2dDAEMON.rel deleted file mode 100644 index dd4df4be..00000000 --- a/src/nos/lib/messages_lib/016d_9fa6__25sMAILER_2dDAEMON.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 30 flags 0 -S ___016d_9fa6__25sMAILER_2dDAEMON Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2e 00 25 73 4d 41 49 4c 45 52 2d -R 00 00 01 00 -T 0b 00 00 00 44 41 45 4d 4f 4e 40 25 73 20 28 -R 00 00 01 00 -T 16 00 00 00 4d 61 69 6c 20 44 65 6c 69 76 65 -R 00 00 01 00 -T 21 00 00 00 72 79 20 53 75 62 73 79 73 74 65 -R 00 00 01 00 -T 2c 00 00 00 6d 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/016d_a115__25s_20PPP_2fPap_20.rel b/src/nos/lib/messages_lib/016d_a115__25s_20PPP_2fPap_20.rel new file mode 100644 index 00000000..a1add59f --- /dev/null +++ b/src/nos/lib/messages_lib/016d_a115__25s_20PPP_2fPap_20.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 36 flags 0 +S ___016d_a115__25s_20PPP_2fPap_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 34 00 25 73 20 50 50 50 2f 50 61 +R 00 00 01 00 +T 0b 00 00 00 70 20 55 6e 6b 6e 6f 77 6e 20 70 +R 00 00 01 00 +T 16 00 00 00 61 63 6b 65 74 20 74 79 70 65 3a +R 00 00 01 00 +T 21 00 00 00 20 25 64 3b 20 64 72 6f 70 70 69 +R 00 00 01 00 +T 2c 00 00 00 6e 67 20 70 61 63 6b 65 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/016e_ace2__25s_20dialer_3a_20.rel b/src/nos/lib/messages_lib/016e_ace2__25s_20dialer_3a_20.rel new file mode 100644 index 00000000..97d821af --- /dev/null +++ b/src/nos/lib/messages_lib/016e_ace2__25s_20dialer_3a_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___016e_ace2__25s_20dialer_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 25 73 20 64 69 61 6c 65 72 +R 00 00 01 00 +T 0b 00 00 00 3a 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/016e_c284__25sR_0a.rel b/src/nos/lib/messages_lib/016e_c284__25sR_0a.rel deleted file mode 100644 index 41414cf9..00000000 --- a/src/nos/lib/messages_lib/016e_c284__25sR_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___016e_c284__25sR_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 25 73 52 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/016f_2293__25u_0a.rel b/src/nos/lib/messages_lib/016f_2293__25u_0a.rel deleted file mode 100644 index a4bdb595..00000000 --- a/src/nos/lib/messages_lib/016f_2293__25u_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___016f_2293__25u_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/016f_933b__25s_20errno_20_25d.rel b/src/nos/lib/messages_lib/016f_933b__25s_20errno_20_25d.rel new file mode 100644 index 00000000..e6c6fcbd --- /dev/null +++ b/src/nos/lib/messages_lib/016f_933b__25s_20errno_20_25d.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___016f_933b__25s_20errno_20_25d Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 25 73 20 65 72 72 6e 6f 20 +R 00 00 01 00 +T 0b 00 00 00 25 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0170_c0bd__25u_20additional_3.rel b/src/nos/lib/messages_lib/0170_c0bd__25u_20additional_3.rel deleted file mode 100644 index 484f7ff8..00000000 --- a/src/nos/lib/messages_lib/0170_c0bd__25u_20additional_3.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___0170_c0bd__25u_20additional_3 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 25 75 20 61 64 64 69 74 69 -R 00 00 01 00 -T 0b 00 00 00 6f 6e 61 6c 3a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0170_f768__25s_20file_25s_2e_.rel b/src/nos/lib/messages_lib/0170_f768__25s_20file_25s_2e_.rel new file mode 100644 index 00000000..5c712d7e --- /dev/null +++ b/src/nos/lib/messages_lib/0170_f768__25s_20file_25s_2e_.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 31 flags 0 +S ___0170_f768__25s_20file_25s_2e_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2f 00 25 73 20 66 69 6c 65 25 73 +R 00 00 01 00 +T 0b 00 00 00 2e 20 25 73 20 62 79 74 65 73 20 +R 00 00 01 00 +T 16 00 00 00 66 72 65 65 2e 20 44 69 73 6b 20 +R 00 00 01 00 +T 21 00 00 00 73 69 7a 65 20 25 73 20 62 79 74 +R 00 00 01 00 +T 2c 00 00 00 65 73 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0171_7db0__25u_20answers_3a_0.rel b/src/nos/lib/messages_lib/0171_7db0__25u_20answers_3a_0.rel deleted file mode 100644 index b05b521a..00000000 --- a/src/nos/lib/messages_lib/0171_7db0__25u_20answers_3a_0.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___0171_7db0__25u_20answers_3a_0 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 25 75 20 61 6e 73 77 65 72 -R 00 00 01 00 -T 0b 00 00 00 73 3a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0171_c691__25s_20is_20unreach.rel b/src/nos/lib/messages_lib/0171_c691__25s_20is_20unreach.rel new file mode 100644 index 00000000..bcde4b78 --- /dev/null +++ b/src/nos/lib/messages_lib/0171_c691__25s_20is_20unreach.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___0171_c691__25s_20is_20unreach Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 25 73 20 69 73 20 75 6e 72 +R 00 00 01 00 +T 0b 00 00 00 65 61 63 68 61 62 6c 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0172_7c48__25u_20authority_3a.rel b/src/nos/lib/messages_lib/0172_7c48__25u_20authority_3a.rel deleted file mode 100644 index 5b2b8091..00000000 --- a/src/nos/lib/messages_lib/0172_7c48__25u_20authority_3a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___0172_7c48__25u_20authority_3a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 25 75 20 61 75 74 68 6f 72 -R 00 00 01 00 -T 0b 00 00 00 69 74 79 3a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0172_a4a4__25s_20logged_20in.rel b/src/nos/lib/messages_lib/0172_a4a4__25s_20logged_20in.rel new file mode 100644 index 00000000..d4fb1906 --- /dev/null +++ b/src/nos/lib/messages_lib/0172_a4a4__25s_20logged_20in.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0172_a4a4__25s_20logged_20in Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 25 73 20 6c 6f 67 67 65 64 +R 00 00 01 00 +T 0b 00 00 00 20 69 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0173_a64e__25s_20logged_20in_.rel b/src/nos/lib/messages_lib/0173_a64e__25s_20logged_20in_.rel new file mode 100644 index 00000000..7ba0f104 --- /dev/null +++ b/src/nos/lib/messages_lib/0173_a64e__25s_20logged_20in_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___0173_a64e__25s_20logged_20in_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 25 73 20 6c 6f 67 67 65 64 +R 00 00 01 00 +T 0b 00 00 00 20 69 6e 2c 20 49 44 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0173_b843__25u_20questions_3a.rel b/src/nos/lib/messages_lib/0173_b843__25u_20questions_3a.rel deleted file mode 100644 index d83ce27d..00000000 --- a/src/nos/lib/messages_lib/0173_b843__25u_20questions_3a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___0173_b843__25u_20questions_3a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 25 75 20 71 75 65 73 74 69 -R 00 00 01 00 -T 0b 00 00 00 6f 6e 73 3a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0174_af86__25u_3a_20calls_20_.rel b/src/nos/lib/messages_lib/0174_af86__25u_3a_20calls_20_.rel deleted file mode 100644 index 8c83411a..00000000 --- a/src/nos/lib/messages_lib/0174_af86__25u_3a_20calls_20_.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 31 flags 0 -S ___0174_af86__25u_3a_20calls_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2f 00 25 75 3a 20 63 61 6c 6c 73 -R 00 00 01 00 -T 0b 00 00 00 20 25 6c 75 20 6d 69 6e 20 25 6c -R 00 00 01 00 -T 16 00 00 00 75 20 6d 61 78 20 25 6c 75 20 61 -R 00 00 01 00 -T 21 00 00 00 76 67 20 25 6c 75 20 74 6f 74 20 -R 00 00 01 00 -T 2c 00 00 00 25 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0174_b314__25s_20refs_20to_20.rel b/src/nos/lib/messages_lib/0174_b314__25s_20refs_20to_20.rel new file mode 100644 index 00000000..86bed29d --- /dev/null +++ b/src/nos/lib/messages_lib/0174_b314__25s_20refs_20to_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___0174_b314__25s_20refs_20to_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 25 73 20 72 65 66 73 20 74 +R 00 00 01 00 +T 0b 00 00 00 6f 20 69 6e 6f 64 65 20 25 75 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0175_52fc__25x.rel b/src/nos/lib/messages_lib/0175_52fc__25x.rel deleted file mode 100644 index 86e2b17b..00000000 --- a/src/nos/lib/messages_lib/0175_52fc__25x.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5 flags 0 -S ___0175_52fc__25x Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 03 00 25 78 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0175_bd91__25s_20remain_20_25.rel b/src/nos/lib/messages_lib/0175_bd91__25s_20remain_20_25.rel new file mode 100644 index 00000000..fe39da36 --- /dev/null +++ b/src/nos/lib/messages_lib/0175_bd91__25s_20remain_20_25.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0175_bd91__25s_20remain_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 25 73 20 72 65 6d 61 69 6e +R 00 00 01 00 +T 0b 00 00 00 20 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0176_b099__26AXB_20_20_20_20_.rel b/src/nos/lib/messages_lib/0176_b099__26AXB_20_20_20_20_.rel deleted file mode 100644 index 49e4fde3..00000000 --- a/src/nos/lib/messages_lib/0176_b099__26AXB_20_20_20_20_.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2d flags 0 -S ___0176_b099__26AXB_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2b 00 26 41 58 42 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 20 53 6e 64 2d 51 20 20 20 52 63 -R 00 00 01 00 -T 16 00 00 00 76 2d 51 20 20 20 52 65 6d 6f 74 -R 00 00 01 00 -T 21 00 00 00 65 20 20 20 20 53 74 61 74 65 0a -R 00 00 01 00 -T 2c 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0176_bf9e__25s_20thru_20.rel b/src/nos/lib/messages_lib/0176_bf9e__25s_20thru_20.rel new file mode 100644 index 00000000..2d73d0e4 --- /dev/null +++ b/src/nos/lib/messages_lib/0176_bf9e__25s_20thru_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___0176_bf9e__25s_20thru_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 25 73 20 74 68 72 75 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0177_243b__25s_20type_20_25s_.rel b/src/nos/lib/messages_lib/0177_243b__25s_20type_20_25s_.rel new file mode 100644 index 00000000..5488af86 --- /dev/null +++ b/src/nos/lib/messages_lib/0177_243b__25s_20type_20_25s_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___0177_243b__25s_20type_20_25s_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 25 73 20 74 79 70 65 20 25 +R 00 00 01 00 +T 0b 00 00 00 73 20 63 6c 61 73 73 20 25 75 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0177_7bf6__26CB_20_20_20_20_2.rel b/src/nos/lib/messages_lib/0177_7bf6__26CB_20_20_20_20_2.rel deleted file mode 100644 index 2c275123..00000000 --- a/src/nos/lib/messages_lib/0177_7bf6__26CB_20_20_20_20_2.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 44 flags 0 -S ___0177_7bf6__26CB_20_20_20_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 42 00 26 43 42 20 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 20 53 6e 64 2d 57 20 53 6e 64 2d -R 00 00 01 00 -T 16 00 00 00 51 20 52 63 76 2d 51 20 20 20 20 -R 00 00 01 00 -T 21 00 00 00 20 4c 55 73 65 72 20 20 20 20 20 -R 00 00 01 00 -T 2c 00 00 00 20 52 55 73 65 72 20 40 4e 6f 64 -R 00 00 01 00 -T 37 00 00 00 65 20 20 20 20 20 53 74 61 74 65 -R 00 00 01 00 -T 42 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0178_7d69__25s_25_25_25s_2ebb.rel b/src/nos/lib/messages_lib/0178_7d69__25s_25_25_25s_2ebb.rel new file mode 100644 index 00000000..c6fc5d9e --- /dev/null +++ b/src/nos/lib/messages_lib/0178_7d69__25s_25_25_25s_2ebb.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0178_7d69__25s_25_25_25s_2ebb Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 25 73 25 25 25 73 2e 62 62 +R 00 00 01 00 +T 0b 00 00 00 73 40 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0178_c497__26TCB_20_20_20_20_.rel b/src/nos/lib/messages_lib/0178_c497__26TCB_20_20_20_20_.rel deleted file mode 100644 index 651c448a..00000000 --- a/src/nos/lib/messages_lib/0178_c497__26TCB_20_20_20_20_.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4e flags 0 -S ___0178_c497__26TCB_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 4c 00 26 54 43 42 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 20 52 63 76 2d 51 20 53 6e 64 2d -R 00 00 01 00 -T 16 00 00 00 51 20 20 4c 6f 63 61 6c 20 73 6f -R 00 00 01 00 -T 21 00 00 00 63 6b 65 74 20 20 20 20 20 20 20 -R 00 00 01 00 -T 2c 00 00 00 20 20 20 20 52 65 6d 6f 74 65 20 -R 00 00 01 00 -T 37 00 00 00 73 6f 63 6b 65 74 20 20 20 20 20 -R 00 00 01 00 -T 42 00 00 00 20 20 20 20 20 53 74 61 74 65 0a -R 00 00 01 00 -T 4d 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0179_d324__25s_25c_0a.rel b/src/nos/lib/messages_lib/0179_d324__25s_25c_0a.rel new file mode 100644 index 00000000..356d0b65 --- /dev/null +++ b/src/nos/lib/messages_lib/0179_d324__25s_25c_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0179_d324__25s_25c_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 25 73 25 63 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0179_f73b__26UCB_20_20_20_20_.rel b/src/nos/lib/messages_lib/0179_f73b__26UCB_20_20_20_20_.rel deleted file mode 100644 index 78da0a20..00000000 --- a/src/nos/lib/messages_lib/0179_f73b__26UCB_20_20_20_20_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21 flags 0 -S ___0179_f73b__26UCB_20_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1f 00 26 55 43 42 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 20 52 63 76 2d 51 20 20 4c 6f 63 -R 00 00 01 00 -T 16 00 00 00 61 6c 20 73 6f 63 6b 65 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/017a_aa89__27_25c_27_0a.rel b/src/nos/lib/messages_lib/017a_aa89__27_25c_27_0a.rel deleted file mode 100644 index f8233a13..00000000 --- a/src/nos/lib/messages_lib/017a_aa89__27_25c_27_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___017a_aa89__27_25c_27_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 27 25 63 27 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/017a_ce9c__25s_25c_25c_25c.rel b/src/nos/lib/messages_lib/017a_ce9c__25s_25c_25c_25c.rel new file mode 100644 index 00000000..6f88e152 --- /dev/null +++ b/src/nos/lib/messages_lib/017a_ce9c__25s_25c_25c_25c.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___017a_ce9c__25s_25c_25c_25c Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 25 73 25 63 25 63 25 63 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/017b_910e__25s_25s.rel b/src/nos/lib/messages_lib/017b_910e__25s_25s.rel new file mode 100644 index 00000000..bac66abc --- /dev/null +++ b/src/nos/lib/messages_lib/017b_910e__25s_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___017b_910e__25s_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 25 73 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/017b_a2cd__28.rel b/src/nos/lib/messages_lib/017b_a2cd__28.rel deleted file mode 100644 index 34807496..00000000 --- a/src/nos/lib/messages_lib/017b_a2cd__28.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4 flags 0 -S ___017b_a2cd__28 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 02 00 28 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/017c_46b5__25s_25s_0a.rel b/src/nos/lib/messages_lib/017c_46b5__25s_25s_0a.rel new file mode 100644 index 00000000..3ec4bf5e --- /dev/null +++ b/src/nos/lib/messages_lib/017c_46b5__25s_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___017c_46b5__25s_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 25 73 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/017c_ba4c__28_252u_29_25_2d20.rel b/src/nos/lib/messages_lib/017c_ba4c__28_252u_29_25_2d20.rel deleted file mode 100644 index 0ca44b32..00000000 --- a/src/nos/lib/messages_lib/017c_ba4c__28_252u_29_25_2d20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___017c_ba4c__28_252u_29_25_2d20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 28 25 32 75 29 25 2d 32 30 -R 00 00 01 00 -T 0b 00 00 00 73 25 31 30 6c 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/017d_4d3a__25s_25s_0a_0a.rel b/src/nos/lib/messages_lib/017d_4d3a__25s_25s_0a_0a.rel new file mode 100644 index 00000000..381d8dec --- /dev/null +++ b/src/nos/lib/messages_lib/017d_4d3a__25s_25s_0a_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___017d_4d3a__25s_25s_0a_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 25 73 25 73 0a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/017d_52bf__28F_29.rel b/src/nos/lib/messages_lib/017d_52bf__28F_29.rel deleted file mode 100644 index 6f89258f..00000000 --- a/src/nos/lib/messages_lib/017d_52bf__28F_29.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___017d_52bf__28F_29 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 28 46 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/017e_47c0__25s_3a.rel b/src/nos/lib/messages_lib/017e_47c0__25s_3a.rel new file mode 100644 index 00000000..c256e619 --- /dev/null +++ b/src/nos/lib/messages_lib/017e_47c0__25s_3a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___017e_47c0__25s_3a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 25 73 3a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/017e_93fe__28P_29.rel b/src/nos/lib/messages_lib/017e_93fe__28P_29.rel deleted file mode 100644 index 7fa898f6..00000000 --- a/src/nos/lib/messages_lib/017e_93fe__28P_29.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___017e_93fe__28P_29 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 28 50 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/017f_38a6__28P_2fF_29.rel b/src/nos/lib/messages_lib/017f_38a6__28P_2fF_29.rel deleted file mode 100644 index 251739b4..00000000 --- a/src/nos/lib/messages_lib/017f_38a6__28P_2fF_29.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___017f_38a6__28P_2fF_29 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 28 50 2f 46 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/017f_6911__25s_3a_0a.rel b/src/nos/lib/messages_lib/017f_6911__25s_3a_0a.rel new file mode 100644 index 00000000..abadfb06 --- /dev/null +++ b/src/nos/lib/messages_lib/017f_6911__25s_3a_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___017f_6911__25s_3a_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 25 73 3a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0180_7b70__28compressed_20ALL.rel b/src/nos/lib/messages_lib/0180_7b70__28compressed_20ALL.rel deleted file mode 100644 index 20bfa185..00000000 --- a/src/nos/lib/messages_lib/0180_7b70__28compressed_20ALL.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___0180_7b70__28compressed_20ALL Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 28 63 6f 6d 70 72 65 73 73 -R 00 00 01 00 -T 0b 00 00 00 65 64 20 41 4c 4c 2f 55 49 29 09 -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0180_e749__25s_3a_20.rel b/src/nos/lib/messages_lib/0180_e749__25s_3a_20.rel new file mode 100644 index 00000000..10a7cb8e --- /dev/null +++ b/src/nos/lib/messages_lib/0180_e749__25s_3a_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0180_e749__25s_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 25 73 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0181_650d__25s_3a_20_25d_20me.rel b/src/nos/lib/messages_lib/0181_650d__25s_3a_20_25d_20me.rel new file mode 100644 index 00000000..64b2168f --- /dev/null +++ b/src/nos/lib/messages_lib/0181_650d__25s_3a_20_25d_20me.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___0181_650d__25s_3a_20_25d_20me Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 25 73 3a 20 25 64 20 6d 65 +R 00 00 01 00 +T 0b 00 00 00 73 73 61 67 65 25 73 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0181_c1c3__28hopcheck_29_20IC.rel b/src/nos/lib/messages_lib/0181_c1c3__28hopcheck_29_20IC.rel deleted file mode 100644 index 034be5e8..00000000 --- a/src/nos/lib/messages_lib/0181_c1c3__28hopcheck_29_20IC.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___0181_c1c3__28hopcheck_29_20IC Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 28 68 6f 70 63 68 65 63 6b -R 00 00 01 00 -T 0b 00 00 00 29 20 49 43 4d 50 20 66 72 6f 6d -R 00 00 01 00 -T 16 00 00 00 20 25 73 20 28 25 6c 64 6d 73 29 -R 00 00 01 00 -T 21 00 00 00 20 25 73 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0182_565f__28missing_20UI_21_.rel b/src/nos/lib/messages_lib/0182_565f__28missing_20UI_21_.rel deleted file mode 100644 index aee26e5e..00000000 --- a/src/nos/lib/messages_lib/0182_565f__28missing_20UI_21_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___0182_565f__28missing_20UI_21_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 28 6d 69 73 73 69 6e 67 20 -R 00 00 01 00 -T 0b 00 00 00 55 49 21 29 09 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0182_86f5__25s_3a_20_25ld_0a.rel b/src/nos/lib/messages_lib/0182_86f5__25s_3a_20_25ld_0a.rel new file mode 100644 index 00000000..1a451600 --- /dev/null +++ b/src/nos/lib/messages_lib/0182_86f5__25s_3a_20_25ld_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___0182_86f5__25s_3a_20_25ld_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 25 73 3a 20 25 6c 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0183_7189__25s_3a_20_25s_0a.rel b/src/nos/lib/messages_lib/0183_7189__25s_3a_20_25s_0a.rel new file mode 100644 index 00000000..848d6bc0 --- /dev/null +++ b/src/nos/lib/messages_lib/0183_7189__25s_3a_20_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0183_7189__25s_3a_20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 25 73 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0183_f935__28not_20odd_21_29_.rel b/src/nos/lib/messages_lib/0183_f935__28not_20odd_21_29_.rel deleted file mode 100644 index a5f3d6d8..00000000 --- a/src/nos/lib/messages_lib/0183_f935__28not_20odd_21_29_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___0183_f935__28not_20odd_21_29_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 28 6e 6f 74 20 6f 64 64 21 -R 00 00 01 00 -T 0b 00 00 00 29 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0184_35bd__25s_3a_20_25s_2c.rel b/src/nos/lib/messages_lib/0184_35bd__25s_3a_20_25s_2c.rel new file mode 100644 index 00000000..9922520f --- /dev/null +++ b/src/nos/lib/messages_lib/0184_35bd__25s_3a_20_25s_2c.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0184_35bd__25s_3a_20_25s_2c Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 25 73 3a 20 25 73 2c 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0184_abc9__29_0a.rel b/src/nos/lib/messages_lib/0184_abc9__29_0a.rel deleted file mode 100644 index 373060b3..00000000 --- a/src/nos/lib/messages_lib/0184_abc9__29_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5 flags 0 -S ___0184_abc9__29_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 03 00 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0185_adab__25s_3a_20Interface.rel b/src/nos/lib/messages_lib/0185_adab__25s_3a_20Interface.rel new file mode 100644 index 00000000..186f658d --- /dev/null +++ b/src/nos/lib/messages_lib/0185_adab__25s_3a_20Interface.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___0185_adab__25s_3a_20Interface Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 25 73 3a 20 49 6e 74 65 72 +R 00 00 01 00 +T 0b 00 00 00 66 61 63 65 20 75 6e 6b 6e 6f 77 +R 00 00 01 00 +T 16 00 00 00 6e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0185_bfa2__2a_2a_20smtp_3a_20.rel b/src/nos/lib/messages_lib/0185_bfa2__2a_2a_20smtp_3a_20.rel deleted file mode 100644 index e9f7bfe1..00000000 --- a/src/nos/lib/messages_lib/0185_bfa2__2a_2a_20smtp_3a_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___0185_bfa2__2a_2a_20smtp_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 2a 2a 20 73 6d 74 70 3a 20 -R 00 00 01 00 -T 0b 00 00 00 55 6e 6b 6e 6f 77 6e 20 61 64 64 -R 00 00 01 00 -T 16 00 00 00 72 65 73 73 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0186_1969__2a_2a_2a.rel b/src/nos/lib/messages_lib/0186_1969__2a_2a_2a.rel deleted file mode 100644 index 3da66246..00000000 --- a/src/nos/lib/messages_lib/0186_1969__2a_2a_2a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0186_1969__2a_2a_2a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 2a 2a 2a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0186_5fe2__25s_3a_20PPP_2fPAP.rel b/src/nos/lib/messages_lib/0186_5fe2__25s_3a_20PPP_2fPAP.rel new file mode 100644 index 00000000..d1ce9678 --- /dev/null +++ b/src/nos/lib/messages_lib/0186_5fe2__25s_3a_20PPP_2fPAP.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___0186_5fe2__25s_3a_20PPP_2fPAP Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 25 73 3a 20 50 50 50 2f 50 +R 00 00 01 00 +T 0b 00 00 00 41 50 20 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0187_5f8a__25s_3a_20PPP_2fPAP.rel b/src/nos/lib/messages_lib/0187_5f8a__25s_3a_20PPP_2fPAP.rel new file mode 100644 index 00000000..788c43d8 --- /dev/null +++ b/src/nos/lib/messages_lib/0187_5f8a__25s_3a_20PPP_2fPAP.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___0187_5f8a__25s_3a_20PPP_2fPAP Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 25 73 3a 20 50 50 50 2f 50 +R 00 00 01 00 +T 0b 00 00 00 41 50 20 20 50 61 73 73 77 6f 72 +R 00 00 01 00 +T 16 00 00 00 64 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0187_a448__2a_2a_2a_20Done_0a.rel b/src/nos/lib/messages_lib/0187_a448__2a_2a_2a_20Done_0a.rel deleted file mode 100644 index b7a976df..00000000 --- a/src/nos/lib/messages_lib/0187_a448__2a_2a_2a_20Done_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___0187_a448__2a_2a_2a_20Done_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 2a 2a 2a 20 44 6f 6e 65 0a -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0188_53bc__25s_3a_20PPP_2fPAP.rel b/src/nos/lib/messages_lib/0188_53bc__25s_3a_20PPP_2fPAP.rel new file mode 100644 index 00000000..29a16dce --- /dev/null +++ b/src/nos/lib/messages_lib/0188_53bc__25s_3a_20PPP_2fPAP.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___0188_53bc__25s_3a_20PPP_2fPAP Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 25 73 3a 20 50 50 50 2f 50 +R 00 00 01 00 +T 0b 00 00 00 41 50 20 20 55 73 65 72 6e 61 6d +R 00 00 01 00 +T 16 00 00 00 65 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0188_c993__2a_2a_2a_20Unable_.rel b/src/nos/lib/messages_lib/0188_c993__2a_2a_2a_20Unable_.rel deleted file mode 100644 index 6e74b628..00000000 --- a/src/nos/lib/messages_lib/0188_c993__2a_2a_2a_20Unable_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___0188_c993__2a_2a_2a_20Unable_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 2a 2a 2a 20 55 6e 61 62 6c -R 00 00 01 00 -T 0b 00 00 00 65 20 74 6f 20 61 6c 6c 6f 63 61 -R 00 00 01 00 -T 16 00 00 00 74 65 20 43 43 42 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0189_990e__25s_3a_20PPP_2fPAP.rel b/src/nos/lib/messages_lib/0189_990e__25s_3a_20PPP_2fPAP.rel new file mode 100644 index 00000000..1eb38792 --- /dev/null +++ b/src/nos/lib/messages_lib/0189_990e__25s_3a_20PPP_2fPAP.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___0189_990e__25s_3a_20PPP_2fPAP Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 25 73 3a 20 50 50 50 2f 50 +R 00 00 01 00 +T 0b 00 00 00 41 50 20 20 55 73 65 72 6e 61 6d +R 00 00 01 00 +T 16 00 00 00 65 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0189_b489__2a_2a_2a_2a_2a_2a_.rel b/src/nos/lib/messages_lib/0189_b489__2a_2a_2a_2a_2a_2a_.rel deleted file mode 100644 index a552017f..00000000 --- a/src/nos/lib/messages_lib/0189_b489__2a_2a_2a_2a_2a_2a_.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___0189_b489__2a_2a_2a_2a_2a_2a_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 2a 2a 2a 2a 2a 2a 2a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/018a_0cde__25s_3a_20bad_20dev.rel b/src/nos/lib/messages_lib/018a_0cde__25s_3a_20bad_20dev.rel new file mode 100644 index 00000000..8807ebac --- /dev/null +++ b/src/nos/lib/messages_lib/018a_0cde__25s_3a_20bad_20dev.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___018a_0cde__25s_3a_20bad_20dev Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 25 73 3a 20 62 61 64 20 64 +R 00 00 01 00 +T 0b 00 00 00 65 76 20 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/018a_5b29__2c_20.rel b/src/nos/lib/messages_lib/018a_5b29__2c_20.rel deleted file mode 100644 index 680a00b0..00000000 --- a/src/nos/lib/messages_lib/018a_5b29__2c_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5 flags 0 -S ___018a_5b29__2c_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 03 00 2c 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/018b_1a71__2c_20err_20_25d.rel b/src/nos/lib/messages_lib/018b_1a71__2c_20err_20_25d.rel deleted file mode 100644 index 35c8417a..00000000 --- a/src/nos/lib/messages_lib/018b_1a71__2c_20err_20_25d.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___018b_1a71__2c_20err_20_25d Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 2c 20 65 72 72 20 25 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/018b_5351__25s_3a_20bad_20ino.rel b/src/nos/lib/messages_lib/018b_5351__25s_3a_20bad_20ino.rel new file mode 100644 index 00000000..77e3e2b9 --- /dev/null +++ b/src/nos/lib/messages_lib/018b_5351__25s_3a_20bad_20ino.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___018b_5351__25s_3a_20bad_20ino Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 25 73 3a 20 62 61 64 20 69 +R 00 00 01 00 +T 0b 00 00 00 6e 6f 64 65 20 6e 75 6d 62 65 72 +R 00 00 01 00 +T 16 00 00 00 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/018c_099c__2d_2d_2d_2d_2d_20E.rel b/src/nos/lib/messages_lib/018c_099c__2d_2d_2d_2d_2d_20E.rel deleted file mode 100644 index bdcba48f..00000000 --- a/src/nos/lib/messages_lib/018c_099c__2d_2d_2d_2d_2d_20E.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___018c_099c__2d_2d_2d_2d_2d_20E Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 2d 2d 2d 2d 2d 20 45 6e 64 -R 00 00 01 00 -T 0b 00 00 00 20 6f 66 20 66 6f 72 77 61 72 64 -R 00 00 01 00 -T 16 00 00 00 65 64 20 6d 65 73 73 61 67 65 20 -R 00 00 01 00 -T 21 00 00 00 2d 2d 2d 2d 2d 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/018c_8c96__25s_3a_20corrupted.rel b/src/nos/lib/messages_lib/018c_8c96__25s_3a_20corrupted.rel new file mode 100644 index 00000000..36e60c03 --- /dev/null +++ b/src/nos/lib/messages_lib/018c_8c96__25s_3a_20corrupted.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___018c_8c96__25s_3a_20corrupted Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 25 73 3a 20 63 6f 72 72 75 +R 00 00 01 00 +T 0b 00 00 00 70 74 65 64 20 69 6e 6f 64 65 20 +R 00 00 01 00 +T 16 00 00 00 30 78 25 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/018d_01ea__2d_2d_2d_2d_2d_20F.rel b/src/nos/lib/messages_lib/018d_01ea__2d_2d_2d_2d_2d_20F.rel deleted file mode 100644 index d01355a4..00000000 --- a/src/nos/lib/messages_lib/018d_01ea__2d_2d_2d_2d_2d_20F.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 -S ___018d_01ea__2d_2d_2d_2d_2d_20F Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 20 00 2d 2d 2d 2d 2d 20 46 6f 72 -R 00 00 01 00 -T 0b 00 00 00 77 61 72 64 65 64 20 6d 65 73 73 -R 00 00 01 00 -T 16 00 00 00 61 67 65 20 2d 2d 2d 2d 2d 0a 0a -R 00 00 01 00 -T 21 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/018d_d157__25s_3a_20fs_20of_2.rel b/src/nos/lib/messages_lib/018d_d157__25s_3a_20fs_20of_2.rel new file mode 100644 index 00000000..1d77ed20 --- /dev/null +++ b/src/nos/lib/messages_lib/018d_d157__25s_3a_20fs_20of_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___018d_d157__25s_3a_20fs_20of_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 25 73 3a 20 66 73 20 6f 66 +R 00 00 01 00 +T 0b 00 00 00 20 64 65 76 20 25 75 20 6d 61 72 +R 00 00 01 00 +T 16 00 00 00 6b 65 64 20 61 73 20 62 61 64 0a +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/018e_04ae__2d_2d_2d_2d_2d_2d_.rel b/src/nos/lib/messages_lib/018e_04ae__2d_2d_2d_2d_2d_2d_.rel deleted file mode 100644 index fca1e33d..00000000 --- a/src/nos/lib/messages_lib/018e_04ae__2d_2d_2d_2d_2d_2d_.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 47 flags 0 -S ___018e_04ae__2d_2d_2d_2d_2d_2d_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 45 00 2d 2d 2d 2d 2d 2d 2d 2d 2d -R 00 00 01 00 -T 0b 00 00 00 09 2d 2d 2d 2d 2d 2d 09 2d 2d 2d -R 00 00 01 00 -T 16 00 00 00 2d 2d 2d 09 2d 2d 2d 2d 2d 2d 09 -R 00 00 01 00 -T 21 00 00 00 2d 2d 2d 2d 2d 2d 09 2d 2d 2d 2d -R 00 00 01 00 -T 2c 00 00 00 2d 2d 09 2d 2d 2d 2d 2d 2d 09 2d -R 00 00 01 00 -T 37 00 00 00 2d 2d 2d 2d 2d 2d 09 2d 2d 2d 2d -R 00 00 01 00 -T 42 00 00 00 2d 2d 2d 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/018e_1d98__25s_3a_20local_20n.rel b/src/nos/lib/messages_lib/018e_1d98__25s_3a_20local_20n.rel new file mode 100644 index 00000000..7db50164 --- /dev/null +++ b/src/nos/lib/messages_lib/018e_1d98__25s_3a_20local_20n.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___018e_1d98__25s_3a_20local_20n Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 25 73 3a 20 6c 6f 63 61 6c +R 00 00 01 00 +T 0b 00 00 00 20 6e 61 6d 65 73 20 6e 6f 74 20 +R 00 00 01 00 +T 16 00 00 00 73 75 70 70 6f 72 74 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/018f_1b54__2d_2d_2d_2d_2d_2d_.rel b/src/nos/lib/messages_lib/018f_1b54__2d_2d_2d_2d_2d_2d_.rel deleted file mode 100644 index 99eb6fb4..00000000 --- a/src/nos/lib/messages_lib/018f_1b54__2d_2d_2d_2d_2d_2d_.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4e flags 0 -S ___018f_1b54__2d_2d_2d_2d_2d_2d_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 4c 00 2d 2d 2d 2d 2d 2d 2d 2d 2d -R 00 00 01 00 -T 0b 00 00 00 20 20 2d 2d 2d 2d 2d 2d 20 20 2d -R 00 00 01 00 -T 16 00 00 00 2d 2d 2d 2d 2d 20 20 2d 2d 2d 2d -R 00 00 01 00 -T 21 00 00 00 2d 2d 20 20 2d 2d 2d 2d 2d 2d 20 -R 00 00 01 00 -T 2c 00 00 00 20 2d 2d 2d 2d 2d 2d 20 20 2d 2d -R 00 00 01 00 -T 37 00 00 00 2d 2d 2d 2d 20 20 2d 2d 2d 2d 2d -R 00 00 01 00 -T 42 00 00 00 2d 20 20 2d 2d 2d 2d 2d 2d 20 0a -R 00 00 01 00 -T 4d 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/018f_bba5__25s_3a_20mode_20_2.rel b/src/nos/lib/messages_lib/018f_bba5__25s_3a_20mode_20_2.rel new file mode 100644 index 00000000..652f1a55 --- /dev/null +++ b/src/nos/lib/messages_lib/018f_bba5__25s_3a_20mode_20_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___018f_bba5__25s_3a_20mode_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 25 73 3a 20 6d 6f 64 65 20 +R 00 00 01 00 +T 0b 00 00 00 25 73 20 49 6e 69 74 20 66 61 69 +R 00 00 01 00 +T 16 00 00 00 6c 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0190_3d1a__2d_2d_2d_2d_2d_2d_.rel b/src/nos/lib/messages_lib/0190_3d1a__2d_2d_2d_2d_2d_2d_.rel deleted file mode 100644 index 262c0855..00000000 --- a/src/nos/lib/messages_lib/0190_3d1a__2d_2d_2d_2d_2d_2d_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2a flags 0 -S ___0190_3d1a__2d_2d_2d_2d_2d_2d_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 28 00 2d 2d 2d 2d 2d 2d 2d 2d 2d -R 00 00 01 00 -T 0b 00 00 00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -R 00 00 01 00 -T 16 00 00 00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -R 00 00 01 00 -T 21 00 00 00 2d 2d 2d 2d 2d 2d 2d 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0190_60cc__25s_3a_20not_20a_2.rel b/src/nos/lib/messages_lib/0190_60cc__25s_3a_20not_20a_2.rel new file mode 100644 index 00000000..9a245e2d --- /dev/null +++ b/src/nos/lib/messages_lib/0190_60cc__25s_3a_20not_20a_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0190_60cc__25s_3a_20not_20a_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 25 73 3a 20 6e 6f 74 20 61 +R 00 00 01 00 +T 0b 00 00 00 20 50 50 50 20 69 6e 74 65 72 66 +R 00 00 01 00 +T 16 00 00 00 61 63 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0191_4ed5__25s_3a_20release_5.rel b/src/nos/lib/messages_lib/0191_4ed5__25s_3a_20release_5.rel new file mode 100644 index 00000000..39cb2791 --- /dev/null +++ b/src/nos/lib/messages_lib/0191_4ed5__25s_3a_20release_5.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___0191_4ed5__25s_3a_20release_5 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 25 73 3a 20 72 65 6c 65 61 +R 00 00 01 00 +T 0b 00 00 00 73 65 5f 74 79 70 65 20 65 72 72 +R 00 00 01 00 +T 16 00 00 00 6f 72 20 63 6f 64 65 20 25 75 0a +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0191_8ddf__2d_3e_25s.rel b/src/nos/lib/messages_lib/0191_8ddf__2d_3e_25s.rel deleted file mode 100644 index bde10163..00000000 --- a/src/nos/lib/messages_lib/0191_8ddf__2d_3e_25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0191_8ddf__2d_3e_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 2d 3e 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0192_04ae__25s_3a_20rtt_20_25.rel b/src/nos/lib/messages_lib/0192_04ae__25s_3a_20rtt_20_25.rel new file mode 100644 index 00000000..ed5eeac9 --- /dev/null +++ b/src/nos/lib/messages_lib/0192_04ae__25s_3a_20rtt_20_25.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0192_04ae__25s_3a_20rtt_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 25 73 3a 20 72 74 74 20 25 +R 00 00 01 00 +T 0b 00 00 00 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0192_589d__2d_3e_25s_20ihl_20.rel b/src/nos/lib/messages_lib/0192_589d__2d_3e_25s_20ihl_20.rel deleted file mode 100644 index 61661bfc..00000000 --- a/src/nos/lib/messages_lib/0192_589d__2d_3e_25s_20ihl_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___0192_589d__2d_3e_25s_20ihl_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 2d 3e 25 73 20 69 68 6c 20 -R 00 00 01 00 -T 0b 00 00 00 25 75 20 74 74 6c 20 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0193_db35__25s_3a_20srtt_20_2.rel b/src/nos/lib/messages_lib/0193_db35__25s_3a_20srtt_20_2.rel new file mode 100644 index 00000000..3bdd93ca --- /dev/null +++ b/src/nos/lib/messages_lib/0193_db35__25s_3a_20srtt_20_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___0193_db35__25s_3a_20srtt_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 25 73 3a 20 73 72 74 74 20 +R 00 00 01 00 +T 0b 00 00 00 25 6c 75 20 6d 64 65 76 20 25 6c +R 00 00 01 00 +T 16 00 00 00 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0193_e6c1__2e_0a.rel b/src/nos/lib/messages_lib/0193_e6c1__2e_0a.rel deleted file mode 100644 index 9117f65e..00000000 --- a/src/nos/lib/messages_lib/0193_e6c1__2e_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5 flags 0 -S ___0193_e6c1__2e_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 03 00 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0194_65f3__25s_3c_25ld_40_25s.rel b/src/nos/lib/messages_lib/0194_65f3__25s_3c_25ld_40_25s.rel new file mode 100644 index 00000000..5aed6220 --- /dev/null +++ b/src/nos/lib/messages_lib/0194_65f3__25s_3c_25ld_40_25s.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0194_65f3__25s_3c_25ld_40_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 25 73 3c 25 6c 64 40 25 73 +R 00 00 01 00 +T 0b 00 00 00 3e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0194_ed84__2f_25lu_20ms.rel b/src/nos/lib/messages_lib/0194_ed84__2f_25lu_20ms.rel deleted file mode 100644 index dbabff53..00000000 --- a/src/nos/lib/messages_lib/0194_ed84__2f_25lu_20ms.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0194_ed84__2f_25lu_20ms Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 2f 25 6c 75 20 6d 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0195_6d9b__2f_25lu_20ms_0a.rel b/src/nos/lib/messages_lib/0195_6d9b__2f_25lu_20ms_0a.rel deleted file mode 100644 index 4f5e509d..00000000 --- a/src/nos/lib/messages_lib/0195_6d9b__2f_25lu_20ms_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___0195_6d9b__2f_25lu_20ms_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 2f 25 6c 75 20 6d 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0195_6e45__25s_3e_20_25s_20_2.rel b/src/nos/lib/messages_lib/0195_6e45__25s_3e_20_25s_20_2.rel new file mode 100644 index 00000000..e8d02b9c --- /dev/null +++ b/src/nos/lib/messages_lib/0195_6e45__25s_3e_20_25s_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0195_6e45__25s_3e_20_25s_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 25 73 3e 20 25 73 20 28 25 +R 00 00 01 00 +T 0b 00 00 00 73 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0196_205d__25s_3e_20Invalid_2.rel b/src/nos/lib/messages_lib/0196_205d__25s_3e_20Invalid_2.rel new file mode 100644 index 00000000..8390f4a6 --- /dev/null +++ b/src/nos/lib/messages_lib/0196_205d__25s_3e_20Invalid_2.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 33 flags 0 +S ___0196_205d__25s_3e_20Invalid_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 31 00 25 73 3e 20 49 6e 76 61 6c +R 00 00 01 00 +T 0b 00 00 00 69 64 20 63 6f 6d 6d 61 6e 64 20 +R 00 00 01 00 +T 16 00 00 00 28 43 4f 4e 4e 45 43 54 20 49 44 +R 00 00 01 00 +T 21 00 00 00 45 4e 54 20 4e 4f 44 45 53 20 55 +R 00 00 01 00 +T 2c 00 00 00 53 45 52 53 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0196_a44f__2f_25lu_20ms_3b_20.rel b/src/nos/lib/messages_lib/0196_a44f__2f_25lu_20ms_3b_20.rel deleted file mode 100644 index 86dfc9b4..00000000 --- a/src/nos/lib/messages_lib/0196_a44f__2f_25lu_20ms_3b_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___0196_a44f__2f_25lu_20ms_3b_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 2f 25 6c 75 20 6d 73 3b 20 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0197_096e__2f_25u.rel b/src/nos/lib/messages_lib/0197_096e__2f_25u.rel deleted file mode 100644 index 85b00012..00000000 --- a/src/nos/lib/messages_lib/0197_096e__2f_25u.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0197_096e__2f_25u Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 2f 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0197_c86f__25s_40_25s_0a.rel b/src/nos/lib/messages_lib/0197_c86f__25s_40_25s_0a.rel new file mode 100644 index 00000000..a1cb65d7 --- /dev/null +++ b/src/nos/lib/messages_lib/0197_c86f__25s_40_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0197_c86f__25s_40_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 25 73 40 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0198_82c1__25s_40_25s_3a_0a.rel b/src/nos/lib/messages_lib/0198_82c1__25s_40_25s_3a_0a.rel new file mode 100644 index 00000000..8f4b6e16 --- /dev/null +++ b/src/nos/lib/messages_lib/0198_82c1__25s_40_25s_3a_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0198_82c1__25s_40_25s_3a_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 25 73 40 25 73 3a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0198_96dc__2fEX.rel b/src/nos/lib/messages_lib/0198_96dc__2fEX.rel deleted file mode 100644 index 46398086..00000000 --- a/src/nos/lib/messages_lib/0198_96dc__2fEX.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0198_96dc__2fEX Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 2f 45 58 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0199_79e7_0_25o.rel b/src/nos/lib/messages_lib/0199_79e7_0_25o.rel deleted file mode 100644 index 55664250..00000000 --- a/src/nos/lib/messages_lib/0199_79e7_0_25o.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0199_79e7_0_25o Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 30 25 6f 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0199_9fa6__25sMAILER_2dDAEMON.rel b/src/nos/lib/messages_lib/0199_9fa6__25sMAILER_2dDAEMON.rel new file mode 100644 index 00000000..1ea7d228 --- /dev/null +++ b/src/nos/lib/messages_lib/0199_9fa6__25sMAILER_2dDAEMON.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 30 flags 0 +S ___0199_9fa6__25sMAILER_2dDAEMON Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2e 00 25 73 4d 41 49 4c 45 52 2d +R 00 00 01 00 +T 0b 00 00 00 44 41 45 4d 4f 4e 40 25 73 20 28 +R 00 00 01 00 +T 16 00 00 00 4d 61 69 6c 20 44 65 6c 69 76 65 +R 00 00 01 00 +T 21 00 00 00 72 79 20 53 75 62 73 79 73 74 65 +R 00 00 01 00 +T 2c 00 00 00 6d 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/019a_8157_007Incoming_20_25s_.rel b/src/nos/lib/messages_lib/019a_8157_007Incoming_20_25s_.rel deleted file mode 100644 index 9b277dae..00000000 --- a/src/nos/lib/messages_lib/019a_8157_007Incoming_20_25s_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___019a_8157_007Incoming_20_25s_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 30 30 37 49 6e 63 6f 6d 69 -R 00 00 01 00 -T 0b 00 00 00 6e 67 20 25 73 20 73 65 73 73 69 -R 00 00 01 00 -T 16 00 00 00 6f 6e 20 25 75 20 66 72 6f 6d 20 -R 00 00 01 00 -T 21 00 00 00 25 73 30 30 37 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/019a_c284__25sR_0a.rel b/src/nos/lib/messages_lib/019a_c284__25sR_0a.rel new file mode 100644 index 00000000..6447d76f --- /dev/null +++ b/src/nos/lib/messages_lib/019a_c284__25sR_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___019a_c284__25sR_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 25 73 52 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/019b_2293__25u_0a.rel b/src/nos/lib/messages_lib/019b_2293__25u_0a.rel new file mode 100644 index 00000000..a03946ea --- /dev/null +++ b/src/nos/lib/messages_lib/019b_2293__25u_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___019b_2293__25u_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/019b_b04e_0x_2503x_20_20_20_2.rel b/src/nos/lib/messages_lib/019b_b04e_0x_2503x_20_20_20_2.rel deleted file mode 100644 index 2a5c903f..00000000 --- a/src/nos/lib/messages_lib/019b_b04e_0x_2503x_20_20_20_2.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3e flags 0 -S ___019b_b04e_0x_2503x_20_20_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 3c 00 30 78 25 30 33 78 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 20 25 20 38 6c 75 25 20 38 6c 75 -R 00 00 01 00 -T 16 00 00 00 25 20 38 6c 75 25 20 38 75 25 20 -R 00 00 01 00 -T 21 00 00 00 38 75 25 20 38 75 25 20 38 75 25 -R 00 00 01 00 -T 2c 00 00 00 20 38 75 0a 52 63 76 20 53 74 61 -R 00 00 01 00 -T 37 00 00 00 74 65 3d 25 73 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/019c_3f3a_0x_2504x_0a.rel b/src/nos/lib/messages_lib/019c_3f3a_0x_2504x_0a.rel deleted file mode 100644 index 2f4e3cae..00000000 --- a/src/nos/lib/messages_lib/019c_3f3a_0x_2504x_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___019c_3f3a_0x_2504x_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 30 78 25 30 34 78 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/019c_c0bd__25u_20additional_3.rel b/src/nos/lib/messages_lib/019c_c0bd__25u_20additional_3.rel new file mode 100644 index 00000000..d45cd65c --- /dev/null +++ b/src/nos/lib/messages_lib/019c_c0bd__25u_20additional_3.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___019c_c0bd__25u_20additional_3 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 25 75 20 61 64 64 69 74 69 +R 00 00 01 00 +T 0b 00 00 00 6f 6e 61 6c 3a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/019d_7db0__25u_20answers_3a_0.rel b/src/nos/lib/messages_lib/019d_7db0__25u_20answers_3a_0.rel new file mode 100644 index 00000000..7d7df805 --- /dev/null +++ b/src/nos/lib/messages_lib/019d_7db0__25u_20answers_3a_0.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___019d_7db0__25u_20answers_3a_0 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 25 75 20 61 6e 73 77 65 72 +R 00 00 01 00 +T 0b 00 00 00 73 3a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/019d_8308_0x_2508lx_0a.rel b/src/nos/lib/messages_lib/019d_8308_0x_2508lx_0a.rel deleted file mode 100644 index 908257a8..00000000 --- a/src/nos/lib/messages_lib/019d_8308_0x_2508lx_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___019d_8308_0x_2508lx_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 30 78 25 30 38 6c 78 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/019e_7c48__25u_20authority_3a.rel b/src/nos/lib/messages_lib/019e_7c48__25u_20authority_3a.rel new file mode 100644 index 00000000..60b2c370 --- /dev/null +++ b/src/nos/lib/messages_lib/019e_7c48__25u_20authority_3a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___019e_7c48__25u_20authority_3a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 25 75 20 61 75 74 68 6f 72 +R 00 00 01 00 +T 0b 00 00 00 69 74 79 3a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/019e_ab8d_0x_25x.rel b/src/nos/lib/messages_lib/019e_ab8d_0x_25x.rel deleted file mode 100644 index b2f800e0..00000000 --- a/src/nos/lib/messages_lib/019e_ab8d_0x_25x.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___019e_ab8d_0x_25x Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 30 78 25 78 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/019f_6f63_0x_25x_09_09_25ld_0.rel b/src/nos/lib/messages_lib/019f_6f63_0x_25x_09_09_25ld_0.rel deleted file mode 100644 index dfcd1938..00000000 --- a/src/nos/lib/messages_lib/019f_6f63_0x_25x_09_09_25ld_0.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 31 flags 0 -S ___019f_6f63_0x_25x_09_09_25ld_0 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2f 00 30 78 25 78 09 09 25 6c 64 -R 00 00 01 00 -T 0b 00 00 00 09 25 6c 64 09 25 6c 64 09 25 64 -R 00 00 01 00 -T 16 00 00 00 09 25 64 09 25 64 09 25 64 09 25 -R 00 00 01 00 -T 21 00 00 00 64 0a 52 63 76 20 53 74 61 74 65 -R 00 00 01 00 -T 2c 00 00 00 3d 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/019f_b843__25u_20questions_3a.rel b/src/nos/lib/messages_lib/019f_b843__25u_20questions_3a.rel new file mode 100644 index 00000000..fee75057 --- /dev/null +++ b/src/nos/lib/messages_lib/019f_b843__25u_20questions_3a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___019f_b843__25u_20questions_3a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 25 75 20 71 75 65 73 74 69 +R 00 00 01 00 +T 0b 00 00 00 6f 6e 73 3a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a0_af86__25u_3a_20calls_20_.rel b/src/nos/lib/messages_lib/01a0_af86__25u_3a_20calls_20_.rel new file mode 100644 index 00000000..0086724d --- /dev/null +++ b/src/nos/lib/messages_lib/01a0_af86__25u_3a_20calls_20_.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 31 flags 0 +S ___01a0_af86__25u_3a_20calls_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2f 00 25 75 3a 20 63 61 6c 6c 73 +R 00 00 01 00 +T 0b 00 00 00 20 25 6c 75 20 6d 69 6e 20 25 6c +R 00 00 01 00 +T 16 00 00 00 75 20 6d 61 78 20 25 6c 75 20 61 +R 00 00 01 00 +T 21 00 00 00 76 67 20 25 6c 75 20 74 6f 74 20 +R 00 00 01 00 +T 2c 00 00 00 25 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a0_fea8_0x_25x_09_09_25ld_0.rel b/src/nos/lib/messages_lib/01a0_fea8_0x_25x_09_09_25ld_0.rel deleted file mode 100644 index 35e16897..00000000 --- a/src/nos/lib/messages_lib/01a0_fea8_0x_25x_09_09_25ld_0.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 32 flags 0 -S ___01a0_fea8_0x_25x_09_09_25ld_0 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 30 00 30 78 25 78 09 09 25 6c 64 -R 00 00 01 00 -T 0b 00 00 00 09 25 6c 64 09 25 6c 64 09 25 64 -R 00 00 01 00 -T 16 00 00 00 09 25 64 09 25 64 09 25 64 09 25 -R 00 00 01 00 -T 21 00 00 00 64 0a 52 63 76 20 53 74 61 74 65 -R 00 00 01 00 -T 2c 00 00 00 3d 25 73 0a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a1_52fc__25x.rel b/src/nos/lib/messages_lib/01a1_52fc__25x.rel new file mode 100644 index 00000000..0dc92308 --- /dev/null +++ b/src/nos/lib/messages_lib/01a1_52fc__25x.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 5 flags 0 +S ___01a1_52fc__25x Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 03 00 25 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a1_f01c_0x_25x_0a.rel b/src/nos/lib/messages_lib/01a1_f01c_0x_25x_0a.rel deleted file mode 100644 index 92019b39..00000000 --- a/src/nos/lib/messages_lib/01a1_f01c_0x_25x_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___01a1_f01c_0x_25x_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 30 78 25 78 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a2_b099__26AXB_20_20_20_20_.rel b/src/nos/lib/messages_lib/01a2_b099__26AXB_20_20_20_20_.rel new file mode 100644 index 00000000..c9d4cd42 --- /dev/null +++ b/src/nos/lib/messages_lib/01a2_b099__26AXB_20_20_20_20_.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2d flags 0 +S ___01a2_b099__26AXB_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2b 00 26 41 58 42 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 20 53 6e 64 2d 51 20 20 20 52 63 +R 00 00 01 00 +T 16 00 00 00 76 2d 51 20 20 20 52 65 6d 6f 74 +R 00 00 01 00 +T 21 00 00 00 65 20 20 20 20 53 74 61 74 65 0a +R 00 00 01 00 +T 2c 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a2_d635_100_20Warning_3a_20.rel b/src/nos/lib/messages_lib/01a2_d635_100_20Warning_3a_20.rel deleted file mode 100644 index 0b91e4e9..00000000 --- a/src/nos/lib/messages_lib/01a2_d635_100_20Warning_3a_20.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3a flags 0 -S ___01a2_d635_100_20Warning_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 38 00 31 30 30 20 57 61 72 6e 69 -R 00 00 01 00 -T 0b 00 00 00 6e 67 3a 20 74 79 70 65 20 69 73 -R 00 00 01 00 -T 16 00 00 00 20 41 53 43 49 49 20 61 6e 64 20 -R 00 00 01 00 -T 21 00 00 00 25 73 20 61 70 70 65 61 72 73 20 -R 00 00 01 00 -T 2c 00 00 00 74 6f 20 62 65 20 62 69 6e 61 72 -R 00 00 01 00 -T 37 00 00 00 79 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a3_3f47_150_20Opening_20dat.rel b/src/nos/lib/messages_lib/01a3_3f47_150_20Opening_20dat.rel deleted file mode 100644 index c539cf4f..00000000 --- a/src/nos/lib/messages_lib/01a3_3f47_150_20Opening_20dat.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 29 flags 0 -S ___01a3_3f47_150_20Opening_20dat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 27 00 31 35 30 20 4f 70 65 6e 69 -R 00 00 01 00 -T 0b 00 00 00 6e 67 20 64 61 74 61 20 63 6f 6e -R 00 00 01 00 -T 16 00 00 00 6e 65 63 74 69 6f 6e 20 66 6f 72 -R 00 00 01 00 -T 21 00 00 00 20 25 73 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a3_7bf6__26CB_20_20_20_20_2.rel b/src/nos/lib/messages_lib/01a3_7bf6__26CB_20_20_20_20_2.rel new file mode 100644 index 00000000..e57706d3 --- /dev/null +++ b/src/nos/lib/messages_lib/01a3_7bf6__26CB_20_20_20_20_2.rel @@ -0,0 +1,22 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 44 flags 0 +S ___01a3_7bf6__26CB_20_20_20_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 42 00 26 43 42 20 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 20 53 6e 64 2d 57 20 53 6e 64 2d +R 00 00 01 00 +T 16 00 00 00 51 20 52 63 76 2d 51 20 20 20 20 +R 00 00 01 00 +T 21 00 00 00 20 4c 55 73 65 72 20 20 20 20 20 +R 00 00 01 00 +T 2c 00 00 00 20 52 55 73 65 72 20 40 4e 6f 64 +R 00 00 01 00 +T 37 00 00 00 65 20 20 20 20 20 53 74 61 74 65 +R 00 00 01 00 +T 42 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a4_67ab_200_20.rel b/src/nos/lib/messages_lib/01a4_67ab_200_20.rel deleted file mode 100644 index 14da0f6f..00000000 --- a/src/nos/lib/messages_lib/01a4_67ab_200_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___01a4_67ab_200_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 32 30 30 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a4_c497__26TCB_20_20_20_20_.rel b/src/nos/lib/messages_lib/01a4_c497__26TCB_20_20_20_20_.rel new file mode 100644 index 00000000..ca1c4ab3 --- /dev/null +++ b/src/nos/lib/messages_lib/01a4_c497__26TCB_20_20_20_20_.rel @@ -0,0 +1,24 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 4e flags 0 +S ___01a4_c497__26TCB_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 4c 00 26 54 43 42 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 20 52 63 76 2d 51 20 53 6e 64 2d +R 00 00 01 00 +T 16 00 00 00 51 20 20 4c 6f 63 61 6c 20 73 6f +R 00 00 01 00 +T 21 00 00 00 63 6b 65 74 20 20 20 20 20 20 20 +R 00 00 01 00 +T 2c 00 00 00 20 20 20 20 52 65 6d 6f 74 65 20 +R 00 00 01 00 +T 37 00 00 00 73 6f 63 6b 65 74 20 20 20 20 20 +R 00 00 01 00 +T 42 00 00 00 20 20 20 20 20 53 74 61 74 65 0a +R 00 00 01 00 +T 4d 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a5_cc8d_200_20MKD_20ok_0a.rel b/src/nos/lib/messages_lib/01a5_cc8d_200_20MKD_20ok_0a.rel deleted file mode 100644 index ab913726..00000000 --- a/src/nos/lib/messages_lib/01a5_cc8d_200_20MKD_20ok_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___01a5_cc8d_200_20MKD_20ok_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 32 30 30 20 4d 4b 44 20 6f -R 00 00 01 00 -T 0b 00 00 00 6b 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a5_f73b__26UCB_20_20_20_20_.rel b/src/nos/lib/messages_lib/01a5_f73b__26UCB_20_20_20_20_.rel new file mode 100644 index 00000000..764b63b6 --- /dev/null +++ b/src/nos/lib/messages_lib/01a5_f73b__26UCB_20_20_20_20_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___01a5_f73b__26UCB_20_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 26 55 43 42 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 20 52 63 76 2d 51 20 20 4c 6f 63 +R 00 00 01 00 +T 16 00 00 00 61 6c 20 73 6f 63 6b 65 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a6_6c3a_200_20Ok_0a.rel b/src/nos/lib/messages_lib/01a6_6c3a_200_20Ok_0a.rel deleted file mode 100644 index 0be5d269..00000000 --- a/src/nos/lib/messages_lib/01a6_6c3a_200_20Ok_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___01a6_6c3a_200_20Ok_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 32 30 30 20 4f 6b 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a6_aa89__27_25c_27_0a.rel b/src/nos/lib/messages_lib/01a6_aa89__27_25c_27_0a.rel new file mode 100644 index 00000000..c4c41587 --- /dev/null +++ b/src/nos/lib/messages_lib/01a6_aa89__27_25c_27_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___01a6_aa89__27_25c_27_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 27 25 63 27 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a7_a2cd__28.rel b/src/nos/lib/messages_lib/01a7_a2cd__28.rel new file mode 100644 index 00000000..9d58bbcc --- /dev/null +++ b/src/nos/lib/messages_lib/01a7_a2cd__28.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 4 flags 0 +S ___01a7_a2cd__28 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 02 00 28 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a7_ba32_200_20Port_20comman.rel b/src/nos/lib/messages_lib/01a7_ba32_200_20Port_20comman.rel deleted file mode 100644 index bf73ab7c..00000000 --- a/src/nos/lib/messages_lib/01a7_ba32_200_20Port_20comman.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___01a7_ba32_200_20Port_20comman Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 32 30 30 20 50 6f 72 74 20 -R 00 00 01 00 -T 0b 00 00 00 63 6f 6d 6d 61 6e 64 20 6f 6b 61 -R 00 00 01 00 -T 16 00 00 00 79 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a8_1db7_200_20Type_20_25s_2.rel b/src/nos/lib/messages_lib/01a8_1db7_200_20Type_20_25s_2.rel deleted file mode 100644 index 14c190bb..00000000 --- a/src/nos/lib/messages_lib/01a8_1db7_200_20Type_20_25s_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___01a8_1db7_200_20Type_20_25s_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 32 30 30 20 54 79 70 65 20 -R 00 00 01 00 -T 0b 00 00 00 25 73 20 4f 4b 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a8_ba4c__28_252u_29_25_2d20.rel b/src/nos/lib/messages_lib/01a8_ba4c__28_252u_29_25_2d20.rel new file mode 100644 index 00000000..7b4930f2 --- /dev/null +++ b/src/nos/lib/messages_lib/01a8_ba4c__28_252u_29_25_2d20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___01a8_ba4c__28_252u_29_25_2d20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 28 25 32 75 29 25 2d 32 30 +R 00 00 01 00 +T 0b 00 00 00 73 25 31 30 6c 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a9_1192_215_20_25s_20Type_3.rel b/src/nos/lib/messages_lib/01a9_1192_215_20_25s_20Type_3.rel deleted file mode 100644 index 5263c9ae..00000000 --- a/src/nos/lib/messages_lib/01a9_1192_215_20_25s_20Type_3.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___01a9_1192_215_20_25s_20Type_3 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 32 31 35 20 25 73 20 54 79 -R 00 00 01 00 -T 0b 00 00 00 70 65 3a 20 4c 25 64 20 56 65 72 -R 00 00 01 00 -T 16 00 00 00 73 69 6f 6e 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01a9_52bf__28F_29.rel b/src/nos/lib/messages_lib/01a9_52bf__28F_29.rel new file mode 100644 index 00000000..c865ad65 --- /dev/null +++ b/src/nos/lib/messages_lib/01a9_52bf__28F_29.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___01a9_52bf__28F_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 28 46 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01aa_01fe_220_20_25s_20FTP_20.rel b/src/nos/lib/messages_lib/01aa_01fe_220_20_25s_20FTP_20.rel deleted file mode 100644 index 5d7ec08f..00000000 --- a/src/nos/lib/messages_lib/01aa_01fe_220_20_25s_20FTP_20.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___01aa_01fe_220_20_25s_20FTP_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 32 32 30 20 25 73 20 46 54 -R 00 00 01 00 -T 0b 00 00 00 50 20 76 65 72 73 69 6f 6e 20 25 -R 00 00 01 00 -T 16 00 00 00 73 20 72 65 61 64 79 20 61 74 20 -R 00 00 01 00 -T 21 00 00 00 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01aa_93fe__28P_29.rel b/src/nos/lib/messages_lib/01aa_93fe__28P_29.rel new file mode 100644 index 00000000..96f41009 --- /dev/null +++ b/src/nos/lib/messages_lib/01aa_93fe__28P_29.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___01aa_93fe__28P_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 28 50 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ab_38a6__28P_2fF_29.rel b/src/nos/lib/messages_lib/01ab_38a6__28P_2fF_29.rel new file mode 100644 index 00000000..6c9c431f --- /dev/null +++ b/src/nos/lib/messages_lib/01ab_38a6__28P_2fF_29.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___01ab_38a6__28P_2fF_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 28 50 2f 46 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ab_7804_221_20Goodbye_21_0a.rel b/src/nos/lib/messages_lib/01ab_7804_221_20Goodbye_21_0a.rel deleted file mode 100644 index 0080dfbc..00000000 --- a/src/nos/lib/messages_lib/01ab_7804_221_20Goodbye_21_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___01ab_7804_221_20Goodbye_21_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 32 32 31 20 47 6f 6f 64 62 -R 00 00 01 00 -T 0b 00 00 00 79 65 21 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ac_3f54_226_20File_20receiv.rel b/src/nos/lib/messages_lib/01ac_3f54_226_20File_20receiv.rel deleted file mode 100644 index e3f91a05..00000000 --- a/src/nos/lib/messages_lib/01ac_3f54_226_20File_20receiv.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___01ac_3f54_226_20File_20receiv Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 32 32 36 20 46 69 6c 65 20 -R 00 00 01 00 -T 0b 00 00 00 72 65 63 65 69 76 65 64 20 4f 4b -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ac_7b70__28compressed_20ALL.rel b/src/nos/lib/messages_lib/01ac_7b70__28compressed_20ALL.rel new file mode 100644 index 00000000..3ce06df3 --- /dev/null +++ b/src/nos/lib/messages_lib/01ac_7b70__28compressed_20ALL.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___01ac_7b70__28compressed_20ALL Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 28 63 6f 6d 70 72 65 73 73 +R 00 00 01 00 +T 0b 00 00 00 65 64 20 41 4c 4c 2f 55 49 29 09 +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ad_c1c3__28hopcheck_29_20IC.rel b/src/nos/lib/messages_lib/01ad_c1c3__28hopcheck_29_20IC.rel new file mode 100644 index 00000000..774a6cfc --- /dev/null +++ b/src/nos/lib/messages_lib/01ad_c1c3__28hopcheck_29_20IC.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___01ad_c1c3__28hopcheck_29_20IC Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 28 68 6f 70 63 68 65 63 6b +R 00 00 01 00 +T 0b 00 00 00 29 20 49 43 4d 50 20 66 72 6f 6d +R 00 00 01 00 +T 16 00 00 00 20 25 73 20 28 25 6c 64 6d 73 29 +R 00 00 01 00 +T 21 00 00 00 20 25 73 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ad_caea_226_20File_20sent_2.rel b/src/nos/lib/messages_lib/01ad_caea_226_20File_20sent_2.rel deleted file mode 100644 index ad2b605f..00000000 --- a/src/nos/lib/messages_lib/01ad_caea_226_20File_20sent_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___01ad_caea_226_20File_20sent_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 32 32 36 20 46 69 6c 65 20 -R 00 00 01 00 -T 0b 00 00 00 73 65 6e 74 20 4f 4b 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ae_565f__28missing_20UI_21_.rel b/src/nos/lib/messages_lib/01ae_565f__28missing_20UI_21_.rel new file mode 100644 index 00000000..38c9efce --- /dev/null +++ b/src/nos/lib/messages_lib/01ae_565f__28missing_20UI_21_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___01ae_565f__28missing_20UI_21_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 28 6d 69 73 73 69 6e 67 20 +R 00 00 01 00 +T 0b 00 00 00 55 49 21 29 09 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ae_9fe8_230_20Logged_20in_0.rel b/src/nos/lib/messages_lib/01ae_9fe8_230_20Logged_20in_0.rel deleted file mode 100644 index d7d0cc3e..00000000 --- a/src/nos/lib/messages_lib/01ae_9fe8_230_20Logged_20in_0.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___01ae_9fe8_230_20Logged_20in_0 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 32 33 30 20 4c 6f 67 67 65 -R 00 00 01 00 -T 0b 00 00 00 64 20 69 6e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01af_55db_250_20_25s_0a.rel b/src/nos/lib/messages_lib/01af_55db_250_20_25s_0a.rel deleted file mode 100644 index d9bd6541..00000000 --- a/src/nos/lib/messages_lib/01af_55db_250_20_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___01af_55db_250_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 32 35 30 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01af_f935__28not_20odd_21_29_.rel b/src/nos/lib/messages_lib/01af_f935__28not_20odd_21_29_.rel new file mode 100644 index 00000000..915442f5 --- /dev/null +++ b/src/nos/lib/messages_lib/01af_f935__28not_20odd_21_29_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___01af_f935__28not_20odd_21_29_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 28 6e 6f 74 20 6f 64 64 21 +R 00 00 01 00 +T 0b 00 00 00 29 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b0_abc9__29_0a.rel b/src/nos/lib/messages_lib/01b0_abc9__29_0a.rel new file mode 100644 index 00000000..9a597bc0 --- /dev/null +++ b/src/nos/lib/messages_lib/01b0_abc9__29_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 5 flags 0 +S ___01b0_abc9__29_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 03 00 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b0_c720_250_20File_20delete.rel b/src/nos/lib/messages_lib/01b0_c720_250_20File_20delete.rel deleted file mode 100644 index 5cd16680..00000000 --- a/src/nos/lib/messages_lib/01b0_c720_250_20File_20delete.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___01b0_c720_250_20File_20delete Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 32 35 30 20 46 69 6c 65 20 -R 00 00 01 00 -T 0b 00 00 00 64 65 6c 65 74 65 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b1_bfa2__2a_2a_20smtp_3a_20.rel b/src/nos/lib/messages_lib/01b1_bfa2__2a_2a_20smtp_3a_20.rel new file mode 100644 index 00000000..16610119 --- /dev/null +++ b/src/nos/lib/messages_lib/01b1_bfa2__2a_2a_20smtp_3a_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___01b1_bfa2__2a_2a_20smtp_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 2a 2a 20 73 6d 74 70 3a 20 +R 00 00 01 00 +T 0b 00 00 00 55 6e 6b 6e 6f 77 6e 20 61 64 64 +R 00 00 01 00 +T 16 00 00 00 72 65 73 73 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b1_de54_250_2d_25s_0a.rel b/src/nos/lib/messages_lib/01b1_de54_250_2d_25s_0a.rel deleted file mode 100644 index cf17a2c6..00000000 --- a/src/nos/lib/messages_lib/01b1_de54_250_2d_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___01b1_de54_250_2d_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 32 35 30 2d 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b2_1969__2a_2a_2a.rel b/src/nos/lib/messages_lib/01b2_1969__2a_2a_2a.rel new file mode 100644 index 00000000..d7163b2d --- /dev/null +++ b/src/nos/lib/messages_lib/01b2_1969__2a_2a_2a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___01b2_1969__2a_2a_2a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 2a 2a 2a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b2_9400_257_20_22_25s_22_20.rel b/src/nos/lib/messages_lib/01b2_9400_257_20_22_25s_22_20.rel deleted file mode 100644 index 9f373ec1..00000000 --- a/src/nos/lib/messages_lib/01b2_9400_257_20_22_25s_22_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21 flags 0 -S ___01b2_9400_257_20_22_25s_22_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1f 00 32 35 37 20 22 25 73 22 20 -R 00 00 01 00 -T 0b 00 00 00 69 73 20 63 75 72 72 65 6e 74 20 -R 00 00 01 00 -T 16 00 00 00 64 69 72 65 63 74 6f 72 79 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b3_24f1_331_20Enter_20PASS_.rel b/src/nos/lib/messages_lib/01b3_24f1_331_20Enter_20PASS_.rel deleted file mode 100644 index 27e1fe8a..00000000 --- a/src/nos/lib/messages_lib/01b3_24f1_331_20Enter_20PASS_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___01b3_24f1_331_20Enter_20PASS_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 33 33 31 20 45 6e 74 65 72 -R 00 00 01 00 -T 0b 00 00 00 20 50 41 53 53 20 63 6f 6d 6d 61 -R 00 00 01 00 -T 16 00 00 00 6e 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b3_a448__2a_2a_2a_20Done_0a.rel b/src/nos/lib/messages_lib/01b3_a448__2a_2a_2a_20Done_0a.rel new file mode 100644 index 00000000..19046826 --- /dev/null +++ b/src/nos/lib/messages_lib/01b3_a448__2a_2a_2a_20Done_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___01b3_a448__2a_2a_2a_20Done_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 2a 2a 2a 20 44 6f 6e 65 0a +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b4_273f_421_20System_20over.rel b/src/nos/lib/messages_lib/01b4_273f_421_20System_20over.rel deleted file mode 100644 index 54b835e4..00000000 --- a/src/nos/lib/messages_lib/01b4_273f_421_20System_20over.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2a flags 0 -S ___01b4_273f_421_20System_20over Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 28 00 34 32 31 20 53 79 73 74 65 -R 00 00 01 00 -T 0b 00 00 00 6d 20 6f 76 65 72 6c 6f 61 64 65 -R 00 00 01 00 -T 16 00 00 00 64 2c 20 74 72 79 20 61 67 61 69 -R 00 00 01 00 -T 21 00 00 00 6e 20 6c 61 74 65 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b4_c993__2a_2a_2a_20Unable_.rel b/src/nos/lib/messages_lib/01b4_c993__2a_2a_2a_20Unable_.rel new file mode 100644 index 00000000..d990a432 --- /dev/null +++ b/src/nos/lib/messages_lib/01b4_c993__2a_2a_2a_20Unable_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___01b4_c993__2a_2a_2a_20Unable_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 2a 2a 2a 20 55 6e 61 62 6c +R 00 00 01 00 +T 0b 00 00 00 65 20 74 6f 20 61 6c 6c 6f 63 61 +R 00 00 01 00 +T 16 00 00 00 74 65 20 43 43 42 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b5_b489__2a_2a_2a_2a_2a_2a_.rel b/src/nos/lib/messages_lib/01b5_b489__2a_2a_2a_2a_2a_2a_.rel new file mode 100644 index 00000000..d3c9f7ba --- /dev/null +++ b/src/nos/lib/messages_lib/01b5_b489__2a_2a_2a_2a_2a_2a_.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___01b5_b489__2a_2a_2a_2a_2a_2a_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 2a 2a 2a 2a 2a 2a 2a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b5_e43d_425_20Data_20connec.rel b/src/nos/lib/messages_lib/01b5_e43d_425_20Data_20connec.rel deleted file mode 100644 index 09c85d35..00000000 --- a/src/nos/lib/messages_lib/01b5_e43d_425_20Data_20connec.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___01b5_e43d_425_20Data_20connec Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 34 32 35 20 44 61 74 61 20 -R 00 00 01 00 -T 0b 00 00 00 63 6f 6e 6e 65 63 74 69 6f 6e 20 -R 00 00 01 00 -T 16 00 00 00 72 65 73 65 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b6_5b29__2c_20.rel b/src/nos/lib/messages_lib/01b6_5b29__2c_20.rel new file mode 100644 index 00000000..993ae2a9 --- /dev/null +++ b/src/nos/lib/messages_lib/01b6_5b29__2c_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 5 flags 0 +S ___01b6_5b29__2c_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 03 00 2c 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b6_7e66_500_20Unknown_20com.rel b/src/nos/lib/messages_lib/01b6_7e66_500_20Unknown_20com.rel deleted file mode 100644 index 7aca7965..00000000 --- a/src/nos/lib/messages_lib/01b6_7e66_500_20Unknown_20com.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___01b6_7e66_500_20Unknown_20com Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 35 30 30 20 55 6e 6b 6e 6f -R 00 00 01 00 -T 0b 00 00 00 77 6e 20 63 6f 6d 6d 61 6e 64 20 -R 00 00 01 00 -T 16 00 00 00 27 25 73 27 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b7_1a71__2c_20err_20_25d.rel b/src/nos/lib/messages_lib/01b7_1a71__2c_20err_20_25d.rel new file mode 100644 index 00000000..cd133285 --- /dev/null +++ b/src/nos/lib/messages_lib/01b7_1a71__2c_20err_20_25d.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___01b7_1a71__2c_20err_20_25d Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 2c 20 65 72 72 20 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b7_3d39_500_20Unsupported_2.rel b/src/nos/lib/messages_lib/01b7_3d39_500_20Unsupported_2.rel deleted file mode 100644 index 39dab780..00000000 --- a/src/nos/lib/messages_lib/01b7_3d39_500_20Unsupported_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___01b7_3d39_500_20Unsupported_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 35 30 30 20 55 6e 73 75 70 -R 00 00 01 00 -T 0b 00 00 00 70 6f 72 74 65 64 20 63 6f 6d 6d -R 00 00 01 00 -T 16 00 00 00 61 6e 64 20 6f 72 20 6f 70 74 69 -R 00 00 01 00 -T 21 00 00 00 6f 6e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b8_099c__2d_2d_2d_2d_2d_20E.rel b/src/nos/lib/messages_lib/01b8_099c__2d_2d_2d_2d_2d_20E.rel new file mode 100644 index 00000000..d972cb3b --- /dev/null +++ b/src/nos/lib/messages_lib/01b8_099c__2d_2d_2d_2d_2d_20E.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___01b8_099c__2d_2d_2d_2d_2d_20E Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 2d 2d 2d 2d 2d 20 45 6e 64 +R 00 00 01 00 +T 0b 00 00 00 20 6f 66 20 66 6f 72 77 61 72 64 +R 00 00 01 00 +T 16 00 00 00 65 64 20 6d 65 73 73 61 67 65 20 +R 00 00 01 00 +T 21 00 00 00 2d 2d 2d 2d 2d 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b8_fe7e_501_20Bad_20port_20.rel b/src/nos/lib/messages_lib/01b8_fe7e_501_20Bad_20port_20.rel deleted file mode 100644 index 0f65b027..00000000 --- a/src/nos/lib/messages_lib/01b8_fe7e_501_20Bad_20port_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___01b8_fe7e_501_20Bad_20port_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 35 30 31 20 42 61 64 20 70 -R 00 00 01 00 -T 0b 00 00 00 6f 72 74 20 73 79 6e 74 61 78 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b9_01ea__2d_2d_2d_2d_2d_20F.rel b/src/nos/lib/messages_lib/01b9_01ea__2d_2d_2d_2d_2d_20F.rel new file mode 100644 index 00000000..1e60e263 --- /dev/null +++ b/src/nos/lib/messages_lib/01b9_01ea__2d_2d_2d_2d_2d_20F.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___01b9_01ea__2d_2d_2d_2d_2d_20F Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 2d 2d 2d 2d 2d 20 46 6f 72 +R 00 00 01 00 +T 0b 00 00 00 77 61 72 64 65 64 20 6d 65 73 73 +R 00 00 01 00 +T 16 00 00 00 61 67 65 20 2d 2d 2d 2d 2d 0a 0a +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01b9_065e_501_20Only_20logica.rel b/src/nos/lib/messages_lib/01b9_065e_501_20Only_20logica.rel deleted file mode 100644 index e40e0136..00000000 --- a/src/nos/lib/messages_lib/01b9_065e_501_20Only_20logica.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 29 flags 0 -S ___01b9_065e_501_20Only_20logica Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 27 00 35 30 31 20 4f 6e 6c 79 20 -R 00 00 01 00 -T 0b 00 00 00 6c 6f 67 69 63 61 6c 20 62 79 74 -R 00 00 01 00 -T 16 00 00 00 65 73 69 7a 65 20 38 20 73 75 70 -R 00 00 01 00 -T 21 00 00 00 70 6f 72 74 65 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ba_04ae__2d_2d_2d_2d_2d_2d_.rel b/src/nos/lib/messages_lib/01ba_04ae__2d_2d_2d_2d_2d_2d_.rel new file mode 100644 index 00000000..2273fdf4 --- /dev/null +++ b/src/nos/lib/messages_lib/01ba_04ae__2d_2d_2d_2d_2d_2d_.rel @@ -0,0 +1,22 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 47 flags 0 +S ___01ba_04ae__2d_2d_2d_2d_2d_2d_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 45 00 2d 2d 2d 2d 2d 2d 2d 2d 2d +R 00 00 01 00 +T 0b 00 00 00 09 2d 2d 2d 2d 2d 2d 09 2d 2d 2d +R 00 00 01 00 +T 16 00 00 00 2d 2d 2d 09 2d 2d 2d 2d 2d 2d 09 +R 00 00 01 00 +T 21 00 00 00 2d 2d 2d 2d 2d 2d 09 2d 2d 2d 2d +R 00 00 01 00 +T 2c 00 00 00 2d 2d 09 2d 2d 2d 2d 2d 2d 09 2d +R 00 00 01 00 +T 37 00 00 00 2d 2d 2d 2d 2d 2d 09 2d 2d 2d 2d +R 00 00 01 00 +T 42 00 00 00 2d 2d 2d 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ba_a2bf_501_20Unknown_20typ.rel b/src/nos/lib/messages_lib/01ba_a2bf_501_20Unknown_20typ.rel deleted file mode 100644 index 3d094eeb..00000000 --- a/src/nos/lib/messages_lib/01ba_a2bf_501_20Unknown_20typ.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___01ba_a2bf_501_20Unknown_20typ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 35 30 31 20 55 6e 6b 6e 6f -R 00 00 01 00 -T 0b 00 00 00 77 6e 20 74 79 70 65 20 22 25 73 -R 00 00 01 00 -T 16 00 00 00 22 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01bb_1b54__2d_2d_2d_2d_2d_2d_.rel b/src/nos/lib/messages_lib/01bb_1b54__2d_2d_2d_2d_2d_2d_.rel new file mode 100644 index 00000000..72057036 --- /dev/null +++ b/src/nos/lib/messages_lib/01bb_1b54__2d_2d_2d_2d_2d_2d_.rel @@ -0,0 +1,24 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 4e flags 0 +S ___01bb_1b54__2d_2d_2d_2d_2d_2d_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 4c 00 2d 2d 2d 2d 2d 2d 2d 2d 2d +R 00 00 01 00 +T 0b 00 00 00 20 20 2d 2d 2d 2d 2d 2d 20 20 2d +R 00 00 01 00 +T 16 00 00 00 2d 2d 2d 2d 2d 20 20 2d 2d 2d 2d +R 00 00 01 00 +T 21 00 00 00 2d 2d 20 20 2d 2d 2d 2d 2d 2d 20 +R 00 00 01 00 +T 2c 00 00 00 20 2d 2d 2d 2d 2d 2d 20 20 2d 2d +R 00 00 01 00 +T 37 00 00 00 2d 2d 2d 2d 20 20 2d 2d 2d 2d 2d +R 00 00 01 00 +T 42 00 00 00 2d 20 20 2d 2d 2d 2d 2d 2d 20 0a +R 00 00 01 00 +T 4d 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01bb_41cf_502_20Command_20not.rel b/src/nos/lib/messages_lib/01bb_41cf_502_20Command_20not.rel deleted file mode 100644 index e5613561..00000000 --- a/src/nos/lib/messages_lib/01bb_41cf_502_20Command_20not.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___01bb_41cf_502_20Command_20not Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 35 30 32 20 43 6f 6d 6d 61 -R 00 00 01 00 -T 0b 00 00 00 6e 64 20 6e 6f 74 20 79 65 74 20 -R 00 00 01 00 -T 16 00 00 00 69 6d 70 6c 65 6d 65 6e 74 65 64 -R 00 00 01 00 -T 21 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01bc_3d1a__2d_2d_2d_2d_2d_2d_.rel b/src/nos/lib/messages_lib/01bc_3d1a__2d_2d_2d_2d_2d_2d_.rel new file mode 100644 index 00000000..e965817f --- /dev/null +++ b/src/nos/lib/messages_lib/01bc_3d1a__2d_2d_2d_2d_2d_2d_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___01bc_3d1a__2d_2d_2d_2d_2d_2d_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 2d 2d 2d 2d 2d 2d 2d 2d 2d +R 00 00 01 00 +T 0b 00 00 00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d +R 00 00 01 00 +T 16 00 00 00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d +R 00 00 01 00 +T 21 00 00 00 2d 2d 2d 2d 2d 2d 2d 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01bc_f576_503_20Login_20with_.rel b/src/nos/lib/messages_lib/01bc_f576_503_20Login_20with_.rel deleted file mode 100644 index 4bc5a4da..00000000 --- a/src/nos/lib/messages_lib/01bc_f576_503_20Login_20with_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___01bc_f576_503_20Login_20with_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 35 30 33 20 4c 6f 67 69 6e -R 00 00 01 00 -T 0b 00 00 00 20 77 69 74 68 20 55 53 45 52 20 -R 00 00 01 00 -T 16 00 00 00 66 69 72 73 74 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01bd_7dc2_530_20Please_20log_.rel b/src/nos/lib/messages_lib/01bd_7dc2_530_20Please_20log_.rel deleted file mode 100644 index b8d70cd1..00000000 --- a/src/nos/lib/messages_lib/01bd_7dc2_530_20Please_20log_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___01bd_7dc2_530_20Please_20log_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 35 33 30 20 50 6c 65 61 73 -R 00 00 01 00 -T 0b 00 00 00 65 20 6c 6f 67 20 69 6e 20 77 69 -R 00 00 01 00 -T 16 00 00 00 74 68 20 55 53 45 52 20 61 6e 64 -R 00 00 01 00 -T 21 00 00 00 20 50 41 53 53 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01bd_8ddf__2d_3e_25s.rel b/src/nos/lib/messages_lib/01bd_8ddf__2d_3e_25s.rel new file mode 100644 index 00000000..b12a4989 --- /dev/null +++ b/src/nos/lib/messages_lib/01bd_8ddf__2d_3e_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___01bd_8ddf__2d_3e_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 2d 3e 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01be_589d__2d_3e_25s_20ihl_20.rel b/src/nos/lib/messages_lib/01be_589d__2d_3e_25s_20ihl_20.rel new file mode 100644 index 00000000..28133da7 --- /dev/null +++ b/src/nos/lib/messages_lib/01be_589d__2d_3e_25s_20ihl_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___01be_589d__2d_3e_25s_20ihl_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 2d 3e 25 73 20 69 68 6c 20 +R 00 00 01 00 +T 0b 00 00 00 25 75 20 74 74 6c 20 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01be_c53a_550_20Can_27t_20rea.rel b/src/nos/lib/messages_lib/01be_c53a_550_20Can_27t_20rea.rel deleted file mode 100644 index e3c239e9..00000000 --- a/src/nos/lib/messages_lib/01be_c53a_550_20Can_27t_20rea.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___01be_c53a_550_20Can_27t_20rea Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 35 35 30 20 43 61 6e 27 74 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 61 64 20 66 69 6c 65 20 -R 00 00 01 00 -T 16 00 00 00 22 25 73 22 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01bf_4770_550_20Delete_20fail.rel b/src/nos/lib/messages_lib/01bf_4770_550_20Delete_20fail.rel deleted file mode 100644 index bcf0e8ce..00000000 --- a/src/nos/lib/messages_lib/01bf_4770_550_20Delete_20fail.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___01bf_4770_550_20Delete_20fail Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 35 35 30 20 44 65 6c 65 74 -R 00 00 01 00 -T 0b 00 00 00 65 20 66 61 69 6c 65 64 3a 20 25 -R 00 00 01 00 -T 16 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01bf_e6c1__2e_0a.rel b/src/nos/lib/messages_lib/01bf_e6c1__2e_0a.rel new file mode 100644 index 00000000..0bdc885b --- /dev/null +++ b/src/nos/lib/messages_lib/01bf_e6c1__2e_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 5 flags 0 +S ___01bf_e6c1__2e_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 03 00 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c0_38c3_550_20Permission_20.rel b/src/nos/lib/messages_lib/01c0_38c3_550_20Permission_20.rel deleted file mode 100644 index fdd98a3f..00000000 --- a/src/nos/lib/messages_lib/01c0_38c3_550_20Permission_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___01c0_38c3_550_20Permission_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 35 35 30 20 50 65 72 6d 69 -R 00 00 01 00 -T 0b 00 00 00 73 73 69 6f 6e 20 64 65 6e 69 65 -R 00 00 01 00 -T 16 00 00 00 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c0_ed84__2f_25lu_20ms.rel b/src/nos/lib/messages_lib/01c0_ed84__2f_25lu_20ms.rel new file mode 100644 index 00000000..98762046 --- /dev/null +++ b/src/nos/lib/messages_lib/01c0_ed84__2f_25lu_20ms.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___01c0_ed84__2f_25lu_20ms Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 2f 25 6c 75 20 6d 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c1_6d9b__2f_25lu_20ms_0a.rel b/src/nos/lib/messages_lib/01c1_6d9b__2f_25lu_20ms_0a.rel new file mode 100644 index 00000000..1973f726 --- /dev/null +++ b/src/nos/lib/messages_lib/01c1_6d9b__2f_25lu_20ms_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___01c1_6d9b__2f_25lu_20ms_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 2f 25 6c 75 20 6d 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c1_95c1_552_20Write_20error.rel b/src/nos/lib/messages_lib/01c1_95c1_552_20Write_20error.rel deleted file mode 100644 index e0c77611..00000000 --- a/src/nos/lib/messages_lib/01c1_95c1_552_20Write_20error.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___01c1_95c1_552_20Write_20error Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 35 35 32 20 57 72 69 74 65 -R 00 00 01 00 -T 0b 00 00 00 20 65 72 72 6f 72 3a 20 25 73 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c2_7eaf_553_20Can_27t_20cre.rel b/src/nos/lib/messages_lib/01c2_7eaf_553_20Can_27t_20cre.rel deleted file mode 100644 index 01cc52a5..00000000 --- a/src/nos/lib/messages_lib/01c2_7eaf_553_20Can_27t_20cre.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___01c2_7eaf_553_20Can_27t_20cre Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 35 35 33 20 43 61 6e 27 74 -R 00 00 01 00 -T 0b 00 00 00 20 63 72 65 61 74 65 20 22 25 73 -R 00 00 01 00 -T 16 00 00 00 22 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c2_a44f__2f_25lu_20ms_3b_20.rel b/src/nos/lib/messages_lib/01c2_a44f__2f_25lu_20ms_3b_20.rel new file mode 100644 index 00000000..bf8f6d91 --- /dev/null +++ b/src/nos/lib/messages_lib/01c2_a44f__2f_25lu_20ms_3b_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___01c2_a44f__2f_25lu_20ms_3b_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 2f 25 6c 75 20 6d 73 3b 20 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c3_096e__2f_25u.rel b/src/nos/lib/messages_lib/01c3_096e__2f_25u.rel new file mode 100644 index 00000000..ca77472b --- /dev/null +++ b/src/nos/lib/messages_lib/01c3_096e__2f_25u.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___01c3_096e__2f_25u Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 2f 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c3_f0b2_553_20Can_27t_20rea.rel b/src/nos/lib/messages_lib/01c3_f0b2_553_20Can_27t_20rea.rel deleted file mode 100644 index ef6dcc24..00000000 --- a/src/nos/lib/messages_lib/01c3_f0b2_553_20Can_27t_20rea.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___01c3_f0b2_553_20Can_27t_20rea Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 35 35 33 20 43 61 6e 27 74 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 61 64 20 64 69 72 65 63 -R 00 00 01 00 -T 16 00 00 00 74 6f 72 79 20 22 25 73 22 3a 20 -R 00 00 01 00 -T 21 00 00 00 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c4_96dc__2fEX.rel b/src/nos/lib/messages_lib/01c4_96dc__2fEX.rel new file mode 100644 index 00000000..6f0a23d0 --- /dev/null +++ b/src/nos/lib/messages_lib/01c4_96dc__2fEX.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___01c4_96dc__2fEX Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 2f 45 58 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c4_b04b__3a_20_25d_0a.rel b/src/nos/lib/messages_lib/01c4_b04b__3a_20_25d_0a.rel deleted file mode 100644 index bfef227f..00000000 --- a/src/nos/lib/messages_lib/01c4_b04b__3a_20_25d_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___01c4_b04b__3a_20_25d_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 3a 20 25 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c5_6aba__3a_20_25ld_0a.rel b/src/nos/lib/messages_lib/01c5_6aba__3a_20_25ld_0a.rel deleted file mode 100644 index bbeae645..00000000 --- a/src/nos/lib/messages_lib/01c5_6aba__3a_20_25ld_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___01c5_6aba__3a_20_25ld_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 3a 20 25 6c 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c5_79e7_0_25o.rel b/src/nos/lib/messages_lib/01c5_79e7_0_25o.rel new file mode 100644 index 00000000..58a66445 --- /dev/null +++ b/src/nos/lib/messages_lib/01c5_79e7_0_25o.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___01c5_79e7_0_25o Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 30 25 6f 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c6_8157_007Incoming_20_25s_.rel b/src/nos/lib/messages_lib/01c6_8157_007Incoming_20_25s_.rel new file mode 100644 index 00000000..95818ab5 --- /dev/null +++ b/src/nos/lib/messages_lib/01c6_8157_007Incoming_20_25s_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___01c6_8157_007Incoming_20_25s_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 30 30 37 49 6e 63 6f 6d 69 +R 00 00 01 00 +T 0b 00 00 00 6e 67 20 25 73 20 73 65 73 73 69 +R 00 00 01 00 +T 16 00 00 00 6f 6e 20 25 75 20 66 72 6f 6d 20 +R 00 00 01 00 +T 21 00 00 00 25 73 30 30 37 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c6_8cd1__3a_20_25s.rel b/src/nos/lib/messages_lib/01c6_8cd1__3a_20_25s.rel deleted file mode 100644 index 486bc27a..00000000 --- a/src/nos/lib/messages_lib/01c6_8cd1__3a_20_25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___01c6_8cd1__3a_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 3a 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c7_68d2__3a_20_25s_0a.rel b/src/nos/lib/messages_lib/01c7_68d2__3a_20_25s_0a.rel deleted file mode 100644 index 29d8de72..00000000 --- a/src/nos/lib/messages_lib/01c7_68d2__3a_20_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___01c7_68d2__3a_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c7_b04e_0x_2503x_20_20_20_2.rel b/src/nos/lib/messages_lib/01c7_b04e_0x_2503x_20_20_20_2.rel new file mode 100644 index 00000000..784d73a6 --- /dev/null +++ b/src/nos/lib/messages_lib/01c7_b04e_0x_2503x_20_20_20_2.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3e flags 0 +S ___01c7_b04e_0x_2503x_20_20_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 3c 00 30 78 25 30 33 78 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 20 25 20 38 6c 75 25 20 38 6c 75 +R 00 00 01 00 +T 16 00 00 00 25 20 38 6c 75 25 20 38 75 25 20 +R 00 00 01 00 +T 21 00 00 00 38 75 25 20 38 75 25 20 38 75 25 +R 00 00 01 00 +T 2c 00 00 00 20 38 75 0a 52 63 76 20 53 74 61 +R 00 00 01 00 +T 37 00 00 00 74 65 3d 25 73 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c8_0da1_0x_2504x_09.rel b/src/nos/lib/messages_lib/01c8_0da1_0x_2504x_09.rel new file mode 100644 index 00000000..e792774a --- /dev/null +++ b/src/nos/lib/messages_lib/01c8_0da1_0x_2504x_09.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___01c8_0da1_0x_2504x_09 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 30 78 25 30 34 78 09 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c8_3c02__3a_20_25u_0a.rel b/src/nos/lib/messages_lib/01c8_3c02__3a_20_25u_0a.rel deleted file mode 100644 index 8b0f9f77..00000000 --- a/src/nos/lib/messages_lib/01c8_3c02__3a_20_25u_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___01c8_3c02__3a_20_25u_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 3a 20 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c9_3f3a_0x_2504x_0a.rel b/src/nos/lib/messages_lib/01c9_3f3a_0x_2504x_0a.rel new file mode 100644 index 00000000..4120fb68 --- /dev/null +++ b/src/nos/lib/messages_lib/01c9_3f3a_0x_2504x_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___01c9_3f3a_0x_2504x_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 30 78 25 30 34 78 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01c9_6692__3b_20Tries_3a_20_2.rel b/src/nos/lib/messages_lib/01c9_6692__3b_20Tries_3a_20_2.rel deleted file mode 100644 index e10f563d..00000000 --- a/src/nos/lib/messages_lib/01c9_6692__3b_20Tries_3a_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___01c9_6692__3b_20Tries_3a_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 3b 20 54 72 69 65 73 3a 20 -R 00 00 01 00 -T 0b 00 00 00 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ca_697b__3c_25ld_40_25s_3e_.rel b/src/nos/lib/messages_lib/01ca_697b__3c_25ld_40_25s_3e_.rel deleted file mode 100644 index 9844f2fd..00000000 --- a/src/nos/lib/messages_lib/01ca_697b__3c_25ld_40_25s_3e_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___01ca_697b__3c_25ld_40_25s_3e_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 3c 25 6c 64 40 25 73 3e 0a -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ca_b193_0x_2508lx_09.rel b/src/nos/lib/messages_lib/01ca_b193_0x_2508lx_09.rel new file mode 100644 index 00000000..ea972028 --- /dev/null +++ b/src/nos/lib/messages_lib/01ca_b193_0x_2508lx_09.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___01ca_b193_0x_2508lx_09 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 30 78 25 30 38 6c 78 09 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01cb_2587__3c_25s_40_25s_2ebb.rel b/src/nos/lib/messages_lib/01cb_2587__3c_25s_40_25s_2ebb.rel deleted file mode 100644 index 8ce0d069..00000000 --- a/src/nos/lib/messages_lib/01cb_2587__3c_25s_40_25s_2ebb.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___01cb_2587__3c_25s_40_25s_2ebb Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 3c 25 73 40 25 73 2e 62 62 -R 00 00 01 00 -T 0b 00 00 00 73 3e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01cb_8308_0x_2508lx_0a.rel b/src/nos/lib/messages_lib/01cb_8308_0x_2508lx_0a.rel new file mode 100644 index 00000000..d66a122c --- /dev/null +++ b/src/nos/lib/messages_lib/01cb_8308_0x_2508lx_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___01cb_8308_0x_2508lx_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 30 78 25 30 38 6c 78 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01cc_3152__3c_3d_3d_25s.rel b/src/nos/lib/messages_lib/01cc_3152__3c_3d_3d_25s.rel deleted file mode 100644 index 82bd2caa..00000000 --- a/src/nos/lib/messages_lib/01cc_3152__3c_3d_3d_25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___01cc_3152__3c_3d_3d_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 3c 3d 3d 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01cc_ab8d_0x_25x.rel b/src/nos/lib/messages_lib/01cc_ab8d_0x_25x.rel new file mode 100644 index 00000000..c0265cd5 --- /dev/null +++ b/src/nos/lib/messages_lib/01cc_ab8d_0x_25x.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___01cc_ab8d_0x_25x Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 30 78 25 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01cd_6f63_0x_25x_09_09_25ld_0.rel b/src/nos/lib/messages_lib/01cd_6f63_0x_25x_09_09_25ld_0.rel new file mode 100644 index 00000000..b9425a6b --- /dev/null +++ b/src/nos/lib/messages_lib/01cd_6f63_0x_25x_09_09_25ld_0.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 31 flags 0 +S ___01cd_6f63_0x_25x_09_09_25ld_0 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2f 00 30 78 25 78 09 09 25 6c 64 +R 00 00 01 00 +T 0b 00 00 00 09 25 6c 64 09 25 6c 64 09 25 64 +R 00 00 01 00 +T 16 00 00 00 09 25 64 09 25 64 09 25 64 09 25 +R 00 00 01 00 +T 21 00 00 00 64 0a 52 63 76 20 53 74 61 74 65 +R 00 00 01 00 +T 2c 00 00 00 3d 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01cd_defc__3c_3d_3d_25s_0a.rel b/src/nos/lib/messages_lib/01cd_defc__3c_3d_3d_25s_0a.rel deleted file mode 100644 index 32f9a540..00000000 --- a/src/nos/lib/messages_lib/01cd_defc__3c_3d_3d_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___01cd_defc__3c_3d_3d_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 3c 3d 3d 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ce_016b__3d_3d_3eARTICLE_20.rel b/src/nos/lib/messages_lib/01ce_016b__3d_3d_3eARTICLE_20.rel deleted file mode 100644 index 23349d0d..00000000 --- a/src/nos/lib/messages_lib/01ce_016b__3d_3d_3eARTICLE_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___01ce_016b__3d_3d_3eARTICLE_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 3d 3d 3e 41 52 54 49 43 4c -R 00 00 01 00 -T 0b 00 00 00 45 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ce_fea8_0x_25x_09_09_25ld_0.rel b/src/nos/lib/messages_lib/01ce_fea8_0x_25x_09_09_25ld_0.rel new file mode 100644 index 00000000..a0598835 --- /dev/null +++ b/src/nos/lib/messages_lib/01ce_fea8_0x_25x_09_09_25ld_0.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 32 flags 0 +S ___01ce_fea8_0x_25x_09_09_25ld_0 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 30 00 30 78 25 78 09 09 25 6c 64 +R 00 00 01 00 +T 0b 00 00 00 09 25 6c 64 09 25 6c 64 09 25 64 +R 00 00 01 00 +T 16 00 00 00 09 25 64 09 25 64 09 25 64 09 25 +R 00 00 01 00 +T 21 00 00 00 64 0a 52 63 76 20 53 74 61 74 65 +R 00 00 01 00 +T 2c 00 00 00 3d 25 73 0a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01cf_c133__3d_3d_3eNEWNEWS_20.rel b/src/nos/lib/messages_lib/01cf_c133__3d_3d_3eNEWNEWS_20.rel deleted file mode 100644 index d0d2d0f5..00000000 --- a/src/nos/lib/messages_lib/01cf_c133__3d_3d_3eNEWNEWS_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___01cf_c133__3d_3d_3eNEWNEWS_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 3d 3d 3e 4e 45 57 4e 45 57 -R 00 00 01 00 -T 0b 00 00 00 53 20 25 73 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01cf_f01c_0x_25x_0a.rel b/src/nos/lib/messages_lib/01cf_f01c_0x_25x_0a.rel new file mode 100644 index 00000000..feb154e1 --- /dev/null +++ b/src/nos/lib/messages_lib/01cf_f01c_0x_25x_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___01cf_f01c_0x_25x_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 30 78 25 78 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d0_696c__3d_3d_3eQUIT_0a.rel b/src/nos/lib/messages_lib/01d0_696c__3d_3d_3eQUIT_0a.rel deleted file mode 100644 index b2240672..00000000 --- a/src/nos/lib/messages_lib/01d0_696c__3d_3d_3eQUIT_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___01d0_696c__3d_3d_3eQUIT_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 3d 3d 3e 51 55 49 54 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d0_d635_100_20Warning_3a_20.rel b/src/nos/lib/messages_lib/01d0_d635_100_20Warning_3a_20.rel new file mode 100644 index 00000000..197678f3 --- /dev/null +++ b/src/nos/lib/messages_lib/01d0_d635_100_20Warning_3a_20.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3a flags 0 +S ___01d0_d635_100_20Warning_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 38 00 31 30 30 20 57 61 72 6e 69 +R 00 00 01 00 +T 0b 00 00 00 6e 67 3a 20 74 79 70 65 20 69 73 +R 00 00 01 00 +T 16 00 00 00 20 41 53 43 49 49 20 61 6e 64 20 +R 00 00 01 00 +T 21 00 00 00 25 73 20 61 70 70 65 61 72 73 20 +R 00 00 01 00 +T 2c 00 00 00 74 6f 20 62 65 20 62 69 6e 61 72 +R 00 00 01 00 +T 37 00 00 00 79 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d1_396e__3d_3dNo_20response.rel b/src/nos/lib/messages_lib/01d1_396e__3d_3dNo_20response.rel deleted file mode 100644 index acf0feb2..00000000 --- a/src/nos/lib/messages_lib/01d1_396e__3d_3dNo_20response.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___01d1_396e__3d_3dNo_20response Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 3d 3d 4e 6f 20 72 65 73 70 -R 00 00 01 00 -T 0b 00 00 00 6f 6e 73 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d1_3f47_150_20Opening_20dat.rel b/src/nos/lib/messages_lib/01d1_3f47_150_20Opening_20dat.rel new file mode 100644 index 00000000..c7d76662 --- /dev/null +++ b/src/nos/lib/messages_lib/01d1_3f47_150_20Opening_20dat.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 29 flags 0 +S ___01d1_3f47_150_20Opening_20dat Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 27 00 31 35 30 20 4f 70 65 6e 69 +R 00 00 01 00 +T 0b 00 00 00 6e 67 20 64 61 74 61 20 63 6f 6e +R 00 00 01 00 +T 16 00 00 00 6e 65 63 74 69 6f 6e 20 66 6f 72 +R 00 00 01 00 +T 21 00 00 00 20 25 73 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d2_67ab_200_20.rel b/src/nos/lib/messages_lib/01d2_67ab_200_20.rel new file mode 100644 index 00000000..00af7d78 --- /dev/null +++ b/src/nos/lib/messages_lib/01d2_67ab_200_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___01d2_67ab_200_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 32 30 30 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d2_c6f3__3f.rel b/src/nos/lib/messages_lib/01d2_c6f3__3f.rel deleted file mode 100644 index f2980b17..00000000 --- a/src/nos/lib/messages_lib/01d2_c6f3__3f.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4 flags 0 -S ___01d2_c6f3__3f Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 02 00 3f 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d3_4d83__40.rel b/src/nos/lib/messages_lib/01d3_4d83__40.rel deleted file mode 100644 index 5cb48b17..00000000 --- a/src/nos/lib/messages_lib/01d3_4d83__40.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4 flags 0 -S ___01d3_4d83__40 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 02 00 40 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d3_cc8d_200_20MKD_20ok_0a.rel b/src/nos/lib/messages_lib/01d3_cc8d_200_20MKD_20ok_0a.rel new file mode 100644 index 00000000..71d72a13 --- /dev/null +++ b/src/nos/lib/messages_lib/01d3_cc8d_200_20MKD_20ok_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___01d3_cc8d_200_20MKD_20ok_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 32 30 30 20 4d 4b 44 20 6f +R 00 00 01 00 +T 0b 00 00 00 6b 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d4_23d2__40_25s.rel b/src/nos/lib/messages_lib/01d4_23d2__40_25s.rel deleted file mode 100644 index f6c51ab4..00000000 --- a/src/nos/lib/messages_lib/01d4_23d2__40_25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___01d4_23d2__40_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 40 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d4_6c3a_200_20Ok_0a.rel b/src/nos/lib/messages_lib/01d4_6c3a_200_20Ok_0a.rel new file mode 100644 index 00000000..909d1352 --- /dev/null +++ b/src/nos/lib/messages_lib/01d4_6c3a_200_20Ok_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___01d4_6c3a_200_20Ok_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 32 30 30 20 4f 6b 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d5_7f61_ARP_3a_20len_20_25d.rel b/src/nos/lib/messages_lib/01d5_7f61_ARP_3a_20len_20_25d.rel deleted file mode 100644 index a453c501..00000000 --- a/src/nos/lib/messages_lib/01d5_7f61_ARP_3a_20len_20_25d.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___01d5_7f61_ARP_3a_20len_20_25d Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 41 52 50 3a 20 6c 65 6e 20 -R 00 00 01 00 -T 0b 00 00 00 25 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d5_ba32_200_20Port_20comman.rel b/src/nos/lib/messages_lib/01d5_ba32_200_20Port_20comman.rel new file mode 100644 index 00000000..2443ba12 --- /dev/null +++ b/src/nos/lib/messages_lib/01d5_ba32_200_20Port_20comman.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___01d5_ba32_200_20Port_20comman Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 32 30 30 20 50 6f 72 74 20 +R 00 00 01 00 +T 0b 00 00 00 63 6f 6d 6d 61 6e 64 20 6f 6b 61 +R 00 00 01 00 +T 16 00 00 00 79 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d6_124c_ARTICLE_20_25s.rel b/src/nos/lib/messages_lib/01d6_124c_ARTICLE_20_25s.rel deleted file mode 100644 index 477c1c32..00000000 --- a/src/nos/lib/messages_lib/01d6_124c_ARTICLE_20_25s.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___01d6_124c_ARTICLE_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 41 52 54 49 43 4c 45 20 25 -R 00 00 01 00 -T 0b 00 00 00 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d6_1db7_200_20Type_20_25s_2.rel b/src/nos/lib/messages_lib/01d6_1db7_200_20Type_20_25s_2.rel new file mode 100644 index 00000000..3f630875 --- /dev/null +++ b/src/nos/lib/messages_lib/01d6_1db7_200_20Type_20_25s_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___01d6_1db7_200_20Type_20_25s_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 32 30 30 20 54 79 70 65 20 +R 00 00 01 00 +T 0b 00 00 00 25 73 20 4f 4b 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d7_109d_AX25_20receive_20wi.rel b/src/nos/lib/messages_lib/01d7_109d_AX25_20receive_20wi.rel deleted file mode 100644 index 43522a97..00000000 --- a/src/nos/lib/messages_lib/01d7_109d_AX25_20receive_20wi.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___01d7_109d_AX25_20receive_20wi Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 41 58 32 35 20 72 65 63 65 -R 00 00 01 00 -T 0b 00 00 00 69 76 65 20 77 69 6e 64 6f 77 20 -R 00 00 01 00 -T 16 00 00 00 28 62 79 74 65 73 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d7_1192_215_20_25s_20Type_3.rel b/src/nos/lib/messages_lib/01d7_1192_215_20_25s_20Type_3.rel new file mode 100644 index 00000000..3b96e62a --- /dev/null +++ b/src/nos/lib/messages_lib/01d7_1192_215_20_25s_20Type_3.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___01d7_1192_215_20_25s_20Type_3 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 32 31 35 20 25 73 20 54 79 +R 00 00 01 00 +T 0b 00 00 00 70 65 3a 20 4c 25 64 20 56 65 72 +R 00 00 01 00 +T 16 00 00 00 73 69 6f 6e 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d8_01fe_220_20_25s_20FTP_20.rel b/src/nos/lib/messages_lib/01d8_01fe_220_20_25s_20FTP_20.rel new file mode 100644 index 00000000..0ac07792 --- /dev/null +++ b/src/nos/lib/messages_lib/01d8_01fe_220_20_25s_20FTP_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___01d8_01fe_220_20_25s_20FTP_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 32 32 30 20 25 73 20 46 54 +R 00 00 01 00 +T 0b 00 00 00 50 20 76 65 72 73 69 6f 6e 20 25 +R 00 00 01 00 +T 16 00 00 00 73 20 72 65 61 64 79 20 61 74 20 +R 00 00 01 00 +T 21 00 00 00 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d8_f4e0_AX25_20version.rel b/src/nos/lib/messages_lib/01d8_f4e0_AX25_20version.rel deleted file mode 100644 index 36102370..00000000 --- a/src/nos/lib/messages_lib/01d8_f4e0_AX25_20version.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___01d8_f4e0_AX25_20version Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 41 58 32 35 20 76 65 72 73 -R 00 00 01 00 -T 0b 00 00 00 69 6f 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d9_7804_221_20Goodbye_21_0a.rel b/src/nos/lib/messages_lib/01d9_7804_221_20Goodbye_21_0a.rel new file mode 100644 index 00000000..0685a1f0 --- /dev/null +++ b/src/nos/lib/messages_lib/01d9_7804_221_20Goodbye_21_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___01d9_7804_221_20Goodbye_21_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 32 32 31 20 47 6f 6f 64 62 +R 00 00 01 00 +T 0b 00 00 00 79 65 21 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01d9_818f_AX25_3a_20.rel b/src/nos/lib/messages_lib/01d9_818f_AX25_3a_20.rel deleted file mode 100644 index 38e896c2..00000000 --- a/src/nos/lib/messages_lib/01d9_818f_AX25_3a_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___01d9_818f_AX25_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 41 58 32 35 3a 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01da_3f54_226_20File_20receiv.rel b/src/nos/lib/messages_lib/01da_3f54_226_20File_20receiv.rel new file mode 100644 index 00000000..2554a992 --- /dev/null +++ b/src/nos/lib/messages_lib/01da_3f54_226_20File_20receiv.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___01da_3f54_226_20File_20receiv Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 32 32 36 20 46 69 6c 65 20 +R 00 00 01 00 +T 0b 00 00 00 72 65 63 65 69 76 65 64 20 4f 4b +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01da_f05c_Abort_0d_0a.rel b/src/nos/lib/messages_lib/01da_f05c_Abort_0d_0a.rel deleted file mode 100644 index a98fc4f1..00000000 --- a/src/nos/lib/messages_lib/01da_f05c_Abort_0d_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___01da_f05c_Abort_0d_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 41 62 6f 72 74 0d 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01db_6caf_Aborted_2e.rel b/src/nos/lib/messages_lib/01db_6caf_Aborted_2e.rel deleted file mode 100644 index 1ed97e0f..00000000 --- a/src/nos/lib/messages_lib/01db_6caf_Aborted_2e.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___01db_6caf_Aborted_2e Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 41 62 6f 72 74 65 64 2e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01db_caea_226_20File_20sent_2.rel b/src/nos/lib/messages_lib/01db_caea_226_20File_20sent_2.rel new file mode 100644 index 00000000..8131ebe2 --- /dev/null +++ b/src/nos/lib/messages_lib/01db_caea_226_20File_20sent_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___01db_caea_226_20File_20sent_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 32 32 36 20 46 69 6c 65 20 +R 00 00 01 00 +T 0b 00 00 00 73 65 6e 74 20 4f 4b 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01dc_9fe8_230_20Logged_20in_0.rel b/src/nos/lib/messages_lib/01dc_9fe8_230_20Logged_20in_0.rel new file mode 100644 index 00000000..f688d741 --- /dev/null +++ b/src/nos/lib/messages_lib/01dc_9fe8_230_20Logged_20in_0.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___01dc_9fe8_230_20Logged_20in_0 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 32 33 30 20 4c 6f 67 67 65 +R 00 00 01 00 +T 0b 00 00 00 64 20 69 6e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01dc_f2cb_Aborted_2e_0a.rel b/src/nos/lib/messages_lib/01dc_f2cb_Aborted_2e_0a.rel deleted file mode 100644 index 77cb3106..00000000 --- a/src/nos/lib/messages_lib/01dc_f2cb_Aborted_2e_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___01dc_f2cb_Aborted_2e_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 41 62 6f 72 74 65 64 2e 0a -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01dd_537a_Accept_0a.rel b/src/nos/lib/messages_lib/01dd_537a_Accept_0a.rel deleted file mode 100644 index f8132b0d..00000000 --- a/src/nos/lib/messages_lib/01dd_537a_Accept_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___01dd_537a_Accept_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 41 63 63 65 70 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01dd_55db_250_20_25s_0a.rel b/src/nos/lib/messages_lib/01dd_55db_250_20_25s_0a.rel new file mode 100644 index 00000000..787c58ee --- /dev/null +++ b/src/nos/lib/messages_lib/01dd_55db_250_20_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___01dd_55db_250_20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 32 35 30 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01de_b988_Ack_20delay_20time_.rel b/src/nos/lib/messages_lib/01de_b988_Ack_20delay_20time_.rel deleted file mode 100644 index 8fc477cf..00000000 --- a/src/nos/lib/messages_lib/01de_b988_Ack_20delay_20time_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___01de_b988_Ack_20delay_20time_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 41 63 6b 20 64 65 6c 61 79 -R 00 00 01 00 -T 0b 00 00 00 20 74 69 6d 65 20 28 6d 73 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01de_c720_250_20File_20delete.rel b/src/nos/lib/messages_lib/01de_c720_250_20File_20delete.rel new file mode 100644 index 00000000..cb89a395 --- /dev/null +++ b/src/nos/lib/messages_lib/01de_c720_250_20File_20delete.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___01de_c720_250_20File_20delete Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 32 35 30 20 46 69 6c 65 20 +R 00 00 01 00 +T 0b 00 00 00 64 65 6c 65 74 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01df_de54_250_2d_25s_0a.rel b/src/nos/lib/messages_lib/01df_de54_250_2d_25s_0a.rel new file mode 100644 index 00000000..15d0e544 --- /dev/null +++ b/src/nos/lib/messages_lib/01df_de54_250_2d_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___01df_de54_250_2d_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 32 35 30 2d 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01df_fccc_Active_20RIP_20outp.rel b/src/nos/lib/messages_lib/01df_fccc_Active_20RIP_20outp.rel deleted file mode 100644 index f4f245a8..00000000 --- a/src/nos/lib/messages_lib/01df_fccc_Active_20RIP_20outp.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21 flags 0 -S ___01df_fccc_Active_20RIP_20outp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1f 00 41 63 74 69 76 65 20 52 49 -R 00 00 01 00 -T 0b 00 00 00 50 20 6f 75 74 70 75 74 20 69 6e -R 00 00 01 00 -T 16 00 00 00 74 65 72 66 61 63 65 73 3a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e0_9400_257_20_22_25s_22_20.rel b/src/nos/lib/messages_lib/01e0_9400_257_20_22_25s_22_20.rel new file mode 100644 index 00000000..e1cd900c --- /dev/null +++ b/src/nos/lib/messages_lib/01e0_9400_257_20_22_25s_22_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___01e0_9400_257_20_22_25s_22_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 32 35 37 20 22 25 73 22 20 +R 00 00 01 00 +T 0b 00 00 00 69 73 20 63 75 72 72 65 6e 74 20 +R 00 00 01 00 +T 16 00 00 00 64 69 72 65 63 74 6f 72 79 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e0_e216_Address_2fControl_2.rel b/src/nos/lib/messages_lib/01e0_e216_Address_2fControl_2.rel deleted file mode 100644 index e87aca7a..00000000 --- a/src/nos/lib/messages_lib/01e0_e216_Address_2fControl_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___01e0_e216_Address_2fControl_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 41 64 64 72 65 73 73 2f 43 -R 00 00 01 00 -T 0b 00 00 00 6f 6e 74 72 6f 6c 20 46 69 65 6c -R 00 00 01 00 -T 16 00 00 00 64 20 43 6f 6d 70 72 65 73 73 69 -R 00 00 01 00 -T 21 00 00 00 6f 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e1_1fbc_All_20groups_20are_.rel b/src/nos/lib/messages_lib/01e1_1fbc_All_20groups_20are_.rel deleted file mode 100644 index d619bac9..00000000 --- a/src/nos/lib/messages_lib/01e1_1fbc_All_20groups_20are_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___01e1_1fbc_All_20groups_20are_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 41 6c 6c 20 67 72 6f 75 70 -R 00 00 01 00 -T 0b 00 00 00 73 20 61 72 65 20 63 75 72 72 65 -R 00 00 01 00 -T 16 00 00 00 6e 74 6c 79 20 65 6e 61 62 6c 65 -R 00 00 01 00 -T 21 00 00 00 64 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e1_24f1_331_20Enter_20PASS_.rel b/src/nos/lib/messages_lib/01e1_24f1_331_20Enter_20PASS_.rel new file mode 100644 index 00000000..aa6ffa61 --- /dev/null +++ b/src/nos/lib/messages_lib/01e1_24f1_331_20Enter_20PASS_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___01e1_24f1_331_20Enter_20PASS_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 33 33 31 20 45 6e 74 65 72 +R 00 00 01 00 +T 0b 00 00 00 20 50 41 53 53 20 63 6f 6d 6d 61 +R 00 00 01 00 +T 16 00 00 00 6e 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e2_273f_421_20System_20over.rel b/src/nos/lib/messages_lib/01e2_273f_421_20System_20over.rel new file mode 100644 index 00000000..4d46a073 --- /dev/null +++ b/src/nos/lib/messages_lib/01e2_273f_421_20System_20over.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___01e2_273f_421_20System_20over Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 34 32 31 20 53 79 73 74 65 +R 00 00 01 00 +T 0b 00 00 00 6d 20 6f 76 65 72 6c 6f 61 64 65 +R 00 00 01 00 +T 16 00 00 00 64 2c 20 74 72 79 20 61 67 61 69 +R 00 00 01 00 +T 21 00 00 00 6e 20 6c 61 74 65 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e2_4a0c_Allow_20ACCM.rel b/src/nos/lib/messages_lib/01e2_4a0c_Allow_20ACCM.rel deleted file mode 100644 index a2c7c8fa..00000000 --- a/src/nos/lib/messages_lib/01e2_4a0c_Allow_20ACCM.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___01e2_4a0c_Allow_20ACCM Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 41 6c 6c 6f 77 20 41 43 43 -R 00 00 01 00 -T 0b 00 00 00 4d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e3_8e02_Allow_20Address.rel b/src/nos/lib/messages_lib/01e3_8e02_Allow_20Address.rel deleted file mode 100644 index ad6bd637..00000000 --- a/src/nos/lib/messages_lib/01e3_8e02_Allow_20Address.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___01e3_8e02_Allow_20Address Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 41 6c 6c 6f 77 20 41 64 64 -R 00 00 01 00 -T 0b 00 00 00 72 65 73 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e3_e43d_425_20Data_20connec.rel b/src/nos/lib/messages_lib/01e3_e43d_425_20Data_20connec.rel new file mode 100644 index 00000000..fe91e219 --- /dev/null +++ b/src/nos/lib/messages_lib/01e3_e43d_425_20Data_20connec.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___01e3_e43d_425_20Data_20connec Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 34 32 35 20 44 61 74 61 20 +R 00 00 01 00 +T 0b 00 00 00 63 6f 6e 6e 65 63 74 69 6f 6e 20 +R 00 00 01 00 +T 16 00 00 00 72 65 73 65 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e4_7b21_Allow_20Address_2fC.rel b/src/nos/lib/messages_lib/01e4_7b21_Allow_20Address_2fC.rel deleted file mode 100644 index 0b3fa5ec..00000000 --- a/src/nos/lib/messages_lib/01e4_7b21_Allow_20Address_2fC.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2a flags 0 -S ___01e4_7b21_Allow_20Address_2fC Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 28 00 41 6c 6c 6f 77 20 41 64 64 -R 00 00 01 00 -T 0b 00 00 00 72 65 73 73 2f 43 6f 6e 74 72 6f -R 00 00 01 00 -T 16 00 00 00 6c 20 46 69 65 6c 64 20 43 6f 6d -R 00 00 01 00 -T 21 00 00 00 70 72 65 73 73 69 6f 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e4_7e66_500_20Unknown_20com.rel b/src/nos/lib/messages_lib/01e4_7e66_500_20Unknown_20com.rel new file mode 100644 index 00000000..120d76f3 --- /dev/null +++ b/src/nos/lib/messages_lib/01e4_7e66_500_20Unknown_20com.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___01e4_7e66_500_20Unknown_20com Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 35 30 30 20 55 6e 6b 6e 6f +R 00 00 01 00 +T 0b 00 00 00 77 6e 20 63 6f 6d 6d 61 6e 64 20 +R 00 00 01 00 +T 16 00 00 00 27 25 73 27 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e5_3d39_500_20Unsupported_2.rel b/src/nos/lib/messages_lib/01e5_3d39_500_20Unsupported_2.rel new file mode 100644 index 00000000..9c888b58 --- /dev/null +++ b/src/nos/lib/messages_lib/01e5_3d39_500_20Unsupported_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___01e5_3d39_500_20Unsupported_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 35 30 30 20 55 6e 73 75 70 +R 00 00 01 00 +T 0b 00 00 00 70 6f 72 74 65 64 20 63 6f 6d 6d +R 00 00 01 00 +T 16 00 00 00 61 6e 64 20 6f 72 20 6f 70 74 69 +R 00 00 01 00 +T 21 00 00 00 6f 6e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e5_5003_Allow_20Authenticat.rel b/src/nos/lib/messages_lib/01e5_5003_Allow_20Authenticat.rel deleted file mode 100644 index 40ac4773..00000000 --- a/src/nos/lib/messages_lib/01e5_5003_Allow_20Authenticat.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___01e5_5003_Allow_20Authenticat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 41 6c 6c 6f 77 20 41 75 74 -R 00 00 01 00 -T 0b 00 00 00 68 65 6e 74 69 63 61 74 69 6f 6e -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e6_081e_Allow_20Compression.rel b/src/nos/lib/messages_lib/01e6_081e_Allow_20Compression.rel deleted file mode 100644 index 8532fd20..00000000 --- a/src/nos/lib/messages_lib/01e6_081e_Allow_20Compression.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___01e6_081e_Allow_20Compression Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 41 6c 6c 6f 77 20 43 6f 6d -R 00 00 01 00 -T 0b 00 00 00 70 72 65 73 73 69 6f 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e6_fe7e_501_20Bad_20port_20.rel b/src/nos/lib/messages_lib/01e6_fe7e_501_20Bad_20port_20.rel new file mode 100644 index 00000000..aca84455 --- /dev/null +++ b/src/nos/lib/messages_lib/01e6_fe7e_501_20Bad_20port_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___01e6_fe7e_501_20Bad_20port_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 35 30 31 20 42 61 64 20 70 +R 00 00 01 00 +T 0b 00 00 00 6f 72 74 20 73 79 6e 74 61 78 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e7_065e_501_20Only_20logica.rel b/src/nos/lib/messages_lib/01e7_065e_501_20Only_20logica.rel new file mode 100644 index 00000000..c44b4162 --- /dev/null +++ b/src/nos/lib/messages_lib/01e7_065e_501_20Only_20logica.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 29 flags 0 +S ___01e7_065e_501_20Only_20logica Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 27 00 35 30 31 20 4f 6e 6c 79 20 +R 00 00 01 00 +T 0b 00 00 00 6c 6f 67 69 63 61 6c 20 62 79 74 +R 00 00 01 00 +T 16 00 00 00 65 73 69 7a 65 20 38 20 73 75 70 +R 00 00 01 00 +T 21 00 00 00 70 6f 72 74 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e7_14d8_Allow_20MRU.rel b/src/nos/lib/messages_lib/01e7_14d8_Allow_20MRU.rel deleted file mode 100644 index 9e313249..00000000 --- a/src/nos/lib/messages_lib/01e7_14d8_Allow_20MRU.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___01e7_14d8_Allow_20MRU Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 41 6c 6c 6f 77 20 4d 52 55 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e8_5c94_Allow_20Magic_20Num.rel b/src/nos/lib/messages_lib/01e8_5c94_Allow_20Magic_20Num.rel deleted file mode 100644 index ad435e6d..00000000 --- a/src/nos/lib/messages_lib/01e8_5c94_Allow_20Magic_20Num.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___01e8_5c94_Allow_20Magic_20Num Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 41 6c 6c 6f 77 20 4d 61 67 -R 00 00 01 00 -T 0b 00 00 00 69 63 20 4e 75 6d 62 65 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e8_a2bf_501_20Unknown_20typ.rel b/src/nos/lib/messages_lib/01e8_a2bf_501_20Unknown_20typ.rel new file mode 100644 index 00000000..a6d13ed7 --- /dev/null +++ b/src/nos/lib/messages_lib/01e8_a2bf_501_20Unknown_20typ.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___01e8_a2bf_501_20Unknown_20typ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 35 30 31 20 55 6e 6b 6e 6f +R 00 00 01 00 +T 0b 00 00 00 77 6e 20 74 79 70 65 20 22 25 73 +R 00 00 01 00 +T 16 00 00 00 22 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e9_33ea_Allow_20Protocol_20.rel b/src/nos/lib/messages_lib/01e9_33ea_Allow_20Protocol_20.rel deleted file mode 100644 index 439b6e6c..00000000 --- a/src/nos/lib/messages_lib/01e9_33ea_Allow_20Protocol_20.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___01e9_33ea_Allow_20Protocol_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 41 6c 6c 6f 77 20 50 72 6f -R 00 00 01 00 -T 0b 00 00 00 74 6f 63 6f 6c 20 46 69 65 6c 64 -R 00 00 01 00 -T 16 00 00 00 20 43 6f 6d 70 72 65 73 73 69 6f -R 00 00 01 00 -T 21 00 00 00 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01e9_41cf_502_20Command_20not.rel b/src/nos/lib/messages_lib/01e9_41cf_502_20Command_20not.rel new file mode 100644 index 00000000..8817e8f0 --- /dev/null +++ b/src/nos/lib/messages_lib/01e9_41cf_502_20Command_20not.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___01e9_41cf_502_20Command_20not Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 35 30 32 20 43 6f 6d 6d 61 +R 00 00 01 00 +T 0b 00 00 00 6e 64 20 6e 6f 74 20 79 65 74 20 +R 00 00 01 00 +T 16 00 00 00 69 6d 70 6c 65 6d 65 6e 74 65 64 +R 00 00 01 00 +T 21 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ea_a5f9_Already_20have_20_2.rel b/src/nos/lib/messages_lib/01ea_a5f9_Already_20have_20_2.rel deleted file mode 100644 index 7861d9d7..00000000 --- a/src/nos/lib/messages_lib/01ea_a5f9_Already_20have_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___01ea_a5f9_Already_20have_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 41 6c 72 65 61 64 79 20 68 -R 00 00 01 00 -T 0b 00 00 00 61 76 65 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ea_f576_503_20Login_20with_.rel b/src/nos/lib/messages_lib/01ea_f576_503_20Login_20with_.rel new file mode 100644 index 00000000..2f6f40d6 --- /dev/null +++ b/src/nos/lib/messages_lib/01ea_f576_503_20Login_20with_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___01ea_f576_503_20Login_20with_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 35 30 33 20 4c 6f 67 69 6e +R 00 00 01 00 +T 0b 00 00 00 20 77 69 74 68 20 55 53 45 52 20 +R 00 00 01 00 +T 16 00 00 00 66 69 72 73 74 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01eb_7dc2_530_20Please_20log_.rel b/src/nos/lib/messages_lib/01eb_7dc2_530_20Please_20log_.rel new file mode 100644 index 00000000..29c0eed1 --- /dev/null +++ b/src/nos/lib/messages_lib/01eb_7dc2_530_20Please_20log_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___01eb_7dc2_530_20Please_20log_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 35 33 30 20 50 6c 65 61 73 +R 00 00 01 00 +T 0b 00 00 00 65 20 6c 6f 67 20 69 6e 20 77 69 +R 00 00 01 00 +T 16 00 00 00 74 68 20 55 53 45 52 20 61 6e 64 +R 00 00 01 00 +T 21 00 00 00 20 50 41 53 53 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01eb_8eaf_Arcnet_3a_20len_20_.rel b/src/nos/lib/messages_lib/01eb_8eaf_Arcnet_3a_20len_20_.rel deleted file mode 100644 index 307d2f79..00000000 --- a/src/nos/lib/messages_lib/01eb_8eaf_Arcnet_3a_20len_20_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___01eb_8eaf_Arcnet_3a_20len_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 41 72 63 6e 65 74 3a 20 6c -R 00 00 01 00 -T 0b 00 00 00 65 6e 20 25 75 20 25 73 2d 3e 25 -R 00 00 01 00 -T 16 00 00 00 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ec_52c7_Argument_20missing_.rel b/src/nos/lib/messages_lib/01ec_52c7_Argument_20missing_.rel deleted file mode 100644 index 19c9c6f6..00000000 --- a/src/nos/lib/messages_lib/01ec_52c7_Argument_20missing_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___01ec_52c7_Argument_20missing_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 41 72 67 75 6d 65 6e 74 20 -R 00 00 01 00 -T 0b 00 00 00 6d 69 73 73 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ec_c53a_550_20Can_27t_20rea.rel b/src/nos/lib/messages_lib/01ec_c53a_550_20Can_27t_20rea.rel new file mode 100644 index 00000000..84332954 --- /dev/null +++ b/src/nos/lib/messages_lib/01ec_c53a_550_20Can_27t_20rea.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___01ec_c53a_550_20Can_27t_20rea Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 35 35 30 20 43 61 6e 27 74 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 61 64 20 66 69 6c 65 20 +R 00 00 01 00 +T 16 00 00 00 22 25 73 22 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ed_3ed8_Ascii_0a.rel b/src/nos/lib/messages_lib/01ed_3ed8_Ascii_0a.rel deleted file mode 100644 index 077602df..00000000 --- a/src/nos/lib/messages_lib/01ed_3ed8_Ascii_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___01ed_3ed8_Ascii_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 41 73 63 69 69 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ed_4770_550_20Delete_20fail.rel b/src/nos/lib/messages_lib/01ed_4770_550_20Delete_20fail.rel new file mode 100644 index 00000000..7d33953e --- /dev/null +++ b/src/nos/lib/messages_lib/01ed_4770_550_20Delete_20fail.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___01ed_4770_550_20Delete_20fail Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 35 35 30 20 44 65 6c 65 74 +R 00 00 01 00 +T 0b 00 00 00 65 20 66 61 69 6c 65 64 3a 20 25 +R 00 00 01 00 +T 16 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ee_38c3_550_20Permission_20.rel b/src/nos/lib/messages_lib/01ee_38c3_550_20Permission_20.rel new file mode 100644 index 00000000..9708a289 --- /dev/null +++ b/src/nos/lib/messages_lib/01ee_38c3_550_20Permission_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___01ee_38c3_550_20Permission_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 35 35 30 20 50 65 72 6d 69 +R 00 00 01 00 +T 0b 00 00 00 73 73 69 6f 6e 20 64 65 6e 69 65 +R 00 00 01 00 +T 16 00 00 00 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ee_7cb2_Attach_20device_20f.rel b/src/nos/lib/messages_lib/01ee_7cb2_Attach_20device_20f.rel deleted file mode 100644 index 981a2ef8..00000000 --- a/src/nos/lib/messages_lib/01ee_7cb2_Attach_20device_20f.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___01ee_7cb2_Attach_20device_20f Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 41 74 74 61 63 68 20 64 65 -R 00 00 01 00 -T 0b 00 00 00 76 69 63 65 20 66 69 72 73 74 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ef_95c1_552_20Write_20error.rel b/src/nos/lib/messages_lib/01ef_95c1_552_20Write_20error.rel new file mode 100644 index 00000000..05ad548d --- /dev/null +++ b/src/nos/lib/messages_lib/01ef_95c1_552_20Write_20error.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___01ef_95c1_552_20Write_20error Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 35 35 32 20 57 72 69 74 65 +R 00 00 01 00 +T 0b 00 00 00 20 65 72 72 6f 72 3a 20 25 73 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ef_ec38_Attach_20netrom_20i.rel b/src/nos/lib/messages_lib/01ef_ec38_Attach_20netrom_20i.rel deleted file mode 100644 index 91c3869a..00000000 --- a/src/nos/lib/messages_lib/01ef_ec38_Attach_20netrom_20i.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21 flags 0 -S ___01ef_ec38_Attach_20netrom_20i Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1f 00 41 74 74 61 63 68 20 6e 65 -R 00 00 01 00 -T 0b 00 00 00 74 72 6f 6d 20 69 6e 74 65 72 66 -R 00 00 01 00 -T 16 00 00 00 61 63 65 20 66 69 72 73 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f0_7eaf_553_20Can_27t_20cre.rel b/src/nos/lib/messages_lib/01f0_7eaf_553_20Can_27t_20cre.rel new file mode 100644 index 00000000..67509214 --- /dev/null +++ b/src/nos/lib/messages_lib/01f0_7eaf_553_20Can_27t_20cre.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___01f0_7eaf_553_20Can_27t_20cre Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 35 35 33 20 43 61 6e 27 74 +R 00 00 01 00 +T 0b 00 00 00 20 63 72 65 61 74 65 20 22 25 73 +R 00 00 01 00 +T 16 00 00 00 22 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f0_ee22_Attended_20flag.rel b/src/nos/lib/messages_lib/01f0_ee22_Attended_20flag.rel deleted file mode 100644 index 4ddb6604..00000000 --- a/src/nos/lib/messages_lib/01f0_ee22_Attended_20flag.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___01f0_ee22_Attended_20flag Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 41 74 74 65 6e 64 65 64 20 -R 00 00 01 00 -T 0b 00 00 00 66 6c 61 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f1_0443_Available_20areas_2.rel b/src/nos/lib/messages_lib/01f1_0443_Available_20areas_2.rel deleted file mode 100644 index 970202b8..00000000 --- a/src/nos/lib/messages_lib/01f1_0443_Available_20areas_2.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 36 flags 0 -S ___01f1_0443_Available_20areas_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 34 00 41 76 61 69 6c 61 62 6c 65 -R 00 00 01 00 -T 0b 00 00 00 20 61 72 65 61 73 20 61 72 65 3a -R 00 00 01 00 -T 16 00 00 00 0a 25 2d 31 35 73 20 20 59 6f 75 -R 00 00 01 00 -T 21 00 00 00 72 20 70 72 69 76 61 74 65 20 6d -R 00 00 01 00 -T 2c 00 00 00 61 69 6c 20 61 72 65 61 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f1_f0b2_553_20Can_27t_20rea.rel b/src/nos/lib/messages_lib/01f1_f0b2_553_20Can_27t_20rea.rel new file mode 100644 index 00000000..ea8bccf2 --- /dev/null +++ b/src/nos/lib/messages_lib/01f1_f0b2_553_20Can_27t_20rea.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___01f1_f0b2_553_20Can_27t_20rea Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 35 35 33 20 43 61 6e 27 74 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 61 64 20 64 69 72 65 63 +R 00 00 01 00 +T 16 00 00 00 74 6f 72 79 20 22 25 73 22 3a 20 +R 00 00 01 00 +T 21 00 00 00 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f2_6999_Backoff_20Level_20_.rel b/src/nos/lib/messages_lib/01f2_6999_Backoff_20Level_20_.rel deleted file mode 100644 index 4b64d054..00000000 --- a/src/nos/lib/messages_lib/01f2_6999_Backoff_20Level_20_.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 30 flags 0 -S ___01f2_6999_Backoff_20Level_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2e 00 42 61 63 6b 6f 66 66 20 4c -R 00 00 01 00 -T 0b 00 00 00 65 76 65 6c 20 25 75 20 53 52 54 -R 00 00 01 00 -T 16 00 00 00 54 20 25 6c 64 20 6d 73 20 4d 65 -R 00 00 01 00 -T 21 00 00 00 61 6e 20 64 65 76 20 25 6c 64 20 -R 00 00 01 00 -T 2c 00 00 00 6d 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f2_b04b__3a_20_25d_0a.rel b/src/nos/lib/messages_lib/01f2_b04b__3a_20_25d_0a.rel new file mode 100644 index 00000000..054af729 --- /dev/null +++ b/src/nos/lib/messages_lib/01f2_b04b__3a_20_25d_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___01f2_b04b__3a_20_25d_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 3a 20 25 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f3_6aba__3a_20_25ld_0a.rel b/src/nos/lib/messages_lib/01f3_6aba__3a_20_25ld_0a.rel new file mode 100644 index 00000000..8b27534c --- /dev/null +++ b/src/nos/lib/messages_lib/01f3_6aba__3a_20_25ld_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___01f3_6aba__3a_20_25ld_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 3a 20 25 6c 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f3_9716_Bad_20digipeater_20.rel b/src/nos/lib/messages_lib/01f3_9716_Bad_20digipeater_20.rel deleted file mode 100644 index 139c81a6..00000000 --- a/src/nos/lib/messages_lib/01f3_9716_Bad_20digipeater_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___01f3_9716_Bad_20digipeater_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 42 61 64 20 64 69 67 69 70 -R 00 00 01 00 -T 0b 00 00 00 65 61 74 65 72 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f4_0b9f_Bad_20syntax_2e_0a.rel b/src/nos/lib/messages_lib/01f4_0b9f_Bad_20syntax_2e_0a.rel deleted file mode 100644 index 7071dee1..00000000 --- a/src/nos/lib/messages_lib/01f4_0b9f_Bad_20syntax_2e_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___01f4_0b9f_Bad_20syntax_2e_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 42 61 64 20 73 79 6e 74 61 -R 00 00 01 00 -T 0b 00 00 00 78 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f4_8cd1__3a_20_25s.rel b/src/nos/lib/messages_lib/01f4_8cd1__3a_20_25s.rel new file mode 100644 index 00000000..1a29eced --- /dev/null +++ b/src/nos/lib/messages_lib/01f4_8cd1__3a_20_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___01f4_8cd1__3a_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 3a 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f5_68d2__3a_20_25s_0a.rel b/src/nos/lib/messages_lib/01f5_68d2__3a_20_25s_0a.rel new file mode 100644 index 00000000..4d4785ee --- /dev/null +++ b/src/nos/lib/messages_lib/01f5_68d2__3a_20_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___01f5_68d2__3a_20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f5_e884_Bad_20target_20_25s.rel b/src/nos/lib/messages_lib/01f5_e884_Bad_20target_20_25s.rel deleted file mode 100644 index 052e4ce9..00000000 --- a/src/nos/lib/messages_lib/01f5_e884_Bad_20target_20_25s.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___01f5_e884_Bad_20target_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 42 61 64 20 74 61 72 67 65 -R 00 00 01 00 -T 0b 00 00 00 74 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f6_3c02__3a_20_25u_0a.rel b/src/nos/lib/messages_lib/01f6_3c02__3a_20_25u_0a.rel new file mode 100644 index 00000000..868d5332 --- /dev/null +++ b/src/nos/lib/messages_lib/01f6_3c02__3a_20_25u_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___01f6_3c02__3a_20_25u_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 3a 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f6_822a_Bad_20user_20or_20h.rel b/src/nos/lib/messages_lib/01f6_822a_Bad_20user_20or_20h.rel deleted file mode 100644 index c50e7d43..00000000 --- a/src/nos/lib/messages_lib/01f6_822a_Bad_20user_20or_20h.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___01f6_822a_Bad_20user_20or_20h Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 42 61 64 20 75 73 65 72 20 -R 00 00 01 00 -T 0b 00 00 00 6f 72 20 68 6f 73 74 20 6e 61 6d -R 00 00 01 00 -T 16 00 00 00 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f7_61f7_Base_20Addr_09Rxint.rel b/src/nos/lib/messages_lib/01f7_61f7_Base_20Addr_09Rxint.rel deleted file mode 100644 index 04d5d024..00000000 --- a/src/nos/lib/messages_lib/01f7_61f7_Base_20Addr_09Rxint.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 47 flags 0 -S ___01f7_61f7_Base_20Addr_09Rxint Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 45 00 42 61 73 65 20 41 64 64 72 -R 00 00 01 00 -T 0b 00 00 00 09 52 78 69 6e 74 73 09 54 78 69 -R 00 00 01 00 -T 16 00 00 00 6e 74 73 09 45 78 69 6e 74 73 09 -R 00 00 01 00 -T 21 00 00 00 45 6e 71 75 65 64 09 43 72 63 65 -R 00 00 01 00 -T 2c 00 00 00 72 72 09 41 62 6f 72 74 73 09 52 -R 00 00 01 00 -T 37 00 00 00 78 4f 76 65 72 73 09 52 46 72 61 -R 00 00 01 00 -T 42 00 00 00 6d 65 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f7_6692__3b_20Tries_3a_20_2.rel b/src/nos/lib/messages_lib/01f7_6692__3b_20Tries_3a_20_2.rel new file mode 100644 index 00000000..f5fa08bc --- /dev/null +++ b/src/nos/lib/messages_lib/01f7_6692__3b_20Tries_3a_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___01f7_6692__3b_20Tries_3a_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 3b 20 54 72 69 65 73 3a 20 +R 00 00 01 00 +T 0b 00 00 00 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f8_697b__3c_25ld_40_25s_3e_.rel b/src/nos/lib/messages_lib/01f8_697b__3c_25ld_40_25s_3e_.rel new file mode 100644 index 00000000..1daba605 --- /dev/null +++ b/src/nos/lib/messages_lib/01f8_697b__3c_25ld_40_25s_3e_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___01f8_697b__3c_25ld_40_25s_3e_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 3c 25 6c 64 40 25 73 3e 0a +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f8_929a_Base_20Addr_20_20Rx.rel b/src/nos/lib/messages_lib/01f8_929a_Base_20Addr_20_20Rx.rel deleted file mode 100644 index b8bdff65..00000000 --- a/src/nos/lib/messages_lib/01f8_929a_Base_20Addr_20_20Rx.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4e flags 0 -S ___01f8_929a_Base_20Addr_20_20Rx Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 4c 00 42 61 73 65 20 41 64 64 72 -R 00 00 01 00 -T 0b 00 00 00 20 20 52 78 69 6e 74 73 20 20 54 -R 00 00 01 00 -T 16 00 00 00 78 69 6e 74 73 20 20 45 78 69 6e -R 00 00 01 00 -T 21 00 00 00 74 73 20 20 54 78 46 72 6d 73 20 -R 00 00 01 00 -T 2c 00 00 00 20 52 78 46 72 6d 73 20 20 43 72 -R 00 00 01 00 -T 37 00 00 00 63 65 72 72 20 20 52 78 4f 76 72 -R 00 00 01 00 -T 42 00 00 00 73 20 20 54 78 55 6e 64 72 20 0a -R 00 00 01 00 -T 4d 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f9_2587__3c_25s_40_25s_2ebb.rel b/src/nos/lib/messages_lib/01f9_2587__3c_25s_40_25s_2ebb.rel new file mode 100644 index 00000000..e63962d8 --- /dev/null +++ b/src/nos/lib/messages_lib/01f9_2587__3c_25s_40_25s_2ebb.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___01f9_2587__3c_25s_40_25s_2ebb Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 3c 25 73 40 25 73 2e 62 62 +R 00 00 01 00 +T 0b 00 00 00 73 3e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01f9_de82_Buf_20hits_2fmiss_2.rel b/src/nos/lib/messages_lib/01f9_de82_Buf_20hits_2fmiss_2.rel deleted file mode 100644 index f50e5bc4..00000000 --- a/src/nos/lib/messages_lib/01f9_de82_Buf_20hits_2fmiss_2.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 45 flags 0 -S ___01f9_de82_Buf_20hits_2fmiss_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 43 00 42 75 66 20 68 69 74 73 2f -R 00 00 01 00 -T 0b 00 00 00 6d 69 73 73 2f 66 6c 73 68 3a 20 -R 00 00 01 00 -T 16 00 00 00 25 75 2f 25 75 2f 25 75 0a 42 75 -R 00 00 01 00 -T 21 00 00 00 66 66 73 3a 09 64 65 76 09 62 6c -R 00 00 01 00 -T 2c 00 00 00 6f 63 6b 09 44 42 50 09 74 69 6d -R 00 00 01 00 -T 37 00 00 00 65 09 28 63 6c 6f 63 6b 3d 25 64 -R 00 00 01 00 -T 42 00 00 00 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01fa_3152__3c_3d_3d_25s.rel b/src/nos/lib/messages_lib/01fa_3152__3c_3d_3d_25s.rel new file mode 100644 index 00000000..648cd799 --- /dev/null +++ b/src/nos/lib/messages_lib/01fa_3152__3c_3d_3d_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___01fa_3152__3c_3d_3d_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 3c 3d 3d 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01fa_ae0c_CTRL_2d_25c_0a.rel b/src/nos/lib/messages_lib/01fa_ae0c_CTRL_2d_25c_0a.rel deleted file mode 100644 index 87f300ab..00000000 --- a/src/nos/lib/messages_lib/01fa_ae0c_CTRL_2d_25c_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___01fa_ae0c_CTRL_2d_25c_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 43 54 52 4c 2d 25 63 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01fb_6c46_CWD_20_25s_0a.rel b/src/nos/lib/messages_lib/01fb_6c46_CWD_20_25s_0a.rel deleted file mode 100644 index f934c2ed..00000000 --- a/src/nos/lib/messages_lib/01fb_6c46_CWD_20_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___01fb_6c46_CWD_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 43 57 44 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01fb_defc__3c_3d_3d_25s_0a.rel b/src/nos/lib/messages_lib/01fb_defc__3c_3d_3d_25s_0a.rel new file mode 100644 index 00000000..db31878b --- /dev/null +++ b/src/nos/lib/messages_lib/01fb_defc__3c_3d_3d_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___01fb_defc__3c_3d_3d_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 3c 3d 3d 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01fc_016b__3d_3d_3eARTICLE_20.rel b/src/nos/lib/messages_lib/01fc_016b__3d_3d_3eARTICLE_20.rel new file mode 100644 index 00000000..de2eefe9 --- /dev/null +++ b/src/nos/lib/messages_lib/01fc_016b__3d_3d_3eARTICLE_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___01fc_016b__3d_3d_3eARTICLE_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 3d 3d 3e 41 52 54 49 43 4c +R 00 00 01 00 +T 0b 00 00 00 45 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01fc_0e64_Calls_20originated_.rel b/src/nos/lib/messages_lib/01fc_0e64_Calls_20originated_.rel deleted file mode 100644 index 65f5944d..00000000 --- a/src/nos/lib/messages_lib/01fc_0e64_Calls_20originated_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2c flags 0 -S ___01fc_0e64_Calls_20originated_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2a 00 43 61 6c 6c 73 20 6f 72 69 -R 00 00 01 00 -T 0b 00 00 00 67 69 6e 61 74 65 64 20 25 6c 75 -R 00 00 01 00 -T 16 00 00 00 2c 20 43 61 6c 6c 73 20 61 6e 73 -R 00 00 01 00 -T 21 00 00 00 77 65 72 65 64 20 25 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01fd_9777_Calls_20timed_20out.rel b/src/nos/lib/messages_lib/01fd_9777_Calls_20timed_20out.rel deleted file mode 100644 index aebdabdb..00000000 --- a/src/nos/lib/messages_lib/01fd_9777_Calls_20timed_20out.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 30 flags 0 -S ___01fd_9777_Calls_20timed_20out Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2e 00 43 61 6c 6c 73 20 74 69 6d -R 00 00 01 00 -T 0b 00 00 00 65 64 20 6f 75 74 20 25 6c 75 2c -R 00 00 01 00 -T 16 00 00 00 20 63 61 72 72 69 65 72 20 74 72 -R 00 00 01 00 -T 21 00 00 00 61 6e 73 69 74 69 6f 6e 73 20 25 -R 00 00 01 00 -T 2c 00 00 00 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01fd_c133__3d_3d_3eNEWNEWS_20.rel b/src/nos/lib/messages_lib/01fd_c133__3d_3d_3eNEWNEWS_20.rel new file mode 100644 index 00000000..af7029c2 --- /dev/null +++ b/src/nos/lib/messages_lib/01fd_c133__3d_3d_3eNEWNEWS_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___01fd_c133__3d_3d_3eNEWNEWS_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 3d 3d 3e 4e 45 57 4e 45 57 +R 00 00 01 00 +T 0b 00 00 00 53 20 25 73 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01fe_696c__3d_3d_3eQUIT_0a.rel b/src/nos/lib/messages_lib/01fe_696c__3d_3d_3eQUIT_0a.rel new file mode 100644 index 00000000..0d81cd81 --- /dev/null +++ b/src/nos/lib/messages_lib/01fe_696c__3d_3d_3eQUIT_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___01fe_696c__3d_3d_3eQUIT_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 3d 3d 3e 51 55 49 54 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01fe_e911_Can_27t_20NLST_20_2.rel b/src/nos/lib/messages_lib/01fe_e911_Can_27t_20NLST_20_2.rel deleted file mode 100644 index 3e32ea7b..00000000 --- a/src/nos/lib/messages_lib/01fe_e911_Can_27t_20NLST_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___01fe_e911_Can_27t_20NLST_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 43 61 6e 27 74 20 4e 4c 53 -R 00 00 01 00 -T 0b 00 00 00 54 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ff_396e__3d_3dNo_20response.rel b/src/nos/lib/messages_lib/01ff_396e__3d_3dNo_20response.rel new file mode 100644 index 00000000..63ba372e --- /dev/null +++ b/src/nos/lib/messages_lib/01ff_396e__3d_3dNo_20response.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___01ff_396e__3d_3dNo_20response Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 3d 3d 4e 6f 20 72 65 73 70 +R 00 00 01 00 +T 0b 00 00 00 6f 6e 73 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/01ff_daf3_Can_27t_20add_20rou.rel b/src/nos/lib/messages_lib/01ff_daf3_Can_27t_20add_20rou.rel deleted file mode 100644 index 0a7bf0c3..00000000 --- a/src/nos/lib/messages_lib/01ff_daf3_Can_27t_20add_20rou.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___01ff_daf3_Can_27t_20add_20rou Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 43 61 6e 27 74 20 61 64 64 -R 00 00 01 00 -T 0b 00 00 00 20 72 6f 75 74 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0200_6db7_Can_27t_20attach_20.rel b/src/nos/lib/messages_lib/0200_6db7_Can_27t_20attach_20.rel deleted file mode 100644 index 4915a733..00000000 --- a/src/nos/lib/messages_lib/0200_6db7_Can_27t_20attach_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___0200_6db7_Can_27t_20attach_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 43 61 6e 27 74 20 61 74 74 -R 00 00 01 00 -T 0b 00 00 00 61 63 68 20 69 6e 74 65 72 66 61 -R 00 00 01 00 -T 16 00 00 00 63 65 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0200_c6f3__3f.rel b/src/nos/lib/messages_lib/0200_c6f3__3f.rel new file mode 100644 index 00000000..24c9997d --- /dev/null +++ b/src/nos/lib/messages_lib/0200_c6f3__3f.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 4 flags 0 +S ___0200_c6f3__3f Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 02 00 3f 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0201_4d83__40.rel b/src/nos/lib/messages_lib/0201_4d83__40.rel new file mode 100644 index 00000000..783a358b --- /dev/null +++ b/src/nos/lib/messages_lib/0201_4d83__40.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 4 flags 0 +S ___0201_4d83__40 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 02 00 40 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0201_79e8_Can_27t_20change_20.rel b/src/nos/lib/messages_lib/0201_79e8_Can_27t_20change_20.rel deleted file mode 100644 index c2b6d4f1..00000000 --- a/src/nos/lib/messages_lib/0201_79e8_Can_27t_20change_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___0201_79e8_Can_27t_20change_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 43 61 6e 27 74 20 63 68 61 -R 00 00 01 00 -T 0b 00 00 00 6e 67 65 20 64 69 72 65 63 74 6f -R 00 00 01 00 -T 16 00 00 00 72 79 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0202_23d2__40_25s.rel b/src/nos/lib/messages_lib/0202_23d2__40_25s.rel new file mode 100644 index 00000000..80c2cf58 --- /dev/null +++ b/src/nos/lib/messages_lib/0202_23d2__40_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0202_23d2__40_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 40 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0202_3bb8_Can_27t_20create_20.rel b/src/nos/lib/messages_lib/0202_3bb8_Can_27t_20create_20.rel deleted file mode 100644 index 31d98020..00000000 --- a/src/nos/lib/messages_lib/0202_3bb8_Can_27t_20create_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___0202_3bb8_Can_27t_20create_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 43 61 6e 27 74 20 63 72 65 -R 00 00 01 00 -T 0b 00 00 00 61 74 65 20 22 25 73 22 3a 20 25 -R 00 00 01 00 -T 16 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0203_0003_Can_27t_20create_20.rel b/src/nos/lib/messages_lib/0203_0003_Can_27t_20create_20.rel deleted file mode 100644 index fae3d43e..00000000 --- a/src/nos/lib/messages_lib/0203_0003_Can_27t_20create_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0203_0003_Can_27t_20create_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 43 61 6e 27 74 20 63 72 65 -R 00 00 01 00 -T 0b 00 00 00 61 74 65 20 72 61 77 20 73 6f 63 -R 00 00 01 00 -T 16 00 00 00 6b 65 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0203_7f61_ARP_3a_20len_20_25d.rel b/src/nos/lib/messages_lib/0203_7f61_ARP_3a_20len_20_25d.rel new file mode 100644 index 00000000..07a5c195 --- /dev/null +++ b/src/nos/lib/messages_lib/0203_7f61_ARP_3a_20len_20_25d.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0203_7f61_ARP_3a_20len_20_25d Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 41 52 50 3a 20 6c 65 6e 20 +R 00 00 01 00 +T 0b 00 00 00 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0204_124c_ARTICLE_20_25s.rel b/src/nos/lib/messages_lib/0204_124c_ARTICLE_20_25s.rel new file mode 100644 index 00000000..6eef17ba --- /dev/null +++ b/src/nos/lib/messages_lib/0204_124c_ARTICLE_20_25s.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0204_124c_ARTICLE_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 41 52 54 49 43 4c 45 20 25 +R 00 00 01 00 +T 0b 00 00 00 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0204_ef8c_Can_27t_20create_20.rel b/src/nos/lib/messages_lib/0204_ef8c_Can_27t_20create_20.rel deleted file mode 100644 index ecea8982..00000000 --- a/src/nos/lib/messages_lib/0204_ef8c_Can_27t_20create_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___0204_ef8c_Can_27t_20create_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 43 61 6e 27 74 20 63 72 65 -R 00 00 01 00 -T 0b 00 00 00 61 74 65 20 73 6f 63 6b 65 74 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0205_109d_AX25_20receive_20wi.rel b/src/nos/lib/messages_lib/0205_109d_AX25_20receive_20wi.rel new file mode 100644 index 00000000..bf68564e --- /dev/null +++ b/src/nos/lib/messages_lib/0205_109d_AX25_20receive_20wi.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___0205_109d_AX25_20receive_20wi Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 41 58 32 35 20 72 65 63 65 +R 00 00 01 00 +T 0b 00 00 00 69 76 65 20 77 69 6e 64 6f 77 20 +R 00 00 01 00 +T 16 00 00 00 28 62 79 74 65 73 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0205_28e0_Can_27t_20create_20.rel b/src/nos/lib/messages_lib/0205_28e0_Can_27t_20create_20.rel deleted file mode 100644 index 399f87d7..00000000 --- a/src/nos/lib/messages_lib/0205_28e0_Can_27t_20create_20.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 -S ___0205_28e0_Can_27t_20create_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 20 00 43 61 6e 27 74 20 63 72 65 -R 00 00 01 00 -T 0b 00 00 00 61 74 65 20 74 65 6d 70 20 66 69 -R 00 00 01 00 -T 16 00 00 00 6c 65 20 66 6f 72 20 6d 61 69 6c -R 00 00 01 00 -T 21 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0206_d5bc_Can_27t_20create_20.rel b/src/nos/lib/messages_lib/0206_d5bc_Can_27t_20create_20.rel deleted file mode 100644 index 4a3aa01a..00000000 --- a/src/nos/lib/messages_lib/0206_d5bc_Can_27t_20create_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0206_d5bc_Can_27t_20create_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 43 61 6e 27 74 20 63 72 65 -R 00 00 01 00 -T 0b 00 00 00 61 74 65 20 75 64 70 20 73 6f 63 -R 00 00 01 00 -T 16 00 00 00 6b 65 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0206_f4e0_AX25_20version.rel b/src/nos/lib/messages_lib/0206_f4e0_AX25_20version.rel new file mode 100644 index 00000000..f773286b --- /dev/null +++ b/src/nos/lib/messages_lib/0206_f4e0_AX25_20version.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0206_f4e0_AX25_20version Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 41 58 32 35 20 76 65 72 73 +R 00 00 01 00 +T 0b 00 00 00 69 6f 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0207_818f_AX25_3a_20.rel b/src/nos/lib/messages_lib/0207_818f_AX25_3a_20.rel new file mode 100644 index 00000000..06d6a98e --- /dev/null +++ b/src/nos/lib/messages_lib/0207_818f_AX25_3a_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0207_818f_AX25_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 41 58 32 35 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0207_c7fb_Can_27t_20delete_20.rel b/src/nos/lib/messages_lib/0207_c7fb_Can_27t_20delete_20.rel deleted file mode 100644 index 3901680f..00000000 --- a/src/nos/lib/messages_lib/0207_c7fb_Can_27t_20delete_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___0207_c7fb_Can_27t_20delete_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 43 61 6e 27 74 20 64 65 6c -R 00 00 01 00 -T 0b 00 00 00 65 74 65 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0208_d5d6_Can_27t_20detach_20.rel b/src/nos/lib/messages_lib/0208_d5d6_Can_27t_20detach_20.rel deleted file mode 100644 index 409093a0..00000000 --- a/src/nos/lib/messages_lib/0208_d5d6_Can_27t_20detach_20.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2c flags 0 -S ___0208_d5d6_Can_27t_20detach_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2a 00 43 61 6e 27 74 20 64 65 74 -R 00 00 01 00 -T 0b 00 00 00 61 63 68 20 6c 6f 6f 70 62 61 63 -R 00 00 01 00 -T 16 00 00 00 6b 20 6f 72 20 65 6e 63 61 70 20 -R 00 00 01 00 -T 21 00 00 00 69 6e 74 65 72 66 61 63 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0208_f05c_Abort_0d_0a.rel b/src/nos/lib/messages_lib/0208_f05c_Abort_0d_0a.rel new file mode 100644 index 00000000..41636777 --- /dev/null +++ b/src/nos/lib/messages_lib/0208_f05c_Abort_0d_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0208_f05c_Abort_0d_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 41 62 6f 72 74 0d 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0209_5d65_Can_27t_20find_20he.rel b/src/nos/lib/messages_lib/0209_5d65_Can_27t_20find_20he.rel deleted file mode 100644 index 6d65b458..00000000 --- a/src/nos/lib/messages_lib/0209_5d65_Can_27t_20find_20he.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___0209_5d65_Can_27t_20find_20he Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 43 61 6e 27 74 20 66 69 6e -R 00 00 01 00 -T 0b 00 00 00 64 20 68 65 61 64 65 72 20 6c 69 -R 00 00 01 00 -T 16 00 00 00 6e 65 20 69 6e 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0209_6caf_Aborted_2e.rel b/src/nos/lib/messages_lib/0209_6caf_Aborted_2e.rel new file mode 100644 index 00000000..cd7c3abc --- /dev/null +++ b/src/nos/lib/messages_lib/0209_6caf_Aborted_2e.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___0209_6caf_Aborted_2e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 41 62 6f 72 74 65 64 2e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/020a_3eee_Can_27t_20list_20lo.rel b/src/nos/lib/messages_lib/020a_3eee_Can_27t_20list_20lo.rel deleted file mode 100644 index 925d2d88..00000000 --- a/src/nos/lib/messages_lib/020a_3eee_Can_27t_20list_20lo.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___020a_3eee_Can_27t_20list_20lo Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 43 61 6e 27 74 20 6c 69 73 -R 00 00 01 00 -T 0b 00 00 00 74 20 6c 6f 63 61 6c 20 66 69 6c -R 00 00 01 00 -T 16 00 00 00 65 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/020a_f2cb_Aborted_2e_0a.rel b/src/nos/lib/messages_lib/020a_f2cb_Aborted_2e_0a.rel new file mode 100644 index 00000000..a8261eea --- /dev/null +++ b/src/nos/lib/messages_lib/020a_f2cb_Aborted_2e_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___020a_f2cb_Aborted_2e_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 41 62 6f 72 74 65 64 2e 0a +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/020b_537a_Accept_0a.rel b/src/nos/lib/messages_lib/020b_537a_Accept_0a.rel new file mode 100644 index 00000000..f4850804 --- /dev/null +++ b/src/nos/lib/messages_lib/020b_537a_Accept_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___020b_537a_Accept_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 41 63 63 65 70 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/020b_c1c1_Can_27t_20open_20_2.rel b/src/nos/lib/messages_lib/020b_c1c1_Can_27t_20open_20_2.rel deleted file mode 100644 index f27c87a0..00000000 --- a/src/nos/lib/messages_lib/020b_c1c1_Can_27t_20open_20_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___020b_c1c1_Can_27t_20open_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 43 61 6e 27 74 20 6f 70 65 -R 00 00 01 00 -T 0b 00 00 00 6e 20 22 25 73 22 3a 20 25 73 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/020c_d953_Ack_20Rcvd.rel b/src/nos/lib/messages_lib/020c_d953_Ack_20Rcvd.rel new file mode 100644 index 00000000..a76755de --- /dev/null +++ b/src/nos/lib/messages_lib/020c_d953_Ack_20Rcvd.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___020c_d953_Ack_20Rcvd Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 41 63 6b 20 52 63 76 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/020c_fedd_Can_27t_20open_20_2.rel b/src/nos/lib/messages_lib/020c_fedd_Can_27t_20open_20_2.rel deleted file mode 100644 index fa3d8236..00000000 --- a/src/nos/lib/messages_lib/020c_fedd_Can_27t_20open_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___020c_fedd_Can_27t_20open_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 43 61 6e 27 74 20 6f 70 65 -R 00 00 01 00 -T 0b 00 00 00 6e 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/020d_58e1_Ack_20Sent.rel b/src/nos/lib/messages_lib/020d_58e1_Ack_20Sent.rel new file mode 100644 index 00000000..c5c03d3f --- /dev/null +++ b/src/nos/lib/messages_lib/020d_58e1_Ack_20Sent.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___020d_58e1_Ack_20Sent Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 41 63 6b 20 53 65 6e 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/020d_fb2a_Can_27t_20open_20_2.rel b/src/nos/lib/messages_lib/020d_fb2a_Can_27t_20open_20_2.rel deleted file mode 100644 index 7dfa0853..00000000 --- a/src/nos/lib/messages_lib/020d_fb2a_Can_27t_20open_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___020d_fb2a_Can_27t_20open_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 43 61 6e 27 74 20 6f 70 65 -R 00 00 01 00 -T 0b 00 00 00 6e 20 25 73 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/020e_b988_Ack_20delay_20time_.rel b/src/nos/lib/messages_lib/020e_b988_Ack_20delay_20time_.rel new file mode 100644 index 00000000..28ebca8e --- /dev/null +++ b/src/nos/lib/messages_lib/020e_b988_Ack_20delay_20time_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___020e_b988_Ack_20delay_20time_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 41 63 6b 20 64 65 6c 61 79 +R 00 00 01 00 +T 0b 00 00 00 20 74 69 6d 65 20 28 6d 73 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/020e_d8a5_Can_27t_20open_20in.rel b/src/nos/lib/messages_lib/020e_d8a5_Can_27t_20open_20in.rel deleted file mode 100644 index 72f0b0eb..00000000 --- a/src/nos/lib/messages_lib/020e_d8a5_Can_27t_20open_20in.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___020e_d8a5_Can_27t_20open_20in Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 43 61 6e 27 74 20 6f 70 65 -R 00 00 01 00 -T 0b 00 00 00 6e 20 69 6e 74 65 72 66 61 63 65 -R 00 00 01 00 -T 16 00 00 00 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/020f_0616_Can_27t_20read_20_2.rel b/src/nos/lib/messages_lib/020f_0616_Can_27t_20read_20_2.rel deleted file mode 100644 index 3250d2dc..00000000 --- a/src/nos/lib/messages_lib/020f_0616_Can_27t_20read_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___020f_0616_Can_27t_20read_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 43 61 6e 27 74 20 72 65 61 -R 00 00 01 00 -T 0b 00 00 00 64 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/020f_fccc_Active_20RIP_20outp.rel b/src/nos/lib/messages_lib/020f_fccc_Active_20RIP_20outp.rel new file mode 100644 index 00000000..8de7e0d4 --- /dev/null +++ b/src/nos/lib/messages_lib/020f_fccc_Active_20RIP_20outp.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___020f_fccc_Active_20RIP_20outp Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 41 63 74 69 76 65 20 52 49 +R 00 00 01 00 +T 0b 00 00 00 50 20 6f 75 74 70 75 74 20 69 6e +R 00 00 01 00 +T 16 00 00 00 74 65 72 66 61 63 65 73 3a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0210_4a10_Can_27t_20read_20_2.rel b/src/nos/lib/messages_lib/0210_4a10_Can_27t_20read_20_2.rel deleted file mode 100644 index 8e7074c2..00000000 --- a/src/nos/lib/messages_lib/0210_4a10_Can_27t_20read_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___0210_4a10_Can_27t_20read_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 43 61 6e 27 74 20 72 65 61 -R 00 00 01 00 -T 0b 00 00 00 64 20 25 73 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0210_fb01_Actively_20opening_.rel b/src/nos/lib/messages_lib/0210_fb01_Actively_20opening_.rel new file mode 100644 index 00000000..b763a48c --- /dev/null +++ b/src/nos/lib/messages_lib/0210_fb01_Actively_20opening_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0210_fb01_Actively_20opening_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 41 63 74 69 76 65 6c 79 20 +R 00 00 01 00 +T 0b 00 00 00 6f 70 65 6e 69 6e 67 20 50 50 50 +R 00 00 01 00 +T 16 00 00 00 2d 4c 43 50 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0211_8468_Can_27t_20read_20co.rel b/src/nos/lib/messages_lib/0211_8468_Can_27t_20read_20co.rel deleted file mode 100644 index 5f54c3c4..00000000 --- a/src/nos/lib/messages_lib/0211_8468_Can_27t_20read_20co.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___0211_8468_Can_27t_20read_20co Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 43 61 6e 27 74 20 72 65 61 -R 00 00 01 00 -T 0b 00 00 00 64 20 63 6f 6e 66 69 67 20 66 69 -R 00 00 01 00 -T 16 00 00 00 6c 65 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0211_e216_Address_2fControl_2.rel b/src/nos/lib/messages_lib/0211_e216_Address_2fControl_2.rel new file mode 100644 index 00000000..3f13b906 --- /dev/null +++ b/src/nos/lib/messages_lib/0211_e216_Address_2fControl_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___0211_e216_Address_2fControl_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 41 64 64 72 65 73 73 2f 43 +R 00 00 01 00 +T 0b 00 00 00 6f 6e 74 72 6f 6c 20 46 69 65 6c +R 00 00 01 00 +T 16 00 00 00 64 20 43 6f 6d 70 72 65 73 73 69 +R 00 00 01 00 +T 21 00 00 00 6f 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0212_1fbc_All_20groups_20are_.rel b/src/nos/lib/messages_lib/0212_1fbc_All_20groups_20are_.rel new file mode 100644 index 00000000..581845d8 --- /dev/null +++ b/src/nos/lib/messages_lib/0212_1fbc_All_20groups_20are_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___0212_1fbc_All_20groups_20are_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 41 6c 6c 20 67 72 6f 75 70 +R 00 00 01 00 +T 0b 00 00 00 73 20 61 72 65 20 63 75 72 72 65 +R 00 00 01 00 +T 16 00 00 00 6e 74 6c 79 20 65 6e 61 62 6c 65 +R 00 00 01 00 +T 21 00 00 00 64 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0212_4327_Can_27t_20read_20di.rel b/src/nos/lib/messages_lib/0212_4327_Can_27t_20read_20di.rel deleted file mode 100644 index e232d650..00000000 --- a/src/nos/lib/messages_lib/0212_4327_Can_27t_20read_20di.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 -S ___0212_4327_Can_27t_20read_20di Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 20 00 43 61 6e 27 74 20 72 65 61 -R 00 00 01 00 -T 0b 00 00 00 64 20 64 69 72 65 63 74 6f 72 79 -R 00 00 01 00 -T 16 00 00 00 3a 20 22 25 73 22 3a 20 25 73 0a -R 00 00 01 00 -T 21 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0213_4a0c_Allow_20ACCM.rel b/src/nos/lib/messages_lib/0213_4a0c_Allow_20ACCM.rel new file mode 100644 index 00000000..28b28f63 --- /dev/null +++ b/src/nos/lib/messages_lib/0213_4a0c_Allow_20ACCM.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0213_4a0c_Allow_20ACCM Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 41 6c 6c 6f 77 20 41 43 43 +R 00 00 01 00 +T 0b 00 00 00 4d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0213_5fb2_Can_27t_20read_20lo.rel b/src/nos/lib/messages_lib/0213_5fb2_Can_27t_20read_20lo.rel deleted file mode 100644 index 5dc64ddb..00000000 --- a/src/nos/lib/messages_lib/0213_5fb2_Can_27t_20read_20lo.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___0213_5fb2_Can_27t_20read_20lo Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 43 61 6e 27 74 20 72 65 61 -R 00 00 01 00 -T 0b 00 00 00 64 20 6c 6f 63 61 6c 20 66 69 6c -R 00 00 01 00 -T 16 00 00 00 65 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0214_36d4_Can_27t_20read_20pa.rel b/src/nos/lib/messages_lib/0214_36d4_Can_27t_20read_20pa.rel deleted file mode 100644 index 38d77725..00000000 --- a/src/nos/lib/messages_lib/0214_36d4_Can_27t_20read_20pa.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___0214_36d4_Can_27t_20read_20pa Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 43 61 6e 27 74 20 72 65 61 -R 00 00 01 00 -T 0b 00 00 00 64 20 70 61 73 73 77 64 20 66 69 -R 00 00 01 00 -T 16 00 00 00 6c 65 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0214_8e02_Allow_20Address.rel b/src/nos/lib/messages_lib/0214_8e02_Allow_20Address.rel new file mode 100644 index 00000000..8107efd0 --- /dev/null +++ b/src/nos/lib/messages_lib/0214_8e02_Allow_20Address.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___0214_8e02_Allow_20Address Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 41 6c 6c 6f 77 20 41 64 64 +R 00 00 01 00 +T 0b 00 00 00 72 65 73 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0215_5e43_Can_27t_20rename_20.rel b/src/nos/lib/messages_lib/0215_5e43_Can_27t_20rename_20.rel deleted file mode 100644 index 6b3c009b..00000000 --- a/src/nos/lib/messages_lib/0215_5e43_Can_27t_20rename_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___0215_5e43_Can_27t_20rename_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 43 61 6e 27 74 20 72 65 6e -R 00 00 01 00 -T 0b 00 00 00 61 6d 65 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0215_7b21_Allow_20Address_2fC.rel b/src/nos/lib/messages_lib/0215_7b21_Allow_20Address_2fC.rel new file mode 100644 index 00000000..943160ed --- /dev/null +++ b/src/nos/lib/messages_lib/0215_7b21_Allow_20Address_2fC.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___0215_7b21_Allow_20Address_2fC Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 41 6c 6c 6f 77 20 41 64 64 +R 00 00 01 00 +T 0b 00 00 00 72 65 73 73 2f 43 6f 6e 74 72 6f +R 00 00 01 00 +T 16 00 00 00 6c 20 46 69 65 6c 64 20 43 6f 6d +R 00 00 01 00 +T 21 00 00 00 70 72 65 73 73 69 6f 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0216_4bfe_Can_27t_20rewrite_2.rel b/src/nos/lib/messages_lib/0216_4bfe_Can_27t_20rewrite_2.rel deleted file mode 100644 index 6080a4cf..00000000 --- a/src/nos/lib/messages_lib/0216_4bfe_Can_27t_20rewrite_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___0216_4bfe_Can_27t_20rewrite_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 43 61 6e 27 74 20 72 65 77 -R 00 00 01 00 -T 0b 00 00 00 72 69 74 65 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0216_5003_Allow_20Authenticat.rel b/src/nos/lib/messages_lib/0216_5003_Allow_20Authenticat.rel new file mode 100644 index 00000000..bfb70ec4 --- /dev/null +++ b/src/nos/lib/messages_lib/0216_5003_Allow_20Authenticat.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___0216_5003_Allow_20Authenticat Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 41 6c 6c 6f 77 20 41 75 74 +R 00 00 01 00 +T 0b 00 00 00 68 65 6e 74 69 63 61 74 69 6f 6e +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0217_081e_Allow_20Compression.rel b/src/nos/lib/messages_lib/0217_081e_Allow_20Compression.rel new file mode 100644 index 00000000..37b3113f --- /dev/null +++ b/src/nos/lib/messages_lib/0217_081e_Allow_20Compression.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___0217_081e_Allow_20Compression Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 41 6c 6c 6f 77 20 43 6f 6d +R 00 00 01 00 +T 0b 00 00 00 70 72 65 73 73 69 6f 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0217_24ca_Can_27t_20set_20lin.rel b/src/nos/lib/messages_lib/0217_24ca_Can_27t_20set_20lin.rel deleted file mode 100644 index 299e653e..00000000 --- a/src/nos/lib/messages_lib/0217_24ca_Can_27t_20set_20lin.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___0217_24ca_Can_27t_20set_20lin Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 43 61 6e 27 74 20 73 65 74 -R 00 00 01 00 -T 0b 00 00 00 20 6c 69 6e 6b 20 61 64 64 72 65 -R 00 00 01 00 -T 16 00 00 00 73 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0218_14d8_Allow_20MRU.rel b/src/nos/lib/messages_lib/0218_14d8_Allow_20MRU.rel new file mode 100644 index 00000000..88e9a015 --- /dev/null +++ b/src/nos/lib/messages_lib/0218_14d8_Allow_20MRU.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0218_14d8_Allow_20MRU Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 41 6c 6c 6f 77 20 4d 52 55 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0218_5e82_Can_27t_20write_20_.rel b/src/nos/lib/messages_lib/0218_5e82_Can_27t_20write_20_.rel deleted file mode 100644 index c65a0876..00000000 --- a/src/nos/lib/messages_lib/0218_5e82_Can_27t_20write_20_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___0218_5e82_Can_27t_20write_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 43 61 6e 27 74 20 77 72 69 -R 00 00 01 00 -T 0b 00 00 00 74 65 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0219_5c94_Allow_20Magic_20Num.rel b/src/nos/lib/messages_lib/0219_5c94_Allow_20Magic_20Num.rel new file mode 100644 index 00000000..fe63af90 --- /dev/null +++ b/src/nos/lib/messages_lib/0219_5c94_Allow_20Magic_20Num.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___0219_5c94_Allow_20Magic_20Num Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 41 6c 6c 6f 77 20 4d 61 67 +R 00 00 01 00 +T 0b 00 00 00 69 63 20 4e 75 6d 62 65 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0219_988b_Can_27t_20write_20l.rel b/src/nos/lib/messages_lib/0219_988b_Can_27t_20write_20l.rel deleted file mode 100644 index 677abc4f..00000000 --- a/src/nos/lib/messages_lib/0219_988b_Can_27t_20write_20l.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___0219_988b_Can_27t_20write_20l Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 43 61 6e 27 74 20 77 72 69 -R 00 00 01 00 -T 0b 00 00 00 74 65 20 6c 6f 63 61 6c 20 66 69 -R 00 00 01 00 -T 16 00 00 00 6c 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/021a_33ea_Allow_20Protocol_20.rel b/src/nos/lib/messages_lib/021a_33ea_Allow_20Protocol_20.rel new file mode 100644 index 00000000..3cc6359f --- /dev/null +++ b/src/nos/lib/messages_lib/021a_33ea_Allow_20Protocol_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___021a_33ea_Allow_20Protocol_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 41 6c 6c 6f 77 20 50 72 6f +R 00 00 01 00 +T 0b 00 00 00 74 6f 63 6f 6c 20 46 69 65 6c 64 +R 00 00 01 00 +T 16 00 00 00 20 43 6f 6d 70 72 65 73 73 69 6f +R 00 00 01 00 +T 21 00 00 00 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/021a_c0f9_Can_27t_20write_20t.rel b/src/nos/lib/messages_lib/021a_c0f9_Can_27t_20write_20t.rel deleted file mode 100644 index 79d0c555..00000000 --- a/src/nos/lib/messages_lib/021a_c0f9_Can_27t_20write_20t.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___021a_c0f9_Can_27t_20write_20t Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 43 61 6e 27 74 20 77 72 69 -R 00 00 01 00 -T 0b 00 00 00 74 65 20 74 6f 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/021b_5055_Ch_20Iface_20_20_20.rel b/src/nos/lib/messages_lib/021b_5055_Ch_20Iface_20_20_20.rel deleted file mode 100644 index f62abbe5..00000000 --- a/src/nos/lib/messages_lib/021b_5055_Ch_20Iface_20_20_20.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 53 flags 0 -S ___021b_5055_Ch_20Iface_20_20_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 51 00 43 68 20 49 66 61 63 65 20 -R 00 00 01 00 -T 0b 00 00 00 20 20 20 53 65 6e 74 20 20 20 52 -R 00 00 01 00 -T 16 00 00 00 63 76 64 20 20 20 45 72 72 6f 72 -R 00 00 01 00 -T 21 00 00 00 20 53 70 61 63 65 20 4f 76 65 72 -R 00 00 01 00 -T 2c 00 00 00 72 20 20 20 52 78 69 6e 74 73 20 -R 00 00 01 00 -T 37 00 00 00 20 20 54 78 69 6e 74 73 20 20 20 -R 00 00 01 00 -T 42 00 00 00 45 78 69 6e 74 73 20 20 20 53 70 -R 00 00 01 00 -T 4d 00 00 00 69 6e 74 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/021b_a5f9_Already_20have_20_2.rel b/src/nos/lib/messages_lib/021b_a5f9_Already_20have_20_2.rel new file mode 100644 index 00000000..563e0ad9 --- /dev/null +++ b/src/nos/lib/messages_lib/021b_a5f9_Already_20have_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___021b_a5f9_Already_20have_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 41 6c 72 65 61 64 79 20 68 +R 00 00 01 00 +T 0b 00 00 00 61 76 65 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/021c_8eaf_Arcnet_3a_20len_20_.rel b/src/nos/lib/messages_lib/021c_8eaf_Arcnet_3a_20len_20_.rel new file mode 100644 index 00000000..076af8be --- /dev/null +++ b/src/nos/lib/messages_lib/021c_8eaf_Arcnet_3a_20len_20_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___021c_8eaf_Arcnet_3a_20len_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 41 72 63 6e 65 74 3a 20 6c +R 00 00 01 00 +T 0b 00 00 00 65 6e 20 25 75 20 25 73 2d 3e 25 +R 00 00 01 00 +T 16 00 00 00 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/021c_eff3_Channel_20_2d_20_25.rel b/src/nos/lib/messages_lib/021c_eff3_Channel_20_2d_20_25.rel deleted file mode 100644 index 55210377..00000000 --- a/src/nos/lib/messages_lib/021c_eff3_Channel_20_2d_20_25.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___021c_eff3_Channel_20_2d_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 43 68 61 6e 6e 65 6c 20 2d -R 00 00 01 00 -T 0b 00 00 00 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/021d_1b09_Choke_20timeout_20_.rel b/src/nos/lib/messages_lib/021d_1b09_Choke_20timeout_20_.rel deleted file mode 100644 index 43d53708..00000000 --- a/src/nos/lib/messages_lib/021d_1b09_Choke_20timeout_20_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___021d_1b09_Choke_20timeout_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 43 68 6f 6b 65 20 74 69 6d -R 00 00 01 00 -T 0b 00 00 00 65 6f 75 74 20 28 6d 73 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/021d_52c7_Argument_20missing_.rel b/src/nos/lib/messages_lib/021d_52c7_Argument_20missing_.rel new file mode 100644 index 00000000..f348f075 --- /dev/null +++ b/src/nos/lib/messages_lib/021d_52c7_Argument_20missing_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___021d_52c7_Argument_20missing_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 41 72 67 75 6d 65 6e 74 20 +R 00 00 01 00 +T 0b 00 00 00 6d 69 73 73 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/021e_3ed8_Ascii_0a.rel b/src/nos/lib/messages_lib/021e_3ed8_Ascii_0a.rel new file mode 100644 index 00000000..cb189d0c --- /dev/null +++ b/src/nos/lib/messages_lib/021e_3ed8_Ascii_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___021e_3ed8_Ascii_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 41 73 63 69 69 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/021e_f95c_Closed_3a_20_25s_0a.rel b/src/nos/lib/messages_lib/021e_f95c_Closed_3a_20_25s_0a.rel deleted file mode 100644 index 3673ad77..00000000 --- a/src/nos/lib/messages_lib/021e_f95c_Closed_3a_20_25s_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___021e_f95c_Closed_3a_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 43 6c 6f 73 65 64 3a 20 25 -R 00 00 01 00 -T 0b 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/021f_7cb2_Attach_20device_20f.rel b/src/nos/lib/messages_lib/021f_7cb2_Attach_20device_20f.rel new file mode 100644 index 00000000..dfd6bc1e --- /dev/null +++ b/src/nos/lib/messages_lib/021f_7cb2_Attach_20device_20f.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___021f_7cb2_Attach_20device_20f Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 41 74 74 61 63 68 20 64 65 +R 00 00 01 00 +T 0b 00 00 00 76 69 63 65 20 66 69 72 73 74 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/021f_e508_Command_20batching.rel b/src/nos/lib/messages_lib/021f_e508_Command_20batching.rel deleted file mode 100644 index a6bd4868..00000000 --- a/src/nos/lib/messages_lib/021f_e508_Command_20batching.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___021f_e508_Command_20batching Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 43 6f 6d 6d 61 6e 64 20 62 -R 00 00 01 00 -T 0b 00 00 00 61 74 63 68 69 6e 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0220_b471_Connect_20failed_0a.rel b/src/nos/lib/messages_lib/0220_b471_Connect_20failed_0a.rel deleted file mode 100644 index 89b33697..00000000 --- a/src/nos/lib/messages_lib/0220_b471_Connect_20failed_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___0220_b471_Connect_20failed_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 43 6f 6e 6e 65 63 74 20 66 -R 00 00 01 00 -T 0b 00 00 00 61 69 6c 65 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0220_ec38_Attach_20netrom_20i.rel b/src/nos/lib/messages_lib/0220_ec38_Attach_20netrom_20i.rel new file mode 100644 index 00000000..3c1b932b --- /dev/null +++ b/src/nos/lib/messages_lib/0220_ec38_Attach_20netrom_20i.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___0220_ec38_Attach_20netrom_20i Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 41 74 74 61 63 68 20 6e 65 +R 00 00 01 00 +T 0b 00 00 00 74 72 6f 6d 20 69 6e 74 65 72 66 +R 00 00 01 00 +T 16 00 00 00 61 63 65 20 66 69 72 73 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0221_bb2f_Connect_20failed_3a.rel b/src/nos/lib/messages_lib/0221_bb2f_Connect_20failed_3a.rel deleted file mode 100644 index b228f113..00000000 --- a/src/nos/lib/messages_lib/0221_bb2f_Connect_20failed_3a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___0221_bb2f_Connect_20failed_3a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 43 6f 6e 6e 65 63 74 20 66 -R 00 00 01 00 -T 0b 00 00 00 61 69 6c 65 64 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0221_ee22_Attended_20flag.rel b/src/nos/lib/messages_lib/0221_ee22_Attended_20flag.rel new file mode 100644 index 00000000..10e276cd --- /dev/null +++ b/src/nos/lib/messages_lib/0221_ee22_Attended_20flag.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___0221_ee22_Attended_20flag Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 41 74 74 65 6e 64 65 64 20 +R 00 00 01 00 +T 0b 00 00 00 66 6c 61 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0222_85e9_Connect_20to_20mail.rel b/src/nos/lib/messages_lib/0222_85e9_Connect_20to_20mail.rel deleted file mode 100644 index d89ae9ab..00000000 --- a/src/nos/lib/messages_lib/0222_85e9_Connect_20to_20mail.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___0222_85e9_Connect_20to_20mail Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 43 6f 6e 6e 65 63 74 20 74 -R 00 00 01 00 -T 0b 00 00 00 6f 20 6d 61 69 6c 68 6f 73 74 20 -R 00 00 01 00 -T 16 00 00 00 25 73 20 66 61 69 6c 65 64 3a 20 -R 00 00 01 00 -T 21 00 00 00 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0222_b76d_Authentication_20Ph.rel b/src/nos/lib/messages_lib/0222_b76d_Authentication_20Ph.rel new file mode 100644 index 00000000..27f12dc8 --- /dev/null +++ b/src/nos/lib/messages_lib/0222_b76d_Authentication_20Ph.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___0222_b76d_Authentication_20Ph Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 41 75 74 68 65 6e 74 69 63 +R 00 00 01 00 +T 0b 00 00 00 61 74 69 6f 6e 20 50 68 61 73 65 +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0223_0443_Available_20areas_2.rel b/src/nos/lib/messages_lib/0223_0443_Available_20areas_2.rel new file mode 100644 index 00000000..00890a79 --- /dev/null +++ b/src/nos/lib/messages_lib/0223_0443_Available_20areas_2.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 36 flags 0 +S ___0223_0443_Available_20areas_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 34 00 41 76 61 69 6c 61 62 6c 65 +R 00 00 01 00 +T 0b 00 00 00 20 61 72 65 61 73 20 61 72 65 3a +R 00 00 01 00 +T 16 00 00 00 0a 25 2d 31 35 73 20 20 59 6f 75 +R 00 00 01 00 +T 21 00 00 00 72 20 70 72 69 76 61 74 65 20 6d +R 00 00 01 00 +T 2c 00 00 00 61 69 6c 20 61 72 65 61 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0223_6930_Connected_0a.rel b/src/nos/lib/messages_lib/0223_6930_Connected_0a.rel deleted file mode 100644 index 6830ad0a..00000000 --- a/src/nos/lib/messages_lib/0223_6930_Connected_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___0223_6930_Connected_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 43 6f 6e 6e 65 63 74 65 64 -R 00 00 01 00 -T 0b 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0224_5189_Connected_20to_20_2.rel b/src/nos/lib/messages_lib/0224_5189_Connected_20to_20_2.rel deleted file mode 100644 index 1773d887..00000000 --- a/src/nos/lib/messages_lib/0224_5189_Connected_20to_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___0224_5189_Connected_20to_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 43 6f 6e 6e 65 63 74 65 64 -R 00 00 01 00 -T 0b 00 00 00 20 74 6f 20 25 73 09 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0224_6999_Backoff_20Level_20_.rel b/src/nos/lib/messages_lib/0224_6999_Backoff_20Level_20_.rel new file mode 100644 index 00000000..ae189f59 --- /dev/null +++ b/src/nos/lib/messages_lib/0224_6999_Backoff_20Level_20_.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 30 flags 0 +S ___0224_6999_Backoff_20Level_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2e 00 42 61 63 6b 6f 66 66 20 4c +R 00 00 01 00 +T 0b 00 00 00 65 76 65 6c 20 25 75 20 53 52 54 +R 00 00 01 00 +T 16 00 00 00 54 20 25 6c 64 20 6d 73 20 4d 65 +R 00 00 01 00 +T 21 00 00 00 61 6e 20 64 65 76 20 25 6c 64 20 +R 00 00 01 00 +T 2c 00 00 00 6d 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0225_771a_Connected_20to_20ma.rel b/src/nos/lib/messages_lib/0225_771a_Connected_20to_20ma.rel deleted file mode 100644 index 029b64c0..00000000 --- a/src/nos/lib/messages_lib/0225_771a_Connected_20to_20ma.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0225_771a_Connected_20to_20ma Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 43 6f 6e 6e 65 63 74 65 64 -R 00 00 01 00 -T 0b 00 00 00 20 74 6f 20 6d 61 69 6c 68 6f 73 -R 00 00 01 00 -T 16 00 00 00 74 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0225_9716_Bad_20digipeater_20.rel b/src/nos/lib/messages_lib/0225_9716_Bad_20digipeater_20.rel new file mode 100644 index 00000000..44833574 --- /dev/null +++ b/src/nos/lib/messages_lib/0225_9716_Bad_20digipeater_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___0225_9716_Bad_20digipeater_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 42 61 64 20 64 69 67 69 70 +R 00 00 01 00 +T 0b 00 00 00 65 61 74 65 72 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0226_0b9f_Bad_20syntax_2e_0a.rel b/src/nos/lib/messages_lib/0226_0b9f_Bad_20syntax_2e_0a.rel new file mode 100644 index 00000000..e1b6c4d5 --- /dev/null +++ b/src/nos/lib/messages_lib/0226_0b9f_Bad_20syntax_2e_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0226_0b9f_Bad_20syntax_2e_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 42 61 64 20 73 79 6e 74 61 +R 00 00 01 00 +T 0b 00 00 00 78 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0226_0e16_Connected_2e.rel b/src/nos/lib/messages_lib/0226_0e16_Connected_2e.rel deleted file mode 100644 index 9edf2bcc..00000000 --- a/src/nos/lib/messages_lib/0226_0e16_Connected_2e.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___0226_0e16_Connected_2e Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 43 6f 6e 6e 65 63 74 65 64 -R 00 00 01 00 -T 0b 00 00 00 2e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0227_3e79_Connection_20closed.rel b/src/nos/lib/messages_lib/0227_3e79_Connection_20closed.rel deleted file mode 100644 index 990ce39b..00000000 --- a/src/nos/lib/messages_lib/0227_3e79_Connection_20closed.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___0227_3e79_Connection_20closed Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 43 6f 6e 6e 65 63 74 69 6f -R 00 00 01 00 -T 0b 00 00 00 6e 20 63 6c 6f 73 65 64 20 74 6f -R 00 00 01 00 -T 16 00 00 00 20 6d 61 69 6c 68 6f 73 74 20 25 -R 00 00 01 00 -T 21 00 00 00 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0227_e884_Bad_20target_20_25s.rel b/src/nos/lib/messages_lib/0227_e884_Bad_20target_20_25s.rel new file mode 100644 index 00000000..0bc933e5 --- /dev/null +++ b/src/nos/lib/messages_lib/0227_e884_Bad_20target_20_25s.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0227_e884_Bad_20target_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 42 61 64 20 74 61 72 67 65 +R 00 00 01 00 +T 0b 00 00 00 74 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0228_822a_Bad_20user_20or_20h.rel b/src/nos/lib/messages_lib/0228_822a_Bad_20user_20or_20h.rel new file mode 100644 index 00000000..2049c398 --- /dev/null +++ b/src/nos/lib/messages_lib/0228_822a_Bad_20user_20or_20h.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___0228_822a_Bad_20user_20or_20h Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 42 61 64 20 75 73 65 72 20 +R 00 00 01 00 +T 0b 00 00 00 6f 72 20 68 6f 73 74 20 6e 61 6d +R 00 00 01 00 +T 16 00 00 00 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0228_faa9_Connection_20failed.rel b/src/nos/lib/messages_lib/0228_faa9_Connection_20failed.rel deleted file mode 100644 index b1f676b0..00000000 --- a/src/nos/lib/messages_lib/0228_faa9_Connection_20failed.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___0228_faa9_Connection_20failed Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 43 6f 6e 6e 65 63 74 69 6f -R 00 00 01 00 -T 0b 00 00 00 6e 20 66 61 69 6c 65 64 3a 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0229_3676_Could_20not_20creat.rel b/src/nos/lib/messages_lib/0229_3676_Could_20not_20creat.rel deleted file mode 100644 index 2c4ce5f1..00000000 --- a/src/nos/lib/messages_lib/0229_3676_Could_20not_20creat.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2a flags 0 -S ___0229_3676_Could_20not_20creat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 28 00 43 6f 75 6c 64 20 6e 6f 74 -R 00 00 01 00 -T 0b 00 00 00 20 63 72 65 61 74 65 20 73 6f 63 -R 00 00 01 00 -T 16 00 00 00 6b 65 74 20 70 61 69 72 2c 20 65 -R 00 00 01 00 -T 21 00 00 00 72 72 6e 6f 20 25 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0229_61f7_Base_20Addr_09Rxint.rel b/src/nos/lib/messages_lib/0229_61f7_Base_20Addr_09Rxint.rel new file mode 100644 index 00000000..ae43b2dc --- /dev/null +++ b/src/nos/lib/messages_lib/0229_61f7_Base_20Addr_09Rxint.rel @@ -0,0 +1,22 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 47 flags 0 +S ___0229_61f7_Base_20Addr_09Rxint Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 45 00 42 61 73 65 20 41 64 64 72 +R 00 00 01 00 +T 0b 00 00 00 09 52 78 69 6e 74 73 09 54 78 69 +R 00 00 01 00 +T 16 00 00 00 6e 74 73 09 45 78 69 6e 74 73 09 +R 00 00 01 00 +T 21 00 00 00 45 6e 71 75 65 64 09 43 72 63 65 +R 00 00 01 00 +T 2c 00 00 00 72 72 09 41 62 6f 72 74 73 09 52 +R 00 00 01 00 +T 37 00 00 00 78 4f 76 65 72 73 09 52 46 72 61 +R 00 00 01 00 +T 42 00 00 00 6d 65 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/022a_929a_Base_20Addr_20_20Rx.rel b/src/nos/lib/messages_lib/022a_929a_Base_20Addr_20_20Rx.rel new file mode 100644 index 00000000..99fb3d4a --- /dev/null +++ b/src/nos/lib/messages_lib/022a_929a_Base_20Addr_20_20Rx.rel @@ -0,0 +1,24 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 4e flags 0 +S ___022a_929a_Base_20Addr_20_20Rx Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 4c 00 42 61 73 65 20 41 64 64 72 +R 00 00 01 00 +T 0b 00 00 00 20 20 52 78 69 6e 74 73 20 20 54 +R 00 00 01 00 +T 16 00 00 00 78 69 6e 74 73 20 20 45 78 69 6e +R 00 00 01 00 +T 21 00 00 00 74 73 20 20 54 78 46 72 6d 73 20 +R 00 00 01 00 +T 2c 00 00 00 20 52 78 46 72 6d 73 20 20 43 72 +R 00 00 01 00 +T 37 00 00 00 63 65 72 72 20 20 52 78 4f 76 72 +R 00 00 01 00 +T 42 00 00 00 73 20 20 54 78 55 6e 64 72 20 0a +R 00 00 01 00 +T 4d 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/022a_d95b_Couldn_27t_20queue_.rel b/src/nos/lib/messages_lib/022a_d95b_Couldn_27t_20queue_.rel deleted file mode 100644 index 759c1ea2..00000000 --- a/src/nos/lib/messages_lib/022a_d95b_Couldn_27t_20queue_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___022a_d95b_Couldn_27t_20queue_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 43 6f 75 6c 64 6e 27 74 20 -R 00 00 01 00 -T 0b 00 00 00 71 75 65 75 65 20 6d 65 73 73 61 -R 00 00 01 00 -T 16 00 00 00 67 65 20 66 6f 72 20 64 65 6c 69 -R 00 00 01 00 -T 21 00 00 00 76 65 72 79 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/022b_68a6_Current_20message_2.rel b/src/nos/lib/messages_lib/022b_68a6_Current_20message_2.rel deleted file mode 100644 index d560f022..00000000 --- a/src/nos/lib/messages_lib/022b_68a6_Current_20message_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___022b_68a6_Current_20message_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 43 75 72 72 65 6e 74 20 6d -R 00 00 01 00 -T 0b 00 00 00 65 73 73 61 67 65 20 61 72 65 61 -R 00 00 01 00 -T 16 00 00 00 20 69 73 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/022b_de82_Buf_20hits_2fmiss_2.rel b/src/nos/lib/messages_lib/022b_de82_Buf_20hits_2fmiss_2.rel new file mode 100644 index 00000000..ce7a3582 --- /dev/null +++ b/src/nos/lib/messages_lib/022b_de82_Buf_20hits_2fmiss_2.rel @@ -0,0 +1,22 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 45 flags 0 +S ___022b_de82_Buf_20hits_2fmiss_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 43 00 42 75 66 20 68 69 74 73 2f +R 00 00 01 00 +T 0b 00 00 00 6d 69 73 73 2f 66 6c 73 68 3a 20 +R 00 00 01 00 +T 16 00 00 00 25 75 2f 25 75 2f 25 75 0a 42 75 +R 00 00 01 00 +T 21 00 00 00 66 66 73 3a 09 64 65 76 09 62 6c +R 00 00 01 00 +T 2c 00 00 00 6f 63 6b 09 44 42 50 09 74 69 6d +R 00 00 01 00 +T 37 00 00 00 65 09 28 63 6c 6f 63 6b 3d 25 64 +R 00 00 01 00 +T 42 00 00 00 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/022c_23ad_Currently_20enabled.rel b/src/nos/lib/messages_lib/022c_23ad_Currently_20enabled.rel deleted file mode 100644 index e2375ab7..00000000 --- a/src/nos/lib/messages_lib/022c_23ad_Currently_20enabled.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___022c_23ad_Currently_20enabled Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 43 75 72 72 65 6e 74 6c 79 -R 00 00 01 00 -T 0b 00 00 00 20 65 6e 61 62 6c 65 64 20 6e 65 -R 00 00 01 00 -T 16 00 00 00 77 73 67 72 6f 75 70 73 3a 0a 25 -R 00 00 01 00 -T 21 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/022c_ae0c_CTRL_2d_25c_0a.rel b/src/nos/lib/messages_lib/022c_ae0c_CTRL_2d_25c_0a.rel new file mode 100644 index 00000000..50d44dda --- /dev/null +++ b/src/nos/lib/messages_lib/022c_ae0c_CTRL_2d_25c_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___022c_ae0c_CTRL_2d_25c_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 43 54 52 4c 2d 25 63 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/022d_1cf7_DELE_20_25s.rel b/src/nos/lib/messages_lib/022d_1cf7_DELE_20_25s.rel deleted file mode 100644 index b23d9cc2..00000000 --- a/src/nos/lib/messages_lib/022d_1cf7_DELE_20_25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___022d_1cf7_DELE_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 44 45 4c 45 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/022d_6c46_CWD_20_25s_0a.rel b/src/nos/lib/messages_lib/022d_6c46_CWD_20_25s_0a.rel new file mode 100644 index 00000000..93066e4e --- /dev/null +++ b/src/nos/lib/messages_lib/022d_6c46_CWD_20_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___022d_6c46_CWD_20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 43 57 44 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/022e_0e64_Calls_20originated_.rel b/src/nos/lib/messages_lib/022e_0e64_Calls_20originated_.rel new file mode 100644 index 00000000..d4e100cd --- /dev/null +++ b/src/nos/lib/messages_lib/022e_0e64_Calls_20originated_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2c flags 0 +S ___022e_0e64_Calls_20originated_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2a 00 43 61 6c 6c 73 20 6f 72 69 +R 00 00 01 00 +T 0b 00 00 00 67 69 6e 61 74 65 64 20 25 6c 75 +R 00 00 01 00 +T 16 00 00 00 2c 20 43 61 6c 6c 73 20 61 6e 73 +R 00 00 01 00 +T 21 00 00 00 77 65 72 65 64 20 25 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/022e_5fad_DISASTER_21_20Out_2.rel b/src/nos/lib/messages_lib/022e_5fad_DISASTER_21_20Out_2.rel deleted file mode 100644 index fe54bb0a..00000000 --- a/src/nos/lib/messages_lib/022e_5fad_DISASTER_21_20Out_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___022e_5fad_DISASTER_21_20Out_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 44 49 53 41 53 54 45 52 21 -R 00 00 01 00 -T 0b 00 00 00 20 4f 75 74 20 6f 66 20 4d 65 6d -R 00 00 01 00 -T 16 00 00 00 6f 72 79 20 66 6f 72 20 52 65 63 -R 00 00 01 00 -T 21 00 00 00 65 69 76 65 21 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/022f_7ce2_DRSI_20Board_20Stat.rel b/src/nos/lib/messages_lib/022f_7ce2_DRSI_20Board_20Stat.rel deleted file mode 100644 index 63ea6b06..00000000 --- a/src/nos/lib/messages_lib/022f_7ce2_DRSI_20Board_20Stat.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2a flags 0 -S ___022f_7ce2_DRSI_20Board_20Stat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 28 00 44 52 53 49 20 42 6f 61 72 -R 00 00 01 00 -T 0b 00 00 00 64 20 53 74 61 74 69 73 74 69 63 -R 00 00 01 00 -T 16 00 00 00 73 20 2d 20 4e 36 54 54 4f 20 31 -R 00 00 01 00 -T 21 00 00 00 31 32 37 39 30 2e 30 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/022f_9777_Calls_20timed_20out.rel b/src/nos/lib/messages_lib/022f_9777_Calls_20timed_20out.rel new file mode 100644 index 00000000..d020fbf5 --- /dev/null +++ b/src/nos/lib/messages_lib/022f_9777_Calls_20timed_20out.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 30 flags 0 +S ___022f_9777_Calls_20timed_20out Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2e 00 43 61 6c 6c 73 20 74 69 6d +R 00 00 01 00 +T 0b 00 00 00 65 64 20 6f 75 74 20 25 6c 75 2c +R 00 00 01 00 +T 16 00 00 00 20 63 61 72 72 69 65 72 20 74 72 +R 00 00 01 00 +T 21 00 00 00 61 6e 73 69 74 69 6f 6e 73 20 25 +R 00 00 01 00 +T 2c 00 00 00 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0230_2f52_D_5bU_5d_20filename.rel b/src/nos/lib/messages_lib/0230_2f52_D_5bU_5d_20filename.rel deleted file mode 100644 index 9712d12d..00000000 --- a/src/nos/lib/messages_lib/0230_2f52_D_5bU_5d_20filename.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___0230_2f52_D_5bU_5d_20filename Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 44 5b 55 5d 20 66 69 6c 65 -R 00 00 01 00 -T 0b 00 00 00 6e 61 6d 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0230_e911_Can_27t_20NLST_20_2.rel b/src/nos/lib/messages_lib/0230_e911_Can_27t_20NLST_20_2.rel new file mode 100644 index 00000000..b088445b --- /dev/null +++ b/src/nos/lib/messages_lib/0230_e911_Can_27t_20NLST_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0230_e911_Can_27t_20NLST_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 43 61 6e 27 74 20 4e 4c 53 +R 00 00 01 00 +T 0b 00 00 00 54 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0231_698b_Data_0a.rel b/src/nos/lib/messages_lib/0231_698b_Data_0a.rel deleted file mode 100644 index 89924ce5..00000000 --- a/src/nos/lib/messages_lib/0231_698b_Data_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0231_698b_Data_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 44 61 74 61 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0231_daf3_Can_27t_20add_20rou.rel b/src/nos/lib/messages_lib/0231_daf3_Can_27t_20add_20rou.rel new file mode 100644 index 00000000..2561c51e --- /dev/null +++ b/src/nos/lib/messages_lib/0231_daf3_Can_27t_20add_20rou.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___0231_daf3_Can_27t_20add_20rou Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 43 61 6e 27 74 20 61 64 64 +R 00 00 01 00 +T 0b 00 00 00 20 72 6f 75 74 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0232_6db7_Can_27t_20attach_20.rel b/src/nos/lib/messages_lib/0232_6db7_Can_27t_20attach_20.rel new file mode 100644 index 00000000..e547f43f --- /dev/null +++ b/src/nos/lib/messages_lib/0232_6db7_Can_27t_20attach_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___0232_6db7_Can_27t_20attach_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 43 61 6e 27 74 20 61 74 74 +R 00 00 01 00 +T 0b 00 00 00 61 63 68 20 69 6e 74 65 72 66 61 +R 00 00 01 00 +T 16 00 00 00 63 65 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0232_cb1c_Data_20outside_20he.rel b/src/nos/lib/messages_lib/0232_cb1c_Data_20outside_20he.rel deleted file mode 100644 index e49f4c83..00000000 --- a/src/nos/lib/messages_lib/0232_cb1c_Data_20outside_20he.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___0232_cb1c_Data_20outside_20he Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 44 61 74 61 20 6f 75 74 73 -R 00 00 01 00 -T 0b 00 00 00 69 64 65 20 68 65 61 70 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0233_01be_Data_20pointer_20_2.rel b/src/nos/lib/messages_lib/0233_01be_Data_20pointer_20_2.rel deleted file mode 100644 index 0de27509..00000000 --- a/src/nos/lib/messages_lib/0233_01be_Data_20pointer_20_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___0233_01be_Data_20pointer_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 44 61 74 61 20 70 6f 69 6e -R 00 00 01 00 -T 0b 00 00 00 74 65 72 20 2b 20 63 6f 75 6e 74 -R 00 00 01 00 -T 16 00 00 00 20 70 61 73 74 20 62 6f 75 6e 64 -R 00 00 01 00 -T 21 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0233_79e8_Can_27t_20change_20.rel b/src/nos/lib/messages_lib/0233_79e8_Can_27t_20change_20.rel new file mode 100644 index 00000000..132d170b --- /dev/null +++ b/src/nos/lib/messages_lib/0233_79e8_Can_27t_20change_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___0233_79e8_Can_27t_20change_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 43 61 6e 27 74 20 63 68 61 +R 00 00 01 00 +T 0b 00 00 00 6e 67 65 20 64 69 72 65 63 74 6f +R 00 00 01 00 +T 16 00 00 00 72 79 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0234_3bb8_Can_27t_20create_20.rel b/src/nos/lib/messages_lib/0234_3bb8_Can_27t_20create_20.rel new file mode 100644 index 00000000..b154e647 --- /dev/null +++ b/src/nos/lib/messages_lib/0234_3bb8_Can_27t_20create_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___0234_3bb8_Can_27t_20create_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 43 61 6e 27 74 20 63 72 65 +R 00 00 01 00 +T 0b 00 00 00 61 74 65 20 22 25 73 22 3a 20 25 +R 00 00 01 00 +T 16 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0234_3cbb_Data_20pointer_20be.rel b/src/nos/lib/messages_lib/0234_3cbb_Data_20pointer_20be.rel deleted file mode 100644 index 8a3e60a0..00000000 --- a/src/nos/lib/messages_lib/0234_3cbb_Data_20pointer_20be.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___0234_3cbb_Data_20pointer_20be Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 44 61 74 61 20 70 6f 69 6e -R 00 00 01 00 -T 0b 00 00 00 74 65 72 20 62 65 66 6f 72 65 20 -R 00 00 01 00 -T 16 00 00 00 62 75 66 66 65 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0235_0003_Can_27t_20create_20.rel b/src/nos/lib/messages_lib/0235_0003_Can_27t_20create_20.rel new file mode 100644 index 00000000..f60ab557 --- /dev/null +++ b/src/nos/lib/messages_lib/0235_0003_Can_27t_20create_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0235_0003_Can_27t_20create_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 43 61 6e 27 74 20 63 72 65 +R 00 00 01 00 +T 0b 00 00 00 61 74 65 20 72 61 77 20 73 6f 63 +R 00 00 01 00 +T 16 00 00 00 6b 65 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0235_bd70_Defaulting_20to_20b.rel b/src/nos/lib/messages_lib/0235_bd70_Defaulting_20to_20b.rel deleted file mode 100644 index 1f25881a..00000000 --- a/src/nos/lib/messages_lib/0235_bd70_Defaulting_20to_20b.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___0235_bd70_Defaulting_20to_20b Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 44 65 66 61 75 6c 74 69 6e -R 00 00 01 00 -T 0b 00 00 00 67 20 74 6f 20 62 69 6e 61 72 79 -R 00 00 01 00 -T 16 00 00 00 20 6d 6f 64 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0236_2d19_Del_5fconst_20_3d_2.rel b/src/nos/lib/messages_lib/0236_2d19_Del_5fconst_20_3d_2.rel deleted file mode 100644 index 4b3f9e76..00000000 --- a/src/nos/lib/messages_lib/0236_2d19_Del_5fconst_20_3d_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___0236_2d19_Del_5fconst_20_3d_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 44 65 6c 5f 63 6f 6e 73 74 -R 00 00 01 00 -T 0b 00 00 00 20 3d 20 25 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0236_ef8c_Can_27t_20create_20.rel b/src/nos/lib/messages_lib/0236_ef8c_Can_27t_20create_20.rel new file mode 100644 index 00000000..29c91eaa --- /dev/null +++ b/src/nos/lib/messages_lib/0236_ef8c_Can_27t_20create_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___0236_ef8c_Can_27t_20create_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 43 61 6e 27 74 20 63 72 65 +R 00 00 01 00 +T 0b 00 00 00 61 74 65 20 73 6f 63 6b 65 74 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0237_28e0_Can_27t_20create_20.rel b/src/nos/lib/messages_lib/0237_28e0_Can_27t_20create_20.rel new file mode 100644 index 00000000..71621b39 --- /dev/null +++ b/src/nos/lib/messages_lib/0237_28e0_Can_27t_20create_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___0237_28e0_Can_27t_20create_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 43 61 6e 27 74 20 63 72 65 +R 00 00 01 00 +T 0b 00 00 00 61 74 65 20 74 65 6d 70 20 66 69 +R 00 00 01 00 +T 16 00 00 00 6c 65 20 66 6f 72 20 6d 61 69 6c +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0237_6255_Dest_20Addr_20_20_2.rel b/src/nos/lib/messages_lib/0237_6255_Dest_20Addr_20_20_2.rel deleted file mode 100644 index af0f4ac8..00000000 --- a/src/nos/lib/messages_lib/0237_6255_Dest_20Addr_20_20_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 -S ___0237_6255_Dest_20Addr_20_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 20 00 44 65 73 74 20 41 64 64 72 -R 00 00 01 00 -T 0b 00 00 00 20 20 20 20 20 20 20 49 6e 74 65 -R 00 00 01 00 -T 16 00 00 00 72 76 61 6c 20 53 70 6c 69 74 0a -R 00 00 01 00 -T 21 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0238_3894_Dialing_20not_20sup.rel b/src/nos/lib/messages_lib/0238_3894_Dialing_20not_20sup.rel deleted file mode 100644 index dee5dffd..00000000 --- a/src/nos/lib/messages_lib/0238_3894_Dialing_20not_20sup.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___0238_3894_Dialing_20not_20sup Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 44 69 61 6c 69 6e 67 20 6e -R 00 00 01 00 -T 0b 00 00 00 6f 74 20 73 75 70 70 6f 72 74 65 -R 00 00 01 00 -T 16 00 00 00 64 20 6f 6e 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0238_d5bc_Can_27t_20create_20.rel b/src/nos/lib/messages_lib/0238_d5bc_Can_27t_20create_20.rel new file mode 100644 index 00000000..1da601fd --- /dev/null +++ b/src/nos/lib/messages_lib/0238_d5bc_Can_27t_20create_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0238_d5bc_Can_27t_20create_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 43 61 6e 27 74 20 63 72 65 +R 00 00 01 00 +T 0b 00 00 00 61 74 65 20 75 64 70 20 73 6f 63 +R 00 00 01 00 +T 16 00 00 00 6b 65 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0239_26a3_Different_0a.rel b/src/nos/lib/messages_lib/0239_26a3_Different_0a.rel deleted file mode 100644 index f0f80ed7..00000000 --- a/src/nos/lib/messages_lib/0239_26a3_Different_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___0239_26a3_Different_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 44 69 66 66 65 72 65 6e 74 -R 00 00 01 00 -T 0b 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0239_c7fb_Can_27t_20delete_20.rel b/src/nos/lib/messages_lib/0239_c7fb_Can_27t_20delete_20.rel new file mode 100644 index 00000000..b48b814d --- /dev/null +++ b/src/nos/lib/messages_lib/0239_c7fb_Can_27t_20delete_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0239_c7fb_Can_27t_20delete_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 43 61 6e 27 74 20 64 65 6c +R 00 00 01 00 +T 0b 00 00 00 65 74 65 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/023a_ae33_Digipeat.rel b/src/nos/lib/messages_lib/023a_ae33_Digipeat.rel deleted file mode 100644 index 0f275a79..00000000 --- a/src/nos/lib/messages_lib/023a_ae33_Digipeat.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___023a_ae33_Digipeat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 44 69 67 69 70 65 61 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/023a_d5d6_Can_27t_20detach_20.rel b/src/nos/lib/messages_lib/023a_d5d6_Can_27t_20detach_20.rel new file mode 100644 index 00000000..391d2422 --- /dev/null +++ b/src/nos/lib/messages_lib/023a_d5d6_Can_27t_20detach_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2c flags 0 +S ___023a_d5d6_Can_27t_20detach_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2a 00 43 61 6e 27 74 20 64 65 74 +R 00 00 01 00 +T 0b 00 00 00 61 63 68 20 6c 6f 6f 70 62 61 63 +R 00 00 01 00 +T 16 00 00 00 6b 20 6f 72 20 65 6e 63 61 70 20 +R 00 00 01 00 +T 21 00 00 00 69 6e 74 65 72 66 61 63 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/023b_5d65_Can_27t_20find_20he.rel b/src/nos/lib/messages_lib/023b_5d65_Can_27t_20find_20he.rel new file mode 100644 index 00000000..c6ab91eb --- /dev/null +++ b/src/nos/lib/messages_lib/023b_5d65_Can_27t_20find_20he.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___023b_5d65_Can_27t_20find_20he Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 43 61 6e 27 74 20 66 69 6e +R 00 00 01 00 +T 0b 00 00 00 64 20 68 65 61 64 65 72 20 6c 69 +R 00 00 01 00 +T 16 00 00 00 6e 65 20 69 6e 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/023b_af35_Directory_20table_2.rel b/src/nos/lib/messages_lib/023b_af35_Directory_20table_2.rel deleted file mode 100644 index ac32c1a2..00000000 --- a/src/nos/lib/messages_lib/023b_af35_Directory_20table_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___023b_af35_Directory_20table_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 44 69 72 65 63 74 6f 72 79 -R 00 00 01 00 -T 0b 00 00 00 20 74 61 62 6c 65 20 66 75 6c 6c -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/023c_3eee_Can_27t_20list_20lo.rel b/src/nos/lib/messages_lib/023c_3eee_Can_27t_20list_20lo.rel new file mode 100644 index 00000000..ebfd2ea0 --- /dev/null +++ b/src/nos/lib/messages_lib/023c_3eee_Can_27t_20list_20lo.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___023c_3eee_Can_27t_20list_20lo Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 43 61 6e 27 74 20 6c 69 73 +R 00 00 01 00 +T 0b 00 00 00 74 20 6c 6f 63 61 6c 20 66 69 6c +R 00 00 01 00 +T 16 00 00 00 65 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/023c_c1bb_Disconnected_20.rel b/src/nos/lib/messages_lib/023c_c1bb_Disconnected_20.rel deleted file mode 100644 index 15908d4b..00000000 --- a/src/nos/lib/messages_lib/023c_c1bb_Disconnected_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___023c_c1bb_Disconnected_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 44 69 73 63 6f 6e 6e 65 63 -R 00 00 01 00 -T 0b 00 00 00 74 65 64 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/023d_2cc5_Disconnecting_2e.rel b/src/nos/lib/messages_lib/023d_2cc5_Disconnecting_2e.rel deleted file mode 100644 index bd0e911e..00000000 --- a/src/nos/lib/messages_lib/023d_2cc5_Disconnecting_2e.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___023d_2cc5_Disconnecting_2e Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 44 69 73 63 6f 6e 6e 65 63 -R 00 00 01 00 -T 0b 00 00 00 74 69 6e 67 2e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/023d_c1c1_Can_27t_20open_20_2.rel b/src/nos/lib/messages_lib/023d_c1c1_Can_27t_20open_20_2.rel new file mode 100644 index 00000000..4912ecb5 --- /dev/null +++ b/src/nos/lib/messages_lib/023d_c1c1_Can_27t_20open_20_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___023d_c1c1_Can_27t_20open_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 43 61 6e 27 74 20 6f 70 65 +R 00 00 01 00 +T 0b 00 00 00 6e 20 22 25 73 22 3a 20 25 73 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/023e_b7f4_Dup_20acks_20_20_20.rel b/src/nos/lib/messages_lib/023e_b7f4_Dup_20acks_20_20_20.rel deleted file mode 100644 index 60516f83..00000000 --- a/src/nos/lib/messages_lib/023e_b7f4_Dup_20acks_20_20_20.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 48 flags 0 -S ___023e_b7f4_Dup_20acks_20_20_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 46 00 44 75 70 20 61 63 6b 73 20 -R 00 00 01 00 -T 0b 00 00 00 20 20 42 61 63 6b 6f 66 66 20 20 -R 00 00 01 00 -T 16 00 00 00 20 54 69 6d 65 6f 75 74 73 20 20 -R 00 00 01 00 -T 21 00 00 00 20 53 6f 75 72 63 65 20 51 75 65 -R 00 00 01 00 -T 2c 00 00 00 6e 63 68 20 20 20 55 6e 72 65 61 -R 00 00 01 00 -T 37 00 00 00 63 68 61 62 6c 65 73 20 20 20 50 -R 00 00 01 00 -T 42 00 00 00 6f 77 65 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/023e_fedd_Can_27t_20open_20_2.rel b/src/nos/lib/messages_lib/023e_fedd_Can_27t_20open_20_2.rel new file mode 100644 index 00000000..712f92ce --- /dev/null +++ b/src/nos/lib/messages_lib/023e_fedd_Can_27t_20open_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___023e_fedd_Can_27t_20open_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 43 61 6e 27 74 20 6f 70 65 +R 00 00 01 00 +T 0b 00 00 00 6e 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/023f_3ed4_Duplex_3a_20_25s_0a.rel b/src/nos/lib/messages_lib/023f_3ed4_Duplex_3a_20_25s_0a.rel deleted file mode 100644 index 7d565902..00000000 --- a/src/nos/lib/messages_lib/023f_3ed4_Duplex_3a_20_25s_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___023f_3ed4_Duplex_3a_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 44 75 70 6c 65 78 3a 20 25 -R 00 00 01 00 -T 0b 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/023f_fb2a_Can_27t_20open_20_2.rel b/src/nos/lib/messages_lib/023f_fb2a_Can_27t_20open_20_2.rel new file mode 100644 index 00000000..85eeb160 --- /dev/null +++ b/src/nos/lib/messages_lib/023f_fb2a_Can_27t_20open_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___023f_fb2a_Can_27t_20open_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 43 61 6e 27 74 20 6f 70 65 +R 00 00 01 00 +T 0b 00 00 00 6e 20 25 73 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0240_b671_E2BIG.rel b/src/nos/lib/messages_lib/0240_b671_E2BIG.rel deleted file mode 100644 index 15370b92..00000000 --- a/src/nos/lib/messages_lib/0240_b671_E2BIG.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0240_b671_E2BIG Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 45 32 42 49 47 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0240_d8a5_Can_27t_20open_20in.rel b/src/nos/lib/messages_lib/0240_d8a5_Can_27t_20open_20in.rel new file mode 100644 index 00000000..5a1f9364 --- /dev/null +++ b/src/nos/lib/messages_lib/0240_d8a5_Can_27t_20open_20in.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0240_d8a5_Can_27t_20open_20in Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 43 61 6e 27 74 20 6f 70 65 +R 00 00 01 00 +T 0b 00 00 00 6e 20 69 6e 74 65 72 66 61 63 65 +R 00 00 01 00 +T 16 00 00 00 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0241_56e8_EACCES.rel b/src/nos/lib/messages_lib/0241_56e8_EACCES.rel deleted file mode 100644 index a0a83bbb..00000000 --- a/src/nos/lib/messages_lib/0241_56e8_EACCES.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0241_56e8_EACCES Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 45 41 43 43 45 53 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0241_8131_Can_27t_20read_20.rel b/src/nos/lib/messages_lib/0241_8131_Can_27t_20read_20.rel new file mode 100644 index 00000000..496a4dbb --- /dev/null +++ b/src/nos/lib/messages_lib/0241_8131_Can_27t_20read_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0241_8131_Can_27t_20read_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 43 61 6e 27 74 20 72 65 61 +R 00 00 01 00 +T 0b 00 00 00 64 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0242_4a10_Can_27t_20read_20_2.rel b/src/nos/lib/messages_lib/0242_4a10_Can_27t_20read_20_2.rel new file mode 100644 index 00000000..cb3610e6 --- /dev/null +++ b/src/nos/lib/messages_lib/0242_4a10_Can_27t_20read_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___0242_4a10_Can_27t_20read_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 43 61 6e 27 74 20 72 65 61 +R 00 00 01 00 +T 0b 00 00 00 64 20 25 73 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0242_f378_EAGAIN.rel b/src/nos/lib/messages_lib/0242_f378_EAGAIN.rel deleted file mode 100644 index 5e1a2f4f..00000000 --- a/src/nos/lib/messages_lib/0242_f378_EAGAIN.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0242_f378_EAGAIN Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 45 41 47 41 49 4e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0243_0483_EAGLE_20Board_20Sta.rel b/src/nos/lib/messages_lib/0243_0483_EAGLE_20Board_20Sta.rel deleted file mode 100644 index 7c1ea185..00000000 --- a/src/nos/lib/messages_lib/0243_0483_EAGLE_20Board_20Sta.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___0243_0483_EAGLE_20Board_20Sta Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 45 41 47 4c 45 20 42 6f 61 -R 00 00 01 00 -T 0b 00 00 00 72 64 20 53 74 61 74 69 73 74 69 -R 00 00 01 00 -T 16 00 00 00 63 73 3a 0a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0243_8468_Can_27t_20read_20co.rel b/src/nos/lib/messages_lib/0243_8468_Can_27t_20read_20co.rel new file mode 100644 index 00000000..fb84a467 --- /dev/null +++ b/src/nos/lib/messages_lib/0243_8468_Can_27t_20read_20co.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___0243_8468_Can_27t_20read_20co Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 43 61 6e 27 74 20 72 65 61 +R 00 00 01 00 +T 0b 00 00 00 64 20 63 6f 6e 66 69 67 20 66 69 +R 00 00 01 00 +T 16 00 00 00 6c 65 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0244_4327_Can_27t_20read_20di.rel b/src/nos/lib/messages_lib/0244_4327_Can_27t_20read_20di.rel new file mode 100644 index 00000000..29392704 --- /dev/null +++ b/src/nos/lib/messages_lib/0244_4327_Can_27t_20read_20di.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___0244_4327_Can_27t_20read_20di Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 43 61 6e 27 74 20 72 65 61 +R 00 00 01 00 +T 0b 00 00 00 64 20 64 69 72 65 63 74 6f 72 79 +R 00 00 01 00 +T 16 00 00 00 3a 20 22 25 73 22 3a 20 25 73 0a +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0244_a2a1_EBADF.rel b/src/nos/lib/messages_lib/0244_a2a1_EBADF.rel deleted file mode 100644 index 0efbc51d..00000000 --- a/src/nos/lib/messages_lib/0244_a2a1_EBADF.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0244_a2a1_EBADF Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 45 42 41 44 46 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0245_5fb2_Can_27t_20read_20lo.rel b/src/nos/lib/messages_lib/0245_5fb2_Can_27t_20read_20lo.rel new file mode 100644 index 00000000..fc1f8854 --- /dev/null +++ b/src/nos/lib/messages_lib/0245_5fb2_Can_27t_20read_20lo.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___0245_5fb2_Can_27t_20read_20lo Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 43 61 6e 27 74 20 72 65 61 +R 00 00 01 00 +T 0b 00 00 00 64 20 6c 6f 63 61 6c 20 66 69 6c +R 00 00 01 00 +T 16 00 00 00 65 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0245_74ba_EBUSY.rel b/src/nos/lib/messages_lib/0245_74ba_EBUSY.rel deleted file mode 100644 index b39d823a..00000000 --- a/src/nos/lib/messages_lib/0245_74ba_EBUSY.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0245_74ba_EBUSY Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 45 42 55 53 59 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0246_36d4_Can_27t_20read_20pa.rel b/src/nos/lib/messages_lib/0246_36d4_Can_27t_20read_20pa.rel new file mode 100644 index 00000000..066c7eb0 --- /dev/null +++ b/src/nos/lib/messages_lib/0246_36d4_Can_27t_20read_20pa.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___0246_36d4_Can_27t_20read_20pa Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 43 61 6e 27 74 20 72 65 61 +R 00 00 01 00 +T 0b 00 00 00 64 20 70 61 73 73 77 64 20 66 69 +R 00 00 01 00 +T 16 00 00 00 6c 65 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0246_4029_ECHILD.rel b/src/nos/lib/messages_lib/0246_4029_ECHILD.rel deleted file mode 100644 index 2b127754..00000000 --- a/src/nos/lib/messages_lib/0246_4029_ECHILD.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0246_4029_ECHILD Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 45 43 48 49 4c 44 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0247_5e43_Can_27t_20rename_20.rel b/src/nos/lib/messages_lib/0247_5e43_Can_27t_20rename_20.rel new file mode 100644 index 00000000..ebdc6b8c --- /dev/null +++ b/src/nos/lib/messages_lib/0247_5e43_Can_27t_20rename_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0247_5e43_Can_27t_20rename_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 43 61 6e 27 74 20 72 65 6e +R 00 00 01 00 +T 0b 00 00 00 61 6d 65 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0247_cd2b_EDEADLK.rel b/src/nos/lib/messages_lib/0247_cd2b_EDEADLK.rel deleted file mode 100644 index ff6a0b7e..00000000 --- a/src/nos/lib/messages_lib/0247_cd2b_EDEADLK.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0247_cd2b_EDEADLK Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 45 44 45 41 44 4c 4b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0248_4299_EDOM.rel b/src/nos/lib/messages_lib/0248_4299_EDOM.rel deleted file mode 100644 index caf53c9a..00000000 --- a/src/nos/lib/messages_lib/0248_4299_EDOM.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0248_4299_EDOM Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 45 44 4f 4d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0248_4bfe_Can_27t_20rewrite_2.rel b/src/nos/lib/messages_lib/0248_4bfe_Can_27t_20rewrite_2.rel new file mode 100644 index 00000000..aa9e33e0 --- /dev/null +++ b/src/nos/lib/messages_lib/0248_4bfe_Can_27t_20rewrite_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___0248_4bfe_Can_27t_20rewrite_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 43 61 6e 27 74 20 72 65 77 +R 00 00 01 00 +T 0b 00 00 00 72 69 74 65 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0249_24ca_Can_27t_20set_20lin.rel b/src/nos/lib/messages_lib/0249_24ca_Can_27t_20set_20lin.rel new file mode 100644 index 00000000..9551f0e8 --- /dev/null +++ b/src/nos/lib/messages_lib/0249_24ca_Can_27t_20set_20lin.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___0249_24ca_Can_27t_20set_20lin Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 43 61 6e 27 74 20 73 65 74 +R 00 00 01 00 +T 0b 00 00 00 20 6c 69 6e 6b 20 61 64 64 72 65 +R 00 00 01 00 +T 16 00 00 00 73 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0249_bec8_EEXIST.rel b/src/nos/lib/messages_lib/0249_bec8_EEXIST.rel deleted file mode 100644 index 6e88d4df..00000000 --- a/src/nos/lib/messages_lib/0249_bec8_EEXIST.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0249_bec8_EEXIST Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 45 45 58 49 53 54 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/024a_5e82_Can_27t_20write_20_.rel b/src/nos/lib/messages_lib/024a_5e82_Can_27t_20write_20_.rel new file mode 100644 index 00000000..2c31736b --- /dev/null +++ b/src/nos/lib/messages_lib/024a_5e82_Can_27t_20write_20_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___024a_5e82_Can_27t_20write_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 43 61 6e 27 74 20 77 72 69 +R 00 00 01 00 +T 0b 00 00 00 74 65 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/024a_afa9_EFAULT.rel b/src/nos/lib/messages_lib/024a_afa9_EFAULT.rel deleted file mode 100644 index b5a5235d..00000000 --- a/src/nos/lib/messages_lib/024a_afa9_EFAULT.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___024a_afa9_EFAULT Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 45 46 41 55 4c 54 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/024b_988b_Can_27t_20write_20l.rel b/src/nos/lib/messages_lib/024b_988b_Can_27t_20write_20l.rel new file mode 100644 index 00000000..d73d20d6 --- /dev/null +++ b/src/nos/lib/messages_lib/024b_988b_Can_27t_20write_20l.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___024b_988b_Can_27t_20write_20l Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 43 61 6e 27 74 20 77 72 69 +R 00 00 01 00 +T 0b 00 00 00 74 65 20 6c 6f 63 61 6c 20 66 69 +R 00 00 01 00 +T 16 00 00 00 6c 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/024b_9ed8_EFBIG.rel b/src/nos/lib/messages_lib/024b_9ed8_EFBIG.rel deleted file mode 100644 index ec00d4e4..00000000 --- a/src/nos/lib/messages_lib/024b_9ed8_EFBIG.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___024b_9ed8_EFBIG Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 45 46 42 49 47 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/024c_28f7_EGATTACH_3a_20No_20.rel b/src/nos/lib/messages_lib/024c_28f7_EGATTACH_3a_20No_20.rel deleted file mode 100644 index da6d3866..00000000 --- a/src/nos/lib/messages_lib/024c_28f7_EGATTACH_3a_20No_20.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 35 flags 0 -S ___024c_28f7_EGATTACH_3a_20No_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 33 00 45 47 41 54 54 41 43 48 3a -R 00 00 01 00 -T 0b 00 00 00 20 4e 6f 20 6d 65 6d 6f 72 79 20 -R 00 00 01 00 -T 16 00 00 00 61 76 61 69 6c 61 62 6c 65 20 66 -R 00 00 01 00 -T 21 00 00 00 6f 72 20 52 65 63 65 69 76 65 20 -R 00 00 01 00 -T 2c 00 00 00 62 75 66 66 65 72 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/024c_c0f9_Can_27t_20write_20t.rel b/src/nos/lib/messages_lib/024c_c0f9_Can_27t_20write_20t.rel new file mode 100644 index 00000000..7fd18569 --- /dev/null +++ b/src/nos/lib/messages_lib/024c_c0f9_Can_27t_20write_20t.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___024c_c0f9_Can_27t_20write_20t Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 43 61 6e 27 74 20 77 72 69 +R 00 00 01 00 +T 0b 00 00 00 74 65 20 74 6f 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/024d_5055_Ch_20Iface_20_20_20.rel b/src/nos/lib/messages_lib/024d_5055_Ch_20Iface_20_20_20.rel new file mode 100644 index 00000000..641e5361 --- /dev/null +++ b/src/nos/lib/messages_lib/024d_5055_Ch_20Iface_20_20_20.rel @@ -0,0 +1,24 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 53 flags 0 +S ___024d_5055_Ch_20Iface_20_20_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 51 00 43 68 20 49 66 61 63 65 20 +R 00 00 01 00 +T 0b 00 00 00 20 20 20 53 65 6e 74 20 20 20 52 +R 00 00 01 00 +T 16 00 00 00 63 76 64 20 20 20 45 72 72 6f 72 +R 00 00 01 00 +T 21 00 00 00 20 53 70 61 63 65 20 4f 76 65 72 +R 00 00 01 00 +T 2c 00 00 00 72 20 20 20 52 78 69 6e 74 73 20 +R 00 00 01 00 +T 37 00 00 00 20 20 54 78 69 6e 74 73 20 20 20 +R 00 00 01 00 +T 42 00 00 00 45 78 69 6e 74 73 20 20 20 53 70 +R 00 00 01 00 +T 4d 00 00 00 69 6e 74 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/024d_eb47_EINTR.rel b/src/nos/lib/messages_lib/024d_eb47_EINTR.rel deleted file mode 100644 index ab1b50c2..00000000 --- a/src/nos/lib/messages_lib/024d_eb47_EINTR.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___024d_eb47_EINTR Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 45 49 4e 54 52 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/024e_95d8_Ch_20Iface_20_20CTS.rel b/src/nos/lib/messages_lib/024e_95d8_Ch_20Iface_20_20CTS.rel new file mode 100644 index 00000000..d4ec5a20 --- /dev/null +++ b/src/nos/lib/messages_lib/024e_95d8_Ch_20Iface_20_20CTS.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 35 flags 0 +S ___024e_95d8_Ch_20Iface_20_20CTS Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 33 00 43 68 20 49 66 61 63 65 20 +R 00 00 01 00 +T 0b 00 00 00 20 43 54 53 2d 66 6c 6f 77 63 74 +R 00 00 01 00 +T 16 00 00 00 72 6c 20 20 44 43 44 2d 6c 69 6e +R 00 00 01 00 +T 21 00 00 00 65 63 74 72 6c 20 20 52 54 53 20 +R 00 00 01 00 +T 2c 00 00 00 43 54 53 20 44 43 44 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/024e_b479_EINVAL.rel b/src/nos/lib/messages_lib/024e_b479_EINVAL.rel deleted file mode 100644 index 1afa49d9..00000000 --- a/src/nos/lib/messages_lib/024e_b479_EINVAL.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___024e_b479_EINVAL Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 45 49 4e 56 41 4c 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/024f_21d8_EINVFNC.rel b/src/nos/lib/messages_lib/024f_21d8_EINVFNC.rel deleted file mode 100644 index 038c8ec8..00000000 --- a/src/nos/lib/messages_lib/024f_21d8_EINVFNC.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___024f_21d8_EINVFNC Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 45 49 4e 56 46 4e 43 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/024f_eff3_Channel_20_2d_20_25.rel b/src/nos/lib/messages_lib/024f_eff3_Channel_20_2d_20_25.rel new file mode 100644 index 00000000..f9464c41 --- /dev/null +++ b/src/nos/lib/messages_lib/024f_eff3_Channel_20_2d_20_25.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___024f_eff3_Channel_20_2d_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 43 68 61 6e 6e 65 6c 20 2d +R 00 00 01 00 +T 0b 00 00 00 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0250_1b09_Choke_20timeout_20_.rel b/src/nos/lib/messages_lib/0250_1b09_Choke_20timeout_20_.rel new file mode 100644 index 00000000..99d34cc9 --- /dev/null +++ b/src/nos/lib/messages_lib/0250_1b09_Choke_20timeout_20_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___0250_1b09_Choke_20timeout_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 43 68 6f 6b 65 20 74 69 6d +R 00 00 01 00 +T 0b 00 00 00 65 6f 75 74 20 28 6d 73 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0250_2d75_EIO.rel b/src/nos/lib/messages_lib/0250_2d75_EIO.rel deleted file mode 100644 index 8f4e2e3c..00000000 --- a/src/nos/lib/messages_lib/0250_2d75_EIO.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0250_2d75_EIO Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 45 49 4f 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0251_433b_Close.rel b/src/nos/lib/messages_lib/0251_433b_Close.rel new file mode 100644 index 00000000..ccdd3688 --- /dev/null +++ b/src/nos/lib/messages_lib/0251_433b_Close.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0251_433b_Close Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 43 6c 6f 73 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0251_fb45_EISDIR.rel b/src/nos/lib/messages_lib/0251_fb45_EISDIR.rel deleted file mode 100644 index 2e8d5e51..00000000 --- a/src/nos/lib/messages_lib/0251_fb45_EISDIR.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0251_fb45_EISDIR Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 45 49 53 44 49 52 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0252_8de7_ELOOP.rel b/src/nos/lib/messages_lib/0252_8de7_ELOOP.rel deleted file mode 100644 index 04750446..00000000 --- a/src/nos/lib/messages_lib/0252_8de7_ELOOP.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0252_8de7_ELOOP Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 45 4c 4f 4f 50 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0252_aa31_Closed.rel b/src/nos/lib/messages_lib/0252_aa31_Closed.rel new file mode 100644 index 00000000..979e23ff --- /dev/null +++ b/src/nos/lib/messages_lib/0252_aa31_Closed.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0252_aa31_Closed Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 43 6c 6f 73 65 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0253_9e5a_EMFILE.rel b/src/nos/lib/messages_lib/0253_9e5a_EMFILE.rel deleted file mode 100644 index 8eb57375..00000000 --- a/src/nos/lib/messages_lib/0253_9e5a_EMFILE.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0253_9e5a_EMFILE Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 45 4d 46 49 4c 45 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0253_f95c_Closed_3a_20_25s_0a.rel b/src/nos/lib/messages_lib/0253_f95c_Closed_3a_20_25s_0a.rel new file mode 100644 index 00000000..54fc6715 --- /dev/null +++ b/src/nos/lib/messages_lib/0253_f95c_Closed_3a_20_25s_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0253_f95c_Closed_3a_20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 43 6c 6f 73 65 64 3a 20 25 +R 00 00 01 00 +T 0b 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0254_253f_Closing_20PPP.rel b/src/nos/lib/messages_lib/0254_253f_Closing_20PPP.rel new file mode 100644 index 00000000..0f7fb06a --- /dev/null +++ b/src/nos/lib/messages_lib/0254_253f_Closing_20PPP.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0254_253f_Closing_20PPP Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 43 6c 6f 73 69 6e 67 20 50 +R 00 00 01 00 +T 0b 00 00 00 50 50 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0254_983a_EMLINK.rel b/src/nos/lib/messages_lib/0254_983a_EMLINK.rel deleted file mode 100644 index 151cb78f..00000000 --- a/src/nos/lib/messages_lib/0254_983a_EMLINK.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0254_983a_EMLINK Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 45 4d 4c 49 4e 4b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0255_0607_ENAMETOOLONG.rel b/src/nos/lib/messages_lib/0255_0607_ENAMETOOLONG.rel deleted file mode 100644 index b61cf2e1..00000000 --- a/src/nos/lib/messages_lib/0255_0607_ENAMETOOLONG.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___0255_0607_ENAMETOOLONG Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 45 4e 41 4d 45 54 4f 4f 4c -R 00 00 01 00 -T 0b 00 00 00 4f 4e 47 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0255_5627_Code_20Reject.rel b/src/nos/lib/messages_lib/0255_5627_Code_20Reject.rel new file mode 100644 index 00000000..9327ea41 --- /dev/null +++ b/src/nos/lib/messages_lib/0255_5627_Code_20Reject.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0255_5627_Code_20Reject Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 43 6f 64 65 20 52 65 6a 65 +R 00 00 01 00 +T 0b 00 00 00 63 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0256_8396_ENFILE.rel b/src/nos/lib/messages_lib/0256_8396_ENFILE.rel deleted file mode 100644 index 09c083e3..00000000 --- a/src/nos/lib/messages_lib/0256_8396_ENFILE.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0256_8396_ENFILE Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 45 4e 46 49 4c 45 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0256_e508_Command_20batching.rel b/src/nos/lib/messages_lib/0256_e508_Command_20batching.rel new file mode 100644 index 00000000..14f486b4 --- /dev/null +++ b/src/nos/lib/messages_lib/0256_e508_Command_20batching.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___0256_e508_Command_20batching Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 43 6f 6d 6d 61 6e 64 20 62 +R 00 00 01 00 +T 0b 00 00 00 61 74 63 68 69 6e 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0257_6fb2_Compressed_20TCP_2f.rel b/src/nos/lib/messages_lib/0257_6fb2_Compressed_20TCP_2f.rel new file mode 100644 index 00000000..0931e870 --- /dev/null +++ b/src/nos/lib/messages_lib/0257_6fb2_Compressed_20TCP_2f.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___0257_6fb2_Compressed_20TCP_2f Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 43 6f 6d 70 72 65 73 73 65 +R 00 00 01 00 +T 0b 00 00 00 64 20 54 43 50 2f 49 50 20 6e 6f +R 00 00 01 00 +T 16 00 00 00 74 20 65 6e 61 62 6c 65 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0257_7088_ENODEV.rel b/src/nos/lib/messages_lib/0257_7088_ENODEV.rel deleted file mode 100644 index 45fa3374..00000000 --- a/src/nos/lib/messages_lib/0257_7088_ENODEV.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0257_7088_ENODEV Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 45 4e 4f 44 45 56 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0258_242d_Compressed_20TCP_2f.rel b/src/nos/lib/messages_lib/0258_242d_Compressed_20TCP_2f.rel new file mode 100644 index 00000000..78e2135c --- /dev/null +++ b/src/nos/lib/messages_lib/0258_242d_Compressed_20TCP_2f.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___0258_242d_Compressed_20TCP_2f Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 43 6f 6d 70 72 65 73 73 65 +R 00 00 01 00 +T 0b 00 00 00 64 20 54 43 50 2f 49 50 20 70 61 +R 00 00 01 00 +T 16 00 00 00 63 6b 65 74 20 65 72 72 6f 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0258_edee_ENOENT.rel b/src/nos/lib/messages_lib/0258_edee_ENOENT.rel deleted file mode 100644 index 38298728..00000000 --- a/src/nos/lib/messages_lib/0258_edee_ENOENT.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0258_edee_ENOENT Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 45 4e 4f 45 4e 54 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0259_531f_Config_20Ack.rel b/src/nos/lib/messages_lib/0259_531f_Config_20Ack.rel new file mode 100644 index 00000000..00c1d461 --- /dev/null +++ b/src/nos/lib/messages_lib/0259_531f_Config_20Ack.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0259_531f_Config_20Ack Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 43 6f 6e 66 69 67 20 41 63 +R 00 00 01 00 +T 0b 00 00 00 6b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0259_a107_ENOEXEC.rel b/src/nos/lib/messages_lib/0259_a107_ENOEXEC.rel deleted file mode 100644 index e8634bf3..00000000 --- a/src/nos/lib/messages_lib/0259_a107_ENOEXEC.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0259_a107_ENOEXEC Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 45 4e 4f 45 58 45 43 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/025a_29fe_ENOLCK.rel b/src/nos/lib/messages_lib/025a_29fe_ENOLCK.rel deleted file mode 100644 index 52f1012d..00000000 --- a/src/nos/lib/messages_lib/025a_29fe_ENOLCK.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___025a_29fe_ENOLCK Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 45 4e 4f 4c 43 4b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/025a_2a68_Config_20Nak.rel b/src/nos/lib/messages_lib/025a_2a68_Config_20Nak.rel new file mode 100644 index 00000000..349398a5 --- /dev/null +++ b/src/nos/lib/messages_lib/025a_2a68_Config_20Nak.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___025a_2a68_Config_20Nak Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 43 6f 6e 66 69 67 20 4e 61 +R 00 00 01 00 +T 0b 00 00 00 6b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/025b_194d_Config_20Reject.rel b/src/nos/lib/messages_lib/025b_194d_Config_20Reject.rel new file mode 100644 index 00000000..a3b08a8b --- /dev/null +++ b/src/nos/lib/messages_lib/025b_194d_Config_20Reject.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___025b_194d_Config_20Reject Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 43 6f 6e 66 69 67 20 52 65 +R 00 00 01 00 +T 0b 00 00 00 6a 65 63 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/025b_42c4_ENOMEM.rel b/src/nos/lib/messages_lib/025b_42c4_ENOMEM.rel deleted file mode 100644 index 3583dc9e..00000000 --- a/src/nos/lib/messages_lib/025b_42c4_ENOMEM.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___025b_42c4_ENOMEM Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 45 4e 4f 4d 45 4d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/025c_d2e5_Config_20Req.rel b/src/nos/lib/messages_lib/025c_d2e5_Config_20Req.rel new file mode 100644 index 00000000..9d21eefc --- /dev/null +++ b/src/nos/lib/messages_lib/025c_d2e5_Config_20Req.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___025c_d2e5_Config_20Req Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 43 6f 6e 66 69 67 20 52 65 +R 00 00 01 00 +T 0b 00 00 00 71 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/025c_d51d_ENOSPC.rel b/src/nos/lib/messages_lib/025c_d51d_ENOSPC.rel deleted file mode 100644 index 42397dc2..00000000 --- a/src/nos/lib/messages_lib/025c_d51d_ENOSPC.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___025c_d51d_ENOSPC Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 45 4e 4f 53 50 43 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/025d_b471_Connect_20failed_0a.rel b/src/nos/lib/messages_lib/025d_b471_Connect_20failed_0a.rel new file mode 100644 index 00000000..03ef8e45 --- /dev/null +++ b/src/nos/lib/messages_lib/025d_b471_Connect_20failed_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___025d_b471_Connect_20failed_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 43 6f 6e 6e 65 63 74 20 66 +R 00 00 01 00 +T 0b 00 00 00 61 69 6c 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/025d_d3a2_ENOTBLK.rel b/src/nos/lib/messages_lib/025d_d3a2_ENOTBLK.rel deleted file mode 100644 index 0c93ea20..00000000 --- a/src/nos/lib/messages_lib/025d_d3a2_ENOTBLK.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___025d_d3a2_ENOTBLK Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 45 4e 4f 54 42 4c 4b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/025e_bb2f_Connect_20failed_3a.rel b/src/nos/lib/messages_lib/025e_bb2f_Connect_20failed_3a.rel new file mode 100644 index 00000000..58c5b98c --- /dev/null +++ b/src/nos/lib/messages_lib/025e_bb2f_Connect_20failed_3a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___025e_bb2f_Connect_20failed_3a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 43 6f 6e 6e 65 63 74 20 66 +R 00 00 01 00 +T 0b 00 00 00 61 69 6c 65 64 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/025e_f683_ENOTDIR.rel b/src/nos/lib/messages_lib/025e_f683_ENOTDIR.rel deleted file mode 100644 index 435cfb30..00000000 --- a/src/nos/lib/messages_lib/025e_f683_ENOTDIR.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___025e_f683_ENOTDIR Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 45 4e 4f 54 44 49 52 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/025f_83de_ENOTEMPTY.rel b/src/nos/lib/messages_lib/025f_83de_ENOTEMPTY.rel deleted file mode 100644 index 4892ec36..00000000 --- a/src/nos/lib/messages_lib/025f_83de_ENOTEMPTY.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___025f_83de_ENOTEMPTY Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 45 4e 4f 54 45 4d 50 54 59 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/025f_85e9_Connect_20to_20mail.rel b/src/nos/lib/messages_lib/025f_85e9_Connect_20to_20mail.rel new file mode 100644 index 00000000..52c6025b --- /dev/null +++ b/src/nos/lib/messages_lib/025f_85e9_Connect_20to_20mail.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___025f_85e9_Connect_20to_20mail Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 43 6f 6e 6e 65 63 74 20 74 +R 00 00 01 00 +T 0b 00 00 00 6f 20 6d 61 69 6c 68 6f 73 74 20 +R 00 00 01 00 +T 16 00 00 00 25 73 20 66 61 69 6c 65 64 3a 20 +R 00 00 01 00 +T 21 00 00 00 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0260_6930_Connected_0a.rel b/src/nos/lib/messages_lib/0260_6930_Connected_0a.rel new file mode 100644 index 00000000..12f86bb6 --- /dev/null +++ b/src/nos/lib/messages_lib/0260_6930_Connected_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0260_6930_Connected_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 43 6f 6e 6e 65 63 74 65 64 +R 00 00 01 00 +T 0b 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0260_81a3_ENOTTY.rel b/src/nos/lib/messages_lib/0260_81a3_ENOTTY.rel deleted file mode 100644 index 0197b019..00000000 --- a/src/nos/lib/messages_lib/0260_81a3_ENOTTY.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0260_81a3_ENOTTY Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 45 4e 4f 54 54 59 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0261_01a7_ENXIO.rel b/src/nos/lib/messages_lib/0261_01a7_ENXIO.rel deleted file mode 100644 index 8ab86c8c..00000000 --- a/src/nos/lib/messages_lib/0261_01a7_ENXIO.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0261_01a7_ENXIO Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 45 4e 58 49 4f 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0261_5189_Connected_20to_20_2.rel b/src/nos/lib/messages_lib/0261_5189_Connected_20to_20_2.rel new file mode 100644 index 00000000..36f369cc --- /dev/null +++ b/src/nos/lib/messages_lib/0261_5189_Connected_20to_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___0261_5189_Connected_20to_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 43 6f 6e 6e 65 63 74 65 64 +R 00 00 01 00 +T 0b 00 00 00 20 74 6f 20 25 73 09 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0262_4485_EPERM.rel b/src/nos/lib/messages_lib/0262_4485_EPERM.rel deleted file mode 100644 index 73c04041..00000000 --- a/src/nos/lib/messages_lib/0262_4485_EPERM.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0262_4485_EPERM Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 45 50 45 52 4d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0262_771a_Connected_20to_20ma.rel b/src/nos/lib/messages_lib/0262_771a_Connected_20to_20ma.rel new file mode 100644 index 00000000..b6fb47d7 --- /dev/null +++ b/src/nos/lib/messages_lib/0262_771a_Connected_20to_20ma.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0262_771a_Connected_20to_20ma Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 43 6f 6e 6e 65 63 74 65 64 +R 00 00 01 00 +T 0b 00 00 00 20 74 6f 20 6d 61 69 6c 68 6f 73 +R 00 00 01 00 +T 16 00 00 00 74 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0263_0e16_Connected_2e.rel b/src/nos/lib/messages_lib/0263_0e16_Connected_2e.rel new file mode 100644 index 00000000..b78a428e --- /dev/null +++ b/src/nos/lib/messages_lib/0263_0e16_Connected_2e.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0263_0e16_Connected_2e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 43 6f 6e 6e 65 63 74 65 64 +R 00 00 01 00 +T 0b 00 00 00 2e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0263_5ede_EPIPE.rel b/src/nos/lib/messages_lib/0263_5ede_EPIPE.rel deleted file mode 100644 index 160c7b96..00000000 --- a/src/nos/lib/messages_lib/0263_5ede_EPIPE.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0263_5ede_EPIPE Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 45 50 49 50 45 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0264_3e79_Connection_20closed.rel b/src/nos/lib/messages_lib/0264_3e79_Connection_20closed.rel new file mode 100644 index 00000000..e586549d --- /dev/null +++ b/src/nos/lib/messages_lib/0264_3e79_Connection_20closed.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___0264_3e79_Connection_20closed Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 43 6f 6e 6e 65 63 74 69 6f +R 00 00 01 00 +T 0b 00 00 00 6e 20 63 6c 6f 73 65 64 20 74 6f +R 00 00 01 00 +T 16 00 00 00 20 6d 61 69 6c 68 6f 73 74 20 25 +R 00 00 01 00 +T 21 00 00 00 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0264_7f6a_ERANGE.rel b/src/nos/lib/messages_lib/0264_7f6a_ERANGE.rel deleted file mode 100644 index cd1a1d84..00000000 --- a/src/nos/lib/messages_lib/0264_7f6a_ERANGE.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0264_7f6a_ERANGE Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 45 52 41 4e 47 45 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0265_0587_EROFS.rel b/src/nos/lib/messages_lib/0265_0587_EROFS.rel deleted file mode 100644 index b09a7a9a..00000000 --- a/src/nos/lib/messages_lib/0265_0587_EROFS.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0265_0587_EROFS Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 45 52 4f 46 53 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0265_faa9_Connection_20failed.rel b/src/nos/lib/messages_lib/0265_faa9_Connection_20failed.rel new file mode 100644 index 00000000..7897ece6 --- /dev/null +++ b/src/nos/lib/messages_lib/0265_faa9_Connection_20failed.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___0265_faa9_Connection_20failed Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 43 6f 6e 6e 65 63 74 69 6f +R 00 00 01 00 +T 0b 00 00 00 6e 20 66 61 69 6c 65 64 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0266_3676_Could_20not_20creat.rel b/src/nos/lib/messages_lib/0266_3676_Could_20not_20creat.rel new file mode 100644 index 00000000..a1f4f322 --- /dev/null +++ b/src/nos/lib/messages_lib/0266_3676_Could_20not_20creat.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___0266_3676_Could_20not_20creat Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 43 6f 75 6c 64 20 6e 6f 74 +R 00 00 01 00 +T 0b 00 00 00 20 63 72 65 61 74 65 20 73 6f 63 +R 00 00 01 00 +T 16 00 00 00 6b 65 74 20 70 61 69 72 2c 20 65 +R 00 00 01 00 +T 21 00 00 00 72 72 6e 6f 20 25 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0266_6b3a_ESCC_20channel_20_2.rel b/src/nos/lib/messages_lib/0266_6b3a_ESCC_20channel_20_2.rel deleted file mode 100644 index a92ce4c7..00000000 --- a/src/nos/lib/messages_lib/0266_6b3a_ESCC_20channel_20_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___0266_6b3a_ESCC_20channel_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 45 53 43 43 20 63 68 61 6e -R 00 00 01 00 -T 0b 00 00 00 6e 65 6c 20 25 64 20 61 6c 72 65 -R 00 00 01 00 -T 16 00 00 00 61 64 79 20 61 74 74 61 63 68 65 -R 00 00 01 00 -T 21 00 00 00 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0267_6d38_ESCC_20channel_20_2.rel b/src/nos/lib/messages_lib/0267_6d38_ESCC_20channel_20_2.rel deleted file mode 100644 index bacd2ac7..00000000 --- a/src/nos/lib/messages_lib/0267_6d38_ESCC_20channel_20_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___0267_6d38_ESCC_20channel_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 45 53 43 43 20 63 68 61 6e -R 00 00 01 00 -T 0b 00 00 00 6e 65 6c 20 25 64 20 6f 75 74 20 -R 00 00 01 00 -T 16 00 00 00 6f 66 20 72 61 6e 67 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0267_d95b_Couldn_27t_20queue_.rel b/src/nos/lib/messages_lib/0267_d95b_Couldn_27t_20queue_.rel new file mode 100644 index 00000000..486d330b --- /dev/null +++ b/src/nos/lib/messages_lib/0267_d95b_Couldn_27t_20queue_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___0267_d95b_Couldn_27t_20queue_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 43 6f 75 6c 64 6e 27 74 20 +R 00 00 01 00 +T 0b 00 00 00 71 75 65 75 65 20 6d 65 73 73 61 +R 00 00 01 00 +T 16 00 00 00 67 65 20 66 6f 72 20 64 65 6c 69 +R 00 00 01 00 +T 21 00 00 00 76 65 72 79 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0268_0a8a_ESCC_20driver_20alr.rel b/src/nos/lib/messages_lib/0268_0a8a_ESCC_20driver_20alr.rel deleted file mode 100644 index 0daf9154..00000000 --- a/src/nos/lib/messages_lib/0268_0a8a_ESCC_20driver_20alr.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 32 flags 0 -S ___0268_0a8a_ESCC_20driver_20alr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 30 00 45 53 43 43 20 64 72 69 76 -R 00 00 01 00 -T 0b 00 00 00 65 72 20 61 6c 72 65 61 64 79 20 -R 00 00 01 00 -T 16 00 00 00 69 6e 69 74 69 61 6c 69 7a 65 64 -R 00 00 01 00 -T 21 00 00 00 20 2d 20 6e 6f 74 68 69 6e 67 20 -R 00 00 01 00 -T 2c 00 00 00 64 6f 6e 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0268_68a6_Current_20message_2.rel b/src/nos/lib/messages_lib/0268_68a6_Current_20message_2.rel new file mode 100644 index 00000000..1ff7c2dc --- /dev/null +++ b/src/nos/lib/messages_lib/0268_68a6_Current_20message_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___0268_68a6_Current_20message_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 43 75 72 72 65 6e 74 20 6d +R 00 00 01 00 +T 0b 00 00 00 65 73 73 61 67 65 20 61 72 65 61 +R 00 00 01 00 +T 16 00 00 00 20 69 73 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0269_23ad_Currently_20enabled.rel b/src/nos/lib/messages_lib/0269_23ad_Currently_20enabled.rel new file mode 100644 index 00000000..b085a310 --- /dev/null +++ b/src/nos/lib/messages_lib/0269_23ad_Currently_20enabled.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___0269_23ad_Currently_20enabled Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 43 75 72 72 65 6e 74 6c 79 +R 00 00 01 00 +T 0b 00 00 00 20 65 6e 61 62 6c 65 64 20 6e 65 +R 00 00 01 00 +T 16 00 00 00 77 73 67 72 6f 75 70 73 3a 0a 25 +R 00 00 01 00 +T 21 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0269_d89e_ESCC_20driver_20not.rel b/src/nos/lib/messages_lib/0269_d89e_ESCC_20driver_20not.rel deleted file mode 100644 index 522ffd32..00000000 --- a/src/nos/lib/messages_lib/0269_d89e_ESCC_20driver_20not.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___0269_d89e_ESCC_20driver_20not Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 45 53 43 43 20 64 72 69 76 -R 00 00 01 00 -T 0b 00 00 00 65 72 20 6e 6f 74 20 69 6e 69 74 -R 00 00 01 00 -T 16 00 00 00 69 61 6c 69 7a 65 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/026a_1cf7_DELE_20_25s.rel b/src/nos/lib/messages_lib/026a_1cf7_DELE_20_25s.rel new file mode 100644 index 00000000..9d5e0dd7 --- /dev/null +++ b/src/nos/lib/messages_lib/026a_1cf7_DELE_20_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___026a_1cf7_DELE_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 44 45 4c 45 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/026a_dd82_ESHELL.rel b/src/nos/lib/messages_lib/026a_dd82_ESHELL.rel deleted file mode 100644 index 84d16708..00000000 --- a/src/nos/lib/messages_lib/026a_dd82_ESHELL.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___026a_dd82_ESHELL Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 45 53 48 45 4c 4c 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/026b_5fad_DISASTER_21_20Out_2.rel b/src/nos/lib/messages_lib/026b_5fad_DISASTER_21_20Out_2.rel new file mode 100644 index 00000000..74926145 --- /dev/null +++ b/src/nos/lib/messages_lib/026b_5fad_DISASTER_21_20Out_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___026b_5fad_DISASTER_21_20Out_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 44 49 53 41 53 54 45 52 21 +R 00 00 01 00 +T 0b 00 00 00 20 4f 75 74 20 6f 66 20 4d 65 6d +R 00 00 01 00 +T 16 00 00 00 6f 72 79 20 66 6f 72 20 52 65 63 +R 00 00 01 00 +T 21 00 00 00 65 69 76 65 21 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/026b_ffa8_ESPIPE.rel b/src/nos/lib/messages_lib/026b_ffa8_ESPIPE.rel deleted file mode 100644 index 93f2ee76..00000000 --- a/src/nos/lib/messages_lib/026b_ffa8_ESPIPE.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___026b_ffa8_ESPIPE Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 45 53 50 49 50 45 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/026c_7ce2_DRSI_20Board_20Stat.rel b/src/nos/lib/messages_lib/026c_7ce2_DRSI_20Board_20Stat.rel new file mode 100644 index 00000000..94d66d52 --- /dev/null +++ b/src/nos/lib/messages_lib/026c_7ce2_DRSI_20Board_20Stat.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___026c_7ce2_DRSI_20Board_20Stat Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 44 52 53 49 20 42 6f 61 72 +R 00 00 01 00 +T 0b 00 00 00 64 20 53 74 61 74 69 73 74 69 63 +R 00 00 01 00 +T 16 00 00 00 73 20 2d 20 4e 36 54 54 4f 20 31 +R 00 00 01 00 +T 21 00 00 00 31 32 37 39 30 2e 30 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/026c_b33c_ESRCH.rel b/src/nos/lib/messages_lib/026c_b33c_ESRCH.rel deleted file mode 100644 index 4e575c66..00000000 --- a/src/nos/lib/messages_lib/026c_b33c_ESRCH.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___026c_b33c_ESRCH Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 45 53 52 43 48 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/026d_194a_ETXTBSY.rel b/src/nos/lib/messages_lib/026d_194a_ETXTBSY.rel deleted file mode 100644 index 0a3047e5..00000000 --- a/src/nos/lib/messages_lib/026d_194a_ETXTBSY.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___026d_194a_ETXTBSY Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 45 54 58 54 42 53 59 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/026d_2f52_D_5bU_5d_20filename.rel b/src/nos/lib/messages_lib/026d_2f52_D_5bU_5d_20filename.rel new file mode 100644 index 00000000..9f97238f --- /dev/null +++ b/src/nos/lib/messages_lib/026d_2f52_D_5bU_5d_20filename.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___026d_2f52_D_5bU_5d_20filename Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 44 5b 55 5d 20 66 69 6c 65 +R 00 00 01 00 +T 0b 00 00 00 6e 61 6d 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/026e_698b_Data_0a.rel b/src/nos/lib/messages_lib/026e_698b_Data_0a.rel new file mode 100644 index 00000000..b64e1d07 --- /dev/null +++ b/src/nos/lib/messages_lib/026e_698b_Data_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___026e_698b_Data_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 44 61 74 61 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/026e_8d4a_EXDEV.rel b/src/nos/lib/messages_lib/026e_8d4a_EXDEV.rel deleted file mode 100644 index add1b160..00000000 --- a/src/nos/lib/messages_lib/026e_8d4a_EXDEV.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___026e_8d4a_EXDEV Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 45 58 44 45 56 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/026f_4f54_Encapsulation_20mod.rel b/src/nos/lib/messages_lib/026f_4f54_Encapsulation_20mod.rel deleted file mode 100644 index 6acc75d3..00000000 --- a/src/nos/lib/messages_lib/026f_4f54_Encapsulation_20mod.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___026f_4f54_Encapsulation_20mod Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 45 6e 63 61 70 73 75 6c 61 -R 00 00 01 00 -T 0b 00 00 00 74 69 6f 6e 20 6d 6f 64 65 20 27 -R 00 00 01 00 -T 16 00 00 00 25 73 27 20 75 6e 6b 6e 6f 77 6e -R 00 00 01 00 -T 21 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/026f_cb1c_Data_20outside_20he.rel b/src/nos/lib/messages_lib/026f_cb1c_Data_20outside_20he.rel new file mode 100644 index 00000000..ac1ae9c1 --- /dev/null +++ b/src/nos/lib/messages_lib/026f_cb1c_Data_20outside_20he.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___026f_cb1c_Data_20outside_20he Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 44 61 74 61 20 6f 75 74 73 +R 00 00 01 00 +T 0b 00 00 00 69 64 65 20 68 65 61 70 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0270_01be_Data_20pointer_20_2.rel b/src/nos/lib/messages_lib/0270_01be_Data_20pointer_20_2.rel new file mode 100644 index 00000000..4624ccf2 --- /dev/null +++ b/src/nos/lib/messages_lib/0270_01be_Data_20pointer_20_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___0270_01be_Data_20pointer_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 44 61 74 61 20 70 6f 69 6e +R 00 00 01 00 +T 0b 00 00 00 74 65 72 20 2b 20 63 6f 75 6e 74 +R 00 00 01 00 +T 16 00 00 00 20 70 61 73 74 20 62 6f 75 6e 64 +R 00 00 01 00 +T 21 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0270_0f4a_Enqued_20_20_2d_20_.rel b/src/nos/lib/messages_lib/0270_0f4a_Enqued_20_20_2d_20_.rel deleted file mode 100644 index fd5b7d7e..00000000 --- a/src/nos/lib/messages_lib/0270_0f4a_Enqued_20_20_2d_20_.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 32 flags 0 -S ___0270_0f4a_Enqued_20_20_2d_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 30 00 45 6e 71 75 65 64 20 20 2d -R 00 00 01 00 -T 0b 00 00 00 20 25 38 6c 64 20 20 43 72 63 65 -R 00 00 01 00 -T 16 00 00 00 72 72 20 20 2d 20 25 38 6c 64 20 -R 00 00 01 00 -T 21 00 00 00 20 41 62 6f 72 74 73 20 20 2d 20 -R 00 00 01 00 -T 2c 00 00 00 25 38 6c 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0271_3cbb_Data_20pointer_20be.rel b/src/nos/lib/messages_lib/0271_3cbb_Data_20pointer_20be.rel new file mode 100644 index 00000000..8533d6c7 --- /dev/null +++ b/src/nos/lib/messages_lib/0271_3cbb_Data_20pointer_20be.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___0271_3cbb_Data_20pointer_20be Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 44 61 74 61 20 70 6f 69 6e +R 00 00 01 00 +T 0b 00 00 00 74 65 72 20 62 65 66 6f 72 65 20 +R 00 00 01 00 +T 16 00 00 00 62 75 66 66 65 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0271_de30_Enter_20message_2e_.rel b/src/nos/lib/messages_lib/0271_de30_Enter_20message_2e_.rel deleted file mode 100644 index 9b2f7654..00000000 --- a/src/nos/lib/messages_lib/0271_de30_Enter_20message_2e_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___0271_de30_Enter_20message_2e_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 45 6e 74 65 72 20 6d 65 73 -R 00 00 01 00 -T 0b 00 00 00 73 61 67 65 2e 20 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0272_3a50_Error_20in_20respon.rel b/src/nos/lib/messages_lib/0272_3a50_Error_20in_20respon.rel deleted file mode 100644 index b985e1b0..00000000 --- a/src/nos/lib/messages_lib/0272_3a50_Error_20in_20respon.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___0272_3a50_Error_20in_20respon Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 45 72 72 6f 72 20 69 6e 20 -R 00 00 01 00 -T 0b 00 00 00 72 65 73 70 6f 6e 73 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0272_bd70_Defaulting_20to_20b.rel b/src/nos/lib/messages_lib/0272_bd70_Defaulting_20to_20b.rel new file mode 100644 index 00000000..5cafb349 --- /dev/null +++ b/src/nos/lib/messages_lib/0272_bd70_Defaulting_20to_20b.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___0272_bd70_Defaulting_20to_20b Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 44 65 66 61 75 6c 74 69 6e +R 00 00 01 00 +T 0b 00 00 00 67 20 74 6f 20 62 69 6e 61 72 79 +R 00 00 01 00 +T 16 00 00 00 20 6d 6f 64 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0273_2d19_Del_5fconst_20_3d_2.rel b/src/nos/lib/messages_lib/0273_2d19_Del_5fconst_20_3d_2.rel new file mode 100644 index 00000000..61f8ab0f --- /dev/null +++ b/src/nos/lib/messages_lib/0273_2d19_Del_5fconst_20_3d_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___0273_2d19_Del_5fconst_20_3d_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 44 65 6c 5f 63 6f 6e 73 74 +R 00 00 01 00 +T 0b 00 00 00 20 3d 20 25 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0273_d568_Error_20updating_20.rel b/src/nos/lib/messages_lib/0273_d568_Error_20updating_20.rel deleted file mode 100644 index f2add1a1..00000000 --- a/src/nos/lib/messages_lib/0273_d568_Error_20updating_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___0273_d568_Error_20updating_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 45 72 72 6f 72 20 75 70 64 -R 00 00 01 00 -T 0b 00 00 00 61 74 69 6e 67 20 6d 61 69 6c 20 -R 00 00 01 00 -T 16 00 00 00 66 69 6c 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0274_6255_Dest_20Addr_20_20_2.rel b/src/nos/lib/messages_lib/0274_6255_Dest_20Addr_20_20_2.rel new file mode 100644 index 00000000..3b4ce9f5 --- /dev/null +++ b/src/nos/lib/messages_lib/0274_6255_Dest_20Addr_20_20_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___0274_6255_Dest_20Addr_20_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 44 65 73 74 20 41 64 64 72 +R 00 00 01 00 +T 0b 00 00 00 20 20 20 20 20 20 20 49 6e 74 65 +R 00 00 01 00 +T 16 00 00 00 72 76 61 6c 20 53 70 6c 69 74 0a +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0274_69fc_Error_20writing_20m.rel b/src/nos/lib/messages_lib/0274_69fc_Error_20writing_20m.rel deleted file mode 100644 index 2d6877a5..00000000 --- a/src/nos/lib/messages_lib/0274_69fc_Error_20writing_20m.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0274_69fc_Error_20writing_20m Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 45 72 72 6f 72 20 77 72 69 -R 00 00 01 00 -T 0b 00 00 00 74 69 6e 67 20 6d 61 69 6c 20 66 -R 00 00 01 00 -T 16 00 00 00 69 6c 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0275_3894_Dialing_20not_20sup.rel b/src/nos/lib/messages_lib/0275_3894_Dialing_20not_20sup.rel new file mode 100644 index 00000000..ab335f3c --- /dev/null +++ b/src/nos/lib/messages_lib/0275_3894_Dialing_20not_20sup.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___0275_3894_Dialing_20not_20sup Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 44 69 61 6c 69 6e 67 20 6e +R 00 00 01 00 +T 0b 00 00 00 6f 74 20 73 75 70 70 6f 72 74 65 +R 00 00 01 00 +T 16 00 00 00 64 20 6f 6e 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0275_9664_Escape_20character_.rel b/src/nos/lib/messages_lib/0275_9664_Escape_20character_.rel deleted file mode 100644 index 440e98d9..00000000 --- a/src/nos/lib/messages_lib/0275_9664_Escape_20character_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___0275_9664_Escape_20character_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 45 73 63 61 70 65 20 63 68 -R 00 00 01 00 -T 0b 00 00 00 61 72 61 63 74 65 72 20 73 65 6e -R 00 00 01 00 -T 16 00 00 00 74 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0276_26a3_Different_0a.rel b/src/nos/lib/messages_lib/0276_26a3_Different_0a.rel new file mode 100644 index 00000000..39619693 --- /dev/null +++ b/src/nos/lib/messages_lib/0276_26a3_Different_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0276_26a3_Different_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 44 69 66 66 65 72 65 6e 74 +R 00 00 01 00 +T 0b 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0276_8c2d_Ether_3a_20len_20_2.rel b/src/nos/lib/messages_lib/0276_8c2d_Ether_3a_20len_20_2.rel deleted file mode 100644 index e64448f9..00000000 --- a/src/nos/lib/messages_lib/0276_8c2d_Ether_3a_20len_20_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___0276_8c2d_Ether_3a_20len_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 45 74 68 65 72 3a 20 6c 65 -R 00 00 01 00 -T 0b 00 00 00 6e 20 25 75 20 25 73 2d 3e 25 73 -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0277_3af3_F_3e.rel b/src/nos/lib/messages_lib/0277_3af3_F_3e.rel deleted file mode 100644 index 84eeb719..00000000 --- a/src/nos/lib/messages_lib/0277_3af3_F_3e.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5 flags 0 -S ___0277_3af3_F_3e Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 03 00 46 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0277_ae33_Digipeat.rel b/src/nos/lib/messages_lib/0277_ae33_Digipeat.rel new file mode 100644 index 00000000..bce9243d --- /dev/null +++ b/src/nos/lib/messages_lib/0277_ae33_Digipeat.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___0277_ae33_Digipeat Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 44 69 67 69 70 65 61 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0278_0046_Failed_0a.rel b/src/nos/lib/messages_lib/0278_0046_Failed_0a.rel deleted file mode 100644 index 9d1b0023..00000000 --- a/src/nos/lib/messages_lib/0278_0046_Failed_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0278_0046_Failed_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 46 61 69 6c 65 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0278_af35_Directory_20table_2.rel b/src/nos/lib/messages_lib/0278_af35_Directory_20table_2.rel new file mode 100644 index 00000000..3a14c1c7 --- /dev/null +++ b/src/nos/lib/messages_lib/0278_af35_Directory_20table_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0278_af35_Directory_20table_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 44 69 72 65 63 74 6f 72 79 +R 00 00 01 00 +T 0b 00 00 00 20 74 61 62 6c 65 20 66 75 6c 6c +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0279_4a7b_First_20init_20ESCC.rel b/src/nos/lib/messages_lib/0279_4a7b_First_20init_20ESCC.rel deleted file mode 100644 index eedf94bd..00000000 --- a/src/nos/lib/messages_lib/0279_4a7b_First_20init_20ESCC.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___0279_4a7b_First_20init_20ESCC Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 46 69 72 73 74 20 69 6e 69 -R 00 00 01 00 -T 0b 00 00 00 74 20 45 53 43 43 20 64 72 69 76 -R 00 00 01 00 -T 16 00 00 00 65 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0279_c453_Discard_20Request.rel b/src/nos/lib/messages_lib/0279_c453_Discard_20Request.rel new file mode 100644 index 00000000..02676eab --- /dev/null +++ b/src/nos/lib/messages_lib/0279_c453_Discard_20Request.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0279_c453_Discard_20Request Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 44 69 73 63 61 72 64 20 52 +R 00 00 01 00 +T 0b 00 00 00 65 71 75 65 73 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/027a_0954_Forwarding_20timer_.rel b/src/nos/lib/messages_lib/027a_0954_Forwarding_20timer_.rel deleted file mode 100644 index 1ba59e5a..00000000 --- a/src/nos/lib/messages_lib/027a_0954_Forwarding_20timer_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___027a_0954_Forwarding_20timer_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 46 6f 72 77 61 72 64 69 6e -R 00 00 01 00 -T 0b 00 00 00 67 20 74 69 6d 65 72 3a 20 25 6c -R 00 00 01 00 -T 16 00 00 00 75 2f 25 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/027a_c1bb_Disconnected_20.rel b/src/nos/lib/messages_lib/027a_c1bb_Disconnected_20.rel new file mode 100644 index 00000000..2ede9d28 --- /dev/null +++ b/src/nos/lib/messages_lib/027a_c1bb_Disconnected_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___027a_c1bb_Disconnected_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 44 69 73 63 6f 6e 6e 65 63 +R 00 00 01 00 +T 0b 00 00 00 74 65 64 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/027b_2cc5_Disconnecting_2e.rel b/src/nos/lib/messages_lib/027b_2cc5_Disconnecting_2e.rel new file mode 100644 index 00000000..d767fe7b --- /dev/null +++ b/src/nos/lib/messages_lib/027b_2cc5_Disconnecting_2e.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___027b_2cc5_Disconnecting_2e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 44 69 73 63 6f 6e 6e 65 63 +R 00 00 01 00 +T 0b 00 00 00 74 69 6e 67 2e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/027b_95bb_Free_20address_20qu.rel b/src/nos/lib/messages_lib/027b_95bb_Free_20address_20qu.rel deleted file mode 100644 index bb63edce..00000000 --- a/src/nos/lib/messages_lib/027b_95bb_Free_20address_20qu.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___027b_95bb_Free_20address_20qu Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 46 72 65 65 20 61 64 64 72 -R 00 00 01 00 -T 0b 00 00 00 65 73 73 20 71 75 65 75 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/027c_1f44_Down.rel b/src/nos/lib/messages_lib/027c_1f44_Down.rel new file mode 100644 index 00000000..044ede51 --- /dev/null +++ b/src/nos/lib/messages_lib/027c_1f44_Down.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___027c_1f44_Down Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 44 6f 77 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/027c_fee7_Free_20cache_3a_20s.rel b/src/nos/lib/messages_lib/027c_fee7_Free_20cache_3a_20s.rel deleted file mode 100644 index 86deb7f2..00000000 --- a/src/nos/lib/messages_lib/027c_fee7_Free_20cache_3a_20s.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2b flags 0 -S ___027c_fee7_Free_20cache_3a_20s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 29 00 46 72 65 65 20 63 61 63 68 -R 00 00 01 00 -T 0b 00 00 00 65 3a 20 73 6d 61 6c 6c 20 25 75 -R 00 00 01 00 -T 16 00 00 00 20 6d 65 64 69 75 6d 20 25 75 20 -R 00 00 01 00 -T 21 00 00 00 6c 61 72 67 65 20 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/027d_8dc1_Free_20memory_20thr.rel b/src/nos/lib/messages_lib/027d_8dc1_Free_20memory_20thr.rel deleted file mode 100644 index 0bb75727..00000000 --- a/src/nos/lib/messages_lib/027d_8dc1_Free_20memory_20thr.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___027d_8dc1_Free_20memory_20thr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 46 72 65 65 20 6d 65 6d 6f -R 00 00 01 00 -T 0b 00 00 00 72 79 20 74 68 72 65 73 68 6f 6c -R 00 00 01 00 -T 16 00 00 00 64 20 28 62 79 74 65 73 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/027d_b7f4_Dup_20acks_20_20_20.rel b/src/nos/lib/messages_lib/027d_b7f4_Dup_20acks_20_20_20.rel new file mode 100644 index 00000000..a5dec6a1 --- /dev/null +++ b/src/nos/lib/messages_lib/027d_b7f4_Dup_20acks_20_20_20.rel @@ -0,0 +1,22 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 48 flags 0 +S ___027d_b7f4_Dup_20acks_20_20_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 46 00 44 75 70 20 61 63 6b 73 20 +R 00 00 01 00 +T 0b 00 00 00 20 20 42 61 63 6b 6f 66 66 20 20 +R 00 00 01 00 +T 16 00 00 00 20 54 69 6d 65 6f 75 74 73 20 20 +R 00 00 01 00 +T 21 00 00 00 20 53 6f 75 72 63 65 20 51 75 65 +R 00 00 01 00 +T 2c 00 00 00 6e 63 68 20 20 20 55 6e 72 65 61 +R 00 00 01 00 +T 37 00 00 00 63 68 61 62 6c 65 73 20 20 20 50 +R 00 00 01 00 +T 42 00 00 00 6f 77 65 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/027e_1be2_From_20_25s_20_25s.rel b/src/nos/lib/messages_lib/027e_1be2_From_20_25s_20_25s.rel deleted file mode 100644 index fc93f1c5..00000000 --- a/src/nos/lib/messages_lib/027e_1be2_From_20_25s_20_25s.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___027e_1be2_From_20_25s_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 46 72 6f 6d 20 25 73 20 25 -R 00 00 01 00 -T 0b 00 00 00 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/027e_3ed4_Duplex_3a_20_25s_0a.rel b/src/nos/lib/messages_lib/027e_3ed4_Duplex_3a_20_25s_0a.rel new file mode 100644 index 00000000..421e3502 --- /dev/null +++ b/src/nos/lib/messages_lib/027e_3ed4_Duplex_3a_20_25s_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___027e_3ed4_Duplex_3a_20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 44 75 70 6c 65 78 3a 20 25 +R 00 00 01 00 +T 0b 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/027f_b671_E2BIG.rel b/src/nos/lib/messages_lib/027f_b671_E2BIG.rel new file mode 100644 index 00000000..1a9547e9 --- /dev/null +++ b/src/nos/lib/messages_lib/027f_b671_E2BIG.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___027f_b671_E2BIG Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 45 32 42 49 47 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/027f_d837_From_3a_20_25s_0a.rel b/src/nos/lib/messages_lib/027f_d837_From_3a_20_25s_0a.rel deleted file mode 100644 index f962bcb9..00000000 --- a/src/nos/lib/messages_lib/027f_d837_From_3a_20_25s_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___027f_d837_From_3a_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 46 72 6f 6d 3a 20 25 73 0a -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0280_56e8_EACCES.rel b/src/nos/lib/messages_lib/0280_56e8_EACCES.rel new file mode 100644 index 00000000..b274bdd1 --- /dev/null +++ b/src/nos/lib/messages_lib/0280_56e8_EACCES.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0280_56e8_EACCES Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 45 41 43 43 45 53 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0280_b9a0_Garbage_20bp_20_25l.rel b/src/nos/lib/messages_lib/0280_b9a0_Garbage_20bp_20_25l.rel deleted file mode 100644 index 28c6a8f6..00000000 --- a/src/nos/lib/messages_lib/0280_b9a0_Garbage_20bp_20_25l.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___0280_b9a0_Garbage_20bp_20_25l Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 47 61 72 62 61 67 65 20 62 -R 00 00 01 00 -T 0b 00 00 00 70 20 25 6c 78 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0281_7731_Group_20list_20too_.rel b/src/nos/lib/messages_lib/0281_7731_Group_20list_20too_.rel deleted file mode 100644 index c2d56739..00000000 --- a/src/nos/lib/messages_lib/0281_7731_Group_20list_20too_.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2d flags 0 -S ___0281_7731_Group_20list_20too_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2b 00 47 72 6f 75 70 20 6c 69 73 -R 00 00 01 00 -T 0b 00 00 00 74 20 74 6f 6f 20 6c 6f 6e 67 21 -R 00 00 01 00 -T 16 00 00 00 20 20 47 72 6f 75 70 20 27 25 73 -R 00 00 01 00 -T 21 00 00 00 27 20 69 67 6e 6f 72 65 64 21 0a -R 00 00 01 00 -T 2c 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0281_f378_EAGAIN.rel b/src/nos/lib/messages_lib/0281_f378_EAGAIN.rel new file mode 100644 index 00000000..c8d80bda --- /dev/null +++ b/src/nos/lib/messages_lib/0281_f378_EAGAIN.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0281_f378_EAGAIN Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 45 41 47 41 49 4e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0282_0483_EAGLE_20Board_20Sta.rel b/src/nos/lib/messages_lib/0282_0483_EAGLE_20Board_20Sta.rel new file mode 100644 index 00000000..bf285a82 --- /dev/null +++ b/src/nos/lib/messages_lib/0282_0483_EAGLE_20Board_20Sta.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___0282_0483_EAGLE_20Board_20Sta Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 45 41 47 4c 45 20 42 6f 61 +R 00 00 01 00 +T 0b 00 00 00 72 64 20 53 74 61 74 69 73 74 69 +R 00 00 01 00 +T 16 00 00 00 63 73 3a 0a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0282_ccdf_HAPN_20_25d_3a_20_2.rel b/src/nos/lib/messages_lib/0282_ccdf_HAPN_20_25d_3a_20_2.rel deleted file mode 100644 index 7e004f37..00000000 --- a/src/nos/lib/messages_lib/0282_ccdf_HAPN_20_25d_3a_20_2.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 37 flags 0 -S ___0282_ccdf_HAPN_20_25d_3a_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 35 00 48 41 50 4e 20 25 64 3a 20 -R 00 00 01 00 -T 0b 00 00 00 20 20 72 78 69 6e 74 73 3a 20 25 -R 00 00 01 00 -T 16 00 00 00 6c 64 20 20 20 74 78 69 6e 74 73 -R 00 00 01 00 -T 21 00 00 00 3a 20 25 6c 64 20 20 20 62 61 64 -R 00 00 01 00 -T 2c 00 00 00 69 6e 74 3a 20 25 2d 35 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0283_9570_HOPCHECK_20start_20.rel b/src/nos/lib/messages_lib/0283_9570_HOPCHECK_20start_20.rel deleted file mode 100644 index 2b1e5f9d..00000000 --- a/src/nos/lib/messages_lib/0283_9570_HOPCHECK_20start_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___0283_9570_HOPCHECK_20start_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 48 4f 50 43 48 45 43 4b 20 -R 00 00 01 00 -T 0b 00 00 00 73 74 61 72 74 20 74 72 61 63 65 -R 00 00 01 00 -T 16 00 00 00 20 74 6f 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0283_a2a1_EBADF.rel b/src/nos/lib/messages_lib/0283_a2a1_EBADF.rel new file mode 100644 index 00000000..2e9a6534 --- /dev/null +++ b/src/nos/lib/messages_lib/0283_a2a1_EBADF.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0283_a2a1_EBADF Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 45 42 41 44 46 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0284_74ba_EBUSY.rel b/src/nos/lib/messages_lib/0284_74ba_EBUSY.rel new file mode 100644 index 00000000..25a52035 --- /dev/null +++ b/src/nos/lib/messages_lib/0284_74ba_EBUSY.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0284_74ba_EBUSY Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 45 42 55 53 59 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0284_8ef4_HOPCHECK_20to_20_25.rel b/src/nos/lib/messages_lib/0284_8ef4_HOPCHECK_20to_20_25.rel deleted file mode 100644 index 99aaa67f..00000000 --- a/src/nos/lib/messages_lib/0284_8ef4_HOPCHECK_20to_20_25.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___0284_8ef4_HOPCHECK_20to_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 48 4f 50 43 48 45 43 4b 20 -R 00 00 01 00 -T 0b 00 00 00 74 6f 20 25 73 20 64 6f 6e 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0285_4029_ECHILD.rel b/src/nos/lib/messages_lib/0285_4029_ECHILD.rel new file mode 100644 index 00000000..e9a39bf1 --- /dev/null +++ b/src/nos/lib/messages_lib/0285_4029_ECHILD.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0285_4029_ECHILD Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 45 43 48 49 4c 44 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0285_c794_HOPCHECK_20tracing.rel b/src/nos/lib/messages_lib/0285_c794_HOPCHECK_20tracing.rel deleted file mode 100644 index 22ba7653..00000000 --- a/src/nos/lib/messages_lib/0285_c794_HOPCHECK_20tracing.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___0285_c794_HOPCHECK_20tracing Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 48 4f 50 43 48 45 43 4b 20 -R 00 00 01 00 -T 0b 00 00 00 74 72 61 63 69 6e 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0286_4952_HS_3a_20Warning_3a_.rel b/src/nos/lib/messages_lib/0286_4952_HS_3a_20Warning_3a_.rel deleted file mode 100644 index aff79302..00000000 --- a/src/nos/lib/messages_lib/0286_4952_HS_3a_20Warning_3a_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___0286_4952_HS_3a_20Warning_3a_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 48 53 3a 20 57 61 72 6e 69 -R 00 00 01 00 -T 0b 00 00 00 6e 67 3a 20 61 75 74 6f 20 64 65 -R 00 00 01 00 -T 16 00 00 00 6c 61 79 20 73 65 74 20 66 61 69 -R 00 00 01 00 -T 21 00 00 00 6c 65 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0286_cd2b_EDEADLK.rel b/src/nos/lib/messages_lib/0286_cd2b_EDEADLK.rel new file mode 100644 index 00000000..616c1775 --- /dev/null +++ b/src/nos/lib/messages_lib/0286_cd2b_EDEADLK.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0286_cd2b_EDEADLK Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 45 44 45 41 44 4c 4b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0287_10ba_Hardware_20_25u_0a.rel b/src/nos/lib/messages_lib/0287_10ba_Hardware_20_25u_0a.rel deleted file mode 100644 index 8723520e..00000000 --- a/src/nos/lib/messages_lib/0287_10ba_Hardware_20_25u_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___0287_10ba_Hardware_20_25u_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 48 61 72 64 77 61 72 65 20 -R 00 00 01 00 -T 0b 00 00 00 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0287_4299_EDOM.rel b/src/nos/lib/messages_lib/0287_4299_EDOM.rel new file mode 100644 index 00000000..8b88c58f --- /dev/null +++ b/src/nos/lib/messages_lib/0287_4299_EDOM.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0287_4299_EDOM Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 45 44 4f 4d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0288_32e9_Heap_20debugging.rel b/src/nos/lib/messages_lib/0288_32e9_Heap_20debugging.rel deleted file mode 100644 index 9a983a48..00000000 --- a/src/nos/lib/messages_lib/0288_32e9_Heap_20debugging.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___0288_32e9_Heap_20debugging Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 48 65 61 70 20 64 65 62 75 -R 00 00 01 00 -T 0b 00 00 00 67 67 69 6e 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0288_bec8_EEXIST.rel b/src/nos/lib/messages_lib/0288_bec8_EEXIST.rel new file mode 100644 index 00000000..c25cc732 --- /dev/null +++ b/src/nos/lib/messages_lib/0288_bec8_EEXIST.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0288_bec8_EEXIST Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 45 45 58 49 53 54 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0289_9144_Host_20_25s_20_28_2.rel b/src/nos/lib/messages_lib/0289_9144_Host_20_25s_20_28_2.rel deleted file mode 100644 index 719b10f5..00000000 --- a/src/nos/lib/messages_lib/0289_9144_Host_20_25s_20_28_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___0289_9144_Host_20_25s_20_28_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 48 6f 73 74 20 25 73 20 28 -R 00 00 01 00 -T 0b 00 00 00 25 73 29 20 75 6e 72 65 61 63 68 -R 00 00 01 00 -T 16 00 00 00 61 62 6c 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0289_afa9_EFAULT.rel b/src/nos/lib/messages_lib/0289_afa9_EFAULT.rel new file mode 100644 index 00000000..859eaa08 --- /dev/null +++ b/src/nos/lib/messages_lib/0289_afa9_EFAULT.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0289_afa9_EFAULT Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 45 46 41 55 4c 54 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/028a_862c_Host_20_25s_20unkno.rel b/src/nos/lib/messages_lib/028a_862c_Host_20_25s_20unkno.rel deleted file mode 100644 index c0f150e2..00000000 --- a/src/nos/lib/messages_lib/028a_862c_Host_20_25s_20unkno.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___028a_862c_Host_20_25s_20unkno Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 48 6f 73 74 20 25 73 20 75 -R 00 00 01 00 -T 0b 00 00 00 6e 6b 6e 6f 77 6e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/028a_9ed8_EFBIG.rel b/src/nos/lib/messages_lib/028a_9ed8_EFBIG.rel new file mode 100644 index 00000000..3740323a --- /dev/null +++ b/src/nos/lib/messages_lib/028a_9ed8_EFBIG.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___028a_9ed8_EFBIG Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 45 46 42 49 47 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/028b_28f7_EGATTACH_3a_20No_20.rel b/src/nos/lib/messages_lib/028b_28f7_EGATTACH_3a_20No_20.rel new file mode 100644 index 00000000..bd873ab8 --- /dev/null +++ b/src/nos/lib/messages_lib/028b_28f7_EGATTACH_3a_20No_20.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 35 flags 0 +S ___028b_28f7_EGATTACH_3a_20No_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 33 00 45 47 41 54 54 41 43 48 3a +R 00 00 01 00 +T 0b 00 00 00 20 4e 6f 20 6d 65 6d 6f 72 79 20 +R 00 00 01 00 +T 16 00 00 00 61 76 61 69 6c 61 62 6c 65 20 66 +R 00 00 01 00 +T 21 00 00 00 6f 72 20 52 65 63 65 69 76 65 20 +R 00 00 01 00 +T 2c 00 00 00 62 75 66 66 65 72 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/028b_f216_Hostname_20set_20to.rel b/src/nos/lib/messages_lib/028b_f216_Hostname_20set_20to.rel deleted file mode 100644 index a27ddf83..00000000 --- a/src/nos/lib/messages_lib/028b_f216_Hostname_20set_20to.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___028b_f216_Hostname_20set_20to Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 48 6f 73 74 6e 61 6d 65 20 -R 00 00 01 00 -T 0b 00 00 00 73 65 74 20 74 6f 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/028c_267d_Hytech_20KA9Q_20NOS.rel b/src/nos/lib/messages_lib/028c_267d_Hytech_20KA9Q_20NOS.rel deleted file mode 100644 index 7eb677c2..00000000 --- a/src/nos/lib/messages_lib/028c_267d_Hytech_20KA9Q_20NOS.rel +++ /dev/null @@ -1,36 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 97 flags 0 -S ___028c_267d_Hytech_20KA9Q_20NOS Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 95 00 48 79 74 65 63 68 20 4b 41 -R 00 00 01 00 -T 0b 00 00 00 39 51 20 4e 4f 53 2f 55 5a 49 20 -R 00 00 01 00 -T 16 00 00 00 6b 65 72 6e 65 6c 0a 56 65 72 73 -R 00 00 01 00 -T 21 00 00 00 69 6f 6e 20 25 73 0a 43 6f 6d 70 -R 00 00 01 00 -T 2c 00 00 00 69 6c 65 64 20 66 6f 72 20 5a 69 -R 00 00 01 00 -T 37 00 00 00 6c 6f 67 20 5a 38 53 31 38 30 20 -R 00 00 01 00 -T 42 00 00 00 43 50 55 0a 0a 43 6f 70 79 72 69 -R 00 00 01 00 -T 4d 00 00 00 67 68 74 20 31 39 38 36 2d 31 39 -R 00 00 01 00 -T 58 00 00 00 39 35 20 62 79 20 50 68 69 6c 20 -R 00 00 01 00 -T 63 00 00 00 4b 61 72 6e 2c 20 4b 41 39 51 0a -R 00 00 01 00 -T 6e 00 00 00 43 6f 70 79 72 69 67 68 74 20 32 -R 00 00 01 00 -T 79 00 00 00 30 30 33 20 62 79 20 4e 69 63 6b -R 00 00 01 00 -T 84 00 00 00 20 44 6f 77 6e 69 6e 67 2c 20 48 -R 00 00 01 00 -T 8f 00 00 00 79 74 65 63 68 0a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/028c_eb47_EINTR.rel b/src/nos/lib/messages_lib/028c_eb47_EINTR.rel new file mode 100644 index 00000000..649c5652 --- /dev/null +++ b/src/nos/lib/messages_lib/028c_eb47_EINTR.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___028c_eb47_EINTR Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 45 49 4e 54 52 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/028d_b479_EINVAL.rel b/src/nos/lib/messages_lib/028d_b479_EINVAL.rel new file mode 100644 index 00000000..796aac7d --- /dev/null +++ b/src/nos/lib/messages_lib/028d_b479_EINVAL.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___028d_b479_EINVAL Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 45 49 4e 56 41 4c 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/028d_df4f_ICMP_20echo_20respo.rel b/src/nos/lib/messages_lib/028d_df4f_ICMP_20echo_20respo.rel deleted file mode 100644 index 01318a8a..00000000 --- a/src/nos/lib/messages_lib/028d_df4f_ICMP_20echo_20respo.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___028d_df4f_ICMP_20echo_20respo Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 49 43 4d 50 20 65 63 68 6f -R 00 00 01 00 -T 0b 00 00 00 20 72 65 73 70 6f 6e 73 65 20 61 -R 00 00 01 00 -T 16 00 00 00 63 63 65 70 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/028e_21d8_EINVFNC.rel b/src/nos/lib/messages_lib/028e_21d8_EINVFNC.rel new file mode 100644 index 00000000..004e5896 --- /dev/null +++ b/src/nos/lib/messages_lib/028e_21d8_EINVFNC.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___028e_21d8_EINVFNC Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 45 49 4e 56 46 4e 43 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/028e_db6d_ICMP_20from_20_25s_.rel b/src/nos/lib/messages_lib/028e_db6d_ICMP_20from_20_25s_.rel deleted file mode 100644 index dff07a98..00000000 --- a/src/nos/lib/messages_lib/028e_db6d_ICMP_20from_20_25s_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___028e_db6d_ICMP_20from_20_25s_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 49 43 4d 50 20 66 72 6f 6d -R 00 00 01 00 -T 0b 00 00 00 20 25 73 3a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/028f_2d75_EIO.rel b/src/nos/lib/messages_lib/028f_2d75_EIO.rel new file mode 100644 index 00000000..e78ddc08 --- /dev/null +++ b/src/nos/lib/messages_lib/028f_2d75_EIO.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___028f_2d75_EIO Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 45 49 4f 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/028f_abbc_ICMP_20tracing.rel b/src/nos/lib/messages_lib/028f_abbc_ICMP_20tracing.rel deleted file mode 100644 index 7c3590a3..00000000 --- a/src/nos/lib/messages_lib/028f_abbc_ICMP_20tracing.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___028f_abbc_ICMP_20tracing Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 49 43 4d 50 20 74 72 61 63 -R 00 00 01 00 -T 0b 00 00 00 69 6e 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0290_6b85_ICMP_3a_20type_20_2.rel b/src/nos/lib/messages_lib/0290_6b85_ICMP_3a_20type_20_2.rel deleted file mode 100644 index fb1c5561..00000000 --- a/src/nos/lib/messages_lib/0290_6b85_ICMP_3a_20type_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___0290_6b85_ICMP_3a_20type_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 49 43 4d 50 3a 20 74 79 70 -R 00 00 01 00 -T 0b 00 00 00 65 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0290_fb45_EISDIR.rel b/src/nos/lib/messages_lib/0290_fb45_EISDIR.rel new file mode 100644 index 00000000..629dc458 --- /dev/null +++ b/src/nos/lib/messages_lib/0290_fb45_EISDIR.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0290_fb45_EISDIR Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 45 49 53 44 49 52 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0291_8de7_ELOOP.rel b/src/nos/lib/messages_lib/0291_8de7_ELOOP.rel new file mode 100644 index 00000000..b01cd3aa --- /dev/null +++ b/src/nos/lib/messages_lib/0291_8de7_ELOOP.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0291_8de7_ELOOP Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 45 4c 4f 4f 50 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0291_dff6_IP_0a.rel b/src/nos/lib/messages_lib/0291_dff6_IP_0a.rel deleted file mode 100644 index 0cbfb518..00000000 --- a/src/nos/lib/messages_lib/0291_dff6_IP_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0291_dff6_IP_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 49 50 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0292_5812_IP_20Time_2dto_2dli.rel b/src/nos/lib/messages_lib/0292_5812_IP_20Time_2dto_2dli.rel deleted file mode 100644 index 3650dbbb..00000000 --- a/src/nos/lib/messages_lib/0292_5812_IP_20Time_2dto_2dli.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___0292_5812_IP_20Time_2dto_2dli Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 49 50 20 54 69 6d 65 2d 74 -R 00 00 01 00 -T 0b 00 00 00 6f 2d 6c 69 76 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0292_9e5a_EMFILE.rel b/src/nos/lib/messages_lib/0292_9e5a_EMFILE.rel new file mode 100644 index 00000000..82f19519 --- /dev/null +++ b/src/nos/lib/messages_lib/0292_9e5a_EMFILE.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0292_9e5a_EMFILE Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 45 4d 46 49 4c 45 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0293_0e41_IP_20addr_20_20_20_.rel b/src/nos/lib/messages_lib/0293_0e41_IP_20addr_20_20_20_.rel deleted file mode 100644 index 49894911..00000000 --- a/src/nos/lib/messages_lib/0293_0e41_IP_20addr_20_20_20_.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2e flags 0 -S ___0293_0e41_IP_20addr_20_20_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2c 00 49 50 20 61 64 64 72 20 20 -R 00 00 01 00 -T 0b 00 00 00 20 20 20 20 20 20 20 54 79 70 65 -R 00 00 01 00 -T 16 00 00 00 20 20 20 20 20 20 20 20 20 20 20 -R 00 00 01 00 -T 21 00 00 00 54 69 6d 65 20 51 20 41 64 64 72 -R 00 00 01 00 -T 2c 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0293_983a_EMLINK.rel b/src/nos/lib/messages_lib/0293_983a_EMLINK.rel new file mode 100644 index 00000000..3ef20ae3 --- /dev/null +++ b/src/nos/lib/messages_lib/0293_983a_EMLINK.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0293_983a_EMLINK Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 45 4d 4c 49 4e 4b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0294_0607_ENAMETOOLONG.rel b/src/nos/lib/messages_lib/0294_0607_ENAMETOOLONG.rel new file mode 100644 index 00000000..cd7393bd --- /dev/null +++ b/src/nos/lib/messages_lib/0294_0607_ENAMETOOLONG.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0294_0607_ENAMETOOLONG Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 45 4e 41 4d 45 54 4f 4f 4c +R 00 00 01 00 +T 0b 00 00 00 4f 4e 47 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0294_8cdb_IP_20reasm_20timeou.rel b/src/nos/lib/messages_lib/0294_8cdb_IP_20reasm_20timeou.rel deleted file mode 100644 index 3c14089b..00000000 --- a/src/nos/lib/messages_lib/0294_8cdb_IP_20reasm_20timeou.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___0294_8cdb_IP_20reasm_20timeou Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 49 50 20 72 65 61 73 6d 20 -R 00 00 01 00 -T 0b 00 00 00 74 69 6d 65 6f 75 74 20 28 73 65 -R 00 00 01 00 -T 16 00 00 00 63 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0295_5f88_IP_20rx_20tracing.rel b/src/nos/lib/messages_lib/0295_5f88_IP_20rx_20tracing.rel deleted file mode 100644 index 62b84057..00000000 --- a/src/nos/lib/messages_lib/0295_5f88_IP_20rx_20tracing.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___0295_5f88_IP_20rx_20tracing Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 49 50 20 72 78 20 74 72 61 -R 00 00 01 00 -T 0b 00 00 00 63 69 6e 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0295_8396_ENFILE.rel b/src/nos/lib/messages_lib/0295_8396_ENFILE.rel new file mode 100644 index 00000000..5f86b66a --- /dev/null +++ b/src/nos/lib/messages_lib/0295_8396_ENFILE.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0295_8396_ENFILE Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 45 4e 46 49 4c 45 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0296_7088_ENODEV.rel b/src/nos/lib/messages_lib/0296_7088_ENODEV.rel new file mode 100644 index 00000000..d9daf521 --- /dev/null +++ b/src/nos/lib/messages_lib/0296_7088_ENODEV.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0296_7088_ENODEV Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 45 4e 4f 44 45 56 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0296_88e0_IP_3a_20CHECKSUM_20.rel b/src/nos/lib/messages_lib/0296_88e0_IP_3a_20CHECKSUM_20.rel deleted file mode 100644 index 8d471857..00000000 --- a/src/nos/lib/messages_lib/0296_88e0_IP_3a_20CHECKSUM_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___0296_88e0_IP_3a_20CHECKSUM_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 49 50 3a 20 43 48 45 43 4b -R 00 00 01 00 -T 0b 00 00 00 53 55 4d 20 45 52 52 4f 52 20 28 -R 00 00 01 00 -T 16 00 00 00 25 75 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0297_03a7_IP_3a_20bad_20heade.rel b/src/nos/lib/messages_lib/0297_03a7_IP_3a_20bad_20heade.rel deleted file mode 100644 index 7d68551d..00000000 --- a/src/nos/lib/messages_lib/0297_03a7_IP_3a_20bad_20heade.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___0297_03a7_IP_3a_20bad_20heade Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 49 50 3a 20 62 61 64 20 68 -R 00 00 01 00 -T 0b 00 00 00 65 61 64 65 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0297_edee_ENOENT.rel b/src/nos/lib/messages_lib/0297_edee_ENOENT.rel new file mode 100644 index 00000000..ee282564 --- /dev/null +++ b/src/nos/lib/messages_lib/0297_edee_ENOENT.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0297_edee_ENOENT Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 45 4e 4f 45 4e 54 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0298_4543_IP_3a_20len_20_25u.rel b/src/nos/lib/messages_lib/0298_4543_IP_3a_20len_20_25u.rel deleted file mode 100644 index db0b58ac..00000000 --- a/src/nos/lib/messages_lib/0298_4543_IP_3a_20len_20_25u.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___0298_4543_IP_3a_20len_20_25u Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 49 50 3a 20 6c 65 6e 20 25 -R 00 00 01 00 -T 0b 00 00 00 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0298_a107_ENOEXEC.rel b/src/nos/lib/messages_lib/0298_a107_ENOEXEC.rel new file mode 100644 index 00000000..2e176ff1 --- /dev/null +++ b/src/nos/lib/messages_lib/0298_a107_ENOEXEC.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0298_a107_ENOEXEC Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 45 4e 4f 45 58 45 43 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0299_29fe_ENOLCK.rel b/src/nos/lib/messages_lib/0299_29fe_ENOLCK.rel new file mode 100644 index 00000000..451eea8d --- /dev/null +++ b/src/nos/lib/messages_lib/0299_29fe_ENOLCK.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0299_29fe_ENOLCK Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 45 4e 4f 4c 43 4b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0299_e067_IPCP_0a.rel b/src/nos/lib/messages_lib/0299_e067_IPCP_0a.rel deleted file mode 100644 index 0f4a53b5..00000000 --- a/src/nos/lib/messages_lib/0299_e067_IPCP_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0299_e067_IPCP_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 49 50 43 50 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/029a_42c4_ENOMEM.rel b/src/nos/lib/messages_lib/029a_42c4_ENOMEM.rel new file mode 100644 index 00000000..14fc31da --- /dev/null +++ b/src/nos/lib/messages_lib/029a_42c4_ENOMEM.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___029a_42c4_ENOMEM Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 45 4e 4f 4d 45 4d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/029a_7c5c_IPCP_20_25s_0a.rel b/src/nos/lib/messages_lib/029a_7c5c_IPCP_20_25s_0a.rel deleted file mode 100644 index 745a3ba2..00000000 --- a/src/nos/lib/messages_lib/029a_7c5c_IPCP_20_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___029a_7c5c_IPCP_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 49 50 43 50 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/029b_a490_IRQ_20_25u_20out_20.rel b/src/nos/lib/messages_lib/029b_a490_IRQ_20_25u_20out_20.rel deleted file mode 100644 index 39b91c08..00000000 --- a/src/nos/lib/messages_lib/029b_a490_IRQ_20_25u_20out_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___029b_a490_IRQ_20_25u_20out_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 49 52 51 20 25 75 20 6f 75 -R 00 00 01 00 -T 0b 00 00 00 74 20 6f 66 20 72 61 6e 67 65 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/029b_d51d_ENOSPC.rel b/src/nos/lib/messages_lib/029b_d51d_ENOSPC.rel new file mode 100644 index 00000000..214681d1 --- /dev/null +++ b/src/nos/lib/messages_lib/029b_d51d_ENOSPC.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___029b_d51d_ENOSPC Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 45 4e 4f 53 50 43 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/029c_925d_Idle_20poll_20timer.rel b/src/nos/lib/messages_lib/029c_925d_Idle_20poll_20timer.rel deleted file mode 100644 index c2d42f23..00000000 --- a/src/nos/lib/messages_lib/029c_925d_Idle_20poll_20timer.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___029c_925d_Idle_20poll_20timer Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 49 64 6c 65 20 70 6f 6c 6c -R 00 00 01 00 -T 0b 00 00 00 20 74 69 6d 65 72 20 28 6d 73 29 -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/029c_d3a2_ENOTBLK.rel b/src/nos/lib/messages_lib/029c_d3a2_ENOTBLK.rel new file mode 100644 index 00000000..6c7c830d --- /dev/null +++ b/src/nos/lib/messages_lib/029c_d3a2_ENOTBLK.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___029c_d3a2_ENOTBLK Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 45 4e 4f 54 42 4c 4b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/029d_4ab5_Image_0a.rel b/src/nos/lib/messages_lib/029d_4ab5_Image_0a.rel deleted file mode 100644 index e1f27fbc..00000000 --- a/src/nos/lib/messages_lib/029d_4ab5_Image_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___029d_4ab5_Image_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 49 6d 61 67 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/029d_f683_ENOTDIR.rel b/src/nos/lib/messages_lib/029d_f683_ENOTDIR.rel new file mode 100644 index 00000000..9ad14fdd --- /dev/null +++ b/src/nos/lib/messages_lib/029d_f683_ENOTDIR.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___029d_f683_ENOTDIR Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 45 4e 4f 54 44 49 52 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/029e_7e58_Initial_20RTT_20_28.rel b/src/nos/lib/messages_lib/029e_7e58_Initial_20RTT_20_28.rel deleted file mode 100644 index 15b61441..00000000 --- a/src/nos/lib/messages_lib/029e_7e58_Initial_20RTT_20_28.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___029e_7e58_Initial_20RTT_20_28 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 49 6e 69 74 69 61 6c 20 52 -R 00 00 01 00 -T 0b 00 00 00 54 54 20 28 6d 73 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/029e_83de_ENOTEMPTY.rel b/src/nos/lib/messages_lib/029e_83de_ENOTEMPTY.rel new file mode 100644 index 00000000..d1845575 --- /dev/null +++ b/src/nos/lib/messages_lib/029e_83de_ENOTEMPTY.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___029e_83de_ENOTEMPTY Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 45 4e 4f 54 45 4d 50 54 59 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/029f_81a3_ENOTTY.rel b/src/nos/lib/messages_lib/029f_81a3_ENOTTY.rel new file mode 100644 index 00000000..1be85b4b --- /dev/null +++ b/src/nos/lib/messages_lib/029f_81a3_ENOTTY.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___029f_81a3_ENOTTY Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 45 4e 4f 54 54 59 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/029f_bd38_Inqlen_3a_20_25d_20.rel b/src/nos/lib/messages_lib/029f_bd38_Inqlen_3a_20_25d_20.rel deleted file mode 100644 index a90b3fae..00000000 --- a/src/nos/lib/messages_lib/029f_bd38_Inqlen_3a_20_25d_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___029f_bd38_Inqlen_3a_20_25d_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 49 6e 71 6c 65 6e 3a 20 25 -R 00 00 01 00 -T 0b 00 00 00 64 20 70 61 63 6b 65 74 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a0_01a7_ENXIO.rel b/src/nos/lib/messages_lib/02a0_01a7_ENXIO.rel new file mode 100644 index 00000000..79cf8a50 --- /dev/null +++ b/src/nos/lib/messages_lib/02a0_01a7_ENXIO.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___02a0_01a7_ENXIO Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 45 4e 58 49 4f 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a0_c7f6_Insufficient_20args.rel b/src/nos/lib/messages_lib/02a0_c7f6_Insufficient_20args.rel deleted file mode 100644 index c1c4d540..00000000 --- a/src/nos/lib/messages_lib/02a0_c7f6_Insufficient_20args.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___02a0_c7f6_Insufficient_20args Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 49 6e 73 75 66 66 69 63 69 -R 00 00 01 00 -T 0b 00 00 00 65 6e 74 20 61 72 67 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a1_4485_EPERM.rel b/src/nos/lib/messages_lib/02a1_4485_EPERM.rel new file mode 100644 index 00000000..a4d9e1a0 --- /dev/null +++ b/src/nos/lib/messages_lib/02a1_4485_EPERM.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___02a1_4485_EPERM Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 45 50 45 52 4d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a1_fcf9_Interface_20_20_20R.rel b/src/nos/lib/messages_lib/02a1_fcf9_Interface_20_20_20R.rel deleted file mode 100644 index d852da98..00000000 --- a/src/nos/lib/messages_lib/02a1_fcf9_Interface_20_20_20R.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2d flags 0 -S ___02a1_fcf9_Interface_20_20_20R Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2b 00 49 6e 74 65 72 66 61 63 65 -R 00 00 01 00 -T 0b 00 00 00 20 20 20 52 63 76 42 20 20 4e 75 -R 00 00 01 00 -T 16 00 00 00 6d 52 65 63 65 69 76 65 64 20 20 -R 00 00 01 00 -T 21 00 00 00 43 53 75 6d 45 72 72 6f 72 73 0a -R 00 00 01 00 -T 2c 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a2_5ede_EPIPE.rel b/src/nos/lib/messages_lib/02a2_5ede_EPIPE.rel new file mode 100644 index 00000000..15d5b7e7 --- /dev/null +++ b/src/nos/lib/messages_lib/02a2_5ede_EPIPE.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___02a2_5ede_EPIPE Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 45 50 49 50 45 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a2_b903_Interface_20_22_25s.rel b/src/nos/lib/messages_lib/02a2_b903_Interface_20_22_25s.rel deleted file mode 100644 index e0ba1818..00000000 --- a/src/nos/lib/messages_lib/02a2_b903_Interface_20_22_25s.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___02a2_b903_Interface_20_22_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 49 6e 74 65 72 66 61 63 65 -R 00 00 01 00 -T 0b 00 00 00 20 22 25 73 22 20 69 73 20 61 6c -R 00 00 01 00 -T 16 00 00 00 72 65 61 64 79 20 72 65 67 69 73 -R 00 00 01 00 -T 21 00 00 00 74 65 72 65 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a3_4daf_Interface_20_22_25s.rel b/src/nos/lib/messages_lib/02a3_4daf_Interface_20_22_25s.rel deleted file mode 100644 index 7cebc06c..00000000 --- a/src/nos/lib/messages_lib/02a3_4daf_Interface_20_22_25s.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___02a3_4daf_Interface_20_22_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 49 6e 74 65 72 66 61 63 65 -R 00 00 01 00 -T 0b 00 00 00 20 22 25 73 22 20 6e 6f 74 20 66 -R 00 00 01 00 -T 16 00 00 00 6f 75 6e 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a3_7f6a_ERANGE.rel b/src/nos/lib/messages_lib/02a3_7f6a_ERANGE.rel new file mode 100644 index 00000000..e173445b --- /dev/null +++ b/src/nos/lib/messages_lib/02a3_7f6a_ERANGE.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___02a3_7f6a_ERANGE Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 45 52 41 4e 47 45 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a4_0587_EROFS.rel b/src/nos/lib/messages_lib/02a4_0587_EROFS.rel new file mode 100644 index 00000000..27bf6639 --- /dev/null +++ b/src/nos/lib/messages_lib/02a4_0587_EROFS.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___02a4_0587_EROFS Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 45 52 4f 46 53 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a4_42ac_Interface_20_22_25s.rel b/src/nos/lib/messages_lib/02a4_42ac_Interface_20_22_25s.rel deleted file mode 100644 index 506a22a5..00000000 --- a/src/nos/lib/messages_lib/02a4_42ac_Interface_20_22_25s.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___02a4_42ac_Interface_20_22_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 49 6e 74 65 72 66 61 63 65 -R 00 00 01 00 -T 0b 00 00 00 20 22 25 73 22 20 75 6e 6b 6e 6f -R 00 00 01 00 -T 16 00 00 00 77 6e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a5_5a50_Interface_20_25s_20.rel b/src/nos/lib/messages_lib/02a5_5a50_Interface_20_25s_20.rel deleted file mode 100644 index 8cf95456..00000000 --- a/src/nos/lib/messages_lib/02a5_5a50_Interface_20_25s_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___02a5_5a50_Interface_20_25s_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 49 6e 74 65 72 66 61 63 65 -R 00 00 01 00 -T 0b 00 00 00 20 25 73 20 61 6c 72 65 61 64 79 -R 00 00 01 00 -T 16 00 00 00 20 65 78 69 73 74 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a5_6b3a_ESCC_20channel_20_2.rel b/src/nos/lib/messages_lib/02a5_6b3a_ESCC_20channel_20_2.rel new file mode 100644 index 00000000..2647c876 --- /dev/null +++ b/src/nos/lib/messages_lib/02a5_6b3a_ESCC_20channel_20_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___02a5_6b3a_ESCC_20channel_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 45 53 43 43 20 63 68 61 6e +R 00 00 01 00 +T 0b 00 00 00 6e 65 6c 20 25 64 20 61 6c 72 65 +R 00 00 01 00 +T 16 00 00 00 61 64 79 20 61 74 74 61 63 68 65 +R 00 00 01 00 +T 21 00 00 00 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a6_1298_Interface_20_25s_20.rel b/src/nos/lib/messages_lib/02a6_1298_Interface_20_25s_20.rel deleted file mode 100644 index 2ab62455..00000000 --- a/src/nos/lib/messages_lib/02a6_1298_Interface_20_25s_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___02a6_1298_Interface_20_25s_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 49 6e 74 65 72 66 61 63 65 -R 00 00 01 00 -T 0b 00 00 00 20 25 73 20 64 6f 65 73 20 6e 6f -R 00 00 01 00 -T 16 00 00 00 74 20 65 78 69 73 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a6_6d38_ESCC_20channel_20_2.rel b/src/nos/lib/messages_lib/02a6_6d38_ESCC_20channel_20_2.rel new file mode 100644 index 00000000..5092f0fa --- /dev/null +++ b/src/nos/lib/messages_lib/02a6_6d38_ESCC_20channel_20_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___02a6_6d38_ESCC_20channel_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 45 53 43 43 20 63 68 61 6e +R 00 00 01 00 +T 0b 00 00 00 6e 65 6c 20 25 64 20 6f 75 74 20 +R 00 00 01 00 +T 16 00 00 00 6f 66 20 72 61 6e 67 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a7_0a8a_ESCC_20driver_20alr.rel b/src/nos/lib/messages_lib/02a7_0a8a_ESCC_20driver_20alr.rel new file mode 100644 index 00000000..80207a9c --- /dev/null +++ b/src/nos/lib/messages_lib/02a7_0a8a_ESCC_20driver_20alr.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 32 flags 0 +S ___02a7_0a8a_ESCC_20driver_20alr Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 30 00 45 53 43 43 20 64 72 69 76 +R 00 00 01 00 +T 0b 00 00 00 65 72 20 61 6c 72 65 61 64 79 20 +R 00 00 01 00 +T 16 00 00 00 69 6e 69 74 69 61 6c 69 7a 65 64 +R 00 00 01 00 +T 21 00 00 00 20 2d 20 6e 6f 74 68 69 6e 67 20 +R 00 00 01 00 +T 2c 00 00 00 64 6f 6e 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a7_24cb_Interface_20_25s_20.rel b/src/nos/lib/messages_lib/02a7_24cb_Interface_20_25s_20.rel deleted file mode 100644 index 0ed76e4d..00000000 --- a/src/nos/lib/messages_lib/02a7_24cb_Interface_20_25s_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___02a7_24cb_Interface_20_25s_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 49 6e 74 65 72 66 61 63 65 -R 00 00 01 00 -T 0b 00 00 00 20 25 73 20 6e 6f 74 20 41 58 2e -R 00 00 01 00 -T 16 00 00 00 32 35 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a8_c749_Interface_20_25s_20.rel b/src/nos/lib/messages_lib/02a8_c749_Interface_20_25s_20.rel deleted file mode 100644 index f3980eab..00000000 --- a/src/nos/lib/messages_lib/02a8_c749_Interface_20_25s_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___02a8_c749_Interface_20_25s_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 49 6e 74 65 72 66 61 63 65 -R 00 00 01 00 -T 0b 00 00 00 20 25 73 20 6e 6f 74 20 61 73 79 -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a8_d89e_ESCC_20driver_20not.rel b/src/nos/lib/messages_lib/02a8_d89e_ESCC_20driver_20not.rel new file mode 100644 index 00000000..52d10b2a --- /dev/null +++ b/src/nos/lib/messages_lib/02a8_d89e_ESCC_20driver_20not.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___02a8_d89e_ESCC_20driver_20not Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 45 53 43 43 20 64 72 69 76 +R 00 00 01 00 +T 0b 00 00 00 65 72 20 6e 6f 74 20 69 6e 69 74 +R 00 00 01 00 +T 16 00 00 00 69 61 6c 69 7a 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a9_63a0_Interface_20_25s_20.rel b/src/nos/lib/messages_lib/02a9_63a0_Interface_20_25s_20.rel deleted file mode 100644 index 81d570e7..00000000 --- a/src/nos/lib/messages_lib/02a9_63a0_Interface_20_25s_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___02a9_63a0_Interface_20_25s_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 49 6e 74 65 72 66 61 63 65 -R 00 00 01 00 -T 0b 00 00 00 20 25 73 20 6e 6f 74 20 61 73 79 -R 00 00 01 00 -T 16 00 00 00 20 70 6f 72 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02a9_dd82_ESHELL.rel b/src/nos/lib/messages_lib/02a9_dd82_ESHELL.rel new file mode 100644 index 00000000..e54b2f39 --- /dev/null +++ b/src/nos/lib/messages_lib/02a9_dd82_ESHELL.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___02a9_dd82_ESHELL Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 45 53 48 45 4c 4c 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02aa_8880_Interface_20_25s_20.rel b/src/nos/lib/messages_lib/02aa_8880_Interface_20_25s_20.rel deleted file mode 100644 index c77cae18..00000000 --- a/src/nos/lib/messages_lib/02aa_8880_Interface_20_25s_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___02aa_8880_Interface_20_25s_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 49 6e 74 65 72 66 61 63 65 -R 00 00 01 00 -T 0b 00 00 00 20 25 73 20 72 61 6e 67 65 3a 20 -R 00 00 01 00 -T 16 00 00 00 25 73 20 2d 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02aa_ffa8_ESPIPE.rel b/src/nos/lib/messages_lib/02aa_ffa8_ESPIPE.rel new file mode 100644 index 00000000..dba57eaa --- /dev/null +++ b/src/nos/lib/messages_lib/02aa_ffa8_ESPIPE.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___02aa_ffa8_ESPIPE Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 45 53 50 49 50 45 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ab_6e91_Interface_20_25s_20.rel b/src/nos/lib/messages_lib/02ab_6e91_Interface_20_25s_20.rel deleted file mode 100644 index ffad3436..00000000 --- a/src/nos/lib/messages_lib/02ab_6e91_Interface_20_25s_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___02ab_6e91_Interface_20_25s_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 49 6e 74 65 72 66 61 63 65 -R 00 00 01 00 -T 0b 00 00 00 20 25 73 20 75 6e 6b 6e 6f 77 6e -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ab_b33c_ESRCH.rel b/src/nos/lib/messages_lib/02ab_b33c_ESRCH.rel new file mode 100644 index 00000000..6ef910ec --- /dev/null +++ b/src/nos/lib/messages_lib/02ab_b33c_ESRCH.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___02ab_b33c_ESRCH Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 45 53 52 43 48 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ac_103c_Interface_20address.rel b/src/nos/lib/messages_lib/02ac_103c_Interface_20address.rel deleted file mode 100644 index f0032ad7..00000000 --- a/src/nos/lib/messages_lib/02ac_103c_Interface_20address.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 -S ___02ac_103c_Interface_20address Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 20 00 49 6e 74 65 72 66 61 63 65 -R 00 00 01 00 -T 0b 00 00 00 20 61 64 64 72 65 73 73 20 6e 6f -R 00 00 01 00 -T 16 00 00 00 74 20 72 65 73 6f 6c 76 65 64 0a -R 00 00 01 00 -T 21 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ac_194a_ETXTBSY.rel b/src/nos/lib/messages_lib/02ac_194a_ETXTBSY.rel new file mode 100644 index 00000000..e444e7c2 --- /dev/null +++ b/src/nos/lib/messages_lib/02ac_194a_ETXTBSY.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___02ac_194a_ETXTBSY Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 45 54 58 54 42 53 59 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ad_8d4a_EXDEV.rel b/src/nos/lib/messages_lib/02ad_8d4a_EXDEV.rel new file mode 100644 index 00000000..da2f06c2 --- /dev/null +++ b/src/nos/lib/messages_lib/02ad_8d4a_EXDEV.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___02ad_8d4a_EXDEV Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 45 58 44 45 56 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ad_c429_Interface_3a_20.rel b/src/nos/lib/messages_lib/02ad_c429_Interface_3a_20.rel deleted file mode 100644 index 5acf4e6a..00000000 --- a/src/nos/lib/messages_lib/02ad_c429_Interface_3a_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___02ad_c429_Interface_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 49 6e 74 65 72 66 61 63 65 -R 00 00 01 00 -T 0b 00 00 00 3a 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ae_6684_Echo_20Reply.rel b/src/nos/lib/messages_lib/02ae_6684_Echo_20Reply.rel new file mode 100644 index 00000000..10ffff43 --- /dev/null +++ b/src/nos/lib/messages_lib/02ae_6684_Echo_20Reply.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___02ae_6684_Echo_20Reply Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 45 63 68 6f 20 52 65 70 6c +R 00 00 01 00 +T 0b 00 00 00 79 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ae_d726_Invalid_20magic_20c.rel b/src/nos/lib/messages_lib/02ae_d726_Invalid_20magic_20c.rel deleted file mode 100644 index 0bcf5c5d..00000000 --- a/src/nos/lib/messages_lib/02ae_d726_Invalid_20magic_20c.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___02ae_d726_Invalid_20magic_20c Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 49 6e 76 61 6c 69 64 20 6d -R 00 00 01 00 -T 0b 00 00 00 61 67 69 63 20 63 6f 6f 6b 69 65 -R 00 00 01 00 -T 16 00 00 00 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02af_1323_Echo_20Request.rel b/src/nos/lib/messages_lib/02af_1323_Echo_20Request.rel new file mode 100644 index 00000000..676138c1 --- /dev/null +++ b/src/nos/lib/messages_lib/02af_1323_Echo_20Request.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___02af_1323_Echo_20Request Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 45 63 68 6f 20 52 65 71 75 +R 00 00 01 00 +T 0b 00 00 00 65 73 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02af_42d9_Invalid_20range_2e_.rel b/src/nos/lib/messages_lib/02af_42d9_Invalid_20range_2e_.rel deleted file mode 100644 index ca3d9c60..00000000 --- a/src/nos/lib/messages_lib/02af_42d9_Invalid_20range_2e_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___02af_42d9_Invalid_20range_2e_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 49 6e 76 61 6c 69 64 20 72 -R 00 00 01 00 -T 0b 00 00 00 61 6e 67 65 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b0_4f54_Encapsulation_20mod.rel b/src/nos/lib/messages_lib/02b0_4f54_Encapsulation_20mod.rel new file mode 100644 index 00000000..d186519f --- /dev/null +++ b/src/nos/lib/messages_lib/02b0_4f54_Encapsulation_20mod.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___02b0_4f54_Encapsulation_20mod Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 45 6e 63 61 70 73 75 6c 61 +R 00 00 01 00 +T 0b 00 00 00 74 69 6f 6e 20 6d 6f 64 65 20 27 +R 00 00 01 00 +T 16 00 00 00 25 73 27 20 75 6e 6b 6e 6f 77 6e +R 00 00 01 00 +T 21 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b0_89c0_Invalid_20type_20_2.rel b/src/nos/lib/messages_lib/02b0_89c0_Invalid_20type_20_2.rel deleted file mode 100644 index 31dd9266..00000000 --- a/src/nos/lib/messages_lib/02b0_89c0_Invalid_20type_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___02b0_89c0_Invalid_20type_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 49 6e 76 61 6c 69 64 20 74 -R 00 00 01 00 -T 0b 00 00 00 79 70 65 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b1_0f4a_Enqued_20_20_2d_20_.rel b/src/nos/lib/messages_lib/02b1_0f4a_Enqued_20_20_2d_20_.rel new file mode 100644 index 00000000..9803ffdb --- /dev/null +++ b/src/nos/lib/messages_lib/02b1_0f4a_Enqued_20_20_2d_20_.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 32 flags 0 +S ___02b1_0f4a_Enqued_20_20_2d_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 30 00 45 6e 71 75 65 64 20 20 2d +R 00 00 01 00 +T 0b 00 00 00 20 25 38 6c 64 20 20 43 72 63 65 +R 00 00 01 00 +T 16 00 00 00 72 72 20 20 2d 20 25 38 6c 64 20 +R 00 00 01 00 +T 21 00 00 00 20 41 62 6f 72 74 73 20 20 2d 20 +R 00 00 01 00 +T 2c 00 00 00 25 38 6c 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b1_62ed_Invalid_20user_20na.rel b/src/nos/lib/messages_lib/02b1_62ed_Invalid_20user_20na.rel deleted file mode 100644 index 2a0f05ba..00000000 --- a/src/nos/lib/messages_lib/02b1_62ed_Invalid_20user_20na.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___02b1_62ed_Invalid_20user_20na Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 49 6e 76 61 6c 69 64 20 75 -R 00 00 01 00 -T 0b 00 00 00 73 65 72 20 6e 61 6d 65 20 25 73 -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b2_be0b_Job_20id_20_25s_20n.rel b/src/nos/lib/messages_lib/02b2_be0b_Job_20id_20_25s_20n.rel deleted file mode 100644 index 16971ba3..00000000 --- a/src/nos/lib/messages_lib/02b2_be0b_Job_20id_20_25s_20n.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___02b2_be0b_Job_20id_20_25s_20n Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 4a 6f 62 20 69 64 20 25 73 -R 00 00 01 00 -T 0b 00 00 00 20 6e 6f 74 20 66 6f 75 6e 64 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b2_de30_Enter_20message_2e_.rel b/src/nos/lib/messages_lib/02b2_de30_Enter_20message_2e_.rel new file mode 100644 index 00000000..4d0693e8 --- /dev/null +++ b/src/nos/lib/messages_lib/02b2_de30_Enter_20message_2e_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___02b2_de30_Enter_20message_2e_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 45 6e 74 65 72 20 6d 65 73 +R 00 00 01 00 +T 0b 00 00 00 73 61 67 65 2e 20 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b3_3a50_Error_20in_20respon.rel b/src/nos/lib/messages_lib/02b3_3a50_Error_20in_20respon.rel new file mode 100644 index 00000000..e31cf48f --- /dev/null +++ b/src/nos/lib/messages_lib/02b3_3a50_Error_20in_20respon.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___02b3_3a50_Error_20in_20respon Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 45 72 72 6f 72 20 69 6e 20 +R 00 00 01 00 +T 0b 00 00 00 72 65 73 70 6f 6e 73 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b3_87a9_K_20numbers.rel b/src/nos/lib/messages_lib/02b3_87a9_K_20numbers.rel deleted file mode 100644 index f30f7542..00000000 --- a/src/nos/lib/messages_lib/02b3_87a9_K_20numbers.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___02b3_87a9_K_20numbers Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 4b 20 6e 75 6d 62 65 72 73 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b4_414e_KISS_3a_20.rel b/src/nos/lib/messages_lib/02b4_414e_KISS_3a_20.rel deleted file mode 100644 index ec0d9438..00000000 --- a/src/nos/lib/messages_lib/02b4_414e_KISS_3a_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___02b4_414e_KISS_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 4b 49 53 53 3a 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b4_d568_Error_20updating_20.rel b/src/nos/lib/messages_lib/02b4_d568_Error_20updating_20.rel new file mode 100644 index 00000000..929e6978 --- /dev/null +++ b/src/nos/lib/messages_lib/02b4_d568_Error_20updating_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___02b4_d568_Error_20updating_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 45 72 72 6f 72 20 75 70 64 +R 00 00 01 00 +T 0b 00 00 00 61 74 69 6e 67 20 6d 61 69 6c 20 +R 00 00 01 00 +T 16 00 00 00 66 69 6c 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b5_1668_Known_20users_20on_.rel b/src/nos/lib/messages_lib/02b5_1668_Known_20users_20on_.rel deleted file mode 100644 index 3484d642..00000000 --- a/src/nos/lib/messages_lib/02b5_1668_Known_20users_20on_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___02b5_1668_Known_20users_20on_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 4b 6e 6f 77 6e 20 75 73 65 -R 00 00 01 00 -T 0b 00 00 00 72 73 20 6f 6e 20 74 68 69 73 20 -R 00 00 01 00 -T 16 00 00 00 73 79 73 74 65 6d 3a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b5_69fc_Error_20writing_20m.rel b/src/nos/lib/messages_lib/02b5_69fc_Error_20writing_20m.rel new file mode 100644 index 00000000..9ec3a48b --- /dev/null +++ b/src/nos/lib/messages_lib/02b5_69fc_Error_20writing_20m.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___02b5_69fc_Error_20writing_20m Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 45 72 72 6f 72 20 77 72 69 +R 00 00 01 00 +T 0b 00 00 00 74 69 6e 67 20 6d 61 69 6c 20 66 +R 00 00 01 00 +T 16 00 00 00 69 6c 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b6_171d_LCP_0a.rel b/src/nos/lib/messages_lib/02b6_171d_LCP_0a.rel deleted file mode 100644 index 52ad3d37..00000000 --- a/src/nos/lib/messages_lib/02b6_171d_LCP_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___02b6_171d_LCP_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 4c 43 50 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b6_9664_Escape_20character_.rel b/src/nos/lib/messages_lib/02b6_9664_Escape_20character_.rel new file mode 100644 index 00000000..7cb4713f --- /dev/null +++ b/src/nos/lib/messages_lib/02b6_9664_Escape_20character_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___02b6_9664_Escape_20character_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 45 73 63 61 70 65 20 63 68 +R 00 00 01 00 +T 0b 00 00 00 61 72 61 63 74 65 72 20 73 65 6e +R 00 00 01 00 +T 16 00 00 00 74 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b7_bdca_Establishment_20Pha.rel b/src/nos/lib/messages_lib/02b7_bdca_Establishment_20Pha.rel new file mode 100644 index 00000000..889d0459 --- /dev/null +++ b/src/nos/lib/messages_lib/02b7_bdca_Establishment_20Pha.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___02b7_bdca_Establishment_20Pha Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 45 73 74 61 62 6c 69 73 68 +R 00 00 01 00 +T 0b 00 00 00 6d 65 6e 74 20 50 68 61 73 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b7_befe_LCP_20_25s_0a.rel b/src/nos/lib/messages_lib/02b7_befe_LCP_20_25s_0a.rel deleted file mode 100644 index 3ee3f78a..00000000 --- a/src/nos/lib/messages_lib/02b7_befe_LCP_20_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___02b7_befe_LCP_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 4c 43 50 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b8_1d45_Last_20message_0a.rel b/src/nos/lib/messages_lib/02b8_1d45_Last_20message_0a.rel deleted file mode 100644 index dbd0c25a..00000000 --- a/src/nos/lib/messages_lib/02b8_1d45_Last_20message_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___02b8_1d45_Last_20message_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 4c 61 73 74 20 6d 65 73 73 -R 00 00 01 00 -T 0b 00 00 00 61 67 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b8_8c2d_Ether_3a_20len_20_2.rel b/src/nos/lib/messages_lib/02b8_8c2d_Ether_3a_20len_20_2.rel new file mode 100644 index 00000000..88c2ad7a --- /dev/null +++ b/src/nos/lib/messages_lib/02b8_8c2d_Ether_3a_20len_20_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___02b8_8c2d_Ether_3a_20len_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 45 74 68 65 72 3a 20 6c 65 +R 00 00 01 00 +T 0b 00 00 00 6e 20 25 75 20 25 73 2d 3e 25 73 +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b9_3af3_F_3e.rel b/src/nos/lib/messages_lib/02b9_3af3_F_3e.rel new file mode 100644 index 00000000..05f0d116 --- /dev/null +++ b/src/nos/lib/messages_lib/02b9_3af3_F_3e.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 5 flags 0 +S ___02b9_3af3_F_3e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 03 00 46 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02b9_a317_Loc_20.rel b/src/nos/lib/messages_lib/02b9_a317_Loc_20.rel deleted file mode 100644 index 9ec4ee84..00000000 --- a/src/nos/lib/messages_lib/02b9_a317_Loc_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___02b9_a317_Loc_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 4c 6f 63 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ba_0046_Failed_0a.rel b/src/nos/lib/messages_lib/02ba_0046_Failed_0a.rel new file mode 100644 index 00000000..0d1a3060 --- /dev/null +++ b/src/nos/lib/messages_lib/02ba_0046_Failed_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___02ba_0046_Failed_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 46 61 69 6c 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ba_5ce5_Local_3a_20_25s.rel b/src/nos/lib/messages_lib/02ba_5ce5_Local_3a_20_25s.rel deleted file mode 100644 index 07e03fda..00000000 --- a/src/nos/lib/messages_lib/02ba_5ce5_Local_3a_20_25s.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___02ba_5ce5_Local_3a_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 4c 6f 63 61 6c 3a 20 25 73 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02bb_0926_Local_3a_20_25s_20_.rel b/src/nos/lib/messages_lib/02bb_0926_Local_3a_20_25s_20_.rel deleted file mode 100644 index 7255db57..00000000 --- a/src/nos/lib/messages_lib/02bb_0926_Local_3a_20_25s_20_.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 33 flags 0 -S ___02bb_0926_Local_3a_20_25s_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 31 00 4c 6f 63 61 6c 3a 20 25 73 -R 00 00 01 00 -T 0b 00 00 00 20 25 64 2f 25 64 20 52 65 6d 6f -R 00 00 01 00 -T 16 00 00 00 74 65 3a 20 25 73 20 40 20 25 73 -R 00 00 01 00 -T 21 00 00 00 20 25 64 2f 25 64 20 53 74 61 74 -R 00 00 01 00 -T 2c 00 00 00 65 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02bb_8931_Failed_3b_20close_2.rel b/src/nos/lib/messages_lib/02bb_8931_Failed_3b_20close_2.rel new file mode 100644 index 00000000..658f7d68 --- /dev/null +++ b/src/nos/lib/messages_lib/02bb_8931_Failed_3b_20close_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___02bb_8931_Failed_3b_20close_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 46 61 69 6c 65 64 3b 20 63 +R 00 00 01 00 +T 0b 00 00 00 6c 6f 73 65 20 63 6f 6e 6e 65 63 +R 00 00 01 00 +T 16 00 00 00 74 69 6f 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02bc_4a7b_First_20init_20ESCC.rel b/src/nos/lib/messages_lib/02bc_4a7b_First_20init_20ESCC.rel new file mode 100644 index 00000000..9cac0c86 --- /dev/null +++ b/src/nos/lib/messages_lib/02bc_4a7b_First_20init_20ESCC.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___02bc_4a7b_First_20init_20ESCC Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 46 69 72 73 74 20 69 6e 69 +R 00 00 01 00 +T 0b 00 00 00 74 20 45 53 43 43 20 64 72 69 76 +R 00 00 01 00 +T 16 00 00 00 65 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02bc_6210_Lock_20directory_20.rel b/src/nos/lib/messages_lib/02bc_6210_Lock_20directory_20.rel deleted file mode 100644 index 60dc59c9..00000000 --- a/src/nos/lib/messages_lib/02bc_6210_Lock_20directory_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___02bc_6210_Lock_20directory_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 4c 6f 63 6b 20 64 69 72 65 -R 00 00 01 00 -T 0b 00 00 00 63 74 6f 72 79 20 25 73 20 6d 69 -R 00 00 01 00 -T 16 00 00 00 73 73 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02bd_0954_Forwarding_20timer_.rel b/src/nos/lib/messages_lib/02bd_0954_Forwarding_20timer_.rel new file mode 100644 index 00000000..be25b1fd --- /dev/null +++ b/src/nos/lib/messages_lib/02bd_0954_Forwarding_20timer_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___02bd_0954_Forwarding_20timer_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 46 6f 72 77 61 72 64 69 6e +R 00 00 01 00 +T 0b 00 00 00 67 20 74 69 6d 65 72 3a 20 25 6c +R 00 00 01 00 +T 16 00 00 00 75 2f 25 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02bd_f59a_Logging_20off_0a.rel b/src/nos/lib/messages_lib/02bd_f59a_Logging_20off_0a.rel deleted file mode 100644 index d3c008fc..00000000 --- a/src/nos/lib/messages_lib/02bd_f59a_Logging_20off_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___02bd_f59a_Logging_20off_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 4c 6f 67 67 69 6e 67 20 6f -R 00 00 01 00 -T 0b 00 00 00 66 66 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02be_1bd9_Logging_20to_20_25s.rel b/src/nos/lib/messages_lib/02be_1bd9_Logging_20to_20_25s.rel deleted file mode 100644 index ea8b7f31..00000000 --- a/src/nos/lib/messages_lib/02be_1bd9_Logging_20to_20_25s.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___02be_1bd9_Logging_20to_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 4c 6f 67 67 69 6e 67 20 74 -R 00 00 01 00 -T 0b 00 00 00 6f 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02be_95bb_Free_20address_20qu.rel b/src/nos/lib/messages_lib/02be_95bb_Free_20address_20qu.rel new file mode 100644 index 00000000..11512ecd --- /dev/null +++ b/src/nos/lib/messages_lib/02be_95bb_Free_20address_20qu.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___02be_95bb_Free_20address_20qu Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 46 72 65 65 20 61 64 64 72 +R 00 00 01 00 +T 0b 00 00 00 65 73 73 20 71 75 65 75 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02bf_4a5a_Logical_20bytesize_.rel b/src/nos/lib/messages_lib/02bf_4a5a_Logical_20bytesize_.rel deleted file mode 100644 index 2c34b4e4..00000000 --- a/src/nos/lib/messages_lib/02bf_4a5a_Logical_20bytesize_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___02bf_4a5a_Logical_20bytesize_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 4c 6f 67 69 63 61 6c 20 62 -R 00 00 01 00 -T 0b 00 00 00 79 74 65 73 69 7a 65 20 25 75 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02bf_fee7_Free_20cache_3a_20s.rel b/src/nos/lib/messages_lib/02bf_fee7_Free_20cache_3a_20s.rel new file mode 100644 index 00000000..0b20417c --- /dev/null +++ b/src/nos/lib/messages_lib/02bf_fee7_Free_20cache_3a_20s.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2b flags 0 +S ___02bf_fee7_Free_20cache_3a_20s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 29 00 46 72 65 65 20 63 61 63 68 +R 00 00 01 00 +T 0b 00 00 00 65 3a 20 73 6d 61 6c 6c 20 25 75 +R 00 00 01 00 +T 16 00 00 00 20 6d 65 64 69 75 6d 20 25 75 20 +R 00 00 01 00 +T 21 00 00 00 6c 61 72 67 65 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c0_4f93_Login_20incorrect_0.rel b/src/nos/lib/messages_lib/02c0_4f93_Login_20incorrect_0.rel deleted file mode 100644 index 1bb55703..00000000 --- a/src/nos/lib/messages_lib/02c0_4f93_Login_20incorrect_0.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___02c0_4f93_Login_20incorrect_0 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 4c 6f 67 69 6e 20 69 6e 63 -R 00 00 01 00 -T 0b 00 00 00 6f 72 72 65 63 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c0_8dc1_Free_20memory_20thr.rel b/src/nos/lib/messages_lib/02c0_8dc1_Free_20memory_20thr.rel new file mode 100644 index 00000000..f34bcf21 --- /dev/null +++ b/src/nos/lib/messages_lib/02c0_8dc1_Free_20memory_20thr.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___02c0_8dc1_Free_20memory_20thr Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 46 72 65 65 20 6d 65 6d 6f +R 00 00 01 00 +T 0b 00 00 00 72 79 20 74 68 72 65 73 68 6f 6c +R 00 00 01 00 +T 16 00 00 00 64 20 28 62 79 74 65 73 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c1_1be2_From_20_25s_20_25s.rel b/src/nos/lib/messages_lib/02c1_1be2_From_20_25s_20_25s.rel new file mode 100644 index 00000000..b0f11e9a --- /dev/null +++ b/src/nos/lib/messages_lib/02c1_1be2_From_20_25s_20_25s.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___02c1_1be2_From_20_25s_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 46 72 6f 6d 20 25 73 20 25 +R 00 00 01 00 +T 0b 00 00 00 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c1_8ac2_MBOX_20Zap_3a_20_25.rel b/src/nos/lib/messages_lib/02c1_8ac2_MBOX_20Zap_3a_20_25.rel deleted file mode 100644 index 30202753..00000000 --- a/src/nos/lib/messages_lib/02c1_8ac2_MBOX_20Zap_3a_20_25.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___02c1_8ac2_MBOX_20Zap_3a_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 4d 42 4f 58 20 5a 61 70 3a -R 00 00 01 00 -T 0b 00 00 00 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c2_1dc7_MBOX_20bbs_20mail_2.rel b/src/nos/lib/messages_lib/02c2_1dc7_MBOX_20bbs_20mail_2.rel deleted file mode 100644 index aa718b40..00000000 --- a/src/nos/lib/messages_lib/02c2_1dc7_MBOX_20bbs_20mail_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___02c2_1dc7_MBOX_20bbs_20mail_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 4d 42 4f 58 20 62 62 73 20 -R 00 00 01 00 -T 0b 00 00 00 6d 61 69 6c 20 72 65 66 75 73 65 -R 00 00 01 00 -T 16 00 00 00 64 3a 20 25 73 0a 20 20 20 20 20 -R 00 00 01 00 -T 21 00 00 00 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c2_d837_From_3a_20_25s_0a.rel b/src/nos/lib/messages_lib/02c2_d837_From_3a_20_25s_0a.rel new file mode 100644 index 00000000..c7d99094 --- /dev/null +++ b/src/nos/lib/messages_lib/02c2_d837_From_3a_20_25s_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___02c2_d837_From_3a_20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 46 72 6f 6d 3a 20 25 73 0a +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c3_37c2_MBOX_20bbs_20mail_2.rel b/src/nos/lib/messages_lib/02c3_37c2_MBOX_20bbs_20mail_2.rel deleted file mode 100644 index 761746ca..00000000 --- a/src/nos/lib/messages_lib/02c3_37c2_MBOX_20bbs_20mail_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___02c3_37c2_MBOX_20bbs_20mail_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 4d 42 4f 58 20 62 62 73 20 -R 00 00 01 00 -T 0b 00 00 00 6d 61 69 6c 20 73 65 6e 74 3a 20 -R 00 00 01 00 -T 16 00 00 00 25 73 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c3_b9a0_Garbage_20bp_20_25l.rel b/src/nos/lib/messages_lib/02c3_b9a0_Garbage_20bp_20_25l.rel new file mode 100644 index 00000000..48d75fb2 --- /dev/null +++ b/src/nos/lib/messages_lib/02c3_b9a0_Garbage_20bp_20_25l.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___02c3_b9a0_Garbage_20bp_20_25l Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 47 61 72 62 61 67 65 20 62 +R 00 00 01 00 +T 0b 00 00 00 70 20 25 6c 78 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c4_7731_Group_20list_20too_.rel b/src/nos/lib/messages_lib/02c4_7731_Group_20list_20too_.rel new file mode 100644 index 00000000..104a165e --- /dev/null +++ b/src/nos/lib/messages_lib/02c4_7731_Group_20list_20too_.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2d flags 0 +S ___02c4_7731_Group_20list_20too_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2b 00 47 72 6f 75 70 20 6c 69 73 +R 00 00 01 00 +T 0b 00 00 00 74 20 74 6f 6f 20 6c 6f 6e 67 21 +R 00 00 01 00 +T 16 00 00 00 20 20 47 72 6f 75 70 20 27 25 73 +R 00 00 01 00 +T 21 00 00 00 27 20 69 67 6e 6f 72 65 64 21 0a +R 00 00 01 00 +T 2c 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c4_f88f_MBOX_20forward_20fa.rel b/src/nos/lib/messages_lib/02c4_f88f_MBOX_20forward_20fa.rel deleted file mode 100644 index beca0a62..00000000 --- a/src/nos/lib/messages_lib/02c4_f88f_MBOX_20forward_20fa.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___02c4_f88f_MBOX_20forward_20fa Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 4d 42 4f 58 20 66 6f 72 77 -R 00 00 01 00 -T 0b 00 00 00 61 72 64 20 66 61 69 6c 65 64 3a -R 00 00 01 00 -T 16 00 00 00 20 25 73 20 65 72 72 6e 6f 20 25 -R 00 00 01 00 -T 21 00 00 00 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c5_9bd4_MBOX_20forwarding_2.rel b/src/nos/lib/messages_lib/02c5_9bd4_MBOX_20forwarding_2.rel deleted file mode 100644 index d6229de8..00000000 --- a/src/nos/lib/messages_lib/02c5_9bd4_MBOX_20forwarding_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___02c5_9bd4_MBOX_20forwarding_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 4d 42 4f 58 20 66 6f 72 77 -R 00 00 01 00 -T 0b 00 00 00 61 72 64 69 6e 67 20 6d 61 69 6c -R 00 00 01 00 -T 16 00 00 00 20 74 6f 3a 20 25 73 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c5_ccdf_HAPN_20_25d_3a_20_2.rel b/src/nos/lib/messages_lib/02c5_ccdf_HAPN_20_25d_3a_20_2.rel new file mode 100644 index 00000000..8361ec67 --- /dev/null +++ b/src/nos/lib/messages_lib/02c5_ccdf_HAPN_20_25d_3a_20_2.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 37 flags 0 +S ___02c5_ccdf_HAPN_20_25d_3a_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 35 00 48 41 50 4e 20 25 64 3a 20 +R 00 00 01 00 +T 0b 00 00 00 20 20 72 78 69 6e 74 73 3a 20 25 +R 00 00 01 00 +T 16 00 00 00 6c 64 20 20 20 74 78 69 6e 74 73 +R 00 00 01 00 +T 21 00 00 00 3a 20 25 6c 64 20 20 20 62 61 64 +R 00 00 01 00 +T 2c 00 00 00 69 6e 74 3a 20 25 2d 35 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c6_9570_HOPCHECK_20start_20.rel b/src/nos/lib/messages_lib/02c6_9570_HOPCHECK_20start_20.rel new file mode 100644 index 00000000..3d15fbde --- /dev/null +++ b/src/nos/lib/messages_lib/02c6_9570_HOPCHECK_20start_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___02c6_9570_HOPCHECK_20start_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 48 4f 50 43 48 45 43 4b 20 +R 00 00 01 00 +T 0b 00 00 00 73 74 61 72 74 20 74 72 61 63 65 +R 00 00 01 00 +T 16 00 00 00 20 74 6f 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c6_d1e8_MBOX_20login_3a_20_.rel b/src/nos/lib/messages_lib/02c6_d1e8_MBOX_20login_3a_20_.rel deleted file mode 100644 index 61a81225..00000000 --- a/src/nos/lib/messages_lib/02c6_d1e8_MBOX_20login_3a_20_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___02c6_d1e8_MBOX_20login_3a_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 4d 42 4f 58 20 6c 6f 67 69 -R 00 00 01 00 -T 0b 00 00 00 6e 3a 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c7_8ef4_HOPCHECK_20to_20_25.rel b/src/nos/lib/messages_lib/02c7_8ef4_HOPCHECK_20to_20_25.rel new file mode 100644 index 00000000..def8532c --- /dev/null +++ b/src/nos/lib/messages_lib/02c7_8ef4_HOPCHECK_20to_20_25.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___02c7_8ef4_HOPCHECK_20to_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 48 4f 50 43 48 45 43 4b 20 +R 00 00 01 00 +T 0b 00 00 00 74 6f 20 25 73 20 64 6f 6e 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c7_dd2e_MBOX_20login_3a_20_.rel b/src/nos/lib/messages_lib/02c7_dd2e_MBOX_20login_3a_20_.rel deleted file mode 100644 index bb9df287..00000000 --- a/src/nos/lib/messages_lib/02c7_dd2e_MBOX_20login_3a_20_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___02c7_dd2e_MBOX_20login_3a_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 4d 42 4f 58 20 6c 6f 67 69 -R 00 00 01 00 -T 0b 00 00 00 6e 3a 20 25 73 20 50 61 73 73 77 -R 00 00 01 00 -T 16 00 00 00 6f 72 64 3a 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c8_c794_HOPCHECK_20tracing.rel b/src/nos/lib/messages_lib/02c8_c794_HOPCHECK_20tracing.rel new file mode 100644 index 00000000..85082a01 --- /dev/null +++ b/src/nos/lib/messages_lib/02c8_c794_HOPCHECK_20tracing.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___02c8_c794_HOPCHECK_20tracing Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 48 4f 50 43 48 45 43 4b 20 +R 00 00 01 00 +T 0b 00 00 00 74 72 61 63 69 6e 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c8_e920_MBOX_20sysop_3a_20_.rel b/src/nos/lib/messages_lib/02c8_e920_MBOX_20sysop_3a_20_.rel deleted file mode 100644 index d93c3e03..00000000 --- a/src/nos/lib/messages_lib/02c8_e920_MBOX_20sysop_3a_20_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___02c8_e920_MBOX_20sysop_3a_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 4d 42 4f 58 20 73 79 73 6f -R 00 00 01 00 -T 0b 00 00 00 70 3a 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c9_4952_HS_3a_20Warning_3a_.rel b/src/nos/lib/messages_lib/02c9_4952_HS_3a_20Warning_3a_.rel new file mode 100644 index 00000000..a67b9337 --- /dev/null +++ b/src/nos/lib/messages_lib/02c9_4952_HS_3a_20Warning_3a_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___02c9_4952_HS_3a_20Warning_3a_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 48 53 3a 20 57 61 72 6e 69 +R 00 00 01 00 +T 0b 00 00 00 6e 67 3a 20 61 75 74 6f 20 64 65 +R 00 00 01 00 +T 16 00 00 00 6c 61 79 20 73 65 74 20 66 61 69 +R 00 00 01 00 +T 21 00 00 00 6c 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02c9_a30c_MBOX_20upload_3a_20.rel b/src/nos/lib/messages_lib/02c9_a30c_MBOX_20upload_3a_20.rel deleted file mode 100644 index e173c2ce..00000000 --- a/src/nos/lib/messages_lib/02c9_a30c_MBOX_20upload_3a_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___02c9_a30c_MBOX_20upload_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 4d 42 4f 58 20 75 70 6c 6f -R 00 00 01 00 -T 0b 00 00 00 61 64 3a 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ca_10ba_Hardware_20_25u_0a.rel b/src/nos/lib/messages_lib/02ca_10ba_Hardware_20_25u_0a.rel new file mode 100644 index 00000000..93d8a3e7 --- /dev/null +++ b/src/nos/lib/messages_lib/02ca_10ba_Hardware_20_25u_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___02ca_10ba_Hardware_20_25u_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 48 61 72 64 77 61 72 65 20 +R 00 00 01 00 +T 0b 00 00 00 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ca_c247_MKD_20_25s.rel b/src/nos/lib/messages_lib/02ca_c247_MKD_20_25s.rel deleted file mode 100644 index f3f0efcf..00000000 --- a/src/nos/lib/messages_lib/02ca_c247_MKD_20_25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___02ca_c247_MKD_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 4d 4b 44 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02cb_32e9_Heap_20debugging.rel b/src/nos/lib/messages_lib/02cb_32e9_Heap_20debugging.rel new file mode 100644 index 00000000..074cd49e --- /dev/null +++ b/src/nos/lib/messages_lib/02cb_32e9_Heap_20debugging.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___02cb_32e9_Heap_20debugging Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 48 65 61 70 20 64 65 62 75 +R 00 00 01 00 +T 0b 00 00 00 67 67 69 6e 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02cb_53a6_MRU_20_25s_20_28_25.rel b/src/nos/lib/messages_lib/02cb_53a6_MRU_20_25s_20_28_25.rel deleted file mode 100644 index 1f17d3c9..00000000 --- a/src/nos/lib/messages_lib/02cb_53a6_MRU_20_25s_20_28_25.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 27 flags 0 -S ___02cb_53a6_MRU_20_25s_20_28_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 25 00 4d 52 55 20 25 73 20 28 25 -R 00 00 01 00 -T 0b 00 00 00 64 29 20 6f 75 74 20 6f 66 20 72 -R 00 00 01 00 -T 16 00 00 00 61 6e 67 65 20 25 64 20 74 68 72 -R 00 00 01 00 -T 21 00 00 00 75 20 25 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02cc_9144_Host_20_25s_20_28_2.rel b/src/nos/lib/messages_lib/02cc_9144_Host_20_25s_20_28_2.rel new file mode 100644 index 00000000..d9033427 --- /dev/null +++ b/src/nos/lib/messages_lib/02cc_9144_Host_20_25s_20_28_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___02cc_9144_Host_20_25s_20_28_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 48 6f 73 74 20 25 73 20 28 +R 00 00 01 00 +T 0b 00 00 00 25 73 29 20 75 6e 72 65 61 63 68 +R 00 00 01 00 +T 16 00 00 00 61 62 6c 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02cc_f9a6_Magic_20Number.rel b/src/nos/lib/messages_lib/02cc_f9a6_Magic_20Number.rel deleted file mode 100644 index 150acb69..00000000 --- a/src/nos/lib/messages_lib/02cc_f9a6_Magic_20Number.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___02cc_f9a6_Magic_20Number Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 4d 61 67 69 63 20 4e 75 6d -R 00 00 01 00 -T 0b 00 00 00 62 65 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02cd_862c_Host_20_25s_20unkno.rel b/src/nos/lib/messages_lib/02cd_862c_Host_20_25s_20unkno.rel new file mode 100644 index 00000000..69b314cf --- /dev/null +++ b/src/nos/lib/messages_lib/02cd_862c_Host_20_25s_20unkno.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___02cd_862c_Host_20_25s_20unkno Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 48 6f 73 74 20 25 73 20 75 +R 00 00 01 00 +T 0b 00 00 00 6e 6b 6e 6f 77 6e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02cd_d070_Mail_20area_3a_20_2.rel b/src/nos/lib/messages_lib/02cd_d070_Mail_20area_3a_20_2.rel deleted file mode 100644 index 33836d32..00000000 --- a/src/nos/lib/messages_lib/02cd_d070_Mail_20area_3a_20_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2a flags 0 -S ___02cd_d070_Mail_20area_3a_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 28 00 4d 61 69 6c 20 61 72 65 61 -R 00 00 01 00 -T 0b 00 00 00 3a 20 25 73 20 20 25 64 20 6d 65 -R 00 00 01 00 -T 16 00 00 00 73 73 61 67 65 25 73 20 2d 20 20 -R 00 00 01 00 -T 21 00 00 00 25 64 20 6e 65 77 0a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ce_0103_Mail_20box_20full_3.rel b/src/nos/lib/messages_lib/02ce_0103_Mail_20box_20full_3.rel deleted file mode 100644 index 07196616..00000000 --- a/src/nos/lib/messages_lib/02ce_0103_Mail_20box_20full_3.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___02ce_0103_Mail_20box_20full_3 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 4d 61 69 6c 20 62 6f 78 20 -R 00 00 01 00 -T 0b 00 00 00 66 75 6c 6c 3a 20 3e 20 25 64 20 -R 00 00 01 00 -T 16 00 00 00 6d 65 73 73 61 67 65 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ce_f216_Hostname_20set_20to.rel b/src/nos/lib/messages_lib/02ce_f216_Hostname_20set_20to.rel new file mode 100644 index 00000000..c2919f5b --- /dev/null +++ b/src/nos/lib/messages_lib/02ce_f216_Hostname_20set_20to.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___02ce_f216_Hostname_20set_20to Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 48 6f 73 74 6e 61 6d 65 20 +R 00 00 01 00 +T 0b 00 00 00 73 65 74 20 74 6f 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02cf_267d_Hytech_20KA9Q_20NOS.rel b/src/nos/lib/messages_lib/02cf_267d_Hytech_20KA9Q_20NOS.rel new file mode 100644 index 00000000..b4232b9d --- /dev/null +++ b/src/nos/lib/messages_lib/02cf_267d_Hytech_20KA9Q_20NOS.rel @@ -0,0 +1,36 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 97 flags 0 +S ___02cf_267d_Hytech_20KA9Q_20NOS Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 95 00 48 79 74 65 63 68 20 4b 41 +R 00 00 01 00 +T 0b 00 00 00 39 51 20 4e 4f 53 2f 55 5a 49 20 +R 00 00 01 00 +T 16 00 00 00 6b 65 72 6e 65 6c 0a 56 65 72 73 +R 00 00 01 00 +T 21 00 00 00 69 6f 6e 20 25 73 0a 43 6f 6d 70 +R 00 00 01 00 +T 2c 00 00 00 69 6c 65 64 20 66 6f 72 20 5a 69 +R 00 00 01 00 +T 37 00 00 00 6c 6f 67 20 5a 38 53 31 38 30 20 +R 00 00 01 00 +T 42 00 00 00 43 50 55 0a 0a 43 6f 70 79 72 69 +R 00 00 01 00 +T 4d 00 00 00 67 68 74 20 31 39 38 36 2d 31 39 +R 00 00 01 00 +T 58 00 00 00 39 35 20 62 79 20 50 68 69 6c 20 +R 00 00 01 00 +T 63 00 00 00 4b 61 72 6e 2c 20 4b 41 39 51 0a +R 00 00 01 00 +T 6e 00 00 00 43 6f 70 79 72 69 67 68 74 20 32 +R 00 00 01 00 +T 79 00 00 00 30 30 33 20 62 79 20 4e 69 63 6b +R 00 00 01 00 +T 84 00 00 00 20 44 6f 77 6e 69 6e 67 2c 20 48 +R 00 00 01 00 +T 8f 00 00 00 79 74 65 63 68 0a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02cf_523a_Main_20commands_3a_.rel b/src/nos/lib/messages_lib/02cf_523a_Main_20commands_3a_.rel deleted file mode 100644 index 1c856924..00000000 --- a/src/nos/lib/messages_lib/02cf_523a_Main_20commands_3a_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___02cf_523a_Main_20commands_3a_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 4d 61 69 6e 20 63 6f 6d 6d -R 00 00 01 00 -T 0b 00 00 00 61 6e 64 73 3a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d0_dcca_Max_20attempts_20to.rel b/src/nos/lib/messages_lib/02d0_dcca_Max_20attempts_20to.rel deleted file mode 100644 index 84689b04..00000000 --- a/src/nos/lib/messages_lib/02d0_dcca_Max_20attempts_20to.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___02d0_dcca_Max_20attempts_20to Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 4d 61 78 20 61 74 74 65 6d -R 00 00 01 00 -T 0b 00 00 00 70 74 73 20 74 6f 20 72 65 61 63 -R 00 00 01 00 -T 16 00 00 00 68 20 68 6f 73 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d0_df4f_ICMP_20echo_20respo.rel b/src/nos/lib/messages_lib/02d0_df4f_ICMP_20echo_20respo.rel new file mode 100644 index 00000000..10561691 --- /dev/null +++ b/src/nos/lib/messages_lib/02d0_df4f_ICMP_20echo_20respo.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___02d0_df4f_ICMP_20echo_20respo Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 49 43 4d 50 20 65 63 68 6f +R 00 00 01 00 +T 0b 00 00 00 20 72 65 73 70 6f 6e 73 65 20 61 +R 00 00 01 00 +T 16 00 00 00 63 63 65 70 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d1_0279_Max_20clients.rel b/src/nos/lib/messages_lib/02d1_0279_Max_20clients.rel deleted file mode 100644 index 940a08b6..00000000 --- a/src/nos/lib/messages_lib/02d1_0279_Max_20clients.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___02d1_0279_Max_20clients Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 4d 61 78 20 63 6c 69 65 6e -R 00 00 01 00 -T 0b 00 00 00 74 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d1_db6d_ICMP_20from_20_25s_.rel b/src/nos/lib/messages_lib/02d1_db6d_ICMP_20from_20_25s_.rel new file mode 100644 index 00000000..12f04e1f --- /dev/null +++ b/src/nos/lib/messages_lib/02d1_db6d_ICMP_20from_20_25s_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___02d1_db6d_ICMP_20from_20_25s_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 49 43 4d 50 20 66 72 6f 6d +R 00 00 01 00 +T 0b 00 00 00 20 25 73 3a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d2_3cd5_Max_20frame_20lengt.rel b/src/nos/lib/messages_lib/02d2_3cd5_Max_20frame_20lengt.rel deleted file mode 100644 index a67d4fa9..00000000 --- a/src/nos/lib/messages_lib/02d2_3cd5_Max_20frame_20lengt.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___02d2_3cd5_Max_20frame_20lengt Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 4d 61 78 20 66 72 61 6d 65 -R 00 00 01 00 -T 0b 00 00 00 20 6c 65 6e 67 74 68 20 28 62 79 -R 00 00 01 00 -T 16 00 00 00 74 65 73 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d2_abbc_ICMP_20tracing.rel b/src/nos/lib/messages_lib/02d2_abbc_ICMP_20tracing.rel new file mode 100644 index 00000000..fc62fd31 --- /dev/null +++ b/src/nos/lib/messages_lib/02d2_abbc_ICMP_20tracing.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___02d2_abbc_ICMP_20tracing Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 49 43 4d 50 20 74 72 61 63 +R 00 00 01 00 +T 0b 00 00 00 69 6e 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d3_6b85_ICMP_3a_20type_20_2.rel b/src/nos/lib/messages_lib/02d3_6b85_ICMP_3a_20type_20_2.rel new file mode 100644 index 00000000..6c35e8a6 --- /dev/null +++ b/src/nos/lib/messages_lib/02d3_6b85_ICMP_3a_20type_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___02d3_6b85_ICMP_3a_20type_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 49 43 4d 50 3a 20 74 79 70 +R 00 00 01 00 +T 0b 00 00 00 65 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d3_d96d_Maximum_20messages_.rel b/src/nos/lib/messages_lib/02d3_d96d_Maximum_20messages_.rel deleted file mode 100644 index e834dcc2..00000000 --- a/src/nos/lib/messages_lib/02d3_d96d_Maximum_20messages_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___02d3_d96d_Maximum_20messages_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 4d 61 78 69 6d 75 6d 20 6d -R 00 00 01 00 -T 0b 00 00 00 65 73 73 61 67 65 73 20 70 65 72 -R 00 00 01 00 -T 16 00 00 00 20 61 72 65 61 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d4_488d_Mbuf_20sizes_3a_0a.rel b/src/nos/lib/messages_lib/02d4_488d_Mbuf_20sizes_3a_0a.rel deleted file mode 100644 index 514b81f7..00000000 --- a/src/nos/lib/messages_lib/02d4_488d_Mbuf_20sizes_3a_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___02d4_488d_Mbuf_20sizes_3a_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 4d 62 75 66 20 73 69 7a 65 -R 00 00 01 00 -T 0b 00 00 00 73 3a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d4_dff6_IP_0a.rel b/src/nos/lib/messages_lib/02d4_dff6_IP_0a.rel new file mode 100644 index 00000000..a825cdbd --- /dev/null +++ b/src/nos/lib/messages_lib/02d4_dff6_IP_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___02d4_dff6_IP_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 49 50 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d5_5812_IP_20Time_2dto_2dli.rel b/src/nos/lib/messages_lib/02d5_5812_IP_20Time_2dto_2dli.rel new file mode 100644 index 00000000..40c9db18 --- /dev/null +++ b/src/nos/lib/messages_lib/02d5_5812_IP_20Time_2dto_2dli.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___02d5_5812_IP_20Time_2dto_2dli Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 49 50 20 54 69 6d 65 2d 74 +R 00 00 01 00 +T 0b 00 00 00 6f 2d 6c 69 76 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d5_ee8f_Message_20_23_25d_2.rel b/src/nos/lib/messages_lib/02d5_ee8f_Message_20_23_25d_2.rel deleted file mode 100644 index b8246900..00000000 --- a/src/nos/lib/messages_lib/02d5_ee8f_Message_20_23_25d_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___02d5_ee8f_Message_20_23_25d_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 4d 65 73 73 61 67 65 20 23 -R 00 00 01 00 -T 0b 00 00 00 25 64 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d6_0e41_IP_20addr_20_20_20_.rel b/src/nos/lib/messages_lib/02d6_0e41_IP_20addr_20_20_20_.rel new file mode 100644 index 00000000..16d568b2 --- /dev/null +++ b/src/nos/lib/messages_lib/02d6_0e41_IP_20addr_20_20_20_.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2e flags 0 +S ___02d6_0e41_IP_20addr_20_20_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2c 00 49 50 20 61 64 64 72 20 20 +R 00 00 01 00 +T 0b 00 00 00 20 20 20 20 20 20 20 54 79 70 65 +R 00 00 01 00 +T 16 00 00 00 20 20 20 20 20 20 20 20 20 20 20 +R 00 00 01 00 +T 21 00 00 00 54 69 6d 65 20 51 20 41 64 64 72 +R 00 00 01 00 +T 2c 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d6_b5f9_Mode_20_25s_20unkno.rel b/src/nos/lib/messages_lib/02d6_b5f9_Mode_20_25s_20unkno.rel deleted file mode 100644 index 7672fbb5..00000000 --- a/src/nos/lib/messages_lib/02d6_b5f9_Mode_20_25s_20unkno.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___02d6_b5f9_Mode_20_25s_20unkno Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 4d 6f 64 65 20 25 73 20 75 -R 00 00 01 00 -T 0b 00 00 00 6e 6b 6e 6f 77 6e 20 66 6f 72 20 -R 00 00 01 00 -T 16 00 00 00 45 53 43 43 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d7_8cdb_IP_20reasm_20timeou.rel b/src/nos/lib/messages_lib/02d7_8cdb_IP_20reasm_20timeou.rel new file mode 100644 index 00000000..9e1dc2c8 --- /dev/null +++ b/src/nos/lib/messages_lib/02d7_8cdb_IP_20reasm_20timeou.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___02d7_8cdb_IP_20reasm_20timeou Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 49 50 20 72 65 61 73 6d 20 +R 00 00 01 00 +T 0b 00 00 00 74 69 6d 65 6f 75 74 20 28 73 65 +R 00 00 01 00 +T 16 00 00 00 63 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d7_aa15_Mode_20_25s_20unkno.rel b/src/nos/lib/messages_lib/02d7_aa15_Mode_20_25s_20unkno.rel deleted file mode 100644 index b3da1393..00000000 --- a/src/nos/lib/messages_lib/02d7_aa15_Mode_20_25s_20unkno.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___02d7_aa15_Mode_20_25s_20unkno Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 4d 6f 64 65 20 25 73 20 75 -R 00 00 01 00 -T 0b 00 00 00 6e 6b 6e 6f 77 6e 20 66 6f 72 20 -R 00 00 01 00 -T 16 00 00 00 69 6e 74 65 72 66 61 63 65 20 25 -R 00 00 01 00 -T 21 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d8_5f88_IP_20rx_20tracing.rel b/src/nos/lib/messages_lib/02d8_5f88_IP_20rx_20tracing.rel new file mode 100644 index 00000000..0e8e5dd4 --- /dev/null +++ b/src/nos/lib/messages_lib/02d8_5f88_IP_20rx_20tracing.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___02d8_5f88_IP_20rx_20tracing Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 49 50 20 72 78 20 74 72 61 +R 00 00 01 00 +T 0b 00 00 00 63 69 6e 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d8_ac3e_Msg_20_25d_20Killed.rel b/src/nos/lib/messages_lib/02d8_ac3e_Msg_20_25d_20Killed.rel deleted file mode 100644 index dbaaca43..00000000 --- a/src/nos/lib/messages_lib/02d8_ac3e_Msg_20_25d_20Killed.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___02d8_ac3e_Msg_20_25d_20Killed Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 4d 73 67 20 25 64 20 4b 69 -R 00 00 01 00 -T 0b 00 00 00 6c 6c 65 64 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d9_88e0_IP_3a_20CHECKSUM_20.rel b/src/nos/lib/messages_lib/02d9_88e0_IP_3a_20CHECKSUM_20.rel new file mode 100644 index 00000000..361f5893 --- /dev/null +++ b/src/nos/lib/messages_lib/02d9_88e0_IP_3a_20CHECKSUM_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___02d9_88e0_IP_3a_20CHECKSUM_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 49 50 3a 20 43 48 45 43 4b +R 00 00 01 00 +T 0b 00 00 00 53 55 4d 20 45 52 52 4f 52 20 28 +R 00 00 01 00 +T 16 00 00 00 25 75 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02d9_9a86_Must_20be_20_200_20.rel b/src/nos/lib/messages_lib/02d9_9a86_Must_20be_20_200_20.rel deleted file mode 100644 index a4e2e0f8..00000000 --- a/src/nos/lib/messages_lib/02d9_9a86_Must_20be_20_200_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___02d9_9a86_Must_20be_20_200_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 4d 75 73 74 20 62 65 20 20 -R 00 00 01 00 -T 0b 00 00 00 30 20 3c 20 78 20 3c 3d 20 25 64 -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02da_03a7_IP_3a_20bad_20heade.rel b/src/nos/lib/messages_lib/02da_03a7_IP_3a_20bad_20heade.rel new file mode 100644 index 00000000..e2d24dd6 --- /dev/null +++ b/src/nos/lib/messages_lib/02da_03a7_IP_3a_20bad_20heade.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___02da_03a7_IP_3a_20bad_20heade Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 49 50 3a 20 62 61 64 20 68 +R 00 00 01 00 +T 0b 00 00 00 65 61 64 65 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02da_362b_Must_20be_20_200_20.rel b/src/nos/lib/messages_lib/02da_362b_Must_20be_20_200_20.rel deleted file mode 100644 index 60b956c8..00000000 --- a/src/nos/lib/messages_lib/02da_362b_Must_20be_20_200_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___02da_362b_Must_20be_20_200_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 4d 75 73 74 20 62 65 20 20 -R 00 00 01 00 -T 0b 00 00 00 30 20 3c 20 78 20 3c 3d 20 32 35 -R 00 00 01 00 -T 16 00 00 00 35 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02db_2da0_Must_20be_20_3e_3d_.rel b/src/nos/lib/messages_lib/02db_2da0_Must_20be_20_3e_3d_.rel deleted file mode 100644 index 380e251e..00000000 --- a/src/nos/lib/messages_lib/02db_2da0_Must_20be_20_3e_3d_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___02db_2da0_Must_20be_20_3e_3d_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 4d 75 73 74 20 62 65 20 3e -R 00 00 01 00 -T 0b 00 00 00 3d 20 30 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02db_4543_IP_3a_20len_20_25u.rel b/src/nos/lib/messages_lib/02db_4543_IP_3a_20len_20_25u.rel new file mode 100644 index 00000000..d7e6a34c --- /dev/null +++ b/src/nos/lib/messages_lib/02db_4543_IP_3a_20len_20_25u.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___02db_4543_IP_3a_20len_20_25u Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 49 50 3a 20 6c 65 6e 20 25 +R 00 00 01 00 +T 0b 00 00 00 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02dc_06a9_Must_20set_20_27r_2.rel b/src/nos/lib/messages_lib/02dc_06a9_Must_20set_20_27r_2.rel deleted file mode 100644 index 2d112845..00000000 --- a/src/nos/lib/messages_lib/02dc_06a9_Must_20set_20_27r_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___02dc_06a9_Must_20set_20_27r_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 4d 75 73 74 20 73 65 74 20 -R 00 00 01 00 -T 0b 00 00 00 27 72 27 20 66 6c 61 67 20 61 74 -R 00 00 01 00 -T 16 00 00 00 20 61 74 74 61 63 68 20 74 69 6d -R 00 00 01 00 -T 21 00 00 00 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02dc_e067_IPCP_0a.rel b/src/nos/lib/messages_lib/02dc_e067_IPCP_0a.rel new file mode 100644 index 00000000..4230ada6 --- /dev/null +++ b/src/nos/lib/messages_lib/02dc_e067_IPCP_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___02dc_e067_IPCP_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 49 50 43 50 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02dd_6e3f_IPCP_20.rel b/src/nos/lib/messages_lib/02dd_6e3f_IPCP_20.rel new file mode 100644 index 00000000..59361e24 --- /dev/null +++ b/src/nos/lib/messages_lib/02dd_6e3f_IPCP_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___02dd_6e3f_IPCP_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 49 50 43 50 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02dd_d814_N_3e_3d_255u_3a_257.rel b/src/nos/lib/messages_lib/02dd_d814_N_3e_3d_255u_3a_257.rel deleted file mode 100644 index 3061f044..00000000 --- a/src/nos/lib/messages_lib/02dd_d814_N_3e_3d_255u_3a_257.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 36 flags 0 -S ___02dd_d814_N_3e_3d_255u_3a_257 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 34 00 4e 3e 3d 25 35 75 3a 25 37 -R 00 00 01 00 -T 0b 00 00 00 6c 64 7c 20 4e 3e 3d 25 35 75 3a -R 00 00 01 00 -T 16 00 00 00 25 37 6c 64 7c 20 4e 3e 3d 25 35 -R 00 00 01 00 -T 21 00 00 00 75 3a 25 37 6c 64 7c 20 4e 3e 3d -R 00 00 01 00 -T 2c 00 00 00 25 35 75 3a 25 37 6c 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02de_7868_NET_2fROM_20Routing.rel b/src/nos/lib/messages_lib/02de_7868_NET_2fROM_20Routing.rel deleted file mode 100644 index 1161c1a3..00000000 --- a/src/nos/lib/messages_lib/02de_7868_NET_2fROM_20Routing.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___02de_7868_NET_2fROM_20Routing Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 4e 45 54 2f 52 4f 4d 20 52 -R 00 00 01 00 -T 0b 00 00 00 6f 75 74 69 6e 67 3a 20 25 73 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02de_9f0e_IPCP_20ACK_3a_20buf.rel b/src/nos/lib/messages_lib/02de_9f0e_IPCP_20ACK_3a_20buf.rel new file mode 100644 index 00000000..2783be6f --- /dev/null +++ b/src/nos/lib/messages_lib/02de_9f0e_IPCP_20ACK_3a_20buf.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___02de_9f0e_IPCP_20ACK_3a_20buf Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 49 50 43 50 20 41 43 4b 3a +R 00 00 01 00 +T 0b 00 00 00 20 62 75 66 66 65 72 20 6c 65 6e +R 00 00 01 00 +T 16 00 00 00 67 74 68 20 6d 69 73 6d 61 74 63 +R 00 00 01 00 +T 21 00 00 00 68 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02df_7bbb_IPCP_20ACK_3a_20dat.rel b/src/nos/lib/messages_lib/02df_7bbb_IPCP_20ACK_3a_20dat.rel new file mode 100644 index 00000000..8e5cd65d --- /dev/null +++ b/src/nos/lib/messages_lib/02df_7bbb_IPCP_20ACK_3a_20dat.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___02df_7bbb_IPCP_20ACK_3a_20dat Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 49 50 43 50 20 41 43 4b 3a +R 00 00 01 00 +T 0b 00 00 00 20 64 61 74 61 20 6d 69 73 6d 61 +R 00 00 01 00 +T 16 00 00 00 74 63 68 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02df_ae07_NET_2fROM_20not_20a.rel b/src/nos/lib/messages_lib/02df_ae07_NET_2fROM_20not_20a.rel deleted file mode 100644 index 3245d5a5..00000000 --- a/src/nos/lib/messages_lib/02df_ae07_NET_2fROM_20not_20a.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___02df_ae07_NET_2fROM_20not_20a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 4e 45 54 2f 52 4f 4d 20 6e -R 00 00 01 00 -T 0b 00 00 00 6f 74 20 61 63 74 69 76 61 74 65 -R 00 00 01 00 -T 16 00 00 00 64 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e0_b0d9_IPCP_20ACK_3a_20val.rel b/src/nos/lib/messages_lib/02e0_b0d9_IPCP_20ACK_3a_20val.rel new file mode 100644 index 00000000..f2104b80 --- /dev/null +++ b/src/nos/lib/messages_lib/02e0_b0d9_IPCP_20ACK_3a_20val.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___02e0_b0d9_IPCP_20ACK_3a_20val Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 49 50 43 50 20 41 43 4b 3a +R 00 00 01 00 +T 0b 00 00 00 20 76 61 6c 69 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e0_d0e9_NET_2fROM_3a_20_25s.rel b/src/nos/lib/messages_lib/02e0_d0e9_NET_2fROM_3a_20_25s.rel deleted file mode 100644 index 1e661ec1..00000000 --- a/src/nos/lib/messages_lib/02e0_d0e9_NET_2fROM_3a_20_25s.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___02e0_d0e9_NET_2fROM_3a_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 4e 45 54 2f 52 4f 4d 3a 20 -R 00 00 01 00 -T 0b 00 00 00 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e1_3a6e_IPCP_20ACK_3a_20wro.rel b/src/nos/lib/messages_lib/02e1_3a6e_IPCP_20ACK_3a_20wro.rel new file mode 100644 index 00000000..e3402f6a --- /dev/null +++ b/src/nos/lib/messages_lib/02e1_3a6e_IPCP_20ACK_3a_20wro.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___02e1_3a6e_IPCP_20ACK_3a_20wro Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 49 50 43 50 20 41 43 4b 3a +R 00 00 01 00 +T 0b 00 00 00 20 77 72 6f 6e 67 20 49 44 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e1_73b0_NEWNEWS_20_25s_20_2.rel b/src/nos/lib/messages_lib/02e1_73b0_NEWNEWS_20_25s_20_2.rel deleted file mode 100644 index ed41bfd3..00000000 --- a/src/nos/lib/messages_lib/02e1_73b0_NEWNEWS_20_25s_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___02e1_73b0_NEWNEWS_20_25s_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 4e 45 57 4e 45 57 53 20 25 -R 00 00 01 00 -T 0b 00 00 00 73 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e2_678b_IPCP_20NAK_3a_20bad.rel b/src/nos/lib/messages_lib/02e2_678b_IPCP_20NAK_3a_20bad.rel new file mode 100644 index 00000000..3bf8a2e6 --- /dev/null +++ b/src/nos/lib/messages_lib/02e2_678b_IPCP_20NAK_3a_20bad.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___02e2_678b_IPCP_20NAK_3a_20bad Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 49 50 43 50 20 4e 41 4b 3a +R 00 00 01 00 +T 0b 00 00 00 20 62 61 64 20 68 65 61 64 65 72 +R 00 00 01 00 +T 16 00 00 00 20 6c 65 6e 67 74 68 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e2_c191_NNTP_20_25s_20Canno.rel b/src/nos/lib/messages_lib/02e2_c191_NNTP_20_25s_20Canno.rel deleted file mode 100644 index b943f602..00000000 --- a/src/nos/lib/messages_lib/02e2_c191_NNTP_20_25s_20Canno.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___02e2_c191_NNTP_20_25s_20Canno Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 4e 4e 54 50 20 25 73 20 43 -R 00 00 01 00 -T 0b 00 00 00 61 6e 6e 6f 74 20 63 72 65 61 74 -R 00 00 01 00 -T 16 00 00 00 65 20 74 65 6d 70 20 66 69 6c 65 -R 00 00 01 00 -T 21 00 00 00 20 27 25 73 27 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e3_4d9e_IPCP_20NAK_3a_20opt.rel b/src/nos/lib/messages_lib/02e3_4d9e_IPCP_20NAK_3a_20opt.rel new file mode 100644 index 00000000..08c44244 --- /dev/null +++ b/src/nos/lib/messages_lib/02e3_4d9e_IPCP_20NAK_3a_20opt.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___02e3_4d9e_IPCP_20NAK_3a_20opt Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 49 50 43 50 20 4e 41 4b 3a +R 00 00 01 00 +T 0b 00 00 00 20 6f 70 74 69 6f 6e 20 6f 75 74 +R 00 00 01 00 +T 16 00 00 00 20 6f 66 20 6f 72 64 65 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e3_7ed2_NNTP_20_25s_20Canno.rel b/src/nos/lib/messages_lib/02e3_7ed2_NNTP_20_25s_20Canno.rel deleted file mode 100644 index a96228d9..00000000 --- a/src/nos/lib/messages_lib/02e3_7ed2_NNTP_20_25s_20Canno.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21 flags 0 -S ___02e3_7ed2_NNTP_20_25s_20Canno Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1f 00 4e 4e 54 50 20 25 73 20 43 -R 00 00 01 00 -T 0b 00 00 00 61 6e 6e 6f 74 20 6f 70 65 6e 20 -R 00 00 01 00 -T 16 00 00 00 74 65 6d 70 20 66 69 6c 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e4_4732_IPCP_20NAK_3a_20opt.rel b/src/nos/lib/messages_lib/02e4_4732_IPCP_20NAK_3a_20opt.rel new file mode 100644 index 00000000..3b045185 --- /dev/null +++ b/src/nos/lib/messages_lib/02e4_4732_IPCP_20NAK_3a_20opt.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___02e4_4732_IPCP_20NAK_3a_20opt Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 49 50 43 50 20 4e 41 4b 3a +R 00 00 01 00 +T 0b 00 00 00 20 6f 70 74 69 6f 6e 20 6f 75 74 +R 00 00 01 00 +T 16 00 00 00 20 6f 66 20 72 61 6e 67 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e4_bcd0_NNTP_20_25s_20Conne.rel b/src/nos/lib/messages_lib/02e4_bcd0_NNTP_20_25s_20Conne.rel deleted file mode 100644 index 23b4774c..00000000 --- a/src/nos/lib/messages_lib/02e4_bcd0_NNTP_20_25s_20Conne.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___02e4_bcd0_NNTP_20_25s_20Conne Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 4e 4e 54 50 20 25 73 20 43 -R 00 00 01 00 -T 0b 00 00 00 6f 6e 6e 65 63 74 20 66 61 69 6c -R 00 00 01 00 -T 16 00 00 00 65 64 3a 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e5_3eb8_IPCP_20NAK_3a_20ran.rel b/src/nos/lib/messages_lib/02e5_3eb8_IPCP_20NAK_3a_20ran.rel new file mode 100644 index 00000000..d4674907 --- /dev/null +++ b/src/nos/lib/messages_lib/02e5_3eb8_IPCP_20NAK_3a_20ran.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___02e5_3eb8_IPCP_20NAK_3a_20ran Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 49 50 43 50 20 4e 41 4b 3a +R 00 00 01 00 +T 0b 00 00 00 20 72 61 6e 20 6f 75 74 20 6f 66 +R 00 00 01 00 +T 16 00 00 00 20 64 61 74 61 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e5_796b_NNTP_20_25s_20Conne.rel b/src/nos/lib/messages_lib/02e5_796b_NNTP_20_25s_20Conne.rel deleted file mode 100644 index 052a7b63..00000000 --- a/src/nos/lib/messages_lib/02e5_796b_NNTP_20_25s_20Conne.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___02e5_796b_NNTP_20_25s_20Conne Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 4e 4e 54 50 20 25 73 20 43 -R 00 00 01 00 -T 0b 00 00 00 6f 6e 6e 65 63 74 20 66 61 69 6c -R 00 00 01 00 -T 16 00 00 00 65 64 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e6_4193_NNTP_20_25s_20Conne.rel b/src/nos/lib/messages_lib/02e6_4193_NNTP_20_25s_20Conne.rel deleted file mode 100644 index fa4315c7..00000000 --- a/src/nos/lib/messages_lib/02e6_4193_NNTP_20_25s_20Conne.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 29 flags 0 -S ___02e6_4193_NNTP_20_25s_20Conne Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 27 00 4e 4e 54 50 20 25 73 20 43 -R 00 00 01 00 -T 0b 00 00 00 6f 6e 6e 65 63 74 20 66 61 69 6c -R 00 00 01 00 -T 16 00 00 00 65 64 3a 20 43 61 6e 6e 6f 74 20 -R 00 00 01 00 -T 21 00 00 00 6f 70 65 6e 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e6_86ff_IPCP_20NAK_3a_20val.rel b/src/nos/lib/messages_lib/02e6_86ff_IPCP_20NAK_3a_20val.rel new file mode 100644 index 00000000..b911aa54 --- /dev/null +++ b/src/nos/lib/messages_lib/02e6_86ff_IPCP_20NAK_3a_20val.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___02e6_86ff_IPCP_20NAK_3a_20val Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 49 50 43 50 20 4e 41 4b 3a +R 00 00 01 00 +T 0b 00 00 00 20 76 61 6c 69 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e7_0909_NNTP_20_25s_20Conne.rel b/src/nos/lib/messages_lib/02e7_0909_NNTP_20_25s_20Conne.rel deleted file mode 100644 index f843422e..00000000 --- a/src/nos/lib/messages_lib/02e7_0909_NNTP_20_25s_20Conne.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2a flags 0 -S ___02e7_0909_NNTP_20_25s_20Conne Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 28 00 4e 4e 54 50 20 25 73 20 43 -R 00 00 01 00 -T 0b 00 00 00 6f 6e 6e 65 63 74 20 66 61 69 6c -R 00 00 01 00 -T 16 00 00 00 65 64 3a 20 43 61 6e 6e 6f 74 20 -R 00 00 01 00 -T 21 00 00 00 6f 70 65 6e 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e7_0dfe_IPCP_20NAK_3a_20wro.rel b/src/nos/lib/messages_lib/02e7_0dfe_IPCP_20NAK_3a_20wro.rel new file mode 100644 index 00000000..7576472e --- /dev/null +++ b/src/nos/lib/messages_lib/02e7_0dfe_IPCP_20NAK_3a_20wro.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___02e7_0dfe_IPCP_20NAK_3a_20wro Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 49 50 43 50 20 4e 41 4b 3a +R 00 00 01 00 +T 0b 00 00 00 20 77 72 6f 6e 67 20 49 44 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e8_3814_NNTP_20_25s_20Conne.rel b/src/nos/lib/messages_lib/02e8_3814_NNTP_20_25s_20Conne.rel deleted file mode 100644 index aebb9a9d..00000000 --- a/src/nos/lib/messages_lib/02e8_3814_NNTP_20_25s_20Conne.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 30 flags 0 -S ___02e8_3814_NNTP_20_25s_20Conne Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2e 00 4e 4e 54 50 20 25 73 20 43 -R 00 00 01 00 -T 0b 00 00 00 6f 6e 6e 65 63 74 20 66 61 69 6c -R 00 00 01 00 -T 16 00 00 00 65 64 3a 20 63 61 6e 6e 6f 74 20 -R 00 00 01 00 -T 21 00 00 00 6c 6f 63 6b 20 6e 6e 74 70 2e 64 -R 00 00 01 00 -T 2c 00 00 00 61 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e8_77fc_IPCP_20REJ_3a_20bad.rel b/src/nos/lib/messages_lib/02e8_77fc_IPCP_20REJ_3a_20bad.rel new file mode 100644 index 00000000..aece1ffd --- /dev/null +++ b/src/nos/lib/messages_lib/02e8_77fc_IPCP_20REJ_3a_20bad.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___02e8_77fc_IPCP_20REJ_3a_20bad Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 49 50 43 50 20 52 45 4a 3a +R 00 00 01 00 +T 0b 00 00 00 20 62 61 64 20 68 65 61 64 65 72 +R 00 00 01 00 +T 16 00 00 00 20 6c 65 6e 67 74 68 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e9_b5ec_NNTP_20_25s_20Could.rel b/src/nos/lib/messages_lib/02e9_b5ec_NNTP_20_25s_20Could.rel deleted file mode 100644 index e70f3f23..00000000 --- a/src/nos/lib/messages_lib/02e9_b5ec_NNTP_20_25s_20Could.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2e flags 0 -S ___02e9_b5ec_NNTP_20_25s_20Could Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2c 00 4e 4e 54 50 20 25 73 20 43 -R 00 00 01 00 -T 0b 00 00 00 6f 75 6c 64 20 6e 6f 74 20 6c 6f -R 00 00 01 00 -T 16 00 00 00 63 6b 20 6e 6e 74 70 2e 64 61 74 -R 00 00 01 00 -T 21 00 00 00 20 66 6f 72 20 75 70 64 61 74 65 -R 00 00 01 00 -T 2c 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02e9_e0d3_IPCP_20REJ_3a_20opt.rel b/src/nos/lib/messages_lib/02e9_e0d3_IPCP_20REJ_3a_20opt.rel new file mode 100644 index 00000000..4a40f59f --- /dev/null +++ b/src/nos/lib/messages_lib/02e9_e0d3_IPCP_20REJ_3a_20opt.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___02e9_e0d3_IPCP_20REJ_3a_20opt Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 49 50 43 50 20 52 45 4a 3a +R 00 00 01 00 +T 0b 00 00 00 20 6f 70 74 69 6f 6e 20 6f 75 74 +R 00 00 01 00 +T 16 00 00 00 20 6f 66 20 6f 72 64 65 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ea_8531_NNTP_20_25s_20Could.rel b/src/nos/lib/messages_lib/02ea_8531_NNTP_20_25s_20Could.rel deleted file mode 100644 index c3b0ebb9..00000000 --- a/src/nos/lib/messages_lib/02ea_8531_NNTP_20_25s_20Could.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___02ea_8531_NNTP_20_25s_20Could Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 4e 4e 54 50 20 25 73 20 43 -R 00 00 01 00 -T 0b 00 00 00 6f 75 6c 64 20 6e 6f 74 20 75 70 -R 00 00 01 00 -T 16 00 00 00 64 61 74 65 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ea_ea7f_IPCP_20REJ_3a_20opt.rel b/src/nos/lib/messages_lib/02ea_ea7f_IPCP_20REJ_3a_20opt.rel new file mode 100644 index 00000000..ee1970cf --- /dev/null +++ b/src/nos/lib/messages_lib/02ea_ea7f_IPCP_20REJ_3a_20opt.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___02ea_ea7f_IPCP_20REJ_3a_20opt Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 49 50 43 50 20 52 45 4a 3a +R 00 00 01 00 +T 0b 00 00 00 20 6f 70 74 69 6f 6e 20 6f 75 74 +R 00 00 01 00 +T 16 00 00 00 20 6f 66 20 72 61 6e 67 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02eb_8fd5_NNTP_20_25s_20Could.rel b/src/nos/lib/messages_lib/02eb_8fd5_NNTP_20_25s_20Could.rel deleted file mode 100644 index d4b35efc..00000000 --- a/src/nos/lib/messages_lib/02eb_8fd5_NNTP_20_25s_20Could.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___02eb_8fd5_NNTP_20_25s_20Could Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 4e 4e 54 50 20 25 73 20 43 -R 00 00 01 00 -T 0b 00 00 00 6f 75 6c 64 20 6e 6f 74 20 75 70 -R 00 00 01 00 -T 16 00 00 00 64 61 74 65 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02eb_a959_IPCP_20REJ_3a_20ran.rel b/src/nos/lib/messages_lib/02eb_a959_IPCP_20REJ_3a_20ran.rel new file mode 100644 index 00000000..d966c188 --- /dev/null +++ b/src/nos/lib/messages_lib/02eb_a959_IPCP_20REJ_3a_20ran.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___02eb_a959_IPCP_20REJ_3a_20ran Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 49 50 43 50 20 52 45 4a 3a +R 00 00 01 00 +T 0b 00 00 00 20 72 61 6e 20 6f 75 74 20 6f 66 +R 00 00 01 00 +T 16 00 00 00 20 64 61 74 61 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ec_0d83_NNTP_20_25s_20Givin.rel b/src/nos/lib/messages_lib/02ec_0d83_NNTP_20_25s_20Givin.rel deleted file mode 100644 index dfe09b80..00000000 --- a/src/nos/lib/messages_lib/02ec_0d83_NNTP_20_25s_20Givin.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2b flags 0 -S ___02ec_0d83_NNTP_20_25s_20Givin Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 29 00 4e 4e 54 50 20 25 73 20 47 -R 00 00 01 00 -T 0b 00 00 00 69 76 69 6e 67 20 75 70 3a 20 63 -R 00 00 01 00 -T 16 00 00 00 6f 75 6c 64 20 6e 6f 74 20 67 65 -R 00 00 01 00 -T 21 00 00 00 74 20 61 72 74 69 63 6c 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ec_3342_IPCP_20REJ_3a_20val.rel b/src/nos/lib/messages_lib/02ec_3342_IPCP_20REJ_3a_20val.rel new file mode 100644 index 00000000..1d12ab3d --- /dev/null +++ b/src/nos/lib/messages_lib/02ec_3342_IPCP_20REJ_3a_20val.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___02ec_3342_IPCP_20REJ_3a_20val Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 49 50 43 50 20 52 45 4a 3a +R 00 00 01 00 +T 0b 00 00 00 20 76 61 6c 69 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ed_19c4_NNTP_20_25s_20Givin.rel b/src/nos/lib/messages_lib/02ed_19c4_NNTP_20_25s_20Givin.rel deleted file mode 100644 index 4bc6e1ef..00000000 --- a/src/nos/lib/messages_lib/02ed_19c4_NNTP_20_25s_20Givin.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2c flags 0 -S ___02ed_19c4_NNTP_20_25s_20Givin Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2a 00 4e 4e 54 50 20 25 73 20 47 -R 00 00 01 00 -T 0b 00 00 00 69 76 69 6e 67 20 75 70 3a 20 63 -R 00 00 01 00 -T 16 00 00 00 6f 75 6c 64 20 6e 6f 74 20 67 65 -R 00 00 01 00 -T 21 00 00 00 74 20 61 72 74 69 63 6c 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ed_3c15_IPCP_20REJ_3a_20wro.rel b/src/nos/lib/messages_lib/02ed_3c15_IPCP_20REJ_3a_20wro.rel new file mode 100644 index 00000000..fca6e2ee --- /dev/null +++ b/src/nos/lib/messages_lib/02ed_3c15_IPCP_20REJ_3a_20wro.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___02ed_3c15_IPCP_20REJ_3a_20wro Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 49 50 43 50 20 52 45 4a 3a +R 00 00 01 00 +T 0b 00 00 00 20 77 72 6f 6e 67 20 49 44 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ee_213a_NNTP_20_25s_20bad_2.rel b/src/nos/lib/messages_lib/02ee_213a_NNTP_20_25s_20bad_2.rel deleted file mode 100644 index 88ea6c6a..00000000 --- a/src/nos/lib/messages_lib/02ee_213a_NNTP_20_25s_20bad_2.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 30 flags 0 -S ___02ee_213a_NNTP_20_25s_20bad_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2e 00 4e 4e 54 50 20 25 73 20 62 -R 00 00 01 00 -T 0b 00 00 00 61 64 20 72 65 70 6c 79 20 6f 6e -R 00 00 01 00 -T 16 00 00 00 20 62 61 6e 6e 65 72 20 28 72 65 -R 00 00 01 00 -T 21 00 00 00 73 70 6f 6e 73 65 20 77 61 73 20 -R 00 00 01 00 -T 2c 00 00 00 25 64 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ee_497c_IPCP_20REQ_3a_20bad.rel b/src/nos/lib/messages_lib/02ee_497c_IPCP_20REQ_3a_20bad.rel new file mode 100644 index 00000000..a99aea1d --- /dev/null +++ b/src/nos/lib/messages_lib/02ee_497c_IPCP_20REQ_3a_20bad.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___02ee_497c_IPCP_20REQ_3a_20bad Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 49 50 43 50 20 52 45 51 3a +R 00 00 01 00 +T 0b 00 00 00 20 62 61 64 20 68 65 61 64 65 72 +R 00 00 01 00 +T 16 00 00 00 20 6c 65 6e 67 74 68 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ef_31a2_NNTP_20_25s_20bad_2.rel b/src/nos/lib/messages_lib/02ef_31a2_NNTP_20_25s_20bad_2.rel deleted file mode 100644 index e7e2409f..00000000 --- a/src/nos/lib/messages_lib/02ef_31a2_NNTP_20_25s_20bad_2.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 31 flags 0 -S ___02ef_31a2_NNTP_20_25s_20bad_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2f 00 4e 4e 54 50 20 25 73 20 62 -R 00 00 01 00 -T 0b 00 00 00 61 64 20 72 65 70 6c 79 20 6f 6e -R 00 00 01 00 -T 16 00 00 00 20 62 61 6e 6e 65 72 20 28 72 65 -R 00 00 01 00 -T 21 00 00 00 73 70 6f 6e 73 65 20 77 61 73 20 -R 00 00 01 00 -T 2c 00 00 00 25 64 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ef_a1a1_IPCP_20REQ_3a_20ran.rel b/src/nos/lib/messages_lib/02ef_a1a1_IPCP_20REQ_3a_20ran.rel new file mode 100644 index 00000000..7168e871 --- /dev/null +++ b/src/nos/lib/messages_lib/02ef_a1a1_IPCP_20REQ_3a_20ran.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___02ef_a1a1_IPCP_20REQ_3a_20ran Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 49 50 43 50 20 52 45 51 3a +R 00 00 01 00 +T 0b 00 00 00 20 72 61 6e 20 6f 75 74 20 6f 66 +R 00 00 01 00 +T 16 00 00 00 20 64 61 74 61 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f0_4065_IPCP_20REQ_3a_20res.rel b/src/nos/lib/messages_lib/02f0_4065_IPCP_20REQ_3a_20res.rel new file mode 100644 index 00000000..57872b3d --- /dev/null +++ b/src/nos/lib/messages_lib/02f0_4065_IPCP_20REQ_3a_20res.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2c flags 0 +S ___02f0_4065_IPCP_20REQ_3a_20res Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2a 00 49 50 43 50 20 52 45 51 3a +R 00 00 01 00 +T 0b 00 00 00 20 72 65 73 75 6c 74 20 25 73 2c +R 00 00 01 00 +T 16 00 00 00 20 6f 70 74 69 6f 6e 20 25 64 2c +R 00 00 01 00 +T 21 00 00 00 20 6c 65 6e 67 74 68 20 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f0_df3f_NNTP_20_25s_20givin.rel b/src/nos/lib/messages_lib/02f0_df3f_NNTP_20_25s_20givin.rel deleted file mode 100644 index 30a89641..00000000 --- a/src/nos/lib/messages_lib/02f0_df3f_NNTP_20_25s_20givin.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 31 flags 0 -S ___02f0_df3f_NNTP_20_25s_20givin Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2f 00 4e 4e 54 50 20 25 73 20 67 -R 00 00 01 00 -T 0b 00 00 00 69 76 69 6e 67 20 75 70 3a 20 63 -R 00 00 01 00 -T 16 00 00 00 6f 75 6c 64 6e 27 74 20 6c 6f 63 -R 00 00 01 00 -T 21 00 00 00 6b 20 68 69 73 74 6f 72 79 20 66 -R 00 00 01 00 -T 2c 00 00 00 69 6c 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f1_791c_NNTP_20_25s_20givin.rel b/src/nos/lib/messages_lib/02f1_791c_NNTP_20_25s_20givin.rel deleted file mode 100644 index 8275ef3e..00000000 --- a/src/nos/lib/messages_lib/02f1_791c_NNTP_20_25s_20givin.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___02f1_791c_NNTP_20_25s_20givin Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 4e 4e 54 50 20 25 73 20 67 -R 00 00 01 00 -T 0b 00 00 00 69 76 69 6e 67 20 75 70 3a 20 67 -R 00 00 01 00 -T 16 00 00 00 65 74 74 78 74 28 29 20 66 61 69 -R 00 00 01 00 -T 21 00 00 00 6c 75 72 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f1_a490_IRQ_20_25u_20out_20.rel b/src/nos/lib/messages_lib/02f1_a490_IRQ_20_25u_20out_20.rel new file mode 100644 index 00000000..0d4e959f --- /dev/null +++ b/src/nos/lib/messages_lib/02f1_a490_IRQ_20_25u_20out_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___02f1_a490_IRQ_20_25u_20out_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 49 52 51 20 25 75 20 6f 75 +R 00 00 01 00 +T 0b 00 00 00 74 20 6f 66 20 72 61 6e 67 65 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f2_75ce_NNTP_20_25s_20givin.rel b/src/nos/lib/messages_lib/02f2_75ce_NNTP_20_25s_20givin.rel deleted file mode 100644 index 753fbf26..00000000 --- a/src/nos/lib/messages_lib/02f2_75ce_NNTP_20_25s_20givin.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 27 flags 0 -S ___02f2_75ce_NNTP_20_25s_20givin Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 25 00 4e 4e 54 50 20 25 73 20 67 -R 00 00 01 00 -T 0b 00 00 00 69 76 69 6e 67 20 75 70 3a 20 67 -R 00 00 01 00 -T 16 00 00 00 65 74 74 78 74 28 29 20 66 61 69 -R 00 00 01 00 -T 21 00 00 00 6c 75 72 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f2_925d_Idle_20poll_20timer.rel b/src/nos/lib/messages_lib/02f2_925d_Idle_20poll_20timer.rel new file mode 100644 index 00000000..f7c2d7dc --- /dev/null +++ b/src/nos/lib/messages_lib/02f2_925d_Idle_20poll_20timer.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___02f2_925d_Idle_20poll_20timer Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 49 64 6c 65 20 70 6f 6c 6c +R 00 00 01 00 +T 0b 00 00 00 20 74 69 6d 65 72 20 28 6d 73 29 +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f3_4ab5_Image_0a.rel b/src/nos/lib/messages_lib/02f3_4ab5_Image_0a.rel new file mode 100644 index 00000000..078eee1a --- /dev/null +++ b/src/nos/lib/messages_lib/02f3_4ab5_Image_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___02f3_4ab5_Image_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 49 6d 61 67 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f3_7eb6_NNTP_20_25s_20proto.rel b/src/nos/lib/messages_lib/02f3_7eb6_NNTP_20_25s_20proto.rel deleted file mode 100644 index fc47dd56..00000000 --- a/src/nos/lib/messages_lib/02f3_7eb6_NNTP_20_25s_20proto.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2b flags 0 -S ___02f3_7eb6_NNTP_20_25s_20proto Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 29 00 4e 4e 54 50 20 25 73 20 70 -R 00 00 01 00 -T 0b 00 00 00 72 6f 74 6f 63 6f 6c 20 65 72 72 -R 00 00 01 00 -T 16 00 00 00 6f 72 20 28 72 65 73 70 6f 6e 73 -R 00 00 01 00 -T 21 00 00 00 65 20 77 61 73 20 25 64 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f4_7e58_Initial_20RTT_20_28.rel b/src/nos/lib/messages_lib/02f4_7e58_Initial_20RTT_20_28.rel new file mode 100644 index 00000000..feb7257c --- /dev/null +++ b/src/nos/lib/messages_lib/02f4_7e58_Initial_20RTT_20_28.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___02f4_7e58_Initial_20RTT_20_28 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 49 6e 69 74 69 61 6c 20 52 +R 00 00 01 00 +T 0b 00 00 00 54 54 20 28 6d 73 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f4_7f99_NNTP_20_25s_20proto.rel b/src/nos/lib/messages_lib/02f4_7f99_NNTP_20_25s_20proto.rel deleted file mode 100644 index fa47b3bf..00000000 --- a/src/nos/lib/messages_lib/02f4_7f99_NNTP_20_25s_20proto.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2c flags 0 -S ___02f4_7f99_NNTP_20_25s_20proto Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2a 00 4e 4e 54 50 20 25 73 20 70 -R 00 00 01 00 -T 0b 00 00 00 72 6f 74 6f 63 6f 6c 20 65 72 72 -R 00 00 01 00 -T 16 00 00 00 6f 72 20 28 72 65 73 70 6f 6e 73 -R 00 00 01 00 -T 21 00 00 00 65 20 77 61 73 20 25 64 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f5_a517_NNTP_20Cannot_20ope.rel b/src/nos/lib/messages_lib/02f5_a517_NNTP_20Cannot_20ope.rel deleted file mode 100644 index f32439bf..00000000 --- a/src/nos/lib/messages_lib/02f5_a517_NNTP_20Cannot_20ope.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2a flags 0 -S ___02f5_a517_NNTP_20Cannot_20ope Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 28 00 4e 4e 54 50 20 43 61 6e 6e -R 00 00 01 00 -T 0b 00 00 00 6f 74 20 6f 70 65 6e 20 74 65 6d -R 00 00 01 00 -T 16 00 00 00 70 20 66 69 6c 65 20 66 6f 72 20 -R 00 00 01 00 -T 21 00 00 00 61 72 74 69 63 6c 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f5_bd38_Inqlen_3a_20_25d_20.rel b/src/nos/lib/messages_lib/02f5_bd38_Inqlen_3a_20_25d_20.rel new file mode 100644 index 00000000..bb657327 --- /dev/null +++ b/src/nos/lib/messages_lib/02f5_bd38_Inqlen_3a_20_25d_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___02f5_bd38_Inqlen_3a_20_25d_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 49 6e 71 6c 65 6e 3a 20 25 +R 00 00 01 00 +T 0b 00 00 00 64 20 70 61 63 6b 65 74 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f6_c7f6_Insufficient_20args.rel b/src/nos/lib/messages_lib/02f6_c7f6_Insufficient_20args.rel new file mode 100644 index 00000000..2e99691d --- /dev/null +++ b/src/nos/lib/messages_lib/02f6_c7f6_Insufficient_20args.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___02f6_c7f6_Insufficient_20args Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 49 6e 73 75 66 66 69 63 69 +R 00 00 01 00 +T 0b 00 00 00 65 6e 74 20 61 72 67 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f6_fc8f_NNTP_20can_27t_20re.rel b/src/nos/lib/messages_lib/02f6_fc8f_NNTP_20can_27t_20re.rel deleted file mode 100644 index 4575f5a6..00000000 --- a/src/nos/lib/messages_lib/02f6_fc8f_NNTP_20can_27t_20re.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___02f6_fc8f_NNTP_20can_27t_20re Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 4e 4e 54 50 20 63 61 6e 27 -R 00 00 01 00 -T 0b 00 00 00 74 20 72 65 73 6f 6c 76 65 20 68 -R 00 00 01 00 -T 16 00 00 00 6f 73 74 20 27 25 73 27 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f7_2c2a_NNTP_20daemon_20ent.rel b/src/nos/lib/messages_lib/02f7_2c2a_NNTP_20daemon_20ent.rel deleted file mode 100644 index 9bdfc776..00000000 --- a/src/nos/lib/messages_lib/02f7_2c2a_NNTP_20daemon_20ent.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___02f7_2c2a_NNTP_20daemon_20ent Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 4e 4e 54 50 20 64 61 65 6d -R 00 00 01 00 -T 0b 00 00 00 6f 6e 20 65 6e 74 65 72 65 64 2c -R 00 00 01 00 -T 16 00 00 00 20 74 61 72 67 65 74 20 3d 20 25 -R 00 00 01 00 -T 21 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f7_fcf9_Interface_20_20_20R.rel b/src/nos/lib/messages_lib/02f7_fcf9_Interface_20_20_20R.rel new file mode 100644 index 00000000..9c5349ba --- /dev/null +++ b/src/nos/lib/messages_lib/02f7_fcf9_Interface_20_20_20R.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2d flags 0 +S ___02f7_fcf9_Interface_20_20_20R Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2b 00 49 6e 74 65 72 66 61 63 65 +R 00 00 01 00 +T 0b 00 00 00 20 20 20 52 63 76 42 20 20 4e 75 +R 00 00 01 00 +T 16 00 00 00 6d 52 65 63 65 69 76 65 64 20 20 +R 00 00 01 00 +T 21 00 00 00 43 53 75 6d 45 72 72 6f 72 73 0a +R 00 00 01 00 +T 2c 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f8_b903_Interface_20_22_25s.rel b/src/nos/lib/messages_lib/02f8_b903_Interface_20_22_25s.rel new file mode 100644 index 00000000..2300e557 --- /dev/null +++ b/src/nos/lib/messages_lib/02f8_b903_Interface_20_22_25s.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___02f8_b903_Interface_20_22_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 49 6e 74 65 72 66 61 63 65 +R 00 00 01 00 +T 0b 00 00 00 20 22 25 73 22 20 69 73 20 61 6c +R 00 00 01 00 +T 16 00 00 00 72 65 61 64 79 20 72 65 67 69 73 +R 00 00 01 00 +T 21 00 00 00 74 65 72 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f8_f2a9_NNTP_20daemon_20exi.rel b/src/nos/lib/messages_lib/02f8_f2a9_NNTP_20daemon_20exi.rel deleted file mode 100644 index 643f4ca4..00000000 --- a/src/nos/lib/messages_lib/02f8_f2a9_NNTP_20daemon_20exi.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___02f8_f2a9_NNTP_20daemon_20exi Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 4e 4e 54 50 20 64 61 65 6d -R 00 00 01 00 -T 0b 00 00 00 6f 6e 20 65 78 69 74 69 6e 67 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f9_4daf_Interface_20_22_25s.rel b/src/nos/lib/messages_lib/02f9_4daf_Interface_20_22_25s.rel new file mode 100644 index 00000000..0d68edee --- /dev/null +++ b/src/nos/lib/messages_lib/02f9_4daf_Interface_20_22_25s.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___02f9_4daf_Interface_20_22_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 49 6e 74 65 72 66 61 63 65 +R 00 00 01 00 +T 0b 00 00 00 20 22 25 73 22 20 6e 6f 74 20 66 +R 00 00 01 00 +T 16 00 00 00 6f 75 6e 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02f9_cbc7_NNTP_20daemon_20qui.rel b/src/nos/lib/messages_lib/02f9_cbc7_NNTP_20daemon_20qui.rel deleted file mode 100644 index 86bf7eb3..00000000 --- a/src/nos/lib/messages_lib/02f9_cbc7_NNTP_20daemon_20qui.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 -S ___02f9_cbc7_NNTP_20daemon_20qui Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 20 00 4e 4e 54 50 20 64 61 65 6d -R 00 00 01 00 -T 0b 00 00 00 6f 6e 20 71 75 69 74 20 2d 2d 20 -R 00 00 01 00 -T 16 00 00 00 6c 6f 77 20 6d 65 6d 6f 72 79 0a -R 00 00 01 00 -T 21 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02fa_0fa8_NNTP_20group_20_27_.rel b/src/nos/lib/messages_lib/02fa_0fa8_NNTP_20group_20_27_.rel deleted file mode 100644 index 668de89c..00000000 --- a/src/nos/lib/messages_lib/02fa_0fa8_NNTP_20group_20_27_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___02fa_0fa8_NNTP_20group_20_27_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 4e 4e 54 50 20 67 72 6f 75 -R 00 00 01 00 -T 0b 00 00 00 70 20 27 25 73 27 20 69 73 20 6c -R 00 00 01 00 -T 16 00 00 00 6f 63 6b 65 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02fa_42ac_Interface_20_22_25s.rel b/src/nos/lib/messages_lib/02fa_42ac_Interface_20_22_25s.rel new file mode 100644 index 00000000..791c62cc --- /dev/null +++ b/src/nos/lib/messages_lib/02fa_42ac_Interface_20_22_25s.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___02fa_42ac_Interface_20_22_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 49 6e 74 65 72 66 61 63 65 +R 00 00 01 00 +T 0b 00 00 00 20 22 25 73 22 20 75 6e 6b 6e 6f +R 00 00 01 00 +T 16 00 00 00 77 6e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02fb_0e76_NNTP_20receive_20er.rel b/src/nos/lib/messages_lib/02fb_0e76_NNTP_20receive_20er.rel deleted file mode 100644 index eaf88df9..00000000 --- a/src/nos/lib/messages_lib/02fb_0e76_NNTP_20receive_20er.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___02fb_0e76_NNTP_20receive_20er Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 4e 4e 54 50 20 72 65 63 65 -R 00 00 01 00 -T 0b 00 00 00 69 76 65 20 65 72 72 6f 72 20 61 -R 00 00 01 00 -T 16 00 00 00 66 74 65 72 20 25 64 20 6c 69 6e -R 00 00 01 00 -T 21 00 00 00 65 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02fb_5a50_Interface_20_25s_20.rel b/src/nos/lib/messages_lib/02fb_5a50_Interface_20_25s_20.rel new file mode 100644 index 00000000..f2d16dbb --- /dev/null +++ b/src/nos/lib/messages_lib/02fb_5a50_Interface_20_25s_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___02fb_5a50_Interface_20_25s_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 49 6e 74 65 72 66 61 63 65 +R 00 00 01 00 +T 0b 00 00 00 20 25 73 20 61 6c 72 65 61 64 79 +R 00 00 01 00 +T 16 00 00 00 20 65 78 69 73 74 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02fc_1298_Interface_20_25s_20.rel b/src/nos/lib/messages_lib/02fc_1298_Interface_20_25s_20.rel new file mode 100644 index 00000000..da96bb50 --- /dev/null +++ b/src/nos/lib/messages_lib/02fc_1298_Interface_20_25s_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___02fc_1298_Interface_20_25s_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 49 6e 74 65 72 66 61 63 65 +R 00 00 01 00 +T 0b 00 00 00 20 25 73 20 64 6f 65 73 20 6e 6f +R 00 00 01 00 +T 16 00 00 00 74 20 65 78 69 73 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02fc_a47f_NNTP_20received_20_.rel b/src/nos/lib/messages_lib/02fc_a47f_NNTP_20received_20_.rel deleted file mode 100644 index df7d5700..00000000 --- a/src/nos/lib/messages_lib/02fc_a47f_NNTP_20received_20_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___02fc_a47f_NNTP_20received_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 4e 4e 54 50 20 72 65 63 65 -R 00 00 01 00 -T 0b 00 00 00 69 76 65 64 20 25 64 20 6c 69 6e -R 00 00 01 00 -T 16 00 00 00 65 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02fd_0916_NNTP_20tracing.rel b/src/nos/lib/messages_lib/02fd_0916_NNTP_20tracing.rel deleted file mode 100644 index f27a3de0..00000000 --- a/src/nos/lib/messages_lib/02fd_0916_NNTP_20tracing.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___02fd_0916_NNTP_20tracing Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 4e 4e 54 50 20 74 72 61 63 -R 00 00 01 00 -T 0b 00 00 00 69 6e 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02fd_24cb_Interface_20_25s_20.rel b/src/nos/lib/messages_lib/02fd_24cb_Interface_20_25s_20.rel new file mode 100644 index 00000000..5bfca965 --- /dev/null +++ b/src/nos/lib/messages_lib/02fd_24cb_Interface_20_25s_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___02fd_24cb_Interface_20_25s_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 49 6e 74 65 72 66 61 63 65 +R 00 00 01 00 +T 0b 00 00 00 20 25 73 20 6e 6f 74 20 41 58 2e +R 00 00 01 00 +T 16 00 00 00 32 35 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02fe_b065_NNTP_20window_20to_.rel b/src/nos/lib/messages_lib/02fe_b065_NNTP_20window_20to_.rel deleted file mode 100644 index efcd5ee6..00000000 --- a/src/nos/lib/messages_lib/02fe_b065_NNTP_20window_20to_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___02fe_b065_NNTP_20window_20to_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 4e 4e 54 50 20 77 69 6e 64 -R 00 00 01 00 -T 0b 00 00 00 6f 77 20 74 6f 20 27 25 73 27 20 -R 00 00 01 00 -T 16 00 00 00 6e 6f 74 20 6f 70 65 6e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02fe_c749_Interface_20_25s_20.rel b/src/nos/lib/messages_lib/02fe_c749_Interface_20_25s_20.rel new file mode 100644 index 00000000..91203237 --- /dev/null +++ b/src/nos/lib/messages_lib/02fe_c749_Interface_20_25s_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___02fe_c749_Interface_20_25s_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 49 6e 74 65 72 66 61 63 65 +R 00 00 01 00 +T 0b 00 00 00 20 25 73 20 6e 6f 74 20 61 73 79 +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ff_63a0_Interface_20_25s_20.rel b/src/nos/lib/messages_lib/02ff_63a0_Interface_20_25s_20.rel new file mode 100644 index 00000000..7d22bc0b --- /dev/null +++ b/src/nos/lib/messages_lib/02ff_63a0_Interface_20_25s_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___02ff_63a0_Interface_20_25s_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 49 6e 74 65 72 66 61 63 65 +R 00 00 01 00 +T 0b 00 00 00 20 25 73 20 6e 6f 74 20 61 73 79 +R 00 00 01 00 +T 16 00 00 00 20 70 6f 72 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/02ff_852e_NO_20_2d_20.rel b/src/nos/lib/messages_lib/02ff_852e_NO_20_2d_20.rel deleted file mode 100644 index 5eaadbc0..00000000 --- a/src/nos/lib/messages_lib/02ff_852e_NO_20_2d_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___02ff_852e_NO_20_2d_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 4e 4f 20 2d 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0300_c292_Interface_20_25s_20.rel b/src/nos/lib/messages_lib/0300_c292_Interface_20_25s_20.rel new file mode 100644 index 00000000..7e05395f --- /dev/null +++ b/src/nos/lib/messages_lib/0300_c292_Interface_20_25s_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___0300_c292_Interface_20_25s_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 49 6e 74 65 72 66 61 63 65 +R 00 00 01 00 +T 0b 00 00 00 20 25 73 20 6e 6f 74 20 65 73 63 +R 00 00 01 00 +T 16 00 00 00 63 20 70 6f 72 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0300_e182_NO_20_2d_20bad_20ad.rel b/src/nos/lib/messages_lib/0300_e182_NO_20_2d_20bad_20ad.rel deleted file mode 100644 index 99b8a444..00000000 --- a/src/nos/lib/messages_lib/0300_e182_NO_20_2d_20bad_20ad.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___0300_e182_NO_20_2d_20bad_20ad Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 4e 4f 20 2d 20 62 61 64 20 -R 00 00 01 00 -T 0b 00 00 00 61 64 64 72 65 73 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0301_7ccb_NO_20_2d_20syntax_2.rel b/src/nos/lib/messages_lib/0301_7ccb_NO_20_2d_20syntax_2.rel deleted file mode 100644 index bf5053a3..00000000 --- a/src/nos/lib/messages_lib/0301_7ccb_NO_20_2d_20syntax_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___0301_7ccb_NO_20_2d_20syntax_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 4e 4f 20 2d 20 73 79 6e 74 -R 00 00 01 00 -T 0b 00 00 00 61 78 20 65 72 72 6f 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0301_8880_Interface_20_25s_20.rel b/src/nos/lib/messages_lib/0301_8880_Interface_20_25s_20.rel new file mode 100644 index 00000000..7f066761 --- /dev/null +++ b/src/nos/lib/messages_lib/0301_8880_Interface_20_25s_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___0301_8880_Interface_20_25s_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 49 6e 74 65 72 66 61 63 65 +R 00 00 01 00 +T 0b 00 00 00 20 25 73 20 72 61 6e 67 65 3a 20 +R 00 00 01 00 +T 16 00 00 00 25 73 20 2d 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0302_2df6_NOS_20log_20closed.rel b/src/nos/lib/messages_lib/0302_2df6_NOS_20log_20closed.rel deleted file mode 100644 index f0c6886b..00000000 --- a/src/nos/lib/messages_lib/0302_2df6_NOS_20log_20closed.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___0302_2df6_NOS_20log_20closed Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 4e 4f 53 20 6c 6f 67 20 63 -R 00 00 01 00 -T 0b 00 00 00 6c 6f 73 65 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0302_6e91_Interface_20_25s_20.rel b/src/nos/lib/messages_lib/0302_6e91_Interface_20_25s_20.rel new file mode 100644 index 00000000..f27dd091 --- /dev/null +++ b/src/nos/lib/messages_lib/0302_6e91_Interface_20_25s_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0302_6e91_Interface_20_25s_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 49 6e 74 65 72 66 61 63 65 +R 00 00 01 00 +T 0b 00 00 00 20 25 73 20 75 6e 6b 6e 6f 77 6e +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0303_103c_Interface_20address.rel b/src/nos/lib/messages_lib/0303_103c_Interface_20address.rel new file mode 100644 index 00000000..be1a15ef --- /dev/null +++ b/src/nos/lib/messages_lib/0303_103c_Interface_20address.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___0303_103c_Interface_20address Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 49 6e 74 65 72 66 61 63 65 +R 00 00 01 00 +T 0b 00 00 00 20 61 64 64 72 65 73 73 20 6e 6f +R 00 00 01 00 +T 16 00 00 00 74 20 72 65 73 6f 6c 76 65 64 0a +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0303_e1c8_NOS_20was_20started.rel b/src/nos/lib/messages_lib/0303_e1c8_NOS_20was_20started.rel deleted file mode 100644 index e96214b1..00000000 --- a/src/nos/lib/messages_lib/0303_e1c8_NOS_20was_20started.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___0303_e1c8_NOS_20was_20started Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 4e 4f 53 20 77 61 73 20 73 -R 00 00 01 00 -T 0b 00 00 00 74 61 72 74 65 64 20 61 74 20 25 -R 00 00 01 00 -T 16 00 00 00 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0304_c429_Interface_3a_20.rel b/src/nos/lib/messages_lib/0304_c429_Interface_3a_20.rel new file mode 100644 index 00000000..2c31440e --- /dev/null +++ b/src/nos/lib/messages_lib/0304_c429_Interface_3a_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0304_c429_Interface_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 49 6e 74 65 72 66 61 63 65 +R 00 00 01 00 +T 0b 00 00 00 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0304_cfbe_NOS_20was_20stopped.rel b/src/nos/lib/messages_lib/0304_cfbe_NOS_20was_20stopped.rel deleted file mode 100644 index 7fe6dccf..00000000 --- a/src/nos/lib/messages_lib/0304_cfbe_NOS_20was_20stopped.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___0304_cfbe_NOS_20was_20stopped Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 4e 4f 53 20 77 61 73 20 73 -R 00 00 01 00 -T 0b 00 00 00 74 6f 70 70 65 64 20 61 74 20 25 -R 00 00 01 00 -T 16 00 00 00 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0305_998c_NULL_20BUFFER_0a.rel b/src/nos/lib/messages_lib/0305_998c_NULL_20BUFFER_0a.rel deleted file mode 100644 index 8733a37c..00000000 --- a/src/nos/lib/messages_lib/0305_998c_NULL_20BUFFER_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___0305_998c_NULL_20BUFFER_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 4e 55 4c 4c 20 42 55 46 46 -R 00 00 01 00 -T 0b 00 00 00 45 52 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0305_d726_Invalid_20magic_20c.rel b/src/nos/lib/messages_lib/0305_d726_Invalid_20magic_20c.rel new file mode 100644 index 00000000..257d6bc5 --- /dev/null +++ b/src/nos/lib/messages_lib/0305_d726_Invalid_20magic_20c.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___0305_d726_Invalid_20magic_20c Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 49 6e 76 61 6c 69 64 20 6d +R 00 00 01 00 +T 0b 00 00 00 61 67 69 63 20 63 6f 6f 6b 69 65 +R 00 00 01 00 +T 16 00 00 00 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0306_42d9_Invalid_20range_2e_.rel b/src/nos/lib/messages_lib/0306_42d9_Invalid_20range_2e_.rel new file mode 100644 index 00000000..fde10e16 --- /dev/null +++ b/src/nos/lib/messages_lib/0306_42d9_Invalid_20range_2e_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0306_42d9_Invalid_20range_2e_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 49 6e 76 61 6c 69 64 20 72 +R 00 00 01 00 +T 0b 00 00 00 61 6e 67 65 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0306_89a8_Net_3e_20.rel b/src/nos/lib/messages_lib/0306_89a8_Net_3e_20.rel deleted file mode 100644 index ed35d093..00000000 --- a/src/nos/lib/messages_lib/0306_89a8_Net_3e_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0306_89a8_Net_3e_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 4e 65 74 3e 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0307_89c0_Invalid_20type_20_2.rel b/src/nos/lib/messages_lib/0307_89c0_Invalid_20type_20_2.rel new file mode 100644 index 00000000..bd5dedee --- /dev/null +++ b/src/nos/lib/messages_lib/0307_89c0_Invalid_20type_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___0307_89c0_Invalid_20type_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 49 6e 76 61 6c 69 64 20 74 +R 00 00 01 00 +T 0b 00 00 00 79 70 65 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0307_e0c6_Network_20_25s_20co.rel b/src/nos/lib/messages_lib/0307_e0c6_Network_20_25s_20co.rel deleted file mode 100644 index 7abe5eeb..00000000 --- a/src/nos/lib/messages_lib/0307_e0c6_Network_20_25s_20co.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___0307_e0c6_Network_20_25s_20co Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 4e 65 74 77 6f 72 6b 20 25 -R 00 00 01 00 -T 0b 00 00 00 73 20 63 6f 6e 66 69 67 75 72 65 -R 00 00 01 00 -T 16 00 00 00 64 3a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0308_4009_New_20mail_20arrive.rel b/src/nos/lib/messages_lib/0308_4009_New_20mail_20arrive.rel deleted file mode 100644 index 2c242fef..00000000 --- a/src/nos/lib/messages_lib/0308_4009_New_20mail_20arrive.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0308_4009_New_20mail_20arrive Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 4e 65 77 20 6d 61 69 6c 20 -R 00 00 01 00 -T 0b 00 00 00 61 72 72 69 76 65 64 20 66 6f 72 -R 00 00 01 00 -T 16 00 00 00 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0308_62ed_Invalid_20user_20na.rel b/src/nos/lib/messages_lib/0308_62ed_Invalid_20user_20na.rel new file mode 100644 index 00000000..ef57b43c --- /dev/null +++ b/src/nos/lib/messages_lib/0308_62ed_Invalid_20user_20na.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0308_62ed_Invalid_20user_20na Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 49 6e 76 61 6c 69 64 20 75 +R 00 00 01 00 +T 0b 00 00 00 73 65 72 20 6e 61 6d 65 20 25 73 +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0309_be0b_Job_20id_20_25s_20n.rel b/src/nos/lib/messages_lib/0309_be0b_Job_20id_20_25s_20n.rel new file mode 100644 index 00000000..ba2ddfd3 --- /dev/null +++ b/src/nos/lib/messages_lib/0309_be0b_Job_20id_20_25s_20n.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___0309_be0b_Job_20id_20_25s_20n Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 4a 6f 62 20 69 64 20 25 73 +R 00 00 01 00 +T 0b 00 00 00 20 6e 6f 74 20 66 6f 75 6e 64 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0309_fbfc_New_20mail_20arrive.rel b/src/nos/lib/messages_lib/0309_fbfc_New_20mail_20arrive.rel deleted file mode 100644 index bef7c029..00000000 --- a/src/nos/lib/messages_lib/0309_fbfc_New_20mail_20arrive.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 30 flags 0 -S ___0309_fbfc_New_20mail_20arrive Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2e 00 4e 65 77 20 6d 61 69 6c 20 -R 00 00 01 00 -T 0b 00 00 00 61 72 72 69 76 65 64 20 66 6f 72 -R 00 00 01 00 -T 16 00 00 00 20 25 73 20 66 72 6f 6d 20 6d 61 -R 00 00 01 00 -T 21 00 00 00 69 6c 68 6f 73 74 20 3c 25 73 3e -R 00 00 01 00 -T 2c 00 00 00 25 63 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/030a_87a9_K_20numbers.rel b/src/nos/lib/messages_lib/030a_87a9_K_20numbers.rel new file mode 100644 index 00000000..59c06970 --- /dev/null +++ b/src/nos/lib/messages_lib/030a_87a9_K_20numbers.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___030a_87a9_K_20numbers Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 4b 20 6e 75 6d 62 65 72 73 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/030a_d0a7_New_20news_20arrive.rel b/src/nos/lib/messages_lib/030a_d0a7_New_20news_20arrive.rel deleted file mode 100644 index ae33b2e8..00000000 --- a/src/nos/lib/messages_lib/030a_d0a7_New_20news_20arrive.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___030a_d0a7_New_20news_20arrive Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 4e 65 77 20 6e 65 77 73 20 -R 00 00 01 00 -T 0b 00 00 00 61 72 72 69 76 65 64 3a 20 25 73 -R 00 00 01 00 -T 16 00 00 00 2c 20 61 72 74 69 63 6c 65 20 25 -R 00 00 01 00 -T 21 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/030b_414e_KISS_3a_20.rel b/src/nos/lib/messages_lib/030b_414e_KISS_3a_20.rel new file mode 100644 index 00000000..664ebcbf --- /dev/null +++ b/src/nos/lib/messages_lib/030b_414e_KISS_3a_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___030b_414e_KISS_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 4b 49 53 53 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/030b_e9a0_No_20HAPN_20adaptor.rel b/src/nos/lib/messages_lib/030b_e9a0_No_20HAPN_20adaptor.rel deleted file mode 100644 index d872cae3..00000000 --- a/src/nos/lib/messages_lib/030b_e9a0_No_20HAPN_20adaptor.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___030b_e9a0_No_20HAPN_20adaptor Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 4e 6f 20 48 41 50 4e 20 61 -R 00 00 01 00 -T 0b 00 00 00 64 61 70 74 6f 72 20 61 74 74 61 -R 00 00 01 00 -T 16 00 00 00 63 68 65 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/030c_1668_Known_20users_20on_.rel b/src/nos/lib/messages_lib/030c_1668_Known_20users_20on_.rel new file mode 100644 index 00000000..d0ae110a --- /dev/null +++ b/src/nos/lib/messages_lib/030c_1668_Known_20users_20on_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___030c_1668_Known_20users_20on_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 4b 6e 6f 77 6e 20 75 73 65 +R 00 00 01 00 +T 0b 00 00 00 72 73 20 6f 6e 20 74 68 69 73 20 +R 00 00 01 00 +T 16 00 00 00 73 79 73 74 65 6d 3a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/030c_87bb_No_20current_20sess.rel b/src/nos/lib/messages_lib/030c_87bb_No_20current_20sess.rel deleted file mode 100644 index 634f5e56..00000000 --- a/src/nos/lib/messages_lib/030c_87bb_No_20current_20sess.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___030c_87bb_No_20current_20sess Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 4e 6f 20 63 75 72 72 65 6e -R 00 00 01 00 -T 0b 00 00 00 74 20 73 65 73 73 69 6f 6e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/030d_171d_LCP_0a.rel b/src/nos/lib/messages_lib/030d_171d_LCP_0a.rel new file mode 100644 index 00000000..9825c57a --- /dev/null +++ b/src/nos/lib/messages_lib/030d_171d_LCP_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___030d_171d_LCP_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 4c 43 50 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/030d_7f27_No_20dialer_20activ.rel b/src/nos/lib/messages_lib/030d_7f27_No_20dialer_20activ.rel deleted file mode 100644 index ec518a46..00000000 --- a/src/nos/lib/messages_lib/030d_7f27_No_20dialer_20activ.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___030d_7f27_No_20dialer_20activ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 4e 6f 20 64 69 61 6c 65 72 -R 00 00 01 00 -T 0b 00 00 00 20 61 63 74 69 76 65 20 6f 6e 20 -R 00 00 01 00 -T 16 00 00 00 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/030e_9945_LCP_20.rel b/src/nos/lib/messages_lib/030e_9945_LCP_20.rel new file mode 100644 index 00000000..3498a738 --- /dev/null +++ b/src/nos/lib/messages_lib/030e_9945_LCP_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___030e_9945_LCP_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 4c 43 50 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/030e_cd1f_No_20finger_20infor.rel b/src/nos/lib/messages_lib/030e_cd1f_No_20finger_20infor.rel deleted file mode 100644 index 29ad5b77..00000000 --- a/src/nos/lib/messages_lib/030e_cd1f_No_20finger_20infor.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___030e_cd1f_No_20finger_20infor Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 4e 6f 20 66 69 6e 67 65 72 -R 00 00 01 00 -T 0b 00 00 00 20 69 6e 66 6f 72 6d 61 74 69 6f -R 00 00 01 00 -T 16 00 00 00 6e 20 61 76 61 69 6c 61 62 6c 65 -R 00 00 01 00 -T 21 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/030f_2a2e_No_20help_20availab.rel b/src/nos/lib/messages_lib/030f_2a2e_No_20help_20availab.rel deleted file mode 100644 index 1ca96607..00000000 --- a/src/nos/lib/messages_lib/030f_2a2e_No_20help_20availab.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___030f_2a2e_No_20help_20availab Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 4e 6f 20 68 65 6c 70 20 61 -R 00 00 01 00 -T 0b 00 00 00 76 61 69 6c 61 62 6c 65 2e 20 28 -R 00 00 01 00 -T 16 00 00 00 25 73 20 6e 6f 74 20 66 6f 75 6e -R 00 00 01 00 -T 21 00 00 00 64 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/030f_7a27_LCP_20ACK_3a_20buff.rel b/src/nos/lib/messages_lib/030f_7a27_LCP_20ACK_3a_20buff.rel new file mode 100644 index 00000000..1b259193 --- /dev/null +++ b/src/nos/lib/messages_lib/030f_7a27_LCP_20ACK_3a_20buff.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___030f_7a27_LCP_20ACK_3a_20buff Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 4c 43 50 20 41 43 4b 3a 20 +R 00 00 01 00 +T 0b 00 00 00 62 75 66 66 65 72 20 6c 65 6e 67 +R 00 00 01 00 +T 16 00 00 00 74 68 20 6d 69 73 6d 61 74 63 68 +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0310_7cc9_No_20packet_20drive.rel b/src/nos/lib/messages_lib/0310_7cc9_No_20packet_20drive.rel deleted file mode 100644 index e81880e6..00000000 --- a/src/nos/lib/messages_lib/0310_7cc9_No_20packet_20drive.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 27 flags 0 -S ___0310_7cc9_No_20packet_20drive Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 25 00 4e 6f 20 70 61 63 6b 65 74 -R 00 00 01 00 -T 0b 00 00 00 20 64 72 69 76 65 72 20 6c 6f 61 -R 00 00 01 00 -T 16 00 00 00 64 65 64 20 61 74 20 69 6e 74 20 -R 00 00 01 00 -T 21 00 00 00 30 78 25 78 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0310_a126_LCP_20ACK_3a_20data.rel b/src/nos/lib/messages_lib/0310_a126_LCP_20ACK_3a_20data.rel new file mode 100644 index 00000000..f7a07e85 --- /dev/null +++ b/src/nos/lib/messages_lib/0310_a126_LCP_20ACK_3a_20data.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___0310_a126_LCP_20ACK_3a_20data Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 4c 43 50 20 41 43 4b 3a 20 +R 00 00 01 00 +T 0b 00 00 00 64 61 74 61 20 6d 69 73 6d 61 74 +R 00 00 01 00 +T 16 00 00 00 63 68 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0311_4e0c_No_20such_20message.rel b/src/nos/lib/messages_lib/0311_4e0c_No_20such_20message.rel deleted file mode 100644 index a454cb5f..00000000 --- a/src/nos/lib/messages_lib/0311_4e0c_No_20such_20message.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___0311_4e0c_No_20such_20message Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 4e 6f 20 73 75 63 68 20 6d -R 00 00 01 00 -T 0b 00 00 00 65 73 73 61 67 65 20 61 72 65 61 -R 00 00 01 00 -T 16 00 00 00 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0311_6dd9_LCP_20ACK_3a_20vali.rel b/src/nos/lib/messages_lib/0311_6dd9_LCP_20ACK_3a_20vali.rel new file mode 100644 index 00000000..7e9d1bbb --- /dev/null +++ b/src/nos/lib/messages_lib/0311_6dd9_LCP_20ACK_3a_20vali.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0311_6dd9_LCP_20ACK_3a_20vali Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 4c 43 50 20 41 43 4b 3a 20 +R 00 00 01 00 +T 0b 00 00 00 76 61 6c 69 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0312_2a80_No_20such_20server_.rel b/src/nos/lib/messages_lib/0312_2a80_No_20such_20server_.rel deleted file mode 100644 index f800f3fd..00000000 --- a/src/nos/lib/messages_lib/0312_2a80_No_20such_20server_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0312_2a80_No_20such_20server_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 4e 6f 20 73 75 63 68 20 73 -R 00 00 01 00 -T 0b 00 00 00 65 72 76 65 72 20 65 6e 61 62 6c -R 00 00 01 00 -T 16 00 00 00 65 64 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0312_d52d_LCP_20ACK_3a_20wron.rel b/src/nos/lib/messages_lib/0312_d52d_LCP_20ACK_3a_20wron.rel new file mode 100644 index 00000000..3d19b68e --- /dev/null +++ b/src/nos/lib/messages_lib/0312_d52d_LCP_20ACK_3a_20wron.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___0312_d52d_LCP_20ACK_3a_20wron Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 4c 43 50 20 41 43 4b 3a 20 +R 00 00 01 00 +T 0b 00 00 00 77 72 6f 6e 67 20 49 44 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0313_0cda_Nodetimer_20_25lu_2.rel b/src/nos/lib/messages_lib/0313_0cda_Nodetimer_20_25lu_2.rel deleted file mode 100644 index 1e7bc989..00000000 --- a/src/nos/lib/messages_lib/0313_0cda_Nodetimer_20_25lu_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___0313_0cda_Nodetimer_20_25lu_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 4e 6f 64 65 74 69 6d 65 72 -R 00 00 01 00 -T 0b 00 00 00 20 25 6c 75 2f 25 6c 75 20 73 65 -R 00 00 01 00 -T 16 00 00 00 63 6f 6e 64 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0313_febe_LCP_20NAK_3a_20bad_.rel b/src/nos/lib/messages_lib/0313_febe_LCP_20NAK_3a_20bad_.rel new file mode 100644 index 00000000..22fbb885 --- /dev/null +++ b/src/nos/lib/messages_lib/0313_febe_LCP_20NAK_3a_20bad_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___0313_febe_LCP_20NAK_3a_20bad_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 4c 43 50 20 4e 41 4b 3a 20 +R 00 00 01 00 +T 0b 00 00 00 62 61 64 20 68 65 61 64 65 72 20 +R 00 00 01 00 +T 16 00 00 00 6c 65 6e 67 74 68 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0314_3fb0_None.rel b/src/nos/lib/messages_lib/0314_3fb0_None.rel deleted file mode 100644 index 7ff06d67..00000000 --- a/src/nos/lib/messages_lib/0314_3fb0_None.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0314_3fb0_None Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 4e 6f 6e 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0314_8ccc_LCP_20NAK_3a_20opti.rel b/src/nos/lib/messages_lib/0314_8ccc_LCP_20NAK_3a_20opti.rel new file mode 100644 index 00000000..b04c54fd --- /dev/null +++ b/src/nos/lib/messages_lib/0314_8ccc_LCP_20NAK_3a_20opti.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___0314_8ccc_LCP_20NAK_3a_20opti Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 4c 43 50 20 4e 41 4b 3a 20 +R 00 00 01 00 +T 0b 00 00 00 6f 70 74 69 6f 6e 20 6f 75 74 20 +R 00 00 01 00 +T 16 00 00 00 6f 66 20 6f 72 64 65 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0315_1aee_None_0a.rel b/src/nos/lib/messages_lib/0315_1aee_None_0a.rel deleted file mode 100644 index 3b003aae..00000000 --- a/src/nos/lib/messages_lib/0315_1aee_None_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0315_1aee_None_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 4e 6f 6e 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0315_8660_LCP_20NAK_3a_20opti.rel b/src/nos/lib/messages_lib/0315_8660_LCP_20NAK_3a_20opti.rel new file mode 100644 index 00000000..6e324eef --- /dev/null +++ b/src/nos/lib/messages_lib/0315_8660_LCP_20NAK_3a_20opti.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___0315_8660_LCP_20NAK_3a_20opti Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 4c 43 50 20 4e 41 4b 3a 20 +R 00 00 01 00 +T 0b 00 00 00 6f 70 74 69 6f 6e 20 6f 75 74 20 +R 00 00 01 00 +T 16 00 00 00 6f 66 20 72 61 6e 67 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0316_ee4a_LCP_20NAK_3a_20ran_.rel b/src/nos/lib/messages_lib/0316_ee4a_LCP_20NAK_3a_20ran_.rel new file mode 100644 index 00000000..4f6fda4a --- /dev/null +++ b/src/nos/lib/messages_lib/0316_ee4a_LCP_20NAK_3a_20ran_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0316_ee4a_LCP_20NAK_3a_20ran_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 4c 43 50 20 4e 41 4b 3a 20 +R 00 00 01 00 +T 0b 00 00 00 72 61 6e 20 6f 75 74 20 6f 66 20 +R 00 00 01 00 +T 16 00 00 00 64 61 74 61 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0316_f8e2_Not_20a_20valid_20s.rel b/src/nos/lib/messages_lib/0316_f8e2_Not_20a_20valid_20s.rel deleted file mode 100644 index 93312ba9..00000000 --- a/src/nos/lib/messages_lib/0316_f8e2_Not_20a_20valid_20s.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___0316_f8e2_Not_20a_20valid_20s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 4e 6f 74 20 61 20 76 61 6c -R 00 00 01 00 -T 0b 00 00 00 69 64 20 73 6f 63 6b 65 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0317_5bff_LCP_20NAK_3a_20vali.rel b/src/nos/lib/messages_lib/0317_5bff_LCP_20NAK_3a_20vali.rel new file mode 100644 index 00000000..a6bf680f --- /dev/null +++ b/src/nos/lib/messages_lib/0317_5bff_LCP_20NAK_3a_20vali.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0317_5bff_LCP_20NAK_3a_20vali Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 4c 43 50 20 4e 41 4b 3a 20 +R 00 00 01 00 +T 0b 00 00 00 76 61 6c 69 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0317_b4ba_Not_20an_20FTP_20se.rel b/src/nos/lib/messages_lib/0317_b4ba_Not_20an_20FTP_20se.rel deleted file mode 100644 index f7381d59..00000000 --- a/src/nos/lib/messages_lib/0317_b4ba_Not_20an_20FTP_20se.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___0317_b4ba_Not_20an_20FTP_20se Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 4e 6f 74 20 61 6e 20 46 54 -R 00 00 01 00 -T 0b 00 00 00 50 20 73 65 73 73 69 6f 6e 21 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0318_e2bd_LCP_20NAK_3a_20wron.rel b/src/nos/lib/messages_lib/0318_e2bd_LCP_20NAK_3a_20wron.rel new file mode 100644 index 00000000..a68c4249 --- /dev/null +++ b/src/nos/lib/messages_lib/0318_e2bd_LCP_20NAK_3a_20wron.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___0318_e2bd_LCP_20NAK_3a_20wron Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 4c 43 50 20 4e 41 4b 3a 20 +R 00 00 01 00 +T 0b 00 00 00 77 72 6f 6e 67 20 49 44 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0318_ee7e_Not_20found_0a.rel b/src/nos/lib/messages_lib/0318_ee7e_Not_20found_0a.rel deleted file mode 100644 index c058f8b0..00000000 --- a/src/nos/lib/messages_lib/0318_ee7e_Not_20found_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___0318_ee7e_Not_20found_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 4e 6f 74 20 66 6f 75 6e 64 -R 00 00 01 00 -T 0b 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0319_533e_Not_20in_20table_0a.rel b/src/nos/lib/messages_lib/0319_533e_Not_20in_20table_0a.rel deleted file mode 100644 index 0810e604..00000000 --- a/src/nos/lib/messages_lib/0319_533e_Not_20in_20table_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___0319_533e_Not_20in_20table_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 4e 6f 74 20 69 6e 20 74 61 -R 00 00 01 00 -T 0b 00 00 00 62 6c 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0319_eec9_LCP_20REJ_3a_20bad_.rel b/src/nos/lib/messages_lib/0319_eec9_LCP_20REJ_3a_20bad_.rel new file mode 100644 index 00000000..eca68bdc --- /dev/null +++ b/src/nos/lib/messages_lib/0319_eec9_LCP_20REJ_3a_20bad_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___0319_eec9_LCP_20REJ_3a_20bad_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 4c 43 50 20 52 45 4a 3a 20 +R 00 00 01 00 +T 0b 00 00 00 62 61 64 20 68 65 61 64 65 72 20 +R 00 00 01 00 +T 16 00 00 00 6c 65 6e 67 74 68 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/031a_2181_LCP_20REJ_3a_20opti.rel b/src/nos/lib/messages_lib/031a_2181_LCP_20REJ_3a_20opti.rel new file mode 100644 index 00000000..efbf29a8 --- /dev/null +++ b/src/nos/lib/messages_lib/031a_2181_LCP_20REJ_3a_20opti.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___031a_2181_LCP_20REJ_3a_20opti Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 4c 43 50 20 52 45 4a 3a 20 +R 00 00 01 00 +T 0b 00 00 00 6f 70 74 69 6f 6e 20 6f 75 74 20 +R 00 00 01 00 +T 16 00 00 00 6f 66 20 6f 72 64 65 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/031a_c7b9_Not_20supported_0a.rel b/src/nos/lib/messages_lib/031a_c7b9_Not_20supported_0a.rel deleted file mode 100644 index ac7c044c..00000000 --- a/src/nos/lib/messages_lib/031a_c7b9_Not_20supported_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___031a_c7b9_Not_20supported_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 4e 6f 74 20 73 75 70 70 6f -R 00 00 01 00 -T 0b 00 00 00 72 74 65 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/031b_2b2d_LCP_20REJ_3a_20opti.rel b/src/nos/lib/messages_lib/031b_2b2d_LCP_20REJ_3a_20opti.rel new file mode 100644 index 00000000..31c945a2 --- /dev/null +++ b/src/nos/lib/messages_lib/031b_2b2d_LCP_20REJ_3a_20opti.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___031b_2b2d_LCP_20REJ_3a_20opti Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 4c 43 50 20 52 45 4a 3a 20 +R 00 00 01 00 +T 0b 00 00 00 6f 70 74 69 6f 6e 20 6f 75 74 20 +R 00 00 01 00 +T 16 00 00 00 6f 66 20 72 61 6e 67 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/031b_9692_Obsotimer_20_25lu_2.rel b/src/nos/lib/messages_lib/031b_9692_Obsotimer_20_25lu_2.rel deleted file mode 100644 index 5c070565..00000000 --- a/src/nos/lib/messages_lib/031b_9692_Obsotimer_20_25lu_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___031b_9692_Obsotimer_20_25lu_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 4f 62 73 6f 74 69 6d 65 72 -R 00 00 01 00 -T 0b 00 00 00 20 25 6c 75 2f 25 6c 75 20 73 65 -R 00 00 01 00 -T 16 00 00 00 63 6f 6e 64 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/031c_79ab_LCP_20REJ_3a_20ran_.rel b/src/nos/lib/messages_lib/031c_79ab_LCP_20REJ_3a_20ran_.rel new file mode 100644 index 00000000..1ff20067 --- /dev/null +++ b/src/nos/lib/messages_lib/031c_79ab_LCP_20REJ_3a_20ran_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___031c_79ab_LCP_20REJ_3a_20ran_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 4c 43 50 20 52 45 4a 3a 20 +R 00 00 01 00 +T 0b 00 00 00 72 61 6e 20 6f 75 74 20 6f 66 20 +R 00 00 01 00 +T 16 00 00 00 64 61 74 61 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/031c_ff96_Oh_2c_20hello_20_25.rel b/src/nos/lib/messages_lib/031c_ff96_Oh_2c_20hello_20_25.rel deleted file mode 100644 index 13442dca..00000000 --- a/src/nos/lib/messages_lib/031c_ff96_Oh_2c_20hello_20_25.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___031c_ff96_Oh_2c_20hello_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 4f 68 2c 20 68 65 6c 6c 6f -R 00 00 01 00 -T 0b 00 00 00 20 25 73 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/031d_0948_Only_20_25d_20DRSI_.rel b/src/nos/lib/messages_lib/031d_0948_Only_20_25d_20DRSI_.rel deleted file mode 100644 index 559f4bab..00000000 --- a/src/nos/lib/messages_lib/031d_0948_Only_20_25d_20DRSI_.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 33 flags 0 -S ___031d_0948_Only_20_25d_20DRSI_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 31 00 4f 6e 6c 79 20 25 64 20 44 -R 00 00 01 00 -T 0b 00 00 00 52 53 49 20 63 6f 6e 74 72 6f 6c -R 00 00 01 00 -T 16 00 00 00 6c 65 72 28 73 29 20 73 75 70 70 -R 00 00 01 00 -T 21 00 00 00 6f 72 74 65 64 20 72 69 67 68 74 -R 00 00 01 00 -T 2c 00 00 00 20 6e 6f 77 21 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/031d_ee42_LCP_20REJ_3a_20vali.rel b/src/nos/lib/messages_lib/031d_ee42_LCP_20REJ_3a_20vali.rel new file mode 100644 index 00000000..adabea86 --- /dev/null +++ b/src/nos/lib/messages_lib/031d_ee42_LCP_20REJ_3a_20vali.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___031d_ee42_LCP_20REJ_3a_20vali Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 4c 43 50 20 52 45 4a 3a 20 +R 00 00 01 00 +T 0b 00 00 00 76 61 6c 69 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/031e_8edb_Only_20_25d_20net_2.rel b/src/nos/lib/messages_lib/031e_8edb_Only_20_25d_20net_2.rel deleted file mode 100644 index 22daac11..00000000 --- a/src/nos/lib/messages_lib/031e_8edb_Only_20_25d_20net_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___031e_8edb_Only_20_25d_20net_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 4f 6e 6c 79 20 25 64 20 6e -R 00 00 01 00 -T 0b 00 00 00 65 74 2f 72 6f 6d 20 69 6e 74 65 -R 00 00 01 00 -T 16 00 00 00 72 66 61 63 65 73 20 61 76 61 69 -R 00 00 01 00 -T 21 00 00 00 6c 61 62 6c 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/031e_d356_LCP_20REJ_3a_20wron.rel b/src/nos/lib/messages_lib/031e_d356_LCP_20REJ_3a_20wron.rel new file mode 100644 index 00000000..b1da11fc --- /dev/null +++ b/src/nos/lib/messages_lib/031e_d356_LCP_20REJ_3a_20wron.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___031e_d356_LCP_20REJ_3a_20wron Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 4c 43 50 20 52 45 4a 3a 20 +R 00 00 01 00 +T 0b 00 00 00 77 72 6f 6e 67 20 49 44 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/031f_d049_LCP_20REQ_3a_20bad_.rel b/src/nos/lib/messages_lib/031f_d049_LCP_20REQ_3a_20bad_.rel new file mode 100644 index 00000000..d81a1477 --- /dev/null +++ b/src/nos/lib/messages_lib/031f_d049_LCP_20REQ_3a_20bad_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___031f_d049_LCP_20REQ_3a_20bad_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 4c 43 50 20 52 45 51 3a 20 +R 00 00 01 00 +T 0b 00 00 00 62 61 64 20 68 65 61 64 65 72 20 +R 00 00 01 00 +T 16 00 00 00 6c 65 6e 67 74 68 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/031f_f9f0_Only_201_20EAGLE_20.rel b/src/nos/lib/messages_lib/031f_f9f0_Only_201_20EAGLE_20.rel deleted file mode 100644 index 80f22929..00000000 --- a/src/nos/lib/messages_lib/031f_f9f0_Only_201_20EAGLE_20.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 30 flags 0 -S ___031f_f9f0_Only_201_20EAGLE_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2e 00 4f 6e 6c 79 20 31 20 45 41 -R 00 00 01 00 -T 0b 00 00 00 47 4c 45 20 63 6f 6e 74 72 6f 6c -R 00 00 01 00 -T 16 00 00 00 6c 65 72 20 73 75 70 70 6f 72 74 -R 00 00 01 00 -T 21 00 00 00 65 64 20 72 69 67 68 74 20 6e 6f -R 00 00 01 00 -T 2c 00 00 00 77 21 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0320_1514_Outqlen_3a_20_25d_2.rel b/src/nos/lib/messages_lib/0320_1514_Outqlen_3a_20_25d_2.rel deleted file mode 100644 index e9129080..00000000 --- a/src/nos/lib/messages_lib/0320_1514_Outqlen_3a_20_25d_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___0320_1514_Outqlen_3a_20_25d_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 4f 75 74 71 6c 65 6e 3a 20 -R 00 00 01 00 -T 0b 00 00 00 25 64 20 70 61 63 6b 65 74 73 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0320_7153_LCP_20REQ_3a_20ran_.rel b/src/nos/lib/messages_lib/0320_7153_LCP_20REQ_3a_20ran_.rel new file mode 100644 index 00000000..7f505016 --- /dev/null +++ b/src/nos/lib/messages_lib/0320_7153_LCP_20REQ_3a_20ran_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0320_7153_LCP_20REQ_3a_20ran_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 4c 43 50 20 52 45 51 3a 20 +R 00 00 01 00 +T 0b 00 00 00 72 61 6e 20 6f 75 74 20 6f 66 20 +R 00 00 01 00 +T 16 00 00 00 64 61 74 61 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0321_0ae9_LCP_20REQ_3a_20resu.rel b/src/nos/lib/messages_lib/0321_0ae9_LCP_20REQ_3a_20resu.rel new file mode 100644 index 00000000..1b3225fa --- /dev/null +++ b/src/nos/lib/messages_lib/0321_0ae9_LCP_20REQ_3a_20resu.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2b flags 0 +S ___0321_0ae9_LCP_20REQ_3a_20resu Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 29 00 4c 43 50 20 52 45 51 3a 20 +R 00 00 01 00 +T 0b 00 00 00 72 65 73 75 6c 74 20 25 73 2c 20 +R 00 00 01 00 +T 16 00 00 00 6f 70 74 69 6f 6e 20 25 64 2c 20 +R 00 00 01 00 +T 21 00 00 00 6c 65 6e 67 74 68 20 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0321_5b48_PANIC_3a_20Timer_20.rel b/src/nos/lib/messages_lib/0321_5b48_PANIC_3a_20Timer_20.rel deleted file mode 100644 index 482c147c..00000000 --- a/src/nos/lib/messages_lib/0321_5b48_PANIC_3a_20Timer_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___0321_5b48_PANIC_3a_20Timer_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 50 41 4e 49 43 3a 20 54 69 -R 00 00 01 00 -T 0b 00 00 00 6d 65 72 20 6c 6f 6f 70 20 61 74 -R 00 00 01 00 -T 16 00 00 00 20 25 6c 78 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0322_1d45_Last_20message_0a.rel b/src/nos/lib/messages_lib/0322_1d45_Last_20message_0a.rel new file mode 100644 index 00000000..ab6768a6 --- /dev/null +++ b/src/nos/lib/messages_lib/0322_1d45_Last_20message_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___0322_1d45_Last_20message_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 4c 61 73 74 20 6d 65 73 73 +R 00 00 01 00 +T 0b 00 00 00 61 67 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0322_281b_PANIC_3a_20buffer_2.rel b/src/nos/lib/messages_lib/0322_281b_PANIC_3a_20buffer_2.rel deleted file mode 100644 index db242f8d..00000000 --- a/src/nos/lib/messages_lib/0322_281b_PANIC_3a_20buffer_2.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2d flags 0 -S ___0322_281b_PANIC_3a_20buffer_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2b 00 50 41 4e 49 43 3a 20 62 75 -R 00 00 01 00 -T 0b 00 00 00 66 66 65 72 20 61 75 64 69 74 20 -R 00 00 01 00 -T 16 00 00 00 66 61 69 6c 75 72 65 20 69 6e 20 -R 00 00 01 00 -T 21 00 00 00 25 73 20 6c 69 6e 65 20 25 64 0a -R 00 00 01 00 -T 2c 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0323_c626_Listen.rel b/src/nos/lib/messages_lib/0323_c626_Listen.rel new file mode 100644 index 00000000..f3ccc4b6 --- /dev/null +++ b/src/nos/lib/messages_lib/0323_c626_Listen.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0323_c626_Listen Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 4c 69 73 74 65 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0323_f630_PAP_0a.rel b/src/nos/lib/messages_lib/0323_f630_PAP_0a.rel deleted file mode 100644 index 03cc5eab..00000000 --- a/src/nos/lib/messages_lib/0323_f630_PAP_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0323_f630_PAP_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 50 41 50 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0324_b2fb_PAP_20_25s_0a.rel b/src/nos/lib/messages_lib/0324_b2fb_PAP_20_25s_0a.rel deleted file mode 100644 index 69c11eb8..00000000 --- a/src/nos/lib/messages_lib/0324_b2fb_PAP_20_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0324_b2fb_PAP_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 50 41 50 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0324_f6d8_Listening_20_2d_2d_.rel b/src/nos/lib/messages_lib/0324_f6d8_Listening_20_2d_2d_.rel new file mode 100644 index 00000000..f3e6fe9b --- /dev/null +++ b/src/nos/lib/messages_lib/0324_f6d8_Listening_20_2d_2d_.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 37 flags 0 +S ___0324_f6d8_Listening_20_2d_2d_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 35 00 4c 69 73 74 65 6e 69 6e 67 +R 00 00 01 00 +T 0b 00 00 00 20 2d 2d 20 77 61 69 74 69 6e 67 +R 00 00 01 00 +T 16 00 00 00 20 66 6f 72 20 72 65 6d 6f 74 65 +R 00 00 01 00 +T 21 00 00 00 20 68 6f 73 74 20 74 6f 20 61 74 +R 00 00 01 00 +T 2c 00 00 00 74 65 6d 70 74 20 6f 70 65 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0325_8063_PASS_20_25s.rel b/src/nos/lib/messages_lib/0325_8063_PASS_20_25s.rel deleted file mode 100644 index 7094c75a..00000000 --- a/src/nos/lib/messages_lib/0325_8063_PASS_20_25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0325_8063_PASS_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 50 41 53 53 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0325_a317_Loc_20.rel b/src/nos/lib/messages_lib/0325_a317_Loc_20.rel new file mode 100644 index 00000000..c3d11c91 --- /dev/null +++ b/src/nos/lib/messages_lib/0325_a317_Loc_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0325_a317_Loc_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 4c 6f 63 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0326_2320_PI_20Board_20Statis.rel b/src/nos/lib/messages_lib/0326_2320_PI_20Board_20Statis.rel deleted file mode 100644 index 78506324..00000000 --- a/src/nos/lib/messages_lib/0326_2320_PI_20Board_20Statis.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___0326_2320_PI_20Board_20Statis Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 50 49 20 42 6f 61 72 64 20 -R 00 00 01 00 -T 0b 00 00 00 53 74 61 74 69 73 74 69 63 73 3a -R 00 00 01 00 -T 16 00 00 00 0a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0326_5ce5_Local_3a_20_25s.rel b/src/nos/lib/messages_lib/0326_5ce5_Local_3a_20_25s.rel new file mode 100644 index 00000000..7313f017 --- /dev/null +++ b/src/nos/lib/messages_lib/0326_5ce5_Local_3a_20_25s.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0326_5ce5_Local_3a_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 4c 6f 63 61 6c 3a 20 25 73 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0327_0926_Local_3a_20_25s_20_.rel b/src/nos/lib/messages_lib/0327_0926_Local_3a_20_25s_20_.rel new file mode 100644 index 00000000..46413b54 --- /dev/null +++ b/src/nos/lib/messages_lib/0327_0926_Local_3a_20_25s_20_.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 33 flags 0 +S ___0327_0926_Local_3a_20_25s_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 31 00 4c 6f 63 61 6c 3a 20 25 73 +R 00 00 01 00 +T 0b 00 00 00 20 25 64 2f 25 64 20 52 65 6d 6f +R 00 00 01 00 +T 16 00 00 00 74 65 3a 20 25 73 20 40 20 25 73 +R 00 00 01 00 +T 21 00 00 00 20 25 64 2f 25 64 20 53 74 61 74 +R 00 00 01 00 +T 2c 00 00 00 65 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0327_73f1_PI_3a_20DMA_20_25d_.rel b/src/nos/lib/messages_lib/0327_73f1_PI_3a_20DMA_20_25d_.rel deleted file mode 100644 index c4f382c3..00000000 --- a/src/nos/lib/messages_lib/0327_73f1_PI_3a_20DMA_20_25d_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0327_73f1_PI_3a_20DMA_20_25d_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 50 49 3a 20 44 4d 41 20 25 -R 00 00 01 00 -T 0b 00 00 00 64 20 6f 75 74 20 6f 66 20 72 61 -R 00 00 01 00 -T 16 00 00 00 6e 67 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0328_5841_PI_3a_20DMA_20chann.rel b/src/nos/lib/messages_lib/0328_5841_PI_3a_20DMA_20chann.rel deleted file mode 100644 index 4fd97ab4..00000000 --- a/src/nos/lib/messages_lib/0328_5841_PI_3a_20DMA_20chann.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___0328_5841_PI_3a_20DMA_20chann Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 50 49 3a 20 44 4d 41 20 63 -R 00 00 01 00 -T 0b 00 00 00 68 61 6e 6e 65 6c 20 25 64 20 6f -R 00 00 01 00 -T 16 00 00 00 75 74 20 6f 66 20 72 61 6e 67 65 -R 00 00 01 00 -T 21 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0328_6210_Lock_20directory_20.rel b/src/nos/lib/messages_lib/0328_6210_Lock_20directory_20.rel new file mode 100644 index 00000000..4c9c41fd --- /dev/null +++ b/src/nos/lib/messages_lib/0328_6210_Lock_20directory_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___0328_6210_Lock_20directory_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 4c 6f 63 6b 20 64 69 72 65 +R 00 00 01 00 +T 0b 00 00 00 63 74 6f 72 79 20 25 73 20 6d 69 +R 00 00 01 00 +T 16 00 00 00 73 73 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0329_3992_PI_3a_20IRQ_20_25u_.rel b/src/nos/lib/messages_lib/0329_3992_PI_3a_20IRQ_20_25u_.rel deleted file mode 100644 index f4f66b96..00000000 --- a/src/nos/lib/messages_lib/0329_3992_PI_3a_20IRQ_20_25u_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0329_3992_PI_3a_20IRQ_20_25u_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 50 49 3a 20 49 52 51 20 25 -R 00 00 01 00 -T 0b 00 00 00 75 20 6f 75 74 20 6f 66 20 72 61 -R 00 00 01 00 -T 16 00 00 00 6e 67 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0329_f59a_Logging_20off_0a.rel b/src/nos/lib/messages_lib/0329_f59a_Logging_20off_0a.rel new file mode 100644 index 00000000..187f0e45 --- /dev/null +++ b/src/nos/lib/messages_lib/0329_f59a_Logging_20off_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0329_f59a_Logging_20off_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 4c 6f 67 67 69 6e 67 20 6f +R 00 00 01 00 +T 0b 00 00 00 66 66 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/032a_1bd9_Logging_20to_20_25s.rel b/src/nos/lib/messages_lib/032a_1bd9_Logging_20to_20_25s.rel new file mode 100644 index 00000000..8e6604b9 --- /dev/null +++ b/src/nos/lib/messages_lib/032a_1bd9_Logging_20to_20_25s.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___032a_1bd9_Logging_20to_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 4c 6f 67 67 69 6e 67 20 74 +R 00 00 01 00 +T 0b 00 00 00 6f 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/032a_4ca4_PI_3a_20Interface_2.rel b/src/nos/lib/messages_lib/032a_4ca4_PI_3a_20Interface_2.rel deleted file mode 100644 index d1870d72..00000000 --- a/src/nos/lib/messages_lib/032a_4ca4_PI_3a_20Interface_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___032a_4ca4_PI_3a_20Interface_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 50 49 3a 20 49 6e 74 65 72 -R 00 00 01 00 -T 0b 00 00 00 66 61 63 65 20 25 73 20 61 6c 72 -R 00 00 01 00 -T 16 00 00 00 65 61 64 79 20 65 78 69 73 74 73 -R 00 00 01 00 -T 21 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/032b_4a5a_Logical_20bytesize_.rel b/src/nos/lib/messages_lib/032b_4a5a_Logical_20bytesize_.rel new file mode 100644 index 00000000..e8e085b2 --- /dev/null +++ b/src/nos/lib/messages_lib/032b_4a5a_Logical_20bytesize_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___032b_4a5a_Logical_20bytesize_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 4c 6f 67 69 63 61 6c 20 62 +R 00 00 01 00 +T 0b 00 00 00 79 74 65 73 69 7a 65 20 25 75 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/032b_d856_PI_3a_20Maximum_20o.rel b/src/nos/lib/messages_lib/032b_d856_PI_3a_20Maximum_20o.rel deleted file mode 100644 index f1d47be6..00000000 --- a/src/nos/lib/messages_lib/032b_d856_PI_3a_20Maximum_20o.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___032b_d856_PI_3a_20Maximum_20o Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 50 49 3a 20 4d 61 78 69 6d -R 00 00 01 00 -T 0b 00 00 00 75 6d 20 6f 66 20 25 64 20 50 49 -R 00 00 01 00 -T 16 00 00 00 20 63 61 72 64 73 20 73 75 70 70 -R 00 00 01 00 -T 21 00 00 00 6f 72 74 65 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/032c_4f93_Login_20incorrect_0.rel b/src/nos/lib/messages_lib/032c_4f93_Login_20incorrect_0.rel new file mode 100644 index 00000000..e78320bb --- /dev/null +++ b/src/nos/lib/messages_lib/032c_4f93_Login_20incorrect_0.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___032c_4f93_Login_20incorrect_0 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 4c 6f 67 69 6e 20 69 6e 63 +R 00 00 01 00 +T 0b 00 00 00 6f 72 72 65 63 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/032c_9098_PI_3a_20Mode_20_25s.rel b/src/nos/lib/messages_lib/032c_9098_PI_3a_20Mode_20_25s.rel deleted file mode 100644 index 08d64aca..00000000 --- a/src/nos/lib/messages_lib/032c_9098_PI_3a_20Mode_20_25s.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___032c_9098_PI_3a_20Mode_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 50 49 3a 20 4d 6f 64 65 20 -R 00 00 01 00 -T 0b 00 00 00 25 73 20 75 6e 6b 6e 6f 77 6e 20 -R 00 00 01 00 -T 16 00 00 00 66 6f 72 20 69 6e 74 65 72 66 61 -R 00 00 01 00 -T 21 00 00 00 63 65 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/032d_8ac2_MBOX_20Zap_3a_20_25.rel b/src/nos/lib/messages_lib/032d_8ac2_MBOX_20Zap_3a_20_25.rel new file mode 100644 index 00000000..40437c16 --- /dev/null +++ b/src/nos/lib/messages_lib/032d_8ac2_MBOX_20Zap_3a_20_25.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___032d_8ac2_MBOX_20Zap_3a_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 4d 42 4f 58 20 5a 61 70 3a +R 00 00 01 00 +T 0b 00 00 00 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/032d_de39_PI_3a_20No_20IP_20a.rel b/src/nos/lib/messages_lib/032d_de39_PI_3a_20No_20IP_20a.rel deleted file mode 100644 index d5e2b7e8..00000000 --- a/src/nos/lib/messages_lib/032d_de39_PI_3a_20No_20IP_20a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___032d_de39_PI_3a_20No_20IP_20a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 50 49 3a 20 4e 6f 20 49 50 -R 00 00 01 00 -T 0b 00 00 00 20 61 64 64 72 65 73 73 21 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/032e_02ea_PI_3a_20No_20memory.rel b/src/nos/lib/messages_lib/032e_02ea_PI_3a_20No_20memory.rel deleted file mode 100644 index a8d5612e..00000000 --- a/src/nos/lib/messages_lib/032e_02ea_PI_3a_20No_20memory.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2e flags 0 -S ___032e_02ea_PI_3a_20No_20memory Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2c 00 50 49 3a 20 4e 6f 20 6d 65 -R 00 00 01 00 -T 0b 00 00 00 6d 6f 72 79 20 61 76 61 69 6c 61 -R 00 00 01 00 -T 16 00 00 00 62 6c 65 20 66 6f 72 20 72 65 63 -R 00 00 01 00 -T 21 00 00 00 65 69 76 65 20 62 75 66 66 65 72 -R 00 00 01 00 -T 2c 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/032e_1dc7_MBOX_20bbs_20mail_2.rel b/src/nos/lib/messages_lib/032e_1dc7_MBOX_20bbs_20mail_2.rel new file mode 100644 index 00000000..3188608f --- /dev/null +++ b/src/nos/lib/messages_lib/032e_1dc7_MBOX_20bbs_20mail_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___032e_1dc7_MBOX_20bbs_20mail_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 4d 42 4f 58 20 62 62 73 20 +R 00 00 01 00 +T 0b 00 00 00 6d 61 69 6c 20 72 65 66 75 73 65 +R 00 00 01 00 +T 16 00 00 00 64 3a 20 25 73 0a 20 20 20 20 20 +R 00 00 01 00 +T 21 00 00 00 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/032f_37c2_MBOX_20bbs_20mail_2.rel b/src/nos/lib/messages_lib/032f_37c2_MBOX_20bbs_20mail_2.rel new file mode 100644 index 00000000..7f289170 --- /dev/null +++ b/src/nos/lib/messages_lib/032f_37c2_MBOX_20bbs_20mail_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___032f_37c2_MBOX_20bbs_20mail_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 4d 42 4f 58 20 62 62 73 20 +R 00 00 01 00 +T 0b 00 00 00 6d 61 69 6c 20 73 65 6e 74 3a 20 +R 00 00 01 00 +T 16 00 00 00 25 73 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/032f_c0d0_PI_3a_20No_20memory.rel b/src/nos/lib/messages_lib/032f_c0d0_PI_3a_20No_20memory.rel deleted file mode 100644 index 4d11022e..00000000 --- a/src/nos/lib/messages_lib/032f_c0d0_PI_3a_20No_20memory.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2f flags 0 -S ___032f_c0d0_PI_3a_20No_20memory Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2d 00 50 49 3a 20 4e 6f 20 6d 65 -R 00 00 01 00 -T 0b 00 00 00 6d 6f 72 79 20 61 76 61 69 6c 61 -R 00 00 01 00 -T 16 00 00 00 62 6c 65 20 66 6f 72 20 72 65 63 -R 00 00 01 00 -T 21 00 00 00 65 69 76 65 20 62 75 66 66 65 72 -R 00 00 01 00 -T 2c 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0330_94ca_PI_3a_20No_20memory.rel b/src/nos/lib/messages_lib/0330_94ca_PI_3a_20No_20memory.rel deleted file mode 100644 index 8b070f1b..00000000 --- a/src/nos/lib/messages_lib/0330_94ca_PI_3a_20No_20memory.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2e flags 0 -S ___0330_94ca_PI_3a_20No_20memory Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2c 00 50 49 3a 20 4e 6f 20 6d 65 -R 00 00 01 00 -T 0b 00 00 00 6d 6f 72 79 20 61 76 61 69 6c 61 -R 00 00 01 00 -T 16 00 00 00 62 6c 65 20 66 6f 72 20 74 72 61 -R 00 00 01 00 -T 21 00 00 00 6e 73 6d 69 74 20 62 75 66 66 65 -R 00 00 01 00 -T 2c 00 00 00 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0330_f88f_MBOX_20forward_20fa.rel b/src/nos/lib/messages_lib/0330_f88f_MBOX_20forward_20fa.rel new file mode 100644 index 00000000..c50c55e0 --- /dev/null +++ b/src/nos/lib/messages_lib/0330_f88f_MBOX_20forward_20fa.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___0330_f88f_MBOX_20forward_20fa Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 4d 42 4f 58 20 66 6f 72 77 +R 00 00 01 00 +T 0b 00 00 00 61 72 64 20 66 61 69 6c 65 64 3a +R 00 00 01 00 +T 16 00 00 00 20 25 73 20 65 72 72 6e 6f 20 25 +R 00 00 01 00 +T 21 00 00 00 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0331_9bd4_MBOX_20forwarding_2.rel b/src/nos/lib/messages_lib/0331_9bd4_MBOX_20forwarding_2.rel new file mode 100644 index 00000000..6c6fc29e --- /dev/null +++ b/src/nos/lib/messages_lib/0331_9bd4_MBOX_20forwarding_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___0331_9bd4_MBOX_20forwarding_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 4d 42 4f 58 20 66 6f 72 77 +R 00 00 01 00 +T 0b 00 00 00 61 72 64 69 6e 67 20 6d 61 69 6c +R 00 00 01 00 +T 16 00 00 00 20 74 6f 3a 20 25 73 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0331_c698_PI_3a_20No_20memory.rel b/src/nos/lib/messages_lib/0331_c698_PI_3a_20No_20memory.rel deleted file mode 100644 index e2c27003..00000000 --- a/src/nos/lib/messages_lib/0331_c698_PI_3a_20No_20memory.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2f flags 0 -S ___0331_c698_PI_3a_20No_20memory Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2d 00 50 49 3a 20 4e 6f 20 6d 65 -R 00 00 01 00 -T 0b 00 00 00 6d 6f 72 79 20 61 76 61 69 6c 61 -R 00 00 01 00 -T 16 00 00 00 62 6c 65 20 66 6f 72 20 74 72 61 -R 00 00 01 00 -T 21 00 00 00 6e 73 6d 69 74 20 62 75 66 66 65 -R 00 00 01 00 -T 2c 00 00 00 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0332_d1e8_MBOX_20login_3a_20_.rel b/src/nos/lib/messages_lib/0332_d1e8_MBOX_20login_3a_20_.rel new file mode 100644 index 00000000..61def9b5 --- /dev/null +++ b/src/nos/lib/messages_lib/0332_d1e8_MBOX_20login_3a_20_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0332_d1e8_MBOX_20login_3a_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 4d 42 4f 58 20 6c 6f 67 69 +R 00 00 01 00 +T 0b 00 00 00 6e 3a 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0332_d61f_PI_3a_20Set_20mycal.rel b/src/nos/lib/messages_lib/0332_d61f_PI_3a_20Set_20mycal.rel deleted file mode 100644 index dcb0fb81..00000000 --- a/src/nos/lib/messages_lib/0332_d61f_PI_3a_20Set_20mycal.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___0332_d61f_PI_3a_20Set_20mycal Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 50 49 3a 20 53 65 74 20 6d -R 00 00 01 00 -T 0b 00 00 00 79 63 61 6c 6c 20 66 69 72 73 74 -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0333_68d4_PID_20_20_20CS_3aIP.rel b/src/nos/lib/messages_lib/0333_68d4_PID_20_20_20CS_3aIP.rel deleted file mode 100644 index 60bfd461..00000000 --- a/src/nos/lib/messages_lib/0333_68d4_PID_20_20_20CS_3aIP.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 43 flags 0 -S ___0333_68d4_PID_20_20_20CS_3aIP Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 41 00 50 49 44 20 20 20 43 53 3a -R 00 00 01 00 -T 0b 00 00 00 49 50 20 20 20 20 20 20 53 53 3a -R 00 00 01 00 -T 16 00 00 00 53 50 20 20 20 20 20 20 73 74 61 -R 00 00 01 00 -T 21 00 00 00 63 6b 20 75 73 61 67 65 20 65 76 -R 00 00 01 00 -T 2c 00 00 00 65 6e 74 20 66 6c 20 20 69 6e 20 -R 00 00 01 00 -T 37 00 00 00 20 6f 75 74 20 20 6e 61 6d 65 0a -R 00 00 01 00 -T 42 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0333_dd2e_MBOX_20login_3a_20_.rel b/src/nos/lib/messages_lib/0333_dd2e_MBOX_20login_3a_20_.rel new file mode 100644 index 00000000..67b112bd --- /dev/null +++ b/src/nos/lib/messages_lib/0333_dd2e_MBOX_20login_3a_20_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___0333_dd2e_MBOX_20login_3a_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 4d 42 4f 58 20 6c 6f 67 69 +R 00 00 01 00 +T 0b 00 00 00 6e 3a 20 25 73 20 50 61 73 73 77 +R 00 00 01 00 +T 16 00 00 00 6f 72 64 3a 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0334_3c62_POP_20access_20DENI.rel b/src/nos/lib/messages_lib/0334_3c62_POP_20access_20DENI.rel deleted file mode 100644 index bcdd2031..00000000 --- a/src/nos/lib/messages_lib/0334_3c62_POP_20access_20DENI.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___0334_3c62_POP_20access_20DENI Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 50 4f 50 20 61 63 63 65 73 -R 00 00 01 00 -T 0b 00 00 00 73 20 44 45 4e 49 45 44 20 74 6f -R 00 00 01 00 -T 16 00 00 00 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0334_e920_MBOX_20sysop_3a_20_.rel b/src/nos/lib/messages_lib/0334_e920_MBOX_20sysop_3a_20_.rel new file mode 100644 index 00000000..90207453 --- /dev/null +++ b/src/nos/lib/messages_lib/0334_e920_MBOX_20sysop_3a_20_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0334_e920_MBOX_20sysop_3a_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 4d 42 4f 58 20 73 79 73 6f +R 00 00 01 00 +T 0b 00 00 00 70 3a 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0335_a30c_MBOX_20upload_3a_20.rel b/src/nos/lib/messages_lib/0335_a30c_MBOX_20upload_3a_20.rel new file mode 100644 index 00000000..ff68273f --- /dev/null +++ b/src/nos/lib/messages_lib/0335_a30c_MBOX_20upload_3a_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0335_a30c_MBOX_20upload_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 4d 42 4f 58 20 75 70 6c 6f +R 00 00 01 00 +T 0b 00 00 00 61 64 3a 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0335_f3cf_POP_20access_20gran.rel b/src/nos/lib/messages_lib/0335_f3cf_POP_20access_20gran.rel deleted file mode 100644 index 3a54e7b8..00000000 --- a/src/nos/lib/messages_lib/0335_f3cf_POP_20access_20gran.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0335_f3cf_POP_20access_20gran Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 50 4f 50 20 61 63 63 65 73 -R 00 00 01 00 -T 0b 00 00 00 73 20 67 72 61 6e 74 65 64 20 74 -R 00 00 01 00 -T 16 00 00 00 6f 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0336_639f_POP_20client_20retr.rel b/src/nos/lib/messages_lib/0336_639f_POP_20client_20retr.rel deleted file mode 100644 index 73db61a0..00000000 --- a/src/nos/lib/messages_lib/0336_639f_POP_20client_20retr.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___0336_639f_POP_20client_20retr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 50 4f 50 20 63 6c 69 65 6e -R 00 00 01 00 -T 0b 00 00 00 74 20 72 65 74 72 69 65 76 65 64 -R 00 00 01 00 -T 16 00 00 00 20 25 64 20 6d 65 73 73 61 67 65 -R 00 00 01 00 -T 21 00 00 00 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0336_c247_MKD_20_25s.rel b/src/nos/lib/messages_lib/0336_c247_MKD_20_25s.rel new file mode 100644 index 00000000..2dacde93 --- /dev/null +++ b/src/nos/lib/messages_lib/0336_c247_MKD_20_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0336_c247_MKD_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 4d 4b 44 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0337_53a6_MRU_20_25s_20_28_25.rel b/src/nos/lib/messages_lib/0337_53a6_MRU_20_25s_20_28_25.rel new file mode 100644 index 00000000..183670f4 --- /dev/null +++ b/src/nos/lib/messages_lib/0337_53a6_MRU_20_25s_20_28_25.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 27 flags 0 +S ___0337_53a6_MRU_20_25s_20_28_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 25 00 4d 52 55 20 25 73 20 28 25 +R 00 00 01 00 +T 0b 00 00 00 64 29 20 6f 75 74 20 6f 66 20 72 +R 00 00 01 00 +T 16 00 00 00 61 6e 67 65 20 25 64 20 74 68 72 +R 00 00 01 00 +T 21 00 00 00 75 20 25 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0337_e9bb_POP_20quiet.rel b/src/nos/lib/messages_lib/0337_e9bb_POP_20quiet.rel deleted file mode 100644 index 9d6922d4..00000000 --- a/src/nos/lib/messages_lib/0337_e9bb_POP_20quiet.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___0337_e9bb_POP_20quiet Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 50 4f 50 20 71 75 69 65 74 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0338_1231_POP_20users_20file_.rel b/src/nos/lib/messages_lib/0338_1231_POP_20users_20file_.rel deleted file mode 100644 index d3383b33..00000000 --- a/src/nos/lib/messages_lib/0338_1231_POP_20users_20file_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___0338_1231_POP_20users_20file_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 50 4f 50 20 75 73 65 72 73 -R 00 00 01 00 -T 0b 00 00 00 20 66 69 6c 65 20 25 73 20 6e 6f -R 00 00 01 00 -T 16 00 00 00 74 20 66 6f 75 6e 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0338_f9a6_Magic_20Number.rel b/src/nos/lib/messages_lib/0338_f9a6_Magic_20Number.rel new file mode 100644 index 00000000..c08f0c77 --- /dev/null +++ b/src/nos/lib/messages_lib/0338_f9a6_Magic_20Number.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0338_f9a6_Magic_20Number Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 4d 61 67 69 63 20 4e 75 6d +R 00 00 01 00 +T 0b 00 00 00 62 65 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0339_d070_Mail_20area_3a_20_2.rel b/src/nos/lib/messages_lib/0339_d070_Mail_20area_3a_20_2.rel new file mode 100644 index 00000000..df91f49e --- /dev/null +++ b/src/nos/lib/messages_lib/0339_d070_Mail_20area_3a_20_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___0339_d070_Mail_20area_3a_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 4d 61 69 6c 20 61 72 65 61 +R 00 00 01 00 +T 0b 00 00 00 3a 20 25 73 20 20 25 64 20 6d 65 +R 00 00 01 00 +T 16 00 00 00 73 73 61 67 65 25 73 20 2d 20 20 +R 00 00 01 00 +T 21 00 00 00 25 64 20 6e 65 77 0a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0339_e126_PORT_20_25u_2c_25u_.rel b/src/nos/lib/messages_lib/0339_e126_PORT_20_25u_2c_25u_.rel deleted file mode 100644 index 67ec1016..00000000 --- a/src/nos/lib/messages_lib/0339_e126_PORT_20_25u_2c_25u_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___0339_e126_PORT_20_25u_2c_25u_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 50 4f 52 54 20 25 75 2c 25 -R 00 00 01 00 -T 0b 00 00 00 75 2c 25 75 2c 25 75 2c 25 75 2c -R 00 00 01 00 -T 16 00 00 00 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/033a_0103_Mail_20box_20full_3.rel b/src/nos/lib/messages_lib/033a_0103_Mail_20box_20full_3.rel new file mode 100644 index 00000000..1867c871 --- /dev/null +++ b/src/nos/lib/messages_lib/033a_0103_Mail_20box_20full_3.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___033a_0103_Mail_20box_20full_3 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 4d 61 69 6c 20 62 6f 78 20 +R 00 00 01 00 +T 0b 00 00 00 66 75 6c 6c 3a 20 3e 20 25 64 20 +R 00 00 01 00 +T 16 00 00 00 6d 65 73 73 61 67 65 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/033a_b459_PPP_20tracing.rel b/src/nos/lib/messages_lib/033a_b459_PPP_20tracing.rel deleted file mode 100644 index 6c4d5695..00000000 --- a/src/nos/lib/messages_lib/033a_b459_PPP_20tracing.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___033a_b459_PPP_20tracing Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 50 50 50 20 74 72 61 63 69 -R 00 00 01 00 -T 0b 00 00 00 6e 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/033b_523a_Main_20commands_3a_.rel b/src/nos/lib/messages_lib/033b_523a_Main_20commands_3a_.rel new file mode 100644 index 00000000..e6fc69f2 --- /dev/null +++ b/src/nos/lib/messages_lib/033b_523a_Main_20commands_3a_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___033b_523a_Main_20commands_3a_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 4d 61 69 6e 20 63 6f 6d 6d +R 00 00 01 00 +T 0b 00 00 00 61 6e 64 73 3a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/033b_b660_PPP_3a_20len_20_253.rel b/src/nos/lib/messages_lib/033b_b660_PPP_3a_20len_20_253.rel deleted file mode 100644 index 8bd84a20..00000000 --- a/src/nos/lib/messages_lib/033b_b660_PPP_3a_20len_20_253.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___033b_b660_PPP_3a_20len_20_253 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 50 50 50 3a 20 6c 65 6e 20 -R 00 00 01 00 -T 0b 00 00 00 25 33 75 09 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/033c_8c73_Packet_20driver_20h.rel b/src/nos/lib/messages_lib/033c_8c73_Packet_20driver_20h.rel deleted file mode 100644 index 22a76a84..00000000 --- a/src/nos/lib/messages_lib/033c_8c73_Packet_20driver_20h.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2a flags 0 -S ___033c_8c73_Packet_20driver_20h Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 28 00 50 61 63 6b 65 74 20 64 72 -R 00 00 01 00 -T 0b 00 00 00 69 76 65 72 20 68 61 73 20 75 6e -R 00 00 01 00 -T 16 00 00 00 73 75 70 70 6f 72 74 65 64 20 63 -R 00 00 01 00 -T 21 00 00 00 6c 61 73 73 20 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/033c_dcca_Max_20attempts_20to.rel b/src/nos/lib/messages_lib/033c_dcca_Max_20attempts_20to.rel new file mode 100644 index 00000000..25e4f862 --- /dev/null +++ b/src/nos/lib/messages_lib/033c_dcca_Max_20attempts_20to.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___033c_dcca_Max_20attempts_20to Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 4d 61 78 20 61 74 74 65 6d +R 00 00 01 00 +T 0b 00 00 00 70 74 73 20 74 6f 20 72 65 61 63 +R 00 00 01 00 +T 16 00 00 00 68 20 68 6f 73 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/033d_0279_Max_20clients.rel b/src/nos/lib/messages_lib/033d_0279_Max_20clients.rel new file mode 100644 index 00000000..0ee05e8f --- /dev/null +++ b/src/nos/lib/messages_lib/033d_0279_Max_20clients.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___033d_0279_Max_20clients Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 4d 61 78 20 63 6c 69 65 6e +R 00 00 01 00 +T 0b 00 00 00 74 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/033d_d638_Pap_0a.rel b/src/nos/lib/messages_lib/033d_d638_Pap_0a.rel deleted file mode 100644 index a190d87e..00000000 --- a/src/nos/lib/messages_lib/033d_d638_Pap_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___033d_d638_Pap_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 50 61 70 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/033e_3cd5_Max_20frame_20lengt.rel b/src/nos/lib/messages_lib/033e_3cd5_Max_20frame_20lengt.rel new file mode 100644 index 00000000..11425618 --- /dev/null +++ b/src/nos/lib/messages_lib/033e_3cd5_Max_20frame_20lengt.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___033e_3cd5_Max_20frame_20lengt Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 4d 61 78 20 66 72 61 6d 65 +R 00 00 01 00 +T 0b 00 00 00 20 6c 65 6e 67 74 68 20 28 62 79 +R 00 00 01 00 +T 16 00 00 00 74 65 73 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/033e_8165_Parameter_20_25s_20.rel b/src/nos/lib/messages_lib/033e_8165_Parameter_20_25s_20.rel deleted file mode 100644 index d4621b07..00000000 --- a/src/nos/lib/messages_lib/033e_8165_Parameter_20_25s_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___033e_8165_Parameter_20_25s_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 50 61 72 61 6d 65 74 65 72 -R 00 00 01 00 -T 0b 00 00 00 20 25 73 20 6e 6f 74 20 73 75 70 -R 00 00 01 00 -T 16 00 00 00 70 6f 72 74 65 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/033f_85d2_Password_3a_20.rel b/src/nos/lib/messages_lib/033f_85d2_Password_3a_20.rel deleted file mode 100644 index 1a00038b..00000000 --- a/src/nos/lib/messages_lib/033f_85d2_Password_3a_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___033f_85d2_Password_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 50 61 73 73 77 6f 72 64 3a -R 00 00 01 00 -T 0b 00 00 00 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/033f_d96d_Maximum_20messages_.rel b/src/nos/lib/messages_lib/033f_d96d_Maximum_20messages_.rel new file mode 100644 index 00000000..9ecaef14 --- /dev/null +++ b/src/nos/lib/messages_lib/033f_d96d_Maximum_20messages_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___033f_d96d_Maximum_20messages_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 4d 61 78 69 6d 75 6d 20 6d +R 00 00 01 00 +T 0b 00 00 00 65 73 73 61 67 65 73 20 70 65 72 +R 00 00 01 00 +T 16 00 00 00 20 61 72 65 61 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0340_488d_Mbuf_20sizes_3a_0a.rel b/src/nos/lib/messages_lib/0340_488d_Mbuf_20sizes_3a_0a.rel new file mode 100644 index 00000000..23ac4f01 --- /dev/null +++ b/src/nos/lib/messages_lib/0340_488d_Mbuf_20sizes_3a_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0340_488d_Mbuf_20sizes_3a_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 4d 62 75 66 20 73 69 7a 65 +R 00 00 01 00 +T 0b 00 00 00 73 3a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0340_cb37_Password_3a_20_25c_.rel b/src/nos/lib/messages_lib/0340_cb37_Password_3a_20_25c_.rel deleted file mode 100644 index 552f9888..00000000 --- a/src/nos/lib/messages_lib/0340_cb37_Password_3a_20_25c_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___0340_cb37_Password_3a_20_25c_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 50 61 73 73 77 6f 72 64 3a -R 00 00 01 00 -T 0b 00 00 00 20 25 63 25 63 25 63 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0341_6310_Path_3a_20.rel b/src/nos/lib/messages_lib/0341_6310_Path_3a_20.rel deleted file mode 100644 index 6cd27fdf..00000000 --- a/src/nos/lib/messages_lib/0341_6310_Path_3a_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0341_6310_Path_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 50 61 74 68 3a 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0341_ee8f_Message_20_23_25d_2.rel b/src/nos/lib/messages_lib/0341_ee8f_Message_20_23_25d_2.rel new file mode 100644 index 00000000..9956d992 --- /dev/null +++ b/src/nos/lib/messages_lib/0341_ee8f_Message_20_23_25d_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0341_ee8f_Message_20_23_25d_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 4d 65 73 73 61 67 65 20 23 +R 00 00 01 00 +T 0b 00 00 00 25 64 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0342_b5f9_Mode_20_25s_20unkno.rel b/src/nos/lib/messages_lib/0342_b5f9_Mode_20_25s_20unkno.rel new file mode 100644 index 00000000..c839fd01 --- /dev/null +++ b/src/nos/lib/messages_lib/0342_b5f9_Mode_20_25s_20unkno.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___0342_b5f9_Mode_20_25s_20unkno Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 4d 6f 64 65 20 25 73 20 75 +R 00 00 01 00 +T 0b 00 00 00 6e 6b 6e 6f 77 6e 20 66 6f 72 20 +R 00 00 01 00 +T 16 00 00 00 45 53 43 43 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0342_f75b_Persistence_3a_20_2.rel b/src/nos/lib/messages_lib/0342_f75b_Persistence_3a_20_2.rel deleted file mode 100644 index a6d388e8..00000000 --- a/src/nos/lib/messages_lib/0342_f75b_Persistence_3a_20_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___0342_f75b_Persistence_3a_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 50 65 72 73 69 73 74 65 6e -R 00 00 01 00 -T 0b 00 00 00 63 65 3a 20 25 75 2f 32 35 36 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0343_7bc8_Pinging_20_25s_0a.rel b/src/nos/lib/messages_lib/0343_7bc8_Pinging_20_25s_0a.rel deleted file mode 100644 index c51fa0e4..00000000 --- a/src/nos/lib/messages_lib/0343_7bc8_Pinging_20_25s_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___0343_7bc8_Pinging_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 50 69 6e 67 69 6e 67 20 25 -R 00 00 01 00 -T 0b 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0343_aa15_Mode_20_25s_20unkno.rel b/src/nos/lib/messages_lib/0343_aa15_Mode_20_25s_20unkno.rel new file mode 100644 index 00000000..45d816cd --- /dev/null +++ b/src/nos/lib/messages_lib/0343_aa15_Mode_20_25s_20unkno.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___0343_aa15_Mode_20_25s_20unkno Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 4d 6f 64 65 20 25 73 20 75 +R 00 00 01 00 +T 0b 00 00 00 6e 6b 6e 6f 77 6e 20 66 6f 72 20 +R 00 00 01 00 +T 16 00 00 00 69 6e 74 65 72 66 61 63 65 20 25 +R 00 00 01 00 +T 21 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0344_94a5_Pinging_20resumed_0.rel b/src/nos/lib/messages_lib/0344_94a5_Pinging_20resumed_0.rel deleted file mode 100644 index 9a40253a..00000000 --- a/src/nos/lib/messages_lib/0344_94a5_Pinging_20resumed_0.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___0344_94a5_Pinging_20resumed_0 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 50 69 6e 67 69 6e 67 20 72 -R 00 00 01 00 -T 0b 00 00 00 65 73 75 6d 65 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0344_ac3e_Msg_20_25d_20Killed.rel b/src/nos/lib/messages_lib/0344_ac3e_Msg_20_25d_20Killed.rel new file mode 100644 index 00000000..ac92c9b7 --- /dev/null +++ b/src/nos/lib/messages_lib/0344_ac3e_Msg_20_25d_20Killed.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0344_ac3e_Msg_20_25d_20Killed Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 4d 73 67 20 25 64 20 4b 69 +R 00 00 01 00 +T 0b 00 00 00 6c 6c 65 64 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0345_7fa9_Pinging_20suspended.rel b/src/nos/lib/messages_lib/0345_7fa9_Pinging_20suspended.rel deleted file mode 100644 index 9495b506..00000000 --- a/src/nos/lib/messages_lib/0345_7fa9_Pinging_20suspended.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___0345_7fa9_Pinging_20suspended Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 50 69 6e 67 69 6e 67 20 73 -R 00 00 01 00 -T 0b 00 00 00 75 73 70 65 6e 64 65 64 2c 20 25 -R 00 00 01 00 -T 16 00 00 00 6c 75 20 73 65 6e 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0345_9a86_Must_20be_20_200_20.rel b/src/nos/lib/messages_lib/0345_9a86_Must_20be_20_200_20.rel new file mode 100644 index 00000000..fb1bc0fc --- /dev/null +++ b/src/nos/lib/messages_lib/0345_9a86_Must_20be_20_200_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0345_9a86_Must_20be_20_200_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 4d 75 73 74 20 62 65 20 20 +R 00 00 01 00 +T 0b 00 00 00 30 20 3c 20 78 20 3c 3d 20 25 64 +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0346_220f_Please_20hang_20up_.rel b/src/nos/lib/messages_lib/0346_220f_Please_20hang_20up_.rel deleted file mode 100644 index 82920b22..00000000 --- a/src/nos/lib/messages_lib/0346_220f_Please_20hang_20up_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___0346_220f_Please_20hang_20up_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 50 6c 65 61 73 65 20 68 61 -R 00 00 01 00 -T 0b 00 00 00 6e 67 20 75 70 20 6e 6f 77 2e 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0346_362b_Must_20be_20_200_20.rel b/src/nos/lib/messages_lib/0346_362b_Must_20be_20_200_20.rel new file mode 100644 index 00000000..1b57967e --- /dev/null +++ b/src/nos/lib/messages_lib/0346_362b_Must_20be_20_200_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___0346_362b_Must_20be_20_200_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 4d 75 73 74 20 62 65 20 20 +R 00 00 01 00 +T 0b 00 00 00 30 20 3c 20 78 20 3c 3d 20 32 35 +R 00 00 01 00 +T 16 00 00 00 35 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0347_2da0_Must_20be_20_3e_3d_.rel b/src/nos/lib/messages_lib/0347_2da0_Must_20be_20_3e_3d_.rel new file mode 100644 index 00000000..bbb8db5a --- /dev/null +++ b/src/nos/lib/messages_lib/0347_2da0_Must_20be_20_3e_3d_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___0347_2da0_Must_20be_20_3e_3d_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 4d 75 73 74 20 62 65 20 3e +R 00 00 01 00 +T 0b 00 00 00 3d 20 30 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0347_4304_Poll_20threshold_20.rel b/src/nos/lib/messages_lib/0347_4304_Poll_20threshold_20.rel deleted file mode 100644 index e3875e19..00000000 --- a/src/nos/lib/messages_lib/0347_4304_Poll_20threshold_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___0347_4304_Poll_20threshold_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 50 6f 6c 6c 20 74 68 72 65 -R 00 00 01 00 -T 0b 00 00 00 73 68 6f 6c 64 20 28 62 79 74 65 -R 00 00 01 00 -T 16 00 00 00 73 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0348_06a9_Must_20set_20_27r_2.rel b/src/nos/lib/messages_lib/0348_06a9_Must_20set_20_27r_2.rel new file mode 100644 index 00000000..28fd28c9 --- /dev/null +++ b/src/nos/lib/messages_lib/0348_06a9_Must_20set_20_27r_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___0348_06a9_Must_20set_20_27r_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 4d 75 73 74 20 73 65 74 20 +R 00 00 01 00 +T 0b 00 00 00 27 72 27 20 66 6c 61 67 20 61 74 +R 00 00 01 00 +T 16 00 00 00 20 61 74 74 61 63 68 20 74 69 6d +R 00 00 01 00 +T 21 00 00 00 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0348_f8a0_Pool_20count_20_25s.rel b/src/nos/lib/messages_lib/0348_f8a0_Pool_20count_20_25s.rel deleted file mode 100644 index 4ca4292b..00000000 --- a/src/nos/lib/messages_lib/0348_f8a0_Pool_20count_20_25s.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 -S ___0348_f8a0_Pool_20count_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 20 00 50 6f 6f 6c 20 63 6f 75 6e -R 00 00 01 00 -T 0b 00 00 00 74 20 25 73 20 28 25 64 29 20 6d -R 00 00 01 00 -T 16 00 00 00 75 73 74 20 62 65 20 3e 20 30 0a -R 00 00 01 00 -T 21 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0349_d814_N_3e_3d_255u_3a_257.rel b/src/nos/lib/messages_lib/0349_d814_N_3e_3d_255u_3a_257.rel new file mode 100644 index 00000000..7e5d9fb5 --- /dev/null +++ b/src/nos/lib/messages_lib/0349_d814_N_3e_3d_255u_3a_257.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 36 flags 0 +S ___0349_d814_N_3e_3d_255u_3a_257 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 34 00 4e 3e 3d 25 35 75 3a 25 37 +R 00 00 01 00 +T 0b 00 00 00 6c 64 7c 20 4e 3e 3d 25 35 75 3a +R 00 00 01 00 +T 16 00 00 00 25 37 6c 64 7c 20 4e 3e 3d 25 35 +R 00 00 01 00 +T 21 00 00 00 75 3a 25 37 6c 64 7c 20 4e 3e 3d +R 00 00 01 00 +T 2c 00 00 00 25 35 75 3a 25 37 6c 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0349_dd4d_Protocol_20Field_20.rel b/src/nos/lib/messages_lib/0349_dd4d_Protocol_20Field_20.rel deleted file mode 100644 index 368b3cd9..00000000 --- a/src/nos/lib/messages_lib/0349_dd4d_Protocol_20Field_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___0349_dd4d_Protocol_20Field_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 50 72 6f 74 6f 63 6f 6c 20 -R 00 00 01 00 -T 0b 00 00 00 46 69 65 6c 64 20 43 6f 6d 70 72 -R 00 00 01 00 -T 16 00 00 00 65 73 73 69 6f 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/034a_744a_QUIT_0a.rel b/src/nos/lib/messages_lib/034a_744a_QUIT_0a.rel deleted file mode 100644 index 1ae2147a..00000000 --- a/src/nos/lib/messages_lib/034a_744a_QUIT_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___034a_744a_QUIT_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 51 55 49 54 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/034a_7868_NET_2fROM_20Routing.rel b/src/nos/lib/messages_lib/034a_7868_NET_2fROM_20Routing.rel new file mode 100644 index 00000000..7fff73bf --- /dev/null +++ b/src/nos/lib/messages_lib/034a_7868_NET_2fROM_20Routing.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___034a_7868_NET_2fROM_20Routing Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 4e 45 54 2f 52 4f 4d 20 52 +R 00 00 01 00 +T 0b 00 00 00 6f 75 74 69 6e 67 3a 20 25 73 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/034b_43c0_Quality_20cannot_20.rel b/src/nos/lib/messages_lib/034b_43c0_Quality_20cannot_20.rel deleted file mode 100644 index 642366bf..00000000 --- a/src/nos/lib/messages_lib/034b_43c0_Quality_20cannot_20.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___034b_43c0_Quality_20cannot_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 51 75 61 6c 69 74 79 20 63 -R 00 00 01 00 -T 0b 00 00 00 61 6e 6e 6f 74 20 62 65 20 67 72 -R 00 00 01 00 -T 16 00 00 00 65 61 74 65 72 20 74 68 61 6e 20 -R 00 00 01 00 -T 21 00 00 00 32 35 35 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/034b_ae07_NET_2fROM_20not_20a.rel b/src/nos/lib/messages_lib/034b_ae07_NET_2fROM_20not_20a.rel new file mode 100644 index 00000000..25a17787 --- /dev/null +++ b/src/nos/lib/messages_lib/034b_ae07_NET_2fROM_20not_20a.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___034b_ae07_NET_2fROM_20not_20a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 4e 45 54 2f 52 4f 4d 20 6e +R 00 00 01 00 +T 0b 00 00 00 6f 74 20 61 63 74 69 76 61 74 65 +R 00 00 01 00 +T 16 00 00 00 64 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/034c_b523_Queue_20limit_20_28.rel b/src/nos/lib/messages_lib/034c_b523_Queue_20limit_20_28.rel deleted file mode 100644 index 2685966d..00000000 --- a/src/nos/lib/messages_lib/034c_b523_Queue_20limit_20_28.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___034c_b523_Queue_20limit_20_28 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 51 75 65 75 65 20 6c 69 6d -R 00 00 01 00 -T 0b 00 00 00 69 74 20 28 62 79 74 65 73 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/034c_d0e9_NET_2fROM_3a_20_25s.rel b/src/nos/lib/messages_lib/034c_d0e9_NET_2fROM_3a_20_25s.rel new file mode 100644 index 00000000..6f777061 --- /dev/null +++ b/src/nos/lib/messages_lib/034c_d0e9_NET_2fROM_3a_20_25s.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___034c_d0e9_NET_2fROM_3a_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 4e 45 54 2f 52 4f 4d 3a 20 +R 00 00 01 00 +T 0b 00 00 00 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/034d_4a0a_R_20numbers.rel b/src/nos/lib/messages_lib/034d_4a0a_R_20numbers.rel deleted file mode 100644 index c8448ff1..00000000 --- a/src/nos/lib/messages_lib/034d_4a0a_R_20numbers.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___034d_4a0a_R_20numbers Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 52 20 6e 75 6d 62 65 72 73 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/034d_73b0_NEWNEWS_20_25s_20_2.rel b/src/nos/lib/messages_lib/034d_73b0_NEWNEWS_20_25s_20_2.rel new file mode 100644 index 00000000..f93ddf62 --- /dev/null +++ b/src/nos/lib/messages_lib/034d_73b0_NEWNEWS_20_25s_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___034d_73b0_NEWNEWS_20_25s_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 4e 45 57 4e 45 57 53 20 25 +R 00 00 01 00 +T 0b 00 00 00 73 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/034e_c191_NNTP_20_25s_20Canno.rel b/src/nos/lib/messages_lib/034e_c191_NNTP_20_25s_20Canno.rel new file mode 100644 index 00000000..3f3fa995 --- /dev/null +++ b/src/nos/lib/messages_lib/034e_c191_NNTP_20_25s_20Canno.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___034e_c191_NNTP_20_25s_20Canno Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 4e 4e 54 50 20 25 73 20 43 +R 00 00 01 00 +T 0b 00 00 00 61 6e 6e 6f 74 20 63 72 65 61 74 +R 00 00 01 00 +T 16 00 00 00 65 20 74 65 6d 70 20 66 69 6c 65 +R 00 00 01 00 +T 21 00 00 00 20 27 25 73 27 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/034e_db0e_R_3a_25s_20_40_25s_.rel b/src/nos/lib/messages_lib/034e_db0e_R_3a_25s_20_40_25s_.rel deleted file mode 100644 index 63eeaaf3..00000000 --- a/src/nos/lib/messages_lib/034e_db0e_R_3a_25s_20_40_25s_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___034e_db0e_R_3a_25s_20_40_25s_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 52 3a 25 73 20 40 25 73 20 -R 00 00 01 00 -T 0b 00 00 00 25 73 20 28 25 73 29 0a 52 3a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/034f_373f_REQUEST.rel b/src/nos/lib/messages_lib/034f_373f_REQUEST.rel deleted file mode 100644 index 20dca343..00000000 --- a/src/nos/lib/messages_lib/034f_373f_REQUEST.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___034f_373f_REQUEST Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 52 45 51 55 45 53 54 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/034f_7ed2_NNTP_20_25s_20Canno.rel b/src/nos/lib/messages_lib/034f_7ed2_NNTP_20_25s_20Canno.rel new file mode 100644 index 00000000..2f92ab1d --- /dev/null +++ b/src/nos/lib/messages_lib/034f_7ed2_NNTP_20_25s_20Canno.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___034f_7ed2_NNTP_20_25s_20Canno Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 4e 4e 54 50 20 25 73 20 43 +R 00 00 01 00 +T 0b 00 00 00 61 6e 6e 6f 74 20 6f 70 65 6e 20 +R 00 00 01 00 +T 16 00 00 00 74 65 6d 70 20 66 69 6c 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0350_19a4_RESPONSE.rel b/src/nos/lib/messages_lib/0350_19a4_RESPONSE.rel deleted file mode 100644 index 66bea36f..00000000 --- a/src/nos/lib/messages_lib/0350_19a4_RESPONSE.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___0350_19a4_RESPONSE Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 52 45 53 50 4f 4e 53 45 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0350_bcd0_NNTP_20_25s_20Conne.rel b/src/nos/lib/messages_lib/0350_bcd0_NNTP_20_25s_20Conne.rel new file mode 100644 index 00000000..106fb0c4 --- /dev/null +++ b/src/nos/lib/messages_lib/0350_bcd0_NNTP_20_25s_20Conne.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___0350_bcd0_NNTP_20_25s_20Conne Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 4e 4e 54 50 20 25 73 20 43 +R 00 00 01 00 +T 0b 00 00 00 6f 6e 6e 65 63 74 20 66 61 69 6c +R 00 00 01 00 +T 16 00 00 00 65 64 3a 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0351_796b_NNTP_20_25s_20Conne.rel b/src/nos/lib/messages_lib/0351_796b_NNTP_20_25s_20Conne.rel new file mode 100644 index 00000000..3034aeca --- /dev/null +++ b/src/nos/lib/messages_lib/0351_796b_NNTP_20_25s_20Conne.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___0351_796b_NNTP_20_25s_20Conne Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 4e 4e 54 50 20 25 73 20 43 +R 00 00 01 00 +T 0b 00 00 00 6f 6e 6e 65 63 74 20 66 61 69 6c +R 00 00 01 00 +T 16 00 00 00 65 64 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0351_8b13_RETR_20_25s.rel b/src/nos/lib/messages_lib/0351_8b13_RETR_20_25s.rel deleted file mode 100644 index 268a9ca3..00000000 --- a/src/nos/lib/messages_lib/0351_8b13_RETR_20_25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0351_8b13_RETR_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 52 45 54 52 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0352_4193_NNTP_20_25s_20Conne.rel b/src/nos/lib/messages_lib/0352_4193_NNTP_20_25s_20Conne.rel new file mode 100644 index 00000000..10f8abdb --- /dev/null +++ b/src/nos/lib/messages_lib/0352_4193_NNTP_20_25s_20Conne.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 29 flags 0 +S ___0352_4193_NNTP_20_25s_20Conne Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 27 00 4e 4e 54 50 20 25 73 20 43 +R 00 00 01 00 +T 0b 00 00 00 6f 6e 6e 65 63 74 20 66 61 69 6c +R 00 00 01 00 +T 16 00 00 00 65 64 3a 20 43 61 6e 6e 6f 74 20 +R 00 00 01 00 +T 21 00 00 00 6f 70 65 6e 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0352_86e9_RETURN_0a.rel b/src/nos/lib/messages_lib/0352_86e9_RETURN_0a.rel deleted file mode 100644 index 024c174a..00000000 --- a/src/nos/lib/messages_lib/0352_86e9_RETURN_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0352_86e9_RETURN_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 52 45 54 55 52 4e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0353_0909_NNTP_20_25s_20Conne.rel b/src/nos/lib/messages_lib/0353_0909_NNTP_20_25s_20Conne.rel new file mode 100644 index 00000000..973dfb32 --- /dev/null +++ b/src/nos/lib/messages_lib/0353_0909_NNTP_20_25s_20Conne.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___0353_0909_NNTP_20_25s_20Conne Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 4e 4e 54 50 20 25 73 20 43 +R 00 00 01 00 +T 0b 00 00 00 6f 6e 6e 65 63 74 20 66 61 69 6c +R 00 00 01 00 +T 16 00 00 00 65 64 3a 20 43 61 6e 6e 6f 74 20 +R 00 00 01 00 +T 21 00 00 00 6f 70 65 6e 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0353_bbdb_RFrames_20_2d_20_25.rel b/src/nos/lib/messages_lib/0353_bbdb_RFrames_20_2d_20_25.rel deleted file mode 100644 index ef9fa7e3..00000000 --- a/src/nos/lib/messages_lib/0353_bbdb_RFrames_20_2d_20_25.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 32 flags 0 -S ___0353_bbdb_RFrames_20_2d_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 30 00 52 46 72 61 6d 65 73 20 2d -R 00 00 01 00 -T 0b 00 00 00 20 25 38 6c 64 20 20 52 78 6f 76 -R 00 00 01 00 -T 16 00 00 00 65 72 73 20 2d 20 25 38 6c 64 20 -R 00 00 01 00 -T 21 00 00 00 20 54 6f 6f 42 69 67 20 20 2d 20 -R 00 00 01 00 -T 2c 00 00 00 25 38 6c 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0354_3814_NNTP_20_25s_20Conne.rel b/src/nos/lib/messages_lib/0354_3814_NNTP_20_25s_20Conne.rel new file mode 100644 index 00000000..58440d32 --- /dev/null +++ b/src/nos/lib/messages_lib/0354_3814_NNTP_20_25s_20Conne.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 30 flags 0 +S ___0354_3814_NNTP_20_25s_20Conne Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2e 00 4e 4e 54 50 20 25 73 20 43 +R 00 00 01 00 +T 0b 00 00 00 6f 6e 6e 65 63 74 20 66 61 69 6c +R 00 00 01 00 +T 16 00 00 00 65 64 3a 20 63 61 6e 6e 6f 74 20 +R 00 00 01 00 +T 21 00 00 00 6c 6f 63 6b 20 6e 6e 74 70 2e 64 +R 00 00 01 00 +T 2c 00 00 00 61 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0354_f9d6_RIP_20merging.rel b/src/nos/lib/messages_lib/0354_f9d6_RIP_20merging.rel deleted file mode 100644 index a89bcf3a..00000000 --- a/src/nos/lib/messages_lib/0354_f9d6_RIP_20merging.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___0354_f9d6_RIP_20merging Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 52 49 50 20 6d 65 72 67 69 -R 00 00 01 00 -T 0b 00 00 00 6e 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0355_3211_RIP_20refused_20fro.rel b/src/nos/lib/messages_lib/0355_3211_RIP_20refused_20fro.rel deleted file mode 100644 index 1ee69a71..00000000 --- a/src/nos/lib/messages_lib/0355_3211_RIP_20refused_20fro.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___0355_3211_RIP_20refused_20fro Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 52 49 50 20 72 65 66 75 73 -R 00 00 01 00 -T 0b 00 00 00 65 64 20 66 72 6f 6d 20 25 73 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0355_b5ec_NNTP_20_25s_20Could.rel b/src/nos/lib/messages_lib/0355_b5ec_NNTP_20_25s_20Could.rel new file mode 100644 index 00000000..a632cf0f --- /dev/null +++ b/src/nos/lib/messages_lib/0355_b5ec_NNTP_20_25s_20Could.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2e flags 0 +S ___0355_b5ec_NNTP_20_25s_20Could Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2c 00 4e 4e 54 50 20 25 73 20 43 +R 00 00 01 00 +T 0b 00 00 00 6f 75 6c 64 20 6e 6f 74 20 6c 6f +R 00 00 01 00 +T 16 00 00 00 63 6b 20 6e 6e 74 70 2e 64 61 74 +R 00 00 01 00 +T 21 00 00 00 20 66 6f 72 20 75 70 64 61 74 65 +R 00 00 01 00 +T 2c 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0356_8531_NNTP_20_25s_20Could.rel b/src/nos/lib/messages_lib/0356_8531_NNTP_20_25s_20Could.rel new file mode 100644 index 00000000..c3ae2f74 --- /dev/null +++ b/src/nos/lib/messages_lib/0356_8531_NNTP_20_25s_20Could.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___0356_8531_NNTP_20_25s_20Could Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 4e 4e 54 50 20 25 73 20 43 +R 00 00 01 00 +T 0b 00 00 00 6f 75 6c 64 20 6e 6f 74 20 75 70 +R 00 00 01 00 +T 16 00 00 00 64 61 74 65 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0356_8827_RIP_20tracing.rel b/src/nos/lib/messages_lib/0356_8827_RIP_20tracing.rel deleted file mode 100644 index a44054d7..00000000 --- a/src/nos/lib/messages_lib/0356_8827_RIP_20tracing.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___0356_8827_RIP_20tracing Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 52 49 50 20 74 72 61 63 69 -R 00 00 01 00 -T 0b 00 00 00 6e 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0357_5585_RIP_3a_20.rel b/src/nos/lib/messages_lib/0357_5585_RIP_3a_20.rel deleted file mode 100644 index a5c9105e..00000000 --- a/src/nos/lib/messages_lib/0357_5585_RIP_3a_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0357_5585_RIP_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 52 49 50 3a 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0357_8fd5_NNTP_20_25s_20Could.rel b/src/nos/lib/messages_lib/0357_8fd5_NNTP_20_25s_20Could.rel new file mode 100644 index 00000000..b10306bc --- /dev/null +++ b/src/nos/lib/messages_lib/0357_8fd5_NNTP_20_25s_20Could.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___0357_8fd5_NNTP_20_25s_20Could Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 4e 4e 54 50 20 25 73 20 43 +R 00 00 01 00 +T 0b 00 00 00 6f 75 6c 64 20 6e 6f 74 20 75 70 +R 00 00 01 00 +T 16 00 00 00 64 61 74 65 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0358_0d83_NNTP_20_25s_20Givin.rel b/src/nos/lib/messages_lib/0358_0d83_NNTP_20_25s_20Givin.rel new file mode 100644 index 00000000..11c4e90f --- /dev/null +++ b/src/nos/lib/messages_lib/0358_0d83_NNTP_20_25s_20Givin.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2b flags 0 +S ___0358_0d83_NNTP_20_25s_20Givin Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 29 00 4e 4e 54 50 20 25 73 20 47 +R 00 00 01 00 +T 0b 00 00 00 69 76 69 6e 67 20 75 70 3a 20 63 +R 00 00 01 00 +T 16 00 00 00 6f 75 6c 64 20 6e 6f 74 20 67 65 +R 00 00 01 00 +T 21 00 00 00 74 20 61 72 74 69 63 6c 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0358_fd1d_RIP_3a_20sent_20_25.rel b/src/nos/lib/messages_lib/0358_fd1d_RIP_3a_20sent_20_25.rel deleted file mode 100644 index 3862b7b9..00000000 --- a/src/nos/lib/messages_lib/0358_fd1d_RIP_3a_20sent_20_25.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 41 flags 0 -S ___0358_fd1d_RIP_3a_20sent_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 3f 00 52 49 50 3a 20 73 65 6e 74 -R 00 00 01 00 -T 0b 00 00 00 20 25 6c 75 20 72 63 76 64 20 25 -R 00 00 01 00 -T 16 00 00 00 6c 75 20 72 65 71 73 74 20 25 6c -R 00 00 01 00 -T 21 00 00 00 75 20 72 65 73 70 20 25 6c 75 20 -R 00 00 01 00 -T 2c 00 00 00 75 6e 6b 20 25 6c 75 20 72 65 66 -R 00 00 01 00 -T 37 00 00 00 75 73 65 64 20 25 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0359_19c4_NNTP_20_25s_20Givin.rel b/src/nos/lib/messages_lib/0359_19c4_NNTP_20_25s_20Givin.rel new file mode 100644 index 00000000..82251913 --- /dev/null +++ b/src/nos/lib/messages_lib/0359_19c4_NNTP_20_25s_20Givin.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2c flags 0 +S ___0359_19c4_NNTP_20_25s_20Givin Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2a 00 4e 4e 54 50 20 25 73 20 47 +R 00 00 01 00 +T 0b 00 00 00 69 76 69 6e 67 20 75 70 3a 20 63 +R 00 00 01 00 +T 16 00 00 00 6f 75 6c 64 20 6e 6f 74 20 67 65 +R 00 00 01 00 +T 21 00 00 00 74 20 61 72 74 69 63 6c 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0359_6b7c_RIPCMD_3a_20Unknown.rel b/src/nos/lib/messages_lib/0359_6b7c_RIPCMD_3a_20Unknown.rel deleted file mode 100644 index 4080edcb..00000000 --- a/src/nos/lib/messages_lib/0359_6b7c_RIPCMD_3a_20Unknown.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___0359_6b7c_RIPCMD_3a_20Unknown Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 52 49 50 43 4d 44 3a 20 55 -R 00 00 01 00 -T 0b 00 00 00 6e 6b 6e 6f 77 6e 20 54 79 70 65 -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/035a_213a_NNTP_20_25s_20bad_2.rel b/src/nos/lib/messages_lib/035a_213a_NNTP_20_25s_20bad_2.rel new file mode 100644 index 00000000..0c2e44ea --- /dev/null +++ b/src/nos/lib/messages_lib/035a_213a_NNTP_20_25s_20bad_2.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 30 flags 0 +S ___035a_213a_NNTP_20_25s_20bad_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2e 00 4e 4e 54 50 20 25 73 20 62 +R 00 00 01 00 +T 0b 00 00 00 61 64 20 72 65 70 6c 79 20 6f 6e +R 00 00 01 00 +T 16 00 00 00 20 62 61 6e 6e 65 72 20 28 72 65 +R 00 00 01 00 +T 21 00 00 00 73 70 6f 6e 73 65 20 77 61 73 20 +R 00 00 01 00 +T 2c 00 00 00 25 64 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/035a_5f5f_RIPCMD_5fREQUEST_0a.rel b/src/nos/lib/messages_lib/035a_5f5f_RIPCMD_5fREQUEST_0a.rel deleted file mode 100644 index b0ba8d83..00000000 --- a/src/nos/lib/messages_lib/035a_5f5f_RIPCMD_5fREQUEST_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___035a_5f5f_RIPCMD_5fREQUEST_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 52 49 50 43 4d 44 5f 52 45 -R 00 00 01 00 -T 0b 00 00 00 51 55 45 53 54 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/035b_07f6_RIPCMD_5fRESPONSE_2.rel b/src/nos/lib/messages_lib/035b_07f6_RIPCMD_5fRESPONSE_2.rel deleted file mode 100644 index 43f4da0d..00000000 --- a/src/nos/lib/messages_lib/035b_07f6_RIPCMD_5fRESPONSE_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___035b_07f6_RIPCMD_5fRESPONSE_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 52 49 50 43 4d 44 5f 52 45 -R 00 00 01 00 -T 0b 00 00 00 53 50 4f 4e 53 45 20 66 72 6f 6d -R 00 00 01 00 -T 16 00 00 00 20 25 73 20 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/035b_31a2_NNTP_20_25s_20bad_2.rel b/src/nos/lib/messages_lib/035b_31a2_NNTP_20_25s_20bad_2.rel new file mode 100644 index 00000000..d662b061 --- /dev/null +++ b/src/nos/lib/messages_lib/035b_31a2_NNTP_20_25s_20bad_2.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 31 flags 0 +S ___035b_31a2_NNTP_20_25s_20bad_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2f 00 4e 4e 54 50 20 25 73 20 62 +R 00 00 01 00 +T 0b 00 00 00 61 64 20 72 65 70 6c 79 20 6f 6e +R 00 00 01 00 +T 16 00 00 00 20 62 61 6e 6e 65 72 20 28 72 65 +R 00 00 01 00 +T 21 00 00 00 73 70 6f 6e 73 65 20 77 61 73 20 +R 00 00 01 00 +T 2c 00 00 00 25 64 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/035c_df3f_NNTP_20_25s_20givin.rel b/src/nos/lib/messages_lib/035c_df3f_NNTP_20_25s_20givin.rel new file mode 100644 index 00000000..2c6a651a --- /dev/null +++ b/src/nos/lib/messages_lib/035c_df3f_NNTP_20_25s_20givin.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 31 flags 0 +S ___035c_df3f_NNTP_20_25s_20givin Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2f 00 4e 4e 54 50 20 25 73 20 67 +R 00 00 01 00 +T 0b 00 00 00 69 76 69 6e 67 20 75 70 3a 20 63 +R 00 00 01 00 +T 16 00 00 00 6f 75 6c 64 6e 27 74 20 6c 6f 63 +R 00 00 01 00 +T 21 00 00 00 6b 20 68 69 73 74 6f 72 79 20 66 +R 00 00 01 00 +T 2c 00 00 00 69 6c 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/035c_eb71_RIP_5frx_3a_20Not_2.rel b/src/nos/lib/messages_lib/035c_eb71_RIP_5frx_3a_20Not_2.rel deleted file mode 100644 index 13607ca6..00000000 --- a/src/nos/lib/messages_lib/035c_eb71_RIP_5frx_3a_20Not_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 -S ___035c_eb71_RIP_5frx_3a_20Not_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 20 00 52 49 50 5f 72 78 3a 20 4e -R 00 00 01 00 -T 0b 00 00 00 6f 74 20 61 6e 20 49 50 20 52 49 -R 00 00 01 00 -T 16 00 00 00 50 20 70 61 63 6b 65 74 20 21 0a -R 00 00 01 00 -T 21 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/035d_791c_NNTP_20_25s_20givin.rel b/src/nos/lib/messages_lib/035d_791c_NNTP_20_25s_20givin.rel new file mode 100644 index 00000000..b5e1263c --- /dev/null +++ b/src/nos/lib/messages_lib/035d_791c_NNTP_20_25s_20givin.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___035d_791c_NNTP_20_25s_20givin Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 4e 4e 54 50 20 25 73 20 67 +R 00 00 01 00 +T 0b 00 00 00 69 76 69 6e 67 20 75 70 3a 20 67 +R 00 00 01 00 +T 16 00 00 00 65 74 74 78 74 28 29 20 66 61 69 +R 00 00 01 00 +T 21 00 00 00 6c 75 72 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/035d_86e6_RMD_20_25s.rel b/src/nos/lib/messages_lib/035d_86e6_RMD_20_25s.rel deleted file mode 100644 index 96a5b357..00000000 --- a/src/nos/lib/messages_lib/035d_86e6_RMD_20_25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___035d_86e6_RMD_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 52 4d 44 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/035e_75ce_NNTP_20_25s_20givin.rel b/src/nos/lib/messages_lib/035e_75ce_NNTP_20_25s_20givin.rel new file mode 100644 index 00000000..13e35ffb --- /dev/null +++ b/src/nos/lib/messages_lib/035e_75ce_NNTP_20_25s_20givin.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 27 flags 0 +S ___035e_75ce_NNTP_20_25s_20givin Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 25 00 4e 4e 54 50 20 25 73 20 67 +R 00 00 01 00 +T 0b 00 00 00 69 76 69 6e 67 20 75 70 3a 20 67 +R 00 00 01 00 +T 16 00 00 00 65 74 74 78 74 28 29 20 66 61 69 +R 00 00 01 00 +T 21 00 00 00 6c 75 72 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/035e_8005_Range_20for_20inter.rel b/src/nos/lib/messages_lib/035e_8005_Range_20for_20inter.rel deleted file mode 100644 index 87a240df..00000000 --- a/src/nos/lib/messages_lib/035e_8005_Range_20for_20inter.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 27 flags 0 -S ___035e_8005_Range_20for_20inter Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 25 00 52 61 6e 67 65 20 66 6f 72 -R 00 00 01 00 -T 0b 00 00 00 20 69 6e 74 65 72 66 61 63 65 20 -R 00 00 01 00 -T 16 00 00 00 27 25 73 27 20 6e 6f 74 20 66 6f -R 00 00 01 00 -T 21 00 00 00 75 6e 64 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/035f_1ee5_Reassembly_20fragme.rel b/src/nos/lib/messages_lib/035f_1ee5_Reassembly_20fragme.rel deleted file mode 100644 index c6718cbe..00000000 --- a/src/nos/lib/messages_lib/035f_1ee5_Reassembly_20fragme.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___035f_1ee5_Reassembly_20fragme Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 52 65 61 73 73 65 6d 62 6c -R 00 00 01 00 -T 0b 00 00 00 79 20 66 72 61 67 6d 65 6e 74 73 -R 00 00 01 00 -T 16 00 00 00 3a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/035f_7eb6_NNTP_20_25s_20proto.rel b/src/nos/lib/messages_lib/035f_7eb6_NNTP_20_25s_20proto.rel new file mode 100644 index 00000000..3e2f905f --- /dev/null +++ b/src/nos/lib/messages_lib/035f_7eb6_NNTP_20_25s_20proto.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2b flags 0 +S ___035f_7eb6_NNTP_20_25s_20proto Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 29 00 4e 4e 54 50 20 25 73 20 70 +R 00 00 01 00 +T 0b 00 00 00 72 6f 74 6f 63 6f 6c 20 65 72 72 +R 00 00 01 00 +T 16 00 00 00 6f 72 20 28 72 65 73 70 6f 6e 73 +R 00 00 01 00 +T 21 00 00 00 65 20 77 61 73 20 25 64 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0360_7f99_NNTP_20_25s_20proto.rel b/src/nos/lib/messages_lib/0360_7f99_NNTP_20_25s_20proto.rel new file mode 100644 index 00000000..231cff25 --- /dev/null +++ b/src/nos/lib/messages_lib/0360_7f99_NNTP_20_25s_20proto.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2c flags 0 +S ___0360_7f99_NNTP_20_25s_20proto Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2a 00 4e 4e 54 50 20 25 73 20 70 +R 00 00 01 00 +T 0b 00 00 00 72 6f 74 6f 63 6f 6c 20 65 72 72 +R 00 00 01 00 +T 16 00 00 00 6f 72 20 28 72 65 73 70 6f 6e 73 +R 00 00 01 00 +T 21 00 00 00 65 20 77 61 73 20 25 64 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0360_fbe9_Reassembly_20queue_.rel b/src/nos/lib/messages_lib/0360_fbe9_Reassembly_20queue_.rel deleted file mode 100644 index abb76d75..00000000 --- a/src/nos/lib/messages_lib/0360_fbe9_Reassembly_20queue_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___0360_fbe9_Reassembly_20queue_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 52 65 61 73 73 65 6d 62 6c -R 00 00 01 00 -T 0b 00 00 00 79 20 71 75 65 75 65 3a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0361_5eb3_Received_3a_20.rel b/src/nos/lib/messages_lib/0361_5eb3_Received_3a_20.rel deleted file mode 100644 index 9c561e3a..00000000 --- a/src/nos/lib/messages_lib/0361_5eb3_Received_3a_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___0361_5eb3_Received_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 52 65 63 65 69 76 65 64 3a -R 00 00 01 00 -T 0b 00 00 00 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0361_a517_NNTP_20Cannot_20ope.rel b/src/nos/lib/messages_lib/0361_a517_NNTP_20Cannot_20ope.rel new file mode 100644 index 00000000..d3ba95fb --- /dev/null +++ b/src/nos/lib/messages_lib/0361_a517_NNTP_20Cannot_20ope.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___0361_a517_NNTP_20Cannot_20ope Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 4e 4e 54 50 20 43 61 6e 6e +R 00 00 01 00 +T 0b 00 00 00 6f 74 20 6f 70 65 6e 20 74 65 6d +R 00 00 01 00 +T 16 00 00 00 70 20 66 69 6c 65 20 66 6f 72 20 +R 00 00 01 00 +T 21 00 00 00 61 72 74 69 63 6c 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0362_9fbc_Recording_20into_20.rel b/src/nos/lib/messages_lib/0362_9fbc_Recording_20into_20.rel deleted file mode 100644 index cf2528f3..00000000 --- a/src/nos/lib/messages_lib/0362_9fbc_Recording_20into_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___0362_9fbc_Recording_20into_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 52 65 63 6f 72 64 69 6e 67 -R 00 00 01 00 -T 0b 00 00 00 20 69 6e 74 6f 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0362_fc8f_NNTP_20can_27t_20re.rel b/src/nos/lib/messages_lib/0362_fc8f_NNTP_20can_27t_20re.rel new file mode 100644 index 00000000..239e4ea4 --- /dev/null +++ b/src/nos/lib/messages_lib/0362_fc8f_NNTP_20can_27t_20re.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___0362_fc8f_NNTP_20can_27t_20re Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 4e 4e 54 50 20 63 61 6e 27 +R 00 00 01 00 +T 0b 00 00 00 74 20 72 65 73 6f 6c 76 65 20 68 +R 00 00 01 00 +T 16 00 00 00 6f 73 74 20 27 25 73 27 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0363_2c2a_NNTP_20daemon_20ent.rel b/src/nos/lib/messages_lib/0363_2c2a_NNTP_20daemon_20ent.rel new file mode 100644 index 00000000..5994faf0 --- /dev/null +++ b/src/nos/lib/messages_lib/0363_2c2a_NNTP_20daemon_20ent.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___0363_2c2a_NNTP_20daemon_20ent Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 4e 4e 54 50 20 64 61 65 6d +R 00 00 01 00 +T 0b 00 00 00 6f 6e 20 65 6e 74 65 72 65 64 2c +R 00 00 01 00 +T 16 00 00 00 20 74 61 72 67 65 74 20 3d 20 25 +R 00 00 01 00 +T 21 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0363_aa80_Recording_20off_0a.rel b/src/nos/lib/messages_lib/0363_aa80_Recording_20off_0a.rel deleted file mode 100644 index 49553faa..00000000 --- a/src/nos/lib/messages_lib/0363_aa80_Recording_20off_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___0363_aa80_Recording_20off_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 52 65 63 6f 72 64 69 6e 67 -R 00 00 01 00 -T 0b 00 00 00 20 6f 66 66 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0364_2a15_Recv_3a_20_20_20_20.rel b/src/nos/lib/messages_lib/0364_2a15_Recv_3a_20_20_20_20.rel deleted file mode 100644 index b1f2e41e..00000000 --- a/src/nos/lib/messages_lib/0364_2a15_Recv_3a_20_20_20_20.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3e flags 0 -S ___0364_2a15_Recv_3a_20_20_20_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 3c 00 52 65 63 76 3a 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 20 20 20 20 20 20 25 30 38 6c 78 -R 00 00 01 00 -T 16 00 00 00 25 37 6c 75 20 20 20 20 20 20 20 -R 00 00 01 00 -T 21 00 00 00 20 20 20 20 20 25 36 6c 75 20 20 -R 00 00 01 00 -T 2c 00 00 00 20 20 20 25 36 6c 75 25 39 6c 75 -R 00 00 01 00 -T 37 00 00 00 25 31 31 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0364_f2a9_NNTP_20daemon_20exi.rel b/src/nos/lib/messages_lib/0364_f2a9_NNTP_20daemon_20exi.rel new file mode 100644 index 00000000..645c7806 --- /dev/null +++ b/src/nos/lib/messages_lib/0364_f2a9_NNTP_20daemon_20exi.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___0364_f2a9_NNTP_20daemon_20exi Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 4e 4e 54 50 20 64 61 65 6d +R 00 00 01 00 +T 0b 00 00 00 6f 6e 20 65 78 69 74 69 6e 67 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0365_cbc7_NNTP_20daemon_20qui.rel b/src/nos/lib/messages_lib/0365_cbc7_NNTP_20daemon_20qui.rel new file mode 100644 index 00000000..d8cac05a --- /dev/null +++ b/src/nos/lib/messages_lib/0365_cbc7_NNTP_20daemon_20qui.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___0365_cbc7_NNTP_20daemon_20qui Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 4e 4e 54 50 20 64 61 65 6d +R 00 00 01 00 +T 0b 00 00 00 6f 6e 20 71 75 69 74 20 2d 2d 20 +R 00 00 01 00 +T 16 00 00 00 6c 6f 77 20 6d 65 6d 6f 72 79 0a +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0365_d0ff_Refuse_0a.rel b/src/nos/lib/messages_lib/0365_d0ff_Refuse_0a.rel deleted file mode 100644 index 3bee98b2..00000000 --- a/src/nos/lib/messages_lib/0365_d0ff_Refuse_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0365_d0ff_Refuse_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 52 65 66 75 73 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0366_0fa8_NNTP_20group_20_27_.rel b/src/nos/lib/messages_lib/0366_0fa8_NNTP_20group_20_27_.rel new file mode 100644 index 00000000..c16b4c4f --- /dev/null +++ b/src/nos/lib/messages_lib/0366_0fa8_NNTP_20group_20_27_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___0366_0fa8_NNTP_20group_20_27_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 4e 4e 54 50 20 67 72 6f 75 +R 00 00 01 00 +T 0b 00 00 00 70 20 27 25 73 27 20 69 73 20 6c +R 00 00 01 00 +T 16 00 00 00 6f 63 6b 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0366_42c0_Refusing_20announce.rel b/src/nos/lib/messages_lib/0366_42c0_Refusing_20announce.rel deleted file mode 100644 index ee933113..00000000 --- a/src/nos/lib/messages_lib/0366_42c0_Refusing_20announce.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 29 flags 0 -S ___0366_42c0_Refusing_20announce Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 27 00 52 65 66 75 73 69 6e 67 20 -R 00 00 01 00 -T 0b 00 00 00 61 6e 6e 6f 75 6e 63 65 6d 65 6e -R 00 00 01 00 -T 16 00 00 00 74 73 20 66 72 6f 6d 20 67 61 74 -R 00 00 01 00 -T 21 00 00 00 65 77 61 79 73 3a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0367_0e76_NNTP_20receive_20er.rel b/src/nos/lib/messages_lib/0367_0e76_NNTP_20receive_20er.rel new file mode 100644 index 00000000..48d0c3f9 --- /dev/null +++ b/src/nos/lib/messages_lib/0367_0e76_NNTP_20receive_20er.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___0367_0e76_NNTP_20receive_20er Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 4e 4e 54 50 20 72 65 63 65 +R 00 00 01 00 +T 0b 00 00 00 69 76 65 20 65 72 72 6f 72 20 61 +R 00 00 01 00 +T 16 00 00 00 66 74 65 72 20 25 64 20 6c 69 6e +R 00 00 01 00 +T 21 00 00 00 65 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0367_6bd1_Requesting_2e_2e_2e.rel b/src/nos/lib/messages_lib/0367_6bd1_Requesting_2e_2e_2e.rel deleted file mode 100644 index 4df742b9..00000000 --- a/src/nos/lib/messages_lib/0367_6bd1_Requesting_2e_2e_2e.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___0367_6bd1_Requesting_2e_2e_2e Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 52 65 71 75 65 73 74 69 6e -R 00 00 01 00 -T 0b 00 00 00 67 2e 2e 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0368_4784_Resolver_20_25s_20u.rel b/src/nos/lib/messages_lib/0368_4784_Resolver_20_25s_20u.rel deleted file mode 100644 index 8958030c..00000000 --- a/src/nos/lib/messages_lib/0368_4784_Resolver_20_25s_20u.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___0368_4784_Resolver_20_25s_20u Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 52 65 73 6f 6c 76 65 72 20 -R 00 00 01 00 -T 0b 00 00 00 25 73 20 75 6e 6b 6e 6f 77 6e 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0368_a47f_NNTP_20received_20_.rel b/src/nos/lib/messages_lib/0368_a47f_NNTP_20received_20_.rel new file mode 100644 index 00000000..a8188b8b --- /dev/null +++ b/src/nos/lib/messages_lib/0368_a47f_NNTP_20received_20_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___0368_a47f_NNTP_20received_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 4e 4e 54 50 20 72 65 63 65 +R 00 00 01 00 +T 0b 00 00 00 69 76 65 64 20 25 64 20 6c 69 6e +R 00 00 01 00 +T 16 00 00 00 65 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0369_0916_NNTP_20tracing.rel b/src/nos/lib/messages_lib/0369_0916_NNTP_20tracing.rel new file mode 100644 index 00000000..9edab22b --- /dev/null +++ b/src/nos/lib/messages_lib/0369_0916_NNTP_20tracing.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0369_0916_NNTP_20tracing Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 4e 4e 54 50 20 74 72 61 63 +R 00 00 01 00 +T 0b 00 00 00 69 6e 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0369_ae52_Resolving_20_25s_2e.rel b/src/nos/lib/messages_lib/0369_ae52_Resolving_20_25s_2e.rel deleted file mode 100644 index 04646af1..00000000 --- a/src/nos/lib/messages_lib/0369_ae52_Resolving_20_25s_2e.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___0369_ae52_Resolving_20_25s_2e Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 52 65 73 6f 6c 76 69 6e 67 -R 00 00 01 00 -T 0b 00 00 00 20 25 73 2e 2e 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/036a_200a_Resolving_20_25s_2e.rel b/src/nos/lib/messages_lib/036a_200a_Resolving_20_25s_2e.rel deleted file mode 100644 index a5c59fcf..00000000 --- a/src/nos/lib/messages_lib/036a_200a_Resolving_20_25s_2e.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___036a_200a_Resolving_20_25s_2e Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 52 65 73 6f 6c 76 69 6e 67 -R 00 00 01 00 -T 0b 00 00 00 20 25 73 2e 2e 2e 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/036a_b065_NNTP_20window_20to_.rel b/src/nos/lib/messages_lib/036a_b065_NNTP_20window_20to_.rel new file mode 100644 index 00000000..1ce0e691 --- /dev/null +++ b/src/nos/lib/messages_lib/036a_b065_NNTP_20window_20to_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___036a_b065_NNTP_20window_20to_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 4e 4e 54 50 20 77 69 6e 64 +R 00 00 01 00 +T 0b 00 00 00 6f 77 20 74 6f 20 27 25 73 27 20 +R 00 00 01 00 +T 16 00 00 00 6e 6f 74 20 6f 70 65 6e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/036b_852e_NO_20_2d_20.rel b/src/nos/lib/messages_lib/036b_852e_NO_20_2d_20.rel new file mode 100644 index 00000000..636c48d1 --- /dev/null +++ b/src/nos/lib/messages_lib/036b_852e_NO_20_2d_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___036b_852e_NO_20_2d_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 4e 4f 20 2d 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/036b_cacc_Retry_20limit.rel b/src/nos/lib/messages_lib/036b_cacc_Retry_20limit.rel deleted file mode 100644 index 8e5edcba..00000000 --- a/src/nos/lib/messages_lib/036b_cacc_Retry_20limit.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___036b_cacc_Retry_20limit Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 52 65 74 72 79 20 6c 69 6d -R 00 00 01 00 -T 0b 00 00 00 69 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/036c_0cd3_Returned_20.rel b/src/nos/lib/messages_lib/036c_0cd3_Returned_20.rel deleted file mode 100644 index 4909f386..00000000 --- a/src/nos/lib/messages_lib/036c_0cd3_Returned_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___036c_0cd3_Returned_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 52 65 74 75 72 6e 65 64 20 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/036c_e182_NO_20_2d_20bad_20ad.rel b/src/nos/lib/messages_lib/036c_e182_NO_20_2d_20bad_20ad.rel new file mode 100644 index 00000000..4d376d43 --- /dev/null +++ b/src/nos/lib/messages_lib/036c_e182_NO_20_2d_20bad_20ad.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___036c_e182_NO_20_2d_20bad_20ad Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 4e 4f 20 2d 20 62 61 64 20 +R 00 00 01 00 +T 0b 00 00 00 61 64 64 72 65 73 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/036d_7ccb_NO_20_2d_20syntax_2.rel b/src/nos/lib/messages_lib/036d_7ccb_NO_20_2d_20syntax_2.rel new file mode 100644 index 00000000..c2d2e3c7 --- /dev/null +++ b/src/nos/lib/messages_lib/036d_7ccb_NO_20_2d_20syntax_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___036d_7ccb_NO_20_2d_20syntax_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 4e 4f 20 2d 20 73 79 6e 74 +R 00 00 01 00 +T 0b 00 00 00 61 78 20 65 72 72 6f 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/036d_85af_Route_20add_20faile.rel b/src/nos/lib/messages_lib/036d_85af_Route_20add_20faile.rel deleted file mode 100644 index 0a7b654a..00000000 --- a/src/nos/lib/messages_lib/036d_85af_Route_20add_20faile.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___036d_85af_Route_20add_20faile Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 52 6f 75 74 65 20 61 64 64 -R 00 00 01 00 -T 0b 00 00 00 20 66 61 69 6c 65 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/036e_2df6_NOS_20log_20closed.rel b/src/nos/lib/messages_lib/036e_2df6_NOS_20log_20closed.rel new file mode 100644 index 00000000..d924fd0b --- /dev/null +++ b/src/nos/lib/messages_lib/036e_2df6_NOS_20log_20closed.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___036e_2df6_NOS_20log_20closed Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 4e 4f 53 20 6c 6f 67 20 63 +R 00 00 01 00 +T 0b 00 00 00 6c 6f 73 65 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/036e_9b70_Routing_20lookups_3.rel b/src/nos/lib/messages_lib/036e_9b70_Routing_20lookups_3.rel deleted file mode 100644 index e60d1707..00000000 --- a/src/nos/lib/messages_lib/036e_9b70_Routing_20lookups_3.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 30 flags 0 -S ___036e_9b70_Routing_20lookups_3 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2e 00 52 6f 75 74 69 6e 67 20 6c -R 00 00 01 00 -T 0b 00 00 00 6f 6f 6b 75 70 73 3a 20 25 6c 75 -R 00 00 01 00 -T 16 00 00 00 2c 20 63 61 63 68 65 20 68 69 74 -R 00 00 01 00 -T 21 00 00 00 73 20 25 6c 75 20 28 25 6c 75 25 -R 00 00 01 00 -T 2c 00 00 00 25 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/036f_9c01_Rxints_20_20_2d_20_.rel b/src/nos/lib/messages_lib/036f_9c01_Rxints_20_20_2d_20_.rel deleted file mode 100644 index 92f127f0..00000000 --- a/src/nos/lib/messages_lib/036f_9c01_Rxints_20_20_2d_20_.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 32 flags 0 -S ___036f_9c01_Rxints_20_20_2d_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 30 00 52 78 69 6e 74 73 20 20 2d -R 00 00 01 00 -T 0b 00 00 00 20 25 38 6c 64 20 20 54 78 69 6e -R 00 00 01 00 -T 16 00 00 00 74 73 20 20 2d 20 25 38 6c 64 20 -R 00 00 01 00 -T 21 00 00 00 20 45 78 69 6e 74 73 20 20 2d 20 -R 00 00 01 00 -T 2c 00 00 00 25 38 6c 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/036f_e1c8_NOS_20was_20started.rel b/src/nos/lib/messages_lib/036f_e1c8_NOS_20was_20started.rel new file mode 100644 index 00000000..71dc744f --- /dev/null +++ b/src/nos/lib/messages_lib/036f_e1c8_NOS_20was_20started.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___036f_e1c8_NOS_20was_20started Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 4e 4f 53 20 77 61 73 20 73 +R 00 00 01 00 +T 0b 00 00 00 74 61 72 74 65 64 20 61 74 20 25 +R 00 00 01 00 +T 16 00 00 00 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0370_ccf6_S_20_20_20_20_20Job.rel b/src/nos/lib/messages_lib/0370_ccf6_S_20_20_20_20_20Job.rel deleted file mode 100644 index 9baf4958..00000000 --- a/src/nos/lib/messages_lib/0370_ccf6_S_20_20_20_20_20Job.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3b flags 0 -S ___0370_ccf6_S_20_20_20_20_20Job Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 39 00 53 20 20 20 20 20 4a 6f 62 -R 00 00 01 00 -T 0b 00 00 00 20 20 20 20 53 69 7a 65 20 44 61 -R 00 00 01 00 -T 16 00 00 00 74 65 20 20 54 69 6d 65 20 20 48 -R 00 00 01 00 -T 21 00 00 00 6f 73 74 20 20 20 20 20 20 20 20 -R 00 00 01 00 -T 2c 00 00 00 20 20 20 20 20 20 20 20 20 46 72 -R 00 00 01 00 -T 37 00 00 00 6f 6d 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0370_cfbe_NOS_20was_20stopped.rel b/src/nos/lib/messages_lib/0370_cfbe_NOS_20was_20stopped.rel new file mode 100644 index 00000000..c2c4899f --- /dev/null +++ b/src/nos/lib/messages_lib/0370_cfbe_NOS_20was_20stopped.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0370_cfbe_NOS_20was_20stopped Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 4e 4f 53 20 77 61 73 20 73 +R 00 00 01 00 +T 0b 00 00 00 74 6f 70 70 65 64 20 61 74 20 25 +R 00 00 01 00 +T 16 00 00 00 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0371_998c_NULL_20BUFFER_0a.rel b/src/nos/lib/messages_lib/0371_998c_NULL_20BUFFER_0a.rel new file mode 100644 index 00000000..69f7ed47 --- /dev/null +++ b/src/nos/lib/messages_lib/0371_998c_NULL_20BUFFER_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0371_998c_NULL_20BUFFER_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 4e 55 4c 4c 20 42 55 46 46 +R 00 00 01 00 +T 0b 00 00 00 45 52 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0371_df6d_S_20command_20synta.rel b/src/nos/lib/messages_lib/0371_df6d_S_20command_20synta.rel deleted file mode 100644 index 8ef02118..00000000 --- a/src/nos/lib/messages_lib/0371_df6d_S_20command_20synta.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 27 flags 0 -S ___0371_df6d_S_20command_20synta Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 25 00 53 20 63 6f 6d 6d 61 6e 64 -R 00 00 01 00 -T 0b 00 00 00 20 73 79 6e 74 61 78 20 65 72 72 -R 00 00 01 00 -T 16 00 00 00 6f 72 20 2d 20 66 6f 72 6d 61 74 -R 00 00 01 00 -T 21 00 00 00 20 69 73 3a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0372_4fbb_S_23_20_20_20Type_2.rel b/src/nos/lib/messages_lib/0372_4fbb_S_23_20_20_20Type_2.rel deleted file mode 100644 index 0a42edea..00000000 --- a/src/nos/lib/messages_lib/0372_4fbb_S_23_20_20_20Type_2.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 36 flags 0 -S ___0372_4fbb_S_23_20_20_20Type_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 34 00 53 23 20 20 20 54 79 70 65 -R 00 00 01 00 -T 0b 00 00 00 20 20 20 20 50 43 42 20 20 20 20 -R 00 00 01 00 -T 16 00 00 00 20 20 20 52 65 6d 6f 74 65 20 73 -R 00 00 01 00 -T 21 00 00 00 6f 63 6b 65 74 20 20 20 20 20 20 -R 00 00 01 00 -T 2c 00 00 00 20 20 20 4f 77 6e 65 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0372_f664_NULL_20username_20o.rel b/src/nos/lib/messages_lib/0372_f664_NULL_20username_20o.rel new file mode 100644 index 00000000..dd01069e --- /dev/null +++ b/src/nos/lib/messages_lib/0372_f664_NULL_20username_20o.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___0372_f664_NULL_20username_20o Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 4e 55 4c 4c 20 75 73 65 72 +R 00 00 01 00 +T 0b 00 00 00 6e 61 6d 65 20 6f 72 20 70 61 73 +R 00 00 01 00 +T 16 00 00 00 73 77 6f 72 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0373_89a8_Net_3e_20.rel b/src/nos/lib/messages_lib/0373_89a8_Net_3e_20.rel new file mode 100644 index 00000000..026b6bdb --- /dev/null +++ b/src/nos/lib/messages_lib/0373_89a8_Net_3e_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0373_89a8_Net_3e_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 4e 65 74 3e 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0373_bf54_SMTP_20_25s_20Conne.rel b/src/nos/lib/messages_lib/0373_bf54_SMTP_20_25s_20Conne.rel deleted file mode 100644 index 5916b866..00000000 --- a/src/nos/lib/messages_lib/0373_bf54_SMTP_20_25s_20Conne.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___0373_bf54_SMTP_20_25s_20Conne Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 53 4d 54 50 20 25 73 20 43 -R 00 00 01 00 -T 0b 00 00 00 6f 6e 6e 65 63 74 20 66 61 69 6c -R 00 00 01 00 -T 16 00 00 00 65 64 3a 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0374_cbb7_SMTP_20batching.rel b/src/nos/lib/messages_lib/0374_cbb7_SMTP_20batching.rel deleted file mode 100644 index 5bd6715d..00000000 --- a/src/nos/lib/messages_lib/0374_cbb7_SMTP_20batching.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___0374_cbb7_SMTP_20batching Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 53 4d 54 50 20 62 61 74 63 -R 00 00 01 00 -T 0b 00 00 00 68 69 6e 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0374_e0c6_Network_20_25s_20co.rel b/src/nos/lib/messages_lib/0374_e0c6_Network_20_25s_20co.rel new file mode 100644 index 00000000..5f8eeeeb --- /dev/null +++ b/src/nos/lib/messages_lib/0374_e0c6_Network_20_25s_20co.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___0374_e0c6_Network_20_25s_20co Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 4e 65 74 77 6f 72 6b 20 25 +R 00 00 01 00 +T 0b 00 00 00 73 20 63 6f 6e 66 69 67 75 72 65 +R 00 00 01 00 +T 16 00 00 00 64 3a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0375_41e1_Network_20Protocol_.rel b/src/nos/lib/messages_lib/0375_41e1_Network_20Protocol_.rel new file mode 100644 index 00000000..7ea4164b --- /dev/null +++ b/src/nos/lib/messages_lib/0375_41e1_Network_20Protocol_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___0375_41e1_Network_20Protocol_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 4e 65 74 77 6f 72 6b 20 50 +R 00 00 01 00 +T 0b 00 00 00 72 6f 74 6f 63 6f 6c 20 50 68 61 +R 00 00 01 00 +T 16 00 00 00 73 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0375_e45f_SMTP_20client_20Try.rel b/src/nos/lib/messages_lib/0375_e45f_SMTP_20client_20Try.rel deleted file mode 100644 index 394a1f74..00000000 --- a/src/nos/lib/messages_lib/0375_e45f_SMTP_20client_20Try.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___0375_e45f_SMTP_20client_20Try Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 53 4d 54 50 20 63 6c 69 65 -R 00 00 01 00 -T 0b 00 00 00 6e 74 20 54 72 79 69 6e 67 2e 2e -R 00 00 01 00 -T 16 00 00 00 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0376_4009_New_20mail_20arrive.rel b/src/nos/lib/messages_lib/0376_4009_New_20mail_20arrive.rel new file mode 100644 index 00000000..f900f00a --- /dev/null +++ b/src/nos/lib/messages_lib/0376_4009_New_20mail_20arrive.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0376_4009_New_20mail_20arrive Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 4e 65 77 20 6d 61 69 6c 20 +R 00 00 01 00 +T 0b 00 00 00 61 72 72 69 76 65 64 20 66 6f 72 +R 00 00 01 00 +T 16 00 00 00 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0376_797a_SMTP_20sent_20job_2.rel b/src/nos/lib/messages_lib/0376_797a_SMTP_20sent_20job_2.rel deleted file mode 100644 index cff3b090..00000000 --- a/src/nos/lib/messages_lib/0376_797a_SMTP_20sent_20job_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___0376_797a_SMTP_20sent_20job_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 53 4d 54 50 20 73 65 6e 74 -R 00 00 01 00 -T 0b 00 00 00 20 6a 6f 62 20 25 73 20 54 6f 3a -R 00 00 01 00 -T 16 00 00 00 20 25 73 20 46 72 6f 6d 3a 20 25 -R 00 00 01 00 -T 21 00 00 00 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0377_68b2_SMTP_20tracing.rel b/src/nos/lib/messages_lib/0377_68b2_SMTP_20tracing.rel deleted file mode 100644 index 383d3d32..00000000 --- a/src/nos/lib/messages_lib/0377_68b2_SMTP_20tracing.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___0377_68b2_SMTP_20tracing Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 53 4d 54 50 20 74 72 61 63 -R 00 00 01 00 -T 0b 00 00 00 69 6e 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0377_fbfc_New_20mail_20arrive.rel b/src/nos/lib/messages_lib/0377_fbfc_New_20mail_20arrive.rel new file mode 100644 index 00000000..2ba8a41d --- /dev/null +++ b/src/nos/lib/messages_lib/0377_fbfc_New_20mail_20arrive.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 30 flags 0 +S ___0377_fbfc_New_20mail_20arrive Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2e 00 4e 65 77 20 6d 61 69 6c 20 +R 00 00 01 00 +T 0b 00 00 00 61 72 72 69 76 65 64 20 66 6f 72 +R 00 00 01 00 +T 16 00 00 00 20 25 73 20 66 72 6f 6d 20 6d 61 +R 00 00 01 00 +T 21 00 00 00 69 6c 68 6f 73 74 20 3c 25 73 3e +R 00 00 01 00 +T 2c 00 00 00 25 63 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0378_d0a7_New_20news_20arrive.rel b/src/nos/lib/messages_lib/0378_d0a7_New_20news_20arrive.rel new file mode 100644 index 00000000..bdeeaf50 --- /dev/null +++ b/src/nos/lib/messages_lib/0378_d0a7_New_20news_20arrive.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___0378_d0a7_New_20news_20arrive Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 4e 65 77 20 6e 65 77 73 20 +R 00 00 01 00 +T 0b 00 00 00 61 72 72 69 76 65 64 3a 20 25 73 +R 00 00 01 00 +T 16 00 00 00 2c 20 61 72 74 69 63 6c 65 20 25 +R 00 00 01 00 +T 21 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0378_e7a4_SP_20_3d_20_25p_2c_.rel b/src/nos/lib/messages_lib/0378_e7a4_SP_20_3d_20_25p_2c_.rel deleted file mode 100644 index 9b455810..00000000 --- a/src/nos/lib/messages_lib/0378_e7a4_SP_20_3d_20_25p_2c_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___0378_e7a4_SP_20_3d_20_25p_2c_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 53 50 20 3d 20 25 70 2c 20 -R 00 00 01 00 -T 0b 00 00 00 6c 65 67 61 6c 20 73 74 61 63 6b -R 00 00 01 00 -T 16 00 00 00 20 72 61 6e 67 65 20 5b 25 70 2c -R 00 00 01 00 -T 21 00 00 00 25 70 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0379_a1f1_STOR_20_25s.rel b/src/nos/lib/messages_lib/0379_a1f1_STOR_20_25s.rel deleted file mode 100644 index 774c90fa..00000000 --- a/src/nos/lib/messages_lib/0379_a1f1_STOR_20_25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0379_a1f1_STOR_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 53 54 4f 52 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0379_f66f_No_20_20.rel b/src/nos/lib/messages_lib/0379_f66f_No_20_20.rel new file mode 100644 index 00000000..1b7e558a --- /dev/null +++ b/src/nos/lib/messages_lib/0379_f66f_No_20_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0379_f66f_No_20_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 4e 6f 20 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/037a_49fd_STOR_20_25s_0a.rel b/src/nos/lib/messages_lib/037a_49fd_STOR_20_25s_0a.rel deleted file mode 100644 index 59e51ac4..00000000 --- a/src/nos/lib/messages_lib/037a_49fd_STOR_20_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___037a_49fd_STOR_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 53 54 4f 52 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/037a_e9a0_No_20HAPN_20adaptor.rel b/src/nos/lib/messages_lib/037a_e9a0_No_20HAPN_20adaptor.rel new file mode 100644 index 00000000..a39230e8 --- /dev/null +++ b/src/nos/lib/messages_lib/037a_e9a0_No_20HAPN_20adaptor.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___037a_e9a0_No_20HAPN_20adaptor Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 4e 6f 20 48 41 50 4e 20 61 +R 00 00 01 00 +T 0b 00 00 00 64 61 70 74 6f 72 20 61 74 74 61 +R 00 00 01 00 +T 16 00 00 00 63 68 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/037b_38ea_STOR_20_25s_3a_20_2.rel b/src/nos/lib/messages_lib/037b_38ea_STOR_20_25s_3a_20_2.rel deleted file mode 100644 index cea3b8d8..00000000 --- a/src/nos/lib/messages_lib/037b_38ea_STOR_20_25s_3a_20_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2b flags 0 -S ___037b_38ea_STOR_20_25s_3a_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 29 00 53 54 4f 52 20 25 73 3a 20 -R 00 00 01 00 -T 0b 00 00 00 25 6c 75 20 62 79 74 65 73 20 69 -R 00 00 01 00 -T 16 00 00 00 6e 20 25 6c 75 20 73 65 63 20 28 -R 00 00 01 00 -T 21 00 00 00 25 6c 75 2f 73 65 63 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/037b_87bb_No_20current_20sess.rel b/src/nos/lib/messages_lib/037b_87bb_No_20current_20sess.rel new file mode 100644 index 00000000..65b4d24e --- /dev/null +++ b/src/nos/lib/messages_lib/037b_87bb_No_20current_20sess.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___037b_87bb_No_20current_20sess Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 4e 6f 20 63 75 72 72 65 6e +R 00 00 01 00 +T 0b 00 00 00 74 20 73 65 73 73 69 6f 6e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/037c_12cc_STOR_20_25s_3a_20Er.rel b/src/nos/lib/messages_lib/037c_12cc_STOR_20_25s_3a_20Er.rel deleted file mode 100644 index ecc14a2e..00000000 --- a/src/nos/lib/messages_lib/037c_12cc_STOR_20_25s_3a_20Er.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2d flags 0 -S ___037c_12cc_STOR_20_25s_3a_20Er Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2b 00 53 54 4f 52 20 25 73 3a 20 -R 00 00 01 00 -T 0b 00 00 00 45 72 72 6f 72 2f 61 62 6f 72 74 -R 00 00 01 00 -T 16 00 00 00 20 64 75 72 69 6e 67 20 64 61 74 -R 00 00 01 00 -T 21 00 00 00 61 20 74 72 61 6e 73 66 65 72 0a -R 00 00 01 00 -T 2c 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/037c_7f27_No_20dialer_20activ.rel b/src/nos/lib/messages_lib/037c_7f27_No_20dialer_20activ.rel new file mode 100644 index 00000000..afbdcd68 --- /dev/null +++ b/src/nos/lib/messages_lib/037c_7f27_No_20dialer_20activ.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___037c_7f27_No_20dialer_20activ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 4e 6f 20 64 69 61 6c 65 72 +R 00 00 01 00 +T 0b 00 00 00 20 61 63 74 69 76 65 20 6f 6e 20 +R 00 00 01 00 +T 16 00 00 00 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/037d_cd1f_No_20finger_20infor.rel b/src/nos/lib/messages_lib/037d_cd1f_No_20finger_20infor.rel new file mode 100644 index 00000000..3df5bcd9 --- /dev/null +++ b/src/nos/lib/messages_lib/037d_cd1f_No_20finger_20infor.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___037d_cd1f_No_20finger_20infor Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 4e 6f 20 66 69 6e 67 65 72 +R 00 00 01 00 +T 0b 00 00 00 20 69 6e 66 6f 72 6d 61 74 69 6f +R 00 00 01 00 +T 16 00 00 00 6e 20 61 76 61 69 6c 61 62 6c 65 +R 00 00 01 00 +T 21 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/037d_cfe9_SUBCMD_20_2d_20Don_.rel b/src/nos/lib/messages_lib/037d_cfe9_SUBCMD_20_2d_20Don_.rel deleted file mode 100644 index 6aeacf53..00000000 --- a/src/nos/lib/messages_lib/037d_cfe9_SUBCMD_20_2d_20Don_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___037d_cfe9_SUBCMD_20_2d_20Don_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 53 55 42 43 4d 44 20 2d 20 -R 00 00 01 00 -T 0b 00 00 00 44 6f 6e 27 74 20 6b 6e 6f 77 20 -R 00 00 01 00 -T 16 00 00 00 77 68 61 74 20 74 6f 20 64 6f 3f -R 00 00 01 00 -T 21 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/037e_0319_SYST_0a.rel b/src/nos/lib/messages_lib/037e_0319_SYST_0a.rel deleted file mode 100644 index ae386d21..00000000 --- a/src/nos/lib/messages_lib/037e_0319_SYST_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___037e_0319_SYST_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 53 59 53 54 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/037e_2a2e_No_20help_20availab.rel b/src/nos/lib/messages_lib/037e_2a2e_No_20help_20availab.rel new file mode 100644 index 00000000..fefc1d56 --- /dev/null +++ b/src/nos/lib/messages_lib/037e_2a2e_No_20help_20availab.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___037e_2a2e_No_20help_20availab Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 4e 6f 20 68 65 6c 70 20 61 +R 00 00 01 00 +T 0b 00 00 00 76 61 69 6c 61 62 6c 65 2e 20 28 +R 00 00 01 00 +T 16 00 00 00 25 73 20 6e 6f 74 20 66 6f 75 6e +R 00 00 01 00 +T 21 00 00 00 64 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/037f_7cc9_No_20packet_20drive.rel b/src/nos/lib/messages_lib/037f_7cc9_No_20packet_20drive.rel new file mode 100644 index 00000000..3a7dd5bc --- /dev/null +++ b/src/nos/lib/messages_lib/037f_7cc9_No_20packet_20drive.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 27 flags 0 +S ___037f_7cc9_No_20packet_20drive Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 25 00 4e 6f 20 70 61 63 6b 65 74 +R 00 00 01 00 +T 0b 00 00 00 20 64 72 69 76 65 72 20 6c 6f 61 +R 00 00 01 00 +T 16 00 00 00 64 65 64 20 61 74 20 69 6e 74 20 +R 00 00 01 00 +T 21 00 00 00 30 78 25 78 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/037f_93fc_Same_0a.rel b/src/nos/lib/messages_lib/037f_93fc_Same_0a.rel deleted file mode 100644 index 11e214dd..00000000 --- a/src/nos/lib/messages_lib/037f_93fc_Same_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___037f_93fc_Same_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 53 61 6d 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0380_3c55_Scroll_20file_20siz.rel b/src/nos/lib/messages_lib/0380_3c55_Scroll_20file_20siz.rel deleted file mode 100644 index 0db931b4..00000000 --- a/src/nos/lib/messages_lib/0380_3c55_Scroll_20file_20siz.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___0380_3c55_Scroll_20file_20siz Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 53 63 72 6f 6c 6c 20 66 69 -R 00 00 01 00 -T 0b 00 00 00 6c 65 20 73 69 7a 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0380_c43d_No_20space_21_21_0a.rel b/src/nos/lib/messages_lib/0380_c43d_No_20space_21_21_0a.rel new file mode 100644 index 00000000..91448f56 --- /dev/null +++ b/src/nos/lib/messages_lib/0380_c43d_No_20space_21_21_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0380_c43d_No_20space_21_21_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 4e 6f 20 73 70 61 63 65 21 +R 00 00 01 00 +T 0b 00 00 00 21 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0381_4e0c_No_20such_20message.rel b/src/nos/lib/messages_lib/0381_4e0c_No_20such_20message.rel new file mode 100644 index 00000000..3ac62823 --- /dev/null +++ b/src/nos/lib/messages_lib/0381_4e0c_No_20such_20message.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___0381_4e0c_No_20such_20message Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 4e 6f 20 73 75 63 68 20 6d +R 00 00 01 00 +T 0b 00 00 00 65 73 73 61 67 65 20 61 72 65 61 +R 00 00 01 00 +T 16 00 00 00 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0381_e255_Send_20file_2c_20_2.rel b/src/nos/lib/messages_lib/0381_e255_Send_20file_2c_20_2.rel deleted file mode 100644 index 67f857b7..00000000 --- a/src/nos/lib/messages_lib/0381_e255_Send_20file_2c_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___0381_e255_Send_20file_2c_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 53 65 6e 64 20 66 69 6c 65 -R 00 00 01 00 -T 0b 00 00 00 2c 20 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0382_2a80_No_20such_20server_.rel b/src/nos/lib/messages_lib/0382_2a80_No_20such_20server_.rel new file mode 100644 index 00000000..73b28a4e --- /dev/null +++ b/src/nos/lib/messages_lib/0382_2a80_No_20such_20server_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0382_2a80_No_20such_20server_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 4e 6f 20 73 75 63 68 20 73 +R 00 00 01 00 +T 0b 00 00 00 65 72 76 65 72 20 65 6e 61 62 6c +R 00 00 01 00 +T 16 00 00 00 65 64 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0382_c1d8_Send_3a_20_2508lx_2.rel b/src/nos/lib/messages_lib/0382_c1d8_Send_3a_20_2508lx_2.rel deleted file mode 100644 index 1a489962..00000000 --- a/src/nos/lib/messages_lib/0382_c1d8_Send_3a_20_2508lx_2.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 36 flags 0 -S ___0382_c1d8_Send_3a_20_2508lx_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 34 00 53 65 6e 64 3a 20 25 30 38 -R 00 00 01 00 -T 0b 00 00 00 6c 78 20 25 30 38 6c 78 25 37 6c -R 00 00 01 00 -T 16 00 00 00 75 25 36 6c 75 25 36 6c 75 25 36 -R 00 00 01 00 -T 21 00 00 00 6c 75 25 35 6c 75 25 36 6c 75 25 -R 00 00 01 00 -T 2c 00 00 00 39 6c 75 25 31 31 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0383_0cda_Nodetimer_20_25lu_2.rel b/src/nos/lib/messages_lib/0383_0cda_Nodetimer_20_25lu_2.rel new file mode 100644 index 00000000..158e9bb1 --- /dev/null +++ b/src/nos/lib/messages_lib/0383_0cda_Nodetimer_20_25lu_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___0383_0cda_Nodetimer_20_25lu_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 4e 6f 64 65 74 69 6d 65 72 +R 00 00 01 00 +T 0b 00 00 00 20 25 6c 75 2f 25 6c 75 20 73 65 +R 00 00 01 00 +T 16 00 00 00 63 6f 6e 64 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0383_afab_Server_20address_20.rel b/src/nos/lib/messages_lib/0383_afab_Server_20address_20.rel deleted file mode 100644 index b0d72cad..00000000 --- a/src/nos/lib/messages_lib/0383_afab_Server_20address_20.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 46 flags 0 -S ___0383_afab_Server_20address_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 44 00 53 65 72 76 65 72 20 61 64 -R 00 00 01 00 -T 0b 00 00 00 64 72 65 73 73 20 20 20 20 20 20 -R 00 00 01 00 -T 16 00 00 00 20 20 20 20 73 72 74 74 20 20 20 -R 00 00 01 00 -T 21 00 00 00 20 6d 64 65 76 20 20 20 74 69 6d -R 00 00 01 00 -T 2c 00 00 00 65 6f 75 74 20 20 20 71 75 65 72 -R 00 00 01 00 -T 37 00 00 00 69 65 73 20 72 65 73 70 6f 6e 73 -R 00 00 01 00 -T 42 00 00 00 65 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0384_36ef_Session_20_25s_20no.rel b/src/nos/lib/messages_lib/0384_36ef_Session_20_25s_20no.rel deleted file mode 100644 index c0897428..00000000 --- a/src/nos/lib/messages_lib/0384_36ef_Session_20_25s_20no.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___0384_36ef_Session_20_25s_20no Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 53 65 73 73 69 6f 6e 20 25 -R 00 00 01 00 -T 0b 00 00 00 73 20 6e 6f 74 20 61 63 74 69 76 -R 00 00 01 00 -T 16 00 00 00 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0384_3fb0_None.rel b/src/nos/lib/messages_lib/0384_3fb0_None.rel new file mode 100644 index 00000000..629bd4ad --- /dev/null +++ b/src/nos/lib/messages_lib/0384_3fb0_None.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0384_3fb0_None Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 4e 6f 6e 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0385_0845_Slot_20time_3a_20_2.rel b/src/nos/lib/messages_lib/0385_0845_Slot_20time_3a_20_2.rel deleted file mode 100644 index 1fe88eb9..00000000 --- a/src/nos/lib/messages_lib/0385_0845_Slot_20time_3a_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___0385_0845_Slot_20time_3a_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 53 6c 6f 74 20 74 69 6d 65 -R 00 00 01 00 -T 0b 00 00 00 3a 20 25 6c 75 20 6d 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0385_2875_None_09.rel b/src/nos/lib/messages_lib/0385_2875_None_09.rel new file mode 100644 index 00000000..36f7a699 --- /dev/null +++ b/src/nos/lib/messages_lib/0385_2875_None_09.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0385_2875_None_09 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 4e 6f 6e 65 09 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0386_1aee_None_0a.rel b/src/nos/lib/messages_lib/0386_1aee_None_0a.rel new file mode 100644 index 00000000..6c679898 --- /dev/null +++ b/src/nos/lib/messages_lib/0386_1aee_None_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0386_1aee_None_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 4e 6f 6e 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0386_6556_Socket_20not_20in_2.rel b/src/nos/lib/messages_lib/0386_6556_Socket_20not_20in_2.rel deleted file mode 100644 index 0807aaf8..00000000 --- a/src/nos/lib/messages_lib/0386_6556_Socket_20not_20in_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___0386_6556_Socket_20not_20in_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 53 6f 63 6b 65 74 20 6e 6f -R 00 00 01 00 -T 0b 00 00 00 74 20 69 6e 20 75 73 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0387_a061_Sorry_20_2d_20the_2.rel b/src/nos/lib/messages_lib/0387_a061_Sorry_20_2d_20the_2.rel deleted file mode 100644 index 2e31b870..00000000 --- a/src/nos/lib/messages_lib/0387_a061_Sorry_20_2d_20the_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___0387_a061_Sorry_20_2d_20the_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 53 6f 72 72 79 20 2d 20 74 -R 00 00 01 00 -T 0b 00 00 00 68 65 20 73 79 73 74 65 6d 20 69 -R 00 00 01 00 -T 16 00 00 00 73 20 75 6e 61 74 74 65 6e 64 65 -R 00 00 01 00 -T 21 00 00 00 64 2e 30 30 37 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0387_f8e2_Not_20a_20valid_20s.rel b/src/nos/lib/messages_lib/0387_f8e2_Not_20a_20valid_20s.rel new file mode 100644 index 00000000..2933380d --- /dev/null +++ b/src/nos/lib/messages_lib/0387_f8e2_Not_20a_20valid_20s.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___0387_f8e2_Not_20a_20valid_20s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 4e 6f 74 20 61 20 76 61 6c +R 00 00 01 00 +T 0b 00 00 00 69 64 20 73 6f 63 6b 65 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0388_8034_Stack_20violation_2.rel b/src/nos/lib/messages_lib/0388_8034_Stack_20violation_2.rel deleted file mode 100644 index 0ecf7161..00000000 --- a/src/nos/lib/messages_lib/0388_8034_Stack_20violation_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___0388_8034_Stack_20violation_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 53 74 61 63 6b 20 76 69 6f -R 00 00 01 00 -T 0b 00 00 00 6c 61 74 69 6f 6e 2c 20 70 72 6f -R 00 00 01 00 -T 16 00 00 00 63 65 73 73 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0388_b4ba_Not_20an_20FTP_20se.rel b/src/nos/lib/messages_lib/0388_b4ba_Not_20an_20FTP_20se.rel new file mode 100644 index 00000000..09a446d7 --- /dev/null +++ b/src/nos/lib/messages_lib/0388_b4ba_Not_20an_20FTP_20se.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___0388_b4ba_Not_20an_20FTP_20se Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 4e 6f 74 20 61 6e 20 46 54 +R 00 00 01 00 +T 0b 00 00 00 50 20 73 65 73 73 69 6f 6e 21 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0389_6414_Station_20_20_20Las.rel b/src/nos/lib/messages_lib/0389_6414_Station_20_20_20Las.rel deleted file mode 100644 index d3d0b551..00000000 --- a/src/nos/lib/messages_lib/0389_6414_Station_20_20_20Las.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 27 flags 0 -S ___0389_6414_Station_20_20_20Las Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 25 00 53 74 61 74 69 6f 6e 20 20 -R 00 00 01 00 -T 0b 00 00 00 20 4c 61 73 74 20 68 65 61 72 64 -R 00 00 01 00 -T 16 00 00 00 20 20 20 20 20 20 20 20 20 20 20 -R 00 00 01 00 -T 21 00 00 00 50 6b 74 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0389_ae74_Not_20enough_20memo.rel b/src/nos/lib/messages_lib/0389_ae74_Not_20enough_20memo.rel new file mode 100644 index 00000000..9bd42e90 --- /dev/null +++ b/src/nos/lib/messages_lib/0389_ae74_Not_20enough_20memo.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___0389_ae74_Not_20enough_20memo Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 4e 6f 74 20 65 6e 6f 75 67 +R 00 00 01 00 +T 0b 00 00 00 68 20 6d 65 6d 6f 72 79 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/038a_5bef_Station_20_20_20Las.rel b/src/nos/lib/messages_lib/038a_5bef_Station_20_20_20Las.rel deleted file mode 100644 index 4c41d58c..00000000 --- a/src/nos/lib/messages_lib/038a_5bef_Station_20_20_20Las.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 38 flags 0 -S ___038a_5bef_Station_20_20_20Las Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 36 00 53 74 61 74 69 6f 6e 20 20 -R 00 00 01 00 -T 0b 00 00 00 20 4c 61 73 74 20 72 65 66 20 20 -R 00 00 01 00 -T 16 00 00 00 20 20 20 20 20 20 20 4c 61 73 74 -R 00 00 01 00 -T 21 00 00 00 20 68 65 61 72 64 20 20 20 20 20 -R 00 00 01 00 -T 2c 00 00 00 20 20 20 20 20 20 50 6b 74 73 0a -R 00 00 01 00 -T 37 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/038a_ee7e_Not_20found_0a.rel b/src/nos/lib/messages_lib/038a_ee7e_Not_20found_0a.rel new file mode 100644 index 00000000..4e9c0a69 --- /dev/null +++ b/src/nos/lib/messages_lib/038a_ee7e_Not_20found_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___038a_ee7e_Not_20found_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 4e 6f 74 20 66 6f 75 6e 64 +R 00 00 01 00 +T 0b 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/038b_533e_Not_20in_20table_0a.rel b/src/nos/lib/messages_lib/038b_533e_Not_20in_20table_0a.rel new file mode 100644 index 00000000..5bb9b063 --- /dev/null +++ b/src/nos/lib/messages_lib/038b_533e_Not_20in_20table_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___038b_533e_Not_20in_20table_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 4e 6f 74 20 69 6e 20 74 61 +R 00 00 01 00 +T 0b 00 00 00 62 6c 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/038b_9aef_Subject_3a_20_25s_0.rel b/src/nos/lib/messages_lib/038b_9aef_Subject_3a_20_25s_0.rel deleted file mode 100644 index 3de361dd..00000000 --- a/src/nos/lib/messages_lib/038b_9aef_Subject_3a_20_25s_0.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___038b_9aef_Subject_3a_20_25s_0 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 53 75 62 6a 65 63 74 3a 20 -R 00 00 01 00 -T 0b 00 00 00 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/038c_0cac_System_20is_20overl.rel b/src/nos/lib/messages_lib/038c_0cac_System_20is_20overl.rel deleted file mode 100644 index bc1642a5..00000000 --- a/src/nos/lib/messages_lib/038c_0cac_System_20is_20overl.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 29 flags 0 -S ___038c_0cac_System_20is_20overl Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 27 00 53 79 73 74 65 6d 20 69 73 -R 00 00 01 00 -T 0b 00 00 00 20 6f 76 65 72 6c 6f 61 64 65 64 -R 00 00 01 00 -T 16 00 00 00 3b 20 74 72 79 20 61 67 61 69 6e -R 00 00 01 00 -T 21 00 00 00 20 6c 61 74 65 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/038c_c7b9_Not_20supported_0a.rel b/src/nos/lib/messages_lib/038c_c7b9_Not_20supported_0a.rel new file mode 100644 index 00000000..31fcc887 --- /dev/null +++ b/src/nos/lib/messages_lib/038c_c7b9_Not_20supported_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___038c_c7b9_Not_20supported_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 4e 6f 74 20 73 75 70 70 6f +R 00 00 01 00 +T 0b 00 00 00 72 74 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/038d_63e9_T_20hostname.rel b/src/nos/lib/messages_lib/038d_63e9_T_20hostname.rel deleted file mode 100644 index 3977661e..00000000 --- a/src/nos/lib/messages_lib/038d_63e9_T_20hostname.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___038d_63e9_T_20hostname Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 54 20 68 6f 73 74 6e 61 6d -R 00 00 01 00 -T 0b 00 00 00 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/038d_9692_Obsotimer_20_25lu_2.rel b/src/nos/lib/messages_lib/038d_9692_Obsotimer_20_25lu_2.rel new file mode 100644 index 00000000..7d5a066b --- /dev/null +++ b/src/nos/lib/messages_lib/038d_9692_Obsotimer_20_25lu_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___038d_9692_Obsotimer_20_25lu_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 4f 62 73 6f 74 69 6d 65 72 +R 00 00 01 00 +T 0b 00 00 00 20 25 6c 75 2f 25 6c 75 20 73 65 +R 00 00 01 00 +T 16 00 00 00 63 6f 6e 64 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/038e_1279_T1_3a_20.rel b/src/nos/lib/messages_lib/038e_1279_T1_3a_20.rel deleted file mode 100644 index cebeeb4f..00000000 --- a/src/nos/lib/messages_lib/038e_1279_T1_3a_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___038e_1279_T1_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 54 31 3a 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/038e_ff96_Oh_2c_20hello_20_25.rel b/src/nos/lib/messages_lib/038e_ff96_Oh_2c_20hello_20_25.rel new file mode 100644 index 00000000..7cea88c9 --- /dev/null +++ b/src/nos/lib/messages_lib/038e_ff96_Oh_2c_20hello_20_25.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___038e_ff96_Oh_2c_20hello_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 4f 68 2c 20 68 65 6c 6c 6f +R 00 00 01 00 +T 0b 00 00 00 20 25 73 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/038f_0948_Only_20_25d_20DRSI_.rel b/src/nos/lib/messages_lib/038f_0948_Only_20_25d_20DRSI_.rel new file mode 100644 index 00000000..967a13c7 --- /dev/null +++ b/src/nos/lib/messages_lib/038f_0948_Only_20_25d_20DRSI_.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 33 flags 0 +S ___038f_0948_Only_20_25d_20DRSI_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 31 00 4f 6e 6c 79 20 25 64 20 44 +R 00 00 01 00 +T 0b 00 00 00 52 53 49 20 63 6f 6e 74 72 6f 6c +R 00 00 01 00 +T 16 00 00 00 6c 65 72 28 73 29 20 73 75 70 70 +R 00 00 01 00 +T 21 00 00 00 6f 72 74 65 64 20 72 69 67 68 74 +R 00 00 01 00 +T 2c 00 00 00 20 6e 6f 77 21 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/038f_a7c1_T3_3a_20.rel b/src/nos/lib/messages_lib/038f_a7c1_T3_3a_20.rel deleted file mode 100644 index e6a7d9ce..00000000 --- a/src/nos/lib/messages_lib/038f_a7c1_T3_3a_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___038f_a7c1_T3_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 54 33 3a 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0390_8edb_Only_20_25d_20net_2.rel b/src/nos/lib/messages_lib/0390_8edb_Only_20_25d_20net_2.rel new file mode 100644 index 00000000..668dc7ab --- /dev/null +++ b/src/nos/lib/messages_lib/0390_8edb_Only_20_25d_20net_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___0390_8edb_Only_20_25d_20net_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 4f 6e 6c 79 20 25 64 20 6e +R 00 00 01 00 +T 0b 00 00 00 65 74 2f 72 6f 6d 20 69 6e 74 65 +R 00 00 01 00 +T 16 00 00 00 72 66 61 63 65 73 20 61 76 61 69 +R 00 00 01 00 +T 21 00 00 00 6c 61 62 6c 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0390_e4a1_TACK_3a_20.rel b/src/nos/lib/messages_lib/0390_e4a1_TACK_3a_20.rel deleted file mode 100644 index 72460c84..00000000 --- a/src/nos/lib/messages_lib/0390_e4a1_TACK_3a_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0390_e4a1_TACK_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 54 41 43 4b 3a 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0391_7f7b_TCB_20_25p_20_25s_2.rel b/src/nos/lib/messages_lib/0391_7f7b_TCB_20_25p_20_25s_2.rel deleted file mode 100644 index 6b9f4d3b..00000000 --- a/src/nos/lib/messages_lib/0391_7f7b_TCB_20_25p_20_25s_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___0391_7f7b_TCB_20_25p_20_25s_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 54 43 42 20 25 70 20 25 73 -R 00 00 01 00 -T 0b 00 00 00 20 2d 3e 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0391_f9f0_Only_201_20EAGLE_20.rel b/src/nos/lib/messages_lib/0391_f9f0_Only_201_20EAGLE_20.rel new file mode 100644 index 00000000..592c03dc --- /dev/null +++ b/src/nos/lib/messages_lib/0391_f9f0_Only_201_20EAGLE_20.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 30 flags 0 +S ___0391_f9f0_Only_201_20EAGLE_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2e 00 4f 6e 6c 79 20 31 20 45 41 +R 00 00 01 00 +T 0b 00 00 00 47 4c 45 20 63 6f 6e 74 72 6f 6c +R 00 00 01 00 +T 16 00 00 00 6c 65 72 20 73 75 70 70 6f 72 74 +R 00 00 01 00 +T 21 00 00 00 65 64 20 72 69 67 68 74 20 6e 6f +R 00 00 01 00 +T 2c 00 00 00 77 21 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0392_5447_TCD_3a_20.rel b/src/nos/lib/messages_lib/0392_5447_TCD_3a_20.rel deleted file mode 100644 index e56b133f..00000000 --- a/src/nos/lib/messages_lib/0392_5447_TCD_3a_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0392_5447_TCD_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 54 43 44 3a 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0392_b622_Open.rel b/src/nos/lib/messages_lib/0392_b622_Open.rel new file mode 100644 index 00000000..e1efef35 --- /dev/null +++ b/src/nos/lib/messages_lib/0392_b622_Open.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0392_b622_Open Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 4f 70 65 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0393_fa23_TCP_20MSS.rel b/src/nos/lib/messages_lib/0393_fa23_TCP_20MSS.rel deleted file mode 100644 index 0cd19a8f..00000000 --- a/src/nos/lib/messages_lib/0393_fa23_TCP_20MSS.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0393_fa23_TCP_20MSS Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 54 43 50 20 4d 53 53 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0393_fef1_Opened.rel b/src/nos/lib/messages_lib/0393_fef1_Opened.rel new file mode 100644 index 00000000..901bc9e1 --- /dev/null +++ b/src/nos/lib/messages_lib/0393_fef1_Opened.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0393_fef1_Opened Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 4f 70 65 6e 65 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0394_1514_Outqlen_3a_20_25d_2.rel b/src/nos/lib/messages_lib/0394_1514_Outqlen_3a_20_25d_2.rel new file mode 100644 index 00000000..08ac5a30 --- /dev/null +++ b/src/nos/lib/messages_lib/0394_1514_Outqlen_3a_20_25d_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___0394_1514_Outqlen_3a_20_25d_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 4f 75 74 71 6c 65 6e 3a 20 +R 00 00 01 00 +T 0b 00 00 00 25 64 20 70 61 63 6b 65 74 73 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0394_70e7_TCP_20default_20irt.rel b/src/nos/lib/messages_lib/0394_70e7_TCP_20default_20irt.rel deleted file mode 100644 index abb44fb9..00000000 --- a/src/nos/lib/messages_lib/0394_70e7_TCP_20default_20irt.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___0394_70e7_TCP_20default_20irt Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 54 43 50 20 64 65 66 61 75 -R 00 00 01 00 -T 0b 00 00 00 6c 74 20 69 72 74 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0395_5ac7_TCP_20header_20comp.rel b/src/nos/lib/messages_lib/0395_5ac7_TCP_20header_20comp.rel deleted file mode 100644 index be18cff0..00000000 --- a/src/nos/lib/messages_lib/0395_5ac7_TCP_20header_20comp.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 42 flags 0 -S ___0395_5ac7_TCP_20header_20comp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 40 00 54 43 50 20 68 65 61 64 65 -R 00 00 01 00 -T 0b 00 00 00 72 20 63 6f 6d 70 72 65 73 73 69 -R 00 00 01 00 -T 16 00 00 00 6f 6e 20 65 6e 61 62 6c 65 64 3b -R 00 00 01 00 -T 21 00 00 00 20 53 6c 6f 74 73 20 3d 20 25 64 -R 00 00 01 00 -T 2c 00 00 00 2c 20 73 6c 6f 74 20 63 6f 6d 70 -R 00 00 01 00 -T 37 00 00 00 72 65 73 73 20 3d 20 25 78 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0395_5b48_PANIC_3a_20Timer_20.rel b/src/nos/lib/messages_lib/0395_5b48_PANIC_3a_20Timer_20.rel new file mode 100644 index 00000000..8914fbaa --- /dev/null +++ b/src/nos/lib/messages_lib/0395_5b48_PANIC_3a_20Timer_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___0395_5b48_PANIC_3a_20Timer_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 50 41 4e 49 43 3a 20 54 69 +R 00 00 01 00 +T 0b 00 00 00 6d 65 72 20 6c 6f 6f 70 20 61 74 +R 00 00 01 00 +T 16 00 00 00 20 25 6c 78 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0396_281b_PANIC_3a_20buffer_2.rel b/src/nos/lib/messages_lib/0396_281b_PANIC_3a_20buffer_2.rel new file mode 100644 index 00000000..6039faae --- /dev/null +++ b/src/nos/lib/messages_lib/0396_281b_PANIC_3a_20buffer_2.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2d flags 0 +S ___0396_281b_PANIC_3a_20buffer_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2b 00 50 41 4e 49 43 3a 20 62 75 +R 00 00 01 00 +T 0b 00 00 00 66 66 65 72 20 61 75 64 69 74 20 +R 00 00 01 00 +T 16 00 00 00 66 61 69 6c 75 72 65 20 69 6e 20 +R 00 00 01 00 +T 21 00 00 00 25 73 20 6c 69 6e 65 20 25 64 0a +R 00 00 01 00 +T 2c 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0396_c668_TCP_20state_20traci.rel b/src/nos/lib/messages_lib/0396_c668_TCP_20state_20traci.rel deleted file mode 100644 index 8dd1ade9..00000000 --- a/src/nos/lib/messages_lib/0396_c668_TCP_20state_20traci.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___0396_c668_TCP_20state_20traci Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 54 43 50 20 73 74 61 74 65 -R 00 00 01 00 -T 0b 00 00 00 20 74 72 61 63 69 6e 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0397_b0d7_TCP_20syn_2bdata_20.rel b/src/nos/lib/messages_lib/0397_b0d7_TCP_20syn_2bdata_20.rel deleted file mode 100644 index 97b4fc34..00000000 --- a/src/nos/lib/messages_lib/0397_b0d7_TCP_20syn_2bdata_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___0397_b0d7_TCP_20syn_2bdata_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 54 43 50 20 73 79 6e 2b 64 -R 00 00 01 00 -T 0b 00 00 00 61 74 61 20 70 69 67 67 79 62 61 -R 00 00 01 00 -T 16 00 00 00 63 6b 69 6e 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0397_f630_PAP_0a.rel b/src/nos/lib/messages_lib/0397_f630_PAP_0a.rel new file mode 100644 index 00000000..b6a27ba5 --- /dev/null +++ b/src/nos/lib/messages_lib/0397_f630_PAP_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0397_f630_PAP_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 50 41 50 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0398_43bd_TCP_20timestamps.rel b/src/nos/lib/messages_lib/0398_43bd_TCP_20timestamps.rel deleted file mode 100644 index b3de7070..00000000 --- a/src/nos/lib/messages_lib/0398_43bd_TCP_20timestamps.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___0398_43bd_TCP_20timestamps Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 54 43 50 20 74 69 6d 65 73 -R 00 00 01 00 -T 0b 00 00 00 74 61 6d 70 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0398_7868_PAP_20.rel b/src/nos/lib/messages_lib/0398_7868_PAP_20.rel new file mode 100644 index 00000000..57220f8e --- /dev/null +++ b/src/nos/lib/messages_lib/0398_7868_PAP_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0398_7868_PAP_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 50 41 50 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0399_4af6_PAP_3a_20missing_20.rel b/src/nos/lib/messages_lib/0399_4af6_PAP_3a_20missing_20.rel new file mode 100644 index 00000000..273ae1a1 --- /dev/null +++ b/src/nos/lib/messages_lib/0399_4af6_PAP_3a_20missing_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___0399_4af6_PAP_3a_20missing_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 50 41 50 3a 20 6d 69 73 73 +R 00 00 01 00 +T 0b 00 00 00 69 6e 67 20 6d 65 73 73 61 67 65 +R 00 00 01 00 +T 16 00 00 00 20 63 6f 75 6e 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0399_5b74_TCP_20window.rel b/src/nos/lib/messages_lib/0399_5b74_TCP_20window.rel deleted file mode 100644 index 3d40297c..00000000 --- a/src/nos/lib/messages_lib/0399_5b74_TCP_20window.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___0399_5b74_TCP_20window Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 54 43 50 20 77 69 6e 64 6f -R 00 00 01 00 -T 0b 00 00 00 77 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/039a_7267_TCP_3a_20_25u_2d_3e.rel b/src/nos/lib/messages_lib/039a_7267_TCP_3a_20_25u_2d_3e.rel deleted file mode 100644 index 0c603416..00000000 --- a/src/nos/lib/messages_lib/039a_7267_TCP_3a_20_25u_2d_3e.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___039a_7267_TCP_3a_20_25u_2d_3e Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 54 43 50 3a 20 25 75 2d 3e -R 00 00 01 00 -T 0b 00 00 00 25 75 20 53 65 71 20 78 25 6c 78 -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/039a_e6d7_PAP_3a_20no_20permi.rel b/src/nos/lib/messages_lib/039a_e6d7_PAP_3a_20no_20permi.rel new file mode 100644 index 00000000..a5dc2804 --- /dev/null +++ b/src/nos/lib/messages_lib/039a_e6d7_PAP_3a_20no_20permi.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___039a_e6d7_PAP_3a_20no_20permi Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 50 41 50 3a 20 6e 6f 20 70 +R 00 00 01 00 +T 0b 00 00 00 65 72 6d 69 73 73 69 6f 6e 20 66 +R 00 00 01 00 +T 16 00 00 00 6f 72 20 50 50 50 20 61 63 63 65 +R 00 00 01 00 +T 21 00 00 00 73 73 3a 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/039b_02ce_PAP_3a_20username_2.rel b/src/nos/lib/messages_lib/039b_02ce_PAP_3a_20username_2.rel new file mode 100644 index 00000000..734d5ca6 --- /dev/null +++ b/src/nos/lib/messages_lib/039b_02ce_PAP_3a_20username_2.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 34 flags 0 +S ___039b_02ce_PAP_3a_20username_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 32 00 50 41 50 3a 20 75 73 65 72 +R 00 00 01 00 +T 0b 00 00 00 6e 61 6d 65 2f 70 61 73 73 77 6f +R 00 00 01 00 +T 16 00 00 00 72 64 20 69 6e 63 6f 72 72 65 63 +R 00 00 01 00 +T 21 00 00 00 74 20 6f 72 20 6e 6f 74 20 66 6f +R 00 00 01 00 +T 2c 00 00 00 75 6e 64 3a 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/039b_59c4_TChoke_3a_20.rel b/src/nos/lib/messages_lib/039b_59c4_TChoke_3a_20.rel deleted file mode 100644 index f056f59c..00000000 --- a/src/nos/lib/messages_lib/039b_59c4_TChoke_3a_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___039b_59c4_TChoke_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 54 43 68 6f 6b 65 3a 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/039c_2ced_TX_20Delay_3a_20_25.rel b/src/nos/lib/messages_lib/039c_2ced_TX_20Delay_3a_20_25.rel deleted file mode 100644 index 0dd36c3f..00000000 --- a/src/nos/lib/messages_lib/039c_2ced_TX_20Delay_3a_20_25.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___039c_2ced_TX_20Delay_3a_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 54 58 20 44 65 6c 61 79 3a -R 00 00 01 00 -T 0b 00 00 00 20 25 6c 75 20 6d 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/039c_cf4a_PAP_3a_20wrong_20ID.rel b/src/nos/lib/messages_lib/039c_cf4a_PAP_3a_20wrong_20ID.rel new file mode 100644 index 00000000..b66e570f --- /dev/null +++ b/src/nos/lib/messages_lib/039c_cf4a_PAP_3a_20wrong_20ID.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___039c_cf4a_PAP_3a_20wrong_20ID Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 50 41 50 3a 20 77 72 6f 6e +R 00 00 01 00 +T 0b 00 00 00 67 20 49 44 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/039d_6a23_TX_20Tail_20time_3a.rel b/src/nos/lib/messages_lib/039d_6a23_TX_20Tail_20time_3a.rel deleted file mode 100644 index 3c70b821..00000000 --- a/src/nos/lib/messages_lib/039d_6a23_TX_20Tail_20time_3a.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___039d_6a23_TX_20Tail_20time_3a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 54 58 20 54 61 69 6c 20 74 -R 00 00 01 00 -T 0b 00 00 00 69 6d 65 3a 20 25 6c 75 20 6d 73 -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/039d_8063_PASS_20_25s.rel b/src/nos/lib/messages_lib/039d_8063_PASS_20_25s.rel new file mode 100644 index 00000000..07c3ec56 --- /dev/null +++ b/src/nos/lib/messages_lib/039d_8063_PASS_20_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___039d_8063_PASS_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 50 41 53 53 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/039e_2320_PI_20Board_20Statis.rel b/src/nos/lib/messages_lib/039e_2320_PI_20Board_20Statis.rel new file mode 100644 index 00000000..99e704c6 --- /dev/null +++ b/src/nos/lib/messages_lib/039e_2320_PI_20Board_20Statis.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___039e_2320_PI_20Board_20Statis Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 50 49 20 42 6f 61 72 64 20 +R 00 00 01 00 +T 0b 00 00 00 53 74 61 74 69 73 74 69 63 73 3a +R 00 00 01 00 +T 16 00 00 00 0a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/039e_d175_TX_20queue_20limit.rel b/src/nos/lib/messages_lib/039e_d175_TX_20queue_20limit.rel deleted file mode 100644 index 999b4a65..00000000 --- a/src/nos/lib/messages_lib/039e_d175_TX_20queue_20limit.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___039e_d175_TX_20queue_20limit Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 54 58 20 71 75 65 75 65 20 -R 00 00 01 00 -T 0b 00 00 00 6c 69 6d 69 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/039f_73f1_PI_3a_20DMA_20_25d_.rel b/src/nos/lib/messages_lib/039f_73f1_PI_3a_20DMA_20_25d_.rel new file mode 100644 index 00000000..236fdd27 --- /dev/null +++ b/src/nos/lib/messages_lib/039f_73f1_PI_3a_20DMA_20_25d_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___039f_73f1_PI_3a_20DMA_20_25d_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 50 49 3a 20 44 4d 41 20 25 +R 00 00 01 00 +T 0b 00 00 00 64 20 6f 75 74 20 6f 66 20 72 61 +R 00 00 01 00 +T 16 00 00 00 6e 67 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/039f_f579_TYPE_20A_0a.rel b/src/nos/lib/messages_lib/039f_f579_TYPE_20A_0a.rel deleted file mode 100644 index 16a9c937..00000000 --- a/src/nos/lib/messages_lib/039f_f579_TYPE_20A_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___039f_f579_TYPE_20A_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 54 59 50 45 20 41 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a0_3bb9_TYPE_20I_0a.rel b/src/nos/lib/messages_lib/03a0_3bb9_TYPE_20I_0a.rel deleted file mode 100644 index 0b4041ae..00000000 --- a/src/nos/lib/messages_lib/03a0_3bb9_TYPE_20I_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___03a0_3bb9_TYPE_20I_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 54 59 50 45 20 49 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a0_5841_PI_3a_20DMA_20chann.rel b/src/nos/lib/messages_lib/03a0_5841_PI_3a_20DMA_20chann.rel new file mode 100644 index 00000000..12faf74e --- /dev/null +++ b/src/nos/lib/messages_lib/03a0_5841_PI_3a_20DMA_20chann.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___03a0_5841_PI_3a_20DMA_20chann Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 50 49 3a 20 44 4d 41 20 63 +R 00 00 01 00 +T 0b 00 00 00 68 61 6e 6e 65 6c 20 25 64 20 6f +R 00 00 01 00 +T 16 00 00 00 75 74 20 6f 66 20 72 61 6e 67 65 +R 00 00 01 00 +T 21 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a1_3992_PI_3a_20IRQ_20_25u_.rel b/src/nos/lib/messages_lib/03a1_3992_PI_3a_20IRQ_20_25u_.rel new file mode 100644 index 00000000..69c31cca --- /dev/null +++ b/src/nos/lib/messages_lib/03a1_3992_PI_3a_20IRQ_20_25u_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___03a1_3992_PI_3a_20IRQ_20_25u_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 50 49 3a 20 49 52 51 20 25 +R 00 00 01 00 +T 0b 00 00 00 75 20 6f 75 74 20 6f 66 20 72 61 +R 00 00 01 00 +T 16 00 00 00 6e 67 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a1_a616_TYPE_20L_20_25d_0a.rel b/src/nos/lib/messages_lib/03a1_a616_TYPE_20L_20_25d_0a.rel deleted file mode 100644 index dbc3afab..00000000 --- a/src/nos/lib/messages_lib/03a1_a616_TYPE_20L_20_25d_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___03a1_a616_TYPE_20L_20_25d_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 54 59 50 45 20 4c 20 25 64 -R 00 00 01 00 -T 0b 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a2_4ca4_PI_3a_20Interface_2.rel b/src/nos/lib/messages_lib/03a2_4ca4_PI_3a_20Interface_2.rel new file mode 100644 index 00000000..5c93ad40 --- /dev/null +++ b/src/nos/lib/messages_lib/03a2_4ca4_PI_3a_20Interface_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___03a2_4ca4_PI_3a_20Interface_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 50 49 3a 20 49 6e 74 65 72 +R 00 00 01 00 +T 0b 00 00 00 66 61 63 65 20 25 73 20 61 6c 72 +R 00 00 01 00 +T 16 00 00 00 65 61 64 79 20 65 78 69 73 74 73 +R 00 00 01 00 +T 21 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a2_f6fb_Target_20_20_20_20T.rel b/src/nos/lib/messages_lib/03a2_f6fb_Target_20_20_20_20T.rel deleted file mode 100644 index df9ec896..00000000 --- a/src/nos/lib/messages_lib/03a2_f6fb_Target_20_20_20_20T.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___03a2_f6fb_Target_20_20_20_20T Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 54 61 72 67 65 74 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 20 54 79 70 65 20 20 20 44 69 67 -R 00 00 01 00 -T 16 00 00 00 69 70 65 61 74 65 72 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a3_950b_Telnet_20option_20t.rel b/src/nos/lib/messages_lib/03a3_950b_Telnet_20option_20t.rel deleted file mode 100644 index 16461f23..00000000 --- a/src/nos/lib/messages_lib/03a3_950b_Telnet_20option_20t.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___03a3_950b_Telnet_20option_20t Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 54 65 6c 6e 65 74 20 6f 70 -R 00 00 01 00 -T 0b 00 00 00 74 69 6f 6e 20 74 72 61 63 69 6e -R 00 00 01 00 -T 16 00 00 00 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a3_d856_PI_3a_20Maximum_20o.rel b/src/nos/lib/messages_lib/03a3_d856_PI_3a_20Maximum_20o.rel new file mode 100644 index 00000000..a9acf3a7 --- /dev/null +++ b/src/nos/lib/messages_lib/03a3_d856_PI_3a_20Maximum_20o.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___03a3_d856_PI_3a_20Maximum_20o Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 50 49 3a 20 4d 61 78 69 6d +R 00 00 01 00 +T 0b 00 00 00 75 6d 20 6f 66 20 25 64 20 50 49 +R 00 00 01 00 +T 16 00 00 00 20 63 61 72 64 73 20 73 75 70 70 +R 00 00 01 00 +T 21 00 00 00 6f 72 74 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a4_4517_Thank_20you_20_25s_.rel b/src/nos/lib/messages_lib/03a4_4517_Thank_20you_20_25s_.rel deleted file mode 100644 index 7e3bc288..00000000 --- a/src/nos/lib/messages_lib/03a4_4517_Thank_20you_20_25s_.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 34 flags 0 -S ___03a4_4517_Thank_20you_20_25s_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 32 00 54 68 61 6e 6b 20 79 6f 75 -R 00 00 01 00 -T 0b 00 00 00 20 25 73 2c 20 66 6f 72 20 63 61 -R 00 00 01 00 -T 16 00 00 00 6c 6c 69 6e 67 20 74 68 65 20 25 -R 00 00 01 00 -T 21 00 00 00 73 20 54 63 70 2f 49 70 20 4d 61 -R 00 00 01 00 -T 2c 00 00 00 69 6c 62 6f 78 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a4_9098_PI_3a_20Mode_20_25s.rel b/src/nos/lib/messages_lib/03a4_9098_PI_3a_20Mode_20_25s.rel new file mode 100644 index 00000000..403a9b25 --- /dev/null +++ b/src/nos/lib/messages_lib/03a4_9098_PI_3a_20Mode_20_25s.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___03a4_9098_PI_3a_20Mode_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 50 49 3a 20 4d 6f 64 65 20 +R 00 00 01 00 +T 0b 00 00 00 25 73 20 75 6e 6b 6e 6f 77 6e 20 +R 00 00 01 00 +T 16 00 00 00 66 6f 72 20 69 6e 74 65 72 66 61 +R 00 00 01 00 +T 21 00 00 00 63 65 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a5_70f0_The_20escape_20char.rel b/src/nos/lib/messages_lib/03a5_70f0_The_20escape_20char.rel deleted file mode 100644 index af3067e0..00000000 --- a/src/nos/lib/messages_lib/03a5_70f0_The_20escape_20char.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___03a5_70f0_The_20escape_20char Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 54 68 65 20 65 73 63 61 70 -R 00 00 01 00 -T 0b 00 00 00 65 20 63 68 61 72 61 63 74 65 72 -R 00 00 01 00 -T 16 00 00 00 20 69 73 3a 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a5_de39_PI_3a_20No_20IP_20a.rel b/src/nos/lib/messages_lib/03a5_de39_PI_3a_20No_20IP_20a.rel new file mode 100644 index 00000000..a22763cc --- /dev/null +++ b/src/nos/lib/messages_lib/03a5_de39_PI_3a_20No_20IP_20a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___03a5_de39_PI_3a_20No_20IP_20a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 50 49 3a 20 4e 6f 20 49 50 +R 00 00 01 00 +T 0b 00 00 00 20 61 64 64 72 65 73 73 21 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a6_02ea_PI_3a_20No_20memory.rel b/src/nos/lib/messages_lib/03a6_02ea_PI_3a_20No_20memory.rel new file mode 100644 index 00000000..0cb77ebe --- /dev/null +++ b/src/nos/lib/messages_lib/03a6_02ea_PI_3a_20No_20memory.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2e flags 0 +S ___03a6_02ea_PI_3a_20No_20memory Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2c 00 50 49 3a 20 4e 6f 20 6d 65 +R 00 00 01 00 +T 0b 00 00 00 6d 6f 72 79 20 61 76 61 69 6c 61 +R 00 00 01 00 +T 16 00 00 00 62 6c 65 20 66 6f 72 20 72 65 63 +R 00 00 01 00 +T 21 00 00 00 65 69 76 65 20 62 75 66 66 65 72 +R 00 00 01 00 +T 2c 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a6_6de0_Time_20for_201000_2.rel b/src/nos/lib/messages_lib/03a6_6de0_Time_20for_201000_2.rel deleted file mode 100644 index 8645c5b2..00000000 --- a/src/nos/lib/messages_lib/03a6_6de0_Time_20for_201000_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2a flags 0 -S ___03a6_6de0_Time_20for_201000_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 28 00 54 69 6d 65 20 66 6f 72 20 -R 00 00 01 00 -T 0b 00 00 00 31 30 30 30 20 31 30 32 34 2d 62 -R 00 00 01 00 -T 16 00 00 00 79 74 65 20 63 6f 70 69 65 73 3a -R 00 00 01 00 -T 21 00 00 00 20 25 6c 75 20 6d 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a7_601a_Time_20to_20live.rel b/src/nos/lib/messages_lib/03a7_601a_Time_20to_20live.rel deleted file mode 100644 index bc8d417e..00000000 --- a/src/nos/lib/messages_lib/03a7_601a_Time_20to_20live.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___03a7_601a_Time_20to_20live Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 54 69 6d 65 20 74 6f 20 6c -R 00 00 01 00 -T 0b 00 00 00 69 76 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a7_c0d0_PI_3a_20No_20memory.rel b/src/nos/lib/messages_lib/03a7_c0d0_PI_3a_20No_20memory.rel new file mode 100644 index 00000000..bc5a8653 --- /dev/null +++ b/src/nos/lib/messages_lib/03a7_c0d0_PI_3a_20No_20memory.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2f flags 0 +S ___03a7_c0d0_PI_3a_20No_20memory Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2d 00 50 49 3a 20 4e 6f 20 6d 65 +R 00 00 01 00 +T 0b 00 00 00 6d 6f 72 79 20 61 76 61 69 6c 61 +R 00 00 01 00 +T 16 00 00 00 62 6c 65 20 66 6f 72 20 72 65 63 +R 00 00 01 00 +T 21 00 00 00 65 69 76 65 20 62 75 66 66 65 72 +R 00 00 01 00 +T 2c 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a8_94ca_PI_3a_20No_20memory.rel b/src/nos/lib/messages_lib/03a8_94ca_PI_3a_20No_20memory.rel new file mode 100644 index 00000000..e5c4f754 --- /dev/null +++ b/src/nos/lib/messages_lib/03a8_94ca_PI_3a_20No_20memory.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2e flags 0 +S ___03a8_94ca_PI_3a_20No_20memory Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2c 00 50 49 3a 20 4e 6f 20 6d 65 +R 00 00 01 00 +T 0b 00 00 00 6d 6f 72 79 20 61 76 61 69 6c 61 +R 00 00 01 00 +T 16 00 00 00 62 6c 65 20 66 6f 72 20 74 72 61 +R 00 00 01 00 +T 21 00 00 00 6e 73 6d 69 74 20 62 75 66 66 65 +R 00 00 01 00 +T 2c 00 00 00 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a8_e505_Timeout_20value_20_.rel b/src/nos/lib/messages_lib/03a8_e505_Timeout_20value_20_.rel deleted file mode 100644 index de3cc188..00000000 --- a/src/nos/lib/messages_lib/03a8_e505_Timeout_20value_20_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___03a8_e505_Timeout_20value_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 54 69 6d 65 6f 75 74 20 76 -R 00 00 01 00 -T 0b 00 00 00 61 6c 75 65 20 25 73 20 28 25 64 -R 00 00 01 00 -T 16 00 00 00 29 20 6d 75 73 74 20 62 65 20 3e -R 00 00 01 00 -T 21 00 00 00 20 30 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a9_1db3_Timer_20_20_20_20_2.rel b/src/nos/lib/messages_lib/03a9_1db3_Timer_20_20_20_20_2.rel deleted file mode 100644 index 2179f9d4..00000000 --- a/src/nos/lib/messages_lib/03a9_1db3_Timer_20_20_20_20_2.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 47 flags 0 -S ___03a9_1db3_Timer_20_20_20_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 45 00 54 69 6d 65 72 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 20 20 20 20 43 6f 75 6e 74 20 20 -R 00 00 01 00 -T 16 00 00 00 44 75 72 61 74 69 6f 6e 20 20 4c -R 00 00 01 00 -T 21 00 00 00 61 73 74 20 52 54 54 20 20 20 20 -R 00 00 01 00 -T 2c 00 00 00 20 20 53 52 54 54 20 20 20 20 20 -R 00 00 01 00 -T 37 00 00 00 20 4d 64 65 76 20 20 20 4d 65 74 -R 00 00 01 00 -T 42 00 00 00 68 6f 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03a9_c698_PI_3a_20No_20memory.rel b/src/nos/lib/messages_lib/03a9_c698_PI_3a_20No_20memory.rel new file mode 100644 index 00000000..eeb58027 --- /dev/null +++ b/src/nos/lib/messages_lib/03a9_c698_PI_3a_20No_20memory.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2f flags 0 +S ___03a9_c698_PI_3a_20No_20memory Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2d 00 50 49 3a 20 4e 6f 20 6d 65 +R 00 00 01 00 +T 0b 00 00 00 6d 6f 72 79 20 61 76 61 69 6c 61 +R 00 00 01 00 +T 16 00 00 00 62 6c 65 20 66 6f 72 20 74 72 61 +R 00 00 01 00 +T 21 00 00 00 6e 73 6d 69 74 20 62 75 66 66 65 +R 00 00 01 00 +T 2c 00 00 00 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03aa_d61f_PI_3a_20Set_20mycal.rel b/src/nos/lib/messages_lib/03aa_d61f_PI_3a_20Set_20mycal.rel new file mode 100644 index 00000000..6210a1ec --- /dev/null +++ b/src/nos/lib/messages_lib/03aa_d61f_PI_3a_20Set_20mycal.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___03aa_d61f_PI_3a_20Set_20mycal Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 50 49 3a 20 53 65 74 20 6d +R 00 00 01 00 +T 0b 00 00 00 79 63 61 6c 6c 20 66 69 72 73 74 +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03aa_d78a_Tip_20connection_20.rel b/src/nos/lib/messages_lib/03aa_d78a_Tip_20connection_20.rel deleted file mode 100644 index 216d1666..00000000 --- a/src/nos/lib/messages_lib/03aa_d78a_Tip_20connection_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___03aa_d78a_Tip_20connection_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 54 69 70 20 63 6f 6e 6e 65 -R 00 00 01 00 -T 0b 00 00 00 63 74 69 6f 6e 20 74 69 6d 65 6f -R 00 00 01 00 -T 16 00 00 00 75 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ab_68d4_PID_20_20_20CS_3aIP.rel b/src/nos/lib/messages_lib/03ab_68d4_PID_20_20_20CS_3aIP.rel new file mode 100644 index 00000000..0a311145 --- /dev/null +++ b/src/nos/lib/messages_lib/03ab_68d4_PID_20_20_20CS_3aIP.rel @@ -0,0 +1,22 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 43 flags 0 +S ___03ab_68d4_PID_20_20_20CS_3aIP Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 41 00 50 49 44 20 20 20 43 53 3a +R 00 00 01 00 +T 0b 00 00 00 49 50 20 20 20 20 20 20 53 53 3a +R 00 00 01 00 +T 16 00 00 00 53 50 20 20 20 20 20 20 73 74 61 +R 00 00 01 00 +T 21 00 00 00 63 6b 20 75 73 61 67 65 20 65 76 +R 00 00 01 00 +T 2c 00 00 00 65 6e 74 20 66 6c 20 20 69 6e 20 +R 00 00 01 00 +T 37 00 00 00 20 6f 75 74 20 20 6e 61 6d 65 0a +R 00 00 01 00 +T 42 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ab_c093_Tip_20session_20alr.rel b/src/nos/lib/messages_lib/03ab_c093_Tip_20session_20alr.rel deleted file mode 100644 index 2b203131..00000000 --- a/src/nos/lib/messages_lib/03ab_c093_Tip_20session_20alr.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___03ab_c093_Tip_20session_20alr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 54 69 70 20 73 65 73 73 69 -R 00 00 01 00 -T 0b 00 00 00 6f 6e 20 61 6c 72 65 61 64 79 20 -R 00 00 01 00 -T 16 00 00 00 61 63 74 69 76 65 20 6f 6e 20 25 -R 00 00 01 00 -T 21 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ac_3c62_POP_20access_20DENI.rel b/src/nos/lib/messages_lib/03ac_3c62_POP_20access_20DENI.rel new file mode 100644 index 00000000..049b2812 --- /dev/null +++ b/src/nos/lib/messages_lib/03ac_3c62_POP_20access_20DENI.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___03ac_3c62_POP_20access_20DENI Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 50 4f 50 20 61 63 63 65 73 +R 00 00 01 00 +T 0b 00 00 00 73 20 44 45 4e 49 45 44 20 74 6f +R 00 00 01 00 +T 16 00 00 00 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ac_8c54_To_3a_20_25s_0a.rel b/src/nos/lib/messages_lib/03ac_8c54_To_3a_20_25s_0a.rel deleted file mode 100644 index 93812860..00000000 --- a/src/nos/lib/messages_lib/03ac_8c54_To_3a_20_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___03ac_8c54_To_3a_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 54 6f 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ad_2a55_Too_20many_20HAPN_2.rel b/src/nos/lib/messages_lib/03ad_2a55_Too_20many_20HAPN_2.rel deleted file mode 100644 index b5b9f8d9..00000000 --- a/src/nos/lib/messages_lib/03ad_2a55_Too_20many_20HAPN_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___03ad_2a55_Too_20many_20HAPN_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 54 6f 6f 20 6d 61 6e 79 20 -R 00 00 01 00 -T 0b 00 00 00 48 41 50 4e 20 61 64 61 70 74 6f -R 00 00 01 00 -T 16 00 00 00 72 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ad_f3cf_POP_20access_20gran.rel b/src/nos/lib/messages_lib/03ad_f3cf_POP_20access_20gran.rel new file mode 100644 index 00000000..95f6116b --- /dev/null +++ b/src/nos/lib/messages_lib/03ad_f3cf_POP_20access_20gran.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___03ad_f3cf_POP_20access_20gran Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 50 4f 50 20 61 63 63 65 73 +R 00 00 01 00 +T 0b 00 00 00 73 20 67 72 61 6e 74 65 64 20 74 +R 00 00 01 00 +T 16 00 00 00 6f 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ae_639f_POP_20client_20retr.rel b/src/nos/lib/messages_lib/03ae_639f_POP_20client_20retr.rel new file mode 100644 index 00000000..96e198e4 --- /dev/null +++ b/src/nos/lib/messages_lib/03ae_639f_POP_20client_20retr.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___03ae_639f_POP_20client_20retr Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 50 4f 50 20 63 6c 69 65 6e +R 00 00 01 00 +T 0b 00 00 00 74 20 72 65 74 72 69 65 76 65 64 +R 00 00 01 00 +T 16 00 00 00 20 25 64 20 6d 65 73 73 61 67 65 +R 00 00 01 00 +T 21 00 00 00 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ae_76b7_Too_20many_20asynch.rel b/src/nos/lib/messages_lib/03ae_76b7_Too_20many_20asynch.rel deleted file mode 100644 index 46ba7202..00000000 --- a/src/nos/lib/messages_lib/03ae_76b7_Too_20many_20asynch.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___03ae_76b7_Too_20many_20asynch Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 54 6f 6f 20 6d 61 6e 79 20 -R 00 00 01 00 -T 0b 00 00 00 61 73 79 6e 63 68 20 63 6f 6e 74 -R 00 00 01 00 -T 16 00 00 00 72 6f 6c 6c 65 72 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03af_58f2_Too_20many_20digipe.rel b/src/nos/lib/messages_lib/03af_58f2_Too_20many_20digipe.rel deleted file mode 100644 index 8219b8b3..00000000 --- a/src/nos/lib/messages_lib/03af_58f2_Too_20many_20digipe.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___03af_58f2_Too_20many_20digipe Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 54 6f 6f 20 6d 61 6e 79 20 -R 00 00 01 00 -T 0b 00 00 00 64 69 67 69 70 65 61 74 65 72 73 -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03af_e9bb_POP_20quiet.rel b/src/nos/lib/messages_lib/03af_e9bb_POP_20quiet.rel new file mode 100644 index 00000000..8e859a4c --- /dev/null +++ b/src/nos/lib/messages_lib/03af_e9bb_POP_20quiet.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___03af_e9bb_POP_20quiet Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 50 4f 50 20 71 75 69 65 74 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b0_1231_POP_20users_20file_.rel b/src/nos/lib/messages_lib/03b0_1231_POP_20users_20file_.rel new file mode 100644 index 00000000..9db2946a --- /dev/null +++ b/src/nos/lib/messages_lib/03b0_1231_POP_20users_20file_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___03b0_1231_POP_20users_20file_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 50 4f 50 20 75 73 65 72 73 +R 00 00 01 00 +T 0b 00 00 00 20 66 69 6c 65 20 25 73 20 6e 6f +R 00 00 01 00 +T 16 00 00 00 74 20 66 6f 75 6e 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b0_2d53_Too_20many_20hs_20c.rel b/src/nos/lib/messages_lib/03b0_2d53_Too_20many_20hs_20c.rel deleted file mode 100644 index 8c6b9a86..00000000 --- a/src/nos/lib/messages_lib/03b0_2d53_Too_20many_20hs_20c.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___03b0_2d53_Too_20many_20hs_20c Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 54 6f 6f 20 6d 61 6e 79 20 -R 00 00 01 00 -T 0b 00 00 00 68 73 20 63 6f 6e 74 72 6f 6c 6c -R 00 00 01 00 -T 16 00 00 00 65 72 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b1_286c_Too_20many_20mailbo.rel b/src/nos/lib/messages_lib/03b1_286c_Too_20many_20mailbo.rel deleted file mode 100644 index a7d41394..00000000 --- a/src/nos/lib/messages_lib/03b1_286c_Too_20many_20mailbo.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___03b1_286c_Too_20many_20mailbo Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 54 6f 6f 20 6d 61 6e 79 20 -R 00 00 01 00 -T 0b 00 00 00 6d 61 69 6c 62 6f 78 20 73 65 73 -R 00 00 01 00 -T 16 00 00 00 73 69 6f 6e 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b1_e126_PORT_20_25u_2c_25u_.rel b/src/nos/lib/messages_lib/03b1_e126_PORT_20_25u_2c_25u_.rel new file mode 100644 index 00000000..9d8ec314 --- /dev/null +++ b/src/nos/lib/messages_lib/03b1_e126_PORT_20_25u_2c_25u_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___03b1_e126_PORT_20_25u_2c_25u_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 50 4f 52 54 20 25 75 2c 25 +R 00 00 01 00 +T 0b 00 00 00 75 2c 25 75 2c 25 75 2c 25 75 2c +R 00 00 01 00 +T 16 00 00 00 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b2_4c9a_Too_20many_20nrs_20.rel b/src/nos/lib/messages_lib/03b2_4c9a_Too_20many_20nrs_20.rel deleted file mode 100644 index fc0624a2..00000000 --- a/src/nos/lib/messages_lib/03b2_4c9a_Too_20many_20nrs_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___03b2_4c9a_Too_20many_20nrs_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 54 6f 6f 20 6d 61 6e 79 20 -R 00 00 01 00 -T 0b 00 00 00 6e 72 73 20 64 65 76 69 63 65 73 -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b2_b459_PPP_20tracing.rel b/src/nos/lib/messages_lib/03b2_b459_PPP_20tracing.rel new file mode 100644 index 00000000..33179e3b --- /dev/null +++ b/src/nos/lib/messages_lib/03b2_b459_PPP_20tracing.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___03b2_b459_PPP_20tracing Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 50 50 50 20 74 72 61 63 69 +R 00 00 01 00 +T 0b 00 00 00 6e 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b3_7103_Too_20many_20packet.rel b/src/nos/lib/messages_lib/03b3_7103_Too_20many_20packet.rel deleted file mode 100644 index 2e4ece85..00000000 --- a/src/nos/lib/messages_lib/03b3_7103_Too_20many_20packet.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___03b3_7103_Too_20many_20packet Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 54 6f 6f 20 6d 61 6e 79 20 -R 00 00 01 00 -T 0b 00 00 00 70 61 63 6b 65 74 20 64 72 69 76 -R 00 00 01 00 -T 16 00 00 00 65 72 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b3_b660_PPP_3a_20len_20_253.rel b/src/nos/lib/messages_lib/03b3_b660_PPP_3a_20len_20_253.rel new file mode 100644 index 00000000..603eb786 --- /dev/null +++ b/src/nos/lib/messages_lib/03b3_b660_PPP_3a_20len_20_253.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___03b3_b660_PPP_3a_20len_20_253 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 50 50 50 3a 20 6c 65 6e 20 +R 00 00 01 00 +T 0b 00 00 00 25 33 75 09 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b4_8c73_Packet_20driver_20h.rel b/src/nos/lib/messages_lib/03b4_8c73_Packet_20driver_20h.rel new file mode 100644 index 00000000..29e74a48 --- /dev/null +++ b/src/nos/lib/messages_lib/03b4_8c73_Packet_20driver_20h.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___03b4_8c73_Packet_20driver_20h Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 50 61 63 6b 65 74 20 64 72 +R 00 00 01 00 +T 0b 00 00 00 69 76 65 72 20 68 61 73 20 75 6e +R 00 00 01 00 +T 16 00 00 00 73 75 70 70 6f 72 74 65 64 20 63 +R 00 00 01 00 +T 21 00 00 00 6c 61 73 73 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b4_d8c3_Too_20many_20pc100_.rel b/src/nos/lib/messages_lib/03b4_d8c3_Too_20many_20pc100_.rel deleted file mode 100644 index 4256fd3d..00000000 --- a/src/nos/lib/messages_lib/03b4_d8c3_Too_20many_20pc100_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___03b4_d8c3_Too_20many_20pc100_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 54 6f 6f 20 6d 61 6e 79 20 -R 00 00 01 00 -T 0b 00 00 00 70 63 31 30 30 20 63 6f 6e 74 72 -R 00 00 01 00 -T 16 00 00 00 6f 6c 6c 65 72 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b5_2057_Too_20many_20sessio.rel b/src/nos/lib/messages_lib/03b5_2057_Too_20many_20sessio.rel deleted file mode 100644 index f276a0c8..00000000 --- a/src/nos/lib/messages_lib/03b5_2057_Too_20many_20sessio.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___03b5_2057_Too_20many_20sessio Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 54 6f 6f 20 6d 61 6e 79 20 -R 00 00 01 00 -T 0b 00 00 00 73 65 73 73 69 6f 6e 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b5_e4a3_Pap_09.rel b/src/nos/lib/messages_lib/03b5_e4a3_Pap_09.rel new file mode 100644 index 00000000..0dad8626 --- /dev/null +++ b/src/nos/lib/messages_lib/03b5_e4a3_Pap_09.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___03b5_e4a3_Pap_09 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 50 61 70 09 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b6_447c_Too_20many_20slip_2.rel b/src/nos/lib/messages_lib/03b6_447c_Too_20many_20slip_2.rel deleted file mode 100644 index 976a6ab6..00000000 --- a/src/nos/lib/messages_lib/03b6_447c_Too_20many_20slip_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___03b6_447c_Too_20many_20slip_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 54 6f 6f 20 6d 61 6e 79 20 -R 00 00 01 00 -T 0b 00 00 00 73 6c 69 70 20 64 65 76 69 63 65 -R 00 00 01 00 -T 16 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b6_d638_Pap_0a.rel b/src/nos/lib/messages_lib/03b6_d638_Pap_0a.rel new file mode 100644 index 00000000..9b58c883 --- /dev/null +++ b/src/nos/lib/messages_lib/03b6_d638_Pap_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___03b6_d638_Pap_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 50 61 70 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b7_0d8c_Try_20to_20bounce_2.rel b/src/nos/lib/messages_lib/03b7_0d8c_Try_20to_20bounce_2.rel deleted file mode 100644 index fecd58f1..00000000 --- a/src/nos/lib/messages_lib/03b7_0d8c_Try_20to_20bounce_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___03b7_0d8c_Try_20to_20bounce_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 54 72 79 20 74 6f 20 62 6f -R 00 00 01 00 -T 0b 00 00 00 75 6e 63 65 20 63 75 72 72 65 6e -R 00 00 01 00 -T 16 00 00 00 74 20 75 73 65 72 3f 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b7_8165_Parameter_20_25s_20.rel b/src/nos/lib/messages_lib/03b7_8165_Parameter_20_25s_20.rel new file mode 100644 index 00000000..4a158b9c --- /dev/null +++ b/src/nos/lib/messages_lib/03b7_8165_Parameter_20_25s_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___03b7_8165_Parameter_20_25s_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 50 61 72 61 6d 65 74 65 72 +R 00 00 01 00 +T 0b 00 00 00 20 25 73 20 6e 6f 74 20 73 75 70 +R 00 00 01 00 +T 16 00 00 00 70 6f 72 74 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b8_2030_Trying_20_25s_2e_2e.rel b/src/nos/lib/messages_lib/03b8_2030_Trying_20_25s_2e_2e.rel deleted file mode 100644 index fb8133f3..00000000 --- a/src/nos/lib/messages_lib/03b8_2030_Trying_20_25s_2e_2e.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___03b8_2030_Trying_20_25s_2e_2e Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 54 72 79 69 6e 67 20 25 73 -R 00 00 01 00 -T 0b 00 00 00 2e 2e 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b8_d275_Passively_20opening.rel b/src/nos/lib/messages_lib/03b8_d275_Passively_20opening.rel new file mode 100644 index 00000000..c17ca02a --- /dev/null +++ b/src/nos/lib/messages_lib/03b8_d275_Passively_20opening.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___03b8_d275_Passively_20opening Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 50 61 73 73 69 76 65 6c 79 +R 00 00 01 00 +T 0b 00 00 00 20 6f 70 65 6e 69 6e 67 20 50 50 +R 00 00 01 00 +T 16 00 00 00 50 2d 4c 43 50 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b9_85d2_Password_3a_20.rel b/src/nos/lib/messages_lib/03b9_85d2_Password_3a_20.rel new file mode 100644 index 00000000..b7917e01 --- /dev/null +++ b/src/nos/lib/messages_lib/03b9_85d2_Password_3a_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___03b9_85d2_Password_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 50 61 73 73 77 6f 72 64 3a +R 00 00 01 00 +T 0b 00 00 00 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03b9_cee2_Trying_20_25s_2e_2e.rel b/src/nos/lib/messages_lib/03b9_cee2_Trying_20_25s_2e_2e.rel deleted file mode 100644 index ce8410c5..00000000 --- a/src/nos/lib/messages_lib/03b9_cee2_Trying_20_25s_2e_2e.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___03b9_cee2_Trying_20_25s_2e_2e Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 54 72 79 69 6e 67 20 25 73 -R 00 00 01 00 -T 0b 00 00 00 2e 2e 2e 20 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ba_be29_Trying_20Connection.rel b/src/nos/lib/messages_lib/03ba_be29_Trying_20Connection.rel deleted file mode 100644 index 34380253..00000000 --- a/src/nos/lib/messages_lib/03ba_be29_Trying_20Connection.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___03ba_be29_Trying_20Connection Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 54 72 79 69 6e 67 20 43 6f -R 00 00 01 00 -T 0b 00 00 00 6e 6e 65 63 74 69 6f 6e 20 74 6f -R 00 00 01 00 -T 16 00 00 00 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ba_cb37_Password_3a_20_25c_.rel b/src/nos/lib/messages_lib/03ba_cb37_Password_3a_20_25c_.rel new file mode 100644 index 00000000..777d1741 --- /dev/null +++ b/src/nos/lib/messages_lib/03ba_cb37_Password_3a_20_25c_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___03ba_cb37_Password_3a_20_25c_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 50 61 73 73 77 6f 72 64 3a +R 00 00 01 00 +T 0b 00 00 00 20 25 63 25 63 25 63 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03bb_6310_Path_3a_20.rel b/src/nos/lib/messages_lib/03bb_6310_Path_3a_20.rel new file mode 100644 index 00000000..281af087 --- /dev/null +++ b/src/nos/lib/messages_lib/03bb_6310_Path_3a_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___03bb_6310_Path_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 50 61 74 68 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03bb_9c56_Tstate_20_3d_20_25s.rel b/src/nos/lib/messages_lib/03bb_9c56_Tstate_20_3d_20_25s.rel deleted file mode 100644 index dbf90383..00000000 --- a/src/nos/lib/messages_lib/03bb_9c56_Tstate_20_3d_20_25s.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___03bb_9c56_Tstate_20_3d_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 54 73 74 61 74 65 20 3d 20 -R 00 00 01 00 -T 0b 00 00 00 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03bc_2890_Peer_20requested_20.rel b/src/nos/lib/messages_lib/03bc_2890_Peer_20requested_20.rel new file mode 100644 index 00000000..92a9732d --- /dev/null +++ b/src/nos/lib/messages_lib/03bc_2890_Peer_20requested_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___03bc_2890_Peer_20requested_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 50 65 65 72 20 72 65 71 75 +R 00 00 01 00 +T 0b 00 00 00 65 73 74 65 64 20 54 65 72 6d 69 +R 00 00 01 00 +T 16 00 00 00 6e 61 74 69 6f 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03bc_6afe_Turn_20off_20local_.rel b/src/nos/lib/messages_lib/03bc_6afe_Turn_20off_20local_.rel deleted file mode 100644 index 51176e47..00000000 --- a/src/nos/lib/messages_lib/03bc_6afe_Turn_20off_20local_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___03bc_6afe_Turn_20off_20local_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 54 75 72 6e 20 6f 66 66 20 -R 00 00 01 00 -T 0b 00 00 00 6c 6f 63 61 6c 20 65 63 68 6f 3f -R 00 00 01 00 -T 16 00 00 00 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03bd_c801_Tx_20state_20_20_25.rel b/src/nos/lib/messages_lib/03bd_c801_Tx_20state_20_20_25.rel deleted file mode 100644 index ed3ad250..00000000 --- a/src/nos/lib/messages_lib/03bd_c801_Tx_20state_20_20_25.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___03bd_c801_Tx_20state_20_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 54 78 20 73 74 61 74 65 20 -R 00 00 01 00 -T 0b 00 00 00 20 25 38 64 20 20 52 78 20 73 74 -R 00 00 01 00 -T 16 00 00 00 61 74 65 20 20 25 38 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03bd_f75b_Persistence_3a_20_2.rel b/src/nos/lib/messages_lib/03bd_f75b_Persistence_3a_20_2.rel new file mode 100644 index 00000000..6edb79a4 --- /dev/null +++ b/src/nos/lib/messages_lib/03bd_f75b_Persistence_3a_20_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___03bd_f75b_Persistence_3a_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 50 65 72 73 69 73 74 65 6e +R 00 00 01 00 +T 0b 00 00 00 63 65 3a 20 25 75 2f 32 35 36 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03be_63e4_Physical_20Line_20D.rel b/src/nos/lib/messages_lib/03be_63e4_Physical_20Line_20D.rel new file mode 100644 index 00000000..bfeb50d5 --- /dev/null +++ b/src/nos/lib/messages_lib/03be_63e4_Physical_20Line_20D.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___03be_63e4_Physical_20Line_20D Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 50 68 79 73 69 63 61 6c 20 +R 00 00 01 00 +T 0b 00 00 00 4c 69 6e 65 20 44 65 61 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03be_be1b_Tx_20state_20_20_25.rel b/src/nos/lib/messages_lib/03be_be1b_Tx_20state_20_20_25.rel deleted file mode 100644 index ca80994b..00000000 --- a/src/nos/lib/messages_lib/03be_be1b_Tx_20state_20_20_25.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21 flags 0 -S ___03be_be1b_Tx_20state_20_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1f 00 54 78 20 73 74 61 74 65 20 -R 00 00 01 00 -T 0b 00 00 00 20 25 38 64 20 20 52 78 20 73 74 -R 00 00 01 00 -T 16 00 00 00 61 74 65 20 20 25 38 64 0a 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03bf_48f5_Physical_20layer_20.rel b/src/nos/lib/messages_lib/03bf_48f5_Physical_20layer_20.rel new file mode 100644 index 00000000..3f1c80d9 --- /dev/null +++ b/src/nos/lib/messages_lib/03bf_48f5_Physical_20layer_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___03bf_48f5_Physical_20layer_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 50 68 79 73 69 63 61 6c 20 +R 00 00 01 00 +T 0b 00 00 00 6c 61 79 65 72 20 64 6f 77 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03bf_e1f6_TxBuffers_3a_20_20S.rel b/src/nos/lib/messages_lib/03bf_e1f6_TxBuffers_3a_20_20S.rel deleted file mode 100644 index a63f74d3..00000000 --- a/src/nos/lib/messages_lib/03bf_e1f6_TxBuffers_3a_20_20S.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 27 flags 0 -S ___03bf_e1f6_TxBuffers_3a_20_20S Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 25 00 54 78 42 75 66 66 65 72 73 -R 00 00 01 00 -T 0b 00 00 00 3a 20 20 53 65 71 20 20 53 69 7a -R 00 00 01 00 -T 16 00 00 00 65 20 20 54 72 69 65 73 20 20 54 -R 00 00 01 00 -T 21 00 00 00 69 6d 65 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c0_5cfe_Txdefer_20_2d_20_25.rel b/src/nos/lib/messages_lib/03c0_5cfe_Txdefer_20_2d_20_25.rel deleted file mode 100644 index 3b7349d2..00000000 --- a/src/nos/lib/messages_lib/03c0_5cfe_Txdefer_20_2d_20_25.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 32 flags 0 -S ___03c0_5cfe_Txdefer_20_2d_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 30 00 54 78 64 65 66 65 72 20 2d -R 00 00 01 00 -T 0b 00 00 00 20 25 38 6c 64 20 20 54 78 70 70 -R 00 00 01 00 -T 16 00 00 00 65 72 73 20 2d 20 25 38 6c 64 20 -R 00 00 01 00 -T 21 00 00 00 20 4e 6f 6d 65 6d 20 20 20 2d 20 -R 00 00 01 00 -T 2c 00 00 00 25 38 6c 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c0_caac_Physical_20layer_20.rel b/src/nos/lib/messages_lib/03c0_caac_Physical_20layer_20.rel new file mode 100644 index 00000000..87441add --- /dev/null +++ b/src/nos/lib/messages_lib/03c0_caac_Physical_20layer_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___03c0_caac_Physical_20layer_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 50 68 79 73 69 63 61 6c 20 +R 00 00 01 00 +T 0b 00 00 00 6c 61 79 65 72 20 75 70 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c1_7bc8_Pinging_20_25s_0a.rel b/src/nos/lib/messages_lib/03c1_7bc8_Pinging_20_25s_0a.rel new file mode 100644 index 00000000..a6b2fcc0 --- /dev/null +++ b/src/nos/lib/messages_lib/03c1_7bc8_Pinging_20_25s_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___03c1_7bc8_Pinging_20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 50 69 6e 67 69 6e 67 20 25 +R 00 00 01 00 +T 0b 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c1_e733_U_20filename.rel b/src/nos/lib/messages_lib/03c1_e733_U_20filename.rel deleted file mode 100644 index a1179bf1..00000000 --- a/src/nos/lib/messages_lib/03c1_e733_U_20filename.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___03c1_e733_U_20filename Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 55 20 66 69 6c 65 6e 61 6d -R 00 00 01 00 -T 0b 00 00 00 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c2_9059_UDP_3a.rel b/src/nos/lib/messages_lib/03c2_9059_UDP_3a.rel deleted file mode 100644 index 9cb1c7a3..00000000 --- a/src/nos/lib/messages_lib/03c2_9059_UDP_3a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___03c2_9059_UDP_3a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 55 44 50 3a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c2_94a5_Pinging_20resumed_0.rel b/src/nos/lib/messages_lib/03c2_94a5_Pinging_20resumed_0.rel new file mode 100644 index 00000000..55951a18 --- /dev/null +++ b/src/nos/lib/messages_lib/03c2_94a5_Pinging_20resumed_0.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___03c2_94a5_Pinging_20resumed_0 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 50 69 6e 67 69 6e 67 20 72 +R 00 00 01 00 +T 0b 00 00 00 65 73 75 6d 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c3_7fa9_Pinging_20suspended.rel b/src/nos/lib/messages_lib/03c3_7fa9_Pinging_20suspended.rel new file mode 100644 index 00000000..6ccd55a6 --- /dev/null +++ b/src/nos/lib/messages_lib/03c3_7fa9_Pinging_20suspended.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___03c3_7fa9_Pinging_20suspended Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 50 69 6e 67 69 6e 67 20 73 +R 00 00 01 00 +T 0b 00 00 00 75 73 70 65 6e 64 65 64 2c 20 25 +R 00 00 01 00 +T 16 00 00 00 6c 75 20 73 65 6e 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c3_a945_USER_20_25s.rel b/src/nos/lib/messages_lib/03c3_a945_USER_20_25s.rel deleted file mode 100644 index c77206a5..00000000 --- a/src/nos/lib/messages_lib/03c3_a945_USER_20_25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___03c3_a945_USER_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 55 53 45 52 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c4_220f_Please_20hang_20up_.rel b/src/nos/lib/messages_lib/03c4_220f_Please_20hang_20up_.rel new file mode 100644 index 00000000..e0673471 --- /dev/null +++ b/src/nos/lib/messages_lib/03c4_220f_Please_20hang_20up_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___03c4_220f_Please_20hang_20up_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 50 6c 65 61 73 65 20 68 61 +R 00 00 01 00 +T 0b 00 00 00 6e 67 20 75 70 20 6e 6f 77 2e 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c4_41aa_Unknown_20command.rel b/src/nos/lib/messages_lib/03c4_41aa_Unknown_20command.rel deleted file mode 100644 index 638601a0..00000000 --- a/src/nos/lib/messages_lib/03c4_41aa_Unknown_20command.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___03c4_41aa_Unknown_20command Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 55 6e 6b 6e 6f 77 6e 20 63 -R 00 00 01 00 -T 0b 00 00 00 6f 6d 6d 61 6e 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c5_4304_Poll_20threshold_20.rel b/src/nos/lib/messages_lib/03c5_4304_Poll_20threshold_20.rel new file mode 100644 index 00000000..67e10009 --- /dev/null +++ b/src/nos/lib/messages_lib/03c5_4304_Poll_20threshold_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___03c5_4304_Poll_20threshold_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 50 6f 6c 6c 20 74 68 72 65 +R 00 00 01 00 +T 0b 00 00 00 73 68 6f 6c 64 20 28 62 79 74 65 +R 00 00 01 00 +T 16 00 00 00 73 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c5_e21a_Unknown_20command_2.rel b/src/nos/lib/messages_lib/03c5_e21a_Unknown_20command_2.rel deleted file mode 100644 index 81334177..00000000 --- a/src/nos/lib/messages_lib/03c5_e21a_Unknown_20command_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___03c5_e21a_Unknown_20command_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 55 6e 6b 6e 6f 77 6e 20 63 -R 00 00 01 00 -T 0b 00 00 00 6f 6d 6d 61 6e 64 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c6_b975_Unknown_20command_3.rel b/src/nos/lib/messages_lib/03c6_b975_Unknown_20command_3.rel deleted file mode 100644 index 6682ba52..00000000 --- a/src/nos/lib/messages_lib/03c6_b975_Unknown_20command_3.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___03c6_b975_Unknown_20command_3 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 55 6e 6b 6e 6f 77 6e 20 63 -R 00 00 01 00 -T 0b 00 00 00 6f 6d 6d 61 6e 64 3b 20 74 79 70 -R 00 00 01 00 -T 16 00 00 00 65 20 22 3f 22 20 66 6f 72 20 6c -R 00 00 01 00 -T 21 00 00 00 69 73 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c6_f8a0_Pool_20count_20_25s.rel b/src/nos/lib/messages_lib/03c6_f8a0_Pool_20count_20_25s.rel new file mode 100644 index 00000000..d862af74 --- /dev/null +++ b/src/nos/lib/messages_lib/03c6_f8a0_Pool_20count_20_25s.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___03c6_f8a0_Pool_20count_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 50 6f 6f 6c 20 63 6f 75 6e +R 00 00 01 00 +T 0b 00 00 00 74 20 25 73 20 28 25 64 29 20 6d +R 00 00 01 00 +T 16 00 00 00 75 73 74 20 62 65 20 3e 20 30 0a +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c7_d2a4_Unknown_20encapsula.rel b/src/nos/lib/messages_lib/03c7_d2a4_Unknown_20encapsula.rel deleted file mode 100644 index 9b0e7c8f..00000000 --- a/src/nos/lib/messages_lib/03c7_d2a4_Unknown_20encapsula.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___03c7_d2a4_Unknown_20encapsula Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 55 6e 6b 6e 6f 77 6e 20 65 -R 00 00 01 00 -T 0b 00 00 00 6e 63 61 70 73 75 6c 61 74 69 6f -R 00 00 01 00 -T 16 00 00 00 6e 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c7_dd4d_Protocol_20Field_20.rel b/src/nos/lib/messages_lib/03c7_dd4d_Protocol_20Field_20.rel new file mode 100644 index 00000000..9a3cbebb --- /dev/null +++ b/src/nos/lib/messages_lib/03c7_dd4d_Protocol_20Field_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___03c7_dd4d_Protocol_20Field_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 50 72 6f 74 6f 63 6f 6c 20 +R 00 00 01 00 +T 0b 00 00 00 46 69 65 6c 64 20 43 6f 6d 70 72 +R 00 00 01 00 +T 16 00 00 00 65 73 73 69 6f 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c8_8cf4_Unknown_20parameter.rel b/src/nos/lib/messages_lib/03c8_8cf4_Unknown_20parameter.rel deleted file mode 100644 index 629d4c5e..00000000 --- a/src/nos/lib/messages_lib/03c8_8cf4_Unknown_20parameter.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___03c8_8cf4_Unknown_20parameter Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 55 6e 6b 6e 6f 77 6e 20 70 -R 00 00 01 00 -T 0b 00 00 00 61 72 61 6d 65 74 65 72 20 25 73 -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c8_c251_Protocol_20Reject.rel b/src/nos/lib/messages_lib/03c8_c251_Protocol_20Reject.rel new file mode 100644 index 00000000..fcfb835a --- /dev/null +++ b/src/nos/lib/messages_lib/03c8_c251_Protocol_20Reject.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___03c8_c251_Protocol_20Reject Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 50 72 6f 74 6f 63 6f 6c 20 +R 00 00 01 00 +T 0b 00 00 00 52 65 6a 65 63 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c9_744a_QUIT_0a.rel b/src/nos/lib/messages_lib/03c9_744a_QUIT_0a.rel new file mode 100644 index 00000000..49ec095d --- /dev/null +++ b/src/nos/lib/messages_lib/03c9_744a_QUIT_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___03c9_744a_QUIT_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 51 55 49 54 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03c9_eb24_Update_20with_20MD5.rel b/src/nos/lib/messages_lib/03c9_eb24_Update_20with_20MD5.rel deleted file mode 100644 index 21442785..00000000 --- a/src/nos/lib/messages_lib/03c9_eb24_Update_20with_20MD5.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___03c9_eb24_Update_20with_20MD5 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 55 70 64 61 74 65 20 77 69 -R 00 00 01 00 -T 0b 00 00 00 74 68 20 4d 44 35 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ca_43c0_Quality_20cannot_20.rel b/src/nos/lib/messages_lib/03ca_43c0_Quality_20cannot_20.rel new file mode 100644 index 00000000..163c1ca5 --- /dev/null +++ b/src/nos/lib/messages_lib/03ca_43c0_Quality_20cannot_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___03ca_43c0_Quality_20cannot_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 51 75 61 6c 69 74 79 20 63 +R 00 00 01 00 +T 0b 00 00 00 61 6e 6e 6f 74 20 62 65 20 67 72 +R 00 00 01 00 +T 16 00 00 00 65 61 74 65 72 20 74 68 61 6e 20 +R 00 00 01 00 +T 21 00 00 00 32 35 35 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ca_7d7d_Uploading_20_25s_0a.rel b/src/nos/lib/messages_lib/03ca_7d7d_Uploading_20_25s_0a.rel deleted file mode 100644 index 5bdb6593..00000000 --- a/src/nos/lib/messages_lib/03ca_7d7d_Uploading_20_25s_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___03ca_7d7d_Uploading_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 55 70 6c 6f 61 64 69 6e 67 -R 00 00 01 00 -T 0b 00 00 00 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03cb_b523_Queue_20limit_20_28.rel b/src/nos/lib/messages_lib/03cb_b523_Queue_20limit_20_28.rel new file mode 100644 index 00000000..0320882f --- /dev/null +++ b/src/nos/lib/messages_lib/03cb_b523_Queue_20limit_20_28.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___03cb_b523_Queue_20limit_20_28 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 51 75 65 75 65 20 6c 69 6d +R 00 00 01 00 +T 0b 00 00 00 69 74 20 28 62 79 74 65 73 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03cb_bd81_Uploading_20off_0a.rel b/src/nos/lib/messages_lib/03cb_bd81_Uploading_20off_0a.rel deleted file mode 100644 index 8997cbba..00000000 --- a/src/nos/lib/messages_lib/03cb_bd81_Uploading_20off_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___03cb_bd81_Uploading_20off_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 55 70 6c 6f 61 64 69 6e 67 -R 00 00 01 00 -T 0b 00 00 00 20 6f 66 66 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03cc_4a0a_R_20numbers.rel b/src/nos/lib/messages_lib/03cc_4a0a_R_20numbers.rel new file mode 100644 index 00000000..03f67f60 --- /dev/null +++ b/src/nos/lib/messages_lib/03cc_4a0a_R_20numbers.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___03cc_4a0a_R_20numbers Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 52 20 6e 75 6d 62 65 72 73 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03cc_6d70_Uptime_20_25s_20Sta.rel b/src/nos/lib/messages_lib/03cc_6d70_Uptime_20_25s_20Sta.rel deleted file mode 100644 index 16d7a06f..00000000 --- a/src/nos/lib/messages_lib/03cc_6d70_Uptime_20_25s_20Sta.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___03cc_6d70_Uptime_20_25s_20Sta Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 55 70 74 69 6d 65 20 25 73 -R 00 00 01 00 -T 0b 00 00 00 20 53 74 61 63 6b 20 25 78 20 6d -R 00 00 01 00 -T 16 00 00 00 61 78 20 69 6e 74 73 74 6b 20 25 -R 00 00 01 00 -T 21 00 00 00 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03cd_0a8d_Usage_3a_20.rel b/src/nos/lib/messages_lib/03cd_0a8d_Usage_3a_20.rel deleted file mode 100644 index fd293b07..00000000 --- a/src/nos/lib/messages_lib/03cd_0a8d_Usage_3a_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___03cd_0a8d_Usage_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 55 73 61 67 65 3a 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03cd_db0e_R_3a_25s_20_40_25s_.rel b/src/nos/lib/messages_lib/03cd_db0e_R_3a_25s_20_40_25s_.rel new file mode 100644 index 00000000..410a2b10 --- /dev/null +++ b/src/nos/lib/messages_lib/03cd_db0e_R_3a_25s_20_40_25s_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___03cd_db0e_R_3a_25s_20_40_25s_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 52 3a 25 73 20 40 25 73 20 +R 00 00 01 00 +T 0b 00 00 00 25 73 20 28 25 73 29 0a 52 3a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ce_125c_Usage_3a_20_25s_20_.rel b/src/nos/lib/messages_lib/03ce_125c_Usage_3a_20_25s_20_.rel deleted file mode 100644 index d5c19baa..00000000 --- a/src/nos/lib/messages_lib/03ce_125c_Usage_3a_20_25s_20_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___03ce_125c_Usage_3a_20_25s_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 55 73 61 67 65 3a 20 25 73 -R 00 00 01 00 -T 0b 00 00 00 20 5b 73 74 61 6e 64 61 72 64 7c -R 00 00 01 00 -T 16 00 00 00 6e 75 6c 6c 5d 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ce_373f_REQUEST.rel b/src/nos/lib/messages_lib/03ce_373f_REQUEST.rel new file mode 100644 index 00000000..76cb1b4d --- /dev/null +++ b/src/nos/lib/messages_lib/03ce_373f_REQUEST.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___03ce_373f_REQUEST Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 52 45 51 55 45 53 54 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03cf_19a4_RESPONSE.rel b/src/nos/lib/messages_lib/03cf_19a4_RESPONSE.rel new file mode 100644 index 00000000..42bd4c1e --- /dev/null +++ b/src/nos/lib/messages_lib/03cf_19a4_RESPONSE.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___03cf_19a4_RESPONSE Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 52 45 53 50 4f 4e 53 45 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03cf_6ae1_Usage_3a_20F_20user.rel b/src/nos/lib/messages_lib/03cf_6ae1_Usage_3a_20F_20user.rel deleted file mode 100644 index ac43f8fa..00000000 --- a/src/nos/lib/messages_lib/03cf_6ae1_Usage_3a_20F_20user.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 30 flags 0 -S ___03cf_6ae1_Usage_3a_20F_20user Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2e 00 55 73 61 67 65 3a 20 46 20 -R 00 00 01 00 -T 0b 00 00 00 75 73 65 72 40 68 6f 73 74 20 20 -R 00 00 01 00 -T 16 00 00 00 6f 72 20 20 46 20 40 68 6f 73 74 -R 00 00 01 00 -T 21 00 00 00 20 20 6f 72 20 20 46 20 75 73 65 -R 00 00 01 00 -T 2c 00 00 00 72 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d0_7dd1_Usage_3a_20ax25_20r.rel b/src/nos/lib/messages_lib/03d0_7dd1_Usage_3a_20ax25_20r.rel deleted file mode 100644 index b8e8dacb..00000000 --- a/src/nos/lib/messages_lib/03d0_7dd1_Usage_3a_20ax25_20r.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2d flags 0 -S ___03d0_7dd1_Usage_3a_20ax25_20r Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2b 00 55 73 61 67 65 3a 20 61 78 -R 00 00 01 00 -T 0b 00 00 00 32 35 20 72 6f 75 74 65 20 61 64 -R 00 00 01 00 -T 16 00 00 00 64 20 3c 74 61 72 67 65 74 3e 20 -R 00 00 01 00 -T 21 00 00 00 5b 64 69 67 69 73 2e 2e 2e 5d 0a -R 00 00 01 00 -T 2c 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d0_8b13_RETR_20_25s.rel b/src/nos/lib/messages_lib/03d0_8b13_RETR_20_25s.rel new file mode 100644 index 00000000..29526c00 --- /dev/null +++ b/src/nos/lib/messages_lib/03d0_8b13_RETR_20_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___03d0_8b13_RETR_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 52 45 54 52 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d1_86e9_RETURN_0a.rel b/src/nos/lib/messages_lib/03d1_86e9_RETURN_0a.rel new file mode 100644 index 00000000..157dd5f9 --- /dev/null +++ b/src/nos/lib/messages_lib/03d1_86e9_RETURN_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___03d1_86e9_RETURN_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 52 45 54 55 52 4e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d1_f8b8_Usage_3a_20dial_20_.rel b/src/nos/lib/messages_lib/03d1_f8b8_Usage_3a_20dial_20_.rel deleted file mode 100644 index 26b3bd5d..00000000 --- a/src/nos/lib/messages_lib/03d1_f8b8_Usage_3a_20dial_20_.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 43 flags 0 -S ___03d1_f8b8_Usage_3a_20dial_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 41 00 55 73 61 67 65 3a 20 64 69 -R 00 00 01 00 -T 0b 00 00 00 61 6c 20 3c 69 66 61 63 65 3e 20 -R 00 00 01 00 -T 16 00 00 00 3c 74 69 6d 65 6f 75 74 3e 20 3c -R 00 00 01 00 -T 21 00 00 00 72 61 69 73 65 66 69 6c 65 3e 20 -R 00 00 01 00 -T 2c 00 00 00 3c 64 72 6f 70 66 69 6c 65 3e 20 -R 00 00 01 00 -T 37 00 00 00 3c 72 69 6e 67 66 69 6c 65 3e 0a -R 00 00 01 00 -T 42 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d2_a375_Usage_3a_20mbox_20m.rel b/src/nos/lib/messages_lib/03d2_a375_Usage_3a_20mbox_20m.rel deleted file mode 100644 index a70a92db..00000000 --- a/src/nos/lib/messages_lib/03d2_a375_Usage_3a_20mbox_20m.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___03d2_a375_Usage_3a_20mbox_20m Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 55 73 61 67 65 3a 20 6d 62 -R 00 00 01 00 -T 0b 00 00 00 6f 78 20 6d 6f 74 64 20 22 3c 79 -R 00 00 01 00 -T 16 00 00 00 6f 75 72 20 6d 65 73 73 61 67 65 -R 00 00 01 00 -T 21 00 00 00 3e 22 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d2_bbdb_RFrames_20_2d_20_25.rel b/src/nos/lib/messages_lib/03d2_bbdb_RFrames_20_2d_20_25.rel new file mode 100644 index 00000000..6607fa8b --- /dev/null +++ b/src/nos/lib/messages_lib/03d2_bbdb_RFrames_20_2d_20_25.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 32 flags 0 +S ___03d2_bbdb_RFrames_20_2d_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 30 00 52 46 72 61 6d 65 73 20 2d +R 00 00 01 00 +T 0b 00 00 00 20 25 38 6c 64 20 20 52 78 6f 76 +R 00 00 01 00 +T 16 00 00 00 65 72 73 20 2d 20 25 38 6c 64 20 +R 00 00 01 00 +T 21 00 00 00 20 54 6f 6f 42 69 67 20 20 2d 20 +R 00 00 01 00 +T 2c 00 00 00 25 38 6c 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d3_8cfb_Usage_3a_20pop_20us.rel b/src/nos/lib/messages_lib/03d3_8cfb_Usage_3a_20pop_20us.rel deleted file mode 100644 index 333b9bf4..00000000 --- a/src/nos/lib/messages_lib/03d3_8cfb_Usage_3a_20pop_20us.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2d flags 0 -S ___03d3_8cfb_Usage_3a_20pop_20us Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2b 00 55 73 61 67 65 3a 20 70 6f -R 00 00 01 00 -T 0b 00 00 00 70 20 75 73 65 72 64 61 74 61 20 -R 00 00 01 00 -T 16 00 00 00 3c 75 73 65 72 6e 61 6d 65 3e 20 -R 00 00 01 00 -T 21 00 00 00 3c 70 61 73 73 77 6f 72 64 3e 0a -R 00 00 01 00 -T 2c 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d3_f9d6_RIP_20merging.rel b/src/nos/lib/messages_lib/03d3_f9d6_RIP_20merging.rel new file mode 100644 index 00000000..ef6cc6bd --- /dev/null +++ b/src/nos/lib/messages_lib/03d3_f9d6_RIP_20merging.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___03d3_f9d6_RIP_20merging Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 52 49 50 20 6d 65 72 67 69 +R 00 00 01 00 +T 0b 00 00 00 6e 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d4_3211_RIP_20refused_20fro.rel b/src/nos/lib/messages_lib/03d4_3211_RIP_20refused_20fro.rel new file mode 100644 index 00000000..bb21d3bc --- /dev/null +++ b/src/nos/lib/messages_lib/03d4_3211_RIP_20refused_20fro.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___03d4_3211_RIP_20refused_20fro Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 52 49 50 20 72 65 66 75 73 +R 00 00 01 00 +T 0b 00 00 00 65 64 20 66 72 6f 6d 20 25 73 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d4_a2c0_Usage_3a_20smtp_20m.rel b/src/nos/lib/messages_lib/03d4_a2c0_Usage_3a_20smtp_20m.rel deleted file mode 100644 index 6dad57b6..00000000 --- a/src/nos/lib/messages_lib/03d4_a2c0_Usage_3a_20smtp_20m.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___03d4_a2c0_Usage_3a_20smtp_20m Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 55 73 61 67 65 3a 20 73 6d -R 00 00 01 00 -T 0b 00 00 00 74 70 20 6d 6f 64 65 20 5b 71 75 -R 00 00 01 00 -T 16 00 00 00 65 75 65 20 7c 20 72 6f 75 74 65 -R 00 00 01 00 -T 21 00 00 00 5d 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d5_8827_RIP_20tracing.rel b/src/nos/lib/messages_lib/03d5_8827_RIP_20tracing.rel new file mode 100644 index 00000000..5dda8d8f --- /dev/null +++ b/src/nos/lib/messages_lib/03d5_8827_RIP_20tracing.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___03d5_8827_RIP_20tracing Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 52 49 50 20 74 72 61 63 69 +R 00 00 01 00 +T 0b 00 00 00 6e 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d5_9654_Use_20the_20ax25_20.rel b/src/nos/lib/messages_lib/03d5_9654_Use_20the_20ax25_20.rel deleted file mode 100644 index 4f04a6a2..00000000 --- a/src/nos/lib/messages_lib/03d5_9654_Use_20the_20ax25_20.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 35 flags 0 -S ___03d5_9654_Use_20the_20ax25_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 33 00 55 73 65 20 74 68 65 20 61 -R 00 00 01 00 -T 0b 00 00 00 78 32 35 20 72 6f 75 74 65 20 63 -R 00 00 01 00 -T 16 00 00 00 6f 6d 6d 61 6e 64 20 74 6f 20 73 -R 00 00 01 00 -T 21 00 00 00 70 65 63 69 66 79 20 64 69 67 69 -R 00 00 01 00 -T 2c 00 00 00 70 65 61 74 65 72 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d6_4893_User_20_20_20_20_20.rel b/src/nos/lib/messages_lib/03d6_4893_User_20_20_20_20_20.rel deleted file mode 100644 index f0dbc304..00000000 --- a/src/nos/lib/messages_lib/03d6_4893_User_20_20_20_20_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21 flags 0 -S ___03d6_4893_User_20_20_20_20_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1f 00 55 73 65 72 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 20 20 53 74 61 74 65 20 20 20 20 -R 00 00 01 00 -T 16 00 00 00 53 23 20 20 57 68 65 72 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d6_5585_RIP_3a_20.rel b/src/nos/lib/messages_lib/03d6_5585_RIP_3a_20.rel new file mode 100644 index 00000000..851b3c46 --- /dev/null +++ b/src/nos/lib/messages_lib/03d6_5585_RIP_3a_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___03d6_5585_RIP_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 52 49 50 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d7_633f_User_20_25s_20not_2.rel b/src/nos/lib/messages_lib/03d7_633f_User_20_25s_20not_2.rel deleted file mode 100644 index 8a4b58a1..00000000 --- a/src/nos/lib/messages_lib/03d7_633f_User_20_25s_20not_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___03d7_633f_User_20_25s_20not_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 55 73 65 72 20 25 73 20 6e -R 00 00 01 00 -T 0b 00 00 00 6f 74 20 6b 6e 6f 77 6e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d7_fd1d_RIP_3a_20sent_20_25.rel b/src/nos/lib/messages_lib/03d7_fd1d_RIP_3a_20sent_20_25.rel new file mode 100644 index 00000000..943ffb64 --- /dev/null +++ b/src/nos/lib/messages_lib/03d7_fd1d_RIP_3a_20sent_20_25.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 41 flags 0 +S ___03d7_fd1d_RIP_3a_20sent_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 3f 00 52 49 50 3a 20 73 65 6e 74 +R 00 00 01 00 +T 0b 00 00 00 20 25 6c 75 20 72 63 76 64 20 25 +R 00 00 01 00 +T 16 00 00 00 6c 75 20 72 65 71 73 74 20 25 6c +R 00 00 01 00 +T 21 00 00 00 75 20 72 65 73 70 20 25 6c 75 20 +R 00 00 01 00 +T 2c 00 00 00 75 6e 6b 20 25 6c 75 20 72 65 66 +R 00 00 01 00 +T 37 00 00 00 75 73 65 64 20 25 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d8_6b7c_RIPCMD_3a_20Unknown.rel b/src/nos/lib/messages_lib/03d8_6b7c_RIPCMD_3a_20Unknown.rel new file mode 100644 index 00000000..9ead7162 --- /dev/null +++ b/src/nos/lib/messages_lib/03d8_6b7c_RIPCMD_3a_20Unknown.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___03d8_6b7c_RIPCMD_3a_20Unknown Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 52 49 50 43 4d 44 3a 20 55 +R 00 00 01 00 +T 0b 00 00 00 6e 6b 6e 6f 77 6e 20 54 79 70 65 +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d8_75ef_V_20numbers.rel b/src/nos/lib/messages_lib/03d8_75ef_V_20numbers.rel deleted file mode 100644 index 5e6a3801..00000000 --- a/src/nos/lib/messages_lib/03d8_75ef_V_20numbers.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___03d8_75ef_V_20numbers Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 56 20 6e 75 6d 62 65 72 73 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d9_4b9d_VJ_20Compressed_20T.rel b/src/nos/lib/messages_lib/03d9_4b9d_VJ_20Compressed_20T.rel deleted file mode 100644 index be274577..00000000 --- a/src/nos/lib/messages_lib/03d9_4b9d_VJ_20Compressed_20T.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___03d9_4b9d_VJ_20Compressed_20T Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 56 4a 20 43 6f 6d 70 72 65 -R 00 00 01 00 -T 0b 00 00 00 73 73 65 64 20 54 43 50 2f 49 50 -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03d9_5f5f_RIPCMD_5fREQUEST_0a.rel b/src/nos/lib/messages_lib/03d9_5f5f_RIPCMD_5fREQUEST_0a.rel new file mode 100644 index 00000000..87d80d8a --- /dev/null +++ b/src/nos/lib/messages_lib/03d9_5f5f_RIPCMD_5fREQUEST_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___03d9_5f5f_RIPCMD_5fREQUEST_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 52 49 50 43 4d 44 5f 52 45 +R 00 00 01 00 +T 0b 00 00 00 51 55 45 53 54 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03da_07f6_RIPCMD_5fRESPONSE_2.rel b/src/nos/lib/messages_lib/03da_07f6_RIPCMD_5fRESPONSE_2.rel new file mode 100644 index 00000000..7a5611a8 --- /dev/null +++ b/src/nos/lib/messages_lib/03da_07f6_RIPCMD_5fRESPONSE_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___03da_07f6_RIPCMD_5fRESPONSE_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 52 49 50 43 4d 44 5f 52 45 +R 00 00 01 00 +T 0b 00 00 00 53 50 4f 4e 53 45 20 66 72 6f 6d +R 00 00 01 00 +T 16 00 00 00 20 25 73 20 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03da_2be9_VJ_20Uncompressed_2.rel b/src/nos/lib/messages_lib/03da_2be9_VJ_20Uncompressed_2.rel deleted file mode 100644 index 3583ed9f..00000000 --- a/src/nos/lib/messages_lib/03da_2be9_VJ_20Uncompressed_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___03da_2be9_VJ_20Uncompressed_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 56 4a 20 55 6e 63 6f 6d 70 -R 00 00 01 00 -T 0b 00 00 00 72 65 73 73 65 64 20 54 43 50 2f -R 00 00 01 00 -T 16 00 00 00 49 50 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03db_3d32_Valid_20options_3a.rel b/src/nos/lib/messages_lib/03db_3d32_Valid_20options_3a.rel deleted file mode 100644 index 0c84fa23..00000000 --- a/src/nos/lib/messages_lib/03db_3d32_Valid_20options_3a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___03db_3d32_Valid_20options_3a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 56 61 6c 69 64 20 6f 70 74 -R 00 00 01 00 -T 0b 00 00 00 69 6f 6e 73 3a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03db_eb71_RIP_5frx_3a_20Not_2.rel b/src/nos/lib/messages_lib/03db_eb71_RIP_5frx_3a_20Not_2.rel new file mode 100644 index 00000000..43e1baf9 --- /dev/null +++ b/src/nos/lib/messages_lib/03db_eb71_RIP_5frx_3a_20Not_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___03db_eb71_RIP_5frx_3a_20Not_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 52 49 50 5f 72 78 3a 20 4e +R 00 00 01 00 +T 0b 00 00 00 6f 74 20 61 6e 20 49 50 20 52 49 +R 00 00 01 00 +T 16 00 00 00 50 20 70 61 63 6b 65 74 20 21 0a +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03dc_8007_Value_20_25s_20_28_.rel b/src/nos/lib/messages_lib/03dc_8007_Value_20_25s_20_28_.rel deleted file mode 100644 index 367b8b24..00000000 --- a/src/nos/lib/messages_lib/03dc_8007_Value_20_25s_20_28_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___03dc_8007_Value_20_25s_20_28_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 56 61 6c 75 65 20 25 73 20 -R 00 00 01 00 -T 0b 00 00 00 28 25 64 29 20 6d 75 73 74 20 62 -R 00 00 01 00 -T 16 00 00 00 65 20 3e 20 30 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03dc_86e6_RMD_20_25s.rel b/src/nos/lib/messages_lib/03dc_86e6_RMD_20_25s.rel new file mode 100644 index 00000000..156ed79d --- /dev/null +++ b/src/nos/lib/messages_lib/03dc_86e6_RMD_20_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___03dc_86e6_RMD_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 52 4d 44 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03dd_8005_Range_20for_20inter.rel b/src/nos/lib/messages_lib/03dd_8005_Range_20for_20inter.rel new file mode 100644 index 00000000..f612e3ed --- /dev/null +++ b/src/nos/lib/messages_lib/03dd_8005_Range_20for_20inter.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 27 flags 0 +S ___03dd_8005_Range_20for_20inter Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 25 00 52 61 6e 67 65 20 66 6f 72 +R 00 00 01 00 +T 0b 00 00 00 20 69 6e 74 65 72 66 61 63 65 20 +R 00 00 01 00 +T 16 00 00 00 27 25 73 27 20 6e 6f 74 20 66 6f +R 00 00 01 00 +T 21 00 00 00 75 6e 64 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03dd_c8df_Verbose.rel b/src/nos/lib/messages_lib/03dd_c8df_Verbose.rel deleted file mode 100644 index 60c26a21..00000000 --- a/src/nos/lib/messages_lib/03dd_c8df_Verbose.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___03dd_c8df_Verbose Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 56 65 72 62 6f 73 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03de_1ee5_Reassembly_20fragme.rel b/src/nos/lib/messages_lib/03de_1ee5_Reassembly_20fragme.rel new file mode 100644 index 00000000..014e9849 --- /dev/null +++ b/src/nos/lib/messages_lib/03de_1ee5_Reassembly_20fragme.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___03de_1ee5_Reassembly_20fragme Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 52 65 61 73 73 65 6d 62 6c +R 00 00 01 00 +T 0b 00 00 00 79 20 66 72 61 67 6d 65 6e 74 73 +R 00 00 01 00 +T 16 00 00 00 3a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03de_32ff_Verbose_20flag.rel b/src/nos/lib/messages_lib/03de_32ff_Verbose_20flag.rel deleted file mode 100644 index 2178e07a..00000000 --- a/src/nos/lib/messages_lib/03de_32ff_Verbose_20flag.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___03de_32ff_Verbose_20flag Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 56 65 72 62 6f 73 65 20 66 -R 00 00 01 00 -T 0b 00 00 00 6c 61 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03df_b110_WARNING_3a_20Locati.rel b/src/nos/lib/messages_lib/03df_b110_WARNING_3a_20Locati.rel deleted file mode 100644 index 977b51f8..00000000 --- a/src/nos/lib/messages_lib/03df_b110_WARNING_3a_20Locati.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2b flags 0 -S ___03df_b110_WARNING_3a_20Locati Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 29 00 57 41 52 4e 49 4e 47 3a 20 -R 00 00 01 00 -T 0b 00 00 00 4c 6f 63 61 74 69 6f 6e 20 30 20 -R 00 00 01 00 -T 16 00 00 00 73 6d 61 73 68 65 64 2c 20 70 72 -R 00 00 01 00 -T 21 00 00 00 6f 63 65 73 73 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03df_fbe9_Reassembly_20queue_.rel b/src/nos/lib/messages_lib/03df_fbe9_Reassembly_20queue_.rel new file mode 100644 index 00000000..ded3e366 --- /dev/null +++ b/src/nos/lib/messages_lib/03df_fbe9_Reassembly_20queue_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___03df_fbe9_Reassembly_20queue_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 52 65 61 73 73 65 6d 62 6c +R 00 00 01 00 +T 0b 00 00 00 79 20 71 75 65 75 65 3a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e0_5eb3_Received_3a_20.rel b/src/nos/lib/messages_lib/03e0_5eb3_Received_3a_20.rel new file mode 100644 index 00000000..f9c76203 --- /dev/null +++ b/src/nos/lib/messages_lib/03e0_5eb3_Received_3a_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___03e0_5eb3_Received_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 52 65 63 65 69 76 65 64 3a +R 00 00 01 00 +T 0b 00 00 00 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e0_eddf_Warning_21_20Interf.rel b/src/nos/lib/messages_lib/03e0_eddf_Warning_21_20Interf.rel deleted file mode 100644 index c6a34309..00000000 --- a/src/nos/lib/messages_lib/03e0_eddf_Warning_21_20Interf.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 33 flags 0 -S ___03e0_eddf_Warning_21_20Interf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 31 00 57 61 72 6e 69 6e 67 21 20 -R 00 00 01 00 -T 0b 00 00 00 49 6e 74 65 72 66 61 63 65 20 27 -R 00 00 01 00 -T 16 00 00 00 25 73 27 20 68 61 73 20 61 20 6d -R 00 00 01 00 -T 21 00 00 00 75 6c 74 69 63 61 73 74 20 61 64 -R 00 00 01 00 -T 2c 00 00 00 64 72 65 73 73 3a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e1_4457_Warning_3a_20type_2.rel b/src/nos/lib/messages_lib/03e1_4457_Warning_3a_20type_2.rel deleted file mode 100644 index c3a799ce..00000000 --- a/src/nos/lib/messages_lib/03e1_4457_Warning_3a_20type_2.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 36 flags 0 -S ___03e1_4457_Warning_3a_20type_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 34 00 57 61 72 6e 69 6e 67 3a 20 -R 00 00 01 00 -T 0b 00 00 00 74 79 70 65 20 69 73 20 41 53 43 -R 00 00 01 00 -T 16 00 00 00 49 49 20 61 6e 64 20 25 73 20 61 -R 00 00 01 00 -T 21 00 00 00 70 70 65 61 72 73 20 74 6f 20 62 -R 00 00 01 00 -T 2c 00 00 00 65 20 62 69 6e 61 72 79 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e1_9fbc_Recording_20into_20.rel b/src/nos/lib/messages_lib/03e1_9fbc_Recording_20into_20.rel new file mode 100644 index 00000000..8486d87d --- /dev/null +++ b/src/nos/lib/messages_lib/03e1_9fbc_Recording_20into_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___03e1_9fbc_Recording_20into_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 52 65 63 6f 72 64 69 6e 67 +R 00 00 01 00 +T 0b 00 00 00 20 69 6e 74 6f 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e2_85a8_Window_20_28frames_.rel b/src/nos/lib/messages_lib/03e2_85a8_Window_20_28frames_.rel deleted file mode 100644 index a81b1b45..00000000 --- a/src/nos/lib/messages_lib/03e2_85a8_Window_20_28frames_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___03e2_85a8_Window_20_28frames_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 57 69 6e 64 6f 77 20 28 66 -R 00 00 01 00 -T 0b 00 00 00 72 61 6d 65 73 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e2_aa80_Recording_20off_0a.rel b/src/nos/lib/messages_lib/03e2_aa80_Recording_20off_0a.rel new file mode 100644 index 00000000..b920588f --- /dev/null +++ b/src/nos/lib/messages_lib/03e2_aa80_Recording_20off_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___03e2_aa80_Recording_20off_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 52 65 63 6f 72 64 69 6e 67 +R 00 00 01 00 +T 0b 00 00 00 20 6f 66 66 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e3_2a15_Recv_3a_20_20_20_20.rel b/src/nos/lib/messages_lib/03e3_2a15_Recv_3a_20_20_20_20.rel new file mode 100644 index 00000000..4dc64816 --- /dev/null +++ b/src/nos/lib/messages_lib/03e3_2a15_Recv_3a_20_20_20_20.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3e flags 0 +S ___03e3_2a15_Recv_3a_20_20_20_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 3c 00 52 65 63 76 3a 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 20 20 20 20 20 20 25 30 38 6c 78 +R 00 00 01 00 +T 16 00 00 00 25 37 6c 75 20 20 20 20 20 20 20 +R 00 00 01 00 +T 21 00 00 00 20 20 20 20 20 25 36 6c 75 20 20 +R 00 00 01 00 +T 2c 00 00 00 20 20 20 25 36 6c 75 25 39 6c 75 +R 00 00 01 00 +T 37 00 00 00 25 31 31 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e3_9331_Window_20size_20_28.rel b/src/nos/lib/messages_lib/03e3_9331_Window_20size_20_28.rel deleted file mode 100644 index 464ca068..00000000 --- a/src/nos/lib/messages_lib/03e3_9331_Window_20size_20_28.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___03e3_9331_Window_20size_20_28 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 57 69 6e 64 6f 77 20 73 69 -R 00 00 01 00 -T 0b 00 00 00 7a 65 20 28 66 72 61 6d 65 73 29 -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e4_613d_Window_3a_20_25_2d5.rel b/src/nos/lib/messages_lib/03e4_613d_Window_3a_20_25_2d5.rel deleted file mode 100644 index bc64629d..00000000 --- a/src/nos/lib/messages_lib/03e4_613d_Window_3a_20_25_2d5.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 37 flags 0 -S ___03e4_613d_Window_3a_20_25_2d5 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 35 00 57 69 6e 64 6f 77 3a 20 25 -R 00 00 01 00 -T 0b 00 00 00 2d 35 75 20 52 78 70 65 63 74 3a -R 00 00 01 00 -T 16 00 00 00 20 25 2d 35 75 20 52 78 4e 65 78 -R 00 00 01 00 -T 21 00 00 00 74 3a 20 25 2d 35 75 20 52 78 51 -R 00 00 01 00 -T 2c 00 00 00 3a 20 25 2d 35 64 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e4_d0ff_Refuse_0a.rel b/src/nos/lib/messages_lib/03e4_d0ff_Refuse_0a.rel new file mode 100644 index 00000000..d295dd1a --- /dev/null +++ b/src/nos/lib/messages_lib/03e4_d0ff_Refuse_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___03e4_d0ff_Refuse_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 52 65 66 75 73 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e5_25a6_Wink_20DTR_3f_20.rel b/src/nos/lib/messages_lib/03e5_25a6_Wink_20DTR_3f_20.rel deleted file mode 100644 index 519e8c6c..00000000 --- a/src/nos/lib/messages_lib/03e5_25a6_Wink_20DTR_3f_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___03e5_25a6_Wink_20DTR_3f_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 57 69 6e 6b 20 44 54 52 3f -R 00 00 01 00 -T 0b 00 00 00 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e5_42c0_Refusing_20announce.rel b/src/nos/lib/messages_lib/03e5_42c0_Refusing_20announce.rel new file mode 100644 index 00000000..18f11485 --- /dev/null +++ b/src/nos/lib/messages_lib/03e5_42c0_Refusing_20announce.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 29 flags 0 +S ___03e5_42c0_Refusing_20announce Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 27 00 52 65 66 75 73 69 6e 67 20 +R 00 00 01 00 +T 0b 00 00 00 61 6e 6e 6f 75 6e 63 65 6d 65 6e +R 00 00 01 00 +T 16 00 00 00 74 73 20 66 72 6f 6d 20 67 61 74 +R 00 00 01 00 +T 21 00 00 00 65 77 61 79 73 3a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e6_3602_Remote_20host_20acc.rel b/src/nos/lib/messages_lib/03e6_3602_Remote_20host_20acc.rel new file mode 100644 index 00000000..adecd743 --- /dev/null +++ b/src/nos/lib/messages_lib/03e6_3602_Remote_20host_20acc.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3f flags 0 +S ___03e6_3602_Remote_20host_20acc Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 3d 00 52 65 6d 6f 74 65 20 68 6f +R 00 00 01 00 +T 0b 00 00 00 73 74 20 61 63 63 65 70 74 65 64 +R 00 00 01 00 +T 16 00 00 00 20 6f 75 72 20 72 65 71 75 65 73 +R 00 00 01 00 +T 21 00 00 00 74 3b 20 77 61 69 74 69 6e 67 20 +R 00 00 01 00 +T 2c 00 00 00 66 6f 72 20 72 65 6d 6f 74 65 20 +R 00 00 01 00 +T 37 00 00 00 72 65 71 75 65 73 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e6_75b2_Writing_20article_2.rel b/src/nos/lib/messages_lib/03e6_75b2_Writing_20article_2.rel deleted file mode 100644 index 4992c6ac..00000000 --- a/src/nos/lib/messages_lib/03e6_75b2_Writing_20article_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___03e6_75b2_Writing_20article_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 57 72 69 74 69 6e 67 20 61 -R 00 00 01 00 -T 0b 00 00 00 72 74 69 63 6c 65 20 74 6f 20 27 -R 00 00 01 00 -T 16 00 00 00 25 73 27 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e7_3999_XMD5_20_25s.rel b/src/nos/lib/messages_lib/03e7_3999_XMD5_20_25s.rel deleted file mode 100644 index 0cbd0f7e..00000000 --- a/src/nos/lib/messages_lib/03e7_3999_XMD5_20_25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___03e7_3999_XMD5_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 58 4d 44 35 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e7_ba3a_Req_20Sent.rel b/src/nos/lib/messages_lib/03e7_ba3a_Req_20Sent.rel new file mode 100644 index 00000000..4dd55faf --- /dev/null +++ b/src/nos/lib/messages_lib/03e7_ba3a_Req_20Sent.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___03e7_ba3a_Req_20Sent Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 52 65 71 20 53 65 6e 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e8_8d50_Request_20retry_20e.rel b/src/nos/lib/messages_lib/03e8_8d50_Request_20retry_20e.rel new file mode 100644 index 00000000..f1fa5468 --- /dev/null +++ b/src/nos/lib/messages_lib/03e8_8d50_Request_20retry_20e.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___03e8_8d50_Request_20retry_20e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 52 65 71 75 65 73 74 20 72 +R 00 00 01 00 +T 0b 00 00 00 65 74 72 79 20 65 78 63 65 65 64 +R 00 00 01 00 +T 16 00 00 00 65 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e8_a62b_XMD5_20_25s_0a.rel b/src/nos/lib/messages_lib/03e8_a62b_XMD5_20_25s_0a.rel deleted file mode 100644 index a889ee1b..00000000 --- a/src/nos/lib/messages_lib/03e8_a62b_XMD5_20_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___03e8_a62b_XMD5_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 58 4d 44 35 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e9_7be8_Request_20timeout.rel b/src/nos/lib/messages_lib/03e9_7be8_Request_20timeout.rel new file mode 100644 index 00000000..faec05d6 --- /dev/null +++ b/src/nos/lib/messages_lib/03e9_7be8_Request_20timeout.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___03e9_7be8_Request_20timeout Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 52 65 71 75 65 73 74 20 74 +R 00 00 01 00 +T 0b 00 00 00 69 6d 65 6f 75 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03e9_8515_XMKD_20_25s_0a.rel b/src/nos/lib/messages_lib/03e9_8515_XMKD_20_25s_0a.rel deleted file mode 100644 index 071117f4..00000000 --- a/src/nos/lib/messages_lib/03e9_8515_XMKD_20_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___03e9_8515_XMKD_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 58 4d 4b 44 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ea_31d2_XRMD_20_25s_0a.rel b/src/nos/lib/messages_lib/03ea_31d2_XRMD_20_25s_0a.rel deleted file mode 100644 index 691f28a9..00000000 --- a/src/nos/lib/messages_lib/03ea_31d2_XRMD_20_25s_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___03ea_31d2_XRMD_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 58 52 4d 44 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ea_6bd1_Requesting_2e_2e_2e.rel b/src/nos/lib/messages_lib/03ea_6bd1_Requesting_2e_2e_2e.rel new file mode 100644 index 00000000..5660b3d6 --- /dev/null +++ b/src/nos/lib/messages_lib/03ea_6bd1_Requesting_2e_2e_2e.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___03ea_6bd1_Requesting_2e_2e_2e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 52 65 71 75 65 73 74 69 6e +R 00 00 01 00 +T 0b 00 00 00 67 2e 2e 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03eb_4784_Resolver_20_25s_20u.rel b/src/nos/lib/messages_lib/03eb_4784_Resolver_20_25s_20u.rel new file mode 100644 index 00000000..e5f7372e --- /dev/null +++ b/src/nos/lib/messages_lib/03eb_4784_Resolver_20_25s_20u.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___03eb_4784_Resolver_20_25s_20u Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 52 65 73 6f 6c 76 65 72 20 +R 00 00 01 00 +T 0b 00 00 00 25 73 20 75 6e 6b 6e 6f 77 6e 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03eb_71c6_You_20have_20.rel b/src/nos/lib/messages_lib/03eb_71c6_You_20have_20.rel deleted file mode 100644 index 59cbaae6..00000000 --- a/src/nos/lib/messages_lib/03eb_71c6_You_20have_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___03eb_71c6_You_20have_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 59 6f 75 20 68 61 76 65 20 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ec_1e66_You_20have_20new_20.rel b/src/nos/lib/messages_lib/03ec_1e66_You_20have_20new_20.rel deleted file mode 100644 index 3a26bc40..00000000 --- a/src/nos/lib/messages_lib/03ec_1e66_You_20have_20new_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___03ec_1e66_You_20have_20new_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 59 6f 75 20 68 61 76 65 20 -R 00 00 01 00 -T 0b 00 00 00 6e 65 77 20 6d 61 69 6c 2e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ec_ae52_Resolving_20_25s_2e.rel b/src/nos/lib/messages_lib/03ec_ae52_Resolving_20_25s_2e.rel new file mode 100644 index 00000000..ffa11f05 --- /dev/null +++ b/src/nos/lib/messages_lib/03ec_ae52_Resolving_20_25s_2e.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___03ec_ae52_Resolving_20_25s_2e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 52 65 73 6f 6c 76 69 6e 67 +R 00 00 01 00 +T 0b 00 00 00 20 25 73 2e 2e 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ed_200a_Resolving_20_25s_2e.rel b/src/nos/lib/messages_lib/03ed_200a_Resolving_20_25s_2e.rel new file mode 100644 index 00000000..797f46d4 --- /dev/null +++ b/src/nos/lib/messages_lib/03ed_200a_Resolving_20_25s_2e.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___03ed_200a_Resolving_20_25s_2e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 52 65 73 6f 6c 76 69 6e 67 +R 00 00 01 00 +T 0b 00 00 00 20 25 73 2e 2e 2e 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ed_4583_You_27re_20using_20.rel b/src/nos/lib/messages_lib/03ed_4583_You_27re_20using_20.rel deleted file mode 100644 index 7a6c6410..00000000 --- a/src/nos/lib/messages_lib/03ed_4583_You_27re_20using_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___03ed_4583_You_27re_20using_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 59 6f 75 27 72 65 20 75 73 -R 00 00 01 00 -T 0b 00 00 00 69 6e 67 20 69 6e 74 65 72 66 61 -R 00 00 01 00 -T 16 00 00 00 63 65 20 25 73 21 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ee_4aef_Z_20filename.rel b/src/nos/lib/messages_lib/03ee_4aef_Z_20filename.rel deleted file mode 100644 index 616d5769..00000000 --- a/src/nos/lib/messages_lib/03ee_4aef_Z_20filename.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___03ee_4aef_Z_20filename Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 5a 20 66 69 6c 65 6e 61 6d -R 00 00 01 00 -T 0b 00 00 00 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ee_cacc_Retry_20limit.rel b/src/nos/lib/messages_lib/03ee_cacc_Retry_20limit.rel new file mode 100644 index 00000000..e91edfd4 --- /dev/null +++ b/src/nos/lib/messages_lib/03ee_cacc_Retry_20limit.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___03ee_cacc_Retry_20limit Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 52 65 74 72 79 20 6c 69 6d +R 00 00 01 00 +T 0b 00 00 00 69 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ef_0cd3_Returned_20.rel b/src/nos/lib/messages_lib/03ef_0cd3_Returned_20.rel new file mode 100644 index 00000000..c96f31f7 --- /dev/null +++ b/src/nos/lib/messages_lib/03ef_0cd3_Returned_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___03ef_0cd3_Returned_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 52 65 74 75 72 6e 65 64 20 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ef_5fd7_Zap_20failed_3a_20_.rel b/src/nos/lib/messages_lib/03ef_5fd7_Zap_20failed_3a_20_.rel deleted file mode 100644 index 842ef191..00000000 --- a/src/nos/lib/messages_lib/03ef_5fd7_Zap_20failed_3a_20_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___03ef_5fd7_Zap_20failed_3a_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 5a 61 70 20 66 61 69 6c 65 -R 00 00 01 00 -T 0b 00 00 00 64 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f0_85af_Route_20add_20faile.rel b/src/nos/lib/messages_lib/03f0_85af_Route_20add_20faile.rel new file mode 100644 index 00000000..90d97174 --- /dev/null +++ b/src/nos/lib/messages_lib/03f0_85af_Route_20add_20faile.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___03f0_85af_Route_20add_20faile Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 52 6f 75 74 65 20 61 64 64 +R 00 00 01 00 +T 0b 00 00 00 20 66 61 69 6c 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f0_e3d1__5b.rel b/src/nos/lib/messages_lib/03f0_e3d1__5b.rel deleted file mode 100644 index b6864be1..00000000 --- a/src/nos/lib/messages_lib/03f0_e3d1__5b.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4 flags 0 -S ___03f0_e3d1__5b Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 02 00 5b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f1_9b70_Routing_20lookups_3.rel b/src/nos/lib/messages_lib/03f1_9b70_Routing_20lookups_3.rel new file mode 100644 index 00000000..6a028b01 --- /dev/null +++ b/src/nos/lib/messages_lib/03f1_9b70_Routing_20lookups_3.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 30 flags 0 +S ___03f1_9b70_Routing_20lookups_3 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2e 00 52 6f 75 74 69 6e 67 20 6c +R 00 00 01 00 +T 0b 00 00 00 6f 6f 6b 75 70 73 3a 20 25 6c 75 +R 00 00 01 00 +T 16 00 00 00 2c 20 63 61 63 68 65 20 68 69 74 +R 00 00 01 00 +T 21 00 00 00 73 20 25 6c 75 20 28 25 6c 75 25 +R 00 00 01 00 +T 2c 00 00 00 25 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f1_9d9c__5bNET_2dHMR_24_5d.rel b/src/nos/lib/messages_lib/03f1_9d9c__5bNET_2dHMR_24_5d.rel deleted file mode 100644 index 5b47a0a4..00000000 --- a/src/nos/lib/messages_lib/03f1_9d9c__5bNET_2dHMR_24_5d.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___03f1_9d9c__5bNET_2dHMR_24_5d Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 5b 4e 45 54 2d 48 4d 52 24 -R 00 00 01 00 -T 0b 00 00 00 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f2_9c01_Rxints_20_20_2d_20_.rel b/src/nos/lib/messages_lib/03f2_9c01_Rxints_20_20_2d_20_.rel new file mode 100644 index 00000000..f11937e1 --- /dev/null +++ b/src/nos/lib/messages_lib/03f2_9c01_Rxints_20_20_2d_20_.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 32 flags 0 +S ___03f2_9c01_Rxints_20_20_2d_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 30 00 52 78 69 6e 74 73 20 20 2d +R 00 00 01 00 +T 0b 00 00 00 20 25 38 6c 64 20 20 54 78 69 6e +R 00 00 01 00 +T 16 00 00 00 74 73 20 20 2d 20 25 38 6c 64 20 +R 00 00 01 00 +T 21 00 00 00 20 45 78 69 6e 74 73 20 20 2d 20 +R 00 00 01 00 +T 2c 00 00 00 25 38 6c 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f2_f8e4__5bunknown_5d.rel b/src/nos/lib/messages_lib/03f2_f8e4__5bunknown_5d.rel deleted file mode 100644 index 2317a876..00000000 --- a/src/nos/lib/messages_lib/03f2_f8e4__5bunknown_5d.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___03f2_f8e4__5bunknown_5d Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 5b 75 6e 6b 6e 6f 77 6e 5d -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f3_699f__5eC_0a.rel b/src/nos/lib/messages_lib/03f3_699f__5eC_0a.rel deleted file mode 100644 index 908a0bd3..00000000 --- a/src/nos/lib/messages_lib/03f3_699f__5eC_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___03f3_699f__5eC_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 5e 43 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f3_ccf6_S_20_20_20_20_20Job.rel b/src/nos/lib/messages_lib/03f3_ccf6_S_20_20_20_20_20Job.rel new file mode 100644 index 00000000..76600b7b --- /dev/null +++ b/src/nos/lib/messages_lib/03f3_ccf6_S_20_20_20_20_20Job.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3b flags 0 +S ___03f3_ccf6_S_20_20_20_20_20Job Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 39 00 53 20 20 20 20 20 4a 6f 62 +R 00 00 01 00 +T 0b 00 00 00 20 20 20 20 53 69 7a 65 20 44 61 +R 00 00 01 00 +T 16 00 00 00 74 65 20 20 54 69 6d 65 20 20 48 +R 00 00 01 00 +T 21 00 00 00 6f 73 74 20 20 20 20 20 20 20 20 +R 00 00 01 00 +T 2c 00 00 00 20 20 20 20 20 20 20 20 20 46 72 +R 00 00 01 00 +T 37 00 00 00 6f 6d 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f4_df6d_S_20command_20synta.rel b/src/nos/lib/messages_lib/03f4_df6d_S_20command_20synta.rel new file mode 100644 index 00000000..c4e311b3 --- /dev/null +++ b/src/nos/lib/messages_lib/03f4_df6d_S_20command_20synta.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 27 flags 0 +S ___03f4_df6d_S_20command_20synta Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 25 00 53 20 63 6f 6d 6d 61 6e 64 +R 00 00 01 00 +T 0b 00 00 00 20 73 79 6e 74 61 78 20 65 72 72 +R 00 00 01 00 +T 16 00 00 00 6f 72 20 2d 20 66 6f 72 6d 61 74 +R 00 00 01 00 +T 21 00 00 00 20 69 73 3a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f4_e5d6__5eR_0a.rel b/src/nos/lib/messages_lib/03f4_e5d6__5eR_0a.rel deleted file mode 100644 index e8dfb757..00000000 --- a/src/nos/lib/messages_lib/03f4_e5d6__5eR_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___03f4_e5d6__5eR_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 5e 52 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f5_1951__5fexit.rel b/src/nos/lib/messages_lib/03f5_1951__5fexit.rel deleted file mode 100644 index 0c923254..00000000 --- a/src/nos/lib/messages_lib/03f5_1951__5fexit.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___03f5_1951__5fexit Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 5f 65 78 69 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f5_4fbb_S_23_20_20_20Type_2.rel b/src/nos/lib/messages_lib/03f5_4fbb_S_23_20_20_20Type_2.rel new file mode 100644 index 00000000..f677aadd --- /dev/null +++ b/src/nos/lib/messages_lib/03f5_4fbb_S_23_20_20_20Type_2.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 36 flags 0 +S ___03f5_4fbb_S_23_20_20_20Type_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 34 00 53 23 20 20 20 54 79 70 65 +R 00 00 01 00 +T 0b 00 00 00 20 20 20 20 50 43 42 20 20 20 20 +R 00 00 01 00 +T 16 00 00 00 20 20 20 52 65 6d 6f 74 65 20 73 +R 00 00 01 00 +T 21 00 00 00 6f 63 6b 65 74 20 20 20 20 20 20 +R 00 00 01 00 +T 2c 00 00 00 20 20 20 4f 77 6e 65 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f6_a314__5ffcreat_3a_20WARN.rel b/src/nos/lib/messages_lib/03f6_a314__5ffcreat_3a_20WARN.rel deleted file mode 100644 index 55a1b0e0..00000000 --- a/src/nos/lib/messages_lib/03f6_a314__5ffcreat_3a_20WARN.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___03f6_a314__5ffcreat_3a_20WARN Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 5f 66 63 72 65 61 74 3a 20 -R 00 00 01 00 -T 0b 00 00 00 57 41 52 4e 49 4e 47 21 20 4e 6f -R 00 00 01 00 -T 16 00 00 00 20 6d 65 6d 6f 72 79 20 66 6f 72 -R 00 00 01 00 -T 21 00 00 00 20 46 49 4c 45 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f6_bf54_SMTP_20_25s_20Conne.rel b/src/nos/lib/messages_lib/03f6_bf54_SMTP_20_25s_20Conne.rel new file mode 100644 index 00000000..548db109 --- /dev/null +++ b/src/nos/lib/messages_lib/03f6_bf54_SMTP_20_25s_20Conne.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___03f6_bf54_SMTP_20_25s_20Conne Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 53 4d 54 50 20 25 73 20 43 +R 00 00 01 00 +T 0b 00 00 00 6f 6e 6e 65 63 74 20 66 61 69 6c +R 00 00 01 00 +T 16 00 00 00 65 64 3a 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f7_79de__5funlink_3a_20bad_.rel b/src/nos/lib/messages_lib/03f7_79de__5funlink_3a_20bad_.rel deleted file mode 100644 index 9852232b..00000000 --- a/src/nos/lib/messages_lib/03f7_79de__5funlink_3a_20bad_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___03f7_79de__5funlink_3a_20bad_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 5f 75 6e 6c 69 6e 6b 3a 20 -R 00 00 01 00 -T 0b 00 00 00 62 61 64 20 6e 6c 69 6e 6b 20 25 -R 00 00 01 00 -T 16 00 00 00 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f7_cbb7_SMTP_20batching.rel b/src/nos/lib/messages_lib/03f7_cbb7_SMTP_20batching.rel new file mode 100644 index 00000000..ed060467 --- /dev/null +++ b/src/nos/lib/messages_lib/03f7_cbb7_SMTP_20batching.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___03f7_cbb7_SMTP_20batching Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 53 4d 54 50 20 62 61 74 63 +R 00 00 01 00 +T 0b 00 00 00 68 69 6e 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f8_722b_accept.rel b/src/nos/lib/messages_lib/03f8_722b_accept.rel deleted file mode 100644 index 12624374..00000000 --- a/src/nos/lib/messages_lib/03f8_722b_accept.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___03f8_722b_accept Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 61 63 63 65 70 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f8_e45f_SMTP_20client_20Try.rel b/src/nos/lib/messages_lib/03f8_e45f_SMTP_20client_20Try.rel new file mode 100644 index 00000000..14845b1d --- /dev/null +++ b/src/nos/lib/messages_lib/03f8_e45f_SMTP_20client_20Try.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___03f8_e45f_SMTP_20client_20Try Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 53 4d 54 50 20 63 6c 69 65 +R 00 00 01 00 +T 0b 00 00 00 6e 74 20 54 72 79 69 6e 67 2e 2e +R 00 00 01 00 +T 16 00 00 00 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f9_30f9_accept_0a.rel b/src/nos/lib/messages_lib/03f9_30f9_accept_0a.rel deleted file mode 100644 index 8b7cfdd1..00000000 --- a/src/nos/lib/messages_lib/03f9_30f9_accept_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___03f9_30f9_accept_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 61 63 63 65 70 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03f9_797a_SMTP_20sent_20job_2.rel b/src/nos/lib/messages_lib/03f9_797a_SMTP_20sent_20job_2.rel new file mode 100644 index 00000000..62a9e7bd --- /dev/null +++ b/src/nos/lib/messages_lib/03f9_797a_SMTP_20sent_20job_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___03f9_797a_SMTP_20sent_20job_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 53 4d 54 50 20 73 65 6e 74 +R 00 00 01 00 +T 0b 00 00 00 20 6a 6f 62 20 25 73 20 54 6f 3a +R 00 00 01 00 +T 16 00 00 00 20 25 73 20 46 72 6f 6d 3a 20 25 +R 00 00 01 00 +T 21 00 00 00 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03fa_2cfc_access.rel b/src/nos/lib/messages_lib/03fa_2cfc_access.rel deleted file mode 100644 index 5a87cc82..00000000 --- a/src/nos/lib/messages_lib/03fa_2cfc_access.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___03fa_2cfc_access Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 61 63 63 65 73 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03fa_68b2_SMTP_20tracing.rel b/src/nos/lib/messages_lib/03fa_68b2_SMTP_20tracing.rel new file mode 100644 index 00000000..0530543c --- /dev/null +++ b/src/nos/lib/messages_lib/03fa_68b2_SMTP_20tracing.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___03fa_68b2_SMTP_20tracing Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 53 4d 54 50 20 74 72 61 63 +R 00 00 01 00 +T 0b 00 00 00 69 6e 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03fb_9b89_accm.rel b/src/nos/lib/messages_lib/03fb_9b89_accm.rel deleted file mode 100644 index 72cb14b1..00000000 --- a/src/nos/lib/messages_lib/03fb_9b89_accm.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___03fb_9b89_accm Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 61 63 63 6d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03fb_e7a4_SP_20_3d_20_25p_2c_.rel b/src/nos/lib/messages_lib/03fb_e7a4_SP_20_3d_20_25p_2c_.rel new file mode 100644 index 00000000..c1491fa2 --- /dev/null +++ b/src/nos/lib/messages_lib/03fb_e7a4_SP_20_3d_20_25p_2c_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___03fb_e7a4_SP_20_3d_20_25p_2c_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 53 50 20 3d 20 25 70 2c 20 +R 00 00 01 00 +T 0b 00 00 00 6c 65 67 61 6c 20 73 74 61 63 6b +R 00 00 01 00 +T 16 00 00 00 20 72 61 6e 67 65 20 5b 25 70 2c +R 00 00 01 00 +T 21 00 00 00 25 70 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03fc_16c9_acct.rel b/src/nos/lib/messages_lib/03fc_16c9_acct.rel deleted file mode 100644 index 27203a16..00000000 --- a/src/nos/lib/messages_lib/03fc_16c9_acct.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___03fc_16c9_acct Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 61 63 63 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03fc_a1f1_STOR_20_25s.rel b/src/nos/lib/messages_lib/03fc_a1f1_STOR_20_25s.rel new file mode 100644 index 00000000..3163fe87 --- /dev/null +++ b/src/nos/lib/messages_lib/03fc_a1f1_STOR_20_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___03fc_a1f1_STOR_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 53 54 4f 52 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03fd_0c4f_acfc.rel b/src/nos/lib/messages_lib/03fd_0c4f_acfc.rel deleted file mode 100644 index a76abc5c..00000000 --- a/src/nos/lib/messages_lib/03fd_0c4f_acfc.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___03fd_0c4f_acfc Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 61 63 66 63 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03fd_49fd_STOR_20_25s_0a.rel b/src/nos/lib/messages_lib/03fd_49fd_STOR_20_25s_0a.rel new file mode 100644 index 00000000..bee5fd25 --- /dev/null +++ b/src/nos/lib/messages_lib/03fd_49fd_STOR_20_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___03fd_49fd_STOR_20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 53 54 4f 52 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03fe_38ea_STOR_20_25s_3a_20_2.rel b/src/nos/lib/messages_lib/03fe_38ea_STOR_20_25s_3a_20_2.rel new file mode 100644 index 00000000..ee00eff3 --- /dev/null +++ b/src/nos/lib/messages_lib/03fe_38ea_STOR_20_25s_3a_20_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2b flags 0 +S ___03fe_38ea_STOR_20_25s_3a_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 29 00 53 54 4f 52 20 25 73 3a 20 +R 00 00 01 00 +T 0b 00 00 00 25 6c 75 20 62 79 74 65 73 20 69 +R 00 00 01 00 +T 16 00 00 00 6e 20 25 6c 75 20 73 65 63 20 28 +R 00 00 01 00 +T 21 00 00 00 25 6c 75 2f 73 65 63 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03fe_7530_acktime.rel b/src/nos/lib/messages_lib/03fe_7530_acktime.rel deleted file mode 100644 index 87fe17de..00000000 --- a/src/nos/lib/messages_lib/03fe_7530_acktime.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___03fe_7530_acktime Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 61 63 6b 74 69 6d 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ff_12cc_STOR_20_25s_3a_20Er.rel b/src/nos/lib/messages_lib/03ff_12cc_STOR_20_25s_3a_20Er.rel new file mode 100644 index 00000000..216000dc --- /dev/null +++ b/src/nos/lib/messages_lib/03ff_12cc_STOR_20_25s_3a_20Er.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2d flags 0 +S ___03ff_12cc_STOR_20_25s_3a_20Er Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2b 00 53 54 4f 52 20 25 73 3a 20 +R 00 00 01 00 +T 0b 00 00 00 45 72 72 6f 72 2f 61 62 6f 72 74 +R 00 00 01 00 +T 16 00 00 00 20 64 75 72 69 6e 67 20 64 61 74 +R 00 00 01 00 +T 21 00 00 00 61 20 74 72 61 6e 73 66 65 72 0a +R 00 00 01 00 +T 2c 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/03ff_41b5_add.rel b/src/nos/lib/messages_lib/03ff_41b5_add.rel deleted file mode 100644 index 4cdbdb2a..00000000 --- a/src/nos/lib/messages_lib/03ff_41b5_add.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___03ff_41b5_add Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 61 64 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0400_cfe9_SUBCMD_20_2d_20Don_.rel b/src/nos/lib/messages_lib/0400_cfe9_SUBCMD_20_2d_20Don_.rel new file mode 100644 index 00000000..b57c18c4 --- /dev/null +++ b/src/nos/lib/messages_lib/0400_cfe9_SUBCMD_20_2d_20Don_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___0400_cfe9_SUBCMD_20_2d_20Don_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 53 55 42 43 4d 44 20 2d 20 +R 00 00 01 00 +T 0b 00 00 00 44 6f 6e 27 74 20 6b 6e 6f 77 20 +R 00 00 01 00 +T 16 00 00 00 77 68 61 74 20 74 6f 20 64 6f 3f +R 00 00 01 00 +T 21 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0400_d8a3_add_20_3chostid_3e.rel b/src/nos/lib/messages_lib/0400_d8a3_add_20_3chostid_3e.rel deleted file mode 100644 index b1e515c1..00000000 --- a/src/nos/lib/messages_lib/0400_d8a3_add_20_3chostid_3e.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___0400_d8a3_add_20_3chostid_3e Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 61 64 64 20 3c 68 6f 73 74 -R 00 00 01 00 -T 0b 00 00 00 69 64 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0401_0319_SYST_0a.rel b/src/nos/lib/messages_lib/0401_0319_SYST_0a.rel new file mode 100644 index 00000000..3e7f54e5 --- /dev/null +++ b/src/nos/lib/messages_lib/0401_0319_SYST_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0401_0319_SYST_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 53 59 53 54 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0401_6783_addprivate.rel b/src/nos/lib/messages_lib/0401_6783_addprivate.rel deleted file mode 100644 index 7ff39220..00000000 --- a/src/nos/lib/messages_lib/0401_6783_addprivate.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___0401_6783_addprivate Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 61 64 64 70 72 69 76 61 74 -R 00 00 01 00 -T 0b 00 00 00 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0402_93fc_Same_0a.rel b/src/nos/lib/messages_lib/0402_93fc_Same_0a.rel new file mode 100644 index 00000000..acc2c076 --- /dev/null +++ b/src/nos/lib/messages_lib/0402_93fc_Same_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0402_93fc_Same_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 53 61 6d 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0402_9712_address.rel b/src/nos/lib/messages_lib/0402_9712_address.rel deleted file mode 100644 index 67c923b7..00000000 --- a/src/nos/lib/messages_lib/0402_9712_address.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0402_9712_address Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 61 64 64 72 65 73 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0403_2c42_addserver.rel b/src/nos/lib/messages_lib/0403_2c42_addserver.rel deleted file mode 100644 index b7fd0e34..00000000 --- a/src/nos/lib/messages_lib/0403_2c42_addserver.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___0403_2c42_addserver Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 61 64 64 73 65 72 76 65 72 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0403_3c55_Scroll_20file_20siz.rel b/src/nos/lib/messages_lib/0403_3c55_Scroll_20file_20siz.rel new file mode 100644 index 00000000..1c9285a2 --- /dev/null +++ b/src/nos/lib/messages_lib/0403_3c55_Scroll_20file_20siz.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___0403_3c55_Scroll_20file_20siz Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 53 63 72 6f 6c 6c 20 66 69 +R 00 00 01 00 +T 0b 00 00 00 6c 65 20 73 69 7a 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0404_b0a9_alarm.rel b/src/nos/lib/messages_lib/0404_b0a9_alarm.rel deleted file mode 100644 index cd0d2227..00000000 --- a/src/nos/lib/messages_lib/0404_b0a9_alarm.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0404_b0a9_alarm Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 61 6c 61 72 6d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0404_e255_Send_20file_2c_20_2.rel b/src/nos/lib/messages_lib/0404_e255_Send_20file_2c_20_2.rel new file mode 100644 index 00000000..38138a5c --- /dev/null +++ b/src/nos/lib/messages_lib/0404_e255_Send_20file_2c_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0404_e255_Send_20file_2c_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 53 65 6e 64 20 66 69 6c 65 +R 00 00 01 00 +T 0b 00 00 00 2c 20 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0405_9965_allocs_20_25lu_20fr.rel b/src/nos/lib/messages_lib/0405_9965_allocs_20_25lu_20fr.rel deleted file mode 100644 index 1b269074..00000000 --- a/src/nos/lib/messages_lib/0405_9965_allocs_20_25lu_20fr.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 45 flags 0 -S ___0405_9965_allocs_20_25lu_20fr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 43 00 61 6c 6c 6f 63 73 20 25 6c -R 00 00 01 00 -T 0b 00 00 00 75 20 66 72 65 65 73 20 25 6c 75 -R 00 00 01 00 -T 16 00 00 00 20 28 64 69 66 66 20 25 6c 75 29 -R 00 00 01 00 -T 21 00 00 00 20 61 6c 6c 6f 63 20 66 61 69 6c -R 00 00 01 00 -T 2c 00 00 00 73 20 25 6c 75 20 69 6e 76 61 6c -R 00 00 01 00 -T 37 00 00 00 69 64 20 66 72 65 65 73 20 25 6c -R 00 00 01 00 -T 42 00 00 00 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0405_c1d8_Send_3a_20_2508lx_2.rel b/src/nos/lib/messages_lib/0405_c1d8_Send_3a_20_2508lx_2.rel new file mode 100644 index 00000000..b47b9631 --- /dev/null +++ b/src/nos/lib/messages_lib/0405_c1d8_Send_3a_20_2508lx_2.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 36 flags 0 +S ___0405_c1d8_Send_3a_20_2508lx_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 34 00 53 65 6e 64 3a 20 25 30 38 +R 00 00 01 00 +T 0b 00 00 00 6c 78 20 25 30 38 6c 78 25 37 6c +R 00 00 01 00 +T 16 00 00 00 75 25 36 6c 75 25 36 6c 75 25 36 +R 00 00 01 00 +T 21 00 00 00 6c 75 25 35 6c 75 25 36 6c 75 25 +R 00 00 01 00 +T 2c 00 00 00 39 6c 75 25 31 31 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0406_8e82_allow_20pap_20none_.rel b/src/nos/lib/messages_lib/0406_8e82_allow_20pap_20none_.rel deleted file mode 100644 index a8625b12..00000000 --- a/src/nos/lib/messages_lib/0406_8e82_allow_20pap_20none_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___0406_8e82_allow_20pap_20none_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 61 6c 6c 6f 77 20 70 61 70 -R 00 00 01 00 -T 0b 00 00 00 20 6e 6f 6e 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0406_afab_Server_20address_20.rel b/src/nos/lib/messages_lib/0406_afab_Server_20address_20.rel new file mode 100644 index 00000000..99d18a5b --- /dev/null +++ b/src/nos/lib/messages_lib/0406_afab_Server_20address_20.rel @@ -0,0 +1,22 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 46 flags 0 +S ___0406_afab_Server_20address_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 44 00 53 65 72 76 65 72 20 61 64 +R 00 00 01 00 +T 0b 00 00 00 64 72 65 73 73 20 20 20 20 20 20 +R 00 00 01 00 +T 16 00 00 00 20 20 20 20 73 72 74 74 20 20 20 +R 00 00 01 00 +T 21 00 00 00 20 6d 64 65 76 20 20 20 74 69 6d +R 00 00 01 00 +T 2c 00 00 00 65 6f 75 74 20 20 20 71 75 65 72 +R 00 00 01 00 +T 37 00 00 00 69 65 73 20 72 65 73 70 6f 6e 73 +R 00 00 01 00 +T 42 00 00 00 65 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0407_36ef_Session_20_25s_20no.rel b/src/nos/lib/messages_lib/0407_36ef_Session_20_25s_20no.rel new file mode 100644 index 00000000..d6c1592e --- /dev/null +++ b/src/nos/lib/messages_lib/0407_36ef_Session_20_25s_20no.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___0407_36ef_Session_20_25s_20no Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 53 65 73 73 69 6f 6e 20 25 +R 00 00 01 00 +T 0b 00 00 00 73 20 6e 6f 74 20 61 63 74 69 76 +R 00 00 01 00 +T 16 00 00 00 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0407_ba08_allow_20tcp_20none_.rel b/src/nos/lib/messages_lib/0407_ba08_allow_20tcp_20none_.rel deleted file mode 100644 index 9a0f53f7..00000000 --- a/src/nos/lib/messages_lib/0407_ba08_allow_20tcp_20none_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___0407_ba08_allow_20tcp_20none_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 61 6c 6c 6f 77 20 74 63 70 -R 00 00 01 00 -T 0b 00 00 00 20 6e 6f 6e 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0408_0845_Slot_20time_3a_20_2.rel b/src/nos/lib/messages_lib/0408_0845_Slot_20time_3a_20_2.rel new file mode 100644 index 00000000..41a63e4f --- /dev/null +++ b/src/nos/lib/messages_lib/0408_0845_Slot_20time_3a_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___0408_0845_Slot_20time_3a_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 53 6c 6f 74 20 74 69 6d 65 +R 00 00 01 00 +T 0b 00 00 00 3a 20 25 6c 75 20 6d 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0408_94f6_anext_20pointer_20o.rel b/src/nos/lib/messages_lib/0408_94f6_anext_20pointer_20o.rel deleted file mode 100644 index 70bb23ab..00000000 --- a/src/nos/lib/messages_lib/0408_94f6_anext_20pointer_20o.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___0408_94f6_anext_20pointer_20o Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 61 6e 65 78 74 20 70 6f 69 -R 00 00 01 00 -T 0b 00 00 00 6e 74 65 72 20 6f 75 74 20 6f 66 -R 00 00 01 00 -T 16 00 00 00 20 6c 69 6d 69 74 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0409_6556_Socket_20not_20in_2.rel b/src/nos/lib/messages_lib/0409_6556_Socket_20not_20in_2.rel new file mode 100644 index 00000000..92bebdfc --- /dev/null +++ b/src/nos/lib/messages_lib/0409_6556_Socket_20not_20in_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___0409_6556_Socket_20not_20in_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 53 6f 63 6b 65 74 20 6e 6f +R 00 00 01 00 +T 0b 00 00 00 74 20 69 6e 20 75 73 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0409_c2a0_answer_20script_3a_.rel b/src/nos/lib/messages_lib/0409_c2a0_answer_20script_3a_.rel deleted file mode 100644 index c873d196..00000000 --- a/src/nos/lib/messages_lib/0409_c2a0_answer_20script_3a_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___0409_c2a0_answer_20script_3a_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 61 6e 73 77 65 72 20 73 63 -R 00 00 01 00 -T 0b 00 00 00 72 69 70 74 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/040a_a061_Sorry_20_2d_20the_2.rel b/src/nos/lib/messages_lib/040a_a061_Sorry_20_2d_20the_2.rel new file mode 100644 index 00000000..27ecee43 --- /dev/null +++ b/src/nos/lib/messages_lib/040a_a061_Sorry_20_2d_20the_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___040a_a061_Sorry_20_2d_20the_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 53 6f 72 72 79 20 2d 20 74 +R 00 00 01 00 +T 0b 00 00 00 68 65 20 73 79 73 74 65 6d 20 69 +R 00 00 01 00 +T 16 00 00 00 73 20 75 6e 61 74 74 65 6e 64 65 +R 00 00 01 00 +T 21 00 00 00 64 2e 30 30 37 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/040a_da7c_area.rel b/src/nos/lib/messages_lib/040a_da7c_area.rel deleted file mode 100644 index a9e0bc71..00000000 --- a/src/nos/lib/messages_lib/040a_da7c_area.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___040a_da7c_area Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 61 72 65 61 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/040b_1dde_arp_20add_20_3chost.rel b/src/nos/lib/messages_lib/040b_1dde_arp_20add_20_3chost.rel deleted file mode 100644 index e5a0bf29..00000000 --- a/src/nos/lib/messages_lib/040b_1dde_arp_20add_20_3chost.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 42 flags 0 -S ___040b_1dde_arp_20add_20_3chost Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 40 00 61 72 70 20 61 64 64 20 3c -R 00 00 01 00 -T 0b 00 00 00 68 6f 73 74 69 64 3e 20 65 74 68 -R 00 00 01 00 -T 16 00 00 00 65 72 7c 61 78 32 35 7c 6e 65 74 -R 00 00 01 00 -T 21 00 00 00 72 6f 6d 7c 61 72 63 6e 65 74 20 -R 00 00 01 00 -T 2c 00 00 00 3c 65 74 68 65 72 20 61 64 64 72 -R 00 00 01 00 -T 37 00 00 00 7c 63 61 6c 6c 73 69 67 6e 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/040b_8034_Stack_20violation_2.rel b/src/nos/lib/messages_lib/040b_8034_Stack_20violation_2.rel new file mode 100644 index 00000000..b7d239bb --- /dev/null +++ b/src/nos/lib/messages_lib/040b_8034_Stack_20violation_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___040b_8034_Stack_20violation_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 53 74 61 63 6b 20 76 69 6f +R 00 00 01 00 +T 0b 00 00 00 6c 61 74 69 6f 6e 2c 20 70 72 6f +R 00 00 01 00 +T 16 00 00 00 63 65 73 73 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/040c_96ce_arp_20drop_20_3chos.rel b/src/nos/lib/messages_lib/040c_96ce_arp_20drop_20_3chos.rel deleted file mode 100644 index a6a7cbe7..00000000 --- a/src/nos/lib/messages_lib/040c_96ce_arp_20drop_20_3chos.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2d flags 0 -S ___040c_96ce_arp_20drop_20_3chos Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2b 00 61 72 70 20 64 72 6f 70 20 -R 00 00 01 00 -T 0b 00 00 00 3c 68 6f 73 74 69 64 3e 20 65 74 -R 00 00 01 00 -T 16 00 00 00 68 65 72 7c 61 78 32 35 7c 6e 65 -R 00 00 01 00 -T 21 00 00 00 74 72 6f 6d 7c 61 72 63 6e 65 74 -R 00 00 01 00 -T 2c 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/040c_d9c9_Start.rel b/src/nos/lib/messages_lib/040c_d9c9_Start.rel new file mode 100644 index 00000000..e3893ed3 --- /dev/null +++ b/src/nos/lib/messages_lib/040c_d9c9_Start.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___040c_d9c9_Start Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 53 74 61 72 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/040d_0018_arp_20publish_20_3c.rel b/src/nos/lib/messages_lib/040d_0018_arp_20publish_20_3c.rel deleted file mode 100644 index 75a0c9cb..00000000 --- a/src/nos/lib/messages_lib/040d_0018_arp_20publish_20_3c.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 46 flags 0 -S ___040d_0018_arp_20publish_20_3c Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 44 00 61 72 70 20 70 75 62 6c 69 -R 00 00 01 00 -T 0b 00 00 00 73 68 20 3c 68 6f 73 74 69 64 3e -R 00 00 01 00 -T 16 00 00 00 20 65 74 68 65 72 7c 61 78 32 35 -R 00 00 01 00 -T 21 00 00 00 7c 6e 65 74 72 6f 6d 7c 61 72 63 -R 00 00 01 00 -T 2c 00 00 00 6e 65 74 20 3c 65 74 68 65 72 20 -R 00 00 01 00 -T 37 00 00 00 61 64 64 72 7c 63 61 6c 6c 73 69 -R 00 00 01 00 -T 42 00 00 00 67 6e 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/040d_0d1f_Starting_20configur.rel b/src/nos/lib/messages_lib/040d_0d1f_Starting_20configur.rel new file mode 100644 index 00000000..0fb1fee8 --- /dev/null +++ b/src/nos/lib/messages_lib/040d_0d1f_Starting_20configur.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___040d_0d1f_Starting_20configur Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 53 74 61 72 74 69 6e 67 20 +R 00 00 01 00 +T 0b 00 00 00 63 6f 6e 66 69 67 75 72 61 74 69 +R 00 00 01 00 +T 16 00 00 00 6f 6e 20 65 78 63 68 61 6e 67 65 +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/040e_5838_asci.rel b/src/nos/lib/messages_lib/040e_5838_asci.rel deleted file mode 100644 index ea72ed8a..00000000 --- a/src/nos/lib/messages_lib/040e_5838_asci.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___040e_5838_asci Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 61 73 63 69 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/040e_6414_Station_20_20_20Las.rel b/src/nos/lib/messages_lib/040e_6414_Station_20_20_20Las.rel new file mode 100644 index 00000000..5e4a0b65 --- /dev/null +++ b/src/nos/lib/messages_lib/040e_6414_Station_20_20_20Las.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 27 flags 0 +S ___040e_6414_Station_20_20_20Las Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 25 00 53 74 61 74 69 6f 6e 20 20 +R 00 00 01 00 +T 0b 00 00 00 20 4c 61 73 74 20 68 65 61 72 64 +R 00 00 01 00 +T 16 00 00 00 20 20 20 20 20 20 20 20 20 20 20 +R 00 00 01 00 +T 21 00 00 00 50 6b 74 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/040f_4354_ascii.rel b/src/nos/lib/messages_lib/040f_4354_ascii.rel deleted file mode 100644 index 0785e912..00000000 --- a/src/nos/lib/messages_lib/040f_4354_ascii.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___040f_4354_ascii Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 61 73 63 69 69 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/040f_5bef_Station_20_20_20Las.rel b/src/nos/lib/messages_lib/040f_5bef_Station_20_20_20Las.rel new file mode 100644 index 00000000..eccbddd2 --- /dev/null +++ b/src/nos/lib/messages_lib/040f_5bef_Station_20_20_20Las.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 38 flags 0 +S ___040f_5bef_Station_20_20_20Las Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 36 00 53 74 61 74 69 6f 6e 20 20 +R 00 00 01 00 +T 0b 00 00 00 20 4c 61 73 74 20 72 65 66 20 20 +R 00 00 01 00 +T 16 00 00 00 20 20 20 20 20 20 20 4c 61 73 74 +R 00 00 01 00 +T 21 00 00 00 20 68 65 61 72 64 20 20 20 20 20 +R 00 00 01 00 +T 2c 00 00 00 20 20 20 20 20 20 50 6b 74 73 0a +R 00 00 01 00 +T 37 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0410_3914_ascistat.rel b/src/nos/lib/messages_lib/0410_3914_ascistat.rel deleted file mode 100644 index 1c784258..00000000 --- a/src/nos/lib/messages_lib/0410_3914_ascistat.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___0410_3914_ascistat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 61 73 63 69 73 74 61 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0410_9aef_Subject_3a_20_25s_0.rel b/src/nos/lib/messages_lib/0410_9aef_Subject_3a_20_25s_0.rel new file mode 100644 index 00000000..fe2eb174 --- /dev/null +++ b/src/nos/lib/messages_lib/0410_9aef_Subject_3a_20_25s_0.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0410_9aef_Subject_3a_20_25s_0 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 53 75 62 6a 65 63 74 3a 20 +R 00 00 01 00 +T 0b 00 00 00 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0411_0cac_System_20is_20overl.rel b/src/nos/lib/messages_lib/0411_0cac_System_20is_20overl.rel new file mode 100644 index 00000000..f548dc54 --- /dev/null +++ b/src/nos/lib/messages_lib/0411_0cac_System_20is_20overl.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 29 flags 0 +S ___0411_0cac_System_20is_20overl Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 27 00 53 79 73 74 65 6d 20 69 73 +R 00 00 01 00 +T 0b 00 00 00 20 6f 76 65 72 6c 6f 61 64 65 64 +R 00 00 01 00 +T 16 00 00 00 3b 20 74 72 79 20 61 67 61 69 6e +R 00 00 01 00 +T 21 00 00 00 20 6c 61 74 65 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0411_6442_attach.rel b/src/nos/lib/messages_lib/0411_6442_attach.rel deleted file mode 100644 index fc555996..00000000 --- a/src/nos/lib/messages_lib/0411_6442_attach.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0411_6442_attach Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 61 74 74 61 63 68 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0412_39bc_attach_20_3chardwar.rel b/src/nos/lib/messages_lib/0412_39bc_attach_20_3chardwar.rel deleted file mode 100644 index 154870b2..00000000 --- a/src/nos/lib/messages_lib/0412_39bc_attach_20_3chardwar.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2a flags 0 -S ___0412_39bc_attach_20_3chardwar Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 28 00 61 74 74 61 63 68 20 3c 68 -R 00 00 01 00 -T 0b 00 00 00 61 72 64 77 61 72 65 3e 20 3c 68 -R 00 00 01 00 -T 16 00 00 00 77 20 73 70 65 63 69 66 69 63 20 -R 00 00 01 00 -T 21 00 00 00 6f 70 74 69 6f 6e 73 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0412_63e9_T_20hostname.rel b/src/nos/lib/messages_lib/0412_63e9_T_20hostname.rel new file mode 100644 index 00000000..b11a1826 --- /dev/null +++ b/src/nos/lib/messages_lib/0412_63e9_T_20hostname.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0412_63e9_T_20hostname Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 54 20 68 6f 73 74 6e 61 6d +R 00 00 01 00 +T 0b 00 00 00 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0413_1279_T1_3a_20.rel b/src/nos/lib/messages_lib/0413_1279_T1_3a_20.rel new file mode 100644 index 00000000..e7cddd02 --- /dev/null +++ b/src/nos/lib/messages_lib/0413_1279_T1_3a_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0413_1279_T1_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 54 31 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0413_fe98_attach_20asci_20_3c.rel b/src/nos/lib/messages_lib/0413_fe98_attach_20asci_20_3c.rel deleted file mode 100644 index 5340311f..00000000 --- a/src/nos/lib/messages_lib/0413_fe98_attach_20asci_20_3c.rel +++ /dev/null @@ -1,28 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6c flags 0 -S ___0413_fe98_attach_20asci_20_3c Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 6a 00 61 74 74 61 63 68 20 61 73 -R 00 00 01 00 -T 0b 00 00 00 63 69 20 3c 61 64 64 72 65 73 73 -R 00 00 01 00 -T 16 00 00 00 3e 20 3c 76 65 63 74 6f 72 3e 20 -R 00 00 01 00 -T 21 00 00 00 73 6c 69 70 7c 76 6a 73 6c 69 70 -R 00 00 01 00 -T 2c 00 00 00 7c 61 78 32 35 75 69 7c 61 78 32 -R 00 00 01 00 -T 37 00 00 00 35 69 7c 6e 72 73 7c 70 70 70 20 -R 00 00 01 00 -T 42 00 00 00 3c 6c 61 62 65 6c 3e 20 3c 62 75 -R 00 00 01 00 -T 4d 00 00 00 66 66 65 72 73 3e 20 3c 6d 74 75 -R 00 00 01 00 -T 58 00 00 00 3e 20 3c 73 70 65 65 64 3e 20 5b -R 00 00 01 00 -T 63 00 00 00 69 70 5f 61 64 64 72 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0414_342d_attach_20escc_20_3c.rel b/src/nos/lib/messages_lib/0414_342d_attach_20escc_20_3c.rel deleted file mode 100644 index 0e354275..00000000 --- a/src/nos/lib/messages_lib/0414_342d_attach_20escc_20_3c.rel +++ /dev/null @@ -1,42 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b2 flags 0 -S ___0414_342d_attach_20escc_20_3c Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 b0 00 61 74 74 61 63 68 20 65 73 -R 00 00 01 00 -T 0b 00 00 00 63 63 20 3c 64 65 76 69 63 65 73 -R 00 00 01 00 -T 16 00 00 00 3e 20 69 6e 69 74 20 3c 61 64 64 -R 00 00 01 00 -T 21 00 00 00 72 3e 20 3c 73 70 61 63 69 6e 67 -R 00 00 01 00 -T 2c 00 00 00 3e 20 3c 41 6f 66 66 3e 20 3c 42 -R 00 00 01 00 -T 37 00 00 00 6f 66 66 3e 20 3c 44 61 74 61 6f -R 00 00 01 00 -T 42 00 00 00 66 66 3e 0a 20 20 20 3c 69 6e 74 -R 00 00 01 00 -T 4d 00 00 00 61 63 6b 3e 20 3c 76 65 63 3e 20 -R 00 00 01 00 -T 58 00 00 00 5b 70 5d 3c 63 6c 6f 63 6b 3e 20 -R 00 00 01 00 -T 63 00 00 00 5b 68 64 77 65 5d 20 5b 70 61 72 -R 00 00 01 00 -T 6e 00 00 00 61 6d 5d 0a 61 74 74 61 63 68 20 -R 00 00 01 00 -T 79 00 00 00 65 73 63 63 20 3c 63 68 61 6e 3e -R 00 00 01 00 -T 84 00 00 00 20 73 6c 69 70 20 3c 6c 61 62 65 -R 00 00 01 00 -T 8f 00 00 00 6c 3e 20 3c 6d 74 75 3e 20 3c 73 -R 00 00 01 00 -T 9a 00 00 00 70 65 65 64 3e 20 3c 62 75 66 73 -R 00 00 01 00 -T a5 00 00 00 69 7a 65 3e 20 5b 63 61 6c 6c 5d -R 00 00 01 00 -T b0 00 00 00 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0414_a7c1_T3_3a_20.rel b/src/nos/lib/messages_lib/0414_a7c1_T3_3a_20.rel new file mode 100644 index 00000000..fcf781b2 --- /dev/null +++ b/src/nos/lib/messages_lib/0414_a7c1_T3_3a_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0414_a7c1_T3_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 54 33 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0415_7943_attempt_20to_20writ.rel b/src/nos/lib/messages_lib/0415_7943_attempt_20to_20writ.rel deleted file mode 100644 index 9ada5e79..00000000 --- a/src/nos/lib/messages_lib/0415_7943_attempt_20to_20writ.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___0415_7943_attempt_20to_20writ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 61 74 74 65 6d 70 74 20 74 -R 00 00 01 00 -T 0b 00 00 00 6f 20 77 72 69 74 65 2d 62 61 63 -R 00 00 01 00 -T 16 00 00 00 6b 20 7a 65 72 6f 62 75 66 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0415_e4a1_TACK_3a_20.rel b/src/nos/lib/messages_lib/0415_e4a1_TACK_3a_20.rel new file mode 100644 index 00000000..33e546f5 --- /dev/null +++ b/src/nos/lib/messages_lib/0415_e4a1_TACK_3a_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0415_e4a1_TACK_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 54 41 43 4b 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0416_7d37_attend.rel b/src/nos/lib/messages_lib/0416_7d37_attend.rel deleted file mode 100644 index 879eb248..00000000 --- a/src/nos/lib/messages_lib/0416_7d37_attend.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0416_7d37_attend Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 61 74 74 65 6e 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0416_7f7b_TCB_20_25p_20_25s_2.rel b/src/nos/lib/messages_lib/0416_7f7b_TCB_20_25p_20_25s_2.rel new file mode 100644 index 00000000..a5598299 --- /dev/null +++ b/src/nos/lib/messages_lib/0416_7f7b_TCB_20_25p_20_25s_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___0416_7f7b_TCB_20_25p_20_25s_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 54 43 42 20 25 70 20 25 73 +R 00 00 01 00 +T 0b 00 00 00 20 2d 3e 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0417_5447_TCD_3a_20.rel b/src/nos/lib/messages_lib/0417_5447_TCD_3a_20.rel new file mode 100644 index 00000000..603b8251 --- /dev/null +++ b/src/nos/lib/messages_lib/0417_5447_TCD_3a_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0417_5447_TCD_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 54 43 44 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0417_c133_authenticate.rel b/src/nos/lib/messages_lib/0417_c133_authenticate.rel deleted file mode 100644 index a956cdb6..00000000 --- a/src/nos/lib/messages_lib/0417_c133_authenticate.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___0417_c133_authenticate Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 61 75 74 68 65 6e 74 69 63 -R 00 00 01 00 -T 0b 00 00 00 61 74 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0418_fa23_TCP_20MSS.rel b/src/nos/lib/messages_lib/0418_fa23_TCP_20MSS.rel new file mode 100644 index 00000000..5265a0ed --- /dev/null +++ b/src/nos/lib/messages_lib/0418_fa23_TCP_20MSS.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0418_fa23_TCP_20MSS Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 54 43 50 20 4d 53 53 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0418_fd47_ax25_20kick_20_3cax.rel b/src/nos/lib/messages_lib/0418_fd47_ax25_20kick_20_3cax.rel deleted file mode 100644 index 2087f8ef..00000000 --- a/src/nos/lib/messages_lib/0418_fd47_ax25_20kick_20_3cax.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___0418_fd47_ax25_20kick_20_3cax Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 61 78 32 35 20 6b 69 63 6b -R 00 00 01 00 -T 0b 00 00 00 20 3c 61 78 63 62 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0419_0003_ax25_20reset_20_3ca.rel b/src/nos/lib/messages_lib/0419_0003_ax25_20reset_20_3ca.rel deleted file mode 100644 index dd3d15be..00000000 --- a/src/nos/lib/messages_lib/0419_0003_ax25_20reset_20_3ca.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___0419_0003_ax25_20reset_20_3ca Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 61 78 32 35 20 72 65 73 65 -R 00 00 01 00 -T 0b 00 00 00 74 20 3c 61 78 63 62 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0419_70e7_TCP_20default_20irt.rel b/src/nos/lib/messages_lib/0419_70e7_TCP_20default_20irt.rel new file mode 100644 index 00000000..023a3e66 --- /dev/null +++ b/src/nos/lib/messages_lib/0419_70e7_TCP_20default_20irt.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___0419_70e7_TCP_20default_20irt Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 54 43 50 20 64 65 66 61 75 +R 00 00 01 00 +T 0b 00 00 00 6c 74 20 69 72 74 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/041a_5ac7_TCP_20header_20comp.rel b/src/nos/lib/messages_lib/041a_5ac7_TCP_20header_20comp.rel new file mode 100644 index 00000000..87cddd56 --- /dev/null +++ b/src/nos/lib/messages_lib/041a_5ac7_TCP_20header_20comp.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 42 flags 0 +S ___041a_5ac7_TCP_20header_20comp Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 40 00 54 43 50 20 68 65 61 64 65 +R 00 00 01 00 +T 0b 00 00 00 72 20 63 6f 6d 70 72 65 73 73 69 +R 00 00 01 00 +T 16 00 00 00 6f 6e 20 65 6e 61 62 6c 65 64 3b +R 00 00 01 00 +T 21 00 00 00 20 53 6c 6f 74 73 20 3d 20 25 64 +R 00 00 01 00 +T 2c 00 00 00 2c 20 73 6c 6f 74 20 63 6f 6d 70 +R 00 00 01 00 +T 37 00 00 00 72 65 73 73 20 3d 20 25 78 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/041a_ca0a_bad_20destination_2.rel b/src/nos/lib/messages_lib/041a_ca0a_bad_20destination_2.rel deleted file mode 100644 index 843453ea..00000000 --- a/src/nos/lib/messages_lib/041a_ca0a_bad_20destination_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___041a_ca0a_bad_20destination_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 62 61 64 20 64 65 73 74 69 -R 00 00 01 00 -T 0b 00 00 00 6e 61 74 69 6f 6e 20 63 61 6c 6c -R 00 00 01 00 -T 16 00 00 00 73 69 67 6e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/041b_60d3_bad_20internet_20ad.rel b/src/nos/lib/messages_lib/041b_60d3_bad_20internet_20ad.rel deleted file mode 100644 index ded529b5..00000000 --- a/src/nos/lib/messages_lib/041b_60d3_bad_20internet_20ad.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___041b_60d3_bad_20internet_20ad Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 62 61 64 20 69 6e 74 65 72 -R 00 00 01 00 -T 0b 00 00 00 6e 65 74 20 61 64 64 72 65 73 73 -R 00 00 01 00 -T 16 00 00 00 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/041b_c668_TCP_20state_20traci.rel b/src/nos/lib/messages_lib/041b_c668_TCP_20state_20traci.rel new file mode 100644 index 00000000..cf7f79d7 --- /dev/null +++ b/src/nos/lib/messages_lib/041b_c668_TCP_20state_20traci.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___041b_c668_TCP_20state_20traci Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 54 43 50 20 73 74 61 74 65 +R 00 00 01 00 +T 0b 00 00 00 20 74 72 61 63 69 6e 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/041c_0a79_bad_20neighbor_20ca.rel b/src/nos/lib/messages_lib/041c_0a79_bad_20neighbor_20ca.rel deleted file mode 100644 index 16444a42..00000000 --- a/src/nos/lib/messages_lib/041c_0a79_bad_20neighbor_20ca.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___041c_0a79_bad_20neighbor_20ca Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 62 61 64 20 6e 65 69 67 68 -R 00 00 01 00 -T 0b 00 00 00 62 6f 72 20 63 61 6c 6c 73 69 67 -R 00 00 01 00 -T 16 00 00 00 6e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/041c_b0d7_TCP_20syn_2bdata_20.rel b/src/nos/lib/messages_lib/041c_b0d7_TCP_20syn_2bdata_20.rel new file mode 100644 index 00000000..e8bafcb6 --- /dev/null +++ b/src/nos/lib/messages_lib/041c_b0d7_TCP_20syn_2bdata_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___041c_b0d7_TCP_20syn_2bdata_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 54 43 50 20 73 79 6e 2b 64 +R 00 00 01 00 +T 0b 00 00 00 61 74 61 20 70 69 67 67 79 62 61 +R 00 00 01 00 +T 16 00 00 00 63 6b 69 6e 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/041d_4126_batch.rel b/src/nos/lib/messages_lib/041d_4126_batch.rel deleted file mode 100644 index 1461175a..00000000 --- a/src/nos/lib/messages_lib/041d_4126_batch.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___041d_4126_batch Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 62 61 74 63 68 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/041d_43bd_TCP_20timestamps.rel b/src/nos/lib/messages_lib/041d_43bd_TCP_20timestamps.rel new file mode 100644 index 00000000..309d8b07 --- /dev/null +++ b/src/nos/lib/messages_lib/041d_43bd_TCP_20timestamps.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___041d_43bd_TCP_20timestamps Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 54 43 50 20 74 69 6d 65 73 +R 00 00 01 00 +T 0b 00 00 00 74 61 6d 70 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/041e_5b74_TCP_20window.rel b/src/nos/lib/messages_lib/041e_5b74_TCP_20window.rel new file mode 100644 index 00000000..60a40179 --- /dev/null +++ b/src/nos/lib/messages_lib/041e_5b74_TCP_20window.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___041e_5b74_TCP_20window Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 54 43 50 20 77 69 6e 64 6f +R 00 00 01 00 +T 0b 00 00 00 77 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/041e_bcb6_bcnodes.rel b/src/nos/lib/messages_lib/041e_bcb6_bcnodes.rel deleted file mode 100644 index 814a643a..00000000 --- a/src/nos/lib/messages_lib/041e_bcb6_bcnodes.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___041e_bcb6_bcnodes Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 62 63 6e 6f 64 65 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/041f_0c93_begin_20_2503o_20_2.rel b/src/nos/lib/messages_lib/041f_0c93_begin_20_2503o_20_2.rel deleted file mode 100644 index 0235be9c..00000000 --- a/src/nos/lib/messages_lib/041f_0c93_begin_20_2503o_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___041f_0c93_begin_20_2503o_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 62 65 67 69 6e 20 25 30 33 -R 00 00 01 00 -T 0b 00 00 00 6f 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/041f_7267_TCP_3a_20_25u_2d_3e.rel b/src/nos/lib/messages_lib/041f_7267_TCP_3a_20_25u_2d_3e.rel new file mode 100644 index 00000000..151c8c27 --- /dev/null +++ b/src/nos/lib/messages_lib/041f_7267_TCP_3a_20_25u_2d_3e.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___041f_7267_TCP_3a_20_25u_2d_3e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 54 43 50 3a 20 25 75 2d 3e +R 00 00 01 00 +T 0b 00 00 00 25 75 20 53 65 71 20 78 25 6c 78 +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0420_50c4_bfind_28_25u_2c_20_.rel b/src/nos/lib/messages_lib/0420_50c4_bfind_28_25u_2c_20_.rel deleted file mode 100644 index 1b6714d3..00000000 --- a/src/nos/lib/messages_lib/0420_50c4_bfind_28_25u_2c_20_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___0420_50c4_bfind_28_25u_2c_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 62 66 69 6e 64 28 25 75 2c -R 00 00 01 00 -T 0b 00 00 00 20 25 75 29 20 73 74 61 72 74 69 -R 00 00 01 00 -T 16 00 00 00 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0420_59c4_TChoke_3a_20.rel b/src/nos/lib/messages_lib/0420_59c4_TChoke_3a_20.rel new file mode 100644 index 00000000..c69e898b --- /dev/null +++ b/src/nos/lib/messages_lib/0420_59c4_TChoke_3a_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___0420_59c4_TChoke_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 54 43 68 6f 6b 65 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0421_0a46_bfind_28_29_20retur.rel b/src/nos/lib/messages_lib/0421_0a46_bfind_28_29_20retur.rel deleted file mode 100644 index 4c83fd0d..00000000 --- a/src/nos/lib/messages_lib/0421_0a46_bfind_28_29_20retur.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2c flags 0 -S ___0421_0a46_bfind_28_29_20retur Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2a 00 62 66 69 6e 64 28 29 20 72 -R 00 00 01 00 -T 0b 00 00 00 65 74 75 72 6e 69 6e 67 20 30 78 -R 00 00 01 00 -T 16 00 00 00 25 78 2c 20 66 6f 75 6e 64 20 28 -R 00 00 01 00 -T 21 00 00 00 69 6e 64 65 78 20 25 75 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0421_2ced_TX_20Delay_3a_20_25.rel b/src/nos/lib/messages_lib/0421_2ced_TX_20Delay_3a_20_25.rel new file mode 100644 index 00000000..ff4b8228 --- /dev/null +++ b/src/nos/lib/messages_lib/0421_2ced_TX_20Delay_3a_20_25.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___0421_2ced_TX_20Delay_3a_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 54 58 20 44 65 6c 61 79 3a +R 00 00 01 00 +T 0b 00 00 00 20 25 6c 75 20 6d 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0422_6a23_TX_20Tail_20time_3a.rel b/src/nos/lib/messages_lib/0422_6a23_TX_20Tail_20time_3a.rel new file mode 100644 index 00000000..5f38a992 --- /dev/null +++ b/src/nos/lib/messages_lib/0422_6a23_TX_20Tail_20time_3a.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0422_6a23_TX_20Tail_20time_3a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 54 58 20 54 61 69 6c 20 74 +R 00 00 01 00 +T 0b 00 00 00 69 6d 65 3a 20 25 6c 75 20 6d 73 +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0422_f1cc_bfind_28_29_20retur.rel b/src/nos/lib/messages_lib/0422_f1cc_bfind_28_29_20retur.rel deleted file mode 100644 index 56cc5f9f..00000000 --- a/src/nos/lib/messages_lib/0422_f1cc_bfind_28_29_20retur.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___0422_f1cc_bfind_28_29_20retur Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 62 66 69 6e 64 28 29 20 72 -R 00 00 01 00 -T 0b 00 00 00 65 74 75 72 6e 69 6e 67 20 4e 55 -R 00 00 01 00 -T 16 00 00 00 4c 4c 2c 20 6e 6f 74 20 66 6f 75 -R 00 00 01 00 -T 21 00 00 00 6e 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0423_d175_TX_20queue_20limit.rel b/src/nos/lib/messages_lib/0423_d175_TX_20queue_20limit.rel new file mode 100644 index 00000000..fcb6743f --- /dev/null +++ b/src/nos/lib/messages_lib/0423_d175_TX_20queue_20limit.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0423_d175_TX_20queue_20limit Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 54 58 20 71 75 65 75 65 20 +R 00 00 01 00 +T 0b 00 00 00 6c 69 6d 69 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0423_e2d4_bfree_28_29_20retur.rel b/src/nos/lib/messages_lib/0423_e2d4_bfree_28_29_20retur.rel deleted file mode 100644 index 1c7fd3d3..00000000 --- a/src/nos/lib/messages_lib/0423_e2d4_bfree_28_29_20retur.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 -S ___0423_e2d4_bfree_28_29_20retur Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 20 00 62 66 72 65 65 28 29 20 72 -R 00 00 01 00 -T 0b 00 00 00 65 74 75 72 6e 69 6e 67 20 2d 31 -R 00 00 01 00 -T 16 00 00 00 2c 20 65 72 72 6f 72 20 25 75 0a -R 00 00 01 00 -T 21 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0424_e703_bfree_28_29_20retur.rel b/src/nos/lib/messages_lib/0424_e703_bfree_28_29_20retur.rel deleted file mode 100644 index 0fe1c521..00000000 --- a/src/nos/lib/messages_lib/0424_e703_bfree_28_29_20retur.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___0424_e703_bfree_28_29_20retur Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 62 66 72 65 65 28 29 20 72 -R 00 00 01 00 -T 0b 00 00 00 65 74 75 72 6e 69 6e 67 20 30 2c -R 00 00 01 00 -T 16 00 00 00 20 73 75 63 63 65 73 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0424_f579_TYPE_20A_0a.rel b/src/nos/lib/messages_lib/0424_f579_TYPE_20A_0a.rel new file mode 100644 index 00000000..1755d47c --- /dev/null +++ b/src/nos/lib/messages_lib/0424_f579_TYPE_20A_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0424_f579_TYPE_20A_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 54 59 50 45 20 41 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0425_3bb9_TYPE_20I_0a.rel b/src/nos/lib/messages_lib/0425_3bb9_TYPE_20I_0a.rel new file mode 100644 index 00000000..00bc0652 --- /dev/null +++ b/src/nos/lib/messages_lib/0425_3bb9_TYPE_20I_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0425_3bb9_TYPE_20I_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 54 59 50 45 20 49 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0425_4466_bfree_280x_25x_2c_2.rel b/src/nos/lib/messages_lib/0425_4466_bfree_280x_25x_2c_2.rel deleted file mode 100644 index 08b8890e..00000000 --- a/src/nos/lib/messages_lib/0425_4466_bfree_280x_25x_2c_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___0425_4466_bfree_280x_25x_2c_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 62 66 72 65 65 28 30 78 25 -R 00 00 01 00 -T 0b 00 00 00 78 2c 20 25 75 29 20 73 74 61 72 -R 00 00 01 00 -T 16 00 00 00 74 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0426_3245_binary.rel b/src/nos/lib/messages_lib/0426_3245_binary.rel deleted file mode 100644 index 2bdc29f9..00000000 --- a/src/nos/lib/messages_lib/0426_3245_binary.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0426_3245_binary Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 62 69 6e 61 72 79 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0426_a616_TYPE_20L_20_25d_0a.rel b/src/nos/lib/messages_lib/0426_a616_TYPE_20L_20_25d_0a.rel new file mode 100644 index 00000000..4c43fb6e --- /dev/null +++ b/src/nos/lib/messages_lib/0426_a616_TYPE_20L_20_25d_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0426_a616_TYPE_20L_20_25d_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 54 59 50 45 20 4c 20 25 64 +R 00 00 01 00 +T 0b 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0427_4c4f_blimit.rel b/src/nos/lib/messages_lib/0427_4c4f_blimit.rel deleted file mode 100644 index bc02e04b..00000000 --- a/src/nos/lib/messages_lib/0427_4c4f_blimit.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0427_4c4f_blimit Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 62 6c 69 6d 69 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0427_f6fb_Target_20_20_20_20T.rel b/src/nos/lib/messages_lib/0427_f6fb_Target_20_20_20_20T.rel new file mode 100644 index 00000000..f0653d79 --- /dev/null +++ b/src/nos/lib/messages_lib/0427_f6fb_Target_20_20_20_20T.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___0427_f6fb_Target_20_20_20_20T Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 54 61 72 67 65 74 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 20 54 79 70 65 20 20 20 44 69 67 +R 00 00 01 00 +T 16 00 00 00 69 70 65 61 74 65 72 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0428_950b_Telnet_20option_20t.rel b/src/nos/lib/messages_lib/0428_950b_Telnet_20option_20t.rel new file mode 100644 index 00000000..4b8035bb --- /dev/null +++ b/src/nos/lib/messages_lib/0428_950b_Telnet_20option_20t.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0428_950b_Telnet_20option_20t Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 54 65 6c 6e 65 74 20 6f 70 +R 00 00 01 00 +T 0b 00 00 00 74 69 6f 6e 20 74 72 61 63 69 6e +R 00 00 01 00 +T 16 00 00 00 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0428_c307_blk_5falloc_28_29_2.rel b/src/nos/lib/messages_lib/0428_c307_blk_5falloc_28_29_2.rel deleted file mode 100644 index 7a2fecd2..00000000 --- a/src/nos/lib/messages_lib/0428_c307_blk_5falloc_28_29_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___0428_c307_blk_5falloc_28_29_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 62 6c 6b 5f 61 6c 6c 6f 63 -R 00 00 01 00 -T 0b 00 00 00 28 29 20 72 65 74 75 72 6e 69 6e -R 00 00 01 00 -T 16 00 00 00 67 20 30 2c 20 65 72 72 6f 72 20 -R 00 00 01 00 -T 21 00 00 00 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0429_16a0_TermSent.rel b/src/nos/lib/messages_lib/0429_16a0_TermSent.rel new file mode 100644 index 00000000..d8180ce2 --- /dev/null +++ b/src/nos/lib/messages_lib/0429_16a0_TermSent.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___0429_16a0_TermSent Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 54 65 72 6d 53 65 6e 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0429_b0c8_bmap_28_29_20return.rel b/src/nos/lib/messages_lib/0429_b0c8_bmap_28_29_20return.rel deleted file mode 100644 index dd16df84..00000000 --- a/src/nos/lib/messages_lib/0429_b0c8_bmap_28_29_20return.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___0429_b0c8_bmap_28_29_20return Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 62 6d 61 70 28 29 20 72 65 -R 00 00 01 00 -T 0b 00 00 00 74 75 72 6e 69 6e 67 20 25 75 2c -R 00 00 01 00 -T 16 00 00 00 20 64 69 72 65 63 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/042a_bbcb_bmap_28_29_20return.rel b/src/nos/lib/messages_lib/042a_bbcb_bmap_28_29_20return.rel deleted file mode 100644 index c9d0fdc7..00000000 --- a/src/nos/lib/messages_lib/042a_bbcb_bmap_28_29_20return.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___042a_bbcb_bmap_28_29_20return Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 62 6d 61 70 28 29 20 72 65 -R 00 00 01 00 -T 0b 00 00 00 74 75 72 6e 69 6e 67 20 25 75 2c -R 00 00 01 00 -T 16 00 00 00 20 73 75 63 63 65 73 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/042a_e674_Termin_20Ack.rel b/src/nos/lib/messages_lib/042a_e674_Termin_20Ack.rel new file mode 100644 index 00000000..02da8491 --- /dev/null +++ b/src/nos/lib/messages_lib/042a_e674_Termin_20Ack.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___042a_e674_Termin_20Ack Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 54 65 72 6d 69 6e 20 41 63 +R 00 00 01 00 +T 0b 00 00 00 6b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/042b_46ee_bmap_28_29_20return.rel b/src/nos/lib/messages_lib/042b_46ee_bmap_28_29_20return.rel deleted file mode 100644 index 42bb6316..00000000 --- a/src/nos/lib/messages_lib/042b_46ee_bmap_28_29_20return.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___042b_46ee_bmap_28_29_20return Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 62 6d 61 70 28 29 20 72 65 -R 00 00 01 00 -T 0b 00 00 00 74 75 72 6e 69 6e 67 20 4e 55 4c -R 00 00 01 00 -T 16 00 00 00 4c 42 4c 4b 2c 20 65 72 72 6f 72 -R 00 00 01 00 -T 21 00 00 00 20 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/042b_678e_Termin_20Req.rel b/src/nos/lib/messages_lib/042b_678e_Termin_20Req.rel new file mode 100644 index 00000000..fd590a95 --- /dev/null +++ b/src/nos/lib/messages_lib/042b_678e_Termin_20Req.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___042b_678e_Termin_20Req Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 54 65 72 6d 69 6e 20 52 65 +R 00 00 01 00 +T 0b 00 00 00 71 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/042c_3a66_Terminate_20request.rel b/src/nos/lib/messages_lib/042c_3a66_Terminate_20request.rel new file mode 100644 index 00000000..93ef9870 --- /dev/null +++ b/src/nos/lib/messages_lib/042c_3a66_Terminate_20request.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___042c_3a66_Terminate_20request Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 54 65 72 6d 69 6e 61 74 65 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 71 75 65 73 74 20 73 65 +R 00 00 01 00 +T 16 00 00 00 6e 74 20 74 6f 20 72 65 6d 6f 74 +R 00 00 01 00 +T 21 00 00 00 65 20 68 6f 73 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/042c_7681_bmap_280x_25x_2c_20.rel b/src/nos/lib/messages_lib/042c_7681_bmap_280x_25x_2c_20.rel deleted file mode 100644 index 58f3fdc5..00000000 --- a/src/nos/lib/messages_lib/042c_7681_bmap_280x_25x_2c_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___042c_7681_bmap_280x_25x_2c_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 62 6d 61 70 28 30 78 25 78 -R 00 00 01 00 -T 0b 00 00 00 2c 20 25 75 2c 20 25 75 29 20 73 -R 00 00 01 00 -T 16 00 00 00 74 61 72 74 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/042d_b7ab_Terminate_20retry_2.rel b/src/nos/lib/messages_lib/042d_b7ab_Terminate_20retry_2.rel new file mode 100644 index 00000000..206d4218 --- /dev/null +++ b/src/nos/lib/messages_lib/042d_b7ab_Terminate_20retry_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___042d_b7ab_Terminate_20retry_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 54 65 72 6d 69 6e 61 74 65 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 72 79 20 65 78 63 65 +R 00 00 01 00 +T 16 00 00 00 65 64 65 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/042d_ff8d_bootp_20_5bnet_5fna.rel b/src/nos/lib/messages_lib/042d_ff8d_bootp_20_5bnet_5fna.rel deleted file mode 100644 index 55611261..00000000 --- a/src/nos/lib/messages_lib/042d_ff8d_bootp_20_5bnet_5fna.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___042d_ff8d_bootp_20_5bnet_5fna Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 62 6f 6f 74 70 20 5b 6e 65 -R 00 00 01 00 -T 0b 00 00 00 74 5f 6e 61 6d 65 5d 20 5b 73 69 -R 00 00 01 00 -T 16 00 00 00 6c 65 6e 74 5d 20 5b 6e 6f 69 73 -R 00 00 01 00 -T 21 00 00 00 79 5d 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/042e_0e8f_bootp_3a_20Net_5fer.rel b/src/nos/lib/messages_lib/042e_0e8f_bootp_3a_20Net_5fer.rel deleted file mode 100644 index 1a02ba4c..00000000 --- a/src/nos/lib/messages_lib/042e_0e8f_bootp_3a_20Net_5fer.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___042e_0e8f_bootp_3a_20Net_5fer Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 62 6f 6f 74 70 3a 20 4e 65 -R 00 00 01 00 -T 0b 00 00 00 74 5f 65 72 72 6f 72 20 25 64 2c -R 00 00 01 00 -T 16 00 00 00 20 6e 6f 20 76 61 6c 75 65 73 20 -R 00 00 01 00 -T 21 00 00 00 73 65 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/042e_ff4c_Terminated.rel b/src/nos/lib/messages_lib/042e_ff4c_Terminated.rel new file mode 100644 index 00000000..b9be1b64 --- /dev/null +++ b/src/nos/lib/messages_lib/042e_ff4c_Terminated.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___042e_ff4c_Terminated Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 54 65 72 6d 69 6e 61 74 65 +R 00 00 01 00 +T 0b 00 00 00 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/042f_206b_Terminated_20unexpe.rel b/src/nos/lib/messages_lib/042f_206b_Terminated_20unexpe.rel new file mode 100644 index 00000000..070c38d7 --- /dev/null +++ b/src/nos/lib/messages_lib/042f_206b_Terminated_20unexpe.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___042f_206b_Terminated_20unexpe Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 54 65 72 6d 69 6e 61 74 65 +R 00 00 01 00 +T 0b 00 00 00 64 20 75 6e 65 78 70 65 63 74 6c +R 00 00 01 00 +T 16 00 00 00 79 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/042f_f5d9_bootp_3a_20timed_20.rel b/src/nos/lib/messages_lib/042f_f5d9_bootp_3a_20timed_20.rel deleted file mode 100644 index 8458ad38..00000000 --- a/src/nos/lib/messages_lib/042f_f5d9_bootp_3a_20timed_20.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___042f_f5d9_bootp_3a_20timed_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 62 6f 6f 74 70 3a 20 74 69 -R 00 00 01 00 -T 0b 00 00 00 6d 65 64 20 6f 75 74 2c 20 76 61 -R 00 00 01 00 -T 16 00 00 00 6c 75 65 73 20 6e 6f 74 20 73 65 -R 00 00 01 00 -T 21 00 00 00 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0430_72d6_bp_20_25lx_20tot_20.rel b/src/nos/lib/messages_lib/0430_72d6_bp_20_25lx_20tot_20.rel deleted file mode 100644 index a4cb202d..00000000 --- a/src/nos/lib/messages_lib/0430_72d6_bp_20_25lx_20tot_20.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 38 flags 0 -S ___0430_72d6_bp_20_25lx_20tot_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 36 00 62 70 20 25 6c 78 20 74 6f -R 00 00 01 00 -T 0b 00 00 00 74 20 73 69 7a 20 25 75 20 64 61 -R 00 00 01 00 -T 16 00 00 00 74 61 20 25 6c 78 20 63 6e 74 20 -R 00 00 01 00 -T 21 00 00 00 25 75 20 6e 65 78 74 20 25 6c 78 -R 00 00 01 00 -T 2c 00 00 00 20 61 6e 65 78 74 20 25 6c 78 0a -R 00 00 01 00 -T 37 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0430_73f9_Termination_20Phase.rel b/src/nos/lib/messages_lib/0430_73f9_Termination_20Phase.rel new file mode 100644 index 00000000..da205fe9 --- /dev/null +++ b/src/nos/lib/messages_lib/0430_73f9_Termination_20Phase.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___0430_73f9_Termination_20Phase Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 54 65 72 6d 69 6e 61 74 69 +R 00 00 01 00 +T 0b 00 00 00 6f 6e 20 50 68 61 73 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0431_4517_Thank_20you_20_25s_.rel b/src/nos/lib/messages_lib/0431_4517_Thank_20you_20_25s_.rel new file mode 100644 index 00000000..616c123e --- /dev/null +++ b/src/nos/lib/messages_lib/0431_4517_Thank_20you_20_25s_.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 34 flags 0 +S ___0431_4517_Thank_20you_20_25s_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 32 00 54 68 61 6e 6b 20 79 6f 75 +R 00 00 01 00 +T 0b 00 00 00 20 25 73 2c 20 66 6f 72 20 63 61 +R 00 00 01 00 +T 16 00 00 00 6c 6c 69 6e 67 20 74 68 65 20 25 +R 00 00 01 00 +T 21 00 00 00 73 20 54 63 70 2f 49 70 20 4d 61 +R 00 00 01 00 +T 2c 00 00 00 69 6c 62 6f 78 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0431_88ea_bread_28_25u_2c_20_.rel b/src/nos/lib/messages_lib/0431_88ea_bread_28_25u_2c_20_.rel deleted file mode 100644 index d3676175..00000000 --- a/src/nos/lib/messages_lib/0431_88ea_bread_28_25u_2c_20_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___0431_88ea_bread_28_25u_2c_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 62 72 65 61 64 28 25 75 2c -R 00 00 01 00 -T 0b 00 00 00 20 25 75 2c 20 25 75 29 20 73 74 -R 00 00 01 00 -T 16 00 00 00 61 72 74 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0432_70f0_The_20escape_20char.rel b/src/nos/lib/messages_lib/0432_70f0_The_20escape_20char.rel new file mode 100644 index 00000000..4fc9e8cd --- /dev/null +++ b/src/nos/lib/messages_lib/0432_70f0_The_20escape_20char.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___0432_70f0_The_20escape_20char Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 54 68 65 20 65 73 63 61 70 +R 00 00 01 00 +T 0b 00 00 00 65 20 63 68 61 72 61 63 74 65 72 +R 00 00 01 00 +T 16 00 00 00 20 69 73 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0432_89e2_bread_28_29_20retur.rel b/src/nos/lib/messages_lib/0432_89e2_bread_28_29_20retur.rel deleted file mode 100644 index 48376821..00000000 --- a/src/nos/lib/messages_lib/0432_89e2_bread_28_29_20retur.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___0432_89e2_bread_28_29_20retur Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 62 72 65 61 64 28 29 20 72 -R 00 00 01 00 -T 0b 00 00 00 65 74 75 72 6e 69 6e 67 20 30 78 -R 00 00 01 00 -T 16 00 00 00 25 78 2c 20 73 75 63 63 65 73 73 -R 00 00 01 00 -T 21 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0433_6de0_Time_20for_201000_2.rel b/src/nos/lib/messages_lib/0433_6de0_Time_20for_201000_2.rel new file mode 100644 index 00000000..4c8559cd --- /dev/null +++ b/src/nos/lib/messages_lib/0433_6de0_Time_20for_201000_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___0433_6de0_Time_20for_201000_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 54 69 6d 65 20 66 6f 72 20 +R 00 00 01 00 +T 0b 00 00 00 31 30 30 30 20 31 30 32 34 2d 62 +R 00 00 01 00 +T 16 00 00 00 79 74 65 20 63 6f 70 69 65 73 3a +R 00 00 01 00 +T 21 00 00 00 20 25 6c 75 20 6d 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0433_7a66_bread_28_29_20retur.rel b/src/nos/lib/messages_lib/0433_7a66_bread_28_29_20retur.rel deleted file mode 100644 index 77705808..00000000 --- a/src/nos/lib/messages_lib/0433_7a66_bread_28_29_20retur.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___0433_7a66_bread_28_29_20retur Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 62 72 65 61 64 28 29 20 72 -R 00 00 01 00 -T 0b 00 00 00 65 74 75 72 6e 69 6e 67 20 4e 55 -R 00 00 01 00 -T 16 00 00 00 4c 4c 2c 20 65 72 72 6f 72 20 25 -R 00 00 01 00 -T 21 00 00 00 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0434_601a_Time_20to_20live.rel b/src/nos/lib/messages_lib/0434_601a_Time_20to_20live.rel new file mode 100644 index 00000000..d207fc0b --- /dev/null +++ b/src/nos/lib/messages_lib/0434_601a_Time_20to_20live.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0434_601a_Time_20to_20live Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 54 69 6d 65 20 74 6f 20 6c +R 00 00 01 00 +T 0b 00 00 00 69 76 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0434_9767_brk.rel b/src/nos/lib/messages_lib/0434_9767_brk.rel deleted file mode 100644 index 7745a8d9..00000000 --- a/src/nos/lib/messages_lib/0434_9767_brk.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0434_9767_brk Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 62 72 6b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0435_12d5_Timeout.rel b/src/nos/lib/messages_lib/0435_12d5_Timeout.rel new file mode 100644 index 00000000..36a5cd47 --- /dev/null +++ b/src/nos/lib/messages_lib/0435_12d5_Timeout.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0435_12d5_Timeout Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 54 69 6d 65 6f 75 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0435_f951_broadcast.rel b/src/nos/lib/messages_lib/0435_f951_broadcast.rel deleted file mode 100644 index 293b2f13..00000000 --- a/src/nos/lib/messages_lib/0435_f951_broadcast.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___0435_f951_broadcast Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 62 72 6f 61 64 63 61 73 74 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0436_03ff_bsr.rel b/src/nos/lib/messages_lib/0436_03ff_bsr.rel deleted file mode 100644 index 5dd0e108..00000000 --- a/src/nos/lib/messages_lib/0436_03ff_bsr.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0436_03ff_bsr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 62 73 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0436_e505_Timeout_20value_20_.rel b/src/nos/lib/messages_lib/0436_e505_Timeout_20value_20_.rel new file mode 100644 index 00000000..f217054f --- /dev/null +++ b/src/nos/lib/messages_lib/0436_e505_Timeout_20value_20_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___0436_e505_Timeout_20value_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 54 69 6d 65 6f 75 74 20 76 +R 00 00 01 00 +T 0b 00 00 00 61 6c 75 65 20 25 73 20 28 25 64 +R 00 00 01 00 +T 16 00 00 00 29 20 6d 75 73 74 20 62 65 20 3e +R 00 00 01 00 +T 21 00 00 00 20 30 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0437_1db3_Timer_20_20_20_20_2.rel b/src/nos/lib/messages_lib/0437_1db3_Timer_20_20_20_20_2.rel new file mode 100644 index 00000000..4ca83662 --- /dev/null +++ b/src/nos/lib/messages_lib/0437_1db3_Timer_20_20_20_20_2.rel @@ -0,0 +1,22 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 47 flags 0 +S ___0437_1db3_Timer_20_20_20_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 45 00 54 69 6d 65 72 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 20 20 20 20 43 6f 75 6e 74 20 20 +R 00 00 01 00 +T 16 00 00 00 44 75 72 61 74 69 6f 6e 20 20 4c +R 00 00 01 00 +T 21 00 00 00 61 73 74 20 52 54 54 20 20 20 20 +R 00 00 01 00 +T 2c 00 00 00 20 20 53 52 54 54 20 20 20 20 20 +R 00 00 01 00 +T 37 00 00 00 20 4d 64 65 76 20 20 20 4d 65 74 +R 00 00 01 00 +T 42 00 00 00 68 6f 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0437_d194_bufsync_28_29_20ret.rel b/src/nos/lib/messages_lib/0437_d194_bufsync_28_29_20ret.rel deleted file mode 100644 index ef060247..00000000 --- a/src/nos/lib/messages_lib/0437_d194_bufsync_28_29_20ret.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___0437_d194_bufsync_28_29_20ret Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 62 75 66 73 79 6e 63 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0438_606b_bufsync_28_29_20sta.rel b/src/nos/lib/messages_lib/0438_606b_bufsync_28_29_20sta.rel deleted file mode 100644 index 278a9b0d..00000000 --- a/src/nos/lib/messages_lib/0438_606b_bufsync_28_29_20sta.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___0438_606b_bufsync_28_29_20sta Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 62 75 66 73 79 6e 63 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 73 74 61 72 74 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0438_d78a_Tip_20connection_20.rel b/src/nos/lib/messages_lib/0438_d78a_Tip_20connection_20.rel new file mode 100644 index 00000000..0e1937bc --- /dev/null +++ b/src/nos/lib/messages_lib/0438_d78a_Tip_20connection_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___0438_d78a_Tip_20connection_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 54 69 70 20 63 6f 6e 6e 65 +R 00 00 01 00 +T 0b 00 00 00 63 74 69 6f 6e 20 74 69 6d 65 6f +R 00 00 01 00 +T 16 00 00 00 75 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0439_83e6_by_20_25s_20_28_25s.rel b/src/nos/lib/messages_lib/0439_83e6_by_20_25s_20_28_25s.rel deleted file mode 100644 index 30b1acde..00000000 --- a/src/nos/lib/messages_lib/0439_83e6_by_20_25s_20_28_25s.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___0439_83e6_by_20_25s_20_28_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 62 79 20 25 73 20 28 25 73 -R 00 00 01 00 -T 0b 00 00 00 29 0a 09 69 64 20 41 41 25 6c 64 -R 00 00 01 00 -T 16 00 00 00 20 3b 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0439_c093_Tip_20session_20alr.rel b/src/nos/lib/messages_lib/0439_c093_Tip_20session_20alr.rel new file mode 100644 index 00000000..270e84bf --- /dev/null +++ b/src/nos/lib/messages_lib/0439_c093_Tip_20session_20alr.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___0439_c093_Tip_20session_20alr Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 54 69 70 20 73 65 73 73 69 +R 00 00 01 00 +T 0b 00 00 00 6f 6e 20 61 6c 72 65 61 64 79 20 +R 00 00 01 00 +T 16 00 00 00 61 63 74 69 76 65 20 6f 6e 20 25 +R 00 00 01 00 +T 21 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/043a_69f3_by_20_25s_20with_20.rel b/src/nos/lib/messages_lib/043a_69f3_by_20_25s_20with_20.rel deleted file mode 100644 index c0da805b..00000000 --- a/src/nos/lib/messages_lib/043a_69f3_by_20_25s_20with_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21 flags 0 -S ___043a_69f3_by_20_25s_20with_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1f 00 62 79 20 25 73 20 77 69 74 -R 00 00 01 00 -T 0b 00 00 00 68 20 53 4d 54 50 0a 09 69 64 20 -R 00 00 01 00 -T 16 00 00 00 41 41 25 6c 64 20 3b 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/043a_8c54_To_3a_20_25s_0a.rel b/src/nos/lib/messages_lib/043a_8c54_To_3a_20_25s_0a.rel new file mode 100644 index 00000000..0d9afc49 --- /dev/null +++ b/src/nos/lib/messages_lib/043a_8c54_To_3a_20_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___043a_8c54_To_3a_20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 54 6f 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/043b_9ab1_bye.rel b/src/nos/lib/messages_lib/043b_9ab1_bye.rel deleted file mode 100644 index 5f84b42d..00000000 --- a/src/nos/lib/messages_lib/043b_9ab1_bye.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___043b_9ab1_bye Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 62 79 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/043b_a093_Too_20few_20argumen.rel b/src/nos/lib/messages_lib/043b_a093_Too_20few_20argumen.rel new file mode 100644 index 00000000..941aee37 --- /dev/null +++ b/src/nos/lib/messages_lib/043b_a093_Too_20few_20argumen.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___043b_a093_Too_20few_20argumen Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 54 6f 6f 20 66 65 77 20 61 +R 00 00 01 00 +T 0b 00 00 00 72 67 75 6d 65 6e 74 73 20 66 6f +R 00 00 01 00 +T 16 00 00 00 72 20 27 69 6e 69 74 27 20 63 6f +R 00 00 01 00 +T 21 00 00 00 6d 6d 61 6e 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/043c_2a55_Too_20many_20HAPN_2.rel b/src/nos/lib/messages_lib/043c_2a55_Too_20many_20HAPN_2.rel new file mode 100644 index 00000000..aabeca04 --- /dev/null +++ b/src/nos/lib/messages_lib/043c_2a55_Too_20many_20HAPN_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___043c_2a55_Too_20many_20HAPN_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 54 6f 6f 20 6d 61 6e 79 20 +R 00 00 01 00 +T 0b 00 00 00 48 41 50 4e 20 61 64 61 70 74 6f +R 00 00 01 00 +T 16 00 00 00 72 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/043c_7cbf_cache.rel b/src/nos/lib/messages_lib/043c_7cbf_cache.rel deleted file mode 100644 index dd4fc267..00000000 --- a/src/nos/lib/messages_lib/043c_7cbf_cache.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___043c_7cbf_cache Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 63 61 63 68 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/043d_76b7_Too_20many_20asynch.rel b/src/nos/lib/messages_lib/043d_76b7_Too_20many_20asynch.rel new file mode 100644 index 00000000..10dde292 --- /dev/null +++ b/src/nos/lib/messages_lib/043d_76b7_Too_20many_20asynch.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___043d_76b7_Too_20many_20asynch Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 54 6f 6f 20 6d 61 6e 79 20 +R 00 00 01 00 +T 0b 00 00 00 61 73 79 6e 63 68 20 63 6f 6e 74 +R 00 00 01 00 +T 16 00 00 00 72 6f 6c 6c 65 72 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/043d_a3a9_can_27t_20read_20_2.rel b/src/nos/lib/messages_lib/043d_a3a9_can_27t_20read_20_2.rel deleted file mode 100644 index 4f6bccb1..00000000 --- a/src/nos/lib/messages_lib/043d_a3a9_can_27t_20read_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___043d_a3a9_can_27t_20read_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 63 61 6e 27 74 20 72 65 61 -R 00 00 01 00 -T 0b 00 00 00 64 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/043e_58f2_Too_20many_20digipe.rel b/src/nos/lib/messages_lib/043e_58f2_Too_20many_20digipe.rel new file mode 100644 index 00000000..1b0d379c --- /dev/null +++ b/src/nos/lib/messages_lib/043e_58f2_Too_20many_20digipe.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___043e_58f2_Too_20many_20digipe Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 54 6f 6f 20 6d 61 6e 79 20 +R 00 00 01 00 +T 0b 00 00 00 64 69 67 69 70 65 61 74 65 72 73 +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/043e_f4b4_can_27t_20trace_20i.rel b/src/nos/lib/messages_lib/043e_f4b4_can_27t_20trace_20i.rel deleted file mode 100644 index 77848d22..00000000 --- a/src/nos/lib/messages_lib/043e_f4b4_can_27t_20trace_20i.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___043e_f4b4_can_27t_20trace_20i Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 63 61 6e 27 74 20 74 72 61 -R 00 00 01 00 -T 0b 00 00 00 63 65 20 69 6e 76 61 6c 69 64 20 -R 00 00 01 00 -T 16 00 00 00 73 79 73 63 61 6c 6c 20 69 6e 64 -R 00 00 01 00 -T 21 00 00 00 65 78 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/043f_2d53_Too_20many_20hs_20c.rel b/src/nos/lib/messages_lib/043f_2d53_Too_20many_20hs_20c.rel new file mode 100644 index 00000000..f75de208 --- /dev/null +++ b/src/nos/lib/messages_lib/043f_2d53_Too_20many_20hs_20c.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___043f_2d53_Too_20many_20hs_20c Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 54 6f 6f 20 6d 61 6e 79 20 +R 00 00 01 00 +T 0b 00 00 00 68 73 20 63 6f 6e 74 72 6f 6c 6c +R 00 00 01 00 +T 16 00 00 00 65 72 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/043f_9aa7_cd.rel b/src/nos/lib/messages_lib/043f_9aa7_cd.rel deleted file mode 100644 index 6cfbc2f1..00000000 --- a/src/nos/lib/messages_lib/043f_9aa7_cd.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5 flags 0 -S ___043f_9aa7_cd Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 03 00 63 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0440_286c_Too_20many_20mailbo.rel b/src/nos/lib/messages_lib/0440_286c_Too_20many_20mailbo.rel new file mode 100644 index 00000000..c0676380 --- /dev/null +++ b/src/nos/lib/messages_lib/0440_286c_Too_20many_20mailbo.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___0440_286c_Too_20many_20mailbo Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 54 6f 6f 20 6d 61 6e 79 20 +R 00 00 01 00 +T 0b 00 00 00 6d 61 69 6c 62 6f 78 20 73 65 73 +R 00 00 01 00 +T 16 00 00 00 73 69 6f 6e 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0440_42c2_cd_20_3cdirectory_3.rel b/src/nos/lib/messages_lib/0440_42c2_cd_20_3cdirectory_3.rel deleted file mode 100644 index 29608822..00000000 --- a/src/nos/lib/messages_lib/0440_42c2_cd_20_3cdirectory_3.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___0440_42c2_cd_20_3cdirectory_3 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 63 64 20 3c 64 69 72 65 63 -R 00 00 01 00 -T 0b 00 00 00 74 6f 72 79 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0441_4c9a_Too_20many_20nrs_20.rel b/src/nos/lib/messages_lib/0441_4c9a_Too_20many_20nrs_20.rel new file mode 100644 index 00000000..22949eb7 --- /dev/null +++ b/src/nos/lib/messages_lib/0441_4c9a_Too_20many_20nrs_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0441_4c9a_Too_20many_20nrs_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 54 6f 6f 20 6d 61 6e 79 20 +R 00 00 01 00 +T 0b 00 00 00 6e 72 73 20 64 65 76 69 63 65 73 +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0441_8b51_ch_5flink_28_29_20r.rel b/src/nos/lib/messages_lib/0441_8b51_ch_5flink_28_29_20r.rel deleted file mode 100644 index 24ee5f68..00000000 --- a/src/nos/lib/messages_lib/0441_8b51_ch_5flink_28_29_20r.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___0441_8b51_ch_5flink_28_29_20r Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 63 68 5f 6c 69 6e 6b 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 -R 00 00 01 00 -T 16 00 00 00 30 2c 20 65 72 72 6f 72 20 25 75 -R 00 00 01 00 -T 21 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0442_30ce_ch_5flink_28_29_20r.rel b/src/nos/lib/messages_lib/0442_30ce_ch_5flink_28_29_20r.rel deleted file mode 100644 index 8d60f465..00000000 --- a/src/nos/lib/messages_lib/0442_30ce_ch_5flink_28_29_20r.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 -S ___0442_30ce_ch_5flink_28_29_20r Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 20 00 63 68 5f 6c 69 6e 6b 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 -R 00 00 01 00 -T 16 00 00 00 31 2c 20 73 75 63 63 65 73 73 0a -R 00 00 01 00 -T 21 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0442_7103_Too_20many_20packet.rel b/src/nos/lib/messages_lib/0442_7103_Too_20many_20packet.rel new file mode 100644 index 00000000..7a439701 --- /dev/null +++ b/src/nos/lib/messages_lib/0442_7103_Too_20many_20packet.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0442_7103_Too_20many_20packet Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 54 6f 6f 20 6d 61 6e 79 20 +R 00 00 01 00 +T 0b 00 00 00 70 61 63 6b 65 74 20 64 72 69 76 +R 00 00 01 00 +T 16 00 00 00 65 72 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0443_7c72_ch_5flink_280x_25x_.rel b/src/nos/lib/messages_lib/0443_7c72_ch_5flink_280x_25x_.rel deleted file mode 100644 index d189f9fd..00000000 --- a/src/nos/lib/messages_lib/0443_7c72_ch_5flink_280x_25x_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2c flags 0 -S ___0443_7c72_ch_5flink_280x_25x_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2a 00 63 68 5f 6c 69 6e 6b 28 30 -R 00 00 01 00 -T 0b 00 00 00 78 25 78 2c 20 22 25 73 22 2c 20 -R 00 00 01 00 -T 16 00 00 00 22 25 73 22 2c 20 30 78 25 78 29 -R 00 00 01 00 -T 21 00 00 00 20 73 74 61 72 74 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0443_d8c3_Too_20many_20pc100_.rel b/src/nos/lib/messages_lib/0443_d8c3_Too_20many_20pc100_.rel new file mode 100644 index 00000000..899d73c6 --- /dev/null +++ b/src/nos/lib/messages_lib/0443_d8c3_Too_20many_20pc100_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___0443_d8c3_Too_20many_20pc100_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 54 6f 6f 20 6d 61 6e 79 20 +R 00 00 01 00 +T 0b 00 00 00 70 63 31 30 30 20 63 6f 6e 74 72 +R 00 00 01 00 +T 16 00 00 00 6f 6c 6c 65 72 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0444_2057_Too_20many_20sessio.rel b/src/nos/lib/messages_lib/0444_2057_Too_20many_20sessio.rel new file mode 100644 index 00000000..632a5b9b --- /dev/null +++ b/src/nos/lib/messages_lib/0444_2057_Too_20many_20sessio.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___0444_2057_Too_20many_20sessio Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 54 6f 6f 20 6d 61 6e 79 20 +R 00 00 01 00 +T 0b 00 00 00 73 65 73 73 69 6f 6e 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0444_35a9_chat.rel b/src/nos/lib/messages_lib/0444_35a9_chat.rel deleted file mode 100644 index a7ca3428..00000000 --- a/src/nos/lib/messages_lib/0444_35a9_chat.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0444_35a9_chat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 63 68 61 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0445_447c_Too_20many_20slip_2.rel b/src/nos/lib/messages_lib/0445_447c_Too_20many_20slip_2.rel new file mode 100644 index 00000000..e2de401c --- /dev/null +++ b/src/nos/lib/messages_lib/0445_447c_Too_20many_20slip_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___0445_447c_Too_20many_20slip_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 54 6f 6f 20 6d 61 6e 79 20 +R 00 00 01 00 +T 0b 00 00 00 73 6c 69 70 20 64 65 76 69 63 65 +R 00 00 01 00 +T 16 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0445_743f_chdir.rel b/src/nos/lib/messages_lib/0445_743f_chdir.rel deleted file mode 100644 index 85489919..00000000 --- a/src/nos/lib/messages_lib/0445_743f_chdir.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0445_743f_chdir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 63 68 64 69 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0446_0d8c_Try_20to_20bounce_2.rel b/src/nos/lib/messages_lib/0446_0d8c_Try_20to_20bounce_2.rel new file mode 100644 index 00000000..5e2be9c8 --- /dev/null +++ b/src/nos/lib/messages_lib/0446_0d8c_Try_20to_20bounce_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___0446_0d8c_Try_20to_20bounce_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 54 72 79 20 74 6f 20 62 6f +R 00 00 01 00 +T 0b 00 00 00 75 6e 63 65 20 63 75 72 72 65 6e +R 00 00 01 00 +T 16 00 00 00 74 20 75 73 65 72 3f 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0446_5ed3_check.rel b/src/nos/lib/messages_lib/0446_5ed3_check.rel deleted file mode 100644 index 5b1a8a87..00000000 --- a/src/nos/lib/messages_lib/0446_5ed3_check.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0446_5ed3_check Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 63 68 65 63 6b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0447_2030_Trying_20_25s_2e_2e.rel b/src/nos/lib/messages_lib/0447_2030_Trying_20_25s_2e_2e.rel new file mode 100644 index 00000000..64066e98 --- /dev/null +++ b/src/nos/lib/messages_lib/0447_2030_Trying_20_25s_2e_2e.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___0447_2030_Trying_20_25s_2e_2e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 54 72 79 69 6e 67 20 25 73 +R 00 00 01 00 +T 0b 00 00 00 2e 2e 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0447_40b3_check_20_3chost_3e.rel b/src/nos/lib/messages_lib/0447_40b3_check_20_3chost_3e.rel deleted file mode 100644 index 58341092..00000000 --- a/src/nos/lib/messages_lib/0447_40b3_check_20_3chost_3e.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___0447_40b3_check_20_3chost_3e Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 63 68 65 63 6b 20 3c 68 6f -R 00 00 01 00 -T 0b 00 00 00 73 74 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0448_c946_chmod.rel b/src/nos/lib/messages_lib/0448_c946_chmod.rel deleted file mode 100644 index fc775f2f..00000000 --- a/src/nos/lib/messages_lib/0448_c946_chmod.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0448_c946_chmod Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 63 68 6d 6f 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0448_cee2_Trying_20_25s_2e_2e.rel b/src/nos/lib/messages_lib/0448_cee2_Trying_20_25s_2e_2e.rel new file mode 100644 index 00000000..f0421268 --- /dev/null +++ b/src/nos/lib/messages_lib/0448_cee2_Trying_20_25s_2e_2e.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0448_cee2_Trying_20_25s_2e_2e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 54 72 79 69 6e 67 20 25 73 +R 00 00 01 00 +T 0b 00 00 00 2e 2e 2e 20 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0449_b786_choketime.rel b/src/nos/lib/messages_lib/0449_b786_choketime.rel deleted file mode 100644 index 0e239901..00000000 --- a/src/nos/lib/messages_lib/0449_b786_choketime.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___0449_b786_choketime Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 63 68 6f 6b 65 74 69 6d 65 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0449_be29_Trying_20Connection.rel b/src/nos/lib/messages_lib/0449_be29_Trying_20Connection.rel new file mode 100644 index 00000000..0093e09a --- /dev/null +++ b/src/nos/lib/messages_lib/0449_be29_Trying_20Connection.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0449_be29_Trying_20Connection Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 54 72 79 69 6e 67 20 43 6f +R 00 00 01 00 +T 0b 00 00 00 6e 6e 65 63 74 69 6f 6e 20 74 6f +R 00 00 01 00 +T 16 00 00 00 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/044a_88f5_chown.rel b/src/nos/lib/messages_lib/044a_88f5_chown.rel deleted file mode 100644 index 6f782928..00000000 --- a/src/nos/lib/messages_lib/044a_88f5_chown.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___044a_88f5_chown Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 63 68 6f 77 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/044a_9c56_Tstate_20_3d_20_25s.rel b/src/nos/lib/messages_lib/044a_9c56_Tstate_20_3d_20_25s.rel new file mode 100644 index 00000000..5a8dfe7d --- /dev/null +++ b/src/nos/lib/messages_lib/044a_9c56_Tstate_20_3d_20_25s.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___044a_9c56_Tstate_20_3d_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 54 73 74 61 74 65 20 3d 20 +R 00 00 01 00 +T 0b 00 00 00 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/044b_6afe_Turn_20off_20local_.rel b/src/nos/lib/messages_lib/044b_6afe_Turn_20off_20local_.rel new file mode 100644 index 00000000..d4a70dde --- /dev/null +++ b/src/nos/lib/messages_lib/044b_6afe_Turn_20off_20local_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___044b_6afe_Turn_20off_20local_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 54 75 72 6e 20 6f 66 66 20 +R 00 00 01 00 +T 0b 00 00 00 6c 6f 63 61 6c 20 65 63 68 6f 3f +R 00 00 01 00 +T 16 00 00 00 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/044b_87a8_chroot.rel b/src/nos/lib/messages_lib/044b_87a8_chroot.rel deleted file mode 100644 index 21445736..00000000 --- a/src/nos/lib/messages_lib/044b_87a8_chroot.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___044b_87a8_chroot Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 63 68 72 6f 6f 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/044c_4822_clean.rel b/src/nos/lib/messages_lib/044c_4822_clean.rel deleted file mode 100644 index 93edea43..00000000 --- a/src/nos/lib/messages_lib/044c_4822_clean.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___044c_4822_clean Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 63 6c 65 61 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/044c_c801_Tx_20state_20_20_25.rel b/src/nos/lib/messages_lib/044c_c801_Tx_20state_20_20_25.rel new file mode 100644 index 00000000..cb7e04ed --- /dev/null +++ b/src/nos/lib/messages_lib/044c_c801_Tx_20state_20_20_25.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___044c_c801_Tx_20state_20_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 54 78 20 73 74 61 74 65 20 +R 00 00 01 00 +T 0b 00 00 00 20 25 38 64 20 20 52 78 20 73 74 +R 00 00 01 00 +T 16 00 00 00 61 74 65 20 20 25 38 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/044d_23aa_close.rel b/src/nos/lib/messages_lib/044d_23aa_close.rel deleted file mode 100644 index fadea75b..00000000 --- a/src/nos/lib/messages_lib/044d_23aa_close.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___044d_23aa_close Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 63 6c 6f 73 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/044d_be1b_Tx_20state_20_20_25.rel b/src/nos/lib/messages_lib/044d_be1b_Tx_20state_20_20_25.rel new file mode 100644 index 00000000..eaa10a1f --- /dev/null +++ b/src/nos/lib/messages_lib/044d_be1b_Tx_20state_20_20_25.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___044d_be1b_Tx_20state_20_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 54 78 20 73 74 61 74 65 20 +R 00 00 01 00 +T 0b 00 00 00 20 25 38 64 20 20 52 78 20 73 74 +R 00 00 01 00 +T 16 00 00 00 61 74 65 20 20 25 38 64 0a 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/044e_2b22_close_20FTP.rel b/src/nos/lib/messages_lib/044e_2b22_close_20FTP.rel deleted file mode 100644 index 241c4400..00000000 --- a/src/nos/lib/messages_lib/044e_2b22_close_20FTP.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___044e_2b22_close_20FTP Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 63 6c 6f 73 65 20 46 54 50 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/044e_e1f6_TxBuffers_3a_20_20S.rel b/src/nos/lib/messages_lib/044e_e1f6_TxBuffers_3a_20_20S.rel new file mode 100644 index 00000000..3c71b36a --- /dev/null +++ b/src/nos/lib/messages_lib/044e_e1f6_TxBuffers_3a_20_20S.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 27 flags 0 +S ___044e_e1f6_TxBuffers_3a_20_20S Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 25 00 54 78 42 75 66 66 65 72 73 +R 00 00 01 00 +T 0b 00 00 00 3a 20 20 53 65 71 20 20 53 69 7a +R 00 00 01 00 +T 16 00 00 00 65 20 20 54 72 69 65 73 20 20 54 +R 00 00 01 00 +T 21 00 00 00 69 6d 65 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/044f_5cfe_Txdefer_20_2d_20_25.rel b/src/nos/lib/messages_lib/044f_5cfe_Txdefer_20_2d_20_25.rel new file mode 100644 index 00000000..a954444c --- /dev/null +++ b/src/nos/lib/messages_lib/044f_5cfe_Txdefer_20_2d_20_25.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 32 flags 0 +S ___044f_5cfe_Txdefer_20_2d_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 30 00 54 78 64 65 66 65 72 20 2d +R 00 00 01 00 +T 0b 00 00 00 20 25 38 6c 64 20 20 54 78 70 70 +R 00 00 01 00 +T 16 00 00 00 65 72 73 20 2d 20 25 38 6c 64 20 +R 00 00 01 00 +T 21 00 00 00 20 4e 6f 6d 65 6d 20 20 20 2d 20 +R 00 00 01 00 +T 2c 00 00 00 25 38 6c 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/044f_f93d_close_20Finger.rel b/src/nos/lib/messages_lib/044f_f93d_close_20Finger.rel deleted file mode 100644 index 3282966c..00000000 --- a/src/nos/lib/messages_lib/044f_f93d_close_20Finger.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___044f_f93d_close_20Finger Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 63 6c 6f 73 65 20 46 69 6e -R 00 00 01 00 -T 0b 00 00 00 67 65 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0450_0957_close_20POP.rel b/src/nos/lib/messages_lib/0450_0957_close_20POP.rel deleted file mode 100644 index 183ffe64..00000000 --- a/src/nos/lib/messages_lib/0450_0957_close_20POP.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___0450_0957_close_20POP Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 63 6c 6f 73 65 20 50 4f 50 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0450_e733_U_20filename.rel b/src/nos/lib/messages_lib/0450_e733_U_20filename.rel new file mode 100644 index 00000000..0a682f16 --- /dev/null +++ b/src/nos/lib/messages_lib/0450_e733_U_20filename.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0450_e733_U_20filename Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 55 20 66 69 6c 65 6e 61 6d +R 00 00 01 00 +T 0b 00 00 00 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0451_9059_UDP_3a.rel b/src/nos/lib/messages_lib/0451_9059_UDP_3a.rel new file mode 100644 index 00000000..22d3efd5 --- /dev/null +++ b/src/nos/lib/messages_lib/0451_9059_UDP_3a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0451_9059_UDP_3a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 55 44 50 3a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0451_b85c_close_20POP_20_2d_2.rel b/src/nos/lib/messages_lib/0451_b85c_close_20POP_20_2d_2.rel deleted file mode 100644 index 71bd01f4..00000000 --- a/src/nos/lib/messages_lib/0451_b85c_close_20POP_20_2d_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___0451_b85c_close_20POP_20_2d_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 63 6c 6f 73 65 20 50 4f 50 -R 00 00 01 00 -T 0b 00 00 00 20 2d 20 6e 6f 20 73 70 61 63 65 -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0452_83a3_close_20SMTP.rel b/src/nos/lib/messages_lib/0452_83a3_close_20SMTP.rel deleted file mode 100644 index 0eee7098..00000000 --- a/src/nos/lib/messages_lib/0452_83a3_close_20SMTP.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___0452_83a3_close_20SMTP Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 63 6c 6f 73 65 20 53 4d 54 -R 00 00 01 00 -T 0b 00 00 00 50 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0452_a945_USER_20_25s.rel b/src/nos/lib/messages_lib/0452_a945_USER_20_25s.rel new file mode 100644 index 00000000..4c258def --- /dev/null +++ b/src/nos/lib/messages_lib/0452_a945_USER_20_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0452_a945_USER_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 55 53 45 52 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0453_790d_Uncompressed_20TCP_.rel b/src/nos/lib/messages_lib/0453_790d_Uncompressed_20TCP_.rel new file mode 100644 index 00000000..fb4538db --- /dev/null +++ b/src/nos/lib/messages_lib/0453_790d_Uncompressed_20TCP_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___0453_790d_Uncompressed_20TCP_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 55 6e 63 6f 6d 70 72 65 73 +R 00 00 01 00 +T 0b 00 00 00 73 65 64 20 54 43 50 2f 49 50 20 +R 00 00 01 00 +T 16 00 00 00 6e 6f 74 20 65 6e 61 62 6c 65 64 +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0453_b949_close_20SMTP_20_2d_.rel b/src/nos/lib/messages_lib/0453_b949_close_20SMTP_20_2d_.rel deleted file mode 100644 index 8466187e..00000000 --- a/src/nos/lib/messages_lib/0453_b949_close_20SMTP_20_2d_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___0453_b949_close_20SMTP_20_2d_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 63 6c 6f 73 65 20 53 4d 54 -R 00 00 01 00 -T 0b 00 00 00 50 20 2d 20 6e 6f 20 73 70 61 63 -R 00 00 01 00 -T 16 00 00 00 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0454_423c_close_20discard.rel b/src/nos/lib/messages_lib/0454_423c_close_20discard.rel deleted file mode 100644 index 46f8ee9e..00000000 --- a/src/nos/lib/messages_lib/0454_423c_close_20discard.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___0454_423c_close_20discard Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 63 6c 6f 73 65 20 64 69 73 -R 00 00 01 00 -T 0b 00 00 00 63 61 72 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0454_6947_Uncompressed_20TCP_.rel b/src/nos/lib/messages_lib/0454_6947_Uncompressed_20TCP_.rel new file mode 100644 index 00000000..4eb01db3 --- /dev/null +++ b/src/nos/lib/messages_lib/0454_6947_Uncompressed_20TCP_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___0454_6947_Uncompressed_20TCP_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 55 6e 63 6f 6d 70 72 65 73 +R 00 00 01 00 +T 0b 00 00 00 73 65 64 20 54 43 50 2f 49 50 20 +R 00 00 01 00 +T 16 00 00 00 70 61 63 6b 65 74 20 65 72 72 6f +R 00 00 01 00 +T 21 00 00 00 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0455_419d_close_20echo.rel b/src/nos/lib/messages_lib/0455_419d_close_20echo.rel deleted file mode 100644 index ed0ff3fc..00000000 --- a/src/nos/lib/messages_lib/0455_419d_close_20echo.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___0455_419d_close_20echo Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 63 6c 6f 73 65 20 65 63 68 -R 00 00 01 00 -T 0b 00 00 00 6f 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0455_41aa_Unknown_20command.rel b/src/nos/lib/messages_lib/0455_41aa_Unknown_20command.rel new file mode 100644 index 00000000..a4870e60 --- /dev/null +++ b/src/nos/lib/messages_lib/0455_41aa_Unknown_20command.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0455_41aa_Unknown_20command Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 55 6e 6b 6e 6f 77 6e 20 63 +R 00 00 01 00 +T 0b 00 00 00 6f 6d 6d 61 6e 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0456_03ad_close_20term.rel b/src/nos/lib/messages_lib/0456_03ad_close_20term.rel deleted file mode 100644 index 3d1c1303..00000000 --- a/src/nos/lib/messages_lib/0456_03ad_close_20term.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___0456_03ad_close_20term Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 63 6c 6f 73 65 20 74 65 72 -R 00 00 01 00 -T 0b 00 00 00 6d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0456_e21a_Unknown_20command_2.rel b/src/nos/lib/messages_lib/0456_e21a_Unknown_20command_2.rel new file mode 100644 index 00000000..6b3d2c1d --- /dev/null +++ b/src/nos/lib/messages_lib/0456_e21a_Unknown_20command_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___0456_e21a_Unknown_20command_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 55 6e 6b 6e 6f 77 6e 20 63 +R 00 00 01 00 +T 0b 00 00 00 6f 6d 6d 61 6e 64 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0457_83dc_code_20_25u_20arg_2.rel b/src/nos/lib/messages_lib/0457_83dc_code_20_25u_20arg_2.rel deleted file mode 100644 index c59db415..00000000 --- a/src/nos/lib/messages_lib/0457_83dc_code_20_25u_20arg_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___0457_83dc_code_20_25u_20arg_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 63 6f 64 65 20 25 75 20 61 -R 00 00 01 00 -T 0b 00 00 00 72 67 20 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0457_b975_Unknown_20command_3.rel b/src/nos/lib/messages_lib/0457_b975_Unknown_20command_3.rel new file mode 100644 index 00000000..063df41a --- /dev/null +++ b/src/nos/lib/messages_lib/0457_b975_Unknown_20command_3.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___0457_b975_Unknown_20command_3 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 55 6e 6b 6e 6f 77 6e 20 63 +R 00 00 01 00 +T 0b 00 00 00 6f 6d 6d 61 6e 64 3b 20 74 79 70 +R 00 00 01 00 +T 16 00 00 00 65 20 22 3f 22 20 66 6f 72 20 6c +R 00 00 01 00 +T 21 00 00 00 69 73 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0458_d2a4_Unknown_20encapsula.rel b/src/nos/lib/messages_lib/0458_d2a4_Unknown_20encapsula.rel new file mode 100644 index 00000000..1a1e50a2 --- /dev/null +++ b/src/nos/lib/messages_lib/0458_d2a4_Unknown_20encapsula.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___0458_d2a4_Unknown_20encapsula Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 55 6e 6b 6e 6f 77 6e 20 65 +R 00 00 01 00 +T 0b 00 00 00 6e 63 61 70 73 75 6c 61 74 69 6f +R 00 00 01 00 +T 16 00 00 00 6e 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0458_ea90_compare.rel b/src/nos/lib/messages_lib/0458_ea90_compare.rel deleted file mode 100644 index 718be8d2..00000000 --- a/src/nos/lib/messages_lib/0458_ea90_compare.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0458_ea90_compare Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 63 6f 6d 70 61 72 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0459_8cf4_Unknown_20parameter.rel b/src/nos/lib/messages_lib/0459_8cf4_Unknown_20parameter.rel new file mode 100644 index 00000000..f16d48af --- /dev/null +++ b/src/nos/lib/messages_lib/0459_8cf4_Unknown_20parameter.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0459_8cf4_Unknown_20parameter Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 55 6e 6b 6e 6f 77 6e 20 70 +R 00 00 01 00 +T 0b 00 00 00 61 72 61 6d 65 74 65 72 20 25 73 +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0459_a613_compare_20_3cremote.rel b/src/nos/lib/messages_lib/0459_a613_compare_20_3cremote.rel deleted file mode 100644 index d193d877..00000000 --- a/src/nos/lib/messages_lib/0459_a613_compare_20_3cremote.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___0459_a613_compare_20_3cremote Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 63 6f 6d 70 61 72 65 20 3c -R 00 00 01 00 -T 0b 00 00 00 72 65 6d 6f 74 65 66 69 6c 65 3e -R 00 00 01 00 -T 16 00 00 00 20 5b 3c 6c 6f 63 61 6c 66 69 6c -R 00 00 01 00 -T 21 00 00 00 65 3e 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/045a_eb24_Update_20with_20MD5.rel b/src/nos/lib/messages_lib/045a_eb24_Update_20with_20MD5.rel new file mode 100644 index 00000000..46307059 --- /dev/null +++ b/src/nos/lib/messages_lib/045a_eb24_Update_20with_20MD5.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___045a_eb24_Update_20with_20MD5 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 55 70 64 61 74 65 20 77 69 +R 00 00 01 00 +T 0b 00 00 00 74 68 20 4d 44 35 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/045a_fbc2_compress.rel b/src/nos/lib/messages_lib/045a_fbc2_compress.rel deleted file mode 100644 index 623eed7e..00000000 --- a/src/nos/lib/messages_lib/045a_fbc2_compress.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___045a_fbc2_compress Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 63 6f 6d 70 72 65 73 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/045b_3845_compressed_20.rel b/src/nos/lib/messages_lib/045b_3845_compressed_20.rel deleted file mode 100644 index cebb1415..00000000 --- a/src/nos/lib/messages_lib/045b_3845_compressed_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___045b_3845_compressed_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 63 6f 6d 70 72 65 73 73 65 -R 00 00 01 00 -T 0b 00 00 00 64 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/045b_7d7d_Uploading_20_25s_0a.rel b/src/nos/lib/messages_lib/045b_7d7d_Uploading_20_25s_0a.rel new file mode 100644 index 00000000..aaf20831 --- /dev/null +++ b/src/nos/lib/messages_lib/045b_7d7d_Uploading_20_25s_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___045b_7d7d_Uploading_20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 55 70 6c 6f 61 64 69 6e 67 +R 00 00 01 00 +T 0b 00 00 00 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/045c_26b1_configure.rel b/src/nos/lib/messages_lib/045c_26b1_configure.rel deleted file mode 100644 index e6b68bca..00000000 --- a/src/nos/lib/messages_lib/045c_26b1_configure.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___045c_26b1_configure Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 63 6f 6e 66 69 67 75 72 65 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/045c_bd81_Uploading_20off_0a.rel b/src/nos/lib/messages_lib/045c_bd81_Uploading_20off_0a.rel new file mode 100644 index 00000000..807e3d56 --- /dev/null +++ b/src/nos/lib/messages_lib/045c_bd81_Uploading_20off_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___045c_bd81_Uploading_20off_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 55 70 6c 6f 61 64 69 6e 67 +R 00 00 01 00 +T 0b 00 00 00 20 6f 66 66 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/045d_6d70_Uptime_20_25s_20Sta.rel b/src/nos/lib/messages_lib/045d_6d70_Uptime_20_25s_20Sta.rel new file mode 100644 index 00000000..a14271a5 --- /dev/null +++ b/src/nos/lib/messages_lib/045d_6d70_Uptime_20_25s_20Sta.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___045d_6d70_Uptime_20_25s_20Sta Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 55 70 74 69 6d 65 20 25 73 +R 00 00 01 00 +T 0b 00 00 00 20 53 74 61 63 6b 20 25 78 20 6d +R 00 00 01 00 +T 16 00 00 00 61 78 20 69 6e 74 73 74 6b 20 25 +R 00 00 01 00 +T 21 00 00 00 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/045d_749f_connect.rel b/src/nos/lib/messages_lib/045d_749f_connect.rel deleted file mode 100644 index a372f63c..00000000 --- a/src/nos/lib/messages_lib/045d_749f_connect.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___045d_749f_connect Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 63 6f 6e 6e 65 63 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/045e_0a8d_Usage_3a_20.rel b/src/nos/lib/messages_lib/045e_0a8d_Usage_3a_20.rel new file mode 100644 index 00000000..412dda06 --- /dev/null +++ b/src/nos/lib/messages_lib/045e_0a8d_Usage_3a_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___045e_0a8d_Usage_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 55 73 61 67 65 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/045e_5769_control.rel b/src/nos/lib/messages_lib/045e_5769_control.rel deleted file mode 100644 index 578bd9e7..00000000 --- a/src/nos/lib/messages_lib/045e_5769_control.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___045e_5769_control Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 63 6f 6e 74 72 6f 6c 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/045f_125c_Usage_3a_20_25s_20_.rel b/src/nos/lib/messages_lib/045f_125c_Usage_3a_20_25s_20_.rel new file mode 100644 index 00000000..81149715 --- /dev/null +++ b/src/nos/lib/messages_lib/045f_125c_Usage_3a_20_25s_20_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___045f_125c_Usage_3a_20_25s_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 55 73 61 67 65 3a 20 25 73 +R 00 00 01 00 +T 0b 00 00 00 20 5b 73 74 61 6e 64 61 72 64 7c +R 00 00 01 00 +T 16 00 00 00 6e 75 6c 6c 5d 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/045f_941e_control_20up_20_7c_.rel b/src/nos/lib/messages_lib/045f_941e_control_20up_20_7c_.rel deleted file mode 100644 index efc9b74f..00000000 --- a/src/nos/lib/messages_lib/045f_941e_control_20up_20_7c_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___045f_941e_control_20up_20_7c_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 63 6f 6e 74 72 6f 6c 20 75 -R 00 00 01 00 -T 0b 00 00 00 70 20 7c 20 64 6f 77 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0460_2aba_control_3a_20_25s_0.rel b/src/nos/lib/messages_lib/0460_2aba_control_3a_20_25s_0.rel deleted file mode 100644 index db32f582..00000000 --- a/src/nos/lib/messages_lib/0460_2aba_control_3a_20_25s_0.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___0460_2aba_control_3a_20_25s_0 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 63 6f 6e 74 72 6f 6c 3a 20 -R 00 00 01 00 -T 0b 00 00 00 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0460_6ae1_Usage_3a_20F_20user.rel b/src/nos/lib/messages_lib/0460_6ae1_Usage_3a_20F_20user.rel new file mode 100644 index 00000000..c7917155 --- /dev/null +++ b/src/nos/lib/messages_lib/0460_6ae1_Usage_3a_20F_20user.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 30 flags 0 +S ___0460_6ae1_Usage_3a_20F_20user Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2e 00 55 73 61 67 65 3a 20 46 20 +R 00 00 01 00 +T 0b 00 00 00 75 73 65 72 40 68 6f 73 74 20 20 +R 00 00 01 00 +T 16 00 00 00 6f 72 20 20 46 20 40 68 6f 73 74 +R 00 00 01 00 +T 21 00 00 00 20 20 6f 72 20 20 46 20 75 73 65 +R 00 00 01 00 +T 2c 00 00 00 72 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0461_4bf4_cwd.rel b/src/nos/lib/messages_lib/0461_4bf4_cwd.rel deleted file mode 100644 index 2826766c..00000000 --- a/src/nos/lib/messages_lib/0461_4bf4_cwd.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0461_4bf4_cwd Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 63 77 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0461_7dd1_Usage_3a_20ax25_20r.rel b/src/nos/lib/messages_lib/0461_7dd1_Usage_3a_20ax25_20r.rel new file mode 100644 index 00000000..2eeb824f --- /dev/null +++ b/src/nos/lib/messages_lib/0461_7dd1_Usage_3a_20ax25_20r.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2d flags 0 +S ___0461_7dd1_Usage_3a_20ax25_20r Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2b 00 55 73 61 67 65 3a 20 61 78 +R 00 00 01 00 +T 0b 00 00 00 32 35 20 72 6f 75 74 65 20 61 64 +R 00 00 01 00 +T 16 00 00 00 64 20 3c 74 61 72 67 65 74 3e 20 +R 00 00 01 00 +T 21 00 00 00 5b 64 69 67 69 73 2e 2e 2e 5d 0a +R 00 00 01 00 +T 2c 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0462_62af_d_5finit_28_29.rel b/src/nos/lib/messages_lib/0462_62af_d_5finit_28_29.rel deleted file mode 100644 index fafee570..00000000 --- a/src/nos/lib/messages_lib/0462_62af_d_5finit_28_29.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___0462_62af_d_5finit_28_29 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 64 5f 69 6e 69 74 28 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0462_685b_Usage_3a_20dial_20_.rel b/src/nos/lib/messages_lib/0462_685b_Usage_3a_20dial_20_.rel new file mode 100644 index 00000000..a4478fb4 --- /dev/null +++ b/src/nos/lib/messages_lib/0462_685b_Usage_3a_20dial_20_.rel @@ -0,0 +1,24 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 4e flags 0 +S ___0462_685b_Usage_3a_20dial_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 4c 00 55 73 61 67 65 3a 20 64 69 +R 00 00 01 00 +T 0b 00 00 00 61 6c 20 3c 69 66 61 63 65 3e 20 +R 00 00 01 00 +T 16 00 00 00 3c 74 69 6d 65 6f 75 74 3e 20 3c +R 00 00 01 00 +T 21 00 00 00 69 6e 69 74 66 69 6c 65 3e 20 3c +R 00 00 01 00 +T 2c 00 00 00 72 61 69 73 65 66 69 6c 65 3e 20 +R 00 00 01 00 +T 37 00 00 00 3c 64 72 6f 70 66 69 6c 65 3e 20 +R 00 00 01 00 +T 42 00 00 00 3c 72 69 6e 67 66 69 6c 65 3e 0a +R 00 00 01 00 +T 4d 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0463_5a9b_d_5finit_28_29_20ma.rel b/src/nos/lib/messages_lib/0463_5a9b_d_5finit_28_29_20ma.rel deleted file mode 100644 index 01cffec9..00000000 --- a/src/nos/lib/messages_lib/0463_5a9b_d_5finit_28_29_20ma.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___0463_5a9b_d_5finit_28_29_20ma Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 64 5f 69 6e 69 74 28 29 20 -R 00 00 01 00 -T 0b 00 00 00 6d 61 6a 6f 72 20 25 64 20 6d 69 -R 00 00 01 00 -T 16 00 00 00 6e 6f 72 20 25 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0463_a375_Usage_3a_20mbox_20m.rel b/src/nos/lib/messages_lib/0463_a375_Usage_3a_20mbox_20m.rel new file mode 100644 index 00000000..4b60c094 --- /dev/null +++ b/src/nos/lib/messages_lib/0463_a375_Usage_3a_20mbox_20m.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___0463_a375_Usage_3a_20mbox_20m Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 55 73 61 67 65 3a 20 6d 62 +R 00 00 01 00 +T 0b 00 00 00 6f 78 20 6d 6f 74 64 20 22 3c 79 +R 00 00 01 00 +T 16 00 00 00 6f 75 72 20 6d 65 73 73 61 67 65 +R 00 00 01 00 +T 21 00 00 00 3e 22 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0464_62a8_debug.rel b/src/nos/lib/messages_lib/0464_62a8_debug.rel deleted file mode 100644 index 15b4cf03..00000000 --- a/src/nos/lib/messages_lib/0464_62a8_debug.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0464_62a8_debug Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 64 65 62 75 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0464_8cfb_Usage_3a_20pop_20us.rel b/src/nos/lib/messages_lib/0464_8cfb_Usage_3a_20pop_20us.rel new file mode 100644 index 00000000..3ecb0b07 --- /dev/null +++ b/src/nos/lib/messages_lib/0464_8cfb_Usage_3a_20pop_20us.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2d flags 0 +S ___0464_8cfb_Usage_3a_20pop_20us Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2b 00 55 73 61 67 65 3a 20 70 6f +R 00 00 01 00 +T 0b 00 00 00 70 20 75 73 65 72 64 61 74 61 20 +R 00 00 01 00 +T 16 00 00 00 3c 75 73 65 72 6e 61 6d 65 3e 20 +R 00 00 01 00 +T 21 00 00 00 3c 70 61 73 73 77 6f 72 64 3e 0a +R 00 00 01 00 +T 2c 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0465_740d_default.rel b/src/nos/lib/messages_lib/0465_740d_default.rel deleted file mode 100644 index 17d2d339..00000000 --- a/src/nos/lib/messages_lib/0465_740d_default.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0465_740d_default Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 64 65 66 61 75 6c 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0465_a2c0_Usage_3a_20smtp_20m.rel b/src/nos/lib/messages_lib/0465_a2c0_Usage_3a_20smtp_20m.rel new file mode 100644 index 00000000..7fda3ce6 --- /dev/null +++ b/src/nos/lib/messages_lib/0465_a2c0_Usage_3a_20smtp_20m.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___0465_a2c0_Usage_3a_20smtp_20m Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 55 73 61 67 65 3a 20 73 6d +R 00 00 01 00 +T 0b 00 00 00 74 70 20 6d 6f 64 65 20 5b 71 75 +R 00 00 01 00 +T 16 00 00 00 65 75 65 20 7c 20 72 6f 75 74 65 +R 00 00 01 00 +T 21 00 00 00 5d 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0466_9654_Use_20the_20ax25_20.rel b/src/nos/lib/messages_lib/0466_9654_Use_20the_20ax25_20.rel new file mode 100644 index 00000000..6738b58d --- /dev/null +++ b/src/nos/lib/messages_lib/0466_9654_Use_20the_20ax25_20.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 35 flags 0 +S ___0466_9654_Use_20the_20ax25_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 33 00 55 73 65 20 74 68 65 20 61 +R 00 00 01 00 +T 0b 00 00 00 78 32 35 20 72 6f 75 74 65 20 63 +R 00 00 01 00 +T 16 00 00 00 6f 6d 6d 61 6e 64 20 74 6f 20 73 +R 00 00 01 00 +T 21 00 00 00 70 65 63 69 66 79 20 64 69 67 69 +R 00 00 01 00 +T 2c 00 00 00 70 65 61 74 65 72 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0466_db45_defaultfile.rel b/src/nos/lib/messages_lib/0466_db45_defaultfile.rel deleted file mode 100644 index f19927e7..00000000 --- a/src/nos/lib/messages_lib/0466_db45_defaultfile.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___0466_db45_defaultfile Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 64 65 66 61 75 6c 74 66 69 -R 00 00 01 00 -T 0b 00 00 00 6c 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0467_4893_User_20_20_20_20_20.rel b/src/nos/lib/messages_lib/0467_4893_User_20_20_20_20_20.rel new file mode 100644 index 00000000..d5ea525e --- /dev/null +++ b/src/nos/lib/messages_lib/0467_4893_User_20_20_20_20_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___0467_4893_User_20_20_20_20_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 55 73 65 72 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 20 20 53 74 61 74 65 20 20 20 20 +R 00 00 01 00 +T 16 00 00 00 53 23 20 20 57 68 65 72 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0467_818b_delay_20_25lu_0a.rel b/src/nos/lib/messages_lib/0467_818b_delay_20_25lu_0a.rel deleted file mode 100644 index 2ad28f01..00000000 --- a/src/nos/lib/messages_lib/0467_818b_delay_20_25lu_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___0467_818b_delay_20_25lu_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 64 65 6c 61 79 20 25 6c 75 -R 00 00 01 00 -T 0b 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0468_2c87_dele.rel b/src/nos/lib/messages_lib/0468_2c87_dele.rel deleted file mode 100644 index 56382f8d..00000000 --- a/src/nos/lib/messages_lib/0468_2c87_dele.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0468_2c87_dele Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 64 65 6c 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0468_633f_User_20_25s_20not_2.rel b/src/nos/lib/messages_lib/0468_633f_User_20_25s_20not_2.rel new file mode 100644 index 00000000..9f7e3c35 --- /dev/null +++ b/src/nos/lib/messages_lib/0468_633f_User_20_25s_20not_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___0468_633f_User_20_25s_20not_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 55 73 65 72 20 25 73 20 6e +R 00 00 01 00 +T 0b 00 00 00 6f 74 20 6b 6e 6f 77 6e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0469_75ef_V_20numbers.rel b/src/nos/lib/messages_lib/0469_75ef_V_20numbers.rel new file mode 100644 index 00000000..3d1ba021 --- /dev/null +++ b/src/nos/lib/messages_lib/0469_75ef_V_20numbers.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0469_75ef_V_20numbers Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 56 20 6e 75 6d 62 65 72 73 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0469_89a5_delete.rel b/src/nos/lib/messages_lib/0469_89a5_delete.rel deleted file mode 100644 index 37272eb3..00000000 --- a/src/nos/lib/messages_lib/0469_89a5_delete.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0469_89a5_delete Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 64 65 6c 65 74 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/046a_3919_delete_20_3cfile_3e.rel b/src/nos/lib/messages_lib/046a_3919_delete_20_3cfile_3e.rel deleted file mode 100644 index 7930df44..00000000 --- a/src/nos/lib/messages_lib/046a_3919_delete_20_3cfile_3e.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___046a_3919_delete_20_3cfile_3e Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 64 65 6c 65 74 65 20 3c 66 -R 00 00 01 00 -T 0b 00 00 00 69 6c 65 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/046a_4b9d_VJ_20Compressed_20T.rel b/src/nos/lib/messages_lib/046a_4b9d_VJ_20Compressed_20T.rel new file mode 100644 index 00000000..159ba15b --- /dev/null +++ b/src/nos/lib/messages_lib/046a_4b9d_VJ_20Compressed_20T.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___046a_4b9d_VJ_20Compressed_20T Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 56 4a 20 43 6f 6d 70 72 65 +R 00 00 01 00 +T 0b 00 00 00 73 73 65 64 20 54 43 50 2f 49 50 +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/046b_2be9_VJ_20Uncompressed_2.rel b/src/nos/lib/messages_lib/046b_2be9_VJ_20Uncompressed_2.rel new file mode 100644 index 00000000..bb9b4b11 --- /dev/null +++ b/src/nos/lib/messages_lib/046b_2be9_VJ_20Uncompressed_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___046b_2be9_VJ_20Uncompressed_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 56 4a 20 55 6e 63 6f 6d 70 +R 00 00 01 00 +T 0b 00 00 00 72 65 73 73 65 64 20 54 43 50 2f +R 00 00 01 00 +T 16 00 00 00 49 50 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/046b_6466_destlist.rel b/src/nos/lib/messages_lib/046b_6466_destlist.rel deleted file mode 100644 index 7f0b5c56..00000000 --- a/src/nos/lib/messages_lib/046b_6466_destlist.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___046b_6466_destlist Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 64 65 73 74 6c 69 73 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/046c_3d32_Valid_20options_3a.rel b/src/nos/lib/messages_lib/046c_3d32_Valid_20options_3a.rel new file mode 100644 index 00000000..c8ae6819 --- /dev/null +++ b/src/nos/lib/messages_lib/046c_3d32_Valid_20options_3a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___046c_3d32_Valid_20options_3a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 56 61 6c 69 64 20 6f 70 74 +R 00 00 01 00 +T 0b 00 00 00 69 6f 6e 73 3a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/046c_cfc1_detach.rel b/src/nos/lib/messages_lib/046c_cfc1_detach.rel deleted file mode 100644 index 9b72dd59..00000000 --- a/src/nos/lib/messages_lib/046c_cfc1_detach.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___046c_cfc1_detach Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 64 65 74 61 63 68 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/046d_26f3_detach_20_3cinterfa.rel b/src/nos/lib/messages_lib/046d_26f3_detach_20_3cinterfa.rel deleted file mode 100644 index f79d9907..00000000 --- a/src/nos/lib/messages_lib/046d_26f3_detach_20_3cinterfa.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___046d_26f3_detach_20_3cinterfa Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 64 65 74 61 63 68 20 3c 69 -R 00 00 01 00 -T 0b 00 00 00 6e 74 65 72 66 61 63 65 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/046d_8007_Value_20_25s_20_28_.rel b/src/nos/lib/messages_lib/046d_8007_Value_20_25s_20_28_.rel new file mode 100644 index 00000000..bf04e350 --- /dev/null +++ b/src/nos/lib/messages_lib/046d_8007_Value_20_25s_20_28_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___046d_8007_Value_20_25s_20_28_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 56 61 6c 75 65 20 25 73 20 +R 00 00 01 00 +T 0b 00 00 00 28 25 64 29 20 6d 75 73 74 20 62 +R 00 00 01 00 +T 16 00 00 00 65 20 3e 20 30 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/046e_3f12_devio_5fgarbage_3a_.rel b/src/nos/lib/messages_lib/046e_3f12_devio_5fgarbage_3a_.rel deleted file mode 100644 index 12e31bec..00000000 --- a/src/nos/lib/messages_lib/046e_3f12_devio_5fgarbage_3a_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___046e_3f12_devio_5fgarbage_3a_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 64 65 76 69 6f 5f 67 61 72 -R 00 00 01 00 -T 0b 00 00 00 62 61 67 65 3a 20 57 41 52 4e 49 -R 00 00 01 00 -T 16 00 00 00 4e 47 21 20 49 2f 4f 20 65 72 72 -R 00 00 01 00 -T 21 00 00 00 6f 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/046e_c8df_Verbose.rel b/src/nos/lib/messages_lib/046e_c8df_Verbose.rel new file mode 100644 index 00000000..82ea9369 --- /dev/null +++ b/src/nos/lib/messages_lib/046e_c8df_Verbose.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___046e_c8df_Verbose Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 56 65 72 62 6f 73 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/046f_0f61_dfile_5fsearch_3a_2.rel b/src/nos/lib/messages_lib/046f_0f61_dfile_5fsearch_3a_2.rel deleted file mode 100644 index 75362d7d..00000000 --- a/src/nos/lib/messages_lib/046f_0f61_dfile_5fsearch_3a_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 27 flags 0 -S ___046f_0f61_dfile_5fsearch_3a_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 25 00 64 66 69 6c 65 5f 73 65 61 -R 00 00 01 00 -T 0b 00 00 00 72 63 68 3a 20 63 61 6e 27 74 20 -R 00 00 01 00 -T 16 00 00 00 67 65 74 20 66 69 6c 65 20 73 74 -R 00 00 01 00 -T 21 00 00 00 61 74 75 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/046f_32ff_Verbose_20flag.rel b/src/nos/lib/messages_lib/046f_32ff_Verbose_20flag.rel new file mode 100644 index 00000000..baf9ae00 --- /dev/null +++ b/src/nos/lib/messages_lib/046f_32ff_Verbose_20flag.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___046f_32ff_Verbose_20flag Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 56 65 72 62 6f 73 65 20 66 +R 00 00 01 00 +T 0b 00 00 00 6c 61 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0470_4eba_dfile_5fupdate_3a_2.rel b/src/nos/lib/messages_lib/0470_4eba_dfile_5fupdate_3a_2.rel deleted file mode 100644 index 1c7f26f7..00000000 --- a/src/nos/lib/messages_lib/0470_4eba_dfile_5fupdate_3a_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 -S ___0470_4eba_dfile_5fupdate_3a_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 20 00 64 66 69 6c 65 5f 75 70 64 -R 00 00 01 00 -T 0b 00 00 00 61 74 65 3a 20 63 61 6e 27 74 20 -R 00 00 01 00 -T 16 00 00 00 63 72 65 61 74 65 20 25 73 21 0a -R 00 00 01 00 -T 21 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0470_b110_WARNING_3a_20Locati.rel b/src/nos/lib/messages_lib/0470_b110_WARNING_3a_20Locati.rel new file mode 100644 index 00000000..f4054efc --- /dev/null +++ b/src/nos/lib/messages_lib/0470_b110_WARNING_3a_20Locati.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2b flags 0 +S ___0470_b110_WARNING_3a_20Locati Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 29 00 57 41 52 4e 49 4e 47 3a 20 +R 00 00 01 00 +T 0b 00 00 00 4c 6f 63 61 74 69 6f 6e 20 30 20 +R 00 00 01 00 +T 16 00 00 00 73 6d 61 73 68 65 64 2c 20 70 72 +R 00 00 01 00 +T 21 00 00 00 6f 63 65 73 73 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0471_5b47_dfile_5fupdate_3a_2.rel b/src/nos/lib/messages_lib/0471_5b47_dfile_5fupdate_3a_2.rel deleted file mode 100644 index c327132b..00000000 --- a/src/nos/lib/messages_lib/0471_5b47_dfile_5fupdate_3a_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2c flags 0 -S ___0471_5b47_dfile_5fupdate_3a_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2a 00 64 66 69 6c 65 5f 75 70 64 -R 00 00 01 00 -T 0b 00 00 00 61 74 65 3a 20 63 61 6e 27 74 20 -R 00 00 01 00 -T 16 00 00 00 67 65 74 20 6e 65 77 5f 66 69 6c -R 00 00 01 00 -T 21 00 00 00 65 20 73 74 61 74 75 73 21 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0471_eddf_Warning_21_20Interf.rel b/src/nos/lib/messages_lib/0471_eddf_Warning_21_20Interf.rel new file mode 100644 index 00000000..7227c535 --- /dev/null +++ b/src/nos/lib/messages_lib/0471_eddf_Warning_21_20Interf.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 33 flags 0 +S ___0471_eddf_Warning_21_20Interf Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 31 00 57 61 72 6e 69 6e 67 21 20 +R 00 00 01 00 +T 0b 00 00 00 49 6e 74 65 72 66 61 63 65 20 27 +R 00 00 01 00 +T 16 00 00 00 25 73 27 20 68 61 73 20 61 20 6d +R 00 00 01 00 +T 21 00 00 00 75 6c 74 69 63 61 73 74 20 61 64 +R 00 00 01 00 +T 2c 00 00 00 64 72 65 73 73 3a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0472_4457_Warning_3a_20type_2.rel b/src/nos/lib/messages_lib/0472_4457_Warning_3a_20type_2.rel new file mode 100644 index 00000000..f78039c9 --- /dev/null +++ b/src/nos/lib/messages_lib/0472_4457_Warning_3a_20type_2.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 36 flags 0 +S ___0472_4457_Warning_3a_20type_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 34 00 57 61 72 6e 69 6e 67 3a 20 +R 00 00 01 00 +T 0b 00 00 00 74 79 70 65 20 69 73 20 41 53 43 +R 00 00 01 00 +T 16 00 00 00 49 49 20 61 6e 64 20 25 73 20 61 +R 00 00 01 00 +T 21 00 00 00 70 70 65 61 72 73 20 74 6f 20 62 +R 00 00 01 00 +T 2c 00 00 00 65 20 62 69 6e 61 72 79 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0472_ef06_dfile_5fupdate_3a_2.rel b/src/nos/lib/messages_lib/0472_ef06_dfile_5fupdate_3a_2.rel deleted file mode 100644 index 92d4289a..00000000 --- a/src/nos/lib/messages_lib/0472_ef06_dfile_5fupdate_3a_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2c flags 0 -S ___0472_ef06_dfile_5fupdate_3a_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2a 00 64 66 69 6c 65 5f 75 70 64 -R 00 00 01 00 -T 0b 00 00 00 61 74 65 3a 20 63 61 6e 27 74 20 -R 00 00 01 00 -T 16 00 00 00 67 65 74 20 6f 6c 64 5f 66 69 6c -R 00 00 01 00 -T 21 00 00 00 65 20 73 74 61 74 75 73 21 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0473_0173_dialer.rel b/src/nos/lib/messages_lib/0473_0173_dialer.rel deleted file mode 100644 index e099efc2..00000000 --- a/src/nos/lib/messages_lib/0473_0173_dialer.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0473_0173_dialer Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 64 69 61 6c 65 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0473_5d14_We_20accepted_20rem.rel b/src/nos/lib/messages_lib/0473_5d14_We_20accepted_20rem.rel new file mode 100644 index 00000000..0b2684fa --- /dev/null +++ b/src/nos/lib/messages_lib/0473_5d14_We_20accepted_20rem.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3f flags 0 +S ___0473_5d14_We_20accepted_20rem Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 3d 00 57 65 20 61 63 63 65 70 74 +R 00 00 01 00 +T 0b 00 00 00 65 64 20 72 65 6d 6f 74 65 20 72 +R 00 00 01 00 +T 16 00 00 00 65 71 75 65 73 74 3b 20 77 61 69 +R 00 00 01 00 +T 21 00 00 00 74 69 6e 67 20 66 6f 72 20 72 65 +R 00 00 01 00 +T 2c 00 00 00 70 6c 79 20 74 6f 20 6f 75 72 20 +R 00 00 01 00 +T 37 00 00 00 72 65 71 75 65 73 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0474_85a8_Window_20_28frames_.rel b/src/nos/lib/messages_lib/0474_85a8_Window_20_28frames_.rel new file mode 100644 index 00000000..9ea28694 --- /dev/null +++ b/src/nos/lib/messages_lib/0474_85a8_Window_20_28frames_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0474_85a8_Window_20_28frames_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 57 69 6e 64 6f 77 20 28 66 +R 00 00 01 00 +T 0b 00 00 00 72 61 6d 65 73 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0474_8d0b_dialer_20_3ciface_3.rel b/src/nos/lib/messages_lib/0474_8d0b_dialer_20_3ciface_3.rel deleted file mode 100644 index f609f21e..00000000 --- a/src/nos/lib/messages_lib/0474_8d0b_dialer_20_3ciface_3.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 33 flags 0 -S ___0474_8d0b_dialer_20_3ciface_3 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 31 00 64 69 61 6c 65 72 20 3c 69 -R 00 00 01 00 -T 0b 00 00 00 66 61 63 65 3e 20 3c 74 69 6d 65 -R 00 00 01 00 -T 16 00 00 00 6f 75 74 3e 20 5b 64 65 76 69 63 -R 00 00 01 00 -T 21 00 00 00 65 2d 64 65 70 65 6e 64 65 6e 74 -R 00 00 01 00 -T 2c 00 00 00 20 61 72 67 73 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0475_18c3_digipeat.rel b/src/nos/lib/messages_lib/0475_18c3_digipeat.rel deleted file mode 100644 index 542e24de..00000000 --- a/src/nos/lib/messages_lib/0475_18c3_digipeat.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___0475_18c3_digipeat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 64 69 67 69 70 65 61 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0475_9331_Window_20size_20_28.rel b/src/nos/lib/messages_lib/0475_9331_Window_20size_20_28.rel new file mode 100644 index 00000000..0146d6da --- /dev/null +++ b/src/nos/lib/messages_lib/0475_9331_Window_20size_20_28.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___0475_9331_Window_20size_20_28 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 57 69 6e 64 6f 77 20 73 69 +R 00 00 01 00 +T 0b 00 00 00 7a 65 20 28 66 72 61 6d 65 73 29 +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0476_613d_Window_3a_20_25_2d5.rel b/src/nos/lib/messages_lib/0476_613d_Window_3a_20_25_2d5.rel new file mode 100644 index 00000000..de2b7c18 --- /dev/null +++ b/src/nos/lib/messages_lib/0476_613d_Window_3a_20_25_2d5.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 37 flags 0 +S ___0476_613d_Window_3a_20_25_2d5 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 35 00 57 69 6e 64 6f 77 3a 20 25 +R 00 00 01 00 +T 0b 00 00 00 2d 35 75 20 52 78 70 65 63 74 3a +R 00 00 01 00 +T 16 00 00 00 20 25 2d 35 75 20 52 78 4e 65 78 +R 00 00 01 00 +T 21 00 00 00 74 3a 20 25 2d 35 75 20 52 78 51 +R 00 00 01 00 +T 2c 00 00 00 3a 20 25 2d 35 64 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0476_bdc7_dir.rel b/src/nos/lib/messages_lib/0476_bdc7_dir.rel deleted file mode 100644 index 02758b51..00000000 --- a/src/nos/lib/messages_lib/0476_bdc7_dir.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0476_bdc7_dir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 64 69 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0477_25a6_Wink_20DTR_3f_20.rel b/src/nos/lib/messages_lib/0477_25a6_Wink_20DTR_3f_20.rel new file mode 100644 index 00000000..2b846fbe --- /dev/null +++ b/src/nos/lib/messages_lib/0477_25a6_Wink_20DTR_3f_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0477_25a6_Wink_20DTR_3f_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 57 69 6e 6b 20 44 54 52 3f +R 00 00 01 00 +T 0b 00 00 00 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0477_5c0a_directory.rel b/src/nos/lib/messages_lib/0477_5c0a_directory.rel deleted file mode 100644 index a21fdec0..00000000 --- a/src/nos/lib/messages_lib/0477_5c0a_directory.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___0477_5c0a_directory Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 64 69 72 65 63 74 6f 72 79 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0478_176f_discard.rel b/src/nos/lib/messages_lib/0478_176f_discard.rel deleted file mode 100644 index 4e9f5c76..00000000 --- a/src/nos/lib/messages_lib/0478_176f_discard.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0478_176f_discard Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 64 69 73 63 61 72 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0478_75b2_Writing_20article_2.rel b/src/nos/lib/messages_lib/0478_75b2_Writing_20article_2.rel new file mode 100644 index 00000000..4e9a361a --- /dev/null +++ b/src/nos/lib/messages_lib/0478_75b2_Writing_20article_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0478_75b2_Writing_20article_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 57 72 69 74 69 6e 67 20 61 +R 00 00 01 00 +T 0b 00 00 00 72 74 69 63 6c 65 20 74 6f 20 27 +R 00 00 01 00 +T 16 00 00 00 25 73 27 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0479_3999_XMD5_20_25s.rel b/src/nos/lib/messages_lib/0479_3999_XMD5_20_25s.rel new file mode 100644 index 00000000..35c71e28 --- /dev/null +++ b/src/nos/lib/messages_lib/0479_3999_XMD5_20_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0479_3999_XMD5_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 58 4d 44 35 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0479_684a_discard_20expired_2.rel b/src/nos/lib/messages_lib/0479_684a_discard_20expired_2.rel deleted file mode 100644 index 3bd07e1a..00000000 --- a/src/nos/lib/messages_lib/0479_684a_discard_20expired_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___0479_684a_discard_20expired_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 64 69 73 63 61 72 64 20 65 -R 00 00 01 00 -T 0b 00 00 00 78 70 69 72 65 64 20 72 65 63 6f -R 00 00 01 00 -T 16 00 00 00 72 64 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/047a_a62b_XMD5_20_25s_0a.rel b/src/nos/lib/messages_lib/047a_a62b_XMD5_20_25s_0a.rel new file mode 100644 index 00000000..d891b309 --- /dev/null +++ b/src/nos/lib/messages_lib/047a_a62b_XMD5_20_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___047a_a62b_XMD5_20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 58 4d 44 35 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/047a_f701_disconnect.rel b/src/nos/lib/messages_lib/047a_f701_disconnect.rel deleted file mode 100644 index 43f156b1..00000000 --- a/src/nos/lib/messages_lib/047a_f701_disconnect.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___047a_f701_disconnect Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 64 69 73 63 6f 6e 6e 65 63 -R 00 00 01 00 -T 0b 00 00 00 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/047b_8515_XMKD_20_25s_0a.rel b/src/nos/lib/messages_lib/047b_8515_XMKD_20_25s_0a.rel new file mode 100644 index 00000000..2f44aabf --- /dev/null +++ b/src/nos/lib/messages_lib/047b_8515_XMKD_20_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___047b_8515_XMKD_20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 58 4d 4b 44 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/047b_e146_dns.rel b/src/nos/lib/messages_lib/047b_e146_dns.rel deleted file mode 100644 index 9cdd4731..00000000 --- a/src/nos/lib/messages_lib/047b_e146_dns.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___047b_e146_dns Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 64 6e 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/047c_31d2_XRMD_20_25s_0a.rel b/src/nos/lib/messages_lib/047c_31d2_XRMD_20_25s_0a.rel new file mode 100644 index 00000000..cfb02e5e --- /dev/null +++ b/src/nos/lib/messages_lib/047c_31d2_XRMD_20_25s_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___047c_31d2_XRMD_20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 58 52 4d 44 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/047c_8f79_dns_5fquery_3a_20qu.rel b/src/nos/lib/messages_lib/047c_8f79_dns_5fquery_3a_20qu.rel deleted file mode 100644 index af982faa..00000000 --- a/src/nos/lib/messages_lib/047c_8f79_dns_5fquery_3a_20qu.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___047c_8f79_dns_5fquery_3a_20qu Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 64 6e 73 5f 71 75 65 72 79 -R 00 00 01 00 -T 0b 00 00 00 3a 20 71 75 65 72 79 69 6e 67 20 -R 00 00 01 00 -T 16 00 00 00 73 65 72 76 65 72 20 25 73 20 66 -R 00 00 01 00 -T 21 00 00 00 6f 72 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/047d_6da5_dns_5fquery_3a_20re.rel b/src/nos/lib/messages_lib/047d_6da5_dns_5fquery_3a_20re.rel deleted file mode 100644 index 49092455..00000000 --- a/src/nos/lib/messages_lib/047d_6da5_dns_5fquery_3a_20re.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 29 flags 0 -S ___047d_6da5_dns_5fquery_3a_20re Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 27 00 64 6e 73 5f 71 75 65 72 79 -R 00 00 01 00 -T 0b 00 00 00 3a 20 72 65 63 65 69 76 65 64 20 -R 00 00 01 00 -T 16 00 00 00 6d 65 73 73 61 67 65 20 6c 65 6e -R 00 00 01 00 -T 21 00 00 00 67 74 68 20 25 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/047d_e80a_Yes_20.rel b/src/nos/lib/messages_lib/047d_e80a_Yes_20.rel new file mode 100644 index 00000000..050e0632 --- /dev/null +++ b/src/nos/lib/messages_lib/047d_e80a_Yes_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___047d_e80a_Yes_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 59 65 73 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/047e_041c_doexit_3a_20won_27t.rel b/src/nos/lib/messages_lib/047e_041c_doexit_3a_20won_27t.rel deleted file mode 100644 index 7ed6f60f..00000000 --- a/src/nos/lib/messages_lib/047e_041c_doexit_3a_20won_27t.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___047e_041c_doexit_3a_20won_27t Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 64 6f 65 78 69 74 3a 20 77 -R 00 00 01 00 -T 0b 00 00 00 6f 6e 27 74 20 65 78 69 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/047e_71c6_You_20have_20.rel b/src/nos/lib/messages_lib/047e_71c6_You_20have_20.rel new file mode 100644 index 00000000..e4c3017b --- /dev/null +++ b/src/nos/lib/messages_lib/047e_71c6_You_20have_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___047e_71c6_You_20have_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 59 6f 75 20 68 61 76 65 20 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/047f_1e66_You_20have_20new_20.rel b/src/nos/lib/messages_lib/047f_1e66_You_20have_20new_20.rel new file mode 100644 index 00000000..475e0ee9 --- /dev/null +++ b/src/nos/lib/messages_lib/047f_1e66_You_20have_20new_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___047f_1e66_You_20have_20new_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 59 6f 75 20 68 61 76 65 20 +R 00 00 01 00 +T 0b 00 00 00 6e 65 77 20 6d 61 69 6c 2e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/047f_21ed_domain.rel b/src/nos/lib/messages_lib/047f_21ed_domain.rel deleted file mode 100644 index 1c89936c..00000000 --- a/src/nos/lib/messages_lib/047f_21ed_domain.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___047f_21ed_domain Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 64 6f 6d 61 69 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0480_4583_You_27re_20using_20.rel b/src/nos/lib/messages_lib/0480_4583_You_27re_20using_20.rel new file mode 100644 index 00000000..7687ed02 --- /dev/null +++ b/src/nos/lib/messages_lib/0480_4583_You_27re_20using_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___0480_4583_You_27re_20using_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 59 6f 75 27 72 65 20 75 73 +R 00 00 01 00 +T 0b 00 00 00 69 6e 67 20 69 6e 74 65 72 66 61 +R 00 00 01 00 +T 16 00 00 00 63 65 20 25 73 21 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0480_e0fd_down_20script_3a_20.rel b/src/nos/lib/messages_lib/0480_e0fd_down_20script_3a_20.rel deleted file mode 100644 index 28677a0d..00000000 --- a/src/nos/lib/messages_lib/0480_e0fd_down_20script_3a_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___0480_e0fd_down_20script_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 64 6f 77 6e 20 73 63 72 69 -R 00 00 01 00 -T 0b 00 00 00 70 74 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0481_050c_download.rel b/src/nos/lib/messages_lib/0481_050c_download.rel deleted file mode 100644 index e88df2f9..00000000 --- a/src/nos/lib/messages_lib/0481_050c_download.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___0481_050c_download Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 64 6f 77 6e 6c 6f 61 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0481_4aef_Z_20filename.rel b/src/nos/lib/messages_lib/0481_4aef_Z_20filename.rel new file mode 100644 index 00000000..74afe74b --- /dev/null +++ b/src/nos/lib/messages_lib/0481_4aef_Z_20filename.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0481_4aef_Z_20filename Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 5a 20 66 69 6c 65 6e 61 6d +R 00 00 01 00 +T 0b 00 00 00 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0482_4853_drop.rel b/src/nos/lib/messages_lib/0482_4853_drop.rel deleted file mode 100644 index 54388b52..00000000 --- a/src/nos/lib/messages_lib/0482_4853_drop.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0482_4853_drop Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 64 72 6f 70 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0482_5fd7_Zap_20failed_3a_20_.rel b/src/nos/lib/messages_lib/0482_5fd7_Zap_20failed_3a_20_.rel new file mode 100644 index 00000000..22ef8603 --- /dev/null +++ b/src/nos/lib/messages_lib/0482_5fd7_Zap_20failed_3a_20_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0482_5fd7_Zap_20failed_3a_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 5a 61 70 20 66 61 69 6c 65 +R 00 00 01 00 +T 0b 00 00 00 64 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0483_0532_drop_20_3chostid_3e.rel b/src/nos/lib/messages_lib/0483_0532_drop_20_3chostid_3e.rel deleted file mode 100644 index 8779ee47..00000000 --- a/src/nos/lib/messages_lib/0483_0532_drop_20_3chostid_3e.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___0483_0532_drop_20_3chostid_3e Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 64 72 6f 70 20 3c 68 6f 73 -R 00 00 01 00 -T 0b 00 00 00 74 69 64 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0483_e3d1__5b.rel b/src/nos/lib/messages_lib/0483_e3d1__5b.rel new file mode 100644 index 00000000..e85b983b --- /dev/null +++ b/src/nos/lib/messages_lib/0483_e3d1__5b.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 4 flags 0 +S ___0483_e3d1__5b Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 02 00 5b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0484_9d9c__5bNET_2dHMR_24_5d.rel b/src/nos/lib/messages_lib/0484_9d9c__5bNET_2dHMR_24_5d.rel new file mode 100644 index 00000000..dae8252f --- /dev/null +++ b/src/nos/lib/messages_lib/0484_9d9c__5bNET_2dHMR_24_5d.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0484_9d9c__5bNET_2dHMR_24_5d Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 5b 4e 45 54 2d 48 4d 52 24 +R 00 00 01 00 +T 0b 00 00 00 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0484_e7cf_dropserver.rel b/src/nos/lib/messages_lib/0484_e7cf_dropserver.rel deleted file mode 100644 index 4a9dd0f5..00000000 --- a/src/nos/lib/messages_lib/0484_e7cf_dropserver.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___0484_e7cf_dropserver Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 64 72 6f 70 73 65 72 76 65 -R 00 00 01 00 -T 0b 00 00 00 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0485_a2e4_dup.rel b/src/nos/lib/messages_lib/0485_a2e4_dup.rel deleted file mode 100644 index c5600368..00000000 --- a/src/nos/lib/messages_lib/0485_a2e4_dup.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0485_a2e4_dup Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 64 75 70 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0485_f8e4__5bunknown_5d.rel b/src/nos/lib/messages_lib/0485_f8e4__5bunknown_5d.rel new file mode 100644 index 00000000..724f1912 --- /dev/null +++ b/src/nos/lib/messages_lib/0485_f8e4__5bunknown_5d.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0485_f8e4__5bunknown_5d Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 5b 75 6e 6b 6e 6f 77 6e 5d +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0486_699f__5eC_0a.rel b/src/nos/lib/messages_lib/0486_699f__5eC_0a.rel new file mode 100644 index 00000000..d57d4f1b --- /dev/null +++ b/src/nos/lib/messages_lib/0486_699f__5eC_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0486_699f__5eC_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 5e 43 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0486_b319_dup2.rel b/src/nos/lib/messages_lib/0486_b319_dup2.rel deleted file mode 100644 index 353f112c..00000000 --- a/src/nos/lib/messages_lib/0486_b319_dup2.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0486_b319_dup2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 64 75 70 32 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0487_cb91_dynip.rel b/src/nos/lib/messages_lib/0487_cb91_dynip.rel deleted file mode 100644 index 04ea1839..00000000 --- a/src/nos/lib/messages_lib/0487_cb91_dynip.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0487_cb91_dynip Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 64 79 6e 69 70 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0487_e5d6__5eR_0a.rel b/src/nos/lib/messages_lib/0487_e5d6__5eR_0a.rel new file mode 100644 index 00000000..c6dd77bb --- /dev/null +++ b/src/nos/lib/messages_lib/0487_e5d6__5eR_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0487_e5d6__5eR_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 5e 52 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0488_1951__5fexit.rel b/src/nos/lib/messages_lib/0488_1951__5fexit.rel new file mode 100644 index 00000000..c6b299d8 --- /dev/null +++ b/src/nos/lib/messages_lib/0488_1951__5fexit.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0488_1951__5fexit Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 5f 65 78 69 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0488_2edf_echo.rel b/src/nos/lib/messages_lib/0488_2edf_echo.rel deleted file mode 100644 index a8853d74..00000000 --- a/src/nos/lib/messages_lib/0488_2edf_echo.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0488_2edf_echo Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 65 63 68 6f 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0489_7366_empty_20packet_21_2.rel b/src/nos/lib/messages_lib/0489_7366_empty_20packet_21_2.rel deleted file mode 100644 index 113bf39e..00000000 --- a/src/nos/lib/messages_lib/0489_7366_empty_20packet_21_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___0489_7366_empty_20packet_21_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 65 6d 70 74 79 20 70 61 63 -R 00 00 01 00 -T 0b 00 00 00 6b 65 74 21 21 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0489_a314__5ffcreat_3a_20WARN.rel b/src/nos/lib/messages_lib/0489_a314__5ffcreat_3a_20WARN.rel new file mode 100644 index 00000000..c5935edb --- /dev/null +++ b/src/nos/lib/messages_lib/0489_a314__5ffcreat_3a_20WARN.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___0489_a314__5ffcreat_3a_20WARN Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 5f 66 63 72 65 61 74 3a 20 +R 00 00 01 00 +T 0b 00 00 00 57 41 52 4e 49 4e 47 21 20 4e 6f +R 00 00 01 00 +T 16 00 00 00 20 6d 65 6d 6f 72 79 20 66 6f 72 +R 00 00 01 00 +T 21 00 00 00 20 46 49 4c 45 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/048a_48fd_encapsulation.rel b/src/nos/lib/messages_lib/048a_48fd_encapsulation.rel deleted file mode 100644 index 0287488e..00000000 --- a/src/nos/lib/messages_lib/048a_48fd_encapsulation.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___048a_48fd_encapsulation Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 65 6e 63 61 70 73 75 6c 61 -R 00 00 01 00 -T 0b 00 00 00 74 69 6f 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/048a_79de__5funlink_3a_20bad_.rel b/src/nos/lib/messages_lib/048a_79de__5funlink_3a_20bad_.rel new file mode 100644 index 00000000..6cab2c1d --- /dev/null +++ b/src/nos/lib/messages_lib/048a_79de__5funlink_3a_20bad_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___048a_79de__5funlink_3a_20bad_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 5f 75 6e 6c 69 6e 6b 3a 20 +R 00 00 01 00 +T 0b 00 00 00 62 61 64 20 6e 6c 69 6e 6b 20 25 +R 00 00 01 00 +T 16 00 00 00 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/048b_4a34_eol.rel b/src/nos/lib/messages_lib/048b_4a34_eol.rel deleted file mode 100644 index 4bb68c3d..00000000 --- a/src/nos/lib/messages_lib/048b_4a34_eol.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___048b_4a34_eol Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 65 6f 6c 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/048b_722b_accept.rel b/src/nos/lib/messages_lib/048b_722b_accept.rel new file mode 100644 index 00000000..60373382 --- /dev/null +++ b/src/nos/lib/messages_lib/048b_722b_accept.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___048b_722b_accept Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 61 63 63 65 70 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/048c_30f9_accept_0a.rel b/src/nos/lib/messages_lib/048c_30f9_accept_0a.rel new file mode 100644 index 00000000..2afe4d1a --- /dev/null +++ b/src/nos/lib/messages_lib/048c_30f9_accept_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___048c_30f9_accept_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 61 63 63 65 70 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/048c_b4ae_escape.rel b/src/nos/lib/messages_lib/048c_b4ae_escape.rel deleted file mode 100644 index 3550bdf5..00000000 --- a/src/nos/lib/messages_lib/048c_b4ae_escape.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___048c_b4ae_escape Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 65 73 63 61 70 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/048d_2cfc_access.rel b/src/nos/lib/messages_lib/048d_2cfc_access.rel new file mode 100644 index 00000000..8e2408ec --- /dev/null +++ b/src/nos/lib/messages_lib/048d_2cfc_access.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___048d_2cfc_access Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 61 63 63 65 73 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/048d_858e_escc.rel b/src/nos/lib/messages_lib/048d_858e_escc.rel deleted file mode 100644 index d19280a5..00000000 --- a/src/nos/lib/messages_lib/048d_858e_escc.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___048d_858e_escc Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 65 73 63 63 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/048e_9b89_accm.rel b/src/nos/lib/messages_lib/048e_9b89_accm.rel new file mode 100644 index 00000000..8713c0ef --- /dev/null +++ b/src/nos/lib/messages_lib/048e_9b89_accm.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___048e_9b89_accm Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 61 63 63 6d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/048e_d50a_escc_25d_3a_20No_20.rel b/src/nos/lib/messages_lib/048e_d50a_escc_25d_3a_20No_20.rel deleted file mode 100644 index 174009a4..00000000 --- a/src/nos/lib/messages_lib/048e_d50a_escc_25d_3a_20No_20.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 -S ___048e_d50a_escc_25d_3a_20No_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 20 00 65 73 63 63 25 64 3a 20 4e -R 00 00 01 00 -T 0b 00 00 00 6f 20 73 70 61 63 65 20 66 6f 72 -R 00 00 01 00 -T 16 00 00 00 20 72 78 20 62 75 66 66 65 72 0a -R 00 00 01 00 -T 21 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/048f_16c9_acct.rel b/src/nos/lib/messages_lib/048f_16c9_acct.rel new file mode 100644 index 00000000..c95e3d9a --- /dev/null +++ b/src/nos/lib/messages_lib/048f_16c9_acct.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___048f_16c9_acct Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 61 63 63 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/048f_6362_esccstat.rel b/src/nos/lib/messages_lib/048f_6362_esccstat.rel deleted file mode 100644 index 2a6dfc26..00000000 --- a/src/nos/lib/messages_lib/048f_6362_esccstat.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___048f_6362_esccstat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 65 73 63 63 73 74 61 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0490_0c4f_acfc.rel b/src/nos/lib/messages_lib/0490_0c4f_acfc.rel new file mode 100644 index 00000000..6615e764 --- /dev/null +++ b/src/nos/lib/messages_lib/0490_0c4f_acfc.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0490_0c4f_acfc Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 61 63 66 63 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0490_59b0_execve.rel b/src/nos/lib/messages_lib/0490_59b0_execve.rel deleted file mode 100644 index 58a20344..00000000 --- a/src/nos/lib/messages_lib/0490_59b0_execve.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0490_59b0_execve Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 65 78 65 63 76 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0491_3566_exit.rel b/src/nos/lib/messages_lib/0491_3566_exit.rel deleted file mode 100644 index 038be4a4..00000000 --- a/src/nos/lib/messages_lib/0491_3566_exit.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0491_3566_exit Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 65 78 69 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0491_7530_acktime.rel b/src/nos/lib/messages_lib/0491_7530_acktime.rel new file mode 100644 index 00000000..e3feca51 --- /dev/null +++ b/src/nos/lib/messages_lib/0491_7530_acktime.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0491_7530_acktime Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 61 63 6b 74 69 6d 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0492_41b5_add.rel b/src/nos/lib/messages_lib/0492_41b5_add.rel new file mode 100644 index 00000000..d36444fb --- /dev/null +++ b/src/nos/lib/messages_lib/0492_41b5_add.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0492_41b5_add Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 61 64 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0492_bd2b_expired.rel b/src/nos/lib/messages_lib/0492_bd2b_expired.rel deleted file mode 100644 index 65a0ad64..00000000 --- a/src/nos/lib/messages_lib/0492_bd2b_expired.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0492_bd2b_expired Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 65 78 70 69 72 65 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0493_bf9b_f_5ftrunc_28_29_20r.rel b/src/nos/lib/messages_lib/0493_bf9b_f_5ftrunc_28_29_20r.rel deleted file mode 100644 index 21752c79..00000000 --- a/src/nos/lib/messages_lib/0493_bf9b_f_5ftrunc_28_29_20r.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___0493_bf9b_f_5ftrunc_28_29_20r Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 66 5f 74 72 75 6e 63 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 0a -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0493_d8a3_add_20_3chostid_3e.rel b/src/nos/lib/messages_lib/0493_d8a3_add_20_3chostid_3e.rel new file mode 100644 index 00000000..4b03168e --- /dev/null +++ b/src/nos/lib/messages_lib/0493_d8a3_add_20_3chostid_3e.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0493_d8a3_add_20_3chostid_3e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 61 64 64 20 3c 68 6f 73 74 +R 00 00 01 00 +T 0b 00 00 00 69 64 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0494_6783_addprivate.rel b/src/nos/lib/messages_lib/0494_6783_addprivate.rel new file mode 100644 index 00000000..01cf6e23 --- /dev/null +++ b/src/nos/lib/messages_lib/0494_6783_addprivate.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0494_6783_addprivate Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 61 64 64 70 72 69 76 61 74 +R 00 00 01 00 +T 0b 00 00 00 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0494_687d_f_5ftrunc_280x_25x_.rel b/src/nos/lib/messages_lib/0494_687d_f_5ftrunc_280x_25x_.rel deleted file mode 100644 index 3122ca35..00000000 --- a/src/nos/lib/messages_lib/0494_687d_f_5ftrunc_280x_25x_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___0494_687d_f_5ftrunc_280x_25x_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 66 5f 74 72 75 6e 63 28 30 -R 00 00 01 00 -T 0b 00 00 00 78 25 78 29 20 73 74 61 72 74 69 -R 00 00 01 00 -T 16 00 00 00 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0495_9712_address.rel b/src/nos/lib/messages_lib/0495_9712_address.rel new file mode 100644 index 00000000..4d61cb22 --- /dev/null +++ b/src/nos/lib/messages_lib/0495_9712_address.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0495_9712_address Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 61 64 64 72 65 73 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0495_bce0_failure.rel b/src/nos/lib/messages_lib/0495_bce0_failure.rel deleted file mode 100644 index dca5dd54..00000000 --- a/src/nos/lib/messages_lib/0495_bce0_failure.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0495_bce0_failure Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 66 61 69 6c 75 72 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0496_086a_falign.rel b/src/nos/lib/messages_lib/0496_086a_falign.rel deleted file mode 100644 index 6ca3803d..00000000 --- a/src/nos/lib/messages_lib/0496_086a_falign.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0496_086a_falign Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 66 61 6c 69 67 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0496_2c42_addserver.rel b/src/nos/lib/messages_lib/0496_2c42_addserver.rel new file mode 100644 index 00000000..1800f2d8 --- /dev/null +++ b/src/nos/lib/messages_lib/0496_2c42_addserver.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0496_2c42_addserver Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 61 64 64 73 65 72 76 65 72 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0497_303b_files.rel b/src/nos/lib/messages_lib/0497_303b_files.rel deleted file mode 100644 index 104cec45..00000000 --- a/src/nos/lib/messages_lib/0497_303b_files.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0497_303b_files Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 66 69 6c 65 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0497_b0a9_alarm.rel b/src/nos/lib/messages_lib/0497_b0a9_alarm.rel new file mode 100644 index 00000000..22a98727 --- /dev/null +++ b/src/nos/lib/messages_lib/0497_b0a9_alarm.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0497_b0a9_alarm Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 61 6c 61 72 6d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0498_4d36_allocatepid_28_29_2.rel b/src/nos/lib/messages_lib/0498_4d36_allocatepid_28_29_2.rel new file mode 100644 index 00000000..b0b7e391 --- /dev/null +++ b/src/nos/lib/messages_lib/0498_4d36_allocatepid_28_29_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___0498_4d36_allocatepid_28_29_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 61 6c 6c 6f 63 61 74 65 70 +R 00 00 01 00 +T 0b 00 00 00 69 64 28 29 20 72 65 74 75 72 6e +R 00 00 01 00 +T 16 00 00 00 69 6e 67 2c 20 73 75 63 63 65 73 +R 00 00 01 00 +T 21 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0498_d461_filesys_5fdoclose_2.rel b/src/nos/lib/messages_lib/0498_d461_filesys_5fdoclose_2.rel deleted file mode 100644 index 0fbadacd..00000000 --- a/src/nos/lib/messages_lib/0498_d461_filesys_5fdoclose_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___0498_d461_filesys_5fdoclose_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 66 69 6c 65 73 79 73 5f 64 -R 00 00 01 00 -T 0b 00 00 00 6f 63 6c 6f 73 65 28 25 75 29 20 -R 00 00 01 00 -T 16 00 00 00 73 74 61 72 74 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0499_661c_filesys_5fdoclose_2.rel b/src/nos/lib/messages_lib/0499_661c_filesys_5fdoclose_2.rel deleted file mode 100644 index ae6b2987..00000000 --- a/src/nos/lib/messages_lib/0499_661c_filesys_5fdoclose_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 29 flags 0 -S ___0499_661c_filesys_5fdoclose_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 27 00 66 69 6c 65 73 79 73 5f 64 -R 00 00 01 00 -T 0b 00 00 00 6f 63 6c 6f 73 65 28 29 20 72 65 -R 00 00 01 00 -T 16 00 00 00 74 75 72 6e 69 6e 67 20 2d 31 2c -R 00 00 01 00 -T 21 00 00 00 20 65 72 72 6f 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0499_7b67_allocatepid_280x_25.rel b/src/nos/lib/messages_lib/0499_7b67_allocatepid_280x_25.rel new file mode 100644 index 00000000..fe3bf121 --- /dev/null +++ b/src/nos/lib/messages_lib/0499_7b67_allocatepid_280x_25.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___0499_7b67_allocatepid_280x_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 61 6c 6c 6f 63 61 74 65 70 +R 00 00 01 00 +T 0b 00 00 00 69 64 28 30 78 25 78 29 20 73 74 +R 00 00 01 00 +T 16 00 00 00 61 72 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/049a_8db4_filesys_5fdoclose_2.rel b/src/nos/lib/messages_lib/049a_8db4_filesys_5fdoclose_2.rel deleted file mode 100644 index 1d47d8e0..00000000 --- a/src/nos/lib/messages_lib/049a_8db4_filesys_5fdoclose_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2a flags 0 -S ___049a_8db4_filesys_5fdoclose_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 28 00 66 69 6c 65 73 79 73 5f 64 -R 00 00 01 00 -T 0b 00 00 00 6f 63 6c 6f 73 65 28 29 20 72 65 -R 00 00 01 00 -T 16 00 00 00 74 75 72 6e 69 6e 67 20 30 2c 20 -R 00 00 01 00 -T 21 00 00 00 73 75 63 63 65 73 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/049a_9965_allocs_20_25lu_20fr.rel b/src/nos/lib/messages_lib/049a_9965_allocs_20_25lu_20fr.rel new file mode 100644 index 00000000..35c4e6cb --- /dev/null +++ b/src/nos/lib/messages_lib/049a_9965_allocs_20_25lu_20fr.rel @@ -0,0 +1,22 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 45 flags 0 +S ___049a_9965_allocs_20_25lu_20fr Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 43 00 61 6c 6c 6f 63 73 20 25 6c +R 00 00 01 00 +T 0b 00 00 00 75 20 66 72 65 65 73 20 25 6c 75 +R 00 00 01 00 +T 16 00 00 00 20 28 64 69 66 66 20 25 6c 75 29 +R 00 00 01 00 +T 21 00 00 00 20 61 6c 6c 6f 63 20 66 61 69 6c +R 00 00 01 00 +T 2c 00 00 00 73 20 25 6c 75 20 69 6e 76 61 6c +R 00 00 01 00 +T 37 00 00 00 69 64 20 66 72 65 65 73 20 25 6c +R 00 00 01 00 +T 42 00 00 00 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/049b_d5e4_allow.rel b/src/nos/lib/messages_lib/049b_d5e4_allow.rel new file mode 100644 index 00000000..a8b6bd66 --- /dev/null +++ b/src/nos/lib/messages_lib/049b_d5e4_allow.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___049b_d5e4_allow Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 61 6c 6c 6f 77 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/049b_d6a7_filter_20mode_20is_.rel b/src/nos/lib/messages_lib/049b_d6a7_filter_20mode_20is_.rel deleted file mode 100644 index 562b9e4e..00000000 --- a/src/nos/lib/messages_lib/049b_d6a7_filter_20mode_20is_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___049b_d6a7_filter_20mode_20is_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 66 69 6c 74 65 72 20 6d 6f -R 00 00 01 00 -T 0b 00 00 00 64 65 20 69 73 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/049c_8e82_allow_20pap_20none_.rel b/src/nos/lib/messages_lib/049c_8e82_allow_20pap_20none_.rel new file mode 100644 index 00000000..3eb722e1 --- /dev/null +++ b/src/nos/lib/messages_lib/049c_8e82_allow_20pap_20none_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___049c_8e82_allow_20pap_20none_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 61 6c 6c 6f 77 20 70 61 70 +R 00 00 01 00 +T 0b 00 00 00 20 6e 6f 6e 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/049c_927a_finger.rel b/src/nos/lib/messages_lib/049c_927a_finger.rel deleted file mode 100644 index 9f99d27f..00000000 --- a/src/nos/lib/messages_lib/049c_927a_finger.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___049c_927a_finger Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 66 69 6e 67 65 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/049d_8ea1_finger_20name_40hos.rel b/src/nos/lib/messages_lib/049d_8ea1_finger_20name_40hos.rel deleted file mode 100644 index f3d6a123..00000000 --- a/src/nos/lib/messages_lib/049d_8ea1_finger_20name_40hos.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___049d_8ea1_finger_20name_40hos Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 66 69 6e 67 65 72 20 6e 61 -R 00 00 01 00 -T 0b 00 00 00 6d 65 40 68 6f 73 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/049d_ba08_allow_20tcp_20none_.rel b/src/nos/lib/messages_lib/049d_ba08_allow_20tcp_20none_.rel new file mode 100644 index 00000000..8335a9b0 --- /dev/null +++ b/src/nos/lib/messages_lib/049d_ba08_allow_20tcp_20none_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___049d_ba08_allow_20tcp_20none_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 61 6c 6c 6f 77 20 74 63 70 +R 00 00 01 00 +T 0b 00 00 00 20 6e 6f 6e 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/049e_28f4_flush.rel b/src/nos/lib/messages_lib/049e_28f4_flush.rel deleted file mode 100644 index c5c1c476..00000000 --- a/src/nos/lib/messages_lib/049e_28f4_flush.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___049e_28f4_flush Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 66 6c 75 73 68 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/049e_94f6_anext_20pointer_20o.rel b/src/nos/lib/messages_lib/049e_94f6_anext_20pointer_20o.rel new file mode 100644 index 00000000..f87213be --- /dev/null +++ b/src/nos/lib/messages_lib/049e_94f6_anext_20pointer_20o.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___049e_94f6_anext_20pointer_20o Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 61 6e 65 78 74 20 70 6f 69 +R 00 00 01 00 +T 0b 00 00 00 6e 74 65 72 20 6f 75 74 20 6f 66 +R 00 00 01 00 +T 16 00 00 00 20 6c 69 6d 69 74 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/049f_c2a0_answer_20script_3a_.rel b/src/nos/lib/messages_lib/049f_c2a0_answer_20script_3a_.rel new file mode 100644 index 00000000..b9a5c051 --- /dev/null +++ b/src/nos/lib/messages_lib/049f_c2a0_answer_20script_3a_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___049f_c2a0_answer_20script_3a_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 61 6e 73 77 65 72 20 73 63 +R 00 00 01 00 +T 0b 00 00 00 72 69 70 74 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/049f_db22_fmount_28_25d_2c_20.rel b/src/nos/lib/messages_lib/049f_db22_fmount_28_25d_2c_20.rel deleted file mode 100644 index 2b523e91..00000000 --- a/src/nos/lib/messages_lib/049f_db22_fmount_28_25d_2c_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21 flags 0 -S ___049f_db22_fmount_28_25d_2c_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1f 00 66 6d 6f 75 6e 74 28 25 64 -R 00 00 01 00 -T 0b 00 00 00 2c 20 30 78 25 78 2c 20 25 64 29 -R 00 00 01 00 -T 16 00 00 00 20 73 74 61 72 74 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a0_9479_fmount_28_29_20retu.rel b/src/nos/lib/messages_lib/04a0_9479_fmount_28_29_20retu.rel deleted file mode 100644 index c275c96d..00000000 --- a/src/nos/lib/messages_lib/04a0_9479_fmount_28_29_20retu.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___04a0_9479_fmount_28_29_20retu Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 66 6d 6f 75 6e 74 28 29 20 -R 00 00 01 00 -T 0b 00 00 00 72 65 74 75 72 6e 69 6e 67 20 2d -R 00 00 01 00 -T 16 00 00 00 31 2c 20 65 72 72 6f 72 20 25 75 -R 00 00 01 00 -T 21 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a0_da7c_area.rel b/src/nos/lib/messages_lib/04a0_da7c_area.rel new file mode 100644 index 00000000..ae00e3b9 --- /dev/null +++ b/src/nos/lib/messages_lib/04a0_da7c_area.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___04a0_da7c_area Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 61 72 65 61 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a1_1dde_arp_20add_20_3chost.rel b/src/nos/lib/messages_lib/04a1_1dde_arp_20add_20_3chost.rel new file mode 100644 index 00000000..16ab3f6c --- /dev/null +++ b/src/nos/lib/messages_lib/04a1_1dde_arp_20add_20_3chost.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 42 flags 0 +S ___04a1_1dde_arp_20add_20_3chost Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 40 00 61 72 70 20 61 64 64 20 3c +R 00 00 01 00 +T 0b 00 00 00 68 6f 73 74 69 64 3e 20 65 74 68 +R 00 00 01 00 +T 16 00 00 00 65 72 7c 61 78 32 35 7c 6e 65 74 +R 00 00 01 00 +T 21 00 00 00 72 6f 6d 7c 61 72 63 6e 65 74 20 +R 00 00 01 00 +T 2c 00 00 00 3c 65 74 68 65 72 20 61 64 64 72 +R 00 00 01 00 +T 37 00 00 00 7c 63 61 6c 6c 73 69 67 6e 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a1_d221_fmount_28_29_20retu.rel b/src/nos/lib/messages_lib/04a1_d221_fmount_28_29_20retu.rel deleted file mode 100644 index 3e77ac58..00000000 --- a/src/nos/lib/messages_lib/04a1_d221_fmount_28_29_20retu.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21 flags 0 -S ___04a1_d221_fmount_28_29_20retu Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1f 00 66 6d 6f 75 6e 74 28 29 20 -R 00 00 01 00 -T 0b 00 00 00 72 65 74 75 72 6e 69 6e 67 20 30 -R 00 00 01 00 -T 16 00 00 00 2c 20 73 75 63 63 65 73 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a2_96ce_arp_20drop_20_3chos.rel b/src/nos/lib/messages_lib/04a2_96ce_arp_20drop_20_3chos.rel new file mode 100644 index 00000000..7b9f3df3 --- /dev/null +++ b/src/nos/lib/messages_lib/04a2_96ce_arp_20drop_20_3chos.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2d flags 0 +S ___04a2_96ce_arp_20drop_20_3chos Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2b 00 61 72 70 20 64 72 6f 70 20 +R 00 00 01 00 +T 0b 00 00 00 3c 68 6f 73 74 69 64 3e 20 65 74 +R 00 00 01 00 +T 16 00 00 00 68 65 72 7c 61 78 32 35 7c 6e 65 +R 00 00 01 00 +T 21 00 00 00 74 72 6f 6d 7c 61 72 63 6e 65 74 +R 00 00 01 00 +T 2c 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a2_dc8b_fmount_3a_20can_27t.rel b/src/nos/lib/messages_lib/04a2_dc8b_fmount_3a_20can_27t.rel deleted file mode 100644 index ad9d2a2a..00000000 --- a/src/nos/lib/messages_lib/04a2_dc8b_fmount_3a_20can_27t.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___04a2_dc8b_fmount_3a_20can_27t Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 66 6d 6f 75 6e 74 3a 20 63 -R 00 00 01 00 -T 0b 00 00 00 61 6e 27 74 20 6f 70 65 6e 20 66 -R 00 00 01 00 -T 16 00 00 00 73 20 6f 6e 20 30 78 25 78 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a3_0018_arp_20publish_20_3c.rel b/src/nos/lib/messages_lib/04a3_0018_arp_20publish_20_3c.rel new file mode 100644 index 00000000..37d2b336 --- /dev/null +++ b/src/nos/lib/messages_lib/04a3_0018_arp_20publish_20_3c.rel @@ -0,0 +1,22 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 46 flags 0 +S ___04a3_0018_arp_20publish_20_3c Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 44 00 61 72 70 20 70 75 62 6c 69 +R 00 00 01 00 +T 0b 00 00 00 73 68 20 3c 68 6f 73 74 69 64 3e +R 00 00 01 00 +T 16 00 00 00 20 65 74 68 65 72 7c 61 78 32 35 +R 00 00 01 00 +T 21 00 00 00 7c 6e 65 74 72 6f 6d 7c 61 72 63 +R 00 00 01 00 +T 2c 00 00 00 6e 65 74 20 3c 65 74 68 65 72 20 +R 00 00 01 00 +T 37 00 00 00 61 64 64 72 7c 63 61 6c 6c 73 69 +R 00 00 01 00 +T 42 00 00 00 67 6e 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a3_8074_fork.rel b/src/nos/lib/messages_lib/04a3_8074_fork.rel deleted file mode 100644 index a5da0c2e..00000000 --- a/src/nos/lib/messages_lib/04a3_8074_fork.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___04a3_8074_fork Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 66 6f 72 6b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a4_5838_asci.rel b/src/nos/lib/messages_lib/04a4_5838_asci.rel new file mode 100644 index 00000000..6732c4ff --- /dev/null +++ b/src/nos/lib/messages_lib/04a4_5838_asci.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___04a4_5838_asci Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 61 73 63 69 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a4_8227_forward.rel b/src/nos/lib/messages_lib/04a4_8227_forward.rel deleted file mode 100644 index 19fefee7..00000000 --- a/src/nos/lib/messages_lib/04a4_8227_forward.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___04a4_8227_forward Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 66 6f 72 77 61 72 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a5_4354_ascii.rel b/src/nos/lib/messages_lib/04a5_4354_ascii.rel new file mode 100644 index 00000000..266705f9 --- /dev/null +++ b/src/nos/lib/messages_lib/04a5_4354_ascii.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___04a5_4354_ascii Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 61 73 63 69 69 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a5_c066_fp_20_20_20_20_20_2.rel b/src/nos/lib/messages_lib/04a5_c066_fp_20_20_20_20_20_2.rel deleted file mode 100644 index f30f2f45..00000000 --- a/src/nos/lib/messages_lib/04a5_c066_fp_20_20_20_20_20_2.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 30 flags 0 -S ___04a5_c066_fp_20_20_20_20_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2e 00 66 70 20 20 20 20 20 20 20 -R 00 00 01 00 -T 0b 00 00 00 66 64 20 20 20 72 65 66 20 20 65 -R 00 00 01 00 -T 16 00 00 00 6f 6c 20 20 20 74 79 70 65 20 6d -R 00 00 01 00 -T 21 00 00 00 6f 64 20 62 75 66 20 20 66 6c 61 -R 00 00 01 00 -T 2c 00 00 00 67 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a6_3914_ascistat.rel b/src/nos/lib/messages_lib/04a6_3914_ascistat.rel new file mode 100644 index 00000000..bbe371ba --- /dev/null +++ b/src/nos/lib/messages_lib/04a6_3914_ascistat.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___04a6_3914_ascistat Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 61 73 63 69 73 74 61 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a6_9a2a_free_3a_20WARNING_2.rel b/src/nos/lib/messages_lib/04a6_9a2a_free_3a_20WARNING_2.rel deleted file mode 100644 index acf8fc72..00000000 --- a/src/nos/lib/messages_lib/04a6_9a2a_free_3a_20WARNING_2.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3c flags 0 -S ___04a6_9a2a_free_3a_20WARNING_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 3a 00 66 72 65 65 3a 20 57 41 52 -R 00 00 01 00 -T 0b 00 00 00 4e 49 4e 47 21 20 69 6e 76 61 6c -R 00 00 01 00 -T 16 00 00 00 69 64 20 70 6f 69 6e 74 65 72 20 -R 00 00 01 00 -T 21 00 00 00 28 25 70 29 20 70 63 20 3d 20 30 -R 00 00 01 00 -T 2c 00 00 00 78 25 78 20 25 78 20 70 72 6f 63 -R 00 00 01 00 -T 37 00 00 00 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a7_13ec_freeblk_28_25u_2c_2.rel b/src/nos/lib/messages_lib/04a7_13ec_freeblk_28_25u_2c_2.rel deleted file mode 100644 index 4ca9f124..00000000 --- a/src/nos/lib/messages_lib/04a7_13ec_freeblk_28_25u_2c_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___04a7_13ec_freeblk_28_25u_2c_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 66 72 65 65 62 6c 6b 28 25 -R 00 00 01 00 -T 0b 00 00 00 75 2c 20 25 75 2c 20 25 75 29 20 -R 00 00 01 00 -T 16 00 00 00 73 74 61 72 74 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a7_6442_attach.rel b/src/nos/lib/messages_lib/04a7_6442_attach.rel new file mode 100644 index 00000000..92867376 --- /dev/null +++ b/src/nos/lib/messages_lib/04a7_6442_attach.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___04a7_6442_attach Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 61 74 74 61 63 68 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a8_39bc_attach_20_3chardwar.rel b/src/nos/lib/messages_lib/04a8_39bc_attach_20_3chardwar.rel new file mode 100644 index 00000000..768a7f46 --- /dev/null +++ b/src/nos/lib/messages_lib/04a8_39bc_attach_20_3chardwar.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___04a8_39bc_attach_20_3chardwar Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 61 74 74 61 63 68 20 3c 68 +R 00 00 01 00 +T 0b 00 00 00 61 72 64 77 61 72 65 3e 20 3c 68 +R 00 00 01 00 +T 16 00 00 00 77 20 73 70 65 63 69 66 69 63 20 +R 00 00 01 00 +T 21 00 00 00 6f 70 74 69 6f 6e 73 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a8_bc64_freeblk_28_29_20ret.rel b/src/nos/lib/messages_lib/04a8_bc64_freeblk_28_29_20ret.rel deleted file mode 100644 index af7cd3ec..00000000 --- a/src/nos/lib/messages_lib/04a8_bc64_freeblk_28_29_20ret.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___04a8_bc64_freeblk_28_29_20ret Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 66 72 65 65 62 6c 6b 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 2c -R 00 00 01 00 -T 16 00 00 00 20 65 72 72 6f 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a9_3018_freeblk_28_29_20ret.rel b/src/nos/lib/messages_lib/04a9_3018_freeblk_28_29_20ret.rel deleted file mode 100644 index a26bd201..00000000 --- a/src/nos/lib/messages_lib/04a9_3018_freeblk_28_29_20ret.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___04a9_3018_freeblk_28_29_20ret Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 66 72 65 65 62 6c 6b 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 2c -R 00 00 01 00 -T 16 00 00 00 20 73 75 63 63 65 73 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04a9_fe98_attach_20asci_20_3c.rel b/src/nos/lib/messages_lib/04a9_fe98_attach_20asci_20_3c.rel new file mode 100644 index 00000000..dcfd6631 --- /dev/null +++ b/src/nos/lib/messages_lib/04a9_fe98_attach_20asci_20_3c.rel @@ -0,0 +1,28 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6c flags 0 +S ___04a9_fe98_attach_20asci_20_3c Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 6a 00 61 74 74 61 63 68 20 61 73 +R 00 00 01 00 +T 0b 00 00 00 63 69 20 3c 61 64 64 72 65 73 73 +R 00 00 01 00 +T 16 00 00 00 3e 20 3c 76 65 63 74 6f 72 3e 20 +R 00 00 01 00 +T 21 00 00 00 73 6c 69 70 7c 76 6a 73 6c 69 70 +R 00 00 01 00 +T 2c 00 00 00 7c 61 78 32 35 75 69 7c 61 78 32 +R 00 00 01 00 +T 37 00 00 00 35 69 7c 6e 72 73 7c 70 70 70 20 +R 00 00 01 00 +T 42 00 00 00 3c 6c 61 62 65 6c 3e 20 3c 62 75 +R 00 00 01 00 +T 4d 00 00 00 66 66 65 72 73 3e 20 3c 6d 74 75 +R 00 00 01 00 +T 58 00 00 00 3e 20 3c 73 70 65 65 64 3e 20 5b +R 00 00 01 00 +T 63 00 00 00 69 70 5f 61 64 64 72 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04aa_093e_attach_20escc_20_3c.rel b/src/nos/lib/messages_lib/04aa_093e_attach_20escc_20_3c.rel new file mode 100644 index 00000000..45454b29 --- /dev/null +++ b/src/nos/lib/messages_lib/04aa_093e_attach_20escc_20_3c.rel @@ -0,0 +1,44 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c4 flags 0 +S ___04aa_093e_attach_20escc_20_3c Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 c2 00 61 74 74 61 63 68 20 65 73 +R 00 00 01 00 +T 0b 00 00 00 63 63 20 3c 64 65 76 69 63 65 73 +R 00 00 01 00 +T 16 00 00 00 3e 20 69 6e 69 74 20 3c 61 64 64 +R 00 00 01 00 +T 21 00 00 00 72 3e 20 3c 73 70 61 63 69 6e 67 +R 00 00 01 00 +T 2c 00 00 00 3e 20 3c 41 6f 66 66 3e 20 3c 42 +R 00 00 01 00 +T 37 00 00 00 6f 66 66 3e 20 3c 44 61 74 61 6f +R 00 00 01 00 +T 42 00 00 00 66 66 3e 0a 20 20 20 3c 69 6e 74 +R 00 00 01 00 +T 4d 00 00 00 61 63 6b 3e 20 3c 76 65 63 3e 20 +R 00 00 01 00 +T 58 00 00 00 5b 70 5d 3c 63 6c 6f 63 6b 3e 20 +R 00 00 01 00 +T 63 00 00 00 5b 68 64 77 65 5d 20 5b 70 61 72 +R 00 00 01 00 +T 6e 00 00 00 61 6d 5d 0a 61 74 74 61 63 68 20 +R 00 00 01 00 +T 79 00 00 00 65 73 63 63 20 3c 63 68 61 6e 3e +R 00 00 01 00 +T 84 00 00 00 20 73 6c 69 70 7c 70 70 70 20 3c +R 00 00 01 00 +T 8f 00 00 00 6c 61 62 65 6c 3e 20 3c 6d 74 75 +R 00 00 01 00 +T 9a 00 00 00 3e 20 3c 73 70 65 65 64 3e 20 3c +R 00 00 01 00 +T a5 00 00 00 62 75 66 73 69 7a 65 3e 20 3c 5b +R 00 00 01 00 +T b0 00 00 00 72 5d 5b 63 5d 5b 76 5d 7c 30 3e +R 00 00 01 00 +T bb 00 00 00 20 5b 63 61 6c 6c 5d 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04aa_4c13_freebuf_28_25u_29_2.rel b/src/nos/lib/messages_lib/04aa_4c13_freebuf_28_25u_29_2.rel deleted file mode 100644 index dce459a1..00000000 --- a/src/nos/lib/messages_lib/04aa_4c13_freebuf_28_25u_29_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___04aa_4c13_freebuf_28_25u_29_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 66 72 65 65 62 75 66 28 25 -R 00 00 01 00 -T 0b 00 00 00 75 29 20 73 74 61 72 74 69 6e 67 -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ab_0c86_freebuf_28_29_20ret.rel b/src/nos/lib/messages_lib/04ab_0c86_freebuf_28_29_20ret.rel deleted file mode 100644 index b31a2fec..00000000 --- a/src/nos/lib/messages_lib/04ab_0c86_freebuf_28_29_20ret.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___04ab_0c86_freebuf_28_29_20ret Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 66 72 65 65 62 75 66 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 -R 00 00 01 00 -T 16 00 00 00 30 78 25 78 2c 20 66 6f 75 6e 64 -R 00 00 01 00 -T 21 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ab_7943_attempt_20to_20writ.rel b/src/nos/lib/messages_lib/04ab_7943_attempt_20to_20writ.rel new file mode 100644 index 00000000..80f1d10f --- /dev/null +++ b/src/nos/lib/messages_lib/04ab_7943_attempt_20to_20writ.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___04ab_7943_attempt_20to_20writ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 61 74 74 65 6d 70 74 20 74 +R 00 00 01 00 +T 0b 00 00 00 6f 20 77 72 69 74 65 2d 62 61 63 +R 00 00 01 00 +T 16 00 00 00 6b 20 7a 65 72 6f 62 75 66 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ac_7d37_attend.rel b/src/nos/lib/messages_lib/04ac_7d37_attend.rel new file mode 100644 index 00000000..bb8f5778 --- /dev/null +++ b/src/nos/lib/messages_lib/04ac_7d37_attend.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___04ac_7d37_attend Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 61 74 74 65 6e 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ac_f896_freelist.rel b/src/nos/lib/messages_lib/04ac_f896_freelist.rel deleted file mode 100644 index 2425075e..00000000 --- a/src/nos/lib/messages_lib/04ac_f896_freelist.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___04ac_f896_freelist Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 66 72 65 65 6c 69 73 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ad_bd4f_from_20_25s_20.rel b/src/nos/lib/messages_lib/04ad_bd4f_from_20_25s_20.rel deleted file mode 100644 index 31d6f45f..00000000 --- a/src/nos/lib/messages_lib/04ad_bd4f_from_20_25s_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___04ad_bd4f_from_20_25s_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 66 72 6f 6d 20 25 73 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ad_c133_authenticate.rel b/src/nos/lib/messages_lib/04ad_c133_authenticate.rel new file mode 100644 index 00000000..edfc475c --- /dev/null +++ b/src/nos/lib/messages_lib/04ad_c133_authenticate.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___04ad_c133_authenticate Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 61 75 74 68 65 6e 74 69 63 +R 00 00 01 00 +T 0b 00 00 00 61 74 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ae_5b02_from_20_25s_2ebbs_2.rel b/src/nos/lib/messages_lib/04ae_5b02_from_20_25s_2ebbs_2.rel deleted file mode 100644 index 1b5d5856..00000000 --- a/src/nos/lib/messages_lib/04ae_5b02_from_20_25s_2ebbs_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___04ae_5b02_from_20_25s_2ebbs_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 66 72 6f 6d 20 25 73 2e 62 -R 00 00 01 00 -T 0b 00 00 00 62 73 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ae_fd47_ax25_20kick_20_3cax.rel b/src/nos/lib/messages_lib/04ae_fd47_ax25_20kick_20_3cax.rel new file mode 100644 index 00000000..0b5d4f90 --- /dev/null +++ b/src/nos/lib/messages_lib/04ae_fd47_ax25_20kick_20_3cax.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___04ae_fd47_ax25_20kick_20_3cax Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 61 78 32 35 20 6b 69 63 6b +R 00 00 01 00 +T 0b 00 00 00 20 3c 61 78 63 62 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04af_0003_ax25_20reset_20_3ca.rel b/src/nos/lib/messages_lib/04af_0003_ax25_20reset_20_3ca.rel new file mode 100644 index 00000000..b6027d5e --- /dev/null +++ b/src/nos/lib/messages_lib/04af_0003_ax25_20reset_20_3ca.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___04af_0003_ax25_20reset_20_3ca Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 61 78 32 35 20 72 65 73 65 +R 00 00 01 00 +T 0b 00 00 00 74 20 3c 61 78 63 62 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04af_2208_fs_5finit_28_29.rel b/src/nos/lib/messages_lib/04af_2208_fs_5finit_28_29.rel deleted file mode 100644 index ac153df8..00000000 --- a/src/nos/lib/messages_lib/04af_2208_fs_5finit_28_29.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___04af_2208_fs_5finit_28_29 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 66 73 5f 69 6e 69 74 28 29 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b0_88d9_fsp_200x_25x_20s_5f.rel b/src/nos/lib/messages_lib/04b0_88d9_fsp_200x_25x_20s_5f.rel deleted file mode 100644 index 4641e54f..00000000 --- a/src/nos/lib/messages_lib/04b0_88d9_fsp_200x_25x_20s_5f.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___04b0_88d9_fsp_200x_25x_20s_5f Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 66 73 70 20 30 78 25 78 20 -R 00 00 01 00 -T 0b 00 00 00 73 5f 6d 6f 75 6e 74 65 64 20 30 -R 00 00 01 00 -T 16 00 00 00 78 25 78 20 73 5f 64 65 76 20 25 -R 00 00 01 00 -T 21 00 00 00 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b0_9171_bad_20IP_20packet.rel b/src/nos/lib/messages_lib/04b0_9171_bad_20IP_20packet.rel new file mode 100644 index 00000000..fd6d86e9 --- /dev/null +++ b/src/nos/lib/messages_lib/04b0_9171_bad_20IP_20packet.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___04b0_9171_bad_20IP_20packet Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 62 61 64 20 49 50 20 70 61 +R 00 00 01 00 +T 0b 00 00 00 63 6b 65 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b1_7fbc_fstat.rel b/src/nos/lib/messages_lib/04b1_7fbc_fstat.rel deleted file mode 100644 index 4c4c6dee..00000000 --- a/src/nos/lib/messages_lib/04b1_7fbc_fstat.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___04b1_7fbc_fstat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 66 73 74 61 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b1_ca0a_bad_20destination_2.rel b/src/nos/lib/messages_lib/04b1_ca0a_bad_20destination_2.rel new file mode 100644 index 00000000..7acc519d --- /dev/null +++ b/src/nos/lib/messages_lib/04b1_ca0a_bad_20destination_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___04b1_ca0a_bad_20destination_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 62 61 64 20 64 65 73 74 69 +R 00 00 01 00 +T 0b 00 00 00 6e 61 74 69 6f 6e 20 63 61 6c 6c +R 00 00 01 00 +T 16 00 00 00 73 69 67 6e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b2_0e84_ftp.rel b/src/nos/lib/messages_lib/04b2_0e84_ftp.rel deleted file mode 100644 index 77fe5f78..00000000 --- a/src/nos/lib/messages_lib/04b2_0e84_ftp.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___04b2_0e84_ftp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 66 74 70 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b2_60d3_bad_20internet_20ad.rel b/src/nos/lib/messages_lib/04b2_60d3_bad_20internet_20ad.rel new file mode 100644 index 00000000..bdf9c926 --- /dev/null +++ b/src/nos/lib/messages_lib/04b2_60d3_bad_20internet_20ad.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___04b2_60d3_bad_20internet_20ad Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 62 61 64 20 69 6e 74 65 72 +R 00 00 01 00 +T 0b 00 00 00 6e 65 74 20 61 64 64 72 65 73 73 +R 00 00 01 00 +T 16 00 00 00 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b3_0a79_bad_20neighbor_20ca.rel b/src/nos/lib/messages_lib/04b3_0a79_bad_20neighbor_20ca.rel new file mode 100644 index 00000000..d76bf86a --- /dev/null +++ b/src/nos/lib/messages_lib/04b3_0a79_bad_20neighbor_20ca.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___04b3_0a79_bad_20neighbor_20ca Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 62 61 64 20 6e 65 69 67 68 +R 00 00 01 00 +T 0b 00 00 00 62 6f 72 20 63 61 6c 6c 73 69 67 +R 00 00 01 00 +T 16 00 00 00 6e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b3_bafd_ftp_20_3caddress_3e.rel b/src/nos/lib/messages_lib/04b3_bafd_ftp_20_3caddress_3e.rel deleted file mode 100644 index 38d5f7e5..00000000 --- a/src/nos/lib/messages_lib/04b3_bafd_ftp_20_3caddress_3e.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___04b3_bafd_ftp_20_3caddress_3e Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 66 74 70 20 3c 61 64 64 72 -R 00 00 01 00 -T 0b 00 00 00 65 73 73 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b4_4126_batch.rel b/src/nos/lib/messages_lib/04b4_4126_batch.rel new file mode 100644 index 00000000..8365f787 --- /dev/null +++ b/src/nos/lib/messages_lib/04b4_4126_batch.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___04b4_4126_batch Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 62 61 74 63 68 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b4_f999_ftp_3e_20syst_0a.rel b/src/nos/lib/messages_lib/04b4_f999_ftp_3e_20syst_0a.rel deleted file mode 100644 index 4ac59f26..00000000 --- a/src/nos/lib/messages_lib/04b4_f999_ftp_3e_20syst_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___04b4_f999_ftp_3e_20syst_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 66 74 70 3e 20 73 79 73 74 -R 00 00 01 00 -T 0b 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b5_51ba_garbage_20collectio.rel b/src/nos/lib/messages_lib/04b5_51ba_garbage_20collectio.rel deleted file mode 100644 index c0b99ad9..00000000 --- a/src/nos/lib/messages_lib/04b5_51ba_garbage_20collectio.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2a flags 0 -S ___04b5_51ba_garbage_20collectio Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 28 00 67 61 72 62 61 67 65 20 63 -R 00 00 01 00 -T 0b 00 00 00 6f 6c 6c 65 63 74 69 6f 6e 73 20 -R 00 00 01 00 -T 16 00 00 00 79 65 6c 6c 6f 77 20 25 6c 75 20 -R 00 00 01 00 -T 21 00 00 00 72 65 64 20 25 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b5_bcb6_bcnodes.rel b/src/nos/lib/messages_lib/04b5_bcb6_bcnodes.rel new file mode 100644 index 00000000..7641ebcb --- /dev/null +++ b/src/nos/lib/messages_lib/04b5_bcb6_bcnodes.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___04b5_bcb6_bcnodes Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 62 63 6e 6f 64 65 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b6_0c93_begin_20_2503o_20_2.rel b/src/nos/lib/messages_lib/04b6_0c93_begin_20_2503o_20_2.rel new file mode 100644 index 00000000..9f7f1423 --- /dev/null +++ b/src/nos/lib/messages_lib/04b6_0c93_begin_20_2503o_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___04b6_0c93_begin_20_2503o_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 62 65 67 69 6e 20 25 30 33 +R 00 00 01 00 +T 0b 00 00 00 6f 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b6_c2ce_gateway.rel b/src/nos/lib/messages_lib/04b6_c2ce_gateway.rel deleted file mode 100644 index 80029486..00000000 --- a/src/nos/lib/messages_lib/04b6_c2ce_gateway.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___04b6_c2ce_gateway Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 67 61 74 65 77 61 79 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b7_50c4_bfind_28_25u_2c_20_.rel b/src/nos/lib/messages_lib/04b7_50c4_bfind_28_25u_2c_20_.rel new file mode 100644 index 00000000..ba011fa3 --- /dev/null +++ b/src/nos/lib/messages_lib/04b7_50c4_bfind_28_25u_2c_20_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___04b7_50c4_bfind_28_25u_2c_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 62 66 69 6e 64 28 25 75 2c +R 00 00 01 00 +T 0b 00 00 00 20 25 75 29 20 73 74 61 72 74 69 +R 00 00 01 00 +T 16 00 00 00 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b7_9e35_get.rel b/src/nos/lib/messages_lib/04b7_9e35_get.rel deleted file mode 100644 index 327d497d..00000000 --- a/src/nos/lib/messages_lib/04b7_9e35_get.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___04b7_9e35_get Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 67 65 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b8_0a46_bfind_28_29_20retur.rel b/src/nos/lib/messages_lib/04b8_0a46_bfind_28_29_20retur.rel new file mode 100644 index 00000000..30fa3735 --- /dev/null +++ b/src/nos/lib/messages_lib/04b8_0a46_bfind_28_29_20retur.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2c flags 0 +S ___04b8_0a46_bfind_28_29_20retur Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2a 00 62 66 69 6e 64 28 29 20 72 +R 00 00 01 00 +T 0b 00 00 00 65 74 75 72 6e 69 6e 67 20 30 78 +R 00 00 01 00 +T 16 00 00 00 25 78 2c 20 66 6f 75 6e 64 20 28 +R 00 00 01 00 +T 21 00 00 00 69 6e 64 65 78 20 25 75 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b8_c7c0_get_20_3cremotefile.rel b/src/nos/lib/messages_lib/04b8_c7c0_get_20_3cremotefile.rel deleted file mode 100644 index f3b7ba6a..00000000 --- a/src/nos/lib/messages_lib/04b8_c7c0_get_20_3cremotefile.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___04b8_c7c0_get_20_3cremotefile Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 67 65 74 20 3c 72 65 6d 6f -R 00 00 01 00 -T 0b 00 00 00 74 65 66 69 6c 65 3e 20 3c 6c 6f -R 00 00 01 00 -T 16 00 00 00 63 61 6c 66 69 6c 65 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b9_60c5_getfsys.rel b/src/nos/lib/messages_lib/04b9_60c5_getfsys.rel deleted file mode 100644 index 14f4ebff..00000000 --- a/src/nos/lib/messages_lib/04b9_60c5_getfsys.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___04b9_60c5_getfsys Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 67 65 74 66 73 79 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04b9_f1cc_bfind_28_29_20retur.rel b/src/nos/lib/messages_lib/04b9_f1cc_bfind_28_29_20retur.rel new file mode 100644 index 00000000..edb15ce9 --- /dev/null +++ b/src/nos/lib/messages_lib/04b9_f1cc_bfind_28_29_20retur.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___04b9_f1cc_bfind_28_29_20retur Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 62 66 69 6e 64 28 29 20 72 +R 00 00 01 00 +T 0b 00 00 00 65 74 75 72 6e 69 6e 67 20 4e 55 +R 00 00 01 00 +T 16 00 00 00 4c 4c 2c 20 6e 6f 74 20 66 6f 75 +R 00 00 01 00 +T 21 00 00 00 6e 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ba_631b_getinode_3a_20bad_2.rel b/src/nos/lib/messages_lib/04ba_631b_getinode_3a_20bad_2.rel deleted file mode 100644 index 5d656b42..00000000 --- a/src/nos/lib/messages_lib/04ba_631b_getinode_3a_20bad_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___04ba_631b_getinode_3a_20bad_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 67 65 74 69 6e 6f 64 65 3a -R 00 00 01 00 -T 0b 00 00 00 20 62 61 64 20 6f 66 74 20 25 75 -R 00 00 01 00 -T 16 00 00 00 25 73 20 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ba_e2d4_bfree_28_29_20retur.rel b/src/nos/lib/messages_lib/04ba_e2d4_bfree_28_29_20retur.rel new file mode 100644 index 00000000..7608f73c --- /dev/null +++ b/src/nos/lib/messages_lib/04ba_e2d4_bfree_28_29_20retur.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___04ba_e2d4_bfree_28_29_20retur Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 62 66 72 65 65 28 29 20 72 +R 00 00 01 00 +T 0b 00 00 00 65 74 75 72 6e 69 6e 67 20 2d 31 +R 00 00 01 00 +T 16 00 00 00 2c 20 65 72 72 6f 72 20 25 75 0a +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04bb_7dac_getset.rel b/src/nos/lib/messages_lib/04bb_7dac_getset.rel deleted file mode 100644 index 0fe1534b..00000000 --- a/src/nos/lib/messages_lib/04bb_7dac_getset.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___04bb_7dac_getset Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 67 65 74 73 65 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04bb_e703_bfree_28_29_20retur.rel b/src/nos/lib/messages_lib/04bb_e703_bfree_28_29_20retur.rel new file mode 100644 index 00000000..5c0c210c --- /dev/null +++ b/src/nos/lib/messages_lib/04bb_e703_bfree_28_29_20retur.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___04bb_e703_bfree_28_29_20retur Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 62 66 72 65 65 28 29 20 72 +R 00 00 01 00 +T 0b 00 00 00 65 74 75 72 6e 69 6e 67 20 30 2c +R 00 00 01 00 +T 16 00 00 00 20 73 75 63 63 65 73 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04bc_4466_bfree_280x_25x_2c_2.rel b/src/nos/lib/messages_lib/04bc_4466_bfree_280x_25x_2c_2.rel new file mode 100644 index 00000000..9394590a --- /dev/null +++ b/src/nos/lib/messages_lib/04bc_4466_bfree_280x_25x_2c_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___04bc_4466_bfree_280x_25x_2c_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 62 66 72 65 65 28 30 78 25 +R 00 00 01 00 +T 0b 00 00 00 78 2c 20 25 75 29 20 73 74 61 72 +R 00 00 01 00 +T 16 00 00 00 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04bc_74d1_getting_20block_20_.rel b/src/nos/lib/messages_lib/04bc_74d1_getting_20block_20_.rel deleted file mode 100644 index 3f6a84f1..00000000 --- a/src/nos/lib/messages_lib/04bc_74d1_getting_20block_20_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___04bc_74d1_getting_20block_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 67 65 74 74 69 6e 67 20 62 -R 00 00 01 00 -T 0b 00 00 00 6c 6f 63 6b 20 25 64 20 2d 3e 20 -R 00 00 01 00 -T 16 00 00 00 25 64 2c 20 65 72 72 6e 6f 20 3d -R 00 00 01 00 -T 21 00 00 00 20 25 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04bd_3245_binary.rel b/src/nos/lib/messages_lib/04bd_3245_binary.rel new file mode 100644 index 00000000..7170ef9a --- /dev/null +++ b/src/nos/lib/messages_lib/04bd_3245_binary.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___04bd_3245_binary Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 62 69 6e 61 72 79 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04bd_b3cb_groups.rel b/src/nos/lib/messages_lib/04bd_b3cb_groups.rel deleted file mode 100644 index f808413e..00000000 --- a/src/nos/lib/messages_lib/04bd_b3cb_groups.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___04bd_b3cb_groups Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 67 72 6f 75 70 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04be_156e_hash.rel b/src/nos/lib/messages_lib/04be_156e_hash.rel deleted file mode 100644 index e561fe4a..00000000 --- a/src/nos/lib/messages_lib/04be_156e_hash.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___04be_156e_hash Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 68 61 73 68 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04be_4c4f_blimit.rel b/src/nos/lib/messages_lib/04be_4c4f_blimit.rel new file mode 100644 index 00000000..1f861ece --- /dev/null +++ b/src/nos/lib/messages_lib/04be_4c4f_blimit.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___04be_4c4f_blimit Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 62 6c 69 6d 69 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04bf_5bc8_heap_20size_20_25lu.rel b/src/nos/lib/messages_lib/04bf_5bc8_heap_20size_20_25lu.rel deleted file mode 100644 index aa36e014..00000000 --- a/src/nos/lib/messages_lib/04bf_5bc8_heap_20size_20_25lu.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 31 flags 0 -S ___04bf_5bc8_heap_20size_20_25lu Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2f 00 68 65 61 70 20 73 69 7a 65 -R 00 00 01 00 -T 0b 00 00 00 20 25 6c 75 20 61 76 61 69 6c 20 -R 00 00 01 00 -T 16 00 00 00 25 6c 75 20 28 25 6c 75 25 25 29 -R 00 00 01 00 -T 21 00 00 00 20 6d 6f 72 65 63 6f 72 65 73 20 -R 00 00 01 00 -T 2c 00 00 00 25 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04bf_c307_blk_5falloc_28_29_2.rel b/src/nos/lib/messages_lib/04bf_c307_blk_5falloc_28_29_2.rel new file mode 100644 index 00000000..85a7c419 --- /dev/null +++ b/src/nos/lib/messages_lib/04bf_c307_blk_5falloc_28_29_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___04bf_c307_blk_5falloc_28_29_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 62 6c 6b 5f 61 6c 6c 6f 63 +R 00 00 01 00 +T 0b 00 00 00 28 29 20 72 65 74 75 72 6e 69 6e +R 00 00 01 00 +T 16 00 00 00 67 20 30 2c 20 65 72 72 6f 72 20 +R 00 00 01 00 +T 21 00 00 00 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c0_856f_heard.rel b/src/nos/lib/messages_lib/04c0_856f_heard.rel deleted file mode 100644 index 1640b4f3..00000000 --- a/src/nos/lib/messages_lib/04c0_856f_heard.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___04c0_856f_heard Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 68 65 61 72 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c0_b0c8_bmap_28_29_20return.rel b/src/nos/lib/messages_lib/04c0_b0c8_bmap_28_29_20return.rel new file mode 100644 index 00000000..37676449 --- /dev/null +++ b/src/nos/lib/messages_lib/04c0_b0c8_bmap_28_29_20return.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___04c0_b0c8_bmap_28_29_20return Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 62 6d 61 70 28 29 20 72 65 +R 00 00 01 00 +T 0b 00 00 00 74 75 72 6e 69 6e 67 20 25 75 2c +R 00 00 01 00 +T 16 00 00 00 20 64 69 72 65 63 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c1_bbcb_bmap_28_29_20return.rel b/src/nos/lib/messages_lib/04c1_bbcb_bmap_28_29_20return.rel new file mode 100644 index 00000000..c375311e --- /dev/null +++ b/src/nos/lib/messages_lib/04c1_bbcb_bmap_28_29_20return.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___04c1_bbcb_bmap_28_29_20return Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 62 6d 61 70 28 29 20 72 65 +R 00 00 01 00 +T 0b 00 00 00 74 75 72 6e 69 6e 67 20 25 75 2c +R 00 00 01 00 +T 16 00 00 00 20 73 75 63 63 65 73 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c1_fc9f_help.rel b/src/nos/lib/messages_lib/04c1_fc9f_help.rel deleted file mode 100644 index 20af1163..00000000 --- a/src/nos/lib/messages_lib/04c1_fc9f_help.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___04c1_fc9f_help Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 68 65 6c 70 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c2_1d5e_homedir.rel b/src/nos/lib/messages_lib/04c2_1d5e_homedir.rel deleted file mode 100644 index 377e2d15..00000000 --- a/src/nos/lib/messages_lib/04c2_1d5e_homedir.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___04c2_1d5e_homedir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 68 6f 6d 65 64 69 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c2_46ee_bmap_28_29_20return.rel b/src/nos/lib/messages_lib/04c2_46ee_bmap_28_29_20return.rel new file mode 100644 index 00000000..f81facd6 --- /dev/null +++ b/src/nos/lib/messages_lib/04c2_46ee_bmap_28_29_20return.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___04c2_46ee_bmap_28_29_20return Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 62 6d 61 70 28 29 20 72 65 +R 00 00 01 00 +T 0b 00 00 00 74 75 72 6e 69 6e 67 20 4e 55 4c +R 00 00 01 00 +T 16 00 00 00 4c 42 4c 4b 2c 20 65 72 72 6f 72 +R 00 00 01 00 +T 21 00 00 00 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c3_6fa6_hop.rel b/src/nos/lib/messages_lib/04c3_6fa6_hop.rel deleted file mode 100644 index 4a2ee935..00000000 --- a/src/nos/lib/messages_lib/04c3_6fa6_hop.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___04c3_6fa6_hop Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 68 6f 70 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c3_7681_bmap_280x_25x_2c_20.rel b/src/nos/lib/messages_lib/04c3_7681_bmap_280x_25x_2c_20.rel new file mode 100644 index 00000000..4b6e8ed7 --- /dev/null +++ b/src/nos/lib/messages_lib/04c3_7681_bmap_280x_25x_2c_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___04c3_7681_bmap_280x_25x_2c_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 62 6d 61 70 28 30 78 25 78 +R 00 00 01 00 +T 0b 00 00 00 2c 20 25 75 2c 20 25 75 29 20 73 +R 00 00 01 00 +T 16 00 00 00 74 61 72 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c4_df98_host.rel b/src/nos/lib/messages_lib/04c4_df98_host.rel deleted file mode 100644 index e04fb797..00000000 --- a/src/nos/lib/messages_lib/04c4_df98_host.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___04c4_df98_host Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 68 6f 73 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c4_ff8d_bootp_20_5bnet_5fna.rel b/src/nos/lib/messages_lib/04c4_ff8d_bootp_20_5bnet_5fna.rel new file mode 100644 index 00000000..97f90b11 --- /dev/null +++ b/src/nos/lib/messages_lib/04c4_ff8d_bootp_20_5bnet_5fna.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___04c4_ff8d_bootp_20_5bnet_5fna Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 62 6f 6f 74 70 20 5b 6e 65 +R 00 00 01 00 +T 0b 00 00 00 74 5f 6e 61 6d 65 5d 20 5b 73 69 +R 00 00 01 00 +T 16 00 00 00 6c 65 6e 74 5d 20 5b 6e 6f 69 73 +R 00 00 01 00 +T 21 00 00 00 79 5d 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c5_0e8f_bootp_3a_20Net_5fer.rel b/src/nos/lib/messages_lib/04c5_0e8f_bootp_3a_20Net_5fer.rel new file mode 100644 index 00000000..d91d049a --- /dev/null +++ b/src/nos/lib/messages_lib/04c5_0e8f_bootp_3a_20Net_5fer.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___04c5_0e8f_bootp_3a_20Net_5fer Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 62 6f 6f 74 70 3a 20 4e 65 +R 00 00 01 00 +T 0b 00 00 00 74 5f 65 72 72 6f 72 20 25 64 2c +R 00 00 01 00 +T 16 00 00 00 20 6e 6f 20 76 61 6c 75 65 73 20 +R 00 00 01 00 +T 21 00 00 00 73 65 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c5_476e_hostname.rel b/src/nos/lib/messages_lib/04c5_476e_hostname.rel deleted file mode 100644 index f26f5d03..00000000 --- a/src/nos/lib/messages_lib/04c5_476e_hostname.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___04c5_476e_hostname Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 68 6f 73 74 6e 61 6d 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c6_001d_i_5fopen_28_25u_2c_.rel b/src/nos/lib/messages_lib/04c6_001d_i_5fopen_28_25u_2c_.rel deleted file mode 100644 index c638dc48..00000000 --- a/src/nos/lib/messages_lib/04c6_001d_i_5fopen_28_25u_2c_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___04c6_001d_i_5fopen_28_25u_2c_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 69 5f 6f 70 65 6e 28 25 75 -R 00 00 01 00 -T 0b 00 00 00 2c 20 25 75 29 20 73 74 61 72 74 -R 00 00 01 00 -T 16 00 00 00 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c6_f5d9_bootp_3a_20timed_20.rel b/src/nos/lib/messages_lib/04c6_f5d9_bootp_3a_20timed_20.rel new file mode 100644 index 00000000..3a3a7678 --- /dev/null +++ b/src/nos/lib/messages_lib/04c6_f5d9_bootp_3a_20timed_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___04c6_f5d9_bootp_3a_20timed_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 62 6f 6f 74 70 3a 20 74 69 +R 00 00 01 00 +T 0b 00 00 00 6d 65 64 20 6f 75 74 2c 20 76 61 +R 00 00 01 00 +T 16 00 00 00 6c 75 65 73 20 6e 6f 74 20 73 65 +R 00 00 01 00 +T 21 00 00 00 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c7_72d6_bp_20_25lx_20tot_20.rel b/src/nos/lib/messages_lib/04c7_72d6_bp_20_25lx_20tot_20.rel new file mode 100644 index 00000000..467b38c4 --- /dev/null +++ b/src/nos/lib/messages_lib/04c7_72d6_bp_20_25lx_20tot_20.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 38 flags 0 +S ___04c7_72d6_bp_20_25lx_20tot_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 36 00 62 70 20 25 6c 78 20 74 6f +R 00 00 01 00 +T 0b 00 00 00 74 20 73 69 7a 20 25 75 20 64 61 +R 00 00 01 00 +T 16 00 00 00 74 61 20 25 6c 78 20 63 6e 74 20 +R 00 00 01 00 +T 21 00 00 00 25 75 20 6e 65 78 74 20 25 6c 78 +R 00 00 01 00 +T 2c 00 00 00 20 61 6e 65 78 74 20 25 6c 78 0a +R 00 00 01 00 +T 37 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c7_e51c_i_5fopen_28_29_20re.rel b/src/nos/lib/messages_lib/04c7_e51c_i_5fopen_28_29_20re.rel deleted file mode 100644 index a892c168..00000000 --- a/src/nos/lib/messages_lib/04c7_e51c_i_5fopen_28_29_20re.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___04c7_e51c_i_5fopen_28_29_20re Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 69 5f 6f 70 65 6e 28 29 20 -R 00 00 01 00 -T 0b 00 00 00 72 65 74 75 72 6e 69 6e 67 20 30 -R 00 00 01 00 -T 16 00 00 00 78 25 78 2c 20 73 75 63 63 65 73 -R 00 00 01 00 -T 21 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c8_64fb_i_5fopen_28_29_20re.rel b/src/nos/lib/messages_lib/04c8_64fb_i_5fopen_28_29_20re.rel deleted file mode 100644 index 6a3ee19e..00000000 --- a/src/nos/lib/messages_lib/04c8_64fb_i_5fopen_28_29_20re.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___04c8_64fb_i_5fopen_28_29_20re Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 69 5f 6f 70 65 6e 28 29 20 -R 00 00 01 00 -T 0b 00 00 00 72 65 74 75 72 6e 69 6e 67 20 4e -R 00 00 01 00 -T 16 00 00 00 55 4c 4c 2c 20 65 72 72 6f 72 20 -R 00 00 01 00 -T 21 00 00 00 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c8_88ea_bread_28_25u_2c_20_.rel b/src/nos/lib/messages_lib/04c8_88ea_bread_28_25u_2c_20_.rel new file mode 100644 index 00000000..99b92f2d --- /dev/null +++ b/src/nos/lib/messages_lib/04c8_88ea_bread_28_25u_2c_20_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___04c8_88ea_bread_28_25u_2c_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 62 72 65 61 64 28 25 75 2c +R 00 00 01 00 +T 0b 00 00 00 20 25 75 2c 20 25 75 29 20 73 74 +R 00 00 01 00 +T 16 00 00 00 61 72 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c9_2f25_icmp.rel b/src/nos/lib/messages_lib/04c9_2f25_icmp.rel deleted file mode 100644 index 054a8135..00000000 --- a/src/nos/lib/messages_lib/04c9_2f25_icmp.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___04c9_2f25_icmp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 69 63 6d 70 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04c9_89e2_bread_28_29_20retur.rel b/src/nos/lib/messages_lib/04c9_89e2_bread_28_29_20retur.rel new file mode 100644 index 00000000..854edec2 --- /dev/null +++ b/src/nos/lib/messages_lib/04c9_89e2_bread_28_29_20retur.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___04c9_89e2_bread_28_29_20retur Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 62 72 65 61 64 28 29 20 72 +R 00 00 01 00 +T 0b 00 00 00 65 74 75 72 6e 69 6e 67 20 30 78 +R 00 00 01 00 +T 16 00 00 00 25 78 2c 20 73 75 63 63 65 73 73 +R 00 00 01 00 +T 21 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ca_7a66_bread_28_29_20retur.rel b/src/nos/lib/messages_lib/04ca_7a66_bread_28_29_20retur.rel new file mode 100644 index 00000000..a8fb534e --- /dev/null +++ b/src/nos/lib/messages_lib/04ca_7a66_bread_28_29_20retur.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___04ca_7a66_bread_28_29_20retur Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 62 72 65 61 64 28 29 20 72 +R 00 00 01 00 +T 0b 00 00 00 65 74 75 72 6e 69 6e 67 20 4e 55 +R 00 00 01 00 +T 16 00 00 00 4c 4c 2c 20 65 72 72 6f 72 20 25 +R 00 00 01 00 +T 21 00 00 00 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ca_dd41_ident.rel b/src/nos/lib/messages_lib/04ca_dd41_ident.rel deleted file mode 100644 index 4b658b41..00000000 --- a/src/nos/lib/messages_lib/04ca_dd41_ident.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___04ca_dd41_ident Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 69 64 65 6e 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04cb_9767_brk.rel b/src/nos/lib/messages_lib/04cb_9767_brk.rel new file mode 100644 index 00000000..343531d5 --- /dev/null +++ b/src/nos/lib/messages_lib/04cb_9767_brk.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___04cb_9767_brk Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 62 72 6b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04cb_fe83_ifconfig.rel b/src/nos/lib/messages_lib/04cb_fe83_ifconfig.rel deleted file mode 100644 index 2cb85181..00000000 --- a/src/nos/lib/messages_lib/04cb_fe83_ifconfig.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___04cb_fe83_ifconfig Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 69 66 63 6f 6e 66 69 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04cc_6196_ignored_20_28hold_2.rel b/src/nos/lib/messages_lib/04cc_6196_ignored_20_28hold_2.rel deleted file mode 100644 index 56a44b05..00000000 --- a/src/nos/lib/messages_lib/04cc_6196_ignored_20_28hold_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___04cc_6196_ignored_20_28hold_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 69 67 6e 6f 72 65 64 20 28 -R 00 00 01 00 -T 0b 00 00 00 68 6f 6c 64 2d 64 6f 77 6e 29 3a -R 00 00 01 00 -T 16 00 00 00 20 25 73 20 25 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04cc_f951_broadcast.rel b/src/nos/lib/messages_lib/04cc_f951_broadcast.rel new file mode 100644 index 00000000..b3d8f4e0 --- /dev/null +++ b/src/nos/lib/messages_lib/04cc_f951_broadcast.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___04cc_f951_broadcast Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 62 72 6f 61 64 63 61 73 74 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04cd_03ff_bsr.rel b/src/nos/lib/messages_lib/04cd_03ff_bsr.rel new file mode 100644 index 00000000..c2105833 --- /dev/null +++ b/src/nos/lib/messages_lib/04cd_03ff_bsr.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___04cd_03ff_bsr Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 62 73 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04cd_dc84_info.rel b/src/nos/lib/messages_lib/04cd_dc84_info.rel deleted file mode 100644 index bdcf8202..00000000 --- a/src/nos/lib/messages_lib/04cd_dc84_info.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___04cd_dc84_info Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 69 6e 66 6f 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ce_0500_input_20line_3a_20_.rel b/src/nos/lib/messages_lib/04ce_0500_input_20line_3a_20_.rel deleted file mode 100644 index 8bdf5c5f..00000000 --- a/src/nos/lib/messages_lib/04ce_0500_input_20line_3a_20_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___04ce_0500_input_20line_3a_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 69 6e 70 75 74 20 6c 69 6e -R 00 00 01 00 -T 0b 00 00 00 65 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ce_d194_bufsync_28_29_20ret.rel b/src/nos/lib/messages_lib/04ce_d194_bufsync_28_29_20ret.rel new file mode 100644 index 00000000..98f79455 --- /dev/null +++ b/src/nos/lib/messages_lib/04ce_d194_bufsync_28_29_20ret.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___04ce_d194_bufsync_28_29_20ret Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 62 75 66 73 79 6e 63 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04cf_606b_bufsync_28_29_20sta.rel b/src/nos/lib/messages_lib/04cf_606b_bufsync_28_29_20sta.rel new file mode 100644 index 00000000..08453d97 --- /dev/null +++ b/src/nos/lib/messages_lib/04cf_606b_bufsync_28_29_20sta.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___04cf_606b_bufsync_28_29_20sta Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 62 75 66 73 79 6e 63 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 73 74 61 72 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04cf_9677_interface.rel b/src/nos/lib/messages_lib/04cf_9677_interface.rel deleted file mode 100644 index 50676994..00000000 --- a/src/nos/lib/messages_lib/04cf_9677_interface.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___04cf_9677_interface Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 69 6e 74 65 72 66 61 63 65 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d0_3fa5_ioctl.rel b/src/nos/lib/messages_lib/04d0_3fa5_ioctl.rel deleted file mode 100644 index f575fe1a..00000000 --- a/src/nos/lib/messages_lib/04d0_3fa5_ioctl.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___04d0_3fa5_ioctl Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 69 6f 63 74 6c 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d0_83e6_by_20_25s_20_28_25s.rel b/src/nos/lib/messages_lib/04d0_83e6_by_20_25s_20_28_25s.rel new file mode 100644 index 00000000..1cd38720 --- /dev/null +++ b/src/nos/lib/messages_lib/04d0_83e6_by_20_25s_20_28_25s.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___04d0_83e6_by_20_25s_20_28_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 62 79 20 25 73 20 28 25 73 +R 00 00 01 00 +T 0b 00 00 00 29 0a 09 69 64 20 41 41 25 6c 64 +R 00 00 01 00 +T 16 00 00 00 20 3b 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d1_3172_ip.rel b/src/nos/lib/messages_lib/04d1_3172_ip.rel deleted file mode 100644 index c9f9abf0..00000000 --- a/src/nos/lib/messages_lib/04d1_3172_ip.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5 flags 0 -S ___04d1_3172_ip Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 03 00 69 70 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d1_69f3_by_20_25s_20with_20.rel b/src/nos/lib/messages_lib/04d1_69f3_by_20_25s_20with_20.rel new file mode 100644 index 00000000..be84245d --- /dev/null +++ b/src/nos/lib/messages_lib/04d1_69f3_by_20_25s_20with_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___04d1_69f3_by_20_25s_20with_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 62 79 20 25 73 20 77 69 74 +R 00 00 01 00 +T 0b 00 00 00 68 20 53 4d 54 50 0a 09 69 64 20 +R 00 00 01 00 +T 16 00 00 00 41 41 25 6c 64 20 3b 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d2_9ab1_bye.rel b/src/nos/lib/messages_lib/04d2_9ab1_bye.rel new file mode 100644 index 00000000..af89f3c4 --- /dev/null +++ b/src/nos/lib/messages_lib/04d2_9ab1_bye.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___04d2_9ab1_bye Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 62 79 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d2_d229_ip_5frecv_28_25s_29.rel b/src/nos/lib/messages_lib/04d2_d229_ip_5frecv_28_25s_29.rel deleted file mode 100644 index b1426f28..00000000 --- a/src/nos/lib/messages_lib/04d2_d229_ip_5frecv_28_25s_29.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___04d2_d229_ip_5frecv_28_25s_29 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 69 70 5f 72 65 63 76 28 25 -R 00 00 01 00 -T 0b 00 00 00 73 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d3_289f_ip_5fsend_0a.rel b/src/nos/lib/messages_lib/04d3_289f_ip_5fsend_0a.rel deleted file mode 100644 index 0b8a02bb..00000000 --- a/src/nos/lib/messages_lib/04d3_289f_ip_5fsend_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___04d3_289f_ip_5fsend_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 69 70 5f 73 65 6e 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d3_7cbf_cache.rel b/src/nos/lib/messages_lib/04d3_7cbf_cache.rel new file mode 100644 index 00000000..08913c32 --- /dev/null +++ b/src/nos/lib/messages_lib/04d3_7cbf_cache.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___04d3_7cbf_cache Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 63 61 63 68 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d4_0191_ipaddress.rel b/src/nos/lib/messages_lib/04d4_0191_ipaddress.rel deleted file mode 100644 index 30d183b8..00000000 --- a/src/nos/lib/messages_lib/04d4_0191_ipaddress.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___04d4_0191_ipaddress Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 69 70 61 64 64 72 65 73 73 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d4_a3a9_can_27t_20read_20_2.rel b/src/nos/lib/messages_lib/04d4_a3a9_can_27t_20read_20_2.rel new file mode 100644 index 00000000..92853844 --- /dev/null +++ b/src/nos/lib/messages_lib/04d4_a3a9_can_27t_20read_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___04d4_a3a9_can_27t_20read_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 63 61 6e 27 74 20 72 65 61 +R 00 00 01 00 +T 0b 00 00 00 64 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d5_dfc4_ipcp.rel b/src/nos/lib/messages_lib/04d5_dfc4_ipcp.rel deleted file mode 100644 index 7258b1df..00000000 --- a/src/nos/lib/messages_lib/04d5_dfc4_ipcp.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___04d5_dfc4_ipcp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 69 70 63 70 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d5_f4b4_can_27t_20trace_20i.rel b/src/nos/lib/messages_lib/04d5_f4b4_can_27t_20trace_20i.rel new file mode 100644 index 00000000..d7ededc8 --- /dev/null +++ b/src/nos/lib/messages_lib/04d5_f4b4_can_27t_20trace_20i.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___04d5_f4b4_can_27t_20trace_20i Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 63 61 6e 27 74 20 74 72 61 +R 00 00 01 00 +T 0b 00 00 00 63 65 20 69 6e 76 61 6c 69 64 20 +R 00 00 01 00 +T 16 00 00 00 73 79 73 63 61 6c 6c 20 69 6e 64 +R 00 00 01 00 +T 21 00 00 00 65 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d6_9aa7_cd.rel b/src/nos/lib/messages_lib/04d6_9aa7_cd.rel new file mode 100644 index 00000000..0da2996d --- /dev/null +++ b/src/nos/lib/messages_lib/04d6_9aa7_cd.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 5 flags 0 +S ___04d6_9aa7_cd Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 03 00 63 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d6_f4c1_irtt.rel b/src/nos/lib/messages_lib/04d6_f4c1_irtt.rel deleted file mode 100644 index c42e37ce..00000000 --- a/src/nos/lib/messages_lib/04d6_f4c1_irtt.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___04d6_f4c1_irtt Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 69 72 74 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d7_42c2_cd_20_3cdirectory_3.rel b/src/nos/lib/messages_lib/04d7_42c2_cd_20_3cdirectory_3.rel new file mode 100644 index 00000000..55e9f159 --- /dev/null +++ b/src/nos/lib/messages_lib/04d7_42c2_cd_20_3cdirectory_3.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___04d7_42c2_cd_20_3cdirectory_3 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 63 64 20 3c 64 69 72 65 63 +R 00 00 01 00 +T 0b 00 00 00 74 6f 72 79 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d7_516b_kick.rel b/src/nos/lib/messages_lib/04d7_516b_kick.rel deleted file mode 100644 index 901f176e..00000000 --- a/src/nos/lib/messages_lib/04d7_516b_kick.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___04d7_516b_kick Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 6b 69 63 6b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d8_8b51_ch_5flink_28_29_20r.rel b/src/nos/lib/messages_lib/04d8_8b51_ch_5flink_28_29_20r.rel new file mode 100644 index 00000000..a7c3582b --- /dev/null +++ b/src/nos/lib/messages_lib/04d8_8b51_ch_5flink_28_29_20r.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___04d8_8b51_ch_5flink_28_29_20r Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 63 68 5f 6c 69 6e 6b 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 30 2c 20 65 72 72 6f 72 20 25 75 +R 00 00 01 00 +T 21 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d8_a61c_kill.rel b/src/nos/lib/messages_lib/04d8_a61c_kill.rel deleted file mode 100644 index f84c8936..00000000 --- a/src/nos/lib/messages_lib/04d8_a61c_kill.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___04d8_a61c_kill Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 6b 69 6c 6c 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d9_30ce_ch_5flink_28_29_20r.rel b/src/nos/lib/messages_lib/04d9_30ce_ch_5flink_28_29_20r.rel new file mode 100644 index 00000000..ce926c08 --- /dev/null +++ b/src/nos/lib/messages_lib/04d9_30ce_ch_5flink_28_29_20r.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___04d9_30ce_ch_5flink_28_29_20r Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 63 68 5f 6c 69 6e 6b 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 31 2c 20 73 75 63 63 65 73 73 0a +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04d9_ff9f_kill_20_3cjobnumber.rel b/src/nos/lib/messages_lib/04d9_ff9f_kill_20_3cjobnumber.rel deleted file mode 100644 index 4a09df5a..00000000 --- a/src/nos/lib/messages_lib/04d9_ff9f_kill_20_3cjobnumber.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___04d9_ff9f_kill_20_3cjobnumber Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 6b 69 6c 6c 20 3c 6a 6f 62 -R 00 00 01 00 -T 0b 00 00 00 6e 75 6d 62 65 72 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04da_5e27_ksigs_20_25lu_20que.rel b/src/nos/lib/messages_lib/04da_5e27_ksigs_20_25lu_20que.rel deleted file mode 100644 index b9c7a7da..00000000 --- a/src/nos/lib/messages_lib/04da_5e27_ksigs_20_25lu_20que.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3c flags 0 -S ___04da_5e27_ksigs_20_25lu_20que Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 3a 00 6b 73 69 67 73 20 25 6c 75 -R 00 00 01 00 -T 0b 00 00 00 20 71 75 65 75 65 64 20 25 6c 75 -R 00 00 01 00 -T 16 00 00 00 20 68 69 77 61 74 20 25 75 20 77 -R 00 00 01 00 -T 21 00 00 00 6f 6b 65 6e 20 25 6c 75 20 6e 6f -R 00 00 01 00 -T 2c 00 00 00 70 73 20 25 6c 75 20 64 75 70 73 -R 00 00 01 00 -T 37 00 00 00 20 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04da_7c72_ch_5flink_280x_25x_.rel b/src/nos/lib/messages_lib/04da_7c72_ch_5flink_280x_25x_.rel new file mode 100644 index 00000000..07eb0aad --- /dev/null +++ b/src/nos/lib/messages_lib/04da_7c72_ch_5flink_280x_25x_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2c flags 0 +S ___04da_7c72_ch_5flink_280x_25x_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2a 00 63 68 5f 6c 69 6e 6b 28 30 +R 00 00 01 00 +T 0b 00 00 00 78 25 78 2c 20 22 25 73 22 2c 20 +R 00 00 01 00 +T 16 00 00 00 22 25 73 22 2c 20 30 78 25 78 29 +R 00 00 01 00 +T 21 00 00 00 20 73 74 61 72 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04db_1bbe_kwaits_20_25lu_20no.rel b/src/nos/lib/messages_lib/04db_1bbe_kwaits_20_25lu_20no.rel deleted file mode 100644 index ca1923f1..00000000 --- a/src/nos/lib/messages_lib/04db_1bbe_kwaits_20_25lu_20no.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___04db_1bbe_kwaits_20_25lu_20no Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 6b 77 61 69 74 73 20 25 6c -R 00 00 01 00 -T 0b 00 00 00 75 20 6e 6f 70 73 20 25 6c 75 20 -R 00 00 01 00 -T 16 00 00 00 66 72 6f 6d 20 69 6e 74 20 25 6c -R 00 00 01 00 -T 21 00 00 00 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04db_35a9_chat.rel b/src/nos/lib/messages_lib/04db_35a9_chat.rel new file mode 100644 index 00000000..a1e3771a --- /dev/null +++ b/src/nos/lib/messages_lib/04db_35a9_chat.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___04db_35a9_chat Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 63 68 61 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04dc_743f_chdir.rel b/src/nos/lib/messages_lib/04dc_743f_chdir.rel new file mode 100644 index 00000000..9ee161d3 --- /dev/null +++ b/src/nos/lib/messages_lib/04dc_743f_chdir.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___04dc_743f_chdir Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 63 68 64 69 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04dc_a567_lcp.rel b/src/nos/lib/messages_lib/04dc_a567_lcp.rel deleted file mode 100644 index 0d3dbbd9..00000000 --- a/src/nos/lib/messages_lib/04dc_a567_lcp.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___04dc_a567_lcp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 6c 63 70 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04dd_5ed3_check.rel b/src/nos/lib/messages_lib/04dd_5ed3_check.rel new file mode 100644 index 00000000..1309f45f --- /dev/null +++ b/src/nos/lib/messages_lib/04dd_5ed3_check.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___04dd_5ed3_check Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 63 68 65 63 6b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04dd_b632_link.rel b/src/nos/lib/messages_lib/04dd_b632_link.rel deleted file mode 100644 index a04e08ff..00000000 --- a/src/nos/lib/messages_lib/04dd_b632_link.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___04dd_b632_link Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 6c 69 6e 6b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04de_40b3_check_20_3chost_3e.rel b/src/nos/lib/messages_lib/04de_40b3_check_20_3chost_3e.rel new file mode 100644 index 00000000..c49a2ca9 --- /dev/null +++ b/src/nos/lib/messages_lib/04de_40b3_check_20_3chost_3e.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___04de_40b3_check_20_3chost_3e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 63 68 65 63 6b 20 3c 68 6f +R 00 00 01 00 +T 0b 00 00 00 73 74 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04de_dfe4_linkaddress.rel b/src/nos/lib/messages_lib/04de_dfe4_linkaddress.rel deleted file mode 100644 index 7ac422fe..00000000 --- a/src/nos/lib/messages_lib/04de_dfe4_linkaddress.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___04de_dfe4_linkaddress Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 6c 69 6e 6b 61 64 64 72 65 -R 00 00 01 00 -T 0b 00 00 00 73 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04df_4a64_checksum_20error.rel b/src/nos/lib/messages_lib/04df_4a64_checksum_20error.rel new file mode 100644 index 00000000..7121c213 --- /dev/null +++ b/src/nos/lib/messages_lib/04df_4a64_checksum_20error.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___04df_4a64_checksum_20error Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 63 68 65 63 6b 73 75 6d 20 +R 00 00 01 00 +T 0b 00 00 00 65 72 72 6f 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04df_7bad_list.rel b/src/nos/lib/messages_lib/04df_7bad_list.rel deleted file mode 100644 index ee3c91b2..00000000 --- a/src/nos/lib/messages_lib/04df_7bad_list.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___04df_7bad_list Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 6c 69 73 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e0_4346_listen.rel b/src/nos/lib/messages_lib/04e0_4346_listen.rel deleted file mode 100644 index 9d3c07d9..00000000 --- a/src/nos/lib/messages_lib/04e0_4346_listen.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___04e0_4346_listen Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 6c 69 73 74 65 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e0_c946_chmod.rel b/src/nos/lib/messages_lib/04e0_c946_chmod.rel new file mode 100644 index 00000000..8ba2bbd4 --- /dev/null +++ b/src/nos/lib/messages_lib/04e0_c946_chmod.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___04e0_c946_chmod Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 63 68 6d 6f 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e1_a5dd_listservers.rel b/src/nos/lib/messages_lib/04e1_a5dd_listservers.rel deleted file mode 100644 index 57b6b0c5..00000000 --- a/src/nos/lib/messages_lib/04e1_a5dd_listservers.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___04e1_a5dd_listservers Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 6c 69 73 74 73 65 72 76 65 -R 00 00 01 00 -T 0b 00 00 00 72 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e1_b786_choketime.rel b/src/nos/lib/messages_lib/04e1_b786_choketime.rel new file mode 100644 index 00000000..7efd64c1 --- /dev/null +++ b/src/nos/lib/messages_lib/04e1_b786_choketime.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___04e1_b786_choketime Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 63 68 6f 6b 65 74 69 6d 65 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e2_88f5_chown.rel b/src/nos/lib/messages_lib/04e2_88f5_chown.rel new file mode 100644 index 00000000..ab866d56 --- /dev/null +++ b/src/nos/lib/messages_lib/04e2_88f5_chown.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___04e2_88f5_chown Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 63 68 6f 77 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e2_f2d8_local.rel b/src/nos/lib/messages_lib/04e2_f2d8_local.rel deleted file mode 100644 index d6df5c41..00000000 --- a/src/nos/lib/messages_lib/04e2_f2d8_local.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___04e2_f2d8_local Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 6c 6f 63 61 6c 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e3_68f9_log.rel b/src/nos/lib/messages_lib/04e3_68f9_log.rel deleted file mode 100644 index 50d2c2ac..00000000 --- a/src/nos/lib/messages_lib/04e3_68f9_log.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___04e3_68f9_log Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 6c 6f 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e3_87a8_chroot.rel b/src/nos/lib/messages_lib/04e3_87a8_chroot.rel new file mode 100644 index 00000000..5c866a11 --- /dev/null +++ b/src/nos/lib/messages_lib/04e3_87a8_chroot.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___04e3_87a8_chroot Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 63 68 72 6f 6f 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e4_4822_clean.rel b/src/nos/lib/messages_lib/04e4_4822_clean.rel new file mode 100644 index 00000000..d76bb446 --- /dev/null +++ b/src/nos/lib/messages_lib/04e4_4822_clean.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___04e4_4822_clean Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 63 6c 65 61 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e4_feb4_logfile.rel b/src/nos/lib/messages_lib/04e4_feb4_logfile.rel deleted file mode 100644 index 2364e822..00000000 --- a/src/nos/lib/messages_lib/04e4_feb4_logfile.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___04e4_feb4_logfile Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 6c 6f 67 66 69 6c 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e5_23aa_close.rel b/src/nos/lib/messages_lib/04e5_23aa_close.rel new file mode 100644 index 00000000..b89dd9e0 --- /dev/null +++ b/src/nos/lib/messages_lib/04e5_23aa_close.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___04e5_23aa_close Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 63 6c 6f 73 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e5_52c6_login_3a_20.rel b/src/nos/lib/messages_lib/04e5_52c6_login_3a_20.rel deleted file mode 100644 index 2757beec..00000000 --- a/src/nos/lib/messages_lib/04e5_52c6_login_3a_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___04e5_52c6_login_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 6c 6f 67 69 6e 3a 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e6_2b22_close_20FTP.rel b/src/nos/lib/messages_lib/04e6_2b22_close_20FTP.rel new file mode 100644 index 00000000..9df8275a --- /dev/null +++ b/src/nos/lib/messages_lib/04e6_2b22_close_20FTP.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___04e6_2b22_close_20FTP Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 63 6c 6f 73 65 20 46 54 50 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e6_a516_logscreen.rel b/src/nos/lib/messages_lib/04e6_a516_logscreen.rel deleted file mode 100644 index 028970eb..00000000 --- a/src/nos/lib/messages_lib/04e6_a516_logscreen.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___04e6_a516_logscreen Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 6c 6f 67 73 63 72 65 65 6e -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e7_8f77_lookup.rel b/src/nos/lib/messages_lib/04e7_8f77_lookup.rel deleted file mode 100644 index 21f4b44e..00000000 --- a/src/nos/lib/messages_lib/04e7_8f77_lookup.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___04e7_8f77_lookup Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 6c 6f 6f 6b 75 70 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e7_f93d_close_20Finger.rel b/src/nos/lib/messages_lib/04e7_f93d_close_20Finger.rel new file mode 100644 index 00000000..56bc31b0 --- /dev/null +++ b/src/nos/lib/messages_lib/04e7_f93d_close_20Finger.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___04e7_f93d_close_20Finger Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 63 6c 6f 73 65 20 46 69 6e +R 00 00 01 00 +T 0b 00 00 00 67 65 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e8_0957_close_20POP.rel b/src/nos/lib/messages_lib/04e8_0957_close_20POP.rel new file mode 100644 index 00000000..43eb29a1 --- /dev/null +++ b/src/nos/lib/messages_lib/04e8_0957_close_20POP.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___04e8_0957_close_20POP Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 63 6c 6f 73 65 20 50 4f 50 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e8_7d51_ls.rel b/src/nos/lib/messages_lib/04e8_7d51_ls.rel deleted file mode 100644 index c05bfc71..00000000 --- a/src/nos/lib/messages_lib/04e8_7d51_ls.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5 flags 0 -S ___04e8_7d51_ls Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 03 00 6c 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e9_634b_lseek.rel b/src/nos/lib/messages_lib/04e9_634b_lseek.rel deleted file mode 100644 index cdb8aed8..00000000 --- a/src/nos/lib/messages_lib/04e9_634b_lseek.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___04e9_634b_lseek Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 6c 73 65 65 6b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04e9_b85c_close_20POP_20_2d_2.rel b/src/nos/lib/messages_lib/04e9_b85c_close_20POP_20_2d_2.rel new file mode 100644 index 00000000..a8024bc7 --- /dev/null +++ b/src/nos/lib/messages_lib/04e9_b85c_close_20POP_20_2d_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___04e9_b85c_close_20POP_20_2d_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 63 6c 6f 73 65 20 50 4f 50 +R 00 00 01 00 +T 0b 00 00 00 20 2d 20 6e 6f 20 73 70 61 63 65 +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ea_0288_magic.rel b/src/nos/lib/messages_lib/04ea_0288_magic.rel deleted file mode 100644 index 1b597838..00000000 --- a/src/nos/lib/messages_lib/04ea_0288_magic.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___04ea_0288_magic Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 6d 61 67 69 63 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ea_83a3_close_20SMTP.rel b/src/nos/lib/messages_lib/04ea_83a3_close_20SMTP.rel new file mode 100644 index 00000000..76fdc288 --- /dev/null +++ b/src/nos/lib/messages_lib/04ea_83a3_close_20SMTP.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___04ea_83a3_close_20SMTP Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 63 6c 6f 73 65 20 53 4d 54 +R 00 00 01 00 +T 0b 00 00 00 50 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04eb_868b_maibox_20name_20not.rel b/src/nos/lib/messages_lib/04eb_868b_maibox_20name_20not.rel deleted file mode 100644 index 710e4c1b..00000000 --- a/src/nos/lib/messages_lib/04eb_868b_maibox_20name_20not.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___04eb_868b_maibox_20name_20not Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 6d 61 69 62 6f 78 20 6e 61 -R 00 00 01 00 -T 0b 00 00 00 6d 65 20 6e 6f 74 20 73 65 74 20 -R 00 00 01 00 -T 16 00 00 00 79 65 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04eb_b949_close_20SMTP_20_2d_.rel b/src/nos/lib/messages_lib/04eb_b949_close_20SMTP_20_2d_.rel new file mode 100644 index 00000000..7fb38b4e --- /dev/null +++ b/src/nos/lib/messages_lib/04eb_b949_close_20SMTP_20_2d_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___04eb_b949_close_20SMTP_20_2d_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 63 6c 6f 73 65 20 53 4d 54 +R 00 00 01 00 +T 0b 00 00 00 50 20 2d 20 6e 6f 20 73 70 61 63 +R 00 00 01 00 +T 16 00 00 00 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ec_2d7f_mailbox.rel b/src/nos/lib/messages_lib/04ec_2d7f_mailbox.rel deleted file mode 100644 index be11aff3..00000000 --- a/src/nos/lib/messages_lib/04ec_2d7f_mailbox.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___04ec_2d7f_mailbox Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 6d 61 69 6c 62 6f 78 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ec_423c_close_20discard.rel b/src/nos/lib/messages_lib/04ec_423c_close_20discard.rel new file mode 100644 index 00000000..2714d931 --- /dev/null +++ b/src/nos/lib/messages_lib/04ec_423c_close_20discard.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___04ec_423c_close_20discard Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 63 6c 6f 73 65 20 64 69 73 +R 00 00 01 00 +T 0b 00 00 00 63 61 72 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ed_2084_mailbox_20name_20no.rel b/src/nos/lib/messages_lib/04ed_2084_mailbox_20name_20no.rel deleted file mode 100644 index 379f2009..00000000 --- a/src/nos/lib/messages_lib/04ed_2084_mailbox_20name_20no.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 35 flags 0 -S ___04ed_2084_mailbox_20name_20no Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 33 00 6d 61 69 6c 62 6f 78 20 6e -R 00 00 01 00 -T 0b 00 00 00 61 6d 65 20 6e 6f 74 20 64 65 66 -R 00 00 01 00 -T 16 00 00 00 69 6e 65 64 20 79 65 74 2e 28 70 -R 00 00 01 00 -T 21 00 00 00 6f 70 20 6d 61 69 6c 62 6f 78 20 -R 00 00 01 00 -T 2c 00 00 00 3c 6e 61 6d 65 3e 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ed_419d_close_20echo.rel b/src/nos/lib/messages_lib/04ed_419d_close_20echo.rel new file mode 100644 index 00000000..c447f052 --- /dev/null +++ b/src/nos/lib/messages_lib/04ed_419d_close_20echo.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___04ed_419d_close_20echo Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 63 6c 6f 73 65 20 65 63 68 +R 00 00 01 00 +T 0b 00 00 00 6f 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ee_03ad_close_20term.rel b/src/nos/lib/messages_lib/04ee_03ad_close_20term.rel new file mode 100644 index 00000000..107de35e --- /dev/null +++ b/src/nos/lib/messages_lib/04ee_03ad_close_20term.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___04ee_03ad_close_20term Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 63 6c 6f 73 65 20 74 65 72 +R 00 00 01 00 +T 0b 00 00 00 6d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ee_86f8_mailhost.rel b/src/nos/lib/messages_lib/04ee_86f8_mailhost.rel deleted file mode 100644 index ccacdc55..00000000 --- a/src/nos/lib/messages_lib/04ee_86f8_mailhost.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___04ee_86f8_mailhost Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 6d 61 69 6c 68 6f 73 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ef_63b8_mailhost_20not_20de.rel b/src/nos/lib/messages_lib/04ef_63b8_mailhost_20not_20de.rel deleted file mode 100644 index 5dfaf1f6..00000000 --- a/src/nos/lib/messages_lib/04ef_63b8_mailhost_20not_20de.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 32 flags 0 -S ___04ef_63b8_mailhost_20not_20de Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 30 00 6d 61 69 6c 68 6f 73 74 20 -R 00 00 01 00 -T 0b 00 00 00 6e 6f 74 20 64 65 66 69 6e 65 64 -R 00 00 01 00 -T 16 00 00 00 20 79 65 74 2e 28 70 6f 70 20 6d -R 00 00 01 00 -T 21 00 00 00 61 69 6c 68 6f 73 74 20 3c 68 6f -R 00 00 01 00 -T 2c 00 00 00 73 74 3e 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ef_83dc_code_20_25u_20arg_2.rel b/src/nos/lib/messages_lib/04ef_83dc_code_20_25u_20arg_2.rel new file mode 100644 index 00000000..d6782790 --- /dev/null +++ b/src/nos/lib/messages_lib/04ef_83dc_code_20_25u_20arg_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___04ef_83dc_code_20_25u_20arg_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 63 6f 64 65 20 25 75 20 61 +R 00 00 01 00 +T 0b 00 00 00 72 67 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f0_139d_maxclients.rel b/src/nos/lib/messages_lib/04f0_139d_maxclients.rel deleted file mode 100644 index a5315056..00000000 --- a/src/nos/lib/messages_lib/04f0_139d_maxclients.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___04f0_139d_maxclients Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 6d 61 78 63 6c 69 65 6e 74 -R 00 00 01 00 -T 0b 00 00 00 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f0_ea90_compare.rel b/src/nos/lib/messages_lib/04f0_ea90_compare.rel new file mode 100644 index 00000000..b7699c06 --- /dev/null +++ b/src/nos/lib/messages_lib/04f0_ea90_compare.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___04f0_ea90_compare Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 63 6f 6d 70 61 72 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f1_8d56_maxframe.rel b/src/nos/lib/messages_lib/04f1_8d56_maxframe.rel deleted file mode 100644 index 36fc8193..00000000 --- a/src/nos/lib/messages_lib/04f1_8d56_maxframe.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___04f1_8d56_maxframe Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 6d 61 78 66 72 61 6d 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f1_a613_compare_20_3cremote.rel b/src/nos/lib/messages_lib/04f1_a613_compare_20_3cremote.rel new file mode 100644 index 00000000..149fb10a --- /dev/null +++ b/src/nos/lib/messages_lib/04f1_a613_compare_20_3cremote.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___04f1_a613_compare_20_3cremote Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 63 6f 6d 70 61 72 65 20 3c +R 00 00 01 00 +T 0b 00 00 00 72 65 6d 6f 74 65 66 69 6c 65 3e +R 00 00 01 00 +T 16 00 00 00 20 5b 3c 6c 6f 63 61 6c 66 69 6c +R 00 00 01 00 +T 21 00 00 00 65 3e 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f2_d5aa_maximum_20route_20q.rel b/src/nos/lib/messages_lib/04f2_d5aa_maximum_20route_20q.rel deleted file mode 100644 index 8a16e569..00000000 --- a/src/nos/lib/messages_lib/04f2_d5aa_maximum_20route_20q.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___04f2_d5aa_maximum_20route_20q Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 6d 61 78 69 6d 75 6d 20 72 -R 00 00 01 00 -T 0b 00 00 00 6f 75 74 65 20 71 75 61 6c 69 74 -R 00 00 01 00 -T 16 00 00 00 79 20 69 73 20 32 35 35 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f2_fbc2_compress.rel b/src/nos/lib/messages_lib/04f2_fbc2_compress.rel new file mode 100644 index 00000000..9bf36014 --- /dev/null +++ b/src/nos/lib/messages_lib/04f2_fbc2_compress.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___04f2_fbc2_compress Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 63 6f 6d 70 72 65 73 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f3_3845_compressed_20.rel b/src/nos/lib/messages_lib/04f3_3845_compressed_20.rel new file mode 100644 index 00000000..9a4cf388 --- /dev/null +++ b/src/nos/lib/messages_lib/04f3_3845_compressed_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___04f3_3845_compressed_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 63 6f 6d 70 72 65 73 73 65 +R 00 00 01 00 +T 0b 00 00 00 64 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f3_9853_maxmsg.rel b/src/nos/lib/messages_lib/04f3_9853_maxmsg.rel deleted file mode 100644 index ad1ef1ea..00000000 --- a/src/nos/lib/messages_lib/04f3_9853_maxmsg.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___04f3_9853_maxmsg Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 6d 61 78 6d 73 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f4_26b1_configure.rel b/src/nos/lib/messages_lib/04f4_26b1_configure.rel new file mode 100644 index 00000000..3d9ab9b7 --- /dev/null +++ b/src/nos/lib/messages_lib/04f4_26b1_configure.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___04f4_26b1_configure Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 63 6f 6e 66 69 67 75 72 65 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f4_7203_maxttl.rel b/src/nos/lib/messages_lib/04f4_7203_maxttl.rel deleted file mode 100644 index ef30773f..00000000 --- a/src/nos/lib/messages_lib/04f4_7203_maxttl.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___04f4_7203_maxttl Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 6d 61 78 74 74 6c 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f5_749f_connect.rel b/src/nos/lib/messages_lib/04f5_749f_connect.rel new file mode 100644 index 00000000..21af13ca --- /dev/null +++ b/src/nos/lib/messages_lib/04f5_749f_connect.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___04f5_749f_connect Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 63 6f 6e 6e 65 63 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f5_e017_maxwait.rel b/src/nos/lib/messages_lib/04f5_e017_maxwait.rel deleted file mode 100644 index f184a762..00000000 --- a/src/nos/lib/messages_lib/04f5_e017_maxwait.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___04f5_e017_maxwait Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 6d 61 78 77 61 69 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f6_5769_control.rel b/src/nos/lib/messages_lib/04f6_5769_control.rel new file mode 100644 index 00000000..530332de --- /dev/null +++ b/src/nos/lib/messages_lib/04f6_5769_control.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___04f6_5769_control Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 63 6f 6e 74 72 6f 6c 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f6_e57a_mbuf_20allocs_20_25.rel b/src/nos/lib/messages_lib/04f6_e57a_mbuf_20allocs_20_25.rel deleted file mode 100644 index 984f0767..00000000 --- a/src/nos/lib/messages_lib/04f6_e57a_mbuf_20allocs_20_25.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3e flags 0 -S ___04f6_e57a_mbuf_20allocs_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 3c 00 6d 62 75 66 20 61 6c 6c 6f -R 00 00 01 00 -T 0b 00 00 00 63 73 20 25 6c 75 20 66 72 65 65 -R 00 00 01 00 -T 16 00 00 00 20 63 61 63 68 65 20 68 69 74 73 -R 00 00 01 00 -T 21 00 00 00 20 25 6c 75 20 28 25 6c 75 25 25 -R 00 00 01 00 -T 2c 00 00 00 29 20 6d 62 75 66 20 66 72 65 65 -R 00 00 01 00 -T 37 00 00 00 73 20 25 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f7_8c4f_mcompare.rel b/src/nos/lib/messages_lib/04f7_8c4f_mcompare.rel deleted file mode 100644 index 7a77ebb5..00000000 --- a/src/nos/lib/messages_lib/04f7_8c4f_mcompare.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___04f7_8c4f_mcompare Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 6d 63 6f 6d 70 61 72 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f7_a93e_control_20up_7cdown.rel b/src/nos/lib/messages_lib/04f7_a93e_control_20up_7cdown.rel new file mode 100644 index 00000000..6b47dab5 --- /dev/null +++ b/src/nos/lib/messages_lib/04f7_a93e_control_20up_7cdown.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___04f7_a93e_control_20up_7cdown Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 63 6f 6e 74 72 6f 6c 20 75 +R 00 00 01 00 +T 0b 00 00 00 70 7c 64 6f 77 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f8_2aba_control_3a_20_25s_0.rel b/src/nos/lib/messages_lib/04f8_2aba_control_3a_20_25s_0.rel new file mode 100644 index 00000000..c84a8bd5 --- /dev/null +++ b/src/nos/lib/messages_lib/04f8_2aba_control_3a_20_25s_0.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___04f8_2aba_control_3a_20_25s_0 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 63 6f 6e 74 72 6f 6c 3a 20 +R 00 00 01 00 +T 0b 00 00 00 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f8_f47e_mcompare_20_3cfile_.rel b/src/nos/lib/messages_lib/04f8_f47e_mcompare_20_3cfile_.rel deleted file mode 100644 index 040f0b3f..00000000 --- a/src/nos/lib/messages_lib/04f8_f47e_mcompare_20_3cfile_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___04f8_f47e_mcompare_20_3cfile_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 6d 63 6f 6d 70 61 72 65 20 -R 00 00 01 00 -T 0b 00 00 00 3c 66 69 6c 65 3e 20 5b 3c 66 69 -R 00 00 01 00 -T 16 00 00 00 6c 65 3e 20 2e 2e 2e 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f9_4bf4_cwd.rel b/src/nos/lib/messages_lib/04f9_4bf4_cwd.rel new file mode 100644 index 00000000..8ac8160b --- /dev/null +++ b/src/nos/lib/messages_lib/04f9_4bf4_cwd.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___04f9_4bf4_cwd Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 63 77 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04f9_a71a_md5.rel b/src/nos/lib/messages_lib/04f9_a71a_md5.rel deleted file mode 100644 index 0aa0f5c3..00000000 --- a/src/nos/lib/messages_lib/04f9_a71a_md5.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___04f9_a71a_md5 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 6d 64 35 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04fa_62af_d_5finit_28_29.rel b/src/nos/lib/messages_lib/04fa_62af_d_5finit_28_29.rel new file mode 100644 index 00000000..a2acdfcb --- /dev/null +++ b/src/nos/lib/messages_lib/04fa_62af_d_5finit_28_29.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___04fa_62af_d_5finit_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 64 5f 69 6e 69 74 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04fa_cc78_md5_20_3cfile_3e.rel b/src/nos/lib/messages_lib/04fa_cc78_md5_20_3cfile_3e.rel deleted file mode 100644 index bb38cf13..00000000 --- a/src/nos/lib/messages_lib/04fa_cc78_md5_20_3cfile_3e.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___04fa_cc78_md5_20_3cfile_3e Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 6d 64 35 20 3c 66 69 6c 65 -R 00 00 01 00 -T 0b 00 00 00 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04fb_4d2a_memory.rel b/src/nos/lib/messages_lib/04fb_4d2a_memory.rel deleted file mode 100644 index 58ce7f0b..00000000 --- a/src/nos/lib/messages_lib/04fb_4d2a_memory.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___04fb_4d2a_memory Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 6d 65 6d 6f 72 79 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04fb_5a9b_d_5finit_28_29_20ma.rel b/src/nos/lib/messages_lib/04fb_5a9b_d_5finit_28_29_20ma.rel new file mode 100644 index 00000000..220a6d2f --- /dev/null +++ b/src/nos/lib/messages_lib/04fb_5a9b_d_5finit_28_29_20ma.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___04fb_5a9b_d_5finit_28_29_20ma Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 64 5f 69 6e 69 74 28 29 20 +R 00 00 01 00 +T 0b 00 00 00 6d 61 6a 6f 72 20 25 64 20 6d 69 +R 00 00 01 00 +T 16 00 00 00 6e 6f 72 20 25 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04fc_62a8_debug.rel b/src/nos/lib/messages_lib/04fc_62a8_debug.rel new file mode 100644 index 00000000..836f52b4 --- /dev/null +++ b/src/nos/lib/messages_lib/04fc_62a8_debug.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___04fc_62a8_debug Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 64 65 62 75 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04fc_69ba_memory_20cache_20si.rel b/src/nos/lib/messages_lib/04fc_69ba_memory_20cache_20si.rel deleted file mode 100644 index 828f0bcd..00000000 --- a/src/nos/lib/messages_lib/04fc_69ba_memory_20cache_20si.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___04fc_69ba_memory_20cache_20si Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 6d 65 6d 6f 72 79 20 63 61 -R 00 00 01 00 -T 0b 00 00 00 63 68 65 20 73 69 7a 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04fd_336a_merge.rel b/src/nos/lib/messages_lib/04fd_336a_merge.rel deleted file mode 100644 index 9b38320f..00000000 --- a/src/nos/lib/messages_lib/04fd_336a_merge.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___04fd_336a_merge Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 6d 65 72 67 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04fd_740d_default.rel b/src/nos/lib/messages_lib/04fd_740d_default.rel new file mode 100644 index 00000000..f5a0f6f3 --- /dev/null +++ b/src/nos/lib/messages_lib/04fd_740d_default.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___04fd_740d_default Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 64 65 66 61 75 6c 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04fe_649e_merge_20_25s_20_25d.rel b/src/nos/lib/messages_lib/04fe_649e_merge_20_25s_20_25d.rel deleted file mode 100644 index a650cd15..00000000 --- a/src/nos/lib/messages_lib/04fe_649e_merge_20_25s_20_25d.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___04fe_649e_merge_20_25s_20_25d Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 6d 65 72 67 65 20 25 73 20 -R 00 00 01 00 -T 0b 00 00 00 25 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04fe_db45_defaultfile.rel b/src/nos/lib/messages_lib/04fe_db45_defaultfile.rel new file mode 100644 index 00000000..f09088b4 --- /dev/null +++ b/src/nos/lib/messages_lib/04fe_db45_defaultfile.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___04fe_db45_defaultfile Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 64 65 66 61 75 6c 74 66 69 +R 00 00 01 00 +T 0b 00 00 00 6c 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ff_460c_metric_20better_3a_.rel b/src/nos/lib/messages_lib/04ff_460c_metric_20better_3a_.rel deleted file mode 100644 index 3c54d859..00000000 --- a/src/nos/lib/messages_lib/04ff_460c_metric_20better_3a_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___04ff_460c_metric_20better_3a_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 6d 65 74 72 69 63 20 62 65 -R 00 00 01 00 -T 0b 00 00 00 74 74 65 72 3a 20 25 73 20 25 6c -R 00 00 01 00 -T 16 00 00 00 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/04ff_818b_delay_20_25lu_0a.rel b/src/nos/lib/messages_lib/04ff_818b_delay_20_25lu_0a.rel new file mode 100644 index 00000000..902dcb5f --- /dev/null +++ b/src/nos/lib/messages_lib/04ff_818b_delay_20_25lu_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___04ff_818b_delay_20_25lu_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 64 65 6c 61 79 20 25 6c 75 +R 00 00 01 00 +T 0b 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0500_2c87_dele.rel b/src/nos/lib/messages_lib/0500_2c87_dele.rel new file mode 100644 index 00000000..ebaf3c4b --- /dev/null +++ b/src/nos/lib/messages_lib/0500_2c87_dele.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0500_2c87_dele Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 64 65 6c 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0500_3694_metric_20change_3a_.rel b/src/nos/lib/messages_lib/0500_3694_metric_20change_3a_.rel deleted file mode 100644 index 8e702a4b..00000000 --- a/src/nos/lib/messages_lib/0500_3694_metric_20change_3a_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___0500_3694_metric_20change_3a_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 6d 65 74 72 69 63 20 63 68 -R 00 00 01 00 -T 0b 00 00 00 61 6e 67 65 3a 20 25 73 20 25 6c -R 00 00 01 00 -T 16 00 00 00 75 20 2d 3e 20 25 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0501_44b0_metric_20not_20bett.rel b/src/nos/lib/messages_lib/0501_44b0_metric_20not_20bett.rel deleted file mode 100644 index 0fb47a1d..00000000 --- a/src/nos/lib/messages_lib/0501_44b0_metric_20not_20bett.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___0501_44b0_metric_20not_20bett Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 6d 65 74 72 69 63 20 6e 6f -R 00 00 01 00 -T 0b 00 00 00 74 20 62 65 74 74 65 72 3a 20 25 -R 00 00 01 00 -T 16 00 00 00 73 20 25 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0501_89a5_delete.rel b/src/nos/lib/messages_lib/0501_89a5_delete.rel new file mode 100644 index 00000000..24dbf698 --- /dev/null +++ b/src/nos/lib/messages_lib/0501_89a5_delete.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0501_89a5_delete Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 64 65 6c 65 74 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0502_3919_delete_20_3cfile_3e.rel b/src/nos/lib/messages_lib/0502_3919_delete_20_3cfile_3e.rel new file mode 100644 index 00000000..dd8e348f --- /dev/null +++ b/src/nos/lib/messages_lib/0502_3919_delete_20_3cfile_3e.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___0502_3919_delete_20_3cfile_3e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 64 65 6c 65 74 65 20 3c 66 +R 00 00 01 00 +T 0b 00 00 00 69 6c 65 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0502_b64c_mget.rel b/src/nos/lib/messages_lib/0502_b64c_mget.rel deleted file mode 100644 index b5ea9fa5..00000000 --- a/src/nos/lib/messages_lib/0502_b64c_mget.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0502_b64c_mget Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 6d 67 65 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0503_3d2c_deliberate_20cancel.rel b/src/nos/lib/messages_lib/0503_3d2c_deliberate_20cancel.rel new file mode 100644 index 00000000..032cc0d4 --- /dev/null +++ b/src/nos/lib/messages_lib/0503_3d2c_deliberate_20cancel.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___0503_3d2c_deliberate_20cancel Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 64 65 6c 69 62 65 72 61 74 +R 00 00 01 00 +T 0b 00 00 00 65 20 63 61 6e 63 65 6c 6c 61 74 +R 00 00 01 00 +T 16 00 00 00 69 6f 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0503_8d01_mget_20_3cfile_3e_2.rel b/src/nos/lib/messages_lib/0503_8d01_mget_20_3cfile_3e_2.rel deleted file mode 100644 index 70f61d66..00000000 --- a/src/nos/lib/messages_lib/0503_8d01_mget_20_3cfile_3e_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0503_8d01_mget_20_3cfile_3e_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 6d 67 65 74 20 3c 66 69 6c -R 00 00 01 00 -T 0b 00 00 00 65 3e 20 5b 3c 66 69 6c 65 3e 20 -R 00 00 01 00 -T 16 00 00 00 2e 2e 2e 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0504_1e96_mkd_20.rel b/src/nos/lib/messages_lib/0504_1e96_mkd_20.rel deleted file mode 100644 index 1d395865..00000000 --- a/src/nos/lib/messages_lib/0504_1e96_mkd_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0504_1e96_mkd_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 6d 6b 64 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0504_f9d2_delptab_28_29_20ret.rel b/src/nos/lib/messages_lib/0504_f9d2_delptab_28_29_20ret.rel new file mode 100644 index 00000000..1b7f58c3 --- /dev/null +++ b/src/nos/lib/messages_lib/0504_f9d2_delptab_28_29_20ret.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___0504_f9d2_delptab_28_29_20ret Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 64 65 6c 70 74 61 62 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 2c +R 00 00 01 00 +T 16 00 00 00 20 73 75 63 63 65 73 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0505_304a_mkdir.rel b/src/nos/lib/messages_lib/0505_304a_mkdir.rel deleted file mode 100644 index d16516e4..00000000 --- a/src/nos/lib/messages_lib/0505_304a_mkdir.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0505_304a_mkdir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 6d 6b 64 69 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0505_748e_delptab_28_29_20sta.rel b/src/nos/lib/messages_lib/0505_748e_delptab_28_29_20sta.rel new file mode 100644 index 00000000..a2d21b3a --- /dev/null +++ b/src/nos/lib/messages_lib/0505_748e_delptab_28_29_20sta.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___0505_748e_delptab_28_29_20sta Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 64 65 6c 70 74 61 62 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 73 74 61 72 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0506_6466_destlist.rel b/src/nos/lib/messages_lib/0506_6466_destlist.rel new file mode 100644 index 00000000..3a6c8857 --- /dev/null +++ b/src/nos/lib/messages_lib/0506_6466_destlist.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___0506_6466_destlist Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 64 65 73 74 6c 69 73 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0506_7d04_mkdir_20_3cdirector.rel b/src/nos/lib/messages_lib/0506_7d04_mkdir_20_3cdirector.rel deleted file mode 100644 index 5c94f5b0..00000000 --- a/src/nos/lib/messages_lib/0506_7d04_mkdir_20_3cdirector.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___0506_7d04_mkdir_20_3cdirector Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 6d 6b 64 69 72 20 3c 64 69 -R 00 00 01 00 -T 0b 00 00 00 72 65 63 74 6f 72 79 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0507_6257_mknod.rel b/src/nos/lib/messages_lib/0507_6257_mknod.rel deleted file mode 100644 index 12832dfd..00000000 --- a/src/nos/lib/messages_lib/0507_6257_mknod.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0507_6257_mknod Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 6d 6b 6e 6f 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0507_cfc1_detach.rel b/src/nos/lib/messages_lib/0507_cfc1_detach.rel new file mode 100644 index 00000000..40cf9c9d --- /dev/null +++ b/src/nos/lib/messages_lib/0507_cfc1_detach.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0507_cfc1_detach Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 64 65 74 61 63 68 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0508_26f3_detach_20_3cinterfa.rel b/src/nos/lib/messages_lib/0508_26f3_detach_20_3cinterfa.rel new file mode 100644 index 00000000..b4ec3cf5 --- /dev/null +++ b/src/nos/lib/messages_lib/0508_26f3_detach_20_3cinterfa.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___0508_26f3_detach_20_3cinterfa Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 64 65 74 61 63 68 20 3c 69 +R 00 00 01 00 +T 0b 00 00 00 6e 74 65 72 66 61 63 65 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0508_685e_mode.rel b/src/nos/lib/messages_lib/0508_685e_mode.rel deleted file mode 100644 index 0d403e08..00000000 --- a/src/nos/lib/messages_lib/0508_685e_mode.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0508_685e_mode Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 6d 6f 64 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0509_3f12_devio_5fgarbage_3a_.rel b/src/nos/lib/messages_lib/0509_3f12_devio_5fgarbage_3a_.rel new file mode 100644 index 00000000..1065d9f7 --- /dev/null +++ b/src/nos/lib/messages_lib/0509_3f12_devio_5fgarbage_3a_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___0509_3f12_devio_5fgarbage_3a_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 64 65 76 69 6f 5f 67 61 72 +R 00 00 01 00 +T 0b 00 00 00 62 61 67 65 3a 20 57 41 52 4e 49 +R 00 00 01 00 +T 16 00 00 00 4e 47 21 20 49 2f 4f 20 65 72 72 +R 00 00 01 00 +T 21 00 00 00 6f 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0509_9335_modes_20are_3a_20no.rel b/src/nos/lib/messages_lib/0509_9335_modes_20are_3a_20no.rel deleted file mode 100644 index f8dec69e..00000000 --- a/src/nos/lib/messages_lib/0509_9335_modes_20are_3a_20no.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21 flags 0 -S ___0509_9335_modes_20are_3a_20no Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1f 00 6d 6f 64 65 73 20 61 72 65 -R 00 00 01 00 -T 0b 00 00 00 3a 20 6e 6f 6e 65 20 61 63 63 65 -R 00 00 01 00 -T 16 00 00 00 70 74 20 72 65 6a 65 63 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/050a_0f61_dfile_5fsearch_3a_2.rel b/src/nos/lib/messages_lib/050a_0f61_dfile_5fsearch_3a_2.rel new file mode 100644 index 00000000..0c392de4 --- /dev/null +++ b/src/nos/lib/messages_lib/050a_0f61_dfile_5fsearch_3a_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 27 flags 0 +S ___050a_0f61_dfile_5fsearch_3a_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 25 00 64 66 69 6c 65 5f 73 65 61 +R 00 00 01 00 +T 0b 00 00 00 72 63 68 3a 20 63 61 6e 27 74 20 +R 00 00 01 00 +T 16 00 00 00 67 65 74 20 66 69 6c 65 20 73 74 +R 00 00 01 00 +T 21 00 00 00 61 74 75 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/050a_a91f_more.rel b/src/nos/lib/messages_lib/050a_a91f_more.rel deleted file mode 100644 index fdf9c0ba..00000000 --- a/src/nos/lib/messages_lib/050a_a91f_more.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___050a_a91f_more Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 6d 6f 72 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/050b_4eba_dfile_5fupdate_3a_2.rel b/src/nos/lib/messages_lib/050b_4eba_dfile_5fupdate_3a_2.rel new file mode 100644 index 00000000..2524041c --- /dev/null +++ b/src/nos/lib/messages_lib/050b_4eba_dfile_5fupdate_3a_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___050b_4eba_dfile_5fupdate_3a_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 64 66 69 6c 65 5f 75 70 64 +R 00 00 01 00 +T 0b 00 00 00 61 74 65 3a 20 63 61 6e 27 74 20 +R 00 00 01 00 +T 16 00 00 00 63 72 65 61 74 65 20 25 73 21 0a +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/050b_5384_more_20_3cfilename_.rel b/src/nos/lib/messages_lib/050b_5384_more_20_3cfilename_.rel deleted file mode 100644 index 7765f2d2..00000000 --- a/src/nos/lib/messages_lib/050b_5384_more_20_3cfilename_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___050b_5384_more_20_3cfilename_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 6d 6f 72 65 20 3c 66 69 6c -R 00 00 01 00 -T 0b 00 00 00 65 6e 61 6d 65 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/050c_5b47_dfile_5fupdate_3a_2.rel b/src/nos/lib/messages_lib/050c_5b47_dfile_5fupdate_3a_2.rel new file mode 100644 index 00000000..9e24e1cc --- /dev/null +++ b/src/nos/lib/messages_lib/050c_5b47_dfile_5fupdate_3a_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2c flags 0 +S ___050c_5b47_dfile_5fupdate_3a_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2a 00 64 66 69 6c 65 5f 75 70 64 +R 00 00 01 00 +T 0b 00 00 00 61 74 65 3a 20 63 61 6e 27 74 20 +R 00 00 01 00 +T 16 00 00 00 67 65 74 20 6e 65 77 5f 66 69 6c +R 00 00 01 00 +T 21 00 00 00 65 20 73 74 61 74 75 73 21 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/050c_ec46_motd.rel b/src/nos/lib/messages_lib/050c_ec46_motd.rel deleted file mode 100644 index 83335408..00000000 --- a/src/nos/lib/messages_lib/050c_ec46_motd.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___050c_ec46_motd Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 6d 6f 74 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/050d_b5d1_mount.rel b/src/nos/lib/messages_lib/050d_b5d1_mount.rel deleted file mode 100644 index f805e2a7..00000000 --- a/src/nos/lib/messages_lib/050d_b5d1_mount.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___050d_b5d1_mount Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 6d 6f 75 6e 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/050d_ef06_dfile_5fupdate_3a_2.rel b/src/nos/lib/messages_lib/050d_ef06_dfile_5fupdate_3a_2.rel new file mode 100644 index 00000000..428c7bf4 --- /dev/null +++ b/src/nos/lib/messages_lib/050d_ef06_dfile_5fupdate_3a_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2c flags 0 +S ___050d_ef06_dfile_5fupdate_3a_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2a 00 64 66 69 6c 65 5f 75 70 64 +R 00 00 01 00 +T 0b 00 00 00 61 74 65 3a 20 63 61 6e 27 74 20 +R 00 00 01 00 +T 16 00 00 00 67 65 74 20 6f 6c 64 5f 66 69 6c +R 00 00 01 00 +T 21 00 00 00 65 20 73 74 61 74 75 73 21 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/050e_0173_dialer.rel b/src/nos/lib/messages_lib/050e_0173_dialer.rel new file mode 100644 index 00000000..f22d5828 --- /dev/null +++ b/src/nos/lib/messages_lib/050e_0173_dialer.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___050e_0173_dialer Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 64 69 61 6c 65 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/050e_2a4d_mput.rel b/src/nos/lib/messages_lib/050e_2a4d_mput.rel deleted file mode 100644 index e5b7d8cd..00000000 --- a/src/nos/lib/messages_lib/050e_2a4d_mput.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___050e_2a4d_mput Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 6d 70 75 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/050f_312f_mput_20_3cfile_3e_2.rel b/src/nos/lib/messages_lib/050f_312f_mput_20_3cfile_3e_2.rel deleted file mode 100644 index 899c19fd..00000000 --- a/src/nos/lib/messages_lib/050f_312f_mput_20_3cfile_3e_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___050f_312f_mput_20_3cfile_3e_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 6d 70 75 74 20 3c 66 69 6c -R 00 00 01 00 -T 0b 00 00 00 65 3e 20 5b 3c 66 69 6c 65 3e 20 -R 00 00 01 00 -T 16 00 00 00 2e 2e 2e 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/050f_8d0b_dialer_20_3ciface_3.rel b/src/nos/lib/messages_lib/050f_8d0b_dialer_20_3ciface_3.rel new file mode 100644 index 00000000..cb77b819 --- /dev/null +++ b/src/nos/lib/messages_lib/050f_8d0b_dialer_20_3ciface_3.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 33 flags 0 +S ___050f_8d0b_dialer_20_3ciface_3 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 31 00 64 69 61 6c 65 72 20 3c 69 +R 00 00 01 00 +T 0b 00 00 00 66 61 63 65 3e 20 3c 74 69 6d 65 +R 00 00 01 00 +T 16 00 00 00 6f 75 74 3e 20 5b 64 65 76 69 63 +R 00 00 01 00 +T 21 00 00 00 65 2d 64 65 70 65 6e 64 65 6e 74 +R 00 00 01 00 +T 2c 00 00 00 20 61 72 67 73 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0510_18c3_digipeat.rel b/src/nos/lib/messages_lib/0510_18c3_digipeat.rel new file mode 100644 index 00000000..c80ab996 --- /dev/null +++ b/src/nos/lib/messages_lib/0510_18c3_digipeat.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___0510_18c3_digipeat Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 64 69 67 69 70 65 61 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0510_245f_mru.rel b/src/nos/lib/messages_lib/0510_245f_mru.rel deleted file mode 100644 index 165f0639..00000000 --- a/src/nos/lib/messages_lib/0510_245f_mru.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0510_245f_mru Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 6d 72 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0511_58b1_mss.rel b/src/nos/lib/messages_lib/0511_58b1_mss.rel deleted file mode 100644 index 4c89983f..00000000 --- a/src/nos/lib/messages_lib/0511_58b1_mss.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0511_58b1_mss Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 6d 73 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0511_bdc7_dir.rel b/src/nos/lib/messages_lib/0511_bdc7_dir.rel new file mode 100644 index 00000000..4be5ce85 --- /dev/null +++ b/src/nos/lib/messages_lib/0511_bdc7_dir.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0511_bdc7_dir Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 64 69 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0512_5c0a_directory.rel b/src/nos/lib/messages_lib/0512_5c0a_directory.rel new file mode 100644 index 00000000..5acbbd2b --- /dev/null +++ b/src/nos/lib/messages_lib/0512_5c0a_directory.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0512_5c0a_directory Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 64 69 72 65 63 74 6f 72 79 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0512_708f_mtu.rel b/src/nos/lib/messages_lib/0512_708f_mtu.rel deleted file mode 100644 index 009e677e..00000000 --- a/src/nos/lib/messages_lib/0512_708f_mtu.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0512_708f_mtu Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 6d 74 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0513_176f_discard.rel b/src/nos/lib/messages_lib/0513_176f_discard.rel new file mode 100644 index 00000000..b36a5db2 --- /dev/null +++ b/src/nos/lib/messages_lib/0513_176f_discard.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0513_176f_discard Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 64 69 73 63 61 72 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0513_78ae_mycall.rel b/src/nos/lib/messages_lib/0513_78ae_mycall.rel deleted file mode 100644 index 6d6da94f..00000000 --- a/src/nos/lib/messages_lib/0513_78ae_mycall.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0513_78ae_mycall Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 6d 79 63 61 6c 6c 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0514_684a_discard_20expired_2.rel b/src/nos/lib/messages_lib/0514_684a_discard_20expired_2.rel new file mode 100644 index 00000000..3799c114 --- /dev/null +++ b/src/nos/lib/messages_lib/0514_684a_discard_20expired_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___0514_684a_discard_20expired_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 64 69 73 63 61 72 64 20 65 +R 00 00 01 00 +T 0b 00 00 00 78 70 69 72 65 64 20 72 65 63 6f +R 00 00 01 00 +T 16 00 00 00 72 64 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0514_e112_n_5fcreat_28_22_25s.rel b/src/nos/lib/messages_lib/0514_e112_n_5fcreat_28_22_25s.rel deleted file mode 100644 index 1337f80c..00000000 --- a/src/nos/lib/messages_lib/0514_e112_n_5fcreat_28_22_25s.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___0514_e112_n_5fcreat_28_22_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 6e 5f 63 72 65 61 74 28 22 -R 00 00 01 00 -T 0b 00 00 00 25 73 22 2c 20 25 64 2c 20 30 25 -R 00 00 01 00 -T 16 00 00 00 6f 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0515_f701_disconnect.rel b/src/nos/lib/messages_lib/0515_f701_disconnect.rel new file mode 100644 index 00000000..98195c95 --- /dev/null +++ b/src/nos/lib/messages_lib/0515_f701_disconnect.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0515_f701_disconnect Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 64 69 73 63 6f 6e 6e 65 63 +R 00 00 01 00 +T 0b 00 00 00 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0515_fa1b_n_5fcreat_28_29_20r.rel b/src/nos/lib/messages_lib/0515_fa1b_n_5fcreat_28_29_20r.rel deleted file mode 100644 index 14ab6984..00000000 --- a/src/nos/lib/messages_lib/0515_fa1b_n_5fcreat_28_29_20r.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___0515_fa1b_n_5fcreat_28_29_20r Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 6e 5f 63 72 65 61 74 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 -R 00 00 01 00 -T 16 00 00 00 30 78 25 78 2c 20 73 75 63 63 65 -R 00 00 01 00 -T 21 00 00 00 73 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0516_105b_n_5fcreat_28_29_20r.rel b/src/nos/lib/messages_lib/0516_105b_n_5fcreat_28_29_20r.rel deleted file mode 100644 index 69c9ca9a..00000000 --- a/src/nos/lib/messages_lib/0516_105b_n_5fcreat_28_29_20r.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___0516_105b_n_5fcreat_28_29_20r Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 6e 5f 63 72 65 61 74 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 -R 00 00 01 00 -T 16 00 00 00 4e 55 4c 4c 2c 20 65 72 72 6f 72 -R 00 00 01 00 -T 21 00 00 00 20 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0516_e146_dns.rel b/src/nos/lib/messages_lib/0516_e146_dns.rel new file mode 100644 index 00000000..1ab1ed56 --- /dev/null +++ b/src/nos/lib/messages_lib/0516_e146_dns.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0516_e146_dns Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 64 6e 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0517_8a90_name.rel b/src/nos/lib/messages_lib/0517_8a90_name.rel deleted file mode 100644 index 28b419ea..00000000 --- a/src/nos/lib/messages_lib/0517_8a90_name.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0517_8a90_name Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 6e 61 6d 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0517_8f79_dns_5fquery_3a_20qu.rel b/src/nos/lib/messages_lib/0517_8f79_dns_5fquery_3a_20qu.rel new file mode 100644 index 00000000..8564fc30 --- /dev/null +++ b/src/nos/lib/messages_lib/0517_8f79_dns_5fquery_3a_20qu.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___0517_8f79_dns_5fquery_3a_20qu Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 64 6e 73 5f 71 75 65 72 79 +R 00 00 01 00 +T 0b 00 00 00 3a 20 71 75 65 72 79 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 73 65 72 76 65 72 20 25 73 20 66 +R 00 00 01 00 +T 21 00 00 00 6f 72 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0518_6da5_dns_5fquery_3a_20re.rel b/src/nos/lib/messages_lib/0518_6da5_dns_5fquery_3a_20re.rel new file mode 100644 index 00000000..cf891d4d --- /dev/null +++ b/src/nos/lib/messages_lib/0518_6da5_dns_5fquery_3a_20re.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 29 flags 0 +S ___0518_6da5_dns_5fquery_3a_20re Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 27 00 64 6e 73 5f 71 75 65 72 79 +R 00 00 01 00 +T 0b 00 00 00 3a 20 72 65 63 65 69 76 65 64 20 +R 00 00 01 00 +T 16 00 00 00 6d 65 73 73 61 67 65 20 6c 65 6e +R 00 00 01 00 +T 21 00 00 00 67 74 68 20 25 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0518_b07d_netmask.rel b/src/nos/lib/messages_lib/0518_b07d_netmask.rel deleted file mode 100644 index 312aff1b..00000000 --- a/src/nos/lib/messages_lib/0518_b07d_netmask.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0518_b07d_netmask Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 6e 65 74 6d 61 73 6b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0519_041c_doexit_3a_20won_27t.rel b/src/nos/lib/messages_lib/0519_041c_doexit_3a_20won_27t.rel new file mode 100644 index 00000000..8f8c5141 --- /dev/null +++ b/src/nos/lib/messages_lib/0519_041c_doexit_3a_20won_27t.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___0519_041c_doexit_3a_20won_27t Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 64 6f 65 78 69 74 3a 20 77 +R 00 00 01 00 +T 0b 00 00 00 6f 6e 27 74 20 65 78 69 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0519_4d2c_netrom_20bcnodes_20.rel b/src/nos/lib/messages_lib/0519_4d2c_netrom_20bcnodes_20.rel deleted file mode 100644 index 86eb8507..00000000 --- a/src/nos/lib/messages_lib/0519_4d2c_netrom_20bcnodes_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___0519_4d2c_netrom_20bcnodes_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 6e 65 74 72 6f 6d 20 62 63 -R 00 00 01 00 -T 0b 00 00 00 6e 6f 64 65 73 20 3c 69 6e 74 65 -R 00 00 01 00 -T 16 00 00 00 72 66 61 63 65 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/051a_21ed_domain.rel b/src/nos/lib/messages_lib/051a_21ed_domain.rel new file mode 100644 index 00000000..1da3a582 --- /dev/null +++ b/src/nos/lib/messages_lib/051a_21ed_domain.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___051a_21ed_domain Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 64 6f 6d 61 69 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/051a_c5dc_netrom_20connect_20.rel b/src/nos/lib/messages_lib/051a_c5dc_netrom_20connect_20.rel deleted file mode 100644 index f3446905..00000000 --- a/src/nos/lib/messages_lib/051a_c5dc_netrom_20connect_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___051a_c5dc_netrom_20connect_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 6e 65 74 72 6f 6d 20 63 6f -R 00 00 01 00 -T 0b 00 00 00 6e 6e 65 63 74 20 3c 6e 6f 64 65 -R 00 00 01 00 -T 16 00 00 00 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/051b_925a_netrom_20interface_.rel b/src/nos/lib/messages_lib/051b_925a_netrom_20interface_.rel deleted file mode 100644 index eebbe22f..00000000 --- a/src/nos/lib/messages_lib/051b_925a_netrom_20interface_.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 31 flags 0 -S ___051b_925a_netrom_20interface_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2f 00 6e 65 74 72 6f 6d 20 69 6e -R 00 00 01 00 -T 0b 00 00 00 74 65 72 66 61 63 65 20 3c 69 6e -R 00 00 01 00 -T 16 00 00 00 74 65 72 66 61 63 65 3e 20 3c 61 -R 00 00 01 00 -T 21 00 00 00 6c 69 61 73 3e 20 3c 71 75 61 6c -R 00 00 01 00 -T 2c 00 00 00 69 74 79 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/051b_e0fd_down_20script_3a_20.rel b/src/nos/lib/messages_lib/051b_e0fd_down_20script_3a_20.rel new file mode 100644 index 00000000..ef066e33 --- /dev/null +++ b/src/nos/lib/messages_lib/051b_e0fd_down_20script_3a_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___051b_e0fd_down_20script_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 64 6f 77 6e 20 73 63 72 69 +R 00 00 01 00 +T 0b 00 00 00 70 74 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/051c_050c_download.rel b/src/nos/lib/messages_lib/051c_050c_download.rel new file mode 100644 index 00000000..87cd5efe --- /dev/null +++ b/src/nos/lib/messages_lib/051c_050c_download.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___051c_050c_download Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 64 6f 77 6e 6c 6f 61 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/051c_a510_netrom_20interface_.rel b/src/nos/lib/messages_lib/051c_a510_netrom_20interface_.rel deleted file mode 100644 index c2fc2145..00000000 --- a/src/nos/lib/messages_lib/051c_a510_netrom_20interface_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___051c_a510_netrom_20interface_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 6e 65 74 72 6f 6d 20 69 6e -R 00 00 01 00 -T 0b 00 00 00 74 65 72 66 61 63 65 20 61 6c 72 -R 00 00 01 00 -T 16 00 00 00 65 61 64 79 20 61 74 74 61 63 68 -R 00 00 01 00 -T 21 00 00 00 65 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/051d_4853_drop.rel b/src/nos/lib/messages_lib/051d_4853_drop.rel new file mode 100644 index 00000000..c8d16b9c --- /dev/null +++ b/src/nos/lib/messages_lib/051d_4853_drop.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___051d_4853_drop Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 64 72 6f 70 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/051d_b271_netrom_20kick_20_3c.rel b/src/nos/lib/messages_lib/051d_b271_netrom_20kick_20_3c.rel deleted file mode 100644 index 6d2bae51..00000000 --- a/src/nos/lib/messages_lib/051d_b271_netrom_20kick_20_3c.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___051d_b271_netrom_20kick_20_3c Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 6e 65 74 72 6f 6d 20 6b 69 -R 00 00 01 00 -T 0b 00 00 00 63 6b 20 3c 26 6e 72 63 62 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/051e_0532_drop_20_3chostid_3e.rel b/src/nos/lib/messages_lib/051e_0532_drop_20_3chostid_3e.rel new file mode 100644 index 00000000..d54531ce --- /dev/null +++ b/src/nos/lib/messages_lib/051e_0532_drop_20_3chostid_3e.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___051e_0532_drop_20_3chostid_3e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 64 72 6f 70 20 3c 68 6f 73 +R 00 00 01 00 +T 0b 00 00 00 74 69 64 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/051e_5334_netrom_20nodefilter.rel b/src/nos/lib/messages_lib/051e_5334_netrom_20nodefilter.rel deleted file mode 100644 index f90bc739..00000000 --- a/src/nos/lib/messages_lib/051e_5334_netrom_20nodefilter.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2f flags 0 -S ___051e_5334_netrom_20nodefilter Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2d 00 6e 65 74 72 6f 6d 20 6e 6f -R 00 00 01 00 -T 0b 00 00 00 64 65 66 69 6c 74 65 72 20 61 64 -R 00 00 01 00 -T 16 00 00 00 64 20 3c 6e 65 69 67 68 62 6f 72 -R 00 00 01 00 -T 21 00 00 00 3e 20 3c 69 6e 74 65 72 66 61 63 -R 00 00 01 00 -T 2c 00 00 00 65 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/051f_6bfe_netrom_20nodefilter.rel b/src/nos/lib/messages_lib/051f_6bfe_netrom_20nodefilter.rel deleted file mode 100644 index 9d7f9516..00000000 --- a/src/nos/lib/messages_lib/051f_6bfe_netrom_20nodefilter.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 30 flags 0 -S ___051f_6bfe_netrom_20nodefilter Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2e 00 6e 65 74 72 6f 6d 20 6e 6f -R 00 00 01 00 -T 0b 00 00 00 64 65 66 69 6c 74 65 72 20 64 72 -R 00 00 01 00 -T 16 00 00 00 6f 70 20 3c 6e 65 69 67 68 62 6f -R 00 00 01 00 -T 21 00 00 00 72 3e 20 3c 69 6e 74 65 72 66 61 -R 00 00 01 00 -T 2c 00 00 00 63 65 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/051f_e7cf_dropserver.rel b/src/nos/lib/messages_lib/051f_e7cf_dropserver.rel new file mode 100644 index 00000000..c0519229 --- /dev/null +++ b/src/nos/lib/messages_lib/051f_e7cf_dropserver.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___051f_e7cf_dropserver Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 64 72 6f 70 73 65 72 76 65 +R 00 00 01 00 +T 0b 00 00 00 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0520_328e_netrom_20reset_20_3.rel b/src/nos/lib/messages_lib/0520_328e_netrom_20reset_20_3.rel deleted file mode 100644 index 802d4517..00000000 --- a/src/nos/lib/messages_lib/0520_328e_netrom_20reset_20_3.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___0520_328e_netrom_20reset_20_3 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 6e 65 74 72 6f 6d 20 72 65 -R 00 00 01 00 -T 0b 00 00 00 73 65 74 20 3c 26 6e 72 63 62 3e -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0520_a2e4_dup.rel b/src/nos/lib/messages_lib/0520_a2e4_dup.rel new file mode 100644 index 00000000..b1a86a96 --- /dev/null +++ b/src/nos/lib/messages_lib/0520_a2e4_dup.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0520_a2e4_dup Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 64 75 70 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0521_18c8_netrom_20route_20ad.rel b/src/nos/lib/messages_lib/0521_18c8_netrom_20route_20ad.rel deleted file mode 100644 index 5be8b7ad..00000000 --- a/src/nos/lib/messages_lib/0521_18c8_netrom_20route_20ad.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4a flags 0 -S ___0521_18c8_netrom_20route_20ad Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 48 00 6e 65 74 72 6f 6d 20 72 6f -R 00 00 01 00 -T 0b 00 00 00 75 74 65 20 61 64 64 20 3c 61 6c -R 00 00 01 00 -T 16 00 00 00 69 61 73 3e 20 3c 64 65 73 74 69 -R 00 00 01 00 -T 21 00 00 00 6e 61 74 69 6f 6e 3e 20 3c 69 6e -R 00 00 01 00 -T 2c 00 00 00 74 65 72 66 61 63 65 3e 20 3c 71 -R 00 00 01 00 -T 37 00 00 00 75 61 6c 69 74 79 3e 20 3c 6e 65 -R 00 00 01 00 -T 42 00 00 00 69 67 68 62 6f 72 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0521_b319_dup2.rel b/src/nos/lib/messages_lib/0521_b319_dup2.rel new file mode 100644 index 00000000..2397fb7d --- /dev/null +++ b/src/nos/lib/messages_lib/0521_b319_dup2.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0521_b319_dup2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 64 75 70 32 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0522_cb91_dynip.rel b/src/nos/lib/messages_lib/0522_cb91_dynip.rel new file mode 100644 index 00000000..7602ab7b --- /dev/null +++ b/src/nos/lib/messages_lib/0522_cb91_dynip.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0522_cb91_dynip Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 64 79 6e 69 70 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0522_fff3_netrom_20route_20dr.rel b/src/nos/lib/messages_lib/0522_fff3_netrom_20route_20dr.rel deleted file mode 100644 index 46b1e317..00000000 --- a/src/nos/lib/messages_lib/0522_fff3_netrom_20route_20dr.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 39 flags 0 -S ___0522_fff3_netrom_20route_20dr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 37 00 6e 65 74 72 6f 6d 20 72 6f -R 00 00 01 00 -T 0b 00 00 00 75 74 65 20 64 72 6f 70 20 3c 64 -R 00 00 01 00 -T 16 00 00 00 65 73 74 69 6e 61 74 69 6f 6e 3e -R 00 00 01 00 -T 21 00 00 00 20 3c 6e 65 69 67 68 62 6f 72 3e -R 00 00 01 00 -T 2c 00 00 00 20 3c 69 6e 74 65 72 66 61 63 65 -R 00 00 01 00 -T 37 00 00 00 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0523_2edf_echo.rel b/src/nos/lib/messages_lib/0523_2edf_echo.rel new file mode 100644 index 00000000..fed5cef2 --- /dev/null +++ b/src/nos/lib/messages_lib/0523_2edf_echo.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0523_2edf_echo Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 65 63 68 6f 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0523_e8da_netrom_20route_20in.rel b/src/nos/lib/messages_lib/0523_e8da_netrom_20route_20in.rel deleted file mode 100644 index f0247c32..00000000 --- a/src/nos/lib/messages_lib/0523_e8da_netrom_20route_20in.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 -S ___0523_e8da_netrom_20route_20in Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 20 00 6e 65 74 72 6f 6d 20 72 6f -R 00 00 01 00 -T 0b 00 00 00 75 74 65 20 69 6e 66 6f 20 3c 64 -R 00 00 01 00 -T 16 00 00 00 65 73 74 69 6e 61 74 69 6f 6e 3e -R 00 00 01 00 -T 21 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0524_7366_empty_20packet_21_2.rel b/src/nos/lib/messages_lib/0524_7366_empty_20packet_21_2.rel new file mode 100644 index 00000000..1dc3c791 --- /dev/null +++ b/src/nos/lib/messages_lib/0524_7366_empty_20packet_21_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0524_7366_empty_20packet_21_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 65 6d 70 74 79 20 70 61 63 +R 00 00 01 00 +T 0b 00 00 00 6b 65 74 21 21 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0524_9094_newfile_28_29_20ret.rel b/src/nos/lib/messages_lib/0524_9094_newfile_28_29_20ret.rel deleted file mode 100644 index 1a5ef3c1..00000000 --- a/src/nos/lib/messages_lib/0524_9094_newfile_28_29_20ret.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___0524_9094_newfile_28_29_20ret Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 6e 65 77 66 69 6c 65 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 -R 00 00 01 00 -T 16 00 00 00 30 78 25 78 2c 20 73 75 63 63 65 -R 00 00 01 00 -T 21 00 00 00 73 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0525_48fd_encapsulation.rel b/src/nos/lib/messages_lib/0525_48fd_encapsulation.rel new file mode 100644 index 00000000..b049fb15 --- /dev/null +++ b/src/nos/lib/messages_lib/0525_48fd_encapsulation.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___0525_48fd_encapsulation Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 65 6e 63 61 70 73 75 6c 61 +R 00 00 01 00 +T 0b 00 00 00 74 69 6f 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0525_6cce_newfile_28_29_20ret.rel b/src/nos/lib/messages_lib/0525_6cce_newfile_28_29_20ret.rel deleted file mode 100644 index 2438839a..00000000 --- a/src/nos/lib/messages_lib/0525_6cce_newfile_28_29_20ret.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___0525_6cce_newfile_28_29_20ret Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 6e 65 77 66 69 6c 65 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 -R 00 00 01 00 -T 16 00 00 00 4e 55 4c 4c 2c 20 65 72 72 6f 72 -R 00 00 01 00 -T 21 00 00 00 20 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0526_147d_newfile_280x_25x_2c.rel b/src/nos/lib/messages_lib/0526_147d_newfile_280x_25x_2c.rel deleted file mode 100644 index d76ea69b..00000000 --- a/src/nos/lib/messages_lib/0526_147d_newfile_280x_25x_2c.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 20 flags 0 -S ___0526_147d_newfile_280x_25x_2c Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1e 00 6e 65 77 66 69 6c 65 28 30 -R 00 00 01 00 -T 0b 00 00 00 78 25 78 2c 20 22 25 73 22 29 20 -R 00 00 01 00 -T 16 00 00 00 73 74 61 72 74 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0526_4a34_eol.rel b/src/nos/lib/messages_lib/0526_4a34_eol.rel new file mode 100644 index 00000000..078ef1fd --- /dev/null +++ b/src/nos/lib/messages_lib/0526_4a34_eol.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0526_4a34_eol Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 65 6f 6c 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0527_2254_newproc_20_22_25s_2.rel b/src/nos/lib/messages_lib/0527_2254_newproc_20_22_25s_2.rel deleted file mode 100644 index 6b857be2..00000000 --- a/src/nos/lib/messages_lib/0527_2254_newproc_20_22_25s_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___0527_2254_newproc_20_22_25s_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 6e 65 77 70 72 6f 63 20 22 -R 00 00 01 00 -T 0b 00 00 00 25 73 22 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0527_b4ae_escape.rel b/src/nos/lib/messages_lib/0527_b4ae_escape.rel new file mode 100644 index 00000000..9371e93d --- /dev/null +++ b/src/nos/lib/messages_lib/0527_b4ae_escape.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0527_b4ae_escape Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 65 73 63 61 70 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0528_4db6_newsession_3a_20WAR.rel b/src/nos/lib/messages_lib/0528_4db6_newsession_3a_20WAR.rel deleted file mode 100644 index 2ccf7b75..00000000 --- a/src/nos/lib/messages_lib/0528_4db6_newsession_3a_20WAR.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2e flags 0 -S ___0528_4db6_newsession_3a_20WAR Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2c 00 6e 65 77 73 65 73 73 69 6f -R 00 00 01 00 -T 0b 00 00 00 6e 3a 20 57 41 52 4e 49 4e 47 21 -R 00 00 01 00 -T 16 00 00 00 20 6e 6f 20 6d 65 6d 6f 72 79 20 -R 00 00 01 00 -T 21 00 00 00 66 6f 72 20 73 65 73 73 69 6f 6e -R 00 00 01 00 -T 2c 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0528_858e_escc.rel b/src/nos/lib/messages_lib/0528_858e_escc.rel new file mode 100644 index 00000000..6acad3a3 --- /dev/null +++ b/src/nos/lib/messages_lib/0528_858e_escc.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0528_858e_escc Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 65 73 63 63 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0529_5ab5_newsession_3a_20WAR.rel b/src/nos/lib/messages_lib/0529_5ab5_newsession_3a_20WAR.rel deleted file mode 100644 index ef9d8470..00000000 --- a/src/nos/lib/messages_lib/0529_5ab5_newsession_3a_20WAR.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2b flags 0 -S ___0529_5ab5_newsession_3a_20WAR Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 29 00 6e 65 77 73 65 73 73 69 6f -R 00 00 01 00 -T 0b 00 00 00 6e 3a 20 57 41 52 4e 49 4e 47 21 -R 00 00 01 00 -T 16 00 00 00 20 73 65 73 73 69 6f 6e 20 74 61 -R 00 00 01 00 -T 21 00 00 00 62 6c 65 20 66 75 6c 6c 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0529_d50a_escc_25d_3a_20No_20.rel b/src/nos/lib/messages_lib/0529_d50a_escc_25d_3a_20No_20.rel new file mode 100644 index 00000000..c4595dc1 --- /dev/null +++ b/src/nos/lib/messages_lib/0529_d50a_escc_25d_3a_20No_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___0529_d50a_escc_25d_3a_20No_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 65 73 63 63 25 64 3a 20 4e +R 00 00 01 00 +T 0b 00 00 00 6f 20 73 70 61 63 65 20 66 6f 72 +R 00 00 01 00 +T 16 00 00 00 20 72 78 20 62 75 66 66 65 72 0a +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/052a_6362_esccstat.rel b/src/nos/lib/messages_lib/052a_6362_esccstat.rel new file mode 100644 index 00000000..4b40c67e --- /dev/null +++ b/src/nos/lib/messages_lib/052a_6362_esccstat.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___052a_6362_esccstat Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 65 73 63 63 73 74 61 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/052a_7718_next_20pointer_20ou.rel b/src/nos/lib/messages_lib/052a_7718_next_20pointer_20ou.rel deleted file mode 100644 index 12205c3e..00000000 --- a/src/nos/lib/messages_lib/052a_7718_next_20pointer_20ou.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___052a_7718_next_20pointer_20ou Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 6e 65 78 74 20 70 6f 69 6e -R 00 00 01 00 -T 0b 00 00 00 74 65 72 20 6f 75 74 20 6f 66 20 -R 00 00 01 00 -T 16 00 00 00 6c 69 6d 69 74 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/052b_59b0_execve.rel b/src/nos/lib/messages_lib/052b_59b0_execve.rel new file mode 100644 index 00000000..f0f8ee24 --- /dev/null +++ b/src/nos/lib/messages_lib/052b_59b0_execve.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___052b_59b0_execve Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 65 78 65 63 76 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/052b_7b66_nlst.rel b/src/nos/lib/messages_lib/052b_7b66_nlst.rel deleted file mode 100644 index 83845f50..00000000 --- a/src/nos/lib/messages_lib/052b_7b66_nlst.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___052b_7b66_nlst Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 6e 6c 73 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/052c_0ca7_nntp_20addserver_20.rel b/src/nos/lib/messages_lib/052c_0ca7_nntp_20addserver_20.rel deleted file mode 100644 index 20064e9a..00000000 --- a/src/nos/lib/messages_lib/052c_0ca7_nntp_20addserver_20.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 29 flags 0 -S ___052c_0ca7_nntp_20addserver_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 27 00 6e 6e 74 70 20 61 64 64 73 -R 00 00 01 00 -T 0b 00 00 00 65 72 76 65 72 20 3c 6e 6e 74 70 -R 00 00 01 00 -T 16 00 00 00 73 65 72 76 65 72 3e 20 3c 69 6e -R 00 00 01 00 -T 21 00 00 00 74 65 72 76 61 6c 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/052c_3566_exit.rel b/src/nos/lib/messages_lib/052c_3566_exit.rel new file mode 100644 index 00000000..5be0f26c --- /dev/null +++ b/src/nos/lib/messages_lib/052c_3566_exit.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___052c_3566_exit Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 65 78 69 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/052d_bd2b_expired.rel b/src/nos/lib/messages_lib/052d_bd2b_expired.rel new file mode 100644 index 00000000..08676620 --- /dev/null +++ b/src/nos/lib/messages_lib/052d_bd2b_expired.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___052d_bd2b_expired Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 65 78 70 69 72 65 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/052d_fea0_nntp_20dropserver_2.rel b/src/nos/lib/messages_lib/052d_fea0_nntp_20dropserver_2.rel deleted file mode 100644 index 41e596b3..00000000 --- a/src/nos/lib/messages_lib/052d_fea0_nntp_20dropserver_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___052d_fea0_nntp_20dropserver_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 6e 6e 74 70 20 64 72 6f 70 -R 00 00 01 00 -T 0b 00 00 00 73 65 72 76 65 72 20 3c 6e 6e 74 -R 00 00 01 00 -T 16 00 00 00 70 73 65 72 76 65 72 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/052e_a821_nntp_20kick_20_3cnn.rel b/src/nos/lib/messages_lib/052e_a821_nntp_20kick_20_3cnn.rel deleted file mode 100644 index 27dfe26f..00000000 --- a/src/nos/lib/messages_lib/052e_a821_nntp_20kick_20_3cnn.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___052e_a821_nntp_20kick_20_3cnn Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 6e 6e 74 70 20 6b 69 63 6b -R 00 00 01 00 -T 0b 00 00 00 20 3c 6e 6e 74 70 73 65 72 76 65 -R 00 00 01 00 -T 16 00 00 00 72 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/052e_bf9b_f_5ftrunc_28_29_20r.rel b/src/nos/lib/messages_lib/052e_bf9b_f_5ftrunc_28_29_20r.rel new file mode 100644 index 00000000..507a336e --- /dev/null +++ b/src/nos/lib/messages_lib/052e_bf9b_f_5ftrunc_28_29_20r.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___052e_bf9b_f_5ftrunc_28_29_20r Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 66 5f 74 72 75 6e 63 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 0a +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/052f_687d_f_5ftrunc_280x_25x_.rel b/src/nos/lib/messages_lib/052f_687d_f_5ftrunc_280x_25x_.rel new file mode 100644 index 00000000..91e99fc6 --- /dev/null +++ b/src/nos/lib/messages_lib/052f_687d_f_5ftrunc_280x_25x_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___052f_687d_f_5ftrunc_280x_25x_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 66 5f 74 72 75 6e 63 28 30 +R 00 00 01 00 +T 0b 00 00 00 78 25 78 29 20 73 74 61 72 74 69 +R 00 00 01 00 +T 16 00 00 00 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/052f_a7f6_no_20filesys.rel b/src/nos/lib/messages_lib/052f_a7f6_no_20filesys.rel deleted file mode 100644 index 37163f8b..00000000 --- a/src/nos/lib/messages_lib/052f_a7f6_no_20filesys.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___052f_a7f6_no_20filesys Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 6e 6f 20 66 69 6c 65 73 79 -R 00 00 01 00 -T 0b 00 00 00 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0530_7405_no_20root.rel b/src/nos/lib/messages_lib/0530_7405_no_20root.rel deleted file mode 100644 index 37670bca..00000000 --- a/src/nos/lib/messages_lib/0530_7405_no_20root.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0530_7405_no_20root Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 6e 6f 20 72 6f 6f 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0530_bce0_failure.rel b/src/nos/lib/messages_lib/0530_bce0_failure.rel new file mode 100644 index 00000000..6ee80ab5 --- /dev/null +++ b/src/nos/lib/messages_lib/0530_bce0_failure.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0530_bce0_failure Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 66 61 69 6c 75 72 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0531_086a_falign.rel b/src/nos/lib/messages_lib/0531_086a_falign.rel new file mode 100644 index 00000000..068d1c58 --- /dev/null +++ b/src/nos/lib/messages_lib/0531_086a_falign.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0531_086a_falign Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 66 61 6c 69 67 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0531_b518_no_20such_20route_0.rel b/src/nos/lib/messages_lib/0531_b518_no_20such_20route_0.rel deleted file mode 100644 index 0c44a9c0..00000000 --- a/src/nos/lib/messages_lib/0531_b518_no_20such_20route_0.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___0531_b518_no_20such_20route_0 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 6e 6f 20 73 75 63 68 20 72 -R 00 00 01 00 -T 0b 00 00 00 6f 75 74 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0532_303b_files.rel b/src/nos/lib/messages_lib/0532_303b_files.rel new file mode 100644 index 00000000..118d4c3e --- /dev/null +++ b/src/nos/lib/messages_lib/0532_303b_files.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0532_303b_files Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 66 69 6c 65 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0532_3fb4_nodefilter.rel b/src/nos/lib/messages_lib/0532_3fb4_nodefilter.rel deleted file mode 100644 index 811c00b5..00000000 --- a/src/nos/lib/messages_lib/0532_3fb4_nodefilter.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___0532_3fb4_nodefilter Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 6e 6f 64 65 66 69 6c 74 65 -R 00 00 01 00 -T 0b 00 00 00 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0533_bac4_nodefilter_20subcom.rel b/src/nos/lib/messages_lib/0533_bac4_nodefilter_20subcom.rel deleted file mode 100644 index 048394ac..00000000 --- a/src/nos/lib/messages_lib/0533_bac4_nodefilter_20subcom.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___0533_bac4_nodefilter_20subcom Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 6e 6f 64 65 66 69 6c 74 65 -R 00 00 01 00 -T 0b 00 00 00 72 20 73 75 62 63 6f 6d 6d 61 6e -R 00 00 01 00 -T 16 00 00 00 64 73 3a 20 61 64 64 20 64 72 6f -R 00 00 01 00 -T 21 00 00 00 70 20 6d 6f 64 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0533_d461_filesys_5fdoclose_2.rel b/src/nos/lib/messages_lib/0533_d461_filesys_5fdoclose_2.rel new file mode 100644 index 00000000..3197c1fd --- /dev/null +++ b/src/nos/lib/messages_lib/0533_d461_filesys_5fdoclose_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___0533_d461_filesys_5fdoclose_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 66 69 6c 65 73 79 73 5f 64 +R 00 00 01 00 +T 0b 00 00 00 6f 63 6c 6f 73 65 28 25 75 29 20 +R 00 00 01 00 +T 16 00 00 00 73 74 61 72 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0534_661c_filesys_5fdoclose_2.rel b/src/nos/lib/messages_lib/0534_661c_filesys_5fdoclose_2.rel new file mode 100644 index 00000000..3343c87b --- /dev/null +++ b/src/nos/lib/messages_lib/0534_661c_filesys_5fdoclose_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 29 flags 0 +S ___0534_661c_filesys_5fdoclose_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 27 00 66 69 6c 65 73 79 73 5f 64 +R 00 00 01 00 +T 0b 00 00 00 6f 63 6c 6f 73 65 28 29 20 72 65 +R 00 00 01 00 +T 16 00 00 00 74 75 72 6e 69 6e 67 20 2d 31 2c +R 00 00 01 00 +T 21 00 00 00 20 65 72 72 6f 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0534_e743_nodes.rel b/src/nos/lib/messages_lib/0534_e743_nodes.rel deleted file mode 100644 index 9ec04cbe..00000000 --- a/src/nos/lib/messages_lib/0534_e743_nodes.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0534_e743_nodes Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 6e 6f 64 65 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0535_57cf_nodetimer.rel b/src/nos/lib/messages_lib/0535_57cf_nodetimer.rel deleted file mode 100644 index cd76533c..00000000 --- a/src/nos/lib/messages_lib/0535_57cf_nodetimer.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___0535_57cf_nodetimer Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 6e 6f 64 65 74 69 6d 65 72 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0535_8db4_filesys_5fdoclose_2.rel b/src/nos/lib/messages_lib/0535_8db4_filesys_5fdoclose_2.rel new file mode 100644 index 00000000..073dac89 --- /dev/null +++ b/src/nos/lib/messages_lib/0535_8db4_filesys_5fdoclose_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___0535_8db4_filesys_5fdoclose_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 66 69 6c 65 73 79 73 5f 64 +R 00 00 01 00 +T 0b 00 00 00 6f 63 6c 6f 73 65 28 29 20 72 65 +R 00 00 01 00 +T 16 00 00 00 74 75 72 6e 69 6e 67 20 30 2c 20 +R 00 00 01 00 +T 21 00 00 00 73 75 63 63 65 73 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0536_7a7f_none_0a.rel b/src/nos/lib/messages_lib/0536_7a7f_none_0a.rel deleted file mode 100644 index 820b19ea..00000000 --- a/src/nos/lib/messages_lib/0536_7a7f_none_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0536_7a7f_none_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 6e 6f 6e 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0536_d6a7_filter_20mode_20is_.rel b/src/nos/lib/messages_lib/0536_d6a7_filter_20mode_20is_.rel new file mode 100644 index 00000000..f1ed73b9 --- /dev/null +++ b/src/nos/lib/messages_lib/0536_d6a7_filter_20mode_20is_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0536_d6a7_filter_20mode_20is_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 66 69 6c 74 65 72 20 6d 6f +R 00 00 01 00 +T 0b 00 00 00 64 65 20 69 73 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0537_29c2_normal_20_28_25s_20.rel b/src/nos/lib/messages_lib/0537_29c2_normal_20_28_25s_20.rel deleted file mode 100644 index 8eea0503..00000000 --- a/src/nos/lib/messages_lib/0537_29c2_normal_20_28_25s_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___0537_29c2_normal_20_28_25s_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 6e 6f 72 6d 61 6c 20 28 25 -R 00 00 01 00 -T 0b 00 00 00 73 20 25 73 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0537_e04d_findprocess_28_25d_.rel b/src/nos/lib/messages_lib/0537_e04d_findprocess_28_25d_.rel new file mode 100644 index 00000000..7a9d23ae --- /dev/null +++ b/src/nos/lib/messages_lib/0537_e04d_findprocess_28_25d_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___0537_e04d_findprocess_28_25d_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 66 69 6e 64 70 72 6f 63 65 +R 00 00 01 00 +T 0b 00 00 00 73 73 28 25 64 29 20 73 74 61 72 +R 00 00 01 00 +T 16 00 00 00 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0538_07d0_null_0a.rel b/src/nos/lib/messages_lib/0538_07d0_null_0a.rel deleted file mode 100644 index 20252247..00000000 --- a/src/nos/lib/messages_lib/0538_07d0_null_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0538_07d0_null_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 6e 75 6c 6c 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0538_1164_findprocess_28_29_2.rel b/src/nos/lib/messages_lib/0538_1164_findprocess_28_29_2.rel new file mode 100644 index 00000000..dea143a5 --- /dev/null +++ b/src/nos/lib/messages_lib/0538_1164_findprocess_28_29_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 29 flags 0 +S ___0538_1164_findprocess_28_29_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 27 00 66 69 6e 64 70 72 6f 63 65 +R 00 00 01 00 +T 0b 00 00 00 73 73 28 29 20 72 65 74 75 72 6e +R 00 00 01 00 +T 16 00 00 00 69 6e 67 20 30 78 25 78 2c 20 73 +R 00 00 01 00 +T 21 00 00 00 75 63 63 65 73 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0539_9bc0_findprocess_28_29_2.rel b/src/nos/lib/messages_lib/0539_9bc0_findprocess_28_29_2.rel new file mode 100644 index 00000000..f4ee8ce2 --- /dev/null +++ b/src/nos/lib/messages_lib/0539_9bc0_findprocess_28_29_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___0539_9bc0_findprocess_28_29_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 66 69 6e 64 70 72 6f 63 65 +R 00 00 01 00 +T 0b 00 00 00 73 73 28 29 20 72 65 74 75 72 6e +R 00 00 01 00 +T 16 00 00 00 69 6e 67 20 4e 55 4c 4c 2c 20 65 +R 00 00 01 00 +T 21 00 00 00 72 72 6f 72 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0539_fb30_obsotimer.rel b/src/nos/lib/messages_lib/0539_fb30_obsotimer.rel deleted file mode 100644 index 7e5f2adc..00000000 --- a/src/nos/lib/messages_lib/0539_fb30_obsotimer.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___0539_fb30_obsotimer Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 6f 62 73 6f 74 69 6d 65 72 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/053a_3971_open.rel b/src/nos/lib/messages_lib/053a_3971_open.rel deleted file mode 100644 index 52d35f9f..00000000 --- a/src/nos/lib/messages_lib/053a_3971_open.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___053a_3971_open Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 6f 70 65 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/053a_927a_finger.rel b/src/nos/lib/messages_lib/053a_927a_finger.rel new file mode 100644 index 00000000..c857faa1 --- /dev/null +++ b/src/nos/lib/messages_lib/053a_927a_finger.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___053a_927a_finger Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 66 69 6e 67 65 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/053b_8ea1_finger_20name_40hos.rel b/src/nos/lib/messages_lib/053b_8ea1_finger_20name_40hos.rel new file mode 100644 index 00000000..a1afb6ec --- /dev/null +++ b/src/nos/lib/messages_lib/053b_8ea1_finger_20name_40hos.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___053b_8ea1_finger_20name_40hos Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 66 69 6e 67 65 72 20 6e 61 +R 00 00 01 00 +T 0b 00 00 00 6d 65 40 68 6f 73 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/053b_a412_open_20_25s.rel b/src/nos/lib/messages_lib/053b_a412_open_20_25s.rel deleted file mode 100644 index 26d24319..00000000 --- a/src/nos/lib/messages_lib/053b_a412_open_20_25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___053b_a412_open_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 6f 70 65 6e 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/053c_28f4_flush.rel b/src/nos/lib/messages_lib/053c_28f4_flush.rel new file mode 100644 index 00000000..cf41bee0 --- /dev/null +++ b/src/nos/lib/messages_lib/053c_28f4_flush.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___053c_28f4_flush Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 66 6c 75 73 68 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/053c_e5a0_open_20FTP.rel b/src/nos/lib/messages_lib/053c_e5a0_open_20FTP.rel deleted file mode 100644 index 487249c4..00000000 --- a/src/nos/lib/messages_lib/053c_e5a0_open_20FTP.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___053c_e5a0_open_20FTP Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 6f 70 65 6e 20 46 54 50 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/053d_10d3_open_20Finger.rel b/src/nos/lib/messages_lib/053d_10d3_open_20Finger.rel deleted file mode 100644 index 1486731e..00000000 --- a/src/nos/lib/messages_lib/053d_10d3_open_20Finger.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___053d_10d3_open_20Finger Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 6f 70 65 6e 20 46 69 6e 67 -R 00 00 01 00 -T 0b 00 00 00 65 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/053d_db22_fmount_28_25d_2c_20.rel b/src/nos/lib/messages_lib/053d_db22_fmount_28_25d_2c_20.rel new file mode 100644 index 00000000..1aaf570a --- /dev/null +++ b/src/nos/lib/messages_lib/053d_db22_fmount_28_25d_2c_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___053d_db22_fmount_28_25d_2c_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 66 6d 6f 75 6e 74 28 25 64 +R 00 00 01 00 +T 0b 00 00 00 2c 20 30 78 25 78 2c 20 25 64 29 +R 00 00 01 00 +T 16 00 00 00 20 73 74 61 72 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/053e_9479_fmount_28_29_20retu.rel b/src/nos/lib/messages_lib/053e_9479_fmount_28_29_20retu.rel new file mode 100644 index 00000000..67797b21 --- /dev/null +++ b/src/nos/lib/messages_lib/053e_9479_fmount_28_29_20retu.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___053e_9479_fmount_28_29_20retu Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 66 6d 6f 75 6e 74 28 29 20 +R 00 00 01 00 +T 0b 00 00 00 72 65 74 75 72 6e 69 6e 67 20 2d +R 00 00 01 00 +T 16 00 00 00 31 2c 20 65 72 72 6f 72 20 25 75 +R 00 00 01 00 +T 21 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/053e_fe22_open_20MBOX.rel b/src/nos/lib/messages_lib/053e_fe22_open_20MBOX.rel deleted file mode 100644 index 2a368900..00000000 --- a/src/nos/lib/messages_lib/053e_fe22_open_20MBOX.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___053e_fe22_open_20MBOX Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 6f 70 65 6e 20 4d 42 4f 58 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/053f_c7d5_open_20POP.rel b/src/nos/lib/messages_lib/053f_c7d5_open_20POP.rel deleted file mode 100644 index 2cf3f2fb..00000000 --- a/src/nos/lib/messages_lib/053f_c7d5_open_20POP.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___053f_c7d5_open_20POP Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 6f 70 65 6e 20 50 4f 50 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/053f_d221_fmount_28_29_20retu.rel b/src/nos/lib/messages_lib/053f_d221_fmount_28_29_20retu.rel new file mode 100644 index 00000000..1d6047b2 --- /dev/null +++ b/src/nos/lib/messages_lib/053f_d221_fmount_28_29_20retu.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___053f_d221_fmount_28_29_20retu Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 66 6d 6f 75 6e 74 28 29 20 +R 00 00 01 00 +T 0b 00 00 00 72 65 74 75 72 6e 69 6e 67 20 30 +R 00 00 01 00 +T 16 00 00 00 2c 20 73 75 63 63 65 73 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0540_2477_open_20SMTP.rel b/src/nos/lib/messages_lib/0540_2477_open_20SMTP.rel deleted file mode 100644 index 35b54c51..00000000 --- a/src/nos/lib/messages_lib/0540_2477_open_20SMTP.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___0540_2477_open_20SMTP Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 6f 70 65 6e 20 53 4d 54 50 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0540_dc8b_fmount_3a_20can_27t.rel b/src/nos/lib/messages_lib/0540_dc8b_fmount_3a_20can_27t.rel new file mode 100644 index 00000000..2fd592fe --- /dev/null +++ b/src/nos/lib/messages_lib/0540_dc8b_fmount_3a_20can_27t.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___0540_dc8b_fmount_3a_20can_27t Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 66 6d 6f 75 6e 74 3a 20 63 +R 00 00 01 00 +T 0b 00 00 00 61 6e 27 74 20 6f 70 65 6e 20 66 +R 00 00 01 00 +T 16 00 00 00 73 20 6f 6e 20 30 78 25 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0541_4ca5_open_20discard.rel b/src/nos/lib/messages_lib/0541_4ca5_open_20discard.rel deleted file mode 100644 index 49a854dd..00000000 --- a/src/nos/lib/messages_lib/0541_4ca5_open_20discard.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___0541_4ca5_open_20discard Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 6f 70 65 6e 20 64 69 73 63 -R 00 00 01 00 -T 0b 00 00 00 61 72 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0541_cf48_force.rel b/src/nos/lib/messages_lib/0541_cf48_force.rel new file mode 100644 index 00000000..ed3e3737 --- /dev/null +++ b/src/nos/lib/messages_lib/0541_cf48_force.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0541_cf48_force Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 66 6f 72 63 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0542_7349_force_20up_7cdown.rel b/src/nos/lib/messages_lib/0542_7349_force_20up_7cdown.rel new file mode 100644 index 00000000..391a6761 --- /dev/null +++ b/src/nos/lib/messages_lib/0542_7349_force_20up_7cdown.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___0542_7349_force_20up_7cdown Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 66 6f 72 63 65 20 75 70 7c +R 00 00 01 00 +T 0b 00 00 00 64 6f 77 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0542_e649_open_20echo.rel b/src/nos/lib/messages_lib/0542_e649_open_20echo.rel deleted file mode 100644 index 44d7bc39..00000000 --- a/src/nos/lib/messages_lib/0542_e649_open_20echo.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___0542_e649_open_20echo Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 6f 70 65 6e 20 65 63 68 6f -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0543_8074_fork.rel b/src/nos/lib/messages_lib/0543_8074_fork.rel new file mode 100644 index 00000000..19377db4 --- /dev/null +++ b/src/nos/lib/messages_lib/0543_8074_fork.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0543_8074_fork Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 66 6f 72 6b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0543_a479_open_20term.rel b/src/nos/lib/messages_lib/0543_a479_open_20term.rel deleted file mode 100644 index 11cacac5..00000000 --- a/src/nos/lib/messages_lib/0543_a479_open_20term.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___0543_a479_open_20term Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 6f 70 65 6e 20 74 65 72 6d -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0544_2f09_p_5finit_28_29.rel b/src/nos/lib/messages_lib/0544_2f09_p_5finit_28_29.rel deleted file mode 100644 index ae7f92e8..00000000 --- a/src/nos/lib/messages_lib/0544_2f09_p_5finit_28_29.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___0544_2f09_p_5finit_28_29 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 70 5f 69 6e 69 74 28 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0544_a19b_forkprocess_28_29_2.rel b/src/nos/lib/messages_lib/0544_a19b_forkprocess_28_29_2.rel new file mode 100644 index 00000000..b2aa24b7 --- /dev/null +++ b/src/nos/lib/messages_lib/0544_a19b_forkprocess_28_29_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 29 flags 0 +S ___0544_a19b_forkprocess_28_29_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 27 00 66 6f 72 6b 70 72 6f 63 65 +R 00 00 01 00 +T 0b 00 00 00 73 73 28 29 20 72 65 74 75 72 6e +R 00 00 01 00 +T 16 00 00 00 69 6e 67 20 30 78 25 78 2c 20 73 +R 00 00 01 00 +T 21 00 00 00 75 63 63 65 73 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0545_76ec_packet_20delayed_20.rel b/src/nos/lib/messages_lib/0545_76ec_packet_20delayed_20.rel deleted file mode 100644 index 16ec34fe..00000000 --- a/src/nos/lib/messages_lib/0545_76ec_packet_20delayed_20.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___0545_76ec_packet_20delayed_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 70 61 63 6b 65 74 20 64 65 -R 00 00 01 00 -T 0b 00 00 00 6c 61 79 65 64 20 25 6c 64 20 6d -R 00 00 01 00 -T 16 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0545_9408_forkprocess_28_29_2.rel b/src/nos/lib/messages_lib/0545_9408_forkprocess_28_29_2.rel new file mode 100644 index 00000000..59270af2 --- /dev/null +++ b/src/nos/lib/messages_lib/0545_9408_forkprocess_28_29_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___0545_9408_forkprocess_28_29_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 66 6f 72 6b 70 72 6f 63 65 +R 00 00 01 00 +T 0b 00 00 00 73 73 28 29 20 72 65 74 75 72 6e +R 00 00 01 00 +T 16 00 00 00 69 6e 67 20 4e 55 4c 4c 2c 20 65 +R 00 00 01 00 +T 21 00 00 00 72 72 6f 72 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0546_8504_packet_20duped_0a.rel b/src/nos/lib/messages_lib/0546_8504_packet_20duped_0a.rel deleted file mode 100644 index 9e74e017..00000000 --- a/src/nos/lib/messages_lib/0546_8504_packet_20duped_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 10 flags 0 -S ___0546_8504_packet_20duped_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0e 00 70 61 63 6b 65 74 20 64 75 -R 00 00 01 00 -T 0b 00 00 00 70 65 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0546_9eb7_forkprocess_280x_25.rel b/src/nos/lib/messages_lib/0546_9eb7_forkprocess_280x_25.rel new file mode 100644 index 00000000..3ff16d0e --- /dev/null +++ b/src/nos/lib/messages_lib/0546_9eb7_forkprocess_280x_25.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___0546_9eb7_forkprocess_280x_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 66 6f 72 6b 70 72 6f 63 65 +R 00 00 01 00 +T 0b 00 00 00 73 73 28 30 78 25 78 29 20 73 74 +R 00 00 01 00 +T 16 00 00 00 61 72 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0547_8227_forward.rel b/src/nos/lib/messages_lib/0547_8227_forward.rel new file mode 100644 index 00000000..05cd4873 --- /dev/null +++ b/src/nos/lib/messages_lib/0547_8227_forward.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0547_8227_forward Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 66 6f 72 77 61 72 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0547_a8e1_packet_20lost_0a.rel b/src/nos/lib/messages_lib/0547_a8e1_packet_20lost_0a.rel deleted file mode 100644 index c2f4619d..00000000 --- a/src/nos/lib/messages_lib/0547_a8e1_packet_20lost_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___0547_a8e1_packet_20lost_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 70 61 63 6b 65 74 20 6c 6f -R 00 00 01 00 -T 0b 00 00 00 73 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0548_c066_fp_20_20_20_20_20_2.rel b/src/nos/lib/messages_lib/0548_c066_fp_20_20_20_20_20_2.rel new file mode 100644 index 00000000..f909a2a4 --- /dev/null +++ b/src/nos/lib/messages_lib/0548_c066_fp_20_20_20_20_20_2.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 30 flags 0 +S ___0548_c066_fp_20_20_20_20_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2e 00 66 70 20 20 20 20 20 20 20 +R 00 00 01 00 +T 0b 00 00 00 66 64 20 20 20 72 65 66 20 20 65 +R 00 00 01 00 +T 16 00 00 00 6f 6c 20 20 20 74 79 70 65 20 6d +R 00 00 01 00 +T 21 00 00 00 6f 64 20 62 75 66 20 20 66 6c 61 +R 00 00 01 00 +T 2c 00 00 00 67 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0548_ead4_paclen.rel b/src/nos/lib/messages_lib/0548_ead4_paclen.rel deleted file mode 100644 index e85695f2..00000000 --- a/src/nos/lib/messages_lib/0548_ead4_paclen.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0548_ead4_paclen Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 70 61 63 6c 65 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0549_1a03_page.rel b/src/nos/lib/messages_lib/0549_1a03_page.rel deleted file mode 100644 index 59c369a0..00000000 --- a/src/nos/lib/messages_lib/0549_1a03_page.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0549_1a03_page Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 70 61 67 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0549_9a2a_free_3a_20WARNING_2.rel b/src/nos/lib/messages_lib/0549_9a2a_free_3a_20WARNING_2.rel new file mode 100644 index 00000000..ceb937e5 --- /dev/null +++ b/src/nos/lib/messages_lib/0549_9a2a_free_3a_20WARNING_2.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3c flags 0 +S ___0549_9a2a_free_3a_20WARNING_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 3a 00 66 72 65 65 3a 20 57 41 52 +R 00 00 01 00 +T 0b 00 00 00 4e 49 4e 47 21 20 69 6e 76 61 6c +R 00 00 01 00 +T 16 00 00 00 69 64 20 70 6f 69 6e 74 65 72 20 +R 00 00 01 00 +T 21 00 00 00 28 25 70 29 20 70 63 20 3d 20 30 +R 00 00 01 00 +T 2c 00 00 00 78 25 78 20 25 78 20 70 72 6f 63 +R 00 00 01 00 +T 37 00 00 00 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/054a_13ec_freeblk_28_25u_2c_2.rel b/src/nos/lib/messages_lib/054a_13ec_freeblk_28_25u_2c_2.rel new file mode 100644 index 00000000..d6b55f0f --- /dev/null +++ b/src/nos/lib/messages_lib/054a_13ec_freeblk_28_25u_2c_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___054a_13ec_freeblk_28_25u_2c_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 66 72 65 65 62 6c 6b 28 25 +R 00 00 01 00 +T 0b 00 00 00 75 2c 20 25 75 2c 20 25 75 29 20 +R 00 00 01 00 +T 16 00 00 00 73 74 61 72 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/054a_dd11_page_20_3ccommand_3.rel b/src/nos/lib/messages_lib/054a_dd11_page_20_3ccommand_3.rel deleted file mode 100644 index 44a75b89..00000000 --- a/src/nos/lib/messages_lib/054a_dd11_page_20_3ccommand_3.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___054a_dd11_page_20_3ccommand_3 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 70 61 67 65 20 3c 63 6f 6d -R 00 00 01 00 -T 0b 00 00 00 6d 61 6e 64 3e 20 5b 61 72 67 73 -R 00 00 01 00 -T 16 00 00 00 2e 2e 2e 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/054b_b6e1_pap.rel b/src/nos/lib/messages_lib/054b_b6e1_pap.rel deleted file mode 100644 index e3f90681..00000000 --- a/src/nos/lib/messages_lib/054b_b6e1_pap.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___054b_b6e1_pap Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 70 61 70 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/054b_bc64_freeblk_28_29_20ret.rel b/src/nos/lib/messages_lib/054b_bc64_freeblk_28_29_20ret.rel new file mode 100644 index 00000000..1868f41d --- /dev/null +++ b/src/nos/lib/messages_lib/054b_bc64_freeblk_28_29_20ret.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___054b_bc64_freeblk_28_29_20ret Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 66 72 65 65 62 6c 6b 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 2c +R 00 00 01 00 +T 16 00 00 00 20 65 72 72 6f 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/054c_3018_freeblk_28_29_20ret.rel b/src/nos/lib/messages_lib/054c_3018_freeblk_28_29_20ret.rel new file mode 100644 index 00000000..4806eb10 --- /dev/null +++ b/src/nos/lib/messages_lib/054c_3018_freeblk_28_29_20ret.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___054c_3018_freeblk_28_29_20ret Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 66 72 65 65 62 6c 6b 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 2c +R 00 00 01 00 +T 16 00 00 00 20 73 75 63 63 65 73 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/054c_512a_param.rel b/src/nos/lib/messages_lib/054c_512a_param.rel deleted file mode 100644 index f4de4a93..00000000 --- a/src/nos/lib/messages_lib/054c_512a_param.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___054c_512a_param Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 70 61 72 61 6d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/054d_4c13_freebuf_28_25u_29_2.rel b/src/nos/lib/messages_lib/054d_4c13_freebuf_28_25u_29_2.rel new file mode 100644 index 00000000..8e45d236 --- /dev/null +++ b/src/nos/lib/messages_lib/054d_4c13_freebuf_28_25u_29_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___054d_4c13_freebuf_28_25u_29_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 66 72 65 65 62 75 66 28 25 +R 00 00 01 00 +T 0b 00 00 00 75 29 20 73 74 61 72 74 69 6e 67 +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/054d_d362_param_20_3cinterfac.rel b/src/nos/lib/messages_lib/054d_d362_param_20_3cinterfac.rel deleted file mode 100644 index c0d1ecfc..00000000 --- a/src/nos/lib/messages_lib/054d_d362_param_20_3cinterfac.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___054d_d362_param_20_3cinterfac Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 70 61 72 61 6d 20 3c 69 6e -R 00 00 01 00 -T 0b 00 00 00 74 65 72 66 61 63 65 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/054e_0c86_freebuf_28_29_20ret.rel b/src/nos/lib/messages_lib/054e_0c86_freebuf_28_29_20ret.rel new file mode 100644 index 00000000..82af5a11 --- /dev/null +++ b/src/nos/lib/messages_lib/054e_0c86_freebuf_28_29_20ret.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___054e_0c86_freebuf_28_29_20ret Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 66 72 65 65 62 75 66 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 30 78 25 78 2c 20 66 6f 75 6e 64 +R 00 00 01 00 +T 21 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/054e_9d45_pass.rel b/src/nos/lib/messages_lib/054e_9d45_pass.rel deleted file mode 100644 index f801b84a..00000000 --- a/src/nos/lib/messages_lib/054e_9d45_pass.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___054e_9d45_pass Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 70 61 73 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/054f_f746_pause.rel b/src/nos/lib/messages_lib/054f_f746_pause.rel deleted file mode 100644 index 049abca1..00000000 --- a/src/nos/lib/messages_lib/054f_f746_pause.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___054f_f746_pause Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 70 61 75 73 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/054f_f896_freelist.rel b/src/nos/lib/messages_lib/054f_f896_freelist.rel new file mode 100644 index 00000000..38b70ddd --- /dev/null +++ b/src/nos/lib/messages_lib/054f_f896_freelist.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___054f_f896_freelist Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 66 72 65 65 6c 69 73 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0550_bd4f_from_20_25s_20.rel b/src/nos/lib/messages_lib/0550_bd4f_from_20_25s_20.rel new file mode 100644 index 00000000..abf29c26 --- /dev/null +++ b/src/nos/lib/messages_lib/0550_bd4f_from_20_25s_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___0550_bd4f_from_20_25s_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 66 72 6f 6d 20 25 73 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0550_d9f3_pfc.rel b/src/nos/lib/messages_lib/0550_d9f3_pfc.rel deleted file mode 100644 index 9e7b754c..00000000 --- a/src/nos/lib/messages_lib/0550_d9f3_pfc.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0550_d9f3_pfc Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 70 66 63 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0551_28cb_ping.rel b/src/nos/lib/messages_lib/0551_28cb_ping.rel deleted file mode 100644 index 9051a3d4..00000000 --- a/src/nos/lib/messages_lib/0551_28cb_ping.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0551_28cb_ping Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 70 69 6e 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0551_5b02_from_20_25s_2ebbs_2.rel b/src/nos/lib/messages_lib/0551_5b02_from_20_25s_2ebbs_2.rel new file mode 100644 index 00000000..350ba845 --- /dev/null +++ b/src/nos/lib/messages_lib/0551_5b02_from_20_25s_2ebbs_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0551_5b02_from_20_25s_2ebbs_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 66 72 6f 6d 20 25 73 2e 62 +R 00 00 01 00 +T 0b 00 00 00 62 73 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0552_2208_fs_5finit_28_29.rel b/src/nos/lib/messages_lib/0552_2208_fs_5finit_28_29.rel new file mode 100644 index 00000000..48f8c8f5 --- /dev/null +++ b/src/nos/lib/messages_lib/0552_2208_fs_5finit_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0552_2208_fs_5finit_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 66 73 5f 69 6e 69 74 28 29 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0552_d85a_ping_20_3chostid_3e.rel b/src/nos/lib/messages_lib/0552_d85a_ping_20_3chostid_3e.rel deleted file mode 100644 index f62f2d2c..00000000 --- a/src/nos/lib/messages_lib/0552_d85a_ping_20_3chostid_3e.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 32 flags 0 -S ___0552_d85a_ping_20_3chostid_3e Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 30 00 70 69 6e 67 20 3c 68 6f 73 -R 00 00 01 00 -T 0b 00 00 00 74 69 64 3e 20 5b 3c 6c 65 6e 67 -R 00 00 01 00 -T 16 00 00 00 74 68 3e 20 5b 3c 69 6e 74 65 72 -R 00 00 01 00 -T 21 00 00 00 76 61 6c 3e 20 5b 69 6e 63 66 6c -R 00 00 01 00 -T 2c 00 00 00 61 67 5d 5d 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0553_0372_fsm_5finit_28_29.rel b/src/nos/lib/messages_lib/0553_0372_fsm_5finit_28_29.rel new file mode 100644 index 00000000..41165a7f --- /dev/null +++ b/src/nos/lib/messages_lib/0553_0372_fsm_5finit_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0553_0372_fsm_5finit_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 66 73 6d 5f 69 6e 69 74 28 +R 00 00 01 00 +T 0b 00 00 00 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0553_0458_pipe.rel b/src/nos/lib/messages_lib/0553_0458_pipe.rel deleted file mode 100644 index a04b690e..00000000 --- a/src/nos/lib/messages_lib/0553_0458_pipe.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0553_0458_pipe Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 70 69 70 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0554_5919_pool.rel b/src/nos/lib/messages_lib/0554_5919_pool.rel deleted file mode 100644 index 533733ce..00000000 --- a/src/nos/lib/messages_lib/0554_5919_pool.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0554_5919_pool Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 70 6f 6f 6c 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0554_914a_fsm_5fno_5faction_2.rel b/src/nos/lib/messages_lib/0554_914a_fsm_5fno_5faction_2.rel new file mode 100644 index 00000000..78f0a20f --- /dev/null +++ b/src/nos/lib/messages_lib/0554_914a_fsm_5fno_5faction_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0554_914a_fsm_5fno_5faction_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 66 73 6d 5f 6e 6f 5f 61 63 +R 00 00 01 00 +T 0b 00 00 00 74 69 6f 6e 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0555_e039_port.rel b/src/nos/lib/messages_lib/0555_e039_port.rel deleted file mode 100644 index c9d42dcb..00000000 --- a/src/nos/lib/messages_lib/0555_e039_port.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0555_e039_port Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 70 6f 72 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0555_f286_fsm_5fno_5fcheck_28.rel b/src/nos/lib/messages_lib/0555_f286_fsm_5fno_5fcheck_28.rel new file mode 100644 index 00000000..63516973 --- /dev/null +++ b/src/nos/lib/messages_lib/0555_f286_fsm_5fno_5fcheck_28.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0555_f286_fsm_5fno_5fcheck_28 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 66 73 6d 5f 6e 6f 5f 63 68 +R 00 00 01 00 +T 0b 00 00 00 65 63 6b 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0556_1a51_fsm_5freset_28_29.rel b/src/nos/lib/messages_lib/0556_1a51_fsm_5freset_28_29.rel new file mode 100644 index 00000000..2596ae38 --- /dev/null +++ b/src/nos/lib/messages_lib/0556_1a51_fsm_5freset_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0556_1a51_fsm_5freset_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 66 73 6d 5f 72 65 73 65 74 +R 00 00 01 00 +T 0b 00 00 00 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0556_a9d2_port_20_25d_3a_20tx.rel b/src/nos/lib/messages_lib/0556_a9d2_port_20_25d_3a_20tx.rel deleted file mode 100644 index ecc78c5c..00000000 --- a/src/nos/lib/messages_lib/0556_a9d2_port_20_25d_3a_20tx.rel +++ /dev/null @@ -1,28 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6e flags 0 -S ___0556_a9d2_port_20_25d_3a_20tx Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 6c 00 70 6f 72 74 20 25 64 3a 20 -R 00 00 01 00 -T 0b 00 00 00 74 78 70 6b 74 73 20 25 6c 75 20 -R 00 00 01 00 -T 16 00 00 00 69 6e 74 73 20 25 6c 75 20 72 78 -R 00 00 01 00 -T 21 00 00 00 70 6b 74 73 20 25 6c 75 20 72 78 -R 00 00 01 00 -T 2c 00 00 00 62 79 74 65 73 20 25 6c 75 20 6e -R 00 00 01 00 -T 37 00 00 00 6f 6d 65 6d 20 25 6c 75 20 74 6f -R 00 00 01 00 -T 42 00 00 00 6f 62 69 67 20 25 6c 75 20 63 72 -R 00 00 01 00 -T 4d 00 00 00 63 65 72 72 20 25 6c 75 20 61 62 -R 00 00 01 00 -T 58 00 00 00 6f 72 74 73 20 25 6c 75 20 6f 76 -R 00 00 01 00 -T 63 00 00 00 65 72 72 75 6e 20 25 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0557_1515_fsm_5fsendreq_28_29.rel b/src/nos/lib/messages_lib/0557_1515_fsm_5fsendreq_28_29.rel new file mode 100644 index 00000000..9c07f653 --- /dev/null +++ b/src/nos/lib/messages_lib/0557_1515_fsm_5fsendreq_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___0557_1515_fsm_5fsendreq_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 66 73 6d 5f 73 65 6e 64 72 +R 00 00 01 00 +T 0b 00 00 00 65 71 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0557_3aa8_ppp.rel b/src/nos/lib/messages_lib/0557_3aa8_ppp.rel deleted file mode 100644 index aa0880aa..00000000 --- a/src/nos/lib/messages_lib/0557_3aa8_ppp.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0557_3aa8_ppp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 70 70 70 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0558_5109_fsm_5fsendtermack_2.rel b/src/nos/lib/messages_lib/0558_5109_fsm_5fsendtermack_2.rel new file mode 100644 index 00000000..ef7f5367 --- /dev/null +++ b/src/nos/lib/messages_lib/0558_5109_fsm_5fsendtermack_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___0558_5109_fsm_5fsendtermack_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 66 73 6d 5f 73 65 6e 64 74 +R 00 00 01 00 +T 0b 00 00 00 65 72 6d 61 63 6b 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0558_8304_ppp_5fproc_3a_20mis.rel b/src/nos/lib/messages_lib/0558_8304_ppp_5fproc_3a_20mis.rel deleted file mode 100644 index a3739f56..00000000 --- a/src/nos/lib/messages_lib/0558_8304_ppp_5fproc_3a_20mis.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___0558_8304_ppp_5fproc_3a_20mis Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 70 70 70 5f 70 72 6f 63 3a -R 00 00 01 00 -T 0b 00 00 00 20 6d 69 73 73 69 6e 67 20 69 66 -R 00 00 01 00 -T 16 00 00 00 61 63 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0559_45f0_fsm_5fsendtermreq_2.rel b/src/nos/lib/messages_lib/0559_45f0_fsm_5fsendtermreq_2.rel new file mode 100644 index 00000000..ab41d7eb --- /dev/null +++ b/src/nos/lib/messages_lib/0559_45f0_fsm_5fsendtermreq_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___0559_45f0_fsm_5fsendtermreq_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 66 73 6d 5f 73 65 6e 64 74 +R 00 00 01 00 +T 0b 00 00 00 65 72 6d 72 65 71 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0559_4b37_process_20_25d_20ex.rel b/src/nos/lib/messages_lib/0559_4b37_process_20_25d_20ex.rel deleted file mode 100644 index 0d0224db..00000000 --- a/src/nos/lib/messages_lib/0559_4b37_process_20_25d_20ex.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___0559_4b37_process_20_25d_20ex Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 70 72 6f 63 65 73 73 20 25 -R 00 00 01 00 -T 0b 00 00 00 64 20 65 78 69 74 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/055a_7049_fsm_5ftimer_28_29.rel b/src/nos/lib/messages_lib/055a_7049_fsm_5ftimer_28_29.rel new file mode 100644 index 00000000..bdce1fb0 --- /dev/null +++ b/src/nos/lib/messages_lib/055a_7049_fsm_5ftimer_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___055a_7049_fsm_5ftimer_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 66 73 6d 5f 74 69 6d 65 72 +R 00 00 01 00 +T 0b 00 00 00 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/055a_8848_processing_20my_20i.rel b/src/nos/lib/messages_lib/055a_8848_processing_20my_20i.rel deleted file mode 100644 index 6853f5f8..00000000 --- a/src/nos/lib/messages_lib/055a_8848_processing_20my_20i.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1a flags 0 -S ___055a_8848_processing_20my_20i Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 18 00 70 72 6f 63 65 73 73 69 6e -R 00 00 01 00 -T 0b 00 00 00 67 20 6d 79 20 69 6e 6f 64 65 20 -R 00 00 01 00 -T 16 00 00 00 25 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/055b_88d9_fsp_200x_25x_20s_5f.rel b/src/nos/lib/messages_lib/055b_88d9_fsp_200x_25x_20s_5f.rel new file mode 100644 index 00000000..e8f18870 --- /dev/null +++ b/src/nos/lib/messages_lib/055b_88d9_fsp_200x_25x_20s_5f.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___055b_88d9_fsp_200x_25x_20s_5f Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 66 73 70 20 30 78 25 78 20 +R 00 00 01 00 +T 0b 00 00 00 73 5f 6d 6f 75 6e 74 65 64 20 30 +R 00 00 01 00 +T 16 00 00 00 78 25 78 20 73 5f 64 65 76 20 25 +R 00 00 01 00 +T 21 00 00 00 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/055b_e384_processing_20other_.rel b/src/nos/lib/messages_lib/055b_e384_processing_20other_.rel deleted file mode 100644 index 2f567930..00000000 --- a/src/nos/lib/messages_lib/055b_e384_processing_20other_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___055b_e384_processing_20other_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 70 72 6f 63 65 73 73 69 6e -R 00 00 01 00 -T 0b 00 00 00 67 20 6f 74 68 65 72 20 69 6e 6f -R 00 00 01 00 -T 16 00 00 00 64 65 20 25 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/055c_3dc2_protocol_3a_20.rel b/src/nos/lib/messages_lib/055c_3dc2_protocol_3a_20.rel deleted file mode 100644 index 555ffc01..00000000 --- a/src/nos/lib/messages_lib/055c_3dc2_protocol_3a_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___055c_3dc2_protocol_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 70 72 6f 74 6f 63 6f 6c 3a -R 00 00 01 00 -T 0b 00 00 00 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/055c_7fbc_fstat.rel b/src/nos/lib/messages_lib/055c_7fbc_fstat.rel new file mode 100644 index 00000000..ea74e8d6 --- /dev/null +++ b/src/nos/lib/messages_lib/055c_7fbc_fstat.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___055c_7fbc_fstat Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 66 73 74 61 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/055d_0e84_ftp.rel b/src/nos/lib/messages_lib/055d_0e84_ftp.rel new file mode 100644 index 00000000..e5fc68d4 --- /dev/null +++ b/src/nos/lib/messages_lib/055d_0e84_ftp.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___055d_0e84_ftp Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 66 74 70 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/055d_4160_ps.rel b/src/nos/lib/messages_lib/055d_4160_ps.rel deleted file mode 100644 index 0624b32b..00000000 --- a/src/nos/lib/messages_lib/055d_4160_ps.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5 flags 0 -S ___055d_4160_ps Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 03 00 70 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/055e_26dc_pthresh.rel b/src/nos/lib/messages_lib/055e_26dc_pthresh.rel deleted file mode 100644 index 1030e2dc..00000000 --- a/src/nos/lib/messages_lib/055e_26dc_pthresh.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___055e_26dc_pthresh Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 70 74 68 72 65 73 68 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/055e_bafd_ftp_20_3caddress_3e.rel b/src/nos/lib/messages_lib/055e_bafd_ftp_20_3caddress_3e.rel new file mode 100644 index 00000000..aaf7586e --- /dev/null +++ b/src/nos/lib/messages_lib/055e_bafd_ftp_20_3caddress_3e.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___055e_bafd_ftp_20_3caddress_3e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 66 74 70 20 3c 61 64 64 72 +R 00 00 01 00 +T 0b 00 00 00 65 73 73 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/055f_a61f_publish.rel b/src/nos/lib/messages_lib/055f_a61f_publish.rel deleted file mode 100644 index 6de6ac9a..00000000 --- a/src/nos/lib/messages_lib/055f_a61f_publish.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___055f_a61f_publish Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 70 75 62 6c 69 73 68 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/055f_f999_ftp_3e_20syst_0a.rel b/src/nos/lib/messages_lib/055f_f999_ftp_3e_20syst_0a.rel new file mode 100644 index 00000000..9b3aeb24 --- /dev/null +++ b/src/nos/lib/messages_lib/055f_f999_ftp_3e_20syst_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___055f_f999_ftp_3e_20syst_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 66 74 70 3e 20 73 79 73 74 +R 00 00 01 00 +T 0b 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0560_274c_pushdown_20calls_20.rel b/src/nos/lib/messages_lib/0560_274c_pushdown_20calls_20.rel deleted file mode 100644 index 29b2572f..00000000 --- a/src/nos/lib/messages_lib/0560_274c_pushdown_20calls_20.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 37 flags 0 -S ___0560_274c_pushdown_20calls_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 35 00 70 75 73 68 64 6f 77 6e 20 -R 00 00 01 00 -T 0b 00 00 00 63 61 6c 6c 73 20 25 6c 75 20 70 -R 00 00 01 00 -T 16 00 00 00 75 73 68 64 6f 77 6e 20 63 61 6c -R 00 00 01 00 -T 21 00 00 00 6c 73 20 74 6f 20 61 6c 6c 6f 63 -R 00 00 01 00 -T 2c 00 00 00 5f 6d 62 75 66 20 25 6c 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0560_51ba_garbage_20collectio.rel b/src/nos/lib/messages_lib/0560_51ba_garbage_20collectio.rel new file mode 100644 index 00000000..4a93299c --- /dev/null +++ b/src/nos/lib/messages_lib/0560_51ba_garbage_20collectio.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___0560_51ba_garbage_20collectio Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 67 61 72 62 61 67 65 20 63 +R 00 00 01 00 +T 0b 00 00 00 6f 6c 6c 65 63 74 69 6f 6e 73 20 +R 00 00 01 00 +T 16 00 00 00 79 65 6c 6c 6f 77 20 25 6c 75 20 +R 00 00 01 00 +T 21 00 00 00 72 65 64 20 25 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0561_0234_put.rel b/src/nos/lib/messages_lib/0561_0234_put.rel deleted file mode 100644 index 3dbeed4b..00000000 --- a/src/nos/lib/messages_lib/0561_0234_put.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0561_0234_put Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 70 75 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0561_c2ce_gateway.rel b/src/nos/lib/messages_lib/0561_c2ce_gateway.rel new file mode 100644 index 00000000..eee0090b --- /dev/null +++ b/src/nos/lib/messages_lib/0561_c2ce_gateway.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0561_c2ce_gateway Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 67 61 74 65 77 61 79 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0562_8f3b_put_20_3clocalfile_.rel b/src/nos/lib/messages_lib/0562_8f3b_put_20_3clocalfile_.rel deleted file mode 100644 index 2b4c62c7..00000000 --- a/src/nos/lib/messages_lib/0562_8f3b_put_20_3clocalfile_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___0562_8f3b_put_20_3clocalfile_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 70 75 74 20 3c 6c 6f 63 61 -R 00 00 01 00 -T 0b 00 00 00 6c 66 69 6c 65 3e 20 3c 72 65 6d -R 00 00 01 00 -T 16 00 00 00 6f 74 65 66 69 6c 65 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0562_9e35_get.rel b/src/nos/lib/messages_lib/0562_9e35_get.rel new file mode 100644 index 00000000..36e190fa --- /dev/null +++ b/src/nos/lib/messages_lib/0562_9e35_get.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0562_9e35_get Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 67 65 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0563_b16b_putting_20block_20_.rel b/src/nos/lib/messages_lib/0563_b16b_putting_20block_20_.rel deleted file mode 100644 index 7ffc7bd3..00000000 --- a/src/nos/lib/messages_lib/0563_b16b_putting_20block_20_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___0563_b16b_putting_20block_20_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 70 75 74 74 69 6e 67 20 62 -R 00 00 01 00 -T 0b 00 00 00 6c 6f 63 6b 20 25 64 20 2d 3e 20 -R 00 00 01 00 -T 16 00 00 00 25 64 2c 20 65 72 72 6e 6f 20 3d -R 00 00 01 00 -T 21 00 00 00 20 25 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0563_c7c0_get_20_3cremotefile.rel b/src/nos/lib/messages_lib/0563_c7c0_get_20_3cremotefile.rel new file mode 100644 index 00000000..bd97b8c9 --- /dev/null +++ b/src/nos/lib/messages_lib/0563_c7c0_get_20_3cremotefile.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___0563_c7c0_get_20_3cremotefile Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 67 65 74 20 3c 72 65 6d 6f +R 00 00 01 00 +T 0b 00 00 00 74 65 66 69 6c 65 3e 20 3c 6c 6f +R 00 00 01 00 +T 16 00 00 00 63 61 6c 66 69 6c 65 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0564_2105_pwd.rel b/src/nos/lib/messages_lib/0564_2105_pwd.rel deleted file mode 100644 index e4bb7c35..00000000 --- a/src/nos/lib/messages_lib/0564_2105_pwd.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0564_2105_pwd Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 70 77 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0564_60c5_getfsys.rel b/src/nos/lib/messages_lib/0564_60c5_getfsys.rel new file mode 100644 index 00000000..b30ba5e0 --- /dev/null +++ b/src/nos/lib/messages_lib/0564_60c5_getfsys.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0564_60c5_getfsys Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 67 65 74 66 73 79 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0565_0282_qlimit.rel b/src/nos/lib/messages_lib/0565_0282_qlimit.rel deleted file mode 100644 index b1fc6e76..00000000 --- a/src/nos/lib/messages_lib/0565_0282_qlimit.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0565_0282_qlimit Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 71 6c 69 6d 69 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0565_631b_getinode_3a_20bad_2.rel b/src/nos/lib/messages_lib/0565_631b_getinode_3a_20bad_2.rel new file mode 100644 index 00000000..9807ce76 --- /dev/null +++ b/src/nos/lib/messages_lib/0565_631b_getinode_3a_20bad_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___0565_631b_getinode_3a_20bad_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 67 65 74 69 6e 6f 64 65 3a +R 00 00 01 00 +T 0b 00 00 00 20 62 61 64 20 6f 66 74 20 25 75 +R 00 00 01 00 +T 16 00 00 00 25 73 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0566_0be6_queries.rel b/src/nos/lib/messages_lib/0566_0be6_queries.rel deleted file mode 100644 index e85d3c73..00000000 --- a/src/nos/lib/messages_lib/0566_0be6_queries.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0566_0be6_queries Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 71 75 65 72 69 65 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0566_7dac_getset.rel b/src/nos/lib/messages_lib/0566_7dac_getset.rel new file mode 100644 index 00000000..01456c61 --- /dev/null +++ b/src/nos/lib/messages_lib/0566_7dac_getset.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0566_7dac_getset Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 67 65 74 73 65 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0567_0bef_query.rel b/src/nos/lib/messages_lib/0567_0bef_query.rel deleted file mode 100644 index a6fd5207..00000000 --- a/src/nos/lib/messages_lib/0567_0bef_query.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0567_0bef_query Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 71 75 65 72 79 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0567_74d1_getting_20block_20_.rel b/src/nos/lib/messages_lib/0567_74d1_getting_20block_20_.rel new file mode 100644 index 00000000..0a7e4e16 --- /dev/null +++ b/src/nos/lib/messages_lib/0567_74d1_getting_20block_20_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___0567_74d1_getting_20block_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 67 65 74 74 69 6e 67 20 62 +R 00 00 01 00 +T 0b 00 00 00 6c 6f 63 6b 20 25 64 20 2d 3e 20 +R 00 00 01 00 +T 16 00 00 00 25 64 2c 20 65 72 72 6e 6f 20 3d +R 00 00 01 00 +T 21 00 00 00 20 25 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0568_6646_query_20_3chostid_3.rel b/src/nos/lib/messages_lib/0568_6646_query_20_3chostid_3.rel deleted file mode 100644 index dbef21a5..00000000 --- a/src/nos/lib/messages_lib/0568_6646_query_20_3chostid_3.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___0568_6646_query_20_3chostid_3 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 71 75 65 72 79 20 3c 68 6f -R 00 00 01 00 -T 0b 00 00 00 73 74 69 64 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0568_b3cb_groups.rel b/src/nos/lib/messages_lib/0568_b3cb_groups.rel new file mode 100644 index 00000000..a7e3f584 --- /dev/null +++ b/src/nos/lib/messages_lib/0568_b3cb_groups.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0568_b3cb_groups Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 67 72 6f 75 70 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0569_156e_hash.rel b/src/nos/lib/messages_lib/0569_156e_hash.rel new file mode 100644 index 00000000..2d5aa5dd --- /dev/null +++ b/src/nos/lib/messages_lib/0569_156e_hash.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0569_156e_hash Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 68 61 73 68 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0569_27c8_queue_20job_20_25s_.rel b/src/nos/lib/messages_lib/0569_27c8_queue_20job_20_25s_.rel deleted file mode 100644 index aa75d5ac..00000000 --- a/src/nos/lib/messages_lib/0569_27c8_queue_20job_20_25s_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___0569_27c8_queue_20job_20_25s_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 71 75 65 75 65 20 6a 6f 62 -R 00 00 01 00 -T 0b 00 00 00 20 25 73 20 46 72 6f 6d 3a 20 25 -R 00 00 01 00 -T 16 00 00 00 73 20 54 6f 3a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/056a_1196_quick.rel b/src/nos/lib/messages_lib/056a_1196_quick.rel deleted file mode 100644 index 6e5b8753..00000000 --- a/src/nos/lib/messages_lib/056a_1196_quick.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___056a_1196_quick Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 71 75 69 63 6b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/056a_5bc8_heap_20size_20_25lu.rel b/src/nos/lib/messages_lib/056a_5bc8_heap_20size_20_25lu.rel new file mode 100644 index 00000000..30a5c483 --- /dev/null +++ b/src/nos/lib/messages_lib/056a_5bc8_heap_20size_20_25lu.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 31 flags 0 +S ___056a_5bc8_heap_20size_20_25lu Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2f 00 68 65 61 70 20 73 69 7a 65 +R 00 00 01 00 +T 0b 00 00 00 20 25 6c 75 20 61 76 61 69 6c 20 +R 00 00 01 00 +T 16 00 00 00 25 6c 75 20 28 25 6c 75 25 25 29 +R 00 00 01 00 +T 21 00 00 00 20 6d 6f 72 65 63 6f 72 65 73 20 +R 00 00 01 00 +T 2c 00 00 00 25 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/056b_856f_heard.rel b/src/nos/lib/messages_lib/056b_856f_heard.rel new file mode 100644 index 00000000..b33dbad1 --- /dev/null +++ b/src/nos/lib/messages_lib/056b_856f_heard.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___056b_856f_heard Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 68 65 61 72 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/056b_ad30_quiet.rel b/src/nos/lib/messages_lib/056b_ad30_quiet.rel deleted file mode 100644 index 27c975ea..00000000 --- a/src/nos/lib/messages_lib/056b_ad30_quiet.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___056b_ad30_quiet Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 71 75 69 65 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/056c_7b54_quit.rel b/src/nos/lib/messages_lib/056c_7b54_quit.rel deleted file mode 100644 index 63ed3517..00000000 --- a/src/nos/lib/messages_lib/056c_7b54_quit.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___056c_7b54_quit Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 71 75 69 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/056c_fc9f_help.rel b/src/nos/lib/messages_lib/056c_fc9f_help.rel new file mode 100644 index 00000000..56673f02 --- /dev/null +++ b/src/nos/lib/messages_lib/056c_fc9f_help.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___056c_fc9f_help Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 68 65 6c 70 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/056d_054d_read.rel b/src/nos/lib/messages_lib/056d_054d_read.rel deleted file mode 100644 index 8bfdb171..00000000 --- a/src/nos/lib/messages_lib/056d_054d_read.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___056d_054d_read Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 72 65 61 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/056d_1d5e_homedir.rel b/src/nos/lib/messages_lib/056d_1d5e_homedir.rel new file mode 100644 index 00000000..042d5437 --- /dev/null +++ b/src/nos/lib/messages_lib/056d_1d5e_homedir.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___056d_1d5e_homedir Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 68 6f 6d 65 64 69 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/056e_6fa6_hop.rel b/src/nos/lib/messages_lib/056e_6fa6_hop.rel new file mode 100644 index 00000000..264faa40 --- /dev/null +++ b/src/nos/lib/messages_lib/056e_6fa6_hop.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___056e_6fa6_hop Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 68 6f 70 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/056e_c7a9_read_20_3cremotefil.rel b/src/nos/lib/messages_lib/056e_c7a9_read_20_3cremotefil.rel deleted file mode 100644 index 50d0fd66..00000000 --- a/src/nos/lib/messages_lib/056e_c7a9_read_20_3cremotefil.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___056e_c7a9_read_20_3cremotefil Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 72 65 61 64 20 3c 72 65 6d -R 00 00 01 00 -T 0b 00 00 00 6f 74 65 66 69 6c 65 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/056f_19fa_readwritei_28_25u_2.rel b/src/nos/lib/messages_lib/056f_19fa_readwritei_28_25u_2.rel deleted file mode 100644 index 28129bdb..00000000 --- a/src/nos/lib/messages_lib/056f_19fa_readwritei_28_25u_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21 flags 0 -S ___056f_19fa_readwritei_28_25u_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1f 00 72 65 61 64 77 72 69 74 65 -R 00 00 01 00 -T 0b 00 00 00 69 28 25 75 2c 20 30 78 25 78 29 -R 00 00 01 00 -T 16 00 00 00 20 73 74 61 72 74 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/056f_df98_host.rel b/src/nos/lib/messages_lib/056f_df98_host.rel new file mode 100644 index 00000000..9a0780d3 --- /dev/null +++ b/src/nos/lib/messages_lib/056f_df98_host.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___056f_df98_host Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 68 6f 73 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0570_476e_hostname.rel b/src/nos/lib/messages_lib/0570_476e_hostname.rel new file mode 100644 index 00000000..0d339dff --- /dev/null +++ b/src/nos/lib/messages_lib/0570_476e_hostname.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___0570_476e_hostname Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 68 6f 73 74 6e 61 6d 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0570_79be_readwritei_28_29_20.rel b/src/nos/lib/messages_lib/0570_79be_readwritei_28_29_20.rel deleted file mode 100644 index f2a4b098..00000000 --- a/src/nos/lib/messages_lib/0570_79be_readwritei_28_29_20.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3b flags 0 -S ___0570_79be_readwritei_28_29_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 39 00 72 65 61 64 77 72 69 74 65 -R 00 00 01 00 -T 0b 00 00 00 69 28 29 20 72 65 74 75 72 6e 69 -R 00 00 01 00 -T 16 00 00 00 6e 67 20 66 72 6f 6d 20 67 65 74 -R 00 00 01 00 -T 21 00 00 00 6d 6f 64 65 28 69 6e 6f 29 3d 30 -R 00 00 01 00 -T 2c 00 00 00 78 25 78 2c 20 65 72 72 6f 72 20 -R 00 00 01 00 -T 37 00 00 00 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0571_001d_i_5fopen_28_25u_2c_.rel b/src/nos/lib/messages_lib/0571_001d_i_5fopen_28_25u_2c_.rel new file mode 100644 index 00000000..8715a852 --- /dev/null +++ b/src/nos/lib/messages_lib/0571_001d_i_5fopen_28_25u_2c_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0571_001d_i_5fopen_28_25u_2c_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 69 5f 6f 70 65 6e 28 25 75 +R 00 00 01 00 +T 0b 00 00 00 2c 20 25 75 29 20 73 74 61 72 74 +R 00 00 01 00 +T 16 00 00 00 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0571_94aa_readwritei_28_29_20.rel b/src/nos/lib/messages_lib/0571_94aa_readwritei_28_29_20.rel deleted file mode 100644 index 92a7159b..00000000 --- a/src/nos/lib/messages_lib/0571_94aa_readwritei_28_29_20.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___0571_94aa_readwritei_28_29_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 72 65 61 64 77 72 69 74 65 -R 00 00 01 00 -T 0b 00 00 00 69 28 29 20 72 65 74 75 72 6e 69 -R 00 00 01 00 -T 16 00 00 00 6e 67 2c 20 65 72 72 6f 72 20 25 -R 00 00 01 00 -T 21 00 00 00 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0572_67b0_readwritei_28_29_20.rel b/src/nos/lib/messages_lib/0572_67b0_readwritei_28_29_20.rel deleted file mode 100644 index a1ca4753..00000000 --- a/src/nos/lib/messages_lib/0572_67b0_readwritei_28_29_20.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___0572_67b0_readwritei_28_29_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 72 65 61 64 77 72 69 74 65 -R 00 00 01 00 -T 0b 00 00 00 69 28 29 20 72 65 74 75 72 6e 69 -R 00 00 01 00 -T 16 00 00 00 6e 67 2c 20 73 75 63 63 65 73 73 -R 00 00 01 00 -T 21 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0572_e51c_i_5fopen_28_29_20re.rel b/src/nos/lib/messages_lib/0572_e51c_i_5fopen_28_29_20re.rel new file mode 100644 index 00000000..208182e2 --- /dev/null +++ b/src/nos/lib/messages_lib/0572_e51c_i_5fopen_28_29_20re.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___0572_e51c_i_5fopen_28_29_20re Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 69 5f 6f 70 65 6e 28 29 20 +R 00 00 01 00 +T 0b 00 00 00 72 65 74 75 72 6e 69 6e 67 20 30 +R 00 00 01 00 +T 16 00 00 00 78 25 78 2c 20 73 75 63 63 65 73 +R 00 00 01 00 +T 21 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0573_64fb_i_5fopen_28_29_20re.rel b/src/nos/lib/messages_lib/0573_64fb_i_5fopen_28_29_20re.rel new file mode 100644 index 00000000..54774296 --- /dev/null +++ b/src/nos/lib/messages_lib/0573_64fb_i_5fopen_28_29_20re.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___0573_64fb_i_5fopen_28_29_20re Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 69 5f 6f 70 65 6e 28 29 20 +R 00 00 01 00 +T 0b 00 00 00 72 65 74 75 72 6e 69 6e 67 20 4e +R 00 00 01 00 +T 16 00 00 00 55 4c 4c 2c 20 65 72 72 6f 72 20 +R 00 00 01 00 +T 21 00 00 00 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0573_7ee6_reboot.rel b/src/nos/lib/messages_lib/0573_7ee6_reboot.rel deleted file mode 100644 index f86c7483..00000000 --- a/src/nos/lib/messages_lib/0573_7ee6_reboot.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0573_7ee6_reboot Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 72 65 62 6f 6f 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0574_1c64_received_20_25u_20b.rel b/src/nos/lib/messages_lib/0574_1c64_received_20_25u_20b.rel deleted file mode 100644 index bbde43e7..00000000 --- a/src/nos/lib/messages_lib/0574_1c64_received_20_25u_20b.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 4c flags 0 -S ___0574_1c64_received_20_25u_20b Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 4a 00 72 65 63 65 69 76 65 64 20 -R 00 00 01 00 -T 0b 00 00 00 25 75 20 62 61 64 74 79 70 65 20 -R 00 00 01 00 -T 16 00 00 00 25 75 20 62 6f 67 75 73 20 61 64 -R 00 00 01 00 -T 21 00 00 00 64 72 20 25 75 20 72 65 71 73 74 -R 00 00 01 00 -T 2c 00 00 00 20 69 6e 20 25 75 20 72 65 70 6c -R 00 00 01 00 -T 37 00 00 00 69 65 73 20 25 75 20 72 65 71 73 -R 00 00 01 00 -T 42 00 00 00 74 20 6f 75 74 20 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0574_2f25_icmp.rel b/src/nos/lib/messages_lib/0574_2f25_icmp.rel new file mode 100644 index 00000000..045abee7 --- /dev/null +++ b/src/nos/lib/messages_lib/0574_2f25_icmp.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0574_2f25_icmp Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 69 63 6d 70 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0575_5735_record.rel b/src/nos/lib/messages_lib/0575_5735_record.rel deleted file mode 100644 index cde57598..00000000 --- a/src/nos/lib/messages_lib/0575_5735_record.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0575_5735_record Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 72 65 63 6f 72 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0575_6bae_id_20mismatch_20hdr.rel b/src/nos/lib/messages_lib/0575_6bae_id_20mismatch_20hdr.rel new file mode 100644 index 00000000..524910e9 --- /dev/null +++ b/src/nos/lib/messages_lib/0575_6bae_id_20mismatch_20hdr.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___0575_6bae_id_20mismatch_20hdr Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 69 64 20 6d 69 73 6d 61 74 +R 00 00 01 00 +T 0b 00 00 00 63 68 20 68 64 72 69 64 3d 25 64 +R 00 00 01 00 +T 16 00 00 00 2c 20 6c 61 73 74 69 64 3d 25 64 +R 00 00 01 00 +T 21 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0576_18c5_recv_3a_20do_20.rel b/src/nos/lib/messages_lib/0576_18c5_recv_3a_20do_20.rel deleted file mode 100644 index 2b21a22e..00000000 --- a/src/nos/lib/messages_lib/0576_18c5_recv_3a_20do_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___0576_18c5_recv_3a_20do_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 72 65 63 76 3a 20 64 6f 20 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0576_dd41_ident.rel b/src/nos/lib/messages_lib/0576_dd41_ident.rel new file mode 100644 index 00000000..37b58ec4 --- /dev/null +++ b/src/nos/lib/messages_lib/0576_dd41_ident.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0576_dd41_ident Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 69 64 65 6e 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0577_8810_recv_3a_20dont_20.rel b/src/nos/lib/messages_lib/0577_8810_recv_3a_20dont_20.rel deleted file mode 100644 index 08faae7b..00000000 --- a/src/nos/lib/messages_lib/0577_8810_recv_3a_20dont_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___0577_8810_recv_3a_20dont_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 72 65 63 76 3a 20 64 6f 6e -R 00 00 01 00 -T 0b 00 00 00 74 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0577_fe83_ifconfig.rel b/src/nos/lib/messages_lib/0577_fe83_ifconfig.rel new file mode 100644 index 00000000..84c24617 --- /dev/null +++ b/src/nos/lib/messages_lib/0577_fe83_ifconfig.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___0577_fe83_ifconfig Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 69 66 63 6f 6e 66 69 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0578_6196_ignored_20_28hold_2.rel b/src/nos/lib/messages_lib/0578_6196_ignored_20_28hold_2.rel new file mode 100644 index 00000000..63835f30 --- /dev/null +++ b/src/nos/lib/messages_lib/0578_6196_ignored_20_28hold_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___0578_6196_ignored_20_28hold_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 69 67 6e 6f 72 65 64 20 28 +R 00 00 01 00 +T 0b 00 00 00 68 6f 6c 64 2d 64 6f 77 6e 29 3a +R 00 00 01 00 +T 16 00 00 00 20 25 73 20 25 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0578_84ef_recv_3a_20will_20.rel b/src/nos/lib/messages_lib/0578_84ef_recv_3a_20will_20.rel deleted file mode 100644 index 275c8338..00000000 --- a/src/nos/lib/messages_lib/0578_84ef_recv_3a_20will_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___0578_84ef_recv_3a_20will_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 72 65 63 76 3a 20 77 69 6c -R 00 00 01 00 -T 0b 00 00 00 6c 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0579_219c_recv_3a_20wont_20.rel b/src/nos/lib/messages_lib/0579_219c_recv_3a_20wont_20.rel deleted file mode 100644 index 6721b7a9..00000000 --- a/src/nos/lib/messages_lib/0579_219c_recv_3a_20wont_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___0579_219c_recv_3a_20wont_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 72 65 63 76 3a 20 77 6f 6e -R 00 00 01 00 -T 0b 00 00 00 74 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0579_dc84_info.rel b/src/nos/lib/messages_lib/0579_dc84_info.rel new file mode 100644 index 00000000..5e8ed05e --- /dev/null +++ b/src/nos/lib/messages_lib/0579_dc84_info.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0579_dc84_info Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 69 6e 66 6f 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/057a_155a_init_20script_3a_20.rel b/src/nos/lib/messages_lib/057a_155a_init_20script_3a_20.rel new file mode 100644 index 00000000..a6087bdf --- /dev/null +++ b/src/nos/lib/messages_lib/057a_155a_init_20script_3a_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___057a_155a_init_20script_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 69 6e 69 74 20 73 63 72 69 +R 00 00 01 00 +T 0b 00 00 00 70 74 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/057a_c7dc_refuse.rel b/src/nos/lib/messages_lib/057a_c7dc_refuse.rel deleted file mode 100644 index 138368ba..00000000 --- a/src/nos/lib/messages_lib/057a_c7dc_refuse.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___057a_c7dc_refuse Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 72 65 66 75 73 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/057b_0500_input_20line_3a_20_.rel b/src/nos/lib/messages_lib/057b_0500_input_20line_3a_20_.rel new file mode 100644 index 00000000..6ffe990e --- /dev/null +++ b/src/nos/lib/messages_lib/057b_0500_input_20line_3a_20_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___057b_0500_input_20line_3a_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 69 6e 70 75 74 20 6c 69 6e +R 00 00 01 00 +T 0b 00 00 00 65 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/057b_0e31_reject_0a.rel b/src/nos/lib/messages_lib/057b_0e31_reject_0a.rel deleted file mode 100644 index 8db28a2f..00000000 --- a/src/nos/lib/messages_lib/057b_0e31_reject_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___057b_0e31_reject_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 72 65 6a 65 63 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/057c_9677_interface.rel b/src/nos/lib/messages_lib/057c_9677_interface.rel new file mode 100644 index 00000000..4d696142 --- /dev/null +++ b/src/nos/lib/messages_lib/057c_9677_interface.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___057c_9677_interface Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 69 6e 74 65 72 66 61 63 65 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/057c_bc2e_remote.rel b/src/nos/lib/messages_lib/057c_bc2e_remote.rel deleted file mode 100644 index 38c539ce..00000000 --- a/src/nos/lib/messages_lib/057c_bc2e_remote.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___057c_bc2e_remote Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 72 65 6d 6f 74 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/057d_3fa5_ioctl.rel b/src/nos/lib/messages_lib/057d_3fa5_ioctl.rel new file mode 100644 index 00000000..bb159bd2 --- /dev/null +++ b/src/nos/lib/messages_lib/057d_3fa5_ioctl.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___057d_3fa5_ioctl Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 69 6f 63 74 6c 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/057d_4ff0_remote_20_5b_2dp_20.rel b/src/nos/lib/messages_lib/057d_4ff0_remote_20_5b_2dp_20.rel deleted file mode 100644 index 5585ddaf..00000000 --- a/src/nos/lib/messages_lib/057d_4ff0_remote_20_5b_2dp_20.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 44 flags 0 -S ___057d_4ff0_remote_20_5b_2dp_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 42 00 72 65 6d 6f 74 65 20 5b 2d -R 00 00 01 00 -T 0b 00 00 00 70 20 70 6f 72 74 5d 20 5b 2d 6b -R 00 00 01 00 -T 16 00 00 00 20 6b 65 79 5d 20 5b 2d 61 20 6b -R 00 00 01 00 -T 21 00 00 00 69 63 6b 61 64 64 72 5d 20 3c 61 -R 00 00 01 00 -T 2c 00 00 00 64 64 72 65 73 73 3e 20 65 78 69 -R 00 00 01 00 -T 37 00 00 00 74 7c 72 65 73 65 74 7c 6b 69 63 -R 00 00 01 00 -T 42 00 00 00 6b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/057e_3172_ip.rel b/src/nos/lib/messages_lib/057e_3172_ip.rel new file mode 100644 index 00000000..f59de76c --- /dev/null +++ b/src/nos/lib/messages_lib/057e_3172_ip.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 5 flags 0 +S ___057e_3172_ip Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 03 00 69 70 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/057e_cb71_rename.rel b/src/nos/lib/messages_lib/057e_cb71_rename.rel deleted file mode 100644 index 78fff059..00000000 --- a/src/nos/lib/messages_lib/057e_cb71_rename.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___057e_cb71_rename Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 72 65 6e 61 6d 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/057f_a493_rename_20_3coldfile.rel b/src/nos/lib/messages_lib/057f_a493_rename_20_3coldfile.rel deleted file mode 100644 index d57f70c0..00000000 --- a/src/nos/lib/messages_lib/057f_a493_rename_20_3coldfile.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___057f_a493_rename_20_3coldfile Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 72 65 6e 61 6d 65 20 3c 6f -R 00 00 01 00 -T 0b 00 00 00 6c 64 66 69 6c 65 3e 20 3c 6e 65 -R 00 00 01 00 -T 16 00 00 00 77 66 69 6c 65 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/057f_d229_ip_5frecv_28_25s_29.rel b/src/nos/lib/messages_lib/057f_d229_ip_5frecv_28_25s_29.rel new file mode 100644 index 00000000..79b269af --- /dev/null +++ b/src/nos/lib/messages_lib/057f_d229_ip_5frecv_28_25s_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___057f_d229_ip_5frecv_28_25s_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 69 70 5f 72 65 63 76 28 25 +R 00 00 01 00 +T 0b 00 00 00 73 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0580_289f_ip_5fsend_0a.rel b/src/nos/lib/messages_lib/0580_289f_ip_5fsend_0a.rel new file mode 100644 index 00000000..141865d5 --- /dev/null +++ b/src/nos/lib/messages_lib/0580_289f_ip_5fsend_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___0580_289f_ip_5fsend_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 69 70 5f 73 65 6e 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0580_6d5b_repeat.rel b/src/nos/lib/messages_lib/0580_6d5b_repeat.rel deleted file mode 100644 index 3260339b..00000000 --- a/src/nos/lib/messages_lib/0580_6d5b_repeat.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0580_6d5b_repeat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 72 65 70 65 61 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0581_0191_ipaddress.rel b/src/nos/lib/messages_lib/0581_0191_ipaddress.rel new file mode 100644 index 00000000..8ffb728b --- /dev/null +++ b/src/nos/lib/messages_lib/0581_0191_ipaddress.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0581_0191_ipaddress Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 69 70 61 64 64 72 65 73 73 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0581_01b9_repeat_20_3cinterva.rel b/src/nos/lib/messages_lib/0581_01b9_repeat_20_3cinterva.rel deleted file mode 100644 index 6ada46a4..00000000 --- a/src/nos/lib/messages_lib/0581_01b9_repeat_20_3cinterva.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___0581_01b9_repeat_20_3cinterva Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 72 65 70 65 61 74 20 3c 69 -R 00 00 01 00 -T 0b 00 00 00 6e 74 65 72 76 61 6c 3e 20 3c 63 -R 00 00 01 00 -T 16 00 00 00 6f 6d 6d 61 6e 64 3e 20 5b 61 72 -R 00 00 01 00 -T 21 00 00 00 67 73 2e 2e 2e 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0582_3f14_request.rel b/src/nos/lib/messages_lib/0582_3f14_request.rel deleted file mode 100644 index 72df4364..00000000 --- a/src/nos/lib/messages_lib/0582_3f14_request.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0582_3f14_request Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 72 65 71 75 65 73 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0582_dfc4_ipcp.rel b/src/nos/lib/messages_lib/0582_dfc4_ipcp.rel new file mode 100644 index 00000000..3ff4c5d2 --- /dev/null +++ b/src/nos/lib/messages_lib/0582_dfc4_ipcp.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0582_dfc4_ipcp Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 69 70 63 70 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0583_85b2_reset.rel b/src/nos/lib/messages_lib/0583_85b2_reset.rel deleted file mode 100644 index 255b3ab5..00000000 --- a/src/nos/lib/messages_lib/0583_85b2_reset.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0583_85b2_reset Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 72 65 73 65 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0583_94f9_ipcp_5fack_28_29.rel b/src/nos/lib/messages_lib/0583_94f9_ipcp_5fack_28_29.rel new file mode 100644 index 00000000..6de4df52 --- /dev/null +++ b/src/nos/lib/messages_lib/0583_94f9_ipcp_5fack_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0583_94f9_ipcp_5fack_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 69 70 63 70 5f 61 63 6b 28 +R 00 00 01 00 +T 0b 00 00 00 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0584_8ddb_ipcp_5finit_28_29.rel b/src/nos/lib/messages_lib/0584_8ddb_ipcp_5finit_28_29.rel new file mode 100644 index 00000000..e63e5d82 --- /dev/null +++ b/src/nos/lib/messages_lib/0584_8ddb_ipcp_5finit_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0584_8ddb_ipcp_5finit_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 69 70 63 70 5f 69 6e 69 74 +R 00 00 01 00 +T 0b 00 00 00 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0584_c3ce_response_20id_20_25.rel b/src/nos/lib/messages_lib/0584_c3ce_response_20id_20_25.rel deleted file mode 100644 index 78af9587..00000000 --- a/src/nos/lib/messages_lib/0584_c3ce_response_20id_20_25.rel +++ /dev/null @@ -1,24 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 51 flags 0 -S ___0584_c3ce_response_20id_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 4f 00 72 65 73 70 6f 6e 73 65 20 -R 00 00 01 00 -T 0b 00 00 00 69 64 20 25 75 20 28 72 74 74 20 -R 00 00 01 00 -T 16 00 00 00 25 6c 75 20 73 65 63 29 20 71 72 -R 00 00 01 00 -T 21 00 00 00 20 25 75 20 6f 70 63 6f 64 65 20 -R 00 00 01 00 -T 2c 00 00 00 25 75 20 61 61 20 25 75 20 74 63 -R 00 00 01 00 -T 37 00 00 00 20 25 75 20 72 64 20 25 75 20 72 -R 00 00 01 00 -T 42 00 00 00 61 20 25 75 20 72 63 6f 64 65 20 -R 00 00 01 00 -T 4d 00 00 00 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0585_9bd3_retr.rel b/src/nos/lib/messages_lib/0585_9bd3_retr.rel deleted file mode 100644 index efb2f90e..00000000 --- a/src/nos/lib/messages_lib/0585_9bd3_retr.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0585_9bd3_retr Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 72 65 74 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0585_fa2c_ipcp_5fmakeoptions_.rel b/src/nos/lib/messages_lib/0585_fa2c_ipcp_5fmakeoptions_.rel new file mode 100644 index 00000000..ae17ffe9 --- /dev/null +++ b/src/nos/lib/messages_lib/0585_fa2c_ipcp_5fmakeoptions_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___0585_fa2c_ipcp_5fmakeoptions_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 69 70 63 70 5f 6d 61 6b 65 +R 00 00 01 00 +T 0b 00 00 00 6f 70 74 69 6f 6e 73 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0586_5617_ipcp_5fmakereq_28_2.rel b/src/nos/lib/messages_lib/0586_5617_ipcp_5fmakereq_28_2.rel new file mode 100644 index 00000000..47c269ca --- /dev/null +++ b/src/nos/lib/messages_lib/0586_5617_ipcp_5fmakereq_28_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0586_5617_ipcp_5fmakereq_28_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 69 70 63 70 5f 6d 61 6b 65 +R 00 00 01 00 +T 0b 00 00 00 72 65 71 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0586_5e3c_retries.rel b/src/nos/lib/messages_lib/0586_5e3c_retries.rel deleted file mode 100644 index 28659b0f..00000000 --- a/src/nos/lib/messages_lib/0586_5e3c_retries.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0586_5e3c_retries Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 72 65 74 72 69 65 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0587_0acb_retry.rel b/src/nos/lib/messages_lib/0587_0acb_retry.rel deleted file mode 100644 index d4afe3bf..00000000 --- a/src/nos/lib/messages_lib/0587_0acb_retry.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0587_0acb_retry Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 72 65 74 72 79 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0587_c773_ipcp_5fnak_28_29.rel b/src/nos/lib/messages_lib/0587_c773_ipcp_5fnak_28_29.rel new file mode 100644 index 00000000..f1a5a291 --- /dev/null +++ b/src/nos/lib/messages_lib/0587_c773_ipcp_5fnak_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0587_c773_ipcp_5fnak_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 69 70 63 70 5f 6e 61 6b 28 +R 00 00 01 00 +T 0b 00 00 00 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0588_269f_ipcp_5freject_28_29.rel b/src/nos/lib/messages_lib/0588_269f_ipcp_5freject_28_29.rel new file mode 100644 index 00000000..d5bfc559 --- /dev/null +++ b/src/nos/lib/messages_lib/0588_269f_ipcp_5freject_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___0588_269f_ipcp_5freject_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 69 70 63 70 5f 72 65 6a 65 +R 00 00 01 00 +T 0b 00 00 00 63 74 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0588_7f96_rip_20accept_20_3cg.rel b/src/nos/lib/messages_lib/0588_7f96_rip_20accept_20_3cg.rel deleted file mode 100644 index e3405ab6..00000000 --- a/src/nos/lib/messages_lib/0588_7f96_rip_20accept_20_3cg.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___0588_7f96_rip_20accept_20_3cg Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 72 69 70 20 61 63 63 65 70 -R 00 00 01 00 -T 0b 00 00 00 74 20 3c 67 61 74 65 77 61 79 3e -R 00 00 01 00 -T 16 00 00 00 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0589_0241_ipcp_5frequest_28_2.rel b/src/nos/lib/messages_lib/0589_0241_ipcp_5frequest_28_2.rel new file mode 100644 index 00000000..a26cab60 --- /dev/null +++ b/src/nos/lib/messages_lib/0589_0241_ipcp_5frequest_28_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0589_0241_ipcp_5frequest_28_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 69 70 63 70 5f 72 65 71 75 +R 00 00 01 00 +T 0b 00 00 00 65 73 74 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0589_764e_rip_20add_20_3cdest.rel b/src/nos/lib/messages_lib/0589_764e_rip_20add_20_3cdest.rel deleted file mode 100644 index 396176a7..00000000 --- a/src/nos/lib/messages_lib/0589_764e_rip_20add_20_3cdest.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___0589_764e_rip_20add_20_3cdest Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 72 69 70 20 61 64 64 20 3c -R 00 00 01 00 -T 0b 00 00 00 64 65 73 74 3e 20 3c 69 6e 74 65 -R 00 00 01 00 -T 16 00 00 00 72 76 61 6c 3e 20 5b 3c 66 6c 61 -R 00 00 01 00 -T 21 00 00 00 67 73 3e 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/058a_2214_ipcp_5freset_28_29.rel b/src/nos/lib/messages_lib/058a_2214_ipcp_5freset_28_29.rel new file mode 100644 index 00000000..9aef4842 --- /dev/null +++ b/src/nos/lib/messages_lib/058a_2214_ipcp_5freset_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___058a_2214_ipcp_5freset_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 69 70 63 70 5f 72 65 73 65 +R 00 00 01 00 +T 0b 00 00 00 74 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/058a_3030_rip_20drop_20_3cdes.rel b/src/nos/lib/messages_lib/058a_3030_rip_20drop_20_3cdes.rel deleted file mode 100644 index 1ed41454..00000000 --- a/src/nos/lib/messages_lib/058a_3030_rip_20drop_20_3cdes.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___058a_3030_rip_20drop_20_3cdes Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 72 69 70 20 64 72 6f 70 20 -R 00 00 01 00 -T 0b 00 00 00 3c 64 65 73 74 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/058b_1977_ipcp_5fstarting_28_.rel b/src/nos/lib/messages_lib/058b_1977_ipcp_5fstarting_28_.rel new file mode 100644 index 00000000..48b83fea --- /dev/null +++ b/src/nos/lib/messages_lib/058b_1977_ipcp_5fstarting_28_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___058b_1977_ipcp_5fstarting_28_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 69 70 63 70 5f 73 74 61 72 +R 00 00 01 00 +T 0b 00 00 00 74 69 6e 67 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/058b_8661_rip_20refuse_20_3cg.rel b/src/nos/lib/messages_lib/058b_8661_rip_20refuse_20_3cg.rel deleted file mode 100644 index bd1f98d2..00000000 --- a/src/nos/lib/messages_lib/058b_8661_rip_20refuse_20_3cg.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___058b_8661_rip_20refuse_20_3cg Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 72 69 70 20 72 65 66 75 73 -R 00 00 01 00 -T 0b 00 00 00 65 20 3c 67 61 74 65 77 61 79 3e -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/058c_0e6d_ipcp_5fstopping_28_.rel b/src/nos/lib/messages_lib/058c_0e6d_ipcp_5fstopping_28_.rel new file mode 100644 index 00000000..95e9b436 --- /dev/null +++ b/src/nos/lib/messages_lib/058c_0e6d_ipcp_5fstopping_28_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___058c_0e6d_ipcp_5fstopping_28_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 69 70 63 70 5f 73 74 6f 70 +R 00 00 01 00 +T 0b 00 00 00 70 69 6e 67 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/058c_b917_rmd_20.rel b/src/nos/lib/messages_lib/058c_b917_rmd_20.rel deleted file mode 100644 index 9043f366..00000000 --- a/src/nos/lib/messages_lib/058c_b917_rmd_20.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___058c_b917_rmd_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 72 6d 64 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/058d_a56c_rmdir.rel b/src/nos/lib/messages_lib/058d_a56c_rmdir.rel deleted file mode 100644 index 9c497d78..00000000 --- a/src/nos/lib/messages_lib/058d_a56c_rmdir.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___058d_a56c_rmdir Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 72 6d 64 69 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/058d_f4c1_irtt.rel b/src/nos/lib/messages_lib/058d_f4c1_irtt.rel new file mode 100644 index 00000000..14859905 --- /dev/null +++ b/src/nos/lib/messages_lib/058d_f4c1_irtt.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___058d_f4c1_irtt Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 69 72 74 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/058e_516b_kick.rel b/src/nos/lib/messages_lib/058e_516b_kick.rel new file mode 100644 index 00000000..ac90bbda --- /dev/null +++ b/src/nos/lib/messages_lib/058e_516b_kick.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___058e_516b_kick Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 6b 69 63 6b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/058e_b9e3_rmdir_20_3cdirector.rel b/src/nos/lib/messages_lib/058e_b9e3_rmdir_20_3cdirector.rel deleted file mode 100644 index 35bb5bb2..00000000 --- a/src/nos/lib/messages_lib/058e_b9e3_rmdir_20_3cdirector.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___058e_b9e3_rmdir_20_3cdirector Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 72 6d 64 69 72 20 3c 64 69 -R 00 00 01 00 -T 0b 00 00 00 72 65 63 74 6f 72 79 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/058f_a61c_kill.rel b/src/nos/lib/messages_lib/058f_a61c_kill.rel new file mode 100644 index 00000000..e52c91c2 --- /dev/null +++ b/src/nos/lib/messages_lib/058f_a61c_kill.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___058f_a61c_kill Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 6b 69 6c 6c 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/058f_c459_rmhost.rel b/src/nos/lib/messages_lib/058f_c459_rmhost.rel deleted file mode 100644 index fe8fe76b..00000000 --- a/src/nos/lib/messages_lib/058f_c459_rmhost.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___058f_c459_rmhost Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 72 6d 68 6f 73 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0590_0284_route.rel b/src/nos/lib/messages_lib/0590_0284_route.rel deleted file mode 100644 index 6eb498bf..00000000 --- a/src/nos/lib/messages_lib/0590_0284_route.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___0590_0284_route Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 72 6f 75 74 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0590_ff9f_kill_20_3cjobnumber.rel b/src/nos/lib/messages_lib/0590_ff9f_kill_20_3cjobnumber.rel new file mode 100644 index 00000000..81e5635c --- /dev/null +++ b/src/nos/lib/messages_lib/0590_ff9f_kill_20_3cjobnumber.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___0590_ff9f_kill_20_3cjobnumber Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 6b 69 6c 6c 20 3c 6a 6f 62 +R 00 00 01 00 +T 0b 00 00 00 6e 75 6d 62 65 72 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0591_5e27_ksigs_20_25lu_20que.rel b/src/nos/lib/messages_lib/0591_5e27_ksigs_20_25lu_20que.rel new file mode 100644 index 00000000..59c1fa24 --- /dev/null +++ b/src/nos/lib/messages_lib/0591_5e27_ksigs_20_25lu_20que.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3c flags 0 +S ___0591_5e27_ksigs_20_25lu_20que Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 3a 00 6b 73 69 67 73 20 25 6c 75 +R 00 00 01 00 +T 0b 00 00 00 20 71 75 65 75 65 64 20 25 6c 75 +R 00 00 01 00 +T 16 00 00 00 20 68 69 77 61 74 20 25 75 20 77 +R 00 00 01 00 +T 21 00 00 00 6f 6b 65 6e 20 25 6c 75 20 6e 6f +R 00 00 01 00 +T 2c 00 00 00 70 73 20 25 6c 75 20 64 75 70 73 +R 00 00 01 00 +T 37 00 00 00 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0591_ea02_route_20add_20_3cde.rel b/src/nos/lib/messages_lib/0591_ea02_route_20add_20_3cde.rel deleted file mode 100644 index 3fc3a531..00000000 --- a/src/nos/lib/messages_lib/0591_ea02_route_20add_20_3cde.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3e flags 0 -S ___0591_ea02_route_20add_20_3cde Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 3c 00 72 6f 75 74 65 20 61 64 64 -R 00 00 01 00 -T 0b 00 00 00 20 3c 64 65 73 74 20 61 64 64 72 -R 00 00 01 00 -T 16 00 00 00 3e 5b 2f 3c 62 69 74 73 3e 5d 20 -R 00 00 01 00 -T 21 00 00 00 3c 69 66 20 6e 61 6d 65 3e 20 5b -R 00 00 01 00 -T 2c 00 00 00 67 61 74 65 77 61 79 5d 20 5b 6d -R 00 00 01 00 -T 37 00 00 00 65 74 72 69 63 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0592_1bbe_kwaits_20_25lu_20no.rel b/src/nos/lib/messages_lib/0592_1bbe_kwaits_20_25lu_20no.rel new file mode 100644 index 00000000..1a637d22 --- /dev/null +++ b/src/nos/lib/messages_lib/0592_1bbe_kwaits_20_25lu_20no.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___0592_1bbe_kwaits_20_25lu_20no Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 6b 77 61 69 74 73 20 25 6c +R 00 00 01 00 +T 0b 00 00 00 75 20 6e 6f 70 73 20 25 6c 75 20 +R 00 00 01 00 +T 16 00 00 00 66 72 6f 6d 20 69 6e 74 20 25 6c +R 00 00 01 00 +T 21 00 00 00 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0592_f461_route_20add_20_5b_2.rel b/src/nos/lib/messages_lib/0592_f461_route_20add_20_5b_2.rel deleted file mode 100644 index eb659771..00000000 --- a/src/nos/lib/messages_lib/0592_f461_route_20add_20_5b_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 17 flags 0 -S ___0592_f461_route_20add_20_5b_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 15 00 72 6f 75 74 65 20 61 64 64 -R 00 00 01 00 -T 0b 00 00 00 20 5b 25 73 5d 2f 25 75 20 25 73 -R 00 00 01 00 -T 16 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0593_a567_lcp.rel b/src/nos/lib/messages_lib/0593_a567_lcp.rel new file mode 100644 index 00000000..f7b20d93 --- /dev/null +++ b/src/nos/lib/messages_lib/0593_a567_lcp.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0593_a567_lcp Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 6c 63 70 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0593_d581_route_20addprivate_.rel b/src/nos/lib/messages_lib/0593_d581_route_20addprivate_.rel deleted file mode 100644 index 2db65627..00000000 --- a/src/nos/lib/messages_lib/0593_d581_route_20addprivate_.rel +++ /dev/null @@ -1,22 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 45 flags 0 -S ___0593_d581_route_20addprivate_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 43 00 72 6f 75 74 65 20 61 64 64 -R 00 00 01 00 -T 0b 00 00 00 70 72 69 76 61 74 65 20 3c 64 65 -R 00 00 01 00 -T 16 00 00 00 73 74 20 61 64 64 72 3e 5b 2f 3c -R 00 00 01 00 -T 21 00 00 00 62 69 74 73 3e 5d 20 3c 69 66 20 -R 00 00 01 00 -T 2c 00 00 00 6e 61 6d 65 3e 20 5b 67 61 74 65 -R 00 00 01 00 -T 37 00 00 00 77 61 79 5d 20 5b 6d 65 74 72 69 -R 00 00 01 00 -T 42 00 00 00 63 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0594_411d_lcp_5fack_28_29.rel b/src/nos/lib/messages_lib/0594_411d_lcp_5fack_28_29.rel new file mode 100644 index 00000000..4d35e5de --- /dev/null +++ b/src/nos/lib/messages_lib/0594_411d_lcp_5fack_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0594_411d_lcp_5fack_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 6c 63 70 5f 61 63 6b 28 29 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0594_bbd2_route_20drop_20_3cd.rel b/src/nos/lib/messages_lib/0594_bbd2_route_20drop_20_3cd.rel deleted file mode 100644 index 50db0fca..00000000 --- a/src/nos/lib/messages_lib/0594_bbd2_route_20drop_20_3cd.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 -S ___0594_bbd2_route_20drop_20_3cd Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 20 00 72 6f 75 74 65 20 64 72 6f -R 00 00 01 00 -T 0b 00 00 00 70 20 3c 64 65 73 74 20 61 64 64 -R 00 00 01 00 -T 16 00 00 00 72 3e 5b 2f 3c 62 69 74 73 3e 5d -R 00 00 01 00 -T 21 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0595_103e_route_20drop_20_5b_.rel b/src/nos/lib/messages_lib/0595_103e_route_20drop_20_5b_.rel deleted file mode 100644 index a8fd34dd..00000000 --- a/src/nos/lib/messages_lib/0595_103e_route_20drop_20_5b_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___0595_103e_route_20drop_20_5b_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 72 6f 75 74 65 20 64 72 6f -R 00 00 01 00 -T 0b 00 00 00 70 20 5b 25 73 5d 2f 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0595_2c24_lcp_5finit_28_29.rel b/src/nos/lib/messages_lib/0595_2c24_lcp_5finit_28_29.rel new file mode 100644 index 00000000..1687740e --- /dev/null +++ b/src/nos/lib/messages_lib/0595_2c24_lcp_5finit_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0595_2c24_lcp_5finit_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 6c 63 70 5f 69 6e 69 74 28 +R 00 00 01 00 +T 0b 00 00 00 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0596_a5ec_route_20lookup_20_3.rel b/src/nos/lib/messages_lib/0596_a5ec_route_20lookup_20_3.rel deleted file mode 100644 index 7eeb878e..00000000 --- a/src/nos/lib/messages_lib/0596_a5ec_route_20lookup_20_3.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___0596_a5ec_route_20lookup_20_3 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 72 6f 75 74 65 20 6c 6f 6f -R 00 00 01 00 -T 0b 00 00 00 6b 75 70 20 3c 64 65 73 74 20 61 -R 00 00 01 00 -T 16 00 00 00 64 64 72 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0596_f060_lcp_5fmakeoptions_2.rel b/src/nos/lib/messages_lib/0596_f060_lcp_5fmakeoptions_2.rel new file mode 100644 index 00000000..6177f077 --- /dev/null +++ b/src/nos/lib/messages_lib/0596_f060_lcp_5fmakeoptions_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___0596_f060_lcp_5fmakeoptions_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 6c 63 70 5f 6d 61 6b 65 6f +R 00 00 01 00 +T 0b 00 00 00 70 74 69 6f 6e 73 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0597_26c3_lcp_5fmakereq_28_29.rel b/src/nos/lib/messages_lib/0597_26c3_lcp_5fmakereq_28_29.rel new file mode 100644 index 00000000..dea0184a --- /dev/null +++ b/src/nos/lib/messages_lib/0597_26c3_lcp_5fmakereq_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___0597_26c3_lcp_5fmakereq_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 6c 63 70 5f 6d 61 6b 65 72 +R 00 00 01 00 +T 0b 00 00 00 65 71 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0597_ae23_route_20to_20self_3.rel b/src/nos/lib/messages_lib/0597_ae23_route_20to_20self_3.rel deleted file mode 100644 index 388ee4b8..00000000 --- a/src/nos/lib/messages_lib/0597_ae23_route_20to_20self_3.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___0597_ae23_route_20to_20self_3 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 72 6f 75 74 65 20 74 6f 20 -R 00 00 01 00 -T 0b 00 00 00 73 65 6c 66 3a 20 25 73 20 25 6c -R 00 00 01 00 -T 16 00 00 00 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0598_1297_lcp_5fnak_28_29.rel b/src/nos/lib/messages_lib/0598_1297_lcp_5fnak_28_29.rel new file mode 100644 index 00000000..1abe502e --- /dev/null +++ b/src/nos/lib/messages_lib/0598_1297_lcp_5fnak_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0598_1297_lcp_5fnak_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 6c 63 70 5f 6e 61 6b 28 29 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0598_2c09_rtimer.rel b/src/nos/lib/messages_lib/0598_2c09_rtimer.rel deleted file mode 100644 index 31f7b38a..00000000 --- a/src/nos/lib/messages_lib/0598_2c09_rtimer.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0598_2c09_rtimer Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 72 74 69 6d 65 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0599_6ddc_lcp_5freject_28_29.rel b/src/nos/lib/messages_lib/0599_6ddc_lcp_5freject_28_29.rel new file mode 100644 index 00000000..d1cc5ecc --- /dev/null +++ b/src/nos/lib/messages_lib/0599_6ddc_lcp_5freject_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0599_6ddc_lcp_5freject_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 6c 63 70 5f 72 65 6a 65 63 +R 00 00 01 00 +T 0b 00 00 00 74 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0599_ae54_rtt.rel b/src/nos/lib/messages_lib/0599_ae54_rtt.rel deleted file mode 100644 index 4717a41e..00000000 --- a/src/nos/lib/messages_lib/0599_ae54_rtt.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0599_ae54_rtt Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 72 74 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/059a_02fc_running.rel b/src/nos/lib/messages_lib/059a_02fc_running.rel deleted file mode 100644 index f854f5d9..00000000 --- a/src/nos/lib/messages_lib/059a_02fc_running.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___059a_02fc_running Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 72 75 6e 6e 69 6e 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/059a_7295_lcp_5frequest_28_29.rel b/src/nos/lib/messages_lib/059a_7295_lcp_5frequest_28_29.rel new file mode 100644 index 00000000..a7e28a81 --- /dev/null +++ b/src/nos/lib/messages_lib/059a_7295_lcp_5frequest_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___059a_7295_lcp_5frequest_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 6c 63 70 5f 72 65 71 75 65 +R 00 00 01 00 +T 0b 00 00 00 73 74 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/059b_2dcd_lcp_5freset_28_29.rel b/src/nos/lib/messages_lib/059b_2dcd_lcp_5freset_28_29.rel new file mode 100644 index 00000000..ec3d8121 --- /dev/null +++ b/src/nos/lib/messages_lib/059b_2dcd_lcp_5freset_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___059b_2dcd_lcp_5freset_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 6c 63 70 5f 72 65 73 65 74 +R 00 00 01 00 +T 0b 00 00 00 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/059b_de1b_rwsetup_28_25u_2c_2.rel b/src/nos/lib/messages_lib/059b_de1b_rwsetup_28_25u_2c_2.rel deleted file mode 100644 index 9a0bd4cd..00000000 --- a/src/nos/lib/messages_lib/059b_de1b_rwsetup_28_25u_2c_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___059b_de1b_rwsetup_28_25u_2c_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 72 77 73 65 74 75 70 28 25 -R 00 00 01 00 -T 0b 00 00 00 75 2c 20 30 78 25 78 2c 20 25 75 -R 00 00 01 00 -T 16 00 00 00 2c 20 25 75 29 20 73 74 61 72 74 -R 00 00 01 00 -T 21 00 00 00 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/059c_7f24_rwsetup_28_29_20ret.rel b/src/nos/lib/messages_lib/059c_7f24_rwsetup_28_29_20ret.rel deleted file mode 100644 index 1b56966b..00000000 --- a/src/nos/lib/messages_lib/059c_7f24_rwsetup_28_29_20ret.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___059c_7f24_rwsetup_28_29_20ret Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 72 77 73 65 74 75 70 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 -R 00 00 01 00 -T 16 00 00 00 30 78 25 78 2c 20 73 75 63 63 65 -R 00 00 01 00 -T 21 00 00 00 73 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/059c_89ae_lcp_5fstarting_28_2.rel b/src/nos/lib/messages_lib/059c_89ae_lcp_5fstarting_28_2.rel new file mode 100644 index 00000000..4dd5daa6 --- /dev/null +++ b/src/nos/lib/messages_lib/059c_89ae_lcp_5fstarting_28_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___059c_89ae_lcp_5fstarting_28_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 6c 63 70 5f 73 74 61 72 74 +R 00 00 01 00 +T 0b 00 00 00 69 6e 67 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/059d_9eb4_lcp_5fstopping_28_2.rel b/src/nos/lib/messages_lib/059d_9eb4_lcp_5fstopping_28_2.rel new file mode 100644 index 00000000..bd489329 --- /dev/null +++ b/src/nos/lib/messages_lib/059d_9eb4_lcp_5fstopping_28_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___059d_9eb4_lcp_5fstopping_28_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 6c 63 70 5f 73 74 6f 70 70 +R 00 00 01 00 +T 0b 00 00 00 69 6e 67 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/059d_d9aa_rwsetup_28_29_20ret.rel b/src/nos/lib/messages_lib/059d_d9aa_rwsetup_28_29_20ret.rel deleted file mode 100644 index 44f99487..00000000 --- a/src/nos/lib/messages_lib/059d_d9aa_rwsetup_28_29_20ret.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___059d_d9aa_rwsetup_28_29_20ret Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 72 77 73 65 74 75 70 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 -R 00 00 01 00 -T 16 00 00 00 4e 55 4c 4c 2c 20 65 72 72 6f 72 -R 00 00 01 00 -T 21 00 00 00 20 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/059e_b4d7_rxbuf.rel b/src/nos/lib/messages_lib/059e_b4d7_rxbuf.rel deleted file mode 100644 index 644b8a55..00000000 --- a/src/nos/lib/messages_lib/059e_b4d7_rxbuf.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___059e_b4d7_rxbuf Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 72 78 62 75 66 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/059e_cbc2_line_20not_20up.rel b/src/nos/lib/messages_lib/059e_cbc2_line_20not_20up.rel new file mode 100644 index 00000000..5e40f1e5 --- /dev/null +++ b/src/nos/lib/messages_lib/059e_cbc2_line_20not_20up.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___059e_cbc2_line_20not_20up Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 6c 69 6e 65 20 6e 6f 74 20 +R 00 00 01 00 +T 0b 00 00 00 75 70 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/059f_b632_link.rel b/src/nos/lib/messages_lib/059f_b632_link.rel new file mode 100644 index 00000000..86eca863 --- /dev/null +++ b/src/nos/lib/messages_lib/059f_b632_link.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___059f_b632_link Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 6c 69 6e 6b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/059f_d2fd_sbrk.rel b/src/nos/lib/messages_lib/059f_d2fd_sbrk.rel deleted file mode 100644 index 1acfc279..00000000 --- a/src/nos/lib/messages_lib/059f_d2fd_sbrk.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___059f_d2fd_sbrk Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 73 62 72 6b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a0_01ce_link_20header_20mis.rel b/src/nos/lib/messages_lib/05a0_01ce_link_20header_20mis.rel new file mode 100644 index 00000000..3df16a2a --- /dev/null +++ b/src/nos/lib/messages_lib/05a0_01ce_link_20header_20mis.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___05a0_01ce_link_20header_20mis Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 6c 69 6e 6b 20 68 65 61 64 +R 00 00 01 00 +T 0b 00 00 00 65 72 20 6d 69 73 73 69 6e 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a0_3365_scrollback.rel b/src/nos/lib/messages_lib/05a0_3365_scrollback.rel deleted file mode 100644 index a8a90680..00000000 --- a/src/nos/lib/messages_lib/05a0_3365_scrollback.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___05a0_3365_scrollback Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 73 63 72 6f 6c 6c 62 61 63 -R 00 00 01 00 -T 0b 00 00 00 6b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a1_9a3e_send.rel b/src/nos/lib/messages_lib/05a1_9a3e_send.rel deleted file mode 100644 index 5ea878aa..00000000 --- a/src/nos/lib/messages_lib/05a1_9a3e_send.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___05a1_9a3e_send Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 73 65 6e 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a1_dfe4_linkaddress.rel b/src/nos/lib/messages_lib/05a1_dfe4_linkaddress.rel new file mode 100644 index 00000000..0fd45f65 --- /dev/null +++ b/src/nos/lib/messages_lib/05a1_dfe4_linkaddress.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___05a1_dfe4_linkaddress Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 6c 69 6e 6b 61 64 64 72 65 +R 00 00 01 00 +T 0b 00 00 00 73 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a2_7bad_list.rel b/src/nos/lib/messages_lib/05a2_7bad_list.rel new file mode 100644 index 00000000..5f8d8e7c --- /dev/null +++ b/src/nos/lib/messages_lib/05a2_7bad_list.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___05a2_7bad_list Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 6c 69 73 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a2_e397_send_20_22string_22.rel b/src/nos/lib/messages_lib/05a2_e397_send_20_22string_22.rel deleted file mode 100644 index 1dedfbfe..00000000 --- a/src/nos/lib/messages_lib/05a2_e397_send_20_22string_22.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21 flags 0 -S ___05a2_e397_send_20_22string_22 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1f 00 73 65 6e 64 20 22 73 74 72 -R 00 00 01 00 -T 0b 00 00 00 69 6e 67 22 20 5b 3c 6d 69 6c 6c -R 00 00 01 00 -T 16 00 00 00 69 73 65 63 6f 6e 64 73 3e 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a3_4346_listen.rel b/src/nos/lib/messages_lib/05a3_4346_listen.rel new file mode 100644 index 00000000..8bf3f651 --- /dev/null +++ b/src/nos/lib/messages_lib/05a3_4346_listen.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___05a3_4346_listen Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 6c 69 73 74 65 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a3_5c19_sender.rel b/src/nos/lib/messages_lib/05a3_5c19_sender.rel deleted file mode 100644 index 498aa1ac..00000000 --- a/src/nos/lib/messages_lib/05a3_5c19_sender.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___05a3_5c19_sender Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 73 65 6e 64 65 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a4_a5dd_listservers.rel b/src/nos/lib/messages_lib/05a4_a5dd_listservers.rel new file mode 100644 index 00000000..c5bab5dd --- /dev/null +++ b/src/nos/lib/messages_lib/05a4_a5dd_listservers.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___05a4_a5dd_listservers Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 6c 69 73 74 73 65 72 76 65 +R 00 00 01 00 +T 0b 00 00 00 72 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a4_efea_sending_20job_20_25.rel b/src/nos/lib/messages_lib/05a4_efea_sending_20job_20_25.rel deleted file mode 100644 index 29181831..00000000 --- a/src/nos/lib/messages_lib/05a4_efea_sending_20job_20_25.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___05a4_efea_sending_20job_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 73 65 6e 64 69 6e 67 20 6a -R 00 00 01 00 -T 0b 00 00 00 6f 62 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a5_7321_sent_3a_20do_20.rel b/src/nos/lib/messages_lib/05a5_7321_sent_3a_20do_20.rel deleted file mode 100644 index aa19c205..00000000 --- a/src/nos/lib/messages_lib/05a5_7321_sent_3a_20do_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___05a5_7321_sent_3a_20do_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 73 65 6e 74 3a 20 64 6f 20 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a5_f2d8_local.rel b/src/nos/lib/messages_lib/05a5_f2d8_local.rel new file mode 100644 index 00000000..03ee7242 --- /dev/null +++ b/src/nos/lib/messages_lib/05a5_f2d8_local.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___05a5_f2d8_local Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 6c 6f 63 61 6c 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a6_68f9_log.rel b/src/nos/lib/messages_lib/05a6_68f9_log.rel new file mode 100644 index 00000000..56b386cf --- /dev/null +++ b/src/nos/lib/messages_lib/05a6_68f9_log.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___05a6_68f9_log Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 6c 6f 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a6_db3c_sent_3a_20dont_20.rel b/src/nos/lib/messages_lib/05a6_db3c_sent_3a_20dont_20.rel deleted file mode 100644 index 5ebdc77c..00000000 --- a/src/nos/lib/messages_lib/05a6_db3c_sent_3a_20dont_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___05a6_db3c_sent_3a_20dont_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 73 65 6e 74 3a 20 64 6f 6e -R 00 00 01 00 -T 0b 00 00 00 74 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a7_d7c3_sent_3a_20will_20.rel b/src/nos/lib/messages_lib/05a7_d7c3_sent_3a_20will_20.rel deleted file mode 100644 index 8f446340..00000000 --- a/src/nos/lib/messages_lib/05a7_d7c3_sent_3a_20will_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___05a7_d7c3_sent_3a_20will_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 73 65 6e 74 3a 20 77 69 6c -R 00 00 01 00 -T 0b 00 00 00 6c 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a7_feb4_logfile.rel b/src/nos/lib/messages_lib/05a7_feb4_logfile.rel new file mode 100644 index 00000000..efc044c8 --- /dev/null +++ b/src/nos/lib/messages_lib/05a7_feb4_logfile.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___05a7_feb4_logfile Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 6c 6f 67 66 69 6c 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a8_52c6_login_3a_20.rel b/src/nos/lib/messages_lib/05a8_52c6_login_3a_20.rel new file mode 100644 index 00000000..40370f76 --- /dev/null +++ b/src/nos/lib/messages_lib/05a8_52c6_login_3a_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___05a8_52c6_login_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 6c 6f 67 69 6e 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a8_72b0_sent_3a_20wont_20.rel b/src/nos/lib/messages_lib/05a8_72b0_sent_3a_20wont_20.rel deleted file mode 100644 index be1048ee..00000000 --- a/src/nos/lib/messages_lib/05a8_72b0_sent_3a_20wont_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___05a8_72b0_sent_3a_20wont_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 73 65 6e 74 3a 20 77 6f 6e -R 00 00 01 00 -T 0b 00 00 00 74 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a9_2d5d_serial_20line_20IP_.rel b/src/nos/lib/messages_lib/05a9_2d5d_serial_20line_20IP_.rel deleted file mode 100644 index 380a5c73..00000000 --- a/src/nos/lib/messages_lib/05a9_2d5d_serial_20line_20IP_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___05a9_2d5d_serial_20line_20IP_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 73 65 72 69 61 6c 20 6c 69 -R 00 00 01 00 -T 0b 00 00 00 6e 65 20 49 50 3a 20 6c 65 6e 3a -R 00 00 01 00 -T 16 00 00 00 20 25 33 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05a9_a516_logscreen.rel b/src/nos/lib/messages_lib/05a9_a516_logscreen.rel new file mode 100644 index 00000000..f2f96f4f --- /dev/null +++ b/src/nos/lib/messages_lib/05a9_a516_logscreen.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___05a9_a516_logscreen Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 6c 6f 67 73 63 72 65 65 6e +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05aa_8f77_lookup.rel b/src/nos/lib/messages_lib/05aa_8f77_lookup.rel new file mode 100644 index 00000000..bead1d53 --- /dev/null +++ b/src/nos/lib/messages_lib/05aa_8f77_lookup.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___05aa_8f77_lookup Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 6c 6f 6f 6b 75 70 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05aa_f33e_serial_20line_20VJ_.rel b/src/nos/lib/messages_lib/05aa_f33e_serial_20line_20VJ_.rel deleted file mode 100644 index d0059a82..00000000 --- a/src/nos/lib/messages_lib/05aa_f33e_serial_20line_20VJ_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2a flags 0 -S ___05aa_f33e_serial_20line_20VJ_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 28 00 73 65 72 69 61 6c 20 6c 69 -R 00 00 01 00 -T 0b 00 00 00 6e 65 20 56 4a 20 43 6f 6d 70 72 -R 00 00 01 00 -T 16 00 00 00 65 73 73 65 64 20 54 43 50 3a 20 -R 00 00 01 00 -T 21 00 00 00 6c 65 6e 20 25 33 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ab_6f7f_serial_20line_20VJ_.rel b/src/nos/lib/messages_lib/05ab_6f7f_serial_20line_20VJ_.rel deleted file mode 100644 index 0cf24653..00000000 --- a/src/nos/lib/messages_lib/05ab_6f7f_serial_20line_20VJ_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2c flags 0 -S ___05ab_6f7f_serial_20line_20VJ_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2a 00 73 65 72 69 61 6c 20 6c 69 -R 00 00 01 00 -T 0b 00 00 00 6e 65 20 56 4a 20 55 6e 63 6f 6d -R 00 00 01 00 -T 16 00 00 00 70 72 65 73 73 65 64 20 54 43 50 -R 00 00 01 00 -T 21 00 00 00 3a 20 6c 65 6e 20 25 33 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ab_7d51_ls.rel b/src/nos/lib/messages_lib/05ab_7d51_ls.rel new file mode 100644 index 00000000..07de5f25 --- /dev/null +++ b/src/nos/lib/messages_lib/05ab_7d51_ls.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 5 flags 0 +S ___05ab_7d51_ls Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 03 00 6c 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ac_634b_lseek.rel b/src/nos/lib/messages_lib/05ac_634b_lseek.rel new file mode 100644 index 00000000..21d4b437 --- /dev/null +++ b/src/nos/lib/messages_lib/05ac_634b_lseek.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___05ac_634b_lseek Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 6c 73 65 65 6b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ac_6f48_server_20retries.rel b/src/nos/lib/messages_lib/05ac_6f48_server_20retries.rel deleted file mode 100644 index 3ac75c50..00000000 --- a/src/nos/lib/messages_lib/05ac_6f48_server_20retries.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___05ac_6f48_server_20retries Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 73 65 72 76 65 72 20 72 65 -R 00 00 01 00 -T 0b 00 00 00 74 72 69 65 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ad_0288_magic.rel b/src/nos/lib/messages_lib/05ad_0288_magic.rel new file mode 100644 index 00000000..acd22f78 --- /dev/null +++ b/src/nos/lib/messages_lib/05ad_0288_magic.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___05ad_0288_magic Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 6d 61 67 69 63 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ad_f0af_server_20trace.rel b/src/nos/lib/messages_lib/05ad_f0af_server_20trace.rel deleted file mode 100644 index f4977693..00000000 --- a/src/nos/lib/messages_lib/05ad_f0af_server_20trace.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___05ad_f0af_server_20trace Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 73 65 72 76 65 72 20 74 72 -R 00 00 01 00 -T 0b 00 00 00 61 63 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ae_868b_maibox_20name_20not.rel b/src/nos/lib/messages_lib/05ae_868b_maibox_20name_20not.rel new file mode 100644 index 00000000..2bfc8230 --- /dev/null +++ b/src/nos/lib/messages_lib/05ae_868b_maibox_20name_20not.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___05ae_868b_maibox_20name_20not Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 6d 61 69 62 6f 78 20 6e 61 +R 00 00 01 00 +T 0b 00 00 00 6d 65 20 6e 6f 74 20 73 65 74 20 +R 00 00 01 00 +T 16 00 00 00 79 65 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ae_db9a_session.rel b/src/nos/lib/messages_lib/05ae_db9a_session.rel deleted file mode 100644 index 683aa3ef..00000000 --- a/src/nos/lib/messages_lib/05ae_db9a_session.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___05ae_db9a_session Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 73 65 73 73 69 6f 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05af_2d7f_mailbox.rel b/src/nos/lib/messages_lib/05af_2d7f_mailbox.rel new file mode 100644 index 00000000..423a720b --- /dev/null +++ b/src/nos/lib/messages_lib/05af_2d7f_mailbox.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___05af_2d7f_mailbox Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 6d 61 69 6c 62 6f 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05af_3031_set_20mycall_20firs.rel b/src/nos/lib/messages_lib/05af_3031_set_20mycall_20firs.rel deleted file mode 100644 index 69b5afc0..00000000 --- a/src/nos/lib/messages_lib/05af_3031_set_20mycall_20firs.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___05af_3031_set_20mycall_20firs Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 73 65 74 20 6d 79 63 61 6c -R 00 00 01 00 -T 0b 00 00 00 6c 20 66 69 72 73 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b0_1de4_shell.rel b/src/nos/lib/messages_lib/05b0_1de4_shell.rel deleted file mode 100644 index 5b3fa00d..00000000 --- a/src/nos/lib/messages_lib/05b0_1de4_shell.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___05b0_1de4_shell Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 73 68 65 6c 6c 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b0_2084_mailbox_20name_20no.rel b/src/nos/lib/messages_lib/05b0_2084_mailbox_20name_20no.rel new file mode 100644 index 00000000..860d1058 --- /dev/null +++ b/src/nos/lib/messages_lib/05b0_2084_mailbox_20name_20no.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 35 flags 0 +S ___05b0_2084_mailbox_20name_20no Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 33 00 6d 61 69 6c 62 6f 78 20 6e +R 00 00 01 00 +T 0b 00 00 00 61 6d 65 20 6e 6f 74 20 64 65 66 +R 00 00 01 00 +T 16 00 00 00 69 6e 65 64 20 79 65 74 2e 28 70 +R 00 00 01 00 +T 21 00 00 00 6f 70 20 6d 61 69 6c 62 6f 78 20 +R 00 00 01 00 +T 2c 00 00 00 3c 6e 61 6d 65 3e 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b1_3faf_signal.rel b/src/nos/lib/messages_lib/05b1_3faf_signal.rel deleted file mode 100644 index 0caf8dcc..00000000 --- a/src/nos/lib/messages_lib/05b1_3faf_signal.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___05b1_3faf_signal Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 73 69 67 6e 61 6c 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b1_86f8_mailhost.rel b/src/nos/lib/messages_lib/05b1_86f8_mailhost.rel new file mode 100644 index 00000000..3a4a623f --- /dev/null +++ b/src/nos/lib/messages_lib/05b1_86f8_mailhost.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___05b1_86f8_mailhost Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 6d 61 69 6c 68 6f 73 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b2_63b8_mailhost_20not_20de.rel b/src/nos/lib/messages_lib/05b2_63b8_mailhost_20not_20de.rel new file mode 100644 index 00000000..81d78a85 --- /dev/null +++ b/src/nos/lib/messages_lib/05b2_63b8_mailhost_20not_20de.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 32 flags 0 +S ___05b2_63b8_mailhost_20not_20de Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 30 00 6d 61 69 6c 68 6f 73 74 20 +R 00 00 01 00 +T 0b 00 00 00 6e 6f 74 20 64 65 66 69 6e 65 64 +R 00 00 01 00 +T 16 00 00 00 20 79 65 74 2e 28 70 6f 70 20 6d +R 00 00 01 00 +T 21 00 00 00 61 69 6c 68 6f 73 74 20 3c 68 6f +R 00 00 01 00 +T 2c 00 00 00 73 74 3e 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b2_dce5_size.rel b/src/nos/lib/messages_lib/05b2_dce5_size.rel deleted file mode 100644 index ea769f0d..00000000 --- a/src/nos/lib/messages_lib/05b2_dce5_size.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___05b2_dce5_size Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 73 69 7a 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b3_c3a4_mainproc_28_29.rel b/src/nos/lib/messages_lib/05b3_c3a4_mainproc_28_29.rel new file mode 100644 index 00000000..def35ee4 --- /dev/null +++ b/src/nos/lib/messages_lib/05b3_c3a4_mainproc_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___05b3_c3a4_mainproc_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 6d 61 69 6e 70 72 6f 63 28 +R 00 00 01 00 +T 0b 00 00 00 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b3_f163_sizes.rel b/src/nos/lib/messages_lib/05b3_f163_sizes.rel deleted file mode 100644 index f318db8b..00000000 --- a/src/nos/lib/messages_lib/05b3_f163_sizes.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___05b3_f163_sizes Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 73 69 7a 65 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b4_0ca2_mainptab_28_29.rel b/src/nos/lib/messages_lib/05b4_0ca2_mainptab_28_29.rel new file mode 100644 index 00000000..2baacc99 --- /dev/null +++ b/src/nos/lib/messages_lib/05b4_0ca2_mainptab_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___05b4_0ca2_mainptab_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 6d 61 69 6e 70 74 61 62 28 +R 00 00 01 00 +T 0b 00 00 00 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b4_4046_smtp_20daemon_20ent.rel b/src/nos/lib/messages_lib/05b4_4046_smtp_20daemon_20ent.rel deleted file mode 100644 index 71f6389e..00000000 --- a/src/nos/lib/messages_lib/05b4_4046_smtp_20daemon_20ent.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___05b4_4046_smtp_20daemon_20ent Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 73 6d 74 70 20 64 61 65 6d -R 00 00 01 00 -T 0b 00 00 00 6f 6e 20 65 6e 74 65 72 65 64 2c -R 00 00 01 00 -T 16 00 00 00 20 74 61 72 67 65 74 20 3d 20 25 -R 00 00 01 00 -T 21 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b5_139d_maxclients.rel b/src/nos/lib/messages_lib/05b5_139d_maxclients.rel new file mode 100644 index 00000000..a64c4566 --- /dev/null +++ b/src/nos/lib/messages_lib/05b5_139d_maxclients.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___05b5_139d_maxclients Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 6d 61 78 63 6c 69 65 6e 74 +R 00 00 01 00 +T 0b 00 00 00 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b5_8e2a_smtp_20daemon_3a_20.rel b/src/nos/lib/messages_lib/05b5_8e2a_smtp_20daemon_3a_20.rel deleted file mode 100644 index e39fac8c..00000000 --- a/src/nos/lib/messages_lib/05b5_8e2a_smtp_20daemon_3a_20.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___05b5_8e2a_smtp_20daemon_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 73 6d 74 70 20 64 61 65 6d -R 00 00 01 00 -T 0b 00 00 00 6f 6e 3a 20 74 6f 6f 20 6d 61 6e -R 00 00 01 00 -T 16 00 00 00 79 20 70 72 6f 63 65 73 73 65 73 -R 00 00 01 00 -T 21 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b6_23e1_smtp_20job_20_25s_2.rel b/src/nos/lib/messages_lib/05b6_23e1_smtp_20job_20_25s_2.rel deleted file mode 100644 index c1a8a20a..00000000 --- a/src/nos/lib/messages_lib/05b6_23e1_smtp_20job_20_25s_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 -S ___05b6_23e1_smtp_20job_20_25s_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 20 00 73 6d 74 70 20 6a 6f 62 20 -R 00 00 01 00 -T 0b 00 00 00 25 73 20 72 65 74 75 72 6e 65 64 -R 00 00 01 00 -T 16 00 00 00 20 74 6f 20 73 65 6e 64 65 72 0a -R 00 00 01 00 -T 21 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b6_8d56_maxframe.rel b/src/nos/lib/messages_lib/05b6_8d56_maxframe.rel new file mode 100644 index 00000000..7e9b20da --- /dev/null +++ b/src/nos/lib/messages_lib/05b6_8d56_maxframe.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___05b6_8d56_maxframe Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 6d 61 78 66 72 61 6d 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b7_d5aa_maximum_20route_20q.rel b/src/nos/lib/messages_lib/05b7_d5aa_maximum_20route_20q.rel new file mode 100644 index 00000000..f72392cc --- /dev/null +++ b/src/nos/lib/messages_lib/05b7_d5aa_maximum_20route_20q.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___05b7_d5aa_maximum_20route_20q Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 6d 61 78 69 6d 75 6d 20 72 +R 00 00 01 00 +T 0b 00 00 00 6f 75 74 65 20 71 75 61 6c 69 74 +R 00 00 01 00 +T 16 00 00 00 79 20 69 73 20 32 35 35 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b7_ed89_smtp_20mode_3a_20_2.rel b/src/nos/lib/messages_lib/05b7_ed89_smtp_20mode_3a_20_2.rel deleted file mode 100644 index 1afbc21a..00000000 --- a/src/nos/lib/messages_lib/05b7_ed89_smtp_20mode_3a_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___05b7_ed89_smtp_20mode_3a_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 73 6d 74 70 20 6d 6f 64 65 -R 00 00 01 00 -T 0b 00 00 00 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b8_2b33_smtp_20recv_3a_20_2.rel b/src/nos/lib/messages_lib/05b8_2b33_smtp_20recv_3a_20_2.rel deleted file mode 100644 index 817d4544..00000000 --- a/src/nos/lib/messages_lib/05b8_2b33_smtp_20recv_3a_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___05b8_2b33_smtp_20recv_3a_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 73 6d 74 70 20 72 65 63 76 -R 00 00 01 00 -T 0b 00 00 00 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b8_9853_maxmsg.rel b/src/nos/lib/messages_lib/05b8_9853_maxmsg.rel new file mode 100644 index 00000000..26216db8 --- /dev/null +++ b/src/nos/lib/messages_lib/05b8_9853_maxmsg.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___05b8_9853_maxmsg Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 6d 61 78 6d 73 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b9_7203_maxttl.rel b/src/nos/lib/messages_lib/05b9_7203_maxttl.rel new file mode 100644 index 00000000..2e6ec6d1 --- /dev/null +++ b/src/nos/lib/messages_lib/05b9_7203_maxttl.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___05b9_7203_maxttl Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 6d 61 78 74 74 6c 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05b9_928b_smtp_20sent_3a_20.rel b/src/nos/lib/messages_lib/05b9_928b_smtp_20sent_3a_20.rel deleted file mode 100644 index 46b30e90..00000000 --- a/src/nos/lib/messages_lib/05b9_928b_smtp_20sent_3a_20.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___05b9_928b_smtp_20sent_3a_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 73 6d 74 70 20 73 65 6e 74 -R 00 00 01 00 -T 0b 00 00 00 3a 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ba_b4cf_socket.rel b/src/nos/lib/messages_lib/05ba_b4cf_socket.rel deleted file mode 100644 index 4473e2a1..00000000 --- a/src/nos/lib/messages_lib/05ba_b4cf_socket.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___05ba_b4cf_socket Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 73 6f 63 6b 65 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ba_e017_maxwait.rel b/src/nos/lib/messages_lib/05ba_e017_maxwait.rel new file mode 100644 index 00000000..71ee1d4d --- /dev/null +++ b/src/nos/lib/messages_lib/05ba_e017_maxwait.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___05ba_e017_maxwait Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 6d 61 78 77 61 69 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05bb_6b20_some_20strange_2c_2.rel b/src/nos/lib/messages_lib/05bb_6b20_some_20strange_2c_2.rel deleted file mode 100644 index f9be8e17..00000000 --- a/src/nos/lib/messages_lib/05bb_6b20_some_20strange_2c_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___05bb_6b20_some_20strange_2c_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 73 6f 6d 65 20 73 74 72 61 -R 00 00 01 00 -T 0b 00 00 00 6e 67 65 2c 20 75 6e 6b 6e 6f 77 -R 00 00 01 00 -T 16 00 00 00 6e 20 76 61 6c 75 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05bb_e57a_mbuf_20allocs_20_25.rel b/src/nos/lib/messages_lib/05bb_e57a_mbuf_20allocs_20_25.rel new file mode 100644 index 00000000..8ddade16 --- /dev/null +++ b/src/nos/lib/messages_lib/05bb_e57a_mbuf_20allocs_20_25.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3e flags 0 +S ___05bb_e57a_mbuf_20allocs_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 3c 00 6d 62 75 66 20 61 6c 6c 6f +R 00 00 01 00 +T 0b 00 00 00 63 73 20 25 6c 75 20 66 72 65 65 +R 00 00 01 00 +T 16 00 00 00 20 63 61 63 68 65 20 68 69 74 73 +R 00 00 01 00 +T 21 00 00 00 20 25 6c 75 20 28 25 6c 75 25 25 +R 00 00 01 00 +T 2c 00 00 00 29 20 6d 62 75 66 20 66 72 65 65 +R 00 00 01 00 +T 37 00 00 00 73 20 25 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05bc_60cd_speed.rel b/src/nos/lib/messages_lib/05bc_60cd_speed.rel deleted file mode 100644 index bbc1b2c0..00000000 --- a/src/nos/lib/messages_lib/05bc_60cd_speed.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___05bc_60cd_speed Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 73 70 65 65 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05bc_8c4f_mcompare.rel b/src/nos/lib/messages_lib/05bc_8c4f_mcompare.rel new file mode 100644 index 00000000..abf211cd --- /dev/null +++ b/src/nos/lib/messages_lib/05bc_8c4f_mcompare.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___05bc_8c4f_mcompare Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 6d 63 6f 6d 70 61 72 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05bd_9785_speed_20_3cbps_3e.rel b/src/nos/lib/messages_lib/05bd_9785_speed_20_3cbps_3e.rel deleted file mode 100644 index a0d36e36..00000000 --- a/src/nos/lib/messages_lib/05bd_9785_speed_20_3cbps_3e.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___05bd_9785_speed_20_3cbps_3e Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 73 70 65 65 64 20 3c 62 70 -R 00 00 01 00 -T 0b 00 00 00 73 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05bd_f47e_mcompare_20_3cfile_.rel b/src/nos/lib/messages_lib/05bd_f47e_mcompare_20_3cfile_.rel new file mode 100644 index 00000000..4ebacce5 --- /dev/null +++ b/src/nos/lib/messages_lib/05bd_f47e_mcompare_20_3cfile_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___05bd_f47e_mcompare_20_3cfile_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 6d 63 6f 6d 70 61 72 65 20 +R 00 00 01 00 +T 0b 00 00 00 3c 66 69 6c 65 3e 20 5b 3c 66 69 +R 00 00 01 00 +T 16 00 00 00 6c 65 3e 20 2e 2e 2e 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05be_1861_spool_3a_20_25s_0a.rel b/src/nos/lib/messages_lib/05be_1861_spool_3a_20_25s_0a.rel deleted file mode 100644 index 9d79a5fb..00000000 --- a/src/nos/lib/messages_lib/05be_1861_spool_3a_20_25s_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___05be_1861_spool_3a_20_25s_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 73 70 6f 6f 6c 3a 20 25 73 -R 00 00 01 00 -T 0b 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05be_a71a_md5.rel b/src/nos/lib/messages_lib/05be_a71a_md5.rel new file mode 100644 index 00000000..ab95d64f --- /dev/null +++ b/src/nos/lib/messages_lib/05be_a71a_md5.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___05be_a71a_md5 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 6d 64 35 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05bf_61f2_src_20_25s.rel b/src/nos/lib/messages_lib/05bf_61f2_src_20_25s.rel deleted file mode 100644 index cf46d686..00000000 --- a/src/nos/lib/messages_lib/05bf_61f2_src_20_25s.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___05bf_61f2_src_20_25s Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 73 72 63 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05bf_cc78_md5_20_3cfile_3e.rel b/src/nos/lib/messages_lib/05bf_cc78_md5_20_3cfile_3e.rel new file mode 100644 index 00000000..c555fcf5 --- /dev/null +++ b/src/nos/lib/messages_lib/05bf_cc78_md5_20_3cfile_3e.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___05bf_cc78_md5_20_3cfile_3e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 6d 64 35 20 3c 66 69 6c 65 +R 00 00 01 00 +T 0b 00 00 00 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c0_4d2a_memory.rel b/src/nos/lib/messages_lib/05c0_4d2a_memory.rel new file mode 100644 index 00000000..df83b394 --- /dev/null +++ b/src/nos/lib/messages_lib/05c0_4d2a_memory.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___05c0_4d2a_memory Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 6d 65 6d 6f 72 79 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c0_4e06_srtt_20_3d_20_25lu_.rel b/src/nos/lib/messages_lib/05c0_4e06_srtt_20_3d_20_25lu_.rel deleted file mode 100644 index b5c3b683..00000000 --- a/src/nos/lib/messages_lib/05c0_4e06_srtt_20_3d_20_25lu_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___05c0_4e06_srtt_20_3d_20_25lu_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 73 72 74 74 20 3d 20 25 6c -R 00 00 01 00 -T 0b 00 00 00 75 20 6d 64 65 76 20 3d 20 25 6c -R 00 00 01 00 -T 16 00 00 00 75 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c1_69ba_memory_20cache_20si.rel b/src/nos/lib/messages_lib/05c1_69ba_memory_20cache_20si.rel new file mode 100644 index 00000000..8e1d13ea --- /dev/null +++ b/src/nos/lib/messages_lib/05c1_69ba_memory_20cache_20si.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___05c1_69ba_memory_20cache_20si Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 6d 65 6d 6f 72 79 20 63 61 +R 00 00 01 00 +T 0b 00 00 00 63 68 65 20 73 69 7a 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c1_795f_stack_20test.rel b/src/nos/lib/messages_lib/05c1_795f_stack_20test.rel deleted file mode 100644 index 8bf03628..00000000 --- a/src/nos/lib/messages_lib/05c1_795f_stack_20test.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___05c1_795f_stack_20test Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 73 74 61 63 6b 20 74 65 73 -R 00 00 01 00 -T 0b 00 00 00 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c2_336a_merge.rel b/src/nos/lib/messages_lib/05c2_336a_merge.rel new file mode 100644 index 00000000..b9df6085 --- /dev/null +++ b/src/nos/lib/messages_lib/05c2_336a_merge.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___05c2_336a_merge Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 6d 65 72 67 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c2_45e3_stacktest.rel b/src/nos/lib/messages_lib/05c2_45e3_stacktest.rel deleted file mode 100644 index 460f0bb7..00000000 --- a/src/nos/lib/messages_lib/05c2_45e3_stacktest.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___05c2_45e3_stacktest Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 73 74 61 63 6b 74 65 73 74 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c3_649e_merge_20_25s_20_25d.rel b/src/nos/lib/messages_lib/05c3_649e_merge_20_25s_20_25d.rel new file mode 100644 index 00000000..1e0d8ba7 --- /dev/null +++ b/src/nos/lib/messages_lib/05c3_649e_merge_20_25s_20_25d.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___05c3_649e_merge_20_25s_20_25d Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 6d 65 72 67 65 20 25 73 20 +R 00 00 01 00 +T 0b 00 00 00 25 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c3_be0b_stacktest_20_5bon_7.rel b/src/nos/lib/messages_lib/05c3_be0b_stacktest_20_5bon_7.rel deleted file mode 100644 index 36ec5c3a..00000000 --- a/src/nos/lib/messages_lib/05c3_be0b_stacktest_20_5bon_7.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___05c3_be0b_stacktest_20_5bon_7 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 73 74 61 63 6b 74 65 73 74 -R 00 00 01 00 -T 0b 00 00 00 20 5b 6f 6e 7c 6f 66 66 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c4_460c_metric_20better_3a_.rel b/src/nos/lib/messages_lib/05c4_460c_metric_20better_3a_.rel new file mode 100644 index 00000000..d75650e0 --- /dev/null +++ b/src/nos/lib/messages_lib/05c4_460c_metric_20better_3a_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___05c4_460c_metric_20better_3a_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 6d 65 74 72 69 63 20 62 65 +R 00 00 01 00 +T 0b 00 00 00 74 74 65 72 3a 20 25 73 20 25 6c +R 00 00 01 00 +T 16 00 00 00 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c4_fcc6_standard_0a.rel b/src/nos/lib/messages_lib/05c4_fcc6_standard_0a.rel deleted file mode 100644 index 98ac0076..00000000 --- a/src/nos/lib/messages_lib/05c4_fcc6_standard_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___05c4_fcc6_standard_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 73 74 61 6e 64 61 72 64 0a -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c5_3694_metric_20change_3a_.rel b/src/nos/lib/messages_lib/05c5_3694_metric_20change_3a_.rel new file mode 100644 index 00000000..62283ac2 --- /dev/null +++ b/src/nos/lib/messages_lib/05c5_3694_metric_20change_3a_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___05c5_3694_metric_20change_3a_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 6d 65 74 72 69 63 20 63 68 +R 00 00 01 00 +T 0b 00 00 00 61 6e 67 65 3a 20 25 73 20 25 6c +R 00 00 01 00 +T 16 00 00 00 75 20 2d 3e 20 25 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c5_b958_start.rel b/src/nos/lib/messages_lib/05c5_b958_start.rel deleted file mode 100644 index cc511072..00000000 --- a/src/nos/lib/messages_lib/05c5_b958_start.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___05c5_b958_start Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 73 74 61 72 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c6_44b0_metric_20not_20bett.rel b/src/nos/lib/messages_lib/05c6_44b0_metric_20not_20bett.rel new file mode 100644 index 00000000..62ba26f6 --- /dev/null +++ b/src/nos/lib/messages_lib/05c6_44b0_metric_20not_20bett.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___05c6_44b0_metric_20not_20bett Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 6d 65 74 72 69 63 20 6e 6f +R 00 00 01 00 +T 0b 00 00 00 74 20 62 65 74 74 65 72 3a 20 25 +R 00 00 01 00 +T 16 00 00 00 73 20 25 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c6_4b5d_start_20_3cserverna.rel b/src/nos/lib/messages_lib/05c6_4b5d_start_20_3cserverna.rel deleted file mode 100644 index eee7be2f..00000000 --- a/src/nos/lib/messages_lib/05c6_4b5d_start_20_3cserverna.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___05c6_4b5d_start_20_3cserverna Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 73 74 61 72 74 20 3c 73 65 -R 00 00 01 00 -T 0b 00 00 00 72 76 65 72 6e 61 6d 65 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c7_9324_start_20bsr_20_3cin.rel b/src/nos/lib/messages_lib/05c7_9324_start_20bsr_20_3cin.rel deleted file mode 100644 index 2741e6af..00000000 --- a/src/nos/lib/messages_lib/05c7_9324_start_20bsr_20_3cin.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21 flags 0 -S ___05c7_9324_start_20bsr_20_3cin Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1f 00 73 74 61 72 74 20 62 73 72 -R 00 00 01 00 -T 0b 00 00 00 20 3c 69 6e 74 65 72 66 61 63 65 -R 00 00 01 00 -T 16 00 00 00 3e 20 5b 3c 70 6f 72 74 3e 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c7_b64c_mget.rel b/src/nos/lib/messages_lib/05c7_b64c_mget.rel new file mode 100644 index 00000000..a89a1342 --- /dev/null +++ b/src/nos/lib/messages_lib/05c7_b64c_mget.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___05c7_b64c_mget Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 6d 67 65 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c8_8d01_mget_20_3cfile_3e_2.rel b/src/nos/lib/messages_lib/05c8_8d01_mget_20_3cfile_3e_2.rel new file mode 100644 index 00000000..7c51e726 --- /dev/null +++ b/src/nos/lib/messages_lib/05c8_8d01_mget_20_3cfile_3e_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___05c8_8d01_mget_20_3cfile_3e_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 6d 67 65 74 20 3c 66 69 6c +R 00 00 01 00 +T 0b 00 00 00 65 3e 20 5b 3c 66 69 6c 65 3e 20 +R 00 00 01 00 +T 16 00 00 00 2e 2e 2e 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c8_d63e_stat.rel b/src/nos/lib/messages_lib/05c8_d63e_stat.rel deleted file mode 100644 index 397a7817..00000000 --- a/src/nos/lib/messages_lib/05c8_d63e_stat.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___05c8_d63e_stat Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 73 74 61 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c9_5069_status.rel b/src/nos/lib/messages_lib/05c9_5069_status.rel deleted file mode 100644 index 666b932a..00000000 --- a/src/nos/lib/messages_lib/05c9_5069_status.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___05c9_5069_status Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 73 74 61 74 75 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05c9_f789_missing_20ALL_20add.rel b/src/nos/lib/messages_lib/05c9_f789_missing_20ALL_20add.rel new file mode 100644 index 00000000..53da8c56 --- /dev/null +++ b/src/nos/lib/messages_lib/05c9_f789_missing_20ALL_20add.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___05c9_f789_missing_20ALL_20add Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 6d 69 73 73 69 6e 67 20 41 +R 00 00 01 00 +T 0b 00 00 00 4c 4c 20 61 64 64 72 65 73 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ca_7dfc_status_20up_20_7c_2.rel b/src/nos/lib/messages_lib/05ca_7dfc_status_20up_20_7c_2.rel deleted file mode 100644 index 630e9268..00000000 --- a/src/nos/lib/messages_lib/05ca_7dfc_status_20up_20_7c_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___05ca_7dfc_status_20up_20_7c_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 73 74 61 74 75 73 20 75 70 -R 00 00 01 00 -T 0b 00 00 00 20 7c 20 64 6f 77 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ca_d180_missing_20UI.rel b/src/nos/lib/messages_lib/05ca_d180_missing_20UI.rel new file mode 100644 index 00000000..ee6f0a76 --- /dev/null +++ b/src/nos/lib/messages_lib/05ca_d180_missing_20UI.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___05ca_d180_missing_20UI Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 6d 69 73 73 69 6e 67 20 55 +R 00 00 01 00 +T 0b 00 00 00 49 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05cb_0135_missing_20lower_20p.rel b/src/nos/lib/messages_lib/05cb_0135_missing_20lower_20p.rel new file mode 100644 index 00000000..8c85b835 --- /dev/null +++ b/src/nos/lib/messages_lib/05cb_0135_missing_20lower_20p.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___05cb_0135_missing_20lower_20p Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 6d 69 73 73 69 6e 67 20 6c +R 00 00 01 00 +T 0b 00 00 00 6f 77 65 72 20 70 72 6f 74 6f 63 +R 00 00 01 00 +T 16 00 00 00 6f 6c 20 62 79 74 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05cb_68cb_stime.rel b/src/nos/lib/messages_lib/05cb_68cb_stime.rel deleted file mode 100644 index 166ad80b..00000000 --- a/src/nos/lib/messages_lib/05cb_68cb_stime.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___05cb_68cb_stime Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 73 74 69 6d 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05cc_4875_stktrace_20from_20p.rel b/src/nos/lib/messages_lib/05cc_4875_stktrace_20from_20p.rel deleted file mode 100644 index 36332574..00000000 --- a/src/nos/lib/messages_lib/05cc_4875_stktrace_20from_20p.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___05cc_4875_stktrace_20from_20p Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 73 74 6b 74 72 61 63 65 20 -R 00 00 01 00 -T 0b 00 00 00 66 72 6f 6d 20 70 72 6f 63 20 25 -R 00 00 01 00 -T 16 00 00 00 73 20 61 74 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05cc_d703_missing_20upper_20p.rel b/src/nos/lib/messages_lib/05cc_d703_missing_20upper_20p.rel new file mode 100644 index 00000000..fc51e1a0 --- /dev/null +++ b/src/nos/lib/messages_lib/05cc_d703_missing_20upper_20p.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___05cc_d703_missing_20upper_20p Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 6d 69 73 73 69 6e 67 20 75 +R 00 00 01 00 +T 0b 00 00 00 70 70 65 72 20 70 72 6f 74 6f 63 +R 00 00 01 00 +T 16 00 00 00 6f 6c 20 62 79 74 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05cd_0a0a_stop.rel b/src/nos/lib/messages_lib/05cd_0a0a_stop.rel deleted file mode 100644 index dfe47ae6..00000000 --- a/src/nos/lib/messages_lib/05cd_0a0a_stop.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___05cd_0a0a_stop Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 73 74 6f 70 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05cd_1e96_mkd_20.rel b/src/nos/lib/messages_lib/05cd_1e96_mkd_20.rel new file mode 100644 index 00000000..33f5cab6 --- /dev/null +++ b/src/nos/lib/messages_lib/05cd_1e96_mkd_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___05cd_1e96_mkd_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 6d 6b 64 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ce_304a_mkdir.rel b/src/nos/lib/messages_lib/05ce_304a_mkdir.rel new file mode 100644 index 00000000..ec364193 --- /dev/null +++ b/src/nos/lib/messages_lib/05ce_304a_mkdir.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___05ce_304a_mkdir Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 6d 6b 64 69 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ce_6ec0_stop_20_3cservernam.rel b/src/nos/lib/messages_lib/05ce_6ec0_stop_20_3cservernam.rel deleted file mode 100644 index 6758c915..00000000 --- a/src/nos/lib/messages_lib/05ce_6ec0_stop_20_3cservernam.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___05ce_6ec0_stop_20_3cservernam Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 73 74 6f 70 20 3c 73 65 72 -R 00 00 01 00 -T 0b 00 00 00 76 65 72 6e 61 6d 65 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05cf_301d_stopped.rel b/src/nos/lib/messages_lib/05cf_301d_stopped.rel deleted file mode 100644 index f071962f..00000000 --- a/src/nos/lib/messages_lib/05cf_301d_stopped.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___05cf_301d_stopped Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 73 74 6f 70 70 65 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05cf_7d04_mkdir_20_3cdirector.rel b/src/nos/lib/messages_lib/05cf_7d04_mkdir_20_3cdirector.rel new file mode 100644 index 00000000..c0021146 --- /dev/null +++ b/src/nos/lib/messages_lib/05cf_7d04_mkdir_20_3cdirector.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___05cf_7d04_mkdir_20_3cdirector Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 6d 6b 64 69 72 20 3c 64 69 +R 00 00 01 00 +T 0b 00 00 00 72 65 63 74 6f 72 79 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d0_2918_stor.rel b/src/nos/lib/messages_lib/05d0_2918_stor.rel deleted file mode 100644 index d5dd9dee..00000000 --- a/src/nos/lib/messages_lib/05d0_2918_stor.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___05d0_2918_stor Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 73 74 6f 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d0_6257_mknod.rel b/src/nos/lib/messages_lib/05d0_6257_mknod.rel new file mode 100644 index 00000000..8d0c8439 --- /dev/null +++ b/src/nos/lib/messages_lib/05d0_6257_mknod.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___05d0_6257_mknod Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 6d 6b 6e 6f 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d1_685e_mode.rel b/src/nos/lib/messages_lib/05d1_685e_mode.rel new file mode 100644 index 00000000..01f182fc --- /dev/null +++ b/src/nos/lib/messages_lib/05d1_685e_mode.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___05d1_685e_mode Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 6d 6f 64 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d1_784e_stru.rel b/src/nos/lib/messages_lib/05d1_784e_stru.rel deleted file mode 100644 index e1ab6e09..00000000 --- a/src/nos/lib/messages_lib/05d1_784e_stru.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___05d1_784e_stru Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 73 74 72 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d2_9335_modes_20are_3a_20no.rel b/src/nos/lib/messages_lib/05d2_9335_modes_20are_3a_20no.rel new file mode 100644 index 00000000..d272e5f6 --- /dev/null +++ b/src/nos/lib/messages_lib/05d2_9335_modes_20are_3a_20no.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___05d2_9335_modes_20are_3a_20no Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 6d 6f 64 65 73 20 61 72 65 +R 00 00 01 00 +T 0b 00 00 00 3a 20 6e 6f 6e 65 20 61 63 63 65 +R 00 00 01 00 +T 16 00 00 00 70 74 20 72 65 6a 65 63 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d2_bec3_suffix.rel b/src/nos/lib/messages_lib/05d2_bec3_suffix.rel deleted file mode 100644 index b25554fc..00000000 --- a/src/nos/lib/messages_lib/05d2_bec3_suffix.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___05d2_bec3_suffix Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 73 75 66 66 69 78 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d3_420b_symlink.rel b/src/nos/lib/messages_lib/05d3_420b_symlink.rel deleted file mode 100644 index 80e77ed8..00000000 --- a/src/nos/lib/messages_lib/05d3_420b_symlink.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___05d3_420b_symlink Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 73 79 6d 6c 69 6e 6b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d3_a91f_more.rel b/src/nos/lib/messages_lib/05d3_a91f_more.rel new file mode 100644 index 00000000..15d4d280 --- /dev/null +++ b/src/nos/lib/messages_lib/05d3_a91f_more.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___05d3_a91f_more Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 6d 6f 72 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d4_5384_more_20_3cfilename_.rel b/src/nos/lib/messages_lib/05d4_5384_more_20_3cfilename_.rel new file mode 100644 index 00000000..53baf71e --- /dev/null +++ b/src/nos/lib/messages_lib/05d4_5384_more_20_3cfilename_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___05d4_5384_more_20_3cfilename_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 6d 6f 72 65 20 3c 66 69 6c +R 00 00 01 00 +T 0b 00 00 00 65 6e 61 6d 65 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d4_ceb7_sync.rel b/src/nos/lib/messages_lib/05d4_ceb7_sync.rel deleted file mode 100644 index 92a7d5a5..00000000 --- a/src/nos/lib/messages_lib/05d4_ceb7_sync.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___05d4_ceb7_sync Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 73 79 6e 63 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d5_bb66_syndata.rel b/src/nos/lib/messages_lib/05d5_bb66_syndata.rel deleted file mode 100644 index 2913e93b..00000000 --- a/src/nos/lib/messages_lib/05d5_bb66_syndata.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___05d5_bb66_syndata Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 73 79 6e 64 61 74 61 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d5_ec46_motd.rel b/src/nos/lib/messages_lib/05d5_ec46_motd.rel new file mode 100644 index 00000000..323ded14 --- /dev/null +++ b/src/nos/lib/messages_lib/05d5_ec46_motd.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___05d5_ec46_motd Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 6d 6f 74 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d6_b50c_sysdebug.rel b/src/nos/lib/messages_lib/05d6_b50c_sysdebug.rel deleted file mode 100644 index 9294b621..00000000 --- a/src/nos/lib/messages_lib/05d6_b50c_sysdebug.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___05d6_b50c_sysdebug Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 73 79 73 64 65 62 75 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d6_b5d1_mount.rel b/src/nos/lib/messages_lib/05d6_b5d1_mount.rel new file mode 100644 index 00000000..d470ad28 --- /dev/null +++ b/src/nos/lib/messages_lib/05d6_b5d1_mount.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___05d6_b5d1_mount Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 6d 6f 75 6e 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d7_2a4d_mput.rel b/src/nos/lib/messages_lib/05d7_2a4d_mput.rel new file mode 100644 index 00000000..18092dc8 --- /dev/null +++ b/src/nos/lib/messages_lib/05d7_2a4d_mput.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___05d7_2a4d_mput Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 6d 70 75 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d7_be35_sysdebug_20_5bon_7c.rel b/src/nos/lib/messages_lib/05d7_be35_sysdebug_20_5bon_7c.rel deleted file mode 100644 index e2e8f723..00000000 --- a/src/nos/lib/messages_lib/05d7_be35_sysdebug_20_5bon_7c.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___05d7_be35_sysdebug_20_5bon_7c Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 73 79 73 64 65 62 75 67 20 -R 00 00 01 00 -T 0b 00 00 00 5b 6f 6e 7c 6f 66 66 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d8_312f_mput_20_3cfile_3e_2.rel b/src/nos/lib/messages_lib/05d8_312f_mput_20_3cfile_3e_2.rel new file mode 100644 index 00000000..db93aa98 --- /dev/null +++ b/src/nos/lib/messages_lib/05d8_312f_mput_20_3cfile_3e_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___05d8_312f_mput_20_3cfile_3e_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 6d 70 75 74 20 3c 66 69 6c +R 00 00 01 00 +T 0b 00 00 00 65 3e 20 5b 3c 66 69 6c 65 3e 20 +R 00 00 01 00 +T 16 00 00 00 2e 2e 2e 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d8_8f60_syst.rel b/src/nos/lib/messages_lib/05d8_8f60_syst.rel deleted file mode 100644 index 25641915..00000000 --- a/src/nos/lib/messages_lib/05d8_8f60_syst.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___05d8_8f60_syst Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 73 79 73 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d9_245f_mru.rel b/src/nos/lib/messages_lib/05d9_245f_mru.rel new file mode 100644 index 00000000..57705e1e --- /dev/null +++ b/src/nos/lib/messages_lib/05d9_245f_mru.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___05d9_245f_mru Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 6d 72 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05d9_f3f3_system_20call_20tra.rel b/src/nos/lib/messages_lib/05d9_f3f3_system_20call_20tra.rel deleted file mode 100644 index 108260e7..00000000 --- a/src/nos/lib/messages_lib/05d9_f3f3_system_20call_20tra.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___05d9_f3f3_system_20call_20tra Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 73 79 73 74 65 6d 20 63 61 -R 00 00 01 00 -T 0b 00 00 00 6c 6c 20 74 72 61 63 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05da_58b1_mss.rel b/src/nos/lib/messages_lib/05da_58b1_mss.rel new file mode 100644 index 00000000..1eb57f10 --- /dev/null +++ b/src/nos/lib/messages_lib/05da_58b1_mss.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___05da_58b1_mss Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 6d 73 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05da_a612_system_20kernel_20d.rel b/src/nos/lib/messages_lib/05da_a612_system_20kernel_20d.rel deleted file mode 100644 index 7c4da823..00000000 --- a/src/nos/lib/messages_lib/05da_a612_system_20kernel_20d.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___05da_a612_system_20kernel_20d Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 73 79 73 74 65 6d 20 6b 65 -R 00 00 01 00 -T 0b 00 00 00 72 6e 65 6c 20 64 65 62 75 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05db_708f_mtu.rel b/src/nos/lib/messages_lib/05db_708f_mtu.rel new file mode 100644 index 00000000..7a2c2ecc --- /dev/null +++ b/src/nos/lib/messages_lib/05db_708f_mtu.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___05db_708f_mtu Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 6d 74 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05db_98fb_systrace.rel b/src/nos/lib/messages_lib/05db_98fb_systrace.rel deleted file mode 100644 index f7dc5535..00000000 --- a/src/nos/lib/messages_lib/05db_98fb_systrace.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___05db_98fb_systrace Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 73 79 73 74 72 61 63 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05dc_71e3_systrace_20_5bon_7c.rel b/src/nos/lib/messages_lib/05dc_71e3_systrace_20_5bon_7c.rel deleted file mode 100644 index 6908d010..00000000 --- a/src/nos/lib/messages_lib/05dc_71e3_systrace_20_5bon_7c.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___05dc_71e3_systrace_20_5bon_7c Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 73 79 73 74 72 61 63 65 20 -R 00 00 01 00 -T 0b 00 00 00 5b 6f 6e 7c 6f 66 66 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05dc_78ae_mycall.rel b/src/nos/lib/messages_lib/05dc_78ae_mycall.rel new file mode 100644 index 00000000..02fe2c8b --- /dev/null +++ b/src/nos/lib/messages_lib/05dc_78ae_mycall.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___05dc_78ae_mycall Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 6d 79 63 61 6c 6c 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05dd_6404_t3.rel b/src/nos/lib/messages_lib/05dd_6404_t3.rel deleted file mode 100644 index 3d20ba18..00000000 --- a/src/nos/lib/messages_lib/05dd_6404_t3.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 5 flags 0 -S ___05dd_6404_t3 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 03 00 74 33 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05dd_e112_n_5fcreat_28_22_25s.rel b/src/nos/lib/messages_lib/05dd_e112_n_5fcreat_28_22_25s.rel new file mode 100644 index 00000000..15575885 --- /dev/null +++ b/src/nos/lib/messages_lib/05dd_e112_n_5fcreat_28_22_25s.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___05dd_e112_n_5fcreat_28_22_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 6e 5f 63 72 65 61 74 28 22 +R 00 00 01 00 +T 0b 00 00 00 25 73 22 2c 20 25 64 2c 20 30 25 +R 00 00 01 00 +T 16 00 00 00 6f 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05de_b31f_target.rel b/src/nos/lib/messages_lib/05de_b31f_target.rel deleted file mode 100644 index 27464453..00000000 --- a/src/nos/lib/messages_lib/05de_b31f_target.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___05de_b31f_target Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 74 61 72 67 65 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05de_fa1b_n_5fcreat_28_29_20r.rel b/src/nos/lib/messages_lib/05de_fa1b_n_5fcreat_28_29_20r.rel new file mode 100644 index 00000000..c6949499 --- /dev/null +++ b/src/nos/lib/messages_lib/05de_fa1b_n_5fcreat_28_29_20r.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___05de_fa1b_n_5fcreat_28_29_20r Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 6e 5f 63 72 65 61 74 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 30 78 25 78 2c 20 73 75 63 63 65 +R 00 00 01 00 +T 21 00 00 00 73 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05df_105b_n_5fcreat_28_29_20r.rel b/src/nos/lib/messages_lib/05df_105b_n_5fcreat_28_29_20r.rel new file mode 100644 index 00000000..ddaf341f --- /dev/null +++ b/src/nos/lib/messages_lib/05df_105b_n_5fcreat_28_29_20r.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___05df_105b_n_5fcreat_28_29_20r Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 6e 5f 63 72 65 61 74 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 4e 55 4c 4c 2c 20 65 72 72 6f 72 +R 00 00 01 00 +T 21 00 00 00 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05df_e630_tcp.rel b/src/nos/lib/messages_lib/05df_e630_tcp.rel deleted file mode 100644 index 4416a848..00000000 --- a/src/nos/lib/messages_lib/05df_e630_tcp.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___05df_e630_tcp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 74 63 70 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e0_8a90_name.rel b/src/nos/lib/messages_lib/05e0_8a90_name.rel new file mode 100644 index 00000000..fe2ca4cf --- /dev/null +++ b/src/nos/lib/messages_lib/05e0_8a90_name.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___05e0_8a90_name Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 6e 61 6d 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e0_e483_tcp_20kick_20_3ctcb.rel b/src/nos/lib/messages_lib/05e0_e483_tcp_20kick_20_3ctcb.rel deleted file mode 100644 index cdf5c5ac..00000000 --- a/src/nos/lib/messages_lib/05e0_e483_tcp_20kick_20_3ctcb.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___05e0_e483_tcp_20kick_20_3ctcb Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 74 63 70 20 6b 69 63 6b 20 -R 00 00 01 00 -T 0b 00 00 00 3c 74 63 62 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e1_a12c_tcp_20reset_20_3ctc.rel b/src/nos/lib/messages_lib/05e1_a12c_tcp_20reset_20_3ctc.rel deleted file mode 100644 index 4d89e198..00000000 --- a/src/nos/lib/messages_lib/05e1_a12c_tcp_20reset_20_3ctc.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___05e1_a12c_tcp_20reset_20_3ctc Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 74 63 70 20 72 65 73 65 74 -R 00 00 01 00 -T 0b 00 00 00 20 3c 74 63 62 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e1_b07d_netmask.rel b/src/nos/lib/messages_lib/05e1_b07d_netmask.rel new file mode 100644 index 00000000..beef256a --- /dev/null +++ b/src/nos/lib/messages_lib/05e1_b07d_netmask.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___05e1_b07d_netmask Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 6e 65 74 6d 61 73 6b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e2_4d2c_netrom_20bcnodes_20.rel b/src/nos/lib/messages_lib/05e2_4d2c_netrom_20bcnodes_20.rel new file mode 100644 index 00000000..bbcc6652 --- /dev/null +++ b/src/nos/lib/messages_lib/05e2_4d2c_netrom_20bcnodes_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___05e2_4d2c_netrom_20bcnodes_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 6e 65 74 72 6f 6d 20 62 63 +R 00 00 01 00 +T 0b 00 00 00 6e 6f 64 65 73 20 3c 69 6e 74 65 +R 00 00 01 00 +T 16 00 00 00 72 66 61 63 65 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e2_bb94_tcp_20rtt_20_3ctcb_.rel b/src/nos/lib/messages_lib/05e2_bb94_tcp_20rtt_20_3ctcb_.rel deleted file mode 100644 index b12c70ea..00000000 --- a/src/nos/lib/messages_lib/05e2_bb94_tcp_20rtt_20_3ctcb_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 16 flags 0 -S ___05e2_bb94_tcp_20rtt_20_3ctcb_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 14 00 74 63 70 20 72 74 74 20 3c -R 00 00 01 00 -T 0b 00 00 00 74 63 62 3e 20 3c 76 61 6c 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e3_c5dc_netrom_20connect_20.rel b/src/nos/lib/messages_lib/05e3_c5dc_netrom_20connect_20.rel new file mode 100644 index 00000000..4a360789 --- /dev/null +++ b/src/nos/lib/messages_lib/05e3_c5dc_netrom_20connect_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___05e3_c5dc_netrom_20connect_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 6e 65 74 72 6f 6d 20 63 6f +R 00 00 01 00 +T 0b 00 00 00 6e 6e 65 63 74 20 3c 6e 6f 64 65 +R 00 00 01 00 +T 16 00 00 00 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e3_f363_tcp_20stat_20_3ctcb.rel b/src/nos/lib/messages_lib/05e3_f363_tcp_20stat_20_3ctcb.rel deleted file mode 100644 index 6e6b10bd..00000000 --- a/src/nos/lib/messages_lib/05e3_f363_tcp_20stat_20_3ctcb.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___05e3_f363_tcp_20stat_20_3ctcb Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 74 63 70 20 73 74 61 74 20 -R 00 00 01 00 -T 0b 00 00 00 3c 74 63 62 3e 20 5b 3c 69 6e 74 -R 00 00 01 00 -T 16 00 00 00 65 72 76 61 6c 3e 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e4_6ff2_telnet.rel b/src/nos/lib/messages_lib/05e4_6ff2_telnet.rel deleted file mode 100644 index e3e7d268..00000000 --- a/src/nos/lib/messages_lib/05e4_6ff2_telnet.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___05e4_6ff2_telnet Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 74 65 6c 6e 65 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e4_925a_netrom_20interface_.rel b/src/nos/lib/messages_lib/05e4_925a_netrom_20interface_.rel new file mode 100644 index 00000000..7a26b1b7 --- /dev/null +++ b/src/nos/lib/messages_lib/05e4_925a_netrom_20interface_.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 31 flags 0 +S ___05e4_925a_netrom_20interface_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2f 00 6e 65 74 72 6f 6d 20 69 6e +R 00 00 01 00 +T 0b 00 00 00 74 65 72 66 61 63 65 20 3c 69 6e +R 00 00 01 00 +T 16 00 00 00 74 65 72 66 61 63 65 3e 20 3c 61 +R 00 00 01 00 +T 21 00 00 00 6c 69 61 73 3e 20 3c 71 75 61 6c +R 00 00 01 00 +T 2c 00 00 00 69 74 79 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e5_2114_telnet_20_3caddress.rel b/src/nos/lib/messages_lib/05e5_2114_telnet_20_3caddress.rel deleted file mode 100644 index bddfc425..00000000 --- a/src/nos/lib/messages_lib/05e5_2114_telnet_20_3caddress.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 13 flags 0 -S ___05e5_2114_telnet_20_3caddress Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 11 00 74 65 6c 6e 65 74 20 3c 61 -R 00 00 01 00 -T 0b 00 00 00 64 64 72 65 73 73 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e5_a510_netrom_20interface_.rel b/src/nos/lib/messages_lib/05e5_a510_netrom_20interface_.rel new file mode 100644 index 00000000..3216ddb0 --- /dev/null +++ b/src/nos/lib/messages_lib/05e5_a510_netrom_20interface_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___05e5_a510_netrom_20interface_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 6e 65 74 72 6f 6d 20 69 6e +R 00 00 01 00 +T 0b 00 00 00 74 65 72 66 61 63 65 20 61 6c 72 +R 00 00 01 00 +T 16 00 00 00 65 61 64 79 20 61 74 74 61 63 68 +R 00 00 01 00 +T 21 00 00 00 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e6_6cef_term.rel b/src/nos/lib/messages_lib/05e6_6cef_term.rel deleted file mode 100644 index 40a87f6a..00000000 --- a/src/nos/lib/messages_lib/05e6_6cef_term.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___05e6_6cef_term Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 74 65 72 6d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e6_b271_netrom_20kick_20_3c.rel b/src/nos/lib/messages_lib/05e6_b271_netrom_20kick_20_3c.rel new file mode 100644 index 00000000..1cebf7f2 --- /dev/null +++ b/src/nos/lib/messages_lib/05e6_b271_netrom_20kick_20_3c.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___05e6_b271_netrom_20kick_20_3c Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 6e 65 74 72 6f 6d 20 6b 69 +R 00 00 01 00 +T 0b 00 00 00 63 6b 20 3c 26 6e 72 63 62 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e7_5334_netrom_20nodefilter.rel b/src/nos/lib/messages_lib/05e7_5334_netrom_20nodefilter.rel new file mode 100644 index 00000000..2f95c856 --- /dev/null +++ b/src/nos/lib/messages_lib/05e7_5334_netrom_20nodefilter.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2f flags 0 +S ___05e7_5334_netrom_20nodefilter Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2d 00 6e 65 74 72 6f 6d 20 6e 6f +R 00 00 01 00 +T 0b 00 00 00 64 65 66 69 6c 74 65 72 20 61 64 +R 00 00 01 00 +T 16 00 00 00 64 20 3c 6e 65 69 67 68 62 6f 72 +R 00 00 01 00 +T 21 00 00 00 3e 20 3c 69 6e 74 65 72 66 61 63 +R 00 00 01 00 +T 2c 00 00 00 65 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e7_7425_terminate.rel b/src/nos/lib/messages_lib/05e7_7425_terminate.rel deleted file mode 100644 index 97290d52..00000000 --- a/src/nos/lib/messages_lib/05e7_7425_terminate.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size c flags 0 -S ___05e7_7425_terminate Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0a 00 74 65 72 6d 69 6e 61 74 65 -R 00 00 01 00 -T 0b 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e8_4c6f_thresh.rel b/src/nos/lib/messages_lib/05e8_4c6f_thresh.rel deleted file mode 100644 index 9f74ba65..00000000 --- a/src/nos/lib/messages_lib/05e8_4c6f_thresh.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___05e8_4c6f_thresh Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 74 68 72 65 73 68 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e8_6bfe_netrom_20nodefilter.rel b/src/nos/lib/messages_lib/05e8_6bfe_netrom_20nodefilter.rel new file mode 100644 index 00000000..e9094512 --- /dev/null +++ b/src/nos/lib/messages_lib/05e8_6bfe_netrom_20nodefilter.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 30 flags 0 +S ___05e8_6bfe_netrom_20nodefilter Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2e 00 6e 65 74 72 6f 6d 20 6e 6f +R 00 00 01 00 +T 0b 00 00 00 64 65 66 69 6c 74 65 72 20 64 72 +R 00 00 01 00 +T 16 00 00 00 6f 70 20 3c 6e 65 69 67 68 62 6f +R 00 00 01 00 +T 21 00 00 00 72 3e 20 3c 69 6e 74 65 72 66 61 +R 00 00 01 00 +T 2c 00 00 00 63 65 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e9_328e_netrom_20reset_20_3.rel b/src/nos/lib/messages_lib/05e9_328e_netrom_20reset_20_3.rel new file mode 100644 index 00000000..b0a346d6 --- /dev/null +++ b/src/nos/lib/messages_lib/05e9_328e_netrom_20reset_20_3.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___05e9_328e_netrom_20reset_20_3 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 6e 65 74 72 6f 6d 20 72 65 +R 00 00 01 00 +T 0b 00 00 00 73 65 74 20 3c 26 6e 72 63 62 3e +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05e9_535d_time.rel b/src/nos/lib/messages_lib/05e9_535d_time.rel deleted file mode 100644 index 6120ddfb..00000000 --- a/src/nos/lib/messages_lib/05e9_535d_time.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___05e9_535d_time Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 74 69 6d 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ea_18c8_netrom_20route_20ad.rel b/src/nos/lib/messages_lib/05ea_18c8_netrom_20route_20ad.rel new file mode 100644 index 00000000..1ed63d7f --- /dev/null +++ b/src/nos/lib/messages_lib/05ea_18c8_netrom_20route_20ad.rel @@ -0,0 +1,22 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 4a flags 0 +S ___05ea_18c8_netrom_20route_20ad Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 48 00 6e 65 74 72 6f 6d 20 72 6f +R 00 00 01 00 +T 0b 00 00 00 75 74 65 20 61 64 64 20 3c 61 6c +R 00 00 01 00 +T 16 00 00 00 69 61 73 3e 20 3c 64 65 73 74 69 +R 00 00 01 00 +T 21 00 00 00 6e 61 74 69 6f 6e 3e 20 3c 69 6e +R 00 00 01 00 +T 2c 00 00 00 74 65 72 66 61 63 65 3e 20 3c 71 +R 00 00 01 00 +T 37 00 00 00 75 61 6c 69 74 79 3e 20 3c 6e 65 +R 00 00 01 00 +T 42 00 00 00 69 67 68 62 6f 72 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ea_43a3_time_20before_20fil.rel b/src/nos/lib/messages_lib/05ea_43a3_time_20before_20fil.rel deleted file mode 100644 index 178b4472..00000000 --- a/src/nos/lib/messages_lib/05ea_43a3_time_20before_20fil.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___05ea_43a3_time_20before_20fil Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 74 69 6d 65 20 62 65 66 6f -R 00 00 01 00 -T 0b 00 00 00 72 65 20 66 69 6c 65 20 75 70 64 -R 00 00 01 00 -T 16 00 00 00 61 74 65 20 28 73 65 63 6f 6e 64 -R 00 00 01 00 -T 21 00 00 00 73 29 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05eb_7156_timeout.rel b/src/nos/lib/messages_lib/05eb_7156_timeout.rel deleted file mode 100644 index fa585fcc..00000000 --- a/src/nos/lib/messages_lib/05eb_7156_timeout.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___05eb_7156_timeout Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 74 69 6d 65 6f 75 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05eb_fff3_netrom_20route_20dr.rel b/src/nos/lib/messages_lib/05eb_fff3_netrom_20route_20dr.rel new file mode 100644 index 00000000..4417e13c --- /dev/null +++ b/src/nos/lib/messages_lib/05eb_fff3_netrom_20route_20dr.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 39 flags 0 +S ___05eb_fff3_netrom_20route_20dr Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 37 00 6e 65 74 72 6f 6d 20 72 6f +R 00 00 01 00 +T 0b 00 00 00 75 74 65 20 64 72 6f 70 20 3c 64 +R 00 00 01 00 +T 16 00 00 00 65 73 74 69 6e 61 74 69 6f 6e 3e +R 00 00 01 00 +T 21 00 00 00 20 3c 6e 65 69 67 68 62 6f 72 3e +R 00 00 01 00 +T 2c 00 00 00 20 3c 69 6e 74 65 72 66 61 63 65 +R 00 00 01 00 +T 37 00 00 00 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ec_d9a6_timer.rel b/src/nos/lib/messages_lib/05ec_d9a6_timer.rel deleted file mode 100644 index 1b2b86ab..00000000 --- a/src/nos/lib/messages_lib/05ec_d9a6_timer.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___05ec_d9a6_timer Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 74 69 6d 65 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ec_e8da_netrom_20route_20in.rel b/src/nos/lib/messages_lib/05ec_e8da_netrom_20route_20in.rel new file mode 100644 index 00000000..b5b97550 --- /dev/null +++ b/src/nos/lib/messages_lib/05ec_e8da_netrom_20route_20in.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___05ec_e8da_netrom_20route_20in Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 6e 65 74 72 6f 6d 20 72 6f +R 00 00 01 00 +T 0b 00 00 00 75 74 65 20 69 6e 66 6f 20 3c 64 +R 00 00 01 00 +T 16 00 00 00 65 73 74 69 6e 61 74 69 6f 6e 3e +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ed_9094_newfile_28_29_20ret.rel b/src/nos/lib/messages_lib/05ed_9094_newfile_28_29_20ret.rel new file mode 100644 index 00000000..662af09e --- /dev/null +++ b/src/nos/lib/messages_lib/05ed_9094_newfile_28_29_20ret.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___05ed_9094_newfile_28_29_20ret Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 6e 65 77 66 69 6c 65 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 30 78 25 78 2c 20 73 75 63 63 65 +R 00 00 01 00 +T 21 00 00 00 73 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ed_d29c_timer_3a_20ints_20w.rel b/src/nos/lib/messages_lib/05ed_d29c_timer_3a_20ints_20w.rel deleted file mode 100644 index efd2593b..00000000 --- a/src/nos/lib/messages_lib/05ed_d29c_timer_3a_20ints_20w.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 19 flags 0 -S ___05ed_d29c_timer_3a_20ints_20w Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 17 00 74 69 6d 65 72 3a 20 69 6e -R 00 00 01 00 -T 0b 00 00 00 74 73 20 77 65 72 65 20 6f 66 66 -R 00 00 01 00 -T 16 00 00 00 21 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ee_6cce_newfile_28_29_20ret.rel b/src/nos/lib/messages_lib/05ee_6cce_newfile_28_29_20ret.rel new file mode 100644 index 00000000..91c3527a --- /dev/null +++ b/src/nos/lib/messages_lib/05ee_6cce_newfile_28_29_20ret.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___05ee_6cce_newfile_28_29_20ret Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 6e 65 77 66 69 6c 65 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 4e 55 4c 4c 2c 20 65 72 72 6f 72 +R 00 00 01 00 +T 21 00 00 00 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ee_c82f_times.rel b/src/nos/lib/messages_lib/05ee_c82f_times.rel deleted file mode 100644 index ed600cab..00000000 --- a/src/nos/lib/messages_lib/05ee_c82f_times.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___05ee_c82f_times Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 74 69 6d 65 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ef_147d_newfile_280x_25x_2c.rel b/src/nos/lib/messages_lib/05ef_147d_newfile_280x_25x_2c.rel new file mode 100644 index 00000000..c4e640d8 --- /dev/null +++ b/src/nos/lib/messages_lib/05ef_147d_newfile_280x_25x_2c.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 20 flags 0 +S ___05ef_147d_newfile_280x_25x_2c Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1e 00 6e 65 77 66 69 6c 65 28 30 +R 00 00 01 00 +T 0b 00 00 00 78 25 78 2c 20 22 25 73 22 29 20 +R 00 00 01 00 +T 16 00 00 00 73 74 61 72 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ef_223a_timestamps.rel b/src/nos/lib/messages_lib/05ef_223a_timestamps.rel deleted file mode 100644 index 3ed12e96..00000000 --- a/src/nos/lib/messages_lib/05ef_223a_timestamps.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___05ef_223a_timestamps Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 74 69 6d 65 73 74 61 6d 70 -R 00 00 01 00 -T 0b 00 00 00 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f0_004c_tip_20or_20dialer_2.rel b/src/nos/lib/messages_lib/05f0_004c_tip_20or_20dialer_2.rel deleted file mode 100644 index 12da2021..00000000 --- a/src/nos/lib/messages_lib/05f0_004c_tip_20or_20dialer_2.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2e flags 0 -S ___05f0_004c_tip_20or_20dialer_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2c 00 74 69 70 20 6f 72 20 64 69 -R 00 00 01 00 -T 0b 00 00 00 61 6c 65 72 20 73 65 73 73 69 6f -R 00 00 01 00 -T 16 00 00 00 6e 20 61 6c 72 65 61 64 79 20 61 -R 00 00 01 00 -T 21 00 00 00 63 74 69 76 65 20 6f 6e 20 25 73 -R 00 00 01 00 -T 2c 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f0_2254_newproc_20_22_25s_2.rel b/src/nos/lib/messages_lib/05f0_2254_newproc_20_22_25s_2.rel new file mode 100644 index 00000000..2972d64a --- /dev/null +++ b/src/nos/lib/messages_lib/05f0_2254_newproc_20_22_25s_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___05f0_2254_newproc_20_22_25s_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 6e 65 77 70 72 6f 63 20 22 +R 00 00 01 00 +T 0b 00 00 00 25 73 22 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f1_1067_newptab_28_29_20ret.rel b/src/nos/lib/messages_lib/05f1_1067_newptab_28_29_20ret.rel new file mode 100644 index 00000000..f162fee7 --- /dev/null +++ b/src/nos/lib/messages_lib/05f1_1067_newptab_28_29_20ret.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___05f1_1067_newptab_28_29_20ret Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 6e 65 77 70 74 61 62 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 30 78 25 78 2c 20 73 75 63 63 65 +R 00 00 01 00 +T 21 00 00 00 73 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f1_aa4a_tiptimeout.rel b/src/nos/lib/messages_lib/05f1_aa4a_tiptimeout.rel deleted file mode 100644 index a54e58ff..00000000 --- a/src/nos/lib/messages_lib/05f1_aa4a_tiptimeout.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size d flags 0 -S ___05f1_aa4a_tiptimeout Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0b 00 74 69 70 74 69 6d 65 6f 75 -R 00 00 01 00 -T 0b 00 00 00 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f2_a95a_newptab_28_29_20ret.rel b/src/nos/lib/messages_lib/05f2_a95a_newptab_28_29_20ret.rel new file mode 100644 index 00000000..d3236f1a --- /dev/null +++ b/src/nos/lib/messages_lib/05f2_a95a_newptab_28_29_20ret.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___05f2_a95a_newptab_28_29_20ret Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 6e 65 77 70 74 61 62 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 4e 55 4c 4c 2c 20 65 72 72 6f 72 +R 00 00 01 00 +T 21 00 00 00 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f2_aa76_tmp_20file_20wiping.rel b/src/nos/lib/messages_lib/05f2_aa76_tmp_20file_20wiping.rel deleted file mode 100644 index b2c16afb..00000000 --- a/src/nos/lib/messages_lib/05f2_aa76_tmp_20file_20wiping.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___05f2_aa76_tmp_20file_20wiping Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 74 6d 70 20 66 69 6c 65 20 -R 00 00 01 00 -T 0b 00 00 00 77 69 70 69 6e 67 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f3_2645_tmp_20file_3a_20_25.rel b/src/nos/lib/messages_lib/05f3_2645_tmp_20file_3a_20_25.rel deleted file mode 100644 index 0bcdf421..00000000 --- a/src/nos/lib/messages_lib/05f3_2645_tmp_20file_3a_20_25.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size f flags 0 -S ___05f3_2645_tmp_20file_3a_20_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0d 00 74 6d 70 20 66 69 6c 65 3a -R 00 00 01 00 -T 0b 00 00 00 20 25 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f3_5889_newptab_28_29_20sta.rel b/src/nos/lib/messages_lib/05f3_5889_newptab_28_29_20sta.rel new file mode 100644 index 00000000..a9215cfb --- /dev/null +++ b/src/nos/lib/messages_lib/05f3_5889_newptab_28_29_20sta.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___05f3_5889_newptab_28_29_20sta Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 6e 65 77 70 74 61 62 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 73 74 61 72 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f4_4db6_newsession_3a_20WAR.rel b/src/nos/lib/messages_lib/05f4_4db6_newsession_3a_20WAR.rel new file mode 100644 index 00000000..0140371a --- /dev/null +++ b/src/nos/lib/messages_lib/05f4_4db6_newsession_3a_20WAR.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2e flags 0 +S ___05f4_4db6_newsession_3a_20WAR Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2c 00 6e 65 77 73 65 73 73 69 6f +R 00 00 01 00 +T 0b 00 00 00 6e 3a 20 57 41 52 4e 49 4e 47 21 +R 00 00 01 00 +T 16 00 00 00 20 6e 6f 20 6d 65 6d 6f 72 79 20 +R 00 00 01 00 +T 21 00 00 00 66 6f 72 20 73 65 73 73 69 6f 6e +R 00 00 01 00 +T 2c 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f4_a165_topt.rel b/src/nos/lib/messages_lib/05f4_a165_topt.rel deleted file mode 100644 index dd09caa5..00000000 --- a/src/nos/lib/messages_lib/05f4_a165_topt.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___05f4_a165_topt Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 74 6f 70 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f5_4f5f_trace.rel b/src/nos/lib/messages_lib/05f5_4f5f_trace.rel deleted file mode 100644 index ae08c72e..00000000 --- a/src/nos/lib/messages_lib/05f5_4f5f_trace.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___05f5_4f5f_trace Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 74 72 61 63 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f5_5ab5_newsession_3a_20WAR.rel b/src/nos/lib/messages_lib/05f5_5ab5_newsession_3a_20WAR.rel new file mode 100644 index 00000000..196b29bf --- /dev/null +++ b/src/nos/lib/messages_lib/05f5_5ab5_newsession_3a_20WAR.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2b flags 0 +S ___05f5_5ab5_newsession_3a_20WAR Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 29 00 6e 65 77 73 65 73 73 69 6f +R 00 00 01 00 +T 0b 00 00 00 6e 3a 20 57 41 52 4e 49 4e 47 21 +R 00 00 01 00 +T 16 00 00 00 20 73 65 73 73 69 6f 6e 20 74 61 +R 00 00 01 00 +T 21 00 00 00 62 6c 65 20 66 75 6c 6c 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f6_3bce_traceroute_20done_3.rel b/src/nos/lib/messages_lib/05f6_3bce_traceroute_20done_3.rel deleted file mode 100644 index e4f19b68..00000000 --- a/src/nos/lib/messages_lib/05f6_3bce_traceroute_20done_3.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___05f6_3bce_traceroute_20done_3 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 74 72 61 63 65 72 6f 75 74 -R 00 00 01 00 -T 0b 00 00 00 65 20 64 6f 6e 65 3a 20 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f6_7718_next_20pointer_20ou.rel b/src/nos/lib/messages_lib/05f6_7718_next_20pointer_20ou.rel new file mode 100644 index 00000000..610b0389 --- /dev/null +++ b/src/nos/lib/messages_lib/05f6_7718_next_20pointer_20ou.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___05f6_7718_next_20pointer_20ou Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 6e 65 78 74 20 70 6f 69 6e +R 00 00 01 00 +T 0b 00 00 00 74 65 72 20 6f 75 74 20 6f 66 20 +R 00 00 01 00 +T 16 00 00 00 6c 69 6d 69 74 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f7_7b66_nlst.rel b/src/nos/lib/messages_lib/05f7_7b66_nlst.rel new file mode 100644 index 00000000..ac1416d2 --- /dev/null +++ b/src/nos/lib/messages_lib/05f7_7b66_nlst.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___05f7_7b66_nlst Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 6e 6c 73 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f7_f7b8_try.rel b/src/nos/lib/messages_lib/05f7_f7b8_try.rel deleted file mode 100644 index 94131feb..00000000 --- a/src/nos/lib/messages_lib/05f7_f7b8_try.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___05f7_f7b8_try Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 74 72 79 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f8_0ca7_nntp_20addserver_20.rel b/src/nos/lib/messages_lib/05f8_0ca7_nntp_20addserver_20.rel new file mode 100644 index 00000000..dfea5eda --- /dev/null +++ b/src/nos/lib/messages_lib/05f8_0ca7_nntp_20addserver_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 29 flags 0 +S ___05f8_0ca7_nntp_20addserver_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 27 00 6e 6e 74 70 20 61 64 64 73 +R 00 00 01 00 +T 0b 00 00 00 65 72 76 65 72 20 3c 6e 6e 74 70 +R 00 00 01 00 +T 16 00 00 00 73 65 72 76 65 72 3e 20 3c 69 6e +R 00 00 01 00 +T 21 00 00 00 74 65 72 76 61 6c 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f8_e444_ttl.rel b/src/nos/lib/messages_lib/05f8_e444_ttl.rel deleted file mode 100644 index d93bee03..00000000 --- a/src/nos/lib/messages_lib/05f8_e444_ttl.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___05f8_e444_ttl Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 74 74 6c 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f9_299c_ttylink.rel b/src/nos/lib/messages_lib/05f9_299c_ttylink.rel deleted file mode 100644 index bb9f6b9f..00000000 --- a/src/nos/lib/messages_lib/05f9_299c_ttylink.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___05f9_299c_ttylink Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 74 74 79 6c 69 6e 6b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05f9_fea0_nntp_20dropserver_2.rel b/src/nos/lib/messages_lib/05f9_fea0_nntp_20dropserver_2.rel new file mode 100644 index 00000000..f365011d --- /dev/null +++ b/src/nos/lib/messages_lib/05f9_fea0_nntp_20dropserver_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___05f9_fea0_nntp_20dropserver_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 6e 6e 74 70 20 64 72 6f 70 +R 00 00 01 00 +T 0b 00 00 00 73 65 72 76 65 72 20 3c 6e 6e 74 +R 00 00 01 00 +T 16 00 00 00 70 73 65 72 76 65 72 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05fa_a821_nntp_20kick_20_3cnn.rel b/src/nos/lib/messages_lib/05fa_a821_nntp_20kick_20_3cnn.rel new file mode 100644 index 00000000..7355be4a --- /dev/null +++ b/src/nos/lib/messages_lib/05fa_a821_nntp_20kick_20_3cnn.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___05fa_a821_nntp_20kick_20_3cnn Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 6e 6e 74 70 20 6b 69 63 6b +R 00 00 01 00 +T 0b 00 00 00 20 3c 6e 6e 74 70 73 65 72 76 65 +R 00 00 01 00 +T 16 00 00 00 72 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05fa_e58b_txqlen.rel b/src/nos/lib/messages_lib/05fa_e58b_txqlen.rel deleted file mode 100644 index 3d9caab3..00000000 --- a/src/nos/lib/messages_lib/05fa_e58b_txqlen.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___05fa_e58b_txqlen Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 74 78 71 6c 65 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05fb_a7f6_no_20filesys.rel b/src/nos/lib/messages_lib/05fb_a7f6_no_20filesys.rel new file mode 100644 index 00000000..b815dda4 --- /dev/null +++ b/src/nos/lib/messages_lib/05fb_a7f6_no_20filesys.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___05fb_a7f6_no_20filesys Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 6e 6f 20 66 69 6c 65 73 79 +R 00 00 01 00 +T 0b 00 00 00 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05fb_f321_type.rel b/src/nos/lib/messages_lib/05fb_f321_type.rel deleted file mode 100644 index 1d75decc..00000000 --- a/src/nos/lib/messages_lib/05fb_f321_type.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___05fb_f321_type Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 74 79 70 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05fc_7405_no_20root.rel b/src/nos/lib/messages_lib/05fc_7405_no_20root.rel new file mode 100644 index 00000000..328256ad --- /dev/null +++ b/src/nos/lib/messages_lib/05fc_7405_no_20root.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___05fc_7405_no_20root Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 6e 6f 20 72 6f 6f 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05fc_f1e4_udp.rel b/src/nos/lib/messages_lib/05fc_f1e4_udp.rel deleted file mode 100644 index 95866cd0..00000000 --- a/src/nos/lib/messages_lib/05fc_f1e4_udp.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___05fc_f1e4_udp Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 75 64 70 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05fd_5caf_umount.rel b/src/nos/lib/messages_lib/05fd_5caf_umount.rel deleted file mode 100644 index 94c41a2e..00000000 --- a/src/nos/lib/messages_lib/05fd_5caf_umount.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___05fd_5caf_umount Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 75 6d 6f 75 6e 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05fd_b518_no_20such_20route_0.rel b/src/nos/lib/messages_lib/05fd_b518_no_20such_20route_0.rel new file mode 100644 index 00000000..7d171824 --- /dev/null +++ b/src/nos/lib/messages_lib/05fd_b518_no_20such_20route_0.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___05fd_b518_no_20such_20route_0 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 6e 6f 20 73 75 63 68 20 72 +R 00 00 01 00 +T 0b 00 00 00 6f 75 74 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05fe_3fb4_nodefilter.rel b/src/nos/lib/messages_lib/05fe_3fb4_nodefilter.rel new file mode 100644 index 00000000..e5be7f1e --- /dev/null +++ b/src/nos/lib/messages_lib/05fe_3fb4_nodefilter.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___05fe_3fb4_nodefilter Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 6e 6f 64 65 66 69 6c 74 65 +R 00 00 01 00 +T 0b 00 00 00 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05fe_5c70_unknown_0a.rel b/src/nos/lib/messages_lib/05fe_5c70_unknown_0a.rel deleted file mode 100644 index 6a60c37b..00000000 --- a/src/nos/lib/messages_lib/05fe_5c70_unknown_0a.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___05fe_5c70_unknown_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 75 6e 6b 6e 6f 77 6e 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ff_bac4_nodefilter_20subcom.rel b/src/nos/lib/messages_lib/05ff_bac4_nodefilter_20subcom.rel new file mode 100644 index 00000000..c2b9e1c7 --- /dev/null +++ b/src/nos/lib/messages_lib/05ff_bac4_nodefilter_20subcom.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___05ff_bac4_nodefilter_20subcom Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 6e 6f 64 65 66 69 6c 74 65 +R 00 00 01 00 +T 0b 00 00 00 72 20 73 75 62 63 6f 6d 6d 61 6e +R 00 00 01 00 +T 16 00 00 00 64 73 3a 20 61 64 64 20 64 72 6f +R 00 00 01 00 +T 21 00 00 00 70 20 6d 6f 64 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/05ff_bc4f_unknown_200x_2504x_.rel b/src/nos/lib/messages_lib/05ff_bc4f_unknown_200x_2504x_.rel deleted file mode 100644 index c77c44c3..00000000 --- a/src/nos/lib/messages_lib/05ff_bc4f_unknown_200x_2504x_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___05ff_bc4f_unknown_200x_2504x_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 75 6e 6b 6e 6f 77 6e 20 30 -R 00 00 01 00 -T 0b 00 00 00 78 25 30 34 78 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0600_5194_unknown_20hardware_.rel b/src/nos/lib/messages_lib/0600_5194_unknown_20hardware_.rel deleted file mode 100644 index 4943b47c..00000000 --- a/src/nos/lib/messages_lib/0600_5194_unknown_20hardware_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___0600_5194_unknown_20hardware_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 75 6e 6b 6e 6f 77 6e 20 68 -R 00 00 01 00 -T 0b 00 00 00 61 72 64 77 61 72 65 20 74 79 70 -R 00 00 01 00 -T 16 00 00 00 65 20 22 25 73 22 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0600_e743_nodes.rel b/src/nos/lib/messages_lib/0600_e743_nodes.rel new file mode 100644 index 00000000..6bbcbb83 --- /dev/null +++ b/src/nos/lib/messages_lib/0600_e743_nodes.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0600_e743_nodes Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 6e 6f 64 65 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0601_57cf_nodetimer.rel b/src/nos/lib/messages_lib/0601_57cf_nodetimer.rel new file mode 100644 index 00000000..0b369b87 --- /dev/null +++ b/src/nos/lib/messages_lib/0601_57cf_nodetimer.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0601_57cf_nodetimer Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 6e 6f 64 65 74 69 6d 65 72 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0601_acee_unlink.rel b/src/nos/lib/messages_lib/0601_acee_unlink.rel deleted file mode 100644 index e8ce8892..00000000 --- a/src/nos/lib/messages_lib/0601_acee_unlink.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0601_acee_unlink Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 75 6e 6c 69 6e 6b 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0602_b0e3_none.rel b/src/nos/lib/messages_lib/0602_b0e3_none.rel new file mode 100644 index 00000000..adc27f73 --- /dev/null +++ b/src/nos/lib/messages_lib/0602_b0e3_none.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0602_b0e3_none Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 6e 6f 6e 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0602_f303_up_20script_3a_20_2.rel b/src/nos/lib/messages_lib/0602_f303_up_20script_3a_20_2.rel deleted file mode 100644 index 79bedc8e..00000000 --- a/src/nos/lib/messages_lib/0602_f303_up_20script_3a_20_2.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 11 flags 0 -S ___0602_f303_up_20script_3a_20_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0f 00 75 70 20 73 63 72 69 70 74 -R 00 00 01 00 -T 0b 00 00 00 3a 20 25 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0603_7a7f_none_0a.rel b/src/nos/lib/messages_lib/0603_7a7f_none_0a.rel new file mode 100644 index 00000000..a9ea712f --- /dev/null +++ b/src/nos/lib/messages_lib/0603_7a7f_none_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0603_7a7f_none_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 6e 6f 6e 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0603_db93_update.rel b/src/nos/lib/messages_lib/0603_db93_update.rel deleted file mode 100644 index a3944bb9..00000000 --- a/src/nos/lib/messages_lib/0603_db93_update.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0603_db93_update Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 75 70 64 61 74 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0604_29c2_normal_20_28_25s_20.rel b/src/nos/lib/messages_lib/0604_29c2_normal_20_28_25s_20.rel new file mode 100644 index 00000000..1edc8724 --- /dev/null +++ b/src/nos/lib/messages_lib/0604_29c2_normal_20_28_25s_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0604_29c2_normal_20_28_25s_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 6e 6f 72 6d 61 6c 20 28 25 +R 00 00 01 00 +T 0b 00 00 00 73 20 25 73 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0604_5c27_update_20Domain_2et.rel b/src/nos/lib/messages_lib/0604_5c27_update_20Domain_2et.rel deleted file mode 100644 index 61f77f1f..00000000 --- a/src/nos/lib/messages_lib/0604_5c27_update_20Domain_2et.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 14 flags 0 -S ___0604_5c27_update_20Domain_2et Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 12 00 75 70 64 61 74 65 20 44 6f -R 00 00 01 00 -T 0b 00 00 00 6d 61 69 6e 2e 74 78 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0605_0b09_update_20Domain_2et.rel b/src/nos/lib/messages_lib/0605_0b09_update_20Domain_2et.rel deleted file mode 100644 index 2f25827b..00000000 --- a/src/nos/lib/messages_lib/0605_0b09_update_20Domain_2et.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___0605_0b09_update_20Domain_2et Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 75 70 64 61 74 65 20 44 6f -R 00 00 01 00 -T 0b 00 00 00 6d 61 69 6e 2e 74 78 74 20 66 69 -R 00 00 01 00 -T 16 00 00 00 6e 69 73 68 65 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0605_6504_not_20open_20for_20.rel b/src/nos/lib/messages_lib/0605_6504_not_20open_20for_20.rel new file mode 100644 index 00000000..19d4375b --- /dev/null +++ b/src/nos/lib/messages_lib/0605_6504_not_20open_20for_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 29 flags 0 +S ___0605_6504_not_20open_20for_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 27 00 6e 6f 74 20 6f 70 65 6e 20 +R 00 00 01 00 +T 0b 00 00 00 66 6f 72 20 43 6f 6d 70 72 65 73 +R 00 00 01 00 +T 16 00 00 00 73 65 64 20 54 43 50 2f 49 50 20 +R 00 00 01 00 +T 21 00 00 00 74 72 61 66 66 69 63 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0606_6274_not_20open_20for_20.rel b/src/nos/lib/messages_lib/0606_6274_not_20open_20for_20.rel new file mode 100644 index 00000000..4954322b --- /dev/null +++ b/src/nos/lib/messages_lib/0606_6274_not_20open_20for_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___0606_6274_not_20open_20for_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 6e 6f 74 20 6f 70 65 6e 20 +R 00 00 01 00 +T 0b 00 00 00 66 6f 72 20 49 50 20 74 72 61 66 +R 00 00 01 00 +T 16 00 00 00 66 69 63 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0606_c5a3_update_20Domain_2et.rel b/src/nos/lib/messages_lib/0606_c5a3_update_20Domain_2et.rel deleted file mode 100644 index c57dcff8..00000000 --- a/src/nos/lib/messages_lib/0606_c5a3_update_20Domain_2et.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___0606_c5a3_update_20Domain_2et Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 75 70 64 61 74 65 20 44 6f -R 00 00 01 00 -T 0b 00 00 00 6d 61 69 6e 2e 74 78 74 20 69 6e -R 00 00 01 00 -T 16 00 00 00 69 74 69 61 74 65 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0607_7cd1_not_20open_20for_20.rel b/src/nos/lib/messages_lib/0607_7cd1_not_20open_20for_20.rel new file mode 100644 index 00000000..cdda6fb5 --- /dev/null +++ b/src/nos/lib/messages_lib/0607_7cd1_not_20open_20for_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2b flags 0 +S ___0607_7cd1_not_20open_20for_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 29 00 6e 6f 74 20 6f 70 65 6e 20 +R 00 00 01 00 +T 0b 00 00 00 66 6f 72 20 55 6e 63 6f 6d 70 72 +R 00 00 01 00 +T 16 00 00 00 65 73 73 65 64 20 54 43 50 2f 49 +R 00 00 01 00 +T 21 00 00 00 50 20 74 72 61 66 66 69 63 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0607_d4f0_upload.rel b/src/nos/lib/messages_lib/0607_d4f0_upload.rel deleted file mode 100644 index 6e70fcaf..00000000 --- a/src/nos/lib/messages_lib/0607_d4f0_upload.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___0607_d4f0_upload Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 75 70 6c 6f 61 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0608_13f7_user.rel b/src/nos/lib/messages_lib/0608_13f7_user.rel deleted file mode 100644 index 13f30bf8..00000000 --- a/src/nos/lib/messages_lib/0608_13f7_user.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0608_13f7_user Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 75 73 65 72 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0608_a01b_not_20ready_20for_2.rel b/src/nos/lib/messages_lib/0608_a01b_not_20ready_20for_2.rel new file mode 100644 index 00000000..d09c1f73 --- /dev/null +++ b/src/nos/lib/messages_lib/0608_a01b_not_20ready_20for_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___0608_a01b_not_20ready_20for_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 6e 6f 74 20 72 65 61 64 79 +R 00 00 01 00 +T 0b 00 00 00 20 66 6f 72 20 41 75 74 68 65 6e +R 00 00 01 00 +T 16 00 00 00 74 69 63 61 74 69 6f 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0609_6f25_user_20abort_0a.rel b/src/nos/lib/messages_lib/0609_6f25_user_20abort_0a.rel deleted file mode 100644 index 71b3fc5f..00000000 --- a/src/nos/lib/messages_lib/0609_6f25_user_20abort_0a.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size e flags 0 -S ___0609_6f25_user_20abort_0a Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 0c 00 75 73 65 72 20 61 62 6f 72 -R 00 00 01 00 -T 0b 00 00 00 74 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0609_f235_not_20ready_20for_2.rel b/src/nos/lib/messages_lib/0609_f235_not_20ready_20for_2.rel new file mode 100644 index 00000000..63a4b2c1 --- /dev/null +++ b/src/nos/lib/messages_lib/0609_f235_not_20ready_20for_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___0609_f235_not_20ready_20for_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 6e 6f 74 20 72 65 61 64 79 +R 00 00 01 00 +T 0b 00 00 00 20 66 6f 72 20 49 50 43 50 20 74 +R 00 00 01 00 +T 16 00 00 00 72 61 66 66 69 63 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/060a_07d0_null_0a.rel b/src/nos/lib/messages_lib/060a_07d0_null_0a.rel new file mode 100644 index 00000000..1c55a57c --- /dev/null +++ b/src/nos/lib/messages_lib/060a_07d0_null_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___060a_07d0_null_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 6e 75 6c 6c 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/060a_1b49_userdata.rel b/src/nos/lib/messages_lib/060a_1b49_userdata.rel deleted file mode 100644 index 5246f1cf..00000000 --- a/src/nos/lib/messages_lib/060a_1b49_userdata.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size b flags 0 -S ___060a_1b49_userdata Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 09 00 75 73 65 72 64 61 74 61 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/060b_3967_username_20not_20de.rel b/src/nos/lib/messages_lib/060b_3967_username_20not_20de.rel deleted file mode 100644 index 15525e51..00000000 --- a/src/nos/lib/messages_lib/060b_3967_username_20not_20de.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 36 flags 0 -S ___060b_3967_username_20not_20de Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 34 00 75 73 65 72 6e 61 6d 65 20 -R 00 00 01 00 -T 0b 00 00 00 6e 6f 74 20 64 65 66 69 6e 65 64 -R 00 00 01 00 -T 16 00 00 00 20 79 65 74 2e 20 28 70 6f 70 20 -R 00 00 01 00 -T 21 00 00 00 75 73 65 72 20 3c 6e 61 6d 65 3e -R 00 00 01 00 -T 2c 00 00 00 20 3c 70 61 73 73 3e 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/060b_fb30_obsotimer.rel b/src/nos/lib/messages_lib/060b_fb30_obsotimer.rel new file mode 100644 index 00000000..37691b21 --- /dev/null +++ b/src/nos/lib/messages_lib/060b_fb30_obsotimer.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___060b_fb30_obsotimer Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 6f 62 73 6f 74 69 6d 65 72 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/060c_3971_open.rel b/src/nos/lib/messages_lib/060c_3971_open.rel new file mode 100644 index 00000000..866aac32 --- /dev/null +++ b/src/nos/lib/messages_lib/060c_3971_open.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___060c_3971_open Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 6f 70 65 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/060c_c23f_users.rel b/src/nos/lib/messages_lib/060c_c23f_users.rel deleted file mode 100644 index 87b8932e..00000000 --- a/src/nos/lib/messages_lib/060c_c23f_users.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___060c_c23f_users Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 75 73 65 72 73 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/060d_5353_utime.rel b/src/nos/lib/messages_lib/060d_5353_utime.rel deleted file mode 100644 index 4d03444b..00000000 --- a/src/nos/lib/messages_lib/060d_5353_utime.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___060d_5353_utime Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 75 74 69 6d 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/060d_a412_open_20_25s.rel b/src/nos/lib/messages_lib/060d_a412_open_20_25s.rel new file mode 100644 index 00000000..1d069fb4 --- /dev/null +++ b/src/nos/lib/messages_lib/060d_a412_open_20_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___060d_a412_open_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 6f 70 65 6e 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/060e_d261_valid_20subcommands.rel b/src/nos/lib/messages_lib/060e_d261_valid_20subcommands.rel deleted file mode 100644 index 0fbdcd52..00000000 --- a/src/nos/lib/messages_lib/060e_d261_valid_20subcommands.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 15 flags 0 -S ___060e_d261_valid_20subcommands Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 13 00 76 61 6c 69 64 20 73 75 62 -R 00 00 01 00 -T 0b 00 00 00 63 6f 6d 6d 61 6e 64 73 3a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/060e_e5a0_open_20FTP.rel b/src/nos/lib/messages_lib/060e_e5a0_open_20FTP.rel new file mode 100644 index 00000000..3780bbed --- /dev/null +++ b/src/nos/lib/messages_lib/060e_e5a0_open_20FTP.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___060e_e5a0_open_20FTP Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 6f 70 65 6e 20 46 54 50 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/060f_10d3_open_20Finger.rel b/src/nos/lib/messages_lib/060f_10d3_open_20Finger.rel new file mode 100644 index 00000000..e726f1bc --- /dev/null +++ b/src/nos/lib/messages_lib/060f_10d3_open_20Finger.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___060f_10d3_open_20Finger Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 6f 70 65 6e 20 46 69 6e 67 +R 00 00 01 00 +T 0b 00 00 00 65 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/060f_a0e5_validblk_3a_20dev_2.rel b/src/nos/lib/messages_lib/060f_a0e5_validblk_3a_20dev_2.rel deleted file mode 100644 index 57a2d734..00000000 --- a/src/nos/lib/messages_lib/060f_a0e5_validblk_3a_20dev_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21 flags 0 -S ___060f_a0e5_validblk_3a_20dev_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1f 00 76 61 6c 69 64 62 6c 6b 3a -R 00 00 01 00 -T 0b 00 00 00 20 64 65 76 20 30 78 25 78 20 6e -R 00 00 01 00 -T 16 00 00 00 6f 74 20 6d 6f 75 6e 74 65 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0610_74cf_validblk_3a_20inval.rel b/src/nos/lib/messages_lib/0610_74cf_validblk_3a_20inval.rel deleted file mode 100644 index ae308c16..00000000 --- a/src/nos/lib/messages_lib/0610_74cf_validblk_3a_20inval.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1d flags 0 -S ___0610_74cf_validblk_3a_20inval Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1b 00 76 61 6c 69 64 62 6c 6b 3a -R 00 00 01 00 -T 0b 00 00 00 20 69 6e 76 61 6c 69 64 20 62 6c -R 00 00 01 00 -T 16 00 00 00 6f 63 6b 20 25 75 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0610_fe22_open_20MBOX.rel b/src/nos/lib/messages_lib/0610_fe22_open_20MBOX.rel new file mode 100644 index 00000000..d02bedb8 --- /dev/null +++ b/src/nos/lib/messages_lib/0610_fe22_open_20MBOX.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0610_fe22_open_20MBOX Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 6f 70 65 6e 20 4d 42 4f 58 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0611_ab5c_verbose.rel b/src/nos/lib/messages_lib/0611_ab5c_verbose.rel deleted file mode 100644 index 27be5ecf..00000000 --- a/src/nos/lib/messages_lib/0611_ab5c_verbose.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0611_ab5c_verbose Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 76 65 72 62 6f 73 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0611_c7d5_open_20POP.rel b/src/nos/lib/messages_lib/0611_c7d5_open_20POP.rel new file mode 100644 index 00000000..80833ac2 --- /dev/null +++ b/src/nos/lib/messages_lib/0611_c7d5_open_20POP.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___0611_c7d5_open_20POP Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 6f 70 65 6e 20 50 4f 50 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0612_207d_version.rel b/src/nos/lib/messages_lib/0612_207d_version.rel deleted file mode 100644 index d073ea9f..00000000 --- a/src/nos/lib/messages_lib/0612_207d_version.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0612_207d_version Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 76 65 72 73 69 6f 6e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0612_2477_open_20SMTP.rel b/src/nos/lib/messages_lib/0612_2477_open_20SMTP.rel new file mode 100644 index 00000000..afd48a1b --- /dev/null +++ b/src/nos/lib/messages_lib/0612_2477_open_20SMTP.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0612_2477_open_20SMTP Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 6f 70 65 6e 20 53 4d 54 50 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0613_4ca5_open_20discard.rel b/src/nos/lib/messages_lib/0613_4ca5_open_20discard.rel new file mode 100644 index 00000000..1c0ce4d4 --- /dev/null +++ b/src/nos/lib/messages_lib/0613_4ca5_open_20discard.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0613_4ca5_open_20discard Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 6f 70 65 6e 20 64 69 73 63 +R 00 00 01 00 +T 0b 00 00 00 61 72 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0613_9778_view.rel b/src/nos/lib/messages_lib/0613_9778_view.rel deleted file mode 100644 index 301cca3e..00000000 --- a/src/nos/lib/messages_lib/0613_9778_view.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0613_9778_view Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 76 69 65 77 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0614_23f1_view_20_3cfilename_.rel b/src/nos/lib/messages_lib/0614_23f1_view_20_3cfilename_.rel deleted file mode 100644 index 51042890..00000000 --- a/src/nos/lib/messages_lib/0614_23f1_view_20_3cfilename_.rel +++ /dev/null @@ -1,12 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 12 flags 0 -S ___0614_23f1_view_20_3cfilename_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 10 00 76 69 65 77 20 3c 66 69 6c -R 00 00 01 00 -T 0b 00 00 00 65 6e 61 6d 65 3e 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0614_e649_open_20echo.rel b/src/nos/lib/messages_lib/0614_e649_open_20echo.rel new file mode 100644 index 00000000..99f97dfc --- /dev/null +++ b/src/nos/lib/messages_lib/0614_e649_open_20echo.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0614_e649_open_20echo Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 6f 70 65 6e 20 65 63 68 6f +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0615_a479_open_20term.rel b/src/nos/lib/messages_lib/0615_a479_open_20term.rel new file mode 100644 index 00000000..621218b1 --- /dev/null +++ b/src/nos/lib/messages_lib/0615_a479_open_20term.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0615_a479_open_20term Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 6f 70 65 6e 20 74 65 72 6d +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0615_d63a_wait.rel b/src/nos/lib/messages_lib/0615_d63a_wait.rel deleted file mode 100644 index d9558de4..00000000 --- a/src/nos/lib/messages_lib/0615_d63a_wait.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0615_d63a_wait Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 77 61 69 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0616_2887_wait_20_3cmilliseco.rel b/src/nos/lib/messages_lib/0616_2887_wait_20_3cmilliseco.rel deleted file mode 100644 index b719a4cf..00000000 --- a/src/nos/lib/messages_lib/0616_2887_wait_20_3cmilliseco.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2b flags 0 -S ___0616_2887_wait_20_3cmilliseco Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 29 00 77 61 69 74 20 3c 6d 69 6c -R 00 00 01 00 -T 0b 00 00 00 6c 69 73 65 63 6f 6e 64 73 3e 20 -R 00 00 01 00 -T 16 00 00 00 5b 20 22 73 74 72 69 6e 67 22 20 -R 00 00 01 00 -T 21 00 00 00 5b 73 70 65 65 64 5d 20 5d 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0616_76ec_packet_20delayed_20.rel b/src/nos/lib/messages_lib/0616_76ec_packet_20delayed_20.rel new file mode 100644 index 00000000..58b4bd55 --- /dev/null +++ b/src/nos/lib/messages_lib/0616_76ec_packet_20delayed_20.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___0616_76ec_packet_20delayed_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 70 61 63 6b 65 74 20 64 65 +R 00 00 01 00 +T 0b 00 00 00 6c 61 79 65 64 20 25 6c 64 20 6d +R 00 00 01 00 +T 16 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0617_8504_packet_20duped_0a.rel b/src/nos/lib/messages_lib/0617_8504_packet_20duped_0a.rel new file mode 100644 index 00000000..51be2027 --- /dev/null +++ b/src/nos/lib/messages_lib/0617_8504_packet_20duped_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___0617_8504_packet_20duped_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 70 61 63 6b 65 74 20 64 75 +R 00 00 01 00 +T 0b 00 00 00 70 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0617_e988_waitpid.rel b/src/nos/lib/messages_lib/0617_e988_waitpid.rel deleted file mode 100644 index 43a99c6a..00000000 --- a/src/nos/lib/messages_lib/0617_e988_waitpid.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size a flags 0 -S ___0617_e988_waitpid Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 08 00 77 61 69 74 70 69 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0618_674e_want_20busy_20block.rel b/src/nos/lib/messages_lib/0618_674e_want_20busy_20block.rel deleted file mode 100644 index 3040bbd4..00000000 --- a/src/nos/lib/messages_lib/0618_674e_want_20busy_20block.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___0618_674e_want_20busy_20block Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 77 61 6e 74 20 62 75 73 79 -R 00 00 01 00 -T 0b 00 00 00 20 62 6c 6f 63 6b 20 30 78 25 78 -R 00 00 01 00 -T 16 00 00 00 20 64 65 76 69 63 65 20 30 78 25 -R 00 00 01 00 -T 21 00 00 00 78 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0618_a8e1_packet_20lost_0a.rel b/src/nos/lib/messages_lib/0618_a8e1_packet_20lost_0a.rel new file mode 100644 index 00000000..33aefe53 --- /dev/null +++ b/src/nos/lib/messages_lib/0618_a8e1_packet_20lost_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0618_a8e1_packet_20lost_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 70 61 63 6b 65 74 20 6c 6f +R 00 00 01 00 +T 0b 00 00 00 73 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0619_84e4_what.rel b/src/nos/lib/messages_lib/0619_84e4_what.rel deleted file mode 100644 index a5cba94a..00000000 --- a/src/nos/lib/messages_lib/0619_84e4_what.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0619_84e4_what Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 77 68 61 74 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0619_ead4_paclen.rel b/src/nos/lib/messages_lib/0619_ead4_paclen.rel new file mode 100644 index 00000000..ef304220 --- /dev/null +++ b/src/nos/lib/messages_lib/0619_ead4_paclen.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0619_ead4_paclen Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 70 61 63 6c 65 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/061a_1a03_page.rel b/src/nos/lib/messages_lib/061a_1a03_page.rel new file mode 100644 index 00000000..0c7504e7 --- /dev/null +++ b/src/nos/lib/messages_lib/061a_1a03_page.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___061a_1a03_page Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 70 61 67 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/061a_9158_window.rel b/src/nos/lib/messages_lib/061a_9158_window.rel deleted file mode 100644 index 46bcfc1a..00000000 --- a/src/nos/lib/messages_lib/061a_9158_window.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 9 flags 0 -S ___061a_9158_window Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 07 00 77 69 6e 64 6f 77 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/061b_5379_wipe.rel b/src/nos/lib/messages_lib/061b_5379_wipe.rel deleted file mode 100644 index 1daf7849..00000000 --- a/src/nos/lib/messages_lib/061b_5379_wipe.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___061b_5379_wipe Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 77 69 70 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/061b_dd11_page_20_3ccommand_3.rel b/src/nos/lib/messages_lib/061b_dd11_page_20_3ccommand_3.rel new file mode 100644 index 00000000..035c3a79 --- /dev/null +++ b/src/nos/lib/messages_lib/061b_dd11_page_20_3ccommand_3.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___061b_dd11_page_20_3ccommand_3 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 70 61 67 65 20 3c 63 6f 6d +R 00 00 01 00 +T 0b 00 00 00 6d 61 6e 64 3e 20 5b 61 72 67 73 +R 00 00 01 00 +T 16 00 00 00 2e 2e 2e 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/061c_b6e1_pap.rel b/src/nos/lib/messages_lib/061c_b6e1_pap.rel new file mode 100644 index 00000000..6c66f556 --- /dev/null +++ b/src/nos/lib/messages_lib/061c_b6e1_pap.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___061c_b6e1_pap Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 70 61 70 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/061c_bd9d_wr_5finode_28_29_20.rel b/src/nos/lib/messages_lib/061c_bd9d_wr_5finode_28_29_20.rel deleted file mode 100644 index 5b70c0a7..00000000 --- a/src/nos/lib/messages_lib/061c_bd9d_wr_5finode_28_29_20.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___061c_bd9d_wr_5finode_28_29_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 77 72 5f 69 6e 6f 64 65 28 -R 00 00 01 00 -T 0b 00 00 00 29 20 72 65 74 75 72 6e 69 6e 67 -R 00 00 01 00 -T 16 00 00 00 20 2d 31 2c 20 65 72 72 6f 72 20 -R 00 00 01 00 -T 21 00 00 00 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/061d_68b2_wr_5finode_28_29_20.rel b/src/nos/lib/messages_lib/061d_68b2_wr_5finode_28_29_20.rel deleted file mode 100644 index b18ba4b7..00000000 --- a/src/nos/lib/messages_lib/061d_68b2_wr_5finode_28_29_20.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___061d_68b2_wr_5finode_28_29_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 77 72 5f 69 6e 6f 64 65 28 -R 00 00 01 00 -T 0b 00 00 00 29 20 72 65 74 75 72 6e 69 6e 67 -R 00 00 01 00 -T 16 00 00 00 20 30 2c 20 73 75 63 63 65 73 73 -R 00 00 01 00 -T 21 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/061d_f2ea_pap_5fcheck_28_29.rel b/src/nos/lib/messages_lib/061d_f2ea_pap_5fcheck_28_29.rel new file mode 100644 index 00000000..325d03df --- /dev/null +++ b/src/nos/lib/messages_lib/061d_f2ea_pap_5fcheck_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___061d_f2ea_pap_5fcheck_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 70 61 70 5f 63 68 65 63 6b +R 00 00 01 00 +T 0b 00 00 00 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/061e_7708_wr_5finode_280x_25x.rel b/src/nos/lib/messages_lib/061e_7708_wr_5finode_280x_25x.rel deleted file mode 100644 index 97623309..00000000 --- a/src/nos/lib/messages_lib/061e_7708_wr_5finode_280x_25x.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1b flags 0 -S ___061e_7708_wr_5finode_280x_25x Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 19 00 77 72 5f 69 6e 6f 64 65 28 -R 00 00 01 00 -T 0b 00 00 00 30 78 25 78 29 20 73 74 61 72 74 -R 00 00 01 00 -T 16 00 00 00 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/061e_bc39_pap_5finit_28_29.rel b/src/nos/lib/messages_lib/061e_bc39_pap_5finit_28_29.rel new file mode 100644 index 00000000..2fca950f --- /dev/null +++ b/src/nos/lib/messages_lib/061e_bc39_pap_5finit_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___061e_bc39_pap_5finit_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 70 61 70 5f 69 6e 69 74 28 +R 00 00 01 00 +T 0b 00 00 00 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/061f_4cc8_write.rel b/src/nos/lib/messages_lib/061f_4cc8_write.rel deleted file mode 100644 index 13c7d657..00000000 --- a/src/nos/lib/messages_lib/061f_4cc8_write.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 8 flags 0 -S ___061f_4cc8_write Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 06 00 77 72 69 74 65 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/061f_7924_pap_5flocal_28_29.rel b/src/nos/lib/messages_lib/061f_7924_pap_5flocal_28_29.rel new file mode 100644 index 00000000..e143db14 --- /dev/null +++ b/src/nos/lib/messages_lib/061f_7924_pap_5flocal_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___061f_7924_pap_5flocal_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 70 61 70 5f 6c 6f 63 61 6c +R 00 00 01 00 +T 0b 00 00 00 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0620_4574_pap_5fmakereq_28_29.rel b/src/nos/lib/messages_lib/0620_4574_pap_5fmakereq_28_29.rel new file mode 100644 index 00000000..5cae74c4 --- /dev/null +++ b/src/nos/lib/messages_lib/0620_4574_pap_5fmakereq_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___0620_4574_pap_5fmakereq_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 70 61 70 5f 6d 61 6b 65 72 +R 00 00 01 00 +T 0b 00 00 00 65 71 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0620_dd6d_x_25x.rel b/src/nos/lib/messages_lib/0620_dd6d_x_25x.rel deleted file mode 100644 index 3620ab84..00000000 --- a/src/nos/lib/messages_lib/0620_dd6d_x_25x.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0620_dd6d_x_25x Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 78 25 78 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0621_c70c_pap_5fremote_28_29.rel b/src/nos/lib/messages_lib/0621_c70c_pap_5fremote_28_29.rel new file mode 100644 index 00000000..1f5acb6d --- /dev/null +++ b/src/nos/lib/messages_lib/0621_c70c_pap_5fremote_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0621_c70c_pap_5fremote_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 70 61 70 5f 72 65 6d 6f 74 +R 00 00 01 00 +T 0b 00 00 00 65 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0621_ce7b_xcwd.rel b/src/nos/lib/messages_lib/0621_ce7b_xcwd.rel deleted file mode 100644 index a31358d7..00000000 --- a/src/nos/lib/messages_lib/0621_ce7b_xcwd.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0621_ce7b_xcwd Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 78 63 77 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0622_1122_pap_5frequest_28_29.rel b/src/nos/lib/messages_lib/0622_1122_pap_5frequest_28_29.rel new file mode 100644 index 00000000..5794f776 --- /dev/null +++ b/src/nos/lib/messages_lib/0622_1122_pap_5frequest_28_29.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 10 flags 0 +S ___0622_1122_pap_5frequest_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0e 00 70 61 70 5f 72 65 71 75 65 +R 00 00 01 00 +T 0b 00 00 00 73 74 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0622_511f_xip_5falign_28_29_2.rel b/src/nos/lib/messages_lib/0622_511f_xip_5falign_28_29_2.rel deleted file mode 100644 index f8809547..00000000 --- a/src/nos/lib/messages_lib/0622_511f_xip_5falign_28_29_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___0622_511f_xip_5falign_28_29_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 78 69 70 5f 61 6c 69 67 6e -R 00 00 01 00 -T 0b 00 00 00 28 29 20 72 65 74 75 72 6e 69 6e -R 00 00 01 00 -T 16 00 00 00 67 20 2d 31 20 61 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0623_3ddd_pap_5fshutdown_28_2.rel b/src/nos/lib/messages_lib/0623_3ddd_pap_5fshutdown_28_2.rel new file mode 100644 index 00000000..8508140b --- /dev/null +++ b/src/nos/lib/messages_lib/0623_3ddd_pap_5fshutdown_28_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0623_3ddd_pap_5fshutdown_28_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 70 61 70 5f 73 68 75 74 64 +R 00 00 01 00 +T 0b 00 00 00 6f 77 6e 28 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0623_62af_xip_5falign_28_29_2.rel b/src/nos/lib/messages_lib/0623_62af_xip_5falign_28_29_2.rel deleted file mode 100644 index e0874936..00000000 --- a/src/nos/lib/messages_lib/0623_62af_xip_5falign_28_29_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___0623_62af_xip_5falign_28_29_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 78 69 70 5f 61 6c 69 67 6e -R 00 00 01 00 -T 0b 00 00 00 28 29 20 72 65 74 75 72 6e 69 6e -R 00 00 01 00 -T 16 00 00 00 67 20 2d 31 20 63 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0624_2fa7_xip_5falign_28_29_2.rel b/src/nos/lib/messages_lib/0624_2fa7_xip_5falign_28_29_2.rel deleted file mode 100644 index 53cce6c6..00000000 --- a/src/nos/lib/messages_lib/0624_2fa7_xip_5falign_28_29_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1e flags 0 -S ___0624_2fa7_xip_5falign_28_29_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1c 00 78 69 70 5f 61 6c 69 67 6e -R 00 00 01 00 -T 0b 00 00 00 28 29 20 72 65 74 75 72 6e 69 6e -R 00 00 01 00 -T 16 00 00 00 67 20 2d 31 20 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0624_512a_param.rel b/src/nos/lib/messages_lib/0624_512a_param.rel new file mode 100644 index 00000000..eafec4b6 --- /dev/null +++ b/src/nos/lib/messages_lib/0624_512a_param.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0624_512a_param Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 70 61 72 61 6d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0625_6211_xip_5falign_28_29_2.rel b/src/nos/lib/messages_lib/0625_6211_xip_5falign_28_29_2.rel deleted file mode 100644 index bfcbf629..00000000 --- a/src/nos/lib/messages_lib/0625_6211_xip_5falign_28_29_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___0625_6211_xip_5falign_28_29_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 78 69 70 5f 61 6c 69 67 6e -R 00 00 01 00 -T 0b 00 00 00 28 29 20 72 65 74 75 72 6e 69 6e -R 00 00 01 00 -T 16 00 00 00 67 20 30 2c 20 73 75 63 63 65 73 -R 00 00 01 00 -T 21 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0625_d362_param_20_3cinterfac.rel b/src/nos/lib/messages_lib/0625_d362_param_20_3cinterfac.rel new file mode 100644 index 00000000..c1b2e98d --- /dev/null +++ b/src/nos/lib/messages_lib/0625_d362_param_20_3cinterfac.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___0625_d362_param_20_3cinterfac Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 70 61 72 61 6d 20 3c 69 6e +R 00 00 01 00 +T 0b 00 00 00 74 65 72 66 61 63 65 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0626_9d45_pass.rel b/src/nos/lib/messages_lib/0626_9d45_pass.rel new file mode 100644 index 00000000..e7f284c9 --- /dev/null +++ b/src/nos/lib/messages_lib/0626_9d45_pass.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0626_9d45_pass Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 70 61 73 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0626_dc6f_xip_5falign_280x_25.rel b/src/nos/lib/messages_lib/0626_dc6f_xip_5falign_280x_25.rel deleted file mode 100644 index 8cb7c6a0..00000000 --- a/src/nos/lib/messages_lib/0626_dc6f_xip_5falign_280x_25.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 21 flags 0 -S ___0626_dc6f_xip_5falign_280x_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1f 00 78 69 70 5f 61 6c 69 67 6e -R 00 00 01 00 -T 0b 00 00 00 28 30 78 25 78 2c 20 25 6c 64 29 -R 00 00 01 00 -T 16 00 00 00 20 73 74 61 72 74 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0627_d854_xip_5falign_5fbmap_.rel b/src/nos/lib/messages_lib/0627_d854_xip_5falign_5fbmap_.rel deleted file mode 100644 index 4b9bfef2..00000000 --- a/src/nos/lib/messages_lib/0627_d854_xip_5falign_5fbmap_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2a flags 0 -S ___0627_d854_xip_5falign_5fbmap_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 28 00 78 69 70 5f 61 6c 69 67 6e -R 00 00 01 00 -T 0b 00 00 00 5f 62 6d 61 70 28 29 20 72 65 74 -R 00 00 01 00 -T 16 00 00 00 75 72 6e 69 6e 67 20 25 75 2c 20 -R 00 00 01 00 -T 21 00 00 00 73 75 63 63 65 73 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0627_f746_pause.rel b/src/nos/lib/messages_lib/0627_f746_pause.rel new file mode 100644 index 00000000..695d4167 --- /dev/null +++ b/src/nos/lib/messages_lib/0627_f746_pause.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0627_f746_pause Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 70 61 75 73 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0628_4a41_xip_5falign_5fbmap_.rel b/src/nos/lib/messages_lib/0628_4a41_xip_5falign_5fbmap_.rel deleted file mode 100644 index 4c0fa5bf..00000000 --- a/src/nos/lib/messages_lib/0628_4a41_xip_5falign_5fbmap_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2b flags 0 -S ___0628_4a41_xip_5falign_5fbmap_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 29 00 78 69 70 5f 61 6c 69 67 6e -R 00 00 01 00 -T 0b 00 00 00 5f 62 6d 61 70 28 29 20 72 65 74 -R 00 00 01 00 -T 16 00 00 00 75 72 6e 69 6e 67 20 2d 31 2c 20 -R 00 00 01 00 -T 21 00 00 00 65 72 72 6f 72 20 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0628_d9f3_pfc.rel b/src/nos/lib/messages_lib/0628_d9f3_pfc.rel new file mode 100644 index 00000000..fc81f934 --- /dev/null +++ b/src/nos/lib/messages_lib/0628_d9f3_pfc.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0628_d9f3_pfc Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 70 66 63 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0629_28cb_ping.rel b/src/nos/lib/messages_lib/0629_28cb_ping.rel new file mode 100644 index 00000000..8984fcac --- /dev/null +++ b/src/nos/lib/messages_lib/0629_28cb_ping.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0629_28cb_ping Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 70 69 6e 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0629_f051_xip_5falign_5fbmap_.rel b/src/nos/lib/messages_lib/0629_f051_xip_5falign_5fbmap_.rel deleted file mode 100644 index 8d3ef862..00000000 --- a/src/nos/lib/messages_lib/0629_f051_xip_5falign_5fbmap_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___0629_f051_xip_5falign_5fbmap_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 78 69 70 5f 61 6c 69 67 6e -R 00 00 01 00 -T 0b 00 00 00 5f 62 6d 61 70 28 30 78 25 78 2c -R 00 00 01 00 -T 16 00 00 00 20 25 75 29 20 73 74 61 72 74 69 -R 00 00 01 00 -T 21 00 00 00 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/062a_39ef_xip_5falign_5fchase.rel b/src/nos/lib/messages_lib/062a_39ef_xip_5falign_5fchase.rel deleted file mode 100644 index 20e137d5..00000000 --- a/src/nos/lib/messages_lib/062a_39ef_xip_5falign_5fchase.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 34 flags 0 -S ___062a_39ef_xip_5falign_5fchase Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 32 00 78 69 70 5f 61 6c 69 67 6e -R 00 00 01 00 -T 0b 00 00 00 5f 63 68 61 73 65 28 29 20 31 20 -R 00 00 01 00 -T 16 00 00 00 69 6e 6f 20 3d 20 25 64 2c 20 62 -R 00 00 01 00 -T 21 00 00 00 6c 6b 20 3d 20 25 64 2c 20 70 6f -R 00 00 01 00 -T 2c 00 00 00 73 20 3d 20 25 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/062a_d85a_ping_20_3chostid_3e.rel b/src/nos/lib/messages_lib/062a_d85a_ping_20_3chostid_3e.rel new file mode 100644 index 00000000..6061962c --- /dev/null +++ b/src/nos/lib/messages_lib/062a_d85a_ping_20_3chostid_3e.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 32 flags 0 +S ___062a_d85a_ping_20_3chostid_3e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 30 00 70 69 6e 67 20 3c 68 6f 73 +R 00 00 01 00 +T 0b 00 00 00 74 69 64 3e 20 5b 3c 6c 65 6e 67 +R 00 00 01 00 +T 16 00 00 00 74 68 3e 20 5b 3c 69 6e 74 65 72 +R 00 00 01 00 +T 21 00 00 00 76 61 6c 3e 20 5b 69 6e 63 66 6c +R 00 00 01 00 +T 2c 00 00 00 61 67 5d 5d 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/062b_0458_pipe.rel b/src/nos/lib/messages_lib/062b_0458_pipe.rel new file mode 100644 index 00000000..987a6f59 --- /dev/null +++ b/src/nos/lib/messages_lib/062b_0458_pipe.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___062b_0458_pipe Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 70 69 70 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/062b_7ea2_xip_5falign_5fchase.rel b/src/nos/lib/messages_lib/062b_7ea2_xip_5falign_5fchase.rel deleted file mode 100644 index 23c8b921..00000000 --- a/src/nos/lib/messages_lib/062b_7ea2_xip_5falign_5fchase.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 34 flags 0 -S ___062b_7ea2_xip_5falign_5fchase Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 32 00 78 69 70 5f 61 6c 69 67 6e -R 00 00 01 00 -T 0b 00 00 00 5f 63 68 61 73 65 28 29 20 32 20 -R 00 00 01 00 -T 16 00 00 00 69 6e 6f 20 3d 20 25 64 2c 20 62 -R 00 00 01 00 -T 21 00 00 00 6c 6b 20 3d 20 25 64 2c 20 70 6f -R 00 00 01 00 -T 2c 00 00 00 73 20 3d 20 25 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/062c_5919_pool.rel b/src/nos/lib/messages_lib/062c_5919_pool.rel new file mode 100644 index 00000000..c0d15af7 --- /dev/null +++ b/src/nos/lib/messages_lib/062c_5919_pool.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___062c_5919_pool Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 70 6f 6f 6c 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/062c_f19c_xip_5falign_5fchase.rel b/src/nos/lib/messages_lib/062c_f19c_xip_5falign_5fchase.rel deleted file mode 100644 index c6cc2563..00000000 --- a/src/nos/lib/messages_lib/062c_f19c_xip_5falign_5fchase.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___062c_f19c_xip_5falign_5fchase Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 78 69 70 5f 61 6c 69 67 6e -R 00 00 01 00 -T 0b 00 00 00 5f 63 68 61 73 65 28 29 20 72 65 -R 00 00 01 00 -T 16 00 00 00 74 75 72 6e 69 6e 67 20 25 64 2c -R 00 00 01 00 -T 21 00 00 00 20 6f 6b 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/062d_e039_port.rel b/src/nos/lib/messages_lib/062d_e039_port.rel new file mode 100644 index 00000000..3db7f50b --- /dev/null +++ b/src/nos/lib/messages_lib/062d_e039_port.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___062d_e039_port Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 70 6f 72 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/062d_fcac_xip_5falign_5fchase.rel b/src/nos/lib/messages_lib/062d_fcac_xip_5falign_5fchase.rel deleted file mode 100644 index 9a324b8b..00000000 --- a/src/nos/lib/messages_lib/062d_fcac_xip_5falign_5fchase.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2c flags 0 -S ___062d_fcac_xip_5falign_5fchase Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2a 00 78 69 70 5f 61 6c 69 67 6e -R 00 00 01 00 -T 0b 00 00 00 5f 63 68 61 73 65 28 29 20 72 65 -R 00 00 01 00 -T 16 00 00 00 74 75 72 6e 69 6e 67 20 2d 31 2c -R 00 00 01 00 -T 21 00 00 00 20 65 72 72 6f 72 20 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/062e_a9d2_port_20_25d_3a_20tx.rel b/src/nos/lib/messages_lib/062e_a9d2_port_20_25d_3a_20tx.rel new file mode 100644 index 00000000..9174eef4 --- /dev/null +++ b/src/nos/lib/messages_lib/062e_a9d2_port_20_25d_3a_20tx.rel @@ -0,0 +1,28 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6e flags 0 +S ___062e_a9d2_port_20_25d_3a_20tx Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 6c 00 70 6f 72 74 20 25 64 3a 20 +R 00 00 01 00 +T 0b 00 00 00 74 78 70 6b 74 73 20 25 6c 75 20 +R 00 00 01 00 +T 16 00 00 00 69 6e 74 73 20 25 6c 75 20 72 78 +R 00 00 01 00 +T 21 00 00 00 70 6b 74 73 20 25 6c 75 20 72 78 +R 00 00 01 00 +T 2c 00 00 00 62 79 74 65 73 20 25 6c 75 20 6e +R 00 00 01 00 +T 37 00 00 00 6f 6d 65 6d 20 25 6c 75 20 74 6f +R 00 00 01 00 +T 42 00 00 00 6f 62 69 67 20 25 6c 75 20 63 72 +R 00 00 01 00 +T 4d 00 00 00 63 65 72 72 20 25 6c 75 20 61 62 +R 00 00 01 00 +T 58 00 00 00 6f 72 74 73 20 25 6c 75 20 6f 76 +R 00 00 01 00 +T 63 00 00 00 65 72 72 75 6e 20 25 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/062e_d6ef_xip_5falign_5fchase.rel b/src/nos/lib/messages_lib/062e_d6ef_xip_5falign_5fchase.rel deleted file mode 100644 index 60e0c414..00000000 --- a/src/nos/lib/messages_lib/062e_d6ef_xip_5falign_5fchase.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3e flags 0 -S ___062e_d6ef_xip_5falign_5fchase Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 3c 00 78 69 70 5f 61 6c 69 67 6e -R 00 00 01 00 -T 0b 00 00 00 5f 63 68 61 73 65 28 30 78 25 78 -R 00 00 01 00 -T 16 00 00 00 2c 20 30 78 25 78 2c 20 25 64 2c -R 00 00 01 00 -T 21 00 00 00 20 25 64 2c 20 30 78 25 78 2c 20 -R 00 00 01 00 -T 2c 00 00 00 25 64 2c 20 25 64 29 20 73 74 61 -R 00 00 01 00 -T 37 00 00 00 72 74 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/062f_0fcd_xip_5falign_5frecur.rel b/src/nos/lib/messages_lib/062f_0fcd_xip_5falign_5frecur.rel deleted file mode 100644 index 2a100ef3..00000000 --- a/src/nos/lib/messages_lib/062f_0fcd_xip_5falign_5frecur.rel +++ /dev/null @@ -1,20 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 42 flags 0 -S ___062f_0fcd_xip_5falign_5frecur Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 40 00 78 69 70 5f 61 6c 69 67 6e -R 00 00 01 00 -T 0b 00 00 00 5f 72 65 63 75 72 73 65 28 29 20 -R 00 00 01 00 -T 16 00 00 00 69 6e 6f 20 3d 20 25 64 2c 20 62 -R 00 00 01 00 -T 21 00 00 00 6c 6b 20 3d 20 25 64 2c 20 69 6e -R 00 00 01 00 -T 2c 00 00 00 64 20 3d 20 25 64 2c 20 70 61 72 -R 00 00 01 00 -T 37 00 00 00 20 3d 20 30 78 25 30 34 78 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/062f_3aa8_ppp.rel b/src/nos/lib/messages_lib/062f_3aa8_ppp.rel new file mode 100644 index 00000000..3dc0b426 --- /dev/null +++ b/src/nos/lib/messages_lib/062f_3aa8_ppp.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___062f_3aa8_ppp Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 70 70 70 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0630_ceee_xip_5falign_5frecur.rel b/src/nos/lib/messages_lib/0630_ceee_xip_5falign_5frecur.rel deleted file mode 100644 index a8664ab7..00000000 --- a/src/nos/lib/messages_lib/0630_ceee_xip_5falign_5frecur.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2e flags 0 -S ___0630_ceee_xip_5falign_5frecur Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2c 00 78 69 70 5f 61 6c 69 67 6e -R 00 00 01 00 -T 0b 00 00 00 5f 72 65 63 75 72 73 65 28 29 20 -R 00 00 01 00 -T 16 00 00 00 72 65 74 75 72 6e 69 6e 67 20 2d -R 00 00 01 00 -T 21 00 00 00 31 2c 20 65 72 72 6f 72 20 25 75 -R 00 00 01 00 -T 2c 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0630_d86b_ppp_20_3ciface_3e_2.rel b/src/nos/lib/messages_lib/0630_d86b_ppp_20_3ciface_3e_2.rel new file mode 100644 index 00000000..41f19a49 --- /dev/null +++ b/src/nos/lib/messages_lib/0630_d86b_ppp_20_3ciface_3e_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0630_d86b_ppp_20_3ciface_3e_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 70 70 70 20 3c 69 66 61 63 +R 00 00 01 00 +T 0b 00 00 00 65 3e 20 72 65 71 75 69 72 65 64 +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0631_346b_xip_5fexamine_28_29.rel b/src/nos/lib/messages_lib/0631_346b_xip_5fexamine_28_29.rel deleted file mode 100644 index 87b464b9..00000000 --- a/src/nos/lib/messages_lib/0631_346b_xip_5fexamine_28_29.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 29 flags 0 -S ___0631_346b_xip_5fexamine_28_29 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 27 00 78 69 70 5f 65 78 61 6d 69 -R 00 00 01 00 -T 0b 00 00 00 6e 65 28 29 20 72 65 74 75 72 6e -R 00 00 01 00 -T 16 00 00 00 69 6e 67 20 30 78 25 78 20 28 25 -R 00 00 01 00 -T 21 00 00 00 64 2c 20 25 64 29 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0631_fc07_ppp_5fproc_3a_20mis.rel b/src/nos/lib/messages_lib/0631_fc07_ppp_5fproc_3a_20mis.rel new file mode 100644 index 00000000..4500feb8 --- /dev/null +++ b/src/nos/lib/messages_lib/0631_fc07_ppp_5fproc_3a_20mis.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0631_fc07_ppp_5fproc_3a_20mis Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 70 70 70 5f 70 72 6f 63 3a +R 00 00 01 00 +T 0b 00 00 00 20 6d 69 73 73 69 6e 67 20 62 75 +R 00 00 01 00 +T 16 00 00 00 66 66 65 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0632_8304_ppp_5fproc_3a_20mis.rel b/src/nos/lib/messages_lib/0632_8304_ppp_5fproc_3a_20mis.rel new file mode 100644 index 00000000..6019bcb6 --- /dev/null +++ b/src/nos/lib/messages_lib/0632_8304_ppp_5fproc_3a_20mis.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___0632_8304_ppp_5fproc_3a_20mis Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 70 70 70 5f 70 72 6f 63 3a +R 00 00 01 00 +T 0b 00 00 00 20 6d 69 73 73 69 6e 67 20 69 66 +R 00 00 01 00 +T 16 00 00 00 61 63 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0632_fa8e_xip_5fexamine_28_29.rel b/src/nos/lib/messages_lib/0632_fa8e_xip_5fexamine_28_29.rel deleted file mode 100644 index 37a31306..00000000 --- a/src/nos/lib/messages_lib/0632_fa8e_xip_5fexamine_28_29.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2a flags 0 -S ___0632_fa8e_xip_5fexamine_28_29 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 28 00 78 69 70 5f 65 78 61 6d 69 -R 00 00 01 00 -T 0b 00 00 00 6e 65 28 29 20 72 65 74 75 72 6e -R 00 00 01 00 -T 16 00 00 00 69 6e 67 20 4e 55 4c 4c 2c 20 65 -R 00 00 01 00 -T 21 00 00 00 72 72 6f 72 20 25 75 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0633_4b37_process_20_25d_20ex.rel b/src/nos/lib/messages_lib/0633_4b37_process_20_25d_20ex.rel new file mode 100644 index 00000000..0d8de8bb --- /dev/null +++ b/src/nos/lib/messages_lib/0633_4b37_process_20_25d_20ex.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___0633_4b37_process_20_25d_20ex Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 70 72 6f 63 65 73 73 20 25 +R 00 00 01 00 +T 0b 00 00 00 64 20 65 78 69 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0633_ed9f_xip_5fexamine_28_29.rel b/src/nos/lib/messages_lib/0633_ed9f_xip_5fexamine_28_29.rel deleted file mode 100644 index 54dbe033..00000000 --- a/src/nos/lib/messages_lib/0633_ed9f_xip_5fexamine_28_29.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2c flags 0 -S ___0633_ed9f_xip_5fexamine_28_29 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2a 00 78 69 70 5f 65 78 61 6d 69 -R 00 00 01 00 -T 0b 00 00 00 6e 65 28 29 20 72 65 74 75 72 6e -R 00 00 01 00 -T 16 00 00 00 69 6e 67 20 4e 55 4c 4c 2c 20 65 -R 00 00 01 00 -T 21 00 00 00 72 72 6f 72 20 25 75 20 61 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0634_8848_processing_20my_20i.rel b/src/nos/lib/messages_lib/0634_8848_processing_20my_20i.rel new file mode 100644 index 00000000..a8802b9d --- /dev/null +++ b/src/nos/lib/messages_lib/0634_8848_processing_20my_20i.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1a flags 0 +S ___0634_8848_processing_20my_20i Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 18 00 70 72 6f 63 65 73 73 69 6e +R 00 00 01 00 +T 0b 00 00 00 67 20 6d 79 20 69 6e 6f 64 65 20 +R 00 00 01 00 +T 16 00 00 00 25 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0634_c7f7_xip_5fexamine_28_29.rel b/src/nos/lib/messages_lib/0634_c7f7_xip_5fexamine_28_29.rel deleted file mode 100644 index 1667c94e..00000000 --- a/src/nos/lib/messages_lib/0634_c7f7_xip_5fexamine_28_29.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2c flags 0 -S ___0634_c7f7_xip_5fexamine_28_29 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2a 00 78 69 70 5f 65 78 61 6d 69 -R 00 00 01 00 -T 0b 00 00 00 6e 65 28 29 20 72 65 74 75 72 6e -R 00 00 01 00 -T 16 00 00 00 69 6e 67 20 4e 55 4c 4c 2c 20 65 -R 00 00 01 00 -T 21 00 00 00 72 72 6f 72 20 25 75 20 62 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0635_04e3_xip_5fexamine_280x_.rel b/src/nos/lib/messages_lib/0635_04e3_xip_5fexamine_280x_.rel deleted file mode 100644 index cc5e62a7..00000000 --- a/src/nos/lib/messages_lib/0635_04e3_xip_5fexamine_280x_.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 35 flags 0 -S ___0635_04e3_xip_5fexamine_280x_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 33 00 78 69 70 5f 65 78 61 6d 69 -R 00 00 01 00 -T 0b 00 00 00 6e 65 28 30 78 25 78 2c 20 30 78 -R 00 00 01 00 -T 16 00 00 00 25 78 2c 20 25 6c 64 2c 20 30 78 -R 00 00 01 00 -T 21 00 00 00 25 78 2c 20 30 78 25 78 29 20 73 -R 00 00 01 00 -T 2c 00 00 00 74 61 72 74 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0635_e384_processing_20other_.rel b/src/nos/lib/messages_lib/0635_e384_processing_20other_.rel new file mode 100644 index 00000000..6e0b374f --- /dev/null +++ b/src/nos/lib/messages_lib/0635_e384_processing_20other_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___0635_e384_processing_20other_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 70 72 6f 63 65 73 73 69 6e +R 00 00 01 00 +T 0b 00 00 00 67 20 6f 74 68 65 72 20 69 6e 6f +R 00 00 01 00 +T 16 00 00 00 64 65 20 25 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0636_3dc2_protocol_3a_20.rel b/src/nos/lib/messages_lib/0636_3dc2_protocol_3a_20.rel new file mode 100644 index 00000000..18c9b7a7 --- /dev/null +++ b/src/nos/lib/messages_lib/0636_3dc2_protocol_3a_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___0636_3dc2_protocol_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 70 72 6f 74 6f 63 6f 6c 3a +R 00 00 01 00 +T 0b 00 00 00 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0636_ffc4_xip_5ffind_28_25u_2.rel b/src/nos/lib/messages_lib/0636_ffc4_xip_5ffind_28_25u_2.rel deleted file mode 100644 index 1c8dc2c1..00000000 --- a/src/nos/lib/messages_lib/0636_ffc4_xip_5ffind_28_25u_2.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2d flags 0 -S ___0636_ffc4_xip_5ffind_28_25u_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2b 00 78 69 70 5f 66 69 6e 64 28 -R 00 00 01 00 -T 0b 00 00 00 25 75 2c 20 25 75 2c 20 25 64 2c -R 00 00 01 00 -T 16 00 00 00 20 25 64 2c 20 25 75 2c 20 25 75 -R 00 00 01 00 -T 21 00 00 00 29 20 73 74 61 72 74 69 6e 67 0a -R 00 00 01 00 -T 2c 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0637_4160_ps.rel b/src/nos/lib/messages_lib/0637_4160_ps.rel new file mode 100644 index 00000000..da2494d4 --- /dev/null +++ b/src/nos/lib/messages_lib/0637_4160_ps.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 5 flags 0 +S ___0637_4160_ps Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 03 00 70 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0637_cb3b_xip_5ffind_28_29_20.rel b/src/nos/lib/messages_lib/0637_cb3b_xip_5ffind_28_29_20.rel deleted file mode 100644 index abcd7bf7..00000000 --- a/src/nos/lib/messages_lib/0637_cb3b_xip_5ffind_28_29_20.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___0637_cb3b_xip_5ffind_28_29_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 78 69 70 5f 66 69 6e 64 28 -R 00 00 01 00 -T 0b 00 00 00 29 20 72 65 74 75 72 6e 69 6e 67 -R 00 00 01 00 -T 16 00 00 00 20 25 75 2c 20 62 69 74 6d 61 70 -R 00 00 01 00 -T 21 00 00 00 20 66 75 6c 6c 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0638_26dc_pthresh.rel b/src/nos/lib/messages_lib/0638_26dc_pthresh.rel new file mode 100644 index 00000000..d8cd84df --- /dev/null +++ b/src/nos/lib/messages_lib/0638_26dc_pthresh.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0638_26dc_pthresh Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 70 74 68 72 65 73 68 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0638_5d23_xip_5ffind_28_29_20.rel b/src/nos/lib/messages_lib/0638_5d23_xip_5ffind_28_29_20.rel deleted file mode 100644 index 0ea938af..00000000 --- a/src/nos/lib/messages_lib/0638_5d23_xip_5ffind_28_29_20.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___0638_5d23_xip_5ffind_28_29_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 78 69 70 5f 66 69 6e 64 28 -R 00 00 01 00 -T 0b 00 00 00 29 20 72 65 74 75 72 6e 69 6e 67 -R 00 00 01 00 -T 16 00 00 00 20 25 75 2c 20 73 75 63 63 65 73 -R 00 00 01 00 -T 21 00 00 00 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0639_1764_xip_5ffind_28_29_20.rel b/src/nos/lib/messages_lib/0639_1764_xip_5ffind_28_29_20.rel deleted file mode 100644 index 2277dcbc..00000000 --- a/src/nos/lib/messages_lib/0639_1764_xip_5ffind_28_29_20.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___0639_1764_xip_5ffind_28_29_20 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 78 69 70 5f 66 69 6e 64 28 -R 00 00 01 00 -T 0b 00 00 00 29 20 72 65 74 75 72 6e 69 6e 67 -R 00 00 01 00 -T 16 00 00 00 20 2d 31 2c 20 69 2f 6f 20 65 72 -R 00 00 01 00 -T 21 00 00 00 72 6f 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0639_a61f_publish.rel b/src/nos/lib/messages_lib/0639_a61f_publish.rel new file mode 100644 index 00000000..a6d740a1 --- /dev/null +++ b/src/nos/lib/messages_lib/0639_a61f_publish.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0639_a61f_publish Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 70 75 62 6c 69 73 68 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/063a_0ce2_xip_5fget_28_25u_2c.rel b/src/nos/lib/messages_lib/063a_0ce2_xip_5fget_28_25u_2c.rel deleted file mode 100644 index eeea53e1..00000000 --- a/src/nos/lib/messages_lib/063a_0ce2_xip_5fget_28_25u_2c.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S ___063a_0ce2_xip_5fget_28_25u_2c Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 22 00 78 69 70 5f 67 65 74 28 25 -R 00 00 01 00 -T 0b 00 00 00 75 2c 20 25 75 2c 20 25 75 2c 20 -R 00 00 01 00 -T 16 00 00 00 25 75 29 20 73 74 61 72 74 69 6e -R 00 00 01 00 -T 21 00 00 00 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/063a_274c_pushdown_20calls_20.rel b/src/nos/lib/messages_lib/063a_274c_pushdown_20calls_20.rel new file mode 100644 index 00000000..1850d847 --- /dev/null +++ b/src/nos/lib/messages_lib/063a_274c_pushdown_20calls_20.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 37 flags 0 +S ___063a_274c_pushdown_20calls_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 35 00 70 75 73 68 64 6f 77 6e 20 +R 00 00 01 00 +T 0b 00 00 00 63 61 6c 6c 73 20 25 6c 75 20 70 +R 00 00 01 00 +T 16 00 00 00 75 73 68 64 6f 77 6e 20 63 61 6c +R 00 00 01 00 +T 21 00 00 00 6c 73 20 74 6f 20 61 6c 6c 6f 63 +R 00 00 01 00 +T 2c 00 00 00 5f 6d 62 75 66 20 25 6c 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/063b_0234_put.rel b/src/nos/lib/messages_lib/063b_0234_put.rel new file mode 100644 index 00000000..ebeafa57 --- /dev/null +++ b/src/nos/lib/messages_lib/063b_0234_put.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___063b_0234_put Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 70 75 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/063b_db94_xip_5fget_28_29_20r.rel b/src/nos/lib/messages_lib/063b_db94_xip_5fget_28_29_20r.rel deleted file mode 100644 index 147b47cd..00000000 --- a/src/nos/lib/messages_lib/063b_db94_xip_5fget_28_29_20r.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___063b_db94_xip_5fget_28_29_20r Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 78 69 70 5f 67 65 74 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 -R 00 00 01 00 -T 16 00 00 00 25 64 2c 20 73 75 63 63 65 73 73 -R 00 00 01 00 -T 21 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/063c_8f3b_put_20_3clocalfile_.rel b/src/nos/lib/messages_lib/063c_8f3b_put_20_3clocalfile_.rel new file mode 100644 index 00000000..84cecd72 --- /dev/null +++ b/src/nos/lib/messages_lib/063c_8f3b_put_20_3clocalfile_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___063c_8f3b_put_20_3clocalfile_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 70 75 74 20 3c 6c 6f 63 61 +R 00 00 01 00 +T 0b 00 00 00 6c 66 69 6c 65 3e 20 3c 72 65 6d +R 00 00 01 00 +T 16 00 00 00 6f 74 65 66 69 6c 65 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/063c_de41_xip_5fget_28_29_20r.rel b/src/nos/lib/messages_lib/063c_de41_xip_5fget_28_29_20r.rel deleted file mode 100644 index cd2817da..00000000 --- a/src/nos/lib/messages_lib/063c_de41_xip_5fget_28_29_20r.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___063c_de41_xip_5fget_28_29_20r Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 78 69 70 5f 67 65 74 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 -R 00 00 01 00 -T 16 00 00 00 2d 31 2c 20 69 2f 6f 20 65 72 72 -R 00 00 01 00 -T 21 00 00 00 6f 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/063d_192a_xip_5fget_28_29_20r.rel b/src/nos/lib/messages_lib/063d_192a_xip_5fget_28_29_20r.rel deleted file mode 100644 index dd7843eb..00000000 --- a/src/nos/lib/messages_lib/063d_192a_xip_5fget_28_29_20r.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___063d_192a_xip_5fget_28_29_20r Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 78 69 70 5f 67 65 74 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 -R 00 00 01 00 -T 16 00 00 00 2d 31 2c 20 6f 75 74 20 6f 66 20 -R 00 00 01 00 -T 21 00 00 00 72 61 6e 67 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/063d_b16b_putting_20block_20_.rel b/src/nos/lib/messages_lib/063d_b16b_putting_20block_20_.rel new file mode 100644 index 00000000..76749218 --- /dev/null +++ b/src/nos/lib/messages_lib/063d_b16b_putting_20block_20_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___063d_b16b_putting_20block_20_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 70 75 74 74 69 6e 67 20 62 +R 00 00 01 00 +T 0b 00 00 00 6c 6f 63 6b 20 25 64 20 2d 3e 20 +R 00 00 01 00 +T 16 00 00 00 25 64 2c 20 65 72 72 6e 6f 20 3d +R 00 00 01 00 +T 21 00 00 00 20 25 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/063e_2105_pwd.rel b/src/nos/lib/messages_lib/063e_2105_pwd.rel new file mode 100644 index 00000000..1ecb7e33 --- /dev/null +++ b/src/nos/lib/messages_lib/063e_2105_pwd.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___063e_2105_pwd Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 70 77 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/063e_2347_xip_5freserve_28_25.rel b/src/nos/lib/messages_lib/063e_2347_xip_5freserve_28_25.rel deleted file mode 100644 index be82df08..00000000 --- a/src/nos/lib/messages_lib/063e_2347_xip_5freserve_28_25.rel +++ /dev/null @@ -1,18 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 30 flags 0 -S ___063e_2347_xip_5freserve_28_25 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2e 00 78 69 70 5f 72 65 73 65 72 -R 00 00 01 00 -T 0b 00 00 00 76 65 28 25 75 2c 20 25 75 2c 20 -R 00 00 01 00 -T 16 00 00 00 25 64 2c 20 25 64 2c 20 25 75 2c -R 00 00 01 00 -T 21 00 00 00 20 25 75 29 20 73 74 61 72 74 69 -R 00 00 01 00 -T 2c 00 00 00 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/063f_0282_qlimit.rel b/src/nos/lib/messages_lib/063f_0282_qlimit.rel new file mode 100644 index 00000000..17195575 --- /dev/null +++ b/src/nos/lib/messages_lib/063f_0282_qlimit.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___063f_0282_qlimit Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 71 6c 69 6d 69 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/063f_acf4_xip_5freserve_28_29.rel b/src/nos/lib/messages_lib/063f_acf4_xip_5freserve_28_29.rel deleted file mode 100644 index bafb0921..00000000 --- a/src/nos/lib/messages_lib/063f_acf4_xip_5freserve_28_29.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 29 flags 0 -S ___063f_acf4_xip_5freserve_28_29 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 27 00 78 69 70 5f 72 65 73 65 72 -R 00 00 01 00 -T 0b 00 00 00 76 65 28 29 20 72 65 74 75 72 6e -R 00 00 01 00 -T 16 00 00 00 69 6e 67 20 2d 31 2c 20 69 2f 6f -R 00 00 01 00 -T 21 00 00 00 20 65 72 72 6f 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0640_0be6_queries.rel b/src/nos/lib/messages_lib/0640_0be6_queries.rel new file mode 100644 index 00000000..5a9470f0 --- /dev/null +++ b/src/nos/lib/messages_lib/0640_0be6_queries.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0640_0be6_queries Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 71 75 65 72 69 65 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0640_69a1_xip_5freserve_28_29.rel b/src/nos/lib/messages_lib/0640_69a1_xip_5freserve_28_29.rel deleted file mode 100644 index 126cb2c6..00000000 --- a/src/nos/lib/messages_lib/0640_69a1_xip_5freserve_28_29.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2c flags 0 -S ___0640_69a1_xip_5freserve_28_29 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 2a 00 78 69 70 5f 72 65 73 65 72 -R 00 00 01 00 -T 0b 00 00 00 76 65 28 29 20 72 65 74 75 72 6e -R 00 00 01 00 -T 16 00 00 00 69 6e 67 20 2d 31 2c 20 6f 75 74 -R 00 00 01 00 -T 21 00 00 00 20 6f 66 20 72 61 6e 67 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0641_0bef_query.rel b/src/nos/lib/messages_lib/0641_0bef_query.rel new file mode 100644 index 00000000..c4173f06 --- /dev/null +++ b/src/nos/lib/messages_lib/0641_0bef_query.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0641_0bef_query Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 71 75 65 72 79 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0641_4bfa_xip_5freserve_28_29.rel b/src/nos/lib/messages_lib/0641_4bfa_xip_5freserve_28_29.rel deleted file mode 100644 index 02a2ba79..00000000 --- a/src/nos/lib/messages_lib/0641_4bfa_xip_5freserve_28_29.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___0641_4bfa_xip_5freserve_28_29 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 78 69 70 5f 72 65 73 65 72 -R 00 00 01 00 -T 0b 00 00 00 76 65 28 29 20 72 65 74 75 72 6e -R 00 00 01 00 -T 16 00 00 00 69 6e 67 20 30 2c 20 73 75 63 63 -R 00 00 01 00 -T 21 00 00 00 65 73 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0642_3192_xip_5fsearch_28_25u.rel b/src/nos/lib/messages_lib/0642_3192_xip_5fsearch_28_25u.rel deleted file mode 100644 index 803df2b2..00000000 --- a/src/nos/lib/messages_lib/0642_3192_xip_5fsearch_28_25u.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 27 flags 0 -S ___0642_3192_xip_5fsearch_28_25u Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 25 00 78 69 70 5f 73 65 61 72 63 -R 00 00 01 00 -T 0b 00 00 00 68 28 25 75 2c 20 25 64 2c 20 25 -R 00 00 01 00 -T 16 00 00 00 75 2c 20 25 75 29 20 73 74 61 72 -R 00 00 01 00 -T 21 00 00 00 74 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0642_6646_query_20_3chostid_3.rel b/src/nos/lib/messages_lib/0642_6646_query_20_3chostid_3.rel new file mode 100644 index 00000000..4bc9eb8e --- /dev/null +++ b/src/nos/lib/messages_lib/0642_6646_query_20_3chostid_3.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0642_6646_query_20_3chostid_3 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 71 75 65 72 79 20 3c 68 6f +R 00 00 01 00 +T 0b 00 00 00 73 74 69 64 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0643_27c8_queue_20job_20_25s_.rel b/src/nos/lib/messages_lib/0643_27c8_queue_20job_20_25s_.rel new file mode 100644 index 00000000..a63335f7 --- /dev/null +++ b/src/nos/lib/messages_lib/0643_27c8_queue_20job_20_25s_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___0643_27c8_queue_20job_20_25s_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 71 75 65 75 65 20 6a 6f 62 +R 00 00 01 00 +T 0b 00 00 00 20 25 73 20 46 72 6f 6d 3a 20 25 +R 00 00 01 00 +T 16 00 00 00 73 20 54 6f 3a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0643_83fc_xip_5fsearch_28_29_.rel b/src/nos/lib/messages_lib/0643_83fc_xip_5fsearch_28_29_.rel deleted file mode 100644 index a8b24d09..00000000 --- a/src/nos/lib/messages_lib/0643_83fc_xip_5fsearch_28_29_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 26 flags 0 -S ___0643_83fc_xip_5fsearch_28_29_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 24 00 78 69 70 5f 73 65 61 72 63 -R 00 00 01 00 -T 0b 00 00 00 68 28 29 20 72 65 74 75 72 6e 69 -R 00 00 01 00 -T 16 00 00 00 6e 67 20 25 75 2c 20 73 75 63 63 -R 00 00 01 00 -T 21 00 00 00 65 73 73 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0644_1196_quick.rel b/src/nos/lib/messages_lib/0644_1196_quick.rel new file mode 100644 index 00000000..63a536ab --- /dev/null +++ b/src/nos/lib/messages_lib/0644_1196_quick.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0644_1196_quick Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 71 75 69 63 6b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0644_fd61_xip_5fsearch_28_29_.rel b/src/nos/lib/messages_lib/0644_fd61_xip_5fsearch_28_29_.rel deleted file mode 100644 index 8a573620..00000000 --- a/src/nos/lib/messages_lib/0644_fd61_xip_5fsearch_28_29_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 2a flags 0 -S ___0644_fd61_xip_5fsearch_28_29_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 28 00 78 69 70 5f 73 65 61 72 63 -R 00 00 01 00 -T 0b 00 00 00 68 28 29 20 72 65 74 75 72 6e 69 -R 00 00 01 00 -T 16 00 00 00 6e 67 20 2d 31 2c 20 62 69 74 6d -R 00 00 01 00 -T 21 00 00 00 61 70 20 66 75 6c 6c 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0645_ad30_quiet.rel b/src/nos/lib/messages_lib/0645_ad30_quiet.rel new file mode 100644 index 00000000..ed7afa17 --- /dev/null +++ b/src/nos/lib/messages_lib/0645_ad30_quiet.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0645_ad30_quiet Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 71 75 69 65 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0645_f464_xip_5fsearch_28_29_.rel b/src/nos/lib/messages_lib/0645_f464_xip_5fsearch_28_29_.rel deleted file mode 100644 index 2a03db2b..00000000 --- a/src/nos/lib/messages_lib/0645_f464_xip_5fsearch_28_29_.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___0645_f464_xip_5fsearch_28_29_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 78 69 70 5f 73 65 61 72 63 -R 00 00 01 00 -T 0b 00 00 00 68 28 29 20 72 65 74 75 72 6e 69 -R 00 00 01 00 -T 16 00 00 00 6e 67 20 2d 31 2c 20 69 2f 6f 20 -R 00 00 01 00 -T 21 00 00 00 65 72 72 6f 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0646_7b54_quit.rel b/src/nos/lib/messages_lib/0646_7b54_quit.rel new file mode 100644 index 00000000..5bb1fc75 --- /dev/null +++ b/src/nos/lib/messages_lib/0646_7b54_quit.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0646_7b54_quit Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 71 75 69 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0646_ef25_xip_5fset_28_25u_2c.rel b/src/nos/lib/messages_lib/0646_ef25_xip_5fset_28_25u_2c.rel deleted file mode 100644 index 3fec16de..00000000 --- a/src/nos/lib/messages_lib/0646_ef25_xip_5fset_28_25u_2c.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___0646_ef25_xip_5fset_28_25u_2c Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 78 69 70 5f 73 65 74 28 25 -R 00 00 01 00 -T 0b 00 00 00 75 2c 20 25 75 2c 20 25 64 2c 20 -R 00 00 01 00 -T 16 00 00 00 25 75 2c 20 25 75 29 20 73 74 61 -R 00 00 01 00 -T 21 00 00 00 72 74 69 6e 67 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0647_054d_read.rel b/src/nos/lib/messages_lib/0647_054d_read.rel new file mode 100644 index 00000000..b5874a80 --- /dev/null +++ b/src/nos/lib/messages_lib/0647_054d_read.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0647_054d_read Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 72 65 61 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0647_7af3_xip_5fset_28_29_20r.rel b/src/nos/lib/messages_lib/0647_7af3_xip_5fset_28_29_20r.rel deleted file mode 100644 index 04950681..00000000 --- a/src/nos/lib/messages_lib/0647_7af3_xip_5fset_28_29_20r.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___0647_7af3_xip_5fset_28_29_20r Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 78 69 70 5f 73 65 74 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 -R 00 00 01 00 -T 16 00 00 00 25 64 2c 20 73 75 63 63 65 73 73 -R 00 00 01 00 -T 21 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0648_429f_xip_5fset_28_29_20r.rel b/src/nos/lib/messages_lib/0648_429f_xip_5fset_28_29_20r.rel deleted file mode 100644 index 738ccac6..00000000 --- a/src/nos/lib/messages_lib/0648_429f_xip_5fset_28_29_20r.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 25 flags 0 -S ___0648_429f_xip_5fset_28_29_20r Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 23 00 78 69 70 5f 73 65 74 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 -R 00 00 01 00 -T 16 00 00 00 2d 31 2c 20 69 2f 6f 20 65 72 72 -R 00 00 01 00 -T 21 00 00 00 6f 72 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0648_c7a9_read_20_3cremotefil.rel b/src/nos/lib/messages_lib/0648_c7a9_read_20_3cremotefil.rel new file mode 100644 index 00000000..ed10afca --- /dev/null +++ b/src/nos/lib/messages_lib/0648_c7a9_read_20_3cremotefil.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___0648_c7a9_read_20_3cremotefil Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 72 65 61 64 20 3c 72 65 6d +R 00 00 01 00 +T 0b 00 00 00 6f 74 65 66 69 6c 65 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0649_19fa_readwritei_28_25u_2.rel b/src/nos/lib/messages_lib/0649_19fa_readwritei_28_25u_2.rel new file mode 100644 index 00000000..db289b23 --- /dev/null +++ b/src/nos/lib/messages_lib/0649_19fa_readwritei_28_25u_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___0649_19fa_readwritei_28_25u_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 72 65 61 64 77 72 69 74 65 +R 00 00 01 00 +T 0b 00 00 00 69 28 25 75 2c 20 30 78 25 78 29 +R 00 00 01 00 +T 16 00 00 00 20 73 74 61 72 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0649_36c3_xip_5fset_28_29_20r.rel b/src/nos/lib/messages_lib/0649_36c3_xip_5fset_28_29_20r.rel deleted file mode 100644 index c3480600..00000000 --- a/src/nos/lib/messages_lib/0649_36c3_xip_5fset_28_29_20r.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 28 flags 0 -S ___0649_36c3_xip_5fset_28_29_20r Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 26 00 78 69 70 5f 73 65 74 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 -R 00 00 01 00 -T 16 00 00 00 2d 31 2c 20 6f 75 74 20 6f 66 20 -R 00 00 01 00 -T 21 00 00 00 72 61 6e 67 65 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/064a_3cda_xip_5fualign_28_29_.rel b/src/nos/lib/messages_lib/064a_3cda_xip_5fualign_28_29_.rel deleted file mode 100644 index c4340d1d..00000000 --- a/src/nos/lib/messages_lib/064a_3cda_xip_5fualign_28_29_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___064a_3cda_xip_5fualign_28_29_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 78 69 70 5f 75 61 6c 69 67 -R 00 00 01 00 -T 0b 00 00 00 6e 28 29 20 72 65 74 75 72 6e 69 -R 00 00 01 00 -T 16 00 00 00 6e 67 20 2d 31 20 61 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/064a_79be_readwritei_28_29_20.rel b/src/nos/lib/messages_lib/064a_79be_readwritei_28_29_20.rel new file mode 100644 index 00000000..a00b62bd --- /dev/null +++ b/src/nos/lib/messages_lib/064a_79be_readwritei_28_29_20.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3b flags 0 +S ___064a_79be_readwritei_28_29_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 39 00 72 65 61 64 77 72 69 74 65 +R 00 00 01 00 +T 0b 00 00 00 69 28 29 20 72 65 74 75 72 6e 69 +R 00 00 01 00 +T 16 00 00 00 6e 67 20 66 72 6f 6d 20 67 65 74 +R 00 00 01 00 +T 21 00 00 00 6d 6f 64 65 28 69 6e 6f 29 3d 30 +R 00 00 01 00 +T 2c 00 00 00 78 25 78 2c 20 65 72 72 6f 72 20 +R 00 00 01 00 +T 37 00 00 00 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/064b_16b2_xip_5fualign_28_29_.rel b/src/nos/lib/messages_lib/064b_16b2_xip_5fualign_28_29_.rel deleted file mode 100644 index 50d9209f..00000000 --- a/src/nos/lib/messages_lib/064b_16b2_xip_5fualign_28_29_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___064b_16b2_xip_5fualign_28_29_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 78 69 70 5f 75 61 6c 69 67 -R 00 00 01 00 -T 0b 00 00 00 6e 28 29 20 72 65 74 75 72 6e 69 -R 00 00 01 00 -T 16 00 00 00 6e 67 20 2d 31 20 62 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/064b_94aa_readwritei_28_29_20.rel b/src/nos/lib/messages_lib/064b_94aa_readwritei_28_29_20.rel new file mode 100644 index 00000000..08718158 --- /dev/null +++ b/src/nos/lib/messages_lib/064b_94aa_readwritei_28_29_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___064b_94aa_readwritei_28_29_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 72 65 61 64 77 72 69 74 65 +R 00 00 01 00 +T 0b 00 00 00 69 28 29 20 72 65 74 75 72 6e 69 +R 00 00 01 00 +T 16 00 00 00 6e 67 2c 20 65 72 72 6f 72 20 25 +R 00 00 01 00 +T 21 00 00 00 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/064c_67b0_readwritei_28_29_20.rel b/src/nos/lib/messages_lib/064c_67b0_readwritei_28_29_20.rel new file mode 100644 index 00000000..5b23a519 --- /dev/null +++ b/src/nos/lib/messages_lib/064c_67b0_readwritei_28_29_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___064c_67b0_readwritei_28_29_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 72 65 61 64 77 72 69 74 65 +R 00 00 01 00 +T 0b 00 00 00 69 28 29 20 72 65 74 75 72 6e 69 +R 00 00 01 00 +T 16 00 00 00 6e 67 2c 20 73 75 63 63 65 73 73 +R 00 00 01 00 +T 21 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/064c_71d2_xip_5fualign_28_29_.rel b/src/nos/lib/messages_lib/064c_71d2_xip_5fualign_28_29_.rel deleted file mode 100644 index 5395aa11..00000000 --- a/src/nos/lib/messages_lib/064c_71d2_xip_5fualign_28_29_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1f flags 0 -S ___064c_71d2_xip_5fualign_28_29_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1d 00 78 69 70 5f 75 61 6c 69 67 -R 00 00 01 00 -T 0b 00 00 00 6e 28 29 20 72 65 74 75 72 6e 69 -R 00 00 01 00 -T 16 00 00 00 6e 67 20 2d 31 20 66 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/064d_7ee6_reboot.rel b/src/nos/lib/messages_lib/064d_7ee6_reboot.rel new file mode 100644 index 00000000..4538aa84 --- /dev/null +++ b/src/nos/lib/messages_lib/064d_7ee6_reboot.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___064d_7ee6_reboot Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 72 65 62 6f 6f 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/064d_c58e_xip_5fualign_28_29_.rel b/src/nos/lib/messages_lib/064d_c58e_xip_5fualign_28_29_.rel deleted file mode 100644 index 1df3a215..00000000 --- a/src/nos/lib/messages_lib/064d_c58e_xip_5fualign_28_29_.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 1c flags 0 -S ___064d_c58e_xip_5fualign_28_29_ Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 1a 00 78 69 70 5f 75 61 6c 69 67 -R 00 00 01 00 -T 0b 00 00 00 6e 28 29 20 72 65 74 75 72 6e 69 -R 00 00 01 00 -T 16 00 00 00 6e 67 20 30 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/064e_1c64_received_20_25u_20b.rel b/src/nos/lib/messages_lib/064e_1c64_received_20_25u_20b.rel new file mode 100644 index 00000000..13bc22d1 --- /dev/null +++ b/src/nos/lib/messages_lib/064e_1c64_received_20_25u_20b.rel @@ -0,0 +1,22 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 4c flags 0 +S ___064e_1c64_received_20_25u_20b Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 4a 00 72 65 63 65 69 76 65 64 20 +R 00 00 01 00 +T 0b 00 00 00 25 75 20 62 61 64 74 79 70 65 20 +R 00 00 01 00 +T 16 00 00 00 25 75 20 62 6f 67 75 73 20 61 64 +R 00 00 01 00 +T 21 00 00 00 64 72 20 25 75 20 72 65 71 73 74 +R 00 00 01 00 +T 2c 00 00 00 20 69 6e 20 25 75 20 72 65 70 6c +R 00 00 01 00 +T 37 00 00 00 69 65 73 20 25 75 20 72 65 71 73 +R 00 00 01 00 +T 42 00 00 00 74 20 6f 75 74 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/064e_3a65_xip_5fualign_280x_2.rel b/src/nos/lib/messages_lib/064e_3a65_xip_5fualign_280x_2.rel deleted file mode 100644 index 0154d57f..00000000 --- a/src/nos/lib/messages_lib/064e_3a65_xip_5fualign_280x_2.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 -S ___064e_3a65_xip_5fualign_280x_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 20 00 78 69 70 5f 75 61 6c 69 67 -R 00 00 01 00 -T 0b 00 00 00 6e 28 30 78 25 78 2c 20 25 6c 64 -R 00 00 01 00 -T 16 00 00 00 29 20 73 74 61 72 74 69 6e 67 0a -R 00 00 01 00 -T 21 00 00 00 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/064f_2295_xmd5.rel b/src/nos/lib/messages_lib/064f_2295_xmd5.rel deleted file mode 100644 index 4fd3be39..00000000 --- a/src/nos/lib/messages_lib/064f_2295_xmd5.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___064f_2295_xmd5 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 78 6d 64 35 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/064f_5735_record.rel b/src/nos/lib/messages_lib/064f_5735_record.rel new file mode 100644 index 00000000..2b159a1b --- /dev/null +++ b/src/nos/lib/messages_lib/064f_5735_record.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___064f_5735_record Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 72 65 63 6f 72 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0650_18c5_recv_3a_20do_20.rel b/src/nos/lib/messages_lib/0650_18c5_recv_3a_20do_20.rel new file mode 100644 index 00000000..835f8028 --- /dev/null +++ b/src/nos/lib/messages_lib/0650_18c5_recv_3a_20do_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___0650_18c5_recv_3a_20do_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 72 65 63 76 3a 20 64 6f 20 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0650_e251_xmkd.rel b/src/nos/lib/messages_lib/0650_e251_xmkd.rel deleted file mode 100644 index cb602d29..00000000 --- a/src/nos/lib/messages_lib/0650_e251_xmkd.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0650_e251_xmkd Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 78 6d 6b 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0651_8810_recv_3a_20dont_20.rel b/src/nos/lib/messages_lib/0651_8810_recv_3a_20dont_20.rel new file mode 100644 index 00000000..3a0019db --- /dev/null +++ b/src/nos/lib/messages_lib/0651_8810_recv_3a_20dont_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0651_8810_recv_3a_20dont_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 72 65 63 76 3a 20 64 6f 6e +R 00 00 01 00 +T 0b 00 00 00 74 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0651_a48a_xpwd.rel b/src/nos/lib/messages_lib/0651_a48a_xpwd.rel deleted file mode 100644 index 2bf7fa30..00000000 --- a/src/nos/lib/messages_lib/0651_a48a_xpwd.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0651_a48a_xpwd Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 78 70 77 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0652_79d3_xrmd.rel b/src/nos/lib/messages_lib/0652_79d3_xrmd.rel deleted file mode 100644 index ff675cd7..00000000 --- a/src/nos/lib/messages_lib/0652_79d3_xrmd.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 7 flags 0 -S ___0652_79d3_xrmd Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 05 00 78 72 6d 64 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0652_84ef_recv_3a_20will_20.rel b/src/nos/lib/messages_lib/0652_84ef_recv_3a_20will_20.rel new file mode 100644 index 00000000..ec846c95 --- /dev/null +++ b/src/nos/lib/messages_lib/0652_84ef_recv_3a_20will_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0652_84ef_recv_3a_20will_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 72 65 63 76 3a 20 77 69 6c +R 00 00 01 00 +T 0b 00 00 00 6c 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0653_219c_recv_3a_20wont_20.rel b/src/nos/lib/messages_lib/0653_219c_recv_3a_20wont_20.rel new file mode 100644 index 00000000..ed18449c --- /dev/null +++ b/src/nos/lib/messages_lib/0653_219c_recv_3a_20wont_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0653_219c_recv_3a_20wont_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 72 65 63 76 3a 20 77 6f 6e +R 00 00 01 00 +T 0b 00 00 00 74 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0653_c59b_zap.rel b/src/nos/lib/messages_lib/0653_c59b_zap.rel deleted file mode 100644 index 7ad0cd4b..00000000 --- a/src/nos/lib/messages_lib/0653_c59b_zap.rel +++ /dev/null @@ -1,10 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 6 flags 0 -S ___0653_c59b_zap Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 04 00 7a 61 70 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0654_4749_zerobuf_28_25u_29_2.rel b/src/nos/lib/messages_lib/0654_4749_zerobuf_28_25u_29_2.rel deleted file mode 100644 index 2a9f0ad3..00000000 --- a/src/nos/lib/messages_lib/0654_4749_zerobuf_28_25u_29_2.rel +++ /dev/null @@ -1,14 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 18 flags 0 -S ___0654_4749_zerobuf_28_25u_29_2 Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 16 00 7a 65 72 6f 62 75 66 28 25 -R 00 00 01 00 -T 0b 00 00 00 75 29 20 73 74 61 72 74 69 6e 67 -R 00 00 01 00 -T 16 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0654_c7dc_refuse.rel b/src/nos/lib/messages_lib/0654_c7dc_refuse.rel new file mode 100644 index 00000000..671ffc31 --- /dev/null +++ b/src/nos/lib/messages_lib/0654_c7dc_refuse.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0654_c7dc_refuse Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 72 65 66 75 73 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0655_0e31_reject_0a.rel b/src/nos/lib/messages_lib/0655_0e31_reject_0a.rel new file mode 100644 index 00000000..19a906d0 --- /dev/null +++ b/src/nos/lib/messages_lib/0655_0e31_reject_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0655_0e31_reject_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 72 65 6a 65 63 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0655_ba0e_zerobuf_28_29_20ret.rel b/src/nos/lib/messages_lib/0655_ba0e_zerobuf_28_29_20ret.rel deleted file mode 100644 index 09a2fb09..00000000 --- a/src/nos/lib/messages_lib/0655_ba0e_zerobuf_28_29_20ret.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 23 flags 0 -S ___0655_ba0e_zerobuf_28_29_20ret Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 21 00 7a 65 72 6f 62 75 66 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 -R 00 00 01 00 -T 16 00 00 00 30 78 25 78 2c 20 66 6f 75 6e 64 -R 00 00 01 00 -T 21 00 00 00 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0656_1fe8_zerobuf_28_29_20ret.rel b/src/nos/lib/messages_lib/0656_1fe8_zerobuf_28_29_20ret.rel deleted file mode 100644 index 529ee6e6..00000000 --- a/src/nos/lib/messages_lib/0656_1fe8_zerobuf_28_29_20ret.rel +++ /dev/null @@ -1,16 +0,0 @@ -XL4 -H 2 areas 2 global symbols -S .__.ABS. Def00000000 -A _DEFAULT size 0 flags 0 -A CODE size 27 flags 0 -S ___0656_1fe8_zerobuf_28_29_20ret Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 25 00 7a 65 72 6f 62 75 66 28 29 -R 00 00 01 00 -T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 -R 00 00 01 00 -T 16 00 00 00 4e 55 4c 4c 2c 20 6e 6f 74 20 66 -R 00 00 01 00 -T 21 00 00 00 6f 75 6e 64 0a 00 -R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0656_bc2e_remote.rel b/src/nos/lib/messages_lib/0656_bc2e_remote.rel new file mode 100644 index 00000000..16038920 --- /dev/null +++ b/src/nos/lib/messages_lib/0656_bc2e_remote.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0656_bc2e_remote Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 72 65 6d 6f 74 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0657_4ff0_remote_20_5b_2dp_20.rel b/src/nos/lib/messages_lib/0657_4ff0_remote_20_5b_2dp_20.rel new file mode 100644 index 00000000..45fba7c6 --- /dev/null +++ b/src/nos/lib/messages_lib/0657_4ff0_remote_20_5b_2dp_20.rel @@ -0,0 +1,22 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 44 flags 0 +S ___0657_4ff0_remote_20_5b_2dp_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 42 00 72 65 6d 6f 74 65 20 5b 2d +R 00 00 01 00 +T 0b 00 00 00 70 20 70 6f 72 74 5d 20 5b 2d 6b +R 00 00 01 00 +T 16 00 00 00 20 6b 65 79 5d 20 5b 2d 61 20 6b +R 00 00 01 00 +T 21 00 00 00 69 63 6b 61 64 64 72 5d 20 3c 61 +R 00 00 01 00 +T 2c 00 00 00 64 64 72 65 73 73 3e 20 65 78 69 +R 00 00 01 00 +T 37 00 00 00 74 7c 72 65 73 65 74 7c 6b 69 63 +R 00 00 01 00 +T 42 00 00 00 6b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0658_cb71_rename.rel b/src/nos/lib/messages_lib/0658_cb71_rename.rel new file mode 100644 index 00000000..444bad84 --- /dev/null +++ b/src/nos/lib/messages_lib/0658_cb71_rename.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0658_cb71_rename Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 72 65 6e 61 6d 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0659_a493_rename_20_3coldfile.rel b/src/nos/lib/messages_lib/0659_a493_rename_20_3coldfile.rel new file mode 100644 index 00000000..1a576d1a --- /dev/null +++ b/src/nos/lib/messages_lib/0659_a493_rename_20_3coldfile.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___0659_a493_rename_20_3coldfile Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 72 65 6e 61 6d 65 20 3c 6f +R 00 00 01 00 +T 0b 00 00 00 6c 64 66 69 6c 65 3e 20 3c 6e 65 +R 00 00 01 00 +T 16 00 00 00 77 66 69 6c 65 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/065a_6d5b_repeat.rel b/src/nos/lib/messages_lib/065a_6d5b_repeat.rel new file mode 100644 index 00000000..bef05fe5 --- /dev/null +++ b/src/nos/lib/messages_lib/065a_6d5b_repeat.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___065a_6d5b_repeat Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 72 65 70 65 61 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/065b_01b9_repeat_20_3cinterva.rel b/src/nos/lib/messages_lib/065b_01b9_repeat_20_3cinterva.rel new file mode 100644 index 00000000..b7a44c24 --- /dev/null +++ b/src/nos/lib/messages_lib/065b_01b9_repeat_20_3cinterva.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___065b_01b9_repeat_20_3cinterva Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 72 65 70 65 61 74 20 3c 69 +R 00 00 01 00 +T 0b 00 00 00 6e 74 65 72 76 61 6c 3e 20 3c 63 +R 00 00 01 00 +T 16 00 00 00 6f 6d 6d 61 6e 64 3e 20 5b 61 72 +R 00 00 01 00 +T 21 00 00 00 67 73 2e 2e 2e 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/065c_3f14_request.rel b/src/nos/lib/messages_lib/065c_3f14_request.rel new file mode 100644 index 00000000..f277f651 --- /dev/null +++ b/src/nos/lib/messages_lib/065c_3f14_request.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___065c_3f14_request Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 72 65 71 75 65 73 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/065d_85b2_reset.rel b/src/nos/lib/messages_lib/065d_85b2_reset.rel new file mode 100644 index 00000000..bf562e4b --- /dev/null +++ b/src/nos/lib/messages_lib/065d_85b2_reset.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___065d_85b2_reset Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 72 65 73 65 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/065e_c3ce_response_20id_20_25.rel b/src/nos/lib/messages_lib/065e_c3ce_response_20id_20_25.rel new file mode 100644 index 00000000..c5c1d008 --- /dev/null +++ b/src/nos/lib/messages_lib/065e_c3ce_response_20id_20_25.rel @@ -0,0 +1,24 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 51 flags 0 +S ___065e_c3ce_response_20id_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 4f 00 72 65 73 70 6f 6e 73 65 20 +R 00 00 01 00 +T 0b 00 00 00 69 64 20 25 75 20 28 72 74 74 20 +R 00 00 01 00 +T 16 00 00 00 25 6c 75 20 73 65 63 29 20 71 72 +R 00 00 01 00 +T 21 00 00 00 20 25 75 20 6f 70 63 6f 64 65 20 +R 00 00 01 00 +T 2c 00 00 00 25 75 20 61 61 20 25 75 20 74 63 +R 00 00 01 00 +T 37 00 00 00 20 25 75 20 72 64 20 25 75 20 72 +R 00 00 01 00 +T 42 00 00 00 61 20 25 75 20 72 63 6f 64 65 20 +R 00 00 01 00 +T 4d 00 00 00 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/065f_9bd3_retr.rel b/src/nos/lib/messages_lib/065f_9bd3_retr.rel new file mode 100644 index 00000000..9e2a6096 --- /dev/null +++ b/src/nos/lib/messages_lib/065f_9bd3_retr.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___065f_9bd3_retr Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 72 65 74 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0660_5e3c_retries.rel b/src/nos/lib/messages_lib/0660_5e3c_retries.rel new file mode 100644 index 00000000..f5d9e002 --- /dev/null +++ b/src/nos/lib/messages_lib/0660_5e3c_retries.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0660_5e3c_retries Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 72 65 74 72 69 65 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0661_0acb_retry.rel b/src/nos/lib/messages_lib/0661_0acb_retry.rel new file mode 100644 index 00000000..67423fbd --- /dev/null +++ b/src/nos/lib/messages_lib/0661_0acb_retry.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0661_0acb_retry Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 72 65 74 72 79 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0662_7f96_rip_20accept_20_3cg.rel b/src/nos/lib/messages_lib/0662_7f96_rip_20accept_20_3cg.rel new file mode 100644 index 00000000..8d48e604 --- /dev/null +++ b/src/nos/lib/messages_lib/0662_7f96_rip_20accept_20_3cg.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0662_7f96_rip_20accept_20_3cg Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 72 69 70 20 61 63 63 65 70 +R 00 00 01 00 +T 0b 00 00 00 74 20 3c 67 61 74 65 77 61 79 3e +R 00 00 01 00 +T 16 00 00 00 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0663_764e_rip_20add_20_3cdest.rel b/src/nos/lib/messages_lib/0663_764e_rip_20add_20_3cdest.rel new file mode 100644 index 00000000..80735202 --- /dev/null +++ b/src/nos/lib/messages_lib/0663_764e_rip_20add_20_3cdest.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___0663_764e_rip_20add_20_3cdest Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 72 69 70 20 61 64 64 20 3c +R 00 00 01 00 +T 0b 00 00 00 64 65 73 74 3e 20 3c 69 6e 74 65 +R 00 00 01 00 +T 16 00 00 00 72 76 61 6c 3e 20 5b 3c 66 6c 61 +R 00 00 01 00 +T 21 00 00 00 67 73 3e 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0664_3030_rip_20drop_20_3cdes.rel b/src/nos/lib/messages_lib/0664_3030_rip_20drop_20_3cdes.rel new file mode 100644 index 00000000..bd64199c --- /dev/null +++ b/src/nos/lib/messages_lib/0664_3030_rip_20drop_20_3cdes.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___0664_3030_rip_20drop_20_3cdes Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 72 69 70 20 64 72 6f 70 20 +R 00 00 01 00 +T 0b 00 00 00 3c 64 65 73 74 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0665_8661_rip_20refuse_20_3cg.rel b/src/nos/lib/messages_lib/0665_8661_rip_20refuse_20_3cg.rel new file mode 100644 index 00000000..68b597e8 --- /dev/null +++ b/src/nos/lib/messages_lib/0665_8661_rip_20refuse_20_3cg.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___0665_8661_rip_20refuse_20_3cg Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 72 69 70 20 72 65 66 75 73 +R 00 00 01 00 +T 0b 00 00 00 65 20 3c 67 61 74 65 77 61 79 3e +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0666_b917_rmd_20.rel b/src/nos/lib/messages_lib/0666_b917_rmd_20.rel new file mode 100644 index 00000000..aa9973db --- /dev/null +++ b/src/nos/lib/messages_lib/0666_b917_rmd_20.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0666_b917_rmd_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 72 6d 64 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0667_a56c_rmdir.rel b/src/nos/lib/messages_lib/0667_a56c_rmdir.rel new file mode 100644 index 00000000..a7783c23 --- /dev/null +++ b/src/nos/lib/messages_lib/0667_a56c_rmdir.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0667_a56c_rmdir Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 72 6d 64 69 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0668_b9e3_rmdir_20_3cdirector.rel b/src/nos/lib/messages_lib/0668_b9e3_rmdir_20_3cdirector.rel new file mode 100644 index 00000000..f9937c21 --- /dev/null +++ b/src/nos/lib/messages_lib/0668_b9e3_rmdir_20_3cdirector.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___0668_b9e3_rmdir_20_3cdirector Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 72 6d 64 69 72 20 3c 64 69 +R 00 00 01 00 +T 0b 00 00 00 72 65 63 74 6f 72 79 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0669_c459_rmhost.rel b/src/nos/lib/messages_lib/0669_c459_rmhost.rel new file mode 100644 index 00000000..513d19d1 --- /dev/null +++ b/src/nos/lib/messages_lib/0669_c459_rmhost.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0669_c459_rmhost Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 72 6d 68 6f 73 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/066a_0284_route.rel b/src/nos/lib/messages_lib/066a_0284_route.rel new file mode 100644 index 00000000..7050b952 --- /dev/null +++ b/src/nos/lib/messages_lib/066a_0284_route.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___066a_0284_route Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 72 6f 75 74 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/066b_ea02_route_20add_20_3cde.rel b/src/nos/lib/messages_lib/066b_ea02_route_20add_20_3cde.rel new file mode 100644 index 00000000..f6a94066 --- /dev/null +++ b/src/nos/lib/messages_lib/066b_ea02_route_20add_20_3cde.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3e flags 0 +S ___066b_ea02_route_20add_20_3cde Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 3c 00 72 6f 75 74 65 20 61 64 64 +R 00 00 01 00 +T 0b 00 00 00 20 3c 64 65 73 74 20 61 64 64 72 +R 00 00 01 00 +T 16 00 00 00 3e 5b 2f 3c 62 69 74 73 3e 5d 20 +R 00 00 01 00 +T 21 00 00 00 3c 69 66 20 6e 61 6d 65 3e 20 5b +R 00 00 01 00 +T 2c 00 00 00 67 61 74 65 77 61 79 5d 20 5b 6d +R 00 00 01 00 +T 37 00 00 00 65 74 72 69 63 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/066c_f461_route_20add_20_5b_2.rel b/src/nos/lib/messages_lib/066c_f461_route_20add_20_5b_2.rel new file mode 100644 index 00000000..7acc0c66 --- /dev/null +++ b/src/nos/lib/messages_lib/066c_f461_route_20add_20_5b_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17 flags 0 +S ___066c_f461_route_20add_20_5b_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 15 00 72 6f 75 74 65 20 61 64 64 +R 00 00 01 00 +T 0b 00 00 00 20 5b 25 73 5d 2f 25 75 20 25 73 +R 00 00 01 00 +T 16 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/066d_d581_route_20addprivate_.rel b/src/nos/lib/messages_lib/066d_d581_route_20addprivate_.rel new file mode 100644 index 00000000..3422dea6 --- /dev/null +++ b/src/nos/lib/messages_lib/066d_d581_route_20addprivate_.rel @@ -0,0 +1,22 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 45 flags 0 +S ___066d_d581_route_20addprivate_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 43 00 72 6f 75 74 65 20 61 64 64 +R 00 00 01 00 +T 0b 00 00 00 70 72 69 76 61 74 65 20 3c 64 65 +R 00 00 01 00 +T 16 00 00 00 73 74 20 61 64 64 72 3e 5b 2f 3c +R 00 00 01 00 +T 21 00 00 00 62 69 74 73 3e 5d 20 3c 69 66 20 +R 00 00 01 00 +T 2c 00 00 00 6e 61 6d 65 3e 20 5b 67 61 74 65 +R 00 00 01 00 +T 37 00 00 00 77 61 79 5d 20 5b 6d 65 74 72 69 +R 00 00 01 00 +T 42 00 00 00 63 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/066e_bbd2_route_20drop_20_3cd.rel b/src/nos/lib/messages_lib/066e_bbd2_route_20drop_20_3cd.rel new file mode 100644 index 00000000..6a3526d5 --- /dev/null +++ b/src/nos/lib/messages_lib/066e_bbd2_route_20drop_20_3cd.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___066e_bbd2_route_20drop_20_3cd Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 72 6f 75 74 65 20 64 72 6f +R 00 00 01 00 +T 0b 00 00 00 70 20 3c 64 65 73 74 20 61 64 64 +R 00 00 01 00 +T 16 00 00 00 72 3e 5b 2f 3c 62 69 74 73 3e 5d +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/066f_103e_route_20drop_20_5b_.rel b/src/nos/lib/messages_lib/066f_103e_route_20drop_20_5b_.rel new file mode 100644 index 00000000..84d0f2e9 --- /dev/null +++ b/src/nos/lib/messages_lib/066f_103e_route_20drop_20_5b_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___066f_103e_route_20drop_20_5b_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 72 6f 75 74 65 20 64 72 6f +R 00 00 01 00 +T 0b 00 00 00 70 20 5b 25 73 5d 2f 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0670_a5ec_route_20lookup_20_3.rel b/src/nos/lib/messages_lib/0670_a5ec_route_20lookup_20_3.rel new file mode 100644 index 00000000..3dc58f66 --- /dev/null +++ b/src/nos/lib/messages_lib/0670_a5ec_route_20lookup_20_3.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___0670_a5ec_route_20lookup_20_3 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 72 6f 75 74 65 20 6c 6f 6f +R 00 00 01 00 +T 0b 00 00 00 6b 75 70 20 3c 64 65 73 74 20 61 +R 00 00 01 00 +T 16 00 00 00 64 64 72 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0671_ae23_route_20to_20self_3.rel b/src/nos/lib/messages_lib/0671_ae23_route_20to_20self_3.rel new file mode 100644 index 00000000..11910af8 --- /dev/null +++ b/src/nos/lib/messages_lib/0671_ae23_route_20to_20self_3.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___0671_ae23_route_20to_20self_3 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 72 6f 75 74 65 20 74 6f 20 +R 00 00 01 00 +T 0b 00 00 00 73 65 6c 66 3a 20 25 73 20 25 6c +R 00 00 01 00 +T 16 00 00 00 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0672_2c09_rtimer.rel b/src/nos/lib/messages_lib/0672_2c09_rtimer.rel new file mode 100644 index 00000000..790b91c2 --- /dev/null +++ b/src/nos/lib/messages_lib/0672_2c09_rtimer.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0672_2c09_rtimer Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 72 74 69 6d 65 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0673_ae54_rtt.rel b/src/nos/lib/messages_lib/0673_ae54_rtt.rel new file mode 100644 index 00000000..90b45493 --- /dev/null +++ b/src/nos/lib/messages_lib/0673_ae54_rtt.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0673_ae54_rtt Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 72 74 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0674_02fc_running.rel b/src/nos/lib/messages_lib/0674_02fc_running.rel new file mode 100644 index 00000000..c7a475d0 --- /dev/null +++ b/src/nos/lib/messages_lib/0674_02fc_running.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0674_02fc_running Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 72 75 6e 6e 69 6e 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0675_de1b_rwsetup_28_25u_2c_2.rel b/src/nos/lib/messages_lib/0675_de1b_rwsetup_28_25u_2c_2.rel new file mode 100644 index 00000000..8901055a --- /dev/null +++ b/src/nos/lib/messages_lib/0675_de1b_rwsetup_28_25u_2c_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___0675_de1b_rwsetup_28_25u_2c_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 72 77 73 65 74 75 70 28 25 +R 00 00 01 00 +T 0b 00 00 00 75 2c 20 30 78 25 78 2c 20 25 75 +R 00 00 01 00 +T 16 00 00 00 2c 20 25 75 29 20 73 74 61 72 74 +R 00 00 01 00 +T 21 00 00 00 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0676_7f24_rwsetup_28_29_20ret.rel b/src/nos/lib/messages_lib/0676_7f24_rwsetup_28_29_20ret.rel new file mode 100644 index 00000000..e4556c3a --- /dev/null +++ b/src/nos/lib/messages_lib/0676_7f24_rwsetup_28_29_20ret.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___0676_7f24_rwsetup_28_29_20ret Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 72 77 73 65 74 75 70 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 30 78 25 78 2c 20 73 75 63 63 65 +R 00 00 01 00 +T 21 00 00 00 73 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0677_d9aa_rwsetup_28_29_20ret.rel b/src/nos/lib/messages_lib/0677_d9aa_rwsetup_28_29_20ret.rel new file mode 100644 index 00000000..b4644b89 --- /dev/null +++ b/src/nos/lib/messages_lib/0677_d9aa_rwsetup_28_29_20ret.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___0677_d9aa_rwsetup_28_29_20ret Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 72 77 73 65 74 75 70 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 4e 55 4c 4c 2c 20 65 72 72 6f 72 +R 00 00 01 00 +T 21 00 00 00 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0678_b4d7_rxbuf.rel b/src/nos/lib/messages_lib/0678_b4d7_rxbuf.rel new file mode 100644 index 00000000..88a94153 --- /dev/null +++ b/src/nos/lib/messages_lib/0678_b4d7_rxbuf.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0678_b4d7_rxbuf Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 72 78 62 75 66 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0679_d2fd_sbrk.rel b/src/nos/lib/messages_lib/0679_d2fd_sbrk.rel new file mode 100644 index 00000000..e97b6981 --- /dev/null +++ b/src/nos/lib/messages_lib/0679_d2fd_sbrk.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0679_d2fd_sbrk Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 73 62 72 6b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/067a_3365_scrollback.rel b/src/nos/lib/messages_lib/067a_3365_scrollback.rel new file mode 100644 index 00000000..76ea339f --- /dev/null +++ b/src/nos/lib/messages_lib/067a_3365_scrollback.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___067a_3365_scrollback Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 73 63 72 6f 6c 6c 62 61 63 +R 00 00 01 00 +T 0b 00 00 00 6b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/067b_9a3e_send.rel b/src/nos/lib/messages_lib/067b_9a3e_send.rel new file mode 100644 index 00000000..bb22c3d1 --- /dev/null +++ b/src/nos/lib/messages_lib/067b_9a3e_send.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___067b_9a3e_send Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 73 65 6e 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/067c_e397_send_20_22string_22.rel b/src/nos/lib/messages_lib/067c_e397_send_20_22string_22.rel new file mode 100644 index 00000000..dc432844 --- /dev/null +++ b/src/nos/lib/messages_lib/067c_e397_send_20_22string_22.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___067c_e397_send_20_22string_22 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 73 65 6e 64 20 22 73 74 72 +R 00 00 01 00 +T 0b 00 00 00 69 6e 67 22 20 5b 3c 6d 69 6c 6c +R 00 00 01 00 +T 16 00 00 00 69 73 65 63 6f 6e 64 73 3e 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/067d_5c19_sender.rel b/src/nos/lib/messages_lib/067d_5c19_sender.rel new file mode 100644 index 00000000..9208f579 --- /dev/null +++ b/src/nos/lib/messages_lib/067d_5c19_sender.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___067d_5c19_sender Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 73 65 6e 64 65 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/067e_efea_sending_20job_20_25.rel b/src/nos/lib/messages_lib/067e_efea_sending_20job_20_25.rel new file mode 100644 index 00000000..a8e6f474 --- /dev/null +++ b/src/nos/lib/messages_lib/067e_efea_sending_20job_20_25.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___067e_efea_sending_20job_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 73 65 6e 64 69 6e 67 20 6a +R 00 00 01 00 +T 0b 00 00 00 6f 62 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/067f_7321_sent_3a_20do_20.rel b/src/nos/lib/messages_lib/067f_7321_sent_3a_20do_20.rel new file mode 100644 index 00000000..8833c2cc --- /dev/null +++ b/src/nos/lib/messages_lib/067f_7321_sent_3a_20do_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___067f_7321_sent_3a_20do_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 73 65 6e 74 3a 20 64 6f 20 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0680_db3c_sent_3a_20dont_20.rel b/src/nos/lib/messages_lib/0680_db3c_sent_3a_20dont_20.rel new file mode 100644 index 00000000..f4da7d2d --- /dev/null +++ b/src/nos/lib/messages_lib/0680_db3c_sent_3a_20dont_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0680_db3c_sent_3a_20dont_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 73 65 6e 74 3a 20 64 6f 6e +R 00 00 01 00 +T 0b 00 00 00 74 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0681_d7c3_sent_3a_20will_20.rel b/src/nos/lib/messages_lib/0681_d7c3_sent_3a_20will_20.rel new file mode 100644 index 00000000..5fa59f18 --- /dev/null +++ b/src/nos/lib/messages_lib/0681_d7c3_sent_3a_20will_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0681_d7c3_sent_3a_20will_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 73 65 6e 74 3a 20 77 69 6c +R 00 00 01 00 +T 0b 00 00 00 6c 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0682_72b0_sent_3a_20wont_20.rel b/src/nos/lib/messages_lib/0682_72b0_sent_3a_20wont_20.rel new file mode 100644 index 00000000..b86236c4 --- /dev/null +++ b/src/nos/lib/messages_lib/0682_72b0_sent_3a_20wont_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0682_72b0_sent_3a_20wont_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 73 65 6e 74 3a 20 77 6f 6e +R 00 00 01 00 +T 0b 00 00 00 74 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0683_2d5d_serial_20line_20IP_.rel b/src/nos/lib/messages_lib/0683_2d5d_serial_20line_20IP_.rel new file mode 100644 index 00000000..43c2abba --- /dev/null +++ b/src/nos/lib/messages_lib/0683_2d5d_serial_20line_20IP_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___0683_2d5d_serial_20line_20IP_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 73 65 72 69 61 6c 20 6c 69 +R 00 00 01 00 +T 0b 00 00 00 6e 65 20 49 50 3a 20 6c 65 6e 3a +R 00 00 01 00 +T 16 00 00 00 20 25 33 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0684_f33e_serial_20line_20VJ_.rel b/src/nos/lib/messages_lib/0684_f33e_serial_20line_20VJ_.rel new file mode 100644 index 00000000..ed387280 --- /dev/null +++ b/src/nos/lib/messages_lib/0684_f33e_serial_20line_20VJ_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___0684_f33e_serial_20line_20VJ_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 73 65 72 69 61 6c 20 6c 69 +R 00 00 01 00 +T 0b 00 00 00 6e 65 20 56 4a 20 43 6f 6d 70 72 +R 00 00 01 00 +T 16 00 00 00 65 73 73 65 64 20 54 43 50 3a 20 +R 00 00 01 00 +T 21 00 00 00 6c 65 6e 20 25 33 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0685_6f7f_serial_20line_20VJ_.rel b/src/nos/lib/messages_lib/0685_6f7f_serial_20line_20VJ_.rel new file mode 100644 index 00000000..9ae6e277 --- /dev/null +++ b/src/nos/lib/messages_lib/0685_6f7f_serial_20line_20VJ_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2c flags 0 +S ___0685_6f7f_serial_20line_20VJ_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2a 00 73 65 72 69 61 6c 20 6c 69 +R 00 00 01 00 +T 0b 00 00 00 6e 65 20 56 4a 20 55 6e 63 6f 6d +R 00 00 01 00 +T 16 00 00 00 70 72 65 73 73 65 64 20 54 43 50 +R 00 00 01 00 +T 21 00 00 00 3a 20 6c 65 6e 20 25 33 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0686_6f48_server_20retries.rel b/src/nos/lib/messages_lib/0686_6f48_server_20retries.rel new file mode 100644 index 00000000..304cab44 --- /dev/null +++ b/src/nos/lib/messages_lib/0686_6f48_server_20retries.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0686_6f48_server_20retries Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 73 65 72 76 65 72 20 72 65 +R 00 00 01 00 +T 0b 00 00 00 74 72 69 65 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0687_f0af_server_20trace.rel b/src/nos/lib/messages_lib/0687_f0af_server_20trace.rel new file mode 100644 index 00000000..a8e588fe --- /dev/null +++ b/src/nos/lib/messages_lib/0687_f0af_server_20trace.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___0687_f0af_server_20trace Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 73 65 72 76 65 72 20 74 72 +R 00 00 01 00 +T 0b 00 00 00 61 63 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0688_db9a_session.rel b/src/nos/lib/messages_lib/0688_db9a_session.rel new file mode 100644 index 00000000..71d06471 --- /dev/null +++ b/src/nos/lib/messages_lib/0688_db9a_session.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___0688_db9a_session Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 73 65 73 73 69 6f 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0689_3031_set_20mycall_20firs.rel b/src/nos/lib/messages_lib/0689_3031_set_20mycall_20firs.rel new file mode 100644 index 00000000..4c75e473 --- /dev/null +++ b/src/nos/lib/messages_lib/0689_3031_set_20mycall_20firs.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___0689_3031_set_20mycall_20firs Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 73 65 74 20 6d 79 63 61 6c +R 00 00 01 00 +T 0b 00 00 00 6c 20 66 69 72 73 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/068a_1de4_shell.rel b/src/nos/lib/messages_lib/068a_1de4_shell.rel new file mode 100644 index 00000000..9d0a82fd --- /dev/null +++ b/src/nos/lib/messages_lib/068a_1de4_shell.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___068a_1de4_shell Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 73 68 65 6c 6c 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/068b_ed19_short_20authenticat.rel b/src/nos/lib/messages_lib/068b_ed19_short_20authenticat.rel new file mode 100644 index 00000000..8934800a --- /dev/null +++ b/src/nos/lib/messages_lib/068b_ed19_short_20authenticat.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___068b_ed19_short_20authenticat Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 73 68 6f 72 74 20 61 75 74 +R 00 00 01 00 +T 0b 00 00 00 68 65 6e 74 69 63 61 74 69 6f 6e +R 00 00 01 00 +T 16 00 00 00 20 70 61 63 6b 65 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/068c_cfaf_short_20configurati.rel b/src/nos/lib/messages_lib/068c_cfaf_short_20configurati.rel new file mode 100644 index 00000000..7273cc82 --- /dev/null +++ b/src/nos/lib/messages_lib/068c_cfaf_short_20configurati.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___068c_cfaf_short_20configurati Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 73 68 6f 72 74 20 63 6f 6e +R 00 00 01 00 +T 0b 00 00 00 66 69 67 75 72 61 74 69 6f 6e 20 +R 00 00 01 00 +T 16 00 00 00 70 61 63 6b 65 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/068d_3faf_signal.rel b/src/nos/lib/messages_lib/068d_3faf_signal.rel new file mode 100644 index 00000000..804304be --- /dev/null +++ b/src/nos/lib/messages_lib/068d_3faf_signal.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___068d_3faf_signal Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 73 69 67 6e 61 6c 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/068e_dce5_size.rel b/src/nos/lib/messages_lib/068e_dce5_size.rel new file mode 100644 index 00000000..930ddc55 --- /dev/null +++ b/src/nos/lib/messages_lib/068e_dce5_size.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___068e_dce5_size Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 73 69 7a 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/068f_f163_sizes.rel b/src/nos/lib/messages_lib/068f_f163_sizes.rel new file mode 100644 index 00000000..4e026ec7 --- /dev/null +++ b/src/nos/lib/messages_lib/068f_f163_sizes.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___068f_f163_sizes Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 73 69 7a 65 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0690_675f_slots_20must_20be_2.rel b/src/nos/lib/messages_lib/0690_675f_slots_20must_20be_2.rel new file mode 100644 index 00000000..cf485470 --- /dev/null +++ b/src/nos/lib/messages_lib/0690_675f_slots_20must_20be_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___0690_675f_slots_20must_20be_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 73 6c 6f 74 73 20 6d 75 73 +R 00 00 01 00 +T 0b 00 00 00 74 20 62 65 20 69 6e 20 72 61 6e +R 00 00 01 00 +T 16 00 00 00 67 65 20 31 20 74 6f 20 32 35 35 +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0691_4046_smtp_20daemon_20ent.rel b/src/nos/lib/messages_lib/0691_4046_smtp_20daemon_20ent.rel new file mode 100644 index 00000000..db01fab9 --- /dev/null +++ b/src/nos/lib/messages_lib/0691_4046_smtp_20daemon_20ent.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___0691_4046_smtp_20daemon_20ent Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 73 6d 74 70 20 64 61 65 6d +R 00 00 01 00 +T 0b 00 00 00 6f 6e 20 65 6e 74 65 72 65 64 2c +R 00 00 01 00 +T 16 00 00 00 20 74 61 72 67 65 74 20 3d 20 25 +R 00 00 01 00 +T 21 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0692_8e2a_smtp_20daemon_3a_20.rel b/src/nos/lib/messages_lib/0692_8e2a_smtp_20daemon_3a_20.rel new file mode 100644 index 00000000..5f936efa --- /dev/null +++ b/src/nos/lib/messages_lib/0692_8e2a_smtp_20daemon_3a_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___0692_8e2a_smtp_20daemon_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 73 6d 74 70 20 64 61 65 6d +R 00 00 01 00 +T 0b 00 00 00 6f 6e 3a 20 74 6f 6f 20 6d 61 6e +R 00 00 01 00 +T 16 00 00 00 79 20 70 72 6f 63 65 73 73 65 73 +R 00 00 01 00 +T 21 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0693_23e1_smtp_20job_20_25s_2.rel b/src/nos/lib/messages_lib/0693_23e1_smtp_20job_20_25s_2.rel new file mode 100644 index 00000000..c3b99184 --- /dev/null +++ b/src/nos/lib/messages_lib/0693_23e1_smtp_20job_20_25s_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___0693_23e1_smtp_20job_20_25s_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 73 6d 74 70 20 6a 6f 62 20 +R 00 00 01 00 +T 0b 00 00 00 25 73 20 72 65 74 75 72 6e 65 64 +R 00 00 01 00 +T 16 00 00 00 20 74 6f 20 73 65 6e 64 65 72 0a +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0694_ed89_smtp_20mode_3a_20_2.rel b/src/nos/lib/messages_lib/0694_ed89_smtp_20mode_3a_20_2.rel new file mode 100644 index 00000000..50ac2996 --- /dev/null +++ b/src/nos/lib/messages_lib/0694_ed89_smtp_20mode_3a_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0694_ed89_smtp_20mode_3a_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 73 6d 74 70 20 6d 6f 64 65 +R 00 00 01 00 +T 0b 00 00 00 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0695_2b33_smtp_20recv_3a_20_2.rel b/src/nos/lib/messages_lib/0695_2b33_smtp_20recv_3a_20_2.rel new file mode 100644 index 00000000..70323263 --- /dev/null +++ b/src/nos/lib/messages_lib/0695_2b33_smtp_20recv_3a_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___0695_2b33_smtp_20recv_3a_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 73 6d 74 70 20 72 65 63 76 +R 00 00 01 00 +T 0b 00 00 00 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0696_928b_smtp_20sent_3a_20.rel b/src/nos/lib/messages_lib/0696_928b_smtp_20sent_3a_20.rel new file mode 100644 index 00000000..6c872a32 --- /dev/null +++ b/src/nos/lib/messages_lib/0696_928b_smtp_20sent_3a_20.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___0696_928b_smtp_20sent_3a_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 73 6d 74 70 20 73 65 6e 74 +R 00 00 01 00 +T 0b 00 00 00 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0697_b4cf_socket.rel b/src/nos/lib/messages_lib/0697_b4cf_socket.rel new file mode 100644 index 00000000..b2520ffb --- /dev/null +++ b/src/nos/lib/messages_lib/0697_b4cf_socket.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___0697_b4cf_socket Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 73 6f 63 6b 65 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0698_6b20_some_20strange_2c_2.rel b/src/nos/lib/messages_lib/0698_6b20_some_20strange_2c_2.rel new file mode 100644 index 00000000..b05d69eb --- /dev/null +++ b/src/nos/lib/messages_lib/0698_6b20_some_20strange_2c_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___0698_6b20_some_20strange_2c_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 73 6f 6d 65 20 73 74 72 61 +R 00 00 01 00 +T 0b 00 00 00 6e 67 65 2c 20 75 6e 6b 6e 6f 77 +R 00 00 01 00 +T 16 00 00 00 6e 20 76 61 6c 75 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0699_60cd_speed.rel b/src/nos/lib/messages_lib/0699_60cd_speed.rel new file mode 100644 index 00000000..d96faaa2 --- /dev/null +++ b/src/nos/lib/messages_lib/0699_60cd_speed.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___0699_60cd_speed Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 73 70 65 65 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/069a_9785_speed_20_3cbps_3e.rel b/src/nos/lib/messages_lib/069a_9785_speed_20_3cbps_3e.rel new file mode 100644 index 00000000..28029a3d --- /dev/null +++ b/src/nos/lib/messages_lib/069a_9785_speed_20_3cbps_3e.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___069a_9785_speed_20_3cbps_3e Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 73 70 65 65 64 20 3c 62 70 +R 00 00 01 00 +T 0b 00 00 00 73 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/069b_1861_spool_3a_20_25s_0a.rel b/src/nos/lib/messages_lib/069b_1861_spool_3a_20_25s_0a.rel new file mode 100644 index 00000000..77cd560f --- /dev/null +++ b/src/nos/lib/messages_lib/069b_1861_spool_3a_20_25s_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___069b_1861_spool_3a_20_25s_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 73 70 6f 6f 6c 3a 20 25 73 +R 00 00 01 00 +T 0b 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/069c_61f2_src_20_25s.rel b/src/nos/lib/messages_lib/069c_61f2_src_20_25s.rel new file mode 100644 index 00000000..89735b2e --- /dev/null +++ b/src/nos/lib/messages_lib/069c_61f2_src_20_25s.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___069c_61f2_src_20_25s Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 73 72 63 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/069d_4e06_srtt_20_3d_20_25lu_.rel b/src/nos/lib/messages_lib/069d_4e06_srtt_20_3d_20_25lu_.rel new file mode 100644 index 00000000..411fbb30 --- /dev/null +++ b/src/nos/lib/messages_lib/069d_4e06_srtt_20_3d_20_25lu_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___069d_4e06_srtt_20_3d_20_25lu_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 73 72 74 74 20 3d 20 25 6c +R 00 00 01 00 +T 0b 00 00 00 75 20 6d 64 65 76 20 3d 20 25 6c +R 00 00 01 00 +T 16 00 00 00 75 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/069e_795f_stack_20test.rel b/src/nos/lib/messages_lib/069e_795f_stack_20test.rel new file mode 100644 index 00000000..190ff43b --- /dev/null +++ b/src/nos/lib/messages_lib/069e_795f_stack_20test.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___069e_795f_stack_20test Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 73 74 61 63 6b 20 74 65 73 +R 00 00 01 00 +T 0b 00 00 00 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/069f_45e3_stacktest.rel b/src/nos/lib/messages_lib/069f_45e3_stacktest.rel new file mode 100644 index 00000000..48688e7c --- /dev/null +++ b/src/nos/lib/messages_lib/069f_45e3_stacktest.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___069f_45e3_stacktest Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 73 74 61 63 6b 74 65 73 74 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06a0_be0b_stacktest_20_5bon_7.rel b/src/nos/lib/messages_lib/06a0_be0b_stacktest_20_5bon_7.rel new file mode 100644 index 00000000..f7984703 --- /dev/null +++ b/src/nos/lib/messages_lib/06a0_be0b_stacktest_20_5bon_7.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___06a0_be0b_stacktest_20_5bon_7 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 73 74 61 63 6b 74 65 73 74 +R 00 00 01 00 +T 0b 00 00 00 20 5b 6f 6e 7c 6f 66 66 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06a1_fcc6_standard_0a.rel b/src/nos/lib/messages_lib/06a1_fcc6_standard_0a.rel new file mode 100644 index 00000000..976e84fd --- /dev/null +++ b/src/nos/lib/messages_lib/06a1_fcc6_standard_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___06a1_fcc6_standard_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 73 74 61 6e 64 61 72 64 0a +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06a2_b958_start.rel b/src/nos/lib/messages_lib/06a2_b958_start.rel new file mode 100644 index 00000000..560e3b3c --- /dev/null +++ b/src/nos/lib/messages_lib/06a2_b958_start.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___06a2_b958_start Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 73 74 61 72 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06a3_4b5d_start_20_3cserverna.rel b/src/nos/lib/messages_lib/06a3_4b5d_start_20_3cserverna.rel new file mode 100644 index 00000000..cfab13bd --- /dev/null +++ b/src/nos/lib/messages_lib/06a3_4b5d_start_20_3cserverna.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___06a3_4b5d_start_20_3cserverna Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 73 74 61 72 74 20 3c 73 65 +R 00 00 01 00 +T 0b 00 00 00 72 76 65 72 6e 61 6d 65 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06a4_9324_start_20bsr_20_3cin.rel b/src/nos/lib/messages_lib/06a4_9324_start_20bsr_20_3cin.rel new file mode 100644 index 00000000..4188c445 --- /dev/null +++ b/src/nos/lib/messages_lib/06a4_9324_start_20bsr_20_3cin.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___06a4_9324_start_20bsr_20_3cin Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 73 74 61 72 74 20 62 73 72 +R 00 00 01 00 +T 0b 00 00 00 20 3c 69 6e 74 65 72 66 61 63 65 +R 00 00 01 00 +T 16 00 00 00 3e 20 5b 3c 70 6f 72 74 3e 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06a5_d63e_stat.rel b/src/nos/lib/messages_lib/06a5_d63e_stat.rel new file mode 100644 index 00000000..8586ad04 --- /dev/null +++ b/src/nos/lib/messages_lib/06a5_d63e_stat.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___06a5_d63e_stat Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 73 74 61 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06a6_5069_status.rel b/src/nos/lib/messages_lib/06a6_5069_status.rel new file mode 100644 index 00000000..d6f14edb --- /dev/null +++ b/src/nos/lib/messages_lib/06a6_5069_status.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___06a6_5069_status Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 73 74 61 74 75 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06a7_a95a_status_20up_7cdown_.rel b/src/nos/lib/messages_lib/06a7_a95a_status_20up_7cdown_.rel new file mode 100644 index 00000000..d189c0f8 --- /dev/null +++ b/src/nos/lib/messages_lib/06a7_a95a_status_20up_7cdown_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___06a7_a95a_status_20up_7cdown_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 73 74 61 74 75 73 20 75 70 +R 00 00 01 00 +T 0b 00 00 00 7c 64 6f 77 6e 7c 6f 70 65 6e 7c +R 00 00 01 00 +T 16 00 00 00 63 6c 6f 73 65 7c 6c 69 73 74 65 +R 00 00 01 00 +T 21 00 00 00 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06a8_68cb_stime.rel b/src/nos/lib/messages_lib/06a8_68cb_stime.rel new file mode 100644 index 00000000..e3712fc9 --- /dev/null +++ b/src/nos/lib/messages_lib/06a8_68cb_stime.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___06a8_68cb_stime Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 73 74 69 6d 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06a9_4875_stktrace_20from_20p.rel b/src/nos/lib/messages_lib/06a9_4875_stktrace_20from_20p.rel new file mode 100644 index 00000000..0066bc55 --- /dev/null +++ b/src/nos/lib/messages_lib/06a9_4875_stktrace_20from_20p.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___06a9_4875_stktrace_20from_20p Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 73 74 6b 74 72 61 63 65 20 +R 00 00 01 00 +T 0b 00 00 00 66 72 6f 6d 20 70 72 6f 63 20 25 +R 00 00 01 00 +T 16 00 00 00 73 20 61 74 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06aa_0a0a_stop.rel b/src/nos/lib/messages_lib/06aa_0a0a_stop.rel new file mode 100644 index 00000000..5eb06166 --- /dev/null +++ b/src/nos/lib/messages_lib/06aa_0a0a_stop.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___06aa_0a0a_stop Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 73 74 6f 70 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06ab_6ec0_stop_20_3cservernam.rel b/src/nos/lib/messages_lib/06ab_6ec0_stop_20_3cservernam.rel new file mode 100644 index 00000000..dc59570b --- /dev/null +++ b/src/nos/lib/messages_lib/06ab_6ec0_stop_20_3cservernam.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___06ab_6ec0_stop_20_3cservernam Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 73 74 6f 70 20 3c 73 65 72 +R 00 00 01 00 +T 0b 00 00 00 76 65 72 6e 61 6d 65 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06ac_301d_stopped.rel b/src/nos/lib/messages_lib/06ac_301d_stopped.rel new file mode 100644 index 00000000..3ea4d591 --- /dev/null +++ b/src/nos/lib/messages_lib/06ac_301d_stopped.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___06ac_301d_stopped Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 73 74 6f 70 70 65 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06ad_2918_stor.rel b/src/nos/lib/messages_lib/06ad_2918_stor.rel new file mode 100644 index 00000000..e3d0cbd8 --- /dev/null +++ b/src/nos/lib/messages_lib/06ad_2918_stor.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___06ad_2918_stor Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 73 74 6f 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06ae_784e_stru.rel b/src/nos/lib/messages_lib/06ae_784e_stru.rel new file mode 100644 index 00000000..3237412b --- /dev/null +++ b/src/nos/lib/messages_lib/06ae_784e_stru.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___06ae_784e_stru Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 73 74 72 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06af_bec3_suffix.rel b/src/nos/lib/messages_lib/06af_bec3_suffix.rel new file mode 100644 index 00000000..512f584b --- /dev/null +++ b/src/nos/lib/messages_lib/06af_bec3_suffix.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___06af_bec3_suffix Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 73 75 66 66 69 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06b0_420b_symlink.rel b/src/nos/lib/messages_lib/06b0_420b_symlink.rel new file mode 100644 index 00000000..188aea36 --- /dev/null +++ b/src/nos/lib/messages_lib/06b0_420b_symlink.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___06b0_420b_symlink Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 73 79 6d 6c 69 6e 6b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06b1_ceb7_sync.rel b/src/nos/lib/messages_lib/06b1_ceb7_sync.rel new file mode 100644 index 00000000..e22869a6 --- /dev/null +++ b/src/nos/lib/messages_lib/06b1_ceb7_sync.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___06b1_ceb7_sync Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 73 79 6e 63 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06b2_bb66_syndata.rel b/src/nos/lib/messages_lib/06b2_bb66_syndata.rel new file mode 100644 index 00000000..838a4d41 --- /dev/null +++ b/src/nos/lib/messages_lib/06b2_bb66_syndata.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___06b2_bb66_syndata Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 73 79 6e 64 61 74 61 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06b3_b50c_sysdebug.rel b/src/nos/lib/messages_lib/06b3_b50c_sysdebug.rel new file mode 100644 index 00000000..cc5ef207 --- /dev/null +++ b/src/nos/lib/messages_lib/06b3_b50c_sysdebug.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___06b3_b50c_sysdebug Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 73 79 73 64 65 62 75 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06b4_be35_sysdebug_20_5bon_7c.rel b/src/nos/lib/messages_lib/06b4_be35_sysdebug_20_5bon_7c.rel new file mode 100644 index 00000000..52c3a062 --- /dev/null +++ b/src/nos/lib/messages_lib/06b4_be35_sysdebug_20_5bon_7c.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___06b4_be35_sysdebug_20_5bon_7c Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 73 79 73 64 65 62 75 67 20 +R 00 00 01 00 +T 0b 00 00 00 5b 6f 6e 7c 6f 66 66 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06b5_8f60_syst.rel b/src/nos/lib/messages_lib/06b5_8f60_syst.rel new file mode 100644 index 00000000..02fd4763 --- /dev/null +++ b/src/nos/lib/messages_lib/06b5_8f60_syst.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___06b5_8f60_syst Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 73 79 73 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06b6_f3f3_system_20call_20tra.rel b/src/nos/lib/messages_lib/06b6_f3f3_system_20call_20tra.rel new file mode 100644 index 00000000..a6464657 --- /dev/null +++ b/src/nos/lib/messages_lib/06b6_f3f3_system_20call_20tra.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___06b6_f3f3_system_20call_20tra Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 73 79 73 74 65 6d 20 63 61 +R 00 00 01 00 +T 0b 00 00 00 6c 6c 20 74 72 61 63 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06b7_a612_system_20kernel_20d.rel b/src/nos/lib/messages_lib/06b7_a612_system_20kernel_20d.rel new file mode 100644 index 00000000..73f24ea9 --- /dev/null +++ b/src/nos/lib/messages_lib/06b7_a612_system_20kernel_20d.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___06b7_a612_system_20kernel_20d Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 73 79 73 74 65 6d 20 6b 65 +R 00 00 01 00 +T 0b 00 00 00 72 6e 65 6c 20 64 65 62 75 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06b8_98fb_systrace.rel b/src/nos/lib/messages_lib/06b8_98fb_systrace.rel new file mode 100644 index 00000000..8b036fa6 --- /dev/null +++ b/src/nos/lib/messages_lib/06b8_98fb_systrace.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___06b8_98fb_systrace Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 73 79 73 74 72 61 63 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06b9_71e3_systrace_20_5bon_7c.rel b/src/nos/lib/messages_lib/06b9_71e3_systrace_20_5bon_7c.rel new file mode 100644 index 00000000..7b2db289 --- /dev/null +++ b/src/nos/lib/messages_lib/06b9_71e3_systrace_20_5bon_7c.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___06b9_71e3_systrace_20_5bon_7c Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 73 79 73 74 72 61 63 65 20 +R 00 00 01 00 +T 0b 00 00 00 5b 6f 6e 7c 6f 66 66 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06ba_6404_t3.rel b/src/nos/lib/messages_lib/06ba_6404_t3.rel new file mode 100644 index 00000000..9ca14a2f --- /dev/null +++ b/src/nos/lib/messages_lib/06ba_6404_t3.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 5 flags 0 +S ___06ba_6404_t3 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 03 00 74 33 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06bb_b31f_target.rel b/src/nos/lib/messages_lib/06bb_b31f_target.rel new file mode 100644 index 00000000..b033adad --- /dev/null +++ b/src/nos/lib/messages_lib/06bb_b31f_target.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___06bb_b31f_target Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 74 61 72 67 65 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06bc_e630_tcp.rel b/src/nos/lib/messages_lib/06bc_e630_tcp.rel new file mode 100644 index 00000000..b9c144bf --- /dev/null +++ b/src/nos/lib/messages_lib/06bc_e630_tcp.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___06bc_e630_tcp Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 74 63 70 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06bd_e483_tcp_20kick_20_3ctcb.rel b/src/nos/lib/messages_lib/06bd_e483_tcp_20kick_20_3ctcb.rel new file mode 100644 index 00000000..5f4c4416 --- /dev/null +++ b/src/nos/lib/messages_lib/06bd_e483_tcp_20kick_20_3ctcb.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___06bd_e483_tcp_20kick_20_3ctcb Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 74 63 70 20 6b 69 63 6b 20 +R 00 00 01 00 +T 0b 00 00 00 3c 74 63 62 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06be_a12c_tcp_20reset_20_3ctc.rel b/src/nos/lib/messages_lib/06be_a12c_tcp_20reset_20_3ctc.rel new file mode 100644 index 00000000..10a1e599 --- /dev/null +++ b/src/nos/lib/messages_lib/06be_a12c_tcp_20reset_20_3ctc.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___06be_a12c_tcp_20reset_20_3ctc Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 74 63 70 20 72 65 73 65 74 +R 00 00 01 00 +T 0b 00 00 00 20 3c 74 63 62 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06bf_bb94_tcp_20rtt_20_3ctcb_.rel b/src/nos/lib/messages_lib/06bf_bb94_tcp_20rtt_20_3ctcb_.rel new file mode 100644 index 00000000..77c78fde --- /dev/null +++ b/src/nos/lib/messages_lib/06bf_bb94_tcp_20rtt_20_3ctcb_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 16 flags 0 +S ___06bf_bb94_tcp_20rtt_20_3ctcb_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 14 00 74 63 70 20 72 74 74 20 3c +R 00 00 01 00 +T 0b 00 00 00 74 63 62 3e 20 3c 76 61 6c 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06c0_f363_tcp_20stat_20_3ctcb.rel b/src/nos/lib/messages_lib/06c0_f363_tcp_20stat_20_3ctcb.rel new file mode 100644 index 00000000..2577a833 --- /dev/null +++ b/src/nos/lib/messages_lib/06c0_f363_tcp_20stat_20_3ctcb.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___06c0_f363_tcp_20stat_20_3ctcb Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 74 63 70 20 73 74 61 74 20 +R 00 00 01 00 +T 0b 00 00 00 3c 74 63 62 3e 20 5b 3c 69 6e 74 +R 00 00 01 00 +T 16 00 00 00 65 72 76 61 6c 3e 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06c1_6ff2_telnet.rel b/src/nos/lib/messages_lib/06c1_6ff2_telnet.rel new file mode 100644 index 00000000..5a28ac05 --- /dev/null +++ b/src/nos/lib/messages_lib/06c1_6ff2_telnet.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___06c1_6ff2_telnet Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 74 65 6c 6e 65 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06c2_2114_telnet_20_3caddress.rel b/src/nos/lib/messages_lib/06c2_2114_telnet_20_3caddress.rel new file mode 100644 index 00000000..424238d8 --- /dev/null +++ b/src/nos/lib/messages_lib/06c2_2114_telnet_20_3caddress.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 13 flags 0 +S ___06c2_2114_telnet_20_3caddress Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 11 00 74 65 6c 6e 65 74 20 3c 61 +R 00 00 01 00 +T 0b 00 00 00 64 64 72 65 73 73 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06c3_6cef_term.rel b/src/nos/lib/messages_lib/06c3_6cef_term.rel new file mode 100644 index 00000000..0bbccecc --- /dev/null +++ b/src/nos/lib/messages_lib/06c3_6cef_term.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___06c3_6cef_term Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 74 65 72 6d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06c4_7425_terminate.rel b/src/nos/lib/messages_lib/06c4_7425_terminate.rel new file mode 100644 index 00000000..8e1685bf --- /dev/null +++ b/src/nos/lib/messages_lib/06c4_7425_terminate.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size c flags 0 +S ___06c4_7425_terminate Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0a 00 74 65 72 6d 69 6e 61 74 65 +R 00 00 01 00 +T 0b 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06c5_4c6f_thresh.rel b/src/nos/lib/messages_lib/06c5_4c6f_thresh.rel new file mode 100644 index 00000000..bbaf9a14 --- /dev/null +++ b/src/nos/lib/messages_lib/06c5_4c6f_thresh.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___06c5_4c6f_thresh Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 74 68 72 65 73 68 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06c6_535d_time.rel b/src/nos/lib/messages_lib/06c6_535d_time.rel new file mode 100644 index 00000000..9dbe3130 --- /dev/null +++ b/src/nos/lib/messages_lib/06c6_535d_time.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___06c6_535d_time Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 74 69 6d 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06c7_43a3_time_20before_20fil.rel b/src/nos/lib/messages_lib/06c7_43a3_time_20before_20fil.rel new file mode 100644 index 00000000..4b57b1c8 --- /dev/null +++ b/src/nos/lib/messages_lib/06c7_43a3_time_20before_20fil.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___06c7_43a3_time_20before_20fil Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 74 69 6d 65 20 62 65 66 6f +R 00 00 01 00 +T 0b 00 00 00 72 65 20 66 69 6c 65 20 75 70 64 +R 00 00 01 00 +T 16 00 00 00 61 74 65 20 28 73 65 63 6f 6e 64 +R 00 00 01 00 +T 21 00 00 00 73 29 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06c8_7156_timeout.rel b/src/nos/lib/messages_lib/06c8_7156_timeout.rel new file mode 100644 index 00000000..5a3bbbbd --- /dev/null +++ b/src/nos/lib/messages_lib/06c8_7156_timeout.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___06c8_7156_timeout Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 74 69 6d 65 6f 75 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06c9_d9a6_timer.rel b/src/nos/lib/messages_lib/06c9_d9a6_timer.rel new file mode 100644 index 00000000..f342fee6 --- /dev/null +++ b/src/nos/lib/messages_lib/06c9_d9a6_timer.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___06c9_d9a6_timer Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 74 69 6d 65 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06ca_d29c_timer_3a_20ints_20w.rel b/src/nos/lib/messages_lib/06ca_d29c_timer_3a_20ints_20w.rel new file mode 100644 index 00000000..9c6b3301 --- /dev/null +++ b/src/nos/lib/messages_lib/06ca_d29c_timer_3a_20ints_20w.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 19 flags 0 +S ___06ca_d29c_timer_3a_20ints_20w Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 17 00 74 69 6d 65 72 3a 20 69 6e +R 00 00 01 00 +T 0b 00 00 00 74 73 20 77 65 72 65 20 6f 66 66 +R 00 00 01 00 +T 16 00 00 00 21 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06cb_c82f_times.rel b/src/nos/lib/messages_lib/06cb_c82f_times.rel new file mode 100644 index 00000000..c3415515 --- /dev/null +++ b/src/nos/lib/messages_lib/06cb_c82f_times.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___06cb_c82f_times Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 74 69 6d 65 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06cc_223a_timestamps.rel b/src/nos/lib/messages_lib/06cc_223a_timestamps.rel new file mode 100644 index 00000000..ed10678b --- /dev/null +++ b/src/nos/lib/messages_lib/06cc_223a_timestamps.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___06cc_223a_timestamps Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 74 69 6d 65 73 74 61 6d 70 +R 00 00 01 00 +T 0b 00 00 00 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06cd_004c_tip_20or_20dialer_2.rel b/src/nos/lib/messages_lib/06cd_004c_tip_20or_20dialer_2.rel new file mode 100644 index 00000000..7e159a71 --- /dev/null +++ b/src/nos/lib/messages_lib/06cd_004c_tip_20or_20dialer_2.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2e flags 0 +S ___06cd_004c_tip_20or_20dialer_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2c 00 74 69 70 20 6f 72 20 64 69 +R 00 00 01 00 +T 0b 00 00 00 61 6c 65 72 20 73 65 73 73 69 6f +R 00 00 01 00 +T 16 00 00 00 6e 20 61 6c 72 65 61 64 79 20 61 +R 00 00 01 00 +T 21 00 00 00 63 74 69 76 65 20 6f 6e 20 25 73 +R 00 00 01 00 +T 2c 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06ce_aa4a_tiptimeout.rel b/src/nos/lib/messages_lib/06ce_aa4a_tiptimeout.rel new file mode 100644 index 00000000..db1d5864 --- /dev/null +++ b/src/nos/lib/messages_lib/06ce_aa4a_tiptimeout.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size d flags 0 +S ___06ce_aa4a_tiptimeout Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0b 00 74 69 70 74 69 6d 65 6f 75 +R 00 00 01 00 +T 0b 00 00 00 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06cf_aa76_tmp_20file_20wiping.rel b/src/nos/lib/messages_lib/06cf_aa76_tmp_20file_20wiping.rel new file mode 100644 index 00000000..b118295a --- /dev/null +++ b/src/nos/lib/messages_lib/06cf_aa76_tmp_20file_20wiping.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___06cf_aa76_tmp_20file_20wiping Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 74 6d 70 20 66 69 6c 65 20 +R 00 00 01 00 +T 0b 00 00 00 77 69 70 69 6e 67 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06d0_2645_tmp_20file_3a_20_25.rel b/src/nos/lib/messages_lib/06d0_2645_tmp_20file_3a_20_25.rel new file mode 100644 index 00000000..99de6ab2 --- /dev/null +++ b/src/nos/lib/messages_lib/06d0_2645_tmp_20file_3a_20_25.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size f flags 0 +S ___06d0_2645_tmp_20file_3a_20_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0d 00 74 6d 70 20 66 69 6c 65 3a +R 00 00 01 00 +T 0b 00 00 00 20 25 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06d1_a165_topt.rel b/src/nos/lib/messages_lib/06d1_a165_topt.rel new file mode 100644 index 00000000..27669899 --- /dev/null +++ b/src/nos/lib/messages_lib/06d1_a165_topt.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___06d1_a165_topt Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 74 6f 70 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06d2_4f5f_trace.rel b/src/nos/lib/messages_lib/06d2_4f5f_trace.rel new file mode 100644 index 00000000..1553f457 --- /dev/null +++ b/src/nos/lib/messages_lib/06d2_4f5f_trace.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___06d2_4f5f_trace Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 74 72 61 63 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06d3_3bce_traceroute_20done_3.rel b/src/nos/lib/messages_lib/06d3_3bce_traceroute_20done_3.rel new file mode 100644 index 00000000..e8295871 --- /dev/null +++ b/src/nos/lib/messages_lib/06d3_3bce_traceroute_20done_3.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___06d3_3bce_traceroute_20done_3 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 74 72 61 63 65 72 6f 75 74 +R 00 00 01 00 +T 0b 00 00 00 65 20 64 6f 6e 65 3a 20 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06d4_f7b8_try.rel b/src/nos/lib/messages_lib/06d4_f7b8_try.rel new file mode 100644 index 00000000..37d557b5 --- /dev/null +++ b/src/nos/lib/messages_lib/06d4_f7b8_try.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___06d4_f7b8_try Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 74 72 79 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06d5_e444_ttl.rel b/src/nos/lib/messages_lib/06d5_e444_ttl.rel new file mode 100644 index 00000000..e8477ccc --- /dev/null +++ b/src/nos/lib/messages_lib/06d5_e444_ttl.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___06d5_e444_ttl Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 74 74 6c 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06d6_299c_ttylink.rel b/src/nos/lib/messages_lib/06d6_299c_ttylink.rel new file mode 100644 index 00000000..9a4d7037 --- /dev/null +++ b/src/nos/lib/messages_lib/06d6_299c_ttylink.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___06d6_299c_ttylink Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 74 74 79 6c 69 6e 6b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06d7_e58b_txqlen.rel b/src/nos/lib/messages_lib/06d7_e58b_txqlen.rel new file mode 100644 index 00000000..667f7478 --- /dev/null +++ b/src/nos/lib/messages_lib/06d7_e58b_txqlen.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___06d7_e58b_txqlen Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 74 78 71 6c 65 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06d8_f321_type.rel b/src/nos/lib/messages_lib/06d8_f321_type.rel new file mode 100644 index 00000000..b6512c0e --- /dev/null +++ b/src/nos/lib/messages_lib/06d8_f321_type.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___06d8_f321_type Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 74 79 70 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06d9_f1e4_udp.rel b/src/nos/lib/messages_lib/06d9_f1e4_udp.rel new file mode 100644 index 00000000..a088bc3c --- /dev/null +++ b/src/nos/lib/messages_lib/06d9_f1e4_udp.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___06d9_f1e4_udp Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 75 64 70 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06da_5caf_umount.rel b/src/nos/lib/messages_lib/06da_5caf_umount.rel new file mode 100644 index 00000000..6a0a3446 --- /dev/null +++ b/src/nos/lib/messages_lib/06da_5caf_umount.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___06da_5caf_umount Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 75 6d 6f 75 6e 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06db_5c70_unknown_0a.rel b/src/nos/lib/messages_lib/06db_5c70_unknown_0a.rel new file mode 100644 index 00000000..24f83753 --- /dev/null +++ b/src/nos/lib/messages_lib/06db_5c70_unknown_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___06db_5c70_unknown_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 75 6e 6b 6e 6f 77 6e 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06dc_bc4f_unknown_200x_2504x_.rel b/src/nos/lib/messages_lib/06dc_bc4f_unknown_200x_2504x_.rel new file mode 100644 index 00000000..1648f446 --- /dev/null +++ b/src/nos/lib/messages_lib/06dc_bc4f_unknown_200x_2504x_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___06dc_bc4f_unknown_200x_2504x_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 75 6e 6b 6e 6f 77 6e 20 30 +R 00 00 01 00 +T 0b 00 00 00 78 25 30 34 78 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06dd_5194_unknown_20hardware_.rel b/src/nos/lib/messages_lib/06dd_5194_unknown_20hardware_.rel new file mode 100644 index 00000000..678cde40 --- /dev/null +++ b/src/nos/lib/messages_lib/06dd_5194_unknown_20hardware_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___06dd_5194_unknown_20hardware_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 75 6e 6b 6e 6f 77 6e 20 68 +R 00 00 01 00 +T 0b 00 00 00 61 72 64 77 61 72 65 20 74 79 70 +R 00 00 01 00 +T 16 00 00 00 65 20 22 25 73 22 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06de_acee_unlink.rel b/src/nos/lib/messages_lib/06de_acee_unlink.rel new file mode 100644 index 00000000..a780e3e4 --- /dev/null +++ b/src/nos/lib/messages_lib/06de_acee_unlink.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___06de_acee_unlink Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 75 6e 6c 69 6e 6b 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06df_f1c3_unused_0a.rel b/src/nos/lib/messages_lib/06df_f1c3_unused_0a.rel new file mode 100644 index 00000000..f3094a58 --- /dev/null +++ b/src/nos/lib/messages_lib/06df_f1c3_unused_0a.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___06df_f1c3_unused_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 75 6e 75 73 65 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06e0_f303_up_20script_3a_20_2.rel b/src/nos/lib/messages_lib/06e0_f303_up_20script_3a_20_2.rel new file mode 100644 index 00000000..58171b0f --- /dev/null +++ b/src/nos/lib/messages_lib/06e0_f303_up_20script_3a_20_2.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 11 flags 0 +S ___06e0_f303_up_20script_3a_20_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0f 00 75 70 20 73 63 72 69 70 74 +R 00 00 01 00 +T 0b 00 00 00 3a 20 25 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06e1_db93_update.rel b/src/nos/lib/messages_lib/06e1_db93_update.rel new file mode 100644 index 00000000..dd86167c --- /dev/null +++ b/src/nos/lib/messages_lib/06e1_db93_update.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___06e1_db93_update Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 75 70 64 61 74 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06e2_5c27_update_20Domain_2et.rel b/src/nos/lib/messages_lib/06e2_5c27_update_20Domain_2et.rel new file mode 100644 index 00000000..315f7669 --- /dev/null +++ b/src/nos/lib/messages_lib/06e2_5c27_update_20Domain_2et.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 14 flags 0 +S ___06e2_5c27_update_20Domain_2et Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 12 00 75 70 64 61 74 65 20 44 6f +R 00 00 01 00 +T 0b 00 00 00 6d 61 69 6e 2e 74 78 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06e3_0b09_update_20Domain_2et.rel b/src/nos/lib/messages_lib/06e3_0b09_update_20Domain_2et.rel new file mode 100644 index 00000000..4d71a295 --- /dev/null +++ b/src/nos/lib/messages_lib/06e3_0b09_update_20Domain_2et.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___06e3_0b09_update_20Domain_2et Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 75 70 64 61 74 65 20 44 6f +R 00 00 01 00 +T 0b 00 00 00 6d 61 69 6e 2e 74 78 74 20 66 69 +R 00 00 01 00 +T 16 00 00 00 6e 69 73 68 65 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06e4_c5a3_update_20Domain_2et.rel b/src/nos/lib/messages_lib/06e4_c5a3_update_20Domain_2et.rel new file mode 100644 index 00000000..11b51793 --- /dev/null +++ b/src/nos/lib/messages_lib/06e4_c5a3_update_20Domain_2et.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___06e4_c5a3_update_20Domain_2et Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 75 70 64 61 74 65 20 44 6f +R 00 00 01 00 +T 0b 00 00 00 6d 61 69 6e 2e 74 78 74 20 69 6e +R 00 00 01 00 +T 16 00 00 00 69 74 69 61 74 65 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06e5_d4f0_upload.rel b/src/nos/lib/messages_lib/06e5_d4f0_upload.rel new file mode 100644 index 00000000..4859882d --- /dev/null +++ b/src/nos/lib/messages_lib/06e5_d4f0_upload.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___06e5_d4f0_upload Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 75 70 6c 6f 61 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06e6_13f7_user.rel b/src/nos/lib/messages_lib/06e6_13f7_user.rel new file mode 100644 index 00000000..0bba13e8 --- /dev/null +++ b/src/nos/lib/messages_lib/06e6_13f7_user.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___06e6_13f7_user Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 75 73 65 72 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06e7_6f25_user_20abort_0a.rel b/src/nos/lib/messages_lib/06e7_6f25_user_20abort_0a.rel new file mode 100644 index 00000000..c38faee8 --- /dev/null +++ b/src/nos/lib/messages_lib/06e7_6f25_user_20abort_0a.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size e flags 0 +S ___06e7_6f25_user_20abort_0a Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 0c 00 75 73 65 72 20 61 62 6f 72 +R 00 00 01 00 +T 0b 00 00 00 74 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06e8_1b49_userdata.rel b/src/nos/lib/messages_lib/06e8_1b49_userdata.rel new file mode 100644 index 00000000..b78245ba --- /dev/null +++ b/src/nos/lib/messages_lib/06e8_1b49_userdata.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size b flags 0 +S ___06e8_1b49_userdata Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 09 00 75 73 65 72 64 61 74 61 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06e9_3967_username_20not_20de.rel b/src/nos/lib/messages_lib/06e9_3967_username_20not_20de.rel new file mode 100644 index 00000000..17487791 --- /dev/null +++ b/src/nos/lib/messages_lib/06e9_3967_username_20not_20de.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 36 flags 0 +S ___06e9_3967_username_20not_20de Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 34 00 75 73 65 72 6e 61 6d 65 20 +R 00 00 01 00 +T 0b 00 00 00 6e 6f 74 20 64 65 66 69 6e 65 64 +R 00 00 01 00 +T 16 00 00 00 20 79 65 74 2e 20 28 70 6f 70 20 +R 00 00 01 00 +T 21 00 00 00 75 73 65 72 20 3c 6e 61 6d 65 3e +R 00 00 01 00 +T 2c 00 00 00 20 3c 70 61 73 73 3e 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06ea_c23f_users.rel b/src/nos/lib/messages_lib/06ea_c23f_users.rel new file mode 100644 index 00000000..8c851db9 --- /dev/null +++ b/src/nos/lib/messages_lib/06ea_c23f_users.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___06ea_c23f_users Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 75 73 65 72 73 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06eb_5353_utime.rel b/src/nos/lib/messages_lib/06eb_5353_utime.rel new file mode 100644 index 00000000..d07d2e73 --- /dev/null +++ b/src/nos/lib/messages_lib/06eb_5353_utime.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___06eb_5353_utime Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 75 74 69 6d 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06ec_d261_valid_20subcommands.rel b/src/nos/lib/messages_lib/06ec_d261_valid_20subcommands.rel new file mode 100644 index 00000000..339c194d --- /dev/null +++ b/src/nos/lib/messages_lib/06ec_d261_valid_20subcommands.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 15 flags 0 +S ___06ec_d261_valid_20subcommands Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 13 00 76 61 6c 69 64 20 73 75 62 +R 00 00 01 00 +T 0b 00 00 00 63 6f 6d 6d 61 6e 64 73 3a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06ed_a0e5_validblk_3a_20dev_2.rel b/src/nos/lib/messages_lib/06ed_a0e5_validblk_3a_20dev_2.rel new file mode 100644 index 00000000..53ceaa52 --- /dev/null +++ b/src/nos/lib/messages_lib/06ed_a0e5_validblk_3a_20dev_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___06ed_a0e5_validblk_3a_20dev_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 76 61 6c 69 64 62 6c 6b 3a +R 00 00 01 00 +T 0b 00 00 00 20 64 65 76 20 30 78 25 78 20 6e +R 00 00 01 00 +T 16 00 00 00 6f 74 20 6d 6f 75 6e 74 65 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06ee_74cf_validblk_3a_20inval.rel b/src/nos/lib/messages_lib/06ee_74cf_validblk_3a_20inval.rel new file mode 100644 index 00000000..36b9ce0b --- /dev/null +++ b/src/nos/lib/messages_lib/06ee_74cf_validblk_3a_20inval.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1d flags 0 +S ___06ee_74cf_validblk_3a_20inval Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1b 00 76 61 6c 69 64 62 6c 6b 3a +R 00 00 01 00 +T 0b 00 00 00 20 69 6e 76 61 6c 69 64 20 62 6c +R 00 00 01 00 +T 16 00 00 00 6f 63 6b 20 25 75 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06ef_ab5c_verbose.rel b/src/nos/lib/messages_lib/06ef_ab5c_verbose.rel new file mode 100644 index 00000000..56d09591 --- /dev/null +++ b/src/nos/lib/messages_lib/06ef_ab5c_verbose.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___06ef_ab5c_verbose Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 76 65 72 62 6f 73 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06f0_207d_version.rel b/src/nos/lib/messages_lib/06f0_207d_version.rel new file mode 100644 index 00000000..986a2258 --- /dev/null +++ b/src/nos/lib/messages_lib/06f0_207d_version.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___06f0_207d_version Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 76 65 72 73 69 6f 6e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06f1_9778_view.rel b/src/nos/lib/messages_lib/06f1_9778_view.rel new file mode 100644 index 00000000..411970a5 --- /dev/null +++ b/src/nos/lib/messages_lib/06f1_9778_view.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___06f1_9778_view Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 76 69 65 77 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06f2_23f1_view_20_3cfilename_.rel b/src/nos/lib/messages_lib/06f2_23f1_view_20_3cfilename_.rel new file mode 100644 index 00000000..460c2860 --- /dev/null +++ b/src/nos/lib/messages_lib/06f2_23f1_view_20_3cfilename_.rel @@ -0,0 +1,12 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 12 flags 0 +S ___06f2_23f1_view_20_3cfilename_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 10 00 76 69 65 77 20 3c 66 69 6c +R 00 00 01 00 +T 0b 00 00 00 65 6e 61 6d 65 3e 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06f3_98f0_vj.rel b/src/nos/lib/messages_lib/06f3_98f0_vj.rel new file mode 100644 index 00000000..6d2eed51 --- /dev/null +++ b/src/nos/lib/messages_lib/06f3_98f0_vj.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 5 flags 0 +S ___06f3_98f0_vj Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 03 00 76 6a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06f4_d63a_wait.rel b/src/nos/lib/messages_lib/06f4_d63a_wait.rel new file mode 100644 index 00000000..84347006 --- /dev/null +++ b/src/nos/lib/messages_lib/06f4_d63a_wait.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___06f4_d63a_wait Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 77 61 69 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06f5_2887_wait_20_3cmilliseco.rel b/src/nos/lib/messages_lib/06f5_2887_wait_20_3cmilliseco.rel new file mode 100644 index 00000000..e8ecfef8 --- /dev/null +++ b/src/nos/lib/messages_lib/06f5_2887_wait_20_3cmilliseco.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2b flags 0 +S ___06f5_2887_wait_20_3cmilliseco Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 29 00 77 61 69 74 20 3c 6d 69 6c +R 00 00 01 00 +T 0b 00 00 00 6c 69 73 65 63 6f 6e 64 73 3e 20 +R 00 00 01 00 +T 16 00 00 00 5b 20 22 73 74 72 69 6e 67 22 20 +R 00 00 01 00 +T 21 00 00 00 5b 73 70 65 65 64 5d 20 5d 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06f6_e988_waitpid.rel b/src/nos/lib/messages_lib/06f6_e988_waitpid.rel new file mode 100644 index 00000000..724f755b --- /dev/null +++ b/src/nos/lib/messages_lib/06f6_e988_waitpid.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size a flags 0 +S ___06f6_e988_waitpid Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 08 00 77 61 69 74 70 69 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06f7_674e_want_20busy_20block.rel b/src/nos/lib/messages_lib/06f7_674e_want_20busy_20block.rel new file mode 100644 index 00000000..4943d4da --- /dev/null +++ b/src/nos/lib/messages_lib/06f7_674e_want_20busy_20block.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___06f7_674e_want_20busy_20block Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 77 61 6e 74 20 62 75 73 79 +R 00 00 01 00 +T 0b 00 00 00 20 62 6c 6f 63 6b 20 30 78 25 78 +R 00 00 01 00 +T 16 00 00 00 20 64 65 76 69 63 65 20 30 78 25 +R 00 00 01 00 +T 21 00 00 00 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06f8_84e4_what.rel b/src/nos/lib/messages_lib/06f8_84e4_what.rel new file mode 100644 index 00000000..ebfb03f1 --- /dev/null +++ b/src/nos/lib/messages_lib/06f8_84e4_what.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___06f8_84e4_what Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 77 68 61 74 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06f9_9158_window.rel b/src/nos/lib/messages_lib/06f9_9158_window.rel new file mode 100644 index 00000000..0dcbf977 --- /dev/null +++ b/src/nos/lib/messages_lib/06f9_9158_window.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 9 flags 0 +S ___06f9_9158_window Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 07 00 77 69 6e 64 6f 77 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06fa_5379_wipe.rel b/src/nos/lib/messages_lib/06fa_5379_wipe.rel new file mode 100644 index 00000000..eadaa503 --- /dev/null +++ b/src/nos/lib/messages_lib/06fa_5379_wipe.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___06fa_5379_wipe Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 77 69 70 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06fb_bd9d_wr_5finode_28_29_20.rel b/src/nos/lib/messages_lib/06fb_bd9d_wr_5finode_28_29_20.rel new file mode 100644 index 00000000..21817448 --- /dev/null +++ b/src/nos/lib/messages_lib/06fb_bd9d_wr_5finode_28_29_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___06fb_bd9d_wr_5finode_28_29_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 77 72 5f 69 6e 6f 64 65 28 +R 00 00 01 00 +T 0b 00 00 00 29 20 72 65 74 75 72 6e 69 6e 67 +R 00 00 01 00 +T 16 00 00 00 20 2d 31 2c 20 65 72 72 6f 72 20 +R 00 00 01 00 +T 21 00 00 00 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06fc_68b2_wr_5finode_28_29_20.rel b/src/nos/lib/messages_lib/06fc_68b2_wr_5finode_28_29_20.rel new file mode 100644 index 00000000..ed8f24f6 --- /dev/null +++ b/src/nos/lib/messages_lib/06fc_68b2_wr_5finode_28_29_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___06fc_68b2_wr_5finode_28_29_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 77 72 5f 69 6e 6f 64 65 28 +R 00 00 01 00 +T 0b 00 00 00 29 20 72 65 74 75 72 6e 69 6e 67 +R 00 00 01 00 +T 16 00 00 00 20 30 2c 20 73 75 63 63 65 73 73 +R 00 00 01 00 +T 21 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06fd_7708_wr_5finode_280x_25x.rel b/src/nos/lib/messages_lib/06fd_7708_wr_5finode_280x_25x.rel new file mode 100644 index 00000000..16d7c616 --- /dev/null +++ b/src/nos/lib/messages_lib/06fd_7708_wr_5finode_280x_25x.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1b flags 0 +S ___06fd_7708_wr_5finode_280x_25x Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 19 00 77 72 5f 69 6e 6f 64 65 28 +R 00 00 01 00 +T 0b 00 00 00 30 78 25 78 29 20 73 74 61 72 74 +R 00 00 01 00 +T 16 00 00 00 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06fe_4cc8_write.rel b/src/nos/lib/messages_lib/06fe_4cc8_write.rel new file mode 100644 index 00000000..868c76b6 --- /dev/null +++ b/src/nos/lib/messages_lib/06fe_4cc8_write.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 8 flags 0 +S ___06fe_4cc8_write Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 06 00 77 72 69 74 65 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/06ff_dd6d_x_25x.rel b/src/nos/lib/messages_lib/06ff_dd6d_x_25x.rel new file mode 100644 index 00000000..e3bacbe9 --- /dev/null +++ b/src/nos/lib/messages_lib/06ff_dd6d_x_25x.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___06ff_dd6d_x_25x Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 78 25 78 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0700_ce7b_xcwd.rel b/src/nos/lib/messages_lib/0700_ce7b_xcwd.rel new file mode 100644 index 00000000..97019477 --- /dev/null +++ b/src/nos/lib/messages_lib/0700_ce7b_xcwd.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0700_ce7b_xcwd Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 78 63 77 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0701_511f_xip_5falign_28_29_2.rel b/src/nos/lib/messages_lib/0701_511f_xip_5falign_28_29_2.rel new file mode 100644 index 00000000..c10b7288 --- /dev/null +++ b/src/nos/lib/messages_lib/0701_511f_xip_5falign_28_29_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___0701_511f_xip_5falign_28_29_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 78 69 70 5f 61 6c 69 67 6e +R 00 00 01 00 +T 0b 00 00 00 28 29 20 72 65 74 75 72 6e 69 6e +R 00 00 01 00 +T 16 00 00 00 67 20 2d 31 20 61 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0702_62af_xip_5falign_28_29_2.rel b/src/nos/lib/messages_lib/0702_62af_xip_5falign_28_29_2.rel new file mode 100644 index 00000000..deddfdc3 --- /dev/null +++ b/src/nos/lib/messages_lib/0702_62af_xip_5falign_28_29_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___0702_62af_xip_5falign_28_29_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 78 69 70 5f 61 6c 69 67 6e +R 00 00 01 00 +T 0b 00 00 00 28 29 20 72 65 74 75 72 6e 69 6e +R 00 00 01 00 +T 16 00 00 00 67 20 2d 31 20 63 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0703_2fa7_xip_5falign_28_29_2.rel b/src/nos/lib/messages_lib/0703_2fa7_xip_5falign_28_29_2.rel new file mode 100644 index 00000000..e17e94bc --- /dev/null +++ b/src/nos/lib/messages_lib/0703_2fa7_xip_5falign_28_29_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1e flags 0 +S ___0703_2fa7_xip_5falign_28_29_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1c 00 78 69 70 5f 61 6c 69 67 6e +R 00 00 01 00 +T 0b 00 00 00 28 29 20 72 65 74 75 72 6e 69 6e +R 00 00 01 00 +T 16 00 00 00 67 20 2d 31 20 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0704_6211_xip_5falign_28_29_2.rel b/src/nos/lib/messages_lib/0704_6211_xip_5falign_28_29_2.rel new file mode 100644 index 00000000..4eb420bd --- /dev/null +++ b/src/nos/lib/messages_lib/0704_6211_xip_5falign_28_29_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___0704_6211_xip_5falign_28_29_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 78 69 70 5f 61 6c 69 67 6e +R 00 00 01 00 +T 0b 00 00 00 28 29 20 72 65 74 75 72 6e 69 6e +R 00 00 01 00 +T 16 00 00 00 67 20 30 2c 20 73 75 63 63 65 73 +R 00 00 01 00 +T 21 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0705_dc6f_xip_5falign_280x_25.rel b/src/nos/lib/messages_lib/0705_dc6f_xip_5falign_280x_25.rel new file mode 100644 index 00000000..874f7b9d --- /dev/null +++ b/src/nos/lib/messages_lib/0705_dc6f_xip_5falign_280x_25.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 21 flags 0 +S ___0705_dc6f_xip_5falign_280x_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1f 00 78 69 70 5f 61 6c 69 67 6e +R 00 00 01 00 +T 0b 00 00 00 28 30 78 25 78 2c 20 25 6c 64 29 +R 00 00 01 00 +T 16 00 00 00 20 73 74 61 72 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0706_d854_xip_5falign_5fbmap_.rel b/src/nos/lib/messages_lib/0706_d854_xip_5falign_5fbmap_.rel new file mode 100644 index 00000000..e06a2a9b --- /dev/null +++ b/src/nos/lib/messages_lib/0706_d854_xip_5falign_5fbmap_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___0706_d854_xip_5falign_5fbmap_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 78 69 70 5f 61 6c 69 67 6e +R 00 00 01 00 +T 0b 00 00 00 5f 62 6d 61 70 28 29 20 72 65 74 +R 00 00 01 00 +T 16 00 00 00 75 72 6e 69 6e 67 20 25 75 2c 20 +R 00 00 01 00 +T 21 00 00 00 73 75 63 63 65 73 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0707_4a41_xip_5falign_5fbmap_.rel b/src/nos/lib/messages_lib/0707_4a41_xip_5falign_5fbmap_.rel new file mode 100644 index 00000000..86a479a3 --- /dev/null +++ b/src/nos/lib/messages_lib/0707_4a41_xip_5falign_5fbmap_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2b flags 0 +S ___0707_4a41_xip_5falign_5fbmap_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 29 00 78 69 70 5f 61 6c 69 67 6e +R 00 00 01 00 +T 0b 00 00 00 5f 62 6d 61 70 28 29 20 72 65 74 +R 00 00 01 00 +T 16 00 00 00 75 72 6e 69 6e 67 20 2d 31 2c 20 +R 00 00 01 00 +T 21 00 00 00 65 72 72 6f 72 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0708_f051_xip_5falign_5fbmap_.rel b/src/nos/lib/messages_lib/0708_f051_xip_5falign_5fbmap_.rel new file mode 100644 index 00000000..61db08d4 --- /dev/null +++ b/src/nos/lib/messages_lib/0708_f051_xip_5falign_5fbmap_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___0708_f051_xip_5falign_5fbmap_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 78 69 70 5f 61 6c 69 67 6e +R 00 00 01 00 +T 0b 00 00 00 5f 62 6d 61 70 28 30 78 25 78 2c +R 00 00 01 00 +T 16 00 00 00 20 25 75 29 20 73 74 61 72 74 69 +R 00 00 01 00 +T 21 00 00 00 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0709_39ef_xip_5falign_5fchase.rel b/src/nos/lib/messages_lib/0709_39ef_xip_5falign_5fchase.rel new file mode 100644 index 00000000..f13bf0f9 --- /dev/null +++ b/src/nos/lib/messages_lib/0709_39ef_xip_5falign_5fchase.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 34 flags 0 +S ___0709_39ef_xip_5falign_5fchase Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 32 00 78 69 70 5f 61 6c 69 67 6e +R 00 00 01 00 +T 0b 00 00 00 5f 63 68 61 73 65 28 29 20 31 20 +R 00 00 01 00 +T 16 00 00 00 69 6e 6f 20 3d 20 25 64 2c 20 62 +R 00 00 01 00 +T 21 00 00 00 6c 6b 20 3d 20 25 64 2c 20 70 6f +R 00 00 01 00 +T 2c 00 00 00 73 20 3d 20 25 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/070a_7ea2_xip_5falign_5fchase.rel b/src/nos/lib/messages_lib/070a_7ea2_xip_5falign_5fchase.rel new file mode 100644 index 00000000..9760e7b5 --- /dev/null +++ b/src/nos/lib/messages_lib/070a_7ea2_xip_5falign_5fchase.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 34 flags 0 +S ___070a_7ea2_xip_5falign_5fchase Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 32 00 78 69 70 5f 61 6c 69 67 6e +R 00 00 01 00 +T 0b 00 00 00 5f 63 68 61 73 65 28 29 20 32 20 +R 00 00 01 00 +T 16 00 00 00 69 6e 6f 20 3d 20 25 64 2c 20 62 +R 00 00 01 00 +T 21 00 00 00 6c 6b 20 3d 20 25 64 2c 20 70 6f +R 00 00 01 00 +T 2c 00 00 00 73 20 3d 20 25 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/070b_f19c_xip_5falign_5fchase.rel b/src/nos/lib/messages_lib/070b_f19c_xip_5falign_5fchase.rel new file mode 100644 index 00000000..f6b58075 --- /dev/null +++ b/src/nos/lib/messages_lib/070b_f19c_xip_5falign_5fchase.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___070b_f19c_xip_5falign_5fchase Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 78 69 70 5f 61 6c 69 67 6e +R 00 00 01 00 +T 0b 00 00 00 5f 63 68 61 73 65 28 29 20 72 65 +R 00 00 01 00 +T 16 00 00 00 74 75 72 6e 69 6e 67 20 25 64 2c +R 00 00 01 00 +T 21 00 00 00 20 6f 6b 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/070c_fcac_xip_5falign_5fchase.rel b/src/nos/lib/messages_lib/070c_fcac_xip_5falign_5fchase.rel new file mode 100644 index 00000000..60f016d4 --- /dev/null +++ b/src/nos/lib/messages_lib/070c_fcac_xip_5falign_5fchase.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2c flags 0 +S ___070c_fcac_xip_5falign_5fchase Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2a 00 78 69 70 5f 61 6c 69 67 6e +R 00 00 01 00 +T 0b 00 00 00 5f 63 68 61 73 65 28 29 20 72 65 +R 00 00 01 00 +T 16 00 00 00 74 75 72 6e 69 6e 67 20 2d 31 2c +R 00 00 01 00 +T 21 00 00 00 20 65 72 72 6f 72 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/070d_d6ef_xip_5falign_5fchase.rel b/src/nos/lib/messages_lib/070d_d6ef_xip_5falign_5fchase.rel new file mode 100644 index 00000000..85f6129a --- /dev/null +++ b/src/nos/lib/messages_lib/070d_d6ef_xip_5falign_5fchase.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 3e flags 0 +S ___070d_d6ef_xip_5falign_5fchase Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 3c 00 78 69 70 5f 61 6c 69 67 6e +R 00 00 01 00 +T 0b 00 00 00 5f 63 68 61 73 65 28 30 78 25 78 +R 00 00 01 00 +T 16 00 00 00 2c 20 30 78 25 78 2c 20 25 64 2c +R 00 00 01 00 +T 21 00 00 00 20 25 64 2c 20 30 78 25 78 2c 20 +R 00 00 01 00 +T 2c 00 00 00 25 64 2c 20 25 64 29 20 73 74 61 +R 00 00 01 00 +T 37 00 00 00 72 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/070e_0fcd_xip_5falign_5frecur.rel b/src/nos/lib/messages_lib/070e_0fcd_xip_5falign_5frecur.rel new file mode 100644 index 00000000..20bbcdc9 --- /dev/null +++ b/src/nos/lib/messages_lib/070e_0fcd_xip_5falign_5frecur.rel @@ -0,0 +1,20 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 42 flags 0 +S ___070e_0fcd_xip_5falign_5frecur Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 40 00 78 69 70 5f 61 6c 69 67 6e +R 00 00 01 00 +T 0b 00 00 00 5f 72 65 63 75 72 73 65 28 29 20 +R 00 00 01 00 +T 16 00 00 00 69 6e 6f 20 3d 20 25 64 2c 20 62 +R 00 00 01 00 +T 21 00 00 00 6c 6b 20 3d 20 25 64 2c 20 69 6e +R 00 00 01 00 +T 2c 00 00 00 64 20 3d 20 25 64 2c 20 70 61 72 +R 00 00 01 00 +T 37 00 00 00 20 3d 20 30 78 25 30 34 78 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/070f_ceee_xip_5falign_5frecur.rel b/src/nos/lib/messages_lib/070f_ceee_xip_5falign_5frecur.rel new file mode 100644 index 00000000..90c19db9 --- /dev/null +++ b/src/nos/lib/messages_lib/070f_ceee_xip_5falign_5frecur.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2e flags 0 +S ___070f_ceee_xip_5falign_5frecur Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2c 00 78 69 70 5f 61 6c 69 67 6e +R 00 00 01 00 +T 0b 00 00 00 5f 72 65 63 75 72 73 65 28 29 20 +R 00 00 01 00 +T 16 00 00 00 72 65 74 75 72 6e 69 6e 67 20 2d +R 00 00 01 00 +T 21 00 00 00 31 2c 20 65 72 72 6f 72 20 25 75 +R 00 00 01 00 +T 2c 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0710_346b_xip_5fexamine_28_29.rel b/src/nos/lib/messages_lib/0710_346b_xip_5fexamine_28_29.rel new file mode 100644 index 00000000..dc73e768 --- /dev/null +++ b/src/nos/lib/messages_lib/0710_346b_xip_5fexamine_28_29.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 29 flags 0 +S ___0710_346b_xip_5fexamine_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 27 00 78 69 70 5f 65 78 61 6d 69 +R 00 00 01 00 +T 0b 00 00 00 6e 65 28 29 20 72 65 74 75 72 6e +R 00 00 01 00 +T 16 00 00 00 69 6e 67 20 30 78 25 78 20 28 25 +R 00 00 01 00 +T 21 00 00 00 64 2c 20 25 64 29 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0711_fa8e_xip_5fexamine_28_29.rel b/src/nos/lib/messages_lib/0711_fa8e_xip_5fexamine_28_29.rel new file mode 100644 index 00000000..44afca0b --- /dev/null +++ b/src/nos/lib/messages_lib/0711_fa8e_xip_5fexamine_28_29.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___0711_fa8e_xip_5fexamine_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 78 69 70 5f 65 78 61 6d 69 +R 00 00 01 00 +T 0b 00 00 00 6e 65 28 29 20 72 65 74 75 72 6e +R 00 00 01 00 +T 16 00 00 00 69 6e 67 20 4e 55 4c 4c 2c 20 65 +R 00 00 01 00 +T 21 00 00 00 72 72 6f 72 20 25 75 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0712_ed9f_xip_5fexamine_28_29.rel b/src/nos/lib/messages_lib/0712_ed9f_xip_5fexamine_28_29.rel new file mode 100644 index 00000000..e7a8e52f --- /dev/null +++ b/src/nos/lib/messages_lib/0712_ed9f_xip_5fexamine_28_29.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2c flags 0 +S ___0712_ed9f_xip_5fexamine_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2a 00 78 69 70 5f 65 78 61 6d 69 +R 00 00 01 00 +T 0b 00 00 00 6e 65 28 29 20 72 65 74 75 72 6e +R 00 00 01 00 +T 16 00 00 00 69 6e 67 20 4e 55 4c 4c 2c 20 65 +R 00 00 01 00 +T 21 00 00 00 72 72 6f 72 20 25 75 20 61 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0713_c7f7_xip_5fexamine_28_29.rel b/src/nos/lib/messages_lib/0713_c7f7_xip_5fexamine_28_29.rel new file mode 100644 index 00000000..6a606e0a --- /dev/null +++ b/src/nos/lib/messages_lib/0713_c7f7_xip_5fexamine_28_29.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2c flags 0 +S ___0713_c7f7_xip_5fexamine_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2a 00 78 69 70 5f 65 78 61 6d 69 +R 00 00 01 00 +T 0b 00 00 00 6e 65 28 29 20 72 65 74 75 72 6e +R 00 00 01 00 +T 16 00 00 00 69 6e 67 20 4e 55 4c 4c 2c 20 65 +R 00 00 01 00 +T 21 00 00 00 72 72 6f 72 20 25 75 20 62 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0714_04e3_xip_5fexamine_280x_.rel b/src/nos/lib/messages_lib/0714_04e3_xip_5fexamine_280x_.rel new file mode 100644 index 00000000..43a262b7 --- /dev/null +++ b/src/nos/lib/messages_lib/0714_04e3_xip_5fexamine_280x_.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 35 flags 0 +S ___0714_04e3_xip_5fexamine_280x_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 33 00 78 69 70 5f 65 78 61 6d 69 +R 00 00 01 00 +T 0b 00 00 00 6e 65 28 30 78 25 78 2c 20 30 78 +R 00 00 01 00 +T 16 00 00 00 25 78 2c 20 25 6c 64 2c 20 30 78 +R 00 00 01 00 +T 21 00 00 00 25 78 2c 20 30 78 25 78 29 20 73 +R 00 00 01 00 +T 2c 00 00 00 74 61 72 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0715_ffc4_xip_5ffind_28_25u_2.rel b/src/nos/lib/messages_lib/0715_ffc4_xip_5ffind_28_25u_2.rel new file mode 100644 index 00000000..755810d0 --- /dev/null +++ b/src/nos/lib/messages_lib/0715_ffc4_xip_5ffind_28_25u_2.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2d flags 0 +S ___0715_ffc4_xip_5ffind_28_25u_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2b 00 78 69 70 5f 66 69 6e 64 28 +R 00 00 01 00 +T 0b 00 00 00 25 75 2c 20 25 75 2c 20 25 64 2c +R 00 00 01 00 +T 16 00 00 00 20 25 64 2c 20 25 75 2c 20 25 75 +R 00 00 01 00 +T 21 00 00 00 29 20 73 74 61 72 74 69 6e 67 0a +R 00 00 01 00 +T 2c 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0716_cb3b_xip_5ffind_28_29_20.rel b/src/nos/lib/messages_lib/0716_cb3b_xip_5ffind_28_29_20.rel new file mode 100644 index 00000000..7151bdcc --- /dev/null +++ b/src/nos/lib/messages_lib/0716_cb3b_xip_5ffind_28_29_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___0716_cb3b_xip_5ffind_28_29_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 78 69 70 5f 66 69 6e 64 28 +R 00 00 01 00 +T 0b 00 00 00 29 20 72 65 74 75 72 6e 69 6e 67 +R 00 00 01 00 +T 16 00 00 00 20 25 75 2c 20 62 69 74 6d 61 70 +R 00 00 01 00 +T 21 00 00 00 20 66 75 6c 6c 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0717_5d23_xip_5ffind_28_29_20.rel b/src/nos/lib/messages_lib/0717_5d23_xip_5ffind_28_29_20.rel new file mode 100644 index 00000000..3e73a082 --- /dev/null +++ b/src/nos/lib/messages_lib/0717_5d23_xip_5ffind_28_29_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___0717_5d23_xip_5ffind_28_29_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 78 69 70 5f 66 69 6e 64 28 +R 00 00 01 00 +T 0b 00 00 00 29 20 72 65 74 75 72 6e 69 6e 67 +R 00 00 01 00 +T 16 00 00 00 20 25 75 2c 20 73 75 63 63 65 73 +R 00 00 01 00 +T 21 00 00 00 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0718_1764_xip_5ffind_28_29_20.rel b/src/nos/lib/messages_lib/0718_1764_xip_5ffind_28_29_20.rel new file mode 100644 index 00000000..03bfc51c --- /dev/null +++ b/src/nos/lib/messages_lib/0718_1764_xip_5ffind_28_29_20.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___0718_1764_xip_5ffind_28_29_20 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 78 69 70 5f 66 69 6e 64 28 +R 00 00 01 00 +T 0b 00 00 00 29 20 72 65 74 75 72 6e 69 6e 67 +R 00 00 01 00 +T 16 00 00 00 20 2d 31 2c 20 69 2f 6f 20 65 72 +R 00 00 01 00 +T 21 00 00 00 72 6f 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0719_0ce2_xip_5fget_28_25u_2c.rel b/src/nos/lib/messages_lib/0719_0ce2_xip_5fget_28_25u_2c.rel new file mode 100644 index 00000000..a4d97008 --- /dev/null +++ b/src/nos/lib/messages_lib/0719_0ce2_xip_5fget_28_25u_2c.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 24 flags 0 +S ___0719_0ce2_xip_5fget_28_25u_2c Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 22 00 78 69 70 5f 67 65 74 28 25 +R 00 00 01 00 +T 0b 00 00 00 75 2c 20 25 75 2c 20 25 75 2c 20 +R 00 00 01 00 +T 16 00 00 00 25 75 29 20 73 74 61 72 74 69 6e +R 00 00 01 00 +T 21 00 00 00 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/071a_db94_xip_5fget_28_29_20r.rel b/src/nos/lib/messages_lib/071a_db94_xip_5fget_28_29_20r.rel new file mode 100644 index 00000000..6b19807f --- /dev/null +++ b/src/nos/lib/messages_lib/071a_db94_xip_5fget_28_29_20r.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___071a_db94_xip_5fget_28_29_20r Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 78 69 70 5f 67 65 74 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 25 64 2c 20 73 75 63 63 65 73 73 +R 00 00 01 00 +T 21 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/071b_de41_xip_5fget_28_29_20r.rel b/src/nos/lib/messages_lib/071b_de41_xip_5fget_28_29_20r.rel new file mode 100644 index 00000000..79394784 --- /dev/null +++ b/src/nos/lib/messages_lib/071b_de41_xip_5fget_28_29_20r.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___071b_de41_xip_5fget_28_29_20r Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 78 69 70 5f 67 65 74 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 2d 31 2c 20 69 2f 6f 20 65 72 72 +R 00 00 01 00 +T 21 00 00 00 6f 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/071c_192a_xip_5fget_28_29_20r.rel b/src/nos/lib/messages_lib/071c_192a_xip_5fget_28_29_20r.rel new file mode 100644 index 00000000..f9aa44ec --- /dev/null +++ b/src/nos/lib/messages_lib/071c_192a_xip_5fget_28_29_20r.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___071c_192a_xip_5fget_28_29_20r Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 78 69 70 5f 67 65 74 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 2d 31 2c 20 6f 75 74 20 6f 66 20 +R 00 00 01 00 +T 21 00 00 00 72 61 6e 67 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/071d_2347_xip_5freserve_28_25.rel b/src/nos/lib/messages_lib/071d_2347_xip_5freserve_28_25.rel new file mode 100644 index 00000000..9f17ac1f --- /dev/null +++ b/src/nos/lib/messages_lib/071d_2347_xip_5freserve_28_25.rel @@ -0,0 +1,18 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 30 flags 0 +S ___071d_2347_xip_5freserve_28_25 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2e 00 78 69 70 5f 72 65 73 65 72 +R 00 00 01 00 +T 0b 00 00 00 76 65 28 25 75 2c 20 25 75 2c 20 +R 00 00 01 00 +T 16 00 00 00 25 64 2c 20 25 64 2c 20 25 75 2c +R 00 00 01 00 +T 21 00 00 00 20 25 75 29 20 73 74 61 72 74 69 +R 00 00 01 00 +T 2c 00 00 00 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/071e_acf4_xip_5freserve_28_29.rel b/src/nos/lib/messages_lib/071e_acf4_xip_5freserve_28_29.rel new file mode 100644 index 00000000..7acd0242 --- /dev/null +++ b/src/nos/lib/messages_lib/071e_acf4_xip_5freserve_28_29.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 29 flags 0 +S ___071e_acf4_xip_5freserve_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 27 00 78 69 70 5f 72 65 73 65 72 +R 00 00 01 00 +T 0b 00 00 00 76 65 28 29 20 72 65 74 75 72 6e +R 00 00 01 00 +T 16 00 00 00 69 6e 67 20 2d 31 2c 20 69 2f 6f +R 00 00 01 00 +T 21 00 00 00 20 65 72 72 6f 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/071f_69a1_xip_5freserve_28_29.rel b/src/nos/lib/messages_lib/071f_69a1_xip_5freserve_28_29.rel new file mode 100644 index 00000000..7e258bde --- /dev/null +++ b/src/nos/lib/messages_lib/071f_69a1_xip_5freserve_28_29.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2c flags 0 +S ___071f_69a1_xip_5freserve_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 2a 00 78 69 70 5f 72 65 73 65 72 +R 00 00 01 00 +T 0b 00 00 00 76 65 28 29 20 72 65 74 75 72 6e +R 00 00 01 00 +T 16 00 00 00 69 6e 67 20 2d 31 2c 20 6f 75 74 +R 00 00 01 00 +T 21 00 00 00 20 6f 66 20 72 61 6e 67 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0720_4bfa_xip_5freserve_28_29.rel b/src/nos/lib/messages_lib/0720_4bfa_xip_5freserve_28_29.rel new file mode 100644 index 00000000..c070f7bf --- /dev/null +++ b/src/nos/lib/messages_lib/0720_4bfa_xip_5freserve_28_29.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___0720_4bfa_xip_5freserve_28_29 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 78 69 70 5f 72 65 73 65 72 +R 00 00 01 00 +T 0b 00 00 00 76 65 28 29 20 72 65 74 75 72 6e +R 00 00 01 00 +T 16 00 00 00 69 6e 67 20 30 2c 20 73 75 63 63 +R 00 00 01 00 +T 21 00 00 00 65 73 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0721_3192_xip_5fsearch_28_25u.rel b/src/nos/lib/messages_lib/0721_3192_xip_5fsearch_28_25u.rel new file mode 100644 index 00000000..9efb865b --- /dev/null +++ b/src/nos/lib/messages_lib/0721_3192_xip_5fsearch_28_25u.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 27 flags 0 +S ___0721_3192_xip_5fsearch_28_25u Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 25 00 78 69 70 5f 73 65 61 72 63 +R 00 00 01 00 +T 0b 00 00 00 68 28 25 75 2c 20 25 64 2c 20 25 +R 00 00 01 00 +T 16 00 00 00 75 2c 20 25 75 29 20 73 74 61 72 +R 00 00 01 00 +T 21 00 00 00 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0722_83fc_xip_5fsearch_28_29_.rel b/src/nos/lib/messages_lib/0722_83fc_xip_5fsearch_28_29_.rel new file mode 100644 index 00000000..b2fa1543 --- /dev/null +++ b/src/nos/lib/messages_lib/0722_83fc_xip_5fsearch_28_29_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 26 flags 0 +S ___0722_83fc_xip_5fsearch_28_29_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 24 00 78 69 70 5f 73 65 61 72 63 +R 00 00 01 00 +T 0b 00 00 00 68 28 29 20 72 65 74 75 72 6e 69 +R 00 00 01 00 +T 16 00 00 00 6e 67 20 25 75 2c 20 73 75 63 63 +R 00 00 01 00 +T 21 00 00 00 65 73 73 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0723_fd61_xip_5fsearch_28_29_.rel b/src/nos/lib/messages_lib/0723_fd61_xip_5fsearch_28_29_.rel new file mode 100644 index 00000000..dfb73fbc --- /dev/null +++ b/src/nos/lib/messages_lib/0723_fd61_xip_5fsearch_28_29_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2a flags 0 +S ___0723_fd61_xip_5fsearch_28_29_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 28 00 78 69 70 5f 73 65 61 72 63 +R 00 00 01 00 +T 0b 00 00 00 68 28 29 20 72 65 74 75 72 6e 69 +R 00 00 01 00 +T 16 00 00 00 6e 67 20 2d 31 2c 20 62 69 74 6d +R 00 00 01 00 +T 21 00 00 00 61 70 20 66 75 6c 6c 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0724_f464_xip_5fsearch_28_29_.rel b/src/nos/lib/messages_lib/0724_f464_xip_5fsearch_28_29_.rel new file mode 100644 index 00000000..84bd3799 --- /dev/null +++ b/src/nos/lib/messages_lib/0724_f464_xip_5fsearch_28_29_.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___0724_f464_xip_5fsearch_28_29_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 78 69 70 5f 73 65 61 72 63 +R 00 00 01 00 +T 0b 00 00 00 68 28 29 20 72 65 74 75 72 6e 69 +R 00 00 01 00 +T 16 00 00 00 6e 67 20 2d 31 2c 20 69 2f 6f 20 +R 00 00 01 00 +T 21 00 00 00 65 72 72 6f 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0725_ef25_xip_5fset_28_25u_2c.rel b/src/nos/lib/messages_lib/0725_ef25_xip_5fset_28_25u_2c.rel new file mode 100644 index 00000000..2f0d5fa0 --- /dev/null +++ b/src/nos/lib/messages_lib/0725_ef25_xip_5fset_28_25u_2c.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___0725_ef25_xip_5fset_28_25u_2c Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 78 69 70 5f 73 65 74 28 25 +R 00 00 01 00 +T 0b 00 00 00 75 2c 20 25 75 2c 20 25 64 2c 20 +R 00 00 01 00 +T 16 00 00 00 25 75 2c 20 25 75 29 20 73 74 61 +R 00 00 01 00 +T 21 00 00 00 72 74 69 6e 67 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0726_7af3_xip_5fset_28_29_20r.rel b/src/nos/lib/messages_lib/0726_7af3_xip_5fset_28_29_20r.rel new file mode 100644 index 00000000..7af289f9 --- /dev/null +++ b/src/nos/lib/messages_lib/0726_7af3_xip_5fset_28_29_20r.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___0726_7af3_xip_5fset_28_29_20r Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 78 69 70 5f 73 65 74 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 25 64 2c 20 73 75 63 63 65 73 73 +R 00 00 01 00 +T 21 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0727_429f_xip_5fset_28_29_20r.rel b/src/nos/lib/messages_lib/0727_429f_xip_5fset_28_29_20r.rel new file mode 100644 index 00000000..e1080d9c --- /dev/null +++ b/src/nos/lib/messages_lib/0727_429f_xip_5fset_28_29_20r.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 25 flags 0 +S ___0727_429f_xip_5fset_28_29_20r Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 23 00 78 69 70 5f 73 65 74 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 2d 31 2c 20 69 2f 6f 20 65 72 72 +R 00 00 01 00 +T 21 00 00 00 6f 72 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0728_36c3_xip_5fset_28_29_20r.rel b/src/nos/lib/messages_lib/0728_36c3_xip_5fset_28_29_20r.rel new file mode 100644 index 00000000..3ab236d5 --- /dev/null +++ b/src/nos/lib/messages_lib/0728_36c3_xip_5fset_28_29_20r.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 28 flags 0 +S ___0728_36c3_xip_5fset_28_29_20r Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 26 00 78 69 70 5f 73 65 74 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 2d 31 2c 20 6f 75 74 20 6f 66 20 +R 00 00 01 00 +T 21 00 00 00 72 61 6e 67 65 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0729_3cda_xip_5fualign_28_29_.rel b/src/nos/lib/messages_lib/0729_3cda_xip_5fualign_28_29_.rel new file mode 100644 index 00000000..19c38782 --- /dev/null +++ b/src/nos/lib/messages_lib/0729_3cda_xip_5fualign_28_29_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___0729_3cda_xip_5fualign_28_29_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 78 69 70 5f 75 61 6c 69 67 +R 00 00 01 00 +T 0b 00 00 00 6e 28 29 20 72 65 74 75 72 6e 69 +R 00 00 01 00 +T 16 00 00 00 6e 67 20 2d 31 20 61 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/072a_16b2_xip_5fualign_28_29_.rel b/src/nos/lib/messages_lib/072a_16b2_xip_5fualign_28_29_.rel new file mode 100644 index 00000000..161abc68 --- /dev/null +++ b/src/nos/lib/messages_lib/072a_16b2_xip_5fualign_28_29_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___072a_16b2_xip_5fualign_28_29_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 78 69 70 5f 75 61 6c 69 67 +R 00 00 01 00 +T 0b 00 00 00 6e 28 29 20 72 65 74 75 72 6e 69 +R 00 00 01 00 +T 16 00 00 00 6e 67 20 2d 31 20 62 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/072b_71d2_xip_5fualign_28_29_.rel b/src/nos/lib/messages_lib/072b_71d2_xip_5fualign_28_29_.rel new file mode 100644 index 00000000..dd4ac27b --- /dev/null +++ b/src/nos/lib/messages_lib/072b_71d2_xip_5fualign_28_29_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1f flags 0 +S ___072b_71d2_xip_5fualign_28_29_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1d 00 78 69 70 5f 75 61 6c 69 67 +R 00 00 01 00 +T 0b 00 00 00 6e 28 29 20 72 65 74 75 72 6e 69 +R 00 00 01 00 +T 16 00 00 00 6e 67 20 2d 31 20 66 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/072c_c58e_xip_5fualign_28_29_.rel b/src/nos/lib/messages_lib/072c_c58e_xip_5fualign_28_29_.rel new file mode 100644 index 00000000..b91f1566 --- /dev/null +++ b/src/nos/lib/messages_lib/072c_c58e_xip_5fualign_28_29_.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 1c flags 0 +S ___072c_c58e_xip_5fualign_28_29_ Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 1a 00 78 69 70 5f 75 61 6c 69 67 +R 00 00 01 00 +T 0b 00 00 00 6e 28 29 20 72 65 74 75 72 6e 69 +R 00 00 01 00 +T 16 00 00 00 6e 67 20 30 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/072d_3a65_xip_5fualign_280x_2.rel b/src/nos/lib/messages_lib/072d_3a65_xip_5fualign_280x_2.rel new file mode 100644 index 00000000..b00b7070 --- /dev/null +++ b/src/nos/lib/messages_lib/072d_3a65_xip_5fualign_280x_2.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 22 flags 0 +S ___072d_3a65_xip_5fualign_280x_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 20 00 78 69 70 5f 75 61 6c 69 67 +R 00 00 01 00 +T 0b 00 00 00 6e 28 30 78 25 78 2c 20 25 6c 64 +R 00 00 01 00 +T 16 00 00 00 29 20 73 74 61 72 74 69 6e 67 0a +R 00 00 01 00 +T 21 00 00 00 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/072e_2295_xmd5.rel b/src/nos/lib/messages_lib/072e_2295_xmd5.rel new file mode 100644 index 00000000..71fd76b4 --- /dev/null +++ b/src/nos/lib/messages_lib/072e_2295_xmd5.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___072e_2295_xmd5 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 78 6d 64 35 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/072f_e251_xmkd.rel b/src/nos/lib/messages_lib/072f_e251_xmkd.rel new file mode 100644 index 00000000..281769cd --- /dev/null +++ b/src/nos/lib/messages_lib/072f_e251_xmkd.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___072f_e251_xmkd Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 78 6d 6b 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0730_a48a_xpwd.rel b/src/nos/lib/messages_lib/0730_a48a_xpwd.rel new file mode 100644 index 00000000..f223a04a --- /dev/null +++ b/src/nos/lib/messages_lib/0730_a48a_xpwd.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0730_a48a_xpwd Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 78 70 77 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0731_79d3_xrmd.rel b/src/nos/lib/messages_lib/0731_79d3_xrmd.rel new file mode 100644 index 00000000..4911ecaf --- /dev/null +++ b/src/nos/lib/messages_lib/0731_79d3_xrmd.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 7 flags 0 +S ___0731_79d3_xrmd Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 05 00 78 72 6d 64 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0732_c59b_zap.rel b/src/nos/lib/messages_lib/0732_c59b_zap.rel new file mode 100644 index 00000000..f29c6417 --- /dev/null +++ b/src/nos/lib/messages_lib/0732_c59b_zap.rel @@ -0,0 +1,10 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 6 flags 0 +S ___0732_c59b_zap Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 04 00 7a 61 70 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0733_4749_zerobuf_28_25u_29_2.rel b/src/nos/lib/messages_lib/0733_4749_zerobuf_28_25u_29_2.rel new file mode 100644 index 00000000..a5e783f3 --- /dev/null +++ b/src/nos/lib/messages_lib/0733_4749_zerobuf_28_25u_29_2.rel @@ -0,0 +1,14 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 18 flags 0 +S ___0733_4749_zerobuf_28_25u_29_2 Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 16 00 7a 65 72 6f 62 75 66 28 25 +R 00 00 01 00 +T 0b 00 00 00 75 29 20 73 74 61 72 74 69 6e 67 +R 00 00 01 00 +T 16 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0734_ba0e_zerobuf_28_29_20ret.rel b/src/nos/lib/messages_lib/0734_ba0e_zerobuf_28_29_20ret.rel new file mode 100644 index 00000000..17877ae4 --- /dev/null +++ b/src/nos/lib/messages_lib/0734_ba0e_zerobuf_28_29_20ret.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 23 flags 0 +S ___0734_ba0e_zerobuf_28_29_20ret Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 21 00 7a 65 72 6f 62 75 66 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 30 78 25 78 2c 20 66 6f 75 6e 64 +R 00 00 01 00 +T 21 00 00 00 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/messages_lib/0735_1fe8_zerobuf_28_29_20ret.rel b/src/nos/lib/messages_lib/0735_1fe8_zerobuf_28_29_20ret.rel new file mode 100644 index 00000000..fb11c281 --- /dev/null +++ b/src/nos/lib/messages_lib/0735_1fe8_zerobuf_28_29_20ret.rel @@ -0,0 +1,16 @@ +XL4 +H 2 areas 2 global symbols +S .__.ABS. Def00000000 +A _DEFAULT size 0 flags 0 +A CODE size 27 flags 0 +S ___0735_1fe8_zerobuf_28_29_20ret Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 25 00 7a 65 72 6f 62 75 66 28 29 +R 00 00 01 00 +T 0b 00 00 00 20 72 65 74 75 72 6e 69 6e 67 20 +R 00 00 01 00 +T 16 00 00 00 4e 55 4c 4c 2c 20 6e 6f 74 20 66 +R 00 00 01 00 +T 21 00 00 00 6f 75 6e 64 0a 00 +R 00 00 01 00 diff --git a/src/nos/lib/net.lib b/src/nos/lib/net.lib index f6898e63..dc188a14 100644 --- a/src/nos/lib/net.lib +++ b/src/nos/lib/net.lib @@ -145,6 +145,7 @@ net_lib/kernel.rel _newproc _Waittab _Ksig + _Curptab _Kdebug _Curproc _Susptab diff --git a/src/nos/lib/net_lib/Ifcmds.rel b/src/nos/lib/net_lib/Ifcmds.rel index b34e4b9d..5339d507 100644 --- a/src/nos/lib/net_lib/Ifcmds.rel +++ b/src/nos/lib/net_lib/Ifcmds.rel @@ -1,25 +1,25 @@ XL4 H 4 areas 15 global symbols -S ___0435_f951_broadcast Ref00000000 -S ___04d4_0191_ipaddress Ref00000000 +S ___05db_708f_mtu Ref00000000 S _ifipaddr Ref00000000 S _ifforw Ref00000000 +S ___06d7_e58b_txqlen Ref00000000 +S ___0581_0191_ipaddress Ref00000000 +S ___0547_8227_forward Ref00000000 S _ifencap Ref00000000 S _ifbroad Ref00000000 -S ___059e_b4d7_rxbuf Ref00000000 +S ___05e1_b07d_netmask Ref00000000 +S ___04cc_f951_broadcast Ref00000000 S .__.ABS. Def00000000 -S ___0512_708f_mtu Ref00000000 -S ___04de_dfe4_linkaddress Ref00000000 S _ifnetmsk Ref00000000 S _ifmtu Ref00000000 -S ___048a_48fd_encapsulation Ref00000000 -S ___0518_b07d_netmask Ref00000000 +S ___0678_b4d7_rxbuf Ref00000000 +S ___05a1_dfe4_linkaddress Ref00000000 S _iftxqlen Ref00000000 S _iflinkadr Ref00000000 +S ___0525_48fd_encapsulation Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _ifrxbuf Ref00000000 -S ___05fa_e58b_txqlen Ref00000000 -S ___04a4_8227_forward Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 A IDATA0 size 82 flags 0 @@ -30,31 +30,31 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 00 00 4A 08 05 00 +R 00 00 03 00 4A 04 09 00 4A 08 07 00 T 08 00 00 00 02 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 0C 00 +R 00 00 03 00 4A 09 11 00 T 10 00 00 00 00 00 00 00 00 00 02 00 00 00 00 -R 00 00 03 00 4A 04 04 00 +R 00 00 03 00 4A 04 06 00 T 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 13 00 4A 08 03 00 +R 00 00 03 00 4A 04 05 00 4A 08 02 00 T 22 00 00 00 02 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 01 00 +R 00 00 03 00 4A 09 04 00 T 2A 00 00 00 00 00 00 00 00 00 02 00 00 00 00 -R 00 00 03 00 4A 04 02 00 +R 00 00 03 00 4A 04 01 00 T 34 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 09 00 4A 08 0F 00 +R 00 00 03 00 4A 04 0E 00 4A 08 10 00 T 3C 00 00 00 02 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 08 00 +R 00 00 03 00 4A 09 00 00 T 44 00 00 00 00 00 00 00 00 00 02 00 00 00 00 -R 00 00 03 00 4A 04 0B 00 +R 00 00 03 00 4A 04 0C 00 T 4E 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 0D 00 4A 08 0A 00 +R 00 00 03 00 4A 04 08 00 4A 08 0B 00 T 56 00 00 00 02 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 12 00 +R 00 00 03 00 4A 09 03 00 T 5E 00 00 00 00 00 00 00 00 00 02 00 00 00 00 -R 00 00 03 00 4A 04 0E 00 +R 00 00 03 00 4A 04 0F 00 T 68 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 06 00 4A 08 11 00 +R 00 00 03 00 4A 04 0D 00 4A 08 13 00 T 70 00 00 00 02 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 T 7B 00 00 00 00 00 00 00 00 00 00 diff --git a/src/nos/lib/net_lib/_fcreat.rel b/src/nos/lib/net_lib/_fcreat.rel index da3c9bcf..149af720 100644 --- a/src/nos/lib/net_lib/_fcreat.rel +++ b/src/nos/lib/net_lib/_fcreat.rel @@ -1,11 +1,11 @@ XL4 H 2 areas A global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___03f6_a314__5ffcreat_3a_20WARN Ref00000000 S __Files Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __dprintf Ref00000000 S .__.ABS. Def00000000 +S ___0489_a314__5ffcreat_3a_20WARN Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _calloc Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 @@ -25,11 +25,11 @@ R 00 00 01 00 T 1D 00 00 00 R 00 00 01 00 T 1D 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 T 23 00 00 00 E5 21 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 04 00 +R 00 00 01 00 2B 0A 03 00 T 2B 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 04 00 02 09 00 00 +R 00 00 01 00 02 04 03 00 02 09 00 00 T 32 00 00 00 F1 21 00 00 18 57 R 00 00 01 00 T 38 00 00 00 @@ -41,9 +41,9 @@ R 00 00 01 00 T 4E 00 00 00 36 00 21 06 00 DD 4E FE DD 46 FF R 00 00 01 00 T 59 00 00 00 09 ED 5B 00 00 00 00 73 23 72 ED -R 00 00 01 00 02 07 02 00 +R 00 00 01 00 02 07 01 00 T 62 00 00 00 43 00 00 00 00 21 06 00 DD 4E FE -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 6B 00 00 00 DD 46 FF 09 7E 23 B6 28 15 R 00 00 01 00 T 74 00 00 00 @@ -59,4 +59,4 @@ R 00 00 01 00 T 8F 00 00 00 R 00 00 01 00 T 8F 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/net_lib/_fillbuf.rel b/src/nos/lib/net_lib/_fillbuf.rel index 2e802b93..bd035bbb 100644 --- a/src/nos/lib/net_lib/_fillbuf.rel +++ b/src/nos/lib/net_lib/_fillbuf.rel @@ -91,7 +91,7 @@ T D1 00 00 00 23 B6 20 2E R 00 00 01 00 T D5 00 00 00 R 00 00 01 00 -T D5 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T D5 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 05 00 T DE 00 00 00 21 14 00 DD 4E 02 DD 46 03 09 EB R 00 00 01 00 @@ -129,7 +129,7 @@ T 3C 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 0E 00 02 09 01 00 T 43 01 00 00 F1 4D 44 21 00 00 CD 00 00 00 00 R 00 00 01 00 02 0B 09 00 -T 4C 01 00 00 38 22 21 4D 00 ED 4B 00 00 00 00 +T 4C 01 00 00 38 22 21 4F 00 ED 4B 00 00 00 00 R 00 00 01 00 02 0B 05 00 T 55 01 00 00 09 3E 6A AE 23 B6 28 13 R 00 00 01 00 diff --git a/src/nos/lib/net_lib/accept.rel b/src/nos/lib/net_lib/accept.rel index 3cf258c1..57c0b668 100644 --- a/src/nos/lib/net_lib/accept.rel +++ b/src/nos/lib/net_lib/accept.rel @@ -25,7 +25,7 @@ T 15 00 00 00 FC DD 74 FD 7D B4 20 13 R 00 00 01 00 T 1D 00 00 00 R 00 00 01 00 -T 1D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 1D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 26 00 00 00 09 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -39,7 +39,7 @@ T 3B 00 00 00 23 B6 20 13 R 00 00 01 00 T 3F 00 00 00 R 00 00 01 00 -T 3F 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 3F 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 48 00 00 00 69 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -55,7 +55,7 @@ T 67 00 00 00 0E 00 09 7E 23 B6 20 13 R 00 00 01 00 T 6F 00 00 00 R 00 00 01 00 -T 6F 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 6F 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 78 00 00 00 69 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -83,7 +83,7 @@ T AC 00 00 00 B7 28 13 R 00 00 01 00 T AF 00 00 00 R 00 00 01 00 -T AF 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T AF 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T B8 00 00 00 64 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -91,7 +91,7 @@ T C0 00 00 00 B5 01 00 00 R 00 00 01 00 00 04 01 00 T C2 00 00 00 R 00 00 01 00 -T C2 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T C2 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 03 00 T CB 00 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 R 00 00 01 00 2B 0B 05 00 @@ -115,7 +115,7 @@ T F6 00 00 00 23 B6 20 13 R 00 00 01 00 T FA 00 00 00 R 00 00 01 00 -T FA 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T FA 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 03 01 00 00 09 23 36 00 21 FF FF C3 R 00 00 01 00 diff --git a/src/nos/lib/net_lib/alloc.rel b/src/nos/lib/net_lib/alloc.rel index 32a0e4fc..c20a0970 100644 --- a/src/nos/lib/net_lib/alloc.rel +++ b/src/nos/lib/net_lib/alloc.rel @@ -1,74 +1,73 @@ XL4 -H 6 areas 46 global symbols -S ___02dd_d814_N_3e_3d_255u_3a_257 Ref00000000 +H 6 areas 45 global symbols +S ___0107_426e__20_7c_20 Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?L_DEC_L03 Ref00000000 S _restore Ref00000000 S ?S_S_SWITCH_L06 Ref00000000 S _logmsg Ref00000000 -S ___0022_a0dd__0a Ref00000000 S _istate Ref00000000 +S ___0023_a0dd__0a Ref00000000 S _memset Ref00000000 S _memcpy Ref00000000 +S ___02c0_8dc1_Free_20memory_20thr Ref00000000 S _ppause Ref00000000 -S ___04ac_f896_freelist Ref00000000 +S ___02cb_32e9_Heap_20debugging Ref00000000 S ?L_INC_L03 Ref00000000 -S ___0464_62a8_debug Ref00000000 S _printf Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___027d_8dc1_Free_20memory_20thr Ref00000000 S _abyte Ref00000000 +S ___049a_9965_allocs_20_25lu_20fr Ref00000000 S _mbufsizes Ref00000000 +S ___0152_1c93__25p_20_256lu Ref00000000 S ?LEAVE_DIRECT_L09 Ref00000000 -S ___0137_1c93__25p_20_256lu Ref00000000 S ?L_ADDASG_L03 Ref00000000 -S ___04bf_5bc8_heap_20size_20_25lu Ref00000000 S _ilog2 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S ?L_LSH_L03 Ref00000000 S _kwait Ref00000000 S _stktrace Ref00000000 -S ___04a6_9a2a_free_3a_20WARNING_2 Ref00000000 -S ___0405_9965_allocs_20_25lu_20fr Ref00000000 S _dirps Ref00000000 -S ___00ee_426e__20_7c_20 Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ___05b3_f163_sizes Ref00000000 S ?S_LSH_L02 Ref00000000 S ?L_MUL_L03 Ref00000000 S _mbufstat Ref00000000 -S ___04b5_51ba_garbage_20collectio Ref00000000 +S ___054f_f896_freelist Ref00000000 +S ___0349_d814_N_3e_3d_255u_3a_257 Ref00000000 S _ksignal Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?S_MUL_L02 Ref00000000 +S ___056a_5bc8_heap_20size_20_25lu Ref00000000 S ?L_INCASG_L03 Ref00000000 S _Memthresh Ref00000000 S _Gcollect Ref00000000 S ?SL_DIV_L03 Ref00000000 +S ___068f_f163_sizes Ref00000000 S ?UL_DIV_L03 Ref00000000 +S ___06a6_5069_status Ref00000000 +S ___04fc_62a8_debug Ref00000000 S _sbrk Ref00000000 S __printf Ref00000000 -S ?US_MOD_L02 Ref00000000 -S ___05c9_5069_status Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _dprintf Ref00000000 S _setbool Ref00000000 +S ___0560_51ba_garbage_20collectio Ref00000000 +S ___0549_9a2a_free_3a_20WARNING_2 Ref00000000 +S ___06c5_4c6f_thresh Ref00000000 S _setlong Ref00000000 -S ___0288_32e9_Heap_20debugging Ref00000000 S ?L_SUBASG_L03 Ref00000000 S _subcmd Ref00000000 -S ___05e8_4c6f_thresh Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size C2B flags 0 -S _availmem Def000007BC -S _gcollect Def00000B50 -S _domem Def00000ACD -S _realloc Def000005D3 -S _free Def00000305 -S _callocw Def0000074A -S _calloc Def0000065A -S _mallocw Def000006D5 +A CODE size C0D flags 0 +S _availmem Def000007C6 +S _gcollect Def00000B5A +S _domem Def00000AD7 +S _realloc Def000005DD +S _free Def0000030F +S _callocw Def00000754 +S _calloc Def00000664 +S _mallocw Def000006DF S _malloc Def00000000 A CSTR size 107 flags 0 A UDATA0 size 6C flags 0 @@ -79,15 +78,15 @@ A CDATA0 size 50 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F6 FF DD 6E 02 DD -R 00 00 01 00 02 05 28 00 +R 00 00 01 00 02 05 24 00 T 09 00 00 00 66 03 E5 DD 6E 08 DD 66 09 E5 DD R 00 00 01 00 T 14 00 00 00 6E 06 DD 66 07 E5 21 00 00 00 00 R 00 00 01 00 00 0B 02 00 T 1D 00 00 00 E5 21 01 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 34 00 +R 00 00 01 00 2B 0A 32 00 T 25 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 34 00 02 09 01 00 +R 00 00 01 00 02 04 32 00 02 09 01 00 T 2C 00 00 00 F1 F1 F1 DD 7E 02 DD B6 03 20 18 R 00 00 01 00 T 37 00 00 00 @@ -95,17 +94,17 @@ R 00 00 01 00 T 37 00 00 00 21 1B 00 00 00 E5 21 01 00 E5 3E R 00 00 01 00 00 05 02 00 T 40 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 34 00 02 09 34 00 +R 00 00 01 00 2B 04 32 00 02 09 32 00 T 45 00 00 00 00 00 00 00 F1 F1 21 00 00 C3 R 00 00 01 00 02 04 01 00 -T 4D 00 00 00 2A 02 00 00 +T 4D 00 00 00 34 02 00 00 R 00 00 01 00 00 04 01 00 T 4F 00 00 00 R 00 00 01 00 T 4F 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 17 00 +R 00 00 01 00 2B 0B 16 00 T 57 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 17 00 02 0A 01 00 +R 00 00 01 00 02 05 16 00 02 0A 01 00 T 5E 00 00 00 75 F6 DD 74 F7 CB 7C 20 0F R 00 00 01 00 T 67 00 00 00 @@ -113,7 +112,7 @@ R 00 00 01 00 T 67 00 00 00 DD 6E F6 DD 66 F7 29 29 01 R 00 00 01 00 T 70 00 00 00 24 00 00 00 09 CD 00 00 00 00 -R 00 00 01 00 00 04 03 00 02 0A 2A 00 +R 00 00 01 00 00 04 03 00 02 0A 27 00 T 76 00 00 00 R 00 00 01 00 T 76 00 00 00 DD 6E 02 DD 66 03 23 23 23 CB 3C @@ -121,9 +120,9 @@ R 00 00 01 00 T 81 00 00 00 CB 1D CB 3C CB 1D 23 DD 75 FE DD R 00 00 01 00 T 8C 00 00 00 74 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 1F 00 +R 00 00 01 00 2B 07 1C 00 T 91 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 1F 00 02 09 01 00 +R 00 00 01 00 02 04 1C 00 02 09 01 00 T 98 00 00 00 F8 DD 74 F9 2A 4E 00 00 00 DD 75 R 00 00 01 00 00 09 04 00 T A1 00 00 00 FC DD 74 FD 7D B4 20 17 @@ -199,20 +198,20 @@ R 00 00 01 00 T 87 01 00 00 2A 04 00 00 00 ED 4B 06 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 T 8E 01 00 00 CD 00 00 00 00 22 04 00 00 00 ED -R 00 00 01 00 02 05 0C 00 00 0A 03 00 -T 95 01 00 00 43 06 00 00 00 18 62 +R 00 00 01 00 02 05 0D 00 00 0A 03 00 +T 95 01 00 00 43 06 00 00 00 18 6C R 00 00 01 00 00 05 03 00 T 9A 01 00 00 R 00 00 01 00 T 9A 01 00 00 2A 4E 00 00 00 DD 4E FA DD 46 FB R 00 00 01 00 00 05 04 00 -T A3 01 00 00 A7 ED 42 20 35 DD 7E F8 DD B6 F9 +T A3 01 00 00 A7 ED 42 20 3F DD 7E F8 DD B6 F9 R 00 00 01 00 T AE 01 00 00 28 13 DD 5E FE DD 56 FF CD R 00 00 01 00 -T B7 01 00 00 2D 02 00 00 DD 75 FA DD 74 FB 7D +T B7 01 00 00 37 02 00 00 DD 75 FA DD 74 FB 7D R 00 00 01 00 00 04 01 00 -T C0 01 00 00 B4 20 1A +T C0 01 00 00 B4 20 24 R 00 00 01 00 T C3 01 00 00 R 00 00 01 00 @@ -229,904 +228,894 @@ R 00 00 01 00 T CB 01 00 00 00 00 00 00 ED 4B 02 00 00 00 CD R 00 00 01 00 00 04 03 00 00 0A 03 00 T D2 01 00 00 00 00 00 00 22 00 00 00 00 ED 43 -R 00 00 01 00 02 04 0C 00 00 09 03 00 -T D9 01 00 00 02 00 00 00 18 1F -R 00 00 01 00 00 04 03 00 -T DD 01 00 00 +R 00 00 01 00 02 04 0D 00 00 09 03 00 +T D9 01 00 00 02 00 00 00 1E 60 3E 00 00 00 00 +R 00 00 01 00 00 04 03 00 2B 0B 10 00 +T DF 01 00 00 21 00 00 00 00 CD 00 00 00 00 18 +R 00 00 01 00 02 05 10 00 02 0A 01 00 +T E6 01 00 00 1F +R 00 00 01 00 +T E7 01 00 00 R 00 00 01 00 -T DD 01 00 00 DD 6E FA DD 66 FB DD 75 FC DD 74 +T E7 01 00 00 DD 6E FA DD 66 FB DD 75 FC DD 74 R 00 00 01 00 -T E8 01 00 00 FD DD 6E FA DD 66 FB 46 23 66 68 +T F2 01 00 00 FD DD 6E FA DD 66 FB 46 23 66 68 R 00 00 01 00 -T F3 01 00 00 DD 75 FA DD 74 FB C3 D0 00 00 00 +T FD 01 00 00 DD 75 FA DD 74 FB C3 D0 00 00 00 R 00 00 01 00 00 0B 01 00 -T FC 01 00 00 +T 06 02 00 00 R 00 00 01 00 -T FC 01 00 00 DD 5E F8 DD 56 F9 3E 00 00 00 00 +T 06 02 00 00 DD 5E F8 DD 56 F9 3E 00 00 00 00 R 00 00 01 00 2B 0B 03 00 -T 04 02 00 00 21 00 00 00 00 CD 00 00 00 00 DD +T 0E 02 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 03 00 02 0A 01 00 -T 0B 02 00 00 6E FA DD 66 FB E5 21 22 00 00 00 +T 15 02 00 00 6E FA DD 66 FB E5 21 22 00 00 00 R 00 00 01 00 00 0B 02 00 -T 14 02 00 00 E5 21 01 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 34 00 -T 1C 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 34 00 02 09 01 00 -T 23 02 00 00 F1 DD 6E FA DD 66 FB +T 1E 02 00 00 E5 21 01 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 32 00 +T 26 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 32 00 02 09 01 00 +T 2D 02 00 00 F1 DD 6E FA DD 66 FB R 00 00 01 00 -T 2A 02 00 00 +T 34 02 00 00 R 00 00 01 00 -T 2A 02 00 00 C3 00 00 00 00 +T 34 02 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 0F 00 -T 2D 02 00 00 +T 37 02 00 00 R 00 00 01 00 -T 2D 02 00 00 CD 00 00 00 00 F4 FF DD 6E 02 DD -R 00 00 01 00 02 05 28 00 -T 36 02 00 00 66 03 E5 DD 6E 08 DD 66 09 E5 DD +T 37 02 00 00 CD 00 00 00 00 F4 FF DD 6E 02 DD +R 00 00 01 00 02 05 24 00 +T 40 02 00 00 66 03 E5 DD 6E 08 DD 66 09 E5 DD R 00 00 01 00 -T 41 02 00 00 6E 06 DD 66 07 E5 21 2C 00 00 00 +T 4B 02 00 00 6E 06 DD 66 07 E5 21 2C 00 00 00 R 00 00 01 00 00 0B 02 00 -T 4A 02 00 00 E5 21 01 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 34 00 -T 52 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 34 00 02 09 01 00 -T 59 02 00 00 F1 F1 F1 2A 1E 00 00 00 ED 4B +T 54 02 00 00 E5 21 01 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 32 00 +T 5C 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 32 00 02 09 01 00 +T 63 02 00 00 F1 F1 F1 2A 1E 00 00 00 ED 4B R 00 00 01 00 00 08 03 00 -T 61 02 00 00 20 00 00 00 CD 00 00 00 00 22 -R 00 00 01 00 00 04 03 00 02 09 0C 00 -T 67 02 00 00 1E 00 00 00 ED 43 20 00 00 00 DD +T 6B 02 00 00 20 00 00 00 CD 00 00 00 00 22 +R 00 00 01 00 00 04 03 00 02 09 0D 00 +T 71 02 00 00 1E 00 00 00 ED 43 20 00 00 00 DD R 00 00 01 00 00 04 03 00 00 0A 03 00 -T 6E 02 00 00 6E 02 DD 66 03 29 29 DD 75 F8 DD +T 78 02 00 00 6E 02 DD 66 03 29 29 DD 75 F8 DD R 00 00 01 00 -T 79 02 00 00 74 F9 EB 3E 00 00 00 00 21 +T 83 02 00 00 74 F9 EB 3E 00 00 00 00 21 R 00 00 01 00 2B 08 2F 00 -T 7F 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +T 89 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 2F 00 02 09 01 00 -T 86 02 00 00 F4 DD 74 F5 7D A4 3C 28 5E +T 90 02 00 00 F4 DD 74 F5 7D A4 3C 28 5E R 00 00 01 00 -T 8F 02 00 00 +T 99 02 00 00 R 00 00 01 00 -T 8F 02 00 00 DD 6E F4 DD 66 F5 DD 75 F6 DD 74 +T 99 02 00 00 DD 6E F4 DD 66 F5 DD 75 F6 DD 74 R 00 00 01 00 -T 9A 02 00 00 F7 23 23 DD 4E 02 DD 46 03 71 23 +T A4 02 00 00 F7 23 23 DD 4E 02 DD 46 03 71 23 R 00 00 01 00 -T A5 02 00 00 70 DD 6E F6 DD 66 F7 E5 4D 44 69 +T AF 02 00 00 70 DD 6E F6 DD 66 F7 E5 4D 44 69 R 00 00 01 00 -T B0 02 00 00 60 C1 71 23 70 21 04 00 DD 4E F6 +T BA 02 00 00 60 C1 71 23 70 21 04 00 DD 4E F6 R 00 00 01 00 -T BB 02 00 00 DD 46 F7 09 EB 3E 05 03 00 00 21 +T C5 02 00 00 DD 46 F7 09 EB 3E 0F 03 00 00 21 R 00 00 01 00 29 0A 01 00 -T C3 02 00 00 05 03 00 00 CD 00 00 00 00 21 +T CD 02 00 00 0F 03 00 00 CD 00 00 00 00 21 R 00 00 01 00 00 04 01 00 02 09 01 00 -T C9 02 00 00 68 00 00 00 DD 5E F8 DD 56 F9 01 +T D3 02 00 00 68 00 00 00 DD 5E F8 DD 56 F9 01 R 00 00 01 00 00 04 03 00 -T D2 02 00 00 00 00 CD 00 00 00 00 2A +T DC 02 00 00 00 00 CD 00 00 00 00 2A R 00 00 01 00 02 07 15 00 -T D8 02 00 00 08 00 00 00 ED 4B 0A 00 00 00 CD +T E2 02 00 00 08 00 00 00 ED 4B 0A 00 00 00 CD R 00 00 01 00 00 04 03 00 00 0A 03 00 -T DF 02 00 00 00 00 00 00 22 08 00 00 00 ED 43 +T E9 02 00 00 00 00 00 00 22 08 00 00 00 ED 43 R 00 00 01 00 02 04 02 00 00 09 03 00 -T E6 02 00 00 0A 00 00 00 2A 4E 00 00 00 18 15 +T F0 02 00 00 0A 00 00 00 2A 4E 00 00 00 18 15 R 00 00 01 00 00 04 03 00 00 09 04 00 -T ED 02 00 00 +T F7 02 00 00 R 00 00 01 00 -T ED 02 00 00 21 49 00 00 00 E5 21 01 00 E5 3E +T F7 02 00 00 21 49 00 00 00 E5 21 01 00 E5 3E R 00 00 01 00 00 05 02 00 -T F6 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 34 00 02 09 34 00 -T FB 02 00 00 00 00 00 00 F1 F1 21 00 00 +T 00 03 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 32 00 02 09 32 00 +T 05 03 00 00 00 00 00 00 F1 F1 21 00 00 R 00 00 01 00 02 04 01 00 -T 02 03 00 00 +T 0C 03 00 00 R 00 00 01 00 -T 02 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 13 00 -T 05 03 00 00 +T 0C 03 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 14 00 +T 0F 03 00 00 R 00 00 01 00 -T 05 03 00 00 CD 00 00 00 00 F6 FF DD 6E 02 DD -R 00 00 01 00 02 05 28 00 -T 0E 03 00 00 66 03 E5 DD 6E 08 DD 66 09 E5 DD +T 0F 03 00 00 CD 00 00 00 00 F6 FF DD 6E 02 DD +R 00 00 01 00 02 05 24 00 +T 18 03 00 00 66 03 E5 DD 6E 08 DD 66 09 E5 DD R 00 00 01 00 -T 19 03 00 00 6E 06 DD 66 07 E5 21 51 00 00 00 +T 23 03 00 00 6E 06 DD 66 07 E5 21 51 00 00 00 R 00 00 01 00 00 0B 02 00 -T 22 03 00 00 E5 21 01 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 34 00 -T 2A 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 34 00 02 09 01 00 -T 31 03 00 00 F1 F1 F1 DD 7E 02 DD B6 03 20 15 +T 2C 03 00 00 E5 21 01 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 32 00 +T 34 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 32 00 02 09 01 00 +T 3B 03 00 00 F1 F1 F1 DD 7E 02 DD B6 03 20 15 R 00 00 01 00 -T 3C 03 00 00 +T 46 03 00 00 R 00 00 01 00 -T 3C 03 00 00 21 1B 00 00 00 E5 21 01 00 E5 3E +T 46 03 00 00 21 1B 00 00 00 E5 21 01 00 E5 3E R 00 00 01 00 00 05 02 00 -T 45 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 34 00 02 09 34 00 -T 4A 03 00 00 00 00 00 00 F1 F1 C3 D0 05 00 00 +T 4F 03 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 32 00 02 09 32 00 +T 54 03 00 00 00 00 00 00 F1 F1 C3 DA 05 00 00 R 00 00 01 00 02 04 01 00 00 0B 01 00 -T 51 03 00 00 +T 5B 03 00 00 R 00 00 01 00 -T 51 03 00 00 2A 08 00 00 00 ED 4B 0A 00 00 00 +T 5B 03 00 00 2A 08 00 00 00 ED 4B 0A 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 58 03 00 00 CD 00 00 00 00 22 08 00 00 00 ED -R 00 00 01 00 02 05 0C 00 00 0A 03 00 -T 5F 03 00 00 43 0A 00 00 00 21 FC FF DD 4E 02 +T 62 03 00 00 CD 00 00 00 00 22 08 00 00 00 ED +R 00 00 01 00 02 05 0D 00 00 0A 03 00 +T 69 03 00 00 43 0A 00 00 00 21 FC FF DD 4E 02 R 00 00 01 00 00 05 03 00 -T 68 03 00 00 DD 46 03 09 DD 75 F6 DD 74 F7 E5 +T 72 03 00 00 DD 46 03 09 DD 75 F6 DD 74 F7 E5 R 00 00 01 00 -T 73 03 00 00 4D 44 69 60 4E 23 46 E1 A7 ED 42 +T 7D 03 00 00 4D 44 69 60 4E 23 46 E1 A7 ED 42 R 00 00 01 00 -T 7E 03 00 00 CA 27 04 00 00 +T 88 03 00 00 CA 31 04 00 00 R 00 00 01 00 00 05 01 00 -T 81 03 00 00 +T 8B 03 00 00 R 00 00 01 00 -T 81 03 00 00 2A 0C 00 00 00 ED 4B 0E 00 00 00 +T 8B 03 00 00 2A 0C 00 00 00 ED 4B 0E 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 88 03 00 00 CD 00 00 00 00 22 0C 00 00 00 ED -R 00 00 01 00 02 05 0C 00 00 0A 03 00 -T 8F 03 00 00 43 0E 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 03 00 2B 0A 07 00 -T 95 03 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 07 00 02 09 01 00 -T 9C 03 00 00 28 74 +T 92 03 00 00 CD 00 00 00 00 22 0C 00 00 00 ED +R 00 00 01 00 02 05 0D 00 00 0A 03 00 +T 99 03 00 00 43 0E 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 00 05 03 00 2B 0A 06 00 +T 9F 03 00 00 00 00 00 00 CD 00 00 00 00 7D B4 +R 00 00 01 00 02 04 06 00 02 09 01 00 +T A6 03 00 00 28 74 R 00 00 01 00 -T 9E 03 00 00 +T A8 03 00 00 R 00 00 01 00 -T 9E 03 00 00 21 0C 00 39 DD 75 FA DD 74 FB 21 +T A8 03 00 00 21 0C 00 39 DD 75 FA DD 74 FB 21 R 00 00 01 00 -T A9 03 00 00 2A 00 ED 4B 00 00 00 00 09 5E 23 -R 00 00 01 00 02 08 18 00 -T B2 03 00 00 56 D5 DD 6E 02 DD 66 03 E5 21 +T B3 03 00 00 2A 00 ED 4B 00 00 00 00 09 5E 23 +R 00 00 01 00 02 08 17 00 +T BC 03 00 00 56 D5 DD 6E 02 DD 66 03 E5 21 R 00 00 01 00 -T BC 03 00 00 6A 00 00 00 E5 3E 00 00 00 00 21 +T C6 03 00 00 6A 00 00 00 E5 3E 00 00 00 00 21 R 00 00 01 00 00 04 02 00 2B 0A 0E 00 -T C2 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +T CC 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 0E 00 02 09 01 00 -T C9 03 00 00 F1 11 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 1C 00 -T D0 03 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 1C 00 02 09 01 00 -T D6 03 00 00 2A 00 09 4E 23 46 C5 21 FC FF DD +T D3 03 00 00 F1 11 00 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 1B 00 +T DA 03 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 1B 00 02 09 01 00 +T E0 03 00 00 2A 00 09 4E 23 46 C5 21 FC FF DD R 00 00 01 00 -T E1 03 00 00 4E FA DD 46 FB 09 5E 23 56 D5 0B +T EB 03 00 00 4E FA DD 46 FB 09 5E 23 56 D5 0B R 00 00 01 00 -T EC 03 00 00 0B 69 60 4E 23 46 C5 DD 6E 02 DD +T F6 03 00 00 0B 69 60 4E 23 46 C5 DD 6E 02 DD R 00 00 01 00 -T F7 03 00 00 66 03 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 1D 00 -T FE 03 00 00 00 00 00 00 E5 21 FF FF E5 3E -R 00 00 01 00 02 04 1D 00 -T 06 04 00 00 00 00 00 00 21 00 00 00 00 CD +T 01 04 00 00 66 03 E5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 35 00 +T 08 04 00 00 00 00 00 00 E5 21 FF FF E5 3E +R 00 00 01 00 02 04 35 00 +T 10 04 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 05 00 02 09 05 00 -T 0B 04 00 00 00 00 00 00 21 0E 00 39 F9 +T 15 04 00 00 00 00 00 00 21 0E 00 39 F9 R 00 00 01 00 02 04 01 00 -T 12 04 00 00 +T 1C 04 00 00 R 00 00 01 00 -T 12 04 00 00 21 97 00 00 00 E5 21 01 00 E5 3E +T 1C 04 00 00 21 97 00 00 00 E5 21 01 00 E5 3E R 00 00 01 00 00 05 02 00 -T 1B 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 34 00 02 09 34 00 -T 20 04 00 00 00 00 00 00 F1 F1 C3 D0 05 00 00 +T 25 04 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 32 00 02 09 32 00 +T 2A 04 00 00 00 00 00 00 F1 F1 C3 DA 05 00 00 R 00 00 01 00 02 04 01 00 00 0B 01 00 -T 27 04 00 00 +T 31 04 00 00 R 00 00 01 00 -T 27 04 00 00 21 1A 00 00 00 DD 4E F6 DD 46 F7 +T 31 04 00 00 21 1A 00 00 00 DD 4E F6 DD 46 F7 R 00 00 01 00 00 05 03 00 -T 30 04 00 00 03 03 0A 5F 03 0A 57 01 00 00 CD +T 3A 04 00 00 03 03 0A 5F 03 0A 57 01 00 00 CD R 00 00 01 00 -T 3B 04 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 15 00 2B 09 1F 00 -T 40 04 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 1F 00 02 09 01 00 -T 47 04 00 00 FC DD 74 FD 2A 4E 00 00 00 DD 75 +T 45 04 00 00 00 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 02 04 15 00 2B 09 1C 00 +T 4A 04 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 1C 00 02 09 01 00 +T 51 04 00 00 FC DD 74 FD 2A 4E 00 00 00 DD 75 R 00 00 01 00 00 09 04 00 -T 50 04 00 00 F8 DD 74 F9 +T 5A 04 00 00 F8 DD 74 F9 R 00 00 01 00 -T 54 04 00 00 +T 5E 04 00 00 R 00 00 01 00 -T 54 04 00 00 DD 4E F6 DD 46 F7 DD 6E F8 DD 66 +T 5E 04 00 00 DD 4E F6 DD 46 F7 DD 6E F8 DD 66 R 00 00 01 00 -T 5F 04 00 00 F9 A7 ED 42 30 14 DD 6E F8 DD 66 +T 69 04 00 00 F9 A7 ED 42 30 14 DD 6E F8 DD 66 R 00 00 01 00 -T 6A 04 00 00 F9 4E 23 46 DD 6E F6 DD 66 F7 A7 +T 74 04 00 00 F9 4E 23 46 DD 6E F6 DD 66 F7 A7 R 00 00 01 00 -T 75 04 00 00 ED 42 38 4D +T 7F 04 00 00 ED 42 38 4D R 00 00 01 00 -T 79 04 00 00 +T 83 04 00 00 R 00 00 01 00 -T 79 04 00 00 DD 6E F8 DD 66 F9 4E 23 46 DD 6E +T 83 04 00 00 DD 6E F8 DD 66 F9 4E 23 46 DD 6E R 00 00 01 00 -T 84 04 00 00 F8 DD 66 F9 A7 ED 42 38 27 DD 4E +T 8E 04 00 00 F8 DD 66 F9 A7 ED 42 38 27 DD 4E R 00 00 01 00 -T 8F 04 00 00 F6 DD 46 F7 DD 6E F8 DD 66 F9 A7 +T 99 04 00 00 F6 DD 46 F7 DD 6E F8 DD 66 F9 A7 R 00 00 01 00 -T 9A 04 00 00 ED 42 38 14 DD 6E F8 DD 66 F9 4E +T A4 04 00 00 ED 42 38 14 DD 6E F8 DD 66 F9 4E R 00 00 01 00 -T A5 04 00 00 23 46 DD 6E F6 DD 66 F7 A7 ED 42 +T AF 04 00 00 23 46 DD 6E F6 DD 66 F7 A7 ED 42 R 00 00 01 00 -T B0 04 00 00 30 02 +T BA 04 00 00 30 02 R 00 00 01 00 -T B2 04 00 00 +T BC 04 00 00 R 00 00 01 00 -T B2 04 00 00 +T BC 04 00 00 R 00 00 01 00 -T B2 04 00 00 +T BC 04 00 00 R 00 00 01 00 -T B2 04 00 00 +T BC 04 00 00 R 00 00 01 00 -T B2 04 00 00 +T BC 04 00 00 R 00 00 01 00 -T B2 04 00 00 18 12 +T BC 04 00 00 18 12 R 00 00 01 00 -T B4 04 00 00 +T BE 04 00 00 R 00 00 01 00 -T B4 04 00 00 DD 6E F8 DD 66 F9 46 23 66 68 DD +T BE 04 00 00 DD 6E F8 DD 66 F9 46 23 66 68 DD R 00 00 01 00 -T BF 04 00 00 75 F8 DD 74 F9 18 8E +T C9 04 00 00 75 F8 DD 74 F9 18 8E R 00 00 01 00 -T C6 04 00 00 +T D0 04 00 00 R 00 00 01 00 -T C6 04 00 00 DD 6E F6 DD 66 F7 23 23 46 23 66 +T D0 04 00 00 DD 6E F6 DD 66 F7 23 23 46 23 66 R 00 00 01 00 -T D1 04 00 00 68 29 29 DD 4E F6 DD 46 F7 09 E5 +T DB 04 00 00 68 29 29 DD 4E F6 DD 46 F7 09 E5 R 00 00 01 00 -T DC 04 00 00 DD 6E F8 DD 66 F9 4E 23 46 E1 A7 +T E6 04 00 00 DD 6E F8 DD 66 F9 4E 23 46 E1 A7 R 00 00 01 00 -T E7 04 00 00 ED 42 20 39 +T F1 04 00 00 ED 42 20 39 R 00 00 01 00 -T EB 04 00 00 +T F5 04 00 00 R 00 00 01 00 -T EB 04 00 00 DD 6E F8 DD 66 F9 46 23 66 68 23 +T F5 04 00 00 DD 6E F8 DD 66 F9 46 23 66 68 23 R 00 00 01 00 -T F6 04 00 00 23 4E 23 46 DD 6E F6 DD 66 F7 23 +T 00 05 00 00 23 4E 23 46 DD 6E F6 DD 66 F7 23 R 00 00 01 00 -T 01 05 00 00 23 7E 81 77 23 7E 88 77 DD 6E F8 +T 0B 05 00 00 23 7E 81 77 23 7E 88 77 DD 6E F8 R 00 00 01 00 -T 0C 05 00 00 DD 66 F9 7E 23 66 6F 46 23 66 68 +T 16 05 00 00 DD 66 F9 7E 23 66 6F 46 23 66 68 R 00 00 01 00 -T 17 05 00 00 E5 DD 6E F6 DD 66 F7 C1 71 23 70 +T 21 05 00 00 E5 DD 6E F6 DD 66 F7 C1 71 23 70 R 00 00 01 00 -T 22 05 00 00 18 15 +T 2C 05 00 00 18 15 R 00 00 01 00 -T 24 05 00 00 +T 2E 05 00 00 R 00 00 01 00 -T 24 05 00 00 DD 6E F8 DD 66 F9 46 23 66 68 E5 +T 2E 05 00 00 DD 6E F8 DD 66 F9 46 23 66 68 E5 R 00 00 01 00 -T 2F 05 00 00 DD 6E F6 DD 66 F7 C1 71 23 70 +T 39 05 00 00 DD 6E F6 DD 66 F7 C1 71 23 70 R 00 00 01 00 -T 39 05 00 00 +T 43 05 00 00 R 00 00 01 00 -T 39 05 00 00 DD 6E F8 DD 66 F9 23 23 46 23 66 +T 43 05 00 00 DD 6E F8 DD 66 F9 23 23 46 23 66 R 00 00 01 00 -T 44 05 00 00 68 29 29 DD 4E F8 DD 46 F9 09 DD +T 4E 05 00 00 68 29 29 DD 4E F8 DD 46 F9 09 DD R 00 00 01 00 -T 4F 05 00 00 4E F6 DD 46 F7 A7 ED 42 20 31 +T 59 05 00 00 4E F6 DD 46 F7 A7 ED 42 20 31 R 00 00 01 00 -T 59 05 00 00 +T 63 05 00 00 R 00 00 01 00 -T 59 05 00 00 DD 6E F6 DD 66 F7 23 23 4E 23 46 +T 63 05 00 00 DD 6E F6 DD 66 F7 23 23 4E 23 46 R 00 00 01 00 -T 64 05 00 00 DD 6E F8 DD 66 F9 23 23 7E 81 77 +T 6E 05 00 00 DD 6E F8 DD 66 F9 23 23 7E 81 77 R 00 00 01 00 -T 6F 05 00 00 23 7E 88 77 DD 6E F6 DD 66 F7 46 +T 79 05 00 00 23 7E 88 77 DD 6E F6 DD 66 F7 46 R 00 00 01 00 -T 7A 05 00 00 23 66 68 E5 DD 6E F8 DD 66 F9 C1 +T 84 05 00 00 23 66 68 E5 DD 6E F8 DD 66 F9 C1 R 00 00 01 00 -T 85 05 00 00 71 23 70 18 11 +T 8F 05 00 00 71 23 70 18 11 R 00 00 01 00 -T 8A 05 00 00 +T 94 05 00 00 R 00 00 01 00 -T 8A 05 00 00 DD 6E F6 DD 66 F7 E5 DD 6E F8 DD +T 94 05 00 00 DD 6E F6 DD 66 F7 E5 DD 6E F8 DD R 00 00 01 00 -T 95 05 00 00 66 F9 C1 71 23 70 +T 9F 05 00 00 66 F9 C1 71 23 70 R 00 00 01 00 -T 9B 05 00 00 +T A5 05 00 00 R 00 00 01 00 -T 9B 05 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 +T A5 05 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 R 00 00 01 00 2B 0B 03 00 -T A3 05 00 00 21 00 00 00 00 CD 00 00 00 00 2A +T AD 05 00 00 21 00 00 00 00 CD 00 00 00 00 2A R 00 00 01 00 02 05 03 00 02 0A 01 00 -T AA 05 00 00 10 00 00 00 7D B4 28 0E +T B4 05 00 00 10 00 00 00 7D B4 28 0E R 00 00 01 00 00 04 03 00 -T B0 05 00 00 +T BA 05 00 00 R 00 00 01 00 -T B0 05 00 00 01 00 00 11 10 00 00 00 3E +T BA 05 00 00 01 00 00 11 10 00 00 00 3E R 00 00 01 00 00 08 03 00 -T B7 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 27 00 02 09 27 00 -T BC 05 00 00 00 00 00 00 +T C1 05 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 23 00 02 09 23 00 +T C6 05 00 00 00 00 00 00 R 00 00 01 00 02 04 01 00 -T BE 05 00 00 +T C8 05 00 00 R 00 00 01 00 -T BE 05 00 00 21 9E 00 00 00 E5 21 01 00 E5 3E +T C8 05 00 00 21 9E 00 00 00 E5 21 01 00 E5 3E R 00 00 01 00 00 05 02 00 -T C7 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 34 00 02 09 34 00 -T CC 05 00 00 00 00 00 00 F1 F1 +T D1 05 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 32 00 02 09 32 00 +T D6 05 00 00 00 00 00 00 F1 F1 R 00 00 01 00 02 04 01 00 -T D0 05 00 00 +T DA 05 00 00 R 00 00 01 00 -T D0 05 00 00 C3 00 00 00 00 +T DA 05 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 0F 00 -T D3 05 00 00 +T DD 05 00 00 R 00 00 01 00 -T D3 05 00 00 CD 00 00 00 00 FA FF 21 FC FF DD -R 00 00 01 00 02 05 28 00 -T DC 05 00 00 5E 02 DD 56 03 19 DD 75 FC DD 74 +T DD 05 00 00 CD 00 00 00 00 FA FF 21 FC FF DD +R 00 00 01 00 02 05 24 00 +T E6 05 00 00 5E 02 DD 56 03 19 DD 75 FC DD 74 R 00 00 01 00 -T E7 05 00 00 FD 23 23 56 23 66 6A 11 FF FF 19 +T F1 05 00 00 FD 23 23 56 23 66 6A 11 FF FF 19 R 00 00 01 00 -T F2 05 00 00 29 29 DD 75 FA DD 74 FB 59 50 3E +T FC 05 00 00 29 29 DD 75 FA DD 74 FB 59 50 3E R 00 00 01 00 -T FD 05 00 00 00 00 00 00 21 00 00 00 00 CD +T 07 06 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 -T 02 06 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D +T 0C 06 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D R 00 00 01 00 02 04 01 00 -T 0B 06 00 00 B4 28 35 +T 15 06 00 00 B4 28 35 R 00 00 01 00 -T 0E 06 00 00 +T 18 06 00 00 R 00 00 01 00 -T 0E 06 00 00 DD 4E 04 DD 46 05 DD 6E FA DD 66 +T 18 06 00 00 DD 4E 04 DD 46 05 DD 6E FA DD 66 R 00 00 01 00 -T 19 06 00 00 FB A7 ED 42 30 08 DD 6E FA DD 66 +T 23 06 00 00 FB A7 ED 42 30 08 DD 6E FA DD 66 R 00 00 01 00 -T 24 06 00 00 FB 18 06 +T 2E 06 00 00 FB 18 06 R 00 00 01 00 -T 27 06 00 00 +T 31 06 00 00 R 00 00 01 00 -T 27 06 00 00 DD 6E 04 DD 66 05 +T 31 06 00 00 DD 6E 04 DD 66 05 R 00 00 01 00 -T 2D 06 00 00 +T 37 06 00 00 R 00 00 01 00 -T 2D 06 00 00 E5 DD 4E 02 DD 46 03 DD 5E FE DD +T 37 06 00 00 E5 DD 4E 02 DD 46 03 DD 5E FE DD R 00 00 01 00 -T 38 06 00 00 56 FF 3E 00 00 00 00 21 +T 42 06 00 00 56 FF 3E 00 00 00 00 21 R 00 00 01 00 2B 07 09 00 -T 3D 06 00 00 00 00 00 00 CD 00 00 00 00 F1 +T 47 06 00 00 00 00 00 00 CD 00 00 00 00 F1 R 00 00 01 00 02 04 09 00 02 09 01 00 -T 43 06 00 00 +T 4D 06 00 00 R 00 00 01 00 -T 43 06 00 00 DD 5E 02 DD 56 03 3E 05 03 00 00 +T 4D 06 00 00 DD 5E 02 DD 56 03 3E 0F 03 00 00 R 00 00 01 00 29 0B 01 00 -T 4B 06 00 00 21 05 03 00 00 CD 00 00 00 00 DD +T 55 06 00 00 21 0F 03 00 00 CD 00 00 00 00 DD R 00 00 01 00 00 05 01 00 02 0A 01 00 -T 52 06 00 00 6E FE DD 66 FF C3 00 00 00 00 +T 5C 06 00 00 6E FE DD 66 FF C3 00 00 00 00 R 00 00 01 00 02 0A 0F 00 -T 5A 06 00 00 +T 64 06 00 00 R 00 00 01 00 -T 5A 06 00 00 CD 00 00 00 00 FC FF C5 DD 6E 02 -R 00 00 01 00 02 05 28 00 -T 63 06 00 00 DD 66 03 E5 DD 6E 08 DD 66 09 E5 +T 64 06 00 00 CD 00 00 00 00 FC FF C5 DD 6E 02 +R 00 00 01 00 02 05 24 00 +T 6D 06 00 00 DD 66 03 E5 DD 6E 08 DD 66 09 E5 R 00 00 01 00 -T 6E 06 00 00 DD 6E 06 DD 66 07 E5 21 +T 78 06 00 00 DD 6E 06 DD 66 07 E5 21 R 00 00 01 00 -T 76 06 00 00 A4 00 00 00 E5 21 01 00 E5 3E +T 80 06 00 00 A4 00 00 00 E5 21 01 00 E5 3E R 00 00 01 00 00 04 02 00 -T 7E 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 34 00 02 09 34 00 -T 83 06 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB +T 88 06 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 32 00 02 09 32 00 +T 8D 06 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB R 00 00 01 00 02 04 01 00 -T 8C 06 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 +T 96 06 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 R 00 00 01 00 -T 97 06 00 00 03 CD 00 00 00 00 DD 73 FC DD 72 -R 00 00 01 00 02 06 29 00 -T A0 06 00 00 FD 3E 00 00 00 00 21 00 00 00 00 +T A1 06 00 00 03 CD 00 00 00 00 DD 73 FC DD 72 +R 00 00 01 00 02 06 25 00 +T AA 06 00 00 FD 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 29 06 01 00 00 0B 01 00 -T A6 06 00 00 CD 00 00 00 00 DD 75 FE DD 74 FF +T B0 06 00 00 CD 00 00 00 00 DD 75 FE DD 74 FF R 00 00 01 00 02 05 01 00 -T AF 06 00 00 7D B4 28 19 +T B9 06 00 00 7D B4 28 19 R 00 00 01 00 -T B3 06 00 00 +T BD 06 00 00 R 00 00 01 00 -T B3 06 00 00 DD 6E FC DD 66 FD E5 01 00 00 DD +T BD 06 00 00 DD 6E FC DD 66 FD E5 01 00 00 DD R 00 00 01 00 -T BE 06 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 +T C8 06 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 08 00 -T C6 06 00 00 00 00 00 00 CD 00 00 00 00 F1 +T D0 06 00 00 00 00 00 00 CD 00 00 00 00 F1 R 00 00 01 00 02 04 08 00 02 09 01 00 -T CC 06 00 00 +T D6 06 00 00 R 00 00 01 00 -T CC 06 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 +T D6 06 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 R 00 00 01 00 02 0B 0F 00 -T D5 06 00 00 +T DF 06 00 00 R 00 00 01 00 -T D5 06 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 28 00 -T DE 06 00 00 66 03 E5 DD 6E 08 DD 66 09 E5 DD +T DF 06 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD +R 00 00 01 00 02 05 24 00 +T E8 06 00 00 66 03 E5 DD 6E 08 DD 66 09 E5 DD R 00 00 01 00 -T E9 06 00 00 6E 06 DD 66 07 E5 21 C7 00 00 00 +T F3 06 00 00 6E 06 DD 66 07 E5 21 C7 00 00 00 R 00 00 01 00 00 0B 02 00 -T F2 06 00 00 E5 21 01 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 34 00 -T FA 06 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 34 00 02 09 01 00 -T 01 07 00 00 F1 F1 F1 +T FC 06 00 00 E5 21 01 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 32 00 +T 04 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 32 00 02 09 01 00 +T 0B 07 00 00 F1 F1 F1 R 00 00 01 00 -T 04 07 00 00 +T 0E 07 00 00 R 00 00 01 00 -T 04 07 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +T 0E 07 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 R 00 00 01 00 29 0B 01 00 -T 0C 07 00 00 21 00 00 00 00 CD 00 00 00 00 DD +T 16 07 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 00 05 01 00 02 0A 01 00 -T 13 07 00 00 75 FE DD 74 FF 7D B4 20 25 +T 1D 07 00 00 75 FE DD 74 FF 7D B4 20 25 R 00 00 01 00 -T 1C 07 00 00 +T 26 07 00 00 R 00 00 01 00 -T 1C 07 00 00 2A 10 00 00 00 23 22 10 00 00 00 +T 26 07 00 00 2A 10 00 00 00 23 22 10 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 23 07 00 00 1E 7E 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 11 00 -T 28 07 00 00 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 04 11 00 02 09 01 00 -T 2E 07 00 00 10 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 1B 00 -T 33 07 00 00 00 00 00 00 CD 00 00 00 00 2A -R 00 00 01 00 02 04 1B 00 02 09 01 00 -T 39 07 00 00 10 00 00 00 2B 22 10 00 00 00 18 +T 2D 07 00 00 1E 7E 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 10 00 +T 32 07 00 00 00 00 00 00 CD 00 00 00 00 11 +R 00 00 01 00 02 04 10 00 02 09 01 00 +T 38 07 00 00 10 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 00 04 03 00 2B 09 1A 00 +T 3D 07 00 00 00 00 00 00 CD 00 00 00 00 2A +R 00 00 01 00 02 04 1A 00 02 09 01 00 +T 43 07 00 00 10 00 00 00 2B 22 10 00 00 00 18 R 00 00 01 00 00 04 03 00 00 0A 03 00 -T 40 07 00 00 C3 +T 4A 07 00 00 C3 R 00 00 01 00 -T 41 07 00 00 +T 4B 07 00 00 R 00 00 01 00 -T 41 07 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 +T 4B 07 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 R 00 00 01 00 02 0B 0F 00 -T 4A 07 00 00 +T 54 07 00 00 R 00 00 01 00 -T 4A 07 00 00 CD 00 00 00 00 FC FF C5 DD 6E 02 -R 00 00 01 00 02 05 28 00 -T 53 07 00 00 DD 66 03 E5 DD 6E 08 DD 66 09 E5 +T 54 07 00 00 CD 00 00 00 00 FC FF C5 DD 6E 02 +R 00 00 01 00 02 05 24 00 +T 5D 07 00 00 DD 66 03 E5 DD 6E 08 DD 66 09 E5 R 00 00 01 00 -T 5E 07 00 00 DD 6E 06 DD 66 07 E5 21 +T 68 07 00 00 DD 6E 06 DD 66 07 E5 21 R 00 00 01 00 -T 66 07 00 00 E3 00 00 00 E5 21 01 00 E5 3E +T 70 07 00 00 E3 00 00 00 E5 21 01 00 E5 3E R 00 00 01 00 00 04 02 00 -T 6E 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 34 00 02 09 34 00 -T 73 07 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB +T 78 07 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 32 00 02 09 32 00 +T 7D 07 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB R 00 00 01 00 02 04 01 00 -T 7C 07 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 +T 86 07 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 R 00 00 01 00 -T 87 07 00 00 03 CD 00 00 00 00 DD 73 FC DD 72 -R 00 00 01 00 02 06 29 00 -T 90 07 00 00 FD 3E D5 06 00 00 21 D5 06 00 00 +T 91 07 00 00 03 CD 00 00 00 00 DD 73 FC DD 72 +R 00 00 01 00 02 06 25 00 +T 9A 07 00 00 FD 3E DF 06 00 00 21 DF 06 00 00 R 00 00 01 00 29 06 01 00 00 0B 01 00 -T 96 07 00 00 CD 00 00 00 00 DD 75 FE DD 74 FF +T A0 07 00 00 CD 00 00 00 00 DD 75 FE DD 74 FF R 00 00 01 00 02 05 01 00 -T 9F 07 00 00 DD 4E FC DD 46 FD C5 01 00 00 EB +T A9 07 00 00 DD 4E FC DD 46 FD C5 01 00 00 EB R 00 00 01 00 -T AA 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD +T B4 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 08 00 02 0A 08 00 -T B0 07 00 00 00 00 00 00 F1 DD 6E FE DD 66 FF +T BA 07 00 00 00 00 00 00 F1 DD 6E FE DD 66 FF R 00 00 01 00 02 04 01 00 -T B9 07 00 00 C3 00 00 00 00 +T C3 07 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 0F 00 -T BC 07 00 00 +T C6 07 00 00 R 00 00 01 00 -T BC 07 00 00 CD 00 00 00 00 FE FF 3E 02 ED 4B -R 00 00 01 00 02 05 28 00 -T C5 07 00 00 1C 00 00 00 2A 1A 00 00 00 CD +T C6 07 00 00 CD 00 00 00 00 FE FF 3E 02 ED 4B +R 00 00 01 00 02 05 24 00 +T CF 07 00 00 1C 00 00 00 2A 1A 00 00 00 CD R 00 00 01 00 00 04 03 00 00 09 03 00 -T CB 07 00 00 00 00 00 00 59 50 A7 ED 4B -R 00 00 01 00 02 04 1A 00 -T D2 07 00 00 00 00 00 00 ED 42 EB ED 4B -R 00 00 01 00 02 04 2B 00 -T D9 07 00 00 02 00 00 00 ED 42 38 05 -R 00 00 01 00 02 04 2B 00 -T DF 07 00 00 +T D5 07 00 00 00 00 00 00 59 50 A7 ED 4B +R 00 00 01 00 02 04 19 00 +T DC 07 00 00 00 00 00 00 ED 42 EB ED 4B +R 00 00 01 00 02 04 28 00 +T E3 07 00 00 02 00 00 00 ED 42 38 05 +R 00 00 01 00 02 04 28 00 +T E9 07 00 00 R 00 00 01 00 -T DF 07 00 00 21 00 00 18 64 +T E9 07 00 00 21 00 00 18 64 R 00 00 01 00 -T E4 07 00 00 +T EE 07 00 00 R 00 00 01 00 -T E4 07 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 02 06 2B 00 29 0B 01 00 -T EA 07 00 00 21 00 00 00 00 CD 00 00 00 00 DD +T EE 07 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 +R 00 00 01 00 02 06 28 00 29 0B 01 00 +T F4 07 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 00 05 01 00 02 0A 01 00 -T F1 07 00 00 75 FE DD 74 FF 7D B4 28 13 +T FB 07 00 00 75 FE DD 74 FF 7D B4 28 13 R 00 00 01 00 -T FA 07 00 00 +T 04 08 00 00 R 00 00 01 00 -T FA 07 00 00 DD 5E FE DD 56 FF 3E 05 03 00 00 +T 04 08 00 00 DD 5E FE DD 56 FF 3E 0F 03 00 00 R 00 00 01 00 29 0B 01 00 -T 02 08 00 00 21 05 03 00 00 CD 00 00 00 00 21 +T 0C 08 00 00 21 0F 03 00 00 CD 00 00 00 00 21 R 00 00 01 00 00 05 01 00 02 0A 01 00 -T 09 08 00 00 00 00 18 3B +T 13 08 00 00 00 00 18 3B R 00 00 01 00 -T 0D 08 00 00 +T 17 08 00 00 R 00 00 01 00 -T 0D 08 00 00 21 00 00 E5 21 02 00 E5 ED 4B +T 17 08 00 00 21 00 00 E5 21 02 00 E5 ED 4B R 00 00 01 00 -T 17 08 00 00 02 00 00 00 2A 00 00 00 00 CD -R 00 00 01 00 02 04 2B 00 02 09 2B 00 -T 1D 08 00 00 00 00 00 00 EB 3E 00 00 00 00 21 -R 00 00 01 00 02 04 2D 00 29 0A 01 00 -T 23 08 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +T 21 08 00 00 02 00 00 00 2A 00 00 00 00 CD +R 00 00 01 00 02 04 28 00 02 09 28 00 +T 27 08 00 00 00 00 00 00 EB 3E 00 00 00 00 21 +R 00 00 01 00 02 04 2A 00 29 0A 01 00 +T 2D 08 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 00 04 01 00 02 09 01 00 -T 2A 08 00 00 FE DD 74 FF 7D B4 28 13 +T 34 08 00 00 FE DD 74 FF 7D B4 28 13 R 00 00 01 00 -T 32 08 00 00 +T 3C 08 00 00 R 00 00 01 00 -T 32 08 00 00 DD 5E FE DD 56 FF 3E 05 03 00 00 +T 3C 08 00 00 DD 5E FE DD 56 FF 3E 0F 03 00 00 R 00 00 01 00 29 0B 01 00 -T 3A 08 00 00 21 05 03 00 00 CD 00 00 00 00 21 +T 44 08 00 00 21 0F 03 00 00 CD 00 00 00 00 21 R 00 00 01 00 00 05 01 00 02 0A 01 00 -T 41 08 00 00 01 00 18 03 +T 4B 08 00 00 01 00 18 03 R 00 00 01 00 -T 45 08 00 00 +T 4F 08 00 00 R 00 00 01 00 -T 45 08 00 00 21 02 00 +T 4F 08 00 00 21 02 00 R 00 00 01 00 -T 48 08 00 00 +T 52 08 00 00 R 00 00 01 00 -T 48 08 00 00 C3 00 00 00 00 +T 52 08 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 0F 00 -T 4B 08 00 00 +T 55 08 00 00 R 00 00 01 00 -T 4B 08 00 00 CD 00 00 00 00 FE FF 2A -R 00 00 01 00 02 05 28 00 -T 51 08 00 00 20 00 00 00 E5 2A 1E 00 00 00 E5 +T 55 08 00 00 CD 00 00 00 00 FE FF 2A +R 00 00 01 00 02 05 24 00 +T 5B 08 00 00 20 00 00 00 E5 2A 1E 00 00 00 E5 R 00 00 01 00 00 04 03 00 00 0A 03 00 -T 58 08 00 00 2A 6A 00 00 00 E5 2A 68 00 00 00 +T 62 08 00 00 2A 6A 00 00 00 E5 2A 68 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 5F 08 00 00 E5 21 00 00 E5 21 64 00 E5 ED 4B +T 69 08 00 00 E5 21 00 00 E5 21 64 00 E5 ED 4B R 00 00 01 00 -T 6A 08 00 00 1C 00 00 00 2A 1A 00 00 00 CD +T 74 08 00 00 1C 00 00 00 2A 1A 00 00 00 CD R 00 00 01 00 00 04 03 00 00 09 03 00 -T 70 08 00 00 00 00 00 00 3E 02 CD 00 00 00 00 -R 00 00 01 00 02 04 24 00 02 0B 1A 00 -T 77 08 00 00 CD 00 00 00 00 C5 E5 3E 02 ED 4B -R 00 00 01 00 02 05 2E 00 -T 80 08 00 00 1C 00 00 00 2A 1A 00 00 00 CD +T 7A 08 00 00 00 00 00 00 3E 02 CD 00 00 00 00 +R 00 00 01 00 02 04 1F 00 02 0B 19 00 +T 81 08 00 00 CD 00 00 00 00 C5 E5 3E 02 ED 4B +R 00 00 01 00 02 05 2C 00 +T 8A 08 00 00 1C 00 00 00 2A 1A 00 00 00 CD R 00 00 01 00 00 04 03 00 00 09 03 00 -T 86 08 00 00 00 00 00 00 C5 E5 2A 6A 00 00 00 -R 00 00 01 00 02 04 1A 00 00 0B 03 00 -T 8D 08 00 00 E5 2A 68 00 00 00 E5 0E +T 90 08 00 00 00 00 00 00 C5 E5 2A 6A 00 00 00 +R 00 00 01 00 02 04 19 00 00 0B 03 00 +T 97 08 00 00 E5 2A 68 00 00 00 E5 0E R 00 00 01 00 00 06 03 00 -T 93 08 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 16 00 02 0A 16 00 -T 99 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD +T 9D 08 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 26 00 02 0A 26 00 +T A3 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 30 00 02 0A 30 00 -T 9F 08 00 00 00 00 00 00 EB 21 14 00 39 F9 EB +T A9 08 00 00 00 00 00 00 EB 21 14 00 39 F9 EB R 00 00 01 00 02 04 01 00 -T A8 08 00 00 2A 0E 00 00 00 E5 2A 0C 00 00 00 +T B2 08 00 00 2A 0E 00 00 00 E5 2A 0C 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T AF 08 00 00 E5 2A 02 00 00 00 E5 2A +T B9 08 00 00 E5 2A 02 00 00 00 E5 2A R 00 00 01 00 00 06 03 00 -T B5 08 00 00 00 00 00 00 E5 A7 2A 04 00 00 00 +T BF 08 00 00 00 00 00 00 E5 A7 2A 04 00 00 00 R 00 00 01 00 00 04 03 00 00 0B 03 00 -T BC 08 00 00 ED 4B 08 00 00 00 ED 42 EB 2A +T C6 08 00 00 ED 4B 08 00 00 00 ED 42 EB 2A R 00 00 01 00 00 06 03 00 -T C4 08 00 00 06 00 00 00 ED 4B 0A 00 00 00 ED +T CE 08 00 00 06 00 00 00 ED 4B 0A 00 00 00 ED R 00 00 01 00 00 04 03 00 00 0A 03 00 -T CB 08 00 00 42 E5 D5 2A 0A 00 00 00 E5 2A +T D5 08 00 00 42 E5 D5 2A 0A 00 00 00 E5 2A R 00 00 01 00 00 08 03 00 -T D3 08 00 00 08 00 00 00 E5 2A 06 00 00 00 E5 +T DD 08 00 00 08 00 00 00 E5 2A 06 00 00 00 E5 R 00 00 01 00 00 04 03 00 00 0A 03 00 -T DA 08 00 00 2A 04 00 00 00 E5 0E 00 00 00 00 -R 00 00 01 00 00 05 03 00 2B 0B 1E 00 -T E0 08 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 1E 00 -T E6 08 00 00 00 00 00 00 21 00 00 00 00 CD +T E4 08 00 00 2A 04 00 00 00 E5 0E 00 00 00 00 +R 00 00 01 00 00 05 03 00 2B 0B 11 00 +T EA 08 00 00 C5 21 00 00 00 00 E5 3E +R 00 00 01 00 02 06 11 00 +T F0 08 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 30 00 02 09 30 00 -T EB 08 00 00 00 00 00 00 EB 21 18 00 39 F9 EB +T F5 08 00 00 00 00 00 00 EB 21 18 00 39 F9 EB R 00 00 01 00 02 04 01 00 -T F4 08 00 00 2A 18 00 00 00 E5 2A 16 00 00 00 +T FE 08 00 00 2A 18 00 00 00 E5 2A 16 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T FB 08 00 00 E5 2A 14 00 00 00 E5 2A +T 05 09 00 00 E5 2A 14 00 00 00 E5 2A R 00 00 01 00 00 06 03 00 -T 01 09 00 00 12 00 00 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 00 04 03 00 2B 0A 26 00 -T 07 09 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 26 00 2B 0B 30 00 -T 0D 09 00 00 21 00 00 00 00 CD 00 00 00 00 EB +T 0B 09 00 00 12 00 00 00 E5 0E 00 00 00 00 C5 +R 00 00 01 00 00 04 03 00 2B 0A 34 00 +T 11 09 00 00 21 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 34 00 2B 0B 30 00 +T 17 09 00 00 21 00 00 00 00 CD 00 00 00 00 EB R 00 00 01 00 02 05 30 00 02 0A 01 00 -T 14 09 00 00 21 0C 00 39 F9 EB 0E 00 00 00 00 -R 00 00 01 00 2B 0B 06 00 -T 1C 09 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 06 00 -T 22 09 00 00 00 00 00 00 21 00 00 00 00 CD +T 1E 09 00 00 21 0C 00 39 F9 EB 0E 00 00 00 00 +R 00 00 01 00 2B 0B 07 00 +T 26 09 00 00 C5 21 00 00 00 00 E5 3E +R 00 00 01 00 02 06 07 00 +T 2C 09 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 30 00 02 09 30 00 -T 27 09 00 00 00 00 00 00 F1 F1 3E 00 00 00 00 -R 00 00 01 00 02 04 01 00 2B 0B 25 00 -T 2D 09 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 25 00 02 0A 01 00 -T 34 09 00 00 00 00 C3 00 00 00 00 +T 31 09 00 00 00 00 00 00 F1 F1 3E 00 00 00 00 +R 00 00 01 00 02 04 01 00 2B 0B 20 00 +T 37 09 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 20 00 02 0A 01 00 +T 3E 09 00 00 00 00 C3 00 00 00 00 R 00 00 01 00 02 07 0F 00 -T 39 09 00 00 +T 43 09 00 00 R 00 00 01 00 -T 39 09 00 00 CD 00 00 00 00 F8 FF AF DD 77 FA -R 00 00 01 00 02 05 28 00 -T 42 09 00 00 DD 77 FB 2A 64 00 00 00 DD 75 F8 +T 43 09 00 00 CD 00 00 00 00 F8 FF AF DD 77 FA +R 00 00 01 00 02 05 24 00 +T 4C 09 00 00 DD 77 FB 2A 64 00 00 00 DD 75 F8 R 00 00 01 00 00 08 03 00 -T 4B 09 00 00 DD 74 F9 +T 55 09 00 00 DD 74 F9 R 00 00 01 00 -T 4E 09 00 00 +T 58 09 00 00 R 00 00 01 00 -T 4E 09 00 00 21 64 00 00 00 DD 4E F8 DD 46 F9 +T 58 09 00 00 21 64 00 00 00 DD 4E F8 DD 46 F9 R 00 00 01 00 00 05 03 00 -T 57 09 00 00 A7 ED 42 CA E1 09 00 00 +T 61 09 00 00 A7 ED 42 CA EB 09 00 00 R 00 00 01 00 00 08 01 00 -T 5D 09 00 00 +T 67 09 00 00 R 00 00 01 00 -T 5D 09 00 00 DD 6E F8 DD 66 F9 23 23 46 23 66 +T 67 09 00 00 DD 6E F8 DD 66 F9 23 23 46 23 66 R 00 00 01 00 -T 68 09 00 00 68 29 29 E5 DD 6E F8 DD 66 F9 E5 +T 72 09 00 00 68 29 29 E5 DD 6E F8 DD 66 F9 E5 R 00 00 01 00 -T 73 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 14 00 02 0B 14 00 -T 79 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +T 7D 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 13 00 02 0B 13 00 +T 83 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 30 00 02 0B 30 00 -T 7F 09 00 00 CD 00 00 00 00 F1 F1 F1 F1 DD 6E +T 89 09 00 00 CD 00 00 00 00 F1 F1 F1 F1 DD 6E R 00 00 01 00 02 05 01 00 -T 88 09 00 00 FA DD 66 FB 23 DD 75 FA DD 74 FB +T 92 09 00 00 FA DD 66 FB 23 DD 75 FA DD 74 FB R 00 00 01 00 -T 93 09 00 00 3E 04 AD B4 20 24 +T 9D 09 00 00 3E 04 AD B4 20 24 R 00 00 01 00 -T 99 09 00 00 +T A3 09 00 00 R 00 00 01 00 -T 99 09 00 00 AF DD 77 FA DD 77 FB 0E +T A3 09 00 00 AF DD 77 FA DD 77 FB 0E R 00 00 01 00 -T A1 09 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 06 00 02 0A 06 00 -T A7 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD +T AB 09 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 07 00 02 0A 07 00 +T B1 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 30 00 02 0A 30 00 -T AD 09 00 00 00 00 00 00 F1 F1 7D A4 3C 20 05 +T B7 09 00 00 00 00 00 00 F1 F1 7D A4 3C 20 05 R 00 00 01 00 02 04 01 00 -T B6 09 00 00 +T C0 09 00 00 R 00 00 01 00 -T B6 09 00 00 21 00 00 18 42 +T C0 09 00 00 21 00 00 18 42 R 00 00 01 00 -T BB 09 00 00 +T C5 09 00 00 R 00 00 01 00 -T BB 09 00 00 18 11 +T C5 09 00 00 18 11 R 00 00 01 00 -T BD 09 00 00 +T C7 09 00 00 R 00 00 01 00 -T BD 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 20 00 02 0B 20 00 -T C3 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +T C7 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 00 00 02 0B 00 00 +T CD 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 30 00 02 0B 30 00 -T C9 09 00 00 CD 00 00 00 00 F1 F1 +T D3 09 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 05 01 00 -T CE 09 00 00 +T D8 09 00 00 R 00 00 01 00 -T CE 09 00 00 DD 6E F8 DD 66 F9 46 23 66 68 DD +T D8 09 00 00 DD 6E F8 DD 66 F9 46 23 66 68 DD R 00 00 01 00 -T D9 09 00 00 75 F8 DD 74 F9 C3 4E 09 00 00 +T E3 09 00 00 75 F8 DD 74 F9 C3 58 09 00 00 R 00 00 01 00 00 0A 01 00 -T E1 09 00 00 +T EB 09 00 00 R 00 00 01 00 -T E1 09 00 00 DD 7E FA DD B6 FB 28 11 +T EB 09 00 00 DD 7E FA DD B6 FB 28 11 R 00 00 01 00 -T E9 09 00 00 +T F3 09 00 00 R 00 00 01 00 -T E9 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 06 00 02 0B 06 00 -T EF 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +T F3 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 07 00 02 0B 07 00 +T F9 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 30 00 02 0B 30 00 -T F5 09 00 00 CD 00 00 00 00 F1 F1 +T FF 09 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 05 01 00 -T FA 09 00 00 +T 04 0A 00 00 R 00 00 01 00 -T FA 09 00 00 21 00 00 +T 04 0A 00 00 21 00 00 R 00 00 01 00 -T FD 09 00 00 +T 07 0A 00 00 R 00 00 01 00 -T FD 09 00 00 C3 00 00 00 00 +T 07 0A 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 0F 00 -T 00 0A 00 00 +T 0A 0A 00 00 R 00 00 01 00 -T 00 0A 00 00 CD 00 00 00 00 FE FF AF DD 77 FE -R 00 00 01 00 02 05 28 00 -T 09 0A 00 00 DD 77 FF +T 0A 0A 00 00 CD 00 00 00 00 FE FF AF DD 77 FE +R 00 00 01 00 02 05 24 00 +T 13 0A 00 00 DD 77 FF R 00 00 01 00 -T 0C 0A 00 00 +T 16 0A 00 00 R 00 00 01 00 -T 0C 0A 00 00 01 10 80 DD 6E FE DD 66 FF 3E 80 +T 16 0A 00 00 01 10 80 DD 6E FE DD 66 FF 3E 80 R 00 00 01 00 -T 17 0A 00 00 AC 67 ED 42 D2 BF 0A 00 00 +T 21 0A 00 00 AC 67 ED 42 D2 C9 0A 00 00 R 00 00 01 00 00 09 01 00 -T 1E 0A 00 00 +T 28 0A 00 00 R 00 00 01 00 -T 1E 0A 00 00 DD 6E FE DD 66 FF 29 29 01 +T 28 0A 00 00 DD 6E FE DD 66 FF 29 29 01 R 00 00 01 00 -T 27 0A 00 00 30 00 00 00 09 4E 23 46 23 5E 23 +T 31 0A 00 00 30 00 00 00 09 4E 23 46 23 5E 23 R 00 00 01 00 00 04 03 00 -T 30 0A 00 00 56 D5 C5 DD 46 FE 11 08 00 CD +T 3A 0A 00 00 56 D5 C5 DD 46 FE 11 08 00 CD R 00 00 01 00 -T 3A 0A 00 00 00 00 00 00 D5 DD 6E FE DD 66 FF -R 00 00 01 00 02 04 23 00 -T 43 0A 00 00 29 29 01 2C 00 00 00 09 4E 23 46 +T 44 0A 00 00 00 00 00 00 D5 DD 6E FE DD 66 FF +R 00 00 01 00 02 04 1E 00 +T 4D 0A 00 00 29 29 01 2C 00 00 00 09 4E 23 46 R 00 00 01 00 00 07 03 00 -T 4C 0A 00 00 23 5E 23 56 D5 C5 DD 46 FE 11 +T 56 0A 00 00 23 5E 23 56 D5 C5 DD 46 FE 11 R 00 00 01 00 -T 56 0A 00 00 04 00 CD 00 00 00 00 D5 DD 6E FE -R 00 00 01 00 02 07 23 00 -T 5F 0A 00 00 DD 66 FF 29 29 01 28 00 00 00 09 +T 60 0A 00 00 04 00 CD 00 00 00 00 D5 DD 6E FE +R 00 00 01 00 02 07 1E 00 +T 69 0A 00 00 DD 66 FF 29 29 01 28 00 00 00 09 R 00 00 01 00 00 0A 03 00 -T 68 0A 00 00 4E 23 46 23 5E 23 56 D5 C5 DD 46 +T 72 0A 00 00 4E 23 46 23 5E 23 56 D5 C5 DD 46 R 00 00 01 00 -T 73 0A 00 00 FE 11 02 00 CD 00 00 00 00 D5 DD -R 00 00 01 00 02 09 23 00 -T 7C 0A 00 00 6E FE DD 66 FF 29 29 01 +T 7D 0A 00 00 FE 11 02 00 CD 00 00 00 00 D5 DD +R 00 00 01 00 02 09 1E 00 +T 86 0A 00 00 6E FE DD 66 FF 29 29 01 R 00 00 01 00 -T 84 0A 00 00 24 00 00 00 09 4E 23 46 23 5E 23 +T 8E 0A 00 00 24 00 00 00 09 4E 23 46 23 5E 23 R 00 00 01 00 00 04 03 00 -T 8D 0A 00 00 56 D5 C5 DD 46 FE 11 01 00 CD +T 97 0A 00 00 56 D5 C5 DD 46 FE 11 01 00 CD R 00 00 01 00 -T 97 0A 00 00 00 00 00 00 D5 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 23 00 2B 0A 00 00 -T 9D 0A 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 00 00 2B 0B 30 00 -T A3 0A 00 00 21 00 00 00 00 CD 00 00 00 00 EB +T A1 0A 00 00 00 00 00 00 D5 0E 00 00 00 00 C5 +R 00 00 01 00 02 04 1E 00 2B 0A 22 00 +T A7 0A 00 00 21 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 22 00 2B 0B 30 00 +T AD 0A 00 00 21 00 00 00 00 CD 00 00 00 00 EB R 00 00 01 00 02 05 30 00 02 0A 01 00 -T AA 0A 00 00 21 1C 00 39 F9 EB 21 00 00 39 7E +T B4 0A 00 00 21 1C 00 39 F9 EB 21 00 00 39 7E R 00 00 01 00 -T B5 0A 00 00 C6 04 77 30 02 23 34 +T BF 0A 00 00 C6 04 77 30 02 23 34 R 00 00 01 00 -T BC 0A 00 00 +T C6 0A 00 00 R 00 00 01 00 -T BC 0A 00 00 C3 0C 0A 00 00 +T C6 0A 00 00 C3 16 0A 00 00 R 00 00 01 00 00 05 01 00 -T BF 0A 00 00 +T C9 0A 00 00 R 00 00 01 00 -T BF 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD +T C9 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 12 00 02 0A 12 00 -T C5 0A 00 00 00 00 00 00 21 00 00 C3 +T CF 0A 00 00 00 00 00 00 21 00 00 C3 R 00 00 01 00 02 04 01 00 -T CB 0A 00 00 00 00 00 00 +T D5 0A 00 00 00 00 00 00 R 00 00 01 00 02 04 0F 00 -T CD 0A 00 00 +T D7 0A 00 00 R 00 00 01 00 -T CD 0A 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 21 00 -T D6 0A 00 00 E5 C5 4B 42 11 00 00 00 00 3E +T D7 0A 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B +R 00 00 01 00 02 05 1D 00 +T E0 0A 00 00 E5 C5 4B 42 11 00 00 00 00 3E R 00 00 01 00 00 09 04 00 -T DE 0A 00 00 00 00 00 00 21 00 00 00 00 CD +T E8 0A 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 39 00 02 09 39 00 -T E3 0A 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 +T ED 0A 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 R 00 00 01 00 02 04 01 00 02 0B 0F 00 -T EA 0A 00 00 -R 00 00 01 00 -T EA 0A 00 00 CD 00 00 00 00 C5 D5 0E -R 00 00 01 00 02 05 21 00 -T F0 0A 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 10 00 02 0A 10 00 -T F6 0A 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 2B 00 2B 0A 36 00 -T FC 0A 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 36 00 02 09 01 00 -T 03 0B 00 00 F1 F1 C3 00 00 00 00 +T F4 0A 00 00 +R 00 00 01 00 +T F4 0A 00 00 CD 00 00 00 00 C5 D5 0E +R 00 00 01 00 02 05 1D 00 +T FA 0A 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 +T 00 0B 00 00 11 00 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 02 05 28 00 2B 0A 37 00 +T 06 0B 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 37 00 02 09 01 00 +T 0D 0B 00 00 F1 F1 C3 00 00 00 00 R 00 00 01 00 02 07 0F 00 -T 08 0B 00 00 +T 12 0B 00 00 R 00 00 01 00 -T 08 0B 00 00 CD 00 00 00 00 F8 FF 2A -R 00 00 01 00 02 05 28 00 -T 0E 0B 00 00 22 00 00 00 DD 75 F8 DD 74 F9 C5 +T 12 0B 00 00 CD 00 00 00 00 F8 FF 2A +R 00 00 01 00 02 05 24 00 +T 18 0B 00 00 22 00 00 00 DD 75 F8 DD 74 F9 C5 R 00 00 01 00 00 04 03 00 -T 17 0B 00 00 DD 4E 02 DD 46 03 C5 0E +T 21 0B 00 00 DD 4E 02 DD 46 03 C5 0E R 00 00 01 00 -T 1F 0B 00 00 00 00 00 00 C5 01 00 00 00 00 C5 -R 00 00 01 00 2B 04 37 00 02 0A 37 00 -T 25 0B 00 00 11 22 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 03 00 2B 0A 35 00 -T 2B 0B 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 35 00 02 09 01 00 -T 32 0B 00 00 F1 F1 3E 01 DD AE F8 DD B6 F9 28 +T 29 0B 00 00 00 00 00 00 C5 01 00 00 00 00 C5 +R 00 00 01 00 2B 04 0C 00 02 0A 0C 00 +T 2F 0B 00 00 11 22 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 00 05 03 00 2B 0A 33 00 +T 35 0B 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 33 00 02 09 01 00 +T 3C 0B 00 00 F1 F1 3E 01 DD AE F8 DD B6 F9 28 R 00 00 01 00 -T 3D 0B 00 00 07 2A 22 00 00 00 7D B4 20 05 +T 47 0B 00 00 07 2A 22 00 00 00 7D B4 20 05 R 00 00 01 00 00 06 03 00 -T 45 0B 00 00 +T 4F 0B 00 00 R 00 00 01 00 -T 45 0B 00 00 +T 4F 0B 00 00 R 00 00 01 00 -T 45 0B 00 00 +T 4F 0B 00 00 R 00 00 01 00 -T 45 0B 00 00 21 00 00 18 03 +T 4F 0B 00 00 21 00 00 18 03 R 00 00 01 00 -T 4A 0B 00 00 +T 54 0B 00 00 R 00 00 01 00 -T 4A 0B 00 00 21 00 00 +T 54 0B 00 00 21 00 00 R 00 00 01 00 -T 4D 0B 00 00 +T 57 0B 00 00 R 00 00 01 00 -T 4D 0B 00 00 C3 00 00 00 00 +T 57 0B 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 0F 00 -T 50 0B 00 00 -R 00 00 01 00 -T 50 0B 00 00 CD 00 00 00 00 FA FF AF DD 77 FE -R 00 00 01 00 02 05 28 00 -T 59 0B 00 00 DD 77 FF -R 00 00 01 00 -T 5C 0B 00 00 +T 5A 0B 00 00 R 00 00 01 00 -T 5C 0B 00 00 01 00 00 11 C8 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0A 00 -T 64 0B 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0A 00 02 0A 01 00 -T 6B 0B 00 00 5E FE DD 56 FF 13 DD 73 FE DD 72 +T 5A 0B 00 00 CD 00 00 00 00 FC FF +R 00 00 01 00 02 05 24 00 +T 5F 0B 00 00 R 00 00 01 00 -T 76 0B 00 00 FF 01 05 00 CD 00 00 00 00 7B B2 -R 00 00 01 00 02 09 31 00 -T 7F 0B 00 00 20 0A +T 5F 0B 00 00 R 00 00 01 00 -T 81 0B 00 00 -R 00 00 01 00 -T 81 0B 00 00 1E 47 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 11 00 -T 86 0B 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 11 00 02 09 01 00 -T 8B 0B 00 00 -R 00 00 01 00 -T 8B 0B 00 00 3E BC 07 00 00 21 BC 07 00 00 CD -R 00 00 01 00 29 05 01 00 00 0A 01 00 -T 91 0B 00 00 00 00 00 00 EB CD 00 00 00 00 +T 5F 0B 00 00 01 00 00 11 C8 00 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0B 00 +T 67 0B 00 00 21 00 00 00 00 CD 00 00 00 00 3E +R 00 00 01 00 02 05 0B 00 02 0A 01 00 +T 6E 0B 00 00 C6 07 00 00 21 C6 07 00 00 CD +R 00 00 01 00 29 04 01 00 00 09 01 00 +T 73 0B 00 00 00 00 00 00 EB CD 00 00 00 00 R 00 00 01 00 02 04 01 00 02 0A 04 00 -T 97 0B 00 00 00 00 03 00 EE 0B 00 00 +T 79 0B 00 00 00 00 03 00 D0 0B 00 00 R 00 00 01 00 00 08 01 00 -T 9D 0B 00 00 A3 0B 00 00 A5 0B 00 00 +T 7F 0B 00 00 85 0B 00 00 87 0B 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T A1 0B 00 00 C9 0B 00 00 +T 83 0B 00 00 AB 0B 00 00 R 00 00 01 00 00 04 01 00 -T A3 0B 00 00 +T 85 0B 00 00 R 00 00 01 00 -T A3 0B 00 00 18 B7 +T 85 0B 00 00 18 D8 R 00 00 01 00 -T A5 0B 00 00 +T 87 0B 00 00 R 00 00 01 00 -T A5 0B 00 00 1E 59 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 11 00 -T AA 0B 00 00 00 00 00 00 CD 00 00 00 00 AF DD -R 00 00 01 00 02 04 11 00 02 09 01 00 -T B1 0B 00 00 77 FC DD 77 FD 2A 12 00 00 00 ED +T 87 0B 00 00 1E 59 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 10 00 +T 8C 0B 00 00 00 00 00 00 CD 00 00 00 00 AF DD +R 00 00 01 00 02 04 10 00 02 09 01 00 +T 93 0B 00 00 77 FE DD 77 FF 2A 12 00 00 00 ED R 00 00 01 00 00 0A 03 00 -T BA 0B 00 00 4B 14 00 00 00 CD 00 00 00 00 22 -R 00 00 01 00 00 05 03 00 02 0A 0C 00 -T C1 0B 00 00 12 00 00 00 ED 43 14 00 00 00 18 +T 9C 0B 00 00 4B 14 00 00 00 CD 00 00 00 00 22 +R 00 00 01 00 00 05 03 00 02 0A 0D 00 +T A3 0B 00 00 12 00 00 00 ED 43 14 00 00 00 18 R 00 00 01 00 00 04 03 00 00 0A 03 00 -T C8 0B 00 00 25 +T AA 0B 00 00 25 R 00 00 01 00 -T C9 0B 00 00 +T AB 0B 00 00 R 00 00 01 00 -T C9 0B 00 00 1E 52 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 11 00 -T CE 0B 00 00 00 00 00 00 CD 00 00 00 00 DD 36 -R 00 00 01 00 02 04 11 00 02 09 01 00 -T D5 0B 00 00 FC 01 DD 36 FD 00 2A 16 00 00 00 +T AB 0B 00 00 1E 52 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 10 00 +T B0 0B 00 00 00 00 00 00 CD 00 00 00 00 DD 36 +R 00 00 01 00 02 04 10 00 02 09 01 00 +T B7 0B 00 00 FE 01 DD 36 FF 00 2A 16 00 00 00 R 00 00 01 00 00 0B 03 00 -T DE 0B 00 00 ED 4B 18 00 00 00 CD 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 0C 00 -T E5 0B 00 00 22 16 00 00 00 ED 43 18 00 00 00 +T C0 0B 00 00 ED 4B 18 00 00 00 CD 00 00 00 00 +R 00 00 01 00 00 06 03 00 02 0B 0D 00 +T C7 0B 00 00 22 16 00 00 00 ED 43 18 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T EC 0B 00 00 18 00 +T CE 0B 00 00 18 00 R 00 00 01 00 -T EE 0B 00 00 +T D0 0B 00 00 R 00 00 01 00 -T EE 0B 00 00 DD 36 FA 00 00 00 00 DD 36 FB -R 00 00 01 00 0B 07 2C 00 -T F5 0B 00 00 00 00 00 00 -R 00 00 01 00 8B 04 2C 00 -T F6 0B 00 00 +T D0 0B 00 00 DD 36 FC 00 00 00 00 DD 36 FD +R 00 00 01 00 0B 07 29 00 +T D7 0B 00 00 00 00 00 00 +R 00 00 01 00 8B 04 29 00 +T D8 0B 00 00 R 00 00 01 00 -T F6 0B 00 00 DD 6E FA DD 66 FB 7E 23 B6 23 B6 +T D8 0B 00 00 DD 6E FC DD 66 FD 7E 23 B6 23 B6 R 00 00 01 00 -T 01 0C 00 00 28 25 +T E3 0B 00 00 28 25 R 00 00 01 00 -T 03 0C 00 00 +T E5 0B 00 00 R 00 00 01 00 -T 03 0C 00 00 DD 5E FC DD 56 FD DD 6E FA DD 66 +T E5 0B 00 00 DD 5E FE DD 56 FF DD 6E FC DD 66 R 00 00 01 00 -T 0E 0C 00 00 FB 4E 23 46 23 7E 69 60 CD +T F0 0B 00 00 FD 4E 23 46 23 7E 69 60 CD R 00 00 01 00 -T 17 0C 00 00 00 00 00 00 DD 7E FA C6 03 DD 77 +T F9 0B 00 00 00 00 00 00 DD 7E FC C6 03 DD 77 R 00 00 01 00 02 04 01 00 -T 20 0C 00 00 FA 30 03 DD 34 FB +T 02 0C 00 00 FC 30 03 DD 34 FD R 00 00 01 00 -T 26 0C 00 00 +T 08 0C 00 00 R 00 00 01 00 -T 26 0C 00 00 18 CE +T 08 0C 00 00 18 CE R 00 00 01 00 -T 28 0C 00 00 +T 0A 0C 00 00 R 00 00 01 00 -T 28 0C 00 00 C3 5C 0B 00 00 +T 0A 0C 00 00 C3 5F 0B 00 00 R 00 00 01 00 00 05 01 00 T 00 00 00 00 R 00 00 02 00 @@ -1272,20 +1261,20 @@ T 4E 00 00 00 R 00 00 04 00 T 4E 00 00 00 R 00 00 04 00 -T 00 00 00 00 00 00 00 00 08 0B 00 00 00 00 -R 00 00 05 00 4A 04 0D 00 48 08 01 00 +T 00 00 00 00 00 00 00 00 12 0B 00 00 00 00 +R 00 00 05 00 4A 04 2E 00 48 08 01 00 T 08 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 09 0B 00 -T 10 00 00 00 39 09 00 00 00 00 00 00 00 00 00 +R 00 00 05 00 4A 09 21 00 +T 10 00 00 00 43 09 00 00 00 00 00 00 00 00 00 R 00 00 05 00 48 04 01 00 -T 1A 00 00 00 00 00 00 00 00 0A 00 00 00 00 -R 00 00 05 00 4A 04 22 00 48 08 01 00 +T 1A 00 00 00 00 00 00 00 0A 0A 00 00 00 00 +R 00 00 05 00 4A 04 2B 00 48 08 01 00 T 22 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 09 32 00 -T 2A 00 00 00 4B 08 00 00 00 00 00 00 00 00 00 +R 00 00 05 00 4A 09 2D 00 +T 2A 00 00 00 55 08 00 00 00 00 00 00 00 00 00 R 00 00 05 00 48 04 01 00 -T 34 00 00 00 00 00 00 00 EA 0A 00 00 00 00 -R 00 00 05 00 4A 04 3A 00 48 08 01 00 +T 34 00 00 00 00 00 00 00 F4 0A 00 00 00 00 +R 00 00 05 00 4A 04 36 00 48 08 01 00 T 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 05 00 T 47 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/src/nos/lib/net_lib/audit.rel b/src/nos/lib/net_lib/audit.rel index 226a183a..1a6061b4 100644 --- a/src/nos/lib/net_lib/audit.rel +++ b/src/nos/lib/net_lib/audit.rel @@ -2,31 +2,31 @@ XL4 H 2 areas 15 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _fflush Ref00000000 +S ___02c3_b9a0_Garbage_20bp_20_25l Ref00000000 +S ___04c7_72d6_bp_20_25lx_20tot_20 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___049e_94f6_anext_20pointer_20o Ref00000000 +S ___026f_cb1c_Data_20outside_20he Ref00000000 S ?LEAVE_DIRECT_L09 Ref00000000 -S ___0430_72d6_bp_20_25lx_20tot_20 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S ___0280_b9a0_Garbage_20bp_20_25l Ref00000000 -S ___0232_cb1c_Data_20outside_20he Ref00000000 -S ___0408_94f6_anext_20pointer_20o Ref00000000 -S ___0234_3cbb_Data_20pointer_20be Ref00000000 -S ___0322_281b_PANIC_3a_20buffer_2 Ref00000000 +S ___0271_3cbb_Data_20pointer_20be Ref00000000 S __Uend Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S __STKRED Ref00000000 -S ___052a_7718_next_20pointer_20ou Ref00000000 S __printf Ref00000000 +S ___0396_281b_PANIC_3a_20buffer_2 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0305_998c_NULL_20BUFFER_0a Ref00000000 -S ___0233_01be_Data_20pointer_20_2 Ref00000000 +S ___05f6_7718_next_20pointer_20ou Ref00000000 +S ___0371_998c_NULL_20BUFFER_0a Ref00000000 +S ___0270_01be_Data_20pointer_20_2 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 341 flags 0 S _audit Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0C 00 T 09 00 00 00 66 03 DD 75 FE DD 74 FF R 00 00 01 00 T 11 00 00 00 @@ -48,11 +48,11 @@ R 00 00 01 00 T 42 00 00 00 R 00 00 01 00 T 42 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 04 00 T 45 00 00 00 R 00 00 01 00 T 45 00 00 00 CD 00 00 00 00 F0 FF DD 36 F6 12 -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0C 00 T 4E 00 00 00 DD 36 F7 00 AF DD 77 FA DD 77 FB R 00 00 01 00 T 59 00 00 00 DD 7E 02 DD B6 03 20 03 @@ -64,9 +64,9 @@ R 00 00 01 00 00 05 01 00 T 64 00 00 00 R 00 00 01 00 T 64 00 00 00 DD 36 FC 00 00 00 00 DD 36 FD -R 00 00 01 00 0B 07 0C 00 +R 00 00 01 00 0B 07 0B 00 T 6B 00 00 00 00 00 00 00 ED 4B 00 00 00 00 A7 -R 00 00 01 00 8B 04 0C 00 02 0A 0E 00 +R 00 00 01 00 8B 04 0B 00 02 0A 0D 00 T 71 00 00 00 21 00 00 ED 42 DD 75 FE DD 74 FF R 00 00 01 00 T 7C 00 00 00 21 FC FF DD 4E 02 DD 46 03 09 DD @@ -80,9 +80,9 @@ R 00 00 01 00 T 9A 00 00 00 DD 6E 02 DD 66 03 01 00 00 C5 E5 R 00 00 01 00 T A5 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0B 07 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 T AB 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 10 00 02 0B 10 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T B1 00 00 00 CD 00 00 00 00 F1 F1 F1 F1 DD 34 R 00 00 01 00 02 05 00 00 T BA 00 00 00 FA 20 03 DD 34 FB @@ -116,7 +116,7 @@ R 00 00 01 00 T 12 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 T 18 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 10 00 02 0B 10 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T 1E 01 00 00 CD 00 00 00 00 F1 F1 DD 34 FA 20 R 00 00 01 00 02 05 00 00 T 27 01 00 00 03 DD 34 FB @@ -138,7 +138,7 @@ R 00 00 01 00 T 50 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 13 00 02 0B 13 00 T 56 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 10 00 02 0B 10 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T 5C 01 00 00 CD 00 00 00 00 F1 F1 DD 34 FA 20 R 00 00 01 00 02 05 00 00 T 65 01 00 00 03 DD 34 FB @@ -170,9 +170,9 @@ R 00 00 01 00 T A9 01 00 00 R 00 00 01 00 T A9 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 08 00 02 0B 08 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 T AF 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 10 00 02 0B 10 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T B5 01 00 00 CD 00 00 00 00 F1 F1 DD 34 FA 20 R 00 00 01 00 02 05 00 00 T BE 01 00 00 03 DD 34 FB @@ -204,9 +204,9 @@ R 00 00 01 00 T F6 01 00 00 R 00 00 01 00 T F6 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 05 11 00 02 0B 11 00 T FC 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 10 00 02 0B 10 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T 02 02 00 00 CD 00 00 00 00 F1 F1 DD 34 FA 20 R 00 00 01 00 02 05 00 00 T 0B 02 00 00 03 DD 34 FB @@ -238,9 +238,9 @@ R 00 00 01 00 T 49 02 00 00 R 00 00 01 00 T 49 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 09 00 02 0B 09 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 T 4F 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 10 00 02 0B 10 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T 55 02 00 00 CD 00 00 00 00 F1 F1 DD 34 FA 20 R 00 00 01 00 02 05 00 00 T 5E 02 00 00 03 DD 34 FB @@ -258,13 +258,13 @@ R 00 00 01 00 00 0B 01 00 T 73 02 00 00 DD 6E 08 DD 66 09 E5 DD 6E 04 DD R 00 00 01 00 T 7E 02 00 00 66 05 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 0B 00 +R 00 00 01 00 2B 08 0F 00 T 85 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 2B 0A 10 00 +R 00 00 01 00 02 04 0F 00 2B 0A 0E 00 T 8B 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 10 00 02 09 00 00 +R 00 00 01 00 02 04 0E 00 02 09 00 00 T 92 02 00 00 F1 F1 21 40 00 ED 4B 00 00 00 00 -R 00 00 01 00 02 0B 05 00 +R 00 00 01 00 02 0B 08 00 T 9B 02 00 00 09 5E 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 09 01 00 T A2 02 00 00 00 00 00 00 CD 00 00 00 00 @@ -278,11 +278,11 @@ R 00 00 01 00 T A9 02 00 00 R 00 00 01 00 T A9 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 +R 00 00 01 00 02 05 07 00 T AC 02 00 00 R 00 00 01 00 T AC 02 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0C 00 T B5 02 00 00 B6 03 20 13 R 00 00 01 00 T B9 02 00 00 @@ -290,7 +290,7 @@ R 00 00 01 00 T B9 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 12 00 02 0B 12 00 T BF 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 10 00 02 0B 10 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T C5 02 00 00 CD 00 00 00 00 F1 F1 18 72 R 00 00 01 00 02 05 00 00 T CC 02 00 00 @@ -312,14 +312,14 @@ R 00 00 01 00 T 19 03 00 00 23 56 23 66 6A 29 29 E5 69 60 11 R 00 00 01 00 T 24 03 00 00 00 00 D5 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 04 00 +R 00 00 01 00 2B 09 03 00 T 2C 03 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 04 00 2B 0A 10 00 +R 00 00 01 00 02 04 03 00 2B 0A 0E 00 T 32 03 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 10 00 02 09 00 00 +R 00 00 01 00 02 04 0E 00 02 09 00 00 T 39 03 00 00 18 00 39 F9 EB R 00 00 01 00 T 3E 03 00 00 R 00 00 01 00 T 3E 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 +R 00 00 01 00 02 05 07 00 diff --git a/src/nos/lib/net_lib/bind.rel b/src/nos/lib/net_lib/bind.rel index d3992a4e..144f37a9 100644 --- a/src/nos/lib/net_lib/bind.rel +++ b/src/nos/lib/net_lib/bind.rel @@ -24,7 +24,7 @@ T 15 00 00 00 FC DD 74 FD 7D B4 20 13 R 00 00 01 00 T 1D 00 00 00 R 00 00 01 00 -T 1D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 1D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 26 00 00 00 09 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -36,7 +36,7 @@ T 30 00 00 00 DD 7E 04 DD B6 05 20 13 R 00 00 01 00 T 38 00 00 00 R 00 00 01 00 -T 38 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 38 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 41 00 00 00 0E 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -50,7 +50,7 @@ T 56 00 00 00 23 B6 28 13 R 00 00 01 00 T 5A 00 00 00 R 00 00 01 00 -T 5A 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 5A 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 63 00 00 00 16 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -78,7 +78,7 @@ T B3 00 00 00 R 00 00 01 00 T B3 00 00 00 R 00 00 01 00 -T B3 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T B3 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T BC 00 00 00 67 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -118,7 +118,7 @@ T 3E 01 00 00 R 00 00 01 00 T 3E 01 00 00 R 00 00 01 00 -T 3E 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 3E 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 47 01 00 00 69 23 36 00 21 FF FF 18 03 R 00 00 01 00 diff --git a/src/nos/lib/net_lib/close.rel b/src/nos/lib/net_lib/close.rel index 1c038400..4fe1cb7a 100644 --- a/src/nos/lib/net_lib/close.rel +++ b/src/nos/lib/net_lib/close.rel @@ -27,7 +27,7 @@ T 1D 00 00 00 FF DD CB 03 7E 28 12 R 00 00 01 00 T 24 00 00 00 R 00 00 01 00 -T 24 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 24 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 05 00 T 2D 00 00 00 16 23 36 00 21 FF FF 18 67 R 00 00 01 00 @@ -75,7 +75,7 @@ T 8C 00 00 00 10 R 00 00 01 00 T 8D 00 00 00 R 00 00 01 00 -T 8D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 8D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 05 00 T 96 00 00 00 16 23 36 00 21 FF FF R 00 00 01 00 diff --git a/src/nos/lib/net_lib/close_s.rel b/src/nos/lib/net_lib/close_s.rel index ea9d6cd0..81a776e1 100644 --- a/src/nos/lib/net_lib/close_s.rel +++ b/src/nos/lib/net_lib/close_s.rel @@ -26,7 +26,7 @@ T 15 00 00 00 FC DD 74 FD 7D B4 20 13 R 00 00 01 00 T 1D 00 00 00 R 00 00 01 00 -T 1D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 1D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 26 00 00 00 09 23 36 00 21 FF FF C3 R 00 00 01 00 diff --git a/src/nos/lib/net_lib/cmdparse.rel b/src/nos/lib/net_lib/cmdparse.rel index cbf114fc..7498d606 100644 --- a/src/nos/lib/net_lib/cmdparse.rel +++ b/src/nos/lib/net_lib/cmdparse.rel @@ -1,58 +1,59 @@ XL4 -H 5 areas 2C global symbols +H 5 areas 2D global symbols S _stricmp Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___01c5_6aba__3a_20_25ld_0a Ref00000000 -S ___0022_a0dd__0a Ref00000000 +S ___0090_269f__20_25s Ref00000000 +S ___01f3_6aba__3a_20_25ld_0a Ref00000000 +S ___0023_a0dd__0a Ref00000000 S _rip Ref00000000 -S ___0077_269f__20_25s Ref00000000 -S ___01c8_3c02__3a_20_25u_0a Ref00000000 -S ___03db_3d32_Valid_20options_3a Ref00000000 +S ___045e_0a8d_Usage_3a_20 Ref00000000 +S ___01f6_3c02__3a_20_25u_0a Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___06ec_d261_valid_20subcommands Ref00000000 S _strchr Ref00000000 -S ___037d_cfe9_SUBCMD_20_2d_20Don_ Ref00000000 S _strlen Ref00000000 -S ___01c7_68d2__3a_20_25s_0a Ref00000000 S _strdupw Ref00000000 +S ___01f5_68d2__3a_20_25s_0a Ref00000000 S ?LEAVE_DIRECT_L09 Ref00000000 S ___getfail Ref00000000 +S ___0400_cfe9_SUBCMD_20_2d_20Don_ Ref00000000 S _strtoul Ref00000000 S .__.ABS. Def00000000 -S ___060e_d261_valid_20subcommands Ref00000000 S _free Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S __gettext Ref00000000 S _callocw Ref00000000 +S ___046c_3d32_Valid_20options_3a Ref00000000 S __strncmp Ref00000000 -S ___01c4_b04b__3a_20_25d_0a Ref00000000 +S ___0389_ae74_Not_20enough_20memo Ref00000000 +S ___010b_55d7__22_25s_22_20_2d_20 Ref00000000 S __puts Ref00000000 +S ___01f2_b04b__3a_20_25d_0a Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _atoi Ref00000000 -S ___00f2_55d7__22_25s_22_20_2d_20 Ref00000000 S _atol Ref00000000 S ?SS_CMP_L02 Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___002e_2e85__20 Ref00000000 -S ___03cd_0a8d_Usage_3a_20 Ref00000000 +S ___002f_2e85__20 Ref00000000 S _newproc Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size C33 flags 0 +A CODE size C5D flags 0 S _cmdparse Def0000023B -S _setint Def00000B5D -S _bit16cmd Def000009F3 -S _setuns Def00000BC8 -S _setbool Def000008D8 -S _setshort Def00000AF2 -S _setlong Def00000A7D -S _subcmd Def000005E7 +S _setint Def00000B87 +S _bit16cmd Def00000A1D +S _setuns Def00000BF2 +S _setbool Def00000902 +S _setshort Def00000B1C +S _setlong Def00000AA7 +S _subcmd Def000005FC A CSTR size 3B flags 0 A IDATA0 size 3C flags 0 A CDATA0 size 3C flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF DD 6E 02 DD -R 00 00 01 00 02 05 1A 00 +R 00 00 01 00 02 05 1D 00 T 09 00 00 00 66 03 DD 75 FA DD 74 FB R 00 00 01 00 T 11 00 00 00 @@ -176,9 +177,9 @@ R 00 00 01 00 T 53 01 00 00 39 4D 44 DD 5E 02 DD 56 03 1B DD R 00 00 01 00 T 5E 01 00 00 73 02 DD 72 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 10 00 +R 00 00 01 00 2B 0A 11 00 T 66 01 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 10 00 02 09 01 00 +R 00 00 01 00 02 04 11 00 02 09 01 00 T 6D 01 00 00 75 FC DD 74 FD DD 71 FE DD 70 FF R 00 00 01 00 T 78 01 00 00 E5 DD 6E FA DD 66 FB 23 DD 75 FA @@ -194,7 +195,7 @@ R 00 00 01 00 T A1 01 00 00 56 03 1B DD 73 02 DD 72 03 3E R 00 00 01 00 T AB 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 10 00 02 09 10 00 +R 00 00 01 00 2B 04 11 00 02 09 11 00 T B0 01 00 00 00 00 00 00 F1 DD 75 FC DD 74 FD R 00 00 01 00 02 04 01 00 T B9 01 00 00 DD 71 FE DD 70 FF E5 DD 6E FA DD @@ -254,9 +255,9 @@ R 00 00 01 00 02 05 0E 00 T 3B 02 00 00 R 00 00 01 00 T 3B 02 00 00 CD 00 00 00 00 CA FF 59 50 3E -R 00 00 01 00 02 05 1A 00 +R 00 00 01 00 02 05 1D 00 T 43 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T 48 02 00 00 00 00 00 00 AF DD 77 F8 DD 77 F9 R 00 00 01 00 02 04 01 00 T 51 02 00 00 @@ -329,7 +330,7 @@ T E0 02 00 00 R 00 00 01 00 T E0 02 00 00 R 00 00 01 00 -T E0 02 00 00 21 00 00 C3 E4 05 00 00 +T E0 02 00 00 21 00 00 C3 F9 05 00 00 R 00 00 01 00 00 08 01 00 T E6 02 00 00 R 00 00 01 00 @@ -361,7 +362,7 @@ T 33 03 00 00 DD 75 04 DD 74 05 7D B4 20 06 R 00 00 01 00 T 3D 03 00 00 R 00 00 01 00 -T 3D 03 00 00 21 FF FF C3 E4 05 00 00 +T 3D 03 00 00 21 FF FF C3 F9 05 00 00 R 00 00 01 00 00 08 01 00 T 43 03 00 00 R 00 00 01 00 @@ -372,13 +373,13 @@ R 00 00 01 00 T 45 03 00 00 01 20 00 DD 5E 04 DD 56 05 3E R 00 00 01 00 T 4F 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 54 03 00 00 00 00 00 00 DD 75 F4 DD 74 F5 7D R 00 00 01 00 02 04 01 00 T 5D 03 00 00 B4 20 1D 01 09 00 DD 5E 04 DD 56 R 00 00 01 00 T 68 03 00 00 05 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 +R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 T 6E 03 00 00 CD 00 00 00 00 DD 75 F4 DD 74 F5 R 00 00 01 00 02 05 01 00 T 77 03 00 00 7D B4 20 02 @@ -438,7 +439,7 @@ R 00 00 01 00 T F0 03 00 00 46 2B 4E C5 DD 5E CC DD 56 CD 3E R 00 00 01 00 T FB 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 17 00 02 09 17 00 +R 00 00 01 00 2B 04 18 00 02 09 18 00 T 00 04 00 00 00 00 00 00 F1 F1 F1 7D B4 20 02 R 00 00 01 00 02 04 01 00 T 09 04 00 00 @@ -472,10 +473,10 @@ R 00 00 01 00 T 38 04 00 00 21 0A 00 DD 4E CA DD 46 CB 09 5E R 00 00 01 00 T 43 04 00 00 23 56 23 4E 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 19 00 +R 00 00 01 00 2B 09 1B 00 T 4A 04 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 19 00 02 09 01 00 -T 50 04 00 00 FF FF C3 E4 05 00 00 +R 00 00 01 00 02 04 1B 00 02 09 01 00 +T 50 04 00 00 FF FF C3 F9 05 00 00 R 00 00 01 00 00 07 01 00 T 55 04 00 00 R 00 00 01 00 @@ -486,22 +487,22 @@ R 00 00 01 00 T 60 04 00 00 23 46 DD 6E F8 DD 66 F9 CD R 00 00 01 00 T 69 04 00 00 00 00 00 00 30 2E -R 00 00 01 00 02 04 1E 00 +R 00 00 01 00 02 04 20 00 T 6D 04 00 00 R 00 00 01 00 T 6D 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 22 00 02 0B 22 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 T 73 04 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1F 00 02 0B 1F 00 +R 00 00 01 00 2B 06 21 00 02 0B 21 00 T 79 04 00 00 CD 00 00 00 00 F1 F1 21 0A 00 DD R 00 00 01 00 02 05 01 00 T 82 04 00 00 4E CA DD 46 CB 09 5E 23 56 23 4E R 00 00 01 00 T 8D 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 19 00 02 0A 19 00 +R 00 00 01 00 2B 05 1B 00 02 0A 1B 00 T 93 04 00 00 00 00 00 00 21 FF FF C3 R 00 00 01 00 02 04 01 00 -T 99 04 00 00 E4 05 00 00 +T 99 04 00 00 F9 05 00 00 R 00 00 01 00 00 04 01 00 T 9B 04 00 00 R 00 00 01 00 @@ -511,7 +512,7 @@ T A6 04 00 00 B6 23 B6 20 06 R 00 00 01 00 T AB 04 00 00 R 00 00 01 00 -T AB 04 00 00 21 00 00 C3 E4 05 00 00 +T AB 04 00 00 21 00 00 C3 F9 05 00 00 R 00 00 01 00 00 08 01 00 T B1 04 00 00 R 00 00 01 00 @@ -529,7 +530,7 @@ T D6 04 00 00 CA DD 66 CB 23 23 23 4E 23 46 23 R 00 00 01 00 T E1 04 00 00 7E 69 60 C1 CD 00 00 00 00 F1 C3 R 00 00 01 00 02 09 01 00 -T EA 04 00 00 E4 05 00 00 +T EA 04 00 00 F9 05 00 00 R 00 00 01 00 00 04 01 00 T EC 04 00 00 R 00 00 01 00 @@ -546,7 +547,7 @@ R 00 00 01 00 T 0A 05 00 00 DD 4E F8 DD 46 F9 DD 6E FA DD 66 R 00 00 01 00 T 15 05 00 00 FB CD 00 00 00 00 30 3A -R 00 00 01 00 02 06 1E 00 +R 00 00 01 00 02 06 20 00 T 1B 05 00 00 R 00 00 01 00 T 1B 05 00 00 DD 6E FA DD 66 FB 29 DD 4E F6 DD @@ -556,7 +557,7 @@ R 00 00 01 00 T 31 05 00 00 E5 21 06 00 39 4D 44 E1 09 5E 23 R 00 00 01 00 T 3C 05 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 +R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 T 42 05 00 00 CD 00 00 00 00 4D 44 E1 71 23 70 R 00 00 01 00 02 05 01 00 T 4B 05 00 00 DD 34 FA 20 03 DD 34 FB @@ -579,7 +580,7 @@ T 72 05 00 00 R 00 00 01 00 T 72 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 0F 00 02 0A 0F 00 -T 78 05 00 00 00 00 00 00 18 5B +T 78 05 00 00 00 00 00 00 18 70 R 00 00 01 00 02 04 01 00 T 7C 05 00 00 R 00 00 01 00 @@ -596,592 +597,616 @@ R 00 00 01 00 T B3 05 00 00 46 DD 5E FC DD 56 FD 3E R 00 00 01 00 T BB 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 23 00 02 09 23 00 +R 00 00 01 00 2B 04 24 00 02 09 24 00 T C0 05 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB R 00 00 01 00 02 04 01 00 -T C9 05 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 +T C9 05 00 00 7D B4 20 11 +R 00 00 01 00 +T CD 05 00 00 +R 00 00 01 00 +T CD 05 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 19 00 02 0B 19 00 +T D3 05 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 21 00 02 0B 21 00 +T D9 05 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 05 01 00 +T DE 05 00 00 +R 00 00 01 00 +T DE 05 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 R 00 00 01 00 2B 0B 13 00 -T D1 05 00 00 21 00 00 00 00 CD 00 00 00 00 +T E6 05 00 00 21 00 00 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 13 00 02 0A 01 00 -T D7 05 00 00 +T EC 05 00 00 R 00 00 01 00 -T D7 05 00 00 AF DD 77 FA DD 77 FB DD 6E FA DD +T EC 05 00 00 AF DD 77 FA DD 77 FB DD 6E FA DD R 00 00 01 00 -T E2 05 00 00 66 FB +T F7 05 00 00 66 FB R 00 00 01 00 -T E4 05 00 00 +T F9 05 00 00 R 00 00 01 00 -T E4 05 00 00 C3 00 00 00 00 +T F9 05 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 08 00 -T E7 05 00 00 +T FC 05 00 00 R 00 00 01 00 -T E7 05 00 00 CD 00 00 00 00 F6 FF AF DD 77 FA -R 00 00 01 00 02 05 1A 00 -T F0 05 00 00 DD 77 FB 11 02 80 69 60 3E 80 AC +T FC 05 00 00 CD 00 00 00 00 F6 FF AF DD 77 FA +R 00 00 01 00 02 05 1D 00 +T 05 06 00 00 DD 77 FB 11 02 80 69 60 3E 80 AC R 00 00 01 00 -T FB 05 00 00 67 ED 52 30 46 +T 10 06 00 00 67 ED 52 30 46 R 00 00 01 00 -T 00 06 00 00 +T 15 06 00 00 R 00 00 01 00 -T 00 06 00 00 01 01 80 DD 6E 04 DD 66 05 3E 80 +T 15 06 00 00 01 01 80 DD 6E 04 DD 66 05 3E 80 R 00 00 01 00 -T 0B 06 00 00 AC 67 ED 42 30 13 +T 20 06 00 00 AC 67 ED 42 30 13 R 00 00 01 00 -T 11 06 00 00 +T 26 06 00 00 R 00 00 01 00 -T 11 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 -T 17 06 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1F 00 02 0B 1F 00 -T 1D 06 00 00 CD 00 00 00 00 F1 F1 18 1C +T 26 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 10 00 02 0B 10 00 +T 2C 06 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 21 00 02 0B 21 00 +T 32 06 00 00 CD 00 00 00 00 F1 F1 18 1C R 00 00 01 00 02 05 01 00 -T 24 06 00 00 +T 39 06 00 00 R 00 00 01 00 -T 24 06 00 00 DD 6E 0A DD 66 0B 4E 23 46 C5 0E +T 39 06 00 00 DD 6E 0A DD 66 0B 4E 23 46 C5 0E R 00 00 01 00 -T 2F 06 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 1C 00 02 0A 1C 00 -T 35 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1F 00 02 0A 1F 00 -T 3B 06 00 00 00 00 00 00 F1 F1 F1 +T 44 06 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 1A 00 02 0A 1A 00 +T 4A 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 21 00 02 0A 21 00 +T 50 06 00 00 00 00 00 00 F1 F1 F1 R 00 00 01 00 02 04 01 00 -T 40 06 00 00 +T 55 06 00 00 R 00 00 01 00 -T 40 06 00 00 21 FF FF C3 D5 08 00 00 +T 55 06 00 00 21 FF FF C3 FF 08 00 00 R 00 00 01 00 00 08 01 00 -T 46 06 00 00 +T 5B 06 00 00 R 00 00 01 00 -T 46 06 00 00 DD 6E 04 DD 66 05 2B DD 75 04 DD +T 5B 06 00 00 DD 6E 04 DD 66 05 2B DD 75 04 DD R 00 00 01 00 -T 51 06 00 00 74 05 DD 7E 0A C6 02 DD 77 0A 30 +T 66 06 00 00 74 05 DD 7E 0A C6 02 DD 77 0A 30 R 00 00 01 00 -T 5C 06 00 00 03 DD 34 0B +T 71 06 00 00 03 DD 34 0B R 00 00 01 00 -T 60 06 00 00 +T 75 06 00 00 R 00 00 01 00 -T 60 06 00 00 DD 6E 02 DD 66 03 DD 75 F6 DD 74 +T 75 06 00 00 DD 6E 02 DD 66 03 DD 75 F6 DD 74 R 00 00 01 00 -T 6B 06 00 00 F7 +T 80 06 00 00 F7 R 00 00 01 00 -T 6C 06 00 00 +T 81 06 00 00 R 00 00 01 00 -T 6C 06 00 00 DD 6E F6 DD 66 F7 7E 23 B6 23 B6 +T 81 06 00 00 DD 6E F6 DD 66 F7 7E 23 B6 23 B6 R 00 00 01 00 -T 77 06 00 00 28 52 +T 8C 06 00 00 28 52 R 00 00 01 00 -T 79 06 00 00 +T 8E 06 00 00 R 00 00 01 00 -T 79 06 00 00 DD 6E 0A DD 66 0B 5E 23 56 3E +T 8E 06 00 00 DD 6E 0A DD 66 0B 5E 23 56 3E R 00 00 01 00 -T 83 06 00 00 00 00 00 00 21 00 00 00 00 CD +T 98 06 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0B 00 02 09 0B 00 -T 88 06 00 00 00 00 00 00 E5 DD 6E F6 DD 66 F7 +T 9D 06 00 00 00 00 00 00 E5 DD 6E F6 DD 66 F7 R 00 00 01 00 02 04 01 00 -T 91 06 00 00 23 23 4E C5 2B 46 2B 4E C5 DD 6E +T A6 06 00 00 23 23 4E C5 2B 46 2B 4E C5 DD 6E R 00 00 01 00 -T 9C 06 00 00 0A DD 66 0B 5E 23 56 3E +T B1 06 00 00 0A DD 66 0B 5E 23 56 3E R 00 00 01 00 -T A4 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 17 00 02 09 17 00 -T A9 06 00 00 00 00 00 00 F1 F1 F1 7D B4 20 0A +T B9 06 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 18 00 02 09 18 00 +T BE 06 00 00 00 00 00 00 F1 F1 F1 7D B4 20 0A R 00 00 01 00 02 04 01 00 -T B2 06 00 00 +T C7 06 00 00 R 00 00 01 00 -T B2 06 00 00 DD 36 FA 01 DD 36 FB 00 18 0F +T C7 06 00 00 DD 36 FA 01 DD 36 FB 00 18 0F R 00 00 01 00 -T BC 06 00 00 +T D1 06 00 00 R 00 00 01 00 -T BC 06 00 00 DD 7E F6 C6 0D DD 77 F6 30 03 DD +T D1 06 00 00 DD 7E F6 C6 0D DD 77 F6 30 03 DD R 00 00 01 00 -T C7 06 00 00 34 F7 +T DC 06 00 00 34 F7 R 00 00 01 00 -T C9 06 00 00 +T DE 06 00 00 R 00 00 01 00 -T C9 06 00 00 18 A1 +T DE 06 00 00 18 A1 R 00 00 01 00 -T CB 06 00 00 +T E0 06 00 00 R 00 00 01 00 -T CB 06 00 00 DD 7E FA DD B6 FB 20 7A +T E0 06 00 00 DD 7E FA DD B6 FB 20 7A R 00 00 01 00 -T D3 06 00 00 +T E8 06 00 00 R 00 00 01 00 -T D3 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 12 00 02 0B 12 00 -T D9 06 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1F 00 02 0B 1F 00 -T DF 06 00 00 CD 00 00 00 00 F1 F1 DD 6E 02 DD +T E8 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 +T EE 06 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 21 00 02 0B 21 00 +T F4 06 00 00 CD 00 00 00 00 F1 F1 DD 6E 02 DD R 00 00 01 00 02 05 01 00 -T E8 06 00 00 66 03 DD 75 F6 DD 74 F7 +T FD 06 00 00 66 03 DD 75 F6 DD 74 F7 R 00 00 01 00 -T F0 06 00 00 +T 05 07 00 00 R 00 00 01 00 -T F0 06 00 00 DD 6E F6 DD 66 F7 7E 23 B6 23 B6 +T 05 07 00 00 DD 6E F6 DD 66 F7 7E 23 B6 23 B6 R 00 00 01 00 -T FB 06 00 00 28 39 +T 10 07 00 00 28 39 R 00 00 01 00 -T FD 06 00 00 +T 12 07 00 00 R 00 00 01 00 -T FD 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 21 00 02 0B 21 00 -T 03 07 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1F 00 02 0B 1F 00 -T 09 07 00 00 CD 00 00 00 00 F1 F1 DD 6E F6 DD +T 12 07 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 23 00 02 0B 23 00 +T 18 07 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 21 00 02 0B 21 00 +T 1E 07 00 00 CD 00 00 00 00 F1 F1 DD 6E F6 DD R 00 00 01 00 02 05 01 00 -T 12 07 00 00 66 F7 23 23 4E C5 2B 46 2B 4E C5 +T 27 07 00 00 66 F7 23 23 4E C5 2B 46 2B 4E C5 R 00 00 01 00 -T 1D 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1F 00 02 0A 1F 00 -T 23 07 00 00 00 00 00 00 F1 F1 DD 7E F6 C6 0D +T 32 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 21 00 02 0A 21 00 +T 38 07 00 00 00 00 00 00 F1 F1 DD 7E F6 C6 0D R 00 00 01 00 02 04 01 00 -T 2C 07 00 00 DD 77 F6 30 03 DD 34 F7 +T 41 07 00 00 DD 77 F6 30 03 DD 34 F7 R 00 00 01 00 -T 34 07 00 00 +T 49 07 00 00 R 00 00 01 00 -T 34 07 00 00 18 BA +T 49 07 00 00 18 BA R 00 00 01 00 -T 36 07 00 00 +T 4B 07 00 00 R 00 00 01 00 -T 36 07 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 -T 3C 07 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1F 00 02 0B 1F 00 -T 42 07 00 00 CD 00 00 00 00 F1 F1 21 FF FF C3 +T 4B 07 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 +T 51 07 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 21 00 02 0B 21 00 +T 57 07 00 00 CD 00 00 00 00 F1 F1 21 FF FF C3 R 00 00 01 00 02 05 01 00 -T 4B 07 00 00 D5 08 00 00 +T 60 07 00 00 FF 08 00 00 R 00 00 01 00 00 04 01 00 -T 4D 07 00 00 +T 62 07 00 00 R 00 00 01 00 -T 4D 07 00 00 21 08 00 DD 4E F6 DD 46 F7 09 4E +T 62 07 00 00 21 08 00 DD 4E F6 DD 46 F7 09 4E R 00 00 01 00 -T 58 07 00 00 23 46 DD 6E 04 DD 66 05 CD +T 6D 07 00 00 23 46 DD 6E 04 DD 66 05 CD R 00 00 01 00 -T 61 07 00 00 00 00 00 00 30 3F -R 00 00 01 00 02 04 1E 00 -T 65 07 00 00 +T 76 07 00 00 00 00 00 00 30 3F +R 00 00 01 00 02 04 20 00 +T 7A 07 00 00 R 00 00 01 00 -T 65 07 00 00 21 0A 00 DD 4E F6 DD 46 F7 09 7E +T 7A 07 00 00 21 0A 00 DD 4E F6 DD 46 F7 09 7E R 00 00 01 00 -T 70 07 00 00 23 B6 23 B6 28 28 +T 85 07 00 00 23 B6 23 B6 28 28 R 00 00 01 00 -T 76 07 00 00 +T 8B 07 00 00 R 00 00 01 00 -T 76 07 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 22 00 02 0B 22 00 -T 7C 07 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1F 00 02 0B 1F 00 -T 82 07 00 00 CD 00 00 00 00 F1 F1 21 0A 00 DD +T 8B 07 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 +T 91 07 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 21 00 02 0B 21 00 +T 97 07 00 00 CD 00 00 00 00 F1 F1 21 0A 00 DD R 00 00 01 00 02 05 01 00 -T 8B 07 00 00 4E F6 DD 46 F7 09 5E 23 56 23 4E +T A0 07 00 00 4E F6 DD 46 F7 09 5E 23 56 23 4E R 00 00 01 00 -T 96 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 19 00 02 0A 19 00 -T 9C 07 00 00 00 00 00 00 +T AB 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 1B 00 02 0A 1B 00 +T B1 07 00 00 00 00 00 00 R 00 00 01 00 02 04 01 00 -T 9E 07 00 00 +T B3 07 00 00 R 00 00 01 00 -T 9E 07 00 00 21 FF FF C3 D5 08 00 00 +T B3 07 00 00 21 FF FF C3 FF 08 00 00 R 00 00 01 00 00 08 01 00 -T A4 07 00 00 +T B9 07 00 00 R 00 00 01 00 -T A4 07 00 00 21 06 00 DD 4E F6 DD 46 F7 09 7E +T B9 07 00 00 21 06 00 DD 4E F6 DD 46 F7 09 7E R 00 00 01 00 -T AF 07 00 00 23 B6 20 2C +T C4 07 00 00 23 B6 20 2C R 00 00 01 00 -T B3 07 00 00 +T C8 07 00 00 R 00 00 01 00 -T B3 07 00 00 DD 6E 0C DD 66 0D E5 DD 4E 0A DD +T C8 07 00 00 DD 6E 0C DD 66 0D E5 DD 4E 0A DD R 00 00 01 00 -T BE 07 00 00 46 0B C5 DD 5E 04 DD 56 05 DD 6E +T D3 07 00 00 46 0B C5 DD 5E 04 DD 56 05 DD 6E R 00 00 01 00 -T C9 07 00 00 F6 DD 66 F7 23 23 23 4E 23 46 23 +T DE 07 00 00 F6 DD 66 F7 23 23 23 4E 23 46 23 R 00 00 01 00 -T D4 07 00 00 7E 69 60 C1 CD 00 00 00 00 F1 C3 +T E9 07 00 00 7E 69 60 C1 CD 00 00 00 00 F1 C3 R 00 00 01 00 02 09 01 00 -T DD 07 00 00 D5 08 00 00 +T F2 07 00 00 FF 08 00 00 R 00 00 01 00 00 04 01 00 -T DF 07 00 00 +T F4 07 00 00 R 00 00 01 00 -T DF 07 00 00 01 02 00 DD 5E 04 DD 56 05 3E +T F4 07 00 00 01 02 00 DD 5E 04 DD 56 05 3E R 00 00 01 00 -T E9 07 00 00 00 00 00 00 21 00 00 00 00 CD +T FE 07 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 16 00 02 09 16 00 -T EE 07 00 00 00 00 00 00 DD 75 F8 DD 74 F9 AF +T 03 08 00 00 00 00 00 00 DD 75 F8 DD 74 F9 AF R 00 00 01 00 02 04 01 00 -T F7 07 00 00 DD 77 FC DD 77 FD +T 0C 08 00 00 DD 77 FC DD 77 FD R 00 00 01 00 -T FD 07 00 00 +T 12 08 00 00 R 00 00 01 00 -T FD 07 00 00 DD 4E 04 DD 46 05 DD 6E FC DD 66 +T 12 08 00 00 DD 4E 04 DD 46 05 DD 6E FC DD 66 R 00 00 01 00 -T 08 08 00 00 FD CD 00 00 00 00 30 38 -R 00 00 01 00 02 06 1E 00 -T 0E 08 00 00 +T 1D 08 00 00 FD CD 00 00 00 00 30 38 +R 00 00 01 00 02 06 20 00 +T 23 08 00 00 R 00 00 01 00 -T 0E 08 00 00 DD 6E FC DD 66 FD 29 DD 4E F8 DD +T 23 08 00 00 DD 6E FC DD 66 FD 29 DD 4E F8 DD R 00 00 01 00 -T 19 08 00 00 46 F9 09 E5 DD 6E FC DD 66 FD 29 +T 2E 08 00 00 46 F9 09 E5 DD 6E FC DD 66 FD 29 R 00 00 01 00 -T 24 08 00 00 DD 4E 0A DD 46 0B 09 5E 23 56 3E +T 39 08 00 00 DD 4E 0A DD 46 0B 09 5E 23 56 3E R 00 00 01 00 -T 2F 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0D 00 02 09 0D 00 -T 34 08 00 00 00 00 00 00 4D 44 E1 71 23 70 DD +T 44 08 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +T 49 08 00 00 00 00 00 00 4D 44 E1 71 23 70 DD R 00 00 01 00 02 04 01 00 -T 3D 08 00 00 34 FC 20 03 DD 34 FD +T 52 08 00 00 34 FC 20 03 DD 34 FD R 00 00 01 00 -T 44 08 00 00 +T 59 08 00 00 R 00 00 01 00 -T 44 08 00 00 18 B7 +T 59 08 00 00 18 B7 R 00 00 01 00 -T 46 08 00 00 +T 5B 08 00 00 R 00 00 01 00 -T 46 08 00 00 DD 6E F6 DD 66 F7 5E 23 56 23 4E +T 5B 08 00 00 DD 6E F6 DD 66 F7 5E 23 56 23 4E R 00 00 01 00 -T 51 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD +T 66 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 15 00 02 0A 15 00 -T 57 08 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D +T 6C 08 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D R 00 00 01 00 02 04 01 00 -T 60 08 00 00 B4 20 0A +T 75 08 00 00 B4 20 0A R 00 00 01 00 -T 63 08 00 00 +T 78 08 00 00 R 00 00 01 00 -T 63 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD +T 78 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 0F 00 02 0A 0F 00 -T 69 08 00 00 00 00 00 00 18 5B +T 7E 08 00 00 00 00 00 00 18 70 R 00 00 01 00 02 04 01 00 -T 6D 08 00 00 +T 82 08 00 00 R 00 00 01 00 -T 6D 08 00 00 21 01 00 E5 DD 6E 0C DD 66 0D E5 +T 82 08 00 00 21 01 00 E5 DD 6E 0C DD 66 0D E5 R 00 00 01 00 -T 78 08 00 00 DD 6E F8 DD 66 F9 E5 DD 6E 04 DD +T 8D 08 00 00 DD 6E F8 DD 66 F9 E5 DD 6E 04 DD R 00 00 01 00 -T 83 08 00 00 66 05 E5 DD 6E F6 DD 66 F7 23 23 +T 98 08 00 00 66 05 E5 DD 6E F6 DD 66 F7 23 23 R 00 00 01 00 -T 8E 08 00 00 23 23 23 4E C5 2B 46 2B 4E C5 21 +T A3 08 00 00 23 23 23 4E C5 2B 46 2B 4E C5 21 R 00 00 01 00 -T 99 08 00 00 06 00 DD 4E F6 DD 46 F7 09 4E 23 +T AE 08 00 00 06 00 DD 4E F6 DD 46 F7 09 4E 23 R 00 00 01 00 -T A4 08 00 00 46 DD 5E FE DD 56 FF 3E +T B9 08 00 00 46 DD 5E FE DD 56 FF 3E R 00 00 01 00 -T AC 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 23 00 02 09 23 00 -T B1 08 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB +T C1 08 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 24 00 02 09 24 00 +T C6 08 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB R 00 00 01 00 02 04 01 00 -T BA 08 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +T CF 08 00 00 7D B4 20 11 +R 00 00 01 00 +T D3 08 00 00 +R 00 00 01 00 +T D3 08 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 19 00 02 0B 19 00 +T D9 08 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 21 00 02 0B 21 00 +T DF 08 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 05 01 00 +T E4 08 00 00 +R 00 00 01 00 +T E4 08 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 R 00 00 01 00 2B 0B 13 00 -T C2 08 00 00 21 00 00 00 00 CD 00 00 00 00 +T EC 08 00 00 21 00 00 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 13 00 02 0A 01 00 -T C8 08 00 00 +T F2 08 00 00 R 00 00 01 00 -T C8 08 00 00 AF DD 77 FC DD 77 FD DD 6E FC DD +T F2 08 00 00 AF DD 77 FC DD 77 FD DD 6E FC DD R 00 00 01 00 -T D3 08 00 00 66 FD +T FD 08 00 00 66 FD R 00 00 01 00 -T D5 08 00 00 +T FF 08 00 00 R 00 00 01 00 -T D5 08 00 00 C3 00 00 00 00 +T FF 08 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 08 00 -T D8 08 00 00 +T 02 09 00 00 R 00 00 01 00 -T D8 08 00 00 CD 00 00 00 00 FE FF 01 02 80 DD -R 00 00 01 00 02 05 1A 00 -T E1 08 00 00 6E 0E DD 66 0F 3E 80 AC 67 ED 42 +T 02 09 00 00 CD 00 00 00 00 FE FF 01 02 80 DD +R 00 00 01 00 02 05 1D 00 +T 0B 09 00 00 6E 0E DD 66 0F 3E 80 AC 67 ED 42 R 00 00 01 00 -T EC 08 00 00 30 41 +T 16 09 00 00 30 41 R 00 00 01 00 -T EE 08 00 00 +T 18 09 00 00 R 00 00 01 00 -T EE 08 00 00 DD 6E 0C E5 DD 6E 0A DD 66 0B E5 +T 18 09 00 00 DD 6E 0C E5 DD 6E 0A DD 66 0B E5 R 00 00 01 00 -T F9 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1F 00 02 0A 1F 00 -T FF 08 00 00 00 00 00 00 F1 F1 DD 6E 02 DD 66 +T 23 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 21 00 02 0A 21 00 +T 29 09 00 00 00 00 00 00 F1 F1 DD 6E 02 DD 66 R 00 00 01 00 02 04 01 00 -T 08 09 00 00 03 7E 23 B6 28 05 21 0B 00 00 00 +T 32 09 00 00 03 7E 23 B6 28 05 21 0B 00 00 00 R 00 00 01 00 00 0B 02 00 -T 11 09 00 00 18 03 +T 3B 09 00 00 18 03 R 00 00 01 00 -T 13 09 00 00 +T 3D 09 00 00 R 00 00 01 00 -T 13 09 00 00 21 26 00 00 00 +T 3D 09 00 00 21 26 00 00 00 R 00 00 01 00 00 05 02 00 -T 16 09 00 00 -R 00 00 01 00 -T 16 09 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 0C 00 -T 1B 09 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0C 00 2B 0A 1F 00 -T 21 09 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 1F 00 02 09 01 00 -T 28 09 00 00 F1 21 00 00 C3 F0 09 00 00 +T 40 09 00 00 +R 00 00 01 00 +T 40 09 00 00 E5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 06 0D 00 +T 45 09 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 0D 00 2B 0A 21 00 +T 4B 09 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 21 00 02 09 01 00 +T 52 09 00 00 F1 21 00 00 C3 1A 0A 00 00 R 00 00 01 00 00 09 01 00 -T 2F 09 00 00 +T 59 09 00 00 R 00 00 01 00 -T 2F 09 00 00 DD 36 FE 00 00 00 00 DD 36 FF +T 59 09 00 00 DD 36 FE 00 00 00 00 DD 36 FF R 00 00 01 00 09 07 03 00 -T 36 09 00 00 00 00 00 00 +T 60 09 00 00 00 00 00 00 R 00 00 01 00 89 04 03 00 -T 37 09 00 00 +T 61 09 00 00 R 00 00 01 00 -T 37 09 00 00 DD 6E FE DD 66 FF 7E 23 B6 28 4B +T 61 09 00 00 DD 6E FE DD 66 FF 7E 23 B6 28 4B R 00 00 01 00 -T 42 09 00 00 +T 6C 09 00 00 R 00 00 01 00 -T 42 09 00 00 DD 6E FE DD 66 FF 4E 23 46 DD 6E +T 6C 09 00 00 DD 6E FE DD 66 FF 4E 23 46 DD 6E R 00 00 01 00 -T 4D 09 00 00 10 DD 66 11 23 23 5E 23 56 3E +T 77 09 00 00 10 DD 66 11 23 23 5E 23 56 3E R 00 00 01 00 -T 57 09 00 00 00 00 00 00 21 00 00 00 00 CD +T 81 09 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 5C 09 00 00 00 00 00 00 7D B4 20 1C +T 86 09 00 00 00 00 00 00 7D B4 20 1C R 00 00 01 00 02 04 01 00 -T 62 09 00 00 +T 8C 09 00 00 R 00 00 01 00 -T 62 09 00 00 DD 6E FE DD 66 FF 23 23 46 23 66 +T 8C 09 00 00 DD 6E FE DD 66 FF 23 23 46 23 66 R 00 00 01 00 -T 6D 09 00 00 68 E5 DD 6E 02 DD 66 03 C1 71 23 +T 97 09 00 00 68 E5 DD 6E 02 DD 66 03 C1 71 23 R 00 00 01 00 -T 78 09 00 00 70 21 00 00 18 72 +T A2 09 00 00 70 21 00 00 18 72 R 00 00 01 00 -T 7E 09 00 00 +T A8 09 00 00 R 00 00 01 00 -T 7E 09 00 00 DD 7E FE C6 04 DD 77 FE 30 03 DD +T A8 09 00 00 DD 7E FE C6 04 DD 77 FE 30 03 DD R 00 00 01 00 -T 89 09 00 00 34 FF +T B3 09 00 00 34 FF R 00 00 01 00 -T 8B 09 00 00 +T B5 09 00 00 R 00 00 01 00 -T 8B 09 00 00 18 AA +T B5 09 00 00 18 AA R 00 00 01 00 -T 8D 09 00 00 +T B7 09 00 00 R 00 00 01 00 -T 8D 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0B 07 00 -T 93 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1F 00 02 0B 1F 00 -T 99 09 00 00 CD 00 00 00 00 F1 F1 DD 36 FE +T B7 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 17 00 02 0B 17 00 +T BD 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 21 00 02 0B 21 00 +T C3 09 00 00 CD 00 00 00 00 F1 F1 DD 36 FE R 00 00 01 00 02 05 01 00 -T A1 09 00 00 00 00 00 00 DD 36 FF 00 00 00 00 +T CB 09 00 00 00 00 00 00 DD 36 FF 00 00 00 00 R 00 00 01 00 09 04 03 00 89 0B 03 00 -T A6 09 00 00 +T D0 09 00 00 R 00 00 01 00 -T A6 09 00 00 DD 6E FE DD 66 FF 7E 23 B6 28 2B +T D0 09 00 00 DD 6E FE DD 66 FF 7E 23 B6 28 2B R 00 00 01 00 -T B1 09 00 00 +T DB 09 00 00 R 00 00 01 00 -T B1 09 00 00 DD 6E FE DD 66 FF 4E 23 46 C5 0E +T DB 09 00 00 DD 6E FE DD 66 FF 4E 23 46 C5 0E R 00 00 01 00 -T BC 09 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 -T C2 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1F 00 02 0A 1F 00 -T C8 09 00 00 00 00 00 00 F1 F1 F1 DD 7E FE C6 +T E6 09 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 02 00 02 0A 02 00 +T EC 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 21 00 02 0A 21 00 +T F2 09 00 00 00 00 00 00 F1 F1 F1 DD 7E FE C6 R 00 00 01 00 02 04 01 00 -T D1 09 00 00 04 DD 77 FE 30 03 DD 34 FF +T FB 09 00 00 04 DD 77 FE 30 03 DD 34 FF R 00 00 01 00 -T DA 09 00 00 +T 04 0A 00 00 R 00 00 01 00 -T DA 09 00 00 18 CA +T 04 0A 00 00 18 CA R 00 00 01 00 -T DC 09 00 00 +T 06 0A 00 00 R 00 00 01 00 -T DC 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 -T E2 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1F 00 02 0B 1F 00 -T E8 09 00 00 CD 00 00 00 00 F1 F1 21 01 00 +T 06 0A 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 +T 0C 0A 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 21 00 02 0B 21 00 +T 12 0A 00 00 CD 00 00 00 00 F1 F1 21 01 00 R 00 00 01 00 02 05 01 00 -T F0 09 00 00 +T 1A 0A 00 00 R 00 00 01 00 -T F0 09 00 00 C3 00 00 00 00 +T 1A 0A 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 08 00 -T F3 09 00 00 +T 1D 0A 00 00 R 00 00 01 00 -T F3 09 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 1A 00 -T FC 09 00 00 66 03 7E A1 5F 23 7E A0 57 DD 73 +T 1D 0A 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD +R 00 00 01 00 02 05 1D 00 +T 26 0A 00 00 66 03 7E A1 5F 23 7E A0 57 DD 73 R 00 00 01 00 -T 07 0A 00 00 FC DD 72 FD DD 6E 10 DD 66 11 E5 +T 31 0A 00 00 FC DD 72 FD DD 6E 10 DD 66 11 E5 R 00 00 01 00 -T 12 0A 00 00 DD 6E 0E DD 66 0F E5 DD 6E 0C E5 +T 3C 0A 00 00 DD 6E 0E DD 66 0F E5 DD 6E 0C E5 R 00 00 01 00 -T 1D 0A 00 00 DD 6E 0A DD 66 0B E5 21 08 00 39 +T 47 0A 00 00 DD 6E 0A DD 66 0B E5 21 08 00 39 R 00 00 01 00 -T 28 0A 00 00 5D 54 3E D8 08 00 00 21 +T 52 0A 00 00 5D 54 3E 02 09 00 00 21 R 00 00 01 00 29 07 01 00 -T 2D 0A 00 00 D8 08 00 00 CD 00 00 00 00 F1 F1 +T 57 0A 00 00 02 09 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 00 04 01 00 02 09 01 00 -T 34 0A 00 00 F1 F1 DD 75 FE DD 74 FF 7D B4 20 +T 5E 0A 00 00 F1 F1 DD 75 FE DD 74 FF 7D B4 20 R 00 00 01 00 -T 3F 0A 00 00 34 +T 69 0A 00 00 34 R 00 00 01 00 -T 40 0A 00 00 +T 6A 0A 00 00 R 00 00 01 00 -T 40 0A 00 00 DD 7E FC DD B6 FD 28 13 +T 6A 0A 00 00 DD 7E FC DD B6 FD 28 13 R 00 00 01 00 -T 48 0A 00 00 +T 72 0A 00 00 R 00 00 01 00 -T 48 0A 00 00 DD 6E 02 DD 66 03 7E DD B6 04 77 +T 72 0A 00 00 DD 6E 02 DD 66 03 7E DD B6 04 77 R 00 00 01 00 -T 53 0A 00 00 23 7E DD B6 05 77 18 19 +T 7D 0A 00 00 23 7E DD B6 05 77 18 19 R 00 00 01 00 -T 5B 0A 00 00 +T 85 0A 00 00 R 00 00 01 00 -T 5B 0A 00 00 DD 4E 04 DD 46 05 79 2F 4F 78 2F +T 85 0A 00 00 DD 4E 04 DD 46 05 79 2F 4F 78 2F R 00 00 01 00 -T 66 0A 00 00 47 DD 6E 02 DD 66 03 7E A1 77 23 +T 90 0A 00 00 47 DD 6E 02 DD 66 03 7E A1 77 23 R 00 00 01 00 -T 71 0A 00 00 7E A0 77 +T 9B 0A 00 00 7E A0 77 R 00 00 01 00 -T 74 0A 00 00 +T 9E 0A 00 00 R 00 00 01 00 -T 74 0A 00 00 +T 9E 0A 00 00 R 00 00 01 00 -T 74 0A 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 +T 9E 0A 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 R 00 00 01 00 02 0B 08 00 -T 7D 0A 00 00 +T A7 0A 00 00 R 00 00 01 00 -T 7D 0A 00 00 CD 00 00 00 00 01 02 80 DD 6E 0E +T A7 0A 00 00 CD 00 00 00 00 01 02 80 DD 6E 0E R 00 00 01 00 02 05 14 00 -T 86 0A 00 00 DD 66 0F 3E 80 AC 67 ED 42 30 39 +T B0 0A 00 00 DD 66 0F 3E 80 AC 67 ED 42 30 39 R 00 00 01 00 -T 91 0A 00 00 +T BB 0A 00 00 R 00 00 01 00 -T 91 0A 00 00 DD 6E 0C E5 DD 6E 0A DD 66 0B E5 +T BB 0A 00 00 DD 6E 0C E5 DD 6E 0A DD 66 0B E5 R 00 00 01 00 -T 9C 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1F 00 02 0A 1F 00 -T A2 0A 00 00 00 00 00 00 F1 F1 DD 6E 02 DD 66 +T C6 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 21 00 02 0A 21 00 +T CC 0A 00 00 00 00 00 00 F1 F1 DD 6E 02 DD 66 R 00 00 01 00 02 04 01 00 -T AB 0A 00 00 03 4E 23 46 23 5E 23 56 D5 C5 0E +T D5 0A 00 00 03 4E 23 46 23 5E 23 56 D5 C5 0E R 00 00 01 00 -T B6 0A 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 02 00 02 0A 02 00 -T BC 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1F 00 02 0A 1F 00 -T C2 0A 00 00 00 00 00 00 F1 F1 F1 F1 18 22 +T E0 0A 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 +T E6 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 21 00 02 0A 21 00 +T EC 0A 00 00 00 00 00 00 F1 F1 F1 F1 18 22 R 00 00 01 00 02 04 01 00 -T CA 0A 00 00 +T F4 0A 00 00 R 00 00 01 00 -T CA 0A 00 00 DD 6E 10 DD 66 11 23 23 5E 23 56 +T F4 0A 00 00 DD 6E 10 DD 66 11 23 23 5E 23 56 R 00 00 01 00 -T D5 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1D 00 02 0A 1D 00 -T DB 0A 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 +T FF 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 1F 00 02 0A 1F 00 +T 05 0B 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 R 00 00 01 00 02 04 01 00 -T E4 0A 00 00 D1 73 23 72 23 71 23 70 +T 0E 0B 00 00 D1 73 23 72 23 71 23 70 R 00 00 01 00 -T EC 0A 00 00 +T 16 0B 00 00 R 00 00 01 00 -T EC 0A 00 00 21 00 00 C3 00 00 00 00 +T 16 0B 00 00 21 00 00 C3 00 00 00 00 R 00 00 01 00 02 08 08 00 -T F2 0A 00 00 +T 1C 0B 00 00 R 00 00 01 00 -T F2 0A 00 00 CD 00 00 00 00 01 02 80 DD 6E 0E +T 1C 0B 00 00 CD 00 00 00 00 01 02 80 DD 6E 0E R 00 00 01 00 02 05 14 00 -T FB 0A 00 00 DD 66 0F 3E 80 AC 67 ED 42 30 33 +T 25 0B 00 00 DD 66 0F 3E 80 AC 67 ED 42 30 33 R 00 00 01 00 -T 06 0B 00 00 +T 30 0B 00 00 R 00 00 01 00 -T 06 0B 00 00 DD 6E 0C E5 DD 6E 0A DD 66 0B E5 +T 30 0B 00 00 DD 6E 0C E5 DD 6E 0A DD 66 0B E5 R 00 00 01 00 -T 11 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1F 00 02 0A 1F 00 -T 17 0B 00 00 00 00 00 00 F1 F1 DD 6E 02 DD 66 +T 3B 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 21 00 02 0A 21 00 +T 41 0B 00 00 00 00 00 00 F1 F1 DD 6E 02 DD 66 R 00 00 01 00 02 04 01 00 -T 20 0B 00 00 03 4E 23 46 C5 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 06 00 -T 28 0B 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 06 00 2B 0B 1F 00 -T 2E 0B 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 1F 00 02 0A 01 00 -T 35 0B 00 00 F1 F1 18 1E +T 4A 0B 00 00 03 4E 23 46 C5 0E 00 00 00 00 C5 +R 00 00 01 00 2B 0A 07 00 +T 52 0B 00 00 21 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 07 00 2B 0B 21 00 +T 58 0B 00 00 21 00 00 00 00 CD 00 00 00 00 F1 +R 00 00 01 00 02 05 21 00 02 0A 01 00 +T 5F 0B 00 00 F1 F1 18 1E R 00 00 01 00 -T 39 0B 00 00 +T 63 0B 00 00 R 00 00 01 00 -T 39 0B 00 00 DD 6E 10 DD 66 11 23 23 5E 23 56 +T 63 0B 00 00 DD 6E 10 DD 66 11 23 23 5E 23 56 R 00 00 01 00 -T 44 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1B 00 02 0A 1B 00 -T 4A 0B 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 +T 6E 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 1E 00 02 0A 1E 00 +T 74 0B 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 R 00 00 01 00 02 04 01 00 -T 53 0B 00 00 C1 71 23 70 +T 7D 0B 00 00 C1 71 23 70 R 00 00 01 00 -T 57 0B 00 00 +T 81 0B 00 00 R 00 00 01 00 -T 57 0B 00 00 21 00 00 C3 00 00 00 00 +T 81 0B 00 00 21 00 00 C3 00 00 00 00 R 00 00 01 00 02 08 08 00 -T 5D 0B 00 00 +T 87 0B 00 00 R 00 00 01 00 -T 5D 0B 00 00 CD 00 00 00 00 01 02 80 DD 6E 0E +T 87 0B 00 00 CD 00 00 00 00 01 02 80 DD 6E 0E R 00 00 01 00 02 05 14 00 -T 66 0B 00 00 DD 66 0F 3E 80 AC 67 ED 42 30 33 +T 90 0B 00 00 DD 66 0F 3E 80 AC 67 ED 42 30 33 R 00 00 01 00 -T 71 0B 00 00 +T 9B 0B 00 00 R 00 00 01 00 -T 71 0B 00 00 DD 6E 0C E5 DD 6E 0A DD 66 0B E5 +T 9B 0B 00 00 DD 6E 0C E5 DD 6E 0A DD 66 0B E5 R 00 00 01 00 -T 7C 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1F 00 02 0A 1F 00 -T 82 0B 00 00 00 00 00 00 F1 F1 DD 6E 02 DD 66 +T A6 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 21 00 02 0A 21 00 +T AC 0B 00 00 00 00 00 00 F1 F1 DD 6E 02 DD 66 R 00 00 01 00 02 04 01 00 -T 8B 0B 00 00 03 4E 23 46 C5 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 18 00 -T 93 0B 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 18 00 2B 0B 1F 00 -T 99 0B 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 1F 00 02 0A 01 00 -T A0 0B 00 00 F1 F1 18 1E +T B5 0B 00 00 03 4E 23 46 C5 0E 00 00 00 00 C5 +R 00 00 01 00 2B 0A 1C 00 +T BD 0B 00 00 21 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 1C 00 2B 0B 21 00 +T C3 0B 00 00 21 00 00 00 00 CD 00 00 00 00 F1 +R 00 00 01 00 02 05 21 00 02 0A 01 00 +T CA 0B 00 00 F1 F1 18 1E R 00 00 01 00 -T A4 0B 00 00 +T CE 0B 00 00 R 00 00 01 00 -T A4 0B 00 00 DD 6E 10 DD 66 11 23 23 5E 23 56 +T CE 0B 00 00 DD 6E 10 DD 66 11 23 23 5E 23 56 R 00 00 01 00 -T AF 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1B 00 02 0A 1B 00 -T B5 0B 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 +T D9 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 1E 00 02 0A 1E 00 +T DF 0B 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 R 00 00 01 00 02 04 01 00 -T BE 0B 00 00 C1 71 23 70 +T E8 0B 00 00 C1 71 23 70 R 00 00 01 00 -T C2 0B 00 00 +T EC 0B 00 00 R 00 00 01 00 -T C2 0B 00 00 21 00 00 C3 00 00 00 00 +T EC 0B 00 00 21 00 00 C3 00 00 00 00 R 00 00 01 00 02 08 08 00 -T C8 0B 00 00 +T F2 0B 00 00 R 00 00 01 00 -T C8 0B 00 00 CD 00 00 00 00 01 02 80 DD 6E 0E +T F2 0B 00 00 CD 00 00 00 00 01 02 80 DD 6E 0E R 00 00 01 00 02 05 14 00 -T D1 0B 00 00 DD 66 0F 3E 80 AC 67 ED 42 30 33 +T FB 0B 00 00 DD 66 0F 3E 80 AC 67 ED 42 30 33 R 00 00 01 00 -T DC 0B 00 00 +T 06 0C 00 00 R 00 00 01 00 -T DC 0B 00 00 DD 6E 0C E5 DD 6E 0A DD 66 0B E5 +T 06 0C 00 00 DD 6E 0C E5 DD 6E 0A DD 66 0B E5 R 00 00 01 00 -T E7 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1F 00 02 0A 1F 00 -T ED 0B 00 00 00 00 00 00 F1 F1 DD 6E 02 DD 66 +T 11 0C 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 21 00 02 0A 21 00 +T 17 0C 00 00 00 00 00 00 F1 F1 DD 6E 02 DD 66 R 00 00 01 00 02 04 01 00 -T F6 0B 00 00 03 4E 23 46 C5 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 06 00 -T FE 0B 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 06 00 2B 0B 1F 00 -T 04 0C 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 1F 00 02 0A 01 00 -T 0B 0C 00 00 F1 F1 18 1E +T 20 0C 00 00 03 4E 23 46 C5 0E 00 00 00 00 C5 +R 00 00 01 00 2B 0A 07 00 +T 28 0C 00 00 21 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 07 00 2B 0B 21 00 +T 2E 0C 00 00 21 00 00 00 00 CD 00 00 00 00 F1 +R 00 00 01 00 02 05 21 00 02 0A 01 00 +T 35 0C 00 00 F1 F1 18 1E R 00 00 01 00 -T 0F 0C 00 00 +T 39 0C 00 00 R 00 00 01 00 -T 0F 0C 00 00 DD 6E 10 DD 66 11 23 23 5E 23 56 +T 39 0C 00 00 DD 6E 10 DD 66 11 23 23 5E 23 56 R 00 00 01 00 -T 1A 0C 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1B 00 02 0A 1B 00 -T 20 0C 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 +T 44 0C 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 1E 00 02 0A 1E 00 +T 4A 0C 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 R 00 00 01 00 02 04 01 00 -T 29 0C 00 00 C1 71 23 70 +T 53 0C 00 00 C1 71 23 70 R 00 00 01 00 -T 2D 0C 00 00 +T 57 0C 00 00 R 00 00 01 00 -T 2D 0C 00 00 21 00 00 C3 00 00 00 00 +T 57 0C 00 00 21 00 00 C3 00 00 00 00 R 00 00 01 00 02 08 08 00 T 00 00 00 00 R 00 00 02 00 diff --git a/src/nos/lib/net_lib/connect.rel b/src/nos/lib/net_lib/connect.rel index 1facac76..3d41c26b 100644 --- a/src/nos/lib/net_lib/connect.rel +++ b/src/nos/lib/net_lib/connect.rel @@ -25,7 +25,7 @@ T 15 00 00 00 FC DD 74 FD 7D B4 20 13 R 00 00 01 00 T 1D 00 00 00 R 00 00 01 00 -T 1D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 1D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 26 00 00 00 09 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -37,7 +37,7 @@ T 30 00 00 00 DD 7E 04 DD B6 05 20 13 R 00 00 01 00 T 38 00 00 00 R 00 00 01 00 -T 38 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 38 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 41 00 00 00 0E 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -65,7 +65,7 @@ T 91 00 00 00 R 00 00 01 00 T 91 00 00 00 R 00 00 01 00 -T 91 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 91 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 9A 00 00 00 67 23 36 00 21 FF FF C3 R 00 00 01 00 diff --git a/src/nos/lib/net_lib/devparam.rel b/src/nos/lib/net_lib/devparam.rel index 3d6711ff..8b87730c 100644 --- a/src/nos/lib/net_lib/devparam.rel +++ b/src/nos/lib/net_lib/devparam.rel @@ -13,9 +13,9 @@ A _DEFAULT size 0 flags 0 A CODE size E6 flags 0 S _devparam Def00000000 S _parmname Def00000095 -A CSTR size 84 flags 0 -A IDATA0 size 58 flags 0 -A CDATA0 size 58 flags 0 +A CSTR size 96 flags 0 +A IDATA0 size 64 flags 0 +A CDATA0 size 64 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF DD 5E 02 DD @@ -198,19 +198,31 @@ T 6A 00 00 00 57 61 69 74 00 R 00 00 02 00 T 6F 00 00 00 R 00 00 02 00 -T 6F 00 00 00 44 6F 77 6E 00 +T 6F 00 00 00 43 6C 6F 73 65 00 R 00 00 02 00 -T 74 00 00 00 +T 75 00 00 00 +R 00 00 02 00 +T 75 00 00 00 4F 70 65 6E 00 +R 00 00 02 00 +T 7A 00 00 00 +R 00 00 02 00 +T 7A 00 00 00 4C 69 73 74 65 6E 00 +R 00 00 02 00 +T 81 00 00 00 R 00 00 02 00 -T 74 00 00 00 55 70 00 +T 81 00 00 00 44 6F 77 6E 00 R 00 00 02 00 -T 77 00 00 00 +T 86 00 00 00 R 00 00 02 00 -T 77 00 00 00 42 6C 69 6E 64 00 +T 86 00 00 00 55 70 00 R 00 00 02 00 -T 7D 00 00 00 +T 89 00 00 00 R 00 00 02 00 -T 7D 00 00 00 52 65 74 75 72 6E 00 +T 89 00 00 00 42 6C 69 6E 64 00 +R 00 00 02 00 +T 8F 00 00 00 +R 00 00 02 00 +T 8F 00 00 00 52 65 74 75 72 6E 00 R 00 00 02 00 T 00 00 00 00 R 00 00 03 00 @@ -238,11 +250,15 @@ T 36 00 00 00 5A 00 00 00 0E 00 5F 00 00 00 R 00 00 04 00 00 04 02 00 00 0A 02 00 T 3C 00 00 00 0F 00 63 00 00 00 10 00 R 00 00 04 00 00 06 02 00 -T 42 00 00 00 6A 00 00 00 81 00 6F 00 00 00 +T 42 00 00 00 6A 00 00 00 11 00 6F 00 00 00 +R 00 00 04 00 00 04 02 00 00 0A 02 00 +T 48 00 00 00 12 00 75 00 00 00 13 00 +R 00 00 04 00 00 06 02 00 +T 4E 00 00 00 7A 00 00 00 81 00 81 00 00 00 R 00 00 04 00 00 04 02 00 00 0A 02 00 -T 48 00 00 00 82 00 74 00 00 00 83 00 +T 54 00 00 00 82 00 86 00 00 00 83 00 R 00 00 04 00 00 06 02 00 -T 4E 00 00 00 77 00 00 00 FF 00 7D 00 00 00 +T 5A 00 00 00 89 00 00 00 FF 00 8F 00 00 00 R 00 00 04 00 00 04 02 00 00 0A 02 00 -T 54 00 00 00 FF FF 00 00 +T 60 00 00 00 FF FF 00 00 R 00 00 04 00 diff --git a/src/nos/lib/net_lib/dodetach.rel b/src/nos/lib/net_lib/dodetach.rel index 9fcc5aab..23655870 100644 --- a/src/nos/lib/net_lib/dodetach.rel +++ b/src/nos/lib/net_lib/dodetach.rel @@ -2,13 +2,13 @@ XL4 H 2 areas B global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _if_lookup Ref00000000 +S ___0302_6e91_Interface_20_25s_20 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _if_detach Ref00000000 +S ___023a_d5d6_Can_27t_20detach_20 Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S __printf Ref00000000 -S ___02ab_6e91_Interface_20_25s_20 Ref00000000 -S ___0208_d5d6_Can_27t_20detach_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 6B flags 0 @@ -16,7 +16,7 @@ S _dodetach Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 03 03 0A 5F -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 07 00 T 09 00 00 00 03 0A 57 3E 00 00 00 00 21 R 00 00 01 00 2B 08 01 00 T 0F 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 @@ -28,27 +28,27 @@ R 00 00 01 00 T 1E 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T 29 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 07 00 +R 00 00 01 00 2B 06 02 00 T 2E 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 07 00 2B 0A 06 00 +R 00 00 01 00 02 04 02 00 2B 0A 08 00 T 34 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 06 00 02 09 00 00 +R 00 00 01 00 02 04 08 00 02 09 00 00 T 3B 00 00 00 F1 21 01 00 18 27 R 00 00 01 00 T 41 00 00 00 R 00 00 01 00 T 41 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 03 00 +R 00 00 01 00 2B 0B 04 00 T 49 00 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 03 00 02 0A 00 00 +R 00 00 01 00 02 05 04 00 02 0A 00 00 T 50 00 00 00 A4 3C 20 11 R 00 00 01 00 T 54 00 00 00 R 00 00 01 00 T 54 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 08 00 02 0B 08 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 T 5A 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 06 00 02 0B 06 00 +R 00 00 01 00 2B 06 08 00 02 0B 08 00 T 60 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 05 00 00 T 65 00 00 00 @@ -58,4 +58,4 @@ R 00 00 01 00 T 68 00 00 00 R 00 00 01 00 T 68 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/net_lib/dodialer.rel b/src/nos/lib/net_lib/dodialer.rel index 17e23e5d..6c7a9c08 100644 --- a/src/nos/lib/net_lib/dodialer.rel +++ b/src/nos/lib/net_lib/dodialer.rel @@ -1,27 +1,30 @@ XL4 -H 2 areas C global symbols +H 3 areas E global symbols +S _stricmp Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0238_3894_Dialing_20not_20sup Ref00000000 +S ___0275_3894_Dialing_20not_20sup Ref00000000 S _if_lookup Ref00000000 +S ___0302_6e91_Interface_20_25s_20 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?L_MUL_L03 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _atol Ref00000000 +S _dodial_exec Ref00000000 S __printf Ref00000000 -S ___02ab_6e91_Interface_20_25s_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 148 flags 0 +A CODE size 189 flags 0 S _dodialer Def00000000 +A CSTR size 5 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF 03 03 0A 5F -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 08 00 T 09 00 00 00 03 0A 57 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 02 00 +R 00 00 01 00 2B 08 03 00 T 0F 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 02 00 02 09 00 00 +R 00 00 01 00 02 04 03 00 02 09 01 00 T 16 00 00 00 FA DD 74 FB 7D B4 20 24 R 00 00 01 00 T 1E 00 00 00 @@ -29,12 +32,12 @@ R 00 00 01 00 T 1E 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T 29 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 09 00 +R 00 00 01 00 2B 06 04 00 T 2E 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 09 00 2B 0A 08 00 +R 00 00 01 00 02 04 04 00 2B 0A 0B 00 T 34 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 00 00 -T 3B 00 00 00 F1 21 01 00 C3 45 01 00 00 +R 00 00 01 00 02 04 0B 00 02 09 01 00 +T 3B 00 00 00 F1 21 01 00 C3 86 01 00 00 R 00 00 01 00 00 09 01 00 T 42 00 00 00 R 00 00 01 00 @@ -59,10 +62,10 @@ R 00 00 01 00 T 81 00 00 00 1E 00 09 4E 23 46 23 7E 69 60 CD R 00 00 01 00 T 8C 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 8E 00 00 00 R 00 00 01 00 -T 8E 00 00 00 21 00 00 C3 45 01 00 00 +T 8E 00 00 00 21 00 00 C3 86 01 00 00 R 00 00 01 00 00 08 01 00 T 94 00 00 00 R 00 00 01 00 @@ -70,47 +73,73 @@ T 94 00 00 00 21 3D 00 DD 4E FA DD 46 FB 09 46 R 00 00 01 00 T 9F 00 00 00 23 66 68 01 1B 00 09 7E 23 B6 23 R 00 00 01 00 -T AA 00 00 00 B6 20 23 +T AA 00 00 00 B6 20 24 R 00 00 01 00 T AD 00 00 00 R 00 00 01 00 T AD 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T B8 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 01 00 +R 00 00 01 00 2B 06 02 00 T BD 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 01 00 2B 0A 08 00 +R 00 00 01 00 02 04 02 00 2B 0A 0B 00 T C3 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 00 00 -T CA 00 00 00 F1 21 01 00 18 75 +R 00 00 01 00 02 04 0B 00 02 09 01 00 +T CA 00 00 00 F1 21 01 00 C3 86 01 00 00 +R 00 00 01 00 00 09 01 00 +T D1 00 00 00 +R 00 00 01 00 +T D1 00 00 00 01 00 00 00 00 21 04 00 DD 5E 04 +R 00 00 01 00 00 05 02 00 +T DA 00 00 00 DD 56 05 19 5E 23 56 3E +R 00 00 01 00 +T E2 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 00 00 02 09 00 00 +T E7 00 00 00 00 00 00 00 7D B4 20 24 +R 00 00 01 00 02 04 01 00 +T ED 00 00 00 +R 00 00 01 00 +T ED 00 00 00 21 04 00 DD 4E 04 DD 46 05 09 E5 R 00 00 01 00 -T D0 00 00 00 +T F8 00 00 00 DD 4E 02 DD 46 03 0B 0B DD 5E FA R 00 00 01 00 -T D0 00 00 00 21 04 00 DD 4E 04 DD 46 05 09 5E +T 03 01 00 00 DD 56 FB 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 0A 00 +T 09 01 00 00 00 00 00 00 CD 00 00 00 00 F1 18 +R 00 00 01 00 02 04 0A 00 02 09 01 00 +T 10 01 00 00 75 R 00 00 01 00 -T DB 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 07 00 -T E0 00 00 00 00 00 00 00 CD 00 00 00 00 C5 E5 -R 00 00 01 00 02 04 07 00 02 09 00 00 -T E7 00 00 00 01 00 00 21 E8 03 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T F0 00 00 00 DD 75 FC DD 74 FD DD 71 FE DD 70 +T 11 01 00 00 R 00 00 01 00 -T FB 00 00 00 FF 21 06 00 DD 4E 04 DD 46 05 09 +T 11 01 00 00 21 04 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 -T 06 01 00 00 E5 DD 6E 02 DD 66 03 2B 2B 2B E5 +T 1C 01 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 09 00 +T 21 01 00 00 00 00 00 00 CD 00 00 00 00 C5 E5 +R 00 00 01 00 02 04 09 00 02 09 01 00 +T 28 01 00 00 01 00 00 21 E8 03 CD 00 00 00 00 +R 00 00 01 00 02 0B 07 00 +T 31 01 00 00 DD 75 FC DD 74 FD DD 71 FE DD 70 R 00 00 01 00 -T 11 01 00 00 DD 6E FE DD 66 FF E5 DD 6E FC DD +T 3C 01 00 00 FF 21 06 00 DD 4E 04 DD 46 05 09 R 00 00 01 00 -T 1C 01 00 00 66 FD E5 DD 5E FA DD 56 FB 21 +T 47 01 00 00 E5 DD 6E 02 DD 66 03 2B 2B 2B E5 R 00 00 01 00 -T 26 01 00 00 3D 00 DD 4E FA DD 46 FB 09 46 23 +T 52 01 00 00 DD 6E FE DD 66 FF E5 DD 6E FC DD R 00 00 01 00 -T 31 01 00 00 66 68 01 1B 00 09 4E 23 46 23 7E +T 5D 01 00 00 66 FD E5 DD 5E FA DD 56 FB 21 R 00 00 01 00 -T 3C 01 00 00 69 60 CD 00 00 00 00 F1 F1 F1 F1 -R 00 00 01 00 02 07 00 00 -T 45 01 00 00 +T 67 01 00 00 3D 00 DD 4E FA DD 46 FB 09 46 23 R 00 00 01 00 -T 45 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 +T 72 01 00 00 66 68 01 1B 00 09 4E 23 46 23 7E +R 00 00 01 00 +T 7D 01 00 00 69 60 CD 00 00 00 00 F1 F1 F1 F1 +R 00 00 01 00 02 07 01 00 +T 86 01 00 00 +R 00 00 01 00 +T 86 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 05 00 +T 00 00 00 00 +R 00 00 02 00 +T 00 00 00 00 65 78 65 63 00 +R 00 00 02 00 diff --git a/src/nos/lib/net_lib/dofiles.rel b/src/nos/lib/net_lib/dofiles.rel index ce7f7004..411c33c4 100644 --- a/src/nos/lib/net_lib/dofiles.rel +++ b/src/nos/lib/net_lib/dofiles.rel @@ -1,37 +1,37 @@ XL4 H 3 areas 21 global symbols +S ___00e1_e3db__20none Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0092_2269__20ERR Ref00000000 -S ___00c8_e3db__20none Ref00000000 -S ___00de_f2f3__20sock Ref00000000 -S ___0109_ea81__25_2d4d Ref00000000 -S ___00bb_5e9d__20full Ref00000000 -S ___007f_9556__20_28_25s_20seek_3 Ref00000000 -S ___0032_8d78__20_20_20_20 Ref00000000 +S ___0122_ea81__25_2d4d Ref00000000 +S ___00d3_e36a__20file Ref00000000 +S ___00a2_01a0__20APND Ref00000000 +S ___00aa_5125__20EOF Ref00000000 +S ___00bd_c86b__20TMP Ref00000000 +S ___008b_4d6e__20_2502x Ref00000000 +S ___00de_0c74__20line Ref00000000 +S ___0033_8d78__20_20_20_20 Ref00000000 S __Files Ref00000000 -S ___006f_85f4__20_25_2d3d_20 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___00a4_c86b__20TMP Ref00000000 S _ftell Ref00000000 -S ___0072_4d6e__20_2502x Ref00000000 -S ___0031_3839__20_20_20 Ref00000000 -S ___00c5_0c74__20line Ref00000000 +S ___00f7_f2f3__20sock Ref00000000 +S ___00cb_bc24__20asy_20 Ref00000000 +S ___0032_3839__20_20_20 Ref00000000 +S ___00ab_2269__20ERR Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S ___04a5_c066_fp_20_20_20_20_20_2 Ref00000000 +S ___00d4_5e9d__20full Ref00000000 S _fputc Ref00000000 -S ___011d_936b__254s Ref00000000 -S ___0089_01a0__20APND Ref00000000 -S ___00b9_4976__20diag Ref00000000 -S ___00b2_bc24__20asy_20 Ref00000000 +S ___00d2_4976__20diag Ref00000000 +S ___0098_9556__20_28_25s_20seek_3 Ref00000000 +S ___0088_85f4__20_25_2d3d_20 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___0091_5125__20EOF Ref00000000 -S ___00ba_e36a__20file Ref00000000 S __printf Ref00000000 +S ___00f0_5760__20pipe Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___00d7_5760__20pipe Ref00000000 +S ___0548_c066_fp_20_20_20_20_20_2 Ref00000000 S ?C_V_SWITCH_L06 Ref00000000 -S ___0136_d273__25p_20 Ref00000000 +S ___0138_936b__254s Ref00000000 +S ___0151_d273__25p_20 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 32D flags 0 S _dofiles Def00000000 @@ -41,11 +41,11 @@ R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF 1E R 00 00 01 00 02 05 18 00 T 06 00 00 00 00 00 00 00 D5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 12 00 02 0A 12 00 +R 00 00 01 00 2B 04 1C 00 02 0A 1C 00 T 0C 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1B 00 02 0A 1B 00 +R 00 00 01 00 2B 05 19 00 02 0A 19 00 T 12 00 00 00 00 00 00 00 F1 F1 2A 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 0B 08 00 +R 00 00 01 00 02 04 01 00 02 0B 0A 00 T 19 00 00 00 DD 75 FC DD 74 FD R 00 00 01 00 T 1F 00 00 00 @@ -59,9 +59,9 @@ R 00 00 01 00 T 30 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 R 00 00 01 00 2B 04 1F 00 02 0A 1F 00 T 36 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1B 00 02 0A 1B 00 +R 00 00 01 00 2B 05 19 00 02 0A 19 00 T 3C 00 00 00 00 00 00 00 F1 F1 F1 21 08 00 DD -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 45 00 00 00 4E FC DD 46 FD 09 7E 23 A6 3C 28 R 00 00 01 00 T 50 00 00 00 22 @@ -71,31 +71,31 @@ R 00 00 01 00 T 51 00 00 00 21 08 00 DD 4E FC DD 46 FD 09 4E R 00 00 01 00 T 5C 00 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 04 00 +R 00 00 01 00 2B 08 02 00 T 63 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 04 00 2B 0A 1B 00 +R 00 00 01 00 02 04 02 00 2B 0A 19 00 T 69 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 1B 00 02 09 00 00 +R 00 00 01 00 02 04 19 00 02 09 01 00 T 70 00 00 00 F1 18 11 R 00 00 01 00 T 73 00 00 00 R 00 00 01 00 T 73 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0B 07 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 T 79 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1B 00 02 0B 1B 00 +R 00 00 01 00 2B 06 19 00 02 0B 19 00 T 7F 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T 84 00 00 00 R 00 00 01 00 T 84 00 00 00 DD 6E FC DD 66 FD 23 23 4E 23 46 R 00 00 01 00 T 8F 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 09 00 +R 00 00 01 00 2B 06 17 00 T 94 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 09 00 2B 0A 1B 00 +R 00 00 01 00 02 04 17 00 2B 0A 19 00 T 9A 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 1B 00 02 09 00 00 +R 00 00 01 00 02 04 19 00 02 09 01 00 T A1 00 00 00 F1 AF DD 77 FE DD 77 FF R 00 00 01 00 T A9 00 00 00 @@ -117,19 +117,19 @@ R 00 00 01 00 T DA 00 00 00 FD 09 01 16 00 09 4E 06 00 C5 0E R 00 00 01 00 T E5 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0D 00 02 0A 0D 00 +R 00 00 01 00 2B 04 07 00 02 0A 07 00 T EB 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1B 00 02 0A 1B 00 +R 00 00 01 00 2B 05 19 00 02 0A 19 00 T F1 00 00 00 00 00 00 00 F1 F1 F1 18 11 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T F8 00 00 00 R 00 00 01 00 T F8 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 T FE 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1B 00 02 0B 1B 00 +R 00 00 01 00 2B 06 19 00 02 0B 19 00 T 04 01 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T 09 01 00 00 R 00 00 01 00 T 09 01 00 00 DD 34 FE 20 03 DD 34 FF @@ -143,7 +143,7 @@ R 00 00 01 00 T 13 01 00 00 21 0E 00 DD 4E FC DD 46 FD 09 5E R 00 00 01 00 T 1E 01 00 00 CD 00 00 00 00 05 00 00 01 02 03 -R 00 00 01 00 02 05 1E 00 +R 00 00 01 00 02 05 1D 00 T 27 01 00 00 05 93 01 00 00 5A 01 00 00 R 00 00 01 00 00 05 01 00 00 09 01 00 T 2C 01 00 00 80 01 00 00 6D 01 00 00 @@ -153,43 +153,43 @@ R 00 00 01 00 00 04 01 00 00 08 01 00 T 34 01 00 00 R 00 00 01 00 T 34 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 T 3A 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1B 00 02 0B 1B 00 +R 00 00 01 00 2B 06 19 00 02 0B 19 00 T 40 01 00 00 CD 00 00 00 00 F1 F1 18 4C -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T 47 01 00 00 R 00 00 01 00 T 47 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1A 00 02 0B 1A 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 T 4D 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1B 00 02 0B 1B 00 +R 00 00 01 00 2B 06 19 00 02 0B 19 00 T 53 01 00 00 CD 00 00 00 00 F1 F1 18 39 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T 5A 01 00 00 R 00 00 01 00 T 5A 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1D 00 02 0B 1D 00 +R 00 00 01 00 2B 05 1A 00 02 0B 1A 00 T 60 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1B 00 02 0B 1B 00 +R 00 00 01 00 2B 06 19 00 02 0B 19 00 T 66 01 00 00 CD 00 00 00 00 F1 F1 18 26 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T 6D 01 00 00 R 00 00 01 00 T 6D 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 17 00 02 0B 17 00 +R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 T 73 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1B 00 02 0B 1B 00 +R 00 00 01 00 2B 06 19 00 02 0B 19 00 T 79 01 00 00 CD 00 00 00 00 F1 F1 18 13 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T 80 01 00 00 R 00 00 01 00 T 80 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 16 00 02 0B 16 00 +R 00 00 01 00 2B 05 15 00 02 0B 15 00 T 86 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1B 00 02 0B 1B 00 +R 00 00 01 00 2B 06 19 00 02 0B 19 00 T 8C 01 00 00 CD 00 00 00 00 F1 F1 18 00 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T 93 01 00 00 R 00 00 01 00 T 93 01 00 00 21 10 00 DD 4E FC DD 46 FD 09 7E @@ -205,11 +205,11 @@ R 00 00 01 00 00 05 02 00 T B0 01 00 00 R 00 00 01 00 T B0 01 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 14 00 +R 00 00 01 00 2B 06 1E 00 T B5 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 14 00 2B 0A 1B 00 +R 00 00 01 00 02 04 1E 00 2B 0A 19 00 T BB 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 1B 00 02 09 00 00 +R 00 00 01 00 02 04 19 00 02 09 01 00 T C2 01 00 00 F1 21 0F 00 DD 4E FC DD 46 FD 09 R 00 00 01 00 T CD 01 00 00 7E FE 03 20 13 @@ -217,29 +217,29 @@ R 00 00 01 00 T D2 01 00 00 R 00 00 01 00 T D2 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 02 00 02 0B 02 00 +R 00 00 01 00 2B 05 00 00 02 0B 00 00 T D8 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1B 00 02 0B 1B 00 +R 00 00 01 00 2B 06 19 00 02 0B 19 00 T DE 01 00 00 CD 00 00 00 00 F1 F1 18 2E -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T E5 01 00 00 R 00 00 01 00 T E5 01 00 00 FE 02 20 13 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 0F 00 +R 00 00 01 00 2B 09 08 00 T ED 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0F 00 2B 0A 1B 00 +R 00 00 01 00 02 04 08 00 2B 0A 19 00 T F3 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 1B 00 02 09 00 00 +R 00 00 01 00 02 04 19 00 02 09 01 00 T FA 01 00 00 18 17 R 00 00 01 00 T FC 01 00 00 R 00 00 01 00 T FC 01 00 00 FE 01 20 13 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 05 00 +R 00 00 01 00 2B 09 13 00 T 04 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 05 00 2B 0A 1B 00 +R 00 00 01 00 02 04 13 00 2B 0A 19 00 T 0A 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 1B 00 02 09 00 00 +R 00 00 01 00 02 04 19 00 02 09 01 00 T 11 02 00 00 18 00 R 00 00 01 00 T 13 02 00 00 @@ -251,11 +251,11 @@ R 00 00 01 00 T 28 02 00 00 R 00 00 01 00 T 28 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 19 00 02 0B 19 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 T 2E 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1B 00 02 0B 1B 00 +R 00 00 01 00 2B 06 19 00 02 0B 19 00 T 34 02 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T 39 02 00 00 R 00 00 01 00 T 39 02 00 00 21 10 00 DD 4E FC DD 46 FD 09 7E @@ -265,11 +265,11 @@ R 00 00 01 00 T 4E 02 00 00 R 00 00 01 00 T 4E 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 10 00 02 0B 10 00 T 54 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1B 00 02 0B 1B 00 +R 00 00 01 00 2B 06 19 00 02 0B 19 00 T 5A 02 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T 5F 02 00 00 R 00 00 01 00 T 5F 02 00 00 21 10 00 DD 4E FC DD 46 FD 09 7E @@ -279,11 +279,11 @@ R 00 00 01 00 T 74 02 00 00 R 00 00 01 00 T 74 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 15 00 02 0B 15 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 T 7A 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1B 00 02 0B 1B 00 +R 00 00 01 00 2B 06 19 00 02 0B 19 00 T 80 02 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T 85 02 00 00 R 00 00 01 00 T 85 02 00 00 21 10 00 DD 4E FC DD 46 FD 09 7E @@ -293,11 +293,11 @@ R 00 00 01 00 T 9A 02 00 00 R 00 00 01 00 T 9A 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 T A0 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1B 00 02 0B 1B 00 +R 00 00 01 00 2B 06 19 00 02 0B 19 00 T A6 02 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T AB 02 00 00 R 00 00 01 00 T AB 02 00 00 21 0E 00 DD 4E FC DD 46 FD 09 7E @@ -315,25 +315,25 @@ R 00 00 01 00 T C8 02 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 R 00 00 01 00 2B 0B 0C 00 T D0 02 00 00 21 00 00 00 00 CD 00 00 00 00 C5 -R 00 00 01 00 02 05 0C 00 02 0A 00 00 +R 00 00 01 00 02 05 0C 00 02 0A 01 00 T D7 02 00 00 E5 21 1B 00 DD 4E FC DD 46 FD 09 R 00 00 01 00 T E2 02 00 00 4E 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 06 00 +R 00 00 01 00 2B 09 16 00 T EA 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 06 00 2B 0A 1B 00 +R 00 00 01 00 02 04 16 00 2B 0A 19 00 T F0 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 1B 00 02 09 00 00 +R 00 00 01 00 02 04 19 00 02 09 01 00 T F7 02 00 00 F1 F1 F1 R 00 00 01 00 T FA 02 00 00 R 00 00 01 00 T FA 02 00 00 21 40 00 ED 4B 00 00 00 00 09 4E -R 00 00 01 00 02 09 10 00 +R 00 00 01 00 02 09 11 00 T 03 03 00 00 23 46 11 0A 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 13 00 +R 00 00 01 00 2B 0A 14 00 T 0B 03 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 13 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 01 00 T 11 03 00 00 06 00 DD 4E FC DD 46 FD 09 56 23 R 00 00 01 00 T 1C 03 00 00 66 6A DD 75 FC DD 74 FD C3 @@ -343,7 +343,7 @@ R 00 00 01 00 00 04 01 00 T 27 03 00 00 R 00 00 01 00 T 27 03 00 00 21 00 00 C3 00 00 00 00 -R 00 00 01 00 02 08 0A 00 +R 00 00 01 00 02 08 0B 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 20 74 78 74 00 diff --git a/src/nos/lib/net_lib/doifconfig.rel b/src/nos/lib/net_lib/doifconfig.rel index 8c10ef2b..374e438f 100644 --- a/src/nos/lib/net_lib/doifconfig.rel +++ b/src/nos/lib/net_lib/doifconfig.rel @@ -1,16 +1,16 @@ XL4 H 2 areas F global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___01ec_52c7_Argument_20missing_ Ref00000000 S _if_lookup Ref00000000 S _Ifaces Ref00000000 +S ___021d_52c7_Argument_20missing_ Ref00000000 +S ___0302_6e91_Interface_20_25s_20 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Ifcmds Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?SS_CMP_L02 Ref00000000 S __printf Ref00000000 -S ___02ab_6e91_Interface_20_25s_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _showiface Ref00000000 S _subcmd Ref00000000 @@ -20,7 +20,7 @@ S _doifconfig Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF 11 02 80 DD -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 08 00 T 09 00 00 00 6E 02 DD 66 03 3E 80 AC 67 ED 52 R 00 00 01 00 T 14 00 00 00 30 37 @@ -28,7 +28,7 @@ R 00 00 01 00 T 16 00 00 00 R 00 00 01 00 T 16 00 00 00 2A 00 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 02 05 03 00 +R 00 00 01 00 02 05 02 00 T 1F 00 00 00 R 00 00 01 00 T 1F 00 00 00 DD 7E FC DD B6 FD 28 20 @@ -52,7 +52,7 @@ R 00 00 01 00 T 4D 00 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 T 58 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 02 00 02 0A 02 00 +R 00 00 01 00 2B 05 01 00 02 0A 01 00 T 5E 00 00 00 00 00 00 00 DD 75 FC DD 74 FD 7D R 00 00 01 00 02 04 00 00 T 67 00 00 00 B4 20 24 @@ -62,11 +62,11 @@ R 00 00 01 00 T 6A 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T 75 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 0A 00 +R 00 00 01 00 2B 06 04 00 T 7A 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 2B 0A 09 00 +R 00 00 01 00 02 04 04 00 2B 0A 0A 00 T 80 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 09 00 02 09 00 00 +R 00 00 01 00 02 04 0A 00 02 09 00 00 T 87 00 00 00 F1 21 01 00 C3 49 01 00 00 R 00 00 01 00 00 09 01 00 T 8E 00 00 00 @@ -102,9 +102,9 @@ R 00 00 01 00 T E0 00 00 00 R 00 00 01 00 T E0 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 T E6 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 +R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 T EC 00 00 00 CD 00 00 00 00 F1 F1 21 01 00 18 R 00 00 01 00 02 05 00 00 T F5 00 00 00 53 @@ -118,7 +118,7 @@ R 00 00 01 00 T FE 00 00 00 DD 4E 02 DD 46 03 0B DD 6E FE DD R 00 00 01 00 T 09 01 00 00 66 FF CD 00 00 00 00 30 36 -R 00 00 01 00 02 07 08 00 +R 00 00 01 00 02 07 09 00 T 10 01 00 00 R 00 00 01 00 T 10 01 00 00 DD 6E FC DD 66 FD E5 DD 6E FE DD @@ -126,7 +126,7 @@ R 00 00 01 00 T 1B 01 00 00 66 FF 29 DD 4E 04 DD 46 05 09 2B R 00 00 01 00 T 26 01 00 00 2B E5 01 03 00 11 00 00 00 00 3E -R 00 00 01 00 02 0A 05 00 +R 00 00 01 00 02 0A 06 00 T 2F 01 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 34 01 00 00 00 00 00 00 F1 F1 21 02 00 39 7E @@ -144,4 +144,4 @@ R 00 00 01 00 T 49 01 00 00 R 00 00 01 00 T 49 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 diff --git a/src/nos/lib/net_lib/eolseq.rel b/src/nos/lib/net_lib/eolseq.rel index 53b099af..f18ee39d 100644 --- a/src/nos/lib/net_lib/eolseq.rel +++ b/src/nos/lib/net_lib/eolseq.rel @@ -22,7 +22,7 @@ T 15 00 00 00 FE DD 74 FF 7D B4 20 12 R 00 00 01 00 T 1D 00 00 00 R 00 00 01 00 -T 1D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 1D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 26 00 00 00 09 23 36 00 21 00 00 18 16 R 00 00 01 00 diff --git a/src/nos/lib/net_lib/files.rel b/src/nos/lib/net_lib/files.rel index 25c8de79..df1a1ce7 100644 --- a/src/nos/lib/net_lib/files.rel +++ b/src/nos/lib/net_lib/files.rel @@ -1,16 +1,17 @@ XL4 H 5 areas 44 global symbols S _resolve Ref00000000 -S ___0214_36d4_Can_27t_20read_20pa Ref00000000 S _stricmp Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0216_4bfe_Can_27t_20rewrite_2 Ref00000000 +S ___0246_36d4_Can_27t_20read_20pa Ref00000000 S _rip Ref00000000 S _strcspn Ref00000000 +S ___0248_4bfe_Can_27t_20rewrite_2 Ref00000000 S _Whitespace Ref00000000 S _fseek Ref00000000 S _strcat Ref00000000 S _fwrite Ref00000000 +S ___012a_1e56__2502x Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _strchr Ref00000000 S _strlen Ref00000000 @@ -22,7 +23,6 @@ S _perror Ref00000000 S _MD5Init Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S ___0111_1e56__2502x Ref00000000 S _readhex Ref00000000 S _free Ref00000000 S _fputc Ref00000000 @@ -76,97 +76,97 @@ A CDATA0 size 31 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 1A 00 2B 0A 0F 00 +R 00 00 01 00 02 05 1A 00 2B 0A 10 00 T 06 00 00 00 00 00 00 00 CD 00 00 00 00 22 -R 00 00 01 00 02 04 0F 00 02 09 03 00 +R 00 00 01 00 02 04 10 00 02 09 02 00 T 0C 00 00 00 2F 00 00 00 ED 5B 05 00 00 00 3E R 00 00 01 00 00 04 03 00 00 0A 03 00 T 13 00 00 00 10 01 00 00 21 10 01 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T 18 00 00 00 00 00 00 00 22 05 00 00 00 ED 5B -R 00 00 01 00 02 04 03 00 00 09 03 00 +R 00 00 01 00 02 04 02 00 00 09 03 00 T 1F 00 00 00 09 00 00 00 3E 10 01 00 00 21 R 00 00 01 00 00 04 03 00 29 09 01 00 T 24 00 00 00 10 01 00 00 CD 00 00 00 00 22 -R 00 00 01 00 00 04 01 00 02 09 03 00 +R 00 00 01 00 00 04 01 00 02 09 02 00 T 2A 00 00 00 09 00 00 00 ED 5B 0D 00 00 00 3E R 00 00 01 00 00 04 03 00 00 0A 03 00 T 31 00 00 00 10 01 00 00 21 10 01 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T 36 00 00 00 00 00 00 00 22 0D 00 00 00 ED 5B -R 00 00 01 00 02 04 03 00 00 09 03 00 +R 00 00 01 00 02 04 02 00 00 09 03 00 T 3D 00 00 00 0B 00 00 00 3E 10 01 00 00 21 R 00 00 01 00 00 04 03 00 29 09 01 00 T 42 00 00 00 10 01 00 00 CD 00 00 00 00 22 -R 00 00 01 00 00 04 01 00 02 09 03 00 +R 00 00 01 00 00 04 01 00 02 09 02 00 T 48 00 00 00 0B 00 00 00 ED 5B 0F 00 00 00 3E R 00 00 01 00 00 04 03 00 00 0A 03 00 T 4F 00 00 00 10 01 00 00 21 10 01 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T 54 00 00 00 00 00 00 00 22 0F 00 00 00 ED 5B -R 00 00 01 00 02 04 03 00 00 09 03 00 +R 00 00 01 00 02 04 02 00 00 09 03 00 T 5B 00 00 00 11 00 00 00 3E 10 01 00 00 21 R 00 00 01 00 00 04 03 00 29 09 01 00 T 60 00 00 00 10 01 00 00 CD 00 00 00 00 22 -R 00 00 01 00 00 04 01 00 02 09 03 00 +R 00 00 01 00 00 04 01 00 02 09 02 00 T 66 00 00 00 11 00 00 00 ED 5B 13 00 00 00 3E R 00 00 01 00 00 04 03 00 00 0A 03 00 T 6D 00 00 00 10 01 00 00 21 10 01 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T 72 00 00 00 00 00 00 00 22 13 00 00 00 ED 5B -R 00 00 01 00 02 04 03 00 00 09 03 00 +R 00 00 01 00 02 04 02 00 00 09 03 00 T 79 00 00 00 15 00 00 00 3E 10 01 00 00 21 R 00 00 01 00 00 04 03 00 29 09 01 00 T 7E 00 00 00 10 01 00 00 CD 00 00 00 00 22 -R 00 00 01 00 00 04 01 00 02 09 03 00 +R 00 00 01 00 00 04 01 00 02 09 02 00 T 84 00 00 00 15 00 00 00 ED 5B 17 00 00 00 3E R 00 00 01 00 00 04 03 00 00 0A 03 00 T 8B 00 00 00 10 01 00 00 21 10 01 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T 90 00 00 00 00 00 00 00 22 17 00 00 00 ED 5B -R 00 00 01 00 02 04 03 00 00 09 03 00 +R 00 00 01 00 02 04 02 00 00 09 03 00 T 97 00 00 00 19 00 00 00 3E 10 01 00 00 21 R 00 00 01 00 00 04 03 00 29 09 01 00 T 9C 00 00 00 10 01 00 00 CD 00 00 00 00 22 -R 00 00 01 00 00 04 01 00 02 09 03 00 +R 00 00 01 00 00 04 01 00 02 09 02 00 T A2 00 00 00 19 00 00 00 ED 5B 1B 00 00 00 3E R 00 00 01 00 00 04 03 00 00 0A 03 00 T A9 00 00 00 10 01 00 00 21 10 01 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T AE 00 00 00 00 00 00 00 22 1B 00 00 00 ED 5B -R 00 00 01 00 02 04 03 00 00 09 03 00 +R 00 00 01 00 02 04 02 00 00 09 03 00 T B5 00 00 00 1D 00 00 00 3E 10 01 00 00 21 R 00 00 01 00 00 04 03 00 29 09 01 00 T BA 00 00 00 10 01 00 00 CD 00 00 00 00 22 -R 00 00 01 00 00 04 01 00 02 09 03 00 +R 00 00 01 00 00 04 01 00 02 09 02 00 T C0 00 00 00 1D 00 00 00 ED 5B 1F 00 00 00 3E R 00 00 01 00 00 04 03 00 00 0A 03 00 T C7 00 00 00 10 01 00 00 21 10 01 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T CC 00 00 00 00 00 00 00 22 1F 00 00 00 ED 5B -R 00 00 01 00 02 04 03 00 00 09 03 00 +R 00 00 01 00 02 04 02 00 00 09 03 00 T D3 00 00 00 21 00 00 00 3E 10 01 00 00 21 R 00 00 01 00 00 04 03 00 29 09 01 00 T D8 00 00 00 10 01 00 00 CD 00 00 00 00 22 -R 00 00 01 00 00 04 01 00 02 09 03 00 +R 00 00 01 00 00 04 01 00 02 09 02 00 T DE 00 00 00 21 00 00 00 ED 5B 25 00 00 00 3E R 00 00 01 00 00 04 03 00 00 0A 03 00 T E5 00 00 00 10 01 00 00 21 10 01 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T EA 00 00 00 00 00 00 00 22 25 00 00 00 ED 5B -R 00 00 01 00 02 04 03 00 00 09 03 00 +R 00 00 01 00 02 04 02 00 00 09 03 00 T F1 00 00 00 27 00 00 00 3E 10 01 00 00 21 R 00 00 01 00 00 04 03 00 29 09 01 00 T F6 00 00 00 10 01 00 00 CD 00 00 00 00 22 -R 00 00 01 00 00 04 01 00 02 09 03 00 +R 00 00 01 00 00 04 01 00 02 09 02 00 T FC 00 00 00 27 00 00 00 ED 5B 29 00 00 00 3E R 00 00 01 00 00 04 03 00 00 0A 03 00 T 03 01 00 00 10 01 00 00 21 10 01 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T 08 01 00 00 00 00 00 00 22 29 00 00 00 C3 -R 00 00 01 00 02 04 03 00 00 09 03 00 +R 00 00 01 00 02 04 02 00 00 09 03 00 T 0E 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 10 01 00 00 R 00 00 01 00 T 10 01 00 00 CD 00 00 00 00 F8 FF DD 6E 02 DD @@ -174,9 +174,9 @@ R 00 00 01 00 02 05 1F 00 T 19 01 00 00 66 03 DD 75 F8 DD 74 F9 ED 5B R 00 00 01 00 T 23 01 00 00 2F 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 0D 00 +R 00 00 01 00 00 04 03 00 2B 09 0E 00 T 28 01 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 0D 00 02 09 03 00 +R 00 00 01 00 02 04 0E 00 02 09 02 00 T 2F 01 00 00 CA 2E 02 00 00 R 00 00 01 00 00 05 01 00 T 32 01 00 00 @@ -186,37 +186,37 @@ R 00 00 01 00 09 07 02 00 T 39 01 00 00 2E 01 00 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 89 04 02 00 T 41 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0D 00 02 09 0D 00 +R 00 00 01 00 2B 04 0E 00 02 09 0E 00 T 46 01 00 00 00 00 00 00 E5 DD 5E FA DD 56 FB -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 4F 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0D 00 02 0A 0D 00 +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T 55 01 00 00 00 00 00 00 4D 44 E1 09 E5 ED 5B -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 5E 01 00 00 2F 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 0D 00 +R 00 00 01 00 00 04 03 00 2B 09 0E 00 T 63 01 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 0D 00 02 09 03 00 +R 00 00 01 00 02 04 0E 00 02 09 02 00 T 6A 01 00 00 E1 09 EB 13 3E 00 00 00 00 21 R 00 00 01 00 2B 09 20 00 T 71 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 20 00 02 09 03 00 +R 00 00 01 00 02 04 20 00 02 09 02 00 T 78 01 00 00 F8 DD 74 F9 ED 4B 2F 00 00 00 EB R 00 00 01 00 00 0A 03 00 T 81 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 1C 00 02 0A 1C 00 T 87 01 00 00 00 00 00 00 DD 4E FA DD 46 FB DD -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 90 01 00 00 5E F8 DD 56 F9 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 09 00 T 98 01 00 00 00 00 00 00 CD 00 00 00 00 DD 4E -R 00 00 01 00 02 04 09 00 02 09 03 00 +R 00 00 01 00 02 04 09 00 02 09 02 00 T 9F 01 00 00 02 DD 46 03 DD 5E F8 DD 56 F9 3E R 00 00 01 00 T AA 01 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 09 00 02 09 09 00 T AF 01 00 00 00 00 00 00 DD 6E FA DD 66 FB AF -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T B8 01 00 00 B6 28 73 R 00 00 01 00 T BB 01 00 00 @@ -272,7 +272,7 @@ R 00 00 01 00 T 2E 02 00 00 R 00 00 01 00 T 2E 02 00 00 DD 6E F8 DD 66 F9 C3 00 00 00 00 -R 00 00 01 00 02 0B 0B 00 +R 00 00 01 00 02 0B 0C 00 T 37 02 00 00 R 00 00 01 00 T 37 02 00 00 CD 00 00 00 00 FA FF 21 00 00 E5 @@ -282,7 +282,7 @@ R 00 00 01 00 00 05 02 00 00 0B 03 00 T 47 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 21 00 02 0A 21 00 T 4D 02 00 00 00 00 00 00 F1 DD 75 FA DD 74 FB -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 56 02 00 00 7D B4 20 06 R 00 00 01 00 T 5A 02 00 00 @@ -294,7 +294,7 @@ R 00 00 01 00 T 60 02 00 00 11 80 00 3E 00 00 00 00 21 R 00 00 01 00 2B 08 20 00 T 66 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 20 00 02 09 03 00 +R 00 00 01 00 02 04 20 00 02 09 02 00 T 6D 02 00 00 FC DD 74 FD R 00 00 01 00 T 71 02 00 00 @@ -302,9 +302,9 @@ R 00 00 01 00 T 71 02 00 00 DD 6E FA DD 66 FB E5 01 80 00 DD R 00 00 01 00 T 7C 02 00 00 5E FC DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 11 00 +R 00 00 01 00 2B 0A 12 00 T 84 02 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 11 00 02 09 03 00 +R 00 00 01 00 02 04 12 00 02 09 02 00 T 8B 02 00 00 B4 28 56 R 00 00 01 00 T 8E 02 00 00 @@ -320,9 +320,9 @@ R 00 00 01 00 T 9B 02 00 00 01 20 00 DD 5E FC DD 56 FD 3E R 00 00 01 00 T A5 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T AA 02 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T B3 02 00 00 B4 20 02 R 00 00 01 00 T B6 02 00 00 @@ -336,9 +336,9 @@ R 00 00 01 00 T C3 02 00 00 74 FF 2B 36 00 DD 4E FC DD 46 FD R 00 00 01 00 T CE 02 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 +R 00 00 01 00 2B 0B 01 00 T D6 02 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 02 00 02 0A 03 00 +R 00 00 01 00 02 05 01 00 02 0A 02 00 T DD 02 00 00 B4 20 02 R 00 00 01 00 T E0 02 00 00 @@ -360,11 +360,11 @@ R 00 00 01 00 T F9 02 00 00 DD 5E FA DD 56 FB 3E 00 00 00 00 R 00 00 01 00 2B 0B 27 00 T 01 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 27 00 02 0A 03 00 +R 00 00 01 00 02 05 27 00 02 0A 02 00 T 08 03 00 00 5E FC DD 56 FD 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 18 00 T 10 03 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 18 00 02 09 03 00 +R 00 00 01 00 02 04 18 00 02 09 02 00 T 16 03 00 00 00 00 C3 70 04 00 00 R 00 00 01 00 00 07 01 00 T 1B 03 00 00 @@ -372,7 +372,7 @@ R 00 00 01 00 T 1B 03 00 00 DD 5E FA DD 56 FB 3E 00 00 00 00 R 00 00 01 00 2B 0B 27 00 T 23 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 27 00 02 0A 03 00 +R 00 00 01 00 02 05 27 00 02 0A 02 00 T 2A 03 00 00 7E 04 DD B6 05 28 11 R 00 00 01 00 T 31 03 00 00 @@ -386,9 +386,9 @@ R 00 00 01 00 T 42 03 00 00 01 20 00 DD 5E FE DD 56 FF 3E R 00 00 01 00 T 4C 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 51 03 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 5A 03 00 00 B4 20 14 R 00 00 01 00 T 5D 03 00 00 @@ -396,7 +396,7 @@ R 00 00 01 00 T 5D 03 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 R 00 00 01 00 2B 0B 18 00 T 65 03 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 18 00 02 0A 03 00 +R 00 00 01 00 02 05 18 00 02 0A 02 00 T 6C 03 00 00 00 00 C3 70 04 00 00 R 00 00 01 00 00 07 01 00 T 71 03 00 00 @@ -418,9 +418,9 @@ R 00 00 01 00 T 9A 03 00 00 01 20 00 DD 5E FE DD 56 FF 3E R 00 00 01 00 T A4 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T A9 03 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T B2 03 00 00 B4 20 14 R 00 00 01 00 T B5 03 00 00 @@ -428,7 +428,7 @@ R 00 00 01 00 T B5 03 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 R 00 00 01 00 2B 0B 18 00 T BD 03 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 18 00 02 0A 03 00 +R 00 00 01 00 02 05 18 00 02 0A 02 00 T C4 03 00 00 00 00 C3 70 04 00 00 R 00 00 01 00 00 07 01 00 T C9 03 00 00 @@ -446,7 +446,7 @@ R 00 00 01 00 T EC 03 00 00 56 FF 3E 00 00 00 00 21 R 00 00 01 00 2B 07 1D 00 T F1 03 00 00 00 00 00 00 CD 00 00 00 00 F1 E5 -R 00 00 01 00 02 04 1D 00 02 09 03 00 +R 00 00 01 00 02 04 1D 00 02 09 02 00 T F8 03 00 00 DD 6E 0C DD 66 0D C1 71 23 70 R 00 00 01 00 T 02 04 00 00 @@ -454,9 +454,9 @@ R 00 00 01 00 T 02 04 00 00 01 20 00 DD 5E FE DD 56 FF 3E R 00 00 01 00 T 0C 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 11 04 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 1A 04 00 00 B4 20 18 R 00 00 01 00 T 1D 04 00 00 @@ -486,7 +486,7 @@ R 00 00 01 00 T 4D 04 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 R 00 00 01 00 2B 0B 00 00 T 55 04 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 00 00 02 0A 03 00 +R 00 00 01 00 02 05 00 00 02 0A 02 00 T 5C 04 00 00 DD 6E 0E DD 66 0F D1 73 23 72 23 R 00 00 01 00 T 67 04 00 00 71 23 70 @@ -500,7 +500,7 @@ R 00 00 01 00 T 70 04 00 00 R 00 00 01 00 T 70 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T 73 04 00 00 R 00 00 01 00 T 73 04 00 00 CD 00 00 00 00 7C FF 21 00 00 39 @@ -512,7 +512,7 @@ R 00 00 01 00 T 92 04 00 00 5E 02 DD 56 03 3E 37 02 00 00 21 R 00 00 01 00 29 0A 01 00 T 9A 04 00 00 37 02 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 00 04 01 00 02 09 03 00 +R 00 00 01 00 00 04 01 00 02 09 02 00 T A1 04 00 00 F1 4D 44 E1 71 23 70 79 B0 20 06 R 00 00 01 00 T AC 04 00 00 @@ -526,9 +526,9 @@ R 00 00 01 00 T BD 04 00 00 75 84 DD 74 85 01 33 01 00 00 21 R 00 00 01 00 00 0A 02 00 T C6 04 00 00 02 00 39 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 10 00 +R 00 00 01 00 2B 0B 11 00 T CE 04 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 10 00 02 0A 03 00 +R 00 00 01 00 02 05 11 00 02 0A 02 00 T D5 04 00 00 B4 20 0B R 00 00 01 00 T D8 04 00 00 @@ -544,7 +544,7 @@ R 00 00 01 00 T EE 04 00 00 21 0E 00 39 5D 54 3E 00 00 00 00 R 00 00 01 00 2B 0B 17 00 T F6 04 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 17 00 02 0A 03 00 +R 00 00 01 00 02 05 17 00 02 0A 02 00 T FD 04 00 00 3E 10 AD B4 28 15 R 00 00 01 00 T 03 05 00 00 @@ -554,45 +554,45 @@ R 00 00 01 00 T 0B 05 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 18 00 02 09 18 00 T 10 05 00 00 00 00 00 00 21 FF FF C3 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 16 05 00 00 4B 06 00 00 R 00 00 01 00 00 04 01 00 T 18 05 00 00 R 00 00 01 00 T 18 05 00 00 21 2C 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 13 00 +R 00 00 01 00 2B 0B 14 00 T 20 05 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 13 00 02 0A 03 00 +R 00 00 01 00 02 05 14 00 02 0A 02 00 T 27 05 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0D 00 +R 00 00 01 00 2B 0A 0E 00 T 2F 05 00 00 00 00 00 00 CD 00 00 00 00 E5 DD -R 00 00 01 00 02 04 0D 00 02 09 03 00 +R 00 00 01 00 02 04 0E 00 02 09 02 00 T 36 05 00 00 4E 02 DD 46 03 21 2E 00 39 5D 54 R 00 00 01 00 T 41 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 1E 00 02 0A 1E 00 T 47 05 00 00 00 00 00 00 E1 DD 5E 04 DD 56 05 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 50 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0D 00 02 0A 0D 00 +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T 56 05 00 00 00 00 00 00 E5 DD 4E 04 DD 46 05 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 5F 05 00 00 21 2E 00 39 5D 54 3E 00 00 00 00 R 00 00 01 00 2B 0B 1E 00 T 67 05 00 00 21 00 00 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 02 05 1E 00 02 0A 03 00 +R 00 00 01 00 02 05 1E 00 02 0A 02 00 T 6E 05 00 00 21 2C 00 39 4D 44 21 1C 00 39 5D R 00 00 01 00 T 79 05 00 00 54 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 22 00 02 0B 22 00 T 7F 05 00 00 CD 00 00 00 00 21 10 00 E5 21 -R 00 00 01 00 02 05 03 00 +R 00 00 01 00 02 05 02 00 T 87 05 00 00 0E 00 39 4D 44 21 1E 00 39 5D 54 R 00 00 01 00 T 92 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 28 00 02 0A 28 00 T 98 05 00 00 00 00 00 00 F1 7D B4 28 15 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 9F 05 00 00 R 00 00 01 00 T 9F 05 00 00 21 00 00 39 5E 23 56 3E @@ -600,7 +600,7 @@ R 00 00 01 00 T A7 05 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 18 00 02 09 18 00 T AC 05 00 00 00 00 00 00 21 FF FF C3 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T B2 05 00 00 4B 06 00 00 R 00 00 01 00 00 04 01 00 T B4 05 00 00 @@ -610,9 +610,9 @@ R 00 00 01 00 T B4 05 00 00 21 04 00 39 5E 23 56 3E R 00 00 01 00 T BC 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0D 00 02 09 0D 00 +R 00 00 01 00 2B 04 0E 00 02 09 0E 00 T C1 05 00 00 00 00 00 00 4D 44 03 DD 6E 0C DD -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T CA 05 00 00 66 0D A7 ED 42 30 14 R 00 00 01 00 T D1 05 00 00 @@ -622,7 +622,7 @@ R 00 00 01 00 T D9 05 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 18 00 02 09 18 00 T DE 05 00 00 00 00 00 00 21 FF FF 18 66 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T E5 05 00 00 R 00 00 01 00 T E5 05 00 00 21 04 00 39 4E 23 46 DD 6E 0A DD @@ -630,15 +630,15 @@ R 00 00 01 00 T F0 05 00 00 66 0B 5E 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 1C 00 T F8 05 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 1C 00 02 09 03 00 +R 00 00 01 00 02 04 1C 00 02 09 02 00 T FD 05 00 00 R 00 00 01 00 T FD 05 00 00 01 5C 00 DD 6E 0A DD 66 0B 5E 23 R 00 00 01 00 T 08 06 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 T 0E 06 00 00 CD 00 00 00 00 DD 75 86 DD 74 87 -R 00 00 01 00 02 05 03 00 +R 00 00 01 00 02 05 02 00 T 17 06 00 00 7D B4 28 0A R 00 00 01 00 T 1B 06 00 00 @@ -652,7 +652,7 @@ R 00 00 01 00 T 2D 06 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 18 00 02 09 18 00 T 32 06 00 00 00 00 00 00 DD 6E 84 DD 66 85 E5 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 3B 06 00 00 DD 6E 0E DD 66 0F C1 71 23 70 DD R 00 00 01 00 T 46 06 00 00 6E 82 DD 66 83 @@ -660,7 +660,7 @@ R 00 00 01 00 T 4B 06 00 00 R 00 00 01 00 T 4B 06 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T 4E 06 00 00 R 00 00 01 00 T 4E 06 00 00 CD 00 00 00 00 76 FF AF DD 77 9C @@ -672,25 +672,25 @@ R 00 00 01 00 00 06 02 00 T 68 06 00 00 09 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 00 04 03 00 2B 09 21 00 T 6D 06 00 00 00 00 00 00 CD 00 00 00 00 F1 4D -R 00 00 01 00 02 04 21 00 02 09 03 00 +R 00 00 01 00 02 04 21 00 02 09 02 00 T 74 06 00 00 44 E1 71 23 70 79 B0 20 2D R 00 00 01 00 T 7D 06 00 00 R 00 00 01 00 T 7D 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 T 83 06 00 00 E5 21 40 00 ED 4B 00 00 00 00 09 -R 00 00 01 00 02 0A 14 00 +R 00 00 01 00 02 0A 15 00 T 8C 06 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0E 00 +R 00 00 01 00 2B 09 0F 00 T 93 06 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0E 00 02 09 03 00 +R 00 00 01 00 02 04 0F 00 02 09 02 00 T 9A 06 00 00 F1 ED 5B 09 00 00 00 3E R 00 00 01 00 00 07 03 00 T A0 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 +R 00 00 01 00 2B 04 13 00 02 09 13 00 T A5 06 00 00 00 00 00 00 C3 8F 0B 00 00 -R 00 00 01 00 02 04 03 00 00 09 01 00 +R 00 00 01 00 02 04 02 00 00 09 01 00 T AA 06 00 00 R 00 00 01 00 T AA 06 00 00 21 04 00 39 E5 11 80 00 3E @@ -698,7 +698,7 @@ R 00 00 01 00 T B3 06 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 20 00 02 09 20 00 T B8 06 00 00 00 00 00 00 4D 44 E1 71 23 70 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T C0 06 00 00 R 00 00 01 00 T C0 06 00 00 21 00 00 39 4E 23 46 C5 01 80 00 @@ -706,9 +706,9 @@ R 00 00 01 00 T CB 06 00 00 21 06 00 39 5E 23 56 3E R 00 00 01 00 T D3 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 11 00 02 09 11 00 +R 00 00 01 00 2B 04 12 00 02 09 12 00 T D8 06 00 00 00 00 00 00 F1 7D B4 CA -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T DE 06 00 00 AF 07 00 00 R 00 00 01 00 00 04 01 00 T E0 06 00 00 @@ -716,13 +716,13 @@ R 00 00 01 00 T E0 06 00 00 21 04 00 39 5E 23 56 3E R 00 00 01 00 T E8 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 +R 00 00 01 00 2B 04 04 00 02 09 04 00 T ED 06 00 00 00 00 00 00 21 04 00 39 5E 23 56 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T F6 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0D 00 02 0A 0D 00 +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T FC 06 00 00 00 00 00 00 DD 75 9E DD 74 9F 7D -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 05 07 00 00 B4 28 0D 21 04 00 39 7E 23 66 6F R 00 00 01 00 T 10 07 00 00 7E FE 23 20 02 @@ -740,9 +740,9 @@ R 00 00 01 00 T 17 07 00 00 01 00 00 00 00 21 04 00 39 5E 23 R 00 00 01 00 02 05 07 00 T 20 07 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 06 00 02 0B 06 00 +R 00 00 01 00 2B 06 05 00 02 0B 05 00 T 26 07 00 00 CD 00 00 00 00 DD 75 A0 DD 74 A1 -R 00 00 01 00 02 05 03 00 +R 00 00 01 00 02 05 02 00 T 2F 07 00 00 DD 4E 9E DD 46 9F A7 ED 42 20 02 R 00 00 01 00 T 3A 07 00 00 @@ -780,7 +780,7 @@ R 00 00 01 00 T 8E 07 00 00 08 00 39 5D 54 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 17 00 T 96 07 00 00 00 00 00 00 CD 00 00 00 00 F1 3E -R 00 00 01 00 02 04 17 00 02 09 03 00 +R 00 00 01 00 02 04 17 00 02 09 02 00 T 9D 07 00 00 10 AD B4 28 0A R 00 00 01 00 T A2 07 00 00 @@ -806,11 +806,11 @@ R 00 00 01 00 T BF 07 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 27 00 02 09 27 00 T C4 07 00 00 00 00 00 00 21 04 00 39 5E 23 56 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T CD 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 18 00 02 0A 18 00 T D3 07 00 00 00 00 00 00 C3 8F 0B 00 00 -R 00 00 01 00 02 04 03 00 00 09 01 00 +R 00 00 01 00 02 04 02 00 00 09 01 00 T D8 07 00 00 R 00 00 01 00 T D8 07 00 00 21 00 00 E5 21 00 00 E5 21 00 00 @@ -820,7 +820,7 @@ R 00 00 01 00 T EC 07 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 08 00 02 09 08 00 T F1 07 00 00 00 00 00 00 F1 F1 F1 21 10 00 E5 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T FA 07 00 00 21 02 00 39 4E 23 46 E1 09 CB 86 R 00 00 01 00 T 05 08 00 00 21 10 00 E5 21 02 00 39 4E 23 46 @@ -830,7 +830,7 @@ R 00 00 01 00 T 1A 08 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 23 00 02 09 23 00 T 1F 08 00 00 00 00 00 00 4D 44 E1 71 23 70 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 27 08 00 00 R 00 00 01 00 T 27 08 00 00 21 00 00 39 4E 23 46 C5 01 80 00 @@ -838,9 +838,9 @@ R 00 00 01 00 T 32 08 00 00 21 06 00 39 5E 23 56 3E R 00 00 01 00 T 3A 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 11 00 02 09 11 00 +R 00 00 01 00 2B 04 12 00 02 09 12 00 T 3F 08 00 00 00 00 00 00 F1 7D B4 CA -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 45 08 00 00 96 0A 00 00 R 00 00 01 00 00 04 01 00 T 47 08 00 00 @@ -848,21 +848,21 @@ R 00 00 01 00 T 47 08 00 00 21 04 00 39 5E 23 56 3E R 00 00 01 00 T 4F 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 +R 00 00 01 00 2B 04 04 00 02 09 04 00 T 54 08 00 00 00 00 00 00 21 04 00 39 5E 23 56 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 5D 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0D 00 02 0A 0D 00 +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T 63 08 00 00 00 00 00 00 DD 75 9E DD 74 9F 7D -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 6C 08 00 00 B4 28 30 21 04 00 39 7E 23 66 6F R 00 00 01 00 T 77 08 00 00 7E FE 23 28 23 01 00 00 00 00 21 R 00 00 01 00 02 0A 07 00 T 80 08 00 00 04 00 39 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 06 00 +R 00 00 01 00 2B 0B 05 00 T 88 08 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 06 00 02 0A 03 00 +R 00 00 01 00 02 05 05 00 02 0A 02 00 T 8F 08 00 00 75 A0 DD 74 A1 DD 4E 9E DD 46 9F R 00 00 01 00 T 9A 08 00 00 A7 ED 42 20 2B @@ -878,13 +878,13 @@ R 00 00 01 00 T AA 08 00 00 5E 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 08 24 00 T B0 08 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 24 00 02 09 03 00 +R 00 00 01 00 02 04 24 00 02 09 02 00 T B6 08 00 00 02 00 39 4E 23 46 11 0A 00 3E R 00 00 01 00 T C0 08 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 19 00 02 09 19 00 T C5 08 00 00 00 00 00 00 C3 27 08 00 00 -R 00 00 01 00 02 04 03 00 00 09 01 00 +R 00 00 01 00 02 04 02 00 00 09 01 00 T CA 08 00 00 R 00 00 01 00 T CA 08 00 00 DD 6E A0 DD 66 A1 E5 21 06 00 39 @@ -914,13 +914,13 @@ R 00 00 01 00 T 12 09 00 00 00 00 00 00 DD 5E A6 DD 56 A7 3E R 00 00 01 00 02 04 07 00 T 1B 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T 20 09 00 00 00 00 00 00 DD 75 A2 DD 74 A3 E5 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 29 09 00 00 DD 5E A6 DD 56 A7 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0D 00 +R 00 00 01 00 2B 0B 0E 00 T 31 09 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 0D 00 02 0A 03 00 +R 00 00 01 00 02 05 0E 00 02 0A 02 00 T 38 09 00 00 44 E1 A7 ED 42 28 1F 21 10 00 E5 R 00 00 01 00 T 43 09 00 00 DD 4E A6 DD 46 A7 21 08 00 39 5D @@ -928,7 +928,7 @@ R 00 00 01 00 T 4E 09 00 00 54 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 17 00 02 0B 17 00 T 54 09 00 00 CD 00 00 00 00 F1 3E 10 AD B4 20 -R 00 00 01 00 02 05 03 00 +R 00 00 01 00 02 05 02 00 T 5D 09 00 00 2B R 00 00 01 00 T 5E 09 00 00 @@ -942,19 +942,19 @@ R 00 00 01 00 T 69 09 00 00 5E 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 08 24 00 T 6F 09 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 24 00 02 09 03 00 +R 00 00 01 00 02 04 24 00 02 09 02 00 T 75 09 00 00 02 00 39 4E 23 46 11 0A 00 3E R 00 00 01 00 T 7F 09 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 19 00 02 09 19 00 T 84 09 00 00 00 00 00 00 C3 27 08 00 00 -R 00 00 01 00 02 04 03 00 00 09 01 00 +R 00 00 01 00 02 04 02 00 00 09 01 00 T 89 09 00 00 R 00 00 01 00 T 89 09 00 00 21 32 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 13 00 +R 00 00 01 00 2B 0B 14 00 T 91 09 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 13 00 02 0A 03 00 +R 00 00 01 00 02 05 14 00 02 0A 02 00 T 98 09 00 00 6E A0 DD 66 A1 E5 21 06 00 39 4E R 00 00 01 00 T A3 09 00 00 23 46 21 34 00 39 5D 54 3E @@ -962,19 +962,19 @@ R 00 00 01 00 T AC 09 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 1E 00 02 09 1E 00 T B1 09 00 00 00 00 00 00 E1 DD 6E A2 DD 66 A3 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T BA 09 00 00 E5 DD 4E A6 DD 46 A7 21 34 00 39 R 00 00 01 00 T C5 09 00 00 5D 54 3E 00 00 00 00 21 R 00 00 01 00 2B 07 1E 00 T CA 09 00 00 00 00 00 00 CD 00 00 00 00 E1 21 -R 00 00 01 00 02 04 1E 00 02 09 03 00 +R 00 00 01 00 02 04 1E 00 02 09 02 00 T D1 09 00 00 32 00 39 4D 44 21 16 00 39 5D 54 R 00 00 01 00 T DC 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 22 00 02 0A 22 00 T E2 09 00 00 00 00 00 00 21 02 00 39 4E 23 46 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T EB 09 00 00 C5 DD 6E A0 DD 66 A1 E5 01 01 00 R 00 00 01 00 T F6 09 00 00 21 08 00 39 5E 23 56 3E @@ -982,11 +982,11 @@ R 00 00 01 00 T FE 09 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 03 0A 00 00 00 00 00 00 F1 F1 21 02 00 39 4E -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 0C 0A 00 00 23 46 11 20 00 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 19 00 T 14 0A 00 00 00 00 00 00 CD 00 00 00 00 AF DD -R 00 00 01 00 02 04 19 00 02 09 03 00 +R 00 00 01 00 02 04 19 00 02 09 02 00 T 1B 0A 00 00 77 A4 DD 77 A5 R 00 00 01 00 T 20 0A 00 00 @@ -1000,13 +1000,13 @@ R 00 00 01 00 T 31 0A 00 00 21 16 00 39 DD 4E A4 DD 46 A5 09 R 00 00 01 00 T 3C 0A 00 00 5E 16 00 D5 1E 00 00 00 00 D5 21 -R 00 00 01 00 2B 09 16 00 +R 00 00 01 00 2B 09 0B 00 T 44 0A 00 00 00 00 00 00 E5 21 08 00 39 5E 23 -R 00 00 01 00 02 04 16 00 +R 00 00 01 00 02 04 0B 00 T 4D 0A 00 00 56 D5 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0E 00 +R 00 00 01 00 2B 07 0F 00 T 52 0A 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0E 00 02 09 03 00 +R 00 00 01 00 02 04 0F 00 02 09 02 00 T 59 0A 00 00 F1 F1 03 DD 71 A4 DD 70 A5 18 BC R 00 00 01 00 T 64 0A 00 00 @@ -1018,11 +1018,11 @@ R 00 00 01 00 T 7A 0A 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 24 00 02 09 24 00 T 7F 0A 00 00 00 00 00 00 21 02 00 39 4E 23 46 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 88 0A 00 00 11 0A 00 3E 00 00 00 00 21 R 00 00 01 00 2B 08 19 00 T 8E 0A 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 19 00 02 09 03 00 +R 00 00 01 00 02 04 19 00 02 09 02 00 T 94 0A 00 00 27 08 00 00 R 00 00 01 00 00 04 01 00 T 96 0A 00 00 @@ -1032,13 +1032,13 @@ R 00 00 01 00 T 9E 0A 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 27 00 02 09 27 00 T A3 0A 00 00 00 00 00 00 21 00 00 E5 21 00 00 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T AC 0A 00 00 E5 21 00 00 E5 21 08 00 39 5E 23 R 00 00 01 00 T B7 0A 00 00 56 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 08 00 02 0B 08 00 T BD 0A 00 00 CD 00 00 00 00 F1 F1 F1 21 10 00 -R 00 00 01 00 02 05 03 00 +R 00 00 01 00 02 05 02 00 T C6 0A 00 00 E5 21 04 00 39 4E 23 46 E1 09 CB R 00 00 01 00 T D1 0A 00 00 86 21 10 00 E5 21 04 00 39 4E 23 @@ -1050,23 +1050,23 @@ R 00 00 01 00 00 08 02 00 T EF 0A 00 00 09 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 00 04 03 00 2B 09 21 00 T F4 0A 00 00 00 00 00 00 CD 00 00 00 00 F1 4D -R 00 00 01 00 02 04 21 00 02 09 03 00 +R 00 00 01 00 02 04 21 00 02 09 02 00 T FB 0A 00 00 44 E1 71 23 70 79 B0 20 27 R 00 00 01 00 T 04 0B 00 00 R 00 00 01 00 T 04 0B 00 00 2A 09 00 00 00 E5 0E 00 00 00 00 -R 00 00 01 00 00 05 03 00 2B 0B 04 00 +R 00 00 01 00 00 05 03 00 2B 0B 06 00 T 0A 0B 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 04 00 +R 00 00 01 00 02 06 06 00 T 10 0B 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 25 00 02 09 25 00 T 15 0B 00 00 00 00 00 00 F1 F1 F1 21 04 00 39 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 1E 0B 00 00 5E 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 08 18 00 T 24 0B 00 00 00 00 00 00 CD 00 00 00 00 18 64 -R 00 00 01 00 02 04 18 00 02 09 03 00 +R 00 00 01 00 02 04 18 00 02 09 02 00 T 2B 0B 00 00 R 00 00 01 00 T 2B 0B 00 00 @@ -1076,9 +1076,9 @@ R 00 00 01 00 T 36 0B 00 00 21 06 00 39 5E 23 56 3E R 00 00 01 00 T 3E 0B 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 11 00 02 09 11 00 +R 00 00 01 00 2B 04 12 00 02 09 12 00 T 43 0B 00 00 00 00 00 00 F1 7D B4 28 18 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 4A 0B 00 00 R 00 00 01 00 T 4A 0B 00 00 21 00 00 39 4E 23 46 21 04 00 39 @@ -1086,7 +1086,7 @@ R 00 00 01 00 T 55 0B 00 00 5E 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 08 24 00 T 5B 0B 00 00 00 00 00 00 CD 00 00 00 00 18 C9 -R 00 00 01 00 02 04 24 00 02 09 03 00 +R 00 00 01 00 02 04 24 00 02 09 02 00 T 62 0B 00 00 R 00 00 01 00 T 62 0B 00 00 21 00 00 39 5E 23 56 3E @@ -1094,19 +1094,19 @@ R 00 00 01 00 T 6A 0B 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 27 00 02 09 27 00 T 6F 0B 00 00 00 00 00 00 21 02 00 39 5E 23 56 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 78 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 27 00 02 0A 27 00 T 7E 0B 00 00 00 00 00 00 21 04 00 39 5E 23 56 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 87 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 18 00 02 0A 18 00 T 8D 0B 00 00 00 00 00 00 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 8F 0B 00 00 R 00 00 01 00 T 8F 0B 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 2F 62 6F 6F 74 2F 73 74 61 72 74 diff --git a/src/nos/lib/net_lib/freopen.rel b/src/nos/lib/net_lib/freopen.rel index 893289fe..73892cb6 100644 --- a/src/nos/lib/net_lib/freopen.rel +++ b/src/nos/lib/net_lib/freopen.rel @@ -72,7 +72,7 @@ T 8B 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 R 00 00 01 00 2B 0B 10 00 T 93 00 00 00 21 00 00 00 00 CD 00 00 00 00 7D R 00 00 01 00 02 05 10 00 02 0A 00 00 -T 9A 00 00 00 A4 3C 20 17 21 4D 00 ED 4B +T 9A 00 00 00 A4 3C 20 17 21 4F 00 ED 4B R 00 00 01 00 T A3 00 00 00 00 00 00 00 09 3E 02 AE 23 B6 20 R 00 00 01 00 02 04 0A 00 diff --git a/src/nos/lib/net_lib/fseek.rel b/src/nos/lib/net_lib/fseek.rel index 830f8443..bff9699d 100644 --- a/src/nos/lib/net_lib/fseek.rel +++ b/src/nos/lib/net_lib/fseek.rel @@ -33,7 +33,7 @@ T 2D 00 00 00 R 00 00 01 00 T 2D 00 00 00 R 00 00 01 00 -T 2D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 2D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 06 00 T 36 00 00 00 16 23 36 00 21 FF FF C3 R 00 00 01 00 diff --git a/src/nos/lib/net_lib/getpeername.rel b/src/nos/lib/net_lib/getpeername.rel index b1eff5f8..06c9ddce 100644 --- a/src/nos/lib/net_lib/getpeername.rel +++ b/src/nos/lib/net_lib/getpeername.rel @@ -24,7 +24,7 @@ T 15 00 00 00 FE DD 74 FF 7D B4 20 13 R 00 00 01 00 T 1D 00 00 00 R 00 00 01 00 -T 1D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 1D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 26 00 00 00 09 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -38,7 +38,7 @@ T 3B 00 00 00 23 B6 20 13 R 00 00 01 00 T 3F 00 00 00 R 00 00 01 00 -T 3F 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 3F 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 48 00 00 00 65 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -56,7 +56,7 @@ T 62 00 00 00 R 00 00 01 00 T 62 00 00 00 R 00 00 01 00 -T 62 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 62 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 6B 00 00 00 0E 23 36 00 21 FF FF 18 6A R 00 00 01 00 diff --git a/src/nos/lib/net_lib/getsockname.rel b/src/nos/lib/net_lib/getsockname.rel index a7569bce..46a323a4 100644 --- a/src/nos/lib/net_lib/getsockname.rel +++ b/src/nos/lib/net_lib/getsockname.rel @@ -24,7 +24,7 @@ T 15 00 00 00 FE DD 74 FF 7D B4 20 13 R 00 00 01 00 T 1D 00 00 00 R 00 00 01 00 -T 1D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 1D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 26 00 00 00 09 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -42,7 +42,7 @@ T 40 00 00 00 R 00 00 01 00 T 40 00 00 00 R 00 00 01 00 -T 40 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 40 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 49 00 00 00 0E 23 36 00 21 FF FF C3 R 00 00 01 00 diff --git a/src/nos/lib/net_lib/ifencap.rel b/src/nos/lib/net_lib/ifencap.rel index 1f20ad84..f3d49963 100644 --- a/src/nos/lib/net_lib/ifencap.rel +++ b/src/nos/lib/net_lib/ifencap.rel @@ -1,9 +1,9 @@ XL4 H 2 areas 9 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___02b0_4f54_Encapsulation_20mod Ref00000000 S _setencap Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___026f_4f54_Encapsulation_20mod Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S __printf Ref00000000 @@ -20,7 +20,7 @@ R 00 00 01 00 T 14 00 00 00 60 4E 23 46 DD 5E FE DD 56 FF 3E R 00 00 01 00 T 1F 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 +R 00 00 01 00 2B 04 02 00 02 09 02 00 T 24 00 00 00 00 00 00 00 7D B4 28 23 R 00 00 01 00 02 04 00 00 T 2A 00 00 00 @@ -28,9 +28,9 @@ R 00 00 01 00 T 2A 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T 35 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 03 00 +R 00 00 01 00 2B 06 01 00 T 3A 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 03 00 2B 0A 06 00 +R 00 00 01 00 02 04 01 00 2B 0A 06 00 T 40 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 06 00 02 09 00 00 T 47 00 00 00 F1 21 01 00 18 03 @@ -42,4 +42,4 @@ R 00 00 01 00 T 50 00 00 00 R 00 00 01 00 T 50 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/net_lib/iflinkadr.rel b/src/nos/lib/net_lib/iflinkadr.rel index ce9e0243..26c2fbee 100644 --- a/src/nos/lib/net_lib/iflinkadr.rel +++ b/src/nos/lib/net_lib/iflinkadr.rel @@ -1,8 +1,8 @@ XL4 H 2 areas A global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0217_24ca_Can_27t_20set_20lin Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___0249_24ca_Can_27t_20set_20lin Ref00000000 S .__.ABS. Def00000000 S _free Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 @@ -31,7 +31,7 @@ R 00 00 01 00 T 33 00 00 00 R 00 00 01 00 T 33 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 T 39 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 07 00 02 0B 07 00 T 3F 00 00 00 CD 00 00 00 00 F1 F1 21 01 00 C3 @@ -77,4 +77,4 @@ R 00 00 01 00 02 05 00 00 T CE 00 00 00 R 00 00 01 00 T CE 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/net_lib/iftxqlen.rel b/src/nos/lib/net_lib/iftxqlen.rel index 7aac07d8..269f754f 100644 --- a/src/nos/lib/net_lib/iftxqlen.rel +++ b/src/nos/lib/net_lib/iftxqlen.rel @@ -5,8 +5,8 @@ S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _setint Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___039e_d175_TX_20queue_20limit Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___0423_d175_TX_20queue_20limit Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 37 flags 0 S _iftxqlen Def00000000 @@ -17,9 +17,9 @@ R 00 00 01 00 02 05 04 00 T 09 00 00 00 66 0B DD 75 FE DD 74 FF C5 DD 4E R 00 00 01 00 T 14 00 00 00 02 DD 46 03 C5 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 05 00 +R 00 00 01 00 2B 0A 06 00 T 1C 00 00 00 01 00 00 00 00 C5 01 20 00 09 EB -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 06 00 T 25 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 02 00 02 0A 02 00 T 2B 00 00 00 00 00 00 00 F1 F1 F1 F1 21 00 00 diff --git a/src/nos/lib/net_lib/kernel.rel b/src/nos/lib/net_lib/kernel.rel index eb74a335..750e8e36 100644 --- a/src/nos/lib/net_lib/kernel.rel +++ b/src/nos/lib/net_lib/kernel.rel @@ -1,14 +1,17 @@ XL4 -H 6 areas 3C global symbols +H 6 areas 43 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _restore Ref00000000 S _stop_timer Ref00000000 +S ?BANK_FAST_LEAVE_L08 Ref00000000 S _chkstk Ref00000000 S _acrlf Ref00000000 S _istate Ref00000000 +S ___05b3_c3a4_mainproc_28_29 Ref00000000 S ___stack_base Ref00000000 S _intcontext Ref00000000 S _giveup Ref00000000 +S ___05f0_2254_newproc_20_22_25s_2 Ref00000000 S ?L_INC_L03 Ref00000000 S ___stack_limit Ref00000000 S _setjmp Ref00000000 @@ -21,20 +24,23 @@ S _strdupw Ref00000000 S _amess Ref00000000 S ?LEAVE_DIRECT_L09 Ref00000000 S ?L_ADDASG_L03 Ref00000000 +S _delptab Ref00000000 S .__.ABS. Def00000000 S _stktrace Ref00000000 S _psetup Ref00000000 +S _strdup Ref00000000 S _pullup Ref00000000 S _free Ref00000000 S _dirps Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ___0527_2254_newproc_20_22_25s_2 Ref00000000 -S _callocw Ref00000000 S _enable Ref00000000 +S __panic Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _dequeue Ref00000000 +S _calloc Ref00000000 S _fdup Ref00000000 S ?SS_CMP_L02 Ref00000000 +S _newptab Ref00000000 S _free_p Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _longjmp Ref00000000 @@ -43,1224 +49,1311 @@ S _malloc Ref00000000 S _enqueue Ref00000000 S _fclose Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size C26 flags 0 -S _suspend Def000003DA -S _killer Def0000036B -S _resume Def0000042E -S _killself Def0000032B -S _alert Def0000045B +A CODE size CD5 flags 0 +S _suspend Def00000493 +S _killer Def00000424 +S _resume Def000004E7 +S _killself Def000003E4 +S _alert Def00000514 S _mainproc Def00000000 -S _kwait Def000004B7 -S _killproc Def00000218 -S _ksignal Def00000712 -S _chname Def00000A31 -S _newproc Def0000006D -A CSTR size 25 flags 0 -A UDATA0 size 376 flags 0 -S _Waittab Def00000004 -S _Ksig Def00000028 -S _Kdebug Def00000372 +S _kwait Def00000570 +S _killproc Def00000292 +S _ksignal Def000007C1 +S _chname Def00000AE0 +S _newproc Def00000094 +A CSTR size 2A flags 0 +A UDATA0 size 378 flags 0 +S _Waittab Def00000006 +S _Ksig Def0000002A +S _Curptab Def00000002 +S _Kdebug Def00000374 S _Curproc Def00000000 -S _Susptab Def00000024 -S _Rdytab Def00000002 +S _Susptab Def00000026 +S _Rdytab Def00000004 A IDATA0 size 2 flags 0 S _Stkchk Def00000000 A CDATA0 size 2 flags 0 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 01 4F 00 11 -R 00 00 01 00 02 05 1F 00 -T 09 00 00 00 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 1D 00 -T 0E 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 1D 00 02 09 00 00 -T 15 00 00 00 FE DD 74 FF 01 2A 00 09 E5 DD 5E -R 00 00 01 00 -T 20 00 00 00 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 11 00 -T 27 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 11 00 02 09 00 00 -T 2E 00 00 00 E1 71 23 70 21 26 00 DD 4E FE DD +T 00 00 00 00 C5 D5 01 51 00 11 01 00 3E +R 00 00 01 00 +T 09 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 25 00 02 09 25 00 +T 0E 00 00 00 00 00 00 00 22 00 00 00 00 7D B4 +R 00 00 01 00 02 04 00 00 00 09 03 00 +T 15 00 00 00 20 02 R 00 00 01 00 -T 39 00 00 00 46 FF 09 36 00 00 00 00 23 36 -R 00 00 01 00 0B 08 06 00 -T 40 00 00 00 00 00 00 00 21 28 00 09 E5 11 -R 00 00 01 00 8B 04 06 00 -T 47 00 00 00 00 00 00 00 21 00 00 00 00 A7 ED -R 00 00 01 00 02 04 06 00 02 09 0A 00 -T 4E 00 00 00 52 EB E1 73 23 72 21 04 00 09 CB +T 17 00 00 00 R 00 00 01 00 -T 59 00 00 00 8E 21 04 00 09 CB 86 ED 43 +T 17 00 00 00 18 26 +R 00 00 01 00 +T 19 00 00 00 +R 00 00 01 00 +T 19 00 00 00 21 2A 00 ED 4B 00 00 00 00 09 E5 +R 00 00 01 00 00 09 03 00 +T 22 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 00 05 02 00 2B 0A 1C 00 +T 28 00 00 00 00 00 00 00 CD 00 00 00 00 EB E1 +R 00 00 01 00 02 04 1C 00 02 09 00 00 +T 2F 00 00 00 73 23 72 21 2A 00 ED 4B R 00 00 01 00 -T 62 00 00 00 00 00 00 00 DD 6E FE DD 66 FF C3 +T 37 00 00 00 00 00 00 00 09 7E 23 B6 20 11 R 00 00 01 00 00 04 03 00 -T 6B 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 0D 00 -T 6D 00 00 00 -R 00 00 01 00 -T 6D 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 1F 00 -T 76 00 00 00 66 03 E5 1E 00 00 00 00 D5 21 -R 00 00 01 00 2B 08 1C 00 -T 7D 00 00 00 00 00 00 00 E5 21 01 00 E5 3E -R 00 00 01 00 02 04 1C 00 -T 85 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 10 00 02 09 10 00 -T 8A 00 00 00 00 00 00 00 F1 F1 F1 F1 2A +T 3F 00 00 00 +R 00 00 01 00 +T 3F 00 00 00 +R 00 00 01 00 +T 3F 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 07 00 02 0B 07 00 +T 45 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 22 00 02 0B 22 00 +T 4B 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 05 00 00 +T 50 00 00 00 +R 00 00 01 00 +T 50 00 00 00 21 26 00 ED 4B 00 00 00 00 09 36 +R 00 00 01 00 00 09 03 00 +T 59 00 00 00 00 00 00 00 23 36 00 00 00 00 21 +R 00 00 01 00 0B 04 08 00 8B 0A 08 00 +T 5E 00 00 00 28 00 ED 4B 00 00 00 00 09 E5 11 +R 00 00 01 00 00 08 03 00 +T 67 00 00 00 00 00 00 00 21 00 00 00 00 A7 ED +R 00 00 01 00 02 04 08 00 02 09 0D 00 +T 6E 00 00 00 52 EB E1 73 23 72 21 04 00 ED 4B +R 00 00 01 00 +T 79 00 00 00 00 00 00 00 09 CB 8E 21 04 00 09 +R 00 00 01 00 00 04 03 00 +T 82 00 00 00 CB 86 21 4B 00 09 ED 4B +R 00 00 01 00 +T 8A 00 00 00 02 00 00 00 71 23 70 D1 C1 C3 +R 00 00 01 00 00 04 03 00 +T 92 00 00 00 00 00 00 00 +R 00 00 01 00 02 04 03 00 +T 94 00 00 00 +R 00 00 01 00 +T 94 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD +R 00 00 01 00 02 05 23 00 +T 9D 00 00 00 66 03 E5 1E 00 00 00 00 D5 21 +R 00 00 01 00 2B 08 0B 00 +T A4 00 00 00 00 00 00 00 E5 21 01 00 E5 3E +R 00 00 01 00 02 04 0B 00 +T AC 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 13 00 02 09 13 00 +T B1 00 00 00 00 00 00 00 F1 F1 F1 F1 2A R 00 00 01 00 02 04 00 00 -T 91 00 00 00 00 00 00 00 7D B4 28 08 +T B8 00 00 00 00 00 00 00 7D B4 28 08 R 00 00 01 00 00 04 04 00 -T 97 00 00 00 +T BE 00 00 00 R 00 00 01 00 -T 97 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 -T 9D 00 00 00 00 00 00 00 +T BE 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 04 00 02 0A 04 00 +T C4 00 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 9F 00 00 00 +T C6 00 00 00 R 00 00 01 00 -T 9F 00 00 00 01 4F 00 11 01 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1D 00 -T A7 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 1D 00 02 0A 00 00 -T AE 00 00 00 75 FC DD 74 FD 01 2A 00 09 E5 DD +T C6 00 00 00 01 51 00 11 01 00 3E 00 00 00 00 +R 00 00 01 00 2B 0B 25 00 +T CE 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 25 00 02 0A 00 00 +T D5 00 00 00 75 FC DD 74 FD 7D B4 20 03 R 00 00 01 00 -T B9 00 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 11 00 -T C1 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 11 00 02 09 00 00 -T C8 00 00 00 E1 71 23 70 21 28 00 DD 4E FC DD +T DE 00 00 00 R 00 00 01 00 -T D3 00 00 00 46 FD 09 DD 5E 04 DD 56 05 73 23 +T DE 00 00 00 C3 92 01 00 00 +R 00 00 01 00 00 05 01 00 +T E1 00 00 00 R 00 00 01 00 -T DE 00 00 00 72 21 26 00 09 E5 EB 29 EB 3E +T E1 00 00 00 21 2A 00 DD 4E FC DD 46 FD 09 E5 R 00 00 01 00 -T E8 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 27 00 02 09 27 00 -T ED 00 00 00 00 00 00 00 4D 44 E1 71 23 70 79 -R 00 00 01 00 02 04 00 00 -T F6 00 00 00 B0 20 25 +T EC 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1C 00 +T F4 00 00 00 21 00 00 00 00 CD 00 00 00 00 EB +R 00 00 01 00 02 05 1C 00 02 0A 00 00 +T FB 00 00 00 E1 73 23 72 21 2A 00 09 7E 23 B6 +R 00 00 01 00 +T 06 01 00 00 20 02 R 00 00 01 00 -T F9 00 00 00 +T 08 01 00 00 R 00 00 01 00 -T F9 00 00 00 21 2A 00 DD 4E FC DD 46 FD 09 5E +T 08 01 00 00 18 7A R 00 00 01 00 -T 04 01 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 19 00 -T 09 01 00 00 00 00 00 00 CD 00 00 00 00 59 50 -R 00 00 01 00 02 04 19 00 02 09 00 00 -T 10 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 19 00 02 0A 19 00 -T 16 01 00 00 00 00 00 00 21 00 00 C3 +T 0A 01 00 00 +R 00 00 01 00 +T 0A 01 00 00 21 4B 00 DD 4E FC DD 46 FD 09 E5 +R 00 00 01 00 +T 15 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 28 00 02 0A 28 00 +T 1B 01 00 00 00 00 00 00 EB E1 73 23 72 21 R 00 00 01 00 02 04 00 00 -T 1C 01 00 00 15 02 00 00 -R 00 00 01 00 00 04 01 00 -T 1E 01 00 00 +T 23 01 00 00 4B 00 09 7E 23 B6 20 02 R 00 00 01 00 -T 1E 01 00 00 AF DD 77 FE DD 77 FF +T 2B 01 00 00 R 00 00 01 00 -T 25 01 00 00 +T 2B 01 00 00 18 42 R 00 00 01 00 -T 25 01 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 +T 2D 01 00 00 R 00 00 01 00 -T 30 01 00 00 FF A7 ED 42 30 29 +T 2D 01 00 00 21 28 00 DD 4E FC DD 46 FD 09 DD R 00 00 01 00 -T 36 01 00 00 +T 38 01 00 00 5E 04 DD 56 05 73 23 72 21 26 00 R 00 00 01 00 -T 36 01 00 00 21 26 00 DD 4E FC DD 46 FD 09 46 +T 43 01 00 00 09 E5 EB 29 EB 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 2D 00 +T 4B 01 00 00 00 00 00 00 CD 00 00 00 00 4D 44 +R 00 00 01 00 02 04 2D 00 02 09 00 00 +T 52 01 00 00 E1 71 23 70 79 B0 20 3E R 00 00 01 00 -T 41 01 00 00 23 66 68 E5 DD 6E FE DD 66 FF 29 +T 5A 01 00 00 R 00 00 01 00 -T 4C 01 00 00 4D 44 E1 09 36 AA 23 36 55 DD 34 +T 5A 01 00 00 21 4B 00 DD 4E FC DD 46 FD 09 5E R 00 00 01 00 -T 57 01 00 00 FE 20 03 DD 34 FF +T 65 01 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 18 00 +T 6A 01 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 18 00 02 09 00 00 +T 6F 01 00 00 R 00 00 01 00 -T 5D 01 00 00 +T 6F 01 00 00 21 2A 00 DD 4E FC DD 46 FD 09 5E R 00 00 01 00 -T 5D 01 00 00 18 C6 +T 7A 01 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 1E 00 +T 7F 01 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 1E 00 02 09 00 00 +T 84 01 00 00 R 00 00 01 00 -T 5F 01 00 00 +T 84 01 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1E 00 +T 8C 01 00 00 21 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 1E 00 02 0A 00 00 +T 92 01 00 00 R 00 00 01 00 -T 5F 01 00 00 21 04 00 DD 4E FC DD 46 FD 09 DD +T 92 01 00 00 21 00 00 C3 8F 02 00 00 +R 00 00 01 00 00 08 01 00 +T 98 01 00 00 R 00 00 01 00 -T 6A 01 00 00 CB 14 46 28 04 CB E6 18 02 +T 98 01 00 00 AF DD 77 FE DD 77 FF R 00 00 01 00 -T 73 01 00 00 +T 9F 01 00 00 R 00 00 01 00 -T 73 01 00 00 CB A6 +T 9F 01 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 R 00 00 01 00 -T 75 01 00 00 +T AA 01 00 00 FF A7 ED 42 30 29 R 00 00 01 00 -T 75 01 00 00 21 42 00 DD 4E FC DD 46 FD 09 DD +T B0 01 00 00 R 00 00 01 00 -T 80 01 00 00 5E 0E DD 56 0F 73 23 72 21 44 00 +T B0 01 00 00 21 26 00 DD 4E FC DD 46 FD 09 46 R 00 00 01 00 -T 8B 01 00 00 09 DD 5E 10 DD 56 11 73 23 72 21 +T BB 01 00 00 23 66 68 E5 DD 6E FE DD 66 FF 29 R 00 00 01 00 -T 96 01 00 00 46 00 09 DD 5E 12 DD 56 13 73 23 +T C6 01 00 00 4D 44 E1 09 36 AA 23 36 55 DD 34 R 00 00 01 00 -T A1 01 00 00 72 21 48 00 09 DD 7E 0C DD 5E 0A +T D1 01 00 00 FE 20 03 DD 34 FF R 00 00 01 00 -T AC 01 00 00 DD 56 0B 73 23 72 23 77 59 50 3E +T D7 01 00 00 R 00 00 01 00 -T B7 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 17 00 02 09 17 00 -T BC 01 00 00 00 00 00 00 21 3E 00 DD 4E FC DD +T D7 01 00 00 18 C6 +R 00 00 01 00 +T D9 01 00 00 +R 00 00 01 00 +T D9 01 00 00 21 04 00 DD 4E FC DD 46 FD 09 DD +R 00 00 01 00 +T E4 01 00 00 CB 14 46 28 04 CB E6 18 02 +R 00 00 01 00 +T ED 01 00 00 +R 00 00 01 00 +T ED 01 00 00 CB A6 +R 00 00 01 00 +T EF 01 00 00 +R 00 00 01 00 +T EF 01 00 00 21 42 00 DD 4E FC DD 46 FD 09 DD +R 00 00 01 00 +T FA 01 00 00 5E 0E DD 56 0F 73 23 72 21 44 00 +R 00 00 01 00 +T 05 02 00 00 09 DD 5E 10 DD 56 11 73 23 72 21 +R 00 00 01 00 +T 10 02 00 00 46 00 09 DD 5E 12 DD 56 13 73 23 +R 00 00 01 00 +T 1B 02 00 00 72 21 48 00 09 DD 7E 0C DD 5E 0A +R 00 00 01 00 +T 26 02 00 00 DD 56 0B 73 23 72 23 77 59 50 3E +R 00 00 01 00 +T 31 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 1B 00 02 09 1B 00 +T 36 02 00 00 00 00 00 00 21 3E 00 DD 4E FC DD R 00 00 01 00 02 04 00 00 -T C5 01 00 00 46 FD 09 E5 21 3E 00 ED 5B +T 3F 02 00 00 46 FD 09 E5 21 3E 00 ED 5B R 00 00 01 00 -T CE 01 00 00 00 00 00 00 19 5E 23 56 3E +T 48 02 00 00 00 00 00 00 19 5E 23 56 3E R 00 00 01 00 00 04 03 00 -T D5 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 21 00 02 09 21 00 -T DA 01 00 00 00 00 00 00 EB E1 73 23 72 21 +T 4F 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 26 00 02 09 26 00 +T 54 02 00 00 00 00 00 00 EB E1 73 23 72 21 R 00 00 01 00 02 04 00 00 -T E2 01 00 00 40 00 09 E5 21 40 00 ED 5B +T 5C 02 00 00 40 00 09 E5 21 40 00 ED 5B R 00 00 01 00 -T EB 01 00 00 00 00 00 00 19 5E 23 56 3E +T 65 02 00 00 00 00 00 00 19 5E 23 56 3E R 00 00 01 00 00 04 03 00 -T F2 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 21 00 02 09 21 00 -T F7 01 00 00 00 00 00 00 EB E1 73 23 72 21 +T 6C 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 26 00 02 09 26 00 +T 71 02 00 00 00 00 00 00 EB E1 73 23 72 21 R 00 00 01 00 02 04 00 00 -T FF 01 00 00 04 00 09 CB 8E 21 04 00 09 CB 86 +T 79 02 00 00 04 00 09 CB 8E 21 04 00 09 CB 86 R 00 00 01 00 -T 0A 02 00 00 59 50 CD 32 0B 00 00 DD 6E FC DD +T 84 02 00 00 59 50 CD E1 0B 00 00 DD 6E FC DD R 00 00 01 00 00 07 01 00 -T 13 02 00 00 66 FD +T 8D 02 00 00 66 FD R 00 00 01 00 -T 15 02 00 00 +T 8F 02 00 00 R 00 00 01 00 -T 15 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0D 00 -T 18 02 00 00 +T 8F 02 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 10 00 +T 92 02 00 00 R 00 00 01 00 -T 18 02 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD -R 00 00 01 00 02 05 1F 00 -T 21 02 00 00 B6 03 20 03 +T 92 02 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD +R 00 00 01 00 02 05 23 00 +T 9B 02 00 00 B6 03 20 03 R 00 00 01 00 -T 25 02 00 00 +T 9F 02 00 00 R 00 00 01 00 -T 25 02 00 00 C3 28 03 00 00 +T 9F 02 00 00 C3 E1 03 00 00 R 00 00 01 00 00 05 01 00 -T 28 02 00 00 +T A2 02 00 00 R 00 00 01 00 -T 28 02 00 00 2A 00 00 00 00 DD 4E 02 DD 46 03 +T A2 02 00 00 2A 00 00 00 00 DD 4E 02 DD 46 03 R 00 00 01 00 00 05 03 00 -T 31 02 00 00 A7 ED 42 20 08 +T AB 02 00 00 A7 ED 42 20 08 R 00 00 01 00 -T 36 02 00 00 +T B0 02 00 00 R 00 00 01 00 -T 36 02 00 00 3E 2B 03 00 00 21 2B 03 00 00 CD +T B0 02 00 00 3E E4 03 00 00 21 E4 03 00 00 CD R 00 00 01 00 29 05 01 00 00 0A 01 00 -T 3C 02 00 00 00 00 00 00 +T B6 02 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 3E 02 00 00 -R 00 00 01 00 -T 3E 02 00 00 21 3E 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 49 02 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 29 00 -T 4E 02 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 29 00 02 09 00 00 -T 54 02 00 00 40 00 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 29 00 -T 5C 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 29 00 02 0A 00 00 -T 63 02 00 00 2E 00 09 EB 3E 00 00 00 00 21 +T B8 02 00 00 +R 00 00 01 00 +T B8 02 00 00 21 3E 00 DD 4E 02 DD 46 03 09 5E +R 00 00 01 00 +T C3 02 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 2F 00 +T C8 02 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 2F 00 02 09 00 00 +T CE 02 00 00 40 00 09 5E 23 56 3E 00 00 00 00 +R 00 00 01 00 2B 0B 2F 00 +T D6 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 2F 00 02 0A 00 00 +T DD 02 00 00 2E 00 09 EB 3E 00 00 00 00 21 R 00 00 01 00 2B 09 02 00 -T 6A 02 00 00 00 00 00 00 CD 00 00 00 00 01 +T E4 02 00 00 00 00 00 00 CD 00 00 00 00 01 R 00 00 01 00 02 04 02 00 02 09 00 00 -T 70 02 00 00 00 00 DD 5E 02 DD 56 03 3E +T EA 02 00 00 00 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 -T 79 02 00 00 12 07 00 00 21 12 07 00 00 CD +T F3 02 00 00 C1 07 00 00 21 C1 07 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 -T 7E 02 00 00 00 00 00 00 DD 5E 02 DD 56 03 CD +T F8 02 00 00 00 00 00 00 DD 5E 02 DD 56 03 CD R 00 00 01 00 02 04 00 00 -T 87 02 00 00 61 0A 00 00 21 04 00 DD 4E 02 DD +T 01 03 00 00 10 0B 00 00 21 4B 00 DD 4E 02 DD R 00 00 01 00 00 04 01 00 -T 90 02 00 00 46 03 09 7E E6 10 47 23 7E E6 00 +T 0A 03 00 00 46 03 09 56 23 66 6A 11 1B 00 19 +R 00 00 01 00 +T 15 03 00 00 5E 23 56 1B 72 2B 73 21 4B 00 09 R 00 00 01 00 -T 9B 02 00 00 B0 28 5C +T 20 03 00 00 46 23 66 68 01 1B 00 09 7E 23 B6 R 00 00 01 00 -T 9E 02 00 00 +T 2B 03 00 00 20 15 R 00 00 01 00 -T 9E 02 00 00 21 44 00 DD 4E 02 DD 46 03 09 46 +T 2D 03 00 00 R 00 00 01 00 -T A9 02 00 00 23 66 68 DD 75 FE DD 74 FF +T 2D 03 00 00 21 4B 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 -T B2 02 00 00 +T 38 03 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 18 00 +T 3D 03 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 18 00 02 09 00 00 +T 42 03 00 00 R 00 00 01 00 -T B2 02 00 00 21 42 00 DD 4E 02 DD 46 03 09 4E +T 42 03 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E +R 00 00 01 00 +T 4D 03 00 00 E6 10 47 23 7E E6 00 B0 28 5C +R 00 00 01 00 +T 57 03 00 00 +R 00 00 01 00 +T 57 03 00 00 21 44 00 DD 4E 02 DD 46 03 09 46 +R 00 00 01 00 +T 62 03 00 00 23 66 68 DD 75 FE DD 74 FF +R 00 00 01 00 +T 6B 03 00 00 R 00 00 01 00 -T BD 02 00 00 23 46 0B 70 2B 71 03 79 B0 28 1D +T 6B 03 00 00 21 42 00 DD 4E 02 DD 46 03 09 4E R 00 00 01 00 -T C8 02 00 00 +T 76 03 00 00 23 46 0B 70 2B 71 03 79 B0 28 1D R 00 00 01 00 -T C8 02 00 00 DD 6E FE DD 66 FF 4D 44 03 03 DD +T 81 03 00 00 R 00 00 01 00 -T D3 02 00 00 71 FE DD 70 FF 5E 23 56 3E +T 81 03 00 00 DD 6E FE DD 66 FF 4D 44 03 03 DD R 00 00 01 00 -T DC 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 19 00 02 09 19 00 -T E1 02 00 00 00 00 00 00 18 CD +T 8C 03 00 00 71 FE DD 70 FF 5E 23 56 3E +R 00 00 01 00 +T 95 03 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 1E 00 02 09 1E 00 +T 9A 03 00 00 00 00 00 00 18 CD R 00 00 01 00 02 04 00 00 -T E5 02 00 00 -R 00 00 01 00 -T E5 02 00 00 21 44 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T F0 02 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 19 00 -T F5 02 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 19 00 02 09 00 00 -T FA 02 00 00 -R 00 00 01 00 -T FA 02 00 00 21 2A 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 05 03 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 19 00 -T 0A 03 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 19 00 02 09 00 00 -T 10 03 00 00 26 00 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 19 00 -T 18 03 00 00 21 00 00 00 00 CD 00 00 00 00 59 -R 00 00 01 00 02 05 19 00 02 0A 00 00 -T 1F 03 00 00 50 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 19 00 02 0B 19 00 -T 25 03 00 00 CD 00 00 00 00 +T 9E 03 00 00 +R 00 00 01 00 +T 9E 03 00 00 21 44 00 DD 4E 02 DD 46 03 09 5E +R 00 00 01 00 +T A9 03 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 1E 00 +T AE 03 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 1E 00 02 09 00 00 +T B3 03 00 00 +R 00 00 01 00 +T B3 03 00 00 21 2A 00 DD 4E 02 DD 46 03 09 5E +R 00 00 01 00 +T BE 03 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 1E 00 +T C3 03 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 1E 00 02 09 00 00 +T C9 03 00 00 26 00 09 5E 23 56 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1E 00 +T D1 03 00 00 21 00 00 00 00 CD 00 00 00 00 59 +R 00 00 01 00 02 05 1E 00 02 0A 00 00 +T D8 03 00 00 50 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 1E 00 02 0B 1E 00 +T DE 03 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 00 00 -T 28 03 00 00 +T E1 03 00 00 R 00 00 01 00 -T 28 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0D 00 -T 2B 03 00 00 +T E1 03 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 10 00 +T E4 03 00 00 R 00 00 01 00 -T 2B 03 00 00 CD 00 00 00 00 FE FF AF DD 77 FE -R 00 00 01 00 02 05 1F 00 -T 34 03 00 00 DD 77 FF 21 02 00 E5 01 +T E4 03 00 00 CD 00 00 00 00 FE FF AF DD 77 FE +R 00 00 01 00 02 05 23 00 +T ED 03 00 00 DD 77 FF 21 02 00 E5 01 R 00 00 01 00 -T 3C 03 00 00 00 00 00 00 21 02 00 39 5D 54 3E +T F5 03 00 00 00 00 00 00 21 02 00 39 5D 54 3E R 00 00 01 00 00 04 03 00 -T 45 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 26 00 02 09 26 00 -T 4A 03 00 00 00 00 00 00 E1 21 00 00 39 4D 44 +T FE 03 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 2C 00 02 09 2C 00 +T 03 04 00 00 00 00 00 00 E1 21 00 00 39 4D 44 R 00 00 01 00 02 04 00 00 -T 53 03 00 00 11 26 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 03 00 2B 0A 28 00 -T 59 03 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 28 00 02 09 00 00 -T 5E 03 00 00 +T 0C 04 00 00 11 28 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 00 05 03 00 2B 0A 2E 00 +T 12 04 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 2E 00 02 09 00 00 +T 17 04 00 00 R 00 00 01 00 -T 5E 03 00 00 11 00 00 3E B7 04 00 00 21 +T 17 04 00 00 11 00 00 3E 70 05 00 00 21 R 00 00 01 00 29 08 01 00 -T 64 03 00 00 B7 04 00 00 CD 00 00 00 00 18 F3 +T 1D 04 00 00 70 05 00 00 CD 00 00 00 00 18 F3 R 00 00 01 00 00 04 01 00 02 09 00 00 -T 6B 03 00 00 +T 24 04 00 00 R 00 00 01 00 -T 6B 03 00 00 CD 00 00 00 00 FC FF -R 00 00 01 00 02 05 1F 00 -T 70 03 00 00 +T 24 04 00 00 CD 00 00 00 00 FC FF +R 00 00 01 00 02 05 23 00 +T 29 04 00 00 R 00 00 01 00 -T 70 03 00 00 +T 29 04 00 00 R 00 00 01 00 -T 70 03 00 00 +T 29 04 00 00 R 00 00 01 00 -T 70 03 00 00 2A 26 00 00 00 7D B4 20 0D +T 29 04 00 00 2A 28 00 00 00 7D B4 20 0D R 00 00 01 00 00 05 03 00 -T 77 03 00 00 +T 30 04 00 00 R 00 00 01 00 -T 77 03 00 00 11 26 00 00 00 3E B7 04 00 00 21 +T 30 04 00 00 11 28 00 00 00 3E 70 05 00 00 21 R 00 00 01 00 00 05 03 00 29 0A 01 00 -T 7D 03 00 00 B7 04 00 00 CD 00 00 00 00 18 EC +T 36 04 00 00 70 05 00 00 CD 00 00 00 00 18 EC R 00 00 01 00 00 04 01 00 02 09 00 00 -T 84 03 00 00 +T 3D 04 00 00 R 00 00 01 00 -T 84 03 00 00 11 26 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 03 00 2B 0A 20 00 -T 8A 03 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 20 00 02 09 00 00 -T 91 03 00 00 FE DD 74 FF 01 02 00 C5 21 02 00 +T 3D 04 00 00 11 28 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 00 05 03 00 2B 0A 24 00 +T 43 04 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 24 00 02 09 00 00 +T 4A 04 00 00 FE DD 74 FF 01 02 00 C5 21 02 00 R 00 00 01 00 -T 9C 03 00 00 39 4D 44 21 04 00 39 5D 54 3E +T 55 04 00 00 39 4D 44 21 04 00 39 5D 54 3E R 00 00 01 00 -T A6 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 18 00 02 09 18 00 -T AB 03 00 00 00 00 00 00 F1 21 02 00 39 5D 54 +T 5F 04 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 1D 00 02 09 1D 00 +T 64 04 00 00 00 00 00 00 F1 21 02 00 39 5D 54 R 00 00 01 00 02 04 00 00 -T B4 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 23 00 02 0A 23 00 -T BA 03 00 00 00 00 00 00 2A 00 00 00 00 DD 4E +T 6D 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 29 00 02 0A 29 00 +T 73 04 00 00 00 00 00 00 2A 00 00 00 00 DD 4E R 00 00 01 00 02 04 00 00 00 09 03 00 -T C1 03 00 00 FC DD 46 FD A7 ED 42 28 0E +T 7A 04 00 00 FC DD 46 FD A7 ED 42 28 0E R 00 00 01 00 -T CA 03 00 00 +T 83 04 00 00 R 00 00 01 00 -T CA 03 00 00 DD 5E FC DD 56 FD 3E 18 02 00 00 +T 83 04 00 00 DD 5E FC DD 56 FD 3E 92 02 00 00 R 00 00 01 00 29 0B 01 00 -T D2 03 00 00 21 18 02 00 00 CD 00 00 00 00 +T 8B 04 00 00 21 92 02 00 00 CD 00 00 00 00 R 00 00 01 00 00 05 01 00 02 0A 00 00 -T D8 03 00 00 +T 91 04 00 00 R 00 00 01 00 -T D8 03 00 00 18 96 +T 91 04 00 00 18 96 R 00 00 01 00 -T DA 03 00 00 +T 93 04 00 00 R 00 00 01 00 -T DA 03 00 00 CD 00 00 00 00 7B B2 20 02 -R 00 00 01 00 02 05 1B 00 -T E1 03 00 00 +T 93 04 00 00 CD 00 00 00 00 7B B2 20 02 +R 00 00 01 00 02 05 20 00 +T 9A 04 00 00 R 00 00 01 00 -T E1 03 00 00 18 48 +T 9A 04 00 00 18 48 R 00 00 01 00 -T E3 03 00 00 +T 9C 04 00 00 R 00 00 01 00 -T E3 03 00 00 2A 00 00 00 00 DD 4E 02 DD 46 03 +T 9C 04 00 00 2A 00 00 00 00 DD 4E 02 DD 46 03 R 00 00 01 00 00 05 03 00 -T EC 03 00 00 A7 ED 42 28 09 +T A5 04 00 00 A7 ED 42 28 09 R 00 00 01 00 -T F1 03 00 00 +T AA 04 00 00 R 00 00 01 00 -T F1 03 00 00 DD 5E 02 DD 56 03 CD 61 0A 00 00 +T AA 04 00 00 DD 5E 02 DD 56 03 CD 10 0B 00 00 R 00 00 01 00 00 0B 01 00 -T FA 03 00 00 +T B3 04 00 00 R 00 00 01 00 -T FA 03 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E +T B3 04 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 05 04 00 00 F6 01 77 23 7E F6 00 77 2A +T BE 04 00 00 F6 01 77 23 7E F6 00 77 2A R 00 00 01 00 -T 0E 04 00 00 00 00 00 00 A7 ED 42 28 0B +T C7 04 00 00 00 00 00 00 A7 ED 42 28 0B R 00 00 01 00 00 04 03 00 -T 15 04 00 00 +T CE 04 00 00 R 00 00 01 00 -T 15 04 00 00 DD 5E 02 DD 56 03 CD 32 0B 00 00 +T CE 04 00 00 DD 5E 02 DD 56 03 CD E1 0B 00 00 R 00 00 01 00 00 0B 01 00 -T 1E 04 00 00 18 0B +T D7 04 00 00 18 0B R 00 00 01 00 -T 20 04 00 00 +T D9 04 00 00 R 00 00 01 00 -T 20 04 00 00 11 00 00 3E B7 04 00 00 21 +T D9 04 00 00 11 00 00 3E 70 05 00 00 21 R 00 00 01 00 29 08 01 00 -T 26 04 00 00 B7 04 00 00 CD 00 00 00 00 +T DF 04 00 00 70 05 00 00 CD 00 00 00 00 R 00 00 01 00 00 04 01 00 02 09 00 00 -T 2B 04 00 00 +T E4 04 00 00 R 00 00 01 00 -T 2B 04 00 00 +T E4 04 00 00 R 00 00 01 00 -T 2B 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0D 00 -T 2E 04 00 00 +T E4 04 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 10 00 +T E7 04 00 00 R 00 00 01 00 -T 2E 04 00 00 CD 00 00 00 00 7B B2 20 02 -R 00 00 01 00 02 05 1B 00 -T 35 04 00 00 +T E7 04 00 00 CD 00 00 00 00 7B B2 20 02 +R 00 00 01 00 02 05 20 00 +T EE 04 00 00 R 00 00 01 00 -T 35 04 00 00 18 21 +T EE 04 00 00 18 21 R 00 00 01 00 -T 37 04 00 00 +T F0 04 00 00 R 00 00 01 00 -T 37 04 00 00 DD 5E 02 DD 56 03 CD 61 0A 00 00 +T F0 04 00 00 DD 5E 02 DD 56 03 CD 10 0B 00 00 R 00 00 01 00 00 0B 01 00 -T 40 04 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E +T F9 04 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 4B 04 00 00 E6 FE 77 23 7E E6 FF 77 59 50 CD +T 04 05 00 00 E6 FE 77 23 7E E6 FF 77 59 50 CD R 00 00 01 00 -T 56 04 00 00 32 0B 00 00 +T 0F 05 00 00 E1 0B 00 00 R 00 00 01 00 00 04 01 00 -T 58 04 00 00 +T 11 05 00 00 R 00 00 01 00 -T 58 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0D 00 -T 5B 04 00 00 +T 11 05 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 10 00 +T 14 05 00 00 R 00 00 01 00 -T 5B 04 00 00 CD 00 00 00 00 7B B2 20 02 -R 00 00 01 00 02 05 1B 00 -T 62 04 00 00 +T 14 05 00 00 CD 00 00 00 00 7B B2 20 02 +R 00 00 01 00 02 05 20 00 +T 1B 05 00 00 R 00 00 01 00 -T 62 04 00 00 18 50 +T 1B 05 00 00 18 50 R 00 00 01 00 -T 64 04 00 00 +T 1D 05 00 00 R 00 00 01 00 -T 64 04 00 00 2A 00 00 00 00 DD 4E 02 DD 46 03 +T 1D 05 00 00 2A 00 00 00 00 DD 4E 02 DD 46 03 R 00 00 01 00 00 05 03 00 -T 6D 04 00 00 A7 ED 42 28 09 +T 26 05 00 00 A7 ED 42 28 09 R 00 00 01 00 -T 72 04 00 00 +T 2B 05 00 00 R 00 00 01 00 -T 72 04 00 00 DD 5E 02 DD 56 03 CD 61 0A 00 00 +T 2B 05 00 00 DD 5E 02 DD 56 03 CD 10 0B 00 00 R 00 00 01 00 00 0B 01 00 -T 7B 04 00 00 +T 34 05 00 00 R 00 00 01 00 -T 7B 04 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E +T 34 05 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 86 04 00 00 E6 FD 77 23 7E E6 FF 77 21 2C 00 +T 3F 05 00 00 E6 FD 77 23 7E E6 FF 77 21 2C 00 R 00 00 01 00 -T 91 04 00 00 09 DD 5E 04 DD 56 05 73 23 72 21 +T 4A 05 00 00 09 DD 5E 04 DD 56 05 73 23 72 21 R 00 00 01 00 -T 9C 04 00 00 24 00 09 AF 77 23 77 2A +T 55 05 00 00 24 00 09 AF 77 23 77 2A R 00 00 01 00 -T A4 04 00 00 00 00 00 00 A7 ED 42 28 09 +T 5D 05 00 00 00 00 00 00 A7 ED 42 28 09 R 00 00 01 00 00 04 03 00 -T AB 04 00 00 +T 64 05 00 00 R 00 00 01 00 -T AB 04 00 00 DD 5E 02 DD 56 03 CD 32 0B 00 00 +T 64 05 00 00 DD 5E 02 DD 56 03 CD E1 0B 00 00 R 00 00 01 00 00 0B 01 00 -T B4 04 00 00 +T 6D 05 00 00 R 00 00 01 00 -T B4 04 00 00 +T 6D 05 00 00 R 00 00 01 00 -T B4 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0D 00 -T B7 04 00 00 +T 6D 05 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 10 00 +T 70 05 00 00 R 00 00 01 00 -T B7 04 00 00 CD 00 00 00 00 FA FF 3E -R 00 00 01 00 02 05 1F 00 -T BD 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 -T C2 04 00 00 00 00 00 00 7D B4 20 25 +T 70 05 00 00 CD 00 00 00 00 FA FF 3E +R 00 00 01 00 02 05 23 00 +T 76 05 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 7B 05 00 00 00 00 00 00 7D B4 20 25 R 00 00 01 00 02 04 00 00 -T C8 04 00 00 +T 81 05 00 00 R 00 00 01 00 -T C8 04 00 00 21 2A 00 ED 4B 00 00 00 00 09 4E +T 81 05 00 00 21 2A 00 ED 4B 00 00 00 00 09 4E R 00 00 01 00 00 09 03 00 -T D1 04 00 00 23 46 C5 21 00 00 00 00 E5 3E +T 8A 05 00 00 23 46 C5 21 05 00 00 00 E5 3E R 00 00 01 00 00 08 02 00 -T D9 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 -T DE 04 00 00 00 00 00 00 F1 F1 11 00 00 3E +T 92 05 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0F 00 02 09 0F 00 +T 97 05 00 00 00 00 00 00 F1 F1 11 00 00 3E R 00 00 01 00 02 04 00 00 -T E6 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 16 00 02 09 16 00 -T EB 04 00 00 00 00 00 00 +T 9F 05 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 1A 00 02 09 1A 00 +T A4 05 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T ED 04 00 00 +T A6 05 00 00 R 00 00 01 00 -T ED 04 00 00 2A 66 03 00 00 ED 4B 68 03 00 00 +T A6 05 00 00 2A 68 03 00 00 ED 4B 6A 03 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T F4 04 00 00 CD 00 00 00 00 22 66 03 00 00 ED -R 00 00 01 00 02 05 09 00 00 0A 03 00 -T FB 04 00 00 43 68 03 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 03 00 2B 0A 07 00 -T 01 05 00 00 00 00 00 00 CD 00 00 00 00 3E 01 -R 00 00 01 00 02 04 07 00 02 09 00 00 -T 08 05 00 00 AD B4 20 17 +T AD 05 00 00 CD 00 00 00 00 22 68 03 00 00 ED +R 00 00 01 00 02 05 0C 00 00 0A 03 00 +T B4 05 00 00 43 6A 03 00 00 3E 00 00 00 00 21 +R 00 00 01 00 00 05 03 00 2B 0A 09 00 +T BA 05 00 00 00 00 00 00 CD 00 00 00 00 3E 01 +R 00 00 01 00 02 04 09 00 02 09 00 00 +T C1 05 00 00 AD B4 20 17 R 00 00 01 00 -T 0C 05 00 00 +T C5 05 00 00 R 00 00 01 00 -T 0C 05 00 00 2A 6E 03 00 00 ED 4B 70 03 00 00 +T C5 05 00 00 2A 70 03 00 00 ED 4B 72 03 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 13 05 00 00 CD 00 00 00 00 22 6E 03 00 00 ED -R 00 00 01 00 02 05 09 00 00 0A 03 00 -T 1A 05 00 00 43 70 03 00 00 21 00 00 C3 +T CC 05 00 00 CD 00 00 00 00 22 70 03 00 00 ED +R 00 00 01 00 02 05 0C 00 00 0A 03 00 +T D3 05 00 00 43 72 03 00 00 21 00 00 C3 R 00 00 01 00 00 05 03 00 -T 21 05 00 00 0F 07 00 00 +T DA 05 00 00 BE 07 00 00 R 00 00 01 00 00 04 01 00 -T 23 05 00 00 +T DC 05 00 00 R 00 00 01 00 -T 23 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 05 00 02 0A 05 00 -T 29 05 00 00 00 00 00 00 DD 75 FE DD 74 FF 3E +T DC 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 06 00 02 0A 06 00 +T E2 05 00 00 00 00 00 00 DD 75 FE DD 74 FF 3E R 00 00 01 00 02 04 00 00 -T 32 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1E 00 02 09 1E 00 -T 37 05 00 00 00 00 00 00 2A 00 00 00 00 7D B4 +T EB 05 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 21 00 02 09 21 00 +T F0 05 00 00 00 00 00 00 2A 00 00 00 00 7D B4 R 00 00 01 00 02 04 00 00 00 09 04 00 -T 3E 05 00 00 28 08 +T F7 05 00 00 28 08 R 00 00 01 00 -T 40 05 00 00 +T F9 05 00 00 R 00 00 01 00 -T 40 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 -T 46 05 00 00 00 00 00 00 +T F9 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 04 00 02 0A 04 00 +T FF 05 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 48 05 00 00 +T 01 06 00 00 R 00 00 01 00 -T 48 05 00 00 DD 7E 02 DD B6 03 28 29 +T 01 06 00 00 DD 7E 02 DD B6 03 28 29 R 00 00 01 00 -T 50 05 00 00 +T 09 06 00 00 R 00 00 01 00 -T 50 05 00 00 21 24 00 ED 4B 00 00 00 00 09 DD +T 09 06 00 00 21 24 00 ED 4B 00 00 00 00 09 DD R 00 00 01 00 00 09 03 00 -T 59 05 00 00 5E 02 DD 56 03 73 23 72 21 04 00 +T 12 06 00 00 5E 02 DD 56 03 73 23 72 21 04 00 R 00 00 01 00 -T 64 05 00 00 ED 4B 00 00 00 00 09 7E F6 02 77 +T 1D 06 00 00 ED 4B 00 00 00 00 09 7E F6 02 77 R 00 00 01 00 00 06 03 00 -T 6D 05 00 00 23 7E F6 00 77 ED 5B 00 00 00 00 +T 26 06 00 00 23 7E F6 00 77 ED 5B 00 00 00 00 R 00 00 01 00 00 0B 03 00 -T 76 05 00 00 CD 32 0B 00 00 +T 2F 06 00 00 CD E1 0B 00 00 R 00 00 01 00 00 05 01 00 -T 79 05 00 00 +T 32 06 00 00 R 00 00 01 00 -T 79 05 00 00 CD C1 07 00 00 DD 7E 02 DD B6 03 +T 32 06 00 00 CD 70 08 00 00 DD 7E 02 DD B6 03 R 00 00 01 00 00 05 01 00 -T 82 05 00 00 20 33 +T 3B 06 00 00 20 33 R 00 00 01 00 -T 84 05 00 00 +T 3D 06 00 00 R 00 00 01 00 -T 84 05 00 00 2A 02 00 00 00 7D B4 20 25 +T 3D 06 00 00 2A 04 00 00 00 7D B4 20 25 R 00 00 01 00 00 05 03 00 -T 8B 05 00 00 +T 44 06 00 00 R 00 00 01 00 -T 8B 05 00 00 2A 6A 03 00 00 ED 4B 6C 03 00 00 +T 44 06 00 00 2A 6C 03 00 00 ED 4B 6E 03 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 92 05 00 00 CD 00 00 00 00 22 6A 03 00 00 ED -R 00 00 01 00 02 05 09 00 00 0A 03 00 -T 99 05 00 00 43 6C 03 00 00 DD 5E FE DD 56 FF +T 4B 06 00 00 CD 00 00 00 00 22 6C 03 00 00 ED +R 00 00 01 00 02 05 0C 00 00 0A 03 00 +T 52 06 00 00 43 6E 03 00 00 DD 5E FE DD 56 FF R 00 00 01 00 00 05 03 00 -T A2 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD +T 5B 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 01 00 02 0A 01 00 -T A8 05 00 00 00 00 00 00 21 00 00 C3 +T 61 06 00 00 00 00 00 00 21 00 00 C3 R 00 00 01 00 02 04 00 00 -T AE 05 00 00 0F 07 00 00 +T 67 06 00 00 BE 07 00 00 R 00 00 01 00 00 04 01 00 -T B0 05 00 00 +T 69 06 00 00 R 00 00 01 00 -T B0 05 00 00 ED 5B 00 00 00 00 CD 32 0B 00 00 +T 69 06 00 00 ED 5B 00 00 00 00 CD E1 0B 00 00 R 00 00 01 00 00 06 03 00 00 0B 01 00 -T B7 05 00 00 +T 70 06 00 00 R 00 00 01 00 -T B7 05 00 00 2A 02 00 00 00 7D B4 20 25 +T 70 06 00 00 2A 04 00 00 00 7D B4 20 25 R 00 00 01 00 00 05 03 00 -T BE 05 00 00 +T 77 06 00 00 R 00 00 01 00 -T BE 05 00 00 2A 72 03 00 00 7D B4 28 0A +T 77 06 00 00 2A 74 03 00 00 7D B4 28 0A R 00 00 01 00 00 05 03 00 -T C5 05 00 00 +T 7E 06 00 00 R 00 00 01 00 -T C5 05 00 00 1E 2E 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0F 00 -T CA 05 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 0F 00 02 09 00 00 -T CF 05 00 00 +T 7E 06 00 00 1E 2E 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 12 00 +T 83 06 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 +T 88 06 00 00 R 00 00 01 00 -T CF 05 00 00 +T 88 06 00 00 R 00 00 01 00 -T CF 05 00 00 2A 02 00 00 00 7D B4 20 0D +T 88 06 00 00 2A 04 00 00 00 7D B4 20 0D R 00 00 01 00 00 05 03 00 -T D6 05 00 00 +T 8F 06 00 00 R 00 00 01 00 -T D6 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 08 00 02 0A 08 00 -T DC 05 00 00 00 00 00 00 CD C1 07 00 00 18 EC +T 8F 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0A 00 02 0A 0A 00 +T 95 06 00 00 00 00 00 00 CD 70 08 00 00 18 EC R 00 00 01 00 02 04 00 00 00 09 01 00 -T E3 05 00 00 +T 9C 06 00 00 R 00 00 01 00 -T E3 05 00 00 +T 9C 06 00 00 R 00 00 01 00 -T E3 05 00 00 2A 00 00 00 00 DD 75 FA DD 74 FB +T 9C 06 00 00 2A 00 00 00 00 DD 75 FA DD 74 FB R 00 00 01 00 00 05 03 00 -T EC 05 00 00 2A 02 00 00 00 22 00 00 00 00 EB +T A5 06 00 00 2A 04 00 00 00 22 00 00 00 00 EB R 00 00 01 00 00 05 03 00 00 0A 03 00 -T F3 05 00 00 CD 61 0A 00 00 2A 72 03 00 00 7D +T AC 06 00 00 CD 10 0B 00 00 2A 74 03 00 00 7D R 00 00 01 00 00 05 01 00 00 0A 03 00 -T FA 05 00 00 B4 28 25 +T B3 06 00 00 B4 28 25 R 00 00 01 00 -T FD 05 00 00 +T B6 06 00 00 R 00 00 01 00 -T FD 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 04 00 02 0A 04 00 -T 03 06 00 00 00 00 00 00 21 2A 00 ED 4B +T B6 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 05 00 02 0A 05 00 +T BC 06 00 00 00 00 00 00 21 2A 00 ED 4B R 00 00 01 00 02 04 00 00 -T 0A 06 00 00 00 00 00 00 09 5E 23 56 3E +T C3 06 00 00 00 00 00 00 09 5E 23 56 3E R 00 00 01 00 00 04 03 00 -T 11 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 -T 16 06 00 00 00 00 00 00 1E 20 3E 00 00 00 00 -R 00 00 01 00 02 04 00 00 2B 0B 0F 00 -T 1C 06 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 0F 00 02 0A 00 00 -T 22 06 00 00 +T CA 06 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 15 00 02 09 15 00 +T CF 06 00 00 00 00 00 00 1E 20 3E 00 00 00 00 +R 00 00 01 00 02 04 00 00 2B 0B 12 00 +T D5 06 00 00 21 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 12 00 02 0A 00 00 +T DB 06 00 00 R 00 00 01 00 -T 22 06 00 00 21 04 00 DD 4E FA DD 46 FB 09 7E +T DB 06 00 00 21 04 00 DD 4E FA DD 46 FB 09 7E R 00 00 01 00 -T 2D 06 00 00 E6 FB 77 23 7E E6 FF 77 DD 7E FE +T E6 06 00 00 E6 FB 77 23 7E E6 FF 77 DD 7E FE R 00 00 01 00 -T 38 06 00 00 DD B6 FF 28 13 +T F1 06 00 00 DD B6 FF 28 13 R 00 00 01 00 -T 3D 06 00 00 +T F6 06 00 00 R 00 00 01 00 -T 3D 06 00 00 21 04 00 DD 4E FA DD 46 FB 09 7E +T F6 06 00 00 21 04 00 DD 4E FA DD 46 FB 09 7E R 00 00 01 00 -T 48 06 00 00 F6 04 77 23 7E F6 00 77 +T 01 07 00 00 F6 04 77 23 7E F6 00 77 R 00 00 01 00 -T 50 06 00 00 +T 09 07 00 00 R 00 00 01 00 -T 50 06 00 00 21 06 00 DD 4E FA DD 46 FB 09 EB +T 09 07 00 00 21 06 00 DD 4E FA DD 46 FB 09 EB R 00 00 01 00 -T 5B 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0B 00 02 0A 0B 00 -T 61 06 00 00 00 00 00 00 7D B4 20 2C +T 14 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 +T 1A 07 00 00 00 00 00 00 7D B4 20 2C R 00 00 01 00 02 04 00 00 -T 67 06 00 00 +T 20 07 00 00 R 00 00 01 00 -T 67 06 00 00 21 04 00 ED 4B 00 00 00 00 09 7E +T 20 07 00 00 21 04 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 00 09 03 00 -T 70 06 00 00 0F 0F E6 01 16 00 5F 3E +T 29 07 00 00 0F 0F E6 01 16 00 5F 3E R 00 00 01 00 -T 78 06 00 00 00 00 00 00 21 00 00 00 00 CD +T 31 07 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 7D 06 00 00 00 00 00 00 01 01 00 21 06 00 ED +T 36 07 00 00 00 00 00 00 01 01 00 21 06 00 ED R 00 00 01 00 02 04 00 00 -T 86 06 00 00 5B 00 00 00 00 19 EB 3E +T 3F 07 00 00 5B 00 00 00 00 19 EB 3E R 00 00 01 00 00 05 03 00 -T 8C 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 25 00 02 09 25 00 -T 91 06 00 00 00 00 00 00 +T 45 07 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 2B 00 02 09 2B 00 +T 4A 07 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 93 06 00 00 +T 4C 07 00 00 R 00 00 01 00 -T 93 06 00 00 21 2C 00 ED 4B 00 00 00 00 09 56 +T 4C 07 00 00 21 2C 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 00 09 03 00 -T 9C 06 00 00 23 66 6A DD 75 FC DD 74 FD 21 +T 55 07 00 00 23 66 6A DD 75 FC DD 74 FD 21 R 00 00 01 00 -T A6 06 00 00 2C 00 09 AF 77 23 77 21 04 00 ED +T 5F 07 00 00 2C 00 09 AF 77 23 77 21 04 00 ED R 00 00 01 00 -T B1 06 00 00 4B 00 00 00 00 09 7E 0F 0F E6 01 +T 6A 07 00 00 4B 00 00 00 00 09 7E 0F 0F E6 01 R 00 00 01 00 00 05 03 00 -T BA 06 00 00 16 00 5F 3E 00 00 00 00 21 +T 73 07 00 00 16 00 5F 3E 00 00 00 00 21 R 00 00 01 00 2B 08 01 00 -T C0 06 00 00 00 00 00 00 CD 00 00 00 00 21 +T 79 07 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 01 00 02 09 00 00 -T C6 06 00 00 04 00 09 7E E6 08 47 23 7E E6 00 +T 7F 07 00 00 04 00 09 7E E6 08 47 23 7E E6 00 R 00 00 01 00 -T D1 06 00 00 B0 28 35 21 22 00 ED 4B +T 8A 07 00 00 B0 28 2B 21 22 00 ED 4B R 00 00 01 00 -T D9 06 00 00 00 00 00 00 09 46 23 66 68 DD 4E +T 92 07 00 00 00 00 00 00 09 46 23 66 68 DD 4E R 00 00 01 00 00 04 03 00 -T E2 06 00 00 FC DD 46 FD A7 ED 42 20 1E +T 9B 07 00 00 FC DD 46 FD A7 ED 42 20 14 R 00 00 01 00 -T EB 06 00 00 +T A4 07 00 00 R 00 00 01 00 -T EB 06 00 00 +T A4 07 00 00 R 00 00 01 00 -T EB 06 00 00 +T A4 07 00 00 R 00 00 01 00 -T EB 06 00 00 1E 70 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0F 00 -T F0 06 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 04 0F 00 02 09 00 00 -T F6 06 00 00 01 00 21 14 00 ED 5B 00 00 00 00 -R 00 00 01 00 00 0B 03 00 -T FF 06 00 00 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 25 00 -T 04 07 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 25 00 02 09 00 00 -T 09 07 00 00 +T A4 07 00 00 01 01 00 21 14 00 ED 5B +R 00 00 01 00 +T AC 07 00 00 00 00 00 00 19 EB 3E 00 00 00 00 +R 00 00 01 00 00 04 03 00 2B 0B 2B 00 +T B2 07 00 00 21 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 2B 00 02 0A 00 00 +T B8 07 00 00 R 00 00 01 00 -T 09 07 00 00 DD 6E FC DD 66 FD +T B8 07 00 00 DD 6E FC DD 66 FD R 00 00 01 00 -T 0F 07 00 00 +T BE 07 00 00 R 00 00 01 00 -T 0F 07 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0D 00 -T 12 07 00 00 +T BE 07 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 10 00 +T C1 07 00 00 R 00 00 01 00 -T 12 07 00 00 CD 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 1B 00 2B 0A 05 00 -T 18 07 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 05 00 02 09 00 00 -T 1F 07 00 00 28 15 +T C1 07 00 00 CD 00 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 02 05 20 00 2B 0A 06 00 +T C7 07 00 00 00 00 00 00 CD 00 00 00 00 7D B4 +R 00 00 01 00 02 04 06 00 02 09 00 00 +T CE 07 00 00 28 15 R 00 00 01 00 -T 21 07 00 00 +T D0 07 00 00 R 00 00 01 00 -T 21 07 00 00 CD C1 07 00 00 DD 4E 04 DD 46 05 +T D0 07 00 00 CD 70 08 00 00 DD 4E 04 DD 46 05 R 00 00 01 00 00 05 01 00 -T 2A 07 00 00 DD 5E 02 DD 56 03 CD 5A 08 00 00 +T D9 07 00 00 DD 5E 02 DD 56 03 CD 09 09 00 00 R 00 00 01 00 00 0B 01 00 -T 33 07 00 00 C3 BE 07 00 00 +T E2 07 00 00 C3 6D 08 00 00 R 00 00 01 00 00 05 01 00 -T 36 07 00 00 +T E5 07 00 00 R 00 00 01 00 -T 36 07 00 00 2A 62 03 00 00 ED 4B 64 03 00 00 +T E5 07 00 00 2A 64 03 00 00 ED 4B 66 03 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 3D 07 00 00 CD 00 00 00 00 22 62 03 00 00 ED -R 00 00 01 00 02 05 09 00 00 0A 03 00 -T 44 07 00 00 43 64 03 00 00 2A 74 03 00 00 DD +T EC 07 00 00 CD 00 00 00 00 22 64 03 00 00 ED +R 00 00 01 00 02 05 0C 00 00 0A 03 00 +T F3 07 00 00 43 66 03 00 00 2A 76 03 00 00 DD R 00 00 01 00 00 05 03 00 00 0A 03 00 -T 4B 07 00 00 4E 02 DD 46 03 A7 ED 42 20 1A 2A +T FA 07 00 00 4E 02 DD 46 03 A7 ED 42 20 1A 2A R 00 00 01 00 -T 56 07 00 00 4C 03 00 00 7D B4 28 13 +T 05 08 00 00 4E 03 00 00 7D B4 28 13 R 00 00 01 00 00 04 03 00 -T 5C 07 00 00 +T 0B 08 00 00 R 00 00 01 00 -T 5C 07 00 00 +T 0B 08 00 00 R 00 00 01 00 -T 5C 07 00 00 +T 0B 08 00 00 R 00 00 01 00 -T 5C 07 00 00 2A 50 03 00 00 ED 4B 52 03 00 00 +T 0B 08 00 00 2A 52 03 00 00 ED 4B 54 03 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 63 07 00 00 CD 00 00 00 00 22 50 03 00 00 ED -R 00 00 01 00 02 05 09 00 00 0A 03 00 -T 6A 07 00 00 43 52 03 00 00 18 4F +T 12 08 00 00 CD 00 00 00 00 22 52 03 00 00 ED +R 00 00 01 00 02 05 0C 00 00 0A 03 00 +T 19 08 00 00 43 54 03 00 00 18 4F R 00 00 01 00 00 05 03 00 -T 6F 07 00 00 +T 1E 08 00 00 R 00 00 01 00 -T 6F 07 00 00 2A 4C 03 00 00 3E C8 AD B4 20 09 +T 1E 08 00 00 2A 4E 03 00 00 3E C8 AD B4 20 09 R 00 00 01 00 00 05 03 00 -T 78 07 00 00 +T 27 08 00 00 R 00 00 01 00 -T 78 07 00 00 2A 54 03 00 00 23 22 54 03 00 00 +T 27 08 00 00 2A 56 03 00 00 23 22 56 03 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 7F 07 00 00 18 3D +T 2E 08 00 00 18 3D R 00 00 01 00 -T 81 07 00 00 +T 30 08 00 00 R 00 00 01 00 -T 81 07 00 00 2A 48 03 00 00 DD 4E 02 DD 46 03 +T 30 08 00 00 2A 4A 03 00 00 DD 4E 02 DD 46 03 R 00 00 01 00 00 05 03 00 -T 8A 07 00 00 71 23 70 ED 43 74 03 00 00 2A +T 39 08 00 00 71 23 70 ED 43 76 03 00 00 2A R 00 00 01 00 00 09 03 00 -T 92 07 00 00 48 03 00 00 23 23 DD 4E 04 DD 46 +T 41 08 00 00 4A 03 00 00 23 23 DD 4E 04 DD 46 R 00 00 01 00 00 04 03 00 -T 9B 07 00 00 05 71 23 70 01 48 03 00 00 2A +T 4A 08 00 00 05 71 23 70 01 4A 03 00 00 2A R 00 00 01 00 00 09 03 00 -T A3 07 00 00 48 03 00 00 23 23 23 23 22 +T 52 08 00 00 4A 03 00 00 23 23 23 23 22 R 00 00 01 00 00 04 03 00 -T AA 07 00 00 48 03 00 00 A7 ED 42 38 06 +T 59 08 00 00 4A 03 00 00 A7 ED 42 38 06 R 00 00 01 00 00 04 03 00 -T B1 07 00 00 +T 60 08 00 00 R 00 00 01 00 -T B1 07 00 00 21 28 00 00 00 22 48 03 00 00 +T 60 08 00 00 21 2A 00 00 00 22 4A 03 00 00 R 00 00 01 00 00 05 03 00 00 0A 03 00 -T B7 07 00 00 +T 66 08 00 00 R 00 00 01 00 -T B7 07 00 00 2A 4C 03 00 00 23 22 4C 03 00 00 +T 66 08 00 00 2A 4E 03 00 00 23 22 4E 03 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T BE 07 00 00 +T 6D 08 00 00 R 00 00 01 00 -T BE 07 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0D 00 -T C1 07 00 00 +T 6D 08 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 10 00 +T 70 08 00 00 R 00 00 01 00 -T C1 07 00 00 CD 00 00 00 00 FA FF AF DD 77 FA -R 00 00 01 00 02 05 1F 00 -T CA 07 00 00 DD 77 FB +T 70 08 00 00 CD 00 00 00 00 FA FF AF DD 77 FA +R 00 00 01 00 02 05 23 00 +T 79 08 00 00 DD 77 FB R 00 00 01 00 -T CD 07 00 00 +T 7C 08 00 00 R 00 00 01 00 -T CD 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1A 00 02 0A 1A 00 -T D3 07 00 00 00 00 00 00 DD 75 FE DD 74 FF 2A +T 7C 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 1F 00 02 0A 1F 00 +T 82 08 00 00 00 00 00 00 DD 75 FE DD 74 FF 2A R 00 00 01 00 02 04 00 00 -T DC 07 00 00 4C 03 00 00 DD 75 FC DD 74 FD 7D +T 8B 08 00 00 4E 03 00 00 DD 75 FC DD 74 FD 7D R 00 00 01 00 00 04 03 00 -T E5 07 00 00 B4 28 07 +T 94 08 00 00 B4 28 07 R 00 00 01 00 -T E8 07 00 00 +T 97 08 00 00 R 00 00 01 00 -T E8 07 00 00 2A 4C 03 00 00 2B 22 4C 03 00 00 +T 97 08 00 00 2A 4E 03 00 00 2B 22 4E 03 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T EF 07 00 00 +T 9E 08 00 00 R 00 00 01 00 -T EF 07 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +T 9E 08 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 R 00 00 01 00 2B 0B 01 00 -T F7 07 00 00 21 00 00 00 00 CD 00 00 00 00 DD +T A6 08 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 01 00 02 0A 00 00 -T FE 07 00 00 7E FC DD B6 FD 20 02 +T AD 08 00 00 7E FC DD B6 FD 20 02 R 00 00 01 00 -T 05 08 00 00 +T B4 08 00 00 R 00 00 01 00 -T 05 08 00 00 18 33 +T B4 08 00 00 18 33 R 00 00 01 00 -T 07 08 00 00 +T B6 08 00 00 R 00 00 01 00 -T 07 08 00 00 2A 4A 03 00 00 23 23 4E 23 46 2A +T B6 08 00 00 2A 4C 03 00 00 23 23 4E 23 46 2A R 00 00 01 00 00 05 03 00 -T 10 08 00 00 4A 03 00 00 5E 23 56 CD +T BF 08 00 00 4C 03 00 00 5E 23 56 CD R 00 00 01 00 00 04 03 00 -T 16 08 00 00 5A 08 00 00 01 48 03 00 00 2A +T C5 08 00 00 09 09 00 00 01 4A 03 00 00 2A R 00 00 01 00 00 04 01 00 00 09 03 00 -T 1C 08 00 00 4A 03 00 00 23 23 23 23 22 +T CB 08 00 00 4C 03 00 00 23 23 23 23 22 R 00 00 01 00 00 04 03 00 -T 23 08 00 00 4A 03 00 00 A7 ED 42 38 06 +T D2 08 00 00 4C 03 00 00 A7 ED 42 38 06 R 00 00 01 00 00 04 03 00 -T 2A 08 00 00 +T D9 08 00 00 R 00 00 01 00 -T 2A 08 00 00 21 28 00 00 00 22 4A 03 00 00 +T D9 08 00 00 21 2A 00 00 00 22 4C 03 00 00 R 00 00 01 00 00 05 03 00 00 0A 03 00 -T 30 08 00 00 +T DF 08 00 00 R 00 00 01 00 -T 30 08 00 00 DD 34 FA 20 03 DD 34 FB +T DF 08 00 00 DD 34 FA 20 03 DD 34 FB R 00 00 01 00 -T 38 08 00 00 +T E7 08 00 00 R 00 00 01 00 -T 38 08 00 00 18 93 +T E7 08 00 00 18 93 R 00 00 01 00 -T 3A 08 00 00 +T E9 08 00 00 R 00 00 01 00 -T 3A 08 00 00 2A 4E 03 00 00 DD 4E FA DD 46 FB +T E9 08 00 00 2A 50 03 00 00 DD 4E FA DD 46 FB R 00 00 01 00 00 05 03 00 -T 43 08 00 00 CD 00 00 00 00 30 09 -R 00 00 01 00 02 05 22 00 -T 48 08 00 00 +T F2 08 00 00 CD 00 00 00 00 30 09 +R 00 00 01 00 02 05 27 00 +T F7 08 00 00 R 00 00 01 00 -T 48 08 00 00 DD 6E FA DD 66 FB 22 4E 03 00 00 +T F7 08 00 00 DD 6E FA DD 66 FB 22 50 03 00 00 R 00 00 01 00 00 0B 03 00 -T 51 08 00 00 +T 00 09 00 00 R 00 00 01 00 -T 51 08 00 00 DD 6E FA DD 66 FB C3 00 00 00 00 -R 00 00 01 00 02 0B 13 00 -T 5A 08 00 00 +T 00 09 00 00 DD 6E FA DD 66 FB C3 00 00 00 00 +R 00 00 01 00 02 0B 16 00 +T 09 09 00 00 R 00 00 01 00 -T 5A 08 00 00 CD 00 00 00 00 F8 FF AF DD 77 FE -R 00 00 01 00 02 05 1F 00 -T 63 08 00 00 DD 77 FF 2A 56 03 00 00 ED 4B +T 09 09 00 00 CD 00 00 00 00 F8 FF AF DD 77 FE +R 00 00 01 00 02 05 23 00 +T 12 09 00 00 DD 77 FF 2A 58 03 00 00 ED 4B R 00 00 01 00 00 08 03 00 -T 6B 08 00 00 58 03 00 00 CD 00 00 00 00 22 -R 00 00 01 00 00 04 03 00 02 09 09 00 -T 71 08 00 00 56 03 00 00 ED 43 58 03 00 00 2A +T 1A 09 00 00 5A 03 00 00 CD 00 00 00 00 22 +R 00 00 01 00 00 04 03 00 02 09 0C 00 +T 20 09 00 00 58 03 00 00 ED 43 5A 03 00 00 2A R 00 00 01 00 00 04 03 00 00 0A 03 00 -T 78 08 00 00 00 00 00 00 7D B4 28 08 +T 27 09 00 00 00 00 00 00 7D B4 28 08 R 00 00 01 00 00 04 04 00 -T 7E 08 00 00 +T 2D 09 00 00 R 00 00 01 00 -T 7E 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 -T 84 08 00 00 00 00 00 00 +T 2D 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 04 00 02 0A 04 00 +T 33 09 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 86 08 00 00 +T 35 09 00 00 R 00 00 01 00 -T 86 08 00 00 DD 7E 02 DD B6 03 20 14 +T 35 09 00 00 DD 7E 02 DD B6 03 20 14 R 00 00 01 00 -T 8E 08 00 00 +T 3D 09 00 00 R 00 00 01 00 -T 8E 08 00 00 2A 5E 03 00 00 ED 4B 60 03 00 00 +T 3D 09 00 00 2A 60 03 00 00 ED 4B 62 03 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 95 08 00 00 CD 00 00 00 00 22 5E 03 00 00 ED -R 00 00 01 00 02 05 09 00 00 0A 03 00 -T 9C 08 00 00 43 60 03 00 00 C3 2E 0A 00 00 +T 44 09 00 00 CD 00 00 00 00 22 60 03 00 00 ED +R 00 00 01 00 02 05 0C 00 00 0A 03 00 +T 4B 09 00 00 43 62 03 00 00 C3 DD 0A 00 00 R 00 00 01 00 00 05 03 00 00 0A 01 00 -T A2 08 00 00 +T 51 09 00 00 R 00 00 01 00 -T A2 08 00 00 DD 7E 04 DD B6 05 20 08 +T 51 09 00 00 DD 7E 04 DD B6 05 20 08 R 00 00 01 00 -T AA 08 00 00 +T 59 09 00 00 R 00 00 01 00 -T AA 08 00 00 DD 36 04 FF DD 36 05 FF +T 59 09 00 00 DD 36 04 FF DD 36 05 FF R 00 00 01 00 -T B2 08 00 00 +T 61 09 00 00 R 00 00 01 00 -T B2 08 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 -T BA 08 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0E 00 02 0A 00 00 -T C1 08 00 00 75 FC DD 74 FD 29 01 04 00 00 00 +T 61 09 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 11 00 +T 69 09 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 11 00 02 0A 00 00 +T 70 09 00 00 75 FC DD 74 FD 29 01 06 00 00 00 R 00 00 01 00 00 0B 03 00 -T CA 08 00 00 09 46 23 66 68 DD 75 F8 DD 74 F9 +T 79 09 00 00 09 46 23 66 68 DD 75 F8 DD 74 F9 R 00 00 01 00 -T D5 08 00 00 +T 84 09 00 00 R 00 00 01 00 -T D5 08 00 00 DD 7E 04 DD B6 05 CA 67 09 00 00 +T 84 09 00 00 DD 7E 04 DD B6 05 CA 16 0A 00 00 R 00 00 01 00 00 0B 01 00 -T DE 08 00 00 DD 7E F8 DD B6 F9 CA 67 09 00 00 +T 8D 09 00 00 DD 7E F8 DD B6 F9 CA 16 0A 00 00 R 00 00 01 00 00 0B 01 00 -T E7 08 00 00 +T 96 09 00 00 R 00 00 01 00 -T E7 08 00 00 +T 96 09 00 00 R 00 00 01 00 -T E7 08 00 00 +T 96 09 00 00 R 00 00 01 00 -T E7 08 00 00 DD 6E F8 DD 66 F9 23 23 46 23 66 +T 96 09 00 00 DD 6E F8 DD 66 F9 23 23 46 23 66 R 00 00 01 00 -T F2 08 00 00 68 DD 75 FA DD 74 FB 21 24 00 DD +T A1 09 00 00 68 DD 75 FA DD 74 FB 21 24 00 DD R 00 00 01 00 -T FD 08 00 00 4E F8 DD 46 F9 09 46 23 66 68 DD +T AC 09 00 00 4E F8 DD 46 F9 09 46 23 66 68 DD R 00 00 01 00 -T 08 09 00 00 4E 02 DD 46 03 A7 ED 42 20 46 +T B7 09 00 00 4E 02 DD 46 03 A7 ED 42 20 46 R 00 00 01 00 -T 12 09 00 00 +T C1 09 00 00 R 00 00 01 00 -T 12 09 00 00 DD 5E F8 DD 56 F9 CD 61 0A 00 00 +T C1 09 00 00 DD 5E F8 DD 56 F9 CD 10 0B 00 00 R 00 00 01 00 00 0B 01 00 -T 1B 09 00 00 21 04 00 DD 4E F8 DD 46 F9 09 7E +T CA 09 00 00 21 04 00 DD 4E F8 DD 46 F9 09 7E R 00 00 01 00 -T 26 09 00 00 E6 FD 77 23 7E E6 FF 77 21 2C 00 +T D5 09 00 00 E6 FD 77 23 7E E6 FF 77 21 2C 00 R 00 00 01 00 -T 31 09 00 00 09 AF 77 23 77 21 24 00 09 AF 77 +T E0 09 00 00 09 AF 77 23 77 21 24 00 09 AF 77 R 00 00 01 00 -T 3C 09 00 00 23 77 59 50 CD 32 0B 00 00 DD 6E +T EB 09 00 00 23 77 59 50 CD E1 0B 00 00 DD 6E R 00 00 01 00 00 09 01 00 -T 45 09 00 00 04 DD 66 05 2B DD 75 04 DD 74 05 +T F4 09 00 00 04 DD 66 05 2B DD 75 04 DD 74 05 R 00 00 01 00 -T 50 09 00 00 DD 34 FE 20 03 DD 34 FF +T FF 09 00 00 DD 34 FE 20 03 DD 34 FF R 00 00 01 00 -T 58 09 00 00 +T 07 0A 00 00 R 00 00 01 00 -T 58 09 00 00 +T 07 0A 00 00 R 00 00 01 00 -T 58 09 00 00 DD 6E FA DD 66 FB DD 75 F8 DD 74 +T 07 0A 00 00 DD 6E FA DD 66 FB DD 75 F8 DD 74 R 00 00 01 00 -T 63 09 00 00 F9 C3 D5 08 00 00 +T 12 0A 00 00 F9 C3 84 09 00 00 R 00 00 01 00 00 06 01 00 -T 67 09 00 00 +T 16 0A 00 00 R 00 00 01 00 -T 67 09 00 00 2A 24 00 00 00 DD 75 F8 DD 74 F9 +T 16 0A 00 00 2A 26 00 00 00 DD 75 F8 DD 74 F9 R 00 00 01 00 00 05 03 00 -T 70 09 00 00 +T 1F 0A 00 00 R 00 00 01 00 -T 70 09 00 00 DD 7E 04 DD B6 05 CA 02 0A 00 00 +T 1F 0A 00 00 DD 7E 04 DD B6 05 CA B1 0A 00 00 R 00 00 01 00 00 0B 01 00 -T 79 09 00 00 DD 7E F8 DD B6 F9 CA 02 0A 00 00 +T 28 0A 00 00 DD 7E F8 DD B6 F9 CA B1 0A 00 00 R 00 00 01 00 00 0B 01 00 -T 82 09 00 00 +T 31 0A 00 00 R 00 00 01 00 -T 82 09 00 00 +T 31 0A 00 00 R 00 00 01 00 -T 82 09 00 00 +T 31 0A 00 00 R 00 00 01 00 -T 82 09 00 00 DD 6E F8 DD 66 F9 23 23 46 23 66 +T 31 0A 00 00 DD 6E F8 DD 66 F9 23 23 46 23 66 R 00 00 01 00 -T 8D 09 00 00 68 DD 75 FA DD 74 FB 21 24 00 DD +T 3C 0A 00 00 68 DD 75 FA DD 74 FB 21 24 00 DD R 00 00 01 00 -T 98 09 00 00 4E F8 DD 46 F9 09 46 23 66 68 DD +T 47 0A 00 00 4E F8 DD 46 F9 09 46 23 66 68 DD R 00 00 01 00 -T A3 09 00 00 4E 02 DD 46 03 A7 ED 42 20 46 +T 52 0A 00 00 4E 02 DD 46 03 A7 ED 42 20 46 R 00 00 01 00 -T AD 09 00 00 +T 5C 0A 00 00 R 00 00 01 00 -T AD 09 00 00 DD 5E F8 DD 56 F9 CD 61 0A 00 00 +T 5C 0A 00 00 DD 5E F8 DD 56 F9 CD 10 0B 00 00 R 00 00 01 00 00 0B 01 00 -T B6 09 00 00 21 04 00 DD 4E F8 DD 46 F9 09 7E +T 65 0A 00 00 21 04 00 DD 4E F8 DD 46 F9 09 7E R 00 00 01 00 -T C1 09 00 00 E6 FD 77 23 7E E6 FF 77 21 24 00 +T 70 0A 00 00 E6 FD 77 23 7E E6 FF 77 21 24 00 R 00 00 01 00 -T CC 09 00 00 09 AF 77 23 77 21 2C 00 09 AF 77 +T 7B 0A 00 00 09 AF 77 23 77 21 2C 00 09 AF 77 R 00 00 01 00 -T D7 09 00 00 23 77 59 50 CD 32 0B 00 00 DD 6E +T 86 0A 00 00 23 77 59 50 CD E1 0B 00 00 DD 6E R 00 00 01 00 00 09 01 00 -T E0 09 00 00 04 DD 66 05 2B DD 75 04 DD 74 05 +T 8F 0A 00 00 04 DD 66 05 2B DD 75 04 DD 74 05 R 00 00 01 00 -T EB 09 00 00 DD 34 FE 20 03 DD 34 FF +T 9A 0A 00 00 DD 34 FE 20 03 DD 34 FF R 00 00 01 00 -T F3 09 00 00 +T A2 0A 00 00 R 00 00 01 00 -T F3 09 00 00 +T A2 0A 00 00 R 00 00 01 00 -T F3 09 00 00 DD 6E FA DD 66 FB DD 75 F8 DD 74 +T A2 0A 00 00 DD 6E FA DD 66 FB DD 75 F8 DD 74 R 00 00 01 00 -T FE 09 00 00 F9 C3 70 09 00 00 +T AD 0A 00 00 F9 C3 1F 0A 00 00 R 00 00 01 00 00 06 01 00 -T 02 0A 00 00 +T B1 0A 00 00 R 00 00 01 00 -T 02 0A 00 00 DD 7E FE DD B6 FF 20 13 +T B1 0A 00 00 DD 7E FE DD B6 FF 20 13 R 00 00 01 00 -T 0A 0A 00 00 +T B9 0A 00 00 R 00 00 01 00 -T 0A 0A 00 00 2A 5E 03 00 00 ED 4B 60 03 00 00 +T B9 0A 00 00 2A 60 03 00 00 ED 4B 62 03 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 11 0A 00 00 CD 00 00 00 00 22 5E 03 00 00 ED -R 00 00 01 00 02 05 09 00 00 0A 03 00 -T 18 0A 00 00 43 60 03 00 00 18 11 +T C0 0A 00 00 CD 00 00 00 00 22 60 03 00 00 ED +R 00 00 01 00 02 05 0C 00 00 0A 03 00 +T C7 0A 00 00 43 62 03 00 00 18 11 R 00 00 01 00 00 05 03 00 -T 1D 0A 00 00 +T CC 0A 00 00 R 00 00 01 00 -T 1D 0A 00 00 21 5A 03 00 00 DD 5E FE DD 56 FF +T CC 0A 00 00 21 5C 03 00 00 DD 5E FE DD 56 FF R 00 00 01 00 00 05 03 00 -T 26 0A 00 00 7A 07 9F 4F 41 CD 00 00 00 00 -R 00 00 01 00 02 0A 14 00 -T 2E 0A 00 00 +T D5 0A 00 00 7A 07 9F 4F 41 CD 00 00 00 00 +R 00 00 01 00 02 0A 17 00 +T DD 0A 00 00 R 00 00 01 00 -T 2E 0A 00 00 +T DD 0A 00 00 R 00 00 01 00 -T 2E 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 13 00 -T 31 0A 00 00 +T DD 0A 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 16 00 +T E0 0A 00 00 R 00 00 01 00 -T 31 0A 00 00 CD 00 00 00 00 21 2A 00 19 5E 23 -R 00 00 01 00 02 05 1B 00 -T 3A 0A 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 19 00 02 0B 19 00 -T 40 0A 00 00 CD 00 00 00 00 21 2A 00 DD 5E 02 +T E0 0A 00 00 CD 00 00 00 00 21 2A 00 19 5E 23 +R 00 00 01 00 02 05 20 00 +T E9 0A 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 1E 00 02 0B 1E 00 +T EF 0A 00 00 CD 00 00 00 00 21 2A 00 DD 5E 02 R 00 00 01 00 02 05 00 00 -T 49 0A 00 00 DD 56 03 19 E5 59 50 3E +T F8 0A 00 00 DD 56 03 19 E5 59 50 3E R 00 00 01 00 -T 51 0A 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 11 00 02 09 11 00 -T 56 0A 00 00 00 00 00 00 4D 44 E1 71 23 70 C3 +T 00 0B 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 14 00 02 09 14 00 +T 05 0B 00 00 00 00 00 00 4D 44 E1 71 23 70 C3 R 00 00 01 00 02 04 00 00 -T 5F 0A 00 00 00 00 00 00 -R 00 00 01 00 02 04 0D 00 -T 61 0A 00 00 +T 0E 0B 00 00 00 00 00 00 +R 00 00 01 00 02 04 10 00 +T 10 0B 00 00 R 00 00 01 00 -T 61 0A 00 00 CD 00 00 00 00 7B B2 20 03 -R 00 00 01 00 02 05 1B 00 -T 68 0A 00 00 +T 10 0B 00 00 CD 00 00 00 00 7B B2 20 03 +R 00 00 01 00 02 05 20 00 +T 17 0B 00 00 R 00 00 01 00 -T 68 0A 00 00 C3 2F 0B 00 00 +T 17 0B 00 00 C3 DE 0B 00 00 R 00 00 01 00 00 05 01 00 -T 6B 0A 00 00 +T 1A 0B 00 00 R 00 00 01 00 -T 6B 0A 00 00 DD 6E 02 DD 66 03 23 23 7E 23 B6 +T 1A 0B 00 00 DD 6E 02 DD 66 03 23 23 7E 23 B6 R 00 00 01 00 -T 76 0A 00 00 28 1A +T 25 0B 00 00 28 1A R 00 00 01 00 -T 78 0A 00 00 +T 27 0B 00 00 R 00 00 01 00 -T 78 0A 00 00 DD 6E 02 DD 66 03 23 23 7E 23 66 +T 27 0B 00 00 DD 6E 02 DD 66 03 23 23 7E 23 66 R 00 00 01 00 -T 83 0A 00 00 6F E5 DD 6E 02 DD 66 03 4E 23 46 +T 32 0B 00 00 6F E5 DD 6E 02 DD 66 03 4E 23 46 R 00 00 01 00 -T 8E 0A 00 00 E1 71 23 70 +T 3D 0B 00 00 E1 71 23 70 R 00 00 01 00 -T 92 0A 00 00 +T 41 0B 00 00 R 00 00 01 00 -T 92 0A 00 00 DD 6E 02 DD 66 03 7E 23 B6 28 20 +T 41 0B 00 00 DD 6E 02 DD 66 03 7E 23 B6 28 20 R 00 00 01 00 -T 9D 0A 00 00 +T 4C 0B 00 00 R 00 00 01 00 -T 9D 0A 00 00 DD 6E 02 DD 66 03 46 23 66 68 23 +T 4C 0B 00 00 DD 6E 02 DD 66 03 46 23 66 68 23 R 00 00 01 00 -T A8 0A 00 00 23 E5 DD 4E 02 DD 46 03 03 03 69 +T 57 0B 00 00 23 E5 DD 4E 02 DD 46 03 03 03 69 R 00 00 01 00 -T B3 0A 00 00 60 4E 23 46 E1 71 23 70 18 72 +T 62 0B 00 00 60 4E 23 46 E1 71 23 70 18 72 R 00 00 01 00 -T BD 0A 00 00 +T 6C 0B 00 00 R 00 00 01 00 -T BD 0A 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E +T 6C 0B 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T C8 0A 00 00 E6 01 47 23 7E E6 00 B0 28 11 +T 77 0B 00 00 E6 01 47 23 7E E6 00 B0 28 11 R 00 00 01 00 -T D2 0A 00 00 +T 81 0B 00 00 R 00 00 01 00 -T D2 0A 00 00 DD 6E 02 DD 66 03 23 23 46 23 66 +T 81 0B 00 00 DD 6E 02 DD 66 03 23 23 46 23 66 R 00 00 01 00 -T DD 0A 00 00 68 22 24 00 00 00 18 4C +T 8C 0B 00 00 68 22 26 00 00 00 18 4C R 00 00 01 00 00 06 03 00 -T E3 0A 00 00 +T 92 0B 00 00 R 00 00 01 00 -T E3 0A 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E +T 92 0B 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T EE 0A 00 00 E6 02 47 23 7E E6 00 B0 28 28 +T 9D 0B 00 00 E6 02 47 23 7E E6 00 B0 28 28 R 00 00 01 00 -T F8 0A 00 00 +T A7 0B 00 00 R 00 00 01 00 -T F8 0A 00 00 21 24 00 DD 4E 02 DD 46 03 09 5E +T A7 0B 00 00 21 24 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 -T 03 0B 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0E 00 -T 08 0B 00 00 00 00 00 00 CD 00 00 00 00 29 11 -R 00 00 01 00 02 04 0E 00 02 09 00 00 -T 0F 0B 00 00 04 00 00 00 19 E5 03 03 69 60 4E +T B2 0B 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 11 00 +T B7 0B 00 00 00 00 00 00 CD 00 00 00 00 29 11 +R 00 00 01 00 02 04 11 00 02 09 00 00 +T BE 0B 00 00 06 00 00 00 19 E5 03 03 69 60 4E R 00 00 01 00 00 04 03 00 -T 18 0B 00 00 23 46 E1 71 23 70 18 0F +T C7 0B 00 00 23 46 E1 71 23 70 18 0F R 00 00 01 00 -T 20 0B 00 00 +T CF 0B 00 00 R 00 00 01 00 -T 20 0B 00 00 DD 6E 02 DD 66 03 23 23 46 23 66 +T CF 0B 00 00 DD 6E 02 DD 66 03 23 23 46 23 66 R 00 00 01 00 -T 2B 0B 00 00 68 22 02 00 00 00 +T DA 0B 00 00 68 22 04 00 00 00 R 00 00 01 00 00 06 03 00 -T 2F 0B 00 00 +T DE 0B 00 00 R 00 00 01 00 -T 2F 0B 00 00 +T DE 0B 00 00 R 00 00 01 00 -T 2F 0B 00 00 +T DE 0B 00 00 R 00 00 01 00 -T 2F 0B 00 00 +T DE 0B 00 00 R 00 00 01 00 -T 2F 0B 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 13 00 -T 32 0B 00 00 +T DE 0B 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 16 00 +T E1 0B 00 00 R 00 00 01 00 -T 32 0B 00 00 CD 00 00 00 00 FC FF DD 7E 02 DD -R 00 00 01 00 02 05 1F 00 -T 3B 0B 00 00 B6 03 20 03 +T E1 0B 00 00 CD 00 00 00 00 FC FF DD 7E 02 DD +R 00 00 01 00 02 05 23 00 +T EA 0B 00 00 B6 03 20 03 R 00 00 01 00 -T 3F 0B 00 00 +T EE 0B 00 00 R 00 00 01 00 -T 3F 0B 00 00 C3 23 0C 00 00 +T EE 0B 00 00 C3 D2 0C 00 00 R 00 00 01 00 00 05 01 00 -T 42 0B 00 00 +T F1 0B 00 00 R 00 00 01 00 -T 42 0B 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E +T F1 0B 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 4D 0B 00 00 E6 01 47 23 7E E6 00 B0 28 0A +T FC 0B 00 00 E6 01 47 23 7E E6 00 B0 28 0A R 00 00 01 00 -T 57 0B 00 00 +T 06 0C 00 00 R 00 00 01 00 -T 57 0B 00 00 DD 36 FE 24 00 00 00 DD 36 FF +T 06 0C 00 00 DD 36 FE 26 00 00 00 DD 36 FF R 00 00 01 00 09 07 03 00 -T 5E 0B 00 00 24 00 00 00 18 3F +T 0D 0C 00 00 26 00 00 00 18 3F R 00 00 01 00 89 04 03 00 -T 61 0B 00 00 +T 10 0C 00 00 R 00 00 01 00 -T 61 0B 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E +T 10 0C 00 00 21 04 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 6C 0B 00 00 E6 02 47 23 7E E6 00 B0 28 22 +T 1B 0C 00 00 E6 02 47 23 7E E6 00 B0 28 22 R 00 00 01 00 -T 76 0B 00 00 +T 25 0C 00 00 R 00 00 01 00 -T 76 0B 00 00 21 24 00 DD 4E 02 DD 46 03 09 5E +T 25 0C 00 00 21 24 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 -T 81 0B 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0E 00 -T 86 0B 00 00 00 00 00 00 CD 00 00 00 00 29 01 -R 00 00 01 00 02 04 0E 00 02 09 00 00 -T 8D 0B 00 00 04 00 00 00 09 DD 75 FE DD 74 FF +T 30 0C 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 11 00 +T 35 0C 00 00 00 00 00 00 CD 00 00 00 00 29 01 +R 00 00 01 00 02 04 11 00 02 09 00 00 +T 3C 0C 00 00 06 00 00 00 09 DD 75 FE DD 74 FF R 00 00 01 00 00 04 03 00 -T 96 0B 00 00 18 08 +T 45 0C 00 00 18 08 R 00 00 01 00 -T 98 0B 00 00 +T 47 0C 00 00 R 00 00 01 00 -T 98 0B 00 00 DD 36 FE 02 00 00 00 DD 36 FF +T 47 0C 00 00 DD 36 FE 04 00 00 00 DD 36 FF R 00 00 01 00 09 07 03 00 -T 9F 0B 00 00 02 00 00 00 +T 4E 0C 00 00 04 00 00 00 R 00 00 01 00 89 04 03 00 -T A0 0B 00 00 +T 4F 0C 00 00 R 00 00 01 00 -T A0 0B 00 00 +T 4F 0C 00 00 R 00 00 01 00 -T A0 0B 00 00 DD 6E 02 DD 66 03 23 23 AF 77 23 +T 4F 0C 00 00 DD 6E 02 DD 66 03 23 23 AF 77 23 R 00 00 01 00 -T AB 0B 00 00 77 DD 6E FE DD 66 FF 7E 23 B6 20 +T 5A 0C 00 00 77 DD 6E FE DD 66 FF 7E 23 B6 20 R 00 00 01 00 -T B6 0B 00 00 1D +T 65 0C 00 00 1D R 00 00 01 00 -T B7 0B 00 00 +T 66 0C 00 00 R 00 00 01 00 -T B7 0B 00 00 DD 6E 02 DD 66 03 AF 77 23 77 DD +T 66 0C 00 00 DD 6E 02 DD 66 03 AF 77 23 77 DD R 00 00 01 00 -T C2 0B 00 00 6E 02 DD 66 03 E5 DD 6E FE DD 66 +T 71 0C 00 00 6E 02 DD 66 03 E5 DD 6E FE DD 66 R 00 00 01 00 -T CD 0B 00 00 FF C1 71 23 70 18 4F +T 7C 0C 00 00 FF C1 71 23 70 18 4F R 00 00 01 00 -T D4 0B 00 00 +T 83 0C 00 00 R 00 00 01 00 -T D4 0B 00 00 DD 6E FE DD 66 FF 46 23 66 68 DD +T 83 0C 00 00 DD 6E FE DD 66 FF 46 23 66 68 DD R 00 00 01 00 -T DF 0B 00 00 75 FC DD 74 FD +T 8E 0C 00 00 75 FC DD 74 FD R 00 00 01 00 -T E4 0B 00 00 +T 93 0C 00 00 R 00 00 01 00 -T E4 0B 00 00 DD 6E FC DD 66 FD 23 23 7E 23 B6 +T 93 0C 00 00 DD 6E FC DD 66 FD 23 23 7E 23 B6 R 00 00 01 00 -T EF 0B 00 00 28 14 +T 9E 0C 00 00 28 14 R 00 00 01 00 -T F1 0B 00 00 +T A0 0C 00 00 R 00 00 01 00 -T F1 0B 00 00 DD 6E FC DD 66 FD 23 23 46 23 66 +T A0 0C 00 00 DD 6E FC DD 66 FD 23 23 46 23 66 R 00 00 01 00 -T FC 0B 00 00 68 DD 75 FC DD 74 FD 18 DF +T AB 0C 00 00 68 DD 75 FC DD 74 FD 18 DF R 00 00 01 00 -T 05 0C 00 00 +T B4 0C 00 00 R 00 00 01 00 -T 05 0C 00 00 DD 6E FC DD 66 FD 23 23 DD 4E 02 +T B4 0C 00 00 DD 6E FC DD 66 FD 23 23 DD 4E 02 R 00 00 01 00 -T 10 0C 00 00 DD 46 03 71 23 70 DD 6E FC DD 66 +T BF 0C 00 00 DD 46 03 71 23 70 DD 6E FC DD 66 R 00 00 01 00 -T 1B 0C 00 00 FD E5 69 60 C1 71 23 70 +T CA 0C 00 00 FD E5 69 60 C1 71 23 70 R 00 00 01 00 -T 23 0C 00 00 +T D2 0C 00 00 R 00 00 01 00 -T 23 0C 00 00 +T D2 0C 00 00 R 00 00 01 00 -T 23 0C 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 13 00 +T D2 0C 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 16 00 T 00 00 00 00 R 00 00 02 00 -T 00 00 00 00 6B 77 61 69 74 3A 20 57 41 52 4E +T 00 00 00 00 6D 61 69 6E 00 +R 00 00 02 00 +T 05 00 00 00 R 00 00 02 00 -T 0B 00 00 00 49 4E 47 21 20 62 61 64 20 69 73 +T 05 00 00 00 6B 77 61 69 74 3A 20 57 41 52 4E R 00 00 02 00 -T 16 00 00 00 74 61 74 65 20 70 72 6F 63 20 25 +T 10 00 00 00 49 4E 47 21 20 62 61 64 20 69 73 R 00 00 02 00 -T 21 00 00 00 73 21 0A 00 +T 1B 00 00 00 74 61 74 65 20 70 72 6F 63 20 25 +R 00 00 02 00 +T 26 00 00 00 73 21 0A 00 R 00 00 02 00 T 00 00 00 00 R 00 00 03 00 @@ -1274,9 +1367,9 @@ T 04 00 00 00 R 00 00 03 00 T 04 00 00 00 R 00 00 03 00 -T 24 00 00 00 +T 06 00 00 00 R 00 00 03 00 -T 24 00 00 00 +T 06 00 00 00 R 00 00 03 00 T 26 00 00 00 R 00 00 03 00 @@ -1286,14 +1379,18 @@ T 28 00 00 00 R 00 00 03 00 T 28 00 00 00 R 00 00 03 00 -T 72 03 00 00 +T 2A 00 00 00 R 00 00 03 00 -T 72 03 00 00 +T 2A 00 00 00 R 00 00 03 00 T 74 03 00 00 R 00 00 03 00 T 74 03 00 00 R 00 00 03 00 +T 76 03 00 00 +R 00 00 03 00 +T 76 03 00 00 +R 00 00 03 00 T 00 00 00 00 R 00 00 04 00 T 00 00 00 00 diff --git a/src/nos/lib/net_lib/ksubr.rel b/src/nos/lib/net_lib/ksubr.rel index 0a6872f0..7c1abf6a 100644 --- a/src/nos/lib/net_lib/ksubr.rel +++ b/src/nos/lib/net_lib/ksubr.rel @@ -1,37 +1,37 @@ XL4 H 4 areas 25 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___03df_b110_WARNING_3a_20Locati Ref00000000 S _Stktop Ref00000000 S _sprintf Ref00000000 S _secclock Ref00000000 -S ___0022_a0dd__0a Ref00000000 +S ___0023_a0dd__0a Ref00000000 S _Waittab Ref00000000 -S ___0333_68d4_PID_20_20_20CS_3aIP Ref00000000 S _Ksig Ref00000000 S _intcontext Ref00000000 +S ___012c_6df9__2504x_20_20_2504x_ Ref00000000 +S ___045d_6d70_Uptime_20_25s_20Sta Ref00000000 S _setjmp Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _killself Ref00000000 S __dprintf Ref00000000 -S ___04db_1bbe_kwaits_20_25lu_20no Ref00000000 S ?LEAVE_DIRECT_L09 Ref00000000 +S ___040b_8034_Stack_20violation_2 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S ___0113_6df9__2504x_20_20_2504x_ Ref00000000 +S ___0470_b110_WARNING_3a_20Locati Ref00000000 S _Susptab Ref00000000 -S ___0378_e7a4_SP_20_3d_20_25p_2c_ Ref00000000 +S ___0591_5e27_ksigs_20_25lu_20que Ref00000000 S _getss Ref00000000 S _Rdytab Ref00000000 +S ___03ab_68d4_PID_20_20_20CS_3aIP Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?SS_CMP_L02 Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0388_8034_Stack_20violation_2 Ref00000000 +S ___03fb_e7a4_SP_20_3d_20_25p_2c_ Ref00000000 S _tformat Ref00000000 -S ___04da_5e27_ksigs_20_25lu_20que Ref00000000 -S ___03cc_6d70_Uptime_20_25s_20Sta Ref00000000 S _Intstk Ref00000000 +S ___0592_1bbe_kwaits_20_25lu_20no Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 69F flags 0 S _chkstk Def000004D5 @@ -44,23 +44,23 @@ A UDATA0 size 2 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF AF DD 77 FE -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 18 00 T 09 00 00 00 DD 77 FF R 00 00 01 00 T 0C 00 00 00 R 00 00 01 00 T 0C 00 00 00 01 00 00 00 00 21 00 00 00 00 A7 -R 00 00 01 00 02 05 1F 00 02 0A 02 00 +R 00 00 01 00 02 05 1E 00 02 0A 01 00 T 13 00 00 00 ED 42 4D 44 CB 28 CB 19 DD 6E FE R 00 00 01 00 T 1E 00 00 00 DD 66 FF CD 00 00 00 00 30 1A -R 00 00 01 00 02 08 18 00 +R 00 00 01 00 02 08 19 00 T 26 00 00 00 R 00 00 01 00 T 26 00 00 00 DD 6E FE DD 66 FF 29 01 R 00 00 01 00 T 2E 00 00 00 00 00 00 00 09 36 AA 23 36 55 DD -R 00 00 01 00 02 04 1F 00 +R 00 00 01 00 02 04 1E 00 T 37 00 00 00 34 FE 20 03 DD 34 FF R 00 00 01 00 T 3E 00 00 00 @@ -72,77 +72,77 @@ R 00 00 01 00 T 40 00 00 00 21 00 00 46 23 66 68 22 R 00 00 01 00 T 48 00 00 00 00 00 00 00 21 00 00 00 00 22 -R 00 00 01 00 00 04 03 00 02 09 08 00 +R 00 00 01 00 00 04 03 00 02 09 06 00 T 4E 00 00 00 22 03 00 00 22 20 03 00 00 C3 -R 00 00 01 00 02 04 08 00 02 09 08 00 +R 00 00 01 00 02 04 06 00 02 09 06 00 T 54 00 00 00 00 00 00 00 R 00 00 01 00 02 04 0B 00 T 56 00 00 00 R 00 00 01 00 T 56 00 00 00 CD 00 00 00 00 FC FF CD -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 18 00 T 5C 00 00 00 70 04 00 00 E5 3E 00 00 00 00 21 R 00 00 01 00 00 04 01 00 2B 0A 15 00 T 62 00 00 00 00 00 00 00 CD 00 00 00 00 E5 3E R 00 00 01 00 02 04 15 00 02 09 00 00 T 69 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T 6E 00 00 00 00 00 00 00 EB 3E 00 00 00 00 21 -R 00 00 01 00 02 04 00 00 2B 0A 1C 00 +R 00 00 01 00 02 04 00 00 2B 0A 1D 00 T 74 00 00 00 00 00 00 00 CD 00 00 00 00 E5 0E -R 00 00 01 00 02 04 1C 00 02 09 00 00 +R 00 00 01 00 02 04 1D 00 02 09 00 00 T 7B 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 1E 00 02 0A 1E 00 +R 00 00 01 00 2B 04 09 00 02 0A 09 00 T 81 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 19 00 02 0A 19 00 +R 00 00 01 00 2B 05 1A 00 02 0A 1A 00 T 87 00 00 00 00 00 00 00 F1 F1 F1 F1 F1 0E R 00 00 01 00 02 04 00 00 T 8F 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 +R 00 00 01 00 2B 04 04 00 02 0A 04 00 T 95 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 19 00 02 0A 19 00 +R 00 00 01 00 2B 05 1A 00 02 0A 1A 00 T 9B 00 00 00 00 00 00 00 F1 F1 21 28 03 00 00 -R 00 00 01 00 02 04 00 00 02 0B 08 00 +R 00 00 01 00 02 04 00 00 02 0B 06 00 T A2 00 00 00 4E 23 46 23 5E 23 56 D5 C5 21 R 00 00 01 00 T AC 00 00 00 36 03 00 00 4E 23 46 23 5E 23 56 -R 00 00 01 00 02 04 08 00 +R 00 00 01 00 02 04 06 00 T B5 00 00 00 D5 C5 21 32 03 00 00 4E 23 46 23 -R 00 00 01 00 02 07 08 00 +R 00 00 01 00 02 07 06 00 T BE 00 00 00 5E 23 56 D5 C5 21 26 03 00 00 4E -R 00 00 01 00 02 0A 08 00 +R 00 00 01 00 02 0A 06 00 T C7 00 00 00 23 46 C5 21 3A 03 00 00 4E 23 46 -R 00 00 01 00 02 08 08 00 +R 00 00 01 00 02 08 06 00 T D0 00 00 00 23 5E 23 56 D5 C5 21 2E 03 00 00 -R 00 00 01 00 02 0B 08 00 +R 00 00 01 00 02 0B 06 00 T D9 00 00 00 4E 23 46 23 5E 23 56 D5 C5 0E R 00 00 01 00 T E3 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 1D 00 02 0A 1D 00 +R 00 00 01 00 2B 04 14 00 02 0A 14 00 T E9 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 19 00 02 0A 19 00 +R 00 00 01 00 2B 05 1A 00 02 0A 1A 00 T EF 00 00 00 00 00 00 00 EB 21 1A 00 39 F9 EB R 00 00 01 00 02 04 00 00 T F8 00 00 00 21 00 00 22 26 03 00 00 21 -R 00 00 01 00 02 08 08 00 +R 00 00 01 00 02 08 06 00 T FF 00 00 00 46 03 00 00 4E 23 46 23 5E 23 56 -R 00 00 01 00 02 04 08 00 +R 00 00 01 00 02 04 06 00 T 08 01 00 00 D5 C5 21 42 03 00 00 4E 23 46 23 -R 00 00 01 00 02 07 08 00 +R 00 00 01 00 02 07 06 00 T 11 01 00 00 5E 23 56 D5 C5 21 3E 03 00 00 4E -R 00 00 01 00 02 0A 08 00 +R 00 00 01 00 02 0A 06 00 T 1A 01 00 00 23 46 23 5E 23 56 D5 C5 0E R 00 00 01 00 T 23 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0E 00 02 0A 0E 00 +R 00 00 01 00 2B 04 1F 00 02 0A 1F 00 T 29 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 19 00 02 0A 19 00 +R 00 00 01 00 2B 05 1A 00 02 0A 1A 00 T 2F 01 00 00 00 00 00 00 EB 21 10 00 39 F9 EB R 00 00 01 00 02 04 00 00 T 38 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0B 07 00 +R 00 00 01 00 2B 05 17 00 02 0B 17 00 T 3E 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 19 00 02 0B 19 00 +R 00 00 01 00 2B 06 1A 00 02 0B 1A 00 T 44 01 00 00 CD 00 00 00 00 F1 F1 2A R 00 00 01 00 02 05 00 00 T 4A 01 00 00 00 00 00 00 DD 75 FC DD 74 FD @@ -174,7 +174,7 @@ R 00 00 01 00 T 8F 01 00 00 DD 6E FE DD 66 FF 29 01 R 00 00 01 00 T 97 01 00 00 00 00 00 00 09 46 23 66 68 DD 75 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 05 00 T A0 01 00 00 FC DD 74 FD R 00 00 01 00 T A4 01 00 00 @@ -228,7 +228,7 @@ R 00 00 01 00 02 08 0B 00 T 15 02 00 00 R 00 00 01 00 T 15 02 00 00 CD 00 00 00 00 F4 FF 21 06 00 DD -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 18 00 T 1E 02 00 00 4E 02 DD 46 03 09 DD 75 F4 DD 74 R 00 00 01 00 T 29 02 00 00 F5 21 3E 00 09 7E 23 B6 28 12 21 @@ -262,7 +262,7 @@ R 00 00 01 00 T 71 02 00 00 E5 21 00 00 00 00 E5 21 06 00 39 R 00 00 01 00 00 06 02 00 T 7A 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 03 00 02 0B 03 00 +R 00 00 01 00 2B 06 02 00 02 0B 02 00 T 80 02 00 00 CD 00 00 00 00 F1 F1 F1 18 13 R 00 00 01 00 02 05 00 00 T 88 02 00 00 @@ -270,7 +270,7 @@ R 00 00 01 00 T 88 02 00 00 21 04 00 00 00 E5 21 04 00 39 E5 R 00 00 01 00 00 05 02 00 T 91 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 +R 00 00 01 00 2B 05 02 00 02 0A 02 00 T 97 02 00 00 00 00 00 00 F1 F1 R 00 00 01 00 02 04 00 00 T 9B 02 00 00 @@ -306,7 +306,7 @@ R 00 00 01 00 T E8 02 00 00 E5 21 00 00 00 00 E5 21 0B 00 39 R 00 00 01 00 00 06 02 00 T F1 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 03 00 02 0B 03 00 +R 00 00 01 00 2B 06 02 00 02 0B 02 00 T F7 02 00 00 CD 00 00 00 00 F1 F1 F1 18 13 R 00 00 01 00 02 05 00 00 T FF 02 00 00 @@ -314,7 +314,7 @@ R 00 00 01 00 T FF 02 00 00 21 04 00 00 00 E5 21 09 00 39 E5 R 00 00 01 00 00 05 02 00 T 08 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 +R 00 00 01 00 2B 05 02 00 02 0A 02 00 T 0E 03 00 00 00 00 00 00 F1 F1 R 00 00 01 00 02 04 00 00 T 12 03 00 00 @@ -374,17 +374,17 @@ R 00 00 01 00 T C8 03 00 00 4E 23 46 C5 DD 6E 02 DD 66 03 E5 R 00 00 01 00 T D3 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 12 00 02 0B 12 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 T D9 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 19 00 02 0B 19 00 +R 00 00 01 00 2B 06 1A 00 02 0B 1A 00 T DF 03 00 00 CD 00 00 00 00 EB 21 20 00 39 F9 R 00 00 01 00 02 05 00 00 T E8 03 00 00 EB C3 00 00 00 00 -R 00 00 01 00 02 06 0F 00 +R 00 00 01 00 02 06 0E 00 T EC 03 00 00 R 00 00 01 00 T EC 03 00 00 CD 00 00 00 00 FC FF 21 28 00 DD -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 18 00 T F5 03 00 00 4E 02 DD 46 03 09 56 23 66 6A DD R 00 00 01 00 T 00 04 00 00 75 FC DD 74 FD 21 26 00 09 46 23 @@ -424,19 +424,19 @@ R 00 00 01 00 T 67 04 00 00 R 00 00 01 00 T 67 04 00 00 DD 6E FC DD 66 FD C3 00 00 00 00 -R 00 00 01 00 02 0B 0F 00 +R 00 00 01 00 02 0B 0E 00 T 70 04 00 00 R 00 00 01 00 T 70 04 00 00 CD 00 00 00 00 FC FF 01 -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 18 00 T 76 04 00 00 00 00 00 00 21 00 00 00 00 A7 ED -R 00 00 01 00 02 04 1F 00 02 09 02 00 +R 00 00 01 00 02 04 1E 00 02 09 01 00 T 7D 04 00 00 42 CB 2C CB 1D DD 75 FC DD 74 FD R 00 00 01 00 T 88 04 00 00 DD 36 FE 00 00 00 00 DD 36 FF -R 00 00 01 00 0B 07 1F 00 +R 00 00 01 00 0B 07 1E 00 T 8F 04 00 00 00 00 00 00 -R 00 00 01 00 8B 04 1F 00 +R 00 00 01 00 8B 04 1E 00 T 90 04 00 00 R 00 00 01 00 T 90 04 00 00 DD 6E FE DD 66 FF 46 23 66 68 01 @@ -444,7 +444,7 @@ R 00 00 01 00 T 9B 04 00 00 AA 55 A7 ED 42 20 2A 01 R 00 00 01 00 T A3 04 00 00 00 00 00 00 DD 6E FE DD 66 FF A7 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T AC 04 00 00 ED 42 30 1C R 00 00 01 00 T B0 04 00 00 @@ -466,15 +466,15 @@ R 00 00 01 00 T CC 04 00 00 R 00 00 01 00 T CC 04 00 00 DD 6E FC DD 66 FD C3 00 00 00 00 -R 00 00 01 00 02 0B 0F 00 +R 00 00 01 00 02 0B 0E 00 T D5 04 00 00 R 00 00 01 00 T D5 04 00 00 CD 00 00 00 00 FA FF 21 04 00 39 -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 18 00 T DE 04 00 00 DD 75 FE DD 74 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 09 00 +R 00 00 01 00 2B 0B 07 00 T E6 04 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 09 00 02 0A 00 00 +R 00 00 01 00 02 05 07 00 02 0A 00 00 T ED 04 00 00 B4 28 03 R 00 00 01 00 T F0 04 00 00 @@ -516,9 +516,9 @@ R 00 00 01 00 T 42 05 00 00 21 2A 00 ED 4B 00 00 00 00 09 4E R 00 00 01 00 02 09 10 00 T 4B 05 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 1B 00 +R 00 00 01 00 2B 08 0F 00 T 52 05 00 00 00 00 00 00 E5 21 00 00 E5 3E -R 00 00 01 00 02 04 1B 00 +R 00 00 01 00 02 04 0F 00 T 5A 05 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 5F 05 00 00 00 00 00 00 F1 F1 F1 F1 DD 6E FC @@ -528,7 +528,7 @@ R 00 00 01 00 T 73 05 00 00 DD 6E FE DD 66 FF E5 0E R 00 00 01 00 T 7B 05 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 14 00 02 0A 14 00 +R 00 00 01 00 2B 04 1C 00 02 0A 1C 00 T 81 05 00 00 21 00 00 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 09 0D 00 T 88 05 00 00 00 00 00 00 CD 00 00 00 00 EB 21 @@ -548,9 +548,9 @@ R 00 00 01 00 T AC 05 00 00 21 2A 00 ED 4B 00 00 00 00 09 4E R 00 00 01 00 02 09 10 00 T B5 05 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 01 00 +R 00 00 01 00 2B 08 12 00 T BC 05 00 00 00 00 00 00 E5 21 00 00 E5 3E -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 12 00 T C4 05 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T C9 05 00 00 00 00 00 00 F1 F1 F1 F1 2A @@ -566,7 +566,7 @@ R 00 00 01 00 02 05 0B 00 T D8 05 00 00 R 00 00 01 00 T D8 05 00 00 CD 00 00 00 00 FC FF 21 06 00 DD -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 18 00 T E1 05 00 00 4E 02 DD 46 03 09 EB 3E R 00 00 01 00 T E9 05 00 00 00 00 00 00 21 00 00 00 00 CD @@ -608,7 +608,7 @@ R 00 00 01 00 02 04 0B 00 T 71 06 00 00 R 00 00 01 00 T 71 06 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 18 00 T 7A 06 00 00 66 03 01 00 00 69 60 01 00 00 7D R 00 00 01 00 T 85 06 00 00 DD AE 02 4F 7C DD AE 03 47 DD 71 diff --git a/src/nos/lib/net_lib/listen.rel b/src/nos/lib/net_lib/listen.rel index d7df5db5..7902344a 100644 --- a/src/nos/lib/net_lib/listen.rel +++ b/src/nos/lib/net_lib/listen.rel @@ -22,7 +22,7 @@ T 15 00 00 00 FC DD 74 FD 7D B4 20 12 R 00 00 01 00 T 1D 00 00 00 R 00 00 01 00 -T 1D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 1D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 26 00 00 00 09 23 36 00 21 FF FF 18 7C R 00 00 01 00 @@ -34,7 +34,7 @@ T 3A 00 00 00 23 B6 28 12 R 00 00 01 00 T 3E 00 00 00 R 00 00 01 00 -T 3E 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 3E 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 47 00 00 00 68 23 36 00 21 FF FF 18 5B R 00 00 01 00 @@ -60,7 +60,7 @@ T 96 00 00 00 R 00 00 01 00 T 96 00 00 00 R 00 00 01 00 -T 96 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 96 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 9F 00 00 00 69 23 36 00 21 FF FF 18 03 R 00 00 01 00 diff --git a/src/nos/lib/net_lib/locsock.rel b/src/nos/lib/net_lib/locsock.rel index 2e7d4d1f..86f89517 100644 --- a/src/nos/lib/net_lib/locsock.rel +++ b/src/nos/lib/net_lib/locsock.rel @@ -9,17 +9,17 @@ S .__.ABS. Def00000000 S _kwait Ref00000000 S _free Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ___0320_1514_Outqlen_3a_20_25d_2 Ref00000000 S _callocw Ref00000000 S _close_s Ref00000000 S _ksignal Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _dequeue Ref00000000 +S ___0394_1514_Outqlen_3a_20_25d_2 Ref00000000 S _socklen Ref00000000 +S ___02f5_bd38_Inqlen_3a_20_25d_20 Ref00000000 S _free_p Ref00000000 S _free_q Ref00000000 S __printf Ref00000000 -S ___029f_bd38_Inqlen_3a_20_25d_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _enqueue Ref00000000 S _append Ref00000000 @@ -42,9 +42,9 @@ R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 21 0C 00 19 E5 01 R 00 00 01 00 02 05 08 00 T 09 00 00 00 08 00 11 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0A 00 +R 00 00 01 00 2B 0A 09 00 T 11 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 0A 00 02 09 00 00 +R 00 00 01 00 02 04 09 00 02 09 00 00 T 18 00 00 00 E1 71 23 70 21 0C 00 DD 4E 02 DD R 00 00 01 00 T 23 00 00 00 46 03 09 7E 23 66 6F 71 23 70 21 @@ -60,9 +60,9 @@ R 00 00 01 00 T 4A 00 00 00 CD 00 00 00 00 21 0C 00 19 E5 01 R 00 00 01 00 02 05 08 00 T 53 00 00 00 08 00 11 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0A 00 +R 00 00 01 00 2B 0A 09 00 T 5B 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 0A 00 02 09 00 00 +R 00 00 01 00 02 04 09 00 02 09 00 00 T 62 00 00 00 E1 71 23 70 21 0C 00 DD 4E 02 DD R 00 00 01 00 T 6D 00 00 00 46 03 09 7E 23 66 6F 71 23 70 21 @@ -76,7 +76,7 @@ R 00 00 01 00 02 08 03 00 T 94 00 00 00 R 00 00 01 00 T 94 00 00 00 CD 00 00 00 00 FE FF -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0C 00 T 99 00 00 00 R 00 00 01 00 T 99 00 00 00 @@ -103,7 +103,7 @@ T DB 00 00 00 B7 28 13 R 00 00 01 00 T DE 00 00 00 R 00 00 01 00 -T DE 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T DE 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T E7 00 00 00 64 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -111,7 +111,7 @@ T EF 00 00 00 FB 01 00 00 R 00 00 01 00 00 04 01 00 T F1 00 00 00 R 00 00 01 00 -T F1 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T F1 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 04 00 T FA 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 R 00 00 01 00 2B 0B 06 00 @@ -135,7 +135,7 @@ T 26 01 00 00 23 B6 20 13 R 00 00 01 00 T 2A 01 00 00 R 00 00 01 00 -T 2A 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 2A 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T 33 01 00 00 09 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -157,7 +157,7 @@ T 65 01 00 00 R 00 00 01 00 T 65 01 00 00 R 00 00 01 00 -T 65 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 65 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T 6E 01 00 00 65 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -168,9 +168,9 @@ R 00 00 01 00 T 78 01 00 00 21 0C 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 T 83 01 00 00 23 56 13 13 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0E 00 +R 00 00 01 00 2B 09 0D 00 T 8A 01 00 00 00 00 00 00 CD 00 00 00 00 E5 DD -R 00 00 01 00 02 04 0E 00 02 09 00 00 +R 00 00 01 00 02 04 0D 00 02 09 00 00 T 91 01 00 00 6E 04 DD 66 05 D1 73 23 72 21 R 00 00 01 00 T 9B 01 00 00 0C 00 09 46 23 66 68 23 23 7E 23 @@ -190,15 +190,15 @@ R 00 00 01 00 T C0 01 00 00 DD 6E 02 DD 66 03 46 23 66 68 DD R 00 00 01 00 T CB 01 00 00 75 FE DD 74 FF EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 +R 00 00 01 00 2B 0B 0A 00 T D3 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 0B 00 02 0A 00 00 +R 00 00 01 00 02 05 0A 00 02 0A 00 00 T D9 01 00 00 R 00 00 01 00 T D9 01 00 00 01 00 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 T E3 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T E8 01 00 00 00 00 00 00 DD 6E 04 DD 66 05 5E R 00 00 01 00 02 04 00 00 T F1 01 00 00 23 56 3E 00 00 00 00 21 @@ -218,10 +218,10 @@ R 00 00 01 00 T 0E 02 00 00 R 00 00 01 00 T 0E 02 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 10 00 +R 00 00 01 00 2B 0B 11 00 T 16 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 10 00 02 0A 00 00 -T 1D 02 00 00 4D 00 ED 4B 00 00 00 00 09 36 65 +R 00 00 01 00 02 05 11 00 02 0A 00 00 +T 1D 02 00 00 4F 00 ED 4B 00 00 00 00 09 36 65 R 00 00 01 00 02 08 04 00 T 26 02 00 00 23 36 00 21 FF FF C3 4D 03 00 00 R 00 00 01 00 00 0B 01 00 @@ -240,9 +240,9 @@ R 00 00 01 00 02 04 00 00 T 5F 02 00 00 5E 02 DD 56 03 19 7E 23 66 6F 5E R 00 00 01 00 T 6A 02 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0C 00 +R 00 00 01 00 2B 07 0B 00 T 6F 02 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 0C 00 02 09 00 00 +R 00 00 01 00 02 04 0B 00 02 09 00 00 T 74 02 00 00 R 00 00 01 00 T 74 02 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E @@ -277,13 +277,13 @@ T DC 02 00 00 B7 28 12 R 00 00 01 00 T DF 02 00 00 R 00 00 01 00 -T DF 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T DF 02 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T E8 02 00 00 64 23 36 00 21 FF FF 18 5C R 00 00 01 00 T F1 02 00 00 R 00 00 01 00 -T F1 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T F1 02 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 04 00 T FA 02 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 @@ -309,7 +309,7 @@ T 30 03 00 00 23 66 6F 7E 23 B6 20 12 R 00 00 01 00 T 38 03 00 00 R 00 00 01 00 -T 38 03 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 38 03 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T 41 03 00 00 65 23 36 00 21 FF FF 18 03 R 00 00 01 00 @@ -330,10 +330,10 @@ R 00 00 01 00 T 60 03 00 00 R 00 00 01 00 T 60 03 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 10 00 +R 00 00 01 00 2B 0B 11 00 T 68 03 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 10 00 02 0A 00 00 -T 6F 03 00 00 4D 00 ED 4B 00 00 00 00 09 36 65 +R 00 00 01 00 02 05 11 00 02 0A 00 00 +T 6F 03 00 00 4F 00 ED 4B 00 00 00 00 09 36 65 R 00 00 01 00 02 08 04 00 T 78 03 00 00 23 36 00 21 FF FF C3 9F 04 00 00 R 00 00 01 00 00 0B 01 00 @@ -352,9 +352,9 @@ R 00 00 01 00 02 04 00 00 T B1 03 00 00 5E 02 DD 56 03 19 7E 23 66 6F 5E R 00 00 01 00 T BC 03 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0C 00 +R 00 00 01 00 2B 07 0B 00 T C1 03 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 0C 00 02 09 00 00 +R 00 00 01 00 02 04 0B 00 02 09 00 00 T C6 03 00 00 R 00 00 01 00 T C6 03 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E @@ -389,13 +389,13 @@ T 2E 04 00 00 B7 28 12 R 00 00 01 00 T 31 04 00 00 R 00 00 01 00 -T 31 04 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 31 04 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T 3A 04 00 00 64 23 36 00 21 FF FF 18 5C R 00 00 01 00 T 43 04 00 00 R 00 00 01 00 -T 43 04 00 00 21 4D 00 ED 4B 00 00 00 00 09 E5 +T 43 04 00 00 21 4F 00 ED 4B 00 00 00 00 09 E5 R 00 00 01 00 02 09 04 00 T 4C 04 00 00 21 0C 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 @@ -421,7 +421,7 @@ T 82 04 00 00 23 66 6F 7E 23 B6 20 12 R 00 00 01 00 T 8A 04 00 00 R 00 00 01 00 -T 8A 04 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 8A 04 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T 93 04 00 00 65 23 36 00 21 FF FF 18 03 R 00 00 01 00 @@ -436,7 +436,7 @@ R 00 00 01 00 02 05 03 00 T A2 04 00 00 R 00 00 01 00 T A2 04 00 00 CD 00 00 00 00 FE FF 79 B0 20 23 -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0C 00 T AB 04 00 00 R 00 00 01 00 T AB 04 00 00 21 0C 00 DD 4E 02 DD 46 03 09 46 @@ -480,7 +480,7 @@ R 00 00 01 00 02 0B 03 00 T 1F 05 00 00 R 00 00 01 00 T 1F 05 00 00 CD 00 00 00 00 FE FF 79 B0 20 23 -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0C 00 T 28 05 00 00 R 00 00 01 00 T 28 05 00 00 21 0C 00 DD 4E 02 DD 46 03 09 46 @@ -524,7 +524,7 @@ R 00 00 01 00 02 0B 03 00 T 9C 05 00 00 R 00 00 01 00 T 9C 05 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0C 00 T A5 05 00 00 66 03 56 23 66 6A DD 75 FE DD 74 R 00 00 01 00 T B0 05 00 00 FF 21 0C 00 DD 5E 02 DD 56 03 19 @@ -534,9 +534,9 @@ R 00 00 01 00 T C6 05 00 00 R 00 00 01 00 T C6 05 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 +R 00 00 01 00 2B 0B 0A 00 T CE 05 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 0B 00 02 0A 00 00 +R 00 00 01 00 02 05 0A 00 02 0A 00 00 T D5 05 00 00 17 R 00 00 01 00 T D6 05 00 00 @@ -568,17 +568,17 @@ R 00 00 01 00 T 24 06 00 00 21 0C 00 DD 5E 02 DD 56 03 19 7E R 00 00 01 00 T 2F 06 00 00 23 66 6F 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0C 00 +R 00 00 01 00 2B 0B 0B 00 T 37 06 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 0C 00 02 0A 00 00 +R 00 00 01 00 02 05 0B 00 02 0A 00 00 T 3D 06 00 00 R 00 00 01 00 T 3D 06 00 00 21 0C 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 T 48 06 00 00 23 56 13 13 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 11 00 +R 00 00 01 00 2B 09 12 00 T 4F 06 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 11 00 02 09 00 00 +R 00 00 01 00 02 04 12 00 02 09 00 00 T 55 06 00 00 0C 00 09 5E 23 56 3E 00 00 00 00 R 00 00 01 00 2B 0B 07 00 T 5D 06 00 00 21 00 00 00 00 CD 00 00 00 00 21 @@ -594,7 +594,7 @@ R 00 00 01 00 02 04 03 00 T 72 06 00 00 R 00 00 01 00 T 72 06 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0C 00 T 7B 06 00 00 66 03 46 23 66 68 DD 75 FE DD 74 R 00 00 01 00 T 86 06 00 00 FF 01 00 00 EB 3E 00 00 00 00 21 @@ -602,9 +602,9 @@ R 00 00 01 00 2B 0A 0F 00 T 8E 06 00 00 00 00 00 00 CD 00 00 00 00 E5 0E R 00 00 01 00 02 04 0F 00 02 09 00 00 T 95 06 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 13 00 02 0A 13 00 +R 00 00 01 00 2B 04 10 00 02 0A 10 00 T 9B 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 12 00 02 0A 12 00 +R 00 00 01 00 2B 05 13 00 02 0A 13 00 T A1 06 00 00 00 00 00 00 F1 F1 F1 01 01 00 DD R 00 00 01 00 02 04 00 00 T AA 06 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 @@ -612,9 +612,9 @@ R 00 00 01 00 2B 0A 0F 00 T B2 06 00 00 00 00 00 00 CD 00 00 00 00 E5 0E R 00 00 01 00 02 04 0F 00 02 09 00 00 T B9 06 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 09 00 02 0A 09 00 +R 00 00 01 00 2B 04 0E 00 02 0A 0E 00 T BF 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 12 00 02 0A 12 00 +R 00 00 01 00 2B 05 13 00 02 0A 13 00 T C5 06 00 00 00 00 00 00 F1 F1 F1 21 00 00 C3 R 00 00 01 00 02 04 00 00 T CE 06 00 00 00 00 00 00 diff --git a/src/nos/lib/net_lib/mbufsizes.rel b/src/nos/lib/net_lib/mbufsizes.rel index 87be32da..1dc023cc 100644 --- a/src/nos/lib/net_lib/mbufsizes.rel +++ b/src/nos/lib/net_lib/mbufsizes.rel @@ -1,11 +1,11 @@ XL4 H 2 areas B global symbols -S ___02dd_d814_N_3e_3d_255u_3a_257 Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___02d4_488d_Mbuf_20sizes_3a_0a Ref00000000 S .__.ABS. Def00000000 S ?S_LSH_L02 Ref00000000 +S ___0340_488d_Mbuf_20sizes_3a_0a Ref00000000 +S ___0349_d814_N_3e_3d_255u_3a_257 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 @@ -18,11 +18,11 @@ R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 0E R 00 00 01 00 02 05 06 00 T 06 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 03 00 02 0A 03 00 +R 00 00 01 00 2B 04 04 00 02 0A 04 00 T 0C 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 07 00 02 0A 07 00 T 12 00 00 00 00 00 00 00 F1 F1 AF DD 77 FE DD -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 1B 00 00 00 77 FF R 00 00 01 00 T 1D 00 00 00 @@ -40,19 +40,19 @@ R 00 00 01 00 02 04 09 00 T 41 00 00 00 56 D5 C5 DD 46 FE 11 08 00 CD R 00 00 01 00 T 4B 00 00 00 00 00 00 00 D5 DD 6E FE DD 66 FF -R 00 00 01 00 02 04 05 00 +R 00 00 01 00 02 04 03 00 T 54 00 00 00 29 29 01 08 00 00 00 09 4E 23 46 R 00 00 01 00 02 07 09 00 T 5D 00 00 00 23 5E 23 56 D5 C5 DD 46 FE 11 R 00 00 01 00 T 67 00 00 00 04 00 CD 00 00 00 00 D5 DD 6E FE -R 00 00 01 00 02 07 05 00 +R 00 00 01 00 02 07 03 00 T 70 00 00 00 DD 66 FF 29 29 01 04 00 00 00 09 R 00 00 01 00 02 0A 09 00 T 79 00 00 00 4E 23 46 23 5E 23 56 D5 C5 DD 46 R 00 00 01 00 T 84 00 00 00 FE 11 02 00 CD 00 00 00 00 D5 DD -R 00 00 01 00 02 09 05 00 +R 00 00 01 00 02 09 03 00 T 8D 00 00 00 6E FE DD 66 FF 29 29 01 R 00 00 01 00 T 95 00 00 00 00 00 00 00 09 4E 23 46 23 5E 23 @@ -60,11 +60,11 @@ R 00 00 01 00 02 04 09 00 T 9E 00 00 00 56 D5 C5 DD 46 FE 11 01 00 CD R 00 00 01 00 T A8 00 00 00 00 00 00 00 D5 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 05 00 2B 0A 00 00 +R 00 00 01 00 02 04 03 00 2B 0A 05 00 T AE 00 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 00 00 2B 0B 07 00 +R 00 00 01 00 02 05 05 00 2B 0B 07 00 T B4 00 00 00 21 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 07 00 02 0A 01 00 +R 00 00 01 00 02 05 07 00 02 0A 00 00 T BB 00 00 00 21 1C 00 39 F9 EB 21 00 00 39 7E R 00 00 01 00 T C6 00 00 00 C6 04 77 30 02 23 34 @@ -76,4 +76,4 @@ R 00 00 01 00 00 05 01 00 T D0 00 00 00 R 00 00 01 00 T D0 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/net_lib/mbufstat.rel b/src/nos/lib/net_lib/mbufstat.rel index e856f49f..26bfc2d6 100644 --- a/src/nos/lib/net_lib/mbufstat.rel +++ b/src/nos/lib/net_lib/mbufstat.rel @@ -2,44 +2,44 @@ XL4 H 2 areas 12 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?BANK_FAST_LEAVE_L08 Ref00000000 +S ___05bb_e57a_mbuf_20allocs_20_25 Ref00000000 S _Allocmbufs Ref00000000 S _Pushdowns Ref00000000 S _Cachehits Ref00000000 S _len_q Ref00000000 -S ___0560_274c_pushdown_20calls_20 Ref00000000 -S ___04f6_e57a_mbuf_20allocs_20_25 Ref00000000 S .__.ABS. Def00000000 S _Freembufs Ref00000000 S ?L_MUL_L03 Ref00000000 +S ___02bf_fee7_Free_20cache_3a_20s Ref00000000 S _Pushalloc Ref00000000 S ?SL_DIV_L03 Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___027c_fee7_Free_20cache_3a_20s Ref00000000 S _Mbufcache Ref00000000 +S ___063a_274c_pushdown_20calls_20 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size B5 flags 0 S _mbufstat Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 C5 D5 2A 02 00 00 00 E5 2A -R 00 00 01 00 02 07 09 00 +R 00 00 01 00 02 07 08 00 T 07 00 00 00 00 00 00 00 E5 2A 02 00 00 00 E5 -R 00 00 01 00 02 04 09 00 02 0A 02 00 +R 00 00 01 00 02 04 08 00 02 0A 03 00 T 0E 00 00 00 2A 00 00 00 00 E5 21 00 00 E5 21 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 03 00 T 17 00 00 00 64 00 E5 ED 4B 02 00 00 00 2A -R 00 00 01 00 02 09 04 00 +R 00 00 01 00 02 09 05 00 T 1F 00 00 00 00 00 00 00 CD 00 00 00 00 CD -R 00 00 01 00 02 04 04 00 02 09 0A 00 +R 00 00 01 00 02 04 05 00 02 09 09 00 T 25 00 00 00 00 00 00 00 C5 E5 2A 02 00 00 00 -R 00 00 01 00 02 04 0C 00 02 0B 04 00 +R 00 00 01 00 02 04 0C 00 02 0B 05 00 T 2C 00 00 00 E5 2A 00 00 00 00 E5 2A -R 00 00 01 00 02 06 04 00 +R 00 00 01 00 02 06 05 00 T 32 00 00 00 02 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 02 04 02 00 02 0A 02 00 +R 00 00 01 00 02 04 03 00 02 0A 03 00 T 39 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0B 07 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 T 3F 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 T 45 00 00 00 CD 00 00 00 00 EB 21 14 00 39 F9 @@ -47,29 +47,29 @@ R 00 00 01 00 02 05 00 00 T 4E 00 00 00 EB 2A 02 00 00 00 E5 2A R 00 00 01 00 02 06 0B 00 T 54 00 00 00 00 00 00 00 E5 2A 02 00 00 00 E5 -R 00 00 01 00 02 04 0B 00 02 0A 03 00 +R 00 00 01 00 02 04 0B 00 02 0A 04 00 T 5B 00 00 00 2A 00 00 00 00 E5 0E 00 00 00 00 -R 00 00 01 00 02 05 03 00 2B 0B 06 00 +R 00 00 01 00 02 05 04 00 2B 0B 10 00 T 61 00 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 06 00 +R 00 00 01 00 02 06 10 00 T 67 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 6C 00 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB R 00 00 01 00 02 04 00 00 T 75 00 00 00 ED 5B 04 00 00 00 3E 00 00 00 00 -R 00 00 01 00 02 06 10 00 2B 0B 05 00 +R 00 00 01 00 02 06 0F 00 2B 0B 06 00 T 7B 00 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 05 00 02 0A 00 00 +R 00 00 01 00 02 05 06 00 02 0A 00 00 T 82 00 00 00 ED 5B 02 00 00 00 3E 00 00 00 00 -R 00 00 01 00 02 06 10 00 2B 0B 05 00 +R 00 00 01 00 02 06 0F 00 2B 0B 06 00 T 88 00 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 05 00 02 0A 00 00 +R 00 00 01 00 02 05 06 00 02 0A 00 00 T 8F 00 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 02 06 10 00 2B 0B 05 00 +R 00 00 01 00 02 06 0F 00 2B 0B 06 00 T 95 00 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 05 00 02 0A 00 00 +R 00 00 01 00 02 05 06 00 02 0A 00 00 T 9C 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 T A2 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 T A8 00 00 00 CD 00 00 00 00 F1 F1 F1 F1 F1 D1 diff --git a/src/nos/lib/net_lib/perror.rel b/src/nos/lib/net_lib/perror.rel index d89ec8b4..6004fbb7 100644 --- a/src/nos/lib/net_lib/perror.rel +++ b/src/nos/lib/net_lib/perror.rel @@ -7,35 +7,35 @@ S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S __fprintf Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S ___015a_7189__25s_3a_20_25s_0a Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S ?SS_CMP_L02 Ref00000000 S _Sock_errlist Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___0183_7189__25s_3a_20_25s_0a Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 91 flags 0 S _perror Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 4D 00 ED 4B -R 00 00 01 00 02 05 08 00 +T 00 00 00 00 CD 00 00 00 00 21 4F 00 ED 4B +R 00 00 01 00 02 05 07 00 T 08 00 00 00 00 00 00 00 09 7E 23 66 6F 11 R 00 00 01 00 02 04 05 00 T 10 00 00 00 64 80 3E 80 AC 67 ED 52 38 2A 21 R 00 00 01 00 -T 1B 00 00 00 4D 00 ED 4B 00 00 00 00 09 4E 23 +T 1B 00 00 00 4F 00 ED 4B 00 00 00 00 09 4E 23 R 00 00 01 00 02 08 05 00 T 24 00 00 00 46 21 70 00 CD 00 00 00 00 38 17 -R 00 00 01 00 02 09 09 00 -T 2D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 56 +R 00 00 01 00 02 09 08 00 +T 2D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 56 R 00 00 01 00 02 09 05 00 T 36 00 00 00 23 66 6A 29 11 38 FF FF FF 19 56 -R 00 00 01 00 02 09 0A 00 +R 00 00 01 00 02 09 09 00 T 3F 00 00 00 23 66 6A 18 13 R 00 00 01 00 T 44 00 00 00 R 00 00 01 00 -T 44 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 5E +T 44 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 5E R 00 00 01 00 02 09 05 00 T 4D 00 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 01 00 @@ -46,7 +46,7 @@ R 00 00 01 00 T 57 00 00 00 E5 DD 6E 02 DD 66 03 E5 0E R 00 00 01 00 T 60 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 07 00 02 0A 07 00 +R 00 00 01 00 2B 04 0B 00 02 0A 0B 00 T 66 00 00 00 21 40 00 ED 4B 00 00 00 00 09 5E R 00 00 01 00 02 09 05 00 T 6F 00 00 00 23 56 D5 3E 00 00 00 00 21 diff --git a/src/nos/lib/net_lib/read.rel b/src/nos/lib/net_lib/read.rel index dbb84b23..f32891eb 100644 --- a/src/nos/lib/net_lib/read.rel +++ b/src/nos/lib/net_lib/read.rel @@ -26,7 +26,7 @@ T 1D 00 00 00 FF DD CB 03 7E 28 13 R 00 00 01 00 T 24 00 00 00 R 00 00 01 00 -T 24 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 24 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T 2D 00 00 00 16 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -74,7 +74,7 @@ T A6 00 00 00 00 00 00 00 F1 18 10 R 00 00 01 00 02 04 00 00 T AB 00 00 00 R 00 00 01 00 -T AB 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T AB 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T B4 00 00 00 16 23 36 00 21 FF FF R 00 00 01 00 diff --git a/src/nos/lib/net_lib/recv_mbuf.rel b/src/nos/lib/net_lib/recv_mbuf.rel index 649f005a..3fa68dd1 100644 --- a/src/nos/lib/net_lib/recv_mbuf.rel +++ b/src/nos/lib/net_lib/recv_mbuf.rel @@ -22,7 +22,7 @@ T 15 00 00 00 FC DD 74 FD 7D B4 20 12 R 00 00 01 00 T 1D 00 00 00 R 00 00 01 00 -T 1D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 1D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 26 00 00 00 09 23 36 00 21 FF FF 18 63 R 00 00 01 00 @@ -36,7 +36,7 @@ T 44 00 00 00 10 00 09 7E 23 B6 23 B6 20 12 R 00 00 01 00 T 4E 00 00 00 R 00 00 01 00 -T 4E 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 4E 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 57 00 00 00 69 23 36 00 21 FF FF 18 32 R 00 00 01 00 diff --git a/src/nos/lib/net_lib/send_mbuf.rel b/src/nos/lib/net_lib/send_mbuf.rel index 1cea8277..08ad24f4 100644 --- a/src/nos/lib/net_lib/send_mbuf.rel +++ b/src/nos/lib/net_lib/send_mbuf.rel @@ -27,7 +27,7 @@ T 1D 00 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 R 00 00 01 00 2B 0B 05 00 T 25 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 05 00 02 0A 00 00 -T 2C 00 00 00 4D 00 ED 4B 00 00 00 00 09 36 09 +T 2C 00 00 00 4F 00 ED 4B 00 00 00 00 09 36 09 R 00 00 01 00 02 08 02 00 T 35 00 00 00 23 36 00 21 FF FF C3 1E 01 00 00 R 00 00 01 00 00 0B 01 00 @@ -71,7 +71,7 @@ T B1 00 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 R 00 00 01 00 2B 0B 05 00 T B9 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 05 00 02 0A 00 00 -T C0 00 00 00 4D 00 ED 4B 00 00 00 00 09 36 67 +T C0 00 00 00 4F 00 ED 4B 00 00 00 00 09 36 67 R 00 00 01 00 02 08 02 00 T C9 00 00 00 23 36 00 21 FF FF 18 4D R 00 00 01 00 @@ -91,7 +91,7 @@ T 05 01 00 00 12 R 00 00 01 00 T 06 01 00 00 R 00 00 01 00 -T 06 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 06 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 0F 01 00 00 69 23 36 00 21 FF FF 18 06 R 00 00 01 00 diff --git a/src/nos/lib/net_lib/settos.rel b/src/nos/lib/net_lib/settos.rel index 1cb364d8..06d25d5a 100644 --- a/src/nos/lib/net_lib/settos.rel +++ b/src/nos/lib/net_lib/settos.rel @@ -22,7 +22,7 @@ T 15 00 00 00 FE DD 74 FF 7D B4 20 12 R 00 00 01 00 T 1D 00 00 00 R 00 00 01 00 -T 1D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 1D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 26 00 00 00 09 23 36 00 21 FF FF 18 11 R 00 00 01 00 diff --git a/src/nos/lib/net_lib/showiface.rel b/src/nos/lib/net_lib/showiface.rel index 82ad6e71..5641cefb 100644 --- a/src/nos/lib/net_lib/showiface.rel +++ b/src/nos/lib/net_lib/showiface.rel @@ -2,22 +2,22 @@ XL4 H 3 areas 14 global symbols S _inet_ntoa Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0197_096e__2f_25u Ref00000000 S _secclock Ref00000000 -S ___0022_a0dd__0a Ref00000000 -S ___0036_3fef__20_20_20_20_20_20_ Ref00000000 +S ___0023_a0dd__0a Ref00000000 S _len_q Ref00000000 +S ___0037_3fef__20_20_20_20_20_20_ Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___003a_9d57__20_20_20_20_20_20_ Ref00000000 S .__.ABS. Def00000000 -S ___0038_c6d7__20_20_20_20_20_20_ Ref00000000 +S ___0039_c6d7__20_20_20_20_20_20_ Ref00000000 +S ___00a4_f35d__20BUSY Ref00000000 +S ___01c3_096e__2f_25u Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___008b_f35d__20BUSY Ref00000000 +S ___010f_3035__25_2d10s_20IP_20ad Ref00000000 S __printf Ref00000000 -S ___00f6_3035__25_2d10s_20IP_20ad Ref00000000 -S ___0035_0534__20_20_20_20_20_20_ Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0039_9d57__20_20_20_20_20_20_ Ref00000000 -S ___0037_3164__20_20_20_20_20_20_ Ref00000000 +S ___0036_0534__20_20_20_20_20_20_ Ref00000000 +S ___0038_3164__20_20_20_20_20_20_ Ref00000000 S _tformat Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 2B4 flags 0 @@ -26,7 +26,7 @@ A CSTR size 8 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 E6 FF 21 3D 00 DD -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0C 00 T 09 00 00 00 4E 02 DD 46 03 09 7E 23 B6 28 0E R 00 00 01 00 T 14 00 00 00 21 3D 00 09 7E 23 66 6F 56 23 66 @@ -52,7 +52,7 @@ R 00 00 01 00 T 54 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 T 5A 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T 60 00 00 00 CD 00 00 00 00 EB 21 0C 00 39 F9 R 00 00 01 00 02 05 01 00 T 69 00 00 00 EB 21 3D 00 DD 4E 02 DD 46 03 09 @@ -84,9 +84,9 @@ R 00 00 01 00 T CC 00 00 00 69 60 C1 CD 00 00 00 00 E5 0E R 00 00 01 00 02 08 01 00 T D4 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0E 00 02 0A 0E 00 +R 00 00 01 00 2B 04 10 00 02 0A 10 00 T DA 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T E0 00 00 00 00 00 00 00 F1 F1 F1 R 00 00 01 00 02 04 01 00 T E5 00 00 00 @@ -104,9 +104,9 @@ R 00 00 01 00 T 15 01 00 00 DD 4E 02 DD 46 03 09 5E 23 56 D5 R 00 00 01 00 T 20 01 00 00 1E 00 00 00 00 D5 21 00 00 00 00 -R 00 00 01 00 2B 05 10 00 02 0B 10 00 +R 00 00 01 00 2B 05 07 00 02 0B 07 00 T 26 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T 2C 01 00 00 CD 00 00 00 00 EB 21 0C 00 39 F9 R 00 00 01 00 02 05 01 00 T 35 01 00 00 EB 21 16 00 09 7E 23 B6 28 26 @@ -120,7 +120,7 @@ R 00 00 01 00 T 54 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 R 00 00 01 00 2B 04 05 00 02 0A 05 00 T 5A 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T 60 01 00 00 00 00 00 00 F1 F1 F1 R 00 00 01 00 02 04 01 00 T 65 01 00 00 @@ -128,15 +128,15 @@ R 00 00 01 00 T 65 01 00 00 21 1E 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 T 70 01 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 06 00 +R 00 00 01 00 2B 07 04 00 T 75 01 00 00 00 00 00 00 CD 00 00 00 00 E5 21 -R 00 00 01 00 02 04 06 00 02 09 01 00 +R 00 00 01 00 02 04 04 00 02 09 01 00 T 7C 01 00 00 61 00 09 4E 23 46 23 5E 23 56 69 R 00 00 01 00 T 87 01 00 00 60 D5 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 03 00 +R 00 00 01 00 2B 08 02 00 T 8D 01 00 00 00 00 00 00 CD 00 00 00 00 59 50 -R 00 00 01 00 02 04 03 00 02 09 01 00 +R 00 00 01 00 02 04 02 00 02 09 01 00 T 94 01 00 00 A7 C1 ED 42 EB C1 ED 42 4D 44 3E R 00 00 01 00 T 9F 01 00 00 00 00 00 00 21 00 00 00 00 CD @@ -152,7 +152,7 @@ R 00 00 01 00 T CE 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 R 00 00 01 00 2B 04 09 00 02 0A 09 00 T D4 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T DA 01 00 00 00 00 00 00 EB 21 10 00 39 F9 EB R 00 00 01 00 02 04 01 00 T E3 01 00 00 21 20 00 DD 4E 02 DD 46 03 09 7E @@ -164,11 +164,11 @@ R 00 00 01 00 T F2 01 00 00 21 20 00 DD 4E 02 DD 46 03 09 4E R 00 00 01 00 T FD 01 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 02 00 +R 00 00 01 00 2B 08 0B 00 T 04 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 02 00 2B 0A 0C 00 +R 00 00 01 00 02 04 0B 00 2B 0A 0E 00 T 0A 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0C 00 02 09 01 00 +R 00 00 01 00 02 04 0E 00 02 09 01 00 T 11 02 00 00 F1 R 00 00 01 00 T 12 02 00 00 @@ -180,25 +180,25 @@ R 00 00 01 00 T 21 02 00 00 R 00 00 01 00 T 21 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 +R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 T 27 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T 2D 02 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 05 01 00 T 32 02 00 00 R 00 00 01 00 T 32 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 04 00 02 0B 04 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 T 38 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T 3E 02 00 00 CD 00 00 00 00 F1 F1 21 65 00 DD R 00 00 01 00 02 05 01 00 T 47 02 00 00 4E 02 DD 46 03 09 4E 23 46 23 5E R 00 00 01 00 T 52 02 00 00 23 56 69 60 D5 E5 3E 00 00 00 00 -R 00 00 01 00 2B 0B 03 00 +R 00 00 01 00 2B 0B 02 00 T 5A 02 00 00 21 00 00 00 00 CD 00 00 00 00 59 -R 00 00 01 00 02 05 03 00 02 0A 01 00 +R 00 00 01 00 02 05 02 00 02 0A 01 00 T 61 02 00 00 50 A7 C1 ED 42 EB C1 ED 42 4D 44 R 00 00 01 00 T 6C 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD @@ -214,11 +214,11 @@ R 00 00 01 00 T 9C 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 R 00 00 01 00 2B 04 11 00 02 0A 11 00 T A2 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T A8 02 00 00 00 00 00 00 EB 21 0E 00 39 F9 EB R 00 00 01 00 02 04 01 00 T B1 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 06 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 6E 6F 74 20 73 65 74 00 diff --git a/src/nos/lib/net_lib/shutdown.rel b/src/nos/lib/net_lib/shutdown.rel index 87a33336..c6b68470 100644 --- a/src/nos/lib/net_lib/shutdown.rel +++ b/src/nos/lib/net_lib/shutdown.rel @@ -24,7 +24,7 @@ T 15 00 00 00 FC DD 74 FD 7D B4 20 13 R 00 00 01 00 T 1D 00 00 00 R 00 00 01 00 -T 1D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 1D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 26 00 00 00 09 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -38,7 +38,7 @@ T 3B 00 00 00 23 B6 20 12 R 00 00 01 00 T 3F 00 00 00 R 00 00 01 00 -T 3F 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 3F 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 48 00 00 00 65 23 36 00 21 FF FF 18 6F R 00 00 01 00 diff --git a/src/nos/lib/net_lib/sockcmd.rel b/src/nos/lib/net_lib/sockcmd.rel index 6b5f7f7a..b41f2226 100644 --- a/src/nos/lib/net_lib/sockcmd.rel +++ b/src/nos/lib/net_lib/sockcmd.rel @@ -1,21 +1,21 @@ XL4 H 3 areas 13 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___013d_7be3__25s_20_25p_0a Ref00000000 +S ___0409_6556_Socket_20not_20in_2 Ref00000000 S _Socktypes Ref00000000 -S ___0386_6556_Socket_20not_20in_2 Ref00000000 S _getpeername Ref00000000 -S ___0316_f8e2_Not_20a_20valid_20s Ref00000000 +S ___0137_b932__254d_20_25_2d8s_25 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___0387_f8e2_Not_20a_20valid_20s Ref00000000 +S ___0158_7be3__25s_20_25p_0a Ref00000000 S .__.ABS. Def00000000 +S ___03f5_4fbb_S_23_20_20_20Type_2 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _atoi Ref00000000 S __printf Ref00000000 -S ___0372_4fbb_S_23_20_20_20Type_2 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _psocket Ref00000000 S _itop Ref00000000 -S ___011c_b932__254d_20_25_2d8s_25 Ref00000000 S ?SS_RSH_L02 Ref00000000 S _Nsock Ref00000000 A _DEFAULT size 0 flags 0 @@ -25,7 +25,7 @@ A CSTR size 1 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 E4 FF 11 02 80 DD -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 0A 00 T 09 00 00 00 6E 02 DD 66 03 3E 80 AC 67 ED 52 R 00 00 01 00 T 14 00 00 00 D2 26 01 00 00 @@ -33,9 +33,9 @@ R 00 00 01 00 00 05 01 00 T 17 00 00 00 R 00 00 01 00 T 17 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 T 1D 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 +R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 T 23 00 00 00 CD 00 00 00 00 F1 F1 AF DD 77 EA R 00 00 01 00 02 05 00 00 T 2C 00 00 00 DD 77 EB @@ -53,7 +53,7 @@ R 00 00 01 00 T 4A 00 00 00 67 DD 75 E6 DD 74 E7 EB 3E R 00 00 01 00 T 53 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +R 00 00 01 00 2B 04 0F 00 02 09 0F 00 T 58 00 00 00 00 00 00 00 DD 75 E4 DD 74 E5 7D R 00 00 01 00 02 04 00 00 T 61 00 00 00 B4 20 03 @@ -69,9 +69,9 @@ R 00 00 01 00 T 72 00 00 00 39 E5 21 0A 00 39 4D 44 DD 5E E6 R 00 00 01 00 T 7D 00 00 00 DD 56 E7 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 04 00 +R 00 00 01 00 2B 08 03 00 T 83 00 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 04 00 02 09 00 00 +R 00 00 01 00 02 04 03 00 02 09 00 00 T 8A 00 00 00 B4 20 1E DD 7E E8 DD B6 E9 28 16 R 00 00 01 00 T 95 00 00 00 @@ -81,9 +81,9 @@ R 00 00 01 00 T 95 00 00 00 R 00 00 01 00 T 95 00 00 00 21 08 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0D 00 +R 00 00 01 00 2B 0B 0E 00 T 9D 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0D 00 02 0A 00 00 +R 00 00 01 00 02 05 0E 00 02 0A 00 00 T A4 00 00 00 75 FE DD 74 FF 18 08 R 00 00 01 00 T AB 00 00 00 @@ -109,11 +109,11 @@ R 00 00 01 00 T F1 00 00 00 00 00 00 00 09 4E 23 46 C5 DD 6E R 00 00 01 00 02 04 02 00 T FA 00 00 00 E6 DD 66 E7 E5 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 0F 00 +R 00 00 01 00 2B 0A 04 00 T 02 01 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 0F 00 2B 0B 0A 00 +R 00 00 01 00 02 05 04 00 2B 0B 0C 00 T 08 01 00 00 21 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 0A 00 02 0A 00 00 +R 00 00 01 00 02 05 0C 00 02 0A 00 00 T 0F 01 00 00 21 10 00 39 F9 EB R 00 00 01 00 T 15 01 00 00 @@ -133,7 +133,7 @@ R 00 00 01 00 T 26 01 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 T 31 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 09 00 02 0A 09 00 +R 00 00 01 00 2B 05 0B 00 02 0A 0B 00 T 37 01 00 00 00 00 00 00 DD 75 E6 DD 74 E7 06 R 00 00 01 00 02 04 00 00 T 40 01 00 00 0D EB CD 00 00 00 00 7B E6 03 6F @@ -143,9 +143,9 @@ R 00 00 01 00 T 53 01 00 00 R 00 00 01 00 T 53 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 05 00 02 0B 05 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 T 59 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 +R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 T 5F 01 00 00 CD 00 00 00 00 F1 F1 21 01 00 C3 R 00 00 01 00 02 05 00 00 T 68 01 00 00 13 02 00 00 @@ -153,17 +153,17 @@ R 00 00 01 00 00 04 01 00 T 6A 01 00 00 R 00 00 01 00 T 6A 01 00 00 DD 5E E6 DD 56 E7 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 +R 00 00 01 00 2B 0B 0F 00 T 72 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0E 00 02 0A 00 00 +R 00 00 01 00 02 05 0F 00 02 0A 00 00 T 79 01 00 00 75 E4 DD 74 E5 7D B4 20 16 R 00 00 01 00 T 82 01 00 00 R 00 00 01 00 T 82 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 T 88 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 +R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 T 8E 01 00 00 CD 00 00 00 00 F1 F1 21 01 00 18 R 00 00 01 00 02 05 00 00 T 97 01 00 00 7B @@ -179,11 +179,11 @@ R 00 00 01 00 T B8 01 00 00 6E 26 00 29 11 00 00 00 00 19 5E R 00 00 01 00 02 09 02 00 T C1 01 00 00 23 56 D5 1E 00 00 00 00 D5 21 -R 00 00 01 00 2B 08 01 00 +R 00 00 01 00 2B 08 07 00 T C8 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 01 00 2B 0A 0A 00 +R 00 00 01 00 02 04 07 00 2B 0A 0C 00 T CE 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0A 00 02 09 00 00 +R 00 00 01 00 02 04 0C 00 02 09 00 00 T D5 01 00 00 F1 F1 21 0C 00 09 7E 23 B6 20 05 R 00 00 01 00 T E0 01 00 00 @@ -211,7 +211,7 @@ R 00 00 01 00 T 13 02 00 00 R 00 00 01 00 T 13 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 05 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 diff --git a/src/nos/lib/net_lib/socket.rel b/src/nos/lib/net_lib/socket.rel index 9145dd74..769342c3 100644 --- a/src/nos/lib/net_lib/socket.rel +++ b/src/nos/lib/net_lib/socket.rel @@ -52,7 +52,7 @@ T 41 00 00 00 A7 ED 42 20 13 R 00 00 01 00 T 46 00 00 00 R 00 00 01 00 -T 46 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 46 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T 4F 00 00 00 18 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -76,7 +76,7 @@ T 8C 00 00 00 DD 75 FE DD 74 FF E5 69 60 C1 71 R 00 00 01 00 T 97 00 00 00 23 70 21 04 00 DD 4E FA DD 46 FB R 00 00 01 00 -T A2 00 00 00 09 36 01 23 36 00 21 4D 00 ED 5B +T A2 00 00 00 09 36 01 23 36 00 21 4F 00 ED 5B R 00 00 01 00 T AD 00 00 00 00 00 00 00 19 AF 77 23 77 21 R 00 00 01 00 02 04 04 00 @@ -110,7 +110,7 @@ T 02 01 00 00 FA DD 46 FB 09 36 09 18 0F R 00 00 01 00 T 0B 01 00 00 R 00 00 01 00 -T 0B 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 0B 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T 14 01 00 00 66 23 36 00 18 00 R 00 00 01 00 @@ -136,7 +136,7 @@ T 40 01 00 00 FA DD 46 FB 09 36 04 18 0F R 00 00 01 00 T 49 01 00 00 R 00 00 01 00 -T 49 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 49 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T 52 01 00 00 66 23 36 00 18 00 R 00 00 01 00 @@ -164,7 +164,7 @@ T 80 01 00 00 FA DD 46 FB 09 36 07 18 0F R 00 00 01 00 T 89 01 00 00 R 00 00 01 00 -T 89 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 89 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T 92 01 00 00 66 23 36 00 18 00 R 00 00 01 00 @@ -202,7 +202,7 @@ T D6 01 00 00 05 18 0F R 00 00 01 00 T D9 01 00 00 R 00 00 01 00 -T D9 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T D9 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T E2 01 00 00 66 23 36 00 18 00 R 00 00 01 00 @@ -212,7 +212,7 @@ T E8 01 00 00 18 0F R 00 00 01 00 T EA 01 00 00 R 00 00 01 00 -T EA 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T EA 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T F3 01 00 00 67 23 36 00 18 00 R 00 00 01 00 @@ -274,7 +274,7 @@ T 8B 02 00 00 R 00 00 01 00 T 8B 02 00 00 R 00 00 01 00 -T 8B 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 8B 02 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T 94 02 00 00 66 23 36 00 21 FF FF 18 06 R 00 00 01 00 diff --git a/src/nos/lib/net_lib/socketpair.rel b/src/nos/lib/net_lib/socketpair.rel index 594ab3fb..9a66381f 100644 --- a/src/nos/lib/net_lib/socketpair.rel +++ b/src/nos/lib/net_lib/socketpair.rel @@ -20,7 +20,7 @@ T 09 00 00 00 B6 0D 20 13 R 00 00 01 00 T 0D 00 00 00 R 00 00 01 00 -T 0D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 0D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 16 00 00 00 0E 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -32,7 +32,7 @@ T 20 00 00 00 3E 03 DD AE 02 DD B6 03 28 13 R 00 00 01 00 T 2A 00 00 00 R 00 00 01 00 -T 2A 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 2A 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 33 00 00 00 67 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -50,7 +50,7 @@ T 4F 00 00 00 R 00 00 01 00 T 4F 00 00 00 R 00 00 01 00 -T 4F 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 4F 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 58 00 00 00 66 23 36 00 21 FF FF C3 R 00 00 01 00 diff --git a/src/nos/lib/net_lib/sockkick.rel b/src/nos/lib/net_lib/sockkick.rel index 9a1d4be1..0c152f3a 100644 --- a/src/nos/lib/net_lib/sockkick.rel +++ b/src/nos/lib/net_lib/sockkick.rel @@ -22,7 +22,7 @@ T 15 00 00 00 FC DD 74 FD 7D B4 20 12 R 00 00 01 00 T 1D 00 00 00 R 00 00 01 00 -T 1D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 1D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 26 00 00 00 09 23 36 00 21 FF FF 18 58 R 00 00 01 00 @@ -36,7 +36,7 @@ T 44 00 00 00 19 00 09 7E 23 B6 23 B6 20 12 R 00 00 01 00 T 4E 00 00 00 R 00 00 01 00 -T 4E 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 4E 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 57 00 00 00 69 23 36 00 21 FF FF 18 27 R 00 00 01 00 diff --git a/src/nos/lib/net_lib/socklen.rel b/src/nos/lib/net_lib/socklen.rel index 06f14696..fcbc5b4f 100644 --- a/src/nos/lib/net_lib/socklen.rel +++ b/src/nos/lib/net_lib/socklen.rel @@ -25,7 +25,7 @@ T 22 00 00 00 B4 20 13 R 00 00 01 00 T 25 00 00 00 R 00 00 01 00 -T 25 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 25 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 2E 00 00 00 09 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -39,7 +39,7 @@ T 43 00 00 00 23 B6 20 13 R 00 00 01 00 T 47 00 00 00 R 00 00 01 00 -T 47 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 47 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 50 00 00 00 65 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -57,7 +57,7 @@ T 6E 00 00 00 R 00 00 01 00 T 6E 00 00 00 R 00 00 01 00 -T 6E 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 6E 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 77 00 00 00 16 23 36 00 21 FF FF 18 64 R 00 00 01 00 @@ -85,7 +85,7 @@ T CC 00 00 00 R 00 00 01 00 T CC 00 00 00 R 00 00 01 00 -T CC 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T CC 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T D5 00 00 00 69 23 36 00 21 FF FF 18 06 R 00 00 01 00 diff --git a/src/nos/lib/net_lib/sockowner.rel b/src/nos/lib/net_lib/sockowner.rel index 2036a73c..fcb6931d 100644 --- a/src/nos/lib/net_lib/sockowner.rel +++ b/src/nos/lib/net_lib/sockowner.rel @@ -22,7 +22,7 @@ T 15 00 00 00 FC DD 74 FD 7D B4 20 12 R 00 00 01 00 T 1D 00 00 00 R 00 00 01 00 -T 1D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 1D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 26 00 00 00 09 23 36 00 21 00 00 18 31 R 00 00 01 00 diff --git a/src/nos/lib/net_lib/sockutil.rel b/src/nos/lib/net_lib/sockutil.rel index 76b36c63..d33e37b8 100644 --- a/src/nos/lib/net_lib/sockutil.rel +++ b/src/nos/lib/net_lib/sockutil.rel @@ -69,7 +69,7 @@ T 6D 00 00 00 FC DD 74 FD 7D B4 20 12 R 00 00 01 00 T 75 00 00 00 R 00 00 01 00 -T 75 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 75 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 06 00 T 7E 00 00 00 09 23 36 00 21 00 00 00 00 18 51 R 00 00 01 00 02 09 04 00 @@ -93,7 +93,7 @@ T C5 00 00 00 68 18 10 R 00 00 01 00 T C8 00 00 00 R 00 00 01 00 -T C8 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T C8 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 06 00 T D1 00 00 00 69 23 36 00 21 00 00 R 00 00 01 00 @@ -113,7 +113,7 @@ T F0 00 00 00 FC DD 74 FD 7D B4 20 12 R 00 00 01 00 T F8 00 00 00 R 00 00 01 00 -T F8 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T F8 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 06 00 T 01 01 00 00 09 23 36 00 21 00 00 18 6C R 00 00 01 00 @@ -125,7 +125,7 @@ T 15 01 00 00 23 B6 20 12 R 00 00 01 00 T 19 01 00 00 R 00 00 01 00 -T 19 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 19 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 06 00 T 22 01 00 00 65 23 36 00 21 00 00 18 4B R 00 00 01 00 @@ -147,7 +147,7 @@ T 60 01 00 00 60 CD 00 00 00 00 18 10 R 00 00 01 00 02 06 01 00 T 66 01 00 00 R 00 00 01 00 -T 66 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 66 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 06 00 T 6F 01 00 00 69 23 36 00 21 00 00 R 00 00 01 00 diff --git a/src/nos/lib/net_lib/timer.rel b/src/nos/lib/net_lib/timer.rel index 0e2dc858..f99c502d 100644 --- a/src/nos/lib/net_lib/timer.rel +++ b/src/nos/lib/net_lib/timer.rel @@ -16,14 +16,14 @@ S _kwait Ref00000000 S _rdclock Ref00000000 S _dirps Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 +S ___06ca_d29c_timer_3a_20ints_20w Ref00000000 S ?L_MUL_L03 Ref00000000 -S ___0321_5b48_PANIC_3a_20Timer_20 Ref00000000 -S ___05ed_d29c_timer_3a_20ints_20w Ref00000000 S ?SL_CMP_L03 Ref00000000 S ?SL_MOD_L03 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?SL_DIV_L03 Ref00000000 S _Cfunc Ref00000000 +S ___0395_5b48_PANIC_3a_20Timer_20 Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _exit Ref00000000 @@ -43,7 +43,7 @@ A UDATA0 size 15 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F2 FF -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 14 00 T 05 00 00 00 R 00 00 01 00 T 05 00 00 00 @@ -91,7 +91,7 @@ R 00 00 01 00 2B 08 01 00 T 64 00 00 00 00 00 00 00 CD 00 00 00 00 0E R 00 00 01 00 02 04 01 00 02 09 00 00 T 6A 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 12 00 02 0A 12 00 +R 00 00 01 00 2B 04 10 00 02 0A 10 00 T 70 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 18 00 02 0A 18 00 T 76 00 00 00 00 00 00 00 F1 F1 @@ -99,9 +99,9 @@ R 00 00 01 00 02 04 00 00 T 7A 00 00 00 R 00 00 01 00 T 7A 00 00 00 DD 36 F6 00 00 00 00 DD 36 F7 -R 00 00 01 00 0B 07 17 00 +R 00 00 01 00 0B 07 16 00 T 81 00 00 00 00 00 00 00 -R 00 00 01 00 8B 04 17 00 +R 00 00 01 00 8B 04 16 00 T 82 00 00 00 R 00 00 01 00 T 82 00 00 00 DD 6E F6 DD 66 F7 7E 23 B6 23 B6 @@ -171,7 +171,7 @@ R 00 00 01 00 T 20 01 00 00 2A 00 00 00 00 01 00 00 C5 E5 0E R 00 00 01 00 00 05 03 00 T 29 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 11 00 02 0A 11 00 +R 00 00 01 00 2B 04 17 00 02 0A 17 00 T 2F 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 18 00 02 0A 18 00 T 35 01 00 00 00 00 00 00 F1 F1 F1 F1 3E @@ -239,7 +239,7 @@ R 00 00 01 00 00 04 01 00 T E4 01 00 00 R 00 00 01 00 T E4 01 00 00 CD 00 00 00 00 FC FF AF DD 77 FE -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 14 00 T ED 01 00 00 DD 77 FF DD 7E 02 DD B6 03 20 03 R 00 00 01 00 T F8 01 00 00 @@ -343,7 +343,7 @@ R 00 00 01 00 02 05 07 00 T 0B 03 00 00 R 00 00 01 00 T 0B 03 00 00 CD 00 00 00 00 FC FF AF DD 77 FE -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 14 00 T 14 03 00 00 DD 77 FF DD 7E 02 DD B6 03 28 0E R 00 00 01 00 T 1F 03 00 00 21 0F 00 DD 4E 02 DD 46 03 09 46 @@ -423,7 +423,7 @@ R 00 00 01 00 02 05 07 00 T B7 03 00 00 R 00 00 01 00 T B7 03 00 00 CD 00 00 00 00 FC FF DD 7E 02 DD -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 14 00 T C0 03 00 00 B6 03 28 0E 21 0F 00 DD 4E 02 DD R 00 00 01 00 T CB 03 00 00 46 03 09 46 05 28 08 @@ -451,7 +451,7 @@ R 00 00 01 00 T 0A 04 00 00 DD 71 FE DD 70 FF C5 E5 01 00 00 R 00 00 01 00 T 15 04 00 00 21 00 00 CD 00 00 00 00 38 08 -R 00 00 01 00 02 08 13 00 +R 00 00 01 00 02 08 12 00 T 1D 04 00 00 R 00 00 01 00 T 1D 04 00 00 01 00 00 21 00 00 18 17 @@ -463,7 +463,7 @@ R 00 00 01 00 T 30 04 00 00 DD 46 FF DD 6E FC DD 66 FD CD R 00 00 01 00 T 3A 04 00 00 00 00 00 00 -R 00 00 01 00 02 04 10 00 +R 00 00 01 00 02 04 11 00 T 3C 04 00 00 R 00 00 01 00 T 3C 04 00 00 C3 00 00 00 00 @@ -491,7 +491,7 @@ R 00 00 01 00 T 6C 04 00 00 C1 09 EB DD 6E 0C DD 66 0D C1 ED R 00 00 01 00 T 77 04 00 00 4A 4D 44 EB CD 00 00 00 00 C5 E5 -R 00 00 01 00 02 09 16 00 +R 00 00 01 00 02 09 15 00 T 80 04 00 00 21 01 00 C1 09 EB 21 00 00 C1 ED R 00 00 01 00 T 8B 04 00 00 4A 4D 44 EB E5 DD 6E 02 DD 66 03 @@ -515,7 +515,7 @@ R 00 00 01 00 02 05 07 00 T B5 04 00 00 R 00 00 01 00 T B5 04 00 00 CD 00 00 00 00 FE FF 2A -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 14 00 T BB 04 00 00 00 00 00 00 7D B4 28 0E DD 7E 02 R 00 00 01 00 02 04 0A 00 T C4 04 00 00 DD B6 03 DD B6 04 DD B6 05 20 05 @@ -621,7 +621,7 @@ R 00 00 01 00 02 05 07 00 T 98 05 00 00 R 00 00 01 00 T 98 05 00 00 CD 00 00 00 00 F6 FF DD CB 05 7E -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 14 00 T A1 05 00 00 28 25 R 00 00 01 00 T A3 05 00 00 @@ -645,19 +645,19 @@ R 00 00 01 00 T DA 05 00 00 DD 46 05 DD 6E 02 DD 66 03 CD R 00 00 01 00 T E4 05 00 00 00 00 00 00 DD 75 FC DD 74 FD 21 -R 00 00 01 00 02 04 14 00 +R 00 00 01 00 02 04 13 00 T ED 05 00 00 0C 00 39 01 00 00 11 3C 00 CD R 00 00 01 00 T F7 05 00 00 00 00 00 00 21 00 00 E5 21 3C 00 R 00 00 01 00 02 04 03 00 T 00 06 00 00 E5 EB CD 00 00 00 00 DD 75 FA DD -R 00 00 01 00 02 07 14 00 +R 00 00 01 00 02 07 13 00 T 09 06 00 00 74 FB 21 0C 00 39 01 00 00 11 R 00 00 01 00 T 13 06 00 00 3C 00 CD 00 00 00 00 21 00 00 E5 R 00 00 01 00 02 07 03 00 T 1C 06 00 00 21 18 00 E5 EB CD 00 00 00 00 DD -R 00 00 01 00 02 0A 14 00 +R 00 00 01 00 02 0A 13 00 T 25 06 00 00 75 F8 DD 74 F9 21 0C 00 39 01 R 00 00 01 00 T 2F 06 00 00 00 00 11 18 00 CD 00 00 00 00 DD diff --git a/src/nos/lib/net_lib/tmpfile.rel b/src/nos/lib/net_lib/tmpfile.rel index d545c61f..fd927691 100644 --- a/src/nos/lib/net_lib/tmpfile.rel +++ b/src/nos/lib/net_lib/tmpfile.rel @@ -154,7 +154,7 @@ T 71 01 00 00 DD 56 FB 3E 00 00 00 00 21 R 00 00 01 00 2B 08 10 00 T 77 01 00 00 00 00 00 00 CD 00 00 00 00 7D A4 R 00 00 01 00 02 04 10 00 02 09 00 00 -T 7E 01 00 00 3C 20 11 21 4D 00 ED 4B +T 7E 01 00 00 3C 20 11 21 4F 00 ED 4B R 00 00 01 00 T 86 01 00 00 00 00 00 00 09 3E 02 AE 23 B6 20 R 00 00 01 00 02 04 07 00 diff --git a/src/nos/lib/net_lib/ttydriv.rel b/src/nos/lib/net_lib/ttydriv.rel index 9fb346c6..4fc7dc52 100644 --- a/src/nos/lib/net_lib/ttydriv.rel +++ b/src/nos/lib/net_lib/ttydriv.rel @@ -10,18 +10,18 @@ S __fprintf Ref00000000 S .__.ABS. Def00000000 S _fputc Ref00000000 S _Current Ref00000000 -S ___03f4_e5d6__5eR_0a Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _calloc Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S ?C_V_SWITCH_L06 Ref00000000 +S ___0487_e5d6__5eR_0a Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 3A2 flags 0 S _ttydriv Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF 21 13 00 DD -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0A 00 T 09 00 00 00 5E 02 DD 56 03 19 DD 75 FE DD 74 R 00 00 01 00 T 14 00 00 00 FF 7E 23 B6 20 26 @@ -31,9 +31,9 @@ R 00 00 01 00 T 1A 00 00 00 DD 6E FE DD 66 FF 23 23 E5 01 R 00 00 01 00 T 24 00 00 00 00 01 11 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0C 00 +R 00 00 01 00 2B 0A 0B 00 T 2C 00 00 00 00 00 00 00 CD 00 00 00 00 E5 DD -R 00 00 01 00 02 04 0C 00 02 09 00 00 +R 00 00 01 00 02 04 0B 00 02 09 00 00 T 33 00 00 00 6E FE DD 66 FF C1 71 23 70 E1 71 R 00 00 01 00 T 3E 00 00 00 23 70 @@ -85,7 +85,7 @@ R 00 00 01 00 T D6 00 00 00 3E 01 A9 B0 C2 9C 03 00 00 DD 5E R 00 00 01 00 00 09 01 00 T DF 00 00 00 04 CD 00 00 00 00 06 00 08 0A 0D -R 00 00 01 00 02 06 0E 00 +R 00 00 01 00 02 06 0D 00 T E8 00 00 00 12 15 7F E8 02 00 00 B5 01 00 00 R 00 00 01 00 00 07 01 00 00 0B 01 00 T EF 00 00 00 7F 02 00 00 12 02 00 00 @@ -189,7 +189,7 @@ R 00 00 01 00 T 27 02 00 00 R 00 00 01 00 T 27 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 +R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 T 2D 02 00 00 E5 21 1B 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 09 00 T 36 02 00 00 5E 23 56 D5 3E 00 00 00 00 21 diff --git a/src/nos/lib/net_lib/usesock.rel b/src/nos/lib/net_lib/usesock.rel index 9229423d..e173019e 100644 --- a/src/nos/lib/net_lib/usesock.rel +++ b/src/nos/lib/net_lib/usesock.rel @@ -22,7 +22,7 @@ T 15 00 00 00 FE DD 74 FF 7D B4 20 12 R 00 00 01 00 T 1D 00 00 00 R 00 00 01 00 -T 1D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 1D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 02 00 T 26 00 00 00 09 23 36 00 21 FF FF 18 12 R 00 00 01 00 diff --git a/src/nos/lib/net_lib/view.rel b/src/nos/lib/net_lib/view.rel index 77d1a1fb..3f62fa85 100644 --- a/src/nos/lib/net_lib/view.rel +++ b/src/nos/lib/net_lib/view.rel @@ -1,5 +1,5 @@ XL4 -H 3 areas 25 global symbols +H 3 areas 27 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?LEAVE_32_L09 Ref00000000 S _fflush Ref00000000 @@ -10,7 +10,9 @@ S _fseek Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Display Ref00000000 S _ftell Ref00000000 +S __fprintf Ref00000000 S _strdupw Ref00000000 +S _perror Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S _kwait Ref00000000 @@ -19,6 +21,7 @@ S _fputc Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S _Current Ref00000000 S _freesession Ref00000000 +S ___0389_ae74_Not_20enough_20memo Ref00000000 S ?SL_CMP_L03 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?S_MUL_L02 Ref00000000 @@ -26,955 +29,972 @@ S _calloc Ref00000000 S _freopen Ref00000000 S ?SS_CMP_L02 Ref00000000 S ?SS_MOD_L02 Ref00000000 -S __printf Ref00000000 S ?SS_DIV_L02 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _fpname Ref00000000 S _kalarm Ref00000000 S _fclose Ref00000000 +S ___0241_8131_Can_27t_20read_20 Ref00000000 S _Cmdline Ref00000000 S _newproc Ref00000000 -S ___020f_0616_Can_27t_20read_20_2 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size AAB flags 0 +A CODE size AE5 flags 0 S _doview Def00000000 -S _view Def000000A2 +S _view Def000000DC A CSTR size 8 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 21 00 00 E5 -R 00 00 01 00 02 05 14 00 +R 00 00 01 00 02 05 17 00 T 09 00 00 00 01 00 00 00 00 DD 6E 04 DD 66 05 R 00 00 01 00 00 05 02 00 T 12 00 00 00 23 23 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 17 00 +R 00 00 01 00 2B 0A 1A 00 T 1A 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 17 00 02 09 00 00 -T 21 00 00 00 75 FE DD 74 FF 7D B4 20 23 +R 00 00 01 00 02 04 1A 00 02 09 00 00 +T 21 00 00 00 75 FE DD 74 FF 7D B4 20 36 R 00 00 01 00 T 2A 00 00 00 R 00 00 01 00 -T 2A 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 -R 00 00 01 00 -T 35 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 22 00 -T 3A 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 22 00 2B 0A 1A 00 +T 2A 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 22 00 02 0B 22 00 +T 30 00 00 00 E5 21 40 00 ED 4B 00 00 00 00 09 +R 00 00 01 00 02 0A 0D 00 +T 39 00 00 00 4E 23 46 C5 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0A 00 T 40 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 1A 00 02 09 00 00 -T 47 00 00 00 F1 21 01 00 18 52 +R 00 00 01 00 02 04 0A 00 02 09 00 00 +T 47 00 00 00 F1 DD 6E 04 DD 66 05 23 23 5E 23 R 00 00 01 00 -T 4D 00 00 00 +T 52 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +T 58 00 00 00 CD 00 00 00 00 21 01 00 18 79 +R 00 00 01 00 02 05 00 00 +T 60 00 00 00 R 00 00 01 00 -T 4D 00 00 00 21 00 00 E5 ED 5B 00 00 00 00 3E -R 00 00 01 00 02 0A 20 00 -T 56 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 -T 5B 00 00 00 00 00 00 00 E5 DD 6E FE DD 66 FF +T 60 00 00 00 21 00 00 E5 ED 5B 00 00 00 00 3E +R 00 00 01 00 02 0A 23 00 +T 69 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +T 6E 00 00 00 00 00 00 00 E5 DD 6E FE DD 66 FF R 00 00 01 00 02 04 00 00 -T 64 00 00 00 E5 21 00 00 E5 0E A2 00 00 00 C5 +T 77 00 00 00 E5 21 00 00 E5 0E DC 00 00 00 C5 R 00 00 01 00 29 0A 01 00 -T 6C 00 00 00 21 A2 00 00 00 E5 01 00 02 11 +T 7F 00 00 00 21 DC 00 00 00 E5 01 00 02 11 R 00 00 01 00 00 05 01 00 -T 74 00 00 00 03 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 2B 09 21 00 -T 79 00 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 21 00 02 09 00 00 -T 80 00 00 00 0C 00 39 F9 EB 2A 00 00 00 00 22 -R 00 00 01 00 02 0A 0B 00 -T 89 00 00 00 00 00 00 00 11 00 00 00 00 3E -R 00 00 01 00 02 04 08 00 02 09 08 00 -T 8F 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0D 00 02 09 0D 00 -T 94 00 00 00 00 00 00 00 21 00 00 22 -R 00 00 01 00 02 04 00 00 -T 9A 00 00 00 00 00 00 00 21 00 00 -R 00 00 01 00 02 04 08 00 -T 9F 00 00 00 +T 87 00 00 00 03 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 00 04 02 00 2B 09 24 00 +T 8C 00 00 00 00 00 00 00 CD 00 00 00 00 EB 21 +R 00 00 01 00 02 04 24 00 02 09 00 00 +T 93 00 00 00 0C 00 39 F9 EB 7D B4 20 23 +R 00 00 01 00 +T 9C 00 00 00 +R 00 00 01 00 +T 9C 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 15 00 02 0B 15 00 +T A2 00 00 00 E5 21 40 00 ED 4B 00 00 00 00 09 +R 00 00 01 00 02 0A 0D 00 +T AB 00 00 00 4E 23 46 C5 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0A 00 +T B2 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 0A 00 02 09 00 00 +T B9 00 00 00 F1 21 01 00 18 1A +R 00 00 01 00 +T BF 00 00 00 +R 00 00 01 00 +T BF 00 00 00 2A 00 00 00 00 22 00 00 00 00 11 +R 00 00 01 00 02 05 0D 00 02 0A 08 00 +T C6 00 00 00 00 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 02 04 08 00 2B 09 0F 00 +T CB 00 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 0F 00 02 09 00 00 +T D1 00 00 00 00 00 22 00 00 00 00 21 00 00 +R 00 00 01 00 02 07 08 00 +T D9 00 00 00 R 00 00 01 00 -T 9F 00 00 00 C3 00 00 00 00 +T D9 00 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 07 00 -T A2 00 00 00 +T DC 00 00 00 R 00 00 01 00 -T A2 00 00 00 CD 00 00 00 00 E8 FF AF DD 77 F0 -R 00 00 01 00 02 05 14 00 -T AB 00 00 00 DD 77 F1 DD 77 F2 DD 77 F3 AF DD +T DC 00 00 00 CD 00 00 00 00 E8 FF AF DD 77 F0 +R 00 00 01 00 02 05 17 00 +T E5 00 00 00 DD 77 F1 DD 77 F2 DD 77 F3 AF DD R 00 00 01 00 -T B6 00 00 00 77 FC DD 77 FD DD 77 FE DD 77 FF +T F0 00 00 00 77 FC DD 77 FD DD 77 FE DD 77 FF R 00 00 01 00 -T C1 00 00 00 DD 36 F8 50 DD 36 F9 00 DD 36 FA +T FB 00 00 00 DD 36 F8 50 DD 36 F9 00 DD 36 FA R 00 00 01 00 -T CC 00 00 00 18 DD 36 FB 00 DD 71 EA DD 70 EB +T 06 01 00 00 18 DD 36 FB 00 DD 71 EA DD 70 EB R 00 00 01 00 -T D7 00 00 00 DD 7E 0A DD B6 0B 28 0E +T 11 01 00 00 DD 7E 0A DD B6 0B 28 0E R 00 00 01 00 -T DF 00 00 00 +T 19 01 00 00 R 00 00 01 00 -T DF 00 00 00 DD 6E 0A DD 66 0B DD 75 EC DD 74 +T 19 01 00 00 DD 6E 0A DD 66 0B DD 75 EC DD 74 R 00 00 01 00 -T EA 00 00 00 ED 18 14 +T 24 01 00 00 ED 18 14 R 00 00 01 00 -T ED 00 00 00 +T 27 01 00 00 R 00 00 01 00 -T ED 00 00 00 DD 5E EA DD 56 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1D 00 -T F5 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 1D 00 02 0A 00 00 -T FC 00 00 00 75 EC DD 74 ED +T 27 01 00 00 DD 5E EA DD 56 EB 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1F 00 +T 2F 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 1F 00 02 0A 00 00 +T 36 01 00 00 75 EC DD 74 ED R 00 00 01 00 -T 01 01 00 00 +T 3B 01 00 00 R 00 00 01 00 -T 01 01 00 00 21 01 00 E5 01 07 00 DD 5E EC DD +T 3B 01 00 00 21 01 00 E5 01 07 00 DD 5E EC DD R 00 00 01 00 -T 0C 01 00 00 56 ED 3E 00 00 00 00 21 +T 46 01 00 00 56 ED 3E 00 00 00 00 21 R 00 00 01 00 2B 07 05 00 -T 11 01 00 00 00 00 00 00 CD 00 00 00 00 F1 DD +T 4B 01 00 00 00 00 00 00 CD 00 00 00 00 F1 DD R 00 00 01 00 02 04 05 00 02 09 00 00 -T 18 01 00 00 75 E8 DD 74 E9 7D B4 20 03 +T 52 01 00 00 75 E8 DD 74 E9 7D B4 20 03 R 00 00 01 00 -T 21 01 00 00 +T 5B 01 00 00 R 00 00 01 00 -T 21 01 00 00 C3 05 06 00 00 +T 5B 01 00 00 C3 3F 06 00 00 R 00 00 01 00 00 05 01 00 -T 24 01 00 00 +T 5E 01 00 00 R 00 00 01 00 -T 24 01 00 00 DD 7E 0A DD B6 0B 28 0E +T 5E 01 00 00 DD 7E 0A DD B6 0B 28 0E R 00 00 01 00 -T 2C 01 00 00 +T 66 01 00 00 R 00 00 01 00 -T 2C 01 00 00 DD 5E EC DD 56 ED 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 -T 34 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 0E 00 02 0A 00 00 -T 3A 01 00 00 +T 66 01 00 00 DD 5E EC DD 56 ED 3E 00 00 00 00 +R 00 00 01 00 2B 0B 10 00 +T 6E 01 00 00 21 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 10 00 02 0A 00 00 +T 74 01 00 00 R 00 00 01 00 -T 3A 01 00 00 DD 7E 02 DD B6 03 28 17 +T 74 01 00 00 DD 7E 02 DD B6 03 28 17 R 00 00 01 00 -T 42 01 00 00 +T 7C 01 00 00 R 00 00 01 00 -T 42 01 00 00 DD 6E 02 DD 66 03 7C 07 9F 4F 41 +T 7C 01 00 00 DD 6E 02 DD 66 03 7C 07 9F 4F 41 R 00 00 01 00 -T 4D 01 00 00 DD 75 FC DD 74 FD DD 71 FE DD 70 +T 87 01 00 00 DD 75 FC DD 74 FD DD 71 FE DD 70 R 00 00 01 00 -T 58 01 00 00 FF +T 92 01 00 00 FF R 00 00 01 00 -T 59 01 00 00 +T 93 01 00 00 R 00 00 01 00 -T 59 01 00 00 21 1D 00 DD 4E E8 DD 46 E9 09 36 +T 93 01 00 00 21 1D 00 DD 4E E8 DD 46 E9 09 36 R 00 00 01 00 -T 64 01 00 00 D7 09 00 00 23 36 D7 09 00 00 23 +T 9E 01 00 00 11 0A 00 00 23 36 11 0A 00 00 23 R 00 00 01 00 09 04 01 00 89 0A 01 00 -T 69 01 00 00 36 D7 09 00 00 21 17 00 09 CB 8E +T A3 01 00 00 36 11 0A 00 00 21 17 00 09 CB 8E R 00 00 01 00 29 05 01 00 -T 71 01 00 00 21 17 00 09 CB 86 +T AB 01 00 00 21 17 00 09 CB 86 R 00 00 01 00 -T 77 01 00 00 +T B1 01 00 00 R 00 00 01 00 -T 77 01 00 00 21 00 00 E5 DD 6E F2 DD 66 F3 E5 +T B1 01 00 00 21 00 00 E5 DD 6E F2 DD 66 F3 E5 R 00 00 01 00 -T 82 01 00 00 DD 6E F0 DD 66 F1 E5 DD 5E EA DD +T BC 01 00 00 DD 6E F0 DD 66 F1 E5 DD 5E EA DD R 00 00 01 00 -T 8D 01 00 00 56 EB 3E 00 00 00 00 21 +T C7 01 00 00 56 EB 3E 00 00 00 00 21 R 00 00 01 00 2B 07 06 00 -T 92 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +T CC 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 06 00 02 09 00 00 -T 99 01 00 00 F1 21 40 00 ED 4B 00 00 00 00 09 -R 00 00 01 00 02 0A 0B 00 -T A2 01 00 00 4E 23 46 11 0C 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0F 00 -T AA 01 00 00 21 00 00 00 00 CD 00 00 00 00 AF -R 00 00 01 00 02 05 0F 00 02 0A 00 00 -T B1 01 00 00 DD 77 F4 DD 77 F5 AF DD 77 F6 DD +T D3 01 00 00 F1 21 40 00 ED 4B 00 00 00 00 09 +R 00 00 01 00 02 0A 0D 00 +T DC 01 00 00 4E 23 46 11 0C 00 3E 00 00 00 00 +R 00 00 01 00 2B 0B 11 00 +T E4 01 00 00 21 00 00 00 00 CD 00 00 00 00 AF +R 00 00 01 00 02 05 11 00 02 0A 00 00 +T EB 01 00 00 DD 77 F4 DD 77 F5 AF DD 77 F6 DD R 00 00 01 00 -T BC 01 00 00 77 F7 +T F6 01 00 00 77 F7 R 00 00 01 00 -T BE 01 00 00 +T F8 01 00 00 R 00 00 01 00 -T BE 01 00 00 DD 5E EA DD 56 EB 3E 00 00 00 00 +T F8 01 00 00 DD 5E EA DD 56 EB 3E 00 00 00 00 R 00 00 01 00 2B 0B 04 00 -T C6 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD +T 00 02 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 04 00 02 0A 00 00 -T CD 01 00 00 75 EE DD 74 EF 7D A4 3C CA +T 07 02 00 00 75 EE DD 74 EF 7D A4 3C CA R 00 00 01 00 -T D6 01 00 00 85 02 00 00 +T 10 02 00 00 BF 02 00 00 R 00 00 01 00 00 04 01 00 -T D8 01 00 00 +T 12 02 00 00 R 00 00 01 00 -T D8 01 00 00 DD 4E EE DD 46 EF 3E 0A A9 B0 20 +T 12 02 00 00 DD 4E EE DD 46 EF 3E 0A A9 B0 20 R 00 00 01 00 -T E3 01 00 00 11 +T 1D 02 00 00 11 R 00 00 01 00 -T E4 01 00 00 +T 1E 02 00 00 R 00 00 01 00 -T E4 01 00 00 DD 34 F4 20 03 DD 34 F5 +T 1E 02 00 00 DD 34 F4 20 03 DD 34 F5 R 00 00 01 00 -T EC 01 00 00 +T 26 02 00 00 R 00 00 01 00 -T EC 01 00 00 AF DD 77 F6 DD 77 F7 18 41 +T 26 02 00 00 AF DD 77 F6 DD 77 F7 18 41 R 00 00 01 00 -T F5 01 00 00 +T 2F 02 00 00 R 00 00 01 00 -T F5 01 00 00 3E 09 A9 B0 20 31 21 F8 FF DD 4E +T 2F 02 00 00 3E 09 A9 B0 20 31 21 F8 FF DD 4E R 00 00 01 00 -T 00 02 00 00 F8 DD 46 F9 09 4D 44 DD 6E F6 DD +T 3A 02 00 00 F8 DD 46 F9 09 4D 44 DD 6E F6 DD R 00 00 01 00 -T 0B 02 00 00 66 F7 CD 00 00 00 00 30 18 -R 00 00 01 00 02 07 18 00 -T 12 02 00 00 +T 45 02 00 00 66 F7 CD 00 00 00 00 30 18 +R 00 00 01 00 02 07 1B 00 +T 4C 02 00 00 R 00 00 01 00 -T 12 02 00 00 21 08 00 DD 4E F6 DD 46 F7 09 7D +T 4C 02 00 00 21 08 00 DD 4E F6 DD 46 F7 09 7D R 00 00 01 00 -T 1D 02 00 00 E6 F8 5F 7C E6 FF 57 DD 73 F6 DD +T 57 02 00 00 E6 F8 5F 7C E6 FF 57 DD 73 F6 DD R 00 00 01 00 -T 28 02 00 00 72 F7 +T 62 02 00 00 72 F7 R 00 00 01 00 -T 2A 02 00 00 +T 64 02 00 00 R 00 00 01 00 -T 2A 02 00 00 18 0A +T 64 02 00 00 18 0A R 00 00 01 00 -T 2C 02 00 00 +T 66 02 00 00 R 00 00 01 00 -T 2C 02 00 00 DD 34 F6 20 03 DD 34 F7 +T 66 02 00 00 DD 34 F6 20 03 DD 34 F7 R 00 00 01 00 -T 34 02 00 00 +T 6E 02 00 00 R 00 00 01 00 -T 34 02 00 00 18 00 +T 6E 02 00 00 18 00 R 00 00 01 00 -T 36 02 00 00 +T 70 02 00 00 R 00 00 01 00 -T 36 02 00 00 DD 4E F8 DD 46 F9 DD 6E F6 DD 66 +T 70 02 00 00 DD 4E F8 DD 46 F9 DD 6E F6 DD 66 R 00 00 01 00 -T 41 02 00 00 F7 CD 00 00 00 00 38 0F -R 00 00 01 00 02 06 18 00 -T 47 02 00 00 +T 7B 02 00 00 F7 CD 00 00 00 00 38 0F +R 00 00 01 00 02 06 1B 00 +T 81 02 00 00 R 00 00 01 00 -T 47 02 00 00 AF DD 77 F6 DD 77 F7 DD 34 F4 20 +T 81 02 00 00 AF DD 77 F6 DD 77 F7 DD 34 F4 20 R 00 00 01 00 -T 52 02 00 00 03 DD 34 F5 +T 8C 02 00 00 03 DD 34 F5 R 00 00 01 00 -T 56 02 00 00 +T 90 02 00 00 R 00 00 01 00 -T 56 02 00 00 +T 90 02 00 00 R 00 00 01 00 -T 56 02 00 00 DD 4E FA DD 46 FB DD 6E F4 DD 66 +T 90 02 00 00 DD 4E FA DD 46 FB DD 6E F4 DD 66 R 00 00 01 00 -T 61 02 00 00 F5 CD 00 00 00 00 38 02 -R 00 00 01 00 02 06 18 00 -T 67 02 00 00 +T 9B 02 00 00 F5 CD 00 00 00 00 38 02 +R 00 00 01 00 02 06 1B 00 +T A1 02 00 00 R 00 00 01 00 -T 67 02 00 00 18 1C +T A1 02 00 00 18 1C R 00 00 01 00 -T 69 02 00 00 +T A3 02 00 00 R 00 00 01 00 -T 69 02 00 00 21 40 00 ED 4B 00 00 00 00 09 4E -R 00 00 01 00 02 09 0B 00 -T 72 02 00 00 23 46 DD 5E EE DD 56 EF 3E +T A3 02 00 00 21 40 00 ED 4B 00 00 00 00 09 4E +R 00 00 01 00 02 09 0D 00 +T AC 02 00 00 23 46 DD 5E EE DD 56 EF 3E R 00 00 01 00 -T 7B 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 -T 80 02 00 00 00 00 00 00 C3 BE 01 00 00 +T B5 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 11 00 02 09 11 00 +T BA 02 00 00 00 00 00 00 C3 F8 01 00 00 R 00 00 01 00 02 04 00 00 00 09 01 00 -T 85 02 00 00 +T BF 02 00 00 R 00 00 01 00 -T 85 02 00 00 21 40 00 ED 4B 00 00 00 00 09 5E -R 00 00 01 00 02 09 0B 00 -T 8E 02 00 00 23 56 3E 00 00 00 00 21 +T BF 02 00 00 21 40 00 ED 4B 00 00 00 00 09 5E +R 00 00 01 00 02 09 0D 00 +T C8 02 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 02 00 -T 93 02 00 00 00 00 00 00 CD 00 00 00 00 +T CD 02 00 00 00 00 00 00 CD 00 00 00 00 R 00 00 01 00 02 04 02 00 02 09 00 00 -T 98 02 00 00 +T D2 02 00 00 R 00 00 01 00 -T 98 02 00 00 21 10 00 DD 4E EA DD 46 EB 09 7E +T D2 02 00 00 21 10 00 DD 4E EA DD 46 EB 09 7E R 00 00 01 00 -T A3 02 00 00 E6 02 47 23 7E E6 00 B0 28 22 DD +T DD 02 00 00 E6 02 47 23 7E E6 00 B0 28 22 DD R 00 00 01 00 -T AE 02 00 00 7E FC DD B6 FD DD B6 FE DD B6 FF +T E8 02 00 00 7E FC DD B6 FD DD B6 FE DD B6 FF R 00 00 01 00 -T B9 02 00 00 28 14 +T F3 02 00 00 28 14 R 00 00 01 00 -T BB 02 00 00 +T F5 02 00 00 R 00 00 01 00 -T BB 02 00 00 +T F5 02 00 00 R 00 00 01 00 -T BB 02 00 00 +T F5 02 00 00 R 00 00 01 00 -T BB 02 00 00 DD 4E FE DD 46 FF DD 5E FC DD 56 +T F5 02 00 00 DD 4E FE DD 46 FF DD 5E FC DD 56 R 00 00 01 00 -T C6 02 00 00 FD 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1E 00 02 0B 1E 00 -T CC 02 00 00 CD 00 00 00 00 +T 00 03 00 00 FD 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 20 00 02 0B 20 00 +T 06 03 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 00 00 -T CF 02 00 00 +T 09 03 00 00 R 00 00 01 00 -T CF 02 00 00 21 3E 00 ED 4B 00 00 00 00 09 5E -R 00 00 01 00 02 09 0B 00 -T D8 02 00 00 23 56 3E 00 00 00 00 21 +T 09 03 00 00 21 3E 00 ED 4B 00 00 00 00 09 5E +R 00 00 01 00 02 09 0D 00 +T 12 03 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 04 00 -T DD 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +T 17 03 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 04 00 02 09 00 00 -T E4 02 00 00 EE DD 74 EF 01 00 00 11 00 00 3E +T 1E 03 00 00 EE DD 74 EF 01 00 00 11 00 00 3E R 00 00 01 00 -T EF 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1E 00 02 09 1E 00 -T F4 02 00 00 00 00 00 00 DD 7E EE DD A6 EF 3C +T 29 03 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 20 00 02 09 20 00 +T 2E 03 00 00 00 00 00 00 DD 7E EE DD A6 EF 3C R 00 00 01 00 02 04 00 00 -T FD 02 00 00 20 0F 21 4D 00 ED 4B 00 00 00 00 -R 00 00 01 00 02 0B 0B 00 -T 06 03 00 00 09 3E 6A AE 23 B6 28 02 +T 37 03 00 00 20 0F 21 4F 00 ED 4B 00 00 00 00 +R 00 00 01 00 02 0B 0D 00 +T 40 03 00 00 09 3E 6A AE 23 B6 28 02 R 00 00 01 00 -T 0E 03 00 00 +T 48 03 00 00 R 00 00 01 00 -T 0E 03 00 00 +T 48 03 00 00 R 00 00 01 00 -T 0E 03 00 00 +T 48 03 00 00 R 00 00 01 00 -T 0E 03 00 00 18 3A +T 48 03 00 00 18 3A R 00 00 01 00 -T 10 03 00 00 +T 4A 03 00 00 R 00 00 01 00 -T 10 03 00 00 21 10 00 DD 4E EA DD 46 EB 09 CB +T 4A 03 00 00 21 10 00 DD 4E EA DD 46 EB 09 CB R 00 00 01 00 -T 1B 03 00 00 86 21 10 00 09 CB 8E 59 50 3E +T 55 03 00 00 86 21 10 00 09 CB 8E 59 50 3E R 00 00 01 00 -T 25 03 00 00 00 00 00 00 21 00 00 00 00 CD +T 5F 03 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 2A 03 00 00 00 00 00 00 DD 36 EE 20 DD 36 EF +T 64 03 00 00 00 00 00 00 DD 36 EE 20 DD 36 EF R 00 00 01 00 02 04 00 00 -T 33 03 00 00 00 21 10 00 DD 4E EA DD 46 EB 09 +T 6D 03 00 00 00 21 10 00 DD 4E EA DD 46 EB 09 R 00 00 01 00 -T 3E 03 00 00 7E E6 02 47 23 7E E6 00 B0 C2 +T 78 03 00 00 7E E6 02 47 23 7E E6 00 B0 C2 R 00 00 01 00 -T 48 03 00 00 98 02 00 00 +T 82 03 00 00 D2 02 00 00 R 00 00 01 00 00 04 01 00 -T 4A 03 00 00 +T 84 03 00 00 R 00 00 01 00 -T 4A 03 00 00 DD 5E EE DD 56 EF CD 00 00 00 00 +T 84 03 00 00 DD 5E EE DD 56 EF CD 00 00 00 00 R 00 00 01 00 02 0B 03 00 -T 53 03 00 00 15 00 03 00 04 00 0E 00 10 00 +T 8D 03 00 00 15 00 03 00 04 00 0E 00 10 00 R 00 00 01 00 -T 5D 03 00 00 15 00 16 00 1B 00 3C 00 3E 00 +T 97 03 00 00 15 00 16 00 1B 00 3C 00 3E 00 R 00 00 01 00 -T 67 03 00 00 44 00 48 00 51 00 55 00 64 00 +T A1 03 00 00 44 00 48 00 51 00 55 00 64 00 R 00 00 01 00 -T 71 03 00 00 65 00 68 00 6A 00 6B 00 71 00 +T AB 03 00 00 65 00 68 00 6A 00 6B 00 71 00 R 00 00 01 00 -T 7B 03 00 00 75 00 76 00 BB 05 00 00 +T B5 03 00 00 75 00 76 00 F5 05 00 00 R 00 00 01 00 00 08 01 00 -T 81 03 00 00 7B 05 00 00 47 05 00 00 +T BB 03 00 00 B5 05 00 00 81 05 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 85 03 00 00 B9 05 00 00 47 05 00 00 +T BF 03 00 00 F3 05 00 00 81 05 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 89 03 00 00 B1 04 00 00 AB 03 00 00 +T C3 03 00 00 EB 04 00 00 E5 03 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 8D 03 00 00 BB 03 00 00 B1 04 00 00 +T C7 03 00 00 F5 03 00 00 EB 04 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 91 03 00 00 7B 05 00 00 B9 05 00 00 +T CB 03 00 00 B5 05 00 00 F3 05 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 95 03 00 00 AB 03 00 00 FB 04 00 00 +T CF 03 00 00 E5 03 00 00 35 05 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 99 03 00 00 BB 03 00 00 AB 03 00 00 +T D3 03 00 00 F5 03 00 00 E5 03 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 9D 03 00 00 B9 05 00 00 FB 04 00 00 +T D7 03 00 00 F3 05 00 00 35 05 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T A1 03 00 00 6C 04 00 00 47 05 00 00 +T DB 03 00 00 A6 04 00 00 81 05 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T A5 03 00 00 B1 04 00 00 19 04 00 00 +T DF 03 00 00 EB 04 00 00 53 04 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T A9 03 00 00 B9 05 00 00 +T E3 03 00 00 F3 05 00 00 R 00 00 01 00 00 04 01 00 -T AB 03 00 00 +T E5 03 00 00 R 00 00 01 00 -T AB 03 00 00 AF DD 77 F0 DD 77 F1 DD 77 F2 DD +T E5 03 00 00 AF DD 77 F0 DD 77 F1 DD 77 F2 DD R 00 00 01 00 -T B6 03 00 00 77 F3 C3 BD 05 00 00 +T F0 03 00 00 77 F3 C3 F7 05 00 00 R 00 00 01 00 00 07 01 00 -T BB 03 00 00 +T F5 03 00 00 R 00 00 01 00 -T BB 03 00 00 21 02 00 E5 21 00 00 E5 21 00 00 +T F5 03 00 00 21 02 00 E5 21 00 00 E5 21 00 00 R 00 00 01 00 -T C6 03 00 00 E5 DD 5E EA DD 56 EB 3E +T 00 04 00 00 E5 DD 5E EA DD 56 EB 3E R 00 00 01 00 -T CE 03 00 00 00 00 00 00 21 00 00 00 00 CD +T 08 04 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 06 00 02 09 06 00 -T D3 03 00 00 00 00 00 00 F1 F1 F1 DD 6E F8 DD +T 0D 04 00 00 00 00 00 00 F1 F1 F1 DD 6E F8 DD R 00 00 01 00 02 04 00 00 -T DC 03 00 00 66 F9 E5 DD 6E FA DD 66 FB AF 95 +T 16 04 00 00 66 F9 E5 DD 6E FA DD 66 FB AF 95 R 00 00 01 00 -T E7 03 00 00 6F 3E 00 9C 67 E5 DD 5E EA DD 56 +T 21 04 00 00 6F 3E 00 9C 67 E5 DD 5E EA DD 56 R 00 00 01 00 -T F2 03 00 00 EB 3E 00 00 00 00 21 00 00 00 00 +T 2C 04 00 00 EB 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T F8 03 00 00 CD 00 00 00 00 C5 E5 DD 5E EA DD +T 32 04 00 00 CD 00 00 00 00 C5 E5 DD 5E EA DD R 00 00 01 00 02 05 00 00 -T 01 04 00 00 56 EB CD 08 06 00 00 F1 F1 F1 F1 +T 3B 04 00 00 56 EB CD 42 06 00 00 F1 F1 F1 F1 R 00 00 01 00 00 07 01 00 -T 0A 04 00 00 DD 75 F0 DD 74 F1 DD 71 F2 DD 70 +T 44 04 00 00 DD 75 F0 DD 74 F1 DD 71 F2 DD 70 R 00 00 01 00 -T 15 04 00 00 F3 C3 BD 05 00 00 +T 4F 04 00 00 F3 C3 F7 05 00 00 R 00 00 01 00 00 06 01 00 -T 19 04 00 00 +T 53 04 00 00 R 00 00 01 00 -T 19 04 00 00 21 10 00 DD 4E EA DD 46 EB 09 7E +T 53 04 00 00 21 10 00 DD 4E EA DD 46 EB 09 7E R 00 00 01 00 -T 24 04 00 00 E6 02 47 23 7E E6 00 B0 20 3B +T 5E 04 00 00 E6 02 47 23 7E E6 00 B0 20 3B R 00 00 01 00 -T 2E 04 00 00 +T 68 04 00 00 R 00 00 01 00 -T 2E 04 00 00 DD 6E F8 DD 66 F9 E5 01 02 00 DD +T 68 04 00 00 DD 6E F8 DD 66 F9 E5 01 02 00 DD R 00 00 01 00 -T 39 04 00 00 5E FA DD 56 FB CD 00 00 00 00 D5 -R 00 00 01 00 02 0A 1B 00 -T 42 04 00 00 DD 6E F2 DD 66 F3 E5 DD 6E F0 DD +T 73 04 00 00 5E FA DD 56 FB CD 00 00 00 00 D5 +R 00 00 01 00 02 0A 1D 00 +T 7C 04 00 00 DD 6E F2 DD 66 F3 E5 DD 6E F0 DD R 00 00 01 00 -T 4D 04 00 00 66 F1 E5 DD 5E EA DD 56 EB CD +T 87 04 00 00 66 F1 E5 DD 5E EA DD 56 EB CD R 00 00 01 00 -T 57 04 00 00 08 06 00 00 F1 F1 F1 F1 DD 75 F0 +T 91 04 00 00 42 06 00 00 F1 F1 F1 F1 DD 75 F0 R 00 00 01 00 00 04 01 00 -T 60 04 00 00 DD 74 F1 DD 71 F2 DD 70 F3 +T 9A 04 00 00 DD 74 F1 DD 71 F2 DD 70 F3 R 00 00 01 00 -T 69 04 00 00 +T A3 04 00 00 R 00 00 01 00 -T 69 04 00 00 C3 BD 05 00 00 +T A3 04 00 00 C3 F7 05 00 00 R 00 00 01 00 00 05 01 00 -T 6C 04 00 00 +T A6 04 00 00 R 00 00 01 00 -T 6C 04 00 00 DD 6E F8 DD 66 F9 E5 DD 5E FA DD +T A6 04 00 00 DD 6E F8 DD 66 F9 E5 DD 5E FA DD R 00 00 01 00 -T 77 04 00 00 56 FB AF 93 5F 3E 00 9A 57 01 +T B1 04 00 00 56 FB AF 93 5F 3E 00 9A 57 01 R 00 00 01 00 -T 81 04 00 00 02 00 CD 00 00 00 00 D5 DD 6E F2 -R 00 00 01 00 02 07 1B 00 -T 8A 04 00 00 DD 66 F3 E5 DD 6E F0 DD 66 F1 E5 +T BB 04 00 00 02 00 CD 00 00 00 00 D5 DD 6E F2 +R 00 00 01 00 02 07 1D 00 +T C4 04 00 00 DD 66 F3 E5 DD 6E F0 DD 66 F1 E5 R 00 00 01 00 -T 95 04 00 00 DD 5E EA DD 56 EB CD 08 06 00 00 +T CF 04 00 00 DD 5E EA DD 56 EB CD 42 06 00 00 R 00 00 01 00 00 0B 01 00 -T 9E 04 00 00 F1 F1 F1 F1 DD 75 F0 DD 74 F1 DD +T D8 04 00 00 F1 F1 F1 F1 DD 75 F0 DD 74 F1 DD R 00 00 01 00 -T A9 04 00 00 71 F2 DD 70 F3 C3 BD 05 00 00 +T E3 04 00 00 71 F2 DD 70 F3 C3 F7 05 00 00 R 00 00 01 00 00 0A 01 00 -T B1 04 00 00 +T EB 04 00 00 R 00 00 01 00 -T B1 04 00 00 21 10 00 DD 4E EA DD 46 EB 09 7E +T EB 04 00 00 21 10 00 DD 4E EA DD 46 EB 09 7E R 00 00 01 00 -T BC 04 00 00 E6 02 47 23 7E E6 00 B0 20 32 +T F6 04 00 00 E6 02 47 23 7E E6 00 B0 20 32 R 00 00 01 00 -T C6 04 00 00 +T 00 05 00 00 R 00 00 01 00 -T C6 04 00 00 DD 6E F8 DD 66 F9 E5 21 01 00 E5 +T 00 05 00 00 DD 6E F8 DD 66 F9 E5 21 01 00 E5 R 00 00 01 00 -T D1 04 00 00 DD 6E F2 DD 66 F3 E5 DD 6E F0 DD +T 0B 05 00 00 DD 6E F2 DD 66 F3 E5 DD 6E F0 DD R 00 00 01 00 -T DC 04 00 00 66 F1 E5 DD 5E EA DD 56 EB CD +T 16 05 00 00 66 F1 E5 DD 5E EA DD 56 EB CD R 00 00 01 00 -T E6 04 00 00 08 06 00 00 F1 F1 F1 F1 DD 75 F0 +T 20 05 00 00 42 06 00 00 F1 F1 F1 F1 DD 75 F0 R 00 00 01 00 00 04 01 00 -T EF 04 00 00 DD 74 F1 DD 71 F2 DD 70 F3 +T 29 05 00 00 DD 74 F1 DD 71 F2 DD 70 F3 R 00 00 01 00 -T F8 04 00 00 +T 32 05 00 00 R 00 00 01 00 -T F8 04 00 00 C3 BD 05 00 00 +T 32 05 00 00 C3 F7 05 00 00 R 00 00 01 00 00 05 01 00 -T FB 04 00 00 +T 35 05 00 00 R 00 00 01 00 -T FB 04 00 00 21 10 00 DD 4E EA DD 46 EB 09 7E +T 35 05 00 00 21 10 00 DD 4E EA DD 46 EB 09 7E R 00 00 01 00 -T 06 05 00 00 E6 02 47 23 7E E6 00 B0 20 35 +T 40 05 00 00 E6 02 47 23 7E E6 00 B0 20 35 R 00 00 01 00 -T 10 05 00 00 +T 4A 05 00 00 R 00 00 01 00 -T 10 05 00 00 DD 6E F8 DD 66 F9 E5 DD 6E FA DD +T 4A 05 00 00 DD 6E F8 DD 66 F9 E5 DD 6E FA DD R 00 00 01 00 -T 1B 05 00 00 66 FB E5 DD 6E F2 DD 66 F3 E5 DD +T 55 05 00 00 66 FB E5 DD 6E F2 DD 66 F3 E5 DD R 00 00 01 00 -T 26 05 00 00 6E F0 DD 66 F1 E5 DD 5E EA DD 56 +T 60 05 00 00 6E F0 DD 66 F1 E5 DD 5E EA DD 56 R 00 00 01 00 -T 31 05 00 00 EB CD 08 06 00 00 F1 F1 F1 F1 DD +T 6B 05 00 00 EB CD 42 06 00 00 F1 F1 F1 F1 DD R 00 00 01 00 00 06 01 00 -T 3A 05 00 00 75 F0 DD 74 F1 DD 71 F2 DD 70 F3 +T 74 05 00 00 75 F0 DD 74 F1 DD 71 F2 DD 70 F3 R 00 00 01 00 -T 45 05 00 00 +T 7F 05 00 00 R 00 00 01 00 -T 45 05 00 00 18 76 +T 7F 05 00 00 18 76 R 00 00 01 00 -T 47 05 00 00 +T 81 05 00 00 R 00 00 01 00 -T 47 05 00 00 DD 6E F8 DD 66 F9 E5 21 FF FF E5 +T 81 05 00 00 DD 6E F8 DD 66 F9 E5 21 FF FF E5 R 00 00 01 00 -T 52 05 00 00 DD 6E F2 DD 66 F3 E5 DD 6E F0 DD +T 8C 05 00 00 DD 6E F2 DD 66 F3 E5 DD 6E F0 DD R 00 00 01 00 -T 5D 05 00 00 66 F1 E5 DD 5E EA DD 56 EB CD +T 97 05 00 00 66 F1 E5 DD 5E EA DD 56 EB CD R 00 00 01 00 -T 67 05 00 00 08 06 00 00 F1 F1 F1 F1 DD 75 F0 +T A1 05 00 00 42 06 00 00 F1 F1 F1 F1 DD 75 F0 R 00 00 01 00 00 04 01 00 -T 70 05 00 00 DD 74 F1 DD 71 F2 DD 70 F3 18 42 +T AA 05 00 00 DD 74 F1 DD 71 F2 DD 70 F3 18 42 R 00 00 01 00 -T 7B 05 00 00 +T B5 05 00 00 R 00 00 01 00 -T 7B 05 00 00 DD 6E F8 DD 66 F9 E5 DD 6E FA DD +T B5 05 00 00 DD 6E F8 DD 66 F9 E5 DD 6E FA DD R 00 00 01 00 -T 86 05 00 00 66 FB AF 95 6F 3E 00 9C 67 E5 DD +T C0 05 00 00 66 FB AF 95 6F 3E 00 9C 67 E5 DD R 00 00 01 00 -T 91 05 00 00 6E F2 DD 66 F3 E5 DD 6E F0 DD 66 +T CB 05 00 00 6E F2 DD 66 F3 E5 DD 6E F0 DD 66 R 00 00 01 00 -T 9C 05 00 00 F1 E5 DD 5E EA DD 56 EB CD +T D6 05 00 00 F1 E5 DD 5E EA DD 56 EB CD R 00 00 01 00 -T A5 05 00 00 08 06 00 00 F1 F1 F1 F1 DD 75 F0 +T DF 05 00 00 42 06 00 00 F1 F1 F1 F1 DD 75 F0 R 00 00 01 00 00 04 01 00 -T AE 05 00 00 DD 74 F1 DD 71 F2 DD 70 F3 18 04 +T E8 05 00 00 DD 74 F1 DD 71 F2 DD 70 F3 18 04 R 00 00 01 00 -T B9 05 00 00 +T F3 05 00 00 R 00 00 01 00 -T B9 05 00 00 18 05 +T F3 05 00 00 18 05 R 00 00 01 00 -T BB 05 00 00 +T F5 05 00 00 R 00 00 01 00 -T BB 05 00 00 18 00 +T F5 05 00 00 18 00 R 00 00 01 00 -T BD 05 00 00 +T F7 05 00 00 R 00 00 01 00 -T BD 05 00 00 C3 77 01 00 00 +T F7 05 00 00 C3 B1 01 00 00 R 00 00 01 00 00 05 01 00 -T C0 05 00 00 -R 00 00 01 00 -T C0 05 00 00 DD 5E EA DD 56 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1F 00 -T C8 05 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 1F 00 02 0A 00 00 -T CF 05 00 00 40 00 ED 4B 00 00 00 00 09 4E 23 -R 00 00 01 00 02 08 0B 00 -T D8 05 00 00 46 11 0A 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0F 00 -T DF 05 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0F 00 02 09 00 00 -T E5 05 00 00 40 00 ED 4B 00 00 00 00 09 5E 23 -R 00 00 01 00 02 08 0B 00 -T EE 05 00 00 56 3E 00 00 00 00 21 00 00 00 00 +T FA 05 00 00 +R 00 00 01 00 +T FA 05 00 00 DD 5E EA DD 56 EB 3E 00 00 00 00 +R 00 00 01 00 2B 0B 21 00 +T 02 06 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 21 00 02 0A 00 00 +T 09 06 00 00 40 00 ED 4B 00 00 00 00 09 4E 23 +R 00 00 01 00 02 08 0D 00 +T 12 06 00 00 46 11 0A 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 11 00 +T 19 06 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 11 00 02 09 00 00 +T 1F 06 00 00 40 00 ED 4B 00 00 00 00 09 5E 23 +R 00 00 01 00 02 08 0D 00 +T 28 06 00 00 56 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 02 00 02 0B 02 00 -T F4 05 00 00 CD 00 00 00 00 DD 5E E8 DD 56 E9 +T 2E 06 00 00 CD 00 00 00 00 DD 5E E8 DD 56 E9 R 00 00 01 00 02 05 00 00 -T FD 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 12 00 02 0A 12 00 -T 03 06 00 00 00 00 00 00 +T 37 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 14 00 02 0A 14 00 +T 3D 06 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 05 06 00 00 +T 3F 06 00 00 R 00 00 01 00 -T 05 06 00 00 C3 00 00 00 00 +T 3F 06 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 07 00 -T 08 06 00 00 +T 42 06 00 00 R 00 00 01 00 -T 08 06 00 00 CD 00 00 00 00 F4 FF AF DD 77 FA -R 00 00 01 00 02 05 14 00 -T 11 06 00 00 DD 77 FB AF DD 77 FE DD 77 FF DD +T 42 06 00 00 CD 00 00 00 00 F4 FF AF DD 77 FA +R 00 00 01 00 02 05 17 00 +T 4B 06 00 00 DD 77 FB AF DD 77 FE DD 77 FF DD R 00 00 01 00 -T 1C 06 00 00 7E 0C DD B6 0D 20 0F +T 56 06 00 00 7E 0C DD B6 0D 20 0F R 00 00 01 00 -T 23 06 00 00 +T 5D 06 00 00 R 00 00 01 00 -T 23 06 00 00 DD 4E 0A DD 46 0B DD 6E 08 DD 66 +T 5D 06 00 00 DD 4E 0A DD 46 0B DD 6E 08 DD 66 R 00 00 01 00 -T 2E 06 00 00 09 C3 D4 09 00 00 +T 68 06 00 00 09 C3 0E 0A 00 00 R 00 00 01 00 00 06 01 00 -T 32 06 00 00 +T 6C 06 00 00 R 00 00 01 00 -T 32 06 00 00 DD 4E 0C DD 46 0D 21 00 00 CD +T 6C 06 00 00 DD 4E 0C DD 46 0D 21 00 00 CD R 00 00 01 00 -T 3C 06 00 00 00 00 00 00 D2 2A 07 00 00 -R 00 00 01 00 02 04 18 00 00 09 01 00 -T 41 06 00 00 +T 76 06 00 00 00 00 00 00 D2 64 07 00 00 +R 00 00 01 00 02 04 1B 00 00 09 01 00 +T 7B 06 00 00 R 00 00 01 00 -T 41 06 00 00 21 00 00 E5 DD 6E 0A DD 66 0B E5 +T 7B 06 00 00 21 00 00 E5 DD 6E 0A DD 66 0B E5 R 00 00 01 00 -T 4C 06 00 00 DD 6E 08 DD 66 09 E5 DD 5E 02 DD +T 86 06 00 00 DD 6E 08 DD 66 09 E5 DD 5E 02 DD R 00 00 01 00 -T 57 06 00 00 56 03 3E 00 00 00 00 21 +T 91 06 00 00 56 03 3E 00 00 00 00 21 R 00 00 01 00 2B 07 06 00 -T 5C 06 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +T 96 06 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 06 00 02 09 00 00 -T 63 06 00 00 F1 AF DD 77 FA DD 77 FB +T 9D 06 00 00 F1 AF DD 77 FA DD 77 FB R 00 00 01 00 -T 6B 06 00 00 +T A5 06 00 00 R 00 00 01 00 -T 6B 06 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +T A5 06 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 R 00 00 01 00 2B 0B 04 00 -T 73 06 00 00 21 00 00 00 00 CD 00 00 00 00 DD +T AD 06 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 04 00 02 0A 00 00 -T 7A 06 00 00 75 FC DD 74 FD 7D A4 3C CA +T B4 06 00 00 75 FC DD 74 FD 7D A4 3C CA R 00 00 01 00 -T 83 06 00 00 19 07 00 00 +T BD 06 00 00 53 07 00 00 R 00 00 01 00 00 04 01 00 -T 85 06 00 00 +T BF 06 00 00 R 00 00 01 00 -T 85 06 00 00 DD 4E FC DD 46 FD 3E 0A A9 B0 20 +T BF 06 00 00 DD 4E FC DD 46 FD 3E 0A A9 B0 20 R 00 00 01 00 -T 90 06 00 00 11 +T CA 06 00 00 11 R 00 00 01 00 -T 91 06 00 00 +T CB 06 00 00 R 00 00 01 00 -T 91 06 00 00 DD 34 FE 20 03 DD 34 FF +T CB 06 00 00 DD 34 FE 20 03 DD 34 FF R 00 00 01 00 -T 99 06 00 00 +T D3 06 00 00 R 00 00 01 00 -T 99 06 00 00 AF DD 77 FA DD 77 FB 18 41 +T D3 06 00 00 AF DD 77 FA DD 77 FB 18 41 R 00 00 01 00 -T A2 06 00 00 +T DC 06 00 00 R 00 00 01 00 -T A2 06 00 00 3E 09 A9 B0 20 31 21 F8 FF DD 4E +T DC 06 00 00 3E 09 A9 B0 20 31 21 F8 FF DD 4E R 00 00 01 00 -T AD 06 00 00 0E DD 46 0F 09 4D 44 DD 6E FA DD +T E7 06 00 00 0E DD 46 0F 09 4D 44 DD 6E FA DD R 00 00 01 00 -T B8 06 00 00 66 FB CD 00 00 00 00 30 18 -R 00 00 01 00 02 07 18 00 -T BF 06 00 00 +T F2 06 00 00 66 FB CD 00 00 00 00 30 18 +R 00 00 01 00 02 07 1B 00 +T F9 06 00 00 R 00 00 01 00 -T BF 06 00 00 21 08 00 DD 4E FA DD 46 FB 09 7D +T F9 06 00 00 21 08 00 DD 4E FA DD 46 FB 09 7D R 00 00 01 00 -T CA 06 00 00 E6 F8 5F 7C E6 FF 57 DD 73 FA DD +T 04 07 00 00 E6 F8 5F 7C E6 FF 57 DD 73 FA DD R 00 00 01 00 -T D5 06 00 00 72 FB +T 0F 07 00 00 72 FB R 00 00 01 00 -T D7 06 00 00 +T 11 07 00 00 R 00 00 01 00 -T D7 06 00 00 18 0A +T 11 07 00 00 18 0A R 00 00 01 00 -T D9 06 00 00 +T 13 07 00 00 R 00 00 01 00 -T D9 06 00 00 DD 34 FA 20 03 DD 34 FB +T 13 07 00 00 DD 34 FA 20 03 DD 34 FB R 00 00 01 00 -T E1 06 00 00 +T 1B 07 00 00 R 00 00 01 00 -T E1 06 00 00 18 00 +T 1B 07 00 00 18 00 R 00 00 01 00 -T E3 06 00 00 +T 1D 07 00 00 R 00 00 01 00 -T E3 06 00 00 DD 4E 0E DD 46 0F DD 6E FA DD 66 +T 1D 07 00 00 DD 4E 0E DD 46 0F DD 6E FA DD 66 R 00 00 01 00 -T EE 06 00 00 FB CD 00 00 00 00 38 0F -R 00 00 01 00 02 06 18 00 -T F4 06 00 00 +T 28 07 00 00 FB CD 00 00 00 00 38 0F +R 00 00 01 00 02 06 1B 00 +T 2E 07 00 00 R 00 00 01 00 -T F4 06 00 00 AF DD 77 FA DD 77 FB DD 34 FE 20 +T 2E 07 00 00 AF DD 77 FA DD 77 FB DD 34 FE 20 R 00 00 01 00 -T FF 06 00 00 03 DD 34 FF +T 39 07 00 00 03 DD 34 FF R 00 00 01 00 -T 03 07 00 00 +T 3D 07 00 00 R 00 00 01 00 -T 03 07 00 00 +T 3D 07 00 00 R 00 00 01 00 -T 03 07 00 00 DD 4E 0C DD 46 0D DD 6E FE DD 66 +T 3D 07 00 00 DD 4E 0C DD 46 0D DD 6E FE DD 66 R 00 00 01 00 -T 0E 07 00 00 FF CD 00 00 00 00 38 02 -R 00 00 01 00 02 06 18 00 -T 14 07 00 00 +T 48 07 00 00 FF CD 00 00 00 00 38 02 +R 00 00 01 00 02 06 1B 00 +T 4E 07 00 00 R 00 00 01 00 -T 14 07 00 00 18 03 +T 4E 07 00 00 18 03 R 00 00 01 00 -T 16 07 00 00 +T 50 07 00 00 R 00 00 01 00 -T 16 07 00 00 C3 6B 06 00 00 +T 50 07 00 00 C3 A5 06 00 00 R 00 00 01 00 00 05 01 00 -T 19 07 00 00 +T 53 07 00 00 R 00 00 01 00 -T 19 07 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +T 53 07 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 R 00 00 01 00 2B 0B 09 00 -T 21 07 00 00 21 00 00 00 00 CD 00 00 00 00 C3 +T 5B 07 00 00 21 00 00 00 00 CD 00 00 00 00 C3 R 00 00 01 00 02 05 09 00 02 0A 00 00 -T 28 07 00 00 D4 09 00 00 +T 62 07 00 00 0E 0A 00 00 R 00 00 01 00 00 04 01 00 -T 2A 07 00 00 +T 64 07 00 00 R 00 00 01 00 -T 2A 07 00 00 DD 4E 0C DD 46 0D A7 21 00 00 ED +T 64 07 00 00 DD 4E 0C DD 46 0D A7 21 00 00 ED R 00 00 01 00 -T 35 07 00 00 42 DD 75 0C DD 74 0D DD 4E 0E DD +T 6F 07 00 00 42 DD 75 0C DD 74 0D DD 4E 0E DD R 00 00 01 00 -T 40 07 00 00 46 0F 03 03 EB 13 CD 00 00 00 00 -R 00 00 01 00 02 0B 15 00 -T 49 07 00 00 EB 7C 07 9F 4F 41 DD 75 F4 DD 74 +T 7A 07 00 00 46 0F 03 03 EB 13 CD 00 00 00 00 +R 00 00 01 00 02 0B 18 00 +T 83 07 00 00 EB 7C 07 9F 4F 41 DD 75 F4 DD 74 R 00 00 01 00 -T 54 07 00 00 F5 DD 71 F6 DD 70 F7 C5 E5 DD 4E +T 8E 07 00 00 F5 DD 71 F6 DD 70 F7 C5 E5 DD 4E R 00 00 01 00 -T 5F 07 00 00 0A DD 46 0B DD 6E 08 DD 66 09 CD +T 99 07 00 00 0A DD 46 0B DD 6E 08 DD 66 09 CD R 00 00 01 00 -T 6A 07 00 00 00 00 00 00 30 0F -R 00 00 01 00 02 04 13 00 -T 6E 07 00 00 +T A4 07 00 00 00 00 00 00 30 0F +R 00 00 01 00 02 04 16 00 +T A8 07 00 00 R 00 00 01 00 -T 6E 07 00 00 AF DD 77 F4 DD 77 F5 DD 77 F6 DD +T A8 07 00 00 AF DD 77 F4 DD 77 F5 DD 77 F6 DD R 00 00 01 00 -T 79 07 00 00 77 F7 18 2D +T B3 07 00 00 77 F7 18 2D R 00 00 01 00 -T 7D 07 00 00 +T B7 07 00 00 R 00 00 01 00 -T 7D 07 00 00 A7 DD 6E 08 DD 66 09 DD 4E F4 DD +T B7 07 00 00 A7 DD 6E 08 DD 66 09 DD 4E F4 DD R 00 00 01 00 -T 88 07 00 00 46 F5 ED 42 EB DD 6E 0A DD 66 0B +T C2 07 00 00 46 F5 ED 42 EB DD 6E 0A DD 66 0B R 00 00 01 00 -T 93 07 00 00 DD 4E F6 DD 46 F7 ED 42 4D 44 EB +T CD 07 00 00 DD 4E F6 DD 46 F7 ED 42 4D 44 EB R 00 00 01 00 -T 9E 07 00 00 DD 75 F4 DD 74 F5 DD 71 F6 DD 70 +T D8 07 00 00 DD 75 F4 DD 74 F5 DD 71 F6 DD 70 R 00 00 01 00 -T A9 07 00 00 F7 +T E3 07 00 00 F7 R 00 00 01 00 -T AA 07 00 00 +T E4 07 00 00 R 00 00 01 00 -T AA 07 00 00 21 00 00 E5 DD 6E F6 DD 66 F7 E5 +T E4 07 00 00 21 00 00 E5 DD 6E F6 DD 66 F7 E5 R 00 00 01 00 -T B5 07 00 00 DD 6E F4 DD 66 F5 E5 DD 5E 02 DD +T EF 07 00 00 DD 6E F4 DD 66 F5 E5 DD 5E 02 DD R 00 00 01 00 -T C0 07 00 00 56 03 3E 00 00 00 00 21 +T FA 07 00 00 56 03 3E 00 00 00 00 21 R 00 00 01 00 2B 07 06 00 -T C5 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +T FF 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 06 00 02 09 00 00 -T CC 07 00 00 F1 DD 4E 0C DD 46 0D 11 04 00 3E +T 06 08 00 00 F1 DD 4E 0C DD 46 0D 11 04 00 3E R 00 00 01 00 -T D7 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 16 00 02 09 16 00 -T DC 07 00 00 00 00 00 00 DD 75 F8 DD 74 F9 E5 +T 11 08 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 19 00 02 09 19 00 +T 16 08 00 00 00 00 00 00 DD 75 F8 DD 74 F9 E5 R 00 00 01 00 02 04 00 00 -T E5 07 00 00 DD 5E FE DD 56 FF 13 DD 73 FE DD +T 1F 08 00 00 DD 5E FE DD 56 FF 13 DD 73 FE DD R 00 00 01 00 -T F0 07 00 00 72 FF 1B DD 4E 0C DD 46 0D CD +T 2A 08 00 00 72 FF 1B DD 4E 0C DD 46 0D CD R 00 00 01 00 -T FA 07 00 00 00 00 00 00 EB 29 29 4D 44 E1 09 -R 00 00 01 00 02 04 19 00 -T 03 08 00 00 DD 4E F6 DD 46 F7 DD 5E F4 DD 56 +T 34 08 00 00 00 00 00 00 EB 29 29 4D 44 E1 09 +R 00 00 01 00 02 04 1C 00 +T 3D 08 00 00 DD 4E F6 DD 46 F7 DD 5E F4 DD 56 R 00 00 01 00 -T 0E 08 00 00 F5 73 23 72 23 71 23 70 AF DD 77 +T 48 08 00 00 F5 73 23 72 23 71 23 70 AF DD 77 R 00 00 01 00 -T 19 08 00 00 FA DD 77 FB +T 53 08 00 00 FA DD 77 FB R 00 00 01 00 -T 1D 08 00 00 +T 57 08 00 00 R 00 00 01 00 -T 1D 08 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +T 57 08 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 R 00 00 01 00 2B 0B 04 00 -T 25 08 00 00 21 00 00 00 00 CD 00 00 00 00 DD +T 5F 08 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 04 00 02 0A 00 00 -T 2C 08 00 00 75 FC DD 74 FD 4D 44 79 A0 3C 20 +T 66 08 00 00 75 FC DD 74 FD 4D 44 79 A0 3C 20 R 00 00 01 00 -T 37 08 00 00 03 +T 71 08 00 00 03 R 00 00 01 00 -T 38 08 00 00 +T 72 08 00 00 R 00 00 01 00 -T 38 08 00 00 C3 6D 09 00 00 +T 72 08 00 00 C3 A7 09 00 00 R 00 00 01 00 00 05 01 00 -T 3B 08 00 00 +T 75 08 00 00 R 00 00 01 00 -T 3B 08 00 00 3E 0A A9 B0 20 6D AF DD 77 FA DD +T 75 08 00 00 3E 0A A9 B0 20 6D AF DD 77 FA DD R 00 00 01 00 -T 46 08 00 00 77 FB DD 5E 02 DD 56 03 3E +T 80 08 00 00 77 FB DD 5E 02 DD 56 03 3E R 00 00 01 00 -T 4F 08 00 00 00 00 00 00 21 00 00 00 00 CD +T 89 08 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 09 00 02 09 09 00 -T 54 08 00 00 00 00 00 00 DD 75 F4 DD 74 F5 DD +T 8E 08 00 00 00 00 00 00 DD 75 F4 DD 74 F5 DD R 00 00 01 00 02 04 00 00 -T 5D 08 00 00 71 F6 DD 70 F7 DD 5E 0A DD 56 0B +T 97 08 00 00 71 F6 DD 70 F7 DD 5E 0A DD 56 0B R 00 00 01 00 -T 68 08 00 00 D5 DD 5E 08 DD 56 09 D5 CD +T A2 08 00 00 D5 DD 5E 08 DD 56 09 D5 CD R 00 00 01 00 -T 71 08 00 00 00 00 00 00 38 03 -R 00 00 01 00 02 04 13 00 -T 75 08 00 00 +T AB 08 00 00 00 00 00 00 38 03 +R 00 00 01 00 02 04 16 00 +T AF 08 00 00 R 00 00 01 00 -T 75 08 00 00 C3 6D 09 00 00 +T AF 08 00 00 C3 A7 09 00 00 R 00 00 01 00 00 05 01 00 -T 78 08 00 00 +T B2 08 00 00 R 00 00 01 00 -T 78 08 00 00 DD 5E FE DD 56 FF 13 DD 73 FE DD +T B2 08 00 00 DD 5E FE DD 56 FF 13 DD 73 FE DD R 00 00 01 00 -T 83 08 00 00 72 FF 1B DD 4E 0C DD 46 0D CD +T BD 08 00 00 72 FF 1B DD 4E 0C DD 46 0D CD R 00 00 01 00 -T 8D 08 00 00 00 00 00 00 EB 29 29 DD 4E F8 DD -R 00 00 01 00 02 04 19 00 -T 96 08 00 00 46 F9 09 DD 4E F6 DD 46 F7 DD 5E +T C7 08 00 00 00 00 00 00 EB 29 29 DD 4E F8 DD +R 00 00 01 00 02 04 1C 00 +T D0 08 00 00 46 F9 09 DD 4E F6 DD 46 F7 DD 5E R 00 00 01 00 -T A1 08 00 00 F4 DD 56 F5 73 23 72 23 71 23 70 +T DB 08 00 00 F4 DD 56 F5 73 23 72 23 71 23 70 R 00 00 01 00 -T AC 08 00 00 18 41 +T E6 08 00 00 18 41 R 00 00 01 00 -T AE 08 00 00 +T E8 08 00 00 R 00 00 01 00 -T AE 08 00 00 3E 09 A9 B0 20 31 21 F8 FF DD 4E +T E8 08 00 00 3E 09 A9 B0 20 31 21 F8 FF DD 4E R 00 00 01 00 -T B9 08 00 00 0E DD 46 0F 09 4D 44 DD 6E FA DD +T F3 08 00 00 0E DD 46 0F 09 4D 44 DD 6E FA DD R 00 00 01 00 -T C4 08 00 00 66 FB CD 00 00 00 00 30 18 -R 00 00 01 00 02 07 18 00 -T CB 08 00 00 +T FE 08 00 00 66 FB CD 00 00 00 00 30 18 +R 00 00 01 00 02 07 1B 00 +T 05 09 00 00 R 00 00 01 00 -T CB 08 00 00 21 08 00 DD 4E FA DD 46 FB 09 7D +T 05 09 00 00 21 08 00 DD 4E FA DD 46 FB 09 7D R 00 00 01 00 -T D6 08 00 00 E6 F8 5F 7C E6 FF 57 DD 73 FA DD +T 10 09 00 00 E6 F8 5F 7C E6 FF 57 DD 73 FA DD R 00 00 01 00 -T E1 08 00 00 72 FB +T 1B 09 00 00 72 FB R 00 00 01 00 -T E3 08 00 00 +T 1D 09 00 00 R 00 00 01 00 -T E3 08 00 00 18 0A +T 1D 09 00 00 18 0A R 00 00 01 00 -T E5 08 00 00 +T 1F 09 00 00 R 00 00 01 00 -T E5 08 00 00 DD 34 FA 20 03 DD 34 FB +T 1F 09 00 00 DD 34 FA 20 03 DD 34 FB R 00 00 01 00 -T ED 08 00 00 +T 27 09 00 00 R 00 00 01 00 -T ED 08 00 00 18 00 +T 27 09 00 00 18 00 R 00 00 01 00 -T EF 08 00 00 +T 29 09 00 00 R 00 00 01 00 -T EF 08 00 00 DD 4E 0E DD 46 0F DD 6E FA DD 66 +T 29 09 00 00 DD 4E 0E DD 46 0F DD 6E FA DD 66 R 00 00 01 00 -T FA 08 00 00 FB CD 00 00 00 00 38 6A -R 00 00 01 00 02 06 18 00 -T 00 09 00 00 +T 34 09 00 00 FB CD 00 00 00 00 38 6A +R 00 00 01 00 02 06 1B 00 +T 3A 09 00 00 R 00 00 01 00 -T 00 09 00 00 AF DD 77 FA DD 77 FB DD 5E 02 DD +T 3A 09 00 00 AF DD 77 FA DD 77 FB DD 5E 02 DD R 00 00 01 00 -T 0B 09 00 00 56 03 3E 00 00 00 00 21 +T 45 09 00 00 56 03 3E 00 00 00 00 21 R 00 00 01 00 2B 07 09 00 -T 10 09 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +T 4A 09 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 09 00 02 09 00 00 -T 17 09 00 00 F4 DD 74 F5 DD 71 F6 DD 70 F7 DD +T 51 09 00 00 F4 DD 74 F5 DD 71 F6 DD 70 F7 DD R 00 00 01 00 -T 22 09 00 00 5E 0A DD 56 0B D5 DD 5E 08 DD 56 +T 5C 09 00 00 5E 0A DD 56 0B D5 DD 5E 08 DD 56 R 00 00 01 00 -T 2D 09 00 00 09 D5 CD 00 00 00 00 38 02 -R 00 00 01 00 02 07 13 00 -T 34 09 00 00 +T 67 09 00 00 09 D5 CD 00 00 00 00 38 02 +R 00 00 01 00 02 07 16 00 +T 6E 09 00 00 R 00 00 01 00 -T 34 09 00 00 18 37 +T 6E 09 00 00 18 37 R 00 00 01 00 -T 36 09 00 00 +T 70 09 00 00 R 00 00 01 00 -T 36 09 00 00 DD 5E FE DD 56 FF 13 DD 73 FE DD +T 70 09 00 00 DD 5E FE DD 56 FF 13 DD 73 FE DD R 00 00 01 00 -T 41 09 00 00 72 FF 1B DD 4E 0C DD 46 0D CD +T 7B 09 00 00 72 FF 1B DD 4E 0C DD 46 0D CD R 00 00 01 00 -T 4B 09 00 00 00 00 00 00 EB 29 29 DD 4E F8 DD -R 00 00 01 00 02 04 19 00 -T 54 09 00 00 46 F9 09 DD 4E F6 DD 46 F7 DD 5E +T 85 09 00 00 00 00 00 00 EB 29 29 DD 4E F8 DD +R 00 00 01 00 02 04 1C 00 +T 8E 09 00 00 46 F9 09 DD 4E F6 DD 46 F7 DD 5E R 00 00 01 00 -T 5F 09 00 00 F4 DD 56 F5 73 23 72 23 71 23 70 +T 99 09 00 00 F4 DD 56 F5 73 23 72 23 71 23 70 R 00 00 01 00 -T 6A 09 00 00 +T A4 09 00 00 R 00 00 01 00 -T 6A 09 00 00 C3 1D 08 00 00 +T A4 09 00 00 C3 57 08 00 00 R 00 00 01 00 00 05 01 00 -T 6D 09 00 00 +T A7 09 00 00 R 00 00 01 00 -T 6D 09 00 00 DD 4E 0C DD 46 0D DD 6E FE DD 66 +T A7 09 00 00 DD 4E 0C DD 46 0D DD 6E FE DD 66 R 00 00 01 00 -T 78 09 00 00 FF CD 00 00 00 00 38 2F -R 00 00 01 00 02 06 18 00 -T 7E 09 00 00 +T B2 09 00 00 FF CD 00 00 00 00 38 2F +R 00 00 01 00 02 06 1B 00 +T B8 09 00 00 R 00 00 01 00 -T 7E 09 00 00 DD 4E 0C DD 46 0D DD 5E FE DD 56 +T B8 09 00 00 DD 4E 0C DD 46 0D DD 5E FE DD 56 R 00 00 01 00 -T 89 09 00 00 FF CD 00 00 00 00 EB 29 29 DD 4E -R 00 00 01 00 02 06 19 00 -T 92 09 00 00 F8 DD 46 F9 09 5E 23 56 23 4E 23 +T C3 09 00 00 FF CD 00 00 00 00 EB 29 29 DD 4E +R 00 00 01 00 02 06 1C 00 +T CC 09 00 00 F8 DD 46 F9 09 5E 23 56 23 4E 23 R 00 00 01 00 -T 9D 09 00 00 46 EB DD 75 F4 DD 74 F5 DD 71 F6 +T D7 09 00 00 46 EB DD 75 F4 DD 74 F5 DD 71 F6 R 00 00 01 00 -T A8 09 00 00 DD 70 F7 18 0D +T E2 09 00 00 DD 70 F7 18 0D R 00 00 01 00 -T AD 09 00 00 +T E7 09 00 00 R 00 00 01 00 -T AD 09 00 00 AF DD 77 F4 DD 77 F5 DD 77 F6 DD +T E7 09 00 00 AF DD 77 F4 DD 77 F5 DD 77 F6 DD R 00 00 01 00 -T B8 09 00 00 77 F7 +T F2 09 00 00 77 F7 R 00 00 01 00 -T BA 09 00 00 +T F4 09 00 00 R 00 00 01 00 -T BA 09 00 00 DD 5E F8 DD 56 F9 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 -T C2 09 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0E 00 02 0A 00 00 -T C9 09 00 00 4E F6 DD 46 F7 DD 6E F4 DD 66 F5 +T F4 09 00 00 DD 5E F8 DD 56 F9 3E 00 00 00 00 +R 00 00 01 00 2B 0B 10 00 +T FC 09 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 10 00 02 0A 00 00 +T 03 0A 00 00 4E F6 DD 46 F7 DD 6E F4 DD 66 F5 R 00 00 01 00 -T D4 09 00 00 +T 0E 0A 00 00 R 00 00 01 00 -T D4 09 00 00 C3 00 00 00 00 +T 0E 0A 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 01 00 -T D7 09 00 00 +T 11 0A 00 00 R 00 00 01 00 -T D7 09 00 00 CD 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 10 00 02 0A 03 00 -T DD 09 00 00 06 00 47 01 48 01 49 01 4F 01 +T 11 0A 00 00 CD 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 12 00 02 0A 03 00 +T 17 0A 00 00 06 00 47 01 48 01 49 01 4F 01 R 00 00 01 00 -T E7 09 00 00 50 01 51 01 8A 0A 00 00 +T 21 0A 00 00 50 01 51 01 C4 0A 00 00 R 00 00 01 00 00 08 01 00 -T ED 09 00 00 72 0A 00 00 5A 0A 00 00 +T 27 0A 00 00 AC 0A 00 00 94 0A 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T F1 09 00 00 42 0A 00 00 2A 0A 00 00 +T 2B 0A 00 00 7C 0A 00 00 64 0A 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T F5 09 00 00 12 0A 00 00 F9 09 00 00 +T 2F 0A 00 00 4C 0A 00 00 33 0A 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T F9 09 00 00 -R 00 00 01 00 -T F9 09 00 00 21 19 00 ED 4B 00 00 00 00 09 4E -R 00 00 01 00 02 09 11 00 -T 02 0A 00 00 23 46 11 68 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0F 00 -T 0A 0A 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 0F 00 02 09 00 00 -T 10 0A 00 00 92 0A 00 00 +T 33 0A 00 00 +R 00 00 01 00 +T 33 0A 00 00 21 19 00 ED 4B 00 00 00 00 09 4E +R 00 00 01 00 02 09 13 00 +T 3C 0A 00 00 23 46 11 68 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 11 00 +T 44 0A 00 00 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 04 11 00 02 09 00 00 +T 4A 0A 00 00 CC 0A 00 00 R 00 00 01 00 00 04 01 00 -T 12 0A 00 00 -R 00 00 01 00 -T 12 0A 00 00 21 19 00 ED 4B 00 00 00 00 09 4E -R 00 00 01 00 02 09 11 00 -T 1B 0A 00 00 23 46 11 75 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0F 00 -T 23 0A 00 00 00 00 00 00 CD 00 00 00 00 18 68 -R 00 00 01 00 02 04 0F 00 02 09 00 00 -T 2A 0A 00 00 -R 00 00 01 00 -T 2A 0A 00 00 21 19 00 ED 4B 00 00 00 00 09 4E -R 00 00 01 00 02 09 11 00 -T 33 0A 00 00 23 46 11 55 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0F 00 -T 3B 0A 00 00 00 00 00 00 CD 00 00 00 00 18 50 -R 00 00 01 00 02 04 0F 00 02 09 00 00 -T 42 0A 00 00 -R 00 00 01 00 -T 42 0A 00 00 21 19 00 ED 4B 00 00 00 00 09 4E -R 00 00 01 00 02 09 11 00 -T 4B 0A 00 00 23 46 11 65 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0F 00 -T 53 0A 00 00 00 00 00 00 CD 00 00 00 00 18 38 -R 00 00 01 00 02 04 0F 00 02 09 00 00 -T 5A 0A 00 00 -R 00 00 01 00 -T 5A 0A 00 00 21 19 00 ED 4B 00 00 00 00 09 4E -R 00 00 01 00 02 09 11 00 -T 63 0A 00 00 23 46 11 64 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0F 00 -T 6B 0A 00 00 00 00 00 00 CD 00 00 00 00 18 20 -R 00 00 01 00 02 04 0F 00 02 09 00 00 -T 72 0A 00 00 -R 00 00 01 00 -T 72 0A 00 00 21 19 00 ED 4B 00 00 00 00 09 4E -R 00 00 01 00 02 09 11 00 -T 7B 0A 00 00 23 46 11 44 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0F 00 -T 83 0A 00 00 00 00 00 00 CD 00 00 00 00 18 08 -R 00 00 01 00 02 04 0F 00 02 09 00 00 -T 8A 0A 00 00 -R 00 00 01 00 -T 8A 0A 00 00 DD 6E 02 DD 66 03 18 16 -R 00 00 01 00 -T 92 0A 00 00 -R 00 00 01 00 -T 92 0A 00 00 21 19 00 ED 4B 00 00 00 00 09 5E -R 00 00 01 00 02 09 11 00 -T 9B 0A 00 00 23 56 3E 00 00 00 00 21 +T 4C 0A 00 00 +R 00 00 01 00 +T 4C 0A 00 00 21 19 00 ED 4B 00 00 00 00 09 4E +R 00 00 01 00 02 09 13 00 +T 55 0A 00 00 23 46 11 75 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 11 00 +T 5D 0A 00 00 00 00 00 00 CD 00 00 00 00 18 68 +R 00 00 01 00 02 04 11 00 02 09 00 00 +T 64 0A 00 00 +R 00 00 01 00 +T 64 0A 00 00 21 19 00 ED 4B 00 00 00 00 09 4E +R 00 00 01 00 02 09 13 00 +T 6D 0A 00 00 23 46 11 55 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 11 00 +T 75 0A 00 00 00 00 00 00 CD 00 00 00 00 18 50 +R 00 00 01 00 02 04 11 00 02 09 00 00 +T 7C 0A 00 00 +R 00 00 01 00 +T 7C 0A 00 00 21 19 00 ED 4B 00 00 00 00 09 4E +R 00 00 01 00 02 09 13 00 +T 85 0A 00 00 23 46 11 65 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 11 00 +T 8D 0A 00 00 00 00 00 00 CD 00 00 00 00 18 38 +R 00 00 01 00 02 04 11 00 02 09 00 00 +T 94 0A 00 00 +R 00 00 01 00 +T 94 0A 00 00 21 19 00 ED 4B 00 00 00 00 09 4E +R 00 00 01 00 02 09 13 00 +T 9D 0A 00 00 23 46 11 64 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 11 00 +T A5 0A 00 00 00 00 00 00 CD 00 00 00 00 18 20 +R 00 00 01 00 02 04 11 00 02 09 00 00 +T AC 0A 00 00 +R 00 00 01 00 +T AC 0A 00 00 21 19 00 ED 4B 00 00 00 00 09 4E +R 00 00 01 00 02 09 13 00 +T B5 0A 00 00 23 46 11 44 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 11 00 +T BD 0A 00 00 00 00 00 00 CD 00 00 00 00 18 08 +R 00 00 01 00 02 04 11 00 02 09 00 00 +T C4 0A 00 00 +R 00 00 01 00 +T C4 0A 00 00 DD 6E 02 DD 66 03 18 16 +R 00 00 01 00 +T CC 0A 00 00 +R 00 00 01 00 +T CC 0A 00 00 21 19 00 ED 4B 00 00 00 00 09 5E +R 00 00 01 00 02 09 13 00 +T D5 0A 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 02 00 -T A0 0A 00 00 00 00 00 00 CD 00 00 00 00 21 +T DA 0A 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 02 00 02 09 00 00 -T A6 0A 00 00 00 00 +T E0 0A 00 00 00 00 R 00 00 01 00 -T A8 0A 00 00 +T E2 0A 00 00 R 00 00 01 00 -T A8 0A 00 00 C3 00 00 00 00 +T E2 0A 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 07 00 T 00 00 00 00 R 00 00 02 00 diff --git a/src/nos/lib/net_lib/write.rel b/src/nos/lib/net_lib/write.rel index eb4f9474..2f03a84a 100644 --- a/src/nos/lib/net_lib/write.rel +++ b/src/nos/lib/net_lib/write.rel @@ -27,7 +27,7 @@ T 1D 00 00 00 FF DD CB 03 7E 28 13 R 00 00 01 00 T 24 00 00 00 R 00 00 01 00 -T 24 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 24 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 05 00 T 2D 00 00 00 16 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -85,7 +85,7 @@ T C6 00 00 00 00 00 00 00 F1 18 10 R 00 00 01 00 02 04 00 00 T CB 00 00 00 R 00 00 01 00 -T CB 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T CB 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 05 00 T D4 00 00 00 16 23 36 00 21 FF FF R 00 00 01 00 diff --git a/src/nos/lib/ppp.lib b/src/nos/lib/ppp.lib index 78be5da5..02aa86fc 100644 --- a/src/nos/lib/ppp.lib +++ b/src/nos/lib/ppp.lib @@ -26,16 +26,18 @@ ppp_lib/dodial_status.rel _dodial_status ppp_lib/dodial_wait.rel _dodial_wait +ppp_lib/dodial_exec.rel + _dodial_exec ppp_lib/fcstab.rel _fcstab ppp_lib/htonppp.rel _htonppp -ppp_lib/ppp_log.rel - _ppp_log -ppp_lib/ppp_error.rel - _ppp_error -ppp_lib/ppp_skipped.rel - _ppp_skipped +ppp_lib/_ppp_log.rel + __ppp_log +ppp_lib/_ppp_error.rel + __ppp_error +ppp_lib/_ppp_skipped.rel + __ppp_skipped ppp_lib/ppp_send.rel _ppp_send ppp_lib/ppp_output.rel @@ -82,8 +84,8 @@ ppp_lib/fsm_no_action.rel _fsm_no_action ppp_lib/fsm_no_check.rel _fsm_no_check -ppp_lib/fsm_log.rel - _fsm_log +ppp_lib/_fsm_log.rel + __fsm_log ppp_lib/fsm_timer.rel _fsm_timer ppp_lib/fsm_send.rel diff --git a/src/nos/lib/ppp_lib/Dial_cmds.rel b/src/nos/lib/ppp_lib/Dial_cmds.rel index a578d07c..1bfa3e00 100644 --- a/src/nos/lib/ppp_lib/Dial_cmds.rel +++ b/src/nos/lib/ppp_lib/Dial_cmds.rel @@ -1,25 +1,25 @@ XL4 H 4 areas 15 global symbols S _dodial_wait Ref00000000 -S ___05a2_e397_send_20_22string_22 Ref00000000 -S ___05bd_9785_speed_20_3cbps_3e Ref00000000 +S ___0455_41aa_Unknown_20command Ref00000000 +S ___06f5_2887_wait_20_3cmilliseco Ref00000000 +S ___06a7_a95a_status_20up_7cdown_ Ref00000000 +S ___04f7_a93e_control_20up_7cdown Ref00000000 S _donothing Ref00000000 +S ___067c_e397_send_20_22string_22 Ref00000000 S _dodial_control Ref00000000 -S ___0616_2887_wait_20_3cmilliseco Ref00000000 -S ___05a1_9a3e_send Ref00000000 +S ___0699_60cd_speed Ref00000000 S ___0000_ffff_ Ref00000000 -S ___045e_5769_control Ref00000000 +S ___067b_9a3e_send Ref00000000 +S ___04f6_5769_control Ref00000000 +S ___069a_9785_speed_20_3cbps_3e Ref00000000 S _dodial_speed Ref00000000 -S ___05ca_7dfc_status_20up_20_7c_2 Ref00000000 S .__.ABS. Def00000000 -S ___05bc_60cd_speed Ref00000000 -S ___0615_d63a_wait Ref00000000 -S ___03c4_41aa_Unknown_20command Ref00000000 +S ___06f4_d63a_wait Ref00000000 S _dodial_status Ref00000000 -S ___05c9_5069_status Ref00000000 +S ___06a6_5069_status Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _dodial_send Ref00000000 -S ___045f_941e_control_20up_20_7c_ Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 A IDATA0 size 5B flags 0 @@ -30,28 +30,28 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 07 00 4A 08 03 00 +R 00 00 03 00 4A 04 09 00 4A 08 05 00 T 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 06 07 00 4A 0A 08 00 +R 00 00 03 00 4A 06 09 00 4A 0A 0B 00 T 10 00 00 00 00 00 00 00 00 00 02 00 -R 00 00 03 00 4A 04 04 00 +R 00 00 03 00 4A 04 07 00 T 17 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 13 00 4A 08 06 00 +R 00 00 03 00 4A 04 04 00 4A 08 0A 00 T 1D 00 00 00 00 00 00 00 00 00 02 00 -R 00 00 03 00 4A 04 12 00 +R 00 00 03 00 4A 04 13 00 T 24 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 01 00 4A 08 0C 00 +R 00 00 03 00 4A 04 06 00 4A 08 08 00 T 2A 00 00 00 00 00 00 00 00 00 02 00 -R 00 00 03 00 4A 04 09 00 +R 00 00 03 00 4A 04 0D 00 T 31 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 02 00 4A 08 10 00 +R 00 00 03 00 4A 04 0C 00 4A 08 11 00 T 37 00 00 00 00 00 00 00 00 00 02 00 -R 00 00 03 00 4A 04 0F 00 +R 00 00 03 00 4A 04 10 00 T 3E 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 0A 00 4A 08 0D 00 +R 00 00 03 00 4A 04 03 00 4A 08 0F 00 T 44 00 00 00 00 00 00 00 00 00 02 00 R 00 00 03 00 4A 04 00 00 T 4B 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 05 00 +R 00 00 03 00 4A 04 02 00 T 54 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 08 0E 00 +R 00 00 03 00 4A 08 01 00 diff --git a/src/nos/lib/ppp_lib/IPcpcmds.rel b/src/nos/lib/ppp_lib/IPcpcmds.rel index 8c84dedb..2c8301e6 100644 --- a/src/nos/lib/ppp_lib/IPcpcmds.rel +++ b/src/nos/lib/ppp_lib/IPcpcmds.rel @@ -1,22 +1,22 @@ XL4 H 4 areas 13 global symbols -S ___05eb_7156_timeout Ref00000000 S _doppp_timeout Ref00000000 +S ___062c_5919_pool Ref00000000 S _doipcp_open Ref00000000 -S ___05f7_f7b8_try Ref00000000 -S ___04e0_4346_listen Ref00000000 +S ___06d4_f7b8_try Ref00000000 +S ___05a3_4346_listen Ref00000000 +S ___06c8_7156_timeout Ref00000000 S _doppp_close Ref00000000 S _doipcp_pool Ref00000000 -S ___0554_5919_pool Ref00000000 S .__.ABS. Def00000000 S _doppp_try Ref00000000 -S ___057c_bc2e_remote Ref00000000 S _doipcp_local Ref00000000 S _doipcp_remote Ref00000000 -S ___044d_23aa_close Ref00000000 +S ___0656_bc2e_remote Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___04e2_f2d8_local Ref00000000 -S ___053a_3971_open Ref00000000 +S ___05a5_f2d8_local Ref00000000 +S ___04e5_23aa_close Ref00000000 +S ___060c_3971_open Ref00000000 S _doppp_passive Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 @@ -28,25 +28,25 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 0D 00 4A 08 05 00 +R 00 00 03 00 4A 04 0F 00 4A 08 06 00 T 08 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 4A 09 04 00 T 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 4A 04 11 00 T 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 0F 00 4A 08 0B 00 +R 00 00 03 00 4A 04 0E 00 4A 08 0A 00 T 22 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 4A 09 10 00 T 2A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 4A 04 02 00 T 34 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 07 00 4A 08 06 00 +R 00 00 03 00 4A 04 01 00 4A 08 07 00 T 3C 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 0A 00 +R 00 00 03 00 4A 09 0C 00 T 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 0C 00 +R 00 00 03 00 4A 04 0B 00 T 4E 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 00 00 4A 08 01 00 +R 00 00 03 00 4A 04 05 00 4A 08 00 00 T 56 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 4A 09 03 00 T 5E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/src/nos/lib/ppp_lib/IPcpside_cmds.rel b/src/nos/lib/ppp_lib/IPcpside_cmds.rel index 8d12a9aa..430e17dd 100644 --- a/src/nos/lib/ppp_lib/IPcpside_cmds.rel +++ b/src/nos/lib/ppp_lib/IPcpside_cmds.rel @@ -1,13 +1,13 @@ XL4 H 4 areas 9 global symbols +S ___04f2_fbc2_compress Ref00000000 S _doipcp_default Ref00000000 S _doipcp_address Ref00000000 +S ___0495_9712_address Ref00000000 S _doipcp_compress Ref00000000 +S ___04fd_740d_default Ref00000000 S .__.ABS. Def00000000 -S ___0465_740d_default Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0402_9712_address Ref00000000 -S ___045a_fbc2_compress Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 A IDATA0 size 34 flags 0 @@ -18,13 +18,13 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 06 00 4A 08 01 00 +R 00 00 03 00 4A 04 03 00 4A 08 02 00 T 08 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 07 00 +R 00 00 03 00 4A 09 00 00 T 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 02 00 +R 00 00 03 00 4A 04 04 00 T 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 04 00 4A 08 00 00 +R 00 00 03 00 4A 04 05 00 4A 08 01 00 T 22 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 T 2D 00 00 00 00 00 00 00 00 00 00 diff --git a/src/nos/lib/ppp_lib/Lcpcmds.rel b/src/nos/lib/ppp_lib/Lcpcmds.rel index 1dc08a15..fcb5e31b 100644 --- a/src/nos/lib/ppp_lib/Lcpcmds.rel +++ b/src/nos/lib/ppp_lib/Lcpcmds.rel @@ -1,18 +1,18 @@ XL4 H 4 areas 11 global symbols -S ___05eb_7156_timeout Ref00000000 S _doppp_timeout Ref00000000 -S ___05f7_f7b8_try Ref00000000 -S ___04e0_4346_listen Ref00000000 +S ___06d4_f7b8_try Ref00000000 +S ___05a3_4346_listen Ref00000000 +S ___06c8_7156_timeout Ref00000000 S _doppp_close Ref00000000 S .__.ABS. Def00000000 S _doppp_try Ref00000000 S _dolcp_open Ref00000000 -S ___057c_bc2e_remote Ref00000000 -S ___044d_23aa_close Ref00000000 +S ___0656_bc2e_remote Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___04e2_f2d8_local Ref00000000 -S ___053a_3971_open Ref00000000 +S ___05a5_f2d8_local Ref00000000 +S ___04e5_23aa_close Ref00000000 +S ___060c_3971_open Ref00000000 S _dolcp_local Ref00000000 S _doppp_passive Ref00000000 S _dolcp_remote Ref00000000 @@ -26,13 +26,13 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 09 00 4A 08 04 00 +R 00 00 03 00 4A 04 0B 00 4A 08 04 00 T 08 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 03 00 +R 00 00 03 00 4A 09 02 00 T 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 4A 04 0E 00 T 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 0B 00 4A 08 0D 00 +R 00 00 03 00 4A 04 0A 00 4A 08 0D 00 T 22 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 4A 09 0C 00 T 2A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -40,11 +40,11 @@ R 00 00 03 00 4A 04 07 00 T 34 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 4A 04 08 00 4A 08 0F 00 T 3C 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 00 00 +R 00 00 03 00 4A 09 03 00 T 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 01 00 +R 00 00 03 00 4A 04 00 00 T 4E 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 02 00 4A 08 06 00 +R 00 00 03 00 4A 04 01 00 4A 08 06 00 T 56 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 T 61 00 00 00 00 00 00 00 00 00 00 diff --git a/src/nos/lib/ppp_lib/Lcpside_cmds.rel b/src/nos/lib/ppp_lib/Lcpside_cmds.rel index b336ae86..5c3e265e 100644 --- a/src/nos/lib/ppp_lib/Lcpside_cmds.rel +++ b/src/nos/lib/ppp_lib/Lcpside_cmds.rel @@ -1,20 +1,20 @@ XL4 H 4 areas 11 global symbols -S ___0417_c133_authenticate Ref00000000 +S ___0490_0c4f_acfc Ref00000000 S _dolcp_mru Ref00000000 S _dolcp_accm Ref00000000 -S ___03fb_9b89_accm Ref00000000 +S ___04fd_740d_default Ref00000000 +S ___05d9_245f_mru Ref00000000 S _dolcp_default Ref00000000 -S ___0510_245f_mru Ref00000000 +S ___048e_9b89_accm Ref00000000 +S ___04ad_c133_authenticate Ref00000000 S .__.ABS. Def00000000 S _dolcp_auth Ref00000000 -S ___03fd_0c4f_acfc Ref00000000 S _dolcp_pfc Ref00000000 -S ___0465_740d_default Ref00000000 S _dolcp_magic Ref00000000 -S ___0550_d9f3_pfc Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___04ea_0288_magic Ref00000000 +S ___05ad_0288_magic Ref00000000 +S ___0628_d9f3_pfc Ref00000000 S _dolcp_acfc Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 @@ -26,25 +26,25 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 03 00 4A 08 02 00 +R 00 00 03 00 4A 04 06 00 4A 08 02 00 T 08 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 08 00 +R 00 00 03 00 4A 09 00 00 T 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 4A 04 0F 00 T 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 00 00 4A 08 07 00 +R 00 00 03 00 4A 04 07 00 4A 08 09 00 T 22 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 0E 00 +R 00 00 03 00 4A 09 0D 00 T 2A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 4A 04 0B 00 T 34 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 05 00 4A 08 01 00 +R 00 00 03 00 4A 04 04 00 4A 08 01 00 T 3C 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 0C 00 +R 00 00 03 00 4A 09 0E 00 T 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 09 00 +R 00 00 03 00 4A 04 0A 00 T 4E 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 0A 00 4A 08 04 00 +R 00 00 03 00 4A 04 03 00 4A 08 05 00 T 56 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 T 61 00 00 00 00 00 00 00 00 00 00 diff --git a/src/nos/lib/ppp_lib/Papcmds.rel b/src/nos/lib/ppp_lib/Papcmds.rel index da48be75..f5e3558d 100644 --- a/src/nos/lib/ppp_lib/Papcmds.rel +++ b/src/nos/lib/ppp_lib/Papcmds.rel @@ -1,13 +1,13 @@ XL4 H 4 areas 9 global symbols -S ___05eb_7156_timeout Ref00000000 S _doppp_timeout Ref00000000 -S ___0608_13f7_user Ref00000000 -S ___05f7_f7b8_try Ref00000000 +S ___06d4_f7b8_try Ref00000000 +S ___06c8_7156_timeout Ref00000000 S .__.ABS. Def00000000 S _doppp_try Ref00000000 S _dopap_user Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___06e6_13f7_user Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 A IDATA0 size 34 flags 0 @@ -18,13 +18,13 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 00 00 4A 08 01 00 +R 00 00 03 00 4A 04 02 00 4A 08 00 00 T 08 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 09 03 00 +R 00 00 03 00 4A 09 01 00 T 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 05 00 +R 00 00 03 00 4A 04 04 00 T 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 02 00 4A 08 06 00 +R 00 00 03 00 4A 04 07 00 4A 08 05 00 T 22 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 03 00 T 2D 00 00 00 00 00 00 00 00 00 00 diff --git a/src/nos/lib/ppp_lib/_fsm_log.rel b/src/nos/lib/ppp_lib/_fsm_log.rel new file mode 100644 index 00000000..bd0b34cc --- /dev/null +++ b/src/nos/lib/ppp_lib/_fsm_log.rel @@ -0,0 +1,110 @@ +XL4 +H 2 areas 10 global symbols +S ?BANK_CALL_DIRECT_L08 Ref00000000 +S __trace_log Ref00000000 +S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___getfail Ref00000000 +S .__.ABS. Def00000000 +S _free Ref00000000 +S __gettext Ref00000000 +S _PPPiface Ref00000000 +S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ?S_MUL_L02 Ref00000000 +S ___0162_136e__25s_20PPP_2f_25s_2 Ref00000000 +S ?SS_CMP_L02 Ref00000000 +S ?CL64180B_4_06_L00 Ref00000000 +S _fsmStates Ref00000000 +S _PPPtrace Ref00000000 +A _DEFAULT size 0 flags 0 +A CODE size 104 flags 0 +S __fsm_log Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 CD 00 00 00 00 FC FF ED 4B +R 00 00 01 00 02 05 08 00 +T 07 00 00 00 00 00 00 00 21 01 00 CD +R 00 00 01 00 02 04 0E 00 +T 0D 00 00 00 00 00 00 00 D2 01 01 00 00 +R 00 00 01 00 02 04 0B 00 00 09 01 00 +T 12 00 00 00 +R 00 00 01 00 +T 12 00 00 00 DD 6E 02 DD 66 03 4E 06 00 11 +R 00 00 01 00 +T 1C 00 00 00 03 00 CD 00 00 00 00 21 +R 00 00 01 00 02 07 09 00 +T 22 00 00 00 00 00 00 00 19 5E 23 56 23 4E 3E +R 00 00 01 00 02 04 0D 00 +T 2B 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 30 00 00 00 00 00 00 00 DD 75 FC DD 74 FD 7D +R 00 00 01 00 02 04 00 00 +T 39 00 00 00 B4 20 23 +R 00 00 01 00 +T 3C 00 00 00 +R 00 00 01 00 +T 3C 00 00 00 DD 6E 02 DD 66 03 4E 06 00 11 +R 00 00 01 00 +T 46 00 00 00 03 00 CD 00 00 00 00 21 +R 00 00 01 00 02 07 09 00 +T 4C 00 00 00 00 00 00 00 19 5E 23 56 23 4E 3E +R 00 00 01 00 02 04 0D 00 +T 55 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 5A 00 00 00 00 00 00 00 C3 01 01 00 00 +R 00 00 01 00 02 04 00 00 00 09 01 00 +T 5F 00 00 00 +R 00 00 01 00 +T 5F 00 00 00 DD 4E 0C DD 5E 0A DD 56 0B 3E +R 00 00 01 00 +T 69 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 6E 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D +R 00 00 01 00 02 04 00 00 +T 77 00 00 00 B4 20 21 +R 00 00 01 00 +T 7A 00 00 00 +R 00 00 01 00 +T 7A 00 00 00 DD 4E 0C DD 5E 0A DD 56 0B 3E +R 00 00 01 00 +T 84 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 89 00 00 00 00 00 00 00 DD 5E FC DD 56 FD 3E +R 00 00 01 00 02 04 00 00 +T 92 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 97 00 00 00 00 00 00 00 18 66 +R 00 00 01 00 02 04 00 00 +T 9B 00 00 00 +R 00 00 01 00 +T 9B 00 00 00 DD 6E FE DD 66 FF E5 DD 6E FC DD +R 00 00 01 00 +T A6 00 00 00 66 FD E5 21 1A 00 DD 4E 02 DD 46 +R 00 00 01 00 +T B1 00 00 00 03 09 7E 23 66 6F 5E 23 56 D5 21 +R 00 00 01 00 +T BC 00 00 00 08 00 09 7E 23 66 6F 46 23 66 68 +R 00 00 01 00 +T C7 00 00 00 23 23 4E 23 46 C5 0E 00 00 00 00 +R 00 00 01 00 2B 0B 0A 00 +T CF 00 00 00 C5 21 00 00 00 00 E5 2A +R 00 00 01 00 02 06 0A 00 +T D5 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 07 00 2B 0A 01 00 +T DB 00 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 01 00 02 09 00 00 +T E1 00 00 00 0E 00 39 F9 DD 5E FC DD 56 FD 3E +R 00 00 01 00 +T EC 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T F1 00 00 00 00 00 00 00 DD 5E FE DD 56 FF 3E +R 00 00 01 00 02 04 00 00 +T FA 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T FF 00 00 00 00 00 00 00 +R 00 00 01 00 02 04 00 00 +T 01 01 00 00 +R 00 00 01 00 +T 01 01 00 00 +R 00 00 01 00 +T 01 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/ppp_lib/_ppp_error.rel b/src/nos/lib/ppp_lib/_ppp_error.rel new file mode 100644 index 00000000..fb15496b --- /dev/null +++ b/src/nos/lib/ppp_lib/_ppp_error.rel @@ -0,0 +1,26 @@ +XL4 +H 2 areas 8 global symbols +S ?BANK_CALL_DIRECT_L08 Ref00000000 +S __ppp_log Ref00000000 +S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S .__.ABS. Def00000000 +S ?ENT_PARM_DIRECT_L09 Ref00000000 +S _free_p Ref00000000 +S ?CL64180B_4_06_L00 Ref00000000 +A _DEFAULT size 0 flags 0 +A CODE size 2B flags 0 +S __ppp_error Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 CD 00 00 00 00 59 50 3E +R 00 00 01 00 02 05 04 00 +T 06 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 0B 00 00 00 00 00 00 00 DD 6E 0C E5 DD 6E 0A +R 00 00 01 00 02 04 00 00 +T 14 00 00 00 DD 66 0B E5 DD 5E 02 DD 56 03 3E +R 00 00 01 00 +T 1F 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 01 00 02 09 01 00 +T 24 00 00 00 00 00 00 00 E1 E1 C3 00 00 00 00 +R 00 00 01 00 02 04 00 00 02 0B 02 00 diff --git a/src/nos/lib/ppp_lib/_ppp_log.rel b/src/nos/lib/ppp_lib/_ppp_log.rel new file mode 100644 index 00000000..66221294 --- /dev/null +++ b/src/nos/lib/ppp_lib/_ppp_log.rel @@ -0,0 +1,65 @@ +XL4 +H 2 areas B global symbols +S ?BANK_CALL_DIRECT_L08 Ref00000000 +S __trace_log Ref00000000 +S ___0160_55aa__25s_20PPP_20_25s Ref00000000 +S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___getfail Ref00000000 +S .__.ABS. Def00000000 +S _free Ref00000000 +S __gettext Ref00000000 +S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ?CL64180B_4_06_L00 Ref00000000 +A _DEFAULT size 0 flags 0 +A CODE size 87 flags 0 +S __ppp_log Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 CD 00 00 00 00 FE FF 21 05 00 DD +R 00 00 01 00 02 05 08 00 +T 09 00 00 00 4E 02 DD 46 03 09 7E B7 28 71 +R 00 00 01 00 +T 13 00 00 00 +R 00 00 01 00 +T 13 00 00 00 DD 4E 0C DD 5E 0A DD 56 0B 3E +R 00 00 01 00 +T 1D 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 07 00 02 09 07 00 +T 22 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D +R 00 00 01 00 02 04 00 00 +T 2B 00 00 00 B4 20 13 +R 00 00 01 00 +T 2E 00 00 00 +R 00 00 01 00 +T 2E 00 00 00 DD 4E 0C DD 5E 0A DD 56 0B 3E +R 00 00 01 00 +T 38 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 3D 00 00 00 00 00 00 00 18 43 +R 00 00 01 00 02 04 00 00 +T 41 00 00 00 +R 00 00 01 00 +T 41 00 00 00 DD 6E FE DD 66 FF E5 DD 6E 02 DD +R 00 00 01 00 +T 4C 00 00 00 66 03 46 23 66 68 23 23 4E 23 46 +R 00 00 01 00 +T 57 00 00 00 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 06 02 00 +T 5C 00 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 +R 00 00 01 00 02 04 02 00 +T 65 00 00 00 4E 23 46 C5 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 01 00 +T 6C 00 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 01 00 02 09 00 00 +T 73 00 00 00 E1 E1 E1 DD 5E FE DD 56 FF 3E +R 00 00 01 00 +T 7D 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 82 00 00 00 00 00 00 00 +R 00 00 01 00 02 04 00 00 +T 84 00 00 00 +R 00 00 01 00 +T 84 00 00 00 +R 00 00 01 00 +T 84 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/ppp_lib/_ppp_skipped.rel b/src/nos/lib/ppp_lib/_ppp_skipped.rel new file mode 100644 index 00000000..7663e263 --- /dev/null +++ b/src/nos/lib/ppp_lib/_ppp_skipped.rel @@ -0,0 +1,40 @@ +XL4 +H 2 areas 8 global symbols +S ?BANK_CALL_DIRECT_L08 Ref00000000 +S _slhc_toss Ref00000000 +S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S .__.ABS. Def00000000 +S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ?CL64180B_4_06_L00 Ref00000000 +S __ppp_error Ref00000000 +A _DEFAULT size 0 flags 0 +A CODE size 56 flags 0 +S __ppp_skipped Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 CD 00 00 00 00 FE FF 21 5E 00 DD +R 00 00 01 00 02 05 04 00 +T 09 00 00 00 5E 02 DD 56 03 19 56 23 66 6A DD +R 00 00 01 00 +T 14 00 00 00 75 FE DD 74 FF 7D B4 28 15 +R 00 00 01 00 +T 1D 00 00 00 +R 00 00 01 00 +T 1D 00 00 00 21 40 00 DD 4E FE DD 46 FF 09 5E +R 00 00 01 00 +T 28 00 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 01 00 +T 2D 00 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 01 00 02 09 00 00 +T 32 00 00 00 +R 00 00 01 00 +T 32 00 00 00 DD 6E 0C E5 DD 6E 0A DD 66 0B E5 +R 00 00 01 00 +T 3D 00 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 +R 00 00 01 00 +T 48 00 00 00 03 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 06 00 02 0B 06 00 +T 4E 00 00 00 CD 00 00 00 00 E1 E1 C3 +R 00 00 01 00 02 05 00 00 +T 54 00 00 00 00 00 00 00 +R 00 00 01 00 02 04 02 00 diff --git a/src/nos/lib/ppp_lib/asy.rel b/src/nos/lib/ppp_lib/asy.rel index 51a8fffc..32b45905 100644 --- a/src/nos/lib/ppp_lib/asy.rel +++ b/src/nos/lib/ppp_lib/asy.rel @@ -2,27 +2,27 @@ XL4 H 3 areas 22 global symbols S _stricmp Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0163_bba5__25s_3a_20mode_20_2 Ref00000000 S _if_lookup Ref00000000 S _Ifaces Ref00000000 -S ___02d7_aa15_Mode_20_25s_20unkno Ref00000000 S _if_name Ref00000000 -S ___03c7_d2a4_Unknown_20encapsula Ref00000000 S _Asymode Ref00000000 S _setencap Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _strchr Ref00000000 S _if_detach Ref00000000 S _strdupw Ref00000000 +S ___0343_aa15_Mode_20_25s_20unkno Ref00000000 S _if_tx Ref00000000 -S ___03ae_76b7_Too_20many_20asynch Ref00000000 S .__.ABS. Def00000000 S _asy_init Ref00000000 S _free Ref00000000 S _callocw Ref00000000 +S ___0458_d2a4_Unknown_20encapsula Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?S_MUL_L02 Ref00000000 +S ___043d_76b7_Too_20many_20asynch Ref00000000 S _atoi Ref00000000 +S ___02fb_5a50_Interface_20_25s_20 Ref00000000 S _Asy Ref00000000 S _atol Ref00000000 S ?SS_CMP_L02 Ref00000000 @@ -31,7 +31,7 @@ S __printf Ref00000000 S _Ip_addr Ref00000000 S _htoi Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___02a5_5a50_Interface_20_25s_20 Ref00000000 +S ___018f_bba5__25s_3a_20mode_20_2 Ref00000000 S _newproc Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 4FD flags 0 @@ -40,11 +40,11 @@ A CSTR size 4 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 E6 FF DD 36 EA FF -R 00 00 01 00 02 05 14 00 +R 00 00 01 00 02 05 12 00 T 09 00 00 00 DD 36 EB FF 21 08 00 09 5E 23 56 R 00 00 01 00 T 14 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 +R 00 00 01 00 2B 05 02 00 02 0A 02 00 T 1A 00 00 00 00 00 00 00 7D B4 28 26 R 00 00 01 00 02 04 01 00 T 20 00 00 00 @@ -52,9 +52,9 @@ R 00 00 01 00 T 20 00 00 00 21 08 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 T 2B 00 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 1F 00 +R 00 00 01 00 2B 08 16 00 T 32 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 1F 00 2B 0A 1B 00 +R 00 00 01 00 02 04 16 00 2B 0A 1B 00 T 38 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 1B 00 02 09 01 00 T 3F 00 00 00 F1 21 FF FF C3 51 04 00 00 @@ -64,9 +64,9 @@ R 00 00 01 00 T 46 00 00 00 21 06 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 T 51 00 00 00 23 46 11 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 09 00 +R 00 00 01 00 2B 0A 06 00 T 59 00 00 00 00 00 00 00 CD 00 00 00 00 7D A4 -R 00 00 01 00 02 04 09 00 02 09 01 00 +R 00 00 01 00 02 04 06 00 02 09 01 00 T 60 00 00 00 3C 20 26 R 00 00 01 00 T 63 00 00 00 @@ -74,9 +74,9 @@ R 00 00 01 00 T 63 00 00 00 21 06 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 T 6E 00 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 07 00 +R 00 00 01 00 2B 08 11 00 T 75 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 07 00 2B 0A 1B 00 +R 00 00 01 00 02 04 11 00 2B 0A 1B 00 T 7B 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 1B 00 02 09 01 00 T 82 00 00 00 F1 21 FF FF C3 51 04 00 00 @@ -96,7 +96,7 @@ R 00 00 01 00 T A1 00 00 00 01 5A 00 DD 5E E8 DD 56 E9 CD R 00 00 01 00 T AB 00 00 00 00 00 00 00 21 00 00 00 00 19 7E -R 00 00 01 00 02 04 15 00 02 09 17 00 +R 00 00 01 00 02 04 13 00 02 09 17 00 T B2 00 00 00 23 B6 20 02 R 00 00 01 00 T B6 00 00 00 @@ -120,7 +120,7 @@ R 00 00 01 00 T D3 00 00 00 R 00 00 01 00 T D3 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 05 14 00 02 0B 14 00 T D9 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 1B 00 02 0B 1B 00 T DF 00 00 00 CD 00 00 00 00 F1 F1 21 FF FF C3 @@ -132,7 +132,7 @@ R 00 00 01 00 T EA 00 00 00 01 5A 00 DD 5E E8 DD 56 E9 CD R 00 00 01 00 T F4 00 00 00 00 00 00 00 21 00 00 00 00 19 DD -R 00 00 01 00 02 04 15 00 02 09 17 00 +R 00 00 01 00 02 04 13 00 02 09 17 00 T FB 00 00 00 75 F8 DD 74 F9 DD 6E 04 DD 66 05 R 00 00 01 00 T 06 01 00 00 23 23 5E 23 56 3E 00 00 00 00 21 @@ -142,13 +142,13 @@ R 00 00 01 00 02 04 1D 00 02 09 01 00 T 15 01 00 00 F4 DD 74 F5 21 04 00 DD 4E 04 DD R 00 00 01 00 T 20 01 00 00 46 05 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 16 00 +R 00 00 01 00 2B 0B 15 00 T 28 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 16 00 02 0A 01 00 +R 00 00 01 00 02 05 15 00 02 0A 01 00 T 2F 01 00 00 75 F6 DD 74 F7 01 69 00 11 01 00 R 00 00 01 00 T 3A 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 13 00 02 0A 13 00 +R 00 00 01 00 2B 05 10 00 02 0A 10 00 T 40 01 00 00 00 00 00 00 DD 75 E6 DD 74 E7 01 R 00 00 01 00 02 04 01 00 T 49 01 00 00 04 00 09 ED 4B 02 00 00 00 ED 5B @@ -160,15 +160,15 @@ R 00 00 01 00 T 65 01 00 00 08 00 DD 4E 04 DD 46 05 09 5E 23 R 00 00 01 00 T 70 01 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 +R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 T 76 01 00 00 CD 00 00 00 00 EB E1 73 23 72 21 R 00 00 01 00 02 05 01 00 T 7F 01 00 00 10 00 DD 5E E6 DD 56 E7 19 E5 21 R 00 00 01 00 T 8A 01 00 00 0C 00 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 16 00 +R 00 00 01 00 2B 0B 15 00 T 92 01 00 00 21 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 16 00 02 0A 01 00 +R 00 00 01 00 02 05 15 00 02 0A 01 00 T 99 01 00 00 E1 73 23 72 21 2C 00 DD 5E E6 DD R 00 00 01 00 T A4 01 00 00 56 E7 19 DD 4E E8 DD 46 E9 71 23 @@ -180,13 +180,13 @@ R 00 00 01 00 89 05 01 00 29 0B 01 00 T BC 01 00 00 21 06 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 T C7 01 00 00 23 46 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 09 00 +R 00 00 01 00 2B 07 06 00 T CC 01 00 00 00 00 00 00 CD 00 00 00 00 DD 36 -R 00 00 01 00 02 04 09 00 02 09 01 00 +R 00 00 01 00 02 04 06 00 02 09 01 00 T D3 01 00 00 F0 00 00 00 00 DD 36 F1 -R 00 00 01 00 0B 05 08 00 +R 00 00 01 00 0B 05 05 00 T D8 01 00 00 00 00 00 00 -R 00 00 01 00 8B 04 08 00 +R 00 00 01 00 8B 04 05 00 T D9 01 00 00 R 00 00 01 00 T D9 01 00 00 DD 6E F0 DD 66 F1 7E 23 B6 CA @@ -222,15 +222,15 @@ R 00 00 01 00 T 42 02 00 00 23 46 C5 DD 6E E6 DD 66 E7 23 23 R 00 00 01 00 T 4D 02 00 00 4E 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 02 00 +R 00 00 01 00 2B 09 1F 00 T 55 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 02 00 2B 0A 1B 00 +R 00 00 01 00 02 04 1F 00 2B 0A 1B 00 T 5B 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 1B 00 02 09 01 00 T 62 02 00 00 F1 F1 DD 5E E6 DD 56 E7 3E R 00 00 01 00 T 6B 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 09 00 02 09 09 00 T 70 02 00 00 00 00 00 00 21 FF FF C3 R 00 00 01 00 02 04 01 00 T 76 02 00 00 51 04 00 00 @@ -260,25 +260,25 @@ R 00 00 01 00 T A0 02 00 00 23 56 D5 21 06 00 09 4E 23 46 C5 R 00 00 01 00 T AB 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 05 00 02 0B 05 00 +R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 T B1 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 1B 00 02 0B 1B 00 T B7 02 00 00 CD 00 00 00 00 F1 F1 F1 F1 DD 5E R 00 00 01 00 02 05 01 00 T C0 02 00 00 E6 DD 56 E7 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0C 00 +R 00 00 01 00 2B 09 09 00 T C7 02 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0C 00 02 09 01 00 +R 00 00 01 00 02 04 09 00 02 09 01 00 T CD 02 00 00 FF FF C3 51 04 00 00 R 00 00 01 00 00 07 01 00 T D2 02 00 00 R 00 00 01 00 T D2 02 00 00 2A 00 00 00 00 E5 DD 6E E6 DD 66 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 03 00 T DB 02 00 00 E7 C1 71 23 70 DD 6E E6 DD 66 E7 R 00 00 01 00 T E6 02 00 00 22 00 00 00 00 AF DD 77 EE DD 77 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 03 00 T EF 02 00 00 EF AF DD 77 EC DD 77 ED DD 4E 02 R 00 00 01 00 T FA 02 00 00 DD 46 03 21 08 00 CD 00 00 00 00 @@ -290,9 +290,9 @@ R 00 00 01 00 T 05 03 00 00 01 63 00 21 10 00 DD 5E 04 DD 56 R 00 00 01 00 T 10 03 00 00 05 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0B 00 +R 00 00 01 00 2B 0A 08 00 T 18 03 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 0B 00 02 09 01 00 +R 00 00 01 00 02 04 08 00 02 09 01 00 T 1F 03 00 00 28 08 R 00 00 01 00 T 21 03 00 00 @@ -304,9 +304,9 @@ R 00 00 01 00 T 29 03 00 00 01 72 00 21 10 00 DD 5E 04 DD 56 R 00 00 01 00 T 34 03 00 00 05 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0B 00 +R 00 00 01 00 2B 0A 08 00 T 3C 03 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 0B 00 02 09 01 00 +R 00 00 01 00 02 04 08 00 02 09 01 00 T 43 03 00 00 28 08 R 00 00 01 00 T 45 03 00 00 @@ -320,9 +320,9 @@ R 00 00 01 00 T 4D 03 00 00 01 63 00 21 04 00 DD 5E 04 DD 56 R 00 00 01 00 T 58 03 00 00 05 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0B 00 +R 00 00 01 00 2B 0A 08 00 T 60 03 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 0B 00 02 09 01 00 +R 00 00 01 00 02 04 08 00 02 09 01 00 T 67 03 00 00 28 0A R 00 00 01 00 T 69 03 00 00 @@ -356,23 +356,23 @@ R 00 00 01 00 T CF 03 00 00 F5 E5 DD 4E E6 DD 46 E7 DD 5E E8 R 00 00 01 00 T DA 03 00 00 DD 56 E9 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 11 00 +R 00 00 01 00 2B 08 0E 00 T E0 03 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 11 00 02 09 01 00 +R 00 00 01 00 02 04 0E 00 02 09 01 00 T E7 03 00 00 12 00 39 F9 EB 01 00 00 00 00 DD R 00 00 01 00 00 0A 02 00 T F0 03 00 00 5E E6 DD 56 E7 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 06 00 +R 00 00 01 00 2B 0A 04 00 T F8 03 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 06 00 02 09 01 00 +R 00 00 01 00 02 04 04 00 02 09 01 00 T FF 03 00 00 F2 DD 74 F3 21 1A 00 DD 4E E6 DD R 00 00 01 00 T 0A 04 00 00 46 E7 09 E5 11 00 00 D5 11 00 00 R 00 00 01 00 T 15 04 00 00 D5 C5 01 00 00 C5 0E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 +R 00 00 01 00 2B 0B 0C 00 T 1D 04 00 00 C5 01 00 00 00 00 C5 01 00 03 DD -R 00 00 01 00 02 06 0E 00 +R 00 00 01 00 02 06 0C 00 T 26 04 00 00 5E F2 DD 56 F3 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 20 00 T 2E 04 00 00 00 00 00 00 CD 00 00 00 00 EB 21 @@ -380,19 +380,19 @@ R 00 00 01 00 02 04 20 00 02 09 01 00 T 35 04 00 00 0C 00 39 F9 EB 4D 44 E1 71 23 70 R 00 00 01 00 T 40 04 00 00 DD 5E F2 DD 56 F3 3E 00 00 00 00 -R 00 00 01 00 2B 0B 12 00 +R 00 00 01 00 2B 0B 0F 00 T 48 04 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 12 00 02 0A 01 00 +R 00 00 01 00 02 05 0F 00 02 0A 01 00 T 4F 04 00 00 00 00 R 00 00 01 00 T 51 04 00 00 R 00 00 01 00 T 51 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 07 00 T 54 04 00 00 R 00 00 01 00 T 54 04 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD -R 00 00 01 00 02 05 14 00 +R 00 00 01 00 02 05 12 00 T 5D 04 00 00 B6 03 20 06 R 00 00 01 00 T 61 04 00 00 @@ -406,9 +406,9 @@ R 00 00 01 00 2B 0B 1A 00 T 6F 04 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 1A 00 02 0A 01 00 T 76 04 00 00 36 FE 00 00 00 00 DD 36 FF -R 00 00 01 00 0B 06 08 00 +R 00 00 01 00 0B 06 05 00 T 7C 04 00 00 00 00 00 00 -R 00 00 01 00 8B 04 08 00 +R 00 00 01 00 8B 04 05 00 T 7D 04 00 00 R 00 00 01 00 T 7D 04 00 00 DD 6E FE DD 66 FF 7E 23 B6 28 6F @@ -460,7 +460,7 @@ R 00 00 01 00 T FA 04 00 00 R 00 00 01 00 T FA 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 07 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 20 74 78 00 diff --git a/src/nos/lib/ppp_lib/dialer.rel b/src/nos/lib/ppp_lib/dialer.rel deleted file mode 100644 index f42cfd9c..00000000 --- a/src/nos/lib/ppp_lib/dialer.rel +++ /dev/null @@ -1,1459 +0,0 @@ -XL4 -H 5 areas 52 global symbols -S _suspend Ref00000000 -S _stricmp Ref00000000 -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0591_5069_status Ref00000000 -S ___03cf_f8b8_Usage_3a_20dial_20_ Ref00000000 -S ___0592_7dfc_status_20up_20_7c_2 Ref00000000 -S _stop_timer Ref00000000 -S ?S_MULASG_L02 Ref00000000 -S _tprintf Ref00000000 -S _secclock Ref00000000 -S _fflush Ref00000000 -S ___056a_e397_send_20_22string_22 Ref00000000 -S _logmsg Ref00000000 -S _donothing Ref00000000 -S _rip Ref00000000 -S ___0584_60cd_speed Ref00000000 -S _set_timer Ref00000000 -S ___05dd_d63a_wait Ref00000000 -S _ppause Ref00000000 -S _if_name Ref00000000 -S _cmdparse Ref00000000 -S _devparam Ref00000000 -S _resume Ref00000000 -S ___00c0_8c07__20idle_20timer_20_ Ref00000000 -S ___0159_35bd__25s_3a_20_25s_2c Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___0000_ffff_ Ref00000000 -S _asy_write Ref00000000 -S _strlen Ref00000000 -S ___01fa_0e64_Calls_20originated_ Ref00000000 -S _strdupw Ref00000000 -S _fgets Ref00000000 -S ___046b_e0fd_down_20script_3a_20 Ref00000000 -S ?LEAVE_DIRECT_L09 Ref00000000 -S _read_timer Ref00000000 -S .__.ABS. Def00000000 -S _raw_dump Ref00000000 -S ___01fb_9777_Calls_20timed_20out Ref00000000 -S _kwait Ref00000000 -S _killproc Ref00000000 -S ___0045_48df__20_20_20_20_20_20_ Ref00000000 -S ___05ca_f303_up_20script_3a_20_2 Ref00000000 -S _free Ref00000000 -S _fputc Ref00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ___ctype Ref00000000 -S ___0407_c2a0_answer_20script_3a_ Ref00000000 -S ___02da_06a9_Must_20set_20_27r_2 Ref00000000 -S ?L_MUL_L03 Ref00000000 -S _errno Ref00000000 -S ___0449_5769_control Ref00000000 -S ___03c2_41aa_Unknown_20command Ref00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S _get_asy Ref00000000 -S ___0569_9a3e_send Ref00000000 -S ?L_INCASG_L03 Ref00000000 -S _Asy Ref00000000 -S ?SL_DIV_L03 Ref00000000 -S _start_timer Ref00000000 -S _calloc Ref00000000 -S ___0585_9785_speed_20_3cbps_3e Ref00000000 -S _mallocw Ref00000000 -S _freopen Ref00000000 -S ___05de_2887_wait_20_3cmilliseco Ref00000000 -S _atol Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S __printf Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S _kalarm Ref00000000 -S ___044a_941e_control_20up_20_7c_ Ref00000000 -S _fclose Ref00000000 -S ___02a7_63a0_Interface_20_25s_20 Ref00000000 -S _bitbucket Ref00000000 -S _asy_speed Ref00000000 -S _newproc Ref00000000 -S ___030b_7f27_No_20dialer_20activ Ref00000000 -S ___0143_ace2__25s_20dialer_3a_20 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size EFF flags 0 -S _sd_answer Def00000673 -S _sd_init Def00000000 -S _sd_stat Def0000031C -S _dialer_kick Def0000050B -A CSTR size A4 flags 0 -A IDATA0 size 5B flags 0 -A CDATA0 size 5B flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF 21 2C 00 DD -R 00 00 01 00 02 05 34 00 -T 09 00 00 00 4E 02 DD 46 03 09 46 23 66 68 01 -R 00 00 01 00 -T 14 00 00 00 02 80 3E 80 AC 67 ED 42 30 26 21 -R 00 00 01 00 -T 1F 00 00 00 2C 00 DD 4E 02 DD 46 03 09 5E 23 -R 00 00 01 00 -T 2A 00 00 00 56 01 59 00 CD 00 00 00 00 21 -R 00 00 01 00 02 09 35 00 -T 32 00 00 00 00 00 00 00 19 46 23 66 68 DD 4E -R 00 00 01 00 02 04 39 00 -T 3B 00 00 00 02 DD 46 03 A7 ED 42 28 24 -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 -R 00 00 01 00 -T 44 00 00 00 DD 6E 10 DD 66 11 23 23 4E 23 46 -R 00 00 01 00 -T 4F 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 48 00 -T 54 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 48 00 2B 0A 43 00 -T 5A 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 43 00 02 09 02 00 -T 61 00 00 00 F1 21 01 00 C3 19 03 00 00 -R 00 00 01 00 00 09 01 00 -T 68 00 00 00 -R 00 00 01 00 -T 68 00 00 00 21 2C 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 73 00 00 00 23 46 11 59 00 CD 00 00 00 00 21 -R 00 00 01 00 02 0A 35 00 -T 7C 00 00 00 00 00 00 00 19 DD 75 FA DD 74 FB -R 00 00 01 00 02 04 39 00 -T 85 00 00 00 DD 7E 0A DD B6 0B DD B6 0C DD B6 -R 00 00 01 00 -T 90 00 00 00 0D 28 39 01 03 80 DD 6E 0E DD 66 -R 00 00 01 00 -T 9B 00 00 00 0F 3E 80 AC 67 ED 42 30 28 -R 00 00 01 00 -T A4 00 00 00 -R 00 00 01 00 -T A4 00 00 00 -R 00 00 01 00 -T A4 00 00 00 -R 00 00 01 00 -T A4 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 04 00 02 0B 04 00 -T AA 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 43 00 02 0B 43 00 -T B0 00 00 00 CD 00 00 00 00 F1 F1 0E -R 00 00 01 00 02 05 02 00 -T B6 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 28 00 02 0A 28 00 -T BC 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 43 00 02 0A 43 00 -T C2 00 00 00 00 00 00 00 F1 F1 21 01 00 C3 -R 00 00 01 00 02 04 02 00 -T CA 00 00 00 19 03 00 00 -R 00 00 01 00 00 04 01 00 -T CC 00 00 00 -R 00 00 01 00 -T CC 00 00 00 21 2F 00 DD 4E FA DD 46 FB 09 7E -R 00 00 01 00 -T D7 00 00 00 B7 20 17 -R 00 00 01 00 -T DA 00 00 00 -R 00 00 01 00 -T DA 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 2F 00 02 0B 2F 00 -T E0 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 43 00 02 0B 43 00 -T E6 00 00 00 CD 00 00 00 00 F1 F1 21 01 00 C3 -R 00 00 01 00 02 05 02 00 -T EF 00 00 00 19 03 00 00 -R 00 00 01 00 00 04 01 00 -T F1 00 00 00 -R 00 00 01 00 -T F1 00 00 00 21 24 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T FC 00 00 00 23 B6 CA BD 01 00 00 -R 00 00 01 00 00 07 01 00 -T 01 01 00 00 -R 00 00 01 00 -T 01 01 00 00 21 24 00 DD 4E 02 DD 46 03 09 46 -R 00 00 01 00 -T 0C 01 00 00 23 66 68 DD 75 FC DD 74 FD 01 -R 00 00 01 00 -T 16 01 00 00 06 00 09 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 06 00 -T 1D 01 00 00 00 00 00 00 CD 00 00 00 00 DD 6E -R 00 00 01 00 02 04 06 00 02 09 02 00 -T 24 01 00 00 FC DD 66 FD 7E 23 B6 28 1B -R 00 00 01 00 -T 2D 01 00 00 -R 00 00 01 00 -T 2D 01 00 00 DD 6E FC DD 66 FD 5E 23 56 3E -R 00 00 01 00 -T 37 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2A 00 02 09 2A 00 -T 3C 01 00 00 00 00 00 00 DD 6E FC DD 66 FD AF -R 00 00 01 00 02 04 02 00 -T 45 01 00 00 77 23 77 -R 00 00 01 00 -T 48 01 00 00 -R 00 00 01 00 -T 48 01 00 00 DD 6E FC DD 66 FD 23 23 7E 23 B6 -R 00 00 01 00 -T 53 01 00 00 28 1F -R 00 00 01 00 -T 55 01 00 00 -R 00 00 01 00 -T 55 01 00 00 DD 6E FC DD 66 FD 23 23 5E 23 56 -R 00 00 01 00 -T 60 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2A 00 02 0A 2A 00 -T 66 01 00 00 00 00 00 00 DD 6E FC DD 66 FD 23 -R 00 00 01 00 02 04 02 00 -T 6F 01 00 00 23 AF 77 23 77 -R 00 00 01 00 -T 74 01 00 00 -R 00 00 01 00 -T 74 01 00 00 21 04 00 DD 4E FC DD 46 FD 09 7E -R 00 00 01 00 -T 7F 01 00 00 23 B6 28 1D -R 00 00 01 00 -T 83 01 00 00 -R 00 00 01 00 -T 83 01 00 00 21 04 00 DD 4E FC DD 46 FD 09 5E -R 00 00 01 00 -T 8E 01 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 2A 00 -T 93 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 2A 00 02 09 02 00 -T 99 01 00 00 04 00 09 AF 77 23 77 -R 00 00 01 00 -T A0 01 00 00 -R 00 00 01 00 -T A0 01 00 00 21 24 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T AB 01 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 2A 00 -T B0 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 2A 00 02 09 02 00 -T B6 01 00 00 24 00 09 AF 77 23 77 -R 00 00 01 00 -T BD 01 00 00 -R 00 00 01 00 -T BD 01 00 00 21 1C 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T C8 01 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 27 00 -T CD 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 27 00 02 09 02 00 -T D3 01 00 00 1C 00 09 AF 77 23 77 01 24 00 11 -R 00 00 01 00 -T DE 01 00 00 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 3C 00 -T E3 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 3C 00 02 09 02 00 -T EA 01 00 00 FC DD 74 FD 21 24 00 DD 4E 02 DD -R 00 00 01 00 -T F5 01 00 00 46 03 09 DD 5E FC DD 56 FD 73 23 -R 00 00 01 00 -T 00 02 00 00 72 21 26 00 09 36 0B 05 00 00 23 -R 00 00 01 00 09 0A 01 00 -T 08 02 00 00 36 0B 05 00 00 23 36 0B 05 00 00 -R 00 00 01 00 89 05 01 00 29 0B 01 00 -T 0D 02 00 00 DD 6E 0C DD 66 0D E5 DD 6E 0A DD -R 00 00 01 00 -T 18 02 00 00 66 0B E5 21 06 00 19 EB 3E -R 00 00 01 00 -T 21 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 10 00 02 09 10 00 -T 26 02 00 00 00 00 00 00 E1 E1 21 10 00 DD 5E -R 00 00 01 00 02 04 02 00 -T 2F 02 00 00 FC DD 56 FD 19 36 E7 05 00 00 23 -R 00 00 01 00 09 0A 01 00 -T 37 02 00 00 36 E7 05 00 00 23 36 E7 05 00 00 -R 00 00 01 00 89 05 01 00 29 0B 01 00 -T 3C 02 00 00 21 13 00 19 71 23 70 DD 7E 0A DD -R 00 00 01 00 -T 47 02 00 00 B6 0B DD B6 0C DD B6 0D CA -R 00 00 01 00 -T 50 02 00 00 16 03 00 00 -R 00 00 01 00 00 04 01 00 -T 52 02 00 00 -R 00 00 01 00 -T 52 02 00 00 DD 6E 10 DD 66 11 5E 23 56 3E -R 00 00 01 00 -T 5C 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1E 00 02 09 1E 00 -T 61 02 00 00 00 00 00 00 E5 DD 6E FC DD 66 FD -R 00 00 01 00 02 04 02 00 -T 6A 02 00 00 C1 71 23 70 DD 6E FC DD 66 FD 23 -R 00 00 01 00 -T 75 02 00 00 23 E5 DD 4E 10 DD 46 11 03 03 0A -R 00 00 01 00 -T 80 02 00 00 5F 03 0A 57 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 1E 00 -T 87 02 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 1E 00 02 09 02 00 -T 8E 02 00 00 E1 71 23 70 21 04 00 DD 4E FC DD -R 00 00 01 00 -T 99 02 00 00 46 FD 09 E5 21 04 00 DD 4E 10 DD -R 00 00 01 00 -T A4 02 00 00 46 11 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1E 00 -T AC 02 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 1E 00 02 0A 02 00 -T B3 02 00 00 44 E1 71 23 70 01 00 00 00 00 DD -R 00 00 01 00 00 0A 02 00 -T BC 02 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 13 00 -T C4 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 13 00 02 09 02 00 -T CB 02 00 00 FE DD 74 FF 21 1C 00 DD 4E 02 DD -R 00 00 01 00 -T D6 02 00 00 46 03 09 E5 11 00 00 D5 11 00 00 -R 00 00 01 00 -T E1 02 00 00 D5 C5 21 2C 00 DD 4E 02 DD 46 03 -R 00 00 01 00 -T EC 02 00 00 09 4E 23 46 C5 0E 73 06 00 00 C5 -R 00 00 01 00 29 0A 01 00 -T F4 02 00 00 21 73 06 00 00 E5 01 00 03 DD 5E -R 00 00 01 00 00 05 01 00 -T FD 02 00 00 FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 4B 00 -T 04 03 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 4B 00 02 09 02 00 -T 0B 03 00 00 0C 00 39 F9 EB 4D 44 E1 71 23 70 -R 00 00 01 00 -T 16 03 00 00 -R 00 00 01 00 -T 16 03 00 00 21 00 00 -R 00 00 01 00 -T 19 03 00 00 -R 00 00 01 00 -T 19 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 19 00 -T 1C 03 00 00 -R 00 00 01 00 -T 1C 03 00 00 CD 00 00 00 00 FC FF 21 24 00 DD -R 00 00 01 00 02 05 34 00 -T 25 03 00 00 4E 02 DD 46 03 09 46 23 66 68 DD -R 00 00 01 00 -T 30 03 00 00 75 FC DD 74 FD 7D B4 20 24 -R 00 00 01 00 -T 39 03 00 00 -R 00 00 01 00 -T 39 03 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 -R 00 00 01 00 -T 44 03 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 4C 00 -T 49 03 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 4C 00 2B 0A 43 00 -T 4F 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 43 00 02 09 02 00 -T 56 03 00 00 F1 21 01 00 C3 08 05 00 00 -R 00 00 01 00 00 09 01 00 -T 5D 03 00 00 -R 00 00 01 00 -T 5D 03 00 00 21 2C 00 DD 4E 02 DD 46 03 09 5E -R 00 00 01 00 -T 68 03 00 00 23 56 01 59 00 CD 00 00 00 00 21 -R 00 00 01 00 02 0A 35 00 -T 71 03 00 00 00 00 00 00 19 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 39 00 -T 7A 03 00 00 01 2D 00 09 7E E6 80 28 05 21 -R 00 00 01 00 -T 84 03 00 00 0A 00 00 00 18 03 -R 00 00 01 00 00 04 02 00 -T 88 03 00 00 -R 00 00 01 00 -T 88 03 00 00 21 0D 00 00 00 -R 00 00 01 00 00 05 02 00 -T 8B 03 00 00 -R 00 00 01 00 -T 8B 03 00 00 E5 DD 6E 02 DD 66 03 23 23 4E 23 -R 00 00 01 00 -T 96 03 00 00 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 07 18 00 -T 9C 03 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 18 00 2B 0A 43 00 -T A2 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 43 00 02 09 02 00 -T A9 03 00 00 F1 F1 21 00 00 E5 21 E8 03 E5 21 -R 00 00 01 00 -T B4 03 00 00 06 00 DD 4E FC DD 46 FD 09 23 23 -R 00 00 01 00 -T BF 03 00 00 5E 23 56 23 4E 23 46 C5 D5 01 -R 00 00 01 00 -T C9 03 00 00 00 00 21 37 00 CD 00 00 00 00 CD -R 00 00 01 00 02 0A 30 00 -T D2 03 00 00 00 00 00 00 C5 E5 21 00 00 E5 21 -R 00 00 01 00 02 04 3A 00 -T DB 03 00 00 E8 03 E5 21 06 00 DD 4E FC DD 46 -R 00 00 01 00 -T E6 03 00 00 FD 09 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 22 00 -T EC 03 00 00 00 00 00 00 CD 00 00 00 00 CD -R 00 00 01 00 02 04 22 00 02 09 02 00 -T F2 03 00 00 00 00 00 00 C5 E5 0E 00 00 00 00 -R 00 00 01 00 02 04 3A 00 2B 0B 17 00 -T F8 03 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 17 00 -T FE 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 43 00 02 09 43 00 -T 03 04 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB -R 00 00 01 00 02 04 02 00 -T 0C 04 00 00 DD 6E FC DD 66 FD 7E 23 B6 28 1C -R 00 00 01 00 -T 17 04 00 00 -R 00 00 01 00 -T 17 04 00 00 DD 6E FC DD 66 FD 4E 23 46 C5 0E -R 00 00 01 00 -T 22 04 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 29 00 02 0A 29 00 -T 28 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 43 00 02 0A 43 00 -T 2E 04 00 00 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 04 02 00 -T 33 04 00 00 -R 00 00 01 00 -T 33 04 00 00 DD 6E FC DD 66 FD 23 23 7E 23 B6 -R 00 00 01 00 -T 3E 04 00 00 28 1E -R 00 00 01 00 -T 40 04 00 00 -R 00 00 01 00 -T 40 04 00 00 DD 6E FC DD 66 FD 23 23 4E 23 46 -R 00 00 01 00 -T 4B 04 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 20 00 -T 50 04 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 20 00 2B 0A 43 00 -T 56 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 43 00 02 09 02 00 -T 5D 04 00 00 F1 -R 00 00 01 00 -T 5E 04 00 00 -R 00 00 01 00 -T 5E 04 00 00 21 04 00 DD 4E FC DD 46 FD 09 7E -R 00 00 01 00 -T 69 04 00 00 23 B6 28 20 -R 00 00 01 00 -T 6D 04 00 00 -R 00 00 01 00 -T 6D 04 00 00 21 04 00 DD 4E FC DD 46 FD 09 4E -R 00 00 01 00 -T 78 04 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 2E 00 -T 7F 04 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 2E 00 2B 0A 43 00 -T 85 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 43 00 02 09 02 00 -T 8C 04 00 00 F1 -R 00 00 01 00 -T 8D 04 00 00 -R 00 00 01 00 -T 8D 04 00 00 21 1A 00 DD 4E FC DD 46 FD 09 5E -R 00 00 01 00 -T 98 04 00 00 23 56 23 4E 23 46 C5 D5 21 16 00 -R 00 00 01 00 -T A3 04 00 00 DD 4E FC DD 46 FD 09 5E 23 56 23 -R 00 00 01 00 -T AE 04 00 00 4E 23 46 C5 D5 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 1D 00 -T B6 04 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 1D 00 2B 0B 43 00 -T BC 04 00 00 21 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 43 00 02 0A 02 00 -T C3 04 00 00 21 0C 00 39 F9 EB 21 55 00 DD 4E -R 00 00 01 00 -T CE 04 00 00 FE DD 46 FF 09 4E 23 46 23 5E 23 -R 00 00 01 00 -T D9 04 00 00 56 D5 C5 21 1E 00 DD 4E FC DD 46 -R 00 00 01 00 -T E4 04 00 00 FD 09 4E 23 46 23 5E 23 56 D5 C5 -R 00 00 01 00 -T EF 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 25 00 02 0B 25 00 -T F5 04 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 43 00 02 0B 43 00 -T FB 04 00 00 CD 00 00 00 00 EB 21 0C 00 39 F9 -R 00 00 01 00 02 05 02 00 -T 04 05 00 00 EB 21 00 00 -R 00 00 01 00 -T 08 05 00 00 -R 00 00 01 00 -T 08 05 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 19 00 -T 0B 05 00 00 -R 00 00 01 00 -T 0B 05 00 00 CD 00 00 00 00 FC FF 21 24 00 DD -R 00 00 01 00 02 05 34 00 -T 14 05 00 00 4E 02 DD 46 03 09 56 23 66 6A DD -R 00 00 01 00 -T 1F 05 00 00 75 FE DD 74 FF 21 2C 00 09 4E 23 -R 00 00 01 00 -T 2A 05 00 00 46 11 59 00 CD 00 00 00 00 21 -R 00 00 01 00 02 09 35 00 -T 32 05 00 00 00 00 00 00 19 DD 75 FC DD 74 FD -R 00 00 01 00 02 04 39 00 -T 3B 05 00 00 21 06 00 DD 4E FE DD 46 FF 09 EB -R 00 00 01 00 -T 46 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 -T 4C 05 00 00 00 00 00 00 21 2F 00 DD 4E FC DD -R 00 00 01 00 02 04 02 00 -T 55 05 00 00 46 FD 09 7E B7 28 72 21 2D 00 DD -R 00 00 01 00 -T 60 05 00 00 4E FC DD 46 FD 09 7E E6 80 20 63 -R 00 00 01 00 -T 6B 05 00 00 DD 6E FE DD 66 FF 7E 23 B6 28 58 -R 00 00 01 00 -T 76 05 00 00 -R 00 00 01 00 -T 76 05 00 00 -R 00 00 01 00 -T 76 05 00 00 -R 00 00 01 00 -T 76 05 00 00 21 16 00 DD 4E FE DD 46 FF 09 CD -R 00 00 01 00 -T 81 05 00 00 00 00 00 00 DD 6E FE DD 66 FF 4E -R 00 00 01 00 02 04 38 00 -T 8A 05 00 00 23 46 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T 93 05 00 00 06 07 00 00 7D B4 20 0F 21 2D 00 -R 00 00 01 00 00 04 01 00 -T 9C 05 00 00 DD 4E FC DD 46 FD 09 7E E6 80 20 -R 00 00 01 00 -T A7 05 00 00 26 -R 00 00 01 00 -T A8 05 00 00 -R 00 00 01 00 -T A8 05 00 00 -R 00 00 01 00 -T A8 05 00 00 -R 00 00 01 00 -T A8 05 00 00 21 1E 00 DD 4E FE DD 46 FF 09 CD -R 00 00 01 00 -T B3 05 00 00 00 00 00 00 DD 6E FE DD 66 FF 23 -R 00 00 01 00 02 04 38 00 -T BC 05 00 00 23 4E 23 46 DD 5E 02 DD 56 03 CD -R 00 00 01 00 -T C7 05 00 00 06 07 00 00 21 FF FF 18 16 -R 00 00 01 00 00 04 01 00 -T CE 05 00 00 -R 00 00 01 00 -T CE 05 00 00 -R 00 00 01 00 -T CE 05 00 00 21 06 00 DD 4E FE DD 46 FF 09 EB -R 00 00 01 00 -T D9 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 3B 00 02 0A 3B 00 -T DF 05 00 00 00 00 00 00 21 00 00 -R 00 00 01 00 02 04 02 00 -T E4 05 00 00 -R 00 00 01 00 -T E4 05 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 19 00 -T E7 05 00 00 -R 00 00 01 00 -T E7 05 00 00 CD 00 00 00 00 21 00 00 E5 21 -R 00 00 01 00 02 05 2C 00 -T EF 05 00 00 00 00 E5 D5 21 00 00 E5 0E -R 00 00 01 00 -T F8 05 00 00 16 06 00 00 C5 21 16 06 00 00 E5 -R 00 00 01 00 29 04 01 00 00 0A 01 00 -T FE 05 00 00 01 00 04 11 12 00 00 00 3E -R 00 00 01 00 00 08 02 00 -T 05 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 4B 00 02 09 4B 00 -T 0A 06 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB -R 00 00 01 00 02 04 02 00 -T 13 06 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 19 00 -T 16 06 00 00 -R 00 00 01 00 -T 16 06 00 00 CD 00 00 00 00 FA FF DD 71 FA DD -R 00 00 01 00 02 05 34 00 -T 1F 06 00 00 70 FB 21 24 00 09 56 23 66 6A DD -R 00 00 01 00 -T 2A 06 00 00 75 FE DD 74 FF 21 2C 00 09 4E 23 -R 00 00 01 00 -T 35 06 00 00 46 11 59 00 CD 00 00 00 00 21 -R 00 00 01 00 02 09 35 00 -T 3D 06 00 00 00 00 00 00 19 DD 75 FC DD 74 FD -R 00 00 01 00 02 04 39 00 -T 46 06 00 00 01 2D 00 09 7E E6 80 28 21 -R 00 00 01 00 -T 4F 06 00 00 -R 00 00 01 00 -T 4F 06 00 00 21 1E 00 DD 4E FE DD 46 FF 09 CD -R 00 00 01 00 -T 5A 06 00 00 00 00 00 00 DD 6E FE DD 66 FF 23 -R 00 00 01 00 02 04 38 00 -T 63 06 00 00 23 4E 23 46 DD 5E FA DD 56 FB CD -R 00 00 01 00 -T 6E 06 00 00 06 07 00 00 -R 00 00 01 00 00 04 01 00 -T 70 06 00 00 -R 00 00 01 00 -T 70 06 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 19 00 -T 73 06 00 00 -R 00 00 01 00 -T 73 06 00 00 CD 00 00 00 00 FA FF DD 71 FA DD -R 00 00 01 00 02 05 34 00 -T 7C 06 00 00 70 FB 11 59 00 DD 4E 02 DD 46 03 -R 00 00 01 00 -T 87 06 00 00 CD 00 00 00 00 21 00 00 00 00 19 -R 00 00 01 00 02 05 35 00 02 0A 39 00 -T 8E 06 00 00 DD 75 FE DD 74 FF 21 24 00 DD 4E -R 00 00 01 00 -T 99 06 00 00 FA DD 46 FB 09 46 23 66 68 DD 75 -R 00 00 01 00 -T A4 06 00 00 FC DD 74 FD 7D B4 20 03 -R 00 00 01 00 -T AC 06 00 00 -R 00 00 01 00 -T AC 06 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 19 00 -T AF 06 00 00 -R 00 00 01 00 -T AF 06 00 00 -R 00 00 01 00 -T AF 06 00 00 -R 00 00 01 00 -T AF 06 00 00 21 2D 00 DD 4E FE DD 46 FF 09 7E -R 00 00 01 00 -T BA 06 00 00 E6 04 20 15 -R 00 00 01 00 -T BE 06 00 00 -R 00 00 01 00 -T BE 06 00 00 21 2D 00 DD 4E FE DD 46 FF 09 EB -R 00 00 01 00 -T C9 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 26 00 02 0A 26 00 -T CF 06 00 00 00 00 00 00 18 DC -R 00 00 01 00 02 04 02 00 -T D3 06 00 00 -R 00 00 01 00 -T D3 06 00 00 21 2D 00 DD 4E FE DD 46 FF 09 7E -R 00 00 01 00 -T DE 06 00 00 E6 FB 77 21 1A 00 DD 4E FC DD 46 -R 00 00 01 00 -T E9 06 00 00 FD 09 CD 00 00 00 00 21 04 00 DD -R 00 00 01 00 02 07 38 00 -T F2 06 00 00 4E FC DD 46 FD 09 4E 23 46 DD 5E -R 00 00 01 00 -T FD 06 00 00 FA DD 56 FB CD 06 07 00 00 18 A9 -R 00 00 01 00 00 09 01 00 -T 06 07 00 00 -R 00 00 01 00 -T 06 07 00 00 CD 00 00 00 00 F6 FF AF DD 77 FD -R 00 00 01 00 02 05 34 00 -T 0F 07 00 00 DD 77 FE 21 00 00 E5 01 -R 00 00 01 00 -T 17 07 00 00 19 00 00 00 DD 5E 04 DD 56 05 3E -R 00 00 01 00 00 04 02 00 -T 20 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 3F 00 02 09 3F 00 -T 25 07 00 00 00 00 00 00 F1 DD 75 F8 DD 74 F9 -R 00 00 01 00 02 04 02 00 -T 2E 07 00 00 7D B4 20 32 -R 00 00 01 00 -T 32 07 00 00 -R 00 00 01 00 -T 32 07 00 00 21 12 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 3D 07 00 00 E6 11 28 1D -R 00 00 01 00 -T 41 07 00 00 -R 00 00 01 00 -T 41 07 00 00 DD 6E 04 DD 66 05 E5 21 -R 00 00 01 00 -T 49 07 00 00 1B 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 00 04 02 00 -T 52 07 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T 58 07 00 00 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 05 02 00 -T 5E 07 00 00 -R 00 00 01 00 -T 5E 07 00 00 21 FF FF C3 8B 09 00 00 -R 00 00 01 00 00 08 01 00 -T 64 07 00 00 -R 00 00 01 00 -T 64 07 00 00 21 45 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 6F 07 00 00 23 46 23 7E 69 60 0E 00 00 00 00 -R 00 00 01 00 2B 0B 49 00 -T 77 07 00 00 11 00 00 00 00 B9 20 3B ED 52 20 -R 00 00 01 00 02 05 49 00 -T 80 07 00 00 37 -R 00 00 01 00 -T 81 07 00 00 -R 00 00 01 00 -T 81 07 00 00 21 12 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T 8C 07 00 00 E6 11 28 22 -R 00 00 01 00 -T 90 07 00 00 -R 00 00 01 00 -T 90 07 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 -R 00 00 01 00 -T 9B 07 00 00 C5 21 32 00 00 00 E5 DD 6E 02 DD -R 00 00 01 00 00 06 02 00 -T A4 07 00 00 66 03 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 08 00 -T AA 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 02 00 -T B1 07 00 00 F1 -R 00 00 01 00 -T B2 07 00 00 -R 00 00 01 00 -T B2 07 00 00 21 FF FF C3 8B 09 00 00 -R 00 00 01 00 00 08 01 00 -T B8 07 00 00 -R 00 00 01 00 -T B8 07 00 00 21 12 00 DD 4E 02 DD 46 03 09 7E -R 00 00 01 00 -T C3 07 00 00 E6 11 28 22 -R 00 00 01 00 -T C7 07 00 00 -R 00 00 01 00 -T C7 07 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 -R 00 00 01 00 -T D2 07 00 00 C5 21 5E 00 00 00 E5 DD 6E 02 DD -R 00 00 01 00 00 06 02 00 -T DB 07 00 00 66 03 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 08 00 -T E1 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 02 00 -T E8 07 00 00 F1 -R 00 00 01 00 -T E9 07 00 00 -R 00 00 01 00 -T E9 07 00 00 21 45 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T F4 07 00 00 23 46 23 56 69 60 DD 75 FA DD 74 -R 00 00 01 00 -T FF 07 00 00 FB DD 72 FC 21 45 00 DD 4E 02 DD -R 00 00 01 00 -T 0A 08 00 00 46 03 09 36 00 00 00 00 23 36 -R 00 00 01 00 0B 08 49 00 -T 11 08 00 00 00 00 00 00 23 36 00 00 00 00 21 -R 00 00 01 00 8B 04 49 00 2B 0A 49 00 -T 16 08 00 00 18 00 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 00 00 -T 1E 08 00 00 21 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 05 00 00 02 0A 02 00 -T 25 08 00 00 80 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 3E 00 -T 2A 08 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 3E 00 02 09 02 00 -T 31 08 00 00 F6 DD 74 F7 -R 00 00 01 00 -T 35 08 00 00 -R 00 00 01 00 -T 35 08 00 00 DD 6E F8 DD 66 F9 E5 01 80 00 DD -R 00 00 01 00 -T 40 08 00 00 5E F6 DD 56 F7 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 1F 00 -T 48 08 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 1F 00 02 09 02 00 -T 4F 08 00 00 B4 CA E0 08 00 00 -R 00 00 01 00 00 06 01 00 -T 53 08 00 00 -R 00 00 01 00 -T 53 08 00 00 DD 5E F6 DD 56 F7 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 -T 5B 08 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0E 00 02 0A 02 00 -T 62 08 00 00 6E F6 DD 66 F7 E5 DD 6E 02 DD 66 -R 00 00 01 00 -T 6D 08 00 00 03 23 23 4E 23 46 C5 0E -R 00 00 01 00 -T 75 08 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 4D 00 02 0A 4D 00 -T 7B 08 00 00 21 FF FF E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0C 00 -T 82 08 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 0C 00 02 09 02 00 -T 89 08 00 00 E1 E1 E1 21 12 00 DD 4E 02 DD 46 -R 00 00 01 00 -T 94 08 00 00 03 09 7E E6 11 28 1D -R 00 00 01 00 -T 9B 08 00 00 -R 00 00 01 00 -T 9B 08 00 00 DD 6E F6 DD 66 F7 E5 21 -R 00 00 01 00 -T A3 08 00 00 6F 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 00 04 02 00 -T AC 08 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T B2 08 00 00 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 05 02 00 -T B8 08 00 00 -R 00 00 01 00 -T B8 08 00 00 DD 6E 02 DD 66 03 E5 DD 4E F6 DD -R 00 00 01 00 -T C3 08 00 00 46 F7 11 00 00 00 00 3E -R 00 00 01 00 00 07 03 00 -T C9 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 14 00 02 09 14 00 -T CE 08 00 00 00 00 00 00 F1 DD 75 FD DD 74 FE -R 00 00 01 00 02 04 02 00 -T D7 08 00 00 7D B4 28 02 -R 00 00 01 00 -T DB 08 00 00 -R 00 00 01 00 -T DB 08 00 00 18 03 -R 00 00 01 00 -T DD 08 00 00 -R 00 00 01 00 -T DD 08 00 00 C3 35 08 00 00 -R 00 00 01 00 00 05 01 00 -T E0 08 00 00 -R 00 00 01 00 -T E0 08 00 00 DD 5E F6 DD 56 F7 3E 00 00 00 00 -R 00 00 01 00 2B 0B 2A 00 -T E8 08 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 2A 00 02 0A 02 00 -T EF 08 00 00 5E F8 DD 56 F9 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 47 00 -T F7 08 00 00 00 00 00 00 CD 00 00 00 00 DD 7E -R 00 00 01 00 02 04 47 00 02 09 02 00 -T FE 08 00 00 FD DD B6 FE 20 2F -R 00 00 01 00 -T 04 09 00 00 -R 00 00 01 00 -T 04 09 00 00 21 65 00 DD 4E 02 DD 46 03 09 E5 -R 00 00 01 00 -T 0F 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 09 00 02 0A 09 00 -T 15 09 00 00 00 00 00 00 EB E1 73 23 72 23 71 -R 00 00 01 00 02 04 02 00 -T 1E 09 00 00 23 70 C5 21 61 00 DD 4E 02 DD 46 -R 00 00 01 00 -T 29 09 00 00 03 09 C1 73 23 72 23 71 23 70 -R 00 00 01 00 -T 33 09 00 00 -R 00 00 01 00 -T 33 09 00 00 21 45 00 DD 4E 02 DD 46 03 09 DD -R 00 00 01 00 -T 3E 09 00 00 7E FC DD 5E FA DD 56 FB 73 23 72 -R 00 00 01 00 -T 49 09 00 00 23 77 21 18 00 09 5E 23 56 3E -R 00 00 01 00 -T 53 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 16 00 02 09 16 00 -T 58 09 00 00 00 00 00 00 21 12 00 09 7E E6 11 -R 00 00 01 00 02 04 02 00 -T 61 09 00 00 28 22 -R 00 00 01 00 -T 63 09 00 00 -R 00 00 01 00 -T 63 09 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 -R 00 00 01 00 -T 6E 09 00 00 C5 21 73 00 00 00 E5 DD 6E 02 DD -R 00 00 01 00 00 06 02 00 -T 77 09 00 00 66 03 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 08 00 -T 7D 09 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 02 00 -T 84 09 00 00 F1 -R 00 00 01 00 -T 85 09 00 00 -R 00 00 01 00 -T 85 09 00 00 DD 6E FD DD 66 FE -R 00 00 01 00 -T 8B 09 00 00 -R 00 00 01 00 -T 8B 09 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 21 00 -T 8E 09 00 00 -R 00 00 01 00 -T 8E 09 00 00 CD 00 00 00 00 F8 FF DD 6E 0A DD -R 00 00 01 00 02 05 34 00 -T 97 09 00 00 66 0B DD 75 F8 DD 74 F9 AF DD 77 -R 00 00 01 00 -T A2 09 00 00 FC DD 77 FD DD 77 FE DD 77 FF 11 -R 00 00 01 00 -T AD 09 00 00 2E 00 19 7E 23 B6 23 B6 20 06 -R 00 00 01 00 -T B7 09 00 00 -R 00 00 01 00 -T B7 09 00 00 21 FF FF C3 49 0A 00 00 -R 00 00 01 00 00 08 01 00 -T BD 09 00 00 -R 00 00 01 00 -T BD 09 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 -R 00 00 01 00 -T C8 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 15 00 02 0A 15 00 -T CE 09 00 00 00 00 00 00 DD 75 FA DD 74 FB 7D -R 00 00 01 00 02 04 02 00 -T D7 09 00 00 A4 3C 20 05 -R 00 00 01 00 -T DB 09 00 00 -R 00 00 01 00 -T DB 09 00 00 21 FF FF 18 69 -R 00 00 01 00 -T E0 09 00 00 -R 00 00 01 00 -T E0 09 00 00 DD 4E 02 DD 46 03 21 02 00 CD -R 00 00 01 00 -T EA 09 00 00 00 00 00 00 30 21 -R 00 00 01 00 02 04 42 00 -T EE 09 00 00 -R 00 00 01 00 -T EE 09 00 00 21 04 00 DD 4E 04 DD 46 05 09 5E -R 00 00 01 00 -T F9 09 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 41 00 -T FE 09 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 41 00 02 09 02 00 -T 05 0A 00 00 FC DD 74 FD DD 71 FE DD 70 FF -R 00 00 01 00 -T 0F 0A 00 00 -R 00 00 01 00 -T 0F 0A 00 00 DD 6E FE DD 66 FF E5 DD 6E FC DD -R 00 00 01 00 -T 1A 0A 00 00 66 FD E5 21 01 00 E5 DD 4E FA DD -R 00 00 01 00 -T 25 0A 00 00 46 FB C5 DD 5E F8 DD 56 F9 21 -R 00 00 01 00 -T 2F 0A 00 00 2E 00 DD 4E F8 DD 46 F9 09 4E 23 -R 00 00 01 00 -T 3A 0A 00 00 46 23 7E 69 60 C1 CD 00 00 00 00 -R 00 00 01 00 02 0B 02 00 -T 43 0A 00 00 F1 F1 F1 21 00 00 -R 00 00 01 00 -T 49 0A 00 00 -R 00 00 01 00 -T 49 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 19 00 -T 4C 0A 00 00 -R 00 00 01 00 -T 4C 0A 00 00 CD 00 00 00 00 F6 FF DD 6E 0A DD -R 00 00 01 00 02 05 34 00 -T 55 0A 00 00 66 0B DD 75 F6 DD 74 F7 DD 4E 02 -R 00 00 01 00 -T 60 0A 00 00 DD 46 03 21 02 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 42 00 -T 69 0A 00 00 30 7D -R 00 00 01 00 -T 6B 0A 00 00 -R 00 00 01 00 -T 6B 0A 00 00 21 04 00 DD 4E 04 DD 46 05 09 5E -R 00 00 01 00 -T 76 0A 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 41 00 -T 7B 0A 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 41 00 02 09 02 00 -T 82 0A 00 00 FC DD 74 FD DD 71 FE DD 70 FF DD -R 00 00 01 00 -T 8D 0A 00 00 6E 04 DD 66 05 23 23 46 23 66 68 -R 00 00 01 00 -T 98 0A 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 -T 9E 0A 00 00 -R 00 00 01 00 -T 9E 0A 00 00 DD 6E FA DD 66 FB AF B6 28 3E -R 00 00 01 00 -T A8 0A 00 00 -R 00 00 01 00 -T A8 0A 00 00 21 01 00 E5 DD 4E FA DD 46 FB 21 -R 00 00 01 00 -T B3 0A 00 00 2C 00 DD 5E F6 DD 56 F7 19 5E 23 -R 00 00 01 00 -T BE 0A 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1B 00 02 0B 1B 00 -T C4 0A 00 00 CD 00 00 00 00 F1 DD 4E FE DD 46 -R 00 00 01 00 02 05 02 00 -T CD 0A 00 00 FF DD 5E FC DD 56 FD 3E -R 00 00 01 00 -T D5 0A 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 -T DA 0A 00 00 00 00 00 00 DD 34 FA 20 03 DD 34 -R 00 00 01 00 02 04 02 00 -T E3 0A 00 00 FB -R 00 00 01 00 -T E4 0A 00 00 -R 00 00 01 00 -T E4 0A 00 00 18 B8 -R 00 00 01 00 -T E6 0A 00 00 -R 00 00 01 00 -T E6 0A 00 00 18 63 -R 00 00 01 00 -T E8 0A 00 00 -R 00 00 01 00 -T E8 0A 00 00 21 12 00 DD 4E F6 DD 46 F7 09 7E -R 00 00 01 00 -T F3 0A 00 00 E6 00 47 23 7E E6 20 B0 28 19 -R 00 00 01 00 -T FD 0A 00 00 -R 00 00 01 00 -T FD 0A 00 00 DD 6E F8 DD 66 F9 E5 01 01 00 DD -R 00 00 01 00 -T 08 0B 00 00 5E F6 DD 56 F7 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 24 00 -T 10 0B 00 00 00 00 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 02 04 24 00 02 09 02 00 -T 16 0B 00 00 -R 00 00 01 00 -T 16 0B 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 -R 00 00 01 00 -T 21 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1C 00 02 0A 1C 00 -T 27 0B 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 02 00 -T 30 0B 00 00 23 23 4E 23 46 21 2C 00 DD 5E F6 -R 00 00 01 00 -T 3B 0B 00 00 DD 56 F7 19 5E 23 56 3E -R 00 00 01 00 -T 43 0B 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1B 00 02 09 1B 00 -T 48 0B 00 00 00 00 00 00 F1 -R 00 00 01 00 02 04 02 00 -T 4B 0B 00 00 -R 00 00 01 00 -T 4B 0B 00 00 21 00 00 C3 00 00 00 00 -R 00 00 01 00 02 08 19 00 -T 51 0B 00 00 -R 00 00 01 00 -T 51 0B 00 00 CD 00 00 00 00 FE FF DD 6E 0A DD -R 00 00 01 00 02 05 34 00 -T 5A 0B 00 00 66 0B DD 75 FE DD 74 FF 11 02 80 -R 00 00 01 00 -T 65 0B 00 00 DD 6E 02 DD 66 03 3E 80 AC 67 ED -R 00 00 01 00 -T 70 0B 00 00 52 30 4B -R 00 00 01 00 -T 73 0B 00 00 -R 00 00 01 00 -T 73 0B 00 00 21 12 00 DD 4E FE DD 46 FF 09 7E -R 00 00 01 00 -T 7E 0B 00 00 E6 11 28 37 -R 00 00 01 00 -T 82 0B 00 00 -R 00 00 01 00 -T 82 0B 00 00 21 2C 00 DD 4E FE DD 46 FF 09 5E -R 00 00 01 00 -T 8D 0B 00 00 23 56 01 59 00 CD 00 00 00 00 21 -R 00 00 01 00 02 0A 35 00 -T 96 0B 00 00 1D 00 00 00 19 4E 23 46 23 5E 23 -R 00 00 01 00 02 04 39 00 -T 9F 0B 00 00 56 D5 C5 21 86 00 00 00 E5 DD 6E -R 00 00 01 00 00 08 02 00 -T A8 0B 00 00 FE DD 66 FF E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 -T B0 0B 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 02 00 -T B7 0B 00 00 F1 F1 -R 00 00 01 00 -T B9 0B 00 00 -R 00 00 01 00 -T B9 0B 00 00 21 00 00 18 2F -R 00 00 01 00 -T BE 0B 00 00 -R 00 00 01 00 -T BE 0B 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 -R 00 00 01 00 -T C9 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 41 00 02 0A 41 00 -T CF 0B 00 00 00 00 00 00 01 00 00 C5 E5 21 -R 00 00 01 00 02 04 02 00 -T D7 0B 00 00 2C 00 DD 4E FE DD 46 FF 09 5E 23 -R 00 00 01 00 -T E2 0B 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 4A 00 02 0B 4A 00 -T E8 0B 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 02 00 -T ED 0B 00 00 -R 00 00 01 00 -T ED 0B 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 19 00 -T F0 0B 00 00 -R 00 00 01 00 -T F0 0B 00 00 CD 00 00 00 00 FC FF DD 6E 0A DD -R 00 00 01 00 02 05 34 00 -T F9 0B 00 00 66 0B DD 75 FC DD 74 FD 11 31 00 -R 00 00 01 00 -T 04 0C 00 00 19 7E 23 B6 23 B6 20 05 -R 00 00 01 00 -T 0C 0C 00 00 -R 00 00 01 00 -T 0C 0C 00 00 21 FF FF 18 61 -R 00 00 01 00 -T 11 0C 00 00 -R 00 00 01 00 -T 11 0C 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 -R 00 00 01 00 -T 1C 0C 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 15 00 02 0A 15 00 -T 22 0C 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 02 00 -T 2B 0C 00 00 A4 3C 20 05 -R 00 00 01 00 -T 2F 0C 00 00 -R 00 00 01 00 -T 2F 0C 00 00 21 FF FF 18 3E -R 00 00 01 00 -T 34 0C 00 00 -R 00 00 01 00 -T 34 0C 00 00 21 04 00 DD 4E 04 DD 46 05 09 5E -R 00 00 01 00 -T 3F 0C 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 41 00 -T 44 0C 00 00 00 00 00 00 CD 00 00 00 00 C5 E5 -R 00 00 01 00 02 04 41 00 02 09 02 00 -T 4B 0C 00 00 DD 4E FE DD 46 FF C5 DD 5E FC DD -R 00 00 01 00 -T 56 0C 00 00 56 FD 21 31 00 DD 4E FC DD 46 FD -R 00 00 01 00 -T 61 0C 00 00 09 4E 23 46 23 7E 69 60 C1 CD -R 00 00 01 00 -T 6B 0C 00 00 00 00 00 00 F1 F1 21 00 00 -R 00 00 01 00 02 04 02 00 -T 72 0C 00 00 -R 00 00 01 00 -T 72 0C 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 19 00 -T 75 0C 00 00 -R 00 00 01 00 -T 75 0C 00 00 CD 00 00 00 00 F8 FF DD 6E 0A DD -R 00 00 01 00 02 05 34 00 -T 7E 0C 00 00 66 0B DD 75 F8 DD 74 F9 DD 36 FA -R 00 00 01 00 -T 89 0C 00 00 FF DD 36 FB FF 03 03 0A 5F 03 0A -R 00 00 01 00 -T 94 0C 00 00 57 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 41 00 02 0B 41 00 -T 9A 0C 00 00 CD 00 00 00 00 EB 3E 00 00 00 00 -R 00 00 01 00 02 05 02 00 2B 0B 45 00 -T A0 0C 00 00 21 00 00 00 00 CD 00 00 00 00 3E -R 00 00 01 00 02 05 45 00 02 0A 02 00 -T A7 0C 00 00 02 DD AE 02 DD B6 03 20 7E -R 00 00 01 00 -T B0 0C 00 00 -R 00 00 01 00 -T B0 0C 00 00 -R 00 00 01 00 -T B0 0C 00 00 21 2C 00 DD 4E F8 DD 46 F9 09 5E -R 00 00 01 00 -T BB 0C 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 36 00 -T C0 0C 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 36 00 02 09 02 00 -T C7 0C 00 00 FA DD 74 FB 7D A4 3C 28 4A 2A -R 00 00 01 00 -T D1 0C 00 00 00 00 00 00 3E 6A AD B4 28 41 -R 00 00 01 00 02 04 31 00 -T D9 0C 00 00 -R 00 00 01 00 -T D9 0C 00 00 -R 00 00 01 00 -T D9 0C 00 00 -R 00 00 01 00 -T D9 0C 00 00 21 12 00 DD 4E F8 DD 46 F9 09 7E -R 00 00 01 00 -T E4 0C 00 00 E6 10 28 30 -R 00 00 01 00 -T E8 0C 00 00 -R 00 00 01 00 -T E8 0C 00 00 21 14 00 DD 4E F8 DD 46 F9 09 4E -R 00 00 01 00 -T F3 0C 00 00 23 46 DD 5E FA DD 56 FB 3E -R 00 00 01 00 -T FC 0C 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2B 00 02 09 2B 00 -T 01 0D 00 00 00 00 00 00 21 14 00 DD 4E F8 DD -R 00 00 01 00 02 04 02 00 -T 0A 0D 00 00 46 F9 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0A 00 -T 12 0D 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 0A 00 02 0A 02 00 -T 18 0D 00 00 -R 00 00 01 00 -T 18 0D 00 00 18 96 -R 00 00 01 00 -T 1A 0D 00 00 -R 00 00 01 00 -T 1A 0D 00 00 01 00 00 11 00 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 45 00 -T 22 0D 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 45 00 02 0A 02 00 -T 29 0D 00 00 00 00 C3 FC 0E 00 00 -R 00 00 01 00 00 07 01 00 -T 2E 0D 00 00 -R 00 00 01 00 -T 2E 0D 00 00 21 04 00 DD 4E 04 DD 46 05 09 46 -R 00 00 01 00 -T 39 0D 00 00 23 66 68 DD 75 FC DD 74 FD -R 00 00 01 00 -T 42 0D 00 00 -R 00 00 01 00 -T 42 0D 00 00 DD 6E FC DD 66 FD AF B6 CA -R 00 00 01 00 -T 4B 0D 00 00 DF 0D 00 00 21 2C 00 DD 4E F8 DD -R 00 00 01 00 00 04 01 00 -T 54 0D 00 00 46 F9 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 36 00 -T 5C 0D 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 36 00 02 0A 02 00 -T 63 0D 00 00 75 FA DD 74 FB 7D A4 3C 28 72 -R 00 00 01 00 -T 6D 0D 00 00 -R 00 00 01 00 -T 6D 0D 00 00 -R 00 00 01 00 -T 6D 0D 00 00 -R 00 00 01 00 -T 6D 0D 00 00 21 12 00 DD 4E F8 DD 46 F9 09 7E -R 00 00 01 00 -T 78 0D 00 00 E6 10 28 30 -R 00 00 01 00 -T 7C 0D 00 00 -R 00 00 01 00 -T 7C 0D 00 00 21 14 00 DD 4E F8 DD 46 F9 09 4E -R 00 00 01 00 -T 87 0D 00 00 23 46 DD 5E FA DD 56 FB 3E -R 00 00 01 00 -T 90 0D 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2B 00 02 09 2B 00 -T 95 0D 00 00 00 00 00 00 21 14 00 DD 4E F8 DD -R 00 00 01 00 02 04 02 00 -T 9E 0D 00 00 46 F9 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0A 00 -T A6 0D 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 0A 00 02 0A 02 00 -T AC 0D 00 00 -R 00 00 01 00 -T AC 0D 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD -R 00 00 01 00 -T B7 0D 00 00 74 FD 2B 4E 06 00 DD 6E FA DD 66 -R 00 00 01 00 -T C2 0D 00 00 FB A7 ED 42 28 14 -R 00 00 01 00 -T C8 0D 00 00 -R 00 00 01 00 -T C8 0D 00 00 21 04 00 DD 4E 04 DD 46 05 09 46 -R 00 00 01 00 -T D3 0D 00 00 23 66 68 DD 75 FC DD 74 FD -R 00 00 01 00 -T DC 0D 00 00 -R 00 00 01 00 -T DC 0D 00 00 C3 42 0D 00 00 -R 00 00 01 00 00 05 01 00 -T DF 0D 00 00 -R 00 00 01 00 -T DF 0D 00 00 DD 4E 02 DD 46 03 21 03 00 CD -R 00 00 01 00 -T E9 0D 00 00 00 00 00 00 D2 DD 0E 00 00 -R 00 00 01 00 02 04 42 00 00 09 01 00 -T EE 0D 00 00 -R 00 00 01 00 -T EE 0D 00 00 AF DD 77 FE DD 77 FF 01 -R 00 00 01 00 -T F6 0D 00 00 9E 00 00 00 21 06 00 DD 5E 04 DD -R 00 00 01 00 00 04 02 00 -T FF 0D 00 00 56 05 19 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 01 00 -T 07 0E 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 01 00 02 0A 02 00 -T 0E 0E 00 00 B4 28 06 -R 00 00 01 00 -T 11 0E 00 00 -R 00 00 01 00 -T 11 0E 00 00 21 FF FF C3 FC 0E 00 00 -R 00 00 01 00 00 08 01 00 -T 17 0E 00 00 -R 00 00 01 00 -T 17 0E 00 00 -R 00 00 01 00 -T 17 0E 00 00 21 2C 00 DD 4E F8 DD 46 F9 09 5E -R 00 00 01 00 -T 22 0E 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 36 00 -T 27 0E 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 36 00 02 09 02 00 -T 2E 0E 00 00 FA DD 74 FB 7D A4 3C CA -R 00 00 01 00 -T 36 0E 00 00 DD 0E 00 00 -R 00 00 01 00 00 04 01 00 -T 38 0E 00 00 -R 00 00 01 00 -T 38 0E 00 00 21 12 00 DD 4E F8 DD 46 F9 09 7E -R 00 00 01 00 -T 43 0E 00 00 E6 10 28 30 -R 00 00 01 00 -T 47 0E 00 00 -R 00 00 01 00 -T 47 0E 00 00 21 14 00 DD 4E F8 DD 46 F9 09 4E -R 00 00 01 00 -T 52 0E 00 00 23 46 DD 5E FA DD 56 FB 3E -R 00 00 01 00 -T 5B 0E 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2B 00 02 09 2B 00 -T 60 0E 00 00 00 00 00 00 21 14 00 DD 4E F8 DD -R 00 00 01 00 02 04 02 00 -T 69 0E 00 00 46 F9 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0A 00 -T 71 0E 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 0A 00 02 0A 02 00 -T 77 0E 00 00 -R 00 00 01 00 -T 77 0E 00 00 DD 4E FA 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 2D 00 -T 80 0E 00 00 7E E6 08 28 23 -R 00 00 01 00 -T 85 0E 00 00 -R 00 00 01 00 -T 85 0E 00 00 21 06 00 39 01 0A 00 CD -R 00 00 01 00 -T 8D 0E 00 00 00 00 00 00 21 D0 FF DD 4E FA DD -R 00 00 01 00 02 04 07 00 -T 96 0E 00 00 46 FB 09 4D 44 21 06 00 39 7E 81 -R 00 00 01 00 -T A1 0E 00 00 77 23 7E 88 77 18 32 -R 00 00 01 00 -T A8 0E 00 00 -R 00 00 01 00 -T A8 0E 00 00 01 00 00 11 00 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 45 00 -T B0 0E 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 45 00 02 0A 02 00 -T B7 0E 00 00 6E FE DD 66 FF 01 00 00 C5 E5 21 -R 00 00 01 00 -T C2 0E 00 00 2C 00 DD 4E F8 DD 46 F9 09 5E 23 -R 00 00 01 00 -T CD 0E 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 4A 00 02 0B 4A 00 -T D3 0E 00 00 CD 00 00 00 00 F1 F1 18 22 -R 00 00 01 00 02 05 02 00 -T DA 0E 00 00 -R 00 00 01 00 -T DA 0E 00 00 C3 17 0E 00 00 -R 00 00 01 00 00 05 01 00 -T DD 0E 00 00 -R 00 00 01 00 -T DD 0E 00 00 -R 00 00 01 00 -T DD 0E 00 00 01 00 00 11 00 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 45 00 -T E5 0E 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 45 00 02 0A 02 00 -T EC 0E 00 00 7E FA DD A6 FB 3C 20 04 2E 01 18 -R 00 00 01 00 -T F7 0E 00 00 02 -R 00 00 01 00 -T F8 0E 00 00 -R 00 00 01 00 -T F8 0E 00 00 2E 00 -R 00 00 01 00 -T FA 0E 00 00 -R 00 00 01 00 -T FA 0E 00 00 26 00 -R 00 00 01 00 -T FC 0E 00 00 -R 00 00 01 00 -T FC 0E 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 19 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 20 61 6E 73 77 65 72 65 72 00 -R 00 00 02 00 -T 0A 00 00 00 -R 00 00 02 00 -T 0A 00 00 00 55 50 00 -R 00 00 02 00 -T 0D 00 00 00 -R 00 00 02 00 -T 0D 00 00 00 44 4F 57 4E 00 -R 00 00 02 00 -T 12 00 00 00 -R 00 00 02 00 -T 12 00 00 00 64 72 6F 70 69 74 00 -R 00 00 02 00 -T 19 00 00 00 -R 00 00 02 00 -T 19 00 00 00 72 00 -R 00 00 02 00 -T 1B 00 00 00 -R 00 00 02 00 -T 1B 00 00 00 72 65 64 69 61 6C 3A 20 63 61 6E -R 00 00 02 00 -T 26 00 00 00 27 74 20 72 65 61 64 20 25 73 0A -R 00 00 02 00 -T 31 00 00 00 00 -R 00 00 02 00 -T 32 00 00 00 -R 00 00 02 00 -T 32 00 00 00 72 65 64 69 61 6C 3A 20 74 69 70 -R 00 00 02 00 -T 3D 00 00 00 20 6F 72 20 64 69 61 6C 65 72 20 -R 00 00 02 00 -T 48 00 00 00 61 6C 72 65 61 64 79 20 61 63 74 -R 00 00 02 00 -T 53 00 00 00 69 76 65 20 6F 6E 20 25 73 0A 00 -R 00 00 02 00 -T 5E 00 00 00 -R 00 00 02 00 -T 5E 00 00 00 43 6F 6D 6D 61 6E 64 73 20 74 6F -R 00 00 02 00 -T 69 00 00 00 20 25 73 3A 0A 00 -R 00 00 02 00 -T 6F 00 00 00 -R 00 00 02 00 -T 6F 00 00 00 25 73 0A 00 -R 00 00 02 00 -T 73 00 00 00 -R 00 00 02 00 -T 73 00 00 00 0A 44 69 61 6C 20 25 73 20 63 6F -R 00 00 02 00 -T 7E 00 00 00 6D 70 6C 65 74 65 0A 00 -R 00 00 02 00 -T 86 00 00 00 -R 00 00 02 00 -T 86 00 00 00 63 75 72 72 65 6E 74 20 73 70 65 -R 00 00 02 00 -T 91 00 00 00 65 64 20 3D 20 25 75 20 62 70 73 -R 00 00 02 00 -T 9C 00 00 00 0A 00 -R 00 00 02 00 -T 9E 00 00 00 -R 00 00 02 00 -T 9E 00 00 00 73 70 65 65 64 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 4A 04 1A 00 4A 08 0D 00 -T 08 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 4A 06 1A 00 4A 0A 32 00 -T 10 00 00 00 8E 09 00 00 00 00 02 00 -R 00 00 04 00 48 04 01 00 -T 17 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 4A 04 46 00 4A 08 37 00 -T 1D 00 00 00 4C 0A 00 00 00 00 02 00 -R 00 00 04 00 48 04 01 00 -T 24 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 4A 04 0B 00 4A 08 0F 00 -T 2A 00 00 00 51 0B 00 00 00 00 02 00 -R 00 00 04 00 48 04 01 00 -T 31 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 4A 04 3D 00 4A 08 03 00 -T 37 00 00 00 F0 0B 00 00 00 00 02 00 -R 00 00 04 00 48 04 01 00 -T 3E 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 4A 04 05 00 4A 08 11 00 -T 44 00 00 00 75 0C 00 00 00 00 02 00 -R 00 00 04 00 48 04 01 00 -T 4B 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 4A 04 40 00 -T 54 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 04 00 4A 08 33 00 diff --git a/src/nos/lib/ppp_lib/dialer_kick.rel b/src/nos/lib/ppp_lib/dialer_kick.rel index 8dd256d8..13527314 100644 --- a/src/nos/lib/ppp_lib/dialer_kick.rel +++ b/src/nos/lib/ppp_lib/dialer_kick.rel @@ -1,120 +1,91 @@ XL4 -H 3 areas D global symbols +H 2 areas B global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _stop_timer Ref00000000 -S _printf Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S _Esccchan Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 S ?L_INCASG_L03 Ref00000000 -S _Asy Ref00000000 S _start_timer Ref00000000 S _redial Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 11A flags 0 +A CODE size ED flags 0 S _dialer_kick Def00000000 -A CSTR size 1C flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF 21 24 00 DD R 00 00 01 00 02 05 05 00 T 09 00 00 00 4E 02 DD 46 03 09 56 23 66 6A DD R 00 00 01 00 -T 14 00 00 00 75 FE DD 74 FF 21 2C 00 09 4E 23 +T 14 00 00 00 75 FE DD 74 FF 21 2C 00 09 46 23 R 00 00 01 00 -T 1F 00 00 00 46 11 5A 00 CD 00 00 00 00 21 -R 00 00 01 00 02 09 06 00 -T 27 00 00 00 00 00 00 00 19 DD 75 FC DD 74 FD -R 00 00 01 00 02 04 08 00 -T 30 00 00 00 21 06 00 DD 4E FE DD 46 FF 09 EB +T 1F 00 00 00 66 68 29 01 00 00 00 00 09 46 23 +R 00 00 01 00 02 08 03 00 +T 28 00 00 00 66 68 DD 75 FC DD 74 FD 21 08 00 R 00 00 01 00 -T 3B 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 01 00 02 0A 01 00 -T 41 00 00 00 00 00 00 00 21 29 00 DD 4E FC DD +T 33 00 00 00 DD 4E FE DD 46 FF 09 EB 3E +R 00 00 01 00 +T 3C 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 01 00 02 09 01 00 +T 41 00 00 00 00 00 00 00 21 5C 00 DD 4E FC DD R 00 00 01 00 02 04 00 00 -T 4A 00 00 00 46 FD 09 5E 16 00 D5 21 +T 4A 00 00 00 46 FD 09 7E B7 CA D4 00 00 00 21 +R 00 00 01 00 00 0A 01 00 +T 53 00 00 00 24 00 DD 4E FC DD 46 FD 09 7E E6 R 00 00 01 00 -T 52 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 2B 0A 02 00 -T 58 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 02 00 02 09 00 00 -T 5F 00 00 00 21 2C 00 09 7E B7 CA 01 01 00 00 -R 00 00 01 00 00 0B 01 00 -T 68 00 00 00 21 29 00 DD 4E FC DD 46 FD 09 7E +T 5E 00 00 00 08 20 73 DD 6E FE DD 66 FF 23 23 R 00 00 01 00 -T 73 00 00 00 E6 04 CA 01 01 00 00 DD 6E FE DD -R 00 00 01 00 00 07 01 00 -T 7C 00 00 00 66 FF 7E 23 B6 28 7E +T 69 00 00 00 7E 23 B6 28 66 R 00 00 01 00 -T 83 00 00 00 +T 6E 00 00 00 R 00 00 01 00 -T 83 00 00 00 +T 6E 00 00 00 R 00 00 01 00 -T 83 00 00 00 +T 6E 00 00 00 R 00 00 01 00 -T 83 00 00 00 21 16 00 DD 4E FE DD 46 FF 09 CD +T 6E 00 00 00 21 18 00 DD 4E FE DD 46 FF 09 CD R 00 00 01 00 -T 8E 00 00 00 00 00 00 00 DD 6E FE DD 66 FF 4E -R 00 00 01 00 02 04 07 00 -T 97 00 00 00 23 46 DD 5E 02 DD 56 03 3E +T 79 00 00 00 00 00 00 00 DD 6E FE DD 66 FF 23 +R 00 00 01 00 02 04 06 00 +T 82 00 00 00 23 4E 23 46 DD 5E 02 DD 56 03 3E R 00 00 01 00 -T A0 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 -T A5 00 00 00 00 00 00 00 7D B4 20 0F 21 29 00 +T 8D 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 08 00 02 09 08 00 +T 92 00 00 00 00 00 00 00 7D B4 20 0F 21 24 00 R 00 00 01 00 02 04 00 00 -T AE 00 00 00 DD 4E FC DD 46 FD 09 7E E6 04 28 -R 00 00 01 00 -T B9 00 00 00 47 +T 9B 00 00 00 DD 4E FC DD 46 FD 09 7E E6 08 20 R 00 00 01 00 -T BA 00 00 00 +T A6 00 00 00 2D R 00 00 01 00 -T BA 00 00 00 +T A7 00 00 00 R 00 00 01 00 -T BA 00 00 00 +T A7 00 00 00 R 00 00 01 00 -T BA 00 00 00 21 29 00 DD 4E FC DD 46 FD 09 4E +T A7 00 00 00 R 00 00 01 00 -T C5 00 00 00 06 00 C5 21 0E 00 00 00 E5 3E -R 00 00 01 00 00 08 02 00 -T CD 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T D2 00 00 00 00 00 00 00 F1 F1 21 1E 00 DD 4E -R 00 00 01 00 02 04 00 00 -T DB 00 00 00 FE DD 46 FF 09 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 07 00 -T E4 00 00 00 6E FE DD 66 FF 23 23 4E 23 46 DD +T A7 00 00 00 21 20 00 DD 4E FE DD 46 FF 09 CD R 00 00 01 00 -T EF 00 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0A 00 -T F7 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 00 00 -T FD 00 00 00 FF FF 18 16 +T B2 00 00 00 00 00 00 00 21 04 00 DD 4E FE DD +R 00 00 01 00 02 04 06 00 +T BB 00 00 00 46 FF 09 4E 23 46 DD 5E 02 DD 56 R 00 00 01 00 -T 01 01 00 00 +T C6 00 00 00 03 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 08 00 02 0B 08 00 +T CC 00 00 00 CD 00 00 00 00 21 FF FF 18 16 +R 00 00 01 00 02 05 00 00 +T D4 00 00 00 R 00 00 01 00 -T 01 01 00 00 +T D4 00 00 00 R 00 00 01 00 -T 01 01 00 00 21 06 00 DD 4E FE DD 46 FF 09 EB +T D4 00 00 00 21 08 00 DD 4E FE DD 46 FF 09 EB R 00 00 01 00 -T 0C 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 09 00 02 0A 09 00 -T 12 01 00 00 00 00 00 00 21 00 00 +T DF 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 07 00 02 0A 07 00 +T E5 00 00 00 00 00 00 00 21 00 00 R 00 00 01 00 02 04 00 00 -T 17 01 00 00 +T EA 00 00 00 R 00 00 01 00 -T 17 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 32 3A 20 73 74 61 74 3D 30 78 25 -R 00 00 02 00 -T 0B 00 00 00 78 0A 00 -R 00 00 02 00 -T 0E 00 00 00 -R 00 00 02 00 -T 0E 00 00 00 33 3A 20 73 74 61 74 3D 30 78 25 -R 00 00 02 00 -T 19 00 00 00 78 0A 00 -R 00 00 02 00 +T EA 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/ppp_lib/dodial_exec.rel b/src/nos/lib/ppp_lib/dodial_exec.rel new file mode 100644 index 00000000..1f27f4d3 --- /dev/null +++ b/src/nos/lib/ppp_lib/dodial_exec.rel @@ -0,0 +1,140 @@ +XL4 +H 3 areas D global symbols +S _Dial_cmds Ref00000000 +S _suspend Ref00000000 +S ?BANK_CALL_DIRECT_L08 Ref00000000 +S _tprintf Ref00000000 +S _secclock Ref00000000 +S _resume Ref00000000 +S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S .__.ABS. Def00000000 +S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ?CL64180B_4_06_L00 Ref00000000 +S _bitbucket Ref00000000 +S _subcmd Ref00000000 +A _DEFAULT size 0 flags 0 +A CODE size 148 flags 0 +S _dodial_exec Def00000000 +A CSTR size 42 flags 0 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 CD 00 00 00 00 FA FF 21 45 00 DD +R 00 00 01 00 02 05 08 00 +T 09 00 00 00 5E 02 DD 56 03 19 5E 23 56 23 7E +R 00 00 01 00 +T 14 00 00 00 EB 0E 00 00 00 00 11 00 00 00 00 +R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 +T 1A 00 00 00 B9 20 3B ED 52 20 37 +R 00 00 01 00 +T 21 00 00 00 +R 00 00 01 00 +T 21 00 00 00 21 12 00 DD 4E 02 DD 46 03 09 7E +R 00 00 01 00 +T 2C 00 00 00 E6 11 28 22 +R 00 00 01 00 +T 30 00 00 00 +R 00 00 01 00 +T 30 00 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 +R 00 00 01 00 +T 3B 00 00 00 C5 21 00 00 00 00 E5 DD 6E 02 DD +R 00 00 01 00 00 06 02 00 +T 44 00 00 00 66 03 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 03 00 +T 4A 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 03 00 02 09 02 00 +T 51 00 00 00 F1 +R 00 00 01 00 +T 52 00 00 00 +R 00 00 01 00 +T 52 00 00 00 21 FF FF C3 45 01 00 00 +R 00 00 01 00 00 08 01 00 +T 58 00 00 00 +R 00 00 01 00 +T 58 00 00 00 21 12 00 DD 4E 02 DD 46 03 09 7E +R 00 00 01 00 +T 63 00 00 00 E6 11 28 22 +R 00 00 01 00 +T 67 00 00 00 +R 00 00 01 00 +T 67 00 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 +R 00 00 01 00 +T 72 00 00 00 C5 21 31 00 00 00 E5 DD 6E 02 DD +R 00 00 01 00 00 06 02 00 +T 7B 00 00 00 66 03 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 03 00 +T 81 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 03 00 02 09 02 00 +T 88 00 00 00 F1 +R 00 00 01 00 +T 89 00 00 00 +R 00 00 01 00 +T 89 00 00 00 21 45 00 DD 4E 02 DD 46 03 09 4E +R 00 00 01 00 +T 94 00 00 00 23 46 23 56 69 60 DD 75 FA DD 74 +R 00 00 01 00 +T 9F 00 00 00 FB DD 72 FC 21 45 00 DD 4E 02 DD +R 00 00 01 00 +T AA 00 00 00 46 03 09 36 00 00 00 00 23 36 +R 00 00 01 00 0B 08 0A 00 +T B1 00 00 00 00 00 00 00 23 36 00 00 00 00 21 +R 00 00 01 00 8B 04 0A 00 2B 0A 0A 00 +T B6 00 00 00 18 00 09 5E 23 56 3E 00 00 00 00 +R 00 00 01 00 2B 0B 01 00 +T BE 00 00 00 21 00 00 00 00 CD 00 00 00 00 C5 +R 00 00 01 00 02 05 01 00 02 0A 02 00 +T C5 00 00 00 DD 6E 0A DD 66 0B E5 DD 4E 04 DD +R 00 00 01 00 +T D0 00 00 00 46 05 11 00 00 00 00 3E +R 00 00 01 00 02 07 00 00 +T D6 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +T DB 00 00 00 00 00 00 00 F1 F1 DD 75 FD DD 74 +R 00 00 01 00 02 04 02 00 +T E4 00 00 00 FE 7D B4 20 2F +R 00 00 01 00 +T E9 00 00 00 +R 00 00 01 00 +T E9 00 00 00 21 65 00 DD 4E 02 DD 46 03 09 E5 +R 00 00 01 00 +T F4 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 04 00 02 0A 04 00 +T FA 00 00 00 00 00 00 00 EB E1 73 23 72 23 71 +R 00 00 01 00 02 04 02 00 +T 03 01 00 00 23 70 C5 21 61 00 DD 4E 02 DD 46 +R 00 00 01 00 +T 0E 01 00 00 03 09 C1 73 23 72 23 71 23 70 +R 00 00 01 00 +T 18 01 00 00 +R 00 00 01 00 +T 18 01 00 00 21 45 00 DD 4E 02 DD 46 03 09 DD +R 00 00 01 00 +T 23 01 00 00 7E FC DD 5E FA DD 56 FB 73 23 72 +R 00 00 01 00 +T 2E 01 00 00 23 77 21 18 00 09 5E 23 56 3E +R 00 00 01 00 +T 38 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 3D 01 00 00 00 00 00 00 DD 6E FD DD 66 FE +R 00 00 01 00 02 04 02 00 +T 45 01 00 00 +R 00 00 01 00 +T 45 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 06 00 +T 00 00 00 00 +R 00 00 02 00 +T 00 00 00 00 64 6F 64 69 61 6C 5F 65 78 65 63 +R 00 00 02 00 +T 0B 00 00 00 3A 20 74 69 70 20 6F 72 20 64 69 +R 00 00 02 00 +T 16 00 00 00 61 6C 65 72 20 61 6C 72 65 61 64 +R 00 00 02 00 +T 21 00 00 00 79 20 61 63 74 69 76 65 20 6F 6E +R 00 00 02 00 +T 2C 00 00 00 20 25 73 0A 00 +R 00 00 02 00 +T 31 00 00 00 +R 00 00 02 00 +T 31 00 00 00 43 6F 6D 6D 61 6E 64 73 20 74 6F +R 00 00 02 00 +T 3C 00 00 00 20 25 73 3A 0A 00 +R 00 00 02 00 diff --git a/src/nos/lib/ppp_lib/dodial_send.rel b/src/nos/lib/ppp_lib/dodial_send.rel index 12e65d3d..a0cec93e 100644 --- a/src/nos/lib/ppp_lib/dodial_send.rel +++ b/src/nos/lib/ppp_lib/dodial_send.rel @@ -3,10 +3,10 @@ H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _ppause Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S _asy_write Ref00000000 S _strlen Ref00000000 S .__.ABS. Def00000000 S _raw_dump Ref00000000 +S _escc_write Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _atol Ref00000000 S ?SS_CMP_L02 Ref00000000 @@ -49,7 +49,7 @@ R 00 00 01 00 T 67 00 00 00 2C 00 DD 5E F6 DD 56 F7 19 5E 23 R 00 00 01 00 T 72 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 03 00 02 0B 03 00 +R 00 00 01 00 2B 06 06 00 02 0B 06 00 T 78 00 00 00 CD 00 00 00 00 F1 DD 4E FE DD 46 R 00 00 01 00 02 05 00 00 T 81 00 00 00 FF DD 5E FC DD 56 FD 3E @@ -79,15 +79,15 @@ R 00 00 01 00 T B1 00 00 00 DD 6E F8 DD 66 F9 E5 01 01 00 DD R 00 00 01 00 T BC 00 00 00 5E F6 DD 56 F7 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 06 00 +R 00 00 01 00 2B 0A 05 00 T C4 00 00 00 00 00 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 02 04 06 00 02 09 00 00 +R 00 00 01 00 02 04 05 00 02 09 00 00 T CA 00 00 00 R 00 00 01 00 T CA 00 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 T D5 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 04 00 02 0A 04 00 +R 00 00 01 00 2B 05 03 00 02 0A 03 00 T DB 00 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 R 00 00 01 00 02 04 00 00 T E4 00 00 00 23 23 4E 23 46 21 2C 00 DD 5E F6 @@ -95,7 +95,7 @@ R 00 00 01 00 T EF 00 00 00 DD 56 F7 19 5E 23 56 3E R 00 00 01 00 T F7 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 +R 00 00 01 00 2B 04 06 00 02 09 06 00 T FC 00 00 00 00 00 00 00 F1 R 00 00 01 00 02 04 00 00 T FF 00 00 00 diff --git a/src/nos/lib/ppp_lib/dodial_speed.rel b/src/nos/lib/ppp_lib/dodial_speed.rel index ed568195..d546b07c 100644 --- a/src/nos/lib/ppp_lib/dodial_speed.rel +++ b/src/nos/lib/ppp_lib/dodial_speed.rel @@ -2,6 +2,7 @@ XL4 H 3 areas B global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _tprintf Ref00000000 +S _escc_speed Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 @@ -9,15 +10,14 @@ S ?S_MUL_L02 Ref00000000 S _Asy Ref00000000 S _atol Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S _asy_speed Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 9F flags 0 +A CODE size A0 flags 0 S _dodial_speed Def00000000 A CSTR size 18 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 0A DD -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T 09 00 00 00 66 0B DD 75 FE DD 74 FF 11 02 80 R 00 00 01 00 T 14 00 00 00 DD 6E 02 DD 66 03 3E 80 AC 67 ED @@ -35,9 +35,9 @@ R 00 00 01 00 T 31 00 00 00 21 2C 00 DD 4E FE DD 46 FF 09 5E R 00 00 01 00 T 3C 00 00 00 23 56 01 5A 00 CD 00 00 00 00 21 -R 00 00 01 00 02 0A 05 00 +R 00 00 01 00 02 0A 06 00 T 45 00 00 00 1D 00 00 00 19 4E 23 46 23 5E 23 -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 07 00 T 4E 00 00 00 56 D5 C5 21 00 00 00 00 E5 DD 6E R 00 00 01 00 00 08 02 00 T 57 00 00 00 FE DD 66 FF E5 3E 00 00 00 00 21 @@ -48,26 +48,26 @@ T 66 00 00 00 F1 F1 R 00 00 01 00 T 68 00 00 00 R 00 00 01 00 -T 68 00 00 00 21 00 00 18 2F +T 68 00 00 00 21 00 00 18 30 R 00 00 01 00 T 6D 00 00 00 R 00 00 01 00 T 6D 00 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 T 78 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 -T 7E 00 00 00 00 00 00 00 01 00 00 C5 E5 21 +R 00 00 01 00 2B 05 08 00 02 0A 08 00 +T 7E 00 00 00 00 00 00 00 E5 01 10 00 21 2C 00 R 00 00 01 00 02 04 00 00 -T 86 00 00 00 2C 00 DD 4E FE DD 46 FF 09 5E 23 +T 87 00 00 00 DD 5E FE DD 56 FF 19 5E 23 56 3E R 00 00 01 00 -T 91 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T 97 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 00 00 -T 9C 00 00 00 +T 92 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 97 00 00 00 00 00 00 00 F1 21 00 00 +R 00 00 01 00 02 04 00 00 +T 9D 00 00 00 R 00 00 01 00 -T 9C 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 +T 9D 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 03 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 63 75 72 72 65 6E 74 20 73 70 65 diff --git a/src/nos/lib/ppp_lib/dodial_wait.rel b/src/nos/lib/ppp_lib/dodial_wait.rel index cdf1dcb0..435556bf 100644 --- a/src/nos/lib/ppp_lib/dodial_wait.rel +++ b/src/nos/lib/ppp_lib/dodial_wait.rel @@ -4,26 +4,26 @@ S _stricmp Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?S_MULASG_L02 Ref00000000 S _fflush Ref00000000 +S _escc_speed Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S _fputc Ref00000000 S ___ctype Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _get_asy Ref00000000 S _atol Ref00000000 S ?SS_CMP_L02 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _kalarm Ref00000000 -S _asy_speed Ref00000000 +S _get_escc Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 291 flags 0 +A CODE size 29E flags 0 S _dodial_wait Def00000000 A CSTR size 6 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F8 FF DD 6E 0A DD -R 00 00 01 00 02 05 09 00 +R 00 00 01 00 02 05 0A 00 T 09 00 00 00 66 0B DD 75 F8 DD 74 F9 DD 36 FA R 00 00 01 00 T 14 00 00 00 FF DD 36 FB FF 03 03 0A 5F 03 0A @@ -36,234 +36,238 @@ T 2B 00 00 00 21 00 00 00 00 CD 00 00 00 00 3E R 00 00 01 00 02 05 0E 00 02 0A 01 00 T 32 00 00 00 02 DD AE 02 DD B6 03 C2 R 00 00 01 00 -T 3A 00 00 00 C0 00 00 00 +T 3A 00 00 00 CC 00 00 00 R 00 00 01 00 00 04 01 00 T 3C 00 00 00 R 00 00 01 00 -T 3C 00 00 00 +T 3C 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 AF +R 00 00 01 00 02 09 06 00 +T 45 00 00 00 77 23 77 +R 00 00 01 00 +T 48 00 00 00 R 00 00 01 00 -T 3C 00 00 00 21 2C 00 DD 4E F8 DD 46 F9 09 5E +T 48 00 00 00 21 2C 00 DD 4E F8 DD 46 F9 09 5E R 00 00 01 00 -T 47 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0A 00 -T 4C 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 0A 00 02 09 01 00 -T 53 00 00 00 FA DD 74 FB 7D A4 3C 28 50 21 +T 53 00 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 0F 00 +T 58 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 0F 00 02 09 01 00 +T 5F 00 00 00 FA DD 74 FB 7D A4 3C 28 50 21 R 00 00 01 00 -T 5D 00 00 00 4D 00 ED 4B 00 00 00 00 09 3E 6A -R 00 00 01 00 02 08 05 00 -T 66 00 00 00 AE 23 B6 28 41 +T 69 00 00 00 4F 00 ED 4B 00 00 00 00 09 3E 6A +R 00 00 01 00 02 08 06 00 +T 72 00 00 00 AE 23 B6 28 41 R 00 00 01 00 -T 6B 00 00 00 +T 77 00 00 00 R 00 00 01 00 -T 6B 00 00 00 +T 77 00 00 00 R 00 00 01 00 -T 6B 00 00 00 +T 77 00 00 00 R 00 00 01 00 -T 6B 00 00 00 21 12 00 DD 4E F8 DD 46 F9 09 7E +T 77 00 00 00 21 12 00 DD 4E F8 DD 46 F9 09 7E R 00 00 01 00 -T 76 00 00 00 E6 10 28 30 +T 82 00 00 00 E6 10 28 30 R 00 00 01 00 -T 7A 00 00 00 +T 86 00 00 00 R 00 00 01 00 -T 7A 00 00 00 21 14 00 DD 4E F8 DD 46 F9 09 4E +T 86 00 00 00 21 14 00 DD 4E F8 DD 46 F9 09 4E R 00 00 01 00 -T 85 00 00 00 23 46 DD 5E FA DD 56 FB 3E +T 91 00 00 00 23 46 DD 5E FA DD 56 FB 3E R 00 00 01 00 -T 8E 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 93 00 00 00 00 00 00 00 21 14 00 DD 4E F8 DD +T 9A 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 08 00 02 09 08 00 +T 9F 00 00 00 00 00 00 00 21 14 00 DD 4E F8 DD R 00 00 01 00 02 04 01 00 -T 9C 00 00 00 46 F9 09 5E 23 56 3E 00 00 00 00 +T A8 00 00 00 46 F9 09 5E 23 56 3E 00 00 00 00 R 00 00 01 00 2B 0B 03 00 -T A4 00 00 00 21 00 00 00 00 CD 00 00 00 00 +T B0 00 00 00 21 00 00 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 03 00 02 0A 01 00 -T AA 00 00 00 +T B6 00 00 00 R 00 00 01 00 -T AA 00 00 00 18 90 +T B6 00 00 00 18 90 R 00 00 01 00 -T AC 00 00 00 +T B8 00 00 00 R 00 00 01 00 -T AC 00 00 00 01 00 00 11 00 00 3E 00 00 00 00 +T B8 00 00 00 01 00 00 11 00 00 3E 00 00 00 00 R 00 00 01 00 2B 0B 0E 00 -T B4 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 +T C0 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 0E 00 02 0A 01 00 -T BB 00 00 00 00 00 C3 8E 02 00 00 +T C7 00 00 00 00 00 C3 9B 02 00 00 R 00 00 01 00 00 07 01 00 -T C0 00 00 00 +T CC 00 00 00 R 00 00 01 00 -T C0 00 00 00 21 04 00 DD 4E 04 DD 46 05 09 46 +T CC 00 00 00 21 04 00 DD 4E 04 DD 46 05 09 46 R 00 00 01 00 -T CB 00 00 00 23 66 68 DD 75 FC DD 74 FD +T D7 00 00 00 23 66 68 DD 75 FC DD 74 FD R 00 00 01 00 -T D4 00 00 00 +T E0 00 00 00 R 00 00 01 00 -T D4 00 00 00 DD 6E FC DD 66 FD AF B6 CA +T E0 00 00 00 DD 6E FC DD 66 FD AF B6 CA R 00 00 01 00 -T DD 00 00 00 71 01 00 00 21 2C 00 DD 4E F8 DD +T E9 00 00 00 7D 01 00 00 21 2C 00 DD 4E F8 DD R 00 00 01 00 00 04 01 00 -T E6 00 00 00 46 F9 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0A 00 -T EE 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0A 00 02 0A 01 00 -T F5 00 00 00 75 FA DD 74 FB 7D A4 3C 28 72 +T F2 00 00 00 46 F9 09 5E 23 56 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0F 00 +T FA 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 0F 00 02 0A 01 00 +T 01 01 00 00 75 FA DD 74 FB 7D A4 3C 28 72 R 00 00 01 00 -T FF 00 00 00 +T 0B 01 00 00 R 00 00 01 00 -T FF 00 00 00 +T 0B 01 00 00 R 00 00 01 00 -T FF 00 00 00 +T 0B 01 00 00 R 00 00 01 00 -T FF 00 00 00 21 12 00 DD 4E F8 DD 46 F9 09 7E +T 0B 01 00 00 21 12 00 DD 4E F8 DD 46 F9 09 7E R 00 00 01 00 -T 0A 01 00 00 E6 10 28 30 +T 16 01 00 00 E6 10 28 30 R 00 00 01 00 -T 0E 01 00 00 +T 1A 01 00 00 R 00 00 01 00 -T 0E 01 00 00 21 14 00 DD 4E F8 DD 46 F9 09 4E +T 1A 01 00 00 21 14 00 DD 4E F8 DD 46 F9 09 4E R 00 00 01 00 -T 19 01 00 00 23 46 DD 5E FA DD 56 FB 3E +T 25 01 00 00 23 46 DD 5E FA DD 56 FB 3E R 00 00 01 00 -T 22 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 27 01 00 00 00 00 00 00 21 14 00 DD 4E F8 DD +T 2E 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 08 00 02 09 08 00 +T 33 01 00 00 00 00 00 00 21 14 00 DD 4E F8 DD R 00 00 01 00 02 04 01 00 -T 30 01 00 00 46 F9 09 5E 23 56 3E 00 00 00 00 +T 3C 01 00 00 46 F9 09 5E 23 56 3E 00 00 00 00 R 00 00 01 00 2B 0B 03 00 -T 38 01 00 00 21 00 00 00 00 CD 00 00 00 00 +T 44 01 00 00 21 00 00 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 03 00 02 0A 01 00 -T 3E 01 00 00 +T 4A 01 00 00 R 00 00 01 00 -T 3E 01 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD +T 4A 01 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD R 00 00 01 00 -T 49 01 00 00 74 FD 2B 4E 06 00 DD 6E FA DD 66 +T 55 01 00 00 74 FD 2B 4E 06 00 DD 6E FA DD 66 R 00 00 01 00 -T 54 01 00 00 FB A7 ED 42 28 14 +T 60 01 00 00 FB A7 ED 42 28 14 R 00 00 01 00 -T 5A 01 00 00 +T 66 01 00 00 R 00 00 01 00 -T 5A 01 00 00 21 04 00 DD 4E 04 DD 46 05 09 46 +T 66 01 00 00 21 04 00 DD 4E 04 DD 46 05 09 46 R 00 00 01 00 -T 65 01 00 00 23 66 68 DD 75 FC DD 74 FD +T 71 01 00 00 23 66 68 DD 75 FC DD 74 FD R 00 00 01 00 -T 6E 01 00 00 +T 7A 01 00 00 R 00 00 01 00 -T 6E 01 00 00 C3 D4 00 00 00 +T 7A 01 00 00 C3 E0 00 00 00 R 00 00 01 00 00 05 01 00 -T 71 01 00 00 +T 7D 01 00 00 R 00 00 01 00 -T 71 01 00 00 DD 4E 02 DD 46 03 21 03 00 CD +T 7D 01 00 00 DD 4E 02 DD 46 03 21 03 00 CD R 00 00 01 00 -T 7B 01 00 00 00 00 00 00 D2 6F 02 00 00 +T 87 01 00 00 00 00 00 00 D2 7C 02 00 00 R 00 00 01 00 02 04 0C 00 00 09 01 00 -T 80 01 00 00 +T 8C 01 00 00 R 00 00 01 00 -T 80 01 00 00 AF DD 77 FE DD 77 FF 01 +T 8C 01 00 00 AF DD 77 FE DD 77 FF 01 R 00 00 01 00 -T 88 01 00 00 00 00 00 00 21 06 00 DD 5E 04 DD +T 94 01 00 00 00 00 00 00 21 06 00 DD 5E 04 DD R 00 00 01 00 00 04 02 00 -T 91 01 00 00 56 05 19 5E 23 56 3E 00 00 00 00 +T 9D 01 00 00 56 05 19 5E 23 56 3E 00 00 00 00 R 00 00 01 00 2B 0B 00 00 -T 99 01 00 00 21 00 00 00 00 CD 00 00 00 00 7D +T A5 01 00 00 21 00 00 00 00 CD 00 00 00 00 7D R 00 00 01 00 02 05 00 00 02 0A 01 00 -T A0 01 00 00 B4 28 06 +T AC 01 00 00 B4 28 06 R 00 00 01 00 -T A3 01 00 00 +T AF 01 00 00 R 00 00 01 00 -T A3 01 00 00 21 FF FF C3 8E 02 00 00 +T AF 01 00 00 21 FF FF C3 9B 02 00 00 R 00 00 01 00 00 08 01 00 -T A9 01 00 00 +T B5 01 00 00 R 00 00 01 00 -T A9 01 00 00 +T B5 01 00 00 R 00 00 01 00 -T A9 01 00 00 21 2C 00 DD 4E F8 DD 46 F9 09 5E +T B5 01 00 00 21 2C 00 DD 4E F8 DD 46 F9 09 5E R 00 00 01 00 -T B4 01 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0A 00 -T B9 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 0A 00 02 09 01 00 -T C0 01 00 00 FA DD 74 FB 7D A4 3C CA +T C0 01 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 0F 00 +T C5 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 0F 00 02 09 01 00 +T CC 01 00 00 FA DD 74 FB 7D A4 3C CA R 00 00 01 00 -T C8 01 00 00 6F 02 00 00 +T D4 01 00 00 7C 02 00 00 R 00 00 01 00 00 04 01 00 -T CA 01 00 00 +T D6 01 00 00 R 00 00 01 00 -T CA 01 00 00 21 12 00 DD 4E F8 DD 46 F9 09 7E +T D6 01 00 00 21 12 00 DD 4E F8 DD 46 F9 09 7E R 00 00 01 00 -T D5 01 00 00 E6 10 28 30 +T E1 01 00 00 E6 10 28 30 R 00 00 01 00 -T D9 01 00 00 +T E5 01 00 00 R 00 00 01 00 -T D9 01 00 00 21 14 00 DD 4E F8 DD 46 F9 09 4E +T E5 01 00 00 21 14 00 DD 4E F8 DD 46 F9 09 4E R 00 00 01 00 -T E4 01 00 00 23 46 DD 5E FA DD 56 FB 3E +T F0 01 00 00 23 46 DD 5E FA DD 56 FB 3E R 00 00 01 00 -T ED 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T F2 01 00 00 00 00 00 00 21 14 00 DD 4E F8 DD +T F9 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 08 00 02 09 08 00 +T FE 01 00 00 00 00 00 00 21 14 00 DD 4E F8 DD R 00 00 01 00 02 04 01 00 -T FB 01 00 00 46 F9 09 5E 23 56 3E 00 00 00 00 +T 07 02 00 00 46 F9 09 5E 23 56 3E 00 00 00 00 R 00 00 01 00 2B 0B 03 00 -T 03 02 00 00 21 00 00 00 00 CD 00 00 00 00 +T 0F 02 00 00 21 00 00 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 03 00 02 0A 01 00 -T 09 02 00 00 +T 15 02 00 00 R 00 00 01 00 -T 09 02 00 00 DD 4E FA 06 00 21 00 00 00 00 09 -R 00 00 01 00 02 0A 08 00 -T 12 02 00 00 7E E6 08 28 23 +T 15 02 00 00 DD 4E FA 06 00 21 00 00 00 00 09 +R 00 00 01 00 02 0A 09 00 +T 1E 02 00 00 7E E6 08 28 23 R 00 00 01 00 -T 17 02 00 00 +T 23 02 00 00 R 00 00 01 00 -T 17 02 00 00 21 06 00 39 01 0A 00 CD +T 23 02 00 00 21 06 00 39 01 0A 00 CD R 00 00 01 00 -T 1F 02 00 00 00 00 00 00 21 D0 FF DD 4E FA DD +T 2B 02 00 00 00 00 00 00 21 D0 FF DD 4E FA DD R 00 00 01 00 02 04 02 00 -T 28 02 00 00 46 FB 09 4D 44 21 06 00 39 7E 81 +T 34 02 00 00 46 FB 09 4D 44 21 06 00 39 7E 81 R 00 00 01 00 -T 33 02 00 00 77 23 7E 88 77 18 32 +T 3F 02 00 00 77 23 7E 88 77 18 33 R 00 00 01 00 -T 3A 02 00 00 +T 46 02 00 00 R 00 00 01 00 -T 3A 02 00 00 01 00 00 11 00 00 3E 00 00 00 00 +T 46 02 00 00 01 00 00 11 00 00 3E 00 00 00 00 R 00 00 01 00 2B 0B 0E 00 -T 42 02 00 00 21 00 00 00 00 CD 00 00 00 00 DD +T 4E 02 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 0E 00 02 0A 01 00 -T 49 02 00 00 6E FE DD 66 FF 01 00 00 C5 E5 21 +T 55 02 00 00 6E FE DD 66 FF E5 01 10 00 21 R 00 00 01 00 -T 54 02 00 00 2C 00 DD 4E F8 DD 46 F9 09 5E 23 +T 5F 02 00 00 2C 00 DD 5E F8 DD 56 F9 19 5E 23 R 00 00 01 00 -T 5F 02 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 -T 65 02 00 00 CD 00 00 00 00 F1 F1 18 22 +T 6A 02 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 04 00 02 0B 04 00 +T 70 02 00 00 CD 00 00 00 00 F1 21 00 00 18 22 R 00 00 01 00 02 05 01 00 -T 6C 02 00 00 +T 79 02 00 00 R 00 00 01 00 -T 6C 02 00 00 C3 A9 01 00 00 +T 79 02 00 00 C3 B5 01 00 00 R 00 00 01 00 00 05 01 00 -T 6F 02 00 00 +T 7C 02 00 00 R 00 00 01 00 -T 6F 02 00 00 +T 7C 02 00 00 R 00 00 01 00 -T 6F 02 00 00 01 00 00 11 00 00 3E 00 00 00 00 +T 7C 02 00 00 01 00 00 11 00 00 3E 00 00 00 00 R 00 00 01 00 2B 0B 0E 00 -T 77 02 00 00 21 00 00 00 00 CD 00 00 00 00 DD +T 84 02 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 0E 00 02 0A 01 00 -T 7E 02 00 00 7E FA DD A6 FB 3C 20 04 2E 01 18 +T 8B 02 00 00 7E FA DD A6 FB 3C 20 04 2E 01 18 R 00 00 01 00 -T 89 02 00 00 02 +T 96 02 00 00 02 R 00 00 01 00 -T 8A 02 00 00 +T 97 02 00 00 R 00 00 01 00 -T 8A 02 00 00 2E 00 +T 97 02 00 00 2E 00 R 00 00 01 00 -T 8C 02 00 00 +T 99 02 00 00 R 00 00 01 00 -T 8C 02 00 00 26 00 +T 99 02 00 00 26 00 R 00 00 01 00 -T 8E 02 00 00 +T 9B 02 00 00 R 00 00 01 00 -T 8E 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +T 9B 02 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 05 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 73 70 65 65 64 00 diff --git a/src/nos/lib/ppp_lib/doipcp_address.rel b/src/nos/lib/ppp_lib/doipcp_address.rel index 735bbaf1..58ae3f49 100644 --- a/src/nos/lib/ppp_lib/doipcp_address.rel +++ b/src/nos/lib/ppp_lib/doipcp_address.rel @@ -1,27 +1,27 @@ XL4 -H 3 areas F global symbols +H 2 areas 10 global symbols S _resolve Ref00000000 S _inet_ntoa Ref00000000 -S _stricmp Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0154_7643__25s_0a Ref00000000 S _Badhost Ref00000000 -S ___0139_7643__25s_0a Ref00000000 +S ___0214_8e02_Allow_20Address Ref00000000 +S ___049b_d5e4_allow Ref00000000 S _printf Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _bit16cmd Ref00000000 S .__.ABS. Def00000000 +S __stricmp Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___01e3_8e02_Allow_20Address Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 116 flags 0 +A CODE size 11C flags 0 S _doipcp_address Def00000000 -A CSTR size 6 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF DD 6E 0A DD -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0C 00 T 09 00 00 00 66 0B DD 75 FA DD 74 FB 11 02 80 R 00 00 01 00 T 14 00 00 00 DD 6E 02 DD 66 03 3E 80 AC 67 ED @@ -35,78 +35,74 @@ R 00 00 01 00 T 2D 00 00 00 23 56 23 4E 23 46 3E 00 00 00 00 R 00 00 01 00 2B 0B 01 00 T 35 00 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 01 00 02 0A 03 00 +R 00 00 01 00 02 05 01 00 02 0A 02 00 T 3C 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 05 00 02 0B 05 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 T 42 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 +R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 T 48 00 00 00 CD 00 00 00 00 F1 F1 F1 21 00 00 -R 00 00 01 00 02 05 03 00 -T 51 00 00 00 C3 13 01 00 00 +R 00 00 01 00 02 05 02 00 +T 51 00 00 00 C3 19 01 00 00 R 00 00 01 00 00 05 01 00 T 54 00 00 00 R 00 00 01 00 -T 54 00 00 00 01 00 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 00 05 02 00 -T 5D 00 00 00 23 23 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 02 00 -T 65 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 02 00 02 09 03 00 -T 6C 00 00 00 20 35 +T 54 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 +T 5A 00 00 00 E5 DD 6E 04 DD 66 05 23 23 5E 23 R 00 00 01 00 -T 6E 00 00 00 +T 65 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 +T 6B 00 00 00 CD 00 00 00 00 F1 F1 7D B4 20 35 +R 00 00 01 00 02 05 02 00 +T 74 00 00 00 R 00 00 01 00 -T 6E 00 00 00 DD 6E 04 DD 66 05 23 23 E5 DD 6E +T 74 00 00 00 DD 6E 04 DD 66 05 23 23 E5 DD 6E R 00 00 01 00 -T 79 00 00 00 02 DD 66 03 2B DD 75 02 DD 74 03 +T 7F 00 00 00 02 DD 66 03 2B DD 75 02 DD 74 03 R 00 00 01 00 -T 84 00 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 0D 00 -T 89 00 00 00 00 00 00 00 E5 01 02 00 DD 5E FA -R 00 00 01 00 02 04 0D 00 -T 92 00 00 00 DD 56 FB 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 08 00 -T 98 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 03 00 -T 9F 00 00 00 F1 F1 18 70 +T 8A 00 00 00 E5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 06 05 00 +T 8F 00 00 00 00 00 00 00 E5 01 02 00 DD 5E FA +R 00 00 01 00 02 04 05 00 +T 98 00 00 00 DD 56 FB 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 09 00 +T 9E 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 09 00 02 09 02 00 +T A5 00 00 00 F1 F1 18 70 R 00 00 01 00 -T A3 00 00 00 +T A9 00 00 00 R 00 00 01 00 -T A3 00 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 +T A9 00 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 -T AE 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +T B4 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 00 00 02 0A 00 00 -T B4 00 00 00 00 00 00 00 DD 75 FC DD 74 FD DD -R 00 00 01 00 02 04 03 00 -T BD 00 00 00 71 FE DD 70 FF 7D B4 B1 B0 20 1A +T BA 00 00 00 00 00 00 00 DD 75 FC DD 74 FD DD +R 00 00 01 00 02 04 02 00 +T C3 00 00 00 71 FE DD 70 FF 7D B4 B1 B0 20 1A R 00 00 01 00 -T C8 00 00 00 +T CE 00 00 00 R 00 00 01 00 -T C8 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 +T CE 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 -T D3 00 00 00 C5 21 00 00 00 00 E5 3E +T D9 00 00 00 C5 21 00 00 00 00 E5 3E R 00 00 01 00 02 06 04 00 -T D9 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 -T DE 00 00 00 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 -T E2 00 00 00 +T DF 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 07 00 02 09 07 00 +T E4 00 00 00 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 02 00 +T E8 00 00 00 R 00 00 01 00 -T E2 00 00 00 21 04 00 DD 4E FA DD 46 FB 09 DD +T E8 00 00 00 21 04 00 DD 4E FA DD 46 FB 09 DD R 00 00 01 00 -T ED 00 00 00 4E FE DD 46 FF DD 5E FC DD 56 FD +T F3 00 00 00 4E FE DD 46 FF DD 5E FC DD 56 FD R 00 00 01 00 -T F8 00 00 00 73 23 72 23 71 23 70 DD 6E FA DD +T FE 00 00 00 73 23 72 23 71 23 70 DD 6E FA DD R 00 00 01 00 -T 03 01 00 00 66 FB 23 23 7E F6 02 77 23 7E F6 +T 09 01 00 00 66 FB 23 23 7E F6 02 77 23 7E F6 R 00 00 01 00 -T 0E 01 00 00 00 77 21 00 00 +T 14 01 00 00 00 77 21 00 00 R 00 00 01 00 -T 13 01 00 00 +T 19 01 00 00 R 00 00 01 00 -T 13 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 07 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 61 6C 6C 6F 77 00 -R 00 00 02 00 +T 19 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 08 00 diff --git a/src/nos/lib/ppp_lib/doipcp_compress.rel b/src/nos/lib/ppp_lib/doipcp_compress.rel index 23825b5a..38b0ab73 100644 --- a/src/nos/lib/ppp_lib/doipcp_compress.rel +++ b/src/nos/lib/ppp_lib/doipcp_compress.rel @@ -1,28 +1,31 @@ XL4 -H 3 areas 10 global symbols -S _stricmp Ref00000000 +H 2 areas 14 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___01e6_081e_Allow_20Compression Ref00000000 -S _printf Ref00000000 +S ___049b_d5e4_allow Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___0217_081e_Allow_20Compression Ref00000000 S _bit16cmd Ref00000000 +S ___0602_b0e3_none Ref00000000 S .__.ABS. Def00000000 -S ___019c_3f3a_0x_2504x_0a Ref00000000 -S ___0315_1aee_None_0a Ref00000000 +S ___049d_ba08_allow_20tcp_20none_ Ref00000000 +S ___01c9_3f3a_0x_2504x_0a Ref00000000 +S __stricmp Ref00000000 +S ___06f3_98f0_vj Ref00000000 +S ___041a_5ac7_TCP_20header_20comp Ref00000000 S _strtol Ref00000000 -S ___0407_ba08_allow_20tcp_20none_ Ref00000000 +S ___0386_1aee_None_0a Ref00000000 +S ___0690_675f_slots_20must_20be_2 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ___06bc_e630_tcp Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0395_5ac7_TCP_20header_20comp Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 26C flags 0 +A CODE size 288 flags 0 S _doipcp_compress Def00000000 -A CSTR size 32 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 0A DD -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0F 00 T 09 00 00 00 66 0B DD 75 FE DD 74 FF 11 02 80 R 00 00 01 00 T 14 00 00 00 DD 6E 02 DD 66 03 3E 80 AC 67 ED @@ -48,21 +51,21 @@ R 00 00 01 00 T 4E 00 00 00 16 00 D5 21 0E 00 09 4E 23 46 C5 R 00 00 01 00 T 59 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 T 5F 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 11 00 02 0B 11 00 T 65 00 00 00 CD 00 00 00 00 F1 F1 F1 F1 18 22 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 00 00 T 6E 00 00 00 R 00 00 01 00 T 6E 00 00 00 21 0C 00 DD 4E FE DD 46 FF 09 4E R 00 00 01 00 T 79 00 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 07 00 +R 00 00 01 00 2B 08 08 00 T 80 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 07 00 2B 0A 0C 00 +R 00 00 01 00 02 04 08 00 2B 0A 11 00 T 86 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0C 00 02 09 01 00 +R 00 00 01 00 02 04 11 00 02 09 00 00 T 8D 00 00 00 F1 18 00 R 00 00 01 00 T 90 00 00 00 @@ -72,200 +75,182 @@ R 00 00 01 00 T 92 00 00 00 R 00 00 01 00 T 92 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 08 00 02 0B 08 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 T 98 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 11 00 02 0B 11 00 T 9E 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 00 00 T A3 00 00 00 R 00 00 01 00 -T A3 00 00 00 C3 66 02 00 00 +T A3 00 00 00 C3 82 02 00 00 R 00 00 01 00 00 05 01 00 T A6 00 00 00 R 00 00 01 00 -T A6 00 00 00 01 00 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 00 05 02 00 -T AF 00 00 00 23 23 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 00 00 -T B7 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 00 00 02 09 01 00 -T BE 00 00 00 20 36 -R 00 00 01 00 -T C0 00 00 00 -R 00 00 01 00 -T C0 00 00 00 DD 6E 04 DD 66 05 23 23 E5 DD 6E -R 00 00 01 00 -T CB 00 00 00 02 DD 66 03 2B DD 75 02 DD 74 03 -R 00 00 01 00 -T D6 00 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 02 00 -T DB 00 00 00 00 00 00 00 E5 01 04 00 DD 5E FE -R 00 00 01 00 02 04 02 00 -T E4 00 00 00 DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 05 00 -T EA 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 05 00 02 09 01 00 -T F1 00 00 00 F1 F1 C3 69 02 00 00 +T A6 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 +T AC 00 00 00 E5 DD 6E 04 DD 66 05 23 23 5E 23 +R 00 00 01 00 +T B7 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 09 00 02 0B 09 00 +T BD 00 00 00 CD 00 00 00 00 F1 F1 7D B4 20 36 +R 00 00 01 00 02 05 00 00 +T C6 00 00 00 +R 00 00 01 00 +T C6 00 00 00 DD 6E 04 DD 66 05 23 23 E5 DD 6E +R 00 00 01 00 +T D1 00 00 00 02 DD 66 03 2B DD 75 02 DD 74 03 +R 00 00 01 00 +T DC 00 00 00 E5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 06 03 00 +T E1 00 00 00 00 00 00 00 E5 01 04 00 DD 5E FE +R 00 00 01 00 02 04 03 00 +T EA 00 00 00 DD 56 FF 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 04 00 +T F0 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 04 00 02 09 00 00 +T F7 00 00 00 F1 F1 C3 85 02 00 00 R 00 00 01 00 00 07 01 00 -T F6 00 00 00 +T FC 00 00 00 +R 00 00 01 00 +T FC 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 10 00 02 0B 10 00 +T 02 01 00 00 E5 DD 6E 04 DD 66 05 23 23 5E 23 R 00 00 01 00 -T F6 00 00 00 01 06 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 00 05 02 00 -T FF 00 00 00 23 23 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 00 00 -T 07 01 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 00 00 02 09 01 00 -T 0E 01 00 00 28 1B 01 0A 00 00 00 DD 6E 04 DD -R 00 00 01 00 00 07 02 00 -T 17 01 00 00 66 05 23 23 5E 23 56 3E +T 0D 01 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 09 00 02 0B 09 00 +T 13 01 00 00 CD 00 00 00 00 F1 F1 7D B4 28 21 +R 00 00 01 00 02 05 00 00 +T 1C 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 +T 22 01 00 00 E5 DD 6E 04 DD 66 05 23 23 5E 23 R 00 00 01 00 -T 1F 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 24 01 00 00 00 00 00 00 7D B4 C2 23 02 00 00 -R 00 00 01 00 02 04 01 00 00 0B 01 00 -T 2B 01 00 00 +T 2D 01 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 09 00 02 0B 09 00 +T 33 01 00 00 CD 00 00 00 00 F1 F1 7D B4 C2 +R 00 00 01 00 02 05 00 00 +T 3B 01 00 00 39 02 00 00 +R 00 00 01 00 00 04 01 00 +T 3D 01 00 00 R 00 00 01 00 -T 2B 01 00 00 +T 3D 01 00 00 R 00 00 01 00 -T 2B 01 00 00 +T 3D 01 00 00 R 00 00 01 00 -T 2B 01 00 00 21 0C 00 DD 4E FE DD 46 FF 09 36 +T 3D 01 00 00 21 0C 00 DD 4E FE DD 46 FF 09 36 R 00 00 01 00 -T 36 01 00 00 2D 23 36 00 01 03 80 DD 6E 02 DD +T 48 01 00 00 2D 23 36 00 01 03 80 DD 6E 02 DD R 00 00 01 00 -T 41 01 00 00 66 03 3E 80 AC 67 ED 42 38 6D +T 53 01 00 00 66 03 3E 80 AC 67 ED 42 38 71 R 00 00 01 00 -T 4B 01 00 00 +T 5D 01 00 00 R 00 00 01 00 -T 4B 01 00 00 21 0E 00 DD 4E FE DD 46 FF 09 E5 +T 5D 01 00 00 21 0E 00 DD 4E FE DD 46 FF 09 E5 R 00 00 01 00 -T 56 01 00 00 11 00 00 D5 01 00 00 21 04 00 DD +T 68 01 00 00 11 00 00 D5 01 00 00 21 04 00 DD R 00 00 01 00 -T 61 01 00 00 5E 04 DD 56 05 19 5E 23 56 3E +T 73 01 00 00 5E 04 DD 56 05 19 5E 23 56 3E R 00 00 01 00 -T 6B 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T 70 01 00 00 00 00 00 00 F1 EB E1 73 23 72 21 -R 00 00 01 00 02 04 01 00 -T 79 01 00 00 0E 00 DD 4E FE DD 46 FF 09 46 23 +T 7D 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +T 82 01 00 00 00 00 00 00 F1 EB E1 73 23 72 21 +R 00 00 01 00 02 04 00 00 +T 8B 01 00 00 0E 00 DD 4E FE DD 46 FF 09 46 23 R 00 00 01 00 -T 84 01 00 00 66 68 01 01 00 A7 ED 42 38 15 21 +T 96 01 00 00 66 68 01 01 00 A7 ED 42 38 15 21 R 00 00 01 00 -T 8F 01 00 00 0E 00 DD 4E FE DD 46 FF 09 4E 23 +T A1 01 00 00 0E 00 DD 4E FE DD 46 FF 09 4E 23 R 00 00 01 00 -T 9A 01 00 00 46 21 FF 00 A7 ED 42 30 13 +T AC 01 00 00 46 21 FF 00 A7 ED 42 30 17 R 00 00 01 00 -T A3 01 00 00 +T B5 01 00 00 R 00 00 01 00 -T A3 01 00 00 +T B5 01 00 00 R 00 00 01 00 -T A3 01 00 00 +T B5 01 00 00 R 00 00 01 00 -T A3 01 00 00 21 0D 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 03 00 -T A9 01 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 03 00 02 0A 01 00 -T B0 01 00 00 21 01 00 C3 69 02 00 00 -R 00 00 01 00 00 08 01 00 -T B6 01 00 00 +T B5 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +T BB 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 11 00 02 0B 11 00 +T C1 01 00 00 CD 00 00 00 00 F1 F1 21 01 00 C3 +R 00 00 01 00 02 05 00 00 +T CA 01 00 00 85 02 00 00 +R 00 00 01 00 00 04 01 00 +T CC 01 00 00 R 00 00 01 00 -T B6 01 00 00 18 0F +T CC 01 00 00 18 0F R 00 00 01 00 -T B8 01 00 00 +T CE 01 00 00 R 00 00 01 00 -T B8 01 00 00 21 0E 00 DD 4E FE DD 46 FF 09 36 +T CE 01 00 00 21 0E 00 DD 4E FE DD 46 FF 09 36 R 00 00 01 00 -T C3 01 00 00 10 23 36 00 +T D9 01 00 00 10 23 36 00 R 00 00 01 00 -T C7 01 00 00 +T DD 01 00 00 R 00 00 01 00 -T C7 01 00 00 01 04 80 DD 6E 02 DD 66 03 3E 80 +T DD 01 00 00 01 04 80 DD 6E 02 DD 66 03 3E 80 R 00 00 01 00 -T D2 01 00 00 AC 67 ED 42 38 2C +T E8 01 00 00 AC 67 ED 42 38 2C R 00 00 01 00 -T D8 01 00 00 +T EE 01 00 00 R 00 00 01 00 -T D8 01 00 00 21 00 00 E5 01 00 00 21 06 00 DD +T EE 01 00 00 21 00 00 E5 01 00 00 21 06 00 DD R 00 00 01 00 -T E3 01 00 00 5E 04 DD 56 05 19 5E 23 56 3E +T F9 01 00 00 5E 04 DD 56 05 19 5E 23 56 3E R 00 00 01 00 -T ED 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T F2 01 00 00 00 00 00 00 F1 E5 21 10 00 DD 4E -R 00 00 01 00 02 04 01 00 -T FB 01 00 00 FE DD 46 FF 09 C1 71 18 0C +T 03 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +T 08 02 00 00 00 00 00 00 F1 E5 21 10 00 DD 4E +R 00 00 01 00 02 04 00 00 +T 11 02 00 00 FE DD 46 FF 09 C1 71 18 0C R 00 00 01 00 -T 04 02 00 00 +T 1A 02 00 00 R 00 00 01 00 -T 04 02 00 00 21 10 00 DD 4E FE DD 46 FF 09 36 +T 1A 02 00 00 21 10 00 DD 4E FE DD 46 FF 09 36 R 00 00 01 00 -T 0F 02 00 00 01 +T 25 02 00 00 01 R 00 00 01 00 -T 10 02 00 00 +T 26 02 00 00 R 00 00 01 00 -T 10 02 00 00 DD 6E FE DD 66 FF 23 23 7E F6 04 +T 26 02 00 00 DD 6E FE DD 66 FF 23 23 7E F6 04 R 00 00 01 00 -T 1B 02 00 00 77 23 7E F6 00 77 18 43 +T 31 02 00 00 77 23 7E F6 00 77 18 49 R 00 00 01 00 -T 23 02 00 00 +T 39 02 00 00 R 00 00 01 00 -T 23 02 00 00 01 2D 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 00 05 02 00 -T 2C 02 00 00 23 23 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 00 00 -T 34 02 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 00 00 02 09 01 00 -T 3B 02 00 00 20 13 +T 39 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 +T 3F 02 00 00 E5 DD 6E 04 DD 66 05 23 23 5E 23 R 00 00 01 00 -T 3D 02 00 00 +T 4A 02 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 09 00 02 0B 09 00 +T 50 02 00 00 CD 00 00 00 00 F1 F1 7D B4 20 13 +R 00 00 01 00 02 05 00 00 +T 59 02 00 00 R 00 00 01 00 -T 3D 02 00 00 DD 6E FE DD 66 FF 23 23 7E E6 FB +T 59 02 00 00 DD 6E FE DD 66 FF 23 23 7E E6 FB R 00 00 01 00 -T 48 02 00 00 77 23 7E E6 FF 77 18 16 +T 64 02 00 00 77 23 7E E6 FF 77 18 16 R 00 00 01 00 -T 50 02 00 00 +T 6C 02 00 00 R 00 00 01 00 -T 50 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 -T 56 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 -T 5C 02 00 00 CD 00 00 00 00 F1 F1 21 01 00 18 -R 00 00 01 00 02 05 01 00 -T 65 02 00 00 03 +T 6C 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 07 00 02 0B 07 00 +T 72 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 11 00 02 0B 11 00 +T 78 02 00 00 CD 00 00 00 00 F1 F1 21 01 00 18 +R 00 00 01 00 02 05 00 00 +T 81 02 00 00 03 R 00 00 01 00 -T 66 02 00 00 +T 82 02 00 00 R 00 00 01 00 -T 66 02 00 00 +T 82 02 00 00 R 00 00 01 00 -T 66 02 00 00 +T 82 02 00 00 R 00 00 01 00 -T 66 02 00 00 21 00 00 +T 82 02 00 00 21 00 00 R 00 00 01 00 -T 69 02 00 00 +T 85 02 00 00 R 00 00 01 00 -T 69 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 61 6C 6C 6F 77 00 -R 00 00 02 00 -T 06 00 00 00 -R 00 00 02 00 -T 06 00 00 00 74 63 70 00 -R 00 00 02 00 -T 0A 00 00 00 -R 00 00 02 00 -T 0A 00 00 00 76 6A 00 -R 00 00 02 00 -T 0D 00 00 00 -R 00 00 02 00 -T 0D 00 00 00 73 6C 6F 74 73 20 6D 75 73 74 20 -R 00 00 02 00 -T 18 00 00 00 62 65 20 69 6E 20 72 61 6E 67 65 -R 00 00 02 00 -T 23 00 00 00 20 31 20 74 6F 20 32 35 35 00 -R 00 00 02 00 -T 2D 00 00 00 -R 00 00 02 00 -T 2D 00 00 00 6E 6F 6E 65 00 -R 00 00 02 00 +T 85 02 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/ppp_lib/doipcp_pool.rel b/src/nos/lib/ppp_lib/doipcp_pool.rel index 6017e114..d3663bed 100644 --- a/src/nos/lib/ppp_lib/doipcp_pool.rel +++ b/src/nos/lib/ppp_lib/doipcp_pool.rel @@ -3,26 +3,26 @@ H 2 areas 11 global symbols S _resolve Ref00000000 S _inet_ntoa Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0154_7643__25s_0a Ref00000000 S _Badhost Ref00000000 -S ___0139_7643__25s_0a Ref00000000 +S ___0384_3fb0_None Ref00000000 S _printf Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___014d_bf9e__25s_20thru_20 Ref00000000 S .__.ABS. Def00000000 +S ___03c6_f8a0_Pool_20count_20_25s Ref00000000 S _strtol Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ___0176_bf9e__25s_20thru_20 Ref00000000 S ?SS_CMP_L02 Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0348_f8a0_Pool_20count_20_25s Ref00000000 -S ___0314_3fb0_None Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 1BC flags 0 S _doipcp_pool Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F6 FF DD 6E 0A DD -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0B 00 T 09 00 00 00 66 0B DD 75 F6 DD 74 F7 11 1C 00 R 00 00 01 00 T 14 00 00 00 19 56 23 66 6A DD 75 F8 DD 74 F9 @@ -40,9 +40,9 @@ R 00 00 01 00 T 44 00 00 00 R 00 00 01 00 T 44 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 T 4A 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T 50 00 00 00 CD 00 00 00 00 F1 F1 18 58 R 00 00 01 00 02 05 02 00 T 57 00 00 00 @@ -54,9 +54,9 @@ R 00 00 01 00 2B 0B 01 00 T 6A 00 00 00 21 00 00 00 00 CD 00 00 00 00 E5 R 00 00 01 00 02 05 01 00 02 0A 02 00 T 71 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0B 07 00 +R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 T 77 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T 7D 00 00 00 CD 00 00 00 00 F1 F1 F1 21 28 00 R 00 00 01 00 02 05 02 00 T 86 00 00 00 DD 4E F8 DD 46 F9 09 5E 23 56 23 @@ -66,9 +66,9 @@ R 00 00 01 00 2B 08 01 00 T 97 00 00 00 00 00 00 00 CD 00 00 00 00 E5 0E R 00 00 01 00 02 04 01 00 02 09 02 00 T 9E 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 04 00 02 0A 04 00 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 T A4 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T AA 00 00 00 00 00 00 00 F1 F1 F1 R 00 00 01 00 02 04 02 00 T AF 00 00 00 @@ -90,9 +90,9 @@ R 00 00 01 00 T DA 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T E5 00 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 03 00 +R 00 00 01 00 02 06 04 00 T EB 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 +R 00 00 01 00 2B 04 06 00 02 09 06 00 T F0 00 00 00 00 00 00 00 F1 F1 R 00 00 01 00 02 04 02 00 T F4 00 00 00 @@ -112,7 +112,7 @@ R 00 00 01 00 T 1A 01 00 00 5E 04 DD 56 05 19 5E 23 56 3E R 00 00 01 00 T 24 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 29 01 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF R 00 00 01 00 02 04 02 00 T 32 01 00 00 @@ -120,13 +120,13 @@ R 00 00 01 00 T 32 01 00 00 DD 4E FE DD 46 FF 21 00 00 CD R 00 00 01 00 T 3C 01 00 00 00 00 00 00 38 16 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0D 00 T 40 01 00 00 R 00 00 01 00 T 40 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 T 46 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T 4C 01 00 00 CD 00 00 00 00 F1 F1 21 FF FF 18 R 00 00 01 00 02 05 02 00 T 55 01 00 00 63 @@ -154,4 +154,4 @@ R 00 00 01 00 T B9 01 00 00 R 00 00 01 00 T B9 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 07 00 diff --git a/src/nos/lib/ppp_lib/dolcp_accm.rel b/src/nos/lib/ppp_lib/dolcp_accm.rel index b729ecdd..006e04d3 100644 --- a/src/nos/lib/ppp_lib/dolcp_accm.rel +++ b/src/nos/lib/ppp_lib/dolcp_accm.rel @@ -1,24 +1,24 @@ XL4 -H 3 areas C global symbols -S _stricmp Ref00000000 +H 2 areas D global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___049b_d5e4_allow Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _bit16cmd Ref00000000 S _strtoul Ref00000000 S .__.ABS. Def00000000 +S ___01cb_8308_0x_2508lx_0a Ref00000000 +S __stricmp Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___01e2_4a0c_Allow_20ACCM Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___019d_8308_0x_2508lx_0a Ref00000000 +S ___0213_4a0c_Allow_20ACCM Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 106 flags 0 +A CODE size 10C flags 0 S _dolcp_accm Def00000000 -A CSTR size 6 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 0A DD -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 08 00 T 09 00 00 00 66 0B DD 75 FE DD 74 FF 11 02 80 R 00 00 01 00 T 14 00 00 00 DD 6E 02 DD 66 03 3E 80 AC 67 ED @@ -32,78 +32,74 @@ R 00 00 01 00 T 2D 00 00 00 23 46 23 5E 23 56 D5 C5 0E R 00 00 01 00 T 36 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 +R 00 00 01 00 2B 04 06 00 02 0A 06 00 T 3C 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 08 00 02 0A 08 00 +R 00 00 01 00 2B 05 09 00 02 0A 09 00 T 42 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 -T 49 00 00 00 00 01 00 00 +R 00 00 01 00 02 04 00 00 +T 49 00 00 00 06 01 00 00 R 00 00 01 00 00 04 01 00 T 4B 00 00 00 R 00 00 01 00 -T 4B 00 00 00 01 00 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 00 05 02 00 -T 54 00 00 00 23 23 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 00 00 -T 5C 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 00 00 02 09 01 00 -T 63 00 00 00 20 35 +T 4B 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 +T 51 00 00 00 E5 DD 6E 04 DD 66 05 23 23 5E 23 R 00 00 01 00 -T 65 00 00 00 +T 5C 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 07 00 02 0B 07 00 +T 62 00 00 00 CD 00 00 00 00 F1 F1 7D B4 20 35 +R 00 00 01 00 02 05 00 00 +T 6B 00 00 00 R 00 00 01 00 -T 65 00 00 00 DD 6E 04 DD 66 05 23 23 E5 DD 6E +T 6B 00 00 00 DD 6E 04 DD 66 05 23 23 E5 DD 6E R 00 00 01 00 -T 70 00 00 00 02 DD 66 03 2B DD 75 02 DD 74 03 +T 76 00 00 00 02 DD 66 03 2B DD 75 02 DD 74 03 R 00 00 01 00 -T 7B 00 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 07 00 -T 80 00 00 00 00 00 00 00 E5 01 04 00 DD 5E FE -R 00 00 01 00 02 04 07 00 -T 89 00 00 00 DD 56 FF 3E 00 00 00 00 21 +T 81 00 00 00 E5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 06 0B 00 +T 86 00 00 00 00 00 00 00 E5 01 04 00 DD 5E FE +R 00 00 01 00 02 04 0B 00 +T 8F 00 00 00 DD 56 FF 3E 00 00 00 00 21 R 00 00 01 00 2B 08 03 00 -T 8F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 02 09 01 00 -T 96 00 00 00 F1 F1 18 69 +T 95 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 03 00 02 09 00 00 +T 9C 00 00 00 F1 F1 18 69 R 00 00 01 00 -T 9A 00 00 00 +T A0 00 00 00 R 00 00 01 00 -T 9A 00 00 00 21 00 00 E5 01 00 00 DD 6E 04 DD +T A0 00 00 00 21 00 00 E5 01 00 00 DD 6E 04 DD R 00 00 01 00 -T A5 00 00 00 66 05 23 23 5E 23 56 3E +T AB 00 00 00 66 05 23 23 5E 23 56 3E R 00 00 01 00 -T AD 00 00 00 00 00 00 00 21 00 00 00 00 CD +T B3 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 04 00 02 09 04 00 -T B2 00 00 00 00 00 00 00 F1 E5 21 06 00 DD 5E -R 00 00 01 00 02 04 01 00 -T BB 00 00 00 FE DD 56 FF 19 D1 73 23 72 23 71 +T B8 00 00 00 00 00 00 00 F1 E5 21 06 00 DD 5E +R 00 00 01 00 02 04 00 00 +T C1 00 00 00 FE DD 56 FF 19 D1 73 23 72 23 71 R 00 00 01 00 -T C6 00 00 00 23 70 21 06 00 DD 4E FE DD 46 FF +T CC 00 00 00 23 70 21 06 00 DD 4E FE DD 46 FF R 00 00 01 00 -T D1 00 00 00 09 7E 23 A6 23 A6 23 A6 3C 28 13 +T D7 00 00 00 09 7E 23 A6 23 A6 23 A6 3C 28 13 R 00 00 01 00 -T DC 00 00 00 +T E2 00 00 00 R 00 00 01 00 -T DC 00 00 00 DD 6E FE DD 66 FF 23 23 7E F6 04 +T E2 00 00 00 DD 6E FE DD 66 FF 23 23 7E F6 04 R 00 00 01 00 -T E7 00 00 00 77 23 7E F6 00 77 18 11 +T ED 00 00 00 77 23 7E F6 00 77 18 11 R 00 00 01 00 -T EF 00 00 00 +T F5 00 00 00 R 00 00 01 00 -T EF 00 00 00 DD 6E FE DD 66 FF 23 23 7E E6 FB +T F5 00 00 00 DD 6E FE DD 66 FF 23 23 7E E6 FB R 00 00 01 00 -T FA 00 00 00 77 23 7E E6 FF 77 +T 00 01 00 00 77 23 7E E6 FF 77 R 00 00 01 00 -T 00 01 00 00 +T 06 01 00 00 R 00 00 01 00 -T 00 01 00 00 +T 06 01 00 00 R 00 00 01 00 -T 00 01 00 00 21 00 00 +T 06 01 00 00 21 00 00 R 00 00 01 00 -T 03 01 00 00 +T 09 01 00 00 R 00 00 01 00 -T 03 01 00 00 C3 00 00 00 00 +T 09 01 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 61 6C 6C 6F 77 00 -R 00 00 02 00 diff --git a/src/nos/lib/ppp_lib/dolcp_acfc.rel b/src/nos/lib/ppp_lib/dolcp_acfc.rel index 067a0a80..713f2181 100644 --- a/src/nos/lib/ppp_lib/dolcp_acfc.rel +++ b/src/nos/lib/ppp_lib/dolcp_acfc.rel @@ -1,67 +1,63 @@ XL4 -H 3 areas A global symbols -S _stricmp Ref00000000 +H 2 areas B global symbols +S ___0215_7b21_Allow_20Address_2fC Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___049b_d5e4_allow Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _bit16cmd Ref00000000 S .__.ABS. Def00000000 -S ___01e0_e216_Address_2fControl_2 Ref00000000 +S __stricmp Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___01e4_7b21_Allow_20Address_2fC Ref00000000 +S ___0211_e216_Address_2fControl_2 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 8F flags 0 +A CODE size 91 flags 0 S _dolcp_acfc Def00000000 -A CSTR size 6 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 0A DD -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 66 0B DD 75 FE DD 74 FF 01 -R 00 00 01 00 -T 12 00 00 00 00 00 00 00 DD 6E 04 DD 66 05 23 -R 00 00 01 00 00 04 02 00 -T 1B 00 00 00 23 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 00 00 -T 22 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 00 00 02 09 01 00 -T 29 00 00 00 20 35 -R 00 00 01 00 -T 2B 00 00 00 -R 00 00 01 00 -T 2B 00 00 00 DD 6E 04 DD 66 05 23 23 E5 DD 6E -R 00 00 01 00 -T 36 00 00 00 02 DD 66 03 2B DD 75 02 DD 74 03 -R 00 00 01 00 -T 41 00 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 07 00 -T 46 00 00 00 00 00 00 00 E5 01 00 01 DD 5E FE -R 00 00 01 00 02 04 07 00 -T 4F 00 00 00 DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 03 00 -T 55 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 02 09 01 00 -T 5C 00 00 00 F1 F1 18 2C -R 00 00 01 00 -T 60 00 00 00 -R 00 00 01 00 -T 60 00 00 00 DD 6E 04 DD 66 05 E5 DD 6E 02 DD -R 00 00 01 00 -T 6B 00 00 00 66 03 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 05 00 -T 72 00 00 00 00 00 00 00 E5 01 00 01 DD 5E FE -R 00 00 01 00 02 04 05 00 -T 7B 00 00 00 DD 56 FF 13 13 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 03 00 -T 83 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 02 09 01 00 -T 8A 00 00 00 F1 F1 -R 00 00 01 00 -T 8C 00 00 00 -R 00 00 01 00 -T 8C 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 61 6C 6C 6F 77 00 -R 00 00 02 00 +R 00 00 01 00 02 05 07 00 +T 09 00 00 00 66 0B DD 75 FE DD 74 FF 1E +R 00 00 01 00 +T 12 00 00 00 00 00 00 00 D5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 02 00 02 0A 02 00 +T 18 00 00 00 03 03 0A 5F 03 0A 57 3E +R 00 00 01 00 +T 20 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 25 00 00 00 00 00 00 00 F1 F1 7D B4 20 35 +R 00 00 01 00 02 04 01 00 +T 2D 00 00 00 +R 00 00 01 00 +T 2D 00 00 00 DD 6E 04 DD 66 05 23 23 E5 DD 6E +R 00 00 01 00 +T 38 00 00 00 02 DD 66 03 2B DD 75 02 DD 74 03 +R 00 00 01 00 +T 43 00 00 00 E5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 06 00 00 +T 48 00 00 00 00 00 00 00 E5 01 00 01 DD 5E FE +R 00 00 01 00 02 04 00 00 +T 51 00 00 00 DD 56 FF 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 04 00 +T 57 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 04 00 02 09 01 00 +T 5E 00 00 00 F1 F1 18 2C +R 00 00 01 00 +T 62 00 00 00 +R 00 00 01 00 +T 62 00 00 00 DD 6E 04 DD 66 05 E5 DD 6E 02 DD +R 00 00 01 00 +T 6D 00 00 00 66 03 E5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 08 00 +T 74 00 00 00 00 00 00 00 E5 01 00 01 DD 5E FE +R 00 00 01 00 02 04 08 00 +T 7D 00 00 00 DD 56 FF 13 13 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 04 00 +T 85 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 04 00 02 09 01 00 +T 8C 00 00 00 F1 F1 +R 00 00 01 00 +T 8E 00 00 00 +R 00 00 01 00 +T 8E 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/ppp_lib/dolcp_auth.rel b/src/nos/lib/ppp_lib/dolcp_auth.rel index 43d10a89..be9e53a2 100644 --- a/src/nos/lib/ppp_lib/dolcp_auth.rel +++ b/src/nos/lib/ppp_lib/dolcp_auth.rel @@ -1,26 +1,28 @@ XL4 -H 3 areas E global symbols -S _stricmp Ref00000000 +H 2 areas 11 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___033d_d638_Pap_0a Ref00000000 +S ___0216_5003_Allow_20Authenticat Ref00000000 +S ___049b_d5e4_allow Ref00000000 +S ___03b6_d638_Pap_0a Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _bit16cmd Ref00000000 +S ___0602_b0e3_none Ref00000000 S .__.ABS. Def00000000 -S ___019c_3f3a_0x_2504x_0a Ref00000000 -S ___0315_1aee_None_0a Ref00000000 +S ___01c9_3f3a_0x_2504x_0a Ref00000000 +S __stricmp Ref00000000 +S ___061c_b6e1_pap Ref00000000 +S ___0386_1aee_None_0a Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S __printf Ref00000000 +S ___049c_8e82_allow_20pap_20none_ Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___01e5_5003_Allow_20Authenticat Ref00000000 -S ___0406_8e82_allow_20pap_20none_ Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 164 flags 0 +A CODE size 176 flags 0 S _dolcp_auth Def00000000 -A CSTR size F flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 0A DD -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 0C 00 T 09 00 00 00 66 0B DD 75 FE DD 74 FF 11 02 80 R 00 00 01 00 T 14 00 00 00 DD 6E 02 DD 66 03 3E 80 AC 67 ED @@ -42,21 +44,21 @@ R 00 00 01 00 T 44 00 00 00 R 00 00 01 00 T 44 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 02 00 02 0B 02 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 T 4A 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 +R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 T 50 00 00 00 CD 00 00 00 00 F1 F1 18 22 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 00 00 T 57 00 00 00 R 00 00 01 00 T 57 00 00 00 21 0A 00 DD 4E FE DD 46 FF 09 4E R 00 00 01 00 T 62 00 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 06 00 +R 00 00 01 00 2B 08 08 00 T 69 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 06 00 2B 0A 09 00 +R 00 00 01 00 02 04 08 00 2B 0A 0D 00 T 6F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 09 00 02 09 01 00 +R 00 00 01 00 02 04 0D 00 02 09 00 00 T 76 00 00 00 F1 18 00 R 00 00 01 00 T 79 00 00 00 @@ -66,108 +68,96 @@ R 00 00 01 00 T 7B 00 00 00 R 00 00 01 00 T 7B 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0B 07 00 +R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 T 81 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 +R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 T 87 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 00 00 T 8C 00 00 00 R 00 00 01 00 -T 8C 00 00 00 C3 5E 01 00 00 +T 8C 00 00 00 C3 70 01 00 00 R 00 00 01 00 00 05 01 00 T 8F 00 00 00 R 00 00 01 00 -T 8F 00 00 00 01 00 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 00 05 02 00 -T 98 00 00 00 23 23 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 00 00 -T A0 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 00 00 02 09 01 00 -T A7 00 00 00 20 36 -R 00 00 01 00 -T A9 00 00 00 -R 00 00 01 00 -T A9 00 00 00 DD 6E 04 DD 66 05 23 23 E5 DD 6E -R 00 00 01 00 -T B4 00 00 00 02 DD 66 03 2B DD 75 02 DD 74 03 -R 00 00 01 00 -T BF 00 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 0B 00 -T C4 00 00 00 00 00 00 00 E5 01 08 00 DD 5E FE -R 00 00 01 00 02 04 0B 00 -T CD 00 00 00 DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 04 00 -T D3 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 04 00 02 09 01 00 -T DA 00 00 00 F1 F1 C3 61 01 00 00 +T 8F 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 +T 95 00 00 00 E5 DD 6E 04 DD 66 05 23 23 5E 23 +R 00 00 01 00 +T A0 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 09 00 02 0B 09 00 +T A6 00 00 00 CD 00 00 00 00 F1 F1 7D B4 20 36 +R 00 00 01 00 02 05 00 00 +T AF 00 00 00 +R 00 00 01 00 +T AF 00 00 00 DD 6E 04 DD 66 05 23 23 E5 DD 6E +R 00 00 01 00 +T BA 00 00 00 02 DD 66 03 2B DD 75 02 DD 74 03 +R 00 00 01 00 +T C5 00 00 00 E5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 06 01 00 +T CA 00 00 00 00 00 00 00 E5 01 08 00 DD 5E FE +R 00 00 01 00 02 04 01 00 +T D3 00 00 00 DD 56 FF 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 05 00 +T D9 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 05 00 02 09 00 00 +T E0 00 00 00 F1 F1 C3 73 01 00 00 R 00 00 01 00 00 07 01 00 -T DF 00 00 00 +T E5 00 00 00 R 00 00 01 00 -T DF 00 00 00 01 06 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 00 05 02 00 -T E8 00 00 00 23 23 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 00 00 -T F0 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 00 00 02 09 01 00 -T F7 00 00 00 20 22 +T E5 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 +T EB 00 00 00 E5 DD 6E 04 DD 66 05 23 23 5E 23 R 00 00 01 00 -T F9 00 00 00 +T F6 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 09 00 02 0B 09 00 +T FC 00 00 00 CD 00 00 00 00 F1 F1 7D B4 20 22 +R 00 00 01 00 02 05 00 00 +T 05 01 00 00 R 00 00 01 00 -T F9 00 00 00 DD 6E FE DD 66 FF 23 23 7E F6 08 +T 05 01 00 00 DD 6E FE DD 66 FF 23 23 7E F6 08 R 00 00 01 00 -T 04 01 00 00 77 23 7E F6 00 77 21 0A 00 DD 4E +T 10 01 00 00 77 23 7E F6 00 77 21 0A 00 DD 4E R 00 00 01 00 -T 0F 01 00 00 FE DD 46 FF 09 36 23 23 36 C0 18 +T 1B 01 00 00 FE DD 46 FF 09 36 23 23 36 C0 18 R 00 00 01 00 -T 1A 01 00 00 43 +T 26 01 00 00 49 R 00 00 01 00 -T 1B 01 00 00 +T 27 01 00 00 R 00 00 01 00 -T 1B 01 00 00 01 0A 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 00 05 02 00 -T 24 01 00 00 23 23 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 00 00 -T 2C 01 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 00 00 02 09 01 00 -T 33 01 00 00 20 13 +T 27 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 +T 2D 01 00 00 E5 DD 6E 04 DD 66 05 23 23 5E 23 R 00 00 01 00 -T 35 01 00 00 +T 38 01 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 09 00 02 0B 09 00 +T 3E 01 00 00 CD 00 00 00 00 F1 F1 7D B4 20 13 +R 00 00 01 00 02 05 00 00 +T 47 01 00 00 R 00 00 01 00 -T 35 01 00 00 DD 6E FE DD 66 FF 23 23 7E E6 F7 +T 47 01 00 00 DD 6E FE DD 66 FF 23 23 7E E6 F7 R 00 00 01 00 -T 40 01 00 00 77 23 7E E6 FF 77 18 16 +T 52 01 00 00 77 23 7E E6 FF 77 18 16 R 00 00 01 00 -T 48 01 00 00 +T 5A 01 00 00 R 00 00 01 00 -T 48 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 -T 4E 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T 54 01 00 00 CD 00 00 00 00 F1 F1 21 01 00 18 -R 00 00 01 00 02 05 01 00 -T 5D 01 00 00 03 +T 5A 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +T 60 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 +T 66 01 00 00 CD 00 00 00 00 F1 F1 21 01 00 18 +R 00 00 01 00 02 05 00 00 +T 6F 01 00 00 03 R 00 00 01 00 -T 5E 01 00 00 +T 70 01 00 00 R 00 00 01 00 -T 5E 01 00 00 +T 70 01 00 00 R 00 00 01 00 -T 5E 01 00 00 +T 70 01 00 00 R 00 00 01 00 -T 5E 01 00 00 21 00 00 +T 70 01 00 00 21 00 00 R 00 00 01 00 -T 61 01 00 00 +T 73 01 00 00 R 00 00 01 00 -T 61 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 61 6C 6C 6F 77 00 -R 00 00 02 00 -T 06 00 00 00 -R 00 00 02 00 -T 06 00 00 00 70 61 70 00 -R 00 00 02 00 -T 0A 00 00 00 -R 00 00 02 00 -T 0A 00 00 00 6E 6F 6E 65 00 -R 00 00 02 00 +T 73 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/ppp_lib/dolcp_magic.rel b/src/nos/lib/ppp_lib/dolcp_magic.rel index 8a7e18b5..b4ee55fb 100644 --- a/src/nos/lib/ppp_lib/dolcp_magic.rel +++ b/src/nos/lib/ppp_lib/dolcp_magic.rel @@ -1,28 +1,28 @@ XL4 -H 3 areas 10 global symbols -S _stricmp Ref00000000 +H 2 areas 11 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___01e8_5c94_Allow_20Magic_20Num Ref00000000 +S ___0338_f9a6_Magic_20Number Ref00000000 +S ___049b_d5e4_allow Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___014b_aeda__25d_0a Ref00000000 S _bit16cmd Ref00000000 S _strtoul Ref00000000 S .__.ABS. Def00000000 S ?L_LSH_L03 Ref00000000 +S ___0219_5c94_Allow_20Magic_20Num Ref00000000 +S __stricmp Ref00000000 S _rdclock Ref00000000 -S ___02cc_f9a6_Magic_20Number Ref00000000 -S ___0130_aeda__25d_0a Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _setbool Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 182 flags 0 +A CODE size 188 flags 0 S _dolcp_magic Def00000000 -A CSTR size 6 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F6 FF DD 6E 0A DD -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T 09 00 00 00 66 0B DD 75 F6 DD 74 F7 AF DD 77 R 00 00 01 00 T 14 00 00 00 F8 DD 77 F9 11 02 80 DD 6E 02 DD @@ -36,116 +36,112 @@ R 00 00 01 00 T 34 00 00 00 23 46 23 5E 23 56 D5 C5 0E R 00 00 01 00 T 3D 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 +R 00 00 01 00 2B 04 04 00 02 0A 04 00 T 43 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 +R 00 00 01 00 2B 05 0D 00 02 0A 0D 00 T 49 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 -T 50 00 00 00 79 01 00 00 +R 00 00 01 00 02 04 00 00 +T 50 00 00 00 7F 01 00 00 R 00 00 01 00 00 04 01 00 T 52 00 00 00 R 00 00 01 00 -T 52 00 00 00 01 00 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 00 05 02 00 -T 5B 00 00 00 23 23 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 00 00 -T 63 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 00 00 02 09 01 00 -T 6A 00 00 00 20 36 -R 00 00 01 00 -T 6C 00 00 00 -R 00 00 01 00 -T 6C 00 00 00 DD 6E 04 DD 66 05 23 23 E5 DD 6E -R 00 00 01 00 -T 77 00 00 00 02 DD 66 03 2B DD 75 02 DD 74 03 -R 00 00 01 00 -T 82 00 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 02 00 -T 87 00 00 00 00 00 00 00 E5 01 20 00 DD 5E F6 -R 00 00 01 00 02 04 02 00 -T 90 00 00 00 DD 56 F7 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 04 00 -T 96 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 04 00 02 09 01 00 -T 9D 00 00 00 F1 F1 C3 7F 01 00 00 -R 00 00 01 00 00 07 01 00 -T A2 00 00 00 +T 52 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 +T 58 00 00 00 E5 DD 6E 04 DD 66 05 23 23 5E 23 R 00 00 01 00 -T A2 00 00 00 21 00 00 E5 01 00 00 DD 6E 04 DD +T 63 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 +T 69 00 00 00 CD 00 00 00 00 F1 F1 7D B4 20 36 +R 00 00 01 00 02 05 00 00 +T 72 00 00 00 R 00 00 01 00 -T AD 00 00 00 66 05 23 23 5E 23 56 3E +T 72 00 00 00 DD 6E 04 DD 66 05 23 23 E5 DD 6E R 00 00 01 00 -T B5 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 -T BA 00 00 00 00 00 00 00 F1 DD 75 FA DD 74 FB -R 00 00 01 00 02 04 01 00 -T C3 00 00 00 DD 71 FC DD 70 FD 7D B4 B1 B0 20 +T 7D 00 00 00 02 DD 66 03 2B DD 75 02 DD 74 03 R 00 00 01 00 -T CE 00 00 00 5B +T 88 00 00 00 E5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 06 09 00 +T 8D 00 00 00 00 00 00 00 E5 01 20 00 DD 5E F6 +R 00 00 01 00 02 04 09 00 +T 96 00 00 00 DD 56 F7 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 05 00 +T 9C 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 05 00 02 09 00 00 +T A3 00 00 00 F1 F1 C3 85 01 00 00 +R 00 00 01 00 00 07 01 00 +T A8 00 00 00 R 00 00 01 00 -T CF 00 00 00 +T A8 00 00 00 21 00 00 E5 01 00 00 DD 6E 04 DD R 00 00 01 00 -T CF 00 00 00 DD 6E 04 DD 66 05 E5 DD 6E 02 DD +T B3 00 00 00 66 05 23 23 5E 23 56 3E R 00 00 01 00 -T DA 00 00 00 66 03 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 09 00 -T E1 00 00 00 00 00 00 00 E5 21 10 00 39 5D 54 -R 00 00 01 00 02 04 09 00 -T EA 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 -T F0 00 00 00 00 00 00 00 F1 F1 F1 F1 DD 75 F8 -R 00 00 01 00 02 04 01 00 -T F9 00 00 00 DD 74 F9 DD 7E FE DD B6 FF 28 26 +T BB 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T C0 00 00 00 00 00 00 00 F1 DD 75 FA DD 74 FB +R 00 00 01 00 02 04 00 00 +T C9 00 00 00 DD 71 FC DD 70 FD 7D B4 B1 B0 20 +R 00 00 01 00 +T D4 00 00 00 5B +R 00 00 01 00 +T D5 00 00 00 R 00 00 01 00 -T 04 01 00 00 +T D5 00 00 00 DD 6E 04 DD 66 05 E5 DD 6E 02 DD R 00 00 01 00 -T 04 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 08 00 02 0A 08 00 -T 0A 01 00 00 00 00 00 00 7D E6 0F C6 08 F5 3E +T E0 00 00 00 66 03 E5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 01 00 +T E7 00 00 00 00 00 00 00 E5 21 10 00 39 5D 54 R 00 00 01 00 02 04 01 00 -T 13 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T 18 01 00 00 00 00 00 00 F1 CD 00 00 00 00 DD -R 00 00 01 00 02 04 01 00 02 0A 07 00 -T 1F 01 00 00 75 FA DD 74 FB DD 71 FC DD 70 FD +T F0 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0F 00 02 0A 0F 00 +T F6 00 00 00 00 00 00 00 F1 F1 F1 F1 DD 75 F8 +R 00 00 01 00 02 04 00 00 +T FF 00 00 00 DD 74 F9 DD 7E FE DD B6 FF 28 26 R 00 00 01 00 -T 2A 01 00 00 +T 0A 01 00 00 R 00 00 01 00 -T 2A 01 00 00 +T 0A 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0B 00 02 0A 0B 00 +T 10 01 00 00 00 00 00 00 7D E6 0F C6 08 F5 3E +R 00 00 01 00 02 04 00 00 +T 19 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +T 1E 01 00 00 00 00 00 00 F1 CD 00 00 00 00 DD +R 00 00 01 00 02 04 00 00 02 0A 08 00 +T 25 01 00 00 75 FA DD 74 FB DD 71 FC DD 70 FD R 00 00 01 00 -T 2A 01 00 00 DD 7E FA DD B6 FB DD B6 FC DD B6 +T 30 01 00 00 R 00 00 01 00 -T 35 01 00 00 FD 28 13 +T 30 01 00 00 R 00 00 01 00 -T 38 01 00 00 +T 30 01 00 00 DD 7E FA DD B6 FB DD B6 FC DD B6 R 00 00 01 00 -T 38 01 00 00 DD 6E F6 DD 66 F7 23 23 7E F6 20 +T 3B 01 00 00 FD 28 13 R 00 00 01 00 -T 43 01 00 00 77 23 7E F6 00 77 18 11 +T 3E 01 00 00 R 00 00 01 00 -T 4B 01 00 00 +T 3E 01 00 00 DD 6E F6 DD 66 F7 23 23 7E F6 20 R 00 00 01 00 -T 4B 01 00 00 DD 6E F6 DD 66 F7 23 23 7E E6 DF +T 49 01 00 00 77 23 7E F6 00 77 18 11 R 00 00 01 00 -T 56 01 00 00 77 23 7E E6 FF 77 +T 51 01 00 00 R 00 00 01 00 -T 5C 01 00 00 +T 51 01 00 00 DD 6E F6 DD 66 F7 23 23 7E E6 DF R 00 00 01 00 -T 5C 01 00 00 21 0E 00 DD 4E F6 DD 46 F7 09 DD +T 5C 01 00 00 77 23 7E E6 FF 77 R 00 00 01 00 -T 67 01 00 00 4E FC DD 46 FD DD 5E FA DD 56 FB +T 62 01 00 00 R 00 00 01 00 -T 72 01 00 00 73 23 72 23 71 23 70 +T 62 01 00 00 21 0E 00 DD 4E F6 DD 46 F7 09 DD R 00 00 01 00 -T 79 01 00 00 +T 6D 01 00 00 4E FC DD 46 FD DD 5E FA DD 56 FB R 00 00 01 00 -T 79 01 00 00 DD 6E F8 DD 66 F9 +T 78 01 00 00 73 23 72 23 71 23 70 R 00 00 01 00 T 7F 01 00 00 R 00 00 01 00 -T 7F 01 00 00 C3 00 00 00 00 +T 7F 01 00 00 DD 6E F8 DD 66 F9 +R 00 00 01 00 +T 85 01 00 00 +R 00 00 01 00 +T 85 01 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 61 6C 6C 6F 77 00 -R 00 00 02 00 diff --git a/src/nos/lib/ppp_lib/dolcp_mru.rel b/src/nos/lib/ppp_lib/dolcp_mru.rel index 3c0bf0f4..dd4c48b2 100644 --- a/src/nos/lib/ppp_lib/dolcp_mru.rel +++ b/src/nos/lib/ppp_lib/dolcp_mru.rel @@ -1,26 +1,26 @@ XL4 -H 3 areas E global symbols -S _stricmp Ref00000000 +H 2 areas F global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0337_53a6_MRU_20_25s_20_28_25 Ref00000000 +S ___049b_d5e4_allow Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___014b_aeda__25d_0a Ref00000000 S _bit16cmd Ref00000000 S .__.ABS. Def00000000 -S ___02cb_53a6_MRU_20_25s_20_28_25 Ref00000000 -S ___0130_aeda__25d_0a Ref00000000 +S __stricmp Ref00000000 S _strtol Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___01e7_14d8_Allow_20MRU Ref00000000 S ?SS_CMP_L02 Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___0218_14d8_Allow_20MRU Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 150 flags 0 +A CODE size 156 flags 0 S _dolcp_mru Def00000000 -A CSTR size 6 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 0A DD -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 09 00 T 09 00 00 00 66 0B DD 75 FC DD 74 FD 11 02 80 R 00 00 01 00 T 14 00 00 00 DD 6E 02 DD 66 03 3E 80 AC 67 ED @@ -32,106 +32,102 @@ R 00 00 01 00 T 22 00 00 00 21 04 00 DD 4E FC DD 46 FD 09 4E R 00 00 01 00 T 2D 00 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 06 00 +R 00 00 01 00 2B 08 04 00 T 34 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 06 00 2B 0A 0B 00 +R 00 00 01 00 02 04 04 00 2B 0A 0B 00 T 3A 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0B 00 02 09 01 00 -T 41 00 00 00 F1 C3 4A 01 00 00 +R 00 00 01 00 02 04 0B 00 02 09 00 00 +T 41 00 00 00 F1 C3 50 01 00 00 R 00 00 01 00 00 06 01 00 T 45 00 00 00 R 00 00 01 00 -T 45 00 00 00 01 00 00 00 00 DD 6E 04 DD 66 05 -R 00 00 01 00 00 05 02 00 -T 4E 00 00 00 23 23 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 00 00 -T 56 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 00 00 02 09 01 00 -T 5D 00 00 00 20 36 -R 00 00 01 00 -T 5F 00 00 00 -R 00 00 01 00 -T 5F 00 00 00 DD 6E 04 DD 66 05 23 23 E5 DD 6E -R 00 00 01 00 -T 6A 00 00 00 02 DD 66 03 2B DD 75 02 DD 74 03 -R 00 00 01 00 -T 75 00 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 09 00 -T 7A 00 00 00 00 00 00 00 E5 01 02 00 DD 5E FC -R 00 00 01 00 02 04 09 00 -T 83 00 00 00 DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 03 00 -T 89 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 02 09 01 00 -T 90 00 00 00 F1 F1 C3 4D 01 00 00 +T 45 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 +T 4B 00 00 00 E5 DD 6E 04 DD 66 05 23 23 5E 23 +R 00 00 01 00 +T 56 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 07 00 02 0B 07 00 +T 5C 00 00 00 CD 00 00 00 00 F1 F1 7D B4 20 36 +R 00 00 01 00 02 05 00 00 +T 65 00 00 00 +R 00 00 01 00 +T 65 00 00 00 DD 6E 04 DD 66 05 23 23 E5 DD 6E +R 00 00 01 00 +T 70 00 00 00 02 DD 66 03 2B DD 75 02 DD 74 03 +R 00 00 01 00 +T 7B 00 00 00 E5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 06 0D 00 +T 80 00 00 00 00 00 00 00 E5 01 02 00 DD 5E FC +R 00 00 01 00 02 04 0D 00 +T 89 00 00 00 DD 56 FD 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 05 00 +T 8F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 05 00 02 09 00 00 +T 96 00 00 00 F1 F1 C3 53 01 00 00 R 00 00 01 00 00 07 01 00 -T 95 00 00 00 +T 9B 00 00 00 R 00 00 01 00 -T 95 00 00 00 21 00 00 E5 01 00 00 DD 6E 04 DD +T 9B 00 00 00 21 00 00 E5 01 00 00 DD 6E 04 DD R 00 00 01 00 -T A0 00 00 00 66 05 23 23 5E 23 56 3E +T A6 00 00 00 66 05 23 23 5E 23 56 3E R 00 00 01 00 -T A8 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T AD 00 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 01 00 -T B6 00 00 00 01 80 80 3E 80 AC 67 ED 42 38 0E +T AE 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 08 00 02 09 08 00 +T B3 00 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF +R 00 00 01 00 02 04 00 00 +T BC 00 00 00 01 80 80 3E 80 AC 67 ED 42 38 0E R 00 00 01 00 -T C1 00 00 00 DD 4E FE DD 46 FF 21 00 10 CD +T C7 00 00 00 DD 4E FE DD 46 FF 21 00 10 CD R 00 00 01 00 -T CB 00 00 00 00 00 00 00 30 36 +T D1 00 00 00 00 00 00 00 30 36 R 00 00 01 00 02 04 0A 00 -T CF 00 00 00 +T D5 00 00 00 R 00 00 01 00 -T CF 00 00 00 +T D5 00 00 00 R 00 00 01 00 -T CF 00 00 00 +T D5 00 00 00 R 00 00 01 00 -T CF 00 00 00 21 00 10 E5 21 80 00 E5 DD 6E FE +T D5 00 00 00 21 00 10 E5 21 80 00 E5 DD 6E FE R 00 00 01 00 -T DA 00 00 00 DD 66 FF E5 DD 6E 04 DD 66 05 23 +T E0 00 00 00 DD 66 FF E5 DD 6E 04 DD 66 05 23 R 00 00 01 00 -T E5 00 00 00 23 4E 23 46 C5 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 05 00 -T ED 00 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 05 00 2B 0B 0B 00 -T F3 00 00 00 21 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 0B 00 02 0A 01 00 -T FA 00 00 00 21 0C 00 39 F9 EB 21 FF FF 18 48 +T EB 00 00 00 23 4E 23 46 C5 0E 00 00 00 00 C5 +R 00 00 01 00 2B 0A 01 00 +T F3 00 00 00 21 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 01 00 2B 0B 0B 00 +T F9 00 00 00 21 00 00 00 00 CD 00 00 00 00 EB +R 00 00 01 00 02 05 0B 00 02 0A 00 00 +T 00 01 00 00 21 0C 00 39 F9 EB 21 FF FF 18 48 R 00 00 01 00 -T 05 01 00 00 +T 0B 01 00 00 R 00 00 01 00 -T 05 01 00 00 21 DC 05 DD 4E FE DD 46 FF A7 ED +T 0B 01 00 00 21 DC 05 DD 4E FE DD 46 FF A7 ED R 00 00 01 00 -T 10 01 00 00 42 28 13 +T 16 01 00 00 42 28 13 R 00 00 01 00 -T 13 01 00 00 +T 19 01 00 00 R 00 00 01 00 -T 13 01 00 00 DD 6E FC DD 66 FD 23 23 7E F6 02 +T 19 01 00 00 DD 6E FC DD 66 FD 23 23 7E F6 02 R 00 00 01 00 -T 1E 01 00 00 77 23 7E F6 00 77 18 11 +T 24 01 00 00 77 23 7E F6 00 77 18 11 R 00 00 01 00 -T 26 01 00 00 +T 2C 01 00 00 R 00 00 01 00 -T 26 01 00 00 DD 6E FC DD 66 FD 23 23 7E E6 FD +T 2C 01 00 00 DD 6E FC DD 66 FD 23 23 7E E6 FD R 00 00 01 00 -T 31 01 00 00 77 23 7E E6 FF 77 +T 37 01 00 00 77 23 7E E6 FF 77 R 00 00 01 00 -T 37 01 00 00 +T 3D 01 00 00 R 00 00 01 00 -T 37 01 00 00 21 04 00 DD 4E FC DD 46 FD 09 DD +T 3D 01 00 00 21 04 00 DD 4E FC DD 46 FD 09 DD R 00 00 01 00 -T 42 01 00 00 4E FE DD 46 FF 71 23 70 +T 48 01 00 00 4E FE DD 46 FF 71 23 70 R 00 00 01 00 -T 4A 01 00 00 +T 50 01 00 00 R 00 00 01 00 -T 4A 01 00 00 21 00 00 +T 50 01 00 00 21 00 00 R 00 00 01 00 -T 4D 01 00 00 +T 53 01 00 00 R 00 00 01 00 -T 4D 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 61 6C 6C 6F 77 00 -R 00 00 02 00 +T 53 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/ppp_lib/dolcp_pfc.rel b/src/nos/lib/ppp_lib/dolcp_pfc.rel index 0f12ccd1..81d7fe60 100644 --- a/src/nos/lib/ppp_lib/dolcp_pfc.rel +++ b/src/nos/lib/ppp_lib/dolcp_pfc.rel @@ -1,67 +1,63 @@ XL4 -H 3 areas A global symbols -S _stricmp Ref00000000 +H 2 areas B global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___049b_d5e4_allow Ref00000000 +S ___03c7_dd4d_Protocol_20Field_20 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _bit16cmd Ref00000000 S .__.ABS. Def00000000 -S ___0349_dd4d_Protocol_20Field_20 Ref00000000 +S __stricmp Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ___021a_33ea_Allow_20Protocol_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___01e9_33ea_Allow_20Protocol_20 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 8F flags 0 +A CODE size 91 flags 0 S _dolcp_pfc Def00000000 -A CSTR size 6 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 0A DD -R 00 00 01 00 02 05 06 00 -T 09 00 00 00 66 0B DD 75 FE DD 74 FF 01 +R 00 00 01 00 02 05 07 00 +T 09 00 00 00 66 0B DD 75 FE DD 74 FF 1E R 00 00 01 00 -T 12 00 00 00 00 00 00 00 DD 6E 04 DD 66 05 23 -R 00 00 01 00 00 04 02 00 -T 1B 00 00 00 23 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 00 00 -T 22 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 00 00 02 09 01 00 -T 29 00 00 00 20 35 +T 12 00 00 00 00 00 00 00 D5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 01 00 02 0A 01 00 +T 18 00 00 00 03 03 0A 5F 03 0A 57 3E R 00 00 01 00 -T 2B 00 00 00 +T 20 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 25 00 00 00 00 00 00 00 F1 F1 7D B4 20 35 +R 00 00 01 00 02 04 00 00 +T 2D 00 00 00 R 00 00 01 00 -T 2B 00 00 00 DD 6E 04 DD 66 05 23 23 E5 DD 6E +T 2D 00 00 00 DD 6E 04 DD 66 05 23 23 E5 DD 6E R 00 00 01 00 -T 36 00 00 00 02 DD 66 03 2B DD 75 02 DD 74 03 +T 38 00 00 00 02 DD 66 03 2B DD 75 02 DD 74 03 R 00 00 01 00 -T 41 00 00 00 E5 0E 00 00 00 00 C5 21 +T 43 00 00 00 E5 0E 00 00 00 00 C5 21 R 00 00 01 00 2B 06 08 00 -T 46 00 00 00 00 00 00 00 E5 01 80 00 DD 5E FE +T 48 00 00 00 00 00 00 00 E5 01 80 00 DD 5E FE R 00 00 01 00 02 04 08 00 -T 4F 00 00 00 DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 03 00 -T 55 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 02 09 01 00 -T 5C 00 00 00 F1 F1 18 2C -R 00 00 01 00 -T 60 00 00 00 -R 00 00 01 00 -T 60 00 00 00 DD 6E 04 DD 66 05 E5 DD 6E 02 DD -R 00 00 01 00 -T 6B 00 00 00 66 03 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 05 00 -T 72 00 00 00 00 00 00 00 E5 01 80 00 DD 5E FE -R 00 00 01 00 02 04 05 00 -T 7B 00 00 00 DD 56 FF 13 13 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 03 00 -T 83 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 02 09 01 00 -T 8A 00 00 00 F1 F1 -R 00 00 01 00 -T 8C 00 00 00 -R 00 00 01 00 -T 8C 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 61 6C 6C 6F 77 00 -R 00 00 02 00 +T 51 00 00 00 DD 56 FF 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 04 00 +T 57 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 04 00 02 09 00 00 +T 5E 00 00 00 F1 F1 18 2C +R 00 00 01 00 +T 62 00 00 00 +R 00 00 01 00 +T 62 00 00 00 DD 6E 04 DD 66 05 E5 DD 6E 02 DD +R 00 00 01 00 +T 6D 00 00 00 66 03 E5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 02 00 +T 74 00 00 00 00 00 00 00 E5 01 80 00 DD 5E FE +R 00 00 01 00 02 04 02 00 +T 7D 00 00 00 DD 56 FF 13 13 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 04 00 +T 85 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 04 00 02 09 00 00 +T 8C 00 00 00 F1 F1 +R 00 00 01 00 +T 8E 00 00 00 +R 00 00 01 00 +T 8E 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/ppp_lib/dopap_user.rel b/src/nos/lib/ppp_lib/dopap_user.rel index f06e6f98..f968c77f 100644 --- a/src/nos/lib/ppp_lib/dopap_user.rel +++ b/src/nos/lib/ppp_lib/dopap_user.rel @@ -1,25 +1,26 @@ XL4 -H 3 areas D global symbols -S _stricmp Ref00000000 +H 3 areas E global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0154_7643__25s_0a Ref00000000 S _pap_pwdlookup Ref00000000 -S ___0139_7643__25s_0a Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _strdupw Ref00000000 +S ___0602_b0e3_none Ref00000000 S .__.ABS. Def00000000 +S __stricmp Ref00000000 S _free Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?SS_CMP_L02 Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 11D flags 0 +A CODE size 123 flags 0 S _dopap_user Def00000000 -A CSTR size A flags 0 +A CSTR size 5 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 0A DD -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 09 00 T 09 00 00 00 66 0B DD 75 FC DD 74 FD 11 1C 00 R 00 00 01 00 T 14 00 00 00 19 56 23 66 6A DD 75 FE DD 74 FF @@ -41,82 +42,78 @@ R 00 00 01 00 T 4A 00 00 00 R 00 00 01 00 T 4A 00 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 03 00 +R 00 00 01 00 2B 06 01 00 T 4F 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 03 00 2B 0A 0A 00 +R 00 00 01 00 02 04 01 00 2B 0A 0B 00 T 55 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0A 00 02 09 01 00 -T 5C 00 00 00 F1 21 00 00 C3 1A 01 00 00 +R 00 00 01 00 02 04 0B 00 02 09 00 00 +T 5C 00 00 00 F1 21 00 00 C3 20 01 00 00 R 00 00 01 00 00 09 01 00 T 63 00 00 00 R 00 00 01 00 T 63 00 00 00 DD 6E FE DD 66 FF 5E 23 56 3E R 00 00 01 00 T 6D 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 +R 00 00 01 00 2B 04 08 00 02 09 08 00 T 72 00 00 00 00 00 00 00 DD 6E FE DD 66 FF AF -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 7B 00 00 00 77 23 77 DD 6E FE DD 66 FF 23 23 R 00 00 01 00 T 86 00 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 07 00 +R 00 00 01 00 2B 08 08 00 T 8C 00 00 00 00 00 00 00 CD 00 00 00 00 DD 6E -R 00 00 01 00 02 04 07 00 02 09 01 00 -T 93 00 00 00 FE DD 66 FF 23 23 AF 77 23 77 01 +R 00 00 01 00 02 04 08 00 02 09 00 00 +T 93 00 00 00 FE DD 66 FF 23 23 AF 77 23 77 0E R 00 00 01 00 -T 9E 00 00 00 05 00 00 00 DD 6E 04 DD 66 05 23 -R 00 00 01 00 00 04 02 00 -T A7 00 00 00 23 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 00 00 -T AE 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 00 00 02 09 01 00 -T B5 00 00 00 28 60 +T 9E 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 05 00 02 0A 05 00 +T A4 00 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 -T B7 00 00 00 +T AF 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 07 00 02 0A 07 00 +T B5 00 00 00 00 00 00 00 F1 F1 7D B4 28 60 +R 00 00 01 00 02 04 00 00 +T BD 00 00 00 R 00 00 01 00 -T B7 00 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 +T BD 00 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 -T C2 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 05 00 02 0A 05 00 -T C8 00 00 00 00 00 00 00 E5 DD 6E FE DD 66 FF -R 00 00 01 00 02 04 01 00 -T D1 00 00 00 C1 71 23 70 DD 4E 02 DD 46 03 21 +T C8 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 04 00 02 0A 04 00 +T CE 00 00 00 00 00 00 00 E5 DD 6E FE DD 66 FF +R 00 00 01 00 02 04 00 00 +T D7 00 00 00 C1 71 23 70 DD 4E 02 DD 46 03 21 R 00 00 01 00 -T DC 00 00 00 02 00 CD 00 00 00 00 30 26 -R 00 00 01 00 02 07 09 00 -T E3 00 00 00 +T E2 00 00 00 02 00 CD 00 00 00 00 30 26 +R 00 00 01 00 02 07 0A 00 +T E9 00 00 00 R 00 00 01 00 -T E3 00 00 00 DD 6E FE DD 66 FF 23 23 E5 21 +T E9 00 00 00 DD 6E FE DD 66 FF 23 23 E5 21 R 00 00 01 00 -T ED 00 00 00 04 00 DD 4E 04 DD 46 05 09 5E 23 +T F3 00 00 00 04 00 DD 4E 04 DD 46 05 09 5E 23 R 00 00 01 00 -T F8 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 -T FE 00 00 00 CD 00 00 00 00 4D 44 E1 71 23 70 -R 00 00 01 00 02 05 01 00 -T 07 01 00 00 18 0E +T FE 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 04 00 02 0B 04 00 +T 04 01 00 00 CD 00 00 00 00 4D 44 E1 71 23 70 +R 00 00 01 00 02 05 00 00 +T 0D 01 00 00 18 0E R 00 00 01 00 -T 09 01 00 00 +T 0F 01 00 00 R 00 00 01 00 -T 09 01 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +T 0F 01 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 R 00 00 01 00 2B 0B 02 00 -T 11 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 02 00 02 0A 01 00 -T 17 01 00 00 +T 17 01 00 00 21 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 02 00 02 0A 00 00 +T 1D 01 00 00 R 00 00 01 00 -T 17 01 00 00 +T 1D 01 00 00 R 00 00 01 00 -T 17 01 00 00 21 00 00 +T 1D 01 00 00 21 00 00 R 00 00 01 00 -T 1A 01 00 00 +T 20 01 00 00 R 00 00 01 00 -T 1A 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +T 20 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 03 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 4E 6F 6E 65 00 R 00 00 02 00 -T 05 00 00 00 -R 00 00 02 00 -T 05 00 00 00 6E 6F 6E 65 00 -R 00 00 02 00 diff --git a/src/nos/lib/ppp_lib/dropit.rel b/src/nos/lib/ppp_lib/dropit.rel index 550ba4cb..0788a4d6 100644 --- a/src/nos/lib/ppp_lib/dropit.rel +++ b/src/nos/lib/ppp_lib/dropit.rel @@ -1,60 +1,43 @@ XL4 -H 3 areas B global symbols +H 2 areas 9 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S _printf Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S _Esccchan Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 S ?L_INCASG_L03 Ref00000000 -S _Asy Ref00000000 S _redial Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 7E flags 0 +A CODE size 64 flags 0 S _dropit Def00000000 -A CSTR size E flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF DD 71 FA DD R 00 00 01 00 02 05 04 00 T 09 00 00 00 70 FB 21 24 00 09 56 23 66 6A DD R 00 00 01 00 -T 14 00 00 00 75 FE DD 74 FF 21 2C 00 09 4E 23 +T 14 00 00 00 75 FE DD 74 FF 21 2C 00 09 46 23 R 00 00 01 00 -T 1F 00 00 00 46 11 5A 00 CD 00 00 00 00 21 -R 00 00 01 00 02 09 05 00 -T 27 00 00 00 00 00 00 00 19 DD 75 FC DD 74 FD -R 00 00 01 00 02 04 07 00 -T 30 00 00 00 01 29 00 09 4E 06 00 C5 21 +T 1F 00 00 00 66 68 29 01 00 00 00 00 09 46 23 +R 00 00 01 00 02 08 02 00 +T 28 00 00 00 66 68 DD 75 FC DD 74 FD 01 24 00 R 00 00 01 00 -T 39 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 2B 0A 01 00 -T 3F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 01 00 02 09 00 00 -T 46 00 00 00 21 29 00 DD 4E FC DD 46 FD 09 7E +T 33 00 00 00 09 7E E6 08 28 28 R 00 00 01 00 -T 51 00 00 00 E6 04 20 26 +T 39 00 00 00 R 00 00 01 00 -T 55 00 00 00 +T 39 00 00 00 21 20 00 DD 4E FE DD 46 FF 09 CD R 00 00 01 00 -T 55 00 00 00 21 1E 00 DD 4E FE DD 46 FF 09 CD +T 44 00 00 00 00 00 00 00 21 04 00 DD 4E FE DD +R 00 00 01 00 02 04 05 00 +T 4D 00 00 00 46 FF 09 4E 23 46 DD 5E FA DD 56 R 00 00 01 00 -T 60 00 00 00 00 00 00 00 DD 6E FE DD 66 FF 23 -R 00 00 01 00 02 04 06 00 -T 69 00 00 00 23 4E 23 46 DD 5E FA DD 56 FB 3E +T 58 00 00 00 FB 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 06 00 02 0B 06 00 +T 5E 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 00 00 +T 61 00 00 00 R 00 00 01 00 -T 74 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T 79 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 00 00 -T 7B 00 00 00 -R 00 00 01 00 -T 7B 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 34 3A 20 73 74 61 74 3D 30 78 25 -R 00 00 02 00 -T 0B 00 00 00 78 0A 00 -R 00 00 02 00 +T 61 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/ppp_lib/dropline.rel b/src/nos/lib/ppp_lib/dropline.rel index a7bd9774..a9ff3a65 100644 --- a/src/nos/lib/ppp_lib/dropline.rel +++ b/src/nos/lib/ppp_lib/dropline.rel @@ -19,7 +19,7 @@ T 08 00 00 00 00 00 E5 D5 21 00 00 E5 0E R 00 00 01 00 T 11 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 R 00 00 01 00 2B 04 01 00 02 0A 01 00 -T 17 00 00 00 01 00 04 11 00 00 00 00 3E +T 17 00 00 00 01 00 02 11 00 00 00 00 3E R 00 00 01 00 00 08 02 00 T 1E 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 06 00 02 09 06 00 diff --git a/src/nos/lib/ppp_lib/fsmCodes.rel b/src/nos/lib/ppp_lib/fsmCodes.rel index 2713645b..ff3ee1b8 100644 --- a/src/nos/lib/ppp_lib/fsmCodes.rel +++ b/src/nos/lib/ppp_lib/fsmCodes.rel @@ -1,80 +1,36 @@ XL4 -H 5 areas 3 global symbols +H 4 areas E global symbols +S ___02ae_6684_Echo_20Reply Ref00000000 +S ___042b_678e_Termin_20Req Ref00000000 +S ___02af_1323_Echo_20Request Ref00000000 S .__.ABS. Def00000000 +S ___03c8_c251_Protocol_20Reject Ref00000000 +S ___025c_d2e5_Config_20Req Ref00000000 +S ___025a_2a68_Config_20Nak Ref00000000 +S ___025b_194d_Config_20Reject Ref00000000 +S ___0279_c453_Discard_20Request Ref00000000 +S ___0259_531f_Config_20Ack Ref00000000 +S ___0255_5627_Code_20Reject Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___042a_e674_Termin_20Ack Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 -A CSTR size 89 flags 0 -A IDATA0 size 18 flags 0 +A IDATA0 size 24 flags 0 S _fsmCodes Def00000000 -A CDATA0 size 18 flags 0 +A CDATA0 size 24 flags 0 T 00 00 00 00 R 00 00 02 00 -T 00 00 00 00 43 6F 6E 66 69 67 20 52 65 71 00 -R 00 00 02 00 -T 0B 00 00 00 -R 00 00 02 00 -T 0B 00 00 00 43 6F 6E 66 69 67 20 41 63 6B 00 -R 00 00 02 00 -T 16 00 00 00 -R 00 00 02 00 -T 16 00 00 00 43 6F 6E 66 69 67 20 4E 61 6B 00 -R 00 00 02 00 -T 21 00 00 00 -R 00 00 02 00 -T 21 00 00 00 43 6F 6E 66 69 67 20 52 65 6A 65 -R 00 00 02 00 -T 2C 00 00 00 63 74 00 -R 00 00 02 00 -T 2F 00 00 00 -R 00 00 02 00 -T 2F 00 00 00 54 65 72 6D 69 6E 20 52 65 71 00 -R 00 00 02 00 -T 3A 00 00 00 -R 00 00 02 00 -T 3A 00 00 00 54 65 72 6D 69 6E 20 41 63 6B 00 -R 00 00 02 00 -T 45 00 00 00 -R 00 00 02 00 -T 45 00 00 00 43 6F 64 65 20 52 65 6A 65 63 74 -R 00 00 02 00 -T 50 00 00 00 00 -R 00 00 02 00 -T 51 00 00 00 -R 00 00 02 00 -T 51 00 00 00 50 72 6F 74 6F 63 6F 6C 20 52 65 -R 00 00 02 00 -T 5C 00 00 00 6A 65 63 74 00 -R 00 00 02 00 -T 61 00 00 00 -R 00 00 02 00 -T 61 00 00 00 45 63 68 6F 20 52 65 71 75 65 73 -R 00 00 02 00 -T 6C 00 00 00 74 00 -R 00 00 02 00 -T 6E 00 00 00 -R 00 00 02 00 -T 6E 00 00 00 45 63 68 6F 20 52 65 70 6C 79 00 -R 00 00 02 00 -T 79 00 00 00 -R 00 00 02 00 -T 79 00 00 00 44 69 73 63 61 72 64 20 52 65 71 -R 00 00 02 00 -T 84 00 00 00 75 65 73 74 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 00 00 00 00 00 00 0B 00 00 00 -R 00 00 04 00 00 06 02 00 00 0A 02 00 -T 06 00 00 00 16 00 00 00 21 00 00 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 0A 00 00 00 2F 00 00 00 3A 00 00 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 0E 00 00 00 45 00 00 00 51 00 00 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 12 00 00 00 61 00 00 00 6E 00 00 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 16 00 00 00 79 00 00 00 -R 00 00 04 00 00 04 02 00 +R 00 00 02 00 +T 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +R 00 00 03 00 4A 07 05 00 4A 0B 09 00 +T 09 00 00 00 00 00 00 00 00 00 00 00 +R 00 00 03 00 4A 04 06 00 4A 08 07 00 +T 0F 00 00 00 00 00 00 00 00 00 00 00 +R 00 00 03 00 4A 04 01 00 4A 08 0C 00 +T 15 00 00 00 00 00 00 00 00 00 00 00 +R 00 00 03 00 4A 04 0A 00 4A 08 04 00 +T 1B 00 00 00 00 00 00 00 00 00 00 00 +R 00 00 03 00 4A 04 02 00 4A 08 00 00 +T 21 00 00 00 00 00 00 00 +R 00 00 03 00 4A 04 08 00 diff --git a/src/nos/lib/ppp_lib/fsmStates.rel b/src/nos/lib/ppp_lib/fsmStates.rel index 968ac8aa..ccb1cd63 100644 --- a/src/nos/lib/ppp_lib/fsmStates.rel +++ b/src/nos/lib/ppp_lib/fsmStates.rel @@ -1,50 +1,28 @@ XL4 -H 5 areas 3 global symbols +H 4 areas A global symbols +S ___0252_aa31_Closed Ref00000000 +S ___0393_fef1_Opened Ref00000000 +S ___03e7_ba3a_Req_20Sent Ref00000000 +S ___020c_d953_Ack_20Rcvd Ref00000000 S .__.ABS. Def00000000 +S ___020d_58e1_Ack_20Sent Ref00000000 +S ___0323_c626_Listen Ref00000000 +S ___0429_16a0_TermSent Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 -A CSTR size 39 flags 0 -A IDATA0 size E flags 0 +A IDATA0 size 15 flags 0 S _fsmStates Def00000000 -A CDATA0 size E flags 0 +A CDATA0 size 15 flags 0 T 00 00 00 00 R 00 00 02 00 -T 00 00 00 00 43 6C 6F 73 65 64 00 -R 00 00 02 00 -T 07 00 00 00 -R 00 00 02 00 -T 07 00 00 00 4C 69 73 74 65 6E 00 -R 00 00 02 00 -T 0E 00 00 00 -R 00 00 02 00 -T 0E 00 00 00 52 65 71 20 53 65 6E 74 00 -R 00 00 02 00 -T 17 00 00 00 -R 00 00 02 00 -T 17 00 00 00 41 63 6B 20 52 63 76 64 00 -R 00 00 02 00 -T 20 00 00 00 -R 00 00 02 00 -T 20 00 00 00 41 63 6B 20 53 65 6E 74 00 -R 00 00 02 00 -T 29 00 00 00 -R 00 00 02 00 -T 29 00 00 00 4F 70 65 6E 65 64 00 -R 00 00 02 00 -T 30 00 00 00 -R 00 00 02 00 -T 30 00 00 00 54 65 72 6D 53 65 6E 74 00 -R 00 00 02 00 -T 00 00 00 00 -R 00 00 03 00 T 00 00 00 00 -R 00 00 03 00 -T 00 00 00 00 00 00 00 00 07 00 00 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 04 00 00 00 0E 00 00 00 17 00 00 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 08 00 00 00 20 00 00 00 29 00 00 00 -R 00 00 04 00 00 04 02 00 00 08 02 00 -T 0C 00 00 00 30 00 00 00 -R 00 00 04 00 00 04 02 00 +R 00 00 02 00 +T 00 00 00 00 00 00 00 00 00 00 00 00 +R 00 00 03 00 4A 04 00 00 4A 08 06 00 +T 06 00 00 00 00 00 00 00 00 00 00 00 +R 00 00 03 00 4A 04 02 00 4A 08 03 00 +T 0C 00 00 00 00 00 00 00 00 00 00 00 +R 00 00 03 00 4A 04 05 00 4A 08 01 00 +T 12 00 00 00 00 00 00 00 +R 00 00 03 00 4A 04 07 00 diff --git a/src/nos/lib/ppp_lib/fsm_close.rel b/src/nos/lib/ppp_lib/fsm_close.rel index e2efc13d..555ad8d3 100644 --- a/src/nos/lib/ppp_lib/fsm_close.rel +++ b/src/nos/lib/ppp_lib/fsm_close.rel @@ -1,28 +1,28 @@ XL4 -H 3 areas B global symbols +H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S __fsm_log Ref00000000 S _fsm_sendtermreq Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _fsm_log Ref00000000 S _PPPiface Ref00000000 S ?C_S_SWITCH_L06 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___0251_433b_Close Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size D4 flags 0 +A CODE size D6 flags 0 S _fsm_close Def00000000 -A CSTR size 6 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 21 1C 00 19 7E 23 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T 09 00 00 00 B6 20 03 R 00 00 01 00 T 0C 00 00 00 R 00 00 01 00 -T 0C 00 00 00 C3 D1 00 00 00 +T 0C 00 00 00 C3 D3 00 00 00 R 00 00 01 00 00 05 01 00 T 0F 00 00 00 R 00 00 01 00 @@ -31,68 +31,66 @@ R 00 00 01 00 T 1A 00 00 00 23 66 6A 11 05 00 19 5E 16 00 ED R 00 00 01 00 T 25 00 00 00 53 00 00 00 00 21 08 00 09 7E 23 -R 00 00 01 00 02 05 09 00 +R 00 00 01 00 02 05 0A 00 T 2E 00 00 00 66 6F 56 23 66 6A 22 00 00 00 00 R 00 00 01 00 02 0B 06 00 -T 37 00 00 00 01 00 00 00 00 DD 5E 02 DD 56 03 -R 00 00 01 00 00 05 02 00 -T 40 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 05 00 02 0A 05 00 -T 46 00 00 00 00 00 00 00 DD 6E 02 DD 66 03 5E -R 00 00 01 00 02 04 00 00 -T 4F 00 00 00 CD 00 00 00 00 00 07 00 -R 00 00 01 00 02 05 07 00 -T 55 00 00 00 D1 00 00 00 CF 00 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 59 00 00 00 C5 00 00 00 B0 00 00 00 +T 37 00 00 00 1E 00 00 00 00 D5 21 00 00 00 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 +T 3D 00 00 00 E5 59 50 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 01 00 +T 43 00 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 01 00 02 09 00 00 +T 4A 00 00 00 DD 6E 02 DD 66 03 5E CD +R 00 00 01 00 +T 52 00 00 00 00 00 00 00 00 07 00 D3 00 00 00 +R 00 00 01 00 02 04 07 00 00 0B 01 00 +T 59 00 00 00 D1 00 00 00 C7 00 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 5D 00 00 00 B0 00 00 00 87 00 00 00 +T 5D 00 00 00 B2 00 00 00 B2 00 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 61 00 00 00 65 00 00 00 CF 00 00 00 +T 61 00 00 00 89 00 00 00 67 00 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 65 00 00 00 +T 65 00 00 00 D1 00 00 00 +R 00 00 01 00 00 04 01 00 +T 67 00 00 00 R 00 00 01 00 -T 65 00 00 00 DD 5E 02 DD 56 03 21 1A 00 DD 4E +T 67 00 00 00 DD 5E 02 DD 56 03 21 1A 00 DD 4E R 00 00 01 00 -T 70 00 00 00 02 DD 46 03 09 46 23 66 68 01 +T 72 00 00 00 02 DD 46 03 09 46 23 66 68 01 R 00 00 01 00 -T 7A 00 00 00 1A 00 09 4E 23 46 23 7E 69 60 CD +T 7C 00 00 00 1A 00 09 4E 23 46 23 7E 69 60 CD R 00 00 01 00 -T 85 00 00 00 00 00 00 00 +T 87 00 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 87 00 00 00 +T 89 00 00 00 R 00 00 01 00 -T 87 00 00 00 21 05 00 DD 4E 02 DD 46 03 09 56 +T 89 00 00 00 21 05 00 DD 4E 02 DD 46 03 09 56 R 00 00 01 00 -T 92 00 00 00 69 60 23 23 23 72 DD 5E 02 DD 56 +T 94 00 00 00 69 60 23 23 23 72 DD 5E 02 DD 56 R 00 00 01 00 -T 9D 00 00 00 03 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 01 00 02 0B 01 00 -T A3 00 00 00 CD 00 00 00 00 DD 6E 02 DD 66 03 +T 9F 00 00 00 03 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 02 00 02 0B 02 00 +T A5 00 00 00 CD 00 00 00 00 DD 6E 02 DD 66 03 R 00 00 01 00 02 05 00 00 -T AC 00 00 00 36 06 18 21 +T AE 00 00 00 36 06 18 21 R 00 00 01 00 -T B0 00 00 00 +T B2 00 00 00 R 00 00 01 00 -T B0 00 00 00 DD 6E 02 DD 66 03 23 23 23 36 00 +T B2 00 00 00 DD 6E 02 DD 66 03 23 23 23 36 00 R 00 00 01 00 -T BB 00 00 00 DD 6E 02 DD 66 03 36 06 18 0C +T BD 00 00 00 DD 6E 02 DD 66 03 36 06 18 0C R 00 00 01 00 -T C5 00 00 00 +T C7 00 00 00 R 00 00 01 00 -T C5 00 00 00 DD 6E 02 DD 66 03 36 00 18 02 +T C7 00 00 00 DD 6E 02 DD 66 03 36 00 18 02 R 00 00 01 00 -T CF 00 00 00 +T D1 00 00 00 R 00 00 01 00 -T CF 00 00 00 18 00 +T D1 00 00 00 18 00 R 00 00 01 00 -T D1 00 00 00 +T D3 00 00 00 R 00 00 01 00 -T D1 00 00 00 +T D3 00 00 00 R 00 00 01 00 -T D1 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 43 6C 6F 73 65 00 -R 00 00 02 00 +T D3 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/ppp_lib/fsm_down.rel b/src/nos/lib/ppp_lib/fsm_down.rel index f6e5cbc2..7099073d 100644 --- a/src/nos/lib/ppp_lib/fsm_down.rel +++ b/src/nos/lib/ppp_lib/fsm_down.rel @@ -1,29 +1,29 @@ XL4 -H 3 areas C global symbols +H 2 areas D global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _stop_timer Ref00000000 +S __fsm_log Ref00000000 S _fsm_reset Ref00000000 +S ___027c_1f44_Down Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _fsm_log Ref00000000 S _PPPiface Ref00000000 S ?C_S_SWITCH_L06 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size BB flags 0 +A CODE size BD flags 0 S _fsm_down Def00000000 -A CSTR size 5 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 21 1C 00 19 7E 23 -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 07 00 T 09 00 00 00 B6 20 03 R 00 00 01 00 T 0C 00 00 00 R 00 00 01 00 -T 0C 00 00 00 C3 B8 00 00 00 +T 0C 00 00 00 C3 BA 00 00 00 R 00 00 01 00 00 05 01 00 T 0F 00 00 00 R 00 00 01 00 @@ -32,66 +32,64 @@ R 00 00 01 00 T 1A 00 00 00 23 66 6A 11 05 00 19 5E 16 00 ED R 00 00 01 00 T 25 00 00 00 53 00 00 00 00 21 08 00 09 7E 23 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0B 00 T 2E 00 00 00 66 6F 56 23 66 6A 22 00 00 00 00 -R 00 00 01 00 02 0B 07 00 -T 37 00 00 00 01 00 00 00 00 DD 5E 02 DD 56 03 -R 00 00 01 00 00 05 02 00 -T 40 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 -T 46 00 00 00 00 00 00 00 DD 6E 02 DD 66 03 5E -R 00 00 01 00 02 04 00 00 -T 4F 00 00 00 CD 00 00 00 00 00 07 00 -R 00 00 01 00 02 05 08 00 -T 55 00 00 00 B8 00 00 00 B6 00 00 00 +R 00 00 01 00 02 0B 08 00 +T 37 00 00 00 1E 00 00 00 00 D5 21 00 00 00 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 +T 3D 00 00 00 E5 59 50 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 02 00 +T 43 00 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 02 00 02 09 00 00 +T 4A 00 00 00 DD 6E 02 DD 66 03 5E CD +R 00 00 01 00 +T 52 00 00 00 00 00 00 00 00 07 00 BA 00 00 00 +R 00 00 01 00 02 04 09 00 00 0B 01 00 +T 59 00 00 00 B8 00 00 00 B8 00 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 59 00 00 00 B6 00 00 00 65 00 00 00 +T 5D 00 00 00 67 00 00 00 67 00 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 5D 00 00 00 65 00 00 00 65 00 00 00 +T 61 00 00 00 67 00 00 00 86 00 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 61 00 00 00 84 00 00 00 A6 00 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 65 00 00 00 +T 65 00 00 00 A8 00 00 00 +R 00 00 01 00 00 04 01 00 +T 67 00 00 00 R 00 00 01 00 -T 65 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 EB +T 67 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 EB R 00 00 01 00 -T 70 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +T 72 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 01 00 02 0A 01 00 -T 76 00 00 00 00 00 00 00 59 50 3E 00 00 00 00 -R 00 00 01 00 02 04 00 00 2B 0B 02 00 -T 7C 00 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 02 00 02 0A 00 00 -T 83 00 00 00 34 +T 78 00 00 00 00 00 00 00 59 50 3E 00 00 00 00 +R 00 00 01 00 02 04 00 00 2B 0B 03 00 +T 7E 00 00 00 21 00 00 00 00 CD 00 00 00 00 18 +R 00 00 01 00 02 05 03 00 02 0A 00 00 +T 85 00 00 00 34 R 00 00 01 00 -T 84 00 00 00 +T 86 00 00 00 R 00 00 01 00 -T 84 00 00 00 DD 5E 02 DD 56 03 21 1A 00 DD 4E +T 86 00 00 00 DD 5E 02 DD 56 03 21 1A 00 DD 4E R 00 00 01 00 -T 8F 00 00 00 02 DD 46 03 09 46 23 66 68 01 +T 91 00 00 00 02 DD 46 03 09 46 23 66 68 01 R 00 00 01 00 -T 99 00 00 00 1A 00 09 4E 23 46 23 7E 69 60 CD +T 9B 00 00 00 1A 00 09 4E 23 46 23 7E 69 60 CD R 00 00 01 00 -T A4 00 00 00 00 00 00 00 +T A6 00 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T A6 00 00 00 +T A8 00 00 00 R 00 00 01 00 -T A6 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 -T AE 00 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 02 00 02 0A 00 00 -T B5 00 00 00 02 +T A8 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 03 00 +T B0 00 00 00 21 00 00 00 00 CD 00 00 00 00 18 +R 00 00 01 00 02 05 03 00 02 0A 00 00 +T B7 00 00 00 02 R 00 00 01 00 -T B6 00 00 00 +T B8 00 00 00 R 00 00 01 00 -T B6 00 00 00 18 00 +T B8 00 00 00 18 00 R 00 00 01 00 -T B8 00 00 00 +T BA 00 00 00 R 00 00 01 00 -T B8 00 00 00 +T BA 00 00 00 R 00 00 01 00 -T B8 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 44 6F 77 6E 00 -R 00 00 02 00 +T BA 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 05 00 diff --git a/src/nos/lib/ppp_lib/fsm_init.rel b/src/nos/lib/ppp_lib/fsm_init.rel index 4e6dfd27..b4081b55 100644 --- a/src/nos/lib/ppp_lib/fsm_init.rel +++ b/src/nos/lib/ppp_lib/fsm_init.rel @@ -1,81 +1,79 @@ XL4 -H 3 areas E global symbols +H 2 areas F global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _stop_timer Ref00000000 S _fsm_timer Ref00000000 S _fsm_reset Ref00000000 S _set_timer Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___0553_0372_fsm_5finit_28_29 Ref00000000 S .__.ABS. Def00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _fsm_timeout Ref00000000 -S _trace_log Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size D7 flags 0 +A CODE size DB flags 0 S _fsm_init Def00000000 -A CSTR size B flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 21 0A 00 DD -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 0A 00 T 09 00 00 00 4E 02 DD 46 03 09 DD 75 FE DD 74 R 00 00 01 00 -T 14 00 00 00 FF 3A 00 00 00 00 E6 80 28 12 -R 00 00 01 00 02 06 0C 00 +T 14 00 00 00 FF 3A 00 00 00 00 E6 80 28 16 +R 00 00 01 00 02 06 0D 00 T 1C 00 00 00 R 00 00 01 00 -T 1C 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 07 00 -T 23 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 -T 29 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 2E 00 00 00 +T 1C 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 07 00 02 0B 07 00 +T 22 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 09 00 +T 28 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 2D 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 32 00 00 00 R 00 00 01 00 -T 2E 00 00 00 21 1A 00 DD 4E 02 DD 46 03 09 56 +T 32 00 00 00 21 1A 00 DD 4E 02 DD 46 03 09 56 R 00 00 01 00 -T 39 00 00 00 23 66 6A 11 07 00 19 56 21 04 00 +T 3D 00 00 00 23 66 6A 11 07 00 19 56 21 04 00 R 00 00 01 00 -T 44 00 00 00 09 72 21 1A 00 09 56 23 66 6A 11 +T 48 00 00 00 09 72 21 1A 00 09 56 23 66 6A 11 R 00 00 01 00 -T 4F 00 00 00 08 00 19 56 21 07 00 09 72 21 +T 53 00 00 00 08 00 19 56 21 07 00 09 72 21 R 00 00 01 00 -T 59 00 00 00 1A 00 09 56 23 66 6A 11 09 00 19 +T 5D 00 00 00 1A 00 09 56 23 66 6A 11 09 00 19 R 00 00 01 00 -T 64 00 00 00 56 21 05 00 09 72 59 50 3E +T 68 00 00 00 56 21 05 00 09 72 59 50 3E R 00 00 01 00 -T 6D 00 00 00 00 00 00 00 21 00 00 00 00 CD +T 71 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 72 00 00 00 00 00 00 00 21 0A 00 DD 4E FE DD +T 76 00 00 00 00 00 00 00 21 0A 00 DD 4E FE DD R 00 00 01 00 02 04 00 00 -T 7B 00 00 00 46 FF 09 36 00 00 00 00 23 36 -R 00 00 01 00 0B 08 09 00 -T 82 00 00 00 00 00 00 00 23 36 00 00 00 00 21 -R 00 00 01 00 8B 04 09 00 2B 0A 09 00 -T 87 00 00 00 0D 00 09 DD 5E 02 DD 56 03 73 23 +T 7F 00 00 00 46 FF 09 36 00 00 00 00 23 36 +R 00 00 01 00 0B 08 0B 00 +T 86 00 00 00 00 00 00 00 23 36 00 00 00 00 21 +R 00 00 01 00 8B 04 0B 00 2B 0A 0B 00 +T 8B 00 00 00 0D 00 09 DD 5E 02 DD 56 03 73 23 R 00 00 01 00 -T 92 00 00 00 72 21 1A 00 19 7E 23 66 6F 11 +T 96 00 00 00 72 21 1A 00 19 7E 23 66 6F 11 R 00 00 01 00 -T 9C 00 00 00 0A 00 19 5E 23 56 23 4E 23 46 C5 +T A0 00 00 00 0A 00 19 5E 23 56 23 4E 23 46 C5 R 00 00 01 00 -T A7 00 00 00 D5 DD 5E FE DD 56 FF 3E +T AB 00 00 00 D5 DD 5E FE DD 56 FF 3E R 00 00 01 00 -T AF 00 00 00 00 00 00 00 21 00 00 00 00 CD +T B3 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 04 00 02 09 04 00 -T B4 00 00 00 00 00 00 00 E1 E1 DD 5E 02 DD 56 +T B8 00 00 00 00 00 00 00 E1 E1 DD 5E 02 DD 56 R 00 00 01 00 02 04 00 00 -T BD 00 00 00 03 3E 00 00 00 00 21 00 00 00 00 +T C1 00 00 00 03 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 02 00 02 0B 02 00 -T C3 00 00 00 CD 00 00 00 00 DD 5E FE DD 56 FF +T C7 00 00 00 CD 00 00 00 00 DD 5E FE DD 56 FF R 00 00 01 00 02 05 00 00 -T CC 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +T D0 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 01 00 02 0A 01 00 -T D2 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 09 05 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 66 73 6D 5F 69 6E 69 74 28 29 00 -R 00 00 02 00 +T D6 00 00 00 00 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 04 00 00 02 09 06 00 diff --git a/src/nos/lib/ppp_lib/fsm_log.rel b/src/nos/lib/ppp_lib/fsm_log.rel deleted file mode 100644 index ecd5ff70..00000000 --- a/src/nos/lib/ppp_lib/fsm_log.rel +++ /dev/null @@ -1,52 +0,0 @@ -XL4 -H 3 areas B global symbols -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _PPPiface Ref00000000 -S _trace_log Ref00000000 -S ?SS_CMP_L02 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -S _fsmStates Ref00000000 -S _PPPtrace Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 64 flags 0 -S _fsm_log Def00000000 -A CSTR size 13 flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 ED 4B 00 00 00 00 -R 00 00 01 00 02 05 03 00 02 0B 09 00 -T 07 00 00 00 21 01 00 CD 00 00 00 00 30 52 -R 00 00 01 00 02 08 06 00 -T 0F 00 00 00 -R 00 00 01 00 -T 0F 00 00 00 DD 6E 04 DD 66 05 E5 DD 6E 02 DD -R 00 00 01 00 -T 1A 00 00 00 66 03 6E 26 00 29 01 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T 23 00 00 00 09 4E 23 46 C5 21 1A 00 DD 4E 02 -R 00 00 01 00 -T 2E 00 00 00 DD 46 03 09 7E 23 66 6F 5E 23 56 -R 00 00 01 00 -T 39 00 00 00 D5 21 08 00 09 7E 23 66 6F 46 23 -R 00 00 01 00 -T 44 00 00 00 66 68 23 23 4E 23 46 C5 21 -R 00 00 01 00 -T 4D 00 00 00 00 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 04 00 -T 54 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 05 00 02 0A 05 00 -T 5A 00 00 00 00 00 00 00 21 0C 00 39 F9 -R 00 00 01 00 02 04 00 00 -T 61 00 00 00 -R 00 00 01 00 -T 61 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 25 73 20 50 50 50 2F 25 73 20 25 -R 00 00 02 00 -T 0B 00 00 00 2D 38 73 3B 20 25 73 00 -R 00 00 02 00 diff --git a/src/nos/lib/ppp_lib/fsm_no_action.rel b/src/nos/lib/ppp_lib/fsm_no_action.rel index 8b69c25a..a98d0fff 100644 --- a/src/nos/lib/ppp_lib/fsm_no_action.rel +++ b/src/nos/lib/ppp_lib/fsm_no_action.rel @@ -1,38 +1,34 @@ XL4 -H 3 areas 9 global symbols +H 2 areas A global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S _PPPiface Ref00000000 -S _trace_log Ref00000000 +S ___0554_914a_fsm_5fno_5faction_2 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 1F flags 0 +A CODE size 23 flags 0 S _fsm_no_action Def00000000 -A CSTR size 10 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 3A 00 00 00 00 E6 -R 00 00 01 00 02 05 03 00 02 0A 07 00 -T 07 00 00 00 80 28 12 +R 00 00 01 00 02 05 04 00 02 0A 08 00 +T 07 00 00 00 80 28 16 R 00 00 01 00 T 0A 00 00 00 R 00 00 01 00 -T 0A 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 04 00 -T 11 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 -T 17 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 1C 00 00 00 +T 0A 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 +T 10 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 05 00 +T 16 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 01 00 02 09 01 00 +T 1B 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 20 00 00 00 R 00 00 01 00 -T 1C 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 66 73 6D 5F 6E 6F 5F 61 63 74 69 -R 00 00 02 00 -T 0B 00 00 00 6F 6E 28 29 00 -R 00 00 02 00 +T 20 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/ppp_lib/fsm_no_check.rel b/src/nos/lib/ppp_lib/fsm_no_check.rel index 7794b595..7350038f 100644 --- a/src/nos/lib/ppp_lib/fsm_no_check.rel +++ b/src/nos/lib/ppp_lib/fsm_no_check.rel @@ -1,38 +1,34 @@ XL4 -H 3 areas 9 global symbols +H 2 areas A global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S _PPPiface Ref00000000 -S _trace_log Ref00000000 +S ___0555_f286_fsm_5fno_5fcheck_28 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 22 flags 0 +A CODE size 26 flags 0 S _fsm_no_check Def00000000 -A CSTR size F flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 3A 00 00 00 00 E6 -R 00 00 01 00 02 05 03 00 02 0A 07 00 -T 07 00 00 00 80 28 12 +R 00 00 01 00 02 05 04 00 02 0A 08 00 +T 07 00 00 00 80 28 16 R 00 00 01 00 T 0A 00 00 00 R 00 00 01 00 -T 0A 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 04 00 -T 11 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 -T 17 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 1C 00 00 00 +T 0A 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 +T 10 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 05 00 +T 16 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 01 00 02 09 01 00 +T 1B 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 20 00 00 00 R 00 00 01 00 -T 1C 00 00 00 21 00 00 C3 00 00 00 00 -R 00 00 01 00 02 08 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 66 73 6D 5F 6E 6F 5F 63 68 65 63 -R 00 00 02 00 -T 0B 00 00 00 6B 28 29 00 -R 00 00 02 00 +T 20 00 00 00 21 00 00 C3 00 00 00 00 +R 00 00 01 00 02 08 02 00 diff --git a/src/nos/lib/ppp_lib/fsm_opening.rel b/src/nos/lib/ppp_lib/fsm_opening.rel index ef4863e6..7134ffa7 100644 --- a/src/nos/lib/ppp_lib/fsm_opening.rel +++ b/src/nos/lib/ppp_lib/fsm_opening.rel @@ -1,37 +1,35 @@ XL4 -H 3 areas 8 global symbols +H 2 areas 9 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _stop_timer Ref00000000 +S __fsm_log Ref00000000 +S ___0393_fef1_Opened Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _fsm_log Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 4A flags 0 +A CODE size 50 flags 0 S _fsm_opening Def00000000 -A CSTR size 7 flags 0 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 01 00 00 00 00 3E -R 00 00 01 00 02 05 04 00 00 0A 02 00 -T 07 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 -T 0C 00 00 00 00 00 00 00 21 0A 00 DD 4E 02 DD -R 00 00 01 00 02 04 00 00 -T 15 00 00 00 46 03 09 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 01 00 -T 1C 00 00 00 00 00 00 00 CD 00 00 00 00 59 50 -R 00 00 01 00 02 04 01 00 02 09 00 00 -T 23 00 00 00 21 1A 00 DD 4E 02 DD 46 03 09 7E +T 00 00 00 00 CD 00 00 00 00 0E 00 00 00 00 C5 +R 00 00 01 00 02 05 06 00 2B 0A 03 00 +T 06 00 00 00 21 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 03 00 2B 0B 02 00 +T 0C 00 00 00 21 00 00 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 05 02 00 02 0A 00 00 +T 13 00 00 00 E1 21 0A 00 DD 4E 02 DD 46 03 09 R 00 00 01 00 -T 2E 00 00 00 23 66 6F 01 17 00 09 4E 23 46 23 +T 1E 00 00 00 EB 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 01 00 02 0B 01 00 +T 24 00 00 00 CD 00 00 00 00 59 50 21 1A 00 DD +R 00 00 01 00 02 05 00 00 +T 2D 00 00 00 4E 02 DD 46 03 09 7E 23 66 6F 01 R 00 00 01 00 -T 39 00 00 00 7E 69 60 CD 00 00 00 00 DD 6E 02 -R 00 00 01 00 02 08 00 00 -T 42 00 00 00 DD 66 03 36 05 C3 00 00 00 00 -R 00 00 01 00 02 0A 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 4F 70 65 6E 65 64 00 -R 00 00 02 00 +T 38 00 00 00 17 00 09 4E 23 46 23 7E 69 60 CD +R 00 00 01 00 +T 43 00 00 00 00 00 00 00 DD 6E 02 DD 66 03 36 +R 00 00 01 00 02 04 00 00 +T 4C 00 00 00 05 C3 00 00 00 00 +R 00 00 01 00 02 06 04 00 diff --git a/src/nos/lib/ppp_lib/fsm_proc.rel b/src/nos/lib/ppp_lib/fsm_proc.rel index c6676327..112c1bbf 100644 --- a/src/nos/lib/ppp_lib/fsm_proc.rel +++ b/src/nos/lib/ppp_lib/fsm_proc.rel @@ -1,896 +1,903 @@ XL4 -H 3 areas 19 global symbols +H 2 areas 25 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _trim_mbuf Ref00000000 S _stop_timer Ref00000000 S _fsm_timer Ref00000000 +S __fsm_log Ref00000000 S _fsm_reset Ref00000000 +S ___0163_8479__25s_20PPP_2f_25s_2 Ref00000000 S _fsm_send Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _fsm_opening Ref00000000 +S ___042f_206b_Terminated_20unexpe Ref00000000 S _fsm_sendreq Ref00000000 +S ___03bc_2890_Peer_20requested_20 Ref00000000 +S ___068c_cfaf_short_20configurati Ref00000000 +S ___getfail Ref00000000 S .__.ABS. Def00000000 -S _fsm_log Ref00000000 +S _free Ref00000000 +S __gettext Ref00000000 +S ___042e_ff4c_Terminated Ref00000000 S _PPPiface Ref00000000 +S ___0166_9bc7__25s_20PPP_2f_25s_2 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 +S ?S_MUL_L02 Ref00000000 S _ntohcnf Ref00000000 S _htoncnf Ref00000000 S ?SS_CMP_L02 Ref00000000 S _free_p Ref00000000 S _fsmCodes Ref00000000 +S ___0169_5f30__25s_20PPP_2f_25s_2 Ref00000000 S ?C_S_SWITCH_L06 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _fsm_sendtermack Ref00000000 S _fsmStates Ref00000000 +S ___0167_991e__25s_20PPP_2f_25s_2 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 8EB flags 0 +A CODE size 9B8 flags 0 S _fsm_proc Def00000000 -A CSTR size 12F flags 0 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 08 00 DD -R 00 00 01 00 02 05 0C 00 +T 00 00 00 00 CD 00 00 00 00 F8 FF 21 08 00 DD +R 00 00 01 00 02 05 16 00 T 09 00 00 00 5E 02 DD 56 03 19 7E 23 66 6F 01 R 00 00 01 00 T 14 00 00 00 05 00 09 4E 06 00 ED 43 R 00 00 01 00 T 1C 00 00 00 00 00 00 00 21 08 00 19 7E 23 66 -R 00 00 01 00 02 04 17 00 +R 00 00 01 00 02 04 23 00 T 25 00 00 00 6F 46 23 66 68 22 00 00 00 00 DD -R 00 00 01 00 02 0A 0B 00 +R 00 00 01 00 02 0A 14 00 T 2E 00 00 00 4E 04 DD 46 05 21 00 00 39 5D 54 R 00 00 01 00 T 39 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 -T 3F 00 00 00 00 00 00 00 7D A4 3C 20 11 +R 00 00 01 00 2B 05 18 00 02 0A 18 00 +T 3F 00 00 00 00 00 00 00 7D A4 3C 20 17 R 00 00 01 00 02 04 00 00 T 46 00 00 00 R 00 00 01 00 -T 46 00 00 00 01 00 00 00 00 DD 5E 02 DD 56 03 -R 00 00 01 00 00 05 02 00 -T 4F 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0A 00 02 0A 0A 00 -T 55 00 00 00 00 00 00 00 +T 46 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +T 4C 00 00 00 E5 DD 5E 02 DD 56 03 3E +R 00 00 01 00 +T 54 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 59 00 00 00 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 00 00 +T 5D 00 00 00 +R 00 00 01 00 +T 5D 00 00 00 ED 4B 00 00 00 00 21 01 00 CD +R 00 00 01 00 02 06 23 00 +T 65 00 00 00 00 00 00 00 D2 7D 01 00 00 +R 00 00 01 00 02 04 1A 00 00 09 01 00 +T 6A 00 00 00 +R 00 00 01 00 +T 6A 00 00 00 DD 6E 02 DD 66 03 4E 06 00 11 +R 00 00 01 00 +T 74 00 00 00 03 00 CD 00 00 00 00 21 +R 00 00 01 00 02 07 17 00 +T 7A 00 00 00 00 00 00 00 19 5E 23 56 23 4E 3E +R 00 00 01 00 02 04 21 00 +T 83 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 12 00 02 09 12 00 +T 88 00 00 00 00 00 00 00 DD 75 FC DD 74 FD 7D R 00 00 01 00 02 04 00 00 -T 57 00 00 00 +T 91 00 00 00 B4 20 23 R 00 00 01 00 -T 57 00 00 00 ED 4B 00 00 00 00 21 01 00 CD -R 00 00 01 00 02 06 17 00 -T 5F 00 00 00 00 00 00 00 30 66 -R 00 00 01 00 02 04 10 00 -T 63 00 00 00 +T 94 00 00 00 R 00 00 01 00 -T 63 00 00 00 DD 6E FE DD 66 FF E5 DD 4E FD 06 +T 94 00 00 00 DD 6E 02 DD 66 03 4E 06 00 11 R 00 00 01 00 -T 6E 00 00 00 00 C5 DD 6E FC 26 00 29 01 +T 9E 00 00 00 03 00 CD 00 00 00 00 21 +R 00 00 01 00 02 07 17 00 +T A4 00 00 00 00 00 00 00 19 5E 23 56 23 4E 3E +R 00 00 01 00 02 04 21 00 +T AD 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0F 00 02 09 0F 00 +T B2 00 00 00 00 00 00 00 C3 B5 09 00 00 +R 00 00 01 00 02 04 00 00 00 09 01 00 +T B7 00 00 00 +R 00 00 01 00 +T B7 00 00 00 DD 4E F8 06 00 11 03 00 CD +R 00 00 01 00 +T C0 00 00 00 00 00 00 00 21 00 00 00 00 19 5E +R 00 00 01 00 02 04 17 00 02 09 1C 00 +T C7 00 00 00 23 56 23 4E 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 12 00 +T CE 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 12 00 02 09 00 00 +T D5 00 00 00 FE DD 74 FF 7D B4 20 2D +R 00 00 01 00 +T DD 00 00 00 +R 00 00 01 00 +T DD 00 00 00 DD 4E F8 06 00 11 03 00 CD +R 00 00 01 00 +T E6 00 00 00 00 00 00 00 21 00 00 00 00 19 5E +R 00 00 01 00 02 04 17 00 02 09 1C 00 +T ED 00 00 00 23 56 23 4E 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0F 00 +T F4 00 00 00 00 00 00 00 CD 00 00 00 00 DD 5E +R 00 00 01 00 02 04 0F 00 02 09 00 00 +T FB 00 00 00 FC DD 56 FD 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 11 00 +T 02 01 00 00 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 04 11 00 02 09 00 00 +T 08 01 00 00 B5 09 00 00 +R 00 00 01 00 00 04 01 00 +T 0A 01 00 00 R 00 00 01 00 -T 77 00 00 00 00 00 00 00 09 4E 23 46 C5 DD 6E -R 00 00 01 00 02 04 12 00 -T 80 00 00 00 02 DD 66 03 6E 26 00 29 01 +T 0A 01 00 00 DD 6E FA DD 66 FB E5 DD 4E F9 06 R 00 00 01 00 -T 89 00 00 00 00 00 00 00 09 4E 23 46 C5 21 -R 00 00 01 00 02 04 16 00 -T 91 00 00 00 1A 00 DD 4E 02 DD 46 03 09 7E 23 +T 15 01 00 00 00 C5 DD 6E FE DD 66 FF E5 DD 6E R 00 00 01 00 -T 9C 00 00 00 66 6F 5E 23 56 D5 21 08 00 09 7E +T 20 01 00 00 FC DD 66 FD E5 21 1A 00 DD 4E 02 R 00 00 01 00 -T A7 00 00 00 23 66 6F 46 23 66 68 23 23 4E 23 +T 2B 01 00 00 DD 46 03 09 7E 23 66 6F 5E 23 56 R 00 00 01 00 -T B2 00 00 00 46 C5 21 1B 00 00 00 E5 2A -R 00 00 01 00 00 07 02 00 -T B9 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 2B 0A 0D 00 -T BF 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0D 00 02 09 00 00 -T C5 00 00 00 10 00 39 F9 +T 36 01 00 00 D5 21 08 00 09 7E 23 66 6F 46 23 R 00 00 01 00 -T C9 00 00 00 +T 41 01 00 00 66 68 23 23 4E 23 46 C5 0E R 00 00 01 00 -T C9 00 00 00 21 02 00 39 7E D6 04 77 23 7E DE +T 4A 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 06 00 02 0A 06 00 +T 50 01 00 00 2A 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 14 00 2B 0B 08 00 +T 56 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 08 00 02 0A 00 00 +T 5D 01 00 00 12 00 39 F9 DD 5E FC DD 56 FD 3E R 00 00 01 00 -T D4 00 00 00 00 77 DD 4E FE DD 46 FF DD 5E 04 +T 68 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 11 00 02 09 11 00 +T 6D 01 00 00 00 00 00 00 DD 5E FE DD 56 FF 3E +R 00 00 01 00 02 04 00 00 +T 76 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 11 00 02 09 11 00 +T 7B 01 00 00 00 00 00 00 +R 00 00 01 00 02 04 00 00 +T 7D 01 00 00 R 00 00 01 00 -T DF 00 00 00 DD 56 05 3E 00 00 00 00 21 +T 7D 01 00 00 21 02 00 39 7E D6 04 77 23 7E DE +R 00 00 01 00 +T 88 01 00 00 00 77 DD 4E FA DD 46 FB DD 5E 04 +R 00 00 01 00 +T 93 01 00 00 DD 56 05 3E 00 00 00 00 21 R 00 00 01 00 2B 08 01 00 -T E5 00 00 00 00 00 00 00 CD 00 00 00 00 DD 5E +T 99 01 00 00 00 00 00 00 CD 00 00 00 00 DD 5E R 00 00 01 00 02 04 01 00 02 09 00 00 -T EC 00 00 00 FC CD 00 00 00 00 01 0C 00 -R 00 00 01 00 02 06 13 00 -T F3 00 00 00 47 08 00 00 0D 01 00 00 +T A0 01 00 00 F8 CD 00 00 00 00 01 0C 00 +R 00 00 01 00 02 06 1E 00 +T A7 01 00 00 11 09 00 00 C1 01 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T F7 00 00 00 49 02 00 00 8A 03 00 00 +T AB 01 00 00 FD 02 00 00 3E 04 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T FB 00 00 00 8A 04 00 00 8A 05 00 00 +T AF 01 00 00 3E 05 00 00 3E 06 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T FF 00 00 00 3B 06 00 00 18 07 00 00 +T B3 01 00 00 F5 06 00 00 DA 07 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 03 01 00 00 8D 07 00 00 D6 07 00 00 +T B7 01 00 00 53 08 00 00 A0 08 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 07 01 00 00 36 08 00 00 36 08 00 00 +T BB 01 00 00 00 09 00 00 00 09 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 0B 01 00 00 36 08 00 00 +T BF 01 00 00 00 09 00 00 R 00 00 01 00 00 04 01 00 -T 0D 01 00 00 +T C1 01 00 00 R 00 00 01 00 -T 0D 01 00 00 DD 6E 02 DD 66 03 5E CD +T C1 01 00 00 DD 6E 02 DD 66 03 5E CD R 00 00 01 00 -T 15 01 00 00 00 00 00 00 00 07 00 46 02 00 00 -R 00 00 01 00 02 04 13 00 00 0B 01 00 -T 1C 01 00 00 25 02 00 00 5A 01 00 00 +T C9 01 00 00 00 00 00 00 00 07 00 FA 02 00 00 +R 00 00 01 00 02 04 1E 00 00 0B 01 00 +T D0 01 00 00 D9 02 00 00 0E 02 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 20 01 00 00 8A 01 00 00 CF 01 00 00 +T D4 01 00 00 3E 02 00 00 83 02 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 24 01 00 00 8A 01 00 00 2A 01 00 00 +T D8 01 00 00 3E 02 00 00 DE 01 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 28 01 00 00 36 02 00 00 +T DC 01 00 00 EA 02 00 00 R 00 00 01 00 00 04 01 00 -T 2A 01 00 00 +T DE 01 00 00 R 00 00 01 00 -T 2A 01 00 00 DD 5E 02 DD 56 03 21 1A 00 DD 4E +T DE 01 00 00 DD 5E 02 DD 56 03 21 1A 00 DD 4E R 00 00 01 00 -T 35 01 00 00 02 DD 46 03 09 7E 23 66 6F 01 +T E9 01 00 00 02 DD 46 03 09 7E 23 66 6F 01 R 00 00 01 00 -T 3F 01 00 00 1A 00 09 4E 23 46 23 7E 69 60 CD +T F3 01 00 00 1A 00 09 4E 23 46 23 7E 69 60 CD R 00 00 01 00 -T 4A 01 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E +T FE 01 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 02 04 00 00 -T 53 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 58 01 00 00 00 00 00 00 +T 07 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 0C 02 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 5A 01 00 00 +T 0E 02 00 00 R 00 00 01 00 -T 5A 01 00 00 DD 5E 02 DD 56 03 21 1A 00 DD 4E +T 0E 02 00 00 DD 5E 02 DD 56 03 21 1A 00 DD 4E R 00 00 01 00 -T 65 01 00 00 02 DD 46 03 09 7E 23 66 6F 01 +T 19 02 00 00 02 DD 46 03 09 7E 23 66 6F 01 R 00 00 01 00 -T 6F 01 00 00 14 00 09 4E 23 46 23 7E 69 60 CD +T 23 02 00 00 14 00 09 4E 23 46 23 7E 69 60 CD R 00 00 01 00 -T 7A 01 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E +T 2E 02 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 02 04 00 00 -T 83 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T 88 01 00 00 00 00 00 00 +T 37 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +T 3C 02 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 8A 01 00 00 +T 3E 02 00 00 R 00 00 01 00 -T 8A 01 00 00 DD 6E 04 DD 66 05 E5 21 02 00 39 +T 3E 02 00 00 DD 6E 04 DD 66 05 E5 21 02 00 39 R 00 00 01 00 -T 95 01 00 00 4D 44 C5 DD 5E 02 DD 56 03 21 +T 49 02 00 00 4D 44 C5 DD 5E 02 DD 56 03 21 R 00 00 01 00 -T 9F 01 00 00 1A 00 DD 4E 02 DD 46 03 09 7E 23 +T 53 02 00 00 1A 00 DD 4E 02 DD 46 03 09 7E 23 R 00 00 01 00 -T AA 01 00 00 66 6F 01 23 00 09 4E 23 46 23 7E +T 5E 02 00 00 66 6F 01 23 00 09 4E 23 46 23 7E R 00 00 01 00 -T B5 01 00 00 69 60 C1 CD 00 00 00 00 F1 7D B4 +T 69 02 00 00 69 60 C1 CD 00 00 00 00 F1 7D B4 R 00 00 01 00 02 08 00 00 -T BE 01 00 00 20 04 3E 04 18 02 +T 72 02 00 00 20 04 3E 04 18 02 R 00 00 01 00 -T C4 01 00 00 +T 78 02 00 00 R 00 00 01 00 -T C4 01 00 00 3E 02 +T 78 02 00 00 3E 02 R 00 00 01 00 -T C6 01 00 00 +T 7A 02 00 00 R 00 00 01 00 -T C6 01 00 00 DD 6E 02 DD 66 03 77 18 77 +T 7A 02 00 00 DD 6E 02 DD 66 03 77 18 77 R 00 00 01 00 -T CF 01 00 00 +T 83 02 00 00 R 00 00 01 00 -T CF 01 00 00 DD 6E 04 DD 66 05 E5 21 02 00 39 +T 83 02 00 00 DD 6E 04 DD 66 05 E5 21 02 00 39 R 00 00 01 00 -T DA 01 00 00 4D 44 C5 DD 5E 02 DD 56 03 21 +T 8E 02 00 00 4D 44 C5 DD 5E 02 DD 56 03 21 R 00 00 01 00 -T E4 01 00 00 1A 00 DD 4E 02 DD 46 03 09 46 23 +T 98 02 00 00 1A 00 DD 4E 02 DD 46 03 09 46 23 R 00 00 01 00 -T EF 01 00 00 66 68 01 23 00 09 4E 23 46 23 7E +T A3 02 00 00 66 68 01 23 00 09 4E 23 46 23 7E R 00 00 01 00 -T FA 01 00 00 69 60 C1 CD 00 00 00 00 F1 7D B4 +T AE 02 00 00 69 60 C1 CD 00 00 00 00 F1 7D B4 R 00 00 01 00 02 08 00 00 -T 03 02 00 00 20 10 +T B7 02 00 00 20 10 R 00 00 01 00 -T 05 02 00 00 +T B9 02 00 00 R 00 00 01 00 -T 05 02 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T 0D 02 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 07 00 02 0A 00 00 -T 14 02 00 00 0E +T B9 02 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0A 00 +T C1 02 00 00 21 00 00 00 00 CD 00 00 00 00 18 +R 00 00 01 00 02 05 0A 00 02 0A 00 00 +T C8 02 00 00 0E R 00 00 01 00 -T 15 02 00 00 +T C9 02 00 00 R 00 00 01 00 -T 15 02 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +T C9 02 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 R 00 00 01 00 2B 0B 03 00 -T 1D 02 00 00 21 00 00 00 00 CD 00 00 00 00 +T D1 02 00 00 21 00 00 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 03 00 02 0A 00 00 -T 23 02 00 00 +T D7 02 00 00 R 00 00 01 00 -T 23 02 00 00 18 21 +T D7 02 00 00 18 21 R 00 00 01 00 -T 25 02 00 00 +T D9 02 00 00 R 00 00 01 00 -T 25 02 00 00 DD 4E FD DD 5E 02 DD 56 03 3E +T D9 02 00 00 DD 4E F9 DD 5E 02 DD 56 03 3E R 00 00 01 00 -T 2F 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 15 00 02 09 15 00 -T 34 02 00 00 00 00 00 00 +T E3 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 20 00 02 09 20 00 +T E8 02 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 36 02 00 00 +T EA 02 00 00 R 00 00 01 00 -T 36 02 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 11 00 -T 3E 02 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 11 00 02 0A 00 00 -T 45 02 00 00 00 +T EA 02 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1B 00 +T F2 02 00 00 21 00 00 00 00 CD 00 00 00 00 18 +R 00 00 01 00 02 05 1B 00 02 0A 00 00 +T F9 02 00 00 00 R 00 00 01 00 -T 46 02 00 00 +T FA 02 00 00 R 00 00 01 00 -T 46 02 00 00 C3 E8 08 00 00 +T FA 02 00 00 C3 B5 09 00 00 R 00 00 01 00 00 05 01 00 -T 49 02 00 00 +T FD 02 00 00 R 00 00 01 00 -T 49 02 00 00 DD 6E 02 DD 66 03 5E CD +T FD 02 00 00 DD 6E 02 DD 66 03 5E CD R 00 00 01 00 -T 51 02 00 00 00 00 00 00 00 07 00 87 03 00 00 -R 00 00 01 00 02 04 13 00 00 0B 01 00 -T 58 02 00 00 66 03 00 00 66 03 00 00 +T 05 03 00 00 00 00 00 00 00 07 00 3B 04 00 00 +R 00 00 01 00 02 04 1E 00 00 0B 01 00 +T 0C 03 00 00 1A 04 00 00 1A 04 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 5C 02 00 00 66 02 00 00 40 03 00 00 +T 10 03 00 00 1A 03 00 00 F4 03 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 60 02 00 00 A7 02 00 00 EE 02 00 00 +T 14 03 00 00 5B 03 00 00 A2 03 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 64 02 00 00 77 03 00 00 +T 18 03 00 00 2B 04 00 00 R 00 00 01 00 00 04 01 00 -T 66 02 00 00 +T 1A 03 00 00 R 00 00 01 00 -T 66 02 00 00 DD 6E 04 DD 66 05 E5 21 02 00 39 +T 1A 03 00 00 DD 6E 04 DD 66 05 E5 21 02 00 39 R 00 00 01 00 -T 71 02 00 00 4D 44 C5 DD 5E 02 DD 56 03 21 +T 25 03 00 00 4D 44 C5 DD 5E 02 DD 56 03 21 R 00 00 01 00 -T 7B 02 00 00 1A 00 DD 4E 02 DD 46 03 09 46 23 +T 2F 03 00 00 1A 00 DD 4E 02 DD 46 03 09 46 23 R 00 00 01 00 -T 86 02 00 00 66 68 01 26 00 09 4E 23 46 23 7E +T 3A 03 00 00 66 68 01 26 00 09 4E 23 46 23 7E R 00 00 01 00 -T 91 02 00 00 69 60 C1 CD 00 00 00 00 F1 7D B4 +T 45 03 00 00 69 60 C1 CD 00 00 00 00 F1 7D B4 R 00 00 01 00 02 08 00 00 -T 9A 02 00 00 20 08 +T 4E 03 00 00 20 08 R 00 00 01 00 -T 9C 02 00 00 +T 50 03 00 00 R 00 00 01 00 -T 9C 02 00 00 DD 6E 02 DD 66 03 36 03 +T 50 03 00 00 DD 6E 02 DD 66 03 36 03 R 00 00 01 00 -T A4 02 00 00 +T 58 03 00 00 R 00 00 01 00 -T A4 02 00 00 C3 87 03 00 00 +T 58 03 00 00 C3 3B 04 00 00 R 00 00 01 00 00 05 01 00 -T A7 02 00 00 +T 5B 03 00 00 R 00 00 01 00 -T A7 02 00 00 DD 6E 04 DD 66 05 E5 21 02 00 39 +T 5B 03 00 00 DD 6E 04 DD 66 05 E5 21 02 00 39 R 00 00 01 00 -T B2 02 00 00 4D 44 C5 DD 5E 02 DD 56 03 21 +T 66 03 00 00 4D 44 C5 DD 5E 02 DD 56 03 21 R 00 00 01 00 -T BC 02 00 00 1A 00 DD 4E 02 DD 46 03 09 46 23 +T 70 03 00 00 1A 00 DD 4E 02 DD 46 03 09 46 23 R 00 00 01 00 -T C7 02 00 00 66 68 01 26 00 09 4E 23 46 23 7E +T 7B 03 00 00 66 68 01 26 00 09 4E 23 46 23 7E R 00 00 01 00 -T D2 02 00 00 69 60 C1 CD 00 00 00 00 F1 7D B4 +T 86 03 00 00 69 60 C1 CD 00 00 00 00 F1 7D B4 R 00 00 01 00 02 08 00 00 -T DB 02 00 00 20 0E +T 8F 03 00 00 20 0E R 00 00 01 00 -T DD 02 00 00 +T 91 03 00 00 R 00 00 01 00 -T DD 02 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T E5 02 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 07 00 02 0A 00 00 -T EB 02 00 00 +T 91 03 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0A 00 +T 99 03 00 00 21 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 0A 00 02 0A 00 00 +T 9F 03 00 00 R 00 00 01 00 -T EB 02 00 00 C3 87 03 00 00 +T 9F 03 00 00 C3 3B 04 00 00 R 00 00 01 00 00 05 01 00 -T EE 02 00 00 +T A2 03 00 00 R 00 00 01 00 -T EE 02 00 00 DD 5E 02 DD 56 03 21 1A 00 DD 4E +T A2 03 00 00 DD 5E 02 DD 56 03 21 1A 00 DD 4E R 00 00 01 00 -T F9 02 00 00 02 DD 46 03 09 7E 23 66 6F 01 +T AD 03 00 00 02 DD 46 03 09 7E 23 66 6F 01 R 00 00 01 00 -T 03 03 00 00 1A 00 09 4E 23 46 23 7E 69 60 CD +T B7 03 00 00 1A 00 09 4E 23 46 23 7E 69 60 CD R 00 00 01 00 -T 0E 03 00 00 00 00 00 00 DD 5E 02 DD 56 03 21 +T C2 03 00 00 00 00 00 00 DD 5E 02 DD 56 03 21 R 00 00 01 00 02 04 00 00 -T 17 03 00 00 1A 00 DD 4E 02 DD 46 03 09 7E 23 +T CB 03 00 00 1A 00 DD 4E 02 DD 46 03 09 7E 23 R 00 00 01 00 -T 22 03 00 00 66 6F 01 14 00 09 4E 23 46 23 7E +T D6 03 00 00 66 6F 01 14 00 09 4E 23 46 23 7E R 00 00 01 00 -T 2D 03 00 00 69 60 CD 00 00 00 00 DD 5E 02 DD +T E1 03 00 00 69 60 CD 00 00 00 00 DD 5E 02 DD R 00 00 01 00 02 07 00 00 -T 36 03 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 04 00 -T 3B 03 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 04 00 02 09 00 00 -T 40 03 00 00 -R 00 00 01 00 -T 40 03 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 11 00 -T 48 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 11 00 02 0A 00 00 -T 4F 03 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 -T 57 03 00 00 00 00 00 00 CD 00 00 00 00 DD 6E -R 00 00 01 00 02 04 08 00 02 09 00 00 -T 5E 03 00 00 02 DD 66 03 36 02 18 21 -R 00 00 01 00 -T 66 03 00 00 -R 00 00 01 00 -T 66 03 00 00 DD 4E FD DD 5E 02 DD 56 03 3E -R 00 00 01 00 -T 70 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 15 00 02 09 15 00 -T 75 03 00 00 00 00 00 00 +T EA 03 00 00 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 05 00 +T EF 03 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 05 00 02 09 00 00 +T F4 03 00 00 +R 00 00 01 00 +T F4 03 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1B 00 +T FC 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 1B 00 02 0A 00 00 +T 03 04 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0C 00 +T 0B 04 00 00 00 00 00 00 CD 00 00 00 00 DD 6E +R 00 00 01 00 02 04 0C 00 02 09 00 00 +T 12 04 00 00 02 DD 66 03 36 02 18 21 +R 00 00 01 00 +T 1A 04 00 00 +R 00 00 01 00 +T 1A 04 00 00 DD 4E F9 DD 5E 02 DD 56 03 3E +R 00 00 01 00 +T 24 04 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 20 00 02 09 20 00 +T 29 04 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 77 03 00 00 +T 2B 04 00 00 R 00 00 01 00 -T 77 03 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 11 00 -T 7F 03 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 11 00 02 0A 00 00 -T 86 03 00 00 00 +T 2B 04 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1B 00 +T 33 04 00 00 21 00 00 00 00 CD 00 00 00 00 18 +R 00 00 01 00 02 05 1B 00 02 0A 00 00 +T 3A 04 00 00 00 R 00 00 01 00 -T 87 03 00 00 +T 3B 04 00 00 R 00 00 01 00 -T 87 03 00 00 C3 E8 08 00 00 +T 3B 04 00 00 C3 B5 09 00 00 R 00 00 01 00 00 05 01 00 -T 8A 03 00 00 +T 3E 04 00 00 R 00 00 01 00 -T 8A 03 00 00 DD 6E 02 DD 66 03 5E CD +T 3E 04 00 00 DD 6E 02 DD 66 03 5E CD R 00 00 01 00 -T 92 03 00 00 00 00 00 00 00 07 00 87 04 00 00 -R 00 00 01 00 02 04 13 00 00 0B 01 00 -T 99 03 00 00 66 04 00 00 66 04 00 00 +T 46 04 00 00 00 00 00 00 00 07 00 3B 05 00 00 +R 00 00 01 00 02 04 1E 00 00 0B 01 00 +T 4D 04 00 00 1A 05 00 00 1A 05 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 9D 03 00 00 A7 03 00 00 40 04 00 00 +T 51 04 00 00 5B 04 00 00 F4 04 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T A1 03 00 00 A7 03 00 00 EE 03 00 00 +T 55 04 00 00 5B 04 00 00 A2 04 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T A5 03 00 00 77 04 00 00 +T 59 04 00 00 2B 05 00 00 R 00 00 01 00 00 04 01 00 -T A7 03 00 00 +T 5B 04 00 00 R 00 00 01 00 -T A7 03 00 00 DD 6E 04 DD 66 05 E5 21 02 00 39 +T 5B 04 00 00 DD 6E 04 DD 66 05 E5 21 02 00 39 R 00 00 01 00 -T B2 03 00 00 4D 44 C5 DD 5E 02 DD 56 03 21 +T 66 04 00 00 4D 44 C5 DD 5E 02 DD 56 03 21 R 00 00 01 00 -T BC 03 00 00 1A 00 DD 4E 02 DD 46 03 09 46 23 +T 70 04 00 00 1A 00 DD 4E 02 DD 46 03 09 46 23 R 00 00 01 00 -T C7 03 00 00 66 68 01 29 00 09 4E 23 46 23 7E +T 7B 04 00 00 66 68 01 29 00 09 4E 23 46 23 7E R 00 00 01 00 -T D2 03 00 00 69 60 C1 CD 00 00 00 00 F1 7D B4 +T 86 04 00 00 69 60 C1 CD 00 00 00 00 F1 7D B4 R 00 00 01 00 02 08 00 00 -T DB 03 00 00 20 0E +T 8F 04 00 00 20 0E R 00 00 01 00 -T DD 03 00 00 +T 91 04 00 00 R 00 00 01 00 -T DD 03 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 08 00 -T E5 03 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 08 00 02 0A 00 00 -T EB 03 00 00 +T 91 04 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0C 00 +T 99 04 00 00 21 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 0C 00 02 0A 00 00 +T 9F 04 00 00 R 00 00 01 00 -T EB 03 00 00 C3 87 04 00 00 +T 9F 04 00 00 C3 3B 05 00 00 R 00 00 01 00 00 05 01 00 -T EE 03 00 00 +T A2 04 00 00 R 00 00 01 00 -T EE 03 00 00 DD 5E 02 DD 56 03 21 1A 00 DD 4E +T A2 04 00 00 DD 5E 02 DD 56 03 21 1A 00 DD 4E R 00 00 01 00 -T F9 03 00 00 02 DD 46 03 09 7E 23 66 6F 01 +T AD 04 00 00 02 DD 46 03 09 7E 23 66 6F 01 R 00 00 01 00 -T 03 04 00 00 1A 00 09 4E 23 46 23 7E 69 60 CD +T B7 04 00 00 1A 00 09 4E 23 46 23 7E 69 60 CD R 00 00 01 00 -T 0E 04 00 00 00 00 00 00 DD 5E 02 DD 56 03 21 +T C2 04 00 00 00 00 00 00 DD 5E 02 DD 56 03 21 R 00 00 01 00 02 04 00 00 -T 17 04 00 00 1A 00 DD 4E 02 DD 46 03 09 7E 23 +T CB 04 00 00 1A 00 DD 4E 02 DD 46 03 09 7E 23 R 00 00 01 00 -T 22 04 00 00 66 6F 01 14 00 09 4E 23 46 23 7E +T D6 04 00 00 66 6F 01 14 00 09 4E 23 46 23 7E R 00 00 01 00 -T 2D 04 00 00 69 60 CD 00 00 00 00 DD 5E 02 DD +T E1 04 00 00 69 60 CD 00 00 00 00 DD 5E 02 DD R 00 00 01 00 02 07 00 00 -T 36 04 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 04 00 -T 3B 04 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 04 00 02 09 00 00 -T 40 04 00 00 -R 00 00 01 00 -T 40 04 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 11 00 -T 48 04 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 11 00 02 0A 00 00 -T 4F 04 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 -T 57 04 00 00 00 00 00 00 CD 00 00 00 00 DD 6E -R 00 00 01 00 02 04 08 00 02 09 00 00 -T 5E 04 00 00 02 DD 66 03 36 02 18 21 -R 00 00 01 00 -T 66 04 00 00 -R 00 00 01 00 -T 66 04 00 00 DD 4E FD DD 5E 02 DD 56 03 3E -R 00 00 01 00 -T 70 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 15 00 02 09 15 00 -T 75 04 00 00 00 00 00 00 +T EA 04 00 00 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 05 00 +T EF 04 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 05 00 02 09 00 00 +T F4 04 00 00 +R 00 00 01 00 +T F4 04 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1B 00 +T FC 04 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 1B 00 02 0A 00 00 +T 03 05 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0C 00 +T 0B 05 00 00 00 00 00 00 CD 00 00 00 00 DD 6E +R 00 00 01 00 02 04 0C 00 02 09 00 00 +T 12 05 00 00 02 DD 66 03 36 02 18 21 +R 00 00 01 00 +T 1A 05 00 00 +R 00 00 01 00 +T 1A 05 00 00 DD 4E F9 DD 5E 02 DD 56 03 3E +R 00 00 01 00 +T 24 05 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 20 00 02 09 20 00 +T 29 05 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 77 04 00 00 +T 2B 05 00 00 R 00 00 01 00 -T 77 04 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 11 00 -T 7F 04 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 11 00 02 0A 00 00 -T 86 04 00 00 00 +T 2B 05 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1B 00 +T 33 05 00 00 21 00 00 00 00 CD 00 00 00 00 18 +R 00 00 01 00 02 05 1B 00 02 0A 00 00 +T 3A 05 00 00 00 R 00 00 01 00 -T 87 04 00 00 +T 3B 05 00 00 R 00 00 01 00 -T 87 04 00 00 C3 E8 08 00 00 +T 3B 05 00 00 C3 B5 09 00 00 R 00 00 01 00 00 05 01 00 -T 8A 04 00 00 +T 3E 05 00 00 R 00 00 01 00 -T 8A 04 00 00 DD 6E 02 DD 66 03 5E CD +T 3E 05 00 00 DD 6E 02 DD 66 03 5E CD R 00 00 01 00 -T 92 04 00 00 00 00 00 00 00 07 00 87 05 00 00 -R 00 00 01 00 02 04 13 00 00 0B 01 00 -T 99 04 00 00 66 05 00 00 66 05 00 00 +T 46 05 00 00 00 00 00 00 00 07 00 3B 06 00 00 +R 00 00 01 00 02 04 1E 00 00 0B 01 00 +T 4D 05 00 00 1A 06 00 00 1A 06 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 9D 04 00 00 A7 04 00 00 40 05 00 00 +T 51 05 00 00 5B 05 00 00 F4 05 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T A1 04 00 00 A7 04 00 00 EE 04 00 00 +T 55 05 00 00 5B 05 00 00 A2 05 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T A5 04 00 00 77 05 00 00 +T 59 05 00 00 2B 06 00 00 R 00 00 01 00 00 04 01 00 -T A7 04 00 00 +T 5B 05 00 00 R 00 00 01 00 -T A7 04 00 00 DD 6E 04 DD 66 05 E5 21 02 00 39 +T 5B 05 00 00 DD 6E 04 DD 66 05 E5 21 02 00 39 R 00 00 01 00 -T B2 04 00 00 4D 44 C5 DD 5E 02 DD 56 03 21 +T 66 05 00 00 4D 44 C5 DD 5E 02 DD 56 03 21 R 00 00 01 00 -T BC 04 00 00 1A 00 DD 4E 02 DD 46 03 09 46 23 +T 70 05 00 00 1A 00 DD 4E 02 DD 46 03 09 46 23 R 00 00 01 00 -T C7 04 00 00 66 68 01 2C 00 09 4E 23 46 23 7E +T 7B 05 00 00 66 68 01 2C 00 09 4E 23 46 23 7E R 00 00 01 00 -T D2 04 00 00 69 60 C1 CD 00 00 00 00 F1 7D B4 +T 86 05 00 00 69 60 C1 CD 00 00 00 00 F1 7D B4 R 00 00 01 00 02 08 00 00 -T DB 04 00 00 20 0E +T 8F 05 00 00 20 0E R 00 00 01 00 -T DD 04 00 00 +T 91 05 00 00 R 00 00 01 00 -T DD 04 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 08 00 -T E5 04 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 08 00 02 0A 00 00 -T EB 04 00 00 +T 91 05 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0C 00 +T 99 05 00 00 21 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 0C 00 02 0A 00 00 +T 9F 05 00 00 R 00 00 01 00 -T EB 04 00 00 C3 87 05 00 00 +T 9F 05 00 00 C3 3B 06 00 00 R 00 00 01 00 00 05 01 00 -T EE 04 00 00 +T A2 05 00 00 R 00 00 01 00 -T EE 04 00 00 DD 5E 02 DD 56 03 21 1A 00 DD 4E +T A2 05 00 00 DD 5E 02 DD 56 03 21 1A 00 DD 4E R 00 00 01 00 -T F9 04 00 00 02 DD 46 03 09 7E 23 66 6F 01 +T AD 05 00 00 02 DD 46 03 09 7E 23 66 6F 01 R 00 00 01 00 -T 03 05 00 00 1A 00 09 4E 23 46 23 7E 69 60 CD +T B7 05 00 00 1A 00 09 4E 23 46 23 7E 69 60 CD R 00 00 01 00 -T 0E 05 00 00 00 00 00 00 DD 5E 02 DD 56 03 21 +T C2 05 00 00 00 00 00 00 DD 5E 02 DD 56 03 21 R 00 00 01 00 02 04 00 00 -T 17 05 00 00 1A 00 DD 4E 02 DD 46 03 09 7E 23 +T CB 05 00 00 1A 00 DD 4E 02 DD 46 03 09 7E 23 R 00 00 01 00 -T 22 05 00 00 66 6F 01 14 00 09 4E 23 46 23 7E +T D6 05 00 00 66 6F 01 14 00 09 4E 23 46 23 7E R 00 00 01 00 -T 2D 05 00 00 69 60 CD 00 00 00 00 DD 5E 02 DD +T E1 05 00 00 69 60 CD 00 00 00 00 DD 5E 02 DD R 00 00 01 00 02 07 00 00 -T 36 05 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 04 00 -T 3B 05 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 04 00 02 09 00 00 -T 40 05 00 00 -R 00 00 01 00 -T 40 05 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 11 00 -T 48 05 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 11 00 02 0A 00 00 -T 4F 05 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 -T 57 05 00 00 00 00 00 00 CD 00 00 00 00 DD 6E -R 00 00 01 00 02 04 08 00 02 09 00 00 -T 5E 05 00 00 02 DD 66 03 36 02 18 21 -R 00 00 01 00 -T 66 05 00 00 -R 00 00 01 00 -T 66 05 00 00 DD 4E FD DD 5E 02 DD 56 03 3E -R 00 00 01 00 -T 70 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 15 00 02 09 15 00 -T 75 05 00 00 00 00 00 00 +T EA 05 00 00 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 05 00 +T EF 05 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 05 00 02 09 00 00 +T F4 05 00 00 +R 00 00 01 00 +T F4 05 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1B 00 +T FC 05 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 1B 00 02 0A 00 00 +T 03 06 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0C 00 +T 0B 06 00 00 00 00 00 00 CD 00 00 00 00 DD 6E +R 00 00 01 00 02 04 0C 00 02 09 00 00 +T 12 06 00 00 02 DD 66 03 36 02 18 21 +R 00 00 01 00 +T 1A 06 00 00 +R 00 00 01 00 +T 1A 06 00 00 DD 4E F9 DD 5E 02 DD 56 03 3E +R 00 00 01 00 +T 24 06 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 20 00 02 09 20 00 +T 29 06 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 77 05 00 00 +T 2B 06 00 00 R 00 00 01 00 -T 77 05 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 11 00 -T 7F 05 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 11 00 02 0A 00 00 -T 86 05 00 00 00 +T 2B 06 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1B 00 +T 33 06 00 00 21 00 00 00 00 CD 00 00 00 00 18 +R 00 00 01 00 02 05 1B 00 02 0A 00 00 +T 3A 06 00 00 00 R 00 00 01 00 -T 87 05 00 00 +T 3B 06 00 00 R 00 00 01 00 -T 87 05 00 00 C3 E8 08 00 00 +T 3B 06 00 00 C3 B5 09 00 00 R 00 00 01 00 00 05 01 00 -T 8A 05 00 00 +T 3E 06 00 00 R 00 00 01 00 -T 8A 05 00 00 01 4A 00 00 00 DD 5E 02 DD 56 03 -R 00 00 01 00 00 05 02 00 -T 93 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0A 00 02 0A 0A 00 -T 99 05 00 00 00 00 00 00 DD 6E 02 DD 66 03 5E +T 3E 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 +T 44 06 00 00 E5 DD 5E 02 DD 56 03 3E +R 00 00 01 00 +T 4C 06 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 51 06 00 00 00 00 00 00 E1 E1 DD 6E 02 DD 66 R 00 00 01 00 02 04 00 00 -T A2 05 00 00 CD 00 00 00 00 00 07 00 -R 00 00 01 00 02 05 13 00 -T A8 05 00 00 38 06 00 00 25 06 00 00 +T 5A 06 00 00 03 5E CD 00 00 00 00 00 07 00 +R 00 00 01 00 02 07 1E 00 +T 62 06 00 00 F2 06 00 00 DF 06 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T AC 05 00 00 25 06 00 00 25 06 00 00 +T 66 06 00 00 DF 06 00 00 DF 06 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T B0 05 00 00 1D 06 00 00 1D 06 00 00 +T 6A 06 00 00 D7 06 00 00 D7 06 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T B4 05 00 00 B8 05 00 00 25 06 00 00 +T 6E 06 00 00 72 06 00 00 DF 06 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T B8 05 00 00 +T 72 06 00 00 R 00 00 01 00 -T B8 05 00 00 DD 4E FD DD 5E 02 DD 56 03 3E +T 72 06 00 00 DD 4E F9 DD 5E 02 DD 56 03 3E R 00 00 01 00 -T C2 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 15 00 02 09 15 00 -T C7 05 00 00 00 00 00 00 DD 5E 02 DD 56 03 21 +T 7C 06 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 20 00 02 09 20 00 +T 81 06 00 00 00 00 00 00 DD 5E 02 DD 56 03 21 R 00 00 01 00 02 04 00 00 -T D0 05 00 00 1A 00 DD 4E 02 DD 46 03 09 7E 23 +T 8A 06 00 00 1A 00 DD 4E 02 DD 46 03 09 7E 23 R 00 00 01 00 -T DB 05 00 00 66 6F 01 1A 00 09 4E 23 46 23 7E +T 95 06 00 00 66 6F 01 1A 00 09 4E 23 46 23 7E R 00 00 01 00 -T E6 05 00 00 69 60 CD 00 00 00 00 DD 5E 02 DD +T A0 06 00 00 69 60 CD 00 00 00 00 DD 5E 02 DD R 00 00 01 00 02 07 00 00 -T EF 05 00 00 56 03 21 1A 00 DD 4E 02 DD 46 03 +T A9 06 00 00 56 03 21 1A 00 DD 4E 02 DD 46 03 R 00 00 01 00 -T FA 05 00 00 09 7E 23 66 6F 01 1D 00 09 4E 23 +T B4 06 00 00 09 7E 23 66 6F 01 1D 00 09 4E 23 R 00 00 01 00 -T 05 06 00 00 46 23 7E 69 60 CD 00 00 00 00 DD +T BF 06 00 00 46 23 7E 69 60 CD 00 00 00 00 DD R 00 00 01 00 02 0A 00 00 -T 0E 06 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 04 00 -T 16 06 00 00 00 00 00 00 CD 00 00 00 00 18 1B -R 00 00 01 00 02 04 04 00 02 09 00 00 -T 1D 06 00 00 +T C8 06 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 05 00 +T D0 06 00 00 00 00 00 00 CD 00 00 00 00 18 1B +R 00 00 01 00 02 04 05 00 02 09 00 00 +T D7 06 00 00 R 00 00 01 00 -T 1D 06 00 00 DD 6E 02 DD 66 03 36 02 +T D7 06 00 00 DD 6E 02 DD 66 03 36 02 R 00 00 01 00 -T 25 06 00 00 +T DF 06 00 00 R 00 00 01 00 -T 25 06 00 00 DD 4E FD DD 5E 02 DD 56 03 3E +T DF 06 00 00 DD 4E F9 DD 5E 02 DD 56 03 3E R 00 00 01 00 -T 2F 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 15 00 02 09 15 00 -T 34 06 00 00 00 00 00 00 18 00 +T E9 06 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 20 00 02 09 20 00 +T EE 06 00 00 00 00 00 00 18 00 R 00 00 01 00 02 04 00 00 -T 38 06 00 00 +T F2 06 00 00 R 00 00 01 00 -T 38 06 00 00 C3 E8 08 00 00 +T F2 06 00 00 C3 B5 09 00 00 R 00 00 01 00 00 05 01 00 -T 3B 06 00 00 +T F5 06 00 00 R 00 00 01 00 -T 3B 06 00 00 DD 6E 02 DD 66 03 5E CD +T F5 06 00 00 DD 6E 02 DD 66 03 5E CD R 00 00 01 00 -T 43 06 00 00 00 00 00 00 00 07 00 15 07 00 00 -R 00 00 01 00 02 04 13 00 00 0B 01 00 -T 4A 06 00 00 13 07 00 00 13 07 00 00 +T FD 06 00 00 00 00 00 00 00 07 00 D7 07 00 00 +R 00 00 01 00 02 04 1E 00 00 0B 01 00 +T 04 07 00 00 D5 07 00 00 D5 07 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 4E 06 00 00 13 07 00 00 0B 07 00 00 +T 08 07 00 00 D5 07 00 00 CD 07 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 52 06 00 00 0B 07 00 00 AE 06 00 00 +T 0C 07 00 00 CD 07 00 00 6A 07 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 56 06 00 00 58 06 00 00 +T 10 07 00 00 12 07 00 00 R 00 00 01 00 00 04 01 00 -T 58 06 00 00 +T 12 07 00 00 R 00 00 01 00 -T 58 06 00 00 21 0A 00 DD 4E 02 DD 46 03 09 EB +T 12 07 00 00 21 0A 00 DD 4E 02 DD 46 03 09 EB R 00 00 01 00 -T 63 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD +T 1D 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 02 00 02 0A 02 00 -T 69 06 00 00 00 00 00 00 01 65 00 00 00 DD 5E -R 00 00 01 00 02 04 00 00 00 09 02 00 -T 70 06 00 00 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0A 00 -T 77 06 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 0A 00 02 09 00 00 -T 7E 06 00 00 02 DD 56 03 21 1A 00 DD 4E 02 DD -R 00 00 01 00 -T 89 06 00 00 46 03 09 7E 23 66 6F 01 1D 00 09 -R 00 00 01 00 -T 94 06 00 00 4E 23 46 23 7E 69 60 CD -R 00 00 01 00 -T 9C 06 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E -R 00 00 01 00 02 04 00 00 -T A5 06 00 00 00 00 00 00 21 00 00 00 00 CD +T 23 07 00 00 00 00 00 00 1E 00 00 00 00 D5 21 +R 00 00 01 00 02 04 00 00 2B 09 13 00 +T 29 07 00 00 00 00 00 00 E5 59 50 3E +R 00 00 01 00 02 04 13 00 +T 2F 07 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 04 00 02 09 04 00 -T AA 06 00 00 00 00 00 00 18 67 +T 34 07 00 00 00 00 00 00 E1 E1 DD 5E 02 DD 56 R 00 00 01 00 02 04 00 00 -T AE 06 00 00 +T 3D 07 00 00 03 21 1A 00 DD 4E 02 DD 46 03 09 R 00 00 01 00 -T AE 06 00 00 01 70 00 00 00 DD 5E 02 DD 56 03 -R 00 00 01 00 00 05 02 00 -T B7 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0A 00 02 0A 0A 00 -T BD 06 00 00 00 00 00 00 DD 5E 02 DD 56 03 21 -R 00 00 01 00 02 04 00 00 -T C6 06 00 00 1A 00 DD 4E 02 DD 46 03 09 7E 23 +T 48 07 00 00 7E 23 66 6F 01 1D 00 09 4E 23 46 R 00 00 01 00 -T D1 06 00 00 66 6F 01 1A 00 09 4E 23 46 23 7E +T 53 07 00 00 23 7E 69 60 CD 00 00 00 00 DD 5E +R 00 00 01 00 02 09 00 00 +T 5C 07 00 00 02 DD 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 05 00 +T 63 07 00 00 00 00 00 00 CD 00 00 00 00 18 6D +R 00 00 01 00 02 04 05 00 02 09 00 00 +T 6A 07 00 00 R 00 00 01 00 -T DC 06 00 00 69 60 CD 00 00 00 00 DD 5E 02 DD -R 00 00 01 00 02 07 00 00 -T E5 06 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 04 00 -T EA 06 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 04 00 02 09 00 00 -T F1 06 00 00 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 08 00 -T F8 06 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 08 00 02 09 00 00 -T FF 06 00 00 20 08 +T 6A 07 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 +T 70 07 00 00 E5 DD 5E 02 DD 56 03 3E R 00 00 01 00 -T 01 07 00 00 +T 78 07 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 7D 07 00 00 00 00 00 00 E1 E1 DD 5E 02 DD 56 +R 00 00 01 00 02 04 00 00 +T 86 07 00 00 03 21 1A 00 DD 4E 02 DD 46 03 09 R 00 00 01 00 -T 01 07 00 00 DD 6E 02 DD 66 03 36 02 +T 91 07 00 00 7E 23 66 6F 01 1A 00 09 4E 23 46 R 00 00 01 00 -T 09 07 00 00 +T 9C 07 00 00 23 7E 69 60 CD 00 00 00 00 DD 5E +R 00 00 01 00 02 09 00 00 +T A5 07 00 00 02 DD 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 05 00 +T AC 07 00 00 00 00 00 00 CD 00 00 00 00 DD 5E +R 00 00 01 00 02 04 05 00 02 09 00 00 +T B3 07 00 00 02 DD 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0C 00 +T BA 07 00 00 00 00 00 00 CD 00 00 00 00 7D B4 +R 00 00 01 00 02 04 0C 00 02 09 00 00 +T C1 07 00 00 20 08 R 00 00 01 00 -T 09 07 00 00 18 0A +T C3 07 00 00 R 00 00 01 00 -T 0B 07 00 00 +T C3 07 00 00 DD 6E 02 DD 66 03 36 02 R 00 00 01 00 -T 0B 07 00 00 DD 6E 02 DD 66 03 36 02 +T CB 07 00 00 R 00 00 01 00 -T 13 07 00 00 +T CB 07 00 00 18 0A R 00 00 01 00 -T 13 07 00 00 18 00 +T CD 07 00 00 R 00 00 01 00 -T 15 07 00 00 +T CD 07 00 00 DD 6E 02 DD 66 03 36 02 R 00 00 01 00 -T 15 07 00 00 C3 E8 08 00 00 -R 00 00 01 00 00 05 01 00 -T 18 07 00 00 +T D5 07 00 00 R 00 00 01 00 -T 18 07 00 00 21 1A 00 DD 4E 02 DD 46 03 09 7E +T D5 07 00 00 18 00 R 00 00 01 00 -T 23 07 00 00 23 66 6F 5E 23 56 D5 21 08 00 09 +T D7 07 00 00 R 00 00 01 00 -T 2E 07 00 00 7E 23 66 6F 56 23 66 6A 23 23 5E +T D7 07 00 00 C3 B5 09 00 00 +R 00 00 01 00 00 05 01 00 +T DA 07 00 00 R 00 00 01 00 -T 39 07 00 00 23 56 D5 21 86 00 00 00 E5 2A -R 00 00 01 00 00 08 02 00 -T 41 07 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 2B 0A 0D 00 -T 47 07 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 0D 00 02 09 00 00 -T 4E 07 00 00 E1 E1 59 50 21 1A 00 DD 4E 02 DD +T DA 07 00 00 21 1A 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 59 07 00 00 46 03 09 7E 23 66 6F 01 1D 00 09 +T E5 07 00 00 23 66 6F 5E 23 56 D5 21 08 00 09 R 00 00 01 00 -T 64 07 00 00 4E 23 46 23 7E 69 60 CD +T F0 07 00 00 7E 23 66 6F 56 23 66 6A 23 23 5E R 00 00 01 00 -T 6C 07 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E +T FB 07 00 00 23 56 D5 1E 00 00 00 00 D5 21 +R 00 00 01 00 2B 08 15 00 +T 02 08 00 00 00 00 00 00 E5 2A 00 00 00 00 E5 +R 00 00 01 00 02 04 15 00 02 0A 14 00 +T 09 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 08 00 02 0A 08 00 +T 0F 08 00 00 00 00 00 00 E1 E1 E1 E1 E1 59 50 R 00 00 01 00 02 04 00 00 -T 75 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 7A 07 00 00 00 00 00 00 DD 5E 04 DD 56 05 3E -R 00 00 01 00 02 04 00 00 -T 83 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 11 00 02 09 11 00 -T 88 07 00 00 00 00 00 00 C3 E8 08 00 00 -R 00 00 01 00 02 04 00 00 00 09 01 00 -T 8D 07 00 00 +T 18 08 00 00 21 1A 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 8D 07 00 00 21 1A 00 DD 4E 02 DD 46 03 09 7E +T 23 08 00 00 23 66 6F 01 1D 00 09 4E 23 46 23 R 00 00 01 00 -T 98 07 00 00 23 66 6F 5E 23 56 D5 21 08 00 09 +T 2E 08 00 00 7E 69 60 CD 00 00 00 00 DD 5E 02 +R 00 00 01 00 02 08 00 00 +T 37 08 00 00 DD 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 05 00 +T 3D 08 00 00 00 00 00 00 CD 00 00 00 00 DD 5E +R 00 00 01 00 02 04 05 00 02 09 00 00 +T 44 08 00 00 04 DD 56 05 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 1B 00 +T 4B 08 00 00 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 04 1B 00 02 09 00 00 +T 51 08 00 00 B5 09 00 00 +R 00 00 01 00 00 04 01 00 +T 53 08 00 00 R 00 00 01 00 -T A3 07 00 00 7E 23 66 6F 46 23 66 68 23 23 4E +T 53 08 00 00 21 1A 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T AE 07 00 00 23 46 C5 21 BD 00 00 00 E5 2A -R 00 00 01 00 00 08 02 00 -T B6 07 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 2B 0A 0D 00 -T BC 07 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 0D 00 02 09 00 00 -T C3 07 00 00 E1 E1 DD 5E 04 DD 56 05 3E +T 5E 08 00 00 23 66 6F 5E 23 56 D5 21 08 00 09 R 00 00 01 00 -T CC 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 11 00 02 09 11 00 -T D1 07 00 00 00 00 00 00 C3 E8 08 00 00 -R 00 00 01 00 02 04 00 00 00 09 01 00 -T D6 07 00 00 +T 69 08 00 00 7E 23 66 6F 46 23 66 68 23 23 4E R 00 00 01 00 -T D6 07 00 00 DD 6E 02 DD 66 03 5E CD +T 74 08 00 00 23 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 22 00 +T 7B 08 00 00 00 00 00 00 E5 2A 00 00 00 00 E5 +R 00 00 01 00 02 04 22 00 02 0A 14 00 +T 82 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 08 00 02 0A 08 00 +T 88 08 00 00 00 00 00 00 E1 E1 E1 E1 E1 DD 5E +R 00 00 01 00 02 04 00 00 +T 91 08 00 00 04 DD 56 05 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 1B 00 +T 98 08 00 00 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 04 1B 00 02 09 00 00 +T 9E 08 00 00 B5 09 00 00 +R 00 00 01 00 00 04 01 00 +T A0 08 00 00 R 00 00 01 00 -T DE 07 00 00 00 00 00 00 00 07 00 33 08 00 00 -R 00 00 01 00 02 04 13 00 00 0B 01 00 -T E5 07 00 00 12 08 00 00 12 08 00 00 +T A0 08 00 00 DD 6E 02 DD 66 03 5E CD +R 00 00 01 00 +T A8 08 00 00 00 00 00 00 00 07 00 FD 08 00 00 +R 00 00 01 00 02 04 1E 00 00 0B 01 00 +T AF 08 00 00 DC 08 00 00 DC 08 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T E9 07 00 00 23 08 00 00 23 08 00 00 +T B3 08 00 00 ED 08 00 00 ED 08 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T ED 07 00 00 23 08 00 00 F3 07 00 00 +T B7 08 00 00 ED 08 00 00 BD 08 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T F1 07 00 00 23 08 00 00 +T BB 08 00 00 ED 08 00 00 R 00 00 01 00 00 04 01 00 -T F3 07 00 00 +T BD 08 00 00 R 00 00 01 00 -T F3 07 00 00 DD 6E 04 DD 66 05 E5 DD 6E FD E5 +T BD 08 00 00 DD 6E 04 DD 66 05 E5 DD 6E F9 E5 R 00 00 01 00 -T FE 07 00 00 0E 0A DD 5E 02 DD 56 03 3E +T C8 08 00 00 0E 0A DD 5E 02 DD 56 03 3E R 00 00 01 00 -T 07 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 -T 0C 08 00 00 00 00 00 00 F1 F1 18 21 +T D1 08 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 07 00 02 09 07 00 +T D6 08 00 00 00 00 00 00 F1 F1 18 21 R 00 00 01 00 02 04 00 00 -T 12 08 00 00 +T DC 08 00 00 R 00 00 01 00 -T 12 08 00 00 DD 4E FD DD 5E 02 DD 56 03 3E +T DC 08 00 00 DD 4E F9 DD 5E 02 DD 56 03 3E R 00 00 01 00 -T 1C 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 15 00 02 09 15 00 -T 21 08 00 00 00 00 00 00 +T E6 08 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 20 00 02 09 20 00 +T EB 08 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 23 08 00 00 +T ED 08 00 00 R 00 00 01 00 -T 23 08 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 11 00 -T 2B 08 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 11 00 02 0A 00 00 -T 32 08 00 00 00 +T ED 08 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1B 00 +T F5 08 00 00 21 00 00 00 00 CD 00 00 00 00 18 +R 00 00 01 00 02 05 1B 00 02 0A 00 00 +T FC 08 00 00 00 R 00 00 01 00 -T 33 08 00 00 +T FD 08 00 00 R 00 00 01 00 -T 33 08 00 00 C3 E8 08 00 00 +T FD 08 00 00 C3 B5 09 00 00 R 00 00 01 00 00 05 01 00 -T 36 08 00 00 +T 00 09 00 00 R 00 00 01 00 -T 36 08 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 11 00 -T 3E 08 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 11 00 02 0A 00 00 -T 45 08 00 00 E8 08 00 00 +T 00 09 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1B 00 +T 08 09 00 00 21 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 05 1B 00 02 0A 00 00 +T 0F 09 00 00 B5 09 00 00 R 00 00 01 00 00 04 01 00 -T 47 08 00 00 +T 11 09 00 00 R 00 00 01 00 -T 47 08 00 00 DD 4E FC 06 00 C5 21 1A 00 DD 4E +T 11 09 00 00 DD 4E F8 06 00 C5 21 1A 00 DD 4E R 00 00 01 00 -T 52 08 00 00 02 DD 46 03 09 7E 23 66 6F 5E 23 +T 1C 09 00 00 02 DD 46 03 09 7E 23 66 6F 5E 23 R 00 00 01 00 -T 5D 08 00 00 56 D5 21 08 00 09 7E 23 66 6F 56 +T 27 09 00 00 56 D5 21 08 00 09 7E 23 66 6F 56 R 00 00 01 00 -T 68 08 00 00 23 66 6A 23 23 5E 23 56 D5 21 +T 32 09 00 00 23 66 6A 23 23 5E 23 56 D5 1E R 00 00 01 00 -T 72 08 00 00 F8 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 0B 00 -T 79 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0D 00 02 0A 0D 00 -T 7F 08 00 00 00 00 00 00 E1 E1 E1 E1 E1 21 -R 00 00 01 00 02 04 00 00 -T 87 08 00 00 02 00 39 7E C6 04 77 30 02 23 34 +T 3C 09 00 00 00 00 00 00 D5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 1D 00 02 0A 1D 00 +T 42 09 00 00 2A 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 14 00 2B 0B 08 00 +T 48 09 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 08 00 02 0A 00 00 +T 4F 09 00 00 0C 00 39 F9 21 02 00 39 7E C6 04 R 00 00 01 00 -T 92 08 00 00 +T 5A 09 00 00 77 30 02 23 34 R 00 00 01 00 -T 92 08 00 00 DD 4E 04 DD 46 05 21 00 00 39 5D +T 5F 09 00 00 R 00 00 01 00 -T 9D 08 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 -T A3 08 00 00 CD 00 00 00 00 DD 6E 04 DD 66 05 +T 5F 09 00 00 DD 4E 04 DD 46 05 21 00 00 39 5D +R 00 00 01 00 +T 6A 09 00 00 54 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 19 00 02 0B 19 00 +T 70 09 00 00 CD 00 00 00 00 DD 6E 04 DD 66 05 R 00 00 01 00 02 05 00 00 -T AC 08 00 00 E5 DD 6E FD E5 0E 07 DD 5E 02 DD +T 79 09 00 00 E5 DD 6E F9 E5 0E 07 DD 5E 02 DD R 00 00 01 00 -T B7 08 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 05 00 -T BC 08 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 05 00 02 09 00 00 -T C3 08 00 00 DD 6E 02 DD 66 03 7E FE 02 38 0E +T 84 09 00 00 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 07 00 +T 89 09 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 07 00 02 09 00 00 +T 90 09 00 00 DD 6E 02 DD 66 03 7E FE 02 38 0E R 00 00 01 00 -T CE 08 00 00 FE 06 30 0A +T 9B 09 00 00 FE 06 30 0A R 00 00 01 00 -T D2 08 00 00 +T 9F 09 00 00 R 00 00 01 00 -T D2 08 00 00 DD 6E 02 DD 66 03 36 01 18 0A +T 9F 09 00 00 DD 6E 02 DD 66 03 36 01 18 0A R 00 00 01 00 -T DC 08 00 00 +T A9 09 00 00 R 00 00 01 00 -T DC 08 00 00 FE 02 38 04 FE 06 20 02 +T A9 09 00 00 FE 02 38 04 FE 06 20 02 R 00 00 01 00 -T E4 08 00 00 +T B1 09 00 00 R 00 00 01 00 -T E4 08 00 00 18 00 +T B1 09 00 00 18 00 R 00 00 01 00 -T E6 08 00 00 +T B3 09 00 00 R 00 00 01 00 -T E6 08 00 00 18 00 +T B3 09 00 00 18 00 R 00 00 01 00 -T E8 08 00 00 +T B5 09 00 00 R 00 00 01 00 -T E8 08 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 73 68 6F 72 74 20 63 6F 6E 66 69 -R 00 00 02 00 -T 0B 00 00 00 67 75 72 61 74 69 6F 6E 20 70 61 -R 00 00 02 00 -T 16 00 00 00 63 6B 65 74 00 -R 00 00 02 00 -T 1B 00 00 00 -R 00 00 02 00 -T 1B 00 00 00 25 73 20 50 50 50 2F 25 73 20 25 -R 00 00 02 00 -T 26 00 00 00 2D 38 73 3B 20 50 72 6F 63 65 73 -R 00 00 02 00 -T 31 00 00 00 73 69 6E 67 20 25 73 2C 20 69 64 -R 00 00 02 00 -T 3C 00 00 00 3A 20 25 64 2C 20 6C 65 6E 3A 20 -R 00 00 02 00 -T 47 00 00 00 25 64 00 -R 00 00 02 00 -T 4A 00 00 00 -R 00 00 02 00 -T 4A 00 00 00 50 65 65 72 20 72 65 71 75 65 73 -R 00 00 02 00 -T 55 00 00 00 74 65 64 20 54 65 72 6D 69 6E 61 -R 00 00 02 00 -T 60 00 00 00 74 69 6F 6E 00 -R 00 00 02 00 -T 65 00 00 00 -R 00 00 02 00 -T 65 00 00 00 54 65 72 6D 69 6E 61 74 65 64 00 -R 00 00 02 00 -T 70 00 00 00 -R 00 00 02 00 -T 70 00 00 00 54 65 72 6D 69 6E 61 74 65 64 20 -R 00 00 02 00 -T 7B 00 00 00 75 6E 65 78 70 65 63 74 6C 79 00 -R 00 00 02 00 -T 86 00 00 00 -R 00 00 02 00 -T 86 00 00 00 25 73 20 50 50 50 2F 25 73 20 43 -R 00 00 02 00 -T 91 00 00 00 6F 64 65 20 52 65 6A 65 63 74 3B -R 00 00 02 00 -T 9C 00 00 00 20 69 6E 64 69 63 61 74 65 73 20 -R 00 00 02 00 -T A7 00 00 00 66 61 75 6C 74 79 20 69 6D 70 6C -R 00 00 02 00 -T B2 00 00 00 65 6D 65 6E 74 61 74 69 6F 6E 00 -R 00 00 02 00 -T BD 00 00 00 -R 00 00 02 00 -T BD 00 00 00 25 73 20 50 50 50 2F 25 73 20 50 -R 00 00 02 00 -T C8 00 00 00 72 6F 74 6F 63 6F 6C 20 52 65 6A -R 00 00 02 00 -T D3 00 00 00 65 63 74 3B 20 70 6C 65 61 73 65 -R 00 00 02 00 -T DE 00 00 00 20 64 6F 20 6E 6F 74 20 75 73 65 -R 00 00 02 00 -T E9 00 00 00 20 74 68 69 73 20 70 72 6F 74 6F -R 00 00 02 00 -T F4 00 00 00 63 6F 6C 00 -R 00 00 02 00 -T F8 00 00 00 -R 00 00 02 00 -T F8 00 00 00 25 73 20 50 50 50 2F 25 73 20 55 -R 00 00 02 00 -T 03 01 00 00 6E 6B 6E 6F 77 6E 20 70 61 63 6B -R 00 00 02 00 -T 0E 01 00 00 65 74 20 74 79 70 65 3A 20 25 64 -R 00 00 02 00 -T 19 01 00 00 3B 20 53 65 6E 64 69 6E 67 20 43 -R 00 00 02 00 -T 24 01 00 00 6F 64 65 20 52 65 6A 65 63 74 00 -R 00 00 02 00 +T B5 09 00 00 +R 00 00 01 00 +T B5 09 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 09 00 diff --git a/src/nos/lib/ppp_lib/fsm_reset.rel b/src/nos/lib/ppp_lib/fsm_reset.rel index eb4e44aa..9e1c20c3 100644 --- a/src/nos/lib/ppp_lib/fsm_reset.rel +++ b/src/nos/lib/ppp_lib/fsm_reset.rel @@ -1,62 +1,58 @@ XL4 -H 3 areas 9 global symbols +H 2 areas A global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S _PPPiface Ref00000000 -S _trace_log Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___0556_1a51_fsm_5freset_28_29 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 77 flags 0 +A CODE size 7B flags 0 S _fsm_reset Def00000000 -A CSTR size C flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 3A 00 00 00 00 E6 -R 00 00 01 00 02 05 03 00 02 0A 07 00 -T 07 00 00 00 80 28 12 +R 00 00 01 00 02 05 04 00 02 0A 08 00 +T 07 00 00 00 80 28 16 R 00 00 01 00 T 0A 00 00 00 R 00 00 01 00 -T 0A 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 04 00 -T 11 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 -T 17 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 1C 00 00 00 +T 0A 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 07 00 02 0B 07 00 +T 10 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 05 00 +T 16 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 01 00 02 09 01 00 +T 1B 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 20 00 00 00 R 00 00 01 00 -T 1C 00 00 00 DD 6E 02 DD 66 03 23 23 7E E6 C0 +T 20 00 00 00 DD 6E 02 DD 66 03 23 23 7E E6 C0 R 00 00 01 00 -T 27 00 00 00 28 04 3E 01 18 01 +T 2B 00 00 00 28 04 3E 01 18 01 R 00 00 01 00 -T 2D 00 00 00 +T 31 00 00 00 R 00 00 01 00 -T 2D 00 00 00 AF +T 31 00 00 00 AF R 00 00 01 00 -T 2E 00 00 00 +T 32 00 00 00 R 00 00 01 00 -T 2E 00 00 00 DD 6E 02 DD 66 03 77 21 04 00 DD +T 32 00 00 00 DD 6E 02 DD 66 03 77 21 04 00 DD R 00 00 01 00 -T 39 00 00 00 4E 02 DD 46 03 09 56 69 60 23 23 +T 3D 00 00 00 4E 02 DD 46 03 09 56 69 60 23 23 R 00 00 01 00 -T 44 00 00 00 23 72 21 07 00 DD 4E 02 DD 46 03 +T 48 00 00 00 23 72 21 07 00 DD 4E 02 DD 46 03 R 00 00 01 00 -T 4F 00 00 00 09 56 21 06 00 09 72 59 50 21 +T 53 00 00 00 09 56 21 06 00 09 72 59 50 21 R 00 00 01 00 -T 59 00 00 00 1A 00 DD 4E 02 DD 46 03 09 46 23 +T 5D 00 00 00 1A 00 DD 4E 02 DD 46 03 09 46 23 R 00 00 01 00 -T 64 00 00 00 66 68 01 11 00 09 4E 23 46 23 7E +T 68 00 00 00 66 68 01 11 00 09 4E 23 46 23 7E R 00 00 01 00 -T 6F 00 00 00 69 60 CD 00 00 00 00 C3 +T 73 00 00 00 69 60 CD 00 00 00 00 C3 R 00 00 01 00 02 07 00 00 -T 75 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 66 73 6D 5F 72 65 73 65 74 28 29 -R 00 00 02 00 -T 0B 00 00 00 00 -R 00 00 02 00 +T 79 00 00 00 00 00 00 00 +R 00 00 01 00 02 04 02 00 diff --git a/src/nos/lib/ppp_lib/fsm_send.rel b/src/nos/lib/ppp_lib/fsm_send.rel index 368bd15d..33609239 100644 --- a/src/nos/lib/ppp_lib/fsm_send.rel +++ b/src/nos/lib/ppp_lib/fsm_send.rel @@ -1,13 +1,20 @@ XL4 -H 3 areas 11 global symbols +H 2 areas 18 global symbols S _ambufw Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 +S _trim_mbuf Ref00000000 S _len_p Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___getfail Ref00000000 +S ___0165_3c0d__25s_20PPP_2f_25s_2 Ref00000000 S .__.ABS. Def00000000 +S ___0164_0e2f__25s_20PPP_2f_25s_2 Ref00000000 +S _free Ref00000000 +S __gettext Ref00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 +S ?S_MUL_L02 Ref00000000 S _htoncnf Ref00000000 S ?SS_CMP_L02 Ref00000000 S _fsmCodes Ref00000000 @@ -17,184 +24,295 @@ S _fsmStates Ref00000000 S _put32 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 222 flags 0 +A CODE size 3AD flags 0 S _fsm_send Def00000000 -A CSTR size 55 flags 0 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F4 FF 21 08 00 DD -R 00 00 01 00 02 05 06 00 +T 00 00 00 00 CD 00 00 00 00 F2 FF 21 08 00 DD +R 00 00 01 00 02 05 0D 00 T 09 00 00 00 5E 02 DD 56 03 19 46 23 66 68 DD R 00 00 01 00 -T 14 00 00 00 75 F4 DD 74 F5 46 23 66 68 DD 75 +T 14 00 00 00 75 F2 DD 74 F3 46 23 66 68 DD 75 R 00 00 01 00 -T 1F 00 00 00 F6 DD 74 F7 DD 71 F8 59 CD +T 1F 00 00 00 F4 DD 74 F5 DD 71 F6 59 CD R 00 00 01 00 -T 28 00 00 00 00 00 00 00 01 0B 00 6F 00 00 00 -R 00 00 01 00 02 04 0B 00 00 0B 01 00 -T 2F 00 00 00 45 00 00 00 67 00 00 00 +T 28 00 00 00 00 00 00 00 01 0B 00 71 00 00 00 +R 00 00 01 00 02 04 12 00 00 0B 01 00 +T 2F 00 00 00 45 00 00 00 68 00 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 33 00 00 00 67 00 00 00 67 00 00 00 +T 33 00 00 00 68 00 00 00 68 00 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 37 00 00 00 45 00 00 00 67 00 00 00 +T 37 00 00 00 45 00 00 00 68 00 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 3B 00 00 00 67 00 00 00 57 00 00 00 +T 3B 00 00 00 68 00 00 00 57 00 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 3F 00 00 00 45 00 00 00 67 00 00 00 +T 3F 00 00 00 45 00 00 00 68 00 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 T 43 00 00 00 57 00 00 00 R 00 00 01 00 00 04 01 00 T 45 00 00 00 R 00 00 01 00 -T 45 00 00 00 DD 6E F4 DD 66 F5 23 23 23 46 DD +T 45 00 00 00 DD 6E F2 DD 66 F3 23 23 23 46 DD R 00 00 01 00 T 50 00 00 00 6E 02 DD 66 03 23 70 R 00 00 01 00 T 57 00 00 00 R 00 00 01 00 -T 57 00 00 00 DD 6E F4 DD 66 F5 23 23 23 46 34 +T 57 00 00 00 DD 6E F2 DD 66 F3 23 23 23 46 34 R 00 00 01 00 -T 62 00 00 00 DD 70 F9 18 59 +T 62 00 00 00 DD 70 F7 C3 18 01 00 00 +R 00 00 01 00 00 08 01 00 +T 68 00 00 00 R 00 00 01 00 -T 67 00 00 00 +T 68 00 00 00 DD 46 0A DD 70 F7 C3 18 01 00 00 +R 00 00 01 00 00 0B 01 00 +T 71 00 00 00 R 00 00 01 00 -T 67 00 00 00 DD 46 0A DD 70 F9 18 51 +T 71 00 00 00 DD 6E 02 DD 66 03 4E 06 00 11 R 00 00 01 00 -T 6F 00 00 00 +T 7B 00 00 00 03 00 CD 00 00 00 00 21 +R 00 00 01 00 02 07 0E 00 +T 81 00 00 00 00 00 00 00 19 5E 23 56 23 4E 3E +R 00 00 01 00 02 04 14 00 +T 8A 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +T 8F 00 00 00 00 00 00 00 DD 75 FC DD 74 FD 7D +R 00 00 01 00 02 04 01 00 +T 98 00 00 00 B4 20 26 R 00 00 01 00 -T 6F 00 00 00 DD 4E 04 06 00 C5 DD 6E 02 DD 66 +T 9B 00 00 00 R 00 00 01 00 -T 7A 00 00 00 03 6E 26 00 29 01 00 00 00 00 09 -R 00 00 01 00 02 0A 0D 00 -T 83 00 00 00 4E 23 46 C5 21 1A 00 DD 4E 02 DD +T 9B 00 00 00 DD 6E 02 DD 66 03 4E 06 00 11 R 00 00 01 00 -T 8E 00 00 00 46 03 09 7E 23 66 6F 4E 23 46 C5 +T A5 00 00 00 03 00 CD 00 00 00 00 21 +R 00 00 01 00 02 07 0E 00 +T AB 00 00 00 00 00 00 00 19 5E 23 56 23 4E 3E +R 00 00 01 00 02 04 14 00 +T B4 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T B9 00 00 00 00 00 00 00 21 FF FF C3 +R 00 00 01 00 02 04 01 00 +T BF 00 00 00 AA 03 00 00 +R 00 00 01 00 00 04 01 00 +T C1 00 00 00 R 00 00 01 00 -T 99 00 00 00 DD 6E F6 DD 66 F7 23 23 4E 23 46 +T C1 00 00 00 DD 4E 04 06 00 C5 DD 6E FC DD 66 R 00 00 01 00 -T A4 00 00 00 C5 21 00 00 00 00 E5 2A -R 00 00 01 00 00 06 02 00 -T AA 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 05 00 2B 0A 07 00 -T B0 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 07 00 02 09 01 00 -T B6 00 00 00 0C 00 39 F9 21 FF FF C3 +T CC 00 00 00 FD E5 21 1A 00 DD 4E 02 DD 46 03 R 00 00 01 00 -T BE 00 00 00 1F 02 00 00 -R 00 00 01 00 00 04 01 00 -T C0 00 00 00 +T D7 00 00 00 09 7E 23 66 6F 4E 23 46 C5 DD 6E R 00 00 01 00 -T C0 00 00 00 DD 7E 04 FE 09 38 5C FE 0C 30 58 +T E2 00 00 00 F4 DD 66 F5 23 23 4E 23 46 C5 0E +R 00 00 01 00 +T ED 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 09 00 02 0A 09 00 +T F3 00 00 00 2A 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 0C 00 2B 0B 04 00 +T F9 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 04 00 02 0A 01 00 +T 00 01 00 00 0E 00 39 F9 DD 5E FC DD 56 FD 3E +R 00 00 01 00 +T 0B 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +T 10 01 00 00 00 00 00 00 21 FF FF C3 +R 00 00 01 00 02 04 01 00 +T 16 01 00 00 AA 03 00 00 +R 00 00 01 00 00 04 01 00 +T 18 01 00 00 R 00 00 01 00 -T CB 00 00 00 +T 18 01 00 00 DD 7E 04 FE 09 DA AC 01 00 00 FE +R 00 00 01 00 00 0A 01 00 +T 21 01 00 00 0C D2 AC 01 00 00 +R 00 00 01 00 00 06 01 00 +T 25 01 00 00 R 00 00 01 00 -T CB 00 00 00 21 1C 00 DD 4E 02 DD 46 03 09 46 +T 25 01 00 00 21 1C 00 DD 4E 02 DD 46 03 09 46 R 00 00 01 00 -T D6 00 00 00 23 66 68 DD 75 FE DD 74 FF 11 +T 30 01 00 00 23 66 68 DD 75 FC DD 74 FD 11 R 00 00 01 00 -T E0 00 00 00 04 00 3E 00 00 00 00 21 +T 3A 01 00 00 04 00 3E 00 00 00 00 21 R 00 00 01 00 2B 07 00 00 -T E5 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +T 3F 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 00 00 02 09 01 00 -T EC 00 00 00 FC DD 74 FD 21 22 00 DD 4E FE DD +T 46 01 00 00 FA DD 74 FB 21 22 00 DD 4E FC DD R 00 00 01 00 -T F7 00 00 00 46 FF 09 4E 23 46 23 5E 23 56 D5 +T 51 01 00 00 46 FD 09 4E 23 46 23 5E 23 56 D5 R 00 00 01 00 -T 02 01 00 00 C5 21 0A 00 DD 4E FC DD 46 FD 09 +T 5C 01 00 00 C5 21 0A 00 DD 4E FA DD 46 FB 09 R 00 00 01 00 -T 0D 01 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0E 00 -T 13 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0E 00 02 09 01 00 -T 1A 01 00 00 DD 6E 0C DD 66 0D 71 23 70 +T 67 01 00 00 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 15 00 +T 6D 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 15 00 02 09 01 00 +T 74 01 00 00 DD 6E 0C DD 66 0D 71 23 70 DD 6E R 00 00 01 00 -T 23 01 00 00 +T 7F 01 00 00 0C DD 66 0D 5E 23 56 3E +R 00 00 01 00 +T 87 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 8C 01 00 00 00 00 00 00 01 04 00 09 DD 75 F8 +R 00 00 01 00 02 04 01 00 +T 95 01 00 00 DD 74 F9 DD 4E 0C DD 46 0D 21 +R 00 00 01 00 +T 9F 01 00 00 04 00 39 5D 54 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0F 00 +T A7 01 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 0F 00 02 09 01 00 +T AC 01 00 00 +R 00 00 01 00 +T AC 01 00 00 DD 7E 0C DD B6 0D 20 46 +R 00 00 01 00 +T B4 01 00 00 +R 00 00 01 00 +T B4 01 00 00 11 01 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 00 00 +T BA 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 00 00 02 09 01 00 +T C1 01 00 00 FA DD 74 FB 21 08 00 39 DD 75 0C R 00 00 01 00 -T 23 01 00 00 DD 6E 0C DD 66 0D 5E 23 56 3E +T CC 01 00 00 DD 74 0D DD 36 F8 04 DD 36 F9 00 R 00 00 01 00 -T 2D 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 32 01 00 00 00 00 00 00 01 04 00 09 DD 75 FA +T D7 01 00 00 4D 44 21 04 00 39 5D 54 3E +R 00 00 01 00 +T E0 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0F 00 02 09 0F 00 +T E5 01 00 00 00 00 00 00 01 04 00 DD 5E 0C DD +R 00 00 01 00 02 04 01 00 +T EE 01 00 00 56 0D 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 02 00 +T F3 01 00 00 00 00 00 00 CD 00 00 00 00 18 2F +R 00 00 01 00 02 04 02 00 02 09 01 00 +T FA 01 00 00 +R 00 00 01 00 +T FA 01 00 00 DD 6E 0C DD 66 0D 5E 23 56 3E +R 00 00 01 00 +T 04 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 09 02 00 00 00 00 00 00 01 04 00 09 DD 75 F8 +R 00 00 01 00 02 04 01 00 +T 12 02 00 00 DD 74 F9 DD 4E 0C DD 46 0D 21 +R 00 00 01 00 +T 1C 02 00 00 04 00 39 5D 54 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0F 00 +T 24 02 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 0F 00 02 09 01 00 +T 29 02 00 00 +R 00 00 01 00 +T 29 02 00 00 +R 00 00 01 00 +T 29 02 00 00 ED 4B 00 00 00 00 21 01 00 CD +R 00 00 01 00 02 06 16 00 +T 31 02 00 00 00 00 00 00 D2 49 03 00 00 +R 00 00 01 00 02 04 10 00 00 09 01 00 +T 36 02 00 00 +R 00 00 01 00 +T 36 02 00 00 DD 6E 02 DD 66 03 4E 06 00 11 +R 00 00 01 00 +T 40 02 00 00 03 00 CD 00 00 00 00 21 +R 00 00 01 00 02 07 0E 00 +T 46 02 00 00 00 00 00 00 19 5E 23 56 23 4E 3E +R 00 00 01 00 02 04 14 00 +T 4F 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +T 54 02 00 00 00 00 00 00 DD 75 FC DD 74 FD 7D +R 00 00 01 00 02 04 01 00 +T 5D 02 00 00 B4 20 26 +R 00 00 01 00 +T 60 02 00 00 +R 00 00 01 00 +T 60 02 00 00 DD 6E 02 DD 66 03 4E 06 00 11 +R 00 00 01 00 +T 6A 02 00 00 03 00 CD 00 00 00 00 21 +R 00 00 01 00 02 07 0E 00 +T 70 02 00 00 00 00 00 00 19 5E 23 56 23 4E 3E +R 00 00 01 00 02 04 14 00 +T 79 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 7E 02 00 00 00 00 00 00 21 FF FF C3 R 00 00 01 00 02 04 01 00 -T 3B 01 00 00 DD 74 FB DD 4E 0C DD 46 0D 21 +T 84 02 00 00 AA 03 00 00 +R 00 00 01 00 00 04 01 00 +T 86 02 00 00 +R 00 00 01 00 +T 86 02 00 00 DD 4E 04 06 00 11 03 00 CD R 00 00 01 00 -T 45 01 00 00 04 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 -T 4D 01 00 00 00 00 00 00 CD 00 00 00 00 ED 4B -R 00 00 01 00 02 04 08 00 02 09 01 00 -T 54 01 00 00 00 00 00 00 21 01 00 CD -R 00 00 01 00 02 04 0F 00 -T 5A 01 00 00 00 00 00 00 30 60 -R 00 00 01 00 02 04 09 00 -T 5E 01 00 00 +T 8F 02 00 00 00 00 00 00 21 00 00 00 00 19 5E +R 00 00 01 00 02 04 0E 00 02 09 11 00 +T 96 02 00 00 23 56 23 4E 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0B 00 +T 9D 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 0B 00 02 09 01 00 +T A4 02 00 00 FE DD 74 FF 7D B4 20 30 R 00 00 01 00 -T 5E 01 00 00 DD 6E FA DD 66 FB E5 DD 4E F9 06 +T AC 02 00 00 R 00 00 01 00 -T 69 01 00 00 00 C5 DD 6E 04 26 00 29 01 +T AC 02 00 00 DD 4E 04 06 00 11 03 00 CD R 00 00 01 00 -T 72 01 00 00 00 00 00 00 09 4E 23 46 C5 DD 6E -R 00 00 01 00 02 04 0A 00 -T 7B 01 00 00 02 DD 66 03 6E 26 00 29 01 +T B5 02 00 00 00 00 00 00 21 00 00 00 00 19 5E +R 00 00 01 00 02 04 0E 00 02 09 11 00 +T BC 02 00 00 23 56 23 4E 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 06 00 +T C3 02 00 00 00 00 00 00 CD 00 00 00 00 DD 5E +R 00 00 01 00 02 04 06 00 02 09 01 00 +T CA 02 00 00 FC DD 56 FD 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0A 00 +T D1 02 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 0A 00 02 09 01 00 +T D7 02 00 00 FF FF C3 AA 03 00 00 +R 00 00 01 00 00 07 01 00 +T DC 02 00 00 R 00 00 01 00 -T 84 01 00 00 00 00 00 00 09 4E 23 46 C5 21 -R 00 00 01 00 02 04 0D 00 -T 8C 01 00 00 1A 00 DD 4E 02 DD 46 03 09 7E 23 +T DC 02 00 00 DD 6E F8 DD 66 F9 E5 DD 4E F7 06 R 00 00 01 00 -T 97 01 00 00 66 6F 4E 23 46 C5 DD 6E F6 DD 66 +T E7 02 00 00 00 C5 DD 6E FE DD 66 FF E5 DD 6E R 00 00 01 00 -T A2 01 00 00 F7 23 23 4E 23 46 C5 21 +T F2 02 00 00 FC DD 66 FD E5 21 1A 00 DD 4E 02 R 00 00 01 00 -T AA 01 00 00 29 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 05 00 -T B1 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 -T B7 01 00 00 00 00 00 00 21 10 00 39 F9 +T FD 02 00 00 DD 46 03 09 7E 23 66 6F 4E 23 46 +R 00 00 01 00 +T 08 03 00 00 C5 DD 6E F4 DD 66 F5 23 23 4E 23 +R 00 00 01 00 +T 13 03 00 00 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 07 07 00 +T 19 03 00 00 00 00 00 00 E5 2A 00 00 00 00 E5 +R 00 00 01 00 02 04 07 00 02 0A 0C 00 +T 20 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 04 00 02 0A 04 00 +T 26 03 00 00 00 00 00 00 21 12 00 39 F9 DD 5E R 00 00 01 00 02 04 01 00 -T BE 01 00 00 +T 2F 03 00 00 FC DD 56 FD 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0A 00 +T 36 03 00 00 00 00 00 00 CD 00 00 00 00 DD 5E +R 00 00 01 00 02 04 0A 00 02 09 01 00 +T 3D 03 00 00 FE DD 56 FF 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0A 00 +T 44 03 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 0A 00 02 09 01 00 +T 49 03 00 00 R 00 00 01 00 -T BE 01 00 00 21 1A 00 DD 4E 02 DD 46 03 09 56 +T 49 03 00 00 21 1A 00 DD 4E 02 DD 46 03 09 56 R 00 00 01 00 -T C9 01 00 00 23 66 6A 11 06 00 19 6E 26 00 29 +T 54 03 00 00 23 66 6A 11 06 00 19 6E 26 00 29 R 00 00 01 00 -T D4 01 00 00 DD 5E F4 DD 56 F5 19 11 6E 00 19 +T 5F 03 00 00 DD 5E F2 DD 56 F3 19 11 6E 00 19 R 00 00 01 00 -T DF 01 00 00 34 23 20 01 34 +T 6A 03 00 00 34 23 20 01 34 R 00 00 01 00 -T E4 01 00 00 +T 6F 03 00 00 R 00 00 01 00 -T E4 01 00 00 DD 6E 0C DD 66 0D E5 21 1A 00 09 +T 6F 03 00 00 DD 6E 0C DD 66 0D E5 21 1A 00 09 R 00 00 01 00 -T EF 01 00 00 46 23 66 68 23 23 4E 23 46 C5 21 +T 7A 03 00 00 46 23 66 68 23 23 4E 23 46 C5 21 R 00 00 01 00 -T FA 01 00 00 00 00 E5 01 00 00 C5 DD 5E F6 DD +T 85 03 00 00 00 00 E5 01 00 00 C5 DD 5E F4 DD R 00 00 01 00 -T 05 02 00 00 56 F7 21 42 00 DD 4E F6 DD 46 F7 +T 90 03 00 00 56 F5 21 42 00 DD 4E F4 DD 46 F5 R 00 00 01 00 -T 10 02 00 00 09 4E 23 46 23 7E 69 60 C1 CD +T 9B 03 00 00 09 4E 23 46 23 7E 69 60 C1 CD R 00 00 01 00 -T 1A 02 00 00 00 00 00 00 F1 F1 F1 +T A5 03 00 00 00 00 00 00 F1 F1 F1 R 00 00 01 00 02 04 01 00 -T 1F 02 00 00 +T AA 03 00 00 R 00 00 01 00 -T 1F 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 25 73 20 50 50 50 2F 25 73 20 25 -R 00 00 02 00 -T 0B 00 00 00 2D 38 73 3B 20 53 65 6E 64 20 77 -R 00 00 02 00 -T 16 00 00 00 69 74 68 20 62 6F 67 75 73 20 63 -R 00 00 02 00 -T 21 00 00 00 6F 64 65 3A 20 25 64 00 -R 00 00 02 00 -T 29 00 00 00 -R 00 00 02 00 -T 29 00 00 00 25 73 20 50 50 50 2F 25 73 20 25 -R 00 00 02 00 -T 34 00 00 00 2D 38 73 3B 20 53 65 6E 64 69 6E -R 00 00 02 00 -T 3F 00 00 00 67 20 25 73 2C 20 69 64 3A 20 25 -R 00 00 02 00 -T 4A 00 00 00 64 2C 20 6C 65 6E 3A 20 25 64 00 -R 00 00 02 00 +T AA 03 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 05 00 diff --git a/src/nos/lib/ppp_lib/fsm_sendreq.rel b/src/nos/lib/ppp_lib/fsm_sendreq.rel index db638cfa..0a48895a 100644 --- a/src/nos/lib/ppp_lib/fsm_sendreq.rel +++ b/src/nos/lib/ppp_lib/fsm_sendreq.rel @@ -1,72 +1,68 @@ XL4 -H 3 areas B global symbols +H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _fsm_timer Ref00000000 S _fsm_send Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___0557_1515_fsm_5fsendreq_28_29 Ref00000000 S .__.ABS. Def00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 8D flags 0 +A CODE size 91 flags 0 S _fsm_sendreq Def00000000 -A CSTR size E flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 3A -R 00 00 01 00 02 05 06 00 -T 06 00 00 00 00 00 00 00 E6 80 28 12 -R 00 00 01 00 02 04 09 00 +R 00 00 01 00 02 05 08 00 +T 06 00 00 00 00 00 00 00 E6 80 28 16 +R 00 00 01 00 02 04 0A 00 T 0C 00 00 00 R 00 00 01 00 -T 0C 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 13 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 07 00 02 0B 07 00 -T 19 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 1E 00 00 00 +T 0C 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 +T 12 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 07 00 +T 18 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 1D 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 22 00 00 00 R 00 00 01 00 -T 1E 00 00 00 DD 6E 02 DD 66 03 23 23 23 7E B7 +T 22 00 00 00 DD 6E 02 DD 66 03 23 23 23 7E B7 R 00 00 01 00 -T 29 00 00 00 20 05 +T 2D 00 00 00 20 05 R 00 00 01 00 -T 2B 00 00 00 +T 2F 00 00 00 R 00 00 01 00 -T 2B 00 00 00 21 FF FF 18 5A +T 2F 00 00 00 21 FF FF 18 5A R 00 00 01 00 -T 30 00 00 00 +T 34 00 00 00 R 00 00 01 00 -T 30 00 00 00 DD 6E 02 DD 66 03 23 23 23 35 DD +T 34 00 00 00 DD 6E 02 DD 66 03 23 23 23 35 DD R 00 00 01 00 -T 3B 00 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 +T 3F 00 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 01 00 -T 43 00 00 00 00 00 00 00 CD 00 00 00 00 DD 5E +T 47 00 00 00 00 00 00 00 CD 00 00 00 00 DD 5E R 00 00 01 00 02 04 01 00 02 09 00 00 -T 4A 00 00 00 02 DD 56 03 21 1A 00 DD 4E 02 DD +T 4E 00 00 00 02 DD 56 03 21 1A 00 DD 4E 02 DD R 00 00 01 00 -T 55 00 00 00 46 03 09 7E 23 66 6F 01 20 00 09 +T 59 00 00 00 46 03 09 7E 23 66 6F 01 20 00 09 R 00 00 01 00 -T 60 00 00 00 4E 23 46 23 7E 69 60 CD +T 64 00 00 00 4E 23 46 23 7E 69 60 CD R 00 00 01 00 -T 68 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 21 +T 6C 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 21 R 00 00 01 00 02 04 00 00 -T 71 00 00 00 00 00 39 E5 0E 00 C5 0E 01 DD 5E +T 75 00 00 00 00 00 39 E5 0E 00 C5 0E 01 DD 5E R 00 00 01 00 -T 7C 00 00 00 02 DD 56 03 3E 00 00 00 00 21 +T 80 00 00 00 02 DD 56 03 3E 00 00 00 00 21 R 00 00 01 00 2B 09 02 00 -T 83 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +T 87 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 02 00 02 09 00 00 -T 8A 00 00 00 +T 8E 00 00 00 R 00 00 01 00 -T 8A 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 66 73 6D 5F 73 65 6E 64 72 65 71 -R 00 00 02 00 -T 0B 00 00 00 28 29 00 -R 00 00 02 00 +T 8E 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/ppp_lib/fsm_sendtermack.rel b/src/nos/lib/ppp_lib/fsm_sendtermack.rel index dcf9421f..38b6c2ad 100644 --- a/src/nos/lib/ppp_lib/fsm_sendtermack.rel +++ b/src/nos/lib/ppp_lib/fsm_sendtermack.rel @@ -1,45 +1,41 @@ XL4 -H 3 areas A global symbols +H 2 areas B global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _fsm_send Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S _PPPiface Ref00000000 -S _trace_log Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___0558_5109_fsm_5fsendtermack_2 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 39 flags 0 +A CODE size 3D flags 0 S _fsm_sendtermack Def00000000 -A CSTR size 12 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 3A 00 00 00 00 E6 -R 00 00 01 00 02 05 04 00 02 0A 08 00 -T 07 00 00 00 80 28 12 +R 00 00 01 00 02 05 05 00 02 0A 09 00 +T 07 00 00 00 80 28 16 R 00 00 01 00 T 0A 00 00 00 R 00 00 01 00 -T 0A 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 11 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 06 00 02 0B 06 00 -T 17 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 1C 00 00 00 +T 0A 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 +T 10 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 06 00 +T 16 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 1B 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 20 00 00 00 R 00 00 01 00 -T 1C 00 00 00 21 00 00 E5 DD 6E 04 E5 0E 06 DD +T 20 00 00 00 21 00 00 E5 DD 6E 04 E5 0E 06 DD R 00 00 01 00 -T 27 00 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 +T 2B 00 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 01 00 -T 2F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +T 33 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 01 00 02 09 00 00 -T 36 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 66 73 6D 5F 73 65 6E 64 74 65 72 -R 00 00 02 00 -T 0B 00 00 00 6D 61 63 6B 28 29 00 -R 00 00 02 00 +T 3A 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/ppp_lib/fsm_sendtermreq.rel b/src/nos/lib/ppp_lib/fsm_sendtermreq.rel index 4d127685..f12311b5 100644 --- a/src/nos/lib/ppp_lib/fsm_sendtermreq.rel +++ b/src/nos/lib/ppp_lib/fsm_sendtermreq.rel @@ -1,64 +1,60 @@ XL4 -H 3 areas B global symbols +H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _fsm_timer Ref00000000 +S ___0559_45f0_fsm_5fsendtermreq_2 Ref00000000 S _fsm_send Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S _PPPiface Ref00000000 -S _trace_log Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 62 flags 0 +A CODE size 66 flags 0 S _fsm_sendtermreq Def00000000 -A CSTR size 12 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 3A 00 00 00 00 E6 -R 00 00 01 00 02 05 05 00 02 0A 09 00 -T 07 00 00 00 80 28 12 +R 00 00 01 00 02 05 07 00 02 0A 0A 00 +T 07 00 00 00 80 28 16 R 00 00 01 00 T 0A 00 00 00 R 00 00 01 00 -T 0A 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T 11 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 07 00 02 0B 07 00 -T 17 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 1C 00 00 00 +T 0A 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 +T 10 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 08 00 +T 16 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 1B 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 20 00 00 00 R 00 00 01 00 -T 1C 00 00 00 DD 6E 02 DD 66 03 23 23 23 7E B7 +T 20 00 00 00 DD 6E 02 DD 66 03 23 23 23 7E B7 R 00 00 01 00 -T 27 00 00 00 20 05 +T 2B 00 00 00 20 05 R 00 00 01 00 -T 29 00 00 00 +T 2D 00 00 00 R 00 00 01 00 -T 29 00 00 00 21 FF FF 18 31 +T 2D 00 00 00 21 FF FF 18 31 R 00 00 01 00 -T 2E 00 00 00 +T 32 00 00 00 R 00 00 01 00 -T 2E 00 00 00 DD 6E 02 DD 66 03 23 23 23 35 DD +T 32 00 00 00 DD 6E 02 DD 66 03 23 23 23 35 DD R 00 00 01 00 -T 39 00 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 +T 3D 00 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 01 00 -T 41 00 00 00 00 00 00 00 CD 00 00 00 00 21 +T 45 00 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 01 00 02 09 00 00 -T 47 00 00 00 00 00 E5 0E 00 C5 0E 05 DD 5E 02 +T 4B 00 00 00 00 00 E5 0E 00 C5 0E 05 DD 5E 02 R 00 00 01 00 -T 52 00 00 00 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 02 00 -T 58 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 02 00 02 09 00 00 -T 5F 00 00 00 +T 56 00 00 00 DD 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 03 00 +T 5C 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 03 00 02 09 00 00 +T 63 00 00 00 R 00 00 01 00 -T 5F 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 66 73 6D 5F 73 65 6E 64 74 65 72 -R 00 00 02 00 -T 0B 00 00 00 6D 72 65 71 28 29 00 -R 00 00 02 00 +T 63 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 05 00 diff --git a/src/nos/lib/ppp_lib/fsm_start.rel b/src/nos/lib/ppp_lib/fsm_start.rel index 2cba1de6..d4994716 100644 --- a/src/nos/lib/ppp_lib/fsm_start.rel +++ b/src/nos/lib/ppp_lib/fsm_start.rel @@ -1,28 +1,28 @@ XL4 -H 3 areas B global symbols +H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S __fsm_log Ref00000000 S _fsm_reset Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _fsm_sendreq Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _fsm_log Ref00000000 S _PPPiface Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___040c_d9c9_Start Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size C0 flags 0 +A CODE size C2 flags 0 S _fsm_start Def00000000 -A CSTR size 6 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 21 1C 00 19 7E 23 -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 06 00 T 09 00 00 00 B6 20 03 R 00 00 01 00 T 0C 00 00 00 R 00 00 01 00 -T 0C 00 00 00 C3 BD 00 00 00 +T 0C 00 00 00 C3 BF 00 00 00 R 00 00 01 00 00 05 01 00 T 0F 00 00 00 R 00 00 01 00 @@ -31,66 +31,64 @@ R 00 00 01 00 T 1A 00 00 00 23 66 6A 11 05 00 19 5E 16 00 ED R 00 00 01 00 T 25 00 00 00 53 00 00 00 00 21 08 00 09 7E 23 -R 00 00 01 00 02 05 09 00 +R 00 00 01 00 02 05 0A 00 T 2E 00 00 00 66 6F 56 23 66 6A 22 00 00 00 00 R 00 00 01 00 02 0B 07 00 -T 37 00 00 00 01 00 00 00 00 DD 5E 02 DD 56 03 -R 00 00 01 00 00 05 02 00 -T 40 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 -T 46 00 00 00 00 00 00 00 DD 6E 02 DD 66 03 23 -R 00 00 01 00 02 04 00 00 -T 4F 00 00 00 23 7E E6 C0 20 02 -R 00 00 01 00 -T 55 00 00 00 +T 37 00 00 00 1E 00 00 00 00 D5 21 00 00 00 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 +T 3D 00 00 00 E5 59 50 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 01 00 +T 43 00 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 01 00 02 09 00 00 +T 4A 00 00 00 DD 6E 02 DD 66 03 23 23 7E E6 C0 R 00 00 01 00 -T 55 00 00 00 18 66 +T 55 00 00 00 20 02 R 00 00 01 00 T 57 00 00 00 R 00 00 01 00 -T 57 00 00 00 DD 6E 02 DD 66 03 7E FE 02 38 04 +T 57 00 00 00 18 66 R 00 00 01 00 -T 62 00 00 00 FE 06 20 55 +T 59 00 00 00 R 00 00 01 00 -T 66 00 00 00 +T 59 00 00 00 DD 6E 02 DD 66 03 7E FE 02 38 04 R 00 00 01 00 -T 66 00 00 00 DD 5E 02 DD 56 03 21 1A 00 DD 4E +T 64 00 00 00 FE 06 20 55 R 00 00 01 00 -T 71 00 00 00 02 DD 46 03 09 7E 23 66 6F 01 +T 68 00 00 00 R 00 00 01 00 -T 7B 00 00 00 14 00 09 4E 23 46 23 7E 69 60 CD +T 68 00 00 00 DD 5E 02 DD 56 03 21 1A 00 DD 4E R 00 00 01 00 -T 86 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E -R 00 00 01 00 02 04 00 00 -T 8F 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 94 00 00 00 00 00 00 00 DD 6E 02 DD 66 03 23 -R 00 00 01 00 02 04 00 00 -T 9D 00 00 00 23 7E E6 80 28 16 +T 73 00 00 00 02 DD 46 03 09 7E 23 66 6F 01 R 00 00 01 00 -T A3 00 00 00 +T 7D 00 00 00 14 00 09 4E 23 46 23 7E 69 60 CD R 00 00 01 00 -T A3 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 03 00 -T AB 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 03 00 02 0A 00 00 -T B2 00 00 00 6E 02 DD 66 03 36 02 +T 88 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E +R 00 00 01 00 02 04 00 00 +T 91 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 96 00 00 00 00 00 00 00 DD 6E 02 DD 66 03 23 +R 00 00 01 00 02 04 00 00 +T 9F 00 00 00 23 7E E6 80 28 16 R 00 00 01 00 -T B9 00 00 00 +T A5 00 00 00 R 00 00 01 00 -T B9 00 00 00 18 02 +T A5 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 04 00 +T AD 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 04 00 02 0A 00 00 +T B4 00 00 00 6E 02 DD 66 03 36 02 R 00 00 01 00 T BB 00 00 00 R 00 00 01 00 -T BB 00 00 00 18 00 +T BB 00 00 00 18 02 R 00 00 01 00 T BD 00 00 00 R 00 00 01 00 -T BD 00 00 00 +T BD 00 00 00 18 00 R 00 00 01 00 -T BD 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 53 74 61 72 74 00 -R 00 00 02 00 +T BF 00 00 00 +R 00 00 01 00 +T BF 00 00 00 +R 00 00 01 00 +T BF 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/ppp_lib/fsm_timeout.rel b/src/nos/lib/ppp_lib/fsm_timeout.rel index 0fa69fd4..ee872232 100644 --- a/src/nos/lib/ppp_lib/fsm_timeout.rel +++ b/src/nos/lib/ppp_lib/fsm_timeout.rel @@ -1,142 +1,130 @@ XL4 -H 3 areas D global symbols +H 2 areas 10 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___042d_b7ab_Terminate_20retry_2 Ref00000000 +S ___03e8_8d50_Request_20retry_20e Ref00000000 +S __fsm_log Ref00000000 S _fsm_reset Ref00000000 S _fsm_sendtermreq Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _fsm_sendreq Ref00000000 S .__.ABS. Def00000000 -S _fsm_log Ref00000000 S _PPPiface Ref00000000 +S ___0435_12d5_Timeout Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?C_S_SWITCH_L06 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 112 flags 0 +A CODE size 120 flags 0 S _fsm_timeout Def00000000 -A CSTR size 38 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 0B 00 T 09 00 00 00 66 03 DD 75 FE DD 74 FF 01 08 00 R 00 00 01 00 T 14 00 00 00 09 46 23 66 68 01 05 00 09 4E 06 R 00 00 01 00 T 1F 00 00 00 00 ED 43 00 00 00 00 21 08 00 DD -R 00 00 01 00 02 07 0B 00 +R 00 00 01 00 02 07 0E 00 T 28 00 00 00 4E FE DD 46 FF 09 7E 23 66 6F 56 R 00 00 01 00 -T 33 00 00 00 23 66 6A 22 00 00 00 00 01 -R 00 00 01 00 02 08 07 00 -T 3A 00 00 00 00 00 00 00 DD 5E FE DD 56 FF 3E -R 00 00 01 00 00 04 02 00 -T 43 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 -T 48 00 00 00 00 00 00 00 DD 6E FE DD 66 FF 5E -R 00 00 01 00 02 04 00 00 -T 51 00 00 00 CD 00 00 00 00 00 07 00 -R 00 00 01 00 02 05 09 00 -T 57 00 00 00 0F 01 00 00 0D 01 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 5B 00 00 00 0D 01 00 00 67 00 00 00 +T 33 00 00 00 23 66 6A 22 00 00 00 00 1E +R 00 00 01 00 02 08 09 00 +T 3A 00 00 00 00 00 00 00 D5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 +T 40 00 00 00 59 50 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 03 00 +T 45 00 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 03 00 02 09 00 00 +T 4C 00 00 00 DD 6E FE DD 66 FF 5E CD +R 00 00 01 00 +T 54 00 00 00 00 00 00 00 00 07 00 1D 01 00 00 +R 00 00 01 00 02 04 0C 00 00 0B 01 00 +T 5B 00 00 00 1B 01 00 00 1B 01 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 5F 00 00 00 67 00 00 00 67 00 00 00 +T 5F 00 00 00 69 00 00 00 69 00 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 63 00 00 00 0D 01 00 00 AD 00 00 00 +T 63 00 00 00 69 00 00 00 1B 01 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 67 00 00 00 +T 67 00 00 00 B5 00 00 00 +R 00 00 01 00 00 04 01 00 +T 69 00 00 00 R 00 00 01 00 -T 67 00 00 00 DD 6E FE DD 66 FF 23 23 23 7E B7 +T 69 00 00 00 DD 6E FE DD 66 FF 23 23 23 7E B7 R 00 00 01 00 -T 72 00 00 00 28 18 +T 74 00 00 00 28 18 R 00 00 01 00 -T 74 00 00 00 +T 76 00 00 00 R 00 00 01 00 -T 74 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 -T 7C 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 04 00 02 0A 00 00 -T 83 00 00 00 6E FE DD 66 FF 36 02 18 1F +T 76 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +R 00 00 01 00 2B 0B 07 00 +T 7E 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 07 00 02 0A 00 00 +T 85 00 00 00 6E FE DD 66 FF 36 02 18 25 R 00 00 01 00 -T 8C 00 00 00 +T 8E 00 00 00 R 00 00 01 00 -T 8C 00 00 00 01 08 00 00 00 DD 5E FE DD 56 FF -R 00 00 01 00 00 05 02 00 -T 95 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 -T 9B 00 00 00 00 00 00 00 DD 5E FE DD 56 FF 3E -R 00 00 01 00 02 04 00 00 -T A4 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T A9 00 00 00 00 00 00 00 +T 8E 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 +T 94 00 00 00 E5 DD 5E FE DD 56 FF 3E +R 00 00 01 00 +T 9C 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T A1 00 00 00 00 00 00 00 E1 E1 DD 5E FE DD 56 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 +T AA 00 00 00 FF 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 04 00 02 0B 04 00 +T B0 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 00 00 +T B3 00 00 00 +R 00 00 01 00 +T B3 00 00 00 18 68 R 00 00 01 00 -T AB 00 00 00 18 62 +T B5 00 00 00 R 00 00 01 00 -T AD 00 00 00 +T B5 00 00 00 DD 6E FE DD 66 FF 23 23 23 7E B7 R 00 00 01 00 -T AD 00 00 00 DD 6E FE DD 66 FF 23 23 23 7E B7 +T C0 00 00 00 28 10 R 00 00 01 00 -T B8 00 00 00 28 10 +T C2 00 00 00 R 00 00 01 00 -T BA 00 00 00 +T C2 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +R 00 00 01 00 2B 0B 05 00 +T CA 00 00 00 21 00 00 00 00 CD 00 00 00 00 18 +R 00 00 01 00 02 05 05 00 02 0A 00 00 +T D1 00 00 00 47 R 00 00 01 00 -T BA 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 -T C2 00 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 02 00 02 0A 00 00 -T C9 00 00 00 41 +T D2 00 00 00 R 00 00 01 00 -T CA 00 00 00 +T D2 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 +T D8 00 00 00 E5 DD 5E FE DD 56 FF 3E R 00 00 01 00 -T CA 00 00 00 01 1F 00 00 00 DD 5E FE DD 56 FF -R 00 00 01 00 00 05 02 00 -T D3 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 -T D9 00 00 00 00 00 00 00 DD 5E FE DD 56 FF 21 +T E0 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T E5 00 00 00 00 00 00 00 E1 E1 DD 5E FE DD 56 R 00 00 01 00 02 04 00 00 -T E2 00 00 00 1A 00 DD 4E FE DD 46 FF 09 7E 23 +T EE 00 00 00 FF 21 1A 00 DD 4E FE DD 46 FF 09 R 00 00 01 00 -T ED 00 00 00 66 6F 01 1D 00 09 4E 23 46 23 7E +T F9 00 00 00 7E 23 66 6F 01 1D 00 09 4E 23 46 R 00 00 01 00 -T F8 00 00 00 69 60 CD 00 00 00 00 DD 5E FE DD -R 00 00 01 00 02 07 00 00 -T 01 01 00 00 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 01 00 -T 06 01 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 00 00 -T 0B 01 00 00 +T 04 01 00 00 23 7E 69 60 CD 00 00 00 00 DD 5E +R 00 00 01 00 02 09 00 00 +T 0D 01 00 00 FE DD 56 FF 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 04 00 +T 14 01 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 +T 19 01 00 00 R 00 00 01 00 -T 0B 01 00 00 18 02 +T 19 01 00 00 18 02 R 00 00 01 00 -T 0D 01 00 00 +T 1B 01 00 00 R 00 00 01 00 -T 0D 01 00 00 18 00 +T 1B 01 00 00 18 00 R 00 00 01 00 -T 0F 01 00 00 +T 1D 01 00 00 R 00 00 01 00 -T 0F 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 54 69 6D 65 6F 75 74 00 -R 00 00 02 00 -T 08 00 00 00 -R 00 00 02 00 -T 08 00 00 00 52 65 71 75 65 73 74 20 72 65 74 -R 00 00 02 00 -T 13 00 00 00 72 79 20 65 78 63 65 65 64 65 64 -R 00 00 02 00 -T 1E 00 00 00 00 -R 00 00 02 00 -T 1F 00 00 00 -R 00 00 02 00 -T 1F 00 00 00 54 65 72 6D 69 6E 61 74 65 20 72 -R 00 00 02 00 -T 2A 00 00 00 65 74 72 79 20 65 78 63 65 65 64 -R 00 00 02 00 -T 35 00 00 00 65 64 00 -R 00 00 02 00 +T 1D 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 06 00 diff --git a/src/nos/lib/ppp_lib/fsm_timer.rel b/src/nos/lib/ppp_lib/fsm_timer.rel index 3bbb1314..64b83e83 100644 --- a/src/nos/lib/ppp_lib/fsm_timer.rel +++ b/src/nos/lib/ppp_lib/fsm_timer.rel @@ -1,43 +1,39 @@ XL4 -H 3 areas A global symbols +H 2 areas B global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S _PPPiface Ref00000000 S _start_timer Ref00000000 -S _trace_log Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___055a_7049_fsm_5ftimer_28_29 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 32 flags 0 +A CODE size 36 flags 0 S _fsm_timer Def00000000 -A CSTR size C flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 3A 00 00 00 00 E6 -R 00 00 01 00 02 05 03 00 02 0A 08 00 -T 07 00 00 00 80 28 12 +R 00 00 01 00 02 05 04 00 02 0A 09 00 +T 07 00 00 00 80 28 16 R 00 00 01 00 T 0A 00 00 00 R 00 00 01 00 -T 0A 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 04 00 -T 11 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 06 00 02 0B 06 00 -T 17 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 1C 00 00 00 +T 0A 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 +T 10 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 05 00 +T 16 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 01 00 02 09 01 00 +T 1B 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 20 00 00 00 R 00 00 01 00 -T 1C 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 EB +T 20 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 EB R 00 00 01 00 -T 27 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 05 00 02 0A 05 00 -T 2D 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 09 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 66 73 6D 5F 74 69 6D 65 72 28 29 -R 00 00 02 00 -T 0B 00 00 00 00 -R 00 00 02 00 +T 2B 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 06 00 02 0A 06 00 +T 31 00 00 00 00 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 04 00 00 02 09 02 00 diff --git a/src/nos/lib/ppp_lib/ipcp_ack.rel b/src/nos/lib/ppp_lib/ipcp_ack.rel index b399ffd3..77b7cef7 100644 --- a/src/nos/lib/ppp_lib/ipcp_ack.rel +++ b/src/nos/lib/ppp_lib/ipcp_ack.rel @@ -1,208 +1,190 @@ XL4 -H 3 areas D global symbols +H 2 areas 12 global symbols +S ___0583_94f9_ipcp_5fack_28_29 Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___02de_9f0e_IPCP_20ACK_3a_20buf Ref00000000 S _len_p Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___02e0_b0d9_IPCP_20ACK_3a_20val Ref00000000 S .__.ABS. Def00000000 S _PPPiface Ref00000000 +S ___02e1_3a6e_IPCP_20ACK_3a_20wro Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 +S ___02df_7bbb_IPCP_20ACK_3a_20dat Ref00000000 S _ipcp_makereq Ref00000000 S _free_p Ref00000000 S _pull8 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 171 flags 0 +A CODE size 185 flags 0 S _ipcp_ack Def00000000 -A CSTR size 67 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F8 FF AF DD 77 FA -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 0A 00 T 09 00 00 00 DD 77 FB 3A 00 00 00 00 E6 80 28 -R 00 00 01 00 02 08 0B 00 -T 12 00 00 00 12 +R 00 00 01 00 02 08 10 00 +T 12 00 00 00 16 R 00 00 01 00 T 13 00 00 00 R 00 00 01 00 -T 13 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 04 00 -T 1A 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 06 00 02 0B 06 00 -T 20 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 DD 6E 02 DD 66 03 23 E5 DD 6E 04 -R 00 00 01 00 -T 30 00 00 00 DD 66 05 23 7E E1 BE 28 2D -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0B 00 -T 40 00 00 00 -R 00 00 01 00 -T 40 00 00 00 21 0B 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 04 00 -T 47 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 06 00 02 0B 06 00 -T 4D 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 08 00 -T 5A 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 08 00 02 0A 00 00 -T 61 00 00 00 FF FF C3 6E 01 00 00 +T 13 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 00 00 02 0B 00 00 +T 19 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 08 00 +T 1F 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 24 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 01 00 +T 29 00 00 00 +R 00 00 01 00 +T 29 00 00 00 DD 6E 02 DD 66 03 23 E5 DD 6E 04 +R 00 00 01 00 +T 34 00 00 00 DD 66 05 23 7E E1 BE 28 31 +R 00 00 01 00 +T 3D 00 00 00 +R 00 00 01 00 +T 3D 00 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 10 00 +T 44 00 00 00 +R 00 00 01 00 +T 44 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 +T 4A 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 08 00 +T 50 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 55 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 01 00 +T 5A 00 00 00 +R 00 00 01 00 +T 5A 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0D 00 +T 62 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 0D 00 02 0A 01 00 +T 69 00 00 00 FF FF C3 82 01 00 00 R 00 00 01 00 00 07 01 00 -T 66 00 00 00 +T 6E 00 00 00 R 00 00 01 00 -T 66 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T 6E 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 07 00 02 0A 00 00 -T 75 00 00 00 75 F8 DD 74 F9 DD 4E 04 DD 46 05 +T 6E 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0C 00 +T 76 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 0C 00 02 0A 01 00 +T 7D 00 00 00 75 F8 DD 74 F9 DD 4E 04 DD 46 05 R 00 00 01 00 -T 80 00 00 00 03 03 0A 6F 03 0A 67 E5 DD 5E F8 +T 88 00 00 00 03 03 0A 6F 03 0A 67 E5 DD 5E F8 R 00 00 01 00 -T 8B 00 00 00 DD 56 F9 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 01 00 -T 91 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 01 00 02 09 00 00 -T 98 00 00 00 E1 A7 ED 42 28 23 +T 93 00 00 00 DD 56 F9 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 03 00 +T 99 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 +R 00 00 01 00 02 04 03 00 02 09 01 00 +T A0 00 00 00 E1 A7 ED 42 28 27 R 00 00 01 00 -T 9E 00 00 00 +T A6 00 00 00 R 00 00 01 00 -T 9E 00 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0B 00 -T A5 00 00 00 +T A6 00 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 10 00 +T AD 00 00 00 R 00 00 01 00 -T A5 00 00 00 21 1E 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 04 00 -T AC 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 06 00 02 0B 06 00 -T B2 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T B7 00 00 00 +T AD 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 +T B3 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 08 00 +T B9 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T BE 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 01 00 +T C3 00 00 00 R 00 00 01 00 -T B7 00 00 00 DD 36 FA 01 DD 36 FB 00 18 68 +T C3 00 00 00 DD 36 FA 01 DD 36 FB 00 18 6C R 00 00 01 00 -T C1 00 00 00 +T CD 00 00 00 R 00 00 01 00 -T C1 00 00 00 +T CD 00 00 00 R 00 00 01 00 -T C1 00 00 00 21 00 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 09 00 -T C9 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 09 00 02 0A 00 00 -T D0 00 00 00 75 FC DD 74 FD 7D A4 3C 28 4F +T CD 00 00 00 21 00 00 39 5D 54 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0E 00 +T D5 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 0E 00 02 0A 01 00 +T DC 00 00 00 75 FC DD 74 FD 7D A4 3C 28 53 R 00 00 01 00 -T DA 00 00 00 +T E6 00 00 00 R 00 00 01 00 -T DA 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 09 00 -T E2 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 09 00 02 0A 00 00 -T E9 00 00 00 75 FE DD 74 FF 7D A4 3C 28 11 DD +T E6 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0E 00 +T EE 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 0E 00 02 0A 01 00 +T F5 00 00 00 75 FE DD 74 FF 7D A4 3C 28 11 DD R 00 00 01 00 -T F4 00 00 00 6E FC DD 66 FD DD 4E FE DD 46 FF +T 00 01 00 00 6E FC DD 66 FD DD 4E FE DD 46 FF R 00 00 01 00 -T FF 00 00 00 A7 ED 42 28 23 +T 0B 01 00 00 A7 ED 42 28 27 R 00 00 01 00 -T 04 01 00 00 +T 10 01 00 00 R 00 00 01 00 -T 04 01 00 00 +T 10 01 00 00 R 00 00 01 00 -T 04 01 00 00 +T 10 01 00 00 R 00 00 01 00 -T 04 01 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0B 00 -T 0B 01 00 00 +T 10 01 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 10 00 +T 17 01 00 00 R 00 00 01 00 -T 0B 01 00 00 21 3F 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 04 00 -T 12 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 06 00 02 0B 06 00 -T 18 01 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 1D 01 00 00 +T 17 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 +T 1D 01 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 08 00 +T 23 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 28 01 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 01 00 +T 2D 01 00 00 R 00 00 01 00 -T 1D 01 00 00 DD 36 FA 01 DD 36 FB 00 18 02 +T 2D 01 00 00 DD 36 FA 01 DD 36 FB 00 18 02 R 00 00 01 00 -T 27 01 00 00 +T 37 01 00 00 R 00 00 01 00 -T 27 01 00 00 18 98 +T 37 01 00 00 18 94 R 00 00 01 00 -T 29 01 00 00 +T 39 01 00 00 R 00 00 01 00 -T 29 01 00 00 +T 39 01 00 00 R 00 00 01 00 -T 29 01 00 00 21 00 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 08 00 -T 31 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 08 00 02 0A 00 00 -T 38 01 00 00 5E 0A DD 56 0B 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 -T 40 01 00 00 00 00 00 00 CD 00 00 00 00 DD 7E -R 00 00 01 00 02 04 08 00 02 09 00 00 -T 47 01 00 00 FA DD B6 FB 28 05 +T 39 01 00 00 21 00 00 39 5D 54 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0D 00 +T 41 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 0D 00 02 0A 01 00 +T 48 01 00 00 5E 0A DD 56 0B 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0D 00 +T 50 01 00 00 00 00 00 00 CD 00 00 00 00 DD 7E +R 00 00 01 00 02 04 0D 00 02 09 01 00 +T 57 01 00 00 FA DD B6 FB 28 05 R 00 00 01 00 -T 4D 01 00 00 +T 5D 01 00 00 R 00 00 01 00 -T 4D 01 00 00 21 FF FF 18 1C +T 5D 01 00 00 21 FF FF 18 20 R 00 00 01 00 -T 52 01 00 00 +T 62 01 00 00 R 00 00 01 00 -T 52 01 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0B 00 -T 59 01 00 00 +T 62 01 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 10 00 +T 69 01 00 00 R 00 00 01 00 -T 59 01 00 00 21 57 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 04 00 -T 60 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 06 00 02 0B 06 00 -T 66 01 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 6B 01 00 00 +T 69 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 +T 6F 01 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 08 00 +T 75 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 7A 01 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 01 00 +T 7F 01 00 00 R 00 00 01 00 -T 6B 01 00 00 21 00 00 +T 7F 01 00 00 21 00 00 R 00 00 01 00 -T 6E 01 00 00 +T 82 01 00 00 R 00 00 01 00 -T 6E 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 69 70 63 70 5F 61 63 6B 28 29 00 -R 00 00 02 00 -T 0B 00 00 00 -R 00 00 02 00 -T 0B 00 00 00 49 50 43 50 20 41 43 4B 3A 20 77 -R 00 00 02 00 -T 16 00 00 00 72 6F 6E 67 20 49 44 00 -R 00 00 02 00 -T 1E 00 00 00 -R 00 00 02 00 -T 1E 00 00 00 49 50 43 50 20 41 43 4B 3A 20 62 -R 00 00 02 00 -T 29 00 00 00 75 66 66 65 72 20 6C 65 6E 67 74 -R 00 00 02 00 -T 34 00 00 00 68 20 6D 69 73 6D 61 74 63 68 00 -R 00 00 02 00 -T 3F 00 00 00 -R 00 00 02 00 -T 3F 00 00 00 49 50 43 50 20 41 43 4B 3A 20 64 -R 00 00 02 00 -T 4A 00 00 00 61 74 61 20 6D 69 73 6D 61 74 63 -R 00 00 02 00 -T 55 00 00 00 68 00 -R 00 00 02 00 -T 57 00 00 00 -R 00 00 02 00 -T 57 00 00 00 49 50 43 50 20 41 43 4B 3A 20 76 -R 00 00 02 00 -T 62 00 00 00 61 6C 69 64 00 -R 00 00 02 00 +T 82 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 05 00 diff --git a/src/nos/lib/ppp_lib/ipcp_check.rel b/src/nos/lib/ppp_lib/ipcp_check.rel index 0530478d..af26e141 100644 --- a/src/nos/lib/ppp_lib/ipcp_check.rel +++ b/src/nos/lib/ppp_lib/ipcp_check.rel @@ -1,57 +1,60 @@ XL4 -H 3 areas F global symbols +H 2 areas 13 global symbols S _inet_ntoa Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0062_19af__20_20_20_20checkin Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S _pull32 Ref00000000 +S ___0061_49a9__20_20_20_20checkin Ref00000000 S _pull16 Ref00000000 S ?S_LSH_L02 Ref00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S ?SS_CMP_L02 Ref00000000 S _pull8 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___0074_6fd3__20_20_20_20with_20 Ref00000000 +S ___0063_edc5__20_20_20_20checkin Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 555 flags 0 +A CODE size 565 flags 0 S _ipcp_check Def00000000 -A CSTR size 97 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF DD 6E 0C DD -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 0B 00 T 09 00 00 00 66 0D 23 5E 16 00 1B 1B DD 73 FA R 00 00 01 00 T 14 00 00 00 DD 72 FB DD 36 FC 02 DD 36 FD 00 R 00 00 01 00 T 1F 00 00 00 DD 6E 0C DD 66 0D 7E FE 01 C2 R 00 00 01 00 -T 29 00 00 00 E3 02 00 00 +T 29 00 00 00 EB 02 00 00 R 00 00 01 00 00 04 01 00 T 2B 00 00 00 R 00 00 01 00 T 2B 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 +R 00 00 01 00 2B 0B 06 00 T 33 00 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 04 00 02 0A 01 00 +R 00 00 01 00 02 05 06 00 02 0A 01 00 T 3A 00 00 00 21 13 00 DD 5E 0A DD 56 0B 19 D1 R 00 00 01 00 T 45 00 00 00 73 23 72 23 71 23 70 DD 5E 02 DD R 00 00 01 00 T 50 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 04 00 +R 00 00 01 00 2B 07 06 00 T 55 00 00 00 00 00 00 00 CD 00 00 00 00 E5 21 -R 00 00 01 00 02 04 04 00 02 09 01 00 +R 00 00 01 00 02 04 06 00 02 09 01 00 T 5C 00 00 00 17 00 DD 5E 0A DD 56 0B 19 D1 73 R 00 00 01 00 T 67 00 00 00 23 72 23 71 23 70 21 00 00 39 7E R 00 00 01 00 T 72 00 00 00 D6 08 77 23 7E DE 00 77 3A R 00 00 01 00 -T 7B 00 00 00 00 00 00 00 E6 08 28 5A -R 00 00 01 00 02 04 0D 00 +T 7B 00 00 00 00 00 00 00 E6 08 28 62 +R 00 00 01 00 02 04 11 00 T 81 00 00 00 R 00 00 01 00 T 81 00 00 00 21 13 00 DD 4E 0A DD 46 0B 09 5E @@ -60,457 +63,423 @@ T 8C 00 00 00 23 56 23 4E 23 46 3E 00 00 00 00 R 00 00 01 00 2B 0B 00 00 T 94 00 00 00 21 00 00 00 00 CD 00 00 00 00 E5 R 00 00 01 00 02 05 00 00 02 0A 01 00 -T 9B 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 07 00 -T A2 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T A8 00 00 00 CD 00 00 00 00 E1 E1 E1 21 17 00 -R 00 00 01 00 02 05 01 00 -T B1 00 00 00 DD 4E 0A DD 46 0B 09 5E 23 56 23 -R 00 00 01 00 -T BC 00 00 00 4E 23 46 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 00 00 -T C2 00 00 00 00 00 00 00 CD 00 00 00 00 E5 21 -R 00 00 01 00 02 04 00 00 02 09 01 00 -T C9 00 00 00 23 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 07 00 -T D0 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 09 00 02 0A 09 00 -T D6 00 00 00 00 00 00 00 E1 E1 E1 +T 9B 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 10 00 02 0B 10 00 +T A1 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0A 00 +T A7 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T AC 00 00 00 00 00 00 00 E1 E1 E1 E1 21 17 00 R 00 00 01 00 02 04 01 00 -T DB 00 00 00 +T B5 00 00 00 DD 4E 0A DD 46 0B 09 5E 23 56 23 R 00 00 01 00 -T DB 00 00 00 DD 7E 0E DD B6 0F 20 7D +T C0 00 00 00 4E 23 46 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 00 00 +T C6 00 00 00 00 00 00 00 CD 00 00 00 00 E5 0E +R 00 00 01 00 02 04 00 00 02 09 01 00 +T CD 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 02 00 02 0A 02 00 +T D3 00 00 00 2A 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 0A 00 2B 0B 03 00 +T D9 00 00 00 21 00 00 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 05 03 00 02 0A 01 00 +T E0 00 00 00 E1 E1 E1 R 00 00 01 00 T E3 00 00 00 R 00 00 01 00 -T E3 00 00 00 21 24 00 DD 4E 04 DD 46 05 09 7E +T E3 00 00 00 DD 7E 0E DD B6 0F 20 7D R 00 00 01 00 -T EE 00 00 00 23 B6 23 B6 23 B6 28 2A +T EB 00 00 00 R 00 00 01 00 -T F6 00 00 00 +T EB 00 00 00 21 24 00 DD 4E 04 DD 46 05 09 7E R 00 00 01 00 -T F6 00 00 00 21 24 00 DD 4E 04 DD 46 05 09 4E +T F6 00 00 00 23 B6 23 B6 23 B6 28 2A R 00 00 01 00 -T 01 01 00 00 23 46 23 5E 23 56 69 60 E5 21 +T FE 00 00 00 R 00 00 01 00 -T 0B 01 00 00 17 00 DD 4E 04 DD 46 05 09 C1 D5 +T FE 00 00 00 21 24 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 -T 16 01 00 00 59 50 C1 73 23 72 23 71 23 70 +T 09 01 00 00 23 46 23 5E 23 56 69 60 E5 21 R 00 00 01 00 -T 20 01 00 00 +T 13 01 00 00 17 00 DD 4E 04 DD 46 05 09 C1 D5 R 00 00 01 00 -T 20 01 00 00 21 04 00 DD 4E 04 DD 46 05 09 7E +T 1E 01 00 00 59 50 C1 73 23 72 23 71 23 70 R 00 00 01 00 -T 2B 01 00 00 23 B6 23 B6 23 B6 28 2A +T 28 01 00 00 R 00 00 01 00 -T 33 01 00 00 +T 28 01 00 00 21 04 00 DD 4E 04 DD 46 05 09 7E R 00 00 01 00 -T 33 01 00 00 21 04 00 DD 4E 04 DD 46 05 09 4E +T 33 01 00 00 23 B6 23 B6 23 B6 28 2A R 00 00 01 00 -T 3E 01 00 00 23 46 23 5E 23 56 69 60 E5 21 +T 3B 01 00 00 R 00 00 01 00 -T 48 01 00 00 13 00 DD 4E 04 DD 46 05 09 C1 D5 +T 3B 01 00 00 21 04 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 -T 53 01 00 00 59 50 C1 73 23 72 23 71 23 70 +T 46 01 00 00 23 46 23 5E 23 56 69 60 E5 21 R 00 00 01 00 -T 5D 01 00 00 +T 50 01 00 00 13 00 DD 4E 04 DD 46 05 09 C1 D5 R 00 00 01 00 -T 5D 01 00 00 C3 CA 04 00 00 -R 00 00 01 00 00 05 01 00 -T 60 01 00 00 +T 5B 01 00 00 59 50 C1 73 23 72 23 71 23 70 R 00 00 01 00 -T 60 01 00 00 21 24 00 DD 4E 04 DD 46 05 09 5E +T 65 01 00 00 R 00 00 01 00 -T 6B 01 00 00 23 56 23 4E 23 46 C5 D5 21 33 00 +T 65 01 00 00 C3 DA 04 00 00 +R 00 00 01 00 00 05 01 00 +T 68 01 00 00 R 00 00 01 00 -T 76 01 00 00 DD 4E 04 DD 46 05 09 4E 23 46 23 +T 68 01 00 00 21 24 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 -T 81 01 00 00 5E 23 56 69 60 C1 A7 ED 42 C1 20 +T 73 01 00 00 23 56 23 4E 23 46 C5 D5 21 33 00 R 00 00 01 00 -T 8C 01 00 00 22 EB ED 42 20 1D +T 7E 01 00 00 DD 4E 04 DD 46 05 09 4E 23 46 23 R 00 00 01 00 -T 92 01 00 00 +T 89 01 00 00 5E 23 56 69 60 C1 A7 ED 42 C1 20 R 00 00 01 00 -T 92 01 00 00 21 24 00 DD 4E 04 DD 46 05 09 7E +T 94 01 00 00 22 EB ED 42 20 1D R 00 00 01 00 -T 9D 01 00 00 23 B6 23 B6 23 B6 20 08 +T 9A 01 00 00 R 00 00 01 00 -T A5 01 00 00 +T 9A 01 00 00 21 24 00 DD 4E 04 DD 46 05 09 7E R 00 00 01 00 -T A5 01 00 00 DD 36 FC 04 DD 36 FD 00 +T A5 01 00 00 23 B6 23 B6 23 B6 20 08 R 00 00 01 00 T AD 01 00 00 R 00 00 01 00 -T AD 01 00 00 18 71 +T AD 01 00 00 DD 36 FC 04 DD 36 FD 00 R 00 00 01 00 -T AF 01 00 00 +T B5 01 00 00 R 00 00 01 00 -T AF 01 00 00 21 24 00 DD 4E 04 DD 46 05 09 7E +T B5 01 00 00 18 71 R 00 00 01 00 -T BA 01 00 00 23 B6 23 B6 23 B6 20 2C +T B7 01 00 00 R 00 00 01 00 -T C2 01 00 00 +T B7 01 00 00 21 24 00 DD 4E 04 DD 46 05 09 7E R 00 00 01 00 -T C2 01 00 00 21 33 00 DD 4E 04 DD 46 05 09 4E +T C2 01 00 00 23 B6 23 B6 23 B6 20 2C R 00 00 01 00 -T CD 01 00 00 23 46 23 5E 23 56 69 60 E5 21 +T CA 01 00 00 R 00 00 01 00 -T D7 01 00 00 17 00 DD 4E 04 DD 46 05 09 C1 D5 +T CA 01 00 00 21 33 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 -T E2 01 00 00 59 50 C1 73 23 72 23 71 23 70 18 +T D5 01 00 00 23 46 23 5E 23 56 69 60 E5 21 R 00 00 01 00 -T ED 01 00 00 32 +T DF 01 00 00 17 00 DD 4E 04 DD 46 05 09 C1 D5 R 00 00 01 00 -T EE 01 00 00 +T EA 01 00 00 59 50 C1 73 23 72 23 71 23 70 18 R 00 00 01 00 -T EE 01 00 00 21 24 00 DD 4E 04 DD 46 05 09 4E +T F5 01 00 00 32 R 00 00 01 00 -T F9 01 00 00 23 46 23 5E 23 56 69 60 E5 21 +T F6 01 00 00 R 00 00 01 00 -T 03 02 00 00 33 00 DD 4E 04 DD 46 05 09 C1 D5 +T F6 01 00 00 21 24 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 -T 0E 02 00 00 59 50 C1 73 23 72 23 71 23 70 DD +T 01 02 00 00 23 46 23 5E 23 56 69 60 E5 21 R 00 00 01 00 -T 19 02 00 00 36 FC 03 DD 36 FD 00 +T 0B 02 00 00 33 00 DD 4E 04 DD 46 05 09 C1 D5 R 00 00 01 00 -T 20 02 00 00 +T 16 02 00 00 59 50 C1 73 23 72 23 71 23 70 DD R 00 00 01 00 -T 20 02 00 00 +T 21 02 00 00 36 FC 03 DD 36 FD 00 R 00 00 01 00 -T 20 02 00 00 21 04 00 DD 4E 04 DD 46 05 09 5E +T 28 02 00 00 R 00 00 01 00 -T 2B 02 00 00 23 56 23 4E 23 46 C5 D5 21 37 00 +T 28 02 00 00 R 00 00 01 00 -T 36 02 00 00 DD 4E 04 DD 46 05 09 4E 23 46 23 +T 28 02 00 00 21 04 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 -T 41 02 00 00 5E 23 56 69 60 C1 A7 ED 42 C1 20 +T 33 02 00 00 23 56 23 4E 23 46 C5 D5 21 37 00 R 00 00 01 00 -T 4C 02 00 00 22 EB ED 42 20 1D +T 3E 02 00 00 DD 4E 04 DD 46 05 09 4E 23 46 23 R 00 00 01 00 -T 52 02 00 00 +T 49 02 00 00 5E 23 56 69 60 C1 A7 ED 42 C1 20 R 00 00 01 00 -T 52 02 00 00 21 04 00 DD 4E 04 DD 46 05 09 7E +T 54 02 00 00 22 EB ED 42 20 1D R 00 00 01 00 -T 5D 02 00 00 23 B6 23 B6 23 B6 20 08 +T 5A 02 00 00 R 00 00 01 00 -T 65 02 00 00 +T 5A 02 00 00 21 04 00 DD 4E 04 DD 46 05 09 7E R 00 00 01 00 -T 65 02 00 00 DD 36 FC 04 DD 36 FD 00 +T 65 02 00 00 23 B6 23 B6 23 B6 20 08 R 00 00 01 00 T 6D 02 00 00 R 00 00 01 00 -T 6D 02 00 00 18 71 +T 6D 02 00 00 DD 36 FC 04 DD 36 FD 00 R 00 00 01 00 -T 6F 02 00 00 +T 75 02 00 00 R 00 00 01 00 -T 6F 02 00 00 21 04 00 DD 4E 04 DD 46 05 09 7E +T 75 02 00 00 18 71 R 00 00 01 00 -T 7A 02 00 00 23 B6 23 B6 23 B6 20 2C +T 77 02 00 00 R 00 00 01 00 -T 82 02 00 00 +T 77 02 00 00 21 04 00 DD 4E 04 DD 46 05 09 7E R 00 00 01 00 -T 82 02 00 00 21 37 00 DD 4E 04 DD 46 05 09 4E +T 82 02 00 00 23 B6 23 B6 23 B6 20 2C R 00 00 01 00 -T 8D 02 00 00 23 46 23 5E 23 56 69 60 E5 21 +T 8A 02 00 00 R 00 00 01 00 -T 97 02 00 00 13 00 DD 4E 04 DD 46 05 09 C1 D5 +T 8A 02 00 00 21 37 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 -T A2 02 00 00 59 50 C1 73 23 72 23 71 23 70 18 +T 95 02 00 00 23 46 23 5E 23 56 69 60 E5 21 R 00 00 01 00 -T AD 02 00 00 32 +T 9F 02 00 00 13 00 DD 4E 04 DD 46 05 09 C1 D5 R 00 00 01 00 -T AE 02 00 00 +T AA 02 00 00 59 50 C1 73 23 72 23 71 23 70 18 R 00 00 01 00 -T AE 02 00 00 DD 36 FC 03 DD 36 FD 00 21 04 00 +T B5 02 00 00 32 R 00 00 01 00 -T B9 02 00 00 DD 4E 04 DD 46 05 09 4E 23 46 23 +T B6 02 00 00 R 00 00 01 00 -T C4 02 00 00 5E 23 56 69 60 E5 21 37 00 DD 4E +T B6 02 00 00 DD 36 FC 03 DD 36 FD 00 21 04 00 R 00 00 01 00 -T CF 02 00 00 04 DD 46 05 09 C1 D5 59 50 C1 73 +T C1 02 00 00 DD 4E 04 DD 46 05 09 4E 23 46 23 R 00 00 01 00 -T DA 02 00 00 23 72 23 71 23 70 +T CC 02 00 00 5E 23 56 69 60 E5 21 37 00 DD 4E R 00 00 01 00 -T E0 02 00 00 +T D7 02 00 00 04 DD 46 05 09 C1 D5 59 50 C1 73 R 00 00 01 00 -T E0 02 00 00 +T E2 02 00 00 23 72 23 71 23 70 R 00 00 01 00 -T E0 02 00 00 C3 CA 04 00 00 +T E8 02 00 00 +R 00 00 01 00 +T E8 02 00 00 +R 00 00 01 00 +T E8 02 00 00 C3 DA 04 00 00 R 00 00 01 00 00 05 01 00 -T E3 02 00 00 +T EB 02 00 00 R 00 00 01 00 -T E3 02 00 00 FE 02 C2 C0 04 00 00 21 1B 00 DD +T EB 02 00 00 FE 02 C2 D0 04 00 00 21 1B 00 DD R 00 00 01 00 00 07 01 00 -T EC 02 00 00 4E 0A DD 46 0B 09 E5 DD 5E 02 DD -R 00 00 01 00 -T F7 02 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 05 00 -T FC 02 00 00 00 00 00 00 CD 00 00 00 00 EB E1 -R 00 00 01 00 02 04 05 00 02 09 01 00 -T 03 03 00 00 73 23 72 21 00 00 39 7E D6 02 77 +T F4 02 00 00 4E 0A DD 46 0B 09 E5 DD 5E 02 DD R 00 00 01 00 -T 0E 03 00 00 23 7E DE 00 77 3A 00 00 00 00 E6 -R 00 00 01 00 02 0A 0D 00 -T 17 03 00 00 08 28 21 +T FF 02 00 00 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 08 00 +T 04 03 00 00 00 00 00 00 CD 00 00 00 00 EB E1 +R 00 00 01 00 02 04 08 00 02 09 01 00 +T 0B 03 00 00 73 23 72 21 00 00 39 7E D6 02 77 R 00 00 01 00 -T 1A 03 00 00 +T 16 03 00 00 23 7E DE 00 77 3A 00 00 00 00 E6 +R 00 00 01 00 02 0A 11 00 +T 1F 03 00 00 08 28 25 R 00 00 01 00 -T 1A 03 00 00 21 1B 00 DD 4E 0A DD 46 0B 09 4E +T 22 03 00 00 R 00 00 01 00 -T 25 03 00 00 23 46 C5 21 4A 00 00 00 E5 2A -R 00 00 01 00 00 08 02 00 -T 2D 03 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 07 00 2B 0A 09 00 -T 33 03 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 09 00 02 09 01 00 -T 3A 03 00 00 E1 +T 22 03 00 00 21 1B 00 DD 4E 0A DD 46 0B 09 4E R 00 00 01 00 -T 3B 03 00 00 +T 2D 03 00 00 23 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 07 00 +T 34 03 00 00 00 00 00 00 E5 2A 00 00 00 00 E5 +R 00 00 01 00 02 04 07 00 02 0A 0A 00 +T 3B 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 03 00 02 0A 03 00 +T 41 03 00 00 00 00 00 00 E1 E1 E1 E1 +R 00 00 01 00 02 04 01 00 +T 47 03 00 00 R 00 00 01 00 -T 3B 03 00 00 21 1B 00 DD 4E 0A DD 46 0B 09 4E +T 47 03 00 00 21 1B 00 DD 4E 0A DD 46 0B 09 4E R 00 00 01 00 -T 46 03 00 00 23 46 3E 2D A9 B0 C2 57 04 00 00 +T 52 03 00 00 23 46 3E 2D A9 B0 C2 67 04 00 00 R 00 00 01 00 00 0B 01 00 -T 4F 03 00 00 +T 5B 03 00 00 R 00 00 01 00 -T 4F 03 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 -T 57 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0B 00 02 0A 01 00 -T 5E 03 00 00 75 FE DD 74 FF 7D A4 3C 20 06 +T 5B 03 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0D 00 +T 63 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 0D 00 02 0A 01 00 +T 6A 03 00 00 75 FE DD 74 FF 7D A4 3C 20 06 R 00 00 01 00 -T 68 03 00 00 +T 74 03 00 00 R 00 00 01 00 -T 68 03 00 00 21 FF FF C3 52 05 00 00 +T 74 03 00 00 21 FF FF C3 62 05 00 00 R 00 00 01 00 00 08 01 00 -T 6E 03 00 00 +T 7A 03 00 00 R 00 00 01 00 -T 6E 03 00 00 21 1D 00 DD 4E 0A DD 46 0B 09 DD +T 7A 03 00 00 21 1D 00 DD 4E 0A DD 46 0B 09 DD R 00 00 01 00 -T 79 03 00 00 4E FE DD 46 FF 03 71 23 70 69 60 +T 85 03 00 00 4E FE DD 46 FF 03 71 23 70 69 60 R 00 00 01 00 -T 84 03 00 00 01 01 00 A7 ED 42 30 19 +T 90 03 00 00 01 01 00 A7 ED 42 30 19 R 00 00 01 00 -T 8C 03 00 00 +T 98 03 00 00 R 00 00 01 00 -T 8C 03 00 00 21 1D 00 DD 4E 0A DD 46 0B 09 36 +T 98 03 00 00 21 1D 00 DD 4E 0A DD 46 0B 09 36 R 00 00 01 00 -T 97 03 00 00 01 23 36 00 DD 36 FC 03 DD 36 FD +T A3 03 00 00 01 23 36 00 DD 36 FC 03 DD 36 FD R 00 00 01 00 -T A2 03 00 00 00 18 2C +T AE 03 00 00 00 18 2C R 00 00 01 00 -T A5 03 00 00 +T B1 03 00 00 R 00 00 01 00 -T A5 03 00 00 21 1D 00 DD 4E 0A DD 46 0B 09 4E +T B1 03 00 00 21 1D 00 DD 4E 0A DD 46 0B 09 4E R 00 00 01 00 -T B0 03 00 00 23 46 21 40 00 A7 ED 42 30 17 +T BC 03 00 00 23 46 21 40 00 A7 ED 42 30 17 R 00 00 01 00 -T BA 03 00 00 +T C6 03 00 00 R 00 00 01 00 -T BA 03 00 00 21 1D 00 DD 4E 0A DD 46 0B 09 36 +T C6 03 00 00 21 1D 00 DD 4E 0A DD 46 0B 09 36 R 00 00 01 00 -T C5 03 00 00 40 23 36 00 DD 36 FC 03 DD 36 FD +T D1 03 00 00 40 23 36 00 DD 36 FC 03 DD 36 FD R 00 00 01 00 -T D0 03 00 00 00 +T DC 03 00 00 00 R 00 00 01 00 -T D1 03 00 00 +T DD 03 00 00 R 00 00 01 00 -T D1 03 00 00 +T DD 03 00 00 R 00 00 01 00 -T D1 03 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 -T D9 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0B 00 02 0A 01 00 -T E0 03 00 00 75 FE DD 74 FF 7D A4 3C 20 06 +T DD 03 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0D 00 +T E5 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 0D 00 02 0A 01 00 +T EC 03 00 00 75 FE DD 74 FF 7D A4 3C 20 06 R 00 00 01 00 -T EA 03 00 00 +T F6 03 00 00 R 00 00 01 00 -T EA 03 00 00 21 FF FF C3 52 05 00 00 +T F6 03 00 00 21 FF FF C3 62 05 00 00 R 00 00 01 00 00 08 01 00 -T F0 03 00 00 +T FC 03 00 00 R 00 00 01 00 -T F0 03 00 00 21 1F 00 DD 4E 0A DD 46 0B 09 DD +T FC 03 00 00 21 1F 00 DD 4E 0A DD 46 0B 09 DD R 00 00 01 00 -T FB 03 00 00 46 FE 70 3E 01 B8 30 14 +T 07 04 00 00 46 FE 70 3E 01 B8 30 14 R 00 00 01 00 -T 03 04 00 00 +T 0F 04 00 00 R 00 00 01 00 -T 03 04 00 00 21 1F 00 DD 4E 0A DD 46 0B 09 36 +T 0F 04 00 00 21 1F 00 DD 4E 0A DD 46 0B 09 36 R 00 00 01 00 -T 0E 04 00 00 01 DD 36 FC 03 DD 36 FD 00 +T 1A 04 00 00 01 DD 36 FC 03 DD 36 FD 00 R 00 00 01 00 -T 17 04 00 00 +T 23 04 00 00 R 00 00 01 00 -T 17 04 00 00 21 00 00 39 7E D6 02 77 23 7E DE +T 23 04 00 00 21 00 00 39 7E D6 02 77 23 7E DE R 00 00 01 00 -T 22 04 00 00 00 77 3A 00 00 00 00 E6 08 28 2A -R 00 00 01 00 02 07 0D 00 -T 2B 04 00 00 +T 2E 04 00 00 00 77 3A 00 00 00 00 E6 08 28 2E +R 00 00 01 00 02 07 11 00 +T 37 04 00 00 R 00 00 01 00 -T 2B 04 00 00 21 1F 00 DD 4E 0A DD 46 0B 09 5E +T 37 04 00 00 21 1F 00 DD 4E 0A DD 46 0B 09 5E R 00 00 01 00 -T 36 04 00 00 16 00 D5 21 1D 00 09 4E 23 46 C5 +T 42 04 00 00 16 00 D5 21 1D 00 09 4E 23 46 C5 R 00 00 01 00 -T 41 04 00 00 21 6D 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 07 00 -T 48 04 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T 4E 04 00 00 CD 00 00 00 00 E1 E1 E1 E1 -R 00 00 01 00 02 05 01 00 -T 55 04 00 00 +T 4D 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 +T 53 04 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0A 00 +T 59 04 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 5E 04 00 00 00 00 00 00 E1 E1 E1 E1 E1 +R 00 00 01 00 02 04 01 00 +T 65 04 00 00 R 00 00 01 00 -T 55 04 00 00 18 67 +T 65 04 00 00 18 67 R 00 00 01 00 -T 57 04 00 00 +T 67 04 00 00 R 00 00 01 00 -T 57 04 00 00 DD 6E 0A DD 66 0B 23 23 7E E6 04 +T 67 04 00 00 DD 6E 0A DD 66 0B 23 23 7E E6 04 R 00 00 01 00 -T 62 04 00 00 28 32 +T 72 04 00 00 28 32 R 00 00 01 00 -T 64 04 00 00 +T 74 04 00 00 R 00 00 01 00 -T 64 04 00 00 21 1B 00 DD 4E 0A DD 46 0B 09 E5 +T 74 04 00 00 21 1B 00 DD 4E 0A DD 46 0B 09 E5 R 00 00 01 00 -T 6F 04 00 00 21 0C 00 09 5E 23 56 E1 73 23 72 +T 7F 04 00 00 21 0C 00 09 5E 23 56 E1 73 23 72 R 00 00 01 00 -T 7A 04 00 00 21 1D 00 09 E5 21 0E 00 09 5E 23 +T 8A 04 00 00 21 1D 00 09 E5 21 0E 00 09 5E 23 R 00 00 01 00 -T 85 04 00 00 56 E1 73 23 72 21 10 00 09 56 21 +T 95 04 00 00 56 E1 73 23 72 21 10 00 09 56 21 R 00 00 01 00 -T 90 04 00 00 1F 00 09 72 18 1E +T A0 04 00 00 1F 00 09 72 18 1E R 00 00 01 00 -T 96 04 00 00 +T A6 04 00 00 R 00 00 01 00 -T 96 04 00 00 21 1B 00 DD 4E 0A DD 46 0B 09 36 +T A6 04 00 00 21 1B 00 DD 4E 0A DD 46 0B 09 36 R 00 00 01 00 -T A1 04 00 00 2D 23 36 00 21 1D 00 09 36 10 23 +T B1 04 00 00 2D 23 36 00 21 1D 00 09 36 10 23 R 00 00 01 00 -T AC 04 00 00 36 00 21 1F 00 09 36 01 +T BC 04 00 00 36 00 21 1F 00 09 36 01 R 00 00 01 00 -T B4 04 00 00 +T C4 04 00 00 R 00 00 01 00 -T B4 04 00 00 DD 36 FC 03 DD 36 FD 00 18 00 +T C4 04 00 00 DD 36 FC 03 DD 36 FD 00 18 00 R 00 00 01 00 -T BE 04 00 00 +T CE 04 00 00 R 00 00 01 00 -T BE 04 00 00 18 0A +T CE 04 00 00 18 0A R 00 00 01 00 -T C0 04 00 00 +T D0 04 00 00 R 00 00 01 00 -T C0 04 00 00 DD 36 FC 04 DD 36 FD 00 18 00 +T D0 04 00 00 DD 36 FC 04 DD 36 FD 00 18 00 R 00 00 01 00 -T CA 04 00 00 +T DA 04 00 00 R 00 00 01 00 -T CA 04 00 00 DD 6E 0C DD 66 0D 3E 02 BE 38 1E +T DA 04 00 00 DD 6E 0C DD 66 0D 3E 02 BE 38 1E R 00 00 01 00 -T D5 04 00 00 DD 6E 0A DD 66 0B E5 DD 6E 0C DD +T E5 04 00 00 DD 6E 0A DD 66 0B E5 DD 6E 0C DD R 00 00 01 00 -T E0 04 00 00 66 0D 46 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T E9 04 00 00 E1 7E A3 47 23 7E A2 B0 20 08 +T F0 04 00 00 66 0D 46 11 01 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 09 00 +T F9 04 00 00 E1 7E A3 47 23 7E A2 B0 20 08 R 00 00 01 00 -T F3 04 00 00 +T 03 05 00 00 R 00 00 01 00 -T F3 04 00 00 +T 03 05 00 00 R 00 00 01 00 -T F3 04 00 00 +T 03 05 00 00 R 00 00 01 00 -T F3 04 00 00 DD 36 FC 04 DD 36 FD 00 +T 03 05 00 00 DD 36 FC 04 DD 36 FD 00 R 00 00 01 00 -T FB 04 00 00 +T 0B 05 00 00 R 00 00 01 00 -T FB 04 00 00 DD CB FB 7E 28 05 +T 0B 05 00 00 DD CB FB 7E 28 05 R 00 00 01 00 -T 01 05 00 00 +T 11 05 00 00 R 00 00 01 00 -T 01 05 00 00 21 FF FF 18 4C +T 11 05 00 00 21 FF FF 18 4C R 00 00 01 00 -T 06 05 00 00 +T 16 05 00 00 R 00 00 01 00 -T 06 05 00 00 DD 7E 0E DD B6 0F 20 3E DD 4E FA +T 16 05 00 00 DD 7E 0E DD B6 0F 20 3E DD 4E FA R 00 00 01 00 -T 11 05 00 00 DD 46 FB 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 0A 00 -T 1A 05 00 00 30 30 +T 21 05 00 00 DD 46 FB 21 00 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 0C 00 +T 2A 05 00 00 30 30 R 00 00 01 00 -T 1C 05 00 00 +T 2C 05 00 00 R 00 00 01 00 -T 1C 05 00 00 +T 2C 05 00 00 R 00 00 01 00 -T 1C 05 00 00 +T 2C 05 00 00 R 00 00 01 00 -T 1C 05 00 00 +T 2C 05 00 00 R 00 00 01 00 -T 1C 05 00 00 DD 4E FA DD 46 FB 0B DD 71 FA DD +T 2C 05 00 00 DD 4E FA DD 46 FB 0B DD 71 FA DD R 00 00 01 00 -T 27 05 00 00 70 FB 03 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 0A 00 -T 30 05 00 00 30 1A +T 37 05 00 00 70 FB 03 21 00 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 0C 00 +T 40 05 00 00 30 1A R 00 00 01 00 -T 32 05 00 00 +T 42 05 00 00 R 00 00 01 00 -T 32 05 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 -T 3A 05 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 0B 00 02 0A 01 00 -T 41 05 00 00 A4 3C 20 05 +T 42 05 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0D 00 +T 4A 05 00 00 21 00 00 00 00 CD 00 00 00 00 7D +R 00 00 01 00 02 05 0D 00 02 0A 01 00 +T 51 05 00 00 A4 3C 20 05 R 00 00 01 00 -T 45 05 00 00 +T 55 05 00 00 R 00 00 01 00 -T 45 05 00 00 21 FF FF 18 08 +T 55 05 00 00 21 FF FF 18 08 R 00 00 01 00 -T 4A 05 00 00 +T 5A 05 00 00 R 00 00 01 00 -T 4A 05 00 00 18 D0 +T 5A 05 00 00 18 D0 R 00 00 01 00 -T 4C 05 00 00 +T 5C 05 00 00 R 00 00 01 00 -T 4C 05 00 00 +T 5C 05 00 00 R 00 00 01 00 -T 4C 05 00 00 DD 6E FC DD 66 FD +T 5C 05 00 00 DD 6E FC DD 66 FD R 00 00 01 00 -T 52 05 00 00 +T 62 05 00 00 R 00 00 01 00 -T 52 05 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 20 20 20 20 63 68 65 63 6B 69 6E -R 00 00 02 00 -T 0B 00 00 00 67 20 49 50 20 73 6F 75 72 63 65 -R 00 00 02 00 -T 16 00 00 00 20 61 64 64 72 65 73 73 3A 20 25 -R 00 00 02 00 -T 21 00 00 00 73 00 -R 00 00 02 00 -T 23 00 00 00 -R 00 00 02 00 -T 23 00 00 00 20 20 20 20 63 68 65 63 6B 69 6E -R 00 00 02 00 -T 2E 00 00 00 67 20 49 50 20 64 65 73 74 69 6E -R 00 00 02 00 -T 39 00 00 00 61 74 69 6F 6E 20 61 64 64 72 65 -R 00 00 02 00 -T 44 00 00 00 73 73 20 25 73 00 -R 00 00 02 00 -T 4A 00 00 00 -R 00 00 02 00 -T 4A 00 00 00 20 20 20 20 63 68 65 63 6B 69 6E -R 00 00 02 00 -T 55 00 00 00 67 20 49 50 20 63 6F 6D 70 72 65 -R 00 00 02 00 -T 60 00 00 00 73 73 69 6F 6E 20 30 78 25 30 34 -R 00 00 02 00 -T 6B 00 00 00 78 00 -R 00 00 02 00 -T 6D 00 00 00 -R 00 00 02 00 -T 6D 00 00 00 20 20 20 20 77 69 74 68 20 49 50 -R 00 00 02 00 -T 78 00 00 00 20 63 6F 6D 70 72 65 73 73 69 6F -R 00 00 02 00 -T 83 00 00 00 6E 20 73 6C 6F 74 73 20 25 64 2C -R 00 00 02 00 -T 8E 00 00 00 20 66 6C 61 67 20 25 78 00 -R 00 00 02 00 +T 62 05 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/ppp_lib/ipcp_init.rel b/src/nos/lib/ppp_lib/ipcp_init.rel index 60c34603..84dc9110 100644 --- a/src/nos/lib/ppp_lib/ipcp_init.rel +++ b/src/nos/lib/ppp_lib/ipcp_init.rel @@ -1,85 +1,81 @@ XL4 -H 3 areas E global symbols +H 2 areas F global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _ipcp_negotiate Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _fsm_init Ref00000000 +S ___0584_8ddb_ipcp_5finit_28_29 Ref00000000 S .__.ABS. Def00000000 S _callocw Ref00000000 S _ipcp_constants Ref00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S _ipcp_default Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size DC flags 0 +A CODE size E0 flags 0 S _ipcp_init Def00000000 -A CSTR size C flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF 21 42 00 DD -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 0A 00 T 09 00 00 00 4E 02 DD 46 03 09 DD 75 FC DD 74 R 00 00 01 00 T 14 00 00 00 FD 21 05 00 09 5E 16 00 ED 53 R 00 00 01 00 T 1E 00 00 00 00 00 00 00 0A 6F 03 0A 67 22 -R 00 00 01 00 02 04 0C 00 -T 26 00 00 00 00 00 00 00 7B E6 80 28 12 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 0D 00 +T 26 00 00 00 00 00 00 00 7B E6 80 28 16 +R 00 00 01 00 02 04 09 00 T 2D 00 00 00 R 00 00 01 00 -T 2D 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 07 00 -T 34 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T 3A 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 3F 00 00 00 +T 2D 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 +T 33 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 09 00 +T 39 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 3E 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 43 00 00 00 R 00 00 01 00 -T 3F 00 00 00 21 08 00 DD 4E FC DD 46 FD 09 DD +T 43 00 00 00 21 08 00 DD 4E FC DD 46 FD 09 DD R 00 00 01 00 -T 4A 00 00 00 5E 02 DD 56 03 73 23 72 21 1A 00 +T 4E 00 00 00 5E 02 DD 56 03 73 23 72 21 1A 00 R 00 00 01 00 -T 55 00 00 00 09 36 00 00 00 00 23 36 -R 00 00 01 00 0B 06 06 00 -T 5A 00 00 00 00 00 00 00 21 1C 00 09 E5 01 -R 00 00 01 00 8B 04 06 00 -T 61 00 00 00 42 00 11 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 05 00 -T 69 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 05 00 02 09 00 00 -T 70 00 00 00 FE DD 74 FF 4D 44 E1 71 23 70 59 +T 59 00 00 00 09 36 00 00 00 00 23 36 +R 00 00 01 00 0B 06 08 00 +T 5E 00 00 00 00 00 00 00 21 1C 00 09 E5 01 +R 00 00 01 00 8B 04 08 00 +T 65 00 00 00 42 00 11 01 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 07 00 +T 6D 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 07 00 02 09 00 00 +T 74 00 00 00 FE DD 74 FF 4D 44 E1 71 23 70 59 R 00 00 01 00 -T 7B 00 00 00 50 13 13 21 00 00 00 00 01 0F 00 -R 00 00 01 00 02 08 0A 00 -T 84 00 00 00 ED B0 2A 00 00 00 00 E5 DD 6E FE +T 7F 00 00 00 50 13 13 21 00 00 00 00 01 0F 00 +R 00 00 01 00 02 08 0B 00 +T 88 00 00 00 ED B0 2A 00 00 00 00 E5 DD 6E FE R 00 00 01 00 02 07 01 00 -T 8D 00 00 00 DD 66 FF C1 71 23 70 21 22 00 DD +T 91 00 00 00 DD 66 FF C1 71 23 70 21 22 00 DD R 00 00 01 00 -T 98 00 00 00 4E FE DD 46 FF 09 EB 21 +T 9C 00 00 00 4E FE DD 46 FF 09 EB 21 R 00 00 01 00 -T A0 00 00 00 00 00 00 00 01 0F 00 ED B0 21 -R 00 00 01 00 02 04 0A 00 -T A8 00 00 00 31 00 DD 4E FE DD 46 FF 09 EB 21 +T A4 00 00 00 00 00 00 00 01 0F 00 ED B0 21 +R 00 00 01 00 02 04 0B 00 +T AC 00 00 00 31 00 DD 4E FE DD 46 FF 09 EB 21 R 00 00 01 00 -T B3 00 00 00 00 00 00 00 01 0F 00 ED B0 21 -R 00 00 01 00 02 04 0A 00 -T BB 00 00 00 20 00 DD 4E FE DD 46 FF 09 ED 4B +T B7 00 00 00 00 00 00 00 01 0F 00 ED B0 21 +R 00 00 01 00 02 04 0B 00 +T BF 00 00 00 20 00 DD 4E FE DD 46 FF 09 ED 4B R 00 00 01 00 -T C6 00 00 00 00 00 00 00 71 23 70 DD 5E FC DD +T CA 00 00 00 00 00 00 00 71 23 70 DD 5E FC DD R 00 00 01 00 02 04 01 00 -T CF 00 00 00 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 03 00 -T D4 00 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T DA 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 69 70 63 70 5F 69 6E 69 74 28 29 -R 00 00 02 00 -T 0B 00 00 00 00 -R 00 00 02 00 +T D3 00 00 00 56 FD 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 04 00 +T D8 00 00 00 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 04 04 00 02 09 00 00 +T DE 00 00 00 00 00 00 00 +R 00 00 01 00 02 04 03 00 diff --git a/src/nos/lib/ppp_lib/ipcp_makeoptions.rel b/src/nos/lib/ppp_lib/ipcp_makeoptions.rel index dba94b26..392fd08f 100644 --- a/src/nos/lib/ppp_lib/ipcp_makeoptions.rel +++ b/src/nos/lib/ppp_lib/ipcp_makeoptions.rel @@ -1,80 +1,76 @@ XL4 -H 3 areas D global symbols +H 2 areas E global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _ipcp_option_length Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___0585_fa2c_ipcp_5fmakeoptions_ Ref00000000 S .__.ABS. Def00000000 S _ipcp_option Ref00000000 S ?S_LSH_L02 Ref00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S ?SS_CMP_L02 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 7E flags 0 +A CODE size 82 flags 0 S _ipcp_makeoptions Def00000000 -A CSTR size 13 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 3A -R 00 00 01 00 02 05 07 00 -T 06 00 00 00 00 00 00 00 E6 80 28 12 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 05 09 00 +T 06 00 00 00 00 00 00 00 E6 80 28 16 +R 00 00 01 00 02 04 0C 00 T 0C 00 00 00 R 00 00 01 00 -T 0C 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T 13 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T 19 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 1E 00 00 00 +T 0C 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 +T 12 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 08 00 +T 18 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 1D 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 22 00 00 00 R 00 00 01 00 -T 1E 00 00 00 DD 36 FE 01 DD 36 FF 00 +T 22 00 00 00 DD 36 FE 01 DD 36 FF 00 R 00 00 01 00 -T 26 00 00 00 +T 2A 00 00 00 R 00 00 01 00 -T 26 00 00 00 DD 4E FE DD 46 FF 21 02 00 CD +T 2A 00 00 00 DD 4E FE DD 46 FF 21 02 00 CD R 00 00 01 00 -T 30 00 00 00 00 00 00 00 38 47 -R 00 00 01 00 02 04 09 00 -T 34 00 00 00 +T 34 00 00 00 00 00 00 00 38 47 +R 00 00 01 00 02 04 0A 00 +T 38 00 00 00 R 00 00 01 00 -T 34 00 00 00 DD 46 FE 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 3D 00 00 00 7B DD A6 0A 47 7A DD A6 0B B0 28 +T 38 00 00 00 DD 46 FE 11 01 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 07 00 +T 41 00 00 00 7B DD A6 0A 47 7A DD A6 0B B0 28 R 00 00 01 00 -T 48 00 00 00 28 +T 4C 00 00 00 28 R 00 00 01 00 -T 49 00 00 00 +T 4D 00 00 00 R 00 00 01 00 -T 49 00 00 00 21 00 00 E5 21 00 00 00 00 DD 4E +T 4D 00 00 00 21 00 00 E5 21 00 00 00 00 DD 4E R 00 00 01 00 02 09 01 00 -T 52 00 00 00 FE DD 46 FF 09 5E D5 C5 DD 4E 04 +T 56 00 00 00 FE DD 46 FF 09 5E D5 C5 DD 4E 04 R 00 00 01 00 -T 5D 00 00 00 DD 46 05 DD 5E 02 DD 56 03 3E +T 61 00 00 00 DD 46 05 DD 5E 02 DD 56 03 3E R 00 00 01 00 -T 67 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 6C 00 00 00 00 00 00 00 E1 E1 E1 +T 6B 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 70 00 00 00 00 00 00 00 E1 E1 E1 R 00 00 01 00 02 04 00 00 -T 71 00 00 00 +T 75 00 00 00 R 00 00 01 00 -T 71 00 00 00 DD 34 FE 20 03 DD 34 FF +T 75 00 00 00 DD 34 FE 20 03 DD 34 FF R 00 00 01 00 -T 79 00 00 00 +T 7D 00 00 00 R 00 00 01 00 -T 79 00 00 00 18 AB +T 7D 00 00 00 18 AB R 00 00 01 00 -T 7B 00 00 00 +T 7F 00 00 00 R 00 00 01 00 -T 7B 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 69 70 63 70 5F 6D 61 6B 65 6F 70 -R 00 00 02 00 -T 0B 00 00 00 74 69 6F 6E 73 28 29 00 -R 00 00 02 00 +T 7F 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/ppp_lib/ipcp_makereq.rel b/src/nos/lib/ppp_lib/ipcp_makereq.rel index 678d137a..2ab96588 100644 --- a/src/nos/lib/ppp_lib/ipcp_makereq.rel +++ b/src/nos/lib/ppp_lib/ipcp_makereq.rel @@ -1,51 +1,47 @@ XL4 -H 3 areas A global symbols +H 2 areas B global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0586_5617_ipcp_5fmakereq_28_2 Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S _ipcp_makeoptions Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 65 flags 0 +A CODE size 69 flags 0 S _ipcp_makereq Def00000000 -A CSTR size F flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF 21 1C 00 DD -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 06 00 T 09 00 00 00 4E 02 DD 46 03 09 46 23 66 68 DD R 00 00 01 00 T 14 00 00 00 75 FC DD 74 FD AF DD 77 FE DD 77 R 00 00 01 00 -T 1F 00 00 00 FF 3A 00 00 00 00 E6 80 28 12 -R 00 00 01 00 02 06 08 00 +T 1F 00 00 00 FF 3A 00 00 00 00 E6 80 28 16 +R 00 00 01 00 02 06 09 00 T 27 00 00 00 R 00 00 01 00 -T 27 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 03 00 -T 2E 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 -T 34 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 39 00 00 00 +T 27 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 +T 2D 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 05 00 +T 33 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 38 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 3D 00 00 00 R 00 00 01 00 -T 39 00 00 00 21 11 00 DD 4E FC DD 46 FD 09 5E +T 3D 00 00 00 21 11 00 DD 4E FC DD 46 FD 09 5E R 00 00 01 00 -T 44 00 00 00 23 56 D5 21 11 00 09 4D 44 21 +T 48 00 00 00 23 56 D5 21 11 00 09 4D 44 21 R 00 00 01 00 -T 4E 00 00 00 04 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 06 00 -T 56 00 00 00 00 00 00 00 CD 00 00 00 00 E1 DD -R 00 00 01 00 02 04 06 00 02 09 00 00 -T 5D 00 00 00 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0A 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 69 70 63 70 5F 6D 61 6B 65 72 65 -R 00 00 02 00 -T 0B 00 00 00 71 28 29 00 -R 00 00 02 00 +T 52 00 00 00 04 00 39 5D 54 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 07 00 +T 5A 00 00 00 00 00 00 00 CD 00 00 00 00 E1 DD +R 00 00 01 00 02 04 07 00 02 09 00 00 +T 61 00 00 00 6E FE DD 66 FF C3 00 00 00 00 +R 00 00 01 00 02 0A 03 00 diff --git a/src/nos/lib/ppp_lib/ipcp_nak.rel b/src/nos/lib/ppp_lib/ipcp_nak.rel index 4607a453..fde73c6e 100644 --- a/src/nos/lib/ppp_lib/ipcp_nak.rel +++ b/src/nos/lib/ppp_lib/ipcp_nak.rel @@ -1,28 +1,34 @@ XL4 -H 3 areas 10 global symbols +H 2 areas 17 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0587_c773_ipcp_5fnak_28_29 Ref00000000 S _ipcp_check Ref00000000 S _ntohopt Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___02e4_4732_IPCP_20NAK_3a_20opt Ref00000000 +S ___02e2_678b_IPCP_20NAK_3a_20bad Ref00000000 S .__.ABS. Def00000000 S ?S_LSH_L02 Ref00000000 +S ___02e5_3eb8_IPCP_20NAK_3a_20ran Ref00000000 S _PPPiface Ref00000000 S ?SL_CMP_L03 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 +S ___02e7_0dfe_IPCP_20NAK_3a_20wro Ref00000000 S ?SS_CMP_L02 Ref00000000 S _free_p Ref00000000 +S ___02e6_86ff_IPCP_20NAK_3a_20val Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___02e3_4d9e_IPCP_20NAK_3a_20opt Ref00000000 S ?L_SUBASG_L03 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 28F flags 0 +A CODE size 2AB flags 0 S _ipcp_nak Def00000000 -A CSTR size A0 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F2 FF 21 1C 00 DD -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 0D 00 T 09 00 00 00 5E 02 DD 56 03 19 56 23 66 6A DD R 00 00 01 00 T 14 00 00 00 75 F2 DD 74 F3 DD 75 F4 DD 74 F5 @@ -33,297 +39,263 @@ T 2A 00 00 00 75 F6 DD 74 F7 DD 71 F8 DD 70 F9 R 00 00 01 00 T 35 00 00 00 AF DD 77 FC DD 77 FD 3A R 00 00 01 00 -T 3D 00 00 00 00 00 00 00 E6 80 28 12 -R 00 00 01 00 02 04 0E 00 +T 3D 00 00 00 00 00 00 00 E6 80 28 16 +R 00 00 01 00 02 04 15 00 T 43 00 00 00 R 00 00 01 00 -T 43 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T 4A 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T 50 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 DD 6E 02 DD 66 03 23 E5 DD 6E 04 -R 00 00 01 00 -T 60 00 00 00 DD 66 05 23 7E E1 BE 28 2D -R 00 00 01 00 -T 69 00 00 00 -R 00 00 01 00 -T 69 00 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 21 0B 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T 77 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T 7D 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 82 00 00 00 -R 00 00 01 00 -T 82 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 -T 8A 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0B 00 02 0A 00 00 -T 91 00 00 00 FF FF C3 8C 02 00 00 +T 43 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 +T 49 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0B 00 +T 4F 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 54 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 59 00 00 00 +R 00 00 01 00 +T 59 00 00 00 DD 6E 02 DD 66 03 23 E5 DD 6E 04 +R 00 00 01 00 +T 64 00 00 00 DD 66 05 23 7E E1 BE 28 31 +R 00 00 01 00 +T 6D 00 00 00 +R 00 00 01 00 +T 6D 00 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T 74 00 00 00 +R 00 00 01 00 +T 74 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +T 7A 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0B 00 +T 80 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 85 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 8A 00 00 00 +R 00 00 01 00 +T 8A 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 10 00 +T 92 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 10 00 02 0A 00 00 +T 99 00 00 00 FF FF C3 A8 02 00 00 R 00 00 01 00 00 07 01 00 -T 96 00 00 00 +T 9E 00 00 00 R 00 00 01 00 -T 96 00 00 00 +T 9E 00 00 00 R 00 00 01 00 -T 96 00 00 00 DD 6E F8 DD 66 F9 E5 DD 6E F6 DD +T 9E 00 00 00 DD 6E F8 DD 66 F9 E5 DD 6E F6 DD R 00 00 01 00 -T A1 00 00 00 66 F7 E5 01 00 00 21 00 00 CD +T A9 00 00 00 66 F7 E5 01 00 00 21 00 00 CD R 00 00 01 00 -T AB 00 00 00 00 00 00 00 D2 62 02 00 00 DD 4E -R 00 00 01 00 02 04 07 00 00 09 01 00 -T B2 00 00 00 0A DD 46 0B 21 08 00 39 5D 54 3E +T B3 00 00 00 00 00 00 00 D2 7A 02 00 00 DD 4E +R 00 00 01 00 02 04 0C 00 00 09 01 00 +T BA 00 00 00 0A DD 46 0B 21 08 00 39 5D 54 3E R 00 00 01 00 -T BD 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T C2 00 00 00 00 00 00 00 7D A4 3C CA +T C5 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T CA 00 00 00 00 00 00 00 7D A4 3C CA R 00 00 01 00 02 04 00 00 -T C8 00 00 00 62 02 00 00 +T D0 00 00 00 7A 02 00 00 R 00 00 01 00 00 04 01 00 -T CA 00 00 00 +T D2 00 00 00 R 00 00 01 00 -T CA 00 00 00 +T D2 00 00 00 R 00 00 01 00 -T CA 00 00 00 +T D2 00 00 00 R 00 00 01 00 -T CA 00 00 00 21 04 00 39 DD 5E FB 01 00 00 51 +T D2 00 00 00 21 04 00 39 DD 5E FB 01 00 00 51 R 00 00 01 00 -T D5 00 00 00 CD 00 00 00 00 CB 78 28 2D -R 00 00 01 00 02 05 0D 00 -T DC 00 00 00 -R 00 00 01 00 -T DC 00 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T E3 00 00 00 -R 00 00 01 00 -T E3 00 00 00 21 1E 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T EA 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T F0 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T F5 00 00 00 -R 00 00 01 00 -T F5 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 -T FD 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0B 00 02 0A 00 00 -T 04 01 00 00 FF FF C3 8C 02 00 00 +T DD 00 00 00 CD 00 00 00 00 CB 78 28 31 +R 00 00 01 00 02 05 14 00 +T E4 00 00 00 +R 00 00 01 00 +T E4 00 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T EB 00 00 00 +R 00 00 01 00 +T EB 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 07 00 02 0B 07 00 +T F1 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0B 00 +T F7 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T FC 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 01 01 00 00 +R 00 00 01 00 +T 01 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 10 00 +T 09 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 10 00 02 0A 00 00 +T 10 01 00 00 FF FF C3 A8 02 00 00 R 00 00 01 00 00 07 01 00 -T 09 01 00 00 +T 15 01 00 00 R 00 00 01 00 -T 09 01 00 00 3E 02 DD BE FA 30 1C +T 15 01 00 00 3E 02 DD BE FA 30 20 R 00 00 01 00 -T 10 01 00 00 +T 1C 01 00 00 R 00 00 01 00 -T 10 01 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T 17 01 00 00 +T 1C 01 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T 23 01 00 00 R 00 00 01 00 -T 17 01 00 00 21 3A 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T 1E 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T 24 01 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 29 01 00 00 +T 23 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 +T 29 01 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0B 00 +T 2F 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 34 01 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 39 01 00 00 R 00 00 01 00 -T 29 01 00 00 C3 D0 01 00 00 +T 39 01 00 00 C3 E4 01 00 00 R 00 00 01 00 00 05 01 00 -T 2C 01 00 00 +T 3C 01 00 00 R 00 00 01 00 -T 2C 01 00 00 DD 6E FA 26 00 DD 4E FC DD 46 FD +T 3C 01 00 00 DD 6E FA 26 00 DD 4E FC DD 46 FD R 00 00 01 00 -T 37 01 00 00 CD 00 00 00 00 38 1C 21 11 00 DD -R 00 00 01 00 02 05 0A 00 -T 40 01 00 00 4E F4 DD 46 F5 09 DD 46 FA 11 +T 47 01 00 00 CD 00 00 00 00 38 1C 21 11 00 DD +R 00 00 01 00 02 05 0F 00 +T 50 01 00 00 4E F4 DD 46 F5 09 DD 46 FA 11 R 00 00 01 00 -T 4A 01 00 00 01 00 CD 00 00 00 00 7E A3 47 23 -R 00 00 01 00 02 07 05 00 -T 53 01 00 00 7E A2 B0 20 6D +T 5A 01 00 00 01 00 CD 00 00 00 00 7E A3 47 23 +R 00 00 01 00 02 07 09 00 +T 63 01 00 00 7E A2 B0 20 71 R 00 00 01 00 -T 58 01 00 00 +T 68 01 00 00 R 00 00 01 00 -T 58 01 00 00 +T 68 01 00 00 R 00 00 01 00 -T 58 01 00 00 +T 68 01 00 00 R 00 00 01 00 -T 58 01 00 00 21 11 00 DD 4E F4 DD 46 F5 09 DD +T 68 01 00 00 21 11 00 DD 4E F4 DD 46 F5 09 DD R 00 00 01 00 -T 63 01 00 00 46 FA 11 01 00 CD 00 00 00 00 7E -R 00 00 01 00 02 0A 05 00 -T 6C 01 00 00 A3 47 23 7E A2 B0 28 2D +T 73 01 00 00 46 FA 11 01 00 CD 00 00 00 00 7E +R 00 00 01 00 02 0A 09 00 +T 7C 01 00 00 A3 47 23 7E A2 B0 28 31 R 00 00 01 00 -T 74 01 00 00 +T 84 01 00 00 R 00 00 01 00 -T 74 01 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T 7B 01 00 00 +T 84 01 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T 8B 01 00 00 R 00 00 01 00 -T 7B 01 00 00 21 58 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T 82 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T 88 01 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 8D 01 00 00 +T 8B 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 13 00 02 0B 13 00 +T 91 01 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0B 00 +T 97 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 9C 01 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T A1 01 00 00 R 00 00 01 00 -T 8D 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 -T 95 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0B 00 02 0A 00 00 -T 9C 01 00 00 FF FF C3 8C 02 00 00 +T A1 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 10 00 +T A9 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 10 00 02 0A 00 00 +T B0 01 00 00 FF FF C3 A8 02 00 00 R 00 00 01 00 00 07 01 00 -T A1 01 00 00 +T B5 01 00 00 R 00 00 01 00 -T A1 01 00 00 DD 46 FA 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T AA 01 00 00 21 11 00 DD 4E F4 DD 46 F5 09 7E +T B5 01 00 00 DD 46 FA 11 01 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 09 00 +T BE 01 00 00 21 11 00 DD 4E F4 DD 46 F5 09 7E R 00 00 01 00 -T B5 01 00 00 B3 77 23 7E B2 77 DD 36 FC 03 DD +T C9 01 00 00 B3 77 23 7E B2 77 DD 36 FC 03 DD R 00 00 01 00 -T C0 01 00 00 36 FD 00 18 0B +T D4 01 00 00 36 FD 00 18 0B R 00 00 01 00 -T C5 01 00 00 +T D9 01 00 00 R 00 00 01 00 -T C5 01 00 00 DD 4E FA 06 00 DD 71 FC DD 70 FD +T D9 01 00 00 DD 4E FA 06 00 DD 71 FC DD 70 FD R 00 00 01 00 -T D0 01 00 00 +T E4 01 00 00 R 00 00 01 00 -T D0 01 00 00 +T E4 01 00 00 R 00 00 01 00 -T D0 01 00 00 21 00 00 E5 21 0A 00 39 E5 DD 6E +T E4 01 00 00 21 00 00 E5 21 0A 00 39 E5 DD 6E R 00 00 01 00 -T DB 01 00 00 F4 DD 66 F5 E5 DD 4E F2 DD 46 F3 +T EF 01 00 00 F4 DD 66 F5 E5 DD 4E F2 DD 46 F3 R 00 00 01 00 -T E6 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 01 00 -T EE 01 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 01 00 02 0A 00 00 -T F5 01 00 00 F1 F1 DD 75 FE DD 74 FF 7D A4 3C +T FA 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 02 00 +T 02 02 00 00 21 00 00 00 00 CD 00 00 00 00 F1 +R 00 00 01 00 02 05 02 00 02 0A 00 00 +T 09 02 00 00 F1 F1 DD 75 FE DD 74 FF 7D A4 3C R 00 00 01 00 -T 00 02 00 00 20 2C +T 14 02 00 00 20 30 R 00 00 01 00 -T 02 02 00 00 +T 16 02 00 00 R 00 00 01 00 -T 02 02 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T 09 02 00 00 +T 16 02 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T 1D 02 00 00 R 00 00 01 00 -T 09 02 00 00 21 76 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T 10 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T 16 02 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 1B 02 00 00 +T 1D 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 +T 23 02 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0B 00 +T 29 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 2E 02 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 33 02 00 00 R 00 00 01 00 -T 1B 02 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 -T 23 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0B 00 02 0A 00 00 -T 2A 02 00 00 FF FF 18 5E +T 33 02 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 10 00 +T 3B 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 10 00 02 0A 00 00 +T 42 02 00 00 FF FF 18 62 R 00 00 01 00 -T 2E 02 00 00 +T 46 02 00 00 R 00 00 01 00 -T 2E 02 00 00 3E 04 DD AE FE DD B6 FF 20 27 3E +T 46 02 00 00 3E 04 DD AE FE DD B6 FF 20 27 3E R 00 00 01 00 -T 39 02 00 00 02 DD BE FA 38 20 +T 51 02 00 00 02 DD BE FA 38 20 R 00 00 01 00 -T 3F 02 00 00 +T 57 02 00 00 R 00 00 01 00 -T 3F 02 00 00 +T 57 02 00 00 R 00 00 01 00 -T 3F 02 00 00 +T 57 02 00 00 R 00 00 01 00 -T 3F 02 00 00 DD 46 FA 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 48 02 00 00 7B 2F 5F 7A 2F 57 21 11 00 DD 4E +T 57 02 00 00 DD 46 FA 11 01 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 09 00 +T 60 02 00 00 7B 2F 5F 7A 2F 57 21 11 00 DD 4E R 00 00 01 00 -T 53 02 00 00 F4 DD 46 F5 09 7E A3 77 23 7E A2 +T 6B 02 00 00 F4 DD 46 F5 09 7E A3 77 23 7E A2 R 00 00 01 00 -T 5E 02 00 00 77 +T 76 02 00 00 77 R 00 00 01 00 -T 5F 02 00 00 +T 77 02 00 00 R 00 00 01 00 -T 5F 02 00 00 C3 96 00 00 00 +T 77 02 00 00 C3 9E 00 00 00 R 00 00 01 00 00 05 01 00 -T 62 02 00 00 -R 00 00 01 00 -T 62 02 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T 69 02 00 00 -R 00 00 01 00 -T 69 02 00 00 21 90 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T 70 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T 76 02 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 7B 02 00 00 -R 00 00 01 00 -T 7B 02 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 -T 83 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0B 00 02 0A 00 00 -T 8A 02 00 00 00 00 -R 00 00 01 00 -T 8C 02 00 00 -R 00 00 01 00 -T 8C 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 69 70 63 70 5F 6E 61 6B 28 29 00 -R 00 00 02 00 -T 0B 00 00 00 -R 00 00 02 00 -T 0B 00 00 00 49 50 43 50 20 4E 41 4B 3A 20 77 -R 00 00 02 00 -T 16 00 00 00 72 6F 6E 67 20 49 44 00 -R 00 00 02 00 -T 1E 00 00 00 -R 00 00 02 00 -T 1E 00 00 00 49 50 43 50 20 4E 41 4B 3A 20 62 -R 00 00 02 00 -T 29 00 00 00 61 64 20 68 65 61 64 65 72 20 6C -R 00 00 02 00 -T 34 00 00 00 65 6E 67 74 68 00 -R 00 00 02 00 -T 3A 00 00 00 -R 00 00 02 00 -T 3A 00 00 00 49 50 43 50 20 4E 41 4B 3A 20 6F -R 00 00 02 00 -T 45 00 00 00 70 74 69 6F 6E 20 6F 75 74 20 6F -R 00 00 02 00 -T 50 00 00 00 66 20 72 61 6E 67 65 00 -R 00 00 02 00 -T 58 00 00 00 -R 00 00 02 00 -T 58 00 00 00 49 50 43 50 20 4E 41 4B 3A 20 6F -R 00 00 02 00 -T 63 00 00 00 70 74 69 6F 6E 20 6F 75 74 20 6F -R 00 00 02 00 -T 6E 00 00 00 66 20 6F 72 64 65 72 00 -R 00 00 02 00 -T 76 00 00 00 -R 00 00 02 00 -T 76 00 00 00 49 50 43 50 20 4E 41 4B 3A 20 72 -R 00 00 02 00 -T 81 00 00 00 61 6E 20 6F 75 74 20 6F 66 20 64 -R 00 00 02 00 -T 8C 00 00 00 61 74 61 00 -R 00 00 02 00 -T 90 00 00 00 -R 00 00 02 00 -T 90 00 00 00 49 50 43 50 20 4E 41 4B 3A 20 76 -R 00 00 02 00 -T 9B 00 00 00 61 6C 69 64 00 -R 00 00 02 00 +T 7A 02 00 00 +R 00 00 01 00 +T 7A 02 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T 81 02 00 00 +R 00 00 01 00 +T 81 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 11 00 02 0B 11 00 +T 87 02 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0B 00 +T 8D 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 92 02 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 97 02 00 00 +R 00 00 01 00 +T 97 02 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 10 00 +T 9F 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 10 00 02 0A 00 00 +T A6 02 00 00 00 00 +R 00 00 01 00 +T A8 02 00 00 +R 00 00 01 00 +T A8 02 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 05 00 diff --git a/src/nos/lib/ppp_lib/ipcp_opening.rel b/src/nos/lib/ppp_lib/ipcp_opening.rel index 5a279342..e2b362b6 100644 --- a/src/nos/lib/ppp_lib/ipcp_opening.rel +++ b/src/nos/lib/ppp_lib/ipcp_opening.rel @@ -1,26 +1,27 @@ XL4 -H 3 areas E global symbols +H 2 areas 10 global symbols S _inet_ntoa Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___016a_252c__25s_20PPP_2fIPCP_2 Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___016b_375d__25s_20PPP_2fIPCP_2 Ref00000000 S .__.ABS. Def00000000 S _PPPiface Ref00000000 S _slhc_free Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S ?SS_CMP_L02 Ref00000000 S _Ip_addr Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _slhc_init Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 216 flags 0 +A CODE size 21D flags 0 S _ipcp_opening Def00000000 -A CSTR size 7F flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F4 FF 21 1C 00 DD -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 09 00 T 09 00 00 00 4E 02 DD 46 03 09 56 23 66 6A DD R 00 00 01 00 T 14 00 00 00 75 F4 DD 74 F5 21 08 00 09 7E 23 @@ -41,24 +42,24 @@ T 61 00 00 00 F7 09 4E 23 46 23 5E 23 56 69 60 R 00 00 01 00 T 6C 00 00 00 C1 A7 ED 42 C1 20 06 EB ED 42 CA R 00 00 01 00 -T 77 00 00 00 30 01 00 00 +T 77 00 00 00 34 01 00 00 R 00 00 01 00 00 04 01 00 T 79 00 00 00 R 00 00 01 00 T 79 00 00 00 R 00 00 01 00 T 79 00 00 00 2A 00 00 00 00 7D B4 2A -R 00 00 01 00 02 05 09 00 +R 00 00 01 00 02 05 0B 00 T 7F 00 00 00 02 00 00 00 B5 B4 20 15 -R 00 00 01 00 02 04 09 00 +R 00 00 01 00 02 04 0B 00 T 85 00 00 00 R 00 00 01 00 T 85 00 00 00 DD 4E FA DD 46 FB DD 6E F8 DD 66 R 00 00 01 00 T 90 00 00 00 F9 22 00 00 00 00 ED 43 -R 00 00 01 00 02 06 09 00 +R 00 00 01 00 02 06 0B 00 T 96 00 00 00 02 00 00 00 18 38 -R 00 00 01 00 02 04 09 00 +R 00 00 01 00 02 04 0B 00 T 9A 00 00 00 R 00 00 01 00 T 9A 00 00 00 21 04 00 DD 4E F6 DD 46 F7 09 4E @@ -66,17 +67,17 @@ R 00 00 01 00 T A5 00 00 00 23 46 23 5E 23 56 69 60 ED 4B R 00 00 01 00 T AF 00 00 00 00 00 00 00 A7 ED 42 20 1C EB ED -R 00 00 01 00 02 04 09 00 +R 00 00 01 00 02 04 0B 00 T B8 00 00 00 4B 02 00 00 00 ED 42 20 13 -R 00 00 01 00 02 05 09 00 +R 00 00 01 00 02 05 0B 00 T BF 00 00 00 R 00 00 01 00 T BF 00 00 00 DD 4E FA DD 46 FB DD 6E F8 DD 66 R 00 00 01 00 T CA 00 00 00 F9 22 00 00 00 00 ED 43 -R 00 00 01 00 02 06 09 00 +R 00 00 01 00 02 06 0B 00 T D0 00 00 00 02 00 00 00 -R 00 00 01 00 02 04 09 00 +R 00 00 01 00 02 04 0B 00 T D2 00 00 00 R 00 00 01 00 T D2 00 00 00 @@ -88,9 +89,9 @@ R 00 00 01 00 T E8 00 00 00 73 23 72 23 71 23 70 ED 4B R 00 00 01 00 T F1 00 00 00 00 00 00 00 21 01 00 CD -R 00 00 01 00 02 04 0C 00 -T F7 00 00 00 00 00 00 00 30 35 -R 00 00 01 00 02 04 08 00 +R 00 00 01 00 02 04 0E 00 +T F7 00 00 00 00 00 00 00 30 39 +R 00 00 01 00 02 04 0A 00 T FB 00 00 00 R 00 00 01 00 T FB 00 00 00 DD 4E FA DD 46 FB DD 5E F8 DD 56 @@ -99,119 +100,93 @@ T 06 01 00 00 F9 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 00 00 02 0B 00 00 T 0C 01 00 00 CD 00 00 00 00 E5 DD 6E F6 DD 66 R 00 00 01 00 02 05 01 00 -T 15 01 00 00 F7 23 23 4E 23 46 C5 21 +T 15 01 00 00 F7 23 23 4E 23 46 C5 0E R 00 00 01 00 -T 1D 01 00 00 00 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 04 00 -T 24 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 -T 2A 01 00 00 00 00 00 00 E1 E1 E1 E1 -R 00 00 01 00 02 04 01 00 -T 30 01 00 00 +T 1D 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 05 00 02 0A 05 00 +T 23 01 00 00 2A 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 07 00 2B 0B 03 00 +T 29 01 00 00 21 00 00 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 05 03 00 02 0A 01 00 +T 30 01 00 00 E1 E1 E1 E1 R 00 00 01 00 -T 30 01 00 00 +T 34 01 00 00 R 00 00 01 00 -T 30 01 00 00 21 40 00 DD 4E F4 DD 46 F5 09 5E +T 34 01 00 00 R 00 00 01 00 -T 3B 01 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 05 00 -T 40 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 05 00 02 09 01 00 -T 46 01 00 00 40 00 09 AF 77 23 77 21 11 00 09 +T 34 01 00 00 21 40 00 DD 4E F4 DD 46 F5 09 5E R 00 00 01 00 -T 51 01 00 00 7E E6 04 28 14 +T 3F 01 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 08 00 +T 44 01 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 08 00 02 09 01 00 +T 4A 01 00 00 40 00 09 AF 77 23 77 21 11 00 09 R 00 00 01 00 -T 56 01 00 00 +T 55 01 00 00 7E E6 04 28 14 R 00 00 01 00 -T 56 01 00 00 21 1D 00 DD 4E F4 DD 46 F5 09 46 +T 5A 01 00 00 R 00 00 01 00 -T 61 01 00 00 23 66 68 DD 75 FC DD 74 FD +T 5A 01 00 00 21 1D 00 DD 4E F4 DD 46 F5 09 46 R 00 00 01 00 -T 6A 01 00 00 +T 65 01 00 00 23 66 68 DD 75 FC DD 74 FD R 00 00 01 00 -T 6A 01 00 00 21 31 00 DD 4E F4 DD 46 F5 09 7E +T 6E 01 00 00 R 00 00 01 00 -T 75 01 00 00 E6 04 28 14 +T 6E 01 00 00 21 31 00 DD 4E F4 DD 46 F5 09 7E R 00 00 01 00 -T 79 01 00 00 +T 79 01 00 00 E6 04 28 14 R 00 00 01 00 -T 79 01 00 00 21 3D 00 DD 4E F4 DD 46 F5 09 46 +T 7D 01 00 00 R 00 00 01 00 -T 84 01 00 00 23 66 68 DD 75 FE DD 74 FF +T 7D 01 00 00 21 3D 00 DD 4E F4 DD 46 F5 09 46 R 00 00 01 00 -T 8D 01 00 00 +T 88 01 00 00 23 66 68 DD 75 FE DD 74 FF R 00 00 01 00 -T 8D 01 00 00 DD 7E FC DD B6 FD 20 08 DD 7E FE +T 91 01 00 00 R 00 00 01 00 -T 98 01 00 00 DD B6 FF 28 76 +T 91 01 00 00 DD 7E FC DD B6 FD 20 08 DD 7E FE R 00 00 01 00 -T 9D 01 00 00 +T 9C 01 00 00 DD B6 FF 28 79 R 00 00 01 00 -T 9D 01 00 00 +T A1 01 00 00 R 00 00 01 00 -T 9D 01 00 00 +T A1 01 00 00 R 00 00 01 00 -T 9D 01 00 00 21 40 00 DD 4E F4 DD 46 F5 09 E5 +T A1 01 00 00 R 00 00 01 00 -T A8 01 00 00 DD 4E FE DD 46 FF DD 5E FC DD 56 +T A1 01 00 00 21 40 00 DD 4E F4 DD 46 F5 09 E5 R 00 00 01 00 -T B3 01 00 00 FD 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 -T B9 01 00 00 CD 00 00 00 00 4D 44 E1 71 23 70 -R 00 00 01 00 02 05 01 00 -T C2 01 00 00 ED 4B 00 00 00 00 21 01 00 CD -R 00 00 01 00 02 06 0C 00 -T CA 01 00 00 00 00 00 00 30 45 -R 00 00 01 00 02 04 08 00 -T CE 01 00 00 +T AC 01 00 00 DD 4E FE DD 46 FF DD 5E FC DD 56 R 00 00 01 00 -T CE 01 00 00 21 3F 00 DD 4E F4 DD 46 F5 09 5E +T B7 01 00 00 FD 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 +T BD 01 00 00 CD 00 00 00 00 4D 44 E1 71 23 70 +R 00 00 01 00 02 05 01 00 +T C6 01 00 00 ED 4B 00 00 00 00 21 01 00 CD +R 00 00 01 00 02 06 0E 00 +T CE 01 00 00 00 00 00 00 30 48 +R 00 00 01 00 02 04 0A 00 +T D2 01 00 00 R 00 00 01 00 -T D9 01 00 00 16 00 D5 DD 6E FE DD 66 FF E5 21 +T D2 01 00 00 21 3F 00 DD 4E F4 DD 46 F5 09 5E R 00 00 01 00 -T E4 01 00 00 1F 00 09 4E 06 00 C5 DD 6E FC DD +T DD 01 00 00 16 00 D5 DD 6E FE DD 66 FF E5 21 R 00 00 01 00 -T EF 01 00 00 66 FD E5 DD 6E F6 DD 66 F7 23 23 +T E8 01 00 00 1F 00 09 4E 06 00 C5 DD 6E FC DD R 00 00 01 00 -T FA 01 00 00 4E 23 46 C5 21 27 00 00 00 E5 2A -R 00 00 01 00 00 09 02 00 -T 03 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 04 00 2B 0A 07 00 -T 09 02 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 07 00 02 09 01 00 -T 0F 02 00 00 0E 00 39 F9 +T F3 01 00 00 66 FD E5 DD 6E F6 DD 66 F7 23 23 R 00 00 01 00 -T 13 02 00 00 +T FE 01 00 00 4E 23 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 09 02 00 +T 06 02 00 00 00 00 00 00 E5 2A 00 00 00 00 E5 +R 00 00 01 00 02 04 02 00 02 0A 07 00 +T 0D 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 03 00 02 0A 03 00 +T 13 02 00 00 00 00 00 00 21 10 00 39 F9 +R 00 00 01 00 02 04 01 00 +T 1A 02 00 00 R 00 00 01 00 -T 13 02 00 00 +T 1A 02 00 00 R 00 00 01 00 -T 13 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 25 73 20 50 50 50 2F 49 50 43 50 -R 00 00 02 00 -T 0B 00 00 00 20 53 65 74 74 69 6E 67 20 6E 65 -R 00 00 02 00 -T 16 00 00 00 77 20 49 50 20 61 64 64 72 65 73 -R 00 00 02 00 -T 21 00 00 00 73 3A 20 25 73 00 -R 00 00 02 00 -T 27 00 00 00 -R 00 00 02 00 -T 27 00 00 00 25 73 20 50 50 50 2F 49 50 43 50 -R 00 00 02 00 -T 32 00 00 00 20 43 6F 6D 70 72 65 73 73 69 6F -R 00 00 02 00 -T 3D 00 00 00 6E 20 65 6E 61 62 6C 65 64 3B 20 -R 00 00 02 00 -T 48 00 00 00 52 65 63 76 20 73 6C 6F 74 73 20 -R 00 00 02 00 -T 53 00 00 00 3D 20 25 64 2C 20 66 6C 61 67 20 -R 00 00 02 00 -T 5E 00 00 00 3D 20 25 78 3B 20 58 6D 69 74 20 -R 00 00 02 00 -T 69 00 00 00 73 6C 6F 74 73 20 3D 20 25 64 2C -R 00 00 02 00 -T 74 00 00 00 20 66 6C 61 67 20 3D 20 25 78 00 -R 00 00 02 00 +T 1A 02 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/ppp_lib/ipcp_option.rel b/src/nos/lib/ppp_lib/ipcp_option.rel index cf025941..c4ea4611 100644 --- a/src/nos/lib/ppp_lib/ipcp_option.rel +++ b/src/nos/lib/ppp_lib/ipcp_option.rel @@ -1,39 +1,43 @@ XL4 -H 3 areas 10 global symbols +H 2 areas 15 global symbols S _put16 Ref00000000 S _inet_ntoa Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___006e_5a16__20_20_20_20making_ Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _alloc_mbuf Ref00000000 S .__.ABS. Def00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S ?SS_CMP_L02 Ref00000000 +S ___006c_fe7a__20_20_20_20making_ Ref00000000 S _pull8 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _append Ref00000000 +S ___0074_6fd3__20_20_20_20with_20 Ref00000000 +S ___0072_fa1f__20_20_20_20making_ Ref00000000 S _put32 Ref00000000 +S ___006d_c25d__20_20_20_20making_ Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 287 flags 0 +A CODE size 29B flags 0 S _ipcp_option Def00000000 -A CSTR size B2 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF DD 5E 0C 16 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 09 00 T 09 00 00 00 00 1B 1B DD 73 FE DD 72 FF DD 5E R 00 00 01 00 T 14 00 00 00 0C 16 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 04 00 +R 00 00 01 00 2B 08 06 00 T 1A 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 04 00 02 09 02 00 +R 00 00 01 00 02 04 06 00 02 09 02 00 T 21 00 00 00 FA DD 74 FB 7D B4 20 03 R 00 00 01 00 T 29 00 00 00 R 00 00 01 00 -T 29 00 00 00 C3 84 02 00 00 +T 29 00 00 00 C3 98 02 00 00 R 00 00 01 00 00 05 01 00 T 2C 00 00 00 R 00 00 01 00 @@ -47,7 +51,7 @@ T 4D 00 00 00 6E FC DD 66 FD 23 DD 75 FC DD 74 R 00 00 01 00 T 58 00 00 00 FD 2B DD 46 0C 70 DD 7E 0A FE 01 R 00 00 01 00 -T 63 00 00 00 C2 25 01 00 00 +T 63 00 00 00 C2 2D 01 00 00 R 00 00 01 00 00 05 01 00 T 66 00 00 00 R 00 00 01 00 @@ -56,7 +60,7 @@ R 00 00 01 00 T 71 00 00 00 23 5E 23 56 D5 C5 DD 5E FC DD 56 R 00 00 01 00 T 7C 00 00 00 FD 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 +R 00 00 01 00 2B 06 11 00 02 0B 11 00 T 82 00 00 00 CD 00 00 00 00 F1 F1 DD 75 FC DD R 00 00 01 00 02 05 02 00 T 8B 00 00 00 74 FD 21 06 00 DD 4E 04 DD 46 05 @@ -64,208 +68,170 @@ R 00 00 01 00 T 96 00 00 00 09 4E 23 46 23 5E 23 56 D5 C5 DD R 00 00 01 00 T A1 00 00 00 5E FC DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0D 00 +R 00 00 01 00 2B 0A 11 00 T A9 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0D 00 02 09 02 00 +R 00 00 01 00 02 04 11 00 02 09 02 00 T B0 00 00 00 DD 75 FC DD 74 FD 21 04 00 39 7E R 00 00 01 00 T BB 00 00 00 D6 08 77 23 7E DE 00 77 3A R 00 00 01 00 -T C4 00 00 00 00 00 00 00 E6 08 28 58 -R 00 00 01 00 02 04 0E 00 +T C4 00 00 00 00 00 00 00 E6 08 28 60 +R 00 00 01 00 02 04 13 00 T CA 00 00 00 R 00 00 01 00 T CA 00 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 T D5 00 00 00 23 4E 23 46 3E 00 00 00 00 21 R 00 00 01 00 2B 09 01 00 -T DC 00 00 00 00 00 00 00 CD 00 00 00 00 E5 21 -R 00 00 01 00 02 04 01 00 02 09 02 00 -T E3 00 00 00 00 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 06 00 -T EA 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 08 00 02 0A 08 00 -T F0 00 00 00 00 00 00 00 E1 E1 E1 21 06 00 DD -R 00 00 01 00 02 04 02 00 -T F9 00 00 00 4E 04 DD 46 05 09 5E 23 56 23 4E -R 00 00 01 00 -T 04 01 00 00 23 46 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 01 00 -T 09 01 00 00 00 00 00 00 CD 00 00 00 00 E5 21 +T DC 00 00 00 00 00 00 00 CD 00 00 00 00 E5 0E R 00 00 01 00 02 04 01 00 02 09 02 00 -T 10 01 00 00 21 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 06 00 -T 17 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 08 00 02 0A 08 00 -T 1D 01 00 00 00 00 00 00 E1 E1 E1 -R 00 00 01 00 02 04 02 00 -T 22 01 00 00 +T E3 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 +T E9 00 00 00 2A 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 08 00 2B 0B 04 00 +T EF 00 00 00 21 00 00 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 05 04 00 02 0A 02 00 +T F6 00 00 00 E1 E1 E1 21 06 00 DD 4E 04 DD 46 +R 00 00 01 00 +T 01 01 00 00 05 09 5E 23 56 23 4E 23 46 3E +R 00 00 01 00 +T 0B 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 01 00 02 09 01 00 +T 10 01 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 +R 00 00 01 00 02 04 02 00 2B 0A 12 00 +T 16 01 00 00 21 00 00 00 00 E5 2A 00 00 00 00 +R 00 00 01 00 02 05 12 00 02 0B 08 00 +T 1D 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 04 00 02 0B 04 00 +T 23 01 00 00 CD 00 00 00 00 E1 E1 E1 E1 +R 00 00 01 00 02 05 02 00 +T 2A 01 00 00 R 00 00 01 00 -T 22 01 00 00 C3 23 02 00 00 +T 2A 01 00 00 C3 37 02 00 00 R 00 00 01 00 00 05 01 00 -T 25 01 00 00 +T 2D 01 00 00 R 00 00 01 00 -T 25 01 00 00 FE 02 C2 01 02 00 00 21 0A 00 DD +T 2D 01 00 00 FE 02 C2 11 02 00 00 21 0A 00 DD R 00 00 01 00 00 07 01 00 -T 2E 01 00 00 4E 04 DD 46 05 09 4E 23 46 DD 5E +T 36 01 00 00 4E 04 DD 46 05 09 4E 23 46 DD 5E R 00 00 01 00 -T 39 01 00 00 FC DD 56 FD 3E 00 00 00 00 21 +T 41 01 00 00 FC DD 56 FD 3E 00 00 00 00 21 R 00 00 01 00 2B 09 00 00 -T 40 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +T 48 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 00 00 02 09 02 00 -T 47 01 00 00 FC DD 74 FD 21 04 00 39 7E D6 02 +T 4F 01 00 00 FC DD 74 FD 21 04 00 39 7E D6 02 R 00 00 01 00 -T 52 01 00 00 77 23 7E DE 00 77 3A 00 00 00 00 -R 00 00 01 00 02 0B 0E 00 -T 5B 01 00 00 E6 08 28 21 +T 5A 01 00 00 77 23 7E DE 00 77 3A 00 00 00 00 +R 00 00 01 00 02 0B 13 00 +T 63 01 00 00 E6 08 28 25 R 00 00 01 00 -T 5F 01 00 00 +T 67 01 00 00 R 00 00 01 00 -T 5F 01 00 00 21 0A 00 DD 4E 04 DD 46 05 09 4E +T 67 01 00 00 21 0A 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 -T 6A 01 00 00 23 46 C5 21 46 00 00 00 E5 2A -R 00 00 01 00 00 08 02 00 -T 72 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 06 00 2B 0A 08 00 -T 78 01 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 08 00 02 09 02 00 -T 7F 01 00 00 E1 +T 72 01 00 00 23 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 0B 00 +T 79 01 00 00 00 00 00 00 E5 2A 00 00 00 00 E5 +R 00 00 01 00 02 04 0B 00 02 0A 08 00 +T 80 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 04 00 02 0A 04 00 +T 86 01 00 00 00 00 00 00 E1 E1 E1 E1 +R 00 00 01 00 02 04 02 00 +T 8C 01 00 00 R 00 00 01 00 -T 80 01 00 00 +T 8C 01 00 00 21 0A 00 DD 4E 04 DD 46 05 09 3E R 00 00 01 00 -T 80 01 00 00 21 0A 00 DD 4E 04 DD 46 05 09 3E +T 97 01 00 00 2D AE 23 B6 20 72 R 00 00 01 00 -T 8B 01 00 00 2D AE 23 B6 20 6E +T 9D 01 00 00 R 00 00 01 00 -T 91 01 00 00 +T 9D 01 00 00 21 0C 00 DD 4E 04 DD 46 05 09 7E R 00 00 01 00 -T 91 01 00 00 21 0C 00 DD 4E 04 DD 46 05 09 7E +T A8 01 00 00 C6 FF DD 6E FC DD 66 FD 23 DD 75 R 00 00 01 00 -T 9C 01 00 00 C6 FF DD 6E FC DD 66 FD 23 DD 75 +T B3 01 00 00 FC DD 74 FD 2B 77 21 0E 00 09 46 R 00 00 01 00 -T A7 01 00 00 FC DD 74 FD 2B 77 21 0E 00 09 46 +T BE 01 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD R 00 00 01 00 -T B2 01 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD +T C9 01 00 00 74 FD 2B 70 21 04 00 39 7E D6 02 R 00 00 01 00 -T BD 01 00 00 74 FD 2B 70 21 04 00 39 7E D6 02 +T D4 01 00 00 77 23 7E DE 00 77 3A 00 00 00 00 +R 00 00 01 00 02 0B 13 00 +T DD 01 00 00 E6 08 28 2E R 00 00 01 00 -T C8 01 00 00 77 23 7E DE 00 77 3A 00 00 00 00 -R 00 00 01 00 02 0B 0E 00 -T D1 01 00 00 E6 08 28 2A +T E1 01 00 00 R 00 00 01 00 -T D5 01 00 00 +T E1 01 00 00 21 0E 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 -T D5 01 00 00 21 0E 00 DD 4E 04 DD 46 05 09 5E +T EC 01 00 00 16 00 D5 21 0C 00 09 4E 23 46 C5 R 00 00 01 00 -T E0 01 00 00 16 00 D5 21 0C 00 09 4E 23 46 C5 +T F7 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 +T FD 01 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 08 00 +T 03 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 08 02 00 00 00 00 00 00 E1 E1 E1 E1 E1 +R 00 00 01 00 02 04 02 00 +T 0F 02 00 00 R 00 00 01 00 -T EB 01 00 00 21 67 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T F2 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T F8 01 00 00 CD 00 00 00 00 E1 E1 E1 E1 -R 00 00 01 00 02 05 02 00 -T FF 01 00 00 +T 0F 02 00 00 R 00 00 01 00 -T FF 01 00 00 +T 0F 02 00 00 18 26 R 00 00 01 00 -T FF 01 00 00 18 22 +T 11 02 00 00 R 00 00 01 00 -T 01 02 00 00 +T 11 02 00 00 3A 00 00 00 00 E6 08 28 1D +R 00 00 01 00 02 05 13 00 +T 18 02 00 00 R 00 00 01 00 -T 01 02 00 00 3A 00 00 00 00 E6 08 28 19 -R 00 00 01 00 02 05 0E 00 -T 08 02 00 00 +T 18 02 00 00 DD 4E 0A 06 00 C5 0E 00 00 00 00 +R 00 00 01 00 2B 0B 10 00 +T 20 02 00 00 C5 21 00 00 00 00 E5 2A +R 00 00 01 00 02 06 10 00 +T 26 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 08 00 2B 0A 04 00 +T 2C 02 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 04 00 02 09 02 00 +T 33 02 00 00 E1 E1 R 00 00 01 00 -T 08 02 00 00 DD 4E 0A 06 00 C5 21 91 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 11 02 00 00 E5 2A 00 00 00 00 E5 3E -R 00 00 01 00 02 06 06 00 -T 17 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T 1C 02 00 00 00 00 00 00 E1 E1 E1 -R 00 00 01 00 02 04 02 00 -T 21 02 00 00 +T 35 02 00 00 R 00 00 01 00 -T 21 02 00 00 18 00 +T 35 02 00 00 18 00 R 00 00 01 00 -T 23 02 00 00 +T 37 02 00 00 R 00 00 01 00 -T 23 02 00 00 +T 37 02 00 00 R 00 00 01 00 -T 23 02 00 00 DD 4E FE DD 46 FF 0B DD 71 FE DD +T 37 02 00 00 DD 4E FE DD 46 FF 0B DD 71 FE DD R 00 00 01 00 -T 2E 02 00 00 70 FF 03 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 09 00 -T 37 02 00 00 30 21 +T 42 02 00 00 70 FF 03 21 00 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 0A 00 +T 4B 02 00 00 30 21 R 00 00 01 00 -T 39 02 00 00 +T 4D 02 00 00 R 00 00 01 00 -T 39 02 00 00 DD 5E 0E DD 56 0F 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0A 00 -T 41 02 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 0A 00 02 0A 02 00 -T 48 02 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD +T 4D 02 00 00 DD 5E 0E DD 56 0F 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0C 00 +T 55 02 00 00 21 00 00 00 00 CD 00 00 00 00 E5 +R 00 00 01 00 02 05 0C 00 02 0A 02 00 +T 5C 02 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD R 00 00 01 00 -T 53 02 00 00 74 FD 2B C1 71 18 C9 +T 67 02 00 00 74 FD 2B C1 71 18 C9 R 00 00 01 00 -T 5A 02 00 00 +T 6E 02 00 00 R 00 00 01 00 -T 5A 02 00 00 21 0C 00 DD 4E FA DD 46 FB 09 DD +T 6E 02 00 00 21 0C 00 DD 4E FA DD 46 FB 09 DD R 00 00 01 00 -T 65 02 00 00 5E 0C 16 00 7E 83 77 23 7E 8A 77 +T 79 02 00 00 5E 0C 16 00 7E 83 77 23 7E 8A 77 R 00 00 01 00 -T 70 02 00 00 21 00 00 39 4D 44 DD 5E 02 DD 56 +T 84 02 00 00 21 00 00 39 4D 44 DD 5E 02 DD 56 R 00 00 01 00 -T 7B 02 00 00 03 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 -T 81 02 00 00 CD 00 00 00 00 +T 8F 02 00 00 03 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 +T 95 02 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 02 00 -T 84 02 00 00 +T 98 02 00 00 R 00 00 01 00 -T 84 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 20 20 20 20 6D 61 6B 69 6E 67 20 -R 00 00 02 00 -T 0B 00 00 00 49 50 20 73 6F 75 72 63 65 20 61 -R 00 00 02 00 -T 16 00 00 00 64 64 72 65 73 73 3A 20 25 73 00 -R 00 00 02 00 -T 21 00 00 00 -R 00 00 02 00 -T 21 00 00 00 20 20 20 20 6D 61 6B 69 6E 67 20 -R 00 00 02 00 -T 2C 00 00 00 49 50 20 64 65 73 74 69 6E 61 74 -R 00 00 02 00 -T 37 00 00 00 69 6F 6E 20 61 64 64 72 65 73 73 -R 00 00 02 00 -T 42 00 00 00 20 25 73 00 -R 00 00 02 00 -T 46 00 00 00 -R 00 00 02 00 -T 46 00 00 00 20 20 20 20 6D 61 6B 69 6E 67 20 -R 00 00 02 00 -T 51 00 00 00 49 50 20 63 6F 6D 70 72 65 73 73 -R 00 00 02 00 -T 5C 00 00 00 69 6F 6E 20 30 78 25 30 34 78 00 -R 00 00 02 00 -T 67 00 00 00 -R 00 00 02 00 -T 67 00 00 00 20 20 20 20 77 69 74 68 20 49 50 -R 00 00 02 00 -T 72 00 00 00 20 63 6F 6D 70 72 65 73 73 69 6F -R 00 00 02 00 -T 7D 00 00 00 6E 20 73 6C 6F 74 73 20 25 64 2C -R 00 00 02 00 -T 88 00 00 00 20 66 6C 61 67 20 25 78 00 -R 00 00 02 00 -T 91 00 00 00 -R 00 00 02 00 -T 91 00 00 00 20 20 20 20 6D 61 6B 69 6E 67 20 -R 00 00 02 00 -T 9C 00 00 00 75 6E 69 6D 70 6C 65 6D 65 6E 74 -R 00 00 02 00 -T A7 00 00 00 65 64 20 74 79 70 65 20 25 64 00 -R 00 00 02 00 +T 98 02 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 05 00 diff --git a/src/nos/lib/ppp_lib/ipcp_reject.rel b/src/nos/lib/ppp_lib/ipcp_reject.rel index a0b2a67e..614ea0b1 100644 --- a/src/nos/lib/ppp_lib/ipcp_reject.rel +++ b/src/nos/lib/ppp_lib/ipcp_reject.rel @@ -1,28 +1,34 @@ XL4 -H 3 areas 10 global symbols +H 2 areas 17 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _ntohopt Ref00000000 +S ___0588_269f_ipcp_5freject_28_29 Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___02e8_77fc_IPCP_20REJ_3a_20bad Ref00000000 +S ___02ea_ea7f_IPCP_20REJ_3a_20opt Ref00000000 S .__.ABS. Def00000000 S ?S_LSH_L02 Ref00000000 S _PPPiface Ref00000000 S ?SL_CMP_L03 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 +S ___02eb_a959_IPCP_20REJ_3a_20ran Ref00000000 S ?SS_CMP_L02 Ref00000000 S _free_p Ref00000000 S _pull8 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___02ec_3342_IPCP_20REJ_3a_20val Ref00000000 S ?L_SUBASG_L03 Ref00000000 +S ___02ed_3c15_IPCP_20REJ_3a_20wro Ref00000000 +S ___02e9_e0d3_IPCP_20REJ_3a_20opt Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 24A flags 0 +A CODE size 266 flags 0 S _ipcp_reject Def00000000 -A CSTR size A3 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F2 FF 21 1C 00 DD -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 0B 00 T 09 00 00 00 5E 02 DD 56 03 19 56 23 66 6A DD R 00 00 01 00 T 14 00 00 00 75 F2 DD 74 F3 DD 75 F4 DD 74 F5 @@ -33,285 +39,249 @@ T 2A 00 00 00 75 F6 DD 74 F7 DD 71 F8 DD 70 F9 R 00 00 01 00 T 35 00 00 00 AF DD 77 FC DD 77 FD 3A R 00 00 01 00 -T 3D 00 00 00 00 00 00 00 E6 80 28 12 -R 00 00 01 00 02 04 0E 00 +T 3D 00 00 00 00 00 00 00 E6 80 28 16 +R 00 00 01 00 02 04 15 00 T 43 00 00 00 R 00 00 01 00 -T 43 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 4A 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T 50 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 DD 6E 02 DD 66 03 23 E5 DD 6E 04 -R 00 00 01 00 -T 60 00 00 00 DD 66 05 23 7E E1 BE 28 2D -R 00 00 01 00 -T 69 00 00 00 -R 00 00 01 00 -T 69 00 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 21 0E 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 77 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T 7D 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 82 00 00 00 -R 00 00 01 00 -T 82 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0A 00 -T 8A 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0A 00 02 0A 00 00 -T 91 00 00 00 FF FF C3 47 02 00 00 +T 43 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 +T 49 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 09 00 +T 4F 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 54 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 59 00 00 00 +R 00 00 01 00 +T 59 00 00 00 DD 6E 02 DD 66 03 23 E5 DD 6E 04 +R 00 00 01 00 +T 64 00 00 00 DD 66 05 23 7E E1 BE 28 31 +R 00 00 01 00 +T 6D 00 00 00 +R 00 00 01 00 +T 6D 00 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T 74 00 00 00 +R 00 00 01 00 +T 74 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 13 00 02 0B 13 00 +T 7A 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 09 00 +T 80 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 85 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 8A 00 00 00 +R 00 00 01 00 +T 8A 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0E 00 +T 92 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 0E 00 02 0A 00 00 +T 99 00 00 00 FF FF C3 63 02 00 00 R 00 00 01 00 00 07 01 00 -T 96 00 00 00 +T 9E 00 00 00 R 00 00 01 00 -T 96 00 00 00 +T 9E 00 00 00 R 00 00 01 00 -T 96 00 00 00 DD 6E F8 DD 66 F9 E5 DD 6E F6 DD +T 9E 00 00 00 DD 6E F8 DD 66 F9 E5 DD 6E F6 DD R 00 00 01 00 -T A1 00 00 00 66 F7 E5 01 00 00 21 00 00 CD +T A9 00 00 00 66 F7 E5 01 00 00 21 00 00 CD R 00 00 01 00 -T AB 00 00 00 00 00 00 00 D2 1D 02 00 00 DD 4E -R 00 00 01 00 02 04 06 00 00 09 01 00 -T B2 00 00 00 0A DD 46 0B 21 08 00 39 5D 54 3E +T B3 00 00 00 00 00 00 00 D2 35 02 00 00 DD 4E +R 00 00 01 00 02 04 0A 00 00 09 01 00 +T BA 00 00 00 0A DD 46 0B 21 08 00 39 5D 54 3E R 00 00 01 00 -T BD 00 00 00 00 00 00 00 21 00 00 00 00 CD +T C5 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 01 00 02 09 01 00 -T C2 00 00 00 00 00 00 00 7D A4 3C CA +T CA 00 00 00 00 00 00 00 7D A4 3C CA R 00 00 01 00 02 04 00 00 -T C8 00 00 00 1D 02 00 00 +T D0 00 00 00 35 02 00 00 R 00 00 01 00 00 04 01 00 -T CA 00 00 00 +T D2 00 00 00 R 00 00 01 00 -T CA 00 00 00 +T D2 00 00 00 R 00 00 01 00 -T CA 00 00 00 +T D2 00 00 00 R 00 00 01 00 -T CA 00 00 00 21 04 00 39 DD 5E FB 01 00 00 51 +T D2 00 00 00 21 04 00 39 DD 5E FB 01 00 00 51 R 00 00 01 00 -T D5 00 00 00 CD 00 00 00 00 CB 78 28 2D -R 00 00 01 00 02 05 0D 00 -T DC 00 00 00 -R 00 00 01 00 -T DC 00 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T E3 00 00 00 -R 00 00 01 00 -T E3 00 00 00 21 21 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T EA 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T F0 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T F5 00 00 00 -R 00 00 01 00 -T F5 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0A 00 -T FD 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0A 00 02 0A 00 00 -T 04 01 00 00 FF FF C3 47 02 00 00 +T DD 00 00 00 CD 00 00 00 00 CB 78 28 31 +R 00 00 01 00 02 05 12 00 +T E4 00 00 00 +R 00 00 01 00 +T E4 00 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T EB 00 00 00 +R 00 00 01 00 +T EB 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 +T F1 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 09 00 +T F7 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T FC 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 01 01 00 00 +R 00 00 01 00 +T 01 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0E 00 +T 09 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 0E 00 02 0A 00 00 +T 10 01 00 00 FF FF C3 63 02 00 00 R 00 00 01 00 00 07 01 00 -T 09 01 00 00 +T 15 01 00 00 R 00 00 01 00 -T 09 01 00 00 3E 02 DD BE FA 30 1B +T 15 01 00 00 3E 02 DD BE FA 30 1F R 00 00 01 00 -T 10 01 00 00 +T 1C 01 00 00 R 00 00 01 00 -T 10 01 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T 17 01 00 00 +T 1C 01 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T 23 01 00 00 R 00 00 01 00 -T 17 01 00 00 21 3D 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 1E 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T 24 01 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 29 01 00 00 +T 23 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 +T 29 01 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 09 00 +T 2F 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 34 01 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 39 01 00 00 R 00 00 01 00 -T 29 01 00 00 18 59 +T 39 01 00 00 18 5D R 00 00 01 00 -T 2B 01 00 00 +T 3B 01 00 00 R 00 00 01 00 -T 2B 01 00 00 DD 6E FA 26 00 DD 4E FC DD 46 FD +T 3B 01 00 00 DD 6E FA 26 00 DD 4E FC DD 46 FD R 00 00 01 00 -T 36 01 00 00 CD 00 00 00 00 38 1C 21 11 00 DD -R 00 00 01 00 02 05 09 00 -T 3F 01 00 00 4E F4 DD 46 F5 09 DD 46 FA 11 +T 46 01 00 00 CD 00 00 00 00 38 1C 21 11 00 DD +R 00 00 01 00 02 05 0D 00 +T 4F 01 00 00 4E F4 DD 46 F5 09 DD 46 FA 11 R 00 00 01 00 -T 49 01 00 00 01 00 CD 00 00 00 00 7E A3 47 23 -R 00 00 01 00 02 07 04 00 -T 52 01 00 00 7E A2 B0 20 2D +T 59 01 00 00 01 00 CD 00 00 00 00 7E A3 47 23 +R 00 00 01 00 02 07 08 00 +T 62 01 00 00 7E A2 B0 20 31 R 00 00 01 00 -T 57 01 00 00 +T 67 01 00 00 R 00 00 01 00 -T 57 01 00 00 +T 67 01 00 00 R 00 00 01 00 -T 57 01 00 00 +T 67 01 00 00 R 00 00 01 00 -T 57 01 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T 5E 01 00 00 +T 67 01 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T 6E 01 00 00 R 00 00 01 00 -T 5E 01 00 00 21 5B 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 65 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T 6B 01 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 70 01 00 00 +T 6E 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 14 00 02 0B 14 00 +T 74 01 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 09 00 +T 7A 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 7F 01 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 84 01 00 00 R 00 00 01 00 -T 70 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0A 00 -T 78 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0A 00 02 0A 00 00 -T 7F 01 00 00 FF FF C3 47 02 00 00 +T 84 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0E 00 +T 8C 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 0E 00 02 0A 00 00 +T 93 01 00 00 FF FF C3 63 02 00 00 R 00 00 01 00 00 07 01 00 -T 84 01 00 00 +T 98 01 00 00 R 00 00 01 00 -T 84 01 00 00 +T 98 01 00 00 R 00 00 01 00 -T 84 01 00 00 DD 4E FB 06 00 0B 0B DD 71 FE DD +T 98 01 00 00 DD 4E FB 06 00 0B 0B DD 71 FE DD R 00 00 01 00 -T 8F 01 00 00 70 FF +T A3 01 00 00 70 FF R 00 00 01 00 -T 91 01 00 00 +T A5 01 00 00 R 00 00 01 00 -T 91 01 00 00 DD 4E FE DD 46 FF 0B DD 71 FE DD +T A5 01 00 00 DD 4E FE DD 46 FF 0B DD 71 FE DD R 00 00 01 00 -T 9C 01 00 00 70 FF 03 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 09 00 -T A5 01 00 00 30 41 +T B0 01 00 00 70 FF 03 21 00 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 0D 00 +T B9 01 00 00 30 45 R 00 00 01 00 -T A7 01 00 00 +T BB 01 00 00 R 00 00 01 00 -T A7 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 -T AF 01 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 0B 00 02 0A 00 00 -T B6 01 00 00 A4 3C 20 2C +T BB 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0F 00 +T C3 01 00 00 21 00 00 00 00 CD 00 00 00 00 7D +R 00 00 01 00 02 05 0F 00 02 0A 00 00 +T CA 01 00 00 A4 3C 20 30 R 00 00 01 00 -T BA 01 00 00 +T CE 01 00 00 R 00 00 01 00 -T BA 01 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T C1 01 00 00 +T CE 01 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T D5 01 00 00 R 00 00 01 00 -T C1 01 00 00 21 79 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T C8 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T CE 01 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T D3 01 00 00 +T D5 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 +T DB 01 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 09 00 +T E1 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T E6 01 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T EB 01 00 00 R 00 00 01 00 -T D3 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0A 00 -T DB 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0A 00 02 0A 00 00 -T E2 01 00 00 FF FF 18 61 +T EB 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0E 00 +T F3 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 0E 00 02 0A 00 00 +T FA 01 00 00 FF FF 18 65 R 00 00 01 00 -T E6 01 00 00 +T FE 01 00 00 R 00 00 01 00 -T E6 01 00 00 18 A9 +T FE 01 00 00 18 A5 R 00 00 01 00 -T E8 01 00 00 +T 00 02 00 00 R 00 00 01 00 -T E8 01 00 00 DD 4E FA 06 00 DD 71 FC DD 70 FD +T 00 02 00 00 DD 4E FA 06 00 DD 71 FC DD 70 FD R 00 00 01 00 -T F3 01 00 00 3E 02 DD BE FA 38 20 +T 0B 02 00 00 3E 02 DD BE FA 38 20 R 00 00 01 00 -T FA 01 00 00 +T 12 02 00 00 R 00 00 01 00 -T FA 01 00 00 DD 46 FA 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 04 00 -T 03 02 00 00 7B 2F 5F 7A 2F 57 21 11 00 DD 4E +T 12 02 00 00 DD 46 FA 11 01 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 08 00 +T 1B 02 00 00 7B 2F 5F 7A 2F 57 21 11 00 DD 4E R 00 00 01 00 -T 0E 02 00 00 F4 DD 46 F5 09 7E A3 77 23 7E A2 +T 26 02 00 00 F4 DD 46 F5 09 7E A3 77 23 7E A2 R 00 00 01 00 -T 19 02 00 00 77 +T 31 02 00 00 77 R 00 00 01 00 -T 1A 02 00 00 +T 32 02 00 00 R 00 00 01 00 -T 1A 02 00 00 C3 96 00 00 00 +T 32 02 00 00 C3 9E 00 00 00 R 00 00 01 00 00 05 01 00 -T 1D 02 00 00 -R 00 00 01 00 -T 1D 02 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T 24 02 00 00 -R 00 00 01 00 -T 24 02 00 00 21 93 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 2B 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T 31 02 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 36 02 00 00 -R 00 00 01 00 -T 36 02 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0A 00 -T 3E 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0A 00 02 0A 00 00 -T 45 02 00 00 00 00 -R 00 00 01 00 -T 47 02 00 00 -R 00 00 01 00 -T 47 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 69 70 63 70 5F 72 65 6A 65 63 74 -R 00 00 02 00 -T 0B 00 00 00 28 29 00 -R 00 00 02 00 -T 0E 00 00 00 -R 00 00 02 00 -T 0E 00 00 00 49 50 43 50 20 52 45 4A 3A 20 77 -R 00 00 02 00 -T 19 00 00 00 72 6F 6E 67 20 49 44 00 -R 00 00 02 00 -T 21 00 00 00 -R 00 00 02 00 -T 21 00 00 00 49 50 43 50 20 52 45 4A 3A 20 62 -R 00 00 02 00 -T 2C 00 00 00 61 64 20 68 65 61 64 65 72 20 6C -R 00 00 02 00 -T 37 00 00 00 65 6E 67 74 68 00 -R 00 00 02 00 -T 3D 00 00 00 -R 00 00 02 00 -T 3D 00 00 00 49 50 43 50 20 52 45 4A 3A 20 6F -R 00 00 02 00 -T 48 00 00 00 70 74 69 6F 6E 20 6F 75 74 20 6F -R 00 00 02 00 -T 53 00 00 00 66 20 72 61 6E 67 65 00 -R 00 00 02 00 -T 5B 00 00 00 -R 00 00 02 00 -T 5B 00 00 00 49 50 43 50 20 52 45 4A 3A 20 6F -R 00 00 02 00 -T 66 00 00 00 70 74 69 6F 6E 20 6F 75 74 20 6F -R 00 00 02 00 -T 71 00 00 00 66 20 6F 72 64 65 72 00 -R 00 00 02 00 -T 79 00 00 00 -R 00 00 02 00 -T 79 00 00 00 49 50 43 50 20 52 45 4A 3A 20 72 -R 00 00 02 00 -T 84 00 00 00 61 6E 20 6F 75 74 20 6F 66 20 64 -R 00 00 02 00 -T 8F 00 00 00 61 74 61 00 -R 00 00 02 00 -T 93 00 00 00 -R 00 00 02 00 -T 93 00 00 00 49 50 43 50 20 52 45 4A 3A 20 76 -R 00 00 02 00 -T 9E 00 00 00 61 6C 69 64 00 -R 00 00 02 00 +T 35 02 00 00 +R 00 00 01 00 +T 35 02 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T 3C 02 00 00 +R 00 00 01 00 +T 3C 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 11 00 02 0B 11 00 +T 42 02 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 09 00 +T 48 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 4D 02 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 52 02 00 00 +R 00 00 01 00 +T 52 02 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0E 00 +T 5A 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 0E 00 02 0A 00 00 +T 61 02 00 00 00 00 +R 00 00 01 00 +T 63 02 00 00 +R 00 00 01 00 +T 63 02 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/ppp_lib/ipcp_request.rel b/src/nos/lib/ppp_lib/ipcp_request.rel index 478d3706..c966a017 100644 --- a/src/nos/lib/ppp_lib/ipcp_request.rel +++ b/src/nos/lib/ppp_lib/ipcp_request.rel @@ -1,18 +1,26 @@ XL4 -H 3 areas 15 global symbols +H 2 areas 1D global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?S_S_SWITCH_L06 Ref00000000 S _ipcp_check Ref00000000 S _ntohopt Ref00000000 S _fsm_send Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___02f0_4065_IPCP_20REQ_3a_20res Ref00000000 +S ___02ef_a1a1_IPCP_20REQ_3a_20ran Ref00000000 +S ___getfail Ref00000000 S .__.ABS. Def00000000 +S ___02ee_497c_IPCP_20REQ_3a_20bad Ref00000000 +S _free Ref00000000 +S ___0589_0241_ipcp_5frequest_28_2 Ref00000000 S _ipcp_option Ref00000000 +S __gettext Ref00000000 S ?S_LSH_L02 Ref00000000 S _PPPiface Ref00000000 S ?SL_CMP_L03 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 +S ?S_MUL_L02 Ref00000000 S ?SS_CMP_L02 Ref00000000 S _free_p Ref00000000 S _fsmCodes Ref00000000 @@ -21,346 +29,349 @@ S ?CL64180B_4_06_L00 Ref00000000 S ?L_SUBASG_L03 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 337 flags 0 +A CODE size 397 flags 0 S _ipcp_request Def00000000 -A CSTR size 6F flags 0 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F0 FF 21 1C 00 DD -R 00 00 01 00 02 05 0B 00 +T 00 00 00 00 CD 00 00 00 00 EE FF 21 1C 00 DD +R 00 00 01 00 02 05 13 00 T 09 00 00 00 5E 02 DD 56 03 19 56 23 66 6A DD R 00 00 01 00 -T 14 00 00 00 75 F0 DD 74 F1 03 03 0A 6F 03 0A +T 14 00 00 00 75 EE DD 74 EF 03 03 0A 6F 03 0A R 00 00 01 00 -T 1F 00 00 00 67 01 00 00 DD 75 F2 DD 74 F3 DD +T 1F 00 00 00 67 01 00 00 DD 75 F0 DD 74 F1 DD R 00 00 01 00 -T 2A 00 00 00 71 F4 DD 70 F5 AF DD 77 F6 DD 77 +T 2A 00 00 00 71 F2 DD 70 F3 AF DD 77 F4 DD 77 R 00 00 01 00 -T 35 00 00 00 F7 DD 36 F8 02 DD 36 F9 00 3A +T 35 00 00 00 F5 DD 36 F6 02 DD 36 F7 00 3A R 00 00 01 00 -T 3F 00 00 00 00 00 00 00 E6 80 28 12 -R 00 00 01 00 02 04 13 00 +T 3F 00 00 00 00 00 00 00 E6 80 28 16 +R 00 00 01 00 02 04 1B 00 T 45 00 00 00 R 00 00 01 00 -T 45 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 09 00 -T 4C 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 -T 52 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 57 00 00 00 +T 45 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 +T 4B 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 11 00 +T 51 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 56 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 5B 00 00 00 R 00 00 01 00 -T 57 00 00 00 21 31 00 DD 4E F0 DD 46 F1 09 AF +T 5B 00 00 00 21 31 00 DD 4E EE DD 46 EF 09 AF R 00 00 01 00 -T 62 00 00 00 77 23 77 +T 66 00 00 00 77 23 77 R 00 00 01 00 -T 65 00 00 00 +T 69 00 00 00 R 00 00 01 00 -T 65 00 00 00 DD 6E F4 DD 66 F5 E5 DD 6E F2 DD +T 69 00 00 00 DD 6E F2 DD 66 F3 E5 DD 6E F0 DD R 00 00 01 00 -T 70 00 00 00 66 F3 E5 01 00 00 21 00 00 CD +T 74 00 00 00 66 F1 E5 01 00 00 21 00 00 CD R 00 00 01 00 -T 7A 00 00 00 00 00 00 00 D2 28 02 00 00 DD 4E -R 00 00 01 00 02 04 0A 00 00 09 01 00 -T 81 00 00 00 0A DD 46 0B 21 0C 00 39 5D 54 3E +T 7E 00 00 00 00 00 00 00 D2 88 02 00 00 DD 4E +R 00 00 01 00 02 04 12 00 00 09 01 00 +T 85 00 00 00 0A DD 46 0B 21 0C 00 39 5D 54 3E R 00 00 01 00 -T 8C 00 00 00 00 00 00 00 21 00 00 00 00 CD +T 90 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 91 00 00 00 00 00 00 00 7D A4 3C CA +T 95 00 00 00 00 00 00 00 7D A4 3C CA R 00 00 01 00 02 04 00 00 -T 97 00 00 00 28 02 00 00 +T 9B 00 00 00 88 02 00 00 R 00 00 01 00 00 04 01 00 -T 99 00 00 00 +T 9D 00 00 00 R 00 00 01 00 -T 99 00 00 00 +T 9D 00 00 00 R 00 00 01 00 -T 99 00 00 00 +T 9D 00 00 00 R 00 00 01 00 -T 99 00 00 00 21 02 00 39 DD 5E FD 01 00 00 51 +T 9D 00 00 00 21 02 00 39 DD 5E FB 01 00 00 51 R 00 00 01 00 -T A4 00 00 00 CD 00 00 00 00 CB 78 28 3B -R 00 00 01 00 02 05 12 00 -T AB 00 00 00 +T A8 00 00 00 CD 00 00 00 00 CB 78 28 3F +R 00 00 01 00 02 05 1A 00 +T AF 00 00 00 R 00 00 01 00 -T AB 00 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 13 00 -T B2 00 00 00 +T AF 00 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 1B 00 +T B6 00 00 00 R 00 00 01 00 -T B2 00 00 00 21 0F 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 09 00 -T B9 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 -T BF 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T C4 00 00 00 -R 00 00 01 00 -T C4 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 -T CC 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0E 00 02 0A 00 00 -T D3 00 00 00 06 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0E 00 -T DB 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0E 00 02 09 00 00 -T E1 00 00 00 FF FF C3 34 03 00 00 +T B6 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 +T BC 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 11 00 +T C2 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T C7 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T CC 00 00 00 +R 00 00 01 00 +T CC 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 16 00 +T D4 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 16 00 02 0A 00 00 +T DB 00 00 00 06 00 39 5D 54 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 16 00 +T E3 00 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 16 00 02 09 00 00 +T E9 00 00 00 FF FF C3 94 03 00 00 R 00 00 01 00 00 07 01 00 -T E6 00 00 00 +T EE 00 00 00 R 00 00 01 00 -T E6 00 00 00 21 01 00 E5 21 0E 00 39 E5 21 +T EE 00 00 00 21 01 00 E5 21 0E 00 39 E5 21 R 00 00 01 00 -T F0 00 00 00 20 00 DD 4E F0 DD 46 F1 09 E5 DD +T F8 00 00 00 20 00 DD 4E EE DD 46 EF 09 E5 DD R 00 00 01 00 -T FB 00 00 00 5E 0A DD 56 0B 3E 00 00 00 00 21 +T 03 01 00 00 5E 0A DD 56 0B 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 02 00 -T 03 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +T 0B 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 02 00 02 09 00 00 -T 0A 01 00 00 F1 DD 75 FE DD 74 FF 7D A4 3C 20 +T 12 01 00 00 F1 DD 75 FC DD 74 FD 7D A4 3C 20 R 00 00 01 00 -T 15 01 00 00 3B +T 1D 01 00 00 3F R 00 00 01 00 -T 16 01 00 00 +T 1E 01 00 00 R 00 00 01 00 -T 16 01 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 13 00 -T 1D 01 00 00 +T 1E 01 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 1B 00 +T 25 01 00 00 R 00 00 01 00 -T 1D 01 00 00 21 2B 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 09 00 -T 24 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 -T 2A 01 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 2F 01 00 00 -R 00 00 01 00 -T 2F 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 -T 37 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0E 00 02 0A 00 00 -T 3E 01 00 00 06 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0E 00 -T 46 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0E 00 02 09 00 00 -T 4C 01 00 00 FF FF C3 34 03 00 00 +T 25 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 +T 2B 01 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 11 00 +T 31 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 36 01 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 3B 01 00 00 +R 00 00 01 00 +T 3B 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 16 00 +T 43 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 16 00 02 0A 00 00 +T 4A 01 00 00 06 00 39 5D 54 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 16 00 +T 52 01 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 16 00 02 09 00 00 +T 58 01 00 00 FF FF C3 94 03 00 00 R 00 00 01 00 00 07 01 00 -T 51 01 00 00 +T 5D 01 00 00 R 00 00 01 00 -T 51 01 00 00 3A 00 00 00 00 E6 08 28 30 -R 00 00 01 00 02 05 13 00 -T 58 01 00 00 +T 5D 01 00 00 3A 00 00 00 00 E6 08 CA +R 00 00 01 00 02 05 1B 00 +T 63 01 00 00 E8 01 00 00 +R 00 00 01 00 00 04 01 00 +T 65 01 00 00 +R 00 00 01 00 +T 65 01 00 00 01 03 00 DD 5E FC DD 56 FD CD +R 00 00 01 00 +T 6F 01 00 00 00 00 00 00 21 00 00 00 00 19 5E +R 00 00 01 00 02 04 14 00 02 09 17 00 +T 76 01 00 00 23 56 23 4E 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0F 00 +T 7D 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 0F 00 02 09 00 00 +T 84 01 00 00 FE DD 74 FF 7D B4 20 23 +R 00 00 01 00 +T 8C 01 00 00 R 00 00 01 00 -T 58 01 00 00 DD 4E FD 06 00 C5 DD 4E FC 06 00 +T 8C 01 00 00 01 03 00 DD 5E FC DD 56 FD CD R 00 00 01 00 -T 63 01 00 00 C5 DD 6E FE DD 66 FF 29 01 +T 96 01 00 00 00 00 00 00 21 00 00 00 00 19 5E +R 00 00 01 00 02 04 14 00 02 09 17 00 +T 9D 01 00 00 23 56 23 4E 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 09 00 +T A4 01 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 09 00 02 09 00 00 +T AA 01 00 00 FF FF C3 94 03 00 00 +R 00 00 01 00 00 07 01 00 +T AF 01 00 00 +R 00 00 01 00 +T AF 01 00 00 DD 4E FB 06 00 C5 DD 4E FA 06 00 +R 00 00 01 00 +T BA 01 00 00 C5 DD 6E FE DD 66 FF E5 0E +R 00 00 01 00 +T C3 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 07 00 02 0A 07 00 +T C9 01 00 00 2A 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 11 00 2B 0B 05 00 +T CF 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 05 00 02 0A 00 00 +T D6 01 00 00 0C 00 39 F9 DD 5E FE DD 56 FF 3E R 00 00 01 00 -T 6C 01 00 00 00 00 00 00 09 4E 23 46 C5 21 -R 00 00 01 00 02 04 0F 00 -T 74 01 00 00 45 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 09 00 -T 7B 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 -T 81 01 00 00 00 00 00 00 E1 E1 E1 E1 E1 +T E1 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +T E6 01 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 88 01 00 00 +T E8 01 00 00 R 00 00 01 00 -T 88 01 00 00 DD 4E F8 DD 46 F9 DD 6E FE DD 66 +T E8 01 00 00 DD 4E F6 DD 46 F7 DD 6E FC DD 66 R 00 00 01 00 -T 93 01 00 00 FF CD 00 00 00 00 30 03 -R 00 00 01 00 02 06 0D 00 -T 99 01 00 00 +T F3 01 00 00 FD CD 00 00 00 00 30 03 +R 00 00 01 00 02 06 15 00 +T F9 01 00 00 R 00 00 01 00 -T 99 01 00 00 C3 65 00 00 00 +T F9 01 00 00 C3 69 00 00 00 R 00 00 01 00 00 05 01 00 -T 9C 01 00 00 +T FC 01 00 00 R 00 00 01 00 -T 9C 01 00 00 DD 4E FE DD 46 FF DD 6E F8 DD 66 +T FC 01 00 00 DD 4E FC DD 46 FD DD 6E F6 DD 66 R 00 00 01 00 -T A7 01 00 00 F9 CD 00 00 00 00 30 21 -R 00 00 01 00 02 06 0D 00 -T AD 01 00 00 +T 07 02 00 00 F7 CD 00 00 00 00 30 21 +R 00 00 01 00 02 06 15 00 +T 0D 02 00 00 R 00 00 01 00 -T AD 01 00 00 21 06 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 -T B5 01 00 00 21 00 00 00 00 CD 00 00 00 00 AF -R 00 00 01 00 02 05 0E 00 02 0A 00 00 -T BC 01 00 00 DD 77 F6 DD 77 F7 DD 6E FE DD 66 +T 0D 02 00 00 21 06 00 39 5D 54 3E 00 00 00 00 +R 00 00 01 00 2B 0B 16 00 +T 15 02 00 00 21 00 00 00 00 CD 00 00 00 00 AF +R 00 00 01 00 02 05 16 00 02 0A 00 00 +T 1C 02 00 00 DD 77 F4 DD 77 F5 DD 6E FC DD 66 R 00 00 01 00 -T C7 01 00 00 FF DD 75 F8 DD 74 F9 +T 27 02 00 00 FD DD 75 F6 DD 74 F7 R 00 00 01 00 -T CE 01 00 00 +T 2E 02 00 00 R 00 00 01 00 -T CE 01 00 00 3E 04 DD AE FE DD B6 FF 28 21 3E +T 2E 02 00 00 3E 04 DD AE FC DD B6 FD 28 21 3E R 00 00 01 00 -T D9 01 00 00 02 DD BE FC 38 1A +T 39 02 00 00 02 DD BE FA 38 1A R 00 00 01 00 -T DF 01 00 00 +T 3F 02 00 00 R 00 00 01 00 -T DF 01 00 00 +T 3F 02 00 00 R 00 00 01 00 -T DF 01 00 00 +T 3F 02 00 00 R 00 00 01 00 -T DF 01 00 00 DD 46 FC 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T E8 01 00 00 21 31 00 DD 4E F0 DD 46 F1 09 7E +T 3F 02 00 00 DD 46 FA 11 01 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 10 00 +T 48 02 00 00 21 31 00 DD 4E EE DD 46 EF 09 7E R 00 00 01 00 -T F3 01 00 00 B3 77 23 7E B2 77 +T 53 02 00 00 B3 77 23 7E B2 77 R 00 00 01 00 -T F9 01 00 00 +T 59 02 00 00 R 00 00 01 00 -T F9 01 00 00 DD 6E 0A DD 66 0B E5 DD 6E FD E5 +T 59 02 00 00 DD 6E 0A DD 66 0B E5 DD 6E FB E5 R 00 00 01 00 -T 04 02 00 00 DD 6E FC E5 21 31 00 DD 4E F0 DD +T 64 02 00 00 DD 6E FA E5 21 31 00 DD 4E EE DD R 00 00 01 00 -T 0F 02 00 00 46 F1 09 4D 44 21 0C 00 39 5D 54 +T 6F 02 00 00 46 EF 09 4D 44 21 0C 00 39 5D 54 R 00 00 01 00 -T 1A 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 -T 20 02 00 00 00 00 00 00 E1 E1 E1 C3 +T 7A 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 +T 80 02 00 00 00 00 00 00 E1 E1 E1 C3 R 00 00 01 00 02 04 00 00 -T 26 02 00 00 65 00 00 00 +T 86 02 00 00 69 00 00 00 R 00 00 01 00 00 04 01 00 -T 28 02 00 00 +T 88 02 00 00 R 00 00 01 00 -T 28 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 7E +T 88 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 33 02 00 00 B7 CA C6 02 00 00 21 22 00 DD 4E +T 93 02 00 00 B7 CA 26 03 00 00 21 22 00 DD 4E R 00 00 01 00 00 06 01 00 -T 3C 02 00 00 F0 DD 46 F1 09 E5 21 31 00 09 4E +T 9C 02 00 00 EE DD 46 EF 09 E5 21 31 00 09 4E R 00 00 01 00 -T 47 02 00 00 23 46 79 2F 4F 78 2F 47 E1 7E A1 +T A7 02 00 00 23 46 79 2F 4F 78 2F 47 E1 7E A1 R 00 00 01 00 -T 52 02 00 00 5F 23 7E A0 57 DD 73 FA DD 72 FB +T B2 02 00 00 5F 23 7E A0 57 DD 73 F8 DD 72 F9 R 00 00 01 00 -T 5D 02 00 00 7B B2 28 65 +T BD 02 00 00 7B B2 28 65 R 00 00 01 00 -T 61 02 00 00 +T C1 02 00 00 R 00 00 01 00 -T 61 02 00 00 +T C1 02 00 00 R 00 00 01 00 -T 61 02 00 00 +T C1 02 00 00 R 00 00 01 00 -T 61 02 00 00 DD 5E F8 DD 56 F9 CD 00 00 00 00 +T C1 02 00 00 DD 5E F6 DD 56 F7 CD 00 00 00 00 R 00 00 01 00 02 0B 01 00 -T 6A 02 00 00 02 00 03 00 C4 02 00 00 +T CA 02 00 00 02 00 03 00 24 03 00 00 R 00 00 01 00 00 08 01 00 -T 70 02 00 00 76 02 00 00 93 02 00 00 +T D0 02 00 00 D6 02 00 00 F3 02 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 74 02 00 00 C2 02 00 00 +T D4 02 00 00 22 03 00 00 R 00 00 01 00 00 04 01 00 -T 76 02 00 00 +T D6 02 00 00 R 00 00 01 00 -T 76 02 00 00 21 06 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 -T 7E 02 00 00 21 00 00 00 00 CD 00 00 00 00 AF -R 00 00 01 00 02 05 0E 00 02 0A 00 00 -T 85 02 00 00 DD 77 F6 DD 77 F7 DD 36 F8 03 DD +T D6 02 00 00 21 06 00 39 5D 54 3E 00 00 00 00 +R 00 00 01 00 2B 0B 16 00 +T DE 02 00 00 21 00 00 00 00 CD 00 00 00 00 AF +R 00 00 01 00 02 05 16 00 02 0A 00 00 +T E5 02 00 00 DD 77 F4 DD 77 F5 DD 36 F6 03 DD R 00 00 01 00 -T 90 02 00 00 36 F9 00 +T F0 02 00 00 36 F7 00 R 00 00 01 00 -T 93 02 00 00 +T F3 02 00 00 R 00 00 01 00 -T 93 02 00 00 DD 6E FA DD 66 FB E5 21 22 00 DD +T F3 02 00 00 DD 6E F8 DD 66 F9 E5 21 22 00 DD R 00 00 01 00 -T 9E 02 00 00 4E F0 DD 46 F1 09 4D 44 21 08 00 +T FE 02 00 00 4E EE DD 46 EF 09 4D 44 21 08 00 R 00 00 01 00 -T A9 02 00 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 10 00 -T AF 02 00 00 00 00 00 00 CD 00 00 00 00 E1 21 -R 00 00 01 00 02 04 10 00 02 09 00 00 -T B6 02 00 00 06 00 DD 4E 02 DD 46 03 09 35 18 +T 09 03 00 00 39 5D 54 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 18 00 +T 0F 03 00 00 00 00 00 00 CD 00 00 00 00 E1 21 +R 00 00 01 00 02 04 18 00 02 09 00 00 +T 16 03 00 00 06 00 DD 4E 02 DD 46 03 09 35 18 R 00 00 01 00 -T C1 02 00 00 02 +T 21 03 00 00 02 R 00 00 01 00 -T C2 02 00 00 +T 22 03 00 00 R 00 00 01 00 -T C2 02 00 00 18 00 +T 22 03 00 00 18 00 R 00 00 01 00 -T C4 02 00 00 +T 24 03 00 00 R 00 00 01 00 -T C4 02 00 00 18 2D +T 24 03 00 00 18 2D R 00 00 01 00 -T C6 02 00 00 +T 26 03 00 00 R 00 00 01 00 -T C6 02 00 00 3E 03 DD AE F8 DD B6 F9 20 23 +T 26 03 00 00 3E 03 DD AE F6 DD B6 F7 20 23 R 00 00 01 00 -T D0 02 00 00 +T 30 03 00 00 R 00 00 01 00 -T D0 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 7E +T 30 03 00 00 21 06 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T DB 02 00 00 B7 28 0D +T 3B 03 00 00 B7 28 0D R 00 00 01 00 -T DE 02 00 00 +T 3E 03 00 00 R 00 00 01 00 -T DE 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 35 +T 3E 03 00 00 21 06 00 DD 4E 02 DD 46 03 09 35 R 00 00 01 00 -T E9 02 00 00 18 08 +T 49 03 00 00 18 08 R 00 00 01 00 -T EB 02 00 00 +T 4B 03 00 00 R 00 00 01 00 -T EB 02 00 00 DD 36 F8 04 DD 36 F9 00 +T 4B 03 00 00 DD 36 F6 04 DD 36 F7 00 R 00 00 01 00 -T F3 02 00 00 +T 53 03 00 00 R 00 00 01 00 -T F3 02 00 00 +T 53 03 00 00 R 00 00 01 00 -T F3 02 00 00 +T 53 03 00 00 R 00 00 01 00 -T F3 02 00 00 21 06 00 39 E5 DD 6E 04 DD 66 05 +T 53 03 00 00 21 06 00 39 E5 DD 6E 04 DD 66 05 R 00 00 01 00 -T FE 02 00 00 23 4E C5 DD 4E F8 DD 5E 02 DD 56 +T 5E 03 00 00 23 4E C5 DD 4E F6 DD 5E 02 DD 56 R 00 00 01 00 -T 09 03 00 00 03 3E 00 00 00 00 21 00 00 00 00 +T 69 03 00 00 03 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 04 00 02 0B 04 00 -T 0F 03 00 00 CD 00 00 00 00 F1 F1 DD 5E 0A DD +T 6F 03 00 00 CD 00 00 00 00 F1 F1 DD 5E 0A DD R 00 00 01 00 02 05 00 00 -T 18 03 00 00 56 0B 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0E 00 -T 1D 03 00 00 00 00 00 00 CD 00 00 00 00 3E 02 -R 00 00 01 00 02 04 0E 00 02 09 00 00 -T 24 03 00 00 DD AE F8 DD B6 F9 28 04 2E 01 18 +T 78 03 00 00 56 0B 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 16 00 +T 7D 03 00 00 00 00 00 00 CD 00 00 00 00 3E 02 +R 00 00 01 00 02 04 16 00 02 09 00 00 +T 84 03 00 00 DD AE F6 DD B6 F7 28 04 2E 01 18 R 00 00 01 00 -T 2F 03 00 00 02 +T 8F 03 00 00 02 R 00 00 01 00 -T 30 03 00 00 +T 90 03 00 00 R 00 00 01 00 -T 30 03 00 00 2E 00 +T 90 03 00 00 2E 00 R 00 00 01 00 -T 32 03 00 00 +T 92 03 00 00 R 00 00 01 00 -T 32 03 00 00 26 00 +T 92 03 00 00 26 00 R 00 00 01 00 -T 34 03 00 00 +T 94 03 00 00 R 00 00 01 00 -T 34 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 69 70 63 70 5F 72 65 71 75 65 73 -R 00 00 02 00 -T 0B 00 00 00 74 28 29 00 -R 00 00 02 00 -T 0F 00 00 00 -R 00 00 02 00 -T 0F 00 00 00 49 50 43 50 20 52 45 51 3A 20 62 -R 00 00 02 00 -T 1A 00 00 00 61 64 20 68 65 61 64 65 72 20 6C -R 00 00 02 00 -T 25 00 00 00 65 6E 67 74 68 00 -R 00 00 02 00 -T 2B 00 00 00 -R 00 00 02 00 -T 2B 00 00 00 49 50 43 50 20 52 45 51 3A 20 72 -R 00 00 02 00 -T 36 00 00 00 61 6E 20 6F 75 74 20 6F 66 20 64 -R 00 00 02 00 -T 41 00 00 00 61 74 61 00 -R 00 00 02 00 -T 45 00 00 00 -R 00 00 02 00 -T 45 00 00 00 49 50 43 50 20 52 45 51 3A 20 72 -R 00 00 02 00 -T 50 00 00 00 65 73 75 6C 74 20 25 73 2C 20 6F -R 00 00 02 00 -T 5B 00 00 00 70 74 69 6F 6E 20 25 64 2C 20 6C -R 00 00 02 00 -T 66 00 00 00 65 6E 67 74 68 20 25 64 00 -R 00 00 02 00 +T 94 03 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 06 00 diff --git a/src/nos/lib/ppp_lib/ipcp_reset.rel b/src/nos/lib/ppp_lib/ipcp_reset.rel index 090c0a9c..d5c65d60 100644 --- a/src/nos/lib/ppp_lib/ipcp_reset.rel +++ b/src/nos/lib/ppp_lib/ipcp_reset.rel @@ -1,64 +1,60 @@ XL4 -H 3 areas 9 global symbols +H 2 areas A global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 +S ___058a_2214_ipcp_5freset_28_29 Ref00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size AB flags 0 +A CODE size AF flags 0 S _ipcp_reset Def00000000 -A CSTR size D flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 21 1C 00 DD -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 06 00 T 09 00 00 00 4E 02 DD 46 03 09 46 23 66 68 DD R 00 00 01 00 T 14 00 00 00 75 FE DD 74 FF 3A 00 00 00 00 E6 -R 00 00 01 00 02 0A 07 00 -T 1D 00 00 00 80 28 12 +R 00 00 01 00 02 0A 08 00 +T 1D 00 00 00 80 28 16 R 00 00 01 00 T 20 00 00 00 R 00 00 01 00 -T 20 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 03 00 -T 27 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 -T 2D 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 32 00 00 00 +T 20 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 +T 26 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 05 00 +T 2C 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 01 00 02 09 01 00 +T 31 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 36 00 00 00 R 00 00 01 00 -T 32 00 00 00 21 11 00 DD 4E FE DD 46 FF 09 EB +T 36 00 00 00 21 11 00 DD 4E FE DD 46 FF 09 EB R 00 00 01 00 -T 3D 00 00 00 69 60 23 23 01 0F 00 ED B0 21 +T 41 00 00 00 69 60 23 23 01 0F 00 ED B0 21 R 00 00 01 00 -T 47 00 00 00 24 00 DD 4E FE DD 46 FF 09 4E 23 +T 4B 00 00 00 24 00 DD 4E FE DD 46 FF 09 4E 23 R 00 00 01 00 -T 52 00 00 00 46 23 5E 23 56 69 60 E5 21 17 00 +T 56 00 00 00 46 23 5E 23 56 69 60 E5 21 17 00 R 00 00 01 00 -T 5D 00 00 00 DD 4E FE DD 46 FF 09 C1 D5 59 50 +T 61 00 00 00 DD 4E FE DD 46 FF 09 C1 D5 59 50 R 00 00 01 00 -T 68 00 00 00 C1 73 23 72 23 71 23 70 DD 6E FE +T 6C 00 00 00 C1 73 23 72 23 71 23 70 DD 6E FE R 00 00 01 00 -T 73 00 00 00 DD 66 FF 23 23 4E 23 46 DD 6E FE +T 77 00 00 00 DD 66 FF 23 23 4E 23 46 DD 6E FE R 00 00 01 00 -T 7E 00 00 00 DD 66 FF 7E B1 77 23 7E B0 77 21 +T 82 00 00 00 DD 66 FF 7E B1 77 23 7E B0 77 21 R 00 00 01 00 -T 89 00 00 00 31 00 DD 4E FE DD 46 FF 09 AF 77 +T 8D 00 00 00 31 00 DD 4E FE DD 46 FF 09 AF 77 R 00 00 01 00 -T 94 00 00 00 23 77 21 22 00 09 5E 23 56 21 +T 98 00 00 00 23 77 21 22 00 09 5E 23 56 21 R 00 00 01 00 -T 9E 00 00 00 20 00 09 7E B3 77 23 7E B2 77 C3 +T A2 00 00 00 20 00 09 7E B3 77 23 7E B2 77 C3 R 00 00 01 00 -T A9 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 69 70 63 70 5F 72 65 73 65 74 28 -R 00 00 02 00 -T 0B 00 00 00 29 00 -R 00 00 02 00 +T AD 00 00 00 00 00 00 00 +R 00 00 01 00 02 04 02 00 diff --git a/src/nos/lib/ppp_lib/ipcp_starting.rel b/src/nos/lib/ppp_lib/ipcp_starting.rel index cc65a8d3..efd2db60 100644 --- a/src/nos/lib/ppp_lib/ipcp_starting.rel +++ b/src/nos/lib/ppp_lib/ipcp_starting.rel @@ -1,96 +1,92 @@ XL4 -H 3 areas B global symbols +H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _ipcp_poolnext Ref00000000 +S ___058b_1977_ipcp_5fstarting_28_ Ref00000000 +S __trace_log Ref00000000 S _ipcp_lookuppeer Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size F0 flags 0 +A CODE size F4 flags 0 S _ipcp_starting Def00000000 -A CSTR size 10 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 21 1C 00 DD -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 08 00 T 09 00 00 00 4E 02 DD 46 03 09 46 23 66 68 DD R 00 00 01 00 T 14 00 00 00 75 FE DD 74 FF 3A 00 00 00 00 E6 -R 00 00 01 00 02 0A 09 00 -T 1D 00 00 00 80 28 12 +R 00 00 01 00 02 0A 0A 00 +T 1D 00 00 00 80 28 16 R 00 00 01 00 T 20 00 00 00 R 00 00 01 00 -T 20 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 27 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 07 00 02 0B 07 00 -T 2D 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 32 00 00 00 +T 20 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 +T 26 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 07 00 +T 2C 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 31 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 36 00 00 00 R 00 00 01 00 -T 32 00 00 00 21 24 00 DD 4E FE DD 46 FF 09 7E +T 36 00 00 00 21 24 00 DD 4E FE DD 46 FF 09 7E R 00 00 01 00 -T 3D 00 00 00 23 B6 23 B6 23 B6 20 30 +T 41 00 00 00 23 B6 23 B6 23 B6 20 30 R 00 00 01 00 -T 45 00 00 00 +T 49 00 00 00 R 00 00 01 00 -T 45 00 00 00 21 08 00 DD 4E 02 DD 46 03 09 46 +T 49 00 00 00 21 08 00 DD 4E 02 DD 46 03 09 46 R 00 00 01 00 -T 50 00 00 00 23 66 68 01 64 00 09 5E 23 56 3E +T 54 00 00 00 23 66 68 01 64 00 09 5E 23 56 3E R 00 00 01 00 -T 5B 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 60 00 00 00 00 00 00 00 E5 21 24 00 DD 5E FE +T 5F 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 64 00 00 00 00 00 00 00 E5 21 24 00 DD 5E FE R 00 00 01 00 02 04 00 00 -T 69 00 00 00 DD 56 FF 19 D1 73 23 72 23 71 23 +T 6D 00 00 00 DD 56 FF 19 D1 73 23 72 23 71 23 R 00 00 01 00 -T 74 00 00 00 70 +T 78 00 00 00 70 R 00 00 01 00 -T 75 00 00 00 +T 79 00 00 00 R 00 00 01 00 -T 75 00 00 00 21 24 00 DD 4E FE DD 46 FF 09 7E +T 79 00 00 00 21 24 00 DD 4E FE DD 46 FF 09 7E R 00 00 01 00 -T 80 00 00 00 23 B6 23 B6 23 B6 20 34 21 08 00 +T 84 00 00 00 23 B6 23 B6 23 B6 20 34 21 08 00 R 00 00 01 00 -T 8B 00 00 00 DD 4E FE DD 46 FF 09 7E 23 B6 23 +T 8F 00 00 00 DD 4E FE DD 46 FF 09 7E 23 B6 23 R 00 00 01 00 -T 96 00 00 00 B6 23 B6 28 21 +T 9A 00 00 00 B6 23 B6 28 21 R 00 00 01 00 -T 9B 00 00 00 +T 9F 00 00 00 R 00 00 01 00 -T 9B 00 00 00 +T 9F 00 00 00 R 00 00 01 00 -T 9B 00 00 00 +T 9F 00 00 00 R 00 00 01 00 -T 9B 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +T 9F 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 R 00 00 01 00 2B 0B 01 00 -T A3 00 00 00 21 00 00 00 00 CD 00 00 00 00 E5 +T A7 00 00 00 21 00 00 00 00 CD 00 00 00 00 E5 R 00 00 01 00 02 05 01 00 02 0A 00 00 -T AA 00 00 00 21 24 00 DD 5E FE DD 56 FF 19 D1 +T AE 00 00 00 21 24 00 DD 5E FE DD 56 FF 19 D1 R 00 00 01 00 -T B5 00 00 00 73 23 72 23 71 23 70 +T B9 00 00 00 73 23 72 23 71 23 70 R 00 00 01 00 -T BC 00 00 00 +T C0 00 00 00 R 00 00 01 00 -T BC 00 00 00 21 08 00 DD 4E 02 DD 46 03 09 7E +T C0 00 00 00 21 08 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T C7 00 00 00 23 66 6F 46 23 66 68 01 04 00 09 +T CB 00 00 00 23 66 6F 46 23 66 68 01 04 00 09 R 00 00 01 00 -T D2 00 00 00 5E 23 56 23 4E 23 46 EB E5 21 +T D6 00 00 00 5E 23 56 23 4E 23 46 EB E5 21 R 00 00 01 00 -T DC 00 00 00 04 00 DD 5E FE DD 56 FF 19 D1 73 +T E0 00 00 00 04 00 DD 5E FE DD 56 FF 19 D1 73 R 00 00 01 00 -T E7 00 00 00 23 72 23 71 23 70 C3 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 69 70 63 70 5F 73 74 61 72 74 69 -R 00 00 02 00 -T 0B 00 00 00 6E 67 28 29 00 -R 00 00 02 00 +T EB 00 00 00 23 72 23 71 23 70 C3 00 00 00 00 +R 00 00 01 00 02 0B 05 00 diff --git a/src/nos/lib/ppp_lib/ipcp_stopping.rel b/src/nos/lib/ppp_lib/ipcp_stopping.rel index d148757e..6f411c29 100644 --- a/src/nos/lib/ppp_lib/ipcp_stopping.rel +++ b/src/nos/lib/ppp_lib/ipcp_stopping.rel @@ -1,38 +1,34 @@ XL4 -H 3 areas 9 global symbols +H 2 areas A global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S _PPPiface Ref00000000 -S _trace_log Ref00000000 +S ___058c_0e6d_ipcp_5fstopping_28_ Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 1F flags 0 +A CODE size 23 flags 0 S _ipcp_stopping Def00000000 -A CSTR size 10 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 3A 00 00 00 00 E6 -R 00 00 01 00 02 05 03 00 02 0A 07 00 -T 07 00 00 00 80 28 12 +R 00 00 01 00 02 05 04 00 02 0A 08 00 +T 07 00 00 00 80 28 16 R 00 00 01 00 T 0A 00 00 00 R 00 00 01 00 -T 0A 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 04 00 -T 11 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 -T 17 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 1C 00 00 00 +T 0A 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 +T 10 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 05 00 +T 16 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 01 00 02 09 01 00 +T 1B 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 20 00 00 00 R 00 00 01 00 -T 1C 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 69 70 63 70 5F 73 74 6F 70 70 69 -R 00 00 02 00 -T 0B 00 00 00 6E 67 28 29 00 -R 00 00 02 00 +T 20 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/ppp_lib/lcp_ack.rel b/src/nos/lib/ppp_lib/lcp_ack.rel index 67e92694..3d25ee45 100644 --- a/src/nos/lib/ppp_lib/lcp_ack.rel +++ b/src/nos/lib/ppp_lib/lcp_ack.rel @@ -1,208 +1,190 @@ XL4 -H 3 areas D global symbols +H 2 areas 12 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0594_411d_lcp_5fack_28_29 Ref00000000 S _lcp_makereq Ref00000000 +S ___0311_6dd9_LCP_20ACK_3a_20vali Ref00000000 S _len_p Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___0312_d52d_LCP_20ACK_3a_20wron Ref00000000 S .__.ABS. Def00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S _free_p Ref00000000 S _pull8 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___0310_a126_LCP_20ACK_3a_20data Ref00000000 +S ___030f_7a27_LCP_20ACK_3a_20buff Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 171 flags 0 +A CODE size 185 flags 0 S _lcp_ack Def00000000 -A CSTR size 62 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F8 FF AF DD 77 FA -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 0A 00 T 09 00 00 00 DD 77 FB 3A 00 00 00 00 E6 80 28 -R 00 00 01 00 02 08 0B 00 -T 12 00 00 00 12 +R 00 00 01 00 02 08 10 00 +T 12 00 00 00 16 R 00 00 01 00 T 13 00 00 00 R 00 00 01 00 -T 13 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 1A 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 07 00 02 0B 07 00 -T 20 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 25 00 00 00 -R 00 00 01 00 -T 25 00 00 00 DD 6E 02 DD 66 03 23 E5 DD 6E 04 -R 00 00 01 00 -T 30 00 00 00 DD 66 05 23 7E E1 BE 28 2D -R 00 00 01 00 -T 39 00 00 00 -R 00 00 01 00 -T 39 00 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0B 00 -T 40 00 00 00 -R 00 00 01 00 -T 40 00 00 00 21 0A 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 47 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 07 00 02 0B 07 00 -T 4D 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 52 00 00 00 -R 00 00 01 00 -T 52 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 08 00 -T 5A 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 08 00 02 0A 00 00 -T 61 00 00 00 FF FF C3 6E 01 00 00 +T 13 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 +T 19 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 09 00 +T 1F 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 24 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 29 00 00 00 +R 00 00 01 00 +T 29 00 00 00 DD 6E 02 DD 66 03 23 E5 DD 6E 04 +R 00 00 01 00 +T 34 00 00 00 DD 66 05 23 7E E1 BE 28 31 +R 00 00 01 00 +T 3D 00 00 00 +R 00 00 01 00 +T 3D 00 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 10 00 +T 44 00 00 00 +R 00 00 01 00 +T 44 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 07 00 02 0B 07 00 +T 4A 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 09 00 +T 50 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 55 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 5A 00 00 00 +R 00 00 01 00 +T 5A 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0B 00 +T 62 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 0B 00 02 0A 00 00 +T 69 00 00 00 FF FF C3 82 01 00 00 R 00 00 01 00 00 07 01 00 -T 66 00 00 00 +T 6E 00 00 00 R 00 00 01 00 -T 66 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 01 00 -T 6E 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 01 00 02 0A 00 00 -T 75 00 00 00 75 F8 DD 74 F9 DD 4E 04 DD 46 05 +T 6E 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 02 00 +T 76 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 02 00 02 0A 00 00 +T 7D 00 00 00 75 F8 DD 74 F9 DD 4E 04 DD 46 05 R 00 00 01 00 -T 80 00 00 00 03 03 0A 6F 03 0A 67 E5 DD 5E F8 +T 88 00 00 00 03 03 0A 6F 03 0A 67 E5 DD 5E F8 R 00 00 01 00 -T 8B 00 00 00 DD 56 F9 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 02 00 -T 91 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 02 00 02 09 00 00 -T 98 00 00 00 E1 A7 ED 42 28 23 +T 93 00 00 00 DD 56 F9 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 04 00 +T 99 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 +R 00 00 01 00 02 04 04 00 02 09 00 00 +T A0 00 00 00 E1 A7 ED 42 28 27 R 00 00 01 00 -T 9E 00 00 00 +T A6 00 00 00 R 00 00 01 00 -T 9E 00 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0B 00 -T A5 00 00 00 +T A6 00 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 10 00 +T AD 00 00 00 R 00 00 01 00 -T A5 00 00 00 21 1C 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T AC 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 07 00 02 0B 07 00 -T B2 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T B7 00 00 00 +T AD 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 +T B3 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 09 00 +T B9 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T BE 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T C3 00 00 00 R 00 00 01 00 -T B7 00 00 00 DD 36 FA 01 DD 36 FB 00 18 68 +T C3 00 00 00 DD 36 FA 01 DD 36 FB 00 18 6C R 00 00 01 00 -T C1 00 00 00 +T CD 00 00 00 R 00 00 01 00 -T C1 00 00 00 +T CD 00 00 00 R 00 00 01 00 -T C1 00 00 00 21 00 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 09 00 -T C9 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 09 00 02 0A 00 00 -T D0 00 00 00 75 FC DD 74 FD 7D A4 3C 28 4F +T CD 00 00 00 21 00 00 39 5D 54 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0C 00 +T D5 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 0C 00 02 0A 00 00 +T DC 00 00 00 75 FC DD 74 FD 7D A4 3C 28 53 R 00 00 01 00 -T DA 00 00 00 +T E6 00 00 00 R 00 00 01 00 -T DA 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 09 00 -T E2 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 09 00 02 0A 00 00 -T E9 00 00 00 75 FE DD 74 FF 7D A4 3C 28 11 DD +T E6 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0C 00 +T EE 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 0C 00 02 0A 00 00 +T F5 00 00 00 75 FE DD 74 FF 7D A4 3C 28 11 DD R 00 00 01 00 -T F4 00 00 00 6E FC DD 66 FD DD 4E FE DD 46 FF +T 00 01 00 00 6E FC DD 66 FD DD 4E FE DD 46 FF R 00 00 01 00 -T FF 00 00 00 A7 ED 42 28 23 +T 0B 01 00 00 A7 ED 42 28 27 R 00 00 01 00 -T 04 01 00 00 +T 10 01 00 00 R 00 00 01 00 -T 04 01 00 00 +T 10 01 00 00 R 00 00 01 00 -T 04 01 00 00 +T 10 01 00 00 R 00 00 01 00 -T 04 01 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0B 00 -T 0B 01 00 00 +T 10 01 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 10 00 +T 17 01 00 00 R 00 00 01 00 -T 0B 01 00 00 21 3C 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 12 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 07 00 02 0B 07 00 -T 18 01 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 1D 01 00 00 +T 17 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +T 1D 01 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 09 00 +T 23 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 28 01 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 2D 01 00 00 R 00 00 01 00 -T 1D 01 00 00 DD 36 FA 01 DD 36 FB 00 18 02 +T 2D 01 00 00 DD 36 FA 01 DD 36 FB 00 18 02 R 00 00 01 00 -T 27 01 00 00 +T 37 01 00 00 R 00 00 01 00 -T 27 01 00 00 18 98 +T 37 01 00 00 18 94 R 00 00 01 00 -T 29 01 00 00 +T 39 01 00 00 R 00 00 01 00 -T 29 01 00 00 +T 39 01 00 00 R 00 00 01 00 -T 29 01 00 00 21 00 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 08 00 -T 31 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 08 00 02 0A 00 00 -T 38 01 00 00 5E 0A DD 56 0B 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 -T 40 01 00 00 00 00 00 00 CD 00 00 00 00 DD 7E -R 00 00 01 00 02 04 08 00 02 09 00 00 -T 47 01 00 00 FA DD B6 FB 28 05 +T 39 01 00 00 21 00 00 39 5D 54 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0B 00 +T 41 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 0B 00 02 0A 00 00 +T 48 01 00 00 5E 0A DD 56 0B 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0B 00 +T 50 01 00 00 00 00 00 00 CD 00 00 00 00 DD 7E +R 00 00 01 00 02 04 0B 00 02 09 00 00 +T 57 01 00 00 FA DD B6 FB 28 05 R 00 00 01 00 -T 4D 01 00 00 +T 5D 01 00 00 R 00 00 01 00 -T 4D 01 00 00 21 FF FF 18 1C +T 5D 01 00 00 21 FF FF 18 20 R 00 00 01 00 -T 52 01 00 00 +T 62 01 00 00 R 00 00 01 00 -T 52 01 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0B 00 -T 59 01 00 00 +T 62 01 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 10 00 +T 69 01 00 00 R 00 00 01 00 -T 59 01 00 00 21 53 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 60 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 07 00 02 0B 07 00 -T 66 01 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 6B 01 00 00 +T 69 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 +T 6F 01 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 09 00 +T 75 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 7A 01 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 7F 01 00 00 R 00 00 01 00 -T 6B 01 00 00 21 00 00 +T 7F 01 00 00 21 00 00 R 00 00 01 00 -T 6E 01 00 00 +T 82 01 00 00 R 00 00 01 00 -T 6E 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 6C 63 70 5F 61 63 6B 28 29 00 -R 00 00 02 00 -T 0A 00 00 00 -R 00 00 02 00 -T 0A 00 00 00 4C 43 50 20 41 43 4B 3A 20 77 72 -R 00 00 02 00 -T 15 00 00 00 6F 6E 67 20 49 44 00 -R 00 00 02 00 -T 1C 00 00 00 -R 00 00 02 00 -T 1C 00 00 00 4C 43 50 20 41 43 4B 3A 20 62 75 -R 00 00 02 00 -T 27 00 00 00 66 66 65 72 20 6C 65 6E 67 74 68 -R 00 00 02 00 -T 32 00 00 00 20 6D 69 73 6D 61 74 63 68 00 -R 00 00 02 00 -T 3C 00 00 00 -R 00 00 02 00 -T 3C 00 00 00 4C 43 50 20 41 43 4B 3A 20 64 61 -R 00 00 02 00 -T 47 00 00 00 74 61 20 6D 69 73 6D 61 74 63 68 -R 00 00 02 00 -T 52 00 00 00 00 -R 00 00 02 00 -T 53 00 00 00 -R 00 00 02 00 -T 53 00 00 00 4C 43 50 20 41 43 4B 3A 20 76 61 -R 00 00 02 00 -T 5E 00 00 00 6C 69 64 00 -R 00 00 02 00 +T 82 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 06 00 diff --git a/src/nos/lib/ppp_lib/lcp_check.rel b/src/nos/lib/ppp_lib/lcp_check.rel index 386916d7..f3b0bd4d 100644 --- a/src/nos/lib/ppp_lib/lcp_check.rel +++ b/src/nos/lib/ppp_lib/lcp_check.rel @@ -1,474 +1,433 @@ XL4 -H 3 areas 13 global symbols +H 2 areas 19 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0065_0ca6__20_20_20_20checkin Ref00000000 +S ___005f_14a8__20_20_20_20checkin Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___005e_94e3__20_20_20_20checkin Ref00000000 +S ___0064_4df8__20_20_20_20checkin Ref00000000 S ?L_OR_L03 Ref00000000 S ?L_ADDASG_L03 Ref00000000 S .__.ABS. Def00000000 S _rdclock Ref00000000 S _pull32 Ref00000000 S _pull16 Ref00000000 +S ___0060_9d66__20_20_20_20checkin Ref00000000 S ?S_LSH_L02 Ref00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S ?SS_CMP_L02 Ref00000000 S ?L_ORASG_L03 Ref00000000 S _pull8 Ref00000000 S ?C_S_SWITCH_L06 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___0066_a6cb__20_20_20_20checkin Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 435 flags 0 +A CODE size 44D flags 0 S _lcp_check Def00000000 -A CSTR size BA flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 0C DD -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 10 00 T 09 00 00 00 66 0D 23 5E 16 00 1B 1B DD 73 FC R 00 00 01 00 T 14 00 00 00 DD 72 FD DD 36 FE 02 DD 36 FF 00 R 00 00 01 00 T 1F 00 00 00 DD 6E 0C DD 66 0D 5E CD R 00 00 01 00 -T 27 00 00 00 00 00 00 00 01 08 00 A0 03 00 00 -R 00 00 01 00 02 04 0F 00 00 0B 01 00 -T 2E 00 00 00 3E 00 00 00 42 01 00 00 +T 27 00 00 00 00 00 00 00 01 08 00 B8 03 00 00 +R 00 00 01 00 02 04 14 00 00 0B 01 00 +T 2E 00 00 00 3E 00 00 00 46 01 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 32 00 00 00 21 02 00 00 A0 03 00 00 +T 32 00 00 00 29 02 00 00 B8 03 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 36 00 00 00 A7 02 00 00 A0 03 00 00 +T 36 00 00 00 B3 02 00 00 B8 03 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 3A 00 00 00 6A 03 00 00 85 03 00 00 +T 3A 00 00 00 7A 03 00 00 99 03 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 T 3E 00 00 00 R 00 00 01 00 T 3E 00 00 00 21 18 00 DD 4E 0A DD 46 0B 09 E5 R 00 00 01 00 T 49 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 +R 00 00 01 00 2B 0B 0C 00 T 51 00 00 00 21 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 07 00 02 0A 00 00 +R 00 00 01 00 02 05 0C 00 02 0A 00 00 T 58 00 00 00 E1 73 23 72 21 00 00 39 7E D6 02 R 00 00 01 00 T 63 00 00 00 77 23 7E DE 00 77 3A 00 00 00 00 -R 00 00 01 00 02 0B 11 00 -T 6C 00 00 00 E6 08 28 21 +R 00 00 01 00 02 0B 17 00 +T 6C 00 00 00 E6 08 28 25 R 00 00 01 00 T 70 00 00 00 R 00 00 01 00 T 70 00 00 00 21 18 00 DD 4E 0A DD 46 0B 09 4E R 00 00 01 00 -T 7B 00 00 00 23 46 C5 21 00 00 00 00 E5 2A -R 00 00 01 00 00 08 02 00 -T 83 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 09 00 2B 0A 0B 00 -T 89 00 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 0B 00 02 09 00 00 -T 90 00 00 00 E1 -R 00 00 01 00 -T 91 00 00 00 +T 7B 00 00 00 23 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 06 00 +T 82 00 00 00 00 00 00 00 E5 2A 00 00 00 00 E5 +R 00 00 01 00 02 04 06 00 02 0A 0F 00 +T 89 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 03 00 02 0A 03 00 +T 8F 00 00 00 00 00 00 00 E1 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 95 00 00 00 R 00 00 01 00 -T 91 00 00 00 21 18 00 DD 4E 0A DD 46 0B 09 46 +T 95 00 00 00 21 18 00 DD 4E 0A DD 46 0B 09 46 R 00 00 01 00 -T 9C 00 00 00 23 66 68 01 80 00 A7 ED 42 30 19 +T A0 00 00 00 23 66 68 01 80 00 A7 ED 42 30 19 R 00 00 01 00 -T A7 00 00 00 +T AB 00 00 00 R 00 00 01 00 -T A7 00 00 00 21 18 00 DD 4E 0A DD 46 0B 09 36 +T AB 00 00 00 21 18 00 DD 4E 0A DD 46 0B 09 36 R 00 00 01 00 -T B2 00 00 00 80 23 36 00 DD 36 FE 03 DD 36 FF +T B6 00 00 00 80 23 36 00 DD 36 FE 03 DD 36 FF R 00 00 01 00 -T BD 00 00 00 00 18 2C +T C1 00 00 00 00 18 2C R 00 00 01 00 -T C0 00 00 00 +T C4 00 00 00 R 00 00 01 00 -T C0 00 00 00 21 18 00 DD 4E 0A DD 46 0B 09 4E +T C4 00 00 00 21 18 00 DD 4E 0A DD 46 0B 09 4E R 00 00 01 00 -T CB 00 00 00 23 46 21 00 10 A7 ED 42 30 17 +T CF 00 00 00 23 46 21 00 10 A7 ED 42 30 17 R 00 00 01 00 -T D5 00 00 00 +T D9 00 00 00 R 00 00 01 00 -T D5 00 00 00 21 18 00 DD 4E 0A DD 46 0B 09 36 +T D9 00 00 00 21 18 00 DD 4E 0A DD 46 0B 09 36 R 00 00 01 00 -T E0 00 00 00 00 23 36 10 DD 36 FE 03 DD 36 FF +T E4 00 00 00 00 23 36 10 DD 36 FE 03 DD 36 FF R 00 00 01 00 -T EB 00 00 00 00 +T EF 00 00 00 00 R 00 00 01 00 -T EC 00 00 00 +T F0 00 00 00 R 00 00 01 00 -T EC 00 00 00 +T F0 00 00 00 R 00 00 01 00 -T EC 00 00 00 DD 7E 0E DD B6 0F 28 4B DD 6E 0A +T F0 00 00 00 DD 7E 0E DD B6 0F 28 4B DD 6E 0A R 00 00 01 00 -T F7 00 00 00 DD 66 0B 23 23 7E E6 02 28 3E 21 +T FB 00 00 00 DD 66 0B 23 23 7E E6 02 28 3E 21 R 00 00 01 00 -T 02 01 00 00 18 00 DD 4E 0A DD 46 0B 09 5E 23 +T 06 01 00 00 18 00 DD 4E 0A DD 46 0B 09 5E 23 R 00 00 01 00 -T 0D 01 00 00 56 21 04 00 09 46 23 66 68 A7 ED +T 11 01 00 00 56 21 04 00 09 46 23 66 68 A7 ED R 00 00 01 00 -T 18 01 00 00 52 30 24 +T 1C 01 00 00 52 30 24 R 00 00 01 00 -T 1B 01 00 00 +T 1F 01 00 00 R 00 00 01 00 -T 1B 01 00 00 +T 1F 01 00 00 R 00 00 01 00 -T 1B 01 00 00 +T 1F 01 00 00 R 00 00 01 00 -T 1B 01 00 00 21 18 00 DD 4E 0A DD 46 0B 09 E5 +T 1F 01 00 00 21 18 00 DD 4E 0A DD 46 0B 09 E5 R 00 00 01 00 -T 26 01 00 00 21 04 00 09 5E 23 56 E1 73 23 72 +T 2A 01 00 00 21 04 00 09 5E 23 56 E1 73 23 72 R 00 00 01 00 -T 31 01 00 00 21 04 00 09 46 23 66 68 DD 75 FE +T 35 01 00 00 21 04 00 09 46 23 66 68 DD 75 FE R 00 00 01 00 -T 3C 01 00 00 DD 74 FF +T 40 01 00 00 DD 74 FF R 00 00 01 00 -T 3F 01 00 00 +T 43 01 00 00 R 00 00 01 00 -T 3F 01 00 00 C3 AA 03 00 00 +T 43 01 00 00 C3 C2 03 00 00 R 00 00 01 00 00 05 01 00 -T 42 01 00 00 +T 46 01 00 00 R 00 00 01 00 -T 42 01 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 06 00 -T 4A 01 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 06 00 02 0A 00 00 -T 51 01 00 00 21 1A 00 DD 5E 0A DD 56 0B 19 D1 +T 46 01 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0B 00 +T 4E 01 00 00 21 00 00 00 00 CD 00 00 00 00 E5 +R 00 00 01 00 02 05 0B 00 02 0A 00 00 +T 55 01 00 00 21 1A 00 DD 5E 0A DD 56 0B 19 D1 R 00 00 01 00 -T 5C 01 00 00 73 23 72 23 71 23 70 21 00 00 39 +T 60 01 00 00 73 23 72 23 71 23 70 21 00 00 39 R 00 00 01 00 -T 67 01 00 00 7E D6 04 77 23 7E DE 00 77 3A +T 6B 01 00 00 7E D6 04 77 23 7E DE 00 77 3A R 00 00 01 00 -T 71 01 00 00 00 00 00 00 E6 08 28 27 -R 00 00 01 00 02 04 11 00 -T 77 01 00 00 +T 75 01 00 00 00 00 00 00 E6 08 28 2B +R 00 00 01 00 02 04 17 00 +T 7B 01 00 00 R 00 00 01 00 -T 77 01 00 00 21 1A 00 DD 4E 0A DD 46 0B 09 4E +T 7B 01 00 00 21 1A 00 DD 4E 0A DD 46 0B 09 4E R 00 00 01 00 -T 82 01 00 00 23 46 23 5E 23 56 D5 C5 21 +T 86 01 00 00 23 46 23 5E 23 56 D5 C5 0E R 00 00 01 00 -T 8B 01 00 00 15 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 09 00 -T 92 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0B 00 02 0A 0B 00 -T 98 01 00 00 00 00 00 00 E1 E1 E1 E1 -R 00 00 01 00 02 04 00 00 -T 9E 01 00 00 +T 8F 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 05 00 02 0A 05 00 +T 95 01 00 00 2A 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 0F 00 2B 0B 03 00 +T 9B 01 00 00 21 00 00 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 05 03 00 02 0A 00 00 +T A2 01 00 00 E1 E1 E1 E1 R 00 00 01 00 -T 9E 01 00 00 DD 7E 0E DD B6 0F 28 0D DD 6E 0A +T A6 01 00 00 R 00 00 01 00 -T A9 01 00 00 DD 66 0B 23 23 7E E6 04 28 6B +T A6 01 00 00 DD 7E 0E DD B6 0F 28 0D DD 6E 0A R 00 00 01 00 -T B3 01 00 00 +T B1 01 00 00 DD 66 0B 23 23 7E E6 04 28 6B R 00 00 01 00 -T B3 01 00 00 +T BB 01 00 00 R 00 00 01 00 -T B3 01 00 00 21 06 00 DD 4E 0A DD 46 0B 09 5E +T BB 01 00 00 R 00 00 01 00 -T BE 01 00 00 23 56 23 4E 23 46 C5 D5 21 1A 00 +T BB 01 00 00 21 06 00 DD 4E 0A DD 46 0B 09 5E R 00 00 01 00 -T C9 01 00 00 DD 4E 0A DD 46 0B 09 5E 23 56 23 +T C6 01 00 00 23 56 23 4E 23 46 C5 D5 21 1A 00 R 00 00 01 00 -T D4 01 00 00 4E 23 46 EB CD 00 00 00 00 C5 E5 -R 00 00 01 00 02 09 02 00 -T DD 01 00 00 21 1A 00 DD 4E 0A DD 46 0B 09 4E +T D1 01 00 00 DD 4E 0A DD 46 0B 09 5E 23 56 23 R 00 00 01 00 -T E8 01 00 00 23 46 23 5E 23 56 69 60 C1 A7 ED +T DC 01 00 00 4E 23 46 EB CD 00 00 00 00 C5 E5 +R 00 00 01 00 02 09 07 00 +T E5 01 00 00 21 1A 00 DD 4E 0A DD 46 0B 09 4E R 00 00 01 00 -T F3 01 00 00 42 C1 20 05 EB ED 42 28 22 +T F0 01 00 00 23 46 23 5E 23 56 69 60 C1 A7 ED R 00 00 01 00 -T FC 01 00 00 +T FB 01 00 00 42 C1 20 05 EB ED 42 28 22 R 00 00 01 00 -T FC 01 00 00 +T 04 02 00 00 R 00 00 01 00 -T FC 01 00 00 +T 04 02 00 00 R 00 00 01 00 -T FC 01 00 00 +T 04 02 00 00 R 00 00 01 00 -T FC 01 00 00 21 1A 00 DD 4E 0A DD 46 0B 09 E5 +T 04 02 00 00 R 00 00 01 00 -T 07 02 00 00 21 06 00 09 5E 23 56 23 4E 23 46 +T 04 02 00 00 21 1A 00 DD 4E 0A DD 46 0B 09 E5 R 00 00 01 00 -T 12 02 00 00 E1 CD 00 00 00 00 DD 36 FE 03 DD -R 00 00 01 00 02 06 0D 00 -T 1B 02 00 00 36 FF 00 +T 0F 02 00 00 21 06 00 09 5E 23 56 23 4E 23 46 R 00 00 01 00 -T 1E 02 00 00 +T 1A 02 00 00 E1 CD 00 00 00 00 DD 36 FE 03 DD +R 00 00 01 00 02 06 12 00 +T 23 02 00 00 36 FF 00 R 00 00 01 00 -T 1E 02 00 00 C3 AA 03 00 00 -R 00 00 01 00 00 05 01 00 -T 21 02 00 00 +T 26 02 00 00 R 00 00 01 00 -T 21 02 00 00 21 1E 00 DD 4E 0A DD 46 0B 09 E5 +T 26 02 00 00 C3 C2 03 00 00 +R 00 00 01 00 00 05 01 00 +T 29 02 00 00 R 00 00 01 00 -T 2C 02 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T 34 02 00 00 21 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 07 00 02 0A 00 00 -T 3B 02 00 00 E1 73 23 72 21 00 00 39 7E D6 02 +T 29 02 00 00 21 1E 00 DD 4E 0A DD 46 0B 09 E5 R 00 00 01 00 -T 46 02 00 00 77 23 7E DE 00 77 3A 00 00 00 00 -R 00 00 01 00 02 0B 11 00 -T 4F 02 00 00 E6 08 28 21 +T 34 02 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0C 00 +T 3C 02 00 00 21 00 00 00 00 CD 00 00 00 00 EB +R 00 00 01 00 02 05 0C 00 02 0A 00 00 +T 43 02 00 00 E1 73 23 72 21 00 00 39 7E D6 02 R 00 00 01 00 -T 53 02 00 00 +T 4E 02 00 00 77 23 7E DE 00 77 3A 00 00 00 00 +R 00 00 01 00 02 0B 17 00 +T 57 02 00 00 E6 08 28 25 R 00 00 01 00 -T 53 02 00 00 21 1E 00 DD 4E 0A DD 46 0B 09 4E +T 5B 02 00 00 R 00 00 01 00 -T 5E 02 00 00 23 46 C5 21 30 00 00 00 E5 2A -R 00 00 01 00 00 08 02 00 -T 66 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 09 00 2B 0A 0B 00 -T 6C 02 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 0B 00 02 09 00 00 -T 73 02 00 00 E1 +T 5B 02 00 00 21 1E 00 DD 4E 0A DD 46 0B 09 4E R 00 00 01 00 -T 74 02 00 00 +T 66 02 00 00 23 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 0D 00 +T 6D 02 00 00 00 00 00 00 E5 2A 00 00 00 00 E5 +R 00 00 01 00 02 04 0D 00 02 0A 0F 00 +T 74 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 03 00 02 0A 03 00 +T 7A 02 00 00 00 00 00 00 E1 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 80 02 00 00 R 00 00 01 00 -T 74 02 00 00 21 1E 00 DD 4E 0A DD 46 0B 09 4E +T 80 02 00 00 21 1E 00 DD 4E 0A DD 46 0B 09 4E R 00 00 01 00 -T 7F 02 00 00 23 46 21 23 C0 A7 ED 42 20 02 +T 8B 02 00 00 23 46 21 23 C0 A7 ED 42 20 02 R 00 00 01 00 -T 89 02 00 00 +T 95 02 00 00 R 00 00 01 00 -T 89 02 00 00 18 19 +T 95 02 00 00 18 19 R 00 00 01 00 -T 8B 02 00 00 +T 97 02 00 00 R 00 00 01 00 -T 8B 02 00 00 21 1E 00 DD 4E 0A DD 46 0B 09 36 +T 97 02 00 00 21 1E 00 DD 4E 0A DD 46 0B 09 36 R 00 00 01 00 -T 96 02 00 00 23 23 36 C0 DD 36 FE 03 DD 36 FF +T A2 02 00 00 23 23 36 C0 DD 36 FE 03 DD 36 FF R 00 00 01 00 -T A1 02 00 00 00 18 00 +T AD 02 00 00 00 18 00 R 00 00 01 00 -T A4 02 00 00 +T B0 02 00 00 R 00 00 01 00 -T A4 02 00 00 C3 AA 03 00 00 +T B0 02 00 00 C3 C2 03 00 00 R 00 00 01 00 00 05 01 00 -T A7 02 00 00 +T B3 02 00 00 R 00 00 01 00 -T A7 02 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 06 00 -T AF 02 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 06 00 02 0A 00 00 -T B6 02 00 00 21 22 00 DD 5E 0A DD 56 0B 19 D1 +T B3 02 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0B 00 +T BB 02 00 00 21 00 00 00 00 CD 00 00 00 00 E5 +R 00 00 01 00 02 05 0B 00 02 0A 00 00 +T C2 02 00 00 21 22 00 DD 5E 0A DD 56 0B 19 D1 R 00 00 01 00 -T C1 02 00 00 73 23 72 23 71 23 70 21 00 00 39 +T CD 02 00 00 73 23 72 23 71 23 70 21 00 00 39 R 00 00 01 00 -T CC 02 00 00 7E D6 04 77 23 7E DE 00 77 3A +T D8 02 00 00 7E D6 04 77 23 7E DE 00 77 3A R 00 00 01 00 -T D6 02 00 00 00 00 00 00 E6 08 28 27 -R 00 00 01 00 02 04 11 00 -T DC 02 00 00 +T E2 02 00 00 00 00 00 00 E6 08 28 2B +R 00 00 01 00 02 04 17 00 +T E8 02 00 00 R 00 00 01 00 -T DC 02 00 00 21 22 00 DD 4E 0A DD 46 0B 09 4E +T E8 02 00 00 21 22 00 DD 4E 0A DD 46 0B 09 4E R 00 00 01 00 -T E7 02 00 00 23 46 23 5E 23 56 D5 C5 21 +T F3 02 00 00 23 46 23 5E 23 56 D5 C5 0E R 00 00 01 00 -T F0 02 00 00 53 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 09 00 -T F7 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0B 00 02 0A 0B 00 -T FD 02 00 00 00 00 00 00 E1 E1 E1 E1 -R 00 00 01 00 02 04 00 00 -T 03 03 00 00 +T FC 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 01 00 02 0A 01 00 +T 02 03 00 00 2A 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 0F 00 2B 0B 03 00 +T 08 03 00 00 21 00 00 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 05 03 00 02 0A 00 00 +T 0F 03 00 00 E1 E1 E1 E1 +R 00 00 01 00 +T 13 03 00 00 R 00 00 01 00 -T 03 03 00 00 21 22 00 DD 4E 0A DD 46 0B 09 7E +T 13 03 00 00 21 22 00 DD 4E 0A DD 46 0B 09 7E R 00 00 01 00 -T 0E 03 00 00 23 B6 23 B6 23 B6 28 32 21 22 00 +T 1E 03 00 00 23 B6 23 B6 23 B6 28 32 21 22 00 R 00 00 01 00 -T 19 03 00 00 DD 4E 04 DD 46 05 09 5E 23 56 23 +T 29 03 00 00 DD 4E 04 DD 46 05 09 5E 23 56 23 R 00 00 01 00 -T 24 03 00 00 4E 23 46 C5 D5 21 4C 00 DD 4E 04 +T 34 03 00 00 4E 23 46 C5 D5 21 4C 00 DD 4E 04 R 00 00 01 00 -T 2F 03 00 00 DD 46 05 09 4E 23 46 23 5E 23 56 +T 3F 03 00 00 DD 46 05 09 4E 23 46 23 5E 23 56 R 00 00 01 00 -T 3A 03 00 00 69 60 C1 A7 ED 42 C1 20 25 EB ED +T 4A 03 00 00 69 60 C1 A7 ED 42 C1 20 25 EB ED R 00 00 01 00 -T 45 03 00 00 42 20 20 +T 55 03 00 00 42 20 20 R 00 00 01 00 -T 48 03 00 00 +T 58 03 00 00 R 00 00 01 00 -T 48 03 00 00 +T 58 03 00 00 R 00 00 01 00 -T 48 03 00 00 +T 58 03 00 00 R 00 00 01 00 -T 48 03 00 00 21 22 00 DD 4E 0A DD 46 0B 09 E5 +T 58 03 00 00 21 22 00 DD 4E 0A DD 46 0B 09 E5 R 00 00 01 00 -T 53 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 05 00 02 0A 05 00 -T 59 03 00 00 00 00 00 00 EB E1 CD 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 0B 03 00 -T 60 03 00 00 DD 36 FE 03 DD 36 FF 00 +T 63 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0A 00 02 0A 0A 00 +T 69 03 00 00 00 00 00 00 EB E1 CD 00 00 00 00 +R 00 00 01 00 02 04 00 00 02 0B 08 00 +T 70 03 00 00 DD 36 FE 03 DD 36 FF 00 R 00 00 01 00 -T 68 03 00 00 +T 78 03 00 00 R 00 00 01 00 -T 68 03 00 00 18 40 +T 78 03 00 00 18 48 R 00 00 01 00 -T 6A 03 00 00 +T 7A 03 00 00 R 00 00 01 00 -T 6A 03 00 00 3A 00 00 00 00 E6 08 28 12 -R 00 00 01 00 02 05 11 00 -T 71 03 00 00 +T 7A 03 00 00 3A 00 00 00 00 E6 08 28 16 +R 00 00 01 00 02 05 17 00 +T 81 03 00 00 R 00 00 01 00 -T 71 03 00 00 21 76 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 09 00 -T 78 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 -T 7E 03 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 83 03 00 00 +T 81 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 16 00 02 0B 16 00 +T 87 03 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0F 00 +T 8D 03 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 92 03 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 97 03 00 00 R 00 00 01 00 -T 83 03 00 00 18 25 +T 97 03 00 00 18 29 R 00 00 01 00 -T 85 03 00 00 +T 99 03 00 00 R 00 00 01 00 -T 85 03 00 00 3A 00 00 00 00 E6 08 28 12 -R 00 00 01 00 02 05 11 00 -T 8C 03 00 00 +T 99 03 00 00 3A 00 00 00 00 E6 08 28 16 +R 00 00 01 00 02 05 17 00 +T A0 03 00 00 R 00 00 01 00 -T 8C 03 00 00 21 98 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 09 00 -T 93 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 -T 99 03 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 9E 03 00 00 +T A0 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 +T A6 03 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0F 00 +T AC 03 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T B1 03 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T B6 03 00 00 R 00 00 01 00 -T 9E 03 00 00 18 0A +T B6 03 00 00 18 0A R 00 00 01 00 -T A0 03 00 00 +T B8 03 00 00 R 00 00 01 00 -T A0 03 00 00 +T B8 03 00 00 R 00 00 01 00 -T A0 03 00 00 DD 36 FE 04 DD 36 FF 00 18 00 +T B8 03 00 00 DD 36 FE 04 DD 36 FF 00 18 00 R 00 00 01 00 -T AA 03 00 00 +T C2 03 00 00 R 00 00 01 00 -T AA 03 00 00 DD 6E 0C DD 66 0D 3E 08 BE 38 1E +T C2 03 00 00 DD 6E 0C DD 66 0D 3E 08 BE 38 1E R 00 00 01 00 -T B5 03 00 00 DD 6E 0A DD 66 0B E5 DD 6E 0C DD +T CD 03 00 00 DD 6E 0A DD 66 0B E5 DD 6E 0C DD R 00 00 01 00 -T C0 03 00 00 66 0D 46 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T C9 03 00 00 E1 7E A3 47 23 7E A2 B0 20 08 +T D8 03 00 00 66 0D 46 11 01 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 0E 00 +T E1 03 00 00 E1 7E A3 47 23 7E A2 B0 20 08 R 00 00 01 00 -T D3 03 00 00 +T EB 03 00 00 R 00 00 01 00 -T D3 03 00 00 +T EB 03 00 00 R 00 00 01 00 -T D3 03 00 00 +T EB 03 00 00 R 00 00 01 00 -T D3 03 00 00 DD 36 FE 04 DD 36 FF 00 +T EB 03 00 00 DD 36 FE 04 DD 36 FF 00 R 00 00 01 00 -T DB 03 00 00 +T F3 03 00 00 R 00 00 01 00 -T DB 03 00 00 DD CB FD 7E 28 05 +T F3 03 00 00 DD CB FD 7E 28 05 R 00 00 01 00 -T E1 03 00 00 +T F9 03 00 00 R 00 00 01 00 -T E1 03 00 00 21 FF FF 18 4C +T F9 03 00 00 21 FF FF 18 4C R 00 00 01 00 -T E6 03 00 00 +T FE 03 00 00 R 00 00 01 00 -T E6 03 00 00 DD 7E 0E DD B6 0F 20 3E DD 4E FC +T FE 03 00 00 DD 7E 0E DD B6 0F 20 3E DD 4E FC R 00 00 01 00 -T F1 03 00 00 DD 46 FD 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 0C 00 -T FA 03 00 00 30 30 +T 09 04 00 00 DD 46 FD 21 00 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 11 00 +T 12 04 00 00 30 30 R 00 00 01 00 -T FC 03 00 00 +T 14 04 00 00 R 00 00 01 00 -T FC 03 00 00 +T 14 04 00 00 R 00 00 01 00 -T FC 03 00 00 +T 14 04 00 00 R 00 00 01 00 -T FC 03 00 00 +T 14 04 00 00 R 00 00 01 00 -T FC 03 00 00 DD 4E FC DD 46 FD 0B DD 71 FC DD +T 14 04 00 00 DD 4E FC DD 46 FD 0B DD 71 FC DD R 00 00 01 00 -T 07 04 00 00 70 FD 03 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 0C 00 -T 10 04 00 00 30 1A +T 1F 04 00 00 70 FD 03 21 00 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 11 00 +T 28 04 00 00 30 1A R 00 00 01 00 -T 12 04 00 00 +T 2A 04 00 00 R 00 00 01 00 -T 12 04 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 -T 1A 04 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 0E 00 02 0A 00 00 -T 21 04 00 00 A4 3C 20 05 +T 2A 04 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 13 00 +T 32 04 00 00 21 00 00 00 00 CD 00 00 00 00 7D +R 00 00 01 00 02 05 13 00 02 0A 00 00 +T 39 04 00 00 A4 3C 20 05 R 00 00 01 00 -T 25 04 00 00 +T 3D 04 00 00 R 00 00 01 00 -T 25 04 00 00 21 FF FF 18 08 +T 3D 04 00 00 21 FF FF 18 08 R 00 00 01 00 -T 2A 04 00 00 +T 42 04 00 00 R 00 00 01 00 -T 2A 04 00 00 18 D0 +T 42 04 00 00 18 D0 R 00 00 01 00 -T 2C 04 00 00 +T 44 04 00 00 R 00 00 01 00 -T 2C 04 00 00 +T 44 04 00 00 R 00 00 01 00 -T 2C 04 00 00 DD 6E FE DD 66 FF +T 44 04 00 00 DD 6E FE DD 66 FF R 00 00 01 00 -T 32 04 00 00 +T 4A 04 00 00 R 00 00 01 00 -T 32 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 20 20 20 20 63 68 65 63 6B 69 6E -R 00 00 02 00 -T 0B 00 00 00 67 20 4D 52 55 3A 20 25 64 00 -R 00 00 02 00 -T 15 00 00 00 -R 00 00 02 00 -T 15 00 00 00 20 20 20 20 63 68 65 63 6B 69 6E -R 00 00 02 00 -T 20 00 00 00 67 20 41 43 43 4D 3A 20 30 78 25 -R 00 00 02 00 -T 2B 00 00 00 30 38 6C 78 00 -R 00 00 02 00 -T 30 00 00 00 -R 00 00 02 00 -T 30 00 00 00 20 20 20 20 63 68 65 63 6B 69 6E -R 00 00 02 00 -T 3B 00 00 00 67 20 41 75 74 68 20 50 72 6F 74 -R 00 00 02 00 -T 46 00 00 00 6F 63 6F 6C 3A 20 30 78 25 30 34 -R 00 00 02 00 -T 51 00 00 00 78 00 -R 00 00 02 00 -T 53 00 00 00 -R 00 00 02 00 -T 53 00 00 00 20 20 20 20 63 68 65 63 6B 69 6E -R 00 00 02 00 -T 5E 00 00 00 67 20 4D 61 67 69 63 20 4E 75 6D -R 00 00 02 00 -T 69 00 00 00 62 65 72 3A 20 30 78 25 30 38 6C -R 00 00 02 00 -T 74 00 00 00 78 00 -R 00 00 02 00 -T 76 00 00 00 -R 00 00 02 00 -T 76 00 00 00 20 20 20 20 63 68 65 63 6B 69 6E -R 00 00 02 00 -T 81 00 00 00 67 20 50 72 6F 74 6F 63 6F 6C 20 -R 00 00 02 00 -T 8C 00 00 00 63 6F 6D 70 72 65 73 73 69 6F 6E -R 00 00 02 00 -T 97 00 00 00 00 -R 00 00 02 00 -T 98 00 00 00 -R 00 00 02 00 -T 98 00 00 00 20 20 20 20 63 68 65 63 6B 69 6E -R 00 00 02 00 -T A3 00 00 00 67 20 41 64 64 72 2F 43 74 6C 20 -R 00 00 02 00 -T AE 00 00 00 63 6F 6D 70 72 65 73 73 69 6F 6E -R 00 00 02 00 -T B9 00 00 00 00 -R 00 00 02 00 +T 4A 04 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/ppp_lib/lcp_init.rel b/src/nos/lib/ppp_lib/lcp_init.rel index db1da0ac..629a3e85 100644 --- a/src/nos/lib/ppp_lib/lcp_init.rel +++ b/src/nos/lib/ppp_lib/lcp_init.rel @@ -1,7 +1,9 @@ XL4 -H 3 areas E global symbols +H 2 areas F global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _lcp_default Ref00000000 +S ___0595_2c24_lcp_5finit_28_29 Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _fsm_init Ref00000000 S _lcp_negotiate Ref00000000 @@ -9,75 +11,71 @@ S .__.ABS. Def00000000 S _callocw Ref00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _lcp_constants Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size DC flags 0 +A CODE size E0 flags 0 S _lcp_init Def00000000 -A CSTR size B flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF 21 06 00 DD -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 0A 00 T 09 00 00 00 4E 02 DD 46 03 09 DD 75 FC DD 74 R 00 00 01 00 T 14 00 00 00 FD 21 05 00 09 5E 16 00 ED 53 R 00 00 01 00 T 1E 00 00 00 00 00 00 00 0A 6F 03 0A 67 22 -R 00 00 01 00 02 04 0C 00 -T 26 00 00 00 00 00 00 00 7B E6 80 28 12 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 0D 00 +T 26 00 00 00 00 00 00 00 7B E6 80 28 16 +R 00 00 01 00 02 04 09 00 T 2D 00 00 00 R 00 00 01 00 -T 2D 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 07 00 -T 34 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T 3A 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 3F 00 00 00 +T 2D 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 +T 33 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 09 00 +T 39 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 3E 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 43 00 00 00 R 00 00 01 00 -T 3F 00 00 00 21 08 00 DD 4E FC DD 46 FD 09 DD +T 43 00 00 00 21 08 00 DD 4E FC DD 46 FD 09 DD R 00 00 01 00 -T 4A 00 00 00 5E 02 DD 56 03 73 23 72 21 1A 00 +T 4E 00 00 00 5E 02 DD 56 03 73 23 72 21 1A 00 R 00 00 01 00 -T 55 00 00 00 09 36 00 00 00 00 23 36 -R 00 00 01 00 0B 06 0B 00 -T 5A 00 00 00 00 00 00 00 21 1C 00 09 E5 01 -R 00 00 01 00 8B 04 0B 00 -T 61 00 00 00 54 00 11 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 06 00 -T 69 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 06 00 02 09 00 00 -T 70 00 00 00 FE DD 74 FF 4D 44 E1 71 23 70 59 +T 59 00 00 00 09 36 00 00 00 00 23 36 +R 00 00 01 00 0B 06 0C 00 +T 5E 00 00 00 00 00 00 00 21 1C 00 09 E5 01 +R 00 00 01 00 8B 04 0C 00 +T 65 00 00 00 54 00 11 01 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 08 00 +T 6D 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 08 00 02 09 00 00 +T 74 00 00 00 FE DD 74 FF 4D 44 E1 71 23 70 59 R 00 00 01 00 -T 7B 00 00 00 50 13 13 21 00 00 00 00 01 14 00 +T 7F 00 00 00 50 13 13 21 00 00 00 00 01 14 00 R 00 00 01 00 02 08 01 00 -T 84 00 00 00 ED B0 2A 00 00 00 00 E5 DD 6E FE -R 00 00 01 00 02 07 04 00 -T 8D 00 00 00 DD 66 FF C1 71 23 70 21 2C 00 DD +T 88 00 00 00 ED B0 2A 00 00 00 00 E5 DD 6E FE +R 00 00 01 00 02 07 06 00 +T 91 00 00 00 DD 66 FF C1 71 23 70 21 2C 00 DD R 00 00 01 00 -T 98 00 00 00 4E FE DD 46 FF 09 EB 21 +T 9C 00 00 00 4E FE DD 46 FF 09 EB 21 R 00 00 01 00 -T A0 00 00 00 00 00 00 00 01 14 00 ED B0 21 +T A4 00 00 00 00 00 00 00 01 14 00 ED B0 21 R 00 00 01 00 02 04 01 00 -T A8 00 00 00 40 00 DD 4E FE DD 46 FF 09 EB 21 +T AC 00 00 00 40 00 DD 4E FE DD 46 FF 09 EB 21 R 00 00 01 00 -T B3 00 00 00 00 00 00 00 01 14 00 ED B0 21 +T B7 00 00 00 00 00 00 00 01 14 00 ED B0 21 R 00 00 01 00 02 04 01 00 -T BB 00 00 00 2A 00 DD 4E FE DD 46 FF 09 ED 4B +T BF 00 00 00 2A 00 DD 4E FE DD 46 FF 09 ED 4B R 00 00 01 00 -T C6 00 00 00 00 00 00 00 71 23 70 DD 5E FC DD +T CA 00 00 00 00 00 00 00 71 23 70 DD 5E FC DD +R 00 00 01 00 02 04 06 00 +T D3 00 00 00 56 FD 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 05 00 +T D8 00 00 00 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 04 05 00 02 09 00 00 +T DE 00 00 00 00 00 00 00 R 00 00 01 00 02 04 04 00 -T CF 00 00 00 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 03 00 -T D4 00 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T DA 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 6C 63 70 5F 69 6E 69 74 28 29 00 -R 00 00 02 00 diff --git a/src/nos/lib/ppp_lib/lcp_makeoptions.rel b/src/nos/lib/ppp_lib/lcp_makeoptions.rel index be24d2c2..b9d33dc8 100644 --- a/src/nos/lib/ppp_lib/lcp_makeoptions.rel +++ b/src/nos/lib/ppp_lib/lcp_makeoptions.rel @@ -1,80 +1,76 @@ XL4 -H 3 areas D global symbols +H 2 areas E global symbols +S ___0596_f060_lcp_5fmakeoptions_2 Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _lcp_option_length Ref00000000 S .__.ABS. Def00000000 S ?S_LSH_L02 Ref00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S ?SS_CMP_L02 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _lcp_option Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 7E flags 0 +A CODE size 82 flags 0 S _lcp_makeoptions Def00000000 -A CSTR size 12 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 3A -R 00 00 01 00 02 05 06 00 -T 06 00 00 00 00 00 00 00 E6 80 28 12 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 05 08 00 +T 06 00 00 00 00 00 00 00 E6 80 28 16 +R 00 00 01 00 02 04 0C 00 T 0C 00 00 00 R 00 00 01 00 -T 0C 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 13 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 07 00 02 0B 07 00 -T 19 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 1E 00 00 00 +T 0C 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 00 00 02 0B 00 00 +T 12 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 07 00 +T 18 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 1D 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 01 00 +T 22 00 00 00 R 00 00 01 00 -T 1E 00 00 00 DD 36 FE 01 DD 36 FF 00 +T 22 00 00 00 DD 36 FE 01 DD 36 FF 00 R 00 00 01 00 -T 26 00 00 00 +T 2A 00 00 00 R 00 00 01 00 -T 26 00 00 00 DD 4E FE DD 46 FF 21 08 00 CD +T 2A 00 00 00 DD 4E FE DD 46 FF 21 08 00 CD R 00 00 01 00 -T 30 00 00 00 00 00 00 00 38 47 -R 00 00 01 00 02 04 08 00 -T 34 00 00 00 +T 34 00 00 00 00 00 00 00 38 47 +R 00 00 01 00 02 04 09 00 +T 38 00 00 00 R 00 00 01 00 -T 34 00 00 00 DD 46 FE 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 04 00 -T 3D 00 00 00 7B DD A6 0A 47 7A DD A6 0B B0 28 +T 38 00 00 00 DD 46 FE 11 01 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 06 00 +T 41 00 00 00 7B DD A6 0A 47 7A DD A6 0B B0 28 R 00 00 01 00 -T 48 00 00 00 28 +T 4C 00 00 00 28 R 00 00 01 00 -T 49 00 00 00 +T 4D 00 00 00 R 00 00 01 00 -T 49 00 00 00 21 00 00 E5 21 00 00 00 00 DD 4E -R 00 00 01 00 02 09 02 00 -T 52 00 00 00 FE DD 46 FF 09 5E D5 C5 DD 4E 04 +T 4D 00 00 00 21 00 00 E5 21 00 00 00 00 DD 4E +R 00 00 01 00 02 09 04 00 +T 56 00 00 00 FE DD 46 FF 09 5E D5 C5 DD 4E 04 R 00 00 01 00 -T 5D 00 00 00 DD 46 05 DD 5E 02 DD 56 03 3E +T 61 00 00 00 DD 46 05 DD 5E 02 DD 56 03 3E R 00 00 01 00 -T 67 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 -T 6C 00 00 00 00 00 00 00 E1 E1 E1 -R 00 00 01 00 02 04 00 00 -T 71 00 00 00 +T 6B 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +T 70 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 01 00 +T 75 00 00 00 R 00 00 01 00 -T 71 00 00 00 DD 34 FE 20 03 DD 34 FF +T 75 00 00 00 DD 34 FE 20 03 DD 34 FF R 00 00 01 00 -T 79 00 00 00 +T 7D 00 00 00 R 00 00 01 00 -T 79 00 00 00 18 AB +T 7D 00 00 00 18 AB R 00 00 01 00 -T 7B 00 00 00 +T 7F 00 00 00 R 00 00 01 00 -T 7B 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 6C 63 70 5F 6D 61 6B 65 6F 70 74 -R 00 00 02 00 -T 0B 00 00 00 69 6F 6E 73 28 29 00 -R 00 00 02 00 +T 7F 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/ppp_lib/lcp_makereq.rel b/src/nos/lib/ppp_lib/lcp_makereq.rel index 1ce87cf0..9ee55ef9 100644 --- a/src/nos/lib/ppp_lib/lcp_makereq.rel +++ b/src/nos/lib/ppp_lib/lcp_makereq.rel @@ -1,51 +1,47 @@ XL4 -H 3 areas A global symbols +H 2 areas B global symbols +S ___0597_26c3_lcp_5fmakereq_28_29 Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _lcp_makeoptions Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 65 flags 0 +A CODE size 69 flags 0 S _lcp_makereq Def00000000 -A CSTR size E flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF 21 1C 00 DD -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 07 00 T 09 00 00 00 4E 02 DD 46 03 09 46 23 66 68 DD R 00 00 01 00 T 14 00 00 00 75 FC DD 74 FD AF DD 77 FE DD 77 R 00 00 01 00 -T 1F 00 00 00 FF 3A 00 00 00 00 E6 80 28 12 -R 00 00 01 00 02 06 08 00 +T 1F 00 00 00 FF 3A 00 00 00 00 E6 80 28 16 +R 00 00 01 00 02 06 09 00 T 27 00 00 00 R 00 00 01 00 -T 27 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 04 00 -T 2E 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 06 00 02 0B 06 00 -T 34 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 39 00 00 00 +T 27 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 00 00 02 0B 00 00 +T 2D 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 06 00 +T 33 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 38 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 01 00 +T 3D 00 00 00 R 00 00 01 00 -T 39 00 00 00 21 16 00 DD 4E FC DD 46 FD 09 5E +T 3D 00 00 00 21 16 00 DD 4E FC DD 46 FD 09 5E R 00 00 01 00 -T 44 00 00 00 23 56 D5 21 16 00 09 4D 44 21 +T 48 00 00 00 23 56 D5 21 16 00 09 4D 44 21 R 00 00 01 00 -T 4E 00 00 00 04 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 01 00 -T 56 00 00 00 00 00 00 00 CD 00 00 00 00 E1 DD -R 00 00 01 00 02 04 01 00 02 09 00 00 -T 5D 00 00 00 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0A 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 6C 63 70 5F 6D 61 6B 65 72 65 71 -R 00 00 02 00 -T 0B 00 00 00 28 29 00 -R 00 00 02 00 +T 52 00 00 00 04 00 39 5D 54 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 02 00 +T 5A 00 00 00 00 00 00 00 CD 00 00 00 00 E1 DD +R 00 00 01 00 02 04 02 00 02 09 01 00 +T 61 00 00 00 6E FE DD 66 FF C3 00 00 00 00 +R 00 00 01 00 02 0A 04 00 diff --git a/src/nos/lib/ppp_lib/lcp_nak.rel b/src/nos/lib/ppp_lib/lcp_nak.rel index 7be575b8..eb9a5c89 100644 --- a/src/nos/lib/ppp_lib/lcp_nak.rel +++ b/src/nos/lib/ppp_lib/lcp_nak.rel @@ -1,28 +1,34 @@ XL4 -H 3 areas 10 global symbols +H 2 areas 17 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0315_8660_LCP_20NAK_3a_20opti Ref00000000 +S ___0317_5bff_LCP_20NAK_3a_20vali Ref00000000 +S ___0313_febe_LCP_20NAK_3a_20bad_ Ref00000000 S _ntohopt Ref00000000 +S __trace_log Ref00000000 +S ___0314_8ccc_LCP_20NAK_3a_20opti Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___0318_e2bd_LCP_20NAK_3a_20wron Ref00000000 S _lcp_check Ref00000000 S .__.ABS. Def00000000 S ?S_LSH_L02 Ref00000000 S _PPPiface Ref00000000 S ?SL_CMP_L03 Ref00000000 +S ___0598_1297_lcp_5fnak_28_29 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S ?SS_CMP_L02 Ref00000000 S _free_p Ref00000000 +S ___0316_ee4a_LCP_20NAK_3a_20ran_ Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S ?L_SUBASG_L03 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 28F flags 0 +A CODE size 2AB flags 0 S _lcp_nak Def00000000 -A CSTR size 99 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F2 FF 21 1C 00 DD -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 0F 00 T 09 00 00 00 5E 02 DD 56 03 19 56 23 66 6A DD R 00 00 01 00 T 14 00 00 00 75 F2 DD 74 F3 DD 75 F4 DD 74 F5 @@ -33,297 +39,263 @@ T 2A 00 00 00 75 F6 DD 74 F7 DD 71 F8 DD 70 F9 R 00 00 01 00 T 35 00 00 00 AF DD 77 FC DD 77 FD 3A R 00 00 01 00 -T 3D 00 00 00 00 00 00 00 E6 80 28 12 -R 00 00 01 00 02 04 0E 00 +T 3D 00 00 00 00 00 00 00 E6 80 28 16 +R 00 00 01 00 02 04 15 00 T 43 00 00 00 R 00 00 01 00 -T 43 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T 4A 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T 50 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 DD 6E 02 DD 66 03 23 E5 DD 6E 04 -R 00 00 01 00 -T 60 00 00 00 DD 66 05 23 7E E1 BE 28 2D -R 00 00 01 00 -T 69 00 00 00 -R 00 00 01 00 -T 69 00 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 21 0A 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T 77 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T 7D 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 82 00 00 00 -R 00 00 01 00 -T 82 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 -T 8A 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0B 00 02 0A 00 00 -T 91 00 00 00 FF FF C3 8C 02 00 00 +T 43 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +T 49 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0C 00 +T 4F 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 54 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 59 00 00 00 +R 00 00 01 00 +T 59 00 00 00 DD 6E 02 DD 66 03 23 E5 DD 6E 04 +R 00 00 01 00 +T 64 00 00 00 DD 66 05 23 7E E1 BE 28 31 +R 00 00 01 00 +T 6D 00 00 00 +R 00 00 01 00 +T 6D 00 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T 74 00 00 00 +R 00 00 01 00 +T 74 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 +T 7A 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0C 00 +T 80 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 85 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 8A 00 00 00 +R 00 00 01 00 +T 8A 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 11 00 +T 92 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 11 00 02 0A 00 00 +T 99 00 00 00 FF FF C3 A8 02 00 00 R 00 00 01 00 00 07 01 00 -T 96 00 00 00 +T 9E 00 00 00 R 00 00 01 00 -T 96 00 00 00 +T 9E 00 00 00 R 00 00 01 00 -T 96 00 00 00 DD 6E F8 DD 66 F9 E5 DD 6E F6 DD +T 9E 00 00 00 DD 6E F8 DD 66 F9 E5 DD 6E F6 DD R 00 00 01 00 -T A1 00 00 00 66 F7 E5 01 00 00 21 00 00 CD +T A9 00 00 00 66 F7 E5 01 00 00 21 00 00 CD R 00 00 01 00 -T AB 00 00 00 00 00 00 00 D2 62 02 00 00 DD 4E -R 00 00 01 00 02 04 07 00 00 09 01 00 -T B2 00 00 00 0A DD 46 0B 21 08 00 39 5D 54 3E +T B3 00 00 00 00 00 00 00 D2 7A 02 00 00 DD 4E +R 00 00 01 00 02 04 0D 00 00 09 01 00 +T BA 00 00 00 0A DD 46 0B 21 08 00 39 5D 54 3E R 00 00 01 00 -T BD 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T C2 00 00 00 00 00 00 00 7D A4 3C CA +T C5 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T CA 00 00 00 00 00 00 00 7D A4 3C CA R 00 00 01 00 02 04 00 00 -T C8 00 00 00 62 02 00 00 +T D0 00 00 00 7A 02 00 00 R 00 00 01 00 00 04 01 00 -T CA 00 00 00 +T D2 00 00 00 R 00 00 01 00 -T CA 00 00 00 +T D2 00 00 00 R 00 00 01 00 -T CA 00 00 00 +T D2 00 00 00 R 00 00 01 00 -T CA 00 00 00 21 04 00 39 DD 5E FB 01 00 00 51 +T D2 00 00 00 21 04 00 39 DD 5E FB 01 00 00 51 R 00 00 01 00 -T D5 00 00 00 CD 00 00 00 00 CB 78 28 2D -R 00 00 01 00 02 05 0D 00 -T DC 00 00 00 +T DD 00 00 00 CD 00 00 00 00 CB 78 28 31 +R 00 00 01 00 02 05 14 00 +T E4 00 00 00 R 00 00 01 00 -T DC 00 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T E3 00 00 00 +T E4 00 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T EB 00 00 00 R 00 00 01 00 -T E3 00 00 00 21 1C 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T EA 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T F0 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T F5 00 00 00 +T EB 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 +T F1 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0C 00 +T F7 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T FC 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 01 01 00 00 R 00 00 01 00 -T F5 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 -T FD 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0B 00 02 0A 00 00 -T 04 01 00 00 FF FF C3 8C 02 00 00 +T 01 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 11 00 +T 09 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 11 00 02 0A 00 00 +T 10 01 00 00 FF FF C3 A8 02 00 00 R 00 00 01 00 00 07 01 00 -T 09 01 00 00 +T 15 01 00 00 R 00 00 01 00 -T 09 01 00 00 3E 08 DD BE FA 30 1C +T 15 01 00 00 3E 08 DD BE FA 30 20 R 00 00 01 00 -T 10 01 00 00 +T 1C 01 00 00 R 00 00 01 00 -T 10 01 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T 17 01 00 00 +T 1C 01 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T 23 01 00 00 R 00 00 01 00 -T 17 01 00 00 21 37 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T 1E 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T 24 01 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 29 01 00 00 +T 23 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 +T 29 01 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0C 00 +T 2F 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 34 01 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 39 01 00 00 R 00 00 01 00 -T 29 01 00 00 C3 D0 01 00 00 +T 39 01 00 00 C3 E4 01 00 00 R 00 00 01 00 00 05 01 00 -T 2C 01 00 00 +T 3C 01 00 00 R 00 00 01 00 -T 2C 01 00 00 DD 6E FA 26 00 DD 4E FC DD 46 FD +T 3C 01 00 00 DD 6E FA 26 00 DD 4E FC DD 46 FD R 00 00 01 00 -T 37 01 00 00 CD 00 00 00 00 38 1C 21 16 00 DD -R 00 00 01 00 02 05 0A 00 -T 40 01 00 00 4E F4 DD 46 F5 09 DD 46 FA 11 +T 47 01 00 00 CD 00 00 00 00 38 1C 21 16 00 DD +R 00 00 01 00 02 05 10 00 +T 50 01 00 00 4E F4 DD 46 F5 09 DD 46 FA 11 R 00 00 01 00 -T 4A 01 00 00 01 00 CD 00 00 00 00 7E A3 47 23 -R 00 00 01 00 02 07 05 00 -T 53 01 00 00 7E A2 B0 20 6D +T 5A 01 00 00 01 00 CD 00 00 00 00 7E A3 47 23 +R 00 00 01 00 02 07 0B 00 +T 63 01 00 00 7E A2 B0 20 71 R 00 00 01 00 -T 58 01 00 00 +T 68 01 00 00 R 00 00 01 00 -T 58 01 00 00 +T 68 01 00 00 R 00 00 01 00 -T 58 01 00 00 +T 68 01 00 00 R 00 00 01 00 -T 58 01 00 00 21 16 00 DD 4E F4 DD 46 F5 09 DD +T 68 01 00 00 21 16 00 DD 4E F4 DD 46 F5 09 DD R 00 00 01 00 -T 63 01 00 00 46 FA 11 01 00 CD 00 00 00 00 7E -R 00 00 01 00 02 0A 05 00 -T 6C 01 00 00 A3 47 23 7E A2 B0 28 2D +T 73 01 00 00 46 FA 11 01 00 CD 00 00 00 00 7E +R 00 00 01 00 02 0A 0B 00 +T 7C 01 00 00 A3 47 23 7E A2 B0 28 31 R 00 00 01 00 -T 74 01 00 00 +T 84 01 00 00 R 00 00 01 00 -T 74 01 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T 7B 01 00 00 +T 84 01 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T 8B 01 00 00 R 00 00 01 00 -T 7B 01 00 00 21 54 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T 82 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T 88 01 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 8D 01 00 00 +T 8B 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 +T 91 01 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0C 00 +T 97 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 9C 01 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T A1 01 00 00 R 00 00 01 00 -T 8D 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 -T 95 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0B 00 02 0A 00 00 -T 9C 01 00 00 FF FF C3 8C 02 00 00 +T A1 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 11 00 +T A9 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 11 00 02 0A 00 00 +T B0 01 00 00 FF FF C3 A8 02 00 00 R 00 00 01 00 00 07 01 00 -T A1 01 00 00 +T B5 01 00 00 R 00 00 01 00 -T A1 01 00 00 DD 46 FA 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T AA 01 00 00 21 16 00 DD 4E F4 DD 46 F5 09 7E +T B5 01 00 00 DD 46 FA 11 01 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 0B 00 +T BE 01 00 00 21 16 00 DD 4E F4 DD 46 F5 09 7E R 00 00 01 00 -T B5 01 00 00 B3 77 23 7E B2 77 DD 36 FC 09 DD +T C9 01 00 00 B3 77 23 7E B2 77 DD 36 FC 09 DD R 00 00 01 00 -T C0 01 00 00 36 FD 00 18 0B +T D4 01 00 00 36 FD 00 18 0B R 00 00 01 00 -T C5 01 00 00 +T D9 01 00 00 R 00 00 01 00 -T C5 01 00 00 DD 4E FA 06 00 DD 71 FC DD 70 FD +T D9 01 00 00 DD 4E FA 06 00 DD 71 FC DD 70 FD R 00 00 01 00 -T D0 01 00 00 +T E4 01 00 00 R 00 00 01 00 -T D0 01 00 00 +T E4 01 00 00 R 00 00 01 00 -T D0 01 00 00 21 00 00 E5 21 0A 00 39 E5 DD 6E +T E4 01 00 00 21 00 00 E5 21 0A 00 39 E5 DD 6E R 00 00 01 00 -T DB 01 00 00 F4 DD 66 F5 E5 DD 4E F2 DD 46 F3 +T EF 01 00 00 F4 DD 66 F5 E5 DD 4E F2 DD 46 F3 R 00 00 01 00 -T E6 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 03 00 -T EE 01 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 03 00 02 0A 00 00 -T F5 01 00 00 F1 F1 DD 75 FE DD 74 FF 7D A4 3C +T FA 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 09 00 +T 02 02 00 00 21 00 00 00 00 CD 00 00 00 00 F1 +R 00 00 01 00 02 05 09 00 02 0A 00 00 +T 09 02 00 00 F1 F1 DD 75 FE DD 74 FF 7D A4 3C R 00 00 01 00 -T 00 02 00 00 20 2C +T 14 02 00 00 20 30 R 00 00 01 00 -T 02 02 00 00 +T 16 02 00 00 R 00 00 01 00 -T 02 02 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T 09 02 00 00 +T 16 02 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T 1D 02 00 00 R 00 00 01 00 -T 09 02 00 00 21 71 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T 10 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T 16 02 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 1B 02 00 00 +T 1D 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 12 00 02 0B 12 00 +T 23 02 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0C 00 +T 29 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 2E 02 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 33 02 00 00 R 00 00 01 00 -T 1B 02 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 -T 23 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0B 00 02 0A 00 00 -T 2A 02 00 00 FF FF 18 5E +T 33 02 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 11 00 +T 3B 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 11 00 02 0A 00 00 +T 42 02 00 00 FF FF 18 62 R 00 00 01 00 -T 2E 02 00 00 +T 46 02 00 00 R 00 00 01 00 -T 2E 02 00 00 3E 04 DD AE FE DD B6 FF 20 27 3E +T 46 02 00 00 3E 04 DD AE FE DD B6 FF 20 27 3E R 00 00 01 00 -T 39 02 00 00 08 DD BE FA 38 20 +T 51 02 00 00 08 DD BE FA 38 20 R 00 00 01 00 -T 3F 02 00 00 +T 57 02 00 00 R 00 00 01 00 -T 3F 02 00 00 +T 57 02 00 00 R 00 00 01 00 -T 3F 02 00 00 +T 57 02 00 00 R 00 00 01 00 -T 3F 02 00 00 DD 46 FA 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 05 00 -T 48 02 00 00 7B 2F 5F 7A 2F 57 21 16 00 DD 4E +T 57 02 00 00 DD 46 FA 11 01 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 0B 00 +T 60 02 00 00 7B 2F 5F 7A 2F 57 21 16 00 DD 4E R 00 00 01 00 -T 53 02 00 00 F4 DD 46 F5 09 7E A3 77 23 7E A2 +T 6B 02 00 00 F4 DD 46 F5 09 7E A3 77 23 7E A2 R 00 00 01 00 -T 5E 02 00 00 77 +T 76 02 00 00 77 R 00 00 01 00 -T 5F 02 00 00 +T 77 02 00 00 R 00 00 01 00 -T 5F 02 00 00 C3 96 00 00 00 +T 77 02 00 00 C3 9E 00 00 00 R 00 00 01 00 00 05 01 00 -T 62 02 00 00 -R 00 00 01 00 -T 62 02 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T 69 02 00 00 -R 00 00 01 00 -T 69 02 00 00 21 8A 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T 70 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T 76 02 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 7B 02 00 00 -R 00 00 01 00 -T 7B 02 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 -T 83 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0B 00 02 0A 00 00 -T 8A 02 00 00 00 00 -R 00 00 01 00 -T 8C 02 00 00 -R 00 00 01 00 -T 8C 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 6C 63 70 5F 6E 61 6B 28 29 00 -R 00 00 02 00 -T 0A 00 00 00 -R 00 00 02 00 -T 0A 00 00 00 4C 43 50 20 4E 41 4B 3A 20 77 72 -R 00 00 02 00 -T 15 00 00 00 6F 6E 67 20 49 44 00 -R 00 00 02 00 -T 1C 00 00 00 -R 00 00 02 00 -T 1C 00 00 00 4C 43 50 20 4E 41 4B 3A 20 62 61 -R 00 00 02 00 -T 27 00 00 00 64 20 68 65 61 64 65 72 20 6C 65 -R 00 00 02 00 -T 32 00 00 00 6E 67 74 68 00 -R 00 00 02 00 -T 37 00 00 00 -R 00 00 02 00 -T 37 00 00 00 4C 43 50 20 4E 41 4B 3A 20 6F 70 -R 00 00 02 00 -T 42 00 00 00 74 69 6F 6E 20 6F 75 74 20 6F 66 -R 00 00 02 00 -T 4D 00 00 00 20 72 61 6E 67 65 00 -R 00 00 02 00 -T 54 00 00 00 -R 00 00 02 00 -T 54 00 00 00 4C 43 50 20 4E 41 4B 3A 20 6F 70 -R 00 00 02 00 -T 5F 00 00 00 74 69 6F 6E 20 6F 75 74 20 6F 66 -R 00 00 02 00 -T 6A 00 00 00 20 6F 72 64 65 72 00 -R 00 00 02 00 -T 71 00 00 00 -R 00 00 02 00 -T 71 00 00 00 4C 43 50 20 4E 41 4B 3A 20 72 61 -R 00 00 02 00 -T 7C 00 00 00 6E 20 6F 75 74 20 6F 66 20 64 61 -R 00 00 02 00 -T 87 00 00 00 74 61 00 -R 00 00 02 00 -T 8A 00 00 00 -R 00 00 02 00 -T 8A 00 00 00 4C 43 50 20 4E 41 4B 3A 20 76 61 -R 00 00 02 00 -T 95 00 00 00 6C 69 64 00 -R 00 00 02 00 +T 7A 02 00 00 +R 00 00 01 00 +T 7A 02 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T 81 02 00 00 +R 00 00 01 00 +T 81 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 +T 87 02 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0C 00 +T 8D 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 92 02 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 97 02 00 00 +R 00 00 01 00 +T 97 02 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 11 00 +T 9F 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 11 00 02 0A 00 00 +T A6 02 00 00 00 00 +R 00 00 01 00 +T A8 02 00 00 +R 00 00 01 00 +T A8 02 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 07 00 diff --git a/src/nos/lib/ppp_lib/lcp_opening.rel b/src/nos/lib/ppp_lib/lcp_opening.rel index 2649f154..d829f7b3 100644 --- a/src/nos/lib/ppp_lib/lcp_opening.rel +++ b/src/nos/lib/ppp_lib/lcp_opening.rel @@ -1,7 +1,8 @@ XL4 -H 3 areas E global symbols +H 2 areas F global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _ppp_ready Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S _free Ref00000000 @@ -9,18 +10,17 @@ S _PPPiface Ref00000000 S _pap_local Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _pap_remote Ref00000000 -S _trace_log Ref00000000 +S ___005c_9578__20_20_20_20Set_20n Ref00000000 S ?SS_CMP_L02 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 167 flags 0 +A CODE size 16B flags 0 S _lcp_opening Def00000000 -A CSTR size 29 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF 21 1C 00 DD -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 08 00 T 09 00 00 00 4E 02 DD 46 03 09 56 23 66 6A DD R 00 00 01 00 T 14 00 00 00 75 FC DD 74 FD 21 08 00 09 7E 23 @@ -31,7 +31,7 @@ T 2A 00 00 00 FF 01 10 00 09 46 23 66 68 E5 21 R 00 00 01 00 T 35 00 00 00 42 00 DD 4E FC DD 46 FD 09 4E 23 R 00 00 01 00 -T 40 00 00 00 46 E1 A7 ED 42 28 49 +T 40 00 00 00 46 E1 A7 ED 42 28 4D R 00 00 01 00 T 47 00 00 00 R 00 00 01 00 @@ -42,98 +42,88 @@ R 00 00 01 00 T 5D 00 00 00 23 46 E1 71 23 70 ED 4B R 00 00 01 00 T 65 00 00 00 00 00 00 00 21 01 00 CD -R 00 00 01 00 02 04 0C 00 -T 6B 00 00 00 00 00 00 00 30 21 -R 00 00 01 00 02 04 0A 00 +R 00 00 01 00 02 04 0D 00 +T 6B 00 00 00 00 00 00 00 30 25 +R 00 00 01 00 02 04 0B 00 T 6F 00 00 00 R 00 00 01 00 T 6F 00 00 00 21 10 00 DD 4E FE DD 46 FF 09 4E R 00 00 01 00 -T 7A 00 00 00 23 46 C5 21 00 00 00 00 E5 2A -R 00 00 01 00 00 08 02 00 -T 82 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 05 00 2B 0A 09 00 -T 88 00 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 09 00 02 09 00 00 -T 8F 00 00 00 E1 -R 00 00 01 00 -T 90 00 00 00 +T 7A 00 00 00 23 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 0A 00 +T 81 00 00 00 00 00 00 00 E5 2A 00 00 00 00 E5 +R 00 00 01 00 02 04 0A 00 02 0A 06 00 +T 88 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 02 00 02 0A 02 00 +T 8E 00 00 00 00 00 00 00 E1 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 94 00 00 00 R 00 00 01 00 -T 90 00 00 00 +T 94 00 00 00 R 00 00 01 00 -T 90 00 00 00 21 08 00 DD 4E 02 DD 46 03 09 56 +T 94 00 00 00 21 08 00 DD 4E 02 DD 46 03 09 56 R 00 00 01 00 -T 9B 00 00 00 23 66 6A 23 23 36 02 21 08 00 09 +T 9F 00 00 00 23 66 6A 23 23 36 02 21 08 00 09 R 00 00 01 00 -T A6 00 00 00 56 23 66 6A 11 04 00 19 7E E6 CF +T AA 00 00 00 56 23 66 6A 11 04 00 19 7E E6 CF R 00 00 01 00 -T B1 00 00 00 77 21 08 00 09 56 23 66 6A 11 +T B5 00 00 00 77 21 08 00 09 56 23 66 6A 11 R 00 00 01 00 -T BB 00 00 00 64 00 19 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 -T C3 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 04 00 02 0A 00 00 -T CA 00 00 00 08 00 09 46 23 66 68 01 64 00 09 +T BF 00 00 00 64 00 19 5E 23 56 3E 00 00 00 00 +R 00 00 01 00 2B 0B 05 00 +T C7 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 05 00 02 0A 00 00 +T CE 00 00 00 08 00 09 46 23 66 68 01 64 00 09 R 00 00 01 00 -T D5 00 00 00 AF 77 23 77 21 16 00 DD 4E FC DD +T D9 00 00 00 AF 77 23 77 21 16 00 DD 4E FC DD R 00 00 01 00 -T E0 00 00 00 46 FD 09 7E E6 08 28 2C +T E4 00 00 00 46 FD 09 7E E6 08 28 2C R 00 00 01 00 -T E8 00 00 00 +T EC 00 00 00 R 00 00 01 00 -T E8 00 00 00 21 1E 00 DD 4E FC DD 46 FD 09 4E +T EC 00 00 00 21 1E 00 DD 4E FC DD 46 FD 09 4E R 00 00 01 00 -T F3 00 00 00 23 46 21 23 C0 A7 ED 42 20 17 +T F7 00 00 00 23 46 21 23 C0 A7 ED 42 20 17 R 00 00 01 00 -T FD 00 00 00 +T 01 01 00 00 R 00 00 01 00 -T FD 00 00 00 21 08 00 DD 4E 02 DD 46 03 09 5E +T 01 01 00 00 21 08 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 -T 08 01 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 06 00 -T 0D 01 00 00 00 00 00 00 CD 00 00 00 00 18 00 -R 00 00 01 00 02 04 06 00 02 09 00 00 -T 14 01 00 00 +T 0C 01 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 07 00 +T 11 01 00 00 00 00 00 00 CD 00 00 00 00 18 00 +R 00 00 01 00 02 04 07 00 02 09 00 00 +T 18 01 00 00 R 00 00 01 00 -T 14 01 00 00 +T 18 01 00 00 R 00 00 01 00 -T 14 01 00 00 21 40 00 DD 4E FC DD 46 FD 09 7E +T 18 01 00 00 21 40 00 DD 4E FC DD 46 FD 09 7E R 00 00 01 00 -T 1F 01 00 00 E6 08 28 2C +T 23 01 00 00 E6 08 28 2C R 00 00 01 00 -T 23 01 00 00 +T 27 01 00 00 R 00 00 01 00 -T 23 01 00 00 21 48 00 DD 4E FC DD 46 FD 09 4E +T 27 01 00 00 21 48 00 DD 4E FC DD 46 FD 09 4E R 00 00 01 00 -T 2E 01 00 00 23 46 21 23 C0 A7 ED 42 20 17 +T 32 01 00 00 23 46 21 23 C0 A7 ED 42 20 17 R 00 00 01 00 -T 38 01 00 00 +T 3C 01 00 00 R 00 00 01 00 -T 38 01 00 00 21 08 00 DD 4E 02 DD 46 03 09 5E +T 3C 01 00 00 21 08 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 -T 43 01 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 08 00 -T 48 01 00 00 00 00 00 00 CD 00 00 00 00 18 00 -R 00 00 01 00 02 04 08 00 02 09 00 00 -T 4F 01 00 00 +T 47 01 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 09 00 +T 4C 01 00 00 00 00 00 00 CD 00 00 00 00 18 00 +R 00 00 01 00 02 04 09 00 02 09 00 00 +T 53 01 00 00 R 00 00 01 00 -T 4F 01 00 00 +T 53 01 00 00 R 00 00 01 00 -T 4F 01 00 00 21 08 00 DD 4E 02 DD 46 03 09 5E +T 53 01 00 00 21 08 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 -T 5A 01 00 00 23 56 3E 00 00 00 00 21 +T 5E 01 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 01 00 -T 5F 01 00 00 00 00 00 00 CD 00 00 00 00 C3 +T 63 01 00 00 00 00 00 00 CD 00 00 00 00 C3 R 00 00 01 00 02 04 01 00 02 09 00 00 -T 65 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 20 20 20 20 53 65 74 20 6E 65 77 -R 00 00 02 00 -T 0B 00 00 00 20 4D 54 55 20 66 6F 72 20 6F 75 -R 00 00 02 00 -T 16 00 00 00 74 67 6F 69 6E 67 20 70 61 63 6B -R 00 00 02 00 -T 21 00 00 00 65 74 73 3A 20 25 64 00 -R 00 00 02 00 +T 69 01 00 00 00 00 00 00 +R 00 00 01 00 02 04 03 00 diff --git a/src/nos/lib/ppp_lib/lcp_option.rel b/src/nos/lib/ppp_lib/lcp_option.rel index db8d3991..06e35df6 100644 --- a/src/nos/lib/ppp_lib/lcp_option.rel +++ b/src/nos/lib/ppp_lib/lcp_option.rel @@ -1,39 +1,45 @@ XL4 -H 3 areas 10 global symbols +H 2 areas 17 global symbols S _put16 Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0070_bb75__20_20_20_20making_ Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _alloc_mbuf Ref00000000 +S ___0071_ee59__20_20_20_20making_ Ref00000000 +S ___006f_6c96__20_20_20_20making_ Ref00000000 S .__.ABS. Def00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S ?SS_CMP_L02 Ref00000000 +S ___0069_4125__20_20_20_20making_ Ref00000000 S _pull8 Ref00000000 S ?C_S_SWITCH_L06 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _append Ref00000000 +S ___006b_2ab5__20_20_20_20making_ Ref00000000 +S ___006a_5c3a__20_20_20_20making_ Ref00000000 +S ___0072_fa1f__20_20_20_20making_ Ref00000000 S _put32 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 298 flags 0 +A CODE size 2B4 flags 0 S _lcp_option Def00000000 -A CSTR size CF flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF DD 5E 0C 16 -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 0A 00 T 09 00 00 00 00 1B 1B DD 73 FE DD 72 FF DD 5E R 00 00 01 00 T 14 00 00 00 0C 16 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 03 00 +R 00 00 01 00 2B 08 05 00 T 1A 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 03 00 02 09 01 00 +R 00 00 01 00 02 04 05 00 02 09 01 00 T 21 00 00 00 FA DD 74 FB 7D B4 20 03 R 00 00 01 00 T 29 00 00 00 R 00 00 01 00 -T 29 00 00 00 C3 95 02 00 00 +T 29 00 00 00 C3 B1 02 00 00 R 00 00 01 00 00 05 01 00 T 2C 00 00 00 R 00 00 01 00 @@ -47,15 +53,15 @@ T 4D 00 00 00 6E FC DD 66 FD 23 DD 75 FC DD 74 R 00 00 01 00 T 58 00 00 00 FD 2B DD 46 0C 70 DD 5E 0A CD R 00 00 01 00 -T 62 00 00 00 00 00 00 00 01 08 00 12 02 00 00 -R 00 00 01 00 02 04 0A 00 00 0B 01 00 -T 69 00 00 00 79 00 00 00 C8 00 00 00 +T 62 00 00 00 00 00 00 00 01 08 00 2A 02 00 00 +R 00 00 01 00 02 04 0E 00 00 0B 01 00 +T 69 00 00 00 79 00 00 00 CC 00 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 6D 00 00 00 29 01 00 00 12 02 00 00 +T 6D 00 00 00 31 01 00 00 2A 02 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 71 00 00 00 7C 01 00 00 12 02 00 00 +T 71 00 00 00 88 01 00 00 2A 02 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 75 00 00 00 DC 01 00 00 F7 01 00 00 +T 75 00 00 00 EC 01 00 00 0B 02 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 T 79 00 00 00 R 00 00 01 00 @@ -67,253 +73,209 @@ T 8C 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 00 00 02 0A 01 00 T 93 00 00 00 04 00 39 7E D6 02 77 23 7E DE 00 R 00 00 01 00 -T 9E 00 00 00 77 3A 00 00 00 00 E6 08 28 1F -R 00 00 01 00 02 06 0E 00 +T 9E 00 00 00 77 3A 00 00 00 00 E6 08 28 23 +R 00 00 01 00 02 06 15 00 T A6 00 00 00 R 00 00 01 00 T A6 00 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 -T B1 00 00 00 C5 21 00 00 00 00 E5 2A -R 00 00 01 00 00 06 02 00 -T B7 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 05 00 2B 0A 07 00 -T BD 00 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 07 00 02 09 01 00 -T C4 00 00 00 E1 -R 00 00 01 00 -T C5 00 00 00 +T B1 00 00 00 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 06 07 00 +T B6 00 00 00 00 00 00 00 E5 2A 00 00 00 00 E5 +R 00 00 01 00 02 04 07 00 02 0A 09 00 +T BD 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 03 00 02 0A 03 00 +T C3 00 00 00 00 00 00 00 E1 E1 E1 E1 +R 00 00 01 00 02 04 01 00 +T C9 00 00 00 R 00 00 01 00 -T C5 00 00 00 C3 34 02 00 00 +T C9 00 00 00 C3 50 02 00 00 R 00 00 01 00 00 05 01 00 -T C8 00 00 00 +T CC 00 00 00 R 00 00 01 00 -T C8 00 00 00 21 04 00 DD 4E 04 DD 46 05 09 4E +T CC 00 00 00 21 04 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 -T D3 00 00 00 23 46 23 5E 23 56 D5 C5 DD 5E FC +T D7 00 00 00 23 46 23 5E 23 56 D5 C5 DD 5E FC R 00 00 01 00 -T DE 00 00 00 DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0D 00 -T E4 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0D 00 02 09 01 00 -T EB 00 00 00 21 04 00 39 7E D6 04 77 23 7E DE +T E2 00 00 00 DD 56 FD 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 14 00 +T E8 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 14 00 02 09 01 00 +T EF 00 00 00 21 04 00 39 7E D6 04 77 23 7E DE R 00 00 01 00 -T F6 00 00 00 00 77 3A 00 00 00 00 E6 08 28 27 -R 00 00 01 00 02 07 0E 00 -T FF 00 00 00 +T FA 00 00 00 00 77 3A 00 00 00 00 E6 08 28 2B +R 00 00 01 00 02 07 15 00 +T 03 01 00 00 R 00 00 01 00 -T FF 00 00 00 21 04 00 DD 4E 04 DD 46 05 09 4E +T 03 01 00 00 21 04 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 -T 0A 01 00 00 23 46 23 5E 23 56 D5 C5 21 +T 0E 01 00 00 23 46 23 5E 23 56 D5 C5 0E R 00 00 01 00 -T 13 01 00 00 13 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 05 00 -T 1A 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 -T 20 01 00 00 00 00 00 00 E1 E1 E1 E1 -R 00 00 01 00 02 04 01 00 -T 26 01 00 00 +T 17 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 0C 00 02 0A 0C 00 +T 1D 01 00 00 2A 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 09 00 2B 0B 03 00 +T 23 01 00 00 21 00 00 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 05 03 00 02 0A 01 00 +T 2A 01 00 00 E1 E1 E1 E1 +R 00 00 01 00 +T 2E 01 00 00 R 00 00 01 00 -T 26 01 00 00 C3 34 02 00 00 +T 2E 01 00 00 C3 50 02 00 00 R 00 00 01 00 00 05 01 00 -T 29 01 00 00 +T 31 01 00 00 R 00 00 01 00 -T 29 01 00 00 21 08 00 DD 4E 04 DD 46 05 09 4E +T 31 01 00 00 21 08 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 -T 34 01 00 00 23 46 DD 5E FC DD 56 FD 3E +T 3C 01 00 00 23 46 DD 5E FC DD 56 FD 3E R 00 00 01 00 -T 3D 01 00 00 00 00 00 00 21 00 00 00 00 CD +T 45 01 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 00 00 02 09 00 00 -T 42 01 00 00 00 00 00 00 21 04 00 39 7E D6 02 +T 4A 01 00 00 00 00 00 00 21 04 00 39 7E D6 02 R 00 00 01 00 02 04 01 00 -T 4B 01 00 00 77 23 7E DE 00 77 3A 00 00 00 00 -R 00 00 01 00 02 0B 0E 00 -T 54 01 00 00 E6 08 28 21 -R 00 00 01 00 -T 58 01 00 00 +T 53 01 00 00 77 23 7E DE 00 77 3A 00 00 00 00 +R 00 00 01 00 02 0B 15 00 +T 5C 01 00 00 E6 08 28 25 R 00 00 01 00 -T 58 01 00 00 21 08 00 DD 4E 04 DD 46 05 09 4E +T 60 01 00 00 R 00 00 01 00 -T 63 01 00 00 23 46 C5 21 2C 00 00 00 E5 2A -R 00 00 01 00 00 08 02 00 -T 6B 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 05 00 2B 0A 07 00 -T 71 01 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 07 00 02 09 01 00 -T 78 01 00 00 E1 +T 60 01 00 00 21 08 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 -T 79 01 00 00 +T 6B 01 00 00 23 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 11 00 +T 72 01 00 00 00 00 00 00 E5 2A 00 00 00 00 E5 +R 00 00 01 00 02 04 11 00 02 0A 09 00 +T 79 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 03 00 02 0A 03 00 +T 7F 01 00 00 00 00 00 00 E1 E1 E1 E1 +R 00 00 01 00 02 04 01 00 +T 85 01 00 00 R 00 00 01 00 -T 79 01 00 00 C3 34 02 00 00 +T 85 01 00 00 C3 50 02 00 00 R 00 00 01 00 00 05 01 00 -T 7C 01 00 00 +T 88 01 00 00 R 00 00 01 00 -T 7C 01 00 00 21 0C 00 DD 4E 04 DD 46 05 09 4E +T 88 01 00 00 21 0C 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 -T 87 01 00 00 23 46 23 5E 23 56 D5 C5 DD 5E FC +T 93 01 00 00 23 46 23 5E 23 56 D5 C5 DD 5E FC R 00 00 01 00 -T 92 01 00 00 DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0D 00 -T 98 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0D 00 02 09 01 00 -T 9F 01 00 00 21 04 00 39 7E D6 04 77 23 7E DE +T 9E 01 00 00 DD 56 FD 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 14 00 +T A4 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 14 00 02 09 01 00 +T AB 01 00 00 21 04 00 39 7E D6 04 77 23 7E DE R 00 00 01 00 -T AA 01 00 00 00 77 3A 00 00 00 00 E6 08 28 27 -R 00 00 01 00 02 07 0E 00 -T B3 01 00 00 +T B6 01 00 00 00 77 3A 00 00 00 00 E6 08 28 2B +R 00 00 01 00 02 07 15 00 +T BF 01 00 00 R 00 00 01 00 -T B3 01 00 00 21 0C 00 DD 4E 04 DD 46 05 09 4E +T BF 01 00 00 21 0C 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 -T BE 01 00 00 23 46 23 5E 23 56 D5 C5 21 +T CA 01 00 00 23 46 23 5E 23 56 D5 C5 0E R 00 00 01 00 -T C7 01 00 00 4D 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 05 00 -T CE 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 -T D4 01 00 00 00 00 00 00 E1 E1 E1 E1 -R 00 00 01 00 02 04 01 00 -T DA 01 00 00 +T D3 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 02 00 02 0A 02 00 +T D9 01 00 00 2A 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 09 00 2B 0B 03 00 +T DF 01 00 00 21 00 00 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 05 03 00 02 0A 01 00 +T E6 01 00 00 E1 E1 E1 E1 R 00 00 01 00 -T DA 01 00 00 18 58 +T EA 01 00 00 R 00 00 01 00 -T DC 01 00 00 +T EA 01 00 00 18 64 R 00 00 01 00 -T DC 01 00 00 3A 00 00 00 00 E6 08 28 12 -R 00 00 01 00 02 05 0E 00 -T E3 01 00 00 +T EC 01 00 00 R 00 00 01 00 -T E3 01 00 00 21 6E 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T EA 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 07 00 02 0B 07 00 -T F0 01 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 01 00 -T F5 01 00 00 +T EC 01 00 00 3A 00 00 00 00 E6 08 28 16 +R 00 00 01 00 02 05 15 00 +T F3 01 00 00 R 00 00 01 00 -T F5 01 00 00 18 3D +T F3 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 +T F9 01 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 09 00 +T FF 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 04 02 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 01 00 +T 09 02 00 00 R 00 00 01 00 -T F7 01 00 00 +T 09 02 00 00 18 45 R 00 00 01 00 -T F7 01 00 00 3A 00 00 00 00 E6 08 28 12 -R 00 00 01 00 02 05 0E 00 -T FE 01 00 00 +T 0B 02 00 00 R 00 00 01 00 -T FE 01 00 00 21 8E 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 05 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 07 00 02 0B 07 00 -T 0B 02 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 01 00 -T 10 02 00 00 +T 0B 02 00 00 3A 00 00 00 00 E6 08 28 16 +R 00 00 01 00 02 05 15 00 +T 12 02 00 00 R 00 00 01 00 -T 10 02 00 00 18 22 +T 12 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 12 00 02 0B 12 00 +T 18 02 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 09 00 +T 1E 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 23 02 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 01 00 +T 28 02 00 00 R 00 00 01 00 -T 12 02 00 00 +T 28 02 00 00 18 26 R 00 00 01 00 -T 12 02 00 00 +T 2A 02 00 00 R 00 00 01 00 -T 12 02 00 00 3A 00 00 00 00 E6 08 28 19 -R 00 00 01 00 02 05 0E 00 -T 19 02 00 00 -R 00 00 01 00 -T 19 02 00 00 DD 4E 0A 06 00 C5 21 AE 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 22 02 00 00 E5 2A 00 00 00 00 E5 3E -R 00 00 01 00 02 06 05 00 -T 28 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 2D 02 00 00 00 00 00 00 E1 E1 E1 -R 00 00 01 00 02 04 01 00 -T 32 02 00 00 +T 2A 02 00 00 R 00 00 01 00 -T 32 02 00 00 18 00 +T 2A 02 00 00 3A 00 00 00 00 E6 08 28 1D +R 00 00 01 00 02 05 15 00 +T 31 02 00 00 R 00 00 01 00 -T 34 02 00 00 +T 31 02 00 00 DD 4E 0A 06 00 C5 0E 00 00 00 00 +R 00 00 01 00 2B 0B 13 00 +T 39 02 00 00 C5 21 00 00 00 00 E5 2A +R 00 00 01 00 02 06 13 00 +T 3F 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 09 00 2B 0A 03 00 +T 45 02 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 03 00 02 09 01 00 +T 4C 02 00 00 E1 E1 R 00 00 01 00 -T 34 02 00 00 +T 4E 02 00 00 R 00 00 01 00 -T 34 02 00 00 DD 4E FE DD 46 FF 0B DD 71 FE DD +T 4E 02 00 00 18 00 R 00 00 01 00 -T 3F 02 00 00 70 FF 03 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T 48 02 00 00 30 21 +T 50 02 00 00 R 00 00 01 00 -T 4A 02 00 00 +T 50 02 00 00 R 00 00 01 00 -T 4A 02 00 00 DD 5E 0E DD 56 0F 3E 00 00 00 00 -R 00 00 01 00 2B 0B 09 00 -T 52 02 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 09 00 02 0A 01 00 -T 59 02 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD +T 50 02 00 00 DD 4E FE DD 46 FF 0B DD 71 FE DD R 00 00 01 00 -T 64 02 00 00 74 FD 2B C1 71 18 C9 +T 5B 02 00 00 70 FF 03 21 00 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 0B 00 +T 64 02 00 00 30 21 R 00 00 01 00 -T 6B 02 00 00 +T 66 02 00 00 R 00 00 01 00 -T 6B 02 00 00 21 0C 00 DD 4E FA DD 46 FB 09 DD +T 66 02 00 00 DD 5E 0E DD 56 0F 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0D 00 +T 6E 02 00 00 21 00 00 00 00 CD 00 00 00 00 E5 +R 00 00 01 00 02 05 0D 00 02 0A 01 00 +T 75 02 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD R 00 00 01 00 -T 76 02 00 00 5E 0C 16 00 7E 83 77 23 7E 8A 77 +T 80 02 00 00 74 FD 2B C1 71 18 C9 R 00 00 01 00 -T 81 02 00 00 21 00 00 39 4D 44 DD 5E 02 DD 56 +T 87 02 00 00 R 00 00 01 00 -T 8C 02 00 00 03 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 -T 92 02 00 00 CD 00 00 00 00 +T 87 02 00 00 21 0C 00 DD 4E FA DD 46 FB 09 DD +R 00 00 01 00 +T 92 02 00 00 5E 0C 16 00 7E 83 77 23 7E 8A 77 +R 00 00 01 00 +T 9D 02 00 00 21 00 00 39 4D 44 DD 5E 02 DD 56 +R 00 00 01 00 +T A8 02 00 00 03 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 10 00 02 0B 10 00 +T AE 02 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 01 00 -T 95 02 00 00 +T B1 02 00 00 R 00 00 01 00 -T 95 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 20 20 20 20 6D 61 6B 69 6E 67 20 -R 00 00 02 00 -T 0B 00 00 00 4D 52 55 3A 20 25 64 00 -R 00 00 02 00 -T 13 00 00 00 -R 00 00 02 00 -T 13 00 00 00 20 20 20 20 6D 61 6B 69 6E 67 20 -R 00 00 02 00 -T 1E 00 00 00 41 43 43 4D 3A 20 30 78 25 30 38 -R 00 00 02 00 -T 29 00 00 00 6C 78 00 -R 00 00 02 00 -T 2C 00 00 00 -R 00 00 02 00 -T 2C 00 00 00 20 20 20 20 6D 61 6B 69 6E 67 20 -R 00 00 02 00 -T 37 00 00 00 41 75 74 68 20 50 72 6F 74 6F 63 -R 00 00 02 00 -T 42 00 00 00 6F 6C 3A 20 30 78 25 30 34 78 00 -R 00 00 02 00 -T 4D 00 00 00 -R 00 00 02 00 -T 4D 00 00 00 20 20 20 20 6D 61 6B 69 6E 67 20 -R 00 00 02 00 -T 58 00 00 00 4D 61 67 69 63 20 4E 75 6D 62 65 -R 00 00 02 00 -T 63 00 00 00 72 3A 20 30 78 25 30 38 6C 78 00 -R 00 00 02 00 -T 6E 00 00 00 -R 00 00 02 00 -T 6E 00 00 00 20 20 20 20 6D 61 6B 69 6E 67 20 -R 00 00 02 00 -T 79 00 00 00 50 72 6F 74 6F 63 6F 6C 20 63 6F -R 00 00 02 00 -T 84 00 00 00 6D 70 72 65 73 73 69 6F 6E 00 -R 00 00 02 00 -T 8E 00 00 00 -R 00 00 02 00 -T 8E 00 00 00 20 20 20 20 6D 61 6B 69 6E 67 20 -R 00 00 02 00 -T 99 00 00 00 41 64 64 72 2F 43 74 6C 20 63 6F -R 00 00 02 00 -T A4 00 00 00 6D 70 72 65 73 73 69 6F 6E 00 -R 00 00 02 00 -T AE 00 00 00 -R 00 00 02 00 -T AE 00 00 00 20 20 20 20 6D 61 6B 69 6E 67 20 -R 00 00 02 00 -T B9 00 00 00 75 6E 69 6D 70 6C 65 6D 65 6E 74 -R 00 00 02 00 -T C4 00 00 00 65 64 20 74 79 70 65 20 25 64 00 -R 00 00 02 00 +T B1 02 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/ppp_lib/lcp_reject.rel b/src/nos/lib/ppp_lib/lcp_reject.rel index f6f5a240..7f7cc2da 100644 --- a/src/nos/lib/ppp_lib/lcp_reject.rel +++ b/src/nos/lib/ppp_lib/lcp_reject.rel @@ -1,28 +1,34 @@ XL4 -H 3 areas 10 global symbols +H 2 areas 17 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___031d_ee42_LCP_20REJ_3a_20vali Ref00000000 S _ntohopt Ref00000000 +S ___031b_2b2d_LCP_20REJ_3a_20opti Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?S_LSH_L02 Ref00000000 S _PPPiface Ref00000000 +S ___0319_eec9_LCP_20REJ_3a_20bad_ Ref00000000 S ?SL_CMP_L03 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 +S ___031a_2181_LCP_20REJ_3a_20opti Ref00000000 S ?SS_CMP_L02 Ref00000000 S _free_p Ref00000000 +S ___031e_d356_LCP_20REJ_3a_20wron Ref00000000 S _pull8 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___031c_79ab_LCP_20REJ_3a_20ran_ Ref00000000 S ?L_SUBASG_L03 Ref00000000 +S ___0599_6ddc_lcp_5freject_28_29 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 24A flags 0 +A CODE size 266 flags 0 S _lcp_reject Def00000000 -A CSTR size 9C flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F2 FF 21 1C 00 DD -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 0B 00 T 09 00 00 00 5E 02 DD 56 03 19 56 23 66 6A DD R 00 00 01 00 T 14 00 00 00 75 F2 DD 74 F3 DD 75 F4 DD 74 F5 @@ -33,285 +39,249 @@ T 2A 00 00 00 75 F6 DD 74 F7 DD 71 F8 DD 70 F9 R 00 00 01 00 T 35 00 00 00 AF DD 77 FC DD 77 FD 3A R 00 00 01 00 -T 3D 00 00 00 00 00 00 00 E6 80 28 12 -R 00 00 01 00 02 04 0E 00 +T 3D 00 00 00 00 00 00 00 E6 80 28 16 +R 00 00 01 00 02 04 15 00 T 43 00 00 00 R 00 00 01 00 -T 43 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 4A 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T 50 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 55 00 00 00 -R 00 00 01 00 -T 55 00 00 00 DD 6E 02 DD 66 03 23 E5 DD 6E 04 -R 00 00 01 00 -T 60 00 00 00 DD 66 05 23 7E E1 BE 28 2D -R 00 00 01 00 -T 69 00 00 00 -R 00 00 01 00 -T 69 00 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T 70 00 00 00 -R 00 00 01 00 -T 70 00 00 00 21 0D 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 77 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T 7D 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 82 00 00 00 -R 00 00 01 00 -T 82 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0A 00 -T 8A 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0A 00 02 0A 00 00 -T 91 00 00 00 FF FF C3 47 02 00 00 +T 43 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 14 00 02 0B 14 00 +T 49 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 08 00 +T 4F 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 54 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 59 00 00 00 +R 00 00 01 00 +T 59 00 00 00 DD 6E 02 DD 66 03 23 E5 DD 6E 04 +R 00 00 01 00 +T 64 00 00 00 DD 66 05 23 7E E1 BE 28 31 +R 00 00 01 00 +T 6D 00 00 00 +R 00 00 01 00 +T 6D 00 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T 74 00 00 00 +R 00 00 01 00 +T 74 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 +T 7A 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 08 00 +T 80 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 85 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 8A 00 00 00 +R 00 00 01 00 +T 8A 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0E 00 +T 92 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 0E 00 02 0A 00 00 +T 99 00 00 00 FF FF C3 63 02 00 00 R 00 00 01 00 00 07 01 00 -T 96 00 00 00 +T 9E 00 00 00 R 00 00 01 00 -T 96 00 00 00 +T 9E 00 00 00 R 00 00 01 00 -T 96 00 00 00 DD 6E F8 DD 66 F9 E5 DD 6E F6 DD +T 9E 00 00 00 DD 6E F8 DD 66 F9 E5 DD 6E F6 DD R 00 00 01 00 -T A1 00 00 00 66 F7 E5 01 00 00 21 00 00 CD +T A9 00 00 00 66 F7 E5 01 00 00 21 00 00 CD R 00 00 01 00 -T AB 00 00 00 00 00 00 00 D2 1D 02 00 00 DD 4E -R 00 00 01 00 02 04 06 00 00 09 01 00 -T B2 00 00 00 0A DD 46 0B 21 08 00 39 5D 54 3E +T B3 00 00 00 00 00 00 00 D2 35 02 00 00 DD 4E +R 00 00 01 00 02 04 0A 00 00 09 01 00 +T BA 00 00 00 0A DD 46 0B 21 08 00 39 5D 54 3E R 00 00 01 00 -T BD 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T C2 00 00 00 00 00 00 00 7D A4 3C CA +T C5 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T CA 00 00 00 00 00 00 00 7D A4 3C CA R 00 00 01 00 02 04 00 00 -T C8 00 00 00 1D 02 00 00 +T D0 00 00 00 35 02 00 00 R 00 00 01 00 00 04 01 00 -T CA 00 00 00 +T D2 00 00 00 R 00 00 01 00 -T CA 00 00 00 +T D2 00 00 00 R 00 00 01 00 -T CA 00 00 00 +T D2 00 00 00 R 00 00 01 00 -T CA 00 00 00 21 04 00 39 DD 5E FB 01 00 00 51 +T D2 00 00 00 21 04 00 39 DD 5E FB 01 00 00 51 R 00 00 01 00 -T D5 00 00 00 CD 00 00 00 00 CB 78 28 2D -R 00 00 01 00 02 05 0D 00 -T DC 00 00 00 -R 00 00 01 00 -T DC 00 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T E3 00 00 00 -R 00 00 01 00 -T E3 00 00 00 21 1F 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T EA 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T F0 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T F5 00 00 00 -R 00 00 01 00 -T F5 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0A 00 -T FD 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0A 00 02 0A 00 00 -T 04 01 00 00 FF FF C3 47 02 00 00 +T DD 00 00 00 CD 00 00 00 00 CB 78 28 31 +R 00 00 01 00 02 05 13 00 +T E4 00 00 00 +R 00 00 01 00 +T E4 00 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T EB 00 00 00 +R 00 00 01 00 +T EB 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 +T F1 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 08 00 +T F7 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T FC 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 01 01 00 00 +R 00 00 01 00 +T 01 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0E 00 +T 09 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 0E 00 02 0A 00 00 +T 10 01 00 00 FF FF C3 63 02 00 00 R 00 00 01 00 00 07 01 00 -T 09 01 00 00 +T 15 01 00 00 R 00 00 01 00 -T 09 01 00 00 3E 08 DD BE FA 30 1B +T 15 01 00 00 3E 08 DD BE FA 30 1F R 00 00 01 00 -T 10 01 00 00 +T 1C 01 00 00 R 00 00 01 00 -T 10 01 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T 17 01 00 00 +T 1C 01 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T 23 01 00 00 R 00 00 01 00 -T 17 01 00 00 21 3A 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 1E 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T 24 01 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 29 01 00 00 +T 23 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 +T 29 01 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 08 00 +T 2F 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 34 01 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 39 01 00 00 R 00 00 01 00 -T 29 01 00 00 18 59 +T 39 01 00 00 18 5D R 00 00 01 00 -T 2B 01 00 00 +T 3B 01 00 00 R 00 00 01 00 -T 2B 01 00 00 DD 6E FA 26 00 DD 4E FC DD 46 FD +T 3B 01 00 00 DD 6E FA 26 00 DD 4E FC DD 46 FD R 00 00 01 00 -T 36 01 00 00 CD 00 00 00 00 38 1C 21 16 00 DD -R 00 00 01 00 02 05 09 00 -T 3F 01 00 00 4E F4 DD 46 F5 09 DD 46 FA 11 +T 46 01 00 00 CD 00 00 00 00 38 1C 21 16 00 DD +R 00 00 01 00 02 05 0D 00 +T 4F 01 00 00 4E F4 DD 46 F5 09 DD 46 FA 11 R 00 00 01 00 -T 49 01 00 00 01 00 CD 00 00 00 00 7E A3 47 23 -R 00 00 01 00 02 07 04 00 -T 52 01 00 00 7E A2 B0 20 2D +T 59 01 00 00 01 00 CD 00 00 00 00 7E A3 47 23 +R 00 00 01 00 02 07 07 00 +T 62 01 00 00 7E A2 B0 20 31 R 00 00 01 00 -T 57 01 00 00 +T 67 01 00 00 R 00 00 01 00 -T 57 01 00 00 +T 67 01 00 00 R 00 00 01 00 -T 57 01 00 00 +T 67 01 00 00 R 00 00 01 00 -T 57 01 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T 5E 01 00 00 +T 67 01 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T 6E 01 00 00 R 00 00 01 00 -T 5E 01 00 00 21 57 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 65 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T 6B 01 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 70 01 00 00 +T 6E 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 +T 74 01 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 08 00 +T 7A 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 7F 01 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 84 01 00 00 R 00 00 01 00 -T 70 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0A 00 -T 78 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0A 00 02 0A 00 00 -T 7F 01 00 00 FF FF C3 47 02 00 00 +T 84 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0E 00 +T 8C 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 0E 00 02 0A 00 00 +T 93 01 00 00 FF FF C3 63 02 00 00 R 00 00 01 00 00 07 01 00 -T 84 01 00 00 +T 98 01 00 00 R 00 00 01 00 -T 84 01 00 00 +T 98 01 00 00 R 00 00 01 00 -T 84 01 00 00 DD 4E FB 06 00 0B 0B DD 71 FE DD +T 98 01 00 00 DD 4E FB 06 00 0B 0B DD 71 FE DD R 00 00 01 00 -T 8F 01 00 00 70 FF +T A3 01 00 00 70 FF R 00 00 01 00 -T 91 01 00 00 +T A5 01 00 00 R 00 00 01 00 -T 91 01 00 00 DD 4E FE DD 46 FF 0B DD 71 FE DD +T A5 01 00 00 DD 4E FE DD 46 FF 0B DD 71 FE DD R 00 00 01 00 -T 9C 01 00 00 70 FF 03 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 09 00 -T A5 01 00 00 30 41 +T B0 01 00 00 70 FF 03 21 00 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 0D 00 +T B9 01 00 00 30 45 R 00 00 01 00 -T A7 01 00 00 +T BB 01 00 00 R 00 00 01 00 -T A7 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 -T AF 01 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 0B 00 02 0A 00 00 -T B6 01 00 00 A4 3C 20 2C +T BB 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 10 00 +T C3 01 00 00 21 00 00 00 00 CD 00 00 00 00 7D +R 00 00 01 00 02 05 10 00 02 0A 00 00 +T CA 01 00 00 A4 3C 20 30 R 00 00 01 00 -T BA 01 00 00 +T CE 01 00 00 R 00 00 01 00 -T BA 01 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T C1 01 00 00 +T CE 01 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T D5 01 00 00 R 00 00 01 00 -T C1 01 00 00 21 74 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T C8 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T CE 01 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T D3 01 00 00 +T D5 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 12 00 02 0B 12 00 +T DB 01 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 08 00 +T E1 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T E6 01 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T EB 01 00 00 R 00 00 01 00 -T D3 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0A 00 -T DB 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0A 00 02 0A 00 00 -T E2 01 00 00 FF FF 18 61 +T EB 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0E 00 +T F3 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 0E 00 02 0A 00 00 +T FA 01 00 00 FF FF 18 65 R 00 00 01 00 -T E6 01 00 00 +T FE 01 00 00 R 00 00 01 00 -T E6 01 00 00 18 A9 +T FE 01 00 00 18 A5 R 00 00 01 00 -T E8 01 00 00 +T 00 02 00 00 R 00 00 01 00 -T E8 01 00 00 DD 4E FA 06 00 DD 71 FC DD 70 FD +T 00 02 00 00 DD 4E FA 06 00 DD 71 FC DD 70 FD R 00 00 01 00 -T F3 01 00 00 3E 08 DD BE FA 38 20 +T 0B 02 00 00 3E 08 DD BE FA 38 20 R 00 00 01 00 -T FA 01 00 00 +T 12 02 00 00 R 00 00 01 00 -T FA 01 00 00 DD 46 FA 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 04 00 -T 03 02 00 00 7B 2F 5F 7A 2F 57 21 16 00 DD 4E +T 12 02 00 00 DD 46 FA 11 01 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 07 00 +T 1B 02 00 00 7B 2F 5F 7A 2F 57 21 16 00 DD 4E R 00 00 01 00 -T 0E 02 00 00 F4 DD 46 F5 09 7E A3 77 23 7E A2 +T 26 02 00 00 F4 DD 46 F5 09 7E A3 77 23 7E A2 R 00 00 01 00 -T 19 02 00 00 77 +T 31 02 00 00 77 R 00 00 01 00 -T 1A 02 00 00 +T 32 02 00 00 R 00 00 01 00 -T 1A 02 00 00 C3 96 00 00 00 +T 32 02 00 00 C3 9E 00 00 00 R 00 00 01 00 00 05 01 00 -T 1D 02 00 00 -R 00 00 01 00 -T 1D 02 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0E 00 -T 24 02 00 00 -R 00 00 01 00 -T 24 02 00 00 21 8D 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 2B 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T 31 02 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 36 02 00 00 -R 00 00 01 00 -T 36 02 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0A 00 -T 3E 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0A 00 02 0A 00 00 -T 45 02 00 00 00 00 -R 00 00 01 00 -T 47 02 00 00 -R 00 00 01 00 -T 47 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 6C 63 70 5F 72 65 6A 65 63 74 28 -R 00 00 02 00 -T 0B 00 00 00 29 00 -R 00 00 02 00 -T 0D 00 00 00 -R 00 00 02 00 -T 0D 00 00 00 4C 43 50 20 52 45 4A 3A 20 77 72 -R 00 00 02 00 -T 18 00 00 00 6F 6E 67 20 49 44 00 -R 00 00 02 00 -T 1F 00 00 00 -R 00 00 02 00 -T 1F 00 00 00 4C 43 50 20 52 45 4A 3A 20 62 61 -R 00 00 02 00 -T 2A 00 00 00 64 20 68 65 61 64 65 72 20 6C 65 -R 00 00 02 00 -T 35 00 00 00 6E 67 74 68 00 -R 00 00 02 00 -T 3A 00 00 00 -R 00 00 02 00 -T 3A 00 00 00 4C 43 50 20 52 45 4A 3A 20 6F 70 -R 00 00 02 00 -T 45 00 00 00 74 69 6F 6E 20 6F 75 74 20 6F 66 -R 00 00 02 00 -T 50 00 00 00 20 72 61 6E 67 65 00 -R 00 00 02 00 -T 57 00 00 00 -R 00 00 02 00 -T 57 00 00 00 4C 43 50 20 52 45 4A 3A 20 6F 70 -R 00 00 02 00 -T 62 00 00 00 74 69 6F 6E 20 6F 75 74 20 6F 66 -R 00 00 02 00 -T 6D 00 00 00 20 6F 72 64 65 72 00 -R 00 00 02 00 -T 74 00 00 00 -R 00 00 02 00 -T 74 00 00 00 4C 43 50 20 52 45 4A 3A 20 72 61 -R 00 00 02 00 -T 7F 00 00 00 6E 20 6F 75 74 20 6F 66 20 64 61 -R 00 00 02 00 -T 8A 00 00 00 74 61 00 -R 00 00 02 00 -T 8D 00 00 00 -R 00 00 02 00 -T 8D 00 00 00 4C 43 50 20 52 45 4A 3A 20 76 61 -R 00 00 02 00 -T 98 00 00 00 6C 69 64 00 -R 00 00 02 00 +T 35 02 00 00 +R 00 00 01 00 +T 35 02 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 15 00 +T 3C 02 00 00 +R 00 00 01 00 +T 3C 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 +T 42 02 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 08 00 +T 48 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 4D 02 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 52 02 00 00 +R 00 00 01 00 +T 52 02 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0E 00 +T 5A 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 0E 00 02 0A 00 00 +T 61 02 00 00 00 00 +R 00 00 01 00 +T 63 02 00 00 +R 00 00 01 00 +T 63 02 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 05 00 diff --git a/src/nos/lib/ppp_lib/lcp_request.rel b/src/nos/lib/ppp_lib/lcp_request.rel index 7ab3ac52..181c5f9d 100644 --- a/src/nos/lib/ppp_lib/lcp_request.rel +++ b/src/nos/lib/ppp_lib/lcp_request.rel @@ -1,366 +1,377 @@ XL4 -H 3 areas 15 global symbols +H 2 areas 1D global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?S_S_SWITCH_L06 Ref00000000 S _lcp_makeoptions Ref00000000 S _ntohopt Ref00000000 S _fsm_send Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___getfail Ref00000000 S _lcp_check Ref00000000 S .__.ABS. Def00000000 +S _free Ref00000000 +S __gettext Ref00000000 S ?S_LSH_L02 Ref00000000 +S ___059a_7295_lcp_5frequest_28_29 Ref00000000 S _PPPiface Ref00000000 S ?SL_CMP_L03 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 +S ?S_MUL_L02 Ref00000000 +S ___0321_0ae9_LCP_20REQ_3a_20resu Ref00000000 +S ___0320_7153_LCP_20REQ_3a_20ran_ Ref00000000 S ?SS_CMP_L02 Ref00000000 S _free_p Ref00000000 S _fsmCodes Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _lcp_option Ref00000000 +S ___031f_d049_LCP_20REQ_3a_20bad_ Ref00000000 S ?L_SUBASG_L03 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 337 flags 0 +A CODE size 397 flags 0 S _lcp_request Def00000000 -A CSTR size 6B flags 0 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F0 FF 21 1C 00 DD -R 00 00 01 00 02 05 0B 00 +T 00 00 00 00 CD 00 00 00 00 EE FF 21 1C 00 DD +R 00 00 01 00 02 05 10 00 T 09 00 00 00 5E 02 DD 56 03 19 56 23 66 6A DD R 00 00 01 00 -T 14 00 00 00 75 F0 DD 74 F1 03 03 0A 6F 03 0A +T 14 00 00 00 75 EE DD 74 EF 03 03 0A 6F 03 0A R 00 00 01 00 -T 1F 00 00 00 67 01 00 00 DD 75 F2 DD 74 F3 DD +T 1F 00 00 00 67 01 00 00 DD 75 F0 DD 74 F1 DD R 00 00 01 00 -T 2A 00 00 00 71 F4 DD 70 F5 AF DD 77 F6 DD 77 +T 2A 00 00 00 71 F2 DD 70 F3 AF DD 77 F4 DD 77 R 00 00 01 00 -T 35 00 00 00 F7 DD 36 F8 02 DD 36 F9 00 3A +T 35 00 00 00 F5 DD 36 F6 02 DD 36 F7 00 3A R 00 00 01 00 -T 3F 00 00 00 00 00 00 00 E6 80 28 12 -R 00 00 01 00 02 04 13 00 +T 3F 00 00 00 00 00 00 00 E6 80 28 16 +R 00 00 01 00 02 04 1B 00 T 45 00 00 00 R 00 00 01 00 -T 45 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 09 00 -T 4C 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 -T 52 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 57 00 00 00 +T 45 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 +T 4B 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0E 00 +T 51 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 56 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 5B 00 00 00 R 00 00 01 00 -T 57 00 00 00 21 40 00 DD 4E F0 DD 46 F1 09 AF +T 5B 00 00 00 21 40 00 DD 4E EE DD 46 EF 09 AF R 00 00 01 00 -T 62 00 00 00 77 23 77 +T 66 00 00 00 77 23 77 R 00 00 01 00 -T 65 00 00 00 +T 69 00 00 00 R 00 00 01 00 -T 65 00 00 00 DD 6E F4 DD 66 F5 E5 DD 6E F2 DD +T 69 00 00 00 DD 6E F2 DD 66 F3 E5 DD 6E F0 DD R 00 00 01 00 -T 70 00 00 00 66 F3 E5 01 00 00 21 00 00 CD +T 74 00 00 00 66 F1 E5 01 00 00 21 00 00 CD R 00 00 01 00 -T 7A 00 00 00 00 00 00 00 D2 28 02 00 00 DD 4E -R 00 00 01 00 02 04 0A 00 00 09 01 00 -T 81 00 00 00 0A DD 46 0B 21 0C 00 39 5D 54 3E +T 7E 00 00 00 00 00 00 00 D2 88 02 00 00 DD 4E +R 00 00 01 00 02 04 0F 00 00 09 01 00 +T 85 00 00 00 0A DD 46 0B 21 0C 00 39 5D 54 3E R 00 00 01 00 -T 8C 00 00 00 00 00 00 00 21 00 00 00 00 CD +T 90 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 91 00 00 00 00 00 00 00 7D A4 3C CA +T 95 00 00 00 00 00 00 00 7D A4 3C CA R 00 00 01 00 02 04 00 00 -T 97 00 00 00 28 02 00 00 +T 9B 00 00 00 88 02 00 00 R 00 00 01 00 00 04 01 00 -T 99 00 00 00 +T 9D 00 00 00 R 00 00 01 00 -T 99 00 00 00 +T 9D 00 00 00 R 00 00 01 00 -T 99 00 00 00 +T 9D 00 00 00 R 00 00 01 00 -T 99 00 00 00 21 02 00 39 DD 5E FD 01 00 00 51 +T 9D 00 00 00 21 02 00 39 DD 5E FB 01 00 00 51 R 00 00 01 00 -T A4 00 00 00 CD 00 00 00 00 CB 78 28 3B -R 00 00 01 00 02 05 12 00 -T AB 00 00 00 +T A8 00 00 00 CD 00 00 00 00 CB 78 28 3F +R 00 00 01 00 02 05 1A 00 +T AF 00 00 00 R 00 00 01 00 -T AB 00 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 13 00 -T B2 00 00 00 +T AF 00 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 1B 00 +T B6 00 00 00 R 00 00 01 00 -T B2 00 00 00 21 0E 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 09 00 -T B9 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 -T BF 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T C4 00 00 00 -R 00 00 01 00 -T C4 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 -T CC 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0E 00 02 0A 00 00 -T D3 00 00 00 06 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0E 00 -T DB 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0E 00 02 09 00 00 -T E1 00 00 00 FF FF C3 34 03 00 00 +T B6 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 19 00 02 0B 19 00 +T BC 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0E 00 +T C2 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T C7 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T CC 00 00 00 +R 00 00 01 00 +T CC 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 15 00 +T D4 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 15 00 02 0A 00 00 +T DB 00 00 00 06 00 39 5D 54 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 15 00 +T E3 00 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 15 00 02 09 00 00 +T E9 00 00 00 FF FF C3 94 03 00 00 R 00 00 01 00 00 07 01 00 -T E6 00 00 00 +T EE 00 00 00 R 00 00 01 00 -T E6 00 00 00 21 01 00 E5 21 0E 00 39 E5 21 +T EE 00 00 00 21 01 00 E5 21 0E 00 39 E5 21 R 00 00 01 00 -T F0 00 00 00 2A 00 DD 4E F0 DD 46 F1 09 E5 DD +T F8 00 00 00 2A 00 DD 4E EE DD 46 EF 09 E5 DD R 00 00 01 00 -T FB 00 00 00 5E 0A DD 56 0B 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 06 00 -T 03 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 06 00 02 09 00 00 -T 0A 01 00 00 F1 DD 75 FE DD 74 FF 7D A4 3C 20 +T 03 01 00 00 5E 0A DD 56 0B 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 08 00 +T 0B 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 08 00 02 09 00 00 +T 12 01 00 00 F1 DD 75 FC DD 74 FD 7D A4 3C 20 R 00 00 01 00 -T 15 01 00 00 3B +T 1D 01 00 00 3F R 00 00 01 00 -T 16 01 00 00 +T 1E 01 00 00 R 00 00 01 00 -T 16 01 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 13 00 -T 1D 01 00 00 +T 1E 01 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 1B 00 +T 25 01 00 00 R 00 00 01 00 -T 1D 01 00 00 21 29 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 09 00 -T 24 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 -T 2A 01 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 2F 01 00 00 -R 00 00 01 00 -T 2F 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 -T 37 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0E 00 02 0A 00 00 -T 3E 01 00 00 06 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0E 00 -T 46 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0E 00 02 09 00 00 -T 4C 01 00 00 FF FF C3 34 03 00 00 +T 25 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 13 00 02 0B 13 00 +T 2B 01 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0E 00 +T 31 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 36 01 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 3B 01 00 00 +R 00 00 01 00 +T 3B 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 15 00 +T 43 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 15 00 02 0A 00 00 +T 4A 01 00 00 06 00 39 5D 54 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 15 00 +T 52 01 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 15 00 02 09 00 00 +T 58 01 00 00 FF FF C3 94 03 00 00 R 00 00 01 00 00 07 01 00 -T 51 01 00 00 +T 5D 01 00 00 R 00 00 01 00 -T 51 01 00 00 3A 00 00 00 00 E6 08 28 30 -R 00 00 01 00 02 05 13 00 -T 58 01 00 00 +T 5D 01 00 00 3A 00 00 00 00 E6 08 CA +R 00 00 01 00 02 05 1B 00 +T 63 01 00 00 E8 01 00 00 +R 00 00 01 00 00 04 01 00 +T 65 01 00 00 +R 00 00 01 00 +T 65 01 00 00 01 03 00 DD 5E FC DD 56 FD CD +R 00 00 01 00 +T 6F 01 00 00 00 00 00 00 21 00 00 00 00 19 5E +R 00 00 01 00 02 04 11 00 02 09 16 00 +T 76 01 00 00 23 56 23 4E 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0B 00 +T 7D 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 0B 00 02 09 00 00 +T 84 01 00 00 FE DD 74 FF 7D B4 20 23 R 00 00 01 00 -T 58 01 00 00 DD 4E FD 06 00 C5 DD 4E FC 06 00 +T 8C 01 00 00 +R 00 00 01 00 +T 8C 01 00 00 01 03 00 DD 5E FC DD 56 FD CD +R 00 00 01 00 +T 96 01 00 00 00 00 00 00 21 00 00 00 00 19 5E +R 00 00 01 00 02 04 11 00 02 09 16 00 +T 9D 01 00 00 23 56 23 4E 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 07 00 +T A4 01 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 07 00 02 09 00 00 +T AA 01 00 00 FF FF C3 94 03 00 00 +R 00 00 01 00 00 07 01 00 +T AF 01 00 00 R 00 00 01 00 -T 63 01 00 00 C5 DD 6E FE DD 66 FF 29 01 +T AF 01 00 00 DD 4E FB 06 00 C5 DD 4E FA 06 00 R 00 00 01 00 -T 6C 01 00 00 00 00 00 00 09 4E 23 46 C5 21 -R 00 00 01 00 02 04 0F 00 -T 74 01 00 00 42 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 09 00 -T 7B 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 -T 81 01 00 00 00 00 00 00 E1 E1 E1 E1 E1 +T BA 01 00 00 C5 DD 6E FE DD 66 FF E5 0E +R 00 00 01 00 +T C3 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 12 00 02 0A 12 00 +T C9 01 00 00 2A 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 0E 00 2B 0B 05 00 +T CF 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 05 00 02 0A 00 00 +T D6 01 00 00 0C 00 39 F9 DD 5E FE DD 56 FF 3E +R 00 00 01 00 +T E1 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +T E6 01 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 88 01 00 00 +T E8 01 00 00 R 00 00 01 00 -T 88 01 00 00 DD 4E F8 DD 46 F9 DD 6E FE DD 66 +T E8 01 00 00 DD 4E F6 DD 46 F7 DD 6E FC DD 66 R 00 00 01 00 -T 93 01 00 00 FF CD 00 00 00 00 30 03 -R 00 00 01 00 02 06 0D 00 -T 99 01 00 00 +T F3 01 00 00 FD CD 00 00 00 00 30 03 +R 00 00 01 00 02 06 14 00 +T F9 01 00 00 R 00 00 01 00 -T 99 01 00 00 C3 65 00 00 00 +T F9 01 00 00 C3 69 00 00 00 R 00 00 01 00 00 05 01 00 -T 9C 01 00 00 +T FC 01 00 00 R 00 00 01 00 -T 9C 01 00 00 DD 4E FE DD 46 FF DD 6E F8 DD 66 +T FC 01 00 00 DD 4E FC DD 46 FD DD 6E F6 DD 66 R 00 00 01 00 -T A7 01 00 00 F9 CD 00 00 00 00 30 21 -R 00 00 01 00 02 06 0D 00 -T AD 01 00 00 +T 07 02 00 00 F7 CD 00 00 00 00 30 21 +R 00 00 01 00 02 06 14 00 +T 0D 02 00 00 R 00 00 01 00 -T AD 01 00 00 21 06 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 -T B5 01 00 00 21 00 00 00 00 CD 00 00 00 00 AF -R 00 00 01 00 02 05 0E 00 02 0A 00 00 -T BC 01 00 00 DD 77 F6 DD 77 F7 DD 6E FE DD 66 +T 0D 02 00 00 21 06 00 39 5D 54 3E 00 00 00 00 +R 00 00 01 00 2B 0B 15 00 +T 15 02 00 00 21 00 00 00 00 CD 00 00 00 00 AF +R 00 00 01 00 02 05 15 00 02 0A 00 00 +T 1C 02 00 00 DD 77 F4 DD 77 F5 DD 6E FC DD 66 R 00 00 01 00 -T C7 01 00 00 FF DD 75 F8 DD 74 F9 +T 27 02 00 00 FD DD 75 F6 DD 74 F7 R 00 00 01 00 -T CE 01 00 00 +T 2E 02 00 00 R 00 00 01 00 -T CE 01 00 00 3E 04 DD AE FE DD B6 FF 28 21 3E +T 2E 02 00 00 3E 04 DD AE FC DD B6 FD 28 21 3E R 00 00 01 00 -T D9 01 00 00 08 DD BE FC 38 1A +T 39 02 00 00 08 DD BE FA 38 1A R 00 00 01 00 -T DF 01 00 00 +T 3F 02 00 00 R 00 00 01 00 -T DF 01 00 00 +T 3F 02 00 00 R 00 00 01 00 -T DF 01 00 00 +T 3F 02 00 00 R 00 00 01 00 -T DF 01 00 00 DD 46 FC 11 01 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T E8 01 00 00 21 40 00 DD 4E F0 DD 46 F1 09 7E +T 3F 02 00 00 DD 46 FA 11 01 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 0C 00 +T 48 02 00 00 21 40 00 DD 4E EE DD 46 EF 09 7E R 00 00 01 00 -T F3 01 00 00 B3 77 23 7E B2 77 +T 53 02 00 00 B3 77 23 7E B2 77 R 00 00 01 00 -T F9 01 00 00 +T 59 02 00 00 R 00 00 01 00 -T F9 01 00 00 DD 6E 0A DD 66 0B E5 DD 6E FD E5 +T 59 02 00 00 DD 6E 0A DD 66 0B E5 DD 6E FB E5 R 00 00 01 00 -T 04 02 00 00 DD 6E FC E5 21 40 00 DD 4E F0 DD +T 64 02 00 00 DD 6E FA E5 21 40 00 DD 4E EE DD R 00 00 01 00 -T 0F 02 00 00 46 F1 09 4D 44 21 0C 00 39 5D 54 +T 6F 02 00 00 46 EF 09 4D 44 21 0C 00 39 5D 54 R 00 00 01 00 -T 1A 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 11 00 02 0A 11 00 -T 20 02 00 00 00 00 00 00 E1 E1 E1 C3 +T 7A 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 18 00 02 0A 18 00 +T 80 02 00 00 00 00 00 00 E1 E1 E1 C3 R 00 00 01 00 02 04 00 00 -T 26 02 00 00 65 00 00 00 +T 86 02 00 00 69 00 00 00 R 00 00 01 00 00 04 01 00 -T 28 02 00 00 +T 88 02 00 00 R 00 00 01 00 -T 28 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 7E +T 88 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 33 02 00 00 B7 CA C6 02 00 00 21 2C 00 DD 4E +T 93 02 00 00 B7 CA 26 03 00 00 21 2C 00 DD 4E R 00 00 01 00 00 06 01 00 -T 3C 02 00 00 F0 DD 46 F1 09 E5 21 40 00 09 4E +T 9C 02 00 00 EE DD 46 EF 09 E5 21 40 00 09 4E R 00 00 01 00 -T 47 02 00 00 23 46 79 2F 4F 78 2F 47 E1 7E A1 +T A7 02 00 00 23 46 79 2F 4F 78 2F 47 E1 7E A1 R 00 00 01 00 -T 52 02 00 00 5F 23 7E A0 57 DD 73 FA DD 72 FB +T B2 02 00 00 5F 23 7E A0 57 DD 73 F8 DD 72 F9 R 00 00 01 00 -T 5D 02 00 00 7B B2 28 65 +T BD 02 00 00 7B B2 28 65 R 00 00 01 00 -T 61 02 00 00 +T C1 02 00 00 R 00 00 01 00 -T 61 02 00 00 +T C1 02 00 00 R 00 00 01 00 -T 61 02 00 00 +T C1 02 00 00 R 00 00 01 00 -T 61 02 00 00 DD 5E F8 DD 56 F9 CD 00 00 00 00 +T C1 02 00 00 DD 5E F6 DD 56 F7 CD 00 00 00 00 R 00 00 01 00 02 0B 01 00 -T 6A 02 00 00 02 00 03 00 C4 02 00 00 +T CA 02 00 00 02 00 03 00 24 03 00 00 R 00 00 01 00 00 08 01 00 -T 70 02 00 00 76 02 00 00 93 02 00 00 +T D0 02 00 00 D6 02 00 00 F3 02 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 74 02 00 00 C2 02 00 00 +T D4 02 00 00 22 03 00 00 R 00 00 01 00 00 04 01 00 -T 76 02 00 00 +T D6 02 00 00 R 00 00 01 00 -T 76 02 00 00 21 06 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 -T 7E 02 00 00 21 00 00 00 00 CD 00 00 00 00 AF -R 00 00 01 00 02 05 0E 00 02 0A 00 00 -T 85 02 00 00 DD 77 F6 DD 77 F7 DD 36 F8 03 DD +T D6 02 00 00 21 06 00 39 5D 54 3E 00 00 00 00 +R 00 00 01 00 2B 0B 15 00 +T DE 02 00 00 21 00 00 00 00 CD 00 00 00 00 AF +R 00 00 01 00 02 05 15 00 02 0A 00 00 +T E5 02 00 00 DD 77 F4 DD 77 F5 DD 36 F6 03 DD R 00 00 01 00 -T 90 02 00 00 36 F9 00 +T F0 02 00 00 36 F7 00 R 00 00 01 00 -T 93 02 00 00 +T F3 02 00 00 R 00 00 01 00 -T 93 02 00 00 DD 6E FA DD 66 FB E5 21 2C 00 DD +T F3 02 00 00 DD 6E F8 DD 66 F9 E5 21 2C 00 DD R 00 00 01 00 -T 9E 02 00 00 4E F0 DD 46 F1 09 4D 44 21 08 00 +T FE 02 00 00 4E EE DD 46 EF 09 4D 44 21 08 00 R 00 00 01 00 -T A9 02 00 00 39 5D 54 3E 00 00 00 00 21 +T 09 03 00 00 39 5D 54 3E 00 00 00 00 21 R 00 00 01 00 2B 08 02 00 -T AF 02 00 00 00 00 00 00 CD 00 00 00 00 E1 21 +T 0F 03 00 00 00 00 00 00 CD 00 00 00 00 E1 21 R 00 00 01 00 02 04 02 00 02 09 00 00 -T B6 02 00 00 06 00 DD 4E 02 DD 46 03 09 35 18 +T 16 03 00 00 06 00 DD 4E 02 DD 46 03 09 35 18 R 00 00 01 00 -T C1 02 00 00 02 +T 21 03 00 00 02 R 00 00 01 00 -T C2 02 00 00 +T 22 03 00 00 R 00 00 01 00 -T C2 02 00 00 18 00 +T 22 03 00 00 18 00 R 00 00 01 00 -T C4 02 00 00 +T 24 03 00 00 R 00 00 01 00 -T C4 02 00 00 18 2D +T 24 03 00 00 18 2D R 00 00 01 00 -T C6 02 00 00 +T 26 03 00 00 R 00 00 01 00 -T C6 02 00 00 3E 03 DD AE F8 DD B6 F9 20 23 +T 26 03 00 00 3E 03 DD AE F6 DD B6 F7 20 23 R 00 00 01 00 -T D0 02 00 00 +T 30 03 00 00 R 00 00 01 00 -T D0 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 7E +T 30 03 00 00 21 06 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T DB 02 00 00 B7 28 0D +T 3B 03 00 00 B7 28 0D R 00 00 01 00 -T DE 02 00 00 +T 3E 03 00 00 R 00 00 01 00 -T DE 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 35 +T 3E 03 00 00 21 06 00 DD 4E 02 DD 46 03 09 35 R 00 00 01 00 -T E9 02 00 00 18 08 +T 49 03 00 00 18 08 R 00 00 01 00 -T EB 02 00 00 +T 4B 03 00 00 R 00 00 01 00 -T EB 02 00 00 DD 36 F8 04 DD 36 F9 00 +T 4B 03 00 00 DD 36 F6 04 DD 36 F7 00 R 00 00 01 00 -T F3 02 00 00 +T 53 03 00 00 R 00 00 01 00 -T F3 02 00 00 +T 53 03 00 00 R 00 00 01 00 -T F3 02 00 00 +T 53 03 00 00 R 00 00 01 00 -T F3 02 00 00 21 06 00 39 E5 DD 6E 04 DD 66 05 +T 53 03 00 00 21 06 00 39 E5 DD 6E 04 DD 66 05 R 00 00 01 00 -T FE 02 00 00 23 4E C5 DD 4E F8 DD 5E 02 DD 56 +T 5E 03 00 00 23 4E C5 DD 4E F6 DD 5E 02 DD 56 R 00 00 01 00 -T 09 03 00 00 03 3E 00 00 00 00 21 00 00 00 00 +T 69 03 00 00 03 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 04 00 02 0B 04 00 -T 0F 03 00 00 CD 00 00 00 00 F1 F1 DD 5E 0A DD +T 6F 03 00 00 CD 00 00 00 00 F1 F1 DD 5E 0A DD R 00 00 01 00 02 05 00 00 -T 18 03 00 00 56 0B 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0E 00 -T 1D 03 00 00 00 00 00 00 CD 00 00 00 00 3E 02 -R 00 00 01 00 02 04 0E 00 02 09 00 00 -T 24 03 00 00 DD AE F8 DD B6 F9 28 04 2E 01 18 +T 78 03 00 00 56 0B 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 15 00 +T 7D 03 00 00 00 00 00 00 CD 00 00 00 00 3E 02 +R 00 00 01 00 02 04 15 00 02 09 00 00 +T 84 03 00 00 DD AE F6 DD B6 F7 28 04 2E 01 18 R 00 00 01 00 -T 2F 03 00 00 02 +T 8F 03 00 00 02 R 00 00 01 00 -T 30 03 00 00 +T 90 03 00 00 R 00 00 01 00 -T 30 03 00 00 2E 00 +T 90 03 00 00 2E 00 R 00 00 01 00 -T 32 03 00 00 +T 92 03 00 00 R 00 00 01 00 -T 32 03 00 00 26 00 +T 92 03 00 00 26 00 R 00 00 01 00 -T 34 03 00 00 +T 94 03 00 00 R 00 00 01 00 -T 34 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 6C 63 70 5F 72 65 71 75 65 73 74 -R 00 00 02 00 -T 0B 00 00 00 28 29 00 -R 00 00 02 00 -T 0E 00 00 00 -R 00 00 02 00 -T 0E 00 00 00 4C 43 50 20 52 45 51 3A 20 62 61 -R 00 00 02 00 -T 19 00 00 00 64 20 68 65 61 64 65 72 20 6C 65 -R 00 00 02 00 -T 24 00 00 00 6E 67 74 68 00 -R 00 00 02 00 -T 29 00 00 00 -R 00 00 02 00 -T 29 00 00 00 4C 43 50 20 52 45 51 3A 20 72 61 -R 00 00 02 00 -T 34 00 00 00 6E 20 6F 75 74 20 6F 66 20 64 61 -R 00 00 02 00 -T 3F 00 00 00 74 61 00 -R 00 00 02 00 -T 42 00 00 00 -R 00 00 02 00 -T 42 00 00 00 4C 43 50 20 52 45 51 3A 20 72 65 -R 00 00 02 00 -T 4D 00 00 00 73 75 6C 74 20 25 73 2C 20 6F 70 -R 00 00 02 00 -T 58 00 00 00 74 69 6F 6E 20 25 64 2C 20 6C 65 -R 00 00 02 00 -T 63 00 00 00 6E 67 74 68 20 25 64 00 -R 00 00 02 00 +T 94 03 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 06 00 diff --git a/src/nos/lib/ppp_lib/lcp_reset.rel b/src/nos/lib/ppp_lib/lcp_reset.rel index 65152f5b..84861fd6 100644 --- a/src/nos/lib/ppp_lib/lcp_reset.rel +++ b/src/nos/lib/ppp_lib/lcp_reset.rel @@ -1,72 +1,68 @@ XL4 -H 3 areas B global symbols +H 2 areas C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___059b_2dcd_lcp_5freset_28_29 Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S ?L_ADDASG_L03 Ref00000000 S .__.ABS. Def00000000 S _rdclock Ref00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size A6 flags 0 +A CODE size AA flags 0 S _lcp_reset Def00000000 -A CSTR size C flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 21 1C 00 DD -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 08 00 T 09 00 00 00 4E 02 DD 46 03 09 46 23 66 68 DD R 00 00 01 00 T 14 00 00 00 75 FE DD 74 FF 3A 00 00 00 00 E6 -R 00 00 01 00 02 0A 09 00 -T 1D 00 00 00 80 28 12 +R 00 00 01 00 02 0A 0A 00 +T 1D 00 00 00 80 28 16 R 00 00 01 00 T 20 00 00 00 R 00 00 01 00 -T 20 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 05 00 -T 27 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 07 00 02 0B 07 00 -T 2D 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 32 00 00 00 +T 20 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 +T 26 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 07 00 +T 2C 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 31 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 36 00 00 00 R 00 00 01 00 -T 32 00 00 00 DD 6E FE DD 66 FF 23 23 7E E6 20 +T 36 00 00 00 DD 6E FE DD 66 FF 23 23 7E E6 20 R 00 00 01 00 -T 3D 00 00 00 28 18 +T 41 00 00 00 28 18 R 00 00 01 00 -T 3F 00 00 00 +T 43 00 00 00 R 00 00 01 00 -T 3F 00 00 00 21 0E 00 DD 4E FE DD 46 FF 09 E5 +T 43 00 00 00 21 0E 00 DD 4E FE DD 46 FF 09 E5 R 00 00 01 00 -T 4A 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 04 00 02 0A 04 00 -T 50 00 00 00 00 00 00 00 EB E1 CD 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 0B 02 00 -T 57 00 00 00 +T 4E 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 06 00 02 0A 06 00 +T 54 00 00 00 00 00 00 00 EB E1 CD 00 00 00 00 +R 00 00 01 00 02 04 00 00 02 0B 04 00 +T 5B 00 00 00 R 00 00 01 00 -T 57 00 00 00 21 16 00 DD 4E FE DD 46 FF 09 EB +T 5B 00 00 00 21 16 00 DD 4E FE DD 46 FF 09 EB R 00 00 01 00 -T 62 00 00 00 69 60 23 23 01 14 00 ED B0 DD 6E +T 66 00 00 00 69 60 23 23 01 14 00 ED B0 DD 6E R 00 00 01 00 -T 6D 00 00 00 FE DD 66 FF 23 23 4E 23 46 DD 6E +T 71 00 00 00 FE DD 66 FF 23 23 4E 23 46 DD 6E R 00 00 01 00 -T 78 00 00 00 FE DD 66 FF 7E B1 77 23 7E B0 77 +T 7C 00 00 00 FE DD 66 FF 7E B1 77 23 7E B0 77 R 00 00 01 00 -T 83 00 00 00 21 40 00 DD 4E FE DD 46 FF 09 AF +T 87 00 00 00 21 40 00 DD 4E FE DD 46 FF 09 AF R 00 00 01 00 -T 8E 00 00 00 77 23 77 21 2C 00 09 5E 23 56 21 +T 92 00 00 00 77 23 77 21 2C 00 09 5E 23 56 21 R 00 00 01 00 -T 99 00 00 00 2A 00 09 7E B3 77 23 7E B2 77 C3 +T 9D 00 00 00 2A 00 09 7E B3 77 23 7E B2 77 C3 R 00 00 01 00 -T A4 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 6C 63 70 5F 72 65 73 65 74 28 29 -R 00 00 02 00 -T 0B 00 00 00 00 -R 00 00 02 00 +T A8 00 00 00 00 00 00 00 +R 00 00 01 00 02 04 03 00 diff --git a/src/nos/lib/ppp_lib/lcp_starting.rel b/src/nos/lib/ppp_lib/lcp_starting.rel index 0268ce44..41572fd2 100644 --- a/src/nos/lib/ppp_lib/lcp_starting.rel +++ b/src/nos/lib/ppp_lib/lcp_starting.rel @@ -1,42 +1,38 @@ XL4 -H 3 areas 9 global symbols +H 2 areas A global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S _PPPiface Ref00000000 -S _trace_log Ref00000000 +S ___059c_89ae_lcp_5fstarting_28_2 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 31 flags 0 +A CODE size 35 flags 0 S _lcp_starting Def00000000 -A CSTR size F flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 3A 00 00 00 00 E6 -R 00 00 01 00 02 05 03 00 02 0A 07 00 -T 07 00 00 00 80 28 12 +R 00 00 01 00 02 05 04 00 02 0A 08 00 +T 07 00 00 00 80 28 16 R 00 00 01 00 T 0A 00 00 00 R 00 00 01 00 -T 0A 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 04 00 -T 11 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 -T 17 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 1C 00 00 00 +T 0A 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 +T 10 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 05 00 +T 16 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 01 00 02 09 01 00 +T 1B 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 20 00 00 00 R 00 00 01 00 -T 1C 00 00 00 21 08 00 DD 4E 02 DD 46 03 09 46 +T 20 00 00 00 21 08 00 DD 4E 02 DD 46 03 09 46 R 00 00 01 00 -T 27 00 00 00 23 66 68 23 23 36 01 C3 +T 2B 00 00 00 23 66 68 23 23 36 01 C3 R 00 00 01 00 -T 2F 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 6C 63 70 5F 73 74 61 72 74 69 6E -R 00 00 02 00 -T 0B 00 00 00 67 28 29 00 -R 00 00 02 00 +T 33 00 00 00 00 00 00 00 +R 00 00 01 00 02 04 02 00 diff --git a/src/nos/lib/ppp_lib/lcp_stopping.rel b/src/nos/lib/ppp_lib/lcp_stopping.rel index 488c95f2..1b72ecfb 100644 --- a/src/nos/lib/ppp_lib/lcp_stopping.rel +++ b/src/nos/lib/ppp_lib/lcp_stopping.rel @@ -1,67 +1,63 @@ XL4 -H 3 areas A global symbols +H 2 areas B global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _alert Ref00000000 S .__.ABS. Def00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___059d_9eb4_lcp_5fstopping_28_2 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 8E flags 0 +A CODE size 92 flags 0 S _lcp_stopping Def00000000 -A CSTR size F flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 21 08 00 DD -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 06 00 T 09 00 00 00 4E 02 DD 46 03 09 7E 23 66 6F 46 R 00 00 01 00 T 14 00 00 00 23 66 68 DD 75 FE DD 74 FF 3A R 00 00 01 00 -T 1E 00 00 00 00 00 00 00 E6 80 28 12 -R 00 00 01 00 02 04 08 00 +T 1E 00 00 00 00 00 00 00 E6 80 28 16 +R 00 00 01 00 02 04 09 00 T 24 00 00 00 R 00 00 01 00 -T 24 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 04 00 -T 2B 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 06 00 02 0B 06 00 -T 31 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 36 00 00 00 +T 24 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 +T 2A 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 05 00 +T 30 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 01 00 02 09 01 00 +T 35 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 3A 00 00 00 R 00 00 01 00 -T 36 00 00 00 21 1C 00 DD 4E FE DD 46 FF 09 7E +T 3A 00 00 00 21 1C 00 DD 4E FE DD 46 FF 09 7E R 00 00 01 00 -T 41 00 00 00 23 B6 28 18 +T 45 00 00 00 23 B6 28 18 R 00 00 01 00 -T 45 00 00 00 +T 49 00 00 00 R 00 00 01 00 -T 45 00 00 00 01 6B 00 21 1C 00 DD 5E FE DD 56 +T 49 00 00 00 01 6B 00 21 1C 00 DD 5E FE DD 56 R 00 00 01 00 -T 50 00 00 00 FF 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 02 00 -T 58 00 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 09 00 00 -T 5D 00 00 00 +T 54 00 00 00 FF 19 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 03 00 +T 5C 00 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 03 00 02 09 00 00 +T 61 00 00 00 R 00 00 01 00 -T 5D 00 00 00 21 00 00 E5 21 00 00 E5 21 01 00 +T 61 00 00 00 21 00 00 E5 21 00 00 E5 21 01 00 R 00 00 01 00 -T 68 00 00 00 E5 01 81 00 C5 DD 5E FE DD 56 FF +T 6C 00 00 00 E5 01 81 00 C5 DD 5E FE DD 56 FF R 00 00 01 00 -T 73 00 00 00 21 2E 00 DD 4E FE DD 46 FF 09 4E +T 77 00 00 00 21 2E 00 DD 4E FE DD 46 FF 09 4E R 00 00 01 00 -T 7E 00 00 00 23 46 23 7E 69 60 C1 CD +T 82 00 00 00 23 46 23 7E 69 60 C1 CD R 00 00 01 00 -T 86 00 00 00 00 00 00 00 F1 F1 F1 C3 +T 8A 00 00 00 00 00 00 00 F1 F1 F1 C3 R 00 00 01 00 02 04 00 00 -T 8C 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 6C 63 70 5F 73 74 6F 70 70 69 6E -R 00 00 02 00 -T 0B 00 00 00 67 28 29 00 -R 00 00 02 00 +T 90 00 00 00 00 00 00 00 +R 00 00 01 00 02 04 02 00 diff --git a/src/nos/lib/ppp_lib/pap_check.rel b/src/nos/lib/ppp_lib/pap_check.rel index bf4518f8..31040bc1 100644 --- a/src/nos/lib/ppp_lib/pap_check.rel +++ b/src/nos/lib/ppp_lib/pap_check.rel @@ -1,264 +1,241 @@ XL4 -H 3 areas 11 global symbols +H 3 areas 16 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _len_p Ref00000000 -S _printf Ref00000000 +S ___0575_6bae_id_20mismatch_20hdr Ref00000000 +S __trace_log Ref00000000 +S ___0399_4af6_PAP_3a_20missing_20 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 +S ___061d_f2ea_pap_5fcheck_28_29 Ref00000000 S _pullup Ref00000000 S _free Ref00000000 S _PPPiface Ref00000000 +S ___039c_cf4a_PAP_3a_20wrong_20ID Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _mallocw Ref00000000 -S _trace_log Ref00000000 S ?SS_CMP_L02 Ref00000000 S _free_p Ref00000000 +S __printf Ref00000000 S _pull8 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___016c_a652__25s_20PPP_2fPAP_20 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 203 flags 0 +A CODE size 216 flags 0 S _pap_check Def00000000 -A CSTR size 84 flags 0 +A CSTR size 19 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F6 FF 21 1C 00 DD -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 0C 00 T 09 00 00 00 5E 02 DD 56 03 19 56 23 66 6A DD R 00 00 01 00 T 14 00 00 00 75 F6 DD 74 F7 3A 00 00 00 00 E6 -R 00 00 01 00 02 0A 0F 00 -T 1D 00 00 00 80 28 12 +R 00 00 01 00 02 0A 14 00 +T 1D 00 00 00 80 28 16 R 00 00 01 00 T 20 00 00 00 R 00 00 01 00 -T 20 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 07 00 -T 27 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 -T 2D 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 DD 6E 02 DD 66 03 23 E5 DD 6E 04 -R 00 00 01 00 -T 3D 00 00 00 DD 66 05 23 7E E1 BE 28 52 -R 00 00 01 00 -T 46 00 00 00 -R 00 00 01 00 -T 46 00 00 00 3A 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 05 0F 00 -T 4D 00 00 00 +T 20 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 07 00 02 0B 07 00 +T 26 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0A 00 +T 2C 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 31 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 36 00 00 00 R 00 00 01 00 -T 4D 00 00 00 21 0C 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 07 00 -T 54 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 -T 5A 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 5F 00 00 00 +T 36 00 00 00 DD 6E 02 DD 66 03 23 E5 DD 6E 04 R 00 00 01 00 -T 5F 00 00 00 DD 6E 02 DD 66 03 23 4E 06 00 C5 +T 41 00 00 00 DD 66 05 23 7E E1 BE 28 5A R 00 00 01 00 -T 6A 00 00 00 DD 6E 04 DD 66 05 23 4E 06 00 C5 +T 4A 00 00 00 R 00 00 01 00 -T 75 00 00 00 21 1A 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 02 00 -T 7B 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 02 00 02 0A 00 00 -T 82 00 00 00 F1 F1 DD 5E 0A DD 56 0B 3E +T 4A 00 00 00 3A 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 05 14 00 +T 51 00 00 00 R 00 00 01 00 -T 8B 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 -T 90 00 00 00 00 00 00 00 21 FF FF C3 +T 51 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 +T 57 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0A 00 +T 5D 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 62 00 00 00 00 00 00 00 E1 E1 E1 R 00 00 01 00 02 04 00 00 -T 96 00 00 00 00 02 00 00 -R 00 00 01 00 00 04 01 00 -T 98 00 00 00 +T 67 00 00 00 R 00 00 01 00 -T 98 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0D 00 -T A0 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0D 00 02 0A 00 00 -T A7 00 00 00 75 FA DD 74 FB 7D A4 3C CA +T 67 00 00 00 DD 6E 02 DD 66 03 23 4E 06 00 C5 R 00 00 01 00 -T B0 00 00 00 D6 01 00 00 +T 72 00 00 00 DD 6E 04 DD 66 05 23 4E 06 00 C5 +R 00 00 01 00 +T 7D 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 +T 83 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 10 00 02 0B 10 00 +T 89 00 00 00 CD 00 00 00 00 F1 F1 F1 F1 DD 5E +R 00 00 01 00 02 05 00 00 +T 92 00 00 00 0A DD 56 0B 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0F 00 +T 99 00 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 0F 00 02 09 00 00 +T 9F 00 00 00 FF FF C3 13 02 00 00 +R 00 00 01 00 00 07 01 00 +T A4 00 00 00 +R 00 00 01 00 +T A4 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 11 00 +T AC 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 11 00 02 0A 00 00 +T B3 00 00 00 75 FA DD 74 FB 7D A4 3C CA +R 00 00 01 00 +T BC 00 00 00 E5 01 00 00 R 00 00 01 00 00 04 01 00 -T B2 00 00 00 +T BE 00 00 00 R 00 00 01 00 -T B2 00 00 00 DD 5E FA DD 56 FB 13 3E +T BE 00 00 00 DD 5E FA DD 56 FB 13 3E R 00 00 01 00 -T BA 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T BF 00 00 00 00 00 00 00 DD 75 F8 DD 74 F9 DD +T C6 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 +T CB 00 00 00 00 00 00 00 DD 75 F8 DD 74 F9 DD R 00 00 01 00 02 04 00 00 -T C8 00 00 00 6E 0A DD 66 0B 5E 23 56 3E +T D4 00 00 00 6E 0A DD 66 0B 5E 23 56 3E R 00 00 01 00 -T D1 00 00 00 00 00 00 00 21 00 00 00 00 CD +T DD 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 01 00 02 09 01 00 -T D6 00 00 00 00 00 00 00 DD 75 FC DD 74 FD DD +T E2 00 00 00 00 00 00 00 DD 75 FC DD 74 FD DD R 00 00 01 00 02 04 00 00 -T DF 00 00 00 6E FA DD 66 FB E5 DD 4E F8 DD 46 +T EB 00 00 00 6E FA DD 66 FB E5 DD 4E F8 DD 46 R 00 00 01 00 -T EA 00 00 00 F9 DD 5E 0A DD 56 0B 3E +T F6 00 00 00 F9 DD 5E 0A DD 56 0B 3E R 00 00 01 00 -T F2 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 -T F7 00 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF +T FE 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 08 00 02 09 08 00 +T 03 01 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF R 00 00 01 00 02 04 00 00 -T 00 01 00 00 DD 4E F8 DD 46 F9 09 36 00 21 +T 0C 01 00 00 DD 4E F8 DD 46 F9 09 36 00 21 R 00 00 01 00 -T 0A 01 00 00 04 00 DD 5E F6 DD 56 F7 19 5E 23 +T 16 01 00 00 04 00 DD 5E F6 DD 56 F7 19 5E 23 R 00 00 01 00 -T 15 01 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 06 00 02 0B 06 00 -T 1B 01 00 00 CD 00 00 00 00 21 04 00 DD 5E F6 +T 21 01 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 09 00 02 0B 09 00 +T 27 01 00 00 CD 00 00 00 00 21 04 00 DD 5E F6 R 00 00 01 00 02 05 00 00 -T 24 01 00 00 DD 56 F7 19 71 23 70 2A +T 30 01 00 00 DD 56 F7 19 71 23 70 2A R 00 00 01 00 -T 2C 01 00 00 00 00 00 00 7D B4 28 78 -R 00 00 01 00 02 04 0F 00 -T 32 01 00 00 +T 38 01 00 00 00 00 00 00 7D B4 28 7B +R 00 00 01 00 02 04 14 00 +T 3E 01 00 00 R 00 00 01 00 -T 32 01 00 00 DD 6E F8 DD 66 F9 E5 DD 6E 04 DD +T 3E 01 00 00 DD 6E F8 DD 66 F9 E5 DD 6E 04 DD R 00 00 01 00 -T 3D 01 00 00 66 05 46 05 05 20 05 21 +T 49 01 00 00 66 05 46 05 05 20 05 21 R 00 00 01 00 -T 45 01 00 00 61 00 00 00 18 03 +T 51 01 00 00 11 00 00 00 18 03 R 00 00 01 00 00 04 02 00 -T 49 01 00 00 +T 55 01 00 00 R 00 00 01 00 -T 49 01 00 00 21 65 00 00 00 +T 55 01 00 00 21 15 00 00 00 R 00 00 01 00 00 05 02 00 -T 4C 01 00 00 +T 58 01 00 00 R 00 00 01 00 -T 4C 01 00 00 E5 DD 4E FA DD 46 FB DD 6E FE DD +T 58 01 00 00 E5 DD 4E FA DD 46 FB DD 6E FE DD R 00 00 01 00 -T 57 01 00 00 66 FF CD 00 00 00 00 30 05 21 -R 00 00 01 00 02 07 0B 00 -T 5F 01 00 00 50 00 00 00 18 19 +T 63 01 00 00 66 FF CD 00 00 00 00 30 05 21 +R 00 00 01 00 02 07 0E 00 +T 6B 01 00 00 00 00 00 00 18 19 R 00 00 01 00 00 04 02 00 -T 63 01 00 00 +T 6F 01 00 00 R 00 00 01 00 -T 63 01 00 00 DD 4E FC DD 46 FD DD 6E FA DD 66 +T 6F 01 00 00 DD 4E FC DD 46 FD DD 6E FA DD 66 R 00 00 01 00 -T 6E 01 00 00 FB CD 00 00 00 00 30 05 21 -R 00 00 01 00 02 06 0B 00 -T 75 01 00 00 56 00 00 00 18 03 +T 7A 01 00 00 FB CD 00 00 00 00 30 05 21 +R 00 00 01 00 02 06 0E 00 +T 81 01 00 00 06 00 00 00 18 03 R 00 00 01 00 00 04 02 00 -T 79 01 00 00 +T 85 01 00 00 R 00 00 01 00 -T 79 01 00 00 21 5B 00 00 00 +T 85 01 00 00 21 0B 00 00 00 R 00 00 01 00 00 05 02 00 -T 7C 01 00 00 +T 88 01 00 00 R 00 00 01 00 -T 7C 01 00 00 +T 88 01 00 00 R 00 00 01 00 -T 7C 01 00 00 E5 21 08 00 DD 4E 02 DD 46 03 09 +T 88 01 00 00 E5 21 08 00 DD 4E 02 DD 46 03 09 R 00 00 01 00 -T 87 01 00 00 7E 23 66 6F 46 23 66 68 23 23 4E +T 93 01 00 00 7E 23 66 6F 46 23 66 68 23 23 4E R 00 00 01 00 -T 92 01 00 00 23 46 C5 21 3B 00 00 00 E5 2A -R 00 00 01 00 00 08 02 00 -T 9A 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 07 00 2B 0A 0A 00 -T A0 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 00 00 -T A6 01 00 00 0C 00 39 F9 -R 00 00 01 00 -T AA 01 00 00 +T 9E 01 00 00 23 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 13 00 +T A5 01 00 00 00 00 00 00 E5 2A 00 00 00 00 E5 +R 00 00 01 00 02 04 13 00 02 0A 0A 00 +T AC 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 03 00 02 0A 03 00 +T B2 01 00 00 00 00 00 00 21 0E 00 39 F9 +R 00 00 01 00 02 04 00 00 +T B9 01 00 00 R 00 00 01 00 -T AA 01 00 00 DD 4E FA DD 46 FB DD 6E FE DD 66 +T B9 01 00 00 DD 4E FA DD 46 FB DD 6E FE DD 66 R 00 00 01 00 -T B5 01 00 00 FF CD 00 00 00 00 38 16 DD 4E FC -R 00 00 01 00 02 06 0B 00 -T BE 01 00 00 DD 46 FD DD 6E FA DD 66 FB CD +T C4 01 00 00 FF CD 00 00 00 00 38 16 DD 4E FC +R 00 00 01 00 02 06 0E 00 +T CD 01 00 00 DD 46 FD DD 6E FA DD 66 FB CD R 00 00 01 00 -T C8 01 00 00 00 00 00 00 38 05 21 00 00 18 03 -R 00 00 01 00 02 04 0B 00 -T D1 01 00 00 +T D7 01 00 00 00 00 00 00 38 05 21 00 00 18 03 +R 00 00 01 00 02 04 0E 00 +T E0 01 00 00 R 00 00 01 00 -T D1 01 00 00 21 01 00 +T E0 01 00 00 21 01 00 R 00 00 01 00 -T D4 01 00 00 +T E3 01 00 00 R 00 00 01 00 -T D4 01 00 00 18 2A +T E3 01 00 00 18 2E R 00 00 01 00 -T D6 01 00 00 +T E5 01 00 00 R 00 00 01 00 -T D6 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0C 00 -T DE 01 00 00 21 00 00 00 00 CD 00 00 00 00 3A -R 00 00 01 00 02 05 0C 00 02 0A 00 00 -T E5 01 00 00 00 00 00 00 E6 40 28 12 -R 00 00 01 00 02 04 0F 00 -T EB 01 00 00 +T E5 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0F 00 +T ED 01 00 00 21 00 00 00 00 CD 00 00 00 00 3A +R 00 00 01 00 02 05 0F 00 02 0A 00 00 +T F4 01 00 00 00 00 00 00 E6 40 28 16 +R 00 00 01 00 02 04 14 00 +T FA 01 00 00 R 00 00 01 00 -T EB 01 00 00 21 69 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 07 00 -T F2 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 -T F8 01 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T FD 01 00 00 +T FA 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 +T 00 02 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0A 00 +T 06 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 0B 02 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 10 02 00 00 R 00 00 01 00 -T FD 01 00 00 21 FF FF +T 10 02 00 00 21 FF FF R 00 00 01 00 -T 00 02 00 00 +T 13 02 00 00 R 00 00 01 00 -T 00 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 +T 13 02 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 05 00 T 00 00 00 00 R 00 00 02 00 -T 00 00 00 00 70 61 70 5F 63 68 65 63 6B 28 29 -R 00 00 02 00 -T 0B 00 00 00 00 -R 00 00 02 00 -T 0C 00 00 00 -R 00 00 02 00 -T 0C 00 00 00 50 41 50 3A 20 77 72 6F 6E 67 20 -R 00 00 02 00 -T 17 00 00 00 49 44 00 -R 00 00 02 00 -T 1A 00 00 00 -R 00 00 02 00 -T 1A 00 00 00 69 64 20 6D 69 73 6D 61 74 63 68 -R 00 00 02 00 -T 25 00 00 00 20 68 64 72 69 64 3D 25 64 2C 20 -R 00 00 02 00 -T 30 00 00 00 6C 61 73 74 69 64 3D 25 64 0A 00 -R 00 00 02 00 -T 3B 00 00 00 -R 00 00 02 00 -T 3B 00 00 00 25 73 20 50 50 50 2F 50 41 50 20 -R 00 00 02 00 -T 46 00 00 00 25 73 20 25 73 3A 20 25 73 00 -R 00 00 02 00 -T 50 00 00 00 -R 00 00 02 00 -T 50 00 00 00 53 68 6F 72 74 00 -R 00 00 02 00 -T 56 00 00 00 -R 00 00 02 00 -T 56 00 00 00 4C 6F 6E 67 00 -R 00 00 02 00 -T 5B 00 00 00 -R 00 00 02 00 -T 5B 00 00 00 56 61 6C 69 64 00 +T 00 00 00 00 53 68 6F 72 74 00 R 00 00 02 00 -T 61 00 00 00 +T 06 00 00 00 R 00 00 02 00 -T 61 00 00 00 41 63 6B 00 +T 06 00 00 00 4C 6F 6E 67 00 R 00 00 02 00 -T 65 00 00 00 +T 0B 00 00 00 R 00 00 02 00 -T 65 00 00 00 4E 61 6B 00 +T 0B 00 00 00 56 61 6C 69 64 00 R 00 00 02 00 -T 69 00 00 00 +T 11 00 00 00 R 00 00 02 00 -T 69 00 00 00 50 41 50 3A 20 6D 69 73 73 69 6E +T 11 00 00 00 41 63 6B 00 R 00 00 02 00 -T 74 00 00 00 67 20 6D 65 73 73 61 67 65 20 63 +T 15 00 00 00 R 00 00 02 00 -T 7F 00 00 00 6F 75 6E 74 00 +T 15 00 00 00 4E 61 6B 00 R 00 00 02 00 diff --git a/src/nos/lib/ppp_lib/pap_down.rel b/src/nos/lib/ppp_lib/pap_down.rel index 1c2fa75b..f4d830f4 100644 --- a/src/nos/lib/ppp_lib/pap_down.rel +++ b/src/nos/lib/ppp_lib/pap_down.rel @@ -1,31 +1,31 @@ XL4 -H 3 areas C global symbols +H 2 areas D global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _stop_timer Ref00000000 +S __fsm_log Ref00000000 +S ___027c_1f44_Down Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _alert Ref00000000 S .__.ABS. Def00000000 -S _fsm_log Ref00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S ?C_V_SWITCH_L06 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size BA flags 0 +A CODE size BC flags 0 S _pap_down Def00000000 -A CSTR size 5 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 21 1C 00 DD -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 08 00 T 09 00 00 00 4E 02 DD 46 03 09 46 23 66 68 DD R 00 00 01 00 T 14 00 00 00 75 FE DD 74 FF 7D B4 20 03 R 00 00 01 00 T 1D 00 00 00 R 00 00 01 00 -T 1D 00 00 00 C3 B7 00 00 00 +T 1D 00 00 00 C3 B9 00 00 00 R 00 00 01 00 00 05 01 00 T 20 00 00 00 R 00 00 01 00 @@ -34,54 +34,52 @@ R 00 00 01 00 T 2B 00 00 00 23 66 6A 11 05 00 19 5E 16 00 ED R 00 00 01 00 T 36 00 00 00 53 00 00 00 00 21 08 00 09 7E 23 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0B 00 T 3F 00 00 00 66 6F 56 23 66 6A 22 00 00 00 00 -R 00 00 01 00 02 0B 06 00 -T 48 00 00 00 01 00 00 00 00 DD 5E 02 DD 56 03 -R 00 00 01 00 00 05 02 00 -T 51 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 05 00 02 0A 05 00 -T 57 00 00 00 00 00 00 00 DD 6E 02 DD 66 03 23 -R 00 00 01 00 02 04 00 00 -T 60 00 00 00 23 36 00 DD 6E 02 DD 66 03 5E CD -R 00 00 01 00 -T 6B 00 00 00 00 00 00 00 05 00 00 01 02 05 06 -R 00 00 01 00 02 04 09 00 -T 74 00 00 00 B7 00 00 00 AB 00 00 00 +R 00 00 01 00 02 0B 07 00 +T 48 00 00 00 1E 00 00 00 00 D5 21 00 00 00 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 +T 4E 00 00 00 E5 59 50 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 02 00 +T 54 00 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 02 00 02 09 00 00 +T 5B 00 00 00 DD 6E 02 DD 66 03 23 23 36 00 DD +R 00 00 01 00 +T 66 00 00 00 6E 02 DD 66 03 5E CD 00 00 00 00 +R 00 00 01 00 02 0B 0A 00 +T 6F 00 00 00 05 00 00 01 02 05 06 B9 00 00 00 +R 00 00 01 00 00 0B 01 00 +T 78 00 00 00 AD 00 00 00 AD 00 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 78 00 00 00 AB 00 00 00 80 00 00 00 +T 7C 00 00 00 82 00 00 00 AD 00 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 7C 00 00 00 AB 00 00 00 B5 00 00 00 -R 00 00 01 00 00 04 01 00 00 08 01 00 -T 80 00 00 00 +T 80 00 00 00 B7 00 00 00 +R 00 00 01 00 00 04 01 00 +T 82 00 00 00 R 00 00 01 00 -T 80 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 EB +T 82 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 EB R 00 00 01 00 -T 8B 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +T 8D 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 01 00 02 0A 01 00 -T 91 00 00 00 00 00 00 00 01 6B 00 21 06 00 DD +T 93 00 00 00 00 00 00 00 01 6B 00 21 06 00 DD R 00 00 01 00 02 04 00 00 -T 9A 00 00 00 5E FE DD 56 FF 19 5E 23 56 3E +T 9C 00 00 00 5E FE DD 56 FF 19 5E 23 56 3E R 00 00 01 00 -T A4 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T A9 00 00 00 00 00 00 00 +T A6 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T AB 00 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T AB 00 00 00 +T AD 00 00 00 R 00 00 01 00 -T AB 00 00 00 DD 6E 02 DD 66 03 36 00 18 02 +T AD 00 00 00 DD 6E 02 DD 66 03 36 00 18 02 R 00 00 01 00 -T B5 00 00 00 +T B7 00 00 00 R 00 00 01 00 -T B5 00 00 00 18 00 +T B7 00 00 00 18 00 R 00 00 01 00 -T B7 00 00 00 +T B9 00 00 00 R 00 00 01 00 -T B7 00 00 00 +T B9 00 00 00 R 00 00 01 00 -T B7 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 44 6F 77 6E 00 -R 00 00 02 00 +T B9 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/ppp_lib/pap_init.rel b/src/nos/lib/ppp_lib/pap_init.rel index 546e325e..bedc73b7 100644 --- a/src/nos/lib/ppp_lib/pap_init.rel +++ b/src/nos/lib/ppp_lib/pap_init.rel @@ -1,116 +1,114 @@ XL4 -H 3 areas F global symbols +H 2 areas 10 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _stop_timer Ref00000000 S _fsm_timer Ref00000000 S _set_timer Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S _callocw Ref00000000 S _pap_timeout Ref00000000 S _PPPiface Ref00000000 +S ___061e_bc39_pap_5finit_28_29 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _pap_constants Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 14E flags 0 +A CODE size 152 flags 0 S _pap_init Def00000000 -A CSTR size B flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF 21 24 00 DD -R 00 00 01 00 02 05 09 00 +R 00 00 01 00 02 05 0B 00 T 09 00 00 00 4E 02 DD 46 03 09 DD 75 FC DD 74 R 00 00 01 00 T 14 00 00 00 FD 21 05 00 09 5E 16 00 ED 53 R 00 00 01 00 T 1E 00 00 00 00 00 00 00 0A 6F 03 0A 67 22 -R 00 00 01 00 02 04 0D 00 -T 26 00 00 00 00 00 00 00 7B E6 80 28 12 -R 00 00 01 00 02 04 08 00 +R 00 00 01 00 02 04 0E 00 +T 26 00 00 00 00 00 00 00 7B E6 80 28 16 +R 00 00 01 00 02 04 09 00 T 2D 00 00 00 R 00 00 01 00 -T 2D 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 08 00 -T 34 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 -T 3A 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 3F 00 00 00 +T 2D 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 +T 33 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 09 00 +T 39 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 3E 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 43 00 00 00 R 00 00 01 00 -T 3F 00 00 00 21 1C 00 DD 4E FC DD 46 FD 09 7E +T 43 00 00 00 21 1C 00 DD 4E FC DD 46 FD 09 7E R 00 00 01 00 -T 4A 00 00 00 23 B6 28 03 +T 4E 00 00 00 23 B6 28 03 R 00 00 01 00 -T 4E 00 00 00 +T 52 00 00 00 R 00 00 01 00 -T 4E 00 00 00 C3 4B 01 00 00 +T 52 00 00 00 C3 4F 01 00 00 R 00 00 01 00 00 05 01 00 -T 51 00 00 00 +T 55 00 00 00 R 00 00 01 00 -T 51 00 00 00 21 08 00 DD 4E FC DD 46 FD 09 DD +T 55 00 00 00 21 08 00 DD 4E FC DD 46 FD 09 DD R 00 00 01 00 -T 5C 00 00 00 5E 02 DD 56 03 73 23 72 21 1A 00 +T 60 00 00 00 5E 02 DD 56 03 73 23 72 21 1A 00 R 00 00 01 00 -T 67 00 00 00 09 36 00 00 00 00 23 36 -R 00 00 01 00 0B 06 0C 00 -T 6C 00 00 00 00 00 00 00 21 1C 00 09 E5 01 -R 00 00 01 00 8B 04 0C 00 -T 73 00 00 00 08 00 11 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 06 00 -T 7B 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 06 00 02 09 00 00 -T 82 00 00 00 E1 71 23 70 21 1A 00 DD 4E FC DD +T 6B 00 00 00 09 36 00 00 00 00 23 36 +R 00 00 01 00 0B 06 0D 00 +T 70 00 00 00 00 00 00 00 21 1C 00 09 E5 01 +R 00 00 01 00 8B 04 0D 00 +T 77 00 00 00 08 00 11 01 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 07 00 +T 7F 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 +R 00 00 01 00 02 04 07 00 02 09 00 00 +T 86 00 00 00 E1 71 23 70 21 1A 00 DD 4E FC DD R 00 00 01 00 -T 8D 00 00 00 46 FD 09 56 23 66 6A 11 07 00 19 +T 91 00 00 00 46 FD 09 56 23 66 6A 11 07 00 19 R 00 00 01 00 -T 98 00 00 00 56 21 04 00 09 72 21 1A 00 09 56 +T 9C 00 00 00 56 21 04 00 09 72 21 1A 00 09 56 R 00 00 01 00 -T A3 00 00 00 23 66 6A 11 08 00 19 56 21 07 00 +T A7 00 00 00 23 66 6A 11 08 00 19 56 21 07 00 R 00 00 01 00 -T AE 00 00 00 09 72 21 1A 00 09 56 23 66 6A 11 +T B2 00 00 00 09 72 21 1A 00 09 56 23 66 6A 11 R 00 00 01 00 -T B9 00 00 00 09 00 19 56 21 05 00 09 72 69 60 +T BD 00 00 00 09 00 19 56 21 05 00 09 72 69 60 R 00 00 01 00 -T C4 00 00 00 36 00 21 04 00 DD 4E FC DD 46 FD +T C8 00 00 00 36 00 21 04 00 DD 4E FC DD 46 FD R 00 00 01 00 -T CF 00 00 00 09 56 69 60 23 23 23 72 21 07 00 +T D3 00 00 00 09 56 69 60 23 23 23 72 21 07 00 R 00 00 01 00 -T DA 00 00 00 DD 4E FC DD 46 FD 09 56 21 06 00 +T DE 00 00 00 DD 4E FC DD 46 FD 09 56 21 06 00 R 00 00 01 00 -T E5 00 00 00 09 72 21 0A 00 09 DD 75 FE DD 74 +T E9 00 00 00 09 72 21 0A 00 09 DD 75 FE DD 74 R 00 00 01 00 -T F0 00 00 00 FF 11 0A 00 19 36 00 00 00 00 23 -R 00 00 01 00 0B 0A 07 00 -T F8 00 00 00 36 00 00 00 00 23 36 00 00 00 00 -R 00 00 01 00 8B 05 07 00 2B 0B 07 00 -T FD 00 00 00 21 0D 00 DD 5E FE DD 56 FF 19 71 +T F4 00 00 00 FF 11 0A 00 19 36 00 00 00 00 23 +R 00 00 01 00 0B 0A 08 00 +T FC 00 00 00 36 00 00 00 00 23 36 00 00 00 00 +R 00 00 01 00 8B 05 08 00 2B 0B 08 00 +T 01 01 00 00 21 0D 00 DD 5E FE DD 56 FF 19 71 R 00 00 01 00 -T 08 01 00 00 23 70 21 1A 00 09 7E 23 66 6F 01 +T 0C 01 00 00 23 70 21 1A 00 09 7E 23 66 6F 01 R 00 00 01 00 -T 13 01 00 00 0A 00 09 4E 23 46 23 5E 23 56 D5 +T 17 01 00 00 0A 00 09 4E 23 46 23 5E 23 56 D5 R 00 00 01 00 -T 1E 01 00 00 C5 DD 5E FE DD 56 FF 3E +T 22 01 00 00 C5 DD 5E FE DD 56 FF 3E R 00 00 01 00 -T 26 01 00 00 00 00 00 00 21 00 00 00 00 CD +T 2A 01 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 2B 01 00 00 00 00 00 00 E1 E1 DD 5E FC DD 56 +T 2F 01 00 00 00 00 00 00 E1 E1 DD 5E FC DD 56 R 00 00 01 00 02 04 00 00 -T 34 01 00 00 FD 3E 00 00 00 00 21 00 00 00 00 +T 38 01 00 00 FD 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 02 00 02 0B 02 00 -T 3A 01 00 00 CD 00 00 00 00 DD 5E FE DD 56 FF +T 3E 01 00 00 CD 00 00 00 00 DD 5E FE DD 56 FF R 00 00 01 00 02 05 00 00 -T 43 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD +T 47 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 01 00 02 0A 01 00 -T 49 01 00 00 00 00 00 00 +T 4D 01 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 4B 01 00 00 +T 4F 01 00 00 R 00 00 01 00 -T 4B 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 70 61 70 5F 69 6E 69 74 28 29 00 -R 00 00 02 00 +T 4F 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 05 00 diff --git a/src/nos/lib/ppp_lib/pap_local.rel b/src/nos/lib/ppp_lib/pap_local.rel index e7d8ddcf..eaabd6cb 100644 --- a/src/nos/lib/ppp_lib/pap_local.rel +++ b/src/nos/lib/ppp_lib/pap_local.rel @@ -1,52 +1,48 @@ XL4 -H 3 areas 9 global symbols +H 2 areas A global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 +S ___061f_7924_pap_5flocal_28_29 Ref00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 70 flags 0 +A CODE size 74 flags 0 S _pap_local Def00000000 -A CSTR size C flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 21 24 00 DD -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 06 00 T 09 00 00 00 4E 02 DD 46 03 09 DD 75 FE DD 74 R 00 00 01 00 T 14 00 00 00 FF 21 05 00 09 4E 06 00 ED 43 R 00 00 01 00 -T 1E 00 00 00 00 00 00 00 79 E6 80 28 12 -R 00 00 01 00 02 04 07 00 +T 1E 00 00 00 00 00 00 00 79 E6 80 28 16 +R 00 00 01 00 02 04 08 00 T 25 00 00 00 R 00 00 01 00 -T 25 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 03 00 -T 2C 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 -T 32 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 37 00 00 00 +T 25 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 +T 2B 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 05 00 +T 31 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 01 00 02 09 01 00 +T 36 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 3B 00 00 00 R 00 00 01 00 -T 37 00 00 00 DD 6E FE DD 66 FF 36 01 DD 6E FE +T 3B 00 00 00 DD 6E FE DD 66 FF 36 01 DD 6E FE R 00 00 01 00 -T 42 00 00 00 DD 66 FF 23 23 7E F6 10 77 21 +T 46 00 00 00 DD 66 FF 23 23 7E F6 10 77 21 R 00 00 01 00 -T 4C 00 00 00 04 00 DD 4E 02 DD 46 03 09 7E F6 +T 50 00 00 00 04 00 DD 4E 02 DD 46 03 09 7E F6 R 00 00 01 00 -T 57 00 00 00 10 77 21 04 00 DD 4E FE DD 46 FF +T 5B 00 00 00 10 77 21 04 00 DD 4E FE DD 46 FF R 00 00 01 00 -T 62 00 00 00 09 56 69 60 23 23 23 72 21 00 00 +T 66 00 00 00 09 56 69 60 23 23 23 72 21 00 00 R 00 00 01 00 -T 6D 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 70 61 70 5F 6C 6F 63 61 6C 28 29 -R 00 00 02 00 -T 0B 00 00 00 00 -R 00 00 02 00 +T 71 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/ppp_lib/pap_makereq.rel b/src/nos/lib/ppp_lib/pap_makereq.rel index 0086cc29..0dbe037e 100644 --- a/src/nos/lib/ppp_lib/pap_makereq.rel +++ b/src/nos/lib/ppp_lib/pap_makereq.rel @@ -1,184 +1,172 @@ XL4 -H 3 areas D global symbols +H 2 areas 10 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S __fsm_log Ref00000000 +S ___0620_4574_pap_5fmakereq_28_29 Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _alloc_mbuf Ref00000000 S _strlen Ref00000000 +S ___0372_f664_NULL_20username_20o Ref00000000 S .__.ABS. Def00000000 S _stpcpy Ref00000000 -S _fsm_log Ref00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 +S ___0073_6383__20_20_20_20making_ Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 1B2 flags 0 +A CODE size 1C0 flags 0 S _pap_makereq Def00000000 -A CSTR size 3E flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F8 FF 21 1C 00 DD -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 0B 00 T 09 00 00 00 4E 02 DD 46 03 09 46 23 66 68 DD R 00 00 01 00 T 14 00 00 00 75 F8 DD 74 F9 AF DD 77 FA DD 77 R 00 00 01 00 -T 1F 00 00 00 FB 3A 00 00 00 00 E6 80 28 12 -R 00 00 01 00 02 06 0B 00 +T 1F 00 00 00 FB 3A 00 00 00 00 E6 80 28 16 +R 00 00 01 00 02 06 0E 00 T 27 00 00 00 R 00 00 01 00 -T 27 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 07 00 -T 2E 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 -T 34 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 39 00 00 00 +T 27 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 +T 2D 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0A 00 +T 33 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 38 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 3D 00 00 00 R 00 00 01 00 -T 39 00 00 00 DD 6E F8 DD 66 F9 7E 23 B6 28 0D +T 3D 00 00 00 DD 6E F8 DD 66 F9 7E 23 B6 28 0D R 00 00 01 00 -T 44 00 00 00 DD 6E F8 DD 66 F9 23 23 7E 23 B6 +T 48 00 00 00 DD 6E F8 DD 66 F9 23 23 7E 23 B6 R 00 00 01 00 -T 4F 00 00 00 20 17 +T 53 00 00 00 20 1D R 00 00 01 00 -T 51 00 00 00 +T 55 00 00 00 R 00 00 01 00 -T 51 00 00 00 +T 55 00 00 00 R 00 00 01 00 -T 51 00 00 00 +T 55 00 00 00 R 00 00 01 00 -T 51 00 00 00 01 0E 00 00 00 DD 5E 02 DD 56 03 -R 00 00 01 00 00 05 02 00 -T 5A 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 -T 60 00 00 00 00 00 00 00 21 00 00 C3 +T 55 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 07 00 02 0B 07 00 +T 5B 00 00 00 E5 DD 5E 02 DD 56 03 3E +R 00 00 01 00 +T 63 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 01 00 02 09 01 00 +T 68 00 00 00 00 00 00 00 E1 E1 21 00 00 C3 R 00 00 01 00 02 04 00 00 -T 66 00 00 00 AF 01 00 00 +T 70 00 00 00 BD 01 00 00 R 00 00 01 00 00 04 01 00 -T 68 00 00 00 +T 72 00 00 00 R 00 00 01 00 -T 68 00 00 00 3A 00 00 00 00 E6 08 28 1D -R 00 00 01 00 02 05 0B 00 -T 6F 00 00 00 +T 72 00 00 00 3A 00 00 00 00 E6 08 28 21 +R 00 00 01 00 02 05 0E 00 +T 79 00 00 00 R 00 00 01 00 -T 6F 00 00 00 DD 6E F8 DD 66 F9 4E 23 46 C5 21 +T 79 00 00 00 DD 6E F8 DD 66 F9 4E 23 46 C5 0E R 00 00 01 00 -T 7A 00 00 00 28 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 07 00 -T 81 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 09 00 02 0A 09 00 -T 87 00 00 00 00 00 00 00 E1 E1 E1 -R 00 00 01 00 02 04 00 00 -T 8C 00 00 00 +T 84 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 0C 00 02 0A 0C 00 +T 8A 00 00 00 2A 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 0A 00 2B 0B 03 00 +T 90 00 00 00 21 00 00 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 05 03 00 02 0A 00 00 +T 97 00 00 00 E1 E1 E1 R 00 00 01 00 -T 8C 00 00 00 DD 6E F8 DD 66 F9 23 23 5E 23 56 +T 9A 00 00 00 R 00 00 01 00 -T 97 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 -T 9D 00 00 00 00 00 00 00 E5 DD 6E F8 DD 66 F9 +T 9A 00 00 00 DD 6E F8 DD 66 F9 23 23 5E 23 56 +R 00 00 01 00 +T A5 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 06 00 02 0A 06 00 +T AB 00 00 00 00 00 00 00 E5 DD 6E F8 DD 66 F9 R 00 00 01 00 02 04 00 00 -T A6 00 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 03 00 -T AC 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T B3 00 00 00 E1 09 23 23 DD 75 FE DD 74 FF EB -R 00 00 01 00 -T BE 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 02 00 02 0A 02 00 -T C4 00 00 00 00 00 00 00 DD 75 FA DD 74 FB 7D +T B4 00 00 00 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 06 00 +T BA 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 +R 00 00 01 00 02 04 06 00 02 09 00 00 +T C1 00 00 00 E1 09 23 23 DD 75 FE DD 74 FF EB +R 00 00 01 00 +T CC 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 05 00 02 0A 05 00 +T D2 00 00 00 00 00 00 00 DD 75 FA DD 74 FB 7D R 00 00 01 00 02 04 00 00 -T CD 00 00 00 B4 20 06 +T DB 00 00 00 B4 20 06 R 00 00 01 00 -T D0 00 00 00 +T DE 00 00 00 R 00 00 01 00 -T D0 00 00 00 21 00 00 C3 AF 01 00 00 +T DE 00 00 00 21 00 00 C3 BD 01 00 00 R 00 00 01 00 00 08 01 00 -T D6 00 00 00 +T E4 00 00 00 R 00 00 01 00 -T D6 00 00 00 21 0A 00 DD 4E FA DD 46 FB 09 46 +T E4 00 00 00 21 0A 00 DD 4E FA DD 46 FB 09 46 R 00 00 01 00 -T E1 00 00 00 23 66 68 DD 75 FC DD 74 FD DD 6E +T EF 00 00 00 23 66 68 DD 75 FC DD 74 FD DD 6E R 00 00 01 00 -T EC 00 00 00 F8 DD 66 F9 5E 23 56 3E +T FA 00 00 00 F8 DD 66 F9 5E 23 56 3E R 00 00 01 00 -T F4 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T F9 00 00 00 00 00 00 00 E5 DD 6E FC DD 66 FD +T 02 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 07 01 00 00 00 00 00 00 E5 DD 6E FC DD 66 FD R 00 00 01 00 02 04 00 00 -T 02 01 00 00 23 DD 75 FC DD 74 FD 2B C1 71 DD +T 10 01 00 00 23 DD 75 FC DD 74 FD 2B C1 71 DD R 00 00 01 00 -T 0D 01 00 00 6E F8 DD 66 F9 5E 23 56 3E +T 1B 01 00 00 6E F8 DD 66 F9 5E 23 56 3E R 00 00 01 00 -T 16 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 1B 01 00 00 00 00 00 00 7D B4 28 1D +T 24 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 29 01 00 00 00 00 00 00 7D B4 28 1D R 00 00 01 00 02 04 00 00 -T 21 01 00 00 +T 2F 01 00 00 R 00 00 01 00 -T 21 01 00 00 DD 6E F8 DD 66 F9 4E 23 46 DD 5E +T 2F 01 00 00 DD 6E F8 DD 66 F9 4E 23 46 DD 5E R 00 00 01 00 -T 2C 01 00 00 FC DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 05 00 -T 33 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 05 00 02 09 00 00 -T 3A 01 00 00 FC DD 74 FD +T 3A 01 00 00 FC DD 56 FD 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 09 00 +T 41 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 09 00 02 09 00 00 +T 48 01 00 00 FC DD 74 FD R 00 00 01 00 -T 3E 01 00 00 +T 4C 01 00 00 R 00 00 01 00 -T 3E 01 00 00 DD 6E F8 DD 66 F9 23 23 5E 23 56 +T 4C 01 00 00 DD 6E F8 DD 66 F9 23 23 5E 23 56 R 00 00 01 00 -T 49 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 -T 4F 01 00 00 00 00 00 00 E5 DD 6E FC DD 66 FD +T 57 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 06 00 02 0A 06 00 +T 5D 01 00 00 00 00 00 00 E5 DD 6E FC DD 66 FD R 00 00 01 00 02 04 00 00 -T 58 01 00 00 23 DD 75 FC DD 74 FD 2B C1 71 DD +T 66 01 00 00 23 DD 75 FC DD 74 FD 2B C1 71 DD R 00 00 01 00 -T 63 01 00 00 6E F8 DD 66 F9 23 23 5E 23 56 3E +T 71 01 00 00 6E F8 DD 66 F9 23 23 5E 23 56 3E R 00 00 01 00 -T 6E 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 73 01 00 00 00 00 00 00 7D B4 28 1F +T 7C 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 81 01 00 00 00 00 00 00 7D B4 28 1F R 00 00 01 00 02 04 00 00 -T 79 01 00 00 +T 87 01 00 00 R 00 00 01 00 -T 79 01 00 00 DD 6E F8 DD 66 F9 23 23 4E 23 46 +T 87 01 00 00 DD 6E F8 DD 66 F9 23 23 4E 23 46 R 00 00 01 00 -T 84 01 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 -T 8C 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 05 00 02 0A 00 00 -T 93 01 00 00 75 FC DD 74 FD +T 92 01 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 +R 00 00 01 00 2B 0B 09 00 +T 9A 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 09 00 02 0A 00 00 +T A1 01 00 00 75 FC DD 74 FD R 00 00 01 00 -T 98 01 00 00 +T A6 01 00 00 R 00 00 01 00 -T 98 01 00 00 21 0C 00 DD 4E FA DD 46 FB 09 7E +T A6 01 00 00 21 0C 00 DD 4E FA DD 46 FB 09 7E R 00 00 01 00 -T A3 01 00 00 DD 86 FE 77 23 7E DD 8E FF 77 69 +T B1 01 00 00 DD 86 FE 77 23 7E DD 8E FF 77 69 R 00 00 01 00 -T AE 01 00 00 60 +T BC 01 00 00 60 R 00 00 01 00 -T AF 01 00 00 +T BD 01 00 00 R 00 00 01 00 -T AF 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 70 61 70 5F 6D 61 6B 65 72 65 71 -R 00 00 02 00 -T 0B 00 00 00 28 29 00 -R 00 00 02 00 -T 0E 00 00 00 -R 00 00 02 00 -T 0E 00 00 00 4E 55 4C 4C 20 75 73 65 72 6E 61 -R 00 00 02 00 -T 19 00 00 00 6D 65 20 6F 72 20 70 61 73 73 77 -R 00 00 02 00 -T 24 00 00 00 6F 72 64 00 -R 00 00 02 00 -T 28 00 00 00 -R 00 00 02 00 -T 28 00 00 00 20 20 20 20 6D 61 6B 69 6E 67 20 -R 00 00 02 00 -T 33 00 00 00 75 73 65 72 20 69 64 20 25 73 00 -R 00 00 02 00 +T BD 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/ppp_lib/pap_monitor.rel b/src/nos/lib/ppp_lib/pap_monitor.rel index 789e25c6..f6b2f33b 100644 --- a/src/nos/lib/ppp_lib/pap_monitor.rel +++ b/src/nos/lib/ppp_lib/pap_monitor.rel @@ -1,34 +1,36 @@ XL4 -H 3 areas 16 global symbols +H 3 areas 18 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___03b5_2057_Too_20many_20sessio Ref00000000 S _fflush Ref00000000 -S ___0022_a0dd__0a Ref00000000 +S ___0189_990e__25s_3a_20PPP_2fPAP Ref00000000 +S ___0023_a0dd__0a Ref00000000 S _rip Ref00000000 S _ppause Ref00000000 S _newsession Ref00000000 -S _printf Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___0444_2057_Too_20many_20sessio Ref00000000 S _fsm_sendreq Ref00000000 S _strlen Ref00000000 S _strdupw Ref00000000 S _fgets Ref00000000 S .__.ABS. Def00000000 -S ___015d_5f8a__25s_3a_20PPP_2fPAP Ref00000000 S _kwait Ref00000000 S _freesession Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ___0188_53bc__25s_3a_20PPP_2fPAP Ref00000000 S __printf Ref00000000 +S ___0186_5fe2__25s_3a_20PPP_2fPAP Ref00000000 +S ___0187_5f8a__25s_3a_20PPP_2fPAP Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _main_exit Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 2E0 flags 0 +A CODE size 2F0 flags 0 S _pap_monitor Def00000000 -A CSTR size 4E flags 0 +A CSTR size 8 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 E0 FF DD 71 E0 DD -R 00 00 01 00 02 05 11 00 +R 00 00 01 00 02 05 10 00 T 09 00 00 00 70 E1 DD 6E 0A DD 66 0B DD 75 E2 R 00 00 01 00 T 14 00 00 00 DD 74 E3 01 1C 00 09 46 23 66 68 @@ -46,22 +48,22 @@ R 00 00 01 00 T 49 00 00 00 R 00 00 01 00 T 49 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 T 4F 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 12 00 02 0B 12 00 T 55 00 00 00 CD 00 00 00 00 F1 F1 C3 R 00 00 01 00 02 05 00 00 -T 5B 00 00 00 DD 02 00 00 +T 5B 00 00 00 ED 02 00 00 R 00 00 01 00 00 04 01 00 T 5D 00 00 00 R 00 00 01 00 T 5D 00 00 00 R 00 00 01 00 T 5D 00 00 00 2A 00 00 00 00 7D B4 C2 -R 00 00 01 00 02 05 14 00 -T 63 00 00 00 A9 02 00 00 DD 7E FD DD B6 FE C2 +R 00 00 01 00 02 05 16 00 +T 63 00 00 00 B9 02 00 00 DD 7E FD DD B6 FE C2 R 00 00 01 00 00 04 01 00 -T 6C 00 00 00 A9 02 00 00 +T 6C 00 00 00 B9 02 00 00 R 00 00 01 00 00 04 01 00 T 6E 00 00 00 R 00 00 01 00 @@ -71,247 +73,227 @@ T 6E 00 00 00 R 00 00 01 00 T 6E 00 00 00 DD 6E E4 DD 66 E5 7E 23 B6 C2 R 00 00 01 00 -T 78 00 00 00 02 01 00 00 +T 78 00 00 00 06 01 00 00 R 00 00 01 00 00 04 01 00 T 7A 00 00 00 R 00 00 01 00 T 7A 00 00 00 DD 6E E0 DD 66 E1 23 23 4E 23 46 R 00 00 01 00 -T 85 00 00 00 C5 21 08 00 00 00 E5 3E -R 00 00 01 00 00 06 02 00 -T 8B 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 90 00 00 00 00 00 00 00 F1 F1 21 1B 00 DD 4E -R 00 00 01 00 02 04 00 00 -T 99 00 00 00 FB DD 46 FC 09 5E 23 56 3E -R 00 00 01 00 -T A2 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T A7 00 00 00 00 00 00 00 21 19 00 09 4E 23 46 -R 00 00 01 00 02 04 00 00 -T B0 00 00 00 C5 01 14 00 21 08 00 39 5D 54 3E +T 85 00 00 00 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 06 11 00 +T 8A 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 11 00 2B 0A 12 00 +T 90 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 12 00 02 09 00 00 +T 97 00 00 00 F1 21 1B 00 DD 4E FB DD 46 FC 09 +R 00 00 01 00 +T A2 00 00 00 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 01 00 +T A8 00 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 01 00 02 09 00 00 +T AE 00 00 00 19 00 09 4E 23 46 C5 01 14 00 21 +R 00 00 01 00 +T B9 00 00 00 08 00 39 5D 54 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0C 00 +T C1 00 00 00 00 00 00 00 CD 00 00 00 00 F1 7D +R 00 00 01 00 02 04 0C 00 02 09 00 00 +T C8 00 00 00 B4 28 39 R 00 00 01 00 -T BB 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 -T C0 00 00 00 00 00 00 00 F1 7D B4 28 39 -R 00 00 01 00 02 04 00 00 -T C7 00 00 00 +T CB 00 00 00 R 00 00 01 00 -T C7 00 00 00 21 06 00 39 5D 54 3E 00 00 00 00 +T CB 00 00 00 21 06 00 39 5D 54 3E 00 00 00 00 R 00 00 01 00 2B 0B 04 00 -T CF 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 +T D3 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 04 00 02 0A 00 00 -T D6 00 00 00 06 00 39 5D 54 3E 00 00 00 00 21 +T DA 00 00 00 06 00 39 5D 54 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 0A 00 -T DE 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 +T E2 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 R 00 00 01 00 02 04 0A 00 02 09 00 00 -T E5 00 00 00 28 19 +T E9 00 00 00 28 19 R 00 00 01 00 -T E7 00 00 00 +T EB 00 00 00 R 00 00 01 00 -T E7 00 00 00 21 06 00 39 5D 54 3E 00 00 00 00 +T EB 00 00 00 21 06 00 39 5D 54 3E 00 00 00 00 R 00 00 01 00 2B 0B 0B 00 -T EF 00 00 00 21 00 00 00 00 CD 00 00 00 00 E5 +T F3 00 00 00 21 00 00 00 00 CD 00 00 00 00 E5 R 00 00 01 00 02 05 0B 00 02 0A 00 00 -T F6 00 00 00 DD 6E E4 DD 66 E5 C1 71 23 70 +T FA 00 00 00 DD 6E E4 DD 66 E5 C1 71 23 70 R 00 00 01 00 -T 00 01 00 00 +T 04 01 00 00 R 00 00 01 00 -T 00 01 00 00 +T 04 01 00 00 R 00 00 01 00 -T 00 01 00 00 18 3A +T 04 01 00 00 18 3E R 00 00 01 00 -T 02 01 00 00 +T 06 01 00 00 R 00 00 01 00 -T 02 01 00 00 DD 6E E4 DD 66 E5 4E 23 46 C5 DD +T 06 01 00 00 DD 6E E4 DD 66 E5 4E 23 46 C5 DD R 00 00 01 00 -T 0D 01 00 00 6E E0 DD 66 E1 23 23 4E 23 46 C5 +T 11 01 00 00 6E E0 DD 66 E1 23 23 4E 23 46 C5 R 00 00 01 00 -T 18 01 00 00 21 20 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 07 00 -T 1E 01 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 07 00 02 0A 00 00 -T 25 01 00 00 F1 F1 21 1B 00 DD 4E FB DD 46 FC +T 1C 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 +T 22 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 12 00 02 0B 12 00 +T 28 01 00 00 CD 00 00 00 00 F1 F1 F1 F1 21 +R 00 00 01 00 02 05 00 00 +T 30 01 00 00 1B 00 DD 4E FB DD 46 FC 09 5E 23 R 00 00 01 00 -T 30 01 00 00 09 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 02 00 -T 37 01 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 09 00 00 -T 3C 01 00 00 +T 3B 01 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 01 00 02 0B 01 00 +T 41 01 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 00 00 +T 44 01 00 00 R 00 00 01 00 -T 3C 01 00 00 DD 6E E4 DD 66 E5 7E 23 B6 CA +T 44 01 00 00 DD 6E E4 DD 66 E5 7E 23 B6 CA R 00 00 01 00 -T 46 01 00 00 24 02 00 00 DD 6E E4 DD 66 E5 23 +T 4E 01 00 00 2C 02 00 00 DD 6E E4 DD 66 E5 23 R 00 00 01 00 00 04 01 00 -T 4F 01 00 00 23 7E 23 B6 C2 24 02 00 00 +T 57 01 00 00 23 7E 23 B6 C2 2C 02 00 00 R 00 00 01 00 00 09 01 00 -T 56 01 00 00 +T 5E 01 00 00 R 00 00 01 00 -T 56 01 00 00 +T 5E 01 00 00 R 00 00 01 00 -T 56 01 00 00 +T 5E 01 00 00 R 00 00 01 00 -T 56 01 00 00 21 17 00 DD 4E FB DD 46 FC 09 7E +T 5E 01 00 00 21 17 00 DD 4E FB DD 46 FC 09 7E R 00 00 01 00 -T 61 01 00 00 E6 FE 77 23 7E E6 FF 77 DD 6E E0 +T 69 01 00 00 E6 FE 77 23 7E E6 FF 77 DD 6E E0 R 00 00 01 00 -T 6C 01 00 00 DD 66 E1 23 23 5E 23 56 D5 1E +T 74 01 00 00 DD 66 E1 23 23 5E 23 56 D5 1E R 00 00 01 00 -T 76 01 00 00 00 00 00 00 D5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0E 00 02 0A 0E 00 -T 7C 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD +T 7E 01 00 00 00 00 00 00 D5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 14 00 02 0A 14 00 +T 84 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 12 00 02 0A 12 00 -T 82 01 00 00 00 00 00 00 F1 F1 F1 21 1B 00 09 +T 8A 01 00 00 00 00 00 00 F1 F1 F1 21 1B 00 09 R 00 00 01 00 02 04 00 00 -T 8B 01 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 02 00 -T 91 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 02 00 02 09 00 00 -T 97 01 00 00 19 00 09 4E 23 46 C5 01 14 00 21 +T 93 01 00 00 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 01 00 +T 99 01 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 01 00 02 09 00 00 +T 9F 01 00 00 19 00 09 4E 23 46 C5 01 14 00 21 R 00 00 01 00 -T A2 01 00 00 08 00 39 5D 54 3E 00 00 00 00 21 +T AA 01 00 00 08 00 39 5D 54 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 0C 00 -T AA 01 00 00 00 00 00 00 CD 00 00 00 00 F1 7D +T B2 01 00 00 00 00 00 00 CD 00 00 00 00 F1 7D R 00 00 01 00 02 04 0C 00 02 09 00 00 -T B1 01 00 00 B4 28 3D +T B9 01 00 00 B4 28 3D R 00 00 01 00 -T B4 01 00 00 +T BC 01 00 00 R 00 00 01 00 -T B4 01 00 00 21 06 00 39 5D 54 3E 00 00 00 00 +T BC 01 00 00 21 06 00 39 5D 54 3E 00 00 00 00 R 00 00 01 00 2B 0B 04 00 -T BC 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 +T C4 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 04 00 02 0A 00 00 -T C3 01 00 00 06 00 39 5D 54 3E 00 00 00 00 21 +T CB 01 00 00 06 00 39 5D 54 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 0A 00 -T CB 01 00 00 00 00 00 00 CD 00 00 00 00 7D B4 +T D3 01 00 00 00 00 00 00 CD 00 00 00 00 7D B4 R 00 00 01 00 02 04 0A 00 02 09 00 00 -T D2 01 00 00 28 1D +T DA 01 00 00 28 1D R 00 00 01 00 -T D4 01 00 00 +T DC 01 00 00 R 00 00 01 00 -T D4 01 00 00 DD 6E E4 DD 66 E5 23 23 E5 21 +T DC 01 00 00 DD 6E E4 DD 66 E5 23 23 E5 21 R 00 00 01 00 -T DE 01 00 00 08 00 39 5D 54 3E 00 00 00 00 21 +T E6 01 00 00 08 00 39 5D 54 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 0B 00 -T E6 01 00 00 00 00 00 00 CD 00 00 00 00 4D 44 +T EE 01 00 00 00 00 00 00 CD 00 00 00 00 4D 44 R 00 00 01 00 02 04 0B 00 02 09 00 00 -T ED 01 00 00 E1 71 23 70 +T F5 01 00 00 E1 71 23 70 R 00 00 01 00 -T F1 01 00 00 +T F9 01 00 00 R 00 00 01 00 -T F1 01 00 00 +T F9 01 00 00 R 00 00 01 00 -T F1 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +T F9 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 03 00 02 0B 03 00 -T F7 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +T FF 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 12 00 02 0B 12 00 -T FD 01 00 00 CD 00 00 00 00 F1 F1 21 1B 00 DD +T 05 02 00 00 CD 00 00 00 00 F1 F1 21 1B 00 DD R 00 00 01 00 02 05 00 00 -T 06 02 00 00 4E FB DD 46 FC 09 5E 23 56 3E +T 0E 02 00 00 4E FB DD 46 FC 09 5E 23 56 3E R 00 00 01 00 -T 10 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 15 02 00 00 00 00 00 00 21 17 00 09 7E F6 01 +T 18 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 01 00 02 09 01 00 +T 1D 02 00 00 00 00 00 00 21 17 00 09 7E F6 01 R 00 00 01 00 02 04 00 00 -T 1E 02 00 00 77 23 7E F6 00 77 +T 26 02 00 00 77 23 7E F6 00 77 R 00 00 01 00 -T 24 02 00 00 +T 2C 02 00 00 R 00 00 01 00 -T 24 02 00 00 DD 5E E2 DD 56 E3 3E 00 00 00 00 +T 2C 02 00 00 DD 5E E2 DD 56 E3 3E 00 00 00 00 R 00 00 01 00 2B 0B 09 00 -T 2C 02 00 00 21 00 00 00 00 CD 00 00 00 00 DD +T 34 02 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 09 00 02 0A 00 00 -T 33 02 00 00 5E E4 DD 56 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0F 00 -T 3B 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 0F 00 02 09 00 00 -T 42 02 00 00 FD DD 74 FE 3E 6B AD B4 28 38 21 +T 3B 02 00 00 5E E4 DD 56 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0E 00 +T 43 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 0E 00 02 09 00 00 +T 4A 02 00 00 FD DD 74 FE 3E 6B AD B4 28 3C 21 R 00 00 01 00 -T 4D 02 00 00 04 00 DD 4E E4 DD 46 E5 09 7E 23 +T 55 02 00 00 04 00 DD 4E E4 DD 46 E5 09 7E 23 R 00 00 01 00 -T 58 02 00 00 B6 28 29 +T 60 02 00 00 B6 28 2D R 00 00 01 00 -T 5B 02 00 00 +T 63 02 00 00 R 00 00 01 00 -T 5B 02 00 00 +T 63 02 00 00 R 00 00 01 00 -T 5B 02 00 00 +T 63 02 00 00 R 00 00 01 00 -T 5B 02 00 00 21 04 00 DD 4E E4 DD 46 E5 09 4E +T 63 02 00 00 21 04 00 DD 4E E4 DD 46 E5 09 4E R 00 00 01 00 -T 66 02 00 00 23 46 C5 DD 6E E0 DD 66 E1 23 23 +T 6E 02 00 00 23 46 C5 DD 6E E0 DD 66 E1 23 23 R 00 00 01 00 -T 71 02 00 00 4E 23 46 C5 21 3B 00 00 00 E5 3E -R 00 00 01 00 00 09 02 00 -T 7A 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 7F 02 00 00 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 04 00 00 -T 84 02 00 00 -R 00 00 01 00 -T 84 02 00 00 21 4C 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 07 00 -T 8A 02 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 07 00 02 0A 00 00 -T 91 02 00 00 21 1B 00 DD 4E FB DD 46 FC 09 5E -R 00 00 01 00 -T 9C 02 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 02 00 -T A1 02 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 02 00 02 09 00 00 -T A7 02 00 00 5D 00 00 00 -R 00 00 01 00 00 04 01 00 -T A9 02 00 00 +T 79 02 00 00 4E 23 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 09 13 00 +T 81 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 13 00 2B 0A 12 00 +T 87 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 12 00 02 09 00 00 +T 8E 02 00 00 F1 F1 +R 00 00 01 00 +T 90 02 00 00 +R 00 00 01 00 +T 90 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 +T 96 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 12 00 02 0B 12 00 +T 9C 02 00 00 CD 00 00 00 00 F1 F1 21 1B 00 DD +R 00 00 01 00 02 05 00 00 +T A5 02 00 00 4E FB DD 46 FC 09 5E 23 56 3E +R 00 00 01 00 +T AF 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 01 00 02 09 01 00 +T B4 02 00 00 00 00 00 00 C3 5D 00 00 00 +R 00 00 01 00 02 04 00 00 00 09 01 00 +T B9 02 00 00 R 00 00 01 00 -T A9 02 00 00 3E 6B DD AE FD DD B6 FE 28 0E +T B9 02 00 00 3E 6B DD AE FD DD B6 FE 28 0E R 00 00 01 00 -T B3 02 00 00 +T C3 02 00 00 R 00 00 01 00 -T B3 02 00 00 01 00 00 11 10 27 3E 00 00 00 00 +T C3 02 00 00 01 00 00 11 10 27 3E 00 00 00 00 R 00 00 01 00 2B 0B 05 00 -T BB 02 00 00 21 00 00 00 00 CD 00 00 00 00 +T CB 02 00 00 21 00 00 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 05 00 02 0A 00 00 -T C1 02 00 00 +T D1 02 00 00 R 00 00 01 00 -T C1 02 00 00 DD 5E FB DD 56 FC 3E 00 00 00 00 -R 00 00 01 00 2B 0B 10 00 -T C9 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 10 00 02 0A 00 00 -T D0 02 00 00 06 00 DD 4E E4 DD 46 E5 09 AF 77 +T D1 02 00 00 DD 5E FB DD 56 FC 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0F 00 +T D9 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 0F 00 02 0A 00 00 +T E0 02 00 00 06 00 DD 4E E4 DD 46 E5 09 AF 77 R 00 00 01 00 -T DB 02 00 00 23 77 +T EB 02 00 00 23 77 R 00 00 01 00 -T DD 02 00 00 +T ED 02 00 00 R 00 00 01 00 -T DD 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 08 00 +T ED 02 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 07 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 50 50 50 2F 50 41 50 00 R 00 00 02 00 -T 08 00 00 00 -R 00 00 02 00 -T 08 00 00 00 25 73 3A 20 50 50 50 2F 50 41 50 -R 00 00 02 00 -T 13 00 00 00 20 20 55 73 65 72 6E 61 6D 65 3A -R 00 00 02 00 -T 1E 00 00 00 20 00 -R 00 00 02 00 -T 20 00 00 00 -R 00 00 02 00 -T 20 00 00 00 25 73 3A 20 50 50 50 2F 50 41 50 -R 00 00 02 00 -T 2B 00 00 00 20 20 55 73 65 72 6E 61 6D 65 3A -R 00 00 02 00 -T 36 00 00 00 20 25 73 0A 00 -R 00 00 02 00 -T 3B 00 00 00 -R 00 00 02 00 -T 3B 00 00 00 25 73 3A 20 50 50 50 2F 50 41 50 -R 00 00 02 00 -T 46 00 00 00 20 20 25 73 0A 00 -R 00 00 02 00 -T 4C 00 00 00 -R 00 00 02 00 -T 4C 00 00 00 0A 00 -R 00 00 02 00 diff --git a/src/nos/lib/ppp_lib/pap_opening.rel b/src/nos/lib/ppp_lib/pap_opening.rel index 62d0f5f8..235c8b23 100644 --- a/src/nos/lib/ppp_lib/pap_opening.rel +++ b/src/nos/lib/ppp_lib/pap_opening.rel @@ -1,52 +1,48 @@ XL4 -H 3 areas 9 global symbols +H 2 areas A global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _ppp_ready Ref00000000 S _stop_timer Ref00000000 +S __fsm_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___0392_b622_Open Ref00000000 S .__.ABS. Def00000000 -S _fsm_log Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 6A flags 0 +A CODE size 72 flags 0 S _pap_opening Def00000000 -A CSTR size 5 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 21 08 00 DD -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 07 00 T 09 00 00 00 5E 02 DD 56 03 19 7E 23 66 6F DD R 00 00 01 00 -T 14 00 00 00 75 FE DD 74 FF 01 00 00 00 00 3E -R 00 00 01 00 00 0A 02 00 -T 1D 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 -T 22 00 00 00 00 00 00 00 21 0A 00 DD 4E 02 DD -R 00 00 01 00 02 04 00 00 -T 2B 00 00 00 46 03 09 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 02 00 -T 32 00 00 00 00 00 00 00 CD 00 00 00 00 69 60 -R 00 00 01 00 02 04 02 00 02 09 00 00 -T 39 00 00 00 23 23 DD 7E 04 2F A6 77 E6 30 20 +T 14 00 00 00 75 FE DD 74 FF 2E 00 00 00 00 E5 +R 00 00 01 00 2B 0A 05 00 +T 1C 00 00 00 21 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 05 00 2B 0B 03 00 +T 22 00 00 00 21 00 00 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 05 03 00 02 0A 00 00 +T 29 00 00 00 E1 21 0A 00 DD 5E 02 DD 56 03 19 R 00 00 01 00 -T 44 00 00 00 08 +T 34 00 00 00 EB 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 02 00 02 0B 02 00 +T 3A 00 00 00 CD 00 00 00 00 DD 6E 02 DD 66 03 +R 00 00 01 00 02 05 00 00 +T 43 00 00 00 23 23 79 2F A6 77 E6 30 20 08 R 00 00 01 00 -T 45 00 00 00 +T 4D 00 00 00 R 00 00 01 00 -T 45 00 00 00 DD 6E 02 DD 66 03 36 05 +T 4D 00 00 00 DD 6E 02 DD 66 03 36 05 R 00 00 01 00 -T 4D 00 00 00 +T 55 00 00 00 R 00 00 01 00 -T 4D 00 00 00 21 04 00 DD 4E FE DD 46 FF 09 DD +T 55 00 00 00 21 04 00 DD 4E FE DD 46 FF 09 DD R 00 00 01 00 -T 58 00 00 00 7E 04 2F A6 77 59 50 3E +T 60 00 00 00 7E 04 2F A6 77 59 50 3E R 00 00 01 00 -T 60 00 00 00 00 00 00 00 21 00 00 00 00 CD +T 68 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 65 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 09 03 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 4F 70 65 6E 00 -R 00 00 02 00 +T 6D 00 00 00 00 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 04 00 00 02 09 04 00 diff --git a/src/nos/lib/ppp_lib/pap_proc.rel b/src/nos/lib/ppp_lib/pap_proc.rel index 7e3963d7..89a55c9c 100644 --- a/src/nos/lib/ppp_lib/pap_proc.rel +++ b/src/nos/lib/ppp_lib/pap_proc.rel @@ -1,249 +1,254 @@ XL4 -H 3 areas 16 global symbols +H 2 areas 1C global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _trim_mbuf Ref00000000 S _stop_timer Ref00000000 +S __fsm_log Ref00000000 +S __trace_log Ref00000000 S _pap_opening Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _alert Ref00000000 +S ___getfail Ref00000000 S _pap_check Ref00000000 S .__.ABS. Def00000000 S _free Ref00000000 -S _fsm_log Ref00000000 +S __gettext Ref00000000 S _PPPiface Ref00000000 S _pap_request Ref00000000 S _ksignal Ref00000000 +S ___0168_8bd6__25s_20PPP_2f_25s_2 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 +S ?S_MUL_L02 Ref00000000 S _ntohcnf Ref00000000 S ?SS_CMP_L02 Ref00000000 S _free_p Ref00000000 +S ___016d_a115__25s_20PPP_2fPap_20 Ref00000000 S _fsmCodes Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___068b_ed19_short_20authenticat Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 242 flags 0 +A CODE size 29C flags 0 S _pap_proc Def00000000 -A CSTR size 7D flags 0 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF 21 1C 00 DD -R 00 00 01 00 02 05 0D 00 +T 00 00 00 00 CD 00 00 00 00 F8 FF 21 1C 00 DD +R 00 00 01 00 02 05 11 00 T 09 00 00 00 5E 02 DD 56 03 19 7E 23 66 6F DD R 00 00 01 00 -T 14 00 00 00 75 FA DD 74 FB 21 08 00 19 7E 23 +T 14 00 00 00 75 F8 DD 74 F9 21 08 00 19 7E 23 R 00 00 01 00 T 1F 00 00 00 66 6F 01 05 00 09 4E 06 00 ED 43 R 00 00 01 00 T 2A 00 00 00 00 00 00 00 21 08 00 19 7E 23 66 -R 00 00 01 00 02 04 14 00 +R 00 00 01 00 02 04 1A 00 T 33 00 00 00 6F 46 23 66 68 22 00 00 00 00 DD -R 00 00 01 00 02 0A 0A 00 +R 00 00 01 00 02 0A 0D 00 T 3C 00 00 00 4E 04 DD 46 05 21 02 00 39 5D 54 R 00 00 01 00 T 47 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0F 00 02 0A 0F 00 -T 4D 00 00 00 00 00 00 00 7D A4 3C 20 11 +R 00 00 01 00 2B 05 13 00 02 0A 13 00 +T 4D 00 00 00 00 00 00 00 7D A4 3C 20 17 R 00 00 01 00 02 04 00 00 T 54 00 00 00 R 00 00 01 00 -T 54 00 00 00 01 00 00 00 00 DD 5E 02 DD 56 03 -R 00 00 01 00 00 05 02 00 -T 5D 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 09 00 02 0A 09 00 -T 63 00 00 00 00 00 00 00 +T 54 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 19 00 02 0B 19 00 +T 5A 00 00 00 E5 DD 5E 02 DD 56 03 3E +R 00 00 01 00 +T 62 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 67 00 00 00 00 00 00 00 E1 E1 R 00 00 01 00 02 04 00 00 -T 65 00 00 00 +T 6B 00 00 00 +R 00 00 01 00 +T 6B 00 00 00 ED 4B 00 00 00 00 21 01 00 CD +R 00 00 01 00 02 06 1A 00 +T 73 00 00 00 00 00 00 00 D2 1B 01 00 00 +R 00 00 01 00 02 04 14 00 00 09 01 00 +T 78 00 00 00 +R 00 00 01 00 +T 78 00 00 00 DD 4E FA 06 00 11 03 00 CD +R 00 00 01 00 +T 81 00 00 00 00 00 00 00 21 00 00 00 00 19 5E +R 00 00 01 00 02 04 12 00 02 09 17 00 +T 88 00 00 00 23 56 23 4E 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0C 00 +T 8F 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 0C 00 02 09 00 00 +T 96 00 00 00 FE DD 74 FF 7D B4 20 1F R 00 00 01 00 -T 65 00 00 00 ED 4B 00 00 00 00 21 01 00 CD -R 00 00 01 00 02 06 14 00 -T 6D 00 00 00 00 00 00 00 30 54 -R 00 00 01 00 02 04 10 00 -T 71 00 00 00 +T 9E 00 00 00 R 00 00 01 00 -T 71 00 00 00 DD 6E FE DD 66 FF E5 DD 4E FD 06 +T 9E 00 00 00 DD 4E FA 06 00 11 03 00 CD R 00 00 01 00 -T 7C 00 00 00 00 C5 DD 6E FC 26 00 29 01 +T A7 00 00 00 00 00 00 00 21 00 00 00 00 19 5E +R 00 00 01 00 02 04 12 00 02 09 17 00 +T AE 00 00 00 23 56 23 4E 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 08 00 +T B5 00 00 00 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 04 08 00 02 09 00 00 +T BB 00 00 00 99 02 00 00 +R 00 00 01 00 00 04 01 00 +T BD 00 00 00 R 00 00 01 00 -T 85 00 00 00 00 00 00 00 09 4E 23 46 C5 21 -R 00 00 01 00 02 04 12 00 -T 8D 00 00 00 1A 00 DD 4E 02 DD 46 03 09 7E 23 +T BD 00 00 00 DD 6E FC DD 66 FD E5 DD 4E FB 06 R 00 00 01 00 -T 98 00 00 00 66 6F 5E 23 56 D5 21 08 00 09 7E +T C8 00 00 00 00 C5 DD 6E FE DD 66 FF E5 21 R 00 00 01 00 -T A3 00 00 00 23 66 6F 46 23 66 68 23 23 4E 23 +T D2 00 00 00 1A 00 DD 4E 02 DD 46 03 09 7E 23 R 00 00 01 00 -T AE 00 00 00 46 C5 21 1C 00 00 00 E5 2A -R 00 00 01 00 00 07 02 00 -T B5 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 2B 0A 0E 00 -T BB 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0E 00 02 09 00 00 -T C1 00 00 00 0E 00 39 F9 +T DD 00 00 00 66 6F 5E 23 56 D5 21 08 00 09 7E R 00 00 01 00 -T C5 00 00 00 +T E8 00 00 00 23 66 6F 46 23 66 68 23 23 4E 23 R 00 00 01 00 -T C5 00 00 00 21 04 00 39 7E D6 04 77 23 7E DE +T F3 00 00 00 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 07 10 00 +T F9 00 00 00 00 00 00 00 E5 2A 00 00 00 00 E5 +R 00 00 01 00 02 04 10 00 02 0A 0D 00 +T 00 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 04 00 02 0A 04 00 +T 06 01 00 00 00 00 00 00 21 10 00 39 F9 DD 5E +R 00 00 01 00 02 04 00 00 +T 0F 01 00 00 FE DD 56 FF 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0B 00 +T 16 01 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 0B 00 02 09 00 00 +T 1B 01 00 00 R 00 00 01 00 -T D0 00 00 00 00 77 DD 4E FE DD 46 FF DD 5E 04 +T 1B 01 00 00 21 04 00 39 7E D6 04 77 23 7E DE R 00 00 01 00 -T DB 00 00 00 DD 56 05 3E 00 00 00 00 21 +T 26 01 00 00 00 77 DD 4E FC DD 46 FD DD 5E 04 +R 00 00 01 00 +T 31 01 00 00 DD 56 05 3E 00 00 00 00 21 R 00 00 01 00 2B 08 01 00 -T E1 00 00 00 00 00 00 00 CD 00 00 00 00 DD 7E +T 37 01 00 00 00 00 00 00 CD 00 00 00 00 DD 7E R 00 00 01 00 02 04 01 00 02 09 00 00 -T E8 00 00 00 FC FE 01 20 34 +T 3E 01 00 00 FA FE 01 20 34 R 00 00 01 00 -T ED 00 00 00 +T 43 01 00 00 R 00 00 01 00 -T ED 00 00 00 DD 6E 04 DD 66 05 E5 21 04 00 39 +T 43 01 00 00 DD 6E 04 DD 66 05 E5 21 04 00 39 R 00 00 01 00 -T F8 00 00 00 4D 44 DD 5E 02 DD 56 03 3E +T 4E 01 00 00 4D 44 DD 5E 02 DD 56 03 3E R 00 00 01 00 -T 01 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 -T 06 01 00 00 00 00 00 00 F1 7D B4 20 11 +T 57 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +T 5C 01 00 00 00 00 00 00 F1 7D B4 20 11 R 00 00 01 00 02 04 00 00 -T 0D 01 00 00 +T 63 01 00 00 R 00 00 01 00 -T 0D 01 00 00 01 10 00 DD 5E 02 DD 56 03 3E +T 63 01 00 00 01 10 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 -T 17 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 1C 01 00 00 00 00 00 00 +T 6D 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 72 01 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 1E 01 00 00 +T 74 01 00 00 R 00 00 01 00 -T 1E 01 00 00 C3 3F 02 00 00 +T 74 01 00 00 C3 99 02 00 00 R 00 00 01 00 00 05 01 00 -T 21 01 00 00 +T 77 01 00 00 R 00 00 01 00 -T 21 01 00 00 FE 02 20 4C DD 6E 04 DD 66 05 E5 +T 77 01 00 00 FE 02 20 4C DD 6E 04 DD 66 05 E5 R 00 00 01 00 -T 2C 01 00 00 21 04 00 39 4D 44 DD 5E 02 DD 56 +T 82 01 00 00 21 04 00 39 4D 44 DD 5E 02 DD 56 R 00 00 01 00 -T 37 01 00 00 03 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 06 00 02 0B 06 00 -T 3D 01 00 00 CD 00 00 00 00 F1 7D B4 20 29 +T 8D 01 00 00 03 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 09 00 02 0B 09 00 +T 93 01 00 00 CD 00 00 00 00 F1 7D B4 20 29 R 00 00 01 00 02 05 00 00 -T 45 01 00 00 +T 9B 01 00 00 R 00 00 01 00 -T 45 01 00 00 01 FF FF 21 06 00 DD 5E FA DD 56 +T 9B 01 00 00 01 FF FF 21 06 00 DD 5E F8 DD 56 R 00 00 01 00 -T 50 01 00 00 FB 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 05 00 -T 58 01 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 04 05 00 02 09 00 00 -T 5E 01 00 00 20 00 DD 5E 02 DD 56 03 3E +T A6 01 00 00 F9 19 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 07 00 +T AE 01 00 00 00 00 00 00 CD 00 00 00 00 01 +R 00 00 01 00 02 04 07 00 02 09 00 00 +T B4 01 00 00 20 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 -T 67 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 6C 01 00 00 00 00 00 00 +T BD 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T C2 01 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 6E 01 00 00 +T C4 01 00 00 R 00 00 01 00 -T 6E 01 00 00 C3 3F 02 00 00 +T C4 01 00 00 C3 99 02 00 00 R 00 00 01 00 00 05 01 00 -T 71 01 00 00 +T C7 01 00 00 R 00 00 01 00 -T 71 01 00 00 FE 03 C2 F6 01 00 00 DD 6E 04 DD +T C7 01 00 00 FE 03 C2 4C 02 00 00 DD 6E 04 DD R 00 00 01 00 00 07 01 00 -T 7A 01 00 00 66 05 E5 21 04 00 39 4D 44 DD 5E +T D0 01 00 00 66 05 E5 21 04 00 39 4D 44 DD 5E R 00 00 01 00 -T 85 01 00 00 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 06 00 -T 8C 01 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 06 00 02 09 00 00 -T 93 01 00 00 B4 20 5E +T DB 01 00 00 02 DD 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 09 00 +T E2 01 00 00 00 00 00 00 CD 00 00 00 00 F1 7D +R 00 00 01 00 02 04 09 00 02 09 00 00 +T E9 01 00 00 B4 20 5E R 00 00 01 00 -T 96 01 00 00 +T EC 01 00 00 R 00 00 01 00 -T 96 01 00 00 21 0A 00 DD 4E 02 DD 46 03 09 EB +T EC 01 00 00 21 0A 00 DD 4E 02 DD 46 03 09 EB R 00 00 01 00 -T A1 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD +T F7 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 02 00 02 0A 02 00 -T A7 01 00 00 00 00 00 00 DD 6E FA DD 66 FB 5E +T FD 01 00 00 00 00 00 00 DD 6E F8 DD 66 F9 5E R 00 00 01 00 02 04 00 00 -T B0 01 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 08 00 -T B5 01 00 00 00 00 00 00 CD 00 00 00 00 DD 6E -R 00 00 01 00 02 04 08 00 02 09 00 00 -T BC 01 00 00 FA DD 66 FB AF 77 23 77 DD 6E FA +T 06 02 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 0B 00 +T 0B 02 00 00 00 00 00 00 CD 00 00 00 00 DD 6E +R 00 00 01 00 02 04 0B 00 02 09 00 00 +T 12 02 00 00 F8 DD 66 F9 AF 77 23 77 DD 6E F8 R 00 00 01 00 -T C7 01 00 00 DD 66 FB 23 23 5E 23 56 3E +T 1D 02 00 00 DD 66 F9 23 23 5E 23 56 3E R 00 00 01 00 -T D0 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T D5 01 00 00 00 00 00 00 DD 6E FA DD 66 FB 23 +T 26 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +T 2B 02 00 00 00 00 00 00 DD 6E F8 DD 66 F9 23 R 00 00 01 00 02 04 00 00 -T DE 01 00 00 23 AF 77 23 77 01 01 00 DD 5E FA +T 34 02 00 00 23 AF 77 23 77 01 01 00 DD 5E F8 R 00 00 01 00 -T E9 01 00 00 DD 56 FB 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0C 00 -T EF 01 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 0C 00 02 09 00 00 -T F4 01 00 00 +T 3F 02 00 00 DD 56 F9 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 0F 00 +T 45 02 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 0F 00 02 09 00 00 +T 4A 02 00 00 R 00 00 01 00 -T F4 01 00 00 18 49 +T 4A 02 00 00 18 4D R 00 00 01 00 -T F6 01 00 00 +T 4C 02 00 00 R 00 00 01 00 -T F6 01 00 00 2A 00 00 00 00 7D B4 28 32 -R 00 00 01 00 02 05 14 00 -T FD 01 00 00 +T 4C 02 00 00 2A 00 00 00 00 7D B4 28 36 +R 00 00 01 00 02 05 1A 00 +T 53 02 00 00 R 00 00 01 00 -T FD 01 00 00 DD 4E FC 06 00 C5 21 08 00 DD 4E +T 53 02 00 00 DD 4E FA 06 00 C5 21 08 00 DD 4E R 00 00 01 00 -T 08 02 00 00 02 DD 46 03 09 7E 23 66 6F 46 23 +T 5E 02 00 00 02 DD 46 03 09 7E 23 66 6F 46 23 R 00 00 01 00 -T 13 02 00 00 66 68 23 23 4E 23 46 C5 21 +T 69 02 00 00 66 68 23 23 4E 23 46 C5 0E R 00 00 01 00 -T 1C 02 00 00 49 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 0A 00 -T 23 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 -T 29 02 00 00 00 00 00 00 E1 E1 E1 E1 -R 00 00 01 00 02 04 00 00 -T 2F 02 00 00 +T 72 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 16 00 02 0A 16 00 +T 78 02 00 00 2A 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 0D 00 2B 0B 04 00 +T 7E 02 00 00 21 00 00 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 05 04 00 02 0A 00 00 +T 85 02 00 00 E1 E1 E1 E1 R 00 00 01 00 -T 2F 02 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 11 00 -T 37 02 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 11 00 02 0A 00 00 -T 3E 02 00 00 00 +T 89 02 00 00 R 00 00 01 00 -T 3F 02 00 00 +T 89 02 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 +R 00 00 01 00 2B 0B 15 00 +T 91 02 00 00 21 00 00 00 00 CD 00 00 00 00 18 +R 00 00 01 00 02 05 15 00 02 0A 00 00 +T 98 02 00 00 00 R 00 00 01 00 -T 3F 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 73 68 6F 72 74 20 61 75 74 68 65 -R 00 00 02 00 -T 0B 00 00 00 6E 74 69 63 61 74 69 6F 6E 20 70 -R 00 00 02 00 -T 16 00 00 00 61 63 6B 65 74 00 -R 00 00 02 00 -T 1C 00 00 00 -R 00 00 02 00 -T 1C 00 00 00 25 73 20 50 50 50 2F 25 73 20 52 -R 00 00 02 00 -T 27 00 00 00 65 63 76 2C 20 20 6F 70 74 69 6F -R 00 00 02 00 -T 32 00 00 00 6E 3A 20 25 73 2C 20 69 64 3A 20 -R 00 00 02 00 -T 3D 00 00 00 25 64 2C 20 6C 65 6E 3A 20 25 64 -R 00 00 02 00 -T 48 00 00 00 00 -R 00 00 02 00 -T 49 00 00 00 -R 00 00 02 00 -T 49 00 00 00 25 73 20 50 50 50 2F 50 61 70 20 -R 00 00 02 00 -T 54 00 00 00 55 6E 6B 6E 6F 77 6E 20 70 61 63 -R 00 00 02 00 -T 5F 00 00 00 6B 65 74 20 74 79 70 65 3A 20 25 -R 00 00 02 00 -T 6A 00 00 00 64 3B 20 64 72 6F 70 70 69 6E 67 -R 00 00 02 00 -T 75 00 00 00 20 70 61 63 6B 65 74 00 -R 00 00 02 00 +T 99 02 00 00 +R 00 00 01 00 +T 99 02 00 00 +R 00 00 01 00 +T 99 02 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 06 00 diff --git a/src/nos/lib/ppp_lib/pap_remote.rel b/src/nos/lib/ppp_lib/pap_remote.rel index d2b039fc..d864b8a7 100644 --- a/src/nos/lib/ppp_lib/pap_remote.rel +++ b/src/nos/lib/ppp_lib/pap_remote.rel @@ -1,86 +1,83 @@ XL4 -H 3 areas D global symbols +H 3 areas E global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0621_c70c_pap_5fremote_28_29 Ref00000000 S _if_name Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S _free Ref00000000 S _pap_monitor Ref00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _newproc Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size DE flags 0 +A CODE size E2 flags 0 S _pap_remote Def00000000 -A CSTR size 12 flags 0 +A CSTR size 5 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF 21 24 00 DD -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 09 00 T 09 00 00 00 4E 02 DD 46 03 09 DD 75 FA DD 74 R 00 00 01 00 T 14 00 00 00 FB 11 1C 00 19 56 23 66 6A DD 75 R 00 00 01 00 T 1F 00 00 00 FC DD 74 FD 21 05 00 09 4E 06 00 R 00 00 01 00 -T 2A 00 00 00 ED 43 00 00 00 00 79 E6 80 28 12 -R 00 00 01 00 02 06 0B 00 +T 2A 00 00 00 ED 43 00 00 00 00 79 E6 80 28 16 +R 00 00 01 00 02 06 0C 00 T 33 00 00 00 R 00 00 01 00 -T 33 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 06 00 -T 3A 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 -T 40 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 45 00 00 00 +T 33 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 +T 39 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 08 00 +T 3F 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 44 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 49 00 00 00 R 00 00 01 00 -T 45 00 00 00 DD 6E FA DD 66 FB 36 02 DD 6E FA +T 49 00 00 00 DD 6E FA DD 66 FB 36 02 DD 6E FA R 00 00 01 00 -T 50 00 00 00 DD 66 FB 23 23 7E F6 20 77 21 +T 54 00 00 00 DD 66 FB 23 23 7E F6 20 77 21 R 00 00 01 00 -T 5A 00 00 00 04 00 DD 4E 02 DD 46 03 09 7E F6 +T 5E 00 00 00 04 00 DD 4E 02 DD 46 03 09 7E F6 R 00 00 01 00 -T 65 00 00 00 20 77 01 0D 00 00 00 DD 6E 02 DD +T 69 00 00 00 20 77 01 00 00 00 00 DD 6E 02 DD R 00 00 01 00 00 07 02 00 -T 6E 00 00 00 66 03 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 01 00 -T 76 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 01 00 02 09 00 00 -T 7D 00 00 00 FE DD 74 FF 21 06 00 DD 4E FC DD +T 72 00 00 00 66 03 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 02 00 +T 7A 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 02 00 02 09 00 00 +T 81 00 00 00 FE DD 74 FF 21 06 00 DD 4E FC DD R 00 00 01 00 -T 88 00 00 00 46 FD 09 E5 01 00 00 C5 DD 4E FA +T 8C 00 00 00 46 FD 09 E5 01 00 00 C5 DD 4E FA R 00 00 01 00 -T 93 00 00 00 DD 46 FB C5 DD 6E 02 DD 66 03 4E +T 97 00 00 00 DD 46 FB C5 DD 6E 02 DD 66 03 4E R 00 00 01 00 -T 9E 00 00 00 23 46 C5 21 00 00 E5 0E +T A2 00 00 00 23 46 C5 21 00 00 E5 0E R 00 00 01 00 -T A6 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 -T AC 00 00 00 01 00 02 DD 5E FE DD 56 FF 3E +T AA 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 07 00 02 0A 07 00 +T B0 00 00 00 01 00 02 DD 5E FE DD 56 FF 3E R 00 00 01 00 -T B6 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 -T BB 00 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB +T BA 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +T BF 00 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB R 00 00 01 00 02 04 00 00 -T C4 00 00 00 4D 44 E1 71 23 70 DD 5E FE DD 56 +T C8 00 00 00 4D 44 E1 71 23 70 DD 5E FE DD 56 R 00 00 01 00 -T CF 00 00 00 FF 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 04 00 02 0B 04 00 -T D5 00 00 00 CD 00 00 00 00 21 00 00 C3 +T D3 00 00 00 FF 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 06 00 02 0B 06 00 +T D9 00 00 00 CD 00 00 00 00 21 00 00 C3 R 00 00 01 00 02 05 00 00 -T DC 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 +T E0 00 00 00 00 00 00 00 +R 00 00 01 00 02 04 04 00 T 00 00 00 00 R 00 00 02 00 -T 00 00 00 00 70 61 70 5F 72 65 6D 6F 74 65 28 -R 00 00 02 00 -T 0B 00 00 00 29 00 -R 00 00 02 00 -T 0D 00 00 00 -R 00 00 02 00 -T 0D 00 00 00 20 50 41 50 00 +T 00 00 00 00 20 50 41 50 00 R 00 00 02 00 diff --git a/src/nos/lib/ppp_lib/pap_request.rel b/src/nos/lib/ppp_lib/pap_request.rel index df1f3661..25a00fd7 100644 --- a/src/nos/lib/ppp_lib/pap_request.rel +++ b/src/nos/lib/ppp_lib/pap_request.rel @@ -1,18 +1,21 @@ XL4 -H 3 areas 14 global symbols +H 3 areas 17 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _qdata Ref00000000 S _fsm_send Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _strlen Ref00000000 S _strdupw Ref00000000 +S ___0068_232a__20_20_20_20checkin Ref00000000 S _pap_shutdown Ref00000000 S .__.ABS. Def00000000 S _free Ref00000000 +S ___0622_1122_pap_5frequest_28_29 Ref00000000 S _PPPiface Ref00000000 +S ___0067_c499__20_20_20_20checkin Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _mallocw Ref00000000 -S _trace_log Ref00000000 S ?SS_CMP_L02 Ref00000000 S _free_p Ref00000000 S _pull8 Ref00000000 @@ -20,274 +23,260 @@ S _pap_verify Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 2AF flags 0 +A CODE size 2BB flags 0 S _pap_request Def00000000 -A CSTR size 65 flags 0 +A CSTR size 27 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 EC FF AF DD 77 F4 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0E 00 T 09 00 00 00 DD 77 F5 AF DD 77 F8 DD 77 F9 3A R 00 00 01 00 -T 14 00 00 00 00 00 00 00 E6 80 28 12 -R 00 00 01 00 02 04 12 00 +T 14 00 00 00 00 00 00 00 E6 80 28 16 +R 00 00 01 00 02 04 15 00 T 1A 00 00 00 R 00 00 01 00 -T 1A 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 09 00 -T 21 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 -T 27 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 2C 00 00 00 +T 1A 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 +T 20 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 0C 00 +T 26 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 2B 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 30 00 00 00 R 00 00 01 00 -T 2C 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0F 00 -T 34 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0F 00 02 0A 00 00 -T 3B 00 00 00 75 F6 DD 74 F7 7D A4 3C 28 66 +T 30 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 12 00 +T 38 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 12 00 02 0A 00 00 +T 3F 00 00 00 75 F6 DD 74 F7 7D A4 3C 28 66 R 00 00 01 00 -T 45 00 00 00 +T 49 00 00 00 R 00 00 01 00 -T 45 00 00 00 DD 5E F6 DD 56 F7 13 3E +T 49 00 00 00 DD 5E F6 DD 56 F7 13 3E R 00 00 01 00 -T 4D 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 -T 52 00 00 00 00 00 00 00 DD 75 F4 DD 74 F5 DD +T 51 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0F 00 02 09 0F 00 +T 56 00 00 00 00 00 00 00 DD 75 F4 DD 74 F5 DD R 00 00 01 00 02 04 00 00 -T 5B 00 00 00 75 FE DD 74 FF DD 6E F6 DD 66 F7 +T 5F 00 00 00 75 FE DD 74 FF DD 6E F6 DD 66 F7 R 00 00 01 00 -T 66 00 00 00 DD 75 FC DD 74 FD +T 6A 00 00 00 DD 75 FC DD 74 FD R 00 00 01 00 -T 6C 00 00 00 +T 70 00 00 00 R 00 00 01 00 -T 6C 00 00 00 DD 4E FC DD 46 FD 0B DD 71 FC DD +T 70 00 00 00 DD 4E FC DD 46 FD 0B DD 71 FC DD R 00 00 01 00 -T 77 00 00 00 70 FD 03 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 0D 00 -T 80 00 00 00 30 21 +T 7B 00 00 00 70 FD 03 21 00 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 10 00 +T 84 00 00 00 30 21 R 00 00 01 00 -T 82 00 00 00 +T 86 00 00 00 R 00 00 01 00 -T 82 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0F 00 -T 8A 00 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 0F 00 02 0A 00 00 -T 91 00 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD +T 86 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 12 00 +T 8E 00 00 00 21 00 00 00 00 CD 00 00 00 00 E5 +R 00 00 01 00 02 05 12 00 02 0A 00 00 +T 95 00 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD R 00 00 01 00 -T 9C 00 00 00 74 FF 2B C1 71 18 C9 +T A0 00 00 00 74 FF 2B C1 71 18 C9 R 00 00 01 00 -T A3 00 00 00 +T A7 00 00 00 R 00 00 01 00 -T A3 00 00 00 DD 6E FE DD 66 FF 36 00 +T A7 00 00 00 DD 6E FE DD 66 FF 36 00 R 00 00 01 00 -T AB 00 00 00 +T AF 00 00 00 R 00 00 01 00 -T AB 00 00 00 3A 00 00 00 00 E6 08 28 1A -R 00 00 01 00 02 05 12 00 -T B2 00 00 00 +T AF 00 00 00 3A 00 00 00 00 E6 08 28 1E +R 00 00 01 00 02 05 15 00 +T B6 00 00 00 R 00 00 01 00 -T B2 00 00 00 DD 6E F4 DD 66 F5 E5 21 +T B6 00 00 00 DD 6E F4 DD 66 F5 E5 0E R 00 00 01 00 -T BA 00 00 00 0E 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 09 00 -T C1 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 -T C7 00 00 00 00 00 00 00 E1 E1 E1 -R 00 00 01 00 02 04 00 00 -T CC 00 00 00 +T BE 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 07 00 02 0A 07 00 +T C4 00 00 00 2A 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 0C 00 2B 0B 03 00 +T CA 00 00 00 21 00 00 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 05 03 00 02 0A 00 00 +T D1 00 00 00 E1 E1 E1 R 00 00 01 00 -T CC 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0F 00 -T D4 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0F 00 02 0A 00 00 -T DB 00 00 00 75 FA DD 74 FB 7D A4 3C 28 66 +T D4 00 00 00 R 00 00 01 00 -T E5 00 00 00 +T D4 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 12 00 +T DC 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 12 00 02 0A 00 00 +T E3 00 00 00 75 FA DD 74 FB 7D A4 3C 28 66 R 00 00 01 00 -T E5 00 00 00 DD 5E FA DD 56 FB 13 3E +T ED 00 00 00 R 00 00 01 00 -T ED 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 -T F2 00 00 00 00 00 00 00 DD 75 F8 DD 74 F9 DD +T ED 00 00 00 DD 5E FA DD 56 FB 13 3E +R 00 00 01 00 +T F5 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0F 00 02 09 0F 00 +T FA 00 00 00 00 00 00 00 DD 75 F8 DD 74 F9 DD R 00 00 01 00 02 04 00 00 -T FB 00 00 00 75 FE DD 74 FF DD 6E FA DD 66 FB +T 03 01 00 00 75 FE DD 74 FF DD 6E FA DD 66 FB R 00 00 01 00 -T 06 01 00 00 DD 75 FC DD 74 FD +T 0E 01 00 00 DD 75 FC DD 74 FD R 00 00 01 00 -T 0C 01 00 00 +T 14 01 00 00 R 00 00 01 00 -T 0C 01 00 00 DD 4E FC DD 46 FD 0B DD 71 FC DD +T 14 01 00 00 DD 4E FC DD 46 FD 0B DD 71 FC DD R 00 00 01 00 -T 17 01 00 00 70 FD 03 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 0D 00 -T 20 01 00 00 30 21 +T 1F 01 00 00 70 FD 03 21 00 00 CD 00 00 00 00 +R 00 00 01 00 02 0B 10 00 +T 28 01 00 00 30 21 R 00 00 01 00 -T 22 01 00 00 +T 2A 01 00 00 R 00 00 01 00 -T 22 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0F 00 -T 2A 01 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 0F 00 02 0A 00 00 -T 31 01 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD +T 2A 01 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 12 00 +T 32 01 00 00 21 00 00 00 00 CD 00 00 00 00 E5 +R 00 00 01 00 02 05 12 00 02 0A 00 00 +T 39 01 00 00 DD 6E FE DD 66 FF 23 DD 75 FE DD R 00 00 01 00 -T 3C 01 00 00 74 FF 2B C1 71 18 C9 +T 44 01 00 00 74 FF 2B C1 71 18 C9 R 00 00 01 00 -T 43 01 00 00 +T 4B 01 00 00 R 00 00 01 00 -T 43 01 00 00 DD 6E FE DD 66 FF 36 00 +T 4B 01 00 00 DD 6E FE DD 66 FF 36 00 R 00 00 01 00 -T 4B 01 00 00 +T 53 01 00 00 R 00 00 01 00 -T 4B 01 00 00 3A 00 00 00 00 E6 08 28 1A -R 00 00 01 00 02 05 12 00 -T 52 01 00 00 +T 53 01 00 00 3A 00 00 00 00 E6 08 28 1E +R 00 00 01 00 02 05 15 00 +T 5A 01 00 00 R 00 00 01 00 -T 52 01 00 00 DD 6E F8 DD 66 F9 E5 21 +T 5A 01 00 00 DD 6E F8 DD 66 F9 E5 0E R 00 00 01 00 -T 5A 01 00 00 24 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 09 00 -T 61 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 -T 67 01 00 00 00 00 00 00 E1 E1 E1 -R 00 00 01 00 02 04 00 00 -T 6C 01 00 00 +T 62 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 0D 00 02 0A 0D 00 +T 68 01 00 00 2A 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 0C 00 2B 0B 03 00 +T 6E 01 00 00 21 00 00 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 05 03 00 02 0A 00 00 +T 75 01 00 00 E1 E1 E1 R 00 00 01 00 -T 6C 01 00 00 DD 4E F8 DD 46 F9 DD 5E F4 DD 56 +T 78 01 00 00 R 00 00 01 00 -T 77 01 00 00 F5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 10 00 02 0B 10 00 -T 7D 01 00 00 CD 00 00 00 00 7D B4 20 50 +T 78 01 00 00 DD 4E F8 DD 46 F9 DD 5E F4 DD 56 +R 00 00 01 00 +T 83 01 00 00 F5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 13 00 02 0B 13 00 +T 89 01 00 00 CD 00 00 00 00 7D B4 20 50 R 00 00 01 00 02 05 00 00 -T 84 01 00 00 +T 90 01 00 00 R 00 00 01 00 -T 84 01 00 00 21 08 00 DD 4E 02 DD 46 03 09 56 +T 90 01 00 00 21 08 00 DD 4E 02 DD 46 03 09 56 R 00 00 01 00 -T 8F 01 00 00 23 66 6A 11 64 00 19 5E 23 56 3E +T 9B 01 00 00 23 66 6A 11 64 00 19 5E 23 56 3E R 00 00 01 00 -T 9A 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T 9F 01 00 00 00 00 00 00 21 08 00 09 46 23 66 +T A6 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +T AB 01 00 00 00 00 00 00 21 08 00 09 46 23 66 R 00 00 01 00 02 04 00 00 -T A8 01 00 00 68 01 64 00 09 E5 DD 5E F4 DD 56 +T B4 01 00 00 68 01 64 00 09 E5 DD 5E F4 DD 56 R 00 00 01 00 -T B3 01 00 00 F5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 -T B9 01 00 00 CD 00 00 00 00 4D 44 E1 71 23 70 +T BF 01 00 00 F5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 06 00 02 0B 06 00 +T C5 01 00 00 CD 00 00 00 00 4D 44 E1 71 23 70 R 00 00 01 00 02 05 00 00 -T C2 01 00 00 DD 36 EE 02 DD 36 EF 00 DD 36 F0 +T CE 01 00 00 DD 36 EE 02 DD 36 EF 00 DD 36 F0 R 00 00 01 00 -T CD 01 00 00 3E 00 00 00 DD 36 F1 3E 00 00 00 +T D9 01 00 00 00 00 00 00 DD 36 F1 00 00 00 00 R 00 00 01 00 09 04 02 00 89 0B 02 00 -T D2 01 00 00 18 10 +T DE 01 00 00 18 10 R 00 00 01 00 -T D4 01 00 00 +T E0 01 00 00 R 00 00 01 00 -T D4 01 00 00 DD 36 EE 03 DD 36 EF 00 DD 36 F0 +T E0 01 00 00 DD 36 EE 03 DD 36 EF 00 DD 36 F0 R 00 00 01 00 -T DF 01 00 00 47 00 00 00 DD 36 F1 47 00 00 00 +T EB 01 00 00 09 00 00 00 DD 36 F1 09 00 00 00 R 00 00 01 00 09 04 02 00 89 0B 02 00 -T E4 01 00 00 +T F0 01 00 00 R 00 00 01 00 -T E4 01 00 00 DD 5E F0 DD 56 F1 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 -T EC 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 04 00 02 0A 00 00 -T F3 01 00 00 75 F2 DD 74 F3 4D 44 DD 5E F0 DD +T F0 01 00 00 DD 5E F0 DD 56 F1 3E 00 00 00 00 +R 00 00 01 00 2B 0B 05 00 +T F8 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 05 00 02 0A 00 00 +T FF 01 00 00 75 F2 DD 74 F3 4D 44 DD 5E F0 DD R 00 00 01 00 -T FE 01 00 00 56 F1 3E 00 00 00 00 21 +T 0A 02 00 00 56 F1 3E 00 00 00 00 21 R 00 00 01 00 2B 07 01 00 -T 03 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +T 0F 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 01 00 02 09 00 00 -T 0A 02 00 00 EC DD 74 ED 01 0A 00 09 7E 23 66 +T 16 02 00 00 EC DD 74 ED 01 0A 00 09 7E 23 66 R 00 00 01 00 -T 15 02 00 00 6F DD 7E F2 C6 FF 77 21 00 00 39 +T 21 02 00 00 6F DD 7E F2 C6 FF 77 21 00 00 39 R 00 00 01 00 -T 20 02 00 00 E5 DD 6E 04 DD 66 05 23 4E C5 DD +T 2C 02 00 00 E5 DD 6E 04 DD 66 05 23 4E C5 DD R 00 00 01 00 -T 2B 02 00 00 4E EE DD 5E 02 DD 56 03 3E +T 37 02 00 00 4E EE DD 5E 02 DD 56 03 3E R 00 00 01 00 -T 34 02 00 00 00 00 00 00 21 00 00 00 00 CD +T 40 02 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 39 02 00 00 00 00 00 00 F1 F1 3E 03 DD AE EE +T 45 02 00 00 00 00 00 00 F1 F1 3E 03 DD AE EE R 00 00 01 00 02 04 00 00 -T 42 02 00 00 DD B6 EF 20 29 +T 4E 02 00 00 DD B6 EF 20 29 R 00 00 01 00 -T 47 02 00 00 +T 53 02 00 00 R 00 00 01 00 -T 47 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 7E +T 53 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 52 02 00 00 B7 28 0D +T 5E 02 00 00 B7 28 0D R 00 00 01 00 -T 55 02 00 00 +T 61 02 00 00 R 00 00 01 00 -T 55 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 35 +T 61 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 35 R 00 00 01 00 -T 60 02 00 00 18 0E +T 6C 02 00 00 18 0E R 00 00 01 00 -T 62 02 00 00 +T 6E 02 00 00 R 00 00 01 00 -T 62 02 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 06 00 -T 6A 02 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 06 00 02 0A 00 00 -T 70 02 00 00 +T 6E 02 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 08 00 +T 76 02 00 00 21 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 08 00 02 0A 00 00 +T 7C 02 00 00 R 00 00 01 00 -T 70 02 00 00 +T 7C 02 00 00 R 00 00 01 00 -T 70 02 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 -T 78 02 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0E 00 02 0A 00 00 -T 7F 02 00 00 5E F4 DD 56 F5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 -T 87 02 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 08 00 02 09 00 00 -T 8E 02 00 00 F8 DD 56 F9 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 08 00 -T 95 02 00 00 00 00 00 00 CD 00 00 00 00 3E 02 -R 00 00 01 00 02 04 08 00 02 09 00 00 -T 9C 02 00 00 DD AE EE DD B6 EF 28 04 2E 01 18 +T 7C 02 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 11 00 +T 84 02 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 11 00 02 0A 00 00 +T 8B 02 00 00 5E F4 DD 56 F5 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0A 00 +T 93 02 00 00 00 00 00 00 CD 00 00 00 00 DD 5E +R 00 00 01 00 02 04 0A 00 02 09 00 00 +T 9A 02 00 00 F8 DD 56 F9 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0A 00 +T A1 02 00 00 00 00 00 00 CD 00 00 00 00 3E 02 +R 00 00 01 00 02 04 0A 00 02 09 00 00 +T A8 02 00 00 DD AE EE DD B6 EF 28 04 2E 01 18 R 00 00 01 00 -T A7 02 00 00 02 +T B3 02 00 00 02 R 00 00 01 00 -T A8 02 00 00 +T B4 02 00 00 R 00 00 01 00 -T A8 02 00 00 2E 00 +T B4 02 00 00 2E 00 R 00 00 01 00 -T AA 02 00 00 +T B6 02 00 00 R 00 00 01 00 -T AA 02 00 00 26 00 C3 00 00 00 00 -R 00 00 01 00 02 07 03 00 +T B6 02 00 00 26 00 C3 00 00 00 00 +R 00 00 01 00 02 07 04 00 T 00 00 00 00 R 00 00 02 00 -T 00 00 00 00 70 61 70 5F 72 65 71 75 65 73 74 -R 00 00 02 00 -T 0B 00 00 00 28 29 00 -R 00 00 02 00 -T 0E 00 00 00 -R 00 00 02 00 -T 0E 00 00 00 20 20 20 20 63 68 65 63 6B 69 6E -R 00 00 02 00 -T 19 00 00 00 67 20 75 73 65 72 3A 20 25 73 00 -R 00 00 02 00 -T 24 00 00 00 -R 00 00 02 00 -T 24 00 00 00 20 20 20 20 63 68 65 63 6B 69 6E -R 00 00 02 00 -T 2F 00 00 00 67 20 70 61 73 73 77 6F 72 64 3A -R 00 00 02 00 -T 3A 00 00 00 20 25 73 00 -R 00 00 02 00 -T 3E 00 00 00 -R 00 00 02 00 -T 3E 00 00 00 20 57 65 6C 63 6F 6D 65 00 +T 00 00 00 00 20 57 65 6C 63 6F 6D 65 00 R 00 00 02 00 -T 47 00 00 00 +T 09 00 00 00 R 00 00 02 00 -T 47 00 00 00 20 49 6E 76 61 6C 69 64 20 75 73 +T 09 00 00 00 20 49 6E 76 61 6C 69 64 20 75 73 R 00 00 02 00 -T 52 00 00 00 65 72 6E 61 6D 65 20 6F 72 20 70 +T 14 00 00 00 65 72 6E 61 6D 65 20 6F 72 20 70 R 00 00 02 00 -T 5D 00 00 00 61 73 73 77 6F 72 64 00 +T 1F 00 00 00 61 73 73 77 6F 72 64 00 R 00 00 02 00 diff --git a/src/nos/lib/ppp_lib/pap_shutdown.rel b/src/nos/lib/ppp_lib/pap_shutdown.rel index 76a7c62e..027d7327 100644 --- a/src/nos/lib/ppp_lib/pap_shutdown.rel +++ b/src/nos/lib/ppp_lib/pap_shutdown.rel @@ -1,71 +1,62 @@ XL4 -H 3 areas C global symbols +H 2 areas E global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S __fsm_log Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___02bb_8931_Failed_3b_20close_2 Ref00000000 S .__.ABS. Def00000000 -S _fsm_log Ref00000000 S _PPPiface Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 S ?SS_CMP_L02 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___0623_3ddd_pap_5fshutdown_28_2 Ref00000000 S _fsm_close Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 65 flags 0 +A CODE size 6F flags 0 S _pap_shutdown Def00000000 -A CSTR size 28 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 21 08 00 DD -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 07 00 T 09 00 00 00 4E 02 DD 46 03 09 46 23 66 68 DD R 00 00 01 00 T 14 00 00 00 75 FE DD 74 FF 3A 00 00 00 00 E6 -R 00 00 01 00 02 0A 0A 00 -T 1D 00 00 00 80 28 12 +R 00 00 01 00 02 0A 0C 00 +T 1D 00 00 00 80 28 16 R 00 00 01 00 T 20 00 00 00 R 00 00 01 00 -T 20 00 00 00 21 00 00 00 00 E5 2A 00 00 00 00 -R 00 00 01 00 00 05 02 00 02 0B 04 00 -T 27 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 06 00 02 0B 06 00 -T 2D 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 00 00 -T 32 00 00 00 +T 20 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 +T 26 00 00 00 E5 2A 00 00 00 00 E5 3E +R 00 00 01 00 02 06 06 00 +T 2C 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 02 00 02 09 02 00 +T 31 00 00 00 00 00 00 00 E1 E1 E1 +R 00 00 01 00 02 04 00 00 +T 36 00 00 00 +R 00 00 01 00 +T 36 00 00 00 ED 4B 00 00 00 00 21 01 00 CD +R 00 00 01 00 02 06 0C 00 +T 3E 00 00 00 00 00 00 00 30 17 +R 00 00 01 00 02 04 08 00 +T 42 00 00 00 R 00 00 01 00 -T 32 00 00 00 ED 4B 00 00 00 00 21 01 00 CD -R 00 00 01 00 02 06 0A 00 -T 3A 00 00 00 00 00 00 00 30 11 -R 00 00 01 00 02 04 07 00 -T 3E 00 00 00 +T 42 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 +T 48 00 00 00 E5 DD 5E 02 DD 56 03 3E R 00 00 01 00 -T 3E 00 00 00 01 0F 00 00 00 DD 5E 02 DD 56 03 -R 00 00 01 00 00 05 02 00 -T 47 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 -T 4D 00 00 00 00 00 00 00 +T 50 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 01 00 02 09 01 00 +T 55 00 00 00 00 00 00 00 E1 E1 R 00 00 01 00 02 04 00 00 -T 4F 00 00 00 +T 59 00 00 00 R 00 00 01 00 -T 4F 00 00 00 21 06 00 DD 4E FE DD 46 FF 09 EB +T 59 00 00 00 21 06 00 DD 4E FE DD 46 FF 09 EB R 00 00 01 00 -T 5A 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 09 00 02 0A 09 00 -T 60 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 09 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 70 61 70 5F 73 68 75 74 64 6F 77 -R 00 00 02 00 -T 0B 00 00 00 6E 28 29 00 -R 00 00 02 00 -T 0F 00 00 00 -R 00 00 02 00 -T 0F 00 00 00 46 61 69 6C 65 64 3B 20 63 6C 6F -R 00 00 02 00 -T 1A 00 00 00 73 65 20 63 6F 6E 6E 65 63 74 69 -R 00 00 02 00 -T 25 00 00 00 6F 6E 00 -R 00 00 02 00 +T 64 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0B 00 02 0A 0B 00 +T 6A 00 00 00 00 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 04 00 00 02 09 03 00 diff --git a/src/nos/lib/ppp_lib/pap_timeout.rel b/src/nos/lib/ppp_lib/pap_timeout.rel index 973b7ea4..66fa0185 100644 --- a/src/nos/lib/ppp_lib/pap_timeout.rel +++ b/src/nos/lib/ppp_lib/pap_timeout.rel @@ -1,26 +1,28 @@ XL4 -H 3 areas E global symbols +H 2 areas 11 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___03e8_8d50_Request_20retry_20e Ref00000000 +S __fsm_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S _strdupw Ref00000000 S _pap_shutdown Ref00000000 S .__.ABS. Def00000000 S _kwait Ref00000000 S _free Ref00000000 -S _fsm_log Ref00000000 +S __gettext Ref00000000 +S ___03e9_7be8_Request_20timeout Ref00000000 S _PPPiface Ref00000000 S _ksignal Ref00000000 +S ___0435_12d5_Timeout Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _PPPtrace Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 10A flags 0 +A CODE size 118 flags 0 S _pap_timeout Def00000000 -A CSTR size 2F flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0D 00 T 09 00 00 00 66 03 DD 75 FC DD 74 FD 01 1C 00 R 00 00 01 00 T 14 00 00 00 09 46 23 66 68 DD 75 FE DD 74 FF @@ -30,88 +32,76 @@ R 00 00 01 00 T 2A 00 00 00 23 66 6A 11 05 00 19 5E 16 00 ED R 00 00 01 00 T 35 00 00 00 53 00 00 00 00 21 08 00 09 7E 23 -R 00 00 01 00 02 05 0C 00 +R 00 00 01 00 02 05 0F 00 T 3E 00 00 00 66 6F 56 23 66 6A 22 00 00 00 00 -R 00 00 01 00 02 0B 08 00 -T 47 00 00 00 01 00 00 00 00 DD 5E FC DD 56 FD -R 00 00 01 00 00 05 02 00 -T 50 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 -T 56 00 00 00 00 00 00 00 DD 6E FC DD 66 FD 23 -R 00 00 01 00 02 04 00 00 -T 5F 00 00 00 23 23 7E B7 28 3D +R 00 00 01 00 02 0B 0A 00 +T 47 00 00 00 1E 00 00 00 00 D5 21 00 00 00 00 +R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 +T 4D 00 00 00 E5 59 50 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 02 00 +T 53 00 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 02 00 02 09 00 00 +T 5A 00 00 00 DD 6E FC DD 66 FD 23 23 23 7E B7 R 00 00 01 00 -T 65 00 00 00 +T 65 00 00 00 28 40 R 00 00 01 00 -T 65 00 00 00 21 04 00 DD 4E FE DD 46 FF 09 5E +T 67 00 00 00 R 00 00 01 00 -T 70 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 06 00 -T 75 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 06 00 02 09 00 00 -T 7B 00 00 00 04 00 09 E5 11 08 00 00 00 3E -R 00 00 01 00 00 09 02 00 -T 83 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 88 00 00 00 00 00 00 00 EB E1 73 23 72 01 -R 00 00 01 00 02 04 00 00 -T 90 00 00 00 01 00 DD 5E FE DD 56 FF 3E +T 67 00 00 00 21 04 00 DD 4E FE DD 46 FF 09 5E R 00 00 01 00 -T 99 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T 9E 00 00 00 00 00 00 00 18 65 -R 00 00 01 00 02 04 00 00 -T A2 00 00 00 +T 72 00 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 07 00 +T 77 00 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 07 00 02 09 00 00 +T 7D 00 00 00 04 00 09 E5 0E 00 00 00 00 11 +R 00 00 01 00 2B 09 09 00 +T 84 00 00 00 00 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 02 04 09 00 2B 09 08 00 +T 89 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 +R 00 00 01 00 02 04 08 00 02 09 00 00 +T 90 00 00 00 E1 71 23 70 01 01 00 DD 5E FE DD R 00 00 01 00 -T A2 00 00 00 21 04 00 DD 4E FE DD 46 FF 09 5E +T 9B 00 00 00 56 FF 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 0B 00 +T A0 00 00 00 00 00 00 00 CD 00 00 00 00 18 6E +R 00 00 01 00 02 04 0B 00 02 09 00 00 +T A7 00 00 00 R 00 00 01 00 -T AD 00 00 00 23 56 3E 00 00 00 00 21 +T A7 00 00 00 21 04 00 DD 4E FE DD 46 FF 09 5E +R 00 00 01 00 +T B2 00 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 07 00 +T B7 00 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 07 00 02 09 00 00 +T BD 00 00 00 04 00 09 E5 0E 00 00 00 00 11 +R 00 00 01 00 2B 09 01 00 +T C4 00 00 00 00 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 02 04 01 00 2B 09 08 00 +T C9 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 +R 00 00 01 00 02 04 08 00 02 09 00 00 +T D0 00 00 00 E1 71 23 70 01 01 00 DD 5E FE DD +R 00 00 01 00 +T DB 00 00 00 56 FF 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 0B 00 +T E0 00 00 00 00 00 00 00 CD 00 00 00 00 11 +R 00 00 01 00 02 04 0B 00 02 09 00 00 +T E6 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 2B 07 06 00 -T B2 00 00 00 00 00 00 00 CD 00 00 00 00 21 +T EB 00 00 00 00 00 00 00 CD 00 00 00 00 0E R 00 00 01 00 02 04 06 00 02 09 00 00 -T B8 00 00 00 04 00 09 E5 11 18 00 00 00 3E -R 00 00 01 00 00 09 02 00 -T C0 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T C5 00 00 00 00 00 00 00 EB E1 73 23 72 01 -R 00 00 01 00 02 04 00 00 -T CD 00 00 00 01 00 DD 5E FE DD 56 FF 3E +T F1 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 01 00 02 0A 01 00 +T F7 00 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 +R 00 00 01 00 2B 0B 02 00 +T FF 00 00 00 21 00 00 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 05 02 00 02 0A 00 00 +T 06 01 00 00 E1 DD 5E FC DD 56 FD 3E R 00 00 01 00 -T D6 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T DB 00 00 00 00 00 00 00 11 00 00 3E +T 0E 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 13 01 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T E1 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 -T E6 00 00 00 00 00 00 00 01 18 00 00 00 DD 5E -R 00 00 01 00 02 04 00 00 00 09 02 00 -T ED 00 00 00 FC DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 07 00 -T F4 00 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 07 00 02 09 00 00 -T FB 00 00 00 FC DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 03 00 -T 02 01 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 03 00 02 09 00 00 -T 07 01 00 00 +T 15 01 00 00 R 00 00 01 00 -T 07 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 54 69 6D 65 6F 75 74 00 -R 00 00 02 00 -T 08 00 00 00 -R 00 00 02 00 -T 08 00 00 00 52 65 71 75 65 73 74 20 74 69 6D -R 00 00 02 00 -T 13 00 00 00 65 6F 75 74 00 -R 00 00 02 00 -T 18 00 00 00 -R 00 00 02 00 -T 18 00 00 00 52 65 71 75 65 73 74 20 72 65 74 -R 00 00 02 00 -T 23 00 00 00 72 79 20 65 78 63 65 65 64 65 64 -R 00 00 02 00 -T 2E 00 00 00 00 -R 00 00 02 00 +T 15 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 03 00 diff --git a/src/nos/lib/ppp_lib/pap_verify.rel b/src/nos/lib/ppp_lib/pap_verify.rel index 927c0e73..2bc45550 100644 --- a/src/nos/lib/ppp_lib/pap_verify.rel +++ b/src/nos/lib/ppp_lib/pap_verify.rel @@ -1,100 +1,79 @@ XL4 -H 3 areas B global symbols +H 2 areas D global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S __trace_log Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _userlogin Ref00000000 S .__.ABS. Def00000000 S _free Ref00000000 S _PPPiface Ref00000000 +S ___039b_02ce_PAP_3a_20username_2 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _mallocw Ref00000000 -S _trace_log Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___039a_e6d7_PAP_3a_20no_20permi Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size AB flags 0 +A CODE size B3 flags 0 S _pap_verify Def00000000 -A CSTR size 58 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF AF DD 77 FE -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 08 00 T 09 00 00 00 DD 77 FF 11 80 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 +R 00 00 01 00 2B 0B 09 00 T 11 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 07 00 02 0A 00 00 +R 00 00 01 00 02 05 09 00 02 0A 00 00 T 18 00 00 00 75 FC DD 74 FD 21 04 00 39 E5 21 R 00 00 01 00 T 23 00 00 00 80 00 E5 21 06 00 39 E5 DD 5E 02 R 00 00 01 00 T 2E 00 00 00 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 02 00 +R 00 00 01 00 2B 08 03 00 T 34 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 02 00 02 09 00 00 +R 00 00 01 00 02 04 03 00 02 09 00 00 T 3B 00 00 00 F1 DD 75 FA DD 74 FB DD 5E FC DD R 00 00 01 00 T 46 00 00 00 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 04 00 +R 00 00 01 00 2B 07 05 00 T 4B 00 00 00 00 00 00 00 CD 00 00 00 00 DD 7E -R 00 00 01 00 02 04 04 00 02 09 00 00 -T 52 00 00 00 FA DD A6 FB 3C 20 1F +R 00 00 01 00 02 04 05 00 02 09 00 00 +T 52 00 00 00 FA DD A6 FB 3C 20 23 R 00 00 01 00 T 59 00 00 00 R 00 00 01 00 -T 59 00 00 00 DD 6E 02 DD 66 03 E5 21 +T 59 00 00 00 DD 6E 02 DD 66 03 E5 0E R 00 00 01 00 -T 61 00 00 00 00 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 05 00 -T 68 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 08 00 02 0A 08 00 -T 6E 00 00 00 00 00 00 00 E1 E1 E1 21 FF FF 18 -R 00 00 01 00 02 04 00 00 -T 77 00 00 00 30 +T 61 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 07 00 02 0A 07 00 +T 67 00 00 00 2A 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 06 00 2B 0B 01 00 +T 6D 00 00 00 21 00 00 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 05 01 00 02 0A 00 00 +T 74 00 00 00 E1 E1 E1 21 FF FF 18 34 R 00 00 01 00 -T 78 00 00 00 +T 7C 00 00 00 R 00 00 01 00 -T 78 00 00 00 DD 7E FA E6 00 47 DD 7E FB E6 01 +T 7C 00 00 00 DD 7E FA E6 00 47 DD 7E FB E6 01 R 00 00 01 00 -T 83 00 00 00 B0 20 1F +T 87 00 00 00 B0 20 23 R 00 00 01 00 -T 86 00 00 00 +T 8A 00 00 00 R 00 00 01 00 -T 86 00 00 00 DD 6E 02 DD 66 03 E5 21 +T 8A 00 00 00 DD 6E 02 DD 66 03 E5 0E R 00 00 01 00 -T 8E 00 00 00 32 00 00 00 E5 2A 00 00 00 00 E5 -R 00 00 01 00 00 04 02 00 02 0A 05 00 -T 95 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 08 00 02 0A 08 00 -T 9B 00 00 00 00 00 00 00 E1 E1 E1 21 FF FF 18 -R 00 00 01 00 02 04 00 00 -T A4 00 00 00 03 +T 92 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 0B 00 02 0A 0B 00 +T 98 00 00 00 2A 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 06 00 2B 0B 01 00 +T 9E 00 00 00 21 00 00 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 05 01 00 02 0A 00 00 +T A5 00 00 00 E1 E1 E1 21 FF FF 18 03 R 00 00 01 00 -T A5 00 00 00 +T AD 00 00 00 R 00 00 01 00 -T A5 00 00 00 21 00 00 +T AD 00 00 00 21 00 00 R 00 00 01 00 -T A8 00 00 00 +T B0 00 00 00 R 00 00 01 00 -T A8 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 50 41 50 3A 20 75 73 65 72 6E 61 -R 00 00 02 00 -T 0B 00 00 00 6D 65 2F 70 61 73 73 77 6F 72 64 -R 00 00 02 00 -T 16 00 00 00 20 69 6E 63 6F 72 72 65 63 74 20 -R 00 00 02 00 -T 21 00 00 00 6F 72 20 6E 6F 74 20 66 6F 75 6E -R 00 00 02 00 -T 2C 00 00 00 64 3A 20 25 73 00 -R 00 00 02 00 -T 32 00 00 00 -R 00 00 02 00 -T 32 00 00 00 50 41 50 3A 20 6E 6F 20 70 65 72 -R 00 00 02 00 -T 3D 00 00 00 6D 69 73 73 69 6F 6E 20 66 6F 72 -R 00 00 02 00 -T 48 00 00 00 20 50 50 50 20 61 63 63 65 73 73 -R 00 00 02 00 -T 53 00 00 00 3A 20 25 73 00 -R 00 00 02 00 +T B0 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/ppp_lib/ppp_error.rel b/src/nos/lib/ppp_lib/ppp_error.rel deleted file mode 100644 index 1bdc6bef..00000000 --- a/src/nos/lib/ppp_lib/ppp_error.rel +++ /dev/null @@ -1,26 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _ppp_log Ref00000000 -S _free_p Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 24 flags 0 -S _ppp_error Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 59 50 3E -R 00 00 01 00 02 05 03 00 -T 06 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 -T 0B 00 00 00 00 00 00 00 DD 4E 0A DD 46 0B DD -R 00 00 01 00 02 04 00 00 -T 14 00 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 04 00 -T 1C 00 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 04 00 02 09 00 00 -T 22 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 01 00 diff --git a/src/nos/lib/ppp_lib/ppp_init.rel b/src/nos/lib/ppp_lib/ppp_init.rel index 58c84fa4..de7a5497 100644 --- a/src/nos/lib/ppp_lib/ppp_init.rel +++ b/src/nos/lib/ppp_lib/ppp_init.rel @@ -1,7 +1,6 @@ XL4 -H 3 areas 14 global symbols +H 3 areas 13 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S _asy_ioctl Ref00000000 S _ppp_discard Ref00000000 S _ppp_echo Ref00000000 S _if_name Ref00000000 @@ -20,87 +19,83 @@ S _ppp_raw Ref00000000 S _newproc Ref00000000 S _ipcp_init Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 11B flags 0 +A CODE size 109 flags 0 S _ppp_init Def00000000 A CSTR size 4 flags 0 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 2E 00 DD -R 00 00 01 00 02 05 0D 00 -T 09 00 00 00 4E 02 DD 46 03 09 36 00 00 00 00 -R 00 00 01 00 0B 0B 01 00 -T 11 00 00 00 23 36 00 00 00 00 23 36 -R 00 00 01 00 8B 06 01 00 -T 16 00 00 00 00 00 00 00 01 90 00 11 01 00 3E -R 00 00 01 00 2B 04 01 00 -T 1E 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 -T 23 00 00 00 00 00 00 00 DD 75 FC DD 74 FD 21 -R 00 00 01 00 02 04 00 00 -T 2C 00 00 00 39 00 DD 4E 02 DD 46 03 09 DD 5E -R 00 00 01 00 -T 37 00 00 00 FC DD 56 FD 73 23 72 21 31 00 09 +T 00 00 00 00 CD 00 00 00 00 FC FF 01 90 00 11 +R 00 00 01 00 02 05 0C 00 +T 09 00 00 00 01 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 0A 00 +T 0E 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 0A 00 02 09 00 00 +T 15 00 00 00 FC DD 74 FD 21 39 00 DD 4E 02 DD R 00 00 01 00 -T 42 00 00 00 36 00 00 00 00 23 36 00 00 00 00 -R 00 00 01 00 0B 05 0C 00 8B 0B 0C 00 -T 47 00 00 00 23 36 00 00 00 00 21 45 00 09 36 -R 00 00 01 00 2B 06 0C 00 -T 4F 00 00 00 00 00 00 00 23 36 00 00 00 00 23 -R 00 00 01 00 0B 04 10 00 8B 0A 10 00 -T 54 00 00 00 36 00 00 00 00 21 48 00 09 36 -R 00 00 01 00 2B 05 10 00 -T 5B 00 00 00 00 00 00 00 23 36 00 00 00 00 23 -R 00 00 01 00 0B 04 0E 00 8B 0A 0E 00 -T 60 00 00 00 36 00 00 00 00 21 4E 00 09 36 -R 00 00 01 00 2B 05 0E 00 -T 67 00 00 00 00 00 00 00 23 36 00 00 00 00 23 -R 00 00 01 00 0B 04 03 00 8B 0A 03 00 -T 6C 00 00 00 36 00 00 00 00 21 4B 00 09 36 -R 00 00 01 00 2B 05 03 00 -T 73 00 00 00 00 00 00 00 23 36 00 00 00 00 23 -R 00 00 01 00 0B 04 02 00 8B 0A 02 00 -T 78 00 00 00 36 00 00 00 00 EB 71 23 70 DD 6E -R 00 00 01 00 2B 05 02 00 -T 80 00 00 00 FC DD 66 FD 23 23 36 00 DD 5E FC +T 20 00 00 00 46 03 09 DD 5E FC DD 56 FD 73 23 R 00 00 01 00 -T 8B 00 00 00 DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 05 00 -T 91 00 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 05 00 02 09 00 00 -T 98 00 00 00 FC DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 07 00 -T 9F 00 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 07 00 02 09 00 00 -T A6 00 00 00 FC DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 -T AD 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 12 00 02 09 00 00 -T B3 00 00 00 18 00 09 E5 11 00 00 D5 11 00 00 +T 2B 00 00 00 72 21 31 00 09 36 00 00 00 00 23 +R 00 00 01 00 0B 0A 0B 00 +T 33 00 00 00 36 00 00 00 00 23 36 00 00 00 00 +R 00 00 01 00 8B 05 0B 00 2B 0B 0B 00 +T 38 00 00 00 21 45 00 09 36 00 00 00 00 23 36 +R 00 00 01 00 0B 09 0F 00 +T 40 00 00 00 00 00 00 00 23 36 00 00 00 00 21 +R 00 00 01 00 8B 04 0F 00 2B 0A 0F 00 +T 45 00 00 00 48 00 09 36 00 00 00 00 23 36 +R 00 00 01 00 0B 08 0D 00 +T 4C 00 00 00 00 00 00 00 23 36 00 00 00 00 21 +R 00 00 01 00 8B 04 0D 00 2B 0A 0D 00 +T 51 00 00 00 4E 00 09 36 00 00 00 00 23 36 +R 00 00 01 00 0B 08 02 00 +T 58 00 00 00 00 00 00 00 23 36 00 00 00 00 21 +R 00 00 01 00 8B 04 02 00 2B 0A 02 00 +T 5D 00 00 00 4B 00 09 36 00 00 00 00 23 36 +R 00 00 01 00 0B 08 01 00 +T 64 00 00 00 00 00 00 00 23 36 00 00 00 00 EB +R 00 00 01 00 8B 04 01 00 2B 0A 01 00 +T 69 00 00 00 71 23 70 DD 6E FC DD 66 FD 23 23 R 00 00 01 00 -T BE 00 00 00 D5 C5 21 2C 00 DD 4E 02 DD 46 03 +T 74 00 00 00 36 00 DD 5E FC DD 56 FD 3E R 00 00 01 00 -T C9 00 00 00 09 5E 23 56 D5 1E 00 00 00 00 D5 -R 00 00 01 00 2B 0A 09 00 -T D1 00 00 00 21 00 00 00 00 E5 01 40 01 C5 01 -R 00 00 01 00 02 05 09 00 -T DA 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E -R 00 00 01 00 00 04 02 00 -T E3 00 00 00 00 00 00 00 21 00 00 00 00 CD +T 7D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 04 00 02 09 04 00 -T E8 00 00 00 00 00 00 00 DD 75 FE DD 74 FF EB +T 82 00 00 00 00 00 00 00 DD 5E FC DD 56 FD 3E +R 00 00 01 00 02 04 00 00 +T 8B 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 90 00 00 00 00 00 00 00 DD 5E FC DD 56 FD 3E +R 00 00 01 00 02 04 00 00 +T 99 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 11 00 02 09 11 00 +T 9E 00 00 00 00 00 00 00 21 18 00 09 E5 11 R 00 00 01 00 02 04 00 00 -T F1 00 00 00 3E 00 00 00 00 21 00 00 00 00 C1 -R 00 00 01 00 2B 05 11 00 02 0A 11 00 -T F7 00 00 00 CD 00 00 00 00 EB 21 0C 00 39 F9 -R 00 00 01 00 02 05 00 00 -T 00 01 00 00 EB 4D 44 E1 71 23 70 DD 5E FE DD +T A6 00 00 00 00 00 D5 11 00 00 D5 C5 21 2C 00 R 00 00 01 00 -T 0B 01 00 00 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0A 00 -T 10 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 00 00 -T 16 01 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 07 06 00 +T B1 00 00 00 DD 4E 02 DD 46 03 09 5E 23 56 D5 +R 00 00 01 00 +T BC 00 00 00 1E 00 00 00 00 D5 21 00 00 00 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 +T C2 00 00 00 E5 01 40 01 C5 01 00 00 00 00 DD +R 00 00 01 00 00 0A 02 00 +T CB 00 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 03 00 +T D3 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 03 00 02 09 00 00 +T DA 00 00 00 FE DD 74 FF EB 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 10 00 +T E2 00 00 00 00 00 00 00 C1 CD 00 00 00 00 EB +R 00 00 01 00 02 04 10 00 02 0A 00 00 +T E9 00 00 00 21 0C 00 39 F9 EB 4D 44 E1 71 23 +R 00 00 01 00 +T F4 00 00 00 70 DD 5E FE DD 56 FF 3E +R 00 00 01 00 +T FC 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 09 00 02 09 09 00 +T 01 01 00 00 00 00 00 00 21 00 00 C3 +R 00 00 01 00 02 04 00 00 +T 07 01 00 00 00 00 00 00 +R 00 00 01 00 02 04 05 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 20 72 78 00 diff --git a/src/nos/lib/ppp_lib/ppp_iostatus.rel b/src/nos/lib/ppp_lib/ppp_iostatus.rel index b3f967c5..94990930 100644 --- a/src/nos/lib/ppp_lib/ppp_iostatus.rel +++ b/src/nos/lib/ppp_lib/ppp_iostatus.rel @@ -1,80 +1,146 @@ XL4 -H 3 areas 9 global symbols +H 2 areas 12 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0254_253f_Closing_20PPP Ref00000000 +S ?S_V_SWITCH_L06 Ref00000000 +S ___03bf_48f5_Physical_20layer_20 Ref00000000 +S __ppp_log Ref00000000 S _fsm_start Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___03c0_caac_Physical_20layer_20 Ref00000000 +S _doppp_close Ref00000000 S _fsm_down Ref00000000 S .__.ABS. Def00000000 +S _dolcp_open Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _ppp_log Ref00000000 +S ___03b8_d275_Passively_20opening Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___0210_fb01_Actively_20opening_ Ref00000000 +S _doppp_passive Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 99 flags 0 +A CODE size 15A flags 0 S _ppp_iostatus Def00000000 -A CSTR size 26 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 21 39 00 DD -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 0C 00 T 09 00 00 00 5E 02 DD 56 03 19 56 23 66 6A DD R 00 00 01 00 -T 14 00 00 00 75 FE DD 74 FF 3E 82 A9 B0 20 3F +T 14 00 00 00 75 FE DD 74 FF 59 50 CD R 00 00 01 00 -T 1F 00 00 00 +T 1C 00 00 00 00 00 00 00 05 00 11 00 12 00 +R 00 00 01 00 02 04 02 00 +T 24 00 00 00 13 00 81 00 82 00 54 01 00 00 +R 00 00 01 00 00 0A 01 00 +T 2C 00 00 00 36 00 00 00 7C 00 00 00 +R 00 00 01 00 00 04 01 00 00 08 01 00 +T 30 00 00 00 1E 01 00 00 B2 00 00 00 +R 00 00 01 00 00 04 01 00 00 08 01 00 +T 34 00 00 00 E8 00 00 00 +R 00 00 01 00 00 04 01 00 +T 36 00 00 00 R 00 00 01 00 -T 1F 00 00 00 01 00 00 00 00 DD 5E FE DD 56 FF -R 00 00 01 00 00 05 02 00 -T 28 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 -T 2E 00 00 00 00 00 00 00 DD 6E FE DD 66 FF 23 +T 36 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 07 00 02 0B 07 00 +T 3C 00 00 00 E5 DD 5E FE DD 56 FF 3E +R 00 00 01 00 +T 44 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 49 00 00 00 00 00 00 00 E1 E1 DD 6E FE DD 66 R 00 00 01 00 02 04 00 00 -T 37 00 00 00 23 7E B7 20 0A +T 52 00 00 00 FF 23 23 7E B7 20 0A R 00 00 01 00 -T 3C 00 00 00 +T 59 00 00 00 R 00 00 01 00 -T 3C 00 00 00 DD 6E FE DD 66 FF 23 23 36 01 +T 59 00 00 00 DD 6E FE DD 66 FF 23 23 36 01 R 00 00 01 00 -T 46 00 00 00 +T 63 00 00 00 R 00 00 01 00 -T 46 00 00 00 21 06 00 DD 4E FE DD 46 FF 09 EB +T 63 00 00 00 21 06 00 DD 4E FE DD 46 FF 09 EB R 00 00 01 00 -T 51 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 01 00 02 0A 01 00 -T 57 00 00 00 00 00 00 00 21 00 00 18 38 +T 6E 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 05 00 02 0A 05 00 +T 74 00 00 00 00 00 00 00 21 00 00 C3 R 00 00 01 00 02 04 00 00 -T 5E 00 00 00 -R 00 00 01 00 -T 5E 00 00 00 3E 81 A9 B0 20 2F 01 12 00 00 00 -R 00 00 01 00 00 0B 02 00 -T 67 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 06 00 -T 6F 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 06 00 02 0A 00 00 -T 76 00 00 00 06 00 DD 4E FE DD 46 FF 09 EB 3E -R 00 00 01 00 -T 81 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 86 00 00 00 00 00 00 00 69 60 23 23 36 00 21 +T 7A 00 00 00 57 01 00 00 +R 00 00 01 00 00 04 01 00 +T 7C 00 00 00 +R 00 00 01 00 +T 7C 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 +T 82 00 00 00 E5 DD 5E FE DD 56 FF 3E +R 00 00 01 00 +T 8A 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 8F 00 00 00 00 00 00 00 E1 E1 21 06 00 DD 4E R 00 00 01 00 02 04 00 00 -T 8F 00 00 00 00 00 18 03 +T 98 00 00 00 FE DD 46 FF 09 EB 3E 00 00 00 00 +R 00 00 01 00 2B 0B 09 00 +T A0 00 00 00 21 00 00 00 00 CD 00 00 00 00 69 +R 00 00 01 00 02 05 09 00 02 0A 00 00 +T A7 00 00 00 60 23 23 36 00 21 00 00 C3 R 00 00 01 00 -T 93 00 00 00 +T B0 00 00 00 57 01 00 00 +R 00 00 01 00 00 04 01 00 +T B2 00 00 00 R 00 00 01 00 -T 93 00 00 00 21 FF FF +T B2 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 +T B8 00 00 00 E5 DD 5E FE DD 56 FF 3E R 00 00 01 00 -T 96 00 00 00 +T C0 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T C5 00 00 00 00 00 00 00 E1 E1 21 06 00 DD 4E +R 00 00 01 00 02 04 00 00 +T CE 00 00 00 FE DD 46 FF 09 E5 01 00 00 11 R 00 00 01 00 -T 96 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 50 68 79 73 69 63 61 6C 20 6C 61 -R 00 00 02 00 -T 0B 00 00 00 79 65 72 20 75 70 00 -R 00 00 02 00 -T 12 00 00 00 -R 00 00 02 00 -T 12 00 00 00 50 68 79 73 69 63 61 6C 20 6C 61 -R 00 00 02 00 -T 1D 00 00 00 79 65 72 20 64 6F 77 6E 00 -R 00 00 02 00 +T D8 00 00 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 0B 00 +T DD 00 00 00 00 00 00 00 CD 00 00 00 00 F1 21 +R 00 00 01 00 02 04 0B 00 02 09 00 00 +T E4 00 00 00 00 00 18 6F +R 00 00 01 00 +T E8 00 00 00 +R 00 00 01 00 +T E8 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 +T EE 00 00 00 E5 DD 5E FE DD 56 FF 3E +R 00 00 01 00 +T F6 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T FB 00 00 00 00 00 00 00 E1 E1 21 06 00 DD 4E +R 00 00 01 00 02 04 00 00 +T 04 01 00 00 FE DD 46 FF 09 E5 01 00 00 11 +R 00 00 01 00 +T 0E 01 00 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 08 00 +T 13 01 00 00 00 00 00 00 CD 00 00 00 00 F1 21 +R 00 00 01 00 02 04 08 00 02 09 00 00 +T 1A 01 00 00 00 00 18 39 +R 00 00 01 00 +T 1E 01 00 00 +R 00 00 01 00 +T 1E 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 +T 24 01 00 00 E5 DD 5E FE DD 56 FF 3E +R 00 00 01 00 +T 2C 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 31 01 00 00 00 00 00 00 E1 E1 21 06 00 DD 4E +R 00 00 01 00 02 04 00 00 +T 3A 01 00 00 FE DD 46 FF 09 E5 01 00 00 11 +R 00 00 01 00 +T 44 01 00 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 10 00 +T 49 01 00 00 00 00 00 00 CD 00 00 00 00 F1 21 +R 00 00 01 00 02 04 10 00 02 09 00 00 +T 50 01 00 00 00 00 18 03 +R 00 00 01 00 +T 54 01 00 00 +R 00 00 01 00 +T 54 01 00 00 21 FF FF +R 00 00 01 00 +T 57 01 00 00 +R 00 00 01 00 +T 57 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 06 00 diff --git a/src/nos/lib/ppp_lib/ppp_log.rel b/src/nos/lib/ppp_lib/ppp_log.rel deleted file mode 100644 index 17d6ca3d..00000000 --- a/src/nos/lib/ppp_lib/ppp_log.rel +++ /dev/null @@ -1,40 +0,0 @@ -XL4 -H 3 areas 7 global symbols -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 3F flags 0 -S _ppp_log Def00000000 -A CSTR size A flags 0 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 05 00 19 7E B7 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 28 31 -R 00 00 01 00 -T 0B 00 00 00 -R 00 00 01 00 -T 0B 00 00 00 DD 6E 04 DD 66 05 E5 DD 6E 02 DD -R 00 00 01 00 -T 16 00 00 00 66 03 46 23 66 68 23 23 4E 23 46 -R 00 00 01 00 -T 21 00 00 00 C5 21 00 00 00 00 E5 DD 6E 02 DD -R 00 00 01 00 00 06 02 00 -T 2A 00 00 00 66 03 4E 23 46 C5 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 -T 32 00 00 00 21 00 00 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 02 05 04 00 02 0A 00 00 -T 39 00 00 00 E1 E1 E1 -R 00 00 01 00 -T 3C 00 00 00 -R 00 00 01 00 -T 3C 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 25 73 20 50 50 50 20 25 73 00 -R 00 00 02 00 diff --git a/src/nos/lib/ppp_lib/ppp_output.rel b/src/nos/lib/ppp_lib/ppp_output.rel index 7d45bf89..15821cf3 100644 --- a/src/nos/lib/ppp_lib/ppp_output.rel +++ b/src/nos/lib/ppp_lib/ppp_output.rel @@ -1,21 +1,21 @@ XL4 -H 3 areas 9 global symbols +H 2 areas A global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _htonppp Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S _ppp_error Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _free_p Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S __ppp_error Ref00000000 +S ___059e_cbc2_line_20not_20up Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size BF flags 0 +A CODE size C3 flags 0 S _ppp_output Def00000000 -A CSTR size C flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF DD 7E 02 DD -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 04 00 T 09 00 00 00 B6 03 28 18 21 39 00 DD 4E 02 DD R 00 00 01 00 T 14 00 00 00 46 03 09 46 23 66 68 DD 75 FA DD @@ -29,58 +29,54 @@ R 00 00 01 00 T 25 00 00 00 R 00 00 01 00 T 25 00 00 00 DD 5E 0E DD 56 0F 3E 00 00 00 00 -R 00 00 01 00 2B 0B 06 00 +R 00 00 01 00 2B 0B 05 00 T 2D 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 06 00 02 0A 00 00 -T 34 00 00 00 FF FF C3 BC 00 00 00 +R 00 00 01 00 02 05 05 00 02 0A 00 00 +T 34 00 00 00 FF FF C3 C0 00 00 00 R 00 00 01 00 00 07 01 00 T 39 00 00 00 R 00 00 01 00 T 39 00 00 00 DD 6E FA DD 66 FB 23 23 7E B7 20 R 00 00 01 00 -T 44 00 00 00 2D +T 44 00 00 00 31 R 00 00 01 00 T 45 00 00 00 R 00 00 01 00 -T 45 00 00 00 21 00 00 00 00 E5 DD 4E 0E DD 46 -R 00 00 01 00 00 05 02 00 -T 4E 00 00 00 0F DD 5E FA DD 56 FB 3E +T 45 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 +T 4B 00 00 00 E5 DD 4E 0E DD 46 0F DD 5E FA DD R 00 00 01 00 -T 56 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 5B 00 00 00 00 00 00 00 E1 21 74 00 DD 4E FA -R 00 00 01 00 02 04 00 00 -T 64 00 00 00 DD 46 FB 09 34 23 20 01 34 +T 56 00 00 00 56 FB 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 07 00 +T 5B 00 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 07 00 02 09 00 00 +T 62 00 00 00 21 74 00 DD 4E FA DD 46 FB 09 34 +R 00 00 01 00 +T 6D 00 00 00 23 20 01 34 R 00 00 01 00 -T 6D 00 00 00 +T 71 00 00 00 R 00 00 01 00 -T 6D 00 00 00 21 FF FF 18 4A +T 71 00 00 00 21 FF FF 18 4A R 00 00 01 00 -T 72 00 00 00 +T 76 00 00 00 R 00 00 01 00 -T 72 00 00 00 DD 36 FC FF DD 36 FD 03 DD 6E 0C +T 76 00 00 00 DD 36 FC FF DD 36 FD 03 DD 6E 0C R 00 00 01 00 -T 7D 00 00 00 DD 66 0D DD 75 FE DD 74 FF DD 4E +T 81 00 00 00 DD 66 0D DD 75 FE DD 74 FF DD 4E R 00 00 01 00 -T 88 00 00 00 0E DD 46 0F 21 02 00 39 5D 54 3E +T 8C 00 00 00 0E DD 46 0F 21 02 00 39 5D 54 3E R 00 00 01 00 -T 93 00 00 00 00 00 00 00 21 00 00 00 00 CD +T 97 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 98 00 00 00 00 00 00 00 DD 4E 0E DD 46 0F C5 +T 9C 00 00 00 00 00 00 00 DD 4E 0E DD 46 0F C5 R 00 00 01 00 02 04 00 00 -T A1 00 00 00 DD 5E 02 DD 56 03 21 45 00 DD 4E +T A5 00 00 00 DD 5E 02 DD 56 03 21 45 00 DD 4E R 00 00 01 00 -T AC 00 00 00 02 DD 46 03 09 4E 23 46 23 7E 69 +T B0 00 00 00 02 DD 46 03 09 4E 23 46 23 7E 69 R 00 00 01 00 -T B7 00 00 00 60 C1 CD 00 00 00 00 +T BB 00 00 00 60 C1 CD 00 00 00 00 R 00 00 01 00 02 07 00 00 -T BC 00 00 00 +T C0 00 00 00 R 00 00 01 00 -T BC 00 00 00 C3 00 00 00 00 +T C0 00 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 02 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 6C 69 6E 65 20 6E 6F 74 20 75 70 -R 00 00 02 00 -T 0B 00 00 00 00 -R 00 00 02 00 diff --git a/src/nos/lib/ppp_lib/ppp_proc.rel b/src/nos/lib/ppp_lib/ppp_proc.rel index 134b1325..3c91cc4b 100644 --- a/src/nos/lib/ppp_lib/ppp_proc.rel +++ b/src/nos/lib/ppp_lib/ppp_proc.rel @@ -1,723 +1,647 @@ XL4 -H 3 areas 18 global symbols +H 2 areas 27 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___05cb_0135_missing_20lower_20p Ref00000000 +S ___0607_7cd1_not_20open_20for_20 Ref00000000 S ?S_V_SWITCH_L06 Ref00000000 S _logmsg Ref00000000 S _htonppp Ref00000000 +S ___05c9_f789_missing_20ALL_20add Ref00000000 +S ___0609_f235_not_20ready_20for_2 Ref00000000 +S ___0453_790d_Uncompressed_20TCP_ Ref00000000 S _len_p Ref00000000 S _fsm_send Ref00000000 +S __trace_log Ref00000000 +S ___0632_8304_ppp_5fproc_3a_20mis Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _pap_proc Ref00000000 S _slhc_uncompress Ref00000000 S _slhc_remember Ref00000000 -S ___0558_8304_ppp_5fproc_3a_20mis Ref00000000 -S _ppp_error Ref00000000 S _fsm_proc Ref00000000 S ?L_ADDASG_L03 Ref00000000 S .__.ABS. Def00000000 -S _ppp_skipped Ref00000000 +S ___0454_6947_Uncompressed_20TCP_ Ref00000000 +S ___0605_6504_not_20open_20for_20 Ref00000000 S _pull16 Ref00000000 S _ip_route Ref00000000 +S ___0606_6274_not_20open_20for_20 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _trace_log Ref00000000 +S ___0608_a01b_not_20ready_20for_2 Ref00000000 +S ___0257_6fb2_Compressed_20TCP_2f Ref00000000 S ?SS_CMP_L02 Ref00000000 +S ___0631_fc07_ppp_5fproc_3a_20mis Ref00000000 S _pull8 Ref00000000 +S ___0161_7a48__25s_20PPP_20Unknow Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S __ppp_error Ref00000000 +S ___05ca_d180_missing_20UI Ref00000000 +S ___0258_242d_Compressed_20TCP_2f Ref00000000 +S ___05cc_d703_missing_20upper_20p Ref00000000 +S __ppp_skipped Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 62A flags 0 +A CODE size 666 flags 0 S _ppp_proc Def00000000 -A CSTR size 1B2 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F4 FF AF DD 77 FC -R 00 00 01 00 02 05 12 00 +R 00 00 01 00 02 05 19 00 T 09 00 00 00 DD 77 FD DD 7E 02 DD B6 03 20 19 R 00 00 01 00 T 14 00 00 00 R 00 00 01 00 T 14 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 +R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 T 1A 00 00 00 E5 21 FF FF E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 02 00 +R 00 00 01 00 2B 0A 04 00 T 22 00 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 02 00 02 09 00 00 -T 29 00 00 00 E1 C3 27 06 00 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 +T 29 00 00 00 E1 C3 63 06 00 00 R 00 00 01 00 00 06 01 00 T 2D 00 00 00 R 00 00 01 00 -T 2D 00 00 00 DD 6E 04 DD 66 05 7E 23 B6 20 18 +T 2D 00 00 00 DD 6E 04 DD 66 05 7E 23 B6 20 1C R 00 00 01 00 T 38 00 00 00 R 00 00 01 00 -T 38 00 00 00 21 00 00 00 00 E5 DD 6E 02 DD 66 -R 00 00 01 00 00 05 02 00 -T 41 00 00 00 03 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 13 00 -T 46 00 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 13 00 02 09 00 00 -T 4D 00 00 00 C3 27 06 00 00 -R 00 00 01 00 00 05 01 00 -T 50 00 00 00 +T 38 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 1D 00 02 0B 1D 00 +T 3E 00 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 -T 50 00 00 00 21 39 00 DD 4E 02 DD 46 03 09 46 +T 47 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +T 4C 00 00 00 00 00 00 00 E1 E1 E1 C3 +R 00 00 01 00 02 04 00 00 +T 52 00 00 00 63 06 00 00 +R 00 00 01 00 00 04 01 00 +T 54 00 00 00 R 00 00 01 00 -T 5B 00 00 00 23 66 68 DD 75 F4 DD 74 F5 01 +T 54 00 00 00 21 39 00 DD 4E 02 DD 46 03 09 46 R 00 00 01 00 -T 65 00 00 00 78 00 09 E5 DD 6E 04 DD 66 05 5E +T 5F 00 00 00 23 66 68 DD 75 F4 DD 74 F5 01 R 00 00 01 00 -T 70 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 04 00 -T 75 00 00 00 00 00 00 00 CD 00 00 00 00 EB 13 -R 00 00 01 00 02 04 04 00 02 09 00 00 -T 7C 00 00 00 13 01 00 00 E1 CD 00 00 00 00 21 -R 00 00 01 00 02 0A 0D 00 -T 85 00 00 00 06 00 DD 4E F4 DD 46 F5 09 7E FE +T 69 00 00 00 78 00 09 E5 DD 6E 04 DD 66 05 5E R 00 00 01 00 -T 90 00 00 00 05 20 22 +T 74 00 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 09 00 +T 79 00 00 00 00 00 00 00 CD 00 00 00 00 EB 13 +R 00 00 01 00 02 04 09 00 02 09 00 00 +T 80 00 00 00 13 01 00 00 E1 CD 00 00 00 00 21 +R 00 00 01 00 02 0A 12 00 +T 89 00 00 00 06 00 DD 4E F4 DD 46 F5 09 7E FE R 00 00 01 00 -T 93 00 00 00 +T 94 00 00 00 05 20 22 R 00 00 01 00 -T 93 00 00 00 21 22 00 DD 4E F4 DD 46 F5 09 46 +T 97 00 00 00 R 00 00 01 00 -T 9E 00 00 00 23 66 68 DD 75 FE DD 74 FF 01 +T 97 00 00 00 21 22 00 DD 4E F4 DD 46 F5 09 46 R 00 00 01 00 -T A8 00 00 00 16 00 09 46 23 66 68 DD 75 FC DD +T A2 00 00 00 23 66 68 DD 75 FE DD 74 FF 01 R 00 00 01 00 -T B3 00 00 00 74 FD +T AC 00 00 00 16 00 09 46 23 66 68 DD 75 FC DD R 00 00 01 00 -T B5 00 00 00 +T B7 00 00 00 74 FD R 00 00 01 00 -T B5 00 00 00 DD 6E 04 DD 66 05 46 23 66 68 01 +T B9 00 00 00 R 00 00 01 00 -T C0 00 00 00 0A 00 09 7E 23 66 6F 46 04 28 3B +T B9 00 00 00 DD 6E 04 DD 66 05 46 23 66 68 01 R 00 00 01 00 -T CB 00 00 00 +T C4 00 00 00 0A 00 09 7E 23 66 6F 46 04 28 3F R 00 00 01 00 -T CB 00 00 00 DD 7E FC E6 00 47 DD 7E FD E6 01 +T CF 00 00 00 R 00 00 01 00 -T D6 00 00 00 B0 20 2B +T CF 00 00 00 DD 7E FC E6 00 47 DD 7E FD E6 01 R 00 00 01 00 -T D9 00 00 00 +T DA 00 00 00 B0 20 2F R 00 00 01 00 -T D9 00 00 00 21 19 00 00 00 E5 DD 4E 04 DD 46 -R 00 00 01 00 00 05 02 00 -T E2 00 00 00 05 DD 5E F4 DD 56 F5 3E +T DD 00 00 00 R 00 00 01 00 -T EA 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 -T EF 00 00 00 00 00 00 00 E1 21 8A 00 DD 4E F4 -R 00 00 01 00 02 04 00 00 -T F8 00 00 00 DD 46 F5 09 34 23 20 01 34 +T DD 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 06 00 02 0B 06 00 +T E3 00 00 00 E5 DD 4E 04 DD 46 05 DD 5E F4 DD +R 00 00 01 00 +T EE 00 00 00 56 F5 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 25 00 +T F3 00 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 25 00 02 09 00 00 +T FA 00 00 00 21 8A 00 DD 4E F4 DD 46 F5 09 34 +R 00 00 01 00 +T 05 01 00 00 23 20 01 34 R 00 00 01 00 -T 01 01 00 00 +T 09 01 00 00 R 00 00 01 00 -T 01 01 00 00 C3 27 06 00 00 +T 09 01 00 00 C3 63 06 00 00 R 00 00 01 00 00 05 01 00 -T 04 01 00 00 +T 0C 01 00 00 R 00 00 01 00 -T 04 01 00 00 18 6F +T 0C 01 00 00 18 73 R 00 00 01 00 -T 06 01 00 00 +T 0E 01 00 00 R 00 00 01 00 -T 06 01 00 00 DD 6E 04 DD 66 05 46 23 66 68 01 +T 0E 01 00 00 DD 6E 04 DD 66 05 46 23 66 68 01 R 00 00 01 00 -T 11 01 00 00 0A 00 09 46 23 66 68 23 7E FE 03 +T 19 01 00 00 0A 00 09 46 23 66 68 23 7E FE 03 R 00 00 01 00 -T 1C 01 00 00 28 49 +T 24 01 00 00 28 4D R 00 00 01 00 -T 1E 01 00 00 +T 26 01 00 00 R 00 00 01 00 -T 1E 01 00 00 DD 7E FC E6 00 47 DD 7E FD E6 01 +T 26 01 00 00 DD 7E FC E6 00 47 DD 7E FD E6 01 R 00 00 01 00 -T 29 01 00 00 B0 28 0E DD 7E FC E6 80 47 DD 7E +T 31 01 00 00 B0 28 0E DD 7E FC E6 80 47 DD 7E R 00 00 01 00 -T 34 01 00 00 FD E6 00 B0 20 2B +T 3C 01 00 00 FD E6 00 B0 20 2F R 00 00 01 00 -T 3A 01 00 00 +T 42 01 00 00 R 00 00 01 00 -T 3A 01 00 00 +T 42 01 00 00 R 00 00 01 00 -T 3A 01 00 00 +T 42 01 00 00 R 00 00 01 00 -T 3A 01 00 00 21 2D 00 00 00 E5 DD 4E 04 DD 46 -R 00 00 01 00 00 05 02 00 -T 43 01 00 00 05 DD 5E F4 DD 56 F5 3E +T 42 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 22 00 02 0B 22 00 +T 48 01 00 00 E5 DD 4E 04 DD 46 05 DD 5E F4 DD R 00 00 01 00 -T 4B 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 -T 50 01 00 00 00 00 00 00 E1 21 8A 00 DD 4E F4 -R 00 00 01 00 02 04 00 00 -T 59 01 00 00 DD 46 F5 09 34 23 20 01 34 +T 53 01 00 00 56 F5 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 25 00 +T 58 01 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 25 00 02 09 00 00 +T 5F 01 00 00 21 8A 00 DD 4E F4 DD 46 F5 09 34 +R 00 00 01 00 +T 6A 01 00 00 23 20 01 34 R 00 00 01 00 -T 62 01 00 00 +T 6E 01 00 00 R 00 00 01 00 -T 62 01 00 00 C3 27 06 00 00 +T 6E 01 00 00 C3 63 06 00 00 R 00 00 01 00 00 05 01 00 -T 65 01 00 00 +T 71 01 00 00 R 00 00 01 00 -T 65 01 00 00 18 0E +T 71 01 00 00 18 0E R 00 00 01 00 -T 67 01 00 00 +T 73 01 00 00 R 00 00 01 00 -T 67 01 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 10 00 -T 6F 01 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 10 00 02 0A 00 00 -T 75 01 00 00 +T 73 01 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 +R 00 00 01 00 2B 0B 16 00 +T 7B 01 00 00 21 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 16 00 02 0A 00 00 +T 81 01 00 00 R 00 00 01 00 -T 75 01 00 00 +T 81 01 00 00 R 00 00 01 00 -T 75 01 00 00 DD 36 F8 FF DD 36 F9 03 DD 5E 04 +T 81 01 00 00 DD 36 F8 FF DD 36 F9 03 DD 5E 04 R 00 00 01 00 -T 80 01 00 00 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 15 00 -T 86 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 15 00 02 09 00 00 -T 8D 01 00 00 FA DD 74 FB DD 7E FA E6 01 28 3B +T 8C 01 00 00 DD 56 05 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 1E 00 +T 92 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 1E 00 02 09 00 00 +T 99 01 00 00 FA DD 74 FB DD 7E FA E6 01 28 3F R 00 00 01 00 -T 98 01 00 00 +T A4 01 00 00 R 00 00 01 00 -T 98 01 00 00 DD 7E FC E6 80 47 DD 7E FD E6 00 +T A4 01 00 00 DD 7E FC E6 80 47 DD 7E FD E6 00 R 00 00 01 00 -T A3 01 00 00 B0 20 2B +T AF 01 00 00 B0 20 2F R 00 00 01 00 -T A6 01 00 00 +T B2 01 00 00 R 00 00 01 00 -T A6 01 00 00 21 38 00 00 00 E5 DD 4E 04 DD 46 -R 00 00 01 00 00 05 02 00 -T AF 01 00 00 05 DD 5E F4 DD 56 F5 3E +T B2 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 24 00 02 0B 24 00 +T B8 01 00 00 E5 DD 4E 04 DD 46 05 DD 5E F4 DD R 00 00 01 00 -T B7 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 -T BC 01 00 00 00 00 00 00 E1 21 8A 00 DD 4E F4 -R 00 00 01 00 02 04 00 00 -T C5 01 00 00 DD 46 F5 09 34 23 20 01 34 +T C3 01 00 00 56 F5 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 25 00 +T C8 01 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 25 00 02 09 00 00 +T CF 01 00 00 21 8A 00 DD 4E F4 DD 46 F5 09 34 +R 00 00 01 00 +T DA 01 00 00 23 20 01 34 R 00 00 01 00 -T CE 01 00 00 +T DE 01 00 00 R 00 00 01 00 -T CE 01 00 00 C3 27 06 00 00 +T DE 01 00 00 C3 63 06 00 00 R 00 00 01 00 00 05 01 00 -T D1 01 00 00 +T E1 01 00 00 R 00 00 01 00 -T D1 01 00 00 18 60 +T E1 01 00 00 18 64 R 00 00 01 00 -T D3 01 00 00 +T E3 01 00 00 R 00 00 01 00 -T D3 01 00 00 DD 6E FA DD 66 FB 65 2E 00 E5 DD +T E3 01 00 00 DD 6E FA DD 66 FB 65 2E 00 E5 DD R 00 00 01 00 -T DE 01 00 00 5E 04 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 15 00 -T E6 01 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 15 00 02 09 00 00 -T ED 01 00 00 E1 7D B1 5F 7C B0 57 DD 73 FA DD +T EE 01 00 00 5E 04 DD 56 05 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 1E 00 +T F6 01 00 00 00 00 00 00 CD 00 00 00 00 4D 44 +R 00 00 01 00 02 04 1E 00 02 09 00 00 +T FD 01 00 00 E1 7D B1 5F 7C B0 57 DD 73 FA DD R 00 00 01 00 -T F8 01 00 00 72 FB DD 7E FA E6 01 47 DD 7E FB +T 08 02 00 00 72 FB DD 7E FA E6 01 47 DD 7E FB R 00 00 01 00 -T 03 02 00 00 E6 00 B0 20 2B +T 13 02 00 00 E6 00 B0 20 2F R 00 00 01 00 -T 08 02 00 00 +T 18 02 00 00 R 00 00 01 00 -T 08 02 00 00 21 54 00 00 00 E5 DD 4E 04 DD 46 -R 00 00 01 00 00 05 02 00 -T 11 02 00 00 05 DD 5E F4 DD 56 F5 3E +T 18 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 +T 1E 02 00 00 E5 DD 4E 04 DD 46 05 DD 5E F4 DD R 00 00 01 00 -T 19 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 -T 1E 02 00 00 00 00 00 00 E1 21 8A 00 DD 4E F4 -R 00 00 01 00 02 04 00 00 -T 27 02 00 00 DD 46 F5 09 34 23 20 01 34 +T 29 02 00 00 56 F5 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 25 00 +T 2E 02 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 25 00 02 09 00 00 +T 35 02 00 00 21 8A 00 DD 4E F4 DD 46 F5 09 34 +R 00 00 01 00 +T 40 02 00 00 23 20 01 34 R 00 00 01 00 -T 30 02 00 00 +T 44 02 00 00 R 00 00 01 00 -T 30 02 00 00 C3 27 06 00 00 +T 44 02 00 00 C3 63 06 00 00 R 00 00 01 00 00 05 01 00 -T 33 02 00 00 +T 47 02 00 00 R 00 00 01 00 -T 33 02 00 00 +T 47 02 00 00 R 00 00 01 00 -T 33 02 00 00 DD 5E FA DD 56 FB CD 00 00 00 00 -R 00 00 01 00 02 0B 01 00 -T 3C 02 00 00 06 00 21 00 2D 00 2F 00 21 80 +T 47 02 00 00 DD 5E FA DD 56 FB CD 00 00 00 00 +R 00 00 01 00 02 0B 03 00 +T 50 02 00 00 06 00 21 00 2D 00 2F 00 21 80 R 00 00 01 00 -T 46 02 00 00 21 C0 23 C0 94 05 00 00 +T 5A 02 00 00 21 C0 23 C0 CC 05 00 00 R 00 00 01 00 00 08 01 00 -T 4C 02 00 00 C1 04 00 00 96 04 00 00 +T 60 02 00 00 F1 04 00 00 C6 04 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 50 02 00 00 31 05 00 00 A2 03 00 00 +T 64 02 00 00 65 05 00 00 C6 03 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 54 02 00 00 AE 02 00 00 58 02 00 00 +T 68 02 00 00 C6 02 00 00 6C 02 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T 58 02 00 00 +T 6C 02 00 00 R 00 00 01 00 -T 58 02 00 00 21 42 00 DD 4E F4 DD 46 F5 09 7E +T 6C 02 00 00 21 42 00 DD 4E F4 DD 46 F5 09 7E R 00 00 01 00 -T 63 02 00 00 FE 05 28 2B +T 77 02 00 00 FE 05 28 2F R 00 00 01 00 -T 67 02 00 00 +T 7B 02 00 00 R 00 00 01 00 -T 67 02 00 00 21 70 00 00 00 E5 DD 4E 04 DD 46 -R 00 00 01 00 00 05 02 00 -T 70 02 00 00 05 DD 5E F4 DD 56 F5 3E +T 7B 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 18 00 02 0B 18 00 +T 81 02 00 00 E5 DD 4E 04 DD 46 05 DD 5E F4 DD R 00 00 01 00 -T 78 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 -T 7D 02 00 00 00 00 00 00 E1 21 8C 00 DD 4E F4 -R 00 00 01 00 02 04 00 00 -T 86 02 00 00 DD 46 F5 09 34 23 20 01 34 +T 8C 02 00 00 56 F5 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 21 00 +T 91 02 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 21 00 02 09 00 00 +T 98 02 00 00 21 8C 00 DD 4E F4 DD 46 F5 09 34 R 00 00 01 00 -T 8F 02 00 00 +T A3 02 00 00 23 20 01 34 R 00 00 01 00 -T 8F 02 00 00 C3 27 06 00 00 +T A7 02 00 00 +R 00 00 01 00 +T A7 02 00 00 C3 63 06 00 00 R 00 00 01 00 00 05 01 00 -T 92 02 00 00 +T AA 02 00 00 R 00 00 01 00 -T 92 02 00 00 21 00 00 E5 DD 4E 04 DD 46 05 DD +T AA 02 00 00 21 00 00 E5 DD 4E 04 DD 46 05 DD R 00 00 01 00 -T 9D 02 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 11 00 -T A5 02 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 11 00 02 09 00 00 -T AC 02 00 00 27 06 00 00 +T B5 02 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 17 00 +T BD 02 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 +R 00 00 01 00 02 04 17 00 02 09 00 00 +T C4 02 00 00 63 06 00 00 R 00 00 01 00 00 04 01 00 -T AE 02 00 00 +T C6 02 00 00 R 00 00 01 00 -T AE 02 00 00 21 42 00 DD 4E F4 DD 46 F5 09 7E +T C6 02 00 00 21 42 00 DD 4E F4 DD 46 F5 09 7E R 00 00 01 00 -T B9 02 00 00 FE 05 28 2B +T D1 02 00 00 FE 05 28 2F R 00 00 01 00 -T BD 02 00 00 +T D5 02 00 00 R 00 00 01 00 -T BD 02 00 00 21 88 00 00 00 E5 DD 4E 04 DD 46 -R 00 00 01 00 00 05 02 00 -T C6 02 00 00 05 DD 5E F4 DD 56 F5 3E +T D5 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 15 00 02 0B 15 00 +T DB 02 00 00 E5 DD 4E 04 DD 46 05 DD 5E F4 DD R 00 00 01 00 -T CE 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 -T D3 02 00 00 00 00 00 00 E1 21 8C 00 DD 4E F4 -R 00 00 01 00 02 04 00 00 -T DC 02 00 00 DD 46 F5 09 34 23 20 01 34 +T E6 02 00 00 56 F5 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 25 00 +T EB 02 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 25 00 02 09 00 00 +T F2 02 00 00 21 8C 00 DD 4E F4 DD 46 F5 09 34 +R 00 00 01 00 +T FD 02 00 00 23 20 01 34 R 00 00 01 00 -T E5 02 00 00 +T 01 03 00 00 R 00 00 01 00 -T E5 02 00 00 C3 27 06 00 00 +T 01 03 00 00 C3 63 06 00 00 R 00 00 01 00 00 05 01 00 -T E8 02 00 00 +T 04 03 00 00 R 00 00 01 00 -T E8 02 00 00 21 5E 00 DD 4E F4 DD 46 F5 09 46 +T 04 03 00 00 21 5E 00 DD 4E F4 DD 46 F5 09 46 R 00 00 01 00 -T F3 02 00 00 23 66 68 DD 75 F6 DD 74 F7 01 +T 0F 03 00 00 23 66 68 DD 75 F6 DD 74 F7 01 R 00 00 01 00 -T FD 02 00 00 11 00 09 7E E6 04 47 23 7E E6 00 +T 19 03 00 00 11 00 09 7E E6 04 47 23 7E E6 00 R 00 00 01 00 -T 08 03 00 00 B0 20 2B +T 24 03 00 00 B0 20 2F R 00 00 01 00 -T 0B 03 00 00 +T 27 03 00 00 R 00 00 01 00 -T 0B 03 00 00 21 AF 00 00 00 E5 DD 4E 04 DD 46 -R 00 00 01 00 00 05 02 00 -T 14 03 00 00 05 DD 5E F4 DD 56 F5 3E +T 27 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 1B 00 02 0B 1B 00 +T 2D 03 00 00 E5 DD 4E 04 DD 46 05 DD 5E F4 DD R 00 00 01 00 -T 1C 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 -T 21 03 00 00 00 00 00 00 E1 21 8C 00 DD 4E F4 -R 00 00 01 00 02 04 00 00 -T 2A 03 00 00 DD 46 F5 09 34 23 20 01 34 +T 38 03 00 00 56 F5 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 25 00 +T 3D 03 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 25 00 02 09 00 00 +T 44 03 00 00 21 8C 00 DD 4E F4 DD 46 F5 09 34 +R 00 00 01 00 +T 4F 03 00 00 23 20 01 34 R 00 00 01 00 -T 33 03 00 00 +T 53 03 00 00 R 00 00 01 00 -T 33 03 00 00 C3 27 06 00 00 +T 53 03 00 00 C3 63 06 00 00 R 00 00 01 00 00 05 01 00 -T 36 03 00 00 +T 56 03 00 00 R 00 00 01 00 -T 36 03 00 00 DD 4E 04 DD 46 05 21 40 00 DD 5E +T 56 03 00 00 DD 4E 04 DD 46 05 21 40 00 DD 5E R 00 00 01 00 -T 41 03 00 00 F6 DD 56 F7 19 5E 23 56 3E +T 61 03 00 00 F6 DD 56 F7 19 5E 23 56 3E R 00 00 01 00 -T 4A 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T 4F 03 00 00 00 00 00 00 4D 44 21 00 00 CD +T 6A 03 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0F 00 02 09 0F 00 +T 6F 03 00 00 00 00 00 00 4D 44 21 00 00 CD R 00 00 01 00 02 04 00 00 -T 57 03 00 00 00 00 00 00 38 2B -R 00 00 01 00 02 04 14 00 -T 5B 03 00 00 +T 77 03 00 00 00 00 00 00 38 2F +R 00 00 01 00 02 04 1C 00 +T 7B 03 00 00 R 00 00 01 00 -T 5B 03 00 00 21 CD 00 00 00 E5 DD 4E 04 DD 46 -R 00 00 01 00 00 05 02 00 -T 64 03 00 00 05 DD 5E F4 DD 56 F5 3E +T 7B 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 23 00 02 0B 23 00 +T 81 03 00 00 E5 DD 4E 04 DD 46 05 DD 5E F4 DD R 00 00 01 00 -T 6C 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 -T 71 03 00 00 00 00 00 00 E1 21 8C 00 DD 4E F4 -R 00 00 01 00 02 04 00 00 -T 7A 03 00 00 DD 46 F5 09 34 23 20 01 34 +T 8C 03 00 00 56 F5 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 21 00 +T 91 03 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 21 00 02 09 00 00 +T 98 03 00 00 21 8C 00 DD 4E F4 DD 46 F5 09 34 +R 00 00 01 00 +T A3 03 00 00 23 20 01 34 R 00 00 01 00 -T 83 03 00 00 +T A7 03 00 00 R 00 00 01 00 -T 83 03 00 00 C3 27 06 00 00 +T A7 03 00 00 C3 63 06 00 00 R 00 00 01 00 00 05 01 00 -T 86 03 00 00 +T AA 03 00 00 R 00 00 01 00 -T 86 03 00 00 21 00 00 E5 DD 4E 04 DD 46 05 DD +T AA 03 00 00 21 00 00 E5 DD 4E 04 DD 46 05 DD R 00 00 01 00 -T 91 03 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 11 00 -T 99 03 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 11 00 02 09 00 00 -T A0 03 00 00 27 06 00 00 +T B5 03 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 17 00 +T BD 03 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 +R 00 00 01 00 02 04 17 00 02 09 00 00 +T C4 03 00 00 63 06 00 00 R 00 00 01 00 00 04 01 00 -T A2 03 00 00 +T C6 03 00 00 R 00 00 01 00 -T A2 03 00 00 21 42 00 DD 4E F4 DD 46 F5 09 7E +T C6 03 00 00 21 42 00 DD 4E F4 DD 46 F5 09 7E R 00 00 01 00 -T AD 03 00 00 FE 05 28 2B +T D1 03 00 00 FE 05 28 2F R 00 00 01 00 -T B1 03 00 00 +T D5 03 00 00 R 00 00 01 00 -T B1 03 00 00 21 EC 00 00 00 E5 DD 4E 04 DD 46 -R 00 00 01 00 00 05 02 00 -T BA 03 00 00 05 DD 5E F4 DD 56 F5 3E +T D5 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 +T DB 03 00 00 E5 DD 4E 04 DD 46 05 DD 5E F4 DD R 00 00 01 00 -T C2 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 -T C7 03 00 00 00 00 00 00 E1 21 8C 00 DD 4E F4 -R 00 00 01 00 02 04 00 00 -T D0 03 00 00 DD 46 F5 09 34 23 20 01 34 +T E6 03 00 00 56 F5 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 25 00 +T EB 03 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 25 00 02 09 00 00 +T F2 03 00 00 21 8C 00 DD 4E F4 DD 46 F5 09 34 +R 00 00 01 00 +T FD 03 00 00 23 20 01 34 R 00 00 01 00 -T D9 03 00 00 +T 01 04 00 00 R 00 00 01 00 -T D9 03 00 00 C3 27 06 00 00 +T 01 04 00 00 C3 63 06 00 00 R 00 00 01 00 00 05 01 00 -T DC 03 00 00 +T 04 04 00 00 R 00 00 01 00 -T DC 03 00 00 21 5E 00 DD 4E F4 DD 46 F5 09 46 +T 04 04 00 00 21 5E 00 DD 4E F4 DD 46 F5 09 46 R 00 00 01 00 -T E7 03 00 00 23 66 68 DD 75 F6 DD 74 F7 01 +T 0F 04 00 00 23 66 68 DD 75 F6 DD 74 F7 01 R 00 00 01 00 -T F1 03 00 00 11 00 09 7E E6 04 47 23 7E E6 00 +T 19 04 00 00 11 00 09 7E E6 04 47 23 7E E6 00 R 00 00 01 00 -T FC 03 00 00 B0 20 2B +T 24 04 00 00 B0 20 2F R 00 00 01 00 -T FF 03 00 00 +T 27 04 00 00 R 00 00 01 00 -T FF 03 00 00 21 15 01 00 00 E5 DD 4E 04 DD 46 -R 00 00 01 00 00 05 02 00 -T 08 04 00 00 05 DD 5E F4 DD 56 F5 3E +T 27 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 08 00 02 0B 08 00 +T 2D 04 00 00 E5 DD 4E 04 DD 46 05 DD 5E F4 DD R 00 00 01 00 -T 10 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 -T 15 04 00 00 00 00 00 00 E1 21 8C 00 DD 4E F4 -R 00 00 01 00 02 04 00 00 -T 1E 04 00 00 DD 46 F5 09 34 23 20 01 34 +T 38 04 00 00 56 F5 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 25 00 +T 3D 04 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 25 00 02 09 00 00 +T 44 04 00 00 21 8C 00 DD 4E F4 DD 46 F5 09 34 R 00 00 01 00 -T 27 04 00 00 +T 4F 04 00 00 23 20 01 34 +R 00 00 01 00 +T 53 04 00 00 R 00 00 01 00 -T 27 04 00 00 C3 27 06 00 00 +T 53 04 00 00 C3 63 06 00 00 R 00 00 01 00 00 05 01 00 -T 2A 04 00 00 +T 56 04 00 00 R 00 00 01 00 -T 2A 04 00 00 DD 4E 04 DD 46 05 21 40 00 DD 5E +T 56 04 00 00 DD 4E 04 DD 46 05 21 40 00 DD 5E R 00 00 01 00 -T 35 04 00 00 F6 DD 56 F7 19 5E 23 56 3E +T 61 04 00 00 F6 DD 56 F7 19 5E 23 56 3E R 00 00 01 00 -T 3E 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T 43 04 00 00 00 00 00 00 4D 44 21 00 00 CD +T 6A 04 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 10 00 02 09 10 00 +T 6F 04 00 00 00 00 00 00 4D 44 21 00 00 CD R 00 00 01 00 02 04 00 00 -T 4B 04 00 00 00 00 00 00 38 2B -R 00 00 01 00 02 04 14 00 -T 4F 04 00 00 +T 77 04 00 00 00 00 00 00 38 2F +R 00 00 01 00 02 04 1C 00 +T 7B 04 00 00 R 00 00 01 00 -T 4F 04 00 00 21 35 01 00 00 E5 DD 4E 04 DD 46 -R 00 00 01 00 00 05 02 00 -T 58 04 00 00 05 DD 5E F4 DD 56 F5 3E +T 7B 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 14 00 02 0B 14 00 +T 81 04 00 00 E5 DD 4E 04 DD 46 05 DD 5E F4 DD R 00 00 01 00 -T 60 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 -T 65 04 00 00 00 00 00 00 E1 21 8C 00 DD 4E F4 -R 00 00 01 00 02 04 00 00 -T 6E 04 00 00 DD 46 F5 09 34 23 20 01 34 +T 8C 04 00 00 56 F5 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 21 00 +T 91 04 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 21 00 02 09 00 00 +T 98 04 00 00 21 8C 00 DD 4E F4 DD 46 F5 09 34 R 00 00 01 00 -T 77 04 00 00 +T A3 04 00 00 23 20 01 34 R 00 00 01 00 -T 77 04 00 00 C3 27 06 00 00 +T A7 04 00 00 +R 00 00 01 00 +T A7 04 00 00 C3 63 06 00 00 R 00 00 01 00 00 05 01 00 -T 7A 04 00 00 +T AA 04 00 00 R 00 00 01 00 -T 7A 04 00 00 21 00 00 E5 DD 4E 04 DD 46 05 DD +T AA 04 00 00 21 00 00 E5 DD 4E 04 DD 46 05 DD R 00 00 01 00 -T 85 04 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 11 00 -T 8D 04 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 02 04 11 00 02 09 00 00 -T 94 04 00 00 27 06 00 00 +T B5 04 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 17 00 +T BD 04 00 00 00 00 00 00 CD 00 00 00 00 F1 C3 +R 00 00 01 00 02 04 17 00 02 09 00 00 +T C4 04 00 00 63 06 00 00 R 00 00 01 00 00 04 01 00 -T 96 04 00 00 +T C6 04 00 00 R 00 00 01 00 -T 96 04 00 00 21 80 00 DD 4E F4 DD 46 F5 09 34 +T C6 04 00 00 21 80 00 DD 4E F4 DD 46 F5 09 34 R 00 00 01 00 -T A1 04 00 00 23 20 01 34 +T D1 04 00 00 23 20 01 34 R 00 00 01 00 -T A5 04 00 00 +T D5 04 00 00 R 00 00 01 00 -T A5 04 00 00 DD 4E 04 DD 46 05 21 06 00 DD 5E +T D5 04 00 00 DD 4E 04 DD 46 05 21 06 00 DD 5E R 00 00 01 00 -T B0 04 00 00 F4 DD 56 F5 19 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0C 00 -T B8 04 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 0C 00 02 0A 00 00 -T BF 04 00 00 27 06 00 00 +T E0 04 00 00 F4 DD 56 F5 19 EB 3E 00 00 00 00 +R 00 00 01 00 2B 0B 11 00 +T E8 04 00 00 21 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 05 11 00 02 0A 00 00 +T EF 04 00 00 63 06 00 00 R 00 00 01 00 00 04 01 00 -T C1 04 00 00 +T F1 04 00 00 R 00 00 01 00 -T C1 04 00 00 DD 6E F4 DD 66 F5 23 23 46 05 05 +T F1 04 00 00 DD 6E F4 DD 66 F5 23 23 46 05 05 R 00 00 01 00 -T CC 04 00 00 28 38 DD 6E F4 DD 66 F5 23 23 7E +T FC 04 00 00 28 3C DD 6E F4 DD 66 F5 23 23 7E R 00 00 01 00 -T D7 04 00 00 FE 03 28 2B +T 07 05 00 00 FE 03 28 2F R 00 00 01 00 -T DB 04 00 00 +T 0B 05 00 00 R 00 00 01 00 -T DB 04 00 00 +T 0B 05 00 00 R 00 00 01 00 -T DB 04 00 00 +T 0B 05 00 00 R 00 00 01 00 -T DB 04 00 00 21 56 01 00 00 E5 DD 4E 04 DD 46 -R 00 00 01 00 00 05 02 00 -T E4 04 00 00 05 DD 5E F4 DD 56 F5 3E +T 0B 05 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 1A 00 02 0B 1A 00 +T 11 05 00 00 E5 DD 4E 04 DD 46 05 DD 5E F4 DD R 00 00 01 00 -T EC 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 -T F1 04 00 00 00 00 00 00 E1 21 8C 00 DD 4E F4 -R 00 00 01 00 02 04 00 00 -T FA 04 00 00 DD 46 F5 09 34 23 20 01 34 +T 1C 05 00 00 56 F5 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 21 00 +T 21 05 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 21 00 02 09 00 00 +T 28 05 00 00 21 8C 00 DD 4E F4 DD 46 F5 09 34 +R 00 00 01 00 +T 33 05 00 00 23 20 01 34 R 00 00 01 00 -T 03 05 00 00 +T 37 05 00 00 R 00 00 01 00 -T 03 05 00 00 C3 27 06 00 00 +T 37 05 00 00 C3 63 06 00 00 R 00 00 01 00 00 05 01 00 -T 06 05 00 00 +T 3A 05 00 00 R 00 00 01 00 -T 06 05 00 00 21 82 00 DD 4E F4 DD 46 F5 09 34 +T 3A 05 00 00 21 82 00 DD 4E F4 DD 46 F5 09 34 R 00 00 01 00 -T 11 05 00 00 23 20 01 34 +T 45 05 00 00 23 20 01 34 R 00 00 01 00 -T 15 05 00 00 +T 49 05 00 00 R 00 00 01 00 -T 15 05 00 00 DD 4E 04 DD 46 05 21 24 00 DD 5E +T 49 05 00 00 DD 4E 04 DD 46 05 21 24 00 DD 5E R 00 00 01 00 -T 20 05 00 00 F4 DD 56 F5 19 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T 28 05 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 07 00 02 0A 00 00 -T 2F 05 00 00 27 06 00 00 +T 54 05 00 00 F4 DD 56 F5 19 EB 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0E 00 +T 5C 05 00 00 21 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 05 0E 00 02 0A 00 00 +T 63 05 00 00 63 06 00 00 R 00 00 01 00 00 04 01 00 -T 31 05 00 00 +T 65 05 00 00 R 00 00 01 00 -T 31 05 00 00 DD 6E F4 DD 66 F5 23 23 7E FE 03 +T 65 05 00 00 DD 6E F4 DD 66 F5 23 23 7E FE 03 R 00 00 01 00 -T 3C 05 00 00 28 2B +T 70 05 00 00 28 2F R 00 00 01 00 -T 3E 05 00 00 +T 72 05 00 00 R 00 00 01 00 -T 3E 05 00 00 21 73 01 00 00 E5 DD 4E 04 DD 46 -R 00 00 01 00 00 05 02 00 -T 47 05 00 00 05 DD 5E F4 DD 56 F5 3E +T 72 05 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 07 00 02 0B 07 00 +T 78 05 00 00 E5 DD 4E 04 DD 46 05 DD 5E F4 DD R 00 00 01 00 -T 4F 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 -T 54 05 00 00 00 00 00 00 E1 21 8C 00 DD 4E F4 -R 00 00 01 00 02 04 00 00 -T 5D 05 00 00 DD 46 F5 09 34 23 20 01 34 +T 83 05 00 00 56 F5 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 21 00 +T 88 05 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 21 00 02 09 00 00 +T 8F 05 00 00 21 8C 00 DD 4E F4 DD 46 F5 09 34 +R 00 00 01 00 +T 9A 05 00 00 23 20 01 34 R 00 00 01 00 -T 66 05 00 00 +T 9E 05 00 00 R 00 00 01 00 -T 66 05 00 00 C3 27 06 00 00 +T 9E 05 00 00 C3 63 06 00 00 R 00 00 01 00 00 05 01 00 -T 69 05 00 00 +T A1 05 00 00 R 00 00 01 00 -T 69 05 00 00 21 84 00 DD 4E F4 DD 46 F5 09 34 +T A1 05 00 00 21 84 00 DD 4E F4 DD 46 F5 09 34 R 00 00 01 00 -T 74 05 00 00 23 20 01 34 +T AC 05 00 00 23 20 01 34 R 00 00 01 00 -T 78 05 00 00 +T B0 05 00 00 R 00 00 01 00 -T 78 05 00 00 DD 4E 04 DD 46 05 21 42 00 DD 5E +T B0 05 00 00 DD 4E 04 DD 46 05 21 42 00 DD 5E R 00 00 01 00 -T 83 05 00 00 F4 DD 56 F5 19 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0C 00 -T 8B 05 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 0C 00 02 0A 00 00 -T 92 05 00 00 27 06 00 00 +T BB 05 00 00 F4 DD 56 F5 19 EB 3E 00 00 00 00 +R 00 00 01 00 2B 0B 11 00 +T C3 05 00 00 21 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 05 11 00 02 0A 00 00 +T CA 05 00 00 63 06 00 00 R 00 00 01 00 00 04 01 00 -T 94 05 00 00 +T CC 05 00 00 R 00 00 01 00 -T 94 05 00 00 21 05 00 DD 4E F4 DD 46 F5 09 7E +T CC 05 00 00 21 05 00 DD 4E F4 DD 46 F5 09 7E R 00 00 01 00 -T 9F 05 00 00 B7 28 31 +T D7 05 00 00 B7 28 35 R 00 00 01 00 -T A2 05 00 00 +T DA 05 00 00 R 00 00 01 00 -T A2 05 00 00 DD 6E FA DD 66 FB E5 DD 6E F4 DD +T DA 05 00 00 DD 6E FA DD 66 FB E5 DD 6E F4 DD R 00 00 01 00 -T AD 05 00 00 66 F5 46 23 66 68 23 23 4E 23 46 +T E5 05 00 00 66 F5 46 23 66 68 23 23 4E 23 46 R 00 00 01 00 -T B8 05 00 00 C5 21 8E 01 00 00 E5 DD 6E F4 DD -R 00 00 01 00 00 06 02 00 -T C1 05 00 00 66 F5 4E 23 46 C5 3E 00 00 00 00 -R 00 00 01 00 2B 0B 13 00 -T C9 05 00 00 21 00 00 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 02 05 13 00 02 0A 00 00 -T D0 05 00 00 E1 E1 E1 +T F0 05 00 00 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 06 1F 00 +T F5 05 00 00 00 00 00 00 E5 DD 6E F4 DD 66 F5 +R 00 00 01 00 02 04 1F 00 +T FE 05 00 00 4E 23 46 C5 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0B 00 +T 05 06 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 0B 00 02 09 00 00 +T 0C 06 00 00 E1 E1 E1 R 00 00 01 00 -T D3 05 00 00 +T 0F 06 00 00 R 00 00 01 00 -T D3 05 00 00 21 86 00 DD 4E F4 DD 46 F5 09 34 +T 0F 06 00 00 21 86 00 DD 4E F4 DD 46 F5 09 34 R 00 00 01 00 -T DE 05 00 00 23 20 01 34 +T 1A 06 00 00 23 20 01 34 R 00 00 01 00 -T E2 05 00 00 +T 1E 06 00 00 R 00 00 01 00 -T E2 05 00 00 DD 4E 04 DD 46 05 21 04 00 39 5D +T 1E 06 00 00 DD 4E 04 DD 46 05 21 04 00 39 5D R 00 00 01 00 -T ED 05 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 03 00 02 0B 03 00 -T F3 05 00 00 CD 00 00 00 00 DD 5E 04 DD 56 05 +T 29 06 00 00 54 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 05 00 02 0B 05 00 +T 2F 06 00 00 CD 00 00 00 00 DD 5E 04 DD 56 05 R 00 00 01 00 02 05 00 00 -T FC 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 10 00 02 0A 10 00 -T 02 06 00 00 00 00 00 00 DD 6E 04 DD 66 05 E5 +T 38 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 16 00 02 0A 16 00 +T 3E 06 00 00 00 00 00 00 DD 6E 04 DD 66 05 E5 R 00 00 01 00 02 04 00 00 -T 0B 06 00 00 0E 00 C5 0E 08 21 06 00 DD 5E F4 +T 47 06 00 00 0E 00 C5 0E 08 21 06 00 DD 5E F4 R 00 00 01 00 -T 16 06 00 00 DD 56 F5 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 05 00 -T 1E 06 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 05 00 02 09 00 00 -T 25 06 00 00 18 00 +T 52 06 00 00 DD 56 F5 19 EB 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0A 00 +T 5A 06 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 0A 00 02 09 00 00 +T 61 06 00 00 18 00 R 00 00 01 00 -T 27 06 00 00 +T 63 06 00 00 R 00 00 01 00 -T 27 06 00 00 +T 63 06 00 00 R 00 00 01 00 -T 27 06 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 70 70 70 5F 70 72 6F 63 3A 20 6D -R 00 00 02 00 -T 0B 00 00 00 69 73 73 69 6E 67 20 62 75 66 66 -R 00 00 02 00 -T 16 00 00 00 65 72 00 -R 00 00 02 00 -T 19 00 00 00 -R 00 00 02 00 -T 19 00 00 00 6D 69 73 73 69 6E 67 20 41 4C 4C -R 00 00 02 00 -T 24 00 00 00 20 61 64 64 72 65 73 73 00 -R 00 00 02 00 -T 2D 00 00 00 -R 00 00 02 00 -T 2D 00 00 00 6D 69 73 73 69 6E 67 20 55 49 00 -R 00 00 02 00 -T 38 00 00 00 -R 00 00 02 00 -T 38 00 00 00 6D 69 73 73 69 6E 67 20 75 70 70 -R 00 00 02 00 -T 43 00 00 00 65 72 20 70 72 6F 74 6F 63 6F 6C -R 00 00 02 00 -T 4E 00 00 00 20 62 79 74 65 00 -R 00 00 02 00 -T 54 00 00 00 -R 00 00 02 00 -T 54 00 00 00 6D 69 73 73 69 6E 67 20 6C 6F 77 -R 00 00 02 00 -T 5F 00 00 00 65 72 20 70 72 6F 74 6F 63 6F 6C -R 00 00 02 00 -T 6A 00 00 00 20 62 79 74 65 00 -R 00 00 02 00 -T 70 00 00 00 -R 00 00 02 00 -T 70 00 00 00 6E 6F 74 20 6F 70 65 6E 20 66 6F -R 00 00 02 00 -T 7B 00 00 00 72 20 49 50 20 74 72 61 66 66 69 -R 00 00 02 00 -T 86 00 00 00 63 00 -R 00 00 02 00 -T 88 00 00 00 -R 00 00 02 00 -T 88 00 00 00 6E 6F 74 20 6F 70 65 6E 20 66 6F -R 00 00 02 00 -T 93 00 00 00 72 20 43 6F 6D 70 72 65 73 73 65 -R 00 00 02 00 -T 9E 00 00 00 64 20 54 43 50 2F 49 50 20 74 72 -R 00 00 02 00 -T A9 00 00 00 61 66 66 69 63 00 -R 00 00 02 00 -T AF 00 00 00 -R 00 00 02 00 -T AF 00 00 00 43 6F 6D 70 72 65 73 73 65 64 20 -R 00 00 02 00 -T BA 00 00 00 54 43 50 2F 49 50 20 6E 6F 74 20 -R 00 00 02 00 -T C5 00 00 00 65 6E 61 62 6C 65 64 00 -R 00 00 02 00 -T CD 00 00 00 -R 00 00 02 00 -T CD 00 00 00 43 6F 6D 70 72 65 73 73 65 64 20 -R 00 00 02 00 -T D8 00 00 00 54 43 50 2F 49 50 20 70 61 63 6B -R 00 00 02 00 -T E3 00 00 00 65 74 20 65 72 72 6F 72 00 -R 00 00 02 00 -T EC 00 00 00 -R 00 00 02 00 -T EC 00 00 00 6E 6F 74 20 6F 70 65 6E 20 66 6F -R 00 00 02 00 -T F7 00 00 00 72 20 55 6E 63 6F 6D 70 72 65 73 -R 00 00 02 00 -T 02 01 00 00 73 65 64 20 54 43 50 2F 49 50 20 -R 00 00 02 00 -T 0D 01 00 00 74 72 61 66 66 69 63 00 -R 00 00 02 00 -T 15 01 00 00 -R 00 00 02 00 -T 15 01 00 00 55 6E 63 6F 6D 70 72 65 73 73 65 -R 00 00 02 00 -T 20 01 00 00 64 20 54 43 50 2F 49 50 20 6E 6F -R 00 00 02 00 -T 2B 01 00 00 74 20 65 6E 61 62 6C 65 64 00 -R 00 00 02 00 -T 35 01 00 00 -R 00 00 02 00 -T 35 01 00 00 55 6E 63 6F 6D 70 72 65 73 73 65 -R 00 00 02 00 -T 40 01 00 00 64 20 54 43 50 2F 49 50 20 70 61 -R 00 00 02 00 -T 4B 01 00 00 63 6B 65 74 20 65 72 72 6F 72 00 -R 00 00 02 00 -T 56 01 00 00 -R 00 00 02 00 -T 56 01 00 00 6E 6F 74 20 72 65 61 64 79 20 66 -R 00 00 02 00 -T 61 01 00 00 6F 72 20 41 75 74 68 65 6E 74 69 -R 00 00 02 00 -T 6C 01 00 00 63 61 74 69 6F 6E 00 -R 00 00 02 00 -T 73 01 00 00 -R 00 00 02 00 -T 73 01 00 00 6E 6F 74 20 72 65 61 64 79 20 66 -R 00 00 02 00 -T 7E 01 00 00 6F 72 20 49 50 43 50 20 74 72 61 -R 00 00 02 00 -T 89 01 00 00 66 66 69 63 00 -R 00 00 02 00 -T 8E 01 00 00 -R 00 00 02 00 -T 8E 01 00 00 25 73 20 50 50 50 20 55 6E 6B 6E -R 00 00 02 00 -T 99 01 00 00 6F 77 6E 20 70 61 63 6B 65 74 20 -R 00 00 02 00 -T A4 01 00 00 70 72 6F 74 6F 63 6F 6C 3A 20 25 -R 00 00 02 00 -T AF 01 00 00 78 3B 00 -R 00 00 02 00 +T 63 06 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 0D 00 diff --git a/src/nos/lib/ppp_lib/ppp_raw.rel b/src/nos/lib/ppp_lib/ppp_raw.rel index ec8418d1..b4ad33fc 100644 --- a/src/nos/lib/ppp_lib/ppp_raw.rel +++ b/src/nos/lib/ppp_lib/ppp_raw.rel @@ -1,35 +1,34 @@ XL4 -H 3 areas 17 global symbols +H 2 areas 17 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _secclock Ref00000000 -S _Nospace Ref00000000 S ?L_AND_L03 Ref00000000 S _len_p Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _alloc_mbuf Ref00000000 -S _asy_send Ref00000000 -S _ppp_error Ref00000000 +S _Esccchan Ref00000000 S ?L_ADDASG_L03 Ref00000000 S .__.ABS. Def00000000 S ?L_LSH_L03 Ref00000000 S _raw_dump Ref00000000 S _get16 Ref00000000 +S _escc_send Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 S ?L_INCASG_L03 Ref00000000 -S _Asy Ref00000000 S _fcstab Ref00000000 +S ___0380_c43d_No_20space_21_21_0a Ref00000000 S _pull8 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _dump Ref00000000 +S __ppp_error Ref00000000 +S ___05a0_01ce_link_20header_20mis Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 5E0 flags 0 +A CODE size 5ED flags 0 S _ppp_raw Def00000000 -A CSTR size 14 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 E4 FF 21 39 00 DD -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0D 00 T 09 00 00 00 5E 02 DD 56 03 19 7E 23 66 6F DD R 00 00 01 00 T 14 00 00 00 75 E4 DD 74 E5 01 22 00 09 46 23 @@ -45,21 +44,21 @@ R 00 00 01 00 T 4B 00 00 00 4E 23 46 C5 01 01 00 3E R 00 00 01 00 T 53 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 15 00 02 09 15 00 +R 00 00 01 00 2B 04 13 00 02 09 13 00 T 58 00 00 00 00 00 00 00 E1 21 66 00 DD 4E E4 R 00 00 01 00 02 04 00 00 T 61 00 00 00 DD 46 E5 09 E5 DD 6E 04 DD 66 05 R 00 00 01 00 T 6C 00 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 04 00 +R 00 00 01 00 2B 08 03 00 T 72 00 00 00 00 00 00 00 CD 00 00 00 00 EB 13 -R 00 00 01 00 02 04 04 00 02 09 00 00 +R 00 00 01 00 02 04 03 00 02 09 00 00 T 79 00 00 00 13 01 00 00 E1 CD 00 00 00 00 21 -R 00 00 01 00 02 0A 09 00 +R 00 00 01 00 02 0A 07 00 T 82 00 00 00 55 00 DD 4E 02 DD 46 03 09 CD R 00 00 01 00 T 8C 00 00 00 00 00 00 00 21 61 00 DD 4E 02 DD -R 00 00 01 00 02 04 10 00 +R 00 00 01 00 02 04 0E 00 T 95 00 00 00 46 03 09 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 09 01 00 T 9C 00 00 00 00 00 00 00 CD 00 00 00 00 EB E1 @@ -70,7 +69,7 @@ T AE 00 00 00 66 05 7E 23 B6 28 1A DD 6E 04 DD R 00 00 01 00 T B9 00 00 00 66 05 46 23 66 68 01 0C 00 09 46 R 00 00 01 00 -T C4 00 00 00 23 66 68 01 04 00 A7 ED 42 30 2E +T C4 00 00 00 23 66 68 01 04 00 A7 ED 42 30 32 R 00 00 01 00 T CF 00 00 00 R 00 00 01 00 @@ -78,407 +77,405 @@ T CF 00 00 00 R 00 00 01 00 T CF 00 00 00 R 00 00 01 00 -T CF 00 00 00 21 00 00 00 00 E5 DD 4E 04 DD 46 -R 00 00 01 00 00 05 02 00 -T D8 00 00 00 05 DD 5E E4 DD 56 E5 3E +T CF 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 15 00 02 0B 15 00 +T D5 00 00 00 E5 DD 4E 04 DD 46 05 DD 5E E4 DD R 00 00 01 00 -T E0 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T E5 00 00 00 00 00 00 00 E1 21 74 00 DD 4E E4 -R 00 00 01 00 02 04 00 00 -T EE 00 00 00 DD 46 E5 09 34 23 20 01 34 +T E0 00 00 00 56 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 14 00 +T E5 00 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 14 00 02 09 00 00 +T EC 00 00 00 21 74 00 DD 4E E4 DD 46 E5 09 34 R 00 00 01 00 -T F7 00 00 00 +T F7 00 00 00 23 20 01 34 R 00 00 01 00 -T F7 00 00 00 21 FF FF C3 DD 05 00 00 +T FB 00 00 00 +R 00 00 01 00 +T FB 00 00 00 21 FF FF C3 EA 05 00 00 R 00 00 01 00 00 08 01 00 -T FD 00 00 00 +T 01 01 00 00 R 00 00 01 00 -T FD 00 00 00 DD 6E 04 DD 66 05 46 23 66 68 01 +T 01 01 00 00 DD 6E 04 DD 66 05 46 23 66 68 01 R 00 00 01 00 -T 08 01 00 00 0A 00 09 7E 23 66 6F 46 DD 70 F4 +T 0C 01 00 00 0A 00 09 7E 23 66 6F 46 DD 70 F4 R 00 00 01 00 -T 13 01 00 00 DD 6E 04 DD 66 05 46 23 66 68 01 +T 17 01 00 00 DD 6E 04 DD 66 05 46 23 66 68 01 R 00 00 01 00 -T 1E 01 00 00 0A 00 09 46 23 66 68 23 46 DD 70 +T 22 01 00 00 0A 00 09 46 23 66 68 23 46 DD 70 R 00 00 01 00 -T 29 01 00 00 F5 DD 6E 04 DD 66 05 46 23 66 68 +T 2D 01 00 00 F5 DD 6E 04 DD 66 05 46 23 66 68 R 00 00 01 00 -T 34 01 00 00 01 0A 00 09 5E 23 56 13 13 3E +T 38 01 00 00 01 0A 00 09 5E 23 56 13 13 3E R 00 00 01 00 -T 3E 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0D 00 02 09 0D 00 -T 43 01 00 00 00 00 00 00 DD 75 F6 DD 74 F7 DD +T 42 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +T 47 01 00 00 00 00 00 00 DD 75 F6 DD 74 F7 DD R 00 00 01 00 02 04 00 00 -T 4C 01 00 00 6E F6 DD 66 F7 01 21 C0 A7 ED 42 +T 50 01 00 00 6E F6 DD 66 F7 01 21 C0 A7 ED 42 R 00 00 01 00 -T 57 01 00 00 20 04 0E 01 18 02 +T 5B 01 00 00 20 04 0E 01 18 02 R 00 00 01 00 -T 5D 01 00 00 +T 61 01 00 00 R 00 00 01 00 -T 5D 01 00 00 0E 00 +T 61 01 00 00 0E 00 R 00 00 01 00 -T 5F 01 00 00 +T 63 01 00 00 R 00 00 01 00 -T 5F 01 00 00 06 00 DD 71 E8 DD 70 E9 79 B0 20 +T 63 01 00 00 06 00 DD 71 E8 DD 70 E9 79 B0 20 R 00 00 01 00 -T 6A 01 00 00 2D 21 40 00 DD 4E E6 DD 46 E7 09 +T 6E 01 00 00 2D 21 40 00 DD 4E E6 DD 46 E7 09 R 00 00 01 00 -T 75 01 00 00 7E E6 04 28 1E +T 79 01 00 00 7E E6 04 28 1E R 00 00 01 00 -T 7A 01 00 00 +T 7E 01 00 00 R 00 00 01 00 -T 7A 01 00 00 +T 7E 01 00 00 R 00 00 01 00 -T 7A 01 00 00 +T 7E 01 00 00 R 00 00 01 00 -T 7A 01 00 00 21 44 00 DD 4E E6 DD 46 E7 09 5E +T 7E 01 00 00 21 44 00 DD 4E E6 DD 46 E7 09 5E R 00 00 01 00 -T 85 01 00 00 23 56 23 4E 23 46 EB DD 75 F0 DD +T 89 01 00 00 23 56 23 4E 23 46 EB DD 75 F0 DD R 00 00 01 00 -T 90 01 00 00 74 F1 DD 71 F2 DD 70 F3 +T 94 01 00 00 74 F1 DD 71 F2 DD 70 F3 R 00 00 01 00 -T 98 01 00 00 +T 9C 01 00 00 R 00 00 01 00 -T 98 01 00 00 DD 7E E8 DD B6 E9 20 28 21 40 00 +T 9C 01 00 00 DD 7E E8 DD B6 E9 20 28 21 40 00 R 00 00 01 00 -T A3 01 00 00 DD 4E E6 DD 46 E7 09 7E E6 80 47 +T A7 01 00 00 DD 4E E6 DD 46 E7 09 7E E6 80 47 R 00 00 01 00 -T AE 01 00 00 23 7E E6 00 B0 28 13 DD 6E F6 DD +T B2 01 00 00 23 7E E6 00 B0 28 13 DD 6E F6 DD R 00 00 01 00 -T B9 01 00 00 66 F7 01 FF 00 A7 ED 42 30 05 21 +T BD 01 00 00 66 F7 01 FF 00 A7 ED 42 30 05 21 R 00 00 01 00 -T C4 01 00 00 00 00 18 03 +T C8 01 00 00 00 00 18 03 R 00 00 01 00 -T C8 01 00 00 +T CC 01 00 00 R 00 00 01 00 -T C8 01 00 00 21 01 00 +T CC 01 00 00 21 01 00 R 00 00 01 00 -T CB 01 00 00 +T CF 01 00 00 R 00 00 01 00 -T CB 01 00 00 DD 75 EC DD 74 ED 7D B4 20 0D +T CF 01 00 00 DD 75 EC DD 74 ED 7D B4 20 0D R 00 00 01 00 -T D5 01 00 00 +T D9 01 00 00 R 00 00 01 00 -T D5 01 00 00 DD 6E F8 DD 66 F9 2B DD 75 F8 DD +T D9 01 00 00 DD 6E F8 DD 66 F9 2B DD 75 F8 DD R 00 00 01 00 -T E0 01 00 00 74 F9 +T E4 01 00 00 74 F9 R 00 00 01 00 -T E2 01 00 00 +T E6 01 00 00 R 00 00 01 00 -T E2 01 00 00 DD 7E E8 DD B6 E9 20 1A 21 40 00 +T E6 01 00 00 DD 7E E8 DD B6 E9 20 1A 21 40 00 R 00 00 01 00 -T ED 01 00 00 DD 4E E6 DD 46 E7 09 7E E6 00 47 +T F1 01 00 00 DD 4E E6 DD 46 E7 09 7E E6 00 47 R 00 00 01 00 -T F8 01 00 00 23 7E E6 01 B0 28 05 21 00 00 18 +T FC 01 00 00 23 7E E6 01 B0 28 05 21 00 00 18 R 00 00 01 00 -T 03 02 00 00 03 +T 07 02 00 00 03 R 00 00 01 00 -T 04 02 00 00 +T 08 02 00 00 R 00 00 01 00 -T 04 02 00 00 21 01 00 +T 08 02 00 00 21 01 00 R 00 00 01 00 -T 07 02 00 00 +T 0B 02 00 00 R 00 00 01 00 -T 07 02 00 00 DD 75 EA DD 74 EB 7D B4 20 0D +T 0B 02 00 00 DD 75 EA DD 74 EB 7D B4 20 0D R 00 00 01 00 -T 11 02 00 00 +T 15 02 00 00 R 00 00 01 00 -T 11 02 00 00 21 14 00 39 7E D6 02 77 23 7E DE +T 15 02 00 00 21 14 00 39 7E D6 02 77 23 7E DE R 00 00 01 00 -T 1C 02 00 00 00 77 +T 20 02 00 00 00 77 R 00 00 01 00 -T 1E 02 00 00 +T 22 02 00 00 R 00 00 01 00 -T 1E 02 00 00 DD 6E 04 DD 66 05 46 23 66 68 01 +T 22 02 00 00 DD 6E 04 DD 66 05 46 23 66 68 01 R 00 00 01 00 -T 29 02 00 00 0C 00 09 E5 DD 4E F8 DD 46 F9 21 +T 2D 02 00 00 0C 00 09 E5 DD 4E F8 DD 46 F9 21 R 00 00 01 00 -T 34 02 00 00 04 00 A7 ED 42 EB E1 7E 93 77 23 +T 38 02 00 00 04 00 A7 ED 42 EB E1 7E 93 77 23 R 00 00 01 00 -T 3F 02 00 00 7E 9A 77 DD 6E 04 DD 66 05 56 23 +T 43 02 00 00 7E 9A 77 DD 6E 04 DD 66 05 56 23 R 00 00 01 00 -T 4A 02 00 00 66 6A 11 0A 00 19 E5 21 04 00 A7 +T 4E 02 00 00 66 6A 11 0A 00 19 E5 21 04 00 A7 R 00 00 01 00 -T 55 02 00 00 ED 42 4D 44 E1 7E 81 77 23 7E 88 +T 59 02 00 00 ED 42 4D 44 E1 7E 81 77 23 7E 88 R 00 00 01 00 -T 60 02 00 00 77 2B 6E 67 DD 75 FC DD 74 FD DD +T 64 02 00 00 77 2B 6E 67 DD 75 FC DD 74 FD DD R 00 00 01 00 -T 6B 02 00 00 7E EA DD B6 EB 28 24 +T 6F 02 00 00 7E EA DD B6 EB 28 24 R 00 00 01 00 -T 72 02 00 00 +T 76 02 00 00 R 00 00 01 00 -T 72 02 00 00 DD 46 F4 DD 6E FC DD 66 FD 23 DD +T 76 02 00 00 DD 46 F4 DD 6E FC DD 66 FD 23 DD R 00 00 01 00 -T 7D 02 00 00 75 FC DD 74 FD 2B 70 DD 46 F5 DD +T 81 02 00 00 75 FC DD 74 FD 2B 70 DD 46 F5 DD R 00 00 01 00 -T 88 02 00 00 6E FC DD 66 FD 23 DD 75 FC DD 74 +T 8C 02 00 00 6E FC DD 66 FD 23 DD 75 FC DD 74 R 00 00 01 00 -T 93 02 00 00 FD 2B 70 +T 97 02 00 00 FD 2B 70 R 00 00 01 00 -T 96 02 00 00 +T 9A 02 00 00 R 00 00 01 00 -T 96 02 00 00 DD 7E EC DD B6 ED 28 1A +T 9A 02 00 00 DD 7E EC DD B6 ED 28 1A R 00 00 01 00 -T 9E 02 00 00 +T A2 02 00 00 R 00 00 01 00 -T 9E 02 00 00 DD 6E F6 DD 66 F7 6C 26 00 E5 DD +T A2 02 00 00 DD 6E F6 DD 66 F7 6C 26 00 E5 DD R 00 00 01 00 -T A9 02 00 00 6E FC DD 66 FD 23 DD 75 FC DD 74 +T AD 02 00 00 6E FC DD 66 FD 23 DD 75 FC DD 74 R 00 00 01 00 -T B4 02 00 00 FD 2B C1 71 +T B8 02 00 00 FD 2B C1 71 R 00 00 01 00 -T B8 02 00 00 +T BC 02 00 00 R 00 00 01 00 -T B8 02 00 00 DD 7E F6 E6 FF DD 6E FC DD 66 FD +T BC 02 00 00 DD 7E F6 E6 FF DD 6E FC DD 66 FD R 00 00 01 00 -T C3 02 00 00 23 DD 75 FC DD 74 FD 2B 77 DD 6E +T C7 02 00 00 23 DD 75 FC DD 74 FD 2B 77 DD 6E R 00 00 01 00 -T CE 02 00 00 04 DD 66 05 5E 23 56 3E +T D2 02 00 00 04 DD 66 05 5E 23 56 3E R 00 00 01 00 -T D6 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T DB 02 00 00 00 00 00 00 29 01 08 00 09 EB 3E +T DA 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T DF 02 00 00 00 00 00 00 29 01 08 00 09 EB 3E R 00 00 01 00 02 04 00 00 -T E4 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 -T E9 02 00 00 00 00 00 00 DD 75 FA DD 74 FB 7D +T E8 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T ED 02 00 00 00 00 00 00 DD 75 FA DD 74 FB 7D R 00 00 01 00 02 04 00 00 -T F2 02 00 00 B4 20 2E +T F6 02 00 00 B4 20 32 R 00 00 01 00 -T F5 02 00 00 +T F9 02 00 00 R 00 00 01 00 -T F5 02 00 00 21 00 00 00 00 E5 DD 4E 04 DD 46 -R 00 00 01 00 02 05 02 00 -T FE 02 00 00 05 DD 5E E4 DD 56 E5 3E +T F9 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 10 00 02 0B 10 00 +T FF 02 00 00 E5 DD 4E 04 DD 46 05 DD 5E E4 DD R 00 00 01 00 -T 06 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T 0B 03 00 00 00 00 00 00 E1 21 76 00 DD 4E E4 -R 00 00 01 00 02 04 00 00 -T 14 03 00 00 DD 46 E5 09 34 23 20 01 34 +T 0A 03 00 00 56 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 14 00 +T 0F 03 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 14 00 02 09 00 00 +T 16 03 00 00 21 76 00 DD 4E E4 DD 46 E5 09 34 R 00 00 01 00 -T 1D 03 00 00 +T 21 03 00 00 23 20 01 34 R 00 00 01 00 -T 1D 03 00 00 21 FF FF C3 DD 05 00 00 +T 25 03 00 00 +R 00 00 01 00 +T 25 03 00 00 21 FF FF C3 EA 05 00 00 R 00 00 01 00 00 08 01 00 -T 23 03 00 00 +T 2B 03 00 00 +R 00 00 01 00 +T 2B 03 00 00 21 0A 00 DD 4E FA DD 46 FB 09 46 R 00 00 01 00 -T 23 03 00 00 21 0A 00 DD 4E FA DD 46 FB 09 46 +T 36 03 00 00 23 66 68 DD 75 FC DD 74 FD 21 R 00 00 01 00 -T 2E 03 00 00 23 66 68 DD 75 FC DD 74 FD 21 +T 40 03 00 00 2C 00 DD 4E 02 DD 46 03 09 46 23 R 00 00 01 00 -T 38 03 00 00 2C 00 DD 4E 02 DD 46 03 09 4E 23 +T 4B 03 00 00 66 68 29 01 00 00 00 00 09 46 23 +R 00 00 01 00 02 08 06 00 +T 54 03 00 00 66 68 01 49 00 09 7E 23 B6 20 1D R 00 00 01 00 -T 43 03 00 00 46 11 5A 00 CD 00 00 00 00 21 -R 00 00 01 00 02 09 0F 00 -T 4B 03 00 00 18 00 00 00 19 7E B7 20 1D -R 00 00 01 00 02 04 11 00 -T 52 03 00 00 +T 5F 03 00 00 R 00 00 01 00 -T 52 03 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD +T 5F 03 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD R 00 00 01 00 -T 5D 03 00 00 74 FD 2B 36 7E 21 6A 00 DD 4E E4 +T 6A 03 00 00 74 FD 2B 36 7E 21 6A 00 DD 4E E4 R 00 00 01 00 -T 68 03 00 00 DD 46 E5 09 CD 00 00 00 00 -R 00 00 01 00 02 09 10 00 -T 6F 03 00 00 +T 75 03 00 00 DD 46 E5 09 CD 00 00 00 00 +R 00 00 01 00 02 09 0E 00 +T 7C 03 00 00 R 00 00 01 00 -T 6F 03 00 00 +T 7C 03 00 00 R 00 00 01 00 -T 6F 03 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 13 00 -T 77 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 13 00 02 0A 00 00 -T 7E 03 00 00 75 FE DD 74 FF 7D A4 3C CA +T 7C 03 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 +R 00 00 01 00 2B 0B 11 00 +T 84 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 11 00 02 0A 00 00 +T 8B 03 00 00 75 FE DD 74 FF 7D A4 3C CA R 00 00 01 00 -T 87 03 00 00 41 04 00 00 +T 94 03 00 00 4E 04 00 00 R 00 00 01 00 00 04 01 00 -T 89 03 00 00 +T 96 03 00 00 R 00 00 01 00 -T 89 03 00 00 DD 6E EE DD 66 EF 6C 26 00 E5 DD +T 96 03 00 00 DD 6E EE DD 66 EF 6C 26 00 E5 DD R 00 00 01 00 -T 94 03 00 00 7E EE DD AE FE 6F DD 7E EF DD AE +T A1 03 00 00 7E EE DD AE FE 6F DD 7E EF DD AE R 00 00 01 00 -T 9F 03 00 00 FF 67 7D E6 FF 4F 7C E6 00 47 69 +T AC 03 00 00 FF 67 7D E6 FF 4F 7C E6 00 47 69 R 00 00 01 00 -T AA 03 00 00 60 29 01 00 00 00 00 09 C1 79 AE -R 00 00 01 00 02 07 12 00 -T B3 03 00 00 5F 78 23 AE 57 DD 73 EE DD 72 EF +T B7 03 00 00 60 29 01 00 00 00 00 09 C1 79 AE +R 00 00 01 00 02 07 0F 00 +T C0 03 00 00 5F 78 23 AE 57 DD 73 EE DD 72 EF R 00 00 01 00 -T BE 03 00 00 01 20 80 DD 6E FE DD 66 FF 3E 80 +T CB 03 00 00 01 20 80 DD 6E FE DD 66 FF 3E 80 R 00 00 01 00 -T C9 03 00 00 AC 67 ED 42 30 23 DD 6E F2 DD 66 +T D6 03 00 00 AC 67 ED 42 30 23 DD 6E F2 DD 66 R 00 00 01 00 -T D4 03 00 00 F3 E5 DD 6E F0 DD 66 F1 E5 DD 7E +T E1 03 00 00 F3 E5 DD 6E F0 DD 66 F1 E5 DD 7E R 00 00 01 00 -T DF 03 00 00 FE 01 00 00 21 01 00 CD +T EC 03 00 00 FE 01 00 00 21 01 00 CD R 00 00 01 00 -T E7 03 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 0B 00 02 09 03 00 -T EE 03 00 00 B1 B0 20 14 +T F4 03 00 00 00 00 00 00 CD 00 00 00 00 7D B4 +R 00 00 01 00 02 04 09 00 02 09 02 00 +T FB 03 00 00 B1 B0 20 14 R 00 00 01 00 -T F2 03 00 00 +T FF 03 00 00 R 00 00 01 00 -T F2 03 00 00 +T FF 03 00 00 R 00 00 01 00 -T F2 03 00 00 3E 7D DD AE FE DD B6 FF 28 0A 3E +T FF 03 00 00 3E 7D DD AE FE DD B6 FF 28 0A 3E R 00 00 01 00 -T FD 03 00 00 7E DD AE FE DD B6 FF 20 26 +T 0A 04 00 00 7E DD AE FE DD B6 FF 20 26 R 00 00 01 00 -T 06 04 00 00 +T 13 04 00 00 R 00 00 01 00 -T 06 04 00 00 +T 13 04 00 00 R 00 00 01 00 -T 06 04 00 00 +T 13 04 00 00 R 00 00 01 00 -T 06 04 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD +T 13 04 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD R 00 00 01 00 -T 11 04 00 00 74 FD 2B 36 7D DD 7E FE EE 20 DD +T 1E 04 00 00 74 FD 2B 36 7D DD 7E FE EE 20 DD R 00 00 01 00 -T 1C 04 00 00 6E FC DD 66 FD 23 DD 75 FC DD 74 +T 29 04 00 00 6E FC DD 66 FD 23 DD 75 FC DD 74 R 00 00 01 00 -T 27 04 00 00 FD 2B 77 18 12 +T 34 04 00 00 FD 2B 77 18 12 R 00 00 01 00 -T 2C 04 00 00 +T 39 04 00 00 R 00 00 01 00 -T 2C 04 00 00 DD 46 FE DD 6E FC DD 66 FD 23 DD +T 39 04 00 00 DD 46 FE DD 6E FC DD 66 FD 23 DD R 00 00 01 00 -T 37 04 00 00 75 FC DD 74 FD 2B 70 +T 44 04 00 00 75 FC DD 74 FD 2B 70 R 00 00 01 00 -T 3E 04 00 00 +T 4B 04 00 00 R 00 00 01 00 -T 3E 04 00 00 C3 6F 03 00 00 +T 4B 04 00 00 C3 7C 03 00 00 R 00 00 01 00 00 05 01 00 -T 41 04 00 00 +T 4E 04 00 00 R 00 00 01 00 -T 41 04 00 00 21 0A 00 39 7E EE FF 77 23 7E EE +T 4E 04 00 00 21 0A 00 39 7E EE FF 77 23 7E EE R 00 00 01 00 -T 4C 04 00 00 FF 77 DD 7E EE E6 FF 6F DD 7E EF +T 59 04 00 00 FF 77 DD 7E EE E6 FF 6F DD 7E EF R 00 00 01 00 -T 57 04 00 00 E6 00 67 DD 75 FE DD 74 FF 01 +T 64 04 00 00 E6 00 67 DD 75 FE DD 74 FF 01 R 00 00 01 00 -T 61 04 00 00 20 80 3E 80 AC 67 ED 42 30 23 DD +T 6E 04 00 00 20 80 3E 80 AC 67 ED 42 30 23 DD R 00 00 01 00 -T 6C 04 00 00 6E F2 DD 66 F3 E5 DD 6E F0 DD 66 +T 79 04 00 00 6E F2 DD 66 F3 E5 DD 6E F0 DD 66 R 00 00 01 00 -T 77 04 00 00 F1 E5 DD 7E FE 01 00 00 21 01 00 +T 84 04 00 00 F1 E5 DD 7E FE 01 00 00 21 01 00 R 00 00 01 00 -T 82 04 00 00 CD 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 0B 00 02 0A 03 00 -T 89 04 00 00 B4 B1 B0 20 14 +T 8F 04 00 00 CD 00 00 00 00 CD 00 00 00 00 7D +R 00 00 01 00 02 05 09 00 02 0A 02 00 +T 96 04 00 00 B4 B1 B0 20 14 R 00 00 01 00 -T 8E 04 00 00 +T 9B 04 00 00 R 00 00 01 00 -T 8E 04 00 00 +T 9B 04 00 00 R 00 00 01 00 -T 8E 04 00 00 3E 7D DD AE FE DD B6 FF 28 0A 3E +T 9B 04 00 00 3E 7D DD AE FE DD B6 FF 28 0A 3E R 00 00 01 00 -T 99 04 00 00 7E DD AE FE DD B6 FF 20 26 +T A6 04 00 00 7E DD AE FE DD B6 FF 20 26 R 00 00 01 00 -T A2 04 00 00 +T AF 04 00 00 R 00 00 01 00 -T A2 04 00 00 +T AF 04 00 00 R 00 00 01 00 -T A2 04 00 00 +T AF 04 00 00 R 00 00 01 00 -T A2 04 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD +T AF 04 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD R 00 00 01 00 -T AD 04 00 00 74 FD 2B 36 7D DD 7E FE EE 20 DD +T BA 04 00 00 74 FD 2B 36 7D DD 7E FE EE 20 DD R 00 00 01 00 -T B8 04 00 00 6E FC DD 66 FD 23 DD 75 FC DD 74 +T C5 04 00 00 6E FC DD 66 FD 23 DD 75 FC DD 74 R 00 00 01 00 -T C3 04 00 00 FD 2B 77 18 12 +T D0 04 00 00 FD 2B 77 18 12 R 00 00 01 00 -T C8 04 00 00 +T D5 04 00 00 R 00 00 01 00 -T C8 04 00 00 DD 46 FE DD 6E FC DD 66 FD 23 DD +T D5 04 00 00 DD 46 FE DD 6E FC DD 66 FD 23 DD R 00 00 01 00 -T D3 04 00 00 75 FC DD 74 FD 2B 70 +T E0 04 00 00 75 FC DD 74 FD 2B 70 R 00 00 01 00 -T DA 04 00 00 +T E7 04 00 00 R 00 00 01 00 -T DA 04 00 00 DD 6E EE DD 66 EF 6C 26 00 DD 75 +T E7 04 00 00 DD 6E EE DD 66 EF 6C 26 00 DD 75 R 00 00 01 00 -T E5 04 00 00 FE DD 74 FF 01 20 80 3E 80 AC 67 +T F2 04 00 00 FE DD 74 FF 01 20 80 3E 80 AC 67 R 00 00 01 00 -T F0 04 00 00 ED 42 30 23 DD 6E F2 DD 66 F3 E5 +T FD 04 00 00 ED 42 30 23 DD 6E F2 DD 66 F3 E5 R 00 00 01 00 -T FB 04 00 00 DD 6E F0 DD 66 F1 E5 DD 7E FE 01 +T 08 05 00 00 DD 6E F0 DD 66 F1 E5 DD 7E FE 01 R 00 00 01 00 -T 06 05 00 00 00 00 21 01 00 CD 00 00 00 00 CD -R 00 00 01 00 02 0A 0B 00 -T 0F 05 00 00 00 00 00 00 7D B4 B1 B0 20 14 -R 00 00 01 00 02 04 03 00 -T 17 05 00 00 +T 13 05 00 00 00 00 21 01 00 CD 00 00 00 00 CD +R 00 00 01 00 02 0A 09 00 +T 1C 05 00 00 00 00 00 00 7D B4 B1 B0 20 14 +R 00 00 01 00 02 04 02 00 +T 24 05 00 00 R 00 00 01 00 -T 17 05 00 00 +T 24 05 00 00 R 00 00 01 00 -T 17 05 00 00 3E 7D DD AE FE DD B6 FF 28 0A 3E +T 24 05 00 00 3E 7D DD AE FE DD B6 FF 28 0A 3E R 00 00 01 00 -T 22 05 00 00 7E DD AE FE DD B6 FF 20 26 +T 2F 05 00 00 7E DD AE FE DD B6 FF 20 26 R 00 00 01 00 -T 2B 05 00 00 +T 38 05 00 00 R 00 00 01 00 -T 2B 05 00 00 +T 38 05 00 00 R 00 00 01 00 -T 2B 05 00 00 +T 38 05 00 00 R 00 00 01 00 -T 2B 05 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD +T 38 05 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD R 00 00 01 00 -T 36 05 00 00 74 FD 2B 36 7D DD 7E FE EE 20 DD +T 43 05 00 00 74 FD 2B 36 7D DD 7E FE EE 20 DD R 00 00 01 00 -T 41 05 00 00 6E FC DD 66 FD 23 DD 75 FC DD 74 +T 4E 05 00 00 6E FC DD 66 FD 23 DD 75 FC DD 74 R 00 00 01 00 -T 4C 05 00 00 FD 2B 77 18 12 +T 59 05 00 00 FD 2B 77 18 12 R 00 00 01 00 -T 51 05 00 00 +T 5E 05 00 00 R 00 00 01 00 -T 51 05 00 00 DD 46 FE DD 6E FC DD 66 FD 23 DD +T 5E 05 00 00 DD 46 FE DD 6E FC DD 66 FD 23 DD R 00 00 01 00 -T 5C 05 00 00 75 FC DD 74 FD 2B 70 +T 69 05 00 00 75 FC DD 74 FD 2B 70 R 00 00 01 00 -T 63 05 00 00 +T 70 05 00 00 R 00 00 01 00 -T 63 05 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD +T 70 05 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD R 00 00 01 00 -T 6E 05 00 00 74 FD 2B 36 7E 21 0C 00 DD 4E FA +T 7B 05 00 00 74 FD 2B 36 7E 21 0C 00 DD 4E FA R 00 00 01 00 -T 79 05 00 00 DD 46 FB 09 E5 21 0A 00 09 4E 23 +T 86 05 00 00 DD 46 FB 09 E5 21 0A 00 09 4E 23 R 00 00 01 00 -T 84 05 00 00 46 DD 6E FC DD 66 FD A7 ED 42 4D +T 91 05 00 00 46 DD 6E FC DD 66 FD A7 ED 42 4D R 00 00 01 00 -T 8F 05 00 00 44 E1 71 23 70 21 12 00 DD 4E 02 +T 9C 05 00 00 44 E1 71 23 70 21 12 00 DD 4E 02 R 00 00 01 00 -T 9A 05 00 00 DD 46 03 09 7E E6 00 47 23 7E E6 +T A7 05 00 00 DD 46 03 09 7E E6 00 47 23 7E E6 R 00 00 01 00 -T A5 05 00 00 20 B0 28 19 +T B2 05 00 00 20 B0 28 19 R 00 00 01 00 -T A9 05 00 00 +T B6 05 00 00 R 00 00 01 00 -T A9 05 00 00 DD 6E FA DD 66 FB E5 01 01 00 DD +T B6 05 00 00 DD 6E FA DD 66 FB E5 01 01 00 DD R 00 00 01 00 -T B4 05 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0C 00 -T BC 05 00 00 00 00 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 02 04 0C 00 02 09 00 00 -T C2 05 00 00 +T C1 05 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0A 00 +T C9 05 00 00 00 00 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 04 0A 00 02 09 00 00 +T CF 05 00 00 R 00 00 01 00 -T C2 05 00 00 21 16 00 39 4D 44 21 2C 00 DD 5E +T CF 05 00 00 21 16 00 39 4D 44 21 2C 00 DD 5E R 00 00 01 00 -T CD 05 00 00 02 DD 56 03 19 5E 23 56 3E +T DA 05 00 00 02 DD 56 03 19 5E 23 56 3E R 00 00 01 00 -T D6 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T DB 05 00 00 00 00 00 00 +T E3 05 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +T E8 05 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T DD 05 00 00 +T EA 05 00 00 R 00 00 01 00 -T DD 05 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 6C 69 6E 6B 20 68 65 61 64 65 72 -R 00 00 02 00 -T 0B 00 00 00 20 6D 69 73 73 69 6E 67 00 -R 00 00 02 00 +T EA 05 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 04 00 diff --git a/src/nos/lib/ppp_lib/ppp_recv.rel b/src/nos/lib/ppp_lib/ppp_recv.rel index 2643bee7..e0d4770d 100644 --- a/src/nos/lib/ppp_lib/ppp_recv.rel +++ b/src/nos/lib/ppp_lib/ppp_recv.rel @@ -1,8 +1,7 @@ XL4 -H 3 areas 14 global symbols +H 2 areas 16 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _trim_mbuf Ref00000000 -S _Nospace Ref00000000 S ?L_AND_L03 Ref00000000 S _len_p Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 @@ -11,18 +10,20 @@ S _net_route Ref00000000 S .__.ABS. Def00000000 S ?L_LSH_L03 Ref00000000 S _raw_dump Ref00000000 -S _ppp_skipped Ref00000000 S _kwait Ref00000000 +S ___04df_4a64_checksum_20error Ref00000000 +S ___0503_3d2c_deliberate_20cancel Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S _get_asy Ref00000000 S ?L_INCASG_L03 Ref00000000 S _free_p Ref00000000 S _fcstab Ref00000000 +S ___0380_c43d_No_20space_21_21_0a Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S _get_escc Ref00000000 +S __ppp_skipped Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 4A6 flags 0 +A CODE size 4B6 flags 0 S _ppp_recv Def00000000 -A CSTR size 27 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 E8 FF DD 71 E8 DD @@ -42,12 +43,12 @@ R 00 00 01 00 T 4B 00 00 00 R 00 00 01 00 T 4B 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0E 00 +R 00 00 01 00 2B 0B 13 00 T 53 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0E 00 02 0A 00 00 +R 00 00 01 00 02 05 13 00 02 0A 00 00 T 5A 00 00 00 75 FC DD 74 FD 7D A4 3C CA R 00 00 01 00 -T 63 00 00 00 79 04 00 00 +T 63 00 00 00 89 04 00 00 R 00 00 01 00 00 04 01 00 T 65 00 00 00 R 00 00 01 00 @@ -62,7 +63,7 @@ R 00 00 01 00 T 7B 00 00 00 DD 7E F2 DD B6 F3 20 15 11 00 20 R 00 00 01 00 T 86 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 +R 00 00 01 00 2B 05 05 00 02 0A 05 00 T 8C 00 00 00 00 00 00 00 DD 75 F2 DD 74 F3 7D R 00 00 01 00 02 04 00 00 T 95 00 00 00 B4 28 7C @@ -102,9 +103,9 @@ R 00 00 01 00 T EF 00 00 00 F2 DD 66 F3 E5 01 10 00 DD 5E E8 R 00 00 01 00 T FA 00 00 00 DD 56 E9 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0A 00 +R 00 00 01 00 2B 08 09 00 T 00 01 00 00 00 00 00 00 CD 00 00 00 00 E1 21 -R 00 00 01 00 02 04 0A 00 02 09 00 00 +R 00 00 01 00 02 04 09 00 02 09 00 00 T 07 01 00 00 0C 00 DD 4E F2 DD 46 F3 09 AF 77 R 00 00 01 00 T 12 01 00 00 23 77 @@ -117,337 +118,331 @@ T 14 01 00 00 R 00 00 01 00 T 14 01 00 00 3E 7E DD AE FC DD B6 FD C2 R 00 00 01 00 -T 1D 01 00 00 A3 02 00 00 +T 1D 01 00 00 AB 02 00 00 R 00 00 01 00 00 04 01 00 T 1F 01 00 00 R 00 00 01 00 -T 1F 01 00 00 DD 7E FA E6 01 28 2B +T 1F 01 00 00 DD 7E FA E6 01 28 2F R 00 00 01 00 T 26 01 00 00 R 00 00 01 00 -T 26 01 00 00 21 00 00 00 00 E5 21 0E 00 39 4D -R 00 00 01 00 00 05 02 00 -T 2F 01 00 00 44 DD 5E EA DD 56 EB 3E +T 26 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 +T 2C 01 00 00 E5 21 10 00 39 4D 44 DD 5E EA DD R 00 00 01 00 -T 37 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 -T 3C 01 00 00 00 00 00 00 E1 21 8A 00 DD 4E EA -R 00 00 01 00 02 04 00 00 -T 45 01 00 00 DD 46 EB 09 34 23 20 01 34 +T 37 01 00 00 56 EB 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 14 00 +T 3C 01 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 14 00 02 09 00 00 +T 43 01 00 00 21 8A 00 DD 4E EA DD 46 EB 09 34 +R 00 00 01 00 +T 4E 01 00 00 23 20 01 34 R 00 00 01 00 -T 4E 01 00 00 +T 52 01 00 00 R 00 00 01 00 -T 4E 01 00 00 C3 F9 01 00 00 +T 52 01 00 00 C3 01 02 00 00 R 00 00 01 00 00 05 01 00 -T 51 01 00 00 +T 55 01 00 00 R 00 00 01 00 -T 51 01 00 00 DD 7E FA E6 02 28 11 +T 55 01 00 00 DD 7E FA E6 02 28 11 R 00 00 01 00 -T 58 01 00 00 +T 5C 01 00 00 R 00 00 01 00 -T 58 01 00 00 21 0C 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 10 00 -T 60 01 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 10 00 02 0A 00 00 -T 67 01 00 00 F9 01 00 00 +T 5C 01 00 00 21 0C 00 39 5D 54 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0F 00 +T 64 01 00 00 21 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 05 0F 00 02 0A 00 00 +T 6B 01 00 00 01 02 00 00 R 00 00 01 00 00 04 01 00 -T 69 01 00 00 +T 6D 01 00 00 R 00 00 01 00 -T 69 01 00 00 DD 7E F4 DD B6 F5 28 7B +T 6D 01 00 00 DD 7E F4 DD B6 F5 28 7F R 00 00 01 00 -T 71 01 00 00 +T 75 01 00 00 R 00 00 01 00 -T 71 01 00 00 21 B8 F0 DD 4E F0 DD 46 F1 A7 ED +T 75 01 00 00 21 B8 F0 DD 4E F0 DD 46 F1 A7 ED R 00 00 01 00 -T 7C 01 00 00 42 28 2A +T 80 01 00 00 42 28 2E R 00 00 01 00 -T 7F 01 00 00 +T 83 01 00 00 R 00 00 01 00 -T 7F 01 00 00 21 18 00 00 00 E5 21 0E 00 39 4D -R 00 00 01 00 00 05 02 00 -T 88 01 00 00 44 DD 5E EA DD 56 EB 3E +T 83 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 +T 89 01 00 00 E5 21 10 00 39 4D 44 DD 5E EA DD R 00 00 01 00 -T 90 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 -T 95 01 00 00 00 00 00 00 E1 21 88 00 DD 4E EA -R 00 00 01 00 02 04 00 00 -T 9E 01 00 00 DD 46 EB 09 34 23 20 01 34 +T 94 01 00 00 56 EB 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 14 00 +T 99 01 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 14 00 02 09 00 00 +T A0 01 00 00 21 88 00 DD 4E EA DD 46 EB 09 34 +R 00 00 01 00 +T AB 01 00 00 23 20 01 34 R 00 00 01 00 -T A7 01 00 00 +T AF 01 00 00 R 00 00 01 00 -T A7 01 00 00 18 41 +T AF 01 00 00 18 41 R 00 00 01 00 -T A9 01 00 00 +T B1 01 00 00 R 00 00 01 00 -T A9 01 00 00 DD 5E F4 DD 56 F5 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 -T B1 01 00 00 21 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 05 04 00 02 0A 00 00 -T B8 01 00 00 FE FF 09 4D 44 21 0C 00 39 5D 54 +T B1 01 00 00 DD 5E F4 DD 56 F5 3E 00 00 00 00 +R 00 00 01 00 2B 0B 03 00 +T B9 01 00 00 21 00 00 00 00 CD 00 00 00 00 01 +R 00 00 01 00 02 05 03 00 02 0A 00 00 +T C0 01 00 00 FE FF 09 4D 44 21 0C 00 39 5D 54 R 00 00 01 00 -T C3 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD +T CB 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 01 00 02 0A 01 00 -T C9 01 00 00 00 00 00 00 21 0C 00 39 4D 44 DD +T D1 01 00 00 00 00 00 00 21 0C 00 39 4D 44 DD R 00 00 01 00 02 04 00 00 -T D2 01 00 00 5E E8 DD 56 E9 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 07 00 -T DA 01 00 00 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 04 07 00 02 09 00 00 -T E0 01 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0C 00 -T E5 01 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 0C 00 02 09 00 00 -T EA 01 00 00 +T DA 01 00 00 5E E8 DD 56 E9 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 06 00 +T E2 01 00 00 00 00 00 00 CD 00 00 00 00 11 +R 00 00 01 00 02 04 06 00 02 09 00 00 +T E8 01 00 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 0A 00 +T ED 01 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 0A 00 02 09 00 00 +T F2 01 00 00 R 00 00 01 00 -T EA 01 00 00 18 0D +T F2 01 00 00 18 0D R 00 00 01 00 -T EC 01 00 00 +T F4 01 00 00 R 00 00 01 00 -T EC 01 00 00 21 7C 00 DD 4E EA DD 46 EB 09 CD +T F4 01 00 00 21 7C 00 DD 4E EA DD 46 EB 09 CD R 00 00 01 00 -T F7 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 0F 00 -T F9 01 00 00 +T FF 01 00 00 00 00 00 00 +R 00 00 01 00 02 04 0E 00 +T 01 02 00 00 R 00 00 01 00 -T F9 01 00 00 +T 01 02 00 00 R 00 00 01 00 -T F9 01 00 00 +T 01 02 00 00 R 00 00 01 00 -T F9 01 00 00 AF DD 77 FA DD 77 FB AF DD 77 F6 +T 01 02 00 00 AF DD 77 FA DD 77 FB AF DD 77 F6 R 00 00 01 00 -T 04 02 00 00 DD 77 F7 AF DD 77 F4 DD 77 F5 DD +T 0C 02 00 00 DD 77 F7 AF DD 77 F4 DD 77 F5 DD R 00 00 01 00 -T 0F 02 00 00 36 F0 FF DD 36 F1 FF 06 FF DD 70 +T 17 02 00 00 36 F0 FF DD 36 F1 FF 06 FF DD 70 R 00 00 01 00 -T 1A 02 00 00 EC DD 70 ED DD 70 EE DD 70 EF 21 +T 22 02 00 00 EC DD 70 ED DD 70 EE DD 70 EF 21 R 00 00 01 00 -T 25 02 00 00 06 00 DD 4E EA DD 46 EB 09 7E FE +T 2D 02 00 00 06 00 DD 4E EA DD 46 EB 09 7E FE R 00 00 01 00 -T 30 02 00 00 05 20 3B +T 38 02 00 00 05 20 3B R 00 00 01 00 -T 33 02 00 00 +T 3B 02 00 00 R 00 00 01 00 -T 33 02 00 00 21 22 00 DD 4E EA DD 46 EB 09 46 +T 3B 02 00 00 21 22 00 DD 4E EA DD 46 EB 09 46 R 00 00 01 00 -T 3E 02 00 00 23 66 68 DD 75 FE DD 74 FF 01 +T 46 02 00 00 23 66 68 DD 75 FE DD 74 FF 01 R 00 00 01 00 -T 48 02 00 00 16 00 09 7E E6 04 28 1E +T 50 02 00 00 16 00 09 7E E6 04 28 1E R 00 00 01 00 -T 50 02 00 00 +T 58 02 00 00 R 00 00 01 00 -T 50 02 00 00 21 1A 00 DD 4E FE DD 46 FF 09 5E +T 58 02 00 00 21 1A 00 DD 4E FE DD 46 FF 09 5E R 00 00 01 00 -T 5B 02 00 00 23 56 23 4E 23 46 EB DD 75 EC DD +T 63 02 00 00 23 56 23 4E 23 46 EB DD 75 EC DD R 00 00 01 00 -T 66 02 00 00 74 ED DD 71 EE DD 70 EF +T 6E 02 00 00 74 ED DD 71 EE DD 70 EF R 00 00 01 00 -T 6E 02 00 00 +T 76 02 00 00 R 00 00 01 00 -T 6E 02 00 00 +T 76 02 00 00 R 00 00 01 00 -T 6E 02 00 00 21 12 00 DD 4E E8 DD 46 E9 09 7E +T 76 02 00 00 21 12 00 DD 4E E8 DD 46 E9 09 7E R 00 00 01 00 -T 79 02 00 00 E6 00 47 23 7E E6 20 B0 20 1D +T 81 02 00 00 E6 00 47 23 7E E6 20 B0 20 1D R 00 00 01 00 -T 83 02 00 00 +T 8B 02 00 00 R 00 00 01 00 -T 83 02 00 00 DD 7E F2 DD B6 F3 28 15 +T 8B 02 00 00 DD 7E F2 DD B6 F3 28 15 R 00 00 01 00 -T 8B 02 00 00 +T 93 02 00 00 R 00 00 01 00 -T 8B 02 00 00 21 0A 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 10 00 -T 93 02 00 00 21 00 00 00 00 CD 00 00 00 00 AF -R 00 00 01 00 02 05 10 00 02 0A 00 00 -T 9A 02 00 00 DD 77 F2 DD 77 F3 +T 93 02 00 00 21 0A 00 39 5D 54 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0F 00 +T 9B 02 00 00 21 00 00 00 00 CD 00 00 00 00 AF +R 00 00 01 00 02 05 0F 00 02 0A 00 00 +T A2 02 00 00 DD 77 F2 DD 77 F3 R 00 00 01 00 -T A0 02 00 00 +T A8 02 00 00 R 00 00 01 00 -T A0 02 00 00 +T A8 02 00 00 R 00 00 01 00 -T A0 02 00 00 C3 4B 00 00 00 +T A8 02 00 00 C3 4B 00 00 00 R 00 00 01 00 00 05 01 00 -T A3 02 00 00 +T AB 02 00 00 R 00 00 01 00 -T A3 02 00 00 01 20 80 DD 6E FC DD 66 FD 3E 80 +T AB 02 00 00 01 20 80 DD 6E FC DD 66 FD 3E 80 R 00 00 01 00 -T AE 02 00 00 AC 67 ED 42 30 26 DD 6E EE DD 66 +T B6 02 00 00 AC 67 ED 42 30 26 DD 6E EE DD 66 R 00 00 01 00 -T B9 02 00 00 EF E5 DD 6E EC DD 66 ED E5 DD 7E +T C1 02 00 00 EF E5 DD 6E EC DD 66 ED E5 DD 7E R 00 00 01 00 -T C4 02 00 00 FC 01 00 00 21 01 00 CD +T CC 02 00 00 FC 01 00 00 21 01 00 CD R 00 00 01 00 -T CC 02 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 09 00 02 09 03 00 -T D3 02 00 00 B1 B0 28 03 +T D4 02 00 00 00 00 00 00 CD 00 00 00 00 7D B4 +R 00 00 01 00 02 04 08 00 02 09 02 00 +T DB 02 00 00 B1 B0 28 03 R 00 00 01 00 -T D7 02 00 00 +T DF 02 00 00 R 00 00 01 00 -T D7 02 00 00 +T DF 02 00 00 R 00 00 01 00 -T D7 02 00 00 +T DF 02 00 00 R 00 00 01 00 -T D7 02 00 00 C3 4B 00 00 00 +T DF 02 00 00 C3 4B 00 00 00 R 00 00 01 00 00 05 01 00 -T DA 02 00 00 +T E2 02 00 00 R 00 00 01 00 -T DA 02 00 00 DD 7E FA E6 01 28 1C +T E2 02 00 00 DD 7E FA E6 01 28 1C R 00 00 01 00 -T E1 02 00 00 +T E9 02 00 00 R 00 00 01 00 -T E1 02 00 00 21 12 00 39 7E E6 FE 77 23 7E E6 +T E9 02 00 00 21 12 00 39 7E E6 FE 77 23 7E E6 R 00 00 01 00 -T EC 02 00 00 FF 77 21 14 00 39 7E EE 20 77 23 +T F4 02 00 00 FF 77 21 14 00 39 7E EE 20 77 23 R 00 00 01 00 -T F7 02 00 00 7E EE 00 77 18 1A +T FF 02 00 00 7E EE 00 77 18 1A R 00 00 01 00 -T FD 02 00 00 +T 05 03 00 00 R 00 00 01 00 -T FD 02 00 00 3E 7D DD AE FC DD B6 FD 20 10 +T 05 03 00 00 3E 7D DD AE FC DD B6 FD 20 10 R 00 00 01 00 -T 07 03 00 00 +T 0F 03 00 00 R 00 00 01 00 -T 07 03 00 00 21 12 00 39 7E F6 01 77 23 7E F6 +T 0F 03 00 00 21 12 00 39 7E F6 01 77 23 7E F6 R 00 00 01 00 -T 12 03 00 00 00 77 C3 4B 00 00 00 +T 1A 03 00 00 00 77 C3 4B 00 00 00 R 00 00 01 00 00 07 01 00 -T 17 03 00 00 +T 1F 03 00 00 R 00 00 01 00 -T 17 03 00 00 +T 1F 03 00 00 R 00 00 01 00 -T 17 03 00 00 DD 7E F6 DD B6 F7 20 70 +T 1F 03 00 00 DD 7E F6 DD B6 F7 20 74 R 00 00 01 00 -T 1F 03 00 00 +T 27 03 00 00 R 00 00 01 00 -T 1F 03 00 00 11 80 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 06 00 -T 25 03 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 06 00 02 09 00 00 -T 2C 03 00 00 F6 DD 74 F7 7D B4 20 38 +T 27 03 00 00 11 80 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 05 00 +T 2D 03 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 05 00 02 09 00 00 +T 34 03 00 00 F6 DD 74 F7 7D B4 20 3C R 00 00 01 00 -T 34 03 00 00 +T 3C 03 00 00 R 00 00 01 00 -T 34 03 00 00 21 00 00 00 00 E5 21 10 00 39 4D -R 00 00 01 00 02 05 02 00 -T 3D 03 00 00 44 DD 5E EA DD 56 EB 3E +T 3C 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 11 00 02 0B 11 00 +T 42 03 00 00 E5 21 12 00 39 4D 44 DD 5E EA DD R 00 00 01 00 -T 45 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 -T 4A 03 00 00 00 00 00 00 E1 21 8E 00 DD 4E EA -R 00 00 01 00 02 04 00 00 -T 53 03 00 00 DD 46 EB 09 34 23 20 01 34 +T 4D 03 00 00 56 EB 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 14 00 +T 52 03 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 14 00 02 09 00 00 +T 59 03 00 00 21 8E 00 DD 4E EA DD 46 EB 09 34 +R 00 00 01 00 +T 64 03 00 00 23 20 01 34 R 00 00 01 00 -T 5C 03 00 00 +T 68 03 00 00 R 00 00 01 00 -T 5C 03 00 00 21 12 00 39 7E F6 02 77 23 7E F6 +T 68 03 00 00 21 12 00 39 7E F6 02 77 23 7E F6 R 00 00 01 00 -T 67 03 00 00 00 77 C3 4B 00 00 00 +T 73 03 00 00 00 77 C3 4B 00 00 00 R 00 00 01 00 00 07 01 00 -T 6C 03 00 00 +T 78 03 00 00 R 00 00 01 00 -T 6C 03 00 00 DD 6E F6 DD 66 F7 DD 75 F4 DD 74 +T 78 03 00 00 DD 6E F6 DD 66 F7 DD 75 F4 DD 74 R 00 00 01 00 -T 77 03 00 00 F5 21 0A 00 DD 4E F6 DD 46 F7 09 +T 83 03 00 00 F5 21 0A 00 DD 4E F6 DD 46 F7 09 R 00 00 01 00 -T 82 03 00 00 46 23 66 68 DD 75 F8 DD 74 F9 C3 +T 8E 03 00 00 46 23 66 68 DD 75 F8 DD 74 F9 C3 R 00 00 01 00 -T 8D 03 00 00 20 04 00 00 +T 99 03 00 00 30 04 00 00 R 00 00 01 00 00 04 01 00 -T 8F 03 00 00 +T 9B 03 00 00 R 00 00 01 00 -T 8F 03 00 00 21 04 00 DD 4E F6 DD 46 F7 09 5E +T 9B 03 00 00 21 04 00 DD 4E F6 DD 46 F7 09 5E R 00 00 01 00 -T 9A 03 00 00 23 56 21 0C 00 09 46 23 66 68 A7 +T A6 03 00 00 23 56 21 0C 00 09 46 23 66 68 A7 R 00 00 01 00 -T A5 03 00 00 ED 52 38 77 +T B1 03 00 00 ED 52 38 7B R 00 00 01 00 -T A9 03 00 00 +T B5 03 00 00 R 00 00 01 00 -T A9 03 00 00 11 80 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 06 00 -T AF 03 00 00 00 00 00 00 CD 00 00 00 00 E5 DD -R 00 00 01 00 02 04 06 00 02 09 00 00 -T B6 03 00 00 6E F6 DD 66 F7 C1 71 23 70 79 B0 +T B5 03 00 00 11 80 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 05 00 +T BB 03 00 00 00 00 00 00 CD 00 00 00 00 E5 DD +R 00 00 01 00 02 04 05 00 02 09 00 00 +T C2 03 00 00 6E F6 DD 66 F7 C1 71 23 70 79 B0 R 00 00 01 00 -T C1 03 00 00 20 3F +T CD 03 00 00 20 43 R 00 00 01 00 -T C3 03 00 00 +T CF 03 00 00 R 00 00 01 00 -T C3 03 00 00 21 00 00 00 00 E5 21 0E 00 39 4D -R 00 00 01 00 02 05 02 00 -T CC 03 00 00 44 DD 5E EA DD 56 EB 3E +T CF 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 11 00 02 0B 11 00 +T D5 03 00 00 E5 21 10 00 39 4D 44 DD 5E EA DD R 00 00 01 00 -T D4 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 -T D9 03 00 00 00 00 00 00 E1 21 8E 00 DD 4E EA -R 00 00 01 00 02 04 00 00 -T E2 03 00 00 DD 46 EB 09 34 23 20 01 34 +T E0 03 00 00 56 EB 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 14 00 +T E5 03 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 14 00 02 09 00 00 +T EC 03 00 00 21 8E 00 DD 4E EA DD 46 EB 09 34 R 00 00 01 00 -T EB 03 00 00 +T F7 03 00 00 23 20 01 34 R 00 00 01 00 -T EB 03 00 00 AF DD 77 F4 DD 77 F5 21 12 00 39 +T FB 03 00 00 R 00 00 01 00 -T F6 03 00 00 7E F6 02 77 23 7E F6 00 77 C3 +T FB 03 00 00 AF DD 77 F4 DD 77 F5 21 12 00 39 R 00 00 01 00 -T 00 04 00 00 4B 00 00 00 +T 06 04 00 00 7E F6 02 77 23 7E F6 00 77 C3 +R 00 00 01 00 +T 10 04 00 00 4B 00 00 00 R 00 00 01 00 00 04 01 00 -T 02 04 00 00 +T 12 04 00 00 R 00 00 01 00 -T 02 04 00 00 DD 6E F6 DD 66 F7 46 23 66 68 DD +T 12 04 00 00 DD 6E F6 DD 66 F7 46 23 66 68 DD R 00 00 01 00 -T 0D 04 00 00 75 F6 DD 74 F7 01 0A 00 09 46 23 +T 1D 04 00 00 75 F6 DD 74 F7 01 0A 00 09 46 23 R 00 00 01 00 -T 18 04 00 00 66 68 DD 75 F8 DD 74 F9 +T 28 04 00 00 66 68 DD 75 F8 DD 74 F9 R 00 00 01 00 -T 20 04 00 00 +T 30 04 00 00 R 00 00 01 00 -T 20 04 00 00 +T 30 04 00 00 R 00 00 01 00 -T 20 04 00 00 DD 46 FC DD 6E F8 DD 66 F9 23 DD +T 30 04 00 00 DD 46 FC DD 6E F8 DD 66 F9 23 DD R 00 00 01 00 -T 2B 04 00 00 75 F8 DD 74 F9 2B 70 21 0C 00 DD +T 3B 04 00 00 75 F8 DD 74 F9 2B 70 21 0C 00 DD R 00 00 01 00 -T 36 04 00 00 4E F6 DD 46 F7 09 34 23 20 01 34 +T 46 04 00 00 4E F6 DD 46 F7 09 34 23 20 01 34 R 00 00 01 00 -T 41 04 00 00 +T 51 04 00 00 R 00 00 01 00 -T 41 04 00 00 DD 6E F0 DD 66 F1 6C 26 00 E5 DD +T 51 04 00 00 DD 6E F0 DD 66 F1 6C 26 00 E5 DD R 00 00 01 00 -T 4C 04 00 00 7E F0 DD AE FC 6F DD 7E F1 DD AE +T 5C 04 00 00 7E F0 DD AE FC 6F DD 7E F1 DD AE R 00 00 01 00 -T 57 04 00 00 FD 67 7D E6 FF 4F 7C E6 00 47 69 +T 67 04 00 00 FD 67 7D E6 FF 4F 7C E6 00 47 69 R 00 00 01 00 -T 62 04 00 00 60 29 01 00 00 00 00 09 C1 79 AE -R 00 00 01 00 02 07 11 00 -T 6B 04 00 00 5F 78 23 AE 57 DD 73 F0 DD 72 F1 +T 72 04 00 00 60 29 01 00 00 00 00 09 C1 79 AE +R 00 00 01 00 02 07 10 00 +T 7B 04 00 00 5F 78 23 AE 57 DD 73 F0 DD 72 F1 R 00 00 01 00 -T 76 04 00 00 C3 4B 00 00 00 +T 86 04 00 00 C3 4B 00 00 00 R 00 00 01 00 00 05 01 00 -T 79 04 00 00 -R 00 00 01 00 -T 79 04 00 00 21 0A 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 10 00 -T 81 04 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 10 00 02 0A 00 00 -T 88 04 00 00 0C 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 10 00 -T 90 04 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 10 00 02 09 00 00 -T 96 04 00 00 18 00 DD 4E E8 DD 46 E9 09 AF 77 -R 00 00 01 00 -T A1 04 00 00 23 77 C3 00 00 00 00 -R 00 00 01 00 02 07 05 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 64 65 6C 69 62 65 72 61 74 65 20 -R 00 00 02 00 -T 0B 00 00 00 63 61 6E 63 65 6C 6C 61 74 69 6F -R 00 00 02 00 -T 16 00 00 00 6E 00 -R 00 00 02 00 -T 18 00 00 00 -R 00 00 02 00 -T 18 00 00 00 63 68 65 63 6B 73 75 6D 20 65 72 -R 00 00 02 00 -T 23 00 00 00 72 6F 72 00 -R 00 00 02 00 +T 89 04 00 00 +R 00 00 01 00 +T 89 04 00 00 21 0A 00 39 5D 54 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0F 00 +T 91 04 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 0F 00 02 0A 00 00 +T 98 04 00 00 0C 00 39 5D 54 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0F 00 +T A0 04 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 0F 00 02 09 00 00 +T A6 04 00 00 18 00 DD 4E E8 DD 46 E9 09 AF 77 +R 00 00 01 00 +T B1 04 00 00 23 77 C3 00 00 00 00 +R 00 00 01 00 02 07 04 00 diff --git a/src/nos/lib/ppp_lib/ppp_send.rel b/src/nos/lib/ppp_lib/ppp_send.rel index 2c198366..a5b7e7d5 100644 --- a/src/nos/lib/ppp_lib/ppp_send.rel +++ b/src/nos/lib/ppp_lib/ppp_send.rel @@ -1,17 +1,18 @@ XL4 -H 3 areas 9 global symbols +H 2 areas B global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S _ppp_error Ref00000000 S .__.ABS. Def00000000 +S ___0606_6274_not_20open_20for_20 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _free_p Ref00000000 S _slhc_compress Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S __ppp_error Ref00000000 +S ___04b0_9171_bad_20IP_20packet Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 158 flags 0 +A CODE size 160 flags 0 S _ppp_send Def00000000 -A CSTR size 26 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF DD 36 FE 21 @@ -32,113 +33,103 @@ T 29 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 R 00 00 01 00 2B 0B 05 00 T 31 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 05 00 02 0A 00 00 -T 38 00 00 00 FF FF C3 55 01 00 00 +T 38 00 00 00 FF FF C3 5D 01 00 00 R 00 00 01 00 00 07 01 00 T 3D 00 00 00 R 00 00 01 00 T 3D 00 00 00 21 42 00 DD 4E FA DD 46 FB 09 7E R 00 00 01 00 -T 48 00 00 00 FE 05 28 2E +T 48 00 00 00 FE 05 28 32 R 00 00 01 00 T 4C 00 00 00 R 00 00 01 00 -T 4C 00 00 00 21 00 00 00 00 E5 DD 4E 02 DD 46 -R 00 00 01 00 00 05 02 00 -T 55 00 00 00 03 DD 5E FA DD 56 FB 3E +T 4C 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 +T 52 00 00 00 E5 DD 4E 02 DD 46 03 DD 5E FA DD R 00 00 01 00 -T 5D 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 62 00 00 00 00 00 00 00 E1 21 74 00 DD 4E FA -R 00 00 01 00 02 04 00 00 -T 6B 00 00 00 DD 46 FB 09 34 23 20 01 34 +T 5D 00 00 00 56 FB 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 08 00 +T 62 00 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 08 00 02 09 00 00 +T 69 00 00 00 21 74 00 DD 4E FA DD 46 FB 09 34 R 00 00 01 00 -T 74 00 00 00 +T 74 00 00 00 23 20 01 34 R 00 00 01 00 -T 74 00 00 00 21 FF FF C3 55 01 00 00 +T 78 00 00 00 +R 00 00 01 00 +T 78 00 00 00 21 FF FF C3 5D 01 00 00 R 00 00 01 00 00 08 01 00 -T 7A 00 00 00 +T 7E 00 00 00 R 00 00 01 00 -T 7A 00 00 00 21 5E 00 DD 4E FA DD 46 FB 09 46 +T 7E 00 00 00 21 5E 00 DD 4E FA DD 46 FB 09 46 R 00 00 01 00 -T 85 00 00 00 23 66 68 DD 75 FC DD 74 FD 01 +T 89 00 00 00 23 66 68 DD 75 FC DD 74 FD 01 R 00 00 01 00 -T 8F 00 00 00 31 00 09 7E E6 04 CA 21 01 00 00 +T 93 00 00 00 31 00 09 7E E6 04 CA 29 01 00 00 R 00 00 01 00 00 0B 01 00 -T 98 00 00 00 +T 9C 00 00 00 R 00 00 01 00 -T 98 00 00 00 21 3F 00 DD 4E FC DD 46 FD 09 5E +T 9C 00 00 00 21 3F 00 DD 4E FC DD 46 FD 09 5E R 00 00 01 00 -T A3 00 00 00 16 00 D5 DD 4E 02 DD 46 03 21 +T A7 00 00 00 16 00 D5 DD 4E 02 DD 46 03 21 R 00 00 01 00 -T AD 00 00 00 40 00 DD 5E FC DD 56 FD 19 5E 23 +T B1 00 00 00 40 00 DD 5E FC DD 56 FD 19 5E 23 R 00 00 01 00 -T B8 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 +T BC 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 06 00 02 0B 06 00 -T BE 00 00 00 CD 00 00 00 00 F1 4D 44 3E 40 A9 +T C2 00 00 00 CD 00 00 00 00 F1 4D 44 3E 40 A9 R 00 00 01 00 02 05 00 00 -T C7 00 00 00 B0 20 0A +T CB 00 00 00 B0 20 0A +R 00 00 01 00 +T CE 00 00 00 R 00 00 01 00 -T CA 00 00 00 +T CE 00 00 00 DD 36 FE 21 DD 36 FF 00 18 51 R 00 00 01 00 -T CA 00 00 00 DD 36 FE 21 DD 36 FF 00 18 4D +T D8 00 00 00 R 00 00 01 00 -T D4 00 00 00 +T D8 00 00 00 3E 80 A9 B0 20 0A DD 36 FE 2D DD R 00 00 01 00 -T D4 00 00 00 3E 80 A9 B0 20 0A DD 36 FE 2D DD +T E3 00 00 00 36 FF 00 18 41 R 00 00 01 00 -T DF 00 00 00 36 FF 00 18 3D +T E8 00 00 00 R 00 00 01 00 -T E4 00 00 00 +T E8 00 00 00 3E 70 A9 B0 20 0A DD 36 FE 2F DD R 00 00 01 00 -T E4 00 00 00 3E 70 A9 B0 20 0A DD 36 FE 2F DD +T F3 00 00 00 36 FF 00 18 31 R 00 00 01 00 -T EF 00 00 00 36 FF 00 18 2D +T F8 00 00 00 R 00 00 01 00 -T F4 00 00 00 +T F8 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 +T FE 00 00 00 E5 DD 4E 02 DD 46 03 DD 5E FA DD R 00 00 01 00 -T F4 00 00 00 21 18 00 00 00 E5 DD 4E 02 DD 46 -R 00 00 01 00 00 05 02 00 -T FD 00 00 00 03 DD 5E FA DD 56 FB 3E +T 09 01 00 00 56 FB 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 08 00 +T 0E 01 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 08 00 02 09 00 00 +T 15 01 00 00 21 74 00 DD 4E FA DD 46 FB 09 34 R 00 00 01 00 -T 05 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 -T 0A 01 00 00 00 00 00 00 E1 21 74 00 DD 4E FA -R 00 00 01 00 02 04 00 00 -T 13 01 00 00 DD 46 FB 09 34 23 20 01 34 +T 20 01 00 00 23 20 01 34 R 00 00 01 00 -T 1C 01 00 00 +T 24 01 00 00 R 00 00 01 00 -T 1C 01 00 00 21 FF FF 18 34 +T 24 01 00 00 21 FF FF 18 34 R 00 00 01 00 -T 21 01 00 00 +T 29 01 00 00 R 00 00 01 00 -T 21 01 00 00 +T 29 01 00 00 R 00 00 01 00 -T 21 01 00 00 DD 6E 02 DD 66 03 E5 DD 6E FE DD +T 29 01 00 00 DD 6E 02 DD 66 03 E5 DD 6E FE DD R 00 00 01 00 -T 2C 01 00 00 66 FF E5 21 00 00 E5 01 00 00 C5 +T 34 01 00 00 66 FF E5 21 00 00 E5 01 00 00 C5 R 00 00 01 00 -T 37 01 00 00 DD 5E 04 DD 56 05 21 42 00 DD 4E +T 3F 01 00 00 DD 5E 04 DD 56 05 21 42 00 DD 4E R 00 00 01 00 -T 42 01 00 00 04 DD 46 05 09 4E 23 46 23 7E 69 +T 4A 01 00 00 04 DD 46 05 09 4E 23 46 23 7E 69 R 00 00 01 00 -T 4D 01 00 00 60 C1 CD 00 00 00 00 F1 F1 F1 +T 55 01 00 00 60 C1 CD 00 00 00 00 F1 F1 F1 R 00 00 01 00 02 07 00 00 -T 55 01 00 00 +T 5D 01 00 00 R 00 00 01 00 -T 55 01 00 00 C3 00 00 00 00 +T 5D 01 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 6E 6F 74 20 6F 70 65 6E 20 66 6F -R 00 00 02 00 -T 0B 00 00 00 72 20 49 50 20 74 72 61 66 66 69 -R 00 00 02 00 -T 16 00 00 00 63 00 -R 00 00 02 00 -T 18 00 00 00 -R 00 00 02 00 -T 18 00 00 00 62 61 64 20 49 50 20 70 61 63 6B -R 00 00 02 00 -T 23 00 00 00 65 74 00 -R 00 00 02 00 diff --git a/src/nos/lib/ppp_lib/ppp_skipped.rel b/src/nos/lib/ppp_lib/ppp_skipped.rel deleted file mode 100644 index 6a9fde34..00000000 --- a/src/nos/lib/ppp_lib/ppp_skipped.rel +++ /dev/null @@ -1,38 +0,0 @@ -XL4 -H 2 areas 8 global symbols -S ?BANK_CALL_DIRECT_L08 Ref00000000 -S _slhc_toss Ref00000000 -S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S _ppp_error Ref00000000 -S .__.ABS. Def00000000 -S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?CL64180B_4_06_L00 Ref00000000 -A _DEFAULT size 0 flags 0 -A CODE size 51 flags 0 -S _ppp_skipped Def00000000 -T 00 00 00 00 -R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 5E 00 DD -R 00 00 01 00 02 05 05 00 -T 09 00 00 00 5E 02 DD 56 03 19 56 23 66 6A DD -R 00 00 01 00 -T 14 00 00 00 75 FE DD 74 FF 7D B4 28 15 -R 00 00 01 00 -T 1D 00 00 00 -R 00 00 01 00 -T 1D 00 00 00 21 40 00 DD 4E FE DD 46 FF 09 5E -R 00 00 01 00 -T 28 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 01 00 -T 2D 00 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 00 00 -T 32 00 00 00 -R 00 00 01 00 -T 32 00 00 00 DD 6E 0A DD 66 0B E5 DD 4E 04 DD -R 00 00 01 00 -T 3D 00 00 00 46 05 DD 5E 02 DD 56 03 3E -R 00 00 01 00 -T 46 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 4B 00 00 00 00 00 00 00 E1 C3 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 0A 02 00 diff --git a/src/nos/lib/ppp_lib/pppcmd.rel b/src/nos/lib/ppp_lib/pppcmd.rel index ea97c182..29912b04 100644 --- a/src/nos/lib/ppp_lib/pppcmd.rel +++ b/src/nos/lib/ppp_lib/pppcmd.rel @@ -1,87 +1,113 @@ XL4 -H 6 areas 44 global symbols -S ___05f5_4f5f_trace Ref00000000 -S ___029a_7c5c_IPCP_20_25s_0a Ref00000000 -S ___0059_7788__20_20_20_20Out_09T Ref00000000 +H 6 areas 5E global symbols S _inet_ntoa Ref00000000 S _doppp_lcp Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _doppp_pap Ref00000000 -S ___04d5_dfc4_ipcp Ref00000000 +S ___0473_5d14_We_20accepted_20rem Ref00000000 +S ___0542_7349_force_20up_7cdown Ref00000000 +S ___0252_aa31_Closed Ref00000000 +S ___0530_bce0_failure Ref00000000 +S ___0379_f66f_No_20_20 Ref00000000 S ___0010_7e01__09_28open_20for_20 Ref00000000 S _secclock Ref00000000 -S ___0115_83ad__2510lu_20In_2c_20_ Ref00000000 +S ___02dd_6e3f_IPCP_20 Ref00000000 +S ___012f_cbd3__2510lu_20Out_2c_20 Ref00000000 S _if_lookup Ref00000000 -S ___0022_a0dd__0a Ref00000000 +S ___0430_73f9_Termination_20Phase Ref00000000 +S ___0393_fef1_Opened Ref00000000 +S ___040d_0d1f_Starting_20configur Ref00000000 +S ___0541_cf48_force Ref00000000 +S ___0023_a0dd__0a Ref00000000 S _set_timer Ref00000000 +S ___03b5_e4a3_Pap_09 Ref00000000 +S ___0593_a567_lcp Ref00000000 +S ___0398_7868_PAP_20 Ref00000000 S ___0002_17d6__09_09_20MRU_09_20A Ref00000000 -S ___0495_bce0_failure Ref00000000 -S ___033a_b459_PPP_20tracing Ref00000000 -S ___02b7_befe_LCP_20_25s_0a Ref00000000 +S _devparam Ref00000000 +S ___03b2_b459_PPP_20tracing Ref00000000 +S ___0185_adab__25s_3a_20Interface Ref00000000 S _printf Ref00000000 S _fsm_start Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___03dc_8007_Value_20_25s_20_28_ Ref00000000 -S ___0116_cbd3__2510lu_20Out_2c_20 Ref00000000 +S ___06c4_7425_terminate Ref00000000 S _setint Ref00000000 -S ___05e7_7425_terminate Ref00000000 +S ___0582_dfc4_ipcp Ref00000000 +S ___03e6_3602_Remote_20host_20acc Ref00000000 +S ___014b_aeda__25d_0a Ref00000000 S ?LEAVE_DIRECT_L09 Ref00000000 -S ___0058_9bd9__20_20_20_20In_09TC Ref00000000 +S ___047d_e80a_Yes_20 Ref00000000 S ?L_ADDASG_L03 Ref00000000 -S ___03a8_e505_Timeout_20value_20_ Ref00000000 +S ___0059_9bd9__20_20_20_20In_09TC Ref00000000 +S ___06df_f1c3_unused_0a Ref00000000 S .__.ABS. Def00000000 -S ___0138_ec2f__25s Ref00000000 +S ___01cb_8308_0x_2508lx_0a Ref00000000 +S ___0375_41e1_Network_20Protocol_ Ref00000000 +S ___01ca_b193_0x_2508lx_09 Ref00000000 +S ___007d_47af__20_20remote_20IP_2 Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ___0164_60cc__25s_3a_20not_20a_2 Ref00000000 -S ___0130_aeda__25d_0a Ref00000000 +S ___0190_60cc__25s_3a_20not_20a_2 Ref00000000 +S ___061c_b6e1_pap Ref00000000 S ?L_MUL_L03 Ref00000000 -S ___056a_1196_quick Ref00000000 -S ___054b_b6e1_pap Ref00000000 S _strtol Ref00000000 -S ___04dc_a567_lcp Ref00000000 +S ___042c_3a66_Terminate_20request Ref00000000 +S ___005a_7788__20_20_20_20Out_09T Ref00000000 +S ___046d_8007_Value_20_25s_20_28_ Ref00000000 +S ___0014_b8da__09Message_3a_20_27 Ref00000000 S ___0003_002f__09_09_256u_20Lcp_2 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___0324_b2fb_PAP_20_25s_0a Ref00000000 +S ?S_MUL_L02 Ref00000000 S ___0004_14b3__09_09_256u_20Lcp_2 Ref00000000 +S ___0436_e505_Timeout_20value_20_ Ref00000000 S ?SL_DIV_L03 Ref00000000 S _doppp_ipcp Ref00000000 +S ___02b7_bdca_Establishment_20Pha Ref00000000 +S ___0222_b76d_Authentication_20Ph Ref00000000 +S ___030e_9945_LCP_20 Ref00000000 +S ___01c8_0da1_0x_2504x_09 Ref00000000 S ?SS_CMP_L02 Ref00000000 -S ___0064_47af__20_20remote_20IP_2 Ref00000000 S __printf Ref00000000 S ___0013_53f6__09Local_3a_09 Ref00000000 -S ___0014_a684__09Remote_3a_09 Ref00000000 +S ___03be_63e4_Physical_20Line_20D Ref00000000 +S ___0136_981e__254d_09 Ref00000000 +S ___0324_f6d8_Listening_20_2d_2d_ Ref00000000 +S ___0015_a684__09Remote_3a_09 Ref00000000 S _slhc_i_status Ref00000000 -S ___045c_26b1_configure Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___04f4_26b1_configure Ref00000000 +S ___0644_1196_quick Ref00000000 +S ___012e_83ad__2510lu_20In_2c_20_ Ref00000000 +S ___0385_2875_None_09 Ref00000000 S _slhc_o_status Ref00000000 S _fsm_close Ref00000000 -S ___015c_adab__25s_3a_20Interface Ref00000000 +S ___06d2_4f5f_trace Ref00000000 S _tformat Ref00000000 S _subcmd Ref00000000 -S ___0020_13bc__09local_20IP_20add Ref00000000 +S ___0630_d86b_ppp_20_3ciface_3e_2 Ref00000000 +S ___0021_13bc__09local_20IP_20add Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size E96 flags 0 -S _doppp_timeout Def00000B19 +A CODE size FDA flags 0 +S _doppp_timeout Def00000BE7 S _doppp_commands Def00000080 -S _doppp_close Def00000109 -S _doppp_try Def00000C05 -S _ppp_show Def0000029C -S _doppp_passive Def00000134 -S _doppp_active Def0000016B -A CSTR size 1D2 flags 0 +S _doppp_close Def0000010D +S _doppp_try Def00000CD3 +S _ppp_show Def000002A0 +S _doppp_passive Def00000138 +S _doppp_active Def0000016F +A CSTR size 8 flags 0 A UDATA0 size 4 flags 0 S _PPPiface Def00000002 S _PPPtrace Def00000000 -A IDATA0 size 9A flags 0 -A CDATA0 size 9A flags 0 +A IDATA0 size B3 flags 0 +A CDATA0 size B3 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 28 00 +R 00 00 01 00 02 05 37 00 T 09 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0B 00 +R 00 00 01 00 2B 07 0D 00 T 0E 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 0B 00 02 09 05 00 +R 00 00 01 00 02 04 0D 00 02 09 02 00 T 15 00 00 00 FE DD 74 FF 7D B4 20 1E R 00 00 01 00 T 1D 00 00 00 @@ -89,11 +115,11 @@ R 00 00 01 00 T 1D 00 00 00 DD 6E 02 DD 66 03 E5 0E R 00 00 01 00 T 25 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 37 00 02 0A 37 00 +R 00 00 01 00 2B 04 1A 00 02 0A 1A 00 T 2B 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2F 00 02 0A 2F 00 +R 00 00 01 00 2B 05 42 00 02 0A 42 00 T 31 00 00 00 00 00 00 00 F1 F1 F1 21 00 00 18 -R 00 00 01 00 02 04 05 00 +R 00 00 01 00 02 04 02 00 T 3A 00 00 00 42 R 00 00 01 00 T 3B 00 00 00 @@ -109,11 +135,11 @@ R 00 00 01 00 T 54 00 00 00 DD 6E FE DD 66 FF 23 23 4E 23 46 R 00 00 01 00 T 5F 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 20 00 +R 00 00 01 00 2B 06 2E 00 T 64 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 20 00 2B 0A 2F 00 +R 00 00 01 00 02 04 2E 00 2B 0A 42 00 T 6A 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 2F 00 02 09 05 00 +R 00 00 01 00 02 04 42 00 02 09 02 00 T 71 00 00 00 F1 21 00 00 18 06 R 00 00 01 00 T 77 00 00 00 @@ -123,1272 +149,1238 @@ R 00 00 01 00 T 7D 00 00 00 R 00 00 01 00 T 7D 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 19 00 +R 00 00 01 00 02 05 23 00 T 80 00 00 00 R 00 00 01 00 T 80 00 00 00 CD 00 00 00 00 FE FF 11 02 80 DD -R 00 00 01 00 02 05 28 00 +R 00 00 01 00 02 05 37 00 T 89 00 00 00 6E 02 DD 66 03 3E 80 AC 67 ED 52 R 00 00 01 00 -T 94 00 00 00 30 12 +T 94 00 00 00 30 16 R 00 00 01 00 T 96 00 00 00 R 00 00 01 00 -T 96 00 00 00 21 68 01 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 12 00 -T 9C 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 12 00 02 0A 05 00 -T A3 00 00 00 21 FF FF 18 5E +T 96 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 53 00 02 0B 53 00 +T 9C 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 42 00 02 0B 42 00 +T A2 00 00 00 CD 00 00 00 00 F1 F1 21 FF FF 18 +R 00 00 01 00 02 05 02 00 +T AB 00 00 00 5E R 00 00 01 00 -T A8 00 00 00 +T AC 00 00 00 R 00 00 01 00 -T A8 00 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 +T AC 00 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 -T B3 00 00 00 CD 00 00 00 00 DD 75 FE DD 74 FF +T B7 00 00 00 CD 00 00 00 00 DD 75 FE DD 74 FF R 00 00 01 00 00 05 01 00 -T BC 00 00 00 7D B4 20 05 +T C0 00 00 00 7D B4 20 05 R 00 00 01 00 -T C0 00 00 00 +T C4 00 00 00 R 00 00 01 00 -T C0 00 00 00 21 FF FF 18 41 +T C4 00 00 00 21 FF FF 18 41 R 00 00 01 00 -T C5 00 00 00 +T C9 00 00 00 R 00 00 01 00 -T C5 00 00 00 3E 02 DD AE 02 DD B6 03 20 13 +T C9 00 00 00 3E 02 DD AE 02 DD B6 03 20 13 R 00 00 01 00 -T CF 00 00 00 +T D3 00 00 00 R 00 00 01 00 -T CF 00 00 00 DD 5E FE DD 56 FF 3E 9C 02 00 00 +T D3 00 00 00 DD 5E FE DD 56 FF 3E A0 02 00 00 R 00 00 01 00 29 0B 01 00 -T D7 00 00 00 21 9C 02 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 01 00 02 0A 05 00 -T DE 00 00 00 00 00 18 24 +T DB 00 00 00 21 A0 02 00 00 CD 00 00 00 00 21 +R 00 00 01 00 00 05 01 00 02 0A 02 00 +T E2 00 00 00 00 00 18 24 R 00 00 01 00 -T E2 00 00 00 +T E6 00 00 00 R 00 00 01 00 -T E2 00 00 00 DD 6E FE DD 66 FF E5 DD 6E 04 DD +T E6 00 00 00 DD 6E FE DD 66 FF E5 DD 6E 04 DD R 00 00 01 00 -T ED 00 00 00 66 05 23 23 E5 DD 4E 02 DD 46 03 +T F1 00 00 00 66 05 23 23 E5 DD 4E 02 DD 46 03 R 00 00 01 00 -T F8 00 00 00 0B 11 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 00 06 04 00 2B 0B 39 00 -T FE 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 39 00 02 0A 05 00 -T 05 01 00 00 F1 +T FC 00 00 00 0B 11 00 00 00 00 3E 00 00 00 00 +R 00 00 01 00 00 06 04 00 2B 0B 52 00 +T 02 01 00 00 21 00 00 00 00 CD 00 00 00 00 F1 +R 00 00 01 00 02 05 52 00 02 0A 02 00 +T 09 01 00 00 F1 R 00 00 01 00 -T 06 01 00 00 +T 0A 01 00 00 R 00 00 01 00 -T 06 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 14 00 -T 09 01 00 00 +T 0A 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 1D 00 +T 0D 01 00 00 R 00 00 01 00 -T 09 01 00 00 CD 00 00 00 00 FE FF DD 6E 0A DD -R 00 00 01 00 02 05 28 00 -T 12 01 00 00 66 0B DD 75 FE DD 74 FF 23 23 7E +T 0D 01 00 00 CD 00 00 00 00 FE FF DD 6E 0A DD +R 00 00 01 00 02 05 37 00 +T 16 01 00 00 66 0B DD 75 FE DD 74 FF 23 23 7E R 00 00 01 00 -T 1D 01 00 00 E6 3F 77 DD 5E FE DD 56 FF 3E +T 21 01 00 00 E6 3F 77 DD 5E FE DD 56 FF 3E R 00 00 01 00 -T 27 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 36 00 02 09 36 00 -T 2C 01 00 00 00 00 00 00 21 00 00 C3 -R 00 00 01 00 02 04 05 00 -T 32 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 14 00 -T 34 01 00 00 +T 2B 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 4F 00 02 09 4F 00 +T 30 01 00 00 00 00 00 00 21 00 00 C3 +R 00 00 01 00 02 04 02 00 +T 36 01 00 00 00 00 00 00 +R 00 00 01 00 02 04 1D 00 +T 38 01 00 00 R 00 00 01 00 -T 34 01 00 00 CD 00 00 00 00 FE FF DD 6E 0A DD -R 00 00 01 00 02 05 28 00 -T 3D 01 00 00 66 0B DD 75 FE DD 74 FF 23 23 7E +T 38 01 00 00 CD 00 00 00 00 FE FF DD 6E 0A DD +R 00 00 01 00 02 05 37 00 +T 41 01 00 00 66 0B DD 75 FE DD 74 FF 23 23 7E R 00 00 01 00 -T 48 01 00 00 E6 7F 77 DD 6E FE DD 66 FF 23 23 +T 4C 01 00 00 E6 7F 77 DD 6E FE DD 66 FF 23 23 R 00 00 01 00 -T 53 01 00 00 7E F6 40 77 DD 5E FE DD 56 FF 3E +T 57 01 00 00 7E F6 40 77 DD 5E FE DD 56 FF 3E R 00 00 01 00 -T 5E 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 13 00 02 09 13 00 -T 63 01 00 00 00 00 00 00 21 00 00 C3 -R 00 00 01 00 02 04 05 00 -T 69 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 14 00 -T 6B 01 00 00 +T 62 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 1C 00 02 09 1C 00 +T 67 01 00 00 00 00 00 00 21 00 00 C3 +R 00 00 01 00 02 04 02 00 +T 6D 01 00 00 00 00 00 00 +R 00 00 01 00 02 04 1D 00 +T 6F 01 00 00 R 00 00 01 00 -T 6B 01 00 00 CD 00 00 00 00 FE FF DD 6E 0A DD -R 00 00 01 00 02 05 28 00 -T 74 01 00 00 66 0B DD 75 FE DD 74 FF 23 23 7E +T 6F 01 00 00 CD 00 00 00 00 FE FF DD 6E 0A DD +R 00 00 01 00 02 05 37 00 +T 78 01 00 00 66 0B DD 75 FE DD 74 FF 23 23 7E R 00 00 01 00 -T 7F 01 00 00 E6 BF 77 DD 6E FE DD 66 FF 23 23 +T 83 01 00 00 E6 BF 77 DD 6E FE DD 66 FF 23 23 R 00 00 01 00 -T 8A 01 00 00 7E F6 80 77 DD 6E FE DD 66 FF 7E +T 8E 01 00 00 7E F6 80 77 DD 6E FE DD 66 FF 7E R 00 00 01 00 -T 95 01 00 00 FE 01 30 08 +T 99 01 00 00 FE 01 30 08 R 00 00 01 00 -T 99 01 00 00 +T 9D 01 00 00 R 00 00 01 00 -T 99 01 00 00 DD 6E FE DD 66 FF 36 01 +T 9D 01 00 00 DD 6E FE DD 66 FF 36 01 R 00 00 01 00 -T A1 01 00 00 +T A5 01 00 00 R 00 00 01 00 -T A1 01 00 00 21 00 00 C3 00 00 00 00 -R 00 00 01 00 02 08 14 00 -T A7 01 00 00 +T A5 01 00 00 21 00 00 C3 00 00 00 00 +R 00 00 01 00 02 08 1D 00 +T AB 01 00 00 R 00 00 01 00 -T A7 01 00 00 CD 00 00 00 00 F8 FF DD 6E 0A DD -R 00 00 01 00 02 05 28 00 -T B0 01 00 00 66 0B DD 75 F8 DD 74 F9 11 39 00 +T AB 01 00 00 CD 00 00 00 00 F8 FF DD 6E 0A DD +R 00 00 01 00 02 05 37 00 +T B4 01 00 00 66 0B DD 75 F8 DD 74 F9 11 39 00 R 00 00 01 00 -T BB 01 00 00 19 56 23 66 6A DD 75 FA DD 74 FB +T BF 01 00 00 19 56 23 66 6A DD 75 FA DD 74 FB R 00 00 01 00 -T C6 01 00 00 11 22 00 19 56 23 66 6A DD 75 FC +T CA 01 00 00 11 22 00 19 56 23 66 6A DD 75 FC R 00 00 01 00 -T D1 01 00 00 DD 74 FD 21 5E 00 DD 5E FA DD 56 +T D5 01 00 00 DD 74 FD 21 5E 00 DD 5E FA DD 56 R 00 00 01 00 -T DC 01 00 00 FB 19 7E 23 66 6F DD 75 FE DD 74 +T E0 01 00 00 FB 19 7E 23 66 6F DD 75 FE DD 74 R 00 00 01 00 -T E7 01 00 00 FF 21 06 00 DD 4E FC DD 46 FD 09 +T EB 01 00 00 FF 21 06 00 DD 4E FC DD 46 FD 09 R 00 00 01 00 -T F2 01 00 00 AF 77 23 77 23 77 23 77 69 60 23 +T F6 01 00 00 AF 77 23 77 23 77 23 77 69 60 23 R 00 00 01 00 -T FD 01 00 00 23 7E F6 04 77 23 7E F6 00 77 21 +T 01 02 00 00 23 7E F6 04 77 23 7E F6 00 77 21 R 00 00 01 00 -T 08 02 00 00 0E 00 DD 4E FC DD 46 FD 09 E5 21 +T 0C 02 00 00 0E 00 DD 4E FC DD 46 FD 09 E5 21 R 00 00 01 00 -T 13 02 00 00 0E 00 09 EB 01 00 00 E1 CD +T 17 02 00 00 0E 00 09 EB 01 00 00 E1 CD R 00 00 01 00 -T 1C 02 00 00 00 00 00 00 DD 6E FC DD 66 FD 23 -R 00 00 01 00 02 04 1B 00 -T 25 02 00 00 23 7E F6 20 77 23 7E F6 00 77 DD +T 20 02 00 00 00 00 00 00 DD 6E FC DD 66 FD 23 +R 00 00 01 00 02 04 25 00 +T 29 02 00 00 23 7E F6 20 77 23 7E F6 00 77 DD R 00 00 01 00 -T 30 02 00 00 6E FC DD 66 FD 23 23 7E F6 00 77 +T 34 02 00 00 6E FC DD 66 FD 23 23 7E F6 00 77 R 00 00 01 00 -T 3B 02 00 00 23 7E F6 01 77 DD 6E FC DD 66 FD +T 3F 02 00 00 23 7E F6 01 77 DD 6E FC DD 66 FD R 00 00 01 00 -T 46 02 00 00 23 23 7E F6 80 77 23 7E F6 00 77 +T 4A 02 00 00 23 23 7E F6 80 77 23 7E F6 00 77 R 00 00 01 00 -T 51 02 00 00 21 0C 00 DD 4E FE DD 46 FF 09 36 +T 55 02 00 00 21 0C 00 DD 4E FE DD 46 FF 09 36 R 00 00 01 00 -T 5C 02 00 00 2D 23 36 00 21 0E 00 09 36 10 23 +T 60 02 00 00 2D 23 36 00 21 0E 00 09 36 10 23 R 00 00 01 00 -T 67 02 00 00 36 00 21 10 00 09 36 01 69 60 23 +T 6B 02 00 00 36 00 21 10 00 09 36 01 69 60 23 R 00 00 01 00 -T 72 02 00 00 23 7E F6 04 77 23 7E F6 00 77 21 +T 76 02 00 00 23 7E F6 04 77 23 7E F6 00 77 21 R 00 00 01 00 -T 7D 02 00 00 42 00 DD 4E FA DD 46 FB 09 E5 01 +T 81 02 00 00 42 00 DD 4E FA DD 46 FB 09 E5 01 R 00 00 01 00 -T 88 02 00 00 00 00 11 00 00 3E 6B 01 00 00 21 +T 8C 02 00 00 00 00 11 00 00 3E 6F 01 00 00 21 R 00 00 01 00 29 0A 01 00 -T 90 02 00 00 6B 01 00 00 CD 00 00 00 00 F1 21 -R 00 00 01 00 00 04 01 00 02 09 05 00 -T 97 02 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 07 14 00 -T 9C 02 00 00 +T 94 02 00 00 6F 01 00 00 CD 00 00 00 00 F1 21 +R 00 00 01 00 00 04 01 00 02 09 02 00 +T 9B 02 00 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 07 1D 00 +T A0 02 00 00 R 00 00 01 00 -T 9C 02 00 00 CD 00 00 00 00 FE FF 21 39 00 DD -R 00 00 01 00 02 05 28 00 -T A5 02 00 00 4E 02 DD 46 03 09 46 23 66 68 DD +T A0 02 00 00 CD 00 00 00 00 FE FF 21 39 00 DD +R 00 00 01 00 02 05 37 00 +T A9 02 00 00 4E 02 DD 46 03 09 46 23 66 68 DD R 00 00 01 00 -T B0 02 00 00 75 FE DD 74 FF EB CD 13 03 00 00 +T B4 02 00 00 75 FE DD 74 FF EB CD 17 03 00 00 R 00 00 01 00 00 0B 01 00 -T B9 02 00 00 21 22 00 DD 4E FE DD 46 FF 09 7E +T BD 02 00 00 21 22 00 DD 4E FE DD 46 FF 09 7E R 00 00 01 00 -T C4 02 00 00 23 B6 28 0E +T C8 02 00 00 23 B6 28 0E R 00 00 01 00 -T C8 02 00 00 +T CC 02 00 00 R 00 00 01 00 -T C8 02 00 00 21 06 00 DD 4E FE DD 46 FF 09 EB +T CC 02 00 00 21 06 00 DD 4E FE DD 46 FF 09 EB R 00 00 01 00 -T D3 02 00 00 CD 27 05 00 00 +T D7 02 00 00 CD 2D 05 00 00 R 00 00 01 00 00 05 01 00 -T D6 02 00 00 +T DA 02 00 00 R 00 00 01 00 -T D6 02 00 00 21 40 00 DD 4E FE DD 46 FF 09 7E +T DA 02 00 00 21 40 00 DD 4E FE DD 46 FF 09 7E R 00 00 01 00 -T E1 02 00 00 23 B6 28 0E +T E5 02 00 00 23 B6 28 0E R 00 00 01 00 -T E5 02 00 00 +T E9 02 00 00 R 00 00 01 00 -T E5 02 00 00 21 24 00 DD 4E FE DD 46 FF 09 EB +T E9 02 00 00 21 24 00 DD 4E FE DD 46 FF 09 EB R 00 00 01 00 -T F0 02 00 00 CD 5C 09 00 00 +T F4 02 00 00 CD DE 09 00 00 R 00 00 01 00 00 05 01 00 -T F3 02 00 00 +T F7 02 00 00 R 00 00 01 00 -T F3 02 00 00 21 5E 00 DD 4E FE DD 46 FF 09 7E +T F7 02 00 00 21 5E 00 DD 4E FE DD 46 FF 09 7E R 00 00 01 00 -T FE 02 00 00 23 B6 28 0E +T 02 03 00 00 23 B6 28 0E R 00 00 01 00 -T 02 03 00 00 +T 06 03 00 00 R 00 00 01 00 -T 02 03 00 00 21 42 00 DD 4E FE DD 46 FF 09 EB +T 06 03 00 00 21 42 00 DD 4E FE DD 46 FF 09 EB R 00 00 01 00 -T 0D 03 00 00 CD C8 09 00 00 +T 11 03 00 00 CD 72 0A 00 00 R 00 00 01 00 00 05 01 00 -T 10 03 00 00 -R 00 00 01 00 -T 10 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 14 00 -T 13 03 00 00 -R 00 00 01 00 -T 13 03 00 00 CD 00 00 00 00 EB 23 23 6E 26 00 -R 00 00 01 00 02 05 1F 00 -T 1C 03 00 00 29 01 82 00 00 00 09 4E 23 46 C5 -R 00 00 01 00 00 06 04 00 -T 25 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1E 00 02 0B 1E 00 -T 2B 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2F 00 02 0B 2F 00 -T 31 03 00 00 CD 00 00 00 00 F1 F1 F1 DD 6E 02 -R 00 00 01 00 02 05 05 00 -T 3A 03 00 00 DD 66 03 23 23 7E FE 03 20 44 +T 14 03 00 00 R 00 00 01 00 -T 44 03 00 00 +T 14 03 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 1D 00 +T 17 03 00 00 R 00 00 01 00 -T 44 03 00 00 21 60 00 DD 4E 02 DD 46 03 09 4E -R 00 00 01 00 -T 4F 03 00 00 23 46 23 5E 23 56 69 60 D5 E5 3E -R 00 00 01 00 -T 5A 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T 5F 03 00 00 00 00 00 00 59 50 A7 C1 ED 42 EB -R 00 00 01 00 02 04 05 00 -T 68 03 00 00 C1 ED 42 4D 44 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 38 00 -T 70 03 00 00 00 00 00 00 CD 00 00 00 00 E5 0E -R 00 00 01 00 02 04 38 00 02 09 05 00 -T 77 03 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 08 00 02 0A 08 00 -T 7D 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2F 00 02 0A 2F 00 -T 83 03 00 00 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 04 05 00 -T 88 03 00 00 -R 00 00 01 00 -T 88 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 -T 8E 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2F 00 02 0B 2F 00 -T 94 03 00 00 CD 00 00 00 00 F1 F1 21 8C 00 DD -R 00 00 01 00 02 05 05 00 -T 9D 03 00 00 4E 02 DD 46 03 09 5E 23 56 D5 21 -R 00 00 01 00 -T A8 03 00 00 88 00 09 5E 23 56 D5 21 8A 00 09 -R 00 00 01 00 -T B3 03 00 00 5E 23 56 D5 21 8E 00 09 5E 23 56 +T 17 03 00 00 CD 00 00 00 00 EB 23 23 4E 06 00 +R 00 00 01 00 02 05 2D 00 +T 20 03 00 00 11 03 00 CD 00 00 00 00 21 +R 00 00 01 00 02 08 38 00 +T 27 03 00 00 8F 00 00 00 19 23 23 4E C5 2B 46 +R 00 00 01 00 00 04 04 00 +T 30 03 00 00 2B 4E C5 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 42 00 +T 36 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 42 00 02 09 02 00 +T 3D 03 00 00 DD 6E 02 DD 66 03 23 23 7E FE 03 R 00 00 01 00 -T BE 03 00 00 D5 21 7C 00 09 5E 23 56 23 4E 23 +T 48 03 00 00 20 44 R 00 00 01 00 -T C9 03 00 00 46 C5 D5 21 78 00 DD 4E 02 DD 46 +T 4A 03 00 00 R 00 00 01 00 -T D4 03 00 00 03 09 5E 23 56 23 4E 23 46 C5 D5 +T 4A 03 00 00 21 60 00 DD 4E 02 DD 46 03 09 4E R 00 00 01 00 -T DF 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 -T E5 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2F 00 02 0B 2F 00 -T EB 03 00 00 CD 00 00 00 00 EB 21 14 00 39 F9 -R 00 00 01 00 02 05 05 00 -T F4 03 00 00 EB 21 86 00 DD 4E 02 DD 46 03 09 +T 55 03 00 00 23 46 23 5E 23 56 69 60 D5 E5 3E R 00 00 01 00 -T FF 03 00 00 5E 23 56 D5 21 84 00 09 5E 23 56 +T 60 03 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +T 65 03 00 00 00 00 00 00 59 50 A7 C1 ED 42 EB +R 00 00 01 00 02 04 02 00 +T 6E 03 00 00 C1 ED 42 4D 44 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 51 00 +T 76 03 00 00 00 00 00 00 CD 00 00 00 00 E5 0E +R 00 00 01 00 02 04 51 00 02 09 02 00 +T 7D 03 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 09 00 02 0A 09 00 +T 83 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 42 00 02 0A 42 00 +T 89 03 00 00 00 00 00 00 F1 F1 F1 +R 00 00 01 00 02 04 02 00 +T 8E 03 00 00 R 00 00 01 00 -T 0A 04 00 00 D5 21 82 00 09 5E 23 56 D5 21 +T 8E 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 12 00 02 0B 12 00 +T 94 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 42 00 02 0B 42 00 +T 9A 03 00 00 CD 00 00 00 00 F1 F1 21 8C 00 DD +R 00 00 01 00 02 05 02 00 +T A3 03 00 00 4E 02 DD 46 03 09 5E 23 56 D5 21 R 00 00 01 00 -T 14 04 00 00 80 00 09 5E 23 56 D5 1E +T AE 03 00 00 88 00 09 5E 23 56 D5 21 8A 00 09 R 00 00 01 00 -T 1C 04 00 00 00 00 00 00 D5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 2A 00 02 0A 2A 00 -T 22 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2F 00 02 0A 2F 00 -T 28 04 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB -R 00 00 01 00 02 04 05 00 -T 31 04 00 00 21 74 00 09 5E 23 56 D5 21 76 00 +T B9 03 00 00 5E 23 56 D5 21 8E 00 09 5E 23 56 R 00 00 01 00 -T 3C 04 00 00 09 5E 23 56 D5 21 6A 00 09 5E 23 +T C4 03 00 00 D5 21 7C 00 09 5E 23 56 23 4E 23 R 00 00 01 00 -T 47 04 00 00 56 23 4E 23 46 C5 D5 21 66 00 DD +T CF 03 00 00 46 C5 D5 21 78 00 DD 4E 02 DD 46 R 00 00 01 00 -T 52 04 00 00 4E 02 DD 46 03 09 5E 23 56 23 4E +T DA 03 00 00 03 09 5E 23 56 23 4E 23 46 C5 D5 R 00 00 01 00 -T 5D 04 00 00 23 46 C5 D5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 16 00 -T 65 04 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 16 00 2B 0A 2F 00 -T 6B 04 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 2F 00 02 09 05 00 -T 72 04 00 00 10 00 39 F9 EB 21 72 00 DD 4E 02 +T E5 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 4C 00 02 0B 4C 00 +T EB 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 42 00 02 0B 42 00 +T F1 03 00 00 CD 00 00 00 00 EB 21 14 00 39 F9 +R 00 00 01 00 02 05 02 00 +T FA 03 00 00 EB 21 86 00 DD 4E 02 DD 46 03 09 R 00 00 01 00 -T 7D 04 00 00 DD 46 03 09 5E 23 56 D5 21 70 00 +T 05 04 00 00 5E 23 56 D5 21 84 00 09 5E 23 56 R 00 00 01 00 -T 88 04 00 00 09 5E 23 56 D5 21 6E 00 09 4E 23 +T 10 04 00 00 D5 21 82 00 09 5E 23 56 D5 21 R 00 00 01 00 -T 93 04 00 00 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 07 27 00 -T 99 04 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 27 00 2B 0A 2F 00 -T 9F 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 2F 00 02 09 05 00 -T A6 04 00 00 F1 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 08 19 00 -T AC 04 00 00 +T 1A 04 00 00 80 00 09 5E 23 56 D5 1E R 00 00 01 00 -T AC 04 00 00 CD 00 00 00 00 FC FF DD 36 FC 20 -R 00 00 01 00 02 05 28 00 -T B5 04 00 00 DD 7E 02 DD A6 0A 6F DD 7E 03 DD +T 22 04 00 00 00 00 00 00 D5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 39 00 02 0A 39 00 +T 28 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 42 00 02 0A 42 00 +T 2E 04 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB +R 00 00 01 00 02 04 02 00 +T 37 04 00 00 21 74 00 09 5E 23 56 D5 21 76 00 R 00 00 01 00 -T C0 04 00 00 A6 0B 67 DD 75 FD DD 74 FE DD 7E +T 42 04 00 00 09 5E 23 56 D5 21 6A 00 09 5E 23 R 00 00 01 00 -T CB 04 00 00 08 DD A6 0A 57 DD 7E 09 DD A6 0B +T 4D 04 00 00 56 23 4E 23 46 C5 D5 21 66 00 DD R 00 00 01 00 -T D6 04 00 00 B2 20 06 +T 58 04 00 00 4E 02 DD 46 03 09 5E 23 56 23 4E R 00 00 01 00 -T D9 04 00 00 +T 63 04 00 00 23 46 C5 D5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 09 0C 00 +T 6B 04 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 0C 00 2B 0A 42 00 +T 71 04 00 00 00 00 00 00 CD 00 00 00 00 EB 21 +R 00 00 01 00 02 04 42 00 02 09 02 00 +T 78 04 00 00 10 00 39 F9 EB 21 72 00 DD 4E 02 R 00 00 01 00 -T D9 04 00 00 DD 36 FC 2A 18 2B +T 83 04 00 00 DD 46 03 09 5E 23 56 D5 21 70 00 R 00 00 01 00 -T DF 04 00 00 +T 8E 04 00 00 09 5E 23 56 D5 21 6E 00 09 4E 23 R 00 00 01 00 -T DF 04 00 00 DD 7E 04 DD AE 02 6F DD 7E 05 DD +T 99 04 00 00 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 07 36 00 +T 9F 04 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 36 00 2B 0A 42 00 +T A5 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 42 00 02 09 02 00 +T AC 04 00 00 F1 F1 F1 C3 00 00 00 00 +R 00 00 01 00 02 08 23 00 +T B2 04 00 00 R 00 00 01 00 -T EA 04 00 00 AE 03 67 7D DD A6 0A 47 7C DD A6 +T B2 04 00 00 CD 00 00 00 00 FC FF DD 36 FC 20 +R 00 00 01 00 02 05 37 00 +T BB 04 00 00 DD 7E 02 DD A6 0A 6F DD 7E 03 DD R 00 00 01 00 -T F5 04 00 00 0B B0 28 11 +T C6 04 00 00 A6 0B 67 DD 75 FD DD 74 FE DD 7E R 00 00 01 00 -T F9 04 00 00 +T D1 04 00 00 08 DD A6 0A 57 DD 7E 09 DD A6 0B R 00 00 01 00 -T F9 04 00 00 DD 7E FD DD B6 FE 28 04 3E 2B 18 +T DC 04 00 00 B2 20 06 R 00 00 01 00 -T 04 05 00 00 02 +T DF 04 00 00 R 00 00 01 00 -T 05 05 00 00 +T DF 04 00 00 DD 36 FC 2A 18 2B R 00 00 01 00 -T 05 05 00 00 3E 2D +T E5 04 00 00 R 00 00 01 00 -T 07 05 00 00 +T E5 04 00 00 DD 7E 04 DD AE 02 6F DD 7E 05 DD R 00 00 01 00 -T 07 05 00 00 DD 77 FC +T F0 04 00 00 AE 03 67 7D DD A6 0A 47 7C DD A6 R 00 00 01 00 -T 0A 05 00 00 +T FB 04 00 00 0B B0 28 11 R 00 00 01 00 -T 0A 05 00 00 +T FF 04 00 00 R 00 00 01 00 -T 0A 05 00 00 DD 4E FC 06 00 C5 21 7E 01 00 00 -R 00 00 01 00 00 0B 02 00 -T 13 05 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 12 00 02 0B 12 00 -T 19 05 00 00 CD 00 00 00 00 F1 F1 DD 6E FD DD -R 00 00 01 00 02 05 05 00 -T 22 05 00 00 66 FE C3 00 00 00 00 -R 00 00 01 00 02 07 19 00 -T 27 05 00 00 +T FF 04 00 00 DD 7E FD DD B6 FE 28 04 3E 2B 18 R 00 00 01 00 -T 27 05 00 00 CD 00 00 00 00 EE FF 21 1C 00 DD -R 00 00 01 00 02 05 28 00 -T 30 05 00 00 4E 02 DD 46 03 09 56 23 66 6A DD +T 0A 05 00 00 02 R 00 00 01 00 -T 3B 05 00 00 75 EE DD 74 EF 11 16 00 19 DD 75 +T 0B 05 00 00 R 00 00 01 00 -T 46 05 00 00 F0 DD 74 F1 21 16 00 DD 5E EE DD +T 0B 05 00 00 3E 2D R 00 00 01 00 -T 51 05 00 00 56 EF 19 7E 23 66 6F DD 75 F2 DD +T 0D 05 00 00 R 00 00 01 00 -T 5C 05 00 00 74 F3 13 13 EB 5E 23 56 DD 73 F4 +T 0D 05 00 00 DD 77 FC R 00 00 01 00 -T 67 05 00 00 DD 72 F5 DD 6E EE DD 66 EF 7E 23 +T 10 05 00 00 R 00 00 01 00 -T 72 05 00 00 66 6F DD 75 F6 DD 74 F7 21 40 00 +T 10 05 00 00 R 00 00 01 00 -T 7D 05 00 00 DD 4E EE DD 46 EF 09 DD 75 F8 DD +T 10 05 00 00 DD 4E FC 06 00 C5 21 00 00 00 00 +R 00 00 01 00 00 0B 02 00 +T 19 05 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 1B 00 02 0B 1B 00 +T 1F 05 00 00 CD 00 00 00 00 F1 F1 DD 6E FD DD +R 00 00 01 00 02 05 02 00 +T 28 05 00 00 66 FE C3 00 00 00 00 +R 00 00 01 00 02 07 23 00 +T 2D 05 00 00 +R 00 00 01 00 +T 2D 05 00 00 CD 00 00 00 00 EE FF 21 1C 00 DD +R 00 00 01 00 02 05 37 00 +T 36 05 00 00 4E 02 DD 46 03 09 56 23 66 6A DD +R 00 00 01 00 +T 41 05 00 00 75 EE DD 74 EF 11 16 00 19 DD 75 +R 00 00 01 00 +T 4C 05 00 00 F0 DD 74 F1 21 16 00 DD 5E EE DD +R 00 00 01 00 +T 57 05 00 00 56 EF 19 7E 23 66 6F DD 75 F2 DD +R 00 00 01 00 +T 62 05 00 00 74 F3 13 13 EB 5E 23 56 DD 73 F4 +R 00 00 01 00 +T 6D 05 00 00 DD 72 F5 DD 6E EE DD 66 EF 7E 23 +R 00 00 01 00 +T 78 05 00 00 66 6F DD 75 F6 DD 74 F7 21 40 00 +R 00 00 01 00 +T 83 05 00 00 DD 4E EE DD 46 EF 09 DD 75 F8 DD +R 00 00 01 00 +T 8E 05 00 00 74 F9 21 40 00 09 7E 23 66 6F DD +R 00 00 01 00 +T 99 05 00 00 75 FA DD 74 FB 21 2C 00 09 7E 23 +R 00 00 01 00 +T A4 05 00 00 66 6F DD 75 FC DD 74 FD 21 2A 00 +R 00 00 01 00 +T AF 05 00 00 09 46 23 66 68 DD 75 FE DD 74 FF +R 00 00 01 00 +T BA 05 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 3F 00 02 0B 3F 00 +T C0 05 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 42 00 02 0B 42 00 +T C6 05 00 00 CD 00 00 00 00 F1 F1 DD 6E 02 DD +R 00 00 01 00 02 05 02 00 +T CF 05 00 00 66 03 4E 06 00 11 03 00 CD +R 00 00 01 00 +T D8 05 00 00 00 00 00 00 21 9E 00 00 00 19 23 +R 00 00 01 00 02 04 38 00 00 09 04 00 +T DF 05 00 00 23 4E C5 2B 46 2B 4E C5 3E +R 00 00 01 00 +T E8 05 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 42 00 02 09 42 00 +T ED 05 00 00 00 00 00 00 F1 F1 0E 00 00 00 00 +R 00 00 01 00 02 04 02 00 2B 0B 12 00 +T F3 05 00 00 C5 21 00 00 00 00 E5 3E +R 00 00 01 00 02 06 12 00 +T F9 05 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 42 00 02 09 42 00 +T FE 05 00 00 00 00 00 00 F1 F1 0E 00 00 00 00 +R 00 00 01 00 02 04 02 00 2B 0B 17 00 +T 04 06 00 00 C5 21 00 00 00 00 E5 3E +R 00 00 01 00 02 06 17 00 +T 0A 06 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 42 00 02 09 42 00 +T 0F 06 00 00 00 00 00 00 F1 F1 0E 00 00 00 00 +R 00 00 01 00 02 04 02 00 2B 0B 43 00 +T 15 06 00 00 C5 21 00 00 00 00 E5 3E +R 00 00 01 00 02 06 43 00 +T 1B 06 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 42 00 02 09 42 00 +T 20 06 00 00 00 00 00 00 F1 F1 21 02 00 E5 DD +R 00 00 01 00 02 04 02 00 +T 29 06 00 00 6E F6 DD 66 F7 E5 DD 4E F4 DD 46 +R 00 00 01 00 +T 34 06 00 00 F5 DD 5E F2 DD 56 F3 CD +R 00 00 01 00 +T 3C 06 00 00 B2 04 00 00 F1 F1 DD 6E F0 DD 66 +R 00 00 01 00 00 04 01 00 +T 45 06 00 00 F1 23 23 4E 23 46 C5 0E R 00 00 01 00 -T 88 05 00 00 74 F9 21 40 00 09 7E 23 66 6F DD +T 4D 06 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 45 00 02 0A 45 00 +T 53 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 42 00 02 0A 42 00 +T 59 06 00 00 00 00 00 00 F1 F1 F1 21 04 00 E5 +R 00 00 01 00 02 04 02 00 +T 62 06 00 00 DD 6E F6 DD 66 F7 E5 DD 4E F4 DD R 00 00 01 00 -T 93 05 00 00 75 FA DD 74 FB 21 2C 00 09 7E 23 +T 6D 06 00 00 46 F5 DD 5E F2 DD 56 F3 CD R 00 00 01 00 -T 9E 05 00 00 66 6F DD 75 FC DD 74 FD 21 2A 00 +T 76 06 00 00 B2 04 00 00 F1 F1 21 04 00 DD 4E +R 00 00 01 00 00 04 01 00 +T 7F 06 00 00 F0 DD 46 F1 09 4E 23 46 23 5E 23 R 00 00 01 00 -T A9 05 00 00 09 46 23 66 68 DD 75 FE DD 74 FF +T 8A 06 00 00 56 D5 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 2B 00 +T 91 06 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 2B 00 2B 0A 42 00 +T 97 06 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 42 00 02 09 02 00 +T 9E 06 00 00 F1 F1 21 08 00 E5 DD 6E F6 DD 66 R 00 00 01 00 -T B4 05 00 00 DD 6E 02 DD 66 03 6E 26 00 29 01 +T A9 06 00 00 F7 E5 DD 4E F4 DD 46 F5 DD 5E F2 R 00 00 01 00 -T BF 05 00 00 8C 00 00 00 09 4E 23 46 C5 0E -R 00 00 01 00 00 04 04 00 -T C7 05 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 11 00 02 0A 11 00 -T CD 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2F 00 02 0A 2F 00 -T D3 05 00 00 00 00 00 00 F1 F1 F1 0E -R 00 00 01 00 02 04 05 00 -T D9 05 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0E 00 02 0A 0E 00 -T DF 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2F 00 02 0A 2F 00 -T E5 05 00 00 00 00 00 00 F1 F1 0E 00 00 00 00 -R 00 00 01 00 02 04 05 00 2B 0B 30 00 -T EB 05 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 30 00 -T F1 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2F 00 02 09 2F 00 -T F6 05 00 00 00 00 00 00 F1 F1 21 02 00 E5 DD -R 00 00 01 00 02 04 05 00 -T FF 05 00 00 6E F6 DD 66 F7 E5 4B 42 DD 5E F2 -R 00 00 01 00 -T 0A 06 00 00 DD 56 F3 CD AC 04 00 00 F1 F1 DD +T B4 06 00 00 DD 56 F3 CD B2 04 00 00 F1 F1 7D R 00 00 01 00 00 08 01 00 -T 13 06 00 00 6E F0 DD 66 F1 23 23 4E 23 46 C5 -R 00 00 01 00 -T 1E 06 00 00 21 81 01 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 12 00 -T 24 06 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 12 00 02 0A 05 00 -T 2B 06 00 00 F1 21 04 00 E5 DD 6E F6 DD 66 F7 -R 00 00 01 00 -T 36 06 00 00 E5 DD 4E F4 DD 46 F5 DD 5E F2 DD -R 00 00 01 00 -T 41 06 00 00 56 F3 CD AC 04 00 00 F1 F1 21 -R 00 00 01 00 00 07 01 00 -T 49 06 00 00 04 00 DD 4E F0 DD 46 F1 09 4E 23 -R 00 00 01 00 -T 54 06 00 00 46 23 5E 23 56 D5 C5 21 +T BD 06 00 00 B4 28 4C R 00 00 01 00 -T 5C 06 00 00 86 01 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 2B 0A 12 00 -T 62 06 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 05 00 -T 69 06 00 00 F1 21 08 00 E5 DD 6E F6 DD 66 F7 +T C0 06 00 00 R 00 00 01 00 -T 74 06 00 00 E5 DD 4E F4 DD 46 F5 DD 5E F2 DD +T C0 06 00 00 21 08 00 DD 4E F0 DD 46 F1 09 4E R 00 00 01 00 -T 7F 06 00 00 56 F3 CD AC 04 00 00 F1 F1 7D B4 -R 00 00 01 00 00 07 01 00 -T 88 06 00 00 28 44 +T CB 06 00 00 23 46 21 23 C0 A7 ED 42 20 13 R 00 00 01 00 -T 8A 06 00 00 +T D5 06 00 00 R 00 00 01 00 -T 8A 06 00 00 21 08 00 DD 4E F0 DD 46 F1 09 4E +T D5 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 14 00 02 0B 14 00 +T DB 06 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 42 00 02 0B 42 00 +T E1 06 00 00 CD 00 00 00 00 F1 F1 18 22 +R 00 00 01 00 02 05 02 00 +T E8 06 00 00 R 00 00 01 00 -T 95 06 00 00 23 46 21 23 C0 A7 ED 42 20 0F +T E8 06 00 00 21 08 00 DD 4E F0 DD 46 F1 09 4E R 00 00 01 00 -T 9F 06 00 00 +T F3 06 00 00 23 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 40 00 +T FA 06 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 40 00 2B 0A 42 00 +T 00 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 42 00 02 09 02 00 +T 07 07 00 00 F1 18 00 R 00 00 01 00 -T 9F 06 00 00 21 8F 01 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 12 00 -T A5 06 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 12 00 02 0A 05 00 -T AC 06 00 00 18 1E +T 0A 07 00 00 R 00 00 01 00 -T AE 06 00 00 +T 0A 07 00 00 18 11 R 00 00 01 00 -T AE 06 00 00 21 08 00 DD 4E F0 DD 46 F1 09 4E +T 0C 07 00 00 R 00 00 01 00 -T B9 06 00 00 23 46 C5 21 94 01 00 00 E5 3E -R 00 00 01 00 00 08 02 00 -T C1 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 -T C6 06 00 00 00 00 00 00 F1 F1 18 00 -R 00 00 01 00 02 04 05 00 -T CC 06 00 00 +T 0C 07 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 4D 00 02 0B 4D 00 +T 12 07 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 42 00 02 0B 42 00 +T 18 07 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 05 02 00 +T 1D 07 00 00 R 00 00 01 00 -T CC 06 00 00 18 0D +T 1D 07 00 00 21 80 00 E5 DD 6E F6 DD 66 F7 E5 R 00 00 01 00 -T CE 06 00 00 +T 28 07 00 00 DD 4E F4 DD 46 F5 DD 5E F2 DD 56 R 00 00 01 00 -T CE 06 00 00 21 9C 01 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 12 00 -T D4 06 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 12 00 02 0A 05 00 -T DB 06 00 00 -R 00 00 01 00 -T DB 06 00 00 21 80 00 E5 DD 6E F6 DD 66 F7 E5 -R 00 00 01 00 -T E6 06 00 00 DD 4E F4 DD 46 F5 DD 5E F2 DD 56 -R 00 00 01 00 -T F1 06 00 00 F3 CD AC 04 00 00 F1 F1 7D B4 28 +T 33 07 00 00 F3 CD B2 04 00 00 F1 F1 7D B4 28 R 00 00 01 00 00 06 01 00 -T FA 06 00 00 05 21 A2 01 00 00 18 03 -R 00 00 01 00 00 06 02 00 -T 00 07 00 00 -R 00 00 01 00 -T 00 07 00 00 21 A7 01 00 00 -R 00 00 01 00 00 05 02 00 -T 03 07 00 00 -R 00 00 01 00 -T 03 07 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 12 00 02 0B 12 00 -T 09 07 00 00 CD 00 00 00 00 F1 21 00 01 E5 DD -R 00 00 01 00 02 05 05 00 -T 12 07 00 00 6E F6 DD 66 F7 E5 DD 4E F4 DD 46 -R 00 00 01 00 -T 1D 07 00 00 F5 DD 5E F2 DD 56 F3 CD -R 00 00 01 00 -T 25 07 00 00 AC 04 00 00 F1 F1 7D B4 28 05 21 -R 00 00 01 00 00 04 01 00 -T 2E 07 00 00 A2 01 00 00 18 03 -R 00 00 01 00 00 04 02 00 -T 32 07 00 00 -R 00 00 01 00 -T 32 07 00 00 21 A7 01 00 00 -R 00 00 01 00 00 05 02 00 -T 35 07 00 00 +T 3C 07 00 00 07 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 24 00 02 0B 24 00 +T 42 07 00 00 18 05 R 00 00 01 00 -T 35 07 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 12 00 02 0B 12 00 -T 3B 07 00 00 CD 00 00 00 00 F1 21 20 00 E5 DD -R 00 00 01 00 02 05 05 00 -T 44 07 00 00 6E F6 DD 66 F7 E5 DD 4E F4 DD 46 +T 44 07 00 00 R 00 00 01 00 -T 4F 07 00 00 F5 DD 5E F2 DD 56 F3 CD +T 44 07 00 00 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 05 08 00 02 0A 08 00 +T 49 07 00 00 R 00 00 01 00 -T 57 07 00 00 AC 04 00 00 F1 F1 21 0C 00 DD 4E -R 00 00 01 00 00 04 01 00 -T 60 07 00 00 F0 DD 46 F1 09 7E 23 B6 23 B6 23 +T 49 07 00 00 4F C5 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 42 00 +T 4F 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 42 00 02 09 02 00 +T 56 07 00 00 21 00 01 E5 DD 6E F6 DD 66 F7 E5 R 00 00 01 00 -T 6B 07 00 00 B6 28 24 +T 61 07 00 00 DD 4E F4 DD 46 F5 DD 5E F2 DD 56 R 00 00 01 00 -T 6E 07 00 00 +T 6C 07 00 00 F3 CD B2 04 00 00 F1 F1 7D B4 28 +R 00 00 01 00 00 06 01 00 +T 75 07 00 00 07 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 24 00 02 0B 24 00 +T 7B 07 00 00 18 05 R 00 00 01 00 -T 6E 07 00 00 21 0C 00 DD 4E F0 DD 46 F1 09 4E +T 7D 07 00 00 R 00 00 01 00 -T 79 07 00 00 23 46 23 5E 23 56 D5 C5 21 +T 7D 07 00 00 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 05 08 00 02 0A 08 00 +T 82 07 00 00 R 00 00 01 00 -T 82 07 00 00 AC 01 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 2B 0A 12 00 +T 82 07 00 00 4F C5 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 42 00 T 88 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 05 00 -T 8F 07 00 00 F1 18 0D +R 00 00 01 00 02 04 42 00 02 09 02 00 +T 8F 07 00 00 21 20 00 E5 DD 6E F6 DD 66 F7 E5 R 00 00 01 00 -T 92 07 00 00 +T 9A 07 00 00 DD 4E F4 DD 46 F5 DD 5E F2 DD 56 R 00 00 01 00 -T 92 07 00 00 21 B5 01 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 12 00 -T 98 07 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 12 00 02 0A 05 00 -T 9F 07 00 00 -R 00 00 01 00 -T 9F 07 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 31 00 02 0B 31 00 -T A5 07 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2F 00 02 0B 2F 00 -T AB 07 00 00 CD 00 00 00 00 F1 F1 21 02 00 E5 -R 00 00 01 00 02 05 05 00 -T B4 07 00 00 DD 6E FE DD 66 FF E5 DD 4E FC DD +T A5 07 00 00 F3 CD B2 04 00 00 F1 F1 21 0C 00 +R 00 00 01 00 00 06 01 00 +T AE 07 00 00 DD 4E F0 DD 46 F1 09 7E 23 B6 23 R 00 00 01 00 -T BF 07 00 00 46 FD DD 5E FA DD 56 FB CD +T B9 07 00 00 B6 23 B6 28 28 R 00 00 01 00 -T C8 07 00 00 AC 04 00 00 F1 F1 DD 6E F8 DD 66 -R 00 00 01 00 00 04 01 00 -T D1 07 00 00 F9 23 23 4E 23 46 C5 21 +T BE 07 00 00 R 00 00 01 00 -T D9 07 00 00 81 01 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 2B 0A 12 00 -T DF 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 05 00 -T E6 07 00 00 21 04 00 E5 DD 6E FE DD 66 FF E5 +T BE 07 00 00 21 0C 00 DD 4E F0 DD 46 F1 09 4E R 00 00 01 00 -T F1 07 00 00 DD 4E FC DD 46 FD DD 5E FA DD 56 +T C9 07 00 00 23 46 23 5E 23 56 D5 C5 0E R 00 00 01 00 -T FC 07 00 00 FB CD AC 04 00 00 F1 F1 21 04 00 -R 00 00 01 00 00 06 01 00 -T 05 08 00 00 DD 4E F8 DD 46 F9 09 4E 23 46 23 +T D2 07 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 29 00 02 0A 29 00 +T D8 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 42 00 02 0A 42 00 +T DE 07 00 00 00 00 00 00 F1 F1 F1 F1 18 11 +R 00 00 01 00 02 04 02 00 +T E6 07 00 00 +R 00 00 01 00 +T E6 07 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 27 00 02 0B 27 00 +T EC 07 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 42 00 02 0B 42 00 +T F2 07 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 05 02 00 +T F7 07 00 00 +R 00 00 01 00 +T F7 07 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 47 00 02 0B 47 00 +T FD 07 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 42 00 02 0B 42 00 +T 03 08 00 00 CD 00 00 00 00 F1 F1 21 02 00 E5 +R 00 00 01 00 02 05 02 00 +T 0C 08 00 00 DD 6E FE DD 66 FF E5 DD 4E FC DD +R 00 00 01 00 +T 17 08 00 00 46 FD DD 5E FA DD 56 FB CD +R 00 00 01 00 +T 20 08 00 00 B2 04 00 00 F1 F1 DD 6E F8 DD 66 +R 00 00 01 00 00 04 01 00 +T 29 08 00 00 F9 23 23 4E 23 46 C5 0E R 00 00 01 00 -T 10 08 00 00 5E 23 56 D5 C5 21 86 01 00 00 E5 -R 00 00 01 00 00 0A 02 00 -T 19 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 12 00 02 0A 12 00 -T 1F 08 00 00 00 00 00 00 F1 F1 F1 21 08 00 E5 -R 00 00 01 00 02 04 05 00 -T 28 08 00 00 DD 6E FE DD 66 FF E5 DD 4E FC DD +T 31 08 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 45 00 02 0A 45 00 +T 37 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 42 00 02 0A 42 00 +T 3D 08 00 00 00 00 00 00 F1 F1 F1 21 04 00 E5 +R 00 00 01 00 02 04 02 00 +T 46 08 00 00 DD 6E FE DD 66 FF E5 DD 4E FC DD R 00 00 01 00 -T 33 08 00 00 46 FD DD 5E FA DD 56 FB CD +T 51 08 00 00 46 FD DD 5E FA DD 56 FB CD R 00 00 01 00 -T 3C 08 00 00 AC 04 00 00 F1 F1 7D B4 28 44 +T 5A 08 00 00 B2 04 00 00 F1 F1 21 04 00 DD 4E R 00 00 01 00 00 04 01 00 -T 44 08 00 00 +T 63 08 00 00 F8 DD 46 F9 09 4E 23 46 23 5E 23 R 00 00 01 00 -T 44 08 00 00 21 08 00 DD 4E F8 DD 46 F9 09 4E +T 6E 08 00 00 56 D5 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 2B 00 +T 75 08 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 2B 00 2B 0A 42 00 +T 7B 08 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 42 00 02 09 02 00 +T 82 08 00 00 F1 F1 21 08 00 E5 DD 6E FE DD 66 R 00 00 01 00 -T 4F 08 00 00 23 46 21 23 C0 A7 ED 42 20 0F +T 8D 08 00 00 FF E5 DD 4E FC DD 46 FD DD 5E FA R 00 00 01 00 -T 59 08 00 00 +T 98 08 00 00 DD 56 FB CD B2 04 00 00 F1 F1 7D +R 00 00 01 00 00 08 01 00 +T A1 08 00 00 B4 28 4C R 00 00 01 00 -T 59 08 00 00 21 8F 01 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 12 00 -T 5F 08 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 12 00 02 0A 05 00 -T 66 08 00 00 18 1E +T A4 08 00 00 R 00 00 01 00 -T 68 08 00 00 +T A4 08 00 00 21 08 00 DD 4E F8 DD 46 F9 09 4E R 00 00 01 00 -T 68 08 00 00 21 08 00 DD 4E F8 DD 46 F9 09 4E +T AF 08 00 00 23 46 21 23 C0 A7 ED 42 20 13 R 00 00 01 00 -T 73 08 00 00 23 46 C5 21 94 01 00 00 E5 3E -R 00 00 01 00 00 08 02 00 -T 7B 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 -T 80 08 00 00 00 00 00 00 F1 F1 18 00 -R 00 00 01 00 02 04 05 00 -T 86 08 00 00 +T B9 08 00 00 R 00 00 01 00 -T 86 08 00 00 18 0D +T B9 08 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 14 00 02 0B 14 00 +T BF 08 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 42 00 02 0B 42 00 +T C5 08 00 00 CD 00 00 00 00 F1 F1 18 22 +R 00 00 01 00 02 05 02 00 +T CC 08 00 00 R 00 00 01 00 -T 88 08 00 00 +T CC 08 00 00 21 08 00 DD 4E F8 DD 46 F9 09 4E R 00 00 01 00 -T 88 08 00 00 21 9C 01 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 12 00 -T 8E 08 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 12 00 02 0A 05 00 -T 95 08 00 00 +T D7 08 00 00 23 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 40 00 +T DE 08 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 40 00 2B 0A 42 00 +T E4 08 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 42 00 02 09 02 00 +T EB 08 00 00 F1 18 00 R 00 00 01 00 -T 95 08 00 00 21 80 00 E5 DD 6E FE DD 66 FF E5 +T EE 08 00 00 R 00 00 01 00 -T A0 08 00 00 DD 4E FC DD 46 FD DD 5E FA DD 56 +T EE 08 00 00 18 11 R 00 00 01 00 -T AB 08 00 00 FB CD AC 04 00 00 F1 F1 7D B4 28 -R 00 00 01 00 00 06 01 00 -T B4 08 00 00 05 21 A2 01 00 00 18 03 -R 00 00 01 00 00 06 02 00 -T BA 08 00 00 +T F0 08 00 00 R 00 00 01 00 -T BA 08 00 00 21 A7 01 00 00 -R 00 00 01 00 00 05 02 00 -T BD 08 00 00 +T F0 08 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 4D 00 02 0B 4D 00 +T F6 08 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 42 00 02 0B 42 00 +T FC 08 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 05 02 00 +T 01 09 00 00 R 00 00 01 00 -T BD 08 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 12 00 02 0B 12 00 -T C3 08 00 00 CD 00 00 00 00 F1 21 00 01 E5 DD -R 00 00 01 00 02 05 05 00 -T CC 08 00 00 6E FE DD 66 FF E5 DD 4E FC DD 46 +T 01 09 00 00 21 80 00 E5 DD 6E FE DD 66 FF E5 R 00 00 01 00 -T D7 08 00 00 FD DD 5E FA DD 56 FB CD +T 0C 09 00 00 DD 4E FC DD 46 FD DD 5E FA DD 56 R 00 00 01 00 -T DF 08 00 00 AC 04 00 00 F1 F1 7D B4 28 05 21 -R 00 00 01 00 00 04 01 00 -T E8 08 00 00 A2 01 00 00 18 03 -R 00 00 01 00 00 04 02 00 -T EC 08 00 00 +T 17 09 00 00 FB CD B2 04 00 00 F1 F1 7D B4 28 +R 00 00 01 00 00 06 01 00 +T 20 09 00 00 07 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 24 00 02 0B 24 00 +T 26 09 00 00 18 05 R 00 00 01 00 -T EC 08 00 00 21 A7 01 00 00 -R 00 00 01 00 00 05 02 00 -T EF 08 00 00 +T 28 09 00 00 R 00 00 01 00 -T EF 08 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 12 00 02 0B 12 00 -T F5 08 00 00 CD 00 00 00 00 F1 21 20 00 E5 DD -R 00 00 01 00 02 05 05 00 -T FE 08 00 00 6E FE DD 66 FF E5 DD 4E FC DD 46 +T 28 09 00 00 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 05 08 00 02 0A 08 00 +T 2D 09 00 00 R 00 00 01 00 -T 09 09 00 00 FD DD 5E FA DD 56 FB CD +T 2D 09 00 00 4F C5 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 42 00 +T 33 09 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 42 00 02 09 02 00 +T 3A 09 00 00 21 00 01 E5 DD 6E FE DD 66 FF E5 R 00 00 01 00 -T 11 09 00 00 AC 04 00 00 F1 F1 21 0C 00 DD 4E -R 00 00 01 00 00 04 01 00 -T 1A 09 00 00 F8 DD 46 F9 09 7E 23 B6 23 B6 23 +T 45 09 00 00 DD 4E FC DD 46 FD DD 5E FA DD 56 R 00 00 01 00 -T 25 09 00 00 B6 28 24 +T 50 09 00 00 FB CD B2 04 00 00 F1 F1 7D B4 28 +R 00 00 01 00 00 06 01 00 +T 59 09 00 00 07 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 24 00 02 0B 24 00 +T 5F 09 00 00 18 05 R 00 00 01 00 -T 28 09 00 00 +T 61 09 00 00 R 00 00 01 00 -T 28 09 00 00 21 0C 00 DD 4E F8 DD 46 F9 09 4E +T 61 09 00 00 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 05 08 00 02 0A 08 00 +T 66 09 00 00 R 00 00 01 00 -T 33 09 00 00 23 46 23 5E 23 56 D5 C5 21 +T 66 09 00 00 4F C5 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 42 00 +T 6C 09 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 42 00 02 09 02 00 +T 73 09 00 00 21 20 00 E5 DD 6E FE DD 66 FF E5 R 00 00 01 00 -T 3C 09 00 00 AC 01 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 2B 0A 12 00 -T 42 09 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 05 00 -T 49 09 00 00 F1 18 0D +T 7E 09 00 00 DD 4E FC DD 46 FD DD 5E FA DD 56 R 00 00 01 00 -T 4C 09 00 00 +T 89 09 00 00 FB CD B2 04 00 00 F1 F1 21 0C 00 +R 00 00 01 00 00 06 01 00 +T 92 09 00 00 DD 4E F8 DD 46 F9 09 7E 23 B6 23 R 00 00 01 00 -T 4C 09 00 00 21 B5 01 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 12 00 -T 52 09 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 12 00 02 0A 05 00 -T 59 09 00 00 +T 9D 09 00 00 B6 23 B6 28 28 R 00 00 01 00 -T 59 09 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 19 00 -T 5C 09 00 00 +T A2 09 00 00 R 00 00 01 00 -T 5C 09 00 00 CD 00 00 00 00 FE FF 21 1C 00 DD -R 00 00 01 00 02 05 28 00 -T 65 09 00 00 4E 02 DD 46 03 09 56 23 66 6A DD +T A2 09 00 00 21 0C 00 DD 4E F8 DD 46 F9 09 4E R 00 00 01 00 -T 70 09 00 00 75 FE DD 74 FF 0A 6F 26 00 29 01 +T AD 09 00 00 23 46 23 5E 23 56 D5 C5 0E R 00 00 01 00 -T 7B 09 00 00 8C 00 00 00 09 4E 23 46 C5 0E -R 00 00 01 00 00 04 04 00 -T 83 09 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +T B6 09 00 00 00 00 00 00 C5 21 00 00 00 00 E5 R 00 00 01 00 2B 04 29 00 02 0A 29 00 -T 89 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2F 00 02 0A 2F 00 -T 8F 09 00 00 00 00 00 00 F1 F1 F1 21 04 00 DD -R 00 00 01 00 02 04 05 00 -T 98 09 00 00 4E FE DD 46 FF 09 7E 23 B6 20 05 +T BC 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 42 00 02 0A 42 00 +T C2 09 00 00 00 00 00 00 F1 F1 F1 F1 18 11 +R 00 00 01 00 02 04 02 00 +T CA 09 00 00 +R 00 00 01 00 +T CA 09 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 27 00 02 0B 27 00 +T D0 09 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 42 00 02 0B 42 00 +T D6 09 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 05 02 00 +T DB 09 00 00 +R 00 00 01 00 +T DB 09 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 23 00 +T DE 09 00 00 +R 00 00 01 00 +T DE 09 00 00 CD 00 00 00 00 FE FF 21 1C 00 DD +R 00 00 01 00 02 05 37 00 +T E7 09 00 00 4E 02 DD 46 03 09 56 23 66 6A DD +R 00 00 01 00 +T F2 09 00 00 75 FE DD 74 FF 1E 00 00 00 00 D5 +R 00 00 01 00 2B 0A 16 00 +T FA 09 00 00 11 00 00 00 00 D5 3E 00 00 00 00 +R 00 00 01 00 02 05 16 00 2B 0B 42 00 +T 00 0A 00 00 21 00 00 00 00 CD 00 00 00 00 F1 +R 00 00 01 00 02 05 42 00 02 0A 02 00 +T 07 0A 00 00 F1 0A 4F 06 00 11 03 00 CD +R 00 00 01 00 +T 10 0A 00 00 00 00 00 00 21 9E 00 00 00 19 23 +R 00 00 01 00 02 04 38 00 00 09 04 00 +T 17 0A 00 00 23 4E C5 2B 46 2B 4E C5 3E +R 00 00 01 00 +T 20 0A 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 42 00 02 09 42 00 +T 25 0A 00 00 00 00 00 00 F1 F1 0E 00 00 00 00 +R 00 00 01 00 02 04 02 00 2B 0B 12 00 +T 2B 0A 00 00 C5 21 00 00 00 00 E5 3E +R 00 00 01 00 02 06 12 00 +T 31 0A 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 42 00 02 09 42 00 +T 36 0A 00 00 00 00 00 00 F1 F1 21 04 00 DD 4E +R 00 00 01 00 02 04 02 00 +T 3F 0A 00 00 FE DD 46 FF 09 7E 23 B6 20 05 21 +R 00 00 01 00 +T 4A 0A 00 00 03 00 00 00 18 0E +R 00 00 01 00 00 04 02 00 +T 4E 0A 00 00 +R 00 00 01 00 +T 4E 0A 00 00 21 04 00 DD 4E FE DD 46 FF 09 46 +R 00 00 01 00 +T 59 0A 00 00 23 66 68 R 00 00 01 00 -T A3 09 00 00 21 CD 01 00 00 18 0E -R 00 00 01 00 00 05 02 00 -T A8 09 00 00 +T 5C 0A 00 00 +R 00 00 01 00 +T 5C 0A 00 00 E5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 06 35 00 +T 61 0A 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 35 00 2B 0A 42 00 +T 67 0A 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 42 00 02 09 02 00 +T 6E 0A 00 00 F1 C3 00 00 00 00 +R 00 00 01 00 02 06 23 00 +T 72 0A 00 00 +R 00 00 01 00 +T 72 0A 00 00 CD 00 00 00 00 F6 FF 21 1C 00 DD +R 00 00 01 00 02 05 37 00 +T 7B 0A 00 00 4E 02 DD 46 03 09 56 23 66 6A DD +R 00 00 01 00 +T 86 0A 00 00 75 F6 DD 74 F7 11 11 00 19 DD 75 +R 00 00 01 00 +T 91 0A 00 00 F8 DD 74 F9 21 11 00 DD 5E F6 DD +R 00 00 01 00 +T 9C 0A 00 00 56 F7 19 7E 23 66 6F DD 75 FA DD +R 00 00 01 00 +T A7 0A 00 00 74 FB 21 31 00 19 DD 75 FC DD 74 +R 00 00 01 00 +T B2 0A 00 00 FD 21 31 00 19 56 23 66 6A DD 75 +R 00 00 01 00 +T BD 0A 00 00 FE DD 74 FF 1E 00 00 00 00 D5 21 +R 00 00 01 00 2B 09 0B 00 +T C5 0A 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 0B 00 2B 0A 42 00 +T CB 0A 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 42 00 02 09 02 00 +T D2 0A 00 00 0A 4F 06 00 11 03 00 CD R 00 00 01 00 -T A8 09 00 00 21 04 00 DD 4E FE DD 46 FF 09 46 +T DA 0A 00 00 00 00 00 00 21 9E 00 00 00 19 23 +R 00 00 01 00 02 04 38 00 00 09 04 00 +T E1 0A 00 00 23 4E C5 2B 46 2B 4E C5 3E R 00 00 01 00 -T B3 09 00 00 23 66 68 +T EA 0A 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 42 00 02 09 42 00 +T EF 0A 00 00 00 00 00 00 F1 F1 0E 00 00 00 00 +R 00 00 01 00 02 04 02 00 2B 0B 12 00 +T F5 0A 00 00 C5 21 00 00 00 00 E5 3E +R 00 00 01 00 02 06 12 00 +T FB 0A 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 42 00 02 09 42 00 +T 00 0B 00 00 00 00 00 00 F1 F1 DD 6E F8 DD 66 +R 00 00 01 00 02 04 02 00 +T 09 0B 00 00 F9 23 23 5E 23 56 23 4E 23 46 3E R 00 00 01 00 -T B6 09 00 00 +T 14 0B 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 00 00 02 09 00 00 +T 19 0B 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 +R 00 00 01 00 02 04 02 00 2B 0A 54 00 +T 1F 0B 00 00 21 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 54 00 2B 0B 42 00 +T 25 0B 00 00 21 00 00 00 00 CD 00 00 00 00 F1 +R 00 00 01 00 02 05 42 00 02 0A 02 00 +T 2C 0B 00 00 F1 F1 21 06 00 DD 4E F8 DD 46 F9 R 00 00 01 00 -T B6 09 00 00 E5 21 BD 01 00 00 E5 3E -R 00 00 01 00 00 06 02 00 -T BC 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 -T C1 09 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 05 00 02 0B 19 00 -T C8 09 00 00 +T 37 0B 00 00 09 5E 23 56 23 4E 23 46 3E R 00 00 01 00 -T C8 09 00 00 CD 00 00 00 00 F6 FF 21 1C 00 DD -R 00 00 01 00 02 05 28 00 -T D1 09 00 00 4E 02 DD 46 03 09 56 23 66 6A DD +T 40 0B 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 00 00 02 09 00 00 +T 45 0B 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 +R 00 00 01 00 02 04 02 00 2B 0A 2C 00 +T 4B 0B 00 00 21 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 2C 00 2B 0B 42 00 +T 51 0B 00 00 21 00 00 00 00 CD 00 00 00 00 F1 +R 00 00 01 00 02 05 42 00 02 0A 02 00 +T 58 0B 00 00 F1 F1 DD 7E FA E6 04 28 3E R 00 00 01 00 -T DC 09 00 00 75 F6 DD 74 F7 11 11 00 19 DD 75 +T 61 0B 00 00 R 00 00 01 00 -T E7 09 00 00 F8 DD 74 F9 21 11 00 DD 5E F6 DD +T 61 0B 00 00 21 0E 00 DD 4E F8 DD 46 F9 09 5E R 00 00 01 00 -T F2 09 00 00 56 F7 19 7E 23 66 6F DD 75 FA DD +T 6C 0B 00 00 16 00 D5 21 0C 00 09 4E 23 46 C5 R 00 00 01 00 -T FD 09 00 00 74 FB 21 31 00 19 DD 75 FC DD 74 +T 77 0B 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 26 00 02 0B 26 00 +T 7D 0B 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 42 00 02 0B 42 00 +T 83 0B 00 00 CD 00 00 00 00 F1 F1 F1 F1 21 +R 00 00 01 00 02 05 02 00 +T 8B 0B 00 00 40 00 DD 4E F6 DD 46 F7 09 5E 23 R 00 00 01 00 -T 08 0A 00 00 FD 21 31 00 19 56 23 66 6A DD 75 +T 96 0B 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 48 00 02 0B 48 00 +T 9C 0B 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 02 00 +T 9F 0B 00 00 R 00 00 01 00 -T 13 0A 00 00 FE DD 74 FF 0A 6F 26 00 29 01 +T 9F 0B 00 00 DD 7E FE E6 04 28 3E R 00 00 01 00 -T 1D 0A 00 00 8C 00 00 00 09 4E 23 46 C5 0E -R 00 00 01 00 00 04 04 00 -T 25 0A 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 01 00 02 0A 01 00 -T 2B 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2F 00 02 0A 2F 00 -T 31 0A 00 00 00 00 00 00 F1 F1 F1 DD 6E F8 DD -R 00 00 01 00 02 04 05 00 -T 3A 0A 00 00 66 F9 23 23 5E 23 56 23 4E 23 46 +T A6 0B 00 00 R 00 00 01 00 -T 45 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 -T 4B 0A 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 05 00 2B 0A 3A 00 -T 51 0A 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 3A 00 2B 0B 2F 00 -T 57 0A 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 2F 00 02 0A 05 00 -T 5E 0A 00 00 F1 F1 21 06 00 DD 4E F8 DD 46 F9 +T A6 0B 00 00 21 0E 00 DD 4E FC DD 46 FD 09 5E R 00 00 01 00 -T 69 0A 00 00 09 5E 23 56 23 4E 23 46 3E +T B1 0B 00 00 16 00 D5 21 0C 00 09 4E 23 46 C5 R 00 00 01 00 -T 72 0A 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 77 0A 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 05 00 2B 0A 2E 00 -T 7D 0A 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 2E 00 2B 0B 2F 00 -T 83 0A 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 2F 00 02 0A 05 00 -T 8A 0A 00 00 F1 F1 DD 7E FA E6 04 28 3E +T BC 0B 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 33 00 02 0B 33 00 +T C2 0B 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 42 00 02 0B 42 00 +T C8 0B 00 00 CD 00 00 00 00 F1 F1 F1 F1 21 +R 00 00 01 00 02 05 02 00 +T D0 0B 00 00 40 00 DD 4E F6 DD 46 F7 09 5E 23 R 00 00 01 00 -T 93 0A 00 00 +T DB 0B 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 4E 00 02 0B 4E 00 +T E1 0B 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 02 00 +T E4 0B 00 00 R 00 00 01 00 -T 93 0A 00 00 21 0E 00 DD 4E F8 DD 46 F9 09 5E +T E4 0B 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 23 00 +T E7 0B 00 00 R 00 00 01 00 -T 9E 0A 00 00 16 00 D5 21 0C 00 09 4E 23 46 C5 +T E7 0B 00 00 CD 00 00 00 00 FA FF DD 6E 0A DD +R 00 00 01 00 02 05 37 00 +T F0 0B 00 00 66 0B DD 75 FA DD 74 FB 11 0A 00 R 00 00 01 00 -T A9 0A 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1A 00 02 0B 1A 00 -T AF 0A 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2F 00 02 0B 2F 00 -T B5 0A 00 00 CD 00 00 00 00 F1 F1 F1 F1 21 -R 00 00 01 00 02 05 05 00 -T BD 0A 00 00 40 00 DD 4E F6 DD 46 F7 09 5E 23 +T FB 0B 00 00 19 DD 75 FC DD 74 FD 11 02 80 DD +R 00 00 01 00 +T 06 0C 00 00 6E 02 DD 66 03 3E 80 AC 67 ED 52 +R 00 00 01 00 +T 11 0C 00 00 30 3C +R 00 00 01 00 +T 13 0C 00 00 +R 00 00 01 00 +T 13 0C 00 00 21 00 00 E5 21 E8 03 E5 DD 6E FC +R 00 00 01 00 +T 1E 0C 00 00 DD 66 FD 23 23 4E 23 46 23 5E 23 R 00 00 01 00 -T C8 0A 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 32 00 02 0B 32 00 -T CE 0A 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T D1 0A 00 00 +T 29 0C 00 00 56 D5 C5 01 00 00 21 37 00 CD +R 00 00 01 00 +T 33 0C 00 00 00 00 00 00 CD 00 00 00 00 C5 E5 +R 00 00 01 00 02 04 30 00 02 09 3B 00 +T 3A 0C 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 22 00 02 0B 22 00 +T 40 0C 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 42 00 02 0B 42 00 +T 46 0C 00 00 CD 00 00 00 00 F1 F1 F1 F1 18 7E +R 00 00 01 00 02 05 02 00 +T 4F 0C 00 00 R 00 00 01 00 -T D1 0A 00 00 DD 7E FE E6 04 28 3E +T 4F 0C 00 00 21 00 00 E5 01 00 00 DD 6E 04 DD R 00 00 01 00 -T D8 0A 00 00 +T 5A 0C 00 00 66 05 23 23 5E 23 56 3E R 00 00 01 00 -T D8 0A 00 00 21 0E 00 DD 4E FC DD 46 FD 09 5E +T 62 0C 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 31 00 02 09 31 00 +T 67 0C 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF +R 00 00 01 00 02 04 02 00 +T 70 0C 00 00 4D 44 21 00 00 CD 00 00 00 00 38 +R 00 00 01 00 02 0A 41 00 +T 79 0C 00 00 2B R 00 00 01 00 -T E3 0A 00 00 16 00 D5 21 0C 00 09 4E 23 46 C5 +T 7A 0C 00 00 R 00 00 01 00 -T EE 0A 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 02 00 02 0B 02 00 -T F4 0A 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2F 00 02 0B 2F 00 -T FA 0A 00 00 CD 00 00 00 00 F1 F1 F1 F1 21 -R 00 00 01 00 02 05 05 00 -T 02 0B 00 00 40 00 DD 4E F6 DD 46 F7 09 5E 23 +T 7A 0C 00 00 DD 6E FE DD 66 FF E5 DD 6E 04 DD R 00 00 01 00 -T 0D 0B 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 35 00 02 0B 35 00 -T 13 0B 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 16 0B 00 00 +T 85 0C 00 00 66 05 23 23 4E 23 46 C5 0E R 00 00 01 00 -T 16 0B 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 19 00 -T 19 0B 00 00 +T 8E 0C 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 3A 00 02 0A 3A 00 +T 94 0C 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 42 00 02 0A 42 00 +T 9A 0C 00 00 00 00 00 00 F1 F1 F1 F1 21 FF FF +R 00 00 01 00 02 04 02 00 +T A3 0C 00 00 18 2B R 00 00 01 00 -T 19 0B 00 00 CD 00 00 00 00 FA FF DD 6E 0A DD -R 00 00 01 00 02 05 28 00 -T 22 0B 00 00 66 0B DD 75 FA DD 74 FB 11 0A 00 +T A5 0C 00 00 R 00 00 01 00 -T 2D 0B 00 00 19 DD 75 FC DD 74 FD 11 02 80 DD +T A5 0C 00 00 DD 6E FE DD 66 FF 7C 07 9F 4F 41 R 00 00 01 00 -T 38 0B 00 00 6E 02 DD 66 03 3E 80 AC 67 ED 52 +T B0 0C 00 00 C5 E5 01 00 00 21 E8 03 CD R 00 00 01 00 -T 43 0B 00 00 30 3C +T B9 0C 00 00 00 00 00 00 C5 E5 DD 5E FC DD 56 +R 00 00 01 00 02 04 30 00 +T C2 0C 00 00 FD 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 13 00 02 0B 13 00 +T C8 0C 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 05 02 00 +T CD 0C 00 00 R 00 00 01 00 -T 45 0B 00 00 +T CD 0C 00 00 21 00 00 R 00 00 01 00 -T 45 0B 00 00 21 00 00 E5 21 E8 03 E5 DD 6E FC +T D0 0C 00 00 R 00 00 01 00 -T 50 0B 00 00 DD 66 FD 23 23 4E 23 46 23 5E 23 +T D0 0C 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 1D 00 +T D3 0C 00 00 R 00 00 01 00 -T 5B 0B 00 00 56 D5 C5 01 00 00 21 37 00 CD +T D3 0C 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B +R 00 00 01 00 02 05 2D 00 +T DC 0C 00 00 E5 C5 4B 42 11 5B 00 00 00 3E +R 00 00 01 00 00 09 04 00 +T E4 0C 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 52 00 02 09 52 00 +T E9 0C 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 +R 00 00 01 00 02 04 02 00 02 0B 1D 00 +T F0 0C 00 00 R 00 00 01 00 -T 65 0B 00 00 00 00 00 00 CD 00 00 00 00 C5 E5 -R 00 00 01 00 02 04 22 00 02 09 2B 00 -T 6C 0B 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 21 00 02 0B 21 00 -T 72 0B 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2F 00 02 0B 2F 00 -T 78 0B 00 00 CD 00 00 00 00 F1 F1 F1 F1 18 7E -R 00 00 01 00 02 05 05 00 -T 81 0B 00 00 +T F0 0C 00 00 CD 00 00 00 00 FC FF DD 6E 0A DD +R 00 00 01 00 02 05 37 00 +T F9 0C 00 00 66 0B DD 75 FC DD 74 FD 11 02 80 R 00 00 01 00 -T 81 0B 00 00 21 00 00 E5 01 00 00 DD 6E 04 DD +T 04 0D 00 00 DD 6E 02 DD 66 03 3E 80 AC 67 ED R 00 00 01 00 -T 8C 0B 00 00 66 05 23 23 5E 23 56 3E +T 0F 0D 00 00 52 30 22 R 00 00 01 00 -T 94 0B 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 25 00 02 09 25 00 -T 99 0B 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 05 00 -T A2 0B 00 00 4D 44 21 00 00 CD 00 00 00 00 38 -R 00 00 01 00 02 0A 2D 00 -T AB 0B 00 00 2B +T 12 0D 00 00 R 00 00 01 00 -T AC 0B 00 00 +T 12 0D 00 00 21 07 00 DD 4E FC DD 46 FD 09 4E R 00 00 01 00 -T AC 0B 00 00 DD 6E FE DD 66 FF E5 DD 6E 04 DD +T 1D 0D 00 00 06 00 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 22 00 +T 24 0D 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 22 00 2B 0A 42 00 +T 2A 0D 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 42 00 02 09 02 00 +T 31 0D 00 00 F1 18 64 R 00 00 01 00 -T B7 0B 00 00 66 05 23 23 4E 23 46 C5 0E +T 34 0D 00 00 R 00 00 01 00 -T C0 0B 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 1C 00 02 0A 1C 00 -T C6 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2F 00 02 0A 2F 00 -T CC 0B 00 00 00 00 00 00 F1 F1 F1 F1 21 FF FF -R 00 00 01 00 02 04 05 00 -T D5 0B 00 00 18 2B +T 34 0D 00 00 21 00 00 E5 01 00 00 DD 6E 04 DD R 00 00 01 00 -T D7 0B 00 00 +T 3F 0D 00 00 66 05 23 23 5E 23 56 3E R 00 00 01 00 -T D7 0B 00 00 DD 6E FE DD 66 FF 7C 07 9F 4F 41 +T 47 0D 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 31 00 02 09 31 00 +T 4C 0D 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF +R 00 00 01 00 02 04 02 00 +T 55 0D 00 00 4D 44 21 00 00 CD 00 00 00 00 38 +R 00 00 01 00 02 0A 41 00 +T 5E 0D 00 00 2B R 00 00 01 00 -T E2 0B 00 00 C5 E5 01 00 00 21 E8 03 CD +T 5F 0D 00 00 R 00 00 01 00 -T EB 0B 00 00 00 00 00 00 C5 E5 DD 5E FC DD 56 -R 00 00 01 00 02 04 22 00 -T F4 0B 00 00 FD 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 -T FA 0B 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 05 05 00 -T FF 0B 00 00 +T 5F 0D 00 00 DD 6E FE DD 66 FF E5 DD 6E 04 DD R 00 00 01 00 -T FF 0B 00 00 21 00 00 +T 6A 0D 00 00 66 05 23 23 4E 23 46 C5 0E R 00 00 01 00 -T 02 0C 00 00 +T 73 0D 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 34 00 02 0A 34 00 +T 79 0D 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 42 00 02 0A 42 00 +T 7F 0D 00 00 00 00 00 00 F1 F1 F1 F1 21 FF FF +R 00 00 01 00 02 04 02 00 +T 88 0D 00 00 18 11 R 00 00 01 00 -T 02 0C 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 14 00 -T 05 0C 00 00 +T 8A 0D 00 00 R 00 00 01 00 -T 05 0C 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 1F 00 -T 0E 0C 00 00 E5 C5 4B 42 11 4E 00 00 00 3E -R 00 00 01 00 00 09 04 00 -T 16 0C 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 39 00 02 09 39 00 -T 1B 0C 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 05 00 02 0B 14 00 -T 22 0C 00 00 +T 8A 0D 00 00 21 07 00 DD 4E FC DD 46 FD 09 DD R 00 00 01 00 -T 22 0C 00 00 CD 00 00 00 00 FC FF DD 6E 0A DD -R 00 00 01 00 02 05 28 00 -T 2B 0C 00 00 66 0B DD 75 FC DD 74 FD 11 02 80 +T 95 0D 00 00 46 FE 70 R 00 00 01 00 -T 36 0C 00 00 DD 6E 02 DD 66 03 3E 80 AC 67 ED +T 98 0D 00 00 R 00 00 01 00 -T 41 0C 00 00 52 30 22 +T 98 0D 00 00 21 00 00 R 00 00 01 00 -T 44 0C 00 00 +T 9B 0D 00 00 R 00 00 01 00 -T 44 0C 00 00 21 07 00 DD 4E FC DD 46 FD 09 4E +T 9B 0D 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 1D 00 +T 9E 0D 00 00 R 00 00 01 00 -T 4F 0C 00 00 06 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 21 00 -T 56 0C 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 21 00 2B 0A 2F 00 -T 5C 0C 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 2F 00 02 09 05 00 -T 63 0C 00 00 F1 18 64 +T 9E 0D 00 00 CD 00 00 00 00 FC FF DD 6E 0A DD +R 00 00 01 00 02 05 37 00 +T A7 0D 00 00 66 0B DD 75 FC DD 74 FD 11 02 80 R 00 00 01 00 -T 66 0C 00 00 +T B2 0D 00 00 DD 6E 02 DD 66 03 3E 80 AC 67 ED R 00 00 01 00 -T 66 0C 00 00 21 00 00 E5 01 00 00 DD 6E 04 DD +T BD 0D 00 00 52 30 22 R 00 00 01 00 -T 71 0C 00 00 66 05 23 23 5E 23 56 3E +T C0 0D 00 00 R 00 00 01 00 -T 79 0C 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 25 00 02 09 25 00 -T 7E 0C 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 05 00 -T 87 0C 00 00 4D 44 21 00 00 CD 00 00 00 00 38 -R 00 00 01 00 02 0A 2D 00 -T 90 0C 00 00 2B +T C0 0D 00 00 21 04 00 DD 4E FC DD 46 FD 09 4E R 00 00 01 00 -T 91 0C 00 00 +T CB 0D 00 00 06 00 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 22 00 +T D2 0D 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 22 00 2B 0A 42 00 +T D8 0D 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 42 00 02 09 02 00 +T DF 0D 00 00 F1 18 64 R 00 00 01 00 -T 91 0C 00 00 DD 6E FE DD 66 FF E5 DD 6E 04 DD +T E2 0D 00 00 R 00 00 01 00 -T 9C 0C 00 00 66 05 23 23 4E 23 46 C5 0E +T E2 0D 00 00 21 00 00 E5 01 00 00 DD 6E 04 DD R 00 00 01 00 -T A5 0C 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 15 00 02 0A 15 00 -T AB 0C 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2F 00 02 0A 2F 00 -T B1 0C 00 00 00 00 00 00 F1 F1 F1 F1 21 FF FF -R 00 00 01 00 02 04 05 00 -T BA 0C 00 00 18 11 +T ED 0D 00 00 66 05 23 23 5E 23 56 3E R 00 00 01 00 -T BC 0C 00 00 +T F5 0D 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 31 00 02 09 31 00 +T FA 0D 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF +R 00 00 01 00 02 04 02 00 +T 03 0E 00 00 4D 44 21 00 00 CD 00 00 00 00 38 +R 00 00 01 00 02 0A 41 00 +T 0C 0E 00 00 2B R 00 00 01 00 -T BC 0C 00 00 21 07 00 DD 4E FC DD 46 FD 09 DD +T 0D 0E 00 00 R 00 00 01 00 -T C7 0C 00 00 46 FE 70 +T 0D 0E 00 00 DD 6E FE DD 66 FF E5 DD 6E 04 DD R 00 00 01 00 -T CA 0C 00 00 +T 18 0E 00 00 66 05 23 23 4E 23 46 C5 0E R 00 00 01 00 -T CA 0C 00 00 21 00 00 +T 21 0E 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 34 00 02 0A 34 00 +T 27 0E 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 42 00 02 0A 42 00 +T 2D 0E 00 00 00 00 00 00 F1 F1 F1 F1 21 FF FF +R 00 00 01 00 02 04 02 00 +T 36 0E 00 00 18 11 R 00 00 01 00 -T CD 0C 00 00 +T 38 0E 00 00 R 00 00 01 00 -T CD 0C 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 14 00 -T D0 0C 00 00 +T 38 0E 00 00 21 04 00 DD 4E FC DD 46 FD 09 DD R 00 00 01 00 -T D0 0C 00 00 CD 00 00 00 00 FC FF DD 6E 0A DD -R 00 00 01 00 02 05 28 00 -T D9 0C 00 00 66 0B DD 75 FC DD 74 FD 11 02 80 +T 43 0E 00 00 46 FE 70 R 00 00 01 00 -T E4 0C 00 00 DD 6E 02 DD 66 03 3E 80 AC 67 ED +T 46 0E 00 00 R 00 00 01 00 -T EF 0C 00 00 52 30 22 +T 46 0E 00 00 21 00 00 R 00 00 01 00 -T F2 0C 00 00 +T 49 0E 00 00 R 00 00 01 00 -T F2 0C 00 00 21 04 00 DD 4E FC DD 46 FD 09 4E +T 49 0E 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 1D 00 +T 4C 0E 00 00 R 00 00 01 00 -T FD 0C 00 00 06 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 21 00 -T 04 0D 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 21 00 2B 0A 2F 00 -T 0A 0D 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 2F 00 02 09 05 00 -T 11 0D 00 00 F1 18 64 +T 4C 0E 00 00 CD 00 00 00 00 FC FF DD 6E 0A DD +R 00 00 01 00 02 05 37 00 +T 55 0E 00 00 66 0B DD 75 FC DD 74 FD 11 02 80 R 00 00 01 00 -T 14 0D 00 00 +T 60 0E 00 00 DD 6E 02 DD 66 03 3E 80 AC 67 ED R 00 00 01 00 -T 14 0D 00 00 21 00 00 E5 01 00 00 DD 6E 04 DD +T 6B 0E 00 00 52 30 22 R 00 00 01 00 -T 1F 0D 00 00 66 05 23 23 5E 23 56 3E +T 6E 0E 00 00 R 00 00 01 00 -T 27 0D 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 25 00 02 09 25 00 -T 2C 0D 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 05 00 -T 35 0D 00 00 4D 44 21 00 00 CD 00 00 00 00 38 -R 00 00 01 00 02 0A 2D 00 -T 3E 0D 00 00 2B +T 6E 0E 00 00 21 05 00 DD 4E FC DD 46 FD 09 4E R 00 00 01 00 -T 3F 0D 00 00 +T 79 0E 00 00 06 00 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 22 00 +T 80 0E 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 22 00 2B 0A 42 00 +T 86 0E 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 42 00 02 09 02 00 +T 8D 0E 00 00 F1 18 64 R 00 00 01 00 -T 3F 0D 00 00 DD 6E FE DD 66 FF E5 DD 6E 04 DD +T 90 0E 00 00 R 00 00 01 00 -T 4A 0D 00 00 66 05 23 23 4E 23 46 C5 0E +T 90 0E 00 00 21 00 00 E5 01 00 00 DD 6E 04 DD R 00 00 01 00 -T 53 0D 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 15 00 02 0A 15 00 -T 59 0D 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2F 00 02 0A 2F 00 -T 5F 0D 00 00 00 00 00 00 F1 F1 F1 F1 21 FF FF -R 00 00 01 00 02 04 05 00 -T 68 0D 00 00 18 11 +T 9B 0E 00 00 66 05 23 23 5E 23 56 3E R 00 00 01 00 -T 6A 0D 00 00 +T A3 0E 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 31 00 02 09 31 00 +T A8 0E 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF +R 00 00 01 00 02 04 02 00 +T B1 0E 00 00 4D 44 21 00 00 CD 00 00 00 00 38 +R 00 00 01 00 02 0A 41 00 +T BA 0E 00 00 2B R 00 00 01 00 -T 6A 0D 00 00 21 04 00 DD 4E FC DD 46 FD 09 DD +T BB 0E 00 00 R 00 00 01 00 -T 75 0D 00 00 46 FE 70 +T BB 0E 00 00 DD 6E FE DD 66 FF E5 DD 6E 04 DD R 00 00 01 00 -T 78 0D 00 00 +T C6 0E 00 00 66 05 23 23 4E 23 46 C5 0E R 00 00 01 00 -T 78 0D 00 00 21 00 00 +T CF 0E 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 34 00 02 0A 34 00 +T D5 0E 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 42 00 02 0A 42 00 +T DB 0E 00 00 00 00 00 00 F1 F1 F1 F1 21 FF FF +R 00 00 01 00 02 04 02 00 +T E4 0E 00 00 18 11 R 00 00 01 00 -T 7B 0D 00 00 +T E6 0E 00 00 R 00 00 01 00 -T 7B 0D 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 14 00 -T 7E 0D 00 00 +T E6 0E 00 00 21 05 00 DD 4E FC DD 46 FD 09 DD R 00 00 01 00 -T 7E 0D 00 00 CD 00 00 00 00 FC FF DD 6E 0A DD -R 00 00 01 00 02 05 28 00 -T 87 0D 00 00 66 0B DD 75 FC DD 74 FD 11 02 80 +T F1 0E 00 00 46 FE 70 R 00 00 01 00 -T 92 0D 00 00 DD 6E 02 DD 66 03 3E 80 AC 67 ED +T F4 0E 00 00 R 00 00 01 00 -T 9D 0D 00 00 52 30 22 +T F4 0E 00 00 21 00 00 R 00 00 01 00 -T A0 0D 00 00 +T F7 0E 00 00 R 00 00 01 00 -T A0 0D 00 00 21 05 00 DD 4E FC DD 46 FD 09 4E +T F7 0E 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 1D 00 +T FA 0E 00 00 R 00 00 01 00 -T AB 0D 00 00 06 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 21 00 -T B2 0D 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 21 00 2B 0A 2F 00 -T B8 0D 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 2F 00 02 09 05 00 -T BF 0D 00 00 F1 18 64 +T FA 0E 00 00 CD 00 00 00 00 F8 FF DD 6E 0A DD +R 00 00 01 00 02 05 37 00 +T 03 0F 00 00 66 0B DD 75 F8 DD 74 F9 11 39 00 R 00 00 01 00 -T C2 0D 00 00 +T 0E 0F 00 00 19 56 23 66 6A DD 75 FA DD 74 FB R 00 00 01 00 -T C2 0D 00 00 21 00 00 E5 01 00 00 DD 6E 04 DD +T 19 0F 00 00 11 05 00 19 5E 16 00 DD 73 FC DD R 00 00 01 00 -T CD 0D 00 00 66 05 23 23 5E 23 56 3E +T 24 0F 00 00 72 FD C5 DD 6E 02 DD 66 03 E5 0E R 00 00 01 00 -T D5 0D 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 25 00 02 09 25 00 -T DA 0D 00 00 00 00 00 00 F1 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 05 00 -T E3 0D 00 00 4D 44 21 00 00 CD 00 00 00 00 38 -R 00 00 01 00 02 0A 2D 00 -T EC 0D 00 00 2B +T 2F 0F 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 19 00 02 0A 19 00 +T 35 0F 00 00 21 0C 00 39 5D 54 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1F 00 +T 3D 0F 00 00 21 00 00 00 00 CD 00 00 00 00 F1 +R 00 00 01 00 02 05 1F 00 02 0A 02 00 +T 44 0F 00 00 F1 F1 F1 DD 75 FE DD 74 FF 21 R 00 00 01 00 -T ED 0D 00 00 +T 4E 0F 00 00 05 00 DD 4E FA DD 46 FB 09 DD 46 R 00 00 01 00 -T ED 0D 00 00 DD 6E FE DD 66 FF E5 DD 6E 04 DD +T 59 0F 00 00 FC 70 DD 6E FE DD 66 FF C3 R 00 00 01 00 -T F8 0D 00 00 66 05 23 23 4E 23 46 C5 0E +T 62 0F 00 00 00 00 00 00 +R 00 00 01 00 02 04 1D 00 +T 64 0F 00 00 R 00 00 01 00 -T 01 0E 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 15 00 02 0A 15 00 -T 07 0E 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 2F 00 02 0A 2F 00 -T 0D 0E 00 00 00 00 00 00 F1 F1 F1 F1 21 FF FF -R 00 00 01 00 02 04 05 00 -T 16 0E 00 00 18 11 +T 64 0F 00 00 CD 00 00 00 00 FC FF DD 6E 0A DD +R 00 00 01 00 02 05 37 00 +T 6D 0F 00 00 66 0B DD 75 FC DD 74 FD 11 31 00 R 00 00 01 00 -T 18 0E 00 00 +T 78 0F 00 00 19 7E 23 B6 23 B6 20 05 R 00 00 01 00 -T 18 0E 00 00 21 05 00 DD 4E FC DD 46 FD 09 DD +T 80 0F 00 00 R 00 00 01 00 -T 23 0E 00 00 46 FE 70 +T 80 0F 00 00 21 FF FF 18 52 R 00 00 01 00 -T 26 0E 00 00 +T 85 0F 00 00 R 00 00 01 00 -T 26 0E 00 00 21 00 00 +T 85 0F 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 -T 29 0E 00 00 +T 90 0F 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 18 00 02 0A 18 00 +T 96 0F 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D +R 00 00 01 00 02 04 02 00 +T 9F 0F 00 00 A4 3C 20 05 R 00 00 01 00 -T 29 0E 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 14 00 -T 2C 0E 00 00 +T A3 0F 00 00 R 00 00 01 00 -T 2C 0E 00 00 CD 00 00 00 00 F8 FF DD 6E 0A DD -R 00 00 01 00 02 05 28 00 -T 35 0E 00 00 66 0B DD 75 F8 DD 74 F9 11 39 00 +T A3 0F 00 00 21 FF FF 18 2F R 00 00 01 00 -T 40 0E 00 00 19 56 23 66 6A DD 75 FA DD 74 FB +T A8 0F 00 00 R 00 00 01 00 -T 4B 0E 00 00 11 05 00 19 5E 16 00 DD 73 FC DD +T A8 0F 00 00 21 00 00 E5 21 00 00 E5 DD 4E FE R 00 00 01 00 -T 56 0E 00 00 72 FD C5 DD 6E 02 DD 66 03 E5 0E +T B3 0F 00 00 DD 46 FF C5 DD 5E FC DD 56 FD 21 R 00 00 01 00 -T 61 0E 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 10 00 02 0A 10 00 -T 67 0E 00 00 21 0C 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 17 00 -T 6F 0E 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 17 00 02 0A 05 00 -T 76 0E 00 00 F1 F1 F1 DD 75 FE DD 74 FF 21 +T BE 0F 00 00 31 00 DD 4E FC DD 46 FD 09 4E 23 R 00 00 01 00 -T 80 0E 00 00 05 00 DD 4E FA DD 46 FB 09 DD 46 +T C9 0F 00 00 46 23 7E 69 60 C1 CD 00 00 00 00 +R 00 00 01 00 02 0B 02 00 +T D2 0F 00 00 F1 F1 21 00 00 R 00 00 01 00 -T 8B 0E 00 00 FC 70 DD 6E FE DD 66 FF C3 +T D7 0F 00 00 R 00 00 01 00 -T 94 0E 00 00 00 00 00 00 -R 00 00 01 00 02 04 14 00 +T D7 0F 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 1D 00 T 00 00 00 00 R 00 00 02 00 -T 00 00 00 00 50 68 79 73 69 63 61 6C 20 4C 69 -R 00 00 02 00 -T 0B 00 00 00 6E 65 20 44 65 61 64 00 -R 00 00 02 00 -T 13 00 00 00 -R 00 00 02 00 -T 13 00 00 00 45 73 74 61 62 6C 69 73 68 6D 65 -R 00 00 02 00 -T 1E 00 00 00 6E 74 20 50 68 61 73 65 00 -R 00 00 02 00 -T 27 00 00 00 -R 00 00 02 00 -T 27 00 00 00 41 75 74 68 65 6E 74 69 63 61 74 -R 00 00 02 00 -T 32 00 00 00 69 6F 6E 20 50 68 61 73 65 00 -R 00 00 02 00 -T 3C 00 00 00 -R 00 00 02 00 -T 3C 00 00 00 4E 65 74 77 6F 72 6B 20 50 72 6F -R 00 00 02 00 -T 47 00 00 00 74 6F 63 6F 6C 20 50 68 61 73 65 -R 00 00 02 00 -T 52 00 00 00 00 +T 00 00 00 00 25 63 00 R 00 00 02 00 -T 53 00 00 00 +T 03 00 00 00 R 00 00 02 00 -T 53 00 00 00 54 65 72 6D 69 6E 61 74 69 6F 6E -R 00 00 02 00 -T 5E 00 00 00 20 50 68 61 73 65 00 -R 00 00 02 00 -T 65 00 00 00 -R 00 00 02 00 -T 65 00 00 00 43 6C 6F 73 65 64 00 -R 00 00 02 00 -T 6C 00 00 00 -R 00 00 02 00 -T 6C 00 00 00 4C 69 73 74 65 6E 69 6E 67 20 2D -R 00 00 02 00 -T 77 00 00 00 2D 20 77 61 69 74 69 6E 67 20 66 -R 00 00 02 00 -T 82 00 00 00 6F 72 20 72 65 6D 6F 74 65 20 68 -R 00 00 02 00 -T 8D 00 00 00 6F 73 74 20 74 6F 20 61 74 74 65 -R 00 00 02 00 -T 98 00 00 00 6D 70 74 20 6F 70 65 6E 00 -R 00 00 02 00 -T A1 00 00 00 -R 00 00 02 00 -T A1 00 00 00 53 74 61 72 74 69 6E 67 20 63 6F -R 00 00 02 00 -T AC 00 00 00 6E 66 69 67 75 72 61 74 69 6F 6E -R 00 00 02 00 -T B7 00 00 00 20 65 78 63 68 61 6E 67 65 00 -R 00 00 02 00 -T C1 00 00 00 -R 00 00 02 00 -T C1 00 00 00 52 65 6D 6F 74 65 20 68 6F 73 74 -R 00 00 02 00 -T CC 00 00 00 20 61 63 63 65 70 74 65 64 20 6F -R 00 00 02 00 -T D7 00 00 00 75 72 20 72 65 71 75 65 73 74 3B -R 00 00 02 00 -T E2 00 00 00 20 77 61 69 74 69 6E 67 20 66 6F -R 00 00 02 00 -T ED 00 00 00 72 20 72 65 6D 6F 74 65 20 72 65 -R 00 00 02 00 -T F8 00 00 00 71 75 65 73 74 00 -R 00 00 02 00 -T FE 00 00 00 -R 00 00 02 00 -T FE 00 00 00 57 65 20 61 63 63 65 70 74 65 64 -R 00 00 02 00 -T 09 01 00 00 20 72 65 6D 6F 74 65 20 72 65 71 -R 00 00 02 00 -T 14 01 00 00 75 65 73 74 3B 20 77 61 69 74 69 -R 00 00 02 00 -T 1F 01 00 00 6E 67 20 66 6F 72 20 72 65 70 6C -R 00 00 02 00 -T 2A 01 00 00 79 20 74 6F 20 6F 75 72 20 72 65 -R 00 00 02 00 -T 35 01 00 00 71 75 65 73 74 00 -R 00 00 02 00 -T 3B 01 00 00 -R 00 00 02 00 -T 3B 01 00 00 4F 70 65 6E 65 64 00 -R 00 00 02 00 -T 42 01 00 00 -R 00 00 02 00 -T 42 01 00 00 54 65 72 6D 69 6E 61 74 65 20 72 -R 00 00 02 00 -T 4D 01 00 00 65 71 75 65 73 74 20 73 65 6E 74 -R 00 00 02 00 -T 58 01 00 00 20 74 6F 20 72 65 6D 6F 74 65 20 -R 00 00 02 00 -T 63 01 00 00 68 6F 73 74 00 -R 00 00 02 00 -T 68 01 00 00 -R 00 00 02 00 -T 68 01 00 00 70 70 70 20 3C 69 66 61 63 65 3E -R 00 00 02 00 -T 73 01 00 00 20 72 65 71 75 69 72 65 64 0A 00 -R 00 00 02 00 -T 7E 01 00 00 -R 00 00 02 00 -T 7E 01 00 00 25 63 00 -R 00 00 02 00 -T 81 01 00 00 -R 00 00 02 00 -T 81 01 00 00 25 34 64 09 00 -R 00 00 02 00 -T 86 01 00 00 -R 00 00 02 00 -T 86 01 00 00 30 78 25 30 38 6C 78 09 00 -R 00 00 02 00 -T 8F 01 00 00 -R 00 00 02 00 -T 8F 01 00 00 50 61 70 09 00 -R 00 00 02 00 -T 94 01 00 00 -R 00 00 02 00 -T 94 01 00 00 30 78 25 30 34 78 09 00 -R 00 00 02 00 -T 9C 01 00 00 -R 00 00 02 00 -T 9C 01 00 00 4E 6F 6E 65 09 00 -R 00 00 02 00 -T A2 01 00 00 -R 00 00 02 00 -T A2 01 00 00 59 65 73 20 00 -R 00 00 02 00 -T A7 01 00 00 -R 00 00 02 00 -T A7 01 00 00 4E 6F 20 20 00 -R 00 00 02 00 -T AC 01 00 00 -R 00 00 02 00 -T AC 01 00 00 30 78 25 30 38 6C 78 0A 00 -R 00 00 02 00 -T B5 01 00 00 -R 00 00 02 00 -T B5 01 00 00 75 6E 75 73 65 64 0A 00 -R 00 00 02 00 -T BD 01 00 00 -R 00 00 02 00 -T BD 01 00 00 09 4D 65 73 73 61 67 65 3A 20 27 -R 00 00 02 00 -T C8 01 00 00 25 73 27 0A 00 -R 00 00 02 00 -T CD 01 00 00 -R 00 00 02 00 -T CD 01 00 00 6E 6F 6E 65 00 +T 03 00 00 00 6E 6F 6E 65 00 R 00 00 02 00 T 00 00 00 00 R 00 00 03 00 @@ -1402,55 +1394,59 @@ T 00 00 00 00 R 00 00 04 00 T 00 00 00 00 R 00 00 04 00 -T 4E 00 00 00 +T 5B 00 00 00 R 00 00 04 00 -T 4E 00 00 00 +T 5B 00 00 00 R 00 00 04 00 -T 82 00 00 00 +T 8F 00 00 00 R 00 00 04 00 -T 82 00 00 00 +T 8F 00 00 00 R 00 00 04 00 -T 8C 00 00 00 +T 9E 00 00 00 R 00 00 04 00 -T 8C 00 00 00 +T 9E 00 00 00 R 00 00 04 00 T 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 04 07 00 4A 08 2C 00 +R 00 00 05 00 4A 04 20 00 4A 08 3C 00 T 08 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 09 26 00 +R 00 00 05 00 4A 09 15 00 T 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 04 04 00 +R 00 00 05 00 4A 04 01 00 T 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 04 24 00 4A 08 06 00 +R 00 00 05 00 4A 04 2F 00 4A 08 03 00 T 22 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 09 23 00 -T 2A 00 00 00 A7 01 00 00 00 00 00 00 00 00 00 +R 00 00 05 00 4A 09 4B 00 +T 2A 00 00 00 AB 01 00 00 00 00 00 00 00 00 00 R 00 00 05 00 48 04 01 00 -T 34 00 00 00 00 00 00 00 2C 0E 00 00 00 00 -R 00 00 05 00 4A 04 00 00 48 08 01 00 -T 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 -T 47 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 0B 33 00 -T 51 00 00 00 D0 0C 00 00 00 00 00 00 00 00 00 +T 34 00 00 00 00 00 00 00 FA 0E 00 00 00 00 +R 00 00 05 00 4A 04 50 00 48 08 01 00 +T 3C 00 00 00 00 00 00 00 00 00 00 00 00 +R 00 00 05 00 4A 09 11 00 +T 44 00 00 00 64 0F 00 00 00 00 02 00 +R 00 00 05 00 48 04 01 00 +T 4B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +R 00 00 05 00 4A 04 05 00 +T 55 00 00 00 00 00 00 00 00 00 00 00 00 00 +R 00 00 05 00 4A 0A 4A 00 +T 5E 00 00 00 9E 0D 00 00 00 00 00 00 00 00 00 R 00 00 05 00 48 04 01 00 -T 5B 00 00 00 00 00 00 00 22 0C 00 00 00 00 -R 00 00 05 00 4A 04 0F 00 48 08 01 00 -T 63 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 09 18 00 -T 6B 00 00 00 7E 0D 00 00 00 00 00 00 00 00 00 +T 68 00 00 00 00 00 00 00 F0 0C 00 00 00 00 +R 00 00 05 00 4A 04 07 00 48 08 01 00 +T 70 00 00 00 00 00 00 00 00 00 00 00 00 +R 00 00 05 00 4A 09 1E 00 +T 78 00 00 00 4C 0E 00 00 00 00 00 00 00 00 00 R 00 00 05 00 48 04 01 00 -T 75 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +T 82 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 05 00 -T 80 00 00 00 00 00 00 00 00 00 13 00 00 00 -R 00 00 05 00 00 06 02 00 00 0A 02 00 -T 86 00 00 00 27 00 00 00 3C 00 00 00 -R 00 00 05 00 00 04 02 00 00 08 02 00 -T 8A 00 00 00 53 00 00 00 65 00 00 00 -R 00 00 05 00 00 04 02 00 00 08 02 00 -T 8E 00 00 00 6C 00 00 00 A1 00 00 00 -R 00 00 05 00 00 04 02 00 00 08 02 00 -T 92 00 00 00 C1 00 00 00 FE 00 00 00 -R 00 00 05 00 00 04 02 00 00 08 02 00 -T 96 00 00 00 3B 01 00 00 42 01 00 00 -R 00 00 05 00 00 04 02 00 00 08 02 00 +T 8D 00 00 00 00 00 00 00 00 00 00 00 00 00 +R 00 00 05 00 4A 06 44 00 4A 0A 3D 00 +T 95 00 00 00 00 00 00 00 00 00 00 00 +R 00 00 05 00 4A 04 3E 00 4A 08 2A 00 +T 9B 00 00 00 00 00 00 00 00 00 00 00 +R 00 00 05 00 4A 04 0E 00 4A 08 06 00 +T A1 00 00 00 00 00 00 00 00 00 00 00 +R 00 00 05 00 4A 04 46 00 4A 08 10 00 +T A7 00 00 00 00 00 00 00 00 00 00 00 +R 00 00 05 00 4A 04 21 00 4A 08 04 00 +T AD 00 00 00 00 00 00 00 00 00 00 00 +R 00 00 05 00 4A 04 0F 00 4A 08 32 00 diff --git a/src/nos/lib/ppp_lib/pppdump.rel b/src/nos/lib/ppp_lib/pppdump.rel index 0db3411a..97561942 100644 --- a/src/nos/lib/ppp_lib/pppdump.rel +++ b/src/nos/lib/ppp_lib/pppdump.rel @@ -1,50 +1,50 @@ XL4 H 2 areas 1D global symbols -S ___03da_2be9_VJ_20Uncompressed_2 Ref00000000 -S ___045b_3845_compressed_20 Ref00000000 -S ___02b6_171d_LCP_0a Ref00000000 +S ___06dc_bc4f_unknown_200x_2504x_ Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___05ff_bc4f_unknown_200x_2504x_ Ref00000000 +S ___04f3_3845_compressed_20 Ref00000000 +S ___02dc_e067_IPCP_0a Ref00000000 S ?S_V_SWITCH_L06 Ref00000000 S _copy_p Ref00000000 -S ___055c_3dc2_protocol_3a_20 Ref00000000 -S ___0183_f935__28not_20odd_21_29_ Ref00000000 S _len_p Ref00000000 -S ___033b_b660_PPP_3a_20len_20_253 Ref00000000 -S ___0182_565f__28missing_20UI_21_ Ref00000000 +S ___03b3_b660_PPP_3a_20len_20_253 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___0323_f630_PAP_0a Ref00000000 +S ___046b_2be9_VJ_20Uncompressed_2 Ref00000000 S __fprintf Ref00000000 -S ___0180_7b70__28compressed_20ALL Ref00000000 +S ___0636_3dc2_protocol_3a_20 Ref00000000 S .__.ABS. Def00000000 +S ___0397_f630_PAP_0a Ref00000000 S _vjcomp_dump Ref00000000 S _pull16 Ref00000000 +S ___02d4_dff6_IP_0a Ref00000000 +S ___01af_f935__28not_20odd_21_29_ Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ___01ae_565f__28missing_20UI_21_ Ref00000000 S _ip_dump Ref00000000 -S ___0299_e067_IPCP_0a Ref00000000 S _free_p Ref00000000 S _pull8 Ref00000000 +S ___046a_4b9d_VJ_20Compressed_20T Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0291_dff6_IP_0a Ref00000000 -S ___0017_6a8d__09connection_200x_ Ref00000000 -S ___03d9_4b9d_VJ_20Compressed_20T Ref00000000 +S ___0018_6a8d__09connection_200x_ Ref00000000 +S ___01ac_7b70__28compressed_20ALL Ref00000000 +S ___030d_171d_LCP_0a Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 2FE flags 0 S _ppp_dump Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF 0A 5F 03 0A -R 00 00 01 00 02 05 13 00 +R 00 00 01 00 02 05 12 00 T 09 00 00 00 57 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 09 00 02 0B 09 00 +R 00 00 01 00 2B 06 06 00 02 0B 06 00 T 0F 00 00 00 CD 00 00 00 00 E5 0E 00 00 00 00 -R 00 00 01 00 02 05 03 00 2B 0B 0A 00 +R 00 00 01 00 02 05 01 00 2B 0B 07 00 T 15 00 00 00 C5 21 00 00 00 00 E5 DD 6E 02 DD -R 00 00 01 00 02 06 0A 00 +R 00 00 01 00 02 06 07 00 T 1E 00 00 00 66 03 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0E 00 +R 00 00 01 00 2B 08 0A 00 T 24 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0E 00 02 09 03 00 +R 00 00 01 00 02 04 0A 00 02 09 01 00 T 2B 00 00 00 F1 F1 DD 6E 04 DD 66 05 46 23 66 R 00 00 01 00 T 36 00 00 00 68 01 0A 00 09 7E 23 66 6F 46 04 @@ -54,13 +54,13 @@ R 00 00 01 00 T 43 00 00 00 R 00 00 01 00 T 43 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 05 1A 00 02 0B 1A 00 T 49 00 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 52 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 57 00 00 00 00 00 00 00 F1 F1 F1 18 41 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 01 00 T 5E 00 00 00 R 00 00 01 00 T 5E 00 00 00 DD 6E 04 DD 66 05 46 23 66 68 01 @@ -72,19 +72,19 @@ R 00 00 01 00 T 76 00 00 00 R 00 00 01 00 T 76 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 +R 00 00 01 00 2B 05 13 00 02 0B 13 00 T 7C 00 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 85 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 8A 00 00 00 00 00 00 00 F1 F1 F1 18 0E -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 01 00 T 91 00 00 00 R 00 00 01 00 T 91 00 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 12 00 +R 00 00 01 00 2B 0B 0F 00 T 99 00 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 12 00 02 0A 03 00 +R 00 00 01 00 02 05 0F 00 02 0A 01 00 T 9F 00 00 00 R 00 00 01 00 T 9F 00 00 00 @@ -92,29 +92,29 @@ R 00 00 01 00 T 9F 00 00 00 DD 36 FA FF DD 36 FB 03 DD 5E 04 R 00 00 01 00 T AA 00 00 00 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 17 00 +R 00 00 01 00 2B 08 16 00 T B0 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 17 00 02 09 03 00 +R 00 00 01 00 02 04 16 00 02 09 01 00 T B7 00 00 00 FC DD 74 FD DD 7E FC E6 01 28 1B R 00 00 01 00 T C2 00 00 00 R 00 00 01 00 T C2 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 T C8 00 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T D1 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T D6 00 00 00 00 00 00 00 F1 F1 F1 18 4E -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 01 00 T DD 00 00 00 R 00 00 01 00 T DD 00 00 00 DD 6E FC DD 66 FD 65 2E 00 E5 DD R 00 00 01 00 T E8 00 00 00 5E 04 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 17 00 +R 00 00 01 00 2B 0A 16 00 T F0 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 17 00 02 09 03 00 +R 00 00 01 00 02 04 16 00 02 09 01 00 T F7 00 00 00 E1 7D B1 5F 7C B0 57 DD 73 FC DD R 00 00 01 00 T 02 01 00 00 72 FD DD 7E FC E6 01 47 DD 7E FD @@ -124,27 +124,27 @@ R 00 00 01 00 T 12 01 00 00 R 00 00 01 00 T 12 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 08 00 02 0B 08 00 +R 00 00 01 00 2B 05 11 00 02 0B 11 00 T 18 01 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 21 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 26 01 00 00 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 01 00 T 2B 01 00 00 R 00 00 01 00 T 2B 01 00 00 R 00 00 01 00 T 2B 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 07 00 02 0B 07 00 +R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 T 31 01 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 3A 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 3F 01 00 00 00 00 00 00 F1 F1 F1 DD 5E FC DD -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 01 00 T 48 01 00 00 56 FD CD 00 00 00 00 06 00 21 00 -R 00 00 01 00 02 07 05 00 +R 00 00 01 00 02 07 04 00 T 51 01 00 00 2D 00 2F 00 21 80 21 C0 23 C0 R 00 00 01 00 T 5B 01 00 00 D8 02 00 00 D6 01 00 00 @@ -158,41 +158,41 @@ R 00 00 01 00 00 04 01 00 T 69 01 00 00 R 00 00 01 00 T 69 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 19 00 02 0B 19 00 +R 00 00 01 00 2B 05 10 00 02 0B 10 00 T 6F 01 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 78 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 7D 01 00 00 00 00 00 00 F1 F1 F1 21 01 00 E5 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 01 00 T 86 01 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 R 00 00 01 00 T 91 01 00 00 03 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 14 00 02 0B 14 00 T 97 01 00 00 CD 00 00 00 00 E1 C3 FB 02 00 00 -R 00 00 01 00 02 05 03 00 00 0B 01 00 +R 00 00 01 00 02 05 01 00 00 0B 01 00 T 9E 01 00 00 R 00 00 01 00 T 9E 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 15 00 02 0B 15 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 T A4 01 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T AD 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T B2 01 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 01 00 T B8 01 00 00 FB 02 00 00 R 00 00 01 00 00 04 01 00 T BA 01 00 00 R 00 00 01 00 T BA 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 02 00 02 0B 02 00 +R 00 00 01 00 2B 05 1B 00 02 0B 1B 00 T C0 01 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T C9 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T CE 01 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 01 00 T D4 01 00 00 FB 02 00 00 R 00 00 01 00 00 04 01 00 T D6 01 00 00 @@ -202,47 +202,47 @@ R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 T DC 01 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T E5 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T EA 01 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 01 00 T F0 01 00 00 FB 02 00 00 R 00 00 01 00 00 04 01 00 T F2 01 00 00 R 00 00 01 00 T F2 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1B 00 02 0B 1B 00 +R 00 00 01 00 2B 05 17 00 02 0B 17 00 T F8 01 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 01 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 06 02 00 00 00 00 00 00 F1 F1 F1 21 00 00 E5 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 01 00 T 0F 02 00 00 DD 4E 04 DD 46 05 DD 5E 02 DD 56 R 00 00 01 00 T 1A 02 00 00 03 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 11 00 02 0B 11 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T 20 02 00 00 CD 00 00 00 00 E1 C3 FB 02 00 00 -R 00 00 01 00 02 05 03 00 00 0B 01 00 +R 00 00 01 00 02 05 01 00 00 0B 01 00 T 27 02 00 00 R 00 00 01 00 T 27 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 00 00 02 0B 00 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 T 2D 02 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 36 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 3B 02 00 00 00 00 00 00 F1 F1 F1 DD 6E 04 DD -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 01 00 T 44 02 00 00 66 05 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 09 00 +R 00 00 01 00 2B 0A 06 00 T 4C 02 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 09 00 02 09 03 00 +R 00 00 01 00 02 04 06 00 02 09 01 00 T 53 02 00 00 DD 6E 04 DD 66 05 5E 23 56 3E R 00 00 01 00 T 5D 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T 62 02 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 01 00 T 6B 02 00 00 B4 20 03 R 00 00 01 00 T 6E 02 00 00 @@ -256,13 +256,13 @@ R 00 00 01 00 T 7C 02 00 00 23 66 6A 11 09 00 19 5E 16 00 D5 R 00 00 01 00 T 87 02 00 00 1E 00 00 00 00 D5 21 00 00 00 00 -R 00 00 01 00 2B 05 1A 00 02 0B 1A 00 +R 00 00 01 00 2B 05 19 00 02 0B 19 00 T 8D 02 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 96 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 9B 02 00 00 00 00 00 00 F1 F1 F1 F1 21 0A 00 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 01 00 T A4 02 00 00 09 56 23 66 6A 11 09 00 19 36 06 R 00 00 01 00 T AF 02 00 00 21 01 00 E5 21 06 00 39 4D 44 DD @@ -270,26 +270,26 @@ R 00 00 01 00 T BA 02 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 14 00 T C2 02 00 00 00 00 00 00 CD 00 00 00 00 E1 21 -R 00 00 01 00 02 04 14 00 02 09 03 00 +R 00 00 01 00 02 04 14 00 02 09 01 00 T C9 02 00 00 04 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 16 00 +R 00 00 01 00 2B 0A 15 00 T D1 02 00 00 00 00 00 00 CD 00 00 00 00 18 23 -R 00 00 01 00 02 04 16 00 02 09 03 00 +R 00 00 01 00 02 04 15 00 02 09 01 00 T D8 02 00 00 R 00 00 01 00 T D8 02 00 00 DD 6E FC DD 66 FD E5 0E R 00 00 01 00 T E0 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 04 00 02 0A 04 00 +R 00 00 01 00 2B 04 00 00 02 0A 00 00 T E6 02 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T EE 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T F3 02 00 00 00 00 00 00 F1 F1 F1 F1 18 00 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 01 00 T FB 02 00 00 R 00 00 01 00 T FB 02 00 00 R 00 00 01 00 T FB 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0C 00 +R 00 00 01 00 02 05 08 00 diff --git a/src/nos/lib/ppp_lib/redial.rel b/src/nos/lib/ppp_lib/redial.rel index 10b2b83e..f24a8a87 100644 --- a/src/nos/lib/ppp_lib/redial.rel +++ b/src/nos/lib/ppp_lib/redial.rel @@ -1,6 +1,5 @@ XL4 H 3 areas 15 global symbols -S ___0145_ace2__25s_20dialer_3a_20 Ref00000000 S _Dial_cmds Ref00000000 S _suspend Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 @@ -17,237 +16,244 @@ S _free Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _mallocw Ref00000000 S _freopen Ref00000000 +S ___016e_ace2__25s_20dialer_3a_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _fclose Ref00000000 S _bitbucket Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 288 flags 0 +A CODE size 292 flags 0 S _redial Def00000000 A CSTR size 6E flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F6 FF AF DD 77 FD -R 00 00 01 00 02 05 0E 00 -T 09 00 00 00 DD 77 FE 21 00 00 E5 01 +R 00 00 01 00 02 05 0D 00 +T 09 00 00 00 DD 77 FE 79 B0 20 06 R 00 00 01 00 -T 11 00 00 00 00 00 00 00 DD 5E 04 DD 56 05 3E -R 00 00 01 00 00 04 02 00 -T 1A 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 10 00 02 09 10 00 -T 1F 00 00 00 00 00 00 00 F1 DD 75 F8 DD 74 F9 -R 00 00 01 00 02 04 03 00 -T 28 00 00 00 7D B4 20 32 +T 10 00 00 00 +R 00 00 01 00 +T 10 00 00 00 21 FF FF C3 8F 02 00 00 +R 00 00 01 00 00 08 01 00 +T 16 00 00 00 R 00 00 01 00 -T 2C 00 00 00 +T 16 00 00 00 21 00 00 E5 01 00 00 00 00 DD 5E +R 00 00 01 00 00 09 02 00 +T 1F 00 00 00 04 DD 56 05 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0F 00 +T 26 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD +R 00 00 01 00 02 04 0F 00 02 09 02 00 +T 2D 00 00 00 75 F8 DD 74 F9 7D B4 20 32 R 00 00 01 00 -T 2C 00 00 00 21 12 00 DD 4E 02 DD 46 03 09 7E +T 36 00 00 00 R 00 00 01 00 -T 37 00 00 00 E6 11 28 1D +T 36 00 00 00 21 12 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 3B 00 00 00 +T 41 00 00 00 E6 11 28 1D R 00 00 01 00 -T 3B 00 00 00 DD 6E 04 DD 66 05 E5 21 +T 45 00 00 00 R 00 00 01 00 -T 43 00 00 00 03 00 00 00 E5 DD 6E 02 DD 66 03 +T 45 00 00 00 DD 6E 04 DD 66 05 E5 21 +R 00 00 01 00 +T 4D 00 00 00 03 00 00 00 E5 DD 6E 02 DD 66 03 R 00 00 01 00 00 04 02 00 -T 4C 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 04 00 02 0B 04 00 -T 52 00 00 00 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 05 03 00 -T 58 00 00 00 +T 56 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 03 00 02 0B 03 00 +T 5C 00 00 00 CD 00 00 00 00 F1 F1 F1 +R 00 00 01 00 02 05 02 00 +T 62 00 00 00 R 00 00 01 00 -T 58 00 00 00 21 FF FF C3 85 02 00 00 +T 62 00 00 00 21 FF FF C3 8F 02 00 00 R 00 00 01 00 00 08 01 00 -T 5E 00 00 00 +T 68 00 00 00 R 00 00 01 00 -T 5E 00 00 00 21 45 00 DD 4E 02 DD 46 03 09 4E +T 68 00 00 00 21 45 00 DD 4E 02 DD 46 03 09 4E R 00 00 01 00 -T 69 00 00 00 23 46 23 7E 69 60 0E 00 00 00 00 +T 73 00 00 00 23 46 23 7E 69 60 0E 00 00 00 00 R 00 00 01 00 2B 0B 13 00 -T 71 00 00 00 11 00 00 00 00 B9 20 3B ED 52 20 +T 7B 00 00 00 11 00 00 00 00 B9 20 3B ED 52 20 R 00 00 01 00 02 05 13 00 -T 7A 00 00 00 37 +T 84 00 00 00 37 R 00 00 01 00 -T 7B 00 00 00 +T 85 00 00 00 R 00 00 01 00 -T 7B 00 00 00 21 12 00 DD 4E 02 DD 46 03 09 7E +T 85 00 00 00 21 12 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 86 00 00 00 E6 11 28 22 +T 90 00 00 00 E6 11 28 22 R 00 00 01 00 -T 8A 00 00 00 +T 94 00 00 00 R 00 00 01 00 -T 8A 00 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 +T 94 00 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 R 00 00 01 00 -T 95 00 00 00 C5 21 1A 00 00 00 E5 DD 6E 02 DD +T 9F 00 00 00 C5 21 1A 00 00 00 E5 DD 6E 02 DD R 00 00 01 00 00 06 02 00 -T 9E 00 00 00 66 03 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 04 00 -T A4 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 04 00 02 09 03 00 -T AB 00 00 00 F1 +T A8 00 00 00 66 03 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 03 00 +T AE 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 03 00 02 09 02 00 +T B5 00 00 00 F1 R 00 00 01 00 -T AC 00 00 00 +T B6 00 00 00 R 00 00 01 00 -T AC 00 00 00 21 FF FF C3 85 02 00 00 +T B6 00 00 00 21 FF FF C3 8F 02 00 00 R 00 00 01 00 00 08 01 00 -T B2 00 00 00 +T BC 00 00 00 R 00 00 01 00 -T B2 00 00 00 21 12 00 DD 4E 02 DD 46 03 09 7E +T BC 00 00 00 21 12 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T BD 00 00 00 E6 11 28 22 +T C7 00 00 00 E6 11 28 22 R 00 00 01 00 -T C1 00 00 00 +T CB 00 00 00 R 00 00 01 00 -T C1 00 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 +T CB 00 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 R 00 00 01 00 -T CC 00 00 00 C5 21 46 00 00 00 E5 DD 6E 02 DD +T D6 00 00 00 C5 21 46 00 00 00 E5 DD 6E 02 DD R 00 00 01 00 00 06 02 00 -T D5 00 00 00 66 03 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 04 00 -T DB 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 04 00 02 09 03 00 -T E2 00 00 00 F1 +T DF 00 00 00 66 03 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 03 00 +T E5 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 03 00 02 09 02 00 +T EC 00 00 00 F1 R 00 00 01 00 -T E3 00 00 00 +T ED 00 00 00 R 00 00 01 00 -T E3 00 00 00 21 45 00 DD 4E 02 DD 46 03 09 4E +T ED 00 00 00 21 45 00 DD 4E 02 DD 46 03 09 4E R 00 00 01 00 -T EE 00 00 00 23 46 23 56 69 60 DD 75 FA DD 74 +T F8 00 00 00 23 46 23 56 69 60 DD 75 FA DD 74 R 00 00 01 00 -T F9 00 00 00 FB DD 72 FC 21 45 00 DD 4E 02 DD +T 03 01 00 00 FB DD 72 FC 21 45 00 DD 4E 02 DD R 00 00 01 00 -T 04 01 00 00 46 03 09 36 00 00 00 00 23 36 +T 0E 01 00 00 46 03 09 36 00 00 00 00 23 36 R 00 00 01 00 0B 08 13 00 -T 0B 01 00 00 00 00 00 00 23 36 00 00 00 00 21 +T 15 01 00 00 00 00 00 00 23 36 00 00 00 00 21 R 00 00 01 00 8B 04 13 00 2B 0A 13 00 -T 10 01 00 00 18 00 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 -T 18 01 00 00 21 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 05 02 00 02 0A 03 00 -T 1F 01 00 00 80 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0F 00 -T 24 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 0F 00 02 09 03 00 -T 2B 01 00 00 F6 DD 74 F7 -R 00 00 01 00 -T 2F 01 00 00 -R 00 00 01 00 -T 2F 01 00 00 DD 6E F8 DD 66 F9 E5 01 80 00 DD -R 00 00 01 00 -T 3A 01 00 00 5E F6 DD 56 F7 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0B 00 -T 42 01 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 0B 00 02 09 03 00 -T 49 01 00 00 B4 CA DA 01 00 00 +T 1A 01 00 00 18 00 09 5E 23 56 3E 00 00 00 00 +R 00 00 01 00 2B 0B 01 00 +T 22 01 00 00 21 00 00 00 00 CD 00 00 00 00 11 +R 00 00 01 00 02 05 01 00 02 0A 02 00 +T 29 01 00 00 80 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 0E 00 +T 2E 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 0E 00 02 09 02 00 +T 35 01 00 00 F6 DD 74 F7 +R 00 00 01 00 +T 39 01 00 00 +R 00 00 01 00 +T 39 01 00 00 DD 6E F8 DD 66 F9 E5 01 80 00 DD +R 00 00 01 00 +T 44 01 00 00 5E F6 DD 56 F7 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0A 00 +T 4C 01 00 00 00 00 00 00 CD 00 00 00 00 F1 7D +R 00 00 01 00 02 04 0A 00 02 09 02 00 +T 53 01 00 00 B4 CA E4 01 00 00 R 00 00 01 00 00 06 01 00 -T 4D 01 00 00 +T 57 01 00 00 R 00 00 01 00 -T 4D 01 00 00 DD 5E F6 DD 56 F7 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T 55 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 07 00 02 0A 03 00 -T 5C 01 00 00 6E F6 DD 66 F7 E5 DD 6E 02 DD 66 +T 57 01 00 00 DD 5E F6 DD 56 F7 3E 00 00 00 00 +R 00 00 01 00 2B 0B 06 00 +T 5F 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 06 00 02 0A 02 00 +T 66 01 00 00 6E F6 DD 66 F7 E5 DD 6E 02 DD 66 R 00 00 01 00 -T 67 01 00 00 03 23 23 4E 23 46 C5 0E +T 71 01 00 00 03 23 23 4E 23 46 C5 0E R 00 00 01 00 -T 6F 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 00 00 02 0A 00 00 -T 75 01 00 00 21 FF FF E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 06 00 -T 7C 01 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 06 00 02 09 03 00 -T 83 01 00 00 E1 E1 E1 21 12 00 DD 4E 02 DD 46 +T 79 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 10 00 02 0A 10 00 +T 7F 01 00 00 21 FF FF E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 05 00 +T 86 01 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 02 04 05 00 02 09 02 00 +T 8D 01 00 00 E1 E1 E1 21 12 00 DD 4E 02 DD 46 R 00 00 01 00 -T 8E 01 00 00 03 09 7E E6 11 28 1D +T 98 01 00 00 03 09 7E E6 11 28 1D R 00 00 01 00 -T 95 01 00 00 +T 9F 01 00 00 R 00 00 01 00 -T 95 01 00 00 DD 6E F6 DD 66 F7 E5 21 +T 9F 01 00 00 DD 6E F6 DD 66 F7 E5 21 R 00 00 01 00 -T 9D 01 00 00 57 00 00 00 E5 DD 6E 02 DD 66 03 +T A7 01 00 00 57 00 00 00 E5 DD 6E 02 DD 66 03 R 00 00 01 00 00 04 02 00 -T A6 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 04 00 02 0B 04 00 -T AC 01 00 00 CD 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 05 03 00 -T B2 01 00 00 +T B0 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 03 00 02 0B 03 00 +T B6 01 00 00 CD 00 00 00 00 F1 F1 F1 +R 00 00 01 00 02 05 02 00 +T BC 01 00 00 R 00 00 01 00 -T B2 01 00 00 DD 6E 02 DD 66 03 E5 DD 4E F6 DD +T BC 01 00 00 DD 6E 02 DD 66 03 E5 DD 4E F6 DD R 00 00 01 00 -T BD 01 00 00 46 F7 11 00 00 00 00 3E -R 00 00 01 00 02 07 01 00 -T C3 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 -T C8 01 00 00 00 00 00 00 F1 DD 75 FD DD 74 FE -R 00 00 01 00 02 04 03 00 -T D1 01 00 00 7D B4 28 02 +T C7 01 00 00 46 F7 11 00 00 00 00 3E +R 00 00 01 00 02 07 00 00 +T CD 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 07 00 02 09 07 00 +T D2 01 00 00 00 00 00 00 F1 DD 75 FD DD 74 FE +R 00 00 01 00 02 04 02 00 +T DB 01 00 00 7D B4 28 02 R 00 00 01 00 -T D5 01 00 00 +T DF 01 00 00 R 00 00 01 00 -T D5 01 00 00 18 03 +T DF 01 00 00 18 03 R 00 00 01 00 -T D7 01 00 00 +T E1 01 00 00 R 00 00 01 00 -T D7 01 00 00 C3 2F 01 00 00 +T E1 01 00 00 C3 39 01 00 00 R 00 00 01 00 00 05 01 00 -T DA 01 00 00 +T E4 01 00 00 R 00 00 01 00 -T DA 01 00 00 DD 5E F6 DD 56 F7 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0D 00 -T E2 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0D 00 02 0A 03 00 -T E9 01 00 00 5E F8 DD 56 F9 3E 00 00 00 00 21 +T E4 01 00 00 DD 5E F6 DD 56 F7 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0C 00 +T EC 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 0C 00 02 0A 02 00 +T F3 01 00 00 5E F8 DD 56 F9 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 12 00 -T F1 01 00 00 00 00 00 00 CD 00 00 00 00 DD 7E -R 00 00 01 00 02 04 12 00 02 09 03 00 -T F8 01 00 00 FD DD B6 FE 20 2F +T FB 01 00 00 00 00 00 00 CD 00 00 00 00 DD 7E +R 00 00 01 00 02 04 12 00 02 09 02 00 +T 02 02 00 00 FD DD B6 FE 20 2F R 00 00 01 00 -T FE 01 00 00 +T 08 02 00 00 R 00 00 01 00 -T FE 01 00 00 21 65 00 DD 4E 02 DD 46 03 09 E5 +T 08 02 00 00 21 65 00 DD 4E 02 DD 46 03 09 E5 R 00 00 01 00 -T 09 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 05 00 02 0A 05 00 -T 0F 02 00 00 00 00 00 00 EB E1 73 23 72 23 71 -R 00 00 01 00 02 04 03 00 -T 18 02 00 00 23 70 C5 21 61 00 DD 4E 02 DD 46 +T 13 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 04 00 02 0A 04 00 +T 19 02 00 00 00 00 00 00 EB E1 73 23 72 23 71 +R 00 00 01 00 02 04 02 00 +T 22 02 00 00 23 70 C5 21 61 00 DD 4E 02 DD 46 R 00 00 01 00 -T 23 02 00 00 03 09 C1 73 23 72 23 71 23 70 +T 2D 02 00 00 03 09 C1 73 23 72 23 71 23 70 R 00 00 01 00 -T 2D 02 00 00 +T 37 02 00 00 R 00 00 01 00 -T 2D 02 00 00 21 45 00 DD 4E 02 DD 46 03 09 DD +T 37 02 00 00 21 45 00 DD 4E 02 DD 46 03 09 DD R 00 00 01 00 -T 38 02 00 00 7E FC DD 5E FA DD 56 FB 73 23 72 +T 42 02 00 00 7E FC DD 5E FA DD 56 FB 73 23 72 R 00 00 01 00 -T 43 02 00 00 23 77 21 18 00 09 5E 23 56 3E +T 4D 02 00 00 23 77 21 18 00 09 5E 23 56 3E R 00 00 01 00 -T 4D 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T 52 02 00 00 00 00 00 00 21 12 00 09 7E E6 11 -R 00 00 01 00 02 04 03 00 -T 5B 02 00 00 28 22 +T 57 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 08 00 02 09 08 00 +T 5C 02 00 00 00 00 00 00 21 12 00 09 7E E6 11 +R 00 00 01 00 02 04 02 00 +T 65 02 00 00 28 22 R 00 00 01 00 -T 5D 02 00 00 +T 67 02 00 00 R 00 00 01 00 -T 5D 02 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 +T 67 02 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 R 00 00 01 00 -T 68 02 00 00 C5 21 5B 00 00 00 E5 DD 6E 02 DD +T 72 02 00 00 C5 21 5B 00 00 00 E5 DD 6E 02 DD R 00 00 01 00 00 06 02 00 -T 71 02 00 00 66 03 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 04 00 -T 77 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 04 00 02 09 03 00 -T 7E 02 00 00 F1 +T 7B 02 00 00 66 03 E5 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 03 00 +T 81 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 03 00 02 09 02 00 +T 88 02 00 00 F1 R 00 00 01 00 -T 7F 02 00 00 +T 89 02 00 00 R 00 00 01 00 -T 7F 02 00 00 DD 6E FD DD 66 FE +T 89 02 00 00 DD 6E FD DD 66 FE R 00 00 01 00 -T 85 02 00 00 +T 8F 02 00 00 R 00 00 01 00 -T 85 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 +T 8F 02 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 09 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 72 74 00 diff --git a/src/nos/lib/ppp_lib/sd_answer.rel b/src/nos/lib/ppp_lib/sd_answer.rel index 4323de9c..2559d00d 100644 --- a/src/nos/lib/ppp_lib/sd_answer.rel +++ b/src/nos/lib/ppp_lib/sd_answer.rel @@ -1,95 +1,66 @@ XL4 -H 3 areas C global symbols +H 2 areas A global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S _printf Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S _Esccchan Ref00000000 S .__.ABS. Def00000000 S _kwait Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 S ?L_INCASG_L03 Ref00000000 -S _Asy Ref00000000 S _redial Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size CB flags 0 +A CODE size A4 flags 0 S _sd_answer Def00000000 -A CSTR size 1C flags 0 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FA FF DD 71 FA DD +T 00 00 00 00 CD 00 00 00 00 F8 FF DD 36 FE 01 R 00 00 01 00 02 05 05 00 -T 09 00 00 00 70 FB 11 5A 00 DD 4E 02 DD 46 03 +T 09 00 00 00 DD 71 F8 DD 70 F9 DD 6E 02 DD 66 R 00 00 01 00 -T 14 00 00 00 CD 00 00 00 00 21 00 00 00 00 19 -R 00 00 01 00 02 05 06 00 02 0A 08 00 -T 1B 00 00 00 DD 75 FE DD 74 FF 21 24 00 DD 4E +T 14 00 00 00 03 29 11 00 00 00 00 19 56 23 66 +R 00 00 01 00 02 07 02 00 +T 1D 00 00 00 6A DD 75 FC DD 74 FD 21 24 00 09 R 00 00 01 00 -T 26 00 00 00 FA DD 46 FB 09 46 23 66 68 DD 75 +T 28 00 00 00 46 23 66 68 DD 75 FA DD 74 FB 7D R 00 00 01 00 -T 31 00 00 00 FC DD 74 FD 7D B4 20 03 +T 33 00 00 00 B4 20 03 R 00 00 01 00 -T 39 00 00 00 +T 36 00 00 00 R 00 00 01 00 -T 39 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 02 00 -T 3C 00 00 00 +T 36 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 01 00 +T 39 00 00 00 R 00 00 01 00 -T 3C 00 00 00 +T 39 00 00 00 R 00 00 01 00 -T 3C 00 00 00 21 29 00 DD 4E FE DD 46 FF 09 4E +T 39 00 00 00 R 00 00 01 00 -T 47 00 00 00 06 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 00 08 02 00 -T 4F 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 54 00 00 00 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 00 00 -T 58 00 00 00 +T 39 00 00 00 AF DD B6 FE 28 0F 21 24 00 DD 4E R 00 00 01 00 -T 58 00 00 00 21 29 00 DD 4E FE DD 46 FF 09 7E +T 44 00 00 00 FC DD 46 FD 09 7E E6 08 20 28 R 00 00 01 00 -T 63 00 00 00 E6 04 28 15 +T 4E 00 00 00 R 00 00 01 00 -T 67 00 00 00 +T 4E 00 00 00 21 24 00 DD 4E FC DD 46 FD 09 56 R 00 00 01 00 -T 67 00 00 00 21 29 00 DD 4E FE DD 46 FF 09 EB +T 59 00 00 00 DD 72 FF 21 24 00 09 EB 3E R 00 00 01 00 -T 72 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 04 00 02 0A 04 00 -T 78 00 00 00 00 00 00 00 18 DC +T 62 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 67 00 00 00 00 00 00 00 21 24 00 09 7E DD AE R 00 00 01 00 02 04 00 00 -T 7C 00 00 00 +T 70 00 00 00 FF DD 77 FE 18 C3 R 00 00 01 00 -T 7C 00 00 00 21 29 00 DD 4E FE DD 46 FF 09 5E +T 76 00 00 00 R 00 00 01 00 -T 87 00 00 00 16 00 D5 21 0E 00 00 00 E5 3E -R 00 00 01 00 00 08 02 00 -T 8F 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 01 00 02 09 01 00 -T 94 00 00 00 00 00 00 00 F1 F1 21 29 00 09 7E -R 00 00 01 00 02 04 00 00 -T 9D 00 00 00 F6 04 77 21 1A 00 DD 4E FC DD 46 -R 00 00 01 00 -T A8 00 00 00 FD 09 CD 00 00 00 00 21 04 00 DD -R 00 00 01 00 02 07 07 00 -T B1 00 00 00 4E FC DD 46 FD 09 4E 23 46 DD 5E -R 00 00 01 00 -T BC 00 00 00 FA DD 56 FB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 09 00 -T C3 00 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 09 00 02 09 00 00 -T C9 00 00 00 3C 00 00 00 -R 00 00 01 00 00 04 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 35 3A 20 73 74 61 74 3D 30 78 25 -R 00 00 02 00 -T 0B 00 00 00 78 0A 00 -R 00 00 02 00 -T 0E 00 00 00 -R 00 00 02 00 -T 0E 00 00 00 36 3A 20 73 74 61 74 3D 30 78 25 -R 00 00 02 00 -T 19 00 00 00 78 0A 00 -R 00 00 02 00 +T 76 00 00 00 DD 36 FE 00 21 1C 00 DD 4E FA DD +R 00 00 01 00 +T 81 00 00 00 46 FB 09 CD 00 00 00 00 21 06 00 +R 00 00 01 00 02 08 06 00 +T 8A 00 00 00 DD 4E FA DD 46 FB 09 4E 23 46 DD +R 00 00 01 00 +T 95 00 00 00 5E F8 DD 56 F9 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 07 00 +T 9D 00 00 00 00 00 00 00 CD 00 00 00 00 18 95 +R 00 00 01 00 02 04 07 00 02 09 00 00 diff --git a/src/nos/lib/ppp_lib/sd_init.rel b/src/nos/lib/ppp_lib/sd_init.rel index 73658db6..e7f6ff11 100644 --- a/src/nos/lib/ppp_lib/sd_init.rel +++ b/src/nos/lib/ppp_lib/sd_init.rel @@ -1,278 +1,328 @@ XL4 -H 3 areas 18 global symbols +H 3 areas 1A global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _stop_timer Ref00000000 S _sd_answer Ref00000000 +S ___0300_c292_Interface_20_25s_20 Ref00000000 S _set_timer Ref00000000 +S ___0348_06a9_Must_20set_20_27r_2 Ref00000000 S _if_name Ref00000000 -S ___03d1_f8b8_Usage_3a_20dial_20_ Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S _Esccchan Ref00000000 S _strdupw Ref00000000 S _dropline Ref00000000 S .__.ABS. Def00000000 S _killproc Ref00000000 -S ___0046_48df__20_20_20_20_20_20_ Ref00000000 S _free Ref00000000 -S ___02dc_06a9_Must_20set_20_27r_2 Ref00000000 +S ___0047_48df__20_20_20_20_20_20_ Ref00000000 +S _Esccinfo Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S _Asy Ref00000000 S _calloc Ref00000000 +S ___0462_685b_Usage_3a_20dial_20_ Ref00000000 +S ?SS_CMP_L02 Ref00000000 +S _redial Ref00000000 S _dialer_kick Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _newproc Ref00000000 -S ___02a9_63a0_Interface_20_25s_20 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 31C flags 0 +A CODE size 3A4 flags 0 S _sd_init Def00000000 A CSTR size A flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF 21 2C 00 DD -R 00 00 01 00 02 05 0E 00 -T 09 00 00 00 4E 02 DD 46 03 09 46 23 66 68 01 +R 00 00 01 00 02 05 10 00 +T 09 00 00 00 4E 02 DD 46 03 09 4E 23 46 2A R 00 00 01 00 -T 14 00 00 00 02 80 3E 80 AC 67 ED 42 30 26 21 +T 13 00 00 00 04 00 00 00 CD 00 00 00 00 38 24 +R 00 00 01 00 02 04 0F 00 02 09 13 00 +T 1A 00 00 00 21 2C 00 DD 4E 02 DD 46 03 09 56 R 00 00 01 00 -T 1F 00 00 00 2C 00 DD 4E 02 DD 46 03 09 5E 23 +T 25 00 00 00 23 66 6A 29 11 00 00 00 00 19 56 +R 00 00 01 00 02 09 08 00 +T 2E 00 00 00 23 66 6A 11 4B 00 19 56 23 66 6A R 00 00 01 00 -T 2A 00 00 00 56 01 5A 00 CD 00 00 00 00 21 -R 00 00 01 00 02 09 0F 00 -T 32 00 00 00 00 00 00 00 19 46 23 66 68 DD 4E -R 00 00 01 00 02 04 10 00 -T 3B 00 00 00 02 DD 46 03 A7 ED 42 28 24 +T 39 00 00 00 A7 ED 42 28 3D R 00 00 01 00 -T 44 00 00 00 +T 3E 00 00 00 R 00 00 01 00 -T 44 00 00 00 +T 3E 00 00 00 R 00 00 01 00 -T 44 00 00 00 +T 3E 00 00 00 R 00 00 01 00 -T 44 00 00 00 DD 6E 10 DD 66 11 23 23 4E 23 46 +T 3E 00 00 00 21 2C 00 DD 4E 02 DD 46 03 09 46 R 00 00 01 00 -T 4F 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 16 00 -T 54 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 16 00 2B 0A 13 00 -T 5A 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 13 00 02 09 00 00 -T 61 00 00 00 F1 21 01 00 C3 19 03 00 00 -R 00 00 01 00 00 09 01 00 -T 68 00 00 00 +T 49 00 00 00 23 66 68 29 01 00 00 00 00 09 46 +R 00 00 01 00 02 09 08 00 +T 52 00 00 00 23 66 68 01 4B 00 09 46 23 66 68 R 00 00 01 00 -T 68 00 00 00 21 2C 00 DD 4E 02 DD 46 03 09 4E +T 5D 00 00 00 23 23 4E 23 46 C5 0E 00 00 00 00 +R 00 00 01 00 2B 0B 03 00 +T 65 00 00 00 C5 21 00 00 00 00 E5 3E +R 00 00 01 00 02 06 03 00 +T 6B 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 16 00 02 09 16 00 +T 70 00 00 00 00 00 00 00 F1 F1 F1 21 01 00 C3 +R 00 00 01 00 02 04 00 00 +T 79 00 00 00 A1 03 00 00 +R 00 00 01 00 00 04 01 00 +T 7B 00 00 00 R 00 00 01 00 -T 73 00 00 00 23 46 11 5A 00 CD 00 00 00 00 21 -R 00 00 01 00 02 0A 0F 00 -T 7C 00 00 00 00 00 00 00 19 DD 75 FA DD 74 FB -R 00 00 01 00 02 04 10 00 -T 85 00 00 00 DD 7E 0A DD B6 0B DD B6 0C DD B6 +T 7B 00 00 00 21 2C 00 DD 4E 02 DD 46 03 09 46 R 00 00 01 00 -T 90 00 00 00 0D 28 39 01 03 80 DD 6E 0E DD 66 +T 86 00 00 00 23 66 68 29 01 00 00 00 00 09 46 +R 00 00 01 00 02 09 08 00 +T 8F 00 00 00 23 66 68 DD 75 FA DD 74 FB DD 7E R 00 00 01 00 -T 9B 00 00 00 0F 3E 80 AC 67 ED 42 30 28 +T 9A 00 00 00 0A DD B6 0B DD B6 0C DD B6 0D 28 R 00 00 01 00 -T A4 00 00 00 +T A5 00 00 00 39 01 03 80 DD 6E 0E DD 66 0F 3E R 00 00 01 00 -T A4 00 00 00 +T B0 00 00 00 80 AC 67 ED 42 30 28 R 00 00 01 00 -T A4 00 00 00 +T B7 00 00 00 R 00 00 01 00 -T A4 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 05 00 02 0B 05 00 -T AA 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 13 00 02 0B 13 00 -T B0 00 00 00 CD 00 00 00 00 F1 F1 0E +T B7 00 00 00 +R 00 00 01 00 +T B7 00 00 00 +R 00 00 01 00 +T B7 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 12 00 02 0B 12 00 +T BD 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 16 00 02 0B 16 00 +T C3 00 00 00 CD 00 00 00 00 F1 F1 0E R 00 00 01 00 02 05 00 00 -T B6 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0B 00 02 0A 0B 00 -T BC 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 13 00 02 0A 13 00 -T C2 00 00 00 00 00 00 00 F1 F1 21 01 00 C3 +T C9 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 0E 00 02 0A 0E 00 +T CF 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 16 00 02 0A 16 00 +T D5 00 00 00 00 00 00 00 F1 F1 21 01 00 C3 R 00 00 01 00 02 04 00 00 -T CA 00 00 00 19 03 00 00 +T DD 00 00 00 A1 03 00 00 R 00 00 01 00 00 04 01 00 -T CC 00 00 00 +T DF 00 00 00 R 00 00 01 00 -T CC 00 00 00 21 2C 00 DD 4E FA DD 46 FB 09 7E +T DF 00 00 00 21 5C 00 DD 4E FA DD 46 FB 09 7E R 00 00 01 00 -T D7 00 00 00 B7 20 17 +T EA 00 00 00 B7 20 17 R 00 00 01 00 -T DA 00 00 00 +T ED 00 00 00 R 00 00 01 00 -T DA 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 -T E0 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 13 00 02 0B 13 00 -T E6 00 00 00 CD 00 00 00 00 F1 F1 21 01 00 C3 +T ED 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 +T F3 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 16 00 02 0B 16 00 +T F9 00 00 00 CD 00 00 00 00 F1 F1 21 01 00 C3 R 00 00 01 00 02 05 00 00 -T EF 00 00 00 19 03 00 00 +T 02 01 00 00 A1 03 00 00 R 00 00 01 00 00 04 01 00 -T F1 00 00 00 +T 04 01 00 00 R 00 00 01 00 -T F1 00 00 00 21 24 00 DD 4E 02 DD 46 03 09 7E +T 04 01 00 00 21 24 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T FC 00 00 00 23 B6 CA BD 01 00 00 +T 0F 01 00 00 23 B6 CA FC 01 00 00 R 00 00 01 00 00 07 01 00 -T 01 01 00 00 +T 14 01 00 00 R 00 00 01 00 -T 01 01 00 00 21 24 00 DD 4E 02 DD 46 03 09 46 +T 14 01 00 00 21 24 00 DD 4E 02 DD 46 03 09 46 R 00 00 01 00 -T 0C 01 00 00 23 66 68 DD 75 FC DD 74 FD 01 +T 1F 01 00 00 23 66 68 DD 75 FC DD 74 FD 01 R 00 00 01 00 -T 16 01 00 00 06 00 09 EB 3E 00 00 00 00 21 +T 29 01 00 00 08 00 09 EB 3E 00 00 00 00 21 R 00 00 01 00 2B 09 01 00 -T 1D 01 00 00 00 00 00 00 CD 00 00 00 00 DD 6E +T 30 01 00 00 00 00 00 00 CD 00 00 00 00 DD 6E R 00 00 01 00 02 04 01 00 02 09 00 00 -T 24 01 00 00 FC DD 66 FD 7E 23 B6 28 1B +T 37 01 00 00 FC DD 66 FD 7E 23 B6 28 1B R 00 00 01 00 -T 2D 01 00 00 +T 40 01 00 00 R 00 00 01 00 -T 2D 01 00 00 DD 6E FC DD 66 FD 5E 23 56 3E +T 40 01 00 00 DD 6E FC DD 66 FD 5E 23 56 3E R 00 00 01 00 -T 37 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 -T 3C 01 00 00 00 00 00 00 DD 6E FC DD 66 FD AF +T 4A 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 +T 4F 01 00 00 00 00 00 00 DD 6E FC DD 66 FD AF R 00 00 01 00 02 04 00 00 -T 45 01 00 00 77 23 77 +T 58 01 00 00 77 23 77 R 00 00 01 00 -T 48 01 00 00 +T 5B 01 00 00 R 00 00 01 00 -T 48 01 00 00 DD 6E FC DD 66 FD 23 23 7E 23 B6 +T 5B 01 00 00 DD 6E FC DD 66 FD 23 23 7E 23 B6 R 00 00 01 00 -T 53 01 00 00 28 1F +T 66 01 00 00 28 1F R 00 00 01 00 -T 55 01 00 00 +T 68 01 00 00 R 00 00 01 00 -T 55 01 00 00 DD 6E FC DD 66 FD 23 23 5E 23 56 +T 68 01 00 00 DD 6E FC DD 66 FD 23 23 5E 23 56 R 00 00 01 00 -T 60 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0C 00 02 0A 0C 00 -T 66 01 00 00 00 00 00 00 DD 6E FC DD 66 FD 23 +T 73 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0D 00 02 0A 0D 00 +T 79 01 00 00 00 00 00 00 DD 6E FC DD 66 FD 23 R 00 00 01 00 02 04 00 00 -T 6F 01 00 00 23 AF 77 23 77 +T 82 01 00 00 23 AF 77 23 77 R 00 00 01 00 -T 74 01 00 00 +T 87 01 00 00 R 00 00 01 00 -T 74 01 00 00 21 04 00 DD 4E FC DD 46 FD 09 7E +T 87 01 00 00 21 04 00 DD 4E FC DD 46 FD 09 7E R 00 00 01 00 -T 7F 01 00 00 23 B6 28 1D +T 92 01 00 00 23 B6 28 1D R 00 00 01 00 -T 83 01 00 00 +T 96 01 00 00 R 00 00 01 00 -T 83 01 00 00 21 04 00 DD 4E FC DD 46 FD 09 5E +T 96 01 00 00 21 04 00 DD 4E FC DD 46 FD 09 5E R 00 00 01 00 -T 8E 01 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0C 00 -T 93 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0C 00 02 09 00 00 -T 99 01 00 00 04 00 09 AF 77 23 77 +T A1 01 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 0D 00 +T A6 01 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 0D 00 02 09 00 00 +T AC 01 00 00 04 00 09 AF 77 23 77 R 00 00 01 00 -T A0 01 00 00 +T B3 01 00 00 R 00 00 01 00 -T A0 01 00 00 21 24 00 DD 4E 02 DD 46 03 09 5E +T B3 01 00 00 21 06 00 DD 4E FC DD 46 FD 09 7E R 00 00 01 00 -T AB 01 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0C 00 -T B0 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0C 00 02 09 00 00 -T B6 01 00 00 24 00 09 AF 77 23 77 +T BE 01 00 00 23 B6 28 1D +R 00 00 01 00 +T C2 01 00 00 +R 00 00 01 00 +T C2 01 00 00 21 06 00 DD 4E FC DD 46 FD 09 5E R 00 00 01 00 -T BD 01 00 00 +T CD 01 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 0D 00 +T D2 01 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 0D 00 02 09 00 00 +T D8 01 00 00 06 00 09 AF 77 23 77 R 00 00 01 00 -T BD 01 00 00 21 1C 00 DD 4E 02 DD 46 03 09 5E +T DF 01 00 00 R 00 00 01 00 -T C8 01 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0A 00 -T CD 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 02 09 00 00 -T D3 01 00 00 1C 00 09 AF 77 23 77 01 24 00 11 +T DF 01 00 00 21 24 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 -T DE 01 00 00 01 00 3E 00 00 00 00 21 +T EA 01 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 0D 00 +T EF 01 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 0D 00 02 09 00 00 +T F5 01 00 00 24 00 09 AF 77 23 77 +R 00 00 01 00 +T FC 01 00 00 +R 00 00 01 00 +T FC 01 00 00 21 1C 00 DD 4E 02 DD 46 03 09 5E +R 00 00 01 00 +T 07 02 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 0C 00 +T 0C 02 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 0C 00 02 09 00 00 +T 12 02 00 00 1C 00 09 AF 77 23 77 01 26 00 11 +R 00 00 01 00 +T 1D 02 00 00 01 00 3E 00 00 00 00 21 R 00 00 01 00 2B 07 11 00 -T E3 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +T 22 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 11 00 02 09 00 00 -T EA 01 00 00 FC DD 74 FD 21 24 00 DD 4E 02 DD +T 29 02 00 00 FC DD 74 FD 21 24 00 DD 4E 02 DD R 00 00 01 00 -T F5 01 00 00 46 03 09 DD 5E FC DD 56 FD 73 23 +T 34 02 00 00 46 03 09 DD 5E FC DD 56 FD 73 23 R 00 00 01 00 -T 00 02 00 00 72 21 26 00 09 36 00 00 00 00 23 -R 00 00 01 00 0B 0A 12 00 -T 08 02 00 00 36 00 00 00 00 23 36 00 00 00 00 -R 00 00 01 00 8B 05 12 00 2B 0B 12 00 -T 0D 02 00 00 DD 6E 0C DD 66 0D E5 DD 6E 0A DD +T 3F 02 00 00 72 21 26 00 09 36 00 00 00 00 23 +R 00 00 01 00 0B 0A 15 00 +T 47 02 00 00 36 00 00 00 00 23 36 00 00 00 00 +R 00 00 01 00 8B 05 15 00 2B 0B 15 00 +T 4C 02 00 00 DD 6E 0C DD 66 0D E5 DD 6E 0A DD R 00 00 01 00 -T 18 02 00 00 66 0B E5 21 06 00 19 EB 3E +T 57 02 00 00 66 0B E5 21 08 00 19 EB 3E R 00 00 01 00 -T 21 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 26 02 00 00 00 00 00 00 E1 E1 21 10 00 DD 5E +T 60 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T 65 02 00 00 00 00 00 00 E1 E1 21 12 00 DD 5E R 00 00 01 00 02 04 00 00 -T 2F 02 00 00 FC DD 56 FD 19 36 00 00 00 00 23 -R 00 00 01 00 0B 0A 08 00 -T 37 02 00 00 36 00 00 00 00 23 36 00 00 00 00 -R 00 00 01 00 8B 05 08 00 2B 0B 08 00 -T 3C 02 00 00 21 13 00 19 71 23 70 DD 7E 0A DD +T 6E 02 00 00 FC DD 56 FD 19 36 00 00 00 00 23 +R 00 00 01 00 0B 0A 0A 00 +T 76 02 00 00 36 00 00 00 00 23 36 00 00 00 00 +R 00 00 01 00 8B 05 0A 00 2B 0B 0A 00 +T 7B 02 00 00 21 15 00 19 71 23 70 DD 7E 0A DD R 00 00 01 00 -T 47 02 00 00 B6 0B DD B6 0C DD B6 0D CA +T 86 02 00 00 B6 0B DD B6 0C DD B6 0D CA R 00 00 01 00 -T 50 02 00 00 16 03 00 00 +T 8F 02 00 00 7C 03 00 00 R 00 00 01 00 00 04 01 00 -T 52 02 00 00 +T 91 02 00 00 R 00 00 01 00 -T 52 02 00 00 DD 6E 10 DD 66 11 5E 23 56 3E +T 91 02 00 00 DD 6E 10 DD 66 11 5E 23 56 3E R 00 00 01 00 -T 5C 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 61 02 00 00 00 00 00 00 E5 DD 6E FC DD 66 FD +T 9B 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 09 00 02 09 09 00 +T A0 02 00 00 00 00 00 00 E5 DD 6E FC DD 66 FD R 00 00 01 00 02 04 00 00 -T 6A 02 00 00 C1 71 23 70 DD 6E FC DD 66 FD 23 +T A9 02 00 00 C1 71 23 70 DD 6E FC DD 66 FD 23 +R 00 00 01 00 +T B4 02 00 00 23 E5 DD 4E 10 DD 46 11 03 03 0A +R 00 00 01 00 +T BF 02 00 00 5F 03 0A 57 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 09 00 +T C6 02 00 00 00 00 00 00 CD 00 00 00 00 4D 44 +R 00 00 01 00 02 04 09 00 02 09 00 00 +T CD 02 00 00 E1 71 23 70 21 04 00 DD 4E FC DD R 00 00 01 00 -T 75 02 00 00 23 E5 DD 4E 10 DD 46 11 03 03 0A +T D8 02 00 00 46 FD 09 E5 21 04 00 DD 5E 10 DD +R 00 00 01 00 +T E3 02 00 00 56 11 19 5E 23 56 3E 00 00 00 00 +R 00 00 01 00 2B 0B 09 00 +T EB 02 00 00 21 00 00 00 00 CD 00 00 00 00 EB +R 00 00 01 00 02 05 09 00 02 0A 00 00 +T F2 02 00 00 E1 73 23 72 21 06 00 09 E5 21 +R 00 00 01 00 +T FC 02 00 00 06 00 DD 5E 10 DD 56 11 19 5E 23 +R 00 00 01 00 +T 07 03 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 09 00 02 0B 09 00 +T 0D 03 00 00 CD 00 00 00 00 EB E1 73 23 72 21 +R 00 00 01 00 02 05 00 00 +T 16 03 00 00 06 00 09 7E 23 B6 28 5E R 00 00 01 00 -T 80 02 00 00 5F 03 0A 57 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 07 00 -T 87 02 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 07 00 02 09 00 00 -T 8E 02 00 00 E1 71 23 70 21 04 00 DD 4E FC DD +T 1E 03 00 00 +R 00 00 01 00 +T 1E 03 00 00 01 00 00 00 00 DD 5E 02 DD 56 03 +R 00 00 01 00 00 05 02 00 +T 27 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 06 00 02 0A 06 00 +T 2D 03 00 00 00 00 00 00 DD 75 FE DD 74 FF 21 +R 00 00 01 00 02 04 00 00 +T 36 03 00 00 1C 00 DD 4E 02 DD 46 03 09 E5 11 +R 00 00 01 00 +T 41 03 00 00 00 00 D5 11 00 00 D5 C5 21 2C 00 +R 00 00 01 00 +T 4C 03 00 00 DD 4E 02 DD 46 03 09 4E 23 46 C5 +R 00 00 01 00 +T 57 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 02 00 02 0B 02 00 +T 5D 03 00 00 E5 01 00 02 DD 5E FE DD 56 FF 3E +R 00 00 01 00 +T 68 03 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 18 00 02 09 18 00 +T 6D 03 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB +R 00 00 01 00 02 04 00 00 +T 76 03 00 00 4D 44 E1 71 23 70 R 00 00 01 00 -T 99 02 00 00 46 FD 09 E5 21 04 00 DD 4E 10 DD +T 7C 03 00 00 R 00 00 01 00 -T A4 02 00 00 46 11 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 -T AC 02 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 07 00 02 0A 00 00 -T B3 02 00 00 44 E1 71 23 70 01 00 00 00 00 DD -R 00 00 01 00 00 0A 02 00 -T BC 02 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 04 00 -T C4 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 04 00 02 09 00 00 -T CB 02 00 00 FE DD 74 FF 21 1C 00 DD 4E 02 DD +T 7C 03 00 00 R 00 00 01 00 -T D6 02 00 00 46 03 09 E5 11 00 00 D5 11 00 00 +T 7C 03 00 00 DD 6E FC DD 66 FD 7E 23 B6 28 17 R 00 00 01 00 -T E1 02 00 00 D5 C5 21 2C 00 DD 4E 02 DD 46 03 +T 87 03 00 00 R 00 00 01 00 -T EC 02 00 00 09 4E 23 46 C5 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 02 00 -T F4 02 00 00 21 00 00 00 00 E5 01 00 03 DD 5E -R 00 00 01 00 02 05 02 00 -T FD 02 00 00 FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 15 00 -T 04 03 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 15 00 02 09 00 00 -T 0B 03 00 00 0C 00 39 F9 EB 4D 44 E1 71 23 70 +T 87 03 00 00 DD 6E FC DD 66 FD 4E 23 46 DD 5E R 00 00 01 00 -T 16 03 00 00 +T 92 03 00 00 02 DD 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 14 00 +T 99 03 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 +T 9E 03 00 00 R 00 00 01 00 -T 16 03 00 00 21 00 00 +T 9E 03 00 00 21 00 00 R 00 00 01 00 -T 19 03 00 00 +T A1 03 00 00 R 00 00 01 00 -T 19 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 06 00 +T A1 03 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 07 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 20 61 6E 73 77 65 72 65 72 00 diff --git a/src/nos/lib/ppp_lib/sd_stat.rel b/src/nos/lib/ppp_lib/sd_stat.rel index d0291bba..1e311615 100644 --- a/src/nos/lib/ppp_lib/sd_stat.rel +++ b/src/nos/lib/ppp_lib/sd_stat.rel @@ -1,33 +1,32 @@ XL4 -H 3 areas 15 global symbols -S ___0602_f303_up_20script_3a_20_2 Ref00000000 -S ___030d_7f27_No_20dialer_20activ Ref00000000 +H 3 areas 14 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S _printf Ref00000000 +S ___00db_8c07__20idle_20timer_20_ Ref00000000 +S ___037c_7f27_No_20dialer_20activ Ref00000000 +S ___0184_35bd__25s_3a_20_25s_2c Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___00c2_8c07__20idle_20timer_20_ Ref00000000 -S ___01fc_0e64_Calls_20originated_ Ref00000000 +S ___051b_e0fd_down_20script_3a_20 Ref00000000 +S _Esccchan Ref00000000 S _read_timer Ref00000000 +S ___049f_c2a0_answer_20script_3a_ Ref00000000 S .__.ABS. Def00000000 -S ___01fd_9777_Calls_20timed_20out Ref00000000 S ?L_MUL_L03 Ref00000000 -S ___0409_c2a0_answer_20script_3a_ Ref00000000 -S ___0480_e0fd_down_20script_3a_20 Ref00000000 +S ___022e_0e64_Calls_20originated_ Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ?S_MUL_L02 Ref00000000 -S _Asy Ref00000000 S ?SL_DIV_L03 Ref00000000 +S ___022f_9777_Calls_20timed_20out Ref00000000 S __printf Ref00000000 +S ___06e0_f303_up_20script_3a_20_2 Ref00000000 +S ___057a_155a_init_20script_3a_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___015b_35bd__25s_3a_20_25s_2c Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 20B flags 0 +A CODE size 21E flags 0 S _sd_stat Def00000000 -A CSTR size 16 flags 0 +A CSTR size 8 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF 21 24 00 DD -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0C 00 T 09 00 00 00 4E 02 DD 46 03 09 46 23 66 68 DD R 00 00 01 00 T 14 00 00 00 75 FC DD 74 FD 7D B4 20 24 @@ -37,164 +36,168 @@ R 00 00 01 00 T 1D 00 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 R 00 00 01 00 T 28 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 01 00 +R 00 00 01 00 2B 06 02 00 T 2D 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 01 00 2B 0A 11 00 +R 00 00 01 00 02 04 02 00 2B 0A 0F 00 T 33 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 11 00 02 09 02 00 -T 3A 00 00 00 F1 21 01 00 C3 08 02 00 00 +R 00 00 01 00 02 04 0F 00 02 09 00 00 +T 3A 00 00 00 F1 21 01 00 C3 1B 02 00 00 R 00 00 01 00 00 09 01 00 T 41 00 00 00 R 00 00 01 00 -T 41 00 00 00 21 2C 00 DD 4E 02 DD 46 03 09 5E +T 41 00 00 00 21 2C 00 DD 4E 02 DD 46 03 09 56 R 00 00 01 00 -T 4C 00 00 00 23 56 01 5A 00 CD 00 00 00 00 21 -R 00 00 01 00 02 0A 0E 00 -T 55 00 00 00 00 00 00 00 19 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 0F 00 -T 5E 00 00 00 01 29 00 09 7E E6 04 28 05 21 +T 4C 00 00 00 23 66 6A 29 11 00 00 00 00 19 56 +R 00 00 01 00 02 09 06 00 +T 55 00 00 00 23 66 6A DD 75 FE DD 74 FF 11 +R 00 00 01 00 +T 5F 00 00 00 24 00 19 7E E6 08 28 05 21 R 00 00 01 00 T 68 00 00 00 00 00 00 00 18 03 R 00 00 01 00 00 04 02 00 T 6C 00 00 00 R 00 00 01 00 -T 6C 00 00 00 21 05 00 00 00 +T 6C 00 00 00 21 03 00 00 00 R 00 00 01 00 00 05 02 00 T 6F 00 00 00 R 00 00 01 00 T 6F 00 00 00 E5 DD 6E 02 DD 66 03 23 23 4E 23 R 00 00 01 00 T 7A 00 00 00 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 07 13 00 +R 00 00 01 00 2B 07 03 00 T 80 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 13 00 2B 0A 11 00 +R 00 00 01 00 02 04 03 00 2B 0A 0F 00 T 86 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 11 00 02 09 02 00 -T 8D 00 00 00 F1 F1 21 29 00 DD 4E FE DD 46 FF -R 00 00 01 00 -T 98 00 00 00 09 4E 06 00 C5 21 08 00 00 00 E5 -R 00 00 01 00 00 0A 02 00 -T A1 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 -T A7 00 00 00 00 00 00 00 F1 F1 21 00 00 E5 21 -R 00 00 01 00 02 04 02 00 -T B0 00 00 00 E8 03 E5 21 06 00 DD 4E FC DD 46 -R 00 00 01 00 -T BB 00 00 00 FD 09 23 23 5E 23 56 23 4E 23 46 -R 00 00 01 00 -T C6 00 00 00 C5 D5 01 00 00 21 37 00 CD -R 00 00 01 00 -T CF 00 00 00 00 00 00 00 CD 00 00 00 00 C5 E5 -R 00 00 01 00 02 04 0A 00 02 09 10 00 -T D6 00 00 00 21 00 00 E5 21 E8 03 E5 21 06 00 +R 00 00 01 00 02 04 0F 00 02 09 00 00 +T 8D 00 00 00 F1 F1 21 00 00 E5 21 E8 03 E5 21 +R 00 00 01 00 +T 98 00 00 00 08 00 DD 4E FC DD 46 FD 09 23 23 +R 00 00 01 00 +T A3 00 00 00 5E 23 56 23 4E 23 46 C5 D5 01 +R 00 00 01 00 +T AD 00 00 00 00 00 21 37 00 CD 00 00 00 00 CD +R 00 00 01 00 02 0A 0A 00 +T B6 00 00 00 00 00 00 00 C5 E5 21 00 00 E5 21 +R 00 00 01 00 02 04 0D 00 +T BF 00 00 00 E8 03 E5 21 08 00 DD 4E FC DD 46 +R 00 00 01 00 +T CA 00 00 00 FD 09 EB 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 07 00 +T D0 00 00 00 00 00 00 00 CD 00 00 00 00 CD +R 00 00 01 00 02 04 07 00 02 09 00 00 +T D6 00 00 00 00 00 00 00 C5 E5 0E 00 00 00 00 +R 00 00 01 00 02 04 0D 00 2B 0B 01 00 +T DC 00 00 00 C5 21 00 00 00 00 E5 3E +R 00 00 01 00 02 06 01 00 +T E2 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0F 00 02 09 0F 00 +T E7 00 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB +R 00 00 01 00 02 04 00 00 +T F0 00 00 00 DD 6E FC DD 66 FD 7E 23 B6 28 1C +R 00 00 01 00 +T FB 00 00 00 +R 00 00 01 00 +T FB 00 00 00 DD 6E FC DD 66 FD 4E 23 46 C5 0E +R 00 00 01 00 +T 06 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 11 00 02 0A 11 00 +T 0C 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0F 00 02 0A 0F 00 +T 12 01 00 00 00 00 00 00 F1 F1 F1 +R 00 00 01 00 02 04 00 00 +T 17 01 00 00 R 00 00 01 00 -T E1 00 00 00 DD 4E FC DD 46 FD 09 EB 3E +T 17 01 00 00 DD 6E FC DD 66 FD 23 23 7E 23 B6 R 00 00 01 00 -T EA 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T EF 00 00 00 00 00 00 00 CD 00 00 00 00 C5 E5 -R 00 00 01 00 02 04 02 00 02 09 10 00 -T F6 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 05 00 02 0B 05 00 -T FC 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 11 00 02 0B 11 00 -T 02 01 00 00 CD 00 00 00 00 EB 21 0C 00 39 F9 -R 00 00 01 00 02 05 02 00 -T 0B 01 00 00 EB DD 6E FC DD 66 FD 7E 23 B6 28 +T 22 01 00 00 28 1E R 00 00 01 00 -T 16 01 00 00 1C +T 24 01 00 00 R 00 00 01 00 -T 17 01 00 00 +T 24 01 00 00 DD 6E FC DD 66 FD 23 23 4E 23 46 R 00 00 01 00 -T 17 01 00 00 DD 6E FC DD 66 FD 4E 23 46 C5 0E +T 2F 01 00 00 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 06 10 00 +T 34 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 10 00 2B 0A 0F 00 +T 3A 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 0F 00 02 09 00 00 +T 41 01 00 00 F1 R 00 00 01 00 -T 22 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 00 00 02 0A 00 00 -T 28 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 11 00 02 0A 11 00 -T 2E 01 00 00 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 04 02 00 -T 33 01 00 00 +T 42 01 00 00 R 00 00 01 00 -T 33 01 00 00 DD 6E FC DD 66 FD 23 23 7E 23 B6 +T 42 01 00 00 21 04 00 DD 4E FC DD 46 FD 09 7E R 00 00 01 00 -T 3E 01 00 00 28 1E +T 4D 01 00 00 23 B6 28 20 R 00 00 01 00 -T 40 01 00 00 +T 51 01 00 00 R 00 00 01 00 -T 40 01 00 00 DD 6E FC DD 66 FD 23 23 4E 23 46 +T 51 01 00 00 21 04 00 DD 4E FC DD 46 FD 09 4E R 00 00 01 00 -T 4B 01 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 0C 00 -T 50 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0C 00 2B 0A 11 00 -T 56 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 11 00 02 09 02 00 -T 5D 01 00 00 F1 +T 5C 01 00 00 23 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 05 00 +T 63 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 05 00 2B 0A 0F 00 +T 69 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 0F 00 02 09 00 00 +T 70 01 00 00 F1 R 00 00 01 00 -T 5E 01 00 00 +T 71 01 00 00 R 00 00 01 00 -T 5E 01 00 00 21 04 00 DD 4E FC DD 46 FD 09 7E +T 71 01 00 00 21 06 00 DD 4E FC DD 46 FD 09 7E R 00 00 01 00 -T 69 01 00 00 23 B6 28 20 +T 7C 01 00 00 23 B6 28 20 R 00 00 01 00 -T 6D 01 00 00 +T 80 01 00 00 R 00 00 01 00 -T 6D 01 00 00 21 04 00 DD 4E FC DD 46 FD 09 4E +T 80 01 00 00 21 06 00 DD 4E FC DD 46 FD 09 4E R 00 00 01 00 -T 78 01 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 0B 00 -T 7F 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0B 00 2B 0A 11 00 -T 85 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 11 00 02 09 02 00 -T 8C 01 00 00 F1 +T 8B 01 00 00 23 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 08 00 +T 92 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 08 00 2B 0A 0F 00 +T 98 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 0F 00 02 09 00 00 +T 9F 01 00 00 F1 R 00 00 01 00 -T 8D 01 00 00 +T A0 01 00 00 R 00 00 01 00 -T 8D 01 00 00 21 1A 00 DD 4E FC DD 46 FD 09 5E +T A0 01 00 00 21 1C 00 DD 4E FC DD 46 FD 09 5E R 00 00 01 00 -T 98 01 00 00 23 56 23 4E 23 46 C5 D5 21 16 00 +T AB 01 00 00 23 56 23 4E 23 46 C5 D5 21 18 00 R 00 00 01 00 -T A3 01 00 00 DD 4E FC DD 46 FD 09 5E 23 56 23 +T B6 01 00 00 DD 4E FC DD 46 FD 09 5E 23 56 23 R 00 00 01 00 -T AE 01 00 00 4E 23 46 C5 D5 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 06 00 -T B6 01 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 06 00 2B 0B 11 00 -T BC 01 00 00 21 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 11 00 02 0A 02 00 -T C3 01 00 00 21 0C 00 39 F9 EB 21 52 00 DD 4E +T C1 01 00 00 4E 23 46 C5 D5 0E 00 00 00 00 C5 +R 00 00 01 00 2B 0A 0B 00 +T C9 01 00 00 21 00 00 00 00 E5 3E 00 00 00 00 +R 00 00 01 00 02 05 0B 00 2B 0B 0F 00 +T CF 01 00 00 21 00 00 00 00 CD 00 00 00 00 EB +R 00 00 01 00 02 05 0F 00 02 0A 00 00 +T D6 01 00 00 21 0C 00 39 F9 EB 21 6D 00 DD 4E R 00 00 01 00 -T CE 01 00 00 FE DD 46 FF 09 4E 23 46 23 5E 23 +T E1 01 00 00 FE DD 46 FF 09 4E 23 46 23 5E 23 R 00 00 01 00 -T D9 01 00 00 56 D5 C5 21 1E 00 DD 4E FC DD 46 +T EC 01 00 00 56 D5 C5 21 20 00 DD 4E FC DD 46 R 00 00 01 00 -T E4 01 00 00 FD 09 4E 23 46 23 5E 23 56 D5 C5 +T F7 01 00 00 FD 09 4E 23 46 23 5E 23 56 D5 C5 R 00 00 01 00 -T EF 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 09 00 02 0B 09 00 -T F5 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 11 00 02 0B 11 00 -T FB 01 00 00 CD 00 00 00 00 EB 21 0C 00 39 F9 -R 00 00 01 00 02 05 02 00 -T 04 02 00 00 EB 21 00 00 +T 02 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +T 08 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 +T 0E 02 00 00 CD 00 00 00 00 EB 21 0C 00 39 F9 +R 00 00 01 00 02 05 00 00 +T 17 02 00 00 EB 21 00 00 R 00 00 01 00 -T 08 02 00 00 +T 1B 02 00 00 R 00 00 01 00 -T 08 02 00 00 C3 00 00 00 00 +T 1B 02 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 04 00 T 00 00 00 00 R 00 00 02 00 -T 00 00 00 00 44 4F 57 4E 00 -R 00 00 02 00 -T 05 00 00 00 -R 00 00 02 00 -T 05 00 00 00 55 50 00 -R 00 00 02 00 -T 08 00 00 00 +T 00 00 00 00 55 50 00 R 00 00 02 00 -T 08 00 00 00 31 3A 20 73 74 61 74 3D 30 78 25 +T 03 00 00 00 R 00 00 02 00 -T 13 00 00 00 78 0A 00 +T 03 00 00 00 44 4F 57 4E 00 R 00 00 02 00 diff --git a/src/nos/lib/ppp_lib/slhc_compress.rel b/src/nos/lib/ppp_lib/slhc_compress.rel index e4d39167..e52686d1 100644 --- a/src/nos/lib/ppp_lib/slhc_compress.rel +++ b/src/nos/lib/ppp_lib/slhc_compress.rel @@ -20,15 +20,15 @@ S ?CL64180B_4_06_L00 Ref00000000 S _pushdown Ref00000000 S _memcmp Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 94D flags 0 +A CODE size A18 flags 0 S _slhc_compress Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 78 FF 21 00 00 39 +T 00 00 00 00 CD 00 00 00 00 4E FF 21 00 00 39 R 00 00 01 00 02 05 0B 00 T 09 00 00 00 E5 21 06 00 DD 5E 02 DD 56 03 19 R 00 00 01 00 -T 14 00 00 00 4E 06 00 11 61 00 CD 00 00 00 00 +T 14 00 00 00 4E 06 00 11 8A 00 CD 00 00 00 00 R 00 00 01 00 02 0B 0C 00 T 1D 00 00 00 DD 6E 02 DD 66 03 46 23 66 68 19 R 00 00 01 00 @@ -38,673 +38,713 @@ T 33 00 00 00 21 02 00 39 4E 23 46 E1 71 23 70 R 00 00 01 00 T 3E 00 00 00 21 04 00 39 E5 21 04 00 39 46 23 R 00 00 01 00 -T 49 00 00 00 66 68 23 4E 23 46 E1 71 23 70 AF +T 49 00 00 00 66 68 23 4E 23 46 E1 71 23 70 21 R 00 00 01 00 -T 54 00 00 00 DD 77 8C DD 77 8D 21 16 00 39 DD +T 54 00 00 00 14 00 39 AF 77 23 77 21 26 00 39 R 00 00 01 00 -T 5F 00 00 00 75 9E DD 74 9F 01 78 00 DD 6E 04 +T 5F 00 00 00 E5 21 18 00 39 4D 44 E1 71 23 70 R 00 00 01 00 -T 6A 00 00 00 DD 66 05 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 04 00 -T 72 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 04 00 02 0A 02 00 -T 79 00 00 00 75 FE DD 74 FF 21 08 00 39 E5 21 +T 6A 00 00 00 01 78 00 DD 6E 04 DD 66 05 5E 23 R 00 00 01 00 -T 84 00 00 00 08 00 39 E5 21 8A 00 39 4D 44 21 +T 75 00 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 04 00 02 0B 04 00 +T 7B 00 00 00 CD 00 00 00 00 DD 75 FD DD 74 FE +R 00 00 01 00 02 05 02 00 +T 84 00 00 00 21 08 00 39 E5 21 08 00 39 E5 21 +R 00 00 01 00 +T 8F 00 00 00 B3 00 39 4D 44 21 74 00 39 5D 54 R 00 00 01 00 -T 8F 00 00 00 4B 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 06 00 -T 97 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 06 00 02 09 02 00 -T 9E 00 00 00 E1 71 23 70 E1 71 23 70 DD 7E D4 +T 9A 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 06 00 02 0A 06 00 +T A0 00 00 00 00 00 00 00 4D 44 E1 71 23 70 E1 +R 00 00 01 00 02 04 02 00 +T A9 00 00 00 71 23 70 DD 7E D3 FE 06 20 18 DD R 00 00 01 00 -T A9 00 00 00 FE 06 20 18 DD 6E CB DD 66 CC 7D +T B4 00 00 00 6E CA DD 66 CB 7D B4 20 0E DD 7E R 00 00 01 00 -T B4 00 00 00 B4 20 0E DD 7E CF E6 04 47 DD 7E +T BF 00 00 00 CE E6 04 47 DD 7E CF E6 00 B0 28 R 00 00 01 00 -T BF 00 00 00 D0 E6 00 B0 28 37 +T CA 00 00 00 37 R 00 00 01 00 -T C5 00 00 00 +T CB 00 00 00 R 00 00 01 00 -T C5 00 00 00 +T CB 00 00 00 R 00 00 01 00 -T C5 00 00 00 +T CB 00 00 00 R 00 00 01 00 -T C5 00 00 00 DD 7E D4 FE 06 28 0F +T CB 00 00 00 DD 7E D3 FE 06 28 0F R 00 00 01 00 -T CC 00 00 00 +T D2 00 00 00 R 00 00 01 00 -T CC 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 CD +T D2 00 00 00 21 0A 00 DD 4E 02 DD 46 03 09 CD R 00 00 01 00 -T D7 00 00 00 00 00 00 00 18 0D +T DD 00 00 00 00 00 00 00 18 0D R 00 00 01 00 02 04 0D 00 -T DB 00 00 00 +T E1 00 00 00 R 00 00 01 00 -T DB 00 00 00 21 0E 00 DD 4E 02 DD 46 03 09 CD +T E1 00 00 00 21 0E 00 DD 4E 02 DD 46 03 09 CD R 00 00 01 00 -T E6 00 00 00 00 00 00 00 +T EC 00 00 00 00 00 00 00 R 00 00 01 00 02 04 0D 00 -T E8 00 00 00 +T EE 00 00 00 R 00 00 01 00 -T E8 00 00 00 21 86 00 39 5D 54 3E 00 00 00 00 +T EE 00 00 00 21 AF 00 39 5D 54 3E 00 00 00 00 R 00 00 01 00 2B 0B 0F 00 -T F0 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 +T F6 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 0F 00 02 0A 02 00 -T F7 00 00 00 40 00 C3 4A 09 00 00 +T FD 00 00 00 40 00 C3 15 0A 00 00 R 00 00 01 00 00 07 01 00 -T FC 00 00 00 +T 02 01 00 00 R 00 00 01 00 -T FC 00 00 00 21 86 00 39 4D 44 21 28 00 39 5D +T 02 01 00 00 21 AF 00 39 4D 44 21 28 00 39 5D R 00 00 01 00 -T 07 01 00 00 54 3E 00 00 00 00 21 00 00 00 00 +T 0D 01 00 00 54 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 01 00 02 0B 01 00 -T 0D 01 00 00 CD 00 00 00 00 4D 44 21 06 00 39 +T 13 01 00 00 CD 00 00 00 00 4D 44 21 06 00 39 R 00 00 01 00 02 05 02 00 -T 16 01 00 00 7E 81 77 23 7E 88 77 21 86 00 39 +T 1C 01 00 00 7E 81 77 23 7E 88 77 21 AF 00 39 R 00 00 01 00 -T 21 01 00 00 5D 54 3E 00 00 00 00 21 +T 27 01 00 00 5D 54 3E 00 00 00 00 21 R 00 00 01 00 2B 07 0F 00 -T 26 01 00 00 00 00 00 00 CD 00 00 00 00 DD 7E +T 2C 01 00 00 00 00 00 00 CD 00 00 00 00 DD 7E R 00 00 01 00 02 04 0F 00 02 09 02 00 -T 2D 01 00 00 BD E6 20 47 DD 7E BE E6 00 B0 20 +T 33 01 00 00 93 E6 20 47 DD 7E 94 E6 00 B0 20 R 00 00 01 00 -T 38 01 00 00 54 DD 7E BD E6 40 47 DD 7E BE E6 +T 3E 01 00 00 54 DD 7E 93 E6 40 47 DD 7E 94 E6 R 00 00 01 00 -T 43 01 00 00 00 B0 20 46 DD 7E BD E6 10 47 DD +T 49 01 00 00 00 B0 20 46 DD 7E 93 E6 10 47 DD R 00 00 01 00 -T 4E 01 00 00 7E BE E6 00 B0 20 38 DD 7E BD E6 +T 54 01 00 00 7E 94 E6 00 B0 20 38 DD 7E 93 E6 R 00 00 01 00 -T 59 01 00 00 04 47 DD 7E BE E6 00 B0 28 2A DD +T 5F 01 00 00 04 47 DD 7E 94 E6 00 B0 28 2A DD R 00 00 01 00 -T 64 01 00 00 7E BD E6 80 47 DD 7E BE E6 00 B0 +T 6A 01 00 00 7E 93 E6 80 47 DD 7E 94 E6 00 B0 R 00 00 01 00 -T 6F 01 00 00 20 1C DD 7E BD E6 00 47 DD 7E BE +T 75 01 00 00 20 1C DD 7E 93 E6 00 47 DD 7E 94 R 00 00 01 00 -T 7A 01 00 00 E6 01 B0 20 0E DD 7E BD E6 00 47 +T 80 01 00 00 E6 01 B0 20 0E DD 7E 93 E6 00 47 R 00 00 01 00 -T 85 01 00 00 DD 7E BE E6 02 B0 28 13 +T 8B 01 00 00 DD 7E 94 E6 02 B0 28 13 R 00 00 01 00 -T 8D 01 00 00 +T 93 01 00 00 R 00 00 01 00 -T 8D 01 00 00 +T 93 01 00 00 R 00 00 01 00 -T 8D 01 00 00 +T 93 01 00 00 R 00 00 01 00 -T 8D 01 00 00 21 0E 00 DD 4E 02 DD 46 03 09 CD +T 93 01 00 00 21 0E 00 DD 4E 02 DD 46 03 09 CD R 00 00 01 00 -T 98 01 00 00 00 00 00 00 21 40 00 C3 +T 9E 01 00 00 00 00 00 00 21 40 00 C3 R 00 00 01 00 02 04 0D 00 -T 9E 01 00 00 4A 09 00 00 +T A4 01 00 00 15 0A 00 00 R 00 00 01 00 00 04 01 00 -T A0 01 00 00 +T A6 01 00 00 R 00 00 01 00 -T A0 01 00 00 +T A6 01 00 00 R 00 00 01 00 -T A0 01 00 00 21 04 00 39 46 23 66 68 23 23 23 +T A6 01 00 00 21 04 00 39 46 23 66 68 23 23 23 R 00 00 01 00 -T AB 01 00 00 4E 23 46 23 5E 23 56 69 60 DD 4E +T B1 01 00 00 4E 23 46 23 5E 23 56 69 60 DD 4E R 00 00 01 00 -T B6 01 00 00 BF DD 46 C0 A7 ED 42 20 71 EB DD +T BC 01 00 00 BE DD 46 BF A7 ED 42 20 77 EB DD R 00 00 01 00 -T C1 01 00 00 4E C1 DD 46 C2 ED 42 20 66 21 +T C7 01 00 00 4E C0 DD 46 C1 ED 42 20 6C 21 R 00 00 01 00 -T CB 01 00 00 07 00 E5 21 06 00 39 4E 23 46 E1 +T D1 01 00 00 07 00 E5 21 06 00 39 4E 23 46 E1 R 00 00 01 00 -T D6 01 00 00 09 4E 23 46 23 5E 23 56 69 60 DD +T DC 01 00 00 09 4E 23 46 23 5E 23 56 69 60 DD R 00 00 01 00 -T E1 01 00 00 4E C3 DD 46 C4 A7 ED 42 20 45 EB +T E7 01 00 00 4E C2 DD 46 C3 A7 ED 42 20 4B EB R 00 00 01 00 -T EC 01 00 00 DD 4E C5 DD 46 C6 ED 42 20 3A 21 +T F2 01 00 00 DD 4E C4 DD 46 C5 ED 42 20 40 21 R 00 00 01 00 -T F7 01 00 00 42 00 E5 21 06 00 39 4E 23 46 E1 +T FD 01 00 00 42 00 E5 21 06 00 39 4E 23 46 E1 R 00 00 01 00 -T 02 02 00 00 09 46 23 66 68 DD 4E A0 DD 46 A1 +T 08 02 00 00 09 46 23 66 68 E5 21 2A 00 39 4E R 00 00 01 00 -T 0D 02 00 00 A7 ED 42 20 1E 21 44 00 E5 21 +T 13 02 00 00 23 46 E1 A7 ED 42 20 21 21 44 00 R 00 00 01 00 -T 17 02 00 00 06 00 39 4E 23 46 E1 09 46 23 66 +T 1E 02 00 00 E5 21 06 00 39 4E 23 46 E1 09 46 R 00 00 01 00 -T 22 02 00 00 68 DD 4E A2 DD 46 A3 A7 ED 42 20 +T 29 02 00 00 23 66 68 E5 21 2C 00 39 4E 23 46 R 00 00 01 00 -T 2D 02 00 00 02 +T 34 02 00 00 E1 A7 ED 42 20 02 R 00 00 01 00 -T 2E 02 00 00 +T 3A 02 00 00 R 00 00 01 00 -T 2E 02 00 00 +T 3A 02 00 00 R 00 00 01 00 -T 2E 02 00 00 +T 3A 02 00 00 R 00 00 01 00 -T 2E 02 00 00 18 73 +T 3A 02 00 00 18 73 R 00 00 01 00 -T 30 02 00 00 +T 3C 02 00 00 R 00 00 01 00 -T 30 02 00 00 21 00 00 39 46 23 66 68 E5 21 +T 3C 02 00 00 21 00 00 39 46 23 66 68 E5 21 R 00 00 01 00 -T 3A 02 00 00 06 00 39 4E 23 46 E1 A7 ED 42 20 +T 46 02 00 00 06 00 39 4E 23 46 E1 A7 ED 42 20 R 00 00 01 00 -T 45 02 00 00 02 +T 51 02 00 00 02 R 00 00 01 00 -T 46 02 00 00 +T 52 02 00 00 R 00 00 01 00 -T 46 02 00 00 18 35 +T 52 02 00 00 18 35 R 00 00 01 00 -T 48 02 00 00 +T 54 02 00 00 R 00 00 01 00 -T 48 02 00 00 21 02 00 39 E5 21 06 00 39 4E 23 +T 54 02 00 00 21 02 00 39 E5 21 06 00 39 4E 23 R 00 00 01 00 -T 53 02 00 00 46 E1 71 23 70 21 04 00 39 E5 21 +T 5F 02 00 00 46 E1 71 23 70 21 04 00 39 E5 21 R 00 00 01 00 -T 5E 02 00 00 06 00 39 46 23 66 68 23 4E 23 46 +T 6A 02 00 00 06 00 39 46 23 66 68 23 4E 23 46 R 00 00 01 00 -T 69 02 00 00 E1 71 23 70 21 1A 00 DD 4E 02 DD +T 75 02 00 00 E1 71 23 70 21 1A 00 DD 4E 02 DD R 00 00 01 00 -T 74 02 00 00 46 03 09 CD 00 00 00 00 C3 +T 80 02 00 00 46 03 09 CD 00 00 00 00 C3 R 00 00 01 00 02 08 0D 00 -T 7B 02 00 00 A0 01 00 00 +T 87 02 00 00 A6 01 00 00 R 00 00 01 00 00 04 01 00 -T 7D 02 00 00 +T 89 02 00 00 R 00 00 01 00 -T 7D 02 00 00 21 1E 00 DD 4E 02 DD 46 03 09 CD +T 89 02 00 00 21 1E 00 DD 4E 02 DD 46 03 09 CD R 00 00 01 00 -T 88 02 00 00 00 00 00 00 21 06 00 DD 4E 02 DD +T 94 02 00 00 00 00 00 00 21 06 00 DD 4E 02 DD R 00 00 01 00 02 04 0D 00 -T 91 02 00 00 46 03 09 E5 21 04 00 39 7E 23 66 +T 9D 02 00 00 46 03 09 E5 21 04 00 39 7E 23 66 R 00 00 01 00 -T 9C 02 00 00 6F 46 E1 70 C3 C1 08 00 00 +T A8 02 00 00 6F 46 E1 70 C3 8C 09 00 00 R 00 00 01 00 00 09 01 00 -T A3 02 00 00 +T AF 02 00 00 R 00 00 01 00 -T A3 02 00 00 21 00 00 39 46 23 66 68 E5 21 +T AF 02 00 00 21 00 00 39 46 23 66 68 E5 21 R 00 00 01 00 -T AD 02 00 00 04 00 39 4E 23 46 E1 A7 ED 42 20 +T B9 02 00 00 04 00 39 4E 23 46 E1 A7 ED 42 20 R 00 00 01 00 -T B8 02 00 00 02 +T C4 02 00 00 02 R 00 00 01 00 -T B9 02 00 00 +T C5 02 00 00 R 00 00 01 00 -T B9 02 00 00 18 77 +T C5 02 00 00 18 77 R 00 00 01 00 -T BB 02 00 00 +T C7 02 00 00 R 00 00 01 00 -T BB 02 00 00 21 00 00 39 46 23 66 68 E5 21 +T C7 02 00 00 21 00 00 39 46 23 66 68 E5 21 R 00 00 01 00 -T C5 02 00 00 06 00 39 4E 23 46 E1 A7 ED 42 20 +T D1 02 00 00 06 00 39 4E 23 46 E1 A7 ED 42 20 R 00 00 01 00 -T D0 02 00 00 18 +T DC 02 00 00 18 R 00 00 01 00 -T D1 02 00 00 +T DD 02 00 00 R 00 00 01 00 -T D1 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 E5 +T DD 02 00 00 21 06 00 DD 4E 02 DD 46 03 09 E5 R 00 00 01 00 -T DC 02 00 00 21 04 00 39 7E 23 66 6F 46 E1 70 +T E8 02 00 00 21 04 00 39 7E 23 66 6F 46 E1 70 R 00 00 01 00 -T E7 02 00 00 18 49 +T F3 02 00 00 18 49 R 00 00 01 00 -T E9 02 00 00 +T F5 02 00 00 R 00 00 01 00 -T E9 02 00 00 21 02 00 39 46 23 66 68 23 E5 21 +T F5 02 00 00 21 02 00 39 46 23 66 68 23 E5 21 R 00 00 01 00 -T F4 02 00 00 06 00 39 46 23 66 68 23 4E 23 46 +T 00 03 00 00 06 00 39 46 23 66 68 23 4E 23 46 R 00 00 01 00 -T FF 02 00 00 E1 71 23 70 21 04 00 39 46 23 66 +T 0B 03 00 00 E1 71 23 70 21 04 00 39 46 23 66 R 00 00 01 00 -T 0A 03 00 00 68 23 E5 21 02 00 39 46 23 66 68 +T 16 03 00 00 68 23 E5 21 02 00 39 46 23 66 68 R 00 00 01 00 -T 15 03 00 00 23 4E 23 46 E1 71 23 70 21 00 00 +T 21 03 00 00 23 4E 23 46 E1 71 23 70 21 00 00 R 00 00 01 00 -T 20 03 00 00 39 46 23 66 68 23 E5 21 06 00 39 +T 2C 03 00 00 39 46 23 66 68 23 E5 21 06 00 39 R 00 00 01 00 -T 2B 03 00 00 4E 23 46 E1 71 23 70 +T 37 03 00 00 4E 23 46 E1 71 23 70 R 00 00 01 00 -T 32 03 00 00 +T 3E 03 00 00 R 00 00 01 00 -T 32 03 00 00 +T 3E 03 00 00 R 00 00 01 00 -T 32 03 00 00 21 42 00 E5 21 06 00 39 4E 23 46 +T 3E 03 00 00 21 0A 00 39 E5 21 42 00 E5 21 R 00 00 01 00 -T 3D 03 00 00 E1 09 DD 75 82 DD 74 83 21 15 00 +T 48 03 00 00 08 00 39 4E 23 46 E1 09 4D 44 E1 R 00 00 01 00 -T 48 03 00 00 E5 21 06 00 39 4E 23 46 E1 09 7E +T 53 03 00 00 71 23 70 21 15 00 E5 21 06 00 39 R 00 00 01 00 -T 53 03 00 00 DD BE D1 C2 E5 03 00 00 21 19 00 -R 00 00 01 00 00 08 01 00 -T 5C 03 00 00 E5 21 06 00 39 4E 23 46 E1 09 7E +T 5E 03 00 00 4E 23 46 E1 09 7E DD BE D0 C2 R 00 00 01 00 -T 67 03 00 00 DD BE D5 20 79 21 16 00 E5 21 +T 68 03 00 00 F6 03 00 00 21 19 00 E5 21 06 00 +R 00 00 01 00 00 04 01 00 +T 71 03 00 00 39 4E 23 46 E1 09 7E DD BE D4 20 R 00 00 01 00 -T 71 03 00 00 06 00 39 4E 23 46 E1 09 7E DD BE +T 7C 03 00 00 79 21 16 00 E5 21 06 00 39 4E 23 R 00 00 01 00 -T 7C 03 00 00 D2 20 66 21 13 00 E5 21 06 00 39 +T 87 03 00 00 46 E1 09 7E DD BE D1 20 66 21 R 00 00 01 00 -T 87 03 00 00 4E 23 46 E1 09 7E 0F E6 01 26 00 +T 91 03 00 00 13 00 E5 21 06 00 39 4E 23 46 E1 R 00 00 01 00 -T 92 03 00 00 6F DD 7E CF 0F E6 01 06 00 4F A7 +T 9C 03 00 00 09 7E 0F E6 01 26 00 6F DD 7E CE R 00 00 01 00 -T 9D 03 00 00 ED 42 20 44 21 17 00 E5 21 06 00 +T A7 03 00 00 0F E6 01 06 00 4F A7 ED 42 20 44 R 00 00 01 00 -T A8 03 00 00 39 4E 23 46 E1 09 7E DD BE D3 20 +T B2 03 00 00 21 17 00 E5 21 06 00 39 4E 23 46 R 00 00 01 00 -T B3 03 00 00 31 DD 7E D5 B7 28 2E DD 4E D5 06 +T BD 03 00 00 E1 09 7E DD BE D2 20 31 DD 7E D4 R 00 00 01 00 -T BE 03 00 00 00 C5 21 1A 00 E5 21 08 00 39 4E +T C8 03 00 00 B7 28 2E DD 4E D4 06 00 C5 21 R 00 00 01 00 -T C9 03 00 00 23 46 E1 09 4D 44 21 49 00 39 11 +T D2 03 00 00 1A 00 E5 21 08 00 39 4E 23 46 E1 R 00 00 01 00 -T D4 03 00 00 17 00 19 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 -T DB 03 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 12 00 02 09 02 00 -T E2 03 00 00 B4 28 03 +T DD 03 00 00 09 4D 44 21 72 00 39 11 17 00 19 R 00 00 01 00 -T E5 03 00 00 +T E8 03 00 00 EB 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 12 00 02 0B 12 00 +T EE 03 00 00 CD 00 00 00 00 F1 7D B4 28 03 +R 00 00 01 00 02 05 02 00 +T F6 03 00 00 R 00 00 01 00 -T E5 03 00 00 +T F6 03 00 00 R 00 00 01 00 -T E5 03 00 00 +T F6 03 00 00 R 00 00 01 00 -T E5 03 00 00 +T F6 03 00 00 R 00 00 01 00 -T E5 03 00 00 +T F6 03 00 00 R 00 00 01 00 -T E5 03 00 00 C3 C1 08 00 00 +T F6 03 00 00 C3 8C 09 00 00 R 00 00 01 00 00 05 01 00 -T E8 03 00 00 +T F9 03 00 00 R 00 00 01 00 -T E8 03 00 00 DD 7E BD E6 02 47 DD 7E BE E6 00 +T F9 03 00 00 DD 7E 93 E6 02 47 DD 7E 94 E6 00 R 00 00 01 00 -T F3 03 00 00 B0 28 3A +T 04 04 00 00 B0 28 4D R 00 00 01 00 -T F6 03 00 00 +T 07 04 00 00 R 00 00 01 00 -T F6 03 00 00 DD 6E B0 DD 66 B1 01 00 00 DD 75 +T 07 04 00 00 DD 6E 86 DD 66 87 01 00 00 E5 21 R 00 00 01 00 -T 01 04 00 00 84 DD 74 85 DD 71 86 DD 70 87 4D +T 12 04 00 00 0E 00 39 D1 73 23 72 23 71 23 70 R 00 00 01 00 -T 0C 04 00 00 44 DD 5E 9E DD 56 9F 3E +T 1D 04 00 00 21 26 00 39 E5 21 0E 00 39 5E 23 R 00 00 01 00 -T 14 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 -T 19 04 00 00 00 00 00 00 DD 75 9E DD 74 9F 21 -R 00 00 01 00 02 04 02 00 -T 22 04 00 00 14 00 39 7E F6 01 77 23 7E F6 00 +T 28 04 00 00 56 23 4E 23 46 EB 4D 44 21 28 00 +R 00 00 01 00 +T 33 04 00 00 39 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0E 00 +T 3A 04 00 00 00 00 00 00 CD 00 00 00 00 4D 44 +R 00 00 01 00 02 04 0E 00 02 09 02 00 +T 41 04 00 00 E1 71 23 70 21 14 00 39 7E F6 01 R 00 00 01 00 -T 2D 04 00 00 77 18 1C +T 4C 04 00 00 77 23 7E F6 00 77 18 1F R 00 00 01 00 -T 30 04 00 00 +T 54 04 00 00 R 00 00 01 00 -T 30 04 00 00 21 10 00 DD 4E 82 DD 46 83 09 46 +T 54 04 00 00 21 10 00 E5 21 0C 00 39 4E 23 46 R 00 00 01 00 -T 3B 04 00 00 23 66 68 DD 4E B0 DD 46 B1 A7 ED +T 5F 04 00 00 E1 09 46 23 66 68 DD 4E 86 DD 46 R 00 00 01 00 -T 46 04 00 00 42 28 03 +T 6A 04 00 00 87 A7 ED 42 28 03 R 00 00 01 00 -T 49 04 00 00 +T 70 04 00 00 R 00 00 01 00 -T 49 04 00 00 C3 C1 08 00 00 +T 70 04 00 00 C3 8C 09 00 00 R 00 00 01 00 00 05 01 00 -T 4C 04 00 00 +T 73 04 00 00 R 00 00 01 00 -T 4C 04 00 00 +T 73 04 00 00 R 00 00 01 00 -T 4C 04 00 00 21 0C 00 DD 4E 82 DD 46 83 09 4E +T 73 04 00 00 21 0C 00 E5 21 0C 00 39 4E 23 46 R 00 00 01 00 -T 57 04 00 00 23 46 DD 6E AC DD 66 AD A7 ED 42 +T 7E 04 00 00 E1 09 4E 23 46 DD 6E 82 DD 66 83 R 00 00 01 00 -T 62 04 00 00 01 00 00 DD 75 84 DD 74 85 DD 71 +T 89 04 00 00 A7 ED 42 01 00 00 E5 21 0E 00 39 R 00 00 01 00 -T 6D 04 00 00 86 DD 70 87 7D B4 B1 B0 28 27 +T 94 04 00 00 D1 73 23 72 23 71 23 70 7B B2 B1 R 00 00 01 00 -T 77 04 00 00 +T 9F 04 00 00 B0 28 35 R 00 00 01 00 -T 77 04 00 00 DD 4E 84 DD 46 85 DD 5E 9E DD 56 +T A2 04 00 00 R 00 00 01 00 -T 82 04 00 00 9F 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 -T 88 04 00 00 CD 00 00 00 00 DD 75 9E DD 74 9F -R 00 00 01 00 02 05 02 00 -T 91 04 00 00 21 14 00 39 7E F6 02 77 23 7E F6 +T A2 04 00 00 21 26 00 39 E5 21 0E 00 39 5E 23 +R 00 00 01 00 +T AD 04 00 00 56 23 4E 23 46 EB 4D 44 21 28 00 +R 00 00 01 00 +T B8 04 00 00 39 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0E 00 +T BF 04 00 00 00 00 00 00 CD 00 00 00 00 4D 44 +R 00 00 01 00 02 04 0E 00 02 09 02 00 +T C6 04 00 00 E1 71 23 70 21 14 00 39 7E F6 02 +R 00 00 01 00 +T D1 04 00 00 77 23 7E F6 00 77 R 00 00 01 00 -T 9C 04 00 00 00 77 +T D7 04 00 00 R 00 00 01 00 -T 9E 04 00 00 +T D7 04 00 00 21 08 00 E5 21 0C 00 39 4E 23 46 R 00 00 01 00 -T 9E 04 00 00 21 08 00 DD 4E 82 DD 46 83 09 4E +T E2 04 00 00 E1 09 4E 23 46 23 5E 23 56 69 60 R 00 00 01 00 -T A9 04 00 00 23 46 23 5E 23 56 69 60 4D 44 DD +T ED 04 00 00 D5 E5 21 34 00 39 4E 23 46 23 5E R 00 00 01 00 -T B4 04 00 00 6E A8 DD 66 A9 A7 ED 42 4D 44 DD +T F8 04 00 00 23 56 69 60 A7 C1 ED 42 EB C1 ED R 00 00 01 00 -T BF 04 00 00 6E AA DD 66 AB ED 52 E5 69 60 C1 +T 03 05 00 00 42 4D 44 EB E5 21 12 00 39 D1 73 R 00 00 01 00 -T CA 04 00 00 DD 75 88 DD 74 89 DD 71 8A DD 70 +T 0E 05 00 00 23 72 23 71 23 70 7B B2 B1 B0 28 R 00 00 01 00 -T D5 04 00 00 8B 7D B4 B1 B0 28 43 +T 19 05 00 00 54 R 00 00 01 00 -T DC 04 00 00 +T 1A 05 00 00 R 00 00 01 00 -T DC 04 00 00 A7 21 FF FF DD 4E 88 DD 46 89 ED +T 1A 05 00 00 21 10 00 39 4E 23 46 23 5E 23 56 R 00 00 01 00 -T E7 04 00 00 42 21 00 00 DD 4E 8A DD 46 8B ED +T 25 05 00 00 D5 C5 A7 21 FF FF C1 ED 42 21 R 00 00 01 00 -T F2 04 00 00 42 30 03 +T 2F 05 00 00 00 00 C1 ED 42 30 03 R 00 00 01 00 -T F5 04 00 00 +T 36 05 00 00 R 00 00 01 00 -T F5 04 00 00 C3 C1 08 00 00 +T 36 05 00 00 C3 8C 09 00 00 R 00 00 01 00 00 05 01 00 -T F8 04 00 00 +T 39 05 00 00 R 00 00 01 00 -T F8 04 00 00 DD 4E 88 DD 46 89 DD 5E 9E DD 56 +T 39 05 00 00 21 26 00 39 E5 21 12 00 39 5E 23 R 00 00 01 00 -T 03 05 00 00 9F 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 -T 09 05 00 00 CD 00 00 00 00 DD 75 9E DD 74 9F -R 00 00 01 00 02 05 02 00 -T 12 05 00 00 21 14 00 39 7E F6 04 77 23 7E F6 +T 44 05 00 00 56 23 4E 23 46 EB 4D 44 21 28 00 +R 00 00 01 00 +T 4F 05 00 00 39 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0E 00 +T 56 05 00 00 00 00 00 00 CD 00 00 00 00 4D 44 +R 00 00 01 00 02 04 0E 00 02 09 02 00 +T 5D 05 00 00 E1 71 23 70 21 14 00 39 7E F6 04 +R 00 00 01 00 +T 68 05 00 00 77 23 7E F6 00 77 R 00 00 01 00 -T 1D 05 00 00 00 77 +T 6E 05 00 00 R 00 00 01 00 -T 1F 05 00 00 +T 6E 05 00 00 21 04 00 E5 21 0C 00 39 4E 23 46 R 00 00 01 00 -T 1F 05 00 00 21 04 00 DD 4E 82 DD 46 83 09 4E +T 79 05 00 00 E1 09 4E 23 46 23 5E 23 56 69 60 R 00 00 01 00 -T 2A 05 00 00 23 46 23 5E 23 56 69 60 4D 44 DD +T 84 05 00 00 D5 E5 21 30 00 39 4E 23 46 23 5E R 00 00 01 00 -T 35 05 00 00 6E A4 DD 66 A5 A7 ED 42 4D 44 DD +T 8F 05 00 00 23 56 69 60 A7 C1 ED 42 EB C1 ED R 00 00 01 00 -T 40 05 00 00 6E A6 DD 66 A7 ED 52 E5 69 60 C1 +T 9A 05 00 00 42 4D 44 EB E5 21 0E 00 39 D1 73 R 00 00 01 00 -T 4B 05 00 00 DD 75 84 DD 74 85 DD 71 86 DD 70 +T A5 05 00 00 23 72 23 71 23 70 7B B2 B1 B0 28 R 00 00 01 00 -T 56 05 00 00 87 7D B4 B1 B0 28 43 +T B0 05 00 00 54 R 00 00 01 00 -T 5D 05 00 00 +T B1 05 00 00 R 00 00 01 00 -T 5D 05 00 00 A7 21 FF FF DD 4E 84 DD 46 85 ED +T B1 05 00 00 21 0C 00 39 4E 23 46 23 5E 23 56 R 00 00 01 00 -T 68 05 00 00 42 21 00 00 DD 4E 86 DD 46 87 ED +T BC 05 00 00 D5 C5 A7 21 FF FF C1 ED 42 21 R 00 00 01 00 -T 73 05 00 00 42 30 03 +T C6 05 00 00 00 00 C1 ED 42 30 03 R 00 00 01 00 -T 76 05 00 00 +T CD 05 00 00 R 00 00 01 00 -T 76 05 00 00 C3 C1 08 00 00 +T CD 05 00 00 C3 8C 09 00 00 R 00 00 01 00 00 05 01 00 -T 79 05 00 00 +T D0 05 00 00 R 00 00 01 00 -T 79 05 00 00 DD 4E 84 DD 46 85 DD 5E 9E DD 56 +T D0 05 00 00 21 26 00 39 E5 21 0E 00 39 5E 23 R 00 00 01 00 -T 84 05 00 00 9F 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 -T 8A 05 00 00 CD 00 00 00 00 DD 75 9E DD 74 9F -R 00 00 01 00 02 05 02 00 -T 93 05 00 00 21 14 00 39 7E F6 08 77 23 7E F6 +T DB 05 00 00 56 23 4E 23 46 EB 4D 44 21 28 00 R 00 00 01 00 -T 9E 05 00 00 00 77 +T E6 05 00 00 39 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0E 00 +T ED 05 00 00 00 00 00 00 CD 00 00 00 00 4D 44 +R 00 00 01 00 02 04 0E 00 02 09 02 00 +T F4 05 00 00 E1 71 23 70 21 14 00 39 7E F6 08 R 00 00 01 00 -T A0 05 00 00 +T FF 05 00 00 77 23 7E F6 00 77 R 00 00 01 00 -T A0 05 00 00 DD 5E 8C DD 56 8D CD 00 00 00 00 -R 00 00 01 00 02 0B 03 00 -T A9 05 00 00 05 00 00 00 08 00 0B 00 0C 00 +T 05 06 00 00 R 00 00 01 00 -T B3 05 00 00 0F 00 BA 06 00 00 02 06 00 00 -R 00 00 01 00 00 06 01 00 00 0A 01 00 -T B9 05 00 00 05 06 00 00 02 06 00 00 +T 05 06 00 00 21 14 00 39 5E 23 56 CD +R 00 00 01 00 +T 0D 06 00 00 00 00 00 00 05 00 00 00 08 00 +R 00 00 01 00 02 04 03 00 +T 15 06 00 00 0B 00 0C 00 0F 00 37 07 00 00 +R 00 00 01 00 00 0A 01 00 +T 1D 06 00 00 68 06 00 00 6B 06 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T BD 05 00 00 70 06 00 00 C1 05 00 00 +T 21 06 00 00 68 06 00 00 E4 06 00 00 R 00 00 01 00 00 04 01 00 00 08 01 00 -T C1 05 00 00 +T 25 06 00 00 27 06 00 00 +R 00 00 01 00 00 04 01 00 +T 27 06 00 00 R 00 00 01 00 -T C1 05 00 00 21 0B 00 E5 21 06 00 39 4E 23 46 +T 27 06 00 00 21 0B 00 E5 21 06 00 39 4E 23 46 R 00 00 01 00 -T CC 05 00 00 E1 09 46 23 66 68 DD 4E C7 DD 46 +T 32 06 00 00 E1 09 46 23 66 68 DD 4E C6 DD 46 R 00 00 01 00 -T D7 05 00 00 C8 A7 ED 42 28 22 21 0B 00 E5 21 +T 3D 06 00 00 C7 A7 ED 42 28 22 21 0B 00 E5 21 R 00 00 01 00 -T E2 05 00 00 06 00 39 4E 23 46 E1 09 46 23 66 +T 48 06 00 00 06 00 39 4E 23 46 E1 09 46 23 66 R 00 00 01 00 -T ED 05 00 00 68 E5 21 08 00 39 4E 23 46 E1 A7 +T 53 06 00 00 68 E5 21 08 00 39 4E 23 46 E1 A7 R 00 00 01 00 -T F8 05 00 00 ED 42 20 03 +T 5E 06 00 00 ED 42 20 03 R 00 00 01 00 -T FC 05 00 00 +T 62 06 00 00 R 00 00 01 00 -T FC 05 00 00 +T 62 06 00 00 R 00 00 01 00 -T FC 05 00 00 +T 62 06 00 00 R 00 00 01 00 -T FC 05 00 00 C3 BA 06 00 00 +T 62 06 00 00 C3 37 07 00 00 R 00 00 01 00 00 05 01 00 -T FF 05 00 00 +T 65 06 00 00 R 00 00 01 00 -T FF 05 00 00 C3 C1 08 00 00 +T 65 06 00 00 C3 8C 09 00 00 R 00 00 01 00 00 05 01 00 -T 02 06 00 00 +T 68 06 00 00 R 00 00 01 00 -T 02 06 00 00 C3 C1 08 00 00 +T 68 06 00 00 C3 8C 09 00 00 R 00 00 01 00 00 05 01 00 -T 05 06 00 00 +T 6B 06 00 00 R 00 00 01 00 -T 05 06 00 00 DD 6E 84 DD 66 85 DD 4E 88 DD 46 +T 6B 06 00 00 21 10 00 39 4E 23 46 23 5E 23 56 R 00 00 01 00 -T 10 06 00 00 89 A7 ED 42 20 58 DD 6E 86 DD 66 +T 76 06 00 00 D5 C5 21 10 00 39 4E 23 46 23 5E R 00 00 01 00 -T 1B 06 00 00 87 DD 4E 8A DD 46 8B ED 42 20 48 +T 81 06 00 00 23 56 69 60 C1 A7 ED 42 C1 20 56 R 00 00 01 00 -T 26 06 00 00 21 0B 00 E5 21 06 00 39 4E 23 46 +T 8C 06 00 00 EB ED 42 20 51 21 0C 00 39 4E 23 R 00 00 01 00 -T 31 06 00 00 E1 09 46 23 66 68 E5 21 08 00 39 +T 97 06 00 00 46 23 5E 23 56 D5 C5 21 0B 00 E5 R 00 00 01 00 -T 3C 06 00 00 4E 23 46 E1 A7 ED 42 11 00 00 DD +T A2 06 00 00 21 0A 00 39 4E 23 46 E1 09 46 23 R 00 00 01 00 -T 47 06 00 00 4E 84 DD 46 85 A7 ED 42 20 1D EB +T AD 06 00 00 66 68 E5 21 0C 00 39 4E 23 46 E1 R 00 00 01 00 -T 52 06 00 00 DD 4E 86 DD 46 87 ED 42 20 12 +T B8 06 00 00 A7 ED 42 11 00 00 C1 A7 ED 42 C1 R 00 00 01 00 -T 5C 06 00 00 +T C3 06 00 00 20 1D EB ED 42 20 18 R 00 00 01 00 -T 5C 06 00 00 +T CA 06 00 00 R 00 00 01 00 -T 5C 06 00 00 +T CA 06 00 00 R 00 00 01 00 -T 5C 06 00 00 DD 36 8C 0B DD 36 8D 00 21 16 00 +T CA 06 00 00 R 00 00 01 00 -T 67 06 00 00 39 DD 75 9E DD 74 9F +T CA 06 00 00 21 14 00 39 36 0B 23 36 00 21 R 00 00 01 00 -T 6E 06 00 00 +T D4 06 00 00 26 00 39 E5 21 18 00 39 4D 44 E1 R 00 00 01 00 -T 6E 06 00 00 18 4A +T DF 06 00 00 71 23 70 R 00 00 01 00 -T 70 06 00 00 +T E2 06 00 00 R 00 00 01 00 -T 70 06 00 00 21 0B 00 E5 21 06 00 39 4E 23 46 +T E2 06 00 00 18 53 R 00 00 01 00 -T 7B 06 00 00 E1 09 46 23 66 68 E5 21 08 00 39 +T E4 06 00 00 R 00 00 01 00 -T 86 06 00 00 4E 23 46 E1 A7 ED 42 11 00 00 DD +T E4 06 00 00 21 0C 00 39 4E 23 46 23 5E 23 56 R 00 00 01 00 -T 91 06 00 00 4E 84 DD 46 85 A7 ED 42 20 1D EB +T EF 06 00 00 D5 C5 21 0B 00 E5 21 0A 00 39 4E R 00 00 01 00 -T 9C 06 00 00 DD 4E 86 DD 46 87 ED 42 20 12 +T FA 06 00 00 23 46 E1 09 46 23 66 68 E5 21 R 00 00 01 00 -T A6 06 00 00 +T 04 07 00 00 0C 00 39 4E 23 46 E1 A7 ED 42 11 R 00 00 01 00 -T A6 06 00 00 DD 36 8C 0F DD 36 8D 00 21 16 00 +T 0F 07 00 00 00 00 C1 A7 ED 42 C1 20 1D EB ED R 00 00 01 00 -T B1 06 00 00 39 DD 75 9E DD 74 9F +T 1A 07 00 00 42 20 18 R 00 00 01 00 -T B8 06 00 00 +T 1D 07 00 00 R 00 00 01 00 -T B8 06 00 00 18 00 +T 1D 07 00 00 21 14 00 39 36 0F 23 36 00 21 R 00 00 01 00 -T BA 06 00 00 +T 27 07 00 00 26 00 39 E5 21 18 00 39 4D 44 E1 R 00 00 01 00 -T BA 06 00 00 21 0D 00 E5 21 06 00 39 4E 23 46 +T 32 07 00 00 71 23 70 R 00 00 01 00 -T C5 06 00 00 E1 09 4E 23 46 DD 6E C9 DD 66 CA +T 35 07 00 00 R 00 00 01 00 -T D0 06 00 00 A7 ED 42 01 00 00 DD 75 84 DD 74 +T 35 07 00 00 18 00 R 00 00 01 00 -T DB 06 00 00 85 DD 71 86 DD 70 87 3E 01 AD B4 +T 37 07 00 00 R 00 00 01 00 -T E6 06 00 00 B1 B0 28 27 +T 37 07 00 00 21 0D 00 E5 21 06 00 39 4E 23 46 R 00 00 01 00 -T EA 06 00 00 +T 42 07 00 00 E1 09 4E 23 46 DD 6E C8 DD 66 C9 R 00 00 01 00 -T EA 06 00 00 DD 4E 84 DD 46 85 DD 5E 9E DD 56 +T 4D 07 00 00 A7 ED 42 01 00 00 E5 21 0E 00 39 R 00 00 01 00 -T F5 06 00 00 9F 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 -T FB 06 00 00 CD 00 00 00 00 DD 75 9E DD 74 9F -R 00 00 01 00 02 05 02 00 -T 04 07 00 00 21 14 00 39 7E F6 20 77 23 7E F6 +T 58 07 00 00 D1 73 23 72 23 71 23 70 21 0C 00 R 00 00 01 00 -T 0F 07 00 00 00 77 +T 63 07 00 00 39 3E 01 AE 23 B6 23 B6 23 B6 28 R 00 00 01 00 -T 11 07 00 00 +T 6E 07 00 00 35 R 00 00 01 00 -T 11 07 00 00 DD 7E BD E6 08 47 DD 7E BE E6 00 +T 6F 07 00 00 R 00 00 01 00 -T 1C 07 00 00 B0 28 0D +T 6F 07 00 00 21 26 00 39 E5 21 0E 00 39 5E 23 R 00 00 01 00 -T 1F 07 00 00 +T 7A 07 00 00 56 23 4E 23 46 EB 4D 44 21 28 00 R 00 00 01 00 -T 1F 07 00 00 21 14 00 39 7E F6 10 77 23 7E F6 +T 85 07 00 00 39 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 0E 00 +T 8C 07 00 00 00 00 00 00 CD 00 00 00 00 4D 44 +R 00 00 01 00 02 04 0E 00 02 09 02 00 +T 93 07 00 00 E1 71 23 70 21 14 00 39 7E F6 20 R 00 00 01 00 -T 2A 07 00 00 00 77 +T 9E 07 00 00 77 23 7E F6 00 77 R 00 00 01 00 -T 2C 07 00 00 +T A4 07 00 00 R 00 00 01 00 -T 2C 07 00 00 DD 6E AE DD 66 AF 01 00 00 DD 75 +T A4 07 00 00 DD 7E 93 E6 08 47 DD 7E 94 E6 00 R 00 00 01 00 -T 37 07 00 00 88 DD 74 89 DD 71 8A DD 70 8B 21 +T AF 07 00 00 B0 28 0D R 00 00 01 00 -T 42 07 00 00 04 00 39 5E 23 56 13 13 13 21 +T B2 07 00 00 R 00 00 01 00 -T 4C 07 00 00 47 00 39 01 3F 00 ED B0 21 42 00 +T B2 07 00 00 21 14 00 39 7E F6 10 77 23 7E F6 R 00 00 01 00 -T 57 07 00 00 E5 21 06 00 39 4E 23 46 E1 09 EB +T BD 07 00 00 00 77 R 00 00 01 00 -T 62 07 00 00 21 28 00 39 01 1F 00 ED B0 21 +T BF 07 00 00 R 00 00 01 00 -T 6C 07 00 00 16 00 39 4D 44 DD 6E 9E DD 66 9F +T BF 07 00 00 DD 6E 84 DD 66 85 01 00 00 E5 21 R 00 00 01 00 -T 77 07 00 00 A7 ED 42 7C 07 9F 4F 41 DD 75 84 +T CA 07 00 00 12 00 39 D1 73 23 72 23 71 23 70 R 00 00 01 00 -T 82 07 00 00 DD 74 85 DD 71 86 DD 70 87 21 +T D5 07 00 00 21 04 00 39 5E 23 56 13 13 13 21 R 00 00 01 00 -T 8C 07 00 00 06 00 39 4E 23 46 C5 01 00 00 DD +T E0 07 00 00 70 00 39 01 3F 00 ED B0 21 42 00 R 00 00 01 00 -T 97 07 00 00 5E 04 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0A 00 -T 9F 07 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 0A 00 02 09 02 00 -T A6 07 00 00 7E 0A DD B6 0B 28 18 21 04 00 39 +T EB 07 00 00 E5 21 06 00 39 4E 23 46 E1 09 EB R 00 00 01 00 -T B1 07 00 00 7E 23 66 6F E5 21 07 00 DD 4E 02 +T F6 07 00 00 21 28 00 39 01 48 00 ED B0 21 R 00 00 01 00 -T BC 07 00 00 DD 46 03 09 7E E1 BE 28 73 +T 00 08 00 00 16 00 39 4D 44 21 26 00 39 56 23 R 00 00 01 00 -T C5 07 00 00 +T 0B 08 00 00 66 6A A7 ED 42 7C 07 9F 4F 41 E5 R 00 00 01 00 -T C5 07 00 00 +T 16 08 00 00 21 0E 00 39 D1 73 23 72 23 71 23 R 00 00 01 00 -T C5 07 00 00 +T 21 08 00 00 70 21 06 00 39 4E 23 46 C5 01 R 00 00 01 00 -T C5 07 00 00 DD 6E 84 DD 66 85 01 04 00 09 E5 +T 2B 08 00 00 00 00 DD 5E 04 DD 56 05 3E R 00 00 01 00 -T D0 07 00 00 01 00 00 DD 5E 04 DD 56 05 3E -R 00 00 01 00 -T DA 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 11 00 02 09 11 00 -T DF 07 00 00 00 00 00 00 E1 DD 6E 04 DD 66 05 +T 34 08 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +T 39 08 00 00 00 00 00 00 F1 DD 7E 0A DD B6 0B R 00 00 01 00 02 04 02 00 -T E8 07 00 00 46 23 66 68 01 0A 00 09 46 23 66 +T 42 08 00 00 28 19 21 04 00 39 7E 23 66 6F E5 R 00 00 01 00 -T F3 07 00 00 68 DD 75 9E DD 74 9F DD 7E 8C F6 +T 4D 08 00 00 21 07 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T FE 07 00 00 40 23 DD 75 9E DD 74 9F 2B 77 21 +T 58 08 00 00 E1 BE CA DF 08 00 00 +R 00 00 01 00 00 07 01 00 +T 5D 08 00 00 R 00 00 01 00 -T 09 08 00 00 04 00 39 7E 23 66 6F 46 DD 6E 9E +T 5D 08 00 00 R 00 00 01 00 -T 14 08 00 00 DD 66 9F 23 DD 75 9E DD 74 9F 2B +T 5D 08 00 00 R 00 00 01 00 -T 1F 08 00 00 70 21 07 00 DD 4E 02 DD 46 03 09 +T 5D 08 00 00 21 0C 00 39 5E 23 56 23 4E 23 46 R 00 00 01 00 -T 2A 08 00 00 E5 21 06 00 39 7E 23 66 6F 46 E1 +T 68 08 00 00 EB 01 04 00 09 E5 01 00 00 DD 5E R 00 00 01 00 -T 35 08 00 00 70 18 40 +T 73 08 00 00 04 DD 56 05 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 11 00 +T 7A 08 00 00 00 00 00 00 CD 00 00 00 00 E1 21 +R 00 00 01 00 02 04 11 00 02 09 02 00 +T 81 08 00 00 26 00 39 E5 DD 6E 04 DD 66 05 46 R 00 00 01 00 -T 38 08 00 00 +T 8C 08 00 00 23 66 68 01 0A 00 09 4E 23 46 E1 R 00 00 01 00 -T 38 08 00 00 DD 6E 84 DD 66 85 23 23 23 E5 01 +T 97 08 00 00 71 23 70 21 14 00 39 7E F6 40 21 R 00 00 01 00 -T 43 08 00 00 00 00 DD 5E 04 DD 56 05 3E +T A2 08 00 00 26 00 39 4E 23 46 03 70 2B 71 0B R 00 00 01 00 -T 4C 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 11 00 02 09 11 00 -T 51 08 00 00 00 00 00 00 E1 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 02 00 -T 5A 08 00 00 46 23 66 68 01 0A 00 09 46 23 66 +T AD 08 00 00 69 60 77 21 04 00 39 7E 23 66 6F R 00 00 01 00 -T 65 08 00 00 68 DD 75 9E DD 74 9F DD 46 8C 23 +T B8 08 00 00 46 21 26 00 39 5E 23 56 13 72 2B R 00 00 01 00 -T 70 08 00 00 DD 75 9E DD 74 9F 2B 70 +T C3 08 00 00 73 1B EB 70 21 07 00 DD 4E 02 DD R 00 00 01 00 -T 78 08 00 00 +T CE 08 00 00 46 03 09 E5 21 06 00 39 7E 23 66 R 00 00 01 00 -T 78 08 00 00 DD 4E 88 DD 46 89 DD 5E 9E DD 56 +T D9 08 00 00 6F 46 E1 70 18 4F R 00 00 01 00 -T 83 08 00 00 9F 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 00 00 02 0B 00 00 -T 89 08 00 00 CD 00 00 00 00 DD 75 9E DD 74 9F -R 00 00 01 00 02 05 02 00 -T 92 08 00 00 DD 4E 84 DD 46 85 C5 21 18 00 39 +T DF 08 00 00 +R 00 00 01 00 +T DF 08 00 00 21 0C 00 39 5E 23 56 23 4E 23 46 +R 00 00 01 00 +T EA 08 00 00 EB 23 23 23 E5 01 00 00 DD 5E 04 +R 00 00 01 00 +T F5 08 00 00 DD 56 05 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 11 00 +T FB 08 00 00 00 00 00 00 CD 00 00 00 00 E1 21 +R 00 00 01 00 02 04 11 00 02 09 02 00 +T 02 09 00 00 26 00 39 E5 DD 6E 04 DD 66 05 46 +R 00 00 01 00 +T 0D 09 00 00 23 66 68 01 0A 00 09 4E 23 46 E1 +R 00 00 01 00 +T 18 09 00 00 71 23 70 21 14 00 39 46 21 26 00 +R 00 00 01 00 +T 23 09 00 00 39 5E 23 56 13 72 2B 73 1B EB 70 +R 00 00 01 00 +T 2E 09 00 00 +R 00 00 01 00 +T 2E 09 00 00 21 26 00 39 E5 21 12 00 39 5E 23 +R 00 00 01 00 +T 39 09 00 00 56 23 4E 23 46 EB 4D 44 21 28 00 +R 00 00 01 00 +T 44 09 00 00 39 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 00 00 +T 4B 09 00 00 00 00 00 00 CD 00 00 00 00 4D 44 +R 00 00 01 00 02 04 00 00 02 09 02 00 +T 52 09 00 00 E1 71 23 70 21 0C 00 39 5E 23 56 +R 00 00 01 00 +T 5D 09 00 00 23 4E 23 46 EB E5 21 18 00 39 4D R 00 00 01 00 -T 9D 08 00 00 4D 44 DD 5E 9E DD 56 9F 3E +T 68 09 00 00 44 21 28 00 39 5E 23 56 3E R 00 00 01 00 -T A6 08 00 00 00 00 00 00 21 00 00 00 00 CD +T 71 09 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 05 00 02 09 05 00 -T AB 08 00 00 00 00 00 00 F1 21 16 00 DD 4E 02 +T 76 09 00 00 00 00 00 00 F1 21 16 00 DD 4E 02 R 00 00 01 00 02 04 02 00 -T B4 08 00 00 DD 46 03 09 CD 00 00 00 00 21 +T 7F 09 00 00 DD 46 03 09 CD 00 00 00 00 21 R 00 00 01 00 02 09 0D 00 -T BC 08 00 00 80 00 C3 4A 09 00 00 +T 87 09 00 00 80 00 C3 15 0A 00 00 R 00 00 01 00 00 07 01 00 -T C1 08 00 00 +T 8C 09 00 00 R 00 00 01 00 -T C1 08 00 00 21 04 00 39 7E 23 66 6F 46 DD 70 +T 8C 09 00 00 21 04 00 39 7E 23 66 6F 46 DD 70 R 00 00 01 00 -T CC 08 00 00 D4 21 04 00 39 5E 23 56 13 13 13 +T 97 09 00 00 D3 21 04 00 39 5E 23 56 13 13 13 R 00 00 01 00 -T D7 08 00 00 21 47 00 39 01 3F 00 ED B0 21 +T A2 09 00 00 21 70 00 39 01 3F 00 ED B0 21 R 00 00 01 00 -T E1 08 00 00 42 00 E5 21 06 00 39 4E 23 46 E1 +T AC 09 00 00 42 00 E5 21 06 00 39 4E 23 46 E1 R 00 00 01 00 -T EC 08 00 00 09 EB 21 28 00 39 01 1F 00 ED B0 +T B7 09 00 00 09 EB 21 28 00 39 01 48 00 ED B0 R 00 00 01 00 -T F7 08 00 00 21 07 00 DD 4E 02 DD 46 03 09 E5 +T C2 09 00 00 21 07 00 DD 4E 02 DD 46 03 09 E5 R 00 00 01 00 -T 02 09 00 00 21 06 00 39 7E 23 66 6F 56 E1 72 +T CD 09 00 00 21 06 00 39 7E 23 66 6F 56 E1 72 R 00 00 01 00 -T 0D 09 00 00 21 12 00 09 CD 00 00 00 00 21 +T D8 09 00 00 21 12 00 09 CD 00 00 00 00 21 R 00 00 01 00 02 09 0D 00 -T 15 09 00 00 08 00 39 4E 23 46 C5 01 00 00 DD +T E0 09 00 00 08 00 39 4E 23 46 C5 01 00 00 DD R 00 00 01 00 -T 20 09 00 00 5E 04 DD 56 05 3E 00 00 00 00 21 +T EB 09 00 00 5E 04 DD 56 05 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 0A 00 -T 28 09 00 00 00 00 00 00 CD 00 00 00 00 F1 21 +T F3 09 00 00 00 00 00 00 CD 00 00 00 00 F1 21 R 00 00 01 00 02 04 0A 00 02 09 02 00 -T 2F 09 00 00 01 00 E5 DD 4E 04 DD 46 05 21 +T FA 09 00 00 01 00 E5 DD 4E 04 DD 46 05 21 R 00 00 01 00 -T 39 09 00 00 49 00 39 5D 54 3E 00 00 00 00 21 +T 04 0A 00 00 72 00 39 5D 54 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 07 00 -T 41 09 00 00 00 00 00 00 CD 00 00 00 00 E1 21 +T 0C 0A 00 00 00 00 00 00 CD 00 00 00 00 E1 21 R 00 00 01 00 02 04 07 00 02 09 02 00 -T 48 09 00 00 70 00 +T 13 0A 00 00 70 00 R 00 00 01 00 -T 4A 09 00 00 +T 15 0A 00 00 R 00 00 01 00 -T 4A 09 00 00 C3 00 00 00 00 +T 15 0A 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 08 00 diff --git a/src/nos/lib/ppp_lib/slhc_init.rel b/src/nos/lib/ppp_lib/slhc_init.rel index a2c3e861..daa10953 100644 --- a/src/nos/lib/ppp_lib/slhc_init.rel +++ b/src/nos/lib/ppp_lib/slhc_init.rel @@ -35,7 +35,7 @@ T 38 00 00 00 R 00 00 01 00 T 38 00 00 00 DD 6E FE DD 66 FF 23 23 E5 01 R 00 00 01 00 -T 42 00 00 00 61 00 DD 5E 02 DD 56 03 3E +T 42 00 00 00 8A 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 T 4B 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 03 00 02 09 03 00 @@ -61,7 +61,7 @@ T 87 00 00 00 R 00 00 01 00 T 87 00 00 00 R 00 00 01 00 -T 87 00 00 00 01 61 00 DD 5E 04 DD 56 05 3E +T 87 00 00 00 01 8A 00 DD 5E 04 DD 56 05 3E R 00 00 01 00 T 91 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 03 00 02 09 03 00 @@ -97,19 +97,19 @@ T FD 00 00 00 DD 7E FA DD B6 FB 28 58 R 00 00 01 00 T 05 01 00 00 R 00 00 01 00 -T 05 01 00 00 01 61 00 DD 5E FA DD 56 FB CD +T 05 01 00 00 01 8A 00 DD 5E FA DD 56 FB CD R 00 00 01 00 T 0F 01 00 00 00 00 00 00 DD 6E FC DD 66 FD 19 R 00 00 01 00 02 04 05 00 -T 18 01 00 00 DD 46 FA 70 01 61 00 DD 5E FA DD +T 18 01 00 00 DD 46 FA 70 01 8A 00 DD 5E FA DD R 00 00 01 00 T 23 01 00 00 56 FB CD 00 00 00 00 DD 6E FC DD R 00 00 01 00 02 07 05 00 -T 2C 01 00 00 66 FD 19 23 E5 01 61 00 DD 5E FA +T 2C 01 00 00 66 FD 19 23 E5 01 8A 00 DD 5E FA R 00 00 01 00 T 37 01 00 00 DD 56 FB CD 00 00 00 00 DD 6E FC R 00 00 01 00 02 08 05 00 -T 40 01 00 00 DD 66 FD 19 01 9F FF 09 4D 44 E1 +T 40 01 00 00 DD 66 FD 19 01 76 FF 09 4D 44 E1 R 00 00 01 00 T 4B 01 00 00 71 23 70 DD 6E FA DD 66 FB 2B DD R 00 00 01 00 @@ -121,7 +121,7 @@ T 5D 01 00 00 DD 6E FC DD 66 FD 23 E5 21 04 00 R 00 00 01 00 T 68 01 00 00 DD 4E FE DD 46 FF 09 4E 06 00 11 R 00 00 01 00 -T 73 01 00 00 61 00 CD 00 00 00 00 DD 6E FC DD +T 73 01 00 00 8A 00 CD 00 00 00 00 DD 6E FC DD R 00 00 01 00 02 07 05 00 T 7C 01 00 00 66 FD 19 4D 44 E1 71 23 70 DD 6E R 00 00 01 00 diff --git a/src/nos/lib/ppp_lib/slhc_remember.rel b/src/nos/lib/ppp_lib/slhc_remember.rel index 271bcb9c..a462ac07 100644 --- a/src/nos/lib/ppp_lib/slhc_remember.rel +++ b/src/nos/lib/ppp_lib/slhc_remember.rel @@ -16,11 +16,11 @@ S ?L_INCASG_L03 Ref00000000 S ?SS_CMP_L02 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 20A flags 0 +A CODE size 214 flags 0 S _slhc_remember Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 9A FF 79 B0 20 1E +T 00 00 00 00 CD 00 00 00 00 70 FF 79 B0 20 1E R 00 00 01 00 02 05 0A 00 T 09 00 00 00 R 00 00 01 00 @@ -30,7 +30,7 @@ T 14 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 02 04 0C 00 T 1D 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 22 00 00 00 00 00 00 00 C3 07 02 00 00 +T 22 00 00 00 00 00 00 00 C3 11 02 00 00 R 00 00 01 00 02 04 02 00 00 09 01 00 T 27 00 00 00 R 00 00 01 00 @@ -38,7 +38,7 @@ T 27 00 00 00 DD 6E 04 DD 66 05 46 23 66 68 01 R 00 00 01 00 T 32 00 00 00 0A 00 09 7E 23 66 6F 7E E6 0F 6F R 00 00 01 00 -T 3D 00 00 00 26 00 29 29 DD 75 FC DD 74 FD 01 +T 3D 00 00 00 26 00 29 29 DD 75 FB DD 74 FC 01 R 00 00 01 00 T 48 00 00 00 14 00 A7 ED 42 30 1E R 00 00 01 00 @@ -50,7 +50,7 @@ T 5A 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 02 04 0C 00 T 63 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 68 00 00 00 00 00 00 00 C3 07 02 00 00 +T 68 00 00 00 00 00 00 00 C3 11 02 00 00 R 00 00 01 00 02 04 02 00 00 09 01 00 T 6D 00 00 00 R 00 00 01 00 @@ -58,111 +58,113 @@ T 6D 00 00 00 DD 6E 04 DD 66 05 5E 23 56 3E R 00 00 01 00 T 77 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 03 00 02 09 03 00 -T 7C 00 00 00 00 00 00 00 DD 75 FA DD 74 FB DD +T 7C 00 00 00 00 00 00 00 DD 75 F9 DD 74 FA DD R 00 00 01 00 02 04 02 00 T 85 00 00 00 4E 04 DD 46 05 21 02 00 39 5D 54 R 00 00 01 00 T 90 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 05 00 02 0A 05 00 -T 96 00 00 00 00 00 00 00 DD 4E A4 DD 46 A5 DD +T 96 00 00 00 00 00 00 00 21 0A 00 39 4E 23 46 R 00 00 01 00 02 04 02 00 -T 9F 00 00 00 6E FA DD 66 FB A7 ED 42 30 1E +T 9F 00 00 00 DD 6E F9 DD 66 FA A7 ED 42 30 1E R 00 00 01 00 -T A9 00 00 00 +T AA 00 00 00 R 00 00 01 00 -T A9 00 00 00 21 2A 00 DD 4E 02 DD 46 03 09 CD +T AA 00 00 00 21 2A 00 DD 4E 02 DD 46 03 09 CD R 00 00 01 00 -T B4 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E +T B5 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 02 04 0C 00 -T BD 00 00 00 00 00 00 00 21 00 00 00 00 CD +T BE 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 04 00 02 09 04 00 -T C2 00 00 00 00 00 00 00 C3 07 02 00 00 +T C3 00 00 00 00 00 00 00 C3 11 02 00 00 R 00 00 01 00 02 04 02 00 00 09 01 00 -T C7 00 00 00 +T C8 00 00 00 R 00 00 01 00 -T C7 00 00 00 DD 4E B1 06 00 DD 71 FE DD 70 FF +T C8 00 00 00 DD 4E 87 06 00 DD 71 FD DD 70 FE R 00 00 01 00 -T D2 00 00 00 21 05 00 DD 5E 02 DD 56 03 19 6E +T D3 00 00 00 21 05 00 DD 5E 02 DD 56 03 19 6E R 00 00 01 00 -T DD 00 00 00 26 00 CD 00 00 00 00 30 1E +T DE 00 00 00 26 00 CD 00 00 00 00 30 1E R 00 00 01 00 02 07 0D 00 -T E4 00 00 00 +T E5 00 00 00 R 00 00 01 00 -T E4 00 00 00 21 2A 00 DD 4E 02 DD 46 03 09 CD +T E5 00 00 00 21 2A 00 DD 4E 02 DD 46 03 09 CD R 00 00 01 00 -T EF 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E +T F0 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 02 04 0C 00 -T F8 00 00 00 00 00 00 00 21 00 00 00 00 CD +T F9 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 04 00 02 09 04 00 -T FD 00 00 00 00 00 00 00 C3 07 02 00 00 +T FE 00 00 00 00 00 00 00 C3 11 02 00 00 R 00 00 01 00 02 04 02 00 00 09 01 00 -T 02 01 00 00 +T 03 01 00 00 R 00 00 01 00 -T 02 01 00 00 DD 36 B1 06 DD 4E 04 DD 46 05 21 +T 03 01 00 00 DD 36 87 06 DD 4E 04 DD 46 05 21 R 00 00 01 00 -T 0D 01 00 00 41 00 39 5D 54 3E 00 00 00 00 21 +T 0E 01 00 00 41 00 39 5D 54 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 00 00 -T 15 01 00 00 00 00 00 00 CD 00 00 00 00 21 +T 16 01 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 00 00 02 09 02 00 -T 1B 01 00 00 00 00 E5 21 00 00 E5 21 00 00 E5 +T 1C 01 00 00 00 00 E5 21 00 00 E5 21 00 00 E5 R 00 00 01 00 -T 26 01 00 00 21 00 00 E5 DD 4E 04 DD 46 05 21 +T 27 01 00 00 21 00 00 E5 DD 4E 04 DD 46 05 21 R 00 00 01 00 -T 31 01 00 00 49 00 39 5D 54 3E 00 00 00 00 21 +T 32 01 00 00 49 00 39 5D 54 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 01 00 -T 39 01 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 +T 3A 01 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 R 00 00 01 00 02 04 01 00 02 09 02 00 -T 40 01 00 00 E1 E1 21 01 00 E5 DD 4E 04 DD 46 +T 41 01 00 00 E1 E1 21 01 00 E5 DD 4E 04 DD 46 R 00 00 01 00 -T 4B 01 00 00 05 21 04 00 39 5D 54 3E +T 4C 01 00 00 05 21 04 00 39 5D 54 3E R 00 00 01 00 -T 53 01 00 00 00 00 00 00 21 00 00 00 00 CD +T 54 01 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 06 00 02 09 06 00 -T 58 01 00 00 00 00 00 00 E1 DD 6E FC DD 66 FD +T 59 01 00 00 00 00 00 00 E1 DD 6E FB DD 66 FC R 00 00 01 00 02 04 02 00 -T 61 01 00 00 E5 DD 6E 04 DD 66 05 4E 23 46 11 +T 62 01 00 00 E5 DD 6E 04 DD 66 05 4E 23 46 11 R 00 00 01 00 -T 6C 01 00 00 00 00 3E 00 00 00 00 21 +T 6D 01 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 2B 07 09 00 -T 71 01 00 00 00 00 00 00 CD 00 00 00 00 F1 7D +T 72 01 00 00 00 00 00 00 CD 00 00 00 00 F1 7D R 00 00 01 00 02 04 09 00 02 09 02 00 -T 78 01 00 00 B4 28 1D +T 79 01 00 00 B4 28 1D R 00 00 01 00 -T 7B 01 00 00 +T 7C 01 00 00 R 00 00 01 00 -T 7B 01 00 00 21 2A 00 DD 4E 02 DD 46 03 09 CD +T 7C 01 00 00 21 2A 00 DD 4E 02 DD 46 03 09 CD R 00 00 01 00 -T 86 01 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E +T 87 01 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 02 04 0C 00 -T 8F 01 00 00 00 00 00 00 21 00 00 00 00 CD +T 90 01 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 94 01 00 00 00 00 00 00 18 6F +T 95 01 00 00 00 00 00 00 18 78 R 00 00 01 00 02 04 02 00 -T 98 01 00 00 +T 99 01 00 00 R 00 00 01 00 -T 98 01 00 00 21 08 00 DD 4E 02 DD 46 03 09 DD +T 99 01 00 00 21 08 00 DD 4E 02 DD 46 03 09 DD R 00 00 01 00 -T A3 01 00 00 56 FE 72 03 03 0A 6F 03 0A 67 01 +T A4 01 00 00 56 FD 72 21 00 00 39 E5 03 03 0A R 00 00 01 00 -T AE 01 00 00 61 00 DD 5E FE DD 56 FF CD +T AF 01 00 00 6F 03 0A 67 01 8A 00 DD 5E FD DD R 00 00 01 00 -T B7 01 00 00 00 00 00 00 19 DD 75 9A DD 74 9B -R 00 00 01 00 02 04 0B 00 -T C0 01 00 00 21 09 00 DD 4E 02 DD 46 03 09 7E +T BA 01 00 00 56 FE CD 00 00 00 00 19 4D 44 E1 +R 00 00 01 00 02 07 0B 00 +T C3 01 00 00 71 23 70 21 09 00 DD 4E 02 DD 46 R 00 00 01 00 -T CB 01 00 00 E6 FE 77 DD 5E 9A DD 56 9B 13 13 +T CE 01 00 00 03 09 7E E6 FE 77 21 00 00 39 5E R 00 00 01 00 -T D6 01 00 00 13 21 02 00 39 01 3F 00 ED B0 21 +T D9 01 00 00 23 56 13 13 13 21 02 00 39 01 R 00 00 01 00 -T E1 01 00 00 42 00 DD 4E 9A DD 46 9B 09 EB 21 +T E3 01 00 00 3F 00 ED B0 21 42 00 E5 21 02 00 R 00 00 01 00 -T EC 01 00 00 41 00 39 01 1F 00 ED B0 21 22 00 +T EE 01 00 00 39 4E 23 46 E1 09 EB 21 41 00 39 R 00 00 01 00 -T F7 01 00 00 DD 4E 02 DD 46 03 09 CD +T F9 01 00 00 01 48 00 ED B0 21 22 00 DD 4E 02 R 00 00 01 00 -T FF 01 00 00 00 00 00 00 DD 6E FA DD 66 FB -R 00 00 01 00 02 04 0C 00 -T 07 02 00 00 +T 04 02 00 00 DD 46 03 09 CD 00 00 00 00 DD 6E +R 00 00 01 00 02 09 0C 00 +T 0D 02 00 00 F9 DD 66 FA +R 00 00 01 00 +T 11 02 00 00 R 00 00 01 00 -T 07 02 00 00 C3 00 00 00 00 +T 11 02 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 07 00 diff --git a/src/nos/lib/ppp_lib/slhc_uncompress.rel b/src/nos/lib/ppp_lib/slhc_uncompress.rel index 3aa0f60f..0c0fb3f6 100644 --- a/src/nos/lib/ppp_lib/slhc_uncompress.rel +++ b/src/nos/lib/ppp_lib/slhc_uncompress.rel @@ -113,7 +113,7 @@ T F0 00 00 00 R 00 00 01 00 T F0 00 00 00 21 08 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 -T FB 00 00 00 16 00 01 61 00 CD 00 00 00 00 DD +T FB 00 00 00 16 00 01 8A 00 CD 00 00 00 00 DD R 00 00 01 00 02 0A 0C 00 T 04 01 00 00 6E 02 DD 66 03 23 23 46 23 66 68 R 00 00 01 00 diff --git a/src/nos/lib/ppp_lib/slhcdump.rel b/src/nos/lib/ppp_lib/slhcdump.rel index 1ed62db2..68370ac5 100644 --- a/src/nos/lib/ppp_lib/slhcdump.rel +++ b/src/nos/lib/ppp_lib/slhcdump.rel @@ -1,36 +1,36 @@ XL4 H 2 areas 21 global symbols -S ___005f_5946__20_20_20connection Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___05ab_6f7f_serial_20line_20VJ_ Ref00000000 -S ___0016_c0f0__09changes_3a_200x_ Ref00000000 -S ___0022_a0dd__0a Ref00000000 +S ___0017_c0f0__09changes_3a_200x_ Ref00000000 S _copy_p Ref00000000 -S ___001f_ad18__09increment_20ID_0 Ref00000000 -S ___05a9_2d5d_serial_20line_20IP_ Ref00000000 +S ___0023_a0dd__0a Ref00000000 S _len_p Ref00000000 -S ___001c_7710__09delta_20SEQ_20im Ref00000000 +S ___001a_cf72__09delta_20ACK_20an Ref00000000 +S ___001d_7710__09delta_20SEQ_20im Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___0018_a28a__09connection_20ID_ Ref00000000 +S ___0078_5946__20_20_20connection Ref00000000 +S ___0020_ad18__09increment_20ID_0 Ref00000000 +S ___0019_a28a__09connection_20ID_ Ref00000000 S __fprintf Ref00000000 S ?LEAVE_DIRECT_L09 Ref00000000 -S ___001e_f05a__09delta_20WINDOW_3 Ref00000000 +S ___001f_f05a__09delta_20WINDOW_3 Ref00000000 +S ___0683_2d5d_serial_20line_20IP_ Ref00000000 S .__.ABS. Def00000000 S _pullup Ref00000000 S _get16 Ref00000000 -S ___005e_9f3a__20_20_20TCP_20chec Ref00000000 -S ___005d_ad66__20_20_20PUSH Ref00000000 -S ___001a_8077__09delta_20ACK_3a_2 Ref00000000 -S ___0019_cf72__09delta_20ACK_20an Ref00000000 -S ___0015_e0e0__09Urgent_20pointer Ref00000000 +S ___0684_f33e_serial_20line_20VJ_ Ref00000000 +S ___001b_8077__09delta_20ACK_3a_2 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___001b_4a2b__09delta_20ID_3a_20 Ref00000000 +S ___0016_e0e0__09Urgent_20pointer Ref00000000 +S ___001c_4a2b__09delta_20ID_3a_20 Ref00000000 S _ip_dump Ref00000000 S _free_p Ref00000000 +S ___0685_6f7f_serial_20line_20VJ_ Ref00000000 S _pull8 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___001d_a966__09delta_20SEQ_3a_2 Ref00000000 -S ___05aa_f33e_serial_20line_20VJ_ Ref00000000 +S ___001e_a966__09delta_20SEQ_3a_2 Ref00000000 +S ___0077_9f3a__20_20_20TCP_20chec Ref00000000 +S ___0076_ad66__20_20_20PUSH Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 418 flags 0 S _vjcomp_dump Def0000005A @@ -38,13 +38,13 @@ S _sl_dump Def00000296 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 21 01 00 E5 -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 14 00 T 09 00 00 00 21 02 00 39 4D 44 DD 5E 02 DD 56 R 00 00 01 00 T 14 00 00 00 03 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 10 00 02 0B 10 00 T 1A 00 00 00 CD 00 00 00 00 F1 DD 7E FE B7 20 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 00 00 T 23 00 00 00 1B R 00 00 01 00 T 24 00 00 00 @@ -54,7 +54,7 @@ R 00 00 01 00 T 2F 00 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 10 00 T 37 00 00 00 00 00 00 00 CD 00 00 00 00 F1 18 -R 00 00 01 00 02 04 10 00 02 09 01 00 +R 00 00 01 00 02 04 10 00 02 09 00 00 T 3E 00 00 00 0A R 00 00 01 00 T 3F 00 00 00 @@ -66,13 +66,13 @@ R 00 00 01 00 T 49 00 00 00 21 00 00 39 5D 54 3E 00 00 00 00 R 00 00 01 00 2B 0B 11 00 T 51 00 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 11 00 02 0A 01 00 +R 00 00 01 00 02 05 11 00 02 0A 00 00 T 58 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 0D 00 +R 00 00 01 00 02 04 0C 00 T 5A 00 00 00 R 00 00 01 00 T 5A 00 00 00 CD 00 00 00 00 FC FF 79 B0 28 0B -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 14 00 T 63 00 00 00 DD 6E 04 DD 66 05 7E 23 B6 20 03 R 00 00 01 00 T 6E 00 00 00 @@ -86,17 +86,17 @@ R 00 00 01 00 00 05 01 00 T 71 00 00 00 R 00 00 01 00 T 71 00 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1B 00 +R 00 00 01 00 2B 0B 1A 00 T 79 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 1B 00 02 0A 01 00 +R 00 00 01 00 02 05 1A 00 02 0A 00 00 T 80 00 00 00 75 FC 26 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 03 00 +R 00 00 01 00 2B 0A 01 00 T 88 00 00 00 21 00 00 00 00 E5 DD 6E 02 DD 66 -R 00 00 01 00 02 05 03 00 +R 00 00 01 00 02 05 01 00 T 91 00 00 00 03 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0C 00 +R 00 00 01 00 2B 07 0B 00 T 96 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0C 00 02 09 01 00 +R 00 00 01 00 02 04 0B 00 02 09 00 00 T 9D 00 00 00 F1 F1 DD 7E FC E6 40 28 39 R 00 00 01 00 T A6 00 00 00 @@ -106,15 +106,15 @@ R 00 00 01 00 T B1 00 00 00 5E 04 DD 56 05 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 10 00 T B9 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 10 00 02 09 01 00 +R 00 00 01 00 02 04 10 00 02 09 00 00 T C0 00 00 00 4E FD 06 00 C5 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 00 00 +R 00 00 01 00 2B 0A 08 00 T C8 00 00 00 21 00 00 00 00 E5 DD 6E 02 DD 66 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 08 00 T D1 00 00 00 03 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0C 00 +R 00 00 01 00 2B 07 0B 00 T D6 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0C 00 02 09 01 00 +R 00 00 01 00 02 04 0B 00 02 09 00 00 T DD 00 00 00 F1 F1 R 00 00 01 00 T DF 00 00 00 @@ -124,65 +124,65 @@ R 00 00 01 00 T EA 00 00 00 5E 04 DD 56 05 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 10 00 T F2 00 00 00 00 00 00 00 CD 00 00 00 00 F1 21 -R 00 00 01 00 02 04 10 00 02 09 01 00 +R 00 00 01 00 02 04 10 00 02 09 00 00 T F9 00 00 00 01 00 39 5D 54 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 11 00 T 01 01 00 00 00 00 00 00 CD 00 00 00 00 E5 0E -R 00 00 01 00 02 04 11 00 02 09 01 00 +R 00 00 01 00 02 04 11 00 02 09 00 00 T 08 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 12 00 02 0A 12 00 +R 00 00 01 00 2B 04 1D 00 02 0A 1D 00 T 0E 01 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 16 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 1B 01 00 00 00 00 00 00 F1 F1 F1 F1 DD 7E FC -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 24 01 00 00 E6 10 28 19 R 00 00 01 00 T 28 01 00 00 R 00 00 01 00 T 28 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 13 00 02 0B 13 00 +R 00 00 01 00 2B 05 1E 00 02 0B 1E 00 T 2E 01 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 37 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 3C 01 00 00 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 41 01 00 00 R 00 00 01 00 T 41 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 04 00 02 0B 04 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 T 47 01 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 50 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 55 01 00 00 00 00 00 00 F1 F1 F1 DD 7E FC E6 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 5E 01 00 00 0F FE 0B 20 1C R 00 00 01 00 T 63 01 00 00 R 00 00 01 00 T 63 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 15 00 02 0B 15 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 T 69 01 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 72 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 77 01 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 7D 01 00 00 4D 02 00 00 R 00 00 01 00 00 04 01 00 T 7F 01 00 00 R 00 00 01 00 T 7F 01 00 00 FE 0F 20 1C 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 09 00 +R 00 00 01 00 2B 09 06 00 T 87 01 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 09 00 +R 00 00 01 00 02 04 06 00 T 90 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 T 96 01 00 00 CD 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 00 00 T 9D 01 00 00 4D 02 00 00 R 00 00 01 00 00 04 01 00 T 9F 01 00 00 @@ -194,13 +194,13 @@ R 00 00 01 00 T A6 01 00 00 DD 5E 04 DD 56 05 CD 00 00 00 00 R 00 00 01 00 00 0B 01 00 T AF 01 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 16 00 +R 00 00 01 00 2B 06 15 00 T B4 01 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 16 00 +R 00 00 01 00 02 04 15 00 T BD 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 T C3 01 00 00 CD 00 00 00 00 F1 F1 F1 F1 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 00 00 T CA 01 00 00 R 00 00 01 00 T CA 01 00 00 DD 7E FC E6 02 28 24 @@ -210,13 +210,13 @@ R 00 00 01 00 T D1 01 00 00 DD 5E 04 DD 56 05 CD 00 00 00 00 R 00 00 01 00 00 0B 01 00 T DA 01 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 0E 00 +R 00 00 01 00 2B 06 0D 00 T DF 01 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 0E 00 +R 00 00 01 00 02 04 0D 00 T E8 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 T EE 01 00 00 CD 00 00 00 00 F1 F1 F1 F1 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 00 00 T F5 01 00 00 R 00 00 01 00 T F5 01 00 00 DD 7E FC E6 04 28 24 @@ -226,13 +226,13 @@ R 00 00 01 00 T FC 01 00 00 DD 5E 04 DD 56 05 CD 00 00 00 00 R 00 00 01 00 00 0B 01 00 T 05 02 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 14 00 +R 00 00 01 00 2B 06 13 00 T 0A 02 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 14 00 +R 00 00 01 00 02 04 13 00 T 13 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 T 19 02 00 00 CD 00 00 00 00 F1 F1 F1 F1 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 00 00 T 20 02 00 00 R 00 00 01 00 T 20 02 00 00 DD 7E FC E6 08 28 24 @@ -242,13 +242,13 @@ R 00 00 01 00 T 27 02 00 00 DD 5E 04 DD 56 05 CD 00 00 00 00 R 00 00 01 00 00 0B 01 00 T 30 02 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 1D 00 +R 00 00 01 00 2B 06 1C 00 T 35 02 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 1D 00 +R 00 00 01 00 02 04 1C 00 T 3E 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 T 44 02 00 00 CD 00 00 00 00 F1 F1 F1 F1 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 00 00 T 4B 02 00 00 R 00 00 01 00 T 4B 02 00 00 18 00 @@ -262,33 +262,33 @@ R 00 00 01 00 T 54 02 00 00 DD 5E 04 DD 56 05 CD 00 00 00 00 R 00 00 01 00 00 0B 01 00 T 5D 02 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 18 00 +R 00 00 01 00 2B 06 16 00 T 62 02 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 18 00 +R 00 00 01 00 02 04 16 00 T 6B 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 T 71 02 00 00 CD 00 00 00 00 F1 F1 F1 F1 18 19 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 00 00 T 7A 02 00 00 R 00 00 01 00 T 7A 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 06 00 02 0B 06 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 T 80 02 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 89 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 8E 02 00 00 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 93 02 00 00 R 00 00 01 00 T 93 02 00 00 R 00 00 01 00 T 93 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 07 00 T 96 02 00 00 R 00 00 01 00 T 96 02 00 00 CD 00 00 00 00 F8 FF 0A 6F 03 0A -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 14 00 T 9F 02 00 00 67 DD 75 F8 DD 74 F9 01 0A 00 09 R 00 00 01 00 T AA 02 00 00 7E 23 66 6F 46 DD 70 FC 78 E6 80 @@ -300,15 +300,15 @@ R 00 00 01 00 T B7 02 00 00 DD 6E 04 DD 66 05 5E 23 56 3E R 00 00 01 00 T C1 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 +R 00 00 01 00 2B 04 04 00 02 09 04 00 T C6 02 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 01 00 2B 0A 1E 00 +R 00 00 01 00 02 04 00 00 2B 0A 12 00 T CC 02 00 00 21 00 00 00 00 E5 DD 6E 02 DD 66 -R 00 00 01 00 02 05 1E 00 +R 00 00 01 00 02 05 12 00 T D5 02 00 00 03 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0C 00 +R 00 00 01 00 2B 07 0B 00 T DA 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0C 00 02 09 01 00 +R 00 00 01 00 02 04 0B 00 02 09 00 00 T E1 02 00 00 F1 F1 21 00 00 E5 DD 4E 04 DD 46 R 00 00 01 00 T EC 02 00 00 05 DD 5E 02 DD 56 03 3E @@ -316,7 +316,7 @@ R 00 00 01 00 T F4 02 00 00 5A 00 00 00 21 5A 00 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T F9 02 00 00 00 00 00 00 E1 C3 15 04 00 00 -R 00 00 01 00 02 04 01 00 00 0A 01 00 +R 00 00 01 00 02 04 00 00 00 0A 01 00 T FF 02 00 00 R 00 00 01 00 T FF 02 00 00 DD 7E FC FE 70 DA D0 03 00 00 @@ -324,23 +324,23 @@ R 00 00 01 00 00 0A 01 00 T 07 03 00 00 R 00 00 01 00 T 07 03 00 00 DD 5E F8 DD 56 F9 3E 00 00 00 00 -R 00 00 01 00 2B 0B 08 00 +R 00 00 01 00 2B 0B 04 00 T 0F 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 08 00 02 0A 01 00 +R 00 00 01 00 02 05 04 00 02 0A 00 00 T 16 03 00 00 75 FD DD 74 FE E5 0E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 +R 00 00 01 00 2B 0B 19 00 T 1E 03 00 00 C5 21 00 00 00 00 E5 DD 6E 02 DD -R 00 00 01 00 02 06 02 00 +R 00 00 01 00 02 06 19 00 T 27 03 00 00 66 03 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 0C 00 +R 00 00 01 00 2B 08 0B 00 T 2D 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0C 00 02 09 01 00 +R 00 00 01 00 02 04 0B 00 02 09 00 00 T 34 03 00 00 F1 F1 DD 4E FD DD 46 FE DD 5E F8 R 00 00 01 00 T 3F 03 00 00 DD 56 F9 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 05 00 +R 00 00 01 00 2B 08 02 00 T 45 03 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 05 00 02 09 01 00 +R 00 00 01 00 02 04 02 00 02 09 00 00 T 4C 03 00 00 FA DD 74 FB 7D B4 20 03 R 00 00 01 00 T 54 03 00 00 @@ -354,13 +354,13 @@ R 00 00 01 00 T 62 03 00 00 23 66 6A 11 09 00 19 5E 16 00 D5 R 00 00 01 00 T 6D 03 00 00 1E 00 00 00 00 D5 21 00 00 00 00 -R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 +R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 T 73 03 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 7C 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 81 03 00 00 00 00 00 00 F1 F1 F1 F1 21 0A 00 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 8A 03 00 00 09 7E 23 66 6F 7E E6 4F 77 21 R 00 00 01 00 T 94 03 00 00 0A 00 DD 4E FA DD 46 FB 09 56 23 @@ -370,35 +370,35 @@ R 00 00 01 00 T AA 03 00 00 E5 21 04 00 39 4D 44 DD 5E 02 DD R 00 00 01 00 T B5 03 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 19 00 +R 00 00 01 00 2B 07 17 00 T BA 03 00 00 00 00 00 00 CD 00 00 00 00 E1 21 -R 00 00 01 00 02 04 19 00 02 09 01 00 +R 00 00 01 00 02 04 17 00 02 09 00 00 T C1 03 00 00 02 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 1A 00 +R 00 00 01 00 2B 0A 18 00 T C9 03 00 00 00 00 00 00 CD 00 00 00 00 18 45 -R 00 00 01 00 02 04 1A 00 02 09 01 00 +R 00 00 01 00 02 04 18 00 02 09 00 00 T D0 03 00 00 R 00 00 01 00 T D0 03 00 00 DD 6E 04 DD 66 05 5E 23 56 3E R 00 00 01 00 T DA 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 +R 00 00 01 00 2B 04 04 00 02 09 04 00 T DF 03 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 01 00 2B 0A 07 00 +R 00 00 01 00 02 04 00 00 2B 0A 0E 00 T E5 03 00 00 21 00 00 00 00 E5 DD 6E 02 DD 66 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 0E 00 T EE 03 00 00 03 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0C 00 +R 00 00 01 00 2B 07 0B 00 T F3 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0C 00 02 09 01 00 +R 00 00 01 00 02 04 0B 00 02 09 00 00 T FA 03 00 00 F1 F1 21 01 00 E5 DD 4E 04 DD 46 R 00 00 01 00 T 05 04 00 00 05 DD 5E 02 DD 56 03 3E R 00 00 01 00 T 0D 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 19 00 02 09 19 00 +R 00 00 01 00 2B 04 17 00 02 09 17 00 T 12 04 00 00 00 00 00 00 E1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 15 04 00 00 R 00 00 01 00 T 15 04 00 00 @@ -406,4 +406,4 @@ R 00 00 01 00 T 15 04 00 00 R 00 00 01 00 T 15 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 07 00 diff --git a/src/nos/lib/ppp_lib/slip.rel b/src/nos/lib/ppp_lib/slip.rel index e15da6ee..c02aa5d4 100644 --- a/src/nos/lib/ppp_lib/slip.rel +++ b/src/nos/lib/ppp_lib/slip.rel @@ -1,14 +1,13 @@ XL4 -H 4 areas 2B global symbols +H 4 areas 28 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _secclock Ref00000000 -S _asy_ioctl Ref00000000 +S ?S_V_SWITCH_L06 Ref00000000 S _len_p Ref00000000 S _if_name Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _alloc_mbuf Ref00000000 S _net_route Ref00000000 -S _asy_send Ref00000000 S _slhc_uncompress Ref00000000 S _slhc_remember Ref00000000 S ?LEAVE_DIRECT_L09 Ref00000000 @@ -19,10 +18,8 @@ S _kwait Ref00000000 S _free Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S _slhc_free Ref00000000 -S ___03b6_447c_Too_20many_20slip_2 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?S_MUL_L02 Ref00000000 -S _get_asy Ref00000000 S ?L_INCASG_L03 Ref00000000 S ?SS_CMP_L02 Ref00000000 S _free_p Ref00000000 @@ -33,761 +30,765 @@ S _pull8 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _dump Ref00000000 S _slhc_o_status Ref00000000 -S _slhc_init Ref00000000 +S ___0445_447c_Too_20many_20slip_2 Ref00000000 S _newproc Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 885 flags 0 -S _slip_send Def000001CC -S _slip_rx Def00000654 +A CODE size 85C flags 0 +S _slip_send Def00000178 +S _slip_rx Def00000600 S _slip_init Def00000000 -S _vjslip_send Def0000020B -S _slip_raw Def000002A0 -S _slip_free Def00000174 -S _slip_status Def00000814 +S _vjslip_send Def000001B7 +S _slip_raw Def0000024C +S _slip_free Def00000120 +S _slip_status Def000007C0 A CSTR size 4 flags 0 A UDATA0 size 96 flags 0 S _Slip Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF AF DD 77 FA -R 00 00 01 00 02 05 14 00 +R 00 00 01 00 02 05 12 00 T 09 00 00 00 DD 77 FB R 00 00 01 00 T 0C 00 00 00 R 00 00 01 00 T 0C 00 00 00 01 06 80 DD 6E FA DD 66 FB 3E 80 R 00 00 01 00 -T 17 00 00 00 AC 67 ED 42 30 27 +T 17 00 00 00 AC 67 ED 42 30 3C R 00 00 01 00 T 1D 00 00 00 R 00 00 01 00 T 1D 00 00 00 01 19 00 DD 5E FA DD 56 FB CD R 00 00 01 00 T 27 00 00 00 00 00 00 00 21 00 00 00 00 19 DD -R 00 00 01 00 02 04 15 00 00 09 03 00 -T 2E 00 00 00 75 FC DD 74 FD 7E 23 B6 20 02 +R 00 00 01 00 02 04 13 00 00 09 03 00 +T 2E 00 00 00 75 FC DD 74 FD 46 23 66 68 DD 4E R 00 00 01 00 -T 38 00 00 00 +T 39 00 00 00 02 DD 46 03 A7 ED 42 28 0B DD 6E R 00 00 01 00 -T 38 00 00 00 18 0A +T 44 00 00 00 FC DD 66 FD 7E 23 B6 20 02 R 00 00 01 00 -T 3A 00 00 00 +T 4D 00 00 00 R 00 00 01 00 -T 3A 00 00 00 DD 34 FA 20 03 DD 34 FB +T 4D 00 00 00 R 00 00 01 00 -T 42 00 00 00 +T 4D 00 00 00 R 00 00 01 00 -T 42 00 00 00 18 C8 +T 4D 00 00 00 18 0A R 00 00 01 00 -T 44 00 00 00 +T 4F 00 00 00 R 00 00 01 00 -T 44 00 00 00 01 06 80 DD 6E FA DD 66 FB 3E 80 +T 4F 00 00 00 DD 34 FA 20 03 DD 34 FB R 00 00 01 00 -T 4F 00 00 00 AC 67 ED 42 38 17 +T 57 00 00 00 R 00 00 01 00 -T 55 00 00 00 +T 57 00 00 00 18 B3 R 00 00 01 00 -T 55 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 13 00 02 0B 13 00 -T 5B 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1A 00 02 0B 1A 00 -T 61 00 00 00 CD 00 00 00 00 F1 F1 21 FF FF C3 +T 59 00 00 00 +R 00 00 01 00 +T 59 00 00 00 01 06 80 DD 6E FA DD 66 FB 3E 80 +R 00 00 01 00 +T 64 00 00 00 AC 67 ED 42 38 17 +R 00 00 01 00 +T 6A 00 00 00 +R 00 00 01 00 +T 6A 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 1E 00 02 0B 1E 00 +T 70 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 17 00 02 0B 17 00 +T 76 00 00 00 CD 00 00 00 00 F1 F1 21 FF FF C3 R 00 00 01 00 02 05 00 00 -T 6A 00 00 00 71 01 00 00 +T 7F 00 00 00 1D 01 00 00 R 00 00 01 00 00 04 01 00 -T 6C 00 00 00 +T 81 00 00 00 R 00 00 01 00 -T 6C 00 00 00 21 2E 00 DD 4E 02 DD 46 03 09 36 +T 81 00 00 00 21 31 00 DD 4E 02 DD 46 03 09 36 R 00 00 01 00 -T 77 00 00 00 00 00 00 00 23 36 00 00 00 00 23 -R 00 00 01 00 0B 04 02 00 8B 0A 02 00 -T 7C 00 00 00 36 00 00 00 00 21 45 00 09 36 -R 00 00 01 00 2B 05 02 00 -T 83 00 00 00 A0 02 00 00 23 36 A0 02 00 00 23 +T 8C 00 00 00 31 08 00 00 23 36 31 08 00 00 23 R 00 00 01 00 09 04 01 00 89 0A 01 00 -T 88 00 00 00 36 A0 02 00 00 21 48 00 09 36 +T 91 00 00 00 36 31 08 00 00 21 45 00 09 36 R 00 00 01 00 29 05 01 00 -T 8F 00 00 00 14 08 00 00 23 36 14 08 00 00 23 +T 98 00 00 00 4C 02 00 00 23 36 4C 02 00 00 23 R 00 00 01 00 09 04 01 00 89 0A 01 00 -T 94 00 00 00 36 14 08 00 00 21 3B 00 09 DD 5E +T 9D 00 00 00 36 4C 02 00 00 21 48 00 09 36 R 00 00 01 00 29 05 01 00 -T 9C 00 00 00 FA DD 56 FB 73 23 72 DD 6E FC DD -R 00 00 01 00 -T A7 00 00 00 66 FD 71 23 70 21 11 00 DD 5E FC -R 00 00 01 00 -T B2 00 00 00 DD 56 FD 19 36 00 00 00 00 23 36 -R 00 00 01 00 0B 09 08 00 -T BA 00 00 00 00 00 00 00 23 36 00 00 00 00 21 -R 00 00 01 00 8B 04 08 00 2B 0A 08 00 -T BF 00 00 00 14 00 19 36 00 00 00 00 23 36 -R 00 00 01 00 0B 08 16 00 -T C6 00 00 00 00 00 00 00 23 36 00 00 00 00 21 -R 00 00 01 00 8B 04 16 00 2B 0A 16 00 -T CB 00 00 00 0F 00 19 36 06 23 36 00 21 3F 00 -R 00 00 01 00 -T D6 00 00 00 09 4E 23 46 23 7E 69 60 0E -R 00 00 01 00 -T DF 00 00 00 0B 02 00 00 11 0B 02 00 00 B9 20 -R 00 00 01 00 29 04 01 00 00 09 01 00 -T E5 00 00 00 23 ED 52 20 1F -R 00 00 01 00 -T EA 00 00 00 -R 00 00 01 00 -T EA 00 00 00 21 17 00 DD 4E FC DD 46 FD 09 E5 -R 00 00 01 00 -T F5 00 00 00 01 10 00 11 10 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 21 00 -T FD 00 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 21 00 02 0A 00 00 -T 04 01 00 00 44 E1 71 23 70 -R 00 00 01 00 -T 09 01 00 00 -R 00 00 01 00 -T 09 01 00 00 21 18 00 DD 4E 02 DD 46 03 09 E5 +T A4 00 00 00 C0 07 00 00 23 36 C0 07 00 00 23 +R 00 00 01 00 09 04 01 00 89 0A 01 00 +T A9 00 00 00 36 C0 07 00 00 21 3B 00 09 DD 5E +R 00 00 01 00 29 05 01 00 +T B1 00 00 00 FA DD 56 FB 73 23 72 DD 6E FC DD R 00 00 01 00 -T 14 01 00 00 11 00 00 D5 11 00 00 D5 11 00 00 +T BC 00 00 00 66 FD 71 23 70 21 18 00 09 E5 01 R 00 00 01 00 -T 1F 01 00 00 D5 DD 5E FA DD 56 FB D5 1E +T C7 00 00 00 00 00 C5 01 00 00 C5 01 00 00 C5 R 00 00 01 00 -T 28 01 00 00 54 06 00 00 D5 11 54 06 00 00 D5 -R 00 00 01 00 29 04 01 00 00 0A 01 00 -T 2E 01 00 00 01 00 02 C5 01 00 00 00 00 DD 5E -R 00 00 01 00 00 09 02 00 -T 37 01 00 00 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 04 00 -T 3E 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 04 00 02 09 00 00 -T 45 01 00 00 FE DD 74 FF EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 22 00 -T 4D 01 00 00 00 00 00 00 C1 CD 00 00 00 00 EB -R 00 00 01 00 02 04 22 00 02 0A 00 00 -T 54 01 00 00 21 0C 00 39 F9 EB 4D 44 E1 71 23 +T D2 00 00 00 D5 0E 00 06 00 00 C5 01 +R 00 00 01 00 29 06 01 00 +T D7 00 00 00 00 06 00 00 C5 01 00 01 C5 01 +R 00 00 01 00 00 04 01 00 +T DF 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E +R 00 00 01 00 00 04 02 00 +T E8 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 04 00 02 09 04 00 +T ED 00 00 00 00 00 00 00 DD 75 FE DD 74 FF EB +R 00 00 01 00 02 04 00 00 +T F6 00 00 00 3E 00 00 00 00 21 00 00 00 00 C1 +R 00 00 01 00 2B 05 1F 00 02 0A 1F 00 +T FC 00 00 00 CD 00 00 00 00 EB 21 0C 00 39 F9 +R 00 00 01 00 02 05 00 00 +T 05 01 00 00 EB 4D 44 E1 71 23 70 DD 5E FE DD R 00 00 01 00 -T 5F 01 00 00 70 DD 5E FE DD 56 FF 3E +T 10 01 00 00 56 FF 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 0F 00 +T 15 01 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 0F 00 02 09 00 00 +T 1B 01 00 00 00 00 R 00 00 01 00 -T 67 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 10 00 02 09 10 00 -T 6C 01 00 00 00 00 00 00 21 00 00 -R 00 00 01 00 02 04 00 00 -T 71 01 00 00 +T 1D 01 00 00 R 00 00 01 00 -T 71 01 00 00 C3 00 00 00 00 +T 1D 01 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 05 00 -T 74 01 00 00 +T 20 01 00 00 R 00 00 01 00 -T 74 01 00 00 CD 00 00 00 00 FE FF 21 3B 00 DD -R 00 00 01 00 02 05 14 00 -T 7D 01 00 00 4E 02 DD 46 03 09 4E 23 46 11 +T 20 01 00 00 CD 00 00 00 00 FE FF 21 3B 00 DD +R 00 00 01 00 02 05 12 00 +T 29 01 00 00 4E 02 DD 46 03 09 4E 23 46 11 R 00 00 01 00 -T 87 01 00 00 19 00 CD 00 00 00 00 21 -R 00 00 01 00 02 07 15 00 -T 8D 01 00 00 00 00 00 00 19 DD 75 FE DD 74 FF +T 33 01 00 00 19 00 CD 00 00 00 00 21 +R 00 00 01 00 02 07 13 00 +T 39 01 00 00 00 00 00 00 19 DD 75 FE DD 74 FF R 00 00 01 00 00 04 03 00 -T 96 01 00 00 01 17 00 09 7E 23 B6 28 1D +T 42 01 00 00 01 17 00 09 7E 23 B6 28 1D R 00 00 01 00 -T 9F 01 00 00 +T 4B 01 00 00 R 00 00 01 00 -T 9F 01 00 00 21 17 00 DD 4E FE DD 46 FF 09 5E +T 4B 01 00 00 21 17 00 DD 4E FE DD 46 FF 09 5E R 00 00 01 00 -T AA 01 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 12 00 -T AF 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 12 00 02 09 00 00 -T B5 01 00 00 17 00 09 AF 77 23 77 +T 56 01 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 11 00 +T 5B 01 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 11 00 02 09 00 00 +T 61 01 00 00 17 00 09 AF 77 23 77 R 00 00 01 00 -T BC 01 00 00 +T 68 01 00 00 R 00 00 01 00 -T BC 01 00 00 DD 6E FE DD 66 FF AF 77 23 77 21 +T 68 01 00 00 DD 6E FE DD 66 FF AF 77 23 77 21 R 00 00 01 00 -T C7 01 00 00 00 00 C3 00 00 00 00 +T 73 01 00 00 00 00 C3 00 00 00 00 R 00 00 01 00 02 07 05 00 -T CC 01 00 00 +T 78 01 00 00 R 00 00 01 00 -T CC 01 00 00 CD 00 00 00 00 79 B0 20 13 -R 00 00 01 00 02 05 11 00 -T D3 01 00 00 +T 78 01 00 00 CD 00 00 00 00 79 B0 20 13 +R 00 00 01 00 02 05 10 00 +T 7F 01 00 00 R 00 00 01 00 -T D3 01 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 19 00 -T DB 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 19 00 02 0A 00 00 -T E2 01 00 00 FF FF 18 22 +T 7F 01 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 16 00 +T 87 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 16 00 02 0A 00 00 +T 8E 01 00 00 FF FF 18 22 R 00 00 01 00 -T E6 01 00 00 +T 92 01 00 00 R 00 00 01 00 -T E6 01 00 00 DD 4E 02 DD 46 03 C5 DD 5E 04 DD +T 92 01 00 00 DD 4E 02 DD 46 03 C5 DD 5E 04 DD R 00 00 01 00 -T F1 01 00 00 56 05 21 45 00 DD 4E 04 DD 46 05 +T 9D 01 00 00 56 05 21 45 00 DD 4E 04 DD 46 05 R 00 00 01 00 -T FC 01 00 00 09 4E 23 46 23 7E 69 60 C1 CD +T A8 01 00 00 09 4E 23 46 23 7E 69 60 C1 CD R 00 00 01 00 -T 06 02 00 00 00 00 00 00 +T B2 01 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 -T 08 02 00 00 +T B4 01 00 00 R 00 00 01 00 -T 08 02 00 00 C3 00 00 00 00 +T B4 01 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 05 00 -T 0B 02 00 00 +T B7 01 00 00 R 00 00 01 00 -T 0B 02 00 00 CD 00 00 00 00 FC FF 79 B0 20 13 -R 00 00 01 00 02 05 14 00 -T 14 02 00 00 +T B7 01 00 00 CD 00 00 00 00 FC FF 79 B0 20 13 +R 00 00 01 00 02 05 12 00 +T C0 01 00 00 R 00 00 01 00 -T 14 02 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 19 00 -T 1C 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 19 00 02 0A 00 00 -T 23 02 00 00 FF FF 18 76 +T C0 01 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 16 00 +T C8 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 16 00 02 0A 00 00 +T CF 01 00 00 FF FF 18 76 R 00 00 01 00 -T 27 02 00 00 +T D3 01 00 00 R 00 00 01 00 -T 27 02 00 00 21 3B 00 DD 4E 04 DD 46 05 09 5E +T D3 01 00 00 21 3B 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 -T 32 02 00 00 23 56 01 19 00 CD 00 00 00 00 21 -R 00 00 01 00 02 0A 15 00 -T 3B 02 00 00 00 00 00 00 19 DD 75 FC DD 74 FD +T DE 01 00 00 23 56 01 19 00 CD 00 00 00 00 21 +R 00 00 01 00 02 0A 13 00 +T E7 01 00 00 00 00 00 00 19 DD 75 FC DD 74 FD R 00 00 01 00 00 04 03 00 -T 44 02 00 00 01 01 00 C5 DD 4E 02 DD 46 03 11 +T F0 01 00 00 01 01 00 C5 DD 4E 02 DD 46 03 11 R 00 00 01 00 -T 4F 02 00 00 17 00 19 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1C 00 -T 57 02 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 1C 00 02 0A 00 00 -T 5E 02 00 00 DD 75 FE DD 74 FF DD 6E 02 DD 66 +T FB 01 00 00 17 00 19 5E 23 56 3E 00 00 00 00 +R 00 00 01 00 2B 0B 19 00 +T 03 02 00 00 21 00 00 00 00 CD 00 00 00 00 F1 +R 00 00 01 00 02 05 19 00 02 0A 00 00 +T 0A 02 00 00 DD 75 FE DD 74 FF DD 6E 02 DD 66 R 00 00 01 00 -T 69 02 00 00 03 46 23 66 68 01 0A 00 09 7E 23 +T 15 02 00 00 03 46 23 66 68 01 0A 00 09 7E 23 R 00 00 01 00 -T 74 02 00 00 66 6F 7E DD B6 FE 77 DD 4E 02 DD +T 20 02 00 00 66 6F 7E DD B6 FE 77 DD 4E 02 DD R 00 00 01 00 -T 7F 02 00 00 46 03 C5 DD 5E 04 DD 56 05 21 +T 2B 02 00 00 46 03 C5 DD 5E 04 DD 56 05 21 R 00 00 01 00 -T 89 02 00 00 45 00 DD 4E 04 DD 46 05 09 4E 23 +T 35 02 00 00 45 00 DD 4E 04 DD 46 05 09 4E 23 R 00 00 01 00 -T 94 02 00 00 46 23 7E 69 60 C1 CD 00 00 00 00 +T 40 02 00 00 46 23 7E 69 60 C1 CD 00 00 00 00 R 00 00 01 00 02 0B 00 00 -T 9D 02 00 00 +T 49 02 00 00 R 00 00 01 00 -T 9D 02 00 00 C3 00 00 00 00 +T 49 02 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 05 00 -T A0 02 00 00 +T 4C 02 00 00 R 00 00 01 00 -T A0 02 00 00 CD 00 00 00 00 FE FF 69 60 4E 23 -R 00 00 01 00 02 05 14 00 -T A9 02 00 00 46 C5 01 01 00 DD 5E 02 DD 56 03 +T 4C 02 00 00 CD 00 00 00 00 FE FF 69 60 4E 23 +R 00 00 01 00 02 05 12 00 +T 55 02 00 00 46 C5 01 01 00 DD 5E 02 DD 56 03 R 00 00 01 00 -T B4 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1F 00 02 0A 1F 00 -T BA 02 00 00 00 00 00 00 E1 21 55 00 DD 4E 02 +T 60 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 1C 00 02 0A 1C 00 +T 66 02 00 00 00 00 00 00 E1 21 55 00 DD 4E 02 R 00 00 01 00 02 04 00 00 -T C3 02 00 00 DD 46 03 09 CD 00 00 00 00 21 -R 00 00 01 00 02 09 17 00 -T CB 02 00 00 61 00 DD 4E 02 DD 46 03 09 E5 3E +T 6F 02 00 00 DD 46 03 09 CD 00 00 00 00 21 +R 00 00 01 00 02 09 14 00 +T 77 02 00 00 61 00 DD 4E 02 DD 46 03 09 E5 3E R 00 00 01 00 -T D6 02 00 00 00 00 00 00 21 00 00 00 00 CD +T 82 02 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 01 00 02 09 01 00 -T DB 02 00 00 00 00 00 00 EB E1 73 23 72 23 71 +T 87 02 00 00 00 00 00 00 EB E1 73 23 72 23 71 R 00 00 01 00 02 04 00 00 -T E4 02 00 00 23 70 DD 5E 04 DD 56 05 CD +T 90 02 00 00 23 70 DD 5E 04 DD 56 05 CD R 00 00 01 00 -T ED 02 00 00 67 03 00 00 DD 75 FE DD 74 FF 7D +T 99 02 00 00 13 03 00 00 DD 75 FE DD 74 FF 7D R 00 00 01 00 00 04 01 00 -T F6 02 00 00 B4 20 05 +T A2 02 00 00 B4 20 05 R 00 00 01 00 -T F9 02 00 00 +T A5 02 00 00 R 00 00 01 00 -T F9 02 00 00 21 FF FF 18 66 +T A5 02 00 00 21 FF FF 18 66 R 00 00 01 00 -T FE 02 00 00 +T AA 02 00 00 R 00 00 01 00 -T FE 02 00 00 21 12 00 DD 4E 02 DD 46 03 09 7E +T AA 02 00 00 21 12 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 09 03 00 00 E6 00 47 23 7E E6 20 B0 28 19 +T B5 02 00 00 E6 00 47 23 7E E6 20 B0 28 19 R 00 00 01 00 -T 13 03 00 00 +T BF 02 00 00 R 00 00 01 00 -T 13 03 00 00 DD 6E FE DD 66 FF E5 01 FF FF DD +T BF 02 00 00 DD 6E FE DD 66 FF E5 01 FF FF DD R 00 00 01 00 -T 1E 03 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0E 00 -T 26 03 00 00 00 00 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 02 04 0E 00 02 09 00 00 -T 2C 03 00 00 +T CA 02 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0D 00 +T D2 02 00 00 00 00 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 04 0D 00 02 09 00 00 +T D8 02 00 00 R 00 00 01 00 -T 2C 03 00 00 21 00 00 39 4D 44 C5 21 2C 00 DD +T D8 02 00 00 21 00 00 39 4D 44 C5 21 2C 00 DD R 00 00 01 00 -T 37 03 00 00 5E 02 DD 56 03 19 5E 23 56 D5 21 +T E3 02 00 00 5E 02 DD 56 03 19 5E 23 56 D5 21 R 00 00 01 00 -T 42 03 00 00 3B 00 DD 4E 02 DD 46 03 09 4E 23 +T EE 02 00 00 3B 00 DD 4E 02 DD 46 03 09 4E 23 R 00 00 01 00 -T 4D 03 00 00 46 11 19 00 CD 00 00 00 00 21 -R 00 00 01 00 02 09 15 00 -T 55 03 00 00 11 00 00 00 19 4E 23 46 23 7E 69 +T F9 02 00 00 46 11 19 00 CD 00 00 00 00 21 +R 00 00 01 00 02 09 13 00 +T 01 03 00 00 11 00 00 00 19 4E 23 46 23 7E 69 R 00 00 01 00 00 04 03 00 -T 5E 03 00 00 60 D1 C1 CD 00 00 00 00 +T 0A 03 00 00 60 D1 C1 CD 00 00 00 00 R 00 00 01 00 02 08 00 00 -T 64 03 00 00 +T 10 03 00 00 R 00 00 01 00 -T 64 03 00 00 C3 00 00 00 00 +T 10 03 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 05 00 -T 67 03 00 00 +T 13 03 00 00 R 00 00 01 00 -T 67 03 00 00 CD 00 00 00 00 FA FF DD 6E 02 DD -R 00 00 01 00 02 05 14 00 -T 70 03 00 00 66 03 5E 23 56 3E 00 00 00 00 21 +T 13 03 00 00 CD 00 00 00 00 FA FF DD 6E 02 DD +R 00 00 01 00 02 05 12 00 +T 1C 03 00 00 66 03 5E 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 03 00 -T 78 03 00 00 00 00 00 00 CD 00 00 00 00 29 EB +T 24 03 00 00 00 00 00 00 CD 00 00 00 00 29 EB R 00 00 01 00 02 04 03 00 02 09 00 00 -T 7F 03 00 00 13 13 3E 00 00 00 00 21 +T 2B 03 00 00 13 13 3E 00 00 00 00 21 R 00 00 01 00 2B 07 06 00 -T 84 03 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +T 30 03 00 00 00 00 00 00 CD 00 00 00 00 DD 75 R 00 00 01 00 02 04 06 00 02 09 00 00 -T 8B 03 00 00 FA DD 74 FB 7D B4 20 14 +T 37 03 00 00 FA DD 74 FB 7D B4 20 14 R 00 00 01 00 -T 93 03 00 00 +T 3F 03 00 00 R 00 00 01 00 -T 93 03 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 19 00 -T 9B 03 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 19 00 02 0A 00 00 -T A2 03 00 00 00 00 C3 7B 04 00 00 +T 3F 03 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 16 00 +T 47 03 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 16 00 02 0A 00 00 +T 4E 03 00 00 00 00 C3 27 04 00 00 R 00 00 01 00 00 07 01 00 -T A7 03 00 00 +T 53 03 00 00 R 00 00 01 00 -T A7 03 00 00 21 0A 00 DD 4E FA DD 46 FB 09 46 +T 53 03 00 00 21 0A 00 DD 4E FA DD 46 FB 09 46 R 00 00 01 00 -T B2 03 00 00 23 66 68 DD 75 FC DD 74 FD 23 DD +T 5E 03 00 00 23 66 68 DD 75 FC DD 74 FD 23 DD R 00 00 01 00 -T BD 03 00 00 75 FC DD 74 FD 2B 36 C0 +T 69 03 00 00 75 FC DD 74 FD 2B 36 C0 R 00 00 01 00 -T C5 03 00 00 +T 71 03 00 00 R 00 00 01 00 -T C5 03 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1D 00 -T CD 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 1D 00 02 0A 00 00 -T D4 03 00 00 75 FE DD 74 FF 7D A4 3C 28 6B +T 71 03 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1A 00 +T 79 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 1A 00 02 0A 00 00 +T 80 03 00 00 75 FE DD 74 FF 7D A4 3C 28 6B R 00 00 01 00 -T DE 03 00 00 +T 8A 03 00 00 R 00 00 01 00 -T DE 03 00 00 DD 4E FE DD 46 FF 3E DB A9 B0 20 +T 8A 03 00 00 DD 4E FE DD 46 FF 3E DB A9 B0 20 R 00 00 01 00 -T E9 03 00 00 22 +T 95 03 00 00 22 R 00 00 01 00 -T EA 03 00 00 +T 96 03 00 00 R 00 00 01 00 -T EA 03 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD +T 96 03 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD R 00 00 01 00 -T F5 03 00 00 74 FD 2B 36 DB DD 6E FC DD 66 FD +T A1 03 00 00 74 FD 2B 36 DB DD 6E FC DD 66 FD R 00 00 01 00 -T 00 04 00 00 23 DD 75 FC DD 74 FD 2B 36 DD 18 +T AC 03 00 00 23 DD 75 FC DD 74 FD 2B 36 DD 18 R 00 00 01 00 -T 0B 04 00 00 3A +T B7 03 00 00 3A R 00 00 01 00 -T 0C 04 00 00 +T B8 03 00 00 R 00 00 01 00 -T 0C 04 00 00 3E C0 A9 B0 20 22 DD 6E FC DD 66 +T B8 03 00 00 3E C0 A9 B0 20 22 DD 6E FC DD 66 R 00 00 01 00 -T 17 04 00 00 FD 23 DD 75 FC DD 74 FD 2B 36 DB +T C3 03 00 00 FD 23 DD 75 FC DD 74 FD 2B 36 DB R 00 00 01 00 -T 22 04 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD +T CE 03 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD R 00 00 01 00 -T 2D 04 00 00 74 FD 2B 36 DC 18 12 +T D9 03 00 00 74 FD 2B 36 DC 18 12 R 00 00 01 00 -T 34 04 00 00 +T E0 03 00 00 R 00 00 01 00 -T 34 04 00 00 DD 46 FE DD 6E FC DD 66 FD 23 DD +T E0 03 00 00 DD 46 FE DD 6E FC DD 66 FD 23 DD R 00 00 01 00 -T 3F 04 00 00 75 FC DD 74 FD 2B 70 +T EB 03 00 00 75 FC DD 74 FD 2B 70 R 00 00 01 00 -T 46 04 00 00 +T F2 03 00 00 R 00 00 01 00 -T 46 04 00 00 C3 C5 03 00 00 +T F2 03 00 00 C3 71 03 00 00 R 00 00 01 00 00 05 01 00 -T 49 04 00 00 +T F5 03 00 00 R 00 00 01 00 -T 49 04 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD +T F5 03 00 00 DD 6E FC DD 66 FD 23 DD 75 FC DD R 00 00 01 00 -T 54 04 00 00 74 FD 2B 36 C0 21 0C 00 DD 4E FA +T 00 04 00 00 74 FD 2B 36 C0 21 0C 00 DD 4E FA R 00 00 01 00 -T 5F 04 00 00 DD 46 FB 09 E5 21 0A 00 09 5E 23 +T 0B 04 00 00 DD 46 FB 09 E5 21 0A 00 09 5E 23 R 00 00 01 00 -T 6A 04 00 00 56 DD 6E FC DD 66 FD A7 ED 52 EB +T 16 04 00 00 56 DD 6E FC DD 66 FD A7 ED 52 EB R 00 00 01 00 -T 75 04 00 00 E1 73 23 72 69 60 +T 21 04 00 00 E1 73 23 72 69 60 R 00 00 01 00 -T 7B 04 00 00 +T 27 04 00 00 R 00 00 01 00 -T 7B 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0B 00 -T 7E 04 00 00 +T 27 04 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 0A 00 +T 2A 04 00 00 R 00 00 01 00 -T 7E 04 00 00 CD 00 00 00 00 FE FF 79 FE C0 20 -R 00 00 01 00 02 05 14 00 -T 87 04 00 00 56 +T 2A 04 00 00 CD 00 00 00 00 FE FF 79 FE C0 20 +R 00 00 01 00 02 05 12 00 +T 33 04 00 00 56 R 00 00 01 00 -T 88 04 00 00 +T 34 04 00 00 R 00 00 01 00 -T 88 04 00 00 DD 6E 02 DD 66 03 23 23 23 46 23 +T 34 04 00 00 DD 6E 02 DD 66 03 23 23 23 46 23 R 00 00 01 00 -T 93 04 00 00 66 68 DD 75 FE DD 74 FF DD 6E 02 +T 3F 04 00 00 66 68 DD 75 FE DD 74 FF DD 6E 02 R 00 00 01 00 -T 9E 04 00 00 DD 66 03 23 23 23 AF 77 23 77 DD +T 4A 04 00 00 DD 66 03 23 23 23 AF 77 23 77 DD R 00 00 01 00 -T A9 04 00 00 6E 02 DD 66 03 23 23 7E B7 28 15 +T 55 04 00 00 6E 02 DD 66 03 23 23 7E B7 28 15 R 00 00 01 00 -T B4 04 00 00 +T 60 04 00 00 R 00 00 01 00 -T B4 04 00 00 21 00 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 19 00 -T BC 04 00 00 21 00 00 00 00 CD 00 00 00 00 AF -R 00 00 01 00 02 05 19 00 02 0A 00 00 -T C3 04 00 00 DD 77 FE DD 77 FF +T 60 04 00 00 21 00 00 39 5D 54 3E 00 00 00 00 +R 00 00 01 00 2B 0B 16 00 +T 68 04 00 00 21 00 00 00 00 CD 00 00 00 00 AF +R 00 00 01 00 02 05 16 00 02 0A 00 00 +T 6F 04 00 00 DD 77 FE DD 77 FF R 00 00 01 00 -T C9 04 00 00 +T 75 04 00 00 R 00 00 01 00 -T C9 04 00 00 DD 6E 02 DD 66 03 23 23 7E E6 FE +T 75 04 00 00 DD 6E 02 DD 66 03 23 23 7E E6 FE R 00 00 01 00 -T D4 04 00 00 77 DD 6E FE DD 66 FF C3 +T 80 04 00 00 77 DD 6E FE DD 66 FF C3 R 00 00 01 00 -T DC 04 00 00 51 06 00 00 +T 88 04 00 00 FD 05 00 00 R 00 00 01 00 00 04 01 00 -T DE 04 00 00 +T 8A 04 00 00 R 00 00 01 00 -T DE 04 00 00 FE DB 20 12 DD 6E 02 DD 66 03 23 +T 8A 04 00 00 FE DB 20 12 DD 6E 02 DD 66 03 23 R 00 00 01 00 -T E9 04 00 00 23 7E F6 01 77 21 00 00 C3 +T 95 04 00 00 23 7E F6 01 77 21 00 00 C3 R 00 00 01 00 -T F2 04 00 00 51 06 00 00 +T 9E 04 00 00 FD 05 00 00 R 00 00 01 00 00 04 01 00 -T F4 04 00 00 +T A0 04 00 00 R 00 00 01 00 -T F4 04 00 00 DD 6E 02 DD 66 03 23 23 7E E6 01 +T A0 04 00 00 DD 6E 02 DD 66 03 23 23 7E E6 01 R 00 00 01 00 -T FF 04 00 00 28 34 +T AB 04 00 00 28 34 R 00 00 01 00 -T 01 05 00 00 +T AD 04 00 00 R 00 00 01 00 -T 01 05 00 00 DD 6E 02 DD 66 03 23 23 7E E6 FE +T AD 04 00 00 DD 6E 02 DD 66 03 23 23 7E E6 FE R 00 00 01 00 -T 0C 05 00 00 77 DD 7E 04 FE DD 20 06 +T B8 04 00 00 77 DD 7E 04 FE DD 20 06 R 00 00 01 00 -T 14 05 00 00 +T C0 04 00 00 R 00 00 01 00 -T 14 05 00 00 DD 36 04 DB 18 1B +T C0 04 00 00 DD 36 04 DB 18 1B R 00 00 01 00 -T 1A 05 00 00 +T C6 04 00 00 R 00 00 01 00 -T 1A 05 00 00 FE DC 20 06 DD 36 04 C0 18 11 +T C6 04 00 00 FE DC 20 06 DD 36 04 C0 18 11 R 00 00 01 00 -T 24 05 00 00 +T D0 04 00 00 R 00 00 01 00 -T 24 05 00 00 21 0D 00 DD 4E 02 DD 46 03 09 34 +T D0 04 00 00 21 0D 00 DD 4E 02 DD 46 03 09 34 R 00 00 01 00 -T 2F 05 00 00 23 20 01 34 +T DB 04 00 00 23 20 01 34 R 00 00 01 00 -T 33 05 00 00 +T DF 04 00 00 R 00 00 01 00 -T 33 05 00 00 18 00 +T DF 04 00 00 18 00 R 00 00 01 00 -T 35 05 00 00 +T E1 04 00 00 R 00 00 01 00 -T 35 05 00 00 +T E1 04 00 00 R 00 00 01 00 -T 35 05 00 00 DD 6E 02 DD 66 03 23 23 23 7E 23 +T E1 04 00 00 DD 6E 02 DD 66 03 23 23 23 7E 23 R 00 00 01 00 -T 40 05 00 00 B6 20 51 +T EC 04 00 00 B6 20 51 R 00 00 01 00 -T 43 05 00 00 +T EF 04 00 00 R 00 00 01 00 -T 43 05 00 00 21 05 00 DD 4E 02 DD 46 03 09 E5 +T EF 04 00 00 21 05 00 DD 4E 02 DD 46 03 09 E5 R 00 00 01 00 -T 4E 05 00 00 69 60 23 23 23 E5 11 80 00 3E +T FA 04 00 00 69 60 23 23 23 E5 11 80 00 3E R 00 00 01 00 -T 58 05 00 00 00 00 00 00 21 00 00 00 00 CD +T 04 05 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 06 00 02 09 06 00 -T 5D 05 00 00 00 00 00 00 4D 44 E1 71 23 70 E1 +T 09 05 00 00 00 00 00 00 4D 44 E1 71 23 70 E1 R 00 00 01 00 02 04 00 00 -T 66 05 00 00 71 23 70 79 B0 20 06 +T 12 05 00 00 71 23 70 79 B0 20 06 R 00 00 01 00 -T 6D 05 00 00 +T 19 05 00 00 R 00 00 01 00 -T 6D 05 00 00 21 00 00 C3 51 06 00 00 +T 19 05 00 00 21 00 00 C3 FD 05 00 00 R 00 00 01 00 00 08 01 00 -T 73 05 00 00 +T 1F 05 00 00 R 00 00 01 00 -T 73 05 00 00 21 07 00 DD 4E 02 DD 46 03 09 E5 +T 1F 05 00 00 21 07 00 DD 4E 02 DD 46 03 09 E5 R 00 00 01 00 -T 7E 05 00 00 03 03 03 0A 6F 03 0A 67 01 0A 00 +T 2A 05 00 00 03 03 03 0A 6F 03 0A 67 01 0A 00 R 00 00 01 00 -T 89 05 00 00 09 4E 23 46 E1 71 23 70 C3 +T 35 05 00 00 09 4E 23 46 E1 71 23 70 C3 R 00 00 01 00 -T 92 05 00 00 26 06 00 00 +T 3E 05 00 00 D2 05 00 00 R 00 00 01 00 00 04 01 00 -T 94 05 00 00 +T 40 05 00 00 R 00 00 01 00 -T 94 05 00 00 21 05 00 DD 4E 02 DD 46 03 09 46 +T 40 05 00 00 21 05 00 DD 4E 02 DD 46 03 09 46 R 00 00 01 00 -T 9F 05 00 00 23 66 68 01 0C 00 09 3E 80 AE 23 +T 4B 05 00 00 23 66 68 01 0C 00 09 3E 80 AE 23 R 00 00 01 00 -T AA 05 00 00 B6 20 79 +T 56 05 00 00 B6 20 79 R 00 00 01 00 -T AD 05 00 00 +T 59 05 00 00 R 00 00 01 00 -T AD 05 00 00 21 05 00 DD 4E 02 DD 46 03 09 7E +T 59 05 00 00 21 05 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T B8 05 00 00 23 66 6F E5 11 80 00 3E +T 64 05 00 00 23 66 6F E5 11 80 00 3E R 00 00 01 00 -T C0 05 00 00 00 00 00 00 21 00 00 00 00 CD +T 6C 05 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 06 00 02 09 06 00 -T C5 05 00 00 00 00 00 00 4D 44 E1 71 23 70 79 +T 71 05 00 00 00 00 00 00 4D 44 E1 71 23 70 79 R 00 00 01 00 02 04 00 00 -T CE 05 00 00 B0 20 23 +T 7A 05 00 00 B0 20 23 R 00 00 01 00 -T D1 05 00 00 +T 7D 05 00 00 R 00 00 01 00 -T D1 05 00 00 DD 5E 02 DD 56 03 13 13 13 3E +T 7D 05 00 00 DD 5E 02 DD 56 03 13 13 13 3E R 00 00 01 00 -T DB 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 19 00 02 09 19 00 -T E0 05 00 00 00 00 00 00 DD 6E 02 DD 66 03 23 +T 87 05 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 16 00 02 09 16 00 +T 8C 05 00 00 00 00 00 00 DD 6E 02 DD 66 03 23 R 00 00 01 00 02 04 00 00 -T E9 05 00 00 23 23 AF 77 23 77 21 00 00 18 5D +T 95 05 00 00 23 23 AF 77 23 77 21 00 00 18 5D R 00 00 01 00 -T F4 05 00 00 +T A0 05 00 00 R 00 00 01 00 -T F4 05 00 00 21 05 00 DD 4E 02 DD 46 03 09 E5 +T A0 05 00 00 21 05 00 DD 4E 02 DD 46 03 09 E5 R 00 00 01 00 -T FF 05 00 00 21 05 00 09 7E 23 66 6F 5E 23 56 +T AB 05 00 00 21 05 00 09 7E 23 66 6F 5E 23 56 R 00 00 01 00 -T 0A 06 00 00 E1 73 23 72 21 07 00 09 E5 21 +T B6 05 00 00 E1 73 23 72 21 07 00 09 E5 21 R 00 00 01 00 -T 14 06 00 00 05 00 09 46 23 66 68 01 0A 00 09 +T C0 05 00 00 05 00 09 46 23 66 68 01 0A 00 09 R 00 00 01 00 -T 1F 06 00 00 4E 23 46 E1 71 23 70 +T CB 05 00 00 4E 23 46 E1 71 23 70 R 00 00 01 00 -T 26 06 00 00 +T D2 05 00 00 R 00 00 01 00 -T 26 06 00 00 +T D2 05 00 00 R 00 00 01 00 -T 26 06 00 00 21 07 00 DD 4E 02 DD 46 03 09 5E +T D2 05 00 00 21 07 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 -T 31 06 00 00 23 56 13 72 2B 73 1B EB DD 56 04 +T DD 05 00 00 23 56 13 72 2B 73 1B EB DD 56 04 R 00 00 01 00 -T 3C 06 00 00 72 21 05 00 09 46 23 66 68 01 +T E8 05 00 00 72 21 05 00 09 46 23 66 68 01 R 00 00 01 00 -T 46 06 00 00 0C 00 09 34 23 20 01 34 +T F2 05 00 00 0C 00 09 34 23 20 01 34 R 00 00 01 00 -T 4E 06 00 00 +T FA 05 00 00 R 00 00 01 00 -T 4E 06 00 00 21 00 00 +T FA 05 00 00 21 00 00 R 00 00 01 00 -T 51 06 00 00 +T FD 05 00 00 R 00 00 01 00 -T 51 06 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0B 00 -T 54 06 00 00 +T FD 05 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 0A 00 +T 00 06 00 00 R 00 00 01 00 -T 54 06 00 00 CD 00 00 00 00 F8 FF 11 19 00 DD -R 00 00 01 00 02 05 14 00 -T 5D 06 00 00 4E 02 DD 46 03 CD 00 00 00 00 21 -R 00 00 01 00 02 0A 15 00 -T 66 06 00 00 00 00 00 00 19 DD 75 FC DD 74 FD +T 00 06 00 00 CD 00 00 00 00 F8 FF 11 19 00 DD +R 00 00 01 00 02 05 12 00 +T 09 06 00 00 4E 02 DD 46 03 CD 00 00 00 00 21 +R 00 00 01 00 02 0A 13 00 +T 12 06 00 00 00 00 00 00 19 DD 75 FC DD 74 FD R 00 00 01 00 00 04 03 00 -T 6F 06 00 00 46 23 66 68 01 2C 00 09 46 23 66 +T 1B 06 00 00 46 23 66 68 01 2C 00 09 46 23 66 R 00 00 01 00 -T 7A 06 00 00 68 DD 75 FE DD 74 FF +T 26 06 00 00 68 DD 75 FE DD 74 FF R 00 00 01 00 -T 81 06 00 00 +T 2D 06 00 00 R 00 00 01 00 -T 81 06 00 00 DD 5E FE DD 56 FF 21 14 00 DD 4E +T 2D 06 00 00 DD 5E FE DD 56 FF 21 14 00 DD 4E R 00 00 01 00 -T 8C 06 00 00 FC DD 46 FD 09 4E 23 46 23 7E 69 +T 38 06 00 00 FC DD 46 FD 09 4E 23 46 23 7E 69 R 00 00 01 00 -T 97 06 00 00 60 CD 00 00 00 00 DD 75 F8 DD 74 +T 43 06 00 00 60 CD 00 00 00 00 DD 75 F8 DD 74 R 00 00 01 00 02 06 00 00 -T A0 06 00 00 F9 7D A4 3C CA E4 07 00 00 +T 4C 06 00 00 F9 7D A4 3C CA 90 07 00 00 R 00 00 01 00 00 09 01 00 -T A7 06 00 00 +T 53 06 00 00 R 00 00 01 00 -T A7 06 00 00 DD 4E F8 DD 5E FC DD 56 FD CD +T 53 06 00 00 DD 4E F8 DD 5E FC DD 56 FD CD R 00 00 01 00 -T B1 06 00 00 7E 04 00 00 DD 75 FA DD 74 FB 7D +T 5D 06 00 00 2A 04 00 00 DD 75 FA DD 74 FB 7D R 00 00 01 00 00 04 01 00 -T BA 06 00 00 B4 20 02 +T 66 06 00 00 B4 20 02 R 00 00 01 00 -T BD 06 00 00 +T 69 06 00 00 R 00 00 01 00 -T BD 06 00 00 18 C2 +T 69 06 00 00 18 C2 R 00 00 01 00 -T BF 06 00 00 +T 6B 06 00 00 R 00 00 01 00 -T BF 06 00 00 DD 6E FC DD 66 FD 46 23 66 68 01 +T 6B 06 00 00 DD 6E FC DD 66 FD 46 23 66 68 01 R 00 00 01 00 -T CA 06 00 00 12 00 09 7E E6 00 47 23 7E E6 20 +T 76 06 00 00 12 00 09 7E E6 00 47 23 7E E6 20 R 00 00 01 00 -T D5 06 00 00 B0 28 1C +T 81 06 00 00 B0 28 1C R 00 00 01 00 -T D8 06 00 00 +T 84 06 00 00 R 00 00 01 00 -T D8 06 00 00 DD 6E FA DD 66 FB E5 01 10 00 DD +T 84 06 00 00 DD 6E FA DD 66 FB E5 01 10 00 DD R 00 00 01 00 -T E3 06 00 00 6E FC DD 66 FD 5E 23 56 3E +T 8F 06 00 00 6E FC DD 66 FD 5E 23 56 3E R 00 00 01 00 -T EC 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0E 00 02 09 0E 00 -T F1 06 00 00 00 00 00 00 E1 +T 98 06 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 +T 9D 06 00 00 00 00 00 00 E1 R 00 00 01 00 02 04 00 00 -T F4 06 00 00 +T A0 06 00 00 R 00 00 01 00 -T F4 06 00 00 21 0A 00 DD 4E FA DD 46 FB 09 7E +T A0 06 00 00 21 0A 00 DD 4E FA DD 46 FB 09 7E R 00 00 01 00 -T FF 06 00 00 23 66 6F 4E 06 00 DD 71 F8 DD 70 +T AB 06 00 00 23 66 6F 4E 06 00 DD 71 F8 DD 70 R 00 00 01 00 -T 0A 07 00 00 F9 79 E6 80 28 47 +T B6 06 00 00 F9 79 E6 80 28 47 R 00 00 01 00 -T 10 07 00 00 +T BC 06 00 00 R 00 00 01 00 -T 10 07 00 00 21 02 00 39 4D 44 21 17 00 DD 5E +T BC 06 00 00 21 02 00 39 4D 44 21 17 00 DD 5E R 00 00 01 00 -T 1B 07 00 00 FC DD 56 FD 19 5E 23 56 3E +T C7 06 00 00 FC DD 56 FD 19 5E 23 56 3E R 00 00 01 00 -T 24 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 -T 29 07 00 00 00 00 00 00 4D 44 21 00 00 CD +T D0 06 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 08 00 02 09 08 00 +T D5 06 00 00 00 00 00 00 4D 44 21 00 00 CD R 00 00 01 00 02 04 00 00 -T 31 07 00 00 00 00 00 00 38 20 -R 00 00 01 00 02 04 18 00 -T 35 07 00 00 +T DD 06 00 00 00 00 00 00 38 20 +R 00 00 01 00 02 04 15 00 +T E1 06 00 00 R 00 00 01 00 -T 35 07 00 00 21 02 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 19 00 -T 3D 07 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 19 00 02 0A 00 00 -T 44 07 00 00 0D 00 DD 4E FC DD 46 FD 09 34 23 +T E1 06 00 00 21 02 00 39 5D 54 3E 00 00 00 00 +R 00 00 01 00 2B 0B 16 00 +T E9 06 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 16 00 02 0A 00 00 +T F0 06 00 00 0D 00 DD 4E FC DD 46 FD 09 34 23 R 00 00 01 00 -T 4F 07 00 00 20 01 34 +T FB 06 00 00 20 01 34 R 00 00 01 00 -T 52 07 00 00 +T FE 06 00 00 R 00 00 01 00 -T 52 07 00 00 C3 81 06 00 00 +T FE 06 00 00 C3 2D 06 00 00 R 00 00 01 00 00 05 01 00 -T 55 07 00 00 +T 01 07 00 00 R 00 00 01 00 -T 55 07 00 00 18 68 +T 01 07 00 00 18 68 R 00 00 01 00 -T 57 07 00 00 +T 03 07 00 00 R 00 00 01 00 -T 57 07 00 00 01 70 80 DD 6E F8 DD 66 F9 3E 80 +T 03 07 00 00 01 70 80 DD 6E F8 DD 66 F9 3E 80 R 00 00 01 00 -T 62 07 00 00 AC 67 ED 42 38 57 +T 0E 07 00 00 AC 67 ED 42 38 57 R 00 00 01 00 -T 68 07 00 00 +T 14 07 00 00 R 00 00 01 00 -T 68 07 00 00 21 0A 00 DD 4E FA DD 46 FB 09 7E +T 14 07 00 00 21 0A 00 DD 4E FA DD 46 FB 09 7E R 00 00 01 00 -T 73 07 00 00 23 66 6F 7E E6 4F 77 21 02 00 39 +T 1F 07 00 00 23 66 6F 7E E6 4F 77 21 02 00 39 R 00 00 01 00 -T 7E 07 00 00 4D 44 21 17 00 DD 5E FC DD 56 FD +T 2A 07 00 00 4D 44 21 17 00 DD 5E FC DD 56 FD R 00 00 01 00 -T 89 07 00 00 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0A 00 -T 90 07 00 00 00 00 00 00 CD 00 00 00 00 4D 44 -R 00 00 01 00 02 04 0A 00 02 09 00 00 -T 97 07 00 00 21 00 00 CD 00 00 00 00 38 20 -R 00 00 01 00 02 08 18 00 -T 9F 07 00 00 +T 35 07 00 00 19 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 09 09 00 +T 3C 07 00 00 00 00 00 00 CD 00 00 00 00 4D 44 +R 00 00 01 00 02 04 09 00 02 09 00 00 +T 43 07 00 00 21 00 00 CD 00 00 00 00 38 20 +R 00 00 01 00 02 08 15 00 +T 4B 07 00 00 R 00 00 01 00 -T 9F 07 00 00 21 02 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 19 00 -T A7 07 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 19 00 02 0A 00 00 -T AE 07 00 00 0D 00 DD 4E FC DD 46 FD 09 34 23 +T 4B 07 00 00 21 02 00 39 5D 54 3E 00 00 00 00 +R 00 00 01 00 2B 0B 16 00 +T 53 07 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 16 00 02 0A 00 00 +T 5A 07 00 00 0D 00 DD 4E FC DD 46 FD 09 34 23 R 00 00 01 00 -T B9 07 00 00 20 01 34 +T 65 07 00 00 20 01 34 R 00 00 01 00 -T BC 07 00 00 +T 68 07 00 00 R 00 00 01 00 -T BC 07 00 00 C3 81 06 00 00 +T 68 07 00 00 C3 2D 06 00 00 R 00 00 01 00 00 05 01 00 -T BF 07 00 00 +T 6B 07 00 00 R 00 00 01 00 -T BF 07 00 00 +T 6B 07 00 00 R 00 00 01 00 -T BF 07 00 00 +T 6B 07 00 00 R 00 00 01 00 -T BF 07 00 00 21 02 00 39 4D 44 DD 6E FC DD 66 +T 6B 07 00 00 21 02 00 39 4D 44 DD 6E FC DD 66 R 00 00 01 00 -T CA 07 00 00 FD 5E 23 56 3E 00 00 00 00 21 +T 76 07 00 00 FD 5E 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 09 07 00 -T D1 07 00 00 00 00 00 00 CD 00 00 00 00 11 +T 7D 07 00 00 00 00 00 00 CD 00 00 00 00 11 R 00 00 01 00 02 04 07 00 02 09 00 00 -T D7 07 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0F 00 -T DC 07 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 0F 00 02 09 00 00 -T E2 07 00 00 81 06 00 00 +T 83 07 00 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 0E 00 +T 88 07 00 00 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 04 0E 00 02 09 00 00 +T 8E 07 00 00 2D 06 00 00 R 00 00 01 00 00 04 01 00 -T E4 07 00 00 +T 90 07 00 00 R 00 00 01 00 -T E4 07 00 00 DD 6E FC DD 66 FD 46 23 66 68 01 +T 90 07 00 00 DD 6E FC DD 66 FD 46 23 66 68 01 R 00 00 01 00 -T EF 07 00 00 18 00 09 46 23 66 68 ED 4B +T 9B 07 00 00 18 00 09 46 23 66 68 ED 4B R 00 00 01 00 -T F8 07 00 00 00 00 00 00 A7 ED 42 20 12 -R 00 00 01 00 02 04 0C 00 -T FF 07 00 00 +T A4 07 00 00 00 00 00 00 A7 ED 42 20 12 +R 00 00 01 00 02 04 0B 00 +T AB 07 00 00 R 00 00 01 00 -T FF 07 00 00 DD 6E FC DD 66 FD 46 23 66 68 01 +T AB 07 00 00 DD 6E FC DD 66 FD 46 23 66 68 01 R 00 00 01 00 -T 0A 08 00 00 18 00 09 AF 77 23 77 +T B6 07 00 00 18 00 09 AF 77 23 77 R 00 00 01 00 -T 11 08 00 00 +T BD 07 00 00 R 00 00 01 00 -T 11 08 00 00 C3 00 00 00 00 +T BD 07 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 05 00 -T 14 08 00 00 +T C0 07 00 00 R 00 00 01 00 -T 14 08 00 00 CD 00 00 00 00 FE FF 21 3B 00 DD -R 00 00 01 00 02 05 14 00 -T 1D 08 00 00 4E 02 DD 46 03 09 4E 23 46 21 +T C0 07 00 00 CD 00 00 00 00 FE FF 21 3B 00 DD +R 00 00 01 00 02 05 12 00 +T C9 07 00 00 4E 02 DD 46 03 09 4E 23 46 21 R 00 00 01 00 -T 27 08 00 00 06 00 CD 00 00 00 00 30 02 -R 00 00 01 00 02 07 18 00 -T 2E 08 00 00 +T D3 07 00 00 06 00 CD 00 00 00 00 30 02 +R 00 00 01 00 02 07 15 00 +T DA 07 00 00 R 00 00 01 00 -T 2E 08 00 00 18 52 +T DA 07 00 00 18 52 R 00 00 01 00 -T 30 08 00 00 +T DC 07 00 00 R 00 00 01 00 -T 30 08 00 00 21 3B 00 DD 4E 02 DD 46 03 09 5E +T DC 07 00 00 21 3B 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 -T 3B 08 00 00 23 56 01 19 00 CD 00 00 00 00 21 -R 00 00 01 00 02 0A 15 00 -T 44 08 00 00 00 00 00 00 19 DD 75 FE DD 74 FF +T E7 07 00 00 23 56 01 19 00 CD 00 00 00 00 21 +R 00 00 01 00 02 0A 13 00 +T F0 07 00 00 00 00 00 00 19 DD 75 FE DD 74 FF R 00 00 01 00 00 04 03 00 -T 4D 08 00 00 46 23 66 68 DD 4E 02 DD 46 03 A7 +T F9 07 00 00 46 23 66 68 DD 4E 02 DD 46 03 A7 +R 00 00 01 00 +T 04 08 00 00 ED 42 28 02 +R 00 00 01 00 +T 08 08 00 00 R 00 00 01 00 -T 58 08 00 00 ED 42 28 02 +T 08 08 00 00 18 24 R 00 00 01 00 -T 5C 08 00 00 +T 0A 08 00 00 +R 00 00 01 00 +T 0A 08 00 00 21 17 00 DD 4E FE DD 46 FF 09 5E +R 00 00 01 00 +T 15 08 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 18 00 +T 1A 08 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 18 00 02 09 00 00 +T 20 08 00 00 17 00 09 5E 23 56 3E 00 00 00 00 +R 00 00 01 00 2B 0B 1D 00 +T 28 08 00 00 21 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 1D 00 02 0A 00 00 +T 2E 08 00 00 +R 00 00 01 00 +T 2E 08 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 05 00 +T 31 08 00 00 +R 00 00 01 00 +T 31 08 00 00 CD 00 00 00 00 59 50 CD +R 00 00 01 00 02 05 10 00 +T 37 08 00 00 00 00 00 00 05 00 11 00 12 00 +R 00 00 01 00 02 04 02 00 +T 3F 08 00 00 13 00 81 00 82 00 56 08 00 00 +R 00 00 01 00 00 0A 01 00 +T 47 08 00 00 51 08 00 00 51 08 00 00 +R 00 00 01 00 00 04 01 00 00 08 01 00 +T 4B 08 00 00 51 08 00 00 51 08 00 00 +R 00 00 01 00 00 04 01 00 00 08 01 00 +T 4F 08 00 00 51 08 00 00 +R 00 00 01 00 00 04 01 00 +T 51 08 00 00 R 00 00 01 00 -T 5C 08 00 00 18 24 +T 51 08 00 00 21 00 00 18 03 R 00 00 01 00 -T 5E 08 00 00 +T 56 08 00 00 R 00 00 01 00 -T 5E 08 00 00 21 17 00 DD 4E FE DD 46 FF 09 5E +T 56 08 00 00 21 FF FF R 00 00 01 00 -T 69 08 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 1B 00 -T 6E 08 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 1B 00 02 09 00 00 -T 74 08 00 00 17 00 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 20 00 -T 7C 08 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 20 00 02 0A 00 00 -T 82 08 00 00 +T 59 08 00 00 R 00 00 01 00 -T 82 08 00 00 C3 00 00 00 00 +T 59 08 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 05 00 T 00 00 00 00 R 00 00 02 00 diff --git a/src/nos/lib/servers_lib/Ftpscmd.rel b/src/nos/lib/servers_lib/Ftpscmd.rel index 52cd7109..08806161 100644 --- a/src/nos/lib/servers_lib/Ftpscmd.rel +++ b/src/nos/lib/servers_lib/Ftpscmd.rel @@ -1,31 +1,31 @@ XL4 H 4 areas 1B global symbols -S ___058c_b917_rmd_20 Ref00000000 -S ___04df_7bad_list Ref00000000 -S ___03fc_16c9_acct Ref00000000 -S ___0504_1e96_mkd_20 Ref00000000 -S ___0608_13f7_user Ref00000000 -S ___0652_79d3_xrmd Ref00000000 -S ___064f_2295_xmd5 Ref00000000 -S ___05d1_784e_stru Ref00000000 -S ___05d0_2918_stor Ref00000000 -S ___0555_e039_port Ref00000000 -S ___05d8_8f60_syst Ref00000000 -S ___0621_ce7b_xcwd Ref00000000 -S ___0564_2105_pwd Ref00000000 +S ___06ad_2918_stor Ref00000000 +S ___05f7_7b66_nlst Ref00000000 +S ___0626_9d45_pass Ref00000000 +S ___0731_79d3_xrmd Ref00000000 +S ___072e_2295_xmd5 Ref00000000 +S ___063e_2105_pwd Ref00000000 +S ___05a2_7bad_list Ref00000000 +S ___06b5_8f60_syst Ref00000000 +S ___0646_7b54_quit Ref00000000 +S ___0666_b917_rmd_20 Ref00000000 +S ___05e0_8a90_name Ref00000000 +S ___0700_ce7b_xcwd Ref00000000 +S ___048f_16c9_acct Ref00000000 S .__.ABS. Def00000000 -S ___05fb_f321_type Ref00000000 -S ___0517_8a90_name Ref00000000 -S ___0468_2c87_dele Ref00000000 -S ___0461_4bf4_cwd Ref00000000 +S ___0500_2c87_dele Ref00000000 +S ___05d1_685e_mode Ref00000000 +S ___05cd_1e96_mkd_20 Ref00000000 +S ___072f_e251_xmkd Ref00000000 +S ___065f_9bd3_retr Ref00000000 +S ___04f9_4bf4_cwd Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0508_685e_mode Ref00000000 -S ___054e_9d45_pass Ref00000000 -S ___0650_e251_xmkd Ref00000000 -S ___0651_a48a_xpwd Ref00000000 -S ___052b_7b66_nlst Ref00000000 -S ___0585_9bd3_retr Ref00000000 -S ___056c_7b54_quit Ref00000000 +S ___0730_a48a_xpwd Ref00000000 +S ___06d8_f321_type Ref00000000 +S ___06e6_13f7_user Ref00000000 +S ___06ae_784e_stru Ref00000000 +S ___062d_e039_port Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 A IDATA0 size 4B flags 0 @@ -36,26 +36,26 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 04 00 4A 08 02 00 +R 00 00 03 00 4A 04 17 00 4A 08 0C 00 T 06 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 14 00 4A 08 0E 00 +R 00 00 03 00 4A 04 02 00 4A 08 16 00 T 0C 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 01 00 4A 08 11 00 +R 00 00 03 00 4A 04 06 00 4A 08 13 00 T 12 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 10 00 4A 08 0F 00 +R 00 00 03 00 4A 04 0E 00 4A 08 0A 00 T 18 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 19 00 4A 08 18 00 +R 00 00 03 00 4A 04 08 00 4A 08 12 00 T 1E 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 08 00 4A 08 09 00 +R 00 00 03 00 4A 04 00 00 4A 08 19 00 T 24 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 17 00 4A 08 0C 00 +R 00 00 03 00 4A 04 01 00 4A 08 05 00 T 2A 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 16 00 4A 08 03 00 +R 00 00 03 00 4A 04 15 00 4A 08 10 00 T 30 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 15 00 4A 08 05 00 +R 00 00 03 00 4A 04 11 00 4A 08 03 00 T 36 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 00 00 4A 08 07 00 +R 00 00 03 00 4A 04 09 00 4A 08 18 00 T 3C 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 13 00 4A 08 0A 00 +R 00 00 03 00 4A 04 0F 00 4A 08 07 00 T 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 06 00 4A 08 0B 00 +R 00 00 03 00 4A 04 04 00 4A 08 0B 00 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_badcmd.rel b/src/nos/lib/servers_lib/Ftpsmsg_badcmd.rel index 997d309c..ca124393 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_badcmd.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_badcmd.rel @@ -1,6 +1,6 @@ XL4 H 4 areas 4 global symbols -S ___01b6_7e66_500_20Unknown_20com Ref00000000 +S ___01e4_7e66_500_20Unknown_20com Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_badport.rel b/src/nos/lib/servers_lib/Ftpsmsg_badport.rel index 5cce1874..8f3f671e 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_badport.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_badport.rel @@ -1,6 +1,6 @@ XL4 H 4 areas 4 global symbols -S ___01b8_fe7e_501_20Bad_20port_20 Ref00000000 +S ___01e6_fe7e_501_20Bad_20port_20 Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_badtype.rel b/src/nos/lib/servers_lib/Ftpsmsg_badtype.rel index 1ea731a4..2a0c8593 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_badtype.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_badtype.rel @@ -1,8 +1,8 @@ XL4 H 4 areas 4 global symbols S .__.ABS. Def00000000 -S ___01ba_a2bf_501_20Unknown_20typ Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___01e8_a2bf_501_20Unknown_20typ Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 A IDATA0 size 3 flags 0 @@ -13,4 +13,4 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 01 00 +R 00 00 03 00 4A 04 02 00 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_banner.rel b/src/nos/lib/servers_lib/Ftpsmsg_banner.rel index 4f5f6d75..4eaf2b65 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_banner.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_banner.rel @@ -1,7 +1,7 @@ XL4 H 4 areas 4 global symbols -S ___01aa_01fe_220_20_25s_20FTP_20 Ref00000000 S .__.ABS. Def00000000 +S ___01d8_01fe_220_20_25s_20FTP_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 @@ -13,4 +13,4 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 00 00 +R 00 00 03 00 4A 04 01 00 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_binwarn.rel b/src/nos/lib/servers_lib/Ftpsmsg_binwarn.rel index 2f6f605f..681d5809 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_binwarn.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_binwarn.rel @@ -1,6 +1,6 @@ XL4 H 4 areas 4 global symbols -S ___01a2_d635_100_20Warning_3a_20 Ref00000000 +S ___01d0_d635_100_20Warning_3a_20 Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_bye.rel b/src/nos/lib/servers_lib/Ftpsmsg_bye.rel index fc5dcf00..42511941 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_bye.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_bye.rel @@ -1,6 +1,6 @@ XL4 H 4 areas 4 global symbols -S ___01ab_7804_221_20Goodbye_21_0a Ref00000000 +S ___01d9_7804_221_20Goodbye_21_0a Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_cantmake.rel b/src/nos/lib/servers_lib/Ftpsmsg_cantmake.rel index 24cfd029..c650b4b8 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_cantmake.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_cantmake.rel @@ -2,7 +2,7 @@ XL4 H 4 areas 4 global symbols S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___01c2_7eaf_553_20Can_27t_20cre Ref00000000 +S ___01f0_7eaf_553_20Can_27t_20cre Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 A IDATA0 size 3 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_cantopen.rel b/src/nos/lib/servers_lib/Ftpsmsg_cantopen.rel index 99178fcb..85aedf5c 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_cantopen.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_cantopen.rel @@ -1,7 +1,7 @@ XL4 H 4 areas 4 global symbols S .__.ABS. Def00000000 -S ___01be_c53a_550_20Can_27t_20rea Ref00000000 +S ___01ec_c53a_550_20Can_27t_20rea Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_delefail.rel b/src/nos/lib/servers_lib/Ftpsmsg_delefail.rel index 23c87397..3887bc89 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_delefail.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_delefail.rel @@ -1,6 +1,6 @@ XL4 H 4 areas 4 global symbols -S ___01bf_4770_550_20Delete_20fail Ref00000000 +S ___01ed_4770_550_20Delete_20fail Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_deleok.rel b/src/nos/lib/servers_lib/Ftpsmsg_deleok.rel index 09d30b1e..ebb70bf0 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_deleok.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_deleok.rel @@ -1,8 +1,8 @@ XL4 H 4 areas 4 global symbols S .__.ABS. Def00000000 +S ___01de_c720_250_20File_20delete Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___01b0_c720_250_20File_20delete Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 A IDATA0 size 3 flags 0 @@ -13,4 +13,4 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 02 00 +R 00 00 03 00 4A 04 01 00 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_givepass.rel b/src/nos/lib/servers_lib/Ftpsmsg_givepass.rel index 8031bf05..6f64a84e 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_givepass.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_givepass.rel @@ -1,6 +1,6 @@ XL4 H 4 areas 4 global symbols -S ___01b3_24f1_331_20Enter_20PASS_ Ref00000000 +S ___01e1_24f1_331_20Enter_20PASS_ Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_logged.rel b/src/nos/lib/servers_lib/Ftpsmsg_logged.rel index cc90c514..517462b5 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_logged.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_logged.rel @@ -1,7 +1,7 @@ XL4 H 4 areas 4 global symbols S .__.ABS. Def00000000 -S ___01ae_9fe8_230_20Logged_20in_0 Ref00000000 +S ___01dc_9fe8_230_20Logged_20in_0 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_lowmem.rel b/src/nos/lib/servers_lib/Ftpsmsg_lowmem.rel index 154504fb..f3c0ddca 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_lowmem.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_lowmem.rel @@ -1,6 +1,6 @@ XL4 H 4 areas 4 global symbols -S ___01b4_273f_421_20System_20over Ref00000000 +S ___01e2_273f_421_20System_20over Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_mkdok.rel b/src/nos/lib/servers_lib/Ftpsmsg_mkdok.rel index 7d1db27b..d9a21e7e 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_mkdok.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_mkdok.rel @@ -1,6 +1,6 @@ XL4 H 4 areas 4 global symbols -S ___01a5_cc8d_200_20MKD_20ok_0a Ref00000000 +S ___01d3_cc8d_200_20MKD_20ok_0a Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_noconn.rel b/src/nos/lib/servers_lib/Ftpsmsg_noconn.rel index 953867cb..528af368 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_noconn.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_noconn.rel @@ -1,7 +1,7 @@ XL4 H 4 areas 4 global symbols S .__.ABS. Def00000000 -S ___01b5_e43d_425_20Data_20connec Ref00000000 +S ___01e3_e43d_425_20Data_20connec Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_nodir.rel b/src/nos/lib/servers_lib/Ftpsmsg_nodir.rel index 7bd6afc6..acc575a8 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_nodir.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_nodir.rel @@ -1,6 +1,6 @@ XL4 H 4 areas 4 global symbols -S ___01c3_f0b2_553_20Can_27t_20rea Ref00000000 +S ___01f1_f0b2_553_20Can_27t_20rea Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_noperm.rel b/src/nos/lib/servers_lib/Ftpsmsg_noperm.rel index a0b9e5ef..9f53b6ff 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_noperm.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_noperm.rel @@ -1,8 +1,8 @@ XL4 H 4 areas 4 global symbols S .__.ABS. Def00000000 +S ___01ee_38c3_550_20Permission_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___01c0_38c3_550_20Permission_20 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 A IDATA0 size 3 flags 0 @@ -13,4 +13,4 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 02 00 +R 00 00 03 00 4A 04 01 00 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_notlog.rel b/src/nos/lib/servers_lib/Ftpsmsg_notlog.rel index f30f44f8..6187b137 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_notlog.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_notlog.rel @@ -1,7 +1,7 @@ XL4 H 4 areas 4 global symbols S .__.ABS. Def00000000 -S ___01bd_7dc2_530_20Please_20log_ Ref00000000 +S ___01eb_7dc2_530_20Please_20log_ Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_okay.rel b/src/nos/lib/servers_lib/Ftpsmsg_okay.rel index a331459d..7e28b71e 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_okay.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_okay.rel @@ -1,7 +1,7 @@ XL4 H 4 areas 4 global symbols -S ___01a6_6c3a_200_20Ok_0a Ref00000000 S .__.ABS. Def00000000 +S ___01d4_6c3a_200_20Ok_0a Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 @@ -13,4 +13,4 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 00 00 +R 00 00 03 00 4A 04 01 00 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_only8.rel b/src/nos/lib/servers_lib/Ftpsmsg_only8.rel index f9a26545..1402050b 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_only8.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_only8.rel @@ -1,7 +1,7 @@ XL4 H 4 areas 4 global symbols S .__.ABS. Def00000000 -S ___01b9_065e_501_20Only_20logica Ref00000000 +S ___01e7_065e_501_20Only_20logica Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_portok.rel b/src/nos/lib/servers_lib/Ftpsmsg_portok.rel index f61e492a..d2ba9c46 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_portok.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_portok.rel @@ -1,6 +1,6 @@ XL4 H 4 areas 4 global symbols -S ___01a7_ba32_200_20Port_20comman Ref00000000 +S ___01d5_ba32_200_20Port_20comman Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_pwdmsg.rel b/src/nos/lib/servers_lib/Ftpsmsg_pwdmsg.rel index 19c0cb0d..9cb2fc2e 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_pwdmsg.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_pwdmsg.rel @@ -1,6 +1,6 @@ XL4 H 4 areas 4 global symbols -S ___01b2_9400_257_20_22_25s_22_20 Ref00000000 +S ___01e0_9400_257_20_22_25s_22_20 Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_rxok.rel b/src/nos/lib/servers_lib/Ftpsmsg_rxok.rel index 4ed5a5df..726d4dca 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_rxok.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_rxok.rel @@ -2,7 +2,7 @@ XL4 H 4 areas 4 global symbols S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___01ac_3f54_226_20File_20receiv Ref00000000 +S ___01da_3f54_226_20File_20receiv Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 A IDATA0 size 3 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_sending.rel b/src/nos/lib/servers_lib/Ftpsmsg_sending.rel index d82e51b3..c65b8dce 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_sending.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_sending.rel @@ -1,6 +1,6 @@ XL4 H 4 areas 4 global symbols -S ___01a3_3f47_150_20Opening_20dat Ref00000000 +S ___01d1_3f47_150_20Opening_20dat Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_syst.rel b/src/nos/lib/servers_lib/Ftpsmsg_syst.rel index 47172914..eff83b73 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_syst.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_syst.rel @@ -1,6 +1,6 @@ XL4 H 4 areas 4 global symbols -S ___01a9_1192_215_20_25s_20Type_3 Ref00000000 +S ___01d7_1192_215_20_25s_20Type_3 Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_txok.rel b/src/nos/lib/servers_lib/Ftpsmsg_txok.rel index b38df14f..77b232fc 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_txok.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_txok.rel @@ -1,6 +1,6 @@ XL4 H 4 areas 4 global symbols -S ___01ad_caea_226_20File_20sent_2 Ref00000000 +S ___01db_caea_226_20File_20sent_2 Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_typeok.rel b/src/nos/lib/servers_lib/Ftpsmsg_typeok.rel index 0832f372..101dd0db 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_typeok.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_typeok.rel @@ -1,7 +1,7 @@ XL4 H 4 areas 4 global symbols S .__.ABS. Def00000000 -S ___01a8_1db7_200_20Type_20_25s_2 Ref00000000 +S ___01d6_1db7_200_20Type_20_25s_2 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_unimp.rel b/src/nos/lib/servers_lib/Ftpsmsg_unimp.rel index 10fae3bc..574f826b 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_unimp.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_unimp.rel @@ -1,8 +1,8 @@ XL4 H 4 areas 4 global symbols +S ___01e9_41cf_502_20Command_20not Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___01bb_41cf_502_20Command_20not Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 A IDATA0 size 3 flags 0 @@ -13,4 +13,4 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 02 00 +R 00 00 03 00 4A 04 00 00 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_unsupp.rel b/src/nos/lib/servers_lib/Ftpsmsg_unsupp.rel index bb479342..87fa1353 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_unsupp.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_unsupp.rel @@ -1,6 +1,6 @@ XL4 H 4 areas 4 global symbols -S ___01b7_3d39_500_20Unsupported_2 Ref00000000 +S ___01e5_3d39_500_20Unsupported_2 Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_userfirst.rel b/src/nos/lib/servers_lib/Ftpsmsg_userfirst.rel index 61d62f2a..1edc7263 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_userfirst.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_userfirst.rel @@ -1,6 +1,6 @@ XL4 H 4 areas 4 global symbols -S ___01bc_f576_503_20Login_20with_ Ref00000000 +S ___01ea_f576_503_20Login_20with_ Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 diff --git a/src/nos/lib/servers_lib/Ftpsmsg_writerr.rel b/src/nos/lib/servers_lib/Ftpsmsg_writerr.rel index 41bcd816..ee901429 100644 --- a/src/nos/lib/servers_lib/Ftpsmsg_writerr.rel +++ b/src/nos/lib/servers_lib/Ftpsmsg_writerr.rel @@ -1,8 +1,8 @@ XL4 H 4 areas 4 global symbols -S ___01c1_95c1_552_20Write_20error Ref00000000 S .__.ABS. Def00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___01ef_95c1_552_20Write_20error Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 0 flags 0 A IDATA0 size 3 flags 0 @@ -13,4 +13,4 @@ R 00 00 02 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 00 00 00 -R 00 00 03 00 4A 04 00 00 +R 00 00 03 00 4A 04 02 00 diff --git a/src/nos/lib/servers_lib/bootpcmd.rel b/src/nos/lib/servers_lib/bootpcmd.rel index e4345c9e..31c0a19f 100644 --- a/src/nos/lib/servers_lib/bootpcmd.rel +++ b/src/nos/lib/servers_lib/bootpcmd.rel @@ -1,31 +1,31 @@ XL4 H 6 areas 47 global symbols -S ___0466_db45_defaultfile Ref00000000 S _inet_ntoa Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _Arp_type Ref00000000 S ?BANK_FAST_LEAVE_L08 Ref00000000 -S ___041b_60d3_bad_20internet_20ad Ref00000000 S _if_lookup Ref00000000 S _fflush Ref00000000 S _da_status Ref00000000 S _bootpd Ref00000000 +S ___04b2_60d3_bad_20internet_20ad Ref00000000 S ?S_V_SWITCH_L06 Ref00000000 S _vprintf Ref00000000 S _memcpy Ref00000000 S _tolower Ref00000000 -S ___04c2_1d5e_homedir Ref00000000 +S ___06aa_0a0a_stop Ref00000000 S _Bootpd_cb Ref00000000 +S ___0516_e146_dns Ref00000000 S _cmdparse Ref00000000 -S ___05cd_0a0a_stop Ref00000000 S _ctime Ref00000000 +S ___056d_1d5e_homedir Ref00000000 S _strncpy Ref00000000 S _printf Ref00000000 -S ___0600_5194_unknown_20hardware_ Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S ___0000_ffff_ Ref00000000 S _ArpNames Ref00000000 S _da_init Ref00000000 +S ___0522_cb91_dynip Ref00000000 S _strcmp Ref00000000 S _fgets Ref00000000 S _defaultboot Ref00000000 @@ -34,14 +34,14 @@ S _open_udp Ref00000000 S _del_udp Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S ___058f_c459_rmhost Ref00000000 +S ___04fe_db45_defaultfile Ref00000000 S _fstat Ref00000000 S _free Ref00000000 -S ___0487_cb91_dynip Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S _strcpy Ref00000000 S _homedir Ref00000000 S _da_shut Ref00000000 +S ___06a2_b958_start Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?S_MUL_L02 Ref00000000 S _vfprintf Ref00000000 @@ -50,22 +50,22 @@ S _mallocw Ref00000000 S _freopen Ref00000000 S _da_serve_net Ref00000000 S _bp_DefaultDomainNS Ref00000000 -S ___05c5_b958_start Ref00000000 S _da_done_net Ref00000000 -S ___04c4_df98_host Ref00000000 S ?SS_CMP_L02 Ref00000000 S _hosts Ref00000000 S _aton Ref00000000 S __printf Ref00000000 +S ___0669_c459_rmhost Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___056f_df98_host Ref00000000 S _bp_ascii Ref00000000 -S ___04e6_a516_logscreen Ref00000000 +S ___05a9_a516_logscreen Ref00000000 +S ___06dd_5194_unknown_20hardware_ Ref00000000 S _stat Ref00000000 S _fclose Ref00000000 -S ___04e4_feb4_logfile Ref00000000 +S ___05a7_feb4_logfile Ref00000000 S _subcmd Ref00000000 S _sscanf Ref00000000 -S ___047b_e146_dns Ref00000000 S _Nhosts Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 118E flags 0 @@ -80,13 +80,13 @@ A CDATA0 size E2 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 DD 6E 0A DD 66 0B -R 00 00 01 00 02 05 26 00 +R 00 00 01 00 02 05 25 00 T 09 00 00 00 E5 C5 4B 42 11 46 00 00 00 3E R 00 00 01 00 00 09 04 00 T 11 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 3F 00 02 09 3F 00 +R 00 00 01 00 2B 04 40 00 02 09 40 00 T 16 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 0B 16 00 +R 00 00 01 00 02 04 01 00 02 0B 15 00 T 1D 00 00 00 R 00 00 01 00 T 1D 00 00 00 CD 00 00 00 00 F4 FF DD 36 FE @@ -102,7 +102,7 @@ R 00 00 01 00 T 3C 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T 41 00 00 00 00 00 00 00 F1 21 FF FF C3 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 48 00 00 00 D4 00 00 00 R 00 00 01 00 00 04 01 00 T 4A 00 00 00 @@ -110,31 +110,31 @@ R 00 00 01 00 T 4A 00 00 00 21 06 00 39 5D 54 3E 00 00 00 00 R 00 00 01 00 2B 0B 2D 00 T 52 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 2D 00 02 0A 02 00 +R 00 00 01 00 02 05 2D 00 02 0A 01 00 T 59 00 00 00 06 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 12 00 +R 00 00 01 00 2B 0A 11 00 T 61 00 00 00 00 00 00 00 CD 00 00 00 00 E5 21 -R 00 00 01 00 02 04 12 00 02 09 02 00 +R 00 00 01 00 02 04 11 00 02 09 01 00 T 68 00 00 00 17 00 00 00 E5 3E DB 10 00 00 21 R 00 00 01 00 00 04 02 00 29 0A 01 00 T 6E 00 00 00 DB 10 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 00 04 01 00 02 09 02 00 +R 00 00 01 00 00 04 01 00 02 09 01 00 T 75 00 00 00 AF DD 77 F4 DD 77 F5 DD 77 F6 DD R 00 00 01 00 T 80 00 00 00 77 F7 DD 36 F8 43 DD 36 F9 00 2A R 00 00 01 00 T 8B 00 00 00 00 00 00 00 7D B4 20 30 -R 00 00 01 00 02 04 0F 00 +R 00 00 01 00 02 04 0E 00 T 91 00 00 00 R 00 00 01 00 T 91 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 09 00 02 0B 09 00 +R 00 00 01 00 2B 05 07 00 02 0B 07 00 T 97 00 00 00 E5 21 04 00 39 5D 54 3E R 00 00 01 00 T 9F 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 1E 00 02 09 1E 00 T A4 00 00 00 00 00 00 00 F1 F1 22 00 00 00 00 -R 00 00 01 00 02 04 02 00 02 0B 0F 00 +R 00 00 01 00 02 04 01 00 02 0B 0E 00 T AB 00 00 00 7D B4 20 12 R 00 00 01 00 T AF 00 00 00 @@ -142,7 +142,7 @@ R 00 00 01 00 T AF 00 00 00 21 3A 00 00 00 E5 3E 00 00 00 00 R 00 00 01 00 00 05 02 00 2B 0B 14 00 T B5 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 14 00 02 0A 02 00 +R 00 00 01 00 02 05 14 00 02 0A 01 00 T BC 00 00 00 21 FF FF 18 13 R 00 00 01 00 T C1 00 00 00 @@ -150,17 +150,17 @@ R 00 00 01 00 T C1 00 00 00 R 00 00 01 00 T C1 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 19 00 02 0A 19 00 +R 00 00 01 00 2B 05 18 00 02 0A 18 00 T C7 00 00 00 00 00 00 00 3E 4D 0F 00 00 21 -R 00 00 01 00 02 04 02 00 29 09 01 00 +R 00 00 01 00 02 04 01 00 29 09 01 00 T CC 00 00 00 4D 0F 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 04 01 00 02 09 02 00 +R 00 00 01 00 00 04 01 00 02 09 01 00 T D2 00 00 00 00 00 R 00 00 01 00 T D4 00 00 00 R 00 00 01 00 T D4 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 16 00 +R 00 00 01 00 02 05 15 00 T D7 00 00 00 R 00 00 01 00 T D7 00 00 00 CD 00 00 00 00 FA FF DD 36 FE @@ -176,41 +176,41 @@ R 00 00 01 00 T F6 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T FB 00 00 00 00 00 00 00 F1 21 FF FF 18 56 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 03 01 00 00 R 00 00 01 00 T 03 01 00 00 21 00 00 39 5D 54 3E 00 00 00 00 R 00 00 01 00 2B 0B 2D 00 T 0B 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 2D 00 02 0A 02 00 +R 00 00 01 00 02 05 2D 00 02 0A 01 00 T 12 01 00 00 00 00 22 00 00 00 00 3E R 00 00 01 00 02 07 42 00 T 18 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 29 00 02 09 29 00 +R 00 00 01 00 2B 04 28 00 02 09 28 00 T 1D 01 00 00 00 00 00 00 3E C9 10 00 00 21 -R 00 00 01 00 02 04 02 00 29 09 01 00 +R 00 00 01 00 02 04 01 00 29 09 01 00 T 22 01 00 00 C9 10 00 00 CD 00 00 00 00 ED 5B -R 00 00 01 00 00 04 01 00 02 09 02 00 +R 00 00 01 00 00 04 01 00 02 09 01 00 T 29 01 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0F 00 2B 09 1F 00 +R 00 00 01 00 02 04 0E 00 2B 09 1F 00 T 2E 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 1F 00 02 09 02 00 +R 00 00 01 00 02 04 1F 00 02 09 01 00 T 34 01 00 00 00 00 22 00 00 00 00 21 00 00 39 -R 00 00 01 00 02 07 0F 00 +R 00 00 01 00 02 07 0E 00 T 3D 01 00 00 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 12 00 +R 00 00 01 00 2B 07 11 00 T 42 01 00 00 00 00 00 00 CD 00 00 00 00 E5 21 -R 00 00 01 00 02 04 12 00 02 09 02 00 +R 00 00 01 00 02 04 11 00 02 09 01 00 T 49 01 00 00 5F 00 00 00 E5 3E DB 10 00 00 21 R 00 00 01 00 00 04 02 00 29 0A 01 00 T 4F 01 00 00 DB 10 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 00 04 01 00 02 09 02 00 +R 00 00 01 00 00 04 01 00 02 09 01 00 T 56 01 00 00 21 00 00 R 00 00 01 00 T 59 01 00 00 R 00 00 01 00 T 59 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 16 00 +R 00 00 01 00 02 05 15 00 T 5C 01 00 00 R 00 00 01 00 T 5C 01 00 00 CD 00 00 00 00 F8 FF DD 36 FE @@ -220,7 +220,7 @@ R 00 00 01 00 09 04 02 00 89 0B 02 00 T 69 01 00 00 21 02 00 39 5D 54 3E 00 00 00 00 R 00 00 01 00 2B 0B 2D 00 T 71 01 00 00 21 00 00 00 00 CD 00 00 00 00 3E -R 00 00 01 00 02 05 2D 00 02 0A 02 00 +R 00 00 01 00 02 05 2D 00 02 0A 01 00 T 78 01 00 00 01 DD AE 02 DD B6 03 20 30 R 00 00 01 00 T 81 01 00 00 @@ -234,7 +234,7 @@ R 00 00 01 00 00 05 04 00 00 0B 02 00 T 8F 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 14 00 02 0B 14 00 T 95 01 00 00 CD 00 00 00 00 F1 F1 18 12 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 9C 01 00 00 R 00 00 01 00 T 9C 01 00 00 21 02 00 00 00 E5 21 CE 00 00 00 @@ -242,7 +242,7 @@ R 00 00 01 00 00 05 04 00 00 0B 02 00 T A3 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 14 00 02 0B 14 00 T A9 01 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T AE 01 00 00 R 00 00 01 00 T AE 01 00 00 C3 FE 02 00 00 @@ -256,7 +256,7 @@ R 00 00 01 00 T B9 01 00 00 DD 4E 02 DD 46 03 DD 6E F8 DD 66 R 00 00 01 00 T C4 01 00 00 F9 CD 00 00 00 00 D2 FE 02 00 00 -R 00 00 01 00 02 06 35 00 00 0B 01 00 +R 00 00 01 00 02 06 33 00 00 0B 01 00 T CB 01 00 00 R 00 00 01 00 T CB 01 00 00 DD 6E F8 DD 66 F9 29 DD 4E 04 DD @@ -266,7 +266,7 @@ R 00 00 01 00 00 0B 02 00 T DF 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 1A 00 02 0A 1A 00 T E5 01 00 00 00 00 00 00 7D B4 20 13 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T EB 01 00 00 R 00 00 01 00 T EB 01 00 00 DD 6E FE DD 66 FF E5 3E @@ -274,7 +274,7 @@ R 00 00 01 00 T F3 01 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T F8 01 00 00 00 00 00 00 F1 C3 F3 02 00 00 -R 00 00 01 00 02 04 02 00 00 0A 01 00 +R 00 00 01 00 02 04 01 00 00 0A 01 00 T FE 01 00 00 R 00 00 01 00 T FE 01 00 00 DD 6E F8 DD 66 F9 29 DD 4E 04 DD @@ -284,17 +284,17 @@ R 00 00 01 00 00 0B 02 00 T 12 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 1A 00 02 0A 1A 00 T 18 02 00 00 00 00 00 00 7D B4 20 26 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 1E 02 00 00 R 00 00 01 00 T 1E 02 00 00 21 02 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 12 00 +R 00 00 01 00 2B 0B 11 00 T 26 02 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 12 00 02 0A 02 00 +R 00 00 01 00 02 05 11 00 02 0A 01 00 T 2D 02 00 00 21 FD 00 00 00 E5 3E DB 10 00 00 R 00 00 01 00 00 05 02 00 29 0B 01 00 T 33 02 00 00 21 DB 10 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 00 05 01 00 02 0A 02 00 +R 00 00 01 00 00 05 01 00 02 0A 01 00 T 3A 02 00 00 E1 21 00 00 22 42 00 00 00 C3 R 00 00 01 00 00 09 04 00 T 42 02 00 00 F3 02 00 00 @@ -308,19 +308,19 @@ R 00 00 01 00 00 0B 02 00 T 58 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 1A 00 02 0A 1A 00 T 5E 02 00 00 00 00 00 00 7D B4 20 25 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 64 02 00 00 R 00 00 01 00 T 64 02 00 00 21 01 00 22 42 00 00 00 21 02 00 R 00 00 01 00 00 08 04 00 T 6D 02 00 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 12 00 +R 00 00 01 00 2B 08 11 00 T 73 02 00 00 00 00 00 00 CD 00 00 00 00 E5 21 -R 00 00 01 00 02 04 12 00 02 09 02 00 +R 00 00 01 00 02 04 11 00 02 09 01 00 T 7A 02 00 00 1C 01 00 00 E5 3E DB 10 00 00 21 R 00 00 01 00 00 04 02 00 29 0A 01 00 T 80 02 00 00 DB 10 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 00 04 01 00 02 09 02 00 +R 00 00 01 00 00 04 01 00 02 09 01 00 T 87 02 00 00 18 6A R 00 00 01 00 T 89 02 00 00 @@ -332,19 +332,19 @@ R 00 00 01 00 00 0B 02 00 T 9D 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 1A 00 02 0A 1A 00 T A3 02 00 00 00 00 00 00 7D B4 20 22 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T A9 02 00 00 R 00 00 01 00 T A9 02 00 00 01 40 01 00 00 11 02 00 00 00 3E R 00 00 01 00 00 05 02 00 00 0A 04 00 T B0 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 27 00 02 09 27 00 +R 00 00 01 00 2B 04 26 00 02 09 26 00 T B5 02 00 00 00 00 00 00 21 02 00 00 00 E5 21 -R 00 00 01 00 02 04 02 00 00 09 04 00 +R 00 00 01 00 02 04 01 00 00 09 04 00 T BC 02 00 00 49 01 00 00 E5 3E DB 10 00 00 21 R 00 00 01 00 00 04 02 00 29 0A 01 00 T C2 02 00 00 DB 10 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 00 04 01 00 02 09 02 00 +R 00 00 01 00 00 04 01 00 02 09 01 00 T C9 02 00 00 18 28 R 00 00 01 00 T CB 02 00 00 @@ -352,15 +352,15 @@ R 00 00 01 00 T CB 02 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T D6 02 00 00 11 02 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 04 00 2B 0A 27 00 +R 00 00 01 00 00 05 04 00 2B 0A 26 00 T DC 02 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 27 00 02 09 02 00 +R 00 00 01 00 02 04 26 00 02 09 01 00 T E2 02 00 00 02 00 00 00 E5 21 49 01 00 00 E5 R 00 00 01 00 00 04 04 00 00 0A 02 00 T E9 02 00 00 3E DB 10 00 00 21 DB 10 00 00 CD R 00 00 01 00 29 05 01 00 00 0A 01 00 T EF 02 00 00 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T F3 02 00 00 R 00 00 01 00 T F3 02 00 00 @@ -380,7 +380,7 @@ R 00 00 01 00 T FE 02 00 00 R 00 00 01 00 T FE 02 00 00 21 00 00 C3 00 00 00 00 -R 00 00 01 00 02 08 16 00 +R 00 00 01 00 02 08 15 00 T 04 03 00 00 R 00 00 01 00 T 04 03 00 00 CD 00 00 00 00 FE FF DD 36 FE @@ -398,7 +398,7 @@ R 00 00 01 00 T 22 03 00 00 21 82 01 00 00 E5 3E 00 00 00 00 R 00 00 01 00 00 05 02 00 2B 0B 14 00 T 28 03 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 14 00 02 0A 02 00 +R 00 00 01 00 02 05 14 00 02 0A 01 00 T 2F 03 00 00 18 0D R 00 00 01 00 T 31 03 00 00 @@ -406,7 +406,7 @@ R 00 00 01 00 T 31 03 00 00 21 A7 01 00 00 E5 3E 00 00 00 00 R 00 00 01 00 00 05 02 00 2B 0B 14 00 T 37 03 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 14 00 02 0A 02 00 +R 00 00 01 00 02 05 14 00 02 0A 01 00 T 3E 03 00 00 R 00 00 01 00 T 3E 03 00 00 18 70 @@ -422,7 +422,7 @@ R 00 00 01 00 T 55 03 00 00 11 19 01 00 00 3E 00 00 00 00 21 R 00 00 01 00 00 05 02 00 2B 0A 1A 00 T 5B 03 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 1A 00 02 09 02 00 +R 00 00 01 00 02 04 1A 00 02 09 01 00 T 62 03 00 00 20 08 R 00 00 01 00 T 64 03 00 00 @@ -436,7 +436,7 @@ R 00 00 01 00 T 77 03 00 00 11 F9 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 00 05 02 00 2B 0A 1A 00 T 7D 03 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 1A 00 02 09 02 00 +R 00 00 01 00 02 04 1A 00 02 09 01 00 T 84 03 00 00 20 08 R 00 00 01 00 T 86 03 00 00 @@ -450,7 +450,7 @@ R 00 00 01 00 T 96 03 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T 9B 03 00 00 00 00 00 00 F1 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 9E 03 00 00 R 00 00 01 00 T 9E 03 00 00 @@ -464,13 +464,13 @@ R 00 00 01 00 T A8 03 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T AD 03 00 00 00 00 00 00 F1 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T B0 03 00 00 R 00 00 01 00 T B0 03 00 00 R 00 00 01 00 T B0 03 00 00 21 00 00 C3 00 00 00 00 -R 00 00 01 00 02 08 16 00 +R 00 00 01 00 02 08 15 00 T B6 03 00 00 R 00 00 01 00 T B6 03 00 00 CD 00 00 00 00 F4 FF DD 36 FE @@ -486,7 +486,7 @@ R 00 00 01 00 T CE 03 00 00 21 FE 01 00 00 E5 3E 00 00 00 00 R 00 00 01 00 00 05 02 00 2B 0B 14 00 T D4 03 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 14 00 02 0A 02 00 +R 00 00 01 00 02 05 14 00 02 0A 01 00 T DB 03 00 00 AF DD 77 FC DD 77 FD R 00 00 01 00 T E2 03 00 00 @@ -510,13 +510,13 @@ R 00 00 01 00 T 11 04 00 00 00 00 00 00 09 5E 23 56 23 4E 23 R 00 00 01 00 02 04 31 00 T 1A 04 00 00 46 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 01 00 02 0B 01 00 +R 00 00 01 00 2B 06 00 00 02 0B 00 00 T 20 04 00 00 CD 00 00 00 00 E5 21 1A 02 00 00 -R 00 00 01 00 02 05 02 00 00 0B 02 00 +R 00 00 01 00 02 05 01 00 00 0B 02 00 T 27 04 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 14 00 02 0B 14 00 T 2D 04 00 00 CD 00 00 00 00 F1 F1 DD 34 FC 20 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 36 04 00 00 03 DD 34 FD R 00 00 01 00 T 3A 04 00 00 @@ -528,7 +528,7 @@ R 00 00 01 00 T 3C 04 00 00 21 1E 02 00 00 E5 3E 00 00 00 00 R 00 00 01 00 00 05 02 00 2B 0B 14 00 T 42 04 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 14 00 02 0A 02 00 +R 00 00 01 00 02 05 14 00 02 0A 01 00 T 49 04 00 00 21 00 00 C3 19 06 00 00 R 00 00 01 00 00 08 01 00 T 4F 04 00 00 @@ -536,7 +536,7 @@ R 00 00 01 00 T 4F 04 00 00 DD 4E 02 DD 46 03 21 01 00 CD R 00 00 01 00 T 59 04 00 00 00 00 00 00 D2 9B 05 00 00 -R 00 00 01 00 02 04 35 00 00 09 01 00 +R 00 00 01 00 02 04 33 00 00 09 01 00 T 5E 04 00 00 R 00 00 01 00 T 5E 04 00 00 3E 02 DD AE 02 DD B6 03 20 30 DD @@ -546,7 +546,7 @@ R 00 00 01 00 T 74 04 00 00 F7 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 00 04 02 00 2B 09 1A 00 T 79 04 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 1A 00 02 09 02 00 +R 00 00 01 00 02 04 1A 00 02 09 01 00 T 80 04 00 00 20 16 R 00 00 01 00 T 82 04 00 00 @@ -560,7 +560,7 @@ R 00 00 01 00 T 8A 04 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T 8F 04 00 00 00 00 00 00 F1 21 00 00 C3 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 96 04 00 00 19 06 00 00 R 00 00 01 00 00 04 01 00 T 98 04 00 00 @@ -594,7 +594,7 @@ R 00 00 01 00 T D6 04 00 00 DD 4E 02 DD 46 03 DD 6E FC DD 66 R 00 00 01 00 T E1 04 00 00 FD CD 00 00 00 00 D2 9B 05 00 00 -R 00 00 01 00 02 06 35 00 00 0B 01 00 +R 00 00 01 00 02 06 33 00 00 0B 01 00 T E8 04 00 00 01 05 80 DD 6E FC DD 66 FD 3E 80 R 00 00 01 00 T F3 04 00 00 AC 67 ED 42 D2 9B 05 00 00 @@ -614,9 +614,9 @@ R 00 00 01 00 00 04 02 00 T 18 05 00 00 29 DD 4E 04 DD 46 05 09 4E 23 46 R 00 00 01 00 T 23 05 00 00 C5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 40 00 02 0B 40 00 +R 00 00 01 00 2B 06 41 00 02 0B 41 00 T 29 05 00 00 CD 00 00 00 00 EB 21 0C 00 39 F9 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 32 05 00 00 EB 3E 04 AD B4 28 29 R 00 00 01 00 T 39 05 00 00 @@ -626,11 +626,11 @@ R 00 00 01 00 00 05 03 00 T 42 05 00 00 05 23 23 4E 23 46 C5 0E R 00 00 01 00 T 4A 05 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 +R 00 00 01 00 2B 04 08 00 02 0A 08 00 T 50 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 38 00 02 0A 38 00 +R 00 00 01 00 2B 05 36 00 02 0A 36 00 T 56 05 00 00 00 00 00 00 F1 F1 F1 F1 21 FF FF -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 5F 05 00 00 C3 19 06 00 00 R 00 00 01 00 00 05 01 00 T 62 05 00 00 @@ -638,9 +638,9 @@ R 00 00 01 00 T 62 05 00 00 DD 6E FC DD 66 FD 29 DD 4E 04 DD R 00 00 01 00 T 6D 05 00 00 46 05 09 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 37 00 +R 00 00 01 00 2B 0B 35 00 T 75 05 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 37 00 02 0A 02 00 +R 00 00 01 00 02 05 35 00 02 0A 01 00 T 7C 05 00 00 DD 6E FC DD 66 FD 29 29 11 R 00 00 01 00 T 85 05 00 00 FC FF FF FF 19 D1 73 23 72 23 71 @@ -658,7 +658,7 @@ R 00 00 01 00 T 9B 05 00 00 21 FE 01 00 00 E5 3E DB 10 00 00 R 00 00 01 00 00 05 02 00 29 0B 01 00 T A1 05 00 00 21 DB 10 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 00 05 01 00 02 0A 02 00 +R 00 00 01 00 00 05 01 00 02 0A 01 00 T A8 05 00 00 AF DD 77 FC DD 77 FD R 00 00 01 00 T AF 05 00 00 @@ -682,13 +682,13 @@ R 00 00 01 00 T DE 05 00 00 00 00 00 00 09 5E 23 56 23 4E 23 R 00 00 01 00 02 04 31 00 T E7 05 00 00 46 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 01 00 02 0B 01 00 +R 00 00 01 00 2B 06 00 00 02 0B 00 00 T ED 05 00 00 CD 00 00 00 00 E5 21 1A 02 00 00 -R 00 00 01 00 02 05 02 00 00 0B 02 00 +R 00 00 01 00 02 05 01 00 00 0B 02 00 T F4 05 00 00 E5 3E DB 10 00 00 21 DB 10 00 00 R 00 00 01 00 29 06 01 00 00 0B 01 00 T FA 05 00 00 CD 00 00 00 00 E1 E1 DD 34 FC 20 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 03 06 00 00 03 DD 34 FD R 00 00 01 00 T 07 06 00 00 @@ -700,13 +700,13 @@ R 00 00 01 00 T 09 06 00 00 21 1E 02 00 00 E5 3E DB 10 00 00 R 00 00 01 00 00 05 02 00 29 0B 01 00 T 0F 06 00 00 21 DB 10 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 00 05 01 00 02 0A 02 00 +R 00 00 01 00 00 05 01 00 02 0A 01 00 T 16 06 00 00 21 00 00 R 00 00 01 00 T 19 06 00 00 R 00 00 01 00 T 19 06 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 16 00 +R 00 00 01 00 02 05 15 00 T 1C 06 00 00 R 00 00 01 00 T 1C 06 00 00 CD 00 00 00 00 F8 FF AF DD 77 FA @@ -728,7 +728,7 @@ R 00 00 01 00 T 49 06 00 00 ED 4B 00 00 00 00 DD 6E F8 DD 66 R 00 00 01 00 02 06 42 00 T 52 06 00 00 F9 CD 00 00 00 00 30 4C -R 00 00 01 00 02 06 35 00 +R 00 00 01 00 02 06 33 00 T 58 06 00 00 R 00 00 01 00 T 58 06 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 @@ -736,17 +736,17 @@ R 00 00 01 00 T 63 06 00 00 C5 11 58 00 DD 4E F8 DD 46 F9 CD R 00 00 01 00 T 6E 06 00 00 00 00 00 00 21 00 00 00 00 19 EB -R 00 00 01 00 02 04 2B 00 02 09 36 00 +R 00 00 01 00 02 04 2B 00 02 09 34 00 T 75 06 00 00 3E 00 00 00 00 21 00 00 00 00 C1 R 00 00 01 00 2B 05 1A 00 02 0A 1A 00 T 7B 06 00 00 CD 00 00 00 00 7D B4 20 18 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 82 06 00 00 R 00 00 01 00 T 82 06 00 00 01 58 00 DD 5E F8 DD 56 F9 CD R 00 00 01 00 T 8C 06 00 00 00 00 00 00 21 00 00 00 00 19 DD -R 00 00 01 00 02 04 2B 00 02 09 36 00 +R 00 00 01 00 02 04 2B 00 02 09 34 00 T 93 06 00 00 75 FA DD 74 FB 18 0A R 00 00 01 00 T 9A 06 00 00 @@ -770,7 +770,7 @@ R 00 00 01 00 00 06 02 00 T BD 06 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T C2 06 00 00 00 00 00 00 F1 F1 21 FF FF 18 6E -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T CB 06 00 00 R 00 00 01 00 T CB 06 00 00 DD 6E FA DD 66 FB E5 21 @@ -778,11 +778,11 @@ R 00 00 01 00 T D3 06 00 00 64 02 00 00 E5 3E DB 10 00 00 21 R 00 00 01 00 00 04 02 00 29 0A 01 00 T D9 06 00 00 DB 10 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 00 04 01 00 02 09 02 00 +R 00 00 01 00 00 04 01 00 02 09 01 00 T E0 06 00 00 01 58 00 ED 5B 00 00 00 00 CD R 00 00 01 00 02 09 42 00 T E8 06 00 00 00 00 00 00 21 A8 FF FF FF 19 DD -R 00 00 01 00 02 04 2B 00 02 09 36 00 +R 00 00 01 00 02 04 2B 00 02 09 34 00 T EF 06 00 00 75 FC DD 74 FD 4D 44 DD 6E FA DD R 00 00 01 00 T FA 06 00 00 66 FB A7 ED 42 30 19 @@ -792,9 +792,9 @@ R 00 00 01 00 T 01 07 00 00 21 58 00 E5 DD 4E FC DD 46 FD DD R 00 00 01 00 T 0C 07 00 00 5E FA DD 56 FB 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0C 00 +R 00 00 01 00 2B 0A 0B 00 T 14 07 00 00 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 04 0C 00 02 09 02 00 +R 00 00 01 00 02 04 0B 00 02 09 01 00 T 1A 07 00 00 R 00 00 01 00 T 1A 07 00 00 2A 00 00 00 00 2B 22 00 00 00 00 @@ -808,11 +808,11 @@ R 00 00 01 00 T 2E 07 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T 33 07 00 00 00 00 00 00 F1 21 00 00 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 39 07 00 00 R 00 00 01 00 T 39 07 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 16 00 +R 00 00 01 00 02 05 15 00 T 3C 07 00 00 R 00 00 01 00 T 3C 07 00 00 CD 00 00 00 00 FA FF 21 @@ -820,7 +820,7 @@ R 00 00 01 00 02 05 2A 00 T 42 07 00 00 85 02 00 00 E5 3E 00 00 00 00 21 R 00 00 01 00 00 04 02 00 2B 0A 14 00 T 48 07 00 00 00 00 00 00 CD 00 00 00 00 F1 2A -R 00 00 01 00 02 04 14 00 02 09 02 00 +R 00 00 01 00 02 04 14 00 02 09 01 00 T 4F 07 00 00 00 00 00 00 7D B4 20 10 R 00 00 01 00 02 04 42 00 T 55 07 00 00 @@ -828,7 +828,7 @@ R 00 00 01 00 T 55 07 00 00 21 9D 02 00 00 E5 3E 00 00 00 00 R 00 00 01 00 00 05 02 00 2B 0B 14 00 T 5B 07 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 14 00 02 0A 02 00 +R 00 00 01 00 02 05 14 00 02 0A 01 00 T 62 07 00 00 C3 21 08 00 00 R 00 00 01 00 00 05 01 00 T 65 07 00 00 @@ -840,25 +840,25 @@ R 00 00 01 00 T 6C 07 00 00 2A 00 00 00 00 2B DD 4E FA DD 46 R 00 00 01 00 02 05 42 00 T 75 07 00 00 FB CD 00 00 00 00 DA 21 08 00 00 -R 00 00 01 00 02 06 35 00 00 0B 01 00 +R 00 00 01 00 02 06 33 00 00 0B 01 00 T 7C 07 00 00 R 00 00 01 00 T 7C 07 00 00 01 58 00 DD 5E FA DD 56 FB CD R 00 00 01 00 T 86 07 00 00 00 00 00 00 21 00 00 00 00 19 DD -R 00 00 01 00 02 04 2B 00 02 09 36 00 +R 00 00 01 00 02 04 2B 00 02 09 34 00 T 8D 07 00 00 75 FC DD 74 FD 01 1F 00 09 6E 26 R 00 00 01 00 T 98 07 00 00 00 29 29 29 29 01 00 00 00 00 09 -R 00 00 01 00 02 0A 03 00 +R 00 00 01 00 02 0A 02 00 T A1 07 00 00 DD 75 FE DD 74 FF 21 38 00 DD 4E R 00 00 01 00 T AC 07 00 00 FC DD 46 FD 09 E5 21 34 00 09 5E R 00 00 01 00 T B7 07 00 00 23 56 23 4E 23 46 3E 00 00 00 00 -R 00 00 01 00 2B 0B 01 00 +R 00 00 01 00 2B 0B 00 00 T BF 07 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 01 00 02 0A 02 00 +R 00 00 01 00 02 05 00 00 02 0A 01 00 T C6 07 00 00 21 20 00 DD 4E FC DD 46 FD 09 4D R 00 00 01 00 T D1 07 00 00 44 C5 11 00 00 00 00 21 0A 00 DD @@ -866,17 +866,17 @@ R 00 00 01 00 02 07 3A 00 T DA 07 00 00 4E FE DD 46 FF 09 4E 23 46 23 7E R 00 00 01 00 T E5 07 00 00 69 60 C1 CD 00 00 00 00 E5 21 -R 00 00 01 00 02 08 02 00 +R 00 00 01 00 02 08 01 00 T ED 07 00 00 1F 00 DD 4E FC DD 46 FD 09 6E 26 R 00 00 01 00 T F8 07 00 00 00 29 11 00 00 00 00 19 5E 23 56 -R 00 00 01 00 02 07 18 00 +R 00 00 01 00 02 07 17 00 T 01 08 00 00 D5 C5 21 BA 02 00 00 E5 3E R 00 00 01 00 00 07 02 00 T 08 08 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T 0D 08 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 16 08 00 00 DD 34 FA 20 03 DD 34 FB R 00 00 01 00 T 1E 08 00 00 @@ -912,7 +912,7 @@ R 00 00 01 00 00 08 01 00 T 5A 08 00 00 ED 5B 00 00 00 00 CD 00 00 00 00 R 00 00 01 00 02 06 42 00 02 0B 2B 00 T 61 08 00 00 21 00 00 00 00 19 DD 75 F2 DD 74 -R 00 00 01 00 02 05 36 00 +R 00 00 01 00 02 05 34 00 T 6A 08 00 00 F3 01 1F 00 C5 DD 4E 04 DD 46 05 R 00 00 01 00 T 75 08 00 00 03 03 69 60 4E 23 46 DD 5E F2 DD @@ -920,15 +920,15 @@ R 00 00 01 00 T 80 08 00 00 56 F3 3E 00 00 00 00 21 R 00 00 01 00 2B 07 13 00 T 85 08 00 00 00 00 00 00 CD 00 00 00 00 F1 21 -R 00 00 01 00 02 04 13 00 02 09 02 00 +R 00 00 01 00 02 04 13 00 02 09 01 00 T 8C 08 00 00 04 00 DD 4E 04 DD 46 05 09 7E 23 R 00 00 01 00 T 97 08 00 00 66 6F 5E 16 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0D 00 +R 00 00 01 00 2B 0A 0C 00 T 9F 08 00 00 00 00 00 00 CD 00 00 00 00 EB CD -R 00 00 01 00 02 04 0D 00 02 09 02 00 +R 00 00 01 00 02 04 0C 00 02 09 01 00 T A6 08 00 00 00 00 00 00 04 00 61 00 65 00 -R 00 00 01 00 02 04 0A 00 +R 00 00 01 00 02 04 09 00 T AE 08 00 00 6D 00 6E 00 F4 08 00 00 R 00 00 01 00 00 08 01 00 T B4 08 00 00 BC 08 00 00 E6 08 00 00 @@ -964,11 +964,11 @@ R 00 00 01 00 T F4 08 00 00 21 04 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 T FF 08 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 15 00 +R 00 00 01 00 2B 08 3C 00 T 06 09 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 15 00 2B 0A 38 00 +R 00 00 01 00 02 04 3C 00 2B 0A 36 00 T 0C 09 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 38 00 02 09 02 00 +R 00 00 01 00 02 04 36 00 02 09 01 00 T 13 09 00 00 F1 21 FF FF C3 C8 0A 00 00 R 00 00 01 00 00 09 01 00 T 1A 09 00 00 @@ -976,7 +976,7 @@ R 00 00 01 00 T 1A 09 00 00 21 1F 00 DD 4E F2 DD 46 F3 09 6E R 00 00 01 00 T 25 09 00 00 26 00 29 29 29 29 01 00 00 00 00 -R 00 00 01 00 02 0B 03 00 +R 00 00 01 00 02 0B 02 00 T 2E 09 00 00 09 DD 75 FC DD 74 FD 01 0D 00 09 R 00 00 01 00 T 39 09 00 00 7E 23 B6 23 B6 20 06 @@ -996,7 +996,7 @@ R 00 00 01 00 T 67 09 00 00 FD 09 4E 23 46 23 7E 69 60 C1 CD R 00 00 01 00 T 72 09 00 00 00 00 00 00 21 08 00 39 E5 21 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 7A 09 00 00 08 00 39 E5 21 08 00 39 E5 21 R 00 00 01 00 T 84 09 00 00 08 00 39 E5 21 20 02 00 00 E5 21 @@ -1004,9 +1004,9 @@ R 00 00 01 00 00 09 02 00 T 8D 09 00 00 08 00 DD 4E 04 DD 46 05 09 4E 23 R 00 00 01 00 T 98 09 00 00 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 40 00 +R 00 00 01 00 2B 07 41 00 T 9D 09 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 40 00 02 09 02 00 +R 00 00 01 00 02 04 41 00 02 09 01 00 T A4 09 00 00 0C 00 39 F9 EB 3E 04 AD B4 28 29 R 00 00 01 00 T AF 09 00 00 @@ -1016,11 +1016,11 @@ R 00 00 01 00 00 05 03 00 T B8 09 00 00 05 23 23 4E 23 46 C5 0E R 00 00 01 00 T C0 09 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 +R 00 00 01 00 2B 04 08 00 02 0A 08 00 T C6 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 38 00 02 0A 38 00 +R 00 00 01 00 2B 05 36 00 02 0A 36 00 T CC 09 00 00 00 00 00 00 F1 F1 F1 F1 21 00 00 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T D5 09 00 00 C3 C8 0A 00 00 R 00 00 01 00 00 05 01 00 T D8 09 00 00 @@ -1028,9 +1028,9 @@ R 00 00 01 00 T D8 09 00 00 21 08 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 T E3 09 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 37 00 +R 00 00 01 00 2B 07 35 00 T E8 09 00 00 00 00 00 00 CD 00 00 00 00 E5 21 -R 00 00 01 00 02 04 37 00 02 09 02 00 +R 00 00 01 00 02 04 35 00 02 09 01 00 T EF 09 00 00 34 00 DD 5E F2 DD 56 F3 19 D1 73 R 00 00 01 00 T FA 09 00 00 23 72 23 71 23 70 3E 06 DD AE 02 @@ -1046,7 +1046,7 @@ R 00 00 01 00 T 20 0A 00 00 F2 DD 56 F3 19 EB 3E 00 00 00 00 R 00 00 01 00 2B 0B 13 00 T 28 0A 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 13 00 02 0A 02 00 +R 00 00 01 00 02 05 13 00 02 0A 01 00 T 2F 0A 00 00 18 0C R 00 00 01 00 T 31 0A 00 00 @@ -1062,9 +1062,9 @@ R 00 00 01 00 T 48 0A 00 00 21 34 00 09 5E 23 56 23 4E 23 46 R 00 00 01 00 T 53 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 01 00 02 0A 01 00 +R 00 00 01 00 2B 05 00 00 02 0A 00 00 T 59 0A 00 00 00 00 00 00 E5 21 20 00 DD 4E F2 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 62 0A 00 00 DD 46 F3 09 4D 44 C5 11 R 00 00 01 00 T 6A 0A 00 00 00 00 00 00 21 0A 00 DD 4E FC DD @@ -1072,15 +1072,15 @@ R 00 00 01 00 02 04 3A 00 T 73 0A 00 00 46 FD 09 4E 23 46 23 7E 69 60 C1 R 00 00 01 00 T 7E 0A 00 00 CD 00 00 00 00 E5 21 1F 00 DD 4E -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 87 0A 00 00 F2 DD 46 F3 09 6E 26 00 29 11 R 00 00 01 00 T 91 0A 00 00 00 00 00 00 19 5E 23 56 D5 C5 21 -R 00 00 01 00 02 04 18 00 +R 00 00 01 00 02 04 17 00 T 9A 0A 00 00 20 03 00 00 E5 3E DB 10 00 00 21 R 00 00 01 00 00 04 02 00 29 0A 01 00 T A0 0A 00 00 DB 10 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 04 01 00 02 09 02 00 +R 00 00 01 00 00 04 01 00 02 09 01 00 T A6 0A 00 00 0C 00 39 F9 2A 00 00 00 00 23 22 R 00 00 01 00 02 09 42 00 T AF 0A 00 00 00 00 00 00 18 12 @@ -1092,7 +1092,7 @@ R 00 00 01 00 T BB 0A 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T C0 0A 00 00 00 00 00 00 F1 18 00 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T C5 0A 00 00 R 00 00 01 00 T C5 0A 00 00 21 00 00 @@ -1100,7 +1100,7 @@ R 00 00 01 00 T C8 0A 00 00 R 00 00 01 00 T C8 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 16 00 +R 00 00 01 00 02 05 15 00 T CB 0A 00 00 R 00 00 01 00 T CB 0A 00 00 CD 00 00 00 00 FE FF DD 36 FE @@ -1112,11 +1112,11 @@ R 00 00 01 00 T E2 0A 00 00 R 00 00 01 00 T E2 0A 00 00 21 00 00 00 00 E5 21 77 03 00 00 -R 00 00 01 00 02 05 28 00 00 0B 02 00 +R 00 00 01 00 02 05 27 00 00 0B 02 00 T E9 0A 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 14 00 02 0B 14 00 T EF 0A 00 00 CD 00 00 00 00 F1 F1 C3 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T F5 0A 00 00 A4 0B 00 00 R 00 00 01 00 00 04 01 00 T F7 0A 00 00 @@ -1132,7 +1132,7 @@ R 00 00 01 00 00 05 02 00 T 0B 0B 00 00 23 23 5E 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 1A 00 T 13 0B 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 1A 00 02 09 02 00 +R 00 00 01 00 02 04 1A 00 02 09 01 00 T 1A 0B 00 00 20 12 R 00 00 01 00 T 1C 0B 00 00 @@ -1142,7 +1142,7 @@ R 00 00 01 00 T 24 0B 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T 29 0B 00 00 00 00 00 00 F1 18 64 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 2E 0B 00 00 R 00 00 01 00 T 2E 0B 00 00 01 38 01 00 00 DD 6E 04 DD 66 05 @@ -1150,21 +1150,21 @@ R 00 00 01 00 00 05 02 00 T 37 0B 00 00 23 23 5E 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 1A 00 T 3F 0B 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 1A 00 02 09 02 00 +R 00 00 01 00 02 04 1A 00 02 09 01 00 T 46 0B 00 00 20 22 R 00 00 01 00 T 48 0B 00 00 R 00 00 01 00 T 48 0B 00 00 01 93 03 00 00 11 00 00 00 00 3E -R 00 00 01 00 00 05 02 00 02 0A 28 00 +R 00 00 01 00 00 05 02 00 02 0A 27 00 T 4F 0B 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 27 00 02 09 27 00 +R 00 00 01 00 2B 04 26 00 02 09 26 00 T 54 0B 00 00 00 00 00 00 21 00 00 00 00 E5 21 -R 00 00 01 00 02 04 02 00 02 09 28 00 +R 00 00 01 00 02 04 01 00 02 09 27 00 T 5B 0B 00 00 9B 03 00 00 E5 3E DB 10 00 00 21 R 00 00 01 00 00 04 02 00 29 0A 01 00 T 61 0B 00 00 DB 10 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 00 04 01 00 02 09 02 00 +R 00 00 01 00 00 04 01 00 02 09 01 00 T 68 0B 00 00 18 28 R 00 00 01 00 T 6A 0B 00 00 @@ -1172,15 +1172,15 @@ R 00 00 01 00 T 6A 0B 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T 75 0B 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 28 00 2B 0A 27 00 +R 00 00 01 00 02 05 27 00 2B 0A 26 00 T 7B 0B 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 27 00 02 09 02 00 +R 00 00 01 00 02 04 26 00 02 09 01 00 T 81 0B 00 00 00 00 00 00 E5 21 9B 03 00 00 E5 -R 00 00 01 00 02 04 28 00 00 0A 02 00 +R 00 00 01 00 02 04 27 00 00 0A 02 00 T 88 0B 00 00 3E DB 10 00 00 21 DB 10 00 00 CD R 00 00 01 00 29 05 01 00 00 0A 01 00 T 8E 0B 00 00 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 92 0B 00 00 R 00 00 01 00 T 92 0B 00 00 @@ -1194,13 +1194,13 @@ R 00 00 01 00 T 9C 0B 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T A1 0B 00 00 00 00 00 00 F1 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T A4 0B 00 00 R 00 00 01 00 T A4 0B 00 00 R 00 00 01 00 T A4 0B 00 00 21 00 00 C3 00 00 00 00 -R 00 00 01 00 02 08 16 00 +R 00 00 01 00 02 08 15 00 T AA 0B 00 00 R 00 00 01 00 T AA 0B 00 00 CD 00 00 00 00 FE FF DD 36 FE @@ -1216,7 +1216,7 @@ R 00 00 01 00 02 05 1C 00 00 0B 02 00 T C8 0B 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 14 00 02 0B 14 00 T CE 0B 00 00 CD 00 00 00 00 F1 F1 C3 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T D4 0B 00 00 71 0C 00 00 R 00 00 01 00 00 04 01 00 T D6 0B 00 00 @@ -1232,7 +1232,7 @@ R 00 00 01 00 00 05 02 00 T EA 0B 00 00 23 23 5E 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 1A 00 T F2 0B 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 1A 00 02 09 02 00 +R 00 00 01 00 02 04 1A 00 02 09 01 00 T F9 0B 00 00 20 12 R 00 00 01 00 T FB 0B 00 00 @@ -1242,7 +1242,7 @@ R 00 00 01 00 T 03 0C 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T 08 0C 00 00 00 00 00 00 F1 18 52 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 0D 0C 00 00 R 00 00 01 00 T 0D 0C 00 00 01 38 01 00 00 DD 6E 04 DD 66 05 @@ -1250,7 +1250,7 @@ R 00 00 01 00 00 05 02 00 T 16 0C 00 00 23 23 5E 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 1A 00 T 1E 0C 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 1A 00 02 09 02 00 +R 00 00 01 00 02 04 1A 00 02 09 01 00 T 25 0C 00 00 20 10 R 00 00 01 00 T 27 0C 00 00 @@ -1258,23 +1258,23 @@ R 00 00 01 00 T 27 0C 00 00 01 1A 04 00 00 11 00 00 00 00 3E R 00 00 01 00 00 05 02 00 02 0A 1C 00 T 2E 0C 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 27 00 02 09 27 00 +R 00 00 01 00 2B 04 26 00 02 09 26 00 T 33 0C 00 00 00 00 00 00 18 28 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 37 0C 00 00 R 00 00 01 00 T 37 0C 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T 42 0C 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 1C 00 2B 0A 27 00 +R 00 00 01 00 02 05 1C 00 2B 0A 26 00 T 48 0C 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 27 00 02 09 02 00 +R 00 00 01 00 02 04 26 00 02 09 01 00 T 4E 0C 00 00 00 00 00 00 E5 21 1F 04 00 00 E5 R 00 00 01 00 02 04 1C 00 00 0A 02 00 T 55 0C 00 00 3E DB 10 00 00 21 DB 10 00 00 CD R 00 00 01 00 29 05 01 00 00 0A 01 00 T 5B 0C 00 00 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 5F 0C 00 00 R 00 00 01 00 T 5F 0C 00 00 @@ -1288,13 +1288,13 @@ R 00 00 01 00 T 69 0C 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T 6E 0C 00 00 00 00 00 00 F1 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 71 0C 00 00 R 00 00 01 00 T 71 0C 00 00 R 00 00 01 00 T 71 0C 00 00 21 00 00 C3 00 00 00 00 -R 00 00 01 00 02 08 16 00 +R 00 00 01 00 02 08 15 00 T 77 0C 00 00 R 00 00 01 00 T 77 0C 00 00 CD 00 00 00 00 EC FF DD 36 FE @@ -1306,9 +1306,9 @@ R 00 00 01 00 T 8E 0C 00 00 R 00 00 01 00 T 8E 0C 00 00 11 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 08 00 +R 00 00 01 00 2B 08 06 00 T 94 0C 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 08 00 02 09 02 00 +R 00 00 01 00 02 04 06 00 02 09 01 00 T 9A 0C 00 00 00 00 C3 41 0F 00 00 R 00 00 01 00 00 07 01 00 T 9F 0C 00 00 @@ -1320,7 +1320,7 @@ R 00 00 01 00 T B5 0C 00 00 F7 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 00 04 02 00 2B 09 1A 00 T BA 0C 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 1A 00 02 09 02 00 +R 00 00 01 00 02 04 1A 00 02 09 01 00 T C1 0C 00 00 20 16 R 00 00 01 00 T C3 0C 00 00 @@ -1334,7 +1334,7 @@ R 00 00 01 00 T CB 0C 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T D0 0C 00 00 00 00 00 00 F1 21 00 00 C3 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T D7 0C 00 00 41 0F 00 00 R 00 00 01 00 00 04 01 00 T D9 0C 00 00 @@ -1342,9 +1342,9 @@ R 00 00 01 00 T D9 0C 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 T E4 0C 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 +R 00 00 01 00 2B 05 04 00 02 0A 04 00 T EA 0C 00 00 00 00 00 00 DD 75 FC DD 74 FD 7D -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T F3 0C 00 00 B4 20 20 R 00 00 01 00 T F6 0C 00 00 @@ -1356,7 +1356,7 @@ R 00 00 01 00 00 06 02 00 T 07 0D 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T 0C 0D 00 00 00 00 00 00 F1 F1 21 FF FF C3 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 14 0D 00 00 41 0F 00 00 R 00 00 01 00 00 04 01 00 T 16 0D 00 00 @@ -1366,9 +1366,9 @@ R 00 00 01 00 T 20 0D 00 00 R 00 00 01 00 T 20 0D 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 08 00 +R 00 00 01 00 2B 0B 06 00 T 28 0D 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 08 00 02 0A 02 00 +R 00 00 01 00 02 05 06 00 02 0A 01 00 T 2F 0D 00 00 00 00 C3 41 0F 00 00 R 00 00 01 00 00 07 01 00 T 34 0D 00 00 @@ -1384,13 +1384,13 @@ R 00 00 01 00 00 07 02 00 T 4F 0D 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 1A 00 02 09 1A 00 T 54 0D 00 00 00 00 00 00 7D B4 20 10 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 5A 0D 00 00 R 00 00 01 00 T 5A 0D 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 33 00 +R 00 00 01 00 2B 0B 32 00 T 62 0D 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 33 00 02 0A 02 00 +R 00 00 01 00 02 05 32 00 02 0A 01 00 T 69 0D 00 00 10 R 00 00 01 00 T 6A 0D 00 00 @@ -1400,7 +1400,7 @@ R 00 00 01 00 T 72 0D 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T 77 0D 00 00 00 00 00 00 F1 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 7A 0D 00 00 R 00 00 01 00 T 7A 0D 00 00 C3 3E 0F 00 00 @@ -1422,23 +1422,23 @@ R 00 00 01 00 00 04 02 00 T A6 0D 00 00 DD 46 05 09 4E 23 46 C5 3E R 00 00 01 00 T AF 0D 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 40 00 02 09 40 00 +R 00 00 01 00 2B 04 41 00 02 09 41 00 T B4 0D 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T BD 0D 00 00 3E 04 AD B4 20 38 DD 4E EC DD 46 R 00 00 01 00 T C8 0D 00 00 ED 21 FF 00 CD 00 00 00 00 38 2A -R 00 00 01 00 02 09 35 00 +R 00 00 01 00 02 09 33 00 T D1 0D 00 00 DD 4E EE DD 46 EF 21 FF 00 CD R 00 00 01 00 T DB 0D 00 00 00 00 00 00 38 1C DD 4E F0 DD 46 -R 00 00 01 00 02 04 35 00 +R 00 00 01 00 02 04 33 00 T E4 0D 00 00 F1 21 FF 00 CD 00 00 00 00 38 0E -R 00 00 01 00 02 09 35 00 +R 00 00 01 00 02 09 33 00 T ED 0D 00 00 DD 4E F2 DD 46 F3 21 FF 00 CD R 00 00 01 00 T F7 0D 00 00 00 00 00 00 30 2B -R 00 00 01 00 02 04 35 00 +R 00 00 01 00 02 04 33 00 T FB 0D 00 00 R 00 00 01 00 T FB 0D 00 00 @@ -1450,11 +1450,11 @@ R 00 00 01 00 00 05 03 00 T 04 0E 00 00 04 DD 46 05 09 4E 23 46 C5 0E R 00 00 01 00 T 0E 0E 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 +R 00 00 01 00 2B 04 08 00 02 0A 08 00 T 14 0E 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 38 00 02 0A 38 00 +R 00 00 01 00 2B 05 36 00 02 0A 36 00 T 1A 0E 00 00 00 00 00 00 F1 F1 F1 F1 21 FF FF -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 23 0E 00 00 C3 41 0F 00 00 R 00 00 01 00 00 05 01 00 T 26 0E 00 00 @@ -1468,23 +1468,23 @@ R 00 00 01 00 00 04 02 00 T 44 0E 00 00 DD 46 05 09 4E 23 46 C5 3E R 00 00 01 00 T 4D 0E 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 40 00 02 09 40 00 +R 00 00 01 00 2B 04 41 00 02 09 41 00 T 52 0E 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 5B 0E 00 00 3E 04 AD B4 20 38 DD 4E EC DD 46 R 00 00 01 00 T 66 0E 00 00 ED 21 FF 00 CD 00 00 00 00 38 2A -R 00 00 01 00 02 09 35 00 +R 00 00 01 00 02 09 33 00 T 6F 0E 00 00 DD 4E EE DD 46 EF 21 FF 00 CD R 00 00 01 00 T 79 0E 00 00 00 00 00 00 38 1C DD 4E F0 DD 46 -R 00 00 01 00 02 04 35 00 +R 00 00 01 00 02 04 33 00 T 82 0E 00 00 F1 21 FF 00 CD 00 00 00 00 38 0E -R 00 00 01 00 02 09 35 00 +R 00 00 01 00 02 09 33 00 T 8B 0E 00 00 DD 4E F2 DD 46 F3 21 FF 00 CD R 00 00 01 00 T 95 0E 00 00 00 00 00 00 30 2A -R 00 00 01 00 02 04 35 00 +R 00 00 01 00 02 04 33 00 T 99 0E 00 00 R 00 00 01 00 T 99 0E 00 00 @@ -1496,11 +1496,11 @@ R 00 00 01 00 00 05 03 00 T A2 0E 00 00 04 DD 46 05 09 4E 23 46 C5 0E R 00 00 01 00 T AC 0E 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 05 00 02 0A 05 00 +R 00 00 01 00 2B 04 08 00 02 0A 08 00 T B2 0E 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 38 00 02 0A 38 00 +R 00 00 01 00 2B 05 36 00 02 0A 36 00 T B8 0E 00 00 00 00 00 00 F1 F1 F1 F1 21 FF FF -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T C1 0E 00 00 18 7E R 00 00 01 00 T C3 0E 00 00 @@ -1508,17 +1508,17 @@ R 00 00 01 00 T C3 0E 00 00 21 04 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 T CE 0E 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 37 00 +R 00 00 01 00 2B 07 35 00 T D3 0E 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 37 00 02 09 02 00 +R 00 00 01 00 02 04 35 00 02 09 01 00 T DA 0E 00 00 F4 DD 74 F5 DD 71 F6 DD 70 F7 21 R 00 00 01 00 T E5 0E 00 00 06 00 DD 4E 04 DD 46 05 09 5E 23 R 00 00 01 00 T F0 0E 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 37 00 02 0B 37 00 +R 00 00 01 00 2B 06 35 00 02 0B 35 00 T F6 0E 00 00 CD 00 00 00 00 DD 75 F8 DD 74 F9 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T FF 0E 00 00 DD 71 FA DD 70 FB C5 E5 DD 6E F6 R 00 00 01 00 T 0A 0F 00 00 DD 66 F7 E5 DD 6E F4 DD 66 F5 E5 @@ -1526,7 +1526,7 @@ R 00 00 01 00 T 15 0F 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 R 00 00 01 00 2B 0B 30 00 T 1D 0F 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 30 00 02 0A 02 00 +R 00 00 01 00 02 05 30 00 02 0A 01 00 T 24 0F 00 00 F1 F1 F1 18 15 R 00 00 01 00 T 29 0F 00 00 @@ -1536,7 +1536,7 @@ R 00 00 01 00 T 31 0F 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T 36 0F 00 00 00 00 00 00 F1 21 00 00 18 03 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 3E 0F 00 00 R 00 00 01 00 T 3E 0F 00 00 @@ -1546,13 +1546,13 @@ R 00 00 01 00 T 41 0F 00 00 R 00 00 01 00 T 41 0F 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 16 00 +R 00 00 01 00 02 05 15 00 T 44 0F 00 00 R 00 00 01 00 T 44 0F 00 00 CD 00 00 00 00 21 00 00 C3 -R 00 00 01 00 02 05 26 00 +R 00 00 01 00 02 05 25 00 T 4B 0F 00 00 00 00 00 00 -R 00 00 01 00 02 04 16 00 +R 00 00 01 00 02 04 15 00 T 4D 0F 00 00 R 00 00 01 00 T 4D 0F 00 00 CD 00 00 00 00 E2 FF 2A @@ -1566,7 +1566,7 @@ R 00 00 01 00 00 09 02 00 T 62 0F 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 00 04 04 00 2B 09 2F 00 T 67 0F 00 00 00 00 00 00 CD 00 00 00 00 F1 22 -R 00 00 01 00 02 04 2F 00 02 09 02 00 +R 00 00 01 00 02 04 2F 00 02 09 01 00 T 6E 0F 00 00 00 00 00 00 7D B4 20 18 R 00 00 01 00 00 04 03 00 T 74 0F 00 00 @@ -1576,7 +1576,7 @@ R 00 00 01 00 00 05 04 00 00 0B 02 00 T 7B 0F 00 00 E5 3E DB 10 00 00 21 DB 10 00 00 R 00 00 01 00 29 06 01 00 00 0B 01 00 T 81 0F 00 00 CD 00 00 00 00 E1 E1 21 FF FF C3 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 8A 0F 00 00 C6 10 00 00 R 00 00 01 00 00 04 01 00 T 8C 0F 00 00 @@ -1586,9 +1586,9 @@ R 00 00 01 00 T 8C 0F 00 00 21 00 00 39 4D 44 ED 5B R 00 00 01 00 T 94 0F 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 04 00 2B 09 3C 00 +R 00 00 01 00 00 04 04 00 2B 09 3D 00 T 99 0F 00 00 00 00 00 00 CD 00 00 00 00 DD 6E -R 00 00 01 00 02 04 3C 00 02 09 02 00 +R 00 00 01 00 02 04 3D 00 02 09 01 00 T A0 0F 00 00 F8 DD 66 F9 ED 4B 02 00 00 00 A7 R 00 00 01 00 00 0A 03 00 T A9 0F 00 00 ED 42 20 1E DD 6E FA DD 66 FB ED @@ -1612,7 +1612,7 @@ R 00 00 01 00 00 09 02 00 T D4 0F 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 00 04 04 00 2B 09 2F 00 T D9 0F 00 00 00 00 00 00 CD 00 00 00 00 F1 22 -R 00 00 01 00 02 04 2F 00 02 09 02 00 +R 00 00 01 00 02 04 2F 00 02 09 01 00 T E0 0F 00 00 00 00 00 00 7D B4 20 18 R 00 00 01 00 00 04 03 00 T E6 0F 00 00 @@ -1622,7 +1622,7 @@ R 00 00 01 00 00 05 04 00 00 0B 02 00 T ED 0F 00 00 E5 3E DB 10 00 00 21 DB 10 00 00 R 00 00 01 00 29 06 01 00 00 0B 01 00 T F3 0F 00 00 CD 00 00 00 00 E1 E1 21 FF FF C3 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T FC 0F 00 00 C6 10 00 00 R 00 00 01 00 00 04 01 00 T FE 0F 00 00 @@ -1642,11 +1642,11 @@ R 00 00 01 00 T 1B 10 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 23 00 02 0A 23 00 T 21 10 00 00 00 00 00 00 2A 00 00 00 00 E5 21 -R 00 00 01 00 02 04 02 00 00 09 04 00 +R 00 00 01 00 02 04 01 00 00 09 04 00 T 28 10 00 00 DF 04 00 00 E5 3E DB 10 00 00 21 R 00 00 01 00 00 04 02 00 29 0A 01 00 T 2E 10 00 00 DB 10 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 00 04 01 00 02 09 02 00 +R 00 00 01 00 00 04 01 00 02 09 01 00 T 35 10 00 00 21 16 00 39 5E 23 56 23 4E 23 46 R 00 00 01 00 T 40 10 00 00 EB 22 02 00 00 00 ED 43 @@ -1656,7 +1656,7 @@ R 00 00 01 00 00 04 03 00 T 4C 10 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 2E 00 02 09 2E 00 T 51 10 00 00 00 00 00 00 22 06 00 00 00 -R 00 00 01 00 02 04 02 00 00 09 03 00 +R 00 00 01 00 02 04 01 00 00 09 03 00 T 56 10 00 00 R 00 00 01 00 T 56 10 00 00 2A 00 00 00 00 E5 01 80 00 ED 5B @@ -1664,7 +1664,7 @@ R 00 00 01 00 00 05 03 00 T 5F 10 00 00 06 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 00 04 03 00 2B 09 1B 00 T 64 10 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 1B 00 02 09 02 00 +R 00 00 01 00 02 04 1B 00 02 09 01 00 T 6B 10 00 00 B4 28 3D R 00 00 01 00 T 6E 10 00 00 @@ -1692,7 +1692,7 @@ R 00 00 01 00 00 0A 03 00 T 97 10 00 00 46 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 00 04 04 00 2B 09 10 00 T 9C 10 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 10 00 02 09 02 00 +R 00 00 01 00 02 04 10 00 02 09 01 00 T A3 10 00 00 A4 3C 20 02 R 00 00 01 00 T A7 10 00 00 @@ -1706,19 +1706,19 @@ R 00 00 01 00 T AB 10 00 00 R 00 00 01 00 T AB 10 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 00 06 03 00 2B 0B 3D 00 +R 00 00 01 00 00 06 03 00 2B 0B 3E 00 T B1 10 00 00 21 00 00 00 00 CD 00 00 00 00 ED -R 00 00 01 00 02 05 3D 00 02 0A 02 00 +R 00 00 01 00 02 05 3E 00 02 0A 01 00 T B8 10 00 00 5B 06 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 00 05 03 00 2B 0A 24 00 T BE 10 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 24 00 02 09 02 00 +R 00 00 01 00 02 04 24 00 02 09 01 00 T C4 10 00 00 00 00 R 00 00 01 00 T C6 10 00 00 R 00 00 01 00 T C6 10 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 16 00 +R 00 00 01 00 02 05 15 00 T C9 10 00 00 R 00 00 01 00 T C9 10 00 00 C5 01 00 00 21 00 00 22 @@ -1726,7 +1726,7 @@ R 00 00 01 00 T D1 10 00 00 02 00 00 00 ED 43 04 00 00 00 C1 R 00 00 01 00 00 04 03 00 00 0A 03 00 T D8 10 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 03 00 T DB 10 00 00 R 00 00 01 00 T DB 10 00 00 CD 00 00 00 00 FC FF 2A @@ -1740,15 +1740,15 @@ R 00 00 01 00 T F2 10 00 00 DD 74 FF 4D 44 DD 5E 0A DD 56 0B R 00 00 01 00 T FD 10 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0B 00 02 0A 0B 00 +R 00 00 01 00 2B 05 0A 00 02 0A 0A 00 T 03 11 00 00 00 00 00 00 21 40 00 ED 4B -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 0A 11 00 00 00 00 00 00 09 5E 23 56 3E R 00 00 01 00 02 04 20 00 T 11 11 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T 16 11 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 18 11 00 00 R 00 00 01 00 T 18 11 00 00 2A 42 00 00 00 7D B4 28 6C @@ -1760,7 +1760,7 @@ R 00 00 01 00 00 09 02 00 T 27 11 00 00 02 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 00 04 04 00 2B 09 2F 00 T 2C 11 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 2F 00 02 09 02 00 +R 00 00 01 00 02 04 2F 00 02 09 01 00 T 33 11 00 00 75 FC DD 74 FD 7D B4 20 0F R 00 00 01 00 T 3C 11 00 00 @@ -1768,7 +1768,7 @@ R 00 00 01 00 T 3C 11 00 00 21 F2 04 00 00 E5 3E 00 00 00 00 R 00 00 01 00 00 05 02 00 2B 0B 14 00 T 42 11 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 14 00 02 0A 02 00 +R 00 00 01 00 02 05 14 00 02 0A 01 00 T 49 11 00 00 18 40 R 00 00 01 00 T 4B 11 00 00 @@ -1780,21 +1780,21 @@ R 00 00 01 00 T 61 11 00 00 5E FC DD 56 FD 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 2C 00 T 69 11 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 2C 00 02 09 02 00 +R 00 00 01 00 02 04 2C 00 02 09 01 00 T 70 11 00 00 5E FC DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 07 00 +R 00 00 01 00 2B 0A 05 00 T 78 11 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 07 00 02 09 02 00 +R 00 00 01 00 02 04 05 00 02 09 01 00 T 7F 11 00 00 FC DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 3D 00 +R 00 00 01 00 2B 09 3E 00 T 86 11 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 3D 00 02 09 02 00 +R 00 00 01 00 02 04 3E 00 02 09 01 00 T 8B 11 00 00 R 00 00 01 00 T 8B 11 00 00 R 00 00 01 00 T 8B 11 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 16 00 +R 00 00 01 00 02 05 15 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 62 6F 6F 74 70 74 61 62 00 @@ -2228,35 +2228,35 @@ R 00 00 05 00 T 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 05 00 T 40 00 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 0A 17 00 +R 00 00 05 00 4A 0A 16 00 T 49 00 00 00 44 0F 00 00 00 00 00 00 00 00 00 R 00 00 05 00 48 04 01 00 T 53 00 00 00 00 00 00 00 1D 00 00 00 00 00 -R 00 00 05 00 4A 04 32 00 48 08 01 00 +R 00 00 05 00 4A 04 29 00 48 08 01 00 T 5B 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 09 11 00 +R 00 00 05 00 4A 09 0D 00 T 63 00 00 00 D7 00 00 00 00 00 00 00 00 00 00 R 00 00 05 00 48 04 01 00 T 6D 00 00 00 00 00 00 00 B6 03 00 00 00 00 -R 00 00 05 00 4A 04 41 00 48 08 01 00 +R 00 00 05 00 4A 04 0F 00 48 08 01 00 T 75 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 09 25 00 +R 00 00 05 00 4A 09 19 00 T 7D 00 00 00 77 0C 00 00 00 00 00 00 00 00 00 R 00 00 05 00 48 04 01 00 T 87 00 00 00 00 00 00 00 24 08 00 00 00 00 -R 00 00 05 00 4A 04 34 00 48 08 01 00 +R 00 00 05 00 4A 04 39 00 48 08 01 00 T 8F 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 09 22 00 +R 00 00 05 00 4A 09 37 00 T 97 00 00 00 1C 06 00 00 00 00 00 00 00 00 00 R 00 00 05 00 48 04 01 00 T A1 00 00 00 00 00 00 00 CB 0A 00 00 00 00 -R 00 00 05 00 4A 04 0E 00 48 08 01 00 +R 00 00 05 00 4A 04 12 00 48 08 01 00 T A9 00 00 00 00 00 00 00 00 00 00 00 00 -R 00 00 05 00 4A 09 00 00 +R 00 00 05 00 4A 09 22 00 T B1 00 00 00 AA 0B 00 00 00 00 00 00 00 00 00 R 00 00 05 00 48 04 01 00 T BB 00 00 00 00 00 00 00 5C 01 00 00 00 00 -R 00 00 05 00 4A 04 3E 00 48 08 01 00 +R 00 00 05 00 4A 04 3F 00 48 08 01 00 T C3 00 00 00 00 00 00 00 00 00 00 00 00 R 00 00 05 00 4A 09 3B 00 T CB 00 00 00 04 03 00 00 00 00 00 00 00 00 00 diff --git a/src/nos/lib/servers_lib/bootpdip.rel b/src/nos/lib/servers_lib/bootpdip.rel index 7a0a5a71..5ad16095 100644 --- a/src/nos/lib/servers_lib/bootpdip.rel +++ b/src/nos/lib/servers_lib/bootpdip.rel @@ -2,40 +2,40 @@ XL4 H 6 areas 2F global symbols S _inet_ntoa Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___02aa_8880_Interface_20_25s_20 Ref00000000 S _Arp_type Ref00000000 S _stop_timer Ref00000000 S ?BANK_FAST_LEAVE_L08 Ref00000000 -S ___0022_a0dd__0a Ref00000000 +S ___0023_a0dd__0a Ref00000000 S _memcpy Ref00000000 S _set_timer Ref00000000 +S ___03dd_8005_Range_20for_20inter Ref00000000 S ?L_INC_L03 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___0056_cbdf__20_20_20_20_25s_20 Ref00000000 -S ___0055_3528__20_20_20_20_25s_20 Ref00000000 +S ___0057_cbdf__20_20_20_20_25s_20 Ref00000000 S _arp_drop Ref00000000 +S ___0056_3528__20_20_20_20_25s_20 Ref00000000 S ?LEAVE_DIRECT_L09 Ref00000000 -S ___035e_8005_Range_20for_20inter Ref00000000 S .__.ABS. Def00000000 S _free Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 +S ___0301_8880_Interface_20_25s_20 Ref00000000 S _strcpy Ref00000000 S ?L_MUL_L03 Ref00000000 +S ___02be_95bb_Free_20address_20qu Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?S_MUL_L02 Ref00000000 S _res_arp Ref00000000 -S ___002c_c546__0aUsed_20address_2 Ref00000000 +S ___002d_c546__0aUsed_20address_2 Ref00000000 S ?SL_DIV_L03 Ref00000000 S _start_timer Ref00000000 S _calloc Ref00000000 S _time Ref00000000 -S ___0054_ed50__20_20_20_20_25s_20 Ref00000000 S __printf Ref00000000 +S ___0055_ed50__20_20_20_20_25s_20 Ref00000000 S _bp_log Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___027b_95bb_Free_20address_20qu Ref00000000 S _arp_lookup Ref00000000 -S ___002b_ebd8__0aReclaimation_20a Ref00000000 +S ___002c_ebd8__0aReclaimation_20a Ref00000000 S _memcmp Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 1602 flags 0 @@ -56,7 +56,7 @@ A CDATA0 size 24 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 2A -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 16 00 T 06 00 00 00 00 00 00 00 DD 75 FE DD 74 FF R 00 00 01 00 00 04 03 00 T 0E 00 00 00 @@ -92,7 +92,7 @@ R 00 00 01 00 T 54 00 00 00 C5 21 00 00 00 00 E5 3E R 00 00 01 00 00 06 02 00 T 5A 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1F 00 02 09 1F 00 +R 00 00 01 00 2B 04 20 00 02 09 20 00 T 5F 00 00 00 00 00 00 00 E1 E1 21 FF FF 18 26 R 00 00 01 00 02 04 01 00 T 68 00 00 00 @@ -104,7 +104,7 @@ R 00 00 01 00 T 7C 00 00 00 C5 21 25 00 00 00 E5 3E R 00 00 01 00 00 06 02 00 T 82 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1F 00 02 09 1F 00 +R 00 00 01 00 2B 04 20 00 02 09 20 00 T 87 00 00 00 00 00 00 00 E1 E1 21 00 00 R 00 00 01 00 02 04 01 00 T 8E 00 00 00 @@ -114,7 +114,7 @@ R 00 00 01 00 02 05 0A 00 T 91 00 00 00 R 00 00 01 00 T 91 00 00 00 CD 00 00 00 00 FE FF DD 7E 02 DD -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 16 00 T 9A 00 00 00 B6 03 20 2E R 00 00 01 00 T 9E 00 00 00 @@ -168,9 +168,9 @@ R 00 00 01 00 T 0E 01 00 00 DD 6E 02 DD 66 03 23 23 4E 23 46 R 00 00 01 00 T 19 01 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 0F 00 +R 00 00 01 00 2B 06 08 00 T 1E 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0F 00 2B 0A 1E 00 +R 00 00 01 00 02 04 08 00 2B 0A 1E 00 T 24 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 1E 00 02 09 01 00 T 2B 01 00 00 F1 18 09 @@ -188,11 +188,11 @@ R 00 00 01 00 02 05 0A 00 T 3A 01 00 00 R 00 00 01 00 T 3A 01 00 00 CD 00 00 00 00 FE FF 11 -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 16 00 T 40 01 00 00 04 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 04 00 +R 00 00 01 00 00 04 03 00 2B 09 03 00 T 45 01 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 04 00 02 09 01 00 +R 00 00 01 00 02 04 03 00 02 09 01 00 T 4A 01 00 00 R 00 00 01 00 T 4A 01 00 00 11 00 00 00 00 3E 64 14 00 00 21 @@ -214,29 +214,29 @@ R 00 00 01 00 02 05 0A 00 T 6D 01 00 00 R 00 00 01 00 T 6D 01 00 00 CD 00 00 00 00 21 36 00 19 5E 23 -R 00 00 01 00 02 05 12 00 +R 00 00 01 00 02 05 11 00 T 76 01 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 11 00 02 0B 11 00 +R 00 00 01 00 2B 06 10 00 02 0B 10 00 T 7C 01 00 00 CD 00 00 00 00 DD 4E 02 DD 46 03 R 00 00 01 00 02 05 01 00 T 85 01 00 00 11 00 00 00 00 CD C2 14 00 00 DD R 00 00 01 00 00 05 03 00 00 0A 01 00 T 8C 01 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 11 00 +R 00 00 01 00 2B 0A 10 00 T 94 01 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 11 00 02 09 01 00 +R 00 00 01 00 02 04 10 00 02 09 01 00 T 9A 01 00 00 00 00 00 00 R 00 00 01 00 02 04 0E 00 T 9C 01 00 00 R 00 00 01 00 T 9C 01 00 00 CD 00 00 00 00 DC FF DD 6E 02 DD -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 16 00 T A5 01 00 00 66 03 23 23 46 23 66 68 01 3D 00 R 00 00 01 00 T B0 01 00 00 09 46 23 66 68 01 0E 00 09 46 23 R 00 00 01 00 T BB 01 00 00 66 68 29 29 29 29 01 00 00 00 00 -R 00 00 01 00 02 0B 03 00 +R 00 00 01 00 02 0B 02 00 T C4 01 00 00 09 DD 75 FE DD 74 FF 21 02 00 39 R 00 00 01 00 T CF 01 00 00 E5 21 14 00 DD 4E 02 DD 46 03 09 @@ -254,9 +254,9 @@ R 00 00 01 00 T 0A 02 00 00 6E 02 DD 66 03 23 23 46 23 66 68 R 00 00 01 00 T 15 02 00 00 23 23 4E 23 46 C5 0E 00 00 00 00 -R 00 00 01 00 2B 0B 02 00 +R 00 00 01 00 2B 0B 12 00 T 1D 02 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 02 00 +R 00 00 01 00 02 06 12 00 T 23 02 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 1E 00 02 09 1E 00 T 28 02 00 00 00 00 00 00 F1 F1 F1 F1 F1 21 @@ -266,7 +266,7 @@ R 00 00 01 00 T 3B 02 00 00 66 68 DD 75 DC DD 74 DD 0E R 00 00 01 00 T 44 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 21 00 02 0A 21 00 +R 00 00 01 00 2B 04 15 00 02 0A 15 00 T 4A 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 1E 00 02 0A 1E 00 T 50 02 00 00 00 00 00 00 F1 F1 @@ -308,7 +308,7 @@ R 00 00 01 00 T CF 02 00 00 23 66 68 DD 75 DC DD 74 DD 0E R 00 00 01 00 T D9 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 18 00 02 0A 18 00 +R 00 00 01 00 2B 04 19 00 02 0A 19 00 T DF 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 1E 00 02 0A 1E 00 T E5 02 00 00 00 00 00 00 F1 F1 @@ -334,7 +334,7 @@ R 00 00 01 00 T 2B 03 00 00 CD 00 00 00 00 E5 21 04 00 39 E5 R 00 00 01 00 02 05 01 00 T 34 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1D 00 02 0B 1D 00 +R 00 00 01 00 2B 05 1F 00 02 0B 1F 00 T 3A 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 1E 00 02 0B 1E 00 T 40 03 00 00 CD 00 00 00 00 F1 F1 F1 F1 DD 6E @@ -376,7 +376,7 @@ R 00 00 01 00 T C0 03 00 00 CD 00 00 00 00 E5 21 04 00 39 E5 R 00 00 01 00 02 05 01 00 T C9 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 T CF 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 1E 00 02 0B 1E 00 T D5 03 00 00 CD 00 00 00 00 F1 F1 F1 F1 DD 6E @@ -388,7 +388,7 @@ R 00 00 01 00 T EE 03 00 00 R 00 00 01 00 T EE 03 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 06 00 02 0B 06 00 +R 00 00 01 00 2B 05 05 00 02 0B 05 00 T F4 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 1E 00 02 0B 1E 00 T FA 03 00 00 CD 00 00 00 00 F1 F1 C3 @@ -398,29 +398,29 @@ R 00 00 01 00 02 04 0E 00 T 02 04 00 00 R 00 00 01 00 T 02 04 00 00 CD 00 00 00 00 11 04 00 00 00 3E -R 00 00 01 00 02 05 12 00 00 0A 03 00 +R 00 00 01 00 02 05 11 00 00 0A 03 00 T 09 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T 0E 04 00 00 00 00 00 00 CD 36 04 00 00 21 R 00 00 01 00 02 04 01 00 00 09 01 00 T 14 04 00 00 00 00 E5 21 88 13 E5 11 R 00 00 01 00 T 1C 04 00 00 04 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 08 00 +R 00 00 01 00 00 04 03 00 2B 09 07 00 T 21 04 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 08 00 02 09 01 00 +R 00 00 01 00 02 04 07 00 02 09 01 00 T 28 04 00 00 11 04 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 03 00 2B 0A 1A 00 +R 00 00 01 00 00 05 03 00 2B 0A 1B 00 T 2E 04 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 1A 00 02 09 01 00 +R 00 00 01 00 02 04 1B 00 02 09 01 00 T 34 04 00 00 00 00 00 00 R 00 00 01 00 02 04 0A 00 T 36 04 00 00 R 00 00 01 00 T 36 04 00 00 CD 00 00 00 00 F6 FF 11 00 00 3E -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 16 00 T 3F 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1C 00 02 09 1C 00 +R 00 00 01 00 2B 04 1D 00 02 09 1D 00 T 44 04 00 00 00 00 00 00 DD 75 F8 DD 74 F9 DD R 00 00 01 00 02 04 01 00 T 4D 04 00 00 71 FA DD 70 FB 2A 00 00 00 00 DD @@ -444,7 +444,7 @@ R 00 00 01 00 00 04 04 00 T 8B 04 00 00 FC DD 74 FD 29 29 29 29 01 R 00 00 01 00 T 94 04 00 00 06 00 00 00 09 46 23 66 68 DD 75 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 9D 04 00 00 FE DD 74 FF 21 2E 00 DD 4E F6 DD R 00 00 01 00 T A8 04 00 00 46 F7 09 7E E6 01 C2 43 06 00 00 @@ -516,7 +516,7 @@ R 00 00 01 00 00 06 01 00 T 88 05 00 00 F6 DD 46 F7 09 E5 11 00 00 3E R 00 00 01 00 T 92 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1C 00 02 09 1C 00 +R 00 00 01 00 2B 04 1D 00 02 09 1D 00 T 97 05 00 00 00 00 00 00 EB E1 73 23 72 23 71 R 00 00 01 00 02 04 01 00 T A0 05 00 00 23 70 21 34 00 DD 4E F6 DD 46 F7 @@ -604,7 +604,7 @@ R 00 00 01 00 02 05 0E 00 T 59 06 00 00 R 00 00 01 00 T 59 06 00 00 CD 00 00 00 00 E0 FF 21 00 00 39 -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 16 00 T 62 06 00 00 E5 21 14 00 DD 4E 02 DD 46 03 09 R 00 00 01 00 T 6D 06 00 00 5E 23 56 23 4E 23 46 CD @@ -634,7 +634,7 @@ R 00 00 01 00 02 05 0E 00 T BE 06 00 00 R 00 00 01 00 T BE 06 00 00 CD 00 00 00 00 E0 FF 21 00 00 39 -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 16 00 T C7 06 00 00 E5 21 14 00 DD 4E 02 DD 46 03 09 R 00 00 01 00 T D2 06 00 00 5E 23 56 23 4E 23 46 CD @@ -652,9 +652,9 @@ R 00 00 01 00 02 06 0E 00 T 06 07 00 00 R 00 00 01 00 T 06 07 00 00 CD 00 00 00 00 F2 FF 11 00 00 3E -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 16 00 T 0F 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1C 00 02 09 1C 00 +R 00 00 01 00 2B 04 1D 00 02 09 1D 00 T 14 07 00 00 00 00 00 00 DD 75 F8 DD 74 F9 DD R 00 00 01 00 02 04 01 00 T 1D 07 00 00 71 FA DD 70 FB DD 6E 02 DD 66 03 @@ -714,13 +714,13 @@ R 00 00 01 00 T 04 08 00 00 09 6E 26 00 29 29 29 29 11 R 00 00 01 00 T 0D 08 00 00 00 00 00 00 19 5E 23 56 D5 21 -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T 15 08 00 00 1C 00 09 4E 23 46 21 0A 00 DD 5E R 00 00 01 00 T 20 08 00 00 F2 DD 56 F3 19 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 +R 00 00 01 00 2B 0B 06 00 T 28 08 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 07 00 02 0A 01 00 +R 00 00 01 00 02 05 06 00 02 0A 01 00 T 2F 08 00 00 DD 4E F2 DD 46 F3 21 38 00 DD 5E R 00 00 01 00 T 3A 08 00 00 02 DD 56 03 19 EB CD 0A 14 00 00 @@ -768,9 +768,9 @@ R 00 00 01 00 2B 0B 00 00 T EE 08 00 00 21 00 00 00 00 CD 00 00 00 00 E5 R 00 00 01 00 02 05 00 00 02 0A 01 00 T F5 08 00 00 21 41 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 1F 00 +R 00 00 01 00 00 05 02 00 2B 0B 20 00 T FB 08 00 00 21 00 00 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 02 05 1F 00 02 0A 01 00 +R 00 00 01 00 02 05 20 00 02 0A 01 00 T 02 09 00 00 E1 E1 R 00 00 01 00 T 04 09 00 00 @@ -806,9 +806,9 @@ R 00 00 01 00 T 52 09 00 00 R 00 00 01 00 T 52 09 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0D 00 +R 00 00 01 00 2B 0B 0C 00 T 5A 09 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 0D 00 02 0A 01 00 +R 00 00 01 00 02 05 0C 00 02 0A 01 00 T 60 09 00 00 R 00 00 01 00 T 60 09 00 00 21 00 00 E5 DD 6E F2 DD 66 F3 23 @@ -818,7 +818,7 @@ R 00 00 01 00 T 76 09 00 00 4E FE DD 5E F6 DD 56 F7 3E R 00 00 01 00 T 7F 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 17 00 02 09 17 00 +R 00 00 01 00 2B 04 18 00 02 09 18 00 T 84 09 00 00 00 00 00 00 F1 F1 F1 R 00 00 01 00 02 04 01 00 T 89 09 00 00 @@ -828,9 +828,9 @@ R 00 00 01 00 T 94 09 00 00 5E F2 DD 56 F3 73 23 72 21 30 00 R 00 00 01 00 T 9F 09 00 00 09 E5 11 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 1C 00 +R 00 00 01 00 2B 0A 1D 00 T A7 09 00 00 00 00 00 00 CD 00 00 00 00 EB E1 -R 00 00 01 00 02 04 1C 00 02 09 01 00 +R 00 00 01 00 02 04 1D 00 02 09 01 00 T AE 09 00 00 73 23 72 23 71 23 70 C3 R 00 00 01 00 T B6 09 00 00 00 00 00 00 @@ -838,9 +838,9 @@ R 00 00 01 00 02 04 0E 00 T B8 09 00 00 R 00 00 01 00 T B8 09 00 00 CD 00 00 00 00 FA FF 11 00 00 3E -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 16 00 T C1 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1C 00 02 09 1C 00 +R 00 00 01 00 2B 04 1D 00 02 09 1D 00 T C6 09 00 00 00 00 00 00 DD 75 FC DD 74 FD DD R 00 00 01 00 02 04 01 00 T CF 09 00 00 71 FE DD 70 FF @@ -920,7 +920,7 @@ R 00 00 01 00 02 05 0E 00 T B2 0A 00 00 R 00 00 01 00 T B2 0A 00 00 CD 00 00 00 00 F8 FF 2A -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 16 00 T B8 0A 00 00 00 00 00 00 DD 75 F8 DD 74 F9 R 00 00 01 00 00 04 03 00 T C0 0A 00 00 @@ -984,7 +984,7 @@ R 00 00 01 00 T 61 0B 00 00 0A 00 DD 5E FA DD 56 FB 19 EB 3E R 00 00 01 00 T 6C 0B 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 +R 00 00 01 00 2B 04 06 00 02 09 06 00 T 71 0B 00 00 00 00 00 00 F1 DD 6E FA DD 66 FB R 00 00 01 00 02 04 01 00 T 7A 0B 00 00 23 23 5E 23 56 23 4E 23 46 EB E5 @@ -994,9 +994,9 @@ R 00 00 01 00 T 90 0B 00 00 71 23 70 21 06 00 DD 4E FA DD 46 R 00 00 01 00 T 9B 0B 00 00 FB 09 E5 11 00 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1C 00 +R 00 00 01 00 2B 0B 1D 00 T A3 0B 00 00 21 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 1C 00 02 0A 01 00 +R 00 00 01 00 02 05 1D 00 02 0A 01 00 T AA 0B 00 00 E1 73 23 72 23 71 23 70 DD 4E FA R 00 00 01 00 T B5 0B 00 00 DD 46 FB 21 38 00 DD 5E F8 DD 56 @@ -1010,7 +1010,7 @@ R 00 00 01 00 T DE 0B 00 00 46 23 66 68 29 29 29 29 01 R 00 00 01 00 T E7 0B 00 00 00 00 00 00 09 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 03 00 +R 00 00 01 00 02 04 02 00 T F0 0B 00 00 DD 4E F8 DD 46 F9 03 03 69 60 4E R 00 00 01 00 T FB 0B 00 00 23 46 03 03 69 60 4E 23 46 C5 DD @@ -1030,7 +1030,7 @@ R 00 00 01 00 2B 04 00 00 02 09 00 00 T 38 0C 00 00 00 00 00 00 E5 21 62 00 00 00 E5 R 00 00 01 00 02 04 01 00 00 0A 02 00 T 3F 0C 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1F 00 02 0A 1F 00 +R 00 00 01 00 2B 05 20 00 02 0A 20 00 T 45 0C 00 00 00 00 00 00 E1 E1 E1 E1 R 00 00 01 00 02 04 01 00 T 4B 0C 00 00 @@ -1082,7 +1082,7 @@ R 00 00 01 00 02 05 0A 00 T B3 0C 00 00 R 00 00 01 00 T B3 0C 00 00 CD 00 00 00 00 E0 FF 21 00 00 39 -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 16 00 T BC 0C 00 00 E5 21 14 00 DD 4E 02 DD 46 03 09 R 00 00 01 00 T C7 0C 00 00 5E 23 56 23 4E 23 46 CD @@ -1116,7 +1116,7 @@ R 00 00 01 00 02 09 0E 00 T 30 0D 00 00 R 00 00 01 00 T 30 0D 00 00 CD 00 00 00 00 21 40 00 19 EB 3E -R 00 00 01 00 02 05 12 00 +R 00 00 01 00 02 05 11 00 T 39 0D 00 00 64 14 00 00 21 64 14 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T 3E 0D 00 00 00 00 00 00 E5 69 60 C1 71 23 70 @@ -1140,7 +1140,7 @@ R 00 00 01 00 02 05 0E 00 T 6E 0D 00 00 R 00 00 01 00 T 6E 0D 00 00 CD 00 00 00 00 FE FF 21 38 00 DD -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 16 00 T 77 0D 00 00 5E 02 DD 56 03 19 56 23 66 6A DD R 00 00 01 00 T 82 0D 00 00 75 FE DD 74 FF @@ -1294,7 +1294,7 @@ R 00 00 01 00 02 05 0E 00 T 5E 0F 00 00 R 00 00 01 00 T 5E 0F 00 00 CD 00 00 00 00 DE FF 21 14 00 DD -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 16 00 T 67 0F 00 00 4E 02 DD 46 03 09 5E 23 56 23 4E R 00 00 01 00 T 72 0F 00 00 23 46 3E 00 00 00 00 21 @@ -1342,11 +1342,11 @@ R 00 00 01 00 T 03 10 00 00 D5 11 00 00 00 00 CD F3 13 00 00 R 00 00 01 00 00 06 03 00 00 0B 01 00 T 0A 10 00 00 21 00 00 D1 C3 00 00 00 00 -R 00 00 01 00 02 09 05 00 +R 00 00 01 00 02 09 04 00 T 11 10 00 00 R 00 00 01 00 T 11 10 00 00 CD 00 00 00 00 D2 FF 2A -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 16 00 T 17 10 00 00 00 00 00 00 DD 75 D2 DD 74 D3 R 00 00 01 00 00 04 03 00 T 1F 10 00 00 @@ -1378,9 +1378,9 @@ R 00 00 01 00 T 5A 10 00 00 R 00 00 01 00 T 5A 10 00 00 01 44 00 11 01 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1B 00 +R 00 00 01 00 2B 0B 1C 00 T 62 10 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 1B 00 02 0A 01 00 +R 00 00 01 00 02 05 1C 00 02 0A 01 00 T 69 10 00 00 75 D2 DD 74 D3 7D B4 20 06 R 00 00 01 00 T 72 10 00 00 @@ -1420,9 +1420,9 @@ R 00 00 01 00 T CC 10 00 00 21 36 00 DD 4E D2 DD 46 D3 09 5E R 00 00 01 00 T D7 10 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 11 00 +R 00 00 01 00 2B 07 10 00 T DC 10 00 00 00 00 00 00 CD 00 00 00 00 18 06 -R 00 00 01 00 02 04 11 00 02 09 01 00 +R 00 00 01 00 02 04 10 00 02 09 01 00 T E3 10 00 00 R 00 00 01 00 T E3 10 00 00 21 00 00 C3 F0 13 00 00 @@ -1448,11 +1448,11 @@ R 00 00 01 00 T 36 11 00 00 46 23 66 68 01 0B 00 09 4D 44 DD R 00 00 01 00 T 41 11 00 00 5E D6 DD 56 D7 CD 00 00 00 00 4B -R 00 00 01 00 02 0A 16 00 +R 00 00 01 00 02 0A 17 00 T 4A 11 00 00 42 11 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 1B 00 +R 00 00 01 00 2B 09 1C 00 T 51 11 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 1B 00 02 09 01 00 +R 00 00 01 00 02 04 1C 00 02 09 01 00 T 58 11 00 00 D4 DD 74 D5 7D B4 20 06 R 00 00 01 00 T 60 11 00 00 @@ -1488,7 +1488,7 @@ R 00 00 01 00 T E9 11 00 00 DD 4E D8 DD 46 D9 DD 6E D6 DD 66 R 00 00 01 00 T F4 11 00 00 D7 CD 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 06 14 00 02 0B 19 00 +R 00 00 01 00 02 06 14 00 02 0B 1A 00 T FB 11 00 00 EB E1 73 23 72 21 24 00 DD 4E D2 R 00 00 01 00 T 06 12 00 00 DD 46 D3 09 36 02 23 36 00 21 @@ -1500,7 +1500,7 @@ R 00 00 01 00 T 26 12 00 00 D8 DD 46 D9 DD 6E D6 DD 66 D7 CD R 00 00 01 00 T 31 12 00 00 00 00 00 00 CD 00 00 00 00 EB E1 -R 00 00 01 00 02 04 14 00 02 09 19 00 +R 00 00 01 00 02 04 14 00 02 09 1A 00 T 38 12 00 00 73 23 72 21 28 00 DD 4E D2 DD 46 R 00 00 01 00 T 43 12 00 00 D3 09 AF 77 23 77 23 77 23 77 21 @@ -1520,9 +1520,9 @@ R 00 00 01 00 T 8F 12 00 00 DD 5E D4 DD 56 D5 73 23 72 21 R 00 00 01 00 T 99 12 00 00 08 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 1C 00 +R 00 00 01 00 2B 0A 1D 00 T A1 12 00 00 00 00 00 00 CD 00 00 00 00 AF DD -R 00 00 01 00 02 04 1C 00 02 09 01 00 +R 00 00 01 00 02 04 1D 00 02 09 01 00 T A8 12 00 00 77 DE DD 77 DF 21 36 00 DD 4E D2 R 00 00 01 00 T B3 12 00 00 DD 46 D3 09 46 23 66 68 DD 75 D4 @@ -1576,9 +1576,9 @@ R 00 00 01 00 T 5A 13 00 00 21 00 00 E5 21 88 13 E5 11 R 00 00 01 00 T 63 13 00 00 04 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 08 00 +R 00 00 01 00 00 04 03 00 2B 09 07 00 T 68 13 00 00 00 00 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 02 04 08 00 02 09 01 00 +R 00 00 01 00 02 04 07 00 02 09 01 00 T 6F 13 00 00 3E 02 04 00 00 21 02 04 00 00 32 R 00 00 01 00 29 05 01 00 00 0A 01 00 T 75 13 00 00 10 00 00 00 22 0E 00 00 00 21 @@ -1586,9 +1586,9 @@ R 00 00 01 00 00 04 03 00 00 09 03 00 T 7B 13 00 00 00 00 22 11 00 00 00 11 R 00 00 01 00 00 07 03 00 T 81 13 00 00 04 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 1A 00 +R 00 00 01 00 00 04 03 00 2B 09 1B 00 T 86 13 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 1A 00 02 09 01 00 +R 00 00 01 00 02 04 1B 00 02 09 01 00 T 8B 13 00 00 R 00 00 01 00 T 8B 13 00 00 DD 4E D2 DD 46 D3 11 00 00 00 00 @@ -1610,7 +1610,7 @@ R 00 00 01 00 00 05 01 00 T D9 13 00 00 21 10 00 39 E5 21 8B 00 00 00 E5 R 00 00 01 00 00 0A 02 00 T E2 13 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1F 00 02 0A 1F 00 +R 00 00 01 00 2B 05 20 00 02 0A 20 00 T E8 13 00 00 00 00 00 00 E1 E1 E1 21 00 00 R 00 00 01 00 02 04 01 00 T F0 13 00 00 @@ -1620,7 +1620,7 @@ R 00 00 01 00 02 05 0A 00 T F3 13 00 00 R 00 00 01 00 T F3 13 00 00 CD 00 00 00 00 EB AF 77 23 77 DD -R 00 00 01 00 02 05 12 00 +R 00 00 01 00 02 05 11 00 T FC 13 00 00 6E 02 DD 66 03 23 23 AF 77 23 77 R 00 00 01 00 T 07 14 00 00 C3 00 00 00 00 @@ -1628,7 +1628,7 @@ R 00 00 01 00 02 05 0E 00 T 0A 14 00 00 R 00 00 01 00 T 0A 14 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 16 00 T 13 14 00 00 66 03 23 23 7E 23 B6 28 1D R 00 00 01 00 T 1C 14 00 00 @@ -1656,7 +1656,7 @@ R 00 00 01 00 02 06 0E 00 T 64 14 00 00 R 00 00 01 00 T 64 14 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 16 00 T 6D 14 00 00 66 03 7E 23 B6 20 05 R 00 00 01 00 T 74 14 00 00 @@ -1692,7 +1692,7 @@ R 00 00 01 00 02 05 0A 00 T C2 14 00 00 R 00 00 01 00 T C2 14 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 16 00 T CB 14 00 00 66 03 56 23 66 6A A7 ED 42 20 64 R 00 00 01 00 T D6 14 00 00 @@ -1786,7 +1786,7 @@ R 00 00 01 00 02 05 0E 00 T D0 15 00 00 R 00 00 01 00 T D0 15 00 00 CD 00 00 00 00 FE FF DD 4E 04 DD -R 00 00 01 00 02 05 15 00 +R 00 00 01 00 02 05 16 00 T D9 15 00 00 46 05 DD 5E 02 DD 56 03 3E R 00 00 01 00 T E2 15 00 00 00 00 00 00 21 00 00 00 00 CD diff --git a/src/nos/lib/servers_lib/fingerd.rel b/src/nos/lib/servers_lib/fingerd.rel index cbf9f8f7..34b1ae94 100644 --- a/src/nos/lib/servers_lib/fingerd.rel +++ b/src/nos/lib/servers_lib/fingerd.rel @@ -1,14 +1,16 @@ XL4 H 3 areas 21 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___030c_1668_Known_20users_20on_ Ref00000000 S _Fdir Ref00000000 S _strncmp Ref00000000 -S ___02b5_1668_Known_20users_20on_ Ref00000000 S _logmsg Ref00000000 S _sendfile Ref00000000 S _rip Ref00000000 +S ___0468_633f_User_20_25s_20not_2 Ref00000000 S _pathname Ref00000000 S _Listusers Ref00000000 +S ___0308_62ed_Invalid_20user_20na Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _start_tcp Ref00000000 S _strlen Ref00000000 @@ -18,18 +20,16 @@ S _sockowner Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S _free Ref00000000 -S ___044f_f93d_close_20Finger Ref00000000 -S ___030e_cd1f_No_20finger_20infor Ref00000000 +S ___04e7_f93d_close_20Finger Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _stop_tcp Ref00000000 S _atoi Ref00000000 S _freopen Ref00000000 +S ___037d_cd1f_No_20finger_20infor Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___03d7_633f_User_20_25s_20not_2 Ref00000000 -S ___02b1_62ed_Invalid_20user_20na Ref00000000 S _fdopen Ref00000000 S _fclose Ref00000000 -S ___053d_10d3_open_20Finger Ref00000000 +S ___060f_10d3_open_20Finger Ref00000000 S _dir Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 2CF flags 0 @@ -39,7 +39,7 @@ A CSTR size 16 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 11 02 80 DD -R 00 00 01 00 02 05 14 00 +R 00 00 01 00 02 05 15 00 T 09 00 00 00 6E 02 DD 66 03 3E 80 AC 67 ED 52 R 00 00 01 00 T 14 00 00 00 30 0A @@ -53,7 +53,7 @@ R 00 00 01 00 T 20 00 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 T 2B 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 16 00 02 0A 16 00 +R 00 00 01 00 2B 05 17 00 02 0A 17 00 T 31 00 00 00 00 00 00 00 DD 75 FE DD 74 FF R 00 00 01 00 02 04 00 00 T 39 00 00 00 @@ -63,15 +63,15 @@ R 00 00 01 00 29 09 01 00 T 41 00 00 00 5B 00 00 00 E5 01 00 00 00 00 DD R 00 00 01 00 00 04 01 00 00 0A 02 00 T 48 00 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0A 00 +R 00 00 01 00 2B 0A 0C 00 T 50 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0A 00 02 09 00 00 +R 00 00 01 00 02 04 0C 00 02 09 00 00 T 57 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 09 00 +R 00 00 01 00 02 06 0B 00 T 5B 00 00 00 R 00 00 01 00 T 5B 00 00 00 CD 00 00 00 00 A8 FF 01 -R 00 00 01 00 02 05 14 00 +R 00 00 01 00 02 05 15 00 T 61 00 00 00 0E 00 00 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 00 04 02 00 T 6A 00 00 00 00 00 00 00 21 00 00 00 00 CD @@ -79,9 +79,9 @@ R 00 00 01 00 2B 04 1B 00 02 09 1B 00 T 6F 00 00 00 00 00 00 00 DD 75 FE DD 74 FF ED R 00 00 01 00 02 04 00 00 T 78 00 00 00 4B 00 00 00 00 DD 5E 02 DD 56 03 -R 00 00 01 00 02 05 0F 00 +R 00 00 01 00 02 05 11 00 T 81 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 +R 00 00 01 00 2B 05 10 00 02 0A 10 00 T 87 00 00 00 00 00 00 00 0E 00 00 00 00 C5 21 R 00 00 01 00 02 04 00 00 2B 09 1D 00 T 8D 00 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 @@ -93,23 +93,23 @@ R 00 00 01 00 02 05 00 00 T A5 00 00 00 DD 66 FF E5 01 50 00 21 02 00 39 R 00 00 01 00 T B0 00 00 00 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0D 00 +R 00 00 01 00 2B 07 0F 00 T B5 00 00 00 00 00 00 00 CD 00 00 00 00 F1 21 -R 00 00 01 00 02 04 0D 00 02 09 00 00 +R 00 00 01 00 02 04 0F 00 02 09 00 00 T BC 00 00 00 00 00 39 5D 54 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 06 00 T C4 00 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 06 00 02 09 00 00 T CA 00 00 00 00 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0B 00 +R 00 00 01 00 2B 0A 0D 00 T D2 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 0D 00 02 09 00 00 T D9 00 00 00 20 50 R 00 00 01 00 T DB 00 00 00 R 00 00 01 00 T DB 00 00 00 01 00 00 ED 5B 00 00 00 00 3E -R 00 00 01 00 02 09 01 00 +R 00 00 01 00 02 09 02 00 T E3 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 1E 00 02 09 1E 00 T E8 00 00 00 00 00 00 00 DD 75 F8 DD 74 F9 7D @@ -119,21 +119,21 @@ R 00 00 01 00 T F4 00 00 00 R 00 00 01 00 T F4 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 13 00 02 0B 13 00 +R 00 00 01 00 2B 05 19 00 02 0B 19 00 T FA 00 00 00 E5 DD 6E FE DD 66 FF E5 3E R 00 00 01 00 T 03 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0E 00 02 09 0E 00 T 08 01 00 00 00 00 00 00 F1 F1 F1 18 19 R 00 00 01 00 02 04 00 00 T 0F 01 00 00 R 00 00 01 00 T 0F 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 01 00 02 0B 01 00 T 15 01 00 00 E5 DD 6E FE DD 66 FF E5 3E R 00 00 01 00 T 1E 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0E 00 02 09 0E 00 T 23 01 00 00 00 00 00 00 F1 F1 F1 R 00 00 01 00 02 04 00 00 T 28 01 00 00 @@ -145,23 +145,23 @@ R 00 00 01 00 T 2B 01 00 00 21 00 00 39 4D 44 ED 5B R 00 00 01 00 T 33 01 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 01 00 2B 09 07 00 +R 00 00 01 00 02 04 02 00 2B 09 08 00 T 38 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 07 00 02 09 00 00 +R 00 00 01 00 02 04 08 00 02 09 00 00 T 3F 01 00 00 FA DD 74 FB 01 12 00 00 00 ED 5B R 00 00 01 00 00 09 02 00 T 48 01 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 01 00 2B 09 07 00 +R 00 00 01 00 02 04 02 00 2B 09 08 00 T 4D 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 07 00 02 09 00 00 +R 00 00 01 00 02 04 08 00 02 09 00 00 T 54 01 00 00 FC DD 74 FD EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 0B 00 +R 00 00 01 00 2B 0A 0D 00 T 5C 01 00 00 00 00 00 00 CD 00 00 00 00 E5 DD -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 0D 00 02 09 00 00 T 63 01 00 00 4E FC DD 46 FD DD 5E FA DD 56 FB R 00 00 01 00 T 6E 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 02 00 02 0A 02 00 +R 00 00 01 00 2B 05 03 00 02 0A 03 00 T 74 01 00 00 00 00 00 00 F1 7D B4 28 28 R 00 00 01 00 02 04 00 00 T 7B 01 00 00 @@ -169,11 +169,11 @@ R 00 00 01 00 T 7B 01 00 00 AF DD 77 F8 DD 77 F9 21 00 00 39 R 00 00 01 00 T 86 01 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 1A 00 +R 00 00 01 00 2B 06 0A 00 T 8B 01 00 00 00 00 00 00 E5 DD 6E FE DD 66 FF -R 00 00 01 00 02 04 1A 00 +R 00 00 01 00 02 04 0A 00 T 94 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T 9A 01 00 00 CD 00 00 00 00 F1 F1 F1 F1 18 3F R 00 00 01 00 02 05 00 00 T A3 01 00 00 @@ -181,21 +181,21 @@ R 00 00 01 00 T A3 01 00 00 21 00 00 E5 01 13 00 00 00 DD 5E R 00 00 01 00 00 09 02 00 T AC 01 00 00 FA DD 56 FB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 17 00 +R 00 00 01 00 2B 09 18 00 T B3 01 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 17 00 02 09 00 00 +R 00 00 01 00 02 04 18 00 02 09 00 00 T BA 01 00 00 75 F8 DD 74 F9 7D B4 20 1F R 00 00 01 00 T C3 01 00 00 R 00 00 01 00 T C3 01 00 00 21 00 00 39 E5 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 19 00 +R 00 00 01 00 2B 0A 07 00 T CB 01 00 00 21 00 00 00 00 E5 DD 6E FE DD 66 -R 00 00 01 00 02 05 19 00 +R 00 00 01 00 02 05 07 00 T D4 01 00 00 FF E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0C 00 +R 00 00 01 00 2B 07 0E 00 T D9 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0C 00 02 09 00 00 +R 00 00 01 00 02 04 0E 00 02 09 00 00 T E0 01 00 00 F1 F1 R 00 00 01 00 T E2 01 00 00 @@ -203,13 +203,13 @@ R 00 00 01 00 T E2 01 00 00 R 00 00 01 00 T E2 01 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 11 00 +R 00 00 01 00 2B 0B 13 00 T EA 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 11 00 02 0A 00 00 +R 00 00 01 00 02 05 13 00 02 0A 00 00 T F1 01 00 00 5E FA DD 56 FB 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 11 00 +R 00 00 01 00 2B 0A 13 00 T F9 01 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 11 00 02 09 00 00 +R 00 00 01 00 02 04 13 00 02 09 00 00 T FE 01 00 00 R 00 00 01 00 T FE 01 00 00 DD 7E F8 DD B6 F9 28 2A @@ -231,13 +231,13 @@ R 00 00 01 00 02 05 00 00 T 30 02 00 00 R 00 00 01 00 T 30 02 00 00 21 00 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 +R 00 00 01 00 2B 0B 0D 00 T 38 02 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 0B 00 02 0A 00 00 +R 00 00 01 00 02 05 0D 00 02 0A 00 00 T 3F 02 00 00 B4 20 19 2A 00 00 00 00 3A -R 00 00 01 00 02 08 08 00 +R 00 00 01 00 02 08 09 00 T 46 02 00 00 02 00 00 00 B5 B4 28 0F -R 00 00 01 00 02 04 08 00 +R 00 00 01 00 02 04 09 00 T 4C 02 00 00 R 00 00 01 00 T 4C 02 00 00 @@ -245,9 +245,9 @@ R 00 00 01 00 T 4C 02 00 00 R 00 00 01 00 T 4C 02 00 00 DD 5E FE DD 56 FF 3A 02 00 00 00 -R 00 00 01 00 02 0B 08 00 +R 00 00 01 00 02 0B 09 00 T 55 02 00 00 2A 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 08 00 02 0A 00 00 +R 00 00 01 00 02 05 09 00 02 0A 00 00 T 5B 02 00 00 R 00 00 01 00 T 5B 02 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 @@ -255,7 +255,7 @@ R 00 00 01 00 2B 0B 1C 00 T 63 02 00 00 21 00 00 00 00 CD 00 00 00 00 0E R 00 00 01 00 02 05 1C 00 02 0A 00 00 T 6A 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 12 00 02 0A 12 00 +R 00 00 01 00 2B 04 14 00 02 0A 14 00 T 70 02 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 78 02 00 00 00 00 00 00 21 00 00 00 00 CD @@ -263,11 +263,11 @@ R 00 00 01 00 2B 04 04 00 02 09 04 00 T 7D 02 00 00 00 00 00 00 E1 E1 E1 C3 R 00 00 01 00 02 04 00 00 T 83 02 00 00 00 00 00 00 -R 00 00 01 00 02 04 09 00 +R 00 00 01 00 02 04 0B 00 T 85 02 00 00 R 00 00 01 00 T 85 02 00 00 CD 00 00 00 00 FE FF 11 02 80 DD -R 00 00 01 00 02 05 14 00 +R 00 00 01 00 02 05 15 00 T 8E 02 00 00 6E 02 DD 66 03 3E 80 AC 67 ED 52 R 00 00 01 00 T 99 02 00 00 30 0A @@ -281,17 +281,17 @@ R 00 00 01 00 T A5 02 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 T B0 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 16 00 02 0A 16 00 +R 00 00 01 00 2B 05 17 00 02 0A 17 00 T B6 02 00 00 00 00 00 00 DD 75 FE DD 74 FF R 00 00 01 00 02 04 00 00 T BE 02 00 00 R 00 00 01 00 T BE 02 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 15 00 +R 00 00 01 00 2B 0B 16 00 T C6 02 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 15 00 02 0A 00 00 +R 00 00 01 00 02 05 16 00 02 0A 00 00 T CD 02 00 00 00 00 00 00 -R 00 00 01 00 02 04 09 00 +R 00 00 01 00 02 04 0B 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 46 69 6E 67 65 72 20 53 65 72 76 diff --git a/src/nos/lib/servers_lib/ftplogin.rel b/src/nos/lib/servers_lib/ftplogin.rel index 0b5d3c9d..8544f65d 100644 --- a/src/nos/lib/servers_lib/ftplogin.rel +++ b/src/nos/lib/servers_lib/ftplogin.rel @@ -1,20 +1,20 @@ XL4 H 2 areas 10 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___014a_a64e__25s_20logged_20in_ Ref00000000 S _logmsg Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Ftpsmsg_noperm Ref00000000 S _userlogin Ref00000000 S __fprintf Ref00000000 S _strdupw Ref00000000 +S ___0173_a64e__25s_20logged_20in_ Ref00000000 S .__.ABS. Def00000000 S _free Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _mallocw Ref00000000 +S ___0172_a4a4__25s_20logged_20in Ref00000000 S _Ftpsmsg_logged Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0149_a4a4__25s_20logged_20in Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 15C flags 0 S _ftplogin Def00000000 @@ -33,9 +33,9 @@ R 00 00 01 00 T 2E 00 00 00 C8 00 E5 21 06 00 39 E5 21 19 00 R 00 00 01 00 T 39 00 00 00 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 05 00 +R 00 00 01 00 2B 09 04 00 T 40 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 05 00 02 09 00 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T 47 00 00 00 F1 4D 44 E1 71 23 70 79 A0 3C 20 R 00 00 01 00 T 52 00 00 00 2F @@ -43,13 +43,13 @@ R 00 00 01 00 T 53 00 00 00 R 00 00 01 00 T 53 00 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 03 00 T 59 00 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 04 00 +R 00 00 01 00 02 04 03 00 T 62 00 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 06 00 +R 00 00 01 00 2B 09 05 00 T 69 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 06 00 02 09 00 00 +R 00 00 01 00 02 04 05 00 02 09 00 00 T 70 00 00 00 F1 DD 5E FC DD 56 FD 3E R 00 00 01 00 T 78 00 00 00 00 00 00 00 21 00 00 00 00 CD @@ -65,15 +65,15 @@ R 00 00 01 00 T 98 00 00 00 09 E5 DD 5E FC DD 56 FD 3E R 00 00 01 00 T A1 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 +R 00 00 01 00 2B 04 06 00 02 09 06 00 T A6 00 00 00 00 00 00 00 EB E1 73 23 72 3A R 00 00 01 00 02 04 00 00 T AE 00 00 00 02 00 00 00 5F D5 2A 00 00 00 00 -R 00 00 01 00 02 04 0C 00 02 0B 0C 00 +R 00 00 01 00 02 04 0D 00 02 0B 0D 00 T B5 00 00 00 E5 69 60 4E 23 46 C5 3E R 00 00 01 00 T BD 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T C2 00 00 00 00 00 00 00 F1 F1 F1 DD 7E FE DD R 00 00 01 00 02 04 00 00 T CB 00 00 00 B6 FF 20 42 @@ -83,9 +83,9 @@ R 00 00 01 00 T CF 00 00 00 21 19 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 T DA 00 00 00 23 56 D5 1E 00 00 00 00 D5 21 -R 00 00 01 00 2B 08 0E 00 +R 00 00 01 00 2B 08 0C 00 T E1 00 00 00 00 00 00 00 E5 69 60 7E 23 B6 28 -R 00 00 01 00 02 04 0E 00 +R 00 00 01 00 02 04 0C 00 T EA 00 00 00 14 DD 6E 02 DD 66 03 46 23 66 68 R 00 00 01 00 T F5 00 00 00 01 08 00 09 46 23 66 68 18 03 @@ -97,7 +97,7 @@ R 00 00 01 00 T 02 01 00 00 R 00 00 01 00 T 02 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 02 00 02 0B 02 00 +R 00 00 01 00 2B 06 01 00 02 0B 01 00 T 08 01 00 00 CD 00 00 00 00 E1 E1 E1 E1 18 48 R 00 00 01 00 02 05 00 00 T 11 01 00 00 @@ -107,7 +107,7 @@ R 00 00 01 00 T 1C 01 00 00 4E 02 DD 46 03 09 5E 23 56 D5 1E R 00 00 01 00 T 27 01 00 00 00 00 00 00 D5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 01 00 02 0A 01 00 +R 00 00 01 00 2B 04 07 00 02 0A 07 00 T 2D 01 00 00 69 60 7E 23 B6 28 14 DD 6E 02 DD R 00 00 01 00 T 38 01 00 00 66 03 46 23 66 68 01 08 00 09 46 @@ -121,7 +121,7 @@ R 00 00 01 00 T 4B 01 00 00 R 00 00 01 00 T 4B 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 02 00 02 0B 02 00 +R 00 00 01 00 2B 06 01 00 02 0B 01 00 T 51 01 00 00 CD 00 00 00 00 E1 E1 E1 E1 E1 R 00 00 01 00 02 05 00 00 T 59 01 00 00 @@ -129,4 +129,4 @@ R 00 00 01 00 T 59 01 00 00 R 00 00 01 00 T 59 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/servers_lib/ftpserv.rel b/src/nos/lib/servers_lib/ftpserv.rel index c13e6cc0..bb9824d2 100644 --- a/src/nos/lib/servers_lib/ftpserv.rel +++ b/src/nos/lib/servers_lib/ftpserv.rel @@ -27,8 +27,8 @@ S _Version Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _time Ref00000000 S _fdup Ref00000000 -S ___044e_2b22_close_20FTP Ref00000000 S ?SS_DIV_L02 Ref00000000 +S ___04e6_2b22_close_20FTP Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S __strlen Ref00000000 S _Ftpsmsg_banner Ref00000000 @@ -36,7 +36,7 @@ S _ftpserv_switch Ref00000000 S _fdopen Ref00000000 S _fclose Ref00000000 S _setvbuf Ref00000000 -S ___053c_e5a0_open_20FTP Ref00000000 +S ___060e_e5a0_open_20FTP Ref00000000 S _Hostname Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 4CE flags 0 @@ -353,7 +353,7 @@ R 00 00 01 00 02 05 08 00 T 7B 03 00 00 66 6A A7 ED 42 EB 01 03 00 CD R 00 00 01 00 T 85 03 00 00 00 00 00 00 7B B2 28 0C 3E 02 AB -R 00 00 01 00 02 04 1C 00 +R 00 00 01 00 02 04 1B 00 T 8E 03 00 00 B2 28 06 3E 08 AB B2 20 02 R 00 00 01 00 T 97 03 00 00 @@ -407,7 +407,7 @@ R 00 00 01 00 02 08 08 00 T 05 04 00 00 39 7E 23 66 6F A7 ED 52 EB 01 R 00 00 01 00 T 0F 04 00 00 03 00 CD 00 00 00 00 3E -R 00 00 01 00 02 07 1C 00 +R 00 00 01 00 02 07 1B 00 T 15 04 00 00 00 00 00 00 21 00 00 00 00 C1 CD R 00 00 01 00 2B 04 20 00 02 09 20 00 T 1B 04 00 00 00 00 00 00 F1 7D B4 28 03 @@ -421,7 +421,7 @@ R 00 00 01 00 T 25 04 00 00 R 00 00 01 00 T 25 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1B 00 02 0B 1B 00 +R 00 00 01 00 2B 05 1C 00 02 0B 1C 00 T 2B 04 00 00 E5 21 04 00 39 46 23 66 68 7D B4 R 00 00 01 00 T 36 04 00 00 28 12 21 04 00 39 46 23 66 68 01 diff --git a/src/nos/lib/servers_lib/ftpserv_switch.rel b/src/nos/lib/servers_lib/ftpserv_switch.rel index 17613297..dd421155 100644 --- a/src/nos/lib/servers_lib/ftpserv_switch.rel +++ b/src/nos/lib/servers_lib/ftpserv_switch.rel @@ -9,9 +9,11 @@ S _sendit Ref00000000 S _Ftpsmsg_cantmake Ref00000000 S _logmsg Ref00000000 S _tolower Ref00000000 +S ___03dc_86e6_RMD_20_25s Ref00000000 S _recvit Ref00000000 S _pathname Ref00000000 S _unlink Ref00000000 +S ___03fc_a1f1_STOR_20_25s Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Ftpsmsg_noperm Ref00000000 S _Ftpsmsg_pwdmsg Ref00000000 @@ -23,7 +25,7 @@ S _strdupw Ref00000000 S _Ftpsmsg_mkdok Ref00000000 S _Ftpsmsg_cantopen Ref00000000 S _rmdir Ref00000000 -S ___035d_86e6_RMD_20_25s Ref00000000 +S ___0336_c247_MKD_20_25s Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S _Ftpsmsg_typeok Ref00000000 @@ -34,6 +36,7 @@ S _Ftpsmsg_portok Ref00000000 S _ftplogin Ref00000000 S _Ftpsmsg_givepass Ref00000000 S _Version Ref00000000 +S ___03d0_8b13_RETR_20_25s Ref00000000 S _Ftpsmsg_userfirst Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _Ftpsmsg_unimp Ref00000000 @@ -48,12 +51,9 @@ S _pport Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _Ftpsmsg_okay Ref00000000 S _Ftpsmsg_deleok Ref00000000 -S ___02ca_c247_MKD_20_25s Ref00000000 S ?C_V_SWITCH_L06 Ref00000000 -S ___022d_1cf7_DELE_20_25s Ref00000000 S _Ftpsmsg_delefail Ref00000000 -S ___0379_a1f1_STOR_20_25s Ref00000000 -S ___0351_8b13_RETR_20_25s Ref00000000 +S ___026a_1cf7_DELE_20_25s Ref00000000 S _Ftpsmsg_only8 Ref00000000 S _dir Ref00000000 A _DEFAULT size 0 flags 0 @@ -63,7 +63,7 @@ A CSTR size 20 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF DD 5E 02 DD -R 00 00 01 00 02 05 23 00 +R 00 00 01 00 02 05 26 00 T 09 00 00 00 56 03 CD 00 00 00 00 00 00 18 00 R 00 00 01 00 02 07 04 00 T 12 00 00 00 D6 0D 00 00 44 00 00 00 @@ -97,21 +97,21 @@ R 00 00 01 00 T 44 00 00 00 21 19 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 T 4F 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 1D 00 +R 00 00 01 00 2B 07 1F 00 T 54 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 1D 00 02 09 00 00 +R 00 00 01 00 02 04 1F 00 02 09 00 00 T 5A 00 00 00 19 00 09 E5 DD 5E 0A DD 56 0B 3E R 00 00 01 00 T 65 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 13 00 02 09 13 00 +R 00 00 01 00 2B 04 15 00 02 09 15 00 T 6A 00 00 00 00 00 00 00 EB E1 73 23 72 3A R 00 00 01 00 02 04 00 00 T 72 00 00 00 02 00 00 00 5F D5 2A 00 00 00 00 -R 00 00 01 00 02 04 20 00 02 0B 20 00 +R 00 00 01 00 02 04 22 00 02 0B 22 00 T 79 00 00 00 E5 69 60 4E 23 46 C5 3E R 00 00 01 00 T 81 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 +R 00 00 01 00 2B 04 14 00 02 09 14 00 T 86 00 00 00 00 00 00 00 F1 F1 F1 C3 R 00 00 01 00 02 04 00 00 T 8C 00 00 00 D6 0D 00 00 @@ -121,7 +121,7 @@ R 00 00 01 00 T 8E 00 00 00 DD 6E 0A DD 66 0B 5E CD R 00 00 01 00 T 96 00 00 00 00 00 00 00 08 00 41 42 49 4C 61 -R 00 00 01 00 02 04 31 00 +R 00 00 01 00 02 04 33 00 T 9F 00 00 00 62 69 6C AA 01 00 00 E5 00 00 00 R 00 00 01 00 00 07 01 00 00 0B 01 00 T A6 00 00 00 7A 01 00 00 7A 01 00 00 @@ -139,11 +139,11 @@ R 00 00 01 00 T BF 00 00 00 00 DD 6E 0A DD 66 0B E5 3A R 00 00 01 00 T C8 00 00 00 02 00 00 00 5F D5 2A 00 00 00 00 -R 00 00 01 00 02 04 1A 00 02 0B 1A 00 +R 00 00 01 00 02 04 1C 00 02 0B 1C 00 T CF 00 00 00 E5 69 60 4E 23 46 C5 3E R 00 00 01 00 T D7 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 +R 00 00 01 00 2B 04 14 00 02 09 14 00 T DC 00 00 00 00 00 00 00 F1 F1 F1 F1 C3 R 00 00 01 00 02 04 00 00 T E3 00 00 00 D2 01 00 00 @@ -187,9 +187,9 @@ R 00 00 01 00 02 05 36 00 T 26 01 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 R 00 00 01 00 02 04 36 00 T 2F 01 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 +R 00 00 01 00 2B 09 14 00 T 36 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T 3D 01 00 00 F1 C3 D2 01 00 00 R 00 00 01 00 00 06 01 00 T 41 01 00 00 @@ -199,13 +199,13 @@ R 00 00 01 00 T 4C 01 00 00 02 21 05 00 09 36 08 23 36 00 DD R 00 00 01 00 T 57 01 00 00 6E 0A DD 66 0B E5 3A 02 00 00 00 -R 00 00 01 00 02 0B 1A 00 +R 00 00 01 00 02 0B 1C 00 T 60 01 00 00 5F D5 2A 00 00 00 00 E5 69 60 4E -R 00 00 01 00 02 07 1A 00 +R 00 00 01 00 02 07 1C 00 T 69 01 00 00 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 12 00 +R 00 00 01 00 2B 08 14 00 T 6F 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T 76 01 00 00 F1 F1 18 58 R 00 00 01 00 T 7A 01 00 00 @@ -215,11 +215,11 @@ R 00 00 01 00 T 85 01 00 00 01 DD 6E 0A DD 66 0B E5 3A R 00 00 01 00 T 8E 01 00 00 02 00 00 00 5F D5 2A 00 00 00 00 -R 00 00 01 00 02 04 1A 00 02 0B 1A 00 +R 00 00 01 00 02 04 1C 00 02 0B 1C 00 T 95 01 00 00 E5 69 60 4E 23 46 C5 3E R 00 00 01 00 T 9D 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 +R 00 00 01 00 2B 04 14 00 02 09 14 00 T A2 01 00 00 00 00 00 00 F1 F1 F1 F1 18 28 R 00 00 01 00 02 04 00 00 T AA 01 00 00 @@ -227,11 +227,11 @@ R 00 00 01 00 T AA 01 00 00 DD 6E 0A DD 66 0B E5 3A R 00 00 01 00 T B2 01 00 00 02 00 00 00 4F C5 2A 00 00 00 00 -R 00 00 01 00 02 04 25 00 02 0B 25 00 +R 00 00 01 00 02 04 28 00 02 0B 28 00 T B9 01 00 00 E5 DD 6E 04 DD 66 05 4E 23 46 C5 R 00 00 01 00 T C4 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 12 00 02 0A 12 00 +R 00 00 01 00 2B 05 14 00 02 0A 14 00 T CA 01 00 00 00 00 00 00 F1 F1 F1 F1 18 00 R 00 00 01 00 02 04 00 00 T D2 01 00 00 @@ -245,9 +245,9 @@ R 00 00 01 00 02 05 02 00 T DB 01 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 R 00 00 01 00 02 04 02 00 T E4 01 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 +R 00 00 01 00 2B 09 14 00 T EB 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T F2 01 00 00 F1 21 00 00 C3 D9 0D 00 00 R 00 00 01 00 00 09 01 00 T F9 01 00 00 @@ -257,7 +257,7 @@ R 00 00 01 00 T 04 02 00 00 04 DD 56 05 19 5E 23 56 3E R 00 00 01 00 T 0D 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 12 02 00 00 00 00 00 00 DD 75 FC DD 74 FD 21 R 00 00 01 00 02 04 00 00 T 1B 02 00 00 04 00 DD 4E 04 DD 46 05 09 7E FE @@ -285,21 +285,21 @@ R 00 00 01 00 T 5B 02 00 00 23 46 21 1B 00 DD 5E 04 DD 56 05 R 00 00 01 00 T 66 02 00 00 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 29 00 +R 00 00 01 00 2B 09 2C 00 T 6D 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 29 00 02 09 00 00 +R 00 00 01 00 02 04 2C 00 02 09 00 00 T 74 02 00 00 7D B4 20 21 R 00 00 01 00 T 78 02 00 00 R 00 00 01 00 T 78 02 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0F 00 T 7E 02 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 0D 00 +R 00 00 01 00 02 04 0F 00 T 87 02 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 +R 00 00 01 00 2B 09 14 00 T 8E 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T 95 02 00 00 F1 C3 A8 03 00 00 R 00 00 01 00 00 06 01 00 T 99 02 00 00 @@ -309,27 +309,27 @@ R 00 00 01 00 T A4 02 00 00 01 00 00 C5 DD 4E FE DD 46 FF DD R 00 00 01 00 T AF 02 00 00 5E FC DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 27 00 +R 00 00 01 00 2B 0A 2A 00 T B7 02 00 00 00 00 00 00 CD 00 00 00 00 F1 4D -R 00 00 01 00 02 04 27 00 02 09 00 00 +R 00 00 01 00 02 04 2A 00 02 09 00 00 T BE 02 00 00 44 E1 71 23 70 79 B0 20 3E R 00 00 01 00 T C7 02 00 00 R 00 00 01 00 -T C7 02 00 00 21 4D 00 ED 4B 00 00 00 00 09 5E -R 00 00 01 00 02 09 18 00 +T C7 02 00 00 21 4F 00 ED 4B 00 00 00 00 09 5E +R 00 00 01 00 02 09 1A 00 T D0 02 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 01 00 T D5 02 00 00 00 00 00 00 CD 00 00 00 00 E5 DD R 00 00 01 00 02 04 01 00 02 09 00 00 T DC 02 00 00 6E FC DD 66 FD E5 3A 02 00 00 00 -R 00 00 01 00 02 0B 15 00 +R 00 00 01 00 02 0B 17 00 T E5 02 00 00 4F C5 2A 00 00 00 00 E5 DD 6E 04 -R 00 00 01 00 02 07 15 00 +R 00 00 01 00 02 07 17 00 T EE 02 00 00 DD 66 05 4E 23 46 C5 3E R 00 00 01 00 T F6 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 +R 00 00 01 00 2B 04 14 00 02 09 14 00 T FB 02 00 00 00 00 00 00 F1 F1 F1 F1 F1 C3 R 00 00 01 00 02 04 00 00 T 03 03 00 00 A8 03 00 00 @@ -339,7 +339,7 @@ R 00 00 01 00 T 05 03 00 00 DD 6E FC DD 66 FD E5 0E R 00 00 01 00 T 0D 03 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 35 00 02 0A 35 00 +R 00 00 01 00 2B 04 24 00 02 0A 24 00 T 13 03 00 00 DD 6E 04 DD 66 05 7E 23 B6 28 14 R 00 00 01 00 T 1E 03 00 00 DD 6E 04 DD 66 05 46 23 66 68 01 @@ -361,9 +361,9 @@ R 00 00 01 00 T 4E 03 00 00 20 3F 21 07 00 DD 4E 04 DD 46 05 R 00 00 01 00 T 59 03 00 00 09 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 1C 00 +R 00 00 01 00 2B 09 1E 00 T 60 03 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 1C 00 02 09 00 00 +R 00 00 01 00 02 04 1E 00 02 09 00 00 T 67 03 00 00 28 26 R 00 00 01 00 T 69 03 00 00 @@ -375,11 +375,11 @@ R 00 00 01 00 T 69 03 00 00 DD 6E FC DD 66 FD E5 3A R 00 00 01 00 T 71 03 00 00 02 00 00 00 4F C5 2A 00 00 00 00 -R 00 00 01 00 02 04 2B 00 02 0B 2B 00 +R 00 00 01 00 02 04 2E 00 02 0B 2E 00 T 78 03 00 00 E5 DD 6E 04 DD 66 05 4E 23 46 C5 R 00 00 01 00 T 83 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 12 00 02 0A 12 00 +R 00 00 01 00 2B 05 14 00 02 0A 14 00 T 89 03 00 00 00 00 00 00 F1 F1 F1 F1 R 00 00 01 00 02 04 00 00 T 8F 03 00 00 @@ -397,9 +397,9 @@ R 00 00 01 00 T A8 03 00 00 R 00 00 01 00 T A8 03 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1D 00 +R 00 00 01 00 2B 0B 1F 00 T B0 03 00 00 21 00 00 00 00 CD 00 00 00 00 AF -R 00 00 01 00 02 05 1D 00 02 0A 00 00 +R 00 00 01 00 02 05 1F 00 02 0A 00 00 T B7 03 00 00 DD 77 FC DD 77 FD C3 D6 0D 00 00 R 00 00 01 00 00 0B 01 00 T C0 03 00 00 @@ -409,7 +409,7 @@ R 00 00 01 00 T CB 03 00 00 04 DD 56 05 19 5E 23 56 3E R 00 00 01 00 T D4 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T D9 03 00 00 00 00 00 00 DD 75 FC DD 74 FD 21 R 00 00 01 00 02 04 00 00 T E2 03 00 00 04 00 DD 4E 04 DD 46 05 09 7E FE @@ -437,21 +437,21 @@ R 00 00 01 00 T 22 04 00 00 23 46 21 1B 00 DD 5E 04 DD 56 05 R 00 00 01 00 T 2D 04 00 00 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 29 00 +R 00 00 01 00 2B 09 2C 00 T 34 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 29 00 02 09 00 00 +R 00 00 01 00 02 04 2C 00 02 09 00 00 T 3B 04 00 00 7D B4 20 21 R 00 00 01 00 T 3F 04 00 00 R 00 00 01 00 T 3F 04 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0F 00 T 45 04 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 0D 00 +R 00 00 01 00 02 04 0F 00 T 4E 04 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 +R 00 00 01 00 2B 09 14 00 T 55 04 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T 5C 04 00 00 F1 C3 21 05 00 00 R 00 00 01 00 00 06 01 00 T 60 04 00 00 @@ -461,15 +461,15 @@ R 00 00 01 00 T 6B 04 00 00 01 00 00 C5 DD 4E FE DD 46 FF DD R 00 00 01 00 T 76 04 00 00 5E FC DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 27 00 +R 00 00 01 00 2B 0A 2A 00 T 7E 04 00 00 00 00 00 00 CD 00 00 00 00 F1 4D -R 00 00 01 00 02 04 27 00 02 09 00 00 +R 00 00 01 00 02 04 2A 00 02 09 00 00 T 85 04 00 00 44 E1 71 23 70 79 B0 20 3D R 00 00 01 00 T 8E 04 00 00 R 00 00 01 00 -T 8E 04 00 00 21 4D 00 ED 4B 00 00 00 00 09 5E -R 00 00 01 00 02 09 18 00 +T 8E 04 00 00 21 4F 00 ED 4B 00 00 00 00 09 5E +R 00 00 01 00 02 09 1A 00 T 97 04 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 01 00 T 9C 04 00 00 00 00 00 00 CD 00 00 00 00 E5 DD @@ -481,7 +481,7 @@ R 00 00 01 00 02 07 06 00 T B5 04 00 00 DD 66 05 4E 23 46 C5 3E R 00 00 01 00 T BD 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 +R 00 00 01 00 2B 04 14 00 02 09 14 00 T C2 04 00 00 00 00 00 00 F1 F1 F1 F1 F1 18 56 R 00 00 01 00 02 04 00 00 T CB 04 00 00 @@ -489,7 +489,7 @@ R 00 00 01 00 T CB 04 00 00 DD 6E FC DD 66 FD E5 0E R 00 00 01 00 T D3 04 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 34 00 02 0A 34 00 +R 00 00 01 00 2B 04 0D 00 02 0A 0D 00 T D9 04 00 00 DD 6E 04 DD 66 05 7E 23 B6 28 14 R 00 00 01 00 T E4 04 00 00 DD 6E 04 DD 66 05 46 23 66 68 01 @@ -509,17 +509,17 @@ R 00 00 01 00 02 05 00 00 T 0A 05 00 00 FC DD 66 FD E5 01 11 00 00 00 DD R 00 00 01 00 00 0A 02 00 T 13 05 00 00 5E 04 DD 56 05 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 09 00 +R 00 00 01 00 2B 0A 0A 00 T 1B 05 00 00 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 04 09 00 02 09 00 00 +R 00 00 01 00 02 04 0A 00 02 09 00 00 T 21 05 00 00 R 00 00 01 00 T 21 05 00 00 R 00 00 01 00 T 21 05 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1D 00 +R 00 00 01 00 2B 0B 1F 00 T 29 05 00 00 21 00 00 00 00 CD 00 00 00 00 AF -R 00 00 01 00 02 05 1D 00 02 0A 00 00 +R 00 00 01 00 02 05 1F 00 02 0A 00 00 T 30 05 00 00 DD 77 FC DD 77 FD C3 D6 0D 00 00 R 00 00 01 00 00 0B 01 00 T 39 05 00 00 @@ -527,33 +527,33 @@ R 00 00 01 00 T 39 05 00 00 DD 4E 0A DD 46 0B 21 09 00 DD 5E R 00 00 01 00 T 44 05 00 00 04 DD 56 05 19 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 2C 00 +R 00 00 01 00 2B 0B 2F 00 T 4C 05 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 2C 00 02 0A 00 00 +R 00 00 01 00 02 05 2F 00 02 0A 00 00 T 53 05 00 00 A4 3C 20 20 R 00 00 01 00 T 57 05 00 00 R 00 00 01 00 T 57 05 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 28 00 +R 00 00 01 00 02 05 2B 00 T 5D 05 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 28 00 +R 00 00 01 00 02 04 2B 00 T 66 05 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 +R 00 00 01 00 2B 09 14 00 T 6D 05 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T 74 05 00 00 F1 18 1E R 00 00 01 00 T 77 05 00 00 R 00 00 01 00 T 77 05 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 1E 00 +R 00 00 01 00 02 05 20 00 T 7D 05 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 1E 00 +R 00 00 01 00 02 04 20 00 T 86 05 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 +R 00 00 01 00 2B 09 14 00 T 8D 05 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T 94 05 00 00 F1 R 00 00 01 00 T 95 05 00 00 @@ -567,7 +567,7 @@ R 00 00 01 00 T A3 05 00 00 04 DD 56 05 19 5E 23 56 3E R 00 00 01 00 T AC 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T B1 05 00 00 00 00 00 00 DD 75 FC DD 74 FD E5 R 00 00 01 00 02 04 00 00 T BA 05 00 00 21 09 00 E5 21 1D 00 DD 4E 04 DD @@ -577,19 +577,19 @@ R 00 00 01 00 T D0 05 00 00 04 DD 56 05 19 5E 23 56 3E R 00 00 01 00 T D9 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 29 00 02 09 29 00 +R 00 00 01 00 2B 04 2C 00 02 09 2C 00 T DE 05 00 00 00 00 00 00 F1 F1 7D B4 20 20 R 00 00 01 00 02 04 00 00 T E6 05 00 00 R 00 00 01 00 T E6 05 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0F 00 T EC 05 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 0D 00 +R 00 00 01 00 02 04 0F 00 T F5 05 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 +R 00 00 01 00 2B 09 14 00 T FC 05 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T 03 06 00 00 F1 18 7C R 00 00 01 00 T 06 06 00 00 @@ -606,20 +606,20 @@ T 29 06 00 00 B0 20 3D R 00 00 01 00 T 2C 06 00 00 R 00 00 01 00 -T 2C 06 00 00 21 4D 00 ED 4B 00 00 00 00 09 5E -R 00 00 01 00 02 09 18 00 +T 2C 06 00 00 21 4F 00 ED 4B 00 00 00 00 09 5E +R 00 00 01 00 02 09 1A 00 T 35 06 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 01 00 T 3A 06 00 00 00 00 00 00 CD 00 00 00 00 E5 DD R 00 00 01 00 02 04 01 00 02 09 00 00 T 41 06 00 00 6E FC DD 66 FD E5 3A 02 00 00 00 -R 00 00 01 00 02 0B 1B 00 +R 00 00 01 00 02 0B 1D 00 T 4A 06 00 00 4F C5 2A 00 00 00 00 E5 DD 6E 04 -R 00 00 01 00 02 07 1B 00 +R 00 00 01 00 02 07 1D 00 T 53 06 00 00 DD 66 05 4E 23 46 C5 3E R 00 00 01 00 T 5B 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 +R 00 00 01 00 2B 04 14 00 02 09 14 00 T 60 06 00 00 00 00 00 00 F1 F1 F1 F1 F1 18 19 R 00 00 01 00 02 04 00 00 T 69 06 00 00 @@ -637,9 +637,9 @@ R 00 00 01 00 T 82 06 00 00 R 00 00 01 00 T 82 06 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1D 00 +R 00 00 01 00 2B 0B 1F 00 T 8A 06 00 00 21 00 00 00 00 CD 00 00 00 00 AF -R 00 00 01 00 02 05 1D 00 02 0A 00 00 +R 00 00 01 00 02 05 1F 00 02 0A 00 00 T 91 06 00 00 DD 77 FC DD 77 FD C3 D6 0D 00 00 R 00 00 01 00 00 0B 01 00 T 9A 06 00 00 @@ -649,7 +649,7 @@ R 00 00 01 00 T A5 06 00 00 04 DD 56 05 19 5E 23 56 3E R 00 00 01 00 T AE 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T B3 06 00 00 00 00 00 00 DD 75 FC DD 74 FD E5 R 00 00 01 00 02 04 00 00 T BC 06 00 00 21 09 00 E5 21 1D 00 DD 4E 04 DD @@ -659,19 +659,19 @@ R 00 00 01 00 T D2 06 00 00 04 DD 56 05 19 5E 23 56 3E R 00 00 01 00 T DB 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 29 00 02 09 29 00 +R 00 00 01 00 2B 04 2C 00 02 09 2C 00 T E0 06 00 00 00 00 00 00 F1 F1 7D B4 20 20 R 00 00 01 00 02 04 00 00 T E8 06 00 00 R 00 00 01 00 T E8 06 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0F 00 T EE 06 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 0D 00 +R 00 00 01 00 02 04 0F 00 T F7 06 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 +R 00 00 01 00 2B 09 14 00 T FE 06 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T 05 07 00 00 F1 18 7C R 00 00 01 00 T 08 07 00 00 @@ -688,20 +688,20 @@ T 2B 07 00 00 B0 20 3D R 00 00 01 00 T 2E 07 00 00 R 00 00 01 00 -T 2E 07 00 00 21 4D 00 ED 4B 00 00 00 00 09 5E -R 00 00 01 00 02 09 18 00 +T 2E 07 00 00 21 4F 00 ED 4B 00 00 00 00 09 5E +R 00 00 01 00 02 09 1A 00 T 37 07 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 01 00 T 3C 07 00 00 00 00 00 00 CD 00 00 00 00 E5 DD R 00 00 01 00 02 04 01 00 02 09 00 00 T 43 07 00 00 6E FC DD 66 FD E5 3A 02 00 00 00 -R 00 00 01 00 02 0B 1B 00 +R 00 00 01 00 02 0B 1D 00 T 4C 07 00 00 4F C5 2A 00 00 00 00 E5 DD 6E 04 -R 00 00 01 00 02 07 1B 00 +R 00 00 01 00 02 07 1D 00 T 55 07 00 00 DD 66 05 4E 23 46 C5 3E R 00 00 01 00 T 5D 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 +R 00 00 01 00 2B 04 14 00 02 09 14 00 T 62 07 00 00 00 00 00 00 F1 F1 F1 F1 F1 18 19 R 00 00 01 00 02 04 00 00 T 6B 07 00 00 @@ -719,9 +719,9 @@ R 00 00 01 00 T 84 07 00 00 R 00 00 01 00 T 84 07 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1D 00 +R 00 00 01 00 2B 0B 1F 00 T 8C 07 00 00 21 00 00 00 00 CD 00 00 00 00 AF -R 00 00 01 00 02 05 1D 00 02 0A 00 00 +R 00 00 01 00 02 05 1F 00 02 0A 00 00 T 93 07 00 00 DD 77 FC DD 77 FD C3 D6 0D 00 00 R 00 00 01 00 00 0B 01 00 T 9C 07 00 00 @@ -731,7 +731,7 @@ R 00 00 01 00 T A7 07 00 00 04 DD 56 05 19 5E 23 56 3E R 00 00 01 00 T B0 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T B5 07 00 00 00 00 00 00 DD 75 FC DD 74 FD E5 R 00 00 01 00 02 04 00 00 T BE 07 00 00 21 09 00 E5 21 1D 00 DD 4E 04 DD @@ -741,23 +741,23 @@ R 00 00 01 00 T D4 07 00 00 04 DD 56 05 19 5E 23 56 3E R 00 00 01 00 T DD 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 29 00 02 09 29 00 +R 00 00 01 00 2B 04 2C 00 02 09 2C 00 T E2 07 00 00 00 00 00 00 F1 F1 7D B4 20 36 R 00 00 01 00 02 04 00 00 T EA 07 00 00 R 00 00 01 00 T EA 07 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0F 00 T F0 07 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 0D 00 +R 00 00 01 00 02 04 0F 00 T F9 07 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 +R 00 00 01 00 2B 09 14 00 T 00 08 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T 07 08 00 00 F1 DD 5E FC DD 56 FD 3E R 00 00 01 00 T 0F 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1D 00 02 09 1D 00 +R 00 00 01 00 2B 04 1F 00 02 09 1F 00 T 14 08 00 00 00 00 00 00 AF DD 77 FC DD 77 FD R 00 00 01 00 02 04 00 00 T 1D 08 00 00 C3 C5 08 00 00 @@ -767,7 +767,7 @@ R 00 00 01 00 T 20 08 00 00 01 00 00 DD 5E FC DD 56 FD 3E R 00 00 01 00 T 2A 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2A 00 02 09 2A 00 +R 00 00 01 00 2B 04 2D 00 02 09 2D 00 T 2F 08 00 00 00 00 00 00 7D B4 20 40 R 00 00 01 00 02 04 00 00 T 35 08 00 00 @@ -775,41 +775,41 @@ R 00 00 01 00 T 35 08 00 00 21 1F 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 T 40 08 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 1D 00 +R 00 00 01 00 2B 07 1F 00 T 45 08 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 1D 00 02 09 00 00 +R 00 00 01 00 02 04 1F 00 02 09 00 00 T 4B 08 00 00 1F 00 09 DD 5E FC DD 56 FD 73 23 R 00 00 01 00 T 56 08 00 00 72 D5 3A 02 00 00 00 5F D5 2A -R 00 00 01 00 02 07 0E 00 +R 00 00 01 00 02 07 10 00 T 5E 08 00 00 00 00 00 00 E5 69 60 4E 23 46 C5 -R 00 00 01 00 02 04 0E 00 +R 00 00 01 00 02 04 10 00 T 67 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 12 00 02 0A 12 00 +R 00 00 01 00 2B 05 14 00 02 0A 14 00 T 6D 08 00 00 00 00 00 00 F1 F1 F1 F1 18 50 R 00 00 01 00 02 04 00 00 T 75 08 00 00 R 00 00 01 00 -T 75 08 00 00 21 4D 00 ED 4B 00 00 00 00 09 5E -R 00 00 01 00 02 09 18 00 +T 75 08 00 00 21 4F 00 ED 4B 00 00 00 00 09 5E +R 00 00 01 00 02 09 1A 00 T 7E 08 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 01 00 T 83 08 00 00 00 00 00 00 CD 00 00 00 00 E5 DD R 00 00 01 00 02 04 01 00 02 09 00 00 T 8A 08 00 00 6E FC DD 66 FD E5 3A 02 00 00 00 -R 00 00 01 00 02 0B 1B 00 +R 00 00 01 00 02 0B 1D 00 T 93 08 00 00 4F C5 2A 00 00 00 00 E5 DD 6E 04 -R 00 00 01 00 02 07 1B 00 +R 00 00 01 00 02 07 1D 00 T 9C 08 00 00 DD 66 05 4E 23 46 C5 3E R 00 00 01 00 T A4 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 +R 00 00 01 00 2B 04 14 00 02 09 14 00 T A9 08 00 00 00 00 00 00 F1 F1 F1 F1 F1 DD 5E R 00 00 01 00 02 04 00 00 T B2 08 00 00 FC DD 56 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 1D 00 +R 00 00 01 00 2B 09 1F 00 T B9 08 00 00 00 00 00 00 CD 00 00 00 00 AF DD -R 00 00 01 00 02 04 1D 00 02 09 00 00 +R 00 00 01 00 02 04 1F 00 02 09 00 00 T C0 08 00 00 77 FC DD 77 FD R 00 00 01 00 T C5 08 00 00 @@ -823,11 +823,11 @@ R 00 00 01 00 T C8 08 00 00 21 1F 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 T D3 08 00 00 23 56 D5 3A 02 00 00 00 5F D5 2A -R 00 00 01 00 02 08 0E 00 +R 00 00 01 00 02 08 10 00 T DC 08 00 00 00 00 00 00 E5 69 60 4E 23 46 C5 -R 00 00 01 00 02 04 0E 00 +R 00 00 01 00 02 04 10 00 T E5 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 12 00 02 0A 12 00 +R 00 00 01 00 2B 05 14 00 02 0A 14 00 T EB 08 00 00 00 00 00 00 F1 F1 F1 F1 C3 R 00 00 01 00 02 04 00 00 T F2 08 00 00 D6 0D 00 00 @@ -835,13 +835,13 @@ R 00 00 01 00 00 04 01 00 T F4 08 00 00 R 00 00 01 00 T F4 08 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 24 00 +R 00 00 01 00 02 05 27 00 T FA 08 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 24 00 +R 00 00 01 00 02 04 27 00 T 03 09 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 +R 00 00 01 00 2B 09 14 00 T 0A 09 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T 11 09 00 00 F1 C3 D6 0D 00 00 R 00 00 01 00 00 06 01 00 T 15 09 00 00 @@ -851,7 +851,7 @@ R 00 00 01 00 T 20 09 00 00 04 DD 56 05 19 5E 23 56 3E R 00 00 01 00 T 29 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 2E 09 00 00 00 00 00 00 DD 75 FC DD 74 FD E5 R 00 00 01 00 02 04 00 00 T 37 09 00 00 21 06 00 E5 21 1D 00 DD 4E 04 DD @@ -861,27 +861,27 @@ R 00 00 01 00 T 4D 09 00 00 04 DD 56 05 19 5E 23 56 3E R 00 00 01 00 T 56 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 29 00 02 09 29 00 +R 00 00 01 00 2B 04 2C 00 02 09 2C 00 T 5B 09 00 00 00 00 00 00 F1 F1 7D B4 20 21 R 00 00 01 00 02 04 00 00 T 63 09 00 00 R 00 00 01 00 T 63 09 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0F 00 T 69 09 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 0D 00 +R 00 00 01 00 02 04 0F 00 T 72 09 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 +R 00 00 01 00 2B 09 14 00 T 79 09 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T 80 09 00 00 F1 C3 26 0A 00 00 R 00 00 01 00 00 06 01 00 T 84 09 00 00 R 00 00 01 00 T 84 09 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0B 00 +R 00 00 01 00 2B 0B 0C 00 T 8C 09 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 0B 00 02 0A 00 00 +R 00 00 01 00 02 05 0C 00 02 0A 00 00 T 93 09 00 00 B4 20 5D R 00 00 01 00 T 96 09 00 00 @@ -889,7 +889,7 @@ R 00 00 01 00 T 96 09 00 00 DD 6E FC DD 66 FD E5 0E R 00 00 01 00 T 9E 09 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 32 00 02 0A 32 00 +R 00 00 01 00 2B 04 35 00 02 0A 35 00 T A4 09 00 00 DD 6E 04 DD 66 05 7E 23 B6 28 14 R 00 00 01 00 T AF 09 00 00 DD 6E 04 DD 66 05 46 23 66 68 01 @@ -907,27 +907,27 @@ R 00 00 01 00 2B 06 07 00 02 0B 07 00 T CC 09 00 00 CD 00 00 00 00 E1 E1 E1 E1 3A R 00 00 01 00 02 05 00 00 T D4 09 00 00 02 00 00 00 4F C5 2A 00 00 00 00 -R 00 00 01 00 02 04 2F 00 02 0B 2F 00 +R 00 00 01 00 02 04 32 00 02 0B 32 00 T DB 09 00 00 E5 DD 6E 04 DD 66 05 4E 23 46 C5 R 00 00 01 00 T E6 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 12 00 02 0A 12 00 +R 00 00 01 00 2B 05 14 00 02 0A 14 00 T EC 09 00 00 00 00 00 00 F1 F1 F1 18 33 R 00 00 01 00 02 04 00 00 T F3 09 00 00 R 00 00 01 00 -T F3 09 00 00 21 4D 00 ED 4B 00 00 00 00 09 5E -R 00 00 01 00 02 09 18 00 +T F3 09 00 00 21 4F 00 ED 4B 00 00 00 00 09 5E +R 00 00 01 00 02 09 1A 00 T FC 09 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 01 00 T 01 0A 00 00 00 00 00 00 CD 00 00 00 00 E5 3A R 00 00 01 00 02 04 01 00 02 09 00 00 T 08 0A 00 00 02 00 00 00 4F C5 2A 00 00 00 00 -R 00 00 01 00 02 04 33 00 02 0B 33 00 +R 00 00 01 00 02 04 34 00 02 0B 34 00 T 0F 0A 00 00 E5 DD 6E 04 DD 66 05 4E 23 46 C5 R 00 00 01 00 T 1A 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 12 00 02 0A 12 00 +R 00 00 01 00 2B 05 14 00 02 0A 14 00 T 20 0A 00 00 00 00 00 00 F1 F1 F1 F1 R 00 00 01 00 02 04 00 00 T 26 0A 00 00 @@ -935,9 +935,9 @@ R 00 00 01 00 T 26 0A 00 00 R 00 00 01 00 T 26 0A 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1D 00 +R 00 00 01 00 2B 0B 1F 00 T 2E 0A 00 00 21 00 00 00 00 CD 00 00 00 00 AF -R 00 00 01 00 02 05 1D 00 02 0A 00 00 +R 00 00 01 00 02 05 1F 00 02 0A 00 00 T 35 0A 00 00 DD 77 FC DD 77 FD C3 D6 0D 00 00 R 00 00 01 00 00 0B 01 00 T 3E 0A 00 00 @@ -949,13 +949,13 @@ R 00 00 01 00 T 4D 0A 00 00 R 00 00 01 00 T 4D 0A 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 22 00 +R 00 00 01 00 02 05 25 00 T 53 0A 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 22 00 +R 00 00 01 00 02 04 25 00 T 5C 0A 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 +R 00 00 01 00 2B 09 14 00 T 63 0A 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T 6A 0A 00 00 F1 18 14 R 00 00 01 00 T 6D 0A 00 00 @@ -963,7 +963,7 @@ R 00 00 01 00 T 6D 0A 00 00 DD 4E 0A DD 46 0B DD 5E 04 DD 56 R 00 00 01 00 T 78 0A 00 00 05 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1F 00 02 0B 1F 00 +R 00 00 01 00 2B 06 21 00 02 0B 21 00 T 7E 0A 00 00 CD 00 00 00 00 R 00 00 01 00 02 05 00 00 T 81 0A 00 00 @@ -977,7 +977,7 @@ R 00 00 01 00 T 8F 0A 00 00 04 DD 56 05 19 5E 23 56 3E R 00 00 01 00 T 98 0A 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T 9D 0A 00 00 00 00 00 00 DD 75 FC DD 74 FD E5 R 00 00 01 00 02 04 00 00 T A6 0A 00 00 21 0F 00 E5 21 1D 00 DD 4E 04 DD @@ -987,19 +987,19 @@ R 00 00 01 00 T BC 0A 00 00 04 DD 56 05 19 5E 23 56 3E R 00 00 01 00 T C5 0A 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 29 00 02 09 29 00 +R 00 00 01 00 2B 04 2C 00 02 09 2C 00 T CA 0A 00 00 00 00 00 00 F1 F1 7D B4 20 21 R 00 00 01 00 02 04 00 00 T D2 0A 00 00 R 00 00 01 00 T D2 0A 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0F 00 T D8 0A 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 0D 00 +R 00 00 01 00 02 04 0F 00 T E1 0A 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 +R 00 00 01 00 2B 09 14 00 T E8 0A 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T EF 0A 00 00 F1 C3 A0 0B 00 00 R 00 00 01 00 00 06 01 00 T F3 0A 00 00 @@ -1007,7 +1007,7 @@ R 00 00 01 00 T F3 0A 00 00 01 FF 01 DD 5E FC DD 56 FD 3E R 00 00 01 00 T FD 0A 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 10 00 02 09 10 00 +R 00 00 01 00 2B 04 12 00 02 09 12 00 T 02 0B 00 00 00 00 00 00 7D B4 20 5D R 00 00 01 00 02 04 00 00 T 08 0B 00 00 @@ -1015,7 +1015,7 @@ R 00 00 01 00 T 08 0B 00 00 DD 6E FC DD 66 FD E5 0E R 00 00 01 00 T 10 0B 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 30 00 02 0A 30 00 +R 00 00 01 00 2B 04 19 00 02 0A 19 00 T 16 0B 00 00 DD 6E 04 DD 66 05 7E 23 B6 28 14 R 00 00 01 00 T 21 0B 00 00 DD 6E 04 DD 66 05 46 23 66 68 01 @@ -1033,17 +1033,17 @@ R 00 00 01 00 2B 06 07 00 02 0B 07 00 T 3E 0B 00 00 CD 00 00 00 00 E1 E1 E1 E1 3A R 00 00 01 00 02 05 00 00 T 46 0B 00 00 02 00 00 00 4F C5 2A 00 00 00 00 -R 00 00 01 00 02 04 14 00 02 0B 14 00 +R 00 00 01 00 02 04 16 00 02 0B 16 00 T 4D 0B 00 00 E5 DD 6E 04 DD 66 05 4E 23 46 C5 R 00 00 01 00 T 58 0B 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 12 00 02 0A 12 00 +R 00 00 01 00 2B 05 14 00 02 0A 14 00 T 5E 0B 00 00 00 00 00 00 F1 F1 F1 18 3B R 00 00 01 00 02 04 00 00 T 65 0B 00 00 R 00 00 01 00 -T 65 0B 00 00 21 4D 00 ED 4B 00 00 00 00 09 5E -R 00 00 01 00 02 09 18 00 +T 65 0B 00 00 21 4F 00 ED 4B 00 00 00 00 09 5E +R 00 00 01 00 02 09 1A 00 T 6E 0B 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 01 00 T 73 0B 00 00 00 00 00 00 CD 00 00 00 00 E5 DD @@ -1055,7 +1055,7 @@ R 00 00 01 00 02 07 06 00 T 8C 0B 00 00 DD 66 05 4E 23 46 C5 3E R 00 00 01 00 T 94 0B 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 +R 00 00 01 00 2B 04 14 00 02 09 14 00 T 99 0B 00 00 00 00 00 00 F1 F1 F1 F1 F1 R 00 00 01 00 02 04 00 00 T A0 0B 00 00 @@ -1063,9 +1063,9 @@ R 00 00 01 00 T A0 0B 00 00 R 00 00 01 00 T A0 0B 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1D 00 +R 00 00 01 00 2B 0B 1F 00 T A8 0B 00 00 21 00 00 00 00 CD 00 00 00 00 AF -R 00 00 01 00 02 05 1D 00 02 0A 00 00 +R 00 00 01 00 02 05 1F 00 02 0A 00 00 T AF 0B 00 00 DD 77 FC DD 77 FD C3 D6 0D 00 00 R 00 00 01 00 00 0B 01 00 T B8 0B 00 00 @@ -1075,7 +1075,7 @@ R 00 00 01 00 T C3 0B 00 00 04 DD 56 05 19 5E 23 56 3E R 00 00 01 00 T CC 0B 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 T D1 0B 00 00 00 00 00 00 DD 75 FC DD 74 FD E5 R 00 00 01 00 02 04 00 00 T DA 0B 00 00 21 12 00 E5 21 1D 00 DD 4E 04 DD @@ -1085,27 +1085,27 @@ R 00 00 01 00 T F0 0B 00 00 04 DD 56 05 19 5E 23 56 3E R 00 00 01 00 T F9 0B 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 29 00 02 09 29 00 +R 00 00 01 00 2B 04 2C 00 02 09 2C 00 T FE 0B 00 00 00 00 00 00 F1 F1 7D B4 20 21 R 00 00 01 00 02 04 00 00 T 06 0C 00 00 R 00 00 01 00 T 06 0C 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 0D 00 +R 00 00 01 00 02 05 0F 00 T 0C 0C 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 0D 00 +R 00 00 01 00 02 04 0F 00 T 15 0C 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 +R 00 00 01 00 2B 09 14 00 T 1C 0C 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T 23 0C 00 00 F1 C3 C9 0C 00 00 R 00 00 01 00 00 06 01 00 T 27 0C 00 00 R 00 00 01 00 T 27 0C 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 16 00 +R 00 00 01 00 2B 0B 18 00 T 2F 0C 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 16 00 02 0A 00 00 +R 00 00 01 00 02 05 18 00 02 0A 00 00 T 36 0C 00 00 B4 20 5D R 00 00 01 00 T 39 0C 00 00 @@ -1113,7 +1113,7 @@ R 00 00 01 00 T 39 0C 00 00 DD 6E FC DD 66 FD E5 0E R 00 00 01 00 T 41 0C 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 17 00 02 0A 17 00 +R 00 00 01 00 2B 04 09 00 02 0A 09 00 T 47 0C 00 00 DD 6E 04 DD 66 05 7E 23 B6 28 14 R 00 00 01 00 T 52 0C 00 00 DD 6E 04 DD 66 05 46 23 66 68 01 @@ -1131,27 +1131,27 @@ R 00 00 01 00 2B 06 07 00 02 0B 07 00 T 6F 0C 00 00 CD 00 00 00 00 E1 E1 E1 E1 3A R 00 00 01 00 02 05 00 00 T 77 0C 00 00 02 00 00 00 4F C5 2A 00 00 00 00 -R 00 00 01 00 02 04 2F 00 02 0B 2F 00 +R 00 00 01 00 02 04 32 00 02 0B 32 00 T 7E 0C 00 00 E5 DD 6E 04 DD 66 05 4E 23 46 C5 R 00 00 01 00 T 89 0C 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 12 00 02 0A 12 00 +R 00 00 01 00 2B 05 14 00 02 0A 14 00 T 8F 0C 00 00 00 00 00 00 F1 F1 F1 18 33 R 00 00 01 00 02 04 00 00 T 96 0C 00 00 R 00 00 01 00 -T 96 0C 00 00 21 4D 00 ED 4B 00 00 00 00 09 5E -R 00 00 01 00 02 09 18 00 +T 96 0C 00 00 21 4F 00 ED 4B 00 00 00 00 09 5E +R 00 00 01 00 02 09 1A 00 T 9F 0C 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 01 00 T A4 0C 00 00 00 00 00 00 CD 00 00 00 00 E5 3A R 00 00 01 00 02 04 01 00 02 09 00 00 T AB 0C 00 00 02 00 00 00 4F C5 2A 00 00 00 00 -R 00 00 01 00 02 04 33 00 02 0B 33 00 +R 00 00 01 00 02 04 34 00 02 0B 34 00 T B2 0C 00 00 E5 DD 6E 04 DD 66 05 4E 23 46 C5 R 00 00 01 00 T BD 0C 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 12 00 02 0A 12 00 +R 00 00 01 00 2B 05 14 00 02 0A 14 00 T C3 0C 00 00 00 00 00 00 F1 F1 F1 F1 R 00 00 01 00 02 04 00 00 T C9 0C 00 00 @@ -1159,9 +1159,9 @@ R 00 00 01 00 T C9 0C 00 00 R 00 00 01 00 T C9 0C 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1D 00 +R 00 00 01 00 2B 0B 1F 00 T D1 0C 00 00 21 00 00 00 00 CD 00 00 00 00 AF -R 00 00 01 00 02 05 1D 00 02 0A 00 00 +R 00 00 01 00 02 05 1F 00 02 0A 00 00 T D8 0C 00 00 DD 77 FC DD 77 FD C3 D6 0D 00 00 R 00 00 01 00 00 0B 01 00 T E1 0C 00 00 @@ -1175,25 +1175,25 @@ R 00 00 01 00 02 04 00 00 T F8 0C 00 00 R 00 00 01 00 T F8 0C 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 26 00 +R 00 00 01 00 02 05 29 00 T FE 0C 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 26 00 +R 00 00 01 00 02 04 29 00 T 07 0D 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 +R 00 00 01 00 2B 09 14 00 T 0E 0D 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T 15 0D 00 00 F1 18 1E R 00 00 01 00 T 18 0D 00 00 R 00 00 01 00 T 18 0D 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 2E 00 +R 00 00 01 00 02 05 31 00 T 1E 0D 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 2E 00 +R 00 00 01 00 02 04 31 00 T 27 0D 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 +R 00 00 01 00 2B 09 14 00 T 2E 0D 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T 35 0D 00 00 F1 R 00 00 01 00 T 36 0D 00 00 @@ -1211,25 +1211,25 @@ R 00 00 01 00 02 04 00 00 T 50 0D 00 00 R 00 00 01 00 T 50 0D 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 26 00 +R 00 00 01 00 02 05 29 00 T 56 0D 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 26 00 +R 00 00 01 00 02 04 29 00 T 5F 0D 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 +R 00 00 01 00 2B 09 14 00 T 66 0D 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T 6D 0D 00 00 F1 18 1E R 00 00 01 00 T 70 0D 00 00 R 00 00 01 00 T 70 0D 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 2E 00 +R 00 00 01 00 02 05 31 00 T 76 0D 00 00 00 00 00 00 E5 DD 6E 04 DD 66 05 -R 00 00 01 00 02 04 2E 00 +R 00 00 01 00 02 04 31 00 T 7F 0D 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 12 00 +R 00 00 01 00 2B 09 14 00 T 86 0D 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 12 00 02 09 00 00 +R 00 00 01 00 02 04 14 00 02 09 00 00 T 8D 0D 00 00 F1 R 00 00 01 00 T 8E 0D 00 00 @@ -1239,15 +1239,15 @@ R 00 00 01 00 T 90 0D 00 00 R 00 00 01 00 T 90 0D 00 00 21 00 00 00 00 E5 21 08 00 E5 21 -R 00 00 01 00 02 05 21 00 +R 00 00 01 00 02 05 23 00 T 99 0D 00 00 00 00 00 00 E5 3A 02 00 00 00 4F -R 00 00 01 00 02 04 03 00 02 0A 0F 00 +R 00 00 01 00 02 04 03 00 02 0A 11 00 T A0 0D 00 00 C5 2A 00 00 00 00 E5 DD 6E 04 DD -R 00 00 01 00 02 06 0F 00 +R 00 00 01 00 02 06 11 00 T A9 0D 00 00 66 05 4E 23 46 C5 3E 00 00 00 00 -R 00 00 01 00 2B 0B 12 00 +R 00 00 01 00 2B 0B 14 00 T B1 0D 00 00 21 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 12 00 02 0A 00 00 +R 00 00 01 00 02 05 14 00 02 0A 00 00 T B8 0D 00 00 21 0C 00 39 F9 EB 18 16 R 00 00 01 00 T C0 0D 00 00 @@ -1255,7 +1255,7 @@ R 00 00 01 00 T C0 0D 00 00 DD 4E 0A DD 46 0B DD 5E 04 DD 56 R 00 00 01 00 T CB 0D 00 00 05 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 11 00 02 0B 11 00 +R 00 00 01 00 2B 06 13 00 02 0B 13 00 T D1 0D 00 00 CD 00 00 00 00 18 00 R 00 00 01 00 02 05 00 00 T D6 0D 00 00 @@ -1265,7 +1265,7 @@ R 00 00 01 00 T D9 0D 00 00 R 00 00 01 00 T D9 0D 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0C 00 +R 00 00 01 00 02 05 0E 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 72 00 diff --git a/src/nos/lib/servers_lib/ftpserv_switch_xmd5.rel b/src/nos/lib/servers_lib/ftpserv_switch_xmd5.rel index ced93c30..1e141227 100644 --- a/src/nos/lib/servers_lib/ftpserv_switch_xmd5.rel +++ b/src/nos/lib/servers_lib/ftpserv_switch_xmd5.rel @@ -2,26 +2,26 @@ XL4 H 3 areas 18 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _strerror Ref00000000 +S ___0479_3999_XMD5_20_25s Ref00000000 S _logmsg Ref00000000 S _pathname Ref00000000 +S ___012a_1e56__2502x Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Ftpsmsg_noperm Ref00000000 S __fprintf Ref00000000 S _Ftpsmsg_cantopen Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 -S ___0111_1e56__2502x Ref00000000 S _isbinary Ref00000000 S _free Ref00000000 +S ___0091_c302__20_25s_0a Ref00000000 S _md5hash Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___0078_c302__20_25s_0a Ref00000000 S _freopen Ref00000000 -S ___03e7_3999_XMD5_20_25s Ref00000000 S _permcheck Ref00000000 S _Ftpsmsg_binwarn Ref00000000 -S ___01a4_67ab_200_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___01d2_67ab_200_20 Ref00000000 S _fclose Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 286 flags 0 @@ -30,11 +30,11 @@ A CSTR size 5 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 EA FF 21 1F 00 DD -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 10 00 T 09 00 00 00 5E 02 DD 56 03 19 5E 23 56 3E R 00 00 01 00 T 13 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 +R 00 00 01 00 2B 04 04 00 02 09 04 00 T 18 00 00 00 00 00 00 00 DD 75 EC DD 74 ED 21 R 00 00 01 00 02 04 00 00 T 21 00 00 00 04 00 DD 4E 02 DD 46 03 09 7E FE @@ -70,13 +70,13 @@ R 00 00 01 00 T 7E 00 00 00 R 00 00 01 00 T 7E 00 00 00 3A 02 00 00 00 4F C5 2A -R 00 00 01 00 02 05 05 00 +R 00 00 01 00 02 05 07 00 T 84 00 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 05 00 +R 00 00 01 00 02 04 07 00 T 8D 00 00 00 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 06 00 +R 00 00 01 00 2B 09 08 00 T 94 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 06 00 02 09 00 00 +R 00 00 01 00 02 04 08 00 02 09 00 00 T 9B 00 00 00 F1 C3 6E 02 00 00 R 00 00 01 00 00 06 01 00 T 9F 00 00 00 @@ -86,27 +86,27 @@ R 00 00 01 00 T AA 00 00 00 01 00 00 C5 DD 4E EE DD 46 EF DD R 00 00 01 00 T B5 00 00 00 5E EC DD 56 ED 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 10 00 +R 00 00 01 00 2B 0A 11 00 T BD 00 00 00 00 00 00 00 CD 00 00 00 00 F1 4D -R 00 00 01 00 02 04 10 00 02 09 00 00 +R 00 00 01 00 02 04 11 00 02 09 00 00 T C4 00 00 00 44 E1 71 23 70 79 B0 20 3E R 00 00 01 00 T CD 00 00 00 R 00 00 01 00 -T CD 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 5E -R 00 00 01 00 02 09 08 00 +T CD 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 5E +R 00 00 01 00 02 09 0A 00 T D6 00 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 01 00 T DB 00 00 00 00 00 00 00 CD 00 00 00 00 E5 DD R 00 00 01 00 02 04 01 00 02 09 00 00 T E2 00 00 00 6E EC DD 66 ED E5 3A 02 00 00 00 -R 00 00 01 00 02 0B 07 00 +R 00 00 01 00 02 0B 09 00 T EB 00 00 00 4F C5 2A 00 00 00 00 E5 DD 6E 02 -R 00 00 01 00 02 07 07 00 +R 00 00 01 00 02 07 09 00 T F4 00 00 00 DD 66 03 4E 23 46 C5 3E R 00 00 01 00 T FC 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 +R 00 00 01 00 2B 04 08 00 02 09 08 00 T 01 01 00 00 00 00 00 00 F1 F1 F1 F1 F1 C3 R 00 00 01 00 02 04 00 00 T 09 01 00 00 6E 02 00 00 @@ -116,7 +116,7 @@ R 00 00 01 00 T 0B 01 00 00 DD 6E EC DD 66 ED E5 0E R 00 00 01 00 T 13 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 11 00 02 0A 11 00 +R 00 00 01 00 2B 04 02 00 02 0A 02 00 T 19 01 00 00 DD 6E 02 DD 66 03 7E 23 B6 28 14 R 00 00 01 00 T 24 01 00 00 DD 6E 02 DD 66 03 46 23 66 68 01 @@ -130,7 +130,7 @@ R 00 00 01 00 T 3B 01 00 00 R 00 00 01 00 T 3B 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 02 00 02 0B 02 00 +R 00 00 01 00 2B 06 03 00 02 0B 03 00 T 41 01 00 00 CD 00 00 00 00 E1 E1 E1 E1 21 R 00 00 01 00 02 05 00 00 T 49 01 00 00 04 00 DD 4E 02 DD 46 03 09 7E B7 @@ -138,9 +138,9 @@ R 00 00 01 00 T 54 01 00 00 20 3F 21 07 00 DD 4E 02 DD 46 03 R 00 00 01 00 T 5F 01 00 00 09 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0B 00 +R 00 00 01 00 2B 09 0C 00 T 66 01 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 0B 00 02 09 00 00 +R 00 00 01 00 02 04 0C 00 02 09 00 00 T 6D 01 00 00 28 26 R 00 00 01 00 T 6F 01 00 00 @@ -156,7 +156,7 @@ R 00 00 01 00 02 04 13 00 02 0B 13 00 T 7E 01 00 00 E5 DD 6E 02 DD 66 03 4E 23 46 C5 R 00 00 01 00 T 89 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 +R 00 00 01 00 2B 05 08 00 02 0A 08 00 T 8F 01 00 00 00 00 00 00 F1 F1 F1 F1 R 00 00 01 00 02 04 00 00 T 95 01 00 00 @@ -176,7 +176,7 @@ R 00 00 01 00 T B3 01 00 00 07 00 DD 5E 02 DD 56 03 19 5E 23 R 00 00 01 00 T BE 01 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 +R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 T C4 01 00 00 CD 00 00 00 00 F1 21 07 00 DD 4E R 00 00 01 00 02 05 00 00 T CD 01 00 00 02 DD 46 03 09 5E 23 56 3E @@ -186,11 +186,11 @@ R 00 00 01 00 2B 04 16 00 02 09 16 00 T DB 01 00 00 00 00 00 00 21 07 00 09 AF 77 23 R 00 00 01 00 02 04 00 00 T E4 01 00 00 77 1E 00 00 00 00 D5 21 -R 00 00 01 00 2B 06 14 00 +R 00 00 01 00 2B 06 15 00 T E9 01 00 00 00 00 00 00 E5 69 60 4E 23 46 C5 -R 00 00 01 00 02 04 14 00 +R 00 00 01 00 02 04 15 00 T F2 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 +R 00 00 01 00 2B 05 08 00 02 0A 08 00 T F8 01 00 00 00 00 00 00 F1 F1 F1 AF DD 77 EA R 00 00 01 00 02 04 00 00 T 01 02 00 00 DD 77 EB @@ -206,13 +206,13 @@ R 00 00 01 00 T 15 02 00 00 21 06 00 39 DD 4E EA DD 46 EB 09 R 00 00 01 00 T 20 02 00 00 5E 16 00 D5 1E 00 00 00 00 D5 21 -R 00 00 01 00 2B 09 0A 00 +R 00 00 01 00 2B 09 05 00 T 28 02 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 0A 00 +R 00 00 01 00 02 04 05 00 T 31 02 00 00 5E 23 56 D5 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 06 00 +R 00 00 01 00 2B 09 08 00 T 38 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 06 00 02 09 00 00 +R 00 00 01 00 02 04 08 00 02 09 00 00 T 3F 02 00 00 F1 F1 03 DD 71 EA DD 70 EB 18 BA R 00 00 01 00 T 4A 02 00 00 @@ -220,11 +220,11 @@ R 00 00 01 00 T 4A 02 00 00 DD 6E EC DD 66 ED E5 0E R 00 00 01 00 T 52 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0F 00 02 0A 0F 00 +R 00 00 01 00 2B 04 0E 00 02 0A 0E 00 T 58 02 00 00 DD 6E 02 DD 66 03 4E 23 46 C5 3E R 00 00 01 00 T 63 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 +R 00 00 01 00 2B 04 08 00 02 09 08 00 T 68 02 00 00 00 00 00 00 F1 F1 F1 F1 R 00 00 01 00 02 04 00 00 T 6E 02 00 00 @@ -232,11 +232,11 @@ R 00 00 01 00 T 6E 02 00 00 R 00 00 01 00 T 6E 02 00 00 DD 5E EC DD 56 ED 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0C 00 +R 00 00 01 00 2B 0B 0D 00 T 76 02 00 00 21 00 00 00 00 CD 00 00 00 00 AF -R 00 00 01 00 02 05 0C 00 02 0A 00 00 +R 00 00 01 00 02 05 0D 00 02 0A 00 00 T 7D 02 00 00 DD 77 EC DD 77 ED C3 00 00 00 00 -R 00 00 01 00 02 0B 04 00 +R 00 00 01 00 02 0B 06 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 72 00 diff --git a/src/nos/lib/servers_lib/recvit.rel b/src/nos/lib/servers_lib/recvit.rel index b240ec81..02b2f5f8 100644 --- a/src/nos/lib/servers_lib/recvit.rel +++ b/src/nos/lib/servers_lib/recvit.rel @@ -121,7 +121,7 @@ T 69 01 00 00 A0 3C 20 78 R 00 00 01 00 T 6D 01 00 00 R 00 00 01 00 -T 6D 01 00 00 21 4D 00 ED 4B 00 00 00 00 09 5E +T 6D 01 00 00 21 4F 00 ED 4B 00 00 00 00 09 5E R 00 00 01 00 02 09 0B 00 T 76 01 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 01 00 diff --git a/src/nos/lib/servers_lib/smisc.rel b/src/nos/lib/servers_lib/smisc.rel index 3e0b0848..253ff115 100644 --- a/src/nos/lib/servers_lib/smisc.rel +++ b/src/nos/lib/servers_lib/smisc.rel @@ -1,36 +1,36 @@ XL4 H 6 areas 60 global symbols -S ___0541_4ca5_open_20discard Ref00000000 -S ___03ed_4583_You_27re_20using_20 Ref00000000 +S ___0613_4ca5_open_20discard Ref00000000 S _fread Ref00000000 S _ambufw Ref00000000 -S ___0456_03ad_close_20term Ref00000000 -S ___0455_419d_close_20echo Ref00000000 -S ___033f_85d2_Password_3a_20 Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___03b9_85d2_Password_3a_20 Ref00000000 S _strncmp Ref00000000 S _asy_ioctl Ref00000000 +S ___02fc_1298_Interface_20_25s_20 Ref00000000 S _if_lookup Ref00000000 S _socket Ref00000000 S _logmsg Ref00000000 S _fgetc Ref00000000 -S ___02c0_4f93_Login_20incorrect_0 Ref00000000 +S ___0477_25a6_Wink_20DTR_3f_20 Ref00000000 +S ___0304_c429_Interface_3a_20 Ref00000000 S _rip Ref00000000 S _fmode Ref00000000 S _availmem Ref00000000 +S ___032c_4f93_Login_20incorrect_0 Ref00000000 S _getpeername Ref00000000 +S ___0240_d8a5_Can_27t_20open_20in Ref00000000 S _ppause Ref00000000 S _len_p Ref00000000 +S ___0208_f05c_Abort_0d_0a Ref00000000 S _fwrite Ref00000000 S _setjmp Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _start_tcp Ref00000000 -S ___02a6_1298_Interface_20_25s_20 Ref00000000 -S ___03bc_6afe_Turn_20off_20local_ Ref00000000 +S ___04ec_423c_close_20discard Ref00000000 S _strlen Ref00000000 S _alert Ref00000000 S __fprintf Ref00000000 -S ___03b7_0d8c_Try_20to_20bounce_2 Ref00000000 S _strcmp Ref00000000 S _fgets Ref00000000 S ?LEAVE_DIRECT_L09 Ref00000000 @@ -43,17 +43,19 @@ S .__.ABS. Def00000000 S _rt_lookup Ref00000000 S _kwait Ref00000000 S _killproc Ref00000000 -S ___0542_e649_open_20echo Ref00000000 +S ___0480_4583_You_27re_20using_20 Ref00000000 +S ___0614_e649_open_20echo Ref00000000 +S ___04ee_03ad_close_20term Ref00000000 +S ___04ed_419d_close_20echo Ref00000000 S _pullup Ref00000000 S _pull32 Ref00000000 S _free Ref00000000 S _fputc Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 -S ___012a_22d3__25c_25c_25c Ref00000000 S _close_s Ref00000000 +S ___044b_6afe_Turn_20off_20local_ Ref00000000 S _ksignal Ref00000000 -S ___02ad_c429_Interface_3a_20 Ref00000000 -S ___01da_f05c_Abort_0d_0a Ref00000000 +S ___0446_0d8c_Try_20to_20bounce_2 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?S_MUL_L02 Ref00000000 S _stop_tcp Ref00000000 @@ -64,23 +66,21 @@ S _mallocw Ref00000000 S ?SS_CMP_L02 Ref00000000 S _free_p Ref00000000 S _fblock Ref00000000 +S ___015e_d4cc__25s_20_2d_20Remote Ref00000000 S __printf Ref00000000 S _send_mbuf Ref00000000 -S ___03e5_25a6_Wink_20DTR_3f_20 Ref00000000 S _pull8 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0454_423c_close_20discard Ref00000000 S _malloc Ref00000000 S _kalarm Ref00000000 -S ___0543_a479_open_20term Ref00000000 +S ___0615_a479_open_20term Ref00000000 S _recv_mbuf Ref00000000 S _psocket Ref00000000 S _exit Ref00000000 S _fdopen Ref00000000 S _fclose Ref00000000 +S ___0145_22d3__25c_25c_25c Ref00000000 S _newproc Ref00000000 -S ___020e_d8a5_Can_27t_20open_20in Ref00000000 -S ___0143_d4cc__25s_20_2d_20Remote Ref00000000 S _Kicklist Ref00000000 S _setvbuf Ref00000000 S _asyopen Ref00000000 @@ -105,7 +105,7 @@ A CDATA0 size 6 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FE FF 11 02 80 DD -R 00 00 01 00 02 05 36 00 +R 00 00 01 00 02 05 38 00 T 09 00 00 00 6E 02 DD 66 03 3E 80 AC 67 ED 52 R 00 00 01 00 T 14 00 00 00 30 0A @@ -119,9 +119,9 @@ R 00 00 01 00 T 20 00 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 T 2B 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 3A 00 02 0A 3A 00 +R 00 00 01 00 2B 05 3C 00 02 0A 3C 00 T 31 00 00 00 00 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 39 00 00 00 R 00 00 01 00 T 39 00 00 00 21 40 02 E5 0E 5B 00 00 00 C5 21 @@ -129,31 +129,31 @@ R 00 00 01 00 29 09 01 00 T 41 00 00 00 5B 00 00 00 E5 01 01 00 00 00 DD R 00 00 01 00 00 04 01 00 00 0A 02 00 T 48 00 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 18 00 +R 00 00 01 00 2B 0A 1A 00 T 50 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 18 00 02 09 07 00 +R 00 00 01 00 02 04 1A 00 02 09 03 00 T 57 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 17 00 +R 00 00 01 00 02 06 19 00 T 5B 00 00 00 R 00 00 01 00 T 5B 00 00 00 CD 00 00 00 00 FE FF ED 4B -R 00 00 01 00 02 05 36 00 +R 00 00 01 00 02 05 38 00 T 62 00 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 02 04 26 00 T 6B 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 22 00 02 09 22 00 T 70 00 00 00 00 00 00 00 0E 00 00 00 00 C5 21 -R 00 00 01 00 02 04 07 00 2B 09 00 00 +R 00 00 01 00 02 04 03 00 2B 09 00 00 T 76 00 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 R 00 00 01 00 02 04 00 00 T 7F 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 T 85 00 00 00 CD 00 00 00 00 E1 E1 E1 3E -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 03 00 T 8C 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 11 00 02 09 11 00 +R 00 00 01 00 2B 04 10 00 02 09 10 00 T 91 00 00 00 00 00 00 00 7D B4 20 3D -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 97 00 00 00 R 00 00 01 00 T 97 00 00 00 @@ -163,19 +163,19 @@ R 00 00 01 00 T A2 00 00 00 E5 21 06 00 39 4D 44 DD 5E 02 DD R 00 00 01 00 T AD 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 49 00 +R 00 00 01 00 2B 07 4A 00 T B2 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 49 00 02 09 07 00 +R 00 00 01 00 02 04 4A 00 02 09 03 00 T B9 00 00 00 F1 4D 44 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 3D 00 +R 00 00 01 00 02 0B 3F 00 T C2 00 00 00 30 10 R 00 00 01 00 T C4 00 00 00 R 00 00 01 00 T C4 00 00 00 21 00 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 3E 00 +R 00 00 01 00 2B 0B 40 00 T CC 00 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 3E 00 02 0A 07 00 +R 00 00 01 00 02 05 40 00 02 0A 03 00 T D3 00 00 00 C3 R 00 00 01 00 T D4 00 00 00 @@ -183,23 +183,23 @@ R 00 00 01 00 T D4 00 00 00 R 00 00 01 00 T D4 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 45 00 02 0B 45 00 +R 00 00 01 00 2B 05 1B 00 02 0B 1B 00 T DA 00 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T E3 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T E8 00 00 00 00 00 00 00 E1 E1 E1 DD 5E 02 DD -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T F1 00 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 32 00 +R 00 00 01 00 2B 07 34 00 T F6 00 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 32 00 02 09 07 00 +R 00 00 01 00 02 04 34 00 02 09 03 00 T FC 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 17 00 +R 00 00 01 00 02 04 19 00 T FE 00 00 00 R 00 00 01 00 T FE 00 00 00 CD 00 00 00 00 FE FF 11 02 80 DD -R 00 00 01 00 02 05 36 00 +R 00 00 01 00 02 05 38 00 T 07 01 00 00 6E 02 DD 66 03 3E 80 AC 67 ED 52 R 00 00 01 00 T 12 01 00 00 30 0A @@ -213,21 +213,21 @@ R 00 00 01 00 T 1E 01 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 T 29 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 3A 00 02 0A 3A 00 +R 00 00 01 00 2B 05 3C 00 02 0A 3C 00 T 2F 01 00 00 00 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 37 01 00 00 R 00 00 01 00 T 37 01 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 38 00 +R 00 00 01 00 2B 0B 3A 00 T 3F 01 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 38 00 02 0A 07 00 +R 00 00 01 00 02 05 3A 00 02 0A 03 00 T 46 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 17 00 +R 00 00 01 00 02 04 19 00 T 48 01 00 00 R 00 00 01 00 T 48 01 00 00 CD 00 00 00 00 FE FF 11 02 80 DD -R 00 00 01 00 02 05 36 00 +R 00 00 01 00 02 05 38 00 T 51 01 00 00 6E 02 DD 66 03 3E 80 AC 67 ED 52 R 00 00 01 00 T 5C 01 00 00 30 0A @@ -241,9 +241,9 @@ R 00 00 01 00 T 68 01 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 T 73 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 3A 00 02 0A 3A 00 +R 00 00 01 00 2B 05 3C 00 02 0A 3C 00 T 79 01 00 00 00 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 81 01 00 00 R 00 00 01 00 T 81 01 00 00 21 00 02 E5 0E A3 01 00 00 C5 21 @@ -251,31 +251,31 @@ R 00 00 01 00 29 09 01 00 T 89 01 00 00 A3 01 00 00 E5 01 10 00 00 00 DD R 00 00 01 00 00 04 01 00 00 0A 02 00 T 90 01 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 18 00 +R 00 00 01 00 2B 0A 1A 00 T 98 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 18 00 02 09 07 00 +R 00 00 01 00 02 04 1A 00 02 09 03 00 T 9F 01 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 17 00 +R 00 00 01 00 02 06 19 00 T A3 01 00 00 R 00 00 01 00 T A3 01 00 00 CD 00 00 00 00 FE FF ED 4B -R 00 00 01 00 02 05 36 00 +R 00 00 01 00 02 05 38 00 T AA 01 00 00 00 00 00 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 02 04 26 00 T B3 01 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 22 00 02 09 22 00 T B8 01 00 00 00 00 00 00 0E 00 00 00 00 C5 21 -R 00 00 01 00 02 04 07 00 2B 09 2B 00 +R 00 00 01 00 02 04 03 00 2B 09 2C 00 T BE 01 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 2B 00 +R 00 00 01 00 02 04 2C 00 T C7 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 T CD 01 00 00 CD 00 00 00 00 E1 E1 E1 3E -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 03 00 T D4 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 11 00 02 09 11 00 +R 00 00 01 00 2B 04 10 00 02 09 10 00 T D9 01 00 00 00 00 00 00 7D B4 20 52 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T DF 01 00 00 R 00 00 01 00 T DF 01 00 00 @@ -285,11 +285,11 @@ R 00 00 01 00 T EA 01 00 00 E5 21 06 00 39 4D 44 DD 5E 02 DD R 00 00 01 00 T F5 01 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 49 00 +R 00 00 01 00 2B 07 4A 00 T FA 01 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 49 00 02 09 07 00 +R 00 00 01 00 02 04 4A 00 02 09 03 00 T 01 02 00 00 F1 4D 44 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 3D 00 +R 00 00 01 00 02 0B 3F 00 T 0A 02 00 00 30 25 R 00 00 01 00 T 0C 02 00 00 @@ -299,9 +299,9 @@ R 00 00 01 00 T 17 02 00 00 E5 21 06 00 39 4D 44 DD 5E 02 DD R 00 00 01 00 T 22 02 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 41 00 +R 00 00 01 00 2B 07 44 00 T 27 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 41 00 02 09 07 00 +R 00 00 01 00 02 04 44 00 02 09 03 00 T 2E 02 00 00 F1 18 AE R 00 00 01 00 T 31 02 00 00 @@ -309,23 +309,23 @@ R 00 00 01 00 T 31 02 00 00 R 00 00 01 00 T 31 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 05 00 02 0B 05 00 +R 00 00 01 00 2B 05 2E 00 02 0B 2E 00 T 37 02 00 00 E5 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 40 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 45 02 00 00 00 00 00 00 E1 E1 E1 DD 5E 02 DD -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 4E 02 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 32 00 +R 00 00 01 00 2B 07 34 00 T 53 02 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 32 00 02 09 07 00 +R 00 00 01 00 02 04 34 00 02 09 03 00 T 59 02 00 00 00 00 00 00 -R 00 00 01 00 02 04 17 00 +R 00 00 01 00 02 04 19 00 T 5B 02 00 00 R 00 00 01 00 T 5B 02 00 00 CD 00 00 00 00 FE FF 11 02 80 DD -R 00 00 01 00 02 05 36 00 +R 00 00 01 00 02 05 38 00 T 64 02 00 00 6E 02 DD 66 03 3E 80 AC 67 ED 52 R 00 00 01 00 T 6F 02 00 00 30 0A @@ -339,21 +339,21 @@ R 00 00 01 00 T 7B 02 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 T 86 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 3A 00 02 0A 3A 00 +R 00 00 01 00 2B 05 3C 00 02 0A 3C 00 T 8C 02 00 00 00 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 94 02 00 00 R 00 00 01 00 T 94 02 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 38 00 +R 00 00 01 00 2B 0B 3A 00 T 9C 02 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 38 00 02 0A 07 00 +R 00 00 01 00 02 05 3A 00 02 0A 03 00 T A3 02 00 00 00 00 00 00 -R 00 00 01 00 02 04 17 00 +R 00 00 01 00 02 04 19 00 T A5 02 00 00 R 00 00 01 00 T A5 02 00 00 CD 00 00 00 00 D2 FF 2A -R 00 00 01 00 02 05 36 00 +R 00 00 01 00 02 05 38 00 T AB 02 00 00 02 00 00 00 7D A4 3C 28 06 R 00 00 01 00 00 04 04 00 T B2 02 00 00 @@ -365,13 +365,13 @@ R 00 00 01 00 T B8 02 00 00 01 00 00 ED 5B 00 00 00 00 3E R 00 00 01 00 02 09 26 00 T C0 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 33 00 02 09 33 00 +R 00 00 01 00 2B 04 36 00 02 09 36 00 T C5 02 00 00 00 00 00 00 01 1C 00 00 00 ED 5B -R 00 00 01 00 02 04 07 00 00 09 02 00 +R 00 00 01 00 02 04 03 00 00 09 02 00 T CC 02 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 26 00 2B 09 39 00 +R 00 00 01 00 02 04 26 00 2B 09 3B 00 T D1 02 00 00 00 00 00 00 CD 00 00 00 00 AF DD -R 00 00 01 00 02 04 39 00 02 09 07 00 +R 00 00 01 00 02 04 3B 00 02 09 03 00 T D8 02 00 00 77 D2 DD 77 D3 AF DD 77 D6 DD 77 R 00 00 01 00 T E3 02 00 00 D7 DD 77 D8 DD 77 D9 01 02 80 DD @@ -389,23 +389,23 @@ R 00 00 01 00 T 05 03 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 T 10 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 3A 00 02 0A 3A 00 +R 00 00 01 00 2B 05 3C 00 02 0A 3C 00 T 16 03 00 00 00 00 00 00 DD 75 D4 DD 74 D5 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 1E 03 00 00 R 00 00 01 00 T 1E 03 00 00 21 00 00 E5 01 01 00 11 00 00 3E R 00 00 01 00 T 29 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +R 00 00 01 00 2B 04 09 00 02 09 09 00 T 2E 03 00 00 00 00 00 00 F1 22 02 00 00 00 01 -R 00 00 01 00 02 04 07 00 00 0A 04 00 +R 00 00 01 00 02 04 03 00 00 0A 04 00 T 35 03 00 00 10 00 C5 21 02 00 39 4D 44 ED 5B R 00 00 01 00 T 40 03 00 00 02 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 00 04 04 00 2B 09 24 00 T 45 03 00 00 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 04 24 00 02 09 07 00 +R 00 00 01 00 02 04 24 00 02 09 03 00 T 4B 03 00 00 R 00 00 01 00 T 4B 03 00 00 DD 36 F2 10 DD 36 F3 00 21 20 00 @@ -415,9 +415,9 @@ R 00 00 01 00 T 61 03 00 00 21 2A 00 39 4D 44 ED 5B R 00 00 01 00 T 69 03 00 00 02 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 04 00 2B 09 49 00 +R 00 00 01 00 00 04 04 00 2B 09 4A 00 T 6E 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 49 00 02 09 07 00 +R 00 00 01 00 02 04 4A 00 02 09 03 00 T 75 03 00 00 F1 7D A4 3C 20 03 R 00 00 01 00 T 7B 03 00 00 @@ -427,9 +427,9 @@ R 00 00 01 00 00 05 01 00 T 7E 03 00 00 R 00 00 01 00 T 7E 03 00 00 21 24 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 43 00 +R 00 00 01 00 2B 0B 45 00 T 86 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 43 00 02 0A 07 00 +R 00 00 01 00 02 05 45 00 02 0A 03 00 T 8D 03 00 00 75 F4 DD 74 F5 4D 44 3E 02 A9 B0 R 00 00 01 00 T 98 03 00 00 20 61 @@ -451,15 +451,15 @@ R 00 00 01 00 T B5 03 00 00 E5 21 12 00 39 5D 54 3E R 00 00 01 00 T BD 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 4A 00 02 09 4A 00 +R 00 00 01 00 2B 04 4B 00 02 09 4B 00 T C2 03 00 00 00 00 00 00 E5 0E 00 00 00 00 C5 -R 00 00 01 00 02 04 07 00 2B 0A 50 00 +R 00 00 01 00 02 04 03 00 2B 0A 42 00 T C8 03 00 00 21 00 00 00 00 E5 2A 02 00 00 00 -R 00 00 01 00 02 05 50 00 00 0B 04 00 +R 00 00 01 00 02 05 42 00 00 0B 04 00 T CF 03 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 T D5 03 00 00 CD 00 00 00 00 E1 E1 E1 E1 E1 DD -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 03 00 T DE 03 00 00 7E F2 DD B6 F3 28 13 R 00 00 01 00 T E5 03 00 00 @@ -467,11 +467,11 @@ R 00 00 01 00 T E5 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 25 00 02 0A 25 00 T EB 03 00 00 00 00 00 00 11 00 00 3E -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T F1 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 4B 00 02 09 4B 00 +R 00 00 01 00 2B 04 4C 00 02 09 4C 00 T F6 03 00 00 00 00 00 00 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T F8 03 00 00 R 00 00 01 00 T F8 03 00 00 C3 9B 04 00 00 @@ -481,17 +481,17 @@ R 00 00 01 00 T FB 03 00 00 3E 03 A9 B0 C2 9B 04 00 00 DD 5E R 00 00 01 00 00 09 01 00 T 04 04 00 00 F6 DD 56 F7 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 14 00 +R 00 00 01 00 2B 09 15 00 T 0B 04 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 04 14 00 02 09 07 00 +R 00 00 01 00 02 04 15 00 02 09 03 00 T 11 04 00 00 04 00 A7 ED 42 38 1C R 00 00 01 00 T 18 04 00 00 R 00 00 01 00 T 18 04 00 00 21 24 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 2D 00 +R 00 00 01 00 2B 0B 30 00 T 20 04 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 2D 00 02 0A 07 00 +R 00 00 01 00 02 05 30 00 02 0A 03 00 T 27 04 00 00 75 F8 DD 74 F9 DD 71 FA DD 70 FB R 00 00 01 00 T 32 04 00 00 18 18 @@ -513,7 +513,7 @@ R 00 00 01 00 T 53 04 00 00 01 03 00 DD 5E F2 DD 56 F3 CD R 00 00 01 00 T 5D 04 00 00 00 00 00 00 21 00 00 00 00 19 5E -R 00 00 01 00 02 04 37 00 02 09 51 00 +R 00 00 01 00 02 04 39 00 02 09 51 00 T 64 04 00 00 23 56 23 46 EB DD 75 FC DD 74 FD R 00 00 01 00 T 6F 04 00 00 DD 70 FE 7D B4 B0 28 22 @@ -525,7 +525,7 @@ R 00 00 01 00 T 82 04 00 00 F9 DD 7E FE DD 6E FC DD 66 FD CD R 00 00 01 00 T 8D 04 00 00 00 00 00 00 DD 34 F2 20 03 DD 34 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 96 04 00 00 F3 R 00 00 01 00 T 97 04 00 00 @@ -539,37 +539,37 @@ R 00 00 01 00 T 9B 04 00 00 R 00 00 01 00 T 9B 04 00 00 21 24 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 3E 00 +R 00 00 01 00 2B 0B 40 00 T A3 04 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 3E 00 02 0A 07 00 +R 00 00 01 00 02 05 40 00 02 0A 03 00 T AA 04 00 00 4B 03 00 00 R 00 00 01 00 00 04 01 00 T AC 04 00 00 R 00 00 01 00 T AC 04 00 00 ED 5B 02 00 00 00 3E 00 00 00 00 -R 00 00 01 00 00 06 04 00 2B 0B 32 00 +R 00 00 01 00 00 06 04 00 2B 0B 34 00 T B2 04 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 32 00 02 0A 07 00 +R 00 00 01 00 02 05 34 00 02 0A 03 00 T B9 04 00 00 FF FF 22 02 00 00 00 21 00 00 R 00 00 01 00 00 07 04 00 T C1 04 00 00 R 00 00 01 00 T C1 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 19 00 T C4 04 00 00 R 00 00 01 00 T C4 04 00 00 CD 00 00 00 00 FA FF AF DD 77 FE -R 00 00 01 00 02 05 36 00 +R 00 00 01 00 02 05 38 00 T CD 04 00 00 DD 77 FF DD 5E 02 DD 56 03 3E R 00 00 01 00 T D7 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 14 00 02 09 14 00 +R 00 00 01 00 2B 04 15 00 02 09 15 00 T DC 04 00 00 00 00 00 00 DD 75 FC DD 74 FD E5 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T E5 04 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 -R 00 00 01 00 00 06 04 00 2B 0B 1B 00 +R 00 00 01 00 00 06 04 00 2B 0B 1C 00 T EB 04 00 00 21 00 00 00 00 CD 00 00 00 00 4D -R 00 00 01 00 02 05 1B 00 02 0A 07 00 +R 00 00 01 00 02 05 1C 00 02 0A 03 00 T F2 04 00 00 44 E1 A7 ED 42 28 08 R 00 00 01 00 T F9 04 00 00 @@ -579,23 +579,23 @@ R 00 00 01 00 T 01 05 00 00 R 00 00 01 00 T 01 05 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 3C 00 +R 00 00 01 00 2B 0B 3E 00 T 09 05 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 3C 00 02 0A 07 00 +R 00 00 01 00 02 05 3E 00 02 0A 03 00 T 10 05 00 00 75 FA DD 74 FB DD 4E FC DD 46 FD R 00 00 01 00 T 1B 05 00 00 C5 4D 44 21 0A 00 39 5D 54 3E R 00 00 01 00 T 25 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2C 00 02 09 2C 00 +R 00 00 01 00 2B 04 2F 00 02 09 2F 00 T 2A 05 00 00 00 00 00 00 F1 DD 6E FC DD 66 FD -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 33 05 00 00 E5 DD 4E FA DD 46 FB ED 5B R 00 00 01 00 T 3C 05 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 04 00 2B 09 08 00 +R 00 00 01 00 00 04 04 00 2B 09 05 00 T 41 05 00 00 00 00 00 00 CD 00 00 00 00 F1 7D -R 00 00 01 00 02 04 08 00 02 09 07 00 +R 00 00 01 00 02 04 05 00 02 09 03 00 T 48 05 00 00 B4 20 08 R 00 00 01 00 T 4B 05 00 00 @@ -605,9 +605,9 @@ R 00 00 01 00 T 53 05 00 00 R 00 00 01 00 T 53 05 00 00 DD 5E FA DD 56 FB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 2E 00 +R 00 00 01 00 2B 0B 31 00 T 5B 05 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 2E 00 02 0A 07 00 +R 00 00 01 00 02 05 31 00 02 0A 03 00 T 62 05 00 00 6E FE DD 66 FF R 00 00 01 00 T 67 05 00 00 @@ -617,17 +617,17 @@ R 00 00 01 00 02 05 21 00 T 6A 05 00 00 R 00 00 01 00 T 6A 05 00 00 CD 00 00 00 00 ED 5B 02 00 00 00 -R 00 00 01 00 02 05 30 00 00 0B 04 00 +R 00 00 01 00 02 05 33 00 00 0B 04 00 T 71 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 32 00 02 0A 32 00 +R 00 00 01 00 2B 05 34 00 02 0A 34 00 T 77 05 00 00 00 00 00 00 21 00 00 C3 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 7D 05 00 00 00 00 00 00 -R 00 00 01 00 02 04 17 00 +R 00 00 01 00 02 04 19 00 T 7F 05 00 00 R 00 00 01 00 T 7F 05 00 00 CD 00 00 00 00 FE FF 11 02 80 DD -R 00 00 01 00 02 05 36 00 +R 00 00 01 00 02 05 38 00 T 88 05 00 00 6E 02 DD 66 03 3E 80 AC 67 ED 52 R 00 00 01 00 T 93 05 00 00 30 0A @@ -641,9 +641,9 @@ R 00 00 01 00 T 9F 05 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 T AA 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 3A 00 02 0A 3A 00 +R 00 00 01 00 2B 05 3C 00 02 0A 3C 00 T B0 05 00 00 00 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T B8 05 00 00 R 00 00 01 00 T B8 05 00 00 21 40 02 E5 0E DA 05 00 00 C5 21 @@ -651,15 +651,15 @@ R 00 00 01 00 29 09 01 00 T C0 05 00 00 DA 05 00 00 E5 01 3A 00 00 00 DD R 00 00 01 00 00 04 01 00 00 0A 02 00 T C7 05 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 18 00 +R 00 00 01 00 2B 0A 1A 00 T CF 05 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 18 00 02 09 07 00 +R 00 00 01 00 02 04 1A 00 02 09 03 00 T D6 05 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 06 17 00 +R 00 00 01 00 02 06 19 00 T DA 05 00 00 R 00 00 01 00 T DA 05 00 00 CD 00 00 00 00 E2 FF AF DD 77 E2 -R 00 00 01 00 02 05 36 00 +R 00 00 01 00 02 05 38 00 T E3 05 00 00 DD 77 E3 AF DD 77 E6 DD 77 E7 AF R 00 00 01 00 T EE 05 00 00 DD 77 FC DD 77 FD ED 4B @@ -669,23 +669,23 @@ R 00 00 01 00 02 04 26 00 T FF 05 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 22 00 02 09 22 00 T 04 06 00 00 00 00 00 00 0E 00 00 00 00 C5 21 -R 00 00 01 00 02 04 07 00 2B 09 48 00 +R 00 00 01 00 02 04 03 00 2B 09 49 00 T 0A 06 00 00 00 00 00 00 E5 DD 6E 02 DD 66 03 -R 00 00 01 00 02 04 48 00 +R 00 00 01 00 02 04 49 00 T 13 06 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0C 00 02 0B 0C 00 +R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 T 19 06 00 00 CD 00 00 00 00 E1 E1 E1 01 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 03 00 T 20 06 00 00 46 00 00 00 DD 5E 02 DD 56 03 3E R 00 00 01 00 00 04 02 00 T 29 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 4C 00 02 09 4C 00 +R 00 00 01 00 2B 04 4D 00 02 09 4D 00 T 2E 06 00 00 00 00 00 00 DD 75 E2 DD 74 E3 7D -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 37 06 00 00 B4 28 15 11 80 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 46 00 +R 00 00 01 00 2B 0B 47 00 T 3F 06 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 46 00 02 0A 07 00 +R 00 00 01 00 02 05 47 00 02 0A 03 00 T 46 06 00 00 75 E6 DD 74 E7 7D B4 20 03 R 00 00 01 00 T 4F 06 00 00 @@ -707,57 +707,57 @@ R 00 00 01 00 02 06 26 00 T 6F 06 00 00 00 21 14 00 ED 4B 00 00 00 00 09 R 00 00 01 00 02 0A 26 00 T 78 06 00 00 EB 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 16 00 02 0B 16 00 +R 00 00 01 00 2B 06 18 00 02 0B 18 00 T 7E 06 00 00 CD 00 00 00 00 7D B4 28 1C -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 03 00 T 85 06 00 00 R 00 00 01 00 T 85 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 35 00 02 0B 35 00 +R 00 00 01 00 2B 05 16 00 02 0B 16 00 T 8B 06 00 00 E5 DD 6E E2 DD 66 E3 E5 3E R 00 00 01 00 T 94 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1D 00 02 09 1D 00 +R 00 00 01 00 2B 04 1E 00 02 09 1E 00 T 99 06 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 9F 06 00 00 E8 0A 00 00 R 00 00 01 00 00 04 01 00 T A1 06 00 00 R 00 00 01 00 T A1 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 06 00 02 0B 06 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 T A7 06 00 00 E5 DD 6E E2 DD 66 E3 E5 3E R 00 00 01 00 T B0 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1D 00 02 09 1D 00 +R 00 00 01 00 2B 04 1E 00 02 09 1E 00 T B5 06 00 00 00 00 00 00 F1 F1 F1 DD 6E E2 DD -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T BE 06 00 00 66 E3 E5 01 80 00 DD 5E E6 DD 56 R 00 00 01 00 T C9 06 00 00 E7 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 20 00 02 0B 20 00 T CF 06 00 00 CD 00 00 00 00 F1 DD 5E E6 DD 56 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 03 00 T D8 06 00 00 E7 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T DE 06 00 00 CD 00 00 00 00 ED 4B 00 00 00 00 -R 00 00 01 00 02 05 07 00 00 0B 04 00 +R 00 00 01 00 02 05 03 00 00 0B 04 00 T E5 06 00 00 DD 5E E6 DD 56 E7 3E 00 00 00 00 R 00 00 01 00 2B 0B 1F 00 T ED 06 00 00 21 00 00 00 00 CD 00 00 00 00 7D -R 00 00 01 00 02 05 1F 00 02 0A 07 00 +R 00 00 01 00 02 05 1F 00 02 0A 03 00 T F4 06 00 00 B4 28 1C R 00 00 01 00 T F7 06 00 00 R 00 00 01 00 T F7 06 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +R 00 00 01 00 2B 05 11 00 02 0B 11 00 T FD 06 00 00 E5 DD 6E E2 DD 66 E3 E5 3E R 00 00 01 00 T 06 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1D 00 02 09 1D 00 +R 00 00 01 00 2B 04 1E 00 02 09 1E 00 T 0B 07 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 11 07 00 00 E8 0A 00 00 R 00 00 01 00 00 04 01 00 T 13 07 00 00 @@ -765,27 +765,27 @@ R 00 00 01 00 T 13 07 00 00 R 00 00 01 00 T 13 07 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 34 00 02 0B 34 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 T 19 07 00 00 E5 DD 6E E2 DD 66 E3 E5 3E R 00 00 01 00 T 22 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1D 00 02 09 1D 00 +R 00 00 01 00 2B 04 1E 00 02 09 1E 00 T 27 07 00 00 00 00 00 00 F1 F1 F1 DD 6E E2 DD -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 30 07 00 00 66 E3 E5 01 80 00 DD 5E E6 DD 56 R 00 00 01 00 T 3B 07 00 00 E7 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 20 00 02 0B 20 00 T 41 07 00 00 CD 00 00 00 00 F1 DD 5E E6 DD 56 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 03 00 T 4A 07 00 00 E7 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T 50 07 00 00 CD 00 00 00 00 DD 5E E6 DD 56 E7 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 03 00 T 59 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0A 00 02 0A 0A 00 +R 00 00 01 00 2B 05 08 00 02 0A 08 00 T 5F 07 00 00 00 00 00 00 DD 75 E8 DD 74 E9 7D -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 68 07 00 00 B4 20 23 R 00 00 01 00 T 6B 07 00 00 @@ -793,13 +793,13 @@ R 00 00 01 00 T 6B 07 00 00 DD 6E E6 DD 66 E7 E5 0E R 00 00 01 00 T 73 07 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 19 00 02 0A 19 00 +R 00 00 01 00 2B 04 07 00 02 0A 07 00 T 79 07 00 00 DD 6E E2 DD 66 E3 E5 3E R 00 00 01 00 T 81 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1D 00 02 09 1D 00 +R 00 00 01 00 2B 04 1E 00 02 09 1E 00 T 86 07 00 00 00 00 00 00 F1 F1 F1 F1 18 85 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 8E 07 00 00 R 00 00 01 00 T 8E 07 00 00 21 1C 00 39 E5 21 0C 00 39 4D 44 @@ -807,19 +807,19 @@ R 00 00 01 00 T 99 07 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 R 00 00 01 00 2B 0B 12 00 T A1 07 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 12 00 02 0A 07 00 +R 00 00 01 00 02 05 12 00 02 0A 03 00 T A8 07 00 00 7D A4 3C 28 76 21 0E 00 39 5E 23 R 00 00 01 00 T B3 07 00 00 56 23 4E 23 46 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 23 00 T BB 07 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 23 00 02 09 07 00 +R 00 00 01 00 02 04 23 00 02 09 03 00 T C2 07 00 00 20 5F 21 0E 00 39 5E 23 56 23 4E R 00 00 01 00 T CD 07 00 00 23 46 3E 00 00 00 00 21 R 00 00 01 00 2B 07 28 00 T D2 07 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 28 00 02 09 07 00 +R 00 00 01 00 02 04 28 00 02 09 03 00 T D9 07 00 00 EA DD 74 EB 7D B4 28 42 21 12 00 R 00 00 01 00 T E4 07 00 00 DD 4E EA DD 46 EB 09 46 23 66 68 @@ -835,13 +835,13 @@ R 00 00 01 00 T FA 07 00 00 DD 6E E8 DD 66 E9 23 23 4E 23 46 R 00 00 01 00 T 05 08 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 01 00 +R 00 00 01 00 2B 06 2B 00 T 0A 08 00 00 00 00 00 00 E5 DD 6E E2 DD 66 E3 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 2B 00 T 13 08 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1D 00 02 0B 1D 00 +R 00 00 01 00 2B 06 1E 00 02 0B 1E 00 T 19 08 00 00 CD 00 00 00 00 F1 F1 F1 F1 C3 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 03 00 T 21 08 00 00 13 07 00 00 R 00 00 01 00 00 04 01 00 T 23 08 00 00 @@ -851,7 +851,7 @@ R 00 00 01 00 00 05 02 00 T 2C 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 53 00 02 0A 53 00 T 32 08 00 00 00 00 00 00 DD 75 E4 DD 74 E5 7D -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 3B 08 00 00 B4 28 03 R 00 00 01 00 T 3E 08 00 00 @@ -863,27 +863,27 @@ R 00 00 01 00 T 41 08 00 00 DD 6E E6 DD 66 E7 E5 0E R 00 00 01 00 T 49 08 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 4F 00 02 0A 4F 00 +R 00 00 01 00 2B 04 13 00 02 0A 13 00 T 4F 08 00 00 DD 6E E2 DD 66 E3 E5 3E R 00 00 01 00 T 57 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1D 00 02 09 1D 00 +R 00 00 01 00 2B 04 1E 00 02 09 1E 00 T 5C 08 00 00 00 00 00 00 F1 F1 F1 F1 0E -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 63 08 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 1E 00 02 0A 1E 00 +R 00 00 01 00 2B 04 37 00 02 0A 37 00 T 69 08 00 00 DD 6E E2 DD 66 E3 E5 3E R 00 00 01 00 T 71 08 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1D 00 02 09 1D 00 +R 00 00 01 00 2B 04 1E 00 02 09 1E 00 T 76 08 00 00 00 00 00 00 F1 F1 F1 DD 6E E2 DD -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 7F 08 00 00 66 E3 E5 01 80 00 DD 5E E6 DD 56 R 00 00 01 00 T 8A 08 00 00 E7 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 20 00 02 0B 20 00 T 90 08 00 00 CD 00 00 00 00 F1 DD 6E E6 DD 66 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 03 00 T 99 08 00 00 E7 7E FE 79 28 0B DD 6E E6 DD 66 R 00 00 01 00 T A4 08 00 00 E7 7E FE 59 20 17 @@ -901,7 +901,7 @@ R 00 00 01 00 00 04 01 00 T BA 08 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 29 00 02 09 29 00 T BF 08 00 00 00 00 00 00 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T C1 08 00 00 R 00 00 01 00 T C1 08 00 00 C3 13 07 00 00 @@ -913,23 +913,23 @@ R 00 00 01 00 T CF 08 00 00 DD 5E E4 DD 56 E5 3E 00 00 00 00 R 00 00 01 00 2B 0B 52 00 T D7 08 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 52 00 02 0A 07 00 +R 00 00 01 00 02 05 52 00 02 0A 03 00 T DE 08 00 00 F1 DD 5E E8 DD 56 E9 CD R 00 00 01 00 T E6 08 00 00 E6 0B 00 00 0E 00 00 00 00 C5 21 -R 00 00 01 00 00 04 01 00 2B 09 42 00 +R 00 00 01 00 00 04 01 00 2B 09 0C 00 T EC 08 00 00 00 00 00 00 E5 DD 6E E2 DD 66 E3 -R 00 00 01 00 02 04 42 00 +R 00 00 01 00 02 04 0C 00 T F5 08 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1D 00 02 0B 1D 00 +R 00 00 01 00 2B 06 1E 00 02 0B 1E 00 T FB 08 00 00 CD 00 00 00 00 F1 F1 F1 DD 6E E2 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 03 00 T 04 09 00 00 DD 66 E3 E5 01 80 00 DD 5E E6 DD R 00 00 01 00 T 0F 09 00 00 56 E7 3E 00 00 00 00 21 R 00 00 01 00 2B 07 20 00 T 14 09 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 20 00 02 09 07 00 +R 00 00 01 00 02 04 20 00 02 09 03 00 T 1B 09 00 00 6E E6 DD 66 E7 7E FE 79 28 0B DD R 00 00 01 00 T 26 09 00 00 6E E6 DD 66 E7 7E FE 59 20 4E @@ -945,47 +945,47 @@ R 00 00 01 00 T 3B 09 00 00 E5 01 08 00 DD 5E E8 DD 56 E9 3E R 00 00 01 00 T 46 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 +R 00 00 01 00 2B 04 06 00 02 09 06 00 T 4B 09 00 00 00 00 00 00 F1 F1 F1 01 00 00 11 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 54 09 00 00 E8 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 13 00 +R 00 00 01 00 2B 07 14 00 T 59 09 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 13 00 02 09 07 00 +R 00 00 01 00 02 04 14 00 02 09 03 00 T 5F 09 00 00 00 00 E5 21 01 00 E5 21 01 00 E5 R 00 00 01 00 T 6A 09 00 00 01 08 00 DD 5E E8 DD 56 E9 3E R 00 00 01 00 T 74 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 +R 00 00 01 00 2B 04 06 00 02 09 06 00 T 79 09 00 00 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 7E 09 00 00 R 00 00 01 00 T 7E 09 00 00 01 00 00 DD 5E E2 DD 56 E3 3E R 00 00 01 00 T 88 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 10 00 02 09 10 00 +R 00 00 01 00 2B 04 0F 00 02 09 0F 00 T 8D 09 00 00 00 00 00 00 21 00 00 E5 21 03 00 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 96 09 00 00 E5 01 00 00 DD 5E E2 DD 56 E3 3E R 00 00 01 00 T A1 09 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 52 00 02 09 52 00 T A6 09 00 00 00 00 00 00 F1 F1 0E 00 00 00 00 -R 00 00 01 00 02 04 07 00 2B 0B 1A 00 +R 00 00 01 00 02 04 03 00 2B 0B 35 00 T AC 09 00 00 C5 21 00 00 00 00 E5 DD 6E E2 DD -R 00 00 01 00 02 06 1A 00 +R 00 00 01 00 02 06 35 00 T B5 09 00 00 66 E3 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 1D 00 +R 00 00 01 00 2B 08 1E 00 T BB 09 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 1D 00 02 09 07 00 +R 00 00 01 00 02 04 1E 00 02 09 03 00 T C2 09 00 00 F1 DD 6E E2 DD 66 E3 E5 01 80 00 R 00 00 01 00 T CD 09 00 00 DD 5E E6 DD 56 E7 3E 00 00 00 00 R 00 00 01 00 2B 0B 20 00 T D5 09 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 20 00 02 0A 07 00 +R 00 00 01 00 02 05 20 00 02 0A 03 00 T DC 09 00 00 DD 6E E6 DD 66 E7 7E FE 79 28 0B R 00 00 01 00 T E7 09 00 00 DD 6E E6 DD 66 E7 7E FE 59 20 59 @@ -999,13 +999,13 @@ R 00 00 01 00 T F2 09 00 00 21 01 00 E5 21 FB 00 E5 21 FF 00 R 00 00 01 00 T FD 09 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 31 00 +R 00 00 01 00 2B 06 4F 00 T 02 0A 00 00 00 00 00 00 E5 DD 6E E2 DD 66 E3 -R 00 00 01 00 02 04 31 00 +R 00 00 01 00 02 04 4F 00 T 0B 0A 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 1D 00 02 0B 1D 00 +R 00 00 01 00 2B 06 1E 00 02 0B 1E 00 T 11 0A 00 00 CD 00 00 00 00 EB 21 0C 00 39 F9 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 03 00 T 1A 0A 00 00 EB AF DD 77 FE DD 77 FF R 00 00 01 00 T 22 0A 00 00 @@ -1017,9 +1017,9 @@ R 00 00 01 00 T 33 0A 00 00 R 00 00 01 00 T 33 0A 00 00 DD 5E E2 DD 56 E3 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0D 00 +R 00 00 01 00 2B 0B 0B 00 T 3B 0A 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0D 00 02 0A 07 00 +R 00 00 01 00 02 05 0B 00 02 0A 03 00 T 42 0A 00 00 34 FE 20 03 DD 34 FF R 00 00 01 00 T 49 0A 00 00 @@ -1039,17 +1039,17 @@ R 00 00 01 00 29 08 01 00 T 68 0A 00 00 56 0B 00 00 E5 01 DC 05 11 R 00 00 01 00 00 04 01 00 T 6F 0A 00 00 4D 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 02 00 2B 09 4E 00 +R 00 00 01 00 00 04 02 00 2B 09 50 00 T 74 0A 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 4E 00 02 09 07 00 +R 00 00 01 00 02 04 50 00 02 09 03 00 T 7B 0A 00 00 0C 00 39 F9 EB DD 75 FC DD 74 FD R 00 00 01 00 T 86 0A 00 00 01 01 00 DD 5E E2 DD 56 E3 3E R 00 00 01 00 T 90 0A 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 3F 00 02 09 3F 00 +R 00 00 01 00 2B 04 41 00 02 09 41 00 T 95 0A 00 00 00 00 00 00 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 97 0A 00 00 R 00 00 01 00 T 97 0A 00 00 DD 6E E2 DD 66 E3 E5 21 80 00 E5 @@ -1057,11 +1057,11 @@ R 00 00 01 00 T A2 0A 00 00 01 01 00 DD 5E E6 DD 56 E7 3E R 00 00 01 00 T AC 0A 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 +R 00 00 01 00 2B 04 01 00 02 09 01 00 T B1 0A 00 00 00 00 00 00 F1 F1 DD 75 FE DD 74 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T BA 0A 00 00 FF 4D 44 21 00 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 3D 00 +R 00 00 01 00 02 0B 3F 00 T C3 0A 00 00 30 23 R 00 00 01 00 T C5 0A 00 00 @@ -1071,57 +1071,57 @@ R 00 00 01 00 T D0 0A 00 00 66 FF E5 01 01 00 DD 5E E6 DD 56 R 00 00 01 00 T DB 0A 00 00 E7 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 15 00 02 0B 15 00 +R 00 00 01 00 2B 06 17 00 02 0B 17 00 T E1 0A 00 00 CD 00 00 00 00 F1 F1 18 AF -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 03 00 T E8 0A 00 00 R 00 00 01 00 T E8 0A 00 00 R 00 00 01 00 T E8 0A 00 00 DD 5E E2 DD 56 E3 3E 00 00 00 00 -R 00 00 01 00 2B 0B 4D 00 +R 00 00 01 00 2B 0B 4E 00 T F0 0A 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 4D 00 02 0A 07 00 +R 00 00 01 00 02 05 4E 00 02 0A 03 00 T F7 0A 00 00 5E E4 DD 56 E5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 4D 00 +R 00 00 01 00 2B 0A 4E 00 T FF 0A 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 4D 00 02 09 07 00 +R 00 00 01 00 02 04 4E 00 02 09 03 00 T 06 0B 00 00 FC DD 56 FD 3E 00 00 00 00 21 R 00 00 01 00 2B 09 2A 00 T 0D 0B 00 00 00 00 00 00 CD 00 00 00 00 0E -R 00 00 01 00 02 04 2A 00 02 09 07 00 +R 00 00 01 00 02 04 2A 00 02 09 03 00 T 13 0B 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 04 00 02 0A 04 00 +R 00 00 01 00 2B 04 2D 00 02 0A 2D 00 T 19 0B 00 00 DD 6E 02 DD 66 03 E5 3E R 00 00 01 00 T 21 0B 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 26 0B 00 00 00 00 00 00 E1 E1 E1 DD 5E E6 DD -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 2F 0B 00 00 56 E7 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 2E 00 +R 00 00 01 00 2B 07 31 00 T 34 0B 00 00 00 00 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 02 04 2E 00 02 09 07 00 +R 00 00 01 00 02 04 31 00 02 09 03 00 T 3B 0B 00 00 02 DD 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 32 00 +R 00 00 01 00 2B 09 34 00 T 42 0B 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 04 32 00 02 09 07 00 +R 00 00 01 00 02 04 34 00 02 09 03 00 T 48 0B 00 00 00 00 DD 5E E8 DD 56 E9 CD R 00 00 01 00 T 51 0B 00 00 35 0C 00 00 C3 00 00 00 00 -R 00 00 01 00 00 04 01 00 02 09 17 00 +R 00 00 01 00 00 04 01 00 02 09 19 00 T 56 0B 00 00 R 00 00 01 00 T 56 0B 00 00 CD 00 00 00 00 7A FF 21 02 00 39 -R 00 00 01 00 02 05 36 00 +R 00 00 01 00 02 05 38 00 T 5F 0B 00 00 71 23 70 21 04 00 39 DD 4E 0A DD R 00 00 01 00 T 6A 0B 00 00 46 0B 71 23 70 01 01 00 21 04 00 R 00 00 01 00 T 75 0B 00 00 39 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 3F 00 +R 00 00 01 00 2B 09 41 00 T 7C 0B 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 3F 00 02 09 07 00 +R 00 00 01 00 02 04 41 00 02 09 03 00 T 81 0B 00 00 R 00 00 01 00 T 81 0B 00 00 21 00 00 39 E5 21 06 00 39 4E 23 @@ -1129,13 +1129,13 @@ R 00 00 01 00 T 8C 0B 00 00 46 C5 21 80 00 E5 01 01 00 21 R 00 00 01 00 T 96 0B 00 00 0C 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 02 00 +R 00 00 01 00 2B 0A 01 00 T 9E 0B 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 02 00 02 09 07 00 +R 00 00 01 00 02 04 01 00 02 09 03 00 T A5 0B 00 00 4D 44 E1 71 23 70 21 00 00 CD R 00 00 01 00 T AF 0B 00 00 00 00 00 00 30 30 -R 00 00 01 00 02 04 3D 00 +R 00 00 01 00 02 04 3F 00 T B3 0B 00 00 R 00 00 01 00 T B3 0B 00 00 21 02 00 39 4E 23 46 C5 21 02 00 @@ -1143,25 +1143,25 @@ R 00 00 01 00 T BE 0B 00 00 39 4E 23 46 C5 01 01 00 21 0A 00 R 00 00 01 00 T C9 0B 00 00 39 5D 54 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 15 00 +R 00 00 01 00 2B 08 17 00 T CF 0B 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 15 00 02 09 07 00 +R 00 00 01 00 02 04 17 00 02 09 03 00 T D6 0B 00 00 11 00 00 3E 00 00 00 00 21 R 00 00 01 00 2B 08 29 00 T DC 0B 00 00 00 00 00 00 CD 00 00 00 00 18 9E -R 00 00 01 00 02 04 29 00 02 09 07 00 +R 00 00 01 00 02 04 29 00 02 09 03 00 T E3 0B 00 00 R 00 00 01 00 T E3 0B 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 19 00 T E6 0B 00 00 R 00 00 01 00 T E6 0B 00 00 CD 00 00 00 00 FE FF 01 06 00 11 -R 00 00 01 00 02 05 36 00 +R 00 00 01 00 02 05 38 00 T EF 0B 00 00 01 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 3B 00 +R 00 00 01 00 2B 07 3D 00 T F4 0B 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 3B 00 02 09 07 00 +R 00 00 01 00 02 04 3D 00 02 09 03 00 T FB 0B 00 00 FE DD 74 FF 01 04 00 09 DD 4E 02 R 00 00 01 00 T 06 0C 00 00 DD 46 03 71 23 70 DD 6E FE DD 66 @@ -1177,7 +1177,7 @@ R 00 00 01 00 00 06 03 00 02 0B 21 00 T 35 0C 00 00 R 00 00 01 00 T 35 0C 00 00 CD 00 00 00 00 FC FF AF DD 77 FE -R 00 00 01 00 02 05 36 00 +R 00 00 01 00 02 05 38 00 T 3E 0C 00 00 DD 77 FF 2A 00 00 00 00 DD 75 FC R 00 00 01 00 00 08 03 00 T 47 0C 00 00 DD 74 FD @@ -1223,9 +1223,9 @@ R 00 00 01 00 T 9D 0C 00 00 01 6B 00 DD 6E FC DD 66 FD 23 23 R 00 00 01 00 T A8 0C 00 00 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 1C 00 +R 00 00 01 00 2B 08 1D 00 T AE 0C 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 1C 00 02 09 07 00 +R 00 00 01 00 02 04 1D 00 02 09 03 00 T B3 0C 00 00 R 00 00 01 00 T B3 0C 00 00 DD 7E FE DD B6 FF 20 0F @@ -1245,9 +1245,9 @@ R 00 00 01 00 T DF 0C 00 00 R 00 00 01 00 T DF 0C 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 -R 00 00 01 00 2B 0B 2E 00 +R 00 00 01 00 2B 0B 31 00 T E7 0C 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 2E 00 02 0A 07 00 +R 00 00 01 00 02 05 31 00 02 0A 03 00 T ED 0C 00 00 R 00 00 01 00 T ED 0C 00 00 C3 00 00 00 00 @@ -1255,7 +1255,7 @@ R 00 00 01 00 02 05 21 00 T F0 0C 00 00 R 00 00 01 00 T F0 0C 00 00 CD 00 00 00 00 FE FF 11 02 80 DD -R 00 00 01 00 02 05 36 00 +R 00 00 01 00 02 05 38 00 T F9 0C 00 00 6E 02 DD 66 03 3E 80 AC 67 ED 52 R 00 00 01 00 T 04 0D 00 00 30 0A @@ -1269,21 +1269,21 @@ R 00 00 01 00 T 10 0D 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 T 1B 0D 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 3A 00 02 0A 3A 00 +R 00 00 01 00 2B 05 3C 00 02 0A 3C 00 T 21 0D 00 00 00 00 00 00 DD 75 FE DD 74 FF -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T 29 0D 00 00 R 00 00 01 00 T 29 0D 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 38 00 +R 00 00 01 00 2B 0B 3A 00 T 31 0D 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 38 00 02 0A 07 00 +R 00 00 01 00 02 05 3A 00 02 0A 03 00 T 38 0D 00 00 00 00 00 00 -R 00 00 01 00 02 04 17 00 +R 00 00 01 00 02 04 19 00 T 3A 0D 00 00 R 00 00 01 00 T 3A 0D 00 00 CD 00 00 00 00 D4 FF 2A -R 00 00 01 00 02 05 36 00 +R 00 00 01 00 02 05 38 00 T 40 0D 00 00 04 00 00 00 7D A4 3C 28 06 R 00 00 01 00 00 04 04 00 T 47 0D 00 00 @@ -1295,19 +1295,19 @@ R 00 00 01 00 T 4D 0D 00 00 01 00 00 ED 5B 00 00 00 00 3E R 00 00 01 00 02 09 26 00 T 55 0D 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 33 00 02 09 33 00 +R 00 00 01 00 2B 04 36 00 02 09 36 00 T 5A 0D 00 00 00 00 00 00 01 55 00 00 00 ED 5B -R 00 00 01 00 02 04 07 00 00 09 02 00 +R 00 00 01 00 02 04 03 00 00 09 02 00 T 61 0D 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 26 00 2B 09 39 00 +R 00 00 01 00 02 04 26 00 2B 09 3B 00 T 66 0D 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 04 39 00 02 09 07 00 +R 00 00 01 00 02 04 3B 00 02 09 03 00 T 6C 0D 00 00 49 00 00 00 DD 6E 04 DD 66 05 23 R 00 00 01 00 00 04 02 00 T 75 0D 00 00 23 5E 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 09 53 00 T 7C 0D 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 53 00 02 09 07 00 +R 00 00 01 00 02 04 53 00 02 09 03 00 T 83 0D 00 00 FE DD 74 FF 7D B4 20 24 R 00 00 01 00 T 8B 0D 00 00 @@ -1315,11 +1315,11 @@ R 00 00 01 00 T 8B 0D 00 00 DD 6E 04 DD 66 05 23 23 4E 23 46 R 00 00 01 00 T 96 0D 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 4F 00 +R 00 00 01 00 2B 06 13 00 T 9B 0D 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 4F 00 2B 0A 40 00 +R 00 00 01 00 02 04 13 00 2B 0A 43 00 T A1 0D 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 40 00 02 09 07 00 +R 00 00 01 00 02 04 43 00 02 09 03 00 T A8 0D 00 00 F1 21 01 00 C3 C0 0F 00 00 R 00 00 01 00 00 09 01 00 T AF 0D 00 00 @@ -1341,9 +1341,9 @@ R 00 00 01 00 T DE 0D 00 00 21 04 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 T E9 0D 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 3A 00 +R 00 00 01 00 2B 07 3C 00 T EE 0D 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 3A 00 02 09 07 00 +R 00 00 01 00 02 04 3C 00 02 09 03 00 T F5 0D 00 00 D6 DD 74 D7 R 00 00 01 00 T F9 0D 00 00 @@ -1351,15 +1351,15 @@ R 00 00 01 00 T F9 0D 00 00 21 00 00 E5 01 01 00 11 00 00 3E R 00 00 01 00 T 04 0E 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +R 00 00 01 00 2B 04 09 00 02 09 09 00 T 09 0E 00 00 00 00 00 00 F1 22 04 00 00 00 01 -R 00 00 01 00 02 04 07 00 00 0A 04 00 +R 00 00 01 00 02 04 03 00 00 0A 04 00 T 10 0E 00 00 10 00 C5 21 02 00 39 4D 44 ED 5B R 00 00 01 00 T 1B 0E 00 00 04 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 00 04 04 00 2B 09 24 00 T 20 0E 00 00 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 04 24 00 02 09 07 00 +R 00 00 01 00 02 04 24 00 02 09 03 00 T 26 0E 00 00 R 00 00 01 00 T 26 0E 00 00 DD 36 F4 10 DD 36 F5 00 21 20 00 @@ -1369,9 +1369,9 @@ R 00 00 01 00 T 3C 0E 00 00 21 2A 00 39 4D 44 ED 5B R 00 00 01 00 T 44 0E 00 00 04 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 04 00 2B 09 49 00 +R 00 00 01 00 00 04 04 00 2B 09 4A 00 T 49 0E 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 49 00 02 09 07 00 +R 00 00 01 00 02 04 4A 00 02 09 03 00 T 50 0E 00 00 F1 7D A4 3C 20 03 R 00 00 01 00 T 56 0E 00 00 @@ -1385,9 +1385,9 @@ R 00 00 01 00 00 05 04 00 T 62 0E 00 00 R 00 00 01 00 T 62 0E 00 00 21 24 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 43 00 +R 00 00 01 00 2B 0B 45 00 T 6A 0E 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 43 00 02 0A 07 00 +R 00 00 01 00 02 05 45 00 02 0A 03 00 T 71 0E 00 00 75 F6 DD 74 F7 7D A4 3C 28 14 DD R 00 00 01 00 T 7C 0E 00 00 6E FA DD 66 FB 4E 06 00 DD 6E F6 @@ -1423,9 +1423,9 @@ R 00 00 01 00 T A8 0E 00 00 R 00 00 01 00 T A8 0E 00 00 21 24 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 43 00 +R 00 00 01 00 2B 0B 45 00 T B0 0E 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 43 00 02 0A 07 00 +R 00 00 01 00 02 05 45 00 02 0A 03 00 T B7 0E 00 00 75 F6 DD 74 F7 7D A4 3C 28 16 R 00 00 01 00 T C1 0E 00 00 @@ -1433,41 +1433,41 @@ R 00 00 01 00 T C1 0E 00 00 DD 4E FE DD 46 FF DD 5E F6 DD 56 R 00 00 01 00 T CC 0E 00 00 F7 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2F 00 02 0B 2F 00 +R 00 00 01 00 2B 06 32 00 02 0B 32 00 T D2 0E 00 00 CD 00 00 00 00 18 D1 -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 03 00 T D7 0E 00 00 R 00 00 01 00 T D7 0E 00 00 21 24 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 3E 00 +R 00 00 01 00 2B 0B 40 00 T DF 0E 00 00 21 00 00 00 00 CD 00 00 00 00 11 -R 00 00 01 00 02 05 3E 00 02 0A 07 00 +R 00 00 01 00 02 05 40 00 02 0A 03 00 T E6 0E 00 00 00 02 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 03 00 +R 00 00 01 00 2B 07 02 00 T EB 0E 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 03 00 02 09 07 00 +R 00 00 01 00 02 04 02 00 02 09 03 00 T F2 0E 00 00 F8 DD 74 F9 01 0A 00 09 46 23 66 R 00 00 01 00 T FD 0E 00 00 68 DD 75 FC DD 74 FD 01 00 00 11 R 00 00 01 00 T 08 0F 00 00 F4 01 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 47 00 +R 00 00 01 00 2B 07 48 00 T 0D 0F 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 47 00 02 09 07 00 +R 00 00 01 00 02 04 48 00 02 09 03 00 T 12 0F 00 00 R 00 00 01 00 T 12 0F 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 0D 00 +R 00 00 01 00 2B 0B 0B 00 T 1A 0F 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0D 00 02 0A 07 00 +R 00 00 01 00 02 05 0B 00 02 0A 03 00 T 21 0F 00 00 75 F6 DD 74 F7 7D A4 3C 28 31 R 00 00 01 00 T 2B 0F 00 00 R 00 00 01 00 T 2B 0F 00 00 01 00 00 11 64 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 47 00 +R 00 00 01 00 2B 0B 48 00 T 33 0F 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 47 00 02 0A 07 00 +R 00 00 01 00 02 05 48 00 02 0A 03 00 T 3A 0F 00 00 46 F6 DD 6E FC DD 66 FD 23 DD 75 R 00 00 01 00 T 45 0F 00 00 FC DD 74 FD 2B 70 21 0C 00 DD 4E @@ -1481,53 +1481,53 @@ R 00 00 01 00 T 5C 0F 00 00 R 00 00 01 00 T 5C 0F 00 00 01 00 00 11 00 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 47 00 +R 00 00 01 00 2B 0B 48 00 T 64 0F 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 47 00 02 0A 07 00 +R 00 00 01 00 02 05 48 00 02 0A 03 00 T 6B 0F 00 00 10 00 E5 21 12 00 39 E5 21 00 00 R 00 00 01 00 T 76 0F 00 00 E5 21 2A 00 39 4D 44 ED 5B R 00 00 01 00 T 7F 0F 00 00 04 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 04 00 2B 09 41 00 +R 00 00 01 00 00 04 04 00 2B 09 44 00 T 84 0F 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 41 00 02 09 07 00 +R 00 00 01 00 02 04 44 00 02 09 03 00 T 8B 0F 00 00 F1 R 00 00 01 00 T 8C 0F 00 00 R 00 00 01 00 T 8C 0F 00 00 21 24 00 39 5D 54 3E 00 00 00 00 -R 00 00 01 00 2B 0B 3E 00 +R 00 00 01 00 2B 0B 40 00 T 94 0F 00 00 21 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 05 3E 00 02 0A 07 00 +R 00 00 01 00 02 05 40 00 02 0A 03 00 T 9B 0F 00 00 26 0E 00 00 R 00 00 01 00 00 04 01 00 T 9D 0F 00 00 R 00 00 01 00 T 9D 0F 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 4D 00 +R 00 00 01 00 2B 0B 4E 00 T A5 0F 00 00 21 00 00 00 00 CD 00 00 00 00 ED -R 00 00 01 00 02 05 4D 00 02 0A 07 00 +R 00 00 01 00 02 05 4E 00 02 0A 03 00 T AC 0F 00 00 5B 04 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 05 04 00 2B 0A 32 00 +R 00 00 01 00 00 05 04 00 2B 0A 34 00 T B2 0F 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 32 00 02 09 07 00 +R 00 00 01 00 02 04 34 00 02 09 03 00 T B8 0F 00 00 FF FF 22 04 00 00 00 21 00 00 R 00 00 01 00 00 07 04 00 T C0 0F 00 00 R 00 00 01 00 T C0 0F 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 17 00 +R 00 00 01 00 02 05 19 00 T C3 0F 00 00 R 00 00 01 00 T C3 0F 00 00 CD 00 00 00 00 ED 5B 04 00 00 00 -R 00 00 01 00 02 05 30 00 00 0B 04 00 +R 00 00 01 00 02 05 33 00 00 0B 04 00 T CA 0F 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 32 00 02 0A 32 00 +R 00 00 01 00 2B 05 34 00 02 0A 34 00 T D0 0F 00 00 00 00 00 00 21 00 00 C3 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 03 00 T D6 0F 00 00 00 00 00 00 -R 00 00 01 00 02 04 17 00 +R 00 00 01 00 02 04 19 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 00 diff --git a/src/nos/lib/servers_lib/ttylink.rel b/src/nos/lib/servers_lib/ttylink.rel index 032c5ee6..c0d4c339 100644 --- a/src/nos/lib/servers_lib/ttylink.rel +++ b/src/nos/lib/servers_lib/ttylink.rel @@ -1,7 +1,6 @@ XL4 H 5 areas 28 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___03b5_2057_Too_20many_20sessio Ref00000000 S _sprintf Ref00000000 S _socket Ref00000000 S _logmsg Ref00000000 @@ -12,23 +11,24 @@ S _newsession Ref00000000 S _listen Ref00000000 S _tnrecv Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S ___0444_2057_Too_20many_20sessio Ref00000000 S __fprintf Ref00000000 -S ___053b_a412_open_20_25s Ref00000000 +S ___060d_a412_open_20_25s Ref00000000 S _sockowner Ref00000000 -S ___038c_0cac_System_20is_20overl Ref00000000 S _bind Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S _Sestypes Ref00000000 S _free Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 +S ___0411_0cac_System_20is_20overl Ref00000000 S _close_s Ref00000000 S _ksignal Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _chname Ref00000000 S _atoi Ref00000000 +S ___01c6_8157_007Incoming_20_25s_ Ref00000000 S _accept Ref00000000 -S ___019a_8157_007Incoming_20_25s_ Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _malloc Ref00000000 @@ -58,13 +58,13 @@ R 00 00 01 00 00 08 01 00 T 13 00 00 00 R 00 00 01 00 T 13 00 00 00 01 00 00 ED 5B 00 00 00 00 3E -R 00 00 01 00 02 09 11 00 +R 00 00 01 00 02 09 10 00 T 1B 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 17 00 02 09 17 00 T 20 00 00 00 00 00 00 00 01 00 00 00 00 ED 5B R 00 00 01 00 02 04 00 00 00 09 02 00 T 27 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 11 00 2B 09 19 00 +R 00 00 01 00 02 04 10 00 2B 09 19 00 T 2C 00 00 00 00 00 00 00 CD 00 00 00 00 AF DD R 00 00 01 00 02 04 19 00 02 09 00 00 T 33 00 00 00 77 EA DD 77 EB AF DD 77 EE DD 77 @@ -92,19 +92,19 @@ R 00 00 01 00 T 79 00 00 00 21 00 00 E5 01 00 00 11 00 00 3E R 00 00 01 00 T 84 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 03 00 02 09 03 00 +R 00 00 01 00 2B 04 02 00 02 09 02 00 T 89 00 00 00 00 00 00 00 F1 22 00 00 00 00 01 R 00 00 01 00 02 04 00 00 00 0A 03 00 T 90 00 00 00 10 00 C5 21 02 00 39 4D 44 ED 5B R 00 00 01 00 T 9B 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 10 00 +R 00 00 01 00 00 04 03 00 2B 09 0F 00 T A0 00 00 00 00 00 00 00 CD 00 00 00 00 F1 01 -R 00 00 01 00 02 04 10 00 02 09 00 00 +R 00 00 01 00 02 04 0F 00 02 09 00 00 T A7 00 00 00 01 00 ED 5B 00 00 00 00 3E R 00 00 01 00 00 08 03 00 T AE 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 +R 00 00 01 00 2B 04 08 00 02 09 08 00 T B3 00 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 T B5 00 00 00 @@ -112,9 +112,9 @@ R 00 00 01 00 T B5 00 00 00 21 00 00 E5 01 00 00 ED 5B R 00 00 01 00 T BE 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 1B 00 +R 00 00 01 00 00 04 03 00 2B 09 1C 00 T C3 00 00 00 00 00 00 00 CD 00 00 00 00 F1 DD -R 00 00 01 00 02 04 1B 00 02 09 00 00 +R 00 00 01 00 02 04 1C 00 02 09 00 00 T CA 00 00 00 75 FA DD 74 FB 7D A4 3C 20 03 R 00 00 01 00 T D4 00 00 00 @@ -130,13 +130,13 @@ R 00 00 01 00 2B 05 21 00 02 0A 21 00 T E6 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 3E R 00 00 01 00 02 04 00 00 T EF 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 +R 00 00 01 00 2B 04 05 00 02 09 05 00 T F4 00 00 00 00 00 00 00 7D B4 28 29 R 00 00 01 00 02 04 00 00 T FA 00 00 00 R 00 00 01 00 T FA 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0F 00 02 0B 0F 00 +R 00 00 01 00 2B 05 15 00 02 0B 15 00 T 00 01 00 00 E5 DD 6E FE DD 66 FF E5 3E R 00 00 01 00 T 09 01 00 00 00 00 00 00 21 00 00 00 00 CD @@ -174,7 +174,7 @@ R 00 00 01 00 T 63 01 00 00 R 00 00 01 00 T 63 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0A 00 T 66 01 00 00 R 00 00 01 00 T 66 01 00 00 CD 00 00 00 00 D6 FF DD 36 EA 10 @@ -184,7 +184,7 @@ R 00 00 01 00 T 7A 01 00 00 D6 DD 74 D7 DD 4E 0A DD 46 0B DD R 00 00 01 00 T 85 01 00 00 71 FB DD 70 FC ED 4B 00 00 00 00 -R 00 00 01 00 02 0B 11 00 +R 00 00 01 00 02 0B 10 00 T 8E 01 00 00 DD 7E FB DD B6 FC 28 0F 21 08 00 R 00 00 01 00 T 99 01 00 00 DD 5E FB DD 56 FC 19 5E 23 56 18 @@ -214,11 +214,11 @@ R 00 00 01 00 T D5 01 00 00 R 00 00 01 00 T D5 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 +R 00 00 01 00 2B 05 06 00 02 0A 06 00 T DB 01 00 00 00 00 00 00 F1 DD 6E D6 DD 66 D7 R 00 00 01 00 02 04 00 00 T E4 01 00 00 29 01 00 00 00 00 09 4E 23 46 C5 -R 00 00 01 00 02 06 13 00 +R 00 00 01 00 02 06 12 00 T ED 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 T F3 01 00 00 E5 DD 7E FB DD B6 FC 28 10 21 @@ -234,7 +234,7 @@ R 00 00 01 00 T 0F 02 00 00 R 00 00 01 00 T 0F 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 04 00 02 0B 04 00 +R 00 00 01 00 2B 06 03 00 02 0B 03 00 T 15 02 00 00 CD 00 00 00 00 E1 E1 E1 E1 11 R 00 00 01 00 02 05 00 00 T 1D 02 00 00 80 00 3E 00 00 00 00 21 @@ -250,13 +250,13 @@ R 00 00 01 00 02 04 00 00 00 0A 02 00 T 40 02 00 00 DD 6E FD DD 66 FE E5 3E R 00 00 01 00 T 48 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 +R 00 00 01 00 2B 04 01 00 02 09 01 00 T 4D 02 00 00 00 00 00 00 F1 F1 F1 21 01 00 E5 R 00 00 01 00 02 04 00 00 T 56 02 00 00 DD 4E D6 DD 46 D7 DD 5E FD DD 56 R 00 00 01 00 T 61 02 00 00 FE 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 08 00 02 0B 08 00 +R 00 00 01 00 2B 06 07 00 02 0B 07 00 T 67 02 00 00 CD 00 00 00 00 F1 DD 75 D8 DD 74 R 00 00 01 00 02 05 00 00 T 70 02 00 00 D9 7D B4 20 38 @@ -264,7 +264,7 @@ R 00 00 01 00 T 75 02 00 00 R 00 00 01 00 T 75 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 0B 00 02 0B 0B 00 T 7B 02 00 00 E5 DD 6E FB DD 66 FC E5 3E R 00 00 01 00 T 84 02 00 00 00 00 00 00 21 00 00 00 00 CD @@ -276,21 +276,21 @@ R 00 00 01 00 2B 07 22 00 T 97 02 00 00 00 00 00 00 CD 00 00 00 00 DD 5E R 00 00 01 00 02 04 22 00 02 09 00 00 T 9E 02 00 00 FD DD 56 FE 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 14 00 +R 00 00 01 00 2B 09 13 00 T A5 02 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 14 00 02 09 00 00 +R 00 00 01 00 02 04 13 00 02 09 00 00 T AB 02 00 00 76 03 00 00 R 00 00 01 00 00 04 01 00 T AD 02 00 00 R 00 00 01 00 T AD 02 00 00 DD 5E FD DD 56 FE 3E 00 00 00 00 -R 00 00 01 00 2B 0B 14 00 +R 00 00 01 00 2B 0B 13 00 T B5 02 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 14 00 02 0A 00 00 +R 00 00 01 00 02 05 13 00 02 0A 00 00 T BC 02 00 00 0F 00 E5 01 00 00 21 18 00 39 5D R 00 00 01 00 T C7 02 00 00 54 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 +R 00 00 01 00 2B 06 04 00 02 0B 04 00 T CD 02 00 00 CD 00 00 00 00 F1 DD 6E D8 DD 66 R 00 00 01 00 02 05 00 00 T D6 02 00 00 D9 DD 75 F8 DD 74 F9 21 05 00 DD @@ -302,7 +302,7 @@ R 00 00 01 00 T F7 02 00 00 5E FB DD 56 FC 73 23 72 21 07 00 R 00 00 01 00 T 02 03 00 00 09 ED 5B 00 00 00 00 73 23 72 21 -R 00 00 01 00 02 07 11 00 +R 00 00 01 00 02 07 10 00 T 0B 03 00 00 80 00 E5 21 02 00 E5 01 00 00 21 R 00 00 01 00 T 16 03 00 00 0D 00 DD 5E D8 DD 56 D9 19 5E 23 @@ -318,27 +318,27 @@ R 00 00 01 00 02 04 20 00 02 09 00 00 T 3C 03 00 00 6E D8 DD 66 D9 4E 23 46 C5 DD 6E R 00 00 01 00 T 47 03 00 00 D6 DD 66 D7 29 01 00 00 00 00 09 -R 00 00 01 00 02 0A 13 00 +R 00 00 01 00 02 0A 12 00 T 50 03 00 00 4E 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 1C 00 +R 00 00 01 00 2B 09 1B 00 T 58 03 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 1C 00 2B 0A 1D 00 +R 00 00 01 00 02 04 1B 00 2B 0A 1D 00 T 5E 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 R 00 00 01 00 02 04 1D 00 02 09 00 00 T 65 03 00 00 F1 F1 F1 21 16 00 39 5D 54 3E R 00 00 01 00 T 6F 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +R 00 00 01 00 2B 04 09 00 02 09 09 00 T 74 03 00 00 00 00 00 00 R 00 00 01 00 02 04 00 00 T 76 03 00 00 R 00 00 01 00 T 76 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0A 00 T 79 03 00 00 R 00 00 01 00 T 79 03 00 00 CD 00 00 00 00 ED 5B 00 00 00 00 -R 00 00 01 00 02 05 15 00 00 0B 03 00 +R 00 00 01 00 02 05 14 00 00 0B 03 00 T 80 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 16 00 02 0A 16 00 T 86 03 00 00 00 00 00 00 21 FF FF 22 @@ -346,7 +346,7 @@ R 00 00 01 00 02 04 00 00 T 8C 03 00 00 00 00 00 00 21 00 00 C3 R 00 00 01 00 00 04 03 00 T 92 03 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0A 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 54 54 59 6C 69 6E 6B 20 6C 69 73 diff --git a/src/nos/lib/z80.lib b/src/nos/lib/z80.lib index b6bb46cf..dcc3e995 100644 --- a/src/nos/lib/z80.lib +++ b/src/nos/lib/z80.lib @@ -53,13 +53,14 @@ z80_lib/diag.rel _diag_open _dputter _acrlf + _ahexb _diag_close _abyte _amess _ahexw _diag_write - ahexb acrlf + ahexb ahexn abyte amess @@ -115,6 +116,8 @@ z80_lib/escc_raw.rel _escc_raw z80_lib/escc_send.rel _escc_send +z80_lib/escc_write.rel + _escc_write z80_lib/escc_asytx.rel _escc_asytx z80_lib/escc_asyex.rel @@ -143,15 +146,14 @@ z80_lib/escc_txoff.rel _escc_txoff z80_lib/escctimer.rel _escctimer +z80_lib/get_rlsd_escc.rel + _get_rlsd_escc z80_lib/esccgen.rel _write_escc _rx8530 _read_escc z80_lib/esccvec.rel - _escc0_setup - _escc1_setup _esccnovec - _escc_rpb z80_lib/rand.rel _getrand _rtype diff --git a/src/nos/lib/z80_lib/asy_close.rel b/src/nos/lib/z80_lib/asy_close.rel index d88f15f4..372658e4 100644 --- a/src/nos/lib/z80_lib/asy_close.rel +++ b/src/nos/lib/z80_lib/asy_close.rel @@ -28,7 +28,7 @@ T 1C 00 00 00 R 00 00 01 00 T 1C 00 00 00 R 00 00 01 00 -T 1C 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 1C 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T 25 00 00 00 16 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -46,7 +46,7 @@ T 4B 00 00 00 20 13 R 00 00 01 00 T 4D 00 00 00 R 00 00 01 00 -T 4D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 4D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 04 00 T 56 00 00 00 16 23 36 00 21 FF FF C3 R 00 00 01 00 diff --git a/src/nos/lib/z80_lib/asy_open.rel b/src/nos/lib/z80_lib/asy_open.rel index a944924e..c9724f34 100644 --- a/src/nos/lib/z80_lib/asy_open.rel +++ b/src/nos/lib/z80_lib/asy_open.rel @@ -27,7 +27,7 @@ T 15 00 00 00 FA DD 74 FB 7D B4 20 13 R 00 00 01 00 T 1D 00 00 00 R 00 00 01 00 -T 1D 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 1D 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 05 00 T 26 00 00 00 13 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -55,7 +55,7 @@ T 6E 00 00 00 R 00 00 01 00 T 6E 00 00 00 R 00 00 01 00 -T 6E 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 6E 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 05 00 T 77 00 00 00 16 23 36 00 21 FF FF C3 R 00 00 01 00 diff --git a/src/nos/lib/z80_lib/asy_read.rel b/src/nos/lib/z80_lib/asy_read.rel index 5e33c570..b95d31c9 100644 --- a/src/nos/lib/z80_lib/asy_read.rel +++ b/src/nos/lib/z80_lib/asy_read.rel @@ -38,7 +38,7 @@ T 2A 00 00 00 R 00 00 01 00 T 2A 00 00 00 R 00 00 01 00 -T 2A 00 00 00 21 4D 00 ED 4B 00 00 00 00 09 36 +T 2A 00 00 00 21 4F 00 ED 4B 00 00 00 00 09 36 R 00 00 01 00 02 09 03 00 T 33 00 00 00 16 23 36 00 21 FF FF C3 R 00 00 01 00 @@ -98,7 +98,7 @@ T D8 00 00 00 FF 23 36 FF DD 5E F8 DD 56 F9 3E R 00 00 01 00 T E3 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 01 00 02 09 01 00 -T E8 00 00 00 00 00 00 00 21 4D 00 ED 4B +T E8 00 00 00 00 00 00 00 21 4F 00 ED 4B R 00 00 01 00 02 04 00 00 T EF 00 00 00 00 00 00 00 09 E5 DD 5E F6 DD 56 R 00 00 01 00 02 04 03 00 @@ -110,7 +110,7 @@ T 07 01 00 00 5A 00 DD 5E 02 DD 56 03 CD R 00 00 01 00 T 10 01 00 00 00 00 00 00 21 12 00 00 00 19 36 R 00 00 01 00 02 04 08 00 02 09 09 00 -T 17 01 00 00 00 23 36 01 21 4D 00 ED 4B +T 17 01 00 00 00 23 36 01 21 4F 00 ED 4B R 00 00 01 00 T 20 01 00 00 00 00 00 00 09 7E 23 B6 28 06 R 00 00 01 00 02 04 03 00 diff --git a/src/nos/lib/z80_lib/asy_stop.rel b/src/nos/lib/z80_lib/asy_stop.rel index e8fadc3a..ceddd048 100644 --- a/src/nos/lib/z80_lib/asy_stop.rel +++ b/src/nos/lib/z80_lib/asy_stop.rel @@ -53,7 +53,7 @@ T 5A 00 00 00 21 24 00 DD 4E 02 DD 46 03 09 56 R 00 00 01 00 T 65 00 00 00 23 66 6A DD 75 FC DD 74 FD 11 R 00 00 01 00 -T 6F 00 00 00 06 00 19 EB 3E 00 00 00 00 21 +T 6F 00 00 00 08 00 19 EB 3E 00 00 00 00 21 R 00 00 01 00 2B 09 02 00 T 76 00 00 00 00 00 00 00 CD 00 00 00 00 DD 5E R 00 00 01 00 02 04 02 00 02 09 00 00 diff --git a/src/nos/lib/z80_lib/diag.rel b/src/nos/lib/z80_lib/diag.rel index 647e37aa..bdafab53 100644 --- a/src/nos/lib/z80_lib/diag.rel +++ b/src/nos/lib/z80_lib/diag.rel @@ -1,23 +1,24 @@ XL4 -H 3 areas 14 global symbols +H 3 areas 15 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?BANK_FAST_LEAVE_L08 Ref00000000 S _Stkchk Ref00000000 S .__.ABS. Def00000000 S _chkstk Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 5C flags 0 -S _diag_open Def0000001B -S _dputter Def00000048 -S _acrlf Def0000000E -S _diag_close Def0000001B -S _abyte Def00000007 -S _amess Def00000014 +A CODE size 63 flags 0 +S _diag_open Def00000022 +S _dputter Def0000004F +S _acrlf Def00000015 +S _ahexb Def00000007 +S _diag_close Def00000022 +S _abyte Def0000000E +S _amess Def0000001B S _ahexw Def00000000 -S _diag_write Def00000021 +S _diag_write Def00000028 A RCODE size 67 flags 0 -S ahexb Def00000005 S acrlf Def0000004D +S ahexb Def00000005 S ahexn Def0000000E S abyte Def00000016 S amess Def00000056 @@ -29,53 +30,57 @@ T 00 00 00 00 EB CD 00 00 00 00 C3 00 00 00 00 R 00 00 01 00 00 06 02 00 02 0B 01 00 T 07 00 00 00 R 00 00 01 00 -T 07 00 00 00 7B CD 16 00 00 00 C3 00 00 00 00 +T 07 00 00 00 7B CD 05 00 00 00 C3 00 00 00 00 R 00 00 01 00 00 06 02 00 02 0B 01 00 T 0E 00 00 00 R 00 00 01 00 -T 0E 00 00 00 CD 4D 00 00 00 C3 00 00 00 00 +T 0E 00 00 00 7B CD 16 00 00 00 C3 00 00 00 00 +R 00 00 01 00 00 06 02 00 02 0B 01 00 +T 15 00 00 00 +R 00 00 01 00 +T 15 00 00 00 CD 4D 00 00 00 C3 00 00 00 00 R 00 00 01 00 00 05 02 00 02 0A 01 00 -T 14 00 00 00 +T 1B 00 00 00 R 00 00 01 00 -T 14 00 00 00 EB CD 5E 00 00 00 C3 00 00 00 00 +T 1B 00 00 00 EB CD 5E 00 00 00 C3 00 00 00 00 R 00 00 01 00 00 06 02 00 02 0B 01 00 -T 1B 00 00 00 +T 22 00 00 00 R 00 00 01 00 -T 1B 00 00 00 +T 22 00 00 00 R 00 00 01 00 -T 1B 00 00 00 21 00 00 C3 00 00 00 00 +T 22 00 00 00 21 00 00 C3 00 00 00 00 R 00 00 01 00 02 08 01 00 -T 21 00 00 00 +T 28 00 00 00 R 00 00 01 00 -T 21 00 00 00 21 04 00 39 5E 23 56 18 06 +T 28 00 00 00 21 04 00 39 5E 23 56 18 06 R 00 00 01 00 -T 2A 00 00 00 +T 31 00 00 00 R 00 00 01 00 -T 2A 00 00 00 0A 03 CD 16 00 00 00 1B +T 31 00 00 00 0A 03 CD 16 00 00 00 1B R 00 00 01 00 00 07 02 00 -T 30 00 00 00 +T 37 00 00 00 R 00 00 01 00 -T 30 00 00 00 7B B2 20 F6 C3 00 00 00 00 +T 37 00 00 00 7B B2 20 F6 C3 00 00 00 00 R 00 00 01 00 02 09 01 00 -T 37 00 00 00 +T 3E 00 00 00 R 00 00 01 00 -T 37 00 00 00 1A FE 0A 20 07 3E 0D CD +T 3E 00 00 00 1A FE 0A 20 07 3E 0D CD R 00 00 01 00 -T 3F 00 00 00 16 00 00 00 3E 0A +T 46 00 00 00 16 00 00 00 3E 0A R 00 00 01 00 00 04 02 00 -T 43 00 00 00 +T 4A 00 00 00 R 00 00 01 00 -T 43 00 00 00 CD 16 00 00 00 13 0B +T 4A 00 00 00 CD 16 00 00 00 13 0B R 00 00 01 00 00 05 02 00 -T 48 00 00 00 +T 4F 00 00 00 R 00 00 01 00 -T 48 00 00 00 2A 00 00 00 00 7D B4 21 +T 4F 00 00 00 2A 00 00 00 00 7D B4 21 R 00 00 01 00 02 05 02 00 -T 4E 00 00 00 00 00 00 00 3E 00 00 00 00 C4 +T 55 00 00 00 00 00 00 00 3E 00 00 00 00 C4 R 00 00 01 00 02 04 04 00 2B 09 04 00 -T 53 00 00 00 00 00 00 00 79 B0 20 DE C3 +T 5A 00 00 00 00 00 00 00 79 B0 20 DE C3 R 00 00 01 00 02 04 00 00 -T 5A 00 00 00 00 00 00 00 +T 61 00 00 00 00 00 00 00 R 00 00 01 00 02 04 01 00 T 00 00 00 00 R 00 00 02 00 diff --git a/src/nos/lib/z80_lib/dirutil.rel b/src/nos/lib/z80_lib/dirutil.rel index ac341006..8f396a90 100644 --- a/src/nos/lib/z80_lib/dirutil.rel +++ b/src/nos/lib/z80_lib/dirutil.rel @@ -1,12 +1,12 @@ XL4 H 4 areas 2E global symbols S ?US_RSH_L02 Ref00000000 -S ___0201_79e8_Can_27t_20change_20 Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 +S ___0154_7643__25s_0a Ref00000000 S _sprintf Ref00000000 -S ___0139_7643__25s_0a Ref00000000 -S ___0022_a0dd__0a Ref00000000 +S ___0233_79e8_Can_27t_20change_20 Ref00000000 S _chdir Ref00000000 +S ___0023_a0dd__0a Ref00000000 S _fseek Ref00000000 S _strcat Ref00000000 S __fputs Ref00000000 @@ -36,7 +36,7 @@ S _fputs Ref00000000 S __printf Ref00000000 S ?US_MOD_L02 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0147_f768__25s_20file_25s_2e_ Ref00000000 +S ___0170_f768__25s_20file_25s_2e_ Ref00000000 S _stat Ref00000000 S _getcwd Ref00000000 A _DEFAULT size 0 flags 0 @@ -57,7 +57,7 @@ R 00 00 01 00 02 05 1B 00 T 06 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 1E 00 02 09 1E 00 T 0B 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 14 00 00 00 B4 28 4B R 00 00 01 00 T 17 00 00 00 @@ -69,13 +69,13 @@ R 00 00 01 00 T 2B 00 00 00 8F 02 00 00 21 8F 02 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T 30 00 00 00 00 00 00 00 F1 21 00 00 E5 21 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 38 00 00 00 00 00 E5 21 00 00 E5 DD 5E FE DD R 00 00 01 00 T 43 00 00 00 56 FF 3E 00 00 00 00 21 R 00 00 01 00 2B 07 07 00 T 48 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 07 00 02 09 02 00 +R 00 00 01 00 02 04 07 00 02 09 01 00 T 4F 00 00 00 F1 21 10 00 DD 4E FE DD 46 FF 09 R 00 00 01 00 T 5A 00 00 00 CB 86 21 10 00 09 CB 8E @@ -95,7 +95,7 @@ R 00 00 01 00 T 7A 00 00 00 DD 5E 04 DD 56 05 3E 00 00 00 00 R 00 00 01 00 2B 0B 1F 00 T 82 00 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 1F 00 02 0A 02 00 +R 00 00 01 00 02 05 1F 00 02 0A 01 00 T 89 00 00 00 DD 6E 08 DD 66 09 C1 71 23 70 DD R 00 00 01 00 T 94 00 00 00 6E 08 DD 66 09 7E 23 B6 20 09 @@ -115,7 +115,7 @@ R 00 00 01 00 T BA 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 14 00 02 09 14 00 T BF 00 00 00 00 00 00 00 4D 44 E1 71 23 70 DD -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T C8 00 00 00 6E 08 DD 66 09 23 23 7E 23 B6 28 R 00 00 01 00 T D3 00 00 00 04 0E 01 18 02 @@ -143,13 +143,13 @@ R 00 00 01 00 T 09 01 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 1A 00 02 09 1A 00 T 0E 01 00 00 00 00 00 00 DD 7E 02 DD B6 03 28 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 17 01 00 00 56 01 2A 00 DD 5E 04 DD 56 05 3E R 00 00 01 00 T 22 01 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0C 00 02 09 0C 00 T 27 01 00 00 00 00 00 00 7D B4 20 41 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 2D 01 00 00 R 00 00 01 00 T 2D 01 00 00 @@ -161,17 +161,17 @@ R 00 00 01 00 T 38 01 00 00 54 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 1A 00 02 0B 1A 00 T 3E 01 00 00 CD 00 00 00 00 01 00 00 00 00 21 -R 00 00 01 00 02 05 02 00 00 0A 02 00 +R 00 00 01 00 02 05 01 00 00 0A 02 00 T 45 01 00 00 20 00 39 5D 54 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 08 00 T 4D 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 08 00 02 09 02 00 +R 00 00 01 00 02 04 08 00 02 09 01 00 T 53 01 00 00 04 00 DD 4E 08 DD 46 09 09 4D 44 R 00 00 01 00 T 5E 01 00 00 21 20 00 39 5D 54 3E 00 00 00 00 R 00 00 01 00 2B 0B 08 00 T 66 01 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 08 00 02 0A 02 00 +R 00 00 01 00 02 05 08 00 02 0A 01 00 T 6D 01 00 00 1A R 00 00 01 00 T 6E 01 00 00 @@ -183,7 +183,7 @@ R 00 00 01 00 T 81 01 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 1A 00 02 09 1A 00 T 86 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 88 01 00 00 R 00 00 01 00 T 88 01 00 00 21 02 00 39 4D 44 21 20 00 39 5D @@ -191,7 +191,7 @@ R 00 00 01 00 T 93 01 00 00 54 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 25 00 02 0B 25 00 T 99 01 00 00 CD 00 00 00 00 CB 7C 28 05 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T A0 01 00 00 R 00 00 01 00 T A0 01 00 00 21 00 00 18 64 @@ -235,7 +235,7 @@ R 00 00 01 00 T 15 02 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 R 00 00 01 00 2B 0B 1F 00 T 1D 02 00 00 21 00 00 00 00 CD 00 00 00 00 22 -R 00 00 01 00 02 05 1F 00 02 0A 02 00 +R 00 00 01 00 02 05 1F 00 02 0A 01 00 T 24 02 00 00 00 00 00 00 2A 00 00 00 00 7D B4 R 00 00 01 00 00 04 03 00 00 09 03 00 T 2B 02 00 00 20 09 @@ -251,7 +251,7 @@ R 00 00 01 00 T 36 02 00 00 ED 5B 00 00 00 00 3E 00 00 00 00 R 00 00 01 00 00 06 03 00 2B 0B 14 00 T 3C 02 00 00 21 00 00 00 00 CD 00 00 00 00 22 -R 00 00 01 00 02 05 14 00 02 0A 02 00 +R 00 00 01 00 02 05 14 00 02 0A 01 00 T 43 02 00 00 02 00 00 00 2A 02 00 00 00 7D B4 R 00 00 01 00 00 04 03 00 00 09 03 00 T 4A 02 00 00 28 04 0E 01 18 02 @@ -279,7 +279,7 @@ R 00 00 01 00 00 05 03 00 T 77 02 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 R 00 00 01 00 2B 0B 1A 00 T 7F 02 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 1A 00 02 0A 02 00 +R 00 00 01 00 02 05 1A 00 02 0A 01 00 T 85 02 00 00 R 00 00 01 00 T 85 02 00 00 DD 6E FE DD 66 FF 2B C3 @@ -325,7 +325,7 @@ R 00 00 01 00 T E5 02 00 00 11 1E 00 3E 00 00 00 00 21 R 00 00 01 00 2B 08 1C 00 T EB 02 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 1C 00 02 09 02 00 +R 00 00 01 00 02 04 1C 00 02 09 01 00 T F2 02 00 00 FC DD 74 FD EB 13 13 21 00 00 39 R 00 00 01 00 T FD 02 00 00 01 1C 00 ED B0 DD 7E F8 DD B6 F9 @@ -435,7 +435,7 @@ R 00 00 01 00 T 2B 04 00 00 DD 5E D8 DD 56 D9 3E 00 00 00 00 R 00 00 01 00 2B 0B 0B 00 T 33 04 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 0B 00 02 0A 02 00 +R 00 00 01 00 02 05 0B 00 02 0A 01 00 T 3A 04 00 00 00 00 C3 00 00 00 00 R 00 00 01 00 02 07 0A 00 T 3F 04 00 00 @@ -505,17 +505,17 @@ R 00 00 01 00 T C0 04 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 T CB 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 +R 00 00 01 00 2B 05 05 00 02 0A 05 00 T D1 04 00 00 00 00 00 00 7D A4 3C 20 16 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T D8 04 00 00 R 00 00 01 00 T D8 04 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 T DE 04 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 21 00 02 0B 21 00 T E4 04 00 00 CD 00 00 00 00 F1 F1 21 01 00 18 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T ED 04 00 00 38 R 00 00 01 00 T EE 04 00 00 @@ -527,17 +527,17 @@ R 00 00 01 00 T F8 04 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 26 00 02 09 26 00 T FD 04 00 00 00 00 00 00 7D B4 28 20 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 03 05 00 00 R 00 00 01 00 T 03 05 00 00 21 00 00 39 5D 54 CD AC 0A 00 00 R 00 00 01 00 00 0B 01 00 T 0C 05 00 00 21 00 00 39 E5 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 04 00 +R 00 00 01 00 2B 0A 02 00 T 14 05 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 04 00 2B 0B 21 00 +R 00 00 01 00 02 05 02 00 2B 0B 21 00 T 1A 05 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 21 00 02 0A 02 00 +R 00 00 01 00 02 05 21 00 02 0A 01 00 T 21 05 00 00 F1 F1 R 00 00 01 00 T 23 05 00 00 @@ -577,7 +577,7 @@ R 00 00 01 00 T 6F 05 00 00 FF 3E 8F 02 00 00 21 8F 02 00 00 R 00 00 01 00 29 06 01 00 00 0B 01 00 T 75 05 00 00 CD 00 00 00 00 F1 21 00 00 C3 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 7D 05 00 00 00 00 00 00 R 00 00 01 00 02 04 0A 00 T 7F 05 00 00 @@ -589,13 +589,13 @@ R 00 00 01 00 T 91 05 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 96 05 00 00 00 00 00 00 7D A4 3C 20 0B -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 9D 05 00 00 R 00 00 01 00 T 9D 05 00 00 11 06 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 00 05 02 00 2B 0A 13 00 T A3 05 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 13 00 02 09 02 00 +R 00 00 01 00 02 04 13 00 02 09 01 00 T A8 05 00 00 R 00 00 01 00 T A8 05 00 00 21 00 00 C3 00 00 00 00 @@ -607,13 +607,13 @@ R 00 00 01 00 02 05 19 00 T B7 05 00 00 57 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 15 00 02 0B 15 00 T BD 05 00 00 CD 00 00 00 00 7D A4 3C 20 0B -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T C5 05 00 00 R 00 00 01 00 T C5 05 00 00 11 12 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 00 05 02 00 2B 0A 13 00 T CB 05 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 13 00 02 09 02 00 +R 00 00 01 00 02 04 13 00 02 09 01 00 T D0 05 00 00 R 00 00 01 00 T D0 05 00 00 21 00 00 C3 00 00 00 00 @@ -625,13 +625,13 @@ R 00 00 01 00 02 05 1B 00 T DF 05 00 00 56 03 3E 00 00 00 00 21 R 00 00 01 00 2B 07 0E 00 T E4 05 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 0E 00 02 09 02 00 +R 00 00 01 00 02 04 0E 00 02 09 01 00 T EB 05 00 00 FE DD 74 FF DD 5E 02 DD 56 03 3E R 00 00 01 00 T F6 05 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 10 00 02 09 10 00 T FB 05 00 00 00 00 00 00 DD 75 F8 DD 74 F9 DD -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 04 06 00 00 75 FA DD 74 FB 21 FF FF DD 4E FE R 00 00 01 00 T 0F 06 00 00 DD 46 FF 09 EB 01 03 00 CD @@ -677,7 +677,7 @@ R 00 00 01 00 T 7E 06 00 00 DD 5E FA DD 56 FB 3E 00 00 00 00 R 00 00 01 00 2B 0B 18 00 T 86 06 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 18 00 02 0A 02 00 +R 00 00 01 00 02 05 18 00 02 0A 01 00 T 8D 06 00 00 6E 02 DD 66 03 36 00 C3 R 00 00 01 00 T 95 06 00 00 00 00 00 00 @@ -693,13 +693,13 @@ R 00 00 01 00 00 08 02 00 T B4 06 00 00 DD 56 03 3E 00 00 00 00 21 R 00 00 01 00 2B 08 11 00 T BA 06 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 11 00 02 09 02 00 +R 00 00 01 00 02 04 11 00 02 09 01 00 T C1 06 00 00 28 15 01 00 00 00 00 DD 5E 02 DD R 00 00 01 00 00 07 02 00 T CA 06 00 00 56 03 3E 00 00 00 00 21 R 00 00 01 00 2B 07 11 00 T CF 06 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 11 00 02 09 02 00 +R 00 00 01 00 02 04 11 00 02 09 01 00 T D6 06 00 00 20 08 R 00 00 01 00 T D8 06 00 00 @@ -735,11 +735,11 @@ R 00 00 01 00 T 1A 07 00 00 DD 5E E4 DD 56 E5 3E 00 00 00 00 R 00 00 01 00 2B 0B 0B 00 T 22 07 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0B 00 02 0A 02 00 +R 00 00 01 00 02 05 0B 00 02 0A 01 00 T 29 07 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 0E 00 T 31 07 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 04 0E 00 02 09 02 00 +R 00 00 01 00 02 04 0E 00 02 09 01 00 T 37 07 00 00 04 00 09 4D 44 21 3F 00 A7 ED 42 R 00 00 01 00 T 42 07 00 00 30 08 @@ -755,11 +755,11 @@ R 00 00 01 00 00 0B 03 00 T 55 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 1A 00 02 0A 1A 00 T 5B 07 00 00 00 00 00 00 01 02 00 00 00 11 -R 00 00 01 00 02 04 02 00 00 09 02 00 +R 00 00 01 00 02 04 01 00 00 09 02 00 T 61 07 00 00 1C 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 00 04 03 00 2B 09 08 00 T 66 07 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 08 00 02 09 02 00 +R 00 00 01 00 02 04 08 00 02 09 01 00 T 6C 07 00 00 1C 00 00 00 18 14 R 00 00 01 00 00 04 03 00 T 70 07 00 00 @@ -767,7 +767,7 @@ R 00 00 01 00 T 70 07 00 00 DD 5E E4 DD 56 E5 3E 00 00 00 00 R 00 00 01 00 2B 0B 0B 00 T 78 07 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 0B 00 02 0A 02 00 +R 00 00 01 00 02 05 0B 00 02 0A 01 00 T 7F 07 00 00 6E 02 DD 66 03 R 00 00 01 00 T 84 07 00 00 @@ -783,7 +783,7 @@ R 00 00 01 00 T 99 07 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 1A 00 02 09 1A 00 T 9E 07 00 00 00 00 00 00 21 12 00 DD 4E 04 DD -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T A7 07 00 00 46 05 09 7E E6 00 47 23 7E E6 40 R 00 00 01 00 T B2 07 00 00 B0 28 11 @@ -795,7 +795,7 @@ R 00 00 01 00 00 05 02 00 T BE 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 08 00 02 0A 08 00 T C4 07 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T C6 07 00 00 R 00 00 01 00 T C6 07 00 00 DD 7E 08 DD B6 09 CA 3B 09 00 00 @@ -807,7 +807,7 @@ R 00 00 01 00 00 0A 02 00 T D8 07 00 00 21 04 00 39 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 03 00 T E0 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 03 00 02 09 02 00 +R 00 00 01 00 02 04 03 00 02 09 01 00 T E7 07 00 00 F1 21 12 00 DD 4E 04 DD 46 05 09 R 00 00 01 00 T F2 07 00 00 7E E6 00 47 23 7E E6 40 B0 28 13 @@ -819,7 +819,7 @@ R 00 00 01 00 00 05 02 00 T 06 08 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 08 00 02 0A 08 00 T 0C 08 00 00 00 00 00 00 18 5D -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 10 08 00 00 R 00 00 01 00 T 10 08 00 00 21 18 00 DD 4E 04 DD 46 05 09 4E @@ -831,7 +831,7 @@ R 00 00 01 00 00 04 02 00 T 2D 08 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 03 00 02 09 03 00 T 32 08 00 00 00 00 00 00 F1 F1 F1 F1 21 32 00 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 3B 08 00 00 39 5D 54 CD D6 05 00 00 21 32 00 R 00 00 01 00 00 08 01 00 T 44 08 00 00 39 E5 21 36 00 00 00 E5 21 04 00 @@ -839,13 +839,13 @@ R 00 00 01 00 00 07 02 00 T 4D 08 00 00 39 5D 54 3E 00 00 00 00 21 R 00 00 01 00 2B 08 0E 00 T 53 08 00 00 00 00 00 00 CD 00 00 00 00 E5 21 -R 00 00 01 00 02 04 0E 00 02 09 02 00 +R 00 00 01 00 02 04 0E 00 02 09 01 00 T 5A 08 00 00 06 00 39 4D 44 E1 09 E5 3E R 00 00 01 00 T 63 08 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 03 00 02 09 03 00 T 68 08 00 00 00 00 00 00 F1 F1 F1 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 6D 08 00 00 R 00 00 01 00 T 6D 08 00 00 DD 7E 0A E6 01 28 05 21 @@ -889,17 +889,17 @@ R 00 00 01 00 00 04 02 00 T 04 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T 0A 09 00 00 00 00 00 00 E5 21 10 00 39 4D 44 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 13 09 00 00 E1 09 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 08 03 00 T 19 09 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 03 00 02 09 02 00 +R 00 00 01 00 02 04 03 00 02 09 01 00 T 20 09 00 00 10 00 39 F9 EB DD 4E 02 DD 46 03 R 00 00 01 00 T 2B 09 00 00 21 00 00 39 5D 54 3E 00 00 00 00 R 00 00 01 00 2B 0B 20 00 T 33 09 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 20 00 02 0A 02 00 +R 00 00 01 00 02 05 20 00 02 0A 01 00 T 3A 09 00 00 29 R 00 00 01 00 T 3B 09 00 00 @@ -909,13 +909,13 @@ R 00 00 01 00 T 46 09 00 00 54 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 20 00 02 0B 20 00 T 4C 09 00 00 CD 00 00 00 00 DD 6E 02 DD 66 03 -R 00 00 01 00 02 05 02 00 +R 00 00 01 00 02 05 01 00 T 55 09 00 00 E5 0E 00 00 00 00 11 00 00 00 00 -R 00 00 01 00 2B 06 05 00 02 0B 05 00 +R 00 00 01 00 2B 06 06 00 02 0B 06 00 T 5B 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 09 00 02 0A 09 00 T 61 09 00 00 00 00 00 00 F1 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 64 09 00 00 R 00 00 01 00 T 64 09 00 00 C3 00 00 00 00 @@ -931,11 +931,11 @@ R 00 00 01 00 T 71 09 00 00 DD 6E 02 DD 66 03 E5 0E R 00 00 01 00 T 79 09 00 00 00 00 00 00 11 00 00 00 00 3E -R 00 00 01 00 2B 04 05 00 02 09 05 00 +R 00 00 01 00 2B 04 06 00 02 09 06 00 T 7E 09 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 09 00 02 09 09 00 T 83 09 00 00 00 00 00 00 F1 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 86 09 00 00 R 00 00 01 00 T 86 09 00 00 AF DD 77 CA DD 77 CB DD 77 CC DD @@ -951,7 +951,7 @@ R 00 00 01 00 00 04 02 00 T B8 09 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 03 00 02 09 03 00 T BD 09 00 00 00 00 00 00 F1 F1 F1 F1 21 08 00 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T C6 09 00 00 39 5D 54 CD D6 05 00 00 DD 6E D0 R 00 00 01 00 00 08 01 00 T CF 09 00 00 DD 66 D1 E5 DD 6E CE DD 66 CF E5 @@ -961,7 +961,7 @@ R 00 00 01 00 00 05 02 00 T E3 09 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 03 00 02 0A 03 00 T E9 09 00 00 00 00 00 00 F1 F1 F1 F1 21 13 00 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T F2 09 00 00 39 5D 54 CD D6 05 00 00 DD 7E 04 R 00 00 01 00 00 08 01 00 T FB 09 00 00 DD B6 05 28 1D @@ -975,7 +975,7 @@ R 00 00 01 00 00 04 02 00 T 11 0A 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 03 00 02 09 03 00 T 16 0A 00 00 00 00 00 00 F1 F1 F1 18 11 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 1D 0A 00 00 R 00 00 01 00 T 1D 0A 00 00 01 5E 00 00 00 21 1E 00 39 5D 54 @@ -983,7 +983,7 @@ R 00 00 01 00 00 05 02 00 T 26 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 1A 00 02 0A 1A 00 T 2C 0A 00 00 00 00 00 00 -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T 2E 0A 00 00 R 00 00 01 00 T 2E 0A 00 00 21 13 00 39 E5 21 0A 00 39 E5 3E @@ -1005,7 +1005,7 @@ R 00 00 01 00 02 06 24 00 T 5B 0A 00 00 66 03 E5 3E 00 00 00 00 21 R 00 00 01 00 2B 08 0F 00 T 61 0A 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 0F 00 02 09 02 00 +R 00 00 01 00 02 04 0F 00 02 09 01 00 T 68 0A 00 00 0E 00 39 F9 EB C3 00 00 00 00 R 00 00 01 00 02 0A 12 00 T 70 0A 00 00 @@ -1027,7 +1027,7 @@ R 00 00 01 00 T 93 0A 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 18 00 02 0A 18 00 T 99 0A 00 00 00 00 00 00 DD 6E FE DD 66 FF DD -R 00 00 01 00 02 04 02 00 +R 00 00 01 00 02 04 01 00 T A2 0A 00 00 75 02 DD 74 03 18 CC R 00 00 01 00 T A9 0A 00 00 diff --git a/src/nos/lib/z80_lib/doasystat.rel b/src/nos/lib/z80_lib/doasystat.rel index 641bda1a..0d4a77fd 100644 --- a/src/nos/lib/z80_lib/doasystat.rel +++ b/src/nos/lib/z80_lib/doasystat.rel @@ -2,15 +2,15 @@ XL4 H 2 areas D global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _if_lookup Ref00000000 -S ___02a8_c749_Interface_20_25s_20 Ref00000000 +S ___0302_6e91_Interface_20_25s_20 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _Asy Ref00000000 S ?SS_CMP_L02 Ref00000000 S __printf Ref00000000 -S ___02ab_6e91_Interface_20_25s_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___02fe_c749_Interface_20_25s_20 Ref00000000 S _pasy Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 14A flags 0 @@ -86,7 +86,7 @@ R 00 00 01 00 T A2 00 00 00 46 05 09 4E 23 46 C5 0E R 00 00 01 00 T AA 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 09 00 02 0A 09 00 +R 00 00 01 00 2B 04 02 00 02 0A 02 00 T B0 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 08 00 02 0A 08 00 T B6 00 00 00 00 00 00 00 F1 F1 F1 18 7C @@ -140,7 +140,7 @@ R 00 00 01 00 T 20 01 00 00 46 05 09 4E 23 46 C5 0E R 00 00 01 00 T 28 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 02 00 02 0A 02 00 +R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 T 2E 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 08 00 02 0A 08 00 T 34 01 00 00 00 00 00 00 F1 F1 F1 diff --git a/src/nos/lib/z80_lib/doesccstat.rel b/src/nos/lib/z80_lib/doesccstat.rel index e4ecb8b1..a14bae16 100644 --- a/src/nos/lib/z80_lib/doesccstat.rel +++ b/src/nos/lib/z80_lib/doesccstat.rel @@ -1,44 +1,48 @@ XL4 -H 2 areas F global symbols -S ___0119_e9b8__252d_20_25_2d6s_20 Ref00000000 +H 3 areas 12 global symbols +S ___0134_b620__252d_20_25_2d6s_20 Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___0269_d89e_ESCC_20driver_20not Ref00000000 -S ___021b_5055_Ch_20Iface_20_20_20 Ref00000000 +S ___0133_374a__252d_20_25_2d6s_20 Ref00000000 +S ___0023_a0dd__0a Ref00000000 +S ___024d_5055_Ch_20Iface_20_20_20 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Esccchan Ref00000000 S .__.ABS. Def00000000 S _Esccinfo Ref00000000 -S ___011a_b620__252d_20_25_2d6s_20 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ___02a8_d89e_ESCC_20driver_20not Ref00000000 S ?SS_CMP_L02 Ref00000000 +S ___024e_95d8_Ch_20Iface_20_20CTS Ref00000000 S __printf Ref00000000 S _escc_asyrx Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S ___0132_e9b8__252d_20_25_2d6s_20 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 1FF flags 0 +A CODE size 305 flags 0 S _doesccstat Def00000000 +A CSTR size B flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF 2A R 00 00 01 00 02 05 09 00 T 06 00 00 00 00 00 00 00 7D B4 20 17 -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 08 00 T 0C 00 00 00 R 00 00 01 00 T 0C 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 02 00 02 0B 02 00 +R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 T 12 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 +R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 T 18 00 00 00 CD 00 00 00 00 F1 F1 21 00 00 C3 R 00 00 01 00 02 05 01 00 -T 21 00 00 00 FC 01 00 00 +T 21 00 00 00 02 03 00 00 R 00 00 01 00 00 04 01 00 T 23 00 00 00 R 00 00 01 00 T 23 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 03 00 02 0B 03 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 T 29 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 +R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 T 2F 00 00 00 CD 00 00 00 00 F1 F1 AF DD 77 FE R 00 00 01 00 02 05 01 00 T 38 00 00 00 DD 77 FF @@ -46,15 +50,15 @@ R 00 00 01 00 T 3B 00 00 00 R 00 00 01 00 T 3B 00 00 00 2A 04 00 00 00 DD 4E FE DD 46 FF -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 08 00 T 44 00 00 00 CD 00 00 00 00 DA F9 01 00 00 -R 00 00 01 00 02 05 0A 00 00 0A 01 00 +R 00 00 01 00 02 05 0B 00 00 0A 01 00 T 4A 00 00 00 R 00 00 01 00 T 4A 00 00 00 DD 6E FE DD 66 FF 29 01 R 00 00 01 00 T 52 00 00 00 00 00 00 00 09 46 23 66 68 DD 75 -R 00 00 01 00 02 04 05 00 +R 00 00 01 00 02 04 06 00 T 5B 00 00 00 FC DD 74 FD 7D B4 20 03 R 00 00 01 00 T 63 00 00 00 @@ -66,74 +70,74 @@ R 00 00 01 00 T 66 00 00 00 21 08 00 DD 4E FC DD 46 FD 09 4E R 00 00 01 00 T 71 00 00 00 23 46 23 7E 69 60 0E 00 00 00 00 -R 00 00 01 00 2B 0B 0C 00 +R 00 00 01 00 2B 0B 0E 00 T 79 00 00 00 11 00 00 00 00 B9 C2 28 01 00 00 -R 00 00 01 00 02 05 0C 00 00 0B 01 00 +R 00 00 01 00 02 05 0E 00 00 0B 01 00 T 80 00 00 00 ED 52 C2 28 01 00 00 R 00 00 01 00 00 07 01 00 T 85 00 00 00 R 00 00 01 00 -T 85 00 00 00 21 67 00 DD 4E FC DD 46 FD 09 5E +T 85 00 00 00 21 69 00 DD 4E FC DD 46 FD 09 5E R 00 00 01 00 -T 90 00 00 00 23 56 23 4E 23 46 C5 D5 21 63 00 +T 90 00 00 00 23 56 23 4E 23 46 C5 D5 21 65 00 R 00 00 01 00 T 9B 00 00 00 DD 4E FC DD 46 FD 09 5E 23 56 23 R 00 00 01 00 -T A6 00 00 00 4E 23 46 C5 D5 21 5F 00 DD 4E FC +T A6 00 00 00 4E 23 46 C5 D5 21 61 00 DD 4E FC R 00 00 01 00 T B1 00 00 00 DD 46 FD 09 5E 23 56 23 4E 23 46 R 00 00 01 00 -T BC 00 00 00 C5 D5 21 5B 00 DD 4E FC DD 46 FD +T BC 00 00 00 C5 D5 21 5D 00 DD 4E FC DD 46 FD R 00 00 01 00 T C7 00 00 00 09 5E 23 56 23 4E 23 46 C5 D5 21 R 00 00 01 00 -T D2 00 00 00 79 00 DD 4E FC DD 46 FD 09 5E 23 +T D2 00 00 00 7F 00 DD 4E FC DD 46 FD 09 5E 23 R 00 00 01 00 -T DD 00 00 00 56 D5 21 77 00 09 5E 23 56 D5 21 +T DD 00 00 00 56 D5 21 7D 00 09 5E 23 56 D5 21 R 00 00 01 00 -T E8 00 00 00 73 00 09 5E 23 56 23 4E 23 46 C5 +T E8 00 00 00 79 00 09 5E 23 56 23 4E 23 46 C5 R 00 00 01 00 T F3 00 00 00 D5 21 4B 00 DD 4E FC DD 46 FD 09 R 00 00 01 00 T FE 00 00 00 46 23 66 68 23 23 4E 23 46 C5 DD R 00 00 01 00 T 09 01 00 00 6E FE DD 66 FF E5 0E 00 00 00 00 -R 00 00 01 00 2B 0B 00 00 +R 00 00 01 00 2B 0B 10 00 T 11 01 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 00 00 +R 00 00 01 00 02 06 10 00 T 17 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 T 1C 01 00 00 00 00 00 00 EB 21 20 00 39 F9 EB R 00 00 01 00 02 04 01 00 T 25 01 00 00 C3 EE 01 00 00 R 00 00 01 00 00 05 01 00 T 28 01 00 00 R 00 00 01 00 -T 28 01 00 00 21 67 00 DD 4E FC DD 46 FD 09 5E +T 28 01 00 00 21 69 00 DD 4E FC DD 46 FD 09 5E R 00 00 01 00 -T 33 01 00 00 23 56 23 4E 23 46 C5 D5 21 63 00 +T 33 01 00 00 23 56 23 4E 23 46 C5 D5 21 65 00 R 00 00 01 00 T 3E 01 00 00 DD 4E FC DD 46 FD 09 5E 23 56 23 R 00 00 01 00 -T 49 01 00 00 4E 23 46 C5 D5 21 5F 00 DD 4E FC +T 49 01 00 00 4E 23 46 C5 D5 21 61 00 DD 4E FC R 00 00 01 00 T 54 01 00 00 DD 46 FD 09 5E 23 56 23 4E 23 46 R 00 00 01 00 -T 5F 01 00 00 C5 D5 21 5B 00 DD 4E FC DD 46 FD +T 5F 01 00 00 C5 D5 21 5D 00 DD 4E FC DD 46 FD R 00 00 01 00 T 6A 01 00 00 09 5E 23 56 23 4E 23 46 C5 D5 21 R 00 00 01 00 -T 75 01 00 00 79 00 DD 4E FC DD 46 FD 09 5E 23 +T 75 01 00 00 7F 00 DD 4E FC DD 46 FD 09 5E 23 R 00 00 01 00 -T 80 01 00 00 56 D5 21 77 00 09 5E 23 56 D5 21 +T 80 01 00 00 56 D5 21 7D 00 09 5E 23 56 D5 21 R 00 00 01 00 -T 8B 01 00 00 73 00 09 5E 23 56 23 4E 23 46 C5 +T 8B 01 00 00 79 00 09 5E 23 56 23 4E 23 46 C5 R 00 00 01 00 -T 96 01 00 00 D5 21 6F 00 DD 4E FC DD 46 FD 09 +T 96 01 00 00 D5 21 75 00 DD 4E FC DD 46 FD 09 R 00 00 01 00 T A1 01 00 00 5E 23 56 23 4E 23 46 C5 D5 21 R 00 00 01 00 -T AB 01 00 00 6B 00 DD 4E FC DD 46 FD 09 5E 23 +T AB 01 00 00 71 00 DD 4E FC DD 46 FD 09 5E 23 R 00 00 01 00 T B6 01 00 00 56 23 4E 23 46 C5 D5 21 4B 00 DD R 00 00 01 00 @@ -142,11 +146,11 @@ R 00 00 01 00 T CC 01 00 00 23 4E 23 46 C5 DD 6E FE DD 66 FF R 00 00 01 00 T D7 01 00 00 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 08 00 +R 00 00 01 00 2B 06 00 00 T DC 01 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 08 00 2B 0A 0B 00 +R 00 00 01 00 02 04 00 00 2B 0A 0D 00 T E2 01 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 0B 00 02 09 01 00 +R 00 00 01 00 02 04 0D 00 02 09 01 00 T E9 01 00 00 28 00 39 F9 EB R 00 00 01 00 T EE 01 00 00 @@ -161,9 +165,135 @@ T F6 01 00 00 C3 3B 00 00 00 R 00 00 01 00 00 05 01 00 T F9 01 00 00 R 00 00 01 00 -T F9 01 00 00 21 00 00 +T F9 01 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 +T FF 01 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 +T 05 02 00 00 CD 00 00 00 00 F1 F1 0E +R 00 00 01 00 02 05 01 00 +T 0B 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 0C 00 02 0A 0C 00 +T 11 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 0D 00 02 0A 0D 00 +T 17 02 00 00 00 00 00 00 F1 F1 AF DD 77 FE DD +R 00 00 01 00 02 04 01 00 +T 20 02 00 00 77 FF +R 00 00 01 00 +T 22 02 00 00 +R 00 00 01 00 +T 22 02 00 00 2A 04 00 00 00 DD 4E FE DD 46 FF +R 00 00 01 00 02 05 08 00 +T 2B 02 00 00 CD 00 00 00 00 DA FF 02 00 00 +R 00 00 01 00 02 05 0B 00 00 0A 01 00 +T 31 02 00 00 +R 00 00 01 00 +T 31 02 00 00 DD 6E FE DD 66 FF 29 01 +R 00 00 01 00 +T 39 02 00 00 00 00 00 00 09 46 23 66 68 DD 75 +R 00 00 01 00 02 04 06 00 +T 42 02 00 00 FC DD 74 FD 7D B4 20 03 +R 00 00 01 00 +T 4A 02 00 00 +R 00 00 01 00 +T 4A 02 00 00 C3 F4 02 00 00 +R 00 00 01 00 00 05 01 00 +T 4D 02 00 00 +R 00 00 01 00 +T 4D 02 00 00 21 24 00 DD 4E FC DD 46 FD 09 7E +R 00 00 01 00 +T 58 02 00 00 E6 08 28 05 21 07 00 00 00 18 03 +R 00 00 01 00 00 09 02 00 +T 61 02 00 00 +R 00 00 01 00 +T 61 02 00 00 21 09 00 00 00 +R 00 00 01 00 00 05 02 00 +T 64 02 00 00 +R 00 00 01 00 +T 64 02 00 00 E5 21 24 00 DD 4E FC DD 46 FD 09 +R 00 00 01 00 +T 6F 02 00 00 7E E6 20 28 05 21 07 00 00 00 18 +R 00 00 01 00 00 0A 02 00 +T 78 02 00 00 03 +R 00 00 01 00 +T 79 02 00 00 +R 00 00 01 00 +T 79 02 00 00 21 09 00 00 00 +R 00 00 01 00 00 05 02 00 +T 7C 02 00 00 +R 00 00 01 00 +T 7C 02 00 00 E5 21 19 00 DD 4E FC DD 46 FD 09 R 00 00 01 00 -T FC 01 00 00 +T 87 02 00 00 7E E6 02 28 05 21 07 00 00 00 18 +R 00 00 01 00 00 0A 02 00 +T 90 02 00 00 03 R 00 00 01 00 -T FC 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +T 91 02 00 00 +R 00 00 01 00 +T 91 02 00 00 21 09 00 00 00 +R 00 00 01 00 00 05 02 00 +T 94 02 00 00 +R 00 00 01 00 +T 94 02 00 00 E5 21 5C 00 DD 4E FC DD 46 FD 09 +R 00 00 01 00 +T 9F 02 00 00 7E B7 28 05 21 00 00 00 00 18 03 +R 00 00 01 00 00 09 02 00 +T A8 02 00 00 +R 00 00 01 00 +T A8 02 00 00 21 03 00 00 00 +R 00 00 01 00 00 05 02 00 +T AB 02 00 00 +R 00 00 01 00 +T AB 02 00 00 E5 21 5B 00 DD 4E FC DD 46 FD 09 +R 00 00 01 00 +T B6 02 00 00 7E B7 28 05 21 00 00 00 00 18 03 +R 00 00 01 00 00 09 02 00 +T BF 02 00 00 +R 00 00 01 00 +T BF 02 00 00 21 03 00 00 00 +R 00 00 01 00 00 05 02 00 +T C2 02 00 00 +R 00 00 01 00 +T C2 02 00 00 E5 21 4B 00 DD 4E FC DD 46 FD 09 +R 00 00 01 00 +T CD 02 00 00 46 23 66 68 23 23 4E 23 46 C5 DD +R 00 00 01 00 +T D8 02 00 00 6E FE DD 66 FF E5 0E 00 00 00 00 +R 00 00 01 00 2B 0B 02 00 +T E0 02 00 00 C5 21 00 00 00 00 E5 3E +R 00 00 01 00 02 06 02 00 +T E6 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 +T EB 02 00 00 00 00 00 00 EB 21 12 00 39 F9 EB +R 00 00 01 00 02 04 01 00 +T F4 02 00 00 +R 00 00 01 00 +T F4 02 00 00 DD 34 FE 20 03 DD 34 FF +R 00 00 01 00 +T FC 02 00 00 +R 00 00 01 00 +T FC 02 00 00 C3 22 02 00 00 +R 00 00 01 00 00 05 01 00 +T FF 02 00 00 +R 00 00 01 00 +T FF 02 00 00 21 00 00 +R 00 00 01 00 +T 02 03 00 00 +R 00 00 01 00 +T 02 03 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 05 00 +T 00 00 00 00 +R 00 00 02 00 +T 00 00 00 00 6F 6E 00 +R 00 00 02 00 +T 03 00 00 00 +R 00 00 02 00 +T 03 00 00 00 6F 66 66 00 +R 00 00 02 00 +T 07 00 00 00 +R 00 00 02 00 +T 07 00 00 00 78 00 +R 00 00 02 00 +T 09 00 00 00 +R 00 00 02 00 +T 09 00 00 00 2D 00 +R 00 00 02 00 diff --git a/src/nos/lib/z80_lib/escc_asyex.rel b/src/nos/lib/z80_lib/escc_asyex.rel index 79e3a32b..27589f35 100644 --- a/src/nos/lib/z80_lib/escc_asyex.rel +++ b/src/nos/lib/z80_lib/escc_asyex.rel @@ -1,55 +1,180 @@ XL4 -H 2 areas 9 global symbols +H 2 areas E global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S _restore Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 +S _dirps Ref00000000 +S _write_escc Ref00000000 +S _ksignal Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?L_INCASG_L03 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 +S _escc_asytx Ref00000000 S _inportb Ref00000000 S _outportb Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 7D flags 0 +A CODE size 1DC flags 0 S _escc_asyex Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 63 00 DD -R 00 00 01 00 02 05 03 00 +T 00 00 00 00 CD 00 00 00 00 FC FF 21 65 00 DD +R 00 00 01 00 02 05 07 00 T 09 00 00 00 4E 02 DD 46 03 09 CD 00 00 00 00 -R 00 00 01 00 02 0B 04 00 +R 00 00 01 00 02 0B 08 00 T 12 00 00 00 21 10 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 T 1D 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 06 00 +R 00 00 01 00 2B 07 0B 00 T 22 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 06 00 02 09 00 00 -T 29 00 00 00 FE E5 21 24 00 09 C1 79 AE DD 77 +R 00 00 01 00 02 04 0B 00 02 09 00 00 +T 29 00 00 00 FC E5 21 24 00 09 C1 79 AE DD 77 R 00 00 01 00 -T 34 00 00 00 FF E6 80 28 1C +T 34 00 00 00 FD E6 80 28 1C R 00 00 01 00 T 39 00 00 00 R 00 00 01 00 -T 39 00 00 00 DD 7E FE E6 80 20 15 +T 39 00 00 00 DD 7E FC E6 80 20 15 R 00 00 01 00 T 40 00 00 00 R 00 00 01 00 T 40 00 00 00 21 12 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 T 4B 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 06 00 +R 00 00 01 00 2B 07 0B 00 T 50 00 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 06 00 02 09 00 00 +R 00 00 01 00 02 04 0B 00 02 09 00 00 T 55 00 00 00 R 00 00 01 00 T 55 00 00 00 R 00 00 01 00 -T 55 00 00 00 21 24 00 DD 4E 02 DD 46 03 09 DD +T 55 00 00 00 21 5B 00 DD 4E 02 DD 46 03 09 7E +R 00 00 01 00 +T 60 00 00 00 B7 CA EF 00 00 00 DD 7E FD E6 20 +R 00 00 01 00 00 06 01 00 +T 69 00 00 00 CA EF 00 00 00 +R 00 00 01 00 00 05 01 00 +T 6C 00 00 00 +R 00 00 01 00 +T 6C 00 00 00 +R 00 00 01 00 +T 6C 00 00 00 +R 00 00 01 00 +T 6C 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 04 00 02 0A 04 00 +T 72 00 00 00 00 00 00 00 DD 75 FE DD 74 FF DD +R 00 00 01 00 02 04 00 00 +T 7B 00 00 00 7E FC E6 20 28 38 +R 00 00 01 00 +T 81 00 00 00 +R 00 00 01 00 +T 81 00 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0A 00 +T 89 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 0A 00 02 0A 00 00 +T 90 00 00 00 19 00 DD 4E 02 DD 46 03 09 7E F6 +R 00 00 01 00 +T 9B 00 00 00 08 77 5F D5 0E 05 21 10 00 DD 5E +R 00 00 01 00 +T A6 00 00 00 02 DD 56 03 19 5E 23 56 3E +R 00 00 01 00 +T AF 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T B4 00 00 00 00 00 00 00 E1 18 28 +R 00 00 01 00 02 04 00 00 +T B9 00 00 00 +R 00 00 01 00 +T B9 00 00 00 21 19 00 DD 4E 02 DD 46 03 09 7E +R 00 00 01 00 +T C4 00 00 00 E6 F7 77 5F D5 0E 05 21 10 00 DD +R 00 00 01 00 +T CF 00 00 00 5E 02 DD 56 03 19 5E 23 56 3E +R 00 00 01 00 +T D9 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T DE 00 00 00 00 00 00 00 E1 +R 00 00 01 00 02 04 00 00 +T E1 00 00 00 +R 00 00 01 00 +T E1 00 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +R 00 00 01 00 2B 0B 01 00 +T E9 00 00 00 21 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 01 00 02 0A 00 00 +T EF 00 00 00 +R 00 00 01 00 +T EF 00 00 00 21 5C 00 DD 4E 02 DD 46 03 09 7E +R 00 00 01 00 +T FA 00 00 00 B7 CA 9E 01 00 00 DD 7E FD E6 08 +R 00 00 01 00 00 06 01 00 +T 03 01 00 00 CA 9E 01 00 00 +R 00 00 01 00 00 05 01 00 +T 06 01 00 00 +R 00 00 01 00 +T 06 01 00 00 +R 00 00 01 00 +T 06 01 00 00 +R 00 00 01 00 +T 06 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 04 00 02 0A 04 00 +T 0C 01 00 00 00 00 00 00 DD 75 FE DD 74 FF DD +R 00 00 01 00 02 04 00 00 +T 15 01 00 00 7E FC E6 08 28 2A +R 00 00 01 00 +T 1B 01 00 00 +R 00 00 01 00 +T 1B 01 00 00 21 17 00 DD 4E 02 DD 46 03 09 7E +R 00 00 01 00 +T 26 01 00 00 F6 01 77 5F D5 0E 03 21 10 00 DD +R 00 00 01 00 +T 31 01 00 00 5E 02 DD 56 03 19 5E 23 56 3E +R 00 00 01 00 +T 3B 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 40 01 00 00 00 00 00 00 E1 18 28 +R 00 00 01 00 02 04 00 00 +T 45 01 00 00 +R 00 00 01 00 +T 45 01 00 00 21 17 00 DD 4E 02 DD 46 03 09 7E +R 00 00 01 00 +T 50 01 00 00 E6 FE 77 5F D5 0E 03 21 10 00 DD +R 00 00 01 00 +T 5B 01 00 00 5E 02 DD 56 03 19 5E 23 56 3E +R 00 00 01 00 +T 65 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 6A 01 00 00 00 00 00 00 E1 +R 00 00 01 00 02 04 00 00 +T 6D 01 00 00 +R 00 00 01 00 +T 6D 01 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +R 00 00 01 00 2B 0B 01 00 +T 75 01 00 00 21 00 00 00 00 CD 00 00 00 00 01 +R 00 00 01 00 02 05 01 00 02 0A 00 00 +T 7C 01 00 00 01 00 21 5C 00 DD 5E 02 DD 56 03 +R 00 00 01 00 +T 87 01 00 00 19 EB 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 06 00 +T 8C 01 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 06 00 02 09 00 00 +T 92 01 00 00 6D 00 DD 4E 02 DD 46 03 09 CD +R 00 00 01 00 +T 9C 01 00 00 00 00 00 00 +R 00 00 01 00 02 04 08 00 +T 9E 01 00 00 +R 00 00 01 00 +T 9E 01 00 00 21 24 00 DD 4E 02 DD 46 03 09 DD R 00 00 01 00 -T 60 00 00 00 56 FE 72 0E 10 21 10 00 DD 5E 02 +T A9 01 00 00 56 FC 72 01 00 00 21 24 00 DD 5E R 00 00 01 00 -T 6B 00 00 00 DD 56 03 19 5E 23 56 3E +T B4 01 00 00 02 DD 56 03 19 EB 3E 00 00 00 00 +R 00 00 01 00 2B 0B 06 00 +T BC 01 00 00 21 00 00 00 00 CD 00 00 00 00 0E +R 00 00 01 00 02 05 06 00 02 0A 00 00 +T C3 01 00 00 10 21 10 00 DD 5E 02 DD 56 03 19 R 00 00 01 00 -T 73 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 78 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 00 00 02 09 01 00 +T CE 01 00 00 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 0C 00 +T D4 01 00 00 00 00 00 00 CD 00 00 00 00 C3 +R 00 00 01 00 02 04 0C 00 02 09 00 00 +T DA 01 00 00 00 00 00 00 +R 00 00 01 00 02 04 02 00 diff --git a/src/nos/lib/z80_lib/escc_async.rel b/src/nos/lib/z80_lib/escc_async.rel index c8ebee87..b17259c6 100644 --- a/src/nos/lib/z80_lib/escc_async.rel +++ b/src/nos/lib/z80_lib/escc_async.rel @@ -1,27 +1,29 @@ XL4 -H 2 areas 10 global symbols +H 2 areas 12 global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _restore Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 -S ___048e_d50a_escc_25d_3a_20No_20 Ref00000000 S _dirps Ref00000000 S _escc_asyex Ref00000000 S _write_escc Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S _escc_asysp Ref00000000 +S ___0529_d50a_escc_25d_3a_20No_20 Ref00000000 S __printf Ref00000000 S _escc_asyrx Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _escc_asytx Ref00000000 S _malloc Ref00000000 +S _inportb Ref00000000 +S _outportb Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 16A flags 0 +A CODE size 346 flags 0 S _escc_async Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF 21 26 00 DD -R 00 00 01 00 02 05 08 00 +R 00 00 01 00 02 05 07 00 T 09 00 00 00 4E 02 DD 46 03 09 DD 75 FC DD 74 R 00 00 01 00 T 14 00 00 00 FD 21 4D 00 09 5E 23 56 3E @@ -39,12 +41,12 @@ R 00 00 01 00 T 3E 00 00 00 23 66 68 01 2C 00 09 4E 23 46 C5 R 00 00 01 00 T 49 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 04 00 02 0B 04 00 +R 00 00 01 00 2B 05 09 00 02 0B 09 00 T 4F 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 T 55 00 00 00 CD 00 00 00 00 F1 F1 F1 21 FF FF R 00 00 01 00 02 05 00 00 -T 5E 00 00 00 C3 67 01 00 00 +T 5E 00 00 00 C3 43 03 00 00 R 00 00 01 00 00 05 01 00 T 61 00 00 00 R 00 00 01 00 @@ -67,52 +69,162 @@ R 00 00 01 00 8B 05 0D 00 2B 0B 0D 00 T AF 00 00 00 21 04 00 DD 4E 02 DD 46 03 09 36 R 00 00 01 00 T BA 00 00 00 00 00 00 00 23 36 00 00 00 00 23 -R 00 00 01 00 0B 04 06 00 8B 0A 06 00 +R 00 00 01 00 0B 04 05 00 8B 0A 05 00 T BF 00 00 00 36 00 00 00 00 21 08 00 09 36 -R 00 00 01 00 2B 05 06 00 +R 00 00 01 00 2B 05 05 00 T C6 00 00 00 00 00 00 00 23 36 00 00 00 00 23 R 00 00 01 00 0B 04 0B 00 8B 0A 0B 00 T CB 00 00 00 36 00 00 00 00 21 0C 00 09 36 R 00 00 01 00 2B 05 0B 00 T D2 00 00 00 00 00 00 00 23 36 00 00 00 00 23 -R 00 00 01 00 0B 04 09 00 8B 0A 09 00 +R 00 00 01 00 0B 04 08 00 8B 0A 08 00 T D7 00 00 00 36 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 05 09 00 2B 0A 05 00 +R 00 00 01 00 2B 05 08 00 2B 0A 04 00 T DC 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 05 00 02 09 00 00 +R 00 00 01 00 02 04 04 00 02 09 00 00 T E3 00 00 00 FE DD 74 FF 21 1D 00 09 36 02 1E R 00 00 01 00 T EE 00 00 00 02 D5 0E 09 21 10 00 DD 5E 02 DD R 00 00 01 00 T F9 00 00 00 56 03 19 5E 23 56 3E 00 00 00 00 -R 00 00 01 00 2B 0B 07 00 +R 00 00 01 00 2B 0B 06 00 T 01 01 00 00 21 00 00 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 02 05 07 00 02 0A 00 00 -T 08 01 00 00 21 22 00 DD 4E 02 DD 46 03 09 36 +R 00 00 01 00 02 05 06 00 02 0A 00 00 +T 08 01 00 00 21 19 00 DD 4E 02 DD 46 03 09 36 R 00 00 01 00 -T 13 01 00 00 02 1E 02 D5 0E 0E 21 10 00 DD 5E +T 13 01 00 00 EA 1E EA D5 0E 05 21 10 00 DD 5E R 00 00 01 00 T 1E 01 00 00 02 DD 56 03 19 5E 23 56 3E R 00 00 01 00 T 27 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T 2C 01 00 00 00 00 00 00 E1 21 1D 00 DD 4E 02 +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 2C 01 00 00 00 00 00 00 E1 21 16 00 DD 4E 02 R 00 00 01 00 02 04 00 00 -T 35 01 00 00 DD 46 03 09 36 0A 1E 0A D5 0E 09 +T 35 01 00 00 DD 46 03 09 36 00 1E 00 D5 0E 02 R 00 00 01 00 T 40 01 00 00 21 10 00 DD 5E 02 DD 56 03 19 5E R 00 00 01 00 T 4B 01 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 07 00 -T 50 01 00 00 00 00 00 00 CD 00 00 00 00 E1 DD -R 00 00 01 00 02 04 07 00 02 09 00 00 -T 57 01 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 06 00 +T 50 01 00 00 00 00 00 00 CD 00 00 00 00 E1 21 +R 00 00 01 00 02 04 06 00 02 09 00 00 +T 57 01 00 00 18 00 DD 4E 02 DD 46 03 09 36 44 +R 00 00 01 00 +T 62 01 00 00 1E 44 D5 0E 04 21 10 00 DD 5E 02 +R 00 00 01 00 +T 6D 01 00 00 DD 56 03 19 5E 23 56 3E +R 00 00 01 00 +T 75 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 7A 01 00 00 00 00 00 00 E1 21 17 00 DD 4E 02 +R 00 00 01 00 02 04 00 00 +T 83 01 00 00 DD 46 03 09 36 C1 1E C1 D5 0E 03 +R 00 00 01 00 +T 8E 01 00 00 21 10 00 DD 5E 02 DD 56 03 19 5E +R 00 00 01 00 +T 99 01 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 06 00 +T 9E 01 00 00 00 00 00 00 CD 00 00 00 00 E1 21 +R 00 00 01 00 02 04 06 00 02 09 00 00 +T A5 01 00 00 23 00 DD 4E 02 DD 46 03 09 36 28 +R 00 00 01 00 +T B0 01 00 00 1E 28 D5 0E 0F 21 10 00 DD 5E 02 +R 00 00 01 00 +T BB 01 00 00 DD 56 03 19 5E 23 56 3E +R 00 00 01 00 +T C3 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T C8 01 00 00 00 00 00 00 E1 21 22 00 DD 4E 02 +R 00 00 01 00 02 04 00 00 +T D1 01 00 00 DD 46 03 09 36 00 1E 00 D5 0E 0E +R 00 00 01 00 +T DC 01 00 00 21 10 00 DD 5E 02 DD 56 03 19 5E +R 00 00 01 00 +T E7 01 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 06 00 +T EC 01 00 00 00 00 00 00 CD 00 00 00 00 E1 21 +R 00 00 01 00 02 04 06 00 02 09 00 00 +T F3 01 00 00 20 00 DD 4E 02 DD 46 03 09 36 2E +R 00 00 01 00 +T FE 01 00 00 1E 2E D5 0E 0C 21 10 00 DD 5E 02 +R 00 00 01 00 +T 09 02 00 00 DD 56 03 19 5E 23 56 3E +R 00 00 01 00 +T 11 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 16 02 00 00 00 00 00 00 E1 21 21 00 DD 4E 02 +R 00 00 01 00 02 04 00 00 +T 1F 02 00 00 DD 46 03 09 36 00 1E 00 D5 0E 0D +R 00 00 01 00 +T 2A 02 00 00 21 10 00 DD 5E 02 DD 56 03 19 5E +R 00 00 01 00 +T 35 02 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 06 00 +T 3A 02 00 00 00 00 00 00 CD 00 00 00 00 E1 21 +R 00 00 01 00 02 04 06 00 02 09 00 00 +T 41 02 00 00 22 00 DD 4E 02 DD 46 03 09 36 02 +R 00 00 01 00 +T 4C 02 00 00 1E 02 D5 0E 0E 21 10 00 DD 5E 02 +R 00 00 01 00 +T 57 02 00 00 DD 56 03 19 5E 23 56 3E +R 00 00 01 00 +T 5F 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 64 02 00 00 00 00 00 00 E1 21 22 00 DD 4E 02 +R 00 00 01 00 02 04 00 00 +T 6D 02 00 00 DD 46 03 09 7E F6 01 77 5F D5 0E +R 00 00 01 00 +T 78 02 00 00 0E 21 10 00 DD 5E 02 DD 56 03 19 +R 00 00 01 00 +T 83 02 00 00 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 06 00 +T 89 02 00 00 00 00 00 00 CD 00 00 00 00 E1 21 +R 00 00 01 00 02 04 06 00 02 09 00 00 +T 90 02 00 00 1F 00 DD 4E 02 DD 46 03 09 36 52 +R 00 00 01 00 +T 9B 02 00 00 1E 52 D5 0E 0B 21 10 00 DD 5E 02 +R 00 00 01 00 +T A6 02 00 00 DD 56 03 19 5E 23 56 3E +R 00 00 01 00 +T AE 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T B3 02 00 00 00 00 00 00 E1 0E 10 21 10 00 DD +R 00 00 01 00 02 04 00 00 +T BC 02 00 00 5E 02 DD 56 03 19 5E 23 56 3E +R 00 00 01 00 +T C6 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 10 00 02 09 10 00 +T CB 02 00 00 00 00 00 00 21 10 00 DD 4E 02 DD +R 00 00 01 00 02 04 00 00 +T D4 02 00 00 46 03 09 5E 23 56 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0F 00 +T DC 02 00 00 21 00 00 00 00 CD 00 00 00 00 E5 +R 00 00 01 00 02 05 0F 00 02 0A 00 00 +T E3 02 00 00 21 24 00 09 D1 73 21 15 00 09 36 +R 00 00 01 00 +T EE 02 00 00 13 1E 13 D5 0E 01 21 10 00 DD 5E +R 00 00 01 00 +T F9 02 00 00 02 DD 56 03 19 5E 23 56 3E +R 00 00 01 00 +T 02 03 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 07 03 00 00 00 00 00 00 E1 21 1D 00 DD 4E 02 +R 00 00 01 00 02 04 00 00 +T 10 03 00 00 DD 46 03 09 7E F6 08 77 5F D5 0E +R 00 00 01 00 +T 1B 03 00 00 09 21 10 00 DD 5E 02 DD 56 03 19 +R 00 00 01 00 +T 26 03 00 00 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 06 00 +T 2C 03 00 00 00 00 00 00 CD 00 00 00 00 E1 DD +R 00 00 01 00 02 04 06 00 02 09 00 00 +T 33 03 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 01 00 -T 5F 01 00 00 00 00 00 00 CD 00 00 00 00 21 +T 3B 03 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 01 00 02 09 00 00 -T 65 01 00 00 00 00 +T 41 03 00 00 00 00 R 00 00 01 00 -T 67 01 00 00 +T 43 03 00 00 R 00 00 01 00 -T 67 01 00 00 C3 00 00 00 00 +T 43 03 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/z80_lib/escc_asyrx.rel b/src/nos/lib/z80_lib/escc_asyrx.rel index f9718a2d..733bacc5 100644 --- a/src/nos/lib/z80_lib/escc_asyrx.rel +++ b/src/nos/lib/z80_lib/escc_asyrx.rel @@ -13,7 +13,7 @@ A CODE size F8 flags 0 S _escc_asyrx Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 5B 00 DD +T 00 00 00 00 CD 00 00 00 00 FC FF 21 5D 00 DD R 00 00 01 00 02 05 04 00 T 09 00 00 00 4E 02 DD 46 03 09 CD 00 00 00 00 R 00 00 01 00 02 0B 05 00 @@ -67,7 +67,7 @@ T B8 00 00 00 18 0F R 00 00 01 00 T BA 00 00 00 R 00 00 01 00 -T BA 00 00 00 21 77 00 DD 4E 02 DD 46 03 09 34 +T BA 00 00 00 21 7D 00 DD 4E 02 DD 46 03 09 34 R 00 00 01 00 T C5 00 00 00 23 20 01 34 R 00 00 01 00 diff --git a/src/nos/lib/z80_lib/escc_asysp.rel b/src/nos/lib/z80_lib/escc_asysp.rel index 285a15a5..5ed08fec 100644 --- a/src/nos/lib/z80_lib/escc_asysp.rel +++ b/src/nos/lib/z80_lib/escc_asysp.rel @@ -14,7 +14,7 @@ A CODE size 71 flags 0 S _escc_asysp Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 67 00 DD +T 00 00 00 00 CD 00 00 00 00 FE FF 21 69 00 DD R 00 00 01 00 02 05 04 00 T 09 00 00 00 4E 02 DD 46 03 09 CD 00 00 00 00 R 00 00 01 00 02 0B 05 00 @@ -34,7 +34,7 @@ T 43 00 00 00 FE E6 60 28 0F R 00 00 01 00 T 48 00 00 00 R 00 00 01 00 -T 48 00 00 00 21 79 00 DD 4E 02 DD 46 03 09 34 +T 48 00 00 00 21 7F 00 DD 4E 02 DD 46 03 09 34 R 00 00 01 00 T 53 00 00 00 23 20 01 34 R 00 00 01 00 diff --git a/src/nos/lib/z80_lib/escc_asytx.rel b/src/nos/lib/z80_lib/escc_asytx.rel index 56d37ed8..c8acb0a5 100644 --- a/src/nos/lib/z80_lib/escc_asytx.rel +++ b/src/nos/lib/z80_lib/escc_asytx.rel @@ -9,127 +9,113 @@ S ?L_INCASG_L03 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _outportb Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 174 flags 0 +A CODE size 129 flags 0 S _escc_asytx Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 5F 00 DD +T 00 00 00 00 CD 00 00 00 00 FE FF 21 61 00 DD R 00 00 01 00 02 05 04 00 T 09 00 00 00 4E 02 DD 46 03 09 CD 00 00 00 00 R 00 00 01 00 02 0B 05 00 -T 12 00 00 00 21 25 00 DD 4E 02 DD 46 03 09 7E +T 12 00 00 00 21 5B 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 1D 00 00 00 B7 28 2F +T 1D 00 00 00 B7 28 12 21 24 00 DD 4E 02 DD 46 R 00 00 01 00 -T 20 00 00 00 +T 28 00 00 00 03 09 7E E6 20 20 03 R 00 00 01 00 -T 20 00 00 00 21 25 00 DD 4E 02 DD 46 03 09 4E +T 2F 00 00 00 R 00 00 01 00 -T 2B 00 00 00 21 12 00 DD 5E 02 DD 56 03 19 5E +T 2F 00 00 00 R 00 00 01 00 -T 36 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 07 00 -T 3B 00 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 07 00 02 09 00 00 -T 41 00 00 00 25 00 DD 4E 02 DD 46 03 09 36 00 +T 2F 00 00 00 R 00 00 01 00 -T 4C 00 00 00 C3 71 01 00 00 +T 2F 00 00 00 C3 26 01 00 00 R 00 00 01 00 00 05 01 00 -T 4F 00 00 00 -R 00 00 01 00 -T 4F 00 00 00 21 49 00 DD 4E 02 DD 46 03 09 7E +T 32 00 00 00 R 00 00 01 00 -T 5A 00 00 00 23 B6 20 69 +T 32 00 00 00 21 49 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 5E 00 00 00 +T 3D 00 00 00 23 B6 20 52 R 00 00 01 00 -T 5E 00 00 00 21 49 00 DD 4E 02 DD 46 03 09 E5 +T 41 00 00 00 R 00 00 01 00 -T 69 00 00 00 21 47 00 09 4E 23 46 E1 71 23 70 +T 41 00 00 00 21 49 00 DD 4E 02 DD 46 03 09 E5 R 00 00 01 00 -T 74 00 00 00 79 B0 28 35 +T 4C 00 00 00 21 47 00 09 4E 23 46 E1 71 23 70 R 00 00 01 00 -T 78 00 00 00 +T 57 00 00 00 79 B0 28 1E R 00 00 01 00 -T 78 00 00 00 21 47 00 DD 4E 02 DD 46 03 09 E5 +T 5B 00 00 00 R 00 00 01 00 -T 83 00 00 00 21 47 00 09 56 23 66 6A 23 23 5E +T 5B 00 00 00 21 47 00 DD 4E 02 DD 46 03 09 E5 R 00 00 01 00 -T 8E 00 00 00 23 56 E1 73 23 72 0E C0 21 12 00 +T 66 00 00 00 21 47 00 09 46 23 66 68 23 23 4E R 00 00 01 00 -T 99 00 00 00 DD 5E 02 DD 56 03 19 5E 23 56 3E +T 71 00 00 00 23 46 E1 71 23 70 18 1A R 00 00 01 00 -T A4 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 07 00 02 09 07 00 -T A9 00 00 00 00 00 00 00 18 17 -R 00 00 01 00 02 04 00 00 -T AD 00 00 00 +T 79 00 00 00 R 00 00 01 00 -T AD 00 00 00 0E 28 21 10 00 DD 5E 02 DD 56 03 +T 79 00 00 00 0E 28 21 10 00 DD 5E 02 DD 56 03 R 00 00 01 00 -T B8 00 00 00 19 5E 23 56 3E 00 00 00 00 21 +T 84 00 00 00 19 5E 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 09 07 00 -T BF 00 00 00 00 00 00 00 CD 00 00 00 00 +T 8B 00 00 00 00 00 00 00 CD 00 00 00 00 C3 R 00 00 01 00 02 04 07 00 02 09 00 00 -T C4 00 00 00 +T 91 00 00 00 26 01 00 00 +R 00 00 01 00 00 04 01 00 +T 93 00 00 00 R 00 00 01 00 -T C4 00 00 00 C3 71 01 00 00 -R 00 00 01 00 00 05 01 00 -T C7 00 00 00 +T 93 00 00 00 R 00 00 01 00 -T C7 00 00 00 +T 93 00 00 00 R 00 00 01 00 -T C7 00 00 00 21 49 00 DD 4E 02 DD 46 03 09 46 +T 93 00 00 00 21 49 00 DD 4E 02 DD 46 03 09 46 R 00 00 01 00 -T D2 00 00 00 23 66 68 DD 75 FE DD 74 FF 01 +T 9E 00 00 00 23 66 68 DD 75 FE DD 74 FF 01 R 00 00 01 00 -T DC 00 00 00 0C 00 09 7E 23 B6 20 4F +T A8 00 00 00 0C 00 09 7E 23 B6 20 38 R 00 00 01 00 -T E4 00 00 00 +T B0 00 00 00 R 00 00 01 00 -T E4 00 00 00 DD 6E FE DD 66 FF 46 23 66 68 DD +T B0 00 00 00 DD 6E FE DD 66 FF 46 23 66 68 DD R 00 00 01 00 -T EF 00 00 00 75 FE DD 74 FF 21 49 00 DD 4E 02 +T BB 00 00 00 75 FE DD 74 FF 21 49 00 DD 4E 02 R 00 00 01 00 -T FA 00 00 00 DD 46 03 09 EB 3E 00 00 00 00 21 +T C6 00 00 00 DD 46 03 09 EB 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 03 00 -T 02 01 00 00 00 00 00 00 CD 00 00 00 00 21 +T CE 00 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 03 00 02 09 00 00 -T 08 01 00 00 49 00 09 DD 4E FE DD 46 FF 71 23 +T D4 00 00 00 49 00 09 DD 4E FE DD 46 FF 71 23 R 00 00 01 00 -T 13 01 00 00 70 79 B0 20 19 +T DF 00 00 00 70 79 B0 20 02 R 00 00 01 00 -T 18 01 00 00 +T E4 00 00 00 R 00 00 01 00 -T 18 01 00 00 0E C0 21 12 00 DD 5E 02 DD 56 03 +T E4 00 00 00 18 40 R 00 00 01 00 -T 23 01 00 00 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 07 00 -T 2A 01 00 00 00 00 00 00 CD 00 00 00 00 18 40 -R 00 00 01 00 02 04 07 00 02 09 00 00 -T 31 01 00 00 +T E6 00 00 00 R 00 00 01 00 -T 31 01 00 00 18 94 +T E6 00 00 00 18 AB R 00 00 01 00 -T 33 01 00 00 +T E8 00 00 00 R 00 00 01 00 -T 33 01 00 00 21 0A 00 DD 4E FE DD 46 FF 09 7E +T E8 00 00 00 21 0A 00 DD 4E FE DD 46 FF 09 7E R 00 00 01 00 -T 3E 01 00 00 23 66 6F 4E 21 12 00 DD 5E 02 DD +T F3 00 00 00 23 66 6F 4E 21 12 00 DD 5E 02 DD R 00 00 01 00 -T 49 01 00 00 56 03 19 5E 23 56 3E 00 00 00 00 +T FE 00 00 00 56 03 19 5E 23 56 3E 00 00 00 00 R 00 00 01 00 2B 0B 07 00 -T 51 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 +T 06 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 07 00 02 0A 00 00 -T 58 01 00 00 0C 00 DD 4E FE DD 46 FF 09 5E 23 +T 0D 01 00 00 0C 00 DD 4E FE DD 46 FF 09 5E 23 R 00 00 01 00 -T 63 01 00 00 56 1B 72 2B 73 21 0A 00 09 34 23 +T 18 01 00 00 56 1B 72 2B 73 21 0A 00 09 34 23 R 00 00 01 00 -T 6E 01 00 00 20 01 34 +T 23 01 00 00 20 01 34 R 00 00 01 00 -T 71 01 00 00 +T 26 01 00 00 R 00 00 01 00 -T 71 01 00 00 +T 26 01 00 00 R 00 00 01 00 -T 71 01 00 00 C3 00 00 00 00 +T 26 01 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 01 00 diff --git a/src/nos/lib/z80_lib/escc_attach.rel b/src/nos/lib/z80_lib/escc_attach.rel index 196d00ee..6b2d2649 100644 --- a/src/nos/lib/z80_lib/escc_attach.rel +++ b/src/nos/lib/z80_lib/escc_attach.rel @@ -1,38 +1,39 @@ XL4 -H 3 areas 30 global symbols -S ___0266_6b3a_ESCC_20channel_20_2 Ref00000000 -S _slip_rx Ref00000000 +H 3 areas 33 global symbols +S _stricmp Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _escc_stop Ref00000000 +S ___02a6_6d38_ESCC_20channel_20_2 Ref00000000 S _Ifaces Ref00000000 S _tolower Ref00000000 S _escc_speed Ref00000000 S _if_name Ref00000000 +S _Asymode Ref00000000 S _setencap Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _strchr Ref00000000 +S _if_detach Ref00000000 +S ___043b_a093_Too_20few_20argumen Ref00000000 S _strlen Ref00000000 -S ___0279_4a7b_First_20init_20ESCC Ref00000000 S _Slip Ref00000000 S _Esccchan Ref00000000 S _strcmp Ref00000000 -S ___02d6_b5f9_Mode_20_25s_20unkno Ref00000000 S _if_tx Ref00000000 -S ___0267_6d38_ESCC_20channel_20_2 Ref00000000 S _escc_async Ref00000000 S .__.ABS. Def00000000 S ?L_LSH_L03 Ref00000000 -S _slip_raw Ref00000000 S _free Ref00000000 S ___ctype Ref00000000 S _strcpy Ref00000000 S _callocw Ref00000000 +S ___0342_b5f9_Mode_20_25s_20unkno Ref00000000 S _escc_send Ref00000000 +S ___02a5_6b3a_ESCC_20channel_20_2 Ref00000000 S _Esccinfo Ref00000000 -S ___03b6_447c_Too_20many_20slip_2 Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?S_MUL_L02 Ref00000000 S _atoi Ref00000000 +S ___02bc_4a7b_First_20init_20ESCC Ref00000000 S ?SL_DIV_L03 Ref00000000 S _mallocw Ref00000000 S _atol Ref00000000 @@ -44,688 +45,876 @@ S _htoi Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _htol Ref00000000 S _escc_aioctl Ref00000000 +S ___018f_bba5__25s_3a_20mode_20_2 Ref00000000 S _slhc_init Ref00000000 S _get_escc Ref00000000 +S ___0445_447c_Too_20many_20slip_2 Ref00000000 S _newproc Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 826 flags 0 +A CODE size 9EC flags 0 S _escc_attach Def00000000 -A CSTR size 17 flags 0 +A CSTR size 1B flags 0 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 EE FF AF DD 77 F6 +T 00 00 00 00 CD 00 00 00 00 EC FF AF DD 77 F4 R 00 00 01 00 02 05 1E 00 -T 09 00 00 00 DD 77 F7 AF DD 77 F8 DD 77 F9 AF +T 09 00 00 00 DD 77 F5 AF DD 77 F6 DD 77 F7 AF R 00 00 01 00 -T 14 00 00 00 DD 77 FA DD 77 FB 01 00 00 00 00 +T 14 00 00 00 DD 77 F8 DD 77 F9 01 00 00 00 00 R 00 00 01 00 00 0B 02 00 T 1D 00 00 00 21 04 00 DD 5E 04 DD 56 05 19 5E R 00 00 01 00 T 28 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0F 00 +R 00 00 01 00 2B 07 11 00 T 2D 00 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 0F 00 02 09 02 00 -T 34 00 00 00 C2 FB 01 00 00 +R 00 00 01 00 02 04 11 00 02 09 01 00 +T 34 00 00 00 C2 0C 02 00 00 R 00 00 01 00 00 05 01 00 T 37 00 00 00 R 00 00 01 00 T 37 00 00 00 01 0B 80 DD 6E 02 DD 66 03 3E 80 R 00 00 01 00 -T 42 00 00 00 AC 67 ED 42 30 06 +T 42 00 00 00 AC 67 ED 42 30 17 R 00 00 01 00 T 48 00 00 00 R 00 00 01 00 -T 48 00 00 00 21 FF FF C3 23 08 00 00 -R 00 00 01 00 00 08 01 00 -T 4E 00 00 00 +T 48 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 0D 00 02 0B 0D 00 +T 4E 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 27 00 02 0B 27 00 +T 54 00 00 00 CD 00 00 00 00 F1 F1 21 FF FF C3 +R 00 00 01 00 02 05 01 00 +T 5D 00 00 00 E9 09 00 00 +R 00 00 01 00 00 04 01 00 +T 5F 00 00 00 R 00 00 01 00 -T 4E 00 00 00 21 14 00 DD 4E 04 DD 46 05 09 7E +T 5F 00 00 00 21 14 00 DD 4E 04 DD 46 05 09 7E R 00 00 01 00 -T 59 00 00 00 23 66 6F 4E 06 00 21 00 00 00 00 -R 00 00 01 00 02 0B 18 00 -T 62 00 00 00 09 7E E6 02 28 24 +T 6A 00 00 00 23 66 6F 4E 06 00 21 00 00 00 00 +R 00 00 01 00 02 0B 17 00 +T 73 00 00 00 09 7E E6 02 28 24 R 00 00 01 00 -T 68 00 00 00 +T 79 00 00 00 R 00 00 01 00 -T 68 00 00 00 21 14 00 DD 4E 04 DD 46 05 09 7E +T 79 00 00 00 21 14 00 DD 4E 04 DD 46 05 09 7E R 00 00 01 00 -T 73 00 00 00 23 66 6F 5E 16 00 3E 00 00 00 00 +T 84 00 00 00 23 66 6F 5E 16 00 3E 00 00 00 00 R 00 00 01 00 2B 0B 05 00 -T 7B 00 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 05 00 02 0A 02 00 -T 82 00 00 00 21 14 00 09 7E 23 66 6F C1 71 +T 8C 00 00 00 21 00 00 00 00 CD 00 00 00 00 E5 +R 00 00 01 00 02 05 05 00 02 0A 01 00 +T 93 00 00 00 21 14 00 09 7E 23 66 6F C1 71 R 00 00 01 00 -T 8C 00 00 00 +T 9D 00 00 00 R 00 00 01 00 -T 8C 00 00 00 21 14 00 DD 4E 04 DD 46 05 09 7E +T 9D 00 00 00 21 14 00 DD 4E 04 DD 46 05 09 7E R 00 00 01 00 -T 97 00 00 00 23 66 6F 7E FE 70 20 19 +T A8 00 00 00 23 66 6F 7E FE 70 20 19 R 00 00 01 00 -T 9F 00 00 00 +T B0 00 00 00 R 00 00 01 00 -T 9F 00 00 00 DD 36 F6 01 DD 36 F7 00 21 14 00 +T B0 00 00 00 DD 36 F4 01 DD 36 F5 00 21 14 00 R 00 00 01 00 -T AA 00 00 00 DD 4E 04 DD 46 05 09 34 23 20 01 +T BB 00 00 00 DD 4E 04 DD 46 05 09 34 23 20 01 R 00 00 01 00 -T B5 00 00 00 34 +T C6 00 00 00 34 R 00 00 01 00 -T B6 00 00 00 +T C7 00 00 00 R 00 00 01 00 -T B6 00 00 00 18 22 +T C7 00 00 00 18 22 R 00 00 01 00 -T B8 00 00 00 +T C9 00 00 00 R 00 00 01 00 -T B8 00 00 00 21 14 00 DD 4E 04 DD 46 05 09 7E +T C9 00 00 00 21 14 00 DD 4E 04 DD 46 05 09 7E R 00 00 01 00 -T C3 00 00 00 23 66 6F 7E FE 72 20 0F +T D4 00 00 00 23 66 6F 7E FE 72 20 0F R 00 00 01 00 -T CB 00 00 00 +T DC 00 00 00 R 00 00 01 00 -T CB 00 00 00 21 14 00 DD 4E 04 DD 46 05 09 34 +T DC 00 00 00 21 14 00 DD 4E 04 DD 46 05 09 34 R 00 00 01 00 -T D6 00 00 00 23 20 01 34 +T E7 00 00 00 23 20 01 34 R 00 00 01 00 -T DA 00 00 00 +T EB 00 00 00 R 00 00 01 00 -T DA 00 00 00 +T EB 00 00 00 R 00 00 01 00 -T DA 00 00 00 +T EB 00 00 00 R 00 00 01 00 -T DA 00 00 00 DD 4E 02 DD 46 03 21 0B 00 CD +T EB 00 00 00 DD 4E 02 DD 46 03 21 0B 00 CD R 00 00 01 00 -T E4 00 00 00 00 00 00 00 30 1B -R 00 00 01 00 02 04 24 00 -T E8 00 00 00 +T F5 00 00 00 00 00 00 00 30 1B +R 00 00 01 00 02 04 25 00 +T F9 00 00 00 R 00 00 01 00 -T E8 00 00 00 21 16 00 DD 4E 04 DD 46 05 09 5E +T F9 00 00 00 21 16 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 -T F3 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 28 00 -T F8 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 28 00 02 09 02 00 -T FF 00 00 00 F8 DD 74 F9 +T 04 01 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 29 00 +T 09 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 29 00 02 09 01 00 +T 10 01 00 00 F6 DD 74 F7 R 00 00 01 00 -T 03 01 00 00 +T 14 01 00 00 R 00 00 01 00 -T 03 01 00 00 DD 4E 02 DD 46 03 21 0C 00 CD +T 14 01 00 00 DD 4E 02 DD 46 03 21 0C 00 CD R 00 00 01 00 -T 0D 01 00 00 00 00 00 00 30 1B -R 00 00 01 00 02 04 24 00 -T 11 01 00 00 +T 1E 01 00 00 00 00 00 00 30 1B +R 00 00 01 00 02 04 25 00 +T 22 01 00 00 R 00 00 01 00 -T 11 01 00 00 21 18 00 DD 4E 04 DD 46 05 09 5E +T 22 01 00 00 21 18 00 DD 4E 04 DD 46 05 09 5E R 00 00 01 00 -T 1C 01 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 28 00 -T 21 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 28 00 02 09 02 00 -T 28 01 00 00 FA DD 74 FB +T 2D 01 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 29 00 +T 32 01 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 29 00 02 09 01 00 +T 39 01 00 00 F8 DD 74 F9 R 00 00 01 00 -T 2C 01 00 00 +T 3D 01 00 00 R 00 00 01 00 -T 2C 01 00 00 DD 6E FA DD 66 FB E5 DD 6E F8 DD +T 3D 01 00 00 DD 6E F8 DD 66 F9 E5 DD 6E F6 DD R 00 00 01 00 -T 37 01 00 00 66 F9 E5 DD 6E F6 DD 66 F7 E5 21 +T 48 01 00 00 66 F7 E5 DD 6E F4 DD 66 F5 E5 21 R 00 00 01 00 -T 42 01 00 00 14 00 DD 4E 04 DD 46 05 09 5E 23 +T 53 01 00 00 14 00 DD 4E 04 DD 46 05 09 5E 23 R 00 00 01 00 -T 4D 01 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 23 00 02 0B 23 00 -T 53 01 00 00 CD 00 00 00 00 C5 E5 21 12 00 DD -R 00 00 01 00 02 05 02 00 -T 5C 01 00 00 4E 04 DD 46 05 09 5E 23 56 3E +T 5E 01 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 24 00 02 0B 24 00 +T 64 01 00 00 CD 00 00 00 00 C5 E5 21 12 00 DD +R 00 00 01 00 02 05 01 00 +T 6D 01 00 00 4E 04 DD 46 05 09 5E 23 56 3E R 00 00 01 00 -T 66 01 00 00 00 00 00 00 21 00 00 00 00 CD +T 77 01 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 20 00 02 09 20 00 -T 6B 01 00 00 00 00 00 00 E5 21 10 00 09 5E 23 -R 00 00 01 00 02 04 02 00 -T 74 01 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 2A 00 02 0B 2A 00 -T 7A 01 00 00 CD 00 00 00 00 E5 21 0E 00 DD 4E -R 00 00 01 00 02 05 02 00 -T 83 01 00 00 04 DD 46 05 09 5E 23 56 3E -R 00 00 01 00 -T 8C 01 00 00 00 00 00 00 21 00 00 00 00 CD +T 7C 01 00 00 00 00 00 00 E5 21 10 00 09 5E 23 +R 00 00 01 00 02 04 01 00 +T 85 01 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 2B 00 02 0B 2B 00 +T 8B 01 00 00 CD 00 00 00 00 E5 21 0E 00 DD 4E +R 00 00 01 00 02 05 01 00 +T 94 01 00 00 04 DD 46 05 09 5E 23 56 3E +R 00 00 01 00 +T 9D 01 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 20 00 02 09 20 00 -T 91 01 00 00 00 00 00 00 E5 21 0C 00 09 5E 23 -R 00 00 01 00 02 04 02 00 -T 9A 01 00 00 56 3E 00 00 00 00 21 00 00 00 00 +T A2 01 00 00 00 00 00 00 E5 21 0C 00 09 5E 23 +R 00 00 01 00 02 04 01 00 +T AB 01 00 00 56 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 20 00 02 0B 20 00 -T A0 01 00 00 CD 00 00 00 00 E5 21 0A 00 09 5E -R 00 00 01 00 02 05 02 00 -T A9 01 00 00 23 56 3E 00 00 00 00 21 +T B1 01 00 00 CD 00 00 00 00 E5 21 0A 00 09 5E +R 00 00 01 00 02 05 01 00 +T BA 01 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 20 00 -T AE 01 00 00 00 00 00 00 CD 00 00 00 00 E5 21 -R 00 00 01 00 02 04 20 00 02 09 02 00 -T B5 01 00 00 08 00 09 5E 23 56 3E 00 00 00 00 +T BF 01 00 00 00 00 00 00 CD 00 00 00 00 E5 21 +R 00 00 01 00 02 04 20 00 02 09 01 00 +T C6 01 00 00 08 00 09 5E 23 56 3E 00 00 00 00 R 00 00 01 00 2B 0B 20 00 -T BD 01 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 20 00 02 0A 02 00 -T C4 01 00 00 21 06 00 09 5E 23 56 3E -R 00 00 01 00 -T CC 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2A 00 02 09 2A 00 -T D1 01 00 00 00 00 00 00 4D 44 DD 6E 04 DD 66 -R 00 00 01 00 02 04 02 00 -T DA 01 00 00 05 23 23 5E 23 56 3E 00 00 00 00 +T CE 01 00 00 21 00 00 00 00 CD 00 00 00 00 E5 +R 00 00 01 00 02 05 20 00 02 0A 01 00 +T D5 01 00 00 21 06 00 09 5E 23 56 3E +R 00 00 01 00 +T DD 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 2B 00 02 09 2B 00 +T E2 01 00 00 00 00 00 00 4D 44 DD 6E 04 DD 66 +R 00 00 01 00 02 04 01 00 +T EB 01 00 00 05 23 23 5E 23 56 3E 00 00 00 00 R 00 00 01 00 2B 0B 20 00 -T E2 01 00 00 21 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 20 00 02 0A 02 00 -T E9 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 25 00 02 0A 25 00 -T EF 01 00 00 00 00 00 00 EB 21 16 00 39 F9 EB -R 00 00 01 00 02 04 02 00 -T F8 01 00 00 C3 23 08 00 00 +T F3 01 00 00 21 00 00 00 00 CD 00 00 00 00 EB +R 00 00 01 00 02 05 20 00 02 0A 01 00 +T FA 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 26 00 02 0A 26 00 +T 00 02 00 00 00 00 00 00 EB 21 16 00 39 F9 EB +R 00 00 01 00 02 04 01 00 +T 09 02 00 00 C3 E9 09 00 00 R 00 00 01 00 00 05 01 00 -T FB 01 00 00 +T 0C 02 00 00 R 00 00 01 00 -T FB 01 00 00 01 05 00 00 00 21 04 00 DD 5E 04 +T 0C 02 00 00 01 05 00 00 00 21 04 00 DD 5E 04 R 00 00 01 00 00 05 02 00 -T 04 02 00 00 DD 56 05 19 5E 23 56 3E -R 00 00 01 00 -T 0C 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 -T 11 02 00 00 00 00 00 00 7D B4 28 26 -R 00 00 01 00 02 04 02 00 -T 17 02 00 00 -R 00 00 01 00 -T 17 02 00 00 21 04 00 DD 4E 04 DD 46 05 09 4E -R 00 00 01 00 -T 22 02 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 10 00 -T 29 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 10 00 2B 0A 26 00 -T 2F 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 26 00 02 09 02 00 -T 36 02 00 00 F1 21 FF FF C3 23 08 00 00 +T 15 02 00 00 DD 56 05 19 5E 23 56 3E +R 00 00 01 00 +T 1D 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 11 00 02 09 11 00 +T 22 02 00 00 00 00 00 00 7D B4 28 42 01 +R 00 00 01 00 02 04 01 00 +T 29 02 00 00 09 00 00 00 21 04 00 DD 5E 04 DD +R 00 00 01 00 00 04 02 00 +T 32 02 00 00 56 05 19 5E 23 56 3E 00 00 00 00 +R 00 00 01 00 2B 0B 11 00 +T 3A 02 00 00 21 00 00 00 00 CD 00 00 00 00 7D +R 00 00 01 00 02 05 11 00 02 0A 01 00 +T 41 02 00 00 B4 28 26 +R 00 00 01 00 +T 44 02 00 00 +R 00 00 01 00 +T 44 02 00 00 +R 00 00 01 00 +T 44 02 00 00 +R 00 00 01 00 +T 44 02 00 00 21 04 00 DD 4E 04 DD 46 05 09 4E +R 00 00 01 00 +T 4F 02 00 00 23 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 08 1A 00 +T 56 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 1A 00 2B 0A 27 00 +T 5C 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 27 00 02 09 01 00 +T 63 02 00 00 F1 21 FF FF C3 E9 09 00 00 R 00 00 01 00 00 09 01 00 -T 3D 02 00 00 +T 6A 02 00 00 R 00 00 01 00 -T 3D 02 00 00 01 05 00 00 00 21 04 00 DD 5E 04 +T 6A 02 00 00 01 09 00 00 00 21 04 00 DD 5E 04 R 00 00 01 00 00 05 02 00 -T 46 02 00 00 DD 56 05 19 5E 23 56 3E +T 73 02 00 00 DD 56 05 19 5E 23 56 3E R 00 00 01 00 -T 4E 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 -T 53 02 00 00 00 00 00 00 7D B4 20 61 -R 00 00 01 00 02 04 02 00 -T 59 02 00 00 +T 7B 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 11 00 02 09 11 00 +T 80 02 00 00 00 00 00 00 7D B4 20 61 +R 00 00 01 00 02 04 01 00 +T 86 02 00 00 R 00 00 01 00 -T 59 02 00 00 AF DD 77 FC DD 77 FD +T 86 02 00 00 AF DD 77 FA DD 77 FB R 00 00 01 00 -T 60 02 00 00 +T 8D 02 00 00 R 00 00 01 00 -T 60 02 00 00 01 06 80 DD 6E FC DD 66 FD 3E 80 +T 8D 02 00 00 01 06 80 DD 6E FA DD 66 FB 3E 80 R 00 00 01 00 -T 6B 02 00 00 AC 67 ED 42 30 21 +T 98 02 00 00 AC 67 ED 42 30 21 R 00 00 01 00 -T 71 02 00 00 +T 9E 02 00 00 R 00 00 01 00 -T 71 02 00 00 01 19 00 DD 5E FC DD 56 FD CD +T 9E 02 00 00 01 19 00 DD 5E FA DD 56 FB CD R 00 00 01 00 -T 7B 02 00 00 00 00 00 00 21 00 00 00 00 19 7E -R 00 00 01 00 02 04 1F 00 02 09 0D 00 -T 82 02 00 00 23 B6 20 02 +T A8 02 00 00 00 00 00 00 21 00 00 00 00 19 7E +R 00 00 01 00 02 04 1F 00 02 09 0F 00 +T AF 02 00 00 23 B6 20 02 R 00 00 01 00 -T 86 02 00 00 +T B3 02 00 00 R 00 00 01 00 -T 86 02 00 00 18 0A +T B3 02 00 00 18 0A R 00 00 01 00 -T 88 02 00 00 +T B5 02 00 00 R 00 00 01 00 -T 88 02 00 00 DD 34 FC 20 03 DD 34 FD +T B5 02 00 00 DD 34 FA 20 03 DD 34 FB R 00 00 01 00 -T 90 02 00 00 +T BD 02 00 00 R 00 00 01 00 -T 90 02 00 00 18 CE +T BD 02 00 00 18 CE R 00 00 01 00 -T 92 02 00 00 +T BF 02 00 00 R 00 00 01 00 -T 92 02 00 00 01 06 80 DD 6E FC DD 66 FD 3E 80 +T BF 02 00 00 01 06 80 DD 6E FA DD 66 FB 3E 80 R 00 00 01 00 -T 9D 02 00 00 AC 67 ED 42 38 17 +T CA 02 00 00 AC 67 ED 42 38 17 R 00 00 01 00 -T A3 02 00 00 +T D0 02 00 00 R 00 00 01 00 -T A3 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 1D 00 02 0B 1D 00 -T A9 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 26 00 02 0B 26 00 -T AF 02 00 00 CD 00 00 00 00 F1 F1 21 FF FF C3 -R 00 00 01 00 02 05 02 00 -T B8 02 00 00 23 08 00 00 +T D0 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 30 00 02 0B 30 00 +T D6 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 27 00 02 0B 27 00 +T DC 02 00 00 CD 00 00 00 00 F1 F1 21 FF FF C3 +R 00 00 01 00 02 05 01 00 +T E5 02 00 00 E9 09 00 00 R 00 00 01 00 00 04 01 00 -T BA 02 00 00 +T E7 02 00 00 R 00 00 01 00 -T BA 02 00 00 +T E7 02 00 00 R 00 00 01 00 -T BA 02 00 00 2A 00 00 00 00 7D B4 20 17 -R 00 00 01 00 02 05 1C 00 -T C1 02 00 00 +T E7 02 00 00 2A 00 00 00 00 7D B4 20 17 +R 00 00 01 00 02 05 1D 00 +T EE 02 00 00 R 00 00 01 00 -T C1 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0C 00 02 0B 0C 00 -T C7 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 26 00 02 0B 26 00 -T CD 02 00 00 CD 00 00 00 00 F1 F1 21 FF FF C3 -R 00 00 01 00 02 05 02 00 -T D6 02 00 00 23 08 00 00 +T EE 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 +R 00 00 01 00 2B 05 21 00 02 0B 21 00 +T F4 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 27 00 02 0B 27 00 +T FA 02 00 00 CD 00 00 00 00 F1 F1 21 FF FF C3 +R 00 00 01 00 02 05 01 00 +T 03 03 00 00 E9 09 00 00 R 00 00 01 00 00 04 01 00 -T D8 02 00 00 +T 05 03 00 00 R 00 00 01 00 -T D8 02 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 +T 05 03 00 00 DD 6E 04 DD 66 05 23 23 5E 23 56 R 00 00 01 00 -T E3 02 00 00 3E 00 00 00 00 21 00 00 00 00 CD +T 10 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 20 00 02 0A 20 00 -T E9 02 00 00 00 00 00 00 DD 75 F2 DD 74 F3 4D -R 00 00 01 00 02 04 02 00 -T F2 02 00 00 44 2A 04 00 00 00 A7 ED 42 30 1F -R 00 00 01 00 02 06 1C 00 -T FB 02 00 00 -R 00 00 01 00 -T FB 02 00 00 DD 6E F2 DD 66 F3 E5 0E -R 00 00 01 00 -T 03 03 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 12 00 02 0A 12 00 -T 09 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 26 00 02 0A 26 00 -T 0F 03 00 00 00 00 00 00 F1 F1 F1 21 FF FF C3 -R 00 00 01 00 02 04 02 00 -T 18 03 00 00 23 08 00 00 +T 16 03 00 00 00 00 00 00 DD 75 F0 DD 74 F1 4D +R 00 00 01 00 02 04 01 00 +T 1F 03 00 00 44 2A 04 00 00 00 A7 ED 42 30 1F +R 00 00 01 00 02 06 1D 00 +T 28 03 00 00 +R 00 00 01 00 +T 28 03 00 00 DD 6E F0 DD 66 F1 E5 0E +R 00 00 01 00 +T 30 03 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 03 00 02 0A 03 00 +T 36 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 27 00 02 0A 27 00 +T 3C 03 00 00 00 00 00 00 F1 F1 F1 21 FF FF C3 +R 00 00 01 00 02 04 01 00 +T 45 03 00 00 E9 09 00 00 R 00 00 01 00 00 04 01 00 -T 1A 03 00 00 +T 47 03 00 00 R 00 00 01 00 -T 1A 03 00 00 DD 6E F2 DD 66 F3 29 01 +T 47 03 00 00 DD 6E F0 DD 66 F1 29 01 R 00 00 01 00 -T 22 03 00 00 00 00 00 00 09 7E 23 B6 28 1F -R 00 00 01 00 02 04 0E 00 -T 2A 03 00 00 +T 4F 03 00 00 00 00 00 00 09 7E 23 B6 28 1F +R 00 00 01 00 02 04 10 00 +T 57 03 00 00 R 00 00 01 00 -T 2A 03 00 00 DD 6E F2 DD 66 F3 E5 0E +T 57 03 00 00 DD 6E F0 DD 66 F1 E5 0E R 00 00 01 00 -T 32 03 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 00 00 02 0A 00 00 -T 38 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 26 00 02 0A 26 00 -T 3E 03 00 00 00 00 00 00 F1 F1 F1 21 FF FF C3 -R 00 00 01 00 02 04 02 00 -T 47 03 00 00 23 08 00 00 +T 5F 03 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 1C 00 02 0A 1C 00 +T 65 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 27 00 02 0A 27 00 +T 6B 03 00 00 00 00 00 00 F1 F1 F1 21 FF FF C3 +R 00 00 01 00 02 04 01 00 +T 74 03 00 00 E9 09 00 00 R 00 00 01 00 00 04 01 00 -T 49 03 00 00 +T 76 03 00 00 R 00 00 01 00 -T 49 03 00 00 01 69 00 11 01 00 3E 00 00 00 00 -R 00 00 01 00 2B 0B 1A 00 -T 51 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 1A 00 02 0A 02 00 -T 58 03 00 00 75 EE DD 74 EF 23 23 E5 21 06 00 +T 76 03 00 00 01 69 00 11 01 00 3E 00 00 00 00 +R 00 00 01 00 2B 0B 19 00 +T 7E 03 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 19 00 02 0A 01 00 +T 85 03 00 00 75 EC DD 74 ED 23 23 E5 21 06 00 R 00 00 01 00 -T 63 03 00 00 DD 4E 04 DD 46 05 09 5E 23 56 3E +T 90 03 00 00 DD 4E 04 DD 46 05 09 5E 23 56 3E R 00 00 01 00 -T 6E 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0B 00 02 09 0B 00 -T 73 03 00 00 00 00 00 00 EB 13 3E 00 00 00 00 -R 00 00 01 00 02 04 02 00 2B 0B 22 00 -T 79 03 00 00 21 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 22 00 02 0A 02 00 -T 80 03 00 00 E1 73 23 72 21 06 00 09 4E 23 46 +T 9B 03 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0E 00 02 09 0E 00 +T A0 03 00 00 00 00 00 00 EB 13 3E 00 00 00 00 +R 00 00 01 00 02 04 01 00 2B 0B 23 00 +T A6 03 00 00 21 00 00 00 00 CD 00 00 00 00 EB +R 00 00 01 00 02 05 23 00 02 0A 01 00 +T AD 03 00 00 E1 73 23 72 21 06 00 09 4E 23 46 R 00 00 01 00 -T 8B 03 00 00 DD 6E EE DD 66 EF 23 23 5E 23 56 +T B8 03 00 00 DD 6E EC DD 66 ED 23 23 5E 23 56 R 00 00 01 00 -T 96 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 19 00 02 0A 19 00 -T 9C 03 00 00 00 00 00 00 21 10 00 DD 4E EE DD -R 00 00 01 00 02 04 02 00 -T A5 03 00 00 46 EF 09 E5 21 08 00 DD 5E 04 DD +T C3 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 18 00 02 0A 18 00 +T C9 03 00 00 00 00 00 00 21 10 00 DD 4E EC DD +R 00 00 01 00 02 04 01 00 +T D2 03 00 00 46 ED 09 E5 21 08 00 DD 5E 04 DD R 00 00 01 00 -T B0 03 00 00 56 05 19 5E 23 56 3E 00 00 00 00 +T DD 03 00 00 56 05 19 5E 23 56 3E 00 00 00 00 R 00 00 01 00 2B 0B 20 00 -T B8 03 00 00 21 00 00 00 00 CD 00 00 00 00 EB -R 00 00 01 00 02 05 20 00 02 0A 02 00 -T BF 03 00 00 E1 73 23 72 21 2C 00 09 DD 5E F2 +T E5 03 00 00 21 00 00 00 00 CD 00 00 00 00 EB +R 00 00 01 00 02 05 20 00 02 0A 01 00 +T EC 03 00 00 E1 73 23 72 21 2C 00 09 DD 5E F0 R 00 00 01 00 -T CA 03 00 00 DD 56 F3 73 23 72 21 34 00 09 36 +T F7 03 00 00 DD 56 F1 73 23 72 21 34 00 09 36 R 00 00 01 00 -T D5 03 00 00 00 00 00 00 23 36 00 00 00 00 23 -R 00 00 01 00 0B 04 03 00 8B 0A 03 00 -T DA 03 00 00 36 00 00 00 00 01 7B 00 11 01 00 -R 00 00 01 00 2B 05 03 00 -T E2 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 1A 00 02 0A 1A 00 -T E8 03 00 00 00 00 00 00 DD 75 F0 DD 74 F1 01 -R 00 00 01 00 02 04 02 00 -T F1 03 00 00 10 00 09 E5 DD 7E F2 E6 01 6F DD +T 02 04 00 00 00 00 00 00 23 36 00 00 00 00 23 +R 00 00 01 00 0B 04 02 00 8B 0A 02 00 +T 07 04 00 00 36 00 00 00 00 01 81 00 11 01 00 +R 00 00 01 00 2B 05 02 00 +T 0F 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 19 00 02 0A 19 00 +T 15 04 00 00 00 00 00 00 DD 75 EE DD 74 EF 01 +R 00 00 01 00 02 04 01 00 +T 1E 04 00 00 10 00 09 E5 DD 7E F0 E6 01 6F DD R 00 00 01 00 -T FC 03 00 00 7E F3 E6 00 67 29 01 0A 00 00 00 -R 00 00 01 00 02 0B 1C 00 -T 05 04 00 00 09 46 23 66 68 DD 4E F2 DD 46 F3 +T 29 04 00 00 7E F1 E6 00 67 29 01 0A 00 00 00 +R 00 00 01 00 02 0B 1D 00 +T 32 04 00 00 09 46 23 66 68 DD 4E F0 DD 46 F1 R 00 00 01 00 -T 10 04 00 00 CB 38 CB 19 ED 5B 08 00 00 00 CD -R 00 00 01 00 02 0A 1C 00 -T 19 04 00 00 00 00 00 00 19 ED 4B 06 00 00 00 -R 00 00 01 00 02 04 1F 00 02 0B 1C 00 -T 20 04 00 00 09 4D 44 E1 71 23 70 21 12 00 DD +T 3D 04 00 00 CB 38 CB 19 ED 5B 08 00 00 00 CD +R 00 00 01 00 02 0A 1D 00 +T 46 04 00 00 00 00 00 00 19 ED 4B 06 00 00 00 +R 00 00 01 00 02 04 1F 00 02 0B 1D 00 +T 4D 04 00 00 09 4D 44 E1 71 23 70 21 12 00 DD R 00 00 01 00 -T 2B 04 00 00 4E F0 DD 46 F1 09 E5 21 10 00 09 +T 58 04 00 00 4E EE DD 46 EF 09 E5 21 10 00 09 R 00 00 01 00 -T 36 04 00 00 56 23 66 6A ED 5B 0E 00 00 00 19 -R 00 00 01 00 02 0A 1C 00 -T 3F 04 00 00 EB E1 73 23 72 21 4B 00 09 DD 4E +T 63 04 00 00 56 23 66 6A ED 5B 0E 00 00 00 19 +R 00 00 01 00 02 0A 1D 00 +T 6C 04 00 00 EB E1 73 23 72 21 4B 00 09 DD 4E R 00 00 01 00 -T 4A 04 00 00 EE DD 46 EF 71 23 70 21 0A 00 DD +T 77 04 00 00 EC DD 46 ED 71 23 70 21 0A 00 DD R 00 00 01 00 -T 55 04 00 00 4E 04 DD 46 05 09 7E 23 66 6F 4E +T 82 04 00 00 4E 04 DD 46 05 09 7E 23 66 6F 4E R 00 00 01 00 -T 60 04 00 00 06 00 21 00 00 00 00 09 7E E6 02 -R 00 00 01 00 02 07 18 00 -T 69 04 00 00 28 24 +T 8D 04 00 00 06 00 21 00 00 00 00 09 7E E6 02 +R 00 00 01 00 02 07 17 00 +T 96 04 00 00 28 24 R 00 00 01 00 -T 6B 04 00 00 +T 98 04 00 00 R 00 00 01 00 -T 6B 04 00 00 21 0A 00 DD 4E 04 DD 46 05 09 7E +T 98 04 00 00 21 0A 00 DD 4E 04 DD 46 05 09 7E R 00 00 01 00 -T 76 04 00 00 23 66 6F 5E 16 00 3E 00 00 00 00 +T A3 04 00 00 23 66 6F 5E 16 00 3E 00 00 00 00 R 00 00 01 00 2B 0B 05 00 -T 7E 04 00 00 21 00 00 00 00 CD 00 00 00 00 E5 -R 00 00 01 00 02 05 05 00 02 0A 02 00 -T 85 04 00 00 21 0A 00 09 7E 23 66 6F C1 71 +T AB 04 00 00 21 00 00 00 00 CD 00 00 00 00 E5 +R 00 00 01 00 02 05 05 00 02 0A 01 00 +T B2 04 00 00 21 0A 00 09 7E 23 66 6F C1 71 R 00 00 01 00 -T 8F 04 00 00 +T BC 04 00 00 R 00 00 01 00 -T 8F 04 00 00 21 0A 00 DD 4E 04 DD 46 05 09 7E +T BC 04 00 00 21 0A 00 DD 4E 04 DD 46 05 09 7E R 00 00 01 00 -T 9A 04 00 00 23 66 6F 7E FE 64 20 1D +T C7 04 00 00 23 66 6F 7E FE 64 20 1D R 00 00 01 00 -T A2 04 00 00 +T CF 04 00 00 R 00 00 01 00 -T A2 04 00 00 21 58 00 DD 4E F0 DD 46 F1 09 36 +T CF 04 00 00 21 58 00 DD 4E EE DD 46 EF 09 36 R 00 00 01 00 -T AD 04 00 00 01 21 0A 00 DD 4E 04 DD 46 05 09 +T DA 04 00 00 01 21 0A 00 DD 4E 04 DD 46 05 09 R 00 00 01 00 -T B8 04 00 00 34 23 20 01 34 +T E5 04 00 00 34 23 20 01 34 R 00 00 01 00 -T BD 04 00 00 +T EA 04 00 00 R 00 00 01 00 -T BD 04 00 00 18 12 +T EA 04 00 00 18 12 R 00 00 01 00 -T BF 04 00 00 +T EC 04 00 00 R 00 00 01 00 -T BF 04 00 00 FE 65 20 0E 21 57 00 DD 4E F0 DD +T EC 04 00 00 FE 65 20 0E 21 57 00 DD 4E EE DD R 00 00 01 00 -T CA 04 00 00 46 F1 09 36 01 18 00 +T F7 04 00 00 46 EF 09 36 01 18 00 R 00 00 01 00 -T D1 04 00 00 +T FE 04 00 00 R 00 00 01 00 -T D1 04 00 00 21 4D 00 DD 4E F0 DD 46 F1 09 E5 +T FE 04 00 00 21 4D 00 DD 4E EE DD 46 EF 09 E5 R 00 00 01 00 -T DC 04 00 00 21 0C 00 DD 5E 04 DD 56 05 19 5E +T 09 05 00 00 21 0C 00 DD 5E 04 DD 56 05 19 5E R 00 00 01 00 -T E7 04 00 00 23 56 3E 00 00 00 00 21 +T 14 05 00 00 23 56 3E 00 00 00 00 21 R 00 00 01 00 2B 07 20 00 -T EC 04 00 00 00 00 00 00 CD 00 00 00 00 EB E1 -R 00 00 01 00 02 04 20 00 02 09 02 00 -T F3 04 00 00 73 23 72 21 04 00 DD 5E EE DD 56 +T 19 05 00 00 00 00 00 00 CD 00 00 00 00 EB E1 +R 00 00 01 00 02 04 20 00 02 09 01 00 +T 20 05 00 00 73 23 72 21 04 00 DD 5E EC DD 56 R 00 00 01 00 -T FE 04 00 00 EF 19 ED 4B 02 00 00 00 ED 5B -R 00 00 01 00 02 08 27 00 -T 06 05 00 00 00 00 00 00 73 23 72 23 71 23 70 -R 00 00 01 00 02 04 27 00 -T 0F 05 00 00 DD 6E F2 DD 66 F3 29 01 +T 2B 05 00 00 ED 19 ED 4B 02 00 00 00 ED 5B +R 00 00 01 00 02 08 28 00 +T 33 05 00 00 00 00 00 00 73 23 72 23 71 23 70 +R 00 00 01 00 02 04 28 00 +T 3C 05 00 00 DD 6E F0 DD 66 F1 29 01 R 00 00 01 00 -T 17 05 00 00 00 00 00 00 09 DD 4E F0 DD 46 F1 -R 00 00 01 00 02 04 0E 00 -T 20 05 00 00 71 23 70 21 04 00 DD 4E 04 DD 46 +T 44 05 00 00 00 00 00 00 09 DD 4E EE DD 46 EF +R 00 00 01 00 02 04 10 00 +T 4D 05 00 00 71 23 70 DD 4E 02 DD 46 03 21 R 00 00 01 00 -T 2B 05 00 00 05 09 7E 23 66 6F 7E FE 73 C2 +T 57 05 00 00 07 00 CD 00 00 00 00 30 51 +R 00 00 01 00 02 07 25 00 +T 5E 05 00 00 R 00 00 01 00 -T 35 05 00 00 A7 07 00 00 -R 00 00 01 00 00 04 01 00 -T 37 05 00 00 +T 5E 05 00 00 DD 36 FE 00 +R 00 00 01 00 +T 62 05 00 00 +R 00 00 01 00 +T 62 05 00 00 21 0E 00 DD 4E 04 DD 46 05 09 46 +R 00 00 01 00 +T 6D 05 00 00 23 66 68 DD 4E FE 06 00 09 7E B7 +R 00 00 01 00 +T 78 05 00 00 28 35 +R 00 00 01 00 +T 7A 05 00 00 +R 00 00 01 00 +T 7A 05 00 00 21 0E 00 DD 4E 04 DD 46 05 09 56 +R 00 00 01 00 +T 85 05 00 00 23 66 6A DD 5E FE 16 00 19 5E 16 +R 00 00 01 00 +T 90 05 00 00 00 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 05 00 02 0B 05 00 +T 96 05 00 00 CD 00 00 00 00 E5 21 0E 00 09 46 +R 00 00 01 00 02 05 01 00 +T 9F 05 00 00 23 66 68 DD 4E FE 06 00 09 C1 71 +R 00 00 01 00 +T AA 05 00 00 DD 34 FE 18 B3 +R 00 00 01 00 +T AF 05 00 00 +R 00 00 01 00 +T AF 05 00 00 +R 00 00 01 00 +T AF 05 00 00 01 63 00 21 0E 00 DD 5E 04 DD 56 +R 00 00 01 00 +T BA 05 00 00 05 19 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0B 00 +T C2 05 00 00 00 00 00 00 CD 00 00 00 00 7D B4 +R 00 00 01 00 02 04 0B 00 02 09 01 00 +T C9 05 00 00 28 0C +R 00 00 01 00 +T CB 05 00 00 +R 00 00 01 00 +T CB 05 00 00 21 5B 00 DD 4E EE DD 46 EF 09 36 +R 00 00 01 00 +T D6 05 00 00 01 +R 00 00 01 00 +T D7 05 00 00 +R 00 00 01 00 +T D7 05 00 00 01 72 00 21 0E 00 DD 5E 04 DD 56 +R 00 00 01 00 +T E2 05 00 00 05 19 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0B 00 +T EA 05 00 00 00 00 00 00 CD 00 00 00 00 7D B4 +R 00 00 01 00 02 04 0B 00 02 09 01 00 +T F1 05 00 00 28 0C +R 00 00 01 00 +T F3 05 00 00 +R 00 00 01 00 +T F3 05 00 00 21 5C 00 DD 4E EE DD 46 EF 09 36 +R 00 00 01 00 +T FE 05 00 00 01 +R 00 00 01 00 +T FF 05 00 00 +R 00 00 01 00 +T FF 05 00 00 21 04 00 DD 4E 04 DD 46 05 09 7E +R 00 00 01 00 +T 0A 06 00 00 23 66 6F 7E FE 73 C2 33 08 00 00 +R 00 00 01 00 00 0B 01 00 +T 13 06 00 00 R 00 00 01 00 -T 37 05 00 00 DD 5E F0 DD 56 F1 3E 00 00 00 00 +T 13 06 00 00 DD 5E EE DD 56 EF 3E 00 00 00 00 R 00 00 01 00 2B 0B 13 00 -T 3F 05 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 13 00 02 0A 02 00 -T 46 05 00 00 0A 00 DD 4E 04 DD 46 05 09 5E 23 -R 00 00 01 00 -T 51 05 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 23 00 02 0B 23 00 -T 57 05 00 00 CD 00 00 00 00 C5 E5 01 10 00 DD -R 00 00 01 00 02 05 02 00 -T 60 05 00 00 5E F0 DD 56 F1 3E 00 00 00 00 21 +T 1B 06 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 13 00 02 0A 01 00 +T 22 06 00 00 0A 00 DD 4E 04 DD 46 05 09 5E 23 +R 00 00 01 00 +T 2D 06 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 24 00 02 0B 24 00 +T 33 06 00 00 CD 00 00 00 00 C5 E5 01 10 00 DD +R 00 00 01 00 02 05 01 00 +T 3C 06 00 00 5E EE DD 56 EF 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 06 00 -T 68 05 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 06 00 02 09 02 00 -T 6F 05 00 00 DD 75 F4 DD 74 F5 23 23 01 00 00 +T 44 06 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 06 00 02 09 01 00 +T 4B 06 00 00 DD 75 F2 DD 74 F3 23 23 01 00 00 R 00 00 01 00 -T 7A 05 00 00 3E 05 CD 00 00 00 00 C5 E5 21 +T 56 06 00 00 3E 05 CD 00 00 00 00 C5 E5 21 R 00 00 01 00 02 07 15 00 -T 82 05 00 00 12 00 00 00 5E 23 56 23 4E 23 46 -R 00 00 01 00 02 04 1C 00 -T 8B 05 00 00 EB CD 00 00 00 00 E5 21 53 00 DD -R 00 00 01 00 02 06 21 00 -T 94 05 00 00 5E F0 DD 56 F1 19 D1 73 23 72 23 +T 5E 06 00 00 12 00 00 00 5E 23 56 23 4E 23 46 +R 00 00 01 00 02 04 1D 00 +T 67 06 00 00 EB CD 00 00 00 00 E5 21 53 00 DD +R 00 00 01 00 02 06 22 00 +T 70 06 00 00 5E EE DD 56 EF 19 D1 73 23 72 23 R 00 00 01 00 -T 9F 05 00 00 71 23 70 01 0A 00 00 00 DD 5E EE +T 7B 06 00 00 71 23 70 01 0E 00 00 00 DD 5E EC R 00 00 01 00 00 08 02 00 -T A8 05 00 00 DD 56 EF 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 08 00 -T AE 05 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 08 00 02 09 02 00 -T B4 05 00 00 2E 00 DD 4E EE DD 46 EF 09 36 +T 84 06 00 00 DD 56 ED 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 09 00 +T 8A 06 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 09 00 02 09 01 00 +T 90 06 00 00 2E 00 DD 4E EC DD 46 ED 09 36 R 00 00 01 00 -T BE 05 00 00 00 00 00 00 23 36 00 00 00 00 23 -R 00 00 01 00 0B 04 2B 00 8B 0A 2B 00 -T C3 05 00 00 36 00 00 00 00 21 45 00 09 36 -R 00 00 01 00 2B 05 2B 00 -T CA 05 00 00 00 00 00 00 23 36 00 00 00 00 23 -R 00 00 01 00 0B 04 16 00 8B 0A 16 00 -T CF 05 00 00 36 00 00 00 00 AF DD 77 FC DD 77 -R 00 00 01 00 2B 05 16 00 -T D7 05 00 00 FD +T 9A 06 00 00 00 00 00 00 23 36 00 00 00 00 23 +R 00 00 01 00 0B 04 2C 00 8B 0A 2C 00 +T 9F 06 00 00 36 00 00 00 00 AF DD 77 FA DD 77 +R 00 00 01 00 2B 05 2C 00 +T A7 06 00 00 FB R 00 00 01 00 -T D8 05 00 00 +T A8 06 00 00 R 00 00 01 00 -T D8 05 00 00 01 06 80 DD 6E FC DD 66 FD 3E 80 +T A8 06 00 00 01 06 80 DD 6E FA DD 66 FB 3E 80 R 00 00 01 00 -T E3 05 00 00 AC 67 ED 42 30 21 +T B3 06 00 00 AC 67 ED 42 30 40 R 00 00 01 00 -T E9 05 00 00 +T B9 06 00 00 R 00 00 01 00 -T E9 05 00 00 01 19 00 DD 5E FC DD 56 FD CD +T B9 06 00 00 01 19 00 DD 5E FA DD 56 FB CD R 00 00 01 00 -T F3 05 00 00 00 00 00 00 21 00 00 00 00 19 7E -R 00 00 01 00 02 04 1F 00 02 09 0D 00 -T FA 05 00 00 23 B6 20 02 +T C3 06 00 00 00 00 00 00 21 00 00 00 00 19 46 +R 00 00 01 00 02 04 1F 00 02 09 0F 00 +T CA 06 00 00 23 66 68 DD 4E EC DD 46 ED A7 ED R 00 00 01 00 -T FE 05 00 00 +T D5 06 00 00 42 28 15 01 19 00 DD 5E FA DD 56 R 00 00 01 00 -T FE 05 00 00 18 0A +T E0 06 00 00 FB CD 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 02 06 1F 00 02 0B 0F 00 +T E7 06 00 00 19 7E 23 B6 20 02 R 00 00 01 00 -T 00 06 00 00 +T ED 06 00 00 R 00 00 01 00 -T 00 06 00 00 DD 34 FC 20 03 DD 34 FD +T ED 06 00 00 R 00 00 01 00 -T 08 06 00 00 +T ED 06 00 00 R 00 00 01 00 -T 08 06 00 00 18 CE +T ED 06 00 00 18 0A R 00 00 01 00 -T 0A 06 00 00 +T EF 06 00 00 R 00 00 01 00 -T 0A 06 00 00 21 3B 00 DD 4E EE DD 46 EF 09 DD +T EF 06 00 00 DD 34 FA 20 03 DD 34 FB R 00 00 01 00 -T 15 06 00 00 5E FC DD 56 FD 73 23 72 01 19 00 +T F7 06 00 00 R 00 00 01 00 -T 20 06 00 00 CD 00 00 00 00 21 00 00 00 00 19 -R 00 00 01 00 02 05 1F 00 02 0A 0D 00 -T 27 06 00 00 DD 4E EE DD 46 EF 71 23 70 11 +T F7 06 00 00 18 AF R 00 00 01 00 -T 31 06 00 00 19 00 DD 4E FC DD 46 FD CD +T F9 06 00 00 R 00 00 01 00 -T 3A 06 00 00 00 00 00 00 21 0F 00 00 00 19 36 -R 00 00 01 00 02 04 1F 00 02 09 0D 00 -T 41 06 00 00 06 23 36 00 01 19 00 DD 5E FC DD +T F9 06 00 00 01 19 00 DD 5E FA DD 56 FB CD R 00 00 01 00 -T 4C 06 00 00 56 FD CD 00 00 00 00 21 +T 03 07 00 00 00 00 00 00 21 0F 00 00 00 19 36 +R 00 00 01 00 02 04 1F 00 02 09 0F 00 +T 0A 07 00 00 06 23 36 00 01 19 00 DD 5E FA DD +R 00 00 01 00 +T 15 07 00 00 56 FB CD 00 00 00 00 21 R 00 00 01 00 02 07 1F 00 -T 52 06 00 00 11 00 00 00 19 36 00 00 00 00 23 -R 00 00 01 00 02 04 0D 00 0B 0A 1B 00 -T 58 06 00 00 36 00 00 00 00 23 36 00 00 00 00 +T 1B 07 00 00 11 00 00 00 19 36 00 00 00 00 23 +R 00 00 01 00 02 04 0F 00 0B 0A 1B 00 +T 21 07 00 00 36 00 00 00 00 23 36 00 00 00 00 R 00 00 01 00 8B 05 1B 00 2B 0B 1B 00 -T 5D 06 00 00 01 19 00 DD 5E FC DD 56 FD CD -R 00 00 01 00 -T 67 06 00 00 00 00 00 00 21 14 00 00 00 19 36 -R 00 00 01 00 02 04 1F 00 02 09 0D 00 -T 6E 06 00 00 00 00 00 00 23 36 00 00 00 00 23 -R 00 00 01 00 0B 04 2D 00 8B 0A 2D 00 -T 73 06 00 00 36 00 00 00 00 01 0F 00 00 00 DD -R 00 00 01 00 2B 05 2D 00 00 0A 02 00 -T 79 06 00 00 5E EE DD 56 EF 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 07 00 -T 81 06 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 07 00 02 09 02 00 -T 88 06 00 00 FE DD 74 FF DD 4E 02 DD 46 03 21 +T 26 07 00 00 01 19 00 DD 5E FA DD 56 FB CD R 00 00 01 00 -T 93 06 00 00 08 00 CD 00 00 00 00 30 57 01 -R 00 00 01 00 02 07 24 00 -T 9B 06 00 00 76 00 21 10 00 DD 5E 04 DD 56 05 +T 30 07 00 00 00 00 00 00 21 14 00 00 00 19 36 +R 00 00 01 00 02 04 1F 00 02 09 0F 00 +T 37 07 00 00 00 00 00 00 23 36 00 00 00 00 23 +R 00 00 01 00 0B 04 2F 00 8B 0A 2F 00 +T 3C 07 00 00 36 00 00 00 00 01 76 00 21 0E 00 +R 00 00 01 00 2B 05 2F 00 +T 44 07 00 00 DD 5E 04 DD 56 05 19 5E 23 56 3E R 00 00 01 00 -T A6 06 00 00 19 5E 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 0A 00 -T AD 06 00 00 00 00 00 00 CD 00 00 00 00 7D B4 -R 00 00 01 00 02 04 0A 00 02 09 02 00 -T B4 06 00 00 28 3B +T 4F 07 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +T 54 07 00 00 00 00 00 00 7D B4 28 39 +R 00 00 01 00 02 04 01 00 +T 5A 07 00 00 R 00 00 01 00 -T B6 06 00 00 +T 5A 07 00 00 01 19 00 DD 5E FA DD 56 FB CD R 00 00 01 00 -T B6 06 00 00 +T 64 07 00 00 00 00 00 00 21 02 00 00 00 19 7E +R 00 00 01 00 02 04 1F 00 02 09 0F 00 +T 6B 07 00 00 F6 02 77 01 19 00 DD 5E FA DD 56 R 00 00 01 00 -T B6 06 00 00 +T 76 07 00 00 FB CD 00 00 00 00 21 17 00 00 00 +R 00 00 01 00 02 06 1F 00 02 0B 0F 00 +T 7D 07 00 00 19 E5 01 10 00 11 10 00 3E R 00 00 01 00 -T B6 06 00 00 01 19 00 DD 5E FC DD 56 FD CD +T 86 07 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 2E 00 02 09 2E 00 +T 8B 07 00 00 00 00 00 00 4D 44 E1 71 23 70 +R 00 00 01 00 02 04 01 00 +T 93 07 00 00 R 00 00 01 00 -T C0 06 00 00 00 00 00 00 21 02 00 00 00 19 7E -R 00 00 01 00 02 04 1F 00 02 09 0D 00 -T C7 06 00 00 F6 02 77 01 19 00 DD 5E FC DD 56 +T 93 07 00 00 DD 36 FE 00 00 00 00 DD 36 FF +R 00 00 01 00 0B 07 08 00 +T 9A 07 00 00 00 00 00 00 +R 00 00 01 00 8B 04 08 00 +T 9B 07 00 00 R 00 00 01 00 -T D2 06 00 00 FD CD 00 00 00 00 21 17 00 00 00 -R 00 00 01 00 02 06 1F 00 02 0B 0D 00 -T D9 06 00 00 19 E5 01 10 00 11 10 00 3E +T 9B 07 00 00 DD 6E FE DD 66 FF 7E 23 B6 CA R 00 00 01 00 -T E2 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2C 00 02 09 2C 00 -T E7 06 00 00 00 00 00 00 4D 44 E1 71 23 70 18 -R 00 00 01 00 02 04 02 00 -T F0 06 00 00 63 +T A5 07 00 00 30 08 00 00 +R 00 00 01 00 00 04 01 00 +T A7 07 00 00 R 00 00 01 00 -T F1 06 00 00 +T A7 07 00 00 01 0E 00 00 00 DD 6E FE DD 66 FF +R 00 00 01 00 00 05 02 00 +T B0 07 00 00 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 00 00 +T B6 07 00 00 00 00 00 00 CD 00 00 00 00 7D B4 +R 00 00 01 00 02 04 00 00 02 09 01 00 +T BD 07 00 00 20 61 R 00 00 01 00 -T F1 06 00 00 DD 4E 02 DD 46 03 21 07 00 CD +T BF 07 00 00 R 00 00 01 00 -T FB 06 00 00 00 00 00 00 30 55 01 76 00 21 -R 00 00 01 00 02 04 24 00 -T 03 07 00 00 0E 00 DD 5E 04 DD 56 05 19 5E 23 +T BF 07 00 00 DD 5E EC DD 56 ED 21 04 00 DD 4E R 00 00 01 00 -T 0E 07 00 00 56 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0A 00 02 0B 0A 00 -T 14 07 00 00 CD 00 00 00 00 7D B4 28 39 -R 00 00 01 00 02 05 02 00 -T 1B 07 00 00 +T CA 07 00 00 FE DD 46 FF 09 4E 23 46 23 7E 69 R 00 00 01 00 -T 1B 07 00 00 +T D5 07 00 00 60 CD 00 00 00 00 7D B4 28 41 +R 00 00 01 00 02 06 01 00 +T DD 07 00 00 R 00 00 01 00 -T 1B 07 00 00 +T DD 07 00 00 21 06 00 DD 4E 04 DD 46 05 09 4E R 00 00 01 00 -T 1B 07 00 00 01 19 00 DD 5E FC DD 56 FD CD +T E8 07 00 00 23 46 C5 DD 6E EC DD 66 ED 23 23 R 00 00 01 00 -T 25 07 00 00 00 00 00 00 21 02 00 00 00 19 7E -R 00 00 01 00 02 04 1F 00 02 09 0D 00 -T 2C 07 00 00 F6 02 77 01 19 00 DD 5E FC DD 56 +T F3 07 00 00 4E 23 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 09 2D 00 +T FB 07 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 2D 00 2B 0A 27 00 +T 01 08 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 27 00 02 09 01 00 +T 08 08 00 00 F1 F1 DD 5E EC DD 56 ED 3E R 00 00 01 00 -T 37 07 00 00 FD CD 00 00 00 00 21 17 00 00 00 -R 00 00 01 00 02 06 1F 00 02 0B 0D 00 -T 3E 07 00 00 19 E5 01 10 00 11 10 00 3E +T 11 08 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +T 16 08 00 00 00 00 00 00 21 FF FF C3 +R 00 00 01 00 02 04 01 00 +T 1C 08 00 00 E9 09 00 00 +R 00 00 01 00 00 04 01 00 +T 1E 08 00 00 R 00 00 01 00 -T 47 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2C 00 02 09 2C 00 -T 4C 07 00 00 00 00 00 00 4D 44 E1 71 23 70 -R 00 00 01 00 02 04 02 00 -T 54 07 00 00 +T 1E 08 00 00 18 10 R 00 00 01 00 -T 54 07 00 00 +T 20 08 00 00 R 00 00 01 00 -T 54 07 00 00 21 18 00 DD 4E EE DD 46 EF 09 E5 +T 20 08 00 00 DD 7E FE C6 0A DD 77 FE 30 03 DD R 00 00 01 00 -T 5F 07 00 00 01 00 00 C5 01 00 00 C5 01 00 00 +T 2B 08 00 00 34 FF R 00 00 01 00 -T 6A 07 00 00 C5 DD 4E FC DD 46 FD C5 0E +T 2D 08 00 00 R 00 00 01 00 -T 73 07 00 00 00 00 00 00 C5 01 00 00 00 00 C5 -R 00 00 01 00 2B 04 01 00 02 0A 01 00 -T 79 07 00 00 01 00 01 DD 5E FE DD 56 FF 3E +T 2D 08 00 00 C3 9B 07 00 00 +R 00 00 01 00 00 05 01 00 +T 30 08 00 00 R 00 00 01 00 -T 83 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2E 00 02 09 2E 00 -T 88 07 00 00 00 00 00 00 EB 21 0C 00 39 F9 EB -R 00 00 01 00 02 04 02 00 -T 91 07 00 00 4D 44 E1 71 23 70 DD 5E FE DD 56 -R 00 00 01 00 -T 9C 07 00 00 FF 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 17 00 02 0B 17 00 -T A2 07 00 00 CD 00 00 00 00 18 00 -R 00 00 01 00 02 05 02 00 -T A7 07 00 00 +T 30 08 00 00 C3 6D 09 00 00 +R 00 00 01 00 00 05 01 00 +T 33 08 00 00 +R 00 00 01 00 +T 33 08 00 00 FE 70 C2 6D 09 00 00 DD 5E EE DD +R 00 00 01 00 00 07 01 00 +T 3C 08 00 00 56 EF 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 13 00 +T 41 08 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 13 00 02 09 01 00 +T 47 08 00 00 0A 00 DD 4E 04 DD 46 05 09 5E 23 +R 00 00 01 00 +T 52 08 00 00 56 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 24 00 02 0B 24 00 +T 58 08 00 00 CD 00 00 00 00 C5 E5 01 10 00 DD +R 00 00 01 00 02 05 01 00 +T 61 08 00 00 5E EE DD 56 EF 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 06 00 +T 69 08 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 06 00 02 09 01 00 +T 70 08 00 00 DD 75 F2 DD 74 F3 23 23 01 00 00 +R 00 00 01 00 +T 7B 08 00 00 3E 05 CD 00 00 00 00 C5 E5 21 +R 00 00 01 00 02 07 15 00 +T 83 08 00 00 12 00 00 00 5E 23 56 23 4E 23 46 +R 00 00 01 00 02 04 1D 00 +T 8C 08 00 00 EB CD 00 00 00 00 E5 21 53 00 DD +R 00 00 01 00 02 06 22 00 +T 95 08 00 00 5E EE DD 56 EF 19 D1 73 23 72 23 +R 00 00 01 00 +T A0 08 00 00 71 23 70 01 13 00 00 00 DD 5E EC +R 00 00 01 00 00 08 02 00 +T A9 08 00 00 DD 56 ED 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 09 00 +T AF 08 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 09 00 02 09 01 00 +T B5 08 00 00 2E 00 DD 4E EC DD 46 ED 09 36 +R 00 00 01 00 +T BF 08 00 00 00 00 00 00 23 36 00 00 00 00 23 +R 00 00 01 00 0B 04 2C 00 8B 0A 2C 00 +T C4 08 00 00 36 00 00 00 00 21 3B 00 09 AF 77 +R 00 00 01 00 2B 05 2C 00 +T CC 08 00 00 23 77 DD 36 FE 00 00 00 00 DD 36 +R 00 00 01 00 0B 09 08 00 +T D4 08 00 00 FF 00 00 00 00 +R 00 00 01 00 8B 05 08 00 +T D6 08 00 00 +R 00 00 01 00 +T D6 08 00 00 DD 6E FE DD 66 FF 7E 23 B6 CA +R 00 00 01 00 +T E0 08 00 00 6B 09 00 00 +R 00 00 01 00 00 04 01 00 +T E2 08 00 00 +R 00 00 01 00 +T E2 08 00 00 01 13 00 00 00 DD 6E FE DD 66 FF +R 00 00 01 00 00 05 02 00 +T EB 08 00 00 5E 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 08 00 00 +T F1 08 00 00 00 00 00 00 CD 00 00 00 00 7D B4 +R 00 00 01 00 02 04 00 00 02 09 01 00 +T F8 08 00 00 20 61 +R 00 00 01 00 +T FA 08 00 00 +R 00 00 01 00 +T FA 08 00 00 DD 5E EC DD 56 ED 21 04 00 DD 4E R 00 00 01 00 -T A7 07 00 00 2A 00 00 00 00 E5 DD 6E EE DD 66 +T 05 09 00 00 FE DD 46 FF 09 4E 23 46 23 7E 69 +R 00 00 01 00 +T 10 09 00 00 60 CD 00 00 00 00 7D B4 28 41 +R 00 00 01 00 02 06 01 00 +T 18 09 00 00 +R 00 00 01 00 +T 18 09 00 00 21 06 00 DD 4E 04 DD 46 05 09 4E +R 00 00 01 00 +T 23 09 00 00 23 46 C5 DD 6E EC DD 66 ED 23 23 +R 00 00 01 00 +T 2E 09 00 00 4E 23 46 C5 0E 00 00 00 00 C5 21 +R 00 00 01 00 2B 09 2D 00 +T 36 09 00 00 00 00 00 00 E5 3E 00 00 00 00 21 +R 00 00 01 00 02 04 2D 00 2B 0A 27 00 +T 3C 09 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 02 04 27 00 02 09 01 00 +T 43 09 00 00 F1 F1 DD 5E EC DD 56 ED 3E +R 00 00 01 00 +T 4C 09 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +T 51 09 00 00 00 00 00 00 21 FF FF C3 +R 00 00 01 00 02 04 01 00 +T 57 09 00 00 E9 09 00 00 +R 00 00 01 00 00 04 01 00 +T 59 09 00 00 +R 00 00 01 00 +T 59 09 00 00 18 10 +R 00 00 01 00 +T 5B 09 00 00 +R 00 00 01 00 +T 5B 09 00 00 DD 7E FE C6 0A DD 77 FE 30 03 DD +R 00 00 01 00 +T 66 09 00 00 34 FF +R 00 00 01 00 +T 68 09 00 00 +R 00 00 01 00 +T 68 09 00 00 C3 D6 08 00 00 +R 00 00 01 00 00 05 01 00 +T 6B 09 00 00 +R 00 00 01 00 +T 6B 09 00 00 18 00 +R 00 00 01 00 +T 6D 09 00 00 +R 00 00 01 00 +T 6D 09 00 00 2A 00 00 00 00 E5 DD 6E EC DD 66 R 00 00 01 00 02 05 04 00 -T B0 07 00 00 EF C1 71 23 70 DD 6E EE DD 66 EF +T 76 09 00 00 ED C1 71 23 70 DD 6E EC DD 66 ED R 00 00 01 00 -T BB 07 00 00 22 00 00 00 00 01 13 00 00 00 DD +T 81 09 00 00 22 00 00 00 00 01 17 00 00 00 DD R 00 00 01 00 02 05 04 00 00 0A 02 00 -T C2 07 00 00 5E EE DD 56 EF 3E 00 00 00 00 21 +T 88 09 00 00 5E EC DD 56 ED 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 07 00 -T CA 07 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 07 00 02 09 02 00 -T D1 07 00 00 FE DD 74 FF 21 1A 00 DD 4E EE DD -R 00 00 01 00 -T DC 07 00 00 46 EF 09 E5 11 00 00 D5 11 00 00 -R 00 00 01 00 -T E7 07 00 00 D5 C5 01 00 00 C5 0E 00 00 00 00 -R 00 00 01 00 2B 0B 11 00 -T EF 07 00 00 C5 01 00 00 00 00 C5 01 00 02 DD -R 00 00 01 00 02 06 11 00 -T F8 07 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 2E 00 -T 00 08 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 2E 00 02 09 02 00 -T 07 08 00 00 0C 00 39 F9 EB 4D 44 E1 71 23 70 -R 00 00 01 00 -T 12 08 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 17 00 -T 1A 08 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 17 00 02 0A 02 00 -T 21 08 00 00 00 00 -R 00 00 01 00 -T 23 08 00 00 -R 00 00 01 00 -T 23 08 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 09 00 +T 90 09 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 07 00 02 09 01 00 +T 97 09 00 00 FC DD 74 FD 21 1A 00 DD 4E EC DD +R 00 00 01 00 +T A2 09 00 00 46 ED 09 E5 11 00 00 D5 11 00 00 +R 00 00 01 00 +T AD 09 00 00 D5 C5 01 00 00 C5 0E 00 00 00 00 +R 00 00 01 00 2B 0B 12 00 +T B5 09 00 00 C5 01 00 00 00 00 C5 01 00 02 DD +R 00 00 01 00 02 06 12 00 +T BE 09 00 00 5E FC DD 56 FD 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 31 00 +T C6 09 00 00 00 00 00 00 CD 00 00 00 00 EB 21 +R 00 00 01 00 02 04 31 00 02 09 01 00 +T CD 09 00 00 0C 00 39 F9 EB 4D 44 E1 71 23 70 +R 00 00 01 00 +T D8 09 00 00 DD 5E FC DD 56 FD 3E 00 00 00 00 +R 00 00 01 00 2B 0B 16 00 +T E0 09 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 16 00 02 0A 01 00 +T E7 09 00 00 00 00 +R 00 00 01 00 +T E9 09 00 00 +R 00 00 01 00 +T E9 09 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 0A 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 69 6E 69 74 00 R 00 00 02 00 T 05 00 00 00 R 00 00 02 00 -T 05 00 00 00 73 6C 69 70 00 +T 05 00 00 00 70 70 70 00 R 00 00 02 00 -T 0A 00 00 00 +T 09 00 00 00 R 00 00 02 00 -T 0A 00 00 00 53 4C 49 50 00 +T 09 00 00 00 73 6C 69 70 00 R 00 00 02 00 -T 0F 00 00 00 +T 0E 00 00 00 R 00 00 02 00 -T 0F 00 00 00 20 72 78 00 +T 0E 00 00 00 53 4C 49 50 00 R 00 00 02 00 T 13 00 00 00 R 00 00 02 00 -T 13 00 00 00 20 74 78 00 +T 13 00 00 00 50 50 50 00 +R 00 00 02 00 +T 17 00 00 00 +R 00 00 02 00 +T 17 00 00 00 20 74 78 00 R 00 00 02 00 diff --git a/src/nos/lib/z80_lib/escc_frameup.rel b/src/nos/lib/z80_lib/escc_frameup.rel index a9935915..67d9fe06 100644 --- a/src/nos/lib/z80_lib/escc_frameup.rel +++ b/src/nos/lib/z80_lib/escc_frameup.rel @@ -15,7 +15,7 @@ T 00 00 00 00 CD 00 00 00 00 EB 29 01 R 00 00 01 00 02 05 03 00 T 06 00 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 02 04 01 00 -T 0E 00 00 00 6F 00 09 CD 00 00 00 00 21 00 00 +T 0E 00 00 00 75 00 09 CD 00 00 00 00 21 00 00 R 00 00 01 00 02 08 04 00 T 17 00 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 00 00 diff --git a/src/nos/lib/z80_lib/escc_init.rel b/src/nos/lib/z80_lib/escc_init.rel index 3df165d4..d8849dc8 100644 --- a/src/nos/lib/z80_lib/escc_init.rel +++ b/src/nos/lib/z80_lib/escc_init.rel @@ -1,106 +1,189 @@ XL4 -H 2 areas 12 global symbols +H 2 areas 15 global symbols S _Esccmaxvec Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 +S _restore Ref00000000 S _maskon Ref00000000 +S ___02a7_0a8a_ESCC_20driver_20alr Ref00000000 S _getirq Ref00000000 S _Orgivec Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _setirq Ref00000000 -S _escc0_setup Ref00000000 S .__.ABS. Def00000000 -S _escc1_setup Ref00000000 -S ___0268_0a8a_ESCC_20driver_20alr Ref00000000 +S _dirps Ref00000000 +S _write_escc Ref00000000 S _Esccinfo Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ?S_MUL_L02 Ref00000000 S _Esccpolltab Ref00000000 +S ?SS_CMP_L02 Ref00000000 S __printf Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 S _esccnovec Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 11D flags 0 +A CODE size 213 flags 0 S _escc_init Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 F2 FF DD 36 FC 01 -R 00 00 01 00 02 05 0C 00 -T 09 00 00 00 DD 36 FD 00 2A 00 00 00 00 7D B4 -R 00 00 01 00 02 09 0B 00 +T 00 00 00 00 CD 00 00 00 00 EE FF DD 36 F8 01 +R 00 00 01 00 02 05 0D 00 +T 09 00 00 00 DD 36 F9 00 2A 00 00 00 00 7D B4 +R 00 00 01 00 02 09 0C 00 T 12 00 00 00 28 17 R 00 00 01 00 T 14 00 00 00 R 00 00 01 00 T 14 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0A 00 02 0B 0A 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 T 1A 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 +R 00 00 01 00 2B 06 11 00 02 0B 11 00 T 20 00 00 00 CD 00 00 00 00 F1 F1 21 01 00 C3 R 00 00 01 00 02 05 01 00 -T 29 00 00 00 1A 01 00 00 +T 29 00 00 00 10 02 00 00 R 00 00 01 00 00 04 01 00 T 2B 00 00 00 R 00 00 01 00 T 2B 00 00 00 21 01 00 22 00 00 00 00 DD 6E 02 -R 00 00 01 00 02 08 0B 00 +R 00 00 01 00 02 08 0C 00 T 34 00 00 00 DD 66 03 22 02 00 00 00 DD 6E 02 -R 00 00 01 00 02 08 0B 00 +R 00 00 01 00 02 08 0C 00 T 3D 00 00 00 DD 66 03 29 2B 22 04 00 00 00 DD -R 00 00 01 00 02 0A 0B 00 +R 00 00 01 00 02 0A 0C 00 T 46 00 00 00 6E 04 DD 66 05 22 06 00 00 00 DD -R 00 00 01 00 02 0A 0B 00 +R 00 00 01 00 02 0A 0C 00 T 4F 00 00 00 6E 0A DD 66 0B 22 08 00 00 00 DD -R 00 00 01 00 02 0A 0B 00 +R 00 00 01 00 02 0A 0C 00 T 58 00 00 00 6E 0C DD 66 0D 22 0A 00 00 00 DD -R 00 00 01 00 02 0A 0B 00 +R 00 00 01 00 02 0A 0C 00 T 61 00 00 00 6E 0E DD 66 0F 22 0C 00 00 00 DD -R 00 00 01 00 02 0A 0B 00 +R 00 00 01 00 02 0A 0C 00 T 6A 00 00 00 6E 10 DD 66 11 22 0E 00 00 00 DD -R 00 00 01 00 02 0A 0B 00 +R 00 00 01 00 02 0A 0C 00 T 73 00 00 00 6E 14 DD 66 15 22 10 00 00 00 DD -R 00 00 01 00 02 0A 0B 00 +R 00 00 01 00 02 0A 0C 00 T 7C 00 00 00 4E 18 DD 46 19 DD 6E 16 DD 66 17 R 00 00 01 00 T 87 00 00 00 22 12 00 00 00 ED 43 14 00 00 00 -R 00 00 01 00 02 05 0B 00 02 0B 0B 00 +R 00 00 01 00 02 05 0C 00 02 0B 0C 00 T 8E 00 00 00 DD 6E 1A DD 66 1B 22 16 00 00 00 -R 00 00 01 00 02 0B 0B 00 +R 00 00 01 00 02 0B 0C 00 T 97 00 00 00 DD 6E 1C DD 66 1D 22 18 00 00 00 -R 00 00 01 00 02 0B 0B 00 +R 00 00 01 00 02 0B 0C 00 T A0 00 00 00 DD 6E 1E DD 66 1F 22 1A 00 00 00 -R 00 00 01 00 02 0B 0B 00 -T A9 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 07 00 02 0A 07 00 -T AF 00 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 04 01 00 2B 09 09 00 -T B4 00 00 00 00 00 00 00 CD 00 00 00 00 2A -R 00 00 01 00 02 04 09 00 02 09 01 00 -T BA 00 00 00 0A 00 00 00 DD 4E 04 DD 46 05 09 -R 00 00 01 00 02 04 0B 00 -T C3 00 00 00 22 00 00 00 00 2A 0C 00 00 00 09 -R 00 00 01 00 02 05 0D 00 02 0A 0B 00 -T CA 00 00 00 22 02 00 00 00 21 00 00 22 -R 00 00 01 00 02 05 0D 00 -T D1 00 00 00 04 00 00 00 DD 7E 02 87 87 87 87 -R 00 00 01 00 02 04 0D 00 -T DA 00 00 00 32 00 00 00 00 DD 5E 14 DD 56 15 -R 00 00 01 00 02 05 00 00 -T E3 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 03 00 02 0A 03 00 -T E9 00 00 00 00 00 00 00 79 32 02 00 00 00 22 -R 00 00 01 00 02 04 01 00 02 0A 04 00 -T F0 00 00 00 00 00 00 00 0E 00 00 00 00 C5 21 -R 00 00 01 00 02 04 04 00 2B 09 10 00 -T F6 00 00 00 00 00 00 00 E5 DD 5E 14 DD 56 15 -R 00 00 01 00 02 04 10 00 -T FF 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 -T 05 01 00 00 00 00 00 00 F1 F1 DD 5E 14 DD 56 +R 00 00 01 00 02 0B 0C 00 +T A9 00 00 00 AF DD 77 EE DD 77 EF +R 00 00 01 00 +T B0 00 00 00 +R 00 00 01 00 +T B0 00 00 00 DD 4E 02 DD 46 03 DD 6E EE DD 66 +R 00 00 01 00 +T BB 00 00 00 EF CD 00 00 00 00 D2 B9 01 00 00 +R 00 00 01 00 02 06 10 00 00 0B 01 00 +T C2 00 00 00 +R 00 00 01 00 +T C2 00 00 00 DD 4E 0A DD 46 0B DD 5E EE DD 56 +R 00 00 01 00 +T CD 00 00 00 EF CD 00 00 00 00 DD 6E 04 DD 66 +R 00 00 01 00 02 06 0E 00 +T D6 00 00 00 05 19 DD 75 F2 DD 74 F3 3E +R 00 00 01 00 +T DF 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 +T E4 00 00 00 00 00 00 00 DD 75 FA DD 74 FB AF R 00 00 01 00 02 04 01 00 -T 0E 01 00 00 15 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 02 00 02 0B 02 00 -T 14 01 00 00 CD 00 00 00 00 21 00 00 +T ED 00 00 00 DD 77 F0 DD 77 F1 +R 00 00 01 00 +T F3 00 00 00 +R 00 00 01 00 +T F3 00 00 00 01 02 80 DD 6E F0 DD 66 F1 3E 80 +R 00 00 01 00 +T FE 00 00 00 AC 67 ED 42 D2 A0 01 00 00 +R 00 00 01 00 00 09 01 00 +T 05 01 00 00 +R 00 00 01 00 +T 05 01 00 00 DD 36 FE 01 DD 36 FF 00 DD 6E F0 +R 00 00 01 00 +T 10 01 00 00 DD 66 F1 29 01 0A 00 00 00 09 46 +R 00 00 01 00 02 09 0C 00 +T 19 01 00 00 23 66 68 DD 4E F2 DD 46 F3 09 DD +R 00 00 01 00 +T 24 01 00 00 75 F4 DD 74 F5 DD 6E EE DD 66 EF +R 00 00 01 00 +T 2F 01 00 00 29 29 E5 DD 6E F0 DD 66 F1 29 4D +R 00 00 01 00 +T 3A 01 00 00 44 E1 09 01 00 00 00 00 09 DD 4E +R 00 00 01 00 02 08 0F 00 +T 43 01 00 00 F4 DD 46 F5 71 23 70 1E 02 D5 0E +R 00 00 01 00 +T 4E 01 00 00 09 DD 5E F4 DD 56 F5 3E +R 00 00 01 00 +T 56 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0B 00 02 09 0B 00 +T 5B 01 00 00 00 00 00 00 E1 DD 7E F0 DD B6 F1 +R 00 00 01 00 02 04 01 00 +T 64 01 00 00 28 04 3E 40 18 02 +R 00 00 01 00 +T 6A 01 00 00 +R 00 00 01 00 +T 6A 01 00 00 3E 80 +R 00 00 01 00 +T 6C 01 00 00 +R 00 00 01 00 +T 6C 01 00 00 F6 02 4F C5 0E 09 DD 5E F4 DD 56 +R 00 00 01 00 +T 77 01 00 00 F5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 0B 00 02 0B 0B 00 +T 7D 01 00 00 CD 00 00 00 00 E1 0E 0A C5 0E 09 R 00 00 01 00 02 05 01 00 -T 1A 01 00 00 +T 86 01 00 00 DD 5E F4 DD 56 F5 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0B 00 +T 8E 01 00 00 21 00 00 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 05 0B 00 02 0A 01 00 +T 95 01 00 00 DD 34 F0 20 03 DD 34 F1 +R 00 00 01 00 +T 9D 01 00 00 +R 00 00 01 00 +T 9D 01 00 00 C3 F3 00 00 00 +R 00 00 01 00 00 05 01 00 +T A0 01 00 00 +R 00 00 01 00 +T A0 01 00 00 DD 5E FA DD 56 FB 3E 00 00 00 00 +R 00 00 01 00 2B 0B 02 00 +T A8 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 02 00 02 0A 01 00 +T AF 01 00 00 34 EE 20 03 DD 34 EF +R 00 00 01 00 +T B6 01 00 00 +R 00 00 01 00 +T B6 01 00 00 C3 B0 00 00 00 +R 00 00 01 00 00 05 01 00 +T B9 01 00 00 +R 00 00 01 00 +T B9 01 00 00 DD 6E EE DD 66 EF 29 29 01 +R 00 00 01 00 +T C2 01 00 00 00 00 00 00 09 AF 77 23 77 DD 7E +R 00 00 01 00 02 04 0F 00 +T CB 01 00 00 02 87 87 87 87 32 00 00 00 00 DD +R 00 00 01 00 02 0A 00 00 +T D4 01 00 00 5E 14 DD 56 15 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 05 00 +T DC 01 00 00 00 00 00 00 CD 00 00 00 00 79 32 +R 00 00 01 00 02 04 05 00 02 09 01 00 +T E3 01 00 00 02 00 00 00 22 00 00 00 00 0E +R 00 00 01 00 02 04 06 00 02 09 06 00 +T E9 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 +R 00 00 01 00 2B 04 13 00 02 0A 13 00 +T EF 01 00 00 DD 5E 14 DD 56 15 3E 00 00 00 00 +R 00 00 01 00 2B 0B 08 00 +T F7 01 00 00 21 00 00 00 00 CD 00 00 00 00 F1 +R 00 00 01 00 02 05 08 00 02 0A 01 00 +T FE 01 00 00 F1 DD 5E 14 DD 56 15 3E +R 00 00 01 00 +T 06 02 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 03 00 02 09 03 00 +T 0B 02 00 00 00 00 00 00 21 00 00 +R 00 00 01 00 02 04 01 00 +T 10 02 00 00 R 00 00 01 00 -T 1A 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 +T 10 02 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 07 00 diff --git a/src/nos/lib/z80_lib/escc_raw.rel b/src/nos/lib/z80_lib/escc_raw.rel index 12e2f0f2..0ef56222 100644 --- a/src/nos/lib/z80_lib/escc_raw.rel +++ b/src/nos/lib/z80_lib/escc_raw.rel @@ -60,7 +60,7 @@ T 8A 00 00 00 FC DD 56 FD 19 EB 3E 00 00 00 00 R 00 00 01 00 2B 0B 0E 00 T 92 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 0E 00 02 0A 00 00 -T 99 00 00 00 6B 00 DD 4E FC DD 46 FD 09 CD +T 99 00 00 00 71 00 DD 4E FC DD 46 FD 09 CD R 00 00 01 00 T A3 00 00 00 00 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 02 04 09 00 2B 09 06 00 diff --git a/src/nos/lib/z80_lib/escc_sdlcex.rel b/src/nos/lib/z80_lib/escc_sdlcex.rel index 820acbce..84f6bd36 100644 --- a/src/nos/lib/z80_lib/escc_sdlcex.rel +++ b/src/nos/lib/z80_lib/escc_sdlcex.rel @@ -15,7 +15,7 @@ A CODE size 245 flags 0 S _escc_sdlcex Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 63 00 DD +T 00 00 00 00 CD 00 00 00 00 FE FF 21 65 00 DD R 00 00 01 00 02 05 05 00 T 09 00 00 00 4E 02 DD 46 03 09 CD 00 00 00 00 R 00 00 01 00 02 0B 06 00 @@ -55,7 +55,7 @@ T 7B 00 00 00 R 00 00 01 00 T 7B 00 00 00 R 00 00 01 00 -T 7B 00 00 00 21 73 00 DD 4E 02 DD 46 03 09 CD +T 7B 00 00 00 21 79 00 DD 4E 02 DD 46 03 09 CD R 00 00 01 00 T 86 00 00 00 00 00 00 00 R 00 00 01 00 02 04 06 00 @@ -195,7 +195,7 @@ T 02 02 00 00 R 00 00 01 00 T 02 02 00 00 R 00 00 01 00 -T 02 02 00 00 21 73 00 DD 4E 02 DD 46 03 09 CD +T 02 02 00 00 21 79 00 DD 4E 02 DD 46 03 09 CD R 00 00 01 00 T 0D 02 00 00 00 00 00 00 R 00 00 01 00 02 04 06 00 diff --git a/src/nos/lib/z80_lib/escc_sdlcrx.rel b/src/nos/lib/z80_lib/escc_sdlcrx.rel index e19bc636..9c438524 100644 --- a/src/nos/lib/z80_lib/escc_sdlcrx.rel +++ b/src/nos/lib/z80_lib/escc_sdlcrx.rel @@ -15,7 +15,7 @@ A CODE size 1C1 flags 0 S _escc_sdlcrx Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 5B 00 DD +T 00 00 00 00 CD 00 00 00 00 FE FF 21 5D 00 DD R 00 00 01 00 02 05 06 00 T 09 00 00 00 4E 02 DD 46 03 09 CD 00 00 00 00 R 00 00 01 00 02 0B 07 00 @@ -119,7 +119,7 @@ T 46 01 00 00 5E 02 DD 56 03 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 05 00 T 4E 01 00 00 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 04 05 00 02 09 00 00 -T 54 01 00 00 77 00 DD 4E 02 DD 46 03 09 34 23 +T 54 01 00 00 7D 00 DD 4E 02 DD 46 03 09 34 23 R 00 00 01 00 T 5F 01 00 00 20 01 34 R 00 00 01 00 diff --git a/src/nos/lib/z80_lib/escc_sdlcsp.rel b/src/nos/lib/z80_lib/escc_sdlcsp.rel index e162be93..0feb9c1a 100644 --- a/src/nos/lib/z80_lib/escc_sdlcsp.rel +++ b/src/nos/lib/z80_lib/escc_sdlcsp.rel @@ -17,7 +17,7 @@ A CODE size 1AC flags 0 S _escc_sdlcsp Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FC FF 21 67 00 DD +T 00 00 00 00 CD 00 00 00 00 FC FF 21 69 00 DD R 00 00 01 00 02 05 07 00 T 09 00 00 00 4E 02 DD 46 03 09 CD 00 00 00 00 R 00 00 01 00 02 0B 08 00 @@ -37,7 +37,7 @@ T 43 00 00 00 FC E6 20 28 3F R 00 00 01 00 T 48 00 00 00 R 00 00 01 00 -T 48 00 00 00 21 79 00 DD 4E 02 DD 46 03 09 34 +T 48 00 00 00 21 7F 00 DD 4E 02 DD 46 03 09 34 R 00 00 01 00 T 53 00 00 00 23 20 01 34 R 00 00 01 00 @@ -133,7 +133,7 @@ T 57 01 00 00 43 00 DD 4E 02 DD 46 03 09 E5 21 R 00 00 01 00 T 62 01 00 00 45 00 09 AF 77 23 77 E1 AF 77 23 R 00 00 01 00 -T 6D 01 00 00 77 21 6F 00 09 CD 00 00 00 00 18 +T 6D 01 00 00 77 21 75 00 09 CD 00 00 00 00 18 R 00 00 01 00 02 0A 08 00 T 76 01 00 00 1B R 00 00 01 00 @@ -143,7 +143,7 @@ T 77 01 00 00 DD 5E 02 DD 56 03 3E 00 00 00 00 R 00 00 01 00 2B 0B 06 00 T 7F 01 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 06 00 02 0A 00 00 -T 86 01 00 00 73 00 DD 4E 02 DD 46 03 09 CD +T 86 01 00 00 79 00 DD 4E 02 DD 46 03 09 CD R 00 00 01 00 T 90 01 00 00 00 00 00 00 R 00 00 01 00 02 04 08 00 diff --git a/src/nos/lib/z80_lib/escc_sdlctx.rel b/src/nos/lib/z80_lib/escc_sdlctx.rel index 1e600065..14ba04f2 100644 --- a/src/nos/lib/z80_lib/escc_sdlctx.rel +++ b/src/nos/lib/z80_lib/escc_sdlctx.rel @@ -15,7 +15,7 @@ A CODE size 289 flags 0 S _escc_sdlctx Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 FE FF 21 5F 00 DD +T 00 00 00 00 CD 00 00 00 00 FE FF 21 61 00 DD R 00 00 01 00 02 05 05 00 T 09 00 00 00 4E 02 DD 46 03 09 CD 00 00 00 00 R 00 00 01 00 02 0B 06 00 @@ -59,7 +59,7 @@ T 90 00 00 00 40 28 48 R 00 00 01 00 T 93 00 00 00 R 00 00 01 00 -T 93 00 00 00 21 79 00 DD 4E 02 DD 46 03 09 34 +T 93 00 00 00 21 7F 00 DD 4E 02 DD 46 03 09 34 R 00 00 01 00 T 9E 00 00 00 23 20 01 34 R 00 00 01 00 diff --git a/src/nos/lib/z80_lib/escc_sstart.rel b/src/nos/lib/z80_lib/escc_sstart.rel index 309bea23..117ec652 100644 --- a/src/nos/lib/z80_lib/escc_sstart.rel +++ b/src/nos/lib/z80_lib/escc_sstart.rel @@ -1,48 +1,84 @@ XL4 -H 2 areas 8 global symbols +H 2 areas A global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 +S _restore Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S .__.ABS. Def00000000 -S ?ENT_PARM_DIRECT_L09 Ref00000000 -S _dequeue Ref00000000 +S _dirps Ref00000000 +S _write_escc Ref00000000 +S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S _outportb Ref00000000 +S _escc_asytx Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 54 flags 0 +A CODE size C2 flags 0 S _escc_sstart Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 CD 00 00 00 00 21 49 00 19 7E 23 -R 00 00 01 00 02 05 03 00 -T 09 00 00 00 B6 20 0F 21 47 00 DD 4E 02 DD 46 +T 00 00 00 00 CD 00 00 00 00 FE FF 21 49 00 DD +R 00 00 01 00 02 05 06 00 +T 09 00 00 00 4E 02 DD 46 03 09 7E 23 B6 20 0F R 00 00 01 00 -T 14 00 00 00 03 09 7E 23 B6 20 02 +T 14 00 00 00 21 47 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 1B 00 00 00 +T 1F 00 00 00 23 B6 20 03 R 00 00 01 00 -T 1B 00 00 00 +T 23 00 00 00 R 00 00 01 00 -T 1B 00 00 00 +T 23 00 00 00 R 00 00 01 00 -T 1B 00 00 00 18 34 +T 23 00 00 00 R 00 00 01 00 -T 1D 00 00 00 +T 23 00 00 00 C3 BF 00 00 00 +R 00 00 01 00 00 05 01 00 +T 26 00 00 00 R 00 00 01 00 -T 1D 00 00 00 21 49 00 DD 4E 02 DD 46 03 09 E5 +T 26 00 00 00 21 5B 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 -T 28 00 00 00 21 47 00 09 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 04 00 -T 30 00 00 00 00 00 00 00 CD 00 00 00 00 EB E1 -R 00 00 01 00 02 04 04 00 02 09 00 00 -T 37 00 00 00 73 23 72 0E C0 21 12 00 DD 5E 02 +T 31 00 00 00 B7 28 11 21 24 00 DD 4E 02 DD 46 R 00 00 01 00 -T 42 00 00 00 DD 56 03 19 5E 23 56 3E +T 3C 00 00 00 03 09 7E E6 20 20 02 R 00 00 01 00 -T 4A 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 -T 4F 00 00 00 00 00 00 00 +T 43 00 00 00 +R 00 00 01 00 +T 43 00 00 00 +R 00 00 01 00 +T 43 00 00 00 +R 00 00 01 00 +T 43 00 00 00 18 7A +R 00 00 01 00 +T 45 00 00 00 +R 00 00 01 00 +T 45 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 04 00 02 0A 04 00 +T 4B 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 21 +R 00 00 01 00 02 04 00 00 +T 54 00 00 00 19 00 DD 4E 02 DD 46 03 09 7E E6 +R 00 00 01 00 +T 5F 00 00 00 F7 77 5F D5 0E 05 21 10 00 DD 5E +R 00 00 01 00 +T 6A 00 00 00 02 DD 56 03 19 5E 23 56 3E +R 00 00 01 00 +T 73 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 78 00 00 00 00 00 00 00 E1 DD 5E 02 DD 56 03 R 00 00 01 00 02 04 00 00 -T 51 00 00 00 +T 81 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 08 00 02 0A 08 00 +T 87 00 00 00 00 00 00 00 21 19 00 DD 4E 02 DD +R 00 00 01 00 02 04 00 00 +T 90 00 00 00 46 03 09 7E F6 08 77 5F D5 0E 05 +R 00 00 01 00 +T 9B 00 00 00 21 10 00 DD 5E 02 DD 56 03 19 5E +R 00 00 01 00 +T A6 00 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 05 00 +T AB 00 00 00 00 00 00 00 CD 00 00 00 00 E1 DD +R 00 00 01 00 02 04 05 00 02 09 00 00 +T B2 00 00 00 5E FE DD 56 FF 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 01 00 +T BA 00 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 01 00 02 09 00 00 +T BF 00 00 00 R 00 00 01 00 -T 51 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 01 00 +T BF 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/z80_lib/escc_write.rel b/src/nos/lib/z80_lib/escc_write.rel new file mode 100644 index 00000000..c99e492c --- /dev/null +++ b/src/nos/lib/z80_lib/escc_write.rel @@ -0,0 +1,152 @@ +XL4 +H 2 areas 10 global symbols +S ?BANK_CALL_DIRECT_L08 Ref00000000 +S _restore Ref00000000 +S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S _alloc_mbuf Ref00000000 +S _Esccchan Ref00000000 +S .__.ABS. Def00000000 +S _dirps Ref00000000 +S _write_escc Ref00000000 +S _Esccinfo Ref00000000 +S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ?SS_CMP_L02 Ref00000000 +S ?CL64180B_4_06_L00 Ref00000000 +S _escc_asytx Ref00000000 +S _pushdown Ref00000000 +S _enqueue Ref00000000 +A _DEFAULT size 0 flags 0 +A CODE size 17A flags 0 +S _escc_write Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 CD 00 00 00 00 F8 FF DD CB 03 7E +R 00 00 01 00 02 05 09 00 +T 09 00 00 00 20 0E 2A 04 00 00 00 DD 4E 02 DD +R 00 00 01 00 02 07 08 00 +T 12 00 00 00 46 03 CD 00 00 00 00 30 06 +R 00 00 01 00 02 07 0A 00 +T 19 00 00 00 +R 00 00 01 00 +T 19 00 00 00 +R 00 00 01 00 +T 19 00 00 00 +R 00 00 01 00 +T 19 00 00 00 21 FF FF C3 77 01 00 00 +R 00 00 01 00 00 08 01 00 +T 1F 00 00 00 +R 00 00 01 00 +T 1F 00 00 00 DD 7E 0A DD B6 0B 20 06 +R 00 00 01 00 +T 27 00 00 00 +R 00 00 01 00 +T 27 00 00 00 21 00 00 C3 77 01 00 00 +R 00 00 01 00 00 08 01 00 +T 2D 00 00 00 +R 00 00 01 00 +T 2D 00 00 00 DD 6E 02 DD 66 03 29 01 +R 00 00 01 00 +T 35 00 00 00 00 00 00 00 09 46 23 66 68 DD 75 +R 00 00 01 00 02 04 04 00 +T 3E 00 00 00 F8 DD 74 F9 01 4B 00 09 46 23 66 +R 00 00 01 00 +T 49 00 00 00 68 DD 75 FA DD 74 FB 7D B4 20 06 +R 00 00 01 00 +T 54 00 00 00 +R 00 00 01 00 +T 54 00 00 00 21 FF FF C3 77 01 00 00 +R 00 00 01 00 00 08 01 00 +T 5A 00 00 00 +R 00 00 01 00 +T 5A 00 00 00 21 5B 00 DD 4E F8 DD 46 F9 09 7E +R 00 00 01 00 +T 65 00 00 00 B7 28 15 21 24 00 DD 4E F8 DD 46 +R 00 00 01 00 +T 70 00 00 00 F9 09 7E E6 20 20 06 +R 00 00 01 00 +T 77 00 00 00 +R 00 00 01 00 +T 77 00 00 00 +R 00 00 01 00 +T 77 00 00 00 +R 00 00 01 00 +T 77 00 00 00 21 00 00 C3 77 01 00 00 +R 00 00 01 00 00 08 01 00 +T 7D 00 00 00 +R 00 00 01 00 +T 7D 00 00 00 DD 5E 0A DD 56 0B 3E 00 00 00 00 +R 00 00 01 00 2B 0B 03 00 +T 85 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 03 00 02 0A 00 00 +T 8C 00 00 00 75 FC DD 74 FD 7D B4 28 1E +R 00 00 01 00 +T 95 00 00 00 +R 00 00 01 00 +T 95 00 00 00 DD 6E 0A DD 66 0B E5 DD 4E 04 DD +R 00 00 01 00 +T A0 00 00 00 46 05 21 06 00 39 5D 54 3E +R 00 00 01 00 +T A9 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 0D 00 02 09 0D 00 +T AE 00 00 00 00 00 00 00 E1 18 06 +R 00 00 01 00 02 04 00 00 +T B3 00 00 00 +R 00 00 01 00 +T B3 00 00 00 21 FF FF C3 77 01 00 00 +R 00 00 01 00 00 08 01 00 +T B9 00 00 00 +R 00 00 01 00 +T B9 00 00 00 21 49 00 DD 4E F8 DD 46 F9 09 7E +R 00 00 01 00 +T C4 00 00 00 23 B6 28 22 +R 00 00 01 00 +T C8 00 00 00 +R 00 00 01 00 +T C8 00 00 00 21 04 00 39 4D 44 21 47 00 DD 5E +R 00 00 01 00 +T D3 00 00 00 F8 DD 56 F9 19 EB 3E 00 00 00 00 +R 00 00 01 00 2B 0B 0E 00 +T DB 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +R 00 00 01 00 02 05 0E 00 02 0A 00 00 +T E2 00 00 00 6E 0A DD 66 0B C3 77 01 00 00 +R 00 00 01 00 00 0A 01 00 +T EA 00 00 00 +R 00 00 01 00 +T EA 00 00 00 21 49 00 DD 4E F8 DD 46 F9 09 DD +R 00 00 01 00 +T F5 00 00 00 5E FC DD 56 FD 73 23 72 3E +R 00 00 01 00 +T FE 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 06 00 02 09 06 00 +T 03 01 00 00 00 00 00 00 DD 75 FE DD 74 FF 21 +R 00 00 01 00 02 04 00 00 +T 0C 01 00 00 19 00 09 7E E6 F7 77 5F D5 0E 05 +R 00 00 01 00 +T 17 01 00 00 21 10 00 DD 5E F8 DD 56 F9 19 5E +R 00 00 01 00 +T 22 01 00 00 23 56 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 07 00 +T 27 01 00 00 00 00 00 00 CD 00 00 00 00 E1 DD +R 00 00 01 00 02 04 07 00 02 09 00 00 +T 2E 01 00 00 5E F8 DD 56 F9 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 0C 00 +T 36 01 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 04 0C 00 02 09 00 00 +T 3C 01 00 00 19 00 DD 4E F8 DD 46 F9 09 7E F6 +R 00 00 01 00 +T 47 01 00 00 08 77 5F D5 0E 05 21 10 00 DD 5E +R 00 00 01 00 +T 52 01 00 00 F8 DD 56 F9 19 5E 23 56 3E +R 00 00 01 00 +T 5B 01 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 07 00 02 09 07 00 +T 60 01 00 00 00 00 00 00 E1 DD 5E FE DD 56 FF +R 00 00 01 00 02 04 00 00 +T 69 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 01 00 02 0A 01 00 +T 6F 01 00 00 00 00 00 00 DD 6E 0A DD 66 0B +R 00 00 01 00 02 04 00 00 +T 77 01 00 00 +R 00 00 01 00 +T 77 01 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/z80_lib/esccvec.rel b/src/nos/lib/z80_lib/esccvec.rel index 443523c3..d10cb6f3 100644 --- a/src/nos/lib/z80_lib/esccvec.rel +++ b/src/nos/lib/z80_lib/esccvec.rel @@ -1,5 +1,5 @@ XL4 -H 3 areas 10 global symbols +H 2 areas D global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?BANK_FAST_LEAVE_L08 Ref00000000 S _Esccpolltab Ref00000000 @@ -13,107 +13,37 @@ S _Esccmaxvec Ref00000000 S _Stktop Ref00000000 S _Esccchan Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size 109 flags 0 -S _escc0_setup Def00000000 -S _escc1_setup Def0000007D -A RCODE size 9A flags 0 -S _esccnovec Def00000029 -S _escc_rpb Def00000000 +A RCODE size 71 flags 0 +S _esccnovec Def00000000 T 00 00 00 00 R 00 00 01 00 -T 00 00 00 00 C5 D5 01 15 02 F3 ED 70 16 09 ED -R 00 00 01 00 -T 0B 00 00 00 51 3E 02 ED 79 00 ED 51 3E 82 ED -R 00 00 01 00 -T 16 00 00 00 79 16 05 ED 51 3E EA ED 79 16 02 -R 00 00 01 00 -T 21 00 00 00 ED 51 97 ED 79 16 04 ED 51 3E 44 -R 00 00 01 00 -T 2C 00 00 00 ED 79 16 03 ED 51 3E C1 ED 79 16 -R 00 00 01 00 -T 37 00 00 00 0F ED 51 97 ED 79 15 ED 51 97 ED -R 00 00 01 00 -T 42 00 00 00 79 16 0C ED 51 3E 2E ED 79 14 ED -R 00 00 01 00 -T 4D 00 00 00 51 97 ED 79 14 ED 51 3E 02 ED 79 -R 00 00 01 00 -T 58 00 00 00 00 ED 51 F6 01 ED 79 16 0B ED 51 -R 00 00 01 00 -T 63 00 00 00 3E 52 ED 79 16 01 ED 51 3E 13 ED -R 00 00 01 00 -T 6E 00 00 00 79 16 09 ED 51 3E 0A ED 79 FB D1 -R 00 00 01 00 -T 79 00 00 00 C1 C3 00 00 00 00 -R 00 00 01 00 02 06 01 00 -T 7D 00 00 00 -R 00 00 01 00 -T 7D 00 00 00 C5 D5 01 14 02 F3 ED 70 16 09 ED -R 00 00 01 00 -T 88 00 00 00 51 3E 02 ED 79 00 ED 51 3E 42 ED -R 00 00 01 00 -T 93 00 00 00 79 16 05 ED 51 3E EA ED 79 16 02 -R 00 00 01 00 -T 9E 00 00 00 ED 51 97 ED 79 16 04 ED 51 3E 44 -R 00 00 01 00 -T A9 00 00 00 ED 79 16 03 ED 51 3E C1 ED 79 16 -R 00 00 01 00 -T B4 00 00 00 0F ED 51 97 ED 79 15 ED 51 97 ED +T 00 00 00 00 F3 F5 E5 3A FC 10 2A 80 0F ED 29 R 00 00 01 00 -T BF 00 00 00 79 16 0C ED 51 3E 2E ED 79 14 ED +T 0B 00 00 00 39 ED 21 3A 32 00 00 00 00 ED 73 +R 00 00 01 00 02 09 04 00 +T 14 00 00 00 00 00 00 00 31 00 00 00 00 FD E5 +R 00 00 01 00 02 04 03 00 02 09 0A 00 +T 1B 00 00 00 ED 38 38 F5 C5 D5 R 00 00 01 00 -T CA 00 00 00 51 97 ED 79 14 ED 51 3E 02 ED 79 +T 21 00 00 00 R 00 00 01 00 -T D5 00 00 00 00 ED 51 3C ED 79 16 0B ED 51 3E +T 21 00 00 00 21 00 00 00 00 +R 00 00 01 00 02 05 02 00 +T 24 00 00 00 R 00 00 01 00 -T E0 00 00 00 52 ED 79 16 01 ED 51 3E 13 ED 79 +T 24 00 00 00 4E 23 46 23 79 B0 CA 00 00 00 00 +R 00 00 01 00 02 0B 07 00 +T 2D 00 00 00 3E 03 ED 79 00 ED 78 B7 20 04 23 R 00 00 01 00 -T EB 00 00 00 16 05 ED 51 3E E8 ED 79 16 09 ED +T 38 00 00 00 23 18 E9 4E 23 46 3E 02 ED 79 00 R 00 00 01 00 -T F6 00 00 00 51 3E 0A ED 79 ED 38 34 F6 04 ED +T 43 00 00 00 ED 78 5F 1F DA 00 00 00 00 1F E6 +R 00 00 01 00 02 09 07 00 +T 4C 00 00 00 3E EE 02 4F 06 00 21 00 00 00 00 +R 00 00 01 00 02 0B 0B 00 +T 55 00 00 00 09 7E 23 66 6F B4 CA 00 00 00 00 +R 00 00 01 00 02 0B 07 00 +T 5E 00 00 00 E5 7B E6 06 07 4F 09 5E 23 56 23 R 00 00 01 00 -T 01 01 00 00 39 34 FB D1 C1 C3 00 00 00 00 -R 00 00 01 00 02 0A 01 00 -T 00 00 00 00 -R 00 00 02 00 -T 00 00 00 00 F3 F5 E5 3A FC 10 2A 80 0F ED 29 -R 00 00 02 00 -T 0B 00 00 00 39 ED 21 3A 32 00 00 00 00 ED 73 -R 00 00 02 00 02 09 04 00 -T 14 00 00 00 00 00 00 00 31 00 00 00 00 FD E5 -R 00 00 02 00 02 04 03 00 02 09 0A 00 -T 1B 00 00 00 ED 38 38 F5 C5 D5 3E 40 CD -R 00 00 02 00 -T 24 00 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 02 00 02 04 05 00 02 09 07 00 -T 29 00 00 00 -R 00 00 02 00 -T 29 00 00 00 F3 F5 E5 3A FC 10 2A 80 0F ED 29 -R 00 00 02 00 -T 34 00 00 00 39 ED 21 3A 32 00 00 00 00 ED 73 -R 00 00 02 00 02 09 04 00 -T 3D 00 00 00 00 00 00 00 31 00 00 00 00 FD E5 -R 00 00 02 00 02 04 03 00 02 09 0A 00 -T 44 00 00 00 ED 38 38 F5 C5 D5 -R 00 00 02 00 -T 4A 00 00 00 -R 00 00 02 00 -T 4A 00 00 00 21 00 00 00 00 -R 00 00 02 00 02 05 02 00 -T 4D 00 00 00 -R 00 00 02 00 -T 4D 00 00 00 4E 23 46 23 79 B0 CA 00 00 00 00 -R 00 00 02 00 02 0B 07 00 -T 56 00 00 00 3E 03 ED 79 00 ED 78 B7 20 04 23 -R 00 00 02 00 -T 61 00 00 00 23 18 E9 4E 23 46 3E 02 ED 79 00 -R 00 00 02 00 -T 6C 00 00 00 ED 78 5F 1F DA 00 00 00 00 1F E6 -R 00 00 02 00 02 09 07 00 -T 75 00 00 00 3E EE 02 4F 06 00 21 00 00 00 00 -R 00 00 02 00 02 0B 0B 00 -T 7E 00 00 00 09 7E 23 66 6F B4 CA 00 00 00 00 -R 00 00 02 00 02 0B 07 00 -T 87 00 00 00 E5 7B E6 06 07 4F 09 5E 23 56 23 -R 00 00 02 00 -T 92 00 00 00 7E EB D1 CD 00 00 00 00 18 B0 -R 00 00 02 00 02 08 00 00 +T 69 00 00 00 7E EB D1 CD 00 00 00 00 18 B0 +R 00 00 01 00 02 08 00 00 diff --git a/src/nos/lib/z80_lib/get_escc.rel b/src/nos/lib/z80_lib/get_escc.rel index ee4bbb42..f87e0ce4 100644 --- a/src/nos/lib/z80_lib/get_escc.rel +++ b/src/nos/lib/z80_lib/get_escc.rel @@ -1,21 +1,22 @@ XL4 -H 2 areas A global symbols +H 2 areas B global symbols S ?BANK_CALL_DIRECT_L08 Ref00000000 S _restore Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _Esccchan Ref00000000 +S _Curproc Ref00000000 S .__.ABS. Def00000000 S _kwait Ref00000000 S _dirps Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size DD flags 0 +A CODE size F5 flags 0 S _get_escc Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F8 FF DD 6E 02 DD -R 00 00 01 00 02 05 07 00 +R 00 00 01 00 02 05 08 00 T 09 00 00 00 66 03 29 01 00 00 00 00 09 46 23 R 00 00 01 00 02 08 03 00 T 12 00 00 00 66 68 01 26 00 09 DD 75 F8 DD 74 @@ -25,7 +26,7 @@ R 00 00 01 00 T 1E 00 00 00 R 00 00 01 00 T 1E 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 06 00 02 0A 06 00 +R 00 00 01 00 2B 05 07 00 02 0A 07 00 T 24 00 00 00 00 00 00 00 DD 75 FD DD 74 FE 21 R 00 00 01 00 02 04 00 00 T 2D 00 00 00 08 00 DD 4E F8 DD 46 F9 09 46 23 @@ -42,39 +43,55 @@ T 4F 00 00 00 23 46 0B 70 2B 71 DD 5E FD DD 56 R 00 00 01 00 T 5A 00 00 00 FE 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 01 00 02 0B 01 00 -T 60 00 00 00 CD 00 00 00 00 18 1E +T 60 00 00 00 CD 00 00 00 00 18 36 R 00 00 01 00 02 05 00 00 T 65 00 00 00 R 00 00 01 00 T 65 00 00 00 DD 5E FD DD 56 FE 3E 00 00 00 00 R 00 00 01 00 2B 0B 01 00 -T 6D 00 00 00 21 00 00 00 00 CD 00 00 00 00 DD +T 6D 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 R 00 00 01 00 02 05 01 00 02 0A 00 00 -T 74 00 00 00 5E F8 DD 56 F9 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 05 00 -T 7C 00 00 00 00 00 00 00 CD 00 00 00 00 18 9B -R 00 00 01 00 02 04 05 00 02 09 00 00 -T 83 00 00 00 +T 74 00 00 00 4F 00 ED 4B 00 00 00 00 09 E5 DD +R 00 00 01 00 02 08 04 00 +T 7D 00 00 00 5E F8 DD 56 F9 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 06 00 +T 85 00 00 00 00 00 00 00 CD 00 00 00 00 4D 44 +R 00 00 01 00 02 04 06 00 02 09 00 00 +T 8C 00 00 00 E1 71 23 70 79 B0 28 05 R 00 00 01 00 -T 83 00 00 00 21 06 00 DD 4E F8 DD 46 F9 09 5E +T 94 00 00 00 R 00 00 01 00 -T 8E 00 00 00 23 56 13 72 2B 73 1B 1A DD 77 FA +T 94 00 00 00 21 FF FF 18 59 R 00 00 01 00 -T 99 00 00 00 03 03 0A 6F 03 0A 67 E5 DD 6E F8 +T 99 00 00 00 R 00 00 01 00 -T A4 00 00 00 DD 66 F9 4E 23 46 E1 09 4D 44 21 +T 99 00 00 00 18 83 R 00 00 01 00 -T AF 00 00 00 06 00 DD 5E F8 DD 56 F9 19 56 23 +T 9B 00 00 00 R 00 00 01 00 -T BA 00 00 00 66 6A A7 ED 42 38 14 +T 9B 00 00 00 21 06 00 DD 4E F8 DD 46 F9 09 5E R 00 00 01 00 -T C1 00 00 00 +T A6 00 00 00 23 56 13 72 2B 73 1B 1A DD 77 FA R 00 00 01 00 -T C1 00 00 00 21 06 00 DD 4E F8 DD 46 F9 09 E5 +T B1 00 00 00 03 03 0A 6F 03 0A 67 E5 DD 6E F8 R 00 00 01 00 -T CC 00 00 00 69 60 4E 23 46 E1 71 23 70 +T BC 00 00 00 DD 66 F9 4E 23 46 E1 09 4D 44 21 R 00 00 01 00 -T D5 00 00 00 +T C7 00 00 00 06 00 DD 5E F8 DD 56 F9 19 56 23 R 00 00 01 00 -T D5 00 00 00 DD 6E FA 26 00 C3 00 00 00 00 -R 00 00 01 00 02 0A 02 00 +T D2 00 00 00 66 6A A7 ED 42 38 14 +R 00 00 01 00 +T D9 00 00 00 +R 00 00 01 00 +T D9 00 00 00 21 06 00 DD 4E F8 DD 46 F9 09 E5 +R 00 00 01 00 +T E4 00 00 00 69 60 4E 23 46 E1 71 23 70 +R 00 00 01 00 +T ED 00 00 00 +R 00 00 01 00 +T ED 00 00 00 DD 6E FA 26 00 +R 00 00 01 00 +T F2 00 00 00 +R 00 00 01 00 +T F2 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 02 00 diff --git a/src/nos/lib/z80_lib/get_rlsd_escc.rel b/src/nos/lib/z80_lib/get_rlsd_escc.rel new file mode 100644 index 00000000..319ac959 --- /dev/null +++ b/src/nos/lib/z80_lib/get_rlsd_escc.rel @@ -0,0 +1,77 @@ +XL4 +H 2 areas 9 global symbols +S ?BANK_CALL_DIRECT_L08 Ref00000000 +S _ppause Ref00000000 +S ?BANK_LEAVE_DIRECT_L08 Ref00000000 +S _Esccchan Ref00000000 +S .__.ABS. Def00000000 +S _kwait Ref00000000 +S ?ENT_AUTO_DIRECT_L09 Ref00000000 +S ?CL64180B_4_06_L00 Ref00000000 +A _DEFAULT size 0 flags 0 +A CODE size 83 flags 0 +S _get_rlsd_escc Def00000000 +T 00 00 00 00 +R 00 00 01 00 +T 00 00 00 00 CD 00 00 00 00 FE FF DD 6E 02 DD +R 00 00 01 00 02 05 06 00 +T 09 00 00 00 66 03 29 11 00 00 00 00 19 56 23 +R 00 00 01 00 02 08 03 00 +T 12 00 00 00 66 6A DD 75 FE DD 74 FF 11 5C 00 +R 00 00 01 00 +T 1D 00 00 00 19 7E B7 20 05 +R 00 00 01 00 +T 22 00 00 00 +R 00 00 01 00 +T 22 00 00 00 21 FF FF 18 36 +R 00 00 01 00 +T 27 00 00 00 +R 00 00 01 00 +T 27 00 00 00 +R 00 00 01 00 +T 27 00 00 00 DD 7E 04 DD B6 05 28 14 21 24 00 +R 00 00 01 00 +T 32 00 00 00 DD 4E FE DD 46 FF 09 7E E6 08 28 +R 00 00 01 00 +T 3D 00 00 00 05 +R 00 00 01 00 +T 3E 00 00 00 +R 00 00 01 00 +T 3E 00 00 00 +R 00 00 01 00 +T 3E 00 00 00 +R 00 00 01 00 +T 3E 00 00 00 21 01 00 18 1A +R 00 00 01 00 +T 43 00 00 00 +R 00 00 01 00 +T 43 00 00 00 DD 7E 04 DD B6 05 20 15 21 24 00 +R 00 00 01 00 +T 4E 00 00 00 DD 4E FE DD 46 FF 09 7E E6 08 20 +R 00 00 01 00 +T 59 00 00 00 06 +R 00 00 01 00 +T 5A 00 00 00 +R 00 00 01 00 +T 5A 00 00 00 +R 00 00 01 00 +T 5A 00 00 00 +R 00 00 01 00 +T 5A 00 00 00 21 00 00 +R 00 00 01 00 +T 5D 00 00 00 +R 00 00 01 00 +T 5D 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 02 00 +T 60 00 00 00 +R 00 00 01 00 +T 60 00 00 00 01 00 00 11 02 00 3E 00 00 00 00 +R 00 00 01 00 2B 0B 01 00 +T 68 00 00 00 21 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 02 05 01 00 02 0A 00 00 +T 6F 00 00 00 5C 00 DD 4E FE DD 46 FF 09 EB 3E +R 00 00 01 00 +T 7A 00 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 7F 00 00 00 00 00 00 00 18 A4 +R 00 00 01 00 02 04 00 00 diff --git a/src/nos/lib/z80_lib/pasy.rel b/src/nos/lib/z80_lib/pasy.rel index b3738eb2..c843cde3 100644 --- a/src/nos/lib/z80_lib/pasy.rel +++ b/src/nos/lib/z80_lib/pasy.rel @@ -1,22 +1,22 @@ XL4 H 3 areas 13 global symbols +S ___00bb_42ba__20ST_3a_20int_20_2 Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___00b0_2f4d__20_5brlsd_20line_2 Ref00000000 -S ___00a2_42ba__20ST_3a_20int_20_2 Ref00000000 +S ___00ca_db59__20_5btrigger_200x_ Ref00000000 +S ___00c8_7762__20_5bcts_20flow_20 Ref00000000 +S ___00c9_2f4d__20_5brlsd_20line_2 Ref00000000 +S ___00bf_e8c1__20TX_3a_20int_20_2 Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___00b1_db59__20_5btrigger_200x_ Ref00000000 S _strcmp Ref00000000 -S ___00e0_2902__20sw_20over_20_25l Ref00000000 -S ___0097_fd02__20MC_3a_20int_20_2 Ref00000000 S .__.ABS. Def00000000 -S ___00a6_e8c1__20TX_3a_20int_20_2 Ref00000000 -S ___009e_df24__20RX_3a_20int_20_2 Ref00000000 +S ___00b7_df24__20RX_3a_20int_20_2 Ref00000000 +S ___017e_47c0__25s_3a Ref00000000 +S ___00f9_2902__20sw_20over_20_25l Ref00000000 +S ___008f_6904__20_25lu_20bps_0a Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 -S ___0155_47c0__25s_3a Ref00000000 S __printf Ref00000000 -S ___00af_7762__20_5bcts_20flow_20 Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0076_6904__20_25lu_20bps_0a Ref00000000 +S ___00b0_fd02__20MC_3a_20int_20_2 Ref00000000 S _inportb Ref00000000 A _DEFAULT size 0 flags 0 A CODE size 462 flags 0 @@ -25,23 +25,23 @@ A CSTR size 14 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FC FF DD 6E 02 DD -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0D 00 T 09 00 00 00 66 03 46 23 66 68 23 23 4E 23 46 R 00 00 01 00 T 14 00 00 00 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 0C 00 +R 00 00 01 00 2B 06 0A 00 T 19 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0C 00 2B 0A 0D 00 +R 00 00 01 00 02 04 0A 00 2B 0A 0E 00 T 1F 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0D 00 02 09 00 00 +R 00 00 01 00 02 04 0E 00 02 09 01 00 T 26 00 00 00 F1 01 00 00 00 00 DD 6E 02 DD 66 R 00 00 01 00 00 06 02 00 T 2F 00 00 00 03 56 23 66 6A 23 23 5E 23 56 3E R 00 00 01 00 T 3A 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 05 00 02 09 05 00 +R 00 00 01 00 2B 04 07 00 02 09 07 00 T 3F 00 00 00 00 00 00 00 7D B4 C2 7F 02 00 00 -R 00 00 01 00 02 04 00 00 00 0B 01 00 +R 00 00 01 00 02 04 01 00 00 0B 01 00 T 46 00 00 00 R 00 00 01 00 T 46 00 00 00 21 12 00 DD 4E 02 DD 46 03 09 7E @@ -53,11 +53,11 @@ R 00 00 01 00 T 56 00 00 00 21 12 00 DD 4E 02 DD 46 03 09 4E R 00 00 01 00 T 61 00 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 04 00 +R 00 00 01 00 2B 08 02 00 T 68 00 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 04 00 2B 0A 0D 00 +R 00 00 01 00 02 04 02 00 2B 0A 0E 00 T 6E 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0D 00 02 09 00 00 +R 00 00 01 00 02 04 0E 00 02 09 01 00 T 75 00 00 00 F1 R 00 00 01 00 T 76 00 00 00 @@ -69,11 +69,11 @@ R 00 00 01 00 T 84 00 00 00 R 00 00 01 00 T 84 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 T 8A 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T 90 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T 95 00 00 00 R 00 00 01 00 T 95 00 00 00 21 2C 00 DD 4E 02 DD 46 03 09 7E @@ -83,11 +83,11 @@ R 00 00 01 00 T A3 00 00 00 R 00 00 01 00 T A3 00 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 T A9 00 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T AF 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T B4 00 00 00 R 00 00 01 00 T B4 00 00 00 21 1D 00 DD 4E 02 DD 46 03 09 5E @@ -95,21 +95,21 @@ R 00 00 01 00 T BF 00 00 00 23 56 23 4E 23 46 C5 D5 0E R 00 00 01 00 T C8 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 10 00 02 0A 10 00 +R 00 00 01 00 2B 04 0C 00 02 0A 0C 00 T CE 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0D 00 02 0A 0D 00 +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T D4 00 00 00 00 00 00 00 F1 F1 F1 F1 21 19 00 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T DD 00 00 00 DD 4E 02 DD 46 03 09 5E 23 56 3E R 00 00 01 00 T E8 00 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 11 00 02 09 11 00 T ED 00 00 00 00 00 00 00 DD 75 FD 21 19 00 09 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T F6 00 00 00 5E 23 56 13 13 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 11 00 T FE 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 11 00 02 09 00 00 +R 00 00 01 00 02 04 11 00 02 09 01 00 T 05 01 00 00 FE 11 06 00 00 00 D5 11 R 00 00 01 00 00 06 02 00 T 0B 01 00 00 09 00 00 00 D5 11 06 00 00 00 D5 @@ -151,11 +151,11 @@ R 00 00 01 00 T 52 01 00 00 5E 23 56 23 4E 23 46 C5 D5 0E R 00 00 01 00 T 5C 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 02 00 02 0A 02 00 +R 00 00 01 00 2B 04 00 00 02 0A 00 00 T 62 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0D 00 02 0A 0D 00 +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T 68 01 00 00 00 00 00 00 EB 21 14 00 39 F9 EB -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 71 01 00 00 21 46 00 DD 4E 02 DD 46 03 09 5E R 00 00 01 00 T 7C 01 00 00 23 56 23 4E 23 46 C5 D5 21 3E 00 @@ -171,11 +171,11 @@ R 00 00 01 00 T B3 01 00 00 09 5E 23 56 23 4E 23 46 C5 D5 0E R 00 00 01 00 T BE 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 0A 00 02 0A 0A 00 +R 00 00 01 00 2B 04 09 00 02 0A 09 00 T C4 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0D 00 02 0A 0D 00 +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T CA 01 00 00 00 00 00 00 EB 21 14 00 39 F9 EB -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T D3 01 00 00 21 46 00 DD 4E 02 DD 46 03 09 AF R 00 00 01 00 T DE 01 00 00 77 23 77 23 77 23 77 21 0C 00 09 @@ -183,13 +183,13 @@ R 00 00 01 00 T E9 01 00 00 5E 23 56 D5 21 0E 00 09 5E 23 56 R 00 00 01 00 T F4 01 00 00 23 4E 23 46 C5 D5 0E 00 00 00 00 -R 00 00 01 00 2B 0B 06 00 +R 00 00 01 00 2B 0B 0B 00 T FC 01 00 00 C5 21 00 00 00 00 E5 3E -R 00 00 01 00 02 06 06 00 +R 00 00 01 00 02 06 0B 00 T 02 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0D 00 02 09 0D 00 +R 00 00 01 00 2B 04 0E 00 02 09 0E 00 T 07 02 00 00 00 00 00 00 F1 F1 F1 F1 F1 21 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 0F 02 00 00 0C 00 DD 4E 02 DD 46 03 09 AF 77 R 00 00 01 00 T 1A 02 00 00 23 77 21 18 00 09 7E B7 28 05 21 @@ -213,11 +213,11 @@ R 00 00 01 00 T 57 02 00 00 4E 02 DD 46 03 09 4E 23 46 23 5E R 00 00 01 00 T 62 02 00 00 23 56 D5 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 09 00 +R 00 00 01 00 2B 09 05 00 T 6A 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 09 00 2B 0A 0D 00 +R 00 00 01 00 02 04 05 00 2B 0A 0E 00 T 70 02 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 0D 00 02 09 00 00 +R 00 00 01 00 02 04 0E 00 02 09 01 00 T 77 02 00 00 12 00 39 F9 EB C3 5F 04 00 00 R 00 00 01 00 00 0A 01 00 T 7F 02 00 00 @@ -231,11 +231,11 @@ R 00 00 01 00 T 8F 02 00 00 21 12 00 DD 4E 02 DD 46 03 09 4E R 00 00 01 00 T 9A 02 00 00 23 46 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 08 04 00 +R 00 00 01 00 2B 08 02 00 T A1 02 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 04 00 2B 0A 0D 00 +R 00 00 01 00 02 04 02 00 2B 0A 0E 00 T A7 02 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0D 00 02 09 00 00 +R 00 00 01 00 02 04 0E 00 02 09 01 00 T AE 02 00 00 F1 R 00 00 01 00 T AF 02 00 00 @@ -247,11 +247,11 @@ R 00 00 01 00 T BD 02 00 00 R 00 00 01 00 T BD 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 0E 00 02 0B 0E 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 T C3 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T C9 02 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T CE 02 00 00 R 00 00 01 00 T CE 02 00 00 21 2C 00 DD 4E 02 DD 46 03 09 7E @@ -261,11 +261,11 @@ R 00 00 01 00 T DC 02 00 00 R 00 00 01 00 T DC 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 01 00 02 0B 01 00 +R 00 00 01 00 2B 05 04 00 02 0B 04 00 T E2 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 +R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T E8 02 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T ED 02 00 00 R 00 00 01 00 T ED 02 00 00 21 1D 00 DD 4E 02 DD 46 03 09 5E @@ -273,11 +273,11 @@ R 00 00 01 00 T F8 02 00 00 23 56 23 4E 23 46 C5 D5 0E R 00 00 01 00 T 01 03 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 10 00 02 0A 10 00 +R 00 00 01 00 2B 04 0C 00 02 0A 0C 00 T 07 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0D 00 02 0A 0D 00 +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T 0D 03 00 00 00 00 00 00 F1 F1 F1 F1 21 -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 14 03 00 00 06 00 00 00 E5 21 09 00 00 00 E5 R 00 00 01 00 00 04 02 00 00 0A 02 00 T 1B 03 00 00 21 06 00 00 00 E5 21 06 00 00 00 @@ -289,11 +289,11 @@ R 00 00 01 00 00 04 02 00 T 31 03 00 00 DD 46 03 09 5E 23 56 23 4E 23 46 R 00 00 01 00 T 3C 03 00 00 C5 D5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 07 07 00 +R 00 00 01 00 2B 07 10 00 T 42 03 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 07 00 2B 0A 0D 00 +R 00 00 01 00 02 04 10 00 2B 0A 0E 00 T 48 03 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 0D 00 02 09 00 00 +R 00 00 01 00 02 04 0E 00 02 09 01 00 T 4F 03 00 00 14 00 39 F9 EB 21 46 00 DD 4E 02 R 00 00 01 00 T 5A 03 00 00 DD 46 03 09 5E 23 56 23 4E 23 46 @@ -309,11 +309,11 @@ R 00 00 01 00 T 91 03 00 00 4E 02 DD 46 03 09 5E 23 56 23 4E R 00 00 01 00 T 9C 03 00 00 23 46 C5 D5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 0A 00 +R 00 00 01 00 2B 09 09 00 T A4 03 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 0A 00 2B 0A 0D 00 +R 00 00 01 00 02 04 09 00 2B 0A 0E 00 T AA 03 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 0D 00 02 09 00 00 +R 00 00 01 00 02 04 0E 00 02 09 01 00 T B1 03 00 00 14 00 39 F9 EB 21 46 00 DD 4E 02 R 00 00 01 00 T BC 03 00 00 DD 46 03 09 AF 77 23 77 23 77 23 @@ -323,11 +323,11 @@ R 00 00 01 00 T D1 03 00 00 0E 00 09 5E 23 56 23 4E 23 46 C5 R 00 00 01 00 T DC 03 00 00 D5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 06 06 00 +R 00 00 01 00 2B 06 0B 00 T E1 03 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 06 00 2B 0A 0D 00 +R 00 00 01 00 02 04 0B 00 2B 0A 0E 00 T E7 03 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 0D 00 02 09 00 00 +R 00 00 01 00 02 04 0E 00 02 09 01 00 T EE 03 00 00 F1 F1 F1 21 0C 00 DD 4E 02 DD 46 R 00 00 01 00 T F9 03 00 00 03 09 AF 77 23 77 21 18 00 09 7E @@ -351,17 +351,17 @@ R 00 00 01 00 T 3A 04 00 00 4E 02 DD 46 03 09 4E 23 46 23 5E R 00 00 01 00 T 45 04 00 00 23 56 D5 C5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 09 09 00 +R 00 00 01 00 2B 09 05 00 T 4D 04 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 09 00 2B 0A 0D 00 +R 00 00 01 00 02 04 05 00 2B 0A 0E 00 T 53 04 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 0D 00 02 09 00 00 +R 00 00 01 00 02 04 0E 00 02 09 01 00 T 5A 04 00 00 12 00 39 F9 EB R 00 00 01 00 T 5F 04 00 00 R 00 00 01 00 T 5F 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 03 00 +R 00 00 01 00 02 05 06 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 61 73 63 69 30 00 diff --git a/src/nos/lib/z80_lib/stktrace.rel b/src/nos/lib/z80_lib/stktrace.rel index d99aafe4..c412161a 100644 --- a/src/nos/lib/z80_lib/stktrace.rel +++ b/src/nos/lib/z80_lib/stktrace.rel @@ -1,31 +1,29 @@ XL4 H 4 areas 29 global symbols -S ___043d_a3a9_can_27t_20read_20_2 Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 -S ___05cc_4875_stktrace_20from_20p Ref00000000 +S ___04d4_a3a9_can_27t_20read_20_2 Ref00000000 S _strrchr Ref00000000 -S ___0209_5d65_Can_27t_20find_20he Ref00000000 +S ___01b0_abc9__29_0a Ref00000000 S _rip Ref00000000 -S ___0114_aa0a__2504x_3a_2504x Ref00000000 S __argv Ref00000000 S _strcat Ref00000000 S _ctime Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S _strlen Ref00000000 S __fprintf Ref00000000 +S ___01a7_a2cd__28 Ref00000000 S ?L_OR_L03 Ref00000000 S _strdupw Ref00000000 S _strcmp Ref00000000 S _fgets Ref00000000 -S ___017b_a2cd__28 Ref00000000 S ?LEAVE_DIRECT_L09 Ref00000000 +S ___06a9_4875_stktrace_20from_20p Ref00000000 +S ___01a1_52fc__25x Ref00000000 S _Curproc Ref00000000 S .__.ABS. Def00000000 S _kwait Ref00000000 S _free Ref00000000 S _fputc Ref00000000 -S ___0184_abc9__29_0a Ref00000000 -S ___007b_3c84__20_25s_2b_25x Ref00000000 S ?ENT_PARM_DIRECT_L09 Ref00000000 S _strcpy Ref00000000 S ?ENT_AUTO_DIRECT_L09 Ref00000000 @@ -33,11 +31,13 @@ S _time Ref00000000 S _freopen Ref00000000 S ?SS_CMP_L02 Ref00000000 S __printf Ref00000000 +S ___023b_5d65_Can_27t_20find_20he Ref00000000 S ?CL64180B_4_06_L00 Ref00000000 -S ___0175_52fc__25x Ref00000000 +S ___0094_3c84__20_25s_2b_25x Ref00000000 S _malloc Ref00000000 S _qsort Ref00000000 S _fclose Ref00000000 +S ___012d_aa0a__2504x_3a_2504x Ref00000000 S _sscanf Ref00000000 S _newproc Ref00000000 A _DEFAULT size 0 flags 0 @@ -48,13 +48,13 @@ A UDATA0 size 4 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 E0 FF 21 00 00 E5 -R 00 00 01 00 02 05 1C 00 +R 00 00 01 00 02 05 1A 00 T 09 00 00 00 01 0D 00 00 00 11 00 00 00 00 3E R 00 00 01 00 00 05 02 00 00 0A 02 00 T 10 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1E 00 02 09 1E 00 +R 00 00 01 00 2B 04 1C 00 02 09 1C 00 T 15 00 00 00 00 00 00 00 F1 DD 75 F7 DD 74 F8 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 1E 00 00 00 7D B4 20 03 R 00 00 01 00 T 22 00 00 00 @@ -72,43 +72,43 @@ R 00 00 01 00 T 43 00 00 00 72 21 1B 00 39 5D 54 3E R 00 00 01 00 T 4B 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1D 00 02 09 1D 00 +R 00 00 01 00 2B 04 1B 00 02 09 1B 00 T 50 00 00 00 00 00 00 00 21 1B 00 39 5D 54 3E -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 59 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 09 00 02 09 09 00 +R 00 00 01 00 2B 04 07 00 02 09 07 00 T 5E 00 00 00 00 00 00 00 E5 21 2A 00 ED 4B -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 66 00 00 00 00 00 00 00 09 4E 23 46 C5 0E R 00 00 01 00 02 04 13 00 T 6E 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 02 00 02 0A 02 00 +R 00 00 01 00 2B 04 11 00 02 0A 11 00 T 74 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 20 00 02 0A 20 00 +R 00 00 01 00 2B 05 1E 00 02 0A 1E 00 T 7A 00 00 00 00 00 00 00 F1 F1 F1 F1 21 00 00 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 83 00 00 00 22 02 00 00 00 2A 00 00 00 00 5E -R 00 00 01 00 00 05 03 00 02 0A 07 00 +R 00 00 01 00 00 05 03 00 02 0A 05 00 T 8A 00 00 00 23 56 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0B 00 +R 00 00 01 00 2B 07 09 00 T 8F 00 00 00 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 04 0B 00 02 09 01 00 +R 00 00 01 00 02 04 09 00 02 09 00 00 T 95 00 00 00 05 00 09 EB 3E 00 00 00 00 21 -R 00 00 01 00 2B 09 23 00 +R 00 00 01 00 2B 09 22 00 T 9C 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 23 00 02 09 01 00 +R 00 00 01 00 02 04 22 00 02 09 00 00 T A3 00 00 00 F3 DD 74 F4 2A 00 00 00 00 4E 23 -R 00 00 01 00 02 09 07 00 +R 00 00 01 00 02 09 05 00 T AC 00 00 00 46 DD 5E F3 DD 56 F4 3E R 00 00 01 00 T B4 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1B 00 02 09 1B 00 +R 00 00 01 00 2B 04 19 00 02 09 19 00 T B9 00 00 00 00 00 00 00 01 2E 00 DD 5E F3 DD -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T C2 00 00 00 56 F4 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 03 00 +R 00 00 01 00 2B 07 02 00 T C7 00 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 03 00 02 09 01 00 +R 00 00 01 00 02 04 02 00 02 09 00 00 T CE 00 00 00 F5 DD 74 F6 7D B4 28 08 R 00 00 01 00 T D6 00 00 00 @@ -120,9 +120,9 @@ R 00 00 01 00 T DE 00 00 00 01 10 00 00 00 DD 5E F3 DD 56 F4 R 00 00 01 00 00 05 02 00 T E7 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 08 00 02 0A 08 00 +R 00 00 01 00 2B 05 06 00 02 0A 06 00 T ED 00 00 00 00 00 00 00 21 00 00 E5 21 00 00 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T F6 00 00 00 E5 DD 6E F3 DD 66 F4 E5 21 01 00 R 00 00 01 00 T 01 01 00 00 E5 0E 61 04 00 00 C5 21 @@ -132,17 +132,17 @@ R 00 00 01 00 00 04 01 00 T 0D 01 00 00 15 00 00 00 3E 00 00 00 00 21 R 00 00 01 00 00 04 02 00 2B 09 27 00 T 12 01 00 00 00 00 00 00 CD 00 00 00 00 EB 21 -R 00 00 01 00 02 04 27 00 02 09 01 00 +R 00 00 01 00 02 04 27 00 02 09 00 00 T 19 01 00 00 0C 00 39 F9 EB DD 75 EF DD 74 F0 R 00 00 01 00 T 24 01 00 00 DD 5E EF DD 56 F0 3E 00 00 00 00 R 00 00 01 00 2B 0B 15 00 T 2C 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 15 00 02 0A 01 00 +R 00 00 01 00 02 05 15 00 02 0A 00 00 T 33 01 00 00 5E F3 DD 56 F4 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 16 00 T 3B 01 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 04 16 00 02 09 01 00 +R 00 00 01 00 02 04 16 00 02 09 00 00 T 41 01 00 00 22 00 39 DD 75 E4 DD 74 E5 DD 36 R 00 00 01 00 T 4C 01 00 00 EA 00 00 00 00 DD 36 EB @@ -176,11 +176,11 @@ R 00 00 01 00 T A7 01 00 00 E5 21 06 00 09 4E 23 46 C5 0E R 00 00 01 00 T B1 01 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 19 00 02 0A 19 00 +R 00 00 01 00 2B 04 21 00 02 0A 21 00 T B7 01 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 20 00 02 0A 20 00 +R 00 00 01 00 2B 05 1E 00 02 0A 1E 00 T BD 01 00 00 00 00 00 00 F1 F1 F1 F1 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T C3 01 00 00 R 00 00 01 00 T C3 01 00 00 DD 7E E4 DD B6 E5 20 19 @@ -192,7 +192,7 @@ R 00 00 01 00 02 09 13 00 T D4 01 00 00 23 46 11 0A 00 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 17 00 T DC 01 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 17 00 02 09 01 00 +R 00 00 01 00 02 04 17 00 02 09 00 00 T E2 01 00 00 2C 03 00 00 R 00 00 01 00 00 04 01 00 T E4 01 00 00 @@ -210,7 +210,7 @@ R 00 00 01 00 T 0E 02 00 00 09 DD 75 ED DD 74 EE 4D 44 21 R 00 00 01 00 T 18 02 00 00 14 00 CD 00 00 00 00 30 08 -R 00 00 01 00 02 07 1F 00 +R 00 00 01 00 02 07 1D 00 T 1F 02 00 00 R 00 00 01 00 T 1F 02 00 00 DD 36 ED 14 DD 36 EE 00 @@ -228,11 +228,11 @@ R 00 00 01 00 T 31 02 00 00 21 04 00 DD 4E E4 DD 46 E5 09 DD R 00 00 01 00 T 3C 02 00 00 75 E8 DD 74 E9 0E 00 00 00 00 C5 -R 00 00 01 00 2B 0A 11 00 +R 00 00 01 00 2B 0A 0B 00 T 44 02 00 00 21 00 00 00 00 E5 3E 00 00 00 00 -R 00 00 01 00 02 05 11 00 2B 0B 20 00 +R 00 00 01 00 02 05 0B 00 2B 0B 1E 00 T 4A 02 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 20 00 02 0A 01 00 +R 00 00 01 00 02 05 1E 00 02 0A 00 00 T 51 02 00 00 F1 AF DD 77 E2 DD 77 E3 R 00 00 01 00 T 59 02 00 00 @@ -240,23 +240,23 @@ R 00 00 01 00 T 59 02 00 00 DD 4E ED DD 46 EE DD 6E E2 DD 66 R 00 00 01 00 T 64 02 00 00 E3 CD 00 00 00 00 30 67 -R 00 00 01 00 02 06 1F 00 +R 00 00 01 00 02 06 1D 00 T 6A 02 00 00 R 00 00 01 00 T 6A 02 00 00 DD 6E E8 DD 66 E9 4E 23 46 C5 0E R 00 00 01 00 T 75 02 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 22 00 02 0A 22 00 +R 00 00 01 00 2B 04 12 00 02 0A 12 00 T 7B 02 00 00 DD 6E F7 DD 66 F8 E5 3E R 00 00 01 00 T 83 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0C 00 02 09 0C 00 +R 00 00 01 00 2B 04 0A 00 02 09 0A 00 T 88 02 00 00 00 00 00 00 F1 F1 F1 F1 DD 4E ED -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 91 02 00 00 DD 46 EE 0B DD 6E E2 DD 66 E3 CD R 00 00 01 00 T 9C 02 00 00 00 00 00 00 30 18 -R 00 00 01 00 02 04 1F 00 +R 00 00 01 00 02 04 1D 00 T A0 02 00 00 R 00 00 01 00 T A0 02 00 00 21 40 00 ED 4B 00 00 00 00 09 4E @@ -264,7 +264,7 @@ R 00 00 01 00 02 09 13 00 T A9 02 00 00 23 46 11 20 00 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 17 00 T B1 02 00 00 00 00 00 00 CD 00 00 00 00 18 02 -R 00 00 01 00 02 04 17 00 02 09 01 00 +R 00 00 01 00 02 04 17 00 02 09 00 00 T B8 02 00 00 R 00 00 01 00 T B8 02 00 00 18 17 @@ -286,11 +286,11 @@ R 00 00 01 00 T D1 02 00 00 R 00 00 01 00 T D1 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 18 00 02 0B 18 00 +R 00 00 01 00 2B 05 03 00 02 0B 03 00 T D7 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 20 00 02 0B 20 00 +R 00 00 01 00 2B 06 1E 00 02 0B 1E 00 T DD 02 00 00 CD 00 00 00 00 F1 F1 DD 6E E4 DD -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 00 00 T E6 02 00 00 66 E5 23 23 46 23 66 68 01 00 00 R 00 00 01 00 T F1 02 00 00 C5 E5 21 04 00 DD 4E E4 DD 46 E5 @@ -298,7 +298,7 @@ R 00 00 01 00 T FC 02 00 00 09 56 23 66 6A 01 00 00 4D 44 21 R 00 00 01 00 T 07 03 00 00 00 00 CD 00 00 00 00 DD 75 EA DD -R 00 00 01 00 02 07 0D 00 +R 00 00 01 00 02 07 0C 00 T 10 03 00 00 74 EB DD 71 EC DD 6E E6 DD 66 E7 R 00 00 01 00 T 1B 03 00 00 DD 75 E4 DD 74 E5 DD 34 E0 20 03 @@ -314,9 +314,9 @@ R 00 00 01 00 T 2C 03 00 00 CD 05 04 00 00 DD 5E F7 DD 56 F8 R 00 00 01 00 00 05 01 00 T 35 03 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 25 00 02 0A 25 00 +R 00 00 01 00 2B 05 24 00 02 0A 24 00 T 3B 03 00 00 00 00 00 00 21 40 00 ED 4B -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 42 03 00 00 00 00 00 00 09 DD 4E F9 DD 46 FA R 00 00 01 00 02 04 13 00 T 4B 03 00 00 71 23 70 @@ -324,11 +324,11 @@ R 00 00 01 00 T 4E 03 00 00 R 00 00 01 00 T 4E 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 08 00 T 51 03 00 00 R 00 00 01 00 T 51 03 00 00 CD 00 00 00 00 F8 FF DD 4E 04 DD -R 00 00 01 00 02 05 1C 00 +R 00 00 01 00 02 05 1A 00 T 5A 03 00 00 6E 02 DD 66 03 06 00 69 60 01 R 00 00 01 00 T 64 03 00 00 00 00 ED 4B 02 00 00 00 A7 ED 42 @@ -384,11 +384,11 @@ R 00 00 01 00 T FC 03 00 00 R 00 00 01 00 T FC 03 00 00 DD 6E FA DD 66 FB C3 00 00 00 00 -R 00 00 01 00 02 0B 12 00 +R 00 00 01 00 02 0B 10 00 T 05 04 00 00 R 00 00 01 00 T 05 04 00 00 CD 00 00 00 00 FC FF 2A -R 00 00 01 00 02 05 1C 00 +R 00 00 01 00 02 05 1A 00 T 0B 04 00 00 00 00 00 00 DD 75 FC DD 74 FD R 00 00 01 00 00 04 03 00 T 13 04 00 00 @@ -406,9 +406,9 @@ R 00 00 01 00 T 39 04 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 16 00 02 09 16 00 T 3E 04 00 00 00 00 00 00 59 50 3E 00 00 00 00 -R 00 00 01 00 02 04 01 00 2B 0B 16 00 +R 00 00 01 00 02 04 00 00 2B 0B 16 00 T 44 04 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 16 00 02 0A 01 00 +R 00 00 01 00 02 05 16 00 02 0A 00 00 T 4B 04 00 00 6E FE DD 66 FF DD 75 FC DD 74 FD R 00 00 01 00 T 56 04 00 00 18 BB @@ -418,19 +418,19 @@ R 00 00 01 00 T 58 04 00 00 21 00 00 22 00 00 00 00 C3 R 00 00 01 00 00 08 03 00 T 5F 04 00 00 00 00 00 00 -R 00 00 01 00 02 04 12 00 +R 00 00 01 00 02 04 10 00 T 61 04 00 00 R 00 00 01 00 T 61 04 00 00 CD 00 00 00 00 F0 FF AF DD 77 FC -R 00 00 01 00 02 05 1C 00 +R 00 00 01 00 02 05 1A 00 T 6A 04 00 00 DD 77 FD 21 00 00 E5 01 R 00 00 01 00 T 72 04 00 00 1E 00 00 00 DD 5E 04 DD 56 05 3E R 00 00 01 00 00 04 02 00 T 7B 04 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1E 00 02 09 1E 00 +R 00 00 01 00 2B 04 1C 00 02 09 1C 00 T 80 04 00 00 00 00 00 00 F1 DD 75 F2 DD 74 F3 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 89 04 00 00 7D B4 20 1C R 00 00 01 00 T 8D 04 00 00 @@ -438,19 +438,19 @@ R 00 00 01 00 T 8D 04 00 00 DD 6E 04 DD 66 05 E5 0E R 00 00 01 00 T 95 04 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 00 00 02 0A 00 00 +R 00 00 01 00 2B 04 01 00 02 0A 01 00 T 9B 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 20 00 02 0A 20 00 +R 00 00 01 00 2B 05 1E 00 02 0A 1E 00 T A1 04 00 00 00 00 00 00 F1 F1 F1 C3 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T A7 04 00 00 20 07 00 00 R 00 00 01 00 00 04 01 00 T A9 04 00 00 R 00 00 01 00 T A9 04 00 00 11 80 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 23 00 +R 00 00 01 00 2B 08 22 00 T AF 04 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 23 00 02 09 01 00 +R 00 00 01 00 02 04 22 00 02 09 00 00 T B6 04 00 00 F0 DD 74 F1 R 00 00 01 00 T BA 04 00 00 @@ -458,9 +458,9 @@ R 00 00 01 00 T BA 04 00 00 DD 6E F2 DD 66 F3 E5 01 80 00 DD R 00 00 01 00 T C5 04 00 00 5E F0 DD 56 F1 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 10 00 +R 00 00 01 00 2B 0A 0F 00 T CD 04 00 00 00 00 00 00 CD 00 00 00 00 F1 21 -R 00 00 01 00 02 04 10 00 02 09 01 00 +R 00 00 01 00 02 04 0F 00 02 09 00 00 T D4 04 00 00 10 00 DD 4E F2 DD 46 F3 09 7E E6 R 00 00 01 00 T DF 04 00 00 02 47 23 7E E6 00 B0 20 27 @@ -468,15 +468,15 @@ R 00 00 01 00 T E8 04 00 00 R 00 00 01 00 T E8 04 00 00 DD 5E F0 DD 56 F1 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 +R 00 00 01 00 2B 0B 04 00 T F0 04 00 00 21 00 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 02 05 05 00 02 0A 01 00 +R 00 00 01 00 02 05 04 00 02 0A 00 00 T F7 04 00 00 21 00 00 00 DD 5E F0 DD 56 F1 3E R 00 00 01 00 00 04 02 00 T 00 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 0F 00 02 09 0F 00 +R 00 00 01 00 2B 04 0E 00 02 09 0E 00 T 05 05 00 00 00 00 00 00 7D B4 20 02 -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 0B 05 00 00 R 00 00 01 00 T 0B 05 00 00 18 02 @@ -496,15 +496,15 @@ R 00 00 01 00 T 24 05 00 00 DD 6E 04 DD 66 05 E5 0E R 00 00 01 00 T 2C 05 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 04 00 02 0A 04 00 +R 00 00 01 00 2B 04 1F 00 02 0A 1F 00 T 32 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 20 00 02 0A 20 00 +R 00 00 01 00 2B 05 1E 00 02 0A 1E 00 T 38 05 00 00 00 00 00 00 F1 F1 F1 DD 5E F0 DD -R 00 00 01 00 02 04 01 00 +R 00 00 01 00 02 04 00 00 T 41 05 00 00 56 F1 3E 00 00 00 00 21 R 00 00 01 00 2B 07 16 00 T 46 05 00 00 00 00 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 02 04 16 00 02 09 01 00 +R 00 00 01 00 02 04 16 00 02 09 00 00 T 4C 05 00 00 20 07 00 00 R 00 00 01 00 00 04 01 00 T 4E 05 00 00 @@ -516,9 +516,9 @@ R 00 00 01 00 T 54 05 00 00 DD 6E F2 DD 66 F3 E5 01 80 00 DD R 00 00 01 00 T 5F 05 00 00 5E F0 DD 56 F1 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 10 00 +R 00 00 01 00 2B 0A 0F 00 T 67 05 00 00 00 00 00 00 CD 00 00 00 00 F1 21 -R 00 00 01 00 02 04 10 00 02 09 01 00 +R 00 00 01 00 02 04 0F 00 02 09 00 00 T 6E 05 00 00 10 00 DD 4E F2 DD 46 F3 09 7E E6 R 00 00 01 00 T 79 05 00 00 02 47 23 7E E6 00 B0 C2 @@ -528,9 +528,9 @@ R 00 00 01 00 00 04 01 00 T 83 05 00 00 R 00 00 01 00 T 83 05 00 00 DD 5E F0 DD 56 F1 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 +R 00 00 01 00 2B 0B 04 00 T 8B 05 00 00 21 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 02 05 05 00 02 0A 01 00 +R 00 00 01 00 02 05 04 00 02 0A 00 00 T 92 05 00 00 06 00 39 E5 21 06 00 39 E5 21 R 00 00 01 00 T 9C 05 00 00 44 00 00 00 E5 DD 6E F0 DD 66 F1 @@ -538,7 +538,7 @@ R 00 00 01 00 00 04 02 00 T A5 05 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 26 00 02 0B 26 00 T AB 05 00 00 CD 00 00 00 00 F1 F1 F1 F1 3E 02 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 00 00 T B4 05 00 00 AD B4 28 02 R 00 00 01 00 T B8 05 00 00 @@ -548,9 +548,9 @@ R 00 00 01 00 T BA 05 00 00 R 00 00 01 00 T BA 05 00 00 11 08 00 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 23 00 +R 00 00 01 00 2B 08 22 00 T C0 05 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 23 00 02 09 01 00 +R 00 00 01 00 02 04 22 00 02 09 00 00 T C7 05 00 00 F8 DD 74 F9 01 04 00 09 DD 4E F6 R 00 00 01 00 T D2 05 00 00 DD 46 F7 71 23 70 DD 6E F8 DD 66 @@ -562,9 +562,9 @@ R 00 00 01 00 T F3 05 00 00 E5 21 11 00 DD 5E F0 DD 56 F1 19 R 00 00 01 00 T FE 05 00 00 EB 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 +R 00 00 01 00 2B 06 0D 00 02 0B 0D 00 T 04 06 00 00 CD 00 00 00 00 EB E1 73 23 72 2A -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 00 00 T 0D 06 00 00 00 00 00 00 E5 69 60 C1 71 23 70 R 00 00 01 00 00 04 03 00 T 16 06 00 00 DD 6E F8 DD 66 F9 22 00 00 00 00 @@ -578,17 +578,17 @@ R 00 00 01 00 00 05 01 00 T 2A 06 00 00 R 00 00 01 00 T 2A 06 00 00 DD 5E F2 DD 56 F3 3E 00 00 00 00 -R 00 00 01 00 2B 0B 25 00 +R 00 00 01 00 2B 0B 24 00 T 32 06 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 25 00 02 0A 01 00 +R 00 00 01 00 02 05 24 00 02 0A 00 00 T 39 06 00 00 5E F0 DD 56 F1 3E 00 00 00 00 21 R 00 00 01 00 2B 0A 16 00 T 41 06 00 00 00 00 00 00 CD 00 00 00 00 DD 6E -R 00 00 01 00 02 04 16 00 02 09 01 00 +R 00 00 01 00 02 04 16 00 02 09 00 00 T 48 06 00 00 FC DD 66 FD 29 EB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 23 00 +R 00 00 01 00 2B 0B 22 00 T 50 06 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 23 00 02 0A 01 00 +R 00 00 01 00 02 05 22 00 02 0A 00 00 T 57 06 00 00 75 FA DD 74 FB AF DD 77 FE DD 77 R 00 00 01 00 T 62 06 00 00 FF 2A 00 00 00 00 DD 75 F8 DD 74 @@ -620,9 +620,9 @@ R 00 00 01 00 29 05 01 00 00 0B 01 00 T A6 06 00 00 E5 21 02 00 E5 DD 4E FC DD 46 FD R 00 00 01 00 T B1 06 00 00 DD 5E FA DD 56 FB 3E 00 00 00 00 -R 00 00 01 00 2B 0B 24 00 +R 00 00 01 00 2B 0B 23 00 T B9 06 00 00 21 00 00 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 02 05 24 00 02 0A 01 00 +R 00 00 01 00 02 05 23 00 02 0A 00 00 T C0 06 00 00 E1 E1 21 00 00 22 00 00 00 00 DD R 00 00 01 00 00 0A 03 00 T C9 06 00 00 6E FC DD 66 FD 2B DD 75 FE DD 74 @@ -652,15 +652,15 @@ R 00 00 01 00 T 12 07 00 00 DD 5E FA DD 56 FB 3E 00 00 00 00 R 00 00 01 00 2B 0B 16 00 T 1A 07 00 00 21 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 16 00 02 0A 01 00 +R 00 00 01 00 02 05 16 00 02 0A 00 00 T 20 07 00 00 R 00 00 01 00 T 20 07 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 08 00 T 23 07 00 00 R 00 00 01 00 T 23 07 00 00 CD 00 00 00 00 1A 6F 13 1A 67 23 -R 00 00 01 00 02 05 1A 00 +R 00 00 01 00 02 05 18 00 T 2C 07 00 00 23 5E 23 56 0A 6F 03 0A 67 23 23 R 00 00 01 00 T 37 07 00 00 46 23 66 68 A7 ED 52 30 06 @@ -718,23 +718,23 @@ R 00 00 01 00 T CC 07 00 00 R 00 00 01 00 T CC 07 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 08 00 T CF 07 00 00 R 00 00 01 00 T CF 07 00 00 CD 00 00 00 00 41 6B 62 E5 DD 4E -R 00 00 01 00 02 05 1A 00 +R 00 00 01 00 02 05 18 00 T D8 07 00 00 04 DD 6E 02 DD 66 03 06 00 69 60 R 00 00 01 00 T E3 07 00 00 01 00 00 ED 4B 02 00 00 00 A7 ED R 00 00 01 00 00 09 03 00 T EC 07 00 00 42 E5 0E 00 00 00 00 C5 21 -R 00 00 01 00 2B 07 06 00 +R 00 00 01 00 2B 07 25 00 T F2 07 00 00 00 00 00 00 E5 3E 00 00 00 00 21 -R 00 00 01 00 02 04 06 00 2B 0A 20 00 +R 00 00 01 00 02 04 25 00 2B 0A 1E 00 T F8 07 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 20 00 02 09 01 00 +R 00 00 01 00 02 04 1E 00 02 09 00 00 T FF 07 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 07 12 00 +R 00 00 01 00 02 07 10 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 73 74 6B 74 72 61 63 65 2E 6F 75 diff --git a/src/nos/lib/z80_lib/sw.rel b/src/nos/lib/z80_lib/sw.rel index 6aca4bde..d366efa6 100644 --- a/src/nos/lib/z80_lib/sw.rel +++ b/src/nos/lib/z80_lib/sw.rel @@ -1,10 +1,10 @@ XL4 H 3 areas 13 global symbols +S ___01a0_af86__25u_3a_20calls_20_ Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?L_DEC_L03 Ref00000000 S _stopval Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 -S ___0174_af86__25u_3a_20calls_20_ Ref00000000 S ?L_ADDASG_L03 Ref00000000 S .__.ABS. Def00000000 S ?L_MUL_L03 Ref00000000 @@ -27,9 +27,9 @@ R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 FA FF 3E R 00 00 01 00 02 05 09 00 T 06 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 02 00 02 09 02 00 +R 00 00 01 00 2B 04 03 00 02 09 03 00 T 0B 00 00 00 00 00 00 00 4D 44 A7 21 00 00 ED -R 00 00 01 00 02 04 00 00 +R 00 00 01 00 02 04 01 00 T 14 00 00 00 42 01 00 00 C5 E5 21 00 00 C1 09 R 00 00 01 00 T 1F 00 00 00 EB 21 01 00 C1 ED 4A 4D 44 EB DD @@ -43,7 +43,7 @@ R 00 00 01 00 02 04 0A 00 00 09 02 00 T 46 00 00 00 75 FA DD 74 FB CD 00 00 00 00 EB R 00 00 01 00 02 0A 0B 00 T 4F 00 00 00 CD 00 00 00 00 7D B4 B1 B0 20 22 -R 00 00 01 00 02 05 01 00 +R 00 00 01 00 02 05 02 00 T 58 00 00 00 R 00 00 01 00 T 58 00 00 00 21 04 00 DD 4E FA DD 46 FB 09 DD @@ -97,7 +97,7 @@ R 00 00 01 00 T F5 00 00 00 4E FE DD 46 FF DD 5E FC DD 56 FD R 00 00 01 00 T 00 01 00 00 CD 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 02 0A 03 00 +R 00 00 01 00 02 05 05 00 02 0A 04 00 T 06 01 00 00 R 00 00 01 00 T 06 01 00 00 CD 00 00 00 00 F0 FF DD 4E 02 DD @@ -215,11 +215,11 @@ R 00 00 01 00 T 93 02 00 00 23 56 D5 C5 DD 6E FE DD 66 FF E5 R 00 00 01 00 T 9E 02 00 00 0E 00 00 00 00 C5 21 00 00 00 00 -R 00 00 01 00 2B 05 04 00 02 0B 04 00 +R 00 00 01 00 2B 05 00 00 02 0B 00 00 T A4 02 00 00 E5 3E 00 00 00 00 21 00 00 00 00 R 00 00 01 00 2B 06 0E 00 02 0B 0E 00 T AA 02 00 00 CD 00 00 00 00 EB 21 1A 00 39 F9 -R 00 00 01 00 02 05 00 00 +R 00 00 01 00 02 05 01 00 T B3 02 00 00 EB R 00 00 01 00 T B4 02 00 00 @@ -239,7 +239,7 @@ R 00 00 01 00 00 05 01 00 T CC 02 00 00 R 00 00 01 00 T CC 02 00 00 21 00 00 C3 00 00 00 00 -R 00 00 01 00 02 08 03 00 +R 00 00 01 00 02 08 04 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 diff --git a/src/nos/lib/z80_lib/z80.rel b/src/nos/lib/z80_lib/z80.rel index e44f04af..d3c62189 100644 --- a/src/nos/lib/z80_lib/z80.rel +++ b/src/nos/lib/z80_lib/z80.rel @@ -1,9 +1,10 @@ XL4 -H 6 areas 4D global symbols +H 6 areas 4E global symbols S _clockinit Ref00000000 S ?BANK_CALL_DIRECT_L08 Ref00000000 S _restore Ref00000000 S _Stktop Ref00000000 +S ?S_S_SWITCH_L06 Ref00000000 S _sprintf Ref00000000 S ?BANK_FAST_LEAVE_L08 Ref00000000 S _hwtick Ref00000000 @@ -46,35 +47,35 @@ S _clockbits Ref00000000 S ___base_vectors Ref00000000 S _outportb Ref00000000 A _DEFAULT size 0 flags 0 -A CODE size A2F flags 0 -S _clrbit Def00000306 -S _sysreset Def000004FC -S _secclock Def0000083B -S _maskon Def00000255 -S _setbit Def000002E7 +A CODE size AB1 flags 0 +S _clrbit Def00000388 +S _sysreset Def0000057E +S _secclock Def000008BD +S _maskon Def00000296 +S _setbit Def00000369 S _ioinit Def00000009 S _getirq Def000001FC -S _ctick Def00000267 -S _intcontext Def000009BA +S _ctick Def000002E9 +S _intcontext Def00000A3C S _setirq Def0000018F S _iostop Def0000003E -S _rdclock Def000002A5 -S _arddec Def000009E4 +S _rdclock Def00000327 +S _arddec Def00000A66 S _maskoff Def0000024C S _errhandler Def00000000 S _kbread Def000000DE -S _writebit Def00000326 +S _writebit Def000003A8 S _doshell Def000000D5 -S _msclock Def0000076B -S _getmask Def0000025E +S _msclock Def000007ED +S _getmask Def000002E0 S _getvect Def0000014C -S _longdiv Def0000042A -S _usclock Def00000947 -S _display Def00000505 +S _longdiv Def000004AC +S _usclock Def000009C9 +S _display Def00000587 S _setvect Def00000119 -S _pctick Def000002E4 -S _longmul Def00000374 -S _ltop Def0000036D +S _pctick Def00000366 +S _longmul Def000003F6 +S _ltop Def000003EF A CSTR size 3D flags 0 A UDATA0 size 10 flags 0 S _Tick Def00000000 @@ -86,9 +87,9 @@ A CDATA0 size 2 flags 0 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 21 03 00 C3 -R 00 00 01 00 02 05 14 00 +R 00 00 01 00 02 05 15 00 T 07 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 09 00 00 00 R 00 00 01 00 T 09 00 00 00 C5 D5 11 0A 00 3E FC 01 00 00 21 @@ -96,9 +97,9 @@ R 00 00 01 00 29 0A 01 00 T 11 00 00 00 FC 01 00 00 CD 00 00 00 00 79 32 R 00 00 01 00 00 04 01 00 02 09 01 00 T 18 00 00 00 02 00 00 00 22 00 00 00 00 0E -R 00 00 01 00 02 04 1F 00 02 09 1F 00 +R 00 00 01 00 02 04 20 00 02 09 20 00 T 1E 00 00 00 00 00 00 00 C5 21 00 00 00 00 E5 -R 00 00 01 00 2B 04 06 00 02 0A 06 00 +R 00 00 01 00 2B 04 07 00 02 0A 07 00 T 24 00 00 00 11 0A 00 3E 8F 01 00 00 21 R 00 00 01 00 29 08 01 00 T 2A 00 00 00 8F 01 00 00 CD 00 00 00 00 F1 F1 @@ -106,13 +107,13 @@ R 00 00 01 00 00 04 01 00 02 09 01 00 T 31 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 05 00 00 02 0A 00 00 T 37 00 00 00 00 00 00 00 D1 C1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0B 05 00 +R 00 00 01 00 02 04 01 00 02 0B 06 00 T 3E 00 00 00 R 00 00 01 00 T 3E 00 00 00 CD 00 00 00 00 FA FF 2A -R 00 00 01 00 02 05 19 00 +R 00 00 01 00 02 05 1A 00 T 44 00 00 00 00 00 00 00 DD 75 FA DD 74 FB -R 00 00 01 00 02 04 07 00 +R 00 00 01 00 02 04 08 00 T 4C 00 00 00 R 00 00 01 00 T 4C 00 00 00 DD 7E FA DD B6 FB 28 2C @@ -124,7 +125,7 @@ R 00 00 01 00 T 5F 00 00 00 75 FC DD 74 FD DD 5E FA DD 56 FB R 00 00 01 00 T 6A 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 +R 00 00 01 00 2B 05 0F 00 02 0A 0F 00 T 70 00 00 00 00 00 00 00 DD 6E FC DD 66 FD DD R 00 00 01 00 02 04 01 00 T 79 00 00 00 75 FA DD 74 FB 18 CC @@ -132,9 +133,9 @@ R 00 00 01 00 T 80 00 00 00 R 00 00 01 00 T 80 00 00 00 DD 36 FE 00 00 00 00 DD 36 FF -R 00 00 01 00 0B 07 10 00 +R 00 00 01 00 0B 07 11 00 T 87 00 00 00 00 00 00 00 -R 00 00 01 00 8B 04 10 00 +R 00 00 01 00 8B 04 11 00 T 88 00 00 00 R 00 00 01 00 T 88 00 00 00 DD 6E FE DD 66 FF 7E 23 B6 23 B6 @@ -156,31 +157,31 @@ R 00 00 01 00 T B4 00 00 00 R 00 00 01 00 T B4 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 22 00 02 0A 22 00 +R 00 00 01 00 2B 05 23 00 02 0A 23 00 T BA 00 00 00 00 00 00 00 3A 02 00 00 00 4F C5 -R 00 00 01 00 02 04 01 00 02 09 1F 00 +R 00 00 01 00 02 04 01 00 02 09 20 00 T C1 00 00 00 2A 00 00 00 00 E5 11 0A 00 3E -R 00 00 01 00 02 05 1F 00 +R 00 00 01 00 02 05 20 00 T C9 00 00 00 8F 01 00 00 21 8F 01 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T CE 00 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0B 0B 00 +R 00 00 01 00 02 04 01 00 02 0B 0C 00 T D5 00 00 00 R 00 00 01 00 T D5 00 00 00 CD 00 00 00 00 21 01 00 C3 -R 00 00 01 00 02 05 14 00 +R 00 00 01 00 02 05 15 00 T DC 00 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T DE 00 00 00 R 00 00 01 00 T DE 00 00 00 CD 00 00 00 00 FE FF -R 00 00 01 00 02 05 19 00 +R 00 00 01 00 02 05 1A 00 T E3 00 00 00 R 00 00 01 00 T E3 00 00 00 R 00 00 01 00 T E3 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 0D 00 02 0A 0D 00 +R 00 00 01 00 2B 05 0E 00 02 0A 0E 00 T E9 00 00 00 00 00 00 00 DD 75 FE DD 74 FF 7D R 00 00 01 00 02 04 01 00 T F2 00 00 00 B4 20 0D @@ -188,23 +189,23 @@ R 00 00 01 00 T F5 00 00 00 R 00 00 01 00 T F5 00 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 18 00 2B 0A 12 00 +R 00 00 01 00 02 05 19 00 2B 0A 13 00 T FB 00 00 00 00 00 00 00 CD 00 00 00 00 18 E1 -R 00 00 01 00 02 04 12 00 02 09 01 00 +R 00 00 01 00 02 04 13 00 02 09 01 00 T 02 01 00 00 R 00 00 01 00 T 02 01 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 -R 00 00 01 00 2B 0B 21 00 +R 00 00 01 00 2B 0B 22 00 T 0A 01 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 21 00 02 0A 01 00 +R 00 00 01 00 02 05 22 00 02 0A 01 00 T 11 01 00 00 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0A 0B 00 +R 00 00 01 00 02 0A 0C 00 T 19 01 00 00 R 00 00 01 00 T 19 01 00 00 CD 00 00 00 00 FE FF 3E -R 00 00 01 00 02 05 19 00 +R 00 00 01 00 02 05 1A 00 T 1F 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 13 00 02 09 13 00 +R 00 00 01 00 2B 04 14 00 02 09 14 00 T 24 01 00 00 00 00 00 00 DD 75 FE DD 74 FF DD R 00 00 01 00 02 04 01 00 T 2D 01 00 00 4E 0A DD 46 0B DD 6E 02 DD 66 03 @@ -214,13 +215,13 @@ R 00 00 01 00 T 42 01 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 02 00 02 09 02 00 T 47 01 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 0B 00 +R 00 00 01 00 02 04 01 00 02 09 0C 00 T 4C 01 00 00 R 00 00 01 00 T 4C 01 00 00 CD 00 00 00 00 FA FF 3E -R 00 00 01 00 02 05 19 00 +R 00 00 01 00 02 05 1A 00 T 52 01 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 13 00 02 09 13 00 +R 00 00 01 00 2B 04 14 00 02 09 14 00 T 57 01 00 00 00 00 00 00 DD 75 FA DD 74 FB DD R 00 00 01 00 02 04 01 00 T 60 01 00 00 6E 02 DD 66 03 46 23 66 68 01 @@ -234,11 +235,11 @@ R 00 00 01 00 02 05 02 00 02 0A 01 00 T 84 01 00 00 4E FE DD 6E FC DD 66 FD C3 R 00 00 01 00 T 8D 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 28 00 +R 00 00 01 00 02 04 29 00 T 8F 01 00 00 R 00 00 01 00 T 8F 01 00 00 CD 00 00 00 00 01 08 00 EB A7 ED -R 00 00 01 00 02 05 14 00 +R 00 00 01 00 02 05 15 00 T 98 01 00 00 42 30 25 R 00 00 01 00 T 9B 01 00 00 @@ -248,7 +249,7 @@ R 00 00 01 00 T A6 01 00 00 DD 6E 02 DD 66 03 29 29 29 01 R 00 00 01 00 T B0 01 00 00 01 00 00 00 09 EB 3E 19 01 00 00 -R 00 00 01 00 02 04 2B 00 29 0B 01 00 +R 00 00 01 00 02 04 2C 00 29 0B 01 00 T B6 01 00 00 21 19 01 00 00 CD 00 00 00 00 E1 R 00 00 01 00 00 05 01 00 02 0A 01 00 T BD 01 00 00 E1 18 36 @@ -266,7 +267,7 @@ R 00 00 01 00 T D9 01 00 00 DD 6E 02 DD 66 03 29 01 R 00 00 01 00 T E1 01 00 00 F0 FF FF FF 09 EB 3E 19 01 00 00 -R 00 00 01 00 02 04 26 00 29 0B 01 00 +R 00 00 01 00 02 04 27 00 29 0B 01 00 T E7 01 00 00 21 19 01 00 00 CD 00 00 00 00 E1 R 00 00 01 00 00 05 01 00 02 0A 01 00 T EE 01 00 00 E1 18 05 @@ -284,11 +285,11 @@ R 00 00 01 00 T F9 01 00 00 R 00 00 01 00 T F9 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T FC 01 00 00 R 00 00 01 00 T FC 01 00 00 CD 00 00 00 00 01 08 00 EB A7 ED -R 00 00 01 00 02 05 14 00 +R 00 00 01 00 02 05 15 00 T 05 02 00 00 42 30 18 R 00 00 01 00 T 08 02 00 00 @@ -296,7 +297,7 @@ R 00 00 01 00 T 08 02 00 00 DD 6E 02 DD 66 03 29 29 29 01 R 00 00 01 00 T 12 02 00 00 01 00 00 00 09 EB 3E 4C 01 00 00 -R 00 00 01 00 02 04 2B 00 29 0B 01 00 +R 00 00 01 00 02 04 2C 00 29 0B 01 00 T 18 02 00 00 21 4C 01 00 00 CD 00 00 00 00 18 R 00 00 01 00 00 05 01 00 02 0A 01 00 T 1F 02 00 00 29 @@ -312,7 +313,7 @@ R 00 00 01 00 T 2E 02 00 00 DD 6E 02 DD 66 03 29 01 R 00 00 01 00 T 36 02 00 00 F0 FF FF FF 09 EB 3E 4C 01 00 00 -R 00 00 01 00 02 04 26 00 29 0B 01 00 +R 00 00 01 00 02 04 27 00 29 0B 01 00 T 3C 02 00 00 21 4C 01 00 00 CD 00 00 00 00 18 R 00 00 01 00 00 05 01 00 02 0A 01 00 T 43 02 00 00 05 @@ -324,699 +325,767 @@ R 00 00 01 00 T 49 02 00 00 R 00 00 01 00 T 49 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 28 00 +R 00 00 01 00 02 05 29 00 T 4C 02 00 00 R 00 00 01 00 -T 4C 02 00 00 CD 00 00 00 00 21 FF FF C3 -R 00 00 01 00 02 05 14 00 -T 53 02 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 -T 55 02 00 00 -R 00 00 01 00 -T 55 02 00 00 CD 00 00 00 00 21 FF FF C3 -R 00 00 01 00 02 05 14 00 -T 5C 02 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 +T 4C 02 00 00 CD 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 15 00 02 0A 04 00 +T 52 02 00 00 07 00 03 00 8B 02 00 00 +R 00 00 01 00 00 08 01 00 +T 58 02 00 00 5E 02 00 00 6D 02 00 00 +R 00 00 01 00 00 04 01 00 00 08 01 00 +T 5C 02 00 00 7C 02 00 00 +R 00 00 01 00 00 04 01 00 T 5E 02 00 00 R 00 00 01 00 -T 5E 02 00 00 CD 00 00 00 00 21 FF FF C3 -R 00 00 01 00 02 05 14 00 -T 65 02 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 -T 67 02 00 00 +T 5E 02 00 00 0E 01 11 34 00 3E 88 03 00 00 21 +R 00 00 01 00 29 0A 01 00 +T 66 02 00 00 88 03 00 00 CD 00 00 00 00 18 23 +R 00 00 01 00 00 04 01 00 02 09 01 00 +T 6D 02 00 00 +R 00 00 01 00 +T 6D 02 00 00 0E 02 11 34 00 3E 88 03 00 00 21 +R 00 00 01 00 29 0A 01 00 +T 75 02 00 00 88 03 00 00 CD 00 00 00 00 18 14 +R 00 00 01 00 00 04 01 00 02 09 01 00 +T 7C 02 00 00 +R 00 00 01 00 +T 7C 02 00 00 0E 04 11 34 00 3E 88 03 00 00 21 +R 00 00 01 00 29 0A 01 00 +T 84 02 00 00 88 03 00 00 CD 00 00 00 00 18 05 +R 00 00 01 00 00 04 01 00 02 09 01 00 +T 8B 02 00 00 +R 00 00 01 00 +T 8B 02 00 00 21 FF FF 18 03 +R 00 00 01 00 +T 90 02 00 00 +R 00 00 01 00 +T 90 02 00 00 21 00 00 +R 00 00 01 00 +T 93 02 00 00 +R 00 00 01 00 +T 93 02 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 0C 00 +T 96 02 00 00 +R 00 00 01 00 +T 96 02 00 00 CD 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 05 15 00 02 0A 04 00 +T 9C 02 00 00 07 00 03 00 D5 02 00 00 +R 00 00 01 00 00 08 01 00 +T A2 02 00 00 A8 02 00 00 B7 02 00 00 +R 00 00 01 00 00 04 01 00 00 08 01 00 +T A6 02 00 00 C6 02 00 00 +R 00 00 01 00 00 04 01 00 +T A8 02 00 00 +R 00 00 01 00 +T A8 02 00 00 0E 01 11 34 00 3E 69 03 00 00 21 +R 00 00 01 00 29 0A 01 00 +T B0 02 00 00 69 03 00 00 CD 00 00 00 00 18 23 +R 00 00 01 00 00 04 01 00 02 09 01 00 +T B7 02 00 00 +R 00 00 01 00 +T B7 02 00 00 0E 02 11 34 00 3E 69 03 00 00 21 +R 00 00 01 00 29 0A 01 00 +T BF 02 00 00 69 03 00 00 CD 00 00 00 00 18 14 +R 00 00 01 00 00 04 01 00 02 09 01 00 +T C6 02 00 00 +R 00 00 01 00 +T C6 02 00 00 0E 04 11 34 00 3E 69 03 00 00 21 +R 00 00 01 00 29 0A 01 00 +T CE 02 00 00 69 03 00 00 CD 00 00 00 00 18 05 +R 00 00 01 00 00 04 01 00 02 09 01 00 +T D5 02 00 00 R 00 00 01 00 -T 67 02 00 00 C5 D5 2A 00 00 00 00 7D B4 28 0A -R 00 00 01 00 02 07 0A 00 -T 70 02 00 00 +T D5 02 00 00 21 FF FF 18 03 R 00 00 01 00 -T 70 02 00 00 1E 40 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 0C 00 -T 75 02 00 00 00 00 00 00 CD 00 00 00 00 -R 00 00 01 00 02 04 0C 00 02 09 01 00 -T 7A 02 00 00 +T DA 02 00 00 R 00 00 01 00 -T 7A 02 00 00 2A 00 00 00 00 23 22 00 00 00 00 +T DA 02 00 00 21 00 00 +R 00 00 01 00 +T DD 02 00 00 +R 00 00 01 00 +T DD 02 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 0C 00 +T E0 02 00 00 +R 00 00 01 00 +T E0 02 00 00 CD 00 00 00 00 21 FF FF C3 +R 00 00 01 00 02 05 15 00 +T E7 02 00 00 00 00 00 00 +R 00 00 01 00 02 04 0C 00 +T E9 02 00 00 +R 00 00 01 00 +T E9 02 00 00 C5 D5 2A 00 00 00 00 7D B4 28 0A +R 00 00 01 00 02 07 0B 00 +T F2 02 00 00 +R 00 00 01 00 +T F2 02 00 00 1E 40 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 0D 00 +T F7 02 00 00 00 00 00 00 CD 00 00 00 00 +R 00 00 01 00 02 04 0D 00 02 09 01 00 +T FC 02 00 00 +R 00 00 01 00 +T FC 02 00 00 2A 00 00 00 00 23 22 00 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 81 02 00 00 2A 02 00 00 00 ED 4B 04 00 00 00 +T 03 03 00 00 2A 02 00 00 00 ED 4B 04 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T 88 02 00 00 CD 00 00 00 00 22 02 00 00 00 ED -R 00 00 01 00 02 05 09 00 00 0A 03 00 -T 8F 02 00 00 43 04 00 00 00 01 01 00 11 +T 0A 03 00 00 CD 00 00 00 00 22 02 00 00 00 ED +R 00 00 01 00 02 05 0A 00 00 0A 03 00 +T 11 03 00 00 43 04 00 00 00 01 01 00 11 R 00 00 01 00 00 05 03 00 -T 96 02 00 00 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 00 04 03 00 2B 09 17 00 -T 9B 02 00 00 00 00 00 00 CD 00 00 00 00 D1 C1 -R 00 00 01 00 02 04 17 00 02 09 01 00 -T A2 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T A5 02 00 00 -R 00 00 01 00 -T A5 02 00 00 CD 00 00 00 00 FA FF 3E -R 00 00 01 00 02 05 19 00 -T AB 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 13 00 02 09 13 00 -T B0 02 00 00 00 00 00 00 DD 75 FA DD 74 FB ED +T 18 03 00 00 00 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 00 04 03 00 2B 09 18 00 +T 1D 03 00 00 00 00 00 00 CD 00 00 00 00 D1 C1 +R 00 00 01 00 02 04 18 00 02 09 01 00 +T 24 03 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 06 00 +T 27 03 00 00 +R 00 00 01 00 +T 27 03 00 00 CD 00 00 00 00 FA FF 3E +R 00 00 01 00 02 05 1A 00 +T 2D 03 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 14 00 02 09 14 00 +T 32 03 00 00 00 00 00 00 DD 75 FA DD 74 FB ED R 00 00 01 00 02 04 01 00 -T B9 02 00 00 4B 04 00 00 00 ED 5B 02 00 00 00 +T 3B 03 00 00 4B 04 00 00 00 ED 5B 02 00 00 00 R 00 00 01 00 00 05 03 00 00 0B 03 00 -T C0 02 00 00 DD 73 FC DD 72 FD DD 71 FE DD 70 +T 42 03 00 00 DD 73 FC DD 72 FD DD 71 FE DD 70 R 00 00 01 00 -T CB 02 00 00 FF EB 3E 00 00 00 00 21 +T 4D 03 00 00 FF EB 3E 00 00 00 00 21 R 00 00 01 00 2B 07 02 00 -T D0 02 00 00 00 00 00 00 CD 00 00 00 00 DD 4E +T 52 03 00 00 00 00 00 00 CD 00 00 00 00 DD 4E R 00 00 01 00 02 04 02 00 02 09 01 00 -T D7 02 00 00 FE DD 46 FF DD 6E FC DD 66 FD C3 -R 00 00 01 00 -T E2 02 00 00 00 00 00 00 -R 00 00 01 00 02 04 28 00 -T E4 02 00 00 +T 59 03 00 00 FE DD 46 FF DD 6E FC DD 66 FD C3 R 00 00 01 00 -T E4 02 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T E7 02 00 00 +T 64 03 00 00 00 00 00 00 +R 00 00 01 00 02 04 29 00 +T 66 03 00 00 R 00 00 01 00 -T E7 02 00 00 CD 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 14 00 2B 0A 29 00 -T ED 02 00 00 00 00 00 00 CD 00 00 00 00 79 B5 -R 00 00 01 00 02 04 29 00 02 09 01 00 -T F4 02 00 00 4F DD 5E 02 DD 56 03 3E +T 66 03 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 06 00 +T 69 03 00 00 R 00 00 01 00 -T FC 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2C 00 02 09 2C 00 -T 01 03 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 0B 00 -T 06 03 00 00 -R 00 00 01 00 -T 06 03 00 00 CD 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 14 00 2B 0A 29 00 -T 0C 03 00 00 00 00 00 00 CD 00 00 00 00 79 2F -R 00 00 01 00 02 04 29 00 02 09 01 00 -T 13 03 00 00 A5 4F DD 5E 02 DD 56 03 3E +T 69 03 00 00 CD 00 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 02 05 15 00 2B 0A 2A 00 +T 6F 03 00 00 00 00 00 00 CD 00 00 00 00 79 B5 +R 00 00 01 00 02 04 2A 00 02 09 01 00 +T 76 03 00 00 4F DD 5E 02 DD 56 03 3E R 00 00 01 00 -T 1C 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2C 00 02 09 2C 00 -T 21 03 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 0B 00 -T 26 03 00 00 +T 7E 03 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 2D 00 02 09 2D 00 +T 83 03 00 00 00 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 04 01 00 02 09 0C 00 +T 88 03 00 00 R 00 00 01 00 -T 26 03 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD -R 00 00 01 00 02 05 19 00 -T 2F 03 00 00 56 03 3E 00 00 00 00 21 -R 00 00 01 00 2B 07 29 00 -T 34 03 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 29 00 02 09 01 00 -T 3B 03 00 00 FE DD 7E 0A DD B6 0B 28 0B +T 88 03 00 00 CD 00 00 00 00 3E 00 00 00 00 21 +R 00 00 01 00 02 05 15 00 2B 0A 2A 00 +T 8E 03 00 00 00 00 00 00 CD 00 00 00 00 79 2F +R 00 00 01 00 02 04 2A 00 02 09 01 00 +T 95 03 00 00 A5 4F DD 5E 02 DD 56 03 3E +R 00 00 01 00 +T 9E 03 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 2D 00 02 09 2D 00 +T A3 03 00 00 00 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 04 01 00 02 09 0C 00 +T A8 03 00 00 +R 00 00 01 00 +T A8 03 00 00 CD 00 00 00 00 FE FF DD 5E 02 DD +R 00 00 01 00 02 05 1A 00 +T B1 03 00 00 56 03 3E 00 00 00 00 21 +R 00 00 01 00 2B 07 2A 00 +T B6 03 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 2A 00 02 09 01 00 +T BD 03 00 00 FE DD 7E 0A DD B6 0B 28 0B R 00 00 01 00 -T 44 03 00 00 +T C6 03 00 00 R 00 00 01 00 -T 44 03 00 00 DD 7E FE DD B6 04 DD 77 FE 18 0A +T C6 03 00 00 DD 7E FE DD B6 04 DD 77 FE 18 0A R 00 00 01 00 -T 4F 03 00 00 +T D1 03 00 00 R 00 00 01 00 -T 4F 03 00 00 DD 7E 04 2F DD A6 FE DD 77 FE +T D1 03 00 00 DD 7E 04 2F DD A6 FE DD 77 FE R 00 00 01 00 -T 59 03 00 00 +T DB 03 00 00 R 00 00 01 00 -T 59 03 00 00 DD 4E FE DD 5E 02 DD 56 03 3E +T DB 03 00 00 DD 4E FE DD 5E 02 DD 56 03 3E R 00 00 01 00 -T 63 03 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 2C 00 02 09 2C 00 -T 68 03 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 09 0B 00 -T 6D 03 00 00 +T E5 03 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 2D 00 02 09 2D 00 +T EA 03 00 00 00 00 00 00 C3 00 00 00 00 +R 00 00 01 00 02 04 01 00 02 09 0C 00 +T EF 03 00 00 R 00 00 01 00 -T 6D 03 00 00 CD 00 00 00 00 EB C3 00 00 00 00 -R 00 00 01 00 02 05 14 00 02 0B 0B 00 -T 74 03 00 00 +T EF 03 00 00 CD 00 00 00 00 EB C3 00 00 00 00 +R 00 00 01 00 02 05 15 00 02 0B 0C 00 +T F6 03 00 00 R 00 00 01 00 -T 74 03 00 00 CD 00 00 00 00 F8 FF AF DD 77 FE -R 00 00 01 00 02 05 19 00 -T 7D 03 00 00 DD 77 FF 69 60 29 4D 44 21 12 00 +T F6 03 00 00 CD 00 00 00 00 F8 FF AF DD 77 FE +R 00 00 01 00 02 05 1A 00 +T FF 03 00 00 DD 77 FF 69 60 29 4D 44 21 12 00 R 00 00 01 00 -T 88 03 00 00 39 7E 81 77 23 7E 88 77 DD 6E 04 +T 0A 04 00 00 39 7E 81 77 23 7E 88 77 DD 6E 04 R 00 00 01 00 -T 93 03 00 00 DD 66 05 DD 75 F8 DD 74 F9 +T 15 04 00 00 DD 66 05 DD 75 F8 DD 74 F9 R 00 00 01 00 -T 9C 03 00 00 +T 1E 04 00 00 R 00 00 01 00 -T 9C 03 00 00 DD 7E F8 DD B6 F9 28 7D +T 1E 04 00 00 DD 7E F8 DD B6 F9 28 7D R 00 00 01 00 -T A4 03 00 00 +T 26 04 00 00 R 00 00 01 00 -T A4 03 00 00 DD 7E 0A D6 02 DD 77 0A DD 7E 0B +T 26 04 00 00 DD 7E 0A D6 02 DD 77 0A DD 7E 0B R 00 00 01 00 -T AF 03 00 00 DE 00 DD 77 0B DD 6E 0A DD 66 0B +T 31 04 00 00 DE 00 DD 77 0B DD 6E 0A DD 66 0B R 00 00 01 00 -T BA 03 00 00 46 23 66 68 01 00 00 C5 E5 DD 6E +T 3C 04 00 00 46 23 66 68 01 00 00 C5 E5 DD 6E R 00 00 01 00 -T C5 03 00 00 02 DD 66 03 01 00 00 CD +T 47 04 00 00 02 DD 66 03 01 00 00 CD R 00 00 01 00 -T CD 03 00 00 00 00 00 00 C5 E5 DD 6E FE DD 66 -R 00 00 01 00 02 04 16 00 -T D6 03 00 00 FF 11 00 00 C1 09 EB C1 ED 4A 4D +T 4F 04 00 00 00 00 00 00 C5 E5 DD 6E FE DD 66 +R 00 00 01 00 02 04 17 00 +T 58 04 00 00 FF 11 00 00 C1 09 EB C1 ED 4A 4D R 00 00 01 00 -T E1 03 00 00 44 EB DD 75 FA DD 74 FB DD 71 FC +T 63 04 00 00 44 EB DD 75 FA DD 74 FB DD 71 FC R 00 00 01 00 -T EC 03 00 00 DD 70 FD E5 DD 6E 0A DD 66 0B C1 +T 6E 04 00 00 DD 70 FD E5 DD 6E 0A DD 66 0B C1 R 00 00 01 00 -T F7 03 00 00 71 23 70 DD 4E FC DD 46 FD DD 6E +T 79 04 00 00 71 23 70 DD 4E FC DD 46 FD DD 6E R 00 00 01 00 -T 02 04 00 00 FA DD 66 FB 69 60 01 00 00 DD 75 +T 84 04 00 00 FA DD 66 FB 69 60 01 00 00 DD 75 R 00 00 01 00 -T 0D 04 00 00 FE DD 74 FF DD 6E F8 DD 66 F9 2B +T 8F 04 00 00 FE DD 74 FF DD 6E F8 DD 66 F9 2B R 00 00 01 00 -T 18 04 00 00 DD 75 F8 DD 74 F9 C3 9C 03 00 00 +T 9A 04 00 00 DD 75 F8 DD 74 F9 C3 1E 04 00 00 R 00 00 01 00 00 0B 01 00 -T 21 04 00 00 +T A3 04 00 00 R 00 00 01 00 -T 21 04 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 -R 00 00 01 00 02 0B 0B 00 -T 2A 04 00 00 +T A3 04 00 00 DD 6E FE DD 66 FF C3 00 00 00 00 +R 00 00 01 00 02 0B 0C 00 +T AC 04 00 00 R 00 00 01 00 -T 2A 04 00 00 CD 00 00 00 00 FA FF DD 7E 02 DD -R 00 00 01 00 02 05 19 00 -T 33 04 00 00 B6 03 20 06 +T AC 04 00 00 CD 00 00 00 00 FA FF DD 7E 02 DD +R 00 00 01 00 02 05 1A 00 +T B5 04 00 00 B6 03 20 06 R 00 00 01 00 -T 37 04 00 00 +T B9 04 00 00 R 00 00 01 00 -T 37 04 00 00 21 00 00 C3 F9 04 00 00 +T B9 04 00 00 21 00 00 C3 7B 05 00 00 R 00 00 01 00 00 08 01 00 -T 3D 04 00 00 +T BF 04 00 00 R 00 00 01 00 -T 3D 04 00 00 AF DD 77 FA DD 77 FB DD 77 FC DD +T BF 04 00 00 AF DD 77 FA DD 77 FB DD 77 FC DD R 00 00 01 00 -T 48 04 00 00 77 FD AF DD 77 FE DD 77 FF +T CA 04 00 00 77 FD AF DD 77 FE DD 77 FF R 00 00 01 00 -T 51 04 00 00 +T D3 04 00 00 R 00 00 01 00 -T 51 04 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 +T D3 04 00 00 DD 4E 04 DD 46 05 DD 6E FE DD 66 R 00 00 01 00 -T 5C 04 00 00 FF CD 00 00 00 00 D2 E8 04 00 00 -R 00 00 01 00 02 06 1E 00 00 0B 01 00 -T 63 04 00 00 +T DE 04 00 00 FF CD 00 00 00 00 D2 6A 05 00 00 +R 00 00 01 00 02 06 1F 00 00 0B 01 00 +T E5 04 00 00 R 00 00 01 00 -T 63 04 00 00 21 00 00 39 E5 DD 6E 0A DD 66 0B +T E5 04 00 00 21 00 00 39 E5 DD 6E 0A DD 66 0B R 00 00 01 00 -T 6E 04 00 00 5E 23 56 01 00 00 E1 CD +T F0 04 00 00 5E 23 56 01 00 00 E1 CD R 00 00 01 00 -T 76 04 00 00 00 00 00 00 7B B2 B1 B0 20 02 -R 00 00 01 00 02 04 20 00 -T 7E 04 00 00 +T F8 04 00 00 00 00 00 00 7B B2 B1 B0 20 02 +R 00 00 01 00 02 04 21 00 +T 00 05 00 00 R 00 00 01 00 -T 7E 04 00 00 18 50 +T 00 05 00 00 18 50 R 00 00 01 00 -T 80 04 00 00 +T 02 05 00 00 R 00 00 01 00 -T 80 04 00 00 DD 6E 02 DD 66 03 01 00 00 C5 E5 +T 02 05 00 00 DD 6E 02 DD 66 03 01 00 00 C5 E5 R 00 00 01 00 -T 8B 04 00 00 DD 4E FC DD 46 FD DD 6E FA DD 66 +T 0D 05 00 00 DD 4E FC DD 46 FD DD 6E FA DD 66 R 00 00 01 00 -T 96 04 00 00 FB CD 00 00 00 00 E5 DD 6E 0A DD -R 00 00 01 00 02 06 1D 00 -T 9F 04 00 00 66 0B C1 71 23 70 DD 6E 02 DD 66 +T 18 05 00 00 FB CD 00 00 00 00 E5 DD 6E 0A DD +R 00 00 01 00 02 06 1E 00 +T 21 05 00 00 66 0B C1 71 23 70 DD 6E 02 DD 66 R 00 00 01 00 -T AA 04 00 00 03 01 00 00 C5 E5 DD 4E FC DD 46 +T 2C 05 00 00 03 01 00 00 C5 E5 DD 4E FC DD 46 R 00 00 01 00 -T B5 04 00 00 FD DD 6E FA DD 66 FB CD +T 37 05 00 00 FD DD 6E FA DD 66 FB CD R 00 00 01 00 -T BD 04 00 00 00 00 00 00 4D 44 21 00 00 DD 75 -R 00 00 01 00 02 04 1A 00 -T C6 04 00 00 FA DD 74 FB DD 71 FC DD 70 FD +T 3F 05 00 00 00 00 00 00 4D 44 21 00 00 DD 75 +R 00 00 01 00 02 04 1B 00 +T 48 05 00 00 FA DD 74 FB DD 71 FC DD 70 FD R 00 00 01 00 -T D0 04 00 00 +T 52 05 00 00 R 00 00 01 00 -T D0 04 00 00 DD 34 FE 20 03 DD 34 FF +T 52 05 00 00 DD 34 FE 20 03 DD 34 FF R 00 00 01 00 -T D8 04 00 00 +T 5A 05 00 00 R 00 00 01 00 -T D8 04 00 00 DD 7E 0A C6 02 DD 77 0A 30 03 DD +T 5A 05 00 00 DD 7E 0A C6 02 DD 77 0A 30 03 DD R 00 00 01 00 -T E3 04 00 00 34 0B +T 65 05 00 00 34 0B R 00 00 01 00 -T E5 04 00 00 +T 67 05 00 00 R 00 00 01 00 -T E5 04 00 00 C3 51 04 00 00 +T 67 05 00 00 C3 D3 04 00 00 R 00 00 01 00 00 05 01 00 -T E8 04 00 00 +T 6A 05 00 00 R 00 00 01 00 -T E8 04 00 00 DD 4E FC DD 46 FD DD 6E FA DD 66 +T 6A 05 00 00 DD 4E FC DD 46 FD DD 6E FA DD 66 R 00 00 01 00 -T F3 04 00 00 FB 69 60 01 00 00 +T 75 05 00 00 FB 69 60 01 00 00 R 00 00 01 00 -T F9 04 00 00 +T 7B 05 00 00 R 00 00 01 00 -T F9 04 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0B 00 -T FC 04 00 00 +T 7B 05 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 0C 00 +T 7E 05 00 00 R 00 00 01 00 -T FC 04 00 00 +T 7E 05 00 00 R 00 00 01 00 -T FC 04 00 00 +T 7E 05 00 00 R 00 00 01 00 -T FC 04 00 00 AF 3C 28 02 +T 7E 05 00 00 AF 3C 28 02 R 00 00 01 00 -T 00 05 00 00 +T 82 05 00 00 R 00 00 01 00 -T 00 05 00 00 18 FA +T 82 05 00 00 18 FA R 00 00 01 00 -T 02 05 00 00 +T 84 05 00 00 R 00 00 01 00 -T 02 05 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 05 00 -T 05 05 00 00 +T 84 05 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 06 00 +T 87 05 00 00 R 00 00 01 00 -T 05 05 00 00 CD 00 00 00 00 FC FF -R 00 00 01 00 02 05 19 00 -T 0A 05 00 00 +T 87 05 00 00 CD 00 00 00 00 FC FF +R 00 00 01 00 02 05 1A 00 +T 8C 05 00 00 R 00 00 01 00 -T 0A 05 00 00 +T 8C 05 00 00 R 00 00 01 00 -T 0A 05 00 00 2A 00 00 00 00 DD 75 FC DD 74 FD -R 00 00 01 00 02 05 15 00 -T 13 05 00 00 7D B4 28 2F 21 1B 00 DD 4E FC DD +T 8C 05 00 00 2A 00 00 00 00 DD 75 FC DD 74 FD +R 00 00 01 00 02 05 16 00 +T 95 05 00 00 7D B4 28 2F 21 1B 00 DD 4E FC DD R 00 00 01 00 -T 1E 05 00 00 46 FD 09 7E 23 B6 28 20 21 1B 00 +T A0 05 00 00 46 FD 09 7E 23 B6 28 20 21 1B 00 R 00 00 01 00 -T 29 05 00 00 DD 4E FC DD 46 FD 09 46 23 66 68 +T AB 05 00 00 DD 4E FC DD 46 FD 09 46 23 66 68 R 00 00 01 00 -T 34 05 00 00 01 1B 00 09 46 23 66 68 DD 75 FE +T B6 05 00 00 01 1B 00 09 46 23 66 68 DD 75 FE R 00 00 01 00 -T 3F 05 00 00 DD 74 FF 7D B4 20 10 +T C1 05 00 00 DD 74 FF 7D B4 20 10 R 00 00 01 00 -T 46 05 00 00 +T C8 05 00 00 R 00 00 01 00 -T 46 05 00 00 +T C8 05 00 00 R 00 00 01 00 -T 46 05 00 00 +T C8 05 00 00 R 00 00 01 00 -T 46 05 00 00 01 00 00 11 F4 01 3E 00 00 00 00 -R 00 00 01 00 2B 0B 08 00 -T 4E 05 00 00 21 00 00 00 00 CD 00 00 00 00 18 -R 00 00 01 00 02 05 08 00 02 0A 01 00 -T 55 05 00 00 B4 +T C8 05 00 00 01 00 00 11 F4 01 3E 00 00 00 00 +R 00 00 01 00 2B 0B 09 00 +T D0 05 00 00 21 00 00 00 00 CD 00 00 00 00 18 +R 00 00 01 00 02 05 09 00 02 0A 01 00 +T D7 05 00 00 B4 R 00 00 01 00 -T 56 05 00 00 +T D8 05 00 00 R 00 00 01 00 -T 56 05 00 00 2A 0A 00 00 00 DD 4E FE DD 46 FF +T D8 05 00 00 2A 0A 00 00 00 DD 4E FE DD 46 FF R 00 00 01 00 00 05 03 00 -T 5F 05 00 00 A7 ED 42 20 1A 2A 00 00 00 00 7C -R 00 00 01 00 02 0A 0A 00 -T 68 05 00 00 07 9F 5F 53 ED 4B 0C 00 00 00 A7 +T E1 05 00 00 A7 ED 42 20 1A 2A 00 00 00 00 7C +R 00 00 01 00 02 0A 0B 00 +T EA 05 00 00 07 9F 5F 53 ED 4B 0C 00 00 00 A7 R 00 00 01 00 00 0A 03 00 -T 71 05 00 00 ED 42 20 09 EB ED 4B 0E 00 00 00 +T F3 05 00 00 ED 42 20 09 EB ED 4B 0E 00 00 00 R 00 00 01 00 00 0B 03 00 -T 7A 05 00 00 ED 42 28 13 +T FC 05 00 00 ED 42 28 13 R 00 00 01 00 -T 7E 05 00 00 +T 00 06 00 00 R 00 00 01 00 -T 7E 05 00 00 +T 00 06 00 00 R 00 00 01 00 -T 7E 05 00 00 +T 00 06 00 00 R 00 00 01 00 -T 7E 05 00 00 +T 00 06 00 00 R 00 00 01 00 -T 7E 05 00 00 21 19 00 DD 4E FE DD 46 FF 09 7E +T 00 06 00 00 21 19 00 DD 4E FE DD 46 FF 09 7E R 00 00 01 00 -T 89 05 00 00 F6 01 77 23 7E F6 00 77 +T 0B 06 00 00 F6 01 77 23 7E F6 00 77 R 00 00 01 00 -T 91 05 00 00 +T 13 06 00 00 R 00 00 01 00 -T 91 05 00 00 DD 4E FC DD 46 FD DD 5E FE DD 56 +T 13 06 00 00 DD 4E FC DD 46 FD DD 5E FE DD 56 R 00 00 01 00 -T 9C 05 00 00 FF CD E5 05 00 00 DD 6E FE DD 66 +T 1E 06 00 00 FF CD 67 06 00 00 DD 6E FE DD 66 R 00 00 01 00 00 06 01 00 -T A5 05 00 00 FF 22 0A 00 00 00 2A 00 00 00 00 -R 00 00 01 00 00 06 03 00 02 0B 0A 00 -T AC 05 00 00 7C 07 9F 4F 41 22 0C 00 00 00 ED +T 27 06 00 00 FF 22 0A 00 00 00 2A 00 00 00 00 +R 00 00 01 00 00 06 03 00 02 0B 0B 00 +T 2E 06 00 00 7C 07 9F 4F 41 22 0C 00 00 00 ED R 00 00 01 00 00 0A 03 00 -T B5 05 00 00 43 0E 00 00 00 01 00 00 11 64 00 +T 37 06 00 00 43 0E 00 00 00 01 00 00 11 64 00 R 00 00 01 00 00 05 03 00 -T BE 05 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 25 00 02 0A 25 00 -T C4 05 00 00 00 00 00 00 DD 5E FE DD 56 FF 3E +T 40 06 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 26 00 02 0A 26 00 +T 46 06 00 00 00 00 00 00 DD 5E FE DD 56 FF 3E R 00 00 01 00 02 04 01 00 -T CD 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 12 00 02 09 12 00 -T D2 05 00 00 00 00 00 00 01 00 00 11 00 00 3E +T 4F 06 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 13 00 02 09 13 00 +T 54 06 00 00 00 00 00 00 01 00 00 11 00 00 3E R 00 00 01 00 02 04 01 00 -T DB 05 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 25 00 02 09 25 00 -T E0 05 00 00 00 00 00 00 C3 0A 05 00 00 +T 5D 06 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 26 00 02 09 26 00 +T 62 06 00 00 00 00 00 00 C3 8C 05 00 00 R 00 00 01 00 02 04 01 00 00 09 01 00 -T E5 05 00 00 +T 67 06 00 00 R 00 00 01 00 -T E5 05 00 00 CD 00 00 00 00 A6 FF DD 36 FD FF -R 00 00 01 00 02 05 19 00 -T EE 05 00 00 DD 36 FE FF DD 36 A6 07 DD 36 A7 +T 67 06 00 00 CD 00 00 00 00 A6 FF DD 36 FD FF +R 00 00 01 00 02 05 1A 00 +T 70 06 00 00 DD 36 FE FF DD 36 A6 07 DD 36 A7 R 00 00 01 00 -T F9 05 00 00 00 21 0D 00 09 7E 23 B6 CA +T 7B 06 00 00 00 21 0D 00 09 7E 23 B6 CA R 00 00 01 00 -T 02 06 00 00 AF 06 00 00 21 0D 00 DD 4E 04 DD +T 84 06 00 00 31 07 00 00 21 0D 00 DD 4E 04 DD R 00 00 01 00 00 04 01 00 -T 0B 06 00 00 46 05 09 7E 23 B6 28 12 21 0D 00 +T 8D 06 00 00 46 05 09 7E 23 B6 28 12 21 0D 00 R 00 00 01 00 -T 16 06 00 00 09 46 23 66 68 01 08 00 09 46 23 +T 98 06 00 00 09 46 23 66 68 01 08 00 09 46 23 R 00 00 01 00 -T 21 06 00 00 66 68 18 03 +T A3 06 00 00 66 68 18 03 R 00 00 01 00 -T 25 06 00 00 +T A7 06 00 00 R 00 00 01 00 -T 25 06 00 00 21 FF FF +T A7 06 00 00 21 FF FF R 00 00 01 00 -T 28 06 00 00 +T AA 06 00 00 R 00 00 01 00 -T 28 06 00 00 DD 75 FD DD 74 FE 7D A4 3C 28 7C +T AA 06 00 00 DD 75 FD DD 74 FE 7D A4 3C 28 7C R 00 00 01 00 -T 33 06 00 00 +T B5 06 00 00 R 00 00 01 00 -T 33 06 00 00 +T B5 06 00 00 R 00 00 01 00 -T 33 06 00 00 +T B5 06 00 00 R 00 00 01 00 -T 33 06 00 00 01 01 00 DD 5E FD DD 56 FE 3E +T B5 06 00 00 01 01 00 DD 5E FD DD 56 FE 3E R 00 00 01 00 -T 3D 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1C 00 02 09 1C 00 -T 42 06 00 00 00 00 00 00 DD 75 F9 DD 74 FA DD +T BF 06 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 1D 00 02 09 1D 00 +T C4 06 00 00 00 00 00 00 DD 75 F9 DD 74 FA DD R 00 00 01 00 02 04 01 00 -T 4B 06 00 00 6E 04 DD 66 05 23 23 46 05 20 59 +T CD 06 00 00 6E 04 DD 66 05 23 23 46 05 20 59 R 00 00 01 00 -T 56 06 00 00 21 05 00 DD 4E 04 DD 46 05 09 56 +T D8 06 00 00 21 05 00 DD 4E 04 DD 46 05 09 56 R 00 00 01 00 -T 61 06 00 00 23 66 6A 23 23 7E 23 B6 28 18 21 +T E3 06 00 00 23 66 6A 23 23 7E 23 B6 28 18 21 R 00 00 01 00 -T 6C 06 00 00 05 00 09 46 23 66 68 23 23 46 23 +T EE 06 00 00 05 00 09 46 23 66 68 23 23 46 23 R 00 00 01 00 -T 77 06 00 00 66 68 01 08 00 09 46 23 66 68 18 +T F9 06 00 00 66 68 01 08 00 09 46 23 66 68 18 R 00 00 01 00 -T 82 06 00 00 03 +T 04 07 00 00 03 R 00 00 01 00 -T 83 06 00 00 +T 05 07 00 00 R 00 00 01 00 -T 83 06 00 00 21 FF FF +T 05 07 00 00 21 FF FF R 00 00 01 00 -T 86 06 00 00 +T 08 07 00 00 R 00 00 01 00 -T 86 06 00 00 DD 75 FB DD 74 FC 7D A4 3C 28 1E +T 08 07 00 00 DD 75 FB DD 74 FC 7D A4 3C 28 1E R 00 00 01 00 -T 91 06 00 00 +T 13 07 00 00 R 00 00 01 00 -T 91 06 00 00 +T 13 07 00 00 R 00 00 01 00 -T 91 06 00 00 +T 13 07 00 00 R 00 00 01 00 -T 91 06 00 00 01 01 00 DD 5E FB DD 56 FC 3E +T 13 07 00 00 01 01 00 DD 5E FB DD 56 FC 3E R 00 00 01 00 -T 9B 06 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 1C 00 02 09 1C 00 -T A0 06 00 00 00 00 00 00 4D 44 21 53 00 39 7E +T 1D 07 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 1D 00 02 09 1D 00 +T 22 07 00 00 00 00 00 00 4D 44 21 53 00 39 7E R 00 00 01 00 02 04 01 00 -T A9 06 00 00 81 77 23 7E 88 77 +T 2B 07 00 00 81 77 23 7E 88 77 R 00 00 01 00 -T AF 06 00 00 +T 31 07 00 00 R 00 00 01 00 -T AF 06 00 00 +T 31 07 00 00 R 00 00 01 00 -T AF 06 00 00 DD 6E 04 DD 66 05 23 23 23 4E 23 +T 31 07 00 00 DD 6E 04 DD 66 05 23 23 23 4E 23 R 00 00 01 00 -T BA 06 00 00 46 C5 DD 6E 04 DD 66 05 4E 23 46 +T 3C 07 00 00 46 C5 DD 6E 04 DD 66 05 4E 23 46 R 00 00 01 00 -T C5 06 00 00 C5 21 00 00 00 00 E5 21 08 00 39 +T 47 07 00 00 C5 21 00 00 00 00 E5 21 08 00 39 R 00 00 01 00 00 06 02 00 -T CE 06 00 00 E5 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 06 04 00 02 0B 04 00 -T D4 06 00 00 CD 00 00 00 00 F1 F1 F1 F1 21 +T 50 07 00 00 E5 3E 00 00 00 00 21 00 00 00 00 +R 00 00 01 00 2B 06 05 00 02 0B 05 00 +T 56 07 00 00 CD 00 00 00 00 F1 F1 F1 F1 21 R 00 00 01 00 02 05 01 00 -T DC 06 00 00 1B 00 DD 4E 02 DD 46 03 09 7E 23 +T 5E 07 00 00 1B 00 DD 4E 02 DD 46 03 09 7E 23 R 00 00 01 00 -T E7 06 00 00 B6 28 2A +T 69 07 00 00 B6 28 2A R 00 00 01 00 -T EA 06 00 00 +T 6C 07 00 00 R 00 00 01 00 -T EA 06 00 00 21 29 00 DD 4E 02 DD 46 03 09 4E +T 6C 07 00 00 21 29 00 DD 4E 02 DD 46 03 09 4E R 00 00 01 00 -T F5 06 00 00 23 46 23 5E 23 56 D5 C5 21 +T 77 07 00 00 23 46 23 5E 23 56 D5 C5 21 R 00 00 01 00 -T FE 06 00 00 08 00 00 00 E5 21 08 00 39 E5 3E +T 80 07 00 00 08 00 00 00 E5 21 08 00 39 E5 3E R 00 00 01 00 00 04 02 00 -T 07 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 0C 07 00 00 00 00 00 00 F1 F1 F1 F1 18 41 +T 89 07 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T 8E 07 00 00 00 00 00 00 F1 F1 F1 F1 18 41 R 00 00 01 00 02 04 01 00 -T 14 07 00 00 +T 96 07 00 00 R 00 00 01 00 -T 14 07 00 00 DD 7E FD DD A6 FE 3C 28 25 DD 7E +T 96 07 00 00 DD 7E FD DD A6 FE 3C 28 25 DD 7E R 00 00 01 00 -T 1F 07 00 00 F9 DD B6 FA 28 1D +T A1 07 00 00 F9 DD B6 FA 28 1D R 00 00 01 00 -T 25 07 00 00 +T A7 07 00 00 R 00 00 01 00 -T 25 07 00 00 +T A7 07 00 00 R 00 00 01 00 -T 25 07 00 00 +T A7 07 00 00 R 00 00 01 00 -T 25 07 00 00 DD 6E F9 DD 66 FA E5 21 +T A7 07 00 00 DD 6E F9 DD 66 FA E5 21 R 00 00 01 00 -T 2D 07 00 00 15 00 00 00 E5 21 06 00 39 E5 3E +T AF 07 00 00 15 00 00 00 E5 21 06 00 39 E5 3E R 00 00 01 00 00 04 02 00 -T 36 07 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 04 00 02 09 04 00 -T 3B 07 00 00 00 00 00 00 F1 F1 F1 18 13 +T B8 07 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 05 00 02 09 05 00 +T BD 07 00 00 00 00 00 00 F1 F1 F1 18 13 R 00 00 01 00 02 04 01 00 -T 42 07 00 00 +T C4 07 00 00 R 00 00 01 00 -T 42 07 00 00 21 21 00 00 00 E5 21 04 00 39 E5 +T C4 07 00 00 21 21 00 00 00 E5 21 04 00 39 E5 R 00 00 01 00 00 05 02 00 -T 4B 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 04 00 02 0A 04 00 -T 51 07 00 00 00 00 00 00 F1 F1 +T CD 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 05 00 02 0A 05 00 +T D3 07 00 00 00 00 00 00 F1 F1 R 00 00 01 00 02 04 01 00 -T 55 07 00 00 +T D7 07 00 00 R 00 00 01 00 -T 55 07 00 00 +T D7 07 00 00 R 00 00 01 00 -T 55 07 00 00 21 2E 00 00 00 E5 21 04 00 39 E5 +T D7 07 00 00 21 2E 00 00 00 E5 21 04 00 39 E5 R 00 00 01 00 00 05 02 00 -T 5E 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 04 00 02 0A 04 00 -T 64 07 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 01 00 02 0B 0F 00 -T 6B 07 00 00 +T E0 07 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 05 00 02 0A 05 00 +T E6 07 00 00 00 00 00 00 F1 F1 C3 00 00 00 00 +R 00 00 01 00 02 04 01 00 02 0B 10 00 +T ED 07 00 00 R 00 00 01 00 -T 6B 07 00 00 CD 00 00 00 00 F2 FF -R 00 00 01 00 02 05 19 00 -T 70 07 00 00 +T ED 07 00 00 CD 00 00 00 00 F2 FF +R 00 00 01 00 02 05 1A 00 +T F2 07 00 00 R 00 00 01 00 -T 70 07 00 00 +T F2 07 00 00 R 00 00 01 00 -T 70 07 00 00 3E A5 02 00 00 21 A5 02 00 00 CD +T F2 07 00 00 3E 27 03 00 00 21 27 03 00 00 CD R 00 00 01 00 29 05 01 00 00 0A 01 00 -T 76 07 00 00 00 00 00 00 DD 75 F2 DD 74 F3 DD +T F8 07 00 00 00 00 00 00 DD 75 F2 DD 74 F3 DD R 00 00 01 00 02 04 01 00 -T 7F 07 00 00 71 F4 DD 70 F5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 2A 00 -T 87 07 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 2A 00 02 09 01 00 -T 8E 07 00 00 F6 DD 74 F7 3E A5 02 00 00 21 +T 01 08 00 00 71 F4 DD 70 F5 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 2B 00 +T 09 08 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 2B 00 02 09 01 00 +T 10 08 00 00 F6 DD 74 F7 3E 27 03 00 00 21 R 00 00 01 00 29 09 01 00 -T 95 07 00 00 A5 02 00 00 CD 00 00 00 00 59 50 +T 17 08 00 00 27 03 00 00 CD 00 00 00 00 59 50 R 00 00 01 00 00 04 01 00 02 09 01 00 -T 9C 07 00 00 DD 4E F2 DD 46 F3 A7 ED 42 20 C9 +T 1E 08 00 00 DD 4E F2 DD 46 F3 A7 ED 42 20 C9 R 00 00 01 00 -T A7 07 00 00 EB DD 4E F4 DD 46 F5 ED 42 20 BE +T 29 08 00 00 EB DD 4E F4 DD 46 F5 ED 42 20 BE R 00 00 01 00 -T B2 07 00 00 +T 34 08 00 00 R 00 00 01 00 -T B2 07 00 00 AF DD 77 F8 DD 77 F9 3E 10 DD 4E +T 34 08 00 00 AF DD 77 F8 DD 77 F9 3E 10 DD 4E R 00 00 01 00 -T BD 07 00 00 F4 DD 46 F5 DD 6E F2 DD 66 F3 CD +T 3F 08 00 00 F4 DD 46 F5 DD 6E F2 DD 66 F3 CD R 00 00 01 00 -T C8 07 00 00 00 00 00 00 DD 75 FA DD 74 FB DD -R 00 00 01 00 02 04 24 00 -T D1 07 00 00 6E F2 DD 66 F3 DD 75 FC DD 74 FD +T 4A 08 00 00 00 00 00 00 DD 75 FA DD 74 FB DD +R 00 00 01 00 02 04 25 00 +T 53 08 00 00 6E F2 DD 66 F3 DD 75 FC DD 74 FD R 00 00 01 00 -T DC 07 00 00 DD 4E F6 DD 46 F7 A7 21 00 00 ED +T 5E 08 00 00 DD 4E F6 DD 46 F7 A7 21 00 00 ED R 00 00 01 00 -T E7 07 00 00 42 DD 75 FE DD 74 FF 21 06 00 39 +T 69 08 00 00 42 DD 75 FE DD 74 FF 21 06 00 39 R 00 00 01 00 -T F2 07 00 00 E5 01 04 00 11 0B 00 3E +T 74 08 00 00 E5 01 04 00 11 0B 00 3E R 00 00 01 00 -T FA 07 00 00 74 03 00 00 21 74 03 00 00 CD +T 7C 08 00 00 F6 03 00 00 21 F6 03 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 -T FF 07 00 00 00 00 00 00 F1 21 06 00 39 E5 01 +T 81 08 00 00 00 00 00 00 F1 21 06 00 39 E5 01 R 00 00 01 00 02 04 01 00 -T 08 08 00 00 04 00 11 45 33 3E 2A 04 00 00 21 +T 8A 08 00 00 04 00 11 45 33 3E AC 04 00 00 21 R 00 00 01 00 29 0A 01 00 -T 10 08 00 00 2A 04 00 00 CD 00 00 00 00 F1 DD +T 92 08 00 00 AC 04 00 00 CD 00 00 00 00 F1 DD R 00 00 01 00 00 04 01 00 02 09 01 00 -T 17 08 00 00 6E FC DD 66 FD 01 00 00 4D 44 21 +T 99 08 00 00 6E FC DD 66 FD 01 00 00 4D 44 21 R 00 00 01 00 -T 22 08 00 00 00 00 C5 E5 DD 6E FE DD 66 FF 11 +T A4 08 00 00 00 00 C5 E5 DD 6E FE DD 66 FF 11 R 00 00 01 00 -T 2D 08 00 00 00 00 C1 09 EB C1 ED 4A 4D 44 EB +T AF 08 00 00 00 00 C1 09 EB C1 ED 4A 4D 44 EB R 00 00 01 00 -T 38 08 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 28 00 -T 3B 08 00 00 +T BA 08 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 29 00 +T BD 08 00 00 R 00 00 01 00 -T 3B 08 00 00 CD 00 00 00 00 F2 FF 2A -R 00 00 01 00 02 05 19 00 -T 41 08 00 00 06 00 00 00 7D B4 20 21 +T BD 08 00 00 CD 00 00 00 00 F2 FF 2A +R 00 00 01 00 02 05 1A 00 +T C3 08 00 00 06 00 00 00 7D B4 20 21 R 00 00 01 00 00 04 03 00 -T 47 08 00 00 +T C9 08 00 00 R 00 00 01 00 -T 47 08 00 00 21 00 00 E5 21 E8 03 E5 3E +T C9 08 00 00 21 00 00 E5 21 E8 03 E5 3E R 00 00 01 00 -T 50 08 00 00 A5 02 00 00 21 A5 02 00 00 CD +T D2 08 00 00 27 03 00 00 21 27 03 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 -T 55 08 00 00 00 00 00 00 C5 E5 01 00 00 21 +T D7 08 00 00 00 00 00 00 C5 E5 01 00 00 21 R 00 00 01 00 02 04 01 00 -T 5D 08 00 00 37 00 CD 00 00 00 00 CD -R 00 00 01 00 02 07 16 00 -T 63 08 00 00 00 00 00 00 C3 44 09 00 00 -R 00 00 01 00 02 04 1B 00 00 09 01 00 -T 68 08 00 00 +T DF 08 00 00 37 00 CD 00 00 00 00 CD +R 00 00 01 00 02 07 17 00 +T E5 08 00 00 00 00 00 00 C3 C6 09 00 00 +R 00 00 01 00 02 04 1C 00 00 09 01 00 +T EA 08 00 00 R 00 00 01 00 -T 68 08 00 00 +T EA 08 00 00 R 00 00 01 00 -T 68 08 00 00 3E A5 02 00 00 21 A5 02 00 00 CD +T EA 08 00 00 3E 27 03 00 00 21 27 03 00 00 CD R 00 00 01 00 29 05 01 00 00 0A 01 00 -T 6E 08 00 00 00 00 00 00 DD 75 F2 DD 74 F3 DD +T F0 08 00 00 00 00 00 00 DD 75 F2 DD 74 F3 DD R 00 00 01 00 02 04 01 00 -T 77 08 00 00 71 F4 DD 70 F5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 2A 00 -T 7F 08 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 2A 00 02 09 01 00 -T 86 08 00 00 F6 DD 74 F7 3E A5 02 00 00 21 +T F9 08 00 00 71 F4 DD 70 F5 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 2B 00 +T 01 09 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 2B 00 02 09 01 00 +T 08 09 00 00 F6 DD 74 F7 3E 27 03 00 00 21 R 00 00 01 00 29 09 01 00 -T 8D 08 00 00 A5 02 00 00 CD 00 00 00 00 59 50 +T 0F 09 00 00 27 03 00 00 CD 00 00 00 00 59 50 R 00 00 01 00 00 04 01 00 02 09 01 00 -T 94 08 00 00 DD 4E F2 DD 46 F3 A7 ED 42 20 C9 +T 16 09 00 00 DD 4E F2 DD 46 F3 A7 ED 42 20 C9 R 00 00 01 00 -T 9F 08 00 00 EB DD 4E F4 DD 46 F5 ED 42 20 BE +T 21 09 00 00 EB DD 4E F4 DD 46 F5 ED 42 20 BE R 00 00 01 00 -T AA 08 00 00 +T 2C 09 00 00 R 00 00 01 00 -T AA 08 00 00 AF DD 77 F8 DD 77 F9 3E 10 DD 4E +T 2C 09 00 00 AF DD 77 F8 DD 77 F9 3E 10 DD 4E R 00 00 01 00 -T B5 08 00 00 F4 DD 46 F5 DD 6E F2 DD 66 F3 CD +T 37 09 00 00 F4 DD 46 F5 DD 6E F2 DD 66 F3 CD R 00 00 01 00 -T C0 08 00 00 00 00 00 00 DD 75 FA DD 74 FB DD -R 00 00 01 00 02 04 24 00 -T C9 08 00 00 6E F2 DD 66 F3 DD 75 FC DD 74 FD +T 42 09 00 00 00 00 00 00 DD 75 FA DD 74 FB DD +R 00 00 01 00 02 04 25 00 +T 4B 09 00 00 6E F2 DD 66 F3 DD 75 FC DD 74 FD R 00 00 01 00 -T D4 08 00 00 DD 4E F6 DD 46 F7 A7 21 00 00 ED +T 56 09 00 00 DD 4E F6 DD 46 F7 A7 21 00 00 ED R 00 00 01 00 -T DF 08 00 00 42 DD 75 FE DD 74 FF 21 06 00 39 +T 61 09 00 00 42 DD 75 FE DD 74 FF 21 06 00 39 R 00 00 01 00 -T EA 08 00 00 E5 01 04 00 11 0B 00 3E +T 6C 09 00 00 E5 01 04 00 11 0B 00 3E R 00 00 01 00 -T F2 08 00 00 74 03 00 00 21 74 03 00 00 CD +T 74 09 00 00 F6 03 00 00 21 F6 03 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 -T F7 08 00 00 00 00 00 00 F1 21 06 00 39 E5 01 +T 79 09 00 00 00 00 00 00 F1 21 06 00 39 E5 01 R 00 00 01 00 02 04 01 00 -T 00 09 00 00 04 00 11 45 33 3E 2A 04 00 00 21 +T 82 09 00 00 04 00 11 45 33 3E AC 04 00 00 21 R 00 00 01 00 29 0A 01 00 -T 08 09 00 00 2A 04 00 00 CD 00 00 00 00 F1 21 +T 8A 09 00 00 AC 04 00 00 CD 00 00 00 00 F1 21 R 00 00 01 00 00 04 01 00 02 09 01 00 -T 0F 09 00 00 06 00 39 E5 01 04 00 11 E8 03 3E +T 91 09 00 00 06 00 39 E5 01 04 00 11 E8 03 3E R 00 00 01 00 -T 1A 09 00 00 2A 04 00 00 21 2A 04 00 00 CD +T 9C 09 00 00 AC 04 00 00 21 AC 04 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 -T 1F 09 00 00 00 00 00 00 F1 DD 6E FC DD 66 FD +T A1 09 00 00 00 00 00 00 F1 DD 6E FC DD 66 FD R 00 00 01 00 02 04 01 00 -T 28 09 00 00 01 00 00 4D 44 21 00 00 C5 E5 DD +T AA 09 00 00 01 00 00 4D 44 21 00 00 C5 E5 DD R 00 00 01 00 -T 33 09 00 00 6E FE DD 66 FF 11 00 00 C1 09 EB +T B5 09 00 00 6E FE DD 66 FF 11 00 00 C1 09 EB R 00 00 01 00 -T 3E 09 00 00 C1 ED 4A 4D 44 EB +T C0 09 00 00 C1 ED 4A 4D 44 EB R 00 00 01 00 -T 44 09 00 00 +T C6 09 00 00 R 00 00 01 00 -T 44 09 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 28 00 -T 47 09 00 00 +T C6 09 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 29 00 +T C9 09 00 00 R 00 00 01 00 -T 47 09 00 00 CD 00 00 00 00 FA FF -R 00 00 01 00 02 05 19 00 -T 4C 09 00 00 +T C9 09 00 00 CD 00 00 00 00 FA FF +R 00 00 01 00 02 05 1A 00 +T CE 09 00 00 R 00 00 01 00 -T 4C 09 00 00 +T CE 09 00 00 R 00 00 01 00 -T 4C 09 00 00 3E A5 02 00 00 21 A5 02 00 00 CD +T CE 09 00 00 3E 27 03 00 00 21 27 03 00 00 CD R 00 00 01 00 29 05 01 00 00 0A 01 00 -T 52 09 00 00 00 00 00 00 DD 75 FA DD 74 FB DD +T D4 09 00 00 00 00 00 00 DD 75 FA DD 74 FB DD R 00 00 01 00 02 04 01 00 -T 5B 09 00 00 71 FC DD 70 FD 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 2A 00 -T 63 09 00 00 00 00 00 00 CD 00 00 00 00 DD 75 -R 00 00 01 00 02 04 2A 00 02 09 01 00 -T 6A 09 00 00 FE DD 74 FF 3E A5 02 00 00 21 +T DD 09 00 00 71 FC DD 70 FD 3E 00 00 00 00 21 +R 00 00 01 00 2B 0A 2B 00 +T E5 09 00 00 00 00 00 00 CD 00 00 00 00 DD 75 +R 00 00 01 00 02 04 2B 00 02 09 01 00 +T EC 09 00 00 FE DD 74 FF 3E 27 03 00 00 21 R 00 00 01 00 29 09 01 00 -T 71 09 00 00 A5 02 00 00 CD 00 00 00 00 59 50 +T F3 09 00 00 27 03 00 00 CD 00 00 00 00 59 50 R 00 00 01 00 00 04 01 00 02 09 01 00 -T 78 09 00 00 DD 4E FA DD 46 FB A7 ED 42 20 C9 +T FA 09 00 00 DD 4E FA DD 46 FB A7 ED 42 20 C9 R 00 00 01 00 -T 83 09 00 00 EB DD 4E FC DD 46 FD ED 42 20 BE +T 05 0A 00 00 EB DD 4E FC DD 46 FD ED 42 20 BE R 00 00 01 00 -T 8E 09 00 00 +T 10 0A 00 00 R 00 00 01 00 -T 8E 09 00 00 DD 6E FE DD 66 FF 11 00 00 D5 E5 +T 10 0A 00 00 DD 6E FE DD 66 FF 11 00 00 D5 E5 R 00 00 01 00 -T 99 09 00 00 DD 4E FC DD 46 FD DD 6E FA DD 66 +T 1B 0A 00 00 DD 4E FC DD 46 FD DD 6E FA DD 66 R 00 00 01 00 -T A4 09 00 00 FB 4D 44 21 00 00 59 50 A7 C1 ED +T 26 0A 00 00 FB 4D 44 21 00 00 59 50 A7 C1 ED R 00 00 01 00 -T AF 09 00 00 42 EB C1 ED 42 4D 44 EB C3 +T 31 0A 00 00 42 EB C1 ED 42 4D 44 EB C3 R 00 00 01 00 -T B8 09 00 00 00 00 00 00 -R 00 00 01 00 02 04 28 00 -T BA 09 00 00 +T 3A 0A 00 00 00 00 00 00 +R 00 00 01 00 02 04 29 00 +T 3C 0A 00 00 R 00 00 01 00 -T BA 09 00 00 CD 00 00 00 00 FE FF 01 -R 00 00 01 00 02 05 19 00 -T C0 09 00 00 00 00 00 00 21 00 00 39 A7 ED 42 -R 00 00 01 00 02 04 27 00 -T C9 09 00 00 38 13 21 00 00 39 4D 44 21 +T 3C 0A 00 00 CD 00 00 00 00 FE FF 01 +R 00 00 01 00 02 05 1A 00 +T 42 0A 00 00 00 00 00 00 21 00 00 39 A7 ED 42 +R 00 00 01 00 02 04 28 00 +T 4B 0A 00 00 38 13 21 00 00 39 4D 44 21 R 00 00 01 00 -T D2 09 00 00 00 00 00 00 A7 ED 42 38 05 21 +T 54 0A 00 00 00 00 00 00 A7 ED 42 38 05 21 R 00 00 01 00 02 04 03 00 -T DA 09 00 00 01 00 18 03 +T 5C 0A 00 00 01 00 18 03 R 00 00 01 00 -T DE 09 00 00 +T 60 0A 00 00 R 00 00 01 00 -T DE 09 00 00 21 00 00 +T 60 0A 00 00 21 00 00 R 00 00 01 00 -T E1 09 00 00 +T 63 0A 00 00 R 00 00 01 00 -T E1 09 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0B 00 -T E4 09 00 00 +T 63 0A 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 0C 00 +T 66 0A 00 00 R 00 00 01 00 -T E4 09 00 00 CD 00 00 00 00 FC FF 3E -R 00 00 01 00 02 05 19 00 -T EA 09 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 13 00 02 09 13 00 -T EF 09 00 00 00 00 00 00 DD 75 FE DD 74 FF DD +T 66 0A 00 00 CD 00 00 00 00 FC FF 3E +R 00 00 01 00 02 05 1A 00 +T 6C 0A 00 00 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 04 14 00 02 09 14 00 +T 71 0A 00 00 00 00 00 00 DD 75 FE DD 74 FF DD R 00 00 01 00 02 04 01 00 -T F8 09 00 00 6E 02 DD 66 03 46 23 66 68 DD 75 +T 7A 0A 00 00 6E 02 DD 66 03 46 23 66 68 DD 75 R 00 00 01 00 -T 03 0A 00 00 FC DD 74 FD 7D B4 28 0D +T 85 0A 00 00 FC DD 74 FD 7D B4 28 0D R 00 00 01 00 -T 0B 0A 00 00 +T 8D 0A 00 00 R 00 00 01 00 -T 0B 0A 00 00 DD 6E 02 DD 66 03 4E 23 46 0B 70 +T 8D 0A 00 00 DD 6E 02 DD 66 03 4E 23 46 0B 70 R 00 00 01 00 -T 16 0A 00 00 2B 71 +T 98 0A 00 00 2B 71 R 00 00 01 00 -T 18 0A 00 00 +T 9A 0A 00 00 R 00 00 01 00 -T 18 0A 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 +T 9A 0A 00 00 DD 5E FE DD 56 FF 3E 00 00 00 00 R 00 00 01 00 2B 0B 02 00 -T 20 0A 00 00 21 00 00 00 00 CD 00 00 00 00 DD +T A2 0A 00 00 21 00 00 00 00 CD 00 00 00 00 DD R 00 00 01 00 02 05 02 00 02 0A 01 00 -T 27 0A 00 00 6E FC DD 66 FD C3 00 00 00 00 -R 00 00 01 00 02 0A 0B 00 +T A9 0A 00 00 6E FC DD 66 FD C3 00 00 00 00 +R 00 00 01 00 02 0A 0C 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 25 32 64 3A 20 25 73 00 diff --git a/src/nos/lib/z80_lib/z80gen.rel b/src/nos/lib/z80_lib/z80gen.rel index cda50a02..28899e37 100644 --- a/src/nos/lib/z80_lib/z80gen.rel +++ b/src/nos/lib/z80_lib/z80gen.rel @@ -1,8 +1,10 @@ XL4 -H 6 areas 28 global symbols +H 6 areas 29 global symbols +M _z80gen S ?BANK_CALL_DIRECT_L08 Ref00000000 S ?BANK_FAST_LEAVE_L08 Ref00000000 S _ksignal Ref00000000 +S abyte Ref00000000 S .__.ABS. Def00000000 S _ctick Ref00000000 A _DEFAULT size 0 flags 0 @@ -183,7 +185,7 @@ R 00 00 04 00 00 04 03 00 00 09 03 00 T 3A 00 00 00 10 ED 38 0D FD E5 ED 38 38 F5 21 R 00 00 04 00 T 45 00 00 00 00 00 00 00 3E 00 00 00 00 CD -R 00 00 04 00 02 04 04 00 2B 09 04 00 +R 00 00 04 00 02 04 05 00 2B 09 05 00 T 4A 00 00 00 00 00 00 00 C3 05 00 00 00 R 00 00 04 00 02 04 00 00 00 09 04 00 T A9 00 00 00 diff --git a/src/nos/main/CVS/Entries b/src/nos/main/CVS/Entries new file mode 100644 index 00000000..4429ca72 --- /dev/null +++ b/src/nos/main/CVS/Entries @@ -0,0 +1,11 @@ +/auto.mk/1.3/Tue Dec 2 05:54:24 2003// +/config.c/1.4/Fri Jan 23 12:48:36 2004// +/crt0_kernel.S/1.1.1.1/Mon Nov 17 19:06:50 2003// +/main.c/1.2/Tue Dec 2 07:41:10 2003// +/makefile/1.1.1.1/Mon Nov 17 19:06:50 2003// +/n.sh/1.1.1.1/Mon Nov 17 19:06:50 2003// +/parm.c/1.1.1.1/Mon Nov 17 19:06:50 2003// +/session.c/1.1.1.1/Mon Nov 17 19:06:50 2003// +/version.c/1.1.1.1/Mon Nov 17 19:06:50 2003// +/x.sh/1.1.1.1/Mon Nov 17 19:06:50 2003// +D diff --git a/src/nos/main/CVS/Repository b/src/nos/main/CVS/Repository new file mode 100644 index 00000000..ec1cd2d7 --- /dev/null +++ b/src/nos/main/CVS/Repository @@ -0,0 +1 @@ +uzi/src/nos/main diff --git a/src/nos/main/CVS/Root b/src/nos/main/CVS/Root new file mode 100644 index 00000000..933b8194 --- /dev/null +++ b/src/nos/main/CVS/Root @@ -0,0 +1 @@ +:pserver:nick@hytech.nl.eu.org/home/cvsroot diff --git a/src/nos/main/config.c b/src/nos/main/config.c index 4b9819ef..c15549c3 100644 --- a/src/nos/main/config.c +++ b/src/nos/main/config.c @@ -74,11 +74,7 @@ #include "nos/sb.h" #endif #ifdef ZILOG -#include -#include -#include -#include "z80/asm.h" -#include "uzi/devio.h" +#include "uzi/process.h" /* includes "uzi/filesys.h", thereby "uzi/devio.h" */ #include #include "po/messages.h" #endif @@ -397,6 +393,12 @@ struct cmds Attab[] = { N_("attach escc init \n" " [p] [hdwe] [param]\n" "attach escc slip" +/*RPB*/ +#ifdef PPP + "|ppp" +#endif +/*RPB*/ + #ifdef KISS "|kiss" #endif @@ -409,7 +411,13 @@ struct cmds Attab[] = { #if 0 /* Nick this must have been a mistake in the original NOS message */ "|ax25ui|ax25i" #endif +/*RPB*/ +#if 0 "

      "), + + + + + N_("help"), dohelp, 0, 0, 0, + + N_("hop"), dohop, 0, 0, 0, + + N_("hostname"), dohostname, 0, 0, 0, + + + + N_("icmp"), doicmp, 0, 0, 0, + N_("ifconfig"), doifconfig, 0, 0, 0, + N_("ip"), doip, 0, 0, 0, + + + + N_("kick"), dokick, 0, 0, 0, + + + + N_("log"), dolog, 0, 0, 0, + + + + + + + + N_("memory"), domem, 0, 0, 0, + + N_("mkdir"), domkd, 0, 2, N_("mkdir "), + N_("more"), doview, 0, 2, N_("more "), + + + + + + + + + + N_("page"), dopage, 0, 2, N_("page [args...]"), + N_("param"), doparam, 0, 2, N_("param "), + N_("ping"), doping, 512, 2, + N_("ping [ [ [incflag]]]"), + + + + + + + + N_("ppp"), doppp_commands, 0, 0, 0, + + N_("ps"), ps, 0, 0, 0, + + + + + + + N_("record"), dorecord, 0, 0, 0, + N_("remote"), doremote, 0, 3, N_("remote [-p port] [-k key] [-a kickaddr]
      exit|reset|kick"), + N_("rename"), dorename, 0, 3, N_("rename "), + N_("repeat"), dorepeat, 1024, 3, N_("repeat [args...]"), + N_("reset"), doreset, 0, 0, 0, + + + + N_("rmdir"), dormd, 0, 2, N_("rmdir "), + N_("route"), doroute, 0, 0, 0, + N_("session"), dosession, 0, 0, 0, + + + + N_("scrollback"), dosfsize, 0, 0, 0, + + N_("esccstat"), doesccstat, 0, 0, 0, + + + N_("shell"), doshell, 0, 0, 0, + + + + + N_("socket"), dosock, 0, 0, 0, + + + + + N_("stacktest"), dostacktest, 0, 1, N_("stacktest [on|off]"), + + N_("start"), dostart, 0, 2, N_("start "), + N_("stop"), dostop, 0, 2, N_("stop "), + + N_("sysdebug"), dosysdebug, 0, 1, N_("sysdebug [on|off]"), + N_("systrace"), dosystrace, 0, 1, N_("systrace [on|off]"), + N_("tcp"), dotcp, 0, 0, 0, + + N_("telnet"), dotelnet, 1024, 2, N_("telnet
      "), + + + + + + + + + N_("topt"), dotopt, 0, 0, 0, + + + N_("trace"), dotrace, 512, 0, 0, + + N_("udp"), doudp, 0, 0, 0, + N_("upload"), doupload, 0, 0, 0, + N_("view"), doview, 0, 2, N_("view "), + + + + N_("wipe"), dowipe, 0, 0, 0, + N_("?"), dohelp, 0, 0, 0, + 0, 0, 0, 0, + N_("Unknown command; type \"?\" for list") +}; + + +struct cmds Attab[] = { + + + + N_("asci") , asy_attach, 0, 8, + N_("attach asci
      slip|vjslip|ax25ui|ax25i|nrs|ppp

      Hi#^ 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%0Dhc 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 z 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%0A{w|=D0lg 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